309
336
291
353
276
345
227
369
385
221
318
263
301
313
327
314
298
251
322
392
391
298
321
311
311
347
193
213
248
375
378
240
337
259
284
312
303
294
249
289
232
312
273
358
347
342
336
326
294
298
283
257
283
329
262
344
273
318
392
374
255
359
279
322
336
293
352
315
307
299
282
287
342
254
320
279
259
326
231
297
344
274
261
256
319
329
232
371
298
325
290
291
242
309
338
380
283
364
314
241
366
365
305
352
196
272
331
272
246
242
335
263
374
228
285
289
304
310
212
374
377
293
308
254
278
289
273
266
305
411
373
297
347
331
354
272
316
325
229
311
317
368
284
305
297
335
224
249
364
306
432
255
279
306
393
416
389
349
301
338
336
249
254
249
327
274
224
338
258
361
390
417
346
364
376
258
310
371
276
332
335
365
364
321
374
379
350
396
287
367
384
309
374
370
310
299
381
255
332
326
327
336
312
310
287
377
411
333
209
329
276
358
306
325
294
357
279
365
280
276
296
258
326
293
395
257
366
398
304
315
326
397
347
358
301
251
227
275
320
296
264
274
321
295
353
325
346
292
291
362
368
313
264
365
331
259
298
255
400
350
319
339
288
335
366
266
290
225
354
393
335
358
353
352
345
341
336
338
317
368
272
273
314
307
298
297
365
321
287
380
237
349
298
282
304
327
237
303
267
327
300
296
233
315
325
320
267
350
337
247
403
362
342
321
312
293
383
319
362
315
332
327
334
262
308
299
250
275
296
366
401
306
234
273
293
326
292
324
349
292
358
217
284
173
317
282
347
247
319
306
308
331
342
330
339
339
257
183
342
386
291
259
308
326
265
261
313
281
295
323
287
312
309
349
273
230
300
333
335
329
309
281
347
382
387
319
407
318
245
279
341
269
286
435
363
334
307
347
362
296
358
340
327
327
305
319
279
315
301
368
295
358
346
372
346
234
367
313
268
349
306
291
295
329
296
359
224
382
345
296
304
268
208
320
266
295
403
393
347
332
330
207
235
370
332
377
379
300
289
303
328
317
370
268
326
189
301
404
324
326
395
346
290
300
289
350
292
327
322
322
340
364
340
291
337
313
284
384
325
303
269
342
331
341
296
307
314
358
369
303
340
332
322
255
272
279
284
385
303
268
340
300
303
355
275
318
288
339
306
381
312
314
304
305
273
323
305
317
273
318
293
269
323
329
341
386
250
319
304
207
322
345
273
237
349
328
311
379
333
295
316
268
343
321
375
350
237
316
287
457
253
334
287
289
319
328
318
341
300
248
355
305
285
303
279
338
281
261
319
343
356
300
321
267
279
312
331
290
350
350
239
336
293
347
266
363
266
323
280
310
361
215
307
307
430
367
272
281
320
354
342
265
311
242
317
296
322
322
335
377
337
249
316
363
277
306
328
370
403
283
346
278
334
314
357
311
399
314
299
331
283
261
311
267
276
292
336
281
315
275
303
318
294
382
262
356
384
357
258
360
349
226
389
349
340
329
402
374
348
302
288
283
327
301
302
309
347
328
281
299
337
378
320
347
303
388
281
328
272
239
339
242
175
351
353
302
345
364
262
360
324
277
360
390
354
300
329
307
297
313
312
300
381
319
281
313
398
352
385
305
283
312
274
380
328
321
388
347
268
369
335
274
341
228
301
350
376
285
323
355
340
268
330
276
316
336
313
399
378
308
359
368
370
344
348
300
249
252
297
290
289
362
329
281
352
322
343
303
334
327
331
266
387
271
357
298
399
357
368
313
289
356
272
345
280
221
333
256
215
355
344
291
252
282
353
232
309
248
327
349
318
337
253
358
282
330
236
422
264
299
403
365
260
320
397
322
293
376
349
349
416
368
325
298
400
340
218
266
247
306
358
284
289
252
345
271
219
375
310
295
337
280
291
347
312
357
311
317
438
288
256
352
280
359
286
306
296
344
271
316
291
290
385
296
292
334
355
317
288
210
378
385
290
289
371
366
301
361
302
341
346
363
302
293
326
336
239
396
355
305
367
279
332
308
358
344
280
363
272
275
298
376
358
265
289
281
312
353
361
309
299
397
349
373
367
307
302
317
295
317
358
399
318
342
342
314
343
309
335
355
294
256
290
317
337
344
299
345
259
285
359
331
283
292
294
280
318
377
378
338
347
281
350
313
229
348
315
348
353
316
339
315
375
283
372
227
294
368
294
326
291
370
347
309
287
333
298
313
410
323
322
310
339
303
426
349
302
271
331
348
288
287
339
296
216
296
311
351
332
294
311
298
354
243
362
323
353
262
341
359
364
328
337
233
261
306
328
323
318
384
288
363
269
388
328
209
385
216
304
355
252
318
348
399
270
373
182
373
301
375
273
278
322
286
310
368
344
352
258
223
300
336
355
311
379
368
321
304
323
303
423
252
351
291
295
389
236
291
301
321
395
315
286
313
326
327
220
267
366
403
277
230
331
286
276
303
260
367
269
269
303
283
326
354
296
321
324
359
316
313
334
288
300
249
365
341
312
233
215
297
345
319
338
341
340
363
311
280
303
330
325
283
303
354
267
362
377
352
301
310
373
326
388
359
265
355
422
305
291
301
201
325
297
359
346
315
280
313
360
343
288
255
266
299
286
327
331
281
323
285
322
324
385
357
350
359
344
281
374
345
325
375
320
267
372
338
368
397
311
383
286
229
352
397
267
296
182
329
302
340
298
388
327
317
241
386
301
272
290
294
293
205
374
296
280
381
370
300
310
285
305
296
298
275
260
262
300
349
343
283
300
366
407
357
316
308
342
328
284
341
367
291
320
369
310
331
379
327
294
339
359
406
378
281
248
331
303
326
459
280
419
373
334
362
322
231
246
328
264
233
233
315
291
266
313
339
269
361
274
360
313
317
310
250
238
273
294
355
352
311
306
248
254
318
298
276
298
334
322
292
318
314
344
299
385
324
324
338
388
320
278
321
324
373
356
264
328
367
362
274
272
264
339
271
323
311
423
316
363
355
329
296
294
342
283
290
338
349
385
352
306
308
350
356
365
323
251
362
287
339
277
311
330
375
352
315
305
357
341
340
292
332
302
310
263
317
292
389
367
311
344
311
344
304
342
252
298
317
298
305
274
340
330
264
264
404
281
218
333
312
287
348
288
254
356
235
280
253
307
285
339
322
319
286
348
359
345
231
289
353
261
332
287
288
287
302
347
319
329
304
297
322
310
336
366
310
368
338
356
344
296
323
359
237
259
330
284
374
345
269
298
300
337
341
317
267
273
330
361
340
364
361
265
351
330
283
339
287
384
335
338
288
284
285
355
280
347
325
315
297
263
340
283
341
310
293
310
394
269
349
330
319
298
396
329
359
319
415
253
267
331
322
320
287
271
341
318
317
264
281
320
381
321
314
392
463
289
334
297
329
294
254
237
320
320
375
328
301
291
228
336
309
315
369
315
309
291
364
315
283
328
229
315
358
353
334
271
276
257
356
349
232
283
249
311
349
297
306
244
368
394
336
393
270
361
319
306
297
291
318
298
361
217
333
353
283
353
302
313
354
264
282
307
279
290
330
316
336
326
318
342
279
322
363
352
339
295
246
339
416
202
298
335
380
339
324
301
248
314
198
251
238
331
394
305
384
301
350
360
266
316
295
237
301
368
292
317
256
268
291
308
306
338
347
227
334
386
316
359
276
312
347
321
350
297
322
341
316
359
292
332
225
396
373
437
310
210
276
306
356
361
353
362
363
319
383
318
337
336
337
312
318
325
232
462
303
331
302
360
266
272
396
369
351
235
337
289
311
285
328
324
315
361
358
313
275
349
331
289
354
237
303
325
356
303
330
305
300
284
297
307
300
377
275
302
372
435
355
359
327
369
306
326
291
353
368
246
336
320
340
289
285
374
366
339
328
335
314
339
314
383
271
261
312
370
350
313
317
383
291
309
313
298
298
212
304
289
240
385
301
292
392
333
362
320
351
295
330
270
239
341
302
279
349
280
262
328
293
278
290
333
395
295
335
267
329
381
275
288
370
275
314
316
322
309
335
367
337
334
202
351
315
413
300
290
403
282
257
308
291
374
213
361
282
293
329
347
355
344
279
280
377
335
373
380
307
351
438
396
251
338
369
334
269
381
306
272
275
353
338
323
327
356
284
286
370
385
373
308
303
310
273
342
314
359
345
362
314
312
337
341
275
251
249
250
400
336
230
290
311
271
292
289
373
297
285
342
372
260
369
288
251
329
332
309
349
294
276
314
259
257
325
212
259
297
316
280
251
298
361
317
298
341
285
371
350
266
315
390
278
349
324
305
338
347
302
329
404
337
292
243
383
326
325
424
277
323
283
394
365
270
391
311
277
385
303
294
323
292
395
346
314
373
343
398
305
349
347
358
327
261
377
258
361
304
325
289
309
323
279
311
296
317
327
371
270
307
262
310
356
376
257
281
297
324
329
416
299
272
307
351
297
297
289
330
286
280
330
321
351
304
312
383
351
350
393
378
290
337
290
256
310
216
326
301
330
337
221
253
284
300
352
257
369
372
317
376
326
304
294
371
272
310
254
331
319
315
266
406
305
348
367
374
335
373
414
290
325
294
263
306
363
333
239
295
302
331
284
339
241
319
424
318
336
404
264
334
277
300
351
303
317
304
347
264
278
261
337
259
312
346
318
335
328
341
281
295
284
326
406
343
273
347
313
268
316
291
357
311
350
323
351
269
332
345
309
322
322
272
373
332
317
236
318
300
298
368
286
285
352
274
329
251
345
279
335
272
387
334
308
312
275
277
288
340
313
348
322
299
356
303
374
259
341
319
328
309
344
243
304
348
400
352
270
302
303
284
283
348
281
369
268
281
256
363
318
291
309
340
357
314
298
294
327
261
291
320
281
342
281
307
346
317
254
278
356
325
325
356
345
321
331
313
326
382
343
311
341
272
332
270
306
260
378
268
305
330
254
363
337
314
337
384
299
323
292
278
265
246
292
339
291
220
342
289
271
264
263
278
204
365
305
416
227
289
241
311
324
374
295
298
299
247
394
287
298
267
305
314
298
332
397
357
339
288
388
389
338
263
294
330
322
303
217
303
317
342
298
262
338
338
324
373
311
297
255
327
330
233
289
373
354
340
353
292
318
319
230
354
310
367
328
337
351
314
339
355
292
315
310
306
246
377
302
335
354
341
269
325
333
410
401
348
278
298
270
322
329
303
360
320
364
277
268
234
271
311
301
372
258
366
325
336
413
280
325
360
280
275
296
252
304
352
316
254
377
339
398
260
237
294
339
347
270
278
369
322
318
280
351
318
390
359
360
290
345
322
366
322
260
349
238
326
283
333
296
383
290
327
358
309
284
305
365
334
344
375
409
262
329
388
378
344
406
340
271
350
323
312
292
311
263
371
333
301
397
252
369
299
388
323
326
301
289
320
275
298
253
329
302
263
291
265
330
323
289
361
327
298
316
325
392
266
325
258
325
221
326
340
320
267
310
266
264
328
285
330
309
263
378
377
272
343
352
277
310
357
346
367
305
217
275
305
292
280
306
327
247
317
355
413
396
278
241
260
411
371
329
308
315
385
288
344
359
340
320
479
398
338
302
250
335
297
348
277
366
415
252
335
328
303
328
296
249
259
333
249
303
328
366
288
289
344
324
356
334
372
300
333
326
324
344
291
340
272
311
294
347
337
289
336
309
359
290
356
361
340
331
315
337
304
333
208
347
334
329
297
273
257
254
340
215
341
288
312
305
261
278
212
349
267
304
307
258
276
370
339
333
231
312
264
373
266
298
308
361
335
348
379
262
266
308
327
317
260
279
293
372
328
296
289
350
372
404
329
269
261
279
359
359
325
324
341
397
385
370
301
308
300
358
347
310
278
361
324
291
274
355
413
305
344
372
351
281
359
288
291
362
284
342
277
356
230
277
271
274
324
296
253
357
304
297
328
364
287
339
335
288
296
367
235
256
327
338
326
343
284
285
285
399
318
343
300
307
286
338
274
337
323
252
331
293
279
322
283
317
359
385
215
275
308
268
297
269
324
366
348
327
259
348
334
315
399
305
258
344
335
257
371
272
309
376
313
303
327
269
290
395
354
336
342
331
356
359
302
337
311
259
284
295
305
234
313
320
414
270
288
371
355
277
333
304
322
293
282
370
308
235
267
308
369
266
245
328
316
341
341
322
253
333
189
298
290
278
269
353
363
314
230
395
386
317
349
265
345
310
368
292
331
248
310
357
301
329
336
322
366
264
340
336
346
343
249
328
332
227
229
323
335
291
322
297
325
288
300
351
357
364
278
352
346
277
353
197
338
341
357
256
338
284
357
306
300
360
298
324
287
283
340
418
301
304
268
333
340
390
430
268
299
353
325
303
328
378
347
358
254
362
301
330
296
305
318
370
309
287
341
278
360
333
382
325
315
287
232
345
274
369
359
300
333
368
280
364
354
347
353
277
244
338
301
255
332
335
294
367
286
267
306
250
300
299
436
212
320
316
359
292
388
335
346
330
333
306
382
265
312
303
285
350
301
304
310
331
309
341
299
355
358
336
322
277
357
329
284
297
284
339
272
333
337
341
325
361
302
311
268
345
359
364
364
337
364
294
282
291
311
387
292
358
313
205
286
283
319
311
299
235
415
342
305
289
294
311
268
327
291
339
262
288
281
352
328
304
323
340
292
391
300
318
306
329
311
237
413
333
357
375
323
325
373
338
323
348
360
313
335
251
355
285
293
313
277
324
389
360
323
310
321
355
265
277
273
305
245
331
291
385
282
273
297
332
306
411
313
265
349
189
393
272
345
235
283
296
352
304
378
353
330
369
319
276
386
333
295
281
377
251
354
333
324
267
337
255
405
357
259
337
293
323
282
341
372
293
316
282
369
364
320
308
332
255
311
351
249
369
321
225
339
317
316
330
393
260
314
311
329
348
331
296
243
336
329
309
346
386
359
324
273
334
356
262
347
352
291
334
296
318
311
235
313
429
377
330
375
355
317
312
309
259
294
356
328
353
364
327
343
259
303
288
330
276
340
306
320
399
264
298
271
253
292
279
284
299
381
365
316
290
270
252
319
312
307
333
313
286
339
363
294
334
282
350
278
316
388
263
276
321
268
279
275
281
397
285
287
325
333
282
285
254
385
300
319
343
341
328
309
345
267
286
298
291
372
321
287
385
316
295
391
251
294
352
307
364
360
348
387
302
348
302
376
297
245
298
322
257
312
314
369
235
326
337
297
272
361
328
330
402
331
304
321
341
298
277
330
301
364
354
235
320
272
323
322
365
343
321
288
332
291
438
322
307
362
292
291
311
304
322
299
315
242
300
203
321
409
274
315
308
339
290
333
366
221
258
385
286
358
313
323
294
283
342
320
402
344
262
441
311
303
337
247
253
331
324
262
284
390
321
366
304
321
353
371
374
268
397
337
375
273
347
404
311
306
346
319
309
365
347
296
290
332
289
322
284
339
324
305
328
334
337
358
330
250
350
303
338
366
322
373
337
367
325
315
264
278
368
244
326
313
334
292
345
433
281
315
291
392
309
360
355
368
303
339
306
312
350
216
362
310
309
288
249
287
278
244
305
309
353
298
320
391
315
356
318
331
345
343
250
303
357
305
286
320
346
346
236
340
365
275
374
347
307
311
321
308
325
345
306
290
345
294
278
224
326
264
285
373
386
332
341
405
293
348
362
293
317
461
389
311
244
336
330
325
289
377
352
365
254
324
336
355
306
358
325
266
270
277
267
257
368
292
286
244
348
299
322
344
370
318
294
295
252
375
262
283
290
314
304
357
339
262
312
291
327
378
267
321
364
321
257
318
311
330
303
358
368
403
339
275
239
287
258
251
310
233
285
306
334
416
262
284
299
247
340
241
297
302
213
306
417
397
375
299
353
247
321
331
285
402
309
370
279
335
409
351
277
346
322
340
234
323
319
370
307
357
276
327
304
292
227
324
325
350
299
306
266
233
253
348
316
352
285
253
407
300
319
363
330
336
301
338
404
141
274
338
272
257
325
298
259
256
279
315
283
353
275
308
326
291
315
286
262
265
221
258
260
387
281
364
353
366
317
358
320
279
300
326
273
387
329
383
321
274
316
315
307
404
225
272
273
300
382
318
359
398
384
323
319
281
354
276
290
333
318
352
355
365
398
394
260
380
355
396
341
317
304
304
336
306
377
292
303
357
295
339
328
305
250
270
309
332
361
208
318
345
272
312
346
266
361
325
284
293
262
287
389
369
278
303
371
313
363
338
275
364
281
283
308
203
302
335
299
304
299
306
365
420
290
293
342
318
303
308
285
314
328
221
356
302
269
304
425
271
387
365
356
245
369
330
343
373
405
318
388
366
276
242
390
316
438
322
265
327
286
337
291
265
286
285
288
294
344
229
349
224
318
290
349
235
357
330
317
368
250
253
344
264
310
363
356
251
300
305
378
308
311
315
309
321
406
276
344
379
277
324
270
305
306
267
309
324
320
275
280
393
254
287
325
376
309
274
328
287
347
353
330
286
291
288
270
325
365
367
239
169
281
266
366
299
365
296
277
342
255
342
362
307
394
300
246
256
325
342
295
325
260
317
306
420
413
360
322
380
290
262
263
285
301
350
375
301
343
281
341
306
374
405
355
265
336
345
401
250
305
307
320
353
331
207
277
321
381
301
298
222
309
284
265
318
294
354
344
304
304
328
337
237
299
295
207
214
353
328
375
269
309
290
294
257
269
371
377
304
252
330
296
270
341
232
249
312
319
344
311
392
319
220
274
339
325
245
317
303
355
237
319
217
341
346
355
377
341
228
299
403
320
307
313
321
351
315
272
285
296
367
365
274
258
414
355
387
348
388
365
239
398
309
333
293
219
360
345
255
287
382
352
363
336
266
374
379
317
332
330
389
291
354
324
425
320
356
324
312
324
372
314
301
392
290
356
272
342
377
344
289
307
263
352
326
243
329
312
325
362
336
358
268
364
321
349
341
310
285
366
302
358
366
275
341
324
320
310
380
297
367
371
269
362
407
350
333
317
310
346
312
335
332
321
298
363
362
258
279
272
318
241
357
349
332
292
344
347
365
288
324
336
306
367
335
341
321
259
279
349
298
314
359
310
335
296
425
267
289
357
371
336
333
349
307
292
292
374
258
325
311
328
309
240
242
372
299
305
297
349
375
331
317
299
345
348
262
335
279
286
283
350
305
286
325
353
350
381
338
329
281
396
256
287
327
279
333
301
269
260
333
315
370
322
346
210
350
308
290
329
332
326
302
287
379
376
317
339
364
275
358
346
289
362
370
337
265
246
337
277
240
324
382
259
321
350
281
323
338
286
311
313
337
245
345
288
306
317
320
299
384
330
358
321
261
372
313
308
380
324
346
294
294
325
303
419
322
310
350
309
288
353
332
373
302
389
370
218
431
366
242
312
343
294
307
360
365
436
347
270
290
297
284
312
322
325
330
341
358
280
336
356
314
378
283
308
346
325
355
301
342
321
355
277
336
291
337
310
282
371
346
299
249
349
343
244
386
332
355
272
304
316
321
303
251
347
314
365
314
279
350
293
389
303
393
276
363
312
290
353
285
362
329
292
355
321
288
213
275
338
291
298
301
354
317
325
328
286
293
373
295
380
349
317
354
345
382
320
375
351
386
365
224
259
319
245
308
345
343
306
302
376
317
339
319
386
263
294
346
319
314
257
286
300
290
377
378
298
340
252
271
402
263
308
252
341
185
336
311
365
265
320
295
334
350
316
380
424
258
256
357
358
259
313
398
325
317
352
345
304
351
379
226
314
280
339
316
371
282
285
278
314
354
228
270
332
326
308
385
317
381
334
366
243
339
252
261
334
229
397
259
248
300
306
330
329
312
225
342
311
346
194
361
281
384
183
312
368
309
239
258
302
379
271
305
301
276
319
288
323
348
324
342
313
351
303
280
309
316
298
218
312
410
335
311
296
283
278
286
409
284
362
264
318
354
339
325
327
360
298
315
357
308
322
299
394
330
405
279
198
274
356
248
327
355
247
382
278
318
331
258
348
391
345
338
407
307
221
333
317
281
271
343
436
328
304
283
313
275
317
326
287
245
244
359
274
282
266
215
361
285
260
307
305
335
321
312
303
361
267
314
356
311
328
286
329
283
243
303
342
292
318
279
326
287
300
308
335
332
308
282
395
265
384
298
280
328
315
287
348
323
254
288
318
343
348
354
279
399
376
289
360
324
306
270
375
301
311
320
324
250
261
372
265
302
322
355
326
291
325
275
336
343
398
258
315
345
306
381
352
370
325
353
334
334
325
385
442
328
299
375
274
335
311
221
314
344
280
349
299
255
317
229
300
224
339
272
370
312
379
328
360
266
362
321
368
307
355
324
274
217
300
355
372
288
261
298
327
397
230
372
381
271
295
264
265
284
287
253
330
287
375
312
332
287
400
215
314
317
476
384
240
266
259
342
285
313
398
273
354
320
329
377
330
285
338
388
357
235
343
358
265
296
329
324
226
256
395
266
306
279
241
278
248
341
291
244
338
290
267
311
312
366
322
320
304
340
357
245
434
309
329
387
340
374
306
288
351
221
288
279
295
402
343
380
312
315
361
256
298
234
327
332
302
270
319
295
347
241
277
342
260
268
293
327
290
280
352
329
331
239
356
235
271
285
353
351
332
296
319
328
297
378
344
287
295
328
330
218
290
316
364
209
347
383
283
325
263
276
337
323
408
338
313
287
305
309
250
418
374
264
246
246
371
315
309
327
338
369
317
245
304
375
316
255
335
314
284
396
435
248
403
329
366
310
338
298
304
320
314
278
352
344
311
314
275
319
358
325
282
296
316
336
320
283
270
232
291
321
271
265
313
292
272
360
409
370
267
261
318
273
325
361
321
317
357
312
347
285
326
297
314
280
216
322
394
338
303
347
343
245
299
293
304
233
215
360
374
333
355
312
263
266
254
242
383
287
356
329
348
304
334
291
289
283
263
341
302
363
241
348
339
278
347
261
289
317
342
293
374
335
309
313
263
349
244
366
292
259
273
410
308
280
330
348
332
324
243
332
331
303
382
341
363
231
217
234
351
278
305
261
371
379
306
334
309
371
321
305
385
281
299
348
351
322
380
330
374
364
295
321
306
262
307
255
287
260
314
304
330
322
340
268
428
356
286
333
311
280
306
336
363
325
314
264
382
290
360
411
279
339
324
288
302
314
281
316
392
341
326
309
326
319
194
304
333
238
236
340
332
342
284
231
342
441
230
302
284
360
374
382
339
345
323
315
394
290
255
345
305
330
316
293
338
399
389
342
307
394
312
314
297
312
330
249
377
384
185
311
264
344
312
393
326
337
350
301
346
368
250
355
289
340
300
354
283
325
297
324
318
283
385
370
330
334
244
243
329
262
335
295
308
396
341
241
320
240
297
342
384
316
349
351
369
319
325
301
351
274
354
321
281
267
340
293
308
249
310
333
330
295
270
296
362
304
360
360
283
325
315
299
253
373
328
311
305
337
271
313
331
281
290
361
342
293
314
279
268
331
313
186
335
285
351
364
343
331
288
207
274
311
320
311
332
305
316
323
288
344
294
354
401
414
325
310
381
364
369
326
332
271
289
373
325
331
346
320
368
330
358
256
308
395
317
284
328
336
317
318
307
321
233
333
358
307
307
343
300
278
368
311
302
338
292
296
325
347
251
382
217
350
366
398
362
287
311
363
322
296
347
319
362
349
358
260
264
362
394
384
276
245
313
315
349
345
394
187
295
308
307
363
359
355
280
342
344
353
323
302
276
393
322
373
352
320
297
304
353
270
292
302
320
358
360
321
261
286
299
352
315
314
267
349
350
391
359
315
341
251
349
298
227
345
266
282
260
340
321
350
302
343
343
261
381
300
347
309
271
356
269
307
253
279
346
299
320
332
304
304
294
338
346
306
368
264
299
259
245
312
397
245
383
308
355
303
274
306
278
327
275
356
375
306
333
346
175
316
276
350
319
266
324
333
301
302
303
246
281
278
295
252
360
291
252
322
327
353
241
341
373
365
348
251
324
378
280
274
311
333
300
354
321
334
317
317
332
293
383
292
254
360
365
402
359
258
309
251
329
271
338
274
361
268
307
288
316
323
362
318
351
248
281
287
440
320
366
292
375
394
326
287
318
222
279
266
301
263
284
305
331
355
304
221
284
305
263
272
303
317
262
251
377
383
401
295
294
363
283
336
242
374
325
383
290
288
330
309
348
346
324
316
362
360
192
370
307
339
373
353
288
364
382
347
387
400
260
292
312
385
295
248
311
276
334
322
349
297
327
283
334
375
288
284
271
276
307
332
324
355
317
287
329
363
303
213
332
353
339
230
349
326
302
306
271
379
369
279
259
401
344
299
255
310
336
323
414
372
282
357
338
324
303
374
345
301
340
325
307
294
370
301
321
315
355
263
367
350
330
272
328
340
360
315
197
332
328
248
249
394
316
379
322
347
356
274
375
379
358
256
355
336
267
308
303
354
272
339
417
337
374
340
301
398
334
264
351
227
240
291
279
383
354
286
320
337
263
351
321
316
308
356
369
399
320
300
288
397
334
361
401
315
333
359
303
306
314
269
333
368
256
391
356
262
366
203
432
351
252
326
300
365
312
280
275
298
378
307
275
325
319
340
302
323
289
323
268
372
317
336
349
348
324
297
336
362
214
361
308
267
337
303
330
317
211
248
303
311
333
415
311
253
318
333
314
381
337
282
367
255
309
323
264
353
338
281
336
265
353
227
248
327
417
392
263
318
307
285
241
345
396
328
364
274
345
326
345
374
359
386
363
320
360
335
308
243
310
282
307
368
245
250
360
320
374
335
237
329
375
377
362
269
252
416
254
335
279
225
362
295
310
322
379
424
326
302
266
299
306
288
301
272
306
270
241
346
298
301
301
259
292
311
344
306
339
277
365
230
326
285
306
361
315
311
240
270
253
304
341
287
264
264
351
252
278
356
291
305
281
328
365
278
368
317
294
378
281
307
395
309
288
152
248
349
264
276
323
285
350
338
264
329
302
226
215
325
336
333
387
340
295
342
369
360
278
387
289
281
253
381
307
252
340
299
331
316
353
269
292
303
289
443
342
318
319
333
362
271
262
322
318
271
267
321
284
279
286
356
322
300
258
354
283
339
293
357
296
252
317
313
318
353
318
350
380
310
315
378
317
414
253
262
316
322
235
350
362
370
337
310
238
206
269
325
310
338
318
275
353
235
343
332
283
285
253
293
225
354
327
242
301
266
334
318
251
404
357
291
280
343
328
288
277
328
365
263
374
317
384
399
385
313
383
290
255
292
306
295
402
250
281
308
356
318
345
302
269
367
392
210
290
347
329
286
265
316
323
296
417
345
372
296
265
285
317
329
330
315
325
241
170
288
363
285
355
281
316
284
349
366
317
311
379
352
251
367
353
325
291
234
364
260
296
247
267
284
314
202
312
348
361
382
310
386
334
318
311
240
383
305
351
261
332
303
332
317
273
257
269
267
294
345
364
341
286
319
318
290
325
303
313
324
288
319
287
297
303
352
296
263
272
327
313
291
274
332
304
330
333
296
251
319
284
307
304
339
341
270
262
349
340
310
325
273
355
343
375
310
297
322
327
409
336
325
332
266
329
339
260
270
260
385
293
283
296
294
328
270
345
292
249
296
290
334
265
231
317
328
344
328
241
311
290
262
380
329
321
349
280
427
321
200
354
422
235
307
271
232
301
310
286
293
350
305
247
324
356
351
324
347
318
286
339
258
318
179
271
296
352
284
301
273
306
262
239
247
328
335
304
261
328
367
396
267
281
351
319
322
333
282
311
316
274
327
415
305
298
303
365
345
281
345
352
380
350
382
319
406
301
343
347
334
282
362
250
348
286
336
279
351
337
263
324
327
334
292
268
329
332
341
430
340
369
267
276
338
249
294
320
327
380
408
317
346
289
359
314
380
289
345
306
413
351
282
333
352
370
334
296
212
309
335
218
186
239
318
355
351
166
361
329
291
330
332
304
303
351
358
338
358
316
312
297
265
327
275
280
318
286
339
345
349
318
331
301
362
344
285
360
346
257
334
293
366
315
327
337
325
346
333
347
322
355
320
280
251
259
196
227
305
336
259
357
348
250
321
326
341
357
309
309
293
291
264
333
314
222
337
422
273
285
351
319
399
313
345
301
331
338
318
283
294
331
319
275
253
389
356
234
410
320
390
350
306
325
230
397
343
236
288
216
375
397
328
314
402
356
343
331
291
345
320
280
285
333
316
287
323
311
319
371
359
323
376
377
266
344
285
263
285
407
378
274
350
300
195
316
370
333
301
347
333
336
357
394
438
369
348
344
427
317
338
347
317
325
329
208
248
353
329
352
280
343
318
302
325
318
315
250
314
296
216
325
308
221
370
334
320
346
296
307
326
166
341
382
395
266
295
271
303
297
341
373
292
267
318
254
329
336
284
340
321
333
379
308
254
287
352
254
253
329
351
321
275
339
270
379
325
342
294
328
377
264
388
309
353
408
298
346
293
317
296
303
257
297
403
284
327
366
363
379
288
335
350
412
321
274
292
282
302
318
339
279
309
323
308
236
310
256
304
383
319
310
317
293
298
327
332
340
328
304
320
269
415
382
231
385
228
241
341
311
311
324
273
277
349
349
386
345
303
321
282
271
320
319
337
336
331
446
335
348
297
416
315
377
255
289
309
303
310
266
345
303
380
279
316
269
360
251
315
439
373
316
322
279
349
342
385
300
377
238
323
372
322
320
339
322
238
372
325
321
238
291
345
373
279
323
349
401
295
287
316
279
284
367
256
347
363
304
291
368
343
304
349
299
227
284
287
312
346
313
428
347
278
352
206
341
306
306
268
385
336
328
271
339
225
294
267
270
376
308
272
359
341
275
284
281
287
325
304
311
214
348
323
284
326
310
324
368
387
272
376
326
376
381
379
282
313
359
318
297
368
294
324
269
329
360
268
296
352
345
284
249
325
331
279
268
284
301
343
376
336
371
341
341
298
334
328
355
364
247
317
229
366
300
324
337
246
391
387
316
301
259
331
364
322
347
255
363
284
286
278
269
360
231
354
340
350
344
349
303
289
310
345
309
337
335
332
363
314
362
347
319
379
306
236
323
322
285
320
266
303
346
215
315
320
303
289
323
278
298
333
245
303
292
374
269
377
343
259
308
274
355
418
271
337
284
297
248
270
275
337
274
322
302
308
313
361
321
346
264
308
252
282
291
298
338
302
264
346
374
331
374
318
261
306
228
326
378
321
363
396
239
411
379
343
300
303
376
325
332
240
318
382
357
272
415
305
285
269
348
346
271
387
339
324
364
389
304
328
427
242
208
347
415
291
267
274
328
327
260
287
299
403
301
311
332
337
345
288
327
360
213
302
396
253
273
356
371
300
345
284
304
296
395
293
368
255
380
336
251
305
323
356
363
288
343
344
304
288
405
358
327
301
380
264
281
267
339
261
299
332
333
353
302
370
358
380
356
282
369
364
297
277
361
372
278
354
362
340
341
238
311
269
272
314
317
306
290
320
315
351
279
226
290
241
330
334
384
334
353
332
345
272
301
397
275
333
327
288
246
327
221
251
222
299
325
332
342
429
346
349
323
348
265
272
305
345
334
390
333
320
300
427
263
396
189
284
267
345
352
323
349
370
256
300
383
391
350
383
349
372
349
177
367
311
264
361
412
288
376
213
321
248
275
300
380
332
321
366
290
366
265
332
260
348
286
291
269
311
311
251
318
324
368
223
407
337
318
330
309
345
320
330
397
316
235
410
238
299
373
328
431
315
338
321
360
366
326
261
305
296
245
258
301
275
339
374
263
343
329
287
291
394
348
313
307
356
295
284
340
282
290
312
284
356
351
311
363
398
363
277
344
323
339
387
279
320
380
378
322
358
358
312
274
313
372
330
298
361
325
339
347
312
348
248
343
306
202
295
327
205
371
262
321
253
307
260
357
334
311
252
272
305
261
324
251
284
268
270
357
278
314
310
372
382
281
327
344
353
279
306
272
332
278
245
386
258
326
344
327
255
309
336
340
262
398
314
332
310
313
247
351
279
392
318
375
290
250
282
371
321
283
348
342
232
237
298
264
373
333
369
313
300
265
397
277
388
317
325
339
250
363
436
315
359
262
297
353
351
390
395
203
350
301
311
332
347
389
382
370
319
370
312
207
323
331
331
370
310
328
248
275
359
323
340
315
240
346
276
179
382
295
301
283
286
307
373
346
306
293
329
351
331
375
378
270
297
345
292
277
334
351
296
279
359
311
271
339
412
310
322
337
233
379
307
273
302
329
393
337
279
320
378
255
312
291
303
287
335
334
342
343
337
245
330
331
295
313
282
246
281
353
361
287
369
360
275
269
211
360
309
327
218
247
272
307
328
290
310
377
299
299
245
382
430
364
276
316
316
317
306
234
274
290
294
231
370
303
361
318
356
327
322
289
318
374
291
278
287
332
374
354
349
349
313
331
348
331
306
275
315
309
257
313
322
261
302
395
370
315
331
301
238
291
305
286
246
376
339
321
363
359
269
276
302
291
314
349
363
331
306
335
279
234
245
407
267
275
360
310
325
246
320
359
259
316
282
329
329
293
322
388
282
341
349
323
262
346
257
314
306
323
332
304
277
373
333
298
325
299
288
373
291
323
325
305
324
282
351
297
328
319
306
356
293
276
299
335
301
291
373
349
196
293
352
251
383
331
284
370
288
299
339
337
252
213
294
369
328
391
382
345
328
307
247
315
341
379
305
274
365
281
280
400
322
290
352
326
345
290
263
287
284
271
312
315
245
296
325
235
246
310
335
285
335
349
397
370
393
248
279
373
387
305
301
285
354
287
325
293
193
364
298
299
334
328
340
338
359
233
310
373
337
287
324
341
301
286
369
335
351
336
294
329
346
348
304
372
291
302
273
318
316
351
430
292
301
278
340
253
347
359
347
363
296
289
331
368
349
289
243
329
313
379
318
306
336
351
323
323
289
367
323
351
299
303
375
378
375
339
322
310
307
287
358
341
353
309
236
301
345
331
378
286
344
350
340
326
334
291
324
297
357
339
312
278
248
332
322
375
371
293
381
271
333
299
280
373
352
303
366
338
329
281
304
354
400
327
244
307
280
263
297
355
294
366
378
241
354
349
372
337
335
322
336
278
257
333
295
402
218
322
330
347
351
312
333
371
216
409
350
339
244
368
316
366
337
289
209
337
255
307
377
374
371
320
293
290
379
419
314
344
338
245
259
314
266
290
315
277
327
299
321
310
386
298
337
282
256
341
278
283
284
328
279
337
333
339
235
347
292
312
244
313
285
310
377
301
360
326
317
338
243
335
320
213
268
314
394
287
375
358
259
360
355
264
297
296
313
305
329
336
363
381
273
331
392
200
277
301
372
365
339
354
346
333
354
345
249
296
348
339
298
348
291
304
407
287
376
282
331
330
321
369
372
244
288
396
329
290
306
342
296
302
397
318
333
281
362
360
253
358
315
352
316
298
347
327
242
346
296
319
376
293
302
282
298
388
353
325
270
308
297
331
366
341
362
333
379
307
389
289
351
291
351
284
307
247
337
292
283
307
225
306
278
270
268
339
329
279
335
251
303
390
288
349
271
324
282
325
290
288
287
366
314
304
241
319
336
304
289
423
343
341
258
348
286
288
269
359
338
399
257
297
328
305
354
307
339
335
328
388
336
276
391
275
345
247
276
334
274
344
311
313
319
276
327
340
341
367
302
277
388
293
386
338
262
407
316
375
304
308
278
235
309
338
285
343
287
353
363
333
341
231
234
384
317
306
315
341
242
350
397
242
308
267
315
431
387
256
328
286
353
194
342
304
335
318
245
307
229
369
353
344
295
323
349
324
280
307
242
290
399
316
321
272
293
375
361
277
234
313
351
371
301
387
326
349
271
286
262
281
285
355
188
293
380
254
317
276
336
310
327
377
209
343
326
300
300
282
392
247
355
347
244
335
370
379
350
265
249
320
374
332
322
328
295
340
378
315
294
363
308
267
335
333
353
346
299
289
354
406
305
334
270
365
340
313
284
310
285
253
335
361
303
286
282
273
325
349
205
266
200
403
314
260
280
299
318
278
267
294
279
283
325
269
320
335
280
292
230
384
341
232
337
301
270
329
312
325
309
358
289
234
299
326
287
343
277
340
330
273
359
288
264
321
256
311
330
255
299
341
232
348
294
245
319
248
297
352
331
377
308
281
282
264
342
321
294
257
403
422
331
294
331
278
344
311
406
422
281
308
244
361
290
350
372
324
268
253
243
393
369
379
314
304
342
276
357
311
349
266
309
299
363
329
377
317
268
291
276
356
286
350
323
333
345
318
327
324
332
346
292
309
346
310
356
364
340
318
355
285
279
278
302
310
389
260
349
310
338
351
341
296
349
290
329
354
361
301
277
258
321
380
285
281
304
346
353
330
305
293
208
302
332
236
320
313
250
307
358
336
322
368
324
272
386
261
338
318
294
228
267
385
336
322
380
314
302
377
346
373
339
332
373
304
328
268
245
253
321
354
281
281
346
222
303
280
218
301
234
343
249
324
281
295
260
256
278
291
375
357
325
223
324
267
307
288
367
355
308
392
296
310
288
355
312
346
317
363
333
269
351
337
317
368
307
330
312
303
288
322
333
332
281
268
350
398
314
337
321
271
268
314
384
224
259
276
288
335
297
312
323
247
257
321
267
338
329
379
320
250
288
397
312
260
341
295
284
312
268
347
352
322
356
335
354
378
339
309
256
301
295
371
383
383
311
377
244
287
279
289
281
405
242
263
327
214
305
308
372
313
276
334
370
308
298
237
315
272
264
362
320
372
293
225
313
318
267
355
383
370
312
286
320
314
237
333
278
250
331
331
278
314
378
358
290
280
288
407
377
316
322
365
297
310
319
233
301
333
397
267
340
324
367
346
316
393
324
260
297
307
336
355
347
267
269
332
383
412
324
272
290
291
245
309
329
276
358
270
296
311
387
365
356
315
356
341
269
303
340
315
395
348
333
270
364
275
294
322
338
360
359
338
350
392
293
337
291
306
312
286
285
351
373
277
246
260
295
337
303
317
295
336
320
332
340
340
330
408
294
282
381
280
229
264
308
337
219
310
224
351
353
345
408
288
312
322
326
350
314
285
343
293
368
370
232
273
243
315
381
418
349
303
311
316
342
277
304
362
276
297
352
359
257
318
313
304
268
355
386
367
294
305
370
318
353
316
278
350
341
293
251
285
218
353
364
290
365
388
330
355
309
243
376
344
314
287
360
386
272
304
298
321
278
342
225
318
390
267
313
321
320
386
292
414
253
297
267
265
324
300
401
323
261
289
348
340
302
334
315
344
279
270
402
319
323
357
364
269
347
405
314
305
221
295
292
315
458
312
358
299
298
357
307
285
350
342
298
263
209
293
385
260
319
378
327
349
289
342
335
312
215
233
364
269
302
292
356
345
301
261
304
408
319
351
393
365
235
346
284
413
297
316
318
319
320
380
259
232
299
326
321
232
348
272
324
316
361
347
322
339
339
267
395
289
307
280
352
307
309
361
282
288
290
352
390
393
392
335
314
306
289
341
340
301
291
326
342
210
329
346
277
281
281
378
327
286
288
315
353
331
345
294
323
363
260
290
326
315
282
266
393
348
313
340
333
277
283
362
295
265
379
302
331
282
248
382
243
402
377
302
266
319
332
319
256
330
326
358
357
243
302
317
286
301
302
354
307
268
337
346
390
336
258
283
253
343
307
340
354
202
317
305
321
335
318
347
369
310
367
265
318
321
341
321
333
341
343
277
290
239
309
296
317
332
284
328
288
335
313
354
355
368
383
290
290
300
304
360
369
301
267
351
328
353
372
279
341
280
316
297
305
314
347
357
391
348
244
384
319
337
362
258
278
309
360
268
356
342
304
254
296
279
164
342
298
277
235
266
278
354
326
310
293
291
377
321
391
335
349
373
349
338
272
319
229
348
357
294
288
304
255
363
323
331
332
315
310
270
258
330
237
338
338
369
342
340
311
289
374
312
260
231
254
429
256
261
257
419
339
338
366
303
312
195
258
341
316
321
306
322
292
334
353
359
295
334
350
326
307
319
322
340
316
260
368
206
319
289
299
321
237
234
332
327
338
338
359
311
266
287
346
268
370
280
349
334
290
355
329
344
332
375
388
326
285
359
301
291
360
292
330
349
305
340
342
346
397
374
326
308
301
372
289
298
232
285
333
383
423
317
327
310
277
397
363
302
292
374
324
210
329
316
357
352
286
340
332
309
315
262
390
315
355
344
288
253
352
231
334
317
322
363
294
305
343
315
374
318
345
326
356
304
381
268
388
415
295
303
243
239
279
295
307
302
325
359
356
395
309
380
364
331
365
238
337
290
290
322
282
288
287
340
298
341
242
242
287
399
382
337
324
297
263
338
269
274
312
393
371
377
317
393
334
370
391
299
315
262
339
311
343
298
319
206
305
288
252
328
300
271
272
149
313
301
246
323
300
253
328
329
360
282
361
271
341
333
280
271
295
294
334
368
263
267
340
263
367
336
346
332
310
295
303
384
314
289
267
297
285
318
344
321
241
325
339
309
358
287
356
348
343
380
296
318
299
238
369
355
285
364
282
317
315
322
317
271
281
283
278
387
373
274
330
350
420
275
336
261
329
317
377
436
269
293
276
261
335
333
343
275
323
362
267
264
247
264
254
321
363
378
372
292
293
274
354
280
279
374
335
238
261
375
302
375
236
307
304
323
353
265
247
351
316
263
326
284
302
362
279
225
341
373
314
337
263
361
312
263
302
338
258
322
285
287
298
330
360
358
272
306
381
355
215
354
201
288
347
298
365
317
395
347
327
315
215
264
241
317
318
367
353
332
287
236
317
371
347
289
298
338
393
292
341
327
338
345
265
293
302
346
341
335
299
292
291
319
383
411
303
280
267
305
361
321
350
312
322
249
247
291
300
345
301
250
318
285
330
312
392
362
347
301
439
239
356
287
315
330
313
237
216
283
323
213
259
330
300
310
268
298
354
263
389
280
319
300
278
311
384
292
337
400
304
417
319
317
274
286
324
333
294
332
312
341
354
390
274
272
369
313
323
265
395
338
358
447
360
377
308
378
295
361
348
286
307
285
286
333
221
225
350
353
217
391
262
264
337
370
351
333
265
296
360
368
292
414
413
360
305
352
405
308
251
237
388
322
309
304
321
308
380
380
260
345
352
325
348
327
355
372
364
348
344
297
302
284
335
302
348
329
351
340
346
302
281
372
314
350
270
316
258
269
354
343
334
378
321
324
268
175
316
376
313
358
307
331
301
294
230
301
314
424
343
256
376
327
305
240
305
365
327
311
282
415
365
303
258
294
330
266
353
344
330
342
319
241
238
280
401
388
297
299
350
344
334
286
391
390
305
325
418
312
359
302
311
368
343
365
320
342
316
300
356
331
304
252
337
296
350
317
334
243
313
327
309
399
342
340
290
290
299
412
330
320
343
320
320
281
353
319
397
348
366
390
260
332
354
330
332
332
263
240
279
289
283
308
258
303
297
340
358
385
304
322
350
247
414
405
351
269
291
332
340
320
348
388
271
399
331
301
390
315
332
279
288
376
220
274
292
333
379
327
228
321
387
297
278
283
338
362
368
258
336
334
251
316
311
365
278
235
288
300
356
256
321
346
333
401
300
264
243
362
349
263
290
283
325
346
365
349
333
327
277
300
317
371
305
365
272
280
245
351
315
394
321
344
372
294
307
268
404
299
404
383
292
261
299
438
355
287
335
295
340
304
379
243
349
292
383
316
357
323
241
295
373
384
235
315
338
342
312
298
395
294
339
264
439
396
350
221
316
353
289
348
306
298
306
391
381
353
365
276
318
315
349
358
263
356
334
311
364
321
375
348
238
223
269
311
321
264
325
277
260
331
267
271
344
329
255
284
326
243
305
331
322
310
305
333
346
264
308
289
355
261
371
288
257
275
260
342
345
322
289
332
304
335
372
336
309
320
276
287
294
270
231
328
319
278
309
370
248
377
355
353
331
356
311
247
328
262
279
326
352
284
369
340
360
305
341
389
318
357
229
340
260
240
248
299
295
391
307
289
292
449
273
350
281
203
354
294
220
356
297
263
342
276
293
329
296
367
338
288
191
315
336
350
360
288
326
301
291
355
308
338
329
330
359
301
314
336
318
210
312
361
317
369
323
388
252
278
342
275
262
189
381
329
286
333
320
275
299
322
332
400
293
260
299
305
253
374
227
321
295
328
247
317
385
245
301
358
312
307
295
344
371
355
339
259
300
247
318
241
265
305
334
276
368
341
317
329
216
413
327
324
306
337
247
309
296
386
336
327
346
261
271
271
312
338
283
270
364
396
327
334
408
366
329
243
306
328
306
281
368
366
351
239
260
381
369
331
409
260
339
298
319
353
288
312
274
366
287
345
363
315
336
372
371
305
264
333
369
254
348
332
382
371
340
281
285
317
308
278
302
293
293
294
354
273
280
309
243
235
339
356
294
298
414
356
340
286
410
372
372
337
287
350
319
322
282
341
291
275
356
306
374
315
273
268
329
386
355
282
337
347
330
246
298
287
360
244
302
288
406
278
302
235
382
342
273
252
287
194
288
304
349
362
366
323
359
366
239
355
295
376
303
248
310
316
369
297
299
322
350
323
324
342
316
386
254
344
330
299
379
312
259
323
309
284
309
299
377
314
337
373
388
336
301
296
251
290
385
377
347
328
331
300
356
379
311
322
327
342
207
363
339
337
337
390
360
305
335
268
355
362
356
331
280
377
327
348
276
335
307
280
285
312
316
298
292
392
288
304
408
407
305
332
303
314
326
328
323
352
331
246
300
319
301
370
328
368
302
270
303
288
355
307
360
260
287
263
402
329
294
270
314
299
358
321
351
336
282
345
382
365
322
259
340
271
289
300
250
395
293
361
335
310
301
339
309
306
347
342
316
304
323
305
336
290
335
287
421
330
357
315
330
308
335
330
305
330
293
381
284
307
400
306
373
351
339
272
308
338
250
305
309
272
353
375
284
361
268
352
290
246
331
380
291
343
274
354
356
265
322
316
352
306
372
367
342
302
436
273
315
415
338
308
301
302
304
334
317
325
356
338
286
289
267
285
369
311
357
349
372
332
257
316
306
237
238
351
309
256
275
309
281
285
356
329
418
392
320
334
317
273
320
330
306
328
297
357
329
319
300
364
275
386
309
382
290
256
350
346
399
329
330
298
352
279
306
230
295
265
324
246
362
283
398
320
337
309
346
454
263
315
295
279
324
339
302
382
321
316
296
381
285
338
328
306
304
326
332
372
394
369
323
318
340
252
310
349
359
299
352
304
253
350
389
265
270
278
332
286
305
350
249
329
352
257
331
281
289
314
305
352
294
332
358
345
330
355
393
351
290
378
332
300
230
249
349
378
336
304
305
331
320
310
278
362
277
331
303
225
254
214
351
312
286
423
362
357
282
277
340
334
347
343
341
260
288
272
337
300
283
324
286
321
290
386
364
332
343
290
354
314
303
338
383
344
287
298
372
287
260
289
287
346
328
325
285
320
292
278
376
255
292
261
269
373
378
311
266
324
331
273
276
299
248
263
407
350
320
304
286
240
254
276
353
260
293
333
301
290
262
302
314
341
337
332
362
253
373
338
284
378
375
353
297
309
258
371
326
356
358
349
247
268
339
357
333
345
404
305
353
367
348
268
257
394
336
320
275
311
264
261
277
366
363
305
257
243
285
379
242
317
380
310
368
296
378
329
305
345
273
309
329
303
422
253
294
318
346
394
347
297
304
320
407
338
311
311
300
347
344
371
379
294
338
332
316
232
303
242
306
342
341
375
247
344
391
319
304
317
281
312
260
226
292
264
346
393
270
294
313
370
341
196
315
203
328
316
397
266
306
287
277
259
319
361
288
286
404
257
281
298
313
329
266
305
260
307
360
274
296
335
362
314
339
321
221
273
356
297
256
327
305
341
236
300
341
264
363
297
284
391
300
310
278
354
325
283
279
313
336
330
365
269
276
352
319
274
364
380
337
371
272
307
235
322
346
336
323
370
343
337
329
271
296
338
322
317
280
300
254
341
361
244
346
306
284
268
176
334
326
329
302
290
259
379
287
281
369
295
204
286
336
308
365
332
341
272
269
312
314
331
305
252
354
351
262
337
309
283
237
295
313
299
378
391
270
339
324
341
300
362
334
266
186
314
266
280
263
323
367
312
297
304
272
337
296
274
294
315
288
355
295
352
349
264
275
324
342
338
325
356
314
384
233
289
243
368
386
309
392
308
296
334
325
335
273
242
277
333
342
249
333
200
310
292
305
315
363
344
286
286
288
362
314
308
300
393
288
338
286
402
295
297
325
292
323
326
225
248
305
322
297
273
283
266
272
334
315
294
265
380
319
266
254
303
383
271
326
301
321
318
289
391
307
417
336
341
294
316
325
272
404
263
281
342
309
376
382
304
288
329
356
274
271
349
318
288
305
280
250
314
345
220
343
306
326
338
338
255
318
294
342
348
334
399
312
305
308
318
322
360
303
340
292
361
323
218
289
313
289
295
276
310
362
339
355
385
270
334
402
328
288
354
359
404
304
282
340
203
358
316
304
298
282
365
359
340
362
278
342
309
353
293
353
333
194
278
323
305
292
259
359
313
421
343
266
331
294
301
280
344
331
269
261
292
285
297
345
320
386
325
213
275
322
262
281
273
332
396
287
325
269
297
283
400
441
271
358
322
257
389
341
362
231
338
345
240
319
339
336
314
382
189
326
339
371
321
301
353
314
330
295
307
354
396
305
303
315
281
316
278
306
340
342
254
392
290
335
395
349
317
356
284
372
354
364
285
332
335
339
347
351
376
319
359
352
299
348
286
268
292
372
337
256
319
304
323
261
285
309
292
398
280
413
334
313
361
263
334
294
263
295
299
323
343
334
326
285
421
352
328
338
230
376
313
300
269
317
278
357
349
291
283
271
314
341
378
333
378
274
322
348
306
264
290
323
220
244
298
273
285
371
306
312
376
418
298
292
369
283
339
285
306
337
295
365
303
206
214
257
401
299
323
311
239
298
334
335
302
339
317
255
305
294
318
322
390
397
302
268
349
307
303
306
341
320
272
370
312
372
259
370
330
290
359
353
211
318
293
269
308
301
242
295
312
326
308
394
313
314
273
352
289
209
290
343
332
324
290
267
318
356
246
371
262
360
218
330
262
281
250
358
455
230
251
345
320
354
254
334
338
370
303
349
266
328
363
364
338
277
296
337
408
372
290
361
367
295
296
276
296
268
239
355
346
341
374
312
396
298
335
347
341
249
355
213
367
361
234
319
332
365
257
291
183
377
281
376
267
349
334
379
401
330
297
331
244
419
359
311
373
218
219
375
273
304
359
336
308
344
318
286
259
269
340
282
273
233
305
352
306
250
369
248
333
371
331
284
334
294
283
372
410
332
320
343
327
338
374
263
345
244
269
268
279
400
314
305
318
203
281
230
303
343
277
318
329
240
302
271
332
361
375
296
393
344
260
299
361
226
240
364
287
279
255
289
282
336
283
412
234
348
321
364
351
401
314
337
291
316
333
389
363
374
330
317
279
400
404
285
296
315
343
382
395
275
301
380
302
330
330
280
336
382
281
279
340
262
313
298
254
215
374
331
384
351
316
212
323
363
365
415
265
369
381
268
336
309
349
330
345
261
319
283
290
249
319
326
233
334
306
295
290
265
293
376
293
299
245
352
394
331
325
324
341
342
321
325
374
303
284
254
297
318
307
296
354
433
269
392
346
356
324
310
315
375
293
320
336
327
273
287
384
297
292
403
325
366
316
341
264
370
309
317
363
295
317
315
373
272
312
319
316
371
290
342
296
365
355
243
251
329
278
272
304
339
343
299
352
363
321
403
345
327
322
352
325
220
294
276
349
248
310
326
309
330
337
270
260
239
364
260
335
230
283
354
257
270
305
329
392
340
295
337
307
323
385
351
311
317
257
339
307
282
383
308
301
364
330
304
261
343
320
230
249
334
340
326
384
296
395
340
290
226
353
324
323
333
331
401
360
351
346
324
339
268
319
360
264
324
348
307
338
377
329
311
376
295
264
299
379
287
346
391
298
362
275
300
388
414
305
316
412
300
285
327
225
379
347
264
391
321
315
409
285
343
294
362
275
288
295
303
366
312
304
347
336
304
320
258
348
340
386
361
339
305
280
227
267
321
318
308
288
373
364
340
348
307
323
286
344
229
372
300
271
240
298
430
415
349
369
378
281
238
356
362
317
308
350
353
297
286
408
357
354
349
317
309
267
370
343
349
263
309
282
339
338
329
323
372
323
361
273
244
331
320
251
399
381
328
341
315
256
282
336
258
300
264
346
332
350
311
290
283
365
346
281
331
299
333
326
417
358
301
305
249
327
360
366
344
321
379
323
321
321
305
319
348
350
322
314
339
325
280
340
328
343
332
379
364
345
290
281
325
278
249
311
326
389
336
281
361
290
234
311
386
307
293
291
322
348
317
241
367
335
278
298
337
322
370
332
352
308
310
331
306
280
293
299
302
419
287
253
375
317
315
333
293
303
318
285
314
372
348
349
336
324
258
279
305
320
299
273
343
302
327
317
361
296
331
346
245
298
314
322
250
325
344
356
346
342
352
283
387
460
360
356
282
360
315
283
326
337
275
319
274
378
292
346
331
284
330
254
238
303
287
266
368
324
260
292
318
280
351
352
355
292
385
343
327
345
291
309
298
307
307
399
302
336
308
275
290
343
438
320
308
291
298
261
327
283
235
270
310
253
373
289
417
299
322
318
315
228
272
324
276
330
405
341
271
294
265
311
385
295
303
260
346
353
258
352
332
313
305
334
341
272
372
353
312
338
335
322
150
380
363
299
358
334
342
205
277
211
343
285
360
305
349
329
285
338
306
279
243
343
242
344
381
257
302
273
337
362
303
338
340
272
303
362
309
306
327
290
248
373
296
285
276
281
337
261
376
320
338
379
236
331
346
300
326
240
241
366
342
238
265
312
317
213
257
373
307
336
364
328
297
295
303
294
352
327
341
337
352
318
345
314
283
312
295
313
161
317
370
387
313
292
201
259
275
326
303
295
294
271
355
390
228
309
299
351
350
368
318
225
297
302
395
361
296
336
300
329
306
301
312
304
351
331
329
268
298
296
379
332
283
300
264
286
341
231
328
351
370
329
317
367
316
382
372
278
270
287
306
313
336
321
270
311
310
319
342
312
328
349
295
334
315
255
365
309
233
344
303
340
313
295
349
314
274
372
251
269
325
350
280
319
334
389
274
232
331
340
274
279
363
272
248
320
389
208
323
387
340
306
325
284
319
312
321
250
334
263
271
344
391
433
252
319
377
380
318
352
358
307
347
312
302
277
331
312
328
277
394
347
315
306
288
321
333
261
284
316
382
284
378
285
288
304
338
334
332
239
376
386
292
323
342
331
373
313
249
321
394
299
380
260
297
350
231
290
291
319
321
285
319
314
244
292
342
350
260
323
346
325
240
299
299
370
276
291
349
319
288
353
369
299
254
304
279
274
254
301
242
283
317
257
303
358
287
351
321
294
403
347
322
365
404
351
357
312
255
273
316
352
311
295
325
341
272
306
373
314
300
263
287
334
319
299
302
342
373
292
286
315
284
285
323
355
347
254
283
360
295
342
239
294
325
252
317
341
291
298
329
271
348
308
368
307
346
292
239
347
302
381
349
361
312
292
379
359
292
205
270
336
312
272
348
346
261
264
386
290
360
310
283
288
344
268
265
351
324
293
344
374
313
335
362
389
312
364
370
253
332
205
187
263
321
334
274
327
333
263
323
353
323
311
274
297
337
284
368
289
318
362
377
379
256
322
395
330
295
234
325
239
365
308
344
281
340
348
338
336
299
333
397
273
276
284
388
304
328
412
334
321
236
282
394
307
390
343
377
351
334
345
350
362
266
213
310
380
370
372
330
342
212
300
339
318
323
319
329
278
296
364
315
279
346
299
324
361
320
276
346
297
337
359
305
221
258
314
338
373
366
353
243
387
373
331
303
329
233
407
362
321
296
306
272
320
352
311
317
337
358
341
340
347
268
389
304
234
257
314
401
255
367
359
311
289
276
330
212
344
343
315
296
342
319
343
265
379
272
259
342
350
326
377
293
292
354
390
394
382
382
342
272
299
277
314
304
281
371
309
333
396
260
309
354
290
292
277
291
241
343
317
351
361
337
303
362
368
290
300
288
271
331
304
285
285
308
345
376
304
256
288
322
285
303
294
317
329
241
343
344
352
233
307
260
338
329
312
349
346
329
335
281
337
344
294
329
329
317
357
295
275
313
359
294
273
336
365
271
297
270
272
382
290
385
356
262
374
294
324
398
334
346
368
387
304
217
269
286
349
394
323
248
374
328
257
355
322
238
344
375
275
366
382
291
322
335
315
297
339
262
329
316
271
326
299
283
389
370
403
219
292
308
329
310
282
339
259
329
310
324
287
237
294
352
337
366
361
297
397
360
268
288
342
236
271
342
332
273
302
294
357
374
261
205
349
291
359
234
299
268
340
346
330
321
273
301
323
371
331
399
299
406
345
338
256
298
346
273
384
372
336
213
354
292
336
341
365
376
348
367
391
296
372
269
361
325
370
332
322
367
251
378
373
434
275
286
338
371
386
359
390
339
368
345
397
291
330
380
372
290
395
324
290
315
340
436
261
183
267
332
246
311
292
334
346
321
303
334
356
318
352
287
316
320
315
311
349
358
336
332
277
284
254
313
312
312
335
355
358
335
287
317
331
282
383
284
370
324
304
369
326
329
348
367
271
306
366
272
306
241
261
325
251
305
257
386
389
258
278
332
306
329
329
357
319
323
307
304
220
394
374
308
251
284
318
333
246
259
299
283
221
356
330
423
308
313
262
314
318
317
330
265
315
385
343
353
351
275
275
253
341
244
408
339
375
319
300
292
274
243
383
283
362
262
335
372
275
386
341
328
243
299
295
250
316
277
339
253
293
313
421
301
342
352
257
343
332
315
293
324
307
292
301
377
326
328
317
330
300
320
318
331
295
311
314
356
320
316
259
291
332
395
240
385
276
372
339
355
247
335
195
328
266
424
262
245
235
238
418
266
329
251
362
301
318
286
252
311
260
239
372
313
299
278
407
331
385
353
430
243
349
218
309
322
339
376
345
318
343
329
304
271
357
309
369
266
337
338
414
359
237
292
272
256
347
334
327
331
316
272
343
338
245
293
373
285
255
337
323
345
353
317
345
278
290
296
333
240
270
321
327
314
364
413
334
267
271
339
281
246
318
347
346
319
261
292
292
326
365
340
293
339
355
219
329
290
201
321
270
273
391
271
308
296
324
303
293
262
279
319
313
289
303
367
325
262
280
350
324
253
391
279
277
360
357
283
341
322
296
348
273
355
333
322
341
376
389
288
357
341
328
309
334
289
324
324
304
239
347
316
333
290
277
312
290
307
326
293
320
245
420
310
309
230
333
240
326
312
353
356
320
317
304
301
308
354
299
376
274
392
241
300
279
376
354
294
338
263
262
312
344
326
255
308
252
200
306
323
324
299
282
336
357
255
353
253
349
278
314
381
378
394
291
312
271
356
361
391
373
378
354
339
345
219
358
202
278
379
302
319
345
244
335
280
323
389
277
296
321
361
371
383
296
345
310
304
346
331
411
279
327
381
343
294
303
354
288
380
276
342
314
339
317
386
295
269
249
322
245
290
357
367
342
292
289
371
369
283
314
241
363
390
294
346
360
309
321
341
366
343
233
266
297
318
368
292
302
282
278
311
286
256
293
293
372
300
299
372
348
342
307
407
297
409
320
313
280
306
204
283
303
279
374
230
299
322
264
323
338
362
253
373
359
343
317
327
297
326
352
316
330
216
369
367
311
319
283
190
222
311
347
256
278
289
280
342
310
282
371
243
288
345
317
268
333
326
227
240
351
254
328
287
311
321
285
297
377
349
323
394
356
224
318
291
398
325
318
354
343
367
284
294
356
341
355
321
311
309
331
325
313
367
276
329
376
292
372
310
242
317
318
334
283
293
402
367
265
317
242
305
390
326
328
298
347
349
202
399
432
330
325
363
378
373
270
338
326
310
349
325
299
307
326
245
360
362
287
342
324
354
328
370
335
382
332
326
310
347
335
363
289
309
397
156
294
294
254
316
290
321
264
351
311
207
291
265
389
236
225
273
330
361
346
263
337
319
352
295
243
244
300
348
357
340
255
306
296
293
340
296
230
337
323
282
335
284
335
302
331
383
334
286
411
311
344
326
417
299
309
273
391
315
367
304
271
362
364
277
362
333
286
342
309
250
363
369
246
379
275
251
301
287
343
346
305
226
312
309
318
292
420
292
385
323
346
325
234
280
324
357
301
353
271
281
260
344
302
253
325
292
326
394
284
236
368
334
351
286
279
260
278
324
339
310
334
326
338
304
318
293
342
310
292
265
333
294
356
354
276
349
356
356
240
289
255
271
312
308
330
336
292
388
330
312
335
285
276
296
402
299
368
303
357
361
273
329
303
279
239
301
357
307
321
283
354
312
266
275
251
368
286
327
323
343
363
324
209
298
251
298
357
359
254
342
253
354
289
311
335
372
327
249
274
386
355
337
295
329
345
377
255
305
381
369
325
380
306
269
371
328
361
359
316
319
264
347
344
385
350
311
313
321
295
373
191
284
379
321
297
400
329
367
359
401
377
355
354
313
303
343
416
298
324
327
384
316
375
338
286
347
308
289
256
269
258
232
228
311
341
384
392
303
306
364
329
356
263
306
313
307
329
243
297
334
334
373
312
288
281
359
296
278
256
292
277
291
363
276
353
357
215
277
332
331
324
306
330
296
246
309
320
338
318
318
304
321
338
163
240
242
378
383
254
325
392
381
329
409
320
373
320
335
324
403
275
395
412
237
389
285
244
384
256
309
239
276
293
259
328
323
272
321
302
358
318
296
306
432
247
329
289
405
373
265
264
323
425
294
323
285
281
289
216
351
379
312
388
263
357
305
364
334
328
366
321
361
367
343
354
394
364
369
320
369
365
390
363
330
305
304
289
314
245
354
333
376
296
346
356
275
271
306
366
264
301
240
342
247
334
237
318
300
288
294
361
394
349
366
343
284
346
324
237
294
267
308
309
249
374
369
336
366
320
365
327
349
307
262
344
250
280
281
340
315
257
313
378
236
334
295
235
366
269
314
304
297
399
273
385
378
330
314
284
345
425
309
310
335
253
293
334
316
328
364
313
311
311
370
325
319
221
294
374
357
270
355
325
370
346
298
232
329
286
347
314
342
270
303
253
296
313
313
259
272
369
278
354
380
348
230
340
324
324
342
349
317
362
276
276
347
278
298
255
315
301
287
328
338
292
260
301
217
297
238
375
315
252
318
337
282
267
329
325
297
349
349
360
252
326
279
296
305
347
262
329
382
336
307
364
346
305
321
283
348
292
390
336
319
281
384
236
335
327
410
327
319
262
334
264
315
229
357
323
285
336
290
353
358
331
372
278
268
237
339
384
341
354
347
366
345
302
378
320
303
288
274
301
359
395
296
245
381
358
367
297
437
287
376
345
418
371
360
378
322
309
293
296
298
374
378
257
343
305
334
313
292
283
284
297
341
314
412
282
356
335
349
271
286
314
268
348
302
290
315
343
302
270
281
269
250
344
283
388
303
289
263
349
262
254
290
348
314
333
347
273
310
373
300
340
315
261
293
369
389
319
337
401
332
343
271
364
255
325
321
304
319
330
350
319
287
337
337
268
304
298
256
359
199
253
276
355
336
292
303
244
295
335
388
261
299
364
302
334
333
313
311
302
323
283
291
332
374
236
290
258
328
328
290
316
304
324
222
345
390
332
306
282
328
374
314
342
392
344
326
289
300
339
373
273
351
296
332
298
304
307
324
337
349
313
319
299
265
300
330
359
340
371
327
307
300
323
377
387
307
315
332
253
403
344
264
355
345
364
306
268
370
326
297
317
305
328
347
291
334
351
334
321
348
267
285
341
358
320
264
313
313
285
323
318
289
292
352
275
319
337
377
342
259
350
278
364
375
394
380
378
309
296
411
275
221
331
373
305
254
363
344
276
362
308
348
276
290
342
410
290
277
337
307
230
340
343
326
318
322
308
383
293
393
313
237
342
320
329
340
351
347
367
215
229
337
335
296
348
301
341
342
330
311
238
372
398
282
261
363
369
375
371
208
342
343
280
298
307
287
320
292
316
305
271
350
273
231
307
371
332
285
319
268
303
366
288
362
289
252
331
404
346
359
267
322
341
369
277
326
273
261
263
325
271
281
317
299
308
263
352
300
346
403
369
390
275
289
362
322
332
310
292
348
317
315
308
324
420
413
271
387
295
280
281
253
411
279
261
264
314
311
364
336
320
366
363
341
311
341
313
315
326
312
363
307
325
289
289
347
315
270
358
313
313
454
349
321
418
222
352
294
287
206
268
311
352
362
286
311
273
274
370
261
280
285
290
326
340
380
353
279
317
304
349
340
386
294
344
392
339
311
337
280
380
291
283
367
272
315
318
364
233
269
281
320
323
364
272
358
335
350
284
412
303
363
415
340
227
292
339
321
284
389
347
370
363
296
370
402
263
277
340
382
281
279
290
388
343
245
400
365
274
375
277
315
342
265
272
348
266
341
329
355
242
334
262
397
312
293
366
294
319
365
281
280
361
345
342
293
286
326
250
365
328
317
344
275
242
324
332
311
275
251
326
290
321
293
266
306
274
277
289
361
291
334
388
292
269
442
325
335
320
292
230
320
266
266
328
275
369
367
338
318
370
315
349
374
322
331
368
369
273
277
268
315
307
381
301
246
233
367
311
214
309
260
337
323
296
281
344
288
378
283
263
309
318
311
252
381
265
339
321
283
283
362
273
370
359
248
279
329
278
274
279
376
266
258
351
282
269
287
377
313
261
349
283
353
354
357
363
276
424
293
291
342
272
342
306
323
327
325
290
365
306
324
358
360
306
309
345
258
244
352
222
315
322
351
364
304
273
317
320
355
321
312
318
332
376
306
299
338
271
296
315
304
377
248
389
317
303
326
404
301
315
322
340
283
308
337
322
363
308
303
288
262
319
345
302
293
391
364
343
289
312
263
269
353
311
333
319
276
333
348
335
307
365
350
303
296
236
255
354
339
377
397
376
295
363
351
309
383
271
321
365
330
389
316
380
318
331
209
418
287
345
347
277
297
268
266
353
276
312
319
336
355
311
324
263
308
282
405
297
375
338
350
378
251
288
284
291
330
265
359
328
340
339
358
309
331
265
306
386
332
194
264
332
248
326
310
341
324
330
298
327
262
318
366
231
330
382
303
328
343
321
303
341
342
322
322
255
293
300
321
326
312
369
348
294
327
332
253
372
381
358
261
293
191
327
279
310
306
347
381
356
316
196
255
261
291
353
248
333
342
342
350
296
319
302
265
294
377
310
272
309
432
342
296
335
349
326
388
341
379
337
283
240
341
359
259
298
307
420
413
326
392
339
263
290
269
335
302
367
288
242
276
371
380
329
299
371
367
343
363
299
391
287
359
340
303
353
308
340
326
311
319
270
342
268
348
254
274
392
341
394
304
300
322
246
313
302
304
277
288
301
304
374
328
357
172
379
345
343
291
294
367
388
309
360
286
314
292
264
305
284
335
337
329
399
316
353
200
290
373
307
272
237
387
332
339
406
268
318
350
279
254
349
310
311
360
258
335
291
356
238
346
323
380
306
316
231
286
301
398
369
317
285
336
370
299
342
285
283
235
346
289
354
263
316
374
278
250
296
231
183
273
347
367
236
331
277
252
306
311
393
356
288
230
363
313
315
274
317
329
310
327
345
240
310
229
325
295
311
361
343
343
308
273
337
340
342
302
303
205
241
346
299
347
334
385
343
299
275
273
378
367
317
305
361
335
276
346
315
314
233
300
293
291
299
250
251
294
375
301
328
272
360
332
317
339
283
263
402
398
309
377
270
352
358
331
339
306
367
325
277
399
259
323
272
378
283
364
294
261
285
397
291
292
391
267
298
296
367
316
340
381
330
271
314
280
378
320
235
328
289
289
316
257
345
342
296
347
266
334
293
282
322
304
337
278
349
314
267
330
335
291
290
357
233
341
290
277
319
263
268
273
315
298
305
325
371
333
255
266
368
310
358
404
320
256
287
344
325
260
313
349
257
357
345
321
373
260
342
310
324
352
364
309
263
290
302
241
356
332
283
296
217
315
308
367
338
229
323
387
323
286
330
279
288
314
325
285
340
280
273
344
300
299
389
294
256
313
346
315
226
286
300
296
292
328
295
377
295
314
276
363
274
295
237
309
238
273
329
252
231
240
346
320
278
232
259
367
333
258
246
285
329
288
369
302
415
367
270
344
275
292
304
359
373
370
258
342
269
295
311
329
352
299
246
323
274
316
314
297
363
307
292
309
257
283
295
364
204
327
307
353
236
335
248
379
316
328
254
374
286
361
333
393
340
365
243
332
377
325
246
309
302
332
342
405
354
346
291
301
262
256
384
340
324
313
395
311
333
313
343
269
231
363
294
347
331
302
305
382
360
312
327
360
362
347
273
301
301
337
392
335
294
313
290
293
345
268
265
361
294
267
261
311
282
416
285
234
354
299
255
290
316
237
271
304
238
340
366
264
261
320
374
276
295
378
269
323
318
244
310
281
322
385
323
375
346
280
356
216
367
309
271
281
305
343
334
290
296
348
310
372
334
216
331
290
291
280
294
338
347
403
296
347
363
368
359
273
325
328
319
295
285
346
338
310
283
253
351
288
330
287
326
241
368
393
227
353
292
268
302
307
388
243
336
328
318
327
365
208
355
341
296
274
304
332
314
377
384
320
360
308
320
292
265
371
267
322
307
228
253
326
309
357
332
339
297
304
360
347
297
334
387
305
343
345
344
354
264
270
295
302
367
276
348
443
295
289
370
320
385
319
288
257
337
286
318
271
398
301
322
255
330
360
304
295
320
314
289
353
292
346
374
263
288
343
363
320
332
330
307
342
337
366
304
264
386
293
248
264
356
320
254
316
302
312
275
240
355
287
248
357
290
338
248
365
399
294
407
263
263
315
319
333
332
242
262
262
247
276
316
335
308
395
352
326
356
295
326
391
293
345
283
233
310
341
234
238
268
262
391
282
339
310
321
328
337
316
329
325
332
288
380
318
315
289
299
350
222
379
317
272
275
266
324
337
384
277
266
403
228
315
281
292
334
276
414
288
327
290
359
275
278
266
212
372
286
351
309
381
390
352
278
350
334
328
331
323
353
255
381
379
383
321
250
376
323
339
326
266
260
364
399
387
314
319
301
218
313
376
360
407
395
384
319
240
354
315
309
300
356
341
257
324
310
341
321
339
412
399
352
253
284
361
312
334
243
376
374
354
310
381
228
333
352
374
298
247
300
322
333
326
321
356
295
371
201
280
344
314
318
285
316
320
312
276
330
287
316
285
288
346
215
315
284
368
331
275
330
378
294
289
347
375
295
320
256
332
355
341
309
327
321
306
289
330
298
319
366
391
328
367
283
392
313
280
315
401
248
300
322
403
274
279
333
252
236
230
353
354
371
382
364
376
344
249
255
272
306
299
272
367
341
266
296
361
354
315
303
344
376
316
342
361
231
228
347
227
253
292
196
390
373
323
302
311
312
354
320
311
348
362
400
332
335
282
369
351
374
375
346
355
395
258
264
372
312
393
280
251
316
293
337
227
258
345
322
321
322
361
390
317
305
374
322
306
309
382
297
253
304
242
283
266
265
287
308
334
342
331
378
347
275
295
356
327
313
325
367
368
260
258
278
282
358
319
314
317
375
328
331
390
284
350
388
296
308
290
244
272
251
327
361
304
269
383
378
377
311
302
387
291
369
385
357
325
293
283
253
282
329
300
356
281
250
393
321
205
288
376
310
333
281
352
264
271
340
260
316
318
319
326
352
334
357
320
334
300
370
360
336
305
318
238
247
254
355
308
320
282
323
306
319
318
311
302
352
234
282
282
364
349
384
334
314
328
260
298
288
309
259
297
346
342
239
301
368
331
356
300
361
326
346
309
324
370
282
258
335
303
329
425
303
293
339
281
290
349
364
234
348
239
377
364
278
366
332
361
309
332
329
220
322
338
322
291
309
284
351
365
330
324
364
288
385
347
301
409
273
273
234
382
299
357
340
269
365
353
406
323
373
289
351
393
235
388
387
337
320
282
326
362
316
303
315
281
379
347
289
367
327
325
354
354
411
267
311
314
296
295
394
266
265
299
347
344
328
307
235
337
271
312
368
316
321
272
371
272
344
316
354
292
348
335
245
368
250
334
412
247
236
320
221
336
339
321
284
301
345
370
290
315
389
278
298
314
302
287
290
316
408
209
271
339
329
271
316
281
246
297
310
350
382
319
351
343
345
252
296
253
326
325
269
334
368
242
240
373
384
327
356
260
469
365
314
305
390
428
218
297
330
333
301
366
271
334
330
310
320
168
302
304
288
305
293
319
323
329
324
279
370
345
307
330
293
328
288
280
303
338
288
269
307
291
326
377
304
334
336
313
347
411
409
390
317
342
279
314
364
391
258
365
282
301
273
309
377
334
282
284
354
396
394
438
251
274
322
300
299
287
399
332
364
376
244
261
342
355
243
321
299
344
370
317
344
344
288
400
303
299
350
290
363
219
286
282
251
344
210
297
292
277
278
331
334
340
324
359
330
270
373
332
272
347
295
239
390
331
276
308
238
371
289
335
392
250
282
270
276
341
349
351
328
358
346
345
315
296
308
339
284
334
254
367
247
316
321
321
334
409
267
287
332
365
395
332
283
333
315
356
343
358
311
318
311
289
351
300
307
328
375
328
280
294
339
360
309
375
311
300
384
302
399
300
420
342
321
315
245
300
339
282
304
300
307
347
287
357
295
310
335
294
325
287
383
270
350
366
394
414
286
347
357
305
324
366
300
329
343
298
342
321
320
392
323
317
206
349
296
283
374
278
263
298
333
272
339
269
298
286
298
338
274
282
313
388
354
309
366
222
332
336
337
287
270
254
233
357
393
334
215
428
300
333
343
315
331
297
309
352
221
325
282
369
322
276
369
303
380
299
266
323
252
320
296
302
342
288
302
280
295
367
285
353
306
308
309
384
278
371
288
284
299
317
341
283
353
350
366
374
372
269
308
384
320
419
356
270
294
220
365
364
369
360
388
315
278
298
315
374
277
290
275
265
320
240
329
326
281
273
335
388
268
319
344
392
340
267
286
303
349
282
328
327
299
284
314
374
266
361
300
343
367
368
340
284
299
329
246
424
307
289
388
249
425
323
278
304
220
257
324
281
348
348
295
380
349
377
316
384
399
314
270
302
308
216
300
246
312
313
310
363
338
300
279
396
326
228
301
296
341
239
244
305
298
282
330
343
341
297
336
292
314
313
288
360
295
281
362
301
376
325
381
350
236
277
383
288
293
335
335
297
393
357
353
322
239
328
206
288
309
298
182
322
329
363
337
356
226
324
309
302
316
379
331
302
294
342
325
274
392
343
312
300
307
325
281
330
397
368
376
315
335
309
283
380
297
369
265
304
309
401
255
339
372
265
297
407
291
318
300
279
322
299
384
312
306
228
289
263
228
254
217
354
286
346
291
323
221
331
322
332
391
277
403
248
308
290
386
245
388
331
224
291
387
296
313
350
262
437
293
316
278
346
294
310
239
299
321
340
275
342
357
290
339
383
343
300
409
317
292
308
322
325
295
370
252
330
277
309
315
314
318
301
225
299
290
346
383
299
287
367
281
316
301
267
346
296
394
280
218
232
382
214
272
267
444
315
325
281
245
353
222
349
303
278
292
247
288
370
392
316
363
351
302
317
260
364
293
275
369
342
328
322
242
340
380
403
304
350
267
328
307
335
292
362
282
287
199
387
297
276
228
354
300
370
299
340
306
337
362
315
325
378
299
346
306
338
280
370
374
359
305
363
336
345
265
396
297
291
369
367
285
375
311
350
291
289
295
294
282
284
352
376
236
293
228
296
347
263
300
388
389
291
356
361
261
321
278
336
392
328
308
339
347
362
282
425
226
290
347
337
330
356
352
384
362
356
313
386
316
326
329
353
314
333
353
242
332
276
315
174
306
279
251
388
325
266
296
332
374
300
258
287
363
262
216
317
298
262
352
382
271
352
222
390
295
305
338
333
264
282
274
354
298
316
315
396
330
331
270
348
262
350
305
379
259
358
346
341
312
367
367
275
240
372
449
262
304
375
351
312
364
266
370
336
357
360
295
267
269
286
331
214
319
375
297
281
305
324
333
271
270
288
400
330
249
344
311
259
346
256
368
310
303
317
332
256
248
280
326
329
283
344
361
356
353
413
327
348
292
413
342
365
329
293
367
365
367
342
350
343
364
244
392
298
279
260
313
397
368
329
365
332
373
274
308
239
364
369
246
301
305
341
368
271
389
254
287
220
264
223
340
277
340
217
290
283
277
257
346
313
347
352
278
291
264
353
319
415
297
250
312
389
281
298
286
272
250
258
297
345
373
313
344
295
345
341
257
319
352
367
386
218
279
278
334
259
353
282
376
257
328
304
369
256
349
283
292
288
315
284
213
325
307
336
360
364
318
260
344
261
333
309
383
371
308
365
325
293
305
314
264
362
342
342
289
360
306
251
389
259
341
343
404
291
246
339
381
333
328
388
418
299
299
340
311
308
381
377
284
258
237
405
387
415
327
263
336
375
244
311
245
357
284
387
335
269
300
289
368
317
316
299
287
369
435
322
318
258
268
314
295
353
380
355
333
330
283
414
252
291
309
354
295
302
275
335
395
321
366
320
339
324
300
342
278
265
360
311
364
306
328
298
260
259
412
297
364
296
363
291
411
382
286
315
316
246
344
347
255
354
240
294
274
297
224
332
304
313
293
344
331
341
319
352
337
363
357
279
321
239
277
317
286
353
300
384
315
260
338
358
290
314
285
384
300
334
330
261
330
319
287
334
275
406
375
338
246
307
240
343
289
389
338
345
350
295
319
318
294
292
311
325
296
300
282
261
267
295
289
319
325
256
288
261
316
282
331
277
363
349
264
275
374
305
330
259
357
295
356
358
393
318
317
311
261
294
271
360
320
321
273
303
262
241
299
423
233
291
320
303
307
241
351
275
387
300
333
340
330
366
275
291
349
251
236
274
344
247
361
283
339
337
362
334
310
263
378
322
295
313
306
281
299
411
317
334
257
352
292
378
347
361
332
311
245
296
338
312
283
297
229
271
333
284
268
355
304
243
321
294
322
356
313
401
299
320
376
322
325
274
350
332
261
266
324
360
303
274
369
303
225
301
346
298
373
340
302
330
220
267
326
350
257
333
324
317
298
309
292
343
314
290
320
272
287
329
401
364
344
365
313
298
386
298
360
329
355
268
387
286
303
365
367
318
299
296
321
307
352
271
406
290
203
350
305
363
324
289
282
336
246
354
300
364
315
338
305
336
352
363
334
331
281
405
312
304
338
256
290
349
349
310
400
311
318
336
318
328
377
332
354
357
269
257
395
311
321
302
326
342
282
283
298
242
376
266
379
301
316
243
403
324
350
318
282
262
330
290
363
182
268
374
249
370
340
372
355
387
325
272
326
357
253
301
327
268
347
249
407
233
306
356
255
359
380
368
325
343
307
376
319
332
367
261
370
284
353
368
207
289
351
279
358
292
385
340
322
341
286
304
279
311
293
287
297
391
233
302
304
334
308
283
384
287
328
315
418
323
281
272
288
302
309
309
325
361
348
240
236
330
313
288
344
295
249
270
276
286
283
345
249
315
366
388
291
284
331
195
369
358
212
301
279
312
322
282
276
312
244
361
305
253
303
270
261
351
288
255
296
303
272
367
327
372
379
342
359
295
268
331
308
296
282
329
375
257
329
295
309
367
316
350
305
320
345
291
333
356
320
298
373
341
349
331
310
317
266
342
268
257
269
332
324
380
443
300
386
299
322
395
305
366
335
407
225
258
215
365
326
289
338
308
390
298
455
357
280
322
335
278
239
311
366
333
377
285
350
279
249
237
395
300
340
206
306
300
254
295
232
273
219
380
270
382
283
358
331
314
281
327
364
296
324
321
392
356
240
375
330
356
301
298
357
278
310
363
349
299
375
289
290
326
226
317
327
360
266
295
335
220
358
329
339
316
405
378
396
233
295
297
314
295
361
266
315
341
245
347
313
375
286
375
366
275
261
333
300
297
289
346
234
285
329
286
326
399
315
275
264
218
323
298
328
249
334
353
311
314
290
301
311
309
349
290
369
332
353
322
285
359
327
319
444
300
376
340
399
279
272
231
273
338
346
206
359
379
352
371
338
377
417
331
266
315
315
351
335
235
359
349
329
329
293
265
267
274
244
308
328
324
373
329
269
346
330
309
300
321
339
306
299
313
327
275
294
330
347
317
272
280
326
326
351
314
363
322
334
232
330
311
342
333
317
266
317
360
363
290
279
218
346
329
377
320
341
349
324
327
276
350
270
270
314
335
252
331
331
318
217
342
272
378
269
213
203
378
257
331
307
336
370
360
306
313
350
280
286
274
303
246
349
349
391
287
296
366
241
307
293
281
241
248
300
423
288
273
318
298
318
342
353
267
257
329
304
293
271
285
328
313
382
371
291
323
321
304
325
374
326
238
319
279
285
260
377
374
350
349
350
360
334
384
398
288
345
326
243
224
317
297
242
353
267
322
328
347
333
367
368
285
286
315
303
318
346
357
331
237
339
342
397
292
222
280
328
314
340
278
361
270
318
239
291
327
306
333
320
373
317
338
318
310
320
298
374
317
313
312
315
295
312
284
304
275
286
323
361
347
353
294
324
393
358
357
347
364
285
367
330
279
333
358
285
288
395
355
310
243
355
313
288
307
312
330
357
328
320
309
357
359
357
279
303
213
297
455
313
325
283
322
278
268
287
338
303
311
296
283
373
318
331
232
358
265
325
355
273
313
336
363
299
334
318
264
301
301
320
271
392
305
365
329
315
302
174
266
280
305
316
320
323
360
249
312
321
214
385
442
357
259
254
348
311
314
318
295
332
357
385
436
264
319
377
287
335
336
415
339
355
278
378
276
272
309
331
335
325
260
350
289
266
278
317
316
271
350
349
241
286
293
307
268
322
274
340
206
259
297
353
373
295
273
311
330
270
336
272
237
312
271
231
321
304
284
341
256
273
286
259
288
248
339
299
281
341
307
222
371
230
357
317
336
277
264
304
336
302
256
292
320
329
329
351
327
347
348
355
307
307
353
316
403
292
303
201
324
303
358
283
416
296
305
265
355
278
284
320
374
297
265
325
315
254
331
338
274
337
285
319
362
361
360
320
280
266
292
218
347
241
298
331
244
337
330
320
290
270
322
295
340
293
268
331
343
356
275
333
282
388
318
344
299
305
281
351
315
312
345
319
277
323
325
209
315
347
310
329
377
271
282
279
264
390
244
309
281
332
289
285
278
291
244
329
327
304
312
292
262
344
283
276
358
339
351
341
362
348
382
338
340
320
362
308
335
297
318
336
202
203
293
374
245
331
285
248
328
277
362
312
260
307
321
377
323
374
304
314
323
270
290
351
344
228
325
368
354
391
344
300
359
410
358
302
312
334
348
160
275
297
342
360
293
381
275
282
302
291
350
333
313
306
335
378
234
297
321
284
380
359
444
392
293
306
265
307
260
331
362
251
309
332
293
405
359
227
280
284
264
364
263
243
366
405
312
279
344
321
375
259
374
235
238
357
313
352
337
305
320
344
253
292
374
325
382
384
316
305
344
285
307
347
364
286
335
336
285
311
322
247
320
318
306
326
211
309
351
289
376
259
401
358
347
275
344
353
380
252
395
354
312
402
258
299
272
369
396
308
339
342
247
262
340
254
364
292
242
365
248
277
338
335
292
390
354
344
271
335
414
372
326
269
324
384
283
361
412
337
281
389
314
256
303
398
352
315
292
419
313
317
295
244
329
280
344
410
329
333
364
294
323
387
380
365
311
331
400
324
374
304
363
364
411
332
287
229
335
349
327
215
341
286
314
381
325
271
268
360
296
336
293
313
268
211
303
295
273
291
356
258
261
338
315
299
281
354
302
279
313
326
378
287
352
261
333
354
262
330
341
350
331
284
317
362
269
296
352
275
292
291
318
333
338
363
218
353
391
367
373
225
325
334
341
262
343
283
349
332
252
307
359
360
342
280
318
370
341
276
320
362
356
259
281
332
257
273
319
323
299
277
255
290
320
271
405
305
297
312
329
303
286
274
353
323
293
370
334
326
249
254
195
341
286
275
348
347
321
317
405
262
418
295
344
331
232
315
290
366
273
273
358
275
283
305
291
312
255
249
330
347
415
261
342
335
297
264
342
260
335
275
303
318
293
302
271
418
333
362
279
314
317
292
399
260
322
303
324
327
326
320
334
275
342
311
213
262
275
283
237
365
314
419
327
265
286
404
350
358
340
249
304
337
310
243
229
302
302
351
256
376
289
280
255
343
350
319
266
379
238
367
328
310
305
311
337
323
351
297
347
242
343
338
339
290
282
248
277
366
347
346
350
345
247
303
279
363
335
342
322
319
336
337
361
275
365
306
233
355
388
413
233
341
339
312
297
336
274
287
352
297
352
188
324
265
270
327
327
261
238
295
313
384
316
378
279
293
329
341
227
262
296
281
299
312
348
347
296
371
295
328
294
348
303
347
261
299
278
299
251
380
305
350
396
291
305
383
305
313
321
299
376
323
315
361
310
329
329
277
293
264
236
331
347
339
327
236
296
331
349
308
383
317
302
322
364
267
335
382
310
284
296
341
343
290
294
284
334
266
315
285
189
294
333
303
333
339
280
318
300
322
378
320
405
309
295
352
298
273
384
327
330
326
305
385
349
327
323
286
349
335
249
246
285
267
281
266
285
336
322
332
336
307
355
350
317
323
277
348
324
350
300
288
348
351
318
285
285
324
423
303
302
264
217
347
300
202
297
243
300
332
374
318
320
327
310
260
290
240
380
264
313
289
217
401
214
224
396
291
320
378
349
377
375
359
402
318
371
261
279
232
362
313
345
304
276
364
367
338
275
316
393
240
313
364
262
283
247
336
368
307
332
329
387
214
312
251
273
372
316
301
278
242
348
337
242
360
256
328
346
269
352
293
303
348
261
362
288
263
308
270
254
277
299
355
337
297
338
360
312
294
306
223
230
365
406
354
307
265
296
299
339
277
253
255
368
338
348
293
349
378
357
307
266
273
281
302
331
315
245
266
278
403
355
349
320
171
290
347
289
310
204
276
338
405
315
214
282
359
277
320
274
333
295
232
307
277
283
333
308
307
397
361
376
372
307
333
317
353
260
397
330
351
371
293
343
363
383
330
265
330
288
232
339
326
308
347
322
308
366
300
374
324
189
332
368
350
306
352
366
352
342
309
332
345
344
317
362
329
369
280
371
366
400
357
282
340
305
349
373
297
315
321
366
304
310
315
212
294
334
353
283
263
273
293
250
360
241
352
363
250
299
274
324
352
362
270
305
327
335
279
376
302
338
300
280
298
367
358
312
294
407
325
248
297
307
374
341
319
312
285
333
333
281
335
361
317
306
239
356
355
286
368
389
404
371
351
338
290
251
321
347
252
283
379
296
380
373
304
374
278
342
238
377
316
279
255
356
328
251
323
333
327
296
309
341
289
346
321
272
270
310
246
278
309
263
410
315
287
348
315
317
307
330
307
229
324
286
273
359
212
313
378
346
338
400
248
359
305
319
398
333
345
289
317
276
261
248
237
277
370
349
274
398
295
313
338
375
362
372
329
302
306
325
266
329
330
317
345
339
329
275
265
316
302
265
388
282
181
327
186
264
385
239
333
242
313
265
296
326
310
408
291
234
386
337
257
398
367
261
356
310
340
387
284
332
294
350
277
415
360
188
308
382
243
292
398
333
289
264
331
288
276
278
430
296
316
347
372
313
293
336
345
361
330
277
286
303
334
364
297
260
354
298
271
355
281
334
387
329
365
345
396
332
321
348
283
346
379
337
333
310
326
379
313
304
300
322
279
308
276
317
304
424
426
242
271
307
303
287
331
283
318
324
298
346
254
376
405
420
408
322
323
305
246
354
325
319
404
354
350
328
291
355
360
375
347
320
352
351
283
378
291
305
300
376
331
271
330
396
256
263
364
333
336
360
288
379
355
202
296
354
336
349
302
316
329
285
373
271
283
263
262
325
311
279
380
263
325
355
249
392
274
437
348
299
297
313
425
205
311
382
317
270
346
340
311
315
291
270
348
360
354
423
252
424
346
361
339
329
360
346
369
347
303
331
327
319
335
331
354
292
206
373
316
346
468
278
318
387
295
369
282
340
350
368
359
361
362
217
373
379
306
284
324
341
274
355
416
412
337
273
303
292
327
269
357
345
322
307
328
286
309
333
354
329
380
188
321
243
333
289
286
365
276
349
270
339
290
252
345
324
369
280
358
384
275
289
329
338
336
254
309
353
303
358
302
306
348
361
254
304
353
359
287
313
365
307
348
363
369
327
318
368
307
352
335
338
382
250
357
319
400
333
329
331
405
378
303
232
349
323
251
273
320
279
421
369
363
335
312
363
236
339
270
252
331
328
198
269
277
251
216
307
376
370
304
330
303
286
290
327
333
381
335
382
347
362
316
271
379
286
405
307
361
347
375
306
350
312
290
241
315
214
273
292
390
359
359
314
266
297
332
241
286
360
340
284
307
343
372
351
243
291
288
351
306
261
350
295
296
289
326
355
207
234
345
255
281
384
321
330
241
303
311
319
302
299
319
370
345
284
358
253
261
359
327
285
352
225
340
332
266
360
248
327
390
345
243
347
376
338
268
338
280
315
344
386
382
293
351
325
331
331
375
301
278
355
302
363
298
317
359
283
318
333
316
314
393
293
338
313
232
275
263
357
311
336
240
292
366
325
236
297
306
363
368
311
340
342
317
355
374
289
353
299
341
353
364
328
336
327
307
297
330
409
354
311
316
292
348
277
298
309
320
323
277
310
256
369
378
316
356
427
253
273
373
270
248
332
288
350
325
299
345
225
292
254
357
338
356
365
394
318
330
255
342
292
310
340
274
361
337
423
292
315
321
272
289
357
394
298
289
304
349
159
245
363
353
357
307
327
278
309
333
280
238
312
392
368
295
272
290
368
359
336
329
314
296
324
276
384
360
387
299
269
379
334
259
224
242
311
241
333
224
359
368
346
249
313
330
284
320
371
301
282
342
348
343
303
383
361
297
350
268
266
367
341
377
309
362
386
359
295
380
292
339
337
360
415
342
383
345
287
349
393
372
208
362
399
343
238
330
289
275
270
377
273
280
379
382
285
338
368
311
325
330
333
353
310
327
258
352
323
315
300
335
305
240
346
353
320
378
336
306
311
481
419
380
373
326
342
317
347
315
293
342
319
299
302
297
314
280
247
334
323
336
316
278
382
344
324
262
330
344
239
320
297
265
337
360
270
334
260
266
356
319
349
335
210
269
346
402
334
304
280
238
304
298
309
273
269
401
340
326
324
324
333
308
334
348
376
354
301
238
297
226
268
398
260
326
331
343
323
357
288
295
292
299
297
327
193
336
386
284
389
329
366
297
346
287
312
342
329
396
288
359
349
345
386
297
246
325
317
308
318
341
328
428
284
243
233
368
348
361
319
295
300
296
232
282
290
355
379
366
304
319
294
348
238
276
251
261
305
377
288
363
287
297
314
328
286
413
314
297
384
351
407
340
353
315
349
313
357
334
389
283
281
404
211
308
293
334
266
365
319
324
362
296
352
346
282
285
237
382
288
315
297
255
227
358
360
390
324
276
330
336
341
352
314
298
331
241
285
229
307
366
290
262
351
321
321
289
330
279
280
336
292
420
385
358
348
400
204
313
306
259
350
369
327
387
364
319
419
351
431
267
332
335
246
369
357
327
349
310
260
338
255
272
270
253
269
279
357
316
248
290
359
277
313
280
374
402
260
326
374
265
409
308
283
315
255
346
388
256
316
357
351
310
319
248
319
281
342
382
302
281
362
295
258
298
350
394
275
391
283
322
339
400
295
274
286
318
342
247
339
411
315
308
300
247
408
333
258
292
331
288
356
329
285
294
325
413
349
317
313
363
338
400
308
307
328
316
350
325
303
396
329
309
354
292
360
294
257
321
367
414
309
253
355
341
268
328
307
247
226
292
308
346
316
349
425
285
331
336
306
315
237
306
244
332
318
230
344
418
329
349
258
309
315
326
290
386
261
267
288
343
256
354
330
278
233
344
371
415
289
301
344
268
297
237
336
330
286
258
386
255
361
283
192
343
374
317
333
343
359
193
324
272
360
329
293
328
308
241
360
310
332
272
332
247
250
268
329
280
264
266
384
437
340
328
327
307
348
332
336
354
275
294
251
252
247
361
275
254
373
271
270
305
308
231
339
371
289
287
309
317
303
388
258
354
379
356
272
324
294
357
370
390
428
342
272
378
322
332
300
324
270
284
288
246
294
351
286
322
327
307
341
274
315
406
267
250
265
330
299
372
379
370
298
346
246
359
337
234
324
228
314
287
264
352
289
376
371
359
272
283
348
337
300
306
362
388
169
342
260
335
286
325
326
331
308
276
276
289
421
270
318
262
242
282
341
273
375
261
338
318
310
301
270
306
317
315
314
315
285
336
367
345
229
281
319
316
302
281
385
274
343
405
342
262
341
329
320
350
257
369
296
330
290
309
338
320
398
330
354
302
339
320
283
294
218
401
401
382
376
329
340
354
354
317
339
267
246
339
236
390
372
332
362
367
328
348
349
328
319
403
331
376
308
309
279
288
239
291
300
366
307
337
301
279
354
292
386
387
321
276
406
382
349
341
300
322
357
309
364
327
303
323
317
351
373
287
275
300
348
365
297
277
360
353
316
279
300
317
211
302
319
250
290
335
314
326
287
324
371
365
336
314
308
291
317
206
349
369
375
276
274
301
280
350
308
331
374
440
340
340
345
322
376
389
302
303
320
282
322
251
333
338
304
362
303
366
334
299
351
335
320
331
350
275
324
323
282
353
291
424
285
371
297
296
312
375
258
309
350
308
294
374
285
301
282
350
274
333
344
335
340
213
336
384
405
347
301
343
368
297
299
250
355
390
286
318
322
238
264
366
282
309
246
363
389
328
294
206
410
324
275
334
245
304
284
417
262
270
322
266
331
313
337
352
381
449
385
323
261
260
290
363
338
312
382
287
293
322
343
362
268
350
264
348
266
349
337
371
342
297
357
363
290
265
294
334
344
245
333
303
374
332
340
228
272
277
346
359
377
288
338
338
318
303
331
374
320
288
364
342
202
361
361
285
266
206
280
266
274
252
291
230
418
290
351
323
331
320
373
301
201
380
330
403
356
333
251
250
277
333
300
273
379
336
290
326
267
291
316
323
288
380
336
243
265
417
346
362
214
307
257
300
176
394
396
286
408
369
338
267
360
435
387
207
264
309
288
289
242
393
299
285
343
305
319
312
340
380
304
247
347
372
313
232
393
359
356
271
358
332
320
335
326
394
298
211
397
368
393
338
351
328
318
329
352
233
326
367
341
314
299
244
275
307
336
376
313
324
246
321
333
331
292
298
381
297
326
438
342
409
272
271
391
326
241
308
332
313
334
392
411
326
383
237
377
349
277
342
417
313
403
388
301
225
315
340
382
234
355
313
362
235
351
367
300
343
314
281
288
337
305
333
342
310
342
264
335
287
347
323
373
370
267
339
318
261
356
268
330
378
315
276
344
315
293
320
336
335
320
325
328
321
310
282
352
312
279
367
321
283
274
335
356
294
385
365
243
343
341
302
282
330
323
269
338
356
301
271
267
353
274
385
333
335
257
345
264
313
370
366
271
266
278
315
252
285
409
223
297
245
311
295
287
284
304
351
318
349
258
321
328
358
240
297
354
388
358
315
259
204
356
275
295
332
322
290
354
289
341
334
283
322
255
323
312
294
326
259
299
309
350
334
319
301
246
255
333
323
330
309
272
335
352
406
327
315
314
297
409
299
323
374
316
352
294
377
278
397
295
298
269
339
384
384
327
325
304
293
332
343
258
410
354
313
213
248
281
331
275
294
240
258
359
312
282
298
272
294
373
304
323
297
341
368
319
399
306
313
274
341
286
287
282
321
429
327
358
331
270
350
311
232
390
286
360
343
326
290
315
257
307
261
330
330
303
266
324
226
329
322
351
303
294
379
318
330
259
401
347
224
356
346
361
286
273
308
370
212
304
316
271
317
303
312
346
315
358
248
316
293
363
257
369
352
314
259
184
301
338
373
341
286
292
291
287
367
277
353
315
317
309
345
347
305
276
350
259
322
336
371
344
297
360
346
337
408
269
345
347
377
329
390
293
318
367
352
358
311
298
362
331
300
362
305
352
305
326
437
347
332
347
386
346
343
365
290
308
344
382
373
343
325
364
295
306
316
306
318
392
307
304
378
355
290
301
333
370
244
342
302
313
218
293
277
363
423
401
299
333
315
309
288
237
247
308
310
262
368
297
344
373
325
329
309
302
234
332
324
326
378
345
329
392
291
330
382
282
252
321
287
331
306
378
299
342
281
312
333
359
333
268
266
317
378
327
388
288
251
368
259
301
265
303
265
269
282
305
267
394
380
365
380
310
327
403
264
305
280
329
279
295
376
289
329
318
277
296
297
345
213
285
294
378
264
275
282
261
333
234
277
329
381
280
377
353
271
303
304
289
312
344
370
255
317
305
272
292
338
332
295
282
369
355
384
347
228
318
376
290
349
286
261
304
277
300
322
354
333
343
328
335
284
247
293
277
298
301
343
320
274
363
282
247
374
345
285
317
329
397
280
279
333
298
276
321
349
350
322
412
360
424
336
303
270
329
278
306
354
324
385
306
272
337
319
238
290
309
348
291
324
351
345
261
289
304
329
339
309
263
402
319
345
343
350
281
314
297
354
254
349
311
216
336
315
357
338
345
265
309
292
307
346
288
293
363
348
288
275
342
266
279
264
247
386
295
329
265
291
272
283
293
367
277
326
334
303
317
412
387
284
298
322
309
322
296
239
438
219
354
381
357
386
365
383
237
271
370
267
322
264
294
255
331
249
355
320
244
280
286
307
340
276
349
310
419
394
249
352
308
219
305
197
349
333
351
276
433
392
317
313
316
260
340
329
260
353
364
320
269
317
319
347
320
298
336
290
269
226
249
342
368
235
311
268
272
279
282
278
364
401
341
294
302
314
345
332
296
306
305
309
301
302
377
310
372
319
341
257
257
285
247
337
276
319
353
291
315
359
309
421
317
323
300
317
304
309
305
286
320
381
300
270
245
313
350
307
333
359
300
313
283
345
247
270
341
405
359
349
277
352
349
271
316
310
376
310
426
293
330
432
262
376
324
380
268
314
315
340
257
296
252
288
315
350
372
272
272
304
369
324
312
347
373
328
368
269
266
306
300
350
285
294
276
267
319
323
404
314
405
318
279
286
278
333
298
341
360
225
254
274
264
356
324
365
241
280
308
350
341
324
256
334
348
282
285
323
283
327
340
235
321
306
314
335
316
348
259
210
312
328
341
389
347
356
362
323
298
346
306
308
288
343
255
300
266
251
292
299
354
366
276
293
276
459
204
418
234
343
317
352
352
316
199
296
326
277
268
325
312
364
293
307
302
374
326
316
374
379
362
364
279
334
258
322
376
243
305
319
319
315
325
341
338
369
272
328
271
275
248
322
290
365
374
265
287
266
376
317
322
379
330
254
382
340
331
284
302
320
316
292
324
351
262
382
350
325
354
353
336
380
316
251
299
344
303
276
298
309
338
369
286
342
372
357
424
402
329
336
314
260
286
343
301
402
320
328
327
333
350
375
355
310
206
301
243
253
374
302
336
330
217
312
243
254
316
305
277
263
326
387
293
403
351
330
334
325
311
310
298
209
335
376
276
275
296
380
370
401
348
378
363
376
329
364
327
293
306
294
249
325
334
310
346
362
318
372
326
248
216
329
310
368
307
325
368
266
379
285
348
298
287
392
358
300
358
353
335
297
311
282
370
392
297
288
334
315
353
300
331
302
278
312
340
335
297
293
424
340
217
325
313
300
352
327
370
306
368
318
352
316
253
329
347
399
308
258
296
249
330
284
315
225
288
339
317
307
256
347
276
330
328
334
265
351
318
410
334
219
309
319
225
324
291
287
344
382
391
288
336
307
314
252
286
289
329
344
284
281
248
329
278
274
292
288
290
319
272
314
310
284
328
328
337
251
260
378
245
242
342
298
368
285
336
238
393
300
315
350
247
317
347
296
311
376
368
292
348
209
261
339
368
317
332
414
352
340
268
247
346
315
264
405
287
381
340
258
331
296
374
338
301
272
257
262
280
301
368
305
340
360
317
386
395
375
255
223
400
318
299
343
289
341
296
358
319
331
271
172
372
308
330
327
250
359
331
282
388
330
355
276
306
330
307
326
324
273
319
338
279
250
358
273
271
354
375
288
322
273
268
353
318
295
273
343
299
284
292
337
345
377
249
318
242
336
358
248
278
320
283
262
375
309
299
281
257
371
332
360
310
385
351
348
309
314
376
238
275
249
366
354
311
287
301
325
356
287
300
280
294
338
304
285
382
268
340
329
285
233
290
319
312
324
325
311
272
323
339
249
291
320
358
242
276
415
343
321
277
288
377
345
338
338
391
366
330
315
248
357
390
305
332
341
355
266
284
318
374
247
324
282
238
288
311
348
319
340
309
305
364
284
356
321
267
332
268
351
373
282
316
305
339
360
295
235
313
290
358
330
276
353
438
333
301
268
382
298
333
295
240
362
330
400
306
368
360
267
344
354
326
324
376
307
332
345
331
296
329
353
285
290
292
375
342
364
332
319
273
246
347
340
387
229
362
253
327
323
328
361
299
310
288
342
344
269
308
307
325
345
276
352
268
313
295
320
346
280
312
268
366
345
277
215
381
371
371
296
346
367
316
311
323
303
310
339
359
327
348
305
404
308
313
344
231
240
236
322
273
340
321
226
315
269
347
302
276
293
249
424
355
357
348
287
335
256
293
264
331
280
256
314
291
330
328
321
334
346
311
311
339
232
296
272
316
238
311
361
342
344
312
359
293
376
285
330
364
319
282
324
316
260
282
266
295
320
323
243
344
272
285
234
332
336
327
361
319
301
305
298
294
427
384
265
239
286
359
352
376
358
318
317
248
248
302
316
344
318
274
382
383
270
341
333
350
272
417
280
324
366
387
342
366
279
269
356
259
271
288
334
289
317
292
353
290
317
322
348
353
322
265
332
261
273
266
329
252
313
294
230
330
312
329
263
261
313
283
281
328
373
326
293
295
337
334
327
278
290
290
388
275
270
236
316
289
300
299
250
319
338
298
331
335
326
283
303
373
383
301
374
372
365
275
311
264
231
315
320
289
317
327
289
292
336
259
375
275
325
324
347
277
341
292
287
350
358
276
345
346
315
242
266
376
319
276
331
362
335
372
361
352
355
321
355
325
314
395
403
293
293
346
270
254
316
331
260
343
292
321
318
356
414
319
320
240
338
328
306
312
277
348
301
296
277
317
355
290
312
317
308
268
330
293
311
249
264
265
276
359
324
305
288
318
367
262
275
347
313
338
347
321
287
292
257
312
340
327
361
335
342
301
325
317
320
368
379
356
313
303
403
328
365
313
361
258
247
339
333
355
300
342
321
277
315
325
352
333
271
408
325
281
361
330
253
242
286
367
319
284
327
358
344
382
387
254
346
304
308
372
344
301
309
359
267
374
323
246
348
343
321
377
330
354
266
325
345
320
364
288
294
304
344
347
396
358
407
346
329
315
345
246
280
394
325
408
310
350
304
255
215
287
348
244
311
210
326
272
311
344
329
262
272
336
369
270
338
356
314
316
338
299
254
234
256
297
240
309
451
278
228
299
331
359
322
416
287
268
312
283
359
323
290
278
388
326
371
338
303
316
286
264
293
357
301
286
370
272
414
345
278
311
333
405
335
363
338
423
311
381
330
344
241
297
329
239
315
295
473
330
319
314
320
205
314
289
351
358
315
257
336
278
404
326
281
287
254
271
344
389
309
364
321
271
300
352
282
280
274
300
361
177
346
339
287
275
381
313
326
329
395
318
409
403
337
366
405
353
309
334
420
332
337
283
381
326
373
329
204
287
330
316
362
332
350
323
340
273
421
339
267
329
341
386
353
389
297
327
271
350
371
353
292
284
341
256
364
360
296
412
378
274
292
377
360
290
399
276
417
320
278
365
305
314
359
263
286
372
381
331
351
316
371
342
295
294
311
284
274
353
323
305
427
371
371
325
369
312
344
308
371
309
266
275
341
295
359
387
312
371
361
248
290
324
283
242
373
343
310
351
304
310
309
345
309
311
403
260
336
387
297
329
322
333
232
346
258
328
271
362
306
302
370
359
352
283
275
404
377
372
347
280
290
393
350
330
415
339
291
278
327
385
221
312
341
351
321
315
378
375
308
341
342
348
281
274
277
372
305
271
287
350
318
310
398
315
381
216
269
324
361
382
341
318
302
373
272
333
337
315
308
327
317
308
383
273
314
303
386
239
227
277
335
320
315
328
332
285
336
332
319
260
366
380
303
327
349
263
380
261
353
271
273
346
272
305
310
250
418
278
235
344
262
326
265
312
264
266
342
311
276
303
318
300
282
298
199
299
276
373
314
328
352
318
257
337
309
376
356
352
383
311
288
388
311
284
356
273
317
368
300
256
292
242
280
220
314
321
246
335
374
321
235
299
240
336
367
254
323
338
274
160
351
222
309
338
333
350
389
315
325
328
294
308
286
244
392
296
326
353
347
325
335
281
294
207
286
339
328
273
352
294
260
328
327
350
291
330
246
346
343
342
341
291
298
314
244
284
345
352
358
354
279
420
337
332
342
308
357
332
409
290
332
256
315
282
285
296
286
415
239
233
353
264
354
311
306
219
349
323
295
310
345
272
384
317
329
261
337
287
291
345
312
253
295
312
314
288
250
375
275
209
339
281
325
325
309
401
283
290
333
304
264
318
316
271
358
382
337
369
315
280
308
284
340
306
350
402
388
336
239
303
323
314
313
340
326
310
333
341
321
396
407
274
331
284
324
311
351
338
358
305
335
273
332
313
399
235
295
206
299
338
250
395
314
393
333
306
251
301
294
375
331
314
342
333
269
281
272
256
369
254
327
277
330
352
320
363
361
303
290
350
262
299
293
411
391
294
334
298
269
302
364
240
275
302
356
415
320
326
292
357
272
334
304
373
287
299
325
300
254
286
306
374
332
314
419
303
273
275
267
272
273
303
321
291
383
233
275
364
347
351
326
270
324
342
352
291
237
363
335
326
272
268
267
346
353
242
337
302
387
294
296
302
260
215
308
279
358
329
308
265
352
356
378
321
311
268
307
292
383
304
333
313
370
339
322
299
348
342
281
287
287
316
281
261
320
325
360
363
356
325
394
308
381
350
304
378
287
351
275
324
317
296
294
281
350
321
209
270
329
280
289
324
277
388
304
356
308
307
252
356
291
273
281
357
266
218
306
354
295
311
304
253
255
338
288
320
331
306
363
415
356
312
284
340
370
200
333
271
288
340
378
278
356
258
359
361
305
270
398
330
308
288
351
327
336
288
310
326
247
270
283
337
275
297
358
322
372
343
295
319
366
323
317
260
280
343
294
337
428
357
327
347
354
227
317
392
343
419
300
323
330
287
385
321
254
327
231
373
313
344
296
330
301
271
298
277
352
321
233
297
297
349
275
299
260
291
254
357
381
382
314
415
293
333
363
333
279
298
339
370
357
341
339
367
346
336
263
336
375
298
358
373
303
266
352
339
314
344
296
291
306
355
247
260
370
389
269
342
356
323
254
354
304
318
297
238
303
333
322
339
233
320
312
357
407
225
291
340
377
307
352
339
305
353
277
336
412
379
322
349
344
307
361
355
230
423
340
369
197
357
209
306
418
319
336
299
359
277
325
366
342
344
229
318
309
227
266
302
337
348
370
253
373
345
305
261
320
276
286
214
311
294
340
230
289
354
312
352
344
332
286
261
282
333
347
326
315
252
328
336
316
269
345
335
367
296
279
247
303
306
338
342
344
349
376
336
251
279
324
350
354
305
199
242
261
372
302
337
362
229
266
303
293
292
361
297
279
275
282
317
311
370
328
328
294
312
317
238
306
310
365
368
340
206
341
294
299
343
323
334
318
333
324
358
346
424
330
256
345
277
328
271
299
311
313
315
316
281
301
336
348
338
330
308
353
262
319
300
314
266
249
398
185
306
364
384
324
316
339
214
267
324
282
338
298
326
357
347
289
293
346
405
311
365
284
240
278
298
248
298
351
335
310
317
350
288
288
335
314
317
258
328
371
302
280
273
360
339
290
216
323
314
266
410
301
404
286
267
321
312
283
299
290
331
372
357
284
373
336
332
334
250
312
253
339
352
332
263
247
413
361
412
250
318
340
286
203
308
284
288
385
376
334
321
312
234
336
365
321
283
300
266
335
401
269
440
333
282
304
294
340
310
223
305
363
405
333
295
362
276
333
298
357
325
296
377
369
315
239
327
228
303
361
302
272
357
300
257
299
290
372
258
360
302
319
291
320
279
301
264
281
289
350
282
345
325
358
314
267
308
396
373
335
262
386
364
337
330
311
281
316
349
405
256
265
342
312
356
226
334
243
306
298
261
346
387
272
333
304
334
268
323
342
323
365
334
399
349
305
282
300
332
272
284
322
261
344
337
388
337
296
329
333
316
425
357
346
281
348
334
369
332
312
352
381
243
360
334
335
269
308
320
269
312
350
333
286
347
245
377
367
310
295
402
292
272
415
202
357
282
356
398
344
385
360
262
262
304
301
383
325
336
299
349
340
342
346
278
306
257
342
277
281
295
325
277
304
307
283
315
304
280
274
370
340
281
306
294
300
291
317
371
386
303
331
220
368
278
400
290
304
287
336
356
383
341
346
363
288
319
289
282
326
301
277
322
322
362
272
270
326
386
369
320
352
369
339
206
310
282
366
322
364
337
377
395
345
303
329
400
293
364
294
350
243
308
309
388
277
257
267
317
243
306
344
311
317
359
298
333
307
303
293
315
366
321
328
257
301
331
342
348
287
405
316
280
304
342
310
313
374
323
335
364
293
299
267
294
364
336
322
387
381
307
390
415
327
317
315
324
347
282
288
286
373
237
310
285
331
315
274
355
298
313
361
344
305
274
309
414
369
288
301
333
316
295
295
341
297
354
316
297
311
298
315
349
296
347
392
373
280
330
269
327
289
355
304
284
339
335
301
372
346
368
292
258
287
372
340
319
362
332
337
380
344
249
328
348
386
307
377
326
279
333
309
333
369
333
309
328
308
295
329
338
374
287
328
273
287
342
377
297
388
316
269
280
346
361
358
270
350
344
298
324
303
242
340
381
350
368
382
273
257
315
337
320
354
303
343
393
362
226
362
261
173
299
355
346
332
345
328
331
311
305
273
223
327
309
232
285
298
305
430
337
321
306
272
252
279
351
233
331
290
305
337
327
302
188
399
360
273
393
244
332
332
318
315
328
339
283
321
360
323
361
303
281
267
312
257
320
371
338
358
352
321
357
252
366
280
412
299
295
300
372
283
272
301
372
354
328
340
274
233
305
321
325
368
208
326
332
295
368
314
345
315
386
317
247
322
287
326
332
343
359
328
365
397
292
293
325
274
275
403
244
248
379
350
334
393
222
308
272
286
321
329
298
391
255
270
324
316
357
322
321
308
372
249
353
371
265
293
346
303
285
283
360
362
364
316
278
260
295
225
346
301
330
353
267
262
345
313
289
291
294
314
245
310
274
326
350
354
311
282
292
304
228
324
305
290
315
316
253
309
280
355
318
255
319
376
325
346
211
285
278
338
317
360
294
342
288
324
363
399
299
351
198
401
347
364
252
291
272
257
361
314
294
392
361
366
355
327
236
336
329
386
345
307
266
354
316
273
343
208
360
296
370
349
353
376
265
260
350
366
343
353
373
249
353
227
286
312
303
303
328
348
321
249
395
252
347
216
310
366
354
336
331
346
290
311
276
330
352
323
265
323
338
432
291
351
300
260
297
318
361
265
411
334
342
367
290
270
355
234
229
320
321
274
306
360
339
368
319
290
365
267
285
267
308
320
312
340
275
262
222
380
359
315
281
371
285
316
247
256
380
281
305
258
345
203
318
360
330
227
351
436
266
345
250
355
335
217
331
308
320
330
210
279
409
331
300
305
300
292
286
321
355
323
258
288
344
303
309
347
321
344
353
388
349
309
347
307
298
300
328
369
324
364
306
345
228
251
360
386
340
330
298
303
399
290
352
382
339
306
322
261
220
295
225
289
358
382
304
244
285
366
390
329
415
357
321
376
301
367
296
380
269
320
357
303
380
319
314
379
279
240
357
322
322
394
294
330
274
324
376
255
354
325
311
297
357
266
393
349
344
292
349
377
299
330
348
300
256
351
272
335
336
222
332
360
296
368
347
297
355
349
244
322
322
320
371
297
406
286
301
373
326
328
322
359
241
335
397
294
322
322
350
272
357
400
320
239
382
361
354
266
343
318
358
383
260
342
365
279
335
343
334
319
318
396
352
319
350
302
318
325
330
306
386
348
285
349
301
336
403
268
376
296
302
278
274
273
406
316
205
315
361
276
326
366
326
352
377
381
335
365
314
311
349
323
344
291
313
386
318
308
283
249
320
245
358
320
394
342
430
381
266
345
292
348
271
278
372
325
332
362
372
374
330
363
309
289
286
332
358
338
272
307
366
337
312
258
344
262
324
323
353
289
380
341
324
417
377
269
307
404
299
266
293
263
405
336
289
340
341
340
309
391
285
279
327
304
283
269
325
318
343
333
370
282
318
315
306
339
291
283
209
353
325
302
252
357
236
394
299
315
243
299
253
323
322
315
299
294
313
275
295
262
330
320
322
305
364
364
330
319
364
303
303
278
377
329
352
311
344
325
324
327
300
288
217
325
285
356
318
356
355
364
349
375
294
354
325
271
320
303
323
371
322
303
250
339
351
327
369
353
336
297
349
317
262
307
335
322
300
323
297
334
221
305
352
224
328
328
265
230
336
303
271
299
329
289
317
386
353
388
308
326
326
292
230
367
344
271
317
370
318
372
274
318
324
327
205
362
285
326
379
368
372
319
292
331
348
281
339
337
272
309
356
334
320
340
216
273
325
299
332
253
371
317
303
326
313
176
300
218
286
378
333
308
309
312
351
315
315
335
310
318
268
405
309
339
375
245
323
242
317
296
330
284
317
307
377
212
255
330
248
330
250
299
292
324
310
305
286
390
247
269
345
281
358
272
278
325
362
319
276
303
361
336
314
311
375
319
304
364
325
303
332
338
353
427
327
311
364
269
397
301
310
379
265
174
296
280
402
381
259
352
316
349
315
310
362
337
266
356
336
269
280
327
348
335
233
306
220
306
336
345
245
269
379
327
336
369
390
319
293
269
306
256
367
276
314
292
344
274
264
273
329
353
306
315
331
377
321
369
247
406
396
325
330
313
350
364
241
307
388
335
326
336
408
346
379
333
327
348
279
311
292
249
345
315
341
237
325
352
344
299
317
389
327
354
268
346
279
361
324
331
262
323
347
318
310
329
299
304
295
368
228
336
342
338
310
325
277
403
366
307
305
281
273
340
274
345
311
344
320
342
307
324
342
334
331
330
325
317
351
266
297
286
324
353
329
302
246
364
372
329
323
266
374
333
285
248
316
387
333
262
332
259
177
336
402
294
361
276
364
267
312
311
225
310
315
234
386
320
379
364
336
345
348
277
278
317
309
341
246
352
315
221
338
334
285
331
382
298
302
345
196
359
378
358
311
391
191
270
224
319
334
314
407
331
384
302
248
376
363
252
250
340
290
285
339
349
381
312
211
346
340
259
355
213
266
341
238
311
350
276
312
329
311
361
360
352
334
365
322
334
331
326
298
299
286
339
284
381
378
344
322
374
322
373
359
355
314
314
302
347
414
319
277
365
301
323
334
299
332
357
288
314
375
299
289
352
235
354
366
349
322
375
343
295
365
268
336
336
381
376
341
372
332
270
302
254
379
250
387
272
334
283
262
244
301
252
251
286
271
324
398
362
392
302
313
268
312
387
345
316
368
327
336
293
416
231
340
306
330
304
271
355
427
321
308
265
316
327
251
257
280
303
322
268
372
336
296
326
342
259
320
351
421
303
374
277
354
302
368
339
328
323
356
357
368
362
285
299
348
298
381
316
345
352
348
413
343
339
265
325
362
374
300
343
320
371
382
291
348
321
345
313
316
387
366
357
317
292
363
381
291
335
311
381
388
325
243
376
282
265
331
367
254
337
346
359
290
303
373
278
301
369
294
294
306
236
341
328
306
364
316
233
280
266
292
269
407
336
284
354
369
313
281
344
379
246
315
345
289
389
308
374
327
285
339
318
317
335
235
306
334
322
348
337
292
305
237
307
338
307
284
388
241
282
289
257
348
260
298
332
309
274
283
316
250
349
318
311
285
316
373
296
359
248
324
332
317
388
322
307
329
386
264
369
280
295
185
338
286
300
284
273
311
345
235
204
356
330
299
296
294
270
311
231
242
369
359
344
274
321
310
324
342
321
264
364
302
298
253
273
355
315
367
405
411
356
355
390
364
307
348
308
334
354
340
430
248
297
300
232
331
267
221
354
340
409
215
305
193
262
372
299
405
326
256
319
333
291
343
262
314
356
286
318
405
309
303
258
269
335
340
359
178
355
300
288
330
290
294
287
323
282
376
382
326
410
359
253
261
405
372
191
242
356
312
345
314
282
344
359
295
331
334
351
203
267
308
261
294
305
281
359
292
340
364
313
360
359
348
276
364
393
305
394
284
389
302
364
284
370
259
299
296
369
277
345
333
271
388
248
355
324
332
373
409
360
246
331
282
334
347
301
340
281
352
260
279
316
330
285
284
306
337
282
280
318
241
345
350
239
326
328
308
309
351
376
284
323
274
285
347
363
295
326
336
368
249
292
382
392
371
332
278
251
377
327
283
333
257
325
274
345
243
309
380
358
284
301
309
240
266
366
277
227
301
259
321
306
318
313
300
292
285
297
328
382
283
396
336
318
304
331
314
280
312
310
291
366
298
257
309
339
310
347
313
369
376
330
318
252
321
368
262
383
372
233
241
360
413
290
345
374
351
343
375
348
290
307
312
306
256
362
304
350
310
258
190
263
335
372
301
384
374
297
322
316
286
307
364
315
344
380
302
311
365
341
361
265
220
279
356
327
267
243
325
235
322
315
328
353
484
324
348
389
424
292
300
408
348
308
340
375
314
259
300
264
287
321
355
360
232
299
319
307
293
327
357
244
345
288
327
361
328
387
274
309
346
280
282
360
290
378
254
311
321
332
329
299
309
338
332
326
329
308
342
332
299
309
224
399
352
211
316
268
270
382
415
254
379
264
306
279
370
293
347
362
320
264
241
339
272
304
310
378
394
285
266
369
361
292
366
244
341
258
337
366
330
332
353
313
229
245
329
268
401
289
287
245
288
218
320
376
284
326
304
334
259
336
272
233
362
279
364
338
330
414
374
294
404
246
286
274
351
415
292
373
381
284
323
251
393
306
264
320
291
379
292
308
280
280
313
239
404
328
301
291
321
311
281
333
331
247
377
339
373
387
281
431
322
396
389
243
303
299
339
279
347
298
304
319
312
302
371
264
381
307
419
215
254
271
266
251
303
265
301
295
251
313
297
340
347
280
341
352
266
356
347
364
298
304
296
300
301
245
305
363
309
240
347
308
327
246
355
305
349
293
290
401
346
333
207
328
304
342
307
378
311
301
416
348
290
309
372
328
262
236
239
262
310
285
310
301
349
354
323
290
245
266
291
348
310
375
344
268
358
259
325
320
350
243
300
339
318
337
315
331
273
258
313
294
267
261
296
344
255
238
383
339
330
324
303
312
266
275
318
248
264
380
282
334
295
322
337
291
320
386
392
297
346
277
302
343
301
244
317
277
271
320
344
276
359
309
270
318
317
273
266
270
369
271
393
268
324
307
223
276
318
333
269
394
359
363
315
215
369
207
355
308
344
281
321
304
312
268
292
249
260
286
336
300
396
292
395
336
366
306
264
361
404
324
308
395
280
244
315
303
271
340
268
348
365
408
373
382
211
341
305
321
307
231
281
288
422
405
347
297
358
316
307
316
332
353
303
283
335
226
376
370
330
432
399
244
281
287
322
336
338
445
287
351
277
304
351
253
306
325
406
356
303
337
392
358
269
233
345
316
339
289
307
312
309
309
291
361
329
287
254
374
316
376
310
267
300
301
287
222
313
405
301
302
298
360
388
335
323
226
330
374
334
235
317
353
266
387
348
373
358
334
363
314
311
301
294
333
242
308
312
322
345
362
217
372
304
306
257
319
359
359
246
240
287
261
356
348
348
297
356
363
380
200
331
277
272
294
351
328
308
367
351
349
312
310
377
316
338
399
216
324
398
339
305
244
265
333
257
247
267
346
322
333
341
361
333
252
262
236
342
339
330
347
301
300
375
331
381
369
349
391
336
281
301
331
326
362
298
372
281
339
370
302
355
264
421
363
340
338
397
231
370
278
323
373
320
312
301
305
303
376
385
390
239
291
369
365
320
327
306
299
320
352
366
263
323
343
364
327
278
258
291
395
319
305
312
369
321
317
365
353
334
263
331
361
323
300
325
320
397
336
303
362
339
352
231
337
350
289
344
352
249
398
344
364
344
317
381
343
337
345
359
307
333
278
358
304
370
328
312
382
310
222
337
291
316
333
328
296
360
325
334
274
353
267
284
371
263
367
336
279
337
234
302
315
325
279
230
368
281
319
283
304
367
355
246
335
251
282
261
395
333
268
296
328
236
351
310
309
249
298
268
298
333
335
325
283
242
273
285
300
347
344
325
336
348
353
350
397
375
400
333
304
301
347
298
311
341
352
322
299
348
319
269
293
342
349
361
317
308
302
307
345
267
356
326
362
329
342
347
317
258
338
372
275
283
342
384
319
339
346
299
354
295
366
269
333
297
362
358
358
358
380
254
351
379
308
303
322
296
267
393
333
306
447
287
281
395
310
347
196
331
287
386
305
272
278
305
325
368
299
277
327
338
256
356
284
293
353
385
325
377
280
319
322
345
409
297
340
396
294
328
225
233
312
256
292
291
276
339
341
332
360
260
369
312
290
290
330
302
416
378
356
292
368
327
386
358
378
288
367
284
299
263
325
369
385
325
348
355
302
342
270
343
266
376
241
336
298
264
298
373
357
330
380
274
256
349
300
341
330
312
367
350
344
240
323
304
349
310
284
292
314
396
337
250
354
371
392
293
309
373
314
336
329
287
309
326
214
247
303
229
430
291
319
395
355
317
291
330
391
312
247
373
370
301
195
308
321
275
288
368
263
324
324
247
257
308
362
309
348
302
308
209
275
312
309
350
352
303
355
385
320
340
371
394
391
302
315
346
310
260
453
286
287
361
316
366
311
357
314
260
386
412
324
246
234
296
286
352
305
371
264
296
228
355
389
384
361
303
302
382
255
262
293
364
331
325
338
281
386
296
334
286
300
377
354
313
358
356
354
287
360
271
283
337
362
293
292
332
301
303
347
409
268
377
328
269
278
310
390
334
282
359
322
202
340
374
208
334
279
294
288
309
300
332
314
359
309
330
276
288
264
254
321
302
322
340
309
294
437
357
331
217
291
344
341
308
282
294
333
381
289
326
256
287
197
360
257
315
350
321
316
331
302
295
353
353
354
274
333
366
271
287
303
372
313
293
364
317
289
317
289
358
307
347
285
297
326
328
399
365
330
255
298
388
301
289
305
270
389
340
195
338
306
268
306
291
294
355
292
324
380
322
305
235
295
394
305
349
404
413
366
332
336
318
256
384
329
339
362
194
354
354
363
311
305
276
313
307
321
241
333
404
303
335
249
274
325
285
267
349
346
304
363
279
285
367
322
297
274
293
338
370
339
258
235
338
315
432
268
336
308
254
358
351
261
363
353
263
356
356
231
291
345
345
339
319
188
323
323
353
269
327
364
389
289
233
309
306
330
335
322
394
234
328
303
306
262
306
299
323
351
337
284
340
281
389
313
210
341
300
308
314
343
271
287
344
284
374
342
305
342
258
300
324
283
314
322
306
242
206
283
278
361
310
374
352
348
353
308
287
229
311
306
324
346
331
375
283
307
367
354
333
248
325
310
257
290
330
334
322
372
339
264
306
290
300
337
335
305
223
316
398
284
280
291
286
321
253
309
403
311
338
337
337
351
353
357
288
405
418
306
311
397
339
303
328
332
318
241
292
277
233
364
307
350
338
291
350
342
375
332
272
317
298
221
323
329
243
268
367
331
379
364
330
381
322
375
246
314
295
303
381
275
331
323
377
290
287
268
316
360
324
326
402
380
413
330
262
324
291
359
262
407
275
321
312
325
259
337
299
299
290
310
278
280
312
295
341
401
268
351
387
329
339
311
240
345
339
369
249
330
347
295
340
367
433
333
312
342
309
287
246
249
260
354
321
213
362
267
264
284
249
263
294
353
309
278
292
352
349
327
290
296
306
352
352
380
295
388
347
281
365
337
235
278
286
350
313
280
421
319
347
369
306
337
320
214
286
323
333
351
346
238
314
328
354
311
304
382
363
311
263
377
303
350
348
353
372
294
349
285
313
294
376
285
338
341
317
304
289
364
327
333
337
283
311
303
318
279
312
238
331
339
278
319
369
319
278
382
338
308
347
311
360
299
253
281
309
370
328
255
359
340
303
292
311
296
320
328
298
310
314
309
306
313
294
297
303
259
372
347
281
327
267
279
315
357
299
284
351
343
310
287
355
287
252
310
310
315
262
318
327
334
287
287
222
417
238
341
306
362
230
209
305
329
351
339
261
342
314
234
320
384
255
248
297
387
373
314
306
325
301
327
335
338
218
322
368
288
334
280
311
293
267
414
305
314
297
332
304
331
295
266
378
247
252
286
260
308
361
236
323
238
370
302
282
349
316
345
311
261
350
368
286
341
410
297
263
285
383
342
332
291
284
326
324
400
339
325
286
370
342
315
343
292
312
377
261
326
325
347
369
268
364
259
323
265
243
190
352
310
300
347
368
245
278
293
347
322
334
346
381
289
287
234
356
362
253
313
318
247
270
315
338
293
299
371
291
461
299
353
306
326
295
257
327
293
344
351
312
364
326
211
362
276
352
291
321
349
256
292
326
361
293
338
330
285
378
372
313
324
372
312
336
327
285
286
388
310
253
400
283
284
307
338
336
274
311
312
316
300
354
244
314
408
353
324
309
415
316
276
341
358
355
302
357
392
300
285
375
367
343
271
285
379
302
379
382
307
341
316
312
365
336
295
332
358
309
338
269
332
355
278
417
276
335
321
258
414
361
349
385
236
279
315
333
318
320
274
259
359
246
407
300
346
312
304
381
354
281
321
369
318
333
249
371
343
262
291
324
241
255
361
333
291
277
322
292
367
410
330
280
333
259
324
317
323
343
357
289
242
342
402
373
308
294
394
396
305
309
327
390
348
275
343
377
300
394
366
347
354
325
317
400
257
274
307
220
356
277
312
332
305
356
337
345
254
359
316
326
357
377
266
308
247
378
351
219
255
261
356
393
315
339
326
269
312
323
353
350
352
292
306
307
200
382
306
310
319
317
240
298
325
278
318
317
322
261
277
313
355
290
263
257
301
279
285
297
333
326
319
301
352
325
296
229
271
407
340
295
230
302
335
269
257
320
348
315
317
308
298
339
312
368
333
275
305
320
404
293
347
301
270
230
227
281
302
282
288
341
397
298
319
354
302
369
318
307
270
344
281
272
293
347
318
293
386
279
289
250
340
388
281
261
275
361
274
337
315
308
369
297
288
397
328
305
334
292
326
308
291
237
354
273
284
251
294
209
355
270
350
263
343
251
306
342
384
379
288
293
288
341
264
332
324
279
320
347
321
269
274
334
367
373
302
376
332
334
355
290
334
330
284
318
332
278
321
327
317
244
298
330
281
351
306
220
235
361
271
246
347
315
388
412
367
211
303
308
265
283
291
284
339
258
323
363
271
312
260
299
307
350
352
369
318
254
257
391
345
236
287
309
341
338
303
330
273
347
298
378
268
324
253
286
317
334
254
345
331
300
368
324
329
364
286
268
264
325
262
324
311
262
291
306
295
289
356
216
293
401
346
269
295
332
276
382
350
414
356
322
313
251
297
271
370
393
325
333
361
295
336
351
351
303
311
288
332
358
256
306
261
255
299
237
318
265
330
235
355
343
316
351
339
311
288
312
320
333
317
272
322
317
391
304
295
367
386
333
188
357
287
212
284
343
404
282
276
287
286
297
326
325
297
258
313
310
273
325
334
273
406
311
349
310
357
291
350
307
364
258
312
314
223
345
344
300
349
276
292
354
370
346
329
270
318
307
281
227
296
333
361
331
229
272
407
332
265
327
283
413
323
335
291
261
348
317
306
336
225
367
246
251
259
368
293
385
255
301
374
346
310
297
340
309
277
287
373
333
252
289
252
232
396
325
334
322
320
363
299
321
306
268
277
321
307
292
347
281
360
384
260
344
292
302
314
360
311
267
291
305
337
294
242
291
326
354
374
209
269
239
369
266
322
357
333
342
313
278
355
297
328
333
278
323
323
342
411
315
254
278
357
301
322
404
325
310
326
330
369
322
356
314
309
307
315
313
376
340
301
330
331
359
357
355
332
321
307
316
380
250
214
331
328
342
338
341
306
347
300
298
372
223
350
259
334
375
303
300
286
233
308
309
293
340
263
286
269
348
261
307
329
350
318
338
373
263
240
345
312
234
400
282
364
329
338
333
291
348
254
281
377
304
319
241
333
373
300
373
334
295
327
317
285
323
331
342
343
250
299
335
350
349
337
271
346
251
363
339
252
287
266
343
325
329
276
345
355
346
316
333
319
313
331
316
251
330
230
281
337
338
411
328
325
351
367
323
310
268
289
308
337
368
319
388
371
238
290
307
295
281
314
272
358
399
268
331
337
348
257
323
389
393
400
290
311
302
288
300
274
315
337
321
286
299
333
344
258
261
289
387
313
352
354
324
376
307
344
232
341
382
302
353
304
274
324
292
309
297
277
264
269
295
335
302
310
354
331
334
337
265
290
280
305
343
307
350
232
257
316
303
304
279
319
383
367
332
417
338
327
237
347
270
272
292
340
275
295
193
287
325
272
357
303
181
260
307
287
355
301
286
362
378
309
355
259
294
282
254
294
297
331
284
332
328
354
311
290
308
285
345
256
281
336
292
337
347
299
334
372
394
340
261
310
359
300
324
324
307
287
276
306
312
364
360
341
282
298
284
322
282
339
309
363
342
279
340
292
294
347
314
271
298
350
310
337
317
331
294
241
287
236
411
346
271
330
327
260
331
425
405
355
333
344
225
229
308
354
356
263
328
367
388
288
320
310
295
277
373
328
315
371
318
380
313
295
278
232
243
377
383
304
269
326
257
288
345
286
399
334
256
322
323
260
305
389
241
302
287
315
237
411
268
345
225
275
302
343
377
268
230
290
321
309
327
324
341
315
380
320
354
358
303
354
334
292
348
305
240
323
335
405
381
316
341
317
326
315
329
316
235
350
264
331
292
211
352
229
270
256
266
279
308
220
327
365
240
273
375
282
281
343
316
285
290
348
336
375
343
309
342
351
386
383
277
347
380
344
363
322
339
352
315
284
318
289
233
333
309
310
297
255
402
350
221
292
245
275
319
302
343
329
317
339
287
260
351
331
330
340
392
372
263
307
362
393
313
302
312
268
341
346
354
300
361
271
322
281
304
304
357
377
344
357
409
411
365
315
326
301
369
341
370
268
302
345
314
303
379
321
296
312
307
216
227
328
340
340
355
370
393
296
364
323
332
344
322
326
280
252
286
250
250
326
433
309
349
295
256
409
285
347
267
379
381
401
292
277
365
373
344
249
289
319
270
347
360
336
384
353
387
323
284
280
302
234
323
233
325
286
398
354
237
359
376
289
309
257
317
320
308
305
363
343
276
339
346
308
356
300
334
287
392
389
280
298
319
329
342
304
327
272
315
347
259
328
265
297
323
298
307
296
274
395
361
306
359
284
344
309
290
251
363
313
296
348
342
335
319
360
225
283
277
301
309
274
280
261
336
326
289
397
268
385
314
282
319
388
288
265
307
374
294
298
281
338
285
257
411
317
378
253
237
318
270
330
277
286
401
268
292
357
328
337
320
331
362
292
348
282
250
346
292
372
238
245
396
271
349
322
325
301
265
345
326
307
239
392
292
295
343
271
276
391
347
373
308
272
224
392
291
337
257
238
421
407
330
264
354
297
302
305
315
315
257
289
389
326
333
300
268
281
287
318
382
333
404
342
310
329
270
208
319
273
310
375
334
325
243
359
367
287
269
290
303
295
370
318
238
231
350
372
371
324
248
321
359
303
348
319
384
366
366
343
313
321
356
358
380
338
274
358
368
334
386
364
294
405
271
333
368
356
356
250
342
321
296
347
333
216
323
291
294
352
401
306
253
405
276
261
333
297
353
348
250
223
271
240
407
330
329
291
260
342
354
283
323
288
342
315
330
289
323
271
299
332
394
233
308
235
359
338
332
291
232
340
214
345
381
324
384
363
289
315
419
303
321
281
313
319
364
322
360
281
342
368
332
261
315
271
397
336
341
384
242
290
335
373
312
380
290
346
362
255
335
275
337
349
376
320
336
343
254
277
303
248
297
297
333
245
415
234
320
366
335
365
171
292
342
311
323
220
320
302
287
307
318
214
346
253
353
324
302
265
318
364
304
349
288
316
362
243
351
320
296
363
342
297
344
382
304
212
337
252
247
213
311
404
254
320
352
335
320
241
292
347
363
352
308
310
316
254
290
395
350
385
277
401
304
314
345
323
391
339
318
379
236
364
354
311
306
342
332
274
365
329
281
357
360
292
273
305
292
292
362
320
269
362
327
291
351
363
362
243
343
357
286
342
299
376
276
288
343
294
256
320
275
263
272
271
275
340
263
361
311
238
332
270
352
311
318
313
315
300
304
279
295
293
330
361
312
282
362
331
282
345
386
326
306
315
310
289
250
345
391
321
312
452
292
274
341
293
292
271
338
367
337
344
363
381
363
282
348
343
314
310
259
362
201
289
301
344
294
311
338
265
352
350
293
307
301
257
317
283
377
373
269
317
356
361
381
273
322
341
325
287
322
275
316
362
281
254
289
223
244
330
328
226
288
350
326
311
361
249
321
233
384
259
273
325
367
259
317
320
382
315
340
385
309
309
322
352
325
305
324
310
331
371
270
337
383
319
327
349
313
267
290
253
452
350
338
307
342
267
290
345
380
340
385
271
345
319
300
340
365
326
332
288
372
337
315
340
280
372
293
279
298
250
358
324
246
379
343
240
284
336
292
419
356
315
351
243
384
303
362
272
293
318
348
279
356
213
318
304
317
372
191
385
250
314
342
225
440
362
322
256
368
339
314
295
287
341
317
348
332
377
367
281
303
260
388
283
336
310
336
331
373
325
282
223
319
259
276
342
320
244
260
337
335
401
318
269
345
379
293
410
275
301
308
335
315
378
281
365
379
366
348
312
198
216
353
281
291
407
321
348
359
371
339
326
315
265
363
390
265
305
236
335
313
397
334
288
305
382
341
321
424
339
351
273
366
321
305
275
185
336
284
296
309
270
316
211
281
257
378
333
289
410
386
388
320
259
386
288
409
207
397
346
406
381
321
398
319
338
368
363
329
357
335
318
298
302
396
277
387
425
235
352
336
276
355
305
426
355
308
335
301
347
345
386
273
283
221
300
230
364
344
401
307
348
267
319
343
367
298
281
327
366
308
390
340
344
394
320
302
280
326
428
357
244
370
312
388
311
298
232
303
322
300
337
304
300
323
324
315
271
262
296
299
217
329
254
262
297
286
311
231
324
368
309
302
337
306
394
338
279
321
390
272
365
286
265
230
271
320
315
356
318
359
318
246
206
375
342
307
247
251
335
396
305
268
247
366
343
398
280
305
368
269
246
252
350
307
325
359
325
319
272
280
304
322
233
289
334
281
339
324
381
344
340
300
408
291
369
275
373
243
295
317
349
247
360
340
314
355
312
349
344
312
379
310
311
327
371
332
378
394
200
305
290
336
307
337
333
374
279
278
243
256
365
244
290
335
252
308
348
268
192
302
256
295
317
293
267
326
315
274
311
254
241
337
268
340
293
344
348
286
306
240
345
389
297
323
250
262
335
348
312
322
320
309
309
346
316
383
335
306
330
336
293
376
409
291
323
345
287
264
271
272
314
290
328
298
291
391
333
299
332
301
375
289
255
321
378
302
330
329
255
352
309
368
255
390
361
325
397
289
303
394
317
326
298
348
350
309
203
244
240
270
354
223
281
374
304
310
321
373
305
386
348
243
396
239
345
366
241
329
269
354
347
345
276
302
400
324
205
336
401
223
320
297
333
313
194
291
335
273
232
243
308
259
260
331
342
341
277
343
313
321
332
272
311
330
308
283
331
378
313
346
385
261
353
361
345
335
297
249
305
289
358
274
306
316
275
330
312
319
349
336
291
219
357
288
319
405
283
243
362
410
266
355
355
353
259
380
265
243
346
345
298
358
319
297
298
301
253
301
393
339
338
290
350
288
321
382
391
280
380
354
302
238
309
302
308
312
281
315
316
366
330
373
395
325
291
350
315
325
327
385
385
352
348
363
363
333
298
251
352
414
300
344
268
415
302
255
359
341
325
235
362
301
308
301
260
326
221
248
281
279
175
244
313
335
385
316
349
356
309
375
294
273
394
363
348
318
299
351
262
311
302
372
333
319
335
349
285
386
287
291
345
280
243
318
365
325
311
382
264
305
294
343
260
302
343
329
341
278
260
271
291
244
359
316
272
249
364
304
283
304
315
385
279
315
296
296
228
369
315
368
276
257
311
293
321
318
353
253
267
262
351
331
364
335
283
218
226
288
301
290
372
352
242
300
318
325
361
286
333
373
245
368
310
314
335
237
316
303
298
443
269
363
299
306
329
318
245
346
232
322
333
299
348
286
297
239
264
393
287
324
368
295
308
328
308
354
382
346
271
325
365
333
360
339
269
351
308
368
316
337
271
355
301
260
342
332
305
315
409
381
405
289
338
338
290
274
317
289
324
294
332
310
361
286
282
299
249
262
262
259
317
282
324
418
311
365
309
327
281
298
277
277
344
318
283
335
309
364
294
282
199
379
361
307
266
317
322
359
205
285
286
322
291
354
395
238
330
292
309
364
439
414
230
353
325
342
358
302
342
366
232
288
336
303
235
252
339
351
318
325
299
356
329
248
354
359
263
346
227
240
332
333
317
309
228
361
292
277
239
312
347
342
366
214
326
314
344
299
330
354
327
339
275
362
303
298
391
352
255
321
419
371
282
277
259
362
266
378
293
335
385
341
290
289
216
294
355
273
346
287
319
280
376
334
330
314
401
297
361
332
308
389
332
280
268
357
219
274
307
351
282
292
372
288
335
353
290
308
328
352
339
252
323
400
386
283
373
315
315
381
365
291
340
331
431
321
364
318
379
324
332
316
332
187
324
323
329
314
304
332
352
220
283
294
327
153
397
287
293
293
334
259
247
365
326
284
399
345
312
334
282
309
282
273
370
357
214
330
356
264
332
402
377
278
287
371
261
382
381
346
323
332
356
322
317
316
323
360
268
247
283
330
353
231
290
307
330
333
248
320
338
325
225
303
305
372
392
321
368
298
341
310
320
382
306
347
305
306
249
325
304
293
245
348
312
364
339
352
305
338
343
343
217
384
344
324
205
383
301
298
255
343
321
340
384
296
384
238
309
302
334
273
361
318
277
296
222
311
341
317
282
219
352
387
255
308
301
323
391
252
247
370
258
296
284
301
347
350
331
381
367
257
258
363
236
325
333
269
371
408
321
374
249
236
339
380
272
282
278
273
328
368
425
356
284
373
378
373
341
315
366
326
285
273
316
324
296
383
330
340
276
256
352
258
276
325
340
349
337
379
367
310
375
346
239
300
305
378
275
308
303
302
275
275
332
280
304
341
325
292
324
284
349
271
377
327
208
299
241
335
307
397
299
293
395
325
251
310
371
283
275
271
313
302
378
275
247
321
382
281
382
341
326
318
251
353
339
283
277
301
326
274
326
310
293
307
319
326
290
328
348
324
231
278
318
356
294
345
304
287
289
348
387
368
399
321
309
296
277
303
402
293
326
322
262
297
356
348
326
223
300
298
354
312
290
317
338
266
362
241
288
274
330
264
317
310
300
386
289
298
249
290
274
315
274
329
324
321
307
398
369
377
314
322
341
298
335
343
341
274
314
372
258
249
250
367
238
270
417
282
258
334
353
365
353
248
321
337
390
324
263
273
265
379
258
326
378
212
402
300
335
256
334
342
294
273
344
349
333
293
383
332
333
391
320
249
337
378
285
334
261
286
299
330
389
330
285
327
373
320
348
369
376
311
292
270
300
303
273
265
243
301
300
345
319
367
364
320
241
370
366
228
289
264
340
310
376
307
251
301
264
365
368
301
248
306
282
265
305
325
330
296
344
331
368
366
249
332
257
325
277
294
239
346
346
307
298
282
279
316
361
369
327
310
401
297
376
401
313
275
369
332
276
309
273
367
343
203
331
294
251
187
303
318
271
417
334
340
290
282
403
327
282
232
281
307
375
360
294
375
359
290
358
274
276
347
287
293
277
251
364
303
369
307
248
262
311
294
263
271
295
414
348
347
386
377
395
316
384
349
255
327
239
223
354
338
367
347
287
328
297
315
349
294
267
324
304
315
302
289
333
373
242
296
374
263
391
288
347
247
316
277
262
320
329
317
298
347
328
293
313
298
295
383
359
308
282
225
319
353
341
425
322
429
244
298
367
299
325
295
260
365
345
318
322
298
279
333
393
371
330
282
388
268
326
388
315
367
329
404
325
182
328
287
301
308
390
310
376
374
246
349
381
212
336
321
339
366
291
294
297
357
401
279
347
410
314
356
350
329
342
279
283
331
349
379
394
336
298
311
254
300
290
303
394
407
353
262
343
176
266
341
363
318
287
268
303
350
333
283
322
310
394
265
284
351
258
322
272
317
283
335
305
288
286
347
364
222
327
261
316
369
392
319
276
375
353
261
367
296
341
400
272
328
352
291
397
295
435
288
420
353
300
396
303
316
285
334
328
312
301
362
319
259
304
253
301
359
322
368
368
240
326
357
285
361
333
359
365
372
348
277
254
310
291
359
260
336
202
327
305
330
255
269
235
362
302
341
287
284
320
275
312
337
326
378
239
296
367
291
277
350
288
249
348
360
343
174
277
433
358
367
407
344
293
383
310
374
376
349
350
261
396
321
333
265
408
375
321
360
331
298
330
307
244
295
256
217
342
294
293
385
261
426
250
329
291
294
293
317
256
343
345
299
292
277
257
298
296
336
353
317
308
300
309
290
351
314
350
279
233
378
311
376
288
350
330
388
244
344
253
290
235
342
340
300
293
362
247
354
378
300
288
265
323
295
388
326
361
296
316
285
230
346
223
315
276
363
310
314
243
357
343
356
291
339
340
277
343
359
282
317
318
278
345
311
390
314
366
312
346
334
404
348
322
329
338
298
255
368
354
424
321
330
307
291
315
307
380
332
297
343
327
343
303
284
327
247
294
372
296
272
399
299
301
307
338
413
303
322
383
310
363
304
192
292
223
321
266
354
401
283
337
385
368
344
290
373
394
266
355
335
349
304
315
320
332
325
300
299
323
344
346
336
264
285
377
369
272
293
404
248
323
358
335
301
324
301
333
306
319
331
250
259
404
409
304
370
313
308
297
394
350
361
269
361
321
363
360
328
306
241
410
339
375
317
302
309
385
318
272
242
252
409
317
337
271
286
332
396
280
306
431
358
330
266
346
319
338
365
286
222
244
373
312
236
331
305
337
299
296
328
368
320
309
283
254
325
264
317
266
327
290
371
366
389
328
270
284
342
351
323
276
290
324
374
403
348
279
397
292
260
249
220
336
313
355
280
276
271
393
233
350
347
346
306
308
332
329
333
354
356
381
338
258
328
385
299
339
324
400
375
258
348
329
204
381
294
377
238
302
222
336
284
305
370
240
368
366
341
276
357
266
299
323
286
147
361
371
266
265
303
368
356
335
334
354
294
319
359
304
339
302
266
293
353
336
265
330
207
311
327
321
261
312
305
346
326
249
311
287
338
290
312
332
370
344
343
246
275
326
233
340
329
339
350
331
371
258
375
381
368
286
292
353
321
263
333
278
321
308
353
347
330
337
329
256
301
331
299
367
306
311
312
363
340
305
249
237
378
320
279
379
348
290
332
358
343
256
277
340
347
365
307
337
350
335
337
316
332
299
225
332
300
300
410
275
322
290
273
413
285
313
324
319
262
392
249
353
334
304
329
321
265
372
342
309
328
359
374
256
268
351
257
231
290
301
276
299
278
287
300
316
314
389
349
395
231
353
337
307
284
291
296
365
346
293
357
327
320
341
296
339
278
317
248
347
351
341
341
323
369
202
225
226
284
333
318
288
341
304
297
378
385
352
237
281
312
312
268
316
322
251
228
283
244
326
398
278
273
385
374
287
374
311
300
304
371
389
304
379
356
378
379
357
296
247
359
300
343
325
323
268
413
386
255
356
332
410
293
325
353
337
289
350
347
335
264
417
314
344
272
376
331
336
329
263
344
293
307
297
352
284
290
321
294
279
360
318
335
233
329
331
250
351
296
316
288
296
329
267
341
352
263
399
345
324
315
356
366
287
275
317
295
315
333
379
358
229
300
267
365
265
351
326
367
310
316
263
326
280
373
264
419
354
265
374
250
413
311
190
360
389
433
274
312
336
363
330
259
303
285
253
380
319
321
296
218
359
302
384
333
341
255
351
322
295
333
267
375
316
317
335
226
357
241
309
342
375
338
209
337
333
416
255
373
379
425
319
312
337
395
343
344
268
269
307
274
384
381
300
321
383
382
268
308
237
322
414
334
372
331
306
329
383
355
262
313
322
401
372
313
325
388
265
298
315
306
289
278
240
364
270
310
354
267
368
355
318
318
290
365
284
338
350
355
308
334
227
322
257
275
326
357
378
252
344
313
313
314
271
264
295
310
345
316
230
343
362
310
325
363
350
398
295
346
300
326
181
319
276
333
339
356
355
325
369
319
339
367
420
385
311
253
310
282
334
377
332
324
308
369
305
212
383
310
334
334
300
308
277
325
272
268
307
305
211
249
237
273
326
262
365
353
304
371
358
315
411
292
314
332
261
333
196
325
312
295
369
330
275
292
275
356
274
300
287
321
347
271
419
313
293
262
327
281
254
358
313
312
404
291
366
334
376
386
298
401
370
295
249
326
334
320
341
274
344
340
261
229
312
294
298
338
306
247
328
348
266
326
275
314
329
366
298
339
207
348
333
282
301
291
296
330
313
252
366
356
257
337
305
230
292
276
352
367
346
288
312
294
299
376
387
314
367
315
360
371
298
370
364
350
281
354
326
244
240
367
271
313
298
210
317
395
360
324
284
386
348
293
262
358
248
313
328
264
395
373
287
319
292
223
266
289
298
389
242
366
279
269
331
257
361
344
261
319
331
330
357
327
309
341
294
233
382
388
333
326
237
328
343
267
282
344
321
306
312
224
304
354
394
340
311
308
296
313
288
296
346
291
338
319
266
289
384
281
266
373
300
321
319
282
401
338
337
364
364
342
371
289
386
266
253
298
394
275
286
265
312
316
350
290
252
374
356
271
345
332
354
317
294
369
337
290
386
252
316
364
340
376
239
385
381
274
377
394
334
338
293
286
319
357
242
303
316
249
303
350
323
337
298
286
328
257
325
335
281
343
339
300
303
273
293
281
426
345
280
315
321
262
415
277
350
399
362
276
324
364
264
310
364
225
297
329
279
304
432
343
296
275
340
367
317
234
354
239
299
293
292
325
415
330
355
384
365
265
295
291
322
379
335
306
302
312
307
331
379
307
313
363
298
291
338
334
366
234
368
284
281
283
324
328
254
307
235
286
268
286
229
328
250
316
294
261
338
319
360
339
309
295
298
267
291
364
346
336
346
348
358
272
355
298
341
286
333
345
400
307
267
273
310
353
295
330
285
332
271
246
290
371
327
336
358
348
310
346
285
346
312
267
305
301
281
308
350
360
384
400
304
404
259
267
341
316
360
338
316
413
336
303
319
302
324
238
310
340
414
277
427
262
238
295
339
343
265
356
315
330
291
289
340
234
223
329
263
299
393
270
310
327
308
423
292
328
378
268
308
292
270
270
314
343
365
407
291
259
293
325
323
314
368
302
365
247
311
302
360
276
289
267
233
333
366
282
307
319
352
333
292
366
315
302
325
291
395
256
244
319
276
365
290
307
283
332
381
251
231
351
315
311
277
301
346
369
290
337
354
299
305
304
369
311
369
315
275
338
257
285
296
369
332
377
295
350
318
317
310
359
333
272
306
353
336
343
345
259
364
294
332
254
360
359
334
259
365
334
348
210
306
262
271
359
308
323
278
366
302
327
316
338
392
304
300
239
326
380
270
267
302
261
267
396
299
329
331
259
306
347
330
285
387
331
291
380
243
303
344
288
301
301
326
348
293
330
275
277
252
314
350
261
314
304
333
231
314
360
377
299
379
343
207
259
334
317
316
332
314
281
292
237
303
315
290
254
332
409
260
407
344
360
346
278
302
358
255
278
271
302
284
272
188
316
262
270
309
266
357
299
341
341
335
308
270
254
256
395
263
308
273
294
367
241
357
274
347
267
320
327
296
310
340
314
309
232
215
286
329
368
305
357
344
414
363
218
341
365
289
345
239
396
298
304
315
332
288
268
305
302
385
315
295
300
323
324
314
283
350
278
366
265
373
325
315
429
378
353
291
242
293
357
337
304
274
349
292
287
248
264
237
327
321
381
307
333
297
327
363
267
356
203
336
308
354
259
320
261
385
311
355
359
353
331
258
308
315
263
293
279
399
289
279
305
257
355
273
392
351
343
347
294
436
278
277
303
321
300
285
351
214
331
314
350
281
307
338
306
242
310
380
337
342
312
324
344
258
339
401
367
335
293
230
328
273
315
280
271
268
304
341
338
358
324
392
338
322
304
343
305
349
319
276
351
341
347
317
374
392
335
309
311
347
293
213
261
334
349
369
368
231
307
379
304
397
286
271
310
350
314
313
289
389
318
312
294
350
294
358
315
321
286
293
258
383
349
355
284
282
344
274
392
333
283
314
335
331
392
279
311
261
313
381
277
337
394
333
369
239
334
312
304
316
309
321
273
377
239
345
271
216
261
263
291
277
297
240
345
301
320
274
327
381
342
284
266
244
251
304
445
387
244
260
397
237
271
258
284
277
350
374
281
263
361
359
357
233
254
371
303
270
346
262
277
371
324
291
319
287
240
249
280
294
333
219
226
273
327
297
313
251
351
266
374
220
400
273
265
312
299
311
315
304
267
256
352
267
298
346
282
262
168
315
315
300
240
348
301
311
295
328
372
253
330
275
328
301
232
333
356
329
294
359
261
293
377
355
345
327
310
336
304
384
332
320
403
295
277
383
355
338
260
257
240
359
233
328
262
336
220
297
277
308
390
327
394
293
342
312
346
354
260
310
255
347
300
278
306
337
371
291
256
279
353
273
314
363
262
329
300
370
340
223
339
330
387
293
324
274
411
273
326
291
324
326
308
228
268
244
262
270
228
319
322
382
314
275
366
295
321
347
360
302
344
334
408
323
286
366
361
357
249
300
294
313
284
320
295
255
273
234
308
317
338
285
345
326
374
344
306
317
314
319
284
391
344
315
297
372
354
217
320
337
372
334
312
346
254
315
252
343
338
332
227
368
261
314
324
354
365
288
349
230
281
385
322
305
283
333
289
251
319
346
294
340
252
311
279
276
305
336
265
346
262
319
336
357
303
270
344
282
355
341
333
315
334
319
362
261
357
225
342
371
344
297
377
379
324
348
324
359
290
268
254
287
262
294
359
299
291
282
323
363
397
333
303
393
357
260
374
307
376
356
313
364
360
262
294
325
338
312
339
329
343
389
341
339
311
289
347
340
428
352
337
287
271
384
389
251
258
271
301
212
316
250
343
385
312
262
292
267
407
296
287
313
305
309
284
279
277
319
331
344
360
386
304
311
331
378
381
338
254
303
372
337
374
277
306
259
285
308
323
302
363
327
319
314
327
333
375
311
267
224
346
280
334
320
325
323
279
340
316
244
280
444
300
252
288
302
388
397
316
245
265
377
269
326
325
229
374
362
297
281
322
252
338
344
336
381
341
307
328
334
327
302
387
299
274
360
332
336
361
421
325
320
307
266
363
278
242
313
305
323
358
257
363
317
403
264
325
371
291
309
258
315
303
346
289
366
236
303
327
357
326
328
334
268
312
328
227
329
312
297
257
323
265
345
352
277
283
378
290
319
344
314
344
318
365
380
255
303
320
343
268
239
322
275
310
380
291
243
281
260
215
221
295
356
351
396
392
264
323
308
358
313
337
394
276
319
309
298
364
290
318
361
285
375
307
323
295
262
317
369
220
313
256
317
313
247
302
395
327
409
343
367
391
308
377
372
338
232
281
257
288
322
344
327
275
276
265
257
353
314
310
413
247
286
241
357
314
309
302
333
225
345
268
288
283
301
295
352
281
290
394
342
221
294
329
320
300
223
237
316
356
381
239
336
402
309
279
339
316
317
390
333
334
304
248
414
428
277
306
343
236
365
323
304
344
358
413
323
389
175
376
304
424
326
349
265
383
358
270
347
347
268
310
333
305
295
356
354
366
366
315
274
328
303
373
309
308
421
316
346
343
372
267
365
341
319
397
278
298
292
297
341
327
264
310
376
352
301
373
327
270
328
272
357
301
298
273
314
383
278
326
367
327
351
330
365
339
294
305
363
270
326
334
294
298
285
298
315
360
359
361
253
285
295
358
300
327
314
310
315
296
363
391
313
377
292
292
301
352
298
267
362
240
388
341
354
295
338
331
350
300
296
393
225
316
288
375
361
357
354
347
343
292
286
300
314
393
307
278
300
302
347
292
306
367
232
345
302
298
317
295
337
336
333
309
340
370
385
316
290
380
366
373
272
314
266
225
290
340
240
322
260
341
308
391
345
325
381
355
249
315
349
260
288
181
364
365
327
352
317
313
341
324
285
357
269
294
306
279
359
258
286
388
365
339
349
436
220
349
316
299
369
284
309
368
322
376
321
243
319
296
340
351
324
324
308
235
339
272
366
202
342
317
353
387
342
287
296
322
309
389
347
241
309
202
351
353
297
331
332
309
335
381
283
243
369
322
313
329
339
322
378
332
332
299
329
291
308
239
408
365
255
409
245
298
315
328
266
299
318
392
319
273
348
337
358
316
333
350
350
319
336
342
369
293
279
274
361
319
350
321
377
365
327
319
313
299
373
299
351
354
359
314
294
269
298
312
312
282
332
384
352
325
364
351
319
343
290
293
223
250
373
308
349
381
281
304
294
339
291
310
367
300
336
322
343
289
286
422
354
339
336
321
305
365
272
284
349
336
351
294
325
295
334
357
315
324
288
404
284
344
345
249
269
345
257
301
291
313
282
410
246
307
301
365
313
300
380
244
262
292
259
319
255
276
307
322
233
356
378
351
371
209
398
329
315
294
324
301
288
425
231
218
394
322
246
352
248
324
329
365
308
325
351
386
296
230
318
319
322
269
358
388
210
353
378
348
368
354
290
301
216
403
328
287
324
303
399
307
371
375
309
359
251
331
324
334
348
380
319
339
297
234
214
324
349
244
328
354
318
340
347
311
305
429
330
256
294
346
273
252
365
307
247
264
325
365
333
182
378
320
297
312
354
375
365
293
236
346
413
243
263
407
345
293
391
352
322
301
236
317
319
321
352
291
332
251
352
329
350
300
347
334
251
271
296
293
299
257
304
352
279
230
333
337
367
341
324
347
373
296
273
295
296
308
328
330
335
288
302
310
291
333
325
385
328
334
385
302
349
325
351
302
248
282
373
353
304
328
288
321
363
296
349
303
264
262
259
313
376
307
225
276
304
386
261
322
315
294
269
283
287
374
317
367
308
422
268
271
251
253
364
300
399
282
270
298
366
244
358
249
325
395
330
330
308
300
316
361
316
279
277
340
293
303
343
294
295
406
293
266
330
313
328
301
208
283
266
397
297
311
267
326
257
268
373
344
267
288
284
353
375
268
347
324
351
326
252
269
353
356
347
319
355
278
325
348
355
292
314
393
290
341
367
425
319
313
312
292
222
349
354
361
396
324
361
342
265
365
354
327
255
202
334
323
307
257
322
346
331
282
337
302
399
247
326
336
340
295
252
347
350
264
231
226
323
296
370
295
356
241
288
340
391
329
371
263
332
352
294
288
347
372
273
350
326
253
305
319
259
357
260
266
333
373
382
375
310
312
246
287
339
294
358
277
305
369
350
345
308
267
331
276
293
404
334
270
286
325
287
345
281
306
262
345
409
452
293
315
325
309
366
291
309
324
308
349
317
327
327
296
278
374
261
395
334
304
239
297
359
354
329
216
393
247
411
307
255
373
357
290
312
299
343
391
271
273
319
308
345
378
339
290
290
314
272
291
325
291
306
324
398
353
365
354
363
231
316
328
267
311
344
379
300
308
361
315
330
296
371
378
388
336
354
244
298
268
391
336
343
402
309
315
267
243
280
386
348
298
325
318
262
276
377
356
258
393
347
326
316
322
285
340
326
364
428
319
352
368
327
294
308
349
321
386
283
243
248
258
343
307
243
281
283
344
301
347
305
308
361
319
362
369
347
311
347
233
348
271
360
340
273
400
236
328
344
282
317
328
255
385
280
389
366
298
201
305
280
375
333
250
270
326
272
273
224
286
382
299
292
233
275
308
235
313
305
297
261
406
356
282
301
357
325
321
297
271
278
265
242
344
284
295
378
313
298
312
300
305
289
242
371
365
338
325
337
301
289
289
321
308
394
331
251
312
249
328
266
288
290
294
357
331
344
342
383
345
254
259
302
336
264
363
355
325
352
227
283
265
366
291
329
309
307
250
371
289
300
358
299
400
343
243
283
342
261
321
273
297
283
370
319
324
269
305
345
390
365
322
335
328
325
233
301
302
330
340
312
259
303
289
252
266
367
335
222
363
280
255
309
402
360
365
330
309
314
311
314
267
401
369
362
352
275
306
305
302
383
332
342
328
368
308
347
350
360
344
293
342
301
263
311
391
408
282
328
231
275
289
330
387
300
428
291
379
283
378
360
339
322
320
351
287
316
272
322
465
368
381
276
259
330
280
334
282
331
308
287
370
323
323
262
291
306
317
274
282
355
345
261
298
319
283
346
328
381
322
214
361
336
324
386
331
339
259
302
327
276
290
334
306
234
268
333
320
286
277
356
278
281
387
247
269
334
288
332
299
283
287
352
205
357
376
268
365
250
297
272
332
317
346
334
312
381
284
358
312
282
298
328
279
429
371
299
308
218
236
257
297
317
340
319
341
353
318
326
362
400
249
314
345
310
343
262
315
331
341
248
279
330
251
325
379
357
206
396
294
284
233
355
296
370
374
309
309
336
345
303
291
344
330
322
265
313
304
270
291
329
258
291
394
350
228
312
248
282
278
318
363
396
318
298
255
280
323
303
422
324
327
347
272
330
294
325
314
258
361
345
228
387
287
254
364
257
274
292
393
332
270
247
339
272
272
318
315
328
376
230
339
255
302
298
342
311
316
298
256
290
262
304
407
331
303
287
317
355
347
332
326
361
263
297
262
341
377
360
353
407
391
294
264
278
236
273
337
222
346
315
366
228
379
332
262
390
327
351
351
222
350
355
307
265
306
241
366
344
326
223
276
327
337
375
304
342
324
405
293
275
253
329
262
322
305
304
348
401
326
268
352
252
257
307
273
314
268
342
238
319
280
307
301
295
303
372
338
272
381
341
333
350
427
347
318
328
292
292
357
281
249
413
325
431
274
222
376
352
287
244
309
243
340
261
338
334
244
343
304
304
358
327
261
303
276
316
296
393
322
307
302
361
327
298
340
284
304
385
328
322
282
346
307
298
382
314
274
374
200
317
298
301
246
345
258
301
289
342
373
363
305
209
303
356
337
271
290
325
347
328
335
354
317
399
343
242
358
243
309
388
300
345
350
314
240
325
274
290
324
357
316
300
398
360
346
387
278
345
366
322
325
337
365
273
315
282
356
338
405
328
333
355
306
379
311
308
268
359
420
303
277
358
303
254
235
331
280
209
341
308
355
304
318
320
332
325
351
261
257
368
359
266
366
244
301
259
321
332
317
341
362
264
315
315
291
363
332
344
386
349
344
348
349
280
287
258
362
299
404
264
288
328
361
322
314
289
327
322
311
396
261
362
374
303
379
291
405
334
253
371
307
309
276
270
247
292
315
325
330
252
338
342
365
300
303
320
316
313
298
308
348
334
267
325
252
368
315
376
282
301
247
348
313
313
386
288
356
266
302
358
386
336
324
300
313
293
329
332
289
312
369
270
341
316
389
318
336
388
321
307
260
437
352
278
266
246
334
359
289
353
300
299
306
390
427
310
352
314
356
310
227
386
287
322
379
406
201
219
353
395
311
268
330
336
287
354
234
263
332
260
385
322
336
155
350
261
313
342
331
376
381
319
322
237
330
327
350
269
344
350
318
290
364
375
313
255
415
242
265
419
264
225
356
351
298
237
368
304
329
335
302
356
299
310
311
303
319
357
282
305
320
288
365
307
210
322
323
302
327
317
349
330
329
362
215
381
327
355
210
373
364
232
225
296
339
343
363
335
283
290
283
306
327
332
271
327
347
305
335
247
269
358
330
309
237
307
393
274
296
288
326
310
369
333
306
266
310
314
423
288
337
317
366
236
373
269
352
302
309
349
322
347
349
347
281
292
251
289
299
320
326
354
343
309
356
317
343
378
365
308
351
257
246
347
284
281
380
356
305
331
309
272
393
325
356
227
241
285
353
289
319
276
306
233
357
349
402
321
297
323
406
279
330
271
344
287
358
262
336
360
294
289
403
317
417
264
287
326
315
401
255
243
361
305
357
279
344
267
374
349
256
338
329
368
314
373
244
402
327
320
280
340
260
320
235
344
330
239
387
376
273
313
364
296
359
278
363
315
348
370
318
381
335
316
262
237
344
293
223
250
253
289
261
263
334
285
341
275
414
322
368
289
315
319
304
291
470
279
273
316
262
347
382
341
267
336
255
377
263
308
309
376
276
329
344
370
369
362
367
317
285
310
385
358
348
344
374
324
345
353
357
361
347
267
362
244
240
340
332
253
308
324
316
289
281
373
223
343
336
293
324
302
272
247
247
323
341
334
336
307
286
328
324
326
260
284
349
336
288
369
291
303
343
303
293
326
317
318
246
323
289
315
339
259
388
279
292
370
375
243
301
277
300
283
348
236
273
270
208
277
384
357
289
274
406
354
343
281
314
309
361
259
236
270
280
322
274
368
327
258
338
331
353
355
311
394
230
301
387
316
300
315
288
325
405
334
388
336
352
287
315
270
334
370
337
313
307
399
282
406
282
384
323
285
273
323
276
362
292
331
300
316
368
329
347
262
292
354
266
337
346
279
259
284
309
271
318
265
373
215
289
327
225
392
300
299
309
350
322
309
307
272
305
341
294
349
273
399
249
241
248
285
307
342
336
319
286
309
252
273
323
293
296
283
268
304
344
270
285
304
290
328
271
323
378
342
281
367
338
330
278
274
341
294
269
364
378
237
267
298
356
347
306
274
284
327
363
336
322
286
288
368
363
291
273
275
347
305
289
334
340
332
359
342
337
273
391
259
346
331
288
302
400
375
337
351
215
345
376
317
332
296
294
339
355
346
288
330
251
349
325
397
254
333
358
286
252
353
323
299
281
362
345
338
376
256
426
318
313
295
304
299
332
225
282
385
297
333
334
253
347
353
345
283
260
267
245
350
289
304
348
349
328
345
272
293
238
385
373
326
320
363
302
352
362
264
247
234
290
306
263
320
282
326
321
244
290
349
383
318
319
337
290
281
310
347
331
325
325
372
281
304
281
328
309
366
343
357
247
333
407
343
346
324
378
295
373
244
320
349
299
376
331
368
295
329
382
373
330
338
298
277
322
350
305
365
293
267
331
301
333
329
354
345
377
331
321
322
359
319
278
411
236
305
289
319
280
334
315
292
349
265
300
315
397
341
319
299
342
344
342
299
342
330
341
329
357
299
399
344
396
301
290
271
325
328
312
335
326
310
270
307
322
312
323
361
339
326
266
294
379
347
375
321
303
290
296
328
297
269
369
264
257
338
331
353
299
368
245
355
373
302
357
288
367
270
373
342
296
311
274
260
358
397
268
309
290
366
333
361
282
303
364
318
326
280
322
304
343
304
358
381
357
288
254
304
259
332
310
367
241
287
259
320
328
337
283
232
366
296
356
352
319
305
298
300
293
289
296
233
289
342
322
286
327
372
217
256
289
403
306
365
269
318
354
283
308
330
314
298
309
317
369
334
289
290
374
374
325
308
356
403
325
260
298
250
286
360
377
308
303
291
374
304
306
290
224
274
267
253
360
371
281
266
276
323
353
357
396
242
308
279
223
335
346
265
339
380
303
292
306
368
251
298
259
273
279
328
329
383
286
327
317
298
353
245
347
333
433
285
387
266
312
308
281
347
325
210
366
290
290
236
338
399
280
352
260
272
336
315
354
275
357
329
258
414
322
214
424
328
364
291
321
360
246
413
313
343
313
387
396
279
420
248
230
318
251
436
322
260
354
321
250
311
240
372
341
451
304
361
426
304
344
343
330
265
334
333
356
294
343
339
299
320
372
273
309
305
299
311
418
469
185
371
357
274
297
300
312
308
316
388
420
319
303
320
362
159
267
296
379
342
338
334
302
389
321
313
270
294
359
330
182
288
342
329
290
402
253
332
346
323
364
368
331
279
416
323
241
296
299
326
300
338
302
298
401
326
266
289
375
264
283
297
342
300
309
298
240
309
388
339
329
408
357
298
370
358
308
343
255
334
327
336
271
315
305
340
349
265
347
358
256
339
252
278
350
356
242
329
338
282
304
339
288
308
279
323
330
343
328
305
295
341
344
357
318
320
328
361
335
345
330
282
317
347
301
330
327
389
413
310
238
294
321
281
370
308
248
255
349
298
343
293
255
291
314
326
249
337
382
312
270
343
349
334
367
275
318
274
376
323
405
285
263
422
281
382
241
240
330
327
385
367
387
374
248
328
330
322
409
279
320
332
367
229
266
329
299
292
351
271
332
355
330
270
317
365
375
266
383
379
346
314
213
322
302
259
302
295
253
261
337
358
337
265
311
379
361
275
360
212
353
285
328
343
332
333
343
306
352
390
296
313
251
358
290
267
255
318
305
310
340
396
287
254
363
302
266
286
285
330
342
306
319
278
297
349
335
280
249
288
336
221
295
309
300
367
299
300
322
362
353
322
397
310
354
305
341
330
200
318
402
323
372
411
350
344
342
290
305
315
236
295
312
308
360
371
253
310
323
340
343
273
256
259
293
314
369
308
329
348
348
267
326
289
297
309
366
279
346
328
424
280
302
307
324
352
344
407
276
235
308
352
424
285
279
315
301
330
240
334
387
338
381
272
263
300
382
322
221
261
309
381
311
321
256
333
353
302
270
345
236
320
306
312
354
341
311
338
315
361
307
361
261
321
376
390
292
281
274
311
305
312
382
261
374
358
263
286
370
270
291
277
345
321
284
316
362
380
362
394
315
314
354
322
304
270
334
324
308
358
220
347
272
293
303
374
302
363
351
283
334
307
327
353
358
378
316
369
363
284
383
296
248
382
386
338
335
369
358
308
409
324
375
280
304
349
301
285
362
345
278
324
287
339
288
376
230
246
251
363
342
311
352
272
412
320
333
232
335
228
447
310
281
388
382
232
371
347
309
315
344
252
382
296
324
373
345
299
306
312
383
315
282
315
300
331
320
261
314
327
364
346
346
324
306
312
333
320
358
365
291
350
292
382
321
306
329
310
361
352
294
322
335
314
263
285
299
313
354
346
379
338
358
311
332
248
345
310
273
306
288
373
294
300
364
289
380
372
363
343
323
289
288
376
280
291
231
341
286
375
275
300
394
294
334
330
283
330
273
325
335
338
316
342
295
286
321
308
248
346
404
302
271
353
367
276
292
309
300
263
329
316
272
299
339
325
325
373
273
333
335
291
276
363
320
336
327
295
353
237
283
309
387
274
267
187
359
357
284
316
269
314
297
323
277
329
356
324
349
240
335
283
263
377
296
331
270
303
269
334
371
352
279
266
337
284
292
296
328
318
292
324
315
337
356
311
362
366
217
279
258
303
331
269
280
254
367
368
258
260
275
319
312
357
365
377
284
364
321
367
320
309
282
422
329
255
306
349
371
344
280
299
299
385
308
310
294
260
348
337
308
294
278
322
368
365
352
284
298
272
240
385
309
345
227
290
287
265
330
345
250
364
338
394
349
296
354
294
419
388
339
319
296
347
363
387
272
332
405
325
315
357
289
276
404
305
338
250
185
351
296
329
323
279
341
308
203
364
353
353
215
348
304
295
346
305
350
295
380
297
305
268
393
327
344
333
437
308
381
370
357
276
304
305
359
300
312
352
312
371
304
299
275
276
264
291
375
311
289
265
259
265
264
390
257
335
312
294
300
307
289
396
346
301
349
300
329
385
331
342
313
254
342
348
303
303
301
291
349
318
265
321
329
384
337
322
346
338
282
361
370
302
304
297
256
203
306
350
321
344
318
357
317
318
310
338
344
248
317
312
282
279
309
282
261
326
328
322
264
322
364
337
297
289
288
326
364
409
335
327
244
341
375
271
358
331
437
266
331
300
290
303
380
309
311
356
346
277
382
331
281
295
305
356
345
385
328
314
281
266
319
411
356
281
273
330
315
306
276
267
372
324
292
391
407
264
281
345
342
310
308
337
339
360
277
286
295
310
344
208
294
304
246
378
253
262
289
281
234
260
312
370
289
228
232
336
325
304
380
371
363
335
271
322
336
341
310
354
239
320
233
223
323
309
325
347
308
336
245
265
340
325
368
343
295
343
301
310
270
361
274
295
392
252
355
302
286
307
324
324
312
336
276
370
334
280
383
267
277
359
402
304
257
277
370
341
318
273
306
250
297
317
293
319
286
260
326
349
308
255
268
383
343
358
270
319
168
342
326
322
298
256
294
265
231
347
302
298
319
312
326
350
242
305
330
352
388
237
263
285
354
281
276
264
354
410
356
280
356
255
309
284
316
333
285
314
299
262
334
357
267
353
375
283
359
319
399
300
336
285
304
306
366
415
343
381
303
240
415
268
311
264
258
331
360
381
289
263
345
339
310
318
259
253
375
334
276
264
406
255
301
345
311
377
323
287
359
251
304
252
340
305
279
332
337
355
312
298
343
337
315
245
285
298
387
331
399
286
276
279
338
400
285
361
335
292
336
354
408
316
364
287
224
372
342
333
337
263
254
281
254
321
293
368
405
300
393
345
295
303
285
337
293
309
335
385
292
318
354
351
384
370
376
381
322
325
315
360
363
376
241
360
255
353
283
328
281
284
391
305
340
328
278
389
346
262
245
290
305
295
383
276
360
234
328
264
294
314
303
264
327
325
308
249
335
262
326
288
309
292
264
360
294
370
241
292
291
275
310
320
352
272
338
319
307
307
338
304
289
319
257
379
319
311
351
255
313
320
264
331
279
326
320
369
281
359
352
366
323
369
312
340
414
387
349
331
313
344
355
330
367
284
346
276
319
378
393
389
286
317
349
333
272
343
304
399
271
305
319
294
293
297
310
329
353
247
257
245
383
281
357
378
339
301
390
323
343
411
343
255
314
372
312
242
242
317
288
306
390
314
329
234
254
332
349
318
303
260
291
315
300
372
279
336
257
336
409
360
325
323
312
379
300
340
329
351
220
399
311
274
349
312
189
339
387
301
280
275
312
301
269
179
317
294
369
322
313
325
374
431
253
257
345
257
259
302
370
303
284
293
325
361
252
276
300
315
293
322
273
248
372
331
332
362
360
339
291
340
370
224
337
358
373
273
328
327
257
264
282
244
350
336
433
331
263
281
294
292
268
218
362
218
324
319
349
406
354
273
352
341
280
279
287
293
316
265
277
326
308
279
221
261
237
311
271
317
296
287
314
321
352
310
264
308
244
325
298
281
324
392
294
269
342
306
367
379
333
375
306
294
324
342
293
225
366
335
293
335
305
274
281
313
299
277
342
296
182
311
291
288
256
316
342
299
304
355
375
278
338
324
287
329
343
272
280
393
340
344
357
364
308
329
267
353
341
299
376
246
262
315
337
310
240
274
343
365
284
409
294
294
361
332
305
322
351
287
316
351
297
238
329
218
194
273
335
285
297
327
314
279
294
280
349
311
311
260
370
250
371
383
341
373
343
295
260
325
319
342
331
315
366
229
294
340
346
409
387
279
269
269
336
381
319
362
371
220
260
240
296
318
349
294
359
299
247
243
276
287
284
359
319
267
268
307
315
338
319
288
240
329
314
387
293
349
301
421
277
339
362
377
353
382
247
275
319
310
361
305
298
420
317
264
357
318
347
371
353
335
249
289
301
320
297
266
234
345
299
272
293
351
298
270
449
284
346
253
305
220
246
375
302
363
368
317
341
295
327
330
292
282
258
334
317
344
331
338
360
322
348
247
293
344
345
272
326
317
361
360
307
272
360
280
342
296
333
286
334
303
219
319
352
397
292
324
351
282
279
308
379
309
346
374
302
335
273
341
293
330
289
303
291
343
327
315
331
295
290
298
331
318
295
283
360
355
324
360
292
288
268
376
344
304
317
337
332
301
308
353
393
393
288
375
254
385
349
367
307
304
322
386
373
378
334
311
280
258
284
338
338
401
306
290
280
362
385
265
242
259
380
256
299
351
337
397
291
354
337
377
324
371
432
273
336
403
300
322
258
361
377
261
289
290
357
294
321
310
286
260
339
276
366
228
266
353
319
353
284
358
291
367
315
308
294
315
302
275
323
350
291
363
329
291
393
299
322
321
289
353
295
347
365
303
345
293
251
388
305
268
291
322
335
307
261
433
306
362
386
247
312
363
325
342
427
360
296
290
379
335
382
268
310
329
322
334
261
266
356
235
281
280
234
356
365
392
333
294
288
284
384
334
267
440
339
304
249
268
366
368
359
345
271
279
327
355
335
384
377
359
248
332
299
322
403
326
354
425
266
358
353
277
318
391
329
359
306
259
360
312
375
335
273
300
275
385
381
393
364
280
281
351
362
347
315
311
294
335
278
302
334
322
382
321
289
266
332
309
324
313
393
309
327
344
232
317
318
306
307
358
381
299
267
384
299
280
303
320
343
304
353
349
280
380
357
308
326
246
302
353
291
348
235
328
311
366
271
288
262
348
239
409
345
411
322
333
336
352
387
356
284
370
379
322
429
260
265
231
333
390
278
281
320
281
306
293
225
309
288
304
262
326
351
327
327
351
302
216
351
241
273
308
315
357
325
275
281
313
296
349
298
263
309
346
291
311
353
311
347
333
362
361
211
271
333
296
329
395
356
363
339
358
357
276
294
405
307
295
341
332
349
317
343
283
364
272
353
295
334
276
254
345
307
317
400
296
272
313
318
286
425
342
217
366
283
359
311
266
223
380
325
287
248
391
318
328
338
370
354
345
341
292
321
367
326
234
312
350
303
329
332
303
321
325
343
341
303
359
388
259
287
360
324
375
283
301
365
331
354
319
287
259
337
321
275
151
381
362
416
342
279
241
335
244
277
356
399
334
313
317
327
299
227
352
319
306
329
313
303
289
199
355
326
312
217
378
376
346
302
236
307
301
270
374
400
358
294
350
282
313
300
318
354
321
199
329
240
264
308
353
362
336
360
293
298
312
321
274
339
334
363
294
345
282
350
322
262
353
269
325
306
295
351
280
326
362
369
274
321
288
361
250
364
312
362
317
309
300
284
360
309
311
234
276
321
291
296
238
270
288
302
325
354
336
343
251
306
277
284
311
322
284
298
294
377
266
345
249
303
336
354
179
432
341
353
322
332
295
347
302
317
354
254
285
254
337
346
314
372
341
324
342
357
341
265
321
306
289
285
202
308
304
307
364
333
317
293
342
311
243
401
360
316
264
322
395
283
261
304
278
356
247
304
278
305
288
285
312
364
336
303
319
352
324
327
338
308
303
279
326
268
346
288
378
293
380
299
358
300
348
277
306
302
408
364
347
317
299
323
348
267
338
288
365
276
368
324
250
314
324
249
304
386
290
283
369
372
332
335
322
270
239
314
254
346
285
370
348
353
324
338
242
304
330
302
349
357
368
278
337
286
325
297
393
425
291
360
303
311
360
307
291
274
297
360
306
306
231
320
344
392
340
314
346
327
412
331
341
351
370
271
365
391
305
267
367
402
305
357
318
313
279
339
269
269
306
299
212
323
280
305
353
342
345
289
367
299
356
298
382
311
255
313
291
289
329
316
382
299
345
296
368
275
340
339
339
321
315
316
289
334
368
338
330
296
353
250
298
316
386
310
281
307
355
321
320
345
321
274
370
213
274
333
287
322
285
306
318
296
370
337
366
356
283
296
291
338
383
312
314
346
344
366
305
276
329
304
353
327
292
358
302
327
302
367
305
349
307
257
334
211
342
315
290
347
303
270
293
374
350
431
341
252
398
331
338
272
344
252
319
329
340
351
271
248
298
234
356
299
311
397
298
321
358
282
375
395
311
344
316
413
313
278
359
315
249
319
372
325
270
325
231
343
359
363
284
324
346
296
280
318
394
295
294
354
328
265
366
293
326
292
386
378
318
348
346
291
301
281
237
276
332
297
371
364
255
311
305
302
339
266
351
353
341
344
356
242
327
263
323
257
310
318
400
337
301
331
353
302
269
336
298
268
336
238
267
352
330
227
347
334
254
263
278
282
340
317
375
292
337
291
292
279
267
359
321
367
316
305
349
332
317
338
341
288
304
270
319
296
298
325
278
358
330
347
362
318
263
364
256
323
291
314
316
346
333
381
301
308
394
310
302
339
309
289
324
300
269
340
252
354
358
325
280
364
233
341
347
267
328
307
342
360
271
402
342
208
296
258
363
317
372
276
370
361
255
362
315
376
313
371
295
328
289
371
319
303
337
317
260
271
328
328
345
327
309
330
377
298
301
256
290
382
281
285
307
350
280
322
323
345
324
349
325
309
379
279
339
393
312
298
385
322
307
314
366
275
330
356
326
307
295
340
301
309
297
307
380
332
363
325
350
315
280
308
343
361
336
304
242
299
279
347
358
305
349
303
301
311
295
278
411
288
306
352
341
306
373
228
306
282
286
315
323
324
338
340
344
360
432
362
326
288
332
287
297
242
405
386
367
400
402
325
275
421
381
273
302
321
301
435
358
321
318
356
252
337
311
318
306
294
269
356
337
344
331
341
363
296
158
322
368
323
302
289
357
378
364
347
352
316
339
195
292
319
303
279
300
393
293
312
260
318
256
322
337
224
315
333
249
295
215
297
355
339
284
264
302
326
307
329
323
311
354
328
276
318
323
327
334
357
374
323
235
338
361
406
318
288
293
313
350
393
378
365
425
402
306
217
268
356
350
302
328
373
400
354
299
392
365
312
310
286
276
289
216
223
308
364
359
311
369
354
253
317
269
384
385
250
347
315
255
342
338
223
349
391
315
383
245
312
286
286
339
309
326
308
318
272
246
290
321
259
322
287
361
270
258
273
362
353
319
225
363
373
243
346
348
318
337
257
342
339
338
385
328
319
372
315
321
159
245
300
333
301
354
393
330
282
328
258
358
314
312
329
319
303
398
305
317
291
389
337
355
275
358
294
290
329
314
249
309
364
392
268
276
330
262
332
297
308
430
377
320
380
326
310
369
253
337
380
355
302
295
308
244
358
287
299
366
264
338
299
336
354
262
347
374
260
310
431
400
209
286
342
312
281
303
289
305
377
281
299
396
320
351
304
350
297
308
303
338
317
279
273
386
283
320
284
234
284
347
237
340
303
348
242
275
245
330
297
360
359
322
312
384
304
358
230
281
362
307
360
313
281
269
353
227
321
327
350
283
313
387
368
365
215
355
325
319
263
262
249
363
240
393
285
307
321
379
357
255
323
306
380
293
313
295
331
345
359
328
332
281
327
321
359
226
377
324
303
364
282
311
288
269
347
302
316
350
302
274
249
279
348
380
332
354
321
243
261
302
306
343
351
309
329
324
331
341
419
423
257
355
318
276
325
344
371
385
285
314
281
342
399
308
377
316
307
358
367
288
280
337
374
243
318
292
341
262
356
335
286
317
283
339
342
255
318
301
341
252
310
311
266
286
317
314
275
324
329
346
312
288
366
193
304
346
383
293
354
284
322
360
312
278
307
357
344
295
393
304
383
379
294
316
326
250
282
308
335
370
331
321
337
291
380
328
385
219
295
362
306
341
322
363
333
276
285
279
316
319
246
252
204
366
308
321
317
339
346
276
316
300
353
312
319
305
347
290
339
298
336
410
345
233
384
278
294
260
313
389
375
362
390
305
418
285
293
282
385
288
368
282
296
365
318
364
322
254
333
289
301
379
335
269
237
255
383
349
335
287
311
304
364
319
380
275
308
266
316
343
254
353
275
268
374
321
289
307
321
373
415
378
300
335
332
238
386
209
322
345
414
350
327
349
338
364
266
309
302
354
272
319
307
287
348
376
278
300
323
201
266
323
333
320
339
294
328
340
355
297
331
324
279
362
373
348
375
329
343
271
322
286
275
311
261
311
352
267
334
277
316
307
364
346
385
338
294
378
362
274
269
335
311
317
359
344
339
346
332
378
316
293
419
352
281
357
337
353
317
397
310
269
325
308
266
285
273
319
313
363
349
327
336
326
253
332
343
385
315
340
295
358
327
289
253
261
241
304
351
361
279
290
324
328
271
330
234
330
359
271
304
331
325
327
272
360
363
320
282
343
281
298
312
276
323
302
356
296
302
328
285
259
317
283
334
380
362
364
365
315
386
365
281
322
400
329
368
319
303
274
266
351
337
335
371
278
403
271
358
360
273
277
343
304
372
281
298
383
272
249
273
340
368
314
367
300
363
313
283
366
325
323
374
295
354
322
336
344
318
330
310
330
287
304
243
272
391
257
327
372
300
348
398
290
314
418
373
298
213
315
240
271
293
261
301
382
373
318
312
352
379
260
344
251
281
337
269
318
358
296
344
315
288
326
415
345
211
317
376
217
315
324
254
302
364
327
348
336
369
303
315
337
268
275
286
313
330
268
322
310
398
422
349
382
342
345
209
305
290
364
277
320
321
244
365
335
367
243
304
302
277
279
266
383
296
332
276
319
293
375
247
251
303
328
322
330
300
195
327
256
305
261
347
329
303
330
352
286
359
269
328
356
332
309
347
379
317
305
337
351
328
332
271
301
294
297
378
338
287
305
313
314
178
280
246
325
328
278
294
294
317
286
290
344
319
277
302
296
274
264
390
306
309
322
270
258
289
326
314
323
310
369
280
296
360
271
174
330
340
361
267
364
315
364
337
363
359
311
367
310
315
316
297
284
277
263
319
289
317
390
357
353
322
253
311
267
326
309
317
343
284
284
292
221
323
316
342
333
265
316
344
311
256
287
273
373
247
330
298
294
337
180
192
347
339
237
288
334
309
283
342
354
324
416
323
334
279
369
301
279
280
289
314
337
298
300
312
260
362
349
312
251
264
370
318
317
278
341
353
367
299
324
340
308
317
302
314
281
254
332
292
307
356
267
317
242
326
355
342
244
306
242
415
331
303
327
315
349
403
362
304
324
295
373
343
344
309
311
243
318
328
294
317
407
289
266
408
313
324
355
314
359
265
300
324
307
278
325
325
286
365
333
303
262
307
358
304
282
386
249
328
245
258
356
343
281
386
264
253
439
225
301
282
311
282
343
336
377
373
312
298
331
316
305
323
262
300
308
291
277
270
326
374
263
397
286
258
318
338
277
316
400
353
380
330
337
254
309
240
308
285
254
308
332
355
371
364
340
258
308
345
361
330
334
275
362
310
336
312
302
277
239
312
291
327
340
335
320
279
328
431
226
282
218
295
304
310
370
297
301
285
365
331
342
300
365
398
332
246
357
353
304
266
360
197
368
259
305
275
263
275
236
270
339
261
257
341
257
367
267
271
304
339
273
368
363
240
273
323
343
283
354
264
338
342
273
367
341
274
305
348
234
267
317
296
273
325
399
170
336
270
269
369
260
344
296
364
348
287
373
312
337
294
276
347
340
280
304
276
294
242
231
386
283
262
387
341
279
226
290
358
282
302
201
310
264
258
296
288
388
327
322
299
347
359
221
280
295
337
315
299
280
292
261
338
364
268
339
261
327
352
363
342
310
352
357
307
394
326
349
364
324
280
293
368
235
344
286
270
308
316
322
426
258
297
322
271
275
289
310
315
245
336
218
297
265
303
291
284
224
293
404
298
290
267
318
350
245
359
333
320
290
406
306
300
272
388
374
292
291
344
375
246
315
333
351
325
344
363
312
334
323
358
301
336
276
313
291
222
308
384
347
288
328
283
241
388
346
382
272
355
400
439
328
307
309
263
343
267
247
338
314
299
292
325
292
344
319
284
353
312
262
264
348
279
284
227
256
300
264
353
343
326
201
348
266
354
356
330
260
290
323
285
243
388
355
331
312
365
368
362
279
331
408
350
347
300
298
400
325
353
331
308
336
272
280
289
288
208
290
319
267
306
360
389
370
311
350
360
369
372
289
313
279
259
348
332
332
261
249
255
359
309
325
318
270
331
392
330
316
290
351
342
383
367
215
401
306
365
263
340
393
366
269
300
340
314
332
311
345
361
254
390
307
347
345
364
350
326
372
371
249
379
312
366
321
337
297
278
396
315
343
267
351
305
405
327
403
361
336
351
355
384
370
307
339
428
264
303
346
336
229
269
371
316
338
377
311
318
258
336
276
317
335
232
355
272
309
340
379
337
327
388
260
320
419
314
292
342
330
300
327
375
291
360
389
333
265
414
231
339
321
287
307
326
351
299
292
283
377
407
366
359
349
330
300
349
345
364
315
330
435
320
299
276
347
290
274
262
328
259
318
370
350
280
306
311
387
364
322
322
319
326
355
336
336
284
331
272
285
304
338
270
303
432
318
366
328
355
344
451
292
256
281
257
287
330
287
253
231
371
279
397
293
336
248
360
361
361
337
336
369
268
378
330
303
391
398
358
255
271
416
301
342
324
378
267
293
319
385
331
368
336
283
321
312
242
295
292
348
341
285
347
280
296
357
297
295
388
366
356
305
339
312
292
401
351
382
306
291
368
219
355
372
284
266
387
307
265
320
354
323
408
226
339
278
326
272
315
340
362
328
287
318
321
345
318
317
327
301
354
355
297
303
308
338
281
334
302
319
268
306
369
341
303
319
351
320
320
371
324
383
312
327
210
300
344
346
353
290
270
341
346
288
328
290
294
366
277
271
323
362
341
314
299
323
346
237
318
311
304
335
370
373
339
333
300
353
297
346
278
396
328
359
327
291
373
346
285
292
268
328
325
222
377
356
302
266
228
291
326
350
261
267
298
378
321
384
340
364
286
318
374
264
305
354
389
293
293
313
306
316
278
259
295
287
251
348
310
360
324
305
354
351
307
335
254
295
346
249
333
318
330
303
361
286
316
388
355
263
343
272
313
274
313
271
356
366
338
343
348
362
324
297
398
296
272
294
256
247
389
384
315
314
264
218
304
329
346
375
317
369
340
301
341
351
339
398
327
314
232
323
269
354
358
333
218
358
296
325
233
338
311
332
258
316
331
262
325
369
359
318
311
272
267
282
311
346
384
334
356
250
245
362
253
313
251
285
352
304
295
268
351
299
284
207
299
314
258
286
317
364
340
332
351
279
330
297
265
360
344
354
243
352
299
358
365
365
316
289
337
282
377
338
326
305
170
328
345
265
273
333
315
288
324
285
349
340
322
305
305
339
326
326
326
324
344
342
340
306
314
273
254
279
293
373
301
295
257
252
334
374
346
330
292
314
350
317
279
348
334
348
309
375
299
324
277
321
369
262
257
215
330
241
219
330
323
332
360
274
297
416
346
347
337
299
288
305
275
300
371
313
355
331
264
394
302
306
372
310
217
367
321
277
356
409
346
362
371
288
392
363
381
245
341
355
314
292
402
339
295
323
246
369
272
310
366
319
353
333
279
347
283
282
283
268
350
342
286
283
367
386
258
356
319
344
314
322
308
373
283
403
320
328
290
380
317
334
341
307
311
226
366
304
349
304
257
298
276
354
317
425
364
353
300
333
308
292
357
308
339
317
352
345
254
321
329
369
380
283
355
325
379
261
263
332
319
389
328
363
351
225
384
252
326
300
362
315
269
362
351
334
251
337
346
288
275
339
348
261
234
297
322
243
325
287
305
272
256
319
252
326
288
385
235
318
343
308
360
291
271
324
340
324
270
241
366
313
328
219
296
283
267
280
269
339
304
296
286
353
308
323
383
339
274
367
375
312
315
319
287
326
290
331
366
359
325
268
284
244
316
311
333
278
317
304
313
323
296
272
298
274
330
370
328
297
312
334
307
371
369
287
360
359
312
277
334
342
330
314
348
272
362
360
367
298
383
235
333
335
315
326
345
335
349
255
274
358
409
237
346
307
259
205
350
323
329
252
366
356
348
362
287
252
331
328
264
313
389
280
260
414
237
260
301
362
306
308
244
337
333
290
337
291
257
286
370
315
346
312
321
300
341
322
308
389
372
339
276
308
342
368
347
304
342
279
375
260
369
357
338
302
262
396
277
179
358
350
317
332
251
256
252
297
375
355
266
312
251
327
258
301
349
343
321
391
239
357
349
363
271
274
325
379
297
301
329
318
263
319
309
317
293
306
287
387
375
291
241
371
434
250
333
321
271
314
307
276
269
269
342
299
271
325
337
310
402
238
224
404
259
344
297
397
296
424
345
392
227
382
281
260
295
283
294
261
248
322
361
270
257
339
264
375
338
347
344
253
313
332
277
296
284
323
366
338
294
258
308
352
325
397
280
401
366
261
304
307
358
360
336
274
358
252
323
275
348
316
357
372
301
234
268
319
335
239
300
331
319
322
387
336
331
267
273
392
370
291
324
367
261
386
338
306
303
335
275
300
319
324
222
304
366
442
298
372
396
243
303
317
298
224
333
243
357
345
201
302
247
296
384
332
300
311
323
343
283
328
283
304
358
299
357
359
266
303
333
344
338
362
383
277
317
290
340
334
337
327
361
305
253
308
284
247
417
254
399
366
374
266
327
299
310
348
302
306
333
294
390
303
382
268
313
324
353
425
291
316
243
318
362
308
268
304
260
254
239
331
336
314
285
312
295
284
383
262
305
384
400
247
403
294
353
284
316
396
364
307
324
274
324
342
364
276
279
326
303
287
339
303
290
282
320
324
367
288
322
375
358
288
330
264
336
379
361
343
437
274
319
230
362
380
316
357
354
340
210
181
293
399
220
308
300
270
287
290
316
293
366
292
269
273
328
340
388
310
286
235
293
305
271
277
303
319
291
387
253
314
289
405
301
387
258
348
305
347
386
312
371
261
278
354
309
294
285
284
355
323
292
312
285
332
346
301
283
376
334
327
329
270
371
353
304
311
364
237
412
321
262
331
352
356
306
314
333
298
299
253
325
310
280
275
383
262
309
327
319
320
298
314
194
368
330
270
273
360
315
417
250
227
339
390
361
318
342
317
303
322
348
276
354
350
321
346
242
380
274
206
333
331
311
334
329
350
385
233
350
331
322
287
350
312
340
248
301
384
302
311
358
254
337
200
288
280
355
349
436
320
418
324
347
318
280
348
271
270
339
295
277
348
410
345
361
265
357
335
317
339
330
362
395
335
330
260
263
322
388
304
321
370
274
304
331
286
294
260
387
291
375
322
292
309
382
238
275
334
331
372
318
339
308
321
334
316
246
226
319
269
289
329
270
381
275
274
295
311
302
334
344
375
260
316
296
236
282
292
281
302
345
315
318
244
246
322
317
291
283
318
324
220
318
294
348
275
340
336
310
248
273
304
261
318
364
373
311
323
281
349
313
366
237
329
291
280
326
253
355
336
399
303
308
207
295
328
303
204
367
331
298
233
459
341
366
313
276
177
374
323
285
296
358
335
340
314
242
314
361
306
317
350
372
362
276
287
350
363
308
330
356
348
324
350
224
273
282
253
265
286
271
294
278
311
328
233
259
241
372
310
319
349
307
312
286
341
331
310
316
226
377
315
344
292
410
275
279
295
336
283
330
307
317
246
317
381
347
381
343
342
377
285
381
345
357
257
317
242
427
287
358
291
261
293
316
341
322
347
327
200
257
326
345
357
270
382
211
348
339
280
405
266
256
275
365
303
305
386
350
352
193
391
285
311
311
359
300
313
331
301
342
374
336
377
355
314
310
298
326
372
290
271
332
266
278
274
340
323
410
304
373
387
393
349
287
210
330
350
372
270
364
200
271
253
325
238
357
318
354
249
352
279
353
419
343
356
256
362
275
297
269
300
344
327
342
286
310
310
365
297
228
312
314
335
330
357
298
339
343
376
330
311
243
353
338
370
343
250
323
318
306
273
421
334
311
313
320
323
274
355
289
322
270
398
315
345
292
334
315
362
342
318
367
313
318
329
271
309
295
328
242
320
266
300
356
424
328
314
389
310
357
261
361
353
321
343
339
270
340
339
310
331
321
283
270
282
305
265
348
297
341
367
225
384
366
250
309
339
318
437
372
301
286
369
371
420
322
411
333
279
322
333
316
339
283
338
343
346
258
293
219
303
354
363
330
380
320
298
210
361
326
334
283
335
269
319
210
360
395
313
373
314
313
295
338
354
336
315
295
265
379
325
405
291
248
300
248
287
232
356
315
252
360
325
298
234
365
343
345
399
351
341
348
301
311
244
355
337
279
328
262
259
341
274
303
323
317
346
331
283
253
310
379
361
341
297
330
279
307
368
305
283
365
396
358
376
301
336
319
301
353
324
350
328
339
359
349
278
367
383
285
299
317
349
263
342
315
299
314
307
250
332
328
384
298
329
328
361
340
222
336
227
337
333
266
307
288
305
320
296
372
308
352
394
327
288
247
262
360
241
324
402
277
244
288
308
273
325
305
315
289
304
281
267
404
310
348
367
332
335
329
315
234
304
365
210
318
387
407
288
285
370
332
362
291
332
343
212
281
247
361
326
338
324
319
336
330
329
284
290
393
298
303
339
276
309
313
334
359
293
276
347
273
326
293
263
232
354
308
356
272
279
273
299
366
319
300
371
342
304
299
265
295
289
350
317
312
273
375
226
346
297
345
360
345
319
353
255
309
276
310
343
279
394
305
237
294
239
370
326
298
260
331
289
267
303
317
345
251
354
314
298
338
281
323
322
279
349
361
296
348
302
323
354
292
301
331
371
346
311
325
316
315
283
364
332
261
296
262
261
277
386
382
359
288
352
320
382
372
388
305
344
253
305
327
211
301
288
259
401
353
273
320
259
318
253
335
231
342
369
336
386
326
367
241
369
332
393
349
240
221
303
309
283
392
350
259
353
269
337
346
199
292
284
330
299
340
311
330
287
286
398
287
359
308
344
283
370
382
330
317
273
325
277
351
377
295
360
360
279
298
309
295
334
381
279
341
292
272
322
366
319
396
327
336
363
359
301
374
362
336
412
319
303
326
223
260
341
248
272
338
364
336
365
283
216
322
281
345
302
392
352
344
300
323
295
191
330
311
350
340
379
302
311
326
277
333
349
290
335
301
316
285
378
350
403
342
354
321
290
289
291
302
316
331
224
266
352
255
305
361
378
277
345
302
343
396
252
267
192
339
257
298
322
341
284
362
380
262
291
325
371
331
308
303
308
301
391
277
266
297
391
278
298
340
331
299
189
254
319
331
378
277
343
328
297
356
369
331
176
388
357
296
260
338
262
316
334
327
299
306
309
312
343
328
335
216
283
305
342
251
374
366
336
306
296
288
391
297
271
325
313
346
270
338
295
292
300
381
273
289
328
248
276
364
400
298
289
315
272
346
277
301
314
210
340
339
254
293
327
369
250
321
389
313
256
360
319
239
299
354
257
272
314
339
250
312
361
212
271
231
292
365
312
230
373
305
357
316
315
312
324
329
345
371
325
358
269
223
287
300
320
340
389
354
344
397
366
312
205
253
292
295
348
320
289
314
284
294
246
312
333
331
377
315
282
293
344
240
328
296
325
319
291
310
316
396
354
368
329
280
278
384
273
398
276
326
362
289
312
314
329
295
286
304
398
354
290
356
355
304
321
351
343
254
345
300
311
315
330
320
360
318
326
256
391
335
347
342
308
316
298
232
380
349
380
370
261
429
371
328
295
330
311
244
283
279
342
295
322
294
337
332
341
237
259
366
315
359
360
241
314
362
303
277
297
257
289
287
265
340
388
361
339
237
391
345
382
385
247
243
271
392
243
266
341
282
340
375
354
356
317
289
336
335
278
298
429
213
343
264
253
315
339
297
308
338
303
340
327
258
319
365
347
331
320
338
267
310
392
364
241
339
340
262
325
303
293
311
311
315
382
382
401
278
328
274
311
319
306
380
296
239
303
321
291
337
293
269
284
309
316
318
336
323
401
384
353
348
320
307
322
301
273
341
233
232
341
360
373
380
337
352
392
358
273
315
322
252
364
366
305
345
330
299
293
325
269
338
347
332
344
290
265
391
322
284
339
356
342
287
295
339
241
278
370
318
290
299
253
357
357
259
349
262
371
311
313
270
311
332
293
292
275
357
355
237
307
306
337
334
275
290
311
310
345
319
315
345
271
264
337
365
295
349
333
273
375
261
325
257
430
281
296
292
293
358
339
281
332
289
356
354
327
340
320
338
346
295
283
302
348
321
358
296
320
279
367
311
345
299
316
320
347
366
298
269
302
302
351
375
289
241
193
296
316
363
380
344
273
273
221
264
240
350
348
317
335
328
362
373
341
357
267
386
302
305
313
213
382
289
388
261
355
266
281
270
363
333
331
331
365
362
321
351
276
330
265
308
329
311
323
340
302
304
351
408
375
313
324
326
391
286
321
293
293
312
347
347
252
316
321
355
324
228
342
301
328
308
309
345
218
334
316
350
357
252
350
287
276
357
338
338
298
251
392
271
330
340
280
359
336
357
328
334
332
302
322
303
336
294
416
322
309
379
233
295
359
329
403
329
264
254
242
285
345
344
328
335
251
312
362
272
341
359
300
302
349
327
273
325
336
328
308
263
289
264
265
331
371
281
318
310
289
308
279
370
274
366
353
337
342
343
312
349
246
359
356
311
309
399
329
309
278
260
315
278
318
345
311
282
391
347
304
231
327
327
328
358
328
351
282
311
336
311
233
348
358
352
294
318
366
309
318
314
328
303
367
326
389
270
363
349
316
369
274
301
289
355
297
279
394
287
327
400
245
318
280
315
402
346
276
323
354
330
317
321
338
399
278
354
374
301
277
273
305
338
256
233
278
377
315
310
382
151
328
354
358
316
302
296
318
279
388
309
332
362
364
347
351
286
353
319
386
325
390
262
343
262
388
313
390
370
389
264
319
387
308
254
329
356
297
323
282
345
269
325
337
409
307
350
343
353
398
313
238
374
307
208
352
313
351
363
275
306
338
271
384
345
271
268
369
276
226
355
334
326
279
388
349
305
261
343
317
317
291
311
387
354
315
328
275
382
331
261
372
325
289
325
352
352
331
348
256
345
338
318
313
289
377
303
271
325
296
322
306
343
289
361
267
365
302
350
342
296
227
344
249
286
359
307
301
355
307
277
385
328
318
281
324
405
277
327
332
253
308
318
271
307
376
261
283
346
394
337
402
426
339
293
338
284
421
269
300
283
303
327
338
335
327
307
308
279
299
301
334
306
331
229
269
329
310
389
280
347
250
336
343
349
329
356
338
309
326
261
374
311
341
281
277
223
358
342
354
365
303
183
289
299
315
390
333
268
270
344
273
214
376
353
226
347
313
311
273
292
364
299
301
386
315
322
322
321
305
350
267
363
347
355
218
238
349
352
349
403
285
322
347
296
257
373
317
325
295
337
390
335
271
265
386
277
409
291
351
368
325
314
288
296
296
306
249
259
301
377
342
355
332
215
304
356
299
278
346
344
349
264
306
358
332
279
299
300
296
305
316
283
286
347
386
344
401
357
373
341
326
373
304
290
311
290
365
264
393
361
335
334
340
370
352
279
311
247
271
226
295
381
375
371
320
292
299
360
276
230
294
399
398
349
356
293
314
237
340
306
329
282
273
351
327
340
237
314
262
309
378
440
245
370
326
270
275
283
283
304
356
249
340
357
294
343
321
293
353
334
309
266
351
260
287
296
318
411
350
247
266
354
301
375
292
351
311
331
331
279
409
322
378
309
283
291
350
250
433
295
373
335
280
226
342
324
284
305
344
279
296
315
330
344
310
303
284
325
304
293
340
334
249
338
292
271
328
315
347
347
274
256
394
302
355
240
328
283
252
248
252
305
338
288
271
361
285
301
339
340
187
337
268
344
399
274
207
340
242
385
294
432
282
348
379
402
364
352
331
319
271
368
352
264
319
323
267
335
355
304
307
285
283
338
380
352
373
250
305
321
385
356
299
288
288
398
336
338
324
289
376
324
316
352
281
325
336
336
260
330
320
365
246
338
350
346
321
335
348
345
332
414
280
388
279
376
360
298
321
329
283
366
369
250
414
356
330
298
283
295
334
294
301
337
388
294
287
311
376
288
250
272
306
320
326
230
252
270
365
392
285
378
305
314
371
356
309
352
305
333
313
252
276
231
295
448
265
314
333
304
290
318
315
399
261
335
334
359
341
273
424
340
275
326
320
334
249
360
306
284
344
382
353
347
224
247
360
319
344
254
321
407
225
340
285
368
307
344
212
268
266
323
363
341
385
260
396
338
315
273
256
308
287
310
295
262
322
292
260
268
282
322
319
265
236
320
313
349
420
314
274
374
324
313
340
378
275
316
332
296
331
320
274
281
283
261
245
388
276
277
288
334
310
302
347
354
276
288
368
274
310
352
359
272
321
388
312
250
365
307
327
337
306
370
354
379
312
244
253
337
392
340
324
227
319
330
275
362
339
343
352
294
311
248
345
243
290
307
261
397
344
322
375
278
321
329
264
308
219
341
278
399
335
274
359
338
351
353
339
302
294
367
251
314
334
341
294
342
262
328
343
292
250
266
348
312
274
272
324
354
360
301
327
285
340
311
307
306
298
300
266
377
250
385
374
226
366
315
258
389
354
275
282
342
322
323
352
306
289
261
241
312
363
388
297
329
443
348
356
351
316
273
284
353
259
293
243
330
299
264
394
357
319
318
346
353
292
333
308
292
256
285
300
315
326
361
301
286
337
264
360
373
383
349
345
282
317
398
301
348
403
367
270
290
319
256
296
242
308
310
296
285
353
337
404
426
284
280
261
358
319
311
316
240
212
278
339
313
352
277
359
364
290
253
325
351
276
260
245
356
259
314
321
313
335
339
211
209
361
328
334
360
365
333
293
383
274
384
328
364
336
358
357
260
208
337
361
383
257
370
380
298
351
388
265
381
334
278
421
297
376
361
368
242
288
309
320
383
296
349
309
397
303
310
356
387
321
299
378
242
358
355
301
239
340
251
368
316
297
288
270
313
333
350
321
306
327
241
300
359
299
384
330
366
353
287
346
324
226
311
314
275
254
331
290
390
286
342
274
305
361
276
352
277
316
309
259
285
293
266
251
379
412
382
323
302
377
354
272
340
381
264
224
254
352
282
247
254
324
331
358
307
324
298
272
284
357
280
330
301
315
241
324
269
384
301
342
327
279
350
365
331
396
297
250
401
327
253
338
283
293
292
361
289
261
211
313
321
335
364
291
391
292
290
349
312
371
272
332
220
326
333
297
329
381
263
267
294
407
313
332
278
267
322
338
319
358
341
385
352
301
321
385
319
290
340
306
305
257
357
259
356
327
386
310
347
369
284
343
309
396
252
289
401
281
360
327
402
309
277
368
343
381
266
331
293
259
303
247
320
252
371
385
314
343
300
277
363
266
404
298
276
246
342
322
188
280
312
302
278
280
335
327
316
434
170
273
273
362
275
297
370
326
272
250
347
373
307
281
323
325
324
269
372
347
373
278
322
335
339
341
375
256
321
376
339
259
296
317
290
344
289
376
317
353
332
343
340
334
328
363
370
389
284
303
323
348
331
301
321
249
298
372
286
293
315
309
284
294
352
276
214
217
235
339
366
345
349
269
337
339
310
402
299
384
281
344
277
253
317
272
203
314
301
284
268
331
333
269
310
378
423
337
311
284
318
338
339
297
346
360
288
351
408
390
343
356
339
329
267
318
285
227
379
375
384
305
348
347
264
356
300
368
256
305
272
305
254
331
374
240
346
339
242
288
303
396
251
332
299
244
364
348
378
309
362
338
277
387
370
295
339
337
362
337
344
276
322
378
254
327
278
331
295
420
340
285
365
334
270
285
265
400
282
378
358
322
261
253
270
359
318
261
290
331
266
278
172
306
302
350
253
335
308
336
299
329
353
276
318
390
305
289
368
306
324
310
328
304
279
380
353
308
328
339
349
396
335
350
313
331
326
285
302
300
321
315
273
289
244
305
352
280
330
414
381
306
402
286
377
275
325
343
291
259
389
322
324
301
300
350
282
322
289
404
344
356
280
306
327
330
319
324
258
313
276
274
310
327
356
224
266
308
304
333
342
366
276
375
329
268
320
304
293
308
309
289
302
373
328
372
342
363
222
336
273
295
309
369
285
247
326
334
246
329
345
285
320
306
278
294
388
314
343
313
340
371
293
315
351
322
351
248
329
264
374
354
330
347
314
319
195
336
266
342
285
333
367
271
322
328
309
383
282
260
324
312
298
275
336
321
367
315
272
271
399
330
357
387
302
360
276
304
378
422
257
328
333
388
348
269
285
329
279
284
265
339
265
319
280
313
395
393
292
311
308
317
260
387
285
309
294
285
440
358
399
302
328
320
361
359
307
312
336
400
419
309
363
334
403
327
320
299
298
319
342
257
377
225
301
357
269
334
342
330
277
290
241
312
331
289
233
323
319
300
298
324
250
378
275
336
358
415
416
459
226
367
348
299
335
282
254
333
349
298
363
271
314
289
350
344
356
330
315
283
286
310
326
374
302
291
279
356
316
313
335
366
307
243
270
352
359
323
329
226
334
262
309
348
256
323
248
401
361
343
267
354
292
303
328
395
299
318
294
316
316
319
306
189
319
359
393
229
275
290
365
372
253
245
302
264
245
284
320
322
305
329
315
262
326
309
282
363
309
286
396
325
342
288
311
353
213
355
295
268
347
395
338
294
271
264
275
330
377
353
320
293
253
289
312
400
356
358
330
341
303
349
300
347
265
386
349
375
323
284
334
327
317
313
341
327
317
317
344
333
291
295
326
283
385
292
302
373
375
235
350
255
271
350
288
304
274
306
355
396
367
259
398
415
325
376
381
320
247
275
282
335
308
357
337
326
324
352
314
350
281
333
423
231
320
351
315
312
328
359
224
318
355
316
292
341
316
359
367
314
289
320
302
322
334
378
312
339
328
284
308
383
355
353
326
255
341
316
328
385
379
270
303
347
359
331
412
325
311
358
289
330
339
325
273
341
267
294
273
380
310
252
317
293
294
337
309
343
288
417
327
304
383
413
246
349
263
274
283
358
394
322
338
263
259
386
367
286
309
290
376
322
280
313
279
309
425
347
351
334
303
274
308
362
296
332
345
233
370
304
287
299
369
366
283
361
306
383
354
343
319
301
328
242
360
245
317
369
316
376
338
305
367
314
382
377
359
372
264
254
269
393
250
303
308
336
286
295
343
272
382
325
374
329
283
219
285
305
370
352
303
330
339
311
266
280
357
262
311
337
302
321
326
369
344
353
426
251
287
332
218
365
424
347
277
368
358
366
357
289
359
422
337
322
300
393
350
322
293
343
286
359
363
274
341
390
257
282
354
343
268
279
292
246
230
296
390
289
274
337
361
293
317
329
374
289
306
249
415
237
378
265
274
364
229
301
259
275
268
326
277
334
289
342
335
327
313
377
336
305
277
305
253
300
349
281
279
372
349
302
300
340
277
324
289
318
299
381
348
341
339
348
329
280
332
382
340
390
378
346
358
337
281
253
295
236
330
219
269
347
349
351
391
298
323
363
335
293
369
320
366
328
294
297
249
357
313
355
310
344
357
281
354
344
348
297
250
303
269
352
330
271
396
268
283
285
301
291
389
373
273
287
250
301
321
362
342
285
363
308
226
306
282
427
318
238
393
272
367
360
286
329
322
271
439
282
316
234
342
360
337
332
258
318
366
343
309
272
296
234
313
348
287
238
284
257
344
325
246
335
306
386
340
359
331
420
346
347
377
351
300
327
322
300
232
346
339
388
313
219
357
308
286
307
230
286
332
288
317
364
280
362
309
328
298
337
287
338
312
346
376
265
300
363
346
371
282
292
286
284
250
277
264
280
335
292
315
305
305
365
418
347
279
276
372
314
298
283
257
256
359
364
311
292
293
360
313
344
319
427
305
316
275
294
258
312
315
299
295
286
332
326
335
297
342
378
301
329
309
341
349
336
198
291
215
290
296
218
254
420
251
353
411
374
304
270
328
357
280
323
344
361
296
306
215
347
396
346
378
378
390
290
309
289
354
365
348
217
324
366
268
325
325
317
381
335
405
271
342
399
302
311
393
356
324
302
431
363
308
402
276
347
333
316
319
377
255
308
351
373
257
315
340
318
274
308
276
381
334
297
346
269
337
347
343
338
396
338
391
340
342
397
367
381
277
331
325
300
303
349
356
361
307
368
351
270
313
372
299
390
346
329
226
283
193
293
380
310
312
316
340
332
361
292
303
240
367
328
281
304
233
320
299
244
304
348
283
343
287
343
307
259
381
306
346
329
378
290
365
313
332
300
339
309
298
321
361
263
338
304
261
302
322
318
336
300
310
385
304
312
277
262
305
355
343
350
333
322
188
437
376
315
313
315
338
250
351
308
311
315
378
301
317
372
424
302
336
363
330
238
301
297
300
334
335
285
242
276
342
293
342
210
346
183
285
311
332
355
241
275
379
372
217
365
305
338
377
331
370
310
303
194
339
384
310
468
288
323
270
369
409
322
309
328
223
325
369
259
359
301
226
316
400
312
288
242
331
367
275
279
396
359
350
252
342
279
316
277
326
355
335
370
320
253
284
346
365
383
316
338
433
277
292
332
341
286
342
384
306
313
296
323
320
306
299
303
317
429
404
273
283
207
342
325
276
339
390
409
343
329
338
219
309
313
285
356
313
337
367
327
236
249
341
387
392
354
390
324
312
360
360
331
344
309
297
333
320
305
326
304
319
295
394
365
305
390
272
408
291
314
286
389
392
342
306
237
305
463
231
285
280
282
315
300
356
308
323
352
271
340
352
320
319
286
308
377
369
288
268
355
337
242
370
252
320
292
371
292
285
383
301
312
396
408
352
283
332
443
337
287
359
279
325
300
346
227
275
331
267
300
318
334
270
359
327
314
276
323
296
285
334
334
292
228
279
330
330
229
314
268
207
292
257
307
332
301
274
310
404
275
248
367
361
391
288
320
300
308
311
440
381
356
351
269
325
318
213
289
346
319
351
372
331
291
309
255
373
411
353
333
346
408
379
246
292
272
329
344
310
296
373
379
341
316
382
241
261
274
341
354
367
243
367
275
241
320
237
341
317
299
303
274
264
347
297
324
345
327
314
297
318
317
265
266
304
266
306
322
258
313
384
261
331
316
266
277
338
174
373
350
276
358
242
216
203
376
280
361
378
291
326
364
295
329
333
344
313
332
325
289
343
342
286
360
289
390
332
337
367
409
501
340
291
256
307
305
322
247
309
320
327
241
333
351
345
342
268
322
387
336
185
304
268
263
244
228
316
333
381
285
289
303
335
328
321
326
304
304
342
234
411
353
425
286
312
313
285
235
361
383
273
388
339
359
381
326
316
339
314
347
382
345
282
402
347
290
317
289
348
345
306
347
289
341
292
294
285
326
299
239
373
341
387
308
330
261
307
319
328
248
298
403
334
387
319
255
357
294
338
353
327
312
343
359
311
286
389
303
353
289
344
308
301
300
336
349
338
277
325
244
332
331
364
268
344
425
351
352
317
287
389
274
370
282
241
280
326
304
302
333
278
300
387
318
334
384
317
298
280
310
353
366
373
320
298
363
284
331
344
347
317
269
370
334
315
328
338
220
282
315
289
283
323
320
308
348
253
375
382
314
287
384
345
337
305
258
193
413
285
367
251
345
332
281
392
271
350
361
352
322
303
317
244
342
329
381
379
350
350
263
307
263
270
323
366
341
343
371
384
368
334
351
315
292
357
274
288
308
256
359
296
322
304
360
346
251
272
374
303
321
320
403
284
282
307
362
256
362
378
266
298
365
288
273
280
345
260
292
267
335
268
265
205
389
369
308
355
345
355
346
319
415
339
289
189
307
317
364
287
380
310
346
339
369
299
331
240
332
385
278
262
399
346
327
278
266
297
337
341
226
343
336
410
356
377
255
321
355
386
256
330
241
265
263
300
351
302
340
316
324
404
365
297
271
288
277
285
312
363
376
313
241
276
288
323
344
269
284
329
360
310
324
438
360
360
305
330
254
401
359
381
336
317
247
342
328
363
373
345
288
336
207
313
363
289
341
312
357
332
285
292
392
309
354
358
347
272
348
263
307
346
266
363
351
366
343
314
267
284
323
328
368
382
356
297
304
244
293
297
332
349
340
348
323
329
267
371
319
351
351
311
282
294
333
395
305
274
303
387
294
282
374
291
340
219
312
291
262
338
281
378
358
291
281
328
315
411
316
309
377
367
339
382
347
291
256
329
264
362
211
232
334
246
307
274
333
320
260
313
264
244
321
375
338
409
404
408
405
363
276
369
345
308
345
316
397
269
413
316
215
259
269
337
352
247
334
334
431
251
233
362
322
294
271
281
299
339
265
350
292
386
311
246
274
315
313
284
369
273
287
340
360
321
352
385
359
338
303
348
327
331
258
381
390
298
232
376
257
322
360
275
272
344
394
322
339
337
272
334
317
378
286
358
319
376
338
353
293
294
292
340
342
355
374
307
311
385
331
248
273
253
277
257
287
310
311
200
348
265
297
253
303
279
363
409
367
309
238
308
279
305
319
317
306
303
345
354
275
361
278
341
347
228
367
289
303
285
327
386
316
211
272
321
348
246
265
363
305
335
295
269
290
324
320
278
377
326
282
358
294
345
300
347
386
274
290
285
324
381
351
325
390
334
306
269
329
232
281
264
353
380
329
317
294
339
354
337
281
312
309
382
324
227
217
371
395
323
330
304
291
275
302
300
355
379
314
374
318
364
283
273
319
274
246
340
374
303
327
323
367
340
353
292
305
306
357
309
250
317
338
319
284
394
317
301
299
247
335
389
349
320
352
277
396
342
332
373
369
332
300
287
291
313
341
359
379
271
387
323
325
260
340
285
284
304
239
317
249
356
299
260
379
362
386
286
336
426
397
296
240
374
327
296
305
357
406
239
320
370
331
337
320
304
353
371
336
301
283
328
251
361
332
328
249
358
318
287
203
331
306
357
288
342
318
233
347
248
374
329
277
324
289
336
305
408
325
338
324
364
343
399
292
260
303
244
253
365
249
295
180
234
284
341
263
282
333
278
315
333
387
336
283
340
326
305
222
320
329
350
335
280
327
328
320
435
301
246
378
300
340
287
300
242
294
263
323
331
282
311
321
333
210
281
334
284
274
276
363
318
348
273
316
317
297
336
368
279
346
342
326
378
248
279
351
389
277
315
329
335
305
311
326
349
315
351
344
259
282
289
336
359
381
327
342
270
326
288
418
315
291
329
359
288
354
297
296
345
453
274
254
298
282
308
365
234
285
277
347
355
241
360
351
281
286
317
344
299
270
352
281
315
388
356
343
305
347
453
288
306
287
251
260
318
325
385
342
295
269
331
278
296
280
232
200
254
312
272
320
355
373
273
343
335
315
307
283
305
312
347
323
272
298
362
309
308
330
336
362
355
340
275
375
349
307
327
263
313
290
297
344
332
353
383
287
317
402
387
360
269
346
352
324
326
265
298
341
401
345
271
308
269
308
336
326
339
289
326
335
332
343
296
315
237
356
395
245
253
342
268
367
347
275
339
235
248
411
329
308
377
327
319
372
386
288
351
371
377
390
368
339
240
322
318
336
270
376
353
299
333
348
313
240
385
346
359
300
279
298
338
330
302
370
329
204
374
291
377
340
419
355
270
367
280
386
289
248
352
328
351
329
338
368
320
332
342
248
261
298
434
295
272
342
290
338
340
286
395
372
315
307
301
385
335
316
355
349
326
327
286
371
328
341
298
309
409
256
327
305
314
313
302
282
366
332
241
225
296
275
339
287
348
255
310
382
262
348
292
295
216
313
313
235
243
253
369
263
321
301
330
312
297
275
329
333
341
396
345
325
318
242
257
364
313
360
341
308
272
209
309
317
309
267
280
321
380
268
292
322
297
384
316
315
261
331
342
313
256
249
335
317
395
303
333
343
270
258
280
298
299
296
312
281
259
309
272
309
282
337
404
288
381
307
369
233
372
300
367
396
300
292
291
286
311
307
328
293
320
339
266
321
360
374
310
323
350
320
295
373
336
290
401
342
280
310
209
369
411
343
333
420
227
388
322
298
265
305
366
292
313
301
300
351
228
295
362
353
334
266
216
351
349
397
360
285
385
367
289
365
410
374
345
328
331
408
359
402
216
267
224
312
327
262
272
343
405
249
316
298
280
294
315
303
318
343
328
328
365
304
368
319
311
170
352
328
323
412
350
235
309
348
320
324
295
410
276
296
349
300
369
293
346
327
264
306
319
286
304
356
372
259
334
355
323
400
274
314
309
358
280
295
335
328
260
298
290
316
290
368
297
258
340
338
230
339
299
393
348
282
364
318
304
326
364
320
385
260
375
408
280
345
366
324
292
281
288
292
306
243
397
318
253
344
288
283
338
304
279
279
305
315
339
253
196
368
235
268
357
295
291
341
283
344
280
210
277
306
326
289
268
340
323
196
249
300
336
349
378
381
304
299
295
358
312
334
311
348
286
296
343
276
307
310
366
330
381
270
332
315
305
343
359
279
256
308
323
313
384
395
341
285
252
345
353
322
330
279
413
341
262
347
380
392
343
264
371
336
275
403
380
304
302
359
307
308
310
189
297
329
351
362
360
279
352
323
242
338
376
341
379
347
245
312
385
309
332
316
326
256
360
345
313
269
318
316
352
241
297
348
349
372
373
326
333
300
306
391
355
365
266
204
339
322
344
358
325
305
324
290
322
281
331
222
360
293
235
323
344
321
281
272
302
318
341
342
265
258
301
295
339
317
307
263
325
342
320
292
251
299
293
305
366
301
275
373
296
312
352
341
317
313
254
298
339
262
223
385
351
336
297
342
376
295
365
279
362
269
226
269
297
256
252
340
356
355
326
303
321
326
336
308
335
339
251
344
266
299
330
289
279
282
376
351
381
287
271
328
293
377
272
355
262
384
331
285
218
271
275
399
357
338
330
361
367
346
331
274
306
287
331
345
276
215
343
261
312
346
298
317
305
316
326
337
337
267
233
316
278
310
295
285
276
341
380
311
296
270
368
279
333
323
319
322
302
316
306
288
267
328
401
320
331
358
359
275
429
336
344
364
335
333
369
295
304
347
270
354
260
281
281
309
247
338
359
292
290
384
305
237
316
297
349
397
326
321
299
239
345
243
379
268
257
309
315
333
310
321
306
319
320
260
312
371
302
325
309
306
281
311
252
354
344
322
270
335
318
318
325
374
297
258
334
299
379
258
332
297
201
317
354
327
345
310
325
371
268
329
297
317
333
297
275
290
401
380
259
293
303
282
360
392
310
329
294
361
346
243
314
331
262
351
279
288
279
300
297
373
315
372
305
244
299
408
272
344
274
241
332
313
326
267
388
308
352
342
248
319
331
273
348
307
249
316
270
330
297
340
280
348
292
277
329
366
281
294
316
290
280
329
335
315
436
399
321
287
319
369
285
349
253
253
354
314
364
393
358
329
343
316
283
324
373
283
346
307
264
371
341
308
424
285
373
348
339
279
206
303
332
326
314
308
332
244
324
312
318
364
251
377
309
326
356
256
386
369
342
298
323
353
374
291
361
330
338
321
340
329
299
327
336
355
260
322
354
372
279
240
279
334
413
316
291
274
320
294
368
356
347
357
317
315
337
275
291
306
319
240
273
334
402
351
395
350
314
315
365
265
313
326
386
303
276
335
313
343
292
232
298
320
294
317
324
344
406
353
313
286
346
394
367
331
328
331
285
313
324
365
342
374
265
337
366
274
223
293
323
317
288
263
317
212
417
327
288
316
317
246
272
330
232
362
249
316
316
291
360
414
309
349
351
351
288
270
329
286
354
332
398
345
315
291
308
343
352
301
250
300
327
306
334
304
319
276
263
301
330
288
336
354
293
232
409
329
441
377
365
265
365
311
357
364
387
288
270
255
276
260
350
284
303
288
316
357
317
306
275
333
317
266
307
240
329
292
380
334
313
344
316
248
362
326
379
296
340
307
321
261
372
235
317
258
225
261
272
262
321
375
322
349
266
313
209
375
426
275
316
329
337
289
315
231
298
281
348
281
342
423
348
268
298
331
358
289
267
321
297
344
349
366
311
337
324
201
280
279
306
282
326
240
335
323
344
319
326
284
254
274
316
394
325
276
306
263
296
294
360
232
327
267
249
286
314
345
297
261
343
287
322
374
391
334
299
304
364
330
321
310
263
301
304
302
290
326
338
381
331
296
298
274
322
275
401
332
291
313
294
336
346
267
352
338
346
283
364
282
323
313
340
356
394
306
306
239
363
335
298
263
298
298
314
352
227
343
334
328
303
348
176
226
322
333
352
288
294
294
332
299
292
310
279
285
289
332
326
360
302
314
312
303
318
350
272
288
223
356
267
261
164
232
297
333
390
281
385
305
285
327
328
242
343
367
389
282
331
308
348
304
353
287
270
412
379
354
357
346
317
342
304
319
279
395
325
237
337
347
275
324
264
305
344
357
355
331
271
243
294
341
351
238
214
343
326
332
286
357
359
258
308
408
282
304
307
316
330
367
303
298
262
223
395
276
284
250
320
339
360
272
324
308
318
316
255
346
374
329
300
361
226
304
308
346
251
296
377
309
335
315
333
326
337
233
303
322
330
315
376
362
315
322
318
247
307
370
247
308
387
382
262
277
337
309
299
314
296
402
331
277
333
364
331
291
326
370
312
277
328
352
320
325
376
340
320
308
363
347
355
349
271
340
273
378
379
226
358
306
317
401
329
409
335
329
373
377
258
353
293
246
340
308
244
194
347
328
338
264
326
256
345
263
314
252
343
329
324
261
309
319
360
323
321
307
395
344
330
319
350
305
286
289
263
282
421
364
294
327
335
312
329
305
429
294
235
367
364
291
257
345
242
360
308
304
311
312
375
326
441
393
294
267
349
399
336
358
275
318
328
244
220
329
290
293
319
268
284
363
318
262
328
272
363
244
366
278
270
354
296
304
250
328
344
301
354
296
324
317
355
313
363
367
300
356
359
330
312
338
347
348
319
376
330
256
334
280
233
290
307
328
372
333
302
237
333
353
340
366
308
304
276
310
290
332
241
267
323
287
246
240
388
275
283
298
363
377
358
294
298
279
299
319
376
269
221
204
345
300
302
324
277
282
283
277
307
359
308
364
381
393
337
274
292
286
308
325
312
350
315
288
303
252
316
227
314
400
247
343
335
282
321
319
310
346
315
372
366
402
410
255
270
345
269
248
312
303
247
377
247
307
307
368
336
332
320
309
346
369
317
387
283
362
376
302
347
341
326
378
292
364
369
289
288
359
339
327
351
288
292
376
319
301
246
319
230
347
392
341
294
350
183
303
284
284
336
295
380
332
212
266
312
277
235
376
398
385
331
400
340
317
375
289
310
303
322
297
300
323
327
349
331
370
307
249
319
316
282
278
252
261
253
261
321
297
354
331
315
374
349
288
344
318
396
323
334
325
347
355
295
406
301
393
276
300
338
311
317
329
313
327
293
342
345
372
330
351
254
316
357
352
320
319
313
289
346
306
339
346
269
271
328
403
292
336
322
391
238
407
369
350
326
342
254
360
327
349
323
312
320
314
303
329
286
379
309
312
285
329
391
328
257
307
369
291
347
276
386
317
242
268
401
213
300
298
255
246
294
386
270
358
277
346
268
235
480
218
343
285
323
325
261
323
337
347
340
293
356
345
263
305
236
309
235
295
259
351
375
343
290
361
291
318
389
325
239
254
425
329
247
355
323
329
403
436
383
307
389
356
309
293
198
356
258
260
355
383
329
311
281
411
322
253
271
351
274
307
289
277
317
363
329
394
392
267
372
337
359
342
363
328
348
319
345
269
309
428
313
342
318
223
300
314
347
355
257
193
314
359
323
332
299
269
327
298
400
302
295
310
324
324
322
268
285
343
294
286
290
346
290
296
276
344
337
371
333
397
371
333
223
338
373
352
362
270
297
245
317
254
273
367
361
373
291
277
367
315
271
285
331
325
300
301
316
335
278
321
385
361
283
381
374
339
323
389
336
276
321
363
366
331
195
301
309
268
386
184
215
312
379
328
368
380
292
281
324
334
382
290
323
351
325
315
345
338
314
290
257
279
371
366
219
312
299
368
333
276
333
328
389
387
321
286
258
241
358
274
277
370
319
308
278
197
358
301
334
306
352
340
321
268
295
346
330
209
329
295
311
367
269
310
237
409
337
361
338
289
343
333
313
296
268
304
359
261
316
341
367
336
414
376
355
367
337
344
374
279
362
334
311
322
315
336
292
395
267
212
399
399
370
325
215
309
383
349
321
333
327
408
328
339
327
364
356
303
324
326
331
272
399
269
402
421
376
306
334
314
373
334
337
380
340
276
356
332
320
287
343
320
316
378
313
403
269
325
374
386
330
276
346
294
290
321
238
298
351
333
339
334
344
307
347
325
409
335
378
292
352
312
254
349
334
307
356
324
274
371
392
365
369
390
347
289
329
323
267
323
355
374
258
353
377
214
289
225
301
313
282
303
318
353
335
381
345
221
346
370
331
279
355
306
319
306
213
321
283
321
270
293
327
275
265
284
318
317
222
238
340
297
364
382
388
356
333
319
263
269
337
295
376
312
317
374
363
308
265
266
287
290
307
318
294
328
218
304
310
296
277
244
321
346
319
336
299
321
294
321
182
298
328
262
343
400
320
351
273
258
288
396
268
353
264
316
353
395
302
312
314
345
362
306
378
370
306
392
310
374
374
295
329
398
262
341
348
313
353
319
304
295
286
273
377
366
338
324
255
340
376
381
207
338
297
341
321
291
267
297
345
339
316
260
379
381
300
207
306
340
287
386
294
311
362
288
330
327
339
283
260
228
377
324
346
349
256
390
301
265
347
300
384
390
258
315
379
259
368
276
268
358
312
302
284
335
316
347
332
294
403
282
376
193
239
307
346
309
309
324
250
316
391
422
327
288
417
278
356
280
326
227
289
368
393
259
277
387
334
343
250
369
319
351
333
317
344
257
363
392
275
327
343
315
316
417
301
317
276
311
367
268
345
308
313
284
341
334
339
267
285
319
350
295
358
325
332
334
325
370
312
217
379
366
295
361
258
243
333
351
355
289
377
318
322
292
357
351
430
320
243
255
362
250
246
240
288
269
404
309
319
272
378
382
237
272
314
280
404
414
308
414
295
397
277
359
261
346
319
350
337
391
381
326
333
325
252
227
391
288
383
262
253
350
339
283
216
294
247
287
285
309
371
310
272
338
312
285
245
297
374
342
355
373
327
282
323
310
290
281
355
351
348
337
331
280
298
336
301
232
286
318
262
274
252
339
148
361
306
378
402
312
329
318
299
294
313
315
450
374
292
360
329
343
296
324
411
276
331
333
319
322
439
318
369
301
395
319
300
255
289
251
272
319
352
383
380
308
410
330
326
343
281
323
274
297
245
313
222
314
355
342
278
332
361
365
322
265
451
341
294
364
372
361
420
399
319
295
289
366
305
363
356
289
371
330
340
287
348
348
373
330
269
248
414
316
338
243
275
275
293
239
380
295
269
365
377
289
262
254
295
343
337
279
374
278
267
319
317
354
348
341
418
378
318
335
253
325
370
329
311
371
362
308
367
344
306
400
363
353
306
389
340
348
274
294
371
263
358
320
364
293
332
339
320
265
383
334
345
221
348
271
213
384
309
312
294
359
312
368
316
341
312
252
321
304
298
262
286
346
310
355
313
282
323
244
340
388
208
362
381
247
254
246
330
310
299
233
316
319
339
353
294
322
323
230
363
198
250
270
351
272
256
305
396
400
348
231
269
345
311
297
321
294
267
299
353
294
348
293
317
322
302
361
392
228
337
288
280
248
354
400
309
336
323
377
304
371
350
243
228
331
291
284
302
274
365
291
346
269
402
259
276
312
295
356
337
309
328
226
415
317
376
331
372
336
315
284
278
360
320
353
259
311
350
296
261
413
379
336
269
293
276
323
264
364
276
283
307
416
328
325
291
376
295
310
289
422
358
265
394
345
289
309
292
208
281
375
297
346
299
369
257
414
255
335
366
394
335
288
305
348
260
345
344
336
300
305
334
338
314
327
291
387
284
402
381
311
277
347
352
318
331
278
343
356
267
352
324
230
292
260
278
362
314
243
331
258
309
303
289
294
347
330
320
272
329
262
389
261
263
293
269
235
302
359
341
273
340
356
372
424
346
304
292
355
385
359
264
347
303
287
343
242
304
331
228
352
331
344
322
310
417
384
317
347
304
364
380
371
323
243
229
333
355
376
317
269
261
342
312
265
366
288
281
275
288
293
394
307
214
286
306
292
369
325
314
241
316
318
356
349
329
251
339
332
247
302
300
363
354
227
356
382
349
336
342
301
343
280
366
257
218
423
365
384
288
215
331
350
356
290
289
374
341
315
262
364
312
304
354
347
306
347
321
340
363
314
285
316
334
355
319
315
288
379
363
234
303
303
311
342
282
315
291
365
230
305
279
322
333
261
260
357
343
256
311
273
297
296
340
260
303
343
337
258
350
398
297
263
318
406
280
334
255
306
247
367
370
277
370
304
208
387
227
307
426
349
281
329
255
274
319
335
398
284
355
371
287
291
279
365
286
403
297
247
379
288
342
340
298
293
289
335
244
357
377
343
317
374
342
321
274
361
337
396
309
308
304
343
349
282
295
406
276
407
307
357
367
345
336
211
300
376
358
265
284
292
194
315
300
244
281
305
287
359
339
358
380
341
265
329
338
252
409
317
359
347
261
246
355
280
342
287
282
297
261
288
376
361
328
288
270
339
376
258
357
299
355
319
220
335
241
310
350
296
331
286
358
383
320
256
250
293
306
407
308
297
339
327
406
345
346
330
280
319
251
301
305
315
304
335
357
275
321
336
263
309
340
354
331
349
293
318
296
317
260
276
295
320
191
273
350
331
325
300
343
312
316
288
326
362
256
319
302
306
384
294
371
295
324
324
315
344
337
325
301
364
317
286
279
300
236
297
357
291
388
340
327
398
259
277
384
297
359
286
270
383
373
364
392
252
327
370
321
345
343
323
344
287
290
282
332
306
237
292
263
282
292
355
291
323
353
325
343
380
306
320
253
263
276
335
222
248
329
278
316
333
327
303
339
323
328
313
345
212
280
354
325
389
344
293
296
285
267
345
317
355
298
337
387
313
413
354
330
376
307
331
318
356
249
294
290
283
283
294
350
318
371
323
344
340
328
296
310
362
240
331
291
356
311
285
314
274
297
337
388
318
393
370
245
255
224
314
244
353
296
297
258
280
274
219
247
300
311
331
325
300
331
370
382
298
372
303
333
295
365
279
377
343
288
294
281
365
263
299
358
188
309
319
266
327
303
230
366
297
350
311
314
377
373
331
361
272
305
309
312
325
319
368
268
362
442
258
362
375
339
304
382
314
405
368
283
325
304
360
343
343
354
168
358
350
350
280
356
369
310
336
398
241
238
358
287
358
360
303
258
376
236
361
285
357
362
362
259
272
397
315
290
378
299
328
291
302
335
256
307
332
319
327
272
375
286
303
262
275
323
302
334
289
332
308
379
324
285
237
326
391
287
304
275
343
330
285
329
301
309
320
357
313
348
359
299
285
354
288
322
317
448
321
377
291
250
276
357
294
327
261
277
366
371
344
247
345
356
392
365
276
335
240
364
333
344
338
333
309
334
315
252
263
314
223
370
286
337
319
344
344
337
336
375
352
347
354
309
263
274
297
311
323
377
269
324
336
271
314
360
267
259
344
288
351
295
384
280
289
408
323
380
306
294
388
292
328
381
346
335
338
268
295
321
320
300
291
259
342
303
290
346
351
298
287
275
321
359
354
273
360
376
315
273
341
304
322
423
276
303
341
361
406
294
360
296
202
323
338
283
340
314
293
325
350
353
342
321
263
357
232
307
342
321
292
293
321
223
205
252
323
332
320
265
325
333
321
327
368
303
299
267
353
278
278
308
354
407
379
317
369
367
295
369
234
325
384
289
319
262
286
223
263
306
281
347
318
309
301
245
363
323
288
392
319
314
282
302
302
315
378
362
309
331
305
334
256
328
294
307
333
250
314
311
361
347
266
340
328
364
322
378
222
284
291
351
314
298
317
351
282
369
351
350
306
332
256
231
378
337
316
338
403
300
343
329
297
347
384
328
334
386
400
309
391
323
266
252
347
248
361
320
333
340
312
362
353
267
377
339
331
386
355
246
313
372
304
395
309
301
274
341
320
351
311
392
329
382
337
313
337
245
304
300
376
399
310
275
293
342
370
316
317
336
346
350
291
281
307
343
344
368
370
366
232
294
293
328
326
374
244
338
279
378
380
219
345
351
318
314
304
325
337
272
361
396
346
346
318
308
289
295
221
294
314
400
328
337
239
335
356
366
286
325
281
348
356
297
341
248
326
312
285
366
353
275
344
351
260
242
298
395
280
278
269
323
336
342
338
378
359
313
380
321
330
319
356
353
283
315
329
254
330
355
331
308
364
231
331
285
347
334
282
215
358
343
287
341
330
357
279
306
386
314
327
298
337
307
336
375
271
325
246
290
330
278
262
328
331
414
308
416
312
355
356
315
343
365
373
329
347
319
361
344
295
264
252
315
297
369
229
311
388
297
276
394
309
335
246
267
298
246
281
294
318
401
301
316
339
377
313
324
340
307
363
351
279
341
261
368
301
307
372
386
290
353
350
270
362
339
324
249
331
261
323
404
331
278
235
352
339
298
363
306
316
214
309
363
360
257
276
332
332
313
272
306
331
349
297
354
257
384
299
351
361
325
309
296
351
267
303
449
269
294
316
194
291
318
412
316
318
313
350
306
258
309
194
317
275
270
345
273
288
283
310
300
358
386
277
312
277
321
341
324
364
307
278
345
370
260
258
301
319
372
289
370
313
308
433
300
300
276
223
281
314
267
257
310
367
361
332
271
342
382
327
349
309
291
327
276
317
290
263
233
416
314
334
338
326
331
349
324
296
306
252
338
417
286
388
365
185
287
262
354
246
307
365
307
172
369
271
298
325
327
306
350
376
393
333
370
336
319
272
248
315
320
338
288
373
239
280
306
227
290
365
380
336
332
244
337
324
345
351
315
296
349
268
294
398
315
282
227
295
393
351
369
320
334
338
346
333
297
283
316
355
310
322
300
229
379
369
366
279
300
401
387
240
316
255
311
323
207
299
256
365
275
251
368
358
274
341
262
357
281
273
342
342
356
289
377
354
335
246
224
339
293
345
355
259
278
331
257
286
296
277
274
351
297
257
329
265
398
386
363
307
286
284
338
333
342
264
275
312
332
357
325
333
327
298
285
362
274
291
357
269
261
280
301
351
277
308
336
356
380
278
319
345
328
287
370
321
256
268
256
314
269
341
352
299
307
280
371
358
339
376
337
398
345
305
301
315
372
274
351
282
320
389
306
338
412
309
277
400
295
320
322
270
261
244
315
306
255
358
313
254
332
387
320
243
367
309
319
317
296
330
297
300
274
319
272
345
298
275
256
321
265
376
348
313
249
327
301
247
313
288
261
330
308
316
333
248
315
276
279
285
352
382
391
258
306
333
267
302
252
315
403
330
330
351
359
319
394
271
335
306
351
297
361
305
270
342
326
265
346
305
264
365
406
286
387
357
376
350
329
308
299
353
337
311
356
314
405
340
244
332
286
306
329
255
267
248
267
275
297
366
363
321
376
356
257
333
358
332
337
312
283
369
318
315
340
292
322
358
314
284
355
307
383
360
381
256
360
329
300
302
357
320
346
297
318
344
367
374
364
219
293
319
365
306
253
418
307
364
245
289
357
291
289
314
281
271
256
316
390
348
250
332
385
325
312
381
396
334
269
277
326
279
394
271
281
313
350
291
263
320
361
281
313
284
347
321
304
333
416
386
173
265
356
281
337
302
281
296
320
350
320
291
212
338
260
313
301
315
365
323
318
246
369
327
317
278
323
404
330
295
310
361
310
367
228
318
318
274
311
311
342
311
285
342
240
392
342
279
317
334
250
260
238
362
203
284
366
401
286
352
223
306
280
339
332
330
302
281
267
192
294
304
275
324
370
346
292
252
339
347
274
349
311
385
248
266
306
308
257
340
291
402
297
316
347
328
344
298
310
216
281
184
271
304
300
254
354
254
422
316
322
312
305
392
340
345
281
323
376
286
283
260
339
299
206
349
328
390
263
350
288
302
328
389
314
334
357
334
323
306
372
311
331
266
339
311
236
299
326
262
306
366
318
325
376
342
260
281
368
295
290
252
260
331
337
239
359
326
317
321
312
355
362
377
348
358
271
391
367
321
247
314
295
377
294
393
378
311
330
465
303
364
352
309
359
354
323
292
265
309
342
298
278
309
290
248
323
305
363
287
289
247
366
367
359
321
367
328
294
374
318
308
242
378
296
220
340
279
407
276
353
314
298
302
360
292
337
267
272
309
357
355
334
293
303
294
314
346
240
268
244
333
355
307
337
339
262
348
266
285
324
329
312
334
332
351
342
218
348
341
323
347
348
425
366
318
333
254
386
353
407
258
372
314
272
272
382
328
291
323
292
291
301
292
318
302
258
321
354
278
339
375
349
367
327
362
424
337
388
360
278
292
273
368
380
264
299
321
324
344
240
331
281
317
302
282
294
277
337
279
305
278
273
326
351
305
295
303
267
338
312
299
316
391
346
264
346
284
270
298
328
288
330
338
274
305
402
315
330
274
318
382
297
357
274
398
308
347
304
315
336
272
285
371
376
313
357
318
226
335
323
261
292
278
343
344
277
362
383
328
211
317
366
277
279
253
287
350
387
359
307
361
387
295
358
239
286
314
339
324
287
270
316
223
335
309
278
330
258
207
298
181
315
334
221
211
399
283
222
327
332
326
341
286
311
263
252
294
395
313
343
370
349
361
323
294
328
274
252
375
296
298
285
331
278
256
353
290
336
398
256
331
246
249
324
247
330
302
381
300
371
309
356
312
351
277
310
310
320
268
339
332
354
318
298
281
314
430
198
263
297
381
378
338
321
362
296
229
285
328
239
359
313
393
380
370
178
375
317
413
252
347
432
292
353
308
243
324
342
292
309
303
316
262
320
223
227
360
399
331
301
273
313
285
336
396
373
290
290
274
288
320
274
312
294
306
364
320
313
300
329
365
362
303
286
363
298
335
314
269
277
295
331
285
314
294
209
304
362
290
313
342
373
361
345
287
356
371
351
394
285
238
370
313
340
297
356
298
351
193
342
310
352
310
263
322
336
313
275
344
351
297
377
298
355
331
334
369
298
357
284
247
424
329
349
263
345
421
342
301
337
347
304
285
356
310
336
295
421
213
291
375
368
316
257
358
306
299
414
354
374
301
327
261
315
356
216
361
290
289
303
329
360
285
325
385
266
276
315
243
329
374
265
324
276
321
253
280
298
352
336
269
272
368
363
307
317
262
275
336
373
330
286
387
306
335
293
361
346
313
310
310
329
353
303
359
325
297
324
296
342
348
326
382
299
324
279
290
377
237
272
289
346
305
345
356
334
289
224
331
351
266
263
357
309
364
351
402
274
386
245
337
332
371
327
287
323
338
410
309
255
351
321
328
296
284
266
258
325
311
291
273
332
320
323
350
254
317
400
310
300
317
345
300
312
339
327
351
340
294
358
335
289
293
307
458
339
320
316
323
250
357
283
367
332
296
321
317
288
303
320
316
261
339
366
318
378
342
276
319
303
249
316
311
322
265
259
344
349
352
319
385
342
370
340
317
303
311
288
262
340
321
296
268
368
297
316
273
337
362
427
313
300
287
385
340
320
344
308
367
287
361
307
327
401
329
338
241
397
274
252
356
306
303
313
288
385
385
356
408
373
307
399
328
247
332
307
313
285
341
335
347
313
348
316
225
318
360
250
321
263
230
273
323
350
231
241
360
406
274
320
369
363
303
352
391
332
259
389
358
274
346
316
307
279
357
368
342
315
353
298
282
345
298
370
300
396
306
310
376
305
290
236
254
327
300
343
366
330
389
288
369
297
373
281
265
351
384
363
262
217
348
288
284
314
327
232
298
317
291
332
346
275
297
336
266
366
330
276
318
361
243
316
307
238
264
344
271
298
384
265
365
298
382
330
215
427
319
311
296
276
289
304
376
372
370
323
328
344
381
397
292
364
382
338
351
313
318
238
305
358
256
279
308
367
287
307
298
352
308
300
303
371
236
327
376
247
278
266
295
282
367
261
339
236
307
314
317
352
280
401
257
292
320
292
292
310
327
334
259
286
396
362
332
302
270
382
234
289
348
310
362
336
347
290
263
313
296
363
321
316
327
342
343
384
338
258
305
386
379
256
347
227
292
363
412
243
328
317
284
300
309
326
330
308
319
308
295
319
303
270
249
296
311
324
360
362
336
325
351
331
287
382
306
266
305
345
325
346
323
250
336
371
364
360
288
297
319
375
340
376
368
324
287
355
356
258
367
271
359
336
224
269
317
435
364
356
327
280
361
309
349
359
398
410
312
335
332
262
367
187
344
369
374
369
348
214
348
312
318
293
302
289
324
377
401
306
297
235
357
287
342
333
299
347
276
330
340
274
309
338
331
350
291
374
315
373
313
310
348
303
282
329
376
308
351
329
334
264
334
328
319
360
343
282
332
299
320
396
340
326
377
323
319
300
251
248
246
271
246
338
289
359
294
294
286
322
292
334
317
348
392
324
288
311
362
326
324
352
318
310
361
345
314
326
325
349
286
349
356
331
285
329
284
344
283
311
294
301
248
299
254
351
328
222
309
270
294
256
352
311
301
289
356
358
277
303
345
239
279
384
285
302
343
280
325
347
291
326
283
395
294
313
238
360
259
363
277
343
319
372
347
262
236
238
307
262
308
281
308
364
245
368
309
409
271
354
312
276
376
368
273
341
248
347
281
244
361
312
300
297
282
321
277
357
290
327
254
286
347
309
451
298
295
306
348
289
241
338
332
420
394
331
343
370
337
395
381
360
364
335
271
247
351
287
336
336
242
294
374
314
327
303
273
351
408
362
295
330
375
264
405
356
249
318
304
244
305
334
360
195
257
286
358
302
345
356
343
267
261
375
338
210
397
283
259
275
339
306
376
388
287
333
291
296
391
268
359
332
333
331
367
402
350
328
408
260
307
255
301
375
332
258
269
287
239
313
216
349
321
315
369
304
280
264
228
420
380
348
376
373
296
273
405
359
308
291
312
201
273
378
362
345
353
324
351
364
315
278
360
258
247
378
298
234
362
358
290
363
309
353
355
383
343
405
313
316
373
332
271
350
286
287
351
320
190
303
303
366
225
359
336
359
413
359
296
381
298
294
277
334
282
312
318
285
337
343
334
270
324
317
357
358
298
339
286
350
340
317
335
325
263
330
245
303
291
341
325
312
314
256
339
332
334
344
308
321
408
262
306
302
336
251
246
339
308
363
367
318
293
304
344
321
364
383
343
230
278
336
267
346
352
314
305
258
340
319
316
263
356
346
383
339
343
329
276
276
278
218
322
358
387
334
345
379
369
316
279
232
266
215
337
275
340
289
344
337
267
320
311
359
268
324
202
360
268
367
345
350
333
341
307
330
260
343
372
305
374
312
246
396
398
403
337
335
233
332
264
290
332
298
277
352
298
321
329
310
371
339
350
357
335
305
293
296
322
318
341
340
351
358
343
339
282
297
356
295
349
367
385
336
354
283
291
337
278
296
349
335
335
337
254
239
317
321
342
295
297
289
311
305
216
299
223
300
298
239
276
311
262
336
283
292
348
209
300
394
304
318
318
220
317
365
292
283
341
367
316
268
294
366
267
253
341
276
274
274
328
358
293
231
344
342
341
236
285
402
272
354
357
355
339
330
305
273
328
272
318
239
337
387
264
375
294
297
427
365
168
289
277
336
327
274
361
347
293
299
244
284
414
278
334
304
318
274
356
198
284
350
359
266
313
275
355
303
368
361
219
376
354
315
313
336
335
316
320
347
318
211
254
356
318
326
266
340
353
429
321
226
304
349
275
305
346
260
414
277
292
331
340
274
381
368
335
297
398
257
290
258
312
334
325
334
278
393
321
302
394
320
256
351
257
279
411
273
305
348
308
301
346
364
290
308
243
309
329
401
322
291
225
293
315
247
372
356
342
306
326
300
311
390
364
309
277
382
337
290
344
285
326
217
361
277
336
233
329
273
346
292
338
371
322
255
294
312
312
239
258
353
300
274
321
278
392
377
323
381
272
294
326
334
390
210
344
316
275
165
275
347
304
356
379
272
330
316
349
274
395
424
384
227
315
418
338
333
204
313
256
247
321
259
295
351
348
339
311
321
370
325
394
333
332
400
360
418
404
313
384
364
374
333
265
261
257
354
322
385
367
357
189
357
294
277
272
384
367
364
395
282
308
284
329
352
323
298
234
323
230
372
302
304
340
311
369
288
289
322
344
348
318
360
230
278
380
379
260
272
350
376
370
384
377
341
305
323
312
346
268
310
354
273
301
281
344
314
407
343
271
324
263
267
302
301
347
328
327
397
336
350
237
299
353
323
335
333
283
273
246
350
326
261
256
412
327
294
329
326
327
324
382
343
305
265
409
363
300
315
303
395
344
311
378
363
315
347
309
273
328
262
325
361
300
271
329
335
352
350
316
288
271
283
305
287
330
328
364
317
380
395
317
311
316
356
286
266
330
357
221
324
338
339
257
253
312
336
337
359
290
315
300
317
308
320
288
374
283
395
274
363
239
264
236
346
335
282
280
428
334
352
294
351
294
341
299
323
312
320
256
372
352
384
363
392
266
376
322
225
300
345
323
319
329
353
367
366
322
308
225
296
340
315
353
411
292
344
339
431
323
385
276
319
321
273
279
300
244
199
337
320
292
233
296
398
334
289
303
301
214
344
341
328
316
235
289
329
300
292
352
377
326
233
381
310
338
369
386
354
305
286
316
388
347
382
319
322
374
298
302
245
349
343
260
301
350
340
367
298
359
235
302
326
336
294
329
381
310
254
282
411
350
210
250
337
316
277
351
366
304
373
405
291
329
401
377
300
317
233
348
296
389
289
337
255
341
320
274
245
411
330
288
341
336
207
301
247
277
290
340
350
289
302
287
326
254
319
315
394
371
392
261
368
294
379
381
251
340
325
228
362
409
282
297
277
328
318
348
344
324
345
358
305
295
343
287
383
290
267
368
286
420
367
225
364
321
283
362
328
332
280
343
313
341
366
257
272
354
319
312
364
348
285
314
290
232
301
301
349
406
327
386
365
381
350
265
330
266
371
347
238
321
264
305
362
313
321
288
218
258
304
380
293
413
419
303
287
323
321
294
321
320
312
317
333
277
333
380
294
292
315
261
325
327
340
367
330
307
348
307
367
371
300
277
261
337
310
219
324
349
323
306
330
317
411
386
256
336
286
282
277
297
282
355
234
306
272
326
295
265
370
304
317
305
350
299
325
329
355
341
274
363
394
330
322
309
309
331
304
332
348
263
359
367
325
338
300
285
376
314
302
361
353
224
341
295
263
338
286
301
352
202
297
304
299
295
339
307
395
303
331
393
277
295
310
268
368
236
408
292
296
268
326
380
284
332
246
345
347
321
263
350
220
349
404
347
415
323
327
236
337
298
343
286
253
421
292
415
336
245
298
326
382
313
355
284
384
349
321
237
270
373
321
309
376
273
393
357
287
253
247
350
361
350
281
301
297
319
321
359
322
261
383
238
305
352
425
209
257
340
232
337
277
313
263
331
196
360
311
329
220
304
312
288
309
237
296
347
328
342
367
396
206
346
387
333
269
353
271
241
240
302
353
286
340
382
327
222
280
347
352
374
292
314
351
349
304
226
371
295
409
339
301
294
252
296
328
459
312
285
446
344
336
357
321
309
390
344
393
312
383
313
260
365
346
280
311
299
290
308
296
382
302
311
271
321
336
295
240
295
232
305
339
271
215
276
260
306
332
365
360
354
347
333
266
319
335
323
286
344
351
290
339
369
233
314
275
266
394
353
312
338
277
365
386
312
270
239
383
283
351
308
308
349
355
309
325
287
330
308
356
291
313
362
343
441
376
339
276
364
254
338
313
261
292
320
329
329
306
286
410
289
303
340
403
327
347
265
275
335
292
344
319
283
318
335
232
391
361
349
334
293
311
408
318
307
309
308
328
369
319
316
389
331
314
374
291
381
356
271
363
306
318
353
268
313
302
358
353
426
339
311
343
361
268
306
355
313
305
229
369
269
249
336
341
281
327
216
321
354
307
320
348
320
391
290
327
357
314
336
271
268
345
275
258
355
397
353
284
300
298
345
336
343
326
274
343
277
402
262
380
278
275
355
314
354
277
397
354
269
310
396
332
347
251
323
356
292
364
342
328
285
329
265
266
348
375
279
284
276
350
311
330
348
320
295
373
339
322
311
262
404
323
287
284
326
357
421
284
350
308
366
428
324
304
301
217
301
304
400
297
390
346
260
334
268
353
322
169
290
321
287
418
344
309
379
288
364
328
308
329
366
389
238
250
352
263
277
339
300
341
347
321
281
319
304
322
252
251
307
241
269
345
355
335
342
288
307
256
254
353
304
331
342
245
324
354
327
388
293
353
323
359
363
311
309
184
282
338
372
336
344
303
352
329
265
338
339
288
218
362
337
297
370
308
311
329
315
383
297
304
320
331
352
254
373
295
322
358
329
259
244
352
284
279
282
324
256
252
302
369
292
338
315
339
319
368
346
331
430
324
350
327
305
375
315
303
323
413
326
297
324
356
290
226
296
355
285
382
333
364
319
308
306
251
303
314
296
258
293
249
329
365
330
310
400
321
363
317
358
301
327
300
334
285
327
271
284
378
368
277
312
350
370
396
377
301
294
342
342
321
288
344
339
281
247
376
293
324
363
224
277
414
352
343
269
342
333
362
174
285
306
384
353
372
416
312
289
383
313
306
245
393
316
282
326
307
411
368
326
281
326
287
280
301
284
289
278
330
238
331
300
345
281
305
393
279
229
333
343
387
379
344
389
266
280
327
297
356
303
298
328
331
363
337
309
295
291
335
338
354
237
404
350
338
282
330
297
321
340
261
368
356
316
312
275
329
330
345
243
308
283
216
289
394
356
384
251
378
227
359
312
324
360
326
189
326
271
357
316
254
246
338
297
367
322
378
361
323
233
334
252
297
382
333
355
320
329
284
280
402
334
317
406
429
350
385
310
314
285
357
270
402
320
299
343
392
340
322
353
324
354
324
328
342
340
291
270
338
281
291
257
302
366
314
339
325
359
261
290
274
341
319
305
275
315
316
256
325
329
356
342
308
319
324
348
263
388
238
280
322
342
328
273
332
263
328
305
224
371
349
337
337
338
322
388
352
313
391
323
283
235
337
373
248
369
306
369
365
315
311
374
319
321
261
331
335
344
275
292
279
309
357
349
296
238
339
365
244
320
291
332
347
293
300
328
325
259
298
353
315
319
343
268
310
274
317
350
356
266
265
329
325
306
401
327
306
450
265
365
269
348
345
292
350
315
327
377
293
346
226
335
306
371
289
291
292
292
290
323
366
276
309
285
289
255
329
297
291
307
367
292
366
384
284
297
299
354
343
342
293
230
318
258
328
261
348
365
437
352
274
306
321
356
309
396
299
356
235
381
284
372
324
353
281
326
256
341
347
217
291
320
306
362
331
273
340
361
386
319
282
397
314
320
317
306
204
372
316
216
410
301
346
305
380
439
288
316
325
307
330
396
327
273
332
338
416
287
408
335
213
335
329
336
305
359
321
320
359
331
298
353
234
345
307
300
352
288
255
343
301
340
307
373
282
299
261
356
403
301
277
372
401
330
296
249
334
330
351
342
299
346
386
324
297
344
269
303
401
295
298
360
258
377
302
346
317
356
367
336
278
271
218
263
343
331
330
314
409
325
380
376
236
367
284
422
344
249
316
362
295
361
376
293
277
342
345
251
280
322
359
342
282
360
265
417
329
323
263
259
294
319
311
260
313
412
432
237
335
320
357
402
333
402
314
330
305
237
326
293
349
337
266
345
303
371
398
384
340
295
283
264
308
360
248
317
276
296
320
341
332
348
266
348
269
290
325
373
286
285
300
360
248
319
313
422
291
300
308
363
320
342
315
351
351
356
261
320
410
265
300
325
336
238
273
301
346
300
349
323
249
256
310
279
370
266
371
351
222
324
332
359
334
258
337
307
382
331
340
371
344
348
309
378
378
404
329
250
246
369
287
330
252
270
360
327
297
423
393
310
343
305
311
366
263
361
240
438
331
305
350
344
257
435
248
360
303
218
339
324
285
296
318
292
371
359
282
348
347
289
293
338
301
358
265
350
332
316
293
321
345
285
271
275
305
315
251
287
285
271
364
349
301
268
370
385
259
373
317
429
358
204
357
335
268
267
375
342
321
246
311
294
324
334
309
325
353
389
343
324
379
327
308
298
357
277
256
279
358
383
300
398
346
394
286
322
363
301
357
302
349
238
251
318
375
226
306
350
331
378
265
316
242
342
339
336
342
316
244
323
415
316
320
318
342
327
322
292
258
366
333
340
290
407
290
354
305
314
341
305
322
287
283
330
292
323
271
340
267
263
384
365
417
412
338
383
357
334
321
247
390
343
247
360
315
226
266
282
320
311
272
363
345
345
350
368
308
340
286
378
386
321
289
336
331
301
346
386
264
323
366
311
377
330
313
272
349
334
387
313
323
297
374
274
324
312
359
294
368
299
284
248
303
329
334
276
400
376
352
309
334
372
313
229
326
300
312
273
278
260
273
347
364
273
349
343
341
375
266
365
237
217
289
294
270
241
356
358
287
387
336
288
367
311
368
326
335
374
342
348
382
263
282
318
325
285
311
329
266
369
317
403
260
332
383
353
375
382
255
298
348
332
384
309
367
289
320
340
326
372
322
298
345
355
338
330
313
335
373
310
360
304
318
307
323
282
338
391
340
331
264
323
325
292
299
296
327
362
377
362
343
354
329
333
400
320
290
393
396
271
322
254
346
404
284
341
336
315
313
342
377
272
322
325
286
332
311
345
245
326
331
356
262
307
377
347
319
308
276
364
218
253
286
342
243
337
359
338
396
333
359
382
255
368
292
249
385
236
298
319
363
289
255
224
254
361
335
352
333
308
340
297
345
330
314
311
378
416
374
285
332
260
336
258
294
250
330
310
274
400
316
338
282
311
361
342
330
284
334
368
311
324
366
391
305
383
356
292
339
322
265
366
408
438
276
393
334
310
281
296
361
359
341
378
323
323
311
241
273
321
275
291
343
358
308
341
341
287
213
287
312
374
292
393
335
356
417
358
329
263
335
322
291
351
420
318
339
327
315
383
338
363
340
365
282
337
234
360
352
239
273
292
379
312
364
291
287
239
353
325
303
374
308
297
339
342
245
390
273
261
367
334
296
361
329
223
337
260
312
304
301
276
285
331
344
387
366
401
417
296
320
332
234
351
224
356
316
198
264
291
397
241
375
361
353
320
296
363
233
396
275
304
282
246
398
294
401
305
319
355
291
316
344
223
274
249
247
286
264
361
375
211
306
363
299
297
317
257
270
251
274
269
333
313
325
306
293
372
256
274
250
344
291
376
282
306
254
410
325
328
334
346
319
239
319
269
347
297
274
323
307
266
361
336
349
211
336
281
358
308
317
320
279
294
298
284
332
277
266
304
311
297
443
279
319
266
273
254
326
294
276
261
327
316
262
372
337
294
317
307
315
270
336
372
394
435
318
388
293
279
251
322
287
275
403
379
324
264
349
230
316
322
383
340
311
341
362
327
249
338
274
303
236
330
291
251
404
298
421
402
361
292
304
275
336
305
390
370
286
279
374
302
301
271
276
338
305
355
371
299
276
282
328
281
329
335
385
342
258
338
320
350
292
238
318
257
337
301
304
253
343
383
332
368
271
316
324
233
378
345
257
275
345
378
301
307
331
293
378
289
344
257
341
373
296
358
322
334
284
324
359
298
349
289
261
433
283
330
357
368
325
281
360
305
352
286
295
294
307
388
324
361
342
359
346
273
269
213
202
300
334
287
275
280
314
318
341
293
264
340
354
331
269
379
317
265
321
374
332
283
365
271
288
400
348
344
367
326
339
345
282
409
331
356
276
370
287
333
391
322
276
292
328
326
347
334
277
245
359
314
272
396
268
289
364
304
356
332
328
342
392
397
320
360
297
198
384
311
371
326
314
283
262
389
303
331
308
349
356
336
399
283
272
322
293
346
321
370
295
315
281
201
270
327
346
325
250
282
373
165
296
306
295
294
346
381
281
349
280
314
301
316
277
298
392
340
346
343
331
345
320
320
279
363
305
344
363
275
398
323
289
276
373
347
351
293
318
210
280
305
368
285
361
265
297
253
364
305
250
331
344
373
321
201
366
286
331
220
305
346
332
376
316
276
344
325
311
303
325
402
316
388
389
394
331
315
232
242
310
322
255
294
280
331
337
285
248
387
278
324
356
312
278
357
251
316
378
376
330
325
308
448
347
274
341
328
337
308
298
329
291
384
245
272
240
222
347
375
360
284
268
415
337
236
346
408
232
328
203
307
343
321
264
255
301
377
404
391
296
336
442
370
314
291
284
322
291
367
314
358
373
342
311
387
344
304
312
269
239
267
318
282
318
345
297
307
333
310
344
262
299
324
296
351
327
397
371
312
364
238
376
276
366
300
257
393
386
294
311
302
310
378
280
373
338
228
301
374
317
232
344
325
333
356
315
334
303
286
329
373
353
298
314
286
353
329
344
340
300
351
313
267
319
285
397
342
273
272
375
389
243
299
319
356
342
262
268
256
295
259
340
291
321
408
356
295
311
426
343
331
255
373
285
332
331
340
320
278
391
346
384
239
322
343
300
322
330
311
326
240
348
302
367
303
289
342
319
353
334
275
357
282
340
368
273
344
371
307
317
324
377
228
294
318
321
335
392
347
311
260
277
282
282
359
371
316
332
326
278
359
373
359
298
348
261
278
404
354
324
308
319
298
353
355
341
327
342
307
413
325
359
310
316
285
425
377
330
270
396
306
322
351
302
354
367
292
349
335
270
322
295
300
334
362
289
452
201
393
317
322
430
298
257
234
266
337
349
293
242
318
282
291
376
322
328
327
290
329
294
253
320
282
298
389
384
330
398
348
257
370
405
246
300
231
318
404
236
303
278
347
309
311
219
340
324
386
334
312
338
351
338
259
344
265
242
280
366
274
338
321
391
303
295
377
260
216
209
350
245
280
318
322
355
360
383
332
322
249
283
343
371
323
351
371
347
347
342
304
322
282
288
266
308
301
399
310
322
266
285
239
298
288
259
307
384
293
265
288
335
279
342
289
382
280
294
340
232
293
302
372
324
350
383
294
361
253
289
339
283
360
315
366
389
315
352
339
371
300
289
339
361
339
318
364
250
287
358
283
331
306
358
358
280
320
310
317
328
336
335
297
282
235
251
349
289
351
284
266
307
328
299
309
235
297
360
315
288
396
222
351
257
313
361
263
301
251
290
340
363
305
268
317
313
214
363
390
311
347
272
367
349
326
337
325
336
288
343
263
296
299
363
354
315
328
334
353
308
333
293
329
319
365
330
319
396
263
324
341
296
296
384
415
315
329
276
314
291
346
285
373
340
310
392
353
290
342
346
386
282
334
295
250
346
257
340
325
332
325
290
263
307
297
269
334
257
383
308
325
237
286
287
356
300
337
295
351
246
318
324
350
294
311
344
304
344
330
292
359
345
307
280
336
282
322
296
313
359
305
341
346
336
273
285
362
342
272
360
308
369
307
201
226
285
365
294
358
395
346
339
273
371
293
338
310
341
320
330
436
301
277
380
307
326
300
307
313
194
305
321
306
389
299
301
343
348
255
294
361
317
355
303
289
304
264
405
318
305
268
331
252
293
354
394
285
291
340
379
375
210
318
310
269
324
363
375
388
253
294
364
359
403
333
315
330
367
279
330
287
391
305
309
386
364
258
320
214
293
255
271
338
373
362
306
377
356
352
335
385
352
321
305
316
278
267
265
269
262
320
301
267
348
283
325
349
273
324
346
344
334
273
197
286
336
249
393
346
319
323
330
364
333
336
311
348
417
273
299
338
384
364
249
310
314
317
283
354
347
377
311
265
238
307
371
264
291
276
262
332
312
379
259
376
306
333
327
344
289
421
321
299
302
318
309
346
393
245
335
247
331
309
365
281
288
352
320
267
352
249
302
323
278
291
308
301
286
240
411
324
353
340
290
328
327
375
379
314
390
300
349
351
312
388
325
308
352
259
297
363
281
319
327
340
286
226
357
271
344
310
455
337
307
348
392
326
307
334
257
272
306
342
276
318
302
315
340
292
342
304
338
258
363
273
331
248
312
267
341
342
343
338
340
332
302
285
212
316
349
335
298
303
349
189
294
340
242
311
333
347
290
369
295
266
272
356
275
369
352
318
346
291
351
353
322
381
382
390
401
276
271
312
378
354
386
326
311
347
331
332
349
297
317
357
267
302
291
300
346
350
270
323
310
344
368
229
274
376
303
284
341
364
343
350
287
304
269
395
323
296
353
365
323
290
320
359
350
347
282
267
245
373
311
297
332
357
305
229
296
300
275
321
377
329
378
338
302
330
243
316
286
369
315
401
259
299
287
309
326
301
233
325
378
302
353
321
370
320
321
248
285
285
196
338
375
250
275
342
291
319
334
325
354
307
285
339
262
283
360
228
361
386
368
312
362
276
368
361
315
374
280
345
312
278
319
336
325
280
350
337
325
288
254
360
327
304
331
343
280
310
317
241
264
360
319
351
391
330
265
338
307
361
249
316
393
297
284
383
323
362
315
275
431
261
267
313
307
332
226
251
375
288
339
360
328
347
337
347
266
299
311
322
305
264
279
297
195
330
456
284
323
242
270
330
316
221
268
325
326
330
390
264
260
309
312
226
332
369
351
382
343
281
238
359
303
289
356
285
359
297
359
303
390
242
347
360
398
373
302
316
347
325
241
306
337
345
323
340
339
393
318
373
347
351
275
371
419
379
343
363
262
370
333
249
310
360
370
381
303
352
332
320
348
300
256
335
283
339
299
296
321
333
343
320
316
290
320
323
369
362
292
308
331
312
364
304
280
380
347
312
311
350
347
322
389
257
226
267
308
299
355
333
336
257
250
327
360
365
295
313
323
342
344
334
327
236
293
308
351
319
289
300
295
311
347
311
279
338
295
313
316
363
373
321
376
293
362
379
336
366
309
285
351
263
336
322
307
407
321
384
357
315
299
392
341
326
302
270
358
358
272
280
336
276
307
410
255
300
347
397
337
270
325
236
260
322
313
363
345
317
263
401
282
344
249
304
312
319
340
307
326
253
318
380
324
294
333
328
304
210
326
287
304
320
344
337
288
336
287
289
378
279
344
291
293
312
274
341
390
287
444
405
302
362
308
322
354
323
324
351
331
277
239
263
326
270
325
333
277
313
284
304
336
362
353
331
252
358
315
327
326
311
334
375
330
373
325
217
300
333
242
313
375
344
311
362
283
318
225
325
330
356
262
236
309
301
323
261
312
227
291
324
253
247
336
292
295
403
302
285
252
353
304
316
319
361
305
345
248
383
266
407
353
199
325
306
350
331
336
336
328
374
333
237
353
299
327
272
314
273
238
296
276
270
365
289
335
262
299
232
296
283
257
379
302
365
315
334
429
375
282
333
366
319
363
382
273
338
333
348
356
431
307
359
309
343
290
329
278
268
328
328
332
357
375
282
352
263
325
315
256
251
334
317
334
329
309
300
375
331
302
259
341
323
314
315
375
343
314
244
270
283
386
267
305
365
294
286
289
268
322
289
300
358
297
292
331
241
390
374
399
329
244
320
249
306
304
254
334
330
297
268
257
327
334
322
354
349
384
299
358
358
294
270
357
285
311
287
353
304
317
362
272
375
278
295
306
320
320
343
248
309
297
298
272
313
364
361
318
260
322
287
386
293
288
386
247
276
334
367
328
321
334
375
350
439
366
337
221
379
209
311
278
340
289
335
270
334
303
285
304
353
375
331
331
377
265
229
325
321
339
346
293
270
341
319
311
336
296
297
367
281
307
304
285
296
328
377
356
261
291
282
272
272
422
297
373
359
333
290
291
316
294
341
279
331
312
233
282
352
341
230
199
351
278
323
306
302
352
307
254
344
265
303
264
325
249
307
292
330
333
351
325
267
329
244
322
299
344
355
356
372
300
195
299
404
334
312
243
313
212
258
365
350
309
247
261
344
264
371
425
264
310
323
349
316
325
275
307
415
279
345
417
323
332
254
360
316
365
222
342
311
390
291
416
321
298
378
384
278
288
275
348
353
258
354
343
364
298
343
361
333
342
373
318
333
350
320
386
338
229
212
383
289
286
339
305
348
314
362
312
304
353
379
310
346
266
343
366
349
274
370
295
349
289
260
295
299
252
355
270
327
206
280
341
248
267
247
312
265
302
249
307
288
332
352
334
375
294
305
338
316
309
263
328
333
279
381
340
299
294
308
349
346
225
278
300
278
267
231
314
360
278
227
259
328
299
280
363
336
331
321
343
322
339
362
336
334
342
341
249
334
291
323
319
318
292
231
360
338
261
341
355
255
313
350
298
276
362
377
311
285
268
271
314
362
228
371
400
358
217
283
401
264
358
343
274
282
321
323
237
329
376
332
345
287
362
341
270
325
320
286
343
240
303
242
284
339
340
304
377
350
285
270
253
314
365
340
311
379
283
286
246
352
347
351
254
308
255
306
252
380
336
438
371
321
371
342
306
355
198
330
299
360
305
306
236
303
341
316
301
259
319
273
260
278
346
331
337
285
309
333
342
276
336
363
327
368
301
362
294
344
335
326
271
326
322
341
276
355
329
349
359
331
290
280
331
319
249
336
257
284
306
286
325
397
328
388
367
337
329
288
303
283
269
316
318
264
335
342
324
282
305
294
322
325
260
307
291
331
258
265
276
373
264
397
300
306
354
338
326
370
303
377
268
344
352
250
317
311
281
288
343
307
344
280
325
310
419
343
354
272
343
214
314
307
310
303
255
303
310
254
412
275
322
319
285
369
324
288
386
357
322
392
323
297
293
309
241
368
326
335
346
263
365
371
386
321
365
339
327
363
281
313
285
290
291
331
253
334
261
261
375
337
277
290
297
329
325
358
303
372
350
322
319
410
404
331
289
316
326
325
350
292
344
354
330
325
316
313
295
350
328
379
337
262
349
308
265
310
357
364
283
259
246
370
310
323
401
375
367
347
322
313
274
269
329
359
310
329
292
366
161
278
294
316
338
315
393
348
369
361
315
315
356
345
272
315
339
308
348
341
307
333
337
287
337
285
281
282
239
336
359
361
283
331
355
299
252
336
256
291
335
327
382
427
332
287
278
307
255
442
344
273
332
308
291
176
347
279
361
323
310
328
364
297
318
271
424
261
304
203
378
275
262
265
412
324
321
237
330
248
359
401
310
349
293
411
365
326
304
271
281
395
352
317
321
351
316
292
322
247
314
336
262
268
273
278
302
338
281
228
386
333
239
332
317
189
242
299
318
299
272
337
353
330
357
301
379
295
335
332
364
299
328
334
286
275
290
335
309
389
279
343
367
346
364
348
319
301
251
284
281
285
316
323
375
371
327
317
183
294
282
272
279
349
298
336
356
336
314
371
338
306
335
254
304
405
326
374
340
307
245
251
330
314
351
297
303
336
338
359
283
327
283
360
342
360
365
316
326
251
348
346
351
366
353
333
312
247
300
308
290
314
373
358
335
323
262
372
324
355
272
349
327
400
401
297
370
290
377
347
340
376
292
350
343
335
303
264
389
275
275
291
293
257
320
295
306
302
289
253
402
358
344
341
262
303
364
327
298
289
305
366
272
256
302
309
309
210
344
343
330
344
369
289
316
316
255
394
324
372
397
359
257
359
337
245
291
295
349
258
384
265
391
291
422
359
348
347
303
226
263
341
327
310
307
416
267
269
239
312
366
309
317
298
282
280
328
418
335
292
306
343
321
291
348
337
291
302
378
309
299
396
294
242
335
293
298
348
387
309
345
352
343
289
286
289
297
278
293
307
345
321
338
330
387
379
277
347
302
318
361
351
305
282
317
359
295
390
326
271
396
328
364
374
306
334
327
294
310
372
279
321
371
266
320
309
328
331
284
317
312
374
287
251
384
317
239
302
301
366
320
298
319
373
254
304
217
319
328
240
357
304
265
329
255
312
273
350
271
371
244
324
361
308
293
246
296
354
410
418
296
419
290
339
318
368
226
305
350
314
331
247
244
407
398
367
255
364
248
281
336
238
248
273
339
289
374
320
414
358
338
401
312
280
332
384
316
390
310
324
393
364
322
250
308
325
370
304
340
300
262
310
381
254
367
367
309
362
257
255
285
324
319
226
291
299
346
357
355
306
254
316
341
251
369
288
342
298
343
364
262
373
128
312
225
300
344
372
309
387
278
284
345
374
358
375
312
327
409
235
275
329
319
381
341
431
317
368
345
223
239
400
317
280
335
305
329
358
273
356
263
410
318
348
381
286
278
326
314
319
358
310
338
261
226
323
327
307
350
278
231
325
288
299
294
292
398
275
310
377
264
303
360
272
288
298
441
373
301
297
234
276
316
278
316
339
315
302
341
378
384
280
264
271
364
321
296
345
269
311
339
336
342
234
365
352
368
350
304
213
298
362
345
310
370
253
286
321
340
246
335
283
264
332
292
235
365
278
303
246
214
305
240
306
336
368
361
354
286
291
378
343
399
298
280
261
240
338
325
298
405
339
362
358
349
360
221
238
268
295
290
312
279
271
312
346
290
323
340
334
354
283
292
271
260
232
304
399
324
346
371
313
314
353
358
309
304
314
362
365
350
400
292
338
315
372
322
388
375
318
324
325
316
331
315
308
289
316
363
363
292
282
276
265
292
323
349
321
374
302
248
302
258
319
283
290
325
297
262
361
311
334
342
336
330
340
289
378
320
331
308
296
324
310
317
333
371
398
305
328
289
282
222
315
295
325
361
294
305
389
316
353
278
312
295
274
300
326
326
315
262
308
309
385
378
314
337
251
320
420
266
379
324
273
259
318
284
276
278
321
343
386
276
370
398
310
342
371
316
316
308
307
379
284
279
367
385
320
383
354
291
373
312
332
251
354
325
265
346
249
338
366
302
440
299
337
300
298
333
289
366
310
343
306
370
288
269
350
270
358
302
297
293
345
368
308
369
349
345
337
257
342
390
380
305
302
318
348
272
294
256
355
266
316
283
325
318
389
363
281
266
314
368
325
337
380
321
332
388
332
319
366
327
246
359
358
339
374
370
380
315
275
309
362
364
349
342
299
371
315
381
290
321
321
332
350
320
394
277
215
318
311
257
321
314
393
258
304
325
214
276
327
316
341
321
320
301
238
375
273
228
346
384
287
252
287
368
337
373
291
261
336
342
306
347
326
357
337
297
365
405
314
310
296
303
287
326
307
345
295
308
352
287
340
384
255
351
306
314
251
329
365
266
239
214
336
311
198
302
300
328
337
323
377
326
347
356
338
300
310
355
269
307
348
353
273
275
350
307
334
281
355
397
322
337
277
347
253
328
279
223
332
358
368
240
295
309
317
349
235
370
237
287
344
259
323
262
319
283
322
271
283
325
313
331
263
334
217
372
285
335
323
309
340
377
364
303
332
332
368
304
355
375
332
287
321
345
383
277
415
269
328
324
302
347
287
351
348
428
285
383
364
282
365
322
333
288
346
402
327
242
347
235
365
245
309
302
367
258
352
326
317
299
278
426
434
301
303
373
349
345
284
228
297
352
417
333
361
354
364
260
335
294
270
296
341
311
336
273
297
338
339
357
379
287
346
311
388
317
346
365
257
245
317
271
308
328
241
241
308
290
210
335
395
315
313
289
330
350
320
253
367
299
346
342
354
317
299
264
317
368
268
352
305
261
318
293
310
344
345
379
283
299
245
250
354
356
344
333
289
282
298
382
366
290
291
353
365
345
326
359
316
268
280
270
294
308
364
359
275
311
165
323
254
313
290
287
350
209
372
268
330
339
325
349
312
235
300
267
278
349
259
328
318
300
287
318
350
346
334
278
377
365
299
242
274
291
326
295
320
266
311
412
333
336
271
327
354
302
313
271
367
290
378
314
379
362
368
319
369
341
345
327
290
417
319
349
274
336
331
413
380
302
314
313
261
353
292
284
300
312
356
299
354
323
269
214
367
385
341
294
324
292
331
227
338
328
309
261
344
285
254
279
305
330
271
320
285
310
390
332
335
293
349
317
380
350
347
337
329
405
290
357
375
340
309
255
359
347
309
299
337
325
340
300
260
287
333
333
293
355
325
324
391
368
316
190
349
231
314
255
299
298
327
306
239
361
332
292
333
336
309
258
346
355
381
296
252
316
311
292
371
325
422
308
342
315
334
205
307
425
413
384
345
264
322
293
294
358
319
304
290
267
316
278
288
319
391
346
305
323
386
341
269
340
287
395
381
330
305
412
362
258
374
300
383
363
333
406
344
342
321
267
344
370
374
245
304
364
318
235
325
333
330
308
418
249
316
381
221
322
317
350
303
357
330
255
352
263
232
338
345
351
322
368
274
293
236
333
277
360
330
345
252
280
398
227
320
326
313
279
265
331
365
398
251
304
331
408
353
266
268
370
280
321
253
291
342
336
305
374
298
284
328
301
355
316
328
362
334
310
281
345
361
302
324
313
357
310
358
354
347
287
329
323
317
353
252
358
340
362
275
279
291
330
326
350
379
323
244
346
366
299
336
304
349
342
296
353
296
342
312
340
339
313
276
289
385
334
262
230
268
289
357
346
262
277
398
323
271
354
335
310
370
259
392
281
296
297
293
381
261
282
331
317
341
398
309
297
310
328
314
268
370
401
293
363
330
337
320
360
295
370
333
329
302
318
396
285
344
275
323
277
341
358
339
316
288
351
283
226
381
270
346
312
269
267
282
278
344
332
305
298
259
290
338
327
352
355
345
358
305
256
297
315
280
306
328
357
373
323
255
290
248
365
411
272
269
368
286
356
372
385
355
359
281
273
267
358
408
323
178
355
303
301
309
275
377
364
254
286
215
362
413
356
253
300
347
231
309
279
377
266
333
275
365
353
228
348
362
238
387
359
387
317
349
301
339
367
287
351
297
339
318
331
225
293
379
327
337
291
349
371
358
319
317
294
370
310
308
313
287
350
321
330
268
299
327
309
264
329
354
333
276
321
392
345
431
343
295
325
244
299
295
296
344
332
368
344
262
405
328
238
279
314
284
297
293
318
300
345
327
372
305
293
245
313
309
330
292
309
344
323
257
297
260
294
353
282
274
362
345
356
376
301
374
359
358
293
300
389
317
330
326
281
344
332
320
208
386
256
238
307
367
323
344
289
271
339
324
322
335
324
296
315
325
330
399
289
300
371
290
306
354
276
296
403
339
388
326
373
359
360
261
352
355
377
375
380
310
323
307
400
337
372
378
308
298
339
377
273
330
282
302
318
353
339
325
272
354
267
270
371
363
254
267
223
282
277
307
359
368
391
315
314
300
254
258
365
255
406
329
389
309
268
275
253
305
304
314
293
317
291
257
370
325
284
444
326
312
405
262
305
245
324
387
346
294
320
307
280
358
317
263
332
278
377
353
341
357
374
317
299
312
377
323
346
333
379
336
281
285
340
308
378
273
328
264
261
378
287
298
308
384
244
319
248
315
345
327
270
265
316
265
316
383
296
341
271
310
371
338
392
331
338
311
256
273
436
308
251
280
331
370
311
254
358
319
264
261
328
327
319
283
345
320
328
362
257
375
319
311
315
298
332
237
331
332
289
357
268
296
393
378
345
376
319
338
323
379
265
319
296
325
399
327
284
408
327
314
256
324
290
294
311
228
319
297
250
354
304
340
415
350
356
275
344
272
305
249
313
362
290
327
296
372
235
290
405
282
337
338
339
326
340
395
272
275
259
249
321
340
250
297
328
281
294
306
273
327
305
302
278
228
325
315
408
274
255
280
192
371
250
431
352
231
357
389
306
340
290
342
270
322
309
302
387
276
290
344
351
351
263
345
265
321
307
345
371
306
319
215
395
268
253
281
312
394
284
282
288
344
334
346
355
238
286
313
259
381
293
370
311
337
360
373
298
309
375
336
292
351
262
325
194
431
330
396
334
297
345
364
353
245
332
267
338
340
323
278
317
331
245
278
389
242
240
316
340
372
285
286
300
355
262
264
306
296
331
347
288
332
316
340
302
358
335
433
282
352
294
341
363
266
189
294
379
334
293
296
362
317
395
329
331
362
306
358
255
296
284
305
356
413
388
319
346
355
321
286
343
380
244
356
340
355
277
346
387
289
270
338
301
316
295
266
340
241
312
324
292
264
353
330
252
315
334
228
252
389
361
303
386
341
301
353
317
375
216
431
300
361
352
235
311
279
363
319
318
345
312
375
341
258
334
260
290
319
246
264
283
335
302
289
327
263
403
305
286
305
320
323
319
252
283
321
318
295
265
311
344
269
263
351
229
301
236
311
327
347
326
312
336
269
296
287
337
251
362
250
288
358
237
329
321
370
371
197
285
312
378
354
310
350
288
278
326
320
333
292
215
319
299
277
298
356
328
293
258
243
323
299
365
306
377
373
307
300
330
344
325
311
345
260
288
389
290
349
308
289
353
368
253
342
411
341
337
265
293
354
300
345
361
330
265
289
308
304
400
337
388
260
296
303
367
286
327
305
318
298
334
342
301
205
345
293
331
355
365
355
357
321
285
327
309
331
269
315
339
295
281
302
323
337
328
313
278
280
340
350
341
352
253
239
339
329
323
269
420
328
326
326
379
318
398
362
370
341
352
361
305
172
334
355
426
302
293
278
245
341
331
310
331
282
371
263
356
346
235
366
311
299
341
270
336
432
303
283
338
215
311
392
379
337
280
329
285
389
401
269
317
264
308
347
310
327
325
234
313
388
309
369
276
297
340
294
283
351
337
277
279
384
364
274
314
302
268
307
304
324
310
405
341
343
303
365
361
354
350
304
358
342
286
389
340
347
223
359
327
260
300
345
369
313
290
337
292
299
294
318
323
299
300
356
439
325
328
360
310
287
338
333
321
332
299
278
371
355
275
287
337
320
262
314
299
362
363
333
349
305
291
326
317
318
354
267
369
281
305
302
359
332
302
366
347
281
310
290
316
268
347
360
400
353
349
332
374
350
314
369
336
314
347
354
288
319
286
226
410
244
298
319
325
337
236
364
376
272
284
302
236
367
265
319
321
284
379
332
309
324
380
396
283
332
294
297
297
339
315
255
358
339
400
315
339
330
354
321
253
391
330
346
313
330
360
379
246
254
233
338
276
266
345
308
329
297
368
313
282
292
245
372
373
233
288
391
343
320
268
318
295
374
319
320
278
373
258
323
246
292
257
379
336
331
327
194
345
398
301
343
317
249
352
338
327
354
264
322
240
313
362
361
304
253
403
334
255
332
380
273
321
292
306
367
270
312
349
298
330
411
429
398
294
279
305
263
294
392
328
346
245
319
318
269
283
302
288
304
341
390
249
278
320
307
327
331
328
324
349
331
331
336
270
305
363
326
404
322
318
300
216
261
315
329
368
292
358
278
266
314
304
308
216
308
199
322
373
274
246
369
293
320
339
346
340
265
349
420
202
364
344
306
367
335
312
323
258
237
319
290
327
418
361
390
361
331
279
431
295
339
369
410
337
350
296
288
288
273
270
366
340
309
362
266
375
283
372
311
298
375
322
344
323
306
264
337
262
294
290
287
369
352
325
364
338
369
300
261
266
311
389
341
336
284
305
257
355
370
293
311
402
345
339
278
323
289
316
396
264
322
323
294
240
352
309
332
319
355
317
348
369
305
343
287
380
378
318
323
344
270
325
341
281
328
303
369
302
243
316
285
304
286
288
344
329
315
309
324
307
372
194
352
268
374
334
266
221
243
347
288
356
341
258
336
315
313
342
308
288
337
334
358
290
368
323
288
388
438
341
285
263
339
320
350
291
401
349
309
345
359
258
314
320
333
247
306
351
297
328
348
321
323
353
353
342
382
312
278
260
280
355
383
219
329
377
274
363
333
335
338
365
329
368
293
264
350
300
344
368
221
293
292
322
383
374
304
337
326
327
352
368
300
387
237
313
317
353
339
341
378
329
285
292
260
329
294
288
294
275
369
282
362
311
326
293
331
282
312
327
294
279
325
330
365
252
303
274
358
308
391
310
352
341
300
277
356
361
327
315
286
278
345
306
273
342
332
297
338
308
341
277
357
305
363
314
366
299
341
298
357
372
325
247
340
343
234
280
329
266
308
317
254
252
295
272
467
318
316
206
236
389
357
277
324
351
344
249
347
344
314
327
319
369
304
361
298
348
320
391
243
292
338
394
341
250
241
307
313
400
326
358
267
329
334
333
326
350
353
340
373
280
311
288
333
278
323
290
223
284
327
308
342
229
306
290
353
303
317
385
302
241
240
242
329
379
314
337
349
318
319
372
241
231
335
302
343
338
411
350
359
375
318
364
287
342
384
326
355
309
321
326
311
330
360
368
334
298
307
326
292
272
347
251
361
338
325
352
354
299
294
344
333
313
293
310
352
355
421
266
281
389
238
290
344
350
358
422
280
337
302
318
389
348
357
347
211
368
293
304
349
339
306
403
282
385
259
260
312
299
332
300
354
287
268
336
274
284
325
300
315
350
416
268
266
334
316
347
311
354
362
336
264
323
265
324
310
392
303
330
280
280
329
362
246
440
348
307
288
361
328
336
282
304
260
322
309
338
379
306
396
324
380
327
332
309
347
376
354
334
307
336
305
265
313
322
339
306
295
352
268
315
233
282
343
355
265
236
312
342
309
276
254
290
287
307
265
313
325
346
250
334
351
295
300
351
384
251
288
295
326
359
341
358
276
369
249
316
372
285
310
289
330
327
204
311
406
240
342
284
318
238
327
381
320
337
330
316
375
287
325
274
229
284
298
367
352
340
277
386
369
283
337
315
304
291
354
399
329
346
357
346
421
291
356
294
421
269
353
379
281
322
266
305
286
342
308
303
394
345
358
345
360
265
306
282
289
222
329
270
250
344
274
329
353
328
301
308
382
316
255
299
313
407
319
354
290
288
375
373
239
277
342
291
269
314
279
357
293
298
317
353
380
346
339
294
306
364
309
338
266
358
292
321
381
295
282
285
335
342
431
274
380
283
321
245
331
329
370
301
322
311
352
295
412
404
310
358
360
330
210
340
325
357
314
361
255
392
297
362
239
322
343
312
333
198
361
315
389
236
342
298
299
340
328
297
303
299
372
342
342
291
304
375
293
364
392
280
355
323
334
341
383
289
291
303
370
373
348
297
283
274
265
346
306
381
326
261
393
295
314
282
270
314
343
249
396
362
302
371
269
254
280
311
390
336
295
210
376
344
376
275
385
339
388
387
335
222
356
293
340
284
315
368
325
388
348
379
244
338
281
378
288
332
317
258
375
276
343
331
293
248
230
328
339
325
340
358
269
339
351
314
334
266
348
272
245
315
287
299
338
327
289
336
367
282
303
336
346
233
266
341
288
341
330
314
224
308
280
304
373
376
304
273
361
344
258
346
331
306
400
285
298
309
396
308
330
340
312
263
343
317
282
276
380
358
283
298
342
278
301
368
293
330
252
322
379
313
213
339
296
362
296
379
283
285
285
350
266
371
233
334
297
330
302
315
394
336
358
349
331
325
369
285
302
275
279
260
347
290
376
358
280
337
300
360
320
250
346
366
379
353
365
272
302
294
275
325
305
345
310
351
314
259
273
300
339
248
228
306
356
292
378
349
265
369
351
276
356
241
305
337
342
364
310
355
291
322
257
280
322
341
221
326
302
411
260
329
314
294
366
282
277
314
306
383
287
398
324
289
305
334
243
382
266
273
262
336
313
324
270
293
378
344
348
287
317
327
331
342
316
346
372
305
298
320
362
393
303
300
309
337
344
380
275
332
325
270
386
313
320
242
279
303
300
308
321
288
182
257
285
335
329
352
358
323
341
290
289
303
341
300
300
278
312
306
294
264
331
315
278
438
370
261
363
359
313
366
314
283
377
329
277
272
161
296
291
327
373
287
315
329
345
304
315
305
285
318
278
333
351
385
376
311
326
330
323
352
319
264
294
294
293
245
364
266
271
360
315
285
354
337
300
276
312
330
277
358
258
326
262
337
344
249
374
282
369
242
286
322
321
361
297
324
378
369
296
316
233
376
331
309
241
379
404
397
226
452
341
300
365
358
300
312
347
319
340
394
330
375
276
396
282
353
364
388
380
312
273
364
210
351
392
372
294
314
335
324
263
388
251
299
302
285
320
291
253
284
245
336
280
307
307
341
307
345
284
297
294
314
290
339
365
394
376
296
360
289
325
320
318
273
269
270
360
291
267
329
313
296
289
283
298
308
336
289
350
298
364
357
244
339
295
335
342
347
302
308
292
374
279
303
316
276
297
299
257
351
318
323
301
355
279
294
307
353
223
227
286
285
336
374
235
358
274
319
277
277
336
301
384
314
278
258
189
242
404
243
277
298
339
280
239
387
410
346
253
318
171
296
348
288
298
347
341
215
284
285
325
294
292
358
294
327
323
379
284
284
258
355
372
416
362
363
283
316
422
268
267
290
299
374
289
371
335
295
310
289
276
308
331
306
347
278
351
211
350
356
273
335
336
317
436
328
320
277
314
303
342
293
282
267
344
311
331
341
275
347
356
322
317
249
279
352
370
271
364
295
237
340
309
229
341
308
362
252
320
305
245
306
327
338
281
386
343
288
253
343
282
333
294
290
333
355
338
361
316
303
277
322
367
308
293
322
228
298
366
307
339
381
249
367
272
371
244
330
287
291
316
268
303
299
285
292
333
355
337
325
375
348
248
346
283
312
232
300
343
372
249
223
297
366
267
322
357
392
339
375
270
304
349
284
308
272
306
348
247
334
357
303
331
326
396
309
278
278
370
362
380
279
362
358
367
328
327
362
322
339
314
340
323
259
358
344
298
321
321
268
297
248
356
257
304
352
203
301
350
314
351
292
385
325
370
414
291
275
293
299
302
330
380
305
311
255
383
339
375
228
337
302
331
339
283
393
260
333
249
344
283
349
382
413
392
279
269
423
348
362
306
329
277
364
325
346
394
300
286
311
245
373
308
360
335
306
358
323
344
276
355
295
370
264
320
314
362
303
273
300
282
252
287
314
253
286
339
284
356
309
225
276
364
265
379
334
385
429
298
269
372
355
324
295
333
314
312
360
335
299
328
375
329
342
325
325
252
362
373
376
361
298
356
320
252
376
312
240
276
285
327
238
407
353
248
359
410
285
331
301
353
307
289
349
369
318
375
340
295
308
336
402
307
361
309
349
293
309
317
355
290
390
367
281
204
319
357
302
360
341
305
205
335
342
280
281
285
312
266
347
317
293
277
375
330
302
388
341
331
342
430
356
279
323
341
311
358
319
341
316
275
312
293
281
322
277
289
349
385
328
392
366
296
288
365
346
313
317
266
302
327
332
336
282
261
398
327
285
331
267
250
229
317
314
321
353
333
245
317
319
272
383
341
209
320
226
290
271
305
332
279
332
290
276
315
291
324
254
258
337
256
375
336
387
306
301
281
270
324
426
282
383
261
289
312
306
281
256
355
352
281
293
356
297
374
337
347
312
291
368
360
246
351
342
362
278
240
364
342
340
328
252
298
358
334
298
365
354
342
439
334
372
309
293
373
290
270
234
270
257
367
243
330
248
354
283
365
270
330
265
390
356
297
283
319
290
355
294
365
284
378
319
222
353
356
346
275
365
287
267
272
331
350
287
241
322
259
320
301
316
314
286
306
382
399
328
356
345
271
382
257
265
275
297
282
298
349
369
368
293
309
279
307
348
269
315
237
275
292
259
385
377
249
328
250
391
310
360
400
340
404
346
330
297
270
341
349
363
301
372
352
260
370
313
347
304
301
399
373
406
320
346
321
338
320
348
335
386
372
325
266
360
298
335
260
324
393
304
399
245
326
328
235
371
343
239
308
280
336
423
321
320
310
342
309
301
397
275
322
320
295
385
278
312
338
286
361
269
375
352
316
376
244
340
315
334
307
306
375
337
327
289
369
281
362
183
264
265
283
356
240
352
303
318
406
377
315
379
353
349
294
288
324
303
312
328
221
321
336
313
321
350
290
288
232
273
183
305
293
443
336
282
312
321
275
302
286
282
281
317
362
272
316
357
344
286
381
352
256
337
389
338
297
316
371
315
294
347
245
361
355
297
382
257
298
327
314
396
317
327
256
292
358
328
328
340
287
330
314
399
373
284
304
295
266
287
331
289
312
294
254
298
310
364
301
370
301
278
262
429
309
328
328
377
297
279
369
291
394
332
275
391
372
276
348
345
353
319
312
334
287
377
287
395
275
324
296
283
273
308
311
406
286
339
335
361
314
360
283
242
320
347
263
365
359
288
261
246
361
356
300
354
318
360
404
289
377
316
371
233
325
279
319
299
351
339
317
370
305
325
306
319
337
292
226
316
366
290
303
336
332
392
299
361
370
431
316
357
352
286
254
347
308
308
273
331
344
382
326
403
394
279
333
342
319
371
299
281
345
272
309
211
293
318
288
267
307
313
296
367
250
327
339
383
303
279
382
339
381
345
272
374
322
253
300
253
336
329
319
394
374
314
257
251
340
349
280
299
291
333
332
230
314
288
293
295
353
417
322
299
280
372
306
355
299
283
268
390
339
284
343
310
325
332
350
289
337
353
334
299
355
335
328
256
259
305
297
305
350
243
255
268
328
365
293
340
318
284
385
300
331
285
264
265
311
289
385
338
307
262
296
355
384
270
298
266
318
227
363
279
267
239
267
322
282
334
279
297
321
298
297
296
259
309
278
367
313
386
334
290
373
335
255
332
265
299
333
306
249
351
368
367
382
187
224
350
318
284
377
304
354
409
338
287
351
321
346
295
345
309
323
391
385
284
303
267
322
387
410
213
350
310
320
363
287
323
329
318
371
410
269
341
331
343
342
305
357
275
282
222
249
346
271
329
291
402
385
400
339
259
344
262
292
325
325
382
239
381
372
318
346
306
254
342
273
377
318
322
340
263
380
289
228
198
353
335
239
321
345
246
246
326
320
300
379
219
268
369
378
318
342
291
348
319
328
370
321
327
247
286
367
281
387
358
275
372
236
297
343
387
270
261
361
359
367
387
360
249
293
298
267
336
332
378
311
288
265
264
329
394
321
353
317
326
306
347
356
312
256
327
246
319
284
311
386
320
320
312
383
284
359
308
330
328
274
307
291
250
347
314
335
374
327
244
254
349
328
321
279
316
288
394
416
391
327
346
303
375
287
374
290
330
241
304
279
283
282
322
236
402
244
325
293
340
259
341
203
274
335
324
351
345
302
370
282
325
351
325
318
359
386
316
302
329
371
249
309
298
328
264
296
324
361
350
311
324
298
340
318
331
299
211
272
327
401
328
378
315
289
274
276
340
376
409
366
354
285
247
287
288
293
285
364
266
342
385
362
379
327
328
275
266
341
314
329
355
394
347
318
326
328
252
371
268
379
360
327
318
256
377
304
312
202
361
268
339
390
245
324
366
324
309
308
340
308
350
330
292
238
265
257
282
333
428
320
347
228
291
355
330
350
301
348
328
362
377
301
303
349
284
335
351
362
329
277
253
289
238
279
301
318
339
274
327
288
348
195
290
343
380
395
341
327
325
270
226
360
267
342
296
345
354
378
338
325
357
337
264
305
268
343
333
264
290
224
371
250
347
293
301
361
386
304
285
283
312
298
241
293
287
399
339
351
305
328
321
317
322
292
346
313
290
367
364
346
324
269
314
285
329
252
337
366
362
312
329
221
312
290
318
323
306
298
357
389
359
366
384
297
262
328
332
344
320
346
306
280
317
286
283
356
261
333
260
310
363
371
313
369
296
338
245
288
325
300
323
373
326
392
251
283
235
315
335
349
345
314
296
318
371
245
351
423
217
254
347
316
223
282
257
320
326
326
339
333
388
373
209
379
347
249
362
358
364
297
292
254
294
241
275
374
237
341
318
266
268
258
277
324
346
307
410
349
359
372
328
256
202
287
366
247
358
295
259
335
375
364
314
276
412
379
285
278
291
287
359
291
365
234
358
281
346
270
330
254
380
320
328
380
307
241
363
303
321
347
353
362
312
364
323
332
303
281
331
298
282
374
351
330
359
365
336
330
419
339
307
357
287
337
333
397
331
309
337
392
320
369
376
280
317
293
263
289
304
352
257
276
246
337
278
306
399
240
359
336
296
253
309
311
371
331
299
287
368
294
290
300
354
376
284
287
354
322
332
396
333
323
317
348
328
355
313
341
291
325
422
369
424
335
329
344
330
300
249
295
321
311
297
388
299
304
347
296
273
312
297
318
341
239
302
386
257
189
291
389
389
366
323
326
385
300
344
279
274
329
281
265
305
334
289
322
239
389
346
347
289
400
333
374
298
322
382
261
389
293
279
280
239
288
324
300
415
387
359
400
355
307
290
268
244
322
236
349
276
240
259
324
368
318
365
335
330
309
330
398
342
277
275
258
366
294
298
276
331
285
301
336
233
345
258
282
304
309
349
353
298
324
289
285
362
318
313
305
336
263
299
341
287
404
327
365
394
313
352
327
331
338
323
397
270
341
343
268
386
311
327
346
377
392
302
374
251
308
308
329
324
315
335
272
307
273
422
312
321
346
292
353
258
318
364
334
311
364
359
307
335
357
367
357
264
363
339
346
385
343
297
342
218
266
325
218
288
325
302
328
291
248
296
324
320
326
350
349
270
359
253
326
292
359
316
336
330
323
218
353
308
325
362
316
391
247
300
262
356
273
360
327
313
288
298
305
361
356
331
269
295
325
357
282
358
250
371
317
254
212
348
358
374
313
310
349
370
316
344
373
344
222
344
330
296
280
296
341
277
216
321
356
355
346
302
374
362
276
305
330
328
396
299
398
308
293
370
356
355
335
364
315
262
247
259
299
288
237
293
297
411
327
329
392
329
320
293
350
322
302
283
428
309
275
282
229
276
237
322
356
253
380
308
388
273
343
280
263
271
295
329
387
262
282
307
331
277
395
287
386
321
334
229
237
345
391
269
235
335
357
221
361
315
327
327
308
282
292
285
282
346
340
318
285
379
379
247
275
379
278
213
289
426
285
329
258
257
302
222
359
329
339
333
327
368
254
286
334
299
298
301
265
260
382
288
328
303
420
307
271
320
317
387
277
305
396
347
381
322
318
385
317
366
364
371
326
338
306
243
376
285
366
296
251
375
373
222
397
380
305
343
277
312
261
307
295
294
304
273
326
339
342
315
296
350
336
327
257
378
322
388
394
186
289
309
316
323
270
303
372
419
339
265
304
396
288
353
298
319
395
393
302
258
286
308
293
341
342
275
276
338
242
293
296
378
290
383
270
358
347
325
277
298
335
369
332
338
266
346
305
310
383
377
324
371
269
316
254
396
330
271
214
329
367
255
292
264
394
347
323
274
275
392
281
314
310
224
357
300
374
329
309
309
353
331
385
369
368
363
363
350
275
312
332
380
277
319
304
356
381
353
279
209
373
273
271
245
267
297
309
382
280
259
418
275
313
323
351
306
364
305
316
350
332
286
323
353
273
415
288
293
299
335
268
228
287
353
341
364
323
269
301
279
317
370
366
343
266
290
296
248
303
293
268
381
310
336
372
322
321
343
318
317
284
278
333
330
407
315
293
370
264
251
288
266
280
325
306
233
348
327
274
339
327
299
312
266
352
275
355
341
265
301
326
385
295
332
347
281
319
355
318
370
391
351
302
272
338
333
356
315
333
303
358
338
287
328
352
316
250
374
392
227
309
382
366
277
243
281
310
324
289
290
299
363
280
313
271
307
362
318
291
186
329
303
371
277
356
305
372
314
302
319
439
294
350
297
273
307
348
339
316
313
312
322
286
350
302
381
259
364
410
342
336
288
370
364
341
347
344
329
286
282
358
306
271
356
362
310
258
380
291
283
261
348
278
289
278
404
287
217
322
345
303
329
331
242
364
404
324
294
329
344
278
303
270
251
298
337
269
298
306
326
330
389
342
287
298
350
362
320
364
354
317
294
325
358
368
272
342
258
240
346
281
328
368
313
326
307
318
385
369
288
305
331
401
330
305
265
291
278
317
298
303
355
336
260
316
328
298
367
255
307
303
350
343
333
306
277
222
327
347
360
253
366
351
289
314
314
217
277
324
249
368
261
288
212
309
350
282
378
354
340
312
436
291
208
298
281
285
358
298
237
307
241
281
285
269
322
350
271
326
268
380
322
268
342
263
333
318
270
273
244
240
319
335
331
399
308
349
296
250
337
274
297
262
257
387
265
240
361
290
326
280
292
249
227
329
377
299
287
297
326
251
247
285
296
302
304
425
339
306
294
297
353
286
334
282
322
264
249
296
296
350
320
275
264
367
327
245
339
377
348
308
302
237
324
351
244
327
276
381
359
328
373
268
293
361
325
370
397
296
330
380
316
363
351
398
400
391
286
344
346
294
302
324
169
346
311
283
396
340
356
305
377
337
323
281
391
320
314
265
319
267
312
363
342
355
383
295
320
318
255
331
283
349
322
330
296
275
309
271
320
339
219
388
289
361
312
331
325
317
262
418
377
304
306
300
315
343
306
268
330
340
312
240
379
344
329
250
259
293
386
315
313
316
305
298
379
311
402
359
352
326
363
356
313
304
298
303
282
304
307
335
246
337
269
283
311
320
235
290
355
277
321
308
322
359
254
380
238
319
265
212
287
293
383
356
299
306
302
333
271
339
329
326
297
317
332
321
265
242
236
368
369
350
360
278
281
322
331
341
241
305
313
289
292
269
311
321
252
317
388
296
311
363
301
264
266
313
310
320
280
243
391
227
313
387
321
307
351
282
329
311
311
388
338
369
276
298
326
382
371
317
357
328
349
332
335
331
373
334
298
327
335
370
274
288
344
357
313
373
350
326
317
335
292
320
358
334
355
366
381
331
324
340
301
283
333
280
384
306
343
325
368
365
258
289
297
327
317
230
293
294
307
337
368
305
304
293
332
290
246
274
261
260
436
384
389
291
317
301
299
269
248
214
331
417
258
343
326
309
395
340
283
356
327
226
324
365
330
320
328
320
343
348
393
319
326
258
309
320
377
340
365
268
342
395
348
272
324
335
323
214
286
350
395
369
271
363
364
227
326
308
344
323
352
407
397
356
317
368
311
345
300
311
238
337
320
333
337
322
328
365
258
334
282
235
349
298
289
406
282
323
216
336
315
289
302
278
305
332
391
343
298
293
312
282
338
282
287
340
295
324
328
326
300
316
373
293
399
343
320
314
343
332
264
298
317
308
288
319
314
353
305
391
296
341
373
287
332
392
339
273
254
309
356
265
287
357
339
339
320
376
258
345
268
263
342
268
379
375
297
292
294
273
393
298
280
356
247
324
355
307
334
315
349
306
378
272
362
372
277
345
356
298
375
327
238
363
356
309
238
274
318
324
333
271
270
356
276
349
312
376
226
353
337
273
317
360
293
277
324
326
275
276
352
312
250
306
361
233
329
332
299
358
322
321
345
332
392
301
348
359
379
329
303
323
385
367
384
347
254
352
326
292
291
269
295
260
318
285
248
294
247
375
259
334
356
306
262
345
274
304
309
304
344
283
308
303
313
306
318
259
330
332
309
378
363
262
309
317
307
286
301
216
307
334
291
290
290
345
317
373
257
341
349
302
297
341
351
254
298
256
301
404
354
304
284
348
274
328
297
323
342
349
338
306
304
385
376
365
335
349
268
291
340
333
298
362
329
322
276
297
365
334
275
328
283
255
228
363
241
430
334
375
341
282
270
233
355
392
371
325
381
272
273
335
375
295
346
376
364
341
297
268
307
360
267
326
311
261
261
285
350
370
317
351
304
294
353
394
288
370
295
324
328
323
264
339
317
329
327
377
352
355
385
373
343
270
289
280
254
319
320
319
281
311
370
308
338
339
247
303
367
323
379
336
286
271
299
362
363
247
362
278
298
339
266
296
339
275
256
243
334
311
365
391
353
284
323
387
304
343
310
355
380
278
330
375
304
288
395
294
280
389
273
308
307
374
329
287
317
272
282
293
310
218
389
296
361
306
337
265
214
280
327
382
249
174
269
337
230
326
321
398
287
284
271
310
278
273
321
282
344
332
324
285
240
356
315
276
316
267
284
266
324
261
356
316
352
322
357
378
315
353
327
238
364
371
293
289
309
261
325
314
358
353
280
354
283
341
258
351
281
356
326
317
235
359
255
304
328
285
290
279
312
403
396
321
306
280
296
323
419
297
296
320
319
313
309
377
258
349
311
382
325
365
346
362
312
275
324
342
291
260
318
282
326
313
345
350
263
312
333
298
416
227
318
205
353
335
288
334
375
370
382
379
374
419
297
346
299
286
319
312
411
325
310
347
406
349
228
352
378
279
305
254
360
359
316
305
260
296
390
271
295
332
270
267
322
356
380
340
340
330
297
295
337
381
264
290
339
302
385
266
300
355
296
346
279
283
354
321
299
304
288
345
239
303
347
326
382
295
337
361
309
273
303
219
220
274
314
334
310
383
255
285
360
330
324
351
321
325
334
335
347
398
387
353
327
343
336
331
354
323
344
314
346
314
384
326
332
320
273
312
371
369
333
324
400
290
286
312
319
259
439
317
358
323
268
342
333
350
316
390
343
273
300
321
271
336
318
262
317
440
322
310
302
214
402
319
360
269
271
358
228
343
334
355
250
214
253
291
410
263
378
319
270
261
331
283
336
342
364
361
313
296
392
333
365
278
272
313
337
335
324
267
293
320
336
263
335
331
297
360
330
379
392
313
306
276
351
263
350
351
288
272
295
328
356
322
265
325
330
254
297
336
304
324
332
313
315
277
370
247
371
288
270
350
262
308
339
270
372
370
316
287
360
400
309
375
362
327
341
349
314
292
321
295
388
357
366
284
370
301
324
307
264
372
291
302
297
305
358
181
306
224
373
292
320
337
450
329
419
303
326
316
351
357
336
258
329
315
288
376
406
368
315
262
303
287
315
270
358
376
212
267
321
274
250
342
333
319
262
345
334
251
412
293
259
314
354
346
272
236
368
271
390
224
371
319
372
298
355
325
293
370
338
309
316
332
352
311
343
326
308
341
269
367
364
320
280
282
265
359
294
299
303
330
360
261
233
365
220
347
291
356
259
287
391
353
264
320
256
363
255
294
332
273
363
324
272
383
328
298
348
327
299
327
320
310
303
378
265
371
262
297
319
305
295
386
311
336
257
335
286
374
318
295
297
337
356
313
311
225
307
310
267
275
318
362
299
372
371
309
247
268
294
355
371
314
308
365
419
336
316
245
274
298
249
293
336
325
300
412
293
360
343
369
337
225
395
369
270
309
277
271
303
260
280
336
397
335
341
334
318
342
311
290
334
228
301
289
313
283
341
327
260
346
342
248
329
263
366
354
281
205
315
349
350
291
317
342
287
312
289
341
344
306
329
286
279
350
297
240
443
287
303
331
328
377
336
308
381
331
310
348
295
383
288
381
375
317
317
376
350
308
365
361
353
355
281
312
293
266
242
361
364
334
293
284
373
240
392
292
302
241
376
402
299
267
364
337
343
274
334
320
290
299
287
333
328
277
359
287
292
333
331
321
343
396
317
262
305
402
314
333
326
297
341
297
379
334
339
296
228
278
322
336
300
298
347
309
394
343
227
316
329
235
379
331
375
315
285
356
309
334
361
317
270
326
343
332
345
286
299
302
310
365
280
347
370
296
394
311
283
341
321
240
264
332
283
352
271
348
308
298
262
249
288
302
329
345
387
268
365
298
290
365
357
381
362
304
393
262
302
330
270
332
317
280
299
350
371
286
311
300
208
228
329
316
356
382
399
292
233
313
192
341
252
390
304
297
307
374
343
391
297
325
320
264
292
295
310
380
293
288
366
397
304
259
301
374
315
318
316
296
318
254
325
269
271
264
402
333
366
245
307
265
334
338
276
333
303
275
334
257
378
311
328
237
270
278
390
307
315
324
323
350
338
358
334
363
366
396
260
296
288
304
328
309
347
381
278
351
340
273
322
340
372
296
289
276
316
246
394
311
317
289
345
340
294
325
285
353
161
292
300
266
298
305
295
317
274
308
350
330
349
284
305
310
330
352
308
287
377
349
280
336
372
308
324
355
320
250
305
380
267
387
338
426
311
347
265
249
252
311
334
233
308
366
263
336
322
332
287
247
364
282
290
361
291
333
285
324
249
381
302
299
333
377
320
372
297
323
317
279
390
303
305
337
364
256
236
314
327
353
417
334
356
317
268
351
359
346
316
332
318
354
286
401
271
342
300
360
363
360
307
328
304
284
236
372
331
312
330
350
369
251
277
359
327
253
338
245
339
305
239
367
350
285
353
331
251
310
304
344
325
330
255
324
303
294
351
314
379
255
283
289
377
303
330
360
355
262
284
276
333
326
363
395
267
360
236
320
353
326
327
310
329
351
293
324
276
424
364
390
362
308
245
263
304
330
301
267
266
312
330
335
323
337
284
248
294
231
297
339
267
378
361
248
328
398
244
264
373
322
327
361
291
321
352
239
319
357
364
340
393
269
384
374
393
338
352
227
329
337
277
273
263
309
384
333
377
330
327
332
272
349
309
259
272
288
307
356
361
409
319
340
269
331
346
313
330
322
314
355
325
338
335
280
310
326
340
329
277
385
334
254
319
354
281
370
328
284
263
344
294
294
389
304
301
300
307
294
313
315
366
348
346
401
312
357
266
275
359
346
336
338
286
338
269
266
312
306
293
333
287
293
280
309
348
232
366
235
320
336
361
294
303
312
372
325
347
325
292
307
242
325
337
333
247
347
287
202
314
333
329
344
366
379
333
274
354
345
302
341
299
314
349
303
328
296
304
310
395
324
387
355
373
339
343
266
335
200
292
347
302
277
352
270
369
223
372
272
280
328
381
285
395
346
291
346
333
223
254
291
313
301
342
270
262
311
298
324
326
324
305
364
268
307
338
299
344
296
370
319
271
342
330
386
248
300
354
311
323
371
368
270
339
352
280
308
252
245
329
278
416
318
311
285
335
306
326
326
327
405
339
301
354
305
345
262
276
303
353
306
311
382
317
283
323
357
299
385
330
234
253
274
239
341
362
284
245
342
406
358
354
411
344
363
313
337
300
306
314
257
324
314
324
358
246
271
342
279
307
300
242
363
352
330
332
372
428
322
227
304
354
323
233
273
344
364
289
352
348
344
265
318
245
331
295
341
321
282
228
310
357
266
253
251
398
325
265
327
343
268
262
340
298
305
283
280
313
259
374
327
154
396
305
275
292
273
356
212
371
250
281
302
349
325
297
335
372
330
365
313
232
373
291
286
249
336
250
270
384
287
232
314
193
289
287
335
294
360
389
334
359
291
316
333
221
348
353
303
375
342
243
328
281
301
368
371
315
356
261
249
347
271
273
369
286
361
358
311
405
341
380
339
322
291
289
377
345
307
339
309
348
303
321
233
381
323
365
373
281
288
279
328
280
388
285
316
390
335
360
310
357
389
269
177
289
306
263
347
322
326
335
290
290
287
311
237
270
320
334
396
275
316
302
302
430
259
350
231
353
239
316
355
273
301
327
341
330
298
318
349
285
295
397
349
316
295
354
305
266
388
361
332
280
364
290
309
228
316
369
252
279
299
375
346
307
342
256
255
370
315
243
320
341
199
273
364
324
314
302
291
243
283
429
295
299
316
350
276
360
311
302
317
315
321
315
298
305
372
318
266
324
280
400
337
302
372
329
287
314
327
298
320
317
298
291
384
351
325
365
315
319
368
271
332
418
310
398
291
366
323
386
225
276
285
331
279
398
340
309
318
329
301
313
294
337
346
248
330
300
276
359
315
340
277
330
347
309
370
296
373
351
271
341
387
275
327
343
379
314
372
334
331
335
295
314
262
356
246
299
323
330
315
312
338
298
297
378
339
374
295
292
342
314
307
380
214
294
302
334
254
316
353
380
362
307
316
254
320
271
388
358
366
288
304
293
310
248
351
339
324
363
373
358
232
328
206
328
347
233
288
317
316
366
341
422
181
286
346
366
212
299
331
261
333
348
318
394
367
273
409
199
295
218
357
356
281
315
317
273
316
319
297
309
254
334
310
240
291
305
291
372
264
284
390
356
289
346
308
365
396
315
347
354
410
363
334
350
246
307
245
329
263
352
339
327
378
319
383
310
374
397
298
338
368
289
368
394
246
246
336
369
295
277
307
346
364
265
294
284
343
285
310
321
335
412
356
346
250
395
358
321
320
303
284
341
356
297
407
304
342
244
341
282
308
318
272
315
312
356
329
345
336
371
289
276
294
334
363
269
321
386
268
339
343
364
321
328
320
324
285
337
303
277
370
290
419
336
250
273
336
294
311
292
292
344
277
304
330
388
349
284
347
315
312
350
315
270
327
297
349
228
308
270
307
282
342
293
367
266
332
307
295
363
288
338
400
331
368
343
383
307
329
204
305
311
350
299
232
331
263
280
281
277
206
219
375
348
279
361
337
371
300
350
433
309
232
323
356
317
277
278
325
404
352
385
333
293
298
369
269
306
262
321
272
265
339
326
318
336
363
336
327
286
261
309
310
230
367
382
280
344
263
385
266
303
328
377
337
318
319
348
293
386
347
272
325
268
336
387
346
253
364
277
303
355
323
318
341
308
294
313
252
256
314
323
310
267
291
362
302
376
362
322
343
376
329
403
332
281
417
324
307
320
280
320
345
323
292
288
322
323
340
349
331
328
340
374
215
317
411
277
282
310
313
353
318
363
351
309
342
327
346
366
282
341
320
323
350
317
286
356
354
230
296
201
351
381
338
247
299
389
306
353
274
351
273
319
353
306
188
324
295
351
354
366
253
293
318
295
281
279
291
319
349
240
331
401
376
450
413
354
386
301
406
305
370
320
370
345
252
327
278
168
320
376
341
372
287
362
289
313
264
271
264
279
311
283
315
260
291
300
347
211
354
251
321
265
213
393
252
351
356
333
214
363
260
324
321
308
316
337
278
288
345
384
352
352
305
340
284
349
316
305
310
336
294
302
252
241
406
304
261
299
343
363
329
350
346
224
306
273
403
304
259
286
278
292
256
284
302
311
344
316
296
256
336
386
287
370
362
251
225
366
337
261
367
292
295
234
258
328
357
309
383
408
269
376
316
308
291
263
223
338
258
369
352
346
315
295
363
327
350
278
366
311
309
342
347
346
297
330
313
339
359
356
364
238
337
352
385
354
273
312
338
331
352
377
321
280
387
343
266
313
248
435
376
354
362
249
310
287
310
314
263
413
295
305
388
343
265
344
356
307
256
330
287
292
297
282
318
305
382
291
372
244
317
323
357
402
425
242
235
231
339
398
351
354
326
245
225
331
285
306
264
331
312
344
244
310
281
285
269
310
383
336
306
348
383
295
237
321
367
333
316
359
244
307
305
334
292
332
378
286
336
340
284
311
348
378
435
361
327
302
297
274
381
363
319
276
342
348
269
355
342
262
366
359
252
299
276
281
338
326
310
316
389
322
256
316
262
263
270
366
399
305
370
427
345
326
359
271
340
379
230
313
340
393
287
304
317
364
290
325
270
254
307
282
270
310
322
301
246
330
325
356
388
346
324
421
278
321
290
283
320
313
221
270
339
363
299
252
426
407
297
337
293
288
357
314
346
282
289
339
384
283
311
210
373
294
399
283
280
292
305
262
297
301
272
321
316
254
311
339
266
323
402
323
356
293
296
311
236
326
325
268
381
310
309
366
320
319
254
330
282
294
286
301
302
427
293
336
326
283
192
413
342
395
286
335
355
267
344
362
405
439
295
274
341
304
337
238
368
304
308
279
236
351
314
361
294
375
327
275
390
357
342
409
351
349
358
282
283
334
414
305
388
335
300
235
347
331
375
354
347
302
391
309
277
333
305
291
376
292
273
268
342
268
310
325
316
374
363
396
293
291
292
371
294
308
336
313
398
349
296
309
374
297
358
351
391
356
311
325
393
293
289
313
370
218
411
312
313
361
297
224
307
329
266
340
363
272
236
320
320
283
354
348
323
248
296
333
288
357
439
294
305
337
284
300
273
383
277
392
324
269
347
328
249
345
293
359
318
297
352
356
287
340
307
348
324
341
246
358
338
322
285
360
339
302
355
335
326
356
251
337
276
319
323
304
346
330
361
310
314
309
363
226
348
335
357
285
322
321
393
230
303
333
379
299
321
377
350
378
310
332
295
364
275
253
344
313
410
382
284
336
366
393
270
331
320
323
341
338
365
391
267
343
253
314
204
259
273
261
370
361
234
291
235
323
224
366
317
302
388
320
281
255
289
300
351
278
293
299
336
370
271
332
326
361
320
355
317
319
354
339
340
394
276
272
296
295
335
317
273
261
305
376
353
334
299
353
300
302
316
296
289
214
299
367
278
300
385
338
308
368
310
332
336
329
283
427
336
323
275
343
292
277
320
274
266
325
323
344
390
294
350
348
319
299
291
337
292
279
430
401
374
275
268
262
284
251
332
314
288
326
399
350
318
304
280
285
362
351
362
325
291
289
310
310
292
174
286
308
341
327
390
313
367
303
327
258
368
332
257
331
302
314
280
306
363
320
316
317
225
302
377
311
385
318
308
328
355
267
296
362
294
214
359
289
342
273
310
323
300
347
425
236
315
334
331
299
334
196
191
331
341
290
344
301
295
351
344
291
367
376
295
332
371
339
321
347
335
299
297
326
345
322
324
366
320
318
390
305
321
273
274
331
406
407
297
336
356
318
301
328
311
403
297
340
282
311
305
346
281
317
324
342
315
315
324
339
361
333
357
359
306
195
331
304
287
242
422
330
296
236
339
288
325
284
423
335
314
309
233
285
346
286
352
372
393
347
317
299
306
372
324
356
293
238
382
343
352
320
348
328
364
381
336
247
295
301
334
402
333
297
394
304
290
291
269
352
280
283
332
292
377
255
315
278
299
298
280
327
259
315
303
360
309
330
343
338
285
301
339
357
295
299
389
356
316
350
356
337
244
270
408
332
292
349
369
332
372
358
276
268
296
343
326
319
259
333
341
375
266
333
356
258
314
340
368
342
322
342
214
298
263
310
269
334
322
244
239
305
396
305
365
252
325
382
347
290
238
263
393
278
295
338
384
327
317
318
323
340
313
258
285
355
389
218
293
289
313
382
215
366
249
278
322
408
359
347
269
273
283
278
288
339
252
334
301
351
316
320
293
312
377
197
289
351
306
347
331
324
259
318
338
347
323
255
349
358
323
346
304
332
366
279
312
322
242
279
238
311
335
319
310
346
352
312
343
343
256
307
239
343
371
242
295
260
268
196
290
333
231
261
354
269
416
343
278
343
278
329
382
275
320
279
298
284
292
273
268
410
358
325
353
286
284
332
393
298
397
277
304
340
322
401
398
336
336
305
308
374
246
340
242
318
330
388
383
434
303
315
268
299
401
318
348
320
300
335
313
307
411
305
328
297
357
310
321
283
349
277
249
327
317
322
318
324
423
326
284
326
274
255
272
294
345
307
280
346
345
348
324
248
332
400
313
335
355
341
342
280
314
251
256
235
304
296
304
279
253
288
390
364
313
257
289
322
320
339
422
292
392
292
298
297
286
324
314
265
344
337
198
321
312
296
326
264
343
337
273
363
327
300
296
213
313
273
305
371
320
290
303
338
319
338
182
268
339
236
333
357
286
271
307
305
317
349
339
247
368
216
338
359
235
249
285
336
306
347
362
361
298
419
340
353
293
394
308
330
366
279
290
408
297
379
279
315
262
308
369
274
392
288
408
414
390
307
271
327
253
326
348
355
304
327
272
323
342
271
324
336
315
335
302
328
331
374
275
237
426
354
364
312
306
345
282
249
255
299
270
348
236
319
274
260
334
333
315
251
387
271
315
270
405
365
338
322
295
306
318
338
331
366
356
260
303
394
312
318
353
256
235
325
316
296
232
321
304
321
298
257
311
320
278
265
385
369
411
342
333
375
339
324
306
254
304
387
261
327
345
287
291
372
352
391
350
329
322
348
357
372
317
345
348
279
201
330
277
295
306
321
351
296
304
386
262
397
320
257
376
303
327
235
386
336
261
289
304
284
290
308
344
303
318
268
281
345
328
301
359
208
285
291
294
331
342
263
300
205
278
356
285
267
300
412
294
271
344
310
370
255
326
377
352
391
403
258
253
326
303
305
336
295
303
368
253
294
454
301
325
347
319
292
392
317
308
277
338
316
358
266
292
263
304
274
297
269
217
340
328
283
328
249
269
270
296
294
231
365
338
369
375
259
375
319
317
341
352
324
315
352
324
339
298
263
260
316
362
274
289
350
309
276
246
336
324
326
301
297
300
317
241
412
290
339
280
273
300
305
300
259
349
294
349
264
282
239
287
337
290
246
350
207
308
292
305
317
288
289
364
339
356
224
292
341
316
336
296
305
364
253
312
323
281
299
400
376
313
306
392
284
315
286
284
312
321
321
357
309
310
295
328
310
341
351
354
270
324
438
424
338
416
241
385
369
310
376
310
341
313
278
377
280
385
256
327
312
288
348
291
356
331
308
387
328
341
322
333
294
360
266
269
361
288
328
323
341
346
314
314
327
321
283
354
327
318
323
351
325
339
312
333
322
362
396
270
371
352
364
297
261
245
345
294
358
302
325
244
316
273
325
365
356
356
230
226
313
288
328
299
270
337
294
312
276
324
399
317
284
332
321
339
282
324
313
321
356
346
430
348
317
303
276
338
331
313
344
323
344
348
319
307
423
290
302
260
342
386
289
268
295
244
394
319
406
347
315
337
291
317
321
343
300
397
374
279
309
333
318
264
361
332
282
332
305
395
238
282
310
338
293
303
297
290
324
340
217
355
289
287
334
319
347
294
312
362
283
327
290
254
273
309
278
364
351
355
347
310
266
321
304
400
285
294
290
269
321
353
316
333
349
282
371
284
283
242
321
234
319
272
364
301
324
334
352
308
386
320
373
179
323
350
367
337
325
353
273
248
319
302
310
430
310
308
235
366
360
264
299
322
316
334
324
331
351
288
316
193
278
270
317
278
317
240
362
338
337
360
387
378
372
340
350
257
379
272
267
327
336
248
265
272
318
228
325
289
366
404
347
325
335
328
286
362
339
335
317
352
342
324
320
329
333
293
393
315
343
357
338
302
218
308
332
404
360
231
327
328
347
300
346
278
333
329
359
402
297
320
325
336
331
284
361
429
323
329
381
299
402
330
231
344
331
356
291
260
276
353
271
254
277
258
316
308
296
382
338
226
351
338
344
347
344
330
353
319
272
405
342
308
249
265
294
338
274
326
326
308
387
316
360
351
233
319
339
309
338
350
251
231
357
404
327
356
239
278
330
280
367
386
353
276
327
327
207
408
347
352
325
306
399
354
354
395
261
406
278
421
393
343
342
272
282
322
380
217
289
304
317
332
366
301
317
338
310
243
267
257
290
282
321
342
393
333
286
290
292
334
350
280
191
341
267
254
294
298
327
335
345
326
279
311
343
312
335
345
337
298
376
327
242
262
240
363
356
312
372
340
312
348
270
317
220
309
301
317
315
322
315
335
304
347
247
373
294
285
331
378
399
346
299
266
365
240
380
365
375
304
324
431
304
354
328
344
263
314
363
306
270
276
366
370
267
318
255
262
275
356
362
336
311
314
310
284
331
321
425
395
369
404
324
324
420
333
298
417
346
335
272
299
327
312
257
299
404
313
365
316
380
318
318
340
374
256
275
328
299
352
327
331
328
314
275
256
242
330
299
373
320
281
285
322
305
362
372
332
346
333
210
316
325
272
299
238
308
369
361
313
258
338
341
347
320
281
299
371
305
328
326
354
265
316
270
258
340
346
288
338
384
344
363
257
400
320
287
278
414
278
327
329
276
326
261
260
213
281
347
264
246
345
363
241
383
392
394
275
390
377
283
333
348
342
352
340
236
252
297
285
363
316
322
301
247
302
309
359
284
319
418
237
263
310
346
227
326
331
260
286
272
393
252
258
271
341
315
314
333
324
312
360
362
381
225
308
232
309
274
321
372
294
315
369
227
296
268
348
265
280
333
317
376
311
281
322
315
351
284
378
381
320
256
277
407
296
326
263
283
287
276
328
299
416
318
380
392
259
383
327
314
278
318
308
319
356
292
171
332
389
173
305
361
284
296
263
240
236
422
193
322
342
365
354
306
334
343
419
331
311
275
362
277
370
316
342
298
327
296
325
330
385
389
302
266
324
358
328
275
379
354
257
313
295
311
270
383
296
331
312
349
290
335
314
271
337
355
355
315
381
404
303
255
312
349
320
342
347
402
350
335
311
273
317
324
267
286
323
277
364
294
241
334
265
308
285
323
263
317
257
303
289
282
331
264
315
289
397
293
261
289
366
314
244
245
272
279
227
255
263
353
293
423
313
339
294
330
314
330
277
359
295
363
354
287
335
304
460
267
280
380
304
313
327
321
306
394
290
287
314
338
397
353
277
347
359
392
394
345
335
284
280
374
259
311
390
298
277
359
341
350
357
359
382
347
345
299
291
284
401
240
314
323
326
251
327
349
275
318
354
359
280
322
339
291
329
306
334
214
396
336
278
357
300
276
295
333
281
310
294
373
315
289
324
300
259
360
287
317
302
288
372
304
247
301
305
260
273
316
237
300
328
252
277
360
292
224
380
309
332
267
321
348
346
253
306
396
370
267
357
301
336
309
391
297
299
281
322
301
300
330
291
301
300
346
330
293
253
286
368
269
348
299
373
295
357
329
267
263
318
267
295
338
220
291
305
391
369
310
329
272
331
314
249
334
415
337
333
314
380
286
264
251
382
268
357
396
287
300
313
291
321
321
310
375
356
302
293
292
348
371
294
269
366
277
301
391
268
297
329
261
391
349
324
341
313
265
332
290
288
342
223
401
330
333
287
360
249
258
320
352
362
337
328
331
324
250
386
306
238
268
347
310
350
378
298
310
289
304
319
345
329
345
343
333
394
330
277
291
256
336
342
351
354
266
291
278
390
241
360
311
309
272
297
220
294
292
307
357
362
237
332
265
289
340
266
321
327
350
347
247
320
389
307
248
247
307
290
247
300
294
327
377
250
278
324
405
334
355
282
317
341
311
310
384
361
274
314
325
289
284
316
429
334
249
311
279
350
388
288
293
376
384
367
292
319
344
352
422
267
308
299
387
276
302
237
280
310
273
379
246
385
271
316
280
231
342
264
301
342
222
387
377
345
360
352
251
373
305
389
306
378
364
349
346
290
377
333
299
355
269
308
319
300
342
319
339
349
291
278
342
320
236
276
266
319
373
333
336
361
320
352
377
275
267
387
362
353
282
323
301
350
344
338
321
333
341
347
389
398
274
235
236
278
295
299
353
351
337
313
354
274
334
317
356
363
354
337
285
249
318
400
257
219
368
268
331
268
347
390
279
305
326
306
284
269
359
381
293
398
335
372
264
326
333
339
280
398
287
336
318
315
355
353
362
303
246
286
320
395
312
356
256
395
284
347
233
288
291
331
328
391
306
297
256
351
288
400
341
312
318
262
330
329
301
428
236
384
333
303
323
304
288
358
329
338
289
324
348
352
372
394
345
326
306
414
329
324
305
407
301
324
305
244
385
357
329
380
324
337
320
357
307
295
284
341
384
350
401
274
219
264
239
309
293
361
281
404
278
333
384
371
306
341
279
287
246
307
289
302
340
326
316
342
309
322
275
329
310
282
369
327
290
303
397
299
317
351
300
308
300
342
371
385
283
392
355
250
374
376
362
296
347
352
334
360
347
336
285
292
284
339
278
279
377
284
308
271
354
293
300
346
367
319
307
306
320
274
268
279
279
282
324
216
310
335
250
235
242
346
297
301
277
371
314
362
235
307
351
395
263
269
337
290
240
281
290
362
255
329
310
376
329
324
257
321
303
295
374
421
267
387
346
236
348
305
383
286
253
298
277
250
354
350
229
245
293
396
281
245
354
403
314
321
237
398
238
359
384
320
295
322
328
262
297
334
243
317
304
369
371
239
269
353
248
325
361
331
263
333
338
350
389
452
337
335
276
297
376
299
292
329
367
407
236
342
289
349
322
389
288
273
305
342
308
385
272
348
360
288
381
261
327
344
342
413
326
303
281
388
270
275
389
345
403
367
305
261
382
393
320
259
410
288
309
286
358
319
352
321
329
405
308
315
284
202
305
405
252
347
361
330
348
296
337
334
317
250
261
378
328
344
452
284
308
302
261
361
277
331
360
235
276
380
303
316
302
302
265
343
338
300
307
311
281
368
368
332
287
348
322
352
343
301
337
342
289
281
300
395
323
365
309
259
313
335
350
377
410
324
379
340
471
267
306
294
273
358
212
324
347
302
251
389
341
288
208
329
276
391
304
363
273
301
430
352
291
321
290
324
220
387
288
359
268
337
237
348
237
319
336
320
350
354
351
303
369
294
325
408
284
342
186
312
310
349
248
270
324
281
292
341
398
365
295
333
270
351
348
307
316
273
239
375
248
254
360
328
317
245
284
293
367
350
261
344
315
325
331
358
269
367
321
337
290
382
322
291
297
301
347
365
313
323
285
433
256
347
258
306
300
343
353
356
317
294
243
377
311
316
275
366
235
269
360
393
373
258
350
276
337
270
351
334
375
304
296
340
254
408
426
298
340
289
286
345
313
356
310
381
298
286
330
339
283
355
298
285
421
344
295
395
320
354
340
293
340
273
372
282
369
334
354
313
371
299
284
376
339
311
268
325
309
336
228
262
314
320
314
316
380
280
284
413
361
328
306
333
293
340
296
276
313
228
309
353
281
296
318
299
384
260
329
338
324
325
281
278
364
286
326
314
316
277
344
319
392
341
223
207
358
335
379
381
338
324
280
322
280
290
249
340
296
365
393
286
321
387
331
354
325
323
305
296
375
330
288
376
268
391
284
305
309
370
323
267
315
284
318
284
336
362
380
304
326
306
274
407
285
255
295
313
325
336
268
294
272
323
308
403
317
363
397
346
304
296
338
333
347
250
214
296
316
397
344
346
305
324
309
364
314
330
345
268
339
305
346
282
311
273
277
372
316
363
350
295
281
259
352
272
311
354
381
348
350
421
354
313
330
240
372
298
311
333
326
373
365
264
357
267
293
320
283
312
364
325
375
389
245
233
321
311
273
324
448
347
434
361
396
336
224
358
349
278
339
316
307
342
364
400
285
263
357
310
324
363
309
353
320
318
317
295
323
295
366
323
268
200
283
325
316
298
310
344
356
325
362
258
236
340
204
431
387
271
355
331
265
296
335
333
343
359
348
364
347
273
330
255
293
309
356
296
293
316
352
348
323
293
311
394
266
370
260
310
387
329
331
309
283
341
323
356
276
274
340
327
402
380
272
314
284
359
338
309
329
311
360
317
244
280
364
351
304
272
334
316
345
274
296
308
351
269
387
340
355
380
360
343
316
321
313
332
379
360
336
328
332
269
344
349
344
173
229
317
360
370
337
379
348
353
311
318
299
287
366
406
321
326
288
323
271
343
336
307
289
267
403
246
239
285
229
359
353
283
306
374
391
378
255
306
208
350
324
232
313
262
349
350
326
352
300
250
372
262
262
326
297
321
263
313
363
357
258
270
384
376
298
320
278
310
285
339
293
280
391
291
305
323
385
285
392
252
339
360
271
353
340
289
332
342
353
402
279
306
349
338
381
350
310
352
346
291
256
225
303
321
327
276
305
362
211
302
339
316
337
303
258
293
308
353
319
307
269
326
290
336
277
340
256
268
257
273
369
342
339
255
311
297
364
279
327
359
327
283
405
383
281
315
358
336
308
381
294
301
346
284
348
380
289
285
382
318
279
253
302
334
349
303
290
287
315
350
352
363
314
317
333
351
282
232
371
367
331
269
357
337
321
268
286
287
376
321
254
297
282
344
320
380
336
279
267
270
363
230
385
306
274
314
278
284
270
232
374
394
325
357
362
341
325
287
335
360
332
363
356
228
336
325
371
305
267
338
318
270
355
304
328
289
350
282
384
352
368
263
318
310
356
384
237
262
351
376
366
338
308
342
341
302
260
311
305
350
274
351
342
333
334
284
350
313
351
237
300
286
320
267
350
300
283
360
333
245
331
396
257
360
287
351
362
298
333
317
240
266
302
331
365
398
381
293
247
339
344
321
343
320
302
355
260
266
317
267
315
268
342
373
297
320
240
270
298
312
333
333
266
341
332
308
363
334
318
296
333
270
338
321
393
336
351
368
303
331
240
281
302
215
280
331
278
332
359
302
269
359
313
355
344
258
359
304
281
306
340
333
321
369
224
312
315
287
335
320
380
335
328
244
320
380
216
248
285
297
343
332
352
412
354
323
290
269
287
304
331
318
328
351
378
259
338
370
342
294
353
278
305
281
279
331
311
308
328
371
244
329
263
309
293
304
334
313
302
319
289
314
340
296
293
264
379
371
314
329
319
308
310
317
290
333
331
326
271
273
312
400
341
376
279
234
289
306
297
340
284
300
380
346
277
336
383
277
296
314
304
278
321
359
306
221
207
350
306
334
344
290
300
350
273
330
288
281
325
294
311
393
323
342
320
293
336
238
336
324
358
310
296
306
243
297
311
296
331
365
292
364
275
287
300
376
331
340
316
338
303
398
243
318
401
320
309
287
349
253
351
350
254
278
314
311
339
228
330
272
315
322
382
340
260
303
336
271
287
254
317
352
373
303
302
328
285
291
324
262
205
351
291
335
248
276
379
297
369
233
321
239
286
297
291
305
381
321
352
332
340
342
299
270
299
368
281
224
275
323
330
282
299
365
357
395
287
319
277
324
399
291
327
374
323
343
346
263
274
388
246
369
241
340
288
339
344
320
347
366
309
328
342
289
342
305
415
243
371
349
328
286
344
269
378
299
306
265
308
269
354
346
250
290
285
397
309
336
271
348
405
295
337
305
252
248
258
245
313
315
310
307
277
294
244
357
366
313
334
342
306
372
301
290
345
299
247
292
301
373
345
261
287
309
310
337
390
238
306
307
278
340
277
364
300
381
298
303
265
287
325
297
338
374
300
382
212
327
237
277
362
349
278
280
316
274
315
299
360
284
390
317
325
290
363
310
296
280
392
317
261
420
301
330
425
325
317
318
408
264
322
341
315
392
313
243
302
327
277
287
336
294
251
257
267
325
292
348
269
349
288
295
331
376
327
279
377
291
287
253
326
251
295
374
305
238
347
279
344
295
244
301
389
351
243
316
345
337
211
274
252
302
364
351
272
404
305
293
235
318
323
287
301
302
395
290
325
377
286
349
360
230
320
333
288
384
418
313
229
334
304
268
342
248
273
304
334
326
310
380
222
269
346
282
270
267
300
170
246
310
278
328
302
299
294
312
391
286
303
344
295
351
369
291
326
346
346
274
317
361
306
290
331
309
341
318
320
240
342
366
318
386
328
324
364
344
286
284
348
336
259
271
367
329
312
354
409
261
340
172
302
391
235
253
310
348
332
294
349
327
333
325
316
244
329
341
365
369
279
283
302
295
356
295
258
269
310
242
368
252
353
299
255
355
310
332
330
287
233
341
383
271
289
247
285
322
336
350
230
313
318
312
260
310
324
293
270
372
300
265
325
372
342
335
265
312
296
388
316
285
309
385
298
327
345
375
225
326
272
286
376
273
324
355
396
285
230
290
380
337
299
268
291
303
288
358
266
187
317
217
348
359
286
375
347
334
275
381
272
308
293
383
243
261
308
353
380
334
305
337
312
350
388
242
304
309
307
303
291
255
327
384
313
335
324
311
307
247
351
322
305
322
256
375
311
334
342
335
263
263
309
321
261
366
240
302
334
352
289
345
302
344
282
324
371
331
348
294
351
353
353
330
337
336
325
330
331
236
305
381
234
313
330
291
346
350
372
329
327
326
264
284
412
357
299
299
338
278
337
305
322
334
307
329
272
386
343
340
305
301
340
365
351
404
359
319
307
291
312
328
253
364
308
322
373
258
292
342
311
311
357
370
326
252
287
191
379
313
366
281
361
314
297
327
294
304
397
392
314
379
252
286
422
322
293
329
244
434
221
311
382
349
317
302
398
282
390
358
322
357
408
353
289
302
270
326
386
358
351
349
286
187
357
335
215
302
381
337
324
340
254
339
375
320
320
317
324
333
302
361
277
304
314
279
314
281
342
225
304
340
270
366
306
253
349
359
403
313
266
235
358
178
368
242
375
322
287
359
322
304
337
325
308
286
267
298
293
404
372
308
280
349
338
248
381
240
293
341
328
370
334
309
411
341
329
266
339
379
336
373
358
399
315
310
336
406
256
323
302
323
354
282
355
314
289
370
342
263
369
275
229
304
250
361
350
280
319
336
300
301
329
336
279
302
346
273
271
310
347
325
398
284
365
328
258
355
371
297
389
322
348
407
382
270
342
304
277
251
309
387
236
380
334
292
337
372
378
334
253
284
250
371
396
328
343
370
291
343
314
350
283
355
255
342
369
308
330
276
323
313
418
314
306
369
329
307
310
312
302
245
343
291
267
317
265
397
296
284
255
359
311
385
295
341
328
389
292
316
278
306
426
334
369
222
392
340
271
387
293
371
294
311
340
351
306
307
286
288
359
332
337
304
303
315
354
296
393
263
332
295
272
344
314
302
269
305
409
263
308
349
286
260
307
296
343
402
291
318
304
335
343
319
220
412
342
266
408
248
403
301
353
322
339
332
251
352
344
318
383
381
261
299
240
307
348
389
279
352
309
249
289
272
341
334
320
370
367
361
333
265
240
276
352
338
268
291
360
292
296
358
316
244
355
388
259
263
330
309
335
245
307
357
361
352
310
285
302
329
353
330
304
249
283
313
319
295
339
400
250
302
349
312
349
286
375
360
388
290
266
396
308
309
306
307
305
313
300
346
250
237
312
375
356
301
365
325
363
276
379
399
312
316
402
313
324
207
300
369
288
327
255
354
348
281
264
290
345
294
301
300
326
364
247
299
316
282
361
381
259
316
353
324
212
240
280
329
289
356
326
301
398
304
322
342
288
273
221
349
302
286
338
310
256
342
326
354
288
316
345
306
248
264
304
345
395
240
391
334
300
363
350
318
337
258
367
294
300
333
301
291
317
339
327
352
356
305
364
218
315
298
369
332
309
292
227
348
329
417
336
319
344
332
384
263
336
280
340
235
316
264
176
328
318
302
319
325
284
298
337
349
362
374
311
411
392
289
340
285
237
357
331
311
275
262
244
352
305
317
295
329
299
317
313
357
313
380
350
344
330
267
330
328
347
356
272
295
269
329
379
233
283
333
304
321
358
290
242
301
359
341
308
336
300
339
320
326
298
316
279
377
229
429
264
338
326
281
324
299
353
309
370
278
284
308
322
319
313
344
276
211
335
283
328
338
378
299
327
297
353
371
364
262
326
316
344
320
265
319
356
345
301
269
372
270
324
414
326
385
297
280
316
376
323
292
355
271
382
281
332
292
290
306
366
327
297
301
323
363
377
321
340
346
380
246
292
364
276
378
358
285
330
356
358
334
241
209
311
285
305
359
310
249
334
296
308
348
353
293
326
276
372
324
327
296
288
278
356
281
424
297
313
302
246
304
361
295
337
358
339
363
337
314
307
369
334
345
378
310
378
345
178
330
279
303
336
285
313
373
290
299
365
375
338
312
338
355
359
314
296
226
288
360
290
309
358
421
337
338
243
326
336
349
286
288
380
249
392
324
268
342
321
312
343
278
334
259
270
318
312
341
255
306
358
413
276
296
245
396
389
336
331
259
302
289
367
286
322
379
255
345
304
310
256
356
280
300
305
421
284
298
373
325
260
364
274
276
348
318
298
296
221
332
275
397
203
291
280
282
340
297
321
340
363
274
300
287
357
300
316
351
302
359
328
299
282
373
363
358
322
346
382
333
337
373
236
300
293
235
310
326
273
328
257
328
321
255
314
317
344
319
320
322
341
347
322
339
295
283
323
314
286
260
320
385
343
362
419
303
253
349
292
357
329
342
270
386
270
299
339
367
283
326
410
327
325
284
245
298
334
239
328
284
289
317
337
305
400
335
246
312
287
305
259
347
281
308
314
356
253
310
280
315
238
342
330
336
301
290
336
308
297
351
415
292
307
352
353
344
321
323
355
304
372
336
324
340
337
363
367
336
268
390
316
357
350
265
353
239
355
325
352
261
409
301
315
275
282
397
298
352
278
340
272
338
395
302
347
373
291
276
264
264
334
321
350
367
291
355
298
358
286
394
266
346
374
315
323
231
340
290
291
321
342
316
244
334
307
370
304
286
270
366
384
323
399
381
328
326
308
306
304
188
325
287
278
330
271
339
348
365
279
321
297
382
339
362
353
353
295
291
355
347
339
373
321
391
334
325
275
266
289
280
350
276
260
357
300
272
381
316
326
216
355
286
327
361
300
300
349
274
320
385
297
327
358
308
288
256
386
358
373
337
250
320
330
307
328
314
248
318
350
331
168
328
339
303
252
408
353
389
285
372
320
324
313
315
338
253
326
314
376
285
235
367
242
368
298
314
265
374
366
344
283
306
387
287
325
279
335
330
331
319
330
343
308
340
245
357
224
336
309
346
301
301
437
271
322
309
329
274
295
290
346
278
313
378
266
252
321
318
241
314
371
302
314
313
292
323
335
320
255
331
329
318
335
337
268
284
285
296
315
305
276
328
350
341
345
348
383
279
233
290
314
368
289
376
361
358
270
333
331
305
313
285
360
298
347
293
371
337
314
304
337
287
318
329
384
336
337
303
304
314
322
275
388
338
271
394
335
291
331
341
244
270
291
358
313
302
287
293
302
296
319
325
271
343
352
452
250
329
344
291
322
262
335
364
281
371
338
290
358
338
330
384
297
348
310
358
273
353
304
325
347
333
275
345
313
342
409
219
292
316
387
391
380
313
282
350
310
339
365
343
383
289
339
317
315
223
309
296
296
284
334
365
268
290
309
316
254
296
302
375
320
347
335
408
322
297
283
294
298
343
320
315
328
387
326
319
225
361
376
209
300
386
231
265
251
352
322
362
264
275
282
305
274
339
267
297
267
325
378
347
343
383
317
378
286
334
355
297
351
233
307
359
411
369
345
252
283
355
414
298
423
342
322
283
356
252
284
270
346
358
377
310
273
344
320
371
368
430
293
207
266
341
354
319
205
296
323
286
333
304
294
291
214
373
282
305
287
340
332
257
287
299
314
303
410
315
317
364
255
291
269
374
242
334
317
326
293
249
337
288
366
284
346
316
315
296
262
378
322
318
312
310
332
317
315
317
214
323
255
384
323
339
317
351
430
322
277
256
270
348
341
319
300
316
350
336
355
316
315
362
235
373
294
338
310
330
290
330
441
271
268
304
379
290
295
302
365
308
394
313
345
326
335
381
259
321
319
258
374
378
354
293
350
341
372
309
360
328
342
216
280
388
335
309
260
327
326
368
427
329
321
318
313
253
346
301
292
345
353
351
311
366
426
303
331
268
364
358
290
315
316
275
310
262
269
376
343
383
372
294
280
346
318
346
374
261
311
362
403
326
337
360
231
291
302
321
290
320
301
415
336
370
419
318
310
338
369
283
294
350
373
297
314
306
316
340
335
282
319
354
342
260
374
324
218
371
329
306
328
301
305
354
309
326
332
333
332
371
284
276
328
340
280
329
273
345
358
316
280
340
313
322
276
357
337
361
332
348
371
306
282
353
375
300
267
381
277
334
267
337
210
269
292
302
277
331
309
373
349
278
325
316
298
328
268
368
361
313
399
299
329
353
265
309
286
324
282
357
384
345
326
305
259
293
448
292
303
314
366
309
314
349
313
287
381
363
239
325
348
304
338
327
327
345
315
378
290
330
285
290
424
340
271
339
317
398
255
406
291
281
351
237
287
357
269
306
302
364
347
326
327
261
305
298
279
374
319
296
245
343
233
282
322
282
300
291
379
312
339
327
352
333
399
315
258
359
230
318
353
349
312
224
309
317
314
407
315
312
418
315
251
328
301
318
338
302
312
302
323
371
312
351
319
374
286
357
339
337
358
332
253
348
293
302
356
342
312
290
311
288
371
189
279
296
364
356
368
388
395
352
313
230
313
330
323
307
280
318
356
370
273
309
269
384
350
274
278
374
334
382
297
249
396
260
347
344
269
283
351
299
279
312
247
258
306
341
309
298
392
333
294
294
343
329
232
357
365
267
282
314
244
324
294
308
306
238
313
319
292
295
348
365
312
302
274
314
305
247
406
332
332
319
325
306
342
262
244
290
386
291
310
319
321
315
379
293
333
288
317
306
352
315
296
292
357
344
240
273
271
233
393
279
351
281
258
304
306
296
380
277
295
237
296
351
355
344
319
290
245
353
303
312
280
352
306
328
305
346
276
324
354
318
372
314
310
231
325
338
315
330
327
343
326
352
382
346
330
396
367
364
251
338
256
360
259
332
315
211
289
293
296
359
218
323
295
360
316
283
275
335
361
306
268
408
311
341
320
390
318
345
380
311
310
330
352
326
333
359
356
318
310
320
383
330
240
331
240
294
357
370
292
339
286
187
363
309
324
257
345
270
388
277
215
304
340
293
419
280
283
333
300
386
340
229
312
299
279
335
321
295
317
363
304
398
330
283
310
263
246
356
265
288
194
280
289
242
390
299
333
272
284
287
259
290
314
435
339
316
364
297
269
301
356
343
324
271
345
319
306
385
302
317
332
255
341
176
373
246
272
309
430
373
367
390
351
311
257
359
275
314
345
275
346
381
373
367
280
337
257
258
330
282
282
367
352
255
317
297
331
376
315
290
358
319
322
266
282
314
337
213
364
358
321
297
304
206
296
338
342
359
370
273
342
367
353
283
333
265
354
291
299
227
264
346
336
281
318
284
366
321
289
281
281
342
338
288
305
273
229
347
327
402
314
321
228
345
319
379
380
362
344
403
338
272
300
292
282
373
315
327
331
309
332
335
243
310
294
313
302
340
315
344
343
374
319
302
327
340
309
327
280
374
288
272
310
330
337
320
324
356
291
310
343
252
314
351
329
322
333
364
290
249
271
403
294
323
298
358
381
348
299
323
317
351
350
317
250
286
374
292
370
400
338
321
312
339
306
334
344
347
255
437
369
329
256
223
367
362
353
294
332
309
331
323
307
386
304
261
275
332
355
388
348
340
263
332
326
341
366
376
293
284
226
350
305
221
295
328
353
319
347
375
293
265
331
270
382
274
363
391
317
321
309
310
393
345
264
320
231
314
321
318
280
296
341
310
286
293
346
322
332
437
225
298
322
320
257
304
279
312
388
298
317
263
323
372
178
285
249
306
347
309
281
292
397
307
321
301
325
354
290
293
262
361
398
297
401
294
246
298
377
339
342
297
383
301
376
317
228
303
340
255
291
312
309
254
243
327
276
309
280
314
350
290
388
332
249
337
267
282
331
354
256
300
382
250
319
292
381
323
322
243
367
288
224
270
317
438
309
339
364
281
325
387
359
300
355
396
386
330
306
292
288
366
338
333
292
391
411
342
341
281
325
339
384
322
404
226
366
394
297
314
304
371
331
334
306
360
304
360
297
281
321
276
352
371
348
279
245
316
296
392
353
276
357
321
351
324
348
293
315
339
371
332
289
376
257
318
263
277
228
319
334
326
319
285
243
326
311
405
310
233
282
339
365
342
312
328
326
350
334
228
277
319
321
365
334
404
339
288
338
383
375
373
309
306
266
297
257
312
292
360
259
441
376
350
276
345
298
260
386
301
249
274
268
354
406
342
312
328
299
298
339
326
311
286
268
329
314
285
319
238
399
300
359
346
332
310
345
255
353
309
339
283
402
407
303
365
228
347
304
329
320
314
352
317
291
314
272
318
257
237
359
388
340
325
293
357
307
330
364
314
261
392
263
354
356
337
354
336
305
260
404
263
328
247
286
312
299
306
224
273
262
357
270
353
394
298
378
274
311
287
283
351
269
273
393
190
356
265
333
366
290
276
402
311
331
338
250
354
289
272
365
368
260
365
260
312
313
328
348
271
330
329
245
364
310
351
271
338
411
303
288
306
290
361
365
279
280
316
364
332
278
352
357
285
406
264
342
218
316
262
361
355
293
295
245
309
341
349
292
266
427
367
242
318
343
307
291
298
335
253
366
325
284
326
256
346
316
279
330
407
300
337
339
353
381
370
404
303
364
345
311
390
327
295
302
355
315
317
355
344
344
348
285
419
355
296
323
379
382
292
367
314
332
298
370
389
298
309
322
364
294
295
300
352
383
312
331
305
351
346
284
273
188
302
306
331
338
264
310
314
377
338
351
319
289
305
289
358
383
404
262
270
276
333
342
260
260
272
309
284
268
375
384
366
346
341
317
342
320
221
335
308
389
375
341
335
296
350
323
367
282
300
303
273
306
322
299
286
287
372
365
307
297
335
361
310
267
354
353
330
250
315
317
314
319
306
336
295
332
384
301
300
251
220
326
329
353
370
316
309
346
373
295
373
282
332
268
313
413
371
327
278
255
307
337
339
291
318
316
274
365
378
257
239
271
317
281
301
330
353
355
362
345
325
306
384
395
253
253
284
328
277
334
337
284
258
227
309
353
305
303
343
390
315
313
298
304
380
373
240
236
317
244
286
267
317
255
285
286
295
345
327
291
269
348
369
357
362
277
357
365
273
229
266
348
368
306
284
350
265
362
304
301
364
309
320
313
341
368
345
349
386
316
267
239
332
314
262
342
346
287
351
335
325
227
366
307
336
350
319
303
317
367
288
302
347
385
291
335
287
380
345
329
344
307
320
379
319
304
289
308
325
327
303
291
352
219
271
251
298
324
402
275
321
305
295
311
410
275
313
266
324
223
354
299
259
360
349
306
351
280
292
380
313
330
345
322
309
323
196
316
342
324
382
362
256
407
299
301
276
336
356
333
295
385
329
341
328
323
266
287
314
298
374
314
316
350
322
392
316
327
334
327
329
310
281
389
380
299
303
316
320
338
298
335
396
333
275
309
346
289
397
343
361
341
260
302
313
366
296
354
320
293
301
256
249
322
368
264
314
296
323
349
214
343
336
299
260
283
341
329
264
387
283
326
300
312
317
338
251
318
272
356
308
320
301
373
273
281
384
312
276
337
387
274
339
307
340
344
332
305
373
368
314
306
293
356
337
284
307
343
296
419
360
309
331
369
314
325
275
429
326
337
317
283
260
326
350
286
248
281
309
360
336
202
228
281
302
288
332
325
335
290
267
306
291
351
323
266
312
292
294
227
339
258
343
265
312
326
343
328
376
433
327
375
351
318
373
297
338
198
371
348
251
296
241
346
374
384
392
334
321
389
218
279
326
309
258
208
272
324
375
286
329
305
318
336
276
255
195
332
347
334
246
288
329
320
354
322
274
371
321
318
301
326
356
221
375
290
315
270
361
328
278
350
284
367
241
382
271
343
270
333
276
314
322
398
315
378
418
314
350
316
385
373
296
311
379
349
299
262
360
387
365
247
324
372
354
360
320
355
294
281
365
347
312
436
340
301
300
336
232
272
297
327
287
343
254
360
281
355
285
259
400
277
318
323
268
297
297
340
289
265
309
256
299
353
347
281
393
271
358
318
346
308
280
371
313
331
404
336
339
271
286
360
257
321
269
380
330
347
331
338
256
272
313
280
216
364
241
286
355
344
283
260
280
359
287
295
371
315
332
287
309
259
285
331
374
209
283
290
309
245
334
235
320
368
321
235
322
297
333
267
268
420
281
381
440
340
230
352
322
264
401
344
367
376
284
335
371
368
324
301
271
333
311
447
323
312
343
268
290
382
387
304
296
331
328
342
286
320
373
341
338
277
370
265
261
255
361
400
322
343
369
323
347
326
320
353
386
283
303
306
293
280
404
376
305
299
389
313
277
290
379
300
290
237
310
313
335
315
295
245
356
361
289
365
286
325
387
332
354
344
328
287
293
287
311
374
249
339
352
218
389
321
310
329
291
316
362
299
323
351
282
259
333
351
279
343
334
306
299
330
252
258
347
403
339
376
287
353
259
283
255
311
259
353
362
279
316
296
324
313
294
375
269
242
316
325
340
329
339
252
277
327
277
365
313
319
262
225
377
239
220
300
359
220
314
313
286
269
242
277
316
332
293
295
357
327
246
291
310
328
338
258
262
349
303
294
293
333
276
220
355
302
264
344
296
292
302
320
306
319
295
408
345
210
298
343
304
289
338
378
366
398
349
321
296
337
256
347
322
443
311
280
379
391
305
190
351
316
378
356
380
327
295
345
299
334
342
386
385
376
308
256
302
271
329
270
277
292
351
270
254
277
288
354
347
211
349
242
336
318
279
351
351
256
298
357
327
327
304
248
303
297
328
292
303
322
271
405
351
225
368
334
310
281
411
277
368
283
314
243
340
285
361
359
361
414
327
367
364
308
265
327
319
377
339
353
310
322
375
283
309
348
283
307
323
330
309
390
342
269
255
268
318
355
264
334
278
394
297
265
305
277
303
271
325
321
361
291
281
340
331
400
319
326
267
303
309
294
381
332
389
298
263
239
315
311
323
335
383
346
303
314
407
347
268
347
304
332
332
332
276
310
332
265
329
353
325
392
284
303
285
297
325
323
307
318
306
309
237
337
271
216
331
294
298
254
367
306
320
361
294
315
298
294
328
312
333
258
316
314
281
369
340
380
339
300
328
275
326
333
362
233
327
333
341
261
310
331
324
285
228
293
340
297
302
318
350
231
331
280
374
303
324
380
392
208
336
272
306
387
351
226
303
197
351
260
346
288
188
349
328
343
262
362
319
322
321
286
327
335
304
339
335
322
319
333
290
306
373
319
362
266
319
354
365
309
391
348
373
344
229
296
321
359
263
332
435
376
387
358
438
297
352
284
328
312
357
340
368
360
308
321
288
351
216
367
413
345
261
275
324
258
315
302
302
266
307
352
221
338
312
415
301
253
359
303
325
357
281
302
387
258
304
336
306
371
369
267
289
298
355
325
383
284
377
330
305
302
311
225
335
337
359
350
233
330
354
295
401
266
411
221
422
296
349
368
357
375
310
297
287
306
353
266
291
312
326
254
360
303
326
349
275
223
328
325
354
326
311
304
393
373
279
282
425
333
259
349
370
371
303
373
276
362
299
350
316
273
343
347
323
290
371
270
189
302
275
400
399
328
248
293
293
337
301
357
293
306
292
292
326
337
334
297
363
387
343
328
256
302
232
340
296
416
363
313
296
326
339
226
338
359
379
328
330
387
239
293
247
318
342
356
385
351
323
280
228
383
300
431
299
276
323
252
383
330
260
236
262
366
388
342
336
344
325
326
321
335
388
264
354
360
359
397
363
369
385
357
379
372
383
302
311
360
287
369
341
339
259
327
339
310
274
302
384
299
296
311
313
338
332
305
348
378
330
238
271
303
285
268
397
353
269
248
275
342
359
279
288
276
316
377
228
300
322
304
301
343
319
325
345
297
259
339
288
330
399
269
292
255
261
350
335
358
312
374
296
344
303
322
318
363
309
266
264
292
277
392
286
277
380
258
292
331
315
285
367
304
274
226
403
367
296
368
294
311
332
348
272
317
360
351
308
362
382
352
386
322
341
302
306
292
422
348
353
268
333
279
250
446
285
358
343
364
339
341
197
366
267
304
260
331
321
269
363
325
288
263
319
317
376
268
282
299
259
255
339
279
306
296
320
268
320
318
377
271
323
300
395
256
312
326
262
355
331
292
361
355
358
311
226
335
368
323
369
325
396
276
372
266
302
351
313
294
373
225
266
376
379
233
309
263
390
336
297
303
335
383
321
322
259
258
292
355
281
271
375
329
254
321
316
335
339
309
312
320
371
244
247
410
361
305
260
318
341
402
230
366
355
386
374
272
342
245
308
306
284
373
361
289
349
285
320
359
356
300
332
318
255
395
377
374
250
314
268
359
334
356
253
357
319
326
319
350
305
316
277
283
312
328
307
331
320
268
280
381
320
285
212
300
279
319
331
325
344
318
346
297
280
293
411
354
379
328
291
295
230
311
298
317
323
336
265
267
263
352
352
303
327
299
321
337
325
408
310
309
376
345
347
322
342
336
295
307
297
428
299
323
313
310
306
296
273
291
330
331
346
287
340
388
356
317
381
384
305
309
291
290
282
305
327
366
319
352
347
338
250
233
381
248
332
331
285
308
364
343
302
312
248
364
346
244
305
290
304
323
335
327
339
296
320
333
317
315
339
334
336
260
392
372
372
362
375
317
257
370
241
341
272
304
371
375
262
304
335
337
236
346
283
286
332
310
331
365
309
303
326
284
312
321
323
299
343
362
313
308
294
368
261
293
373
322
289
287
331
331
358
266
285
280
316
292
307
384
308
282
348
286
334
352
308
153
326
276
330
321
380
206
283
389
298
280
323
307
316
345
411
302
259
340
363
294
281
242
365
321
322
288
370
351
340
308
345
384
270
255
339
333
298
382
359
299
314
362
343
356
281
292
330
299
276
330
312
312
280
405
205
287
254
368
271
313
314
246
318
352
367
362
321
326
350
366
331
346
283
298
413
382
367
254
289
341
275
309
277
385
319
282
339
296
229
281
294
263
383
350
333
326
299
305
299
258
369
412
377
312
357
286
237
344
369
381
322
296
317
285
345
251
358
320
320
262
300
340
394
299
408
290
376
332
388
312
284
291
374
254
291
375
241
353
368
344
273
187
314
266
285
373
324
289
356
288
277
337
355
269
280
314
343
370
262
237
383
340
378
371
327
234
336
251
385
261
359
255
352
317
238
237
322
324
380
368
359
307
342
325
292
329
268
344
325
365
315
382
355
282
249
381
308
217
338
293
266
387
307
344
359
316
311
287
307
251
343
338
401
317
335
292
334
367
367
267
316
296
267
241
354
275
345
317
231
273
299
359
377
323
314
329
242
316
318
266
333
330
360
320
341
362
270
274
371
350
372
331
343
353
292
312
347
334
383
341
346
338
346
341
291
276
291
370
294
276
341
275
328
292
313
407
271
351
381
287
342
367
341
323
247
280
324
278
280
319
286
283
319
342
306
286
372
315
371
263
357
332
344
279
367
248
296
204
284
315
365
286
309
383
273
350
323
377
283
337
315
286
291
327
231
323
288
304
383
405
265
317
236
365
312
259
317
317
355
238
341
288
333
321
300
298
339
214
347
250
298
299
314
330
393
284
315
372
253
293
256
282
332
284
327
294
372
332
380
336
290
356
357
286
363
236
350
273
376
276
400
261
302
261
408
310
223
383
166
327
377
283
284
331
361
294
312
335
270
313
368
273
356
334
383
321
340
261
302
344
359
307
283
276
285
300
249
341
205
337
363
338
359
338
263
340
374
312
323
300
324
376
364
277
407
315
375
316
249
347
333
304
329
347
288
332
309
279
213
350
314
298
342
370
394
277
287
317
419
272
271
369
383
348
333
345
310
380
295
299
369
301
335
255
328
290
319
307
301
337
237
409
306
351
286
312
370
245
357
330
254
304
292
312
393
332
303
259
364
339
345
388
375
305
323
373
423
240
370
340
371
366
363
278
247
296
309
350
191
334
323
360
349
293
325
331
278
355
343
284
239
291
363
287
342
219
299
246
384
296
283
428
335
378
371
314
319
255
245
339
337
274
393
228
344
311
388
376
308
367
392
380
276
399
279
301
293
302
258
262
358
274
258
328
362
326
330
343
316
351
352
312
249
293
273
285
368
353
354
274
320
304
277
261
335
315
290
364
360
244
403
245
396
308
257
266
255
288
312
316
318
317
280
302
320
369
345
319
381
353
305
275
315
372
296
309
375
355
274
359
341
266
268
376
379
308
316
291
305
324
283
330
276
268
240
378
301
327
361
306
266
350
275
372
301
332
198
380
343
370
333
245
340
331
345
348
233
313
326
293
320
346
299
264
284
289
348
300
373
274
285
364
228
293
323
296
302
311
390
348
234
367
245
272
282
382
303
314
266
265
382
348
370
250
300
234
330
319
336
281
321
367
386
346
296
328
383
388
325
301
304
317
365
377
279
347
273
303
334
315
371
297
309
322
326
381
385
353
317
264
324
313
299
301
347
405
283
284
301
358
311
329
357
352
343
246
324
325
405
283
332
265
337
342
266
353
231
271
365
383
336
292
274
306
272
276
257
321
290
319
299
353
434
304
346
325
295
349
291
340
267
288
365
307
394
362
318
375
279
319
318
322
336
365
408
315
336
323
339
327
325
304
371
380
276
359
332
233
301
303
239
327
287
295
393
240
328
379
300
307
325
310
275
280
220
262
163
251
371
276
381
263
316
292
338
234
295
349
318
316
297
317
232
335
313
302
348
350
395
353
320
325
351
345
368
273
324
374
363
355
229
248
262
264
316
391
318
265
240
311
337
324
300
304
307
333
297
367
375
369
355
222
284
313
244
310
290
222
377
341
324
387
303
284
339
285
297
314
309
305
324
350
321
289
389
261
315
224
373
241
245
261
285
288
324
292
278
320
357
330
324
223
407
297
306
336
364
398
275
351
301
326
305
330
272
293
346
299
342
343
385
301
330
294
363
339
296
320
327
384
428
336
298
259
276
256
349
337
306
300
309
333
292
241
292
295
279
366
297
365
361
291
276
419
340
262
289
331
267
265
356
288
373
372
280
283
252
333
359
268
341
347
280
288
272
316
298
259
376
264
249
358
344
317
328
268
286
320
372
376
318
315
264
299
385
269
399
329
305
326
380
341
295
398
268
261
301
307
367
288
289
340
309
202
334
270
350
275
399
343
307
322
345
375
320
288
277
261
371
331
338
248
345
282
318
237
330
334
372
391
303
253
281
268
333
262
255
280
283
325
299
300
349
276
363
353
309
352
304
351
327
359
363
365
275
259
304
289
307
394
278
292
374
329
317
358
389
359
325
319
245
202
332
391
291
248
353
345
245
298
265
343
273
293
317
337
316
328
341
260
328
309
316
265
318
303
379
306
316
309
301
310
304
343
337
293
332
350
291
388
281
269
358
296
346
299
422
302
339
282
321
348
328
271
316
335
376
308
298
323
279
360
340
225
331
244
267
387
290
349
304
294
301
281
361
279
241
334
276
317
280
341
339
313
300
302
369
313
286
274
334
218
422
311
339
355
328
328
289
244
380
254
309
326
322
233
311
371
319
293
312
401
278
378
307
300
244
315
277
323
300
423
282
275
285
413
248
241
317
387
304
286
205
245
316
399
326
369
337
315
266
347
402
248
302
300
341
259
357
252
393
346
332
310
264
370
307
365
338
353
318
324
342
375
307
247
356
382
427
355
323
281
242
337
276
249
310
390
220
325
268
322
348
332
325
362
313
400
251
327
278
283
378
267
291
326
255
321
321
311
410
328
340
322
307
321
292
302
321
376
315
337
288
284
377
325
288
310
276
389
305
382
333
297
351
241
241
286
326
368
318
304
300
323
259
290
316
400
272
361
323
355
330
363
346
349
324
181
328
328
408
328
301
291
293
367
271
346
300
315
305
302
264
270
253
257
255
321
326
336
323
284
364
351
224
341
355
384
301
276
228
337
309
254
280
282
333
314
288
331
409
343
297
376
282
388
370
296
315
345
332
345
294
311
338
352
289
339
382
292
373
265
336
353
317
214
276
318
404
318
326
343
335
263
384
255
361
314
281
297
388
248
295
282
350
322
345
298
309
418
399
353
344
393
244
375
356
368
344
256
257
412
363
398
303
348
370
292
282
338
359
267
284
305
284
271
366
334
264
260
308
293
252
295
350
246
347
319
387
302
266
363
255
280
264
360
351
365
290
290
317
310
218
342
330
316
263
247
247
322
266
267
390
347
267
313
360
295
317
378
227
313
374
312
298
334
236
281
321
374
261
294
323
345
315
290
247
347
247
250
313
332
334
349
304
278
355
252
241
286
228
259
274
312
333
349
383
318
390
272
300
337
252
356
299
297
342
228
318
349
336
386
298
361
251
314
242
300
323
266
238
300
316
324
257
378
310
308
275
244
298
378
279
310
347
323
328
324
330
304
314
282
377
301
279
377
396
332
257
360
291
316
341
243
247
260
373
259
270
255
341
280
316
332
337
296
365
277
342
340
383
345
301
282
320
385
353
363
286
279
243
300
247
326
366
343
266
368
372
273
357
369
316
339
350
314
322
392
252
294
326
351
321
318
294
389
287
374
351
367
298
331
325
261
301
377
273
327
297
331
347
368
284
388
295
331
355
211
239
343
286
223
319
283
286
339
330
269
320
324
331
365
299
356
333
297
351
295
379
347
271
338
298
398
346
311
333
290
299
265
283
340
281
368
345
280
189
300
298
296
322
297
262
286
311
237
389
278
243
291
370
262
387
307
200
322
354
325
337
321
328
321
341
328
258
402
251
395
288
341
348
348
324
339
332
288
317
346
288
308
259
367
253
277
317
270
278
365
322
340
352
288
270
327
338
271
318
316
338
238
285
325
322
318
286
362
410
315
376
356
360
309
255
253
246
274
362
290
244
285
389
344
344
247
254
291
327
312
288
328
309
314
297
264
397
259
311
272
357
320
336
389
324
334
323
297
288
325
335
331
351
285
216
287
294
310
291
373
321
315
267
336
364
364
285
373
306
267
291
271
312
319
247
354
345
383
251
366
281
350
292
337
373
343
318
342
327
281
329
406
337
402
344
313
262
310
288
378
272
338
341
313
223
373
216
292
363
308
352
354
369
312
240
335
311
389
358
301
352
298
324
382
292
295
325
369
349
330
281
313
358
373
346
328
335
256
280
357
207
305
342
329
353
252
291
361
341
343
298
343
256
365
259
292
309
308
285
346
269
274
318
344
323
329
284
294
363
346
316
262
353
277
282
351
292
263
246
336
379
344
324
382
373
407
266
286
394
224
316
340
286
248
394
345
342
364
304
325
222
245
360
299
330
396
325
312
347
295
273
395
342
312
333
318
402
315
300
239
355
323
292
350
314
318
358
341
286
362
315
261
295
268
302
257
315
360
158
278
315
373
358
392
272
379
383
292
250
214
266
297
230
327
282
307
293
236
390
291
339
363
280
293
320
275
366
297
389
319
242
327
259
314
308
364
334
304
358
351
281
379
370
373
313
284
314
300
345
280
309
304
276
239
305
258
391
325
335
303
260
353
372
296
366
363
375
347
281
306
227
288
297
314
280
338
247
352
229
304
256
304
381
316
303
342
304
294
329
375
305
358
372
442
332
382
260
368
434
352
312
321
279
314
210
434
350
287
295
264
304
332
364
347
424
258
292
329
355
253
304
304
282
253
366
324
363
348
359
285
376
382
315
337
360
373
361
300
294
256
282
293
361
317
286
327
318
332
283
378
313
324
270
343
336
305
265
234
332
330
260
358
359
309
346
278
265
303
376
321
264
328
268
401
358
375
335
274
286
283
261
261
327
269
340
291
452
293
295
335
291
236
330
327
268
339
326
352
319
360
271
336
305
344
286
311
302
354
331
365
296
277
340
210
403
336
330
338
229
315
309
351
230
343
331
378
318
286
314
277
385
239
303
333
356
226
344
370
277
303
375
331
281
280
343
265
371
265
229
270
289
317
319
409
311
315
325
321
385
234
335
421
312
351
272
312
407
380
321
296
399
234
342
302
280
270
341
315
283
373
305
301
291
334
304
283
367
263
292
286
286
375
302
333
293
350
382
338
223
325
351
352
270
292
339
261
371
303
257
332
285
410
348
259
357
247
365
322
317
300
332
329
282
323
319
306
359
302
237
206
361
312
318
295
297
305
213
338
402
333
288
303
275
297
282
362
375
362
349
341
270
296
290
322
276
281
401
362
202
374
367
313
313
323
378
261
296
284
368
272
246
285
332
368
284
315
367
375
262
289
336
349
367
303
332
259
319
320
312
323
308
352
296
350
377
322
384
353
274
387
228
358
297
361
358
251
260
379
296
356
404
322
360
191
264
344
317
307
300
371
280
299
279
298
287
293
357
411
312
313
293
233
308
372
234
272
308
311
317
242
367
358
295
318
350
290
317
373
218
397
325
233
367
305
264
307
281
268
333
319
329
361
347
423
285
319
326
313
344
303
281
338
367
260
323
340
311
294
322
355
280
326
319
341
323
217
344
341
320
326
331
314
318
376
352
270
308
316
289
315
259
334
282
303
303
357
358
231
366
294
300
379
329
306
262
295
281
393
266
322
231
305
319
251
387
307
298
361
346
326
326
296
228
353
208
296
309
286
313
329
302
290
316
272
292
390
241
314
309
323
328
325
352
343
330
290
312
356
351
317
252
448
304
299
293
334
336
359
280
307
217
330
307
290
301
350
413
230
299
354
318
329
289
219
376
393
277
363
309
304
273
312
338
355
307
322
246
309
307
303
307
430
283
318
298
277
261
299
325
361
288
334
348
227
342
290
347
380
367
361
264
295
286
335
283
329
350
433
319
312
280
308
286
274
253
278
292
347
396
343
351
334
182
329
321
376
319
343
284
289
337
261
256
222
324
338
352
335
345
330
236
234
287
330
375
278
372
397
303
298
254
360
266
352
394
297
292
232
266
334
304
302
288
310
316
319
361
310
358
259
387
285
366
302
373
274
317
292
357
395
297
246
242
374
317
346
300
336
307
316
358
310
285
340
327
372
345
301
282
302
290
315
314
289
264
335
312
214
285
315
327
399
281
285
309
260
362
365
322
330
254
368
386
360
370
343
314
250
332
273
294
240
325
356
383
313
325
312
367
299
353
322
238
286
357
380
261
263
321
321
341
265
330
314
275
302
281
245
350
267
363
313
365
296
365
244
214
317
392
249
260
334
346
298
308
297
302
358
345
312
325
369
279
304
395
338
291
373
318
377
319
262
313
405
335
418
272
337
365
271
244
295
387
305
271
268
340
294
384
305
331
350
349
300
319
366
236
278
327
311
408
316
261
360
296
266
312
280
350
367
248
361
271
325
265
326
368
296
347
288
354
277
302
224
309
302
256
377
289
305
313
309
369
280
338
289
318
396
343
337
339
349
279
378
294
343
307
323
342
323
281
291
278
285
318
259
262
372
325
379
203
316
275
380
299
297
313
305
298
368
376
245
394
337
284
278
347
333
377
294
276
299
345
366
309
304
261
308
287
379
226
321
367
299
367
279
286
277
257
355
371
256
335
284
152
277
305
336
368
366
343
346
309
339
359
358
243
348
320
355
248
360
364
300
320
336
323
346
315
255
325
369
390
341
388
305
313
311
334
361
304
315
358
307
253
348
340
323
282
355
301
320
327
332
343
317
442
198
355
281
267
324
326
331
258
259
306
259
301
307
234
311
325
380
246
315
314
273
304
317
327
376
294
305
347
310
350
283
282
268
328
346
282
333
276
289
296
416
329
343
228
353
271
342
319
381
329
333
246
297
254
299
271
445
401
211
374
284
317
325
305
252
258
362
315
375
309
372
346
366
261
295
221
309
329
265
377
285
311
372
259
330
384
292
322
218
296
320
248
255
329
319
310
370
347
141
315
352
328
232
266
328
355
322
354
379
377
284
153
245
315
307
256
267
260
311
355
334
293
323
364
278
389
312
309
409
291
289
293
247
380
297
235
355
353
284
364
358
318
360
270
397
276
354
279
341
340
317
341
291
350
356
335
358
341
266
304
321
314
342
304
296
235
428
331
228
279
323
354
312
366
303
338
357
292
355
327
300
333
393
360
342
304
326
347
325
339
308
300
241
293
297
399
312
266
257
278
283
324
349
372
268
372
342
324
313
299
342
350
384
367
260
277
356
374
321
390
356
364
394
305
326
374
266
376
363
297
300
413
383
293
301
197
326
253
357
314
291
352
268
282
310
309
353
254
242
269
257
373
300
375
326
356
309
397
380
384
354
346
282
315
365
362
369
301
320
291
290
374
275
310
354
316
356
309
382
277
242
292
230
304
314
338
386
281
355
342
353
275
226
379
377
374
259
296
271
242
387
286
311
282
363
311
414
340
292
339
305
310
328
350
258
318
397
310
275
344
316
308
332
289
247
339
292
298
293
320
304
336
309
318
280
317
341
358
342
358
336
266
375
273
318
308
302
305
354
361
303
367
322
339
218
339
332
228
354
367
281
306
281
289
360
313
328
314
363
271
375
364
323
334
260
336
265
412
241
315
324
275
337
249
323
307
368
290
219
355
403
318
289
335
241
322
243
292
259
305
285
268
350
327
242
369
344
339
375
304
312
343
283
430
385
304
297
323
335
351
376
343
323
368
271
340
341
381
297
367
346
303
266
347
272
369
347
313
318
196
304
342
261
338
343
304
282
307
295
386
363
306
232
242
391
383
318
305
364
331
327
293
356
382
270
271
377
410
329
227
342
456
336
353
315
385
287
329
329
358
313
285
270
288
354
370
355
339
306
430
345
359
339
409
226
309
311
315
344
239
325
334
229
383
378
240
344
276
171
294
312
318
241
362
305
352
263
333
310
334
379
331
341
252
338
345
241
377
318
303
303
353
224
307
301
339
276
249
399
379
360
369
265
313
357
270
343
342
341
370
290
314
313
294
284
218
272
315
314
339
260
379
321
351
317
383
278
331
348
307
317
247
288
374
332
351
381
293
376
334
316
374
300
249
311
293
305
241
238
355
341
308
317
321
220
377
257
364
305
338
349
253
296
299
303
281
278
313
248
271
380
283
307
276
268
362
270
287
333
316
325
295
392
316
298
355
285
375
311
288
286
259
391
398
374
295
210
343
285
298
381
351
302
326
249
259
232
264
262
358
333
332
288
344
286
373
343
345
316
321
354
348
359
313
348
220
156
334
305
371
347
260
356
233
268
330
395
373
330
283
324
302
319
342
307
337
321
347
306
320
359
312
280
290
366
311
359
268
341
238
430
415
368
332
322
379
311
359
321
227
385
305
268
391
373
339
376
299
311
350
396
252
350
226
278
334
344
294
337
296
240
322
270
328
383
349
300
276
352
278
380
311
317
302
358
343
376
363
275
350
289
248
257
283
249
343
267
398
336
311
381
288
381
380
334
283
288
262
330
295
283
332
383
343
254
289
206
280
447
299
217
294
317
350
332
284
296
337
324
229
305
352
315
244
288
406
312
250
380
334
246
334
319
380
382
334
403
227
312
312
275
307
331
270
380
332
365
352
310
287
299
306
341
350
334
398
339
329
262
232
347
336
353
341
363
255
293
365
259
382
337
342
206
306
309
274
212
312
348
322
377
284
375
365
336
302
330
240
313
303
289
204
342
373
229
334
378
349
367
406
276
331
320
348
341
420
407
273
346
305
404
320
272
318
261
311
319
238
369
285
265
269
274
269
303
345
306
337
217
234
333
295
358
248
253
291
293
361
362
301
305
332
231
271
221
363
272
311
332
411
342
286
304
306
291
369
267
356
338
378
291
269
251
286
249
285
282
356
222
303
279
413
295
313
307
144
343
282
357
230
293
358
326
301
294
356
441
328
299
320
368
293
246
348
330
279
337
293
262
270
309
306
285
298
156
336
299
356
353
380
334
259
236
294
254
240
275
249
343
322
364
300
327
292
246
312
244
306
291
362
285
311
289
280
310
286
320
293
273
227
289
300
291
262
241
332
310
266
340
377
299
304
334
362
332
254
316
283
388
278
294
330
332
300
322
358
279
260
291
302
352
339
268
314
363
378
345
357
318
277
300
317
325
310
376
410
364
264
254
355
392
306
393
346
301
286
268
349
404
343
262
377
376
309
370
363
331
329
355
376
304
305
330
275
307
349
301
371
330
309
282
401
326
290
283
316
427
357
281
240
310
256
363
344
331
277
357
347
295
391
265
373
386
314
308
311
350
296
271
320
352
309
302
329
328
335
347
291
280
333
319
291
320
315
323
374
338
224
336
369
291
310
344
349
384
305
269
370
239
351
322
332
285
244
369
364
291
302
295
365
370
329
314
343
323
373
312
181
293
294
369
293
288
291
208
291
284
328
285
357
328
333
381
210
230
280
418
319
325
348
360
328
204
349
382
364
331
288
272
298
308
246
280
393
300
292
356
275
304
358
270
357
315
294
268
325
325
318
318
285
289
311
293
250
403
339
243
239
245
193
346
380
339
259
281
322
276
275
331
326
277
304
251
323
395
242
274
332
347
372
289
283
302
304
256
355
296
262
343
378
360
285
391
338
252
382
309
356
284
234
296
331
266
297
303
362
228
263
268
367
402
260
275
278
342
303
396
319
276
262
299
344
393
304
355
345
343
394
301
334
319
339
314
324
342
364
324
270
314
415
357
255
340
226
320
265
283
245
292
315
346
360
326
437
326
384
319
359
332
271
355
300
341
336
394
315
386
294
296
313
327
311
295
261
247
334
258
255
367
319
295
237
411
360
291
351
340
317
240
323
293
313
252
302
362
340
417
215
281
345
265
328
397
256
370
336
293
341
306
300
314
378
377
299
250
399
302
377
330
366
332
230
357
317
378
313
320
310
286
361
350
269
313
352
299
225
328
360
312
290
357
381
293
325
293
307
328
232
340
292
269
365
339
285
401
255
329
306
397
352
382
345
388
371
386
345
334
334
352
349
326
291
252
264
303
366
270
274
380
286
385
336
297
270
308
225
401
286
249
342
312
375
324
299
365
317
348
379
391
406
271
314
232
285
319
318
317
258
341
285
250
318
308
237
318
247
325
271
342
462
254
293
259
420
351
414
351
365
306
294
309
276
317
318
322
373
286
331
354
358
381
322
354
265
379
338
287
326
359
364
366
363
317
406
313
321
417
374
323
284
278
404
336
387
346
244
277
274
330
267
291
303
270
241
363
234
318
265
309
277
241
338
258
324
312
347
284
294
265
349
283
299
375
389
412
313
334
307
374
276
279
276
307
383
312
367
370
281
385
210
316
316
371
292
339
351
312
386
378
278
384
325
321
317
343
347
305
307
288
249
270
337
370
318
328
370
385
282
291
379
245
316
285
292
281
313
295
325
286
298
357
288
325
365
259
314
320
374
310
318
307
299
364
381
292
364
377
275
382
268
408
246
319
359
274
334
396
318
380
313
370
325
397
369
335
358
358
362
301
275
392
280
282
305
358
296
272
329
358
342
393
348
300
305
362
298
277
302
285
385
311
315
339
330
304
416
323
341
343
367
329
301
327
347
286
330
204
342
290
282
296
299
309
332
336
273
277
353
330
296
218
263
346
265
296
373
307
305
292
382
276
269
345
306
375
407
221
308
337
334
295
237
329
373
331
333
318
350
340
359
330
357
365
381
353
324
368
336
300
300
280
383
346
298
351
371
316
351
262
342
254
299
334
305
268
348
294
423
316
261
285
324
374
320
283
328
330
348
321
276
309
306
313
264
324
321
249
267
313
417
299
406
292
284
378
353
296
347
291
270
325
254
250
298
370
342
357
322
286
314
302
312
313
314
268
238
343
281
319
293
434
259
326
339
314
304
300
319
351
296
315
296
287
369
359
341
306
365
330
298
312
288
341
246
334
249
372
287
318
366
366
259
313
323
261
367
249
346
275
319
336
315
280
279
291
334
372
373
315
341
314
337
370
362
365
277
227
310
295
321
335
317
301
259
346
287
312
272
296
252
313
344
278
266
403
357
276
319
370
294
382
316
344
279
281
355
356
339
278
331
263
339
280
344
296
302
380
355
410
355
316
294
357
289
414
346
206
404
320
372
335
337
236
263
214
361
282
304
319
388
366
287
314
348
382
280
309
252
390
340
327
289
304
343
324
217
274
396
354
348
330
299
239
354
303
412
341
345
312
436
334
330
348
174
264
311
278
221
367
358
338
283
359
276
267
364
340
354
348
303
294
348
252
370
272
372
319
380
324
294
288
303
292
305
344
351
331
351
294
284
243
320
209
304
375
293
288
274
239
334
375
237
225
273
246
321
288
345
350
213
308
291
273
405
295
237
309
296
258
302
322
379
411
307
358
294
284
296
306
356
275
247
397
339
273
261
382
227
236
293
331
281
293
336
331
307
294
305
376
303
299
354
368
322
273
297
264
221
303
374
326
350
250
308
279
355
353
258
293
291
280
390
303
217
317
353
241
336
338
321
312
324
295
364
243
287
290
367
294
285
294
338
349
304
343
283
265
345
353
352
368
263
324
285
281
345
274
310
376
266
276
274
368
318
259
349
314
322
283
352
327
226
305
290
275
309
395
298
336
379
374
227
294
366
333
343
380
316
352
345
244
325
349
331
347
339
331
350
297
337
314
217
320
229
296
264
321
348
345
294
306
354
243
309
372
290
295
330
324
348
317
262
352
345
351
444
349
269
315
359
259
316
250
323
310
271
257
287
325
335
291
312
218
358
206
316
291
279
359
352
348
359
358
328
347
359
357
362
354
363
261
281
325
363
338
309
329
370
279
318
338
253
347
285
314
376
335
379
277
285
379
312
387
299
367
358
305
372
318
395
231
266
289
330
305
300
353
308
284
403
336
350
341
328
309
314
292
317
262
334
363
314
258
376
305
359
331
304
317
311
315
320
317
330
291
284
318
260
284
289
274
305
332
330
261
372
337
316
337
359
332
388
272
308
271
298
253
325
377
315
377
359
296
319
267
298
374
293
344
314
389
283
352
326
269
340
285
383
339
329
265
311
346
380
363
374
278
234
338
320
291
340
323
221
270
352
365
348
286
325
348
263
326
325
256
304
276
367
278
333
328
315
312
350
312
321
278
302
299
300
389
278
305
291
269
340
321
365
284
319
346
256
235
365
375
365
393
309
337
291
269
270
300
269
364
281
326
303
313
381
347
388
291
269
391
272
337
381
310
350
240
300
417
255
318
293
328
274
418
264
311
257
335
273
230
287
325
330
384
267
286
292
251
376
307
317
337
350
378
354
328
335
296
295
344
275
397
309
394
349
432
310
322
442
261
392
326
319
272
336
283
233
293
308
333
334
316
330
284
381
345
401
327
294
334
405
320
341
360
301
290
285
343
255
332
384
325
378
283
289
326
350
286
295
309
291
314
256
286
375
297
364
352
346
329
289
381
264
332
377
366
289
337
353
248
356
327
286
286
320
325
316
356
343
292
306
349
365
298
373
354
326
349
284
349
268
352
338
360
325
319
347
386
251
322
444
332
366
346
248
331
350
251
312
301
349
262
313
392
294
275
254
311
326
321
348
271
285
294
305
352
318
296
299
313
257
271
324
311
315
317
306
344
338
233
286
230
369
345
369
327
339
310
371
342
283
276
341
272
324
286
266
302
322
330
316
329
338
318
316
298
309
205
264
330
370
301
317
319
311
244
328
284
326
296
217
405
251
330
302
374
302
295
246
239
349
372
236
312
256
303
336
277
332
268
326
268
365
355
341
241
427
386
318
316
273
331
330
368
388
292
367
295
232
289
393
370
252
305
324
307
191
304
342
342
259
344
421
361
368
316
318
347
245
360
405
352
331
308
363
334
310
390
320
317
381
350
307
344
349
299
326
346
360
377
317
343
301
364
349
357
289
279
381
319
313
284
272
304
333
291
320
327
333
316
352
299
292
304
310
273
286
316
283
301
333
299
329
343
233
392
284
364
383
283
361
324
407
350
250
363
314
319
294
328
323
338
297
216
239
223
302
352
361
315
264
323
252
336
329
327
316
356
296
255
336
322
350
399
295
271
279
324
312
388
323
341
342
332
323
337
331
302
293
418
220
329
322
338
282
307
277
318
316
287
324
255
312
276
350
293
293
355
331
376
280
289
323
319
272
436
352
307
291
258
359
344
340
307
335
369
258
337
270
292
223
311
343
322
267
354
311
314
315
352
259
312
322
367
305
293
312
305
333
340
322
261
303
370
366
365
308
350
358
377
318
348
219
297
288
371
315
204
327
325
295
275
284
357
312
227
306
380
306
289
298
334
302
333
301
356
335
252
278
271
278
326
328
352
316
372
348
287
301
263
289
308
337
383
261
261
341
279
374
367
313
334
349
376
258
336
265
312
295
223
370
322
329
397
321
242
318
383
349
329
290
302
361
343
334
352
320
338
375
237
307
302
229
262
327
279
319
280
311
393
294
394
316
318
335
352
318
355
329
315
377
315
394
299
241
295
308
331
369
348
327
334
290
348
342
288
285
252
397
264
247
278
392
288
350
365
301
338
351
325
307
332
256
329
295
278
327
331
261
271
331
273
299
343
404
326
347
366
338
307
373
324
331
402
305
329
380
324
338
350
353
356
261
324
266
367
283
338
317
342
325
312
345
309
301
351
344
257
366
307
372
370
344
296
307
364
330
350
290
291
267
422
279
314
363
281
325
394
279
331
305
292
240
328
264
395
277
230
341
346
279
348
349
324
329
261
259
368
288
276
307
305
389
261
406
343
402
268
219
325
337
314
263
267
345
317
356
296
201
278
291
291
293
386
341
422
236
280
347
322
288
273
384
291
293
288
266
327
314
299
286
350
346
304
265
306
321
332
321
285
316
368
299
308
374
307
327
407
320
335
316
282
302
296
254
286
323
389
282
330
293
319
250
263
225
272
317
370
333
251
340
238
299
307
363
345
354
304
352
377
291
372
298
375
301
316
289
317
406
275
283
341
278
398
361
219
261
328
251
446
324
318
371
385
276
388
250
282
284
401
417
351
187
317
345
350
279
300
380
282
354
334
286
328
351
266
268
315
335
329
288
378
288
285
274
296
299
344
340
251
222
361
302
217
336
331
307
336
330
329
373
323
315
414
255
249
240
372
411
286
334
312
288
342
292
279
356
333
309
297
301
301
321
346
346
371
299
305
331
360
374
272
327
305
317
253
305
394
324
295
323
295
346
337
413
362
296
285
415
225
321
370
255
330
281
341
282
332
286
313
318
296
285
273
320
294
346
362
355
328
329
297
338
246
347
351
335
325
309
298
305
310
280
293
284
349
325
280
357
325
276
306
328
334
283
204
357
325
277
278
280
364
292
344
279
380
347
347
325
357
403
282
344
303
376
371
331
324
313
295
326
343
362
327
288
341
305
331
361
372
329
320
223
342
349
244
343
379
239
278
350
301
285
285
269
315
369
311
348
304
338
376
294
333
387
287
269
275
426
347
315
338
323
312
322
333
240
291
332
434
333
360
358
284
414
347
346
378
294
291
365
298
331
354
391
264
287
258
343
344
342
271
291
347
250
303
320
332
270
289
244
308
291
298
316
304
330
289
266
278
321
402
336
348
268
308
348
256
391
331
251
308
331
347
331
329
354
284
276
401
318
321
364
341
308
290
316
237
332
356
346
333
384
288
391
176
311
315
346
298
298
338
388
260
345
332
374
265
298
261
331
382
300
293
283
284
297
290
356
335
333
339
271
201
298
285
321
300
280
261
356
326
353
278
255
396
221
312
324
345
295
334
300
285
332
356
317
177
322
276
322
190
339
301
314
288
289
357
430
308
235
351
324
239
406
288
344
355
298
311
357
350
347
345
272
281
302
340
335
223
357
385
285
279
277
257
257
330
299
295
328
161
294
276
372
362
336
330
347
343
327
364
353
344
381
371
359
312
373
321
336
338
328
330
321
260
329
252
401
305
323
207
375
342
414
353
308
366
308
370
400
334
245
255
330
326
289
336
340
296
324
296
302
222
328
403
415
189
284
287
276
292
348
264
270
336
320
348
364
273
261
325
334
275
269
326
348
324
347
320
310
266
330
335
333
276
269
360
386
369
239
317
361
321
250
324
216
335
308
270
276
288
302
308
308
261
289
297
343
355
268
318
315
298
311
325
347
302
322
422
309
261
232
295
305
446
301
366
352
343
296
378
324
360
305
323
314
271
364
324
278
214
388
251
360
305
337
340
307
250
257
375
372
351
365
225
291
312
321
269
388
356
318
308
371
337
345
330
290
302
363
241
266
291
356
334
378
347
297
286
286
330
308
404
261
303
287
312
364
341
313
286
289
327
375
283
336
286
371
423
321
258
329
348
333
311
333
227
307
317
247
335
365
260
334
356
334
313
302
284
339
274
295
332
374
257
296
319
331
370
307
350
319
274
315
219
274
309
293
287
320
309
256
308
322
326
289
291
263
371
305
288
453
280
362
350
379
355
327
265
279
350
252
248
309
318
276
372
259
329
255
394
412
301
331
285
341
275
272
275
258
328
328
375
340
314
337
349
288
266
363
306
385
307
236
292
258
273
374
336
318
318
366
311
301
240
330
336
301
322
300
278
336
361
282
342
264
383
316
308
360
282
370
378
351
264
290
303
280
359
369
195
368
356
397
271
360
356
285
187
353
283
285
330
315
331
255
325
349
265
287
304
376
334
345
343
365
334
331
250
327
333
329
348
317
398
259
317
342
295
367
370
364
320
348
332
341
305
320
276
400
285
342
330
296
304
299
391
374
294
366
272
358
324
359
380
331
348
374
276
369
414
336
284
261
344
339
302
368
390
261
428
384
319
345
313
252
363
272
405
323
317
346
230
262
292
308
278
277
357
268
298
296
407
336
307
384
329
419
281
382
357
344
405
335
312
129
316
357
350
330
295
267
349
300
312
340
376
358
234
270
325
275
289
319
227
274
217
246
344
286
250
290
314
320
251
332
318
392
315
363
364
283
301
308
236
272
233
268
302
359
420
341
341
279
347
313
370
302
302
328
352
376
325
318
383
268
312
312
309
327
314
306
350
306
267
417
290
294
313
324
222
318
255
339
261
314
282
296
370
222
290
391
366
292
286
351
309
365
390
321
329
325
315
271
290
345
277
365
412
385
301
333
329
353
259
324
330
414
338
324
352
399
334
256
292
376
280
285
283
305
366
309
328
351
341
282
356
326
246
298
299
268
300
269
286
301
275
305
362
280
275
359
299
281
318
394
306
337
364
324
305
345
264
307
327
312
343
257
285
306
276
374
300
367
403
315
283
205
323
403
352
323
308
303
353
292
305
386
319
396
250
240
371
326
363
308
307
361
286
284
340
316
362
337
409
317
335
363
310
382
275
322
373
304
267
365
306
336
336
276
363
265
443
266
281
326
270
306
248
351
376
286
243
366
375
370
370
323
345
348
269
288
440
309
326
346
313
299
339
329
333
329
339
322
317
418
306
308
366
353
347
253
384
389
298
379
298
408
292
286
304
379
254
272
394
310
283
355
372
294
350
364
224
353
320
380
328
279
349
319
361
332
362
336
234
331
321
391
277
253
268
324
264
291
360
356
332
346
308
314
382
281
351
336
248
330
385
269
270
289
392
256
283
343
264
311
258
298
335
382
354
260
355
324
342
332
328
300
336
312
312
346
312
306
344
292
329
355
345
336
321
367
296
287
304
309
324
300
327
311
331
290
304
358
323
230
357
311
318
332
289
237
352
312
348
285
373
386
321
327
286
319
318
345
337
370
304
335
379
311
349
281
302
302
355
405
315
341
286
321
324
367
336
324
297
297
339
318
340
277
415
257
315
249
355
331
350
300
338
303
299
303
348
296
359
341
315
341
304
289
343
283
345
332
373
361
275
326
353
332
335
256
263
325
343
317
316
303
313
310
369
215
370
349
290
323
321
239
358
372
431
370
368
347
231
329
339
373
300
279
363
313
313
328
308
333
347
300
308
352
307
289
269
338
401
261
319
343
335
320
284
293
413
317
369
298
296
258
313
318
371
280
315
286
311
254
300
251
306
351
300
261
339
250
262
316
309
329
296
385
289
334
337
316
335
270
308
324
323
300
328
288
281
308
333
317
229
261
322
336
322
393
289
350
370
270
384
358
383
407
296
366
349
285
302
307
281
258
301
332
319
233
322
386
325
331
323
279
338
280
332
386
347
342
300
212
321
404
375
298
308
340
324
302
284
337
339
305
279
320
352
334
307
327
298
364
296
372
276
342
324
343
239
348
311
353
308
351
346
334
310
323
332
312
296
336
383
294
344
390
271
288
407
348
239
409
317
374
353
283
290
285
319
343
284
324
399
295
282
312
346
356
323
394
303
357
271
323
324
327
355
385
242
259
247
311
308
285
266
374
298
338
322
273
271
316
308
282
338
329
349
230
320
298
316
371
338
321
278
321
328
381
300
315
374
345
244
264
226
352
192
318
325
318
329
286
304
313
350
283
283
346
307
209
297
279
316
268
378
287
274
407
303
253
245
205
311
306
341
318
325
370
309
284
340
337
312
300
277
275
301
244
370
248
264
309
338
327
294
361
293
420
387
374
321
310
338
408
311
351
333
341
265
261
320
382
271
286
316
321
372
337
327
265
311
324
225
346
205
349
288
359
307
358
290
324
262
345
338
363
350
288
277
408
305
338
306
326
298
354
308
313
320
348
296
243
284
333
364
295
359
351
329
286
292
313
297
325
343
266
324
210
219
306
273
288
345
251
328
321
232
396
349
319
319
240
317
238
217
396
342
301
289
214
375
261
327
340
235
321
263
288
332
357
356
350
293
329
305
238
244
309
327
357
296
344
292
327
300
359
267
344
377
405
325
308
341
371
189
343
300
380
362
296
366
307
329
226
315
286
366
296
340
335
318
267
274
329
208
305
377
318
316
379
280
281
252
315
292
357
348
360
348
298
307
347
331
348
269
249
309
385
372
325
280
313
340
354
280
285
344
297
355
277
417
297
348
227
307
221
306
390
388
399
362
284
361
310
387
342
350
401
308
331
345
325
334
310
289
373
303
208
332
323
331
325
332
237
339
343
279
243
311
388
375
359
225
379
306
290
337
317
290
213
296
308
302
341
359
273
334
365
341
348
349
290
309
364
327
348
297
273
361
289
337
303
277
220
322
290
390
357
215
340
406
355
301
318
360
293
322
335
319
379
362
282
315
350
277
342
254
285
291
352
346
230
361
370
376
373
318
353
361
243
307
221
322
391
288
414
305
371
401
373
355
348
241
277
296
286
318
379
390
294
330
314
341
309
318
264
302
306
344
304
282
396
303
342
336
313
283
342
224
321
301
424
294
358
272
373
424
311
400
271
251
229
336
403
381
279
269
339
334
257
304
287
316
254
381
339
266
225
368
358
352
290
321
297
375
387
293
254
402
286
308
361
317
297
330
372
323
320
296
231
242
243
260
316
352
322
359
369
264
271
338
387
277
347
352
294
366
292
276
399
313
343
265
265
286
220
289
352
306
288
318
311
303
330
389
336
326
356
370
284
376
229
359
324
244
358
307
210
384
288
367
389
302
366
358
362
385
267
293
304
336
283
356
331
306
349
282
362
266
386
350
328
318
323
343
271
295
283
343
397
361
326
260
385
269
320
323
347
266
373
278
315
254
419
310
274
284
272
299
278
328
267
341
349
346
342
350
335
314
261
295
272
338
301
339
351
318
345
317
316
350
325
355
220
333
327
371
305
346
348
373
325
402
354
276
237
296
351
354
335
270
396
289
347
296
283
254
317
353
321
273
326
314
375
253
310
345
341
282
256
283
368
326
364
335
234
314
291
367
266
304
278
298
334
284
390
338
369
343
258
324
249
372
347
352
350
341
357
254
238
245
260
187
338
339
314
315
246
387
316
341
366
341
314
329
315
267
312
317
451
402
365
313
349
318
348
342
309
357
227
287
360
305
275
320
283
365
300
307
351
352
354
331
312
282
349
196
318
296
397
354
315
234
246
355
368
308
328
335
320
394
306
286
310
295
324
278
266
310
324
266
343
337
311
284
273
346
302
371
381
338
349
281
326
292
301
332
268
243
293
335
258
367
304
320
332
352
282
250
344
353
353
266
311
341
347
267
381
346
296
309
385
360
345
277
280
302
367
330
251
359
330
365
314
250
318
297
372
336
315
252
365
294
306
278
315
305
296
335
282
288
273
273
353
248
347
368
334
337
392
291
240
287
366
283
302
318
332
273
302
407
317
338
362
407
335
301
205
349
269
302
278
334
355
347
292
388
358
320
276
303
313
361
266
314
263
251
291
309
318
354
320
295
393
333
313
284
286
344
319
305
302
359
323
297
372
379
350
307
332
252
317
374
327
352
343
356
267
269
370
383
321
362
271
291
272
300
342
291
321
298
355
262
320
244
285
385
275
205
350
362
364
335
368
285
313
282
261
401
276
294
329
300
333
308
264
335
335
381
324
331
319
343
365
329
285
350
331
377
349
274
324
241
301
325
374
335
374
301
303
308
351
328
272
332
273
345
314
314
341
404
354
361
279
264
313
344
279
327
407
337
227
271
303
341
294
289
343
366
313
268
310
293
363
344
251
358
269
355
322
357
343
349
309
367
317
316
303
303
272
346
304
320
303
358
298
291
353
218
308
354
322
332
304
275
305
310
333
385
313
275
348
287
348
412
277
353
375
361
371
371
283
363
387
359
313
304
285
312
287
272
339
346
335
340
320
308
285
314
326
301
274
330
345
333
279
379
302
355
246
364
357
352
332
343
315
348
209
298
291
325
295
361
257
304
293
317
327
309
276
289
324
355
339
245
357
319
392
345
337
340
284
351
291
278
327
304
313
223
286
347
296
321
339
324
319
314
291
278
335
294
267
332
333
350
304
358
290
285
343
307
324
360
323
197
230
325
290
307
351
323
363
279
326
360
320
328
345
323
416
253
286
364
327
296
333
305
298
335
301
396
327
390
334
297
319
315
318
341
300
344
299
363
318
336
358
327
258
315
363
377
272
334
409
331
367
186
360
313
318
281
273
335
370
360
395
264
369
358
353
324
277
397
342
243
335
314
340
331
280
307
323
355
319
341
391
325
380
315
293
314
318
354
283
440
306
327
287
338
361
335
239
279
362
348
359
253
322
357
310
341
321
315
347
312
339
364
275
239
374
263
336
274
308
310
357
275
337
360
283
187
302
370
288
252
326
390
263
332
311
334
330
394
310
365
338
320
381
356
347
369
240
322
349
315
325
367
391
294
296
299
267
420
303
307
351
269
289
388
404
271
334
332
291
389
347
315
276
302
347
339
257
294
283
335
304
353
273
360
369
307
260
344
352
337
379
349
332
340
227
331
361
379
295
312
160
285
312
325
347
310
333
291
321
246
306
211
489
387
262
340
382
294
216
254
357
223
290
299
257
286
226
338
292
282
339
356
331
305
266
292
294
263
201
387
322
311
272
299
314
263
334
348
332
346
336
313
294
349
351
339
231
262
298
269
325
299
307
340
286
356
426
319
256
314
311
310
366
311
336
287
326
279
341
316
296
352
345
376
343
285
300
275
251
323
267
345
309
312
281
298
313
254
337
353
297
324
367
295
336
285
351
311
290
302
303
315
364
273
328
284
366
343
340
252
282
294
249
415
336
320
281
378
325
343
272
352
275
242
353
267
290
314
259
303
375
321
294
381
376
191
267
352
302
356
319
341
422
374
319
301
363
349
307
337
230
256
337
344
358
321
312
361
297
296
327
384
304
223
311
367
264
348
318
340
332
344
288
267
278
392
265
385
340
336
327
308
370
344
364
316
243
329
282
312
254
272
302
347
340
376
281
377
253
289
410
350
395
309
341
309
391
279
363
309
316
302
281
290
354
272
345
302
239
342
325
284
390
337
300
256
329
298
281
347
312
328
375
350
281
273
372
373
264
312
280
258
274
286
405
348
364
397
312
325
297
317
334
284
285
383
340
283
319
279
263
305
333
319
359
312
431
355
351
280
225
321
321
287
309
343
335
325
279
358
277
325
346
202
403
347
416
270
354
242
289
329
287
349
351
346
327
388
318
285
193
304
243
331
323
289
291
227
342
315
399
253
298
291
364
326
313
240
295
308
257
368
370
299
229
278
342
308
296
340
317
326
307
348
402
331
296
308
355
363
331
297
356
300
351
274
421
283
315
300
363
276
335
308
271
344
278
323
290
300
291
322
294
364
322
272
306
352
321
272
261
375
310
390
274
280
312
265
306
322
378
368
367
335
329
311
321
362
307
356
248
360
391
341
281
355
342
269
285
352
293
359
364
305
296
326
285
394
335
341
301
384
310
311
207
246
271
289
408
328
351
269
304
289
350
241
334
249
354
370
282
324
300
283
325
311
239
397
218
285
352
375
355
269
378
295
353
339
356
273
385
268
305
364
348
345
236
412
354
321
262
304
311
302
345
276
263
311
303
291
321
343
302
243
333
329
312
279
358
295
354
348
288
338
388
361
382
320
219
316
367
333
324
246
305
360
312
333
370
273
279
374
341
313
290
297
307
336
332
296
275
226
352
317
314
326
328
302
239
242
363
336
314
297
298
233
265
296
278
357
278
264
237
288
366
336
341
333
336
275
369
397
325
356
401
373
297
314
227
315
298
284
252
279
244
307
408
289
368
288
315
325
361
256
256
374
392
386
283
355
325
284
313
263
325
342
324
330
296
328
299
297
345
239
271
322
377
321
217
278
266
284
399
287
341
384
234
378
300
277
263
251
217
347
302
224
360
328
297
331
289
322
276
366
283
304
384
248
378
311
260
293
359
314
352
285
281
438
241
301
288
308
367
351
328
343
305
408
329
232
337
292
346
316
268
365
254
300
341
355
355
291
257
307
296
384
262
325
328
289
373
356
344
356
414
361
310
352
243
295
238
318
276
293
269
320
264
332
365
296
305
334
327
329
340
275
318
381
285
311
339
320
375
311
190
374
328
281
237
263
344
274
373
304
346
374
301
265
265
308
364
283
308
380
283
321
270
328
254
302
349
383
186
258
362
379
311
327
333
382
341
335
361
302
268
224
368
327
284
347
311
391
363
281
328
280
355
394
342
349
299
295
327
303
268
284
269
213
385
378
369
361
382
391
345
309
251
241
279
312
317
396
316
301
274
360
306
326
306
375
281
342
314
269
310
383
271
298
318
232
292
253
381
268
333
339
349
335
316
306
304
284
315
272
377
253
287
253
353
314
316
337
344
391
316
272
302
285
295
292
291
270
285
319
332
360
337
263
314
380
410
305
321
353
267
277
309
296
357
383
314
335
357
284
253
340
429
298
257
316
338
355
288
319
322
338
222
270
367
290
271
297
319
362
263
300
354
315
421
304
338
269
363
345
241
348
266
316
371
419
284
250
276
311
326
289
349
318
351
338
370
314
424
305
303
370
339
338
357
324
350
272
322
301
307
285
310
324
292
323
248
224
387
373
279
311
271
285
346
241
342
321
331
359
311
306
299
287
316
351
329
270
298
291
395
272
262
297
265
425
274
255
392
283
358
338
295
353
304
357
325
322
262
278
213
398
314
345
323
335
397
425
300
314
406
351
389
372
269
348
277
221
347
386
289
395
323
354
364
271
231
334
309
345
328
285
311
357
310
283
313
273
322
292
265
352
336
405
318
310
388
318
316
351
310
333
288
318
294
336
273
256
410
305
289
364
293
275
319
292
282
311
368
292
299
316
355
245
304
274
278
385
330
335
313
244
410
434
337
213
401
341
368
342
360
301
370
287
315
402
316
329
321
369
352
353
286
387
244
311
338
333
341
275
342
288
290
316
357
374
306
383
311
333
286
380
314
246
287
320
352
297
281
342
284
299
280
357
315
295
392
364
357
293
307
262
320
295
290
265
372
367
272
398
360
272
293
229
244
384
395
328
309
301
385
342
336
282
312
379
303
286
346
364
347
281
378
242
319
288
320
305
322
326
332
302
289
351
370
274
324
259
319
251
380
317
354
334
366
283
347
315
299
280
359
353
325
278
342
290
357
328
317
288
264
306
381
342
292
355
292
287
332
367
247
313
367
224
304
321
326
319
292
290
358
307
315
353
231
344
296
340
321
342
334
313
294
315
222
370
324
353
358
286
281
285
273
288
361
286
251
368
266
289
372
255
283
322
342
338
237
344
293
234
358
306
370
366
292
317
341
267
369
278
312
291
290
290
323
318
371
283
351
364
306
293
427
334
338
371
271
307
344
313
265
332
289
316
352
304
277
392
278
248
273
311
274
303
350
354
320
282
368
303
254
283
296
281
313
330
252
381
361
337
246
353
347
301
358
287
235
340
307
314
312
326
232
305
304
310
310
314
262
360
203
276
270
335
355
354
369
264
270
339
375
355
306
375
355
261
427
346
344
280
308
288
305
276
348
305
288
338
326
275
274
251
286
379
287
292
290
300
350
344
321
292
286
331
323
301
276
307
306
361
382
350
303
319
297
262
323
290
398
355
342
323
300
296
355
288
228
356
359
318
297
342
258
393
335
332
341
298
329
287
269
424
314
239
382
358
348
220
327
324
275
312
274
303
385
323
326
274
273
309
298
369
317
406
378
270
368
316
271
346
341
289
301
385
248
353
377
336
332
220
359
405
351
320
249
337
378
275
311
335
362
298
311
356
294
335
285
391
352
392
320
249
256
348
345
341
316
295
277
299
269
360
258
311
348
373
255
303
297
286
360
266
322
316
383
243
257
310
328
362
307
389
261
361
319
271
364
240
400
205
349
284
212
296
355
301
315
311
380
323
383
343
248
320
316
212
347
319
252
261
332
390
271
320
411
325
317
330
491
361
348
290
323
355
278
278
390
260
315
262
346
411
296
369
416
335
284
311
384
347
258
257
346
369
328
347
340
313
259
279
322
311
339
378
365
271
317
311
396
310
349
354
341
279
283
318
389
333
350
274
337
278
259
414
339
310
309
275
233
367
300
353
245
355
318
286
347
339
313
320
359
328
403
336
335
321
352
241
368
333
302
324
327
327
322
298
230
290
292
311
349
359
252
373
266
321
346
279
346
325
287
355
384
393
360
265
248
316
319
324
378
305
360
274
289
277
316
349
253
261
302
262
354
303
339
269
389
324
301
349
306
268
365
306
301
338
367
235
289
279
290
291
324
401
276
259
348
325
355
276
271
315
300
302
295
386
359
401
317
284
345
311
269
361
315
347
306
354
340
370
294
382
398
235
297
278
311
335
266
365
311
346
369
277
391
286
298
371
251
308
361
271
378
292
312
296
380
339
319
318
336
308
308
363
306
287
390
398
288
333
399
376
298
276
271
261
242
311
330
344
290
303
279
389
306
339
359
289
384
219
428
276
394
334
396
249
252
305
361
369
319
301
268
307
286
317
346
268
178
320
334
287
280
360
271
308
338
329
353
241
391
258
370
347
341
362
337
381
333
274
262
280
323
328
312
315
322
371
303
333
313
295
383
326
301
282
295
307
236
358
305
350
360
293
266
336
317
362
365
295
312
290
256
346
357
358
354
353
305
351
389
361
313
297
241
295
256
376
314
342
281
314
303
385
348
288
329
383
418
210
327
300
292
180
277
242
339
284
269
373
306
347
353
309
330
316
339
252
273
224
261
237
332
288
325
289
300
302
357
308
278
274
368
346
348
272
345
311
321
348
284
332
260
320
313
373
286
337
287
318
388
316
390
366
387
327
262
326
261
269
326
328
324
364
324
267
335
320
331
338
365
346
332
315
311
306
312
248
254
297
379
359
298
355
319
246
325
339
270
279
315
297
336
301
286
340
343
331
336
350
241
302
305
288
264
356
336
391
364
347
315
315
308
394
308
277
363
357
367
313
257
298
262
365
297
342
336
290
273
316
326
309
414
400
310
310
385
348
329
220
293
273
332
280
287
295
308
348
251
365
291
242
248
345
321
355
306
295
338
274
270
283
283
385
360
278
421
339
313
357
293
311
345
366
245
327
411
352
329
274
334
327
293
265
335
384
310
376
307
317
321
427
365
311
371
365
326
272
285
282
341
343
294
274
348
264
265
323
342
320
294
286
363
290
320
332
303
355
386
283
323
277
296
296
242
339
390
271
374
349
312
318
320
369
305
284
322
264
295
399
326
277
363
348
215
262
344
344
308
261
320
278
289
280
406
310
265
294
406
283
379
258
298
255
268
336
263
268
372
318
301
357
333
322
362
328
249
374
315
303
286
350
304
339
309
274
361
212
283
361
315
330
318
322
282
303
346
369
332
370
265
274
302
308
339
353
319
422
312
387
292
320
288
348
315
263
227
298
289
281
239
296
285
217
321
311
343
317
391
298
357
285
371
374
371
334
389
336
356
331
355
371
403
316
372
329
312
347
294
293
310
350
454
316
278
300
270
368
356
409
286
347
282
326
338
227
353
260
400
269
310
300
414
283
371
352
311
323
380
309
320
352
334
324
298
337
257
246
307
325
327
338
387
268
367
361
300
293
351
276
291
312
277
235
374
324
378
351
300
347
252
353
289
292
261
330
273
361
311
342
278
314
264
297
353
327
312
335
265
185
292
379
274
200
381
294
246
349
387
290
323
384
389
305
385
399
277
303
361
303
335
340
356
303
246
391
310
379
284
320
303
386
299
352
319
331
329
294
333
347
300
334
280
370
301
328
331
272
386
327
357
264
337
336
334
354
261
367
323
321
302
197
365
380
331
372
333
309
278
343
317
312
414
346
384
329
358
344
296
345
367
268
245
416
299
307
339
339
356
276
274
283
312
277
265
379
278
330
272
257
324
319
298
366
340
337
330
237
301
369
247
283
219
313
257
295
312
347
282
303
258
311
261
309
253
266
242
301
340
229
246
324
329
317
312
394
298
337
287
291
252
315
403
332
275
237
314
370
316
319
360
288
267
362
369
377
334
320
362
326
281
287
313
388
224
276
333
371
326
343
391
334
324
260
312
318
382
295
341
347
342
347
369
365
267
318
220
288
314
252
355
379
250
234
277
304
310
295
328
300
286
274
291
313
322
405
322
289
326
250
338
224
371
309
321
264
308
255
332
351
389
265
402
324
279
281
237
321
282
382
331
325
337
291
320
296
381
332
214
296
236
314
315
328
324
305
243
274
300
319
389
402
435
337
290
263
349
302
377
278
346
237
343
282
266
330
308
296
304
208
301
306
271
289
343
366
334
314
341
301
345
256
292
311
283
349
266
288
339
347
343
295
304
288
357
358
262
239
298
338
204
275
356
334
281
233
403
409
308
338
270
374
266
259
293
346
284
308
274
286
272
294
336
258
270
299
354
240
318
282
343
391
347
308
197
397
270
353
343
341
306
271
347
320
299
282
321
356
290
300
305
312
322
338
305
284
328
339
338
364
374
327
373
334
326
289
312
328
300
321
315
312
261
199
343
362
301
368
366
295
326
299
388
335
327
252
407
284
343
292
377
295
244
359
333
376
332
313
335
330
283
323
318
386
303
340
197
309
332
296
469
375
317
344
296
335
372
282
315
351
320
315
333
312
302
267
255
373
409
382
328
372
340
338
284
311
301
334
304
272
423
340
318
288
346
272
345
271
343
296
347
328
371
336
293
262
320
371
277
295
322
306
421
249
286
210
322
346
260
423
406
336
269
335
303
299
335
325
380
365
353
327
300
302
280
308
241
362
316
223
376
232
369
366
376
305
280
325
255
341
361
369
319
360
302
342
254
313
302
308
307
201
310
346
353
251
213
217
246
328
309
347
262
362
334
264
267
355
344
286
337
349
412
361
320
301
353
344
268
356
245
314
298
374
312
276
317
327
286
308
380
344
263
301
352
268
307
322
348
313
375
281
283
250
271
360
378
335
337
285
327
343
319
360
311
247
315
291
377
343
249
398
312
331
333
293
366
315
331
342
264
319
324
357
314
307
279
302
353
367
332
401
259
387
320
301
419
354
362
273
263
324
378
277
307
336
332
314
313
259
326
325
362
285
327
381
307
312
341
327
364
224
284
366
285
344
332
342
333
341
349
312
367
337
275
346
309
251
376
359
384
338
292
260
292
290
360
270
337
312
299
283
306
321
406
239
322
323
296
264
268
313
326
270
333
362
303
306
318
261
325
317
284
400
386
329
324
405
303
371
284
324
383
316
267
314
384
320
297
333
307
323
326
279
202
325
270
331
384
278
297
304
358
349
335
286
346
337
409
409
254
351
265
258
374
292
350
340
330
309
337
298
377
286
347
350
292
397
336
316
311
367
376
296
321
291
395
258
294
352
310
320
349
253
266
328
283
340
292
322
329
406
254
280
289
326
279
351
307
262
384
305
290
217
280
348
293
308
418
281
371
273
309
395
362
267
329
320
344
398
319
266
256
302
369
296
309
265
334
339
329
357
343
284
321
250
351
250
374
302
241
339
314
332
317
338
412
309
291
318
376
340
348
224
266
365
337
365
380
284
272
258
302
338
351
366
346
240
299
280
217
314
221
297
241
265
354
341
388
252
306
337
280
289
301
243
343
320
362
271
320
284
273
389
317
328
272
304
261
331
355
224
244
298
401
288
314
260
267
302
404
322
322
270
401
290
338
316
302
316
360
295
374
267
273
364
287
293
365
311
335
367
297
334
253
283
405
344
324
225
346
274
278
358
268
320
306
358
324
328
372
279
280
293
323
385
389
364
328
337
382
362
363
386
309
371
304
260
288
244
397
252
335
377
344
300
399
357
386
374
301
366
375
246
318
279
330
341
278
292
269
273
246
271
283
319
264
317
321
339
347
369
279
341
371
329
283
277
341
369
292
329
345
264
341
207
368
343
255
319
246
383
281
388
383
290
339
361
338
255
303
391
284
265
340
236
299
367
336
201
233
358
267
321
206
336
356
317
355
358
380
300
348
308
277
309
304
348
314
359
298
365
315
330
278
323
325
269
304
281
362
282
306
344
272
274
287
311
297
299
358
414
298
257
317
259
343
355
286
304
388
313
314
283
270
292
330
289
373
322
319
337
295
378
353
342
334
377
321
301
280
347
294
408
306
291
375
303
282
325
348
323
315
333
389
336
393
324
274
235
341
298
244
264
261
277
272
271
288
338
303
328
318
352
297
306
249
362
305
295
273
260
308
348
349
264
320
335
351
340
313
369
286
247
302
223
279
288
363
315
377
265
298
324
342
263
271
270
375
287
340
322
406
382
275
355
268
307
262
334
354
230
276
386
393
245
345
305
379
302
346
305
323
382
346
315
267
253
319
352
246
293
362
355
287
401
298
315
365
348
236
367
327
350
358
274
345
289
419
367
296
311
341
323
293
329
320
292
379
282
342
268
253
304
359
306
300
326
296
354
336
272
324
381
262
326
317
306
266
337
331
223
319
354
276
313
360
292
333
367
268
261
206
333
324
356
310
298
383
391
345
312
344
308
307
299
321
281
323
281
365
380
258
336
287
346
297
264
245
269
296
296
276
216
280
356
362
408
365
338
393
316
345
304
379
362
320
349
304
347
292
346
334
340
310
277
356
301
362
278
260
269
306
279
321
352
332
217
355
341
278
369
332
314
377
290
372
342
341
288
314
261
284
386
297
361
352
299
314
309
401
367
298
236
245
240
275
417
295
292
332
296
345
382
371
281
321
371
259
402
363
237
358
329
349
259
270
304
245
322
376
359
260
394
317
269
254
326
271
371
345
258
355
426
282
237
287
334
273
377
327
364
290
321
285
354
347
373
261
321
267
381
289
248
325
293
318
328
371
351
376
344
370
274
298
363
290
224
382
297
423
280
167
249
398
291
286
370
325
235
320
313
381
405
331
271
291
265
401
307
266
340
264
330
376
291
214
313
343
326
327
354
360
273
272
340
246
169
372
330
308
335
299
365
265
308
337
318
346
221
308
296
247
378
263
334
361
353
390
313
340
382
335
295
306
365
344
322
229
270
330
279
256
285
339
386
320
226
266
303
285
252
367
250
217
319
431
313
300
288
339
374
278
280
307
287
371
331
293
289
340
330
302
266
362
346
286
312
328
390
283
305
327
379
335
334
365
346
344
280
301
316
232
411
324
327
254
297
336
302
295
241
296
359
279
314
288
327
338
350
268
401
331
322
243
347
335
320
341
290
321
303
343
305
291
407
338
281
307
270
202
311
348
352
301
304
337
355
278
369
306
288
359
227
247
355
291
373
372
300
368
269
301
306
343
321
317
259
372
456
295
265
285
338
380
262
292
309
310
250
290
310
272
310
311
311
288
299
304
241
249
343
362
307
262
323
312
298
370
324
295
281
380
373
385
370
369
352
406
284
349
421
254
329
281
301
232
275
320
290
299
352
284
251
311
373
382
337
347
284
405
253
355
312
352
318
322
342
197
306
357
356
367
347
375
306
301
335
314
358
292
384
330
238
356
375
328
395
302
343
281
354
297
314
359
327
306
343
334
316
306
286
326
281
260
307
241
322
275
360
292
225
285
287
205
306
318
350
315
403
325
277
361
282
313
325
274
317
395
258
296
341
336
396
299
300
338
329
293
348
330
325
227
320
293
375
284
267
319
379
369
358
308
295
336
390
281
318
302
322
360
265
311
238
310
360
381
239
366
297
277
294
309
198
344
328
315
390
290
340
296
322
324
322
295
401
377
361
278
281
316
284
225
263
282
308
316
344
307
236
306
303
322
310
236
265
336
289
364
245
275
238
424
266
415
427
341
288
312
253
329
384
353
343
383
258
292
286
334
307
274
269
366
217
296
390
268
328
301
289
304
289
395
307
359
299
375
321
285
295
238
357
311
198
325
254
299
293
301
313
249
388
369
321
311
366
273
330
359
299
286
337
265
313
276
295
378
336
313
335
238
385
300
341
241
301
302
288
214
283
372
285
303
272
225
259
386
320
316
374
319
354
369
315
279
324
246
310
276
239
368
341
346
290
234
320
329
346
316
374
285
293
342
294
373
283
326
236
363
368
250
376
320
282
372
326
372
323
419
348
342
382
266
328
297
355
295
253
267
309
283
382
268
324
414
270
318
396
362
319
356
263
351
337
320
291
397
361
290
318
343
312
306
340
265
365
275
342
263
316
390
349
330
328
332
348
331
359
340
336
307
338
294
306
364
367
343
293
319
278
304
343
243
360
323
384
397
371
341
343
216
298
222
367
373
365
325
319
331
320
350
297
360
253
291
386
317
300
335
389
273
415
330
264
296
229
323
341
263
232
307
326
320
297
439
293
270
288
396
354
205
349
333
300
324
271
276
295
369
375
257
378
334
316
278
279
348
343
320
379
331
372
369
337
322
233
415
302
377
325
333
396
393
286
303
288
361
254
334
357
297
355
343
304
374
344
305
317
258
357
312
256
330
337
398
302
322
299
323
318
350
293
351
329
317
362
312
301
326
308
351
320
365
352
335
302
368
296
297
166
232
331
318
245
395
371
342
245
295
331
331
256
349
293
325
381
383
317
250
368
279
207
326
302
279
359
219
311
222
250
319
326
191
221
312
357
250
258
265
286
327
278
348
232
295
271
341
269
290
249
364
261
357
308
258
256
360
382
333
305
232
260
370
344
362
390
297
295
298
374
282
354
376
277
299
313
359
349
244
295
367
285
348
376
334
301
267
342
281
343
334
360
329
326
365
296
272
308
258
420
370
297
353
326
206
338
300
344
389
294
297
318
293
201
253
323
387
323
291
291
323
419
325
299
301
357
266
386
298
299
308
293
261
338
323
339
305
290
268
272
366
376
303
341
335
347
355
319
283
379
283
328
360
340
280
298
331
310
269
309
298
306
352
300
383
337
268
414
288
348
314
266
355
328
246
380
362
293
392
434
295
326
405
302
331
332
265
365
254
302
366
336
279
252
359
312
313
244
290
291
272
294
283
319
373
310
360
279
275
311
343
392
345
379
353
322
257
324
350
329
312
265
306
443
373
317
359
291
327
269
381
364
282
349
283
332
341
316
268
322
327
304
294
285
321
292
309
378
343
306
339
322
306
235
297
363
336
353
359
256
275
328
325
322
330
282
318
340
279
395
299
327
300
356
252
327
368
394
296
244
312
325
283
300
288
288
282
238
268
383
316
377
322
290
267
329
287
342
266
338
342
381
210
283
363
316
307
327
320
257
390
340
304
364
323
273
398
324
317
360
367
346
420
274
314
412
360
258
331
385
264
269
329
270
323
312
363
281
350
393
286
301
325
260
329
242
367
245
260
313
345
224
315
301
287
294
289
257
247
323
332
369
334
301
303
406
360
325
221
302
268
286
242
299
379
290
368
260
292
394
286
380
376
379
322
326
366
294
339
333
296
289
321
301
331
308
253
298
323
359
371
313
335
325
334
279
327
292
306
354
397
326
285
316
237
303
282
340
302
301
346
266
278
333
294
411
249
276
384
363
308
378
310
364
351
342
255
297
245
379
343
324
321
366
262
319
350
322
325
312
321
345
277
339
323
301
259
276
353
342
324
240
313
298
316
349
378
332
326
298
362
327
289
355
266
330
317
327
273
364
279
337
317
304
303
334
387
305
409
232
230
323
347
368
318
333
273
366
285
353
285
324
373
307
341
346
349
249
343
380
318
304
291
333
254
414
214
325
309
306
312
354
313
313
270
360
261
378
372
281
365
352
359
377
369
270
280
350
410
364
351
309
368
342
331
297
352
340
213
319
303
361
287
327
363
342
352
331
323
273
359
328
342
350
241
336
353
242
278
328
328
293
302
386
287
356
342
366
344
232
332
324
322
368
292
269
323
327
292
311
329
297
287
316
305
234
295
294
239
369
300
266
339
335
292
283
270
326
385
207
404
361
263
261
334
334
305
347
367
309
337
290
353
315
392
223
256
383
303
320
381
364
366
266
347
291
330
306
286
332
265
301
256
376
300
314
277
323
314
216
278
310
352
284
389
313
378
357
324
298
413
338
370
376
333
371
291
302
374
383
325
398
306
332
280
284
296
320
304
310
303
368
334
235
272
334
317
322
265
356
342
317
377
327
365
405
364
287
309
361
322
289
358
266
377
250
272
295
342
347
287
336
258
346
318
239
258
344
389
333
314
379
321
337
296
360
254
343
393
330
310
363
455
274
277
320
288
267
272
281
319
270
335
318
314
333
244
379
321
251
273
279
338
330
312
382
322
316
347
310
333
334
295
328
312
406
239
302
301
285
215
249
285
305
408
375
325
336
320
294
334
294
359
284
327
375
410
382
307
416
333
276
289
375
355
334
305
286
299
256
336
353
358
300
356
331
350
326
288
334
265
370
312
363
294
309
213
318
314
375
368
292
299
236
264
256
297
361
315
381
335
368
345
252
320
276
350
386
319
368
298
332
257
372
317
302
399
339
297
346
345
282
343
336
323
330
286
362
303
223
297
377
324
341
317
336
322
326
282
325
314
275
322
297
312
371
333
287
299
332
364
343
359
338
330
354
375
250
289
364
353
327
322
302
250
316
352
358
387
295
258
321
291
357
276
306
327
367
396
263
300
275
315
217
324
303
416
411
298
351
228
286
329
350
259
350
369
233
368
382
327
320
270
276
300
305
335
311
300
333
349
265
301
339
303
374
243
328
307
288
241
263
301
295
333
339
303
339
368
298
306
211
305
255
385
312
331
272
341
278
301
328
325
364
307
312
283
423
391
302
323
293
356
274
379
318
300
265
343
261
369
365
320
338
365
386
287
352
313
315
311
316
259
225
308
341
319
215
364
379
258
379
287
344
221
245
222
340
291
310
283
291
278
329
281
355
385
239
333
321
297
358
296
353
340
331
273
263
284
276
360
269
350
354
320
383
349
298
294
266
288
300
284
344
296
334
297
323
369
373
390
356
424
293
374
320
237
407
324
324
331
380
306
322
313
326
290
296
251
341
296
332
348
410
465
260
319
317
281
272
298
266
291
374
278
274
233
277
322
319
259
247
305
412
325
308
286
424
270
246
304
277
238
272
318
385
285
289
345
329
293
297
320
333
299
405
286
329
284
288
300
233
337
363
382
278
377
433
323
284
414
281
307
265
291
308
324
355
269
369
301
285
246
311
343
433
276
294
333
332
339
355
292
347
345
313
374
379
322
350
252
258
310
382
327
309
221
335
361
298
320
346
372
257
303
310
333
289
376
297
309
318
327
343
363
315
286
301
320
238
339
335
309
250
374
278
307
262
367
304
284
263
313
330
377
291
325
362
327
377
295
317
233
347
342
268
329
225
324
293
269
370
296
365
380
365
317
351
327
248
303
308
284
291
365
338
330
322
351
294
273
271
329
310
243
374
150
276
267
366
254
299
383
280
311
211
301
310
339
320
294
355
294
310
311
223
341
254
335
315
295
262
365
426
367
372
328
324
337
333
244
317
411
301
288
293
316
279
294
305
294
287
322
292
342
306
234
378
330
275
261
344
322
263
407
284
279
410
190
332
337
308
378
261
299
269
356
339
299
309
347
361
331
299
320
333
334
319
320
341
293
339
329
354
395
242
190
318
332
315
302
322
265
286
345
261
359
263
324
323
408
371
283
320
294
236
362
374
332
406
306
330
334
290
339
340
340
323
356
288
334
395
293
290
367
282
327
336
211
334
348
287
254
347
276
265
319
283
325
229
231
255
318
339
272
338
349
379
363
360
354
377
315
414
341
343
286
313
295
302
335
273
330
325
285
310
361
335
312
344
272
341
333
353
293
319
390
339
327
366
276
333
331
306
321
372
315
286
410
276
399
357
246
350
377
339
307
313
312
218
309
324
245
324
328
272
314
323
324
304
331
265
275
223
368
327
328
276
299
312
382
323
304
398
357
223
284
364
341
329
257
350
248
352
301
333
262
317
289
327
338
335
315
402
301
337
393
334
320
320
368
310
287
303
339
328
236
366
230
335
313
323
262
254
360
256
371
312
261
309
306
362
296
343
312
399
346
372
310
329
295
358
326
345
374
341
247
276
290
298
340
275
344
352
249
314
327
387
245
294
356
260
275
350
350
314
348
273
340
325
345
318
334
352
308
334
324
304
319
342
236
308
394
342
329
374
335
285
333
325
284
181
232
308
327
272
364
323
308
391
315
429
364
313
275
316
362
276
356
342
248
391
337
374
377
297
344
355
321
316
327
361
310
382
314
338
312
190
425
297
276
335
416
389
386
249
332
328
364
300
206
351
356
322
325
320
292
288
347
274
353
220
320
315
347
366
365
280
418
295
270
366
356
431
397
338
325
294
267
239
311
290
317
246
277
332
302
311
382
299
349
355
324
278
379
369
344
359
341
353
219
260
306
372
280
359
244
268
258
275
329
318
353
335
371
255
417
309
215
322
313
336
307
304
329
284
300
282
349
373
251
310
343
295
333
395
316
293
267
387
308
270
306
268
274
322
289
278
343
281
326
387
326
346
300
306
329
289
264
298
280
327
318
221
329
267
433
329
351
352
321
366
336
294
310
301
275
344
325
286
296
357
363
366
345
333
289
353
274
306
345
314
337
300
323
251
374
403
278
340
369
397
317
297
255
293
295
222
282
324
232
299
277
357
355
229
324
304
254
313
307
328
271
267
324
278
314
326
269
330
330
296
254
316
363
296
328
339
233
327
381
247
289
328
284
231
332
395
266
367
335
294
368
303
312
322
219
385
248
354
333
367
301
323
308
341
335
385
349
306
329
282
293
263
365
322
339
306
297
301
312
299
248
402
305
361
351
262
234
277
363
326
297
401
371
351
318
293
262
257
313
266
333
288
347
313
292
294
312
344
287
367
316
270
347
268
297
264
316
374
357
337
319
304
317
349
279
242
363
364
326
258
323
341
318
300
320
313
307
272
294
319
296
301
363
385
326
366
249
309
272
312
296
298
274
315
315
369
355
365
352
364
320
327
343
326
269
370
300
272
253
299
332
369
276
401
262
303
324
291
375
393
342
341
376
306
267
324
267
215
370
330
336
311
304
281
362
339
293
311
232
303
377
254
403
288
295
279
329
344
439
286
403
319
297
302
288
389
379
362
380
281
292
266
305
317
353
266
352
369
299
335
341
359
289
272
323
298
342
299
325
251
320
359
306
308
372
266
306
408
222
357
304
344
286
360
255
406
401
325
330
359
240
299
401
292
351
431
378
254
306
288
250
371
321
233
339
289
323
300
355
278
305
278
292
264
285
362
319
353
329
367
281
354
337
252
332
331
371
334
270
358
306
272
230
351
295
345
296
315
317
335
361
364
299
315
300
330
370
267
268
393
326
314
255
312
321
262
331
268
315
343
240
338
300
355
320
318
295
301
246
285
320
250
298
301
320
284
296
311
301
281
236
204
339
389
342
257
325
324
264
253
296
315
339
306
366
338
334
290
315
348
311
332
291
275
273
346
286
337
366
221
306
354
291
336
268
260
282
385
212
359
297
270
243
375
325
330
324
347
299
245
326
353
280
299
354
277
322
284
302
294
202
382
302
243
301
363
315
312
310
308
255
385
265
370
350
310
341
303
313
353
320
346
312
286
300
285
232
360
324
317
314
315
324
333
287
349
262
284
339
371
282
342
368
388
350
286
205
338
308
267
254
342
292
326
298
353
336
301
370
343
289
271
320
292
318
361
369
334
334
309
334
310
308
343
236
306
326
345
349
237
324
243
297
284
232
288
277
375
321
396
363
311
343
274
312
265
359
346
276
328
450
329
317
302
323
318
302
288
371
283
342
373
325
347
346
342
210
369
370
267
359
234
287
301
269
304
347
332
275
329
335
290
301
316
242
369
388
343
271
261
396
348
274
317
363
321
332
301
381
274
339
291
329
380
287
348
298
259
209
342
301
393
323
368
277
309
301
320
261
294
283
321
306
288
279
343
317
283
398
385
346
267
384
313
284
333
371
380
303
325
369
323
237
373
297
319
307
336
260
306
332
279
287
267
295
409
284
405
223
333
273
337
315
285
249
431
241
342
283
268
311
275
339
348
330
365
420
337
367
274
346
400
333
439
252
341
270
328
270
407
264
299
345
346
285
412
344
270
278
342
274
367
357
303
350
389
269
216
269
309
317
279
364
404
313
359
328
302
289
291
324
346
285
317
296
299
371
356
358
267
305
294
330
348
268
303
370
362
356
335
330
297
378
257
367
312
352
302
304
329
383
368
332
360
243
367
322
324
233
333
294
349
267
284
354
301
313
302
284
267
319
356
351
364
236
359
329
339
338
369
287
399
278
341
330
377
281
346
374
269
239
402
285
316
334
246
329
365
322
227
387
299
321
336
356
383
335
355
323
289
262
298
268
335
357
318
262
341
259
368
277
333
259
393
266
234
369
313
245
307
266
413
320
328
245
404
388
256
343
312
350
278
339
327
326
270
337
377
375
283
341
377
269
318
254
266
277
304
320
294
375
402
307
327
301
313
364
325
294
253
316
342
390
320
293
245
352
317
299
306
300
323
338
391
255
290
346
352
320
260
382
384
309
272
319
314
333
302
256
273
348
352
357
287
323
309
375
322
329
280
287
354
299
345
296
329
250
306
347
360
253
329
297
302
316
349
310
301
282
308
257
315
259
347
363
286
330
346
295
399
316
317
243
326
336
353
289
390
337
345
373
287
294
336
314
334
250
357
295
276
325
300
352
390
387
133
334
320
297
339
223
275
331
379
341
315
277
306
247
320
321
318
399
292
373
397
278
370
273
328
354
287
244
348
259
352
342
289
276
360
349
266
282
294
232
309
286
283
297
342
292
283
322
392
351
290
337
332
317
314
425
393
378
391
271
281
273
314
335
316
296
337
317
366
333
288
229
346
298
245
286
328
353
332
342
293
316
326
378
360
283
378
335
376
329
342
296
370
317
361
305
263
316
305
328
303
273
318
278
337
372
289
314
282
311
273
405
302
280
314
326
392
215
279
362
299
375
300
252
243
393
339
348
309
311
236
260
273
341
363
235
304
371
291
320
293
285
395
349
344
313
329
292
317
264
358
310
333
390
364
372
289
390
314
413
390
264
286
279
295
306
247
230
320
321
348
290
356
324
354
325
359
286
296
244
299
367
291
240
299
265
315
347
275
286
333
300
291
312
345
359
301
355
301
340
319
292
314
336
334
322
338
290
342
232
361
349
250
271
340
328
292
320
320
302
321
337
302
322
346
277
403
372
354
415
360
340
274
365
442
304
277
343
315
362
307
264
315
308
301
340
350
303
319
339
328
381
323
238
270
378
356
282
304
361
316
352
332
298
376
301
320
337
243
371
324
356
343
300
281
217
234
250
341
376
287
304
310
356
375
316
305
380
275
285
328
291
375
396
264
287
309
265
285
323
325
309
267
265
364
355
384
286
309
376
351
221
281
349
372
349
363
359
267
390
343
301
339
411
347
271
444
286
332
267
307
398
352
272
323
300
357
253
328
300
390
331
346
305
371
326
365
232
350
353
294
304
187
406
352
266
375
342
262
341
270
271
315
333
342
219
376
251
296
334
363
258
431
293
244
350
343
377
282
228
263
378
301
263
321
308
371
329
359
304
278
369
329
320
369
334
340
294
329
306
312
370
249
296
287
353
379
359
235
353
285
271
230
305
310
350
249
315
365
302
318
353
342
268
302
295
334
331
335
334
323
364
313
352
282
273
239
417
369
312
336
202
318
301
310
302
320
330
282
270
284
358
392
358
273
325
418
298
350
336
396
273
261
353
261
323
322
313
290
319
312
301
353
350
261
331
325
318
344
303
295
239
352
435
325
347
384
348
308
357
373
365
291
286
334
237
340
241
300
377
329
293
288
313
356
323
278
309
372
342
379
354
331
354
303
391
284
354
325
341
307
348
408
337
289
348
304
255
299
281
334
316
347
341
357
349
310
299
378
250
332
376
268
334
323
304
274
320
263
314
384
201
203
357
263
356
376
343
302
404
343
279
282
248
301
354
201
362
305
300
368
320
248
274
351
395
347
330
344
295
360
310
317
317
356
278
316
293
330
322
346
292
311
381
280
357
256
300
277
299
352
375
400
318
344
385
282
338
271
272
313
358
257
364
271
317
282
327
398
274
274
253
300
318
322
320
270
376
388
366
280
355
346
311
289
388
293
301
386
203
318
373
262
318
344
226
358
346
336
324
367
380
288
370
333
263
306
372
344
342
256
382
274
309
273
263
226
334
330
343
289
237
377
362
288
378
362
319
346
313
376
259
359
412
339
279
356
315
333
302
357
318
294
409
385
394
370
338
281
392
301
400
395
298
341
350
344
216
329
369
309
297
275
262
207
385
305
380
279
200
358
281
326
316
365
336
279
329
261
289
285
300
355
322
369
359
276
267
348
394
393
334
290
337
390
348
260
356
249
349
262
365
305
347
356
287
268
310
353
299
279
291
284
302
357
285
357
302
297
354
313
361
273
358
319
292
363
293
348
353
259
305
350
339
314
323
310
275
328
319
365
361
307
362
265
316
284
306
371
295
346
355
282
419
245
340
308
366
354
296
240
315
360
327
371
349
323
337
320
362
296
332
329
352
281
375
322
341
264
257
319
355
374
346
347
263
291
389
343
280
325
238
296
364
341
261
306
387
366
361
301
258
332
360
270
358
293
324
302
330
282
354
247
289
300
305
298
333
360
282
304
373
264
295
291
221
433
270
367
339
287
292
394
355
286
381
307
381
334
309
414
278
245
330
319
279
298
282
324
349
336
353
385
282
321
376
316
394
354
354
360
390
325
317
212
255
296
294
253
263
319
265
283
325
300
255
265
383
372
328
337
296
329
350
254
364
300
335
281
392
298
286
313
312
314
247
311
317
313
284
302
342
345
364
340
312
312
387
264
366
384
296
353
307
328
372
338
290
306
306
326
345
356
318
258
368
351
285
357
364
308
341
303
365
315
290
301
349
310
320
304
332
346
326
297
343
333
320
235
305
329
272
345
300
336
299
347
334
323
266
361
288
372
398
364
274
325
307
311
307
333
280
350
430
303
297
344
377
360
381
273
389
364
201
336
289
292
316
313
279
263
348
331
358
277
272
423
334
338
346
355
294
359
306
331
292
280
272
324
330
338
340
318
363
309
387
268
336
314
281
343
347
260
397
372
331
236
369
340
341
329
322
372
290
361
219
283
348
388
324
241
289
311
361
300
311
254
421
345
351
290
312
382
222
354
385
329
324
274
323
302
285
260
269
255
327
287
268
316
196
311
296
340
333
299
379
298
299
321
363
305
282
311
285
375
339
295
332
334
301
291
336
314
318
359
348
292
414
375
276
311
313
295
270
286
240
263
273
310
297
354
256
271
264
294
231
275
330
285
377
293
291
290
342
371
292
341
184
304
388
353
309
329
371
266
334
295
299
350
345
309
330
300
333
364
363
292
335
357
314
213
282
334
317
280
330
330
353
404
323
357
268
298
261
310
337
344
376
296
375
350
338
386
356
339
334
334
276
299
311
349
302
277
375
349
394
358
327
345
313
354
401
283
260
325
274
276
363
342
279
286
323
303
404
274
267
297
328
313
321
337
282
238
333
112
309
306
316
302
316
361
355
297
352
263
209
304
350
354
328
310
354
271
348
337
334
370
310
258
262
282
307
355
379
288
225
282
342
345
296
371
331
316
277
250
273
326
333
382
276
271
318
355
306
413
363
323
357
378
355
281
349
302
346
292
240
361
356
319
382
354
338
353
266
355
232
307
353
253
307
287
308
309
384
403
405
291
389
400
268
329
281
258
334
255
296
352
265
229
275
329
332
324
294
363
386
341
362
339
327
381
289
332
364
262
242
340
351
321
320
326
312
276
339
358
263
296
365
316
242
315
336
310
332
311
238
287
302
329
337
266
300
347
292
241
307
303
294
361
287
297
328
229
243
304
330
303
330
384
353
349
341
346
337
365
354
347
410
319
279
301
318
360
280
291
289
331
351
312
376
342
243
324
270
302
292
317
375
326
280
335
356
320
359
335
304
322
279
300
300
341
265
364
301
282
310
265
338
299
294
397
345
306
390
347
326
280
323
305
299
341
348
393
365
368
396
296
254
296
339
344
369
372
276
258
271
301
291
374
254
310
370
224
400
255
375
311
322
328
358
322
402
303
214
295
315
404
326
369
270
311
333
303
292
354
271
347
367
244
350
339
341
363
156
328
264
338
280
355
251
322
351
284
384
272
312
264
402
300
286
259
264
290
318
315
294
272
267
322
260
328
247
283
306
272
326
289
344
331
364
304
292
384
254
335
282
365
228
363
262
305
355
331
360
286
328
369
219
364
392
356
373
275
298
311
315
342
248
354
365
320
346
322
245
407
319
264
297
337
298
278
343
315
346
241
264
312
293
386
348
328
271
264
274
396
268
365
333
327
314
302
318
284
263
313
250
373
320
244
308
365
206
328
350
309
311
318
304
336
361
331
370
346
285
316
410
369
321
242
257
233
318
343
358
252
328
270
286
349
391
223
194
248
329
318
278
405
308
395
292
360
308
318
359
302
306
323
317
375
321
370
318
310
257
303
277
259
288
232
329
348
302
357
400
339
330
335
378
315
250
338
278
232
344
358
247
316
331
359
290
394
249
359
244
332
297
320
221
324
320
308
291
272
375
274
314
283
307
278
287
333
318
378
317
394
346
358
297
344
333
312
270
300
328
328
311
347
365
322
387
293
309
333
281
421
385
360
327
280
256
313
320
369
325
323
319
316
329
340
278
325
297
318
371
289
293
328
245
331
316
358
321
286
321
359
298
307
331
242
338
363
285
319
292
381
270
287
286
348
273
284
295
377
312
349
252
237
299
456
306
273
337
305
349
296
334
315
312
290
371
245
322
276
319
314
245
308
375
346
374
301
385
425
355
315
348
267
245
304
391
367
301
269
292
367
416
312
362
352
372
308
305
344
366
362
398
343
281
323
308
328
363
281
394
273
240
282
318
263
374
300
338
363
360
388
253
313
359
281
346
304
300
279
339
365
314
341
362
334
283
317
373
348
292
362
385
359
376
334
321
266
328
316
260
266
265
372
329
379
267
321
297
299
217
230
288
354
365
258
263
359
354
264
376
369
366
267
359
271
304
335
290
293
329
347
368
361
394
313
179
287
323
287
299
284
364
386
290
328
344
357
361
293
350
290
207
242
324
396
283
284
336
252
267
370
331
266
352
372
372
282
265
312
266
292
269
296
317
273
371
319
352
313
312
296
266
328
328
384
227
325
262
363
356
219
345
338
359
328
342
379
331
309
314
297
287
382
331
283
350
363
334
297
252
355
298
333
346
310
259
308
274
284
283
289
260
225
201
315
327
328
323
384
327
314
392
321
261
355
376
388
379
277
354
285
268
375
288
423
340
351
308
352
290
384
311
266
274
350
352
310
284
338
351
281
355
325
298
366
366
392
283
371
280
292
323
347
352
384
277
313
315
306
333
315
344
363
297
265
265
343
430
279
366
322
254
341
216
286
297
279
300
348
345
380
263
218
386
352
338
331
399
309
352
347
299
330
339
336
332
301
328
405
344
261
395
381
230
302
341
363
309
315
237
324
342
344
382
306
297
296
273
365
263
248
255
276
289
349
322
328
284
291
237
365
297
272
343
234
274
300
272
338
301
290
333
417
311
322
343
333
323
333
393
342
309
352
273
262
316
317
293
378
278
264
367
377
312
308
345
299
272
264
315
347
321
329
327
368
343
276
331
319
201
323
301
293
432
226
334
348
358
384
206
316
307
279
337
310
357
318
229
310
350
347
297
294
262
359
307
367
349
374
338
335
342
290
276
326
316
195
328
341
264
296
247
289
422
334
345
297
312
323
335
370
285
251
254
352
351
279
374
377
278
350
353
337
379
366
284
392
250
366
319
313
358
338
289
307
319
345
349
268
324
397
319
340
334
381
270
250
274
351
337
294
281
320
349
362
325
346
370
299
240
344
327
305
368
318
233
443
342
218
318
261
301
242
312
318
298
306
318
349
323
306
386
342
326
327
324
231
271
333
323
399
327
250
294
286
336
330
291
262
337
306
362
332
361
355
345
377
320
402
268
339
289
236
266
266
316
250
295
313
335
300
283
321
237
351
365
328
261
299
267
319
245
451
308
452
388
300
347
307
332
321
296
328
309
297
364
352
297
302
383
351
410
257
394
310
367
260
328
392
323
301
344
239
285
305
309
322
271
305
296
241
353
363
331
283
277
302
202
336
344
334
326
347
418
357
328
230
254
297
341
296
334
289
319
399
307
323
392
340
310
378
294
320
275
305
300
313
276
299
276
298
276
402
254
307
368
312
367
372
291
323
203
367
324
352
261
297
256
393
260
310
380
339
323
337
309
370
273
249
311
359
192
271
262
316
331
308
283
235
304
282
289
372
276
280
296
356
299
283
344
342
282
296
260
347
366
337
276
315
334
243
331
351
352
313
261
213
326
307
388
277
300
413
289
301
390
365
330
298
330
314
368
318
320
300
288
341
280
321
355
346
301
324
354
348
362
361
389
304
322
208
335
308
279
381
244
258
314
308
342
322
315
323
358
326
310
320
352
331
402
332
303
254
278
260
303
284
289
411
260
332
328
343
367
299
381
386
335
333
305
344
415
339
263
351
285
289
321
342
363
320
253
327
322
332
276
367
331
360
347
236
221
331
355
321
213
320
359
301
328
339
344
279
332
381
283
260
325
306
280
281
294
284
288
361
342
273
372
311
321
323
308
298
241
349
379
315
338
310
256
312
321
328
364
238
381
325
252
295
326
351
297
229
312
266
287
374
246
298
330
292
285
341
292
313
322
370
296
295
374
335
280
330
312
353
333
223
280
287
314
266
388
384
351
272
402
315
411
274
306
332
321
299
389
299
272
359
301
315
325
322
281
347
254
295
391
300
210
348
394
324
254
363
307
274
325
325
318
394
303
345
367
287
328
347
352
329
306
332
335
254
325
291
386
342
310
361
375
338
352
342
270
279
318
395
330
261
205
271
268
297
332
360
279
301
334
233
324
345
335
261
342
275
294
373
291
236
332
415
300
293
396
327
305
361
300
308
318
309
373
283
379
300
316
358
386
432
303
342
298
369
306
288
289
374
296
310
308
319
248
377
290
339
333
311
213
309
315
246
311
328
356
357
325
283
383
295
421
298
299
378
365
278
336
380
311
333
322
213
307
241
351
286
311
301
351
290
341
322
370
307
253
257
299
325
323
222
373
343
297
312
360
246
248
394
242
318
239
270
214
218
365
359
272
381
293
314
308
336
360
317
361
190
331
267
268
296
305
333
372
315
311
415
329
377
258
229
313
371
284
374
298
396
362
289
282
339
212
328
299
355
269
252
229
343
376
318
313
354
332
334
253
351
314
375
205
288
269
332
208
305
396
322
243
263
357
300
348
368
311
265
294
329
371
289
332
318
311
296
357
406
334
272
277
248
369
227
382
312
363
327
264
390
261
351
371
324
289
293
306
314
340
316
348
360
391
352
431
373
293
284
316
392
331
300
288
239
359
365
300
261
271
378
345
327
342
334
324
267
303
250
376
368
324
322
340
380
302
359
340
329
344
310
379
334
249
306
413
272
351
294
255
337
318
294
343
351
245
248
287
298
251
272
327
351
250
369
238
333
340
342
286
366
388
261
321
305
342
360
340
297
273
341
310
280
312
295
307
276
208
277
286
313
288
347
328
268
358
247
296
236
298
272
317
319
323
348
320
284
373
331
286
381
305
282
311
265
272
323
240
299
204
283
292
318
325
309
352
281
255
391
295
418
239
281
253
359
420
352
299
269
259
262
339
290
333
321
352
377
382
367
363
360
349
300
316
389
325
339
285
444
393
421
302
313
380
365
302
224
369
300
313
289
275
310
317
360
347
289
383
317
288
325
339
324
245
370
318
253
265
286
292
328
354
247
314
342
399
305
315
398
399
295
334
314
299
402
341
380
301
278
311
309
346
392
245
258
367
294
315
322
363
348
374
317
374
305
290
415
298
269
306
255
265
296
260
393
367
367
311
308
294
323
288
415
317
336
267
360
333
317
284
282
350
324
388
383
298
268
291
340
278
271
336
326
332
313
353
318
363
342
318
319
330
272
269
310
308
381
322
365
289
343
241
325
382
315
302
215
380
360
326
373
298
299
383
229
299
353
262
337
355
335
267
258
353
310
291
309
265
360
296
377
329
361
265
329
396
379
348
315
305
319
308
306
277
404
377
289
324
320
278
411
234
375
309
343
290
236
385
321
336
261
332
315
312
337
404
303
319
266
330
375
334
352
312
248
354
317
326
360
242
424
293
287
259
303
394
248
287
332
294
331
386
385
295
284
339
252
298
373
371
285
312
282
351
227
265
341
254
353
398
275
242
239
369
299
364
281
316
360
314
398
330
305
336
342
419
312
232
374
277
273
367
399
369
334
263
314
332
326
247
359
346
367
358
286
335
322
355
331
369
269
423
327
338
321
310
327
360
331
250
407
321
264
355
299
365
246
267
315
360
304
356
307
261
362
299
345
353
283
318
344
297
314
295
407
233
301
337
286
291
302
260
380
411
239
301
375
319
346
331
352
278
354
343
279
314
338
288
386
268
284
317
280
292
260
301
336
361
244
350
280
355
287
309
348
323
306
335
241
336
326
240
297
346
335
308
212
270
339
313
295
288
265
323
330
349
359
323
314
312
293
276
305
307
333
384
292
307
294
283
276
341
326
241
263
326
306
288
296
294
338
312
358
223
341
274
242
292
306
311
289
393
311
303
255
320
360
338
338
333
249
339
410
269
319
340
281
313
326
304
303
233
268
246
308
335
256
254
372
254
252
378
400
320
303
283
328
402
276
387
286
313
270
293
356
332
373
345
344
425
322
408
323
300
306
368
350
299
310
313
358
286
355
331
255
266
258
334
375
212
335
291
342
362
363
287
409
298
292
346
332
338
248
322
264
350
299
296
273
273
376
312
305
358
331
329
314
363
370
328
343
309
385
341
319
365
314
297
395
299
290
314
344
268
316
207
280
229
303
339
359
327
351
404
296
332
346
343
341
299
324
324
269
336
317
349
372
403
276
338
280
301
227
341
378
315
302
380
288
313
298
367
285
337
312
358
319
339
366
332
306
322
407
330
290
352
284
267
353
342
361
299
269
255
370
281
292
348
345
312
356
285
276
358
314
362
308
329
309
306
283
380
259
291
275
355
311
346
321
413
343
273
341
342
332
313
305
250
415
196
286
325
317
351
357
397
281
373
258
273
324
413
365
322
327
333
339
278
354
241
253
294
350
311
400
369
318
275
271
271
325
225
320
260
319
335
322
363
316
295
313
296
303
406
302
325
334
345
283
275
286
304
399
293
283
278
332
356
357
339
338
333
317
338
325
334
240
353
276
366
276
326
315
369
369
322
294
322
351
399
379
322
332
323
332
329
277
315
338
352
248
330
300
400
347
330
308
368
259
333
297
365
354
336
241
352
393
313
378
369
297
318
337
379
354
353
250
309
345
263
304
346
370
256
270
361
309
325
242
339
350
304
351
302
320
342
348
380
348
323
338
419
323
339
275
334
219
393
362
246
330
246
323
341
316
332
337
382
279
317
275
319
273
357
328
261
315
311
292
317
221
279
358
315
278
291
357
369
295
356
228
314
353
351
328
372
355
299
388
388
316
367
302
333
334
311
307
302
413
303
317
318
332
297
301
231
352
322
299
354
352
269
306
311
310
252
285
297
327
272
382
374
310
318
306
290
307
319
306
210
222
401
348
331
322
366
291
331
307
321
246
365
333
343
311
188
300
321
367
312
289
309
292
374
237
306
280
388
299
279
321
316
333
347
339
279
335
328
324
265
403
284
275
284
311
375
322
379
367
285
407
307
313
344
267
384
351
287
263
280
388
320
379
324
443
359
312
308
236
372
345
227
370
348
312
269
285
302
347
353
388
298
310
345
330
310
315
303
358
280
318
270
274
401
310
287
301
352
340
294
357
327
395
324
327
307
293
370
269
242
430
349
269
378
272
322
282
338
405
253
313
261
315
221
365
287
290
337
360
296
314
301
351
286
220
362
314
381
315
316
348
206
281
299
314
364
326
307
417
231
243
310
283
336
302
324
299
287
339
416
341
344
394
291
305
337
357
207
268
299
263
303
249
304
280
321
294
325
233
315
310
348
327
247
290
241
263
298
366
318
304
238
365
327
309
333
330
271
254
310
292
336
329
213
290
341
336
260
290
327
352
322
310
310
323
352
236
329
299
297
381
315
299
380
311
370
330
356
324
320
271
212
298
339
292
250
338
384
253
271
324
384
346
299
323
198
446
252
308
373
373
246
380
307
278
309
207
319
389
239
399
327
251
365
330
363
314
324
279
323
271
244
334
365
322
355
285
273
314
365
346
318
341
306
284
333
355
268
355
317
313
391
287
305
381
408
325
352
308
294
287
267
346
287
271
378
271
376
314
320
313
376
341
277
300
283
385
286
286
338
267
316
330
364
336
267
393
348
302
285
252
255
374
314
293
291
335
340
314
301
298
362
235
384
416
363
289
349
313
320
346
323
310
329
327
350
303
363
292
312
312
264
271
308
318
292
279
364
283
289
402
296
234
383
363
324
411
355
303
282
306
328
284
270
369
369
357
290
384
281
253
294
480
295
369
303
289
275
360
370
315
356
317
366
341
341
381
306
382
190
326
351
271
252
389
308
333
277
316
289
232
305
278
248
332
313
391
344
378
306
356
319
344
278
332
254
433
256
376
258
322
385
329
272
363
272
182
313
355
257
298
340
318
244
318
353
314
329
249
353
296
350
355
333
202
322
373
354
345
326
359
298
321
347
271
336
371
304
339
349
359
338
278
331
337
310
425
393
271
235
374
335
299
346
303
353
284
336
224
353
361
423
272
340
374
310
231
252
301
359
353
251
377
270
357
311
272
347
346
308
315
348
394
330
322
356
372
336
272
300
329
294
289
343
334
336
318
291
367
396
288
292
287
369
350
303
334
279
308
355
294
253
311
393
288
274
269
272
296
347
272
269
416
311
290
368
353
291
349
329
361
383
230
276
299
383
326
326
243
378
306
353
345
260
289
272
386
275
322
328
329
360
259
293
351
281
314
303
294
382
314
343
289
266
372
262
286
301
290
237
373
283
307
319
262
346
329
338
268
270
329
245
342
339
313
311
331
334
347
391
252
337
383
348
260
306
357
326
333
229
374
312
315
288
339
279
222
346
317
256
362
254
268
282
346
285
344
345
345
228
265
332
321
315
359
360
395
318
279
258
273
318
349
265
312
278
369
264
374
273
273
283
309
323
322
341
320
361
311
293
318
299
279
290
366
349
364
310
286
248
407
211
362
414
305
324
326
307
365
377
279
353
330
291
299
337
304
297
366
299
388
284
206
313
359
374
353
256
279
287
325
351
384
251
307
309
386
284
378
318
252
341
292
323
270
342
294
363
360
320
350
269
329
313
359
321
295
266
366
182
299
297
364
324
244
335
382
348
235
273
344
400
330
331
255
309
376
365
325
353
335
347
381
394
363
349
335
337
349
348
288
355
363
300
298
338
326
238
321
281
314
348
308
305
346
356
314
278
332
379
336
224
350
265
267
323
349
258
326
385
391
319
295
360
422
394
313
285
333
377
267
331
326
241
316
392
347
335
299
287
317
332
275
318
303
329
288
311
299
317
343
348
321
354
274
270
334
342
348
393
384
306
280
341
340
282
292
284
377
313
359
335
278
252
320
413
292
338
258
284
337
323
269
306
348
328
338
287
356
326
271
226
268
251
337
330
214
243
381
320
228
320
358
262
306
283
244
365
285
388
266
289
265
322
359
259
367
314
355
297
303
317
335
316
330
293
363
260
334
379
264
336
332
316
280
295
351
325
376
315
413
325
292
356
388
286
366
345
295
303
340
275
211
295
318
312
343
226
330
279
335
282
290
290
226
322
301
308
291
381
328
286
314
294
339
275
357
305
348
315
280
258
278
271
404
332
332
370
230
379
332
329
296
337
373
293
222
254
335
356
414
341
327
270
303
322
347
335
349
295
362
381
442
317
354
248
314
311
306
270
262
408
269
379
248
397
326
286
370
320
234
241
335
358
328
295
314
303
330
352
336
295
325
348
299
325
312
336
274
379
282
291
377
291
315
229
256
317
371
319
266
286
292
241
322
251
312
324
336
344
335
260
278
367
371
346
370
395
369
358
343
365
277
374
262
294
318
341
344
313
364
312
329
301
332
336
304
411
308
307
354
262
353
304
357
272
330
397
310
315
323
369
306
326
406
283
357
350
343
311
396
317
343
359
336
342
309
323
252
352
385
386
378
324
363
363
338
389
307
253
297
350
316
242
354
351
232
387
306
458
295
366
376
329
317
327
386
338
341
257
343
274
267
303
331
349
354
332
258
391
304
374
275
348
273
313
327
312
261
317
309
310
371
334
420
296
228
280
433
286
337
356
341
315
373
382
365
253
338
386
309
316
343
330
440
370
380
270
321
298
358
387
255
324
288
330
327
266
356
286
231
313
321
359
288
298
385
328
250
284
341
297
361
379
365
250
241
382
324
332
267
275
310
207
247
296
354
289
272
351
351
325
358
391
294
380
329
299
330
316
346
355
266
329
276
243
190
310
385
291
319
290
325
323
302
346
340
355
351
324
281
266
266
342
332
319
283
386
289
344
297
240
300
351
258
322
335
287
382
300
308
342
294
273
290
284
303
339
290
277
343
315
349
347
336
268
260
337
367
330
365
238
344
316
279
276
385
259
287
302
268
366
353
350
421
270
297
302
361
397
356
386
352
295
374
249
325
329
288
272
271
282
339
250
280
303
344
165
301
330
377
299
263
315
288
298
291
365
297
316
319
266
309
315
268
284
263
317
292
323
337
361
335
295
359
319
284
323
328
371
348
282
328
316
334
362
332
279
337
336
345
375
295
295
199
274
317
295
315
346
361
351
339
275
309
290
351
301
281
290
423
390
296
396
324
358
252
301
383
294
280
225
275
252
366
319
334
353
392
323
304
316
324
287
309
226
218
311
345
326
329
307
325
253
405
357
316
386
306
360
324
423
351
255
365
362
316
378
261
308
296
296
258
299
366
310
347
326
370
282
293
281
309
259
315
376
241
362
356
322
380
268
314
360
364
289
293
288
308
367
377
294
286
349
224
305
379
256
362
434
328
267
373
260
336
397
428
337
357
273
362
312
245
344
324
291
385
308
366
340
410
331
315
283
253
328
236
345
343
381
328
288
383
293
344
379
302
306
336
334
289
222
359
389
318
294
314
397
309
317
354
301
266
346
309
269
389
361
311
271
247
334
298
323
385
399
317
328
382
358
308
312
312
324
297
333
314
299
331
360
315
402
340
385
327
234
314
277
361
389
342
378
367
282
356
262
319
346
311
262
379
330
312
350
298
367
354
331
300
277
413
293
327
289
406
338
365
262
381
261
335
292
381
304
329
268
274
408
325
381
291
328
286
317
323
407
374
358
355
301
359
344
312
345
344
320
294
354
358
314
296
305
306
266
269
281
304
313
327
267
238
339
275
313
258
328
330
249
358
310
339
350
345
298
288
268
375
283
275
254
313
391
277
379
281
274
309
416
254
292
285
290
371
281
233
377
261
306
272
255
269
291
319
252
291
269
306
299
289
302
240
361
274
361
289
285
319
326
278
389
319
316
299
295
316
300
226
299
268
327
327
347
272
345
356
297
341
353
290
328
308
419
169
292
347
311
390
314
361
363
335
326
398
321
381
292
267
364
293
296
334
324
276
310
348
365
280
354
306
273
276
323
414
284
298
349
338
388
420
369
265
219
326
246
345
348
337
362
325
347
229
343
362
335
348
321
359
399
279
324
288
360
274
294
348
325
346
329
368
306
339
302
347
432
215
280
285
287
285
385
342
333
313
355
330
372
342
297
369
277
310
354
355
359
289
350
282
285
376
288
291
288
301
166
342
302
340
295
348
337
360
242
315
210
343
348
380
252
271
329
331
307
345
318
330
185
339
288
336
315
280
232
289
284
332
324
315
284
304
342
267
337
331
346
340
375
281
290
232
398
251
315
209
292
379
301
219
362
310
391
297
254
334
391
259
316
239
323
383
367
348
327
225
272
343
398
280
319
321
218
338
291
276
337
317
323
272
319
302
287
353
209
261
351
296
292
349
307
254
315
312
300
377
385
358
377
334
341
311
303
347
294
342
247
385
286
443
332
317
276
362
309
346
315
282
338
312
315
345
376
313
314
395
371
357
268
302
340
343
242
275
322
370
309
329
404
308
283
288
365
360
357
342
356
233
356
300
385
263
367
302
232
327
277
324
306
293
338
322
346
295
337
359
371
318
331
319
350
335
309
313
350
358
330
281
292
278
345
345
293
319
364
391
314
326
292
410
318
325
299
351
331
323
351
320
323
295
380
312
270
224
297
347
350
312
270
296
337
374
307
344
303
359
335
343
332
357
370
338
276
280
291
345
268
361
341
337
331
277
262
351
328
321
338
313
304
254
375
385
282
368
311
273
371
431
390
320
370
276
383
282
330
259
317
332
305
292
329
334
310
322
302
252
350
336
383
304
285
336
365
323
214
349
325
260
353
358
318
393
366
333
362
207
306
211
295
351
331
353
182
264
308
301
328
343
354
255
365
320
269
289
248
373
338
220
318
338
377
224
370
317
274
279
287
300
253
312
223
393
316
345
346
281
269
257
324
316
318
265
333
322
271
258
337
277
365
369
307
270
296
292
280
383
339
337
302
298
315
297
241
340
315
359
295
235
327
380
356
322
269
353
354
298
343
316
261
348
311
320
353
352
342
265
359
264
332
326
379
386
283
378
413
375
347
353
343
298
290
312
355
367
201
350
345
366
266
360
321
349
330
258
247
320
298
275
232
270
310
275
350
301
290
349
352
287
355
287
246
355
367
320
328
210
325
331
333
345
248
348
214
264
230
219
308
266
365
336
336
384
350
304
363
248
349
300
341
317
311
323
272
281
288
365
332
367
290
284
250
355
292
387
345
262
298
314
338
259
287
256
386
309
265
281
326
374
344
246
299
335
310
289
338
249
205
264
398
279
313
311
360
329
282
334
293
254
360
301
318
414
318
377
329
333
373
416
366
275
368
316
326
237
348
301
264
374
290
333
356
391
263
322
298
316
295
300
418
284
288
388
278
206
335
369
281
279
283
342
345
310
320
280
290
366
253
303
301
434
327
332
355
369
283
320
258
355
267
329
361
290
428
381
335
246
377
330
288
340
284
291
350
375
237
265
249
348
301
388
363
285
327
294
297
382
358
350
357
351
420
311
294
303
297
336
306
368
370
317
244
372
306
306
338
271
280
372
340
270
287
245
343
286
304
375
261
342
320
290
251
234
229
264
355
321
350
367
352
429
317
223
297
352
348
368
278
342
319
276
318
283
349
339
347
338
363
303
267
322
341
340
355
288
305
356
315
314
374
377
353
382
334
291
353
323
340
285
343
329
312
307
296
372
336
306
402
302
366
296
321
367
279
278
275
347
310
361
299
383
291
392
302
249
220
282
383
373
288
297
309
289
322
296
340
339
400
282
317
352
336
316
290
275
346
276
306
257
301
295
365
338
350
268
320
338
303
284
144
287
262
319
343
316
365
280
421
366
326
267
366
263
326
382
273
340
321
371
339
344
298
282
341
280
348
296
383
340
318
270
255
295
330
329
158
260
305
320
293
348
315
295
296
312
304
264
263
297
264
346
288
382
251
293
364
366
346
387
254
375
271
390
347
295
357
287
417
285
250
312
234
266
343
353
332
363
286
321
333
294
286
303
399
339
303
354
278
304
285
323
284
375
307
228
333
369
331
381
365
247
300
276
384
393
311
302
271
230
340
287
302
372
283
291
337
350
300
324
368
314
295
369
260
360
354
324
267
373
293
303
362
371
269
335
318
380
237
363
331
305
381
307
278
355
309
316
362
312
370
294
285
243
318
341
365
249
395
298
282
341
420
319
373
234
331
276
364
302
332
311
336
264
256
328
327
294
360
414
255
364
336
279
327
355
348
274
325
233
332
216
187
331
358
337
249
329
293
322
347
302
371
288
344
260
334
430
360
294
139
390
281
258
330
210
384
360
281
300
385
283
317
369
346
302
229
282
315
300
243
318
253
261
272
366
321
311
381
235
307
260
377
303
254
356
353
379
266
270
288
354
329
270
283
396
318
295
333
318
303
358
353
256
355
432
286
327
341
260
356
279
274
357
395
445
325
303
268
313
341
224
315
326
388
346
301
344
271
325
309
312
201
306
294
331
294
314
329
264
320
411
347
268
348
338
357
303
354
326
283
342
302
330
274
323
404
340
346
357
351
257
282
317
280
358
284
305
290
394
309
348
314
312
280
298
322
303
306
354
331
385
349
341
287
293
318
294
412
267
323
344
310
296
258
396
351
332
255
362
309
306
318
401
337
328
383
296
370
377
359
338
316
338
369
257
328
395
334
257
311
191
331
382
309
405
315
371
309
295
301
314
330
357
258
302
396
299
338
327
278
294
259
317
339
334
255
328
365
272
310
317
337
323
263
311
232
392
230
434
376
416
286
362
371
367
344
352
376
257
323
254
367
347
352
350
293
293
268
306
383
288
373
321
369
385
332
282
350
288
285
326
309
337
259
245
374
331
263
292
288
279
358
290
334
297
299
274
360
346
300
255
329
244
200
357
361
317
332
321
357
298
326
370
338
351
316
346
192
328
306
331
340
293
292
306
297
436
331
310
364
301
319
253
311
342
283
303
267
255
409
257
334
332
337
347
331
285
235
295
223
306
287
292
332
382
330
270
329
320
258
273
330
319
366
245
307
341
277
300
348
400
251
334
312
296
271
371
333
318
222
366
348
294
281
375
330
287
324
356
287
354
323
295
309
222
314
253
254
338
280
262
348
355
165
279
390
296
359
328
398
330
335
317
268
424
391
391
390
290
354
355
386
352
296
306
260
301
394
349
286
338
364
289
327
324
251
314
311
301
345
314
378
317
292
223
320
330
309
325
327
336
287
284
320
316
351
308
313
396
380
327
321
302
368
370
393
298
275
377
330
288
331
322
258
312
269
333
389
338
336
298
246
323
286
253
331
399
196
308
345
304
278
354
299
264
259
278
289
299
332
340
288
330
345
350
299
309
304
266
368
371
431
304
328
225
318
326
333
365
382
409
293
362
311
307
255
254
308
358
281
323
356
279
338
284
272
307
200
324
329
386
344
269
363
337
329
336
295
304
367
331
319
343
326
374
307
412
424
314
353
304
276
384
305
331
316
288
335
421
353
261
234
299
378
280
308
362
329
315
326
325
362
264
329
354
350
326
336
296
288
357
368
302
334
303
319
269
303
404
262
349
343
304
345
283
381
302
294
342
289
253
328
357
292
239
338
268
290
360
277
341
329
253
340
257
288
324
308
218
315
387
306
330
298
304
298
237
318
310
348
322
252
337
318
313
295
361
377
298
296
343
325
350
291
351
223
271
321
384
340
293
293
347
373
403
360
320
279
333
274
302
315
380
284
323
336
223
354
285
315
214
239
326
246
347
227
296
390
297
371
336
356
353
279
288
305
356
330
304
298
342
323
308
312
337
314
303
339
221
297
313
325
283
308
273
293
278
280
264
306
401
260
362
278
295
279
278
385
311
392
298
343
317
315
254
353
319
299
315
311
338
317
298
359
314
368
252
247
311
347
381
296
370
313
353
289
333
266
274
401
331
297
237
341
386
381
313
337
314
327
264
295
276
246
319
288
251
337
340
370
347
393
343
267
364
385
318
356
391
284
337
283
304
377
250
324
295
317
289
310
253
338
293
314
281
377
402
290
338
330
342
318
361
305
378
388
236
350
284
279
295
393
312
378
306
307
318
386
275
326
260
299
327
301
392
301
316
327
286
338
343
389
344
290
244
298
354
277
352
292
362
299
305
317
300
282
300
306
247
283
351
321
316
327
350
362
293
344
166
294
330
286
300
319
276
294
267
270
240
291
258
316
338
323
269
373
317
316
302
329
260
334
353
189
275
331
268
284
295
359
373
315
315
226
313
348
424
349
246
316
406
424
316
372
312
341
352
340
362
321
310
244
352
344
360
291
351
388
286
335
267
372
348
340
297
360
328
311
330
392
349
319
266
367
356
270
281
235
343
377
334
314
363
300
339
431
335
394
251
282
302
384
338
287
320
341
379
386
351
338
350
313
322
339
303
239
350
324
299
384
328
316
316
336
300
397
288
279
356
345
369
361
315
320
358
322
306
343
355
341
368
377
331
352
348
276
260
327
364
332
277
311
281
350
276
349
322
295
278
319
269
361
328
274
325
292
346
315
283
349
306
346
377
379
227
359
379
307
332
261
307
359
339
263
340
320
255
299
309
317
273
289
319
333
345
347
388
262
328
260
352
375
396
324
328
348
370
278
342
376
348
344
340
292
267
309
305
369
389
299
265
313
369
188
322
393
294
313
230
361
293
325
323
354
257
285
305
256
329
330
325
214
328
309
315
290
320
301
355
292
320
295
373
283
334
302
365
328
393
280
295
294
386
328
321
313
305
329
315
352
271
311
296
268
326
359
282
340
408
290
244
346
243
311
268
358
339
328
327
344
308
326
360
347
337
352
306
379
330
333
275
335
356
404
389
248
336
273
362
289
335
275
325
289
350
313
381
301
429
287
349
294
294
356
330
352
367
412
354
325
307
309
328
324
433
299
337
360
253
297
326
364
196
291
268
323
373
357
332
340
337
299
329
287
291
348
405
323
313
415
334
259
337
383
407
322
442
365
254
269
226
337
302
294
254
324
280
340
332
307
359
340
332
339
364
319
255
263
313
317
357
295
301
325
311
370
288
335
294
302
259
315
259
300
242
322
342
299
390
269
266
336
361
360
334
331
306
335
346
315
283
290
406
375
311
279
290
349
299
236
348
266
268
355
390
386
391
274
343
322
279
291
287
327
363
305
282
274
309
317
327
354
341
257
344
374
284
298
272
329
326
380
305
374
395
248
384
365
407
281
269
330
324
264
260
362
309
333
349
348
300
340
361
217
335
332
345
350
343
364
339
318
295
345
282
345
276
405
359
304
366
294
331
270
281
354
314
283
315
296
321
329
330
274
359
248
279
384
314
375
296
329
255
391
375
278
227
283
344
258
304
292
297
280
307
325
348
286
290
392
304
288
296
317
331
331
299
269
237
325
311
322
256
330
295
266
259
375
326
360
318
230
222
343
363
414
349
315
347
333
284
346
327
352
310
343
303
329
338
258
358
364
336
337
221
414
335
327
271
399
323
343
329
251
234
352
332
333
284
272
351
337
241
417
275
284
293
317
305
236
312
350
316
334
306
320
384
226
323
335
322
240
268
379
270
333
254
341
363
300
297
392
306
265
338
302
360
273
397
314
312
353
350
282
349
359
303
343
290
383
270
353
316
356
334
383
322
354
356
332
385
197
286
316
244
265
256
343
329
390
336
352
353
320
363
271
359
322
290
334
251
342
339
279
333
348
322
284
288
347
321
262
352
279
336
318
343
298
249
361
312
272
310
296
338
351
266
389
306
332
409
321
335
271
293
330
333
335
411
281
269
287
339
274
381
369
310
245
298
376
329
358
291
290
315
253
346
304
315
350
302
344
358
293
382
235
359
304
261
335
282
249
277
324
315
343
245
296
331
307
416
319
339
220
357
351
379
381
281
312
275
301
338
358
300
328
340
296
287
298
348
340
249
351
293
320
365
260
306
349
357
317
286
342
346
278
332
364
269
375
353
315
384
276
291
303
367
264
352
337
326
319
311
320
313
337
322
338
285
321
301
330
232
354
309
332
365
254
403
298
259
334
274
364
263
307
257
328
340
404
253
293
301
303
256
350
294
256
337
338
253
331
282
324
333
334
289
377
305
343
281
308
281
323
339
309
300
316
255
306
315
257
287
322
396
351
311
381
337
378
309
372
334
264
316
351
377
321
327
311
280
283
370
303
327
378
359
312
360
336
328
263
339
330
224
327
344
387
319
306
349
286
337
293
333
348
307
314
294
239
400
313
344
337
288
362
351
334
329
328
371
277
315
361
316
315
279
315
366
328
381
304
271
264
335
300
328
347
289
256
360
359
322
356
274
193
282
337
342
346
316
370
314
299
320
381
308
302
295
327
348
398
313
299
354
331
292
297
334
317
382
376
339
317
254
295
383
294
390
344
330
265
359
361
312
343
355
341
400
334
378
331
332
275
244
317
387
323
328
324
325
301
270
370
392
266
274
335
336
273
348
350
374
381
280
234
331
292
379
283
360
375
321
205
301
243
245
336
179
240
396
334
367
377
202
352
270
343
250
275
276
428
310
336
331
344
338
333
411
268
312
310
322
362
338
341
357
332
331
267
287
333
288
298
296
239
335
349
339
354
295
275
363
322
357
268
253
384
284
422
301
313
301
352
317
354
332
355
280
343
316
319
207
309
353
364
295
363
319
335
315
343
326
278
324
300
370
325
256
327
345
288
276
317
332
255
396
359
319
270
264
233
262
300
363
307
346
337
313
259
306
351
249
332
266
397
284
320
273
285
379
314
307
255
304
337
326
365
288
319
300
342
273
366
339
326
316
335
338
268
313
254
312
419
269
283
303
337
297
326
378
243
369
356
279
377
379
256
281
248
352
339
305
294
377
284
290
361
288
334
265
314
285
312
212
307
331
336
274
309
352
300
292
306
302
278
365
311
336
294
230
274
259
310
406
418
382
323
365
352
273
293
356
316
353
197
341
340
301
347
318
306
347
376
301
290
356
307
239
279
337
217
372
353
265
238
305
345
397
281
360
330
218
287
284
275
331
315
260
317
246
291
365
380
295
312
314
371
242
273
295
354
324
364
326
389
423
312
262
294
364
322
303
370
305
288
352
275
369
314
250
301
271
457
390
301
314
350
242
295
285
442
290
313
370
357
381
292
374
368
265
371
262
350
259
351
256
267
280
289
306
247
359
370
229
312
218
330
279
311
355
345
318
376
318
368
373
353
321
353
347
241
303
245
284
249
288
306
328
350
295
405
349
318
247
268
375
401
413
279
311
370
340
252
304
287
359
357
219
284
376
346
331
295
293
394
304
338
322
298
334
313
349
271
352
271
290
265
253
292
230
279
365
359
252
327
348
291
269
334
352
253
298
335
272
348
352
338
307
338
328
294
228
376
362
308
340
343
317
446
332
342
344
271
273
338
322
255
307
262
383
310
250
300
305
277
210
301
288
335
310
304
335
303
313
306
306
408
316
283
376
362
283
265
314
347
346
359
355
290
330
312
348
330
230
346
348
260
238
356
282
371
318
230
250
340
289
267
348
293
324
313
375
315
198
357
357
330
305
270
395
267
262
286
314
358
349
306
378
327
353
380
271
250
330
332
262
316
371
403
348
329
278
342
341
375
331
272
305
333
319
248
393
372
349
356
338
272
329
306
245
448
378
313
243
321
355
273
340
326
291
292
325
347
298
339
222
362
284
317
292
392
330
347
341
298
235
315
370
308
349
238
319
317
282
262
263
334
323
330
322
373
317
387
308
352
196
378
307
296
277
348
299
275
360
318
299
344
253
316
365
299
361
331
419
320
338
290
337
277
322
407
313
341
287
227
405
257
311
302
346
313
359
377
328
283
343
408
309
365
319
288
375
286
288
323
255
256
252
237
265
318
315
277
258
333
327
329
352
263
291
325
243
379
306
251
330
328
341
285
351
366
314
217
384
300
288
371
354
423
316
324
348
341
347
353
334
290
291
317
366
396
276
303
321
361
338
229
308
337
286
368
310
417
268
305
384
251
243
372
340
242
359
317
383
281
376
321
207
316
365
305
300
322
391
292
367
341
365
235
319
291
339
224
296
374
296
339
313
331
269
273
244
285
279
380
310
264
247
316
375
240
356
360
305
272
276
291
325
302
252
399
381
310
280
319
346
286
377
277
342
299
329
268
287
319
280
282
238
249
411
329
350
243
280
340
329
297
364
366
210
304
411
314
285
306
382
289
250
265
359
406
373
349
284
376
300
293
349
274
259
278
266
267
314
275
299
253
301
273
356
271
326
347
308
293
298
344
403
305
313
306
361
261
312
262
283
319
315
343
351
370
295
357
302
293
360
287
305
284
376
370
337
336
342
352
317
289
263
314
298
320
320
311
273
314
346
297
284
279
311
306
298
322
383
266
310
265
350
347
247
330
325
332
337
341
333
292
338
286
253
325
363
313
278
282
312
282
301
364
323
276
351
353
267
306
290
300
323
250
346
322
388
310
270
403
319
231
247
276
330
386
356
364
344
362
284
341
281
356
356
289
335
350
318
351
363
371
318
283
345
297
254
362
305
303
324
300
398
290
320
336
317
337
371
284
275
290
306
308
285
363
276
280
288
301
269
347
360
370
346
276
311
332
302
278
324
355
341
356
305
297
210
306
283
287
343
322
386
345
372
311
359
396
318
304
389
253
386
276
261
345
387
315
342
289
307
234
335
261
294
241
347
292
307
302
304
291
351
350
375
251
323
340
365
275
363
289
395
307
320
339
327
361
402
340
391
340
441
399
315
311
442
227
392
294
279
192
318
336
403
287
324
384
303
272
313
341
380
400
345
416
360
339
361
320
326
304
349
230
314
331
383
303
263
324
312
222
303
283
335
371
325
316
354
291
310
333
312
264
333
269
418
303
319
270
275
378
261
399
352
241
280
288
283
340
273
224
339
363
352
304
318
258
349
280
250
259
298
302
366
306
261
316
356
254
247
317
315
271
269
280
354
257
294
216
275
356
356
318
283
275
274
373
356
329
262
318
314
301
403
321
288
306
304
311
298
248
355
290
273
259
311
216
333
267
392
339
339
363
197
277
351
347
306
363
321
251
239
332
309
267
327
358
220
313
217
356
288
220
308
297
278
271
314
307
320
307
289
297
395
326
321
342
315
367
346
326
267
299
325
304
355
174
312
384
282
293
389
369
228
231
333
335
355
278
374
339
291
275
251
265
301
198
327
320
356
263
273
368
316
302
318
249
340
395
349
344
288
258
233
299
322
236
329
393
291
272
292
334
292
352
279
297
371
294
324
333
386
325
242
315
182
331
247
287
274
332
244
402
239
325
312
326
196
266
265
252
365
394
253
280
390
270
300
313
298
357
307
378
297
303
354
304
369
368
408
310
244
350
284
364
274
355
360
327
361
373
317
206
252
350
332
316
400
200
253
304
253
322
359
245
375
316
299
274
330
356
301
304
302
312
338
305
330
422
301
273
373
357
287
385
393
200
359
377
360
362
287
304
289
330
335
342
304
351
343
254
320
309
358
367
344
340
259
391
398
294
352
234
339
366
415
255
300
325
302
321
185
282
331
340
277
248
310
324
317
318
273
371
323
317
340
355
334
339
322
296
342
335
264
318
253
242
363
331
372
294
323
307
309
328
274
282
280
252
340
311
297
342
236
199
300
337
381
339
357
344
357
239
357
274
252
342
319
330
289
400
323
415
358
346
294
276
286
321
260
298
282
365
333
339
267
344
314
251
311
185
361
328
276
298
315
298
272
291
364
291
276
333
334
427
307
362
304
335
309
240
341
264
341
250
333
257
372
307
262
271
287
262
358
311
312
378
379
321
258
274
347
393
297
327
377
336
326
378
343
296
339
306
320
314
359
322
225
307
363
330
365
409
366
320
259
366
322
280
248
252
328
377
335
337
344
226
328
279
311
285
335
304
291
340
389
339
347
319
302
298
276
290
353
330
322
229
264
366
390
265
257
378
269
296
272
232
341
333
392
254
308
334
304
334
362
253
292
318
359
316
321
368
357
321
339
237
281
327
334
298
396
342
337
369
353
242
244
321
327
392
409
368
330
370
389
374
262
387
305
395
336
282
329
278
297
276
293
312
310
330
324
297
282
313
222
304
321
344
283
258
375
299
341
359
351
327
290
355
347
369
326
321
323
256
390
400
255
358
365
281
282
324
340
296
280
359
362
285
256
329
304
296
384
286
304
268
401
309
250
292
320
254
292
323
341
322
273
442
226
229
322
317
294
266
289
327
301
281
372
284
330
361
237
289
259
297
407
334
264
214
290
400
245
333
377
283
376
361
307
349
297
271
327
397
329
246
300
278
289
283
321
193
305
336
273
300
367
328
274
372
267
285
276
336
299
264
287
328
311
267
325
356
263
356
342
301
326
306
290
268
380
332
424
320
267
338
357
270
329
321
251
383
319
317
310
312
349
325
338
347
336
309
330
259
320
322
267
302
359
348
309
263
344
380
357
352
349
306
387
293
336
239
314
360
366
356
299
353
388
308
361
351
273
313
326
290
365
295
343
224
308
357
306
226
329
317
263
248
348
312
307
302
276
267
323
330
312
304
328
297
317
418
327
296
323
318
417
248
355
354
299
321
261
375
321
276
327
377
375
377
319
334
330
367
358
357
291
347
375
302
346
370
261
389
339
226
315
338
288
367
336
162
288
243
398
320
333
379
278
206
266
302
341
271
359
302
230
370
301
333
287
253
323
324
302
265
289
313
338
380
240
403
273
280
439
221
227
400
299
301
228
317
276
266
338
352
360
343
331
315
332
320
265
366
356
391
352
328
316
338
279
340
235
362
343
360
226
349
334
346
348
285
335
271
289
375
348
329
306
332
384
244
263
311
179
270
271
375
317
267
307
315
256
243
230
310
319
352
347
278
303
288
399
400
322
335
394
340
293
356
337
251
291
348
370
300
233
302
286
388
288
303
304
280
387
267
304
367
310
335
281
335
405
251
365
351
312
333
349
326
313
331
230
344
274
346
339
354
273
275
360
376
352
299
351
256
375
342
263
261
303
263
316
328
332
394
354
360
318
348
240
338
324
237
413
268
320
360
362
265
298
335
371
391
268
353
244
313
318
400
332
299
271
273
299
390
340
316
335
343
386
293
242
347
275
362
382
262
276
298
360
362
259
373
341
249
326
319
376
334
309
377
282
298
245
321
289
205
284
333
370
321
282
343
349
385
357
290
307
360
297
293
436
402
313
339
382
363
310
321
257
326
341
254
250
301
300
339
380
285
322
290
356
297
386
343
334
401
379
278
345
363
334
307
406
338
318
338
368
334
241
392
375
394
287
258
284
304
387
318
283
309
289
190
380
383
344
284
319
281
321
254
324
401
309
309
359
287
309
353
251
296
410
311
362
294
292
352
345
317
325
315
339
317
329
300
268
271
322
318
277
309
342
318
263
328
302
256
346
310
371
330
338
429
292
376
320
186
363
268
329
322
281
346
295
255
381
261
303
342
372
284
279
293
381
339
390
283
314
330
381
339
265
336
291
335
204
307
241
343
331
293
314
363
328
293
322
277
346
285
281
348
328
372
363
302
336
320
299
288
321
284
274
333
218
240
259
289
254
320
349
297
237
251
295
298
385
324
376
281
320
301
273
366
401
304
323
324
358
317
366
304
276
357
352
274
346
268
305
318
273
359
394
379
330
256
295
375
317
311
313
351
257
253
376
327
362
380
299
229
305
329
341
282
307
199
364
287
300
256
374
270
242
270
274
222
324
391
336
284
357
308
324
250
293
319
289
287
330
320
311
328
356
286
359
327
324
314
375
333
332
318
272
294
360
373
393
359
205
337
244
402
373
363
338
260
331
321
367
377
293
358
278
356
305
376
392
328
287
220
307
288
280
290
403
296
406
330
313
257
354
378
223
340
265
366
299
319
230
315
272
351
375
351
317
322
293
328
290
290
288
296
306
339
367
441
355
237
295
358
390
379
431
323
423
288
242
325
337
284
355
300
314
341
383
335
218
346
309
326
348
317
284
281
313
287
312
366
261
322
293
305
283
318
292
305
288
257
296
350
316
281
318
276
370
304
385
395
303
266
305
270
286
279
297
364
272
273
304
330
364
402
366
339
358
338
363
252
444
332
288
310
326
323
387
279
372
336
278
362
349
383
291
303
306
223
274
312
259
327
359
337
323
310
362
293
286
320
282
358
327
372
396
362
295
292
283
312
353
290
315
335
209
419
297
319
348
302
355
317
328
269
366
302
354
264
386
321
275
293
272
370
333
312
338
329
345
329
253
247
309
278
235
316
369
340
325
297
283
307
320
321
405
291
300
285
296
298
342
374
241
315
324
306
303
218
364
264
318
280
377
305
352
235
250
323
228
324
205
297
287
342
301
294
311
319
326
421
304
387
337
359
282
390
301
213
370
290
325
383
287
272
282
318
240
316
292
241
286
204
233
292
352
347
280
284
353
243
393
361
319
328
250
284
275
382
315
274
308
389
308
401
237
335
322
292
305
400
270
276
331
295
309
374
288
341
324
423
250
338
296
319
247
388
273
288
271
287
272
269
370
351
264
356
334
337
321
371
265
403
276
308
260
357
344
293
373
362
220
338
358
311
315
302
287
285
357
288
267
277
369
319
255
367
326
296
348
331
345
333
388
311
335
361
378
321
321
279
320
296
367
323
254
322
299
234
330
236
373
314
389
352
354
395
304
370
355
373
316
334
350
270
296
361
272
275
247
312
278
219
389
303
343
266
304
212
285
291
396
336
264
297
363
337
312
376
257
324
272
240
331
368
353
333
372
319
333
363
356
276
274
283
341
373
386
344
226
309
350
290
298
312
317
302
357
412
258
333
326
352
371
347
327
320
340
307
306
177
299
342
315
334
335
285
305
323
253
304
278
296
314
372
313
253
248
292
323
378
310
322
444
320
387
374
283
294
281
342
329
325
296
354
291
301
358
282
273
246
286
316
271
251
324
273
314
289
281
322
375
305
333
328
384
354
254
335
282
305
334
359
299
269
328
273
337
378
363
196
382
334
278
255
354
350
354
382
352
349
292
369
360
277
233
231
340
286
310
312
404
262
316
334
304
352
350
333
290
355
348
376
306
361
312
297
261
384
316
342
281
278
309
392
330
301
317
276
329
334
270
278
378
396
331
355
303
259
375
269
327
360
234
322
320
262
308
341
222
326
317
345
306
394
306
246
234
326
280
257
314
266
262
359
361
284
347
269
277
312
366
336
257
345
322
304
367
269
418
336
316
299
291
336
304
340
360
303
286
321
316
336
437
404
361
383
353
218
365
325
360
381
356
395
356
309
357
303
345
325
316
258
369
372
270
339
300
304
314
270
343
363
284
308
332
338
256
319
319
332
235
289
268
306
315
246
408
351
220
261
307
335
238
236
258
388
322
284
325
253
298
356
302
230
283
317
253
304
398
285
307
238
257
307
328
322
214
299
360
265
251
337
302
273
418
337
299
357
316
354
337
330
258
358
307
342
335
228
344
351
262
280
338
370
317
348
304
279
315
355
329
262
306
313
347
401
337
321
371
348
275
226
354
377
353
293
402
200
293
332
308
343
332
213
300
283
354
318
242
305
301
375
358
372
408
297
352
245
343
319
290
325
404
357
321
247
313
320
393
309
326
350
356
281
359
348
303
303
313
270
240
343
324
325
308
232
382
303
293
318
366
320
242
302
320
343
335
336
318
386
339
328
263
300
301
424
343
235
389
337
387
352
289
254
335
346
210
331
274
268
323
316
276
292
342
324
387
369
328
304
327
367
282
306
348
355
396
363
365
308
283
306
379
377
242
326
320
313
303
331
329
266
326
248
318
326
299
387
345
295
352
282
365
266
377
317
332
395
340
252
282
343
296
332
304
275
352
271
295
281
323
288
354
261
268
294
312
277
258
254
369
361
424
318
372
357
251
341
342
283
352
303
402
377
287
306
344
346
322
307
404
337
374
335
307
395
270
309
366
345
319
318
304
275
324
306
370
335
416
313
364
305
359
297
289
323
293
344
299
320
276
288
298
214
336
352
267
346
306
338
359
327
371
315
320
332
345
327
342
288
295
371
297
319
332
278
381
301
284
281
294
339
339
325
219
293
245
365
338
295
378
343
280
333
335
332
335
340
356
280
332
281
389
331
279
362
352
245
335
275
338
296
339
390
314
357
365
337
346
275
351
293
291
380
298
326
219
349
252
314
201
387
387
387
351
315
334
344
313
364
347
263
236
299
352
287
350
247
334
373
342
381
314
299
300
363
246
382
303
349
306
263
274
321
347
305
346
287
312
347
307
338
297
330
315
317
328
297
296
316
328
295
402
402
284
270
223
293
337
266
351
334
304
317
256
268
302
288
317
273
301
337
268
340
271
335
370
381
336
250
357
288
299
325
330
326
356
316
360
317
339
287
191
336
370
300
252
363
373
389
329
253
271
332
323
409
356
354
336
306
280
241
317
359
387
316
337
289
325
299
313
291
288
308
324
314
359
295
301
363
399
321
311
416
281
258
324
235
341
322
316
354
324
259
247
322
366
400
374
299
319
295
334
325
342
352
318
287
309
283
349
327
344
289
294
342
353
319
371
305
323
387
288
388
263
362
293
168
392
301
340
272
291
310
311
281
334
392
338
307
255
304
304
365
374
280
295
444
373
277
255
332
352
309
220
281
375
319
341
342
250
305
321
298
301
355
276
286
334
317
366
333
384
341
313
315
374
242
292
381
370
330
323
274
338
339
323
353
327
311
270
325
272
323
251
389
309
282
267
348
283
292
304
349
395
278
282
282
282
273
348
306
366
286
282
303
376
282
258
336
337
298
354
291
277
264
294
381
193
259
264
269
362
292
366
291
352
304
453
283
325
304
318
298
330
338
281
271
348
265
316
326
311
319
309
418
337
301
235
338
349
336
265
285
344
329
323
297
282
316
296
304
361
377
342
369
335
284
288
392
304
309
333
304
363
374
279
284
332
359
427
248
212
294
289
389
280
329
320
341
269
258
352
326
353
311
301
249
276
293
337
335
297
316
314
311
299
321
329
337
283
367
294
299
325
384
335
294
389
331
287
249
322
339
334
229
309
355
294
307
301
308
366
344
350
317
368
261
325
328
249
215
379
399
275
271
276
318
282
326
240
323
271
293
359
350
359
342
379
259
298
277
251
286
317
304
288
360
288
401
307
315
264
338
339
249
307
332
327
331
380
333
271
302
217
348
351
302
312
295
225
352
331
241
283
253
322
268
344
259
319
340
347
378
308
343
333
322
319
355
292
348
420
260
407
295
277
278
214
257
295
304
343
356
370
342
354
312
231
284
361
297
365
401
268
363
233
319
305
359
319
286
364
274
342
329
312
279
388
401
292
371
323
412
237
295
328
361
224
236
327
338
358
297
254
281
308
325
265
271
385
321
298
357
318
328
302
317
249
376
286
376
306
272
270
323
281
315
263
366
236
279
275
251
364
311
303
238
247
358
313
258
347
216
229
317
358
279
393
287
421
308
403
289
193
268
240
231
356
327
301
328
266
346
354
300
325
335
284
316
360
428
314
323
261
330
306
341
286
355
226
245
263
338
347
297
291
306
267
255
407
269
333
375
321
427
335
280
278
327
333
357
324
374
321
333
267
371
313
350
263
315
325
266
301
365
349
258
202
330
321
312
353
236
306
287
314
304
342
290
338
234
345
275
301
280
271
330
299
374
409
371
257
341
315
379
339
333
301
334
254
389
292
285
407
382
281
272
375
306
337
346
321
271
375
288
280
339
316
328
319
309
369
281
286
272
337
313
313
325
336
370
270
283
399
326
413
351
300
327
270
317
257
334
324
394
288
300
329
293
330
208
210
335
292
230
415
335
386
311
298
385
284
229
226
317
338
314
226
303
353
299
318
311
258
288
368
340
394
278
353
288
326
304
306
343
307
363
271
317
289
327
269
234
287
311
282
238
271
252
347
328
236
344
265
321
261
320
310
319
332
321
235
373
281
323
338
404
349
322
363
396
299
255
370
369
281
301
297
293
357
284
311
247
302
405
365
356
345
275
358
294
398
221
320
333
283
291
354
288
339
395
335
328
381
322
304
353
355
327
323
298
352
351
278
264
316
346
275
347
318
286
279
271
324
368
311
343
340
299
379
284
338
344
276
226
397
380
386
295
396
272
332
278
316
329
298
326
332
312
377
312
338
299
368
383
357
260
388
351
278
379
362
362
301
265
310
281
317
292
266
255
291
312
232
370
342
337
298
224
338
319
371
226
365
300
360
332
321
289
283
261
402
242
329
370
292
302
318
350
279
250
368
269
309
334
362
281
382
346
320
377
298
305
338
320
174
329
417
342
357
405
371
321
274
244
303
277
347
345
313
275
288
291
320
214
356
320
331
393
324
378
371
392
266
321
305
249
279
296
304
264
280
314
304
341
273
327
379
317
385
375
267
248
312
335
399
344
319
365
242
341
341
334
367
388
310
327
367
348
326
378
311
301
305
390
247
308
345
277
271
334
332
347
232
350
267
303
294
290
295
271
278
326
257
368
329
358
239
371
381
248
377
316
357
276
306
245
313
337
196
286
308
366
331
371
297
329
296
262
355
282
280
298
335
350
268
347
297
356
338
422
350
340
226
292
318
258
413
241
363
355
231
263
302
358
387
253
335
326
336
431
319
310
369
221
301
265
349
176
286
349
300
287
340
319
307
353
228
311
298
338
267
262
300
341
332
311
266
306
213
322
396
296
328
330
334
360
298
351
360
371
324
303
379
334
307
295
264
334
367
198
253
325
316
252
406
351
306
413
372
279
308
284
395
335
334
342
269
296
331
298
281
294
305
318
251
397
347
276
302
351
375
329
355
283
344
330
275
301
283
224
296
349
248
316
311
264
321
313
245
369
291
306
294
369
380
349
312
278
290
250
325
411
293
330
362
289
291
267
356
392
351
299
383
320
376
299
363
315
266
257
307
288
285
366
269
240
269
303
303
284
362
352
298
306
276
358
210
378
304
227
225
296
323
343
340
329
303
308
399
335
377
331
297
285
324
351
358
252
344
322
307
277
239
240
329
294
290
354
327
408
319
241
308
330
301
280
264
261
333
362
329
354
258
271
342
316
245
394
294
345
270
262
264
342
263
346
302
304
322
321
385
227
340
342
266
366
363
354
248
364
286
351
347
297
312
362
303
331
306
321
283
355
342
233
340
301
364
312
386
312
319
396
342
317
366
274
380
353
351
349
376
348
383
370
283
299
303
324
421
319
237
333
341
279
274
281
397
335
299
260
268
377
295
296
337
288
341
294
325
400
323
325
285
298
270
286
262
364
311
251
256
267
298
353
327
330
317
361
282
311
310
336
332
341
274
262
314
244
359
363
262
418
306
342
342
287
363
305
275
304
318
301
220
223
276
356
377
356
279
329
282
361
389
328
262
372
369
296
260
356
282
327
350
341
376
376
325
337
353
388
325
389
329
341
350
235
333
369
246
295
276
351
388
288
345
330
207
294
296
361
308
343
316
351
375
382
339
270
296
372
317
313
304
383
283
357
362
324
381
270
279
252
355
339
332
279
212
330
303
310
198
327
311
246
262
325
314
307
357
309
248
337
361
289
279
318
316
261
197
387
335
322
369
318
341
291
313
336
365
300
336
337
329
314
351
302
280
348
290
425
283
292
370
322
322
243
340
208
307
236
379
318
269
317
233
327
268
369
347
280
307
303
248
275
297
278
342
290
304
322
259
283
365
235
288
338
309
297
311
279
272
310
333
300
253
346
366
261
340
319
321
334
308
345
357
270
347
367
317
338
284
272
400
347
283
339
347
378
400
333
338
338
351
317
296
237
279
293
305
324
333
402
320
304
371
322
381
293
239
311
241
294
255
294
305
266
329
265
367
309
301
287
342
323
288
324
390
379
235
394
292
335
317
249
362
354
322
213
308
313
351
260
322
313
290
305
320
314
290
296
361
283
334
217
334
310
300
381
339
331
360
290
317
277
338
262
269
272
347
287
303
383
366
330
343
362
333
276
306
395
231
293
294
399
279
324
329
170
239
360
349
314
348
347
404
309
376
249
327
278
340
336
402
301
291
266
361
346
265
372
377
353
338
356
287
283
294
323
298
266
353
301
332
356
306
260
335
367
352
259
359
281
379
367
340
335
336
257
286
278
306
285
225
307
309
255
282
263
362
334
398
258
316
325
339
269
260
302
400
382
328
291
184
425
241
392
328
354
237
312
334
277
302
321
321
287
273
356
286
318
273
377
325
273
323
337
286
330
255
316
232
352
341
279
345
355
203
287
396
273
346
288
275
384
252
378
369
373
279
271
246
358
294
277
295
219
317
300
272
209
270
262
369
322
328
384
233
406
312
333
323
319
311
265
382
393
289
370
395
315
241
380
284
180
267
312
352
342
359
316
270
276
328
329
371
258
314
327
315
248
306
372
273
322
410
457
320
314
342
384
270
310
349
345
268
209
247
235
284
372
289
287
268
341
332
378
346
256
373
293
321
371
221
301
336
335
307
312
433
343
348
319
381
322
250
316
381
261
309
312
325
241
331
302
281
402
269
412
340
381
357
313
281
333
244
319
291
372
314
335
378
251
325
273
336
349
334
423
294
320
388
298
285
347
365
359
305
195
314
287
297
340
354
326
358
282
330
315
294
403
331
270
315
354
284
235
280
291
352
300
333
365
351
250
294
253
297
287
285
351
296
256
267
329
410
313
344
284
241
284
355
403
321
323
304
304
284
332
340
342
354
309
342
367
368
327
330
224
308
356
292
324
321
302
311
355
392
315
342
307
311
349
441
325
302
288
425
378
345
342
282
353
360
285
287
278
345
374
344
333
281
302
264
257
449
390
383
361
287
293
291
258
343
320
289
299
327
388
408
313
339
321
309
267
264
321
316
274
332
331
365
358
330
317
254
333
242
255
267
346
308
264
292
242
416
303
335
345
391
392
326
328
331
366
252
332
276
361
326
193
380
283
290
244
273
292
289
299
364
327
327
290
342
260
336
312
325
306
343
306
308
328
320
316
370
309
357
293
375
245
232
175
335
291
320
290
382
291
396
301
292
252
397
302
295
333
380
394
320
372
327
257
269
312
353
302
331
275
316
313
387
308
293
315
262
314
408
300
393
287
318
231
296
260
224
382
352
294
328
348
305
313
360
311
378
297
357
331
293
326
323
334
288
276
380
370
322
269
306
362
315
364
353
297
321
365
363
260
290
340
272
299
401
294
356
285
362
326
359
352
316
319
317
293
297
182
265
286
295
307
325
342
360
380
307
296
349
191
351
260
308
312
280
229
371
295
344
303
284
338
325
362
350
327
337
330
265
274
331
333
299
312
336
262
279
397
295
390
318
447
302
292
292
397
276
355
342
261
336
357
299
345
366
311
314
286
299
233
343
374
311
360
309
367
296
365
242
324
365
335
266
352
298
315
350
246
371
323
370
377
362
352
307
253
336
265
299
287
252
320
327
323
345
274
292
252
305
353
363
238
311
275
340
279
301
375
322
386
339
284
265
370
309
349
313
386
388
300
398
305
386
355
367
345
315
346
256
292
364
335
269
331
311
330
280
344
351
331
305
321
306
263
308
333
288
366
241
294
377
278
275
332
263
302
305
382
244
361
309
239
357
310
370
223
342
379
328
346
295
359
310
312
248
279
324
282
266
289
343
310
334
295
226
271
367
392
414
320
324
333
273
359
253
348
393
340
359
313
287
387
314
267
353
331
285
324
233
368
367
338
398
346
336
333
279
364
321
394
348
369
280
351
300
285
268
268
437
342
350
302
302
347
379
289
290
305
337
324
303
312
363
281
321
326
282
391
335
340
274
418
339
328
330
347
377
382
374
327
361
316
314
354
317
348
356
379
301
226
368
284
372
294
349
282
253
344
385
298
317
333
394
348
320
324
233
345
340
344
397
326
315
382
301
378
345
232
383
322
306
347
217
250
296
329
312
215
267
278
360
315
252
245
337
358
345
350
316
301
361
387
320
295
328
401
280
396
282
341
393
305
274
366
289
303
292
292
325
288
279
317
306
256
368
347
397
319
356
394
316
305
305
329
360
420
312
364
309
309
253
297
369
287
342
268
332
358
315
392
354
279
268
340
276
255
256
299
275
333
239
343
345
369
231
266
268
204
313
288
297
292
342
344
245
229
302
379
348
252
356
217
395
239
375
363
321
263
301
405
311
258
368
258
290
278
401
268
305
284
292
393
293
349
281
321
343
331
283
353
291
323
342
252
329
340
283
347
229
279
301
279
393
295
247
305
397
308
293
346
294
303
293
341
311
369
360
372
314
306
349
290
383
352
358
237
238
281
351
269
279
302
290
352
341
295
323
378
306
321
427
309
327
293
340
316
338
332
254
280
320
291
346
318
250
292
356
262
388
349
313
271
322
423
348
392
279
296
291
322
319
362
286
283
341
249
311
320
337
281
375
377
377
331
381
384
344
397
321
293
326
319
282
354
329
344
310
325
340
377
343
302
345
398
339
238
355
279
296
392
345
310
223
297
377
289
309
295
327
322
360
296
356
333
345
378
302
369
404
327
230
318
320
407
344
389
363
260
342
295
297
341
406
342
345
298
363
300
412
175
280
334
252
298
301
306
338
332
289
228
342
378
325
367
318
264
297
340
277
381
382
342
309
405
395
233
343
277
329
301
390
332
312
341
313
260
288
290
303
365
362
293
404
362
275
315
332
315
304
395
314
325
240
253
166
295
304
308
355
334
341
309
341
332
331
320
326
257
334
363
316
317
347
371
226
332
370
289
334
300
321
335
247
369
369
325
335
352
245
342
295
391
301
326
360
314
417
266
329
361
382
239
361
302
316
256
394
316
281
286
285
308
314
332
290
334
344
357
270
353
374
388
275
349
278
330
369
359
334
272
325
280
357
262
310
318
340
335
316
416
266
235
302
240
306
347
320
400
352
320
297
284
344
310
287
334
331
333
359
332
339
248
301
257
278
379
266
272
353
285
325
307
335
334
324
308
350
303
214
330
321
297
300
345
233
360
379
307
356
286
338
361
270
296
251
370
247
276
312
345
291
265
307
334
344
235
346
330
275
330
308
425
293
285
254
339
360
281
309
323
300
341
336
292
271
296
355
193
374
366
266
349
276
332
276
335
381
331
416
371
370
371
337
305
344
359
325
260
282
389
289
247
380
393
365
201
252
340
341
282
373
322
391
370
331
294
418
377
350
299
358
357
318
320
346
323
311
226
258
351
266
315
304
316
330
283
320
326
352
320
240
387
311
393
283
295
428
257
323
322
347
281
309
292
251
316
323
290
321
277
330
305
339
349
303
380
316
337
278
364
247
311
337
352
352
359
292
254
308
285
319
268
385
310
311
346
254
361
364
319
382
360
263
259
331
326
320
305
346
338
370
333
292
234
336
363
365
311
386
283
338
274
294
221
291
346
377
311
355
264
331
310
344
274
313
367
320
384
239
253
352
299
306
352
253
270
326
343
270
317
320
357
401
341
325
321
305
227
334
380
354
280
346
348
302
394
254
282
358
348
219
277
301
346
327
312
330
312
279
244
295
272
331
289
318
223
255
366
372
279
323
379
330
273
285
246
341
355
267
311
293
282
299
363
338
350
385
255
256
394
311
431
328
293
264
269
335
308
223
380
335
382
278
409
359
316
303
319
327
412
371
251
309
301
297
275
317
308
357
321
299
278
363
342
325
260
287
323
332
278
386
288
329
336
340
360
341
283
355
354
298
257
394
304
336
253
364
338
266
392
269
324
334
284
346
322
375
344
364
262
310
261
334
342
274
254
287
379
253
304
250
318
355
251
353
262
315
285
374
361
282
282
337
334
297
386
192
400
312
315
311
360
269
297
342
329
283
273
372
293
236
288
419
249
231
348
300
325
250
317
339
323
297
325
317
359
364
301
309
330
275
320
218
301
284
325
311
380
299
296
262
298
314
303
299
237
327
391
321
314
352
316
325
305
228
401
365
310
339
289
336
312
201
339
346
274
280
252
282
345
367
323
390
392
296
316
295
301
339
322
340
242
324
341
348
353
281
338
356
305
386
361
298
365
327
338
358
275
288
323
272
298
326
285
353
299
359
354
333
344
269
405
358
328
337
339
281
331
353
313
387
353
336
275
249
289
296
317
323
407
305
308
345
351
239
259
386
281
350
276
332
267
245
337
311
232
384
328
362
338
260
285
262
357
210
304
239
209
395
337
290
250
354
350
302
334
399
333
242
321
334
286
286
315
326
304
366
387
360
314
274
352
237
304
341
325
354
366
334
351
324
307
351
325
354
247
322
296
274
434
313
358
382
321
273
358
301
360
394
269
292
268
306
276
283
264
328
310
298
298
381
337
251
375
309
326
330
252
331
344
362
429
188
352
333
341
315
310
369
233
340
263
259
265
284
264
319
298
276
345
322
321
317
315
375
367
325
410
289
274
363
330
300
293
378
260
270
329
246
379
382
272
326
337
273
263
334
315
253
325
289
381
313
294
256
320
290
314
347
365
301
257
283
320
351
253
361
413
347
345
331
347
301
356
291
310
251
251
341
165
314
337
325
317
295
401
308
337
348
347
369
348
341
287
356
309
344
334
347
280
344
321
327
269
330
361
335
330
384
327
340
345
298
315
324
253
273
347
364
332
335
316
385
323
289
293
367
369
373
422
282
294
405
330
283
273
302
341
312
243
353
350
299
331
310
239
385
341
352
289
242
322
295
287
314
383
331
312
308
307
316
310
240
306
289
245
275
277
387
347
342
333
262
378
349
386
254
318
286
270
292
307
253
379
262
351
331
269
307
372
345
376
313
364
272
307
331
294
299
295
333
360
281
259
337
309
257
412
355
337
397
310
310
384
338
282
354
344
283
377
326
301
273
318
230
286
267
339
323
282
319
293
392
304
259
290
314
311
227
238
320
355
250
310
310
322
372
336
326
245
257
284
320
290
248
255
217
322
350
333
371
370
387
339
368
337
325
354
336
389
322
307
356
270
340
280
347
358
300
261
311
199
398
355
402
433
305
280
293
353
316
378
354
395
271
308
308
250
424
400
292
316
334
306
353
322
426
312
333
301
348
292
339
328
276
318
320
332
294
345
285
207
319
308
395
388
284
344
371
384
333
368
373
344
322
390
303
262
372
302
361
294
351
351
274
314
295
320
271
340
353
338
340
310
328
298
247
277
261
363
311
359
310
304
276
357
310
255
250
233
297
377
276
318
313
341
309
374
325
371
363
355
283
295
241
345
347
297
295
321
351
374
294
284
330
316
265
347
340
280
357
347
339
304
323
189
326
276
299
338
325
335
278
364
353
353
383
328
393
421
282
290
255
361
324
394
303
323
327
294
226
369
351
321
264
306
397
269
318
383
274
298
355
254
323
285
297
367
327
331
304
241
312
338
251
382
386
352
299
330
343
303
247
362
323
325
369
328
294
310
390
315
354
330
325
301
347
340
304
382
363
350
319
372
285
286
263
293
306
293
266
362
387
298
312
244
312
282
303
304
280
221
318
340
289
346
318
275
309
378
373
327
250
283
315
215
266
362
244
378
370
331
267
325
313
245
323
398
284
335
356
265
321
359
329
253
252
301
302
270
333
295
284
300
320
343
313
314
346
320
282
330
262
257
291
306
302
310
303
354
364
350
334
357
262
308
312
353
311
295
323
219
378
344
286
424
344
269
332
370
212
272
344
304
369
343
331
182
349
323
427
299
367
362
272
286
318
325
345
282
354
320
254
284
382
292
265
301
387
322
399
356
310
274
356
314
242
318
333
317
339
338
290
212
316
325
315
220
277
242
290
354
272
333
382
249
404
301
288
344
314
309
405
301
341
421
240
289
317
314
348
334
319
304
331
278
409
326
297
321
321
401
356
270
341
274
379
363
363
309
327
362
379
313
310
350
319
326
343
261
327
291
261
296
242
258
318
308
340
262
305
319
248
285
331
346
275
330
300
282
311
269
284
294
318
291
373
336
331
303
303
250
306
341
299
368
319
367
328
348
284
272
435
404
302
337
279
333
269
362
355
302
326
272
352
343
301
341
235
341
309
312
400
346
373
330
395
258
382
322
281
268
386
321
258
308
333
274
364
330
326
277
375
292
327
302
247
290
329
312
371
345
292
252
307
309
273
322
350
363
304
269
328
278
283
297
303
338
411
211
327
284
390
370
288
289
315
314
365
339
304
244
329
354
372
242
384
234
292
355
278
309
433
325
339
310
375
360
326
370
328
286
343
213
353
343
314
247
326
383
266
298
345
334
363
330
278
269
352
251
280
401
348
245
368
252
359
212
381
318
293
286
308
410
401
304
312
326
281
252
304
280
275
295
363
380
331
357
381
289
276
289
352
289
393
291
316
292
305
398
295
374
306
370
359
324
279
326
361
209
281
309
315
320
288
373
324
344
264
320
290
291
320
357
301
310
285
324
223
398
435
264
285
278
315
330
371
376
236
337
300
321
273
357
365
242
212
402
320
345
422
412
268
338
342
268
274
354
284
364
328
323
282
340
210
332
335
316
368
337
336
297
341
332
361
290
315
370
394
298
318
343
328
265
375
313
265
359
373
365
323
268
276
309
308
311
278
314
288
269
262
303
276
306
312
355
284
275
276
272
330
363
273
295
297
312
374
280
323
404
363
294
274
372
297
302
314
313
353
387
288
305
379
361
242
285
314
268
233
308
284
298
404
232
391
278
312
304
364
341
407
351
377
259
377
349
260
348
357
287
254
319
315
306
364
338
351
404
324
287
308
327
272
333
356
245
371
265
344
302
277
406
245
380
312
247
316
289
310
333
328
310
343
314
363
357
269
204
308
286
250
312
310
228
342
225
270
343
290
385
370
309
285
232
320
350
287
375
292
323
418
284
316
333
328
280
278
327
322
330
254
303
213
292
328
294
339
294
371
243
313
266
221
192
354
295
397
341
353
337
390
258
359
322
319
387
340
283
306
292
378
182
282
307
312
287
375
332
318
372
282
351
322
397
319
171
394
263
332
317
288
346
360
244
258
275
381
296
286
347
368
397
368
283
393
298
297
279
287
311
319
340
328
342
321
251
311
347
252
274
287
288
291
307
304
365
366
375
361
396
340
318
417
339
338
315
277
353
313
306
320
315
246
286
353
368
244
279
327
327
285
319
253
244
266
270
269
291
355
281
358
358
252
259
355
226
310
333
252
384
332
343
288
341
259
293
320
315
289
347
369
299
347
296
292
361
400
315
398
310
351
362
273
369
348
238
289
321
235
314
370
291
287
347
357
295
305
347
322
315
222
265
375
349
277
337
286
349
289
310
321
284
285
281
370
295
307
345
311
228
354
238
328
339
356
347
273
402
323
336
268
317
326
268
338
335
264
262
303
382
244
329
345
329
234
274
281
358
265
274
262
325
342
274
292
270
300
311
251
293
295
354
345
313
356
335
359
247
320
389
281
359
294
333
368
313
408
301
240
306
326
307
302
314
334
394
302
397
368
303
326
399
301
325
262
347
277
400
224
241
326
337
357
348
299
323
329
252
356
218
350
406
371
380
307
282
268
301
306
289
327
328
310
346
364
298
254
276
362
373
313
356
263
350
300
315
398
325
278
276
250
292
301
312
251
381
335
364
351
349
404
404
275
335
304
354
265
323
359
296
328
313
316
220
309
313
385
333
272
289
326
345
339
306
252
223
398
323
262
324
301
308
363
398
331
379
417
280
278
290
308
322
286
352
375
297
232
333
296
307
367
248
311
346
285
265
409
313
357
333
287
286
306
267
245
447
370
355
324
323
406
326
246
304
334
243
397
330
300
348
307
334
242
265
364
334
299
280
351
316
294
335
314
264
420
306
312
327
329
307
369
313
385
309
265
334
352
248
338
287
339
336
347
297
305
349
310
393
327
332
321
303
351
335
373
321
294
356
205
319
280
303
296
426
369
275
267
378
306
288
301
332
302
271
338
353
362
280
176
348
374
325
295
277
293
294
308
418
337
336
299
218
244
349
290
292
316
287
305
356
290
258
268
297
342
325
329
287
404
396
301
376
282
285
271
306
291
309
297
356
271
319
326
202
307
291
354
358
367
274
286
356
400
344
390
339
383
385
337
277
454
366
328
342
298
322
280
335
319
318
309
327
344
306
333
398
343
261
275
293
364
283
328
301
355
295
348
250
372
327
336
309
366
416
285
330
257
322
316
368
374
299
268
373
329
348
277
329
329
372
287
245
285
368
278
308
253
363
291
292
313
275
208
337
314
317
202
364
284
261
288
201
410
340
268
302
221
226
368
241
298
348
351
318
288
312
344
331
425
391
297
428
327
287
309
343
282
313
369
337
265
284
293
290
323
404
332
329
299
348
299
316
412
316
277
373
342
243
379
296
276
290
300
308
294
300
251
189
339
393
332
348
386
303
301
370
303
289
346
340
329
240
247
263
350
296
254
296
344
346
313
263
310
214
336
293
417
410
297
313
331
341
372
355
298
337
280
337
352
320
275
309
289
382
321
322
287
328
305
278
312
264
398
307
319
328
407
402
311
315
289
347
344
275
309
286
333
319
289
283
290
299
304
296
383
321
347
341
268
314
269
324
307
372
318
397
269
261
318
391
304
366
350
304
321
316
376
316
281
339
342
271
351
390
318
345
306
337
330
285
346
269
351
258
333
264
325
267
340
333
326
393
306
316
340
270
242
335
348
337
303
310
279
302
358
264
279
363
371
285
323
341
284
276
424
331
386
283
280
344
279
310
307
279
333
232
244
305
406
388
263
261
272
330
368
346
273
350
364
224
277
317
277
403
361
273
427
345
317
322
339
366
266
237
314
326
292
338
272
293
322
349
363
405
250
317
260
326
254
331
175
355
326
339
255
361
361
250
332
328
317
376
286
364
398
286
330
379
398
300
390
389
370
297
260
290
364
327
340
360
314
290
287
376
347
334
321
341
362
262
293
258
310
224
327
337
414
318
306
362
397
336
372
332
393
296
338
336
280
315
345
277
318
257
311
364
273
324
249
307
386
284
359
285
339
356
309
305
317
340
305
361
297
360
208
287
300
308
341
276
314
323
379
349
256
271
375
297
341
281
314
394
291
283
327
338
269
270
315
251
322
321
321
400
267
297
327
318
223
340
297
329
256
334
363
359
255
333
325
309
345
293
335
384
259
352
294
356
311
292
239
302
292
322
319
350
371
348
317
327
321
349
261
348
294
254
265
382
336
363
262
328
282
282
282
271
258
380
348
320
300
246
297
286
328
271
302
285
301
380
219
296
333
271
330
283
317
359
317
321
385
404
258
314
257
284
363
252
268
367
298
370
340
254
285
325
401
244
330
296
330
310
315
270
277
259
302
308
288
363
373
408
354
266
294
380
341
278
239
253
291
328
355
372
266
306
303
318
361
399
297
316
266
300
278
266
318
259
310
345
422
346
335
391
341
375
375
308
316
284
342
288
393
192
347
327
320
285
295
385
280
282
381
325
347
292
341
317
333
277
361
279
360
249
273
368
319
362
272
317
289
357
323
321
260
354
337
343
376
289
294
376
318
203
348
261
222
324
392
276
327
333
316
275
301
259
229
396
309
296
285
320
321
288
316
333
278
269
356
336
234
311
256
236
350
309
289
366
322
370
281
316
320
274
341
329
320
330
323
275
274
283
394
321
422
279
425
315
317
188
306
295
324
301
379
354
337
355
263
350
391
350
350
272
260
349
365
347
250
330
320
256
400
245
339
329
319
308
342
331
302
362
349
343
271
312
391
341
290
300
300
284
288
342
350
262
242
364
267
329
352
310
305
367
322
316
338
314
248
269
294
276
298
309
243
328
305
403
344
336
356
309
341
282
355
348
239
253
307
297
354
364
314
307
249
327
309
309
298
309
392
276
241
345
271
228
306
367
327
336
266
326
335
375
288
395
345
315
298
332
261
367
291
368
399
294
347
227
329
338
322
267
250
302
321
355
331
281
223
266
368
294
334
257
338
326
314
291
292
299
331
237
275
313
286
284
304
322
262
385
389
357
311
354
314
370
289
246
308
260
239
307
321
296
384
266
278
382
279
307
269
332
306
319
361
247
358
261
354
299
269
319
346
333
258
295
312
318
344
195
263
269
379
283
282
394
263
194
297
306
340
394
348
398
389
338
188
333
312
337
275
312
357
324
406
332
404
297
321
365
268
288
289
320
351
324
325
348
245
283
296
340
391
421
321
318
349
315
311
283
355
399
292
319
362
352
263
333
303
266
300
313
296
365
315
311
375
298
255
350
384
356
392
346
380
371
277
251
377
348
268
362
371
223
273
362
250
322
321
333
304
328
260
388
295
295
352
344
304
284
297
311
271
315
385
344
353
273
331
260
289
324
400
263
304
337
298
304
279
365
292
287
343
225
354
269
300
290
337
398
293
240
244
345
373
393
351
342
355
317
345
358
311
306
281
348
210
300
403
365
328
312
417
287
343
272
316
320
356
308
252
326
334
324
366
331
339
294
227
299
335
361
311
260
352
322
297
245
382
304
296
255
311
259
371
315
233
364
278
277
275
239
302
317
248
329
362
326
298
305
284
260
305
294
327
232
283
226
337
285
323
354
315
350
257
343
330
352
328
292
331
276
288
315
300
342
342
311
346
295
390
292
313
325
292
318
325
335
325
318
361
317
320
378
241
318
314
231
380
273
323
391
270
255
266
274
342
375
297
340
313
294
329
348
332
307
329
378
335
342
280
365
217
333
314
373
317
313
375
364
338
266
363
339
284
336
362
238
345
302
332
277
283
365
322
309
300
257
304
342
323
333
300
334
272
303
334
217
379
223
313
311
252
284
420
288
342
302
270
346
231
261
281
255
318
348
326
341
250
305
337
343
296
257
373
373
333
399
337
378
211
465
276
310
398
300
330
326
270
239
236
330
265
374
263
323
310
359
353
302
282
296
381
323
303
351
340
370
392
346
306
322
403
358
317
376
384
311
310
235
299
344
305
308
277
344
303
351
343
372
337
298
340
339
303
342
291
319
259
358
297
302
321
332
370
323
305
360
242
276
311
339
320
267
263
356
312
377
334
279
354
335
309
289
276
273
262
303
393
380
294
246
275
349
319
375
339
356
293
350
314
321
290
242
248
318
343
323
348
267
323
404
294
272
334
321
277
230
276
353
325
307
291
291
322
280
303
318
337
334
293
261
325
334
361
235
309
322
222
253
314
307
321
241
338
280
304
282
307
279
302
299
406
311
327
350
247
343
396
283
432
292
394
354
239
297
326
303
330
397
339
317
293
261
316
264
223
308
341
284
261
366
257
308
338
410
391
334
253
305
340
248
413
330
285
259
244
367
333
349
328
282
340
355
381
298
331
343
351
327
350
264
336
252
285
343
300
197
352
251
406
303
239
327
303
340
326
293
352
274
235
277
377
287
197
284
272
351
298
334
322
307
393
368
275
375
290
304
282
350
311
254
319
318
333
340
275
250
276
262
312
394
361
240
315
193
308
310
314
341
308
255
306
317
306
290
339
395
347
310
272
317
318
337
334
311
312
378
408
266
398
331
305
273
301
299
398
310
366
294
397
327
320
355
285
327
298
355
328
259
346
279
281
337
301
302
362
332
296
296
267
305
319
320
341
285
359
308
387
299
251
334
300
258
235
260
303
404
400
346
278
291
207
251
336
276
263
323
260
303
281
346
310
204
334
343
282
402
282
285
348
313
225
217
313
303
305
307
364
301
313
251
374
298
223
327
322
342
398
354
326
353
317
351
326
357
259
327
289
378
311
336
279
374
314
339
294
308
265
283
314
298
263
388
285
365
345
393
292
274
289
305
314
294
321
292
341
213
333
256
224
276
258
340
321
408
255
278
323
365
298
271
209
366
290
286
287
275
308
315
260
387
284
387
304
320
318
383
340
320
360
216
246
344
359
305
320
303
311
330
334
299
351
270
361
349
254
284
318
335
320
349
338
229
328
305
301
297
328
326
369
349
348
243
270
319
315
304
295
299
270
314
290
355
332
383
336
264
341
294
275
344
336
285
345
368
288
330
288
275
255
299
318
285
333
244
365
420
265
375
347
300
350
325
418
371
240
304
272
213
308
326
319
295
366
265
319
281
249
309
367
315
315
311
354
376
328
318
321
340
333
317
262
260
384
298
249
387
319
250
241
311
366
327
311
294
346
382
319
245
332
293
259
312
393
295
340
319
419
277
281
384
320
322
338
299
346
378
288
316
263
388
352
220
280
304
298
295
332
296
265
349
301
335
247
342
348
256
326
324
318
337
345
376
308
323
323
261
309
318
254
232
262
417
332
358
268
286
336
371
305
385
335
306
359
253
285
243
298
248
359
371
350
238
326
431
231
367
324
334
276
355
292
335
354
303
348
286
234
411
303
310
264
287
392
327
268
257
286
315
248
209
337
253
295
306
303
380
264
336
338
332
331
302
323
251
302
302
329
334
279
290
331
367
321
313
328
363
346
377
356
369
267
355
246
392
384
294
275
226
299
378
289
233
348
302
328
325
310
391
360
447
331
404
368
207
291
371
289
364
279
283
277
307
298
338
370
342
276
368
296
280
242
241
321
384
349
372
346
270
351
388
323
411
342
352
245
292
332
350
314
323
232
223
318
290
311
339
331
328
297
335
439
385
427
293
327
314
373
378
270
267
307
381
351
285
306
339
282
375
264
354
301
335
324
321
343
302
246
324
364
288
354
368
360
304
273
291
311
349
304
290
321
361
325
242
336
348
332
372
247
291
306
346
278
256
254
281
276
296
284
238
307
381
301
340
291
374
299
279
313
316
213
294
384
300
252
349
308
330
425
348
233
355
312
404
306
341
376
353
293
259
326
385
260
243
334
267
315
271
406
305
356
202
318
300
422
360
327
302
336
287
303
315
283
315
264
235
409
382
373
369
361
258
301
250
326
260
328
403
346
357
357
340
261
364
298
341
314
427
309
190
334
376
291
368
277
247
315
301
385
317
348
224
441
326
301
330
304
298
394
324
256
280
355
305
281
359
335
261
245
349
253
341
395
399
223
340
370
258
321
321
342
333
341
320
238
428
249
293
389
265
308
348
247
304
290
296
384
333
308
331
356
343
325
262
329
283
310
348
281
291
345
366
257
340
343
321
300
327
211
300
330
292
274
338
284
312
308
252
298
321
246
270
340
325
313
353
325
339
359
383
334
304
325
330
277
366
344
303
355
305
313
388
313
357
335
214
347
251
311
285
255
314
311
232
233
306
290
349
369
286
319
318
421
277
391
288
293
341
361
261
313
378
277
312
271
434
338
338
295
280
355
354
261
321
359
354
294
342
305
324
341
296
243
270
331
313
311
334
311
378
282
202
340
359
336
311
385
302
370
326
329
253
318
294
346
321
286
308
254
209
363
337
304
315
263
338
277
346
373
331
335
304
321
334
316
283
384
312
318
369
316
283
336
305
257
279
301
289
363
343
353
284
356
309
365
312
310
252
358
264
291
315
248
269
330
311
294
268
309
320
335
266
411
237
380
296
341
343
264
326
300
350
296
300
383
346
398
361
333
282
345
294
318
299
356
330
291
281
316
284
361
308
280
294
301
316
303
293
440
338
332
320
249
351
403
344
293
346
255
321
321
306
347
370
318
321
312
373
356
364
301
332
326
344
338
351
352
295
353
325
330
327
312
311
320
225
352
241
324
321
292
292
315
315
379
405
290
337
288
290
364
315
337
326
299
264
368
380
361
359
334
236
378
284
369
305
312
304
297
313
298
191
300
300
342
312
428
394
314
296
302
241
313
232
382
358
294
320
316
316
351
397
294
304
348
333
356
304
337
322
408
329
421
309
284
385
334
324
369
279
351
288
272
389
305
360
328
315
353
377
256
328
354
356
278
370
368
297
315
376
288
369
367
298
337
306
328
310
397
317
266
355
319
345
298
329
353
216
280
329
303
237
333
411
328
250
366
329
370
280
242
244
341
277
265
261
306
283
304
358
286
371
400
281
302
302
320
294
342
330
328
356
273
276
343
392
388
287
270
320
318
241
351
308
359
311
310
422
325
334
349
291
313
277
291
325
334
288
337
248
348
244
336
321
304
293
305
320
254
245
353
349
390
308
402
268
405
299
299
311
247
329
305
356
361
325
322
302
249
402
271
353
274
226
318
249
229
314
317
275
296
269
371
263
304
346
208
275
404
286
345
339
342
314
296
338
359
247
312
301
365
336
361
369
387
305
288
314
381
396
358
383
289
297
293
304
293
309
293
352
348
332
299
397
349
306
363
354
330
404
318
297
312
257
295
345
344
343
238
296
336
385
268
352
363
246
313
340
265
328
302
361
343
277
298
282
336
344
255
251
291
384
365
346
311
247
341
324
257
363
226
310
329
296
262
299
342
386
321
355
309
268
312
310
261
306
332
368
372
350
304
309
282
283
262
332
286
344
396
333
379
371
350
384
384
357
312
390
325
393
346
279
318
374
365
270
365
367
366
262
308
327
315
378
337
325
279
353
301
271
332
382
347
265
369
265
266
371
332
424
306
306
299
267
363
359
301
330
341
367
346
263
346
353
392
347
290
323
323
239
337
262
297
307
307
304
353
331
296
352
387
291
345
365
266
355
263
341
305
347
242
358
296
271
375
336
310
256
337
316
307
302
365
349
280
326
329
343
398
301
321
334
396
389
305
340
352
318
362
315
239
279
332
306
335
289
293
364
279
338
305
378
326
393
408
388
353
282
197
315
311
357
315
357
302
364
308
284
287
342
333
285
357
392
396
308
275
273
387
313
315
261
346
252
187
297
284
315
343
287
259
270
331
301
376
233
264
304
342
363
304
417
332
328
261
314
295
276
328
301
355
417
318
215
283
265
319
334
308
306
342
340
281
308
372
302
249
319
361
295
278
361
376
311
368
259
284
334
359
263
282
298
289
395
295
278
338
229
230
312
393
294
288
338
322
309
314
171
266
315
329
271
291
328
289
219
394
262
356
320
327
337
273
326
311
319
316
278
362
325
359
382
336
343
281
394
342
322
289
301
285
323
297
369
324
325
285
246
366
262
353
407
324
339
309
276
296
364
295
331
348
334
286
276
303
338
307
360
290
330
342
337
365
246
306
340
289
206
240
311
214
338
357
289
313
318
312
379
218
373
319
288
323
337
257
287
360
296
321
317
276
266
296
273
322
348
227
287
348
298
314
201
369
359
283
235
280
327
331
250
338
252
255
352
252
358
342
301
395
300
308
369
308
260
204
322
280
304
285
267
292
354
337
326
349
349
267
245
290
364
317
334
314
349
235
273
342
323
315
332
312
306
257
334
264
261
336
293
260
315
264
274
244
307
267
268
385
325
238
323
376
322
335
288
316
248
353
314
324
370
276
352
228
333
302
325
369
370
320
321
302
268
304
315
311
338
223
376
250
337
302
265
254
350
287
305
220
331
313
330
195
300
352
363
266
360
309
306
273
265
286
307
323
290
323
324
283
334
261
252
326
356
361
391
232
281
368
377
355
292
337
289
345
353
336
314
301
267
307
281
257
297
330
299
336
326
373
221
309
272
348
327
266
331
366
372
180
336
290
344
326
249
304
339
277
314
300
271
253
139
338
295
272
264
393
323
280
279
299
285
298
353
286
317
252
302
318
352
317
276
327
294
266
325
333
315
384
377
371
358
383
206
307
325
278
287
319
315
277
257
302
302
288
275
381
294
337
367
245
349
265
274
343
263
341
293
272
352
337
291
339
299
352
316
258
277
320
318
293
344
319
336
287
323
351
348
304
284
267
338
432
385
220
296
276
302
320
295
356
220
366
395
318
327
367
340
327
275
330
295
295
289
237
269
246
319
311
324
340
271
292
325
338
378
303
329
357
330
345
415
265
360
297
359
311
260
331
337
345
240
352
346
306
424
295
324
253
254
350
367
305
308
335
305
370
340
321
322
288
292
302
312
301
284
365
243
305
348
311
312
311
354
336
295
335
290
352
352
293
315
358
360
262
385
267
369
383
279
327
269
331
343
279
311
343
310
255
334
384
287
198
347
365
336
267
225
243
384
350
255
335
249
314
304
307
341
340
322
364
375
317
408
284
324
294
299
364
328
379
347
251
275
342
372
362
304
319
336
325
367
276
335
279
370
282
276
360
330
219
340
268
345
355
315
278
387
358
373
366
327
305
325
334
348
322
269
308
293
386
311
205
361
317
310
439
286
388
253
290
283
332
215
310
344
295
280
344
215
269
282
319
286
262
380
339
397
307
284
300
266
324
354
344
380
206
351
233
339
339
313
373
327
273
217
375
298
292
293
366
298
332
288
373
374
326
352
329
302
217
293
288
257
401
290
348
356
362
308
410
234
366
335
267
287
266
352
408
359
297
368
290
338
301
370
184
326
302
297
222
350
255
276
267
316
367
311
353
237
327
334
295
358
334
350
322
329
254
289
305
332
364
368
317
191
260
385
271
326
324
282
284
283
305
351
312
323
300
248
255
328
362
349
343
298
323
381
273
331
242
306
313
376
344
327
362
352
346
216
355
316
261
326
358
292
326
298
289
318
340
324
281
423
328
315
304
361
262
378
305
240
320
307
302
370
349
330
259
280
261
273
290
247
313
271
357
341
336
240
222
295
377
304
342
334
257
290
202
318
366
381
301
289
320
282
267
248
303
347
286
323
295
287
231
262
281
285
308
318
372
404
322
386
358
291
382
379
345
326
202
311
402
304
319
333
243
313
331
254
344
231
316
273
297
340
263
215
238
281
358
273
264
365
305
307
324
349
305
388
322
296
349
301
340
331
301
346
250
332
289
384
281
244
304
318
403
303
286
306
363
354
276
316
383
326
291
237
269
380
333
361
372
315
396
304
347
321
319
317
369
266
282
238
230
256
358
345
377
261
348
302
366
343
267
351
374
227
317
305
272
311
351
385
343
365
357
323
311
385
324
274
294
383
432
295
405
365
262
221
339
410
334
292
275
353
244
290
371
325
280
340
281
350
385
324
295
314
321
270
328
360
264
307
331
370
403
316
291
318
390
349
247
273
327
317
295
289
216
220
235
341
290
361
256
376
282
240
253
279
372
283
324
363
260
329
299
258
277
341
352
365
337
290
263
351
286
319
368
343
301
401
274
307
303
319
243
358
282
362
313
266
289
362
291
305
290
401
346
414
296
316
268
304
292
323
372
250
365
391
327
368
306
347
276
278
318
402
404
386
375
259
254
317
367
307
312
326
370
334
335
360
324
292
305
358
379
276
329
281
283
279
261
286
352
304
274
289
285
193
346
339
263
293
391
341
353
372
406
325
257
281
195
225
295
328
280
232
348
376
306
376
316
312
304
313
318
313
379
313
361
342
272
373
310
335
390
324
363
276
267
343
345
407
316
190
328
246
349
286
314
406
307
349
260
346
324
324
325
287
342
285
296
336
259
295
299
336
270
314
250
287
304
251
312
320
312
315
300
272
234
323
281
321
325
347
319
235
385
370
309
313
333
283
320
250
318
357
307
271
371
322
262
302
355
251
332
321
326
315
381
344
281
313
312
277
322
303
318
252
370
287
329
338
259
300
339
326
332
362
386
304
271
379
356
283
391
271
390
388
249
364
387
334
354
316
297
326
348
396
282
317
351
337
436
332
319
388
309
272
371
360
393
325
299
239
239
322
313
336
285
285
364
291
225
385
347
373
292
332
310
361
325
302
372
327
334
310
390
367
320
328
356
346
315
342
367
318
314
306
255
355
332
239
320
354
302
248
347
334
299
369
281
328
348
238
348
346
281
307
380
264
316
249
356
278
283
263
308
346
363
306
261
306
298
372
218
236
249
315
366
277
375
326
378
371
217
273
350
257
295
201
281
297
298
328
360
329
343
254
304
334
321
246
329
370
293
369
287
393
206
352
358
307
343
385
298
337
297
364
300
362
309
286
386
345
276
372
382
264
338
380
340
267
325
342
266
267
273
312
324
262
250
249
401
255
294
313
274
334
269
404
263
342
269
263
314
300
305
340
326
381
335
249
275
302
372
297
334
299
310
350
320
203
242
280
366
253
280
288
397
406
273
348
317
249
256
338
379
363
325
270
338
333
335
335
310
314
377
380
255
391
345
281
238
320
372
302
375
336
292
319
326
337
325
349
293
264
310
345
240
284
278
333
347
331
309
304
209
289
299
344
275
326
247
318
305
351
335
303
384
342
364
339
285
299
351
275
356
327
289
379
323
416
317
307
318
304
311
301
310
334
319
288
336
348
343
318
353
213
312
303
239
385
383
364
241
308
330
161
425
277
257
365
384
329
281
311
332
317
269
297
375
292
329
295
251
418
316
241
346
386
291
334
392
311
295
354
379
345
281
302
296
368
337
408
329
339
268
305
297
280
254
253
225
328
358
332
299
311
340
244
367
359
267
349
255
281
331
326
262
285
259
248
287
336
371
263
302
264
337
388
369
269
239
312
348
294
353
305
355
275
313
376
301
238
325
357
306
250
309
317
317
247
279
288
273
341
277
315
353
328
360
214
286
308
365
259
346
348
318
353
241
319
361
288
361
224
332
311
288
336
332
304
311
267
317
336
402
311
344
294
295
313
288
316
329
321
300
334
244
321
360
403
303
268
366
375
277
359
375
283
314
327
361
262
253
346
320
363
338
357
315
303
253
300
355
242
251
362
303
294
370
405
263
226
340
245
360
249
298
311
365
313
305
311
318
257
277
279
312
303
303
327
268
270
333
304
348
271
299
251
303
236
322
381
375
364
311
258
342
326
310
358
329
347
337
378
245
367
313
362
376
364
385
327
332
292
281
419
366
404
345
242
332
324
400
319
269
289
333
333
332
352
286
396
373
286
349
326
318
313
363
263
299
281
304
291
282
374
343
380
245
342
304
276
344
319
322
368
280
327
280
192
364
355
282
311
303
299
328
327
214
309
282
308
391
283
380
359
304
267
306
344
337
365
325
280
301
272
306
269
342
307
360
320
285
328
276
326
364
347
229
310
364
281
218
394
329
440
374
260
232
327
271
335
365
293
316
268
307
385
338
340
306
332
397
330
303
274
357
336
363
264
279
309
337
308
376
324
314
372
249
337
348
326
391
355
264
336
284
372
332
392
296
332
373
304
335
323
307
345
321
412
324
332
310
327
362
316
356
330
337
348
352
324
302
385
235
312
255
263
339
267
324
330
289
278
349
326
276
387
331
328
284
292
359
293
280
363
286
270
297
262
290
341
238
323
289
300
327
346
333
286
411
356
319
353
372
321
319
260
309
305
252
367
361
319
318
357
274
296
334
295
337
365
279
367
416
300
306
308
322
372
296
265
374
272
329
354
311
377
338
320
296
318
269
273
355
319
386
270
287
343
220
349
315
306
354
266
319
242
343
341
323
350
382
289
353
312
356
317
321
322
285
403
228
343
356
281
254
359
386
308
323
303
291
287
285
329
293
368
352
290
377
363
380
338
211
392
365
321
262
419
372
283
387
364
404
259
422
369
363
337
313
306
295
281
368
425
227
355
233
282
370
302
335
306
308
377
343
262
292
289
366
297
372
269
246
383
322
325
297
385
252
245
296
308
273
299
244
327
325
335
299
316
337
303
362
341
323
328
366
300
409
360
335
387
284
211
226
254
298
290
396
360
356
343
406
323
382
291
300
328
326
246
306
364
313
362
343
318
274
345
294
322
361
372
379
305
356
290
382
289
373
331
225
353
315
264
283
346
440
349
342
334
191
319
276
356
335
320
300
366
357
315
313
356
416
302
321
438
297
369
313
325
320
264
265
312
320
319
301
365
322
366
380
352
334
254
369
344
282
264
284
307
377
283
295
285
345
354
388
275
380
420
311
302
406
280
423
338
344
347
302
321
310
382
289
156
317
312
364
262
318
267
301
364
307
335
337
325
263
305
271
274
370
338
292
280
315
300
310
319
340
306
350
281
383
358
275
284
281
226
387
252
312
314
292
257
290
355
392
416
375
307
313
271
332
284
301
390
320
360
418
316
313
327
399
232
376
329
284
297
333
318
348
333
303
245
294
325
267
279
359
241
315
350
334
328
272
322
306
318
316
344
288
271
376
312
393
345
368
295
314
336
337
273
333
320
338
291
335
385
357
266
341
375
262
395
232
432
277
320
334
287
413
296
290
365
340
286
321
295
385
243
326
285
296
323
312
281
375
353
394
300
291
238
227
298
213
252
366
421
263
253
279
263
424
301
334
262
325
353
314
374
343
337
322
296
330
352
306
392
348
346
242
368
324
342
303
319
397
267
349
330
377
274
299
324
366
350
310
338
291
281
381
347
258
242
366
309
318
323
290
353
343
365
257
409
255
278
225
355
311
240
357
334
374
367
317
314
308
271
288
265
367
303
314
322
339
312
323
263
310
285
328
226
312
350
289
276
375
355
350
335
313
360
362
332
291
356
292
258
312
309
250
260
361
363
318
322
285
383
365
287
316
344
290
165
382
377
388
344
374
302
267
254
259
374
294
332
322
274
371
324
327
375
334
364
359
294
319
368
373
403
357
370
240
227
354
299
263
330
360
361
358
231
341
277
377
283
309
280
208
356
416
292
361
353
322
351
266
321
350
427
304
268
160
215
339
265
331
369
322
294
262
351
262
330
291
380
262
370
296
260
291
265
312
319
389
337
284
336
330
331
321
359
284
282
384
317
179
208
218
294
364
277
386
324
305
273
326
336
331
272
247
300
264
351
295
308
324
276
249
307
370
260
263
257
251
274
263
377
333
324
376
363
309
287
299
329
308
395
278
305
328
272
361
344
321
380
276
334
389
319
219
384
374
265
225
337
215
341
277
319
321
376
384
339
395
339
282
292
293
289
380
289
273
413
224
220
406
324
382
269
312
366
433
233
283
293
317
360
316
292
261
326
349
312
307
299
378
327
312
284
301
241
311
256
308
285
355
366
291
280
324
316
295
240
242
338
263
312
346
312
308
420
319
360
323
334
317
316
382
254
265
347
341
379
294
369
377
344
324
354
253
317
340
343
330
331
337
372
342
329
334
228
277
247
366
354
325
314
279
271
194
331
422
369
326
344
359
349
346
402
339
298
284
321
311
315
260
347
353
397
366
360
342
323
254
363
329
364
317
318
308
314
364
267
285
305
309
284
347
280
337
372
338
353
339
302
317
309
323
294
304
396
343
258
350
349
303
349
243
379
303
383
291
394
396
263
346
324
320
315
318
292
384
323
325
341
281
230
367
291
279
286
317
340
300
309
291
443
393
325
294
306
339
258
301
353
303
323
319
306
316
301
205
344
303
286
279
428
330
209
277
254
352
278
267
292
269
286
340
227
263
336
294
296
333
285
303
366
326
328
310
311
360
282
295
323
338
282
326
286
318
303
314
396
281
353
235
359
333
259
338
272
363
323
317
311
345
354
269
399
285
316
372
299
341
300
310
435
380
341
317
362
308
298
323
296
323
312
319
296
299
412
326
273
264
268
310
342
398
329
317
327
359
270
353
316
329
311
262
358
319
306
388
290
268
311
211
277
266
374
322
273
285
334
284
301
323
376
310
266
253
319
325
391
251
348
356
355
398
327
272
218
364
314
352
382
274
255
329
376
396
399
290
297
334
292
379
317
292
300
342
342
234
287
276
246
328
289
344
345
248
337
266
289
272
285
310
341
239
266
376
369
393
311
308
357
308
365
323
349
238
307
339
267
317
378
287
312
329
218
331
286
379
350
349
248
294
386
235
266
304
306
302
283
283
302
329
383
276
332
345
344
356
324
296
340
335
344
324
294
266
342
317
369
333
336
253
395
291
238
299
259
318
254
367
336
307
322
347
238
377
366
332
294
265
268
395
413
325
361
281
332
378
298
288
289
325
284
387
347
362
301
332
277
317
331
353
329
288
284
257
317
364
363
329
295
352
384
341
246
280
330
385
397
337
355
355
359
288
237
344
368
298
375
322
377
328
226
362
327
379
273
373
397
343
293
310
312
331
366
311
311
271
374
277
328
326
274
367
320
327
261
275
378
338
326
242
338
300
334
285
303
367
327
367
281
306
363
321
425
296
338
319
335
342
313
365
249
340
249
261
316
283
231
324
321
362
329
311
350
323
378
379
387
389
252
367
342
317
313
355
292
304
275
355
300
358
306
294
316
310
365
294
359
381
247
264
446
316
347
322
317
333
292
282
328
266
356
378
404
275
283
265
382
299
367
335
302
362
306
307
298
226
358
325
330
271
298
329
270
290
350
308
338
261
337
319
367
318
365
333
383
323
370
290
306
373
234
293
311
373
338
344
365
383
322
282
349
283
240
394
326
300
298
260
302
304
324
390
335
267
412
325
353
238
335
303
339
305
280
338
307
333
273
213
318
379
329
312
365
354
358
269
290
305
306
300
243
340
301
377
280
336
375
338
319
269
303
250
346
300
288
375
317
256
351
350
338
335
326
269
268
297
305
418
266
350
331
326
330
300
282
266
367
306
350
347
355
336
357
244
328
395
297
321
262
296
336
313
247
334
350
384
315
309
289
351
387
277
353
369
405
328
382
361
319
401
301
254
336
290
363
325
299
334
354
292
279
334
368
393
292
294
366
254
403
318
371
340
329
379
277
332
384
401
247
379
417
229
406
311
259
416
299
416
368
380
291
274
357
347
290
311
280
377
344
344
341
261
363
287
294
330
375
299
323
302
353
281
311
358
254
333
204
407
284
296
339
356
244
382
320
372
320
240
270
336
349
348
299
292
282
337
256
318
320
239
344
340
296
353
262
310
315
254
284
264
290
233
284
285
266
389
279
379
350
250
292
275
343
289
277
337
263
341
261
257
404
319
303
322
361
333
314
333
231
338
342
309
279
414
345
315
393
267
311
318
332
314
325
300
340
282
310
355
248
385
278
354
355
350
385
332
323
349
335
364
305
309
359
242
281
294
303
337
324
304
331
316
282
273
342
336
305
323
271
141
281
319
351
316
253
335
312
364
356
326
262
305
313
310
405
377
301
262
269
309
279
298
292
336
367
323
326
357
336
360
362
371
344
352
345
272
331
322
255
295
261
358
369
293
282
254
318
351
302
290
250
277
291
409
329
306
355
233
284
298
303
296
349
372
369
377
326
360
333
287
359
331
298
280
261
271
320
268
360
312
299
317
289
349
345
240
407
282
343
378
320
258
351
273
308
277
352
345
307
286
258
302
355
289
352
298
283
312
346
275
227
282
300
299
263
333
275
230
245
350
377
304
324
389
314
252
387
293
293
264
367
230
354
337
251
409
285
353
408
353
332
307
259
382
323
408
337
276
262
333
318
345
312
278
297
353
342
392
307
326
316
260
335
346
317
360
362
293
347
344
332
352
316
383
322
239
332
298
400
302
350
305
275
328
362
295
328
323
401
290
329
332
294
403
205
359
265
357
297
252
380
384
313
329
369
241
279
346
310
355
358
296
324
331
349
316
366
364
281
333
352
377
296
330
326
312
357
245
376
308
366
343
314
338
295
366
295
280
339
311
418
364
308
355
290
258
243
391
365
255
392
307
300
371
269
278
379
242
330
315
308
355
250
385
369
321
341
331
279
306
211
307
275
335
314
306
324
327
370
328
291
371
278
350
305
275
315
293
315
366
376
313
360
349
308
277
415
349
375
417
328
292
344
263
292
335
315
284
363
337
266
342
293
294
287
372
272
346
267
277
386
354
322
322
382
317
268
317
335
343
339
352
361
333
288
223
362
298
356
247
319
285
322
243
351
310
305
312
287
346
261
290
315
357
371
325
251
238
290
314
336
345
366
276
413
361
339
348
399
298
343
291
320
355
379
314
316
336
350
377
360
310
293
350
295
315
217
334
323
309
294
321
383
361
309
363
379
386
271
331
295
327
245
265
322
223
266
334
336
271
348
321
377
366
308
306
303
418
368
398
362
373
340
349
302
295
377
270
342
354
195
297
377
350
334
363
297
316
321
293
216
238
331
318
336
226
354
333
282
380
278
366
328
317
302
295
309
273
303
264
254
339
360
300
310
340
266
310
343
318
280
302
207
302
316
381
291
297
371
344
288
252
347
241
303
300
369
296
372
283
271
278
360
305
311
313
291
313
247
355
305
263
420
355
281
301
283
300
236
351
392
339
260
368
256
310
342
362
294
230
349
300
270
265
209
332
311
332
332
395
197
387
346
247
285
345
328
280
312
321
255
286
337
299
281
329
335
355
372
318
284
210
284
239
298
324
304
378
372
259
324
250
259
360
337
342
305
371
362
322
280
347
302
303
314
297
409
372
351
305
396
353
292
298
353
336
254
265
273
343
231
307
307
325
345
243
429
338
359
367
291
273
250
361
333
285
289
378
220
281
300
345
290
389
340
287
313
305
276
308
363
255
218
327
327
308
314
316
354
277
268
356
336
324
319
329
371
388
290
268
323
342
285
375
283
296
280
222
274
311
277
343
364
242
327
309
365
408
270
300
306
331
357
330
367
331
355
376
288
312
357
245
280
249
345
323
285
386
389
293
268
287
290
341
332
293
255
322
302
283
277
335
373
324
330
260
259
302
363
308
323
185
195
294
392
238
364
349
299
323
276
245
393
368
255
304
320
367
277
393
385
280
280
296
261
255
305
349
326
258
333
364
283
331
341
357
376
282
329
389
279
281
352
314
269
377
418
302
388
375
306
329
307
342
331
410
303
310
298
371
344
248
298
334
255
354
281
306
344
316
311
362
268
279
392
337
242
355
355
297
403
257
323
341
294
267
324
286
296
333
190
364
346
286
418
334
307
334
225
361
326
331
346
343
269
248
271
344
321
289
257
332
316
314
366
328
374
266
307
378
250
342
386
294
295
306
311
378
260
281
279
238
299
257
310
331
299
301
274
372
303
279
247
317
307
300
319
266
335
344
271
368
382
377
342
279
336
355
350
314
303
362
314
366
363
328
279
379
370
232
344
299
330
334
312
343
320
276
395
278
299
340
314
341
312
359
297
315
321
342
378
291
342
326
307
380
304
362
384
350
323
284
402
267
312
349
314
331
262
224
318
325
315
313
299
376
355
300
352
262
336
377
407
304
356
304
335
344
327
363
308
266
243
344
299
388
343
281
375
299
279
393
254
392
295
308
364
462
351
413
381
360
312
355
362
304
325
188
310
274
230
280
344
302
284
392
324
243
305
296
375
298
206
283
367
290
277
286
359
386
267
336
348
276
325
361
364
324
250
279
325
355
358
313
309
334
259
342
313
306
259
378
350
329
251
399
359
222
247
302
375
215
298
286
340
289
254
238
247
299
290
357
402
358
251
310
291
358
284
310
276
296
266
311
326
302
382
375
390
327
229
387
233
256
377
290
344
347
307
323
307
304
369
341
318
316
324
256
373
332
327
350
409
377
353
285
408
270
266
263
348
263
391
311
232
308
274
349
374
306
319
341
284
327
243
292
309
299
261
303
293
360
298
368
308
338
426
460
369
356
338
261
364
376
315
319
303
408
324
338
259
316
364
281
360
378
328
235
391
310
272
285
213
392
304
368
386
357
376
334
297
338
307
318
268
278
283
376
461
306
370
307
232
399
323
330
311
304
337
350
244
346
307
273
371
295
283
332
270
317
377
416
345
399
340
335
261
338
370
325
260
303
316
188
345
311
321
340
348
246
336
356
326
345
339
262
364
296
309
241
372
346
273
408
391
343
286
372
220
346
244
285
306
328
263
344
171
267
298
339
316
314
299
341
323
221
356
305
291
305
364
320
345
243
345
319
221
358
329
210
299
287
358
322
304
280
372
354
340
336
267
354
313
229
209
331
373
286
332
304
360
285
386
302
428
243
348
328
289
223
315
323
347
379
259
341
300
268
307
275
350
354
314
268
374
304
336
243
301
312
380
336
297
348
318
323
275
353
344
282
362
292
263
356
281
261
355
342
216
323
258
362
292
322
286
292
292
365
289
356
289
357
333
364
370
270
332
376
395
301
211
295
342
253
331
302
374
366
350
323
304
244
321
381
311
305
324
242
336
302
317
285
314
263
326
316
328
315
315
358
350
322
324
345
318
360
292
303
326
325
247
333
326
338
315
400
292
369
275
300
312
374
351
318
294
374
340
387
310
319
348
295
303
367
294
305
445
307
247
302
331
375
309
284
228
363
352
277
312
381
300
305
301
242
235
273
385
299
264
299
324
277
412
306
393
294
311
292
276
267
351
356
283
330
360
369
320
324
396
279
264
306
343
338
313
390
325
309
408
349
255
377
334
315
328
280
301
369
357
337
285
330
301
390
344
297
296
329
292
355
358
354
221
320
326
295
268
301
324
328
343
318
339
287
396
329
230
325
337
355
380
354
324
257
401
363
254
334
351
280
298
370
335
331
311
308
338
348
261
268
354
274
308
289
168
314
296
307
275
303
342
271
374
306
311
286
300
251
266
322
319
389
364
334
294
365
295
296
324
296
271
358
264
244
287
313
283
336
348
302
236
335
333
357
305
323
277
321
369
261
279
272
318
365
349
274
283
286
312
372
351
315
254
357
379
298
320
308
328
331
344
276
321
286
277
288
402
369
309
345
220
272
313
315
253
314
338
319
348
302
306
335
266
300
323
337
269
342
320
294
286
340
318
295
332
247
294
278
357
369
233
307
289
309
338
361
267
377
322
246
265
306
314
335
301
359
314
319
280
267
287
334
402
374
339
254
343
293
241
344
299
362
325
306
355
267
389
278
354
305
338
272
388
360
357
263
289
374
300
289
306
298
287
316
335
314
356
261
459
275
214
298
276
332
280
308
340
377
299
321
357
365
346
437
327
386
329
334
278
282
292
334
394
302
324
311
343
341
306
314
326
303
344
251
297
308
386
305
328
292
316
332
272
273
265
347
361
238
358
247
241
328
264
364
355
359
316
347
357
277
270
320
342
232
290
267
259
371
349
343
299
324
281
247
378
382
338
311
296
365
278
260
288
347
289
327
350
366
256
309
369
240
255
320
352
365
269
296
304
275
320
362
314
304
328
349
373
382
265
272
270
299
371
338
340
289
329
392
421
375
285
311
317
356
311
280
327
333
346
367
276
315
378
309
341
304
323
300
370
341
355
252
381
340
304
288
378
429
296
336
338
320
329
317
367
365
293
345
297
328
341
351
242
291
399
350
265
337
296
328
361
370
250
366
279
391
348
419
325
273
417
307
339
345
246
361
341
264
302
350
292
365
327
412
244
313
321
299
342
259
253
279
295
324
352
361
339
367
281
308
285
324
329
309
282
318
297
363
349
301
289
319
297
310
275
394
311
282
312
295
331
318
208
335
343
391
370
358
261
332
273
294
273
298
285
357
332
364
229
363
349
314
281
350
330
315
388
353
310
295
261
393
323
234
305
354
361
342
328
352
244
227
321
407
326
296
340
321
323
247
333
271
272
395
366
268
239
275
289
347
341
309
290
278
266
307
219
363
314
337
341
297
335
298
248
340
265
348
323
257
368
232
228
299
376
283
279
353
371
261
313
341
215
346
339
333
278
269
335
375
300
336
303
318
291
343
354
274
333
317
302
290
339
358
339
315
293
344
333
327
329
367
272
310
331
307
263
332
329
295
387
214
363
290
343
316
344
272
393
297
258
332
221
283
285
335
407
334
293
272
288
281
244
336
308
325
293
332
378
275
208
261
321
316
358
347
242
353
256
302
284
284
318
272
314
386
367
344
336
367
302
252
294
240
334
289
248
411
303
297
289
294
291
276
275
301
240
348
376
364
379
356
251
315
356
324
324
162
293
375
362
282
285
253
341
399
310
379
370
317
392
260
419
340
239
306
342
283
334
417
281
375
339
311
373
251
258
272
378
324
329
347
311
330
409
285
264
345
239
285
272
405
360
298
254
294
283
275
284
314
292
369
360
295
293
265
336
243
317
339
345
332
317
255
343
415
266
316
285
249
345
283
321
326
331
355
200
321
386
299
267
266
329
320
240
339
254
326
302
300
237
393
313
260
295
312
257
282
336
281
378
309
299
351
339
328
362
309
264
265
358
341
369
363
378
238
276
297
399
360
356
350
350
286
310
309
301
364
307
300
349
320
319
377
346
307
315
301
371
369
298
291
348
301
372
307
303
315
333
388
319
297
261
315
268
362
252
256
236
254
395
307
361
336
369
314
394
335
348
293
235
399
322
349
368
352
192
273
404
250
284
221
229
242
343
334
366
415
338
280
294
275
263
303
331
301
327
348
373
174
271
368
253
245
351
264
335
268
322
249
319
359
370
289
185
366
330
262
340
344
401
354
273
402
271
306
300
357
249
403
290
313
249
245
313
349
308
269
360
380
308
248
337
384
336
305
344
315
433
308
301
322
286
385
303
250
329
314
349
407
227
345
389
340
296
342
286
342
366
264
340
274
300
337
303
335
327
349
278
354
356
331
312
301
333
315
226
325
255
348
323
330
382
295
303
294
274
310
274
249
365
290
229
314
248
250
277
349
354
296
301
322
279
310
350
360
300
308
328
399
269
337
283
354
376
327
307
374
297
256
333
376
363
400
333
319
409
245
403
279
360
281
303
357
355
338
323
331
366
360
384
309
294
333
397
327
313
317
285
322
350
375
330
311
341
289
269
317
381
306
342
380
348
394
350
264
355
258
421
292
374
277
317
288
351
422
370
299
264
296
310
416
347
396
313
276
154
279
366
402
305
279
339
341
274
292
369
358
366
304
233
347
298
393
343
288
380
378
302
296
338
335
328
308
331
344
314
339
281
217
335
325
359
272
213
303
264
291
354
367
274
334
295
302
353
356
228
224
301
315
345
298
381
352
244
315
301
251
294
355
269
300
333
287
331
315
324
287
357
379
291
279
250
343
339
326
323
391
404
362
298
328
292
375
287
307
383
322
356
202
312
376
296
302
296
301
335
330
326
243
355
314
388
261
309
306
271
276
329
397
351
289
345
312
299
278
237
344
307
318
331
360
319
383
335
300
294
263
338
334
312
340
293
370
229
271
341
266
375
266
317
304
373
333
234
353
281
337
300
308
248
245
260
242
312
343
347
321
247
271
410
286
331
258
447
295
332
342
294
331
341
281
358
361
249
239
325
410
261
360
332
314
289
333
273
383
392
364
349
291
309
269
310
308
361
353
363
365
289
354
332
306
402
291
350
370
274
290
339
295
289
379
317
377
367
303
343
311
281
331
276
344
336
343
336
351
335
252
289
296
270
250
313
337
392
292
337
367
282
336
330
245
282
277
369
315
286
260
324
317
361
399
236
254
278
399
301
295
355
348
342
290
306
273
294
374
304
291
405
319
337
366
360
299
224
376
264
359
355
333
218
310
342
331
301
258
329
379
367
361
281
344
384
305
358
340
256
354
314
361
324
400
321
398
319
351
376
404
358
327
320
374
312
335
344
287
352
281
264
244
454
299
308
365
239
286
338
393
316
317
329
310
279
351
263
303
318
317
272
341
266
342
226
313
353
378
282
295
302
344
197
254
348
360
303
342
327
287
285
343
307
298
323
340
212
401
286
269
311
314
310
275
339
309
315
327
286
340
301
389
338
379
274
326
276
412
310
214
366
348
328
234
264
318
282
392
279
274
291
324
384
247
374
296
315
321
364
275
298
316
239
275
349
330
351
365
394
309
330
280
341
342
308
350
313
286
369
263
330
346
314
340
282
211
324
258
389
344
319
319
314
295
253
413
356
254
300
233
302
294
374
345
342
345
262
329
338
400
309
324
334
327
260
346
324
256
327
306
343
271
302
362
269
317
279
361
316
303
236
412
349
225
321
284
357
294
340
305
323
353
294
317
392
256
311
266
335
275
243
345
376
280
271
283
317
296
187
310
346
311
297
353
354
384
330
308
303
292
277
330
296
332
315
293
270
319
277
322
285
277
305
267
329
343
258
294
366
347
302
383
311
322
365
257
329
329
321
307
413
362
335
353
352
269
288
346
239
349
303
264
337
313
393
246
416
301
361
330
221
361
371
374
274
268
252
364
342
379
311
261
302
342
264
360
300
342
232
243
302
314
244
379
233
376
267
275
366
321
243
315
295
335
302
335
362
278
265
357
329
360
292
319
275
259
323
287
274
309
315
296
347
301
347
402
318
322
372
358
276
360
342
338
340
329
317
358
306
268
349
290
386
413
362
351
294
295
371
370
350
278
285
364
262
366
318
313
218
347
332
371
344
251
244
256
344
312
431
318
341
295
331
316
257
322
397
378
372
327
321
371
338
343
278
292
348
345
331
339
256
279
385
279
253
359
337
285
345
238
296
316
219
267
254
233
292
341
288
274
297
300
269
324
363
349
320
309
281
254
328
273
264
363
260
296
328
278
263
280
228
269
329
289
376
250
330
330
370
260
301
332
330
311
273
272
303
251
290
291
286
397
204
274
323
334
249
278
338
411
297
271
222
327
401
288
352
377
333
159
326
288
287
273
390
319
306
339
286
335
373
357
269
382
303
294
326
289
333
356
393
304
317
293
312
282
399
359
269
291
317
273
328
268
260
336
236
265
280
307
345
265
338
294
262
343
230
297
325
373
298
219
365
303
350
388
300
323
352
255
358
299
359
234
325
353
341
261
375
303
365
347
266
338
280
371
305
339
306
302
393
347
340
304
244
349
227
328
367
277
347
319
328
340
329
355
291
375
302
308
287
355
296
261
328
318
358
300
381
281
335
272
290
324
324
294
390
321
334
333
331
306
339
309
293
354
308
311
265
276
315
340
327
376
227
340
385
277
347
258
336
331
300
401
296
340
300
351
315
393
317
220
256
281
338
338
309
356
245
343
331
321
351
372
322
262
287
283
293
374
333
361
346
359
306
295
337
297
311
356
237
328
284
347
354
298
362
383
394
230
323
258
355
272
267
338
218
357
334
318
290
330
238
361
257
366
235
321
341
371
309
297
385
337
273
343
353
337
325
327
357
393
306
382
332
382
383
313
322
291
394
285
349
364
276
323
333
320
351
314
254
329
320
363
272
315
243
226
179
319
280
257
287
220
283
320
300
384
329
322
298
238
308
357
278
393
261
261
317
355
351
336
236
308
276
278
302
270
413
290
359
283
251
294
326
318
299
328
263
314
260
351
336
314
367
339
414
308
286
363
398
315
315
297
418
334
398
325
223
291
341
316
271
356
330
354
316
278
318
329
315
305
294
319
245
306
324
314
302
304
267
308
334
284
362
330
292
398
327
297
349
344
384
350
407
378
287
294
302
251
339
338
331
298
272
216
365
230
279
264
269
350
323
308
234
329
372
380
290
308
376
388
363
305
368
339
311
302
312
349
446
347
361
262
354
324
307
311
302
327
279
271
354
289
291
325
334
261
277
315
275
275
266
325
313
285
363
383
350
326
353
257
278
342
328
343
240
350
304
301
396
334
334
322
349
355
286
325
383
280
378
297
275
365
386
365
373
338
286
349
314
325
332
316
320
344
254
310
341
309
313
328
360
270
215
378
362
370
337
298
279
355
296
300
309
335
382
381
377
298
403
311
356
328
303
298
373
241
302
225
315
286
347
391
330
278
391
249
330
380
383
307
356
296
287
299
364
288
319
312
326
282
251
286
278
334
300
273
345
367
277
341
252
310
305
292
323
342
312
294
348
302
290
231
254
229
319
308
404
359
355
313
255
373
309
337
205
322
382
369
292
309
338
312
281
423
291
336
276
334
288
315
307
275
351
328
291
365
321
309
305
335
320
218
312
350
319
331
414
318
338
324
234
303
334
320
366
325
264
407
238
378
279
285
311
404
308
266
325
274
347
331
249
337
276
345
345
300
256
289
275
269
345
357
411
373
341
355
205
354
274
269
282
247
359
300
350
278
300
362
308
360
275
430
324
347
380
353
313
291
304
302
334
255
318
355
263
344
314
307
291
284
333
396
289
375
312
312
389
375
267
355
374
293
306
318
348
300
367
257
372
222
299
250
279
378
390
340
346
220
268
299
361
368
307
324
301
353
349
306
313
377
320
279
365
404
362
334
257
292
336
337
377
185
311
305
262
302
302
279
319
332
357
296
293
302
275
269
254
383
357
308
323
342
349
306
356
284
314
305
269
363
345
286
296
369
277
231
244
381
259
229
338
299
303
356
254
277
354
369
250
392
267
297
285
257
273
307
241
401
318
344
261
350
342
300
302
345
284
309
281
288
291
302
328
317
305
300
297
267
269
334
344
428
340
321
349
275
300
336
227
271
339
260
254
303
272
283
266
304
273
345
279
340
265
366
339
376
395
337
258
279
353
302
284
325
282
258
313
281
390
396
381
350
366
297
286
382
351
292
301
348
253
255
278
293
235
346
380
371
292
353
261
271
327
337
364
308
287
300
317
271
364
293
286
364
374
316
351
327
348
301
310
296
329
298
313
327
309
371
300
293
409
282
314
327
277
313
393
271
396
253
330
368
269
340
333
322
311
275
396
306
313
277
276
321
255
332
255
339
369
337
292
347
309
302
309
314
269
326
324
432
321
303
335
326
353
345
294
273
390
390
365
240
361
296
430
321
306
209
293
303
335
327
367
428
317
297
330
307
394
240
373
369
311
244
337
348
317
352
352
404
416
131
339
338
365
324
293
239
295
363
301
276
383
371
265
268
244
346
319
312
262
275
326
327
376
287
320
351
349
298
353
420
362
233
210
331
295
310
350
267
320
259
293
375
305
276
343
348
346
372
258
305
321
367
269
344
372
353
315
315
341
294
352
338
375
242
355
350
295
349
384
351
308
346
396
353
326
342
307
302
297
300
337
310
303
426
312
378
287
348
311
362
264
393
276
316
351
378
325
317
323
233
356
383
271
320
275
304
343
285
293
375
369
286
376
287
319
337
326
328
328
275
274
278
265
313
343
382
387
275
366
380
279
380
321
360
373
330
352
308
303
315
331
430
373
276
375
250
328
307
341
274
333
356
332
295
345
370
394
377
333
281
380
313
356
258
350
347
372
290
297
335
334
358
234
330
254
299
327
351
364
262
355
357
385
330
368
314
333
288
391
326
334
322
334
350
277
369
274
365
263
335
353
318
441
270
297
358
376
317
297
388
194
230
322
332
286
322
400
282
382
240
354
316
266
246
277
306
321
335
311
336
290
385
404
323
335
270
327
321
246
319
260
312
340
271
342
327
202
311
347
279
291
304
325
275
381
323
311
318
322
266
370
385
284
335
317
372
367
407
244
250
240
332
333
296
260
366
333
317
359
234
376
300
291
188
227
383
311
310
280
356
341
320
239
238
277
305
281
273
316
290
321
322
366
340
275
339
199
350
318
329
301
323
323
332
345
313
349
251
341
361
326
291
361
317
335
221
262
373
295
314
339
304
319
293
301
306
231
296
378
333
345
344
284
283
254
374
335
317
303
308
348
364
370
333
276
307
295
345
267
297
306
336
212
361
298
281
341
341
405
283
370
301
303
378
282
359
360
350
253
270
282
355
288
320
331
325
298
285
285
353
311
226
312
403
287
337
279
270
362
328
203
280
314
344
305
329
342
307
230
302
253
291
298
361
361
303
353
354
350
312
335
375
324
321
267
280
377
288
339
286
300
300
348
311
257
340
313
358
281
297
318
229
265
329
330
310
356
265
308
256
307
352
303
242
361
232
191
301
371
255
321
274
303
267
376
291
330
303
343
295
257
363
367
312
350
340
387
276
324
258
362
289
351
317
276
325
334
288
314
336
362
292
342
316
312
287
345
289
377
401
300
349
333
295
281
307
354
271
189
386
322
334
237
266
336
325
265
332
266
329
255
308
307
247
299
269
245
294
260
280
278
293
281
346
314
350
354
328
303
297
326
357
336
315
323
325
319
284
268
297
367
250
317
356
380
409
292
397
353
254
330
364
326
331
241
403
401
336
267
303
286
381
288
268
398
313
330
328
364
300
265
253
350
354
277
227
330
297
319
420
392
384
264
360
298
281
352
320
323
316
229
291
256
360
351
274
311
332
285
337
296
297
280
346
383
320
355
311
393
214
254
365
349
401
307
358
304
336
314
341
207
340
392
384
310
259
222
318
277
310
310
331
327
294
349
346
371
267
324
279
223
233
228
224
343
242
328
354
270
256
237
323
304
346
346
331
305
324
337
356
297
298
324
269
338
323
367
273
371
384
350
345
264
273
309
273
297
301
422
389
372
299
378
369
347
305
308
295
298
288
349
255
358
367
294
359
367
312
342
281
301
295
219
315
292
336
277
268
296
339
221
280
341
249
276
288
278
357
302
299
330
275
288
358
302
320
357
391
270
388
278
303
333
326
343
265
330
278
304
302
314
290
269
301
360
331
353
380
328
363
363
349
260
309
344
348
406
320
263
287
425
252
363
347
345
262
311
352
358
387
309
314
279
324
281
315
353
287
238
350
249
417
328
274
295
339
347
295
354
285
250
336
266
359
295
294
312
329
284
352
351
365
329
300
357
237
370
251
368
342
345
302
214
267
249
341
315
400
321
305
319
298
285
216
305
290
294
329
337
309
346
280
370
331
362
339
310
289
363
319
247
337
205
351
287
373
284
403
304
342
233
337
331
256
358
343
348
373
363
266
389
306
314
337
299
307
341
202
339
222
333
394
448
388
367
369
332
355
296
307
363
288
269
276
245
295
284
248
265
311
320
354
315
296
331
257
227
312
346
362
367
343
325
256
285
379
349
335
279
311
298
343
320
368
314
306
280
368
255
341
370
347
378
304
312
345
287
362
368
297
345
327
325
295
328
316
324
365
324
357
332
319
243
366
340
276
349
334
376
314
367
371
295
257
235
359
299
290
221
314
287
287
322
348
280
343
306
309
351
321
355
340
278
303
328
285
262
340
336
293
265
306
342
293
345
236
339
325
253
334
389
351
343
283
271
456
259
362
329
401
327
333
298
311
356
296
298
278
295
393
333
335
381
359
327
290
314
304
330
311
326
340
312
360
300
350
295
311
299
334
325
338
299
277
329
293
299
335
249
371
326
330
291
331
322
316
300
255
362
284
377
276
368
333
382
436
311
352
240
367
244
373
349
298
337
278
349
313
306
227
327
274
336
333
238
391
294
301
341
343
399
235
312
364
322
371
364
236
343
347
423
326
285
214
333
377
311
406
335
350
304
308
343
343
350
208
259
321
310
332
334
324
306
277
351
253
294
403
322
325
257
308
317
381
262
288
308
397
346
359
359
373
254
392
328
384
321
290
320
282
324
381
244
342
330
250
341
321
351
338
284
248
282
362
263
251
326
326
253
336
362
294
290
248
329
283
225
225
231
291
357
342
365
299
283
434
405
312
216
340
302
332
332
353
335
299
247
281
337
331
267
328
391
285
223
331
282
322
376
366
270
268
340
312
396
393
323
340
356
278
247
391
268
379
323
291
278
361
302
352
387
391
319
324
299
286
344
357
257
341
299
308
270
315
366
349
311
316
294
372
319
391
301
351
287
331
304
347
362
306
280
352
290
340
332
249
297
245
344
340
314
342
310
229
306
288
334
336
355
366
343
372
311
225
309
302
352
347
299
319
303
287
306
405
351
286
280
359
307
316
322
352
354
250
267
336
307
187
300
247
354
323
350
316
325
303
303
303
336
369
238
355
205
271
294
345
268
305
228
324
331
252
299
306
340
292
338
285
327
326
383
303
293
263
304
391
291
260
327
322
355
278
435
413
313
321
300
304
333
358
326
340
284
282
210
354
329
292
308
312
354
283
351
218
377
325
390
367
321
303
308
255
253
322
309
294
323
318
264
396
299
260
308
317
330
367
243
256
298
335
289
362
336
280
321
259
329
381
364
383
368
269
265
303
370
394
358
353
358
372
326
271
327
368
377
343
230
335
348
301
247
353
263
360
291
269
367
343
287
305
271
296
291
342
377
231
371
344
333
360
355
354
361
410
283
376
320
277
272
314
352
299
303
241
303
369
296
301
258
317
263
236
294
395
334
375
338
379
375
224
251
299
379
342
306
388
260
255
330
354
289
286
329
346
292
271
328
297
316
268
329
266
312
276
282
269
339
353
247
345
296
333
234
280
324
344
372
349
343
324
381
296
299
287
275
367
383
372
389
360
353
359
286
365
253
322
308
337
334
330
354
256
334
336
303
397
306
329
359
312
355
330
280
384
377
263
247
339
284
327
363
302
300
305
243
293
283
304
270
324
310
244
336
228
229
333
313
305
302
305
339
367
297
331
371
292
378
317
391
284
380
344
390
308
250
274
288
267
313
385
297
241
309
333
282
350
305
321
382
315
289
387
274
378
291
327
277
337
330
363
352
290
329
348
311
345
365
289
293
276
352
433
340
369
297
317
316
260
308
344
299
296
338
379
332
336
308
309
401
306
306
262
302
258
319
320
340
385
320
300
379
356
314
266
389
328
278
240
295
338
312
286
289
227
311
223
306
316
316
287
328
351
342
311
284
353
365
263
284
323
282
232
271
266
310
345
311
313
307
343
273
334
265
280
352
268
273
347
374
321
360
368
346
327
357
299
330
309
325
364
244
301
327
345
298
332
334
358
343
256
252
290
359
364
323
369
351
330
410
338
351
352
295
267
348
355
289
344
333
336
304
257
288
318
341
268
394
342
343
265
276
315
254
326
270
371
268
445
276
286
273
285
345
295
262
335
375
303
281
336
319
322
392
211
381
380
343
260
326
283
401
392
320
262
265
265
420
330
320
352
268
241
359
322
333
342
299
259
333
303
344
312
288
283
349
278
346
331
288
264
349
271
385
333
353
295
246
347
258
269
353
348
301
275
345
290
271
265
332
413
283
380
280
371
330
348
340
275
361
298
239
278
352
355
277
266
335
300
292
336
371
332
352
380
366
259
349
399
298
337
306
227
398
269
323
334
327
352
270
327
329
401
283
335
328
332
393
353
289
273
269
356
352
326
300
360
319
268
289
285
268
346
330
296
335
267
362
366
283
212
285
308
335
297
392
319
345
348
275
331
393
264
270
257
305
333
280
271
269
297
333
273
301
348
280
342
268
225
338
377
385
281
316
352
373
361
325
345
332
321
377
259
341
364
352
326
315
291
244
267
362
352
305
321
376
365
229
308
347
347
320
296
337
250
337
407
328
302
250
399
276
306
264
353
354
318
303
383
317
284
274
312
298
250
329
281
326
332
347
288
290
254
320
328
336
327
385
373
342
269
325
317
374
354
252
356
295
324
342
350
307
303
275
350
338
326
320
349
247
312
370
341
338
315
298
291
295
253
306
249
347
327
316
262
319
323
238
345
284
335
271
411
292
269
274
249
369
310
366
313
263
385
357
304
249
301
419
233
307
320
324
287
346
356
253
290
358
301
346
378
364
347
326
250
321
319
281
365
378
341
250
306
315
391
264
377
308
374
315
263
370
370
375
387
320
374
313
305
350
330
349
372
327
303
380
331
347
277
303
282
313
323
290
315
295
322
303
342
331
350
393
248
342
316
322
328
337
328
285
290
275
237
332
379
238
331
365
310
213
327
365
296
322
364
277
324
246
319
351
335
363
380
275
367
363
258
296
258
307
335
337
322
302
341
375
336
294
279
303
305
321
253
323
329
319
374
433
268
385
327
293
270
316
360
371
262
348
268
276
350
311
366
301
364
211
242
333
317
315
394
242
343
321
286
311
317
398
333
387
260
233
341
255
336
293
353
338
290
323
339
306
242
424
363
350
313
242
311
342
311
349
310
246
335
284
268
271
263
377
311
390
216
303
195
230
337
324
320
348
252
357
278
332
311
335
441
353
333
324
320
346
295
276
351
363
286
421
262
349
290
420
323
267
243
415
284
322
372
314
336
275
297
293
261
284
259
309
311
282
227
240
303
343
356
251
303
353
365
347
260
318
336
285
290
326
255
317
326
275
312
355
282
308
343
343
343
316
292
312
232
352
234
349
315
307
268
304
377
368
310
332
241
342
356
301
334
367
331
307
366
287
352
378
271
354
355
357
377
369
334
345
329
333
213
286
288
310
183
409
220
324
319
347
272
255
348
327
356
307
357
293
306
237
188
335
257
348
337
344
312
342
362
373
344
317
338
347
356
370
249
321
308
334
317
385
327
294
336
301
324
335
414
297
286
313
296
252
328
365
408
341
382
299
335
321
328
335
307
342
294
250
292
329
296
333
281
254
267
316
304
285
247
348
368
315
286
274
342
326
368
366
378
265
318
320
360
297
339
312
372
261
340
323
317
339
315
374
365
339
399
256
279
406
342
273
367
357
425
285
332
334
291
231
263
295
341
293
261
360
361
376
249
342
292
271
293
272
330
327
343
290
302
356
316
348
410
354
298
335
343
372
360
332
365
350
384
321
376
275
261
274
299
341
333
390
334
331
377
306
380
321
290
350
292
254
346
365
302
396
266
335
329
397
281
264
288
256
404
366
275
327
331
353
205
339
337
339
357
361
331
255
285
334
338
289
302
238
299
307
376
263
341
289
290
210
302
316
323
294
433
279
354
362
316
384
294
194
203
275
309
289
273
373
320
274
326
299
335
317
337
325
412
317
281
349
223
326
378
334
213
353
341
367
289
283
335
330
334
373
399
262
331
359
336
343
384
239
297
260
309
294
308
291
312
303
316
376
301
336
296
309
354
328
273
299
315
327
258
318
265
263
342
324
276
325
347
406
321
406
256
394
337
281
390
338
396
334
340
377
359
244
323
352
364
291
319
322
384
291
274
296
281
250
359
254
312
293
321
314
304
349
274
227
334
353
320
294
340
350
238
369
300
304
265
287
340
306
272
363
281
336
268
334
389
332
257
299
344
329
325
336
366
314
334
300
269
371
327
331
327
292
349
314
294
367
265
246
290
356
268
248
371
285
332
305
214
332
307
284
329
349
339
390
284
300
345
307
318
298
334
241
383
359
346
347
221
304
292
237
372
305
314
279
321
314
261
231
350
393
345
355
375
377
329
285
287
365
301
359
339
261
332
271
301
367
267
285
333
373
363
337
348
294
327
378
343
308
331
385
333
322
338
368
277
296
342
261
353
329
285
337
361
430
310
348
270
320
272
326
282
221
354
260
314
365
280
305
322
319
393
361
239
282
370
389
271
313
375
429
323
324
363
333
297
335
376
356
315
349
254
369
301
283
330
377
336
339
300
359
439
320
346
358
333
325
294
389
388
269
396
370
329
330
361
336
230
264
339
343
299
282
277
377
309
275
401
370
262
252
293
234
281
322
320
257
330
231
209
324
437
286
281
358
315
335
242
312
277
387
325
312
307
286
353
349
305
306
321
339
366
293
296
283
310
345
375
350
316
303
346
260
331
310
275
323
394
298
304
326
314
305
228
285
324
375
326
244
281
287
330
380
328
293
322
328
329
341
254
263
332
334
339
340
352
295
282
364
357
258
345
315
390
322
277
270
355
317
295
259
370
281
302
284
286
375
306
318
332
276
333
201
305
263
339
369
352
399
346
337
345
285
357
361
319
310
313
347
254
301
304
334
254
296
346
342
340
348
305
281
370
333
279
320
284
236
313
285
357
314
334
230
325
413
271
301
352
341
377
391
411
304
296
359
428
220
369
284
215
215
388
283
393
316
231
417
296
354
316
290
321
330
345
294
294
403
357
304
328
314
421
354
319
312
304
287
369
366
385
326
350
359
255
249
284
392
331
324
328
300
354
338
344
308
323
286
302
334
362
222
342
288
373
338
351
353
370
310
384
317
302
313
348
222
357
304
313
363
307
265
348
337
331
336
340
315
371
359
301
257
314
316
326
343
366
396
360
402
298
343
292
346
339
296
278
333
336
230
242
276
345
319
340
285
296
308
255
305
321
362
351
348
284
304
269
379
247
407
277
281
296
262
335
349
283
332
333
315
343
323
362
312
356
339
352
376
353
354
328
270
357
298
324
290
277
388
392
359
389
363
361
363
310
261
295
349
383
212
358
272
390
339
298
287
228
377
337
288
309
267
411
284
316
296
316
281
292
265
317
240
300
272
310
266
296
374
369
282
371
337
338
367
347
356
278
352
380
307
253
296
312
308
385
305
363
343
292
352
317
281
313
325
335
412
312
336
282
344
290
331
364
333
401
377
320
339
343
416
329
291
274
332
382
366
254
266
248
290
327
369
388
330
226
305
257
222
377
292
339
392
347
382
365
348
258
346
335
332
392
300
360
342
307
368
300
314
313
289
346
334
292
343
301
350
346
219
317
300
270
373
264
317
350
368
294
347
332
323
286
334
281
285
219
311
315
333
338
344
322
362
239
347
348
336
370
329
209
302
283
260
415
387
330
232
263
281
356
362
312
235
363
339
271
270
318
303
330
309
337
430
339
294
332
368
253
295
257
290
304
297
323
312
230
312
342
239
317
280
346
342
363
308
321
351
297
274
311
265
319
272
364
378
285
312
269
269
343
332
282
355
289
334
277
364
331
346
363
311
278
305
306
332
335
307
330
316
299
264
332
340
287
289
298
361
275
347
273
355
364
314
278
292
206
275
334
279
333
357
335
271
305
314
301
428
319
320
371
320
331
357
281
337
335
331
230
375
349
347
375
361
284
253
270
365
332
312
350
301
381
366
364
305
330
299
329
338
346
314
210
365
343
248
359
280
360
349
314
244
360
290
339
249
353
305
297
335
317
242
230
377
313
328
313
334
361
320
306
305
368
359
315
324
356
380
256
339
305
352
287
324
258
369
315
339
328
342
350
310
186
352
416
316
375
346
303
317
360
340
327
356
391
322
312
301
277
276
339
324
275
323
316
256
322
343
334
287
343
349
345
270
311
276
272
378
374
300
317
285
320
363
255
363
230
231
401
314
342
341
341
302
251
390
303
307
344
336
260
375
382
334
297
325
340
312
259
414
250
314
363
369
367
292
282
337
275
315
353
231
287
368
293
371
314
369
404
272
341
267
364
301
362
251
269
305
331
291
272
312
255
328
322
292
383
232
351
367
289
265
284
324
312
278
352
307
336
257
315
380
345
397
284
356
302
346
353
349
313
239
286
317
252
326
396
252
306
319
284
297
306
376
296
305
312
419
193
307
339
305
334
304
394
205
300
343
273
329
274
341
263
350
360
380
390
265
290
363
288
286
383
362
321
363
400
393
287
374
350
349
366
325
293
227
290
248
340
287
406
414
342
303
286
316
314
375
421
283
348
225
338
397
372
257
375
344
405
385
332
326
369
327
317
339
284
288
278
281
304
296
364
277
327
347
293
311
318
228
268
293
329
371
337
248
348
332
309
299
378
394
307
401
366
305
274
300
375
315
264
385
303
329
330
253
375
270
339
296
319
342
417
305
256
321
361
238
343
228
296
352
307
208
279
359
272
312
242
254
337
314
269
337
269
285
329
319
343
309
265
317
334
279
280
344
329
288
319
250
295
316
227
364
339
345
360
310
339
350
319
227
383
388
310
307
333
438
334
229
257
403
291
319
350
361
274
304
327
334
423
379
263
263
237
367
367
301
334
290
358
282
288
290
337
246
332
277
246
345
318
322
338
285
291
274
295
333
273
295
339
268
384
276
325
260
364
339
271
340
301
337
317
365
330
332
211
321
280
372
309
281
386
282
281
279
315
279
343
392
256
382
317
325
371
342
266
373
261
336
407
336
357
327
242
309
332
311
311
290
282
280
261
322
223
282
331
371
310
344
339
315
338
344
343
344
381
243
323
342
351
374
324
362
281
275
344
330
246
337
303
334
355
362
343
332
322
292
351
292
281
366
288
299
340
295
314
322
276
349
335
287
253
364
396
292
296
368
269
350
294
304
351
337
358
261
279
346
258
385
340
313
341
246
253
334
401
234
350
365
247
325
301
324
291
367
311
300
381
290
336
279
332
307
339
307
293
320
329
330
352
316
253
342
313
343
328
363
286
290
365
285
371
336
267
268
381
390
382
330
264
355
396
252
406
246
329
242
314
333
221
361
324
241
338
368
276
339
309
293
292
229
309
341
321
360
342
317
386
289
316
249
304
308
345
327
336
280
279
379
311
329
408
314
318
293
304
311
345
316
323
216
326
307
343
336
343
326
263
218
322
337
379
325
308
302
373
353
380
318
392
437
333
359
349
327
266
331
298
387
273
361
358
312
276
270
390
314
371
334
399
276
348
320
357
363
368
333
347
339
389
326
325
280
377
358
244
255
227
339
385
327
337
325
274
318
420
262
333
209
282
398
190
309
249
368
302
308
338
326
372
344
396
302
333
319
353
267
268
353
289
209
330
274
356
266
339
357
278
367
320
236
319
320
353
255
300
305
329
375
377
407
353
319
312
360
381
229
319
309
292
226
238
351
402
358
312
346
291
336
368
332
307
278
281
333
243
415
360
280
251
343
323
275
330
313
256
339
288
334
358
426
402
265
336
270
310
291
298
307
360
353
283
328
314
331
364
336
286
258
293
332
327
341
337
221
322
309
357
335
317
245
274
319
268
334
330
334
390
320
327
264
360
307
255
340
292
311
263
319
358
340
269
337
339
301
336
349
285
278
231
337
266
331
343
307
203
408
372
369
410
348
377
304
247
358
357
308
365
357
359
331
273
276
324
307
297
277
329
341
294
387
340
280
298
317
386
303
349
309
333
279
323
295
349
323
367
326
313
348
216
275
365
319
363
256
372
397
349
357
325
268
343
341
352
227
285
285
309
363
360
270
259
343
256
270
380
336
329
338
349
281
283
358
339
338
295
296
277
373
322
287
280
258
238
336
353
354
347
328
319
221
276
353
342
276
335
226
331
351
340
247
368
346
324
258
317
278
434
341
399
365
333
251
363
347
339
286
301
372
264
350
321
406
280
376
316
280
329
264
336
298
282
301
269
298
211
401
353
299
293
301
410
331
351
362
360
299
337
285
241
284
333
276
287
273
244
380
327
284
340
231
348
385
412
287
334
305
267
350
244
339
369
306
337
312
317
303
383
288
289
321
319
292
360
344
358
272
287
310
200
354
292
312
336
244
252
289
311
356
291
318
316
222
354
310
361
336
349
330
341
405
365
238
402
321
415
311
344
278
299
273
377
280
290
330
314
349
302
262
326
324
279
273
377
338
265
259
293
417
282
323
336
337
393
322
367
305
351
340
268
261
355
256
333
336
319
290
398
333
304
351
302
333
379
364
373
349
261
304
339
256
316
316
372
316
291
346
382
264
317
289
305
299
242
325
253
340
282
290
375
248
236
312
369
304
342
303
324
233
250
364
304
322
357
317
317
307
258
266
314
338
350
281
353
330
352
303
292
267
331
285
314
241
302
302
252
373
323
355
305
283
433
334
365
203
386
287
278
316
304
310
303
294
302
314
264
297
362
269
305
323
345
359
430
340
275
270
353
326
288
293
283
283
316
306
296
376
343
364
296
370
353
284
304
317
336
304
317
361
321
335
356
339
319
318
278
300
350
329
275
351
309
254
415
380
396
253
281
247
364
363
346
376
308
327
289
409
296
340
373
253
308
359
316
315
283
359
239
328
299
355
340
320
320
289
352
345
300
313
314
270
332
342
266
314
231
320
376
352
279
284
330
335
337
237
378
345
285
236
285
334
343
249
349
317
262
286
231
300
368
240
355
407
332
263
276
320
334
331
343
372
275
361
325
338
304
331
264
280
362
270
364
249
325
290
355
359
308
346
289
319
386
316
345
301
444
222
301
269
391
369
242
359
429
301
392
329
348
240
352
315
257
369
302
298
361
367
272
305
366
280
311
331
390
335
273
307
236
409
326
279
315
335
338
301
370
342
295
301
313
381
212
315
293
319
345
296
316
331
323
320
342
294
372
319
315
277
285
312
314
333
390
305
306
294
342
265
337
323
283
312
370
346
268
329
331
337
264
236
373
224
279
328
363
404
261
288
308
291
348
312
323
327
283
359
307
281
307
323
284
336
369
286
324
325
387
414
262
287
356
366
357
319
277
321
328
241
311
357
321
353
259
320
342
304
219
321
368
342
286
290
376
341
255
341
325
346
343
330
318
283
359
316
273
333
320
297
174
337
317
222
325
313
387
312
223
366
247
371
299
333
277
258
427
347
290
382
388
329
320
308
319
310
295
277
366
354
297
335
293
325
286
305
322
286
266
235
316
236
325
320
270
266
296
314
343
328
321
315
350
315
354
290
273
295
308
306
327
310
368
298
328
280
298
308
208
323
311
334
372
355
327
269
287
318
314
331
343
317
325
267
328
313
328
258
331
287
319
381
312
236
321
357
367
305
324
389
368
273
398
336
355
331
311
342
329
340
301
236
408
343
321
360
326
320
288
294
365
339
279
319
296
306
328
352
373
301
364
304
242
329
263
283
293
282
236
345
240
325
301
351
354
366
252
326
329
291
347
283
242
352
310
385
278
305
359
336
311
283
289
236
352
359
316
344
402
291
341
349
269
313
312
403
228
283
317
304
285
303
350
246
376
388
376
380
320
256
200
405
319
298
314
239
327
381
276
356
264
372
335
322
254
284
372
306
263
262
364
324
303
266
342
275
302
373
319
288
278
261
304
343
332
370
351
313
322
348
364
362
300
349
357
394
275
326
337
389
257
311
285
281
318
234
381
369
322
335
354
337
291
251
344
338
340
331
356
341
349
327
266
344
300
359
254
282
309
212
264
401
346
359
343
384
336
339
268
315
324
250
308
310
265
271
337
251
307
291
304
314
241
190
301
299
276
341
325
315
359
270
229
357
361
319
307
338
347
278
367
365
349
290
265
231
386
306
319
287
287
294
365
348
291
350
426
350
357
365
315
322
383
303
375
348
328
340
421
356
286
309
310
357
335
246
315
307
356
349
351
385
270
285
319
242
293
205
350
260
258
331
306
409
366
310
310
331
330
380
242
340
348
335
292
253
320
236
315
338
323
354
294
312
339
248
305
230
342
256
355
346
275
261
359
377
351
341
316
360
276
332
333
311
340
265
439
363
330
291
315
315
295
328
329
291
260
314
277
359
271
250
325
333
249
363
325
296
338
281
285
369
265
342
259
315
322
360
400
379
327
235
261
320
280
299
359
291
401
323
327
296
309
303
323
293
317
329
306
275
269
358
331
242
283
302
371
306
347
327
347
322
405
256
338
412
294
296
316
311
383
307
323
370
286
275
332
302
322
346
342
384
330
379
299
285
263
365
325
376
227
282
398
257
359
344
298
353
302
308
363
358
294
300
320
306
338
363
362
247
352
339
355
307
321
376
257
398
288
364
297
275
354
327
259
365
284
310
407
281
350
351
353
320
314
266
360
377
276
334
360
413
258
387
305
351
334
336
317
281
333
312
309
296
193
320
356
232
355
345
312
257
310
335
279
324
227
381
307
340
343
328
360
310
296
363
389
311
321
263
400
351
325
242
376
417
281
367
323
326
336
333
394
272
278
349
295
307
304
272
315
322
376
387
317
330
304
330
378
379
318
270
164
404
337
279
340
383
254
299
283
333
368
334
353
368
335
345
266
334
348
325
342
305
328
265
400
310
383
247
305
348
333
284
318
314
339
336
332
287
369
298
311
342
296
335
339
243
258
295
291
273
310
325
303
356
351
354
286
328
370
375
323
410
310
318
359
317
316
346
323
265
308
315
309
367
331
333
347
296
301
343
386
319
328
269
263
273
274
396
377
387
326
400
346
348
328
274
361
283
219
284
270
236
282
350
308
300
374
360
323
367
342
364
317
285
238
295
296
315
289
310
252
378
326
343
310
338
234
251
336
321
314
426
357
308
324
373
361
327
328
330
237
297
393
383
305
340
303
303
269
396
284
379
318
319
320
287
347
329
366
390
348
215
332
317
269
350
392
309
321
315
299
294
322
301
293
337
371
333
319
323
369
358
319
307
322
333
337
336
338
319
359
395
277
306
367
253
255
311
356
253
336
336
334
394
335
299
256
306
287
318
361
297
417
340
327
343
347
370
322
426
307
318
332
299
340
423
192
346
383
351
350
240
221
338
328
353
278
363
295
262
353
305
279
381
286
253
319
404
348
297
287
311
339
325
311
340
293
386
300
347
324
296
319
383
330
354
254
395
317
396
304
343
214
315
391
269
363
371
365
321
364
330
411
359
381
312
365
203
289
361
266
390
347
328
342
276
335
395
203
330
328
322
328
262
329
386
314
406
292
332
275
358
334
369
305
374
374
278
313
330
331
339
367
367
330
312
326
408
226
326
322
299
311
328
378
304
313
305
226
313
283
353
323
325
228
340
241
377
386
379
260
253
306
352
346
295
309
286
329
332
309
342
364
244
223
335
252
323
359
280
331
313
413
269
387
343
318
361
294
324
316
292
280
322
268
294
387
355
338
277
286
335
326
298
316
339
298
251
285
319
327
331
345
363
322
359
382
350
278
325
340
297
328
316
264
290
368
267
346
368
358
323
327
270
273
226
383
278
318
350
366
244
304
336
264
335
306
302
368
359
330
293
361
319
329
250
367
310
286
322
335
282
293
392
329
351
287
382
415
245
287
318
284
305
254
314
218
355
275
396
343
302
279
303
311
250
330
332
352
420
216
341
294
340
215
335
250
276
324
356
282
338
317
353
247
284
345
315
336
358
292
284
277
259
349
294
334
275
396
309
313
356
361
346
215
404
344
376
304
298
342
283
332
309
257
246
266
322
298
265
373
261
399
378
399
302
338
288
328
251
302
311
271
326
320
342
307
322
237
316
282
260
325
284
232
288
334
360
372
286
323
362
294
341
351
367
275
286
310
321
300
287
417
245
333
329
340
259
297
303
370
321
362
275
290
302
312
261
350
274
216
294
355
290
372
299
346
377
274
290
280
318
300
336
311
289
328
363
268
292
413
383
310
380
300
371
275
360
379
362
271
309
251
315
311
328
334
286
314
337
265
278
331
347
323
369
306
294
398
342
285
299
302
272
366
297
381
273
349
321
381
358
333
283
327
368
300
314
320
338
295
347
273
301
224
281
383
255
256
290
305
259
302
243
345
377
327
325
352
330
325
327
286
254
343
310
252
378
323
374
294
272
260
257
262
394
421
332
314
265
336
325
300
344
275
313
302
386
353
364
399
346
346
347
380
331
285
301
364
277
364
329
327
213
332
304
405
319
274
286
297
294
315
353
274
327
355
283
259
360
267
386
379
343
307
292
400
335
333
289
269
350
324
276
277
286
290
322
301
203
306
250
312
371
346
292
389
298
333
242
281
295
227
305
298
329
315
276
371
322
357
308
293
241
317
238
283
234
265
386
246
239
324
202
312
273
257
265
404
304
330
353
419
273
333
278
298
287
268
327
379
375
262
318
332
353
251
339
258
295
181
247
277
308
306
291
218
249
377
302
251
334
305
324
306
360
299
293
347
341
295
295
304
286
388
287
322
355
317
298
291
336
307
361
354
295
312
343
297
324
328
298
306
286
256
328
299
366
268
315
283
362
342
256
278
347
190
368
322
287
337
369
372
358
413
414
292
275
323
318
381
314
272
302
335
289
353
369
429
284
277
324
302
156
395
318
290
337
361
278
242
295
337
248
324
310
345
299
296
214
271
372
378
316
319
286
324
321
236
314
228
322
339
281
293
301
329
355
326
315
305
401
307
349
257
317
363
244
257
328
333
325
260
306
353
278
272
277
387
287
310
284
344
325
380
297
286
304
320
264
280
353
331
389
346
339
267
377
267
303
307
288
305
294
279
211
265
285
306
346
294
323
335
328
420
283
382
344
340
327
300
214
290
312
290
278
330
300
371
279
238
286
232
267
341
275
309
390
342
350
390
310
292
351
376
344
269
276
332
329
309
341
366
287
231
313
227
302
396
260
302
213
354
364
349
266
294
396
259
373
314
338
413
348
289
400
359
301
330
334
335
364
297
279
237
362
372
314
250
332
340
281
327
317
298
329
306
232
321
326
380
274
250
269
247
304
272
307
354
309
314
293
368
235
275
295
258
340
296
322
400
270
292
345
354
349
319
336
381
312
347
369
242
335
363
243
311
282
300
375
324
341
258
323
264
314
361
348
347
349
322
359
295
266
268
351
314
403
260
184
410
278
300
374
396
177
293
361
352
346
379
321
299
300
338
312
339
336
272
369
324
393
296
297
322
250
300
324
284
260
396
340
350
388
347
297
370
301
269
317
318
329
312
344
325
324
379
378
282
384
228
341
335
299
276
272
326
334
361
354
248
354
278
349
291
282
381
305
340
376
355
297
244
257
263
348
355
369
360
310
244
281
360
313
364
374
372
364
387
325
322
292
332
243
272
307
263
342
317
291
287
254
302
267
310
223
347
333
219
343
305
300
402
237
310
274
269
326
320
333
262
278
318
376
371
338
334
369
330
362
257
336
392
297
331
375
202
372
332
257
314
298
322
318
327
281
348
333
312
346
314
305
338
331
307
330
387
289
312
281
308
292
306
308
327
336
299
235
269
390
300
351
265
347
290
332
255
305
324
282
318
300
395
291
342
291
262
280
380
293
319
278
370
310
299
302
367
257
288
370
380
286
300
307
293
281
322
304
310
279
263
289
308
343
318
306
325
272
314
328
338
290
341
351
328
363
369
282
308
278
306
287
429
306
258
357
289
327
287
305
327
273
325
276
272
340
296
311
356
273
302
294
303
325
397
309
237
342
301
315
319
337
343
370
382
287
303
308
381
342
280
357
349
381
269
255
352
265
280
297
374
355
335
377
288
441
313
362
255
339
282
349
323
336
317
322
283
340
331
303
372
362
322
377
326
383
320
344
324
255
335
306
251
337
288
361
302
355
353
278
404
286
314
344
314
355
355
317
289
278
285
304
388
279
252
324
291
379
260
385
417
358
298
252
378
323
348
367
322
337
265
342
306
262
333
392
216
273
361
274
262
324
356
341
358
274
307
296
210
285
399
325
289
409
401
322
285
293
221
337
367
361
356
402
310
356
310
288
346
374
371
352
342
287
311
300
274
318
331
294
293
319
302
337
297
318
292
338
300
245
316
290
312
289
366
358
295
327
317
259
214
253
277
348
366
317
293
236
289
285
319
322
396
352
351
323
357
246
309
283
247
297
235
265
333
370
272
329
283
291
382
375
289
288
346
264
237
353
270
311
330
350
370
298
387
296
414
325
217
342
379
316
272
360
323
287
212
305
322
299
311
331
293
301
315
317
292
293
270
335
363
317
344
361
289
257
294
329
302
258
316
386
381
253
335
273
171
343
348
297
294
350
298
324
263
348
274
391
313
394
300
263
304
335
300
345
352
284
261
219
272
340
307
268
361
265
348
315
367
284
281
257
303
279
374
322
280
269
359
290
388
349
342
320
338
224
308
372
288
341
309
317
369
309
359
276
321
316
297
341
363
321
298
265
334
376
286
408
302
366
271
285
325
316
294
284
325
341
349
294
266
327
322
317
320
327
351
406
371
318
282
372
277
377
272
278
356
313
398
315
375
314
266
280
332
294
302
292
327
331
377
319
325
305
289
309
369
284
324
320
417
326
378
316
293
307
325
348
368
332
369
362
401
413
267
254
297
358
363
248
343
403
350
333
387
333
273
341
292
302
279
297
346
339
316
306
327
354
355
323
292
331
282
380
307
299
342
247
312
276
233
273
360
402
338
357
361
395
341
242
401
297
286
299
320
309
319
319
364
330
342
301
358
289
365
321
264
335
365
291
344
336
336
312
349
392
357
278
173
326
331
257
162
306
363
324
298
266
295
329
319
288
341
359
289
307
366
244
315
313
320
329
271
315
381
374
308
282
381
223
306
268
402
364
368
353
300
343
362
287
356
298
330
283
361
305
356
347
387
303
316
307
322
258
246
321
397
319
362
286
349
318
350
417
279
328
338
358
410
274
314
357
331
313
292
354
366
294
359
292
215
313
280
345
353
372
349
348
306
320
319
336
388
335
390
290
354
372
267
337
305
380
371
218
302
378
324
318
292
298
299
278
369
321
278
347
255
309
326
366
298
235
309
331
335
383
346
322
363
307
370
281
391
317
308
352
355
283
341
306
318
348
276
356
283
338
276
359
291
336
299
371
398
285
325
337
345
154
325
321
339
338
282
346
270
384
354
351
374
236
281
312
281
328
331
321
275
329
387
358
295
314
245
313
286
268
251
295
322
355
345
206
409
321
270
344
278
361
311
286
333
353
315
332
300
378
335
266
367
292
242
343
385
254
264
239
189
296
249
316
307
252
343
315
277
270
265
272
349
345
343
327
328
318
233
339
313
309
317
350
422
362
337
318
237
340
341
356
188
330
324
352
323
407
381
352
290
276
379
357
393
264
388
259
371
233
272
325
302
318
314
333
342
232
358
252
260
383
395
347
249
360
347
338
315
329
332
328
366
298
280
342
359
275
339
241
334
278
291
319
321
387
346
262
367
313
338
316
371
355
313
333
274
386
296
314
335
317
263
252
386
353
396
329
248
337
278
340
387
317
239
438
333
282
323
184
344
250
307
291
275
296
274
316
342
337
381
332
254
321
305
279
165
391
294
346
282
330
321
359
353
246
324
336
277
296
369
284
237
373
300
276
263
307
355
313
295
371
269
350
288
413
301
344
258
328
302
286
310
260
346
335
338
380
267
353
327
336
319
330
329
316
326
349
405
296
394
279
348
343
357
271
256
374
347
400
384
319
259
328
307
269
282
362
327
351
306
277
343
355
320
319
277
293
321
314
277
398
334
329
281
331
314
306
361
309
341
353
276
360
318
415
274
315
357
252
339
341
241
265
297
335
309
356
305
277
356
379
342
295
407
300
312
418
323
312
365
328
344
281
365
276
285
317
291
316
244
309
401
396
306
326
318
306
285
343
323
352
393
303
320
288
301
237
387
354
335
354
319
332
321
266
299
296
324
321
361
230
286
318
358
359
367
252
372
288
286
375
267
356
338
329
284
341
357
243
317
370
402
270
227
362
328
346
393
343
391
298
319
305
382
274
315
323
308
372
267
268
352
342
304
309
364
275
347
374
390
393
256
304
339
354
318
287
426
312
272
269
276
339
251
320
325
352
332
337
312
311
429
301
286
386
299
360
243
324
291
268
353
227
327
315
316
278
355
298
297
397
355
257
219
207
356
349
265
353
382
352
292
383
312
340
192
347
254
281
345
307
352
420
294
321
346
299
291
355
282
288
363
370
259
320
255
339
318
330
307
366
273
260
216
390
274
289
195
354
352
287
264
320
393
225
364
268
314
253
320
332
416
321
245
319
351
340
349
270
343
365
388
377
350
285
316
273
348
258
327
386
240
327
256
359
345
314
313
323
357
292
383
356
280
312
351
271
271
353
285
299
417
339
248
277
323
391
281
328
313
349
353
316
363
293
300
325
388
309
313
307
277
288
304
373
283
300
315
330
314
279
326
386
257
277
393
275
292
339
299
259
357
310
337
353
262
314
317
311
284
325
311
348
243
285
333
313
347
358
338
367
372
318
285
343
333
275
299
300
330
280
297
327
379
280
361
251
288
386
368
341
295
284
305
390
309
372
275
254
335
365
338
371
329
297
337
250
255
214
300
285
263
370
319
279
348
266
380
328
339
302
268
279
277
268
378
359
319
359
246
355
312
380
307
340
311
297
304
351
290
356
217
388
366
342
267
346
320
347
253
344
321
283
282
215
327
295
336
347
325
342
335
337
283
374
323
273
264
351
306
361
348
385
328
311
240
267
299
340
281
366
317
337
240
257
334
340
362
217
312
337
419
347
351
254
314
276
328
409
274
333
342
354
342
359
249
343
294
343
182
366
428
313
296
290
277
338
330
348
268
285
320
365
309
379
309
355
347
288
299
345
341
237
296
217
353
293
413
370
322
337
353
367
283
276
297
392
285
286
390
269
268
342
328
248
353
336
293
312
321
356
340
314
308
358
264
284
246
361
333
234
423
300
336
267
304
345
346
342
342
344
374
272
308
341
367
272
301
328
208
356
302
305
303
396
215
326
277
338
322
339
358
317
257
309
308
307
285
250
303
304
378
323
327
265
377
362
311
226
375
329
367
323
277
300
331
290
350
292
368
358
296
355
394
327
305
298
328
339
385
293
285
312
311
296
289
418
351
275
399
346
281
346
239
261
326
362
339
357
307
340
319
388
282
377
288
290
335
374
348
388
250
394
329
385
304
314
351
311
372
254
256
303
360
327
299
368
297
275
264
252
321
315
252
366
295
299
343
302
243
297
350
322
335
302
335
247
314
342
222
327
370
313
286
280
273
234
330
333
333
230
260
412
321
313
330
318
305
297
394
306
206
260
328
362
288
245
261
313
345
283
300
354
387
317
320
308
389
389
400
288
281
334
284
347
302
317
319
330
346
342
364
329
322
345
313
236
324
369
330
262
274
348
308
254
248
337
322
293
373
258
314
258
383
287
351
297
251
366
338
323
267
277
278
352
398
349
340
292
410
317
301
301
321
293
281
272
300
411
261
225
219
298
373
207
366
242
334
305
295
319
402
258
299
269
313
345
261
342
276
317
324
210
346
303
342
313
405
331
371
411
307
277
260
340
263
332
362
359
351
351
322
320
231
323
293
359
395
360
328
340
376
306
225
245
357
342
348
348
349
303
264
323
303
328
377
380
293
297
365
386
287
317
331
235
252
279
355
343
326
343
329
289
318
355
308
232
313
323
211
374
277
297
237
285
333
293
305
326
347
387
227
264
300
373
331
232
421
298
315
336
311
286
336
285
377
313
223
345
397
278
320
310
320
376
369
354
311
312
339
313
359
309
336
261
380
303
239
388
353
296
241
296
368
227
260
231
305
264
269
287
283
307
383
299
370
290
326
301
343
271
321
275
286
345
322
312
349
380
295
241
366
381
378
409
321
354
293
306
281
359
377
348
310
339
249
289
291
333
326
419
346
288
255
356
327
285
304
373
284
327
301
270
323
327
269
287
345
360
298
359
376
385
318
322
381
222
274
354
256
302
322
311
287
339
314
254
290
339
362
320
316
287
311
335
404
350
360
317
353
314
266
352
277
296
278
322
392
280
274
267
289
350
208
340
428
319
397
363
416
315
295
419
283
295
315
346
345
338
287
268
245
274
291
311
325
301
339
291
257
363
354
307
276
295
316
304
331
359
307
345
355
307
290
369
316
285
277
310
362
270
386
274
331
340
319
242
355
423
384
273
312
383
391
358
342
392
315
351
237
359
353
312
370
288
399
329
312
302
290
394
283
350
270
227
344
287
319
346
380
330
434
241
374
378
270
299
330
308
257
295
291
333
296
319
346
312
347
328
328
373
335
304
285
409
251
291
228
276
284
218
282
289
312
280
290
311
356
285
280
331
252
331
364
311
298
241
267
280
333
361
340
353
353
304
349
387
325
332
366
282
280
363
409
277
299
233
375
378
273
317
281
302
298
284
348
270
361
316
346
315
347
281
350
314
290
258
373
247
296
292
407
309
385
249
252
322
295
262
275
318
349
322
340
202
317
385
318
327
347
272
214
343
315
410
330
331
245
349
396
350
368
317
305
388
329
280
258
419
329
333
350
257
370
331
339
352
222
312
302
336
306
274
309
329
330
396
292
313
365
371
287
314
284
364
398
278
284
289
260
318
307
310
308
263
209
365
383
294
362
292
264
316
223
320
266
291
344
236
295
328
288
264
187
292
344
320
278
381
232
284
308
353
297
266
272
290
334
315
364
313
355
331
361
259
263
325
236
324
373
256
222
330
276
322
394
266
309
319
391
272
349
386
321
351
362
305
286
292
354
300
287
338
245
317
290
352
352
403
296
369
286
318
298
298
297
225
359
304
220
217
309
314
303
285
273
262
364
299
354
390
317
329
269
327
290
287
329
343
368
367
351
365
360
291
303
249
248
330
344
382
285
383
254
297
319
271
370
259
378
348
273
385
340
387
318
262
313
316
238
337
276
344
344
328
303
338
301
424
397
378
261
350
270
265
304
311
303
279
353
327
336
329
371
346
355
245
277
362
331
295
329
278
335
339
316
304
313
247
331
368
332
328
294
309
379
306
247
311
290
314
334
325
302
241
332
223
354
392
379
311
345
289
310
360
371
304
398
208
319
190
316
350
280
399
300
353
349
332
311
261
235
283
371
296
299
308
302
294
217
373
337
361
370
341
404
282
299
353
271
218
405
291
343
259
447
331
292
353
336
322
293
302
368
360
332
262
318
397
394
370
256
316
302
262
343
294
254
330
360
240
267
344
311
254
288
340
291
322
386
271
383
355
336
273
350
313
306
275
311
305
315
325
318
295
240
267
313
380
307
290
281
353
265
330
323
297
210
303
319
350
296
354
388
289
282
281
301
411
298
332
355
241
316
246
334
389
344
338
361
299
304
307
300
282
368
365
286
305
290
273
345
322
304
357
288
367
427
349
252
320
273
310
266
213
302
289
325
295
328
296
304
317
315
331
320
311
339
316
290
375
412
293
307
355
323
279
279
267
362
321
308
315
378
350
367
284
319
370
292
318
283
308
310
376
307
320
308
280
298
275
371
314
282
341
318
357
285
365
289
301
411
300
314
293
396
390
305
310
316
322
290
263
303
301
300
336
369
293
347
322
309
353
265
259
226
275
331
337
361
327
312
384
312
361
334
346
376
277
303
289
281
327
312
287
362
350
385
328
378
298
288
323
372
344
348
302
295
290
343
374
336
348
255
258
296
259
326
359
307
227
400
349
332
346
372
351
307
259
246
309
294
319
349
331
325
303
290
342
314
313
331
361
260
404
316
243
291
280
282
341
289
379
385
295
293
320
267
348
377
299
285
324
338
400
326
302
359
276
298
290
323
342
297
303
396
285
285
281
317
204
291
344
302
334
302
396
330
393
332
364
352
324
389
308
353
298
289
328
360
341
315
277
416
369
290
360
306
343
185
308
312
367
347
371
393
313
227
294
270
350
204
321
261
330
313
397
271
338
368
305
289
316
412
286
365
317
282
344
203
276
302
346
316
317
307
329
259
393
342
366
295
304
346
295
392
301
348
240
309
300
344
320
321
319
329
325
307
401
349
404
361
371
248
343
334
317
385
259
301
380
327
147
285
336
298
391
361
385
284
335
329
305
348
366
325
404
305
297
375
330
204
353
293
346
326
364
308
276
377
336
319
199
365
326
334
288
317
295
368
211
290
315
329
372
299
352
362
257
365
313
318
243
386
352
377
263
276
324
331
319
303
297
248
253
310
275
259
222
230
336
383
352
361
317
368
418
322
369
318
299
299
349
290
304
363
325
356
339
375
334
295
374
298
370
377
269
339
308
324
265
259
321
367
415
335
417
323
293
386
286
360
283
348
331
235
314
275
273
283
301
273
374
331
351
239
351
355
294
375
393
320
336
269
286
330
371
324
284
373
321
288
247
301
329
289
299
348
392
342
295
266
300
325
283
301
256
314
304
334
360
333
317
359
255
272
339
310
314
281
280
287
335
315
343
264
270
320
276
228
234
295
314
405
392
284
359
391
356
252
357
289
307
364
335
348
408
279
348
320
368
329
371
320
232
235
352
345
343
343
329
362
299
330
370
374
346
348
336
332
343
396
319
303
330
303
372
351
341
322
317
367
291
333
326
333
394
307
264
385
231
279
384
377
359
311
355
277
300
334
339
396
416
250
378
294
299
380
261
362
300
282
333
344
334
258
256
362
301
349
286
356
301
325
288
242
372
348
332
260
244
343
294
297
394
271
264
349
457
436
328
264
283
323
343
324
308
293
267
321
286
358
330
355
284
393
305
306
326
317
309
328
243
309
337
323
408
278
343
341
382
297
374
298
299
246
361
317
303
393
403
314
306
298
338
344
290
358
367
333
353
384
340
384
240
305
332
335
315
357
342
343
310
309
338
322
298
246
274
368
365
275
419
336
309
366
236
326
357
337
283
227
326
321
413
328
298
298
380
273
316
296
347
327
347
315
316
319
347
342
352
254
380
293
308
378
283
289
318
275
312
280
323
331
284
271
299
396
271
244
245
251
257
295
375
241
321
314
375
278
311
358
343
312
308
322
377
292
326
258
319
379
368
359
391
320
286
309
391
374
216
236
334
261
317
316
322
283
379
291
301
252
307
315
319
265
293
275
316
381
264
388
276
319
350
347
276
278
295
327
315
353
341
296
352
325
358
314
258
342
333
363
241
328
318
342
384
335
377
359
341
370
349
286
311
327
306
294
274
308
291
301
229
280
374
271
310
326
346
268
379
295
285
354
277
319
277
334
336
334
345
339
242
352
306
329
262
351
242
327
259
327
243
354
396
390
388
349
336
374
289
301
307
320
280
286
317
318
234
320
314
376
339
340
254
376
300
398
363
251
351
302
322
357
324
260
227
270
337
319
348
247
305
327
336
362
311
373
298
357
316
267
359
291
270
354
270
313
237
263
218
263
373
358
331
212
277
313
314
267
363
244
257
325
346
386
322
314
264
332
376
397
293
285
304
341
335
314
306
354
305
282
282
212
338
264
282
311
319
377
297
218
304
309
245
357
345
374
180
347
325
341
326
386
340
393
269
357
356
314
259
301
314
339
289
299
384
323
397
233
298
238
227
310
318
319
259
255
326
327
359
276
361
198
328
330
364
194
301
323
394
281
313
366
346
271
287
234
282
373
303
323
313
404
378
311
299
321
364
327
292
320
369
294
232
338
308
306
321
264
361
357
324
360
367
374
311
243
408
312
350
377
278
321
231
291
297
284
380
309
347
280
308
279
403
334
306
339
293
233
294
268
372
360
273
293
259
271
279
278
348
328
365
268
322
378
308
372
331
410
327
365
379
237
373
320
312
352
269
322
316
411
256
333
338
409
342
378
362
268
276
290
281
280
297
233
248
311
277
252
394
349
332
282
253
349
308
292
310
383
389
392
256
344
329
299
314
324
314
331
317
307
347
270
350
272
325
328
197
348
361
318
303
321
353
322
323
387
329
420
305
341
387
389
386
329
322
343
363
351
244
387
348
332
361
376
343
248
293
272
305
343
268
370
212
277
331
305
360
273
299
320
354
380
331
365
363
287
353
423
332
366
268
319
284
222
325
304
269
346
344
381
400
350
315
373
400
294
304
342
366
285
358
339
339
360
349
271
269
308
371
269
305
306
273
342
310
418
427
249
309
358
356
293
281
357
316
231
382
297
362
251
353
248
292
249
350
393
385
306
370
358
295
322
386
407
228
412
341
356
335
313
318
278
319
385
254
348
386
387
335
405
326
345
336
322
294
326
312
316
273
324
361
292
363
277
299
338
225
372
273
257
237
281
362
335
358
451
270
321
298
347
370
265
370
320
383
306
375
334
328
305
296
310
355
326
333
284
270
342
268
305
298
369
313
329
343
386
325
283
256
312
384
301
228
290
341
374
270
281
420
330
359
345
292
333
339
265
366
293
318
335
397
267
439
316
437
361
325
285
330
335
247
302
287
310
257
337
311
296
231
364
366
290
358
269
297
376
384
255
316
436
331
352
254
302
340
242
280
288
386
296
281
356
321
359
387
331
337
291
318
274
315
289
261
337
238
250
357
361
266
283
303
249
310
341
290
438
310
395
330
279
351
319
382
266
282
302
303
324
327
330
360
302
341
288
320
288
393
310
333
315
271
270
341
348
346
275
381
288
288
243
357
382
334
329
382
289
357
360
350
340
355
348
286
278
344
320
346
309
293
288
362
295
300
415
316
295
401
371
276
342
253
325
331
304
251
290
228
299
310
369
313
346
328
329
392
269
324
312
231
399
303
289
311
330
307
281
331
328
307
429
350
314
253
292
278
388
337
295
317
382
339
349
346
362
368
355
220
376
296
301
314
312
309
342
238
326
292
286
308
383
378
302
308
279
387
334
260
343
380
213
330
328
268
342
331
322
324
302
318
385
302
237
291
257
387
285
321
312
346
270
254
319
224
341
296
322
316
266
317
320
271
302
322
339
325
334
308
241
293
318
331
296
347
307
307
308
366
374
366
220
296
346
325
315
335
350
315
339
276
313
334
244
274
354
268
270
333
311
235
272
308
312
271
379
317
349
433
396
359
350
345
274
306
321
300
358
358
329
320
401
330
279
337
286
250
351
398
341
235
246
346
350
329
224
351
363
287
280
306
328
339
317
345
283
321
336
266
306
329
303
363
400
328
261
256
260
335
245
359
315
279
295
324
474
266
301
354
331
338
327
304
280
287
331
413
241
300
364
268
352
347
282
273
318
355
322
277
345
314
284
271
313
366
412
293
339
337
273
326
271
294
289
249
353
344
357
310
272
286
242
293
346
343
240
257
272
302
291
365
362
232
393
373
260
314
351
267
221
299
304
302
397
340
381
404
361
286
281
264
277
253
343
344
315
296
293
278
311
264
239
255
312
310
307
316
341
363
337
316
360
322
324
274
255
255
263
323
296
279
327
274
242
308
358
352
215
372
365
260
236
297
306
258
380
270
326
263
316
318
383
369
343
267
361
336
363
319
268
346
322
261
381
352
287
298
290
295
320
339
202
329
378
325
344
294
296
264
322
339
366
427
272
320
308
279
285
391
322
320
345
306
323
271
321
257
250
322
326
242
255
335
243
322
334
304
322
306
299
317
357
365
285
314
317
322
292
307
352
259
213
316
371
353
337
387
309
333
309
212
304
323
303
296
295
303
321
328
325
259
313
181
298
366
366
368
422
318
283
359
264
316
406
321
335
370
261
346
398
381
324
334
365
299
367
285
277
303
252
308
349
298
297
302
304
361
261
318
324
296
391
285
325
348
279
335
308
356
328
287
281
365
354
290
368
234
306
349
340
325
338
317
382
262
326
370
334
270
243
341
301
281
309
357
328
326
240
273
340
262
346
317
305
271
331
374
322
314
386
369
376
452
311
364
237
348
276
267
345
307
338
269
394
379
296
389
304
287
306
245
340
332
382
361
318
349
344
310
345
300
332
279
350
294
284
301
328
238
260
304
334
248
349
259
383
324
273
346
201
340
338
318
391
324
331
362
270
326
295
379
343
277
283
322
329
343
352
343
395
304
309
296
388
271
320
302
359
311
290
417
326
288
273
306
369
287
300
328
361
334
303
330
286
311
313
345
244
330
314
367
261
350
283
244
264
372
279
305
341
273
376
259
351
353
295
198
302
266
355
284
292
318
349
319
377
332
385
371
372
293
304
376
302
337
309
241
349
334
367
354
296
343
328
259
382
346
239
294
355
313
352
319
392
299
314
330
328
316
296
350
342
303
278
263
336
288
340
302
307
363
296
324
291
271
202
310
358
265
259
362
372
321
240
269
356
226
299
331
252
263
346
288
333
381
294
383
381
292
368
285
267
354
361
360
300
355
309
329
354
363
348
375
351
330
260
340
306
190
294
298
327
331
285
340
275
315
312
271
389
303
270
281
405
308
266
361
325
263
372
304
341
228
378
315
331
240
324
286
298
273
304
270
328
273
346
283
301
387
289
314
362
294
346
334
270
338
305
391
343
361
335
406
352
245
447
302
333
287
222
247
383
326
291
394
242
351
252
400
330
370
361
241
368
282
285
308
343
267
302
275
235
257
218
380
288
328
330
370
363
280
320
332
254
354
320
233
245
293
326
395
368
235
326
305
293
288
171
326
375
272
298
347
378
263
263
359
335
265
350
326
266
372
310
303
236
294
301
307
289
309
300
304
382
351
280
350
318
292
333
310
219
220
314
340
268
392
343
285
312
314
296
287
303
360
293
269
320
297
278
377
378
296
301
245
317
282
330
357
273
287
304
280
289
276
244
349
404
341
239
322
342
357
359
317
312
328
301
289
334
232
305
287
260
256
247
306
325
315
275
312
296
360
327
287
358
349
370
327
341
328
242
367
357
399
411
431
327
285
368
283
336
297
326
332
248
351
330
318
287
304
329
243
326
363
362
273
318
333
312
252
246
207
309
365
333
306
357
301
277
294
371
313
344
284
315
331
287
291
316
276
342
313
298
303
278
321
292
272
287
361
293
371
262
339
315
299
277
322
340
291
347
254
328
302
249
339
369
355
352
377
256
346
261
307
310
382
262
298
232
301
256
403
363
300
346
287
291
282
348
362
220
355
331
327
271
368
387
238
341
324
295
290
372
340
263
261
189
276
374
342
305
261
333
279
321
319
357
346
342
375
220
308
316
320
221
308
385
316
402
272
265
343
251
319
362
350
292
275
315
334
202
333
293
378
237
332
266
229
285
342
314
245
337
366
327
262
359
268
311
284
309
283
290
358
296
299
314
326
353
387
337
302
267
329
250
313
299
297
297
363
340
338
255
360
237
303
309
281
327
370
268
319
296
282
378
380
380
307
320
354
356
365
306
271
276
315
352
318
305
345
372
217
305
312
306
338
340
312
285
218
278
352
370
312
336
326
267
378
293
290
352
343
392
298
300
366
359
345
321
278
323
296
317
298
291
316
377
364
359
410
352
315
334
235
297
291
329
406
341
334
320
289
284
318
293
358
330
315
293
321
269
301
273
292
260
249
367
302
380
299
295
326
374
319
253
387
324
337
318
322
279
288
297
319
286
320
339
308
302
328
274
350
323
382
281
286
316
252
280
300
373
291
294
340
374
348
309
342
270
241
300
366
378
152
358
330
329
298
210
340
298
297
298
251
404
328
243
325
328
199
321
313
355
350
374
209
287
274
377
204
322
286
378
257
314
295
295
345
283
311
296
351
311
410
303
313
323
296
351
379
304
240
294
357
307
320
274
298
311
274
298
356
284
334
345
346
360
367
279
324
368
293
307
238
282
313
395
292
341
375
322
351
310
273
308
362
383
351
344
333
311
355
330
284
351
349
320
284
298
323
291
335
258
386
330
339
365
372
331
269
323
371
331
325
296
348
357
223
322
280
301
324
323
341
316
275
316
333
309
351
343
261
279
230
334
335
327
307
331
290
296
344
271
334
314
314
418
302
308
284
343
298
353
322
291
325
310
357
285
303
253
356
319
326
375
310
310
254
334
379
377
309
279
341
264
354
305
327
282
299
294
339
386
335
362
354
345
343
252
352
341
343
322
347
285
320
238
355
406
274
255
311
268
260
276
278
332
296
358
348
294
325
228
304
371
267
365
324
312
315
279
291
334
354
325
397
350
350
277
290
331
368
252
283
413
367
341
257
342
322
335
282
279
284
392
290
329
303
286
278
336
266
285
428
318
310
368
222
355
272
354
299
277
334
330
279
297
318
287
278
283
298
344
284
327
307
390
245
313
263
337
322
290
380
302
316
283
238
340
291
261
290
308
309
324
397
321
288
344
373
312
315
300
346
274
352
329
338
365
340
263
354
320
372
278
314
280
307
336
247
357
291
288
317
364
245
313
299
303
288
276
325
356
326
401
387
294
280
348
317
341
292
370
288
246
262
315
403
278
289
328
339
293
275
312
362
319
342
328
339
357
269
316
347
435
315
293
306
259
309
283
323
295
313
325
365
259
320
321
322
340
256
329
332
277
371
304
283
316
213
419
355
414
326
302
371
334
342
256
311
304
296
266
298
293
252
356
261
255
345
291
273
341
391
347
303
244
365
343
318
280
300
238
307
376
323
286
315
322
363
321
399
319
343
248
383
209
282
301
311
339
266
383
375
319
302
369
340
216
307
317
293
337
270
325
296
281
299
310
402
323
314
286
291
415
306
280
306
243
322
311
313
376
325
237
327
348
365
281
360
317
361
304
301
344
316
352
307
292
347
203
287
319
285
271
342
360
322
298
360
427
345
275
339
276
399
314
327
340
294
373
298
313
320
363
337
350
291
330
315
392
363
298
272
269
232
407
331
312
305
293
303
300
287
284
353
277
315
273
338
337
364
278
292
359
329
324
438
320
295
315
371
325
369
418
284
361
404
349
248
315
362
316
342
342
359
331
336
329
240
319
336
328
261
249
320
272
383
331
297
310
399
236
297
293
347
340
278
363
255
285
334
244
258
332
338
259
277
339
398
313
328
341
331
282
371
293
240
279
306
396
344
333
263
312
255
288
408
311
332
358
247
345
304
244
305
287
316
331
315
295
311
336
397
299
203
328
319
338
256
303
301
349
326
340
264
297
334
245
255
304
335
364
409
273
295
278
319
341
308
412
299
268
356
402
306
365
294
356
242
320
384
339
369
289
363
313
340
365
288
378
345
339
306
343
376
334
301
325
358
289
347
278
376
376
323
363
325
293
336
332
299
269
289
286
303
328
318
374
226
289
365
280
397
402
295
305
327
351
356
319
288
315
293
352
350
324
331
353
290
301
327
332
237
371
306
328
328
343
277
353
292
277
305
324
298
372
257
318
262
303
289
270
308
331
430
374
332
317
327
301
317
268
310
300
391
321
322
353
399
334
322
356
298
360
370
243
422
261
379
356
298
269
360
359
289
318
334
369
372
334
367
257
346
299
301
390
386
356
337
394
327
369
269
273
372
242
399
332
325
331
278
251
324
276
273
285
340
286
318
308
370
334
384
387
408
415
355
348
334
391
322
390
355
237
289
291
312
302
275
238
240
380
230
312
275
318
317
293
307
299
387
283
266
268
395
270
288
371
298
327
311
309
287
320
307
286
336
305
251
281
303
355
255
285
267
325
322
267
359
330
284
301
324
270
306
328
321
275
420
307
228
209
223
334
354
306
382
318
306
305
261
407
264
277
375
356
334
357
278
300
310
321
310
412
354
292
291
322
334
374
282
409
322
318
326
335
344
317
343
286
306
327
283
360
271
212
330
349
359
437
303
314
289
334
271
316
334
318
376
400
333
278
201
216
323
310
352
410
338
353
333
265
265
280
284
330
285
322
304
299
252
272
326
326
345
240
308
252
340
269
268
280
313
293
336
312
298
379
390
321
364
328
310
283
374
332
268
296
294
363
371
257
302
410
309
355
290
242
295
257
269
354
290
257
282
324
267
290
307
337
365
325
300
425
271
332
370
392
297
326
289
302
390
264
278
330
297
363
293
355
322
345
320
395
400
361
265
351
321
306
272
314
274
313
331
279
287
322
253
278
329
330
298
243
327
292
355
279
323
333
284
340
374
341
240
206
322
227
274
307
292
232
316
355
363
339
299
311
303
340
313
287
306
258
355
327
312
301
272
313
242
285
319
275
334
363
438
296
300
394
400
317
321
239
273
271
323
217
347
352
306
273
390
372
334
352
385
399
343
360
316
293
305
347
298
256
281
349
260
369
339
304
261
300
300
272
296
304
395
264
292
333
370
398
365
325
301
340
307
390
276
305
265
305
323
348
294
347
342
321
337
289
300
313
278
351
291
301
424
335
421
313
333
350
366
338
316
252
331
375
330
369
313
300
332
315
357
368
376
302
336
341
268
308
351
304
321
326
284
415
285
308
354
307
376
286
253
351
288
370
353
226
310
395
294
368
284
295
353
317
331
368
350
316
345
368
183
382
343
309
362
289
336
242
300
336
262
391
333
354
285
328
270
343
270
271
380
350
245
335
364
259
317
229
356
380
323
310
245
289
395
320
344
321
272
371
299
336
296
406
319
278
322
294
282
271
246
298
313
334
233
337
303
290
321
327
391
275
308
385
380
288
237
271
267
291
339
331
290
286
205
320
315
318
259
317
304
352
281
364
384
382
361
222
342
364
359
244
353
297
335
313
267
349
321
333
370
365
339
289
312
368
390
287
445
238
370
333
350
349
284
265
301
377
303
388
323
341
328
274
302
389
248
254
355
281
274
259
303
264
306
309
387
272
250
292
270
316
372
331
353
338
253
293
399
363
300
365
293
318
282
406
295
389
312
327
396
320
249
324
296
336
354
318
325
333
301
291
309
253
335
332
366
371
320
269
318
308
370
287
316
310
250
300
343
297
262
338
349
272
333
319
372
345
283
373
279
292
302
227
324
302
361
389
345
280
338
287
286
258
165
351
325
267
312
357
391
293
274
326
309
313
337
384
292
354
286
345
311
315
370
335
249
398
268
288
328
388
273
314
317
315
324
297
280
292
305
273
273
287
323
199
255
292
350
262
302
308
258
285
289
328
353
268
379
320
328
367
347
329
326
248
298
343
240
333
327
322
308
319
267
257
377
322
277
326
273
291
303
310
369
316
283
387
387
323
298
371
243
322
263
375
283
390
295
310
223
378
310
329
311
267
376
336
298
285
311
297
359
303
348
327
271
364
262
228
320
285
334
293
373
256
307
385
325
288
266
334
297
235
321
313
364
281
404
280
346
254
330
314
397
287
287
337
285
330
209
397
277
421
332
318
259
360
279
269
211
331
270
377
349
339
348
365
239
326
343
270
407
402
269
337
344
256
300
296
300
390
332
269
327
308
325
326
331
273
356
261
413
293
310
300
315
337
292
342
226
284
311
352
278
311
308
328
305
310
323
312
358
279
279
370
296
260
305
379
342
305
316
299
346
250
342
322
367
277
367
366
306
341
374
245
321
304
320
279
323
317
290
349
420
401
347
340
316
293
205
291
230
232
271
293
363
281
366
262
359
233
330
315
301
248
306
392
287
339
366
304
228
314
321
406
387
323
328
265
304
300
328
290
218
324
287
294
364
251
326
348
360
305
277
359
294
259
359
334
322
347
289
354
280
319
408
256
278
355
262
300
244
331
283
363
267
353
310
283
339
361
275
290
314
364
328
387
209
371
274
291
378
304
325
247
184
228
331
346
328
340
344
368
338
274
338
262
321
261
337
316
332
290
291
331
328
273
275
378
371
282
304
314
321
313
348
455
343
317
289
325
369
283
307
298
308
335
372
297
278
311
273
315
351
296
281
310
340
372
287
293
338
316
287
321
307
301
310
269
290
292
326
378
389
274
234
371
281
369
273
390
397
334
298
238
296
365
338
280
350
246
395
284
265
300
288
310
268
306
325
303
332
310
352
312
326
345
395
313
297
290
346
277
293
257
363
420
322
267
254
320
345
337
280
284
253
344
315
370
289
324
298
378
285
330
343
281
316
244
354
360
312
356
310
279
356
225
336
312
337
351
287
335
286
302
345
379
285
318
269
431
360
303
299
277
326
368
261
328
250
258
288
336
363
282
283
327
400
298
253
272
357
213
354
397
274
293
322
319
309
298
397
293
260
358
306
233
263
316
334
294
347
299
300
365
359
367
325
366
310
304
239
297
298
339
332
292
211
347
297
268
306
329
310
334
334
309
307
352
356
189
302
298
310
292
291
359
328
401
335
395
398
328
263
371
449
294
272
320
250
244
314
280
374
368
397
268
280
296
397
238
384
298
307
249
402
313
373
257
254
304
341
268
346
310
244
261
401
375
283
331
386
295
236
320
323
264
353
295
340
388
370
265
379
235
363
317
334
331
420
334
363
349
313
408
243
351
369
366
405
353
321
324
272
305
367
320
290
364
352
322
283
344
326
326
370
354
324
346
249
345
349
292
292
286
370
292
319
312
267
245
283
308
326
334
279
277
276
240
358
319
305
334
248
304
357
394
310
319
368
373
345
294
277
394
266
279
280
336
313
299
374
335
256
333
278
303
371
363
294
411
359
338
358
253
364
348
340
276
354
306
363
315
327
234
268
334
262
364
278
333
295
340
365
341
359
321
403
321
293
286
368
302
312
278
313
285
324
342
352
325
337
311
316
345
296
326
320
357
283
300
307
315
360
278
355
281
381
286
341
337
290
311
391
395
331
220
245
386
325
335
368
355
331
293
324
298
307
312
353
292
326
325
293
333
296
256
313
305
312
359
293
275
390
295
376
357
312
321
381
316
284
324
357
276
355
278
323
330
287
356
357
351
404
307
328
320
305
283
318
263
394
370
214
284
258
290
298
347
257
405
263
361
409
289
304
302
365
349
247
360
344
273
308
251
257
241
401
335
292
394
291
351
370
269
362
320
342
326
328
285
296
269
344
272
209
274
239
361
312
383
380
278
340
383
385
310
292
326
268
275
230
271
326
354
313
288
329
311
314
337
319
307
338
300
371
271
334
293
381
255
284
272
266
310
366
312
292
310
254
261
369
327
295
349
302
368
299
340
307
319
342
302
296
253
396
214
283
392
388
328
345
394
367
343
353
298
273
312
287
344
319
321
322
345
320
399
259
269
242
315
347
307
308
304
345
318
250
311
276
330
350
303
303
312
362
263
343
377
261
412
314
398
286
399
336
413
371
297
308
290
256
272
419
282
313
271
354
358
301
282
250
267
351
399
352
371
347
296
267
343
340
283
236
324
322
314
249
282
322
356
351
356
301
346
254
400
356
393
296
259
338
308
281
347
275
325
283
347
258
344
311
296
318
253
350
310
333
350
364
425
285
378
374
378
298
265
328
357
354
336
435
186
233
238
296
204
292
301
358
328
267
298
273
319
323
302
248
279
366
341
357
325
357
371
339
350
260
254
233
283
332
341
235
339
343
215
277
337
260
388
326
344
348
331
379
363
310
277
207
309
287
305
321
327
303
304
299
302
377
307
311
357
339
356
271
332
299
365
318
393
318
343
303
338
344
328
358
283
280
277
252
318
337
307
389
382
301
299
365
323
331
274
302
317
356
298
277
318
350
292
329
347
299
209
291
303
296
335
377
288
290
408
270
418
357
335
377
364
324
391
395
349
350
359
308
271
343
402
297
319
298
288
327
229
318
338
329
369
272
396
312
275
320
266
384
243
326
392
285
325
312
329
364
311
369
244
264
325
244
316
229
301
196
369
273
355
274
279
289
279
287
311
340
317
241
353
278
281
300
302
339
360
312
362
333
360
305
314
347
264
304
303
398
330
361
267
345
278
354
348
339
280
193
294
327
338
358
254
350
343
361
363
287
326
336
268
327
292
333
244
293
343
326
368
282
337
284
280
389
264
336
281
226
355
276
288
346
263
310
329
304
303
291
236
337
338
292
376
376
256
358
263
319
322
215
305
290
272
363
287
300
366
293
331
362
387
282
297
361
383
317
357
360
381
306
284
339
314
297
348
292
307
312
257
273
325
238
300
358
279
255
272
298
298
253
369
332
329
344
341
337
290
323
291
413
346
305
278
274
343
332
377
308
270
308
324
338
366
202
317
322
368
253
328
253
332
319
331
361
290
327
314
303
300
212
247
328
321
274
405
331
291
264
345
354
266
377
319
322
313
390
348
421
336
293
219
266
339
333
289
336
294
261
375
354
386
284
253
311
343
312
304
330
420
297
262
275
292
335
308
317
257
319
299
342
317
302
237
294
349
264
297
291
304
331
312
300
362
335
272
381
258
245
311
327
330
293
314
257
248
277
309
350
335
309
299
375
358
372
367
382
414
366
244
380
297
335
399
399
371
322
306
212
283
200
312
305
324
291
294
299
278
242
367
308
342
309
307
364
306
213
389
382
388
304
300
316
265
345
311
337
262
326
393
388
307
290
279
255
317
300
342
337
280
286
309
298
329
311
341
291
215
341
305
340
308
273
295
285
312
314
293
318
329
387
236
249
415
378
290
275
248
362
344
264
311
286
310
306
274
261
443
321
311
318
348
348
382
293
327
387
285
296
310
327
241
275
287
406
430
249
364
304
265
257
309
271
281
390
406
290
263
348
324
281
317
267
315
308
327
297
403
270
379
303
313
323
301
342
304
325
281
337
375
264
302
408
271
279
297
343
291
361
285
324
316
354
361
281
293
323
305
241
319
401
345
291
298
235
332
331
300
400
313
308
265
379
329
287
327
306
320
271
297
243
338
347
287
346
279
293
354
264
272
295
325
320
272
280
302
321
322
244
345
317
393
255
296
315
395
305
286
245
237
314
277
384
227
254
356
349
313
315
272
364
318
342
275
373
208
307
385
285
313
330
303
305
264
295
302
363
365
295
251
347
358
299
369
387
277
361
322
301
349
266
299
327
314
369
224
339
307
308
391
289
311
336
303
271
374
241
327
373
351
298
267
399
277
403
320
351
344
330
365
203
297
265
296
256
312
291
363
284
322
427
381
354
270
255
309
306
336
260
332
283
314
322
352
311
329
273
396
334
252
309
366
403
359
330
382
444
245
349
348
303
306
318
341
335
235
265
330
333
286
413
317
289
349
406
250
329
297
315
356
404
300
348
421
345
387
406
294
227
402
355
289
223
303
343
348
287
311
341
346
268
264
287
321
338
312
323
287
330
364
295
329
337
343
368
321
398
361
361
297
308
403
265
295
322
345
287
351
275
324
298
306
341
327
286
380
296
372
247
250
342
268
341
367
341
322
341
313
290
292
323
366
304
347
290
355
273
376
312
339
399
292
307
311
322
319
344
220
266
316
269
330
366
326
308
290
340
348
325
322
274
330
255
278
297
302
323
335
279
242
227
280
306
326
272
310
363
239
314
315
418
359
325
369
252
286
341
339
242
253
321
427
356
269
384
327
333
358
285
274
275
298
270
304
381
286
378
361
279
393
321
287
298
249
332
299
363
307
405
343
333
345
286
325
307
319
339
353
289
322
271
369
343
326
249
367
329
347
298
335
281
301
297
323
370
276
321
296
319
328
250
396
320
347
178
323
395
332
275
288
297
377
302
307
283
315
355
260
294
337
333
327
309
384
252
240
387
227
347
322
326
281
384
329
202
339
296
376
377
232
271
320
256
324
275
359
341
282
265
309
323
337
266
346
375
357
328
335
356
342
260
319
256
357
346
347
292
342
320
326
331
319
332
339
317
340
308
366
280
310
261
316
334
353
350
312
268
320
334
299
241
284
332
331
347
326
272
248
369
236
319
306
315
365
310
335
405
306
434
340
331
377
360
332
278
306
297
272
269
335
381
253
308
280
329
389
370
255
370
369
456
219
326
307
314
299
371
330
336
297
369
300
296
308
333
305
374
258
356
313
389
297
315
256
324
298
334
401
401
361
323
310
295
357
384
299
357
263
278
318
329
340
357
330
232
275
320
346
311
365
324
326
259
335
309
334
307
266
286
368
297
290
331
334
323
402
349
254
250
298
383
326
390
325
246
254
324
324
310
309
291
278
264
290
356
368
369
386
363
321
287
305
274
362
317
327
339
306
387
407
328
276
249
324
345
332
353
247
308
306
246
262
322
309
243
292
278
332
261
281
286
377
257
273
370
279
333
257
366
239
351
271
297
378
257
325
300
296
393
290
386
318
289
339
296
324
258
351
401
301
307
347
304
311
198
375
386
356
299
302
324
332
346
346
306
268
328
297
337
299
340
306
324
263
347
242
360
349
267
401
325
251
290
303
380
340
340
295
300
371
284
355
351
314
312
351
283
369
274
281
266
301
422
346
331
321
364
322
292
221
327
278
364
312
296
244
332
272
297
335
346
279
306
252
328
318
290
323
321
237
344
226
244
253
407
336
324
315
433
290
393
329
335
193
237
286
272
316
325
278
312
370
320
356
255
303
303
282
355
353
265
365
344
319
363
340
304
339
305
378
378
280
212
246
343
220
282
259
305
358
302
358
290
252
276
295
347
328
380
330
341
303
333
345
358
337
318
319
289
346
314
287
284
241
280
368
358
287
375
327
308
272
288
309
303
309
238
336
275
317
251
297
296
377
307
433
261
293
224
279
363
416
251
295
235
415
323
368
348
338
312
349
339
250
386
360
275
371
365
290
301
358
314
342
299
382
286
297
304
280
259
222
276
339
273
359
357
285
368
423
388
291
372
335
313
331
322
243
294
305
332
316
403
354
325
306
315
337
236
216
332
335
355
294
340
391
332
293
222
415
297
387
387
331
305
297
332
365
294
335
312
337
226
386
286
353
250
356
353
298
337
319
368
356
322
321
419
343
303
343
320
397
248
309
240
322
342
314
381
340
362
283
283
356
265
332
352
348
302
340
249
303
240
292
385
305
293
339
332
316
391
325
346
251
298
334
272
261
239
320
357
270
289
309
359
314
287
303
259
357
229
213
334
344
297
250
328
257
330
293
303
237
368
279
273
356
271
291
311
277
263
289
320
238
351
320
347
315
295
250
325
326
430
269
303
302
278
254
234
359
366
284
317
365
308
242
285
323
331
372
328
310
320
271
264
346
332
411
320
338
331
358
390
255
281
343
279
247
312
390
371
384
341
324
265
306
364
259
316
337
319
349
218
315
325
308
350
313
245
309
268
316
308
240
248
334
319
290
336
317
290
331
376
318
312
278
291
365
307
342
348
224
247
350
335
350
330
327
335
331
319
305
315
331
314
267
297
268
309
273
333
349
375
335
280
412
253
323
401
430
263
295
376
299
316
347
275
281
339
324
388
339
343
315
271
237
342
304
269
325
254
303
232
315
335
268
305
249
347
369
333
180
314
373
258
324
302
352
346
314
305
335
285
322
290
270
306
369
389
305
292
303
300
279
324
282
339
367
342
358
337
349
338
275
335
372
344
325
280
301
344
337
310
231
294
334
269
220
297
367
364
391
231
328
323
319
266
352
328
313
308
300
399
330
349
345
350
303
359
291
332
352
376
298
223
329
265
323
256
380
333
321
332
269
304
286
267
262
314
378
396
330
189
378
244
343
313
325
337
266
279
334
284
211
258
302
402
328
375
274
324
364
277
333
354
263
377
238
278
198
255
398
324
271
292
291
279
330
317
320
380
319
288
382
326
346
318
283
353
296
291
371
306
328
299
317
392
345
342
327
245
329
328
300
274
383
289
358
342
311
299
326
402
208
280
341
234
334
242
262
334
305
392
248
341
270
211
336
254
277
350
275
306
384
379
355
372
356
352
235
317
303
349
300
280
345
342
280
331
286
364
323
352
304
366
323
216
330
212
243
339
378
344
271
324
319
306
315
333
271
285
231
329
278
346
230
302
341
376
299
404
369
323
377
299
335
290
372
258
226
354
353
261
364
265
312
289
356
337
322
298
318
373
360
333
330
311
329
350
284
369
314
278
359
254
317
363
305
321
301
292
294
316
238
228
313
386
361
359
285
306
329
277
307
355
253
390
277
329
369
334
329
299
304
333
308
260
296
351
214
350
328
300
390
341
245
331
384
304
297
298
326
305
385
392
285
332
383
304
257
267
285
315
310
296
306
349
297
270
348
244
325
300
315
326
332
277
325
300
292
235
270
291
366
338
283
313
357
383
344
350
276
341
387
299
421
340
300
293
293
306
218
278
329
339
189
338
316
332
344
301
380
323
195
271
266
342
314
298
314
366
378
297
297
293
354
219
303
322
229
296
312
371
275
321
401
324
274
342
316
302
345
392
230
351
373
228
351
266
343
254
337
306
260
325
298
350
383
348
336
244
316
326
300
323
305
279
268
337
356
353
292
284
340
289
322
340
338
295
280
420
284
309
326
275
284
377
261
265
416
370
364
284
257
301
351
310
370
324
346
305
309
328
327
295
365
306
277
306
345
319
343
355
268
282
284
393
332
325
328
287
334
319
323
312
333
372
290
300
373
292
398
306
298
306
304
279
216
381
269
316
307
272
274
338
336
330
306
368
338
321
339
263
279
359
271
260
312
263
244
358
250
315
377
339
295
344
250
285
276
356
261
285
298
221
299
254
351
274
387
294
404
328
354
356
336
388
353
347
379
265
296
343
354
379
349
298
265
283
287
329
308
288
271
330
345
311
291
240
269
318
236
277
224
306
274
371
401
384
299
352
314
316
315
253
309
355
243
210
337
331
348
332
293
308
258
296
348
359
216
321
244
311
395
265
362
357
294
336
267
301
332
239
230
401
299
388
236
305
290
312
306
401
348
292
317
354
232
357
308
347
284
374
285
299
328
353
340
294
315
338
289
394
382
306
353
272
330
307
345
296
310
339
324
313
337
323
267
362
321
352
367
174
297
282
286
345
288
318
244
245
317
311
377
365
267
323
260
357
342
368
339
278
321
371
345
288
291
282
280
213
306
333
301
324
350
300
396
285
298
256
305
310
310
336
287
268
268
307
360
356
315
347
367
299
260
279
345
336
258
329
338
302
326
305
362
243
435
283
305
311
252
311
234
405
280
383
354
314
307
363
339
353
312
299
326
296
341
386
244
296
369
258
279
193
287
307
329
388
337
362
267
316
286
326
408
264
225
338
394
290
452
350
314
277
360
302
315
367
382
318
347
324
301
297
342
357
290
253
334
286
360
319
364
364
296
286
312
330
370
326
331
327
301
329
322
330
375
360
287
260
331
337
327
238
305
303
309
330
307
278
309
253
417
311
313
268
281
335
271
307
392
286
319
217
321
326
303
379
271
359
370
279
291
349
306
297
321
352
343
312
248
318
332
298
253
324
289
380
298
334
223
344
305
275
289
294
378
238
337
310
236
275
324
253
353
284
335
240
383
213
306
323
313
271
338
316
348
252
370
273
261
318
325
266
353
294
353
334
299
296
313
318
286
377
272
330
275
299
318
350
326
273
331
373
326
271
293
331
313
284
409
341
320
360
352
304
293
347
360
293
297
304
321
334
254
275
315
341
277
318
278
302
274
323
259
287
262
300
359
278
371
301
279
303
284
286
247
326
317
399
275
368
364
335
385
395
313
282
233
351
347
300
322
313
247
308
287
249
301
274
342
309
297
282
357
422
366
272
308
383
321
277
335
261
212
351
340
243
231
265
279
318
314
359
306
353
352
331
332
303
371
411
318
313
364
373
328
405
282
231
328
379
367
345
380
268
389
296
391
276
160
317
384
235
294
344
359
297
233
342
303
302
363
299
290
249
306
329
310
313
262
295
311
354
327
343
353
313
336
304
276
322
348
258
283
290
357
268
375
364
297
308
369
278
360
387
256
337
334
341
274
286
361
346
323
380
326
375
354
330
330
357
320
311
371
299
345
287
263
391
259
293
388
280
205
292
348
292
288
285
243
367
291
303
321
245
304
183
238
324
334
344
324
301
283
309
323
334
256
295
365
370
306
290
347
383
341
278
293
320
344
351
388
318
299
373
363
264
301
365
392
341
317
285
298
293
266
336
357
356
355
334
278
382
287
328
311
325
291
308
307
282
341
372
349
339
294
285
278
285
309
304
268
292
327
228
327
305
270
322
372
203
349
326
216
307
413
299
330
326
305
330
360
344
428
310
377
371
276
273
319
302
245
257
336
345
354
339
305
252
364
285
264
308
336
337
266
331
257
384
296
391
338
305
342
298
353
262
298
307
254
323
243
340
409
360
228
312
344
388
355
257
267
370
334
291
335
332
285
277
330
324
287
351
236
294
325
326
271
331
228
273
417
276
339
391
212
281
367
385
347
276
315
315
390
286
253
321
352
240
327
348
341
276
352
268
307
357
335
349
358
309
434
345
293
329
220
368
313
313
275
335
334
338
295
316
341
379
337
325
253
233
374
319
307
281
331
283
389
338
243
355
310
297
321
331
339
275
262
310
381
374
377
311
287
266
322
286
246
251
327
372
266
264
312
374
192
283
319
281
326
326
271
287
368
325
344
330
287
307
313
321
373
374
328
377
249
312
302
341
338
316
383
319
307
408
289
312
328
355
291
300
339
327
260
265
315
306
417
267
309
287
286
397
288
309
298
313
260
375
372
252
260
309
325
318
373
296
378
321
364
400
322
289
310
330
270
398
330
369
328
252
310
334
322
324
226
281
346
297
380
307
385
284
296
284
270
283
370
298
307
304
381
348
272
324
344
325
275
298
409
388
338
317
341
329
229
350
271
396
280
251
343
397
326
251
309
256
270
348
341
321
294
386
292
256
398
309
360
320
396
285
324
392
308
306
300
325
250
316
332
353
275
363
386
308
318
323
333
275
391
310
296
355
312
293
348
354
357
297
325
321
274
235
270
270
325
225
287
334
337
311
375
309
295
265
322
322
338
352
347
308
366
371
356
277
331
322
338
287
308
301
303
286
250
356
330
313
318
362
338
327
378
225
291
312
279
311
271
398
287
408
358
282
341
341
286
318
295
333
289
370
283
230
245
325
320
357
340
346
382
381
317
360
259
277
283
320
325
340
274
284
327
285
197
280
301
335
285
339
292
312
332
306
346
346
323
318
348
272
252
453
304
263
352
259
331
254
248
243
291
269
355
294
349
290
381
267
325
353
322
300
335
333
337
345
332
304
368
292
357
323
314
348
281
378
297
339
266
320
290
299
318
326
343
313
280
310
352
303
337
304
355
283
367
274
278
281
366
227
257
330
298
304
320
333
305
380
322
314
381
357
290
343
361
230
333
295
299
455
306
285
305
310
335
431
313
292
291
349
266
292
300
354
330
309
375
241
297
371
267
350
300
301
347
336
270
282
263
269
300
347
281
301
356
338
310
407
348
415
279
368
307
398
336
262
342
466
362
282
304
288
297
234
282
343
286
284
396
394
408
257
267
295
341
276
299
363
258
350
350
324
315
359
297
314
287
259
292
351
308
329
364
315
392
291
322
392
357
260
323
358
264
325
279
273
344
368
301
322
258
386
261
384
278
329
337
347
324
356
304
343
351
329
312
349
355
289
292
344
325
285
309
328
435
278
389
442
336
342
351
312
185
379
274
355
282
228
403
317
397
239
307
338
257
318
310
380
374
351
274
315
329
318
328
369
301
335
310
233
236
345
296
378
339
364
392
340
318
275
278
323
298
351
328
367
366
310
341
264
228
331
315
377
322
378
377
260
341
238
267
289
289
273
322
378
334
316
337
328
345
322
367
367
361
326
232
372
310
366
328
252
390
305
306
239
352
279
309
288
292
285
332
308
327
379
238
331
304
360
320
255
202
314
321
361
388
293
322
374
377
337
331
342
275
290
294
296
305
339
232
314
383
270
410
261
293
358
365
379
319
308
282
350
344
311
291
328
307
395
308
394
355
358
348
308
344
295
244
326
313
274
356
332
259
234
278
310
338
369
269
307
346
280
327
374
349
288
334
394
347
366
351
241
314
313
246
321
289
321
289
358
191
338
307
406
291
319
361
336
254
269
292
407
373
305
292
212
287
282
340
349
278
314
332
316
348
412
268
318
424
341
347
295
356
333
260
278
339
321
379
308
302
312
331
345
354
398
224
299
327
349
335
234
214
313
366
359
322
334
322
368
304
326
319
286
257
207
263
296
328
231
286
345
341
358
345
293
285
335
303
312
319
288
250
350
292
309
290
290
326
324
374
403
273
283
322
278
281
290
380
327
210
321
342
282
340
300
358
297
300
352
347
310
390
284
342
388
364
362
334
352
417
365
305
245
367
305
301
283
345
281
285
322
372
355
281
271
253
299
378
220
345
276
291
257
380
341
383
328
277
351
303
347
409
354
273
337
353
252
280
345
230
296
218
291
326
394
324
294
283
320
337
340
267
328
271
322
349
226
389
266
340
305
301
282
317
338
274
272
414
248
350
287
273
312
281
285
331
213
288
342
336
357
377
224
312
334
299
264
338
224
246
295
274
260
378
348
310
322
333
340
259
270
329
248
299
337
194
289
273
349
310
255
289
305
353
349
232
354
283
352
306
348
317
263
366
302
377
291
273
393
288
332
325
239
294
451
332
362
344
319
289
250
343
384
352
338
347
371
377
367
375
346
241
334
372
342
330
299
376
351
369
157
201
334
373
327
379
315
330
284
262
321
350
265
346
323
339
298
265
316
363
244
282
347
285
314
207
321
299
384
246
279
433
322
347
391
261
309
374
310
304
300
356
345
379
340
380
298
331
338
323
276
405
345
354
299
387
284
244
391
276
327
323
335
291
335
322
294
314
216
263
400
320
344
307
330
274
267
291
337
339
312
311
334
350
312
360
291
242
266
295
391
306
345
311
296
371
291
303
339
356
328
269
331
277
317
335
299
272
301
326
340
305
352
364
277
380
294
354
345
320
235
446
355
319
271
348
271
365
375
358
436
353
293
392
307
324
261
334
327
389
308
336
334
302
362
344
287
416
274
319
324
278
268
278
298
260
319
296
351
344
392
300
385
230
309
273
305
335
345
316
196
382
327
369
370
304
264
349
353
264
360
269
410
243
370
281
318
378
366
378
368
236
303
330
392
300
290
312
256
236
258
248
372
247
135
233
282
319
333
349
400
368
345
383
292
369
253
373
286
385
316
434
340
315
334
282
391
335
354
329
321
293
352
284
325
292
303
314
314
304
324
340
381
348
257
339
322
289
338
341
409
306
279
263
272
297
350
370
248
372
374
324
363
312
298
313
309
264
245
320
248
252
265
235
413
293
324
392
369
321
253
325
291
317
275
398
273
287
317
450
268
373
226
260
281
315
329
305
307
348
246
230
330
324
316
204
369
242
285
321
277
304
309
351
349
316
268
271
344
296
320
334
260
374
354
336
308
313
315
283
311
266
270
301
254
279
294
360
259
187
340
303
311
343
323
389
286
353
325
282
333
346
381
326
310
242
281
277
287
374
325
256
342
307
379
279
301
289
291
272
283
338
388
309
303
350
335
354
217
286
330
292
254
302
303
297
216
294
325
298
287
312
311
287
351
390
355
343
319
323
349
325
229
305
294
333
351
276
315
316
365
304
280
352
309
328
262
295
251
305
329
236
334
335
323
255
295
359
333
398
318
335
235
339
304
371
334
346
364
285
355
370
360
325
293
264
281
374
241
390
278
264
284
370
307
228
267
349
432
382
345
263
348
282
332
262
331
334
320
360
267
306
280
305
321
296
375
285
287
380
318
279
282
253
286
321
309
312
256
419
391
337
267
381
254
378
305
285
324
287
317
320
277
298
285
310
327
330
334
292
253
331
323
284
278
248
284
350
286
305
314
318
350
331
339
256
327
279
345
270
289
242
273
283
336
341
379
277
356
288
341
279
301
318
362
340
323
359
317
283
270
293
360
297
334
364
337
257
330
323
268
287
337
337
270
357
265
321
308
259
397
317
368
341
320
298
280
341
270
278
291
298
322
334
410
394
375
292
330
309
271
299
352
249
306
299
361
326
366
394
337
221
329
328
353
267
294
285
303
311
323
406
260
324
299
329
228
347
357
293
317
283
239
308
417
303
279
266
328
361
354
335
254
355
395
333
369
315
333
336
339
311
291
368
274
284
401
351
321
324
378
304
380
366
404
339
338
319
258
294
411
324
282
294
319
239
314
325
357
358
325
337
295
343
238
328
295
260
374
281
361
324
321
354
326
346
317
249
345
272
419
343
298
338
340
340
304
335
240
259
342
280
343
332
273
347
364
309
371
306
332
331
301
295
268
336
350
337
286
324
274
294
267
234
326
292
318
326
246
292
252
364
368
267
412
316
298
341
272
357
266
321
372
317
322
380
367
230
270
311
292
310
404
389
305
353
294
351
341
350
342
268
290
291
242
299
278
292
389
374
296
354
362
298
321
323
240
306
351
347
395
314
377
321
262
335
447
252
374
364
327
334
346
333
367
284
357
300
272
262
282
299
397
309
309
371
292
268
307
342
282
293
263
336
354
306
342
400
365
281
384
229
307
261
391
264
322
343
264
308
322
341
347
359
255
305
305
339
320
362
313
361
295
278
359
289
338
294
291
296
352
385
408
330
307
364
370
337
305
313
337
263
338
361
205
354
326
319
354
276
307
264
394
331
314
328
230
347
399
310
302
370
237
212
282
305
332
293
304
376
342
340
320
337
364
329
324
266
221
339
331
287
270
346
282
359
402
337
334
317
289
381
268
385
349
369
311
343
324
354
340
308
329
334
266
411
270
347
319
253
315
280
340
367
258
334
368
375
287
352
323
302
385
323
352
310
332
358
239
351
306
330
345
365
301
349
405
309
233
244
305
380
268
269
355
317
261
403
258
391
334
364
383
329
358
303
284
257
304
314
326
262
318
279
395
350
322
341
242
300
256
275
323
377
304
286
267
276
352
330
333
341
386
289
364
346
328
311
322
303
377
310
370
306
211
369
316
357
233
345
305
344
280
330
369
265
373
339
310
300
280
297
289
281
264
331
319
373
334
328
307
319
328
382
316
305
346
278
314
357
406
311
373
337
256
288
338
270
349
357
328
349
390
288
319
275
290
283
360
325
267
289
397
293
303
331
257
383
341
323
301
376
318
326
364
235
306
319
262
322
214
342
249
367
330
358
343
261
308
337
310
299
296
277
260
271
335
238
237
367
323
304
285
293
368
195
280
271
370
306
278
316
338
328
281
399
322
434
401
341
362
329
387
370
340
389
413
327
302
338
364
358
304
325
296
288
330
392
332
235
257
274
335
341
271
391
364
380
303
324
343
360
371
317
318
305
364
313
321
289
334
283
298
324
267
322
282
281
295
334
343
270
301
353
281
313
350
310
316
376
310
354
337
371
322
261
286
314
349
298
316
337
258
361
347
351
294
287
302
328
290
305
293
283
249
242
353
312
364
354
290
331
259
290
305
267
281
376
254
328
309
283
411
296
326
357
378
325
331
309
376
340
246
340
336
280
329
346
374
278
271
310
335
326
327
369
291
230
297
304
355
256
355
334
258
260
401
322
233
302
284
225
283
330
319
252
346
253
295
300
213
293
272
307
283
295
246
321
281
295
329
318
378
344
320
387
229
302
270
337
335
289
254
365
334
302
314
371
298
281
290
325
247
297
299
345
357
331
316
313
358
253
366
331
276
359
310
310
239
276
345
377
383
320
301
332
355
280
290
370
407
257
281
286
215
219
287
317
292
378
286
311
385
411
395
292
373
311
304
353
392
273
303
316
314
314
219
385
291
279
234
347
280
325
265
200
342
346
283
368
362
319
365
281
291
329
243
315
314
260
287
368
389
318
371
365
349
369
320
322
348
388
326
302
391
262
327
379
236
412
293
312
324
337
407
270
298
257
265
335
328
349
286
315
366
373
330
229
277
286
301
299
276
350
317
215
367
355
271
268
355
329
357
259
313
359
268
289
385
272
335
360
372
271
366
337
309
323
367
268
317
258
352
309
193
265
352
328
386
368
300
337
318
318
344
267
390
349
257
368
307
259
313
270
272
284
305
308
305
309
320
357
375
361
203
331
315
313
348
302
378
324
313
368
330
333
361
255
335
376
262
306
303
306
308
362
366
305
285
257
322
258
344
257
308
373
338
293
341
385
268
345
197
302
334
324
290
297
281
323
220
301
328
332
338
297
314
368
333
367
338
246
346
314
246
275
266
274
284
285
391
283
372
362
260
323
273
377
241
360
385
358
269
398
366
237
222
306
332
368
369
296
374
349
282
274
297
356
272
247
208
385
312
400
356
272
293
340
363
291
362
379
340
332
276
342
296
261
311
294
242
331
309
364
403
296
385
326
406
331
294
413
392
380
327
243
233
360
345
308
323
389
329
369
343
291
401
314
300
359
319
269
378
243
312
261
366
365
332
279
233
339
353
298
315
277
292
386
294
355
335
352
325
337
367
361
370
334
265
368
259
384
323
349
368
319
309
303
237
290
329
281
336
329
352
260
380
335
293
343
360
291
377
326
327
320
351
363
318
363
365
360
277
320
286
241
341
366
325
308
330
245
325
371
327
226
326
368
331
252
325
316
370
336
345
343
265
357
279
246
313
352
361
315
375
247
344
358
196
293
251
320
283
338
330
350
362
377
248
345
361
263
296
308
242
309
414
348
253
256
358
283
284
325
336
379
382
334
334
353
236
323
279
338
276
314
372
232
298
318
264
346
350
423
289
324
328
352
327
358
339
351
309
340
243
310
440
310
297
293
330
328
287
289
277
276
446
378
285
360
320
304
355
407
330
304
281
327
237
301
326
307
251
276
359
325
315
325
385
303
352
306
329
232
290
269
249
334
258
396
365
240
361
331
309
375
330
285
350
326
291
278
288
315
315
364
367
331
343
315
219
299
303
295
316
389
405
296
361
356
243
260
337
348
286
331
355
336
297
270
360
313
341
289
355
286
371
308
338
311
297
295
334
331
294
304
329
185
331
359
362
379
297
290
309
314
347
359
311
325
323
370
263
359
269
326
397
282
330
360
216
258
356
319
332
318
391
202
341
375
267
358
334
343
319
309
303
264
294
304
299
368
309
277
358
363
340
259
258
293
358
433
363
393
338
293
349
346
270
302
322
385
208
315
351
365
368
320
256
220
267
219
352
258
297
359
266
369
327
303
292
291
316
342
327
368
384
293
278
326
345
289
361
313
327
337
399
278
338
358
354
302
289
318
349
361
338
215
308
343
327
349
276
352
246
300
279
222
177
329
332
224
341
270
259
328
236
329
323
334
270
318
380
346
331
362
216
299
357
348
275
338
423
322
324
340
300
354
326
376
278
268
264
304
315
223
294
294
283
336
265
274
350
338
331
386
268
343
269
312
284
239
287
279
308
327
342
223
295
451
284
283
311
323
259
278
328
264
352
341
241
307
309
337
309
365
314
374
346
344
335
345
370
367
241
311
341
384
400
172
229
330
231
335
240
319
348
351
300
321
384
325
215
281
365
269
354
405
287
323
282
258
284
271
335
420
309
367
314
343
377
295
310
296
253
280
337
305
308
296
384
348
372
357
345
302
301
379
395
285
345
342
364
340
307
363
249
296
341
358
343
376
321
343
403
294
287
330
337
308
391
340
300
337
304
308
210
318
397
348
329
309
323
220
289
278
360
253
440
319
357
323
284
323
361
371
309
352
321
389
350
310
358
323
277
329
235
335
354
214
360
338
367
349
382
305
349
349
332
270
380
366
340
326
305
351
358
364
344
286
260
251
336
275
299
257
345
321
322
277
347
300
226
353
302
348
299
281
224
307
378
225
267
251
319
400
348
303
276
290
365
317
307
290
313
295
340
259
265
348
299
389
288
363
285
334
335
309
405
368
310
364
223
366
339
299
342
332
394
355
356
378
300
354
286
337
313
345
339
300
369
302
355
350
291
341
316
280
271
223
227
342
390
342
290
274
316
325
329
337
343
280
290
273
244
265
277
326
310
343
356
322
280
391
292
290
287
382
333
251
304
366
305
297
252
228
293
318
273
305
268
301
227
322
266
267
294
325
293
321
293
347
298
370
277
298
321
422
331
359
326
315
342
269
297
340
343
351
256
344
384
382
238
337
400
201
266
277
384
278
406
261
236
369
381
261
365
342
320
325
308
307
360
313
232
325
360
300
340
338
261
292
297
377
314
300
259
292
268
240
360
269
373
298
277
346
269
304
304
382
312
368
295
333
348
287
321
252
265
243
271
352
317
373
303
309
351
345
294
295
373
261
274
336
298
253
321
268
289
354
372
247
358
298
310
317
335
369
342
277
315
356
333
328
362
320
204
349
376
375
336
379
335
259
345
283
345
371
306
341
336
331
351
361
225
378
324
323
272
347
360
364
278
325
365
324
285
287
263
316
306
352
284
343
320
294
275
322
324
364
329
317
282
299
368
286
344
358
295
233
293
349
350
230
300
267
404
342
237
283
352
174
277
338
298
244
332
243
267
288
365
252
195
234
307
307
327
342
345
247
348
329
278
327
356
362
320
359
324
380
222
320
264
317
333
394
363
253
291
295
249
302
277
346
361
302
373
281
323
366
304
358
276
278
335
327
288
350
268
334
331
330
290
311
337
255
316
307
345
328
439
368
366
338
344
413
269
314
354
220
326
371
374
293
265
344
393
290
384
242
288
352
346
310
306
350
208
310
294
338
262
330
398
354
302
314
306
301
299
323
302
344
287
307
338
340
305
300
345
348
358
307
351
323
376
290
370
337
356
253
337
415
220
341
296
355
339
284
362
272
364
398
296
375
350
329
367
297
306
299
300
281
343
319
264
310
298
331
257
345
369
347
368
324
316
290
353
342
266
349
361
370
348
351
203
306
335
331
268
341
269
202
334
277
349
357
328
402
347
342
209
272
215
317
263
292
288
255
362
358
303
372
310
271
232
314
336
331
296
284
345
317
382
349
281
319
257
332
378
308
256
305
311
349
249
309
286
361
332
360
363
279
352
308
361
297
296
391
304
320
345
350
292
357
328
312
410
304
380
347
291
287
291
363
346
350
328
300
327
332
259
244
323
308
287
333
331
316
342
322
316
234
319
316
291
346
255
295
278
369
321
323
339
345
318
371
335
237
343
350
258
331
361
327
360
323
334
361
402
336
312
281
326
277
348
343
428
274
326
314
355
367
267
237
383
302
364
369
338
278
326
289
329
368
299
314
294
340
434
258
325
350
307
338
324
308
302
362
366
269
336
317
392
363
336
231
356
287
318
252
228
212
291
288
354
321
335
306
255
272
347
412
192
327
339
277
326
311
283
359
346
370
347
220
299
371
311
393
315
353
309
340
293
340
305
272
291
313
351
320
390
284
316
319
279
247
315
312
366
309
326
330
276
358
321
310
331
269
274
322
270
337
268
352
169
274
256
267
354
282
286
307
276
422
251
355
309
352
312
356
296
289
302
310
271
296
301
367
327
283
279
320
311
345
303
327
378
343
354
344
326
356
306
292
306
252
357
355
310
309
313
308
334
257
359
341
336
323
338
336
326
285
372
338
319
264
272
253
310
428
272
333
261
303
266
345
326
350
312
293
340
365
264
322
365
293
297
344
382
231
432
277
382
290
264
359
273
322
364
336
329
372
308
284
316
337
360
352
381
362
293
321
366
335
351
264
289
347
311
292
265
405
308
324
239
330
353
298
342
408
318
285
307
376
281
313
335
324
353
327
286
272
305
296
359
326
251
315
264
352
276
297
312
314
327
222
273
331
334
288
220
414
334
322
357
383
378
393
341
302
375
352
326
222
358
286
289
292
379
303
362
217
299
351
388
325
312
255
286
310
248
251
294
298
287
366
309
274
334
340
237
297
398
271
256
339
345
295
298
377
310
349
383
313
282
299
325
351
314
393
307
305
296
350
317
337
364
277
266
342
270
338
230
307
308
312
329
243
328
324
343
237
264
338
290
293
350
340
283
268
290
347
279
314
331
337
369
286
351
346
338
340
343
364
378
304
239
297
292
409
277
332
358
296
329
289
379
352
300
317
324
337
317
371
352
405
368
337
292
381
312
309
314
333
284
286
248
354
331
296
306
356
315
320
250
274
270
348
317
312
313
345
291
331
297
317
294
263
372
248
294
373
347
298
273
311
400
288
317
367
290
355
338
275
349
305
335
295
315
334
287
289
357
359
278
285
336
304
316
337
338
331
315
305
402
324
280
307
356
242
292
235
272
364
351
233
320
294
392
349
366
281
253
307
323
290
385
205
381
259
319
335
364
232
296
264
241
348
183
346
303
324
393
315
312
304
391
265
299
322
219
292
206
332
296
353
287
250
348
347
311
330
324
349
336
322
316
330
312
371
332
330
333
289
367
272
261
279
334
341
363
291
371
328
344
284
329
377
279
344
252
433
385
388
308
249
376
319
372
311
321
297
243
343
256
316
313
327
351
328
358
314
310
346
359
297
318
361
271
288
334
376
258
303
212
344
370
318
303
321
399
226
341
350
362
254
305
329
349
301
261
274
357
246
271
229
369
279
374
357
311
295
245
286
312
345
347
287
359
334
304
265
359
345
249
335
321
275
278
344
281
333
304
332
282
328
299
271
367
255
326
293
333
337
315
349
331
324
303
291
357
339
368
282
295
276
317
244
330
331
331
321
308
323
326
352
316
292
333
278
299
384
316
358
245
370
269
326
295
303
281
344
312
255
315
219
339
316
275
328
289
299
319
397
305
293
378
372
376
343
346
377
318
299
223
308
317
277
309
320
287
435
275
326
306
310
329
342
299
323
255
291
301
308
317
397
308
416
256
343
200
323
401
341
301
266
284
252
289
260
383
312
396
330
323
308
269
347
356
360
329
388
355
273
361
347
357
332
373
277
357
358
288
333
305
267
285
258
321
308
316
295
303
314
385
303
445
311
339
262
248
305
324
326
284
365
284
263
289
364
339
320
187
239
340
364
330
320
323
351
332
383
323
247
344
313
314
343
245
392
312
367
344
286
214
347
336
232
319
293
250
276
254
344
406
333
201
306
341
340
322
345
340
353
280
374
266
374
329
322
365
373
397
270
296
340
261
356
301
246
295
295
340
338
302
388
258
309
346
303
308
326
275
348
347
355
288
275
337
257
328
373
350
382
324
285
420
385
235
356
318
334
311
281
306
374
313
262
335
275
254
352
356
341
307
368
371
365
386
240
315
357
327
269
314
347
383
300
413
264
403
278
356
385
235
393
355
301
357
357
318
274
291
238
317
331
360
269
276
296
346
270
243
291
288
428
394
376
345
357
233
272
363
312
298
284
313
295
327
310
240
304
292
273
272
290
372
314
348
303
265
355
310
306
411
332
303
337
300
286
292
316
321
342
320
376
271
359
279
343
326
315
325
299
338
371
370
267
326
270
302
417
382
372
287
269
248
322
410
352
359
307
365
278
332
314
370
359
280
291
310
257
365
334
299
264
323
311
347
374
293
329
259
283
354
345
313
329
217
251
367
288
346
353
222
303
336
328
276
390
265
281
314
364
373
328
316
354
326
306
348
313
223
289
368
335
324
392
333
248
302
294
360
232
332
337
324
339
339
259
232
317
252
343
341
362
262
270
292
347
305
351
304
354
350
330
296
260
273
313
360
329
254
276
208
177
214
270
288
315
309
288
206
315
339
346
341
219
316
307
230
323
413
275
313
327
313
348
316
237
322
364
327
350
373
360
349
372
375
374
338
383
322
363
311
356
272
295
304
331
326
285
392
361
379
320
293
386
340
315
283
272
329
262
314
275
340
347
367
312
348
245
349
375
408
265
373
310
287
245
306
365
239
343
342
229
325
363
332
371
370
333
303
279
326
217
366
391
319
300
306
342
419
268
342
304
322
268
303
313
310
254
288
259
295
302
364
290
308
251
261
328
403
321
263
346
291
287
326
375
376
374
394
256
290
287
321
307
419
389
333
307
240
338
331
349
300
303
308
346
334
293
234
259
300
348
293
338
321
361
337
263
352
341
358
269
297
286
231
315
323
256
296
256
262
328
384
273
324
287
308
266
366
382
328
351
341
252
351
357
333
399
236
293
327
335
301
304
356
324
321
208
317
312
307
346
218
374
336
231
409
274
257
273
236
331
280
352
387
343
339
337
392
248
371
368
351
229
317
289
345
309
312
346
315
353
215
262
315
306
328
324
246
328
350
313
346
264
316
282
315
335
287
263
278
245
368
313
349
240
311
292
296
370
328
305
338
336
324
367
360
283
350
323
331
371
298
284
288
274
339
457
362
337
305
224
304
327
285
348
300
331
379
326
267
397
265
306
305
370
271
410
317
339
304
270
260
219
326
382
331
299
329
423
290
381
361
370
263
266
275
325
319
298
373
345
336
351
310
331
277
236
371
273
256
347
356
291
241
282
255
340
358
291
388
283
295
358
397
392
360
300
326
309
310
264
337
344
347
318
307
277
355
345
324
279
214
323
292
342
371
267
331
410
338
425
387
342
302
347
339
346
319
326
354
365
341
431
301
235
374
268
251
305
286
264
411
449
309
348
373
320
345
299
356
351
358
330
396
193
322
314
319
362
342
375
364
318
367
340
308
283
301
269
300
393
352
322
366
338
316
307
295
286
278
364
285
391
350
317
304
319
393
361
333
335
318
332
399
286
352
329
306
353
265
274
289
288
339
338
379
305
278
321
312
231
339
332
265
336
290
323
317
290
331
372
343
311
358
281
293
291
290
236
320
349
377
295
352
325
319
276
400
299
266
352
286
341
290
305
244
367
265
266
332
294
385
249
373
336
353
243
390
295
376
262
279
363
341
279
313
280
337
334
356
322
349
272
366
322
336
327
325
233
361
336
273
278
292
313
284
347
336
270
331
276
280
274
298
324
343
358
355
275
288
315
349
341
317
273
307
354
325
264
283
336
368
242
276
278
352
261
304
234
318
325
360
316
316
322
364
329
378
273
327
366
390
290
318
332
327
320
355
351
265
350
204
274
285
338
391
284
320
299
296
352
373
373
327
354
304
301
259
270
367
362
287
338
293
291
336
302
319
300
324
388
401
329
321
294
376
247
252
253
312
251
255
429
356
260
333
358
213
366
358
314
445
386
325
283
381
332
391
387
275
352
342
357
248
349
333
276
353
359
364
313
246
336
358
339
322
296
297
294
364
340
311
401
278
421
306
268
300
363
307
354
318
296
398
316
317
293
376
285
321
344
401
319
265
291
333
355
292
348
266
317
362
288
299
309
387
290
233
400
266
262
298
367
305
268
338
315
312
345
345
310
344
331
241
286
201
308
213
271
278
348
334
307
273
344
353
394
351
283
279
266
251
315
366
322
302
354
360
381
254
352
341
335
402
320
317
307
279
374
291
333
342
275
374
426
260
254
210
258
234
308
343
271
278
303
341
302
267
301
288
250
336
341
261
277
285
357
306
322
354
313
339
412
324
315
282
359
348
351
399
390
370
378
348
369
290
370
342
331
315
263
313
245
361
319
312
343
268
392
349
267
322
324
320
339
325
302
234
274
320
298
298
337
333
342
220
369
267
334
328
318
241
312
237
336
333
333
366
266
310
353
225
262
361
338
343
266
315
380
288
314
314
247
349
336
294
352
281
251
263
280
282
372
335
345
346
272
304
304
295
405
263
179
338
333
361
379
333
283
306
334
282
398
267
366
270
307
309
279
261
372
286
321
382
282
204
309
360
364
365
260
321
352
309
279
285
410
368
329
351
291
269
298
257
305
334
343
296
377
233
223
340
360
356
254
356
342
327
376
301
328
344
271
213
362
365
288
320
320
373
354
415
283
318
312
400
363
389
309
342
341
306
349
366
401
293
295
381
335
292
268
284
314
380
337
284
373
285
347
313
345
370
288
293
246
336
274
393
311
309
328
314
279
361
311
251
307
318
288
278
337
301
295
310
398
289
266
386
422
278
320
298
326
351
390
231
334
325
283
332
218
332
279
287
321
330
304
348
305
242
272
336
321
321
305
185
312
359
293
356
326
352
249
350
316
361
235
298
395
208
306
238
307
297
282
372
364
285
292
339
316
335
357
231
342
216
367
357
298
287
262
308
313
297
245
300
382
298
367
353
303
308
253
316
384
294
344
300
273
269
301
356
303
288
359
358
344
311
297
411
294
371
372
293
380
348
322
346
268
314
345
337
275
262
292
341
177
257
340
315
400
407
296
376
372
274
293
231
308
336
258
303
356
318
355
345
355
385
290
319
349
242
355
383
315
223
172
306
304
328
298
368
247
282
388
241
283
381
296
344
268
348
407
356
344
321
314
403
332
301
339
291
342
289
354
302
288
374
316
300
330
381
373
241
392
286
251
296
317
358
330
305
313
309
336
393
313
307
306
254
314
366
424
246
363
381
322
313
363
315
303
394
280
373
378
385
348
368
307
291
309
348
304
368
270
244
251
275
341
428
313
309
254
377
382
319
369
323
281
303
304
323
429
313
278
268
333
334
326
347
386
281
311
302
301
240
283
340
319
349
287
291
297
387
327
205
338
371
264
316
237
300
347
291
275
299
297
327
386
292
367
260
326
236
291
356
393
369
358
295
281
349
282
300
312
356
331
300
291
341
296
304
421
286
266
281
218
385
385
307
376
340
381
322
284
295
268
237
302
318
358
237
301
381
308
289
300
243
356
291
265
339
351
361
323
377
369
294
326
366
348
378
303
331
290
331
362
304
289
340
326
356
254
274
227
351
333
276
294
341
321
325
319
373
255
339
305
323
292
343
265
372
288
346
316
372
307
263
268
345
326
389
326
347
395
280
331
333
319
333
375
350
344
303
286
291
298
321
320
313
409
260
363
304
252
349
337
299
253
207
242
326
320
374
378
268
274
381
372
258
193
396
274
386
345
340
271
304
299
234
290
264
380
245
346
302
245
358
354
346
343
257
323
316
291
345
342
210
333
291
303
277
319
455
315
379
337
337
365
344
391
330
327
320
276
276
320
305
190
240
352
309
403
414
413
341
281
347
327
335
319
338
317
279
266
362
334
326
372
297
346
365
210
326
199
274
367
279
384
320
300
363
329
345
276
328
344
369
322
241
336
228
351
275
381
313
265
312
331
294
314
228
290
373
371
265
351
279
312
323
325
332
405
309
245
293
268
298
310
246
341
290
303
289
288
372
394
331
293
276
294
252
371
320
282
287
246
345
274
317
313
195
272
330
248
336
332
332
326
265
396
280
277
303
307
369
305
334
280
234
400
327
367
292
341
381
322
299
306
319
334
311
353
274
225
367
347
350
278
348
373
267
339
255
260
392
315
312
401
329
354
310
372
381
281
235
303
379
330
282
339
306
341
266
277
369
327
257
320
296
271
309
353
354
336
364
307
312
384
301
347
420
250
365
356
331
329
243
336
299
329
359
278
280
285
339
366
359
198
343
386
277
290
357
367
338
305
301
310
301
346
279
326
257
343
371
266
368
253
313
353
296
315
359
364
306
371
334
322
321
342
361
351
178
329
304
299
271
343
316
205
346
289
337
342
302
368
305
294
255
325
279
306
252
301
329
338
388
291
336
271
348
399
340
389
270
270
390
382
300
295
358
313
332
358
377
358
366
330
247
311
286
359
249
282
295
411
267
351
286
369
305
317
299
338
323
277
264
325
345
281
337
332
334
294
332
357
318
294
217
296
368
364
343
276
353
342
322
329
323
258
319
290
275
326
299
330
343
299
351
324
249
333
300
229
292
315
323
399
326
384
365
286
266
333
291
323
270
335
338
309
290
309
272
315
301
355
346
385
284
282
357
337
281
250
274
363
322
220
376
372
349
290
336
332
344
321
301
336
300
261
295
254
332
241
284
302
280
332
261
339
321
315
384
215
290
243
342
349
317
315
231
368
341
371
397
329
363
248
259
373
341
390
342
260
321
235
349
263
384
376
232
324
296
350
316
406
269
327
252
288
427
325
226
393
376
303
377
313
302
310
345
337
285
312
356
339
310
386
291
339
321
301
403
396
298
309
289
328
302
238
277
277
339
246
303
302
356
367
313
413
332
389
335
342
348
288
404
343
321
376
352
364
313
290
333
307
301
383
215
425
296
280
277
325
337
354
321
219
349
296
281
276
336
242
256
332
354
369
385
319
292
369
322
312
302
289
279
402
406
254
347
305
309
290
377
323
309
432
314
253
303
231
353
326
332
359
254
307
314
286
298
296
274
313
263
404
367
305
345
273
343
296
292
337
322
363
363
333
303
289
385
323
269
290
422
345
332
281
214
347
308
315
323
238
399
247
287
354
325
344
305
325
373
314
303
299
281
325
282
281
366
340
353
257
303
373
324
268
308
286
368
263
298
297
356
214
305
312
358
348
335
372
274
289
304
233
251
319
302
291
272
333
327
335
319
317
341
338
314
375
292
257
278
292
289
277
384
351
256
253
319
357
296
377
365
364
268
292
313
344
351
279
329
353
228
317
299
288
274
263
323
253
346
355
262
345
313
321
308
327
323
294
288
306
288
267
350
401
277
300
316
419
262
361
295
326
287
400
289
336
291
300
375
397
251
351
395
369
242
274
399
306
315
313
304
293
394
310
331
311
342
244
318
256
330
322
291
310
327
308
296
309
330
304
325
252
340
347
197
313
271
364
346
362
389
316
345
278
249
321
273
318
370
294
324
303
361
306
378
322
345
338
309
368
312
279
245
341
415
296
327
379
346
302
270
298
267
219
349
383
341
238
316
310
330
383
327
317
299
320
298
259
308
282
415
191
377
389
378
313
341
341
264
332
342
346
332
252
321
272
295
303
378
245
337
224
399
337
367
344
347
258
254
298
295
309
302
296
260
322
334
326
299
310
294
263
314
223
323
197
350
360
349
286
361
413
358
298
304
332
291
260
323
264
282
204
361
377
304
316
326
382
308
319
314
172
302
333
316
237
296
264
305
350
252
261
283
272
308
258
347
395
326
333
242
319
341
244
366
236
333
317
379
387
374
318
324
324
310
274
286
329
225
306
288
398
297
292
238
264
303
305
315
390
264
307
367
345
305
348
326
362
262
368
396
262
298
417
245
323
281
337
270
321
376
313
271
354
282
328
391
383
296
377
372
287
278
344
355
368
428
334
398
375
253
335
369
225
420
346
309
277
310
363
278
346
317
344
264
355
242
342
300
293
302
260
308
268
309
288
310
343
382
368
309
376
230
311
387
351
321
332
321
317
284
290
285
353
315
331
275
405
403
315
360
307
371
347
306
266
281
318
358
393
295
318
303
275
379
380
299
367
349
358
378
291
339
289
335
392
356
356
299
332
308
281
296
305
226
248
251
316
345
305
344
323
315
319
278
267
379
317
316
294
356
256
289
348
405
255
253
297
341
276
366
344
320
274
363
306
313
366
309
346
257
336
391
367
361
328
275
345
360
281
300
328
325
208
320
336
314
268
313
366
311
268
358
314
385
279
298
396
342
302
363
327
347
400
288
294
311
284
282
337
351
371
352
215
417
266
307
350
313
304
280
366
254
300
353
384
392
380
337
285
240
242
324
265
337
345
329
239
261
284
319
330
270
370
283
373
285
329
320
312
201
290
387
234
290
300
340
287
393
352
280
324
284
384
331
336
248
320
272
286
306
307
335
324
294
339
363
326
247
323
260
376
274
241
302
358
359
355
282
250
275
246
306
297
323
346
237
265
343
333
338
318
304
304
320
363
312
309
323
309
353
257
204
272
349
271
265
264
320
246
328
293
371
315
282
297
348
291
402
310
294
278
342
310
283
278
363
312
363
402
321
358
318
354
264
205
329
309
323
251
409
367
301
368
347
271
335
312
352
382
343
259
254
369
279
318
312
350
275
342
332
344
335
324
313
298
308
326
285
300
397
273
272
326
302
343
303
361
314
246
321
287
338
305
284
362
325
323
335
299
240
286
358
278
359
347
294
385
272
300
355
325
292
261
229
303
250
351
335
274
254
253
228
351
308
349
365
366
361
347
210
276
280
252
328
267
432
346
415
356
297
325
362
287
289
318
348
273
325
336
288
374
318
330
388
329
324
263
269
326
357
348
287
380
195
301
278
406
301
309
367
357
387
234
334
336
265
339
266
255
316
319
346
263
355
313
384
333
260
306
318
196
212
374
359
342
389
291
386
325
339
232
270
336
353
352
304
383
298
320
275
289
275
263
316
328
317
374
379
345
279
317
371
300
358
323
305
274
355
331
413
388
289
322
283
363
270
315
421
387
294
239
276
264
288
276
374
319
266
396
415
370
396
291
354
319
307
285
280
399
377
363
233
339
288
277
279
398
317
201
300
301
308
342
291
344
296
347
318
306
312
264
281
259
336
334
303
276
345
328
230
358
214
295
347
290
363
335
261
357
347
342
283
378
362
320
272
237
281
326
360
318
313
289
301
332
354
343
342
276
323
319
338
363
355
327
348
309
329
380
335
195
296
325
357
381
383
402
341
270
294
292
358
283
289
270
330
287
373
351
299
292
316
338
376
354
381
268
335
331
342
307
317
358
342
279
305
309
330
343
268
318
359
286
374
322
243
288
339
389
251
361
328
351
372
320
364
347
381
223
405
350
364
275
399
267
276
374
386
312
275
290
334
251
375
296
374
260
307
227
364
317
354
279
288
338
337
367
267
353
280
353
239
321
333
350
302
304
322
318
371
307
350
419
335
380
322
346
241
307
340
344
338
262
283
295
264
270
366
343
361
253
199
337
279
360
351
286
311
335
316
253
341
275
322
361
344
260
324
287
286
294
320
242
311
363
335
333
268
388
330
245
357
335
299
369
373
357
354
344
280
407
317
322
359
302
366
302
336
364
369
298
304
278
338
358
256
372
279
336
364
286
258
344
286
317
321
369
332
283
270
363
247
265
306
249
271
324
341
268
326
242
310
284
307
400
364
322
349
322
303
387
332
306
305
312
314
417
272
314
287
330
323
324
244
336
292
373
343
346
366
313
252
277
330
351
305
363
268
366
344
280
289
269
268
313
273
260
311
288
313
273
299
412
325
292
357
315
273
235
286
365
384
306
290
374
303
290
392
333
338
254
256
384
335
257
248
305
286
306
329
351
360
345
255
335
295
257
345
293
299
281
386
260
332
250
256
269
354
311
253
227
339
284
306
366
372
327
287
339
285
359
236
317
287
303
297
319
154
270
299
289
303
353
325
259
257
358
363
276
358
289
339
376
353
324
346
247
236
393
314
303
294
281
289
257
362
306
375
337
290
306
319
363
343
309
329
360
308
389
287
346
375
365
293
358
320
336
331
258
316
278
309
355
376
324
273
325
424
232
332
277
275
241
325
273
340
355
364
272
326
283
281
314
319
354
309
306
283
303
318
339
372
358
337
376
252
326
371
337
279
285
341
297
329
265
314
269
289
346
330
312
374
320
275
337
228
321
211
367
419
276
297
265
247
276
349
280
232
278
260
274
264
297
389
358
345
290
335
285
313
273
384
363
310
298
374
360
259
232
304
380
348
399
321
318
307
367
360
361
362
327
375
308
317
315
330
385
259
350
331
302
370
217
287
302
315
281
309
342
294
273
341
312
352
366
323
287
312
281
306
369
336
300
394
248
360
320
330
290
303
335
314
365
256
255
272
336
338
315
310
301
337
416
309
241
293
264
282
311
329
323
284
391
375
280
323
230
338
391
216
315
277
344
297
330
282
308
345
334
357
377
382
306
276
238
329
356
351
353
357
353
344
317
258
365
264
357
334
393
346
270
248
314
301
278
328
277
279
217
296
174
256
316
301
325
290
278
352
365
363
297
311
302
379
336
376
379
290
346
249
315
230
294
345
357
228
293
357
269
281
356
292
262
313
327
328
308
348
373
292
311
317
258
300
290
334
308
325
319
273
376
285
364
229
370
310
367
283
304
306
414
308
320
254
242
353
375
376
357
365
326
401
325
364
294
290
343
254
390
327
327
316
350
377
264
327
286
382
279
336
379
378
283
287
269
382
344
335
375
274
299
375
305
289
355
316
397
380
293
320
330
372
338
327
285
288
387
320
297
273
342
204
305
272
347
372
317
306
288
268
334
340
348
367
354
372
301
374
278
350
341
332
269
409
338
294
350
343
336
239
356
315
311
315
283
233
388
376
355
362
355
286
362
338
325
343
323
312
317
329
348
310
313
371
328
344
287
313
357
316
326
313
359
356
280
334
355
364
342
230
340
358
271
353
304
295
280
357
392
282
369
332
334
265
293
300
356
317
321
263
310
330
237
335
284
336
344
296
296
340
325
330
374
375
298
364
325
258
340
381
357
220
329
362
341
314
384
322
257
333
273
247
250
317
399
292
297
339
236
306
380
309
381
398
259
369
241
278
275
228
362
345
238
291
232
324
334
410
249
368
343
316
372
312
327
312
284
315
290
326
277
290
300
401
318
290
395
371
326
301
318
246
266
408
225
265
328
276
304
385
261
319
324
392
319
322
379
339
365
294
323
253
327
251
318
273
224
286
330
314
265
394
316
217
313
202
337
393
329
237
292
315
287
351
367
293
323
289
344
313
240
346
283
395
382
296
352
312
375
341
275
348
334
349
333
346
326
303
279
255
267
246
352
323
319
329
260
181
414
356
351
332
340
196
347
198
370
280
315
330
224
284
297
353
308
250
236
340
385
268
376
285
390
319
325
346
256
396
299
314
376
369
401
287
304
324
311
265
350
334
345
373
359
312
335
256
332
313
272
282
253
391
381
291
251
281
317
328
254
267
316
359
340
234
323
363
347
291
359
350
321
276
340
315
210
381
441
361
306
326
275
352
299
363
332
370
269
195
243
313
304
325
307
369
292
285
260
343
265
316
317
363
331
332
339
254
368
303
358
368
317
295
341
382
259
314
302
286
291
323
319
358
311
310
308
348
255
370
333
360
320
319
392
254
273
334
297
275
332
381
278
301
334
375
333
245
305
325
260
324
291
267
308
329
305
254
273
400
303
254
261
271
341
268
299
320
344
316
316
355
228
313
329
287
355
337
270
327
235
338
256
347
213
342
356
301
308
314
310
340
270
373
377
400
284
306
392
294
279
282
390
298
241
320
333
373
317
350
367
303
359
337
317
301
322
260
298
393
345
296
359
283
350
253
313
327
334
260
319
340
302
298
322
306
408
280
287
307
385
295
279
339
332
307
312
307
332
249
289
297
422
322
309
208
323
327
346
364
351
394
278
345
312
408
337
288
318
308
293
290
313
323
376
311
317
359
315
310
379
338
406
352
309
282
312
300
314
289
390
346
320
296
375
343
262
340
332
247
330
294
280
282
297
278
305
419
290
256
211
348
365
389
322
301
298
327
317
339
219
320
190
260
334
388
332
346
293
254
367
359
301
416
379
346
251
297
196
396
340
295
295
332
303
300
347
216
288
297
295
375
317
266
355
281
244
293
329
341
297
294
401
265
356
347
290
294
293
322
286
296
307
314
288
340
313
337
351
274
377
343
305
394
339
365
273
357
366
263
324
355
360
320
361
308
290
257
292
290
256
269
270
341
373
347
334
306
356
230
424
235
355
331
361
292
363
298
251
340
312
322
266
207
349
274
310
397
344
258
365
390
367
336
268
292
295
267
247
294
359
369
323
304
305
265
318
331
327
296
310
365
348
301
330
263
376
342
356
351
313
369
349
309
223
238
292
267
349
298
279
328
309
308
354
296
377
324
395
320
327
279
327
401
229
342
328
358
266
307
356
236
329
267
326
340
241
306
364
283
284
249
251
330
301
273
275
355
273
319
291
349
290
398
321
297
314
313
302
324
316
342
317
340
225
267
314
285
387
301
326
314
324
252
375
291
284
345
337
313
289
365
235
328
363
364
210
325
299
387
342
338
330
248
321
270
310
277
295
350
306
270
359
224
315
215
315
325
339
379
203
197
360
228
336
339
334
276
360
323
178
368
262
287
289
275
330
313
347
281
340
262
297
341
358
336
381
340
267
276
262
364
339
391
309
384
375
248
340
315
236
371
343
278
364
229
279
268
344
292
273
348
325
337
354
357
402
252
284
298
300
248
303
312
335
306
355
376
412
362
345
326
373
313
325
315
358
360
368
351
306
274
358
320
338
289
357
289
338
330
341
289
365
280
263
295
346
330
373
366
354
316
356
324
230
293
387
327
363
316
332
403
291
315
303
343
384
373
364
357
317
278
284
263
335
284
272
360
289
344
250
334
381
315
249
313
245
306
251
335
337
337
250
387
220
364
322
284
264
370
289
257
408
369
329
431
342
318
313
302
329
386
259
325
302
343
334
356
295
345
385
331
199
367
389
288
337
435
330
310
340
326
345
330
324
315
396
360
315
337
311
309
316
276
337
315
292
381
312
335
355
306
273
350
357
313
312
382
316
323
317
365
364
269
342
318
238
314
338
294
285
341
281
322
374
249
216
242
371
354
268
358
317
298
303
357
276
360
335
339
323
338
320
329
313
294
370
323
245
347
273
404
296
282
320
291
293
317
241
235
283
279
249
213
285
401
254
342
299
363
232
304
258
361
320
316
389
286
277
343
269
323
390
236
281
330
303
350
354
304
296
363
345
289
339
321
264
396
340
311
288
332
318
324
297
320
290
321
316
357
313
283
360
439
348
318
300
250
323
283
304
280
273
287
284
371
324
307
289
311
379
196
318
314
407
344
300
342
363
390
295
350
233
359
400
281
383
331
360
309
297
395
292
288
416
272
344
205
377
320
416
207
306
244
234
360
370
470
345
360
314
272
323
376
290
372
322
320
318
295
291
448
345
237
254
334
316
311
337
270
375
341
312
293
279
287
355
338
301
314
279
269
360
318
276
340
405
341
306
312
294
340
243
331
281
272
341
348
400
296
339
375
339
318
295
332
307
339
343
276
345
261
264
334
334
272
331
318
282
347
225
352
253
313
305
288
281
348
334
382
236
247
326
403
289
367
372
295
298
340
343
238
321
285
381
238
339
312
281
278
209
357
321
297
349
312
371
324
302
305
176
374
236
374
285
289
322
389
343
249
253
312
351
302
372
202
333
285
305
313
281
315
355
284
308
430
375
289
392
301
271
330
345
305
296
274
354
256
247
305
304
326
281
261
332
330
349
311
263
208
291
289
323
197
277
361
376
310
221
361
305
347
311
357
323
314
279
317
345
412
279
334
350
326
371
270
307
331
269
341
357
332
298
334
334
371
292
334
308
245
305
243
225
350
298
398
419
273
281
241
340
254
275
345
259
232
283
311
405
378
290
304
250
258
357
360
370
246
339
313
230
310
346
312
339
344
311
336
320
318
341
317
386
319
345
325
373
301
293
312
354
329
281
364
255
279
425
264
301
308
322
314
323
278
271
322
349
283
300
328
341
325
318
274
308
249
364
262
348
317
357
347
265
294
266
343
357
332
287
383
296
319
399
254
338
295
222
388
389
338
287
288
260
307
310
307
295
323
379
320
351
370
338
330
354
320
282
393
314
287
381
311
324
198
277
337
372
282
333
317
295
322
232
312
381
354
300
198
351
260
287
368
338
423
328
296
291
239
319
293
286
387
322
240
323
280
282
408
266
284
292
313
320
338
172
371
350
334
338
333
324
389
354
319
312
355
323
298
258
323
288
392
205
303
305
303
292
293
316
326
284
342
278
340
243
311
365
329
308
374
342
361
352
308
359
260
238
348
346
254
355
353
343
325
365
334
309
313
292
347
258
284
307
377
328
362
320
350
306
260
280
296
370
291
327
332
342
322
324
313
357
277
330
376
302
254
259
277
281
381
261
280
310
268
367
278
371
303
261
289
206
252
343
234
298
334
363
324
324
297
277
324
293
416
329
388
286
330
339
309
330
352
373
306
245
287
243
317
272
381
211
371
295
301
332
339
298
245
313
307
284
231
405
342
321
338
304
243
321
332
341
333
327
388
326
260
366
303
318
254
285
381
292
297
372
326
374
367
298
305
329
274
209
263
177
288
291
360
288
356
355
375
357
261
277
358
324
294
341
406
303
329
430
315
366
299
372
214
289
297
326
222
328
315
295
351
226
265
272
312
361
281
341
380
327
237
310
323
353
268
358
388
279
399
307
286
349
335
311
355
331
365
275
380
320
333
334
285
337
314
249
299
313
285
292
294
374
394
341
243
364
280
325
365
340
343
327
279
322
339
327
313
356
388
355
275
344
374
315
259
337
333
260
285
212
379
301
317
376
272
250
412
325
268
282
332
364
319
319
286
316
309
340
271
201
243
294
281
436
399
283
285
283
350
336
220
408
348
376
277
226
350
359
225
389
343
379
298
345
301
373
212
334
347
292
287
371
357
348
311
360
281
436
333
412
304
320
439
314
342
343
246
288
349
331
277
279
305
368
386
343
349
398
404
279
303
253
347
341
373
272
283
331
301
275
293
260
303
305
347
318
298
324
291
353
337
299
315
276
307
282
313
337
339
323
375
293
291
352
399
367
291
396
364
393
271
352
331
225
309
276
353
263
302
289
322
303
321
370
357
330
269
270
332
335
414
396
284
363
394
340
385
384
287
431
278
292
252
459
299
321
353
381
305
322
414
384
296
316
364
290
327
301
319
318
351
346
301
365
321
300
269
349
289
414
348
377
224
310
329
392
211
349
270
333
307
246
355
299
281
364
324
311
326
235
321
323
328
313
196
270
365
404
373
226
293
311
351
275
408
347
315
318
317
288
393
347
347
299
283
271
365
339
204
251
354
367
305
299
309
345
326
320
226
323
274
320
333
346
342
382
312
278
374
388
357
292
339
302
332
383
271
305
312
305
272
390
345
350
243
305
313
298
406
309
305
344
313
294
308
248
249
295
317
320
349
330
369
340
242
266
274
328
337
284
372
315
266
313
287
340
289
369
340
347
416
388
295
387
314
341
289
319
319
270
356
308
285
273
322
281
318
423
304
356
336
340
393
266
291
389
277
323
271
321
234
360
303
323
351
329
407
363
268
334
381
330
263
314
293
309
348
320
302
364
267
268
249
285
338
284
331
320
304
215
254
355
366
300
292
370
253
318
339
356
278
315
409
342
302
362
343
305
306
383
338
292
321
278
292
357
290
233
323
223
390
205
338
400
241
238
324
330
312
355
329
344
274
290
328
358
301
265
288
317
401
324
351
263
247
305
364
236
409
279
323
293
353
339
324
269
259
330
370
276
368
305
321
307
334
344
347
391
278
358
376
320
297
340
301
303
330
260
310
325
343
408
266
313
407
300
339
227
358
304
277
290
370
347
245
271
337
277
318
309
295
269
316
313
313
300
303
328
320
219
317
310
365
365
375
242
380
312
301
320
292
331
263
387
292
305
403
290
361
330
315
364
347
330
319
391
382
260
346
350
365
236
308
276
352
360
384
337
321
343
283
283
323
308
266
319
360
315
247
333
354
420
327
268
289
295
363
346
379
285
349
277
278
294
216
281
258
296
280
240
310
299
304
336
336
298
307
341
357
352
313
269
364
357
302
335
365
321
261
353
350
364
301
328
267
315
273
277
297
255
371
333
421
360
451
359
242
308
325
314
345
334
299
331
341
288
305
308
297
291
301
273
250
410
225
223
281
298
292
317
367
272
267
248
293
383
333
297
324
286
320
260
347
250
291
318
308
249
276
339
320
261
313
302
363
270
342
369
270
337
367
289
389
336
325
327
368
332
377
228
236
339
364
356
402
305
369
243
355
400
367
279
348
273
286
367
283
302
300
334
346
347
290
302
346
297
330
315
301
293
312
290
341
313
390
307
308
207
301
344
326
334
307
290
346
358
295
219
342
338
259
244
335
302
322
369
285
424
263
309
302
300
291
330
351
356
293
231
330
340
331
290
205
318
379
408
311
319
276
355
362
371
301
244
300
282
271
341
324
274
262
279
364
253
266
331
306
320
280
298
337
315
247
260
311
300
211
332
327
252
321
316
338
287
363
344
332
378
354
319
366
270
358
361
264
287
359
219
174
293
334
336
352
328
277
248
355
357
327
285
405
347
362
397
283
312
267
351
227
401
274
214
319
331
260
304
305
298
293
321
302
278
260
387
360
286
384
362
325
348
314
299
283
274
297
364
261
334
310
336
349
397
271
360
363
327
335
380
293
302
326
339
357
312
310
289
253
366
271
343
233
269
369
351
290
383
262
299
346
371
238
264
264
330
318
324
386
339
292
251
366
247
312
349
268
350
373
235
270
267
332
362
314
282
325
321
257
274
257
337
352
275
363
272
328
296
315
327
248
336
285
325
322
273
391
317
331
240
287
351
358
254
254
318
314
285
340
329
362
365
332
340
323
260
273
349
332
371
261
360
427
311
342
350
407
324
344
359
353
335
280
333
293
336
250
356
219
326
277
307
292
401
338
294
252
311
334
288
282
237
302
309
348
309
265
321
269
379
325
336
339
367
303
324
320
390
334
374
362
296
246
326
312
355
266
273
350
275
374
282
321
376
321
321
323
329
388
351
267
369
297
348
282
310
323
375
329
332
392
327
288
307
304
302
297
315
320
244
326
372
240
360
357
287
370
329
216
333
243
354
311
273
304
307
350
270
335
200
305
278
297
333
282
297
425
333
237
309
386
371
385
274
325
256
341
391
326
319
188
353
248
303
333
266
369
208
436
263
282
283
334
340
398
357
288
339
302
357
291
328
361
294
362
361
318
368
334
311
294
399
376
305
236
366
369
273
374
288
331
274
430
348
270
388
365
404
292
393
343
328
302
362
308
317
295
405
344
242
282
205
314
347
311
347
368
363
388
334
236
222
208
329
344
327
295
292
251
427
349
297
353
258
371
327
312
297
266
409
379
225
245
325
375
355
336
282
273
363
372
317
266
331
356
268
297
276
278
354
307
291
354
360
321
265
356
289
319
271
353
383
330
238
339
340
289
315
348
350
348
336
345
365
278
289
336
390
330
276
294
327
319
197
367
326
332
361
336
242
316
313
244
382
299
327
315
342
321
336
290
293
339
321
318
283
346
318
365
310
245
350
356
322
283
265
328
330
289
287
378
293
297
332
306
271
290
314
306
356
260
239
417
325
298
300
340
349
302
374
409
309
355
292
302
325
303
349
301
348
362
294
269
392
306
373
355
328
418
317
182
367
252
276
302
345
278
331
251
234
322
362
345
317
392
333
385
369
326
355
353
307
242
300
302
328
357
386
394
285
296
277
381
306
270
324
324
354
272
285
252
342
366
351
337
298
352
331
242
352
339
369
353
338
324
350
385
295
413
362
330
345
370
427
246
375
288
266
239
272
252
351
363
288
325
279
248
339
293
377
366
226
317
290
266
384
352
318
347
315
354
229
333
266
384
336
266
336
277
318
344
309
335
390
208
385
297
325
301
328
304
287
299
302
351
279
362
344
315
329
307
235
277
326
263
374
276
312
355
306
323
361
289
307
300
379
341
374
329
274
320
381
277
356
336
324
326
271
365
389
361
317
371
398
346
283
285
310
211
270
229
275
306
237
305
327
288
294
358
278
333
315
325
229
302
227
340
335
238
287
310
267
269
266
314
361
241
289
460
300
362
341
346
326
350
322
336
284
268
328
316
303
304
308
328
310
243
354
277
240
292
415
274
406
372
349
365
277
321
254
341
332
323
290
346
341
306
317
321
339
294
351
367
245
335
312
285
252
306
320
295
296
337
298
403
255
310
347
279
392
261
307
339
374
361
347
300
346
278
310
293
323
274
332
278
294
267
295
377
329
333
335
358
315
282
297
305
340
350
311
219
339
295
282
308
339
253
351
349
402
266
364
279
362
307
321
266
297
331
286
262
342
291
230
299
303
351
271
341
312
362
421
287
361
374
280
284
404
366
320
340
182
275
352
387
269
301
368
330
323
285
262
299
413
254
343
351
312
300
347
245
345
382
294
239
300
309
265
276
342
313
333
281
374
314
283
368
318
321
364
257
277
421
282
275
354
274
423
369
246
263
368
386
359
293
414
337
256
253
271
378
352
355
392
326
375
306
310
292
312
268
339
293
288
372
348
219
258
287
257
279
348
332
331
337
384
332
313
353
317
355
355
327
319
323
312
250
263
274
358
348
351
318
282
247
288
379
334
354
374
343
354
335
295
328
311
336
294
286
344
384
276
332
341
375
339
327
282
389
296
269
325
390
295
368
368
248
324
352
253
278
321
340
258
210
298
381
304
154
329
380
269
392
329
299
369
251
304
258
228
278
329
340
350
357
408
282
295
361
281
300
285
342
402
330
330
289
284
213
281
327
329
324
302
358
280
322
339
328
319
279
289
266
341
269
277
390
339
305
355
293
297
400
273
328
272
203
324
323
315
268
338
356
250
293
323
291
415
365
314
300
332
301
348
291
276
358
322
403
344
395
306
375
307
313
323
341
314
340
335
275
271
293
308
370
269
225
300
398
329
338
312
305
306
314
270
263
426
317
343
320
298
332
344
255
391
410
343
266
273
281
263
326
320
340
336
346
268
304
338
321
335
306
278
353
460
358
264
414
355
215
332
220
380
345
360
349
357
367
279
323
311
311
307
296
315
332
347
359
378
342
350
415
339
290
357
375
359
254
322
308
251
307
295
359
336
300
348
333
352
300
260
281
302
267
343
393
300
374
236
238
400
373
293
391
377
318
310
293
375
280
270
270
454
366
213
335
345
267
326
261
280
325
318
414
336
315
281
288
339
313
350
376
315
326
229
387
337
347
316
304
245
327
296
349
330
328
283
301
380
284
384
308
348
361
295
340
351
269
297
304
253
344
342
271
321
254
284
249
316
330
301
381
260
356
305
262
349
399
340
414
377
357
355
300
343
337
240
309
352
366
269
326
414
302
319
298
203
322
353
344
304
267
359
233
353
322
329
332
282
350
358
246
418
331
414
362
344
282
405
258
290
357
315
307
311
267
309
297
353
389
403
314
295
326
321
337
381
326
294
304
311
365
260
276
359
248
236
299
311
287
267
362
269
374
358
360
316
330
338
334
270
374
313
342
272
331
275
322
255
325
298
295
344
300
290
400
270
358
315
338
323
297
340
317
378
332
281
306
389
367
392
258
342
326
348
300
328
306
347
348
314
320
301
331
306
366
310
369
299
310
365
337
254
354
388
278
278
316
288
322
309
216
257
284
356
337
342
290
199
351
277
285
234
341
308
393
313
252
257
348
344
279
302
353
349
374
297
403
341
395
260
377
289
402
262
270
232
370
321
317
334
301
289
313
362
332
282
245
293
299
317
316
364
378
313
311
210
339
329
330
271
389
344
308
312
382
276
361
321
313
326
338
262
337
321
296
311
399
263
307
258
249
302
302
388
313
275
365
297
242
299
316
257
257
290
387
320
338
405
313
272
287
294
289
388
301
212
298
371
279
305
271
344
407
305
387
361
290
376
294
280
336
408
329
257
257
264
371
318
332
340
272
441
304
280
321
257
264
293
296
373
296
257
230
296
291
346
353
288
319
320
335
362
324
371
373
368
295
341
295
286
318
288
244
271
318
403
290
266
290
369
261
357
350
276
314
310
364
358
346
303
288
366
345
302
221
437
244
343
203
278
341
412
329
351
328
294
339
312
317
362
361
294
263
316
344
340
281
228
307
368
190
243
373
305
317
300
221
352
292
303
389
354
320
303
374
329
345
379
325
369
344
329
310
325
300
366
332
323
384
380
324
300
272
350
303
399
261
296
338
367
238
310
320
384
344
319
335
224
283
281
397
260
315
370
369
337
247
292
239
400
300
324
224
273
344
334
283
320
318
171
263
288
324
248
259
339
318
262
274
246
312
349
341
374
291
252
390
369
310
286
267
265
287
338
338
376
343
314
369
322
383
341
399
400
301
362
400
311
257
362
277
393
364
324
333
350
384
320
330
318
290
352
311
294
290
342
270
364
365
385
354
339
213
350
281
298
349
294
353
335
319
266
249
282
288
378
262
294
350
279
288
324
308
376
324
335
341
284
326
290
267
281
297
326
366
310
357
347
276
353
270
348
383
341
284
376
276
313
306
272
237
294
323
221
354
282
310
365
306
275
303
246
307
271
347
383
378
370
319
321
273
315
311
274
348
268
297
349
267
367
317
308
246
256
321
249
281
328
423
362
266
329
336
325
328
251
258
283
286
379
249
344
281
365
327
352
398
323
326
307
290
343
252
323
306
346
331
253
315
333
431
345
341
273
367
314
312
302
371
333
260
406
318
380
364
362
342
266
338
190
278
283
280
346
339
336
391
300
341
325
250
346
322
358
314
277
234
317
292
319
289
397
279
358
311
341
362
315
239
222
221
272
354
247
370
259
325
350
328
368
279
353
381
275
299
240
289
359
271
366
308
375
267
324
248
317
304
353
383
293
305
332
338
328
368
360
286
334
324
332
307
296
245
358
304
368
321
259
376
347
362
260
274
387
324
344
310
333
266
306
315
347
264
329
326
294
358
337
259
328
358
440
287
310
254
361
329
358
249
328
321
348
363
349
252
279
307
377
315
336
279
276
436
304
378
349
271
350
340
327
353
289
365
271
231
371
326
332
272
282
270
346
267
328
364
320
341
336
317
337
294
283
294
290
350
284
296
243
247
394
332
348
342
414
341
348
312
245
254
344
229
205
219
295
297
373
369
346
294
275
339
380
272
365
395
364
300
325
335
377
377
366
342
351
370
301
331
295
311
325
237
388
320
286
346
279
356
319
354
229
229
322
317
331
267
315
308
345
311
258
236
357
252
258
300
261
300
311
328
316
305
338
334
317
281
318
384
264
351
296
291
330
393
259
215
373
320
272
293
378
343
373
292
373
357
329
285
248
338
367
324
308
259
342
325
329
344
336
271
329
316
252
373
300
322
322
340
326
267
270
248
350
284
331
300
294
269
266
392
376
319
314
262
341
347
302
330
291
204
339
339
298
306
334
340
362
273
334
297
349
306
239
330
319
409
236
315
377
292
255
316
365
314
233
338
230
317
322
346
308
293
310
251
329
374
317
241
353
283
324
323
302
312
284
283
294
270
280
397
402
359
272
370
345
356
274
301
355
354
344
209
297
234
324
327
350
347
316
334
286
309
336
291
386
276
375
346
337
295
290
315
386
263
291
357
264
318
337
301
261
382
316
314
328
299
341
316
314
273
384
393
316
239
274
275
310
279
282
334
361
295
317
375
338
271
335
343
338
412
360
285
263
340
281
323
350
344
344
330
326
372
338
345
310
320
319
327
383
267
264
330
291
348
289
197
267
315
344
302
418
363
304
306
390
374
339
283
271
312
356
302
279
253
362
366
310
317
400
373
292
344
293
288
266
359
319
285
342
307
272
393
269
381
350
292
328
318
337
330
286
383
275
305
331
390
329
306
381
296
314
400
318
336
263
240
360
285
364
298
255
314
316
255
246
231
356
304
332
411
346
312
309
341
354
311
288
281
345
251
419
303
278
367
329
306
356
215
352
354
337
308
372
316
305
331
256
168
317
349
242
366
268
282
346
347
266
419
249
350
350
271
332
263
253
303
348
285
352
263
297
375
259
298
243
351
280
287
344
357
369
331
248
261
253
321
273
275
282
276
292
305
305
300
257
229
428
308
277
351
376
254
364
326
311
311
312
342
307
241
260
328
317
246
313
305
247
289
295
268
258
274
304
337
269
338
369
346
300
328
334
326
326
306
337
282
384
305
334
284
310
289
392
321
287
248
326
294
266
291
318
290
318
304
289
364
322
284
263
344
325
304
289
371
345
269
358
317
320
297
367
370
314
287
282
181
347
320
374
228
372
358
277
315
319
313
307
294
304
336
341
284
210
305
297
334
307
307
229
344
314
298
304
347
268
346
309
347
320
349
360
325
289
300
340
320
285
357
267
403
442
187
248
254
340
348
368
342
271
325
298
375
262
274
368
329
385
309
243
364
327
269
247
300
280
271
334
408
351
312
339
317
237
247
376
274
333
347
369
310
380
297
323
367
341
367
284
347
340
274
314
381
282
291
354
327
388
350
251
384
221
315
280
318
346
332
320
278
409
290
260
398
328
355
306
300
216
261
274
277
301
367
271
356
316
315
261
305
345
326
374
281
300
385
375
340
301
309
336
258
291
351
366
289
253
292
400
298
305
294
315
318
286
333
312
246
221
305
313
238
298
272
265
255
324
301
289
313
306
186
300
340
330
404
230
281
340
403
313
273
335
338
332
306
407
328
359
302
368
305
350
354
333
305
291
369
328
341
267
300
344
208
358
392
286
396
323
374
327
310
401
333
363
301
384
352
311
288
357
321
334
378
346
272
283
331
316
220
317
315
213
285
373
391
258
287
324
371
344
254
275
283
362
270
289
374
366
333
320
368
256
297
298
331
322
316
304
344
292
258
292
267
308
362
257
355
358
326
325
335
308
309
313
425
329
282
333
275
340
375
405
289
306
305
313
328
420
359
339
360
333
348
339
302
278
325
308
293
343
374
261
376
315
373
310
384
176
238
300
335
299
286
326
387
240
360
338
354
335
291
269
394
291
352
343
346
299
323
251
295
257
352
382
360
200
362
364
296
310
339
358
320
346
395
312
375
382
302
246
298
321
316
335
306
371
277
305
327
351
286
281
305
266
332
273
292
313
386
311
318
347
322
330
318
279
284
353
373
332
324
410
359
329
239
381
316
238
341
317
327
288
304
349
306
341
245
251
292
295
282
378
322
347
374
306
339
286
378
347
301
343
366
326
388
285
364
339
317
349
420
273
321
359
346
274
261
289
313
325
232
269
300
328
304
298
354
316
252
289
272
342
372
315
333
288
382
260
273
331
373
317
335
311
331
340
373
343
360
327
315
313
284
323
282
291
246
422
312
314
324
343
334
282
251
281
303
304
280
357
315
316
328
347
350
290
281
252
312
246
262
206
407
364
343
365
386
384
299
393
350
312
285
294
242
294
318
291
286
362
372
314
384
306
287
262
291
334
361
320
321
355
278
310
319
383
225
312
302
276
391
288
351
364
286
311
246
317
279
293
315
319
275
308
252
351
346
290
364
311
333
331
294
352
301
294
320
369
314
321
281
221
296
360
295
295
287
236
281
296
375
305
387
233
260
269
328
331
301
249
328
286
347
322
451
292
327
312
282
345
304
346
380
324
288
324
291
264
355
304
348
318
372
220
333
378
294
303
287
329
294
334
353
365
335
328
393
291
351
285
306
245
241
290
287
380
312
315
372
385
298
343
288
305
222
270
282
330
296
277
365
343
403
356
320
287
413
317
307
347
315
353
257
287
273
281
363
347
310
325
315
314
317
283
303
259
232
343
313
336
420
289
312
274
370
381
317
319
346
285
291
293
329
354
285
368
249
292
297
293
370
286
266
323
300
376
371
367
321
331
313
200
348
317
377
303
268
351
314
283
347
367
306
316
270
334
404
272
263
326
353
345
310
344
322
281
323
254
278
336
353
282
274
269
367
307
359
348
335
342
317
240
307
351
270
258
283
376
312
273
344
236
364
336
345
344
347
237
324
337
351
335
330
285
334
317
260
232
346
319
336
337
261
319
345
356
261
317
276
333
276
419
271
245
362
391
251
358
293
404
338
401
324
316
303
339
321
315
368
366
304
335
311
305
310
345
306
336
410
309
366
320
319
319
264
275
304
359
314
290
296
259
330
258
304
279
257
349
279
320
325
353
317
320
332
259
326
267
317
359
356
375
320
251
367
306
312
308
337
340
237
290
365
314
332
313
258
337
342
371
334
333
305
330
322
270
341
309
326
275
410
294
280
317
342
401
269
358
362
267
298
353
358
346
290
320
323
358
339
256
293
309
334
322
357
304
364
271
337
416
284
430
262
326
409
223
360
328
253
314
304
307
293
288
325
334
339
274
332
305
287
267
339
306
405
237
277
336
313
272
313
343
316
230
305
370
339
338
320
291
349
297
306
370
290
313
369
327
409
331
331
368
329
298
298
290
305
232
314
322
353
357
299
306
384
443
292
288
215
358
302
293
350
298
379
235
329
251
355
334
352
324
350
360
324
331
337
364
310
272
283
259
353
377
318
281
183
313
316
296
343
285
329
393
320
334
226
352
309
342
300
245
253
296
389
371
327
250
287
262
248
344
360
320
385
269
358
301
291
335
244
308
280
354
268
221
353
303
340
199
346
356
334
339
360
334
310
401
343
287
349
354
261
368
369
454
294
305
372
339
289
357
326
343
334
365
320
313
290
267
279
311
293
312
311
325
355
257
365
330
291
346
314
247
379
324
273
309
257
363
384
271
334
306
282
316
319
340
442
325
336
286
287
414
276
326
350
303
343
274
339
331
308
231
359
327
350
297
241
347
301
355
297
269
242
333
253
296
337
282
331
366
303
268
396
323
293
397
385
298
330
382
220
408
274
350
302
353
362
349
217
322
351
301
275
239
380
416
363
324
263
306
419
304
364
355
306
371
291
376
342
405
323
303
344
319
292
282
366
324
240
227
360
269
311
321
313
254
284
334
320
233
351
349
174
376
352
305
361
280
304
325
353
326
329
389
349
297
321
322
269
264
229
365
385
307
270
233
280
311
347
289
318
277
257
274
359
342
303
460
295
339
347
318
322
298
259
370
316
328
313
381
258
385
331
338
367
330
280
346
346
370
305
350
315
367
336
307
332
288
405
371
276
284
364
233
304
313
253
410
384
354
324
289
378
311
305
327
299
303
322
278
362
315
364
250
345
401
340
270
291
369
260
325
381
338
332
271
347
302
321
328
346
353
303
353
292
364
321
354
375
331
383
313
309
294
287
291
291
301
303
337
341
392
396
283
273
404
389
261
293
340
268
262
360
334
356
376
367
319
332
326
307
264
331
268
309
337
389
285
277
339
323
271
290
354
331
305
386
399
336
333
354
346
341
344
299
396
329
323
351
293
304
332
332
343
323
287
297
340
356
347
402
338
328
319
308
322
369
375
295
361
225
263
319
321
264
305
318
265
243
281
300
390
336
355
289
350
401
324
273
371
312
281
250
310
365
233
316
276
336
273
347
363
300
366
324
387
363
325
365
371
326
274
341
295
344
387
303
347
309
336
327
331
388
344
349
309
254
217
344
309
294
317
282
343
276
302
330
206
373
314
408
328
360
256
397
301
331
318
225
290
333
357
340
303
382
284
375
244
349
298
308
360
327
285
276
346
270
343
325
256
239
348
311
287
273
261
357
338
366
236
286
336
361
351
284
341
341
347
270
287
377
354
273
293
329
284
352
345
300
273
331
355
336
337
357
269
330
355
287
263
353
330
309
455
343
310
267
296
383
297
316
338
316
345
362
289
219
266
378
385
312
282
328
312
293
328
312
325
294
316
306
258
299
234
283
258
349
316
347
277
304
328
351
366
360
304
320
353
289
397
339
305
288
233
315
293
395
307
306
316
343
320
292
370
317
360
315
364
260
398
249
291
346
258
233
354
255
242
284
334
315
285
329
359
342
338
358
328
347
309
345
325
283
299
285
374
303
356
314
369
356
315
301
238
311
251
303
368
414
355
386
302
407
257
320
304
379
301
398
327
423
374
355
352
268
372
345
340
325
287
365
279
298
210
338
272
272
317
327
342
363
369
296
322
316
282
341
376
210
253
312
310
272
270
323
236
279
279
326
317
252
263
223
283
323
381
333
235
256
344
316
323
352
288
322
389
301
296
325
401
335
358
242
398
323
377
338
341
348
330
291
298
337
379
301
341
280
312
329
355
325
205
325
333
313
337
302
264
284
330
335
283
334
379
317
317
328
237
314
312
273
277
276
266
348
341
315
319
332
288
371
296
285
397
312
321
301
305
292
272
271
307
317
318
285
368
300
312
316
334
306
304
244
299
317
299
316
257
303
330
275
318
345
323
276
275
377
273
252
286
283
437
362
258
363
300
275
270
406
345
204
405
314
323
270
308
201
336
269
384
311
360
251
361
373
253
280
331
302
333
299
343
264
357
264
295
326
273
194
335
371
319
386
261
268
386
310
333
369
295
376
266
226
285
405
375
218
299
260
373
315
343
323
279
421
288
314
289
336
349
322
326
353
355
315
348
261
306
293
309
324
366
348
329
299
333
306
297
306
345
326
292
355
348
352
333
345
263
409
247
254
286
348
292
247
326
253
322
324
336
337
309
340
317
266
334
265
319
361
363
318
340
398
274
281
327
375
302
315
316
296
332
292
346
345
273
285
339
352
236
351
305
293
392
284
337
320
373
351
265
336
308
299
318
351
352
303
377
334
297
290
251
292
357
327
313
341
333
333
343
299
274
383
327
303
383
301
323
372
257
363
293
302
319
274
342
256
328
341
344
339
327
301
259
333
215
328
371
309
287
270
306
301
268
255
318
317
327
362
298
301
249
279
286
355
298
337
278
323
318
273
370
266
337
282
310
342
296
361
318
343
283
270
243
415
402
385
297
253
295
355
346
232
341
315
330
317
331
318
283
230
324
351
286
382
321
314
293
284
406
392
308
248
366
271
283
345
297
308
361
223
342
353
305
287
315
264
366
383
366
351
295
369
366
388
317
355
283
286
294
303
342
354
317
216
410
271
399
284
237
244
357
321
363
407
322
371
249
420
361
248
301
321
296
341
273
324
325
335
300
289
380
300
310
240
342
296
324
284
371
288
337
407
393
365
276
300
341
301
325
291
299
306
323
268
314
333
321
371
313
375
324
297
242
282
349
314
240
256
325
305
285
302
257
246
298
226
239
306
327
349
325
319
286
304
293
354
359
366
333
276
306
338
213
279
353
357
272
246
306
254
280
328
373
254
237
375
283
326
268
322
347
403
340
220
282
224
312
291
363
294
300
253
331
386
354
327
249
352
326
344
283
249
327
318
271
262
272
309
358
310
296
267
327
350
334
346
334
348
310
267
322
305
337
305
335
250
347
318
302
379
282
291
326
350
319
396
266
310
251
346
300
365
306
346
361
263
351
393
334
355
371
325
390
250
273
364
387
238
315
313
323
248
204
375
307
345
270
354
265
252
317
256
373
263
295
307
282
264
324
260
389
362
345
372
260
258
349
282
270
257
291
271
327
314
410
252
308
248
334
275
246
377
362
328
342
295
348
409
317
342
326
401
324
323
340
316
269
384
361
303
343
369
331
252
296
247
272
330
307
284
274
350
314
322
331
339
293
326
325
313
354
292
348
368
257
172
258
271
394
348
302
294
306
318
344
305
314
357
358
334
299
307
322
338
332
389
311
327
377
299
298
318
290
282
362
232
388
311
281
281
377
299
328
300
345
270
413
330
308
341
326
349
290
302
351
263
376
323
269
284
366
355
334
239
329
278
364
287
307
376
258
334
235
355
387
403
323
335
348
370
277
288
289
344
256
337
285
307
319
293
428
389
259
391
295
245
310
367
288
313
375
323
311
265
230
359
349
303
341
289
235
339
274
320
366
312
370
303
357
294
242
336
346
217
303
333
354
300
333
369
272
359
308
293
270
329
270
306
372
358
315
297
300
263
260
408
254
314
272
372
343
381
282
338
346
347
327
304
294
299
341
364
271
284
333
322
320
370
349
340
412
278
229
241
396
303
181
367
314
313
316
261
280
319
303
290
316
325
235
272
339
265
327
381
325
270
325
254
317
360
300
329
265
323
362
297
326
277
297
341
234
374
336
393
294
355
308
323
323
368
279
384
322
341
362
276
305
311
273
391
228
267
294
246
371
335
344
238
331
362
339
284
380
243
347
349
362
306
260
393
246
292
342
357
307
335
298
423
358
240
332
357
309
307
321
303
311
267
297
322
313
348
350
334
353
261
289
310
285
330
262
363
282
370
329
322
301
340
288
395
256
286
305
327
351
348
370
358
354
318
328
315
286
251
379
302
369
341
272
270
326
272
303
255
327
383
280
234
315
326
261
338
273
225
277
330
331
317
408
307
348
330
280
333
363
399
270
366
307
273
298
395
298
266
330
262
339
306
360
362
393
298
353
346
390
431
362
308
323
250
336
330
319
330
315
285
250
347
328
347
323
222
316
425
266
314
334
340
297
304
274
341
347
300
356
231
210
340
252
351
297
328
316
242
345
321
300
372
334
299
340
344
327
341
338
350
345
268
341
320
340
312
273
306
299
261
293
372
294
275
358
360
383
308
318
335
261
336
260
308
342
341
324
352
287
360
364
289
274
314
372
322
301
321
341
335
315
347
291
396
353
302
295
337
390
246
318
310
309
299
266
226
295
236
277
328
348
329
354
222
356
318
371
345
273
305
311
355
292
270
430
246
275
317
352
312
324
317
363
317
357
306
264
349
361
275
258
338
347
376
424
279
366
346
380
400
318
377
328
361
328
353
284
250
336
357
379
327
276
303
282
316
347
310
307
296
372
276
349
336
244
292
332
310
405
359
349
308
320
348
372
332
311
362
359
362
286
287
320
335
314
318
392
310
313
296
304
387
258
343
255
302
322
352
305
309
292
287
307
360
293
354
304
310
270
327
355
218
262
275
340
343
271
406
389
329
316
327
283
308
343
340
335
344
359
233
354
330
342
325
364
317
324
289
280
224
325
340
358
352
373
370
382
367
385
358
303
268
365
329
363
343
373
300
328
263
255
306
305
261
294
208
398
371
385
307
258
300
325
362
349
323
362
318
397
291
368
351
292
260
264
251
340
354
354
314
336
248
350
304
308
294
323
319
260
298
347
256
281
288
379
309
344
335
361
313
337
282
301
343
277
337
266
392
310
304
304
287
367
349
344
412
263
327
288
304
322
296
291
266
315
345
226
279
287
316
328
299
314
282
359
312
337
354
348
299
306
294
331
303
315
300
321
317
298
285
328
307
357
254
333
276
318
261
289
311
259
289
276
320
333
318
355
291
289
372
304
296
387
341
332
326
345
261
237
304
321
269
357
230
364
364
346
295
390
390
323
346
368
382
345
247
301
326
269
334
314
248
318
288
239
356
272
385
357
269
296
393
269
302
355
376
301
396
196
415
382
336
279
292
332
362
300
375
340
290
369
315
283
181
351
342
309
373
311
352
288
376
403
431
379
367
341
363
385
298
290
211
371
293
382
319
315
310
287
304
290
394
269
359
299
230
300
368
306
344
289
305
340
367
282
331
160
286
237
337
395
281
299
358
274
372
334
355
370
268
350
336
346
406
307
385
326
252
304
206
260
330
346
225
314
286
330
298
313
267
375
293
277
274
339
361
318
296
314
363
336
305
224
323
305
378
357
352
336
274
268
322
379
318
249
306
365
376
291
342
257
419
354
376
394
280
301
388
276
290
318
368
393
274
246
243
218
262
312
352
348
391
388
356
304
292
367
357
292
270
309
315
373
252
316
304
373
367
400
296
326
259
341
345
361
332
353
294
258
324
287
289
253
273
366
278
396
292
395
270
336
307
405
291
290
260
324
327
392
264
325
253
341
320
324
294
212
334
240
254
302
319
235
331
321
281
318
328
336
277
294
282
312
352
289
340
367
290
336
321
303
353
395
250
285
333
380
272
300
328
259
364
376
285
353
267
307
292
312
329
312
329
325
419
364
383
254
331
320
335
390
223
331
255
346
241
290
303
292
380
370
292
346
341
399
357
296
328
304
336
302
289
351
328
317
390
320
326
368
355
271
387
263
347
327
274
323
314
259
300
324
332
375
315
369
287
285
254
300
335
321
343
277
263
366
290
302
335
398
303
365
424
349
263
329
331
345
301
260
245
365
281
270
342
264
270
413
328
340
306
377
371
385
377
277
372
313
237
285
324
244
255
318
329
364
304
432
273
342
376
294
287
350
322
347
374
235
332
396
343
379
336
353
259
387
283
283
365
323
264
340
386
336
312
355
290
328
272
294
309
297
308
389
273
424
369
259
318
305
295
363
300
284
373
248
354
268
393
316
311
295
375
291
314
339
375
310
326
265
196
308
350
282
333
282
320
446
408
265
306
286
335
231
270
382
263
295
306
329
435
294
372
268
254
304
336
422
373
294
353
282
350
277
362
345
323
388
315
315
291
385
320
345
361
302
257
359
312
366
332
323
276
342
365
367
335
325
296
254
343
329
297
382
324
305
343
316
298
293
330
294
344
349
295
318
365
306
246
302
310
281
294
307
393
314
287
349
315
356
355
315
290
313
287
318
367
304
318
303
263
237
345
383
359
328
326
322
238
303
325
338
266
253
286
381
385
330
307
363
321
403
331
277
225
388
308
328
395
315
307
380
272
341
399
340
398
421
281
312
249
428
378
297
311
342
307
304
335
274
352
297
378
316
319
383
294
243
248
342
323
313
343
336
255
321
384
264
358
339
362
343
351
290
334
292
366
314
256
369
302
324
314
299
246
352
333
217
359
322
346
399
236
330
275
221
366
270
303
393
408
313
350
418
337
391
342
243
258
335
175
342
345
304
356
305
345
306
291
361
394
285
363
318
356
291
345
316
333
316
327
277
278
317
253
301
299
369
282
298
326
349
323
342
264
355
231
332
361
243
376
326
287
322
254
277
323
279
280
303
299
278
300
280
324
329
264
278
304
304
302
319
313
252
316
317
323
254
363
330
306
372
388
369
197
347
317
313
283
343
388
243
319
302
311
303
333
383
362
259
307
250
396
276
335
270
331
322
369
257
311
315
279
272
278
212
290
310
335
302
270
381
257
325
314
358
273
342
339
407
316
336
307
393
289
297
347
419
355
321
283
357
381
406
331
313
395
318
341
267
343
342
256
364
376
314
331
278
370
364
338
313
358
303
331
330
272
352
309
312
322
307
270
327
322
381
287
301
367
314
316
339
309
257
369
351
389
271
303
355
330
320
273
277
342
203
342
429
227
353
247
282
271
325
258
310
293
270
360
403
290
338
374
284
291
374
392
332
285
283
264
268
362
363
287
308
325
306
297
403
352
328
301
407
372
298
404
366
290
368
334
344
292
370
340
281
363
266
338
326
343
240
284
322
272
337
278
295
397
372
361
330
330
321
333
288
313
257
334
328
324
289
298
305
299
318
329
297
293
332
307
313
324
404
348
304
301
379
287
392
292
324
309
297
331
292
312
399
315
321
424
356
296
373
266
346
246
323
269
232
332
267
289
228
272
291
332
261
360
331
371
363
289
331
297
293
276
265
212
328
338
388
345
229
243
259
335
240
296
237
274
333
343
271
385
379
342
347
310
346
297
306
315
316
341
338
358
321
382
376
308
322
287
262
278
368
323
279
258
367
274
322
307
318
317
286
273
339
298
309
329
357
299
343
281
273
362
297
271
336
317
288
353
250
272
368
233
398
340
332
273
261
332
318
258
363
280
348
253
417
229
322
360
339
292
384
384
288
381
334
302
316
406
319
229
330
362
370
270
304
348
225
329
224
331
293
358
340
219
317
309
310
309
339
273
361
356
348
207
375
355
286
347
350
310
298
315
319
292
239
371
299
305
323
375
296
317
345
348
383
309
343
289
216
267
376
324
298
326
251
264
245
311
308
291
399
308
300
262
324
325
281
328
301
396
324
333
255
325
347
264
309
336
240
309
292
311
323
280
342
280
298
336
251
285
314
288
280
226
336
321
299
337
246
305
362
359
321
291
270
306
311
437
299
351
332
300
401
310
387
340
344
267
338
281
420
264
270
346
328
320
320
354
336
362
343
365
338
346
333
320
331
223
358
335
313
352
321
317
344
311
330
274
325
368
299
395
302
336
295
232
352
282
277
383
370
325
374
348
283
283
358
448
195
377
310
279
321
369
217
330
339
270
334
280
364
327
349
318
364
287
314
408
304
289
333
258
295
357
326
297
370
286
285
281
342
301
297
264
245
264
253
392
320
326
279
337
283
249
391
191
238
281
282
387
316
308
307
319
318
258
247
380
363
379
354
273
382
309
351
236
296
377
406
279
300
289
317
318
323
286
298
254
278
318
365
350
276
313
355
331
282
338
269
305
365
394
221
244
374
258
308
310
282
338
250
340
332
285
246
291
247
314
277
254
282
314
275
400
310
317
328
376
364
333
308
326
339
251
301
285
304
282
299
259
334
326
327
317
352
300
302
335
325
355
177
263
316
310
330
314
323
291
320
320
308
341
334
331
273
352
295
305
398
354
365
289
260
366
212
354
242
283
402
308
377
348
221
384
302
388
336
314
386
237
400
340
281
364
306
349
444
374
355
326
322
340
370
233
320
358
323
362
313
374
314
368
341
281
370
344
328
295
332
380
344
340
315
311
386
255
244
391
307
292
258
369
303
322
349
296
256
277
385
275
362
229
291
320
327
255
344
297
331
202
335
310
303
255
380
243
343
309
443
304
389
369
318
274
408
420
306
310
332
319
318
401
298
284
354
311
305
273
356
379
341
279
243
353
381
268
296
304
290
214
230
289
352
272
292
329
341
248
383
208
326
288
355
301
303
280
327
334
400
244
321
385
259
324
312
382
344
303
277
242
352
339
343
386
294
334
266
342
422
248
282
317
377
345
322
347
317
333
266
352
333
384
323
297
375
358
315
276
428
328
245
292
331
266
305
286
246
326
330
344
267
353
279
330
314
236
335
310
266
346
407
275
406
317
338
354
245
237
327
311
300
319
357
293
329
334
280
326
288
408
406
301
313
256
274
330
333
306
259
343
328
279
340
287
260
291
280
382
353
256
368
315
311
294
329
265
278
269
351
369
325
330
295
293
311
337
274
365
297
279
397
328
330
275
345
390
259
313
378
370
237
383
279
308
336
262
312
258
334
317
246
314
349
336
335
275
280
306
316
285
353
409
317
362
405
233
372
319
372
300
279
318
263
340
356
319
293
378
274
319
229
284
277
337
355
230
338
360
347
325
294
326
389
250
316
266
370
291
297
281
367
350
349
351
375
324
266
344
321
441
282
391
270
311
382
324
363
340
338
291
260
342
316
268
325
325
344
245
368
296
263
304
233
342
278
297
303
254
416
341
366
285
280
270
332
313
328
267
288
292
441
307
277
308
271
365
285
357
310
323
377
355
308
330
353
280
396
317
276
384
360
310
307
250
250
404
346
252
378
218
316
216
295
368
337
290
301
312
359
280
294
274
293
266
366
385
305
288
353
285
328
313
242
238
383
372
304
315
241
308
379
235
329
316
268
337
348
307
344
230
379
330
352
180
393
301
337
284
311
285
343
360
312
229
354
272
301
317
322
348
300
419
315
316
331
278
281
315
250
301
357
318
268
385
280
324
312
313
270
220
333
298
263
249
352
343
292
349
294
257
366
400
381
332
313
283
292
327
330
273
370
364
299
180
309
357
350
340
264
335
304
245
318
302
394
298
343
385
362
374
321
316
423
286
320
313
251
317
363
333
376
316
343
383
338
296
337
352
315
355
286
251
303
212
314
353
279
279
261
312
304
375
293
334
368
265
321
277
311
245
321
241
275
333
325
351
309
284
282
252
244
375
283
326
290
310
346
344
418
252
306
316
252
300
276
384
312
325
261
339
338
348
394
356
326
337
305
371
372
280
250
298
355
331
320
332
376
348
302
346
341
317
233
370
235
336
299
345
376
346
338
271
353
363
310
327
333
359
269
172
338
348
352
323
312
334
259
381
287
257
403
309
308
243
352
295
294
365
361
381
351
314
288
282
330
264
277
340
417
338
276
273
355
277
313
309
281
280
290
408
359
301
333
343
363
221
374
269
279
322
325
276
338
387
286
268
240
282
334
361
347
270
325
319
246
265
296
329
360
278
302
324
324
310
257
285
258
339
352
319
321
294
296
357
297
333
307
333
336
301
340
255
288
291
339
296
252
299
236
356
317
297
352
316
284
238
317
251
344
291
338
357
431
328
250
331
289
394
347
275
273
286
340
289
292
358
220
315
349
336
257
322
339
332
405
392
421
339
279
303
316
374
275
284
393
365
322
354
314
286
232
258
317
291
328
293
302
274
361
374
330
332
302
242
444
294
339
296
317
315
273
361
257
292
401
312
367
350
324
332
340
271
296
359
342
377
303
249
365
326
311
337
326
399
275
231
258
262
364
408
306
291
305
283
317
320
317
327
300
366
362
253
339
340
315
304
297
226
325
408
325
350
393
332
357
307
345
315
266
261
314
287
260
365
351
332
307
293
310
292
278
291
334
298
352
337
373
349
328
329
328
297
363
278
326
285
327
264
405
317
408
294
378
408
259
299
344
281
304
255
369
283
292
370
296
282
295
353
358
283
277
341
384
265
313
316
367
297
312
209
329
309
269
336
361
258
262
314
323
302
326
379
266
340
299
308
291
292
403
311
270
227
402
357
266
383
264
370
401
300
348
335
330
280
249
269
309
334
309
358
367
367
288
360
338
418
184
192
355
339
349
292
327
266
373
282
267
380
306
326
391
338
292
301
382
252
346
312
358
310
371
290
285
307
349
298
298
239
309
314
289
315
270
339
354
342
380
325
256
274
354
296
290
288
347
285
308
345
277
367
269
345
298
369
312
306
367
293
360
355
335
374
293
353
308
263
320
360
370
185
344
266
365
315
393
307
310
361
320
297
245
287
281
406
251
311
351
211
348
363
370
263
349
245
255
323
334
264
327
289
367
336
396
330
296
352
404
252
275
358
372
315
315
359
351
364
289
278
290
318
288
234
367
260
326
366
401
314
329
337
233
390
379
292
287
201
331
387
288
318
322
319
331
299
362
280
350
351
240
404
319
263
316
295
376
291
380
280
231
276
341
299
380
343
269
375
298
314
269
177
353
289
300
317
304
376
334
320
318
297
390
321
310
332
372
311
231
361
222
355
348
327
310
359
285
287
336
359
290
377
354
321
335
322
305
306
338
355
286
298
338
306
340
286
293
276
358
345
263
391
312
328
271
253
410
378
292
324
374
382
304
333
262
285
280
315
328
229
273
326
315
355
312
308
335
266
394
239
356
377
296
322
284
393
296
314
290
316
330
260
328
305
301
318
310
297
294
293
323
330
336
318
292
426
331
419
359
301
330
405
250
295
258
395
311
352
314
303
403
317
296
339
303
311
297
277
354
263
379
338
187
384
342
328
326
234
285
312
326
304
376
298
368
283
332
362
293
256
298
316
334
336
272
319
387
276
389
313
273
320
376
309
336
288
253
262
294
348
317
292
261
268
378
321
361
280
294
302
338
382
328
341
310
348
351
332
370
299
277
327
299
379
374
346
291
387
268
314
343
325
327
336
316
320
364
267
335
301
253
307
305
301
333
314
277
245
304
328
264
328
302
271
363
398
293
349
241
319
369
315
321
321
328
362
287
298
303
196
236
395
294
348
306
321
280
278
306
306
355
310
307
370
415
269
273
298
292
317
340
368
363
310
214
271
291
283
229
383
320
237
417
380
346
346
333
264
399
365
221
324
273
292
358
296
335
277
321
276
276
301
296
324
273
334
339
315
343
334
306
344
391
371
313
362
266
315
311
275
273
271
294
322
245
336
308
289
181
262
377
272
289
293
345
338
307
244
318
404
412
389
374
272
281
185
321
302
320
355
306
234
348
267
333
300
283
321
350
360
308
320
301
377
246
369
345
360
278
338
343
283
346
299
368
302
385
288
331
312
389
302
292
257
315
316
344
331
294
240
288
345
329
303
366
342
312
379
339
198
330
336
349
338
308
365
365
286
214
301
331
308
354
289
376
341
253
322
333
346
363
291
308
346
315
312
357
266
328
265
321
333
327
346
374
300
308
327
303
240
353
346
300
328
301
330
327
363
295
345
316
366
325
315
315
314
340
361
399
265
321
284
263
311
248
349
319
263
295
306
374
262
288
310
256
336
379
276
383
357
344
246
340
406
313
264
300
379
395
262
366
261
322
360
311
286
357
310
227
333
314
275
345
343
309
289
331
308
365
343
302
380
313
306
296
341
291
308
285
343
271
322
334
285
376
316
369
325
330
300
286
272
267
313
280
313
314
304
344
373
357
327
241
306
315
373
369
348
264
248
348
295
330
338
277
356
307
326
281
388
233
363
292
279
347
375
392
333
359
322
301
295
343
341
343
368
287
283
369
299
322
337
308
340
277
434
373
339
306
339
283
277
337
350
327
331
343
241
265
217
324
321
389
327
289
283
343
340
378
297
265
353
289
361
362
300
262
407
389
286
307
347
305
286
242
313
304
346
334
367
325
201
336
290
384
289
365
261
267
389
303
335
319
428
378
375
308
319
339
377
277
316
230
287
344
349
303
354
398
300
235
339
328
287
254
270
216
334
228
194
411
230
312
333
276
352
283
326
242
332
329
286
359
373
273
357
287
296
354
364
305
408
345
287
315
363
287
270
237
283
223
342
270
311
317
410
288
338
321
272
379
341
311
364
340
314
338
306
329
306
243
264
329
303
270
350
304
252
318
311
276
224
349
285
341
289
349
332
275
339
306
325
356
371
345
361
239
303
254
343
343
305
268
332
378
246
355
348
271
316
305
333
268
273
257
324
305
316
281
298
327
279
282
365
324
327
299
393
411
306
345
315
333
330
262
339
379
258
381
291
361
331
297
392
283
311
273
310
355
230
336
356
368
314
328
326
276
353
247
356
273
397
400
337
387
264
332
333
298
317
312
265
329
264
318
300
300
332
321
354
352
318
297
364
385
248
274
342
347
298
351
256
376
314
392
348
329
213
356
353
328
301
321
309
316
353
281
316
301
422
256
341
283
316
345
347
280
246
352
297
370
318
358
336
422
349
290
297
306
337
388
238
358
337
267
337
351
285
324
358
354
315
364
297
406
206
307
263
255
378
282
364
327
365
304
394
372
287
274
387
346
315
316
215
291
278
350
334
346
305
255
259
285
321
310
341
379
311
326
340
381
344
311
297
337
224
364
332
386
372
339
299
368
298
305
385
248
309
358
302
345
249
349
335
356
364
271
249
273
330
258
330
347
290
304
299
294
272
340
202
256
256
268
370
326
322
279
342
366
259
286
262
281
329
386
308
331
363
332
345
299
291
282
256
291
262
297
301
337
223
416
350
296
302
328
255
375
306
294
250
306
425
314
285
226
391
394
269
236
297
290
382
327
276
271
304
341
322
314
363
277
250
276
314
337
324
329
326
231
289
284
415
363
297
322
328
335
307
332
374
352
339
344
371
289
295
365
368
291
352
363
274
318
373
281
348
357
372
312
332
376
343
325
260
244
270
329
393
301
281
276
367
391
345
306
323
246
286
361
266
342
330
299
325
413
351
297
268
320
291
412
322
275
309
345
309
325
272
374
303
318
324
383
298
376
321
237
363
361
312
412
314
373
291
297
387
300
310
304
203
325
322
325
392
298
244
278
367
320
378
316
350
232
295
355
324
270
285
327
339
248
307
367
317
334
287
338
240
318
265
314
277
350
359
343
379
356
298
277
298
296
285
318
288
381
338
281
305
272
377
226
278
256
271
427
310
355
333
378
283
197
328
335
303
371
333
308
290
249
296
250
333
311
340
248
332
369
385
319
362
326
259
268
341
275
263
313
250
395
272
376
408
422
289
388
306
299
366
307
383
294
319
344
340
409
305
320
272
304
313
261
359
294
383
329
225
364
370
287
229
246
301
194
253
322
329
329
333
269
242
296
314
369
218
280
377
344
241
360
271
269
266
309
227
322
292
309
320
257
258
261
366
368
271
318
340
226
356
329
281
288
363
286
357
354
287
410
367
301
336
321
275
286
348
364
298
306
256
340
375
310
266
299
355
310
316
349
373
355
351
244
260
321
337
334
232
366
370
283
377
270
403
301
344
299
308
381
339
354
265
355
295
258
288
357
361
430
322
294
284
391
342
314
280
256
340
327
374
328
267
315
356
304
275
372
217
295
418
338
293
313
327
302
342
305
384
330
404
347
383
363
268
388
287
284
287
352
330
272
316
306
261
401
331
290
328
279
324
346
255
339
340
218
253
289
368
333
253
359
280
296
252
376
344
317
284
327
331
289
336
329
349
234
331
342
270
179
298
243
346
380
348
313
327
291
312
298
385
280
332
285
354
332
368
313
277
323
347
287
261
253
332
336
374
327
262
323
395
330
298
330
343
277
283
332
330
286
419
347
223
343
345
353
213
335
323
315
298
337
319
296
342
319
336
217
302
353
306
272
298
344
377
309
342
353
345
258
372
353
285
298
293
353
302
345
335
264
348
373
399
305
413
255
303
249
293
300
264
312
313
390
333
304
342
336
344
290
299
258
360
321
333
335
380
312
273
295
336
346
313
262
329
352
204
366
364
370
321
342
286
377
274
316
386
352
342
367
321
323
353
274
208
389
325
348
346
324
324
368
340
295
264
299
250
384
292
387
399
401
255
355
348
359
360
344
330
281
374
301
185
330
341
324
366
340
385
329
350
333
341
346
256
317
306
283
261
369
317
379
301
279
297
302
414
245
339
236
303
363
343
295
316
319
367
296
297
277
321
375
289
407
355
255
333
305
355
267
332
319
428
362
238
324
353
297
401
370
319
346
351
310
239
314
266
315
300
365
346
303
306
330
278
254
340
297
362
324
357
330
398
395
317
328
310
294
317
326
275
220
318
294
338
332
365
289
374
346
347
311
285
326
288
347
239
372
210
350
280
325
255
264
339
262
358
321
374
252
310
295
325
375
271
370
256
276
347
283
350
248
350
355
338
258
332
288
356
257
383
287
357
277
429
407
295
301
294
380
316
277
351
307
357
330
305
274
236
340
209
327
294
264
336
285
278
305
360
275
370
360
323
265
280
304
290
326
304
270
373
293
347
317
308
357
326
265
443
362
344
331
289
352
360
360
314
186
362
319
355
327
303
327
295
276
211
353
343
306
328
373
287
225
301
344
313
367
309
323
345
218
317
355
403
277
256
221
326
308
372
318
360
315
324
373
262
426
264
357
327
355
385
319
307
416
295
361
345
244
350
254
372
331
389
328
256
324
346
359
355
289
285
227
334
379
270
358
336
366
301
296
351
309
345
284
272
324
321
313
301
290
302
313
300
247
321
315
336
237
313
250
337
384
379
282
276
287
275
252
370
292
312
262
316
283
315
264
378
329
419
190
355
344
282
372
362
331
420
294
299
285
376
309
312
346
334
323
260
305
357
366
233
385
359
384
373
280
317
274
250
273
257
309
353
306
294
272
247
388
378
301
282
349
273
295
405
331
310
320
335
309
369
298
341
238
315
275
287
305
309
264
329
339
285
252
281
326
351
326
319
284
276
326
336
262
326
293
266
215
307
321
240
233
307
308
315
368
349
316
254
408
297
342
249
325
225
306
336
323
394
317
389
389
303
407
317
339
394
354
342
296
245
280
290
274
316
275
367
329
383
325
326
362
383
320
310
292
315
258
310
405
255
299
300
335
325
328
317
276
352
337
329
262
310
351
288
254
287
330
398
357
288
299
278
307
343
334
346
355
288
263
311
302
376
330
360
338
402
375
326
270
320
364
336
344
350
282
320
292
290
319
400
371
374
271
340
337
323
336
264
178
325
316
396
355
310
327
285
348
289
305
351
280
348
358
309
258
334
351
366
263
322
291
352
329
317
341
258
269
258
407
259
346
255
352
253
387
344
362
268
308
336
359
344
303
254
321
330
270
322
340
216
331
270
327
369
332
406
371
308
296
357
320
301
306
341
267
421
396
393
247
354
305
263
328
315
307
311
318
248
252
286
293
286
332
292
230
379
319
260
314
332
364
346
258
352
333
242
358
343
400
349
320
387
348
420
246
279
372
305
405
386
318
237
278
337
357
364
362
289
320
392
347
284
301
360
278
365
252
365
255
299
291
395
336
302
312
353
316
340
323
273
290
314
378
294
359
295
346
388
289
366
329
224
292
295
215
339
367
340
364
278
327
348
316
370
296
298
286
269
220
257
309
291
401
390
341
330
286
244
287
263
376
234
351
278
289
239
259
335
297
266
262
315
298
302
246
264
347
306
270
387
302
346
281
297
218
413
337
317
342
292
339
287
315
306
356
305
322
334
304
332
374
328
330
286
371
326
331
264
348
277
264
270
342
270
309
328
371
371
183
339
414
360
328
362
213
283
285
403
275
272
332
335
323
328
311
270
320
283
324
312
308
296
315
338
328
309
297
322
401
338
259
263
305
302
325
286
327
305
342
293
317
246
256
258
249
288
250
323
384
282
276
270
326
310
272
302
282
330
383
388
359
296
300
274
294
347
318
278
349
395
312
214
294
265
402
336
345
346
271
285
362
292
310
341
342
368
306
356
333
346
288
311
313
361
320
291
370
250
315
280
302
388
372
278
369
419
360
313
377
340
340
359
191
380
218
348
266
285
285
368
334
285
374
367
233
298
316
263
217
422
324
336
284
367
407
236
353
313
308
300
333
268
350
337
311
337
346
336
338
299
316
344
297
320
358
357
379
357
233
353
280
329
330
284
360
232
348
319
243
304
331
289
297
283
405
394
399
396
327
354
340
323
287
338
323
356
334
278
293
324
326
311
266
320
347
313
264
257
344
333
303
304
346
393
304
322
273
287
310
344
298
304
316
313
242
296
315
325
365
370
249
348
322
289
359
307
326
305
270
339
334
313
378
281
301
231
277
272
339
334
337
334
287
317
306
386
305
334
363
311
348
386
331
320
269
280
320
249
347
295
276
255
325
357
337
270
350
345
285
275
275
380
265
366
308
324
347
269
391
373
273
274
240
322
308
348
263
371
322
333
297
360
359
317
341
360
357
268
280
319
331
214
358
340
327
231
354
303
370
271
325
383
383
325
314
329
369
272
338
299
382
286
316
274
255
279
338
359
335
315
266
281
346
268
342
294
322
273
301
339
375
281
343
346
284
278
339
355
356
378
300
324
356
321
377
267
253
305
317
427
340
335
335
340
331
374
295
348
377
360
298
300
357
264
355
302
314
303
317
332
319
341
373
332
291
388
315
321
373
350
402
367
382
297
272
328
281
290
348
281
286
317
266
316
250
396
281
374
306
294
280
284
253
347
231
262
318
353
331
309
325
323
297
300
297
319
376
308
330
388
319
334
259
365
312
316
230
338
321
343
280
335
317
264
320
295
340
277
350
347
345
293
344
348
355
337
338
313
304
324
377
235
283
351
333
312
316
253
268
374
288
286
299
339
358
347
275
390
326
231
417
303
281
320
287
319
280
330
242
339
295
338
272
359
321
378
309
335
315
250
261
334
371
333
228
308
378
277
409
403
278
292
271
328
266
336
248
283
292
396
408
308
199
291
320
361
375
360
344
332
343
378
362
403
311
278
318
263
287
279
337
310
365
340
299
322
269
290
310
300
314
261
288
401
372
380
334
317
387
345
232
336
240
234
259
226
348
332
377
360
314
286
323
266
256
369
320
346
290
374
329
293
321
307
280
247
328
282
279
306
353
290
372
399
362
362
290
323
278
293
345
346
297
298
342
295
275
393
361
376
260
294
403
369
363
382
337
285
342
346
302
351
314
303
302
287
340
294
330
365
357
345
349
270
341
330
367
354
328
249
269
285
252
296
361
315
368
357
340
321
366
279
249
290
296
275
318
383
339
228
331
292
308
300
244
357
259
313
318
315
317
274
283
287
279
329
277
308
347
363
334
320
301
349
321
348
317
283
289
312
324
294
348
310
283
266
325
285
263
309
362
357
340
402
293
402
216
351
338
261
286
352
265
389
314
377
337
306
319
303
292
305
314
281
359
354
324
248
326
409
353
372
267
261
235
345
331
375
379
297
313
318
326
287
302
338
356
332
270
331
303
303
303
293
286
236
391
348
348
325
284
285
264
284
311
299
243
371
332
394
303
303
308
306
298
305
317
344
307
352
333
328
295
369
414
409
335
276
335
328
383
302
288
327
289
348
334
425
271
312
290
215
286
309
313
370
261
317
268
352
350
403
315
347
312
354
323
294
304
293
279
315
323
329
287
364
333
301
370
337
235
288
297
252
275
227
306
346
273
348
367
308
329
333
312
312
402
356
357
320
342
346
332
223
376
327
325
306
304
258
225
421
331
343
330
264
361
388
314
386
346
333
350
307
324
352
295
340
328
328
409
197
345
353
245
389
363
339
359
221
297
371
330
334
295
278
343
283
369
299
317
226
368
317
338
298
275
353
312
325
325
293
372
248
285
343
332
315
386
298
389
321
241
216
366
336
387
358
275
399
276
310
304
276
351
326
263
372
370
343
336
339
310
277
305
406
258
324
288
284
294
342
283
385
283
367
359
360
313
318
298
289
369
284
333
209
330
363
301
324
353
382
403
332
323
232
289
295
298
345
343
347
345
316
313
309
358
312
369
335
285
317
304
246
333
353
321
264
352
314
283
286
292
339
287
194
314
323
290
289
348
333
341
281
327
230
353
422
345
345
248
332
400
299
325
341
249
326
420
328
259
369
266
329
288
370
303
296
375
303
261
291
311
335
298
398
298
351
339
304
324
290
337
320
343
303
306
302
320
365
324
343
332
286
304
387
335
416
349
355
275
264
318
339
328
254
348
273
282
297
314
302
270
343
352
305
252
347
307
246
253
296
262
293
289
226
393
339
291
339
344
274
298
294
233
354
206
198
280
320
308
325
329
421
357
378
367
359
367
292
405
385
343
291
304
307
379
313
321
358
303
326
239
355
317
313
319
356
311
365
361
237
385
324
302
405
300
326
313
274
233
307
312
363
200
378
291
369
323
304
275
332
323
312
296
332
290
363
297
302
289
285
411
348
325
351
364
407
363
379
281
324
313
371
370
323
264
260
324
342
289
307
358
294
241
291
369
305
295
377
280
315
373
327
353
338
330
300
322
343
293
297
351
345
281
279
391
334
230
315
292
320
293
307
324
337
358
320
365
334
369
322
321
353
268
309
342
357
241
316
270
322
284
361
366
334
335
307
283
261
330
290
317
312
271
213
344
223
303
325
283
338
299
352
316
320
343
331
273
267
240
246
285
333
281
376
257
260
309
347
382
322
320
308
255
356
361
293
300
391
324
353
312
376
350
237
333
389
254
408
266
312
440
338
292
291
291
304
320
319
343
301
317
263
325
320
258
274
371
344
333
355
333
282
284
324
340
377
333
260
250
394
249
263
368
283
313
312
316
346
347
326
373
270
234
333
327
297
315
309
346
333
294
277
247
421
345
396
311
308
278
300
291
311
363
321
394
266
300
327
262
307
369
351
346
280
333
340
362
381
375
235
270
239
258
345
251
318
269
285
329
323
304
336
354
265
318
360
329
335
299
299
366
324
253
313
380
241
283
336
333
325
315
291
295
387
309
391
366
294
340
312
235
387
350
290
317
255
386
344
307
278
344
237
399
285
311
287
337
375
351
362
267
384
353
231
381
293
308
355
374
298
349
225
287
326
326
344
332
258
356
396
331
286
306
271
369
261
315
297
390
353
239
368
251
270
294
285
287
317
361
332
305
286
350
266
316
342
308
388
375
327
303
338
268
290
331
364
228
303
364
330
307
271
388
270
318
287
261
318
280
318
381
356
273
376
319
290
282
378
297
356
320
330
267
282
190
315
227
366
264
348
292
301
357
300
397
307
318
247
291
218
234
443
277
314
338
414
319
311
314
306
391
371
382
295
319
298
317
269
220
269
317
320
285
373
327
307
349
298
321
344
319
272
314
266
240
305
312
309
299
349
303
287
287
308
352
338
279
239
364
277
380
269
372
347
314
340
295
316
270
345
395
290
329
338
250
314
297
283
306
293
307
285
317
261
307
257
232
280
378
359
365
339
256
303
367
293
356
363
277
303
321
222
279
334
297
322
320
317
396
359
289
307
250
316
293
317
339
273
306
300
327
260
379
223
312
343
281
277
347
309
266
317
375
267
313
338
372
296
269
397
295
310
365
382
327
290
307
300
289
290
308
327
319
327
278
246
229
299
238
255
337
344
229
275
366
291
298
330
307
274
337
320
287
297
303
354
324
290
285
237
281
397
348
349
273
312
306
322
210
366
343
295
368
316
312
336
301
334
353
303
352
303
306
323
252
330
278
359
415
334
381
333
382
308
378
343
304
301
339
313
340
325
361
342
395
311
305
264
269
266
354
306
254
293
395
306
276
314
289
268
415
324
304
288
367
336
319
237
373
381
234
400
340
292
308
318
367
349
227
346
326
272
363
363
404
327
245
321
249
383
398
285
336
397
279
305
280
291
358
339
370
281
377
400
261
349
335
283
327
298
268
309
354
275
272
337
341
352
412
332
329
325
275
353
275
347
344
282
351
284
297
343
346
328
316
273
345
299
345
316
310
285
416
407
265
278
277
221
354
315
297
314
299
310
357
331
402
366
313
356
338
368
304
334
388
354
217
381
298
335
292
330
318
352
266
248
335
358
293
371
310
279
204
370
348
372
350
326
341
261
299
357
300
329
346
309
347
318
332
347
242
364
288
307
342
324
258
332
285
270
300
347
299
330
366
273
295
328
345
304
351
267
370
254
306
339
312
332
305
267
348
308
341
349
255
324
414
309
346
241
354
337
283
314
322
397
303
344
276
289
315
359
336
275
304
372
287
384
388
375
291
334
310
264
295
281
265
250
294
307
287
306
308
266
315
298
303
314
356
367
264
273
300
322
315
329
360
352
341
298
279
381
313
273
317
328
217
352
346
336
292
307
365
295
316
315
287
310
344
361
325
314
366
405
350
343
358
313
321
290
318
313
318
321
363
251
364
277
239
241
384
295
259
286
350
342
299
372
239
344
430
338
331
300
400
303
367
299
364
276
372
302
286
269
318
284
305
322
374
350
281
317
329
335
298
271
318
280
316
332
271
334
322
311
378
264
273
334
262
371
447
347
285
332
261
311
353
281
370
316
251
337
276
318
293
304
263
308
312
341
260
251
287
347
400
407
338
284
317
366
338
255
261
298
309
353
358
298
325
352
307
335
280
254
323
264
301
315
319
369
380
283
329
348
277
356
357
318
298
388
242
332
316
337
338
281
350
371
232
343
291
334
318
277
286
335
353
406
224
351
334
304
290
309
308
306
336
301
378
316
310
317
392
181
268
358
321
370
308
276
241
337
353
354
269
294
379
336
306
377
400
377
358
399
367
316
228
301
299
380
310
370
347
404
204
347
350
290
305
301
296
365
276
329
253
278
279
259
285
321
384
291
254
253
385
313
294
351
338
228
286
332
309
401
305
322
356
300
297
212
330
302
342
327
363
321
284
230
299
229
340
315
286
321
332
307
273
391
303
328
315
294
346
351
319
309
287
287
304
279
350
318
280
301
282
326
310
275
278
322
314
342
377
228
351
328
357
305
314
308
334
327
345
354
274
322
330
298
362
360
404
317
374
394
226
322
274
368
277
255
309
294
327
347
370
283
261
341
309
312
374
280
353
337
331
251
238
240
304
293
313
330
319
336
261
364
314
296
267
265
275
385
399
310
325
330
340
296
376
393
354
354
351
307
325
270
368
358
386
266
289
357
261
362
256
329
327
349
372
262
255
248
341
268
368
333
345
326
301
344
301
319
337
265
386
329
361
261
373
313
335
343
354
343
313
298
355
306
290
371
325
263
303
345
260
362
373
326
347
349
339
322
290
299
230
318
305
314
277
337
275
379
338
344
265
360
354
341
297
347
292
290
358
286
387
387
398
358
341
389
289
377
273
290
384
337
358
386
307
333
339
293
321
243
304
339
319
285
363
293
417
378
353
370
284
255
346
283
303
315
326
371
282
256
348
335
328
323
351
361
320
272
387
389
274
267
320
358
333
235
397
326
333
290
337
314
316
271
262
264
379
289
359
420
341
374
342
328
341
353
412
295
334
316
239
353
274
342
379
308
309
267
269
268
350
276
392
255
363
276
311
308
340
301
341
205
284
253
371
348
329
291
348
374
249
315
328
292
389
294
323
380
208
289
434
232
381
259
248
359
296
296
271
350
378
310
219
355
352
319
330
441
327
276
291
326
327
368
384
293
371
256
348
314
302
277
367
224
260
248
317
313
297
294
361
345
347
289
378
374
292
294
366
333
406
370
342
238
272
313
289
362
232
337
346
300
360
253
252
246
290
373
334
403
271
321
318
340
300
285
238
357
359
317
230
368
322
302
336
315
306
379
306
343
330
355
379
376
312
361
315
333
253
332
307
274
315
332
415
338
297
337
308
248
287
271
296
287
345
317
377
266
357
301
271
410
375
328
258
330
321
321
315
277
334
327
357
324
339
293
306
207
280
299
336
318
276
281
398
222
309
325
342
276
280
254
339
353
327
289
249
332
332
256
299
300
289
267
307
305
422
331
356
296
317
307
298
360
366
353
301
299
318
333
331
344
355
311
317
312
303
355
327
340
369
237
330
229
329
296
363
245
384
381
251
262
248
285
271
335
315
287
265
310
334
348
346
265
368
302
306
414
353
310
274
344
359
303
390
310
271
385
253
315
292
264
381
284
415
357
316
322
222
331
329
339
342
374
280
292
312
330
393
251
315
356
344
331
327
243
270
375
330
337
301
295
381
290
240
357
324
303
320
378
236
306
404
274
345
267
339
281
267
251
225
342
325
369
298
383
368
343
326
371
252
342
268
341
312
269
340
358
295
352
333
275
365
318
364
289
328
328
281
299
251
241
328
362
288
356
306
340
286
309
345
333
344
415
329
288
281
336
398
268
329
394
323
318
340
330
353
326
299
357
344
271
397
311
220
327
365
332
284
293
339
316
308
277
301
249
354
324
367
313
321
299
282
334
316
205
238
334
351
336
298
366
380
276
255
351
259
263
403
295
420
285
348
253
342
347
341
375
179
325
262
194
318
257
274
312
305
337
400
326
282
342
300
336
342
299
356
308
361
320
379
351
292
281
307
326
342
317
328
380
345
279
263
367
365
289
287
394
307
295
288
281
279
254
365
262
369
236
347
279
321
232
330
323
386
284
366
370
334
352
373
309
277
305
369
266
310
316
237
280
267
316
393
313
373
316
299
398
312
379
317
259
337
374
317
245
334
376
294
353
286
402
258
272
320
251
301
322
312
301
370
351
332
222
275
314
251
309
301
308
319
324
228
365
397
254
333
225
356
250
382
335
373
330
234
346
347
301
389
295
340
388
340
299
337
324
346
393
286
354
299
416
304
246
370
378
337
348
334
326
311
278
312
336
246
239
314
282
345
258
333
207
307
328
331
355
308
346
220
344
287
316
320
364
405
228
299
326
298
333
284
303
350
283
304
311
360
360
305
310
343
345
232
320
368
210
318
281
350
321
295
307
294
294
421
319
315
407
396
340
381
391
177
388
304
334
301
237
321
326
332
334
309
332
366
371
302
362
346
321
305
216
294
316
294
364
384
353
349
290
312
254
241
342
306
318
308
277
394
261
333
314
297
270
311
281
269
274
317
331
345
330
404
256
308
360
383
323
382
199
304
272
376
330
260
267
321
208
322
298
347
360
301
284
351
257
334
340
204
322
348
272
328
383
299
322
270
318
321
332
377
258
239
343
296
385
312
271
304
330
400
281
303
372
315
348
390
298
321
412
341
416
292
401
349
368
305
289
384
380
250
293
370
291
316
368
335
301
377
274
333
318
231
304
192
366
317
302
271
337
312
320
379
328
286
405
372
322
263
294
338
327
388
290
335
250
269
286
280
340
384
349
237
301
369
354
272
333
340
267
391
314
316
301
299
370
274
270
304
308
263
271
347
316
254
322
283
334
355
336
335
328
298
228
273
295
337
387
261
306
308
296
334
328
368
406
338
332
287
306
338
333
271
271
292
410
309
290
315
338
290
363
319
277
265
320
322
236
260
338
302
329
284
299
295
348
291
348
317
291
326
311
311
298
287
306
275
315
331
300
361
319
341
389
275
270
399
300
298
202
256
281
328
247
413
284
286
305
293
388
394
300
283
270
337
373
273
371
312
300
253
325
274
322
353
337
333
432
298
333
361
377
385
297
287
362
353
329
328
317
339
302
375
342
368
297
308
322
263
320
350
273
423
343
234
329
267
344
282
336
331
289
348
297
322
377
281
329
283
290
312
334
389
259
302
372
395
346
326
269
274
276
275
302
300
368
286
351
342
351
335
392
411
347
317
381
253
353
291
387
261
352
330
354
268
304
244
310
238
369
281
335
354
285
309
401
252
245
367
335
307
424
317
319
321
286
344
243
307
322
307
319
339
286
281
337
263
320
357
274
366
295
310
355
303
347
342
278
279
313
346
366
313
400
311
293
285
380
312
283
287
334
312
340
381
323
250
316
298
249
275
341
256
284
314
349
280
339
277
315
346
300
314
278
348
345
327
316
329
301
286
218
327
407
255
298
348
327
387
283
276
304
343
403
356
245
293
292
303
255
295
348
260
363
352
276
323
307
402
312
316
346
347
324
372
383
329
340
417
360
262
309
271
351
311
282
297
323
301
343
386
328
323
341
261
291
247
282
297
365
337
287
255
362
285
291
277
310
312
350
383
370
378
351
256
216
347
291
306
300
338
317
358
290
311
239
378
307
272
333
275
323
371
243
278
319
299
314
392
340
285
280
267
330
351
242
309
347
331
398
293
280
373
384
271
355
329
313
252
223
357
329
310
420
241
306
247
326
318
369
319
254
332
261
383
313
327
320
275
400
313
341
277
361
340
291
392
342
299
294
259
284
311
305
350
281
361
309
303
333
380
342
288
347
351
320
329
378
310
244
354
248
351
230
343
232
308
303
323
348
327
315
287
292
426
266
367
248
290
295
384
307
241
258
258
291
255
283
290
338
278
289
347
352
328
331
305
295
287
300
378
296
276
275
334
367
356
313
386
323
265
250
367
305
343
321
307
242
319
294
332
289
274
297
273
313
278
389
408
280
329
282
318
402
349
272
355
344
327
296
321
423
311
331
309
345
342
361
342
362
385
336
363
346
292
315
328
273
300
334
257
337
339
360
358
326
296
326
356
368
297
314
314
252
318
391
365
286
357
296
328
299
352
365
241
318
316
346
335
311
360
282
258
314
355
289
262
281
323
322
313
335
264
311
266
370
282
338
398
344
280
372
280
290
382
333
425
302
299
383
254
316
303
349
264
351
367
322
283
263
399
323
283
311
300
288
344
243
308
321
323
294
327
309
317
322
339
297
388
318
365
342
297
244
270
347
274
369
292
412
378
351
304
276
324
394
399
297
382
239
331
344
322
351
278
364
314
270
344
245
373
381
312
267
311
309
339
330
370
249
293
343
296
253
382
245
271
252
254
329
300
313
393
315
294
326
340
291
379
333
261
277
356
350
357
350
385
322
320
308
321
258
381
329
344
334
285
349
361
321
312
296
267
336
384
332
291
357
317
268
331
361
341
319
296
306
341
265
362
333
277
381
216
325
353
399
255
315
256
226
314
267
252
323
288
438
358
268
359
272
302
315
331
317
263
306
211
362
317
294
298
337
306
342
410
348
389
271
306
246
328
229
289
363
267
346
298
265
353
309
359
371
304
258
330
320
344
287
263
261
267
274
377
280
343
292
294
276
278
371
279
275
321
324
267
219
265
393
233
297
378
422
329
315
295
255
331
330
328
335
336
339
295
340
274
378
220
268
331
266
332
316
359
312
360
380
298
267
327
317
297
328
395
267
283
275
359
329
339
314
288
396
286
278
292
251
350
370
295
289
280
289
272
281
297
285
357
270
306
299
358
286
328
299
281
364
285
327
323
362
294
310
270
291
307
315
354
335
197
313
207
336
352
274
303
236
270
308
270
333
294
366
343
305
265
325
329
342
389
338
423
228
260
323
402
378
335
251
319
351
348
291
322
342
298
380
258
310
364
245
392
235
336
324
218
362
262
283
318
305
325
389
282
356
350
341
381
345
290
336
365
378
333
317
321
381
306
355
307
329
320
355
283
336
313
356
329
283
409
372
337
340
311
395
313
354
332
316
252
312
363
319
351
350
228
311
312
332
264
329
251
360
317
307
332
294
317
378
374
368
293
412
237
365
312
351
337
271
292
297
333
326
310
283
309
232
337
387
277
238
304
287
353
290
330
259
307
280
346
339
336
241
291
367
375
378
358
273
301
234
311
356
375
328
316
400
276
354
325
268
304
332
213
232
362
411
298
299
375
263
354
363
259
325
292
275
331
225
354
359
374
361
306
417
278
341
303
326
213
330
347
320
276
324
261
287
413
225
271
342
294
328
293
275
300
255
337
269
360
311
350
302
411
350
247
285
263
268
337
356
348
335
300
323
313
326
283
229
279
254
358
326
309
332
312
377
338
320
324
328
316
294
291
317
287
314
331
380
367
304
324
354
307
353
342
311
361
363
388
281
321
209
218
362
234
321
320
254
369
370
335
185
363
311
305
266
271
187
335
269
312
323
284
304
338
293
319
277
202
321
209
362
249
280
241
341
376
244
312
318
275
343
228
264
352
274
321
276
318
337
247
256
264
270
389
340
232
328
355
322
325
290
374
325
316
300
293
270
355
332
332
310
328
318
281
360
327
316
318
286
300
303
343
272
312
327
386
372
331
379
316
346
319
352
281
327
359
307
296
336
258
275
313
241
320
281
326
381
340
236
349
264
420
358
386
294
316
345
316
356
320
367
320
307
407
346
331
278
301
344
309
355
370
264
391
281
322
352
343
347
206
294
339
339
264
307
361
372
269
356
401
330
366
339
255
346
412
353
376
270
366
296
330
272
331
175
331
323
318
416
337
410
351
327
321
280
320
313
268
291
287
276
333
314
350
276
307
347
382
328
285
360
352
344
327
334
316
243
346
379
285
260
233
246
339
288
304
344
319
289
324
290
331
270
401
322
304
365
375
306
329
173
352
307
368
362
367
410
289
317
313
330
242
266
282
281
332
359
326
295
349
344
244
398
383
287
308
275
282
325
339
308
356
373
247
289
286
345
190
356
279
257
341
326
344
335
227
343
291
243
334
324
320
280
370
397
362
187
369
321
348
310
316
298
324
287
339
299
250
307
345
338
337
240
373
316
335
291
398
277
257
279
320
336
199
284
331
252
286
310
332
232
285
296
187
336
248
411
319
327
334
267
332
267
252
383
285
315
348
323
329
337
297
242
323
368
243
385
356
278
292
357
379
360
410
288
327
284
305
318
292
384
383
378
398
347
291
293
376
317
278
341
395
254
345
273
291
315
306
312
312
244
272
298
264
319
369
307
339
322
358
329
296
266
296
338
285
358
348
175
389
254
266
332
388
228
302
291
238
316
320
263
363
317
433
389
367
295
286
283
249
353
342
323
403
310
296
292
280
302
369
427
264
286
367
294
247
309
371
334
314
374
325
400
451
309
275
265
356
339
279
303
393
247
286
313
371
346
351
310
345
296
318
289
353
287
356
370
348
244
369
411
349
350
339
305
307
334
344
350
383
359
343
145
316
242
240
337
342
386
319
392
280
389
354
311
316
325
332
330
365
279
306
373
335
314
355
301
343
277
392
392
372
274
257
297
256
280
289
345
332
398
372
353
342
234
337
341
361
329
322
357
273
350
334
267
404
301
282
287
365
374
256
294
353
342
209
284
295
293
306
272
424
403
268
330
281
269
251
325
361
314
356
273
222
211
253
292
314
307
284
345
354
324
314
293
276
227
323
293
377
313
307
386
347
391
257
288
347
280
361
265
306
268
339
299
339
294
398
284
360
325
329
286
380
275
325
331
307
327
289
334
309
269
369
370
321
339
389
286
293
347
349
345
357
396
220
292
332
243
333
273
241
352
258
389
328
280
322
310
327
307
280
317
269
309
305
357
369
311
361
322
293
301
342
303
304
365
311
318
287
319
272
297
345
340
373
378
395
287
288
306
414
302
275
261
365
354
371
311
319
351
414
299
292
259
294
386
376
200
364
336
334
268
369
344
288
313
331
351
338
439
321
320
291
322
361
260
345
300
311
383
420
367
383
333
269
280
245
287
363
306
285
336
202
364
279
419
352
321
316
341
346
365
301
364
320
417
350
319
336
311
310
304
321
361
351
356
308
371
273
287
375
300
310
307
239
249
285
219
350
366
301
229
341
354
305
342
295
332
402
335
362
344
338
245
318
352
377
359
295
369
239
316
373
287
364
295
225
288
255
343
258
313
307
339
384
307
338
369
320
342
232
360
304
294
337
341
259
321
313
384
286
336
307
344
332
279
375
264
301
290
338
305
322
332
300
340
295
228
293
375
310
354
357
332
328
384
280
310
302
388
300
284
333
313
330
338
393
321
314
263
372
273
315
297
318
263
391
314
230
298
314
322
325
294
322
280
353
364
311
340
300
275
254
271
296
379
284
287
329
360
264
275
324
291
307
273
333
277
313
342
333
344
284
318
281
363
287
374
328
382
286
264
326
300
325
290
372
357
263
324
277
361
353
336
252
356
280
327
227
393
271
326
350
354
350
400
396
307
328
339
306
371
308
294
377
307
318
439
263
283
272
342
287
338
383
323
327
355
243
258
284
353
287
297
309
309
329
282
366
311
334
275
255
265
208
328
230
281
240
250
349
286
270
356
327
379
315
290
296
317
323
273
339
261
287
307
345
308
265
282
280
341
397
325
338
281
370
286
352
286
401
333
314
276
274
375
271
297
319
298
345
348
261
269
393
213
317
273
371
374
371
368
282
275
354
305
310
280
371
340
357
349
257
297
265
363
274
281
300
339
272
321
318
266
372
362
375
387
382
329
279
221
343
305
357
327
287
342
264
314
299
307
288
355
311
306
275
338
343
279
302
275
262
355
255
343
298
295
279
341
255
347
259
322
232
314
344
307
288
345
313
375
300
255
330
318
379
313
372
352
389
259
366
342
313
317
314
348
365
297
258
357
311
338
361
326
348
281
316
304
361
335
311
269
237
234
328
335
268
290
358
347
290
291
385
327
345
360
360
286
300
281
346
342
335
317
281
332
370
275
321
294
332
303
329
357
349
323
287
231
285
342
332
328
328
312
300
444
288
247
397
263
320
262
335
277
320
264
317
329
296
308
414
232
295
338
328
318
370
386
314
321
353
307
339
275
333
343
371
311
317
299
310
287
340
325
349
302
303
359
258
298
347
281
361
250
362
327
365
274
279
288
343
370
367
261
301
282
289
407
368
229
326
253
315
237
298
354
341
351
366
329
381
372
264
310
253
410
318
333
341
274
265
324
273
251
278
332
272
387
347
341
229
284
364
338
305
265
256
278
279
313
320
277
421
363
324
427
342
243
306
324
242
353
377
324
341
365
281
331
305
324
377
298
282
230
245
325
252
357
382
283
314
284
340
369
192
340
374
307
291
221
307
361
315
317
313
291
337
272
328
235
287
407
343
252
346
280
315
251
322
221
296
320
307
327
316
359
459
408
312
306
273
346
302
366
319
289
317
345
275
352
303
300
320
348
285
372
335
419
307
285
313
299
306
364
297
251
325
387
337
298
369
311
387
331
284
316
303
361
312
335
306
312
314
355
367
276
330
255
283
318
294
378
270
346
292
364
367
346
344
374
328
302
401
378
303
270
351
325
297
357
238
250
341
282
279
279
263
335
392
433
279
334
295
327
309
264
346
297
277
326
308
348
343
240
325
325
319
392
246
397
337
297
368
288
215
370
309
297
318
284
242
259
327
349
233
422
280
289
276
316
275
354
329
341
317
344
404
322
357
305
333
341
361
387
334
306
389
353
289
227
346
272
294
324
304
274
297
346
379
198
276
264
297
342
261
296
244
338
352
258
277
286
276
329
364
253
197
326
392
371
255
336
276
331
332
347
243
396
331
321
316
297
294
385
325
352
353
390
343
296
291
289
282
330
275
271
273
254
338
317
341
257
305
313
330
325
225
309
302
315
358
344
357
369
235
346
312
453
349
242
263
366
275
347
237
325
307
313
322
350
330
300
367
281
336
324
365
316
290
349
308
332
333
344
180
288
334
315
337
328
399
330
319
333
373
235
261
347
288
372
314
270
313
337
323
371
314
338
284
257
303
297
346
388
339
320
291
380
378
351
281
358
252
320
280
378
304
403
192
307
308
267
335
296
271
300
391
342
366
347
353
302
362
232
297
374
281
345
326
281
284
331
271
341
304
246
358
227
390
344
327
282
339
286
333
334
272
398
263
351
330
335
304
305
395
214
308
301
316
259
301
304
377
304
380
225
250
389
296
363
359
303
375
341
320
246
287
245
365
334
325
326
297
321
352
309
211
296
256
408
205
301
338
403
336
290
323
280
303
338
307
408
342
276
387
261
281
249
339
349
260
307
315
266
304
294
325
406
263
270
340
269
377
377
337
324
372
397
357
273
309
323
342
370
340
376
390
318
326
382
273
247
420
306
295
334
366
355
334
391
375
313
197
297
383
306
302
346
242
267
305
374
348
320
300
340
249
357
246
221
346
301
322
323
356
393
322
291
335
257
298
282
339
265
355
409
340
356
334
332
354
330
283
324
271
323
368
334
302
352
321
285
340
360
341
310
367
281
290
256
266
344
282
291
388
313
351
262
322
325
215
371
291
385
364
329
321
345
256
253
253
314
339
248
256
334
322
302
346
369
281
255
263
305
354
272
273
371
298
296
312
245
309
400
271
327
293
288
292
366
319
366
311
388
381
328
342
315
281
312
270
401
290
271
360
353
254
225
341
367
377
342
187
386
336
348
285
291
250
183
337
415
345
389
311
301
356
376
359
321
362
271
370
376
308
404
287
266
283
292
263
318
156
358
345
303
378
281
289
337
271
321
425
345
308
377
343
376
348
336
381
320
323
309
370
248
330
192
320
279
344
368
292
321
324
263
273
344
342
375
294
377
293
337
301
218
275
370
361
342
257
316
377
372
344
371
313
329
318
378
266
258
252
300
257
286
357
392
367
314
379
389
365
336
318
282
307
305
314
268
277
335
284
273
292
382
370
332
245
372
411
266
343
320
390
364
361
314
283
385
368
314
276
336
315
355
312
355
300
329
283
326
320
235
343
359
328
285
336
383
314
406
294
292
345
354
339
307
298
316
382
367
280
338
309
337
268
262
323
272
314
338
336
283
312
326
247
362
285
243
352
316
331
331
343
324
319
414
362
315
348
364
294
282
348
352
349
377
352
433
366
320
234
284
363
357
360
350
310
241
293
312
380
410
306
362
346
314
375
309
349
318
326
328
252
276
326
307
332
256
204
250
332
288
306
235
304
341
305
315
285
324
263
285
327
303
340
353
309
319
327
386
322
282
234
359
326
326
350
315
303
275
362
253
382
365
294
249
268
333
287
336
329
301
264
233
350
354
351
288
321
346
349
228
293
352
269
339
337
234
328
302
302
261
410
393
381
315
335
257
393
317
354
275
384
312
382
273
337
385
265
239
361
272
362
398
309
351
296
314
290
398
268
322
361
396
309
296
341
323
320
256
298
322
315
373
341
268
280
325
266
346
308
346
291
329
343
333
315
252
403
322
330
400
331
304
313
279
363
343
354
282
301
293
285
302
312
313
247
335
327
333
238
366
279
280
327
323
258
239
223
338
261
352
319
357
429
309
372
276
368
385
352
309
304
343
326
395
364
352
268
366
290
281
382
346
357
299
363
236
264
336
302
369
241
300
374
344
381
320
280
319
352
319
334
266
304
277
295
272
268
392
285
321
396
277
341
414
380
380
375
358
334
230
290
311
315
315
347
321
251
318
342
316
284
292
365
363
343
365
325
252
422
314
255
333
268
333
276
314
249
361
275
346
327
316
375
338
284
364
285
296
386
248
334
389
400
283
246
274
278
278
327
338
346
331
271
331
339
280
366
262
344
310
379
337
349
296
298
291
329
313
371
370
336
281
295
327
347
308
313
356
348
359
299
341
340
343
419
347
298
243
320
314
224
276
237
372
298
341
328
349
404
342
366
277
351
337
316
301
288
347
272
198
362
271
311
286
368
322
276
314
383
261
418
282
258
343
289
200
286
310
330
370
302
335
444
397
302
354
341
390
360
343
300
262
317
276
315
331
284
242
391
228
355
348
283
311
388
352
319
348
394
357
314
332
289
274
240
326
368
308
317
317
348
329
257
369
374
289
304
284
363
341
235
278
303
376
266
367
250
320
357
310
306
263
340
284
312
319
281
311
230
235
345
306
286
269
421
314
307
358
315
409
316
326
313
256
300
347
321
329
349
385
349
308
337
297
269
307
331
310
320
393
320
248
439
281
318
354
297
346
368
363
299
383
355
274
341
241
450
301
353
284
245
288
330
375
337
336
342
347
286
225
388
309
262
361
358
291
377
306
262
201
282
343
295
340
335
379
309
275
365
248
299
339
330
300
291
335
307
308
303
314
297
290
352
253
329
303
293
388
403
309
362
286
364
296
394
315
346
286
373
294
300
250
349
217
214
319
326
299
366
311
307
233
287
323
289
363
288
346
309
280
324
387
340
344
363
326
321
343
395
418
297
320
239
317
387
249
296
227
313
380
230
344
354
254
366
324
336
303
294
316
257
346
326
336
432
310
247
280
377
356
357
352
292
358
272
295
345
252
337
316
296
315
403
397
327
338
301
343
321
293
342
308
303
330
382
314
358
218
286
295
375
337
309
355
390
383
269
322
329
330
275
371
323
375
272
226
325
368
276
274
292
249
367
331
257
320
195
295
306
269
394
302
267
292
363
342
352
394
352
324
266
299
341
355
348
343
267
334
293
329
266
347
331
338
333
264
345
372
372
292
290
341
332
303
364
309
349
233
246
328
296
276
301
366
336
239
300
367
362
329
352
363
403
232
202
267
286
397
286
309
293
277
354
322
223
327
299
390
361
283
284
285
249
261
337
323
283
354
340
279
312
312
330
335
327
354
335
290
309
275
281
236
206
310
258
354
336
368
307
401
274
351
342
311
319
373
294
327
347
336
252
302
271
326
272
224
314
368
327
397
394
345
358
305
312
289
318
361
295
274
295
301
274
277
411
384
346
306
319
449
385
238
385
377
257
406
272
418
412
393
351
376
270
337
324
336
292
321
343
362
353
357
321
378
282
407
376
281
261
319
322
253
253
346
326
329
295
368
332
349
308
224
324
312
384
276
328
368
335
291
355
366
364
268
328
322
329
329
377
335
401
358
331
372
370
389
286
316
325
356
312
275
264
356
279
275
364
290
278
230
301
246
336
316
260
324
281
408
293
377
337
282
360
287
314
282
281
344
394
399
307
301
354
367
269
257
265
331
355
231
342
333
319
284
284
335
344
350
253
424
344
394
353
306
308
367
285
306
345
287
304
353
329
291
390
326
362
357
347
263
312
271
274
340
317
351
208
335
228
339
236
307
312
365
304
275
325
370
290
281
322
355
411
275
306
280
269
348
350
259
247
226
404
229
260
276
288
290
309
225
406
366
216
300
321
331
254
313
260
282
289
390
364
274
308
297
231
235
365
347
337
359
248
328
287
314
380
300
304
321
269
271
290
346
268
429
341
304
297
387
358
389
306
329
316
328
395
358
277
432
356
357
266
294
319
324
292
352
254
261
295
334
400
271
266
297
288
361
327
214
349
283
290
292
375
295
309
210
324
245
326
382
253
399
375
298
265
332
344
313
388
364
342
279
328
359
203
251
349
317
298
233
289
360
309
311
322
400
284
315
375
354
373
296
383
324
282
316
312
306
348
260
279
300
268
311
296
312
344
313
325
293
246
314
292
297
334
268
367
351
306
399
244
269
342
343
311
319
393
342
325
363
302
400
329
336
339
236
367
346
276
343
344
348
295
277
377
356
378
322
310
293
251
253
405
330
437
296
353
231
252
328
355
308
327
355
350
287
308
390
318
338
287
334
332
379
259
399
335
335
315
375
319
312
298
327
306
339
371
349
353
274
331
380
248
363
380
309
307
232
312
340
341
304
372
326
329
294
343
305
303
226
375
245
364
342
329
313
370
314
340
322
295
212
367
308
254
327
195
331
370
289
355
264
387
304
112
272
360
312
275
201
326
332
285
282
308
358
302
296
354
243
358
286
300
333
229
302
290
348
322
310
381
250
326
315
330
353
307
314
371
320
287
367
302
341
273
356
280
393
360
297
292
287
323
341
298
269
362
352
303
289
378
256
349
297
360
288
361
381
332
286
353
378
280
345
427
311
254
296
300
299
361
279
310
266
307
298
386
360
244
321
293
299
307
309
378
367
333
285
291
310
200
387
253
408
314
356
362
250
325
284
254
256
329
292
343
363
333
286
356
393
350
246
303
263
247
260
372
298
415
309
366
338
361
342
245
319
354
306
380
308
294
358
414
417
320
294
319
335
298
242
360
370
320
271
305
328
286
315
314
350
286
267
367
325
323
321
341
324
368
390
364
287
308
304
289
295
313
325
399
303
289
229
382
304
249
341
338
273
357
287
288
325
375
341
407
383
410
287
313
299
306
254
247
287
295
241
244
336
241
250
313
259
320
305
350
254
348
363
333
401
281
272
320
307
301
353
279
256
320
379
291
322
259
384
371
416
400
299
302
380
278
275
260
349
367
318
331
353
332
280
269
349
344
337
303
313
272
320
356
333
352
293
310
326
322
349
359
325
302
317
383
351
373
297
297
314
273
337
280
327
345
329
303
382
368
369
283
240
357
338
304
375
303
228
312
340
282
418
355
331
399
298
328
386
296
278
301
267
431
275
322
337
288
293
307
345
287
370
424
291
335
356
319
329
373
317
306
340
339
241
331
276
346
251
323
340
246
343
377
325
387
322
258
259
379
420
302
260
306
331
273
311
327
321
266
289
323
304
271
324
242
298
368
335
374
266
320
250
364
331
233
270
244
314
330
334
319
296
388
355
314
296
385
333
354
291
277
321
325
350
310
317
368
322
264
309
244
357
362
299
391
231
340
388
398
283
427
293
344
292
309
299
296
290
372
232
350
312
241
396
300
294
244
250
320
303
236
335
322
281
262
289
333
340
374
347
353
310
318
358
295
308
373
237
407
328
288
297
315
284
222
225
367
254
211
223
254
260
383
254
293
381
320
400
351
343
287
227
340
345
412
325
325
171
228
300
322
396
270
389
299
306
336
311
307
355
327
310
336
293
373
277
307
350
316
397
303
277
286
284
313
283
373
265
309
354
297
332
310
315
277
310
210
340
400
352
248
329
249
377
311
276
358
284
350
333
312
330
332
307
270
403
297
294
325
334
250
324
317
345
275
323
362
356
290
296
332
303
349
399
297
406
327
363
349
330
331
225
299
308
382
344
327
363
195
231
396
252
393
360
322
386
324
276
347
389
334
336
299
251
272
335
229
329
351
312
322
300
314
278
276
372
249
293
366
230
362
313
287
347
331
386
288
305
289
310
322
372
301
438
374
307
263
337
315
245
364
326
266
398
346
440
313
244
325
355
408
293
328
276
311
407
315
267
392
295
377
344
258
303
350
274
301
298
389
281
269
363
261
312
295
276
365
279
348
339
316
324
299
227
272
250
314
350
235
402
329
326
341
363
371
348
277
296
346
362
268
291
279
307
367
261
277
337
251
290
254
238
262
231
303
310
305
331
373
312
305
315
328
326
324
400
267
237
298
324
359
333
378
295
302
352
342
284
171
344
348
207
253
365
383
337
369
313
313
275
314
283
265
326
264
282
226
354
220
385
343
283
322
240
345
286
352
369
339
298
293
260
346
377
318
348
304
370
275
298
385
396
333
340
390
314
322
355
270
366
319
269
292
331
304
264
348
296
324
369
261
340
284
368
312
340
231
315
318
303
366
372
330
264
264
356
318
315
347
353
256
319
270
325
273
351
341
201
318
370
374
319
330
308
340
313
290
304
341
323
352
272
447
292
327
352
203
342
353
355
359
408
298
279
296
375
292
424
306
341
362
314
256
398
315
314
285
304
404
343
291
313
359
319
295
280
355
230
330
301
249
300
286
326
261
335
306
331
285
300
364
316
302
280
355
351
386
299
323
371
262
362
343
320
308
377
358
275
336
296
354
343
359
330
325
297
292
281
264
269
319
376
405
249
287
278
338
301
404
223
264
320
363
321
312
288
266
300
275
409
367
354
349
271
360
430
338
298
382
311
270
319
356
271
326
303
333
324
348
311
264
312
352
331
394
413
264
336
292
336
328
256
358
342
283
266
331
295
335
259
357
337
382
274
233
352
284
298
273
268
372
322
248
307
359
367
306
303
393
408
358
331
347
269
413
322
387
272
313
341
343
318
339
306
390
369
321
326
315
268
267
297
254
270
232
288
302
352
356
356
317
281
224
332
356
327
273
207
364
331
396
317
344
288
326
315
248
319
303
386
339
397
279
340
262
314
319
298
360
331
302
300
316
329
363
363
327
282
313
236
398
324
330
332
228
322
313
360
331
362
371
317
220
309
326
328
306
299
325
311
337
294
391
329
291
275
304
273
378
440
330
265
392
308
297
342
301
321
377
284
327
222
347
279
297
344
307
284
325
309
321
267
319
415
277
367
380
401
349
359
333
323
354
223
348
403
290
322
431
364
322
302
359
314
349
327
290
329
287
362
307
302
371
314
390
309
287
320
317
306
345
293
294
294
233
367
367
314
379
293
340
225
287
290
361
310
344
286
296
264
323
335
311
375
287
314
405
320
286
296
340
347
282
329
319
354
340
335
329
237
264
338
365
265
392
399
358
248
370
255
358
326
332
292
276
306
276
309
324
316
339
291
301
289
257
336
350
306
385
341
328
291
318
272
298
366
370
394
322
322
326
394
303
241
299
355
331
318
288
308
265
341
292
359
254
360
331
315
343
286
337
329
315
358
253
348
272
343
317
308
287
326
285
283
401
275
354
310
282
324
333
304
302
296
334
307
342
364
323
303
302
346
307
286
301
330
387
361
330
298
245
244
365
286
321
276
281
302
270
398
263
331
239
336
286
327
396
332
285
327
297
346
282
408
281
309
376
371
444
292
310
319
310
208
317
347
327
340
312
313
318
237
318
342
318
331
288
287
313
339
327
403
258
303
297
238
299
272
388
339
401
311
266
295
298
309
311
339
353
264
326
330
407
335
319
298
266
344
371
267
273
208
230
314
380
332
297
376
350
245
299
279
237
305
312
304
324
302
292
296
339
382
340
346
357
345
371
316
378
362
391
319
362
278
211
291
350
311
330
367
388
395
234
341
231
324
382
355
327
342
346
276
316
323
305
399
346
361
351
288
312
388
284
250
356
369
265
305
350
341
336
257
334
318
317
361
358
366
312
305
252
345
309
228
309
262
304
195
264
342
365
254
357
352
407
310
348
394
328
251
283
316
218
338
308
346
324
373
344
283
304
396
398
330
235
302
294
293
266
330
330
297
279
262
314
342
292
304
307
289
312
349
285
261
305
282
298
361
258
289
260
341
348
310
303
335
308
352
391
319
334
325
281
337
272
310
370
307
308
269
275
257
308
305
313
386
247
325
359
387
252
279
244
320
343
252
271
265
339
337
324
384
325
302
351
309
344
299
279
230
361
343
348
339
327
250
309
266
301
398
257
306
288
267
266
293
336
253
267
354
365
277
351
313
304
324
326
340
262
220
340
396
404
307
231
299
223
362
272
375
208
285
352
334
382
313
308
346
248
293
357
384
243
356
273
286
247
340
307
257
278
359
278
320
337
349
200
328
367
296
282
326
245
403
311
357
356
305
316
375
382
306
305
268
349
254
260
338
294
228
311
281
334
354
240
371
378
331
291
252
246
381
284
353
279
337
379
253
337
258
322
373
344
353
325
330
263
356
212
328
281
287
304
244
251
265
281
289
301
248
288
298
290
328
334
395
213
370
367
285
254
292
285
334
380
344
337
307
335
315
291
265
346
328
273
270
338
353
252
255
252
387
306
312
328
397
321
251
307
311
337
361
305
372
348
381
246
291
332
274
409
343
396
289
386
261
294
277
337
285
331
319
321
346
332
342
319
333
317
269
364
314
348
336
274
323
356
333
292
310
275
320
314
381
242
291
321
347
309
357
319
380
355
379
257
317
367
288
261
330
278
287
258
309
336
359
356
312
358
218
329
351
222
357
331
340
235
270
334
285
346
340
347
326
380
357
287
335
318
376
294
319
310
198
326
334
323
252
296
264
385
300
276
326
376
309
371
295
300
318
308
290
368
330
242
312
361
257
320
283
265
303
360
273
236
312
385
347
335
279
314
323
368
308
292
330
262
293
411
349
293
342
292
368
357
298
300
344
241
276
359
304
290
332
288
384
300
313
375
324
247
360
299
361
331
354
291
355
241
325
302
307
367
352
393
304
397
346
329
292
285
289
338
340
308
237
362
372
322
318
317
380
248
301
298
343
304
278
316
347
305
362
383
370
315
258
333
310
291
315
330
383
300
335
371
271
319
391
258
267
312
312
298
302
293
352
303
436
356
280
367
223
224
342
380
341
355
243
246
309
368
333
338
292
359
332
339
274
280
337
376
241
280
366
343
414
326
300
348
333
235
316
324
367
290
279
366
340
332
272
320
296
322
245
326
368
301
344
383
361
326
348
391
363
398
300
262
229
257
263
277
375
225
266
331
338
352
335
316
338
327
398
284
290
248
363
359
374
288
286
409
309
301
276
399
238
243
345
292
296
323
345
388
365
275
325
298
353
278
356
335
294
321
266
359
356
345
420
287
372
334
340
307
311
306
286
316
306
316
301
316
312
349
360
310
209
365
357
309
233
261
330
324
265
267
293
294
272
308
400
359
382
301
385
278
218
330
270
370
253
300
292
250
333
276
345
264
269
389
331
289
374
354
256
297
296
301
300
267
335
319
369
338
230
379
347
339
340
306
354
262
306
282
279
342
355
318
382
339
351
344
291
267
320
286
325
250
322
302
264
289
368
274
316
217
282
308
368
317
249
345
401
294
274
221
354
356
335
360
286
343
302
288
297
334
366
303
233
279
309
322
315
309
342
292
310
345
273
296
269
324
335
298
319
356
343
252
312
332
302
268
308
364
265
344
297
273
314
362
295
307
317
331
282
312
318
407
343
358
342
307
258
330
422
331
372
368
398
345
303
336
309
346
327
222
271
272
355
315
361
297
317
303
260
338
316
295
292
311
345
300
308
258
318
293
273
315
356
292
369
360
325
315
335
290
343
344
376
390
294
394
377
238
274
340
199
403
306
359
368
338
343
293
381
389
317
302
349
318
316
296
322
271
271
198
281
322
296
350
302
258
371
281
309
322
280
285
348
314
296
330
251
375
399
289
333
339
319
292
352
335
200
308
289
292
413
307
351
379
339
296
301
371
311
437
334
368
307
314
253
255
272
336
305
296
334
327
328
358
270
258
313
318
333
259
302
338
290
272
363
249
286
313
330
361
349
341
314
314
313
324
324
313
313
370
272
332
341
322
346
307
315
382
345
328
308
357
323
269
280
340
298
348
322
194
428
281
290
381
294
350
319
354
316
298
369
341
349
302
313
325
309
250
328
265
269
392
301
282
291
332
344
327
386
321
269
344
315
269
402
387
355
222
354
286
319
279
380
376
326
299
311
251
346
269
330
195
334
278
335
253
343
272
245
353
324
297
264
335
252
333
296
341
294
376
302
291
288
301
300
305
340
309
299
251
331
276
330
314
197
324
317
390
385
353
282
313
374
263
347
285
323
335
354
314
255
326
371
332
300
328
334
288
336
273
359
335
331
275
379
294
242
342
288
327
310
323
334
343
283
278
286
367
374
312
238
305
377
348
305
431
311
342
267
359
349
252
279
309
330
239
318
340
257
340
333
321
351
309
345
274
402
369
334
373
357
305
322
386
329
397
336
350
314
335
353
408
236
338
387
261
276
318
319
337
327
251
291
272
334
322
412
306
373
262
308
262
288
391
336
360
234
304
322
324
395
394
366
306
281
306
320
398
321
293
325
384
352
323
276
349
336
315
340
296
277
299
285
292
324
356
330
398
357
332
260
338
341
282
248
290
296
351
326
264
288
297
363
372
320
311
315
328
362
306
260
355
298
367
243
308
418
369
320
339
255
254
343
338
334
319
297
402
346
320
237
340
362
325
268
315
351
323
260
394
333
306
334
318
251
281
254
316
337
329
374
339
291
388
242
248
360
399
330
358
245
254
290
353
333
290
305
292
250
336
260
347
330
381
350
294
328
366
345
252
334
299
334
287
364
245
368
325
323
322
389
274
299
278
325
330
357
236
237
394
344
316
355
306
218
284
324
351
204
368
323
380
311
324
350
328
301
377
291
360
376
322
314
349
276
354
346
286
246
249
328
245
369
219
313
348
339
314
363
272
324
267
278
278
347
303
322
370
355
324
316
328
321
321
307
225
282
308
288
310
308
293
331
307
350
313
345
201
363
380
381
293
334
293
274
249
340
304
240
362
364
332
334
250
408
310
345
375
276
386
403
315
283
300
301
330
312
349
328
337
363
303
266
353
287
254
252
327
299
269
338
340
382
352
393
390
275
340
297
330
337
317
328
259
370
254
289
386
345
302
346
261
269
349
322
289
274
341
324
333
315
365
334
307
359
294
318
344
342
288
329
399
342
254
277
297
334
333
311
370
285
343
292
331
401
228
256
323
298
287
337
310
341
287
336
318
308
236
270
356
235
285
324
310
259
377
311
381
328
311
285
332
339
326
361
287
377
321
313
293
346
346
375
350
300
280
251
350
319
331
243
398
369
308
297
353
286
323
308
287
358
274
240
363
333
359
393
315
293
265
341
320
261
359
294
341
343
343
387
296
270
317
385
286
312
326
369
357
342
357
252
249
370
351
330
333
226
331
323
233
267
334
274
344
302
352
347
314
368
313
346
304
292
289
286
354
204
324
382
372
260
341
321
308
273
302
290
211
285
353
332
392
318
394
277
243
341
432
328
339
344
356
365
319
315
204
327
301
316
340
322
210
388
284
320
280
258
322
250
326
280
345
302
284
303
291
285
365
277
320
279
387
353
284
264
318
339
347
312
253
282
248
336
341
289
330
317
297
374
293
237
277
387
281
340
367
364
333
270
329
262
306
341
287
317
267
334
249
353
381
413
318
244
301
280
306
214
317
382
343
278
306
339
286
318
338
306
359
316
269
281
313
329
317
278
352
327
285
356
249
340
270
298
285
239
267
300
407
326
340
338
354
316
330
306
320
294
304
335
236
298
350
292
294
304
370
296
355
303
312
244
334
288
341
379
389
315
184
261
261
305
290
262
299
284
354
276
289
289
348
369
348
328
325
319
399
298
229
328
305
270
402
223
270
304
303
310
367
353
335
273
321
253
299
195
344
312
312
292
199
296
350
352
348
328
418
309
296
317
297
347
313
276
308
359
245
354
282
346
289
334
243
353
278
348
348
270
252
379
407
372
365
319
330
284
177
336
287
250
302
293
307
384
289
386
345
373
293
338
358
265
330
379
303
215
344
326
372
320
279
289
276
317
345
261
434
304
346
316
279
351
410
327
306
318
318
279
380
352
254
396
210
334
342
319
280
263
250
331
315
309
283
356
308
321
325
391
260
371
364
273
291
270
342
311
380
362
244
324
311
235
324
344
343
331
317
308
301
333
409
286
253
274
321
297
334
217
336
237
334
366
272
354
351
323
294
284
332
330
260
313
295
302
316
342
306
361
303
204
296
311
441
274
371
313
333
326
323
311
337
282
295
279
348
367
311
270
275
331
380
271
344
331
291
287
278
320
235
230
342
357
211
322
400
264
253
286
275
344
299
270
348
305
318
379
371
272
327
345
407
334
268
295
344
338
316
339
307
274
342
387
333
392
308
366
398
347
294
255
307
332
249
272
301
301
345
358
297
258
344
324
346
251
360
425
401
271
321
361
312
280
310
249
315
348
341
327
213
393
311
374
310
330
313
239
387
303
318
330
262
312
336
274
378
370
326
316
382
288
263
158
265
374
320
345
326
334
385
348
310
274
367
366
233
275
340
317
293
256
341
327
373
306
275
308
368
320
281
285
355
325
345
287
319
356
276
346
388
333
295
366
332
244
380
283
267
347
380
338
255
316
300
341
258
351
287
337
312
355
417
243
265
303
426
355
356
356
255
235
310
318
197
338
267
323
264
375
350
348
315
325
388
285
326
290
312
350
357
359
356
362
298
288
327
336
362
373
213
334
326
374
260
270
329
350
279
288
291
237
318
362
251
319
307
355
349
226
410
335
234
302
299
234
327
290
236
330
281
328
209
337
226
292
300
361
275
289
266
320
381
330
366
273
310
391
264
277
305
363
295
369
354
327
346
249
319
392
362
300
279
350
272
266
346
296
365
354
354
316
371
342
287
281
236
288
337
334
296
390
230
370
299
353
306
313
297
375
241
334
388
334
385
352
304
312
319
221
355
197
352
349
288
318
305
338
363
400
416
294
362
304
336
303
368
307
338
271
310
266
349
296
349
352
336
201
277
305
348
285
296
342
297
306
365
364
296
338
259
298
307
328
206
337
311
245
300
244
285
342
368
243
348
296
300
307
282
319
429
264
261
308
261
330
276
215
334
331
308
308
312
343
362
246
348
378
295
278
395
378
278
249
369
246
395
287
357
315
260
353
365
283
305
339
249
305
283
299
242
337
346
346
271
307
293
333
340
321
309
343
246
319
314
213
305
311
323
384
207
295
226
365
311
371
330
375
290
282
385
244
319
375
315
239
308
324
266
324
358
320
388
306
296
315
336
368
420
374
336
273
291
352
289
258
250
283
382
316
227
309
333
330
392
323
337
354
327
310
261
320
364
350
285
320
324
320
336
367
334
399
322
319
282
256
368
280
333
329
286
285
324
322
252
353
321
362
430
287
369
303
364
288
319
343
383
275
308
283
357
349
336
327
267
356
379
329
370
219
344
287
394
351
300
346
256
275
284
257
326
385
319
390
357
226
296
366
311
355
316
296
230
357
320
265
255
260
327
315
310
291
378
360
278
293
314
377
338
335
398
292
412
310
368
357
317
331
257
303
306
309
350
274
355
266
388
312
246
315
389
364
256
274
246
248
327
289
345
299
289
262
300
344
338
318
334
306
293
347
362
311
379
277
302
375
332
343
316
392
380
294
277
373
414
298
329
273
332
285
369
374
300
286
259
292
403
374
237
238
292
369
342
380
358
316
357
342
306
328
336
315
304
301
316
391
290
215
323
285
405
293
301
308
286
308
284
331
308
251
327
398
289
333
336
403
299
312
354
386
376
347
320
316
352
323
293
343
348
364
283
298
294
266
259
352
328
306
324
287
300
374
242
300
266
297
315
339
260
366
289
327
332
330
376
329
291
306
276
312
362
299
275
252
329
362
277
287
309
339
271
315
367
305
299
329
358
333
229
334
345
275
262
352
297
291
313
323
302
289
307
222
322
329
322
327
343
400
330
307
325
207
256
398
298
347
302
275
262
362
301
255
343
301
252
204
327
298
261
297
306
320
312
276
349
274
318
342
308
265
338
335
343
232
297
386
301
278
340
250
230
227
312
305
295
237
330
384
316
286
209
343
325
246
332
282
362
296
230
340
262
326
280
280
291
361
425
349
268
371
327
328
268
260
308
324
340
362
286
300
343
332
240
307
246
302
267
351
344
390
321
236
331
294
397
278
247
337
325
246
356
288
365
261
313
290
313
275
358
346
264
393
334
372
399
321
344
246
303
363
365
340
358
376
229
348
265
309
283
336
310
266
312
379
305
349
281
348
332
313
316
361
307
362
290
287
323
342
326
361
335
298
361
307
259
417
361
303
287
338
315
405
302
263
265
343
338
236
399
286
324
326
327
284
318
365
293
349
357
224
343
327
346
332
304
313
329
370
406
323
260
244
318
332
291
266
276
321
309
362
268
268
353
383
369
352
280
246
338
338
346
331
289
275
348
303
367
255
276
334
371
347
296
338
295
380
283
373
327
297
298
313
294
311
293
283
377
320
309
302
265
170
278
344
351
288
362
374
332
370
303
263
321
347
304
286
349
416
344
266
297
355
340
323
288
300
372
349
419
302
326
296
347
268
283
299
347
346
322
342
296
256
312
280
275
274
266
317
314
351
397
218
284
275
350
299
256
307
372
331
281
268
186
399
343
283
346
350
311
308
245
294
323
362
299
286
302
282
400
314
277
257
305
344
334
270
367
316
297
398
311
259
342
390
392
348
332
283
267
327
322
331
268
349
263
214
249
333
284
357
373
283
360
296
352
290
295
317
259
284
326
311
313
346
314
248
314
384
343
340
275
309
386
294
297
377
240
355
286
362
305
393
378
271
308
359
305
291
297
246
277
315
378
285
300
357
311
327
298
328
342
335
279
278
396
340
350
326
367
330
288
355
284
310
361
320
326
419
319
264
264
385
290
289
318
339
357
375
348
264
331
221
262
276
289
296
302
306
367
339
306
329
322
408
280
335
327
280
327
259
268
364
279
320
256
281
322
325
273
311
222
349
405
332
309
342
338
417
272
373
339
385
354
318
289
327
338
273
315
307
354
367
344
382
377
298
290
354
373
253
390
361
282
302
357
309
311
239
314
437
344
351
386
311
298
305
286
357
296
349
267
337
357
394
295
327
350
298
322
285
243
293
291
266
257
215
239
379
313
375
288
319
375
286
311
299
303
342
366
304
336
311
331
263
228
283
325
316
359
337
318
352
331
398
291
311
278
212
330
378
312
393
304
308
341
320
376
355
393
319
353
295
333
296
263
301
192
289
254
342
348
255
324
317
270
335
279
296
315
377
309
349
281
307
312
256
298
359
296
292
334
366
318
331
309
316
361
323
208
397
326
318
352
339
272
364
263
376
304
278
298
324
340
300
345
323
324
314
312
254
289
306
314
356
248
304
294
309
240
326
308
343
345
347
283
296
330
335
280
349
251
341
294
338
254
306
281
298
364
373
315
369
335
350
278
278
351
396
290
318
348
312
353
254
307
304
402
376
281
343
272
257
249
298
344
305
379
230
306
361
397
364
295
354
239
388
345
382
328
248
314
256
389
447
269
333
277
311
364
304
283
335
314
363
312
228
289
369
300
272
325
316
275
336
287
326
281
357
273
285
377
290
229
358
387
244
320
357
328
314
246
340
309
342
299
314
378
309
328
369
319
337
384
383
341
343
268
276
304
328
373
297
357
351
345
318
336
346
325
361
294
292
281
208
383
246
305
265
265
302
313
229
258
280
295
308
240
297
395
297
262
350
288
252
275
305
316
299
297
279
301
332
311
300
308
328
306
346
337
241
302
343
355
335
377
359
337
331
302
357
316
367
395
335
347
262
306
358
302
401
397
352
405
342
377
357
375
314
349
280
370
365
351
390
312
344
290
351
280
214
264
326
299
318
259
360
365
262
394
333
293
258
219
242
333
353
298
363
382
362
289
307
350
342
406
234
402
303
292
337
390
354
397
300
308
197
240
337
380
257
306
352
358
260
369
254
289
347
286
362
215
269
277
243
339
317
265
341
321
346
282
355
402
330
344
326
273
288
251
373
390
256
277
294
361
342
296
348
366
259
315
326
263
254
282
306
315
240
303
325
296
418
310
312
373
333
274
210
386
350
377
324
272
219
382
323
307
248
321
397
302
364
266
411
299
226
288
309
329
307
328
297
283
368
303
377
362
272
364
269
306
308
284
393
326
288
362
398
310
341
253
294
331
245
300
294
358
372
282
265
340
233
364
270
316
327
304
327
278
283
254
294
326
238
283
340
331
310
277
295
373
298
341
260
284
312
336
263
302
347
340
331
350
379
282
318
228
322
282
293
317
377
357
316
350
260
396
322
289
325
243
305
371
287
261
346
324
276
319
298
425
360
326
334
302
360
290
298
365
329
287
294
350
339
306
292
289
307
376
325
321
307
269
321
312
319
352
284
271
339
267
274
297
405
264
303
312
371
347
337
257
295
252
306
258
360
302
349
243
394
304
354
305
257
361
293
305
418
291
291
342
335
286
320
244
357
379
228
268
287
320
342
335
286
301
232
367
264
254
321
389
390
378
243
353
325
347
342
315
311
251
350
380
402
395
267
356
226
378
354
257
362
376
250
257
304
328
360
350
267
298
321
329
278
321
220
323
400
243
296
244
336
362
302
297
273
323
347
273
319
307
273
294
412
252
294
213
337
318
325
335
350
310
361
349
246
266
259
288
334
409
363
373
330
325
277
373
314
282
265
364
324
280
285
280
282
285
321
271
380
333
328
330
242
271
284
360
280
279
335
327
340
349
340
288
311
268
313
256
304
323
322
299
345
322
281
386
319
263
292
279
270
270
249
276
357
395
331
331
320
321
382
295
359
290
354
354
386
349
325
266
275
349
337
309
349
371
326
294
364
299
308
318
373
399
385
292
334
321
247
325
320
261
369
377
384
338
362
376
358
265
317
325
222
259
341
358
302
340
342
338
312
319
327
292
297
335
390
337
210
400
237
341
332
326
325
331
334
315
238
370
325
295
251
265
308
354
317
370
318
295
366
273
337
412
336
264
351
313
274
380
338
293
264
357
294
355
358
372
277
328
323
323
337
303
297
219
304
245
319
374
308
379
386
365
323
334
339
263
335
290
291
297
354
357
382
358
369
303
231
303
290
320
333
346
337
212
296
384
406
320
301
411
321
311
255
343
370
220
303
358
304
345
313
299
289
256
388
311
281
335
353
271
396
252
353
252
371
240
319
374
347
337
321
307
403
289
380
270
367
360
329
321
352
389
324
307
243
280
276
316
293
297
404
277
339
366
336
353
292
319
336
286
296
350
347
245
272
287
339
373
258
375
247
337
361
346
257
296
252
328
328
332
209
307
266
357
226
297
281
355
327
312
314
269
380
357
254
343
380
281
302
425
315
339
313
326
286
333
253
301
282
371
251
297
351
366
297
315
322
328
344
344
351
307
302
250
344
318
303
268
267
304
339
340
321
235
299
318
364
329
283
319
275
332
274
319
351
310
382
291
346
331
329
333
401
337
275
382
298
361
337
410
321
326
358
251
313
352
357
326
307
274
276
332
339
356
378
322
382
276
337
318
388
318
333
289
300
334
347
331
324
321
348
325
354
376
398
294
388
398
256
403
283
336
244
316
320
274
439
309
365
434
315
381
315
328
291
312
344
321
344
318
276
370
330
292
327
340
306
330
380
286
251
308
346
296
328
351
306
364
339
285
346
364
370
300
297
374
346
264
293
279
289
363
394
327
231
389
330
293
295
329
339
332
336
327
308
339
334
223
266
340
189
344
330
321
332
277
273
328
255
319
293
343
361
348
354
279
417
253
357
286
337
367
297
308
361
324
316
382
273
320
365
327
310
324
357
348
317
379
350
272
383
308
319
306
289
262
261
329
299
338
317
200
292
326
344
363
286
307
237
299
258
382
362
342
362
340
301
355
297
237
422
264
279
269
298
260
323
300
341
331
371
347
273
303
348
278
248
300
304
283
256
258
272
339
275
316
365
271
277
324
338
293
240
336
339
347
263
307
319
296
320
269
350
360
400
265
285
325
279
307
383
341
319
354
206
418
300
252
307
274
300
382
331
296
217
294
309
289
296
329
359
337
372
428
418
281
354
289
289
309
300
307
244
293
286
389
280
358
337
366
296
344
285
273
377
390
352
263
327
348
279
267
335
230
332
362
282
370
335
253
331
308
339
349
350
314
263
304
292
370
292
245
343
370
327
289
375
284
240
320
289
393
242
345
365
250
286
287
306
275
355
343
287
277
274
364
313
319
292
257
322
350
346
220
310
336
272
388
337
334
298
332
276
264
267
329
420
311
319
403
316
325
303
251
432
315
354
358
301
293
209
394
373
301
343
317
318
302
316
387
333
372
358
351
285
286
270
365
294
349
233
277
296
262
225
378
296
285
265
301
302
364
348
239
315
418
347
304
283
349
421
317
337
304
376
387
308
361
308
284
273
350
223
356
331
288
311
326
320
298
244
287
344
358
301
250
362
303
284
350
304
363
308
417
385
338
336
256
345
339
348
287
375
273
365
291
307
335
284
302
353
383
345
308
307
306
258
317
304
268
356
353
275
221
327
339
327
188
228
407
317
296
378
325
311
402
242
351
278
226
320
369
301
319
231
374
309
266
302
295
371
269
294
355
330
268
359
371
328
307
408
347
335
318
293
332
325
306
296
239
322
359
302
251
375
324
287
375
377
276
241
309
300
251
264
257
359
333
403
292
333
295
275
340
267
292
349
284
317
289
308
323
279
292
362
232
369
318
343
342
321
339
296
292
342
389
409
273
298
370
389
391
304
246
340
336
316
246
216
294
276
286
332
292
307
266
392
370
260
269
385
290
297
318
274
281
350
309
298
309
342
238
291
311
314
295
334
294
295
251
268
293
338
362
343
294
303
321
359
285
281
267
284
292
317
306
294
264
365
391
372
306
375
286
290
271
405
263
282
301
301
346
335
341
365
313
247
360
335
306
375
332
338
317
372
253
328
300
217
338
300
253
384
288
255
240
312
327
384
358
205
254
401
301
244
264
320
277
367
181
329
290
378
386
293
333
276
326
358
296
263
294
292
328
348
290
319
323
268
326
287
334
328
330
358
284
220
343
327
277
338
357
300
239
353
335
321
349
306
310
276
292
271
380
290
319
324
307
275
340
338
222
380
349
277
305
307
344
336
339
319
333
339
312
258
326
313
303
303
394
324
262
375
322
298
371
313
311
309
375
363
324
301
297
363
236
342
306
371
324
331
381
327
309
400
320
296
337
271
369
335
319
415
258
372
305
338
372
236
291
288
316
327
344
326
281
367
343
307
346
295
348
364
309
323
354
302
394
239
319
250
356
366
349
350
337
228
222
330
305
292
350
298
326
283
298
309
332
296
347
303
336
380
333
306
284
308
332
325
307
283
260
280
219
384
291
303
320
331
369
379
386
310
379
347
311
251
310
250
329
356
276
272
345
374
233
306
327
327
278
245
308
346
289
246
275
382
314
401
273
327
223
363
323
327
358
318
269
350
312
323
320
359
375
330
324
387
361
347
299
372
240
291
403
352
266
366
323
387
336
339
345
292
335
240
347
333
254
346
359
314
332
312
324
260
390
316
281
344
341
274
285
309
368
294
299
247
320
266
342
294
296
314
278
268
353
431
414
302
238
406
358
284
322
265
325
351
281
395
397
173
253
326
363
345
321
346
290
320
300
275
324
262
319
366
230
382
271
305
373
334
272
308
365
386
336
345
340
340
291
334
312
294
315
215
320
378
357
311
339
281
447
343
322
380
293
315
332
318
397
341
298
356
257
260
296
280
258
265
235
293
377
327
355
307
338
353
324
301
362
328
232
226
327
386
303
363
333
327
337
236
323
187
271
287
416
338
275
268
359
336
337
230
382
391
303
309
280
381
309
270
343
374
261
328
302
323
356
278
361
287
229
368
340
370
310
255
288
208
408
300
317
311
319
293
286
352
329
306
349
283
283
355
336
347
342
197
374
246
347
327
338
272
398
393
368
341
319
299
343
318
355
269
354
334
315
299
431
351
234
308
271
292
273
317
294
253
309
255
349
320
252
313
391
335
275
339
279
322
345
194
319
311
303
372
318
295
289
388
343
312
366
368
377
305
305
352
328
325
254
270
330
318
337
363
355
297
298
318
345
275
267
377
210
305
403
315
299
336
286
280
347
310
308
340
334
221
399
281
346
342
407
348
331
329
271
268
335
290
261
368
219
315
311
399
289
272
303
262
274
312
280
294
374
341
246
305
259
441
339
342
331
377
384
289
294
345
310
310
338
261
296
325
230
352
298
299
307
263
354
358
410
355
319
284
314
384
353
360
355
330
248
313
407
262
315
402
320
325
276
339
379
300
385
357
369
327
308
290
327
265
349
380
337
318
317
297
313
298
330
318
291
362
325
246
339
315
304
380
363
364
297
284
280
333
335
261
373
345
300
346
287
282
323
296
291
322
271
314
263
388
367
248
430
261
259
367
235
357
296
315
343
296
383
302
338
336
307
311
298
306
339
360
361
301
319
216
354
353
322
254
350
336
363
314
342
297
368
340
305
341
252
297
341
265
291
277
368
204
321
312
279
354
297
343
296
305
212
336
328
327
206
299
233
291
319
300
237
384
340
310
341
278
223
308
328
344
346
312
277
323
304
190
355
396
343
307
316
308
287
309
257
317
227
342
349
324
301
317
439
318
350
321
372
300
301
302
373
294
317
240
241
257
364
237
377
301
323
315
303
357
240
344
247
318
281
362
313
309
354
313
340
254
331
344
220
310
368
287
305
321
323
369
279
273
337
370
342
375
309
310
387
278
285
352
247
323
343
285
352
263
349
282
314
361
290
260
253
325
339
377
275
326
376
344
403
357
261
408
230
326
337
300
284
346
319
281
422
338
332
383
244
290
352
296
306
234
320
326
371
271
314
295
273
353
383
330
290
326
313
307
247
344
337
344
304
236
344
314
393
289
309
321
307
350
351
357
287
286
265
306
367
309
289
321
329
297
306
281
290
302
222
335
347
262
310
341
378
332
241
404
257
353
325
410
300
398
368
325
327
263
262
291
343
310
368
386
326
355
285
314
251
317
325
323
381
222
314
328
360
280
276
266
351
295
332
328
335
267
331
198
351
356
308
325
292
230
349
318
316
292
347
261
296
324
306
333
332
270
239
280
331
288
285
314
359
323
308
249
316
328
376
285
338
229
347
317
374
286
329
252
253
356
371
288
312
278
324
279
394
338
298
402
382
273
332
331
314
261
341
356
296
367
292
248
274
294
267
355
322
339
279
384
325
308
360
353
303
272
288
266
321
303
324
242
261
379
399
262
335
274
291
397
360
340
312
326
314
306
278
375
274
354
405
291
309
318
368
320
376
250
278
353
268
281
311
371
366
393
321
314
300
293
256
289
315
348
352
316
329
378
255
346
387
388
281
291
312
339
333
408
267
314
371
342
305
255
293
293
288
352
309
386
330
215
340
348
315
293
218
324
220
288
244
300
420
390
252
345
350
313
302
385
421
269
346
314
404
361
312
308
317
281
334
273
272
380
246
323
378
258
366
302
355
333
292
353
264
286
335
305
227
386
290
230
319
267
310
378
261
349
316
264
294
401
282
360
274
344
281
291
330
344
310
338
296
334
351
250
322
363
297
293
344
337
383
236
354
386
312
282
309
297
311
272
305
243
318
252
288
309
319
370
307
291
287
276
225
346
351
309
292
299
377
257
375
307
327
285
314
366
344
227
416
354
338
332
335
320
304
278
363
348
317
351
350
319
377
204
294
291
416
263
257
296
286
351
273
336
332
382
259
314
254
281
308
365
325
334
334
354
282
223
340
290
250
321
296
326
301
344
262
312
314
364
271
338
289
286
310
295
283
287
286
333
366
349
342
389
270
366
303
401
266
309
316
316
263
310
254
290
306
306
336
352
398
365
369
263
288
233
350
286
391
341
286
284
268
305
280
288
229
346
299
357
293
289
295
318
299
328
280
426
305
300
238
351
311
351
275
293
334
324
373
240
338
290
288
318
354
357
261
364
321
308
314
300
407
362
278
262
293
261
217
315
271
273
372
305
284
359
263
354
315
329
293
334
336
322
312
341
321
328
380
305
310
309
392
375
330
318
332
239
332
310
338
340
337
283
345
248
302
284
327
323
302
240
326
349
308
303
269
313
325
327
252
321
275
381
350
269
367
322
369
365
314
358
251
392
398
311
250
371
346
322
250
252
316
255
269
295
371
334
376
331
319
343
311
342
357
383
322
353
302
270
315
307
334
236
296
273
380
300
325
354
286
344
315
315
343
308
283
344
395
302
324
314
333
362
316
296
370
323
358
313
351
318
373
308
326
327
352
247
249
298
406
359
188
301
366
289
271
385
402
371
318
274
287
262
327
262
381
351
377
354
312
245
288
374
307
235
320
305
255
365
399
265
373
380
320
328
329
389
356
288
375
336
380
296
259
373
226
335
221
353
268
347
322
313
349
362
304
370
344
297
309
273
383
340
341
361
282
300
302
317
265
267
321
393
352
346
313
287
209
261
336
243
303
296
284
298
351
269
265
334
337
370
256
303
353
438
309
429
285
330
312
346
294
302
304
312
354
303
279
292
290
357
312
384
350
235
201
311
231
376
326
342
315
306
295
279
329
289
356
278
291
328
310
315
325
341
392
352
269
314
259
371
270
297
354
329
351
313
275
391
309
344
321
396
307
331
316
258
372
237
325
319
313
280
278
397
339
272
316
223
386
242
406
303
271
283
393
284
312
278
229
288
382
372
445
336
301
324
274
334
316
280
322
279
254
321
206
350
295
206
339
305
303
337
345
313
306
328
295
326
269
330
262
344
315
313
386
244
311
328
297
301
351
329
274
332
351
372
276
329
296
211
331
269
277
286
403
322
229
339
360
320
327
338
299
337
241
389
278
383
288
352
309
370
284
322
361
358
335
272
336
292
358
349
308
313
329
287
425
385
326
354
256
363
357
318
284
349
329
361
301
348
373
412
252
293
269
345
301
312
360
335
336
254
328
300
303
303
234
371
343
416
302
349
314
306
375
289
353
331
329
281
242
252
331
336
351
303
346
372
360
315
244
325
251
218
341
305
259
321
422
402
256
246
315
292
317
310
329
285
341
335
326
277
300
355
336
287
348
370
338
280
251
229
342
281
229
258
326
319
314
342
335
307
289
337
438
314
292
293
329
353
292
334
326
335
289
303
391
360
238
276
338
338
372
309
329
263
300
248
362
357
415
370
295
324
307
276
279
318
297
326
388
320
241
328
312
245
331
312
361
326
374
311
389
339
354
329
297
414
325
280
276
249
263
246
256
238
237
327
325
284
191
300
352
333
388
291
308
334
225
329
302
361
314
312
364
229
307
355
358
316
357
365
324
307
353
363
312
325
388
286
395
261
325
347
353
329
265
307
240
221
282
294
395
439
233
387
325
409
354
317
355
326
368
320
297
269
362
356
309
285
355
302
347
368
272
357
358
333
331
380
288
379
244
299
283
334
366
290
279
371
321
395
397
305
386
349
351
283
300
251
367
276
308
323
419
343
310
248
431
298
308
327
228
381
371
298
343
347
305
358
341
267
351
284
252
381
302
246
313
263
289
374
398
276
267
338
316
352
245
340
291
322
256
347
346
369
375
257
380
326
285
307
351
267
349
288
283
323
223
308
372
363
258
363
321
372
314
322
301
405
291
289
357
237
334
325
289
293
371
313
351
213
331
360
302
321
398
376
327
220
253
391
316
260
379
338
248
390
371
377
305
289
296
255
264
314
264
286
337
288
323
354
345
268
329
344
361
355
276
340
339
361
199
310
333
247
385
290
359
332
357
307
341
313
274
335
257
413
264
312
320
396
354
319
363
335
357
304
263
332
311
282
304
360
296
291
343
342
320
336
250
289
313
332
337
312
359
317
374
266
291
368
317
336
326
299
318
304
326
340
343
250
327
344
344
368
317
226
331
185
290
374
295
321
303
353
331
254
273
324
288
362
307
333
240
359
273
327
338
273
285
323
325
377
328
332
394
198
403
292
346
276
345
254
293
250
304
314
279
359
368
330
264
292
305
342
294
355
391
371
270
336
288
288
276
266
335
385
341
294
316
397
283
297
316
314
286
336
300
390
234
304
317
394
287
308
341
360
313
328
273
299
285
324
331
268
329
409
288
287
221
212
312
325
345
242
332
298
363
328
342
334
345
407
289
287
240
307
283
372
335
271
321
374
207
312
225
387
349
367
285
329
305
375
315
302
343
349
387
283
362
317
272
413
347
301
346
354
263
329
307
344
320
345
340
273
307
391
387
330
213
273
263
306
303
233
307
281
324
287
259
201
266
360
317
307
274
337
332
295
271
268
254
357
370
301
265
360
365
301
303
322
325
286
365
245
332
404
328
277
356
387
303
347
222
302
174
361
310
303
260
381
271
272
222
284
266
336
320
246
259
252
332
343
322
279
271
385
327
310
322
284
255
283
304
266
322
246
237
268
322
366
298
367
360
324
217
266
270
288
347
276
304
325
257
288
263
245
339
399
280
352
376
302
325
372
289
379
311
266
253
364
370
363
425
230
299
300
262
311
250
286
272
323
312
287
318
342
303
340
268
336
322
276
283
353
325
372
258
295
335
279
317
299
329
341
382
319
266
296
272
369
288
245
331
369
309
192
267
287
265
314
323
296
325
355
336
282
305
343
326
314
309
357
346
349
357
330
289
358
406
331
358
341
288
281
326
388
273
300
317
235
253
319
393
321
341
237
337
253
344
350
327
344
357
209
318
304
333
329
356
363
330
310
340
325
329
322
280
379
365
323
365
339
245
361
289
248
309
268
287
360
404
375
285
296
365
298
268
261
286
393
326
332
355
339
299
202
342
309
340
286
324
325
236
344
301
314
314
331
311
348
362
235
369
274
390
242
338
257
351
360
321
332
314
358
273
256
311
328
304
322
358
367
340
328
318
362
313
318
382
291
328
289
415
342
257
341
307
336
299
267
228
350
321
373
353
388
374
322
364
306
287
343
303
351
383
302
302
356
402
377
369
211
373
226
329
346
248
349
325
279
361
353
285
271
298
341
290
356
277
339
302
288
310
391
270
320
330
280
289
273
433
344
307
345
272
292
354
257
323
275
370
321
350
346
288
332
296
231
239
297
338
391
214
320
269
346
406
289
326
235
325
207
365
318
230
278
404
362
337
334
363
223
322
327
247
322
363
351
302
353
376
355
312
355
279
238
352
356
346
327
293
267
222
310
284
338
346
277
297
324
364
324
248
296
365
277
291
277
313
366
276
266
290
325
323
405
273
314
301
389
308
396
267
250
401
296
318
303
286
326
354
322
387
332
300
304
309
288
343
315
337
324
323
270
321
324
280
378
228
302
309
365
327
322
394
272
287
306
328
251
347
324
381
281
291
333
328
272
243
341
258
315
312
302
366
285
227
381
250
320
306
377
244
263
384
327
367
277
247
316
347
374
324
253
364
335
329
337
250
379
255
229
287
359
285
343
359
302
321
352
280
268
369
352
356
399
374
322
271
420
276
358
282
352
344
385
288
359
327
293
361
389
332
341
350
214
339
319
362
276
247
389
255
325
377
327
371
332
369
356
254
345
300
315
366
343
316
215
287
266
368
301
321
309
219
435
366
378
241
243
341
261
304
261
339
294
292
254
330
314
309
286
450
329
312
350
290
290
346
348
295
293
331
326
327
325
271
400
315
358
288
317
285
299
335
316
291
257
314
295
346
274
292
290
277
308
357
366
311
279
339
297
336
295
297
358
321
268
323
323
322
273
345
340
315
338
210
263
327
275
390
297
263
376
278
286
364
209
328
377
308
305
369
277
244
303
288
337
351
371
350
340
335
390
373
315
340
261
274
343
299
290
310
373
365
304
325
325
358
250
333
290
286
379
318
283
268
292
327
351
323
378
335
247
291
354
336
323
337
359
342
290
383
317
296
341
343
355
322
338
387
302
305
362
335
284
308
321
269
315
302
363
322
303
365
320
358
269
339
363
239
328
385
334
372
274
375
344
354
380
303
273
337
307
342
336
376
273
293
337
283
329
306
338
347
311
298
281
370
341
335
306
363
314
311
363
292
277
391
333
309
262
394
352
328
307
266
300
278
340
259
295
281
312
309
286
305
295
276
281
313
290
271
361
319
253
334
297
371
299
350
253
331
374
299
343
368
394
359
300
349
336
362
330
348
320
259
296
325
339
313
316
321
278
361
371
320
313
230
329
317
311
278
278
343
366
272
384
297
347
281
251
312
366
352
328
251
326
319
308
360
269
292
349
341
327
346
372
326
304
375
327
316
324
280
326
225
399
299
288
339
299
334
269
275
326
311
320
340
366
316
373
350
292
359
376
383
314
322
290
385
322
280
360
293
235
290
397
311
258
310
350
341
332
322
260
366
360
349
317
289
368
310
240
284
361
321
367
285
352
285
254
260
391
321
226
327
339
278
359
373
374
326
322
341
369
295
321
340
323
302
315
315
287
337
318
378
334
329
257
224
251
337
312
347
353
319
338
339
337
343
271
260
362
268
327
297
355
376
205
233
366
261
380
359
337
332
320
213
245
362
395
347
365
350
309
377
286
341
287
299
394
372
347
327
222
318
420
217
312
232
330
286
197
308
310
359
291
296
302
353
297
300
351
204
266
203
334
240
371
338
362
280
281
259
307
254
338
300
276
346
287
294
303
333
331
354
291
348
303
214
346
300
283
307
331
317
347
343
359
272
362
404
332
284
341
351
227
363
334
325
347
366
212
291
335
323
250
296
345
285
395
171
308
338
273
323
276
284
347
262
404
304
311
258
288
362
309
369
318
317
295
263
354
316
308
323
297
248
308
307
304
320
296
327
348
352
282
283
202
296
311
268
378
291
283
325
362
302
266
366
239
259
337
274
303
331
274
325
229
284
357
334
377
336
301
344
312
250
376
321
339
327
379
420
259
348
345
311
342
325
283
349
326
299
274
362
316
338
329
238
334
326
304
304
325
371
261
306
274
379
357
283
393
312
259
313
422
355
353
248
281
324
336
314
345
245
300
395
353
277
380
351
377
284
343
360
234
250
337
393
287
265
284
248
295
248
285
296
387
240
401
327
301
401
360
297
339
347
341
354
297
331
308
319
283
282
321
334
344
340
268
329
292
372
292
308
261
288
292
170
329
353
343
284
258
328
357
292
320
252
305
307
357
338
337
286
291
306
362
301
321
316
296
234
378
347
320
246
330
212
282
334
293
372
380
374
356
323
297
396
383
339
308
282
303
249
329
276
288
273
308
375
342
367
334
374
432
286
265
306
340
306
296
243
339
304
398
308
275
277
319
314
313
329
358
384
349
320
247
392
343
357
322
341
369
319
358
313
355
268
340
274
272
299
332
360
367
248
314
281
309
389
363
434
288
298
344
392
305
351
272
375
354
333
362
397
343
319
342
353
287
293
328
296
261
316
379
317
314
319
371
331
351
346
232
291
272
357
302
290
269
304
271
288
334
320
323
290
383
233
323
337
274
407
288
393
304
396
271
374
263
309
342
290
312
334
252
399
274
272
318
341
311
290
264
258
307
253
346
306
351
304
338
260
278
356
319
260
372
280
373
401
282
353
265
348
284
378
362
326
269
307
235
315
353
350
339
273
294
352
319
303
284
318
288
293
221
328
310
320
336
318
309
350
323
242
373
395
280
302
345
317
324
404
271
245
368
325
287
313
317
341
337
257
415
377
305
239
303
256
359
397
302
356
386
373
284
229
361
337
287
315
348
339
287
304
254
264
313
324
380
357
296
354
286
282
302
413
283
274
346
310
350
275
340
257
366
360
379
311
323
355
310
392
376
307
339
340
262
347
350
344
374
324
312
275
292
263
257
287
268
310
305
300
399
346
338
289
343
379
346
293
310
385
384
359
278
330
261
317
259
314
365
361
352
316
361
278
341
354
268
257
358
238
358
350
306
390
374
348
330
319
327
270
373
350
361
388
302
230
258
352
375
341
352
265
301
253
321
285
305
260
294
302
336
384
317
287
290
318
299
319
299
342
291
335
343
379
257
354
306
321
309
274
294
364
246
315
313
330
352
295
388
273
382
361
278
309
360
355
250
346
272
379
321
349
326
332
269
345
356
344
300
372
425
335
289
378
362
330
298
331
342
314
300
331
336
331
417
232
353
323
271
363
243
316
252
310
255
376
218
339
309
403
282
293
331
349
417
386
369
376
306
359
231
371
260
277
274
391
253
299
347
312
351
282
315
295
356
259
274
352
343
283
330
359
375
365
313
330
285
288
357
194
265
212
323
281
364
324
299
349
301
288
380
286
363
285
352
276
337
352
271
330
297
356
264
319
352
385
334
272
358
348
430
354
293
324
298
265
279
366
366
332
257
381
266
295
319
265
291
296
386
326
379
268
240
316
391
267
322
297
375
345
282
352
330
274
360
354
293
388
292
420
335
352
336
302
397
280
259
320
313
313
381
306
311
297
328
366
276
301
310
317
209
360
375
336
278
305
350
218
397
266
280
266
352
248
376
333
345
316
365
246
313
241
306
297
321
267
278
282
292
406
300
306
306
342
337
341
329
260
339
347
298
378
336
297
336
344
326
352
343
264
352
294
345
350
310
338
353
319
322
266
368
288
268
307
245
379
238
353
209
358
231
296
315
378
278
336
304
321
413
292
302
237
343
316
279
258
320
319
348
286
329
328
256
335
338
294
390
395
267
353
276
380
252
275
295
260
260
347
339
361
343
357
358
388
285
319
283
378
244
336
345
334
224
241
360
382
328
146
272
304
261
296
381
307
365
325
318
342
298
374
348
308
335
300
243
324
270
363
328
351
346
312
335
277
365
376
385
382
303
347
348
279
201
355
341
347
264
284
302
303
248
297
340
314
339
293
339
344
304
279
360
308
305
334
395
277
330
279
345
324
237
369
347
307
297
349
349
330
355
287
264
240
330
329
332
403
310
252
281
346
273
302
278
334
366
337
323
377
227
269
333
359
333
339
337
402
349
372
325
318
331
317
268
265
334
289
363
359
285
289
332
218
352
344
271
327
286
323
358
228
342
333
299
291
400
360
223
311
326
293
382
307
250
232
278
355
327
368
325
335
220
213
330
337
323
373
372
317
282
332
404
344
291
321
372
309
325
296
389
325
265
363
352
258
253
359
333
238
281
338
364
245
306
301
269
385
320
246
362
386
241
306
357
339
273
328
292
452
319
379
350
333
358
348
302
338
380
296
292
295
226
315
332
298
325
269
371
340
280
329
207
380
320
269
332
297
319
301
248
323
334
321
246
240
303
256
218
329
352
335
206
301
306
340
388
401
255
311
174
323
331
303
300
311
335
286
298
313
367
319
289
235
338
270
400
302
284
325
295
284
263
394
317
359
304
242
355
276
336
302
287
319
400
272
261
342
246
317
311
349
411
355
301
333
374
341
332
293
353
313
342
237
302
313
282
332
344
304
301
194
297
340
300
373
357
334
342
386
296
199
367
421
276
365
369
380
341
278
351
363
265
332
281
232
350
338
324
254
412
318
341
313
228
350
395
282
323
369
304
356
196
366
297
383
287
161
336
303
259
406
235
243
443
351
288
319
296
332
316
307
294
325
281
336
223
332
268
373
307
295
332
456
326
249
320
293
312
340
284
228
326
256
339
316
338
326
223
351
244
262
340
332
351
399
389
326
285
297
262
325
343
260
342
332
344
355
373
225
354
408
309
332
362
290
264
331
274
330
360
282
336
306
338
266
350
353
323
298
334
379
337
372
266
386
310
298
289
363
260
322
406
361
257
264
378
376
380
306
300
245
292
329
375
391
295
351
376
382
267
277
351
337
302
336
353
256
323
311
356
252
323
399
334
308
333
350
336
411
275
356
356
269
280
255
278
391
312
242
229
299
288
311
348
365
319
249
391
332
302
274
267
290
320
360
379
290
336
299
307
408
320
329
327
321
291
342
319
257
345
374
269
252
371
315
395
322
368
328
375
329
304
302
329
331
347
302
378
341
378
319
265
341
293
372
355
260
300
310
302
269
331
346
327
336
339
389
313
382
214
301
188
370
369
410
343
331
397
307
299
316
378
283
339
415
306
237
318
289
303
236
203
337
320
350
260
332
320
357
350
293
231
291
338
342
300
315
317
397
418
293
264
370
337
291
322
272
296
365
282
192
266
276
307
297
372
285
323
330
335
382
325
271
333
316
288
251
333
344
349
282
348
342
309
271
358
234
338
314
317
296
367
289
300
341
285
290
315
323
343
258
341
290
344
270
357
247
278
330
231
397
320
364
322
329
403
169
376
294
325
346
372
321
283
250
282
267
379
365
357
351
348
340
301
315
327
301
286
336
364
212
253
380
300
346
271
348
262
284
351
347
382
303
320
260
342
286
332
292
314
293
368
298
312
295
291
347
412
348
308
271
289
281
286
265
278
358
328
312
359
331
281
329
348
335
267
234
274
236
279
297
267
292
401
351
299
255
311
341
410
248
293
297
334
291
331
335
323
351
323
299
233
284
344
404
319
281
353
311
336
283
289
364
341
251
412
421
287
373
327
324
339
255
328
348
343
279
273
386
343
300
284
343
317
330
206
283
269
303
381
303
313
350
346
366
342
354
353
309
419
294
254
276
252
293
200
316
300
268
402
376
299
368
269
286
276
298
323
257
280
263
296
338
375
312
396
318
222
367
269
362
372
359
365
325
338
301
354
321
269
265
369
223
346
247
202
331
315
334
277
299
302
295
363
365
295
332
296
239
347
307
304
232
356
289
344
327
355
320
356
251
341
266
311
305
324
298
283
309
282
296
338
333
392
284
272
335
229
311
325
393
310
358
347
353
285
235
331
317
324
215
287
286
304
352
298
354
304
275
325
324
339
239
407
278
246
321
324
344
321
346
365
252
281
348
293
363
273
270
338
302
378
349
313
300
216
314
364
272
418
313
334
279
327
383
288
312
394
299
285
285
314
344
311
380
363
352
295
368
366
278
282
357
339
327
312
254
314
332
356
216
307
319
316
293
334
303
255
329
290
302
310
327
274
236
240
252
324
346
299
265
315
340
355
233
282
346
369
348
377
313
375
324
303
379
316
291
398
305
281
292
310
405
269
328
338
294
290
289
319
208
361
282
267
361
289
373
291
347
296
329
267
299
408
283
319
271
325
238
230
341
372
276
305
277
341
317
352
312
273
361
335
338
258
341
320
263
256
364
312
333
355
423
303
295
322
290
293
393
261
351
337
269
275
370
349
303
293
346
271
323
399
342
317
357
253
327
331
250
259
345
305
339
296
283
309
320
351
325
367
340
241
275
285
303
343
302
232
299
362
290
278
353
347
341
299
287
338
338
343
310
257
307
339
377
306
256
310
353
245
233
363
345
340
329
346
280
214
324
290
274
318
285
370
363
302
284
267
291
366
387
329
273
335
314
261
341
364
265
334
353
281
348
299
328
303
380
370
338
333
330
333
269
311
365
292
359
343
419
339
296
321
309
405
252
333
333
338
317
315
315
259
337
309
343
361
297
212
369
346
334
403
360
320
356
255
322
330
355
248
335
320
292
274
310
310
274
326
239
308
302
245
311
342
299
270
331
246
254
271
396
339
397
209
332
345
287
412
419
359
335
310
308
327
291
273
312
359
353
273
312
352
342
343
256
322
327
236
367
310
297
350
314
345
365
340
379
318
303
375
237
343
343
336
410
395
360
308
326
281
319
398
332
301
274
367
233
194
221
349
332
334
322
289
442
237
290
352
346
318
303
318
358
363
331
253
309
358
278
334
340
268
308
298
275
325
343
327
278
307
320
211
345
376
314
352
355
308
347
269
279
348
242
267
363
339
353
324
331
356
288
323
321
360
329
259
227
247
324
320
363
339
343
241
251
323
326
337
361
352
310
319
315
247
322
329
340
336
328
331
363
268
315
354
255
320
347
373
346
279
364
385
323
301
357
230
290
361
245
330
342
284
301
341
340
337
351
283
305
316
204
341
330
337
350
298
362
289
262
353
300
242
379
391
276
278
322
323
295
290
401
281
293
289
322
284
326
385
345
325
318
310
304
336
385
275
286
369
361
234
379
283
306
303
292
264
430
414
347
323
316
374
370
322
363
316
293
311
281
313
361
289
275
338
327
324
281
335
350
284
331
369
310
293
302
401
340
282
302
262
331
278
236
330
374
402
362
307
315
248
338
417
289
298
407
426
347
301
257
330
289
375
335
335
309
240
329
309
295
324
352
280
362
327
412
212
271
286
262
293
381
337
225
274
333
328
295
299
267
362
275
345
283
336
295
234
296
309
347
236
314
256
352
174
287
278
349
213
191
307
328
304
308
354
250
350
319
308
285
301
307
204
299
354
351
394
415
254
350
296
294
303
360
375
324
176
341
298
295
338
314
366
348
309
419
402
353
305
344
388
339
272
274
301
305
351
419
342
242
324
260
305
287
346
341
347
337
321
291
212
285
274
353
336
304
344
400
262
382
347
292
347
257
330
355
265
235
336
273
346
311
372
372
344
315
332
415
317
342
341
358
219
292
289
345
328
298
259
274
309
331
365
308
372
325
328
320
286
213
386
270
251
338
209
308
317
321
328
314
398
261
246
282
222
327
260
321
401
329
297
270
371
332
369
328
305
360
318
294
351
337
317
240
318
266
256
302
264
335
374
368
308
234
278
306
325
296
237
294
304
251
281
335
374
337
360
310
261
278
373
239
316
346
247
335
298
284
281
365
308
317
325
289
303
341
311
309
293
347
255
357
362
298
314
272
301
319
353
257
364
312
310
319
349
354
390
352
315
352
305
274
322
275
280
311
337
380
404
287
408
330
291
308
300
328
345
379
285
360
377
275
350
394
288
256
362
328
318
243
368
314
234
368
364
272
337
360
253
287
368
289
296
301
419
369
321
339
257
337
358
326
343
381
408
329
362
215
288
290
369
287
353
340
328
226
312
308
269
327
315
226
266
355
338
282
380
277
280
281
264
262
333
227
328
213
310
387
260
338
350
288
254
347
360
290
387
288
331
261
255
299
283
300
299
346
269
349
354
360
349
320
396
299
337
365
449
366
322
306
305
324
405
313
288
364
347
389
278
329
373
242
391
383
333
369
356
299
345
301
371
319
329
281
260
358
295
282
350
265
321
302
357
251
348
315
330
258
399
390
283
340
385
251
358
374
303
296
281
354
325
291
271
251
376
274
346
297
223
323
322
346
349
311
334
271
339
326
301
297
416
280
328
281
258
412
384
335
344
401
354
287
357
301
223
364
294
356
310
346
328
238
272
241
289
337
344
402
325
331
340
412
338
375
366
327
353
283
373
258
288
277
338
265
316
289
346
329
365
296
273
299
260
294
340
323
294
355
292
410
252
349
281
383
371
333
323
272
377
270
302
393
302
354
304
282
359
244
290
304
221
387
304
289
301
325
254
348
408
335
397
243
322
231
305
320
249
325
259
335
274
321
415
395
304
359
340
278
334
296
336
304
359
349
232
312
333
302
329
304
283
298
314
341
288
349
276
326
320
263
368
353
327
281
314
339
272
380
300
371
342
312
304
365
344
258
368
400
255
193
330
303
384
330
323
240
295
295
256
264
236
225
236
238
392
338
273
379
373
318
353
379
350
303
327
411
364
341
223
351
321
362
296
240
375
275
332
309
323
312
255
294
342
302
268
244
385
369
267
440
345
362
265
304
290
342
345
326
335
285
356
316
294
304
329
372
322
284
352
303
335
356
239
340
416
339
286
222
289
223
308
324
270
419
323
384
263
401
248
281
296
328
384
307
298
329
337
299
368
354
364
260
398
362
379
356
265
298
329
321
336
362
297
239
347
436
296
253
304
272
370
367
246
318
284
343
247
325
289
267
263
333
219
306
377
346
289
277
362
286
294
338
273
329
306
346
324
361
380
243
416
335
369
338
365
259
334
271
304
264
362
305
333
418
306
265
289
310
311
423
316
274
346
261
338
406
335
304
346
385
303
263
353
389
249
312
223
301
346
328
339
324
340
249
328
339
275
361
276
356
177
398
288
358
388
315
329
342
234
356
338
352
261
316
266
294
371
286
288
350
329
278
342
297
365
345
325
335
315
307
340
304
378
306
387
290
325
296
223
300
249
271
269
385
183
278
347
244
366
348
286
323
403
341
268
300
321
312
377
315
365
422
386
322
360
291
282
356
360
350
338
257
358
305
328
309
305
415
303
323
261
309
384
266
338
346
341
321
376
328
282
296
402
377
308
327
332
317
386
385
308
289
292
324
287
324
365
273
359
330
298
345
352
321
306
324
308
323
232
330
237
327
270
269
271
341
313
283
334
331
316
312
251
400
361
264
269
247
269
395
370
290
352
287
362
296
314
327
357
331
359
348
369
352
326
290
324
337
317
264
345
340
248
379
276
297
363
342
212
291
317
285
278
391
358
344
368
272
335
254
369
346
276
328
323
269
364
287
336
235
318
343
303
372
347
356
325
342
344
275
369
324
265
303
244
318
326
292
261
261
340
366
348
316
313
320
211
339
315
215
366
292
355
320
249
299
363
252
358
279
307
355
350
244
362
283
299
262
338
355
256
294
269
307
376
359
331
341
307
260
359
393
337
407
395
246
305
274
264
293
292
332
310
318
246
380
256
430
307
321
329
372
326
357
309
350
259
299
295
238
367
268
298
314
273
374
267
363
344
296
360
295
283
310
323
330
399
368
290
277
353
323
246
339
307
311
315
232
305
335
252
293
383
300
302
334
321
284
384
373
294
342
301
317
321
340
384
362
268
303
288
338
293
247
323
393
277
298
310
300
303
331
368
320
304
326
338
274
410
269
333
394
324
226
291
312
387
315
320
319
281
226
344
338
367
254
252
358
244
260
398
279
249
374
308
324
418
334
267
314
304
269
336
284
353
254
359
279
363
403
405
334
330
303
346
313
354
394
398
289
307
356
331
301
270
325
371
230
226
382
290
342
266
315
331
209
270
386
328
297
283
318
349
365
297
262
352
383
289
220
338
277
298
272
397
334
346
424
352
310
338
346
348
275
343
309
306
307
369
279
274
362
338
352
277
421
289
399
260
350
313
313
361
252
332
373
321
350
411
293
282
284
268
263
350
300
280
319
291
403
331
331
320
287
303
338
349
359
357
344
285
360
301
323
273
338
338
352
393
358
322
409
347
256
274
241
286
317
356
352
253
342
315
343
264
365
291
344
292
368
304
336
391
312
344
382
338
302
226
327
300
379
339
305
371
358
279
283
378
325
243
346
416
324
394
266
336
375
347
354
286
313
359
368
371
295
310
246
316
417
299
221
350
375
257
278
348
265
367
260
296
297
270
274
337
281
326
251
287
293
255
299
331
265
255
445
324
393
360
356
339
334
389
271
314
405
368
407
240
387
299
372
278
336
349
309
337
303
294
253
315
311
327
370
255
399
391
283
314
356
282
305
382
328
384
313
269
302
350
303
316
372
313
347
303
314
304
348
293
300
280
383
315
284
287
298
315
357
316
348
327
304
296
301
281
295
219
332
308
360
313
322
263
268
296
327
267
269
351
398
374
313
327
353
301
349
249
226
292
291
444
242
337
377
216
246
306
342
271
305
288
346
330
336
281
354
332
321
318
326
382
377
340
300
320
310
301
279
303
342
276
340
299
377
316
310
308
292
371
341
266
412
330
315
314
332
315
320
403
328
324
377
268
266
354
410
313
322
318
246
394
335
269
297
333
284
304
384
314
289
328
343
307
293
348
270
296
313
284
303
330
392
226
288
328
384
328
349
322
322
320
360
386
311
369
338
318
342
228
243
290
311
351
424
286
339
375
358
300
406
391
323
323
269
325
333
308
320
331
178
368
310
258
366
364
408
310
431
294
299
345
409
353
274
378
319
278
258
392
277
295
308
204
374
315
220
422
284
237
320
311
302
313
309
280
350
272
311
343
361
323
289
332
382
372
311
261
366
270
252
290
334
349
267
360
349
260
251
304
312
323
359
248
304
343
274
416
302
337
336
340
337
299
332
307
245
342
330
362
314
301
264
277
296
359
340
358
350
293
212
313
305
306
302
332
295
339
376
367
302
299
301
316
343
268
317
249
325
326
313
295
286
328
296
286
324
309
213
366
288
285
307
291
314
345
290
382
237
385
352
332
365
286
252
272
357
266
292
308
312
341
356
291
336
342
289
371
276
297
310
356
339
353
309
314
344
272
305
278
266
301
345
362
324
313
312
324
294
301
391
311
397
357
241
364
305
264
381
287
288
391
330
229
218
270
266
332
249
333
253
225
341
336
306
302
404
344
281
330
293
288
360
307
358
234
318
366
303
393
272
364
343
289
303
274
292
280
349
342
294
268
374
385
348
236
265
398
334
353
333
269
314
382
277
268
337
259
360
316
270
231
293
327
316
317
257
353
307
315
305
328
330
314
318
300
294
383
335
265
294
317
249
303
250
329
284
294
294
338
373
318
360
339
272
236
377
263
294
337
322
243
334
273
245
273
260
265
324
415
359
327
322
320
352
287
363
246
313
266
331
349
230
322
278
340
387
392
242
292
330
379
371
362
377
355
304
338
371
293
274
401
340
318
314
373
353
289
258
320
355
312
300
404
352
313
265
335
261
345
319
283
327
286
245
287
377
358
294
340
334
287
376
342
355
321
249
365
322
335
345
239
220
343
422
276
295
405
374
356
394
304
334
251
213
331
341
268
320
328
330
359
313
328
266
276
330
312
309
366
312
294
303
308
349
326
241
374
376
339
317
358
337
388
307
358
319
231
378
311
371
353
294
342
378
354
242
344
355
372
346
313
309
388
317
276
314
361
360
264
378
327
313
356
405
316
334
267
405
279
288
249
315
236
304
278
311
365
298
357
312
360
262
260
324
362
310
335
332
342
258
320
330
381
279
277
252
312
273
271
293
407
293
328
330
300
329
313
289
301
349
221
315
363
369
334
331
370
325
377
267
294
354
325
243
271
340
327
360
308
364
309
363
300
358
266
376
395
346
326
260
329
338
334
303
301
307
281
339
436
313
428
346
371
363
306
337
216
340
360
270
382
318
383
406
316
319
318
340
313
295
232
236
348
335
323
246
350
316
335
300
331
255
364
350
340
273
362
276
263
280
306
350
293
349
294
332
305
341
325
339
329
312
304
409
328
339
269
316
374
290
357
312
306
261
264
337
358
262
289
363
369
349
321
354
285
249
327
308
293
202
398
357
293
332
359
314
250
289
306
273
307
266
395
343
263
354
384
253
300
303
325
283
269
371
344
200
341
345
273
232
333
349
254
335
345
235
337
292
376
388
299
297
321
369
366
322
277
340
303
328
365
321
349
316
342
289
380
318
212
378
420
297
263
282
319
232
192
304
276
357
414
334
329
293
319
314
322
269
331
353
362
320
238
383
284
327
244
215
316
316
294
408
296
298
340
314
312
331
364
385
350
370
326
266
386
319
338
284
258
324
232
271
284
252
324
322
346
287
268
322
299
329
289
330
295
327
296
352
349
282
334
330
328
301
386
302
362
242
352
278
326
335
338
225
347
301
341
307
273
259
289
264
299
353
344
318
323
386
214
343
297
324
327
334
369
348
255
215
351
286
350
298
318
318
371
225
356
333
327
340
366
329
329
382
281
341
260
253
288
253
338
306
309
383
296
459
327
389
342
258
381
317
330
323
342
320
281
345
437
321
367
349
290
315
230
318
259
304
332
364
305
298
372
330
321
342
417
405
273
307
366
390
291
260
371
325
384
331
354
354
333
275
228
226
321
329
312
299
304
278
343
257
294
324
324
292
359
294
359
390
326
387
333
390
334
286
424
381
315
246
301
354
322
213
324
342
319
327
268
340
296
301
336
283
333
406
297
335
255
268
318
299
280
294
336
368
231
354
382
256
317
346
264
264
259
267
328
347
324
358
311
351
289
323
254
395
238
337
301
317
284
251
339
396
369
257
256
308
286
287
260
319
303
368
292
403
246
281
337
321
284
320
293
354
314
323
262
340
376
250
303
290
356
276
291
366
321
363
362
344
367
293
260
345
331
348
257
321
274
228
343
378
321
286
299
352
362
278
353
325
282
314
286
200
349
258
339
443
243
418
306
316
323
336
294
295
271
248
304
270
298
261
252
326
321
332
311
349
287
315
327
370
280
341
317
288
360
287
300
280
281
356
327
339
324
317
386
257
269
200
259
394
341
343
319
313
378
333
314
351
292
265
319
357
364
326
298
283
342
290
273
368
355
386
352
315
277
220
326
350
306
325
328
331
260
218
295
339
298
267
326
306
346
350
228
323
348
313
285
228
359
309
329
337
336
349
317
333
357
355
308
387
293
259
298
257
237
324
286
303
459
291
332
344
369
316
262
381
320
275
248
301
382
303
272
315
311
381
343
306
332
271
320
272
346
359
395
273
374
350
298
305
285
317
323
353
341
359
312
319
330
387
227
407
380
324
312
289
307
312
374
308
269
308
294
313
316
343
281
288
328
314
323
337
352
314
332
329
272
347
269
256
360
329
338
411
289
333
313
329
365
323
328
268
260
285
309
331
282
186
342
254
412
395
325
336
234
284
369
286
339
348
343
239
260
347
300
328
350
217
323
319
349
293
295
368
319
402
325
369
308
385
395
412
312
362
264
307
396
265
365
367
286
307
251
364
268
305
358
334
285
353
329
330
261
269
335
380
307
385
335
276
234
297
264
351
347
243
389
229
316
379
334
296
344
298
364
355
230
321
266
264
256
354
354
421
316
333
342
332
214
318
307
293
246
281
312
347
252
358
387
318
286
374
280
290
268
311
284
364
290
303
256
304
329
276
242
364
289
362
349
314
394
307
258
322
370
318
303
281
351
358
350
282
300
297
254
325
285
305
332
342
404
373
442
325
354
287
261
353
304
249
313
343
352
331
284
341
298
304
337
335
370
211
318
292
343
299
326
311
314
288
243
238
248
295
297
244
291
360
312
374
291
418
296
312
372
286
348
322
317
300
307
237
330
366
371
321
360
259
319
307
303
295
339
332
316
220
374
377
410
314
365
266
364
320
343
339
335
297
314
398
308
327
281
335
413
357
259
320
301
366
377
339
298
397
301
321
317
314
349
297
344
371
299
378
355
335
351
354
309
326
312
413
267
338
265
292
347
313
289
267
265
314
303
286
344
327
285
282
306
320
230
272
335
390
366
335
364
318
347
344
331
295
294
353
339
343
336
385
350
307
332
312
382
236
330
312
356
374
359
332
377
221
282
249
285
309
335
346
318
269
340
323
347
364
248
365
249
347
404
282
344
311
295
282
353
329
362
342
311
373
271
257
269
218
226
379
328
350
343
314
309
298
348
325
322
347
346
262
285
287
274
347
402
341
375
240
297
356
329
371
294
328
361
299
397
324
299
287
320
333
412
338
284
268
315
317
300
374
279
186
279
248
289
305
327
306
349
326
282
325
301
344
260
358
328
380
334
268
383
342
349
365
323
290
261
286
267
263
424
314
297
256
343
420
351
280
381
358
392
354
265
329
277
342
277
237
314
258
318
337
378
366
291
352
368
321
282
295
293
241
255
372
251
367
290
351
325
297
251
284
359
348
382
365
277
261
292
276
365
220
354
271
358
333
376
259
250
222
407
330
314
219
301
280
177
386
245
404
382
344
288
389
318
272
289
350
288
330
247
231
367
291
399
372
294
310
382
342
274
322
279
352
303
396
330
287
355
292
374
354
359
272
194
337
218
393
362
335
324
371
289
344
271
324
366
361
307
370
311
261
318
310
331
299
327
335
305
376
355
285
345
324
332
337
284
331
361
324
240
300
373
386
379
198
306
336
457
321
284
346
277
378
381
326
384
287
286
318
374
284
376
298
366
328
340
356
367
245
377
276
399
378
227
345
312
319
362
331
335
333
275
269
282
311
282
266
288
369
303
344
356
327
323
355
417
301
300
331
251
329
316
281
328
334
298
314
255
390
361
367
286
352
353
299
351
297
329
335
233
297
337
325
313
318
330
300
293
289
418
275
391
368
348
285
369
287
234
347
370
355
318
295
371
334
309
337
287
288
260
272
354
325
364
347
385
362
316
314
237
267
318
228
283
287
400
333
271
359
385
336
348
322
370
366
241
267
263
275
331
328
282
342
252
371
305
310
250
250
342
333
263
394
365
324
353
280
370
328
346
345
351
374
334
216
331
249
383
284
322
328
414
213
436
296
293
294
376
222
321
242
254
296
361
279
315
245
362
283
439
289
284
367
261
233
332
405
396
407
311
286
318
312
365
319
358
278
308
349
275
267
345
365
315
345
275
341
339
339
270
309
257
383
370
376
346
224
338
292
325
312
286
240
392
320
378
334
378
298
415
329
279
219
357
355
235
297
356
296
229
241
379
272
342
333
340
262
304
361
326
300
308
372
320
279
340
383
242
325
321
271
379
279
346
316
323
348
338
331
360
360
387
282
389
338
351
246
284
274
359
333
324
392
312
269
310
324
272
285
367
400
380
282
391
377
344
333
330
329
303
307
340
273
386
296
344
380
329
411
399
320
308
302
314
390
328
402
251
348
299
330
305
292
360
293
327
410
312
238
308
313
277
258
358
306
313
329
191
285
329
248
345
396
330
251
348
359
322
283
349
327
324
308
283
274
328
233
311
319
263
261
339
306
338
312
328
266
312
294
326
319
250
328
304
264
391
259
340
275
302
320
359
304
247
302
314
302
357
280
312
361
329
329
333
415
267
259
340
289
272
381
263
252
301
356
340
278
330
318
327
391
353
262
314
349
306
246
327
257
220
385
266
328
358
299
353
388
271
316
411
359
301
298
364
274
249
329
270
280
322
285
337
358
395
371
343
388
341
274
345
357
293
331
307
337
339
289
369
333
368
232
330
268
384
287
380
301
339
295
349
304
333
327
347
347
277
313
381
334
254
291
355
371
251
265
257
189
311
276
365
382
349
362
280
341
312
303
405
301
345
328
337
354
279
335
302
318
333
320
284
255
309
367
249
304
319
341
206
233
365
292
351
317
356
277
280
267
252
388
442
308
354
423
352
351
318
271
322
328
259
282
355
351
290
350
283
342
308
272
403
340
371
256
353
310
346
373
368
294
304
391
308
257
280
374
351
310
299
386
372
362
353
341
354
358
254
321
307
419
355
333
299
285
351
277
324
259
297
308
317
285
193
328
371
338
350
309
314
358
310
280
376
266
311
346
359
286
349
308
383
329
239
355
240
420
306
426
278
345
304
315
353
335
391
355
299
353
331
339
355
332
326
267
293
288
358
391
293
273
337
230
338
319
273
258
249
279
321
290
217
346
210
371
302
325
324
368
361
295
336
310
409
385
334
318
374
342
339
310
284
269
352
394
260
193
323
274
329
388
318
380
344
278
352
273
309
323
320
276
323
276
275
318
371
286
274
296
348
322
310
274
340
333
363
374
343
235
312
344
300
379
297
299
273
349
399
342
223
272
301
288
282
320
299
374
214
300
356
309
348
327
214
311
334
389
280
278
360
260
284
381
286
312
335
336
386
300
299
336
337
390
293
364
248
230
325
303
353
283
313
377
314
348
253
317
363
353
242
346
222
330
277
329
332
307
221
342
341
348
377
331
390
261
345
320
343
242
360
247
411
268
377
350
283
259
215
301
274
258
281
348
361
209
280
341
269
355
301
364
380
336
352
330
322
345
316
335
300
339
411
348
324
282
349
302
338
312
324
273
298
360
336
335
260
329
335
312
321
295
310
384
279
256
248
314
247
234
330
286
408
291
368
379
237
286
338
362
325
294
373
378
258
349
291
315
229
370
272
346
279
330
340
279
277
309
399
331
281
284
396
386
274
307
343
302
334
324
350
361
251
286
274
346
321
333
331
364
331
339
324
289
392
310
280
303
333
282
325
328
337
247
307
279
241
362
318
342
305
211
383
304
226
337
441
354
322
300
306
376
293
333
291
245
322
320
328
341
311
253
302
342
326
359
341
261
322
405
288
317
317
407
363
296
230
300
291
308
341
328
310
305
328
302
277
285
359
252
351
339
325
343
352
315
347
344
403
343
238
301
373
302
319
378
332
337
217
299
335
335
296
286
272
362
342
383
345
241
406
289
306
322
360
314
340
250
340
319
320
209
415
329
272
360
333
314
426
289
333
304
268
333
251
330
265
314
349
281
331
271
347
329
366
239
352
217
342
302
257
287
425
337
386
401
273
275
287
315
281
317
315
364
324
304
363
359
339
360
277
275
353
363
347
333
313
297
252
308
319
288
337
364
283
321
352
359
374
243
283
286
311
261
308
271
253
374
296
287
287
298
288
281
322
286
322
282
346
324
315
337
415
343
328
376
309
343
393
251
343
349
253
260
264
313
324
357
298
285
192
337
282
321
366
325
343
334
404
310
346
366
274
306
264
235
282
301
316
369
337
280
351
401
368
354
344
395
327
313
321
333
328
320
292
275
338
321
342
335
300
332
356
409
298
238
354
291
284
322
335
333
319
362
362
340
388
302
318
260
387
295
337
217
289
290
298
325
288
350
316
273
271
297
323
339
330
305
262
344
346
229
247
318
347
311
292
306
340
341
350
247
334
324
345
416
274
268
269
322
350
334
277
285
319
293
299
339
308
335
322
366
272
255
280
220
225
336
305
346
425
319
283
328
274
273
282
309
321
327
270
262
338
269
394
334
352
270
335
307
291
319
323
284
348
262
251
313
300
264
316
282
271
322
329
303
330
353
275
298
285
317
386
224
306
285
344
326
358
310
292
349
259
357
295
251
342
326
288
290
389
313
281
354
287
234
363
320
253
226
325
433
274
321
339
299
264
344
259
349
209
341
283
319
337
308
292
288
257
394
266
356
256
338
328
213
344
344
308
376
370
364
305
378
409
334
310
342
327
266
292
290
361
383
244
320
325
330
417
299
286
356
394
247
294
253
299
359
297
325
269
253
342
348
326
281
382
375
278
388
337
334
239
386
273
346
332
309
299
333
317
366
311
321
218
247
284
357
316
314
366
286
259
357
297
344
277
363
312
333
293
317
334
249
325
302
330
366
257
325
348
348
380
296
303
365
270
286
324
351
340
348
340
217
383
251
326
233
287
284
334
236
327
352
300
269
262
327
337
319
348
314
307
306
321
320
326
274
344
342
370
288
287
308
287
309
353
222
355
380
274
361
372
192
309
330
342
304
309
318
325
363
363
265
364
275
299
400
350
335
349
362
332
359
298
308
367
358
361
307
388
306
317
303
366
248
320
244
361
404
330
283
316
276
344
353
342
255
352
285
334
244
320
319
360
334
347
318
327
349
310
290
340
319
256
328
289
334
293
300
259
282
237
303
343
303
249
342
325
333
341
287
293
379
264
374
288
301
255
294
323
368
413
335
311
344
355
328
317
343
351
310
369
316
273
383
295
279
330
316
369
364
314
304
351
329
312
353
275
350
381
360
368
332
255
342
286
349
338
363
379
315
366
373
298
270
276
384
320
299
355
299
385
275
337
313
300
385
324
347
310
300
325
361
369
332
249
311
318
255
309
386
266
362
261
333
355
356
352
369
318
356
302
248
314
343
372
365
324
335
267
359
344
294
291
331
349
354
307
279
313
323
277
331
325
163
234
270
290
331
251
301
258
300
324
364
330
273
345
297
301
279
329
334
278
344
283
333
340
420
349
257
325
315
276
416
283
303
285
311
276
296
352
295
306
256
321
212
322
356
326
277
385
393
303
285
397
321
358
376
265
260
319
269
339
339
269
273
275
338
279
303
337
277
254
296
352
386
349
346
358
364
311
349
295
333
378
329
302
303
264
314
329
255
367
279
330
302
314
391
373
311
306
328
260
310
403
239
314
323
283
321
276
327
286
322
271
346
346
342
335
374
306
281
351
398
401
334
321
261
337
332
414
384
327
292
297
304
276
246
304
278
262
242
359
401
392
354
319
260
377
304
250
362
340
303
301
295
311
381
314
297
298
344
312
294
406
305
216
321
341
404
323
297
353
346
348
288
302
383
294
314
363
403
360
292
328
311
244
333
318
286
344
270
260
352
359
331
328
265
320
381
370
334
375
310
342
377
299
340
364
323
268
331
258
216
390
288
332
249
366
380
259
326
264
302
358
365
349
406
307
305
336
325
312
214
333
361
310
328
343
315
399
316
326
346
310
333
356
322
319
361
310
400
330
287
263
312
300
313
270
300
258
380
277
325
345
329
256
294
371
346
286
347
322
242
349
336
340
355
370
354
244
346
340
281
363
333
309
377
333
328
331
401
264
316
315
251
332
334
288
330
337
297
334
311
218
347
378
308
260
343
305
306
336
304
367
314
382
348
337
365
337
348
316
346
315
263
368
334
422
388
386
355
328
326
329
285
329
361
408
293
253
294
284
338
386
335
293
290
189
366
352
314
279
376
365
348
293
343
343
311
353
337
409
346
331
361
276
360
314
348
289
323
325
349
306
336
278
367
257
332
285
362
373
352
390
411
305
380
351
290
288
333
328
370
351
295
246
325
287
276
315
290
293
299
240
343
308
323
254
293
289
255
292
381
260
370
301
369
286
293
320
273
326
349
343
227
303
304
303
302
321
424
334
390
253
325
314
383
362
309
306
283
395
316
240
387
243
333
269
259
341
271
320
345
313
349
294
361
289
404
385
396
372
320
332
290
309
249
291
380
360
380
281
318
270
312
322
326
297
269
362
357
310
331
319
327
373
312
280
327
291
320
401
316
315
282
336
349
292
216
366
329
396
294
301
285
409
298
275
304
336
316
317
333
322
371
306
415
371
336
282
310
277
315
296
214
256
371
378
342
362
331
274
304
398
321
284
321
357
299
383
321
334
369
387
366
355
267
335
238
283
325
367
385
250
374
351
255
301
298
288
354
204
283
301
279
297
221
225
313
340
399
391
346
308
275
300
326
336
336
266
337
316
361
295
296
274
343
358
287
301
338
267
308
340
300
257
336
314
308
245
277
310
217
300
314
294
357
364
406
312
298
384
194
350
353
334
316
327
296
343
282
277
332
262
290
375
335
292
324
357
426
369
319
284
336
325
365
274
264
210
300
234
365
351
230
184
402
370
311
319
358
413
274
299
260
300
257
338
371
319
300
200
309
349
286
247
313
354
397
363
305
305
371
287
281
393
309
279
297
292
353
296
346
316
320
318
346
360
251
300
292
325
341
382
378
246
321
301
293
299
253
352
348
327
337
319
364
278
309
317
227
258
287
366
278
215
377
246
334
300
329
311
313
322
427
282
347
368
312
415
243
388
333
270
404
303
242
285
320
337
256
316
280
311
286
382
377
316
345
329
359
322
291
350
336
368
275
339
293
326
328
385
293
398
315
295
305
375
368
325
283
318
397
364
328
387
318
274
320
303
344
302
294
377
290
239
337
352
341
311
302
335
320
327
387
321
333
281
345
339
308
308
237
312
306
346
362
339
363
227
263
261
321
242
338
294
295
422
378
318
317
362
264
269
296
250
238
295
280
260
254
326
231
308
334
394
343
330
371
296
336
337
306
256
299
295
335
287
299
350
288
310
368
336
321
341
325
340
350
300
370
335
271
283
343
343
411
327
289
226
365
295
368
258
273
296
329
290
356
321
342
366
291
335
387
220
338
291
412
223
372
359
376
285
311
289
326
311
366
291
262
331
310
289
257
339
378
248
318
369
395
266
355
315
232
208
305
282
326
391
302
281
371
353
335
383
343
248
321
322
272
358
312
337
197
367
394
340
350
335
302
298
301
345
356
309
206
370
284
375
278
255
324
425
350
427
318
252
339
275
390
328
297
363
393
347
328
334
374
366
311
319
311
335
348
351
276
381
330
323
276
317
368
323
388
307
315
313
300
295
391
312
267
362
274
369
291
363
344
330
273
287
345
346
367
332
389
333
232
352
237
264
295
323
274
247
339
281
301
287
312
339
349
325
371
380
401
322
330
294
283
273
347
246
337
309
314
299
262
325
368
275
281
316
364
255
262
316
282
333
274
334
292
298
296
356
323
342
302
348
323
289
362
283
376
210
287
270
313
276
395
317
320
290
321
401
334
286
345
311
308
318
287
326
338
303
342
313
416
338
354
248
303
325
230
375
241
306
289
317
299
308
373
411
253
351
357
363
393
317
272
351
380
403
301
316
230
245
253
290
320
347
333
308
255
258
293
387
362
349
355
338
417
362
280
279
334
298
396
342
374
374
261
353
294
312
282
312
353
327
204
308
275
352
294
316
292
263
290
335
339
308
266
306
338
387
378
281
281
263
255
339
273
309
348
303
292
272
262
268
318
358
266
354
244
338
305
332
335
300
333
368
263
334
374
335
268
383
318
290
280
295
386
314
297
302
299
396
346
211
285
355
401
357
295
382
399
374
336
354
285
326
295
316
265
295
302
305
309
293
324
367
398
275
294
286
272
257
358
258
320
442
359
325
330
351
370
247
348
293
250
338
354
233
279
284
347
327
270
375
341
387
316
318
263
330
343
303
294
290
218
256
324
226
330
308
313
342
295
326
361
382
439
285
328
301
294
354
330
241
387
312
309
266
297
306
358
339
253
224
358
339
309
389
368
301
349
311
340
279
336
354
346
323
338
232
255
348
319
290
302
355
262
312
315
313
406
331
233
323
293
272
325
243
282
341
244
254
271
285
328
382
355
305
293
310
357
343
283
318
359
315
281
335
361
332
210
389
241
348
362
270
379
301
287
401
208
233
318
321
315
195
371
328
355
350
325
338
306
276
258
284
377
270
343
288
321
391
238
420
320
391
326
320
293
287
245
296
321
362
298
330
398
323
391
331
357
322
362
298
275
334
274
266
279
334
306
336
312
281
268
330
330
299
276
288
299
270
297
326
278
359
334
296
363
300
363
286
308
323
352
233
339
347
301
377
327
360
300
233
301
294
314
304
318
304
266
324
327
342
345
314
280
305
325
255
352
353
335
358
334
232
354
244
266
281
293
277
306
311
267
350
334
201
365
360
241
343
212
334
351
312
350
322
362
277
268
379
309
300
361
376
266
291
283
257
329
214
297
234
327
386
321
344
324
299
333
235
274
216
303
302
302
364
285
324
351
272
298
348
324
300
308
387
353
353
364
346
299
322
409
339
317
285
345
367
330
240
283
332
333
397
327
266
393
381
330
318
234
347
381
340
306
309
230
239
377
375
296
262
288
281
261
300
338
356
377
336
351
331
300
240
317
421
243
304
253
234
265
330
331
308
253
295
372
306
292
375
380
374
327
376
334
343
288
283
359
341
320
342
303
396
365
289
296
376
322
370
355
336
359
357
380
387
397
318
396
346
331
334
295
316
290
323
384
337
311
326
344
298
379
267
307
346
323
368
348
337
302
370
374
253
338
369
340
320
379
207
369
321
304
353
323
350
309
374
280
285
418
309
304
352
304
322
376
306
284
253
298
325
286
318
270
292
318
282
319
347
430
330
345
294
339
293
361
353
266
359
317
330
325
416
320
382
301
357
337
320
342
358
370
221
351
396
236
265
333
308
358
358
359
352
230
362
256
321
320
374
266
315
344
283
306
264
291
332
321
420
300
294
322
297
365
327
313
360
295
275
306
322
260
303
297
310
324
316
348
272
257
304
358
347
373
321
331
246
394
279
292
280
364
273
363
351
435
331
313
383
370
404
286
243
353
289
324
310
301
396
305
291
289
327
338
316
305
328
263
361
355
325
320
263
274
288
347
246
252
390
249
297
336
280
321
231
202
318
397
354
358
349
331
350
292
292
345
318
362
409
281
304
220
423
330
306
305
261
410
354
329
342
336
314
329
363
340
342
375
294
326
324
367
297
259
250
324
311
295
331
333
353
354
303
260
312
328
296
334
275
266
332
441
287
235
386
371
378
335
358
331
375
295
213
344
310
341
330
288
361
263
321
331
310
253
235
277
310
250
308
289
277
344
309
327
338
265
302
353
288
373
376
313
359
299
290
337
317
301
282
346
319
229
335
305
299
286
357
336
358
296
417
336
417
421
368
338
289
204
270
327
356
290
340
301
297
300
264
298
295
241
262
273
302
317
268
335
294
338
367
304
381
314
268
186
352
337
322
328
282
362
234
332
246
297
310
308
312
349
303
437
327
285
325
338
328
312
341
387
295
289
368
378
322
335
329
335
323
286
372
383
322
281
276
389
260
308
351
238
377
293
272
306
256
306
341
348
262
337
327
304
350
308
332
317
297
331
370
299
297
419
284
304
257
369
315
324
303
274
349
375
346
235
347
266
326
340
301
323
303
341
322
348
322
397
350
330
267
321
300
308
246
379
370
278
302
349
273
362
195
288
315
294
289
314
320
340
343
271
275
281
324
327
280
253
277
419
359
328
342
351
310
351
242
276
340
287
248
321
256
287
342
255
256
335
295
341
246
358
319
394
253
307
325
347
297
358
275
279
301
301
255
297
301
228
348
259
365
343
342
377
285
319
280
249
269
285
365
290
377
308
371
314
301
281
404
361
321
325
357
367
314
365
358
305
327
270
304
225
300
285
252
314
398
347
339
331
345
344
283
315
229
253
344
319
325
254
287
375
313
339
347
292
378
331
176
290
233
309
283
360
318
273
271
354
282
204
323
366
309
400
254
312
240
367
301
249
360
320
335
288
275
369
297
287
279
336
307
295
316
288
269
329
275
300
244
284
280
322
346
307
218
348
314
351
265
289
372
333
336
278
288
455
400
345
276
320
320
300
373
364
441
328
358
346
293
312
304
386
322
374
332
336
293
236
287
303
288
296
285
335
352
404
306
297
329
293
331
370
264
301
313
359
256
328
321
293
282
369
290
387
329
385
347
338
308
318
391
318
316
375
303
369
313
329
274
316
246
328
317
267
311
349
360
244
392
392
278
315
378
341
313
363
317
341
256
259
378
305
319
289
331
298
268
295
388
378
316
347
393
361
313
294
403
329
319
331
375
210
310
310
371
331
320
328
287
329
364
307
254
314
317
323
270
300
393
317
351
233
283
329
244
269
329
269
330
407
392
333
262
334
323
332
308
297
352
220
203
391
351
322
257
251
356
337
325
229
278
290
252
289
343
353
269
314
307
281
381
222
262
375
374
340
305
288
281
371
351
227
276
340
324
339
311
338
251
351
275
343
379
238
304
330
270
364
278
290
343
244
349
301
271
249
294
324
300
280
237
275
348
307
329
328
373
312
316
333
358
295
356
361
298
351
312
253
256
337
325
379
398
295
308
308
313
333
295
384
337
285
339
227
310
308
239
324
365
229
281
305
214
321
285
277
237
343
312
321
315
300
354
305
296
338
295
334
311
274
303
309
289
377
250
349
318
325
404
301
304
345
349
252
322
275
350
313
330
378
279
305
299
312
303
264
318
257
355
399
294
304
297
294
356
377
346
186
358
256
307
308
378
317
287
285
391
329
219
316
393
380
286
336
303
332
301
344
299
296
344
270
356
361
312
307
312
260
375
315
269
335
333
300
297
350
293
299
324
387
265
328
286
361
393
305
388
313
348
284
275
329
320
324
243
282
328
252
364
342
279
302
272
281
368
300
246
374
312
321
324
279
314
347
259
315
367
291
371
242
325
373
380
284
302
417
310
273
328
311
256
359
326
337
273
295
315
279
410
358
278
297
347
307
349
297
248
347
290
228
285
282
321
372
309
342
264
287
311
293
274
318
335
293
274
355
294
390
373
328
313
267
222
313
325
316
318
246
312
264
235
346
332
284
322
374
340
236
235
360
253
276
311
247
354
345
288
279
256
332
313
309
365
317
351
282
358
275
303
302
318
310
314
390
320
275
313
325
361
275
286
374
374
236
321
266
305
313
328
383
320
334
297
353
319
331
353
353
312
350
327
301
334
371
328
322
289
332
255
297
379
303
373
331
347
326
361
382
312
301
270
243
258
309
331
181
331
330
306
341
347
322
270
369
238
291
232
293
324
242
367
346
295
206
267
298
256
327
376
284
397
249
256
362
246
263
334
278
346
250
360
330
315
347
300
336
305
351
330
183
295
312
388
286
314
347
349
288
290
342
338
375
350
307
309
327
302
332
305
309
340
316
380
381
340
303
307
275
307
261
349
395
377
364
316
278
380
252
315
389
378
344
255
321
350
340
252
363
390
368
273
306
298
344
299
297
314
348
337
337
316
299
216
329
390
372
270
317
300
329
332
362
420
317
353
334
281
330
358
309
328
318
340
314
351
309
272
278
206
296
274
315
374
287
376
279
291
336
399
356
342
323
329
328
233
323
250
363
330
372
307
374
353
395
267
289
378
266
333
388
267
333
255
383
307
289
277
333
248
287
303
322
335
368
306
271
363
286
283
271
307
296
310
362
338
307
334
392
346
287
286
331
293
259
244
248
378
236
282
360
262
277
315
375
307
212
331
327
346
372
329
370
340
423
257
314
323
213
303
334
295
297
267
263
354
226
263
234
332
274
344
343
368
307
313
290
273
373
395
384
257
373
292
359
305
277
352
321
316
338
339
287
307
336
314
321
301
282
189
447
346
326
328
242
294
306
380
291
297
324
259
361
330
312
327
246
336
306
335
318
296
295
383
300
212
356
368
300
299
213
389
343
282
320
410
377
356
298
287
330
373
322
289
360
323
281
300
301
330
353
235
342
343
296
298
300
297
280
322
353
365
332
319
291
308
300
304
282
270
281
352
333
296
336
350
303
328
375
361
379
367
298
323
278
329
242
305
294
356
330
299
237
301
305
276
332
301
323
325
256
269
292
367
251
295
296
284
326
334
242
269
365
335
213
327
235
301
277
267
321
300
379
274
344
315
282
280
321
287
327
390
301
375
369
372
316
235
297
283
321
332
306
348
302
262
251
279
392
265
344
301
395
363
399
265
340
379
404
363
323
332
440
321
357
321
316
254
333
316
329
330
296
284
260
289
287
290
286
313
351
249
295
349
299
307
357
287
281
318
383
378
324
252
361
239
302
310
293
274
360
261
327
274
339
380
401
320
313
230
285
298
340
343
281
381
355
325
315
300
381
317
327
285
311
264
292
343
364
212
277
375
369
379
302
305
328
315
379
283
333
314
435
372
396
335
287
304
307
223
360
384
312
336
307
315
277
400
341
322
271
330
245
332
334
407
283
343
230
279
376
319
305
310
289
287
369
284
292
383
237
266
386
377
359
319
365
306
294
355
325
300
344
306
400
307
242
291
307
320
322
273
284
368
368
269
317
329
377
310
357
277
271
363
310
292
308
269
301
347
313
314
277
277
308
343
345
308
247
350
379
389
333
290
352
273
375
362
371
313
301
371
284
297
361
309
343
349
279
357
274
275
286
346
327
274
311
240
323
352
357
341
373
381
362
301
285
315
320
356
213
340
295
215
325
370
281
350
247
286
316
217
319
307
243
306
282
338
322
249
224
306
373
411
322
401
305
373
308
214
398
224
172
353
270
308
290
280
369
349
274
323
245
343
351
359
364
333
238
271
328
275
279
311
444
332
309
308
377
303
260
282
330
354
330
272
249
289
362
363
359
250
261
272
295
368
329
352
336
334
299
369
392
346
349
245
294
262
336
297
351
250
404
351
295
331
266
365
294
282
302
325
307
320
310
336
329
339
352
265
333
383
287
358
284
351
326
391
294
384
351
255
294
355
335
278
399
306
348
365
419
289
278
314
326
283
294
299
266
325
302
344
386
323
295
387
304
357
218
268
271
320
296
283
337
383
279
241
299
304
303
333
399
246
297
394
273
310
325
361
322
293
294
270
360
294
333
404
370
293
426
318
347
287
307
322
300
297
270
393
238
313
397
318
328
383
344
279
327
351
319
260
335
273
343
357
293
357
273
268
336
336
358
292
281
389
361
324
284
409
366
346
321
347
322
372
253
293
387
321
240
362
304
390
217
364
246
266
321
341
371
277
273
266
277
335
289
364
354
302
219
306
309
280
321
217
318
248
255
280
257
364
309
364
346
308
327
332
281
280
364
311
264
370
362
358
289
292
303
362
324
333
341
260
313
240
320
268
198
343
186
344
331
280
276
363
294
320
365
341
286
328
335
271
286
346
362
289
359
342
312
385
347
308
263
289
354
330
345
348
343
257
346
345
304
370
326
394
296
298
343
352
387
326
304
291
283
262
400
321
323
364
388
358
316
272
304
246
344
334
302
309
288
355
253
299
296
301
402
274
300
336
310
333
284
266
375
291
320
334
322
333
352
365
244
365
308
306
354
323
320
358
360
309
314
271
309
328
234
389
332
281
263
303
316
395
375
342
293
299
300
348
319
309
271
299
258
297
354
342
373
293
216
385
314
379
313
346
281
298
317
286
349
292
382
308
289
354
399
295
193
305
367
268
329
322
347
308
342
377
307
399
343
367
389
334
306
320
222
376
304
294
340
298
280
271
346
369
377
335
294
271
309
307
308
322
318
386
314
394
316
244
302
274
304
356
372
334
349
380
346
390
249
312
412
217
248
364
352
292
276
348
365
325
359
388
282
291
276
289
293
315
336
345
294
294
334
225
321
212
328
331
378
349
311
333
398
289
264
300
347
302
305
262
282
299
332
334
344
352
288
268
364
282
258
385
333
373
248
302
388
281
309
344
311
275
406
275
331
325
278
313
298
257
301
354
301
279
206
209
300
297
166
316
347
312
322
367
323
330
262
377
300
269
289
288
320
342
263
381
315
237
304
381
380
346
348
249
370
295
298
243
370
337
341
343
292
313
372
267
358
284
259
322
300
349
315
225
283
269
324
408
329
325
339
304
369
355
328
344
240
309
324
270
233
316
325
318
288
351
358
357
215
328
323
283
311
306
384
343
244
334
318
328
295
360
368
356
312
332
315
364
297
302
313
224
321
211
354
288
315
416
302
312
341
281
332
313
287
344
334
330
271
267
251
330
332
362
425
306
271
296
309
284
251
334
283
387
342
316
325
283
293
346
217
371
295
274
226
337
374
327
336
292
331
254
269
186
374
370
183
238
398
312
299
326
366
340
301
318
344
330
342
294
369
293
271
307
385
234
360
273
387
326
381
288
334
257
360
276
266
374
391
311
268
300
303
394
278
340
358
372
333
237
272
313
335
315
302
286
326
313
291
273
339
271
293
267
384
360
344
302
299
225
373
229
371
338
378
328
411
339
318
369
353
330
333
379
231
379
304
310
301
257
294
249
395
287
303
330
257
331
243
337
359
331
314
282
368
275
242
278
409
314
342
182
368
288
375
343
335
379
381
276
323
325
275
330
429
333
327
368
299
274
298
366
341
309
410
321
269
380
334
357
320
337
277
382
260
361
297
337
319
348
319
256
374
362
335
356
281
230
302
312
283
240
309
217
283
365
301
313
241
191
305
253
351
355
327
297
279
368
328
289
324
302
390
377
350
311
289
361
303
395
326
281
328
379
270
337
340
337
290
297
384
258
355
234
342
324
199
320
311
369
357
254
359
282
277
381
313
379
304
326
334
326
348
381
247
303
214
322
277
313
320
247
267
233
347
330
351
343
331
244
310
316
322
212
317
350
313
392
297
294
318
296
287
329
309
372
332
354
332
359
342
354
321
384
345
317
314
251
360
280
433
352
337
385
302
241
264
260
292
303
360
342
361
325
305
325
369
315
399
300
349
368
322
348
310
327
315
250
360
292
340
213
343
268
376
294
306
333
342
181
352
290
386
352
340
343
305
359
302
277
353
322
417
260
292
408
303
245
312
339
297
339
328
349
318
247
281
372
310
334
313
348
309
333
214
314
326
329
343
372
422
288
395
383
310
290
293
333
318
345
330
317
344
400
288
358
398
277
343
277
332
350
337
324
320
346
285
412
271
345
358
360
373
354
287
314
322
376
286
349
321
371
317
354
299
359
401
357
341
230
384
303
296
277
230
287
284
318
361
245
290
376
318
352
390
309
359
339
281
345
327
266
287
335
256
302
351
307
340
338
355
287
330
307
269
323
341
308
311
326
255
334
326
288
376
331
288
296
276
341
281
264
380
374
326
329
265
227
308
386
289
359
267
342
295
291
311
248
267
298
334
303
307
253
294
285
354
343
310
349
318
282
257
304
360
346
275
318
379
355
298
333
315
325
359
351
311
274
270
354
317
259
307
324
263
350
361
341
303
355
341
221
334
337
365
353
268
291
337
303
281
347
363
311
213
315
327
279
361
338
361
260
365
250
307
345
344
295
337
373
279
276
274
387
371
320
274
280
356
351
317
353
271
369
237
332
202
293
314
311
331
314
343
214
399
323
258
189
320
321
339
336
400
384
313
276
270
357
378
226
381
307
271
341
362
271
236
343
300
359
317
346
290
320
283
306
298
354
335
384
376
277
312
290
298
321
337
423
328
307
294
311
297
256
291
330
344
283
364
301
229
362
328
283
344
290
289
315
361
284
355
313
339
237
293
297
219
356
293
361
292
404
302
335
398
450
320
305
317
297
304
314
351
318
319
307
354
305
325
279
334
416
358
363
344
279
351
248
327
342
293
336
338
179
271
298
308
213
367
344
368
333
349
316
254
266
318
236
310
314
349
303
272
259
352
244
367
361
321
298
372
295
405
299
289
336
346
427
306
311
270
279
329
341
248
334
264
365
320
407
356
331
306
335
391
252
366
335
291
262
326
296
291
348
291
375
260
336
299
324
305
342
331
383
307
376
392
314
307
346
359
264
282
385
293
271
303
367
305
295
323
366
351
310
311
376
314
325
249
352
323
260
272
346
335
338
284
295
343
376
306
281
269
322
298
248
310
351
310
332
268
361
285
269
320
260
362
301
358
340
333
375
296
294
340
237
335
278
352
351
306
332
434
337
327
300
299
354
347
343
261
240
224
303
343
315
336
344
323
244
407
274
252
306
362
241
308
291
329
344
287
285
249
336
349
267
351
278
363
381
382
386
286
259
349
306
331
305
296
350
365
367
298
283
311
237
319
365
373
282
274
333
366
333
309
291
293
284
357
345
246
293
301
290
315
356
322
299
302
341
378
321
421
350
311
289
343
310
302
332
359
307
361
222
340
237
315
336
326
362
413
399
354
339
320
338
383
344
322
352
281
290
297
343
257
365
394
322
259
330
349
279
185
321
408
326
414
259
389
362
328
365
324
253
345
408
292
329
340
309
302
348
362
217
385
290
342
332
206
340
348
262
299
309
244
312
326
326
287
369
398
358
371
273
341
286
334
311
291
405
298
255
246
247
315
388
275
280
369
295
284
368
294
338
252
276
321
311
365
358
310
312
321
362
337
277
334
255
380
296
291
360
240
379
352
263
340
386
338
266
337
315
303
231
193
267
364
304
326
409
345
356
220
320
292
334
303
377
345
271
322
341
321
291
279
275
392
397
251
267
346
366
298
322
289
311
321
407
318
377
333
320
448
428
320
327
371
279
318
333
219
371
304
351
263
296
309
281
285
266
360
280
266
370
350
290
315
333
398
351
252
319
341
342
319
341
197
315
310
311
326
286
398
327
353
321
326
217
341
377
332
314
310
307
249
371
307
212
301
322
327
322
344
301
333
315
255
313
304
277
301
309
264
309
351
308
292
296
328
320
348
363
318
257
316
285
334
320
373
356
262
324
331
325
338
368
297
313
271
340
358
348
276
260
319
329
315
368
315
267
309
309
363
393
338
279
328
301
278
361
289
297
229
334
239
249
353
314
324
332
235
310
255
358
220
319
325
343
277
274
315
354
380
292
309
346
360
325
291
274
388
213
259
336
342
311
343
345
311
317
346
240
322
268
215
362
285
298
287
321
239
295
354
313
304
176
316
348
274
223
350
330
329
351
240
252
315
317
275
366
296
305
253
327
250
296
294
313
390
319
297
327
396
261
319
323
391
361
290
348
308
290
249
384
258
315
223
386
273
291
357
322
350
351
216
290
335
381
419
271
212
289
319
303
411
225
239
338
378
388
345
267
296
269
377
355
286
303
348
331
356
269
249
346
348
355
285
316
338
290
335
296
264
337
309
394
259
301
354
363
366
320
383
366
289
259
228
326
344
350
419
215
338
342
323
333
277
306
337
316
307
319
314
284
354
310
306
276
341
253
359
310
325
257
301
295
324
289
338
404
367
205
223
290
352
336
296
334
353
301
215
258
368
305
368
340
351
338
283
413
327
346
374
348
320
330
303
259
321
283
284
305
244
303
358
269
306
372
265
365
358
274
274
201
272
343
318
357
333
390
252
325
283
292
331
307
364
375
278
246
297
304
366
337
293
288
341
278
325
333
346
307
249
320
336
341
307
307
288
368
347
232
323
286
314
311
345
361
289
327
351
262
280
302
412
281
269
377
287
278
291
315
301
315
261
302
309
335
330
419
308
283
290
343
299
322
281
340
327
274
380
404
376
223
380
332
343
265
355
302
323
350
245
308
308
245
286
209
375
340
245
339
370
288
261
378
357
390
332
406
300
320
339
335
391
294
363
305
317
215
326
274
254
320
336
383
348
323
323
314
282
241
273
265
288
337
298
273
389
316
308
319
268
326
282
297
308
312
324
278
356
293
325
285
291
325
314
457
301
377
353
254
286
379
286
365
284
332
297
360
356
284
303
321
325
299
330
340
369
337
312
347
366
206
229
379
264
305
386
335
321
337
344
369
312
305
304
385
323
293
286
301
269
310
214
280
358
259
262
308
324
343
207
287
332
327
355
362
282
351
301
313
317
270
376
333
259
256
388
318
372
233
297
287
296
340
345
450
318
351
312
319
250
261
300
358
231
280
332
378
344
367
278
333
415
288
365
313
271
364
311
350
314
408
395
333
290
398
301
408
368
267
310
264
327
315
235
358
268
337
312
308
284
326
346
327
340
236
316
324
319
274
340
324
324
371
313
313
304
343
310
413
309
385
310
284
350
359
409
335
249
273
266
328
242
242
309
393
323
318
335
310
347
308
332
356
306
338
295
317
360
312
310
312
278
324
391
357
307
342
330
299
297
340
326
325
319
349
394
285
336
325
305
371
351
277
397
291
291
324
288
152
352
324
277
413
331
323
308
250
269
261
319
362
373
258
324
413
323
338
365
437
384
346
341
372
318
277
392
331
296
340
287
343
312
364
353
395
324
321
363
294
383
343
318
321
294
369
404
313
289
250
315
296
368
278
286
263
260
296
317
282
336
297
389
325
334
314
288
223
309
330
310
352
327
342
277
374
288
315
346
323
325
320
325
364
382
264
289
326
337
296
301
338
271
276
219
299
310
361
328
325
213
290
348
358
364
333
367
366
338
283
319
322
323
273
369
318
292
368
342
310
283
280
256
313
331
412
338
335
349
354
283
343
304
357
337
267
342
268
243
340
339
247
336
355
289
374
268
297
316
328
285
363
357
279
294
246
339
293
265
400
262
325
303
334
406
253
314
397
225
363
356
347
325
308
341
309
363
281
341
257
292
334
308
348
275
330
329
349
328
289
240
350
301
343
222
331
264
227
323
270
203
332
330
317
257
291
354
335
314
393
337
313
291
298
332
232
339
305
243
417
378
385
321
314
348
345
238
306
317
343
286
317
282
264
353
360
308
236
340
341
273
296
335
375
326
331
286
275
315
290
291
232
327
270
393
349
344
285
320
353
311
331
278
306
277
343
351
361
350
358
280
302
281
336
310
383
283
348
312
232
295
329
300
302
311
273
344
289
417
309
339
297
347
334
381
303
341
297
341
297
289
311
319
223
234
396
280
251
342
306
264
363
359
291
346
362
366
268
276
358
217
293
317
374
348
315
344
388
290
213
418
319
403
298
336
354
345
335
303
300
344
327
289
319
333
255
366
308
346
328
343
356
386
306
342
306
328
322
377
296
345
317
414
450
266
355
309
261
286
320
271
309
318
378
352
319
359
372
326
316
364
362
286
346
356
323
325
286
312
358
344
312
321
277
253
264
318
384
316
395
292
314
279
284
324
402
355
286
352
296
192
297
352
385
302
242
230
262
272
246
283
317
314
303
363
316
364
348
329
347
334
357
266
387
287
346
338
291
322
342
302
356
371
302
350
345
350
279
239
371
314
345
305
286
266
336
312
328
334
379
323
289
266
287
323
366
347
311
349
307
357
371
235
361
234
283
367
359
343
268
230
292
295
352
218
325
309
318
374
295
330
233
304
271
357
272
330
366
287
258
337
316
342
281
306
381
344
195
238
315
324
337
340
264
334
260
288
328
335
254
334
287
290
299
278
322
291
302
265
322
323
323
333
380
261
356
347
351
241
382
317
383
323
325
314
224
328
292
282
371
300
283
190
332
343
358
281
303
405
387
215
351
364
206
332
347
345
289
387
278
289
364
288
304
344
330
318
291
339
290
308
412
229
254
326
320
366
311
360
279
328
360
336
373
345
306
384
285
336
268
310
341
261
326
304
306
325
332
314
250
290
335
249
359
256
367
291
293
347
313
273
235
240
267
300
350
282
318
362
386
312
345
300
253
311
304
381
344
294
328
387
307
343
387
331
282
319
329
369
323
342
277
352
252
338
346
314
361
347
282
356
268
285
275
343
390
403
402
294
318
300
350
268
283
353
309
368
259
315
316
267
281
323
285
391
300
235
215
324
398
233
319
307
387
323
287
302
312
290
358
398
338
381
353
363
357
396
349
239
406
310
311
241
444
254
234
331
336
295
372
374
370
344
327
286
270
314
248
319
302
314
263
251
360
294
341
296
383
350
367
195
355
306
343
313
364
354
221
311
277
279
367
326
401
334
296
383
273
306
299
428
394
311
341
280
335
242
231
265
304
228
258
345
274
340
294
351
378
315
316
239
382
326
243
346
281
373
297
349
311
338
302
331
287
352
399
340
358
296
314
317
356
281
308
316
271
287
314
308
280
366
274
310
343
364
262
260
277
244
220
314
326
288
292
265
303
337
264
336
281
291
330
257
277
254
361
359
324
305
340
327
321
342
365
354
344
262
255
303
303
282
330
243
274
303
293
255
299
351
398
310
316
285
343
384
304
321
280
340
270
306
302
403
227
334
330
308
254
372
241
341
255
320
361
374
318
275
292
312
247
315
342
348
294
311
362
304
306
378
328
281
303
293
232
316
308
272
325
342
360
353
338
343
310
293
374
418
336
355
322
374
323
250
316
300
369
287
304
343
274
229
383
335
272
274
309
296
351
353
380
282
258
335
353
336
299
308
203
221
301
277
303
314
303
260
292
316
316
249
313
281
308
200
336
332
408
286
291
338
304
307
388
277
401
261
308
285
383
267
252
284
260
364
279
344
380
332
315
360
338
312
378
360
326
262
293
415
346
294
264
260
258
290
328
401
239
298
361
398
344
242
400
293
361
294
261
329
329
351
359
286
278
289
393
394
374
264
286
355
402
304
323
285
358
372
269
332
292
195
240
370
416
343
270
319
224
311
272
245
313
323
305
334
375
346
270
221
347
382
324
332
314
285
372
283
260
260
248
348
263
289
292
352
240
314
334
338
278
333
310
371
218
267
407
353
298
336
338
318
284
351
310
312
247
323
335
372
309
335
413
265
341
318
267
310
282
327
265
320
300
275
296
290
279
322
326
325
321
202
317
332
311
358
329
340
308
291
310
309
327
343
317
360
318
262
277
355
336
285
386
262
302
238
320
329
374
325
224
277
378
374
346
388
296
366
258
355
241
305
336
329
348
249
320
294
312
267
234
280
362
396
298
303
299
363
293
342
424
334
341
342
309
308
352
362
331
295
267
314
341
293
283
343
353
377
305
295
350
367
284
379
279
330
354
267
355
221
342
271
284
344
365
362
363
361
409
327
336
355
336
411
315
344
327
331
375
303
329
271
325
299
253
354
341
285
289
324
407
288
367
335
352
375
371
303
330
280
235
263
254
371
370
349
244
289
319
361
318
288
266
291
233
352
349
357
330
314
297
372
323
289
276
265
246
258
233
340
285
312
363
300
380
359
344
256
347
356
349
367
389
321
267
338
312
308
376
327
311
320
258
307
300
419
346
295
342
286
300
281
303
361
272
296
300
324
329
335
339
253
378
314
217
348
322
293
288
299
296
350
304
397
289
325
342
252
318
273
299
359
346
331
321
295
359
291
259
329
260
320
282
260
284
354
377
356
324
226
356
299
276
332
305
227
325
364
336
367
308
281
404
293
280
368
336
292
343
311
259
335
306
257
342
289
368
332
370
333
352
300
355
222
305
295
322
302
306
304
323
284
327
313
387
417
326
279
285
271
336
287
303
326
315
352
306
316
352
357
268
379
326
322
385
333
378
357
286
259
412
288
305
251
332
286
263
351
279
319
256
250
245
292
332
290
369
311
344
332
294
313
350
302
308
394
372
260
320
310
346
291
254
273
255
263
376
340
264
341
367
294
272
395
299
326
340
286
280
345
277
392
358
348
383
335
223
290
330
353
336
306
241
330
284
356
317
307
300
249
429
356
400
285
275
295
342
356
321
257
294
245
313
283
305
328
319
279
335
335
330
317
327
374
291
310
381
355
273
390
307
340
367
332
327
319
345
324
391
310
257
282
290
304
319
353
330
347
363
351
332
320
303
336
348
321
331
350
360
255
333
317
326
289
373
290
343
329
366
336
339
267
315
202
362
395
349
321
327
221
419
340
249
269
365
347
223
347
246
337
327
260
261
341
292
278
332
267
386
258
288
360
242
316
303
338
294
339
253
294
324
288
312
270
318
311
255
317
285
277
310
304
324
226
347
326
322
311
315
364
321
298
347
409
211
346
284
370
330
398
347
284
344
306
322
320
225
402
353
310
346
273
341
338
388
327
267
285
222
328
329
326
301
288
347
200
344
298
379
313
264
347
378
268
256
331
344
311
310
348
335
386
250
331
339
249
359
288
314
250
399
359
330
296
243
282
341
304
355
370
370
281
268
344
310
360
363
301
289
245
385
355
354
346
334
258
312
268
231
333
385
352
394
286
385
275
358
363
306
331
335
323
320
306
298
273
268
308
322
324
354
245
387
299
325
333
321
340
314
357
270
327
302
291
356
291
359
307
315
288
331
279
329
243
295
317
320
320
345
332
282
345
215
314
296
322
291
395
332
337
221
309
303
349
415
307
269
288
306
368
287
332
317
277
267
285
324
243
420
397
381
206
335
229
263
349
394
364
342
337
291
274
278
369
389
310
196
291
314
416
290
216
336
348
353
245
365
311
274
316
312
319
356
304
331
320
317
267
387
307
307
303
385
302
310
266
342
312
309
304
240
288
390
335
291
354
244
296
283
265
325
312
434
413
317
253
272
270
234
336
307
332
321
346
341
285
241
361
398
345
303
318
295
316
292
288
336
382
244
335
300
294
353
300
325
244
266
310
262
316
263
328
377
241
349
332
371
402
300
285
217
329
360
319
409
322
327
309
376
347
383
281
271
339
245
269
308
236
380
386
280
309
318
314
336
282
361
267
271
324
277
343
309
317
340
360
261
312
300
238
345
310
264
234
307
286
348
306
308
268
323
233
323
333
359
274
299
334
258
368
301
296
288
380
381
380
287
342
333
306
347
321
353
308
332
352
318
400
318
228
349
287
332
323
258
318
282
355
354
290
360
314
262
272
237
347
297
275
286
278
268
275
374
370
338
352
301
386
294
344
271
198
395
363
320
395
323
253
332
316
375
353
393
330
308
417
348
323
241
366
368
344
309
306
318
364
290
374
312
339
352
396
383
278
346
308
291
277
338
402
311
365
335
285
374
377
323
286
307
365
294
295
257
367
276
318
322
350
374
322
344
395
293
291
229
293
307
307
386
349
303
342
325
284
290
307
254
348
391
334
338
289
358
303
332
321
314
379
306
358
321
408
317
300
229
343
273
296
351
239
326
258
262
324
332
283
361
284
328
295
308
306
209
270
205
223
324
356
306
311
367
335
230
329
316
303
312
421
339
327
332
335
227
285
296
336
336
196
332
341
290
320
306
313
274
298
352
301
244
319
351
375
375
380
345
351
284
277
247
324
227
261
249
350
364
446
334
317
320
277
419
292
320
302
240
355
322
335
322
370
247
289
331
286
344
332
316
258
316
219
249
341
328
369
303
284
215
279
335
408
332
249
307
281
402
343
376
275
346
279
341
275
347
394
308
327
321
305
284
401
299
306
270
327
373
342
308
283
302
267
286
329
429
296
322
322
306
343
361
312
242
314
300
376
347
295
411
356
316
364
322
424
318
330
233
390
209
298
245
269
247
290
353
328
319
383
256
348
390
245
298
310
317
397
269
293
171
393
360
354
318
385
280
273
380
296
333
387
280
320
297
407
315
300
285
361
277
382
324
301
354
373
362
348
367
268
334
365
353
321
300
313
287
333
407
294
285
322
296
263
265
343
266
303
318
284
259
311
368
316
321
367
330
242
369
252
309
293
339
291
279
316
237
329
249
338
316
284
331
284
319
290
266
330
294
284
385
318
315
320
341
414
325
311
339
267
311
374
263
309
369
306
362
389
374
244
282
243
328
290
311
262
303
319
346
399
372
338
274
390
276
273
203
311
235
244
174
333
320
353
288
304
348
379
301
280
297
342
275
344
364
246
257
299
344
207
247
306
289
347
274
341
298
369
294
294
325
342
341
360
271
247
321
298
325
305
220
215
318
304
361
342
369
322
316
389
393
335
343
394
339
336
269
236
305
378
293
297
338
293
307
273
316
281
354
305
312
311
362
411
397
303
231
230
273
254
262
271
317
328
248
248
198
282
223
352
284
351
334
281
282
350
343
306
308
391
277
416
333
324
354
344
399
346
380
365
303
255
374
362
274
272
251
346
302
293
303
248
378
326
326
382
398
257
337
275
319
355
224
403
352
362
276
296
285
276
308
345
315
278
269
294
345
310
333
313
243
283
266
293
314
330
382
394
378
302
285
384
352
307
271
348
315
260
348
328
409
335
289
247
328
321
311
310
360
328
260
292
333
246
275
265
373
278
264
395
332
318
397
306
351
311
314
314
241
296
312
264
280
335
229
288
225
350
269
390
322
380
293
348
325
282
302
274
352
278
309
232
392
309
345
293
259
306
307
329
274
351
356
326
317
352
353
337
244
294
362
371
219
322
298
374
328
329
376
263
307
277
362
296
296
337
325
324
305
322
298
332
344
352
341
311
374
366
296
215
256
322
309
343
285
344
305
319
258
344
309
326
245
345
267
377
370
390
264
400
270
416
298
283
358
322
327
346
352
297
377
273
331
345
365
343
356
270
372
386
294
394
368
317
318
294
250
322
331
382
350
311
300
386
350
395
237
277
303
420
259
330
286
324
299
351
311
365
303
303
301
271
305
208
382
288
386
286
361
353
314
269
309
250
379
317
308
301
320
323
301
284
275
346
319
322
345
320
262
286
366
246
312
328
324
278
326
329
296
296
301
280
322
329
299
330
313
287
338
265
224
344
352
295
309
331
332
296
273
359
374
336
275
228
376
226
280
342
289
325
336
303
371
292
307
340
310
374
346
281
353
337
290
314
319
307
340
261
273
371
297
272
286
288
265
327
372
287
351
210
261
310
324
329
349
277
336
366
387
299
253
343
306
320
296
299
312
232
321
331
332
297
384
309
263
365
289
322
312
294
377
309
231
236
338
300
353
283
327
173
300
296
338
238
349
343
361
331
318
277
276
329
261
331
352
348
372
363
286
245
249
329
363
285
334
391
353
382
266
329
351
305
266
361
339
347
350
410
278
394
380
292
314
292
290
294
364
335
336
318
296
297
341
365
257
280
276
309
302
278
244
305
299
260
290
376
345
240
348
348
231
263
237
259
349
388
311
310
352
282
355
334
343
373
364
294
322
368
342
278
304
282
364
313
208
299
327
316
277
314
335
279
312
400
364
300
324
277
263
365
318
272
329
275
382
282
387
290
361
231
279
315
380
368
318
302
358
350
229
329
318
290
362
328
286
319
375
351
239
312
294
384
377
285
371
307
340
417
326
421
307
349
351
284
327
355
297
338
325
221
391
249
322
270
247
318
358
285
316
356
379
340
337
242
370
346
257
190
339
348
297
222
356
317
307
381
333
351
273
343
323
324
402
325
364
317
424
277
233
291
410
309
304
308
317
258
356
244
379
308
286
312
318
272
347
389
331
353
268
359
305
307
360
313
287
277
289
302
327
374
322
344
271
376
336
313
272
309
356
389
308
259
348
240
337
371
415
285
287
325
273
412
398
215
324
251
371
312
312
324
236
266
290
286
233
341
326
236
285
339
318
214
312
266
310
276
303
298
310
280
273
278
387
335
347
358
256
303
326
248
380
358
353
356
376
277
349
306
327
335
279
350
345
289
319
372
281
351
391
359
298
314
297
189
287
320
246
302
337
359
337
366
275
324
324
257
297
362
342
380
338
323
254
308
365
361
330
365
320
287
243
338
348
304
340
345
336
271
283
339
318
321
364
362
264
303
248
310
291
251
321
300
311
310
293
302
316
329
297
385
318
298
255
318
375
319
369
329
279
311
314
204
281
192
367
272
376
246
343
327
384
284
247
355
232
274
327
270
294
401
261
216
301
399
354
368
343
295
346
315
346
236
335
345
299
336
333
219
353
326
334
350
360
345
246
377
347
362
282
256
309
327
283
310
385
302
293
292
338
310
270
342
285
363
291
278
344
221
330
311
327
326
303
253
309
365
339
317
339
353
321
397
314
364
297
374
217
345
277
174
283
330
359
269
309
441
263
342
354
289
344
387
310
297
298
227
288
390
327
271
292
290
275
280
362
289
254
287
363
321
295
394
394
248
293
353
316
342
202
367
299
314
337
252
274
370
313
378
320
295
345
378
301
264
324
356
287
386
302
308
307
365
318
331
233
270
340
347
378
315
370
381
297
309
253
294
195
290
304
339
373
323
341
282
315
305
312
242
340
300
292
230
264
458
285
316
277
296
322
332
276
281
313
301
277
194
257
325
293
338
266
247
367
363
307
332
287
340
285
317
345
256
231
314
370
326
320
364
277
306
331
351
341
360
338
292
280
368
322
287
301
344
305
247
263
343
320
309
284
356
362
287
305
321
317
342
302
311
406
379
325
339
351
374
307
333
350
243
327
338
280
290
272
353
372
221
338
326
266
310
253
402
270
295
388
337
300
322
360
246
358
353
295
296
234
318
314
353
242
349
248
329
378
258
281
377
240
336
253
377
336
338
315
327
332
276
307
356
361
294
299
343
293
397
350
317
285
295
320
346
268
249
264
257
338
334
334
283
286
351
354
291
384
349
263
342
295
368
382
251
381
342
369
306
234
323
357
298
358
291
250
298
333
409
294
276
292
380
368
349
316
325
272
287
330
286
400
315
291
327
298
365
401
287
273
398
374
349
282
300
294
386
381
419
263
386
346
349
291
358
278
391
374
303
271
309
238
264
257
346
359
363
339
319
263
297
374
291
243
373
304
267
324
307
331
378
320
282
385
234
362
288
299
326
264
227
308
301
271
346
320
257
297
295
294
321
273
403
357
397
281
334
313
271
268
312
345
327
361
324
305
261
301
305
362
356
336
270
344
283
307
323
297
300
339
284
358
300
306
347
333
376
341
333
264
411
317
281
330
307
294
283
287
381
440
290
316
286
319
308
411
343
314
299
292
277
363
262
394
289
255
356
276
282
320
385
337
236
334
361
248
415
375
308
297
281
278
328
392
287
294
359
286
259
386
345
327
314
242
368
282
307
331
285
372
325
351
385
396
334
360
337
292
337
394
326
279
307
346
223
322
373
358
337
269
390
285
219
304
273
327
262
399
240
324
295
314
306
241
336
303
348
233
366
206
329
288
295
251
343
323
282
269
323
255
275
318
335
277
344
376
315
351
275
361
346
335
346
305
396
366
320
295
248
317
347
380
282
348
322
256
255
404
334
251
218
309
339
284
304
325
331
337
375
348
357
365
366
244
326
346
302
242
406
338
260
296
344
325
288
312
228
360
311
328
327
361
297
298
348
276
372
298
300
347
319
283
321
308
320
277
323
305
289
328
321
394
330
343
262
364
327
335
360
316
314
310
289
298
266
310
325
381
232
294
375
257
329
328
274
224
398
311
377
302
223
299
239
316
309
300
355
331
274
358
301
322
349
316
337
279
245
348
387
337
311
311
396
323
306
254
236
371
316
284
330
345
300
296
316
301
343
287
293
304
318
318
266
342
352
350
346
360
316
404
248
349
314
317
395
305
283
392
288
315
296
295
271
304
254
305
273
331
312
302
326
300
314
357
255
362
340
311
309
359
344
314
317
351
297
359
393
297
303
321
335
305
295
277
349
312
281
274
344
300
282
256
246
326
353
327
385
294
357
315
353
291
242
321
318
300
256
356
244
281
311
382
314
281
344
324
262
298
266
327
389
365
350
310
369
374
365
355
248
347
306
385
324
373
348
254
319
377
354
310
329
317
378
334
373
289
308
320
293
253
318
306
302
272
266
374
283
340
449
379
317
342
383
281
361
312
324
329
315
324
406
360
280
264
278
306
313
355
313
352
289
354
378
342
293
240
378
286
314
337
326
349
356
280
282
354
305
354
309
318
261
255
359
257
362
384
331
326
296
343
320
320
332
281
337
268
319
344
348
392
342
352
314
323
346
204
359
276
332
322
440
377
325
376
294
254
301
318
317
344
350
267
344
213
282
343
326
289
306
406
322
381
236
341
230
304
328
281
382
249
300
335
341
318
284
330
367
372
329
247
269
331
388
274
294
346
246
338
333
321
230
271
429
235
307
352
343
297
335
335
296
346
283
334
304
289
312
208
314
296
249
353
366
307
306
285
310
242
291
252
309
286
201
301
301
271
384
328
297
362
349
305
330
324
304
367
231
201
302
379
421
353
353
342
273
342
372
323
293
356
346
275
375
271
384
331
306
336
280
265
308
375
368
342
393
336
338
317
317
316
245
264
267
331
352
403
338
279
346
311
282
333
321
338
327
283
332
218
270
374
277
233
346
253
343
264
299
260
379
334
374
301
387
319
410
287
343
317
268
329
292
323
350
329
336
300
314
271
300
296
350
267
328
334
317
201
244
382
418
312
272
345
344
332
232
385
324
277
310
379
371
286
337
309
377
342
308
318
335
364
381
262
295
294
308
299
333
282
287
225
264
314
284
285
340
342
339
234
433
312
330
325
279
323
264
257
328
448
324
310
312
369
298
292
300
292
263
280
356
337
280
359
293
262
344
316
371
358
309
333
283
304
283
403
383
295
290
393
353
327
347
321
326
335
366
401
310
246
327
253
282
299
305
344
305
297
313
302
293
324
314
411
289
354
363
276
298
357
353
333
374
301
307
256
367
345
345
306
254
381
329
367
308
301
255
353
368
321
256
356
360
238
319
354
302
305
389
208
284
359
261
332
400
332
341
255
310
350
314
358
350
305
262
320
298
340
332
400
357
279
305
354
329
296
318
341
314
265
289
310
260
319
353
313
366
284
308
338
311
342
336
297
320
263
327
322
288
219
308
206
381
272
300
359
301
351
335
261
292
332
305
384
199
352
333
320
286
429
328
366
324
340
324
347
333
286
333
359
287
328
238
319
346
328
357
292
287
283
300
396
353
348
283
348
332
271
268
395
312
392
377
287
320
309
262
195
307
299
283
206
284
325
395
334
346
343
310
328
316
326
375
303
267
221
332
353
346
291
362
251
310
332
293
381
329
347
391
334
293
373
366
301
349
319
363
321
276
459
362
316
357
281
307
358
387
248
284
304
355
384
269
295
334
177
279
365
245
244
308
337
365
292
282
361
315
335
373
294
278
358
346
320
355
384
326
372
294
289
282
322
278
309
312
322
317
362
302
383
363
348
276
322
332
280
328
333
324
215
363
324
337
280
359
269
304
371
358
404
295
286
219
336
331
338
331
323
264
332
322
268
312
287
303
346
306
242
357
283
370
370
325
325
313
370
344
324
279
299
382
290
319
313
311
357
304
263
314
341
365
331
319
298
400
281
332
375
294
297
266
338
261
399
309
381
348
318
369
326
318
329
321
263
283
304
271
345
280
333
333
332
242
283
328
286
232
386
355
248
261
293
309
347
293
337
283
289
339
317
266
328
321
308
306
370
291
305
324
273
342
249
250
289
324
354
274
317
275
295
307
328
384
294
304
346
371
344
331
365
256
369
365
282
271
264
284
300
305
268
295
286
347
334
327
313
308
302
235
331
393
312
395
371
306
345
237
300
340
281
270
305
351
346
278
250
301
415
332
316
287
281
321
318
430
350
354
326
306
352
293
290
295
376
404
293
333
347
314
319
393
230
330
267
333
301
300
306
291
376
295
293
359
321
349
386
279
287
315
420
292
271
333
295
258
266
391
304
356
312
316
362
276
346
340
346
351
266
310
400
331
346
291
321
313
331
261
325
336
411
337
323
307
319
338
359
346
405
247
300
369
255
377
265
344
266
395
322
367
323
396
289
313
322
327
302
211
348
356
318
386
260
297
380
363
203
327
346
335
319
253
283
310
257
335
313
364
322
331
285
317
251
269
278
309
250
321
293
297
375
309
272
346
378
356
293
323
342
333
310
298
396
376
359
253
338
366
261
314
391
311
356
291
320
294
297
354
339
348
382
311
307
337
365
273
390
357
269
378
291
333
264
358
303
298
293
257
311
408
324
276
306
310
301
318
307
317
349
229
381
348
182
309
237
261
267
311
358
293
366
242
337
358
317
272
359
275
252
341
266
329
246
279
281
262
254
396
276
347
268
274
296
366
220
353
353
354
336
332
271
271
238
265
322
325
337
368
254
310
235
326
332
342
342
367
350
367
361
406
363
257
282
329
302
270
340
290
378
363
358
293
309
345
325
370
327
287
334
236
327
318
342
415
240
288
322
382
325
295
366
250
338
266
321
315
313
348
388
274
294
278
320
261
414
357
328
311
254
292
294
280
326
283
267
353
367
255
384
260
285
227
273
273
311
289
239
300
245
349
353
378
305
370
247
323
273
344
291
317
285
290
312
356
395
292
325
269
309
320
314
383
323
259
338
281
292
301
402
267
282
358
335
378
292
268
261
289
239
345
402
273
369
339
348
296
317
368
327
302
342
386
252
317
323
303
292
408
219
382
259
309
260
354
380
243
294
294
304
347
306
330
337
339
281
336
256
340
329
270
358
273
330
297
339
262
279
318
277
316
313
347
346
258
241
275
300
393
407
298
268
299
277
355
309
404
359
386
343
374
337
329
276
330
280
336
332
318
319
274
311
318
366
286
266
270
344
232
309
332
359
296
349
289
367
340
323
374
270
353
306
245
389
374
301
299
399
221
272
246
280
397
362
372
391
350
264
315
371
350
263
283
301
286
380
389
303
332
304
276
349
304
357
315
276
334
294
354
383
373
369
313
365
319
397
393
305
329
278
323
313
343
301
213
257
359
288
387
295
276
285
292
268
342
275
327
297
366
337
315
316
337
333
350
242
287
270
271
336
319
375
328
313
297
349
276
332
316
383
306
315
313
314
329
324
300
268
417
274
359
357
332
388
303
234
335
341
279
289
347
279
251
369
266
365
364
332
351
313
387
381
354
218
339
250
293
304
338
307
344
269
300
323
336
292
292
257
347
306
288
302
272
299
289
339
211
313
282
334
315
342
404
375
356
236
321
263
291
374
281
321
303
277
344
298
311
319
332
307
337
385
395
296
327
344
306
339
277
258
336
363
369
327
303
241
328
311
349
325
313
289
364
285
342
304
328
297
337
278
343
287
272
323
354
315
265
331
266
323
363
249
270
293
272
285
347
344
299
319
371
282
366
251
324
254
334
310
266
274
343
281
229
305
277
295
296
272
271
277
323
294
365
368
406
351
250
363
248
276
271
289
312
265
277
340
356
311
297
310
349
345
245
328
285
367
345
298
340
346
279
293
294
377
319
303
279
320
303
306
335
392
325
303
380
307
330
324
322
333
229
361
280
314
283
273
298
385
311
291
301
310
254
283
347
307
335
273
315
378
324
246
292
261
355
329
328
259
224
366
313
312
299
329
375
225
332
292
331
324
378
280
356
282
305
259
320
351
275
239
344
355
300
355
289
291
344
273
298
327
323
388
353
245
345
269
333
418
327
354
322
356
361
338
315
285
262
278
279
314
337
330
407
304
383
357
356
275
353
307
363
345
286
365
347
377
305
326
288
397
270
341
408
353
366
358
283
255
357
344
223
292
375
315
278
299
351
224
340
330
349
409
339
326
293
294
333
268
422
302
292
273
354
402
304
367
276
359
313
313
338
326
280
296
314
307
364
357
307
341
307
363
327
321
372
353
336
316
393
301
357
243
312
308
280
283
340
263
244
297
278
365
310
343
338
379
308
401
330
297
209
374
279
315
287
296
310
299
341
299
236
359
350
299
305
337
282
320
297
358
322
385
292
344
261
253
434
261
315
287
307
363
333
362
293
296
365
325
289
412
326
312
322
394
311
347
347
299
275
383
324
316
228
326
246
251
334
341
319
326
223
374
287
260
346
329
191
338
286
326
335
281
249
322
240
284
318
284
281
361
338
299
294
320
237
309
317
415
290
280
346
306
377
337
364
274
293
421
369
320
307
333
287
305
261
327
352
328
305
331
311
308
259
284
264
275
261
311
226
318
360
358
326
291
280
293
343
371
378
287
307
327
298
250
336
252
295
327
381
355
389
382
304
357
275
369
229
335
356
324
300
337
365
286
302
365
331
344
323
343
243
345
330
295
294
309
287
310
233
269
275
350
293
273
254
308
285
300
351
324
321
312
292
331
308
326
322
380
401
357
307
342
342
387
282
309
321
237
273
304
340
313
266
246
254
373
341
302
338
385
360
265
339
334
290
387
320
319
259
278
294
275
331
320
384
342
297
341
265
250
351
308
367
371
289
347
247
270
322
362
213
317
355
302
264
265
311
275
379
349
344
324
335
335
371
223
312
349
318
330
344
319
270
347
266
376
327
321
319
273
285
333
246
267
302
322
333
361
440
274
312
301
353
349
300
303
336
342
328
218
368
311
358
357
407
280
315
318
383
425
313
346
353
213
362
309
378
283
349
274
388
283
239
325
225
351
255
335
364
309
275
329
267
353
256
308
308
340
312
352
364
338
236
303
275
338
358
294
344
276
283
340
365
401
259
319
362
315
338
305
404
370
296
254
280
227
250
357
310
279
277
359
249
278
342
293
269
346
389
418
286
247
301
323
317
379
312
286
282
344
332
342
346
356
387
230
346
313
252
296
286
345
390
275
310
303
424
345
364
325
361
327
365
386
338
319
294
350
291
283
233
323
333
340
228
340
330
324
335
325
328
217
399
302
294
276
319
359
290
317
331
336
320
346
319
318
333
377
373
361
346
301
383
349
376
243
301
370
341
262
332
359
283
334
345
366
270
359
283
333
281
309
394
414
420
268
337
247
305
386
343
285
321
364
313
214
393
274
298
344
276
351
387
323
328
300
356
337
353
338
270
340
271
369
420
313
277
390
343
352
252
319
275
343
365
303
378
353
344
363
302
331
332
333
295
342
297
355
288
263
319
303
320
317
337
371
301
293
277
379
317
361
352
284
316
338
267
350
376
305
317
337
345
378
301
319
395
326
256
342
329
306
257
312
306
353
258
379
282
322
282
370
337
237
324
346
304
309
324
316
196
279
295
313
233
275
325
280
351
237
229
260
279
282
339
326
284
379
273
376
305
316
300
396
212
317
387
287
331
280
345
259
339
332
279
374
355
252
367
316
212
323
355
339
384
266
316
269
279
276
332
348
318
387
261
343
352
333
357
319
293
273
305
310
351
321
296
330
286
334
267
351
331
318
323
290
332
300
253
260
361
290
325
339
270
385
295
337
383
361
333
383
323
343
338
328
343
368
305
367
294
305
246
255
363
325
310
301
343
309
290
314
342
280
340
333
320
319
285
307
312
384
389
304
368
337
275
368
285
378
351
383
277
290
323
314
278
342
269
305
371
308
312
315
364
348
355
333
390
363
308
316
337
311
360
339
273
299
304
330
339
334
414
335
312
304
349
329
347
277
249
216
262
232
397
368
289
320
306
321
374
353
266
345
325
312
322
293
352
259
287
259
351
285
341
294
270
338
331
254
291
245
407
250
318
377
306
233
303
318
211
271
315
322
231
383
314
359
354
315
329
323
194
319
345
340
294
203
400
285
327
285
348
290
420
278
352
347
350
215
355
307
244
256
339
188
304
326
333
303
334
270
257
337
212
336
303
346
313
336
313
290
365
368
371
370
362
339
298
284
296
373
308
328
260
302
379
261
279
257
230
305
303
276
329
333
282
266
356
413
336
314
304
345
302
364
304
292
367
324
291
362
328
289
325
368
317
244
352
302
409
283
298
344
346
328
310
181
281
276
322
259
308
383
295
328
378
342
294
345
303
340
383
283
351
294
265
351
277
347
242
313
312
263
368
328
420
220
345
317
301
348
250
314
273
270
308
264
264
265
287
240
286
335
281
383
333
290
182
329
326
326
229
314
382
363
355
253
345
239
375
291
251
332
364
390
376
400
341
301
269
321
334
257
345
308
357
361
365
265
303
310
343
286
251
301
329
302
333
302
255
280
286
324
317
355
351
290
323
294
371
329
362
280
271
391
384
306
312
272
337
287
308
349
344
320
282
351
260
285
314
375
373
315
340
306
371
347
384
348
342
279
382
313
303
376
351
314
377
407
286
303
353
312
344
258
353
331
200
327
413
315
273
221
316
332
294
292
311
265
288
301
298
329
281
289
316
338
345
292
321
327
373
283
311
314
375
310
315
329
326
314
246
245
235
345
300
383
429
325
269
276
308
282
328
252
357
364
311
307
272
358
298
222
290
359
341
405
401
326
290
454
365
387
312
349
343
370
284
262
294
270
324
275
319
392
307
322
326
341
321
341
354
314
347
245
359
382
277
363
244
333
337
282
315
305
376
311
426
254
396
317
375
329
295
319
409
356
333
297
307
318
365
300
358
321
293
352
278
342
318
294
334
246
299
307
268
347
317
366
316
311
324
360
306
306
248
373
311
319
245
353
295
324
356
354
382
380
302
331
306
313
341
351
299
347
314
304
316
410
326
386
321
274
337
315
191
324
297
270
268
323
343
337
295
280
293
360
334
372
316
375
274
219
314
396
315
293
400
363
420
328
284
292
357
337
305
336
343
309
267
326
406
369
347
316
362
352
323
279
292
295
295
209
332
227
314
296
271
342
290
344
325
347
341
289
357
362
317
322
325
247
358
398
349
268
345
375
296
302
315
296
265
341
317
377
263
316
248
285
451
235
370
295
363
348
304
362
295
289
236
348
305
344
379
361
355
351
388
293
315
340
263
353
351
347
314
321
242
314
345
320
319
386
279
350
336
336
315
311
367
276
278
422
342
242
296
349
281
339
295
291
338
272
294
322
361
271
189
206
342
275
304
329
285
283
396
382
363
266
294
343
308
306
232
318
352
319
255
285
286
342
381
309
330
334
320
343
277
331
342
401
252
399
264
318
312
331
317
319
284
314
280
325
320
370
417
223
342
372
227
348
399
365
312
365
337
345
320
304
257
300
357
334
314
314
282
303
264
270
369
404
347
329
221
351
291
327
392
286
337
349
337
300
283
365
317
303
339
264
362
301
292
310
272
356
343
287
220
342
325
308
287
178
342
346
270
312
229
291
221
261
273
276
330
342
321
277
349
289
263
275
339
350
317
373
244
279
342
360
262
261
312
275
321
315
365
338
334
315
256
306
279
318
351
313
202
321
305
315
321
293
288
320
275
231
331
310
334
359
240
286
392
351
315
309
366
306
267
286
320
272
354
223
275
357
306
296
362
267
365
324
346
375
393
337
305
374
307
366
349
308
354
327
250
291
418
335
375
333
362
238
244
285
324
296
316
359
357
375
318
311
297
227
324
300
301
390
341
296
358
285
291
264
291
286
317
299
280
314
347
336
256
295
294
336
297
250
309
288
263
304
271
367
265
347
191
300
372
309
315
311
346
334
341
286
321
378
384
353
354
379
254
354
367
315
274
340
237
245
377
388
308
320
319
390
298
315
299
288
363
279
296
369
258
258
375
296
341
383
289
271
359
375
320
260
290
274
237
368
333
323
308
281
323
356
258
321
334
311
338
299
321
355
318
316
246
315
298
301
303
160
388
334
335
307
368
358
350
276
344
322
298
385
308
283
335
389
374
283
316
284
275
311
363
280
343
302
252
395
341
346
268
307
358
311
340
343
338
377
319
321
270
372
266
335
338
320
220
260
302
261
323
243
276
367
317
329
388
326
326
327
358
306
363
332
310
266
320
308
317
373
214
290
320
323
227
361
372
317
320
340
273
247
307
196
337
347
393
351
335
311
262
297
329
277
382
342
252
282
332
303
289
334
246
257
280
207
351
302
358
401
315
292
314
367
400
376
273
288
319
375
308
284
359
289
373
444
385
329
285
343
278
263
385
245
295
372
356
430
286
281
357
336
324
287
292
274
357
269
314
306
303
293
323
301
337
332
361
269
272
281
273
273
385
333
296
234
380
270
315
361
302
294
301
295
213
300
312
316
375
366
306
406
341
282
288
242
321
258
307
376
306
283
329
313
357
289
292
339
270
339
314
334
357
383
306
330
295
348
307
246
277
334
358
361
331
250
261
311
311
347
290
318
355
364
290
281
315
305
354
285
337
285
366
360
270
284
318
272
390
398
267
268
349
328
283
297
332
366
255
307
310
359
286
286
339
302
322
357
384
253
288
269
288
305
328
311
281
270
339
262
224
305
312
261
341
414
413
268
227
328
307
317
294
348
335
269
308
356
251
296
326
299
283
274
338
260
327
323
318
395
256
398
364
383
315
290
270
203
233
388
321
292
228
402
263
373
301
314
294
343
226
296
386
317
306
319
320
335
274
285
253
306
335
229
329
350
355
322
250
312
276
281
304
285
290
372
280
275
233
309
264
348
339
331
257
323
318
320
286
310
308
236
334
298
378
381
237
338
256
283
311
308
223
323
386
264
295
292
321
351
378
305
330
290
370
281
244
288
312
299
302
427
249
315
337
363
373
318
337
299
352
272
257
345
265
250
250
275
228
236
230
313
316
285
325
403
267
318
292
338
348
281
389
362
244
343
324
376
335
328
422
305
294
337
373
303
300
279
310
254
360
355
355
314
310
357
347
364
352
294
335
317
233
335
313
325
282
375
296
284
293
290
276
298
337
319
305
269
303
397
396
347
282
362
358
320
318
363
274
396
371
266
362
330
283
299
417
311
335
284
419
404
317
299
291
357
351
379
335
322
318
203
313
390
275
319
328
319
351
221
290
281
292
342
227
367
344
365
360
374
319
228
261
262
348
296
302
288
332
238
352
211
259
308
314
269
310
335
305
337
295
310
304
375
305
359
342
275
335
295
273
350
272
483
297
350
280
360
304
225
239
326
245
352
228
323
402
278
305
246
311
355
365
300
334
343
345
416
321
311
308
357
343
295
279
347
369
383
352
327
249
302
332
285
305
417
268
375
220
337
426
280
297
313
355
409
322
283
266
350
356
295
318
265
344
336
263
262
350
349
373
358
324
334
314
310
360
303
303
279
366
247
302
281
282
357
414
238
398
394
349
249
373
329
299
313
327
309
380
295
290
367
247
257
317
292
305
290
347
357
328
413
318
270
261
319
351
285
374
330
276
266
265
369
333
376
315
283
371
325
319
273
269
316
291
338
321
290
349
333
314
412
248
392
308
249
285
369
301
329
328
276
325
312
359
392
335
380
359
301
335
276
299
286
333
211
352
227
287
221
250
274
311
345
353
316
183
343
359
197
308
339
401
184
383
358
327
320
306
336
276
303
297
315
385
373
301
384
383
293
339
349
366
190
365
350
338
370
340
299
304
348
292
393
351
402
347
281
176
280
331
282
275
403
282
366
255
403
333
309
287
265
307
324
357
307
326
332
359
387
304
306
387
319
272
285
243
314
350
370
291
330
306
381
341
322
334
391
347
357
320
347
321
385
289
351
333
327
331
254
217
357
307
285
362
349
248
390
336
353
405
270
311
257
338
259
342
320
422
282
302
333
293
365
403
354
343
332
330
331
251
317
267
235
257
299
280
358
266
285
360
329
292
358
306
276
263
301
364
336
313
352
360
331
374
326
293
267
329
320
359
361
339
311
384
336
309
333
292
368
318
276
302
359
380
367
422
329
327
286
357
274
284
362
304
373
336
402
287
337
300
283
184
304
330
372
298
295
308
339
338
237
292
367
268
311
365
285
284
286
331
365
380
326
345
369
275
291
317
280
379
333
357
310
259
327
264
336
273
304
281
348
372
312
379
275
352
299
252
349
299
353
365
359
398
295
276
362
365
358
302
335
364
368
305
353
282
348
369
309
290
346
333
336
418
273
318
244
351
325
324
285
368
324
347
281
335
303
325
216
306
281
229
297
334
348
323
304
354
271
298
295
359
235
320
282
279
336
338
316
353
367
373
405
243
346
299
307
378
343
272
354
388
339
315
315
258
339
302
358
372
377
284
315
258
330
326
254
322
297
316
380
321
369
335
263
277
375
326
252
306
351
342
359
428
242
343
377
346
319
300
314
308
211
214
346
241
359
275
311
323
258
283
409
275
266
253
314
364
281
274
337
312
316
360
314
229
289
265
414
291
330
324
343
333
324
322
357
271
250
351
329
389
278
364
330
303
293
277
269
337
298
357
348
351
328
276
351
362
304
322
322
231
315
280
269
291
397
268
335
245
288
326
373
324
330
374
269
288
342
274
331
328
400
352
289
280
298
364
302
253
389
317
336
322
340
312
293
352
323
222
264
310
406
277
338
296
312
354
236
265
307
409
403
336
325
352
282
361
323
308
324
290
210
369
397
282
289
330
368
285
279
293
340
367
333
305
221
304
339
391
395
317
412
336
297
384
245
329
304
400
355
337
303
220
324
267
372
373
344
265
391
351
343
271
297
303
321
290
287
276
299
345
342
357
303
303
347
395
255
342
388
314
419
277
264
308
216
371
348
342
303
232
346
314
228
352
227
243
387
375
327
413
278
339
348
278
263
360
343
379
317
335
326
296
395
329
364
244
232
316
310
335
405
383
303
363
313
373
350
316
317
321
202
309
313
289
296
314
369
357
289
404
295
263
373
312
288
367
307
353
306
311
281
378
349
346
373
290
325
267
281
324
341
300
370
375
346
334
309
299
254
339
340
341
375
315
347
367
318
263
317
341
386
265
293
305
281
276
326
285
343
333
268
311
271
358
279
266
377
353
309
242
269
323
326
317
320
335
351
361
236
377
348
274
235
351
300
306
285
337
261
325
286
396
393
320
346
347
348
274
237
211
332
303
354
326
326
322
256
318
282
292
398
394
334
338
352
245
313
375
331
302
293
270
384
380
295
347
215
310
243
262
290
369
386
261
240
397
353
361
270
369
203
367
362
289
382
281
355
356
303
318
326
262
308
257
311
350
346
297
334
258
354
300
204
316
270
343
266
263
237
362
283
332
406
345
362
356
369
186
373
324
361
309
323
317
242
426
265
223
270
286
297
358
352
348
391
359
277
333
332
354
336
275
310
403
365
249
277
296
311
356
276
300
335
236
367
284
345
377
344
366
299
285
275
188
326
321
291
321
307
297
264
283
292
328
231
382
428
381
342
365
364
348
323
323
379
340
303
316
401
314
322
376
256
300
322
383
265
310
282
384
275
353
277
285
330
301
232
310
292
351
294
335
368
392
323
301
306
403
315
307
403
298
358
390
310
335
380
332
319
353
289
263
307
416
335
265
337
309
309
273
305
315
337
364
278
333
278
355
307
377
301
368
312
201
253
258
308
329
262
297
314
349
255
360
318
348
294
295
266
327
330
304
354
328
329
375
316
407
279
302
333
223
325
247
265
280
318
289
374
267
370
375
314
319
317
281
292
206
350
315
332
358
338
299
322
286
252
269
437
331
317
341
350
373
394
384
409
323
313
322
329
317
332
337
288
323
386
325
358
313
356
287
350
294
235
345
342
330
340
285
287
298
243
315
310
334
300
396
305
279
257
381
330
288
336
293
306
317
358
318
308
318
332
365
307
153
362
338
324
318
338
261
264
339
302
282
316
347
288
326
363
248
353
330
264
327
354
345
345
242
359
378
252
240
310
322
280
284
353
275
332
299
304
256
355
323
220
291
288
333
316
261
314
284
340
348
328
433
320
258
311
244
307
336
396
336
344
245
379
326
308
260
338
320
305
375
288
317
306
329
302
262
311
353
315
316
328
393
323
341
310
279
336
293
343
259
358
385
365
361
421
350
295
383
334
284
305
374
367
358
295
223
329
190
307
308
273
326
402
315
314
369
303
265
293
342
302
385
273
325
370
343
327
321
250
388
345
309
355
279
244
337
398
205
340
278
348
331
335
315
335
282
340
340
228
370
203
307
365
402
384
266
241
330
351
343
309
252
310
398
360
305
251
309
271
301
340
370
305
319
299
315
286
265
293
431
259
291
322
288
326
365
311
301
406
275
303
357
298
355
318
290
368
296
270
280
320
332
345
306
373
311
297
310
319
357
303
303
327
276
375
282
366
243
222
363
393
316
301
363
215
379
320
310
386
288
194
323
372
300
319
367
296
279
335
244
309
306
278
313
377
393
297
314
307
337
254
375
366
367
316
274
321
203
326
399
307
223
339
272
285
331
282
324
295
262
281
362
335
263
368
291
329
347
327
395
292
309
274
334
310
332
372
303
285
353
317
242
298
391
275
220
245
328
280
309
333
287
297
373
276
371
264
311
342
387
309
321
333
314
327
238
266
424
284
331
363
397
310
259
258
373
312
245
336
315
368
275
362
354
310
323
388
342
393
321
245
378
217
295
268
242
281
387
336
312
329
355
352
296
387
346
287
303
364
391
284
253
273
261
293
390
280
278
311
268
243
351
325
295
362
339
348
299
310
341
390
222
327
297
322
382
288
362
274
346
298
233
339
368
371
312
390
368
345
279
333
334
305
357
296
378
278
345
243
339
320
338
293
272
321
269
300
352
369
310
331
348
301
287
334
376
345
315
246
221
338
246
333
327
271
348
305
393
279
306
361
362
295
291
294
269
286
307
294
294
364
248
235
309
284
290
291
343
374
293
356
369
266
375
278
348
315
264
295
358
337
294
289
305
319
311
420
306
312
283
391
385
328
333
292
273
362
395
349
338
324
354
328
313
334
249
306
393
343
201
299
240
333
317
312
287
414
313
379
325
300
420
322
351
382
279
297
223
292
330
262
357
370
326
323
323
302
345
303
341
321
283
258
347
205
312
310
366
337
284
297
302
356
385
306
285
295
315
344
247
314
286
373
255
285
341
340
336
332
283
256
433
250
314
241
305
283
316
252
296
315
327
362
306
377
350
288
261
272
321
365
338
290
243
320
251
311
342
344
268
304
356
249
280
379
320
348
364
290
279
303
304
238
303
289
388
301
301
282
299
400
269
349
333
296
281
359
327
357
376
256
291
256
361
291
310
296
352
281
269
288
367
263
303
328
263
251
288
342
256
278
339
360
380
338
256
254
307
386
288
336
218
322
244
299
366
343
287
224
269
328
274
388
286
317
300
329
267
292
264
292
325
353
365
312
350
282
273
308
297
292
370
347
310
278
376
317
303
411
280
335
308
327
321
299
388
312
353
337
309
323
302
356
359
343
324
323
313
336
309
291
339
317
375
292
357
371
387
342
345
278
407
326
361
325
297
355
325
289
273
335
279
336
344
335
351
313
265
270
282
353
241
221
312
322
315
416
309
289
352
335
394
289
299
342
294
306
294
260
321
339
260
237
332
298
324
312
295
268
279
407
293
303
391
360
308
351
300
385
306
275
251
262
222
292
286
336
205
377
375
355
297
258
305
293
291
333
367
301
323
353
233
258
259
388
341
286
369
279
272
275
297
344
254
292
256
359
270
304
280
267
323
363
331
340
360
310
316
292
299
422
390
278
326
324
372
311
222
371
190
352
269
340
296
397
294
378
322
312
269
316
266
278
314
329
336
339
350
274
285
343
368
336
359
289
266
362
243
341
287
323
354
291
317
321
312
284
318
400
321
336
361
312
296
368
287
331
349
239
290
266
336
339
283
289
345
323
292
328
351
381
376
384
391
392
271
329
315
295
258
393
335
282
341
255
400
258
348
371
314
295
300
325
289
385
329
270
364
279
295
315
384
366
246
341
347
240
390
339
393
261
348
298
310
275
341
342
357
326
274
263
223
411
383
374
340
293
400
291
246
374
331
239
301
345
396
341
353
320
366
363
266
330
318
336
350
306
320
318
276
272
297
377
323
294
327
244
291
203
403
309
302
337
327
334
220
378
370
270
287
280
247
321
328
317
285
288
288
352
297
340
399
298
341
261
338
291
389
297
303
301
268
319
332
418
313
341
317
299
260
182
297
237
309
394
383
309
254
285
338
346
261
401
168
288
406
345
400
389
385
271
363
301
332
423
298
295
323
284
361
331
253
274
349
362
245
377
355
217
351
354
365
342
303
244
360
337
362
341
329
291
327
352
302
335
301
256
350
368
327
288
284
372
248
225
329
298
311
336
323
264
257
251
324
289
278
367
414
346
352
337
384
326
334
324
265
311
311
255
376
329
355
368
294
300
308
289
386
351
392
279
357
337
307
252
298
264
352
342
281
263
275
361
347
262
308
307
292
316
215
261
374
333
335
308
317
273
361
312
309
271
319
316
303
324
279
270
313
270
305
266
213
350
281
333
339
318
312
307
395
368
339
369
306
304
279
353
264
314
366
309
293
395
286
209
311
323
275
397
313
297
361
368
300
389
313
388
339
405
339
303
360
324
334
273
285
320
308
288
342
353
375
312
341
256
393
308
329
296
274
311
292
345
344
342
342
430
368
368
256
300
301
322
347
325
310
381
308
337
277
266
285
343
240
346
339
278
321
313
286
287
303
340
325
353
298
321
326
366
314
324
280
347
325
320
345
255
277
387
319
331
314
360
294
367
376
270
221
327
335
302
274
306
245
348
259
234
328
360
302
260
262
295
298
349
340
320
266
361
273
330
298
308
396
332
390
292
283
383
281
367
273
279
356
260
304
337
229
280
315
312
349
329
312
387
300
335
341
317
294
381
408
298
223
307
301
316
366
242
311
341
345
327
278
278
385
297
287
259
276
343
293
314
260
363
313
328
332
304
332
267
325
289
317
435
287
261
325
258
371
398
359
372
320
277
268
359
355
335
405
327
384
301
338
340
334
307
332
297
349
302
338
352
354
262
311
349
345
280
337
280
218
330
346
298
341
287
241
299
217
307
340
259
330
302
302
278
327
364
329
326
298
252
358
274
333
262
315
352
325
275
280
334
304
314
295
279
340
314
325
289
353
305
250
280
410
310
268
298
340
301
270
364
303
341
326
222
341
345
341
362
380
327
307
324
253
367
304
313
416
274
275
298
316
314
343
294
340
221
275
345
262
386
306
248
325
366
390
289
251
287
365
210
335
279
285
268
403
309
357
266
277
295
316
395
359
372
345
234
313
335
391
318
336
311
333
354
226
347
340
347
255
232
274
368
397
356
337
280
414
243
329
376
304
393
306
260
342
274
352
311
316
289
378
370
337
338
366
405
351
297
339
261
277
312
370
233
223
336
259
289
292
325
357
333
310
327
395
257
359
341
371
332
295
293
313
284
349
332
254
301
308
301
409
417
239
326
397
348
355
381
298
356
268
256
317
389
402
242
309
421
279
282
261
272
207
281
336
337
304
330
343
236
348
287
300
192
339
292
332
357
329
202
332
347
298
302
249
326
266
344
337
354
315
285
309
257
343
314
286
322
290
235
330
344
323
329
260
289
308
317
324
385
317
282
320
277
268
346
278
244
258
309
288
244
308
277
291
339
287
357
295
436
402
249
241
373
335
277
348
327
269
307
247
310
337
319
309
315
301
318
425
361
383
330
358
311
269
384
219
291
381
306
281
347
383
323
292
278
360
273
287
440
313
408
355
362
210
332
269
349
337
359
319
318
187
392
323
311
355
325
308
276
415
314
352
374
321
308
374
309
241
336
324
269
210
244
323
365
288
320
259
373
282
254
214
311
290
247
352
331
324
359
261
326
263
232
295
343
314
302
374
386
296
391
294
219
264
325
282
280
383
373
291
324
315
291
334
400
309
345
336
306
334
271
345
236
335
345
319
321
279
289
225
341
410
288
289
293
282
286
265
332
356
258
361
271
304
320
335
367
372
303
373
319
285
340
291
357
294
294
338
256
316
309
284
310
368
342
340
322
310
271
300
312
277
248
262
382
284
355
346
291
285
309
255
309
265
372
303
353
344
355
325
299
323
339
229
269
376
352
366
348
372
288
362
300
212
314
378
351
353
320
409
358
275
281
337
381
286
324
295
361
296
329
316
314
370
279
330
270
276
320
288
329
338
281
372
320
304
237
362
231
264
314
267
317
371
332
253
297
371
372
288
341
379
330
322
320
292
363
284
313
363
333
343
351
377
244
366
250
362
298
351
259
320
267
353
299
264
319
297
318
304
284
361
313
279
317
295
335
387
391
331
363
263
371
287
386
333
321
320
313
289
313
397
299
379
414
322
196
219
313
352
321
344
313
328
247
374
302
322
296
304
324
336
310
321
322
276
369
262
347
388
339
382
298
287
337
345
327
275
363
250
287
358
218
324
242
291
372
328
258
355
342
335
275
348
319
261
359
312
297
267
336
332
330
260
272
422
286
343
232
255
343
329
277
287
345
278
241
292
244
286
361
245
277
359
366
257
298
317
294
363
339
347
349
285
371
427
249
308
371
361
327
349
269
296
327
230
325
336
336
332
368
289
261
330
308
346
326
272
338
250
368
283
334
313
350
253
303
293
304
370
278
389
302
275
376
330
396
330
371
295
254
313
268
212
284
383
322
364
340
368
335
399
348
284
317
315
353
374
296
311
324
277
334
268
311
266
356
352
278
273
341
273
340
286
312
270
258
260
301
294
272
274
243
301
370
343
312
319
275
308
324
328
302
332
268
274
324
325
352
408
351
280
325
248
357
349
320
327
277
288
265
385
356
339
323
352
291
327
326
352
331
303
378
293
297
224
393
357
367
350
330
321
335
321
347
284
273
308
314
266
366
331
307
275
341
324
291
363
285
311
298
262
324
344
313
274
245
328
348
237
370
332
308
340
290
316
253
369
408
254
347
339
359
321
273
345
326
366
324
359
356
332
344
338
316
271
291
359
311
419
279
249
303
333
292
276
378
371
243
313
360
382
376
322
356
362
317
384
306
296
275
316
355
380
345
306
332
287
289
288
325
338
382
284
282
310
291
303
273
280
357
320
357
310
348
376
281
254
299
299
317
360
359
284
284
312
354
277
330
302
412
238
400
334
344
293
377
266
350
374
296
383
266
334
376
273
355
316
351
308
305
412
392
355
277
360
380
369
271
265
355
384
295
313
334
343
325
286
292
303
327
304
426
378
353
319
266
264
283
363
277
346
349
375
358
329
327
323
281
333
325
291
346
332
322
287
311
389
345
293
347
345
412
252
388
344
283
264
313
323
266
397
393
302
302
318
274
335
270
296
348
305
316
307
331
386
328
338
326
345
365
306
356
352
364
387
287
335
283
357
350
218
360
365
313
263
329
306
327
336
300
308
359
324
328
341
269
316
272
377
247
312
258
337
289
246
341
316
288
295
336
292
404
371
372
352
232
279
304
267
335
320
311
292
329
227
363
351
318
323
293
229
347
285
334
237
286
259
392
304
315
291
389
300
288
298
320
356
315
358
357
251
383
325
331
370
306
290
315
246
299
351
272
309
266
306
350
291
317
251
379
328
282
335
427
330
328
221
317
297
248
343
292
314
349
321
377
259
402
260
303
253
354
317
293
353
355
291
333
314
287
343
311
353
354
326
289
294
375
321
292
400
305
383
333
369
321
298
396
342
354
313
321
393
313
221
267
360
368
340
399
321
307
373
286
351
318
273
269
325
323
332
343
360
300
300
327
281
382
396
352
321
288
350
362
383
292
303
294
328
288
276
403
303
259
352
272
335
386
258
292
358
336
341
260
250
364
277
291
303
262
263
326
299
405
312
294
341
282
341
277
274
303
304
334
354
295
406
330
322
232
298
361
313
320
342
347
337
353
300
294
395
280
274
323
320
331
290
368
313
351
286
333
358
348
353
264
396
257
284
306
336
335
277
351
422
410
381
369
292
243
232
341
266
364
300
327
279
271
295
302
311
309
311
344
284
347
363
313
356
392
336
323
307
335
315
297
325
345
332
225
316
350
317
361
373
245
303
377
423
242
314
283
307
328
227
300
303
380
276
311
347
274
374
299
310
382
353
309
220
240
322
222
194
321
304
361
227
240
345
363
305
345
341
279
312
332
312
334
368
265
305
247
237
306
359
316
336
382
330
337
327
316
308
239
240
355
345
285
304
330
370
268
318
320
379
338
285
254
384
306
374
297
313
303
334
251
239
325
376
251
320
349
303
372
256
311
337
320
367
323
291
267
279
329
354
327
353
290
296
285
357
356
268
315
318
324
347
270
294
376
315
368
269
333
292
267
315
365
294
321
403
370
287
355
293
315
278
295
360
384
306
312
364
398
331
377
326
331
301
241
266
325
335
414
302
360
382
295
353
332
306
288
305
389
333
325
296
356
341
388
351
317
330
348
347
366
250
309
306
338
346
287
365
317
248
389
413
330
247
348
265
402
372
183
332
277
300
369
301
358
312
286
307
406
316
279
375
334
356
291
278
360
370
311
314
347
244
213
303
376
374
397
331
315
322
345
247
366
321
368
320
295
289
348
345
326
343
391
351
410
240
298
355
319
344
358
346
273
303
371
305
371
271
306
332
307
340
264
348
270
259
323
254
312
326
351
334
313
287
288
254
360
334
358
302
319
302
324
286
335
247
316
329
358
296
280
339
298
309
381
329
231
301
294
348
307
307
290
302
305
319
336
361
232
384
361
383
338
358
281
377
299
341
255
327
348
330
272
374
263
331
332
332
301
319
344
275
324
310
387
239
252
292
325
289
269
352
247
236
328
290
340
317
337
334
365
235
320
377
411
307
352
345
288
354
306
302
284
369
315
325
318
288
322
356
291
282
332
288
354
360
283
339
319
330
320
296
258
318
326
343
318
275
344
298
314
262
256
270
336
314
380
361
304
312
364
341
284
308
345
334
323
254
267
319
292
292
370
323
294
331
252
307
311
267
294
296
302
304
297
337
326
288
390
335
392
233
325
339
284
311
291
333
387
303
284
362
332
264
347
299
315
348
292
350
355
300
332
312
293
372
251
333
264
339
296
337
338
245
396
392
377
387
315
358
329
340
328
392
387
319
322
262
371
357
297
368
354
225
373
319
376
354
236
301
300
333
255
341
348
324
395
318
358
294
228
313
322
291
320
350
313
326
267
260
262
335
288
418
327
322
258
347
325
400
329
339
274
360
296
272
288
327
350
387
348
328
264
260
271
272
346
392
265
431
342
325
334
150
347
309
325
306
403
367
333
376
313
268
356
294
321
442
352
297
307
370
300
364
324
258
356
360
285
311
312
326
263
327
308
343
310
298
287
364
279
294
311
358
332
358
237
329
328
331
350
284
318
368
354
366
338
312
288
376
256
337
284
318
391
352
332
247
361
316
309
368
334
342
402
300
319
342
321
392
329
357
279
330
409
413
234
411
266
351
266
306
287
322
249
309
289
248
346
301
341
378
344
360
292
278
317
298
326
377
252
384
318
325
361
314
265
310
238
228
248
334
403
293
343
400
279
337
315
257
336
352
375
347
331
354
335
327
405
282
321
350
258
342
285
288
293
288
330
265
334
258
349
327
359
342
329
245
268
245
284
298
309
280
311
238
348
352
310
302
244
233
333
273
375
281
309
292
289
361
293
352
335
239
319
386
281
284
213
346
257
303
368
353
269
371
239
227
322
357
394
362
337
347
334
282
280
298
353
395
302
343
208
277
339
276
313
290
280
310
273
307
318
256
320
345
300
195
285
270
247
315
397
277
260
309
282
325
290
320
301
274
385
270
287
296
338
350
296
291
290
330
259
390
317
323
336
388
299
350
353
294
318
329
303
373
380
350
281
331
336
329
319
370
238
292
398
313
300
228
262
248
287
291
283
343
283
331
380
294
355
263
309
371
319
330
377
233
250
300
284
256
365
322
331
184
339
277
255
197
306
245
326
324
383
321
293
355
358
348
303
314
307
398
287
355
309
326
366
343
333
293
296
380
371
335
350
271
333
334
333
346
340
317
329
256
325
306
301
309
375
290
321
336
365
337
373
291
414
264
384
259
345
222
353
349
314
349
319
325
322
268
316
371
404
218
300
294
334
321
354
244
259
273
333
335
319
420
394
310
294
348
263
281
340
357
370
423
286
381
311
270
285
331
367
349
307
305
266
339
284
326
314
288
265
234
304
293
285
289
347
343
353
358
182
356
325
331
305
226
280
338
308
306
244
300
295
406
270
363
276
256
360
283
309
359
260
387
294
346
293
393
388
321
389
305
321
298
281
409
323
363
361
216
278
237
329
329
289
318
372
272
326
371
328
343
291
251
298
295
317
278
288
230
418
346
364
263
347
343
273
305
358
300
382
337
273
319
354
311
253
245
330
293
289
202
330
314
273
303
349
394
321
269
298
179
267
273
358
304
246
284
262
378
395
269
310
364
367
336
323
233
304
330
351
235
319
272
338
319
352
362
387
349
288
331
250
331
394
266
256
314
345
300
395
318
294
363
331
387
284
275
272
225
330
297
268
293
357
284
375
363
233
286
181
285
332
347
383
219
363
308
346
328
323
313
308
351
236
276
339
360
326
226
270
357
315
335
310
408
334
319
349
299
281
383
378
206
344
388
255
324
311
221
309
321
346
292
303
414
354
365
351
353
325
305
268
298
385
281
352
215
338
266
370
330
342
281
332
334
338
377
365
329
322
349
373
293
264
358
262
307
284
291
360
304
277
319
304
369
239
294
326
349
309
293
197
336
281
311
324
350
347
389
291
265
353
349
283
217
169
336
313
344
412
373
287
360
274
294
407
374
278
324
294
383
328
335
354
300
320
279
343
329
357
314
294
292
294
281
313
329
329
340
365
340
341
287
229
323
309
326
333
327
384
292
329
361
295
308
329
352
386
359
283
302
361
279
295
401
323
279
326
316
338
366
257
342
352
216
285
322
310
188
377
337
268
375
268
328
396
308
342
317
342
296
290
347
292
369
335
321
334
288
349
311
349
374
378
304
338
313
285
315
343
300
292
305
329
224
332
288
332
368
317
294
308
344
218
278
305
316
248
319
344
335
306
303
319
386
286
327
375
223
321
287
305
264
313
341
302
289
274
308
392
356
415
277
364
292
372
331
354
247
403
292
297
320
288
298
278
411
290
235
288
345
317
305
321
365
311
359
306
345
360
222
366
290
283
330
267
386
293
288
235
323
373
294
341
367
309
307
344
212
281
291
284
263
313
277
266
271
326
260
328
336
378
335
376
278
318
320
341
332
238
290
329
359
296
300
386
305
349
223
298
286
323
314
373
319
322
323
355
294
324
387
283
348
405
244
295
273
329
314
287
344
327
372
382
324
311
268
338
293
329
347
290
334
355
316
328
300
324
243
332
329
274
297
268
290
282
328
349
314
289
322
384
202
289
284
388
403
344
272
291
297
328
378
338
382
259
274
301
301
246
327
327
370
290
265
268
372
237
276
336
272
327
305
339
352
319
376
353
344
230
262
380
251
348
236
387
366
280
297
398
357
334
280
368
312
299
335
320
294
302
360
266
357
281
393
335
351
356
288
341
304
339
357
286
291
368
298
303
282
292
299
302
319
310
299
307
290
309
339
294
310
355
288
345
255
326
304
347
306
280
317
410
321
391
309
318
321
313
336
286
357
310
297
260
328
250
274
327
328
294
352
372
233
339
260
278
379
323
280
250
319
248
272
315
409
240
341
333
332
301
335
330
378
237
197
326
386
397
211
328
243
305
348
377
404
284
361
311
242
311
387
377
216
386
286
305
351
428
311
251
358
349
384
351
320
324
288
335
263
327
336
320
307
343
301
267
274
406
384
261
286
336
358
244
232
304
298
373
325
272
298
328
322
407
358
293
293
344
351
267
270
298
326
372
296
354
293
366
351
316
344
273
268
354
283
267
325
285
258
324
358
345
339
326
283
301
281
385
296
304
342
334
288
350
330
311
375
346
360
309
304
299
301
305
380
291
365
274
279
382
320
351
283
338
415
216
418
273
317
317
346
330
347
321
286
256
267
392
364
259
380
256
277
362
322
328
299
323
318
314
336
214
309
321
301
365
349
216
253
368
377
346
267
371
330
368
271
391
310
299
311
314
323
333
327
339
320
353
329
282
303
363
284
340
375
357
297
268
338
255
268
304
284
351
389
303
339
323
204
304
389
239
239
308
390
339
379
356
302
329
321
271
320
262
336
366
379
410
334
276
294
365
390
325
321
320
266
215
344
301
261
328
340
270
330
363
316
321
312
357
385
350
283
293
256
295
361
309
328
336
343
282
322
358
339
255
302
292
359
390
323
322
297
278
340
328
361
261
314
233
350
286
313
361
346
269
315
262
218
275
321
270
347
399
245
272
349
313
313
269
315
310
230
359
327
309
369
301
338
347
265
322
334
301
295
346
334
353
324
277
401
366
375
355
289
321
333
360
248
316
202
271
305
333
372
437
382
348
329
380
292
400
368
324
326
293
373
260
374
314
394
283
283
400
271
263
317
253
314
264
276
342
296
282
388
397
305
304
316
297
331
319
344
370
306
300
298
361
282
279
391
307
306
367
327
321
341
336
308
392
403
387
347
374
310
326
286
358
263
352
321
274
273
267
291
382
364
233
349
292
297
358
315
280
341
275
336
370
276
238
358
318
390
320
274
329
355
231
382
251
353
375
332
413
238
245
281
371
294
291
342
283
252
366
343
329
358
378
309
290
288
303
351
297
292
334
236
333
367
351
292
371
395
287
234
204
332
326
367
331
315
349
276
325
304
316
318
355
320
358
269
342
321
248
326
343
257
249
354
339
333
315
356
262
253
277
340
308
277
271
338
363
310
347
309
323
327
318
389
370
338
392
307
387
355
265
292
391
274
319
355
269
364
321
298
243
250
277
271
335
320
348
314
254
339
226
364
330
303
361
235
310
290
321
289
338
293
316
349
334
354
322
215
328
301
369
318
355
288
335
328
307
248
366
384
331
289
233
235
239
371
333
352
339
334
361
325
340
278
331
293
328
387
315
307
418
333
256
368
199
290
319
337
341
408
261
289
311
270
312
294
336
355
360
289
329
382
320
304
351
307
380
342
301
378
201
368
241
346
290
244
309
366
358
287
343
354
349
280
315
302
286
347
324
251
288
279
340
253
316
361
261
306
346
353
287
294
308
264
335
285
325
349
323
283
251
315
298
305
290
264
300
290
305
277
293
322
354
307
188
324
286
340
304
359
297
276
334
256
372
334
314
364
301
251
345
315
306
347
274
311
309
348
324
284
271
322
323
288
338
309
297
296
298
304
320
296
309
287
329
273
393
378
314
259
287
382
345
337
352
325
207
408
335
316
320
356
345
328
338
338
418
296
362
341
294
286
322
286
256
391
355
336
272
293
279
295
318
344
324
297
297
305
328
294
281
317
320
362
357
330
315
382
342
324
397
343
367
241
349
284
271
363
353
315
232
259
400
311
358
328
267
422
330
298
338
338
421
415
254
345
336
301
361
363
384
308
312
351
306
277
370
330
375
343
293
385
273
253
245
272
299
301
328
357
326
320
321
292
276
314
289
333
290
383
339
283
261
258
362
335
331
315
310
270
366
284
199
291
256
325
224
366
401
346
292
358
330
293
237
283
286
307
353
337
327
227
335
386
337
259
302
289
307
324
341
278
303
342
323
342
347
276
374
338
317
301
341
289
373
272
401
378
322
389
277
323
314
264
249
260
275
388
237
282
329
375
288
319
270
300
360
315
312
280
278
337
314
294
295
345
366
366
306
310
263
315
239
309
307
295
299
300
308
184
345
357
355
303
340
400
320
335
334
264
276
332
370
424
333
358
366
352
320
366
370
282
317
248
316
372
304
281
290
321
304
369
274
238
300
267
333
299
294
380
368
352
238
326
346
268
255
347
214
279
276
254
394
341
330
275
372
361
281
381
282
370
261
302
280
364
327
429
263
311
293
328
251
372
369
420
369
261
335
331
373
295
341
274
314
325
271
303
281
265
367
293
293
338
324
344
283
369
327
329
265
376
214
266
320
379
315
336
303
269
266
321
346
235
341
358
300
338
283
273
230
319
339
325
353
298
361
314
316
275
411
270
324
405
330
323
284
346
295
317
281
250
288
370
345
397
339
308
288
334
335
377
291
317
275
352
285
266
351
334
291
336
316
365
272
269
299
356
380
266
293
290
308
349
369
328
353
356
280
259
317
355
260
342
249
230
295
327
335
287
301
258
294
310
269
391
282
300
363
260
315
326
295
351
283
365
293
428
310
376
334
318
391
294
374
389
320
431
311
352
348
275
286
307
284
251
302
301
290
342
287
311
302
303
294
257
250
306
290
327
331
360
307
316
294
346
345
397
304
296
329
246
323
271
230
293
305
270
320
334
270
298
327
330
272
311
250
326
348
364
307
288
311
345
320
336
361
209
397
295
301
316
329
346
264
291
290
304
373
276
290
299
318
301
324
293
318
306
272
318
305
309
225
330
268
361
316
334
289
341
391
268
270
380
343
370
328
342
310
289
383
302
394
355
314
255
365
390
219
370
332
293
259
297
289
292
316
274
312
336
364
340
326
322
337
268
288
304
316
381
245
340
304
300
299
336
336
276
369
289
271
351
404
227
255
257
367
290
330
271
331
301
370
324
321
310
308
321
329
340
365
246
289
362
312
334
310
294
243
272
219
355
320
318
257
317
300
321
327
364
349
282
330
372
336
367
378
314
315
317
295
255
363
354
316
321
281
321
320
359
379
400
350
220
326
226
240
384
346
326
311
354
356
295
297
404
322
349
314
292
334
319
373
309
392
268
323
297
334
330
309
377
289
288
263
283
399
241
251
330
324
279
261
337
274
302
298
238
341
347
346
348
301
369
309
357
326
381
301
300
363
260
353
331
350
300
353
362
315
342
370
281
250
303
333
247
296
340
304
359
361
354
368
321
343
325
276
361
316
319
262
305
245
323
408
320
304
290
273
308
271
374
282
227
242
313
319
343
279
343
375
302
277
340
304
353
304
265
254
251
343
304
360
370
244
323
417
327
345
391
364
273
332
344
272
301
328
357
333
292
270
393
299
347
320
325
324
304
329
328
281
337
305
292
361
260
327
329
288
404
282
301
246
242
265
298
284
299
259
380
307
320
296
354
260
353
319
297
314
322
331
362
334
278
249
327
332
257
343
294
340
319
338
319
406
315
314
320
279
319
376
355
361
346
338
309
300
372
335
304
337
382
365
335
339
372
273
315
343
351
316
419
351
325
301
258
230
294
353
347
308
352
377
398
293
379
318
320
350
273
330
387
261
277
291
305
334
234
321
342
400
316
341
345
270
281
332
323
204
331
315
360
316
311
300
296
288
269
197
272
312
332
313
283
316
392
247
327
360
361
349
301
239
294
258
364
271
303
253
320
321
326
310
266
277
269
328
267
354
332
321
333
351
334
380
389
321
310
401
324
352
345
369
391
328
343
332
293
392
289
346
328
302
273
354
344
282
357
290
306
316
358
300
376
390
193
270
289
363
337
344
337
343
352
309
304
344
323
329
262
316
302
330
320
306
328
330
355
397
278
327
253
288
383
287
340
308
255
371
304
292
336
344
292
337
290
351
382
365
323
375
232
310
320
338
318
255
337
307
375
355
336
315
355
387
299
376
261
348
338
312
336
344
369
217
377
318
383
316
288
205
287
360
322
349
364
336
432
358
303
335
302
256
319
324
306
330
346
287
308
400
338
334
284
327
345
319
318
292
327
294
400
339
360
287
329
341
330
365
262
288
337
251
386
238
341
269
363
376
370
315
441
414
281
313
301
250
333
325
299
369
390
307
341
300
218
273
281
392
296
379
309
354
355
241
330
311
359
325
287
285
278
274
325
322
352
341
323
281
337
341
316
346
291
313
337
356
316
337
306
303
338
240
330
363
325
305
328
384
284
312
315
296
395
373
347
307
308
285
350
280
300
264
308
321
309
343
357
293
339
340
358
275
322
360
280
277
304
258
376
328
345
302
310
358
390
309
345
392
228
279
204
293
349
281
330
191
372
247
374
322
411
327
325
393
392
406
348
325
315
411
306
321
355
391
339
329
283
296
279
314
364
396
350
332
362
329
312
360
378
358
258
308
349
365
276
272
259
293
335
268
288
365
342
307
373
284
390
362
344
347
337
350
248
337
415
355
310
288
354
330
269
336
258
378
341
358
313
340
264
260
348
307
246
399
296
322
323
362
310
261
328
301
300
348
351
281
328
301
294
320
299
272
412
353
334
317
388
323
371
328
272
275
368
341
289
314
257
312
364
327
331
337
380
323
244
280
344
348
334
329
368
309
283
345
279
270
314
356
340
294
264
334
291
342
268
336
317
292
299
346
353
340
361
392
338
331
310
266
297
348
346
349
255
308
309
331
294
265
343
183
294
440
303
310
388
358
325
309
303
238
273
434
352
317
337
394
326
353
320
386
277
250
303
353
228
274
279
194
339
363
373
326
321
240
308
365
321
406
313
337
319
340
258
273
312
353
307
299
354
316
331
364
337
291
358
353
326
256
331
260
309
433
335
360
318
233
316
305
311
254
340
306
325
231
341
389
342
279
282
247
378
370
304
322
337
296
420
322
373
268
272
278
379
364
348
366
372
365
336
281
291
351
298
295
273
258
267
400
252
401
327
330
329
360
296
360
265
260
346
363
343
365
353
306
357
312
319
277
334
370
328
276
309
279
263
395
322
352
239
388
389
298
341
299
344
384
363
288
299
293
277
260
267
268
310
303
309
333
261
256
333
310
277
298
269
269
368
414
255
263
328
301
288
256
344
332
375
336
357
321
313
292
276
378
358
299
298
327
278
335
259
333
405
233
330
290
327
302
257
389
308
328
379
255
350
288
296
324
365
372
367
303
362
365
318
367
296
329
337
324
291
273
359
267
270
317
294
245
307
269
415
268
225
289
287
227
349
278
339
340
266
332
289
361
386
277
349
272
366
354
353
326
301
320
307
361
325
329
275
292
356
295
257
303
389
388
330
281
276
328
361
395
271
340
367
304
304
308
355
325
300
274
276
323
274
248
327
273
316
299
353
403
282
346
384
343
282
303
206
347
325
285
325
298
340
330
294
380
276
302
345
274
331
402
343
325
323
336
273
343
349
309
368
355
323
319
357
323
336
348
343
275
292
343
301
346
271
311
308
312
334
399
393
381
336
297
202
279
325
389
282
275
342
316
235
322
283
372
360
310
297
309
325
318
370
317
342
367
236
269
320
337
345
271
398
294
357
318
316
276
327
264
327
246
361
257
309
291
290
321
271
380
338
346
300
381
312
311
304
395
372
320
239
251
266
348
330
345
283
301
264
280
323
358
355
285
271
238
346
305
283
324
343
284
249
345
295
303
289
291
313
283
364
256
287
287
298
343
411
351
276
358
282
339
348
331
234
290
243
393
274
233
334
323
289
272
305
367
345
308
315
255
283
279
354
335
292
361
297
217
273
328
353
368
255
336
323
358
359
316
318
316
332
307
236
298
349
275
312
242
360
251
310
329
306
251
285
232
254
389
302
362
390
351
344
279
327
348
372
306
383
319
359
386
305
312
244
335
374
380
340
343
362
370
295
280
325
268
241
414
287
308
270
180
279
338
290
319
236
262
263
324
322
311
382
358
270
300
235
313
344
322
270
346
322
293
397
288
340
327
268
232
326
250
334
382
368
326
314
322
299
327
334
364
326
373
325
243
337
279
340
298
336
334
289
404
348
340
300
311
337
284
311
373
304
336
343
258
268
258
294
274
298
325
334
359
241
238
348
276
331
316
382
374
283
334
376
351
330
332
253
287
345
339
387
226
324
371
290
425
304
332
263
257
308
337
352
373
368
370
381
315
340
283
280
304
300
373
214
307
282
317
346
300
386
335
250
330
383
273
330
344
231
298
383
282
272
222
394
362
363
290
292
316
298
293
327
281
381
344
347
327
252
258
325
373
389
284
342
336
346
272
299
354
297
337
268
288
312
278
300
268
259
288
327
280
329
276
382
365
286
275
367
305
339
347
361
358
418
332
336
176
284
380
309
341
329
164
331
358
349
313
327
349
401
314
346
353
288
285
351
316
351
379
379
306
355
313
303
305
295
341
361
288
332
298
291
317
331
310
268
346
288
317
305
272
375
404
316
255
284
333
333
330
223
394
397
433
306
309
273
304
341
329
350
325
291
296
310
332
308
428
389
337
336
381
246
310
307
254
300
263
350
347
365
288
311
280
189
321
400
367
261
372
316
259
298
293
369
411
327
331
338
372
344
354
303
277
278
366
313
339
298
360
369
386
298
323
372
219
359
379
392
307
314
274
309
302
231
357
311
289
360
286
286
296
281
281
356
284
298
255
323
330
351
241
315
282
267
297
346
273
306
327
337
321
342
234
333
359
271
276
312
361
372
313
329
243
300
277
364
264
379
346
379
321
345
306
307
327
310
304
420
340
326
357
283
301
378
245
309
299
372
325
221
361
294
278
274
332
328
359
378
311
354
375
267
280
304
304
239
335
296
296
379
288
281
309
328
307
251
350
316
234
308
368
344
305
250
300
273
290
275
330
307
400
292
307
288
179
295
331
297
299
357
262
333
327
317
384
346
274
252
309
351
349
281
334
322
288
302
321
231
323
370
321
297
331
296
268
264
259
291
350
298
332
303
379
258
309
311
266
208
264
358
282
291
342
363
349
322
238
353
327
380
342
317
281
278
351
342
333
269
326
400
331
363
271
273
326
342
312
361
347
287
285
395
382
354
220
307
360
318
256
325
260
378
250
368
276
341
233
366
405
363
364
320
333
336
292
334
349
298
339
311
314
281
260
309
338
337
215
418
353
281
330
380
304
355
155
270
347
339
256
343
308
366
325
260
390
334
241
337
286
326
364
306
281
338
269
329
302
262
302
283
301
397
353
310
331
349
313
314
339
286
384
262
292
339
325
267
346
253
369
341
247
351
286
303
365
283
353
395
303
282
321
324
260
312
380
388
265
277
308
374
284
312
313
295
333
311
341
274
406
376
316
315
378
298
361
272
254
313
327
344
236
311
324
313
237
319
336
267
397
328
344
312
332
338
329
281
316
333
312
306
343
311
283
218
273
348
327
308
310
279
308
252
394
242
380
334
284
353
346
447
289
400
294
341
352
321
305
264
461
365
322
299
374
268
244
398
332
245
292
403
316
299
383
328
300
377
375
304
349
289
282
394
314
361
363
319
415
356
360
330
310
288
297
389
330
291
337
283
312
354
388
307
313
393
379
333
309
332
283
368
323
305
384
304
366
417
343
241
242
362
368
251
255
371
318
336
388
386
253
303
332
340
227
188
299
302
260
355
368
341
335
265
331
297
356
239
352
256
370
350
234
299
329
345
320
321
289
272
274
270
357
256
296
290
323
316
308
319
226
257
238
332
269
290
281
332
268
320
336
410
248
320
322
284
332
311
391
281
284
371
357
237
327
410
380
308
316
296
276
445
347
364
367
262
319
278
348
302
395
322
362
308
245
290
349
275
286
310
411
328
291
269
382
355
332
251
262
345
367
335
263
290
332
309
245
311
334
305
394
357
340
317
336
267
304
307
252
245
329
275
357
277
320
267
316
306
364
345
330
316
271
221
255
259
359
315
312
344
345
257
291
414
377
239
274
356
301
326
343
352
367
225
305
339
302
263
344
341
362
290
361
268
345
361
356
397
337
307
308
305
231
334
389
242
313
302
218
293
312
284
291
247
330
326
249
276
257
312
318
275
344
375
264
268
426
263
299
313
303
260
325
293
344
285
344
348
356
337
270
427
261
300
362
335
329
317
394
339
310
319
335
375
352
349
274
271
345
302
316
302
385
332
352
310
291
351
341
296
316
277
306
334
293
308
332
346
289
423
365
320
371
295
362
344
272
332
301
330
314
308
235
282
339
417
373
293
290
328
296
326
323
279
364
365
250
291
327
228
359
244
363
283
221
359
328
356
264
266
357
343
384
266
321
321
312
377
362
360
317
307
273
322
281
330
344
289
342
317
348
324
265
313
340
296
339
257
294
292
336
300
367
267
369
332
304
250
342
359
270
280
378
309
260
337
270
378
366
220
351
345
338
325
316
289
325
292
322
233
227
344
284
303
279
311
409
208
294
314
297
291
320
409
316
305
415
317
336
318
267
372
297
257
372
340
347
288
307
357
277
291
245
324
272
277
321
338
221
361
296
249
315
285
275
256
291
388
300
352
304
339
327
348
273
345
262
363
340
327
321
365
409
337
357
302
329
411
236
342
363
272
285
343
339
363
315
296
355
348
341
327
289
355
266
292
256
369
254
295
331
407
396
412
309
315
352
298
337
244
312
323
353
395
332
376
275
314
335
353
305
304
298
323
286
350
403
240
252
218
324
338
370
406
266
341
282
325
297
289
330
316
364
355
266
236
318
279
196
250
307
313
338
314
377
331
302
251
269
272
292
239
298
375
359
381
352
289
296
378
291
286
337
343
366
352
290
295
335
339
347
341
304
347
305
368
331
246
297
327
372
333
377
341
304
314
206
295
293
349
298
313
341
355
289
269
363
316
238
359
311
275
361
321
330
411
339
341
275
231
369
230
286
279
262
318
352
335
203
232
358
366
326
289
294
395
339
295
386
313
219
316
269
319
353
406
351
256
331
375
305
337
349
380
408
294
398
332
298
346
303
287
356
321
289
341
250
353
352
328
294
340
317
367
299
408
348
322
318
370
266
384
278
262
261
237
359
337
308
240
316
296
349
341
400
289
251
285
316
275
363
337
326
311
370
371
298
310
336
322
343
300
330
348
321
363
410
332
349
340
275
292
308
239
336
352
310
243
354
271
264
336
368
278
269
288
318
254
281
358
313
359
296
321
387
357
261
224
286
321
284
281
249
275
342
323
262
404
312
297
316
278
338
289
326
303
311
255
331
313
364
328
366
318
358
215
271
289
284
327
284
422
312
329
359
287
338
287
363
321
321
332
336
335
340
209
337
367
278
337
339
296
361
284
358
363
372
268
374
369
310
412
323
370
302
342
386
372
276
287
240
367
343
355
351
288
350
370
312
307
346
221
385
321
246
349
401
356
266
323
320
322
302
297
301
305
283
244
286
356
365
399
267
280
299
337
270
335
251
342
219
281
397
281
281
354
278
403
293
180
330
321
357
345
260
336
338
284
373
363
359
352
369
300
247
277
283
360
320
342
308
295
312
332
330
306
364
375
297
333
324
323
333
319
258
232
398
304
323
328
311
347
313
348
432
350
275
310
292
305
249
339
329
318
363
293
297
360
310
323
243
375
396
253
329
420
354
363
325
330
256
268
256
349
315
384
283
352
262
373
280
261
353
279
328
272
304
327
296
302
352
318
288
305
420
395
365
257
324
293
296
305
380
340
278
349
375
411
442
208
245
250
305
287
289
283
341
365
297
287
287
301
301
297
287
312
330
300
361
339
237
270
370
347
325
415
349
302
348
343
438
329
329
298
277
247
284
403
302
257
345
312
283
328
307
318
332
197
288
330
315
336
326
263
335
327
383
251
321
253
259
378
337
317
283
299
275
201
312
290
349
206
316
273
285
323
287
316
315
407
215
246
286
280
406
344
347
314
321
263
361
283
241
313
276
341
317
354
308
336
236
270
377
342
400
298
365
342
303
320
319
420
307
303
377
292
320
263
383
395
399
300
360
330
298
382
292
320
286
341
285
344
376
390
356
341
347
332
320
344
359
306
344
340
285
329
321
336
377
328
318
322
296
298
350
242
287
282
232
344
372
382
302
299
377
282
328
311
238
336
343
348
305
308
359
294
349
378
325
292
283
405
287
305
267
324
325
274
237
283
267
367
309
315
312
211
291
373
324
345
325
267
355
251
301
284
375
341
247
334
283
330
392
293
392
299
332
290
293
317
324
357
200
348
393
258
259
275
293
297
376
310
302
313
265
312
264
266
322
346
306
285
419
320
253
348
327
338
331
296
360
346
322
304
379
312
259
373
368
317
310
331
308
273
338
271
269
281
279
321
360
421
284
332
305
388
327
261
260
352
286
266
228
340
365
382
293
308
298
407
366
283
303
299
358
327
322
299
381
397
386
312
421
291
285
335
363
326
321
278
345
374
295
347
299
367
242
307
307
248
404
297
333
362
282
345
334
280
253
391
328
328
296
290
330
334
297
308
321
361
309
316
346
345
298
310
360
280
358
293
263
269
359
363
216
401
331
287
291
277
299
268
382
284
338
293
322
328
382
349
259
346
383
376
265
271
314
343
273
316
306
290
327
298
274
345
310
306
319
286
235
349
312
251
305
330
321
345
294
332
286
385
277
292
287
291
331
273
239
336
254
302
282
355
336
324
278
291
327
274
253
285
328
341
336
351
314
347
405
311
369
347
330
246
338
320
288
268
273
287
292
318
361
316
302
248
297
303
347
312
326
277
383
283
301
320
360
344
313
306
352
284
275
287
320
315
316
314
321
387
394
250
341
333
263
345
350
325
286
375
349
365
321
241
379
350
362
298
373
302
354
355
375
199
343
391
289
329
335
323
328
298
348
280
327
365
286
279
338
300
356
291
249
332
316
284
268
301
254
421
324
342
348
300
389
333
306
329
320
304
297
256
279
349
279
250
270
342
348
377
326
309
343
392
336
322
367
355
317
286
269
271
292
321
307
285
321
277
251
330
273
374
335
288
260
334
352
250
359
277
366
272
355
335
230
182
328
233
369
290
207
198
256
369
330
260
335
258
348
308
344
289
288
368
316
398
361
327
325
265
291
299
302
356
417
274
375
356
256
224
353
331
371
341
247
408
286
337
350
341
332
366
288
367
334
296
346
304
308
387
304
343
266
334
363
331
348
250
351
310
337
273
342
321
382
323
348
375
246
346
283
279
263
254
275
252
368
368
373
273
274
388
300
357
308
281
292
332
343
332
305
321
310
304
323
406
323
327
323
382
275
349
321
282
340
320
347
208
315
351
314
323
329
364
272
358
305
329
282
287
380
299
320
414
340
316
362
368
382
374
295
333
370
345
380
337
286
311
336
313
254
300
314
307
328
259
293
349
345
324
257
328
321
312
280
258
270
332
341
378
345
277
385
254
301
238
260
319
265
291
301
318
285
345
303
302
323
279
337
327
287
338
295
308
381
332
321
365
355
268
359
242
329
296
307
266
284
310
230
301
344
258
314
292
301
321
339
297
259
285
371
318
379
270
275
338
385
375
328
378
325
317
316
329
325
296
354
271
301
256
288
229
312
329
258
358
328
344
318
382
291
354
320
285
323
246
367
321
245
375
346
249
284
318
290
285
337
385
259
384
305
270
354
347
356
350
345
320
324
346
352
360
322
343
351
324
315
285
365
339
288
262
329
325
401
299
233
274
290
322
415
391
246
337
349
355
241
287
304
283
391
286
364
301
237
320
257
286
278
358
324
313
277
317
276
336
336
347
202
321
193
266
283
263
399
287
235
392
329
426
342
381
320
374
314
233
374
319
322
307
334
354
291
358
357
286
315
328
341
358
310
388
306
331
331
335
420
328
321
260
288
267
257
292
273
332
236
349
287
329
330
280
332
294
373
314
249
373
280
355
338
351
207
319
354
245
370
369
383
326
281
353
342
315
332
391
321
391
345
283
317
288
280
305
275
269
312
381
294
307
281
320
351
315
369
263
258
327
407
336
279
352
313
303
182
263
350
271
340
414
334
407
379
346
333
405
307
413
375
358
388
295
268
354
310
259
304
255
347
299
317
363
364
265
334
297
414
328
347
358
383
300
277
345
331
332
326
286
338
388
265
312
289
302
345
284
336
231
320
369
426
293
376
274
335
309
291
274
283
287
338
297
326
251
280
266
384
310
345
320
305
353
323
267
377
271
274
409
339
332
313
347
319
270
254
337
320
324
326
310
307
304
367
331
313
293
324
333
404
300
287
286
305
338
321
279
333
337
324
341
250
305
370
333
321
319
303
330
288
348
286
310
283
328
306
293
318
383
326
303
258
291
361
325
297
358
309
313
336
241
312
348
356
232
226
360
286
286
270
346
279
295
312
341
242
304
286
303
274
252
302
291
309
224
280
256
297
359
315
292
277
199
315
246
249
328
367
338
280
300
282
326
344
285
305
235
355
353
330
322
364
381
211
340
273
334
348
365
281
352
324
284
284
262
279
312
370
371
297
352
316
207
360
336
311
341
341
303
321
323
277
356
274
341
259
368
332
381
338
322
334
332
403
351
309
378
426
315
329
372
308
318
315
299
268
354
304
241
357
366
292
268
352
301
283
355
339
352
313
304
247
327
351
241
318
270
379
348
304
361
324
295
300
300
332
413
298
312
310
249
348
318
319
232
346
385
307
275
304
319
361
281
309
400
304
360
338
297
381
378
347
331
317
281
346
300
231
307
257
309
311
323
246
265
304
313
383
317
265
209
298
221
276
386
368
334
342
298
267
279
391
259
321
320
394
303
330
224
305
309
358
298
298
250
343
357
290
330
264
296
282
370
373
304
294
348
342
288
357
285
367
373
299
362
298
287
359
336
235
400
338
334
356
383
333
316
316
305
302
206
301
314
308
389
344
285
306
310
365
240
349
304
278
327
226
344
366
354
283
290
224
379
278
359
280
254
368
333
335
331
245
305
263
365
358
351
316
343
288
277
410
350
264
402
281
313
337
254
321
310
305
300
280
332
329
353
221
286
363
410
314
322
299
343
235
335
405
326
392
338
255
310
359
416
314
365
327
335
299
281
297
327
339
257
270
215
403
309
299
300
291
323
269
334
334
391
315
359
292
234
330
277
330
313
358
308
305
227
309
306
245
387
308
281
295
377
271
279
321
281
319
255
343
369
297
399
283
316
304
299
301
313
335
277
320
285
243
339
273
372
354
281
319
345
373
314
384
396
285
264
351
289
326
337
281
402
299
353
312
394
343
221
303
322
332
330
310
263
296
295
291
378
401
246
297
382
358
296
297
283
343
347
256
253
216
385
284
306
381
296
350
305
347
336
327
312
386
249
304
335
346
276
294
382
346
348
347
359
305
251
371
289
420
275
334
207
380
353
330
396
317
256
365
302
227
276
395
327
268
295
338
347
292
402
277
262
244
316
335
389
304
326
293
322
238
323
401
332
268
290
341
411
368
256
301
362
302
270
319
308
326
389
311
345
219
376
351
326
390
277
326
411
274
325
263
389
349
280
292
416
373
313
279
368
317
238
308
317
393
375
320
288
319
325
273
327
347
348
303
251
333
337
346
335
309
354
365
296
208
245
266
312
378
256
309
216
348
290
377
336
275
371
283
253
292
349
302
295
291
296
247
410
307
293
315
374
310
314
320
281
360
328
340
417
346
438
301
407
341
356
345
331
260
291
348
399
320
340
321
193
307
328
322
272
318
260
335
302
313
335
331
287
342
334
381
292
383
287
316
301
256
225
356
323
342
303
339
318
269
331
310
344
211
379
243
262
281
330
219
276
355
237
350
306
364
350
356
384
357
386
311
315
310
304
333
194
268
242
306
310
302
226
329
322
290
279
331
266
351
319
351
302
273
309
289
358
292
319
255
282
259
295
297
332
399
306
306
280
335
237
371
288
346
294
288
300
382
267
401
298
347
333
321
288
302
200
357
328
334
298
369
328
326
353
270
309
287
308
283
264
248
284
358
356
342
334
330
323
294
323
336
300
360
339
289
334
241
303
342
288
365
363
278
377
362
280
361
407
333
346
303
257
410
305
268
348
341
354
229
326
311
310
268
318
285
328
277
334
219
310
274
354
356
286
290
316
376
246
291
325
308
350
333
355
314
289
344
348
369
295
244
307
318
264
401
290
265
293
334
233
361
252
349
334
294
286
342
385
287
413
275
316
315
282
267
313
324
294
310
354
309
327
311
277
248
321
383
277
345
310
284
402
295
265
250
274
180
280
217
268
267
309
345
371
377
326
283
353
380
358
360
361
334
321
307
231
281
270
312
268
301
328
298
320
281
340
384
287
412
328
233
290
254
324
283
324
260
366
351
299
299
367
363
344
390
350
320
322
278
308
319
331
320
337
418
309
293
318
289
290
189
308
386
288
381
433
299
351
305
339
285
295
309
307
347
352
385
289
356
267
275
303
289
308
343
337
288
220
292
391
347
331
318
332
378
263
342
364
336
271
382
356
341
375
297
343
404
324
218
233
238
324
219
252
308
335
290
357
310
365
258
353
379
308
376
382
347
239
287
394
286
336
333
309
341
352
279
319
402
386
308
387
314
343
265
407
277
406
325
353
342
324
332
274
268
347
347
346
358
369
331
366
298
338
206
357
290
263
356
332
299
322
300
203
248
354
370
289
313
277
286
329
308
347
293
353
342
314
344
240
301
373
258
313
330
368
355
221
325
365
342
297
359
253
302
291
345
313
424
375
309
278
371
289
269
305
321
240
381
276
282
329
370
332
306
321
320
250
259
247
250
366
346
312
333
267
273
345
395
368
277
372
233
332
277
360
307
304
308
325
279
275
243
336
344
273
336
378
248
332
276
316
231
302
357
314
265
308
306
324
314
266
272
291
398
355
312
390
317
358
341
334
288
390
310
271
298
342
326
327
305
294
343
329
252
368
351
261
337
254
278
273
330
329
327
340
377
296
324
338
252
340
342
334
299
307
256
306
380
284
401
421
282
319
366
292
328
306
327
322
333
265
227
322
323
294
305
280
302
360
230
354
333
336
318
351
296
309
296
309
294
320
285
318
353
326
314
299
337
322
356
377
278
323
321
409
234
362
348
270
276
276
308
392
236
348
300
295
324
365
284
360
374
288
352
280
302
386
254
385
296
289
368
371
340
362
320
339
338
323
373
299
392
331
378
401
272
278
371
334
363
334
312
354
406
337
256
316
291
361
285
323
270
337
398
405
416
267
318
215
280
285
303
351
319
395
393
353
322
342
311
290
279
278
342
326
361
339
377
318
286
411
330
286
264
258
282
322
372
300
280
189
397
316
312
324
360
251
277
327
300
306
230
289
364
316
317
320
262
343
270
273
307
320
386
275
211
286
196
318
316
296
393
344
326
259
305
352
313
245
317
344
358
355
362
366
340
363
348
415
312
355
307
285
367
284
335
290
251
406
297
213
280
382
250
335
317
321
320
318
289
263
321
311
358
386
322
325
269
292
346
269
317
293
290
352
276
319
324
298
285
333
381
312
305
222
281
279
309
335
299
294
360
277
264
331
328
260
354
340
256
317
356
305
342
288
384
347
369
359
353
347
297
346
256
342
336
349
276
349
331
311
269
325
355
309
248
271
301
333
344
309
286
360
357
283
367
248
261
184
285
279
306
321
333
278
290
321
311
258
252
339
301
376
260
391
363
265
408
281
277
364
345
304
238
290
375
307
315
327
303
399
317
327
249
351
315
354
298
234
330
327
343
304
343
348
259
281
345
303
334
277
230
301
335
308
326
392
274
265
364
366
394
311
295
275
268
314
358
328
300
298
300
378
295
249
219
273
353
303
293
293
315
373
287
269
325
289
400
331
302
303
342
342
326
301
358
340
300
338
326
349
318
314
382
313
370
347
261
379
277
396
337
325
329
336
346
307
326
324
360
325
424
309
332
351
353
374
354
255
368
267
302
306
339
276
323
264
235
396
337
416
350
312
348
329
330
285
333
336
350
344
350
276
329
318
301
276
323
363
290
326
345
325
254
345
372
217
338
366
335
257
318
320
367
309
391
284
387
278
316
301
337
314
315
335
266
338
314
300
353
318
301
325
330
264
367
286
325
337
350
243
237
380
272
397
350
273
263
284
356
289
330
304
306
345
290
312
330
252
152
264
361
290
342
363
265
328
326
357
329
314
308
312
351
323
307
342
355
325
306
335
291
341
284
300
298
245
241
381
315
358
316
337
251
331
314
388
325
248
284
268
321
373
324
287
232
278
404
264
376
377
273
286
312
321
293
261
262
338
322
386
338
307
318
309
338
315
308
356
266
326
350
283
335
362
382
308
357
276
366
301
316
222
364
416
275
305
286
333
277
305
364
360
315
424
330
371
295
368
324
229
346
253
403
276
319
297
341
334
329
297
332
248
244
387
292
356
249
314
294
291
347
314
342
372
341
306
324
204
352
240
355
263
345
271
310
346
315
314
293
290
271
347
400
210
301
293
305
291
331
276
340
339
322
247
347
352
406
207
305
299
428
354
269
326
344
325
299
314
303
349
379
326
254
330
348
308
304
328
308
252
270
371
284
360
363
296
343
375
269
304
315
263
318
296
391
309
274
456
335
387
335
332
347
321
316
324
239
291
309
356
285
312
217
324
276
340
282
264
350
427
408
288
293
292
351
226
240
319
221
250
287
364
302
316
307
253
363
373
243
339
328
338
346
361
294
335
185
381
366
325
335
257
299
329
316
374
296
385
352
271
279
349
282
307
358
338
347
320
247
363
307
272
355
353
303
372
373
289
337
282
289
324
279
269
346
268
293
272
302
240
283
393
297
307
294
299
241
258
252
252
311
346
340
386
374
334
324
294
276
428
249
233
285
314
327
288
293
311
273
351
284
285
346
336
352
394
344
391
340
375
362
292
373
294
352
300
291
340
345
262
266
308
254
266
262
290
368
372
252
369
283
293
324
363
249
250
297
314
330
375
265
284
256
295
361
266
254
361
281
320
386
341
281
216
350
279
342
218
334
247
282
368
364
342
345
250
345
283
315
313
298
337
256
297
317
330
405
260
318
272
314
341
303
349
298
274
228
296
250
302
373
351
355
351
296
278
317
236
326
314
399
320
335
266
257
336
224
373
291
368
347
309
363
362
339
236
310
304
354
350
353
316
361
303
299
342
343
369
316
258
330
372
354
329
350
288
380
364
290
247
276
252
359
375
260
340
307
335
308
360
298
279
284
329
291
300
316
306
248
313
325
346
385
351
318
286
358
348
290
331
337
393
302
276
245
247
346
350
324
362
325
252
304
285
296
377
413
291
271
336
302
294
317
331
296
235
334
369
337
308
361
300
374
351
262
271
337
292
290
323
297
345
315
374
333
349
232
309
386
293
223
280
325
320
283
260
321
255
356
286
314
298
264
358
199
342
310
258
306
324
289
267
300
393
295
351
379
284
294
329
257
377
346
240
334
298
346
321
312
310
353
307
320
330
272
367
310
273
305
348
383
363
340
254
281
241
285
301
354
322
344
337
362
294
313
323
304
295
354
371
276
365
316
300
311
358
302
298
313
320
319
325
448
333
247
306
351
347
345
311
279
315
292
339
305
271
273
319
373
268
326
319
379
375
294
307
321
273
360
233
372
360
307
213
218
349
208
319
375
372
319
236
297
333
345
295
333
341
290
269
282
322
308
279
209
301
318
331
378
354
324
370
347
348
353
295
309
344
333
406
285
306
292
343
368
355
312
322
262
268
343
328
352
275
275
358
275
340
311
277
337
272
315
342
254
279
323
268
254
344
208
371
280
350
254
281
395
365
261
301
336
325
310
298
289
271
312
285
330
332
341
353
295
323
339
299
393
338
304
225
342
364
319
285
307
325
323
279
312
315
378
242
282
266
285
388
334
360
364
311
291
330
267
296
379
350
251
333
310
357
259
315
348
387
293
332
398
359
303
322
275
359
355
329
217
361
308
351
380
306
354
252
332
321
347
363
305
279
252
212
392
353
299
356
193
315
381
251
295
381
349
320
348
332
291
341
360
300
356
267
273
381
293
290
229
325
234
293
297
349
329
388
273
252
317
330
247
326
397
325
300
343
372
311
249
272
343
344
327
353
233
368
355
343
289
378
330
339
358
307
318
287
339
259
306
301
324
378
297
305
334
301
293
336
290
385
316
317
295
346
288
280
298
293
258
349
336
341
330
343
331
400
353
397
269
388
328
287
292
335
210
303
343
311
401
290
347
310
292
304
221
295
316
304
364
312
349
288
394
337
327
319
322
226
295
250
383
284
247
319
370
342
306
258
310
330
239
340
356
365
270
324
329
243
326
250
405
236
293
381
350
275
384
297
321
251
356
346
255
302
240
322
262
351
351
296
249
342
242
306
271
337
307
337
314
316
324
335
297
273
306
294
369
386
336
296
332
329
353
349
327
283
266
304
331
322
376
376
376
284
312
367
432
360
361
274
297
341
325
280
320
303
396
295
347
223
302
375
363
376
330
373
360
295
344
328
322
326
268
275
356
357
286
263
370
309
361
216
298
304
314
308
321
263
407
407
374
288
264
299
324
362
275
332
279
369
330
347
363
323
337
301
333
316
370
345
232
310
388
315
288
340
327
360
241
365
361
237
347
266
382
315
359
325
285
249
307
333
301
363
362
305
324
302
323
378
319
328
301
364
323
301
315
258
284
345
254
292
289
348
391
328
306
346
318
357
380
359
328
251
281
396
354
250
310
243
276
351
335
246
278
354
324
348
374
340
285
314
256
320
361
296
310
309
230
292
283
327
325
354
305
278
310
340
279
370
275
309
331
311
322
345
357
330
353
317
322
308
261
263
265
326
336
350
268
354
386
330
233
301
303
377
260
290
323
315
276
372
368
376
366
378
359
338
229
305
327
304
285
311
334
421
376
271
381
324
236
275
338
293
328
341
275
290
366
370
309
322
297
372
357
308
282
332
209
317
382
323
256
241
343
325
417
229
228
321
230
397
370
330
352
334
315
287
308
394
313
203
369
269
256
305
384
263
284
318
366
323
389
306
275
353
352
346
393
269
308
362
322
349
284
340
323
332
291
400
267
324
377
351
389
325
327
318
309
258
317
366
283
253
336
322
263
381
287
311
344
310
323
332
287
270
336
339
374
394
292
339
344
336
299
222
303
338
261
349
347
405
328
216
314
345
246
222
324
235
333
313
345
331
368
295
404
299
313
276
354
341
247
275
339
305
265
362
365
324
312
278
322
320
251
257
235
358
336
339
290
324
262
254
343
330
328
380
286
229
331
322
321
408
360
296
380
319
373
341
341
246
448
323
282
295
314
320
285
380
332
233
335
325
288
256
321
294
339
325
304
389
286
349
310
297
340
241
271
329
219
348
283
300
284
352
252
226
334
310
344
335
279
322
356
351
289
394
311
316
384
295
206
383
298
278
298
310
245
306
246
350
388
335
332
330
316
314
342
251
350
301
297
303
359
262
271
361
263
280
352
251
294
323
283
335
278
242
317
327
315
342
339
288
312
301
307
261
351
357
238
324
275
291
333
369
402
378
249
426
277
361
337
346
300
392
300
308
393
385
350
297
372
363
289
264
390
187
395
269
397
323
257
303
268
419
368
283
356
239
275
348
354
289
318
320
380
409
285
381
315
278
290
414
352
340
356
305
286
343
317
327
383
365
369
332
376
297
344
263
322
371
260
367
355
309
344
327
340
336
271
338
326
311
274
262
387
382
383
354
302
239
290
371
297
326
297
382
311
251
402
356
418
262
272
303
270
284
367
345
310
318
310
322
358
336
245
287
298
368
294
240
298
278
287
413
275
292
311
375
378
293
315
395
299
352
309
342
250
307
352
294
335
376
229
306
380
380
295
307
319
395
304
310
286
330
285
260
333
275
265
203
309
230
332
266
310
334
316
260
296
347
337
336
326
272
348
349
288
374
367
353
278
313
282
313
411
353
340
333
336
363
271
324
289
322
314
302
277
306
260
265
335
328
335
308
403
371
206
274
287
299
320
311
283
275
298
399
276
168
388
351
373
318
363
332
297
400
364
263
332
326
342
379
300
326
336
268
401
294
307
331
378
334
275
318
239
317
284
325
362
302
311
274
349
323
353
337
399
288
330
176
227
343
322
287
303
345
368
337
295
341
270
357
330
366
269
351
337
313
243
383
374
311
352
336
305
371
223
347
254
285
276
349
358
289
335
295
290
289
311
419
260
350
285
320
280
280
323
312
291
327
350
348
322
360
316
334
240
343
384
256
325
264
370
383
352
350
313
331
308
359
295
342
356
332
323
384
347
400
274
346
318
349
316
321
342
359
355
348
274
327
355
369
338
300
335
346
376
381
293
355
338
425
323
333
291
352
275
324
322
329
295
364
359
336
254
310
276
228
392
302
321
354
312
315
293
253
312
292
295
285
292
385
362
235
376
301
275
276
292
353
286
381
287
292
292
303
323
311
370
348
306
337
353
281
378
245
339
352
244
341
308
291
293
342
302
410
282
309
308
367
292
205
353
254
295
270
399
291
287
317
341
289
274
352
349
334
287
400
303
345
296
386
290
308
305
278
304
342
306
305
425
308
227
349
331
289
323
287
330
309
324
346
303
337
301
333
312
280
323
302
354
310
308
282
311
375
340
343
302
322
301
282
318
305
283
335
322
398
309
269
233
331
343
247
344
296
262
294
315
370
353
286
313
394
405
320
348
279
343
318
330
299
291
234
377
374
335
318
306
291
319
272
337
291
306
312
326
305
221
199
387
347
307
304
339
240
395
362
333
272
341
228
337
314
244
320
331
349
277
319
378
322
299
326
243
288
360
329
329
315
379
304
291
268
304
314
319
338
320
353
299
319
289
347
258
359
279
314
238
277
321
292
266
326
394
350
319
332
268
337
333
207
308
335
313
310
341
282
356
246
384
336
268
287
366
394
326
295
370
334
299
287
277
305
344
235
356
311
395
299
424
287
350
293
363
388
262
280
281
343
324
283
338
252
280
306
403
252
302
288
304
302
296
329
333
318
320
299
313
366
380
278
319
373
291
291
310
282
311
299
351
377
296
311
231
346
328
340
316
349
262
282
294
312
197
346
265
340
319
281
291
289
339
321
313
349
278
327
268
241
279
338
231
350
360
341
282
298
322
365
307
325
289
292
365
340
281
263
328
346
328
339
227
313
347
292
327
315
253
365
281
317
328
413
330
317
341
372
350
294
322
307
299
225
319
324
297
268
295
309
296
305
384
251
232
283
325
377
338
347
261
347
299
350
391
326
270
270
367
362
316
386
375
198
283
348
226
323
287
267
323
314
311
308
303
239
283
278
228
329
262
315
298
290
335
426
393
320
296
300
292
314
223
355
358
344
318
285
228
289
342
345
299
286
324
321
334
381
316
295
313
320
397
290
292
323
271
290
320
267
275
283
323
294
295
310
296
388
319
335
367
210
403
281
351
321
230
345
229
347
299
371
377
284
321
323
390
326
299
307
266
352
241
271
324
388
272
303
389
349
286
271
343
333
376
242
350
256
333
341
258
334
414
310
327
288
315
397
296
306
386
325
288
357
260
372
303
340
304
383
288
334
250
267
418
310
320
225
275
283
306
337
338
331
334
349
360
337
351
312
396
403
238
217
346
327
377
282
259
360
299
331
316
301
379
347
319
335
311
303
314
242
343
370
281
312
313
271
282
308
323
206
372
288
338
289
301
300
323
341
287
342
256
327
306
337
244
396
299
304
296
253
269
231
315
369
273
317
315
359
290
368
317
300
333
313
352
299
378
350
228
263
382
247
333
231
244
281
283
290
375
355
389
263
238
270
365
378
341
333
365
205
354
282
273
276
362
266
338
283
342
352
381
295
344
267
290
291
340
335
317
284
355
363
291
296
279
361
245
281
301
258
320
337
259
309
314
341
267
329
304
383
339
291
313
297
356
372
314
304
373
305
347
271
325
262
318
323
341
286
313
325
347
256
369
352
249
303
304
310
378
227
411
343
329
373
330
344
286
314
258
357
379
286
307
252
366
319
328
342
345
320
323
313
434
309
319
299
294
306
252
340
280
270
280
361
234
392
302
381
282
354
310
351
344
274
294
328
277
335
320
353
269
242
386
333
348
321
349
350
302
309
291
283
360
350
324
342
301
333
350
348
334
377
336
331
323
389
353
346
312
309
326
360
273
340
298
290
328
318
289
245
359
339
334
277
313
370
371
325
308
310
310
263
340
350
377
393
344
301
322
284
344
244
303
272
328
339
267
280
282
326
348
285
261
340
234
305
269
241
332
416
289
421
262
347
343
371
266
314
351
310
306
319
352
301
289
253
287
264
310
301
299
363
263
300
307
341
327
358
297
370
280
357
296
282
239
322
264
299
433
252
282
302
265
307
296
386
333
325
296
384
268
310
318
312
272
322
337
358
344
324
245
361
257
251
367
362
372
350
309
293
361
302
325
329
384
311
380
383
343
291
355
289
336
384
316
334
264
300
255
324
263
284
269
287
277
339
347
312
317
373
247
286
333
304
300
267
343
366
320
299
270
332
225
324
416
401
362
261
282
235
315
235
434
349
301
376
320
329
289
287
328
365
276
308
338
354
361
346
322
406
343
287
340
260
350
345
339
298
344
280
338
340
278
252
301
286
330
257
338
371
264
317
332
450
339
279
333
307
273
386
343
288
278
279
305
216
308
251
307
327
262
324
362
262
344
332
282
254
351
386
341
337
358
323
331
311
353
330
317
337
306
253
349
232
328
277
374
357
331
368
303
261
293
320
340
326
393
294
287
328
241
245
303
253
223
328
285
354
316
312
274
312
399
251
390
268
292
296
317
229
265
274
358
333
348
294
396
289
279
349
304
371
365
342
286
334
318
335
310
310
301
392
243
225
338
341
349
381
328
331
359
310
333
342
369
317
290
337
355
342
322
316
359
349
232
302
371
342
342
284
413
313
366
307
342
313
289
360
291
334
269
337
316
233
358
343
286
302
335
288
389
286
360
319
369
273
321
290
236
308
320
305
355
299
305
318
264
331
223
356
272
300
298
303
342
302
261
268
307
383
341
310
355
348
328
297
370
366
358
288
363
332
289
277
281
294
334
291
262
289
363
340
320
247
296
283
236
359
256
347
277
254
269
275
238
346
303
324
307
285
262
263
269
251
271
333
282
299
326
325
296
355
321
274
310
343
346
353
295
257
353
280
336
333
329
233
348
340
410
295
285
345
339
380
347
264
215
331
362
285
218
342
375
324
314
265
268
337
341
409
300
388
284
367
340
342
243
323
332
383
285
284
339
324
297
218
380
269
256
340
270
313
328
289
258
343
301
378
387
336
355
339
285
341
314
316
303
382
279
340
345
232
287
403
261
338
288
313
240
354
345
314
345
342
368
252
385
298
271
325
354
334
293
384
306
319
289
302
346
244
209
344
298
274
372
392
303
314
274
331
350
335
211
346
298
288
357
379
315
348
311
362
284
398
332
330
334
284
328
310
330
325
334
284
274
290
347
313
291
296
282
354
327
351
316
358
354
293
339
366
281
301
345
337
288
339
332
265
293
380
261
291
308
322
310
370
258
356
233
321
345
305
385
267
344
393
217
285
383
339
250
279
354
294
332
370
334
361
261
295
305
265
347
154
260
224
357
359
322
304
272
397
345
337
284
259
320
358
397
313
403
332
324
301
288
305
402
360
368
294
318
350
313
312
281
328
208
378
270
349
259
316
288
358
327
209
386
331
337
344
300
279
338
224
321
274
288
276
363
325
253
320
298
290
299
332
329
347
350
351
361
335
360
251
302
343
334
292
390
345
357
277
313
337
355
270
266
368
257
334
295
344
346
308
319
364
356
330
347
396
325
257
316
316
371
339
393
342
330
338
352
400
312
386
392
307
184
369
353
336
259
342
364
321
269
294
326
349
326
348
335
297
281
355
378
267
238
243
281
360
321
267
308
236
307
248
248
277
251
343
300
372
296
248
277
331
325
245
312
373
256
332
287
285
301
388
255
287
250
249
343
366
306
212
317
231
341
362
349
333
274
389
313
354
262
336
354
284
358
368
363
339
310
355
234
286
281
402
351
252
337
259
315
304
355
281
293
356
346
302
362
339
285
241
356
334
369
331
283
357
337
281
395
289
353
299
291
358
328
276
287
364
304
290
381
206
328
380
249
307
350
347
313
314
306
289
332
260
324
324
377
293
320
430
281
306
246
306
384
363
333
203
280
274
359
297
293
325
387
251
231
304
332
327
297
333
291
239
381
274
211
320
272
303
252
323
304
407
352
327
324
248
366
348
326
357
309
283
202
326
314
366
211
281
400
380
265
261
298
321
236
315
407
304
338
380
324
390
258
314
326
307
343
309
295
286
372
295
304
307
295
286
194
327
342
364
405
287
362
354
399
324
329
346
341
376
363
270
291
334
267
311
299
281
250
314
204
244
256
355
288
299
248
312
202
290
333
280
295
333
372
313
341
321
262
300
326
312
336
332
260
371
351
380
323
282
304
234
306
333
332
365
319
325
319
257
350
268
333
272
364
309
270
260
308
361
340
411
362
264
348
400
230
401
375
283
255
373
272
263
313
331
259
327
396
323
321
307
387
297
310
300
289
267
255
305
356
300
351
334
342
336
379
311
339
363
254
377
252
264
339
340
324
279
348
326
268
347
345
333
319
295
303
306
349
321
323
355
359
290
315
236
306
405
342
322
319
308
363
313
355
353
346
371
332
369
285
348
409
329
293
293
266
298
305
275
285
268
265
334
300
382
301
326
363
365
313
359
307
322
343
295
362
280
301
246
309
301
291
331
342
246
262
373
309
308
350
297
417
309
375
310
316
304
295
351
353
340
337
278
338
341
372
306
369
313
328
219
314
378
298
333
333
293
320
347
377
335
332
316
249
297
355
362
267
355
351
295
304
321
311
344
299
363
311
283
265
273
423
334
290
357
295
314
393
355
350
244
289
332
360
325
391
278
326
256
375
304
347
322
324
285
334
277
326
269
263
355
293
351
329
323
262
294
275
334
402
341
319
314
337
239
356
250
367
315
303
392
381
303
417
390
315
273
250
332
251
338
242
271
351
265
210
289
362
303
346
331
275
273
288
358
303
238
337
325
406
327
336
318
242
285
322
355
315
267
319
331
363
288
273
351
233
291
314
319
277
254
254
325
319
315
364
342
356
373
361
379
296
344
330
270
365
351
394
273
337
306
335
323
351
402
322
278
358
322
303
408
319
290
428
301
341
350
294
253
334
359
373
366
446
283
259
310
431
342
333
270
289
326
307
360
293
235
305
286
299
274
386
353
404
302
182
317
311
288
336
254
407
374
356
266
304
336
160
298
330
351
329
330
356
307
331
304
350
325
317
268
332
293
316
331
280
328
272
328
279
258
339
337
387
261
294
335
269
237
378
370
287
281
355
360
331
340
292
332
184
320
283
286
286
256
425
269
305
395
390
293
322
292
374
320
316
326
326
255
306
343
292
297
329
327
245
289
331
237
376
315
316
358
386
382
311
257
317
252
254
334
343
283
318
337
334
295
308
371
361
267
379
373
258
274
347
348
293
278
232
262
302
358
296
314
271
358
277
299
315
250
298
262
354
333
284
359
364
371
293
389
328
330
376
252
313
292
364
326
294
377
358
350
333
263
245
340
382
282
267
342
271
296
237
365
378
267
240
383
260
302
321
264
425
326
415
292
266
329
232
240
321
298
328
295
262
348
298
305
351
271
296
406
356
328
279
297
336
302
399
254
367
381
314
285
380
297
345
282
332
327
363
291
297
352
297
264
313
306
369
320
254
343
346
331
322
372
296
384
323
307
317
257
317
335
306
365
295
339
280
347
358
334
299
320
277
293
311
284
326
368
298
359
286
257
316
409
369
239
258
320
251
350
296
315
291
256
320
283
310
297
352
290
353
319
321
398
330
261
373
322
364
339
372
307
336
310
286
253
317
327
389
261
392
335
299
290
366
283
233
373
283
326
306
268
353
243
333
292
363
358
370
299
302
281
373
281
332
324
320
312
354
369
360
389
265
341
297
293
339
348
264
272
304
344
257
318
321
333
286
377
341
346
303
422
302
294
269
378
350
342
305
333
328
285
326
299
395
291
308
314
275
254
337
287
310
291
303
304
340
342
288
300
311
254
242
293
340
322
381
338
363
271
343
339
325
269
291
304
276
372
372
304
312
322
412
250
303
273
245
310
307
238
339
272
333
346
324
308
257
372
329
254
330
326
362
282
324
372
358
430
366
327
286
304
350
339
306
310
314
367
441
334
334
255
312
252
248
263
324
328
321
254
249
280
319
301
285
302
362
342
349
268
273
357
348
353
341
311
339
283
286
334
319
294
268
370
370
274
316
370
269
371
271
360
386
337
290
305
299
293
310
390
301
327
287
318
359
324
331
307
333
346
333
267
228
289
309
370
297
339
330
323
299
300
337
345
338
276
316
341
286
268
310
346
340
269
306
275
317
288
373
323
333
318
291
391
236
296
342
223
261
337
322
295
323
373
298
343
270
221
397
322
362
390
220
395
304
271
313
298
313
350
270
361
213
294
375
324
298
362
282
353
268
414
319
421
345
325
265
278
307
259
267
332
342
358
305
337
341
355
289
313
300
414
268
362
361
353
381
339
335
278
309
402
340
376
290
356
300
210
337
305
356
300
273
321
321
357
295
260
297
360
266
281
325
381
265
360
403
304
368
326
358
311
310
327
231
366
345
325
366
313
332
310
281
312
294
371
330
311
330
235
326
268
285
315
389
326
340
305
372
313
371
323
381
230
287
345
350
337
337
299
354
202
364
354
312
287
263
274
317
397
300
318
369
222
278
279
339
330
321
311
313
371
346
317
224
172
296
347
276
365
247
301
287
326
272
371
280
369
276
275
258
329
293
299
337
298
285
337
268
333
360
283
374
344
275
286
350
285
348
315
357
250
352
258
276
311
250
380
313
353
331
294
421
344
276
307
304
313
316
272
392
276
312
318
371
374
293
322
271
258
259
311
280
400
298
286
347
358
224
308
295
326
250
325
377
345
247
306
270
310
366
346
315
324
267
381
305
296
341
257
264
328
334
229
261
333
343
298
230
292
403
409
344
397
337
336
292
322
370
374
320
300
308
309
303
314
255
323
388
258
374
204
370
287
256
288
276
378
285
341
294
288
228
305
389
313
320
213
330
344
317
364
345
362
392
360
335
336
280
326
289
313
382
356
360
413
375
312
325
426
372
255
336
232
332
246
308
353
290
392
327
396
342
346
346
306
277
312
419
330
325
332
272
346
303
300
400
317
343
385
385
278
301
367
357
359
379
261
328
209
317
313
332
350
259
336
379
302
355
313
279
289
245
342
287
365
375
337
317
397
310
391
399
276
284
317
362
363
277
378
362
296
264
245
315
381
347
383
209
315
369
300
363
298
365
343
309
330
411
265
257
387
389
415
287
261
315
264
322
258
292
357
292
308
300
387
217
227
273
369
427
224
291
375
381
305
251
260
300
333
339
313
359
304
232
418
337
373
264
339
347
289
288
262
297
344
299
346
288
337
276
259
292
341
291
270
305
325
329
313
291
368
375
263
342
241
376
349
349
253
347
344
376
308
254
322
273
300
389
278
288
340
348
304
409
306
389
290
281
327
357
228
368
320
360
255
317
375
316
234
345
327
341
349
320
355
256
311
270
312
320
267
258
332
372
306
393
352
335
335
359
262
364
314
315
295
300
337
267
302
290
337
317
334
314
360
324
369
311
289
304
420
300
325
304
260
377
285
291
308
280
311
394
307
252
269
309
369
301
307
404
347
305
361
345
395
299
336
293
371
234
356
354
351
329
381
326
349
316
289
326
259
312
355
233
241
298
257
231
331
342
258
337
369
348
272
335
357
286
349
322
303
353
314
280
388
348
288
234
278
317
363
354
281
309
320
236
312
240
371
309
283
391
329
372
363
346
388
329
387
368
285
328
261
333
263
351
228
256
343
240
312
261
258
316
244
305
246
341
296
268
309
290
329
324
390
267
330
249
340
353
289
368
362
247
289
233
306
346
389
345
287
306
376
281
320
364
199
417
294
318
324
342
313
358
332
187
238
319
318
272
379
299
320
365
246
314
328
347
374
321
358
333
289
399
263
345
338
366
375
337
285
389
334
250
365
330
252
320
347
279
392
291
293
267
287
345
386
348
326
308
255
307
282
290
305
307
312
344
313
280
305
318
278
296
185
312
321
333
347
444
362
332
284
274
381
331
289
296
219
343
342
252
298
397
375
397
367
359
317
289
304
325
302
275
320
394
285
314
244
359
273
245
329
342
367
387
299
229
370
306
224
390
244
365
263
296
308
311
309
342
381
338
346
367
319
415
244
228
319
299
320
322
307
380
344
269
346
356
277
298
279
301
262
222
345
297
238
323
310
247
361
325
294
331
296
362
337
338
230
339
379
342
370
317
320
281
360
294
353
352
275
287
343
368
323
313
312
346
331
342
337
263
316
370
340
346
371
355
317
310
348
336
288
362
311
377
313
241
333
245
357
288
351
332
267
234
318
239
341
359
313
396
309
369
250
327
354
358
278
282
302
296
311
306
311
341
415
284
311
274
302
394
296
409
350
334
371
292
332
312
297
422
302
227
259
284
367
347
291
272
286
303
306
369
286
328
302
316
344
309
246
315
303
335
295
249
251
350
383
247
239
333
328
291
286
282
279
340
229
312
233
415
329
287
313
347
330
280
277
297
282
282
387
366
325
380
337
350
335
349
308
292
357
252
363
399
367
396
324
360
404
282
368
311
251
300
339
266
312
359
277
327
262
317
280
290
314
330
319
329
301
355
297
346
273
272
215
320
448
315
381
348
266
300
345
335
299
332
303
285
295
370
239
335
304
358
320
344
303
322
327
305
345
345
327
455
333
363
333
365
369
317
307
252
336
315
362
335
330
364
302
360
356
286
314
360
364
299
333
387
396
330
385
355
350
196
333
357
282
296
375
269
314
270
344
377
322
299
282
344
295
290
359
356
376
291
327
409
345
281
351
324
349
404
352
333
325
312
324
320
321
387
285
258
407
263
323
340
346
318
328
346
334
285
410
357
287
341
348
325
313
317
312
311
271
229
318
299
332
293
393
295
346
295
257
332
294
306
325
352
335
303
308
353
334
360
320
326
278
339
379
328
306
373
327
278
305
283
382
284
399
400
346
368
353
357
310
302
272
338
366
240
248
239
327
303
351
333
350
396
276
316
297
317
259
378
277
275
273
354
275
348
299
325
293
343
280
307
328
308
369
334
351
344
329
284
352
333
308
229
334
299
317
259
297
326
267
315
263
407
331
350
351
352
264
311
274
355
291
204
385
269
301
368
269
287
259
362
299
382
309
303
259
314
366
313
345
328
348
286
241
352
267
280
417
341
258
321
368
268
297
292
375
250
317
276
247
358
320
266
341
284
292
340
259
296
274
329
363
303
301
366
416
337
257
373
319
350
248
332
307
376
282
298
308
336
348
291
355
300
296
370
314
417
313
318
357
266
257
376
305
356
215
253
339
289
236
267
289
213
316
347
279
316
334
269
274
293
366
380
323
328
404
360
339
352
344
330
289
297
329
277
323
372
329
257
275
337
344
345
350
352
373
337
346
292
358
328
285
365
264
275
302
328
312
376
384
244
342
354
320
254
267
305
360
378
287
290
249
253
345
272
385
372
319
355
354
275
381
381
353
310
256
271
361
321
270
292
293
311
277
250
275
289
335
262
339
410
323
299
336
349
256
324
274
328
373
199
286
345
380
334
313
346
330
272
319
329
321
358
305
270
343
305
308
326
337
321
360
309
385
372
329
292
334
320
329
323
309
314
335
308
332
364
322
269
295
247
318
323
323
272
271
447
336
320
291
293
317
320
339
306
325
268
300
405
324
357
292
304
321
242
312
272
315
287
289
330
279
357
367
248
367
277
300
292
351
319
302
320
350
314
329
312
396
337
326
317
401
358
307
328
252
340
276
295
407
241
302
290
302
317
304
322
419
406
331
346
216
271
406
332
319
310
329
267
271
311
298
360
369
315
412
349
261
219
280
421
292
324
378
268
348
309
365
337
230
309
332
259
234
391
351
222
315
313
289
281
369
331
357
354
249
326
227
313
334
326
327
313
301
360
378
299
328
367
271
288
227
374
365
258
293
366
267
307
369
289
213
302
318
298
356
357
223
267
323
306
360
298
355
349
449
360
292
367
304
314
284
345
376
329
244
267
255
292
220
272
260
273
263
389
358
239
349
262
362
311
319
277
398
352
320
361
311
283
296
284
325
341
356
379
293
356
317
306
300
364
287
320
301
339
351
321
336
317
300
329
314
371
306
336
253
267
335
323
303
307
298
392
264
308
316
298
317
402
342
380
433
291
340
267
291
286
247
266
321
445
337
240
372
358
352
265
220
305
359
268
317
325
409
321
253
280
375
313
349
299
278
320
300
325
336
436
285
348
331
321
252
314
292
345
286
346
376
307
313
300
328
280
326
261
403
272
322
367
446
283
333
374
337
397
299
447
250
322
287
283
316
321
312
341
296
388
294
323
311
209
295
362
387
308
298
279
318
347
276
354
386
241
292
347
327
377
289
343
300
359
373
366
351
330
306
355
282
319
326
401
303
327
394
363
315
284
314
329
364
368
287
378
325
329
261
415
343
300
344
285
261
297
321
289
355
321
245
353
367
251
380
247
370
307
353
273
274
337
363
289
255
370
331
340
289
331
375
292
294
251
345
345
304
267
372
318
409
300
353
277
387
277
418
267
267
250
348
390
285
317
233
383
319
291
279
330
264
234
299
286
293
341
325
354
345
263
295
365
330
343
319
343
370
295
284
312
332
286
354
349
199
308
280
305
330
332
277
250
217
340
221
322
233
348
345
289
277
315
342
295
359
359
327
275
365
349
345
375
327
308
246
249
323
288
311
262
250
272
280
334
311
363
339
282
254
302
323
336
361
320
345
373
253
237
315
412
377
352
309
344
283
261
378
326
363
296
374
296
298
308
348
323
384
341
356
303
289
336
340
344
333
302
344
339
199
363
370
330
311
298
364
312
375
301
346
291
307
331
344
289
362
410
234
323
287
315
329
295
308
296
268
361
330
331
344
331
281
268
350
325
318
416
286
273
307
309
298
353
386
386
217
385
390
290
283
336
236
278
271
331
317
300
302
339
346
369
334
282
412
352
359
244
336
362
297
232
285
284
383
214
274
328
305
323
379
332
315
270
339
256
293
218
323
246
281
250
338
344
302
344
315
229
275
308
261
343
348
270
295
372
333
304
249
292
343
374
396
320
358
297
302
277
334
325
314
348
292
391
257
354
316
424
356
256
278
341
290
349
359
268
351
340
311
298
255
290
258
376
280
370
342
301
331
283
288
337
302
291
382
317
348
259
359
315
369
275
295
348
294
314
329
339
303
354
314
347
257
255
288
406
374
327
296
294
296
244
322
299
320
383
315
341
282
358
302
378
329
282
352
320
316
343
305
283
310
294
299
330
301
279
321
280
410
335
192
285
345
313
299
252
321
366
321
272
303
308
268
292
297
275
319
364
293
395
419
374
309
358
344
373
298
256
368
308
325
324
343
301
242
351
233
237
291
330
286
293
299
335
275
274
258
208
372
229
228
354
273
212
278
354
275
336
342
272
276
361
317
316
380
323
371
282
336
347
316
297
369
395
297
356
297
324
340
330
283
296
294
284
282
241
333
228
226
342
372
284
320
266
286
303
329
359
299
337
244
376
307
273
389
262
273
379
323
231
329
352
348
234
381
373
375
312
348
266
363
285
292
331
311
271
269
313
352
280
335
272
324
307
334
407
378
300
278
294
248
355
338
337
358
333
357
255
314
328
406
295
320
330
241
270
314
293
257
422
228
241
295
233
373
228
356
269
299
372
308
399
237
298
348
302
353
377
307
370
403
343
354
235
303
259
378
390
328
378
267
404
323
315
306
385
298
346
289
312
288
334
335
303
373
298
363
274
271
284
297
386
360
285
359
275
339
338
374
430
358
384
329
317
348
344
348
349
274
360
326
295
326
332
233
343
446
318
335
307
283
330
321
318
318
261
326
409
397
343
374
312
326
324
283
365
289
213
280
288
233
386
410
344
286
299
310
355
335
366
386
280
326
356
344
339
384
347
348
355
359
269
294
286
328
366
319
297
317
398
328
239
363
234
401
311
327
369
305
314
349
320
224
281
351
345
313
200
279
323
349
284
202
324
347
318
358
363
255
308
383
306
234
299
317
378
357
332
356
319
278
295
264
211
245
311
372
257
302
280
326
342
241
284
291
268
353
332
353
292
303
259
244
344
246
419
318
377
289
255
337
362
345
340
270
347
318
265
335
338
320
258
332
360
329
261
289
356
343
260
303
255
303
272
327
297
359
327
338
399
364
284
334
322
367
254
343
357
327
313
272
275
377
273
336
352
300
311
334
374
374
349
260
369
330
334
329
284
339
321
268
237
259
264
347
286
235
281
349
344
321
333
312
349
234
332
406
332
344
260
344
383
296
326
306
344
274
272
267
319
322
283
266
311
314
260
274
293
292
315
288
330
363
365
286
246
296
312
377
355
288
387
325
315
277
297
317
285
378
284
313
342
244
388
331
254
323
355
250
324
278
299
310
423
303
348
327
285
293
303
355
244
292
329
355
324
305
402
315
316
320
323
292
294
348
304
336
316
322
328
442
361
359
275
281
272
258
353
336
272
433
273
274
290
294
249
322
318
397
322
388
330
353
340
363
340
393
326
262
336
282
319
220
295
280
215
297
295
339
373
311
325
367
332
393
298
411
290
317
239
277
252
351
304
324
343
288
291
286
388
338
232
423
265
249
277
285
334
305
349
358
323
275
308
359
332
335
250
333
296
307
414
349
356
308
303
382
322
329
367
326
296
271
222
335
355
321
336
319
274
281
289
382
334
320
233
270
303
347
294
324
331
296
313
263
415
366
264
236
320
333
300
387
241
301
349
274
240
370
347
211
273
410
237
287
280
225
317
332
361
210
347
230
308
336
329
331
341
326
328
319
237
373
373
269
302
326
316
356
324
353
270
323
317
302
288
324
355
262
364
404
363
301
340
353
361
375
283
326
304
294
252
351
372
384
269
332
293
384
309
357
278
320
373
313
251
371
317
267
409
351
284
346
295
255
357
310
357
298
344
241
365
201
210
357
377
382
375
284
268
380
321
358
346
251
328
291
352
285
300
277
318
258
307
284
367
221
211
315
362
341
260
358
368
350
395
329
344
215
346
321
382
352
302
312
335
315
250
372
288
248
365
370
277
307
332
294
328
243
281
310
314
333
334
307
333
270
254
309
371
339
278
306
272
385
277
247
364
331
337
235
307
327
374
323
331
251
348
282
298
355
366
285
268
352
271
353
307
285
330
266
267
310
375
328
262
323
293
336
367
284
299
295
310
358
329
286
285
296
302
267
276
259
312
281
301
294
253
354
374
329
375
254
252
320
346
333
297
234
261
322
265
341
300
277
305
364
362
327
280
286
231
335
331
358
358
297
353
248
315
345
325
202
347
410
291
337
325
284
211
347
302
347
247
351
261
314
237
258
317
321
293
293
291
375
332
347
327
273
373
349
387
304
312
323
278
351
262
329
277
291
284
259
281
318
355
325
284
324
340
322
312
350
321
302
314
294
341
312
374
312
320
303
293
373
339
230
287
341
323
333
307
323
331
302
302
347
330
370
285
301
379
273
373
330
316
242
239
308
274
342
311
321
369
388
272
387
331
339
390
308
254
231
287
328
286
233
315
347
395
379
292
372
294
253
268
337
327
313
342
347
381
221
345
318
411
235
286
260
286
387
328
288
283
365
378
351
232
256
289
222
355
225
370
282
273
320
319
259
365
326
222
355
294
372
353
304
384
295
375
379
328
355
398
339
327
310
404
401
249
373
318
311
261
309
279
278
323
199
328
326
381
303
221
274
289
307
317
291
329
359
399
333
377
340
382
339
341
331
336
371
374
258
337
327
351
335
328
283
321
347
215
355
303
282
310
298
376
326
330
311
273
284
320
390
275
332
277
333
301
359
309
326
339
300
290
373
331
240
315
272
286
389
332
339
333
328
360
337
340
351
359
317
301
369
286
313
314
393
224
330
326
249
407
363
340
325
222
355
308
251
350
312
227
418
185
343
261
411
223
308
352
291
269
279
331
227
309
365
338
299
317
350
302
402
310
325
314
362
276
271
397
292
252
369
361
355
302
365
322
320
357
357
358
344
331
287
330
304
295
286
289
266
339
236
266
254
385
314
269
338
395
315
303
309
318
285
309
219
366
234
327
341
360
344
348
294
339
388
379
353
313
339
308
334
319
398
288
279
353
359
299
327
338
335
358
359
396
256
324
269
314
280
334
277
354
336
340
266
240
334
263
370
333
318
237
286
264
318
346
311
340
353
297
255
265
271
300
253
282
395
336
392
283
379
349
283
277
288
341
253
286
371
304
270
293
371
276
271
329
288
345
343
359
304
317
332
369
329
264
334
308
230
362
224
327
344
252
308
276
231
266
379
296
364
405
355
370
326
257
287
291
365
266
315
204
345
314
279
320
268
315
233
237
358
348
247
383
272
314
413
337
282
354
303
289
293
299
357
355
351
304
274
303
304
270
286
243
311
339
413
331
347
361
368
319
310
309
273
332
334
360
269
368
352
358
340
375
266
375
280
329
283
237
425
274
313
311
264
346
340
285
361
251
258
338
325
266
351
346
235
326
433
260
320
327
358
308
287
208
356
378
333
377
331
356
272
264
250
261
389
278
284
274
321
322
290
260
341
328
249
314
346
373
364
276
332
286
325
338
350
361
304
285
328
298
211
295
349
368
367
241
377
315
330
322
332
205
346
311
365
234
368
342
345
366
325
332
269
344
329
381
242
320
304
264
383
345
337
287
255
291
303
316
359
262
290
317
377
333
348
330
306
389
300
369
306
308
344
353
308
301
314
324
342
324
317
349
304
299
267
222
278
322
264
355
331
351
342
347
344
335
351
282
295
340
296
325
362
324
361
336
318
330
273
299
239
347
288
296
393
367
288
297
295
212
322
373
409
376
267
314
300
280
314
292
289
302
314
279
309
315
318
401
340
342
302
302
358
306
305
353
316
329
329
379
308
338
210
346
252
359
326
331
333
332
355
294
275
293
340
283
340
402
326
305
342
317
280
274
345
348
266
317
273
324
372
294
282
326
218
343
327
314
330
341
346
222
290
350
235
285
264
374
370
386
267
272
318
302
282
330
318
374
384
295
276
377
277
306
290
390
276
320
267
345
311
276
324
306
315
303
381
298
363
295
357
322
319
414
368
292
345
361
298
317
411
291
357
346
263
420
257
359
232
297
270
327
343
259
356
291
324
346
333
320
321
367
268
304
330
279
387
306
265
336
351
314
293
370
277
321
314
315
345
276
308
287
355
357
299
343
401
367
280
298
301
329
302
319
352
370
366
344
325
263
278
313
305
306
344
163
319
276
322
358
338
384
257
346
305
330
370
325
310
266
281
348
238
346
367
310
279
391
358
311
255
326
232
261
341
347
343
341
331
263
268
342
231
262
282
254
302
370
234
339
252
338
319
361
287
312
327
368
277
256
348
338
200
313
297
291
327
287
405
372
336
364
337
335
288
327
343
287
323
302
241
353
327
314
246
367
392
420
270
257
324
278
316
260
256
406
393
347
264
290
299
284
387
241
247
315
282
347
234
280
299
316
281
347
379
342
399
324
310
335
325
380
298
393
357
254
274
328
311
359
241
395
253
248
352
236
275
201
256
333
333
302
231
343
361
298
267
347
300
400
331
272
361
328
290
275
314
300
243
330
317
290
368
271
287
281
336
384
355
287
404
374
257
288
382
237
323
340
379
338
225
348
350
287
172
256
273
300
327
283
404
304
293
307
370
347
384
336
246
316
298
431
279
320
324
350
317
343
369
269
301
313
316
394
367
295
358
358
296
320
330
304
334
302
244
308
229
221
363
284
337
294
280
364
347
325
320
326
350
293
268
325
334
316
293
334
290
303
353
327
341
301
368
229
260
283
369
290
274
233
315
268
247
350
258
258
233
358
157
359
346
343
314
306
288
304
227
361
253
391
295
298
327
252
227
200
259
321
268
315
367
335
253
390
299
326
292
359
331
314
284
346
250
264
284
363
343
251
381
362
301
351
281
385
336
349
298
286
249
294
310
278
325
265
332
347
365
292
329
343
329
299
328
214
207
177
294
346
319
262
275
309
335
344
395
290
330
329
334
333
349
320
321
315
256
270
375
362
357
357
228
383
390
384
322
344
309
305
248
361
288
352
291
398
335
327
276
198
302
301
335
274
273
391
244
434
336
263
224
363
394
351
306
330
373
389
310
285
358
324
227
326
296
295
324
302
342
333
328
282
350
321
261
353
340
315
365
332
313
326
244
396
330
261
286
355
310
325
410
339
266
295
415
268
309
339
349
289
406
317
359
297
335
354
315
334
304
335
359
327
225
228
262
294
320
316
269
291
293
323
289
243
339
364
293
298
323
267
369
299
243
299
322
408
256
348
294
313
372
417
322
302
340
303
281
329
329
237
340
307
276
320
334
308
333
311
327
307
342
311
288
249
297
377
340
395
297
310
347
363
383
318
310
298
314
335
316
285
361
317
318
266
292
279
357
318
266
265
307
280
333
391
307
335
287
334
312
349
352
355
348
334
340
330
319
279
277
307
289
344
349
287
364
328
285
356
349
349
312
348
277
363
362
326
291
305
397
383
241
394
374
252
396
365
262
329
222
314
323
269
327
279
313
336
319
317
307
324
293
381
307
323
262
316
342
331
367
327
287
283
343
284
334
304
329
330
253
313
320
215
449
351
262
384
357
409
288
357
317
350
356
342
319
357
331
378
290
317
346
322
315
324
327
229
275
285
344
328
334
227
316
324
313
253
336
356
352
333
309
251
372
269
303
406
454
335
344
280
291
287
300
247
389
255
197
394
371
312
341
325
332
295
359
245
344
251
309
402
283
364
285
270
297
359
352
267
327
338
378
290
368
291
252
404
347
243
327
375
373
309
311
359
354
260
304
248
296
340
306
265
424
261
369
277
352
312
303
339
363
386
237
320
224
384
354
262
293
365
380
248
459
355
356
360
308
318
402
307
280
340
291
383
300
295
297
358
353
325
334
370
355
307
319
304
300
322
331
335
341
332
323
355
280
322
355
328
342
346
292
335
250
326
382
396
350
406
315
293
365
318
257
403
277
301
324
302
282
375
252
271
366
289
326
363
244
317
308
287
257
309
275
267
242
335
380
335
305
291
371
306
297
330
350
271
276
306
291
287
322
335
217
342
257
389
212
402
327
271
237
345
345
288
307
301
308
408
257
322
259
339
306
298
254
363
323
341
234
281
214
338
335
348
396
244
296
253
328
231
292
266
215
261
345
287
295
359
319
350
330
311
357
286
261
291
356
284
312
329
310
319
356
245
359
310
243
342
321
309
392
363
401
292
365
341
337
301
354
363
357
369
257
260
389
304
279
290
279
359
417
323
324
315
290
316
403
338
355
270
339
307
311
336
362
287
335
319
249
342
374
341
325
337
357
347
396
357
343
340
361
279
324
253
283
245
179
305
296
322
227
314
323
436
325
327
317
311
451
284
311
267
295
304
361
370
322
297
355
393
321
277
263
362
327
403
253
254
350
311
304
232
252
345
318
331
286
368
375
304
302
398
369
283
316
360
319
329
363
264
229
341
315
348
259
389
366
333
316
285
400
262
300
327
386
272
317
253
341
299
380
293
336
244
280
366
356
329
300
261
324
306
419
366
284
404
386
311
357
341
289
276
290
332
358
324
232
257
384
204
372
294
386
293
336
344
247
369
302
256
306
315
261
334
308
282
332
303
388
304
302
381
403
247
302
244
353
299
329
318
375
379
292
291
287
350
323
275
336
300
313
300
309
278
324
384
317
383
266
372
315
243
317
369
279
285
311
298
252
285
341
316
325
374
304
246
312
372
333
330
245
282
367
421
264
324
339
295
325
358
295
368
389
337
283
339
317
354
358
322
329
285
322
342
298
272
344
263
343
315
339
261
345
348
336
286
286
324
379
303
366
385
261
306
370
320
398
332
330
299
357
317
271
265
340
264
284
323
417
365
326
286
360
331
343
341
287
278
319
306
284
202
299
371
410
264
262
336
331
338
322
253
389
325
266
310
228
350
279
389
306
367
269
229
341
272
201
261
317
311
299
312
302
299
271
370
308
287
321
337
311
303
251
329
380
293
348
307
268
265
344
291
392
278
325
320
366
304
268
284
328
291
237
295
355
269
314
382
323
348
310
350
310
299
273
168
318
308
289
244
318
230
358
297
263
239
312
328
442
336
344
312
304
308
371
384
354
388
312
344
306
350
354
293
302
328
274
388
273
351
367
346
308
233
306
384
288
349
318
350
258
302
294
423
279
269
347
293
239
265
348
275
378
315
290
323
314
221
255
317
306
247
184
383
314
274
348
293
343
312
323
320
265
298
351
309
345
310
252
284
311
269
332
269
323
340
193
437
284
289
353
277
285
303
403
388
282
285
289
288
310
354
283
265
317
340
362
426
306
310
306
320
332
293
265
383
315
336
269
298
278
373
288
332
339
301
334
339
313
317
321
299
308
250
371
356
379
351
310
326
358
320
289
347
339
297
375
289
381
400
245
388
338
358
340
309
363
282
269
280
288
308
263
251
328
367
225
332
301
317
343
293
258
339
395
257
371
264
359
266
340
371
333
331
355
346
359
214
363
406
211
439
318
361
323
343
336
361
376
278
307
360
355
394
240
357
284
352
299
347
326
380
255
359
321
331
353
314
264
313
331
301
314
364
273
335
307
344
396
283
301
251
293
345
297
354
324
323
409
277
278
314
326
317
378
304
286
298
380
238
315
272
322
286
295
184
308
337
309
323
252
299
293
300
329
340
297
284
359
309
349
306
350
293
328
365
321
369
309
349
419
374
308
315
270
266
290
334
348
334
265
277
272
335
442
349
312
359
313
350
356
334
346
386
282
374
292
289
282
344
326
313
298
424
317
271
345
372
280
348
306
367
390
313
339
318
243
383
349
344
362
373
367
293
342
274
321
365
337
275
222
304
282
309
247
441
225
343
297
273
322
280
314
298
415
255
325
202
303
319
357
278
340
296
334
276
306
321
209
306
316
403
318
292
261
353
388
277
310
201
286
297
296
359
410
372
330
311
379
317
375
354
288
308
287
266
296
332
321
242
345
236
276
359
240
331
346
264
356
316
388
242
302
255
408
253
361
299
345
329
360
243
322
327
303
312
389
215
343
228
371
253
269
290
299
283
338
286
339
317
252
261
337
368
337
296
300
339
335
306
329
320
320
364
231
344
365
279
309
263
287
412
334
376
361
354
375
297
385
384
311
349
387
291
300
335
293
349
301
299
323
336
347
286
317
357
334
314
339
271
370
448
241
321
378
369
345
312
362
301
249
290
388
322
262
296
274
327
405
296
341
384
244
357
354
283
310
389
362
362
221
288
365
331
345
361
336
346
415
274
289
257
308
319
402
247
263
312
327
298
297
243
358
311
355
384
380
231
315
319
272
319
329
288
322
348
327
261
258
280
359
276
385
332
228
299
329
258
294
313
318
276
274
328
342
353
376
273
335
353
263
318
340
275
240
364
333
361
291
375
276
392
339
254
380
329
350
331
371
321
307
243
303
263
309
303
307
311
323
363
252
284
325
305
391
316
357
374
295
300
354
289
274
298
310
380
299
254
356
263
320
331
346
379
306
379
317
362
345
291
326
318
337
293
365
305
280
355
318
309
284
342
365
368
344
265
333
277
276
262
315
280
364
298
263
279
237
367
243
301
325
301
343
255
286
351
390
406
323
285
316
323
332
371
332
342
367
267
312
334
373
287
310
349
397
296
400
294
313
240
364
347
318
289
373
272
417
334
305
174
344
309
346
229
401
341
355
381
257
319
308
292
320
317
308
298
304
318
329
351
341
266
354
328
383
296
404
289
320
320
343
383
395
405
376
343
263
288
359
269
330
242
367
346
382
234
285
261
361
318
295
385
391
295
244
299
394
303
314
270
311
274
291
331
364
368
319
281
298
366
284
336
360
249
331
357
224
371
243
300
328
337
302
277
394
232
299
290
274
325
271
369
342
483
269
293
374
301
307
315
395
357
333
310
324
329
313
344
350
368
300
322
343
357
230
274
352
300
293
252
288
237
234
277
209
290
259
308
336
323
256
312
254
366
208
320
395
279
349
289
295
303
372
308
305
331
322
354
319
322
274
411
293
308
341
315
373
251
306
266
207
410
312
331
255
328
230
360
148
390
358
315
256
384
309
304
326
280
275
303
417
266
312
264
248
245
392
337
247
344
268
417
201
317
375
308
366
333
337
369
367
313
225
288
258
323
334
309
372
274
372
319
371
262
276
270
338
272
319
331
368
349
337
389
253
336
247
322
272
302
319
384
205
324
299
286
344
363
317
340
261
357
319
225
373
284
312
318
244
280
316
329
352
359
337
292
273
338
304
326
370
348
346
331
276
307
377
222
336
255
422
328
266
326
321
363
290
286
326
369
327
391
215
308
320
308
385
281
331
320
373
347
270
340
321
364
310
233
381
367
323
192
334
368
382
331
225
371
308
335
284
373
336
290
317
332
353
301
251
365
228
340
339
319
327
273
315
253
291
287
266
300
358
365
296
270
288
299
380
347
316
303
334
339
331
323
364
287
209
285
333
353
299
236
382
348
343
246
278
336
276
351
296
309
369
250
335
223
355
243
286
319
222
284
288
295
279
295
311
343
389
316
417
330
273
328
261
375
349
349
237
229
283
273
368
274
364
315
327
409
299
256
314
304
311
303
342
346
335
328
307
278
327
294
309
384
326
306
334
376
338
280
254
283
331
276
243
341
329
376
243
272
224
365
188
391
280
298
312
348
359
375
314
339
280
324
362
399
320
359
394
351
372
331
307
256
360
262
256
327
295
309
358
374
281
307
291
404
306
331
310
379
304
359
360
316
310
347
385
324
329
382
322
332
309
302
228
318
300
219
324
364
297
380
295
349
285
304
317
288
338
332
322
333
301
343
299
227
267
360
307
273
287
337
333
350
307
300
333
340
310
352
315
302
322
373
276
289
403
205
343
316
362
238
267
370
347
308
328
381
305
337
335
329
269
288
338
318
379
354
383
253
213
358
358
333
320
322
322
324
341
206
355
343
327
326
283
284
351
297
318
324
336
368
341
281
346
317
227
376
298
301
268
294
385
291
376
372
331
408
306
354
347
303
290
361
357
279
272
282
267
264
243
256
374
284
379
294
337
370
310
274
412
395
329
310
369
209
368
315
328
429
387
343
324
312
321
330
328
298
270
352
370
356
366
304
314
291
333
341
410
287
309
280
262
426
306
292
350
346
272
347
395
348
296
286
338
286
258
291
355
335
330
321
338
328
302
320
306
278
333
243
319
364
313
293
351
323
317
264
310
308
328
297
309
315
319
323
416
271
250
312
355
306
367
277
284
251
382
327
374
306
308
366
368
352
342
367
319
274
268
396
321
259
306
275
300
328
341
297
357
291
368
236
375
320
245
396
306
250
260
271
247
354
441
205
245
322
322
335
266
372
358
271
272
258
296
314
357
314
379
313
357
318
332
358
360
350
328
383
237
228
291
283
309
346
263
324
223
374
273
347
335
364
325
332
303
252
359
332
293
363
307
325
278
339
225
389
291
267
341
283
277
267
289
290
379
347
381
260
387
377
339
334
296
327
322
221
257
316
326
391
303
285
330
327
237
319
388
340
307
349
301
348
440
296
317
327
246
323
354
284
353
346
196
372
246
370
351
340
337
328
318
350
289
404
349
344
344
335
241
321
284
366
321
308
223
283
317
284
285
336
362
291
306
318
266
304
378
310
260
316
301
274
279
272
326
304
280
343
311
322
343
279
287
281
370
368
337
299
373
330
344
278
318
367
347
322
367
324
343
368
349
357
299
342
351
248
278
345
287
308
296
280
333
403
274
328
262
221
314
316
287
296
246
278
323
292
353
364
393
384
313
298
367
288
331
320
228
357
322
339
382
276
375
320
312
351
261
350
308
297
276
238
287
257
315
291
295
267
306
299
315
275
280
293
303
256
250
225
231
360
385
243
253
316
309
301
258
275
235
269
293
309
282
279
252
280
340
301
393
288
322
354
334
326
380
291
320
322
268
324
394
393
310
329
321
323
270
314
340
328
359
345
411
292
356
354
268
292
272
317
234
173
257
305
264
307
349
257
343
306
411
321
348
362
296
219
277
313
294
329
327
357
339
194
288
237
275
331
336
340
330
394
370
293
264
329
201
343
304
354
333
406
321
263
339
369
306
309
352
263
348
230
277
296
399
399
395
253
238
267
341
304
363
301
305
314
308
317
294
290
310
275
246
312
268
376
307
203
359
330
337
323
318
284
315
296
316
316
305
362
350
338
378
280
298
328
334
355
377
380
288
292
278
312
260
402
335
245
252
293
271
349
372
358
300
382
256
327
284
365
327
336
357
340
232
265
260
364
320
343
276
333
338
291
311
219
330
349
420
317
280
357
304
326
344
386
346
393
218
260
337
325
380
329
383
410
267
378
340
401
348
315
315
322
350
347
269
334
289
287
383
333
280
285
313
351
342
316
294
312
330
319
350
337
345
283
328
318
296
330
347
320
356
281
309
330
226
244
301
333
252
302
405
225
311
280
278
357
306
308
350
387
365
348
272
407
368
293
279
291
339
245
308
247
314
322
221
275
355
247
303
314
301
260
368
288
424
218
386
299
352
335
293
294
324
336
310
283
344
256
286
255
371
259
269
288
347
350
271
276
265
330
267
302
296
258
278
380
326
373
306
294
307
275
353
318
297
337
299
305
354
419
330
261
399
265
322
272
340
293
316
348
326
306
328
319
278
352
340
261
398
227
302
286
268
300
348
366
345
281
273
281
373
324
320
349
296
334
244
381
327
372
334
394
309
331
342
293
307
287
307
394
286
343
360
325
293
346
349
374
278
262
241
275
223
320
314
310
284
325
300
361
302
239
270
322
304
459
278
380
327
251
250
325
356
366
354
304
258
329
363
388
303
322
301
282
309
260
330
292
412
315
313
376
327
231
302
225
279
347
323
270
322
289
301
319
370
342
362
315
398
241
339
378
328
426
352
319
285
276
340
380
341
343
376
275
369
258
386
351
292
376
302
276
376
289
359
350
299
257
226
244
351
303
278
246
253
311
258
316
320
287
369
326
290
319
306
262
388
395
327
341
331
322
323
305
394
374
256
336
324
274
285
239
312
274
312
345
315
279
333
352
335
336
333
310
276
268
281
320
298
253
300
305
318
364
300
306
333
390
273
342
329
297
343
287
314
310
244
255
296
286
266
394
287
342
433
251
286
362
256
308
328
359
336
329
281
269
349
324
399
274
306
370
305
320
312
335
375
314
366
284
249
327
321
303
270
339
307
327
287
362
323
246
363
298
324
337
351
328
263
407
327
357
364
280
383
379
289
271
312
378
275
352
306
332
292
306
317
302
375
335
292
306
355
333
334
288
219
339
334
376
234
307
237
261
295
329
292
209
375
287
351
383
339
226
303
376
339
384
312
311
323
329
302
319
342
345
292
327
310
339
289
257
278
341
280
364
350
317
243
229
258
314
321
342
407
345
211
379
293
301
292
341
288
346
388
345
277
326
334
309
273
380
251
352
335
331
289
442
227
356
272
339
348
374
313
331
357
293
327
320
369
343
315
344
359
321
373
255
322
211
374
308
358
358
301
401
289
249
277
371
231
308
267
280
391
354
320
327
337
365
371
295
364
274
340
321
332
326
290
254
316
347
258
370
301
355
300
242
331
338
260
316
268
327
313
362
349
294
376
384
285
366
320
365
358
362
253
325
305
264
335
360
334
368
309
298
307
267
326
290
358
275
318
205
322
321
325
312
397
316
245
302
318
399
432
317
345
375
307
255
334
271
361
295
296
289
283
347
266
282
305
399
301
306
292
238
298
289
295
300
338
303
389
283
271
339
310
365
269
374
332
300
370
294
345
296
345
300
392
335
324
347
308
299
377
317
330
316
309
406
310
266
320
336
225
357
415
255
314
261
308
336
321
262
360
364
327
336
335
261
382
285
274
279
319
370
356
307
328
335
317
295
371
309
299
244
418
256
354
364
323
277
263
327
269
287
312
262
243
353
360
215
311
287
262
378
364
339
261
352
342
369
286
287
402
351
233
301
339
299
326
335
309
355
349
341
319
285
363
365
312
251
381
305
292
346
321
377
365
315
246
289
337
323
378
328
271
326
332
333
365
344
303
349
339
330
310
299
284
371
317
231
277
358
364
281
335
368
258
252
300
298
339
370
314
336
271
381
258
303
361
282
349
281
326
394
369
311
298
344
361
309
299
255
328
401
355
245
329
340
354
350
294
311
180
405
373
359
294
262
286
276
316
313
236
278
314
258
332
349
265
227
237
332
277
321
306
325
294
208
348
397
313
278
309
251
386
324
345
326
331
377
310
341
334
300
315
315
311
332
344
319
317
334
325
339
387
339
328
349
283
361
329
267
288
288
289
298
340
248
243
297
337
309
306
269
308
278
248
316
308
367
378
281
373
292
352
365
302
252
367
298
336
284
333
381
330
314
383
351
316
322
357
319
298
297
253
243
314
334
275
380
335
321
324
250
315
320
325
317
283
277
374
274
405
341
313
268
289
376
366
261
275
265
323
344
353
337
393
340
297
261
282
342
330
197
295
238
356
349
307
345
258
261
277
264
326
225
284
348
264
279
260
305
371
293
338
345
258
300
228
312
308
259
334
297
280
304
253
337
397
314
284
268
345
247
333
279
328
347
294
343
304
315
323
287
356
290
246
297
352
342
269
338
294
269
260
310
323
343
284
362
293
293
330
376
369
335
263
289
355
353
350
380
286
351
353
360
368
359
344
319
383
365
276
304
325
337
299
358
384
340
273
288
313
333
279
289
354
287
259
261
296
313
314
321
305
340
251
327
199
297
232
363
261
341
305
381
332
272
319
219
342
364
314
264
288
310
337
324
256
347
376
289
311
342
305
274
367
396
331
304
349
351
306
302
262
329
355
322
336
369
324
334
356
244
315
338
382
300
301
256
270
311
372
203
211
338
319
300
333
248
346
375
319
318
247
338
278
352
288
309
196
286
316
330
328
375
302
310
303
275
428
369
377
394
354
333
398
296
367
358
341
345
372
383
285
238
401
299
307
341
429
224
329
330
312
301
294
327
429
328
288
273
337
243
312
283
378
267
254
376
338
372
320
322
290
243
399
260
272
304
367
319
296
199
224
268
308
336
370
290
312
305
273
386
282
450
293
322
262
386
343
356
351
308
361
319
400
323
392
358
368
290
269
347
322
296
327
279
283
319
306
331
312
365
371
304
338
304
362
345
333
350
283
380
351
307
293
290
312
328
368
297
299
341
320
297
314
289
344
398
366
273
272
233
364
331
307
261
360
321
341
303
273
302
351
347
274
320
300
335
307
313
411
297
381
330
363
305
320
275
259
364
289
263
297
340
294
336
342
385
340
370
246
316
321
335
288
258
289
220
258
269
282
350
340
289
310
326
313
350
404
284
298
276
315
233
359
334
344
347
289
301
310
251
349
245
342
320
396
359
354
328
319
277
278
297
270
306
316
369
300
200
347
408
317
286
265
317
384
304
376
344
317
290
279
335
317
224
405
288
353
343
342
342
314
359
265
336
301
291
283
313
350
310
319
391
310
313
279
259
272
261
264
335
337
333
260
374
389
325
353
326
256
401
282
382
330
351
284
255
349
332
258
324
286
294
254
285
374
225
310
335
291
313
362
376
299
302
345
321
377
293
303
376
343
332
403
204
347
323
318
361
300
218
312
290
359
272
274
269
389
271
280
242
318
311
271
286
324
279
329
333
220
276
226
293
327
259
372
445
268
310
259
360
361
398
301
329
350
292
265
384
335
251
302
344
271
339
379
309
350
334
365
373
355
315
292
318
262
272
348
279
352
315
356
292
388
321
331
378
312
280
250
282
371
324
367
374
336
317
366
301
343
296
357
367
324
353
197
302
327
228
323
334
258
360
319
288
333
325
285
349
290
369
348
277
400
312
323
295
308
258
328
351
171
387
264
340
290
356
201
346
339
268
272
364
378
306
253
350
311
384
241
315
326
362
308
226
277
388
203
342
334
283
304
266
332
347
371
349
276
293
323
302
265
298
295
319
293
343
347
344
355
286
270
251
317
292
253
337
295
360
268
280
333
315
402
285
289
297
315
343
340
354
312
345
361
305
307
390
319
318
331
313
265
253
332
379
301
333
324
279
301
392
322
291
258
380
197
317
166
383
313
339
339
369
301
354
305
296
312
341
293
320
422
327
267
389
360
350
328
252
288
331
323
303
400
240
327
291
268
309
364
331
318
372
366
239
239
265
321
298
360
324
355
347
265
297
380
316
360
294
298
362
347
349
319
384
294
393
268
294
326
332
301
356
296
272
341
251
357
296
373
319
333
281
314
270
311
303
386
308
325
326
406
366
309
347
250
307
373
268
263
296
255
374
339
315
330
289
316
298
329
311
401
278
364
353
354
307
392
276
256
267
247
363
264
405
382
316
313
394
232
314
362
299
364
317
307
252
352
293
361
382
302
230
200
305
368
344
317
249
299
229
346
331
374
227
295
287
276
289
306
291
361
326
245
332
388
235
283
351
321
348
298
335
349
303
297
339
316
387
400
278
336
254
321
288
331
325
305
257
396
254
242
332
330
348
345
368
390
308
305
272
431
402
280
326
293
332
309
289
411
381
253
249
358
239
278
281
316
315
303
281
329
362
343
326
284
249
197
294
348
319
318
357
302
276
360
318
370
302
450
267
386
338
377
326
335
362
336
409
330
221
257
331
342
309
317
310
395
260
353
327
300
325
264
306
288
300
285
304
267
338
275
316
318
339
294
292
327
402
359
306
323
344
345
320
340
289
235
343
248
467
374
310
323
265
436
277
313
349
253
304
361
422
341
300
299
293
289
268
408
291
311
284
364
357
353
339
332
236
308
334
340
283
352
359
345
333
325
278
354
288
282
334
281
279
379
285
264
361
303
312
283
289
258
264
248
319
340
306
303
254
293
359
346
331
323
365
313
345
278
338
272
315
275
361
288
360
238
360
379
293
339
332
350
327
300
273
263
307
354
363
265
340
367
225
292
350
261
308
336
322
234
323
303
386
229
337
337
342
352
313
318
281
320
358
244
403
234
327
337
299
421
354
416
308
326
344
280
305
335
322
287
263
304
374
349
312
376
324
267
309
290
278
374
271
339
353
368
339
313
314
290
219
331
226
300
292
280
315
265
410
379
337
309
339
336
280
269
218
339
347
262
268
319
287
306
285
287
375
310
345
326
281
313
447
313
401
260
305
296
306
246
340
292
317
312
311
333
240
258
271
316
323
350
266
337
195
417
288
309
416
345
235
365
335
326
265
290
291
347
271
339
298
376
272
355
332
315
342
353
340
368
314
330
299
310
314
334
304
373
280
371
286
420
260
277
251
308
252
361
388
322
270
382
325
351
321
333
259
326
443
257
384
328
329
304
319
336
313
346
300
364
307
313
270
232
298
423
320
309
285
248
342
362
304
354
285
329
244
337
336
225
306
313
310
287
311
295
296
309
302
289
337
312
264
384
381
322
357
302
297
354
303
348
313
364
306
306
309
262
341
414
296
384
270
318
299
286
321
327
313
380
298
252
398
340
298
318
263
308
282
339
290
360
417
225
347
318
262
372
299
299
352
334
286
310
299
338
296
376
300
344
400
363
360
301
338
296
288
287
402
317
390
277
280
335
355
351
258
362
296
322
267
332
289
296
385
349
231
290
292
377
401
330
317
262
284
330
381
267
287
389
354
254
323
361
331
353
333
326
275
338
310
312
376
266
357
375
314
315
371
327
285
360
249
299
306
375
318
263
310
249
210
367
336
273
354
385
356
319
430
286
328
360
286
245
359
361
337
310
332
283
344
389
299
246
344
308
377
290
298
306
331
276
382
299
375
307
336
305
329
310
273
318
316
290
315
348
357
310
343
291
239
263
303
364
337
372
276
318
343
286
349
270
303
299
335
266
349
369
286
305
260
211
324
325
331
287
383
323
332
363
324
341
326
382
336
329
262
320
369
268
326
307
337
367
364
346
335
293
310
291
338
315
308
279
314
297
315
249
327
345
271
358
290
374
309
393
368
344
317
269
348
354
319
332
369
360
203
317
357
332
324
305
298
347
282
326
343
296
277
323
371
296
323
380
307
284
316
362
343
301
363
420
263
285
335
317
354
307
237
289
301
279
363
253
216
371
225
347
364
363
380
338
283
288
355
325
294
327
334
281
359
309
365
343
320
297
291
380
367
270
312
302
351
318
301
272
297
228
352
371
284
301
282
332
332
331
345
250
310
334
321
296
345
303
233
318
355
307
259
379
303
321
276
285
338
389
316
246
388
294
307
351
381
301
335
340
304
351
286
329
283
299
292
357
294
250
329
276
283
309
305
354
227
248
359
313
299
364
344
389
380
313
225
304
372
317
309
370
288
303
307
405
317
283
307
300
301
261
332
338
267
287
252
281
286
310
296
397
337
351
320
282
343
290
393
355
343
292
277
338
331
277
320
284
333
288
355
319
325
386
296
250
275
288
287
216
297
299
306
246
233
332
419
360
325
372
396
304
302
348
351
315
316
362
358
356
310
295
345
291
362
321
415
423
355
379
272
337
281
241
388
376
345
316
354
301
344
326
322
344
375
318
333
378
317
320
286
300
292
309
317
332
382
298
351
332
296
315
391
244
297
315
335
337
331
312
335
343
303
278
359
310
312
316
284
283
272
334
334
304
250
428
321
389
274
325
300
377
305
320
412
400
262
408
320
196
312
266
358
281
366
323
220
258
327
377
340
313
360
287
330
318
332
311
307
323
301
348
317
276
276
230
355
359
350
250
334
329
295
283
355
341
273
387
259
304
344
264
322
273
381
315
371
235
351
338
316
335
220
300
404
310
286
259
278
310
292
344
348
341
338
327
383
297
321
320
242
324
374
317
280
326
371
370
308
306
287
308
303
284
341
316
305
284
324
319
304
269
313
241
400
295
330
287
264
389
353
272
349
373
310
367
316
315
249
269
303
381
229
278
208
286
329
288
373
391
312
257
364
372
288
308
352
347
388
271
314
308
319
355
330
306
343
328
343
200
299
392
385
372
408
415
348
297
341
324
271
326
293
352
323
312
235
275
306
316
348
388
315
330
215
263
300
286
301
340
208
363
310
299
377
311
273
334
306
319
247
340
320
329
332
311
378
254
325
322
384
357
250
390
281
326
280
350
247
430
264
386
365
260
328
365
309
369
329
290
281
331
371
301
315
286
376
368
372
199
361
350
330
390
328
308
396
342
344
346
292
365
365
434
313
305
366
255
278
360
258
174
324
386
300
289
246
314
313
271
276
328
318
414
331
266
314
367
304
263
389
323
394
344
314
318
312
373
313
327
250
336
306
281
354
392
276
261
323
280
179
389
340
321
314
389
335
296
259
265
415
330
323
354
284
350
335
323
335
278
280
396
261
338
317
338
306
286
392
340
318
303
319
320
288
320
318
389
342
364
258
309
272
340
345
354
329
301
306
304
445
304
327
348
304
384
400
327
342
325
319
345
221
367
346
292
312
392
339
387
370
334
405
199
397
341
357
349
363
310
339
275
267
390
343
332
335
359
228
356
220
388
318
329
299
262
299
310
237
290
286
356
380
355
356
358
166
329
317
226
187
322
385
286
275
286
290
313
322
274
276
395
331
228
359
339
315
296
246
305
315
319
279
352
288
310
332
363
316
317
374
332
445
358
274
375
241
318
286
204
252
362
296
335
409
307
340
306
265
358
198
237
388
394
363
333
288
370
270
332
375
294
357
367
203
292
310
360
332
270
267
322
380
264
330
344
308
386
331
254
330
275
372
350
325
401
312
341
349
341
247
200
375
292
328
224
293
372
264
324
287
246
283
387
284
242
337
374
358
374
360
343
324
319
216
294
362
336
305
372
324
327
320
363
344
371
342
397
322
373
253
276
283
286
240
310
384
311
301
269
356
289
335
309
288
339
354
382
350
285
285
239
285
287
284
336
359
292
302
281
346
286
279
268
339
335
280
293
372
290
355
342
297
271
327
253
329
342
264
347
297
337
244
341
338
317
375
354
296
348
393
329
290
325
294
307
376
358
314
251
367
378
349
274
308
316
318
356
348
346
254
317
341
290
202
362
370
421
312
364
262
294
366
385
295
324
219
362
318
364
302
287
342
419
362
312
356
337
324
317
347
382
340
287
365
343
341
255
236
247
188
336
359
256
284
358
357
348
324
394
288
334
271
210
310
374
303
270
336
327
316
282
297
303
249
396
314
306
352
318
278
367
380
322
305
340
293
315
310
331
349
343
341
335
304
361
365
284
361
346
309
333
298
271
324
295
301
366
273
353
369
327
296
299
230
430
328
326
356
335
329
289
408
349
305
309
431
310
351
336
310
218
312
280
276
329
297
290
378
297
377
375
324
336
220
300
347
321
282
259
344
333
203
279
306
241
303
311
298
302
359
357
357
280
300
253
384
282
330
280
331
217
323
328
253
323
279
325
375
350
282
266
327
397
277
290
335
357
320
332
310
287
357
326
287
346
243
351
339
244
287
282
329
301
395
243
366
273
345
270
318
300
279
366
318
238
337
256
301
294
251
320
376
321
333
294
339
374
374
313
307
231
382
358
319
304
373
343
348
275
298
332
345
416
298
423
276
296
320
274
317
242
340
295
322
352
394
363
389
275
357
302
318
334
306
383
305
224
357
325
321
421
205
243
282
285
336
237
327
266
292
362
269
337
277
337
369
268
337
266
252
336
323
286
329
315
374
366
295
318
353
323
243
296
370
257
346
286
325
358
355
225
312
230
321
349
272
218
328
290
429
282
317
371
328
374
292
305
306
388
435
210
348
312
306
369
352
325
347
364
286
365
309
338
227
329
348
344
350
356
225
403
375
291
343
346
314
409
299
345
277
337
312
360
263
261
302
347
315
336
270
247
278
254
327
326
267
344
388
253
358
411
294
333
365
253
363
377
372
373
302
320
265
257
329
368
303
373
287
247
314
258
317
239
322
266
321
326
313
339
262
375
283
361
344
254
333
360
379
311
342
278
339
233
415
328
310
312
338
315
332
248
356
377
337
392
358
359
292
348
283
225
282
279
311
358
294
277
295
321
387
320
285
362
349
362
294
348
304
311
392
289
369
379
321
319
361
307
364
313
308
300
310
320
231
275
348
321
311
204
298
289
241
314
322
207
288
301
303
287
360
307
302
248
217
327
234
284
315
305
289
340
360
367
264
278
366
338
282
342
349
355
261
390
272
351
269
302
215
312
311
353
320
274
352
242
330
229
414
365
287
237
327
300
335
371
221
311
267
399
303
337
270
360
318
228
309
262
282
375
300
363
277
266
351
307
339
347
334
414
262
339
264
296
263
401
341
361
325
262
335
324
265
277
333
302
285
326
315
321
311
337
315
336
357
311
283
318
231
291
407
310
399
253
355
293
400
307
261
275
344
267
295
311
252
359
324
247
320
309
316
345
297
222
283
388
323
365
319
293
322
356
298
318
277
335
290
296
251
344
286
290
322
288
348
370
360
348
250
355
289
310
312
264
364
325
288
274
305
327
312
275
392
351
255
359
246
360
311
281
303
346
281
362
346
200
284
308
252
433
286
358
245
384
234
296
366
273
379
316
346
228
347
275
296
293
320
332
358
397
324
252
337
366
303
374
331
275
329
288
351
287
351
221
327
393
277
351
351
299
239
340
358
259
354
314
288
378
311
289
275
297
353
361
251
349
320
285
356
295
385
339
327
339
271
314
308
304
403
274
276
300
370
239
314
371
374
348
394
296
333
350
312
318
334
297
300
227
391
285
314
310
290
308
327
375
291
312
302
382
259
350
346
326
312
260
333
364
314
358
359
322
389
311
340
350
313
328
370
303
311
343
309
230
359
250
346
319
293
307
384
249
385
308
357
275
249
288
323
321
316
250
350
298
245
286
222
315
343
399
272
376
304
314
438
235
354
337
310
369
320
352
259
403
318
314
340
329
359
366
351
435
276
412
391
331
301
328
366
271
316
361
366
283
306
323
296
295
283
383
278
328
284
362
314
383
384
211
375
242
316
260
274
296
394
338
283
249
361
287
362
339
251
315
368
290
342
336
340
335
337
347
301
340
371
306
308
309
261
362
313
312
298
337
329
312
327
378
267
319
378
270
241
406
330
300
382
283
336
291
347
269
237
301
249
334
372
250
284
350
332
384
393
331
323
346
356
268
208
295
350
315
382
272
405
379
277
361
361
330
377
334
385
272
321
308
251
261
382
333
263
324
384
287
318
351
295
330
334
292
322
390
264
264
282
316
218
296
359
276
219
363
396
337
335
362
325
307
350
327
277
389
349
272
399
322
336
347
296
244
375
333
345
332
351
263
317
315
268
312
356
288
303
317
299
327
272
241
217
305
419
312
356
270
287
371
329
320
293
255
311
341
308
351
322
331
335
259
230
328
325
370
261
288
351
328
312
368
304
423
305
290
317
219
223
308
368
353
318
354
198
288
355
302
297
383
317
274
366
344
350
319
397
304
337
269
382
337
291
334
314
307
364
335
375
331
385
251
314
332
326
277
276
342
324
398
385
329
310
306
327
275
332
374
288
292
383
330
412
346
325
214
313
337
292
288
264
286
301
345
324
258
342
362
373
391
305
359
287
322
328
293
305
310
378
314
305
338
404
372
267
313
378
388
312
333
235
388
361
255
311
386
343
356
258
238
425
269
337
312
305
313
338
277
248
340
344
348
236
337
268
330
302
377
360
328
299
319
380
260
265
294
285
361
355
315
283
294
338
322
335
391
339
354
345
290
300
393
321
300
299
258
386
289
333
216
347
277
387
209
279
321
342
231
341
347
237
310
291
305
270
288
346
267
229
328
297
340
275
300
388
250
324
418
358
327
262
392
287
327
327
375
387
291
270
277
270
323
323
282
359
261
296
337
291
330
277
296
326
370
291
295
316
314
291
340
366
313
340
257
350
239
351
334
305
354
338
283
339
281
254
300
230
300
307
350
334
303
266
301
242
306
359
266
343
376
333
385
264
333
359
341
321
279
311
329
400
251
290
348
288
325
296
331
236
343
277
288
398
299
296
317
357
366
335
338
322
302
271
317
250
316
311
366
282
359
328
309
215
317
259
319
349
331
337
452
292
243
314
328
309
283
239
303
297
296
274
412
283
309
245
400
393
318
315
327
267
342
307
336
350
293
379
251
372
258
368
294
356
338
377
339
264
263
363
328
426
342
343
293
342
335
328
389
315
381
233
274
308
387
343
303
319
365
288
281
244
315
352
321
382
333
274
345
280
347
342
365
402
292
330
249
378
285
314
363
326
346
327
378
255
370
265
309
361
292
349
364
247
409
245
366
320
312
332
298
311
348
261
372
312
373
325
370
280
337
400
301
349
273
288
301
432
344
362
340
283
336
342
319
353
268
315
333
286
357
333
238
248
391
390
251
339
320
291
348
314
298
367
323
291
272
276
281
263
319
315
294
213
290
263
350
366
267
288
311
410
265
331
231
378
235
302
305
371
246
239
277
328
286
360
284
302
300
337
326
262
307
333
341
372
321
211
344
385
295
334
433
360
198
347
316
337
290
358
267
339
296
292
310
340
295
241
254
289
400
361
350
264
321
403
333
252
342
307
282
306
279
249
350
352
266
358
332
245
327
279
379
283
323
186
296
333
305
338
336
286
337
323
305
261
302
267
266
332
286
232
290
336
344
336
278
408
216
276
376
308
325
270
298
356
285
258
328
353
276
252
250
345
346
267
258
372
301
323
316
305
340
305
287
400
261
351
370
340
249
303
345
265
316
280
338
237
282
341
330
308
325
359
365
316
247
326
318
233
333
287
362
281
287
263
292
287
322
286
267
268
294
343
411
216
342
272
331
373
367
379
370
317
316
305
274
327
330
290
263
277
344
325
370
325
336
268
289
313
322
365
332
352
384
303
302
325
237
222
343
357
260
321
281
372
328
341
294
272
319
295
341
342
256
338
343
380
332
331
362
279
413
371
451
247
302
418
251
301
360
343
306
323
285
251
306
315
321
261
330
291
350
335
288
305
272
333
374
366
354
286
256
312
298
334
223
339
344
365
379
369
367
302
311
257
344
326
329
305
284
374
259
274
343
366
277
301
345
291
292
317
344
338
325
304
282
368
236
312
324
362
310
305
357
269
315
333
382
317
346
291
268
298
288
281
329
255
390
308
196
280
376
336
383
367
380
342
246
383
337
269
333
323
327
337
277
320
303
334
381
304
293
315
287
333
276
240
255
327
318
290
391
320
337
312
367
365
390
326
294
356
306
354
323
300
346
340
326
320
354
242
379
338
310
307
359
328
349
257
292
231
295
305
329
336
357
247
294
373
312
412
340
387
335
388
290
274
372
339
291
361
270
220
347
337
347
315
324
327
321
303
379
292
328
280
378
289
283
176
330
319
289
323
262
362
288
238
306
279
318
305
337
313
387
313
315
350
367
306
289
379
312
360
322
269
328
302
296
297
324
377
311
395
293
295
286
269
337
313
389
309
335
301
182
272
367
320
330
314
309
322
269
297
335
379
240
277
310
382
352
345
349
298
289
287
284
359
317
266
294
366
307
248
315
375
288
295
364
383
338
311
419
275
339
305
270
234
280
287
366
361
336
268
288
366
334
250
363
312
332
313
325
307
298
252
295
282
231
316
331
323
345
272
418
327
325
343
269
268
269
275
341
328
337
321
319
312
252
358
376
281
392
326
297
275
390
368
322
351
366
301
291
326
368
325
258
280
361
288
337
336
188
258
322
400
306
374
263
276
364
289
272
341
360
412
430
386
262
394
309
299
336
346
308
335
367
311
300
361
304
265
343
415
301
340
304
260
270
243
290
366
303
333
300
307
318
271
360
380
363
245
252
322
258
396
312
289
282
320
261
390
308
241
386
360
263
228
351
358
291
316
340
365
315
323
304
358
367
365
297
306
348
345
322
279
360
322
349
224
285
262
308
311
325
340
259
321
413
340
301
280
258
335
380
264
315
264
287
265
314
297
316
311
379
422
324
337
327
310
316
383
320
351
324
352
305
308
280
335
377
392
286
307
334
309
384
270
363
294
285
343
292
265
288
344
337
272
358
337
286
371
383
332
329
267
321
286
309
341
306
304
316
386
428
310
289
319
301
323
327
374
350
326
411
312
345
440
278
302
329
284
313
355
252
311
380
274
351
350
382
331
304
344
384
254
326
343
300
277
310
316
300
305
310
260
253
433
342
357
229
263
328
289
301
321
311
281
211
290
272
299
238
376
368
315
342
260
302
316
335
308
311
315
325
287
333
202
298
277
391
268
258
298
292
305
320
366
251
257
321
288
276
341
334
245
279
327
335
289
301
346
286
344
316
317
298
349
367
293
339
370
236
273
287
376
288
295
308
294
317
386
322
293
335
363
309
314
383
329
310
299
265
395
347
274
353
296
392
306
361
299
379
332
310
320
285
381
352
341
333
270
318
296
394
350
300
246
298
289
364
272
317
294
258
337
257
365
364
289
345
346
287
284
373
346
271
334
339
394
309
387
301
353
364
369
309
269
331
351
356
365
263
345
356
271
318
244
270
292
338
242
283
319
339
286
261
318
277
382
353
392
388
176
319
294
342
325
253
305
258
398
320
293
368
304
395
319
360
264
414
369
327
303
280
351
350
326
262
297
307
386
319
321
358
199
250
349
241
268
215
247
314
385
308
286
252
309
376
347
294
317
333
321
398
222
345
336
284
323
344
248
320
291
284
347
413
247
279
391
349
287
358
287
408
318
403
333
339
345
306
293
329
306
307
302
256
327
352
259
367
315
356
241
346
304
303
311
353
319
356
295
303
259
349
312
240
286
295
327
280
287
349
276
248
318
379
302
332
334
337
343
365
363
357
278
273
343
326
282
327
315
281
343
335
252
254
328
277
277
281
233
281
329
372
347
357
297
272
390
257
392
292
366
345
336
283
266
362
227
345
247
326
364
315
340
382
289
411
323
339
279
355
429
309
304
356
322
336
342
340
353
383
327
357
298
222
288
389
319
356
297
300
348
231
255
262
308
329
329
239
310
216
300
309
308
343
386
392
300
264
369
301
328
242
347
300
237
297
359
352
405
427
349
256
299
333
347
356
280
254
302
310
394
269
314
234
333
353
305
285
329
283
306
348
273
381
292
302
315
348
281
240
371
326
329
316
314
266
372
310
309
335
345
224
276
349
317
220
378
316
302
307
366
317
278
335
282
256
333
327
293
331
337
384
227
177
389
340
393
380
293
340
336
251
286
261
233
268
383
216
390
325
361
286
272
354
349
304
265
292
292
243
247
349
274
395
311
204
296
296
292
253
369
316
313
311
326
363
323
355
314
294
392
385
360
227
350
301
394
323
246
316
301
255
340
301
346
338
381
236
376
300
283
300
284
161
266
305
331
308
263
369
297
359
230
306
308
350
339
387
372
309
398
331
298
310
273
296
237
306
277
355
379
323
257
259
397
309
286
269
243
371
257
347
322
263
319
261
298
260
337
363
325
329
336
308
312
426
328
393
350
272
343
278
325
357
325
259
291
311
368
299
314
330
370
340
364
366
325
308
295
289
390
336
270
261
339
254
299
242
328
355
283
318
349
364
300
210
433
345
243
347
290
325
311
235
206
230
268
248
358
354
324
205
298
302
367
235
307
294
364
336
342
281
310
283
348
306
345
389
354
289
233
337
377
327
372
251
282
330
287
227
302
381
325
291
291
333
302
338
284
281
305
393
368
329
279
271
312
312
335
264
230
314
262
323
205
280
274
277
309
289
241
365
303
359
265
372
351
214
343
252
238
334
240
304
277
316
303
392
296
344
333
268
363
346
372
296
276
382
357
330
337
294
333
334
258
284
268
337
313
226
324
264
324
217
352
393
338
330
372
395
359
254
358
372
262
324
301
373
293
340
284
324
329
344
252
330
342
323
274
244
337
337
305
298
293
311
330
317
260
266
317
314
282
334
355
221
303
253
349
349
332
385
356
324
254
300
237
343
373
328
301
245
312
380
307
302
344
366
365
307
263
292
352
343
345
369
297
368
325
288
272
359
377
317
303
327
305
336
364
399
292
272
304
382
280
314
369
302
318
238
400
320
257
319
315
307
305
244
324
307
335
369
366
346
300
290
363
332
316
360
319
193
296
349
279
301
339
295
332
265
290
306
304
322
384
373
294
343
284
316
266
356
406
295
338
332
409
338
380
318
277
284
382
345
365
217
287
367
389
213
299
329
339
277
257
323
368
292
274
351
397
307
323
341
373
319
294
354
346
286
365
312
372
253
259
285
380
245
205
264
301
339
280
306
363
276
272
339
182
302
331
330
333
261
232
250
271
267
391
304
397
318
310
306
259
320
331
362
240
332
331
211
318
299
343
214
355
316
303
253
252
357
312
310
283
362
363
248
319
315
200
327
326
298
314
316
303
220
305
385
296
384
394
294
265
289
276
363
282
386
335
400
262
262
376
362
356
306
238
325
334
287
358
306
354
356
364
415
326
335
325
332
371
317
346
303
335
317
297
308
355
369
363
351
357
348
318
378
317
367
303
281
351
336
344
350
278
303
319
344
280
389
307
309
334
265
298
285
335
303
373
328
293
341
292
358
318
271
341
260
327
326
349
337
392
292
301
293
267
336
355
224
338
395
340
336
343
356
341
180
311
359
342
298
271
282
297
331
387
325
252
310
263
287
354
346
356
383
308
303
309
360
390
335
248
308
329
295
359
291
357
312
345
310
316
280
240
275
298
320
257
401
330
352
407
303
283
284
253
238
333
285
298
324
398
303
288
272
291
352
320
267
338
336
350
355
376
284
275
331
346
296
434
283
362
273
320
376
350
343
288
274
388
294
299
329
271
366
314
272
265
323
341
241
305
333
336
312
325
323
328
352
326
314
296
270
316
185
253
344
327
249
340
354
307
222
306
266
222
347
314
334
300
230
249
307
355
287
256
326
386
329
372
302
329
332
265
308
344
334
363
218
322
350
267
310
366
281
333
327
483
349
323
334
269
398
374
217
269
261
359
373
363
346
333
316
317
373
380
295
310
284
308
411
252
279
324
256
409
339
329
353
282
291
228
353
268
345
331
267
315
321
332
331
366
323
285
311
294
297
275
283
256
403
329
359
285
337
259
252
330
311
332
315
341
388
326
328
336
283
238
280
326
312
357
334
399
318
336
386
270
364
323
362
333
320
297
313
341
311
325
223
366
241
302
364
355
287
175
286
343
232
345
326
317
343
338
349
427
291
302
264
283
312
220
281
317
300
372
280
329
358
286
289
404
276
245
255
351
366
357
346
226
342
339
242
258
341
385
356
390
308
306
306
293
299
330
280
320
320
327
304
319
379
339
430
302
282
324
284
343
378
369
371
344
373
349
335
338
294
316
249
262
334
359
357
375
257
297
341
244
316
336
365
354
344
315
349
289
310
316
379
371
355
388
227
333
355
363
344
293
330
333
202
308
290
293
344
328
312
215
359
323
271
353
331
285
340
291
330
273
268
300
357
277
356
368
341
298
271
322
322
353
382
357
322
359
321
303
299
316
291
364
319
262
358
334
415
319
289
292
300
308
284
310
314
282
317
333
332
341
294
261
396
390
321
373
391
195
309
326
302
314
327
317
432
262
282
312
298
357
306
312
278
267
377
391
381
280
270
324
349
354
339
328
289
272
332
362
302
213
321
332
239
319
254
312
346
262
336
345
281
330
317
389
289
298
238
334
299
376
309
283
290
294
358
275
318
225
345
321
295
295
327
268
334
324
318
346
321
304
279
322
255
257
306
288
309
318
292
357
255
317
259
338
337
278
282
290
247
348
272
352
302
298
340
384
366
245
371
330
377
318
342
270
289
371
383
335
309
236
398
352
357
317
366
269
265
280
351
296
363
347
303
302
321
314
356
314
348
369
374
350
359
288
285
315
326
364
373
274
255
380
303
259
340
349
358
312
329
327
258
253
299
387
292
365
321
259
277
301
316
276
286
314
301
405
253
322
379
406
397
315
321
350
342
429
345
284
311
261
279
364
372
238
291
251
277
326
293
365
302
294
266
241
295
284
303
341
318
351
255
353
281
277
305
323
292
357
310
306
356
402
240
258
301
309
255
355
314
320
394
289
311
307
296
317
273
304
295
317
294
388
318
320
299
238
278
273
331
310
324
340
347
328
324
353
318
346
313
405
324
313
243
349
342
263
280
315
381
387
275
348
282
322
309
300
355
286
305
277
342
346
336
346
318
299
383
282
395
283
303
365
316
331
348
294
319
215
339
360
412
328
411
277
369
294
342
291
268
340
343
322
274
363
258
360
357
338
303
331
425
242
328
279
261
326
346
368
270
357
308
304
340
275
343
439
309
297
332
441
304
287
333
262
329
256
318
200
394
228
310
368
194
297
352
293
326
367
297
265
320
309
326
365
317
303
329
273
284
282
348
316
314
350
374
355
349
297
362
350
411
394
332
307
467
335
317
211
276
250
330
288
348
342
315
292
266
374
363
256
266
370
329
322
355
313
233
411
337
294
271
382
270
355
365
229
332
358
285
342
345
286
332
211
355
217
319
289
258
321
267
349
252
348
296
336
308
363
329
376
314
348
305
420
391
290
352
354
317
291
287
290
259
347
308
370
298
325
308
191
270
246
281
272
349
348
288
284
304
293
353
308
315
322
309
354
391
263
336
337
344
336
334
388
344
344
251
253
332
392
334
252
234
249
315
324
334
312
237
321
437
305
288
355
351
304
344
417
303
292
391
448
320
250
365
289
363
304
295
279
362
256
321
343
362
309
316
267
287
378
274
347
314
273
293
329
281
262
383
352
326
339
293
317
338
380
308
358
327
322
345
328
342
341
343
285
309
329
317
335
325
336
344
267
351
345
308
305
400
290
262
366
328
276
296
346
293
309
349
301
348
360
352
293
382
329
274
366
253
353
328
358
292
251
274
277
266
303
298
330
346
339
373
296
340
338
342
334
312
360
361
315
304
225
301
344
247
289
294
225
283
300
311
301
331
288
295
255
290
321
315
318
239
313
372
303
301
337
326
353
353
289
302
371
260
397
356
259
278
335
313
338
319
188
362
333
250
248
316
352
284
362
353
346
296
412
334
250
284
293
248
293
410
404
307
299
362
275
286
291
314
334
286
293
333
283
348
294
267
306
286
289
328
370
351
309
272
375
401
330
248
377
331
307
288
305
339
366
290
426
342
267
302
301
319
325
301
316
317
325
353
340
316
330
265
347
326
364
358
299
281
253
404
256
286
365
318
300
295
290
318
357
327
339
293
378
319
276
279
258
299
328
260
324
297
318
389
339
241
348
321
285
304
390
304
286
361
354
346
387
312
297
344
277
368
347
362
233
355
326
339
307
336
317
345
418
295
303
297
245
306
259
346
408
302
306
294
269
304
315
321
332
242
296
289
283
396
377
238
404
316
336
303
298
239
228
323
248
306
246
286
306
325
273
301
319
281
328
387
290
331
323
365
306
282
304
290
315
283
324
255
279
278
333
295
367
329
341
355
347
305
277
366
350
352
324
352
355
346
296
293
446
386
289
396
340
300
271
373
332
342
286
303
291
292
311
242
350
280
372
281
284
285
272
353
349
304
364
300
376
250
331
329
374
276
306
305
331
289
292
314
341
339
379
334
266
318
238
280
256
394
314
340
325
332
359
237
325
288
370
290
391
219
384
355
310
349
306
288
198
324
337
297
361
270
382
348
292
344
275
267
329
315
339
347
226
301
344
340
325
325
312
372
283
387
302
347
321
273
280
332
313
262
270
343
281
342
361
328
299
304
313
322
316
343
323
314
399
287
296
307
353
305
282
342
276
322
319
363
308
265
259
273
292
346
321
361
326
291
294
289
286
335
323
340
400
394
265
423
296
277
367
261
298
357
345
306
314
316
374
253
414
335
268
331
282
375
323
287
385
428
257
301
323
349
385
293
352
358
353
197
314
343
358
333
288
317
283
298
376
336
389
352
338
261
310
230
284
257
288
318
335
342
281
235
371
321
353
296
378
319
308
265
339
355
302
302
262
294
283
364
366
322
302
299
382
303
345
320
255
374
325
340
376
320
315
264
362
280
402
317
326
280
401
298
317
276
288
301
363
353
339
341
246
331
386
369
341
349
386
280
277
261
317
356
242
304
315
323
296
395
334
177
325
338
273
276
270
353
306
254
314
449
291
292
326
364
288
329
345
304
324
351
278
323
329
320
307
257
336
269
280
247
301
336
330
244
330
264
244
286
299
312
337
336
256
306
284
277
416
237
328
397
341
346
279
247
283
295
344
313
363
245
405
304
296
360
340
436
349
371
236
329
351
261
197
331
365
302
301
278
287
321
334
227
230
425
379
340
251
323
265
283
292
347
253
362
311
263
354
338
362
319
308
369
342
364
346
358
211
308
335
356
315
268
335
351
341
354
275
276
369
240
338
317
339
278
301
363
306
345
279
309
318
376
353
224
243
322
306
359
422
311
257
331
368
366
303
331
289
247
350
339
385
358
357
343
332
297
272
353
268
294
288
315
290
386
357
380
378
243
298
271
317
415
322
294
361
234
291
228
314
310
393
332
286
355
225
337
260
402
310
377
367
300
353
226
305
250
297
322
291
231
374
351
273
377
311
291
287
300
332
303
305
230
349
285
338
335
384
349
287
368
287
349
319
323
371
322
365
213
300
394
329
238
379
304
312
312
326
340
359
297
295
305
265
268
253
345
354
336
400
331
356
374
344
283
248
285
358
374
344
285
323
309
266
304
369
348
296
313
293
255
277
360
394
271
360
297
327
268
335
305
290
307
250
318
353
284
370
327
274
321
276
271
288
307
380
309
320
345
324
306
367
362
306
307
350
305
307
322
323
347
190
239
241
311
338
336
318
308
337
312
289
279
353
389
300
387
355
343
306
371
240
280
351
275
273
400
294
383
312
390
326
287
298
274
223
364
370
286
336
304
379
278
403
309
330
321
268
420
348
297
341
260
260
319
314
282
323
304
350
313
331
281
317
354
300
379
346
303
343
344
292
302
279
375
336
281
322
267
280
327
325
261
384
287
347
326
246
339
335
341
226
348
368
334
322
309
288
406
316
352
278
263
332
293
302
299
355
272
334
338
306
303
353
312
367
321
322
330
257
340
251
304
294
343
349
345
304
406
295
246
316
292
335
313
276
319
396
293
372
329
226
362
402
310
380
295
252
247
291
298
295
379
377
356
284
337
215
387
273
338
296
249
387
289
326
345
308
235
310
327
176
346
274
304
313
348
293
274
248
325
312
217
291
322
305
326
274
306
298
330
335
436
324
236
265
359
285
426
280
344
316
290
304
226
350
407
362
346
281
244
428
236
403
227
291
355
330
294
326
322
413
352
392
306
323
329
243
402
226
262
342
284
291
284
324
327
380
309
301
346
353
312
358
321
412
328
236
259
292
267
322
295
200
324
290
250
331
288
261
261
325
349
333
277
373
400
375
307
254
307
280
249
255
405
228
403
297
350
367
344
323
326
328
367
311
245
251
365
270
291
327
375
356
282
262
395
267
317
376
393
328
280
317
330
406
330
350
241
331
320
364
375
261
294
370
319
332
319
373
331
350
375
291
329
292
410
303
307
325
311
329
292
317
368
247
328
414
333
284
346
329
300
374
309
370
348
335
313
369
261
311
376
369
323
359
301
319
238
368
220
342
314
282
277
277
335
325
341
238
330
313
284
255
213
234
418
250
213
358
307
329
375
316
337
362
304
334
389
263
263
279
299
396
342
302
346
306
302
333
372
365
315
390
409
237
271
363
255
374
320
314
291
350
412
330
347
300
325
307
313
343
248
282
232
261
308
301
327
265
285
241
327
279
336
345
289
324
277
325
308
350
277
298
382
308
295
396
260
311
292
350
255
328
300
328
361
282
349
331
333
277
346
306
344
306
251
300
303
347
356
384
304
343
267
299
377
257
344
285
344
279
326
353
344
257
260
339
299
366
344
292
310
279
251
364
331
309
321
408
270
212
261
289
321
243
215
316
275
285
260
288
400
374
321
332
315
330
294
268
321
242
278
376
257
318
411
350
286
253
253
394
369
306
395
297
312
344
270
246
303
257
386
212
325
297
260
276
325
187
284
320
281
235
249
355
391
289
311
367
313
369
362
276
322
289
371
286
293
372
325
311
299
338
362
316
337
330
348
395
334
233
243
312
300
346
329
267
377
270
300
305
270
294
303
374
305
318
318
354
243
357
394
317
332
356
308
381
282
298
372
313
268
343
341
322
324
282
311
339
311
338
309
294
419
294
291
306
191
335
394
352
339
288
361
266
286
363
405
342
388
249
320
315
327
391
387
257
322
282
397
343
308
330
327
284
376
293
262
357
316
323
269
337
328
269
333
258
354
352
304
243
365
357
350
340
272
416
282
347
306
291
271
428
345
358
329
321
327
393
396
339
363
412
339
340
355
360
258
343
358
281
298
326
428
237
263
346
348
312
394
425
336
354
307
302
293
325
278
268
295
268
317
275
243
366
327
244
243
345
330
333
352
319
363
355
377
309
347
309
333
295
287
320
287
367
359
343
339
403
363
333
283
367
401
286
401
368
308
323
301
264
355
279
302
398
309
307
324
317
396
284
312
333
290
370
341
271
358
349
423
310
292
327
276
254
308
416
331
287
345
348
278
278
258
376
336
264
314
313
331
306
340
296
299
248
371
294
262
296
278
266
222
388
317
323
354
345
348
327
319
288
283
270
379
280
243
341
308
334
356
340
335
315
293
363
322
331
304
351
295
360
216
234
311
336
336
316
287
281
363
393
313
377
317
345
334
273
274
303
318
399
352
397
316
313
173
370
247
308
267
325
285
359
302
292
311
345
240
275
342
266
430
391
317
342
346
295
291
256
268
323
347
230
268
338
361
359
365
316
270
256
305
267
302
398
251
327
320
241
325
367
262
364
399
299
245
370
313
244
306
334
304
302
310
305
382
333
255
260
319
313
256
332
310
357
403
305
359
318
308
293
377
336
311
310
302
374
352
255
299
335
354
364
236
262
300
287
330
324
357
311
303
269
362
291
339
267
359
250
315
408
325
289
364
312
348
357
249
275
343
334
358
370
257
372
309
350
294
239
310
347
312
241
295
270
282
351
279
291
323
325
327
316
353
311
366
356
340
326
312
351
278
266
375
342
304
297
382
284
275
267
294
360
256
337
362
304
385
319
235
278
346
318
331
363
329
268
310
283
321
322
345
292
244
301
290
328
295
320
284
276
293
452
288
328
261
424
329
342
301
335
299
306
332
308
316
300
381
294
324
328
297
270
338
345
252
238
416
298
297
223
277
345
277
354
290
342
271
295
294
319
323
347
295
360
270
351
284
370
280
297
274
290
378
364
356
276
336
347
377
215
274
282
239
334
327
277
264
256
367
341
374
308
370
377
286
359
256
330
304
318
238
261
345
306
318
279
356
372
296
248
410
316
288
420
357
303
318
309
279
281
300
298
328
254
235
362
254
357
336
371
360
365
224
303
308
385
369
243
392
294
339
309
312
324
335
291
295
336
295
356
295
327
290
297
266
368
317
288
370
337
340
324
353
292
293
237
350
291
319
310
363
452
330
248
269
275
294
361
285
302
327
285
334
273
359
250
338
368
307
317
322
289
244
286
315
365
241
291
325
336
304
258
199
346
323
336
394
291
378
304
341
273
249
337
303
350
272
336
291
317
280
286
294
388
318
326
342
331
300
347
284
366
374
314
382
335
294
378
263
393
342
328
293
340
296
339
330
334
329
291
309
322
375
223
376
367
306
354
370
392
307
397
374
298
318
377
317
312
298
329
265
294
360
379
311
337
243
306
337
312
306
328
328
336
319
244
302
300
356
291
231
350
257
306
338
270
303
316
353
363
357
264
286
245
241
318
288
360
348
357
349
262
279
301
287
271
298
217
411
236
386
370
356
250
276
300
363
338
265
284
354
297
331
273
207
311
385
273
285
338
232
367
313
241
241
339
303
292
242
318
319
333
366
313
248
298
358
295
343
259
281
374
376
270
420
331
373
246
373
284
299
310
299
329
346
335
302
356
332
328
354
355
316
245
369
332
292
292
293
283
300
343
249
328
216
303
322
270
365
315
335
329
286
371
412
301
269
272
271
275
261
317
279
282
270
349
354
355
287
290
295
337
344
281
246
303
272
381
318
353
384
286
264
349
259
270
326
343
336
251
286
314
360
292
299
284
321
369
327
269
266
374
382
260
374
233
276
362
322
374
304
348
301
329
348
248
314
205
287
301
330
390
323
340
305
271
328
315
300
389
216
373
378
339
325
292
258
270
319
191
346
256
299
390
324
316
291
362
320
393
305
390
279
313
306
350
225
325
291
322
290
330
300
341
257
349
320
244
293
359
223
406
216
261
295
370
272
287
270
356
327
332
257
334
304
267
328
324
302
349
314
277
314
285
421
390
362
289
276
299
333
375
246
365
354
314
275
287
297
324
360
323
368
401
343
244
305
336
347
257
273
270
351
282
312
267
306
343
371
371
324
366
222
336
276
326
296
347
307
332
317
251
309
275
373
278
322
228
265
396
311
307
298
365
321
327
355
325
340
355
250
239
311
307
355
254
324
326
324
288
232
306
351
354
318
288
374
276
294
300
363
335
279
226
364
290
329
369
318
331
285
336
321
309
335
358
307
343
317
311
392
250
320
346
323
326
341
310
333
275
331
359
319
322
319
295
253
237
286
339
295
343
346
316
308
364
285
296
354
304
280
347
221
324
283
252
398
363
373
231
347
334
342
274
350
282
397
411
306
328
283
304
319
289
232
360
274
322
281
284
301
187
321
303
287
354
339
356
233
321
373
457
252
309
392
328
299
336
295
321
264
287
268
298
333
388
363
308
336
187
283
340
308
276
284
346
353
320
365
331
254
284
278
282
319
373
269
301
315
309
227
338
229
310
277
344
392
292
291
309
329
269
275
339
282
297
301
326
303
393
347
353
252
396
332
345
389
354
298
347
298
294
279
379
361
361
315
356
378
340
324
339
326
337
258
307
319
291
359
271
363
283
337
373
270
261
331
270
331
273
328
351
354
233
312
269
324
363
363
322
307
306
389
273
360
413
323
276
248
315
347
376
340
283
373
252
295
278
332
244
314
297
298
261
354
357
387
282
332
272
322
304
333
331
328
269
362
282
274
312
280
356
424
319
317
307
342
258
356
341
363
349
343
357
390
336
357
398
379
326
305
340
278
332
338
287
404
307
259
319
291
293
313
396
334
290
333
317
295
337
328
333
274
275
306
411
340
381
244
310
357
346
319
336
340
312
316
340
307
296
332
344
315
295
249
250
304
361
236
320
217
311
238
303
311
270
384
292
318
295
271
370
351
216
337
266
359
302
337
325
367
282
347
309
345
298
357
325
328
308
314
307
282
324
257
308
281
350
283
373
368
306
217
203
392
306
288
305
279
305
341
304
403
330
333
324
353
310
318
286
336
301
297
365
289
304
283
311
305
259
325
323
335
406
380
347
343
385
286
301
294
288
283
345
363
333
333
337
372
277
320
320
312
333
267
363
345
353
221
275
309
309
364
368
350
293
289
286
297
389
333
318
248
274
333
198
353
375
301
355
344
299
296
296
443
401
336
356
339
398
288
230
285
302
327
364
362
359
371
313
356
293
316
340
322
358
280
426
230
282
332
344
326
405
266
323
364
312
306
333
278
284
353
402
354
353
196
293
306
314
298
367
309
266
315
263
280
432
306
347
372
279
307
330
282
258
445
242
436
319
277
310
291
303
351
312
306
338
371
396
349
325
307
264
352
281
309
346
271
257
304
296
245
349
352
299
293
299
261
397
337
319
387
351
350
306
325
320
183
309
401
249
288
270
376
235
405
307
291
229
304
370
209
320
322
368
211
327
275
318
274
268
312
281
371
311
272
309
375
312
218
357
354
354
263
304
228
284
393
302
336
389
332
330
302
329
299
313
307
358
330
288
243
361
383
271
296
310
355
339
253
261
365
314
387
379
263
299
317
377
321
358
326
387
332
283
233
314
299
361
377
193
262
284
316
319
263
358
370
452
350
270
320
341
342
317
308
369
340
314
226
394
343
333
322
325
320
339
322
260
348
379
310
309
297
400
392
284
295
303
363
284
326
383
242
322
363
334
298
267
324
229
320
345
231
292
350
282
256
293
295
275
343
334
319
305
317
392
342
297
273
339
248
374
347
322
298
368
409
331
283
318
306
341
307
298
316
306
368
321
381
329
375
308
265
303
304
281
355
330
388
377
338
364
197
310
366
242
329
325
296
239
366
360
311
353
397
359
349
351
315
257
424
388
323
333
294
315
347
336
389
387
389
250
353
250
277
306
341
181
337
321
268
349
342
369
408
416
362
330
318
260
301
384
297
336
377
337
242
323
308
370
373
343
282
321
274
350
297
312
287
327
318
288
257
349
309
220
399
424
299
329
325
323
297
322
395
338
229
321
315
334
418
352
303
255
345
245
337
351
372
338
328
292
322
314
264
241
259
280
280
326
251
336
210
336
288
300
298
382
345
315
363
330
318
344
335
305
329
345
284
332
287
286
306
312
251
292
291
251
290
307
315
247
280
409
277
270
270
333
365
381
293
303
344
326
335
283
317
262
374
349
389
367
335
365
355
327
262
332
242
349
357
334
267
263
305
247
352
320
308
255
236
305
355
327
289
336
266
315
324
366
320
318
327
310
284
323
325
359
328
264
282
322
303
344
306
303
314
259
319
298
331
342
351
294
355
273
296
349
203
392
268
279
369
302
314
309
359
262
307
347
262
222
285
291
264
262
282
332
291
343
340
293
337
353
371
320
335
317
199
279
285
231
235
316
247
397
349
294
307
313
335
304
320
288
330
282
289
399
241
341
362
249
243
245
400
295
310
355
267
244
342
286
302
326
248
370
319
318
357
333
315
371
350
354
287
335
311
296
243
395
330
296
351
287
266
344
334
388
356
265
366
325
311
328
317
340
304
321
337
339
341
278
311
371
254
366
427
346
301
350
303
284
300
343
338
283
311
366
323
276
239
352
357
398
339
230
377
373
360
323
324
310
315
277
383
330
254
231
286
251
282
324
308
376
313
445
337
311
316
406
348
217
334
344
307
309
293
368
181
337
317
246
322
306
368
299
327
329
343
244
283
374
287
213
357
305
358
347
240
272
325
285
414
330
369
259
337
281
243
317
343
356
326
308
295
372
265
277
244
330
334
209
358
329
293
311
301
371
368
274
233
382
222
276
351
351
316
278
272
343
340
336
267
384
312
375
321
239
321
330
348
348
306
386
341
315
363
332
377
340
350
367
249
430
313
327
379
283
446
240
363
327
290
339
282
379
265
282
305
306
310
367
360
266
337
329
235
341
236
364
289
290
289
355
354
406
355
276
290
334
315
344
343
354
304
299
296
213
282
301
305
356
326
354
270
388
289
306
385
285
213
327
343
301
387
330
262
291
348
240
323
335
346
315
310
358
314
356
348
215
265
312
301
267
334
349
335
397
322
371
318
347
309
278
257
364
388
349
344
280
326
331
313
271
313
330
371
200
291
348
316
302
354
317
283
365
297
338
292
272
386
391
263
324
279
278
376
313
403
419
306
306
188
331
328
298
292
341
339
318
336
283
285
276
178
278
325
295
360
366
257
207
347
330
404
333
273
260
329
382
311
290
229
384
328
342
317
280
330
336
312
258
273
361
265
226
353
359
236
347
375
393
253
264
315
330
391
322
178
309
307
307
403
379
271
331
303
430
347
416
362
422
284
343
312
372
431
421
315
268
275
355
363
258
273
278
342
336
279
266
293
351
277
361
325
287
344
285
378
259
279
317
334
314
308
276
250
334
266
304
295
340
361
269
389
347
307
267
404
266
345
339
363
332
334
320
372
313
272
360
258
407
288
254
293
254
333
368
387
341
289
358
313
289
343
256
380
284
370
326
281
310
333
326
300
313
260
325
419
369
335
234
263
349
331
303
272
329
401
336
321
317
277
289
296
367
308
345
328
291
330
359
297
245
308
373
329
210
304
371
300
243
305
358
326
318
297
386
299
333
348
318
314
349
288
361
324
348
421
321
339
279
241
392
318
298
345
314
282
246
230
282
271
304
284
290
370
348
287
242
348
284
292
395
326
274
294
321
272
321
264
281
370
345
304
316
313
321
396
287
287
321
322
385
296
316
246
304
334
346
307
368
296
252
329
326
416
273
288
384
349
247
288
286
300
363
338
319
324
344
297
321
384
336
278
317
283
410
335
229
322
305
339
339
314
324
270
255
324
310
315
400
336
397
304
348
347
394
279
324
346
269
382
378
255
334
227
399
244
304
314
369
361
375
378
327
323
268
306
372
265
372
287
418
360
336
341
281
296
341
350
332
279
315
384
307
384
291
278
297
296
339
413
308
224
282
268
239
299
289
283
310
308
276
292
325
366
270
308
293
326
387
337
376
249
247
221
358
326
265
437
230
309
205
220
343
321
329
326
246
343
346
380
258
255
345
315
344
344
298
284
320
317
283
265
347
369
293
309
317
320
306
385
295
308
314
310
311
309
295
356
324
306
347
376
370
366
278
319
312
312
212
336
275
355
355
407
316
250
221
302
319
352
340
324
325
324
306
355
344
319
352
338
355
292
284
298
357
309
300
401
320
273
344
232
317
293
341
302
388
186
319
338
294
321
220
349
258
318
190
391
330
354
381
342
351
336
279
358
264
312
370
301
383
358
261
357
329
296
310
280
294
320
277
350
368
334
316
275
373
350
319
375
306
305
297
356
345
351
335
324
329
320
303
365
307
309
349
241
300
318
303
326
373
306
376
354
343
325
400
263
285
315
251
415
339
259
331
313
272
337
347
387
351
274
357
296
344
293
355
379
284
303
421
361
269
275
347
246
356
282
235
274
303
323
298
315
396
255
301
335
317
352
339
373
305
412
311
354
334
298
279
358
287
312
313
271
319
315
317
362
362
364
315
368
274
332
267
329
145
375
385
369
271
258
313
411
384
322
252
325
284
309
275
233
301
342
388
328
409
343
347
330
315
321
303
377
365
286
293
332
269
435
364
250
327
306
364
304
378
342
351
386
286
403
293
279
296
238
338
301
263
387
328
274
258
318
386
291
268
223
230
351
389
290
354
323
285
330
318
332
311
320
293
354
330
367
331
301
374
317
309
368
312
304
410
299
386
316
316
307
335
343
325
319
273
280
305
319
344
390
340
343
303
322
313
304
328
305
279
369
330
245
277
312
359
362
363
266
312
369
331
291
366
281
357
362
361
276
343
246
325
283
305
293
245
320
311
358
312
383
273
278
259
392
276
287
316
351
235
376
222
306
390
378
325
327
308
415
266
331
278
305
296
263
278
333
318
299
323
314
327
240
288
335
327
291
312
387
356
294
333
364
391
252
277
300
286
288
305
310
380
364
411
325
258
317
223
336
345
366
377
301
299
352
284
320
278
277
415
400
343
317
326
409
381
352
278
332
256
321
219
275
311
330
348
306
372
394
291
337
313
345
309
328
398
330
324
358
280
352
295
295
169
378
286
360
336
272
360
272
303
284
309
280
373
330
232
287
363
359
285
312
348
308
330
307
288
240
319
245
253
225
285
295
319
323
352
342
312
345
319
361
291
279
322
300
303
341
305
282
307
248
287
349
322
318
312
284
319
384
398
323
316
330
257
358
321
238
260
325
431
343
343
245
359
329
320
391
329
333
330
251
377
382
329
383
276
201
325
361
287
350
341
322
383
334
297
340
385
336
316
265
278
237
303
249
361
344
354
348
235
340
411
304
306
306
333
358
291
244
282
296
297
284
321
317
393
347
374
301
275
333
277
360
250
366
363
352
273
337
307
184
255
235
271
400
232
326
298
350
246
253
297
340
290
258
279
283
328
255
327
345
331
345
242
340
354
295
280
336
342
312
304
332
327
285
261
307
308
369
236
323
454
276
391
291
359
316
328
385
341
295
282
295
386
260
387
272
357
303
408
351
335
321
311
287
311
347
302
265
359
350
391
404
303
351
296
275
288
372
361
258
297
396
381
322
326
369
327
274
275
342
331
323
371
316
378
284
309
216
287
339
384
302
425
306
287
300
258
270
325
356
332
322
220
348
325
285
294
272
329
312
340
299
295
311
287
269
388
403
313
234
290
257
331
296
272
426
314
294
323
312
271
376
315
311
374
289
328
389
311
389
271
288
312
252
274
288
305
352
270
318
439
356
362
265
299
363
371
324
282
316
363
366
336
306
284
284
383
358
314
292
277
308
301
320
332
321
266
310
368
303
362
335
420
337
262
394
326
393
261
362
366
288
327
288
369
279
325
324
264
288
396
252
351
331
342
400
306
273
330
302
295
370
347
386
290
303
279
274
290
406
419
325
327
426
266
283
280
333
305
326
299
328
343
274
342
285
288
329
308
350
338
329
252
334
303
351
338
345
276
401
275
301
352
245
339
244
296
307
302
378
351
274
259
346
245
349
249
291
301
244
351
275
303
372
293
276
333
371
322
320
257
265
351
347
353
398
311
401
352
254
345
331
221
343
297
298
325
328
352
314
304
374
264
251
275
322
327
246
399
332
274
234
376
278
349
253
373
278
367
377
375
257
392
280
330
252
247
360
281
191
251
288
261
264
318
303
362
372
295
321
330
312
372
259
294
274
408
368
372
323
336
400
304
345
344
349
382
334
358
297
302
342
269
386
251
227
351
362
260
324
315
342
280
246
355
297
276
326
315
329
342
262
359
273
251
261
290
344
318
336
277
345
295
314
291
331
287
297
176
219
303
305
228
293
359
200
295
287
290
352
325
304
281
310
332
412
311
321
227
356
313
323
347
349
287
290
327
389
379
327
352
252
337
388
312
285
345
277
420
275
333
253
342
355
295
406
324
348
257
305
321
311
239
260
358
347
301
320
325
317
261
375
328
280
278
328
334
285
390
225
399
332
290
280
381
260
352
354
267
299
380
285
278
300
361
355
247
331
312
336
358
297
339
299
286
272
312
433
343
322
265
442
282
327
346
373
310
327
290
284
351
309
303
351
305
376
269
369
281
329
296
325
246
234
235
272
331
357
261
325
341
273
353
287
286
287
289
335
339
320
324
307
311
350
339
329
230
294
322
242
288
285
366
293
257
357
318
307
257
295
298
310
326
336
343
304
189
250
332
296
237
275
286
308
276
399
326
397
324
316
384
309
328
356
364
344
369
328
346
337
389
301
333
315
291
261
311
373
376
388
290
372
263
359
345
331
278
279
254
315
288
341
317
255
309
271
316
346
334
396
314
219
396
327
248
261
305
360
309
353
413
353
254
364
315
302
234
386
282
272
336
286
337
334
317
265
290
352
351
246
344
292
305
342
293
318
272
314
386
247
338
358
376
356
295
316
265
334
235
320
341
190
317
289
321
329
263
354
313
346
359
325
310
278
262
319
289
313
259
293
290
319
265
337
348
273
254
345
406
328
280
317
268
281
313
340
281
353
251
361
275
266
299
328
327
354
377
331
337
294
324
329
285
282
344
308
331
337
362
237
231
242
319
312
344
335
359
262
345
309
291
271
212
291
353
325
291
253
291
306
359
373
237
316
268
250
378
339
266
281
286
287
319
341
371
297
319
358
401
284
297
268
244
278
337
335
264
348
233
270
308
302
356
209
315
275
376
289
278
334
278
309
364
318
320
409
305
325
332
323
233
361
288
347
249
408
323
260
335
266
358
297
302
342
387
345
301
332
287
288
353
338
299
269
227
311
318
315
348
213
353
207
184
343
350
279
358
365
362
369
370
243
318
337
339
342
326
307
371
323
218
298
354
365
354
247
261
270
367
315
274
330
255
257
350
289
364
361
420
301
312
317
273
293
245
352
303
287
380
256
294
300
176
302
376
311
338
303
241
301
271
259
281
376
375
370
294
232
353
425
281
397
362
274
274
379
309
317
302
298
296
296
205
351
371
341
302
378
255
369
353
306
385
356
414
343
285
335
361
401
323
308
315
285
283
297
283
363
349
419
338
208
353
378
244
371
332
360
336
304
279
293
305
361
347
321
323
367
322
237
283
330
311
327
213
360
236
237
326
358
291
365
366
331
331
332
372
314
329
309
332
329
238
318
335
325
306
403
385
299
331
354
338
312
264
374
379
260
391
339
414
238
342
290
412
302
379
340
238
258
347
348
389
307
369
253
238
326
391
280
337
363
336
263
284
351
304
308
274
347
222
292
338
342
315
325
315
266
234
333
366
293
320
334
311
358
332
282
321
347
305
238
409
246
223
277
358
235
321
260
229
290
355
282
295
227
237
270
350
352
359
239
228
356
383
310
296
295
274
310
256
331
390
330
281
289
349
368
355
266
337
269
268
270
338
311
318
312
299
280
433
347
299
276
314
332
298
377
280
331
299
312
338
293
265
303
242
227
318
337
339
376
322
377
340
310
336
279
309
222
272
357
264
349
307
306
350
296
258
265
374
321
352
281
313
367
376
306
369
317
346
263
248
292
243
323
287
262
387
351
343
297
330
355
350
273
357
317
301
346
340
273
362
236
356
219
353
310
333
354
245
313
268
305
362
288
375
331
323
230
285
271
301
389
243
320
272
324
332
324
265
418
238
239
327
332
233
317
311
275
329
358
281
267
308
367
283
385
306
339
230
353
275
264
352
335
303
290
240
312
278
291
391
286
374
374
244
317
279
363
330
313
300
234
303
334
321
308
355
289
350
342
364
377
330
345
315
348
382
362
353
241
370
334
355
323
357
346
311
363
364
327
327
245
355
269
320
314
378
346
298
270
315
220
373
287
285
357
321
357
279
326
290
306
309
405
309
309
321
363
263
304
303
369
304
286
370
371
208
325
339
344
230
337
301
356
286
259
313
361
336
349
286
296
278
295
306
383
341
356
386
340
261
340
314
244
312
323
324
347
254
323
337
394
325
327
351
318
330
365
341
384
372
321
269
331
368
347
392
336
273
392
400
295
348
270
298
355
352
355
320
320
287
398
314
311
357
295
336
428
411
343
345
334
324
388
297
259
280
362
423
396
267
248
283
305
410
324
344
277
330
299
333
299
302
314
266
266
254
332
354
268
327
292
292
329
341
328
386
251
315
284
365
271
339
305
334
298
293
269
311
320
234
298
293
329
337
364
327
294
364
328
194
285
268
370
321
313
338
345
352
188
298
326
355
237
317
421
298
349
282
345
229
334
369
364
392
332
342
351
228
355
320
352
373
300
337
364
262
263
322
394
299
232
336
303
356
372
315
315
367
346
323
279
302
342
302
343
337
304
282
241
338
347
344
292
221
347
384
289
361
274
298
300
379
323
366
308
308
227
294
352
299
376
274
316
332
322
309
319
289
275
414
258
272
346
297
413
253
328
359
282
224
319
219
337
276
392
300
321
186
296
383
326
267
357
318
289
259
331
373
290
298
326
316
247
313
327
327
376
305
325
342
267
322
311
285
256
232
366
306
357
253
350
356
335
313
396
268
361
309
328
158
301
314
335
347
296
274
348
332
357
363
333
320
368
301
277
366
261
298
349
280
356
274
379
301
271
284
302
374
284
319
332
347
304
272
326
299
394
298
301
309
300
288
279
359
344
337
271
318
260
354
321
369
240
326
381
294
347
324
387
390
306
370
322
300
275
294
361
361
215
264
310
284
356
339
373
262
322
252
207
353
306
356
335
369
307
317
399
310
356
355
194
342
303
303
303
312
285
235
327
337
292
259
233
396
308
323
261
276
337
358
339
399
334
269
342
297
292
347
293
334
362
316
274
289
362
368
276
346
322
310
314
270
336
299
329
308
318
349
370
161
292
330
320
335
257
332
312
309
321
192
243
350
228
308
277
291
297
298
277
257
305
347
184
187
287
320
319
286
316
274
299
344
256
284
321
223
421
198
305
343
262
345
266
329
360
304
309
262
239
349
327
334
307
322
301
280
236
248
350
319
328
366
319
285
280
231
278
287
392
340
396
355
313
257
366
236
213
300
308
314
358
267
378
369
307
309
306
189
385
234
260
346
258
382
307
281
306
362
346
315
323
432
342
341
382
283
308
217
304
362
267
289
336
298
373
321
307
257
396
324
366
333
294
258
246
276
294
360
328
310
341
367
396
333
348
321
267
316
277
221
332
317
364
382
341
287
325
306
346
350
366
352
318
385
311
347
334
339
263
294
280
254
375
311
317
303
297
368
384
355
380
343
301
362
317
294
297
309
286
356
287
268
310
273
374
277
413
338
320
185
294
267
339
312
289
355
246
322
411
267
236
293
306
383
229
251
341
278
316
291
338
304
260
317
369
281
327
278
326
269
248
229
278
303
320
261
344
442
290
352
332
264
340
382
348
393
325
347
261
315
239
288
308
378
310
312
308
333
319
292
361
271
347
266
328
273
297
254
366
362
318
257
288
344
295
414
365
366
177
330
352
334
364
258
293
314
258
318
249
332
339
325
303
353
309
355
305
356
297
308
399
312
233
326
343
265
282
346
348
299
285
327
258
227
320
317
368
276
329
291
232
363
350
285
364
299
354
277
306
293
294
337
324
281
343
410
397
308
278
398
298
316
362
248
326
350
359
352
353
362
341
302
373
300
323
317
355
362
306
320
318
398
289
330
362
309
342
364
325
318
287
320
272
303
318
332
338
323
299
290
347
309
324
354
363
305
403
309
316
363
365
230
333
289
269
323
339
339
311
325
313
291
262
307
265
398
276
324
334
298
315
301
288
321
290
320
327
313
391
300
255
318
345
241
350
325
157
345
287
304
384
363
274
274
239
382
408
371
226
329
311
315
316
445
302
331
354
333
317
289
340
316
445
367
396
273
283
356
341
346
332
363
311
335
347
271
352
309
265
307
300
389
318
301
353
298
232
308
291
280
258
317
334
353
286
241
383
338
302
323
279
235
340
373
328
345
382
330
335
331
337
323
392
253
281
312
248
327
335
335
304
373
275
305
343
397
349
335
197
362
320
280
392
356
360
372
302
376
407
353
360
356
271
332
419
326
356
251
342
326
338
322
378
356
312
291
301
314
385
328
295
304
322
345
372
244
243
336
322
341
357
269
353
355
400
254
303
335
218
285
317
327
358
390
307
284
284
262
363
226
333
349
253
375
323
334
261
385
277
299
349
373
354
273
382
300
414
327
322
359
352
287
328
334
339
277
347
343
381
349
329
323
270
285
420
328
246
315
332
257
370
307
371
334
309
287
336
236
348
343
353
289
294
314
310
359
361
253
257
284
340
388
275
311
269
292
364
262
241
337
268
346
274
300
314
329
311
311
238
328
336
314
364
345
242
339
351
326
308
257
323
366
279
293
339
310
316
293
375
364
264
212
290
335
257
342
309
357
365
289
372
381
391
378
371
322
288
321
366
356
301
304
281
264
334
389
299
282
348
347
296
291
262
256
296
297
269
312
308
279
244
322
374
346
305
302
279
391
329
305
332
344
405
295
347
324
335
299
335
371
353
347
272
281
369
385
300
393
249
320
291
280
367
306
326
304
285
299
357
287
313
288
286
314
322
345
325
303
271
336
327
343
286
317
225
264
304
305
284
311
285
323
314
313
282
317
319
316
294
283
347
339
338
352
358
332
262
267
337
259
292
347
348
316
319
322
354
294
356
277
327
280
278
298
328
328
385
308
295
307
335
371
339
275
263
285
268
355
303
364
296
348
303
241
311
281
330
286
381
391
322
327
259
298
257
375
262
342
363
436
248
336
361
329
295
317
352
276
287
332
358
346
373
321
301
303
252
263
245
311
310
336
298
298
345
326
322
331
259
298
349
397
224
320
322
368
278
253
282
315
267
308
238
324
381
368
362
301
270
300
331
334
287
211
353
280
321
316
288
322
282
320
356
314
227
307
343
293
346
363
304
274
301
329
339
318
332
355
306
310
295
290
313
323
344
317
356
312
330
279
344
342
350
274
306
237
365
296
361
337
316
246
413
302
349
314
308
343
386
281
288
319
315
330
357
315
316
268
239
331
276
323
302
354
298
357
344
322
328
287
351
349
323
307
298
290
358
303
397
395
355
333
334
369
298
315
323
271
361
242
301
321
282
325
257
304
396
337
453
376
347
350
345
369
272
314
317
336
378
315
214
219
271
281
398
337
343
333
330
250
313
303
335
288
309
300
344
342
293
279
352
316
270
317
348
315
362
327
344
354
328
374
192
299
277
256
316
306
349
388
312
307
359
316
350
370
392
371
306
365
309
336
351
304
269
314
265
343
288
380
238
314
297
356
324
411
303
343
365
293
433
328
368
364
344
311
284
316
296
288
394
390
341
363
298
372
341
369
281
248
296
279
357
254
313
321
356
412
302
302
331
369
381
222
298
306
323
326
339
316
352
324
315
314
330
326
339
334
311
303
372
272
314
357
369
313
265
271
292
315
298
287
328
321
287
332
313
337
342
306
384
397
266
297
355
324
353
332
300
359
287
255
294
309
312
295
327
360
274
297
300
331
362
300
311
205
222
250
343
360
282
308
315
364
310
418
341
338
348
262
288
297
338
420
318
297
339
243
332
310
320
237
246
335
342
274
353
344
354
308
340
335
305
224
373
318
303
326
276
284
359
327
309
257
297
272
338
324
349
353
359
227
348
257
303
177
299
375
317
385
387
253
328
343
341
338
279
323
297
302
376
378
354
259
345
310
298
323
227
401
381
266
321
322
349
306
354
302
285
314
376
357
260
274
357
341
388
327
311
310
262
304
192
322
310
279
276
308
267
287
388
352
364
333
276
322
299
340
386
341
268
311
323
285
318
341
358
392
316
352
336
279
285
371
346
350
284
226
280
338
417
261
355
371
342
249
230
298
341
357
304
262
337
385
250
338
295
334
283
282
369
253
376
305
262
318
310
300
212
327
369
309
330
290
332
303
357
290
297
358
310
291
311
323
342
298
269
253
318
291
281
322
338
310
360
291
350
363
357
324
287
238
387
321
336
327
293
312
286
340
273
253
324
374
232
288
394
288
309
296
273
298
235
264
258
329
395
318
309
265
293
303
323
347
320
314
354
379
298
415
352
294
288
288
401
317
292
214
289
199
320
427
245
303
335
319
340
355
352
275
293
348
410
254
361
336
311
400
319
328
326
311
304
310
361
282
404
275
250
344
271
326
278
365
399
358
375
335
343
249
324
272
316
377
298
295
328
424
314
378
339
201
289
271
309
311
342
323
288
339
198
272
391
351
276
391
349
395
377
303
341
257
300
336
287
297
392
406
320
337
318
336
235
364
366
278
350
362
379
355
262
304
379
298
356
309
237
337
317
288
350
346
236
380
325
288
368
324
287
322
311
345
388
337
330
366
310
362
372
361
334
311
327
402
339
397
268
284
375
305
377
316
310
350
276
301
321
339
355
281
261
333
321
368
332
339
263
312
314
284
370
373
352
311
367
374
309
234
292
242
363
385
239
339
349
287
365
273
330
259
319
340
359
218
371
357
360
324
267
362
286
292
350
353
336
261
353
283
293
337
274
329
338
258
269
272
274
339
285
312
291
322
334
232
367
366
330
307
270
312
278
362
346
393
390
247
286
328
273
310
235
205
306
414
366
347
386
329
313
227
310
357
343
342
438
206
400
276
286
393
321
406
328
332
299
275
334
282
357
332
325
272
334
335
318
294
405
292
358
307
289
272
267
405
338
315
339
296
346
305
362
383
230
297
383
215
342
273
378
319
361
309
302
272
348
241
319
267
367
268
330
293
311
329
338
282
291
282
309
315
327
274
326
237
216
339
220
252
267
331
368
374
352
361
360
256
363
405
334
377
347
263
263
321
272
334
282
331
277
270
286
352
210
314
303
321
243
378
376
361
324
314
330
312
357
323
361
267
309
326
258
353
391
382
219
292
297
266
356
250
380
429
301
341
374
278
330
346
330
328
298
301
345
286
277
327
246
250
357
395
324
301
278
328
344
295
367
277
330
339
318
280
309
326
299
340
296
245
322
355
397
247
266
283
324
369
305
349
352
423
216
341
373
292
265
336
362
322
264
282
268
250
370
358
234
377
342
355
288
265
319
251
268
282
319
281
362
334
308
353
377
270
250
253
321
278
335
337
307
398
267
283
399
306
337
402
258
287
345
322
264
337
300
324
286
325
303
295
293
331
303
299
323
293
285
389
249
277
324
310
335
304
256
288
263
300
331
322
344
312
397
312
324
279
328
341
309
416
378
286
291
354
264
283
318
279
376
347
327
342
372
321
266
252
266
286
341
379
346
374
194
367
270
295
350
381
297
275
304
272
301
289
349
250
264
451
279
360
394
298
266
277
324
293
377
335
312
373
253
353
356
299
289
362
360
298
333
363
286
429
335
294
289
276
315
357
358
312
286
379
331
352
262
425
305
238
282
347
364
344
246
293
319
344
389
322
342
341
361
350
317
308
280
361
307
296
374
345
288
247
333
394
338
310
328
242
270
281
338
269
306
366
323
241
325
336
281
366
321
411
342
318
335
322
313
311
255
272
337
361
296
323
314
241
333
348
344
318
254
335
338
346
296
337
317
372
341
331
351
338
208
299
273
310
273
368
277
400
320
363
305
337
266
361
416
304
367
271
331
382
263
363
408
279
328
302
336
373
249
358
328
355
373
348
372
355
352
258
293
323
324
232
334
281
304
346
378
256
330
276
310
302
311
289
348
299
340
353
337
305
343
344
317
274
327
287
365
296
375
342
271
248
354
362
324
309
283
200
363
244
350
305
337
292
296
332
354
275
293
370
216
373
351
307
302
302
321
356
280
317
381
340
251
277
359
415
395
324
370
349
341
281
393
301
390
288
313
312
363
320
313
348
364
307
310
357
347
391
325
312
324
327
283
311
314
287
283
394
321
199
311
316
329
354
306
331
295
193
200
284
321
343
364
296
324
370
322
336
379
383
251
392
306
316
315
275
390
336
351
316
373
342
295
400
279
263
334
424
329
271
223
327
357
332
323
357
364
345
250
345
389
317
386
318
307
260
374
325
325
287
362
306
296
315
315
371
295
364
308
361
373
334
392
247
355
313
345
318
248
344
280
300
351
350
280
312
293
277
339
376
381
253
443
341
440
276
374
373
327
313
389
384
343
361
316
308
359
377
270
249
272
232
319
365
346
373
258
305
255
269
302
429
331
305
335
338
306
260
332
242
423
410
325
329
279
268
317
369
340
332
320
353
243
373
290
296
298
347
388
277
257
325
279
310
288
339
317
294
332
289
256
281
288
321
290
301
281
304
344
438
397
322
334
288
320
380
304
295
273
333
301
265
336
375
340
343
310
292
334
317
351
321
280
232
229
295
296
363
320
327
323
374
425
206
335
318
304
308
369
382
257
362
247
380
305
281
347
321
362
284
347
292
298
348
338
367
329
295
349
305
302
333
385
316
313
253
366
310
394
316
311
293
267
308
300
338
261
388
304
380
335
339
330
371
270
282
379
426
352
324
305
250
298
346
370
299
341
242
346
303
379
315
258
262
250
341
349
396
317
363
325
409
296
386
361
331
280
286
321
276
285
359
314
398
303
359
307
319
350
291
328
345
314
361
387
356
312
317
264
306
335
223
325
362
302
215
313
317
294
336
310
307
332
346
335
328
337
359
347
343
298
264
329
303
309
314
342
331
204
354
331
286
275
282
312
348
315
323
376
394
316
381
385
307
250
437
303
308
352
279
327
328
284
330
280
417
286
324
346
355
299
270
238
367
276
336
380
317
367
260
301
303
396
323
263
325
234
324
291
326
240
309
333
353
356
265
332
268
236
344
319
318
340
336
286
337
272
351
361
242
354
344
305
366
265
297
336
249
298
327
267
310
273
282
343
361
369
346
384
373
378
241
285
295
381
283
310
356
264
273
333
378
373
346
277
378
232
335
332
289
331
273
365
282
259
391
354
345
426
289
382
332
272
233
386
299
362
345
329
311
341
358
325
354
327
302
374
361
275
364
341
337
298
242
297
265
287
332
327
308
195
283
308
375
305
220
384
295
343
341
307
244
273
308
376
326
333
316
301
365
304
263
416
286
316
335
368
312
297
348
286
323
389
321
344
314
367
310
355
318
282
323
313
321
341
312
338
311
333
265
276
269
349
252
376
250
411
257
397
266
302
290
335
358
396
276
346
267
314
260
312
315
384
337
309
264
352
272
235
281
393
319
278
364
230
304
368
396
252
309
336
313
293
352
315
293
401
307
251
243
282
288
337
333
261
339
323
312
315
368
342
343
375
291
299
339
246
321
290
321
269
350
270
322
306
329
350
273
337
301
286
366
296
287
349
193
277
321
214
358
378
328
310
235
249
320
328
331
328
220
308
312
270
294
381
270
279
309
338
230
360
341
260
310
279
346
326
320
277
231
292
281
364
279
347
313
309
292
256
337
398
336
274
370
347
254
277
295
311
425
300
374
363
258
320
338
275
320
329
307
355
320
348
303
275
354
372
293
373
392
444
236
364
327
344
352
268
393
356
394
313
438
255
279
284
315
274
357
321
236
368
269
318
219
399
378
341
332
359
269
346
331
252
272
357
318
296
333
298
304
401
287
209
340
233
319
342
291
287
287
300
388
304
380
367
343
289
246
323
278
297
245
253
384
268
343
344
311
330
289
333
383
273
317
255
328
335
356
368
336
363
351
272
283
293
368
332
343
359
383
394
333
339
266
332
351
349
301
315
348
338
338
354
371
349
273
310
386
284
275
244
352
329
325
247
267
333
301
328
395
327
279
341
342
303
299
302
305
398
372
301
329
325
365
283
245
314
340
372
306
331
361
369
285
337
366
312
371
365
305
340
357
341
372
320
329
376
391
365
362
322
360
313
282
383
334
228
373
227
273
318
361
345
324
295
335
349
235
357
268
334
293
336
304
354
361
442
225
290
350
358
327
318
368
306
319
354
302
316
299
281
346
243
274
330
354
351
303
271
327
220
332
322
317
222
314
308
347
287
350
289
365
325
362
244
322
362
270
389
405
255
281
282
328
298
272
363
410
296
292
269
317
293
339
271
366
369
361
333
306
345
302
267
235
260
301
359
299
339
277
249
297
292
350
375
377
233
220
367
281
254
390
324
272
306
279
298
333
324
385
255
282
248
215
307
254
428
289
318
359
329
368
315
302
298
324
201
331
343
242
354
316
337
307
299
249
353
272
316
190
322
293
267
326
278
337
270
258
339
353
331
263
259
305
340
332
327
337
301
312
339
364
280
294
388
254
289
337
343
275
312
361
333
308
404
394
341
294
268
345
310
332
363
272
355
284
370
348
274
333
386
283
260
284
330
394
353
316
294
287
378
336
293
303
313
327
296
323
368
290
306
295
318
351
304
385
316
335
395
297
271
298
278
239
271
401
362
298
251
364
281
307
304
392
277
321
306
366
311
339
318
237
380
294
276
408
314
368
283
383
344
320
241
289
321
267
415
333
331
291
354
377
279
374
342
408
326
297
257
399
338
263
339
361
326
310
352
310
367
336
323
286
264
288
370
256
314
315
311
279
307
383
320
367
375
302
313
321
288
297
280
325
324
109
300
320
285
350
346
434
344
338
295
342
318
410
373
346
344
328
397
271
280
259
312
370
246
351
397
294
305
339
283
374
178
365
386
281
288
360
288
300
371
255
367
284
293
351
381
354
325
345
323
274
343
284
318
317
330
308
217
342
303
348
270
278
337
305
277
345
333
377
321
289
290
375
350
335
332
258
249
314
335
339
264
329
322
342
249
376
260
349
342
326
276
332
190
234
384
334
271
316
407
329
363
284
284
286
346
326
315
316
257
300
321
358
304
341
299
375
310
414
260
295
320
368
336
288
360
349
336
373
271
288
332
321
377
347
233
298
291
306
360
341
246
297
283
303
261
348
326
253
259
314
372
341
285
404
350
295
359
339
259
316
300
299
292
352
361
333
349
363
257
312
301
311
294
385
378
301
303
338
298
297
342
263
274
368
255
358
325
325
370
301
279
327
317
221
328
289
331
362
283
360
284
308
324
281
392
311
267
340
362
318
289
346
358
269
367
333
289
328
312
390
353
278
269
295
386
361
303
389
332
351
309
343
327
282
261
325
285
367
358
284
407
248
310
333
356
286
340
321
417
362
384
381
273
330
296
416
277
277
326
317
339
333
274
369
391
377
335
373
310
306
309
252
328
350
361
287
394
266
264
307
299
269
359
244
249
288
224
366
278
307
252
359
313
280
242
275
355
261
311
364
332
339
344
380
301
317
415
343
268
336
324
275
251
303
277
291
318
311
265
332
308
296
302
359
339
201
276
216
290
289
254
262
350
280
254
283
398
213
296
192
383
321
268
365
243
362
272
357
356
293
281
298
348
266
441
309
366
292
271
355
341
370
324
315
408
246
355
316
314
363
308
272
340
327
306
338
287
329
264
371
244
251
340
270
266
375
388
380
314
341
302
412
309
309
343
292
274
306
297
331
312
334
318
382
262
374
325
344
276
241
295
332
280
294
317
403
280
331
310
327
332
298
304
294
346
288
416
364
357
317
403
318
301
280
300
231
299
328
316
413
326
332
283
333
285
328
285
367
313
313
271
274
335
266
351
338
364
326
356
277
344
355
365
345
306
363
377
300
318
349
280
294
385
353
314
334
249
314
237
251
294
352
265
332
419
324
265
315
324
350
352
390
219
278
246
259
310
292
302
338
326
353
278
273
275
309
368
291
331
304
350
307
348
344
229
311
318
270
286
284
256
289
356
340
221
253
361
281
301
382
334
334
361
326
325
417
317
322
316
363
314
366
311
253
288
264
318
333
372
288
379
227
344
292
330
321
294
381
331
242
388
310
302
316
307
344
329
291
413
325
368
338
303
378
320
265
302
344
325
356
362
231
412
304
351
321
315
289
296
261
348
281
305
323
358
326
234
392
226
353
253
335
298
333
246
295
335
382
262
272
247
369
308
369
316
297
286
352
320
247
346
280
366
324
277
348
339
336
313
266
316
325
275
326
332
338
371
264
304
259
305
327
354
383
374
319
304
392
275
179
385
235
365
333
330
370
344
275
330
332
370
360
392
299
341
342
352
296
362
263
320
251
280
288
195
411
312
297
275
210
315
381
257
347
340
364
275
307
325
326
283
254
279
315
292
279
321
279
364
268
309
299
348
351
259
323
358
372
220
263
327
328
298
365
235
307
249
323
347
247
243
222
394
327
352
302
261
296
429
309
311
363
250
367
428
305
358
355
320
294
396
295
287
334
299
308
338
388
285
333
339
305
357
316
321
350
280
241
260
319
361
376
410
314
280
333
267
250
282
299
288
306
367
341
375
352
267
314
318
284
375
286
315
319
274
223
337
342
370
377
280
298
339
350
346
383
366
285
325
309
314
298
332
257
294
244
337
336
343
342
282
263
385
376
221
304
392
312
229
352
293
269
315
328
299
309
271
317
355
385
257
295
332
277
244
356
365
300
250
284
311
325
318
264
333
325
307
326
314
351
284
334
372
280
382
355
307
280
302
304
288
280
324
383
337
290
314
328
352
305
336
405
348
330
297
267
322
358
286
293
356
301
289
341
306
268
293
310
320
347
362
319
369
277
339
345
288
351
341
383
362
310
340
323
319
352
277
296
284
287
335
263
298
363
357
354
302
376
360
329
275
173
381
335
367
319
342
316
385
311
373
246
293
331
387
338
357
202
332
238
347
336
343
222
332
400
250
380
326
398
379
304
309
330
400
334
211
346
257
340
309
342
229
360
422
299
317
318
366
335
324
280
344
319
330
384
247
300
333
400
385
351
304
290
325
294
267
303
284
192
350
241
243
396
300
307
307
347
269
303
378
314
287
329
305
402
292
353
333
267
292
255
376
311
308
316
316
352
264
309
346
332
318
392
291
264
266
257
326
274
270
258
392
395
192
278
383
384
239
286
343
368
318
345
303
318
294
348
311
344
270
316
324
233
319
258
312
366
339
359
242
339
286
255
343
263
319
292
282
287
226
365
380
310
282
253
360
244
363
333
331
271
304
275
289
334
333
292
310
284
283
279
411
275
228
272
320
342
354
325
184
308
302
264
309
362
232
331
301
343
344
387
351
269
380
335
277
244
364
436
275
396
281
333
303
293
351
282
370
256
298
229
345
308
224
257
298
327
303
346
305
303
288
270
301
295
367
323
242
218
348
350
297
279
298
374
245
277
298
263
353
369
365
302
336
307
373
267
349
308
341
229
328
267
315
329
294
271
301
350
393
291
347
346
290
343
324
372
378
283
385
216
324
329
344
357
283
346
306
352
375
345
337
345
261
408
345
348
254
322
212
301
364
278
383
337
361
295
359
348
382
413
318
406
322
337
381
292
253
327
302
358
275
332
299
287
281
334
297
405
347
269
424
318
274
262
287
389
290
286
233
307
247
311
335
370
253
341
272
322
382
306
312
291
348
399
330
353
243
325
256
363
399
324
385
367
359
313
268
310
338
355
279
417
271
319
401
291
334
314
361
234
205
239
275
255
283
324
179
285
374
264
328
394
297
334
338
330
331
273
384
318
278
329
327
356
345
318
294
322
337
338
397
387
293
325
302
333
323
287
408
343
280
273
389
340
326
375
270
310
318
275
249
281
333
265
242
284
345
207
313
400
347
366
261
270
344
340
334
339
361
355
286
287
332
339
286
291
305
314
328
287
299
307
297
336
346
327
245
287
362
290
366
359
349
316
267
391
244
331
337
299
294
263
298
310
304
397
331
351
336
315
315
363
290
345
329
243
372
327
331
373
336
303
362
301
286
273
261
308
292
321
364
330
334
366
307
290
439
298
399
317
331
342
285
289
387
301
309
430
359
307
321
415
369
277
281
317
310
207
333
339
281
337
397
264
280
264
259
317
308
354
264
305
339
330
335
317
345
360
336
257
287
360
232
350
330
332
382
221
306
328
356
317
347
300
315
320
231
319
281
406
224
332
291
307
288
357
240
336
353
258
339
319
322
347
343
241
268
355
285
355
269
324
255
275
330
274
352
230
304
353
324
352
342
407
374
243
382
363
318
317
281
315
235
295
325
364
346
273
322
321
367
342
286
341
284
262
296
359
241
335
228
352
359
307
293
273
367
318
306
378
251
331
321
342
267
272
303
395
264
326
346
289
254
370
283
311
253
304
293
341
416
281
377
277
399
291
295
280
296
354
326
223
363
352
280
370
357
325
306
304
260
253
325
255
316
340
252
311
314
395
260
359
342
372
250
361
258
321
304
338
381
413
274
286
311
201
344
324
264
304
298
268
415
261
353
351
314
312
273
228
265
419
294
315
264
280
288
294
324
388
297
288
342
363
323
344
255
323
296
393
354
328
329
330
324
355
377
304
322
269
322
394
220
242
386
263
302
312
318
385
310
324
333
273
278
386
290
251
332
333
298
348
223
391
290
462
370
333
346
338
343
238
228
313
332
385
254
329
306
343
226
260
277
317
328
333
303
285
297
284
265
343
297
378
399
377
345
306
400
263
339
311
339
319
321
266
285
359
319
280
403
322
351
323
298
344
336
304
339
285
295
326
315
357
261
412
325
366
339
315
340
339
331
306
247
398
294
271
329
317
223
365
267
294
278
366
310
331
263
363
347
340
257
308
352
211
326
316
324
375
327
356
305
318
307
232
400
391
368
381
253
385
400
352
306
319
337
338
261
343
332
347
294
300
355
365
295
326
265
244
295
330
309
258
322
232
294
349
332
256
317
298
338
350
327
275
299
258
392
271
334
365
405
357
385
266
386
293
369
238
259
376
347
252
343
316
384
325
399
230
318
408
246
341
320
250
313
260
235
363
306
285
232
283
342
228
305
292
345
269
363
266
413
282
326
291
249
348
334
357
339
290
260
264
316
335
343
345
300
212
418
326
407
293
265
352
326
396
347
290
317
299
304
285
312
287
347
364
317
365
290
205
319
336
239
374
272
311
296
371
371
316
376
294
392
334
360
340
308
283
315
333
301
257
309
286
288
413
343
317
360
357
252
316
305
270
327
243
274
231
271
394
292
344
315
357
312
282
255
311
369
318
334
372
306
355
269
349
271
400
296
305
309
347
341
344
375
381
289
297
316
286
306
285
279
299
349
288
314
297
334
348
379
362
308
335
256
377
329
377
273
311
283
393
365
289
346
314
366
292
315
359
303
318
325
303
331
363
309
342
373
370
254
280
326
293
389
404
244
299
285
317
322
252
261
339
245
408
350
285
335
303
364
296
327
235
322
307
295
340
379
367
338
228
335
347
305
287
324
251
276
348
364
294
343
353
348
228
321
335
297
317
315
272
292
227
323
267
282
355
372
341
230
350
340
323
318
340
311
327
377
342
220
357
285
310
356
264
287
257
297
274
277
363
311
337
287
346
317
390
298
318
351
330
329
265
386
288
290
294
290
348
325
375
271
388
329
345
366
262
301
238
271
327
283
324
355
438
323
329
328
270
297
344
304
299
328
301
310
271
278
274
350
336
387
276
277
352
362
323
393
391
270
313
300
317
323
322
383
364
328
315
423
315
263
321
264
341
345
327
314
196
304
327
362
369
330
340
320
305
257
343
332
369
365
340
268
361
282
301
333
361
347
176
304
357
257
333
315
347
360
302
351
269
283
261
276
258
374
355
314
284
310
381
307
372
334
301
242
299
393
308
299
314
299
281
364
370
371
370
274
352
340
361
343
277
385
309
308
357
269
240
390
272
343
348
319
227
388
329
335
229
347
342
293
378
304
333
239
346
323
249
324
286
299
381
289
323
293
362
367
338
318
305
282
381
340
324
347
281
310
288
357
366
286
237
391
352
417
319
253
222
257
381
306
307
391
318
256
371
225
330
278
321
387
428
366
332
379
382
258
334
319
246
346
343
347
265
334
373
255
267
414
322
240
306
380
330
300
393
387
248
308
364
322
320
282
334
346
323
268
292
324
276
323
293
318
294
296
360
385
313
243
329
266
281
361
331
328
281
286
306
351
295
316
279
290
361
310
344
327
325
367
285
322
313
397
281
293
336
327
334
289
266
226
403
261
251
334
301
304
375
323
398
325
340
337
213
324
280
412
342
298
341
241
265
295
323
292
355
280
256
316
282
274
366
325
302
267
397
335
339
371
259
280
389
240
350
319
281
252
378
361
312
352
313
224
321
313
292
290
282
377
367
309
412
333
382
355
253
282
288
343
342
309
283
378
376
383
334
351
265
337
322
366
292
366
391
277
294
298
215
316
289
323
348
300
332
275
362
290
327
360
307
378
296
358
272
320
248
383
334
172
327
265
366
326
332
322
311
282
320
264
413
298
349
297
239
368
311
383
310
331
295
368
299
352
385
254
326
352
268
310
343
319
334
310
303
332
291
314
296
319
324
332
253
280
286
335
281
281
335
383
264
295
295
339
416
296
312
262
378
285
342
385
399
312
270
318
298
323
359
279
317
266
330
301
278
248
371
318
311
272
314
257
242
399
250
341
217
327
379
308
254
273
371
267
366
304
286
316
327
291
330
385
305
346
306
362
347
415
274
222
295
273
340
313
353
288
302
333
290
278
327
275
401
308
341
313
380
321
279
253
254
281
279
208
313
293
293
271
343
265
306
277
324
246
282
296
287
303
280
416
320
325
356
280
329
321
349
378
324
301
268
226
307
260
212
295
253
335
257
320
373
358
275
331
339
368
353
335
373
342
335
301
297
251
272
365
246
352
365
377
341
292
311
358
324
321
338
276
285
327
268
389
224
296
320
275
362
313
330
266
341
368
325
348
262
279
331
357
336
335
309
313
283
284
350
279
399
275
363
270
407
345
309
390
329
295
195
392
293
332
344
322
297
283
288
327
357
352
322
297
375
330
330
340
321
296
385
297
290
372
259
270
297
383
276
342
273
267
324
370
334
361
304
362
327
394
317
254
321
254
245
416
360
318
354
370
259
316
362
376
258
285
376
306
357
306
257
299
303
249
246
310
303
289
324
277
290
233
387
319
244
342
339
355
282
290
294
345
360
267
297
247
296
327
266
337
291
355
320
258
375
265
341
334
324
359
359
237
340
340
263
333
327
321
332
211
376
334
290
297
281
351
334
369
303
256
362
347
379
355
395
332
360
332
309
278
347
273
324
386
363
319
272
303
335
231
341
323
323
285
333
262
310
324
350
231
285
322
362
347
342
333
306
255
250
270
334
380
369
308
246
290
274
316
314
315
354
351
275
390
332
353
210
324
351
346
303
397
393
310
239
328
396
276
324
309
318
324
282
259
349
325
259
317
304
328
315
324
303
354
248
336
273
327
313
398
272
299
281
255
343
381
409
303
377
244
361
331
318
316
385
311
265
271
358
323
342
281
404
264
280
390
324
299
249
390
317
288
347
309
318
344
269
254
261
353
354
325
274
315
338
303
334
284
356
232
296
355
300
386
350
325
389
260
292
391
318
306
314
311
314
304
384
305
388
293
325
313
387
249
328
308
384
265
235
255
321
344
285
289
335
364
349
270
404
277
286
272
327
291
304
313
354
298
346
320
214
283
344
346
292
358
221
282
349
331
343
360
361
314
364
233
286
354
216
369
285
302
316
338
300
242
275
390
281
309
288
280
353
305
367
296
314
303
273
305
300
298
352
311
334
290
437
355
327
311
372
245
301
253
353
341
329
360
321
312
255
373
393
382
363
328
374
349
312
280
309
343
233
312
277
408
358
284
320
366
384
241
362
285
298
341
293
235
356
289
308
346
289
348
320
331
284
312
300
329
287
386
330
380
338
294
323
314
240
302
277
312
346
300
301
350
275
341
331
289
265
343
216
358
291
325
295
292
329
206
330
338
372
330
296
406
386
392
280
359
256
352
263
321
289
317
343
192
317
340
330
360
396
288
293
381
360
287
390
312
359
299
285
323
415
261
225
312
367
295
346
270
310
367
327
345
364
267
289
350
301
356
222
276
301
284
235
294
385
303
370
380
287
293
361
345
360
319
283
332
272
383
348
238
288
325
356
331
322
356
352
268
272
220
297
294
209
211
338
368
300
273
323
342
379
268
318
251
354
358
284
334
338
317
294
352
299
356
357
260
336
385
343
342
309
333
334
329
281
418
360
287
386
322
298
307
324
339
432
295
326
385
344
275
288
282
306
339
282
297
357
389
251
329
280
288
248
305
349
316
379
389
269
257
263
299
277
238
334
266
331
269
373
287
293
272
227
302
356
346
293
332
336
357
366
290
245
361
370
285
370
320
296
219
307
363
290
246
388
329
382
361
265
323
296
320
293
342
378
325
245
416
334
322
309
296
292
310
335
296
311
312
363
358
368
363
330
259
329
353
316
377
344
320
344
344
351
332
360
298
257
375
262
371
362
395
229
324
321
285
301
303
430
323
390
311
375
350
337
324
361
231
323
353
267
312
257
257
294
255
305
356
306
314
291
322
292
284
345
348
325
228
216
270
332
306
311
366
289
371
320
369
359
351
255
281
304
268
404
289
276
346
365
347
317
360
341
325
286
258
383
279
427
324
344
319
287
338
332
328
250
289
272
299
350
233
329
343
338
286
291
258
332
337
363
373
318
282
362
307
334
355
312
319
283
319
342
335
337
415
332
237
278
276
257
332
313
304
327
292
382
292
366
338
302
358
304
352
278
383
349
329
329
335
374
284
330
325
299
337
307
344
355
354
343
299
339
249
324
233
356
233
315
347
298
352
403
283
330
313
281
252
320
398
402
270
323
252
289
334
271
271
361
246
336
344
298
344
245
260
273
268
391
375
340
269
350
358
377
287
350
303
408
329
342
294
301
413
429
328
351
314
299
300
314
262
305
383
323
384
315
374
320
336
371
364
371
329
285
271
243
346
232
406
299
340
334
247
309
218
320
349
382
310
337
305
336
298
346
338
265
337
300
280
300
302
322
264
292
266
252
321
268
313
327
390
369
251
355
282
399
327
346
335
350
353
315
334
366
307
311
239
304
264
288
404
340
354
308
302
270
337
404
304
379
380
303
350
312
267
282
286
361
325
232
242
285
336
241
305
316
264
310
308
296
373
284
250
297
336
281
191
319
256
338
356
305
331
330
232
293
319
279
365
367
270
342
254
376
295
336
345
188
331
369
254
276
334
256
246
385
247
343
297
297
344
319
399
329
301
253
344
309
308
376
338
277
326
315
250
346
249
277
355
334
270
329
283
363
313
281
319
348
386
336
301
312
313
389
277
271
267
271
318
401
344
371
280
316
311
288
283
299
254
382
240
323
304
359
362
248
350
369
236
341
196
266
423
267
300
353
312
327
275
235
331
316
273
266
237
262
317
308
407
297
286
364
309
302
363
335
308
350
307
330
252
333
304
319
372
305
364
305
263
345
321
382
302
390
398
278
290
347
211
368
302
307
297
386
297
337
357
269
251
234
228
311
328
268
321
352
315
293
321
335
352
339
339
243
370
271
370
292
319
254
440
277
243
262
271
323
257
356
309
292
300
363
292
304
359
355
375
366
360
329
374
386
291
338
224
325
340
264
337
311
346
400
379
299
348
361
254
285
366
354
318
316
325
365
342
359
352
283
345
306
269
311
370
283
290
350
293
317
388
309
317
315
331
303
259
265
269
371
356
376
279
262
380
238
322
304
347
290
344
377
228
285
304
348
354
283
309
288
303
246
312
357
342
326
327
335
311
368
317
444
306
238
293
289
221
268
284
221
274
314
221
312
301
302
277
352
323
344
271
348
363
282
312
280
308
294
338
330
378
389
318
290
369
333
346
402
271
321
367
285
361
284
322
377
364
314
355
383
280
340
360
284
299
321
328
365
318
316
322
338
261
334
322
320
297
373
357
363
364
283
386
338
303
248
324
379
357
329
418
329
340
422
387
358
335
314
235
273
294
364
366
231
312
390
338
261
306
269
292
271
357
227
238
296
253
302
260
283
300
307
327
272
375
317
348
305
390
314
310
328
325
266
283
274
242
290
276
214
323
345
277
301
307
361
275
308
264
301
300
300
354
328
315
336
336
313
296
290
304
341
398
298
361
366
304
293
341
273
277
374
304
328
324
287
313
260
277
368
341
285
241
358
342
332
293
311
388
393
302
262
310
377
317
293
188
351
269
280
321
272
312
377
376
230
278
302
251
320
277
275
358
353
388
277
302
341
207
335
332
318
318
320
333
410
316
250
268
330
351
376
283
293
404
335
276
290
315
328
349
323
306
431
380
293
317
326
310
292
361
297
223
275
318
367
225
325
290
377
352
266
365
328
363
362
277
315
369
296
342
341
359
241
356
391
239
336
324
302
379
334
303
243
315
380
304
284
269
381
272
386
206
285
274
322
379
241
337
359
293
364
250
364
317
306
312
284
259
336
260
230
334
218
340
372
370
288
281
330
328
288
297
273
325
329
340
310
352
283
219
405
331
290
296
373
231
299
283
351
316
327
330
295
320
259
376
306
298
319
248
364
369
422
381
303
353
318
338
331
316
231
346
232
288
391
320
346
353
371
329
273
302
336
267
356
292
268
317
413
281
273
350
292
317
311
303
368
347
300
275
325
414
379
273
238
324
290
263
315
366
317
260
331
391
353
274
387
354
294
371
333
355
343
347
364
368
312
327
368
273
350
326
289
347
339
345
275
370
351
337
308
300
341
420
349
304
448
253
235
284
294
333
345
323
327
365
391
420
233
396
372
278
341
355
336
303
274
301
347
310
316
381
298
336
319
237
313
359
384
344
303
345
284
300
316
324
270
303
315
390
287
308
393
234
254
354
275
319
245
357
329
366
335
275
307
268
315
347
367
269
336
372
293
280
316
315
365
276
391
294
333
254
319
304
335
300
253
308
318
357
300
374
341
312
263
278
304
310
323
364
267
385
317
269
385
239
375
275
302
322
252
269
262
417
376
326
314
358
348
326
297
337
352
276
329
253
354
311
346
362
378
289
303
315
377
402
287
374
341
388
281
252
387
355
380
256
341
281
350
325
324
259
256
327
410
268
284
333
285
370
363
323
335
362
342
276
291
350
353
299
326
289
313
335
250
273
318
251
361
290
308
425
351
313
306
272
271
348
269
288
377
326
351
282
322
275
378
321
383
317
342
301
278
343
272
354
319
362
311
286
315
261
330
274
308
362
311
312
315
279
292
298
238
313
265
353
335
331
310
347
380
369
373
392
367
273
390
255
302
338
302
318
275
298
184
310
341
306
324
412
323
315
377
332
367
246
294
299
309
239
312
275
288
352
309
332
334
311
372
371
286
345
282
357
343
303
310
214
293
284
298
298
314
258
365
368
305
393
276
358
319
328
373
229
287
374
312
324
347
261
291
336
362
281
324
341
313
311
396
232
329
353
292
358
356
309
318
311
341
288
259
347
329
347
294
303
306
230
357
367
314
301
227
233
330
364
228
302
280
337
234
379
316
323
304
265
347
348
331
388
304
292
314
293
319
338
262
307
297
295
352
325
352
316
349
356
303
337
260
317
357
341
254
296
274
308
295
329
328
324
338
320
331
332
341
320
348
265
313
353
332
365
378
331
366
333
365
227
259
296
327
279
272
317
307
317
247
244
338
267
326
298
401
315
371
316
327
397
388
307
423
280
284
340
315
310
277
312
310
303
314
312
282
264
259
291
344
337
284
322
288
307
338
362
361
330
376
269
350
336
319
380
306
309
235
294
343
346
273
347
223
226
296
414
286
333
337
267
286
327
266
244
305
340
368
300
363
320
408
258
377
323
264
272
409
420
347
255
321
320
344
351
257
284
339
391
327
320
388
373
348
362
300
206
394
325
314
321
246
302
363
347
272
320
348
280
342
300
373
320
326
391
360
414
265
324
252
354
386
369
360
228
317
290
358
278
345
286
368
336
353
204
316
325
333
399
271
287
312
333
216
289
271
327
386
357
381
296
260
373
325
252
371
317
287
361
337
320
246
346
385
316
366
331
220
355
312
283
333
337
273
365
287
242
312
334
344
299
409
304
309
342
358
358
301
392
348
323
271
211
283
396
291
330
295
310
178
319
328
282
330
302
410
350
303
320
310
313
349
262
307
313
336
309
332
283
313
389
333
333
310
329
373
306
330
276
402
315
290
272
361
374
380
288
352
309
278
320
358
212
349
320
265
301
297
349
287
306
294
322
357
292
341
312
293
329
251
325
332
343
309
300
341
296
359
319
303
305
297
330
317
322
398
359
366
242
319
357
322
314
345
304
294
321
221
357
449
285
355
223
390
321
355
333
306
297
354
376
199
332
325
333
336
379
336
291
317
341
275
292
326
300
314
340
306
413
327
326
329
364
336
317
368
310
329
333
290
372
371
303
240
375
325
272
362
334
284
398
315
310
244
298
305
316
352
294
331
299
362
274
259
269
342
303
325
326
310
282
358
353
324
316
325
320
347
418
285
306
306
283
383
305
276
310
293
289
304
271
376
288
360
394
328
358
323
345
302
314
293
340
327
269
349
347
391
346
367
316
315
234
319
326
274
261
352
358
277
331
342
280
301
294
326
327
355
294
328
328
218
285
237
190
338
225
251
266
317
339
394
355
326
298
292
349
407
313
366
372
321
286
298
344
395
276
338
411
332
332
383
291
256
350
322
281
313
333
316
327
285
251
381
356
419
282
335
330
332
365
257
342
377
336
345
265
241
325
290
320
368
323
389
318
299
323
334
219
333
280
338
279
292
208
331
317
278
274
294
319
298
343
371
289
316
295
259
305
316
249
238
420
331
298
321
304
295
292
258
406
265
295
301
353
306
358
344
306
266
347
338
308
281
252
343
387
291
343
356
356
385
251
310
302
329
401
307
294
323
418
292
301
277
321
332
367
340
181
369
365
281
314
236
344
259
346
347
266
385
376
380
354
316
340
301
267
370
303
313
322
396
336
238
295
301
261
304
429
304
299
327
402
331
408
221
242
310
348
298
264
291
352
308
401
374
313
342
285
271
362
388
295
241
295
354
305
346
309
300
302
281
282
193
244
363
388
278
329
295
337
372
289
346
291
308
326
340
344
316
370
302
283
321
249
318
255
294
314
345
324
261
324
244
342
371
322
307
320
284
328
297
298
338
312
310
304
334
287
300
262
375
313
300
346
284
264
355
289
360
316
316
286
346
305
337
320
296
406
360
341
336
288
288
306
367
306
347
328
358
403
292
313
290
316
338
323
288
290
294
313
301
297
329
360
173
314
388
283
348
327
326
347
275
358
363
224
303
361
344
284
284
343
321
293
328
362
316
301
316
313
332
364
356
342
265
329
278
382
396
284
305
213
328
274
330
297
343
242
306
309
338
367
300
360
302
302
287
402
335
286
310
261
309
265
353
364
328
302
279
363
275
320
294
238
367
424
295
359
283
297
366
342
338
369
246
366
269
274
281
316
378
317
352
298
317
343
262
376
305
360
336
375
361
359
344
328
357
361
311
280
353
368
334
308
282
372
268
329
290
370
365
299
249
353
270
367
341
322
290
326
359
376
319
383
372
307
342
419
400
347
286
230
338
374
297
268
298
378
387
360
305
352
298
351
372
289
369
269
294
371
308
277
255
315
326
363
248
388
283
258
398
324
375
381
268
289
357
314
315
268
303
376
249
345
333
260
266
350
365
299
328
357
351
332
270
317
317
259
283
389
316
365
290
288
368
287
254
290
294
325
381
276
382
319
323
299
340
325
333
269
278
272
368
317
274
361
358
354
409
313
307
359
386
384
379
321
329
301
278
287
272
291
283
252
384
334
271
363
292
278
326
304
330
291
338
382
361
371
344
365
329
311
344
364
358
434
327
360
288
325
356
279
313
336
220
214
327
331
266
299
281
309
416
276
445
181
352
308
378
372
338
418
286
312
276
359
288
300
253
361
379
371
333
420
271
321
321
323
328
330
353
378
308
272
283
239
340
301
266
278
268
294
358
380
338
292
359
247
178
333
236
190
298
325
340
315
279
342
328
323
367
376
337
313
280
362
321
338
305
355
251
324
284
393
249
280
216
267
332
324
322
334
305
332
299
348
392
304
304
311
404
317
316
281
252
263
431
257
282
304
340
342
335
290
335
300
294
371
255
289
302
344
372
351
315
240
273
285
285
269
144
328
321
283
325
342
351
199
260
264
347
414
422
316
380
352
345
314
307
322
350
238
298
330
318
326
256
277
392
351
364
334
346
291
350
341
291
354
226
312
297
307
342
202
356
336
342
238
366
252
316
344
229
390
350
332
305
275
375
310
323
367
327
221
273
256
277
356
279
375
371
330
320
298
330
269
356
242
368
321
331
353
303
337
335
333
349
363
278
382
321
385
327
304
323
363
333
311
325
299
290
298
314
350
356
317
227
330
305
285
391
280
341
291
336
323
250
313
321
354
373
376
312
314
364
334
368
317
374
342
372
294
350
324
373
265
325
361
309
425
287
363
310
323
367
311
351
422
269
276
340
318
368
379
331
390
257
320
331
268
341
313
394
341
334
302
209
329
370
297
330
328
313
344
322
322
274
295
369
263
339
282
325
325
318
383
320
316
334
246
325
339
314
328
313
351
348
276
328
297
266
268
325
304
294
312
298
290
310
336
340
336
394
306
272
316
354
353
323
338
385
293
305
276
341
365
205
354
355
280
377
255
304
260
322
344
324
263
327
332
287
300
320
305
268
338
288
348
358
337
320
264
356
396
377
355
359
296
316
370
316
209
308
262
278
341
250
358
362
344
370
349
301
331
318
291
282
272
320
325
314
405
356
400
301
292
348
289
435
381
402
281
314
302
298
259
296
396
328
377
321
256
346
264
327
354
330
371
209
291
301
278
328
275
268
291
338
296
317
234
348
319
279
396
328
256
336
271
316
346
369
265
387
419
395
317
276
336
417
333
303
297
251
204
312
301
317
333
298
306
329
251
299
304
381
310
288
353
305
353
348
388
268
267
308
377
364
334
364
241
348
400
321
403
377
287
373
357
280
305
280
239
387
298
352
297
221
320
326
258
383
294
307
248
349
356
300
370
356
292
385
293
285
328
332
286
318
406
397
239
360
325
351
436
288
310
292
286
396
399
395
312
222
319
288
349
293
210
345
328
297
263
370
270
372
351
269
319
246
305
415
334
347
350
263
315
276
315
351
267
339
371
307
277
245
337
287
296
304
306
367
259
257
343
321
328
280
244
311
272
314
236
360
350
336
363
370
314
367
269
320
334
327
315
340
386
308
351
352
400
293
296
358
350
352
390
240
294
328
216
325
304
356
378
302
288
345
353
263
314
320
347
314
302
289
240
367
255
329
285
299
295
363
336
406
377
407
221
365
341
254
316
357
319
354
309
364
329
326
339
342
379
308
306
314
209
255
401
357
412
362
250
244
300
276
333
287
318
284
344
294
322
274
344
359
380
314
288
270
366
332
366
247
328
247
320
301
306
284
326
312
334
349
284
349
230
276
340
348
340
222
303
322
334
348
423
325
384
251
248
277
320
327
280
320
361
300
293
384
362
320
281
253
431
230
376
309
416
305
332
323
363
228
295
291
268
321
282
318
299
339
325
356
344
360
269
388
329
329
325
229
271
368
313
419
164
325
286
367
311
397
306
296
345
366
305
323
304
203
321
285
349
336
273
260
342
346
267
324
245
374
373
285
395
203
276
315
336
245
354
343
316
270
264
342
321
267
358
345
370
317
303
287
325
326
354
283
286
307
246
324
328
338
307
318
343
333
354
253
297
344
299
324
286
296
260
314
298
286
256
348
281
306
279
296
267
348
317
344
311
331
236
258
315
371
286
279
339
247
305
314
387
330
313
214
352
396
315
364
324
307
328
341
292
386
247
301
322
287
351
376
300
220
311
298
332
245
345
288
371
338
341
354
289
360
319
275
295
255
303
339
289
321
355
306
314
330
351
280
233
343
208
359
249
321
417
354
237
287
368
330
341
304
371
373
331
290
308
367
329
402
348
303
300
285
277
327
340
298
291
383
273
207
338
285
289
230
281
364
291
275
278
308
245
209
258
334
378
355
287
340
290
344
304
328
312
279
313
327
355
324
285
346
269
320
273
235
363
331
245
349
316
383
326
267
323
324
322
332
298
289
243
365
327
313
378
403
289
309
342
312
304
311
328
245
319
350
328
276
354
265
284
270
321
347
338
333
334
377
347
282
346
313
259
328
380
313
309
299
247
365
373
369
314
298
368
291
339
280
272
322
338
331
383
353
342
273
330
255
344
311
308
375
340
339
208
314
335
314
317
250
300
360
306
347
246
274
338
335
357
363
347
315
238
307
276
400
343
353
296
262
345
334
250
241
364
261
226
270
349
276
279
308
347
344
331
361
391
274
360
341
303
350
284
364
360
302
370
385
339
389
338
316
406
338
318
362
306
329
325
281
332
305
308
282
384
352
376
321
390
347
287
389
266
406
321
360
324
279
325
357
332
333
314
289
329
327
375
360
351
261
224
308
313
323
395
294
317
316
287
374
359
324
322
273
268
345
333
314
310
247
342
374
284
178
289
297
365
325
242
394
259
225
357
388
226
272
335
335
358
309
351
335
363
342
400
281
318
341
276
213
328
353
300
284
336
342
303
304
346
283
319
354
225
312
343
325
353
273
324
297
330
325
241
344
252
337
322
321
287
363
271
287
337
400
267
264
226
374
323
207
389
284
271
248
328
341
343
314
359
298
386
290
244
297
363
342
349
288
357
315
280
274
403
265
310
267
320
304
334
290
344
188
287
380
327
392
312
327
355
321
274
355
304
359
336
353
286
243
331
262
313
292
289
411
291
259
339
298
275
255
353
238
318
323
400
262
305
341
313
323
347
336
254
261
325
262
287
336
258
285
301
421
375
269
282
327
281
309
285
313
351
341
275
274
288
376
274
257
263
322
217
355
306
277
319
313
319
275
393
367
367
359
284
246
382
321
369
380
249
333
342
271
190
202
242
305
300
369
311
371
297
299
335
389
379
264
302
288
298
315
241
307
312
293
340
363
283
371
363
359
364
270
270
286
275
238
392
245
324
322
289
326
297
372
297
284
249
333
303
320
324
347
293
325
303
355
356
369
329
313
235
341
379
375
336
382
358
289
289
325
296
298
332
283
320
353
333
330
343
359
267
318
321
391
275
308
350
356
287
291
339
333
412
317
297
336
216
390
366
307
364
353
349
272
320
308
347
290
403
294
406
351
392
273
380
352
350
204
256
408
376
391
334
282
364
299
290
376
333
287
331
274
363
321
408
234
323
240
297
269
219
294
327
254
260
271
380
360
327
264
327
232
376
249
276
264
273
320
240
343
263
348
340
319
253
210
370
290
264
281
327
427
324
310
259
345
311
347
298
371
379
289
275
287
321
346
419
256
321
298
361
266
301
269
370
282
395
255
287
369
404
357
387
305
306
385
380
235
251
397
254
262
308
293
233
277
268
242
284
325
337
356
411
334
381
259
336
336
307
257
360
244
299
229
314
244
285
311
348
397
287
281
360
354
337
272
314
392
332
310
297
303
408
269
331
306
364
345
294
321
268
259
253
325
358
294
288
360
278
334
354
250
333
337
265
298
269
297
367
384
218
370
345
224
355
285
300
295
298
281
319
357
286
361
374
295
313
360
328
329
251
273
299
387
253
294
230
389
359
323
259
260
380
372
348
311
385
285
372
259
339
370
294
257
299
293
298
392
239
301
298
348
359
354
354
336
317
379
386
327
331
297
332
326
337
299
312
256
311
334
286
310
339
362
306
310
348
411
286
352
343
322
282
408
306
370
348
334
289
374
332
301
240
350
322
233
299
367
280
329
282
338
327
319
349
383
271
381
257
369
383
424
294
257
244
342
279
365
354
313
353
278
277
334
257
276
231
284
371
370
241
362
315
314
237
314
304
322
262
325
344
295
298
346
358
261
323
321
406
377
334
344
309
288
295
314
295
320
343
354
324
324
312
361
364
368
292
355
355
276
312
287
389
323
321
277
325
284
349
301
290
347
344
391
340
336
327
299
303
335
311
262
315
347
368
342
374
288
302
315
398
199
332
307
309
306
265
366
295
384
314
259
345
279
303
317
205
261
378
343
295
310
277
291
278
378
308
288
319
374
342
216
316
340
299
322
249
353
378
295
284
302
391
390
341
292
361
223
384
361
298
283
333
361
308
249
301
350
287
310
356
272
322
339
345
308
327
275
358
347
371
258
325
334
327
286
289
267
302
326
309
297
374
331
264
319
309
311
249
306
312
289
296
351
387
292
277
335
345
296
245
317
357
303
257
337
366
361
320
298
304
246
278
313
272
352
286
281
297
313
326
318
293
335
301
380
286
323
283
248
386
253
268
353
268
205
310
305
219
287
323
317
319
381
325
316
252
355
302
305
387
340
320
313
350
285
299
273
297
376
272
289
329
360
272
374
373
348
354
393
347
316
332
356
242
296
345
389
367
284
253
353
343
272
373
338
309
341
317
378
266
337
287
366
285
283
319
370
256
350
324
365
266
274
369
344
286
346
278
253
282
311
292
300
333
302
267
294
349
342
372
364
269
358
343
402
335
323
370
357
312
361
393
290
368
306
338
281
354
302
307
349
288
287
339
274
344
230
299
297
309
296
301
271
338
366
323
345
278
280
368
332
315
245
326
298
303
335
277
342
378
255
318
347
315
366
337
298
346
268
340
306
334
367
347
259
413
343
283
327
346
251
259
210
399
284
284
283
328
215
305
227
249
335
293
295
333
339
344
385
274
290
296
305
318
391
391
319
340
253
210
288
295
317
275
273
318
409
386
293
344
295
356
280
313
239
326
367
320
268
374
341
332
385
321
312
282
272
316
323
351
272
355
343
329
313
267
303
396
368
283
292
373
356
407
331
315
251
197
292
329
264
314
331
283
264
274
357
277
291
355
327
348
296
287
270
335
362
331
345
310
261
210
254
266
236
316
325
350
312
322
305
340
307
366
321
233
372
236
344
361
329
300
334
315
304
292
209
296
263
324
295
277
254
268
374
323
303
300
426
279
334
263
336
239
419
328
289
354
341
329
368
395
361
370
307
357
280
307
373
357
335
369
260
246
279
351
296
311
350
378
298
381
223
281
247
299
255
357
304
305
367
342
347
357
264
307
319
417
299
297
342
282
268
345
350
351
258
302
371
283
358
345
298
372
297
289
297
288
367
291
285
308
463
352
302
366
320
310
358
355
351
289
325
331
395
324
309
245
232
317
350
359
307
327
311
317
322
258
388
333
218
324
265
438
242
337
289
260
233
326
334
297
314
242
286
329
391
305
300
274
333
324
272
383
363
199
390
352
279
356
289
280
261
392
306
277
333
373
236
257
281
297
409
348
366
325
269
319
262
376
389
312
307
325
302
359
281
328
241
284
272
246
343
332
317
299
290
357
284
275
353
302
306
207
327
330
297
270
356
351
291
296
339
245
359
260
337
230
355
269
343
359
362
300
241
266
275
346
355
269
294
227
301
284
316
268
272
297
308
291
310
272
345
275
365
267
377
335
391
352
358
279
319
306
388
272
321
270
200
290
317
395
259
311
376
314
286
286
331
382
281
267
340
333
321
343
216
307
318
288
312
358
317
318
246
388
371
249
331
362
259
273
295
403
421
348
304
256
313
189
330
346
328
312
320
291
333
303
302
291
343
378
291
332
388
312
363
310
336
352
351
375
416
295
328
251
264
320
292
332
247
239
375
257
309
350
335
369
325
260
336
299
364
296
320
303
284
277
325
272
371
271
334
276
328
323
362
312
294
270
351
365
313
296
316
361
237
289
254
300
378
276
304
305
332
338
296
321
346
280
341
287
319
354
319
279
285
380
291
276
285
348
360
277
316
350
362
370
266
373
346
331
219
367
386
233
364
326
292
202
351
329
311
369
351
229
289
306
243
340
295
355
268
277
326
310
312
318
364
282
292
271
308
380
305
307
323
308
406
370
341
363
284
325
279
382
290
348
260
312
277
385
247
338
361
273
351
341
320
355
248
315
296
308
325
306
387
276
266
327
409
291
363
325
303
312
357
340
331
236
298
316
369
284
365
315
343
301
319
299
278
308
257
323
265
311
315
289
281
345
304
261
303
316
260
308
287
262
338
367
303
279
307
290
316
273
354
301
271
364
308
238
209
207
237
218
265
304
315
414
319
296
351
337
296
361
283
257
326
406
325
331
319
244
312
287
366
363
349
281
386
359
374
345
277
334
285
320
302
393
355
303
379
358
397
366
330
419
315
275
307
312
306
287
298
316
348
375
325
325
322
358
379
344
379
396
268
307
321
295
342
311
309
240
356
327
331
341
259
343
317
292
348
352
397
300
360
355
348
336
343
349
291
334
342
344
288
345
342
367
327
314
323
370
277
431
229
327
394
299
332
353
282
297
340
285
315
383
355
279
311
370
319
324
321
302
321
302
337
328
350
289
268
339
358
368
335
351
356
331
322
372
287
412
247
281
286
261
290
270
323
308
303
326
284
326
338
316
294
270
295
274
228
316
317
418
336
271
372
246
359
255
434
314
300
274
276
350
338
409
336
286
281
267
360
256
317
330
260
277
264
357
410
281
337
278
302
318
266
332
251
322
343
328
351
258
314
314
373
276
297
327
315
243
285
335
332
251
290
322
371
345
320
317
350
309
361
382
342
342
364
248
310
356
296
295
341
295
336
320
326
319
307
332
274
290
374
320
262
244
294
261
341
346
340
274
283
334
306
262
300
231
282
377
366
295
274
364
319
326
290
223
284
268
326
274
245
350
274
308
340
351
231
290
299
299
343
285
326
273
340
262
309
352
387
367
365
314
336
326
349
353
358
333
375
335
322
295
362
391
367
295
379
302
341
338
294
348
247
397
296
324
397
343
319
292
394
312
366
276
350
358
295
339
336
295
284
374
276
367
337
308
342
306
307
366
285
350
293
201
409
330
293
329
257
362
342
340
387
346
278
351
342
328
290
242
273
299
219
343
414
338
289
276
292
334
318
321
302
367
277
296
288
347
212
328
295
307
338
350
351
258
344
294
373
246
370
330
287
241
297
328
330
291
298
388
320
351
383
334
344
367
343
253
330
362
387
238
362
343
418
306
271
339
293
337
336
320
293
344
383
299
353
331
235
293
354
350
334
379
345
365
325
343
377
332
359
315
357
321
258
354
358
346
288
281
301
335
359
291
293
257
367
338
324
350
362
282
360
305
306
309
317
293
328
308
361
382
228
319
358
322
344
255
351
339
352
248
235
367
301
351
349
321
294
334
320
309
309
362
311
297
313
261
285
324
340
410
320
353
348
295
287
271
395
312
328
307
312
306
381
322
331
415
304
299
302
286
282
307
275
315
328
364
243
274
282
332
309
318
315
300
300
313
332
297
358
341
288
336
308
349
278
313
333
373
277
327
347
348
385
317
384
357
271
235
331
365
312
352
325
278
292
374
352
292
329
242
290
390
322
347
347
333
281
290
368
294
378
230
285
303
250
368
225
346
243
383
323
317
332
338
327
341
339
404
308
236
429
370
329
328
360
313
265
321
321
333
339
272
319
377
374
270
373
291
348
333
342
317
234
333
350
281
395
342
299
426
367
274
229
320
290
339
266
349
309
293
326
251
317
386
251
218
318
314
369
277
325
305
285
241
396
352
385
347
363
331
321
349
301
323
341
381
356
339
296
352
266
353
305
251
310
243
295
285
324
309
365
354
347
299
287
337
312
372
326
354
305
274
257
248
266
284
374
343
278
278
326
310
222
347
358
335
308
341
286
335
262
304
202
224
348
271
364
261
322
327
323
375
358
269
264
251
232
280
327
338
320
264
240
298
265
250
296
286
377
341
344
319
403
322
269
296
291
368
312
361
345
351
297
223
318
352
365
310
291
327
334
325
307
283
338
365
320
284
286
308
327
297
321
309
327
300
309
354
291
263
298
338
280
294
316
306
367
304
372
275
315
324
299
277
323
338
331
304
327
328
371
320
251
314
288
281
334
392
261
265
388
328
282
257
329
312
211
318
318
381
265
287
330
314
265
304
286
392
276
297
334
290
325
309
275
293
315
293
401
408
285
385
346
310
338
370
338
301
342
335
331
340
268
262
235
315
329
302
292
317
363
187
291
387
362
307
256
281
317
326
302
363
372
235
297
345
355
315
376
389
326
296
280
382
318
245
337
339
289
305
363
358
289
329
395
271
365
335
398
373
282
268
359
329
316
346
293
366
342
364
345
303
327
409
342
365
198
336
328
266
366
426
298
247
370
281
361
299
327
340
368
304
283
276
282
316
301
283
258
327
396
247
236
287
284
319
286
327
341
311
281
285
314
312
381
368
395
251
293
332
238
318
383
303
342
385
344
393
359
333
365
344
292
347
345
359
361
307
331
355
312
417
323
303
257
345
326
312
266
314
369
360
357
294
327
263
275
249
241
263
421
357
315
329
302
308
329
296
375
335
329
358
259
317
238
320
384
263
301
285
277
305
247
374
321
284
282
367
301
284
340
348
357
313
307
297
334
301
322
338
234
321
346
363
290
305
339
285
339
277
208
289
366
278
358
391
331
283
332
281
346
298
351
353
248
314
205
413
413
341
310
284
336
337
324
348
400
362
355
321
361
346
355
358
264
340
357
298
333
321
287
352
346
348
284
273
313
315
374
281
303
331
222
327
314
393
307
376
254
230
255
337
212
302
258
377
298
232
290
267
360
308
312
419
239
343
276
373
341
310
303
326
316
232
382
268
327
339
378
335
390
346
290
336
238
352
323
275
204
334
358
285
294
354
312
292
323
309
414
359
350
349
331
331
313
244
288
366
253
238
315
283
357
319
311
278
305
339
247
413
253
312
272
348
279
305
356
282
347
340
326
238
357
264
279
239
322
325
260
254
319
315
335
348
294
274
336
286
354
315
306
219
372
273
395
249
338
317
364
335
303
350
324
304
336
361
307
320
334
357
307
275
295
275
302
352
280
319
353
285
309
348
382
229
219
331
354
274
326
250
381
387
310
298
283
377
290
336
301
292
301
305
372
336
286
267
316
316
329
284
349
299
292
399
338
240
311
338
273
430
280
313
264
322
347
295
312
312
273
309
319
342
322
370
354
354
272
303
401
310
274
348
361
334
265
277
377
295
296
294
240
256
315
297
270
365
251
305
305
223
297
348
289
239
361
244
319
317
332
383
292
346
297
372
357
337
330
364
387
352
260
321
271
329
272
353
335
233
290
338
294
317
359
262
358
322
280
279
349
332
255
350
278
402
338
255
363
395
310
261
372
322
263
357
304
388
275
269
324
309
337
385
314
307
348
355
334
282
269
320
310
332
337
408
339
348
372
284
347
304
326
248
290
354
277
309
251
303
339
320
365
249
224
351
353
272
338
315
348
304
360
316
304
225
331
301
369
300
292
284
350
314
341
317
312
316
341
306
342
303
289
270
382
318
313
331
342
336
261
320
341
268
267
322
236
349
323
291
322
283
295
285
335
410
265
271
390
373
371
293
287
305
317
338
256
380
312
297
294
355
232
353
268
283
371
340
324
333
347
310
337
332
316
304
293
341
298
392
323
295
370
364
383
299
294
287
358
286
362
314
381
319
273
365
294
316
353
350
334
291
263
337
314
242
214
389
397
362
309
327
239
278
248
342
343
336
339
323
235
352
350
309
354
333
289
341
323
281
286
342
332
348
289
312
241
289
382
268
327
374
361
322
342
323
304
331
361
345
362
300
334
379
288
276
325
324
369
335
220
402
380
354
362
322
274
367
361
368
327
280
392
311
271
370
297
379
319
286
323
396
339
306
279
265
310
324
400
374
233
262
310
318
289
314
336
361
367
307
326
266
286
320
267
295
327
348
306
267
278
380
266
258
219
356
308
337
392
324
329
296
382
360
373
411
310
384
331
322
298
372
254
319
272
299
360
309
296
295
417
342
290
342
414
300
273
383
319
384
280
320
280
342
323
317
323
343
329
358
286
312
304
383
355
407
301
338
372
316
373
342
319
345
328
307
305
300
297
360
377
365
337
350
397
361
328
269
284
205
246
403
296
221
312
324
339
298
318
271
311
322
346
280
248
355
384
281
203
371
388
298
277
307
258
414
294
344
390
266
303
355
386
263
321
331
333
264
362
306
270
307
312
320
331
359
251
404
329
298
330
329
286
299
332
306
363
369
324
351
326
328
317
258
270
257
286
334
286
299
298
282
351
425
376
312
190
305
257
312
375
338
377
278
242
359
420
320
326
252
322
353
294
329
373
460
348
330
349
289
329
326
427
280
332
340
355
376
352
354
316
349
254
290
309
355
338
301
263
324
394
347
277
339
321
270
306
315
276
332
321
378
299
291
332
239
283
318
282
263
375
333
328
342
261
299
236
388
317
309
233
331
313
320
268
384
251
316
338
298
258
336
344
321
297
317
290
392
318
318
311
374
312
259
342
334
244
256
296
374
267
359
381
284
357
274
301
376
321
343
362
359
371
336
338
330
309
350
314
362
296
302
300
366
240
252
330
296
317
400
321
323
303
310
321
331
248
330
235
361
225
228
317
247
302
264
299
295
310
377
291
362
291
336
240
262
358
360
217
315
295
301
282
229
304
277
377
261
332
308
278
367
278
241
293
273
297
371
273
284
328
294
366
334
407
381
361
288
314
375
353
250
285
359
328
327
274
355
310
327
275
376
314
407
395
221
330
325
316
288
381
337
245
301
357
345
359
408
301
322
271
360
257
350
363
388
299
339
377
312
257
350
318
326
308
285
319
354
314
320
287
298
296
332
249
281
281
255
340
288
222
350
347
275
256
316
226
327
373
291
289
261
398
329
376
290
300
295
395
385
344
293
299
337
220
247
358
351
237
269
290
323
313
354
310
284
293
367
331
284
315
334
312
303
210
325
325
305
290
328
295
306
303
238
335
313
389
352
321
283
283
373
285
370
314
283
348
254
372
350
337
296
342
292
288
339
425
295
283
298
237
360
280
385
388
278
315
357
296
309
357
339
359
342
317
266
327
357
215
332
296
304
280
283
220
331
365
292
252
269
336
363
210
247
163
303
382
317
377
413
309
254
343
330
288
277
370
328
285
187
302
329
321
348
337
257
200
335
322
320
248
316
405
259
368
279
394
388
358
372
374
355
363
330
259
350
300
349
221
333
386
228
271
311
342
346
313
325
366
378
266
277
375
328
333
302
286
324
315
300
279
249
294
309
344
325
398
348
325
289
357
302
341
265
223
395
326
294
364
294
301
277
248
306
292
350
325
321
327
391
334
320
292
299
416
316
301
373
325
317
271
387
322
261
385
283
267
322
290
304
300
361
374
242
305
253
307
376
385
324
320
289
275
302
291
349
245
329
281
272
309
255
303
318
300
322
331
335
288
314
246
322
321
403
377
296
350
338
326
317
322
390
283
421
269
370
311
327
337
296
412
302
326
346
336
259
305
355
366
336
356
248
352
363
183
308
367
243
335
314
327
324
372
249
290
304
292
309
240
295
279
343
366
351
338
238
362
323
333
307
402
394
255
326
249
285
196
281
271
291
219
306
347
344
297
277
376
304
325
271
275
339
383
340
295
326
292
388
311
332
333
359
399
365
321
321
380
244
275
263
286
389
328
324
291
360
317
375
306
317
316
226
250
328
329
277
277
281
340
300
336
367
339
338
328
289
261
288
302
267
346
334
368
295
307
307
280
399
315
309
298
270
409
287
219
369
278
281
329
263
245
269
289
300
270
284
351
382
340
341
356
311
366
348
253
308
347
272
318
318
345
342
285
343
363
321
279
377
300
312
294
367
285
201
372
415
219
377
358
278
291
369
290
341
351
317
322
360
326
388
404
363
343
412
323
315
329
333
381
336
363
238
290
243
382
281
367
381
348
275
335
367
335
265
309
241
344
341
409
337
327
336
320
267
336
320
280
321
259
364
353
315
268
314
267
295
211
302
285
370
348
359
334
348
372
271
267
313
293
262
353
389
303
307
225
296
291
287
398
322
261
341
382
310
259
348
415
237
401
355
367
400
406
370
300
265
258
377
409
333
380
298
268
283
421
218
339
267
367
352
319
375
305
285
309
285
281
424
295
273
298
357
196
319
300
303
248
342
349
289
306
245
382
287
325
384
327
334
285
287
323
253
335
277
267
259
249
184
393
294
388
351
359
368
313
304
333
314
381
286
309
297
373
347
334
343
307
229
270
363
286
297
356
257
310
323
369
373
275
343
298
295
344
235
308
365
298
311
317
298
326
290
276
356
330
322
327
349
337
208
251
319
271
300
263
320
355
227
404
281
306
334
302
389
281
289
338
270
307
347
362
314
388
360
293
279
382
331
310
322
291
352
359
304
281
411
327
240
350
337
336
344
277
286
293
298
285
249
322
332
342
362
268
343
322
227
250
340
324
359
287
359
307
327
282
217
346
278
388
291
268
316
319
308
318
348
373
347
334
325
341
259
319
252
387
359
279
388
318
317
402
253
320
248
307
374
279
293
295
356
340
382
330
297
414
342
288
354
330
218
265
341
251
345
273
394
353
306
354
430
274
329
274
358
308
251
350
387
314
331
364
279
328
361
271
317
304
320
278
357
377
386
224
303
314
349
320
321
325
266
292
350
304
360
308
258
370
317
353
300
393
307
271
241
338
347
333
299
326
404
274
347
316
239
338
330
335
334
310
326
246
299
354
351
299
299
269
374
362
298
418
235
288
245
265
360
309
398
325
385
339
328
377
314
447
269
330
256
310
220
276
314
302
400
304
287
359
338
340
363
269
345
212
251
335
275
294
279
246
256
269
315
298
341
312
317
270
307
351
269
327
341
289
283
372
317
412
274
355
295
298
322
303
301
377
353
376
232
333
293
316
295
304
294
390
286
278
262
370
276
278
351
358
286
284
375
376
331
317
296
370
262
317
346
275
251
268
430
338
371
318
348
276
299
297
312
307
232
296
256
357
274
371
382
315
323
376
275
305
292
343
330
375
356
335
386
378
295
302
211
310
337
334
300
328
264
325
377
288
353
333
292
269
293
282
220
330
262
284
380
288
359
392
251
293
274
323
353
267
279
299
397
322
315
371
363
352
334
263
303
354
301
310
364
366
346
298
279
345
319
284
309
294
305
197
360
298
345
265
257
350
346
244
319
400
379
368
314
315
315
324
290
358
346
278
361
300
387
400
288
313
302
314
269
351
328
328
245
321
399
321
343
241
352
324
355
361
296
341
326
312
340
328
334
259
368
244
335
316
427
318
239
309
315
343
308
367
388
284
359
314
365
254
378
315
284
245
328
286
223
382
289
321
314
259
248
331
303
252
381
364
344
311
283
285
300
277
341
261
352
308
295
319
317
311
361
299
361
346
378
272
382
399
310
332
254
316
360
372
278
308
330
232
363
261
321
336
371
297
290
285
352
384
292
281
299
350
363
288
331
347
306
307
179
303
324
321
342
308
311
345
334
282
247
305
319
288
333
305
316
314
339
344
339
275
265
355
278
344
242
361
387
330
376
286
358
268
238
295
312
268
305
316
292
339
367
376
362
210
349
282
348
369
270
358
339
328
301
344
305
309
354
327
400
428
331
346
337
351
384
372
404
372
358
306
346
280
360
262
325
292
372
333
329
305
304
315
332
373
420
298
306
316
290
368
366
259
331
289
274
277
293
219
352
351
273
308
340
308
276
261
307
386
270
358
240
402
272
383
314
340
360
271
322
293
271
299
380
401
386
296
265
320
408
394
334
305
313
386
337
368
326
410
290
284
324
304
287
293
369
302
335
355
330
257
321
332
317
312
368
373
228
290
321
284
278
361
376
320
295
327
267
292
312
335
315
288
283
313
423
340
289
231
319
316
291
322
397
324
264
301
305
348
289
384
216
311
342
278
396
290
306
421
304
352
331
300
307
287
311
336
354
303
377
358
256
361
310
358
366
426
311
291
335
312
329
247
272
368
355
274
345
286
341
296
323
346
325
345
205
371
350
314
402
307
355
377
296
326
358
255
167
328
366
370
283
285
300
335
258
282
347
366
293
410
290
312
222
351
391
300
301
304
224
262
305
308
296
315
370
293
418
285
343
317
275
282
291
281
263
287
336
306
309
312
208
340
358
284
295
331
312
307
299
186
327
450
279
287
351
381
331
306
255
335
333
257
285
358
286
317
292
347
203
352
289
366
293
289
293
420
360
333
301
328
327
315
305
304
296
270
297
256
361
306
311
349
377
371
290
263
385
352
310
276
248
246
299
288
352
259
319
349
270
265
351
300
355
339
343
313
267
267
385
337
288
227
271
388
362
326
274
228
293
316
304
336
332
360
291
303
362
373
283
273
322
235
372
392
342
313
196
299
301
280
379
317
245
310
321
305
246
310
224
308
400
310
259
373
291
279
346
378
372
407
346
311
290
245
304
387
330
271
263
257
342
245
386
285
401
357
276
329
308
396
316
234
253
308
367
291
206
246
238
395
343
402
304
365
335
316
321
328
305
280
316
276
311
374
383
346
272
275
254
321
358
210
217
357
305
340
287
277
370
244
276
341
315
354
342
321
378
266
304
348
301
313
310
265
347
347
327
296
344
332
306
266
289
337
321
358
339
307
347
387
303
297
334
403
298
324
339
290
243
338
326
287
248
287
353
358
401
257
316
330
348
321
303
313
312
322
323
306
222
349
301
338
283
268
353
295
350
370
403
318
303
239
285
366
338
284
382
386
271
387
270
303
408
272
285
337
301
379
369
375
278
263
307
355
303
344
269
280
379
326
287
376
330
267
261
346
303
235
335
315
340
333
367
354
341
322
295
289
246
234
313
273
339
319
357
317
227
397
335
345
367
338
303
261
298
278
341
414
330
327
326
370
299
211
335
328
371
315
270
393
300
321
348
312
376
342
357
334
320
374
360
311
284
268
285
318
335
435
357
237
361
401
355
265
329
332
353
245
287
355
350
309
326
323
298
365
308
298
270
253
382
334
239
321
340
234
337
256
369
351
375
330
348
313
360
427
375
359
382
282
367
302
220
321
202
377
355
228
355
368
330
382
343
388
311
200
309
259
230
286
359
241
304
314
352
364
341
345
314
296
355
366
391
380
373
363
255
263
357
309
237
272
404
332
248
305
332
341
404
372
360
340
322
348
356
279
388
384
363
256
309
233
255
310
357
261
428
278
283
372
295
365
295
395
294
296
231
305
386
352
234
293
294
346
320
403
238
314
372
251
333
309
304
328
324
260
297
323
365
291
299
340
240
359
405
341
354
371
251
330
291
263
341
340
253
343
186
362
301
234
298
375
341
233
296
331
281
307
366
293
270
357
365
242
323
277
403
305
332
329
343
276
320
288
342
283
339
321
300
269
337
361
239
324
383
301
358
328
292
317
329
316
359
406
301
215
330
313
319
333
250
277
383
287
320
279
325
380
281
231
349
274
335
341
324
296
310
370
283
238
302
288
339
326
313
313
257
285
249
286
265
351
313
306
322
353
338
425
222
326
325
293
287
333
328
304
268
265
236
374
272
328
255
244
331
340
295
286
401
225
258
316
330
363
230
272
221
221
281
294
271
282
243
343
312
309
351
355
389
349
330
326
279
394
358
267
325
354
243
251
325
317
377
237
307
354
352
296
243
275
265
286
343
355
305
311
297
313
276
301
377
313
331
360
290
324
354
322
379
346
256
371
350
219
321
361
315
249
260
419
341
317
319
343
347
332
305
318
369
304
357
343
269
291
358
325
372
279
337
320
338
341
293
329
272
241
336
327
336
246
325
292
299
352
293
352
349
302
364
283
294
331
278
320
338
335
280
238
270
337
329
320
334
302
417
327
310
345
297
305
292
321
268
281
373
277
354
304
398
335
394
324
220
314
295
280
327
349
348
311
409
337
284
366
330
374
329
327
349
297
318
247
274
351
310
391
360
334
339
321
277
300
202
341
399
389
388
331
354
232
312
339
267
333
362
316
379
379
319
334
315
305
388
297
353
246
348
299
357
252
319
293
339
289
342
321
418
286
364
221
338
294
283
372
271
279
356
352
309
338
313
316
346
420
253
265
316
331
311
272
344
336
342
380
295
384
304
264
322
267
327
271
377
288
294
358
273
270
291
286
385
334
315
297
312
336
266
355
283
360
311
283
300
348
338
233
255
347
313
242
252
230
363
306
282
337
319
333
341
333
355
310
369
291
324
350
382
318
230
264
350
312
278
353
353
340
385
376
324
323
384
269
267
305
295
313
338
300
354
297
346
331
311
385
310
355
392
343
345
321
365
292
350
239
340
397
430
315
328
291
272
385
291
368
325
321
283
238
308
293
283
336
325
276
394
380
430
404
273
392
302
273
272
302
273
303
336
324
311
383
311
324
356
309
331
268
348
359
234
381
288
366
303
361
316
338
378
310
296
345
267
323
323
384
292
344
341
329
302
277
274
290
279
312
333
311
208
341
289
329
318
337
274
260
369
343
351
258
266
211
313
280
330
344
346
327
286
353
333
308
300
285
288
297
367
346
213
358
266
350
228
303
367
339
377
356
345
294
329
349
392
275
314
318
378
315
317
298
283
292
371
276
338
359
253
291
278
252
361
301
317
279
274
266
358
344
329
257
265
371
319
346
297
311
370
346
311
217
337
327
264
187
308
254
290
372
360
305
323
343
363
395
277
288
369
258
313
228
368
323
318
362
274
273
284
257
315
368
262
311
333
276
309
313
279
266
315
228
282
330
375
279
304
354
244
385
278
336
262
338
322
304
337
388
345
314
316
341
305
327
264
283
296
199
349
344
301
366
370
262
248
317
299
404
282
270
249
304
287
295
378
354
343
331
364
340
280
341
269
324
356
238
305
342
261
307
300
358
183
316
332
309
336
380
290
286
371
331
287
388
405
241
244
352
290
384
215
314
269
355
345
265
402
314
348
289
344
278
277
268
312
351
310
272
224
319
297
244
269
313
333
335
320
388
331
298
329
351
308
242
285
360
230
424
259
252
317
322
255
354
308
293
329
336
271
405
285
371
261
330
316
360
338
314
269
295
415
324
333
280
248
248
260
363
332
293
312
281
353
309
284
264
314
365
348
347
250
360
315
361
316
326
286
372
320
302
378
250
392
349
339
355
321
364
359
372
369
332
277
297
220
366
342
228
217
255
379
257
332
310
354
362
427
350
339
324
260
288
296
362
307
362
377
321
374
294
427
289
326
370
297
373
386
321
354
388
315
363
274
306
327
330
299
331
278
346
259
320
364
291
254
334
291
306
281
366
297
277
284
294
334
356
250
368
327
276
350
269
305
290
334
275
342
333
301
275
358
376
262
316
312
287
379
274
329
277
283
305
231
369
337
368
215
292
326
309
362
270
295
348
326
281
339
315
268
282
397
305
317
307
302
337
379
271
288
299
281
354
322
379
373
377
298
379
128
323
258
271
313
273
296
273
364
288
280
358
404
343
289
283
258
324
291
313
368
355
369
325
360
343
361
303
372
295
299
344
360
391
331
249
376
260
264
313
246
302
224
307
336
274
318
242
385
406
255
373
333
309
281
292
281
297
294
227
371
298
339
385
366
307
266
357
308
301
270
349
339
334
313
268
330
324
273
296
275
364
357
301
277
384
293
351
315
341
298
314
305
301
424
347
341
231
388
346
389
295
267
283
325
250
310
274
301
330
317
319
372
409
305
345
438
327
357
271
401
303
295
378
355
320
304
278
329
312
181
201
314
337
254
254
247
364
350
329
318
303
254
271
245
345
417
374
255
189
303
264
338
329
334
286
342
404
287
307
401
361
305
263
368
393
323
312
395
314
317
296
309
250
209
261
366
330
289
297
382
295
345
226
332
237
251
282
349
288
349
337
206
320
364
390
337
203
407
360
376
328
354
329
307
287
200
356
265
288
252
307
289
263
366
277
353
317
289
346
324
292
315
355
345
357
256
367
328
397
277
233
341
267
285
284
303
245
328
281
211
296
339
223
282
345
359
360
325
304
396
214
284
307
299
364
331
356
332
307
327
321
307
283
301
340
283
292
312
406
389
298
281
328
289
235
326
337
383
361
329
257
322
313
388
262
265
384
257
276
383
396
325
279
300
334
274
357
269
343
301
293
318
351
248
323
274
358
257
295
280
343
296
221
333
347
317
280
311
317
355
325
273
402
337
344
270
329
374
334
329
271
338
312
275
293
322
335
270
319
292
308
257
294
291
398
212
355
286
227
332
394
388
328
341
380
334
235
282
384
311
301
207
299
289
223
343
272
252
309
307
255
367
389
244
337
341
359
339
277
270
332
358
326
411
326
306
358
419
287
373
373
377
359
338
292
230
349
270
338
294
342
285
339
411
359
268
287
272
278
351
270
250
294
300
284
319
323
342
332
344
338
346
380
311
306
297
320
214
214
341
301
324
287
314
382
369
332
266
373
363
286
354
332
285
380
268
294
283
365
328
323
355
352
328
276
306
311
306
364
316
340
286
322
280
328
344
316
388
337
373
273
244
264
265
260
358
285
216
341
271
366
317
229
388
331
393
357
341
255
251
296
374
282
289
333
278
347
253
336
273
251
335
316
396
349
228
307
325
329
265
279
300
241
425
343
265
249
298
363
338
314
298
335
350
374
371
376
295
348
267
330
321
240
294
255
306
399
297
270
255
246
353
348
304
240
313
335
336
274
294
313
270
303
355
287
412
343
307
408
326
336
310
257
326
320
239
359
362
285
359
281
240
326
270
371
388
402
398
369
296
335
355
304
343
275
363
303
262
326
381
402
348
301
373
399
379
344
329
307
311
198
288
305
287
285
252
376
303
332
352
294
350
304
285
344
372
254
338
313
314
326
337
287
369
242
358
243
329
254
333
267
351
340
365
331
302
331
285
275
366
375
283
320
326
277
244
402
328
378
352
334
360
241
363
302
334
239
350
398
351
363
313
363
344
285
294
357
352
246
288
262
282
311
320
373
328
461
275
373
255
404
342
396
329
323
279
337
275
384
332
406
241
340
297
322
289
347
328
323
376
272
237
359
334
312
413
311
366
229
337
293
342
346
310
377
282
314
349
301
327
345
292
283
312
299
321
313
315
291
339
423
289
285
302
264
265
354
288
285
316
385
349
295
325
325
290
301
364
268
351
333
277
309
302
322
311
293
329
327
284
360
312
306
347
345
336
261
387
435
314
301
297
272
325
288
219
348
245
336
241
339
331
241
366
291
350
308
276
316
293
375
314
296
360
335
257
296
364
267
276
278
315
342
341
257
323
335
343
305
260
243
258
318
324
309
325
285
342
330
337
216
325
314
325
357
347
299
432
350
281
299
342
342
375
296
235
350
275
275
264
311
317
288
306
240
318
360
333
383
186
313
268
302
346
376
219
245
338
277
379
355
373
291
269
343
317
270
226
369
322
286
296
264
312
381
255
335
296
396
369
296
224
340
300
238
232
321
330
290
327
255
248
303
405
355
306
346
387
324
351
297
314
262
348
282
297
278
286
344
286
384
260
339
369
310
356
295
172
328
326
345
340
331
355
254
368
290
303
296
355
326
339
294
316
218
366
228
250
274
359
308
294
301
296
318
285
373
332
304
333
382
354
335
320
307
305
361
346
318
235
283
265
304
300
318
287
279
289
292
358
323
298
317
284
318
255
307
317
253
325
332
314
263
191
395
312
303
435
349
284
370
261
313
332
307
249
344
286
335
340
253
353
385
286
403
356
303
339
298
352
304
333
321
250
344
301
365
228
310
359
354
261
359
282
369
300
310
287
270
263
301
259
338
306
363
259
297
371
365
376
288
195
296
312
270
343
326
336
273
330
316
388
310
273
343
288
241
316
267
352
324
336
325
327
340
316
370
292
302
277
297
340
319
329
224
346
332
325
307
293
308
288
295
336
295
222
401
297
389
356
214
372
364
364
349
340
311
335
281
359
302
403
298
294
281
311
279
316
368
296
310
335
226
272
323
293
317
394
365
317
319
315
396
330
292
321
307
343
290
279
319
312
297
368
238
268
317
309
328
308
315
343
333
296
250
279
430
341
339
395
369
308
307
261
283
267
247
370
301
361
310
326
377
356
343
316
322
296
331
278
347
391
260
372
294
273
353
345
330
285
249
389
361
309
325
291
255
353
252
278
257
274
287
378
273
344
301
274
284
311
363
324
297
302
371
375
283
356
281
369
222
371
341
239
327
310
362
321
343
366
338
263
349
321
253
312
316
250
302
300
285
318
331
317
299
272
299
300
376
309
355
365
250
353
342
326
338
272
312
306
276
268
318
340
392
290
319
341
267
327
289
273
296
324
245
376
418
328
287
332
356
371
309
311
249
279
272
323
411
270
328
295
341
313
290
317
250
304
328
294
381
312
250
344
409
273
335
281
282
343
368
370
277
269
331
306
236
302
325
351
264
276
332
230
376
335
301
289
279
264
292
311
326
323
235
305
344
365
343
328
221
305
388
425
349
336
228
361
271
333
289
259
342
344
415
258
368
358
348
335
354
342
298
360
357
324
379
316
321
301
248
432
389
335
277
271
247
363
223
268
428
339
288
323
276
318
330
355
303
379
339
341
305
324
307
315
234
278
354
389
353
290
331
331
305
333
364
323
312
349
400
272
316
295
328
301
308
335
399
372
376
335
290
391
377
292
300
258
328
294
303
348
296
314
284
394
347
204
226
334
333
283
320
326
324
280
255
379
303
333
162
327
288
285
398
327
361
334
287
218
367
322
373
310
346
309
279
370
299
331
313
283
308
321
320
320
301
288
216
396
294
246
351
354
368
302
282
345
280
327
290
307
261
395
310
225
315
306
362
272
363
369
313
250
352
359
343
298
131
310
320
247
351
334
354
288
339
352
392
269
303
286
327
300
274
313
278
300
290
304
387
262
355
393
246
322
339
348
323
306
353
314
328
298
360
238
301
260
329
256
363
263
292
330
382
349
360
311
314
400
228
299
306
244
326
324
363
360
318
356
311
324
303
360
258
372
310
253
380
377
320
315
300
342
286
362
257
258
339
331
322
349
366
313
267
350
378
366
288
274
246
218
377
365
382
249
304
372
366
341
235
268
315
323
370
330
290
339
387
278
326
297
270
355
325
321
304
384
302
319
340
339
267
280
312
394
290
356
340
386
286
366
318
310
295
367
359
325
337
299
355
344
400
346
364
362
325
316
276
303
359
315
251
333
301
327
296
245
308
292
376
343
304
346
312
282
225
335
309
294
332
360
397
329
272
326
384
313
390
286
302
289
283
306
337
309
297
212
342
336
282
304
382
281
311
380
358
290
297
344
203
278
302
282
305
360
398
334
261
309
295
337
293
380
277
390
376
354
340
308
339
351
317
329
303
345
294
283
231
294
270
266
316
266
276
360
291
298
308
340
277
280
309
329
306
324
270
294
351
372
372
385
297
306
323
258
337
360
323
350
225
276
316
288
296
252
300
272
338
312
417
187
295
283
346
334
297
298
278
338
355
281
361
262
307
326
333
219
315
339
332
424
351
316
362
298
403
334
344
432
294
343
375
271
295
244
275
401
379
283
268
321
406
341
291
238
278
368
340
344
336
231
337
342
316
325
374
322
291
366
287
288
381
328
307
322
298
351
359
381
262
318
198
323
255
314
378
306
270
388
253
305
333
268
313
250
248
272
361
301
270
327
321
299
360
334
288
354
378
381
319
324
426
266
224
360
353
318
299
304
283
259
275
293
338
292
270
315
342
262
335
250
315
378
274
383
233
382
295
348
376
350
330
327
354
246
355
320
348
301
393
322
329
349
309
323
258
282
324
307
296
318
317
366
301
319
320
307
350
221
309
296
274
358
361
272
298
251
362
403
304
266
313
235
288
329
360
392
343
392
389
371
335
294
287
309
267
264
324
309
384
378
225
281
228
274
301
319
300
353
350
266
274
319
287
389
222
227
281
295
265
371
358
246
372
334
304
299
283
262
380
300
353
358
291
299
333
348
339
363
301
335
279
316
363
296
245
365
383
341
368
235
360
308
284
329
324
236
339
331
320
256
311
353
332
331
348
298
304
330
337
294
284
346
348
336
279
304
353
343
251
283
375
301
324
294
287
326
371
282
312
302
301
294
295
359
276
223
343
343
319
298
316
314
251
281
279
348
325
332
362
341
281
283
325
328
308
303
348
410
273
289
396
325
368
361
368
263
285
312
298
249
355
228
304
382
373
346
334
334
277
388
348
296
329
277
373
366
338
324
344
338
301
288
355
304
255
405
307
308
309
233
380
329
233
260
340
261
360
332
205
323
241
286
332
298
298
303
348
295
287
424
276
281
292
376
351
307
397
256
337
319
258
351
351
314
368
309
392
342
360
329
392
384
320
319
367
317
325
314
306
368
373
316
327
353
296
334
299
363
313
273
306
323
298
251
350
310
347
324
263
298
284
281
312
387
302
316
258
350
285
362
284
295
390
275
292
327
250
272
336
257
318
304
303
352
369
354
312
286
291
241
321
235
252
310
305
286
338
276
227
312
324
343
338
262
381
287
308
313
381
337
344
284
310
256
287
345
250
404
248
303
365
373
302
317
345
318
334
267
247
223
327
398
278
337
341
306
288
457
317
305
334
312
337
337
418
327
283
358
269
292
278
312
323
364
270
294
386
260
380
299
342
363
303
226
306
297
339
309
252
278
250
353
414
261
360
353
382
295
252
321
236
371
395
263
350
362
345
342
246
390
301
349
329
358
318
382
360
349
296
213
318
301
299
344
332
271
246
334
264
301
329
267
343
240
380
320
273
332
350
242
379
357
199
317
317
285
347
359
318
342
336
294
270
256
317
376
235
376
290
346
309
227
306
390
380
366
352
419
374
386
325
350
250
335
347
366
286
339
333
349
360
296
393
383
309
341
372
291
296
342
349
333
326
268
313
307
261
386
286
245
326
370
398
259
340
354
367
337
345
330
388
290
366
379
278
377
349
327
294
357
283
319
314
307
298
332
352
237
286
307
327
292
367
326
318
284
251
337
315
330
293
250
387
331
304
278
370
216
342
326
370
283
341
374
391
282
354
314
277
331
314
295
311
339
271
327
244
385
227
324
322
320
308
241
284
315
327
304
240
323
285
292
311
394
298
391
271
308
436
275
275
316
277
300
310
347
359
337
263
386
374
335
308
354
387
286
367
342
357
314
416
380
340
315
377
297
350
291
355
336
374
243
384
381
326
395
323
374
257
326
288
371
283
317
284
354
354
290
287
353
354
388
253
346
402
362
324
296
315
332
245
249
342
243
356
312
348
300
303
380
302
248
321
385
388
254
352
384
356
328
267
239
279
311
368
264
327
297
361
356
422
314
355
286
286
337
312
272
293
289
312
366
353
295
349
326
364
348
281
338
333
342
249
396
342
341
309
354
328
347
333
306
297
339
366
363
324
319
302
308
314
311
308
374
267
349
227
416
307
376
207
298
266
304
349
304
291
391
294
307
313
369
336
319
280
318
327
417
378
359
282
334
295
331
312
314
308
268
311
281
386
263
419
374
233
287
355
347
348
309
318
353
275
357
287
358
302
374
343
329
303
346
292
329
327
312
277
292
392
362
316
316
322
381
321
256
399
325
256
272
324
328
276
352
353
349
283
352
310
337
337
279
255
379
353
359
269
254
344
339
317
262
285
263
247
328
309
291
320
331
307
354
373
295
331
307
304
309
288
394
318
339
368
360
374
273
325
404
287
417
328
376
325
359
287
336
223
370
402
332
333
282
318
368
245
249
287
400
282
334
312
444
234
311
310
320
340
313
372
203
311
308
283
371
258
286
277
376
294
303
310
349
260
348
312
285
264
298
399
294
316
292
310
359
329
294
405
228
324
310
312
374
427
328
350
338
305
316
395
338
261
357
301
288
370
313
282
260
389
389
318
331
374
335
279
391
306
281
342
306
298
402
283
306
255
290
352
328
299
297
385
260
307
334
361
343
358
338
359
411
265
372
356
364
292
347
379
344
264
308
295
305
339
379
197
295
339
342
342
393
318
241
374
282
305
231
321
356
321
347
318
316
371
407
322
302
302
259
400
257
311
332
242
302
340
393
332
354
349
303
232
302
321
396
272
271
323
376
310
307
275
342
336
378
342
309
310
308
338
337
337
327
311
325
307
308
302
377
319
330
248
417
333
309
332
399
354
338
332
352
383
329
376
330
328
324
368
310
379
344
358
337
248
290
279
343
315
292
306
336
350
294
403
330
319
313
341
274
361
329
277
270
318
295
211
332
316
291
285
311
348
290
366
379
317
358
350
382
292
256
245
326
346
368
257
273
299
346
326
328
307
315
206
356
304
386
233
368
381
307
295
286
330
293
284
349
272
272
301
350
320
288
290
232
283
270
324
266
290
359
301
374
303
318
346
394
335
426
371
299
375
297
346
259
379
337
291
235
350
241
325
284
310
298
246
289
322
321
309
251
340
383
324
351
300
381
280
375
368
302
291
311
331
414
202
348
357
293
324
362
366
366
280
259
338
338
273
306
281
331
296
357
328
349
320
322
336
376
173
325
329
327
306
312
330
266
296
321
363
317
315
280
281
342
238
373
314
333
360
238
318
266
254
349
321
341
291
250
311
397
288
367
327
339
259
256
387
322
279
361
229
333
293
363
309
286
314
333
373
313
319
338
308
336
311
276
238
157
344
263
301
408
312
288
284
247
256
325
377
354
319
312
283
300
377
305
343
302
339
378
302
271
327
331
351
385
306
344
328
276
241
350
230
270
285
306
348
308
298
359
282
392
303
319
353
330
383
329
364
377
289
309
325
300
336
379
369
275
364
344
326
293
369
301
340
300
334
246
249
367
330
298
384
378
247
311
318
294
336
303
283
273
348
380
301
300
283
307
295
384
194
374
339
269
325
344
390
330
290
359
340
266
340
300
264
289
255
312
371
286
372
268
307
371
348
382
353
283
320
320
282
341
299
355
345
309
292
295
347
326
303
285
328
323
234
341
306
359
292
356
281
327
241
268
357
364
372
281
348
296
263
303
317
234
273
343
273
212
347
313
370
369
237
328
282
256
351
322
279
261
276
314
358
356
337
370
284
341
306
308
361
281
291
381
228
317
245
289
270
397
307
385
352
319
305
382
349
290
317
323
260
339
384
307
309
290
345
290
327
333
318
369
222
294
267
295
217
306
285
372
325
283
284
360
317
222
401
378
352
345
320
340
330
398
253
310
233
341
307
229
315
310
414
340
306
310
293
324
318
327
197
281
361
302
373
337
325
365
361
347
326
376
358
300
329
346
342
259
278
315
320
359
239
299
322
262
312
227
352
347
288
280
243
338
353
355
282
409
313
290
381
305
245
259
319
291
216
356
411
353
347
271
207
411
291
351
334
382
381
356
309
344
339
311
359
391
331
297
361
336
254
409
324
393
335
382
276
312
342
347
380
225
370
339
299
334
356
379
291
379
268
293
315
321
321
328
204
242
370
314
251
256
284
368
296
390
347
303
297
368
323
337
250
320
277
319
333
358
318
238
377
240
346
262
359
274
317
274
315
387
295
257
266
290
351
345
296
294
378
361
296
312
309
345
422
294
316
377
356
383
313
325
339
299
353
420
285
352
353
285
325
324
318
321
304
316
288
352
375
318
354
307
267
347
369
276
286
320
242
309
315
256
281
331
341
308
395
402
363
249
311
354
316
303
383
361
291
283
332
355
275
339
295
367
269
297
365
382
380
323
325
318
325
306
290
292
356
295
312
303
302
257
359
297
301
339
347
316
296
390
288
300
358
242
323
418
324
337
330
300
424
280
276
291
200
343
312
384
268
307
311
377
195
254
255
335
324
321
395
319
295
266
390
271
272
273
270
300
324
301
351
366
261
371
333
346
309
314
305
333
353
334
336
316
271
338
257
331
380
264
336
282
245
305
267
303
324
304
298
369
310
378
327
343
350
332
304
234
341
371
369
298
223
349
309
272
340
311
348
263
326
324
285
345
320
302
321
352
281
343
238
384
342
282
300
263
222
329
375
247
375
345
338
347
310
350
346
289
372
334
292
294
375
265
302
352
256
284
394
341
339
359
304
285
320
301
279
312
421
298
370
345
318
287
262
340
338
334
231
308
319
268
339
309
299
279
321
236
308
350
366
290
420
291
291
298
284
343
307
306
278
329
297
337
276
343
433
352
286
287
285
336
361
390
259
265
314
274
303
323
361
285
309
380
347
281
343
288
361
378
365
298
338
404
299
236
342
301
318
373
294
321
279
344
368
356
261
328
375
248
357
300
338
335
308
283
334
361
303
342
317
352
319
346
334
357
312
319
358
272
345
348
324
307
258
345
345
300
284
325
243
300
290
367
264
347
288
342
284
323
263
365
334
289
255
313
342
313
320
263
290
336
344
369
332
380
363
316
377
356
408
333
333
286
338
328
372
300
241
320
308
360
377
391
355
314
305
256
341
314
297
333
289
321
301
295
352
358
297
364
360
295
348
343
334
224
244
335
341
383
308
289
338
424
340
304
288
410
366
308
383
324
309
344
265
376
368
269
304
368
334
351
407
363
371
325
299
351
247
343
332
302
242
350
298
291
304
307
292
332
283
308
302
347
380
312
317
316
335
291
344
342
363
286
307
367
227
328
271
304
322
327
314
337
306
283
293
389
318
300
328
299
364
360
332
218
238
263
367
376
307
322
373
334
312
318
327
313
363
351
338
237
346
234
290
374
298
315
405
264
337
274
283
331
320
379
297
363
351
264
300
381
263
393
230
332
408
373
318
346
356
255
297
367
328
295
322
360
285
448
319
425
374
355
327
308
323
339
387
355
399
308
349
345
344
323
294
354
260
297
371
367
324
296
358
365
300
299
307
386
315
330
325
397
360
285
242
264
365
385
309
421
310
362
348
394
301
317
312
279
285
311
335
338
272
319
274
294
297
329
301
323
403
298
350
340
362
348
368
258
346
338
301
350
251
387
257
353
353
369
369
395
340
339
315
314
288
286
316
346
313
362
245
257
325
308
369
313
292
235
372
265
394
328
318
276
317
288
301
367
317
327
225
333
348
438
374
346
363
234
335
317
393
325
351
200
340
281
312
327
347
322
321
302
295
312
259
310
354
303
284
299
316
360
317
315
357
359
357
337
275
272
359
320
245
287
277
382
307
279
204
259
298
247
278
263
307
267
346
328
222
310
238
303
233
313
269
290
293
327
263
345
319
384
282
304
349
335
345
325
287
278
303
349
314
320
342
311
316
289
312
321
295
301
296
294
243
240
338
291
325
293
345
319
361
405
257
335
331
331
379
277
264
359
313
350
174
336
224
368
293
254
322
329
278
358
300
314
352
280
364
257
371
290
369
374
310
305
276
235
323
266
354
259
323
243
329
349
325
306
315
357
404
304
386
329
332
319
266
249
348
346
359
312
319
272
311
327
222
281
321
376
274
430
242
210
363
333
299
322
296
276
328
301
271
324
205
251
312
266
326
274
271
300
331
237
350
263
277
333
290
379
269
340
403
333
359
369
340
291
336
230
368
417
326
274
312
326
296
239
286
249
309
344
319
393
305
239
296
326
289
295
363
237
350
328
330
281
291
341
295
285
290
322
280
338
338
238
344
288
347
363
331
358
330
352
324
305
307
333
298
283
372
331
322
320
310
309
278
330
401
361
344
355
314
363
249
399
324
275
317
335
351
391
267
301
410
331
314
297
311
274
297
373
289
333
320
289
260
293
389
250
303
313
311
346
279
254
310
304
357
306
322
252
307
257
296
328
342
323
287
344
303
368
245
329
372
337
318
363
267
319
225
197
238
355
308
318
274
319
338
261
314
332
224
291
275
295
302
348
333
346
329
208
285
342
329
330
318
353
321
264
336
335
334
272
276
350
254
354
357
345
378
350
272
310
328
287
282
307
311
309
341
315
326
260
265
229
329
313
349
287
315
251
271
423
278
308
319
406
401
209
213
296
332
315
362
394
365
311
355
389
367
342
297
237
268
226
302
290
338
315
429
326
358
297
379
348
231
291
376
222
288
283
229
270
361
295
297
366
333
346
369
297
300
264
327
310
303
379
313
283
255
225
320
277
391
369
358
357
310
321
341
400
347
420
341
349
389
324
325
324
318
330
289
351
324
305
327
328
344
278
270
298
285
306
262
263
342
336
253
337
351
331
297
277
369
292
315
290
380
217
331
342
272
340
295
286
263
348
303
332
267
260
233
361
342
335
234
273
269
371
291
228
279
260
321
315
368
335
299
328
342
288
265
352
305
290
288
341
256
204
277
324
324
357
374
311
349
284
335
305
326
332
302
247
337
274
360
266
234
396
273
364
314
310
304
208
310
331
266
415
324
356
319
339
357
297
364
274
264
402
358
306
292
360
344
285
282
324
320
328
225
375
374
306
274
291
343
325
356
402
293
257
352
255
367
288
330
265
369
312
283
334
384
312
327
366
313
297
356
217
363
345
268
296
317
382
286
332
372
279
361
331
294
352
352
320
251
355
280
340
367
343
338
253
384
390
312
329
416
231
351
211
402
312
390
336
269
232
224
254
367
256
283
295
336
316
281
379
418
309
307
296
329
307
294
356
306
269
317
374
319
295
314
329
300
338
278
398
371
278
285
347
345
269
368
276
367
378
300
318
345
420
352
353
311
235
346
326
287
336
308
336
383
292
349
270
335
311
381
267
272
370
290
252
358
300
358
362
334
372
281
322
315
292
321
310
274
346
357
331
347
326
321
219
326
348
312
294
349
267
340
409
337
209
278
269
241
371
367
245
373
275
330
307
350
356
393
303
292
366
353
383
358
231
343
276
312
337
285
329
254
305
339
290
266
287
346
315
232
340
316
371
280
234
349
323
321
355
347
354
313
247
304
302
336
331
245
288
313
299
325
293
365
274
266
280
298
330
284
304
389
243
390
288
275
304
382
342
333
364
393
288
308
360
302
270
396
346
363
324
380
362
354
338
337
381
277
277
333
338
276
353
230
300
333
309
409
272
306
327
314
311
318
256
321
315
329
236
323
362
359
319
353
312
350
270
363
407
341
351
357
332
288
383
292
296
246
328
349
323
286
292
388
310
369
320
237
322
279
367
341
353
285
305
319
373
308
348
302
298
340
317
289
337
359
402
365
266
295
378
360
328
351
350
399
337
308
349
306
228
323
281
311
312
270
327
372
324
327
230
353
324
269
306
313
257
355
330
267
323
270
335
308
289
341
302
291
253
321
258
268
286
308
293
329
259
333
209
250
331
352
288
357
253
324
213
312
307
324
285
325
319
380
313
276
210
319
345
289
347
320
345
267
326
332
304
307
407
249
333
334
326
282
293
368
318
314
344
357
369
332
283
363
278
329
362
363
340
308
220
340
200
296
365
357
223
309
239
239
347
319
361
321
365
347
277
398
299
354
387
320
342
285
340
334
259
402
400
206
342
288
338
262
313
313
285
292
300
270
273
293
346
343
225
233
213
286
308
301
227
338
281
338
237
326
370
331
283
382
287
389
257
255
379
332
269
292
346
276
264
365
313
252
388
300
280
373
368
310
239
317
353
300
386
443
375
301
312
346
282
337
314
317
346
332
308
440
291
325
364
391
333
406
371
366
362
314
381
308
295
312
291
345
337
312
353
338
302
393
265
351
314
297
357
287
279
280
360
230
263
336
271
326
251
264
370
369
279
353
292
221
279
393
304
409
283
369
245
301
284
258
284
294
353
359
325
298
300
304
305
361
369
399
386
279
338
363
362
253
361
377
384
311
312
360
280
255
321
274
348
372
353
337
343
306
367
389
310
341
318
199
338
367
326
273
302
332
291
322
284
315
298
289
343
219
276
272
271
298
266
364
278
266
321
230
250
260
346
285
311
366
325
379
299
320
338
393
252
306
217
387
359
381
327
388
339
345
311
293
272
259
289
296
322
303
374
399
331
305
360
330
283
262
333
305
320
286
336
300
276
317
274
317
318
331
302
291
284
319
253
256
248
382
369
324
285
259
248
374
392
339
370
246
330
344
417
314
244
290
308
285
466
288
397
321
324
357
334
287
281
262
279
310
323
297
342
294
213
321
310
375
364
274
309
376
397
314
358
325
274
294
313
362
326
297
288
309
210
365
253
362
318
301
274
291
322
314
332
312
251
297
361
299
312
412
279
248
339
329
180
282
361
342
392
285
324
295
375
379
392
256
354
312
383
313
293
385
226
354
294
441
332
250
334
327
304
284
298
312
396
275
282
318
325
348
360
304
287
364
302
329
244
299
355
247
233
337
347
204
344
359
324
366
360
378
313
352
325
351
192
342
370
351
351
287
272
308
233
266
277
266
242
276
376
259
316
286
299
331
291
321
275
305
277
318
274
350
325
284
297
444
327
274
240
344
333
324
288
260
380
338
280
331
372
346
247
274
250
273
350
312
305
365
323
225
318
368
277
253
234
258
342
303
285
286
289
347
311
283
266
363
326
294
351
301
249
317
418
308
280
366
285
275
384
310
306
322
299
332
308
258
402
350
286
336
294
296
322
273
334
335
277
389
282
317
278
380
367
307
350
311
308
367
286
333
354
396
325
323
238
272
398
250
343
301
346
335
331
295
299
325
302
306
312
321
283
398
302
365
305
318
341
360
342
240
269
334
321
315
377
269
370
329
331
304
339
414
257
360
317
340
354
242
352
320
305
255
252
278
265
274
320
270
339
274
330
391
289
297
342
236
286
229
311
246
323
307
295
313
292
325
299
340
274
317
315
314
272
263
231
310
270
294
343
290
301
300
289
346
272
375
343
308
332
368
280
292
365
340
361
300
400
267
355
361
344
392
415
311
333
265
332
407
346
345
271
316
268
321
270
369
363
365
305
322
286
358
329
264
386
301
262
388
297
403
250
337
343
305
273
295
297
361
326
343
324
255
254
258
297
325
355
357
295
294
302
317
227
304
327
340
258
413
318
277
307
275
294
272
301
313
304
354
332
339
365
307
248
348
342
279
251
321
276
281
341
342
355
327
315
366
347
340
355
340
264
335
241
316
378
325
319
257
382
351
391
288
302
298
282
275
324
260
313
321
302
323
328
292
235
309
386
332
300
395
401
318
296
364
338
316
222
280
332
341
269
376
342
227
259
305
317
308
373
248
252
315
322
368
321
327
395
345
252
324
335
320
319
252
287
350
302
254
295
296
307
323
292
242
298
306
230
379
386
256
288
271
309
321
297
281
277
335
329
346
287
257
340
343
282
341
324
408
385
322
288
330
313
308
350
288
302
383
394
302
271
321
340
310
219
337
285
299
382
327
335
257
331
339
291
395
368
265
385
347
271
330
235
327
338
266
353
311
354
314
190
280
342
320
268
355
398
332
305
308
314
306
365
341
290
386
319
267
230
305
303
289
312
318
355
206
252
361
308
366
233
305
299
349
337
384
354
322
328
405
304
331
311
299
361
269
278
307
307
260
307
301
329
388
273
371
286
355
320
297
315
262
261
296
283
286
373
359
342
334
354
193
283
308
259
355
262
255
327
309
332
296
231
350
323
312
284
302
350
273
347
394
317
318
217
296
292
315
402
302
302
280
390
409
193
359
281
235
328
348
325
373
265
359
302
309
333
367
265
303
308
396
304
304
317
316
358
370
267
293
329
289
308
221
384
369
252
302
334
379
398
358
289
348
355
249
277
250
346
275
251
340
232
302
304
327
351
317
373
424
418
262
366
289
342
327
293
364
315
335
297
315
212
329
388
271
269
339
277
269
326
300
321
384
270
318
241
366
317
324
439
385
370
361
311
307
310
276
385
288
369
318
240
361
317
262
390
352
365
339
260
376
321
372
306
212
315
340
314
313
279
318
250
385
362
271
343
265
295
274
311
294
307
396
337
303
365
353
292
319
374
277
346
352
352
342
378
349
379
368
359
330
352
308
284
320
289
305
337
359
320
327
351
326
366
319
281
345
406
290
244
287
330
323
214
313
370
356
243
342
352
240
316
427
274
379
342
300
273
300
239
343
282
219
346
332
270
296
292
227
294
358
365
300
327
349
347
317
401
339
384
301
300
309
306
334
407
348
368
370
316
238
299
273
298
350
297
291
396
347
304
297
310
366
289
248
320
238
295
233
327
252
325
301
310
294
238
289
367
301
355
366
311
371
379
289
361
337
306
334
338
265
355
333
305
259
235
329
238
336
299
305
302
336
188
263
399
277
277
277
294
319
374
289
236
309
367
248
257
278
304
238
373
293
358
284
395
259
288
329
338
335
271
230
272
363
297
329
287
392
295
315
295
337
311
335
298
349
162
349
329
221
296
248
305
213
337
301
266
368
307
334
200
246
342
353
295
294
281
388
232
385
371
294
362
366
342
291
378
273
310
344
271
297
321
326
335
266
338
363
372
365
355
285
306
277
302
334
323
326
325
227
231
274
331
296
290
392
307
329
439
272
312
330
306
341
225
332
336
269
388
333
280
332
364
206
306
329
304
289
264
360
313
295
291
300
377
350
356
311
301
401
381
383
293
341
229
331
346
387
238
318
283
288
322
331
299
323
301
259
341
293
338
260
234
303
266
267
309
282
333
317
305
355
275
326
315
348
366
278
318
265
327
315
265
296
326
355
389
363
300
352
307
409
275
348
361
363
366
260
254
267
317
319
260
247
369
268
342
289
262
257
286
264
389
281
314
236
342
376
308
255
374
331
320
367
287
296
294
289
392
344
269
373
321
313
275
278
283
294
319
388
343
329
331
270
336
272
340
361
353
339
369
347
354
408
369
275
319
378
308
325
365
306
332
239
367
353
312
283
343
334
239
299
358
354
272
368
351
253
308
281
288
425
400
378
393
275
331
301
324
385
334
286
321
299
275
334
242
310
403
334
402
441
382
318
284
332
342
339
323
299
284
380
254
297
290
297
222
412
351
327
286
375
294
286
289
381
323
402
338
283
332
239
239
334
282
282
351
350
273
282
266
348
308
281
277
269
393
300
372
275
326
337
317
340
384
287
375
277
301
297
281
247
381
333
264
330
310
307
316
352
323
323
318
313
362
283
281
354
245
350
213
358
312
384
256
245
280
319
333
258
306
280
288
347
389
287
240
315
351
288
317
276
342
331
393
344
335
293
320
261
345
322
302
257
319
340
316
304
338
402
298
344
316
291
303
352
339
302
312
277
267
313
293
305
286
394
342
308
222
276
327
311
312
376
358
355
294
292
327
296
330
333
293
279
358
384
341
376
344
334
265
386
366
351
222
371
363
311
350
308
241
340
301
372
311
338
281
378
329
226
374
219
271
297
301
360
295
417
326
334
319
331
293
273
335
231
267
399
313
222
308
324
303
320
354
311
382
301
262
302
268
332
363
260
268
333
307
282
248
287
304
288
368
381
227
291
188
253
298
317
337
373
340
311
333
327
227
311
293
275
327
291
258
354
360
301
277
376
352
302
352
367
320
300
334
308
396
355
343
341
309
331
359
368
359
283
257
316
307
371
227
324
305
295
314
251
216
371
313
319
345
293
328
272
265
305
331
333
306
332
333
309
279
278
370
319
302
342
355
373
306
336
290
245
324
282
312
331
306
287
335
253
339
333
326
281
301
282
268
296
367
315
346
283
226
351
223
361
312
324
327
282
341
357
313
319
291
385
288
322
345
367
238
370
331
359
296
329
353
321
296
266
376
294
322
344
372
309
350
303
350
290
260
312
324
288
329
216
396
365
321
313
389
299
385
313
288
361
311
371
342
340
273
319
278
293
203
350
340
310
257
296
288
306
372
349
271
311
314
397
377
281
260
239
321
329
276
338
341
291
282
254
265
382
308
272
345
287
368
241
347
295
292
345
313
348
377
305
324
239
380
378
224
322
316
327
262
360
277
285
274
322
337
274
284
290
269
366
229
330
312
376
250
312
318
299
330
358
304
319
301
287
248
374
237
324
395
308
345
321
357
307
283
319
304
372
302
304
362
310
364
316
320
376
339
332
373
327
283
308
243
343
343
371
315
405
259
277
302
277
286
319
272
301
298
331
274
344
378
293
376
276
443
351
383
304
291
355
330
311
402
332
332
314
240
276
403
301
313
322
300
299
329
353
300
257
347
333
338
301
305
315
361
257
284
305
303
271
336
297
300
297
248
226
257
364
384
294
345
312
319
361
244
370
289
327
324
331
302
348
263
291
335
308
293
217
274
339
237
284
405
318
311
304
332
356
301
317
349
224
311
292
359
360
424
361
352
322
345
289
320
346
243
285
401
373
350
251
266
216
278
315
315
251
294
379
308
288
375
351
247
396
301
321
363
347
345
299
308
336
309
262
272
194
333
410
307
357
312
315
333
320
315
408
357
279
347
238
303
389
368
320
236
282
372
348
328
276
266
321
231
322
305
336
365
325
236
248
354
273
284
347
403
319
288
333
221
335
320
309
307
258
323
330
297
308
341
346
376
246
303
345
385
270
423
316
376
334
358
282
348
242
348
339
324
236
237
290
327
284
303
321
302
205
320
287
328
276
328
313
342
357
351
304
279
251
336
377
343
275
329
314
371
339
391
303
352
238
268
285
334
328
398
290
292
315
316
292
296
295
313
336
328
318
361
338
407
265
242
330
360
339
357
313
273
355
287
307
363
346
334
309
419
269
354
327
306
387
382
357
330
296
328
335
340
282
332
328
379
300
282
254
243
359
353
335
229
334
258
318
387
353
362
297
309
272
305
324
329
253
284
297
436
288
307
360
327
317
314
326
322
286
332
308
338
248
265
293
282
322
402
243
375
363
334
285
311
245
252
405
295
385
231
238
217
337
344
322
356
312
316
301
301
284
380
381
347
378
307
318
364
377
276
366
364
240
336
345
326
381
360
359
374
248
354
318
367
325
335
300
377
365
373
350
312
316
385
308
294
363
337
331
339
398
321
271
346
297
310
319
284
320
344
415
380
286
284
305
288
289
288
274
326
326
265
375
273
251
325
371
371
309
260
406
333
358
351
272
343
338
313
348
445
309
371
299
302
353
282
309
338
254
341
329
330
369
241
388
320
347
263
257
312
295
347
327
301
256
360
414
321
310
366
294
276
357
249
281
247
289
365
347
333
414
342
271
350
217
259
232
285
334
350
326
216
231
374
326
289
293
293
276
265
390
397
301
330
304
264
331
343
309
286
289
274
338
434
318
284
339
287
370
336
319
411
282
324
239
317
285
367
251
297
327
297
293
361
271
286
415
343
237
275
270
302
374
354
291
294
331
299
305
295
272
354
378
383
267
380
299
300
296
285
319
393
424
308
303
334
329
296
312
295
334
306
364
368
262
297
347
255
332
288
308
328
263
301
318
383
258
325
311
238
403
328
280
219
363
259
330
322
350
325
369
341
350
341
321
267
315
256
330
323
300
315
225
316
367
215
240
260
331
318
385
311
274
343
295
246
332
334
331
253
329
291
283
344
297
317
280
288
350
282
417
285
331
294
283
246
316
281
359
360
320
429
282
278
311
318
343
326
325
354
330
349
249
362
284
333
305
310
317
353
288
287
320
313
320
328
325
392
243
305
229
334
354
191
352
298
276
275
289
331
338
349
319
283
375
304
332
229
257
283
366
300
303
292
371
310
336
390
269
386
289
328
265
323
376
309
269
338
299
335
305
363
341
338
356
239
353
233
310
300
360
312
353
270
280
323
317
455
343
369
237
420
348
311
303
332
321
359
356
293
270
362
318
330
284
311
364
364
306
273
274
224
273
335
294
320
275
309
302
316
327
325
329
322
332
256
297
323
336
319
433
420
275
355
328
365
307
365
344
279
319
280
279
327
324
312
358
318
267
276
245
291
291
295
277
324
253
352
335
355
242
289
371
367
360
343
355
424
317
219
276
319
314
292
270
261
256
308
327
327
358
289
261
307
375
333
371
226
315
246
361
252
264
289
370
308
303
297
343
319
235
295
351
282
374
366
274
315
293
355
378
383
371
417
289
284
277
405
314
354
252
304
369
300
323
317
377
387
370
328
381
365
320
309
318
282
356
281
328
280
329
300
397
324
216
351
320
280
223
322
326
292
351
297
270
259
292
320
330
313
321
300
404
283
255
346
267
308
323
358
370
291
327
296
265
257
351
334
322
302
340
306
359
317
319
342
376
352
264
219
334
349
275
361
312
400
337
291
411
227
338
351
307
333
342
338
373
303
313
312
411
406
261
292
339
340
287
377
352
353
279
394
262
283
243
278
325
360
299
261
288
285
263
300
375
330
305
344
297
292
292
422
271
329
330
425
340
355
292
215
317
323
338
291
328
338
346
352
264
270
285
240
284
309
345
342
348
332
367
240
276
391
337
394
221
387
303
280
250
319
348
291
319
403
242
329
330
352
318
294
351
311
276
275
332
354
293
340
242
326
302
322
280
295
319
312
323
267
265
323
306
265
343
316
389
325
323
234
409
395
275
339
396
297
257
371
285
281
296
296
305
264
283
326
304
364
327
330
288
286
298
326
418
354
260
326
321
306
300
342
279
350
300
245
369
331
385
292
329
319
255
318
359
330
336
321
279
308
360
283
358
232
272
326
349
287
270
349
407
301
333
235
244
363
361
371
283
314
372
291
283
321
369
361
337
373
216
361
328
387
349
390
356
341
380
302
315
297
343
350
348
321
324
335
336
317
353
265
335
280
268
297
308
336
408
333
368
343
299
362
254
356
291
262
313
384
385
261
321
354
370
342
280
346
318
299
385
248
287
281
339
303
227
337
360
411
299
256
268
328
253
352
417
352
297
334
367
391
276
343
317
313
309
340
358
278
264
353
271
349
342
316
307
290
297
330
353
305
289
312
336
266
234
316
378
397
234
343
240
281
279
366
257
349
362
380
277
368
333
331
307
315
297
305
310
278
320
309
361
288
401
378
322
331
280
297
286
339
338
309
252
259
292
298
259
298
353
243
275
325
382
361
279
308
224
326
349
233
415
343
349
354
310
316
288
237
306
310
393
291
309
325
295
298
297
293
354
247
352
354
382
335
358
281
378
372
321
334
345
292
364
385
223
324
363
284
306
347
343
373
325
357
333
339
314
315
267
314
257
367
364
281
237
249
346
301
368
362
256
290
289
260
330
282
323
363
321
344
337
280
288
334
276
259
376
294
341
333
329
313
326
286
416
370
315
331
269
323
332
306
333
358
246
361
335
301
217
230
327
298
308
293
349
321
317
339
308
305
217
242
375
413
314
305
337
370
221
313
292
346
239
234
252
336
268
327
313
335
305
269
279
369
269
306
321
275
314
309
350
323
226
269
299
317
369
264
395
371
274
296
349
348
300
320
244
335
320
330
332
247
352
346
310
303
342
328
290
342
338
339
358
358
321
377
314
239
390
293
282
381
312
298
332
266
368
288
358
284
271
402
245
262
361
340
352
304
243
266
352
304
262
269
279
321
335
202
327
335
343
323
384
275
328
337
305
307
287
355
343
279
357
304
291
339
346
346
356
295
319
340
290
277
318
280
370
310
303
286
303
368
261
332
316
314
309
351
290
347
391
329
405
321
333
286
376
343
327
313
372
322
298
464
326
334
356
270
377
282
306
301
269
286
302
350
384
306
311
378
354
298
311
357
337
303
273
375
392
278
280
353
370
336
307
297
287
325
328
240
269
273
356
390
402
273
314
384
293
350
338
361
284
388
247
326
284
407
308
379
304
384
271
247
369
323
349
294
365
333
293
231
284
267
291
339
358
301
311
298
389
395
320
317
282
351
269
326
372
319
358
298
285
368
296
389
318
294
359
311
364
301
237
401
345
362
366
300
321
361
283
357
356
324
314
266
249
210
190
333
264
333
370
351
366
359
328
288
368
367
279
247
378
333
301
234
302
260
296
297
325
312
270
308
298
272
318
315
359
305
313
245
272
345
371
327
270
319
263
329
289
364
270
387
291
309
230
237
339
247
408
251
300
383
275
371
237
328
379
302
337
327
268
409
271
296
269
303
347
302
401
331
291
307
385
370
333
306
320
331
249
319
274
314
334
340
334
389
208
337
267
349
358
326
289
317
285
270
348
316
307
277
342
324
273
346
344
348
359
365
389
306
286
353
291
338
286
302
264
350
377
353
298
313
393
348
218
342
330
277
237
334
268
314
312
288
319
266
321
371
313
262
328
307
319
298
332
310
349
327
285
322
345
357
304
309
390
246
305
299
364
361
273
293
328
242
363
301
307
324
369
301
380
223
274
341
275
272
285
266
256
276
353
265
316
344
316
317
297
344
305
288
355
297
352
357
374
315
317
333
329
307
235
280
430
322
329
342
231
322
314
244
269
237
334
323
334
366
380
274
295
322
289
275
391
298
320
342
260
390
299
363
301
329
373
301
369
255
375
397
319
431
284
314
292
289
256
267
385
227
344
322
297
347
282
278
395
304
339
288
409
357
309
354
327
303
292
349
384
291
330
263
323
397
332
319
285
341
339
370
300
324
361
356
301
325
294
286
298
359
338
334
322
260
345
362
325
357
353
327
311
297
283
294
366
365
357
315
369
338
318
339
366
229
362
327
292
296
318
309
326
303
336
307
333
346
286
315
295
295
370
334
260
326
399
331
292
271
335
253
309
298
379
303
401
326
378
277
248
291
344
354
413
330
323
339
241
274
314
299
345
301
290
326
352
260
337
327
348
238
348
361
388
274
334
297
266
302
289
377
291
374
363
249
392
244
283
280
334
356
338
283
284
301
325
311
297
279
323
393
220
291
314
373
338
310
358
358
312
306
344
344
298
308
240
343
281
205
344
338
305
396
336
265
390
312
307
336
365
372
360
390
248
308
344
309
208
350
355
368
268
318
420
313
298
307
336
235
412
274
335
383
293
258
350
373
320
347
263
326
312
295
287
322
218
331
316
401
328
351
253
379
319
368
313
387
291
355
313
330
329
224
351
375
331
361
382
264
341
404
343
363
330
351
339
292
312
329
342
320
322
327
271
274
319
253
328
274
267
312
340
357
313
289
376
385
287
278
305
359
402
304
319
283
342
351
264
258
320
261
277
333
401
344
370
326
299
266
305
237
395
261
405
305
316
340
346
272
245
304
325
316
324
317
319
338
301
313
275
341
304
243
360
330
238
285
354
295
301
239
316
336
357
295
294
312
274
339
315
289
310
314
276
281
346
364
303
258
260
352
299
230
263
262
339
301
319
299
323
342
312
295
300
404
293
248
324
308
250
275
295
343
283
357
329
297
256
341
228
372
264
263
225
272
333
248
315
387
292
288
301
277
343
334
289
322
272
251
346
337
380
341
223
262
276
247
260
334
345
301
342
294
288
334
370
335
272
332
215
288
288
358
303
303
380
309
349
335
257
293
217
287
352
318
315
311
241
267
359
335
338
342
342
375
318
315
287
250
253
387
368
375
296
283
299
353
264
352
325
256
380
350
322
343
317
269
304
402
266
405
273
330
255
372
343
263
369
291
273
347
356
349
370
341
319
353
372
365
346
267
340
317
375
394
306
311
300
379
309
342
326
304
292
367
308
369
367
387
335
292
342
364
309
412
250
255
313
400
354
371
332
273
337
347
305
318
273
355
298
278
319
312
360
281
348
308
341
352
336
293
366
320
340
320
305
324
355
283
302
203
290
351
378
293
281
346
286
359
265
394
332
309
284
290
339
365
333
317
367
338
349
340
280
372
291
281
262
242
336
324
305
231
346
335
278
286
345
346
277
331
334
317
349
355
257
221
290
371
288
245
303
276
302
291
359
357
370
308
354
301
332
407
311
399
316
332
297
334
336
317
360
280
349
312
256
369
348
316
423
318
377
310
258
326
312
342
263
248
304
351
460
302
320
362
254
342
357
286
294
292
376
302
294
288
238
365
287
356
355
271
302
258
326
374
295
231
234
328
321
311
270
304
366
380
245
326
281
294
401
303
305
365
323
346
349
368
373
293
343
336
339
366
321
334
383
266
357
316
290
307
301
329
265
316
311
313
278
296
275
329
277
266
295
327
379
282
290
378
350
286
363
382
291
278
370
422
342
300
337
260
326
250
334
274
279
305
281
323
275
435
345
331
337
342
252
377
374
292
330
305
305
273
358
271
245
377
330
115
303
271
262
291
316
292
302
368
369
275
320
349
321
206
296
358
216
277
327
272
296
324
308
301
288
336
241
305
274
350
346
270
277
343
242
194
349
388
307
294
344
307
344
366
366
282
312
348
361
387
272
381
364
303
377
375
340
319
323
303
323
308
276
338
333
388
383
352
310
261
359
338
344
301
306
302
296
319
285
401
307
355
308
352
235
280
369
345
362
319
386
273
291
354
376
336
330
364
322
315
359
351
287
306
371
288
291
326
402
402
323
281
290
276
263
305
312
383
305
307
312
316
309
364
257
298
299
382
359
319
298
339
234
286
273
263
380
268
327
326
441
338
329
320
293
301
347
297
354
368
347
388
272
292
352
290
357
379
339
389
297
323
255
318
328
291
307
329
366
375
287
417
318
324
278
351
372
368
374
330
288
257
396
410
242
258
318
328
355
337
348
352
320
305
328
323
361
368
221
239
283
384
244
297
284
328
295
243
296
241
319
340
355
352
287
294
244
317
288
323
285
331
269
339
348
369
323
319
302
326
339
300
354
274
349
382
274
273
240
258
325
347
270
341
290
268
345
284
335
406
337
287
337
315
381
307
259
305
234
334
354
350
326
302
276
247
304
318
355
231
307
292
250
255
236
288
261
297
328
323
325
342
291
297
358
306
240
274
327
370
241
337
318
329
272
323
321
259
226
352
335
388
349
261
252
355
313
283
298
353
312
345
373
411
280
284
335
301
325
274
313
334
289
274
293
269
279
384
386
315
273
271
232
324
297
344
371
354
322
313
371
335
379
350
334
264
350
328
262
345
365
393
390
281
346
327
227
403
362
324
266
364
257
352
426
235
291
285
325
261
369
367
365
344
281
354
293
360
280
297
314
260
379
322
420
358
236
315
325
329
244
243
351
341
208
320
285
298
282
309
267
332
380
286
378
353
339
260
286
249
243
258
335
338
317
354
362
317
270
261
302
270
359
334
318
361
280
333
309
390
203
286
308
290
272
294
387
282
326
354
306
301
328
348
389
349
287
261
243
284
322
329
375
318
294
298
292
280
290
327
289
315
343
341
285
283
335
284
273
212
340
348
363
309
374
351
255
355
255
277
260
253
369
300
358
281
401
286
341
351
203
343
360
355
273
242
376
331
367
285
273
277
277
343
319
288
322
258
305
263
369
287
283
309
237
274
313
348
386
227
270
362
245
322
316
263
316
296
318
339
341
254
281
386
353
378
330
321
268
343
281
285
303
310
236
353
315
386
332
389
243
286
381
368
361
400
342
366
289
383
321
381
284
342
357
413
270
381
401
343
275
390
361
357
281
256
312
373
345
376
297
319
343
420
375
196
363
260
350
282
307
323
328
374
266
281
345
257
269
353
215
279
287
337
301
315
288
349
274
302
239
341
341
343
267
293
331
238
299
326
307
375
370
364
308
371
355
322
319
362
345
262
315
340
289
311
278
233
318
338
362
252
353
309
373
372
339
367
296
247
305
332
343
350
366
301
345
326
273
271
369
302
318
301
354
365
314
336
296
271
351
387
253
297
315
334
341
252
355
336
276
353
373
344
348
312
362
334
204
310
285
328
254
369
340
361
347
301
354
262
286
263
364
336
353
294
271
246
277
307
327
351
263
291
349
321
359
320
313
342
353
337
293
314
295
369
388
323
275
232
380
385
272
359
256
360
289
257
276
337
337
239
293
313
377
366
348
354
399
358
246
294
310
271
284
373
312
324
292
373
313
301
307
295
299
354
378
342
399
288
314
297
410
348
380
380
358
262
314
410
291
297
334
381
358
373
263
378
397
321
285
280
328
394
383
251
274
328
296
321
406
249
307
288
349
310
323
365
331
311
258
267
304
252
342
304
332
368
342
374
382
291
346
317
267
311
350
359
277
317
387
310
354
362
322
411
361
399
325
305
352
283
304
360
379
384
269
360
294
283
367
341
426
361
332
401
326
320
345
353
394
376
379
253
282
333
320
248
299
341
385
284
357
379
245
363
341
305
351
290
357
321
422
302
329
364
362
288
294
286
383
359
382
343
291
347
308
318
277
363
311
345
310
358
308
298
266
325
364
287
327
329
238
289
299
288
262
348
245
317
318
252
306
372
303
343
343
350
349
253
285
292
307
286
351
388
244
299
348
244
427
334
300
253
383
282
347
347
339
312
378
269
314
370
365
330
303
322
358
234
383
311
306
273
362
344
300
314
370
286
291
328
332
255
377
366
346
337
367
367
340
385
328
305
300
322
242
284
292
281
308
246
292
244
381
242
318
260
294
358
324
334
396
284
340
297
282
375
262
351
344
322
381
310
261
317
309
304
378
269
334
398
240
306
275
365
307
292
378
310
330
378
242
364
271
344
335
282
382
307
315
300
286
276
317
394
325
310
273
319
304
272
376
335
238
275
288
280
356
262
262
328
343
297
349
344
343
280
297
321
328
361
227
355
305
375
261
380
320
283
285
257
361
415
354
303
278
270
387
329
356
370
333
317
288
278
328
383
291
325
335
349
292
294
316
378
332
304
312
307
343
257
362
374
337
356
321
312
310
358
314
271
338
350
351
344
329
349
337
402
290
321
341
306
324
303
337
355
399
282
270
306
320
321
288
344
286
324
212
294
345
236
302
360
341
320
362
417
297
306
366
351
345
391
311
359
379
247
295
278
317
342
319
259
303
365
287
391
314
337
348
349
376
340
264
333
276
265
340
261
285
270
333
369
306
318
307
371
334
328
331
306
267
371
317
307
235
355
379
306
314
359
385
219
318
359
341
334
181
357
251
384
355
377
311
266
312
382
336
277
355
364
256
305
392
268
276
251
350
306
438
332
381
344
309
298
258
308
338
313
317
328
404
306
253
277
288
268
355
356
349
233
393
390
354
390
314
390
365
341
256
356
211
388
294
290
290
287
235
274
358
386
264
286
301
352
333
320
339
315
322
313
340
307
348
359
374
352
355
399
277
229
277
340
336
340
332
321
342
259
372
300
229
305
326
293
244
290
292
338
360
372
304
325
302
371
260
281
348
343
315
286
315
398
374
347
354
358
331
311
293
368
387
341
264
254
368
269
292
334
315
258
354
333
350
315
293
269
304
229
343
290
345
352
316
278
319
365
333
293
202
320
295
400
283
283
421
292
256
341
292
358
304
340
281
367
328
335
276
251
382
383
342
380
391
350
291
295
349
351
331
301
282
295
343
351
346
352
246
349
209
379
335
320
349
295
364
286
330
334
336
248
269
304
344
342
361
268
335
414
241
311
352
335
296
402
271
267
402
337
305
228
284
339
371
309
281
245
359
355
310
286
295
264
284
289
364
263
279
308
296
264
269
345
360
315
440
339
317
317
332
315
319
325
342
331
374
421
383
337
303
290
287
364
298
254
235
372
275
332
256
386
272
325
367
394
321
346
322
323
332
391
365
262
267
309
288
351
251
316
347
376
404
348
323
333
318
283
339
318
332
371
329
301
303
306
374
340
196
315
399
353
284
371
320
320
322
364
252
314
307
319
294
324
280
245
354
387
310
297
360
388
265
288
297
351
296
355
309
367
283
269
264
314
318
250
359
296
379
290
339
286
310
329
396
323
293
295
394
361
361
235
306
287
267
254
283
357
374
280
261
296
340
288
325
306
350
277
373
311
318
280
262
328
274
288
314
349
307
297
351
153
290
240
347
367
315
392
338
347
377
320
282
248
342
329
329
259
290
397
350
254
344
311
299
277
329
325
374
340
241
312
303
318
381
311
265
319
313
252
360
331
281
312
257
212
317
280
317
269
298
380
310
297
323
361
387
278
311
339
426
279
361
289
328
273
388
201
391
406
316
370
398
320
277
352
306
356
357
281
349
303
296
302
300
304
257
390
270
358
355
305
375
334
333
335
320
339
295
276
334
322
298
225
273
322
357
267
370
295
286
312
334
362
351
365
282
274
334
338
335
350
370
343
334
252
319
366
306
302
268
266
360
319
306
303
336
331
259
342
356
388
289
391
326
350
276
306
265
426
319
310
309
372
287
282
323
376
357
380
341
275
343
313
354
271
369
227
361
258
264
373
312
309
365
275
270
286
367
265
267
397
327
369
290
387
316
379
311
347
306
274
360
302
317
301
323
328
317
294
284
286
339
366
329
347
236
357
314
258
255
317
337
331
327
344
354
300
283
355
376
333
343
302
375
267
295
323
335
322
347
379
325
273
288
297
313
336
303
273
291
289
304
289
306
340
300
308
278
307
317
266
340
382
299
398
367
284
338
381
333
338
378
375
362
255
219
383
311
327
330
238
355
295
297
261
382
299
376
348
341
321
308
393
320
296
363
336
261
328
323
236
363
347
351
306
296
296
266
259
368
339
280
301
349
334
403
147
246
236
367
364
290
352
318
343
234
347
183
299
311
289
289
231
276
222
403
276
334
278
379
232
332
265
318
405
308
263
323
284
302
296
328
294
277
295
291
384
269
343
314
363
382
252
245
341
298
277
330
362
364
335
329
300
342
301
314
274
320
302
248
383
255
200
349
321
345
300
249
315
318
339
318
388
389
346
351
392
342
336
389
447
283
279
291
369
338
300
262
370
352
311
302
325
276
285
294
314
355
258
313
350
304
315
271
294
327
342
341
372
318
295
280
311
279
296
323
435
273
307
335
327
352
317
363
287
400
383
293
366
285
352
234
283
360
321
286
286
363
299
304
356
307
247
267
283
232
360
295
325
306
218
237
281
337
295
357
358
323
249
343
302
351
352
284
326
336
289
263
292
275
300
379
306
293
217
319
308
360
300
318
314
350
307
267
351
326
348
305
301
315
267
283
360
301
315
318
228
308
354
443
307
416
376
351
339
389
190
331
227
275
341
344
393
345
349
350
257
366
314
317
359
401
324
290
280
298
235
391
362
260
269
228
374
259
308
304
298
398
292
372
305
246
343
273
323
305
239
333
369
387
334
249
302
274
269
368
303
337
323
230
253
344
281
260
265
327
359
347
266
313
375
248
373
279
371
258
213
282
376
299
262
346
288
182
298
284
314
426
326
311
324
271
273
323
310
351
337
297
390
317
297
324
392
305
270
258
289
403
349
289
307
284
266
241
331
300
325
275
310
321
337
303
342
275
330
364
286
368
295
353
350
377
330
324
252
318
341
280
285
252
282
365
282
267
315
295
357
310
405
331
315
324
413
370
292
289
331
367
372
280
326
292
318
326
340
269
310
304
327
430
257
353
352
361
292
342
238
277
396
257
263
375
278
307
288
358
180
308
276
342
359
302
287
197
257
275
290
354
337
353
315
343
380
279
298
374
345
275
358
354
281
382
368
301
357
355
284
291
351
329
350
350
385
308
316
211
328
295
324
309
353
322
308
302
273
312
334
309
307
316
253
303
324
265
274
342
286
303
319
184
292
335
347
303
229
267
308
319
247
310
294
278
312
308
315
314
243
323
307
296
348
357
249
326
377
287
284
306
393
284
243
323
312
371
329
319
365
377
312
303
339
266
338
332
359
245
350
332
284
298
304
320
276
325
369
359
347
301
290
387
387
264
320
369
301
286
345
246
313
265
342
310
363
351
315
309
362
296
343
295
373
287
323
268
385
319
287
292
169
400
317
277
287
349
324
326
366
332
324
349
300
407
284
302
261
403
307
249
286
327
278
258
321
303
385
267
302
398
357
367
300
332
326
343
324
340
252
352
301
273
274
312
356
319
240
381
328
252
342
315
261
334
312
345
267
294
313
228
327
410
320
388
241
287
243
313
324
360
367
321
359
352
294
392
335
341
312
315
330
296
306
349
326
307
329
299
221
327
344
330
371
302
316
324
235
394
309
328
299
302
365
316
411
271
306
306
411
389
264
236
322
351
343
373
370
309
326
332
317
244
336
334
289
331
270
183
381
353
340
277
331
310
350
346
351
273
271
378
304
284
353
271
364
292
332
349
279
304
308
399
358
284
278
320
343
329
375
275
306
305
350
312
304
390
288
327
349
318
345
386
267
341
308
391
320
352
276
328
274
343
341
291
419
341
306
389
305
314
336
334
262
340
374
415
342
292
365
309
334
302
354
268
354
304
349
327
394
308
289
309
295
369
351
320
313
349
270
363
349
280
235
315
255
285
291
334
257
325
335
263
300
322
280
299
326
268
317
346
296
245
348
346
325
276
287
340
392
373
294
353
268
413
367
306
286
229
291
374
240
368
326
385
296
267
370
389
310
374
277
394
206
405
236
322
281
301
342
337
338
293
370
262
341
284
289
218
383
275
378
280
353
346
326
270
303
411
369
309
384
298
337
351
388
309
296
327
332
315
265
309
390
289
254
252
314
337
323
314
269
367
297
411
313
292
328
306
274
330
220
382
229
331
394
259
244
322
370
340
373
367
215
198
333
350
372
329
308
338
324
353
428
407
322
332
382
313
326
331
294
352
283
319
329
395
324
337
325
306
424
227
332
289
274
351
335
193
229
351
325
241
308
386
335
226
277
383
268
400
404
305
236
313
381
271
299
331
336
290
349
159
264
292
312
296
285
323
252
352
285
367
454
352
303
279
338
288
363
422
307
358
408
304
399
269
239
378
305
308
270
294
222
254
300
198
321
316
249
295
359
280
358
334
320
347
383
319
317
233
273
339
284
344
352
303
313
272
359
307
231
311
235
269
319
314
302
298
320
315
303
312
289
375
370
285
327
222
365
273
308
382
304
303
207
320
261
273
293
285
280
407
327
397
335
377
401
178
388
280
346
266
347
347
298
345
220
327
347
291
370
264
288
243
341
387
337
391
314
317
308
318
301
350
313
341
289
247
328
301
233
273
344
328
299
298
255
260
370
293
346
362
286
292
244
373
162
381
387
245
316
292
305
278
296
318
271
298
311
259
303
281
337
304
372
195
354
247
297
241
325
378
275
285
301
294
299
290
335
316
250
303
261
326
301
290
341
263
414
354
352
248
365
343
350
365
318
259
331
416
379
340
290
386
291
313
360
410
367
323
344
309
278
424
318
335
309
383
336
390
322
236
318
384
366
361
399
272
299
228
308
288
322
298
367
361
352
273
273
327
282
244
373
380
211
260
294
225
357
294
268
325
334
303
331
368
266
305
259
277
320
301
305
238
361
217
341
308
366
282
271
375
321
284
367
311
290
305
295
318
392
361
385
329
297
315
377
308
252
401
245
270
328
226
275
321
364
331
290
277
343
296
346
383
208
294
332
329
296
309
308
325
330
278
324
341
278
364
328
288
327
298
244
363
331
397
372
333
285
246
238
316
294
376
284
322
298
318
280
360
311
252
271
331
283
343
204
255
334
317
287
442
356
299
380
309
305
355
230
228
314
241
329
279
294
327
263
304
245
315
280
330
325
350
352
323
273
405
310
341
384
362
333
296
309
340
381
246
260
303
335
305
262
344
336
324
331
316
263
256
293
319
300
297
394
303
339
315
343
302
285
365
281
309
393
271
263
265
329
302
371
316
282
352
297
353
312
356
248
266
342
234
313
209
307
292
363
279
303
308
367
288
359
313
297
273
305
377
236
369
259
282
321
289
380
393
364
283
334
411
289
321
297
317
297
299
331
272
274
339
319
237
320
288
304
392
179
277
332
304
367
312
323
283
370
313
328
254
333
285
256
384
219
323
387
269
312
320
371
287
344
267
379
415
219
348
366
310
336
256
336
342
309
346
261
364
278
325
312
289
280
377
343
304
376
277
328
364
286
405
335
313
298
286
355
338
306
311
308
263
355
358
264
374
291
314
265
336
333
259
292
409
378
279
367
305
406
308
267
336
247
344
307
288
373
263
291
357
295
300
203
282
310
316
336
245
331
373
350
300
313
320
329
305
328
363
355
269
410
279
368
266
338
346
300
389
292
265
305
330
335
282
280
275
408
335
357
333
240
229
274
316
315
368
332
326
338
316
333
273
310
324
305
342
244
386
318
297
343
287
382
347
231
408
276
367
304
284
285
283
352
276
339
359
358
317
345
349
318
266
288
319
314
314
299
376
290
361
289
279
273
295
451
338
312
271
285
349
379
388
366
345
301
310
329
370
328
325
285
302
411
360
298
321
255
322
396
302
311
368
354
301
378
303
332
289
329
358
400
282
292
312
298
323
375
389
279
197
335
338
345
325
293
329
357
379
400
341
393
289
329
333
339
394
293
314
308
322
251
338
260
341
245
348
227
329
328
314
294
302
326
340
328
358
399
357
314
356
348
375
348
272
307
360
223
349
326
352
310
339
324
383
285
384
279
384
236
325
263
317
311
313
385
270
293
382
286
253
322
336
217
356
292
303
309
283
381
307
363
312
275
274
277
382
244
228
366
307
326
330
272
374
262
261
373
324
345
349
311
345
345
283
366
337
349
315
359
317
314
379
325
372
346
311
304
278
379
344
330
357
188
326
395
386
294
316
244
347
234
372
335
298
344
280
292
370
342
374
306
299
372
316
306
353
313
252
261
339
323
343
406
347
309
382
387
356
324
309
278
345
361
401
298
310
302
284
348
314
355
255
312
248
254
401
261
310
355
304
392
291
291
332
283
275
328
397
256
326
242
285
304
311
320
319
316
327
332
324
301
297
409
285
217
305
282
305
320
282
409
285
309
287
314
335
312
328
278
343
308
302
319
400
376
310
300
228
298
260
386
336
343
333
336
348
275
263
361
355
368
315
294
266
297
352
270
291
381
291
366
305
339
285
248
345
243
364
310
384
313
379
317
218
271
284
352
398
389
329
351
254
299
333
292
338
340
282
282
260
259
316
255
320
360
332
330
337
349
259
349
324
314
318
311
339
381
314
297
336
240
301
309
248
334
348
332
332
231
255
322
333
272
408
368
320
300
286
352
316
320
321
331
254
420
344
327
276
313
332
338
327
333
384
297
281
343
324
282
374
382
303
249
392
315
263
291
242
296
181
299
299
281
340
381
223
329
291
335
277
324
267
295
313
353
252
303
291
309
320
394
319
380
326
328
263
324
349
378
312
308
359
317
259
319
334
316
253
361
257
353
369
254
338
311
359
318
288
341
264
334
327
403
289
323
360
310
354
378
343
345
327
373
310
311
298
252
308
342
343
341
323
358
236
243
418
304
335
306
415
347
297
244
361
322
314
271
373
368
301
304
444
342
267
231
360
312
360
296
316
263
392
287
291
189
298
323
278
364
328
300
287
385
309
284
359
269
376
264
352
306
279
310
404
353
331
365
287
357
300
237
266
336
369
328
253
338
327
374
293
348
382
218
369
319
314
321
336
273
269
347
322
303
323
387
254
368
270
355
332
328
319
307
331
240
310
318
228
318
271
309
356
247
278
308
368
326
349
295
310
291
300
357
331
314
332
309
355
322
318
280
311
348
325
289
368
282
285
366
325
353
372
288
288
310
369
326
313
299
300
304
352
339
313
288
366
293
389
263
383
340
389
298
295
396
369
296
346
393
288
302
292
315
301
297
334
285
276
389
339
321
320
260
246
270
263
271
336
321
363
307
375
317
272
340
303
252
284
270
229
243
283
392
349
316
348
270
300
297
363
276
324
349
319
306
260
393
323
282
343
243
343
276
337
346
331
316
405
369
341
332
332
318
323
353
327
302
345
304
284
315
277
239
296
290
259
353
268
321
270
372
313
219
266
345
221
311
326
284
298
367
367
315
282
292
310
335
290
274
353
374
273
385
311
373
308
348
289
393
338
307
367
291
277
318
351
336
314
209
339
309
256
367
374
320
344
342
361
261
338
327
318
345
325
278
331
267
321
260
352
246
362
353
322
347
285
336
301
272
300
267
311
316
289
316
328
328
236
313
353
264
375
416
307
296
335
271
391
383
432
292
401
211
365
303
348
233
350
371
333
339
348
325
309
306
410
295
393
324
361
272
277
284
332
326
363
397
339
313
345
303
303
348
351
379
272
280
323
323
318
372
330
294
333
335
349
304
368
372
293
338
356
272
261
311
291
326
348
355
287
301
358
305
337
334
282
317
348
309
368
398
349
296
242
351
373
329
321
367
349
277
257
264
304
348
164
379
240
227
298
347
350
253
353
307
375
330
335
357
257
333
278
341
343
336
295
255
297
294
326
323
432
353
321
311
356
308
256
297
313
281
344
266
261
357
350
402
344
369
299
278
347
394
291
308
338
361
286
249
274
337
245
331
399
360
324
288
322
359
262
352
326
340
373
294
410
377
305
394
296
320
350
264
363
271
362
360
390
312
390
375
310
273
359
287
304
288
322
258
347
321
271
310
370
382
280
345
302
235
330
264
339
302
349
303
302
317
293
275
329
201
405
358
325
361
299
328
292
306
275
284
330
333
272
388
265
286
378
314
386
348
359
254
408
358
267
305
278
317
319
342
343
271
330
253
298
347
262
363
267
289
226
335
224
346
282
253
274
330
344
238
320
192
320
304
370
299
367
357
310
342
258
255
315
381
350
243
204
366
283
434
381
314
324
311
266
329
252
381
386
326
424
312
379
361
401
201
325
351
289
290
245
259
315
342
390
290
272
376
360
299
398
286
329
279
379
231
369
330
282
327
321
290
334
380
297
316
297
304
341
202
279
272
366
252
270
363
290
399
311
338
258
365
387
326
220
336
342
214
275
369
325
338
318
208
313
367
351
346
374
313
330
334
262
280
356
352
270
346
316
250
292
226
322
304
395
407
356
380
383
356
433
341
270
307
271
346
228
406
333
387
340
385
294
295
333
341
329
246
299
284
302
375
310
244
314
273
349
385
274
284
327
342
250
364
372
244
412
304
319
235
347
303
326
331
315
348
361
312
313
275
367
374
351
262
290
281
267
328
361
333
294
357
299
296
397
246
302
316
244
255
347
309
389
312
367
264
290
163
373
317
248
314
324
261
296
315
411
367
211
275
357
259
341
333
272
322
391
302
316
369
311
335
318
305
317
273
310
292
400
282
321
381
339
233
244
321
263
340
370
319
293
280
359
274
338
276
384
270
329
350
312
312
339
316
331
320
311
368
333
234
253
272
240
270
309
284
299
369
293
266
278
254
324
254
248
331
250
326
337
311
281
269
399
389
254
341
307
308
393
366
270
331
250
373
382
344
287
379
372
295
344
277
351
259
331
246
315
416
311
278
261
272
267
341
272
368
315
254
322
226
356
302
287
258
349
243
317
379
281
351
327
380
359
331
281
294
280
305
340
232
290
332
399
362
410
387
329
344
386
293
277
252
236
246
368
295
287
279
284
309
353
297
323
288
407
338
336
299
235
398
273
259
273
342
242
227
278
320
225
313
325
255
294
288
305
285
279
386
261
304
298
381
244
324
355
334
252
331
437
258
350
336
289
299
377
277
307
304
264
347
277
354
271
290
352
405
265
336
247
334
278
272
254
327
314
295
248
274
276
345
367
334
323
376
208
360
322
310
384
321
361
314
303
343
367
339
335
375
328
328
281
219
305
215
259
404
312
275
370
324
244
250
377
301
191
348
228
300
344
310
318
287
291
359
308
346
282
318
396
301
327
259
279
376
330
392
283
362
340
364
323
373
254
348
357
294
291
225
361
337
346
273
345
313
326
395
346
324
326
347
295
368
336
354
319
333
347
259
339
357
372
421
364
320
306
342
338
342
363
327
396
252
327
234
314
374
294
250
333
214
242
224
370
343
285
332
232
377
370
349
334
267
261
291
275
340
212
341
326
214
308
324
380
272
372
363
228
344
353
304
306
339
326
314
323
339
349
345
387
306
295
345
331
374
285
316
299
205
338
309
377
381
325
352
321
322
328
352
163
268
340
350
267
405
291
345
360
416
293
312
357
280
303
331
300
313
325
361
354
365
211
343
330
285
316
280
218
381
330
334
348
289
271
262
336
379
288
313
254
287
371
337
329
260
317
309
341
326
344
419
302
261
334
313
311
255
317
273
385
316
346
360
364
285
378
294
312
391
312
241
344
348
363
239
251
382
361
262
379
350
221
384
382
384
369
360
348
297
305
346
240
270
326
265
348
326
337
314
367
320
332
290
267
360
293
305
222
329
377
358
323
324
321
292
289
315
318
355
308
371
285
286
281
362
379
254
366
337
346
291
346
360
333
324
268
380
296
252
342
239
340
331
272
272
330
289
316
304
398
382
291
324
258
304
367
351
335
231
370
354
216
301
324
331
248
288
334
286
377
298
394
424
274
357
337
394
272
267
257
316
326
384
302
338
359
276
307
355
323
311
367
307
314
318
332
280
327
299
302
346
325
331
349
331
335
352
331
294
330
261
312
347
346
326
385
293
314
311
266
408
379
308
314
348
339
301
275
325
365
346
282
290
341
277
334
368
265
258
399
314
378
342
333
307
289
337
227
348
299
292
245
450
283
286
314
348
284
316
322
368
300
411
323
242
294
260
222
370
197
370
371
284
229
244
377
343
336
306
331
333
332
212
257
271
280
319
267
317
353
326
338
291
267
363
351
232
366
365
328
338
357
249
340
315
287
241
378
312
344
345
286
277
369
331
344
267
344
247
296
314
389
219
300
347
342
292
324
292
341
290
395
277
391
339
260
240
292
291
275
229
401
379
330
311
324
292
337
346
313
376
285
355
209
325
349
327
318
293
343
385
336
313
396
336
239
361
365
282
308
338
247
311
287
269
275
250
328
196
254
255
404
259
300
343
317
231
294
277
288
284
381
402
258
304
364
296
342
313
273
360
281
339
341
257
350
328
292
384
262
292
357
321
311
326
306
288
325
320
280
264
401
275
222
299
314
351
325
251
375
354
353
257
386
254
298
258
322
419
328
319
303
387
298
336
176
347
260
328
335
390
282
280
318
383
294
396
239
299
323
274
261
355
355
332
336
347
351
345
357
309
380
328
383
345
308
324
240
334
232
347
333
299
354
330
286
314
345
286
238
221
303
388
331
291
325
218
319
317
364
371
317
315
350
323
285
361
330
378
329
309
304
313
281
339
322
307
296
265
277
278
301
294
392
333
281
329
374
342
319
293
365
278
280
320
296
281
304
279
307
286
291
339
266
343
321
258
330
277
296
319
335
296
320
289
275
393
306
259
322
235
363
307
319
307
243
293
255
285
285
273
319
325
358
335
262
377
307
269
366
379
201
420
296
266
350
328
215
341
236
356
389
316
340
233
268
323
357
225
318
315
340
274
380
341
398
270
307
306
369
361
376
325
367
312
320
214
341
252
356
262
344
297
298
261
373
303
355
295
387
377
413
372
362
230
363
311
414
279
266
393
323
314
311
390
339
259
286
387
357
368
328
308
372
396
401
428
241
227
332
320
346
361
325
255
315
344
360
280
343
325
412
306
316
285
371
362
265
303
266
355
322
299
243
319
331
290
288
278
344
316
318
374
299
228
381
381
313
343
275
364
348
329
301
353
372
299
301
312
337
399
348
235
355
325
371
364
232
355
346
339
344
307
353
309
358
264
330
400
289
286
260
262
348
284
286
333
347
235
361
292
237
282
286
375
306
393
238
396
396
296
309
339
324
279
285
316
378
358
194
391
341
324
275
320
363
200
384
322
324
356
312
264
364
366
262
287
284
328
303
273
295
299
305
336
345
318
321
374
367
295
319
283
304
274
278
281
347
291
349
305
295
305
309
339
322
287
294
345
265
425
257
287
378
390
312
344
285
216
306
280
298
351
258
283
307
373
320
270
256
346
307
387
375
260
334
295
308
360
346
370
367
340
261
349
326
316
258
324
348
280
279
281
351
246
267
343
296
325
282
435
316
346
328
299
350
321
318
274
299
340
298
329
352
318
382
355
448
384
300
269
277
298
329
307
265
320
346
274
271
320
357
294
379
268
349
376
357
327
276
321
274
278
340
307
328
332
304
240
345
389
297
376
329
274
383
350
296
341
316
304
291
282
313
327
336
285
191
343
328
411
269
359
325
365
321
237
357
361
310
352
298
303
359
259
326
354
353
355
289
270
331
328
275
280
276
358
365
358
351
325
349
335
323
241
396
249
350
312
380
232
339
340
409
312
280
326
393
303
351
331
433
267
325
299
275
249
313
312
324
335
291
325
407
345
337
294
301
344
315
310
365
264
353
363
278
289
387
383
234
296
258
302
374
319
296
432
366
282
370
373
341
374
350
341
332
290
324
249
327
335
219
295
319
278
317
350
356
350
322
369
280
301
271
246
339
360
335
304
359
286
348
338
283
318
369
342
310
323
337
312
251
275
351
268
264
313
399
259
318
328
320
335
225
298
260
296
280
406
289
318
296
355
307
337
327
270
406
346
371
284
329
443
285
268
347
315
301
248
266
320
333
257
218
312
298
263
371
213
290
357
299
278
363
305
333
301
344
217
403
419
347
284
313
324
296
299
315
287
355
317
334
327
336
302
223
196
351
281
349
234
317
344
325
366
356
325
260
287
335
232
350
322
293
352
237
314
357
305
369
354
259
364
334
219
319
302
283
354
333
301
293
250
307
240
305
297
356
311
348
269
307
257
319
334
296
379
212
339
356
205
341
301
259
365
337
332
371
336
293
325
312
304
306
346
416
352
390
339
274
310
296
300
327
294
289
376
288
294
265
362
373
406
339
307
184
275
252
307
307
378
395
398
247
284
270
389
265
335
335
285
332
203
268
371
350
317
268
290
368
305
257
330
293
349
286
362
339
352
314
267
329
390
417
371
263
303
314
304
248
337
309
365
345
404
374
294
345
357
261
322
366
366
365
288
241
307
273
328
262
266
331
288
242
240
312
317
360
277
271
361
301
293
324
333
293
255
354
329
325
379
275
395
312
285
398
317
277
370
306
325
276
310
351
276
274
306
376
337
329
331
248
358
311
305
240
300
281
286
314
315
246
325
280
337
332
316
353
333
278
335
332
289
309
278
348
298
374
322
350
273
361
349
376
307
339
286
280
221
324
325
299
294
298
349
329
249
284
348
339
386
282
358
240
301
295
379
342
376
379
287
282
244
334
281
239
301
250
360
339
254
309
260
310
338
336
327
289
338
355
390
338
320
393
236
311
299
302
315
307
332
337
254
281
304
325
387
312
258
377
294
250
353
340
244
301
361
306
300
353
374
213
324
359
337
327
229
344
370
315
317
378
341
377
289
260
361
338
300
324
254
271
359
402
315
295
185
361
322
310
361
360
323
385
240
355
363
301
334
341
384
284
343
373
316
236
348
249
338
349
327
349
332
375
342
298
259
315
281
381
312
298
371
316
320
298
417
223
245
329
243
306
236
373
282
268
332
308
325
304
334
323
321
304
284
298
281
324
364
294
348
317
390
388
277
330
433
269
367
314
351
361
295
326
407
315
351
237
364
404
282
333
334
329
275
369
313
292
306
303
325
294
305
281
327
366
332
306
226
289
324
318
360
323
441
292
357
339
255
325
361
307
415
259
330
314
292
315
337
312
347
371
299
327
367
244
275
352
369
357
298
290
315
274
270
263
383
346
232
361
243
281
288
347
363
315
313
285
327
353
309
285
361
282
317
328
276
313
347
352
397
294
237
295
342
378
356
267
381
310
335
399
315
258
284
386
300
326
294
235
216
281
315
320
304
333
313
341
316
337
397
301
379
351
396
302
385
300
393
305
281
321
280
262
222
313
241
279
272
345
314
218
320
357
297
376
286
356
345
358
310
325
263
306
286
308
330
359
337
340
333
303
249
269
317
356
280
288
302
333
353
311
359
307
405
297
400
330
289
374
349
326
371
290
311
271
405
280
314
343
238
367
316
289
328
360
360
346
304
345
301
267
301
313
327
281
277
362
242
344
390
291
244
314
385
319
267
345
324
274
352
290
318
339
322
296
328
342
287
275
280
338
246
362
241
300
363
271
365
351
336
337
263
298
283
337
324
361
339
289
309
273
349
338
365
270
271
286
339
372
276
354
327
341
319
322
300
394
351
338
321
257
233
329
393
270
348
283
352
334
349
279
248
365
304
222
312
315
305
325
313
294
342
366
334
383
377
264
257
279
375
247
262
290
296
293
280
343
309
327
253
348
293
271
329
339
311
299
247
320
309
333
369
316
349
392
341
311
268
303
353
265
300
317
309
217
350
265
353
308
322
320
389
317
277
281
293
266
359
343
304
338
269
353
344
306
350
293
370
232
292
324
401
280
243
311
312
262
345
319
329
324
289
335
318
326
379
331
349
318
297
281
322
311
381
384
360
408
300
311
294
293
314
238
393
312
340
345
342
335
364
386
302
249
285
405
298
324
295
382
397
380
343
262
370
397
366
306
321
314
301
346
361
335
338
343
302
344
276
392
216
269
341
331
288
342
250
331
240
338
327
319
254
313
304
355
336
279
294
322
335
315
308
376
384
306
284
255
333
295
320
290
378
404
220
239
316
354
262
266
349
266
293
275
323
232
308
412
295
302
334
301
257
329
319
300
258
322
255
302
267
314
343
324
329
354
336
238
353
315
340
327
366
301
345
291
299
260
332
306
315
197
313
396
266
315
356
313
302
303
279
245
329
256
329
303
270
353
281
277
255
316
384
288
294
303
241
365
366
347
278
341
313
312
259
346
303
293
295
331
342
315
317
383
382
309
211
341
355
296
324
278
390
267
324
400
316
333
224
316
258
354
368
290
332
300
343
288
266
409
340
238
411
257
358
315
259
351
302
321
334
297
363
391
309
299
384
322
356
319
339
333
285
289
337
328
263
282
311
347
329
378
361
239
364
311
287
309
318
312
288
327
382
273
280
341
235
279
300
286
326
311
309
392
341
358
254
318
335
304
286
356
262
396
280
345
297
348
311
310
302
341
329
368
326
235
253
389
324
326
308
317
250
359
281
271
308
403
329
313
266
326
348
306
244
251
360
387
290
371
319
306
287
349
393
290
284
302
329
348
320
356
295
327
298
356
293
293
257
260
396
264
355
386
320
299
304
300
292
333
260
325
333
232
328
419
239
302
289
405
343
293
378
323
312
396
383
319
396
267
413
322
295
326
276
332
301
339
316
312
425
267
308
310
330
320
233
267
291
365
273
244
257
259
281
237
345
263
300
323
355
351
270
266
308
337
329
291
305
301
330
346
351
308
270
326
249
341
363
424
293
228
272
339
355
295
358
380
338
258
303
355
323
277
240
383
319
328
252
401
345
270
428
316
279
343
348
277
297
324
381
355
377
320
364
326
368
260
282
319
338
381
270
279
290
263
335
354
352
233
350
342
300
300
314
320
331
300
283
360
337
347
385
296
345
295
372
252
279
330
246
294
352
322
377
369
282
335
261
289
315
261
311
337
324
344
385
294
335
301
328
397
238
334
337
382
347
288
298
259
348
298
268
251
274
341
294
339
265
268
327
260
333
333
228
326
271
273
315
293
343
234
302
372
332
404
268
336
309
293
303
291
284
290
359
322
293
281
333
233
317
296
282
285
316
308
341
292
236
253
243
339
301
438
279
342
310
381
359
337
355
371
341
307
286
283
310
377
295
363
383
363
397
344
207
266
413
304
364
358
292
280
309
294
357
283
370
285
311
271
400
223
341
306
332
316
337
379
263
348
322
385
349
329
353
337
375
329
426
350
249
387
292
280
294
358
338
213
352
278
368
298
343
332
285
279
384
295
344
335
359
349
311
275
406
322
257
256
338
327
168
287
339
253
331
255
359
254
224
225
341
272
229
337
324
388
238
315
306
284
345
276
327
311
281
344
247
356
336
339
330
260
315
287
306
292
290
300
301
264
404
323
220
296
338
315
306
245
285
301
285
303
321
356
379
315
359
344
322
331
392
253
362
310
300
360
299
333
291
355
329
296
285
384
227
254
294
312
341
329
279
381
315
334
122
334
351
423
386
300
356
300
334
299
328
298
302
324
320
338
362
358
353
292
302
361
292
265
232
277
371
239
336
301
283
281
205
333
359
294
286
383
237
326
321
280
228
291
356
306
310
290
293
370
263
321
331
353
331
326
262
367
299
346
381
316
313
281
345
258
286
346
288
318
305
315
287
298
318
380
370
287
282
271
347
324
351
268
341
275
354
357
273
346
389
264
246
355
239
285
316
326
269
327
295
350
328
372
177
287
362
369
281
368
411
336
321
403
353
316
317
291
295
353
276
354
304
340
352
266
315
297
320
366
290
384
388
322
347
258
299
330
286
286
303
270
262
290
320
302
363
227
304
332
307
263
419
359
295
284
367
265
297
228
374
229
302
320
294
288
339
310
358
302
285
413
308
336
354
277
338
321
314
241
366
279
302
250
284
309
310
335
421
362
319
321
352
259
297
332
403
373
206
350
325
245
321
386
343
301
347
340
258
304
274
330
253
316
282
308
334
296
327
396
324
275
417
303
352
225
350
387
273
301
325
258
294
205
316
315
237
320
318
271
409
274
382
333
402
358
339
301
338
342
351
268
343
398
202
327
338
353
373
240
334
327
355
276
196
316
341
338
302
387
261
336
251
293
323
343
444
359
333
309
197
326
251
318
319
314
225
378
330
376
273
298
292
306
326
310
291
343
331
356
314
345
361
292
344
288
261
275
295
318
344
269
336
389
392
331
302
337
329
284
314
325
324
284
347
367
324
261
336
353
260
310
292
305
381
270
301
343
339
181
274
394
312
317
269
361
360
345
285
228
245
355
285
326
325
370
412
275
341
389
317
244
337
343
398
318
332
299
330
372
338
299
261
318
324
232
300
216
239
328
260
300
313
294
425
303
350
333
353
325
348
324
293
309
284
294
428
262
417
322
319
321
383
304
425
328
337
353
366
299
279
310
295
342
320
339
313
314
430
331
297
210
333
350
332
265
250
231
381
295
318
374
396
344
343
375
367
321
368
288
311
325
254
307
278
286
341
370
335
329
398
261
289
318
314
236
331
317
255
301
264
324
264
337
259
294
348
354
351
374
333
245
318
259
295
286
349
333
277
360
329
283
343
321
179
295
277
332
292
346
329
324
277
346
338
304
423
342
253
364
315
303
336
273
346
359
318
278
371
352
329
349
267
365
380
282
336
345
301
257
303
318
259
281
314
339
267
360
316
259
388
346
278
278
228
395
362
337
222
271
305
293
295
210
307
384
294
314
234
308
348
327
317
347
240
338
329
392
354
309
213
373
327
327
393
362
283
281
358
301
260
285
351
284
168
363
425
372
386
292
343
329
295
251
299
331
326
321
302
332
337
284
332
313
358
263
314
317
289
284
305
329
328
240
315
248
344
366
347
366
353
367
356
385
343
334
246
364
259
376
369
361
309
384
272
357
331
358
346
278
273
290
261
371
345
301
356
297
279
291
357
264
357
400
291
350
326
324
335
331
313
352
312
236
338
433
399
300
348
327
363
334
364
223
217
328
318
278
326
280
287
324
253
318
352
288
315
354
274
318
315
336
250
431
267
299
314
268
248
302
262
303
270
276
346
325
362
354
321
330
346
336
303
323
262
336
285
298
291
260
256
335
306
229
350
285
241
325
369
358
354
379
341
396
259
365
310
361
359
270
261
352
265
234
337
322
344
262
307
342
360
248
280
272
358
305
305
317
263
292
289
341
364
236
342
311
294
366
354
336
344
270
246
302
366
367
309
346
293
319
331
333
300
303
354
389
340
254
317
256
363
281
414
231
392
305
287
363
290
329
339
323
332
300
340
221
321
305
231
335
317
314
304
339
358
378
221
339
269
390
348
312
354
295
255
321
309
310
247
320
340
381
295
346
309
366
335
326
228
322
354
332
321
274
364
273
351
323
282
284
368
295
291
241
280
273
325
284
331
352
301
304
339
300
372
312
295
331
261
439
307
259
305
329
310
420
292
332
305
399
308
273
323
284
330
277
344
257
243
372
305
322
277
248
344
333
349
373
345
334
338
321
319
319
268
294
300
328
361
306
302
307
297
307
277
280
294
342
353
402
275
405
352
298
398
328
317
409
279
300
327
351
285
230
236
285
246
285
341
337
334
270
279
371
312
267
366
264
308
298
327
316
314
294
263
385
291
315
339
356
334
266
385
324
320
227
312
279
301
170
372
299
271
357
340
259
411
319
312
339
390
385
365
264
382
388
304
235
262
272
370
305
320
266
324
323
332
339
287
320
239
245
266
325
270
326
322
352
333
288
332
332
354
375
347
338
289
236
309
316
420
313
371
278
261
332
240
288
306
217
233
328
355
281
234
392
276
271
368
293
281
285
246
364
320
311
326
323
358
265
346
266
362
345
282
343
294
377
385
269
228
226
272
323
301
309
225
366
308
342
296
332
492
355
371
274
329
308
293
366
242
320
384
335
233
437
312
389
250
382
318
273
338
332
355
332
333
308
364
330
340
317
307
315
358
305
299
334
294
376
235
408
305
270
289
304
347
315
320
358
329
292
344
348
273
377
337
295
298
290
296
393
328
311
377
322
298
258
331
365
371
374
307
288
389
348
369
279
239
337
383
332
380
271
304
353
286
300
331
294
349
347
340
296
417
331
341
319
340
292
310
358
294
352
336
270
328
361
355
319
384
302
351
350
313
272
337
274
321
306
301
302
373
341
338
322
245
322
272
331
360
350
306
267
343
288
274
346
311
389
265
334
357
248
308
291
227
386
313
303
326
316
279
326
279
253
300
335
296
264
330
308
300
242
193
342
339
340
269
345
331
219
335
385
276
240
276
294
273
298
374
245
345
316
332
363
331
324
359
363
399
244
292
315
310
342
288
344
254
358
352
373
283
318
337
285
367
310
345
289
349
343
372
277
352
234
369
331
283
414
358
353
363
358
280
370
321
227
292
411
252
331
275
373
286
341
294
367
353
291
329
248
350
278
321
299
272
274
292
271
355
396
336
343
330
306
343
217
306
267
289
309
224
343
291
351
280
297
358
305
378
306
362
308
299
231
312
326
340
302
305
394
301
337
410
366
314
341
346
357
374
307
282
185
251
295
315
310
275
337
373
344
316
310
207
329
322
336
267
218
273
268
325
307
248
268
323
328
260
380
286
344
260
317
361
288
339
277
235
317
248
325
304
380
358
363
365
364
296
301
305
334
377
276
247
279
290
277
276
313
297
378
314
304
359
375
366
332
295
338
278
280
330
320
361
343
332
300
406
318
364
357
329
314
250
225
379
387
305
281
383
315
351
315
296
322
340
253
314
407
281
343
346
293
353
386
283
366
220
318
356
379
339
325
316
357
332
372
323
378
303
342
417
270
255
370
255
398
332
288
327
391
373
281
315
326
226
286
272
333
423
368
339
270
372
352
241
340
375
315
235
350
264
370
281
303
364
283
267
339
290
281
220
342
347
343
223
281
314
245
302
374
305
277
296
321
378
265
298
307
358
283
227
313
389
386
432
334
344
390
327
323
299
239
347
292
400
258
254
270
304
322
348
317
224
326
283
323
286
354
261
378
243
303
337
310
390
337
369
307
349
177
290
342
288
360
340
355
275
267
346
219
425
320
251
389
307
342
253
394
280
286
319
367
280
370
275
330
327
320
356
285
320
347
295
333
259
307
259
308
329
301
295
334
385
329
287
271
388
373
385
314
232
330
357
336
229
367
193
288
276
383
292
311
309
325
321
284
312
313
368
306
256
231
289
379
277
369
310
338
309
402
354
287
236
301
330
321
333
281
425
351
367
310
285
251
319
326
351
385
300
338
223
297
350
305
286
244
274
385
412
220
355
321
404
385
347
223
280
231
339
282
306
337
352
317
328
305
361
342
287
281
270
406
267
346
301
414
293
305
332
294
323
251
282
317
357
351
337
289
333
358
277
326
297
342
338
343
297
355
299
402
379
389
284
326
399
339
220
384
386
283
306
312
279
301
345
323
274
317
308
364
363
345
331
310
313
336
267
286
328
378
297
385
305
346
272
296
275
335
323
341
312
241
332
352
294
275
270
368
223
300
364
293
330
285
312
374
356
358
374
309
332
362
388
329
298
316
309
369
330
254
265
292
248
311
315
418
336
329
329
375
304
361
290
319
368
304
251
199
381
351
360
286
303
329
285
279
345
404
338
321
334
305
379
253
343
314
288
284
270
423
270
318
367
292
326
372
301
364
377
321
332
333
271
364
371
368
341
292
279
284
298
378
279
374
320
264
301
354
257
290
371
366
373
286
331
347
323
309
280
329
281
250
356
265
300
273
351
314
295
302
303
349
277
306
254
239
385
319
341
266
366
375
363
311
349
339
299
277
310
325
369
347
350
326
317
332
356
325
325
320
287
319
304
317
299
317
385
248
367
196
337
305
272
269
278
326
277
250
332
318
356
303
349
361
209
331
303
373
291
354
290
229
312
313
383
259
299
341
337
307
306
362
346
242
361
322
328
293
365
263
249
373
255
240
323
316
344
321
356
277
301
357
295
356
340
361
341
262
280
311
389
387
317
294
360
275
369
385
313
306
287
245
419
253
301
301
258
387
338
338
264
301
330
371
311
286
211
354
375
346
332
352
357
231
317
252
319
312
324
373
334
238
329
311
318
339
268
291
335
388
281
315
338
283
333
353
369
334
322
264
375
340
280
292
346
258
287
268
326
295
300
333
383
365
276
338
316
259
312
298
365
289
308
365
359
397
229
334
329
389
360
277
289
350
341
289
388
325
237
270
328
287
308
355
345
313
348
248
387
293
329
371
297
373
351
348
269
324
192
330
378
338
355
295
256
285
231
332
317
229
233
384
321
400
323
285
349
331
323
294
331
326
318
451
343
313
397
394
338
299
333
338
317
327
271
296
329
339
291
275
279
310
303
280
375
354
376
316
343
303
307
324
315
341
317
248
339
294
320
321
311
274
249
332
287
189
280
309
328
242
284
415
223
286
382
277
329
305
272
249
368
320
272
314
276
393
354
254
390
291
352
250
331
322
302
331
377
282
336
354
332
310
402
255
310
366
362
330
260
268
345
327
331
337
287
230
296
339
249
262
332
305
316
305
350
206
291
289
289
269
293
350
339
371
359
253
353
254
278
318
283
296
364
341
251
420
348
282
282
302
319
346
363
278
412
276
346
287
353
263
333
352
414
373
299
248
375
364
306
275
348
263
310
311
331
352
332
317
326
322
349
336
382
294
360
244
295
274
389
340
336
305
253
312
277
304
354
336
409
276
356
268
368
388
371
278
331
369
318
369
244
282
300
312
288
294
398
335
312
338
278
345
279
293
278
360
307
311
276
333
360
331
347
285
331
272
314
263
233
298
280
343
320
212
312
412
325
294
347
290
326
234
261
308
282
426
288
349
285
237
375
366
309
340
373
271
198
326
324
351
342
397
305
292
352
308
343
265
343
318
292
234
290
345
351
329
296
287
292
240
358
280
279
297
344
375
316
330
364
360
262
403
303
270
376
312
329
317
291
299
350
299
318
301
322
347
337
403
203
329
262
373
286
336
260
368
232
308
298
239
312
367
346
361
366
334
230
314
285
353
293
329
231
349
336
400
262
312
357
293
342
276
274
292
377
387
275
266
294
348
313
315
298
403
286
316
315
313
257
300
247
353
278
367
249
318
372
231
294
331
353
304
364
258
346
352
260
304
281
334
326
349
289
280
376
309
296
309
266
283
409
300
323
308
346
362
320
376
308
295
388
233
352
293
342
334
266
326
361
349
355
320
287
321
311
267
278
290
291
211
408
337
304
288
200
253
371
273
268
330
333
245
320
297
329
317
298
367
258
313
355
300
310
300
281
250
370
286
272
271
366
314
347
303
268
312
389
274
302
313
278
338
345
328
346
370
332
324
199
313
303
374
232
337
356
380
286
257
350
316
244
335
322
383
236
283
302
306
310
276
336
254
357
347
281
414
334
376
266
274
372
292
266
309
374
294
373
276
306
271
249
198
187
314
342
344
288
252
292
289
322
360
280
339
312
315
309
303
332
373
263
244
280
342
316
238
351
318
391
384
282
343
291
227
317
326
256
304
201
326
327
336
339
237
316
282
363
311
278
343
286
321
377
267
271
302
346
288
329
315
289
353
265
334
264
268
348
345
259
319
347
360
313
344
278
372
273
270
368
331
257
301
359
295
340
339
336
269
372
377
322
371
307
282
253
267
304
293
253
294
320
444
314
381
355
276
256
333
219
312
321
297
277
277
299
348
258
281
380
339
241
280
256
387
329
278
290
301
358
299
292
290
268
340
341
332
291
331
310
355
279
244
329
398
294
360
275
336
281
310
363
309
326
303
302
313
344
254
372
256
337
349
359
328
347
319
279
298
331
293
374
344
360
290
296
304
275
383
307
274
311
315
311
291
257
355
383
309
291
275
334
317
348
377
279
203
334
352
314
316
335
335
417
312
371
356
394
309
293
357
317
312
368
262
379
337
155
362
314
337
238
239
348
357
319
334
340
257
338
355
355
318
315
299
306
294
237
245
339
419
240
342
315
230
349
385
359
333
385
284
287
287
406
348
273
319
269
323
309
322
261
337
420
308
345
362
317
334
302
228
382
310
257
322
353
236
297
342
279
335
249
242
403
324
281
243
341
297
308
314
362
273
320
273
329
368
349
334
344
342
311
260
261
340
246
419
310
306
333
260
310
334
373
263
339
313
396
354
266
350
264
299
366
422
255
292
257
341
395
320
330
269
316
398
314
357
229
225
279
326
303
213
417
232
192
409
253
367
250
222
322
313
379
302
282
269
297
258
296
279
363
329
341
216
382
324
264
331
271
314
253
346
237
313
236
265
368
263
280
304
319
287
377
318
242
358
337
284
400
247
261
307
270
335
327
328
353
323
349
313
431
344
300
286
297
314
335
264
324
346
394
279
364
353
333
271
327
358
409
227
216
389
271
334
332
289
338
259
186
299
310
307
314
398
338
280
291
305
279
366
330
235
358
334
307
329
379
340
322
284
244
315
282
294
340
249
366
283
304
335
331
276
282
380
317
368
312
230
294
333
278
325
285
271
359
338
384
317
426
355
355
318
308
320
318
400
321
316
315
228
337
244
313
323
406
415
247
321
270
326
319
376
379
312
296
322
371
307
305
284
325
412
345
285
378
306
220
271
304
363
367
361
322
399
368
325
314
252
295
238
361
304
292
249
256
344
312
316
312
276
250
300
288
304
344
306
300
326
262
410
322
344
302
344
316
338
324
317
294
341
322
344
358
363
301
341
296
324
329
319
363
284
333
334
333
277
333
354
381
325
293
320
319
383
269
267
374
334
338
355
274
341
315
308
238
345
319
297
324
376
341
309
250
293
295
304
323
330
238
258
288
300
354
321
254
291
384
296
332
305
325
275
306
298
348
359
276
385
291
333
326
322
305
311
306
238
308
275
240
296
296
321
295
252
375
301
346
297
334
342
330
359
297
292
378
344
255
327
325
362
329
338
271
241
264
426
283
313
346
381
316
384
322
293
278
302
320
317
360
244
329
296
304
361
334
362
351
307
277
244
295
316
266
400
343
341
268
348
330
291
298
373
268
374
377
402
374
401
330
350
269
414
313
317
229
394
309
298
326
279
288
365
322
371
318
364
310
222
298
291
317
378
347
274
281
385
323
304
306
336
312
342
281
356
314
312
327
336
358
348
329
359
358
239
315
316
292
340
324
269
300
247
332
312
372
324
334
325
324
335
298
379
306
281
283
308
303
218
333
362
270
252
316
348
342
310
310
395
301
355
312
357
304
336
336
362
257
264
276
297
257
339
233
271
248
327
215
311
280
307
371
287
267
274
281
340
303
358
343
231
272
323
325
296
266
256
327
248
271
286
267
396
290
326
367
271
392
393
337
307
275
320
405
309
316
370
364
360
317
291
260
369
265
311
320
309
324
232
361
292
362
334
267
386
290
312
339
315
389
266
359
329
364
291
286
341
392
291
287
271
274
292
312
357
245
336
353
338
249
227
224
296
320
313
252
276
337
353
229
208
318
326
333
315
365
331
375
334
268
316
245
354
316
328
306
338
287
339
308
297
300
294
317
255
315
301
294
277
375
296
340
328
303
377
374
253
286
258
341
308
335
398
309
379
296
246
284
337
251
312
327
329
294
316
310
289
348
318
327
368
283
281
237
312
288
321
336
291
364
306
314
329
273
313
263
271
265
293
318
287
270
318
225
289
301
280
343
349
296
362
330
257
335
253
304
361
276
294
377
282
385
384
311
328
287
337
339
359
380
337
325
246
314
284
296
335
393
303
303
341
248
346
276
306
292
286
318
243
357
274
278
322
406
310
358
334
319
322
273
336
282
297
327
310
343
351
297
352
377
380
262
327
271
331
321
344
316
309
285
322
429
352
253
336
363
245
382
289
304
358
258
279
272
335
354
252
273
355
259
329
241
290
324
368
344
316
329
322
356
357
289
314
327
247
365
361
277
334
304
309
306
379
306
270
342
311
238
222
235
327
377
263
268
271
334
342
358
274
367
260
340
249
200
281
315
345
275
377
352
298
334
291
288
263
328
338
214
321
279
331
355
328
329
326
347
329
357
284
359
249
237
293
336
279
410
251
233
290
303
336
271
345
343
328
344
308
295
318
335
383
298
270
334
363
359
324
286
350
295
333
278
338
329
405
191
247
282
291
393
278
307
322
294
338
357
274
373
302
418
315
222
287
306
331
308
331
345
321
326
413
275
347
320
305
287
335
339
359
364
410
346
366
285
373
280
341
333
319
318
306
323
274
264
302
322
319
312
298
279
328
367
316
257
323
333
366
317
308
336
349
357
338
293
296
356
356
309
286
339
379
283
267
252
306
277
283
319
327
248
307
313
341
354
388
278
274
357
355
337
260
365
314
325
381
377
259
306
237
406
396
354
258
299
210
326
382
349
286
310
331
259
334
289
353
297
336
267
325
346
319
318
344
335
320
370
286
269
356
345
333
352
408
262
330
300
363
351
250
282
287
317
331
301
340
316
344
326
254
347
350
294
345
294
342
335
279
218
293
359
237
300
290
305
323
322
274
375
358
285
320
323
270
353
338
398
275
296
331
293
305
383
279
323
189
262
330
346
234
243
259
353
299
361
347
303
339
363
264
302
389
237
286
291
334
318
317
331
372
295
358
315
290
343
271
271
326
269
334
358
322
349
301
358
265
291
352
324
330
335
320
290
311
300
347
311
341
301
286
331
365
255
249
319
356
301
347
297
342
254
372
353
343
348
315
357
324
286
321
314
317
308
362
372
306
264
392
320
194
348
326
305
315
340
304
266
279
287
248
323
361
367
277
343
382
304
305
256
383
330
300
364
350
313
359
365
320
362
212
272
293
331
244
358
347
279
286
291
347
341
395
412
346
307
250
325
360
334
298
298
350
305
360
262
287
314
336
340
247
303
294
345
339
332
292
347
251
285
329
251
254
206
355
258
311
351
365
306
331
329
298
362
286
357
300
354
313
353
437
366
310
276
293
318
350
337
317
347
311
319
270
289
301
348
352
232
331
320
330
382
370
314
262
311
315
290
302
299
330
197
299
313
335
311
325
292
328
330
382
381
316
285
297
319
323
333
365
288
415
325
313
280
304
287
268
256
282
320
251
271
328
332
292
335
352
321
388
296
440
349
292
347
230
314
316
269
299
369
328
284
397
343
295
260
241
418
305
308
380
368
369
292
282
364
298
286
372
242
381
361
305
362
335
340
313
373
292
354
372
340
288
254
358
344
297
346
336
337
324
324
352
355
281
275
357
269
309
245
287
303
314
400
272
322
259
376
311
389
344
315
397
327
381
300
300
329
299
379
337
255
242
255
349
276
328
373
316
368
379
342
198
305
316
380
320
313
325
301
332
283
306
287
280
275
367
434
289
217
348
345
364
348
324
310
297
329
345
274
301
265
317
355
234
294
348
383
357
239
313
255
303
283
307
328
327
312
311
303
361
321
239
326
301
324
357
313
362
369
282
313
262
211
294
384
351
345
342
376
374
318
354
331
344
352
305
264
319
297
298
345
252
294
287
356
342
271
335
354
351
282
330
324
240
398
234
322
264
361
308
303
329
311
271
266
327
310
370
310
345
309
299
304
317
389
359
339
368
245
350
314
257
300
364
307
337
296
331
320
346
370
308
178
266
298
305
365
356
262
331
290
389
276
289
356
392
293
331
315
326
284
325
347
336
246
321
305
315
350
370
357
361
295
325
273
352
260
249
364
305
256
384
361
327
324
281
310
364
334
316
316
350
363
254
378
303
302
329
357
330
226
319
255
299
295
395
303
339
308
303
283
308
321
358
289
343
324
307
251
253
379
309
362
344
304
402
268
292
332
395
332
258
214
264
435
325
346
318
325
338
307
303
276
299
322
368
338
289
306
317
304
221
390
376
204
371
339
340
252
304
261
347
268
303
289
354
327
305
393
249
294
353
226
335
293
323
371
384
338
325
238
287
365
338
390
284
187
263
385
345
316
338
326
317
356
208
324
306
398
307
295
301
394
229
316
275
252
322
299
222
286
370
238
416
262
281
294
315
294
336
262
375
226
360
324
370
321
288
341
236
299
342
396
289
273
339
292
328
419
305
287
290
242
346
264
370
325
343
280
234
358
231
255
346
370
329
318
313
316
312
309
274
332
348
296
371
259
278
312
327
355
375
395
364
301
262
412
376
315
378
291
332
283
262
348
295
270
339
270
289
317
292
314
342
329
289
407
338
360
268
351
261
286
348
249
330
322
307
374
370
222
226
332
264
232
353
267
335
299
257
236
405
278
274
294
301
407
269
332
342
320
324
295
340
338
308
252
412
427
317
251
302
257
345
311
257
316
321
320
391
223
332
262
213
325
236
350
306
319
390
282
318
358
355
259
396
323
326
328
305
364
323
304
334
318
304
274
277
328
298
332
335
361
354
318
321
284
229
356
361
327
362
317
319
274
379
337
344
354
285
348
325
329
369
310
310
322
301
350
354
256
326
320
258
246
313
347
386
310
352
297
365
417
382
375
320
322
297
302
353
262
301
324
265
294
314
357
353
389
306
327
353
351
335
387
326
307
309
383
269
264
270
237
309
272
372
360
230
353
370
251
255
357
291
354
335
292
337
258
366
437
427
332
281
282
228
265
359
353
351
344
313
260
452
333
277
164
317
336
325
288
358
365
287
329
336
286
301
355
303
294
367
178
311
265
348
319
407
359
369
276
257
386
290
324
367
333
347
332
328
286
387
259
349
275
347
328
347
300
176
315
316
339
363
408
299
348
329
286
299
366
285
345
292
299
299
351
350
347
295
243
353
270
298
350
364
338
309
331
320
346
287
277
368
334
265
305
316
331
347
342
351
266
317
323
361
377
260
306
327
359
254
198
358
293
400
287
296
322
327
366
379
298
275
236
391
355
316
309
284
268
324
286
365
313
334
281
352
321
371
333
267
274
381
287
395
344
336
324
277
338
271
254
407
298
262
325
334
317
278
342
292
300
291
267
366
330
194
337
346
290
292
363
360
180
305
304
294
331
357
370
234
348
316
282
308
253
335
336
365
354
336
297
309
392
311
387
318
339
294
380
353
331
251
360
306
375
301
257
357
342
307
314
277
257
387
354
291
304
357
330
286
368
247
320
400
280
326
405
352
316
355
362
344
427
318
270
306
279
394
400
227
389
323
370
337
400
291
401
282
283
303
380
293
304
327
326
328
255
370
298
311
333
245
275
341
264
338
316
279
284
324
270
302
240
310
288
359
321
349
342
319
266
327
221
247
249
356
274
286
325
335
287
262
245
338
371
416
433
380
282
323
324
359
281
282
366
242
364
321
309
257
301
324
359
390
301
331
318
230
304
342
330
377
302
280
350
288
279
358
302
395
343
327
400
307
322
312
315
313
304
331
311
295
380
272
327
273
245
270
343
318
345
315
315
213
327
316
358
269
386
300
273
291
317
295
331
244
341
258
275
280
265
298
314
326
336
302
283
356
357
380
367
342
290
271
413
323
326
267
285
375
297
388
315
264
310
387
352
258
341
366
331
326
368
387
311
381
307
335
341
354
336
294
234
276
287
357
339
324
399
299
318
298
353
237
347
300
351
217
324
277
394
346
373
250
304
267
327
320
309
408
287
328
285
305
386
298
287
314
365
317
310
391
364
273
253
344
342
270
281
350
364
258
314
308
366
333
379
267
345
300
362
319
380
217
214
340
303
297
295
377
375
310
385
343
277
313
368
375
284
289
314
343
271
352
306
349
315
309
375
349
317
345
353
296
257
326
270
374
272
323
251
331
351
339
356
296
450
352
374
266
324
316
319
336
325
316
275
419
293
347
300
327
299
281
317
369
250
275
365
222
347
324
348
381
333
304
255
277
341
336
332
288
278
390
349
292
314
265
379
264
291
384
289
355
366
272
286
280
389
310
283
311
205
300
299
282
336
300
317
362
349
336
286
282
299
341
342
269
296
221
365
262
258
307
374
314
280
275
346
370
346
327
323
346
293
316
238
314
370
327
278
366
240
318
346
373
330
346
296
364
362
414
389
338
339
397
332
231
350
365
309
349
287
337
357
291
344
334
269
327
344
395
323
275
340
344
309
327
303
321
333
352
309
375
222
320
298
328
347
248
315
295
330
343
266
309
324
251
253
262
346
257
330
288
311
324
334
241
320
358
267
325
381
334
285
289
240
393
267
334
322
280
311
267
337
286
323
432
353
297
287
337
344
312
342
266
248
306
413
305
382
331
321
282
352
266
381
275
270
259
327
347
344
378
288
294
350
342
328
286
272
319
307
331
325
225
339
280
353
335
315
242
336
311
331
324
286
280
330
316
321
267
262
284
383
343
292
325
367
336
269
256
333
395
285
270
231
328
212
303
355
253
342
331
268
316
406
284
321
311
321
295
295
305
336
303
314
262
248
283
321
314
368
310
371
354
289
287
298
327
290
274
347
279
301
302
200
361
385
371
327
232
325
306
333
416
339
319
298
267
375
321
284
350
352
321
300
318
331
326
316
222
297
336
325
358
264
261
330
291
323
336
278
283
298
321
296
378
421
258
307
317
222
337
332
330
320
238
297
275
392
315
278
323
365
384
271
315
320
321
299
271
394
379
348
372
353
319
336
220
340
340
378
415
385
369
310
319
431
322
296
309
352
326
275
343
242
331
319
303
371
326
339
282
370
297
288
198
289
328
355
331
297
289
219
354
360
269
359
287
348
338
322
360
346
372
341
281
235
254
311
254
398
310
318
233
246
326
425
289
304
408
353
305
332
297
331
326
280
339
276
281
296
342
280
351
335
325
259
389
318
328
260
286
275
317
291
342
304
329
379
377
269
342
366
268
263
345
321
314
284
221
304
345
268
325
296
360
309
272
389
264
307
282
331
342
296
261
384
319
289
250
340
316
295
319
278
285
329
362
367
334
368
331
347
317
324
278
287
289
299
317
326
233
337
327
305
416
349
331
308
324
272
338
360
295
301
183
278
374
248
317
343
271
326
310
298
401
384
364
378
358
337
399
303
403
283
304
351
304
326
371
338
321
341
287
290
272
408
364
295
323
335
271
326
330
302
346
272
340
259
303
302
249
235
233
315
313
265
336
378
278
258
379
369
323
238
253
280
253
302
295
308
345
326
302
303
296
303
299
293
254
387
293
202
332
376
300
411
328
168
291
356
313
317
251
334
315
277
318
310
252
268
358
343
232
268
375
365
277
335
342
273
274
365
321
373
355
318
280
263
299
398
312
286
388
298
226
309
270
321
271
413
260
325
282
282
193
380
260
372
368
303
266
268
211
264
367
256
329
325
234
265
309
235
338
390
243
361
279
307
263
347
348
335
267
244
354
348
275
379
268
323
306
280
276
345
270
264
335
289
249
309
360
317
315
329
242
249
325
361
243
322
240
354
269
325
314
310
297
318
327
280
408
334
287
245
266
287
324
312
387
335
310
261
385
315
304
278
360
305
361
285
312
274
256
286
289
340
280
354
402
292
330
342
348
376
291
327
317
350
348
349
317
297
238
360
319
364
344
363
323
368
228
366
358
324
316
333
282
269
326
363
311
282
393
294
319
334
371
406
352
317
279
357
327
296
361
286
344
294
283
215
345
325
236
290
286
381
261
306
289
244
334
256
248
316
209
250
288
251
286
241
350
277
399
326
325
273
312
286
258
350
306
223
341
353
350
332
341
326
375
359
370
326
308
346
397
257
306
340
331
339
367
280
324
266
332
329
271
293
384
322
289
318
320
309
267
275
271
320
383
269
351
362
314
348
354
327
225
369
285
238
335
319
315
341
279
316
243
347
306
354
376
271
261
381
341
403
303
334
328
365
372
346
358
304
294
362
287
329
310
327
296
292
297
204
406
277
369
286
247
340
388
310
258
338
316
303
270
354
307
340
261
325
222
263
273
355
227
348
392
295
309
375
300
344
395
239
276
281
295
366
293
284
319
263
322
351
284
311
369
291
380
298
331
285
282
325
301
280
341
285
295
334
298
285
296
414
264
342
320
327
293
324
348
348
288
349
375
357
283
300
343
271
329
374
240
369
280
322
312
370
325
307
362
290
272
334
349
245
413
292
351
278
320
340
344
333
238
323
389
263
329
241
291
221
361
340
257
381
348
313
320
236
240
325
335
294
346
406
282
357
329
355
332
298
298
384
241
336
358
393
341
311
281
332
306
244
304
362
240
321
353
377
356
350
284
314
322
329
269
290
320
302
278
339
283
355
377
364
269
319
384
367
306
369
348
371
236
359
322
362
274
303
365
357
248
312
267
362
300
376
290
266
373
316
405
323
320
268
280
275
336
293
368
307
389
299
308
370
301
320
326
255
243
423
420
321
388
255
275
209
302
364
311
339
329
315
286
319
331
354
255
293
294
279
294
367
301
344
354
364
316
298
305
299
312
291
305
300
294
299
312
321
258
372
291
367
299
255
245
320
258
348
284
327
273
354
341
313
276
379
376
312
357
317
304
292
268
296
359
315
276
328
349
350
260
319
302
266
289
320
248
309
253
324
323
326
284
340
392
309
315
317
363
304
276
321
323
288
285
323
303
330
310
365
234
385
398
318
304
308
320
297
382
278
344
411
363
335
343
269
326
388
304
413
351
258
314
351
325
265
318
388
244
322
266
315
336
341
373
299
223
372
336
305
340
266
266
312
262
338
345
269
224
352
293
349
305
373
386
339
187
279
279
328
263
296
358
327
331
301
374
297
258
272
299
289
314
397
235
356
374
271
314
304
277
333
319
294
266
316
313
320
308
259
327
383
246
168
353
297
290
358
353
279
326
364
264
374
330
268
320
318
328
335
336
334
265
340
290
290
275
242
332
277
313
212
348
272
343
345
350
285
227
335
264
234
284
371
328
361
316
273
297
437
329
311
353
343
297
383
256
299
340
318
252
279
294
274
300
389
306
186
265
339
344
361
364
337
417
317
259
301
335
312
345
281
331
330
376
350
284
256
223
368
337
313
361
327
284
386
350
351
341
307
325
306
313
318
296
265
309
242
284
349
362
373
315
340
261
331
367
288
304
302
351
316
276
262
410
306
246
365
391
289
333
348
354
239
328
349
301
374
381
265
297
358
321
360
307
314
270
297
300
304
338
341
364
328
243
334
216
302
358
327
299
323
379
299
327
326
220
315
308
303
296
343
326
220
366
348
302
243
310
308
354
316
336
326
328
372
352
287
300
251
246
276
286
336
344
270
364
320
332
342
382
294
258
277
272
383
345
351
275
271
292
348
255
308
294
247
373
278
319
313
325
264
323
274
311
233
302
352
255
363
335
267
288
284
377
344
280
324
228
304
307
302
319
268
246
262
349
287
312
287
312
402
318
345
263
319
227
344
393
331
234
316
258
280
352
319
295
326
276
351
364
341
317
281
240
307
342
273
308
400
404
353
368
300
263
283
253
362
306
256
223
324
264
261
327
268
312
323
381
290
369
354
406
283
343
300
308
318
356
323
324
336
334
389
304
251
352
303
266
299
289
392
341
274
311
258
386
282
335
235
344
332
249
252
341
290
290
371
270
304
395
331
403
338
326
311
302
283
331
300
315
327
245
282
349
307
356
318
345
285
351
285
371
255
341
243
421
370
320
367
356
386
218
302
371
356
375
325
284
284
305
314
330
319
301
336
307
306
346
296
295
339
235
310
367
246
354
338
289
329
369
286
313
319
324
292
333
282
226
299
248
267
395
368
344
296
341
368
337
363
357
337
323
338
356
293
336
338
309
299
285
419
326
356
296
300
358
345
255
241
321
325
307
322
367
334
345
348
360
304
283
187
244
338
280
348
345
324
368
271
370
348
310
313
312
373
339
393
288
325
192
299
367
332
306
314
448
283
351
201
313
408
328
312
276
343
289
349
312
326
387
271
225
239
345
303
310
288
355
324
379
320
332
261
388
309
287
358
317
295
304
295
287
332
270
292
356
324
357
299
313
351
318
354
323
332
327
289
311
233
405
350
285
275
256
348
314
349
360
297
353
352
312
318
397
223
379
406
363
282
387
347
317
269
388
328
279
338
344
323
302
270
252
266
345
322
303
401
309
302
362
331
285
275
293
323
326
336
285
299
274
306
400
205
282
332
284
306
291
338
219
347
335
324
281
316
373
319
275
383
331
343
325
241
331
216
348
304
280
308
334
306
279
290
298
356
307
388
306
349
308
303
349
281
351
296
351
264
316
248
270
379
291
327
409
309
338
361
352
265
321
339
322
364
323
355
376
307
321
388
303
315
293
338
274
255
381
295
362
343
323
280
319
344
349
258
298
360
356
415
323
304
321
349
346
269
265
209
297
264
265
363
371
267
276
221
377
394
208
332
306
210
305
286
298
292
345
374
316
303
330
251
332
308
297
256
361
317
313
330
363
280
258
401
282
303
336
261
378
202
402
201
304
307
314
298
326
371
322
310
329
335
359
393
325
261
271
320
287
286
401
361
333
279
310
280
271
301
342
257
280
231
277
289
409
418
301
274
299
320
232
313
280
306
348
278
301
368
314
328
367
301
365
289
285
280
310
318
352
317
409
270
316
385
351
335
281
331
313
326
328
318
308
366
314
320
264
334
379
302
368
361
355
273
306
332
300
246
317
297
366
356
361
225
292
297
319
316
377
334
361
285
256
341
378
294
333
324
297
414
245
404
314
310
218
324
338
322
315
299
336
314
306
234
332
305
286
282
403
358
280
354
388
272
305
241
317
390
296
301
400
294
395
277
366
252
308
252
307
257
232
259
319
270
355
333
314
361
281
345
380
378
334
203
357
277
367
302
306
277
258
299
324
369
299
318
345
304
298
287
336
332
285
262
305
221
373
312
283
366
393
322
383
362
281
323
243
408
275
324
318
371
279
235
273
362
380
358
366
260
286
282
362
321
261
298
349
303
307
324
382
369
327
309
335
303
302
342
337
301
317
321
284
270
292
315
315
325
305
273
364
378
377
227
379
335
386
301
340
365
309
328
352
290
339
307
338
261
362
289
280
342
385
258
312
362
416
328
376
347
244
372
326
413
324
199
390
358
304
282
226
375
329
301
219
323
351
328
382
336
262
261
249
362
381
311
307
292
394
337
286
353
349
361
379
350
272
318
374
356
337
374
295
323
301
361
367
387
286
356
319
341
226
393
293
341
336
299
345
327
356
303
317
249
360
325
322
348
394
377
343
310
302
362
338
382
323
242
281
430
434
336
347
293
325
376
363
341
230
319
320
321
348
291
399
338
326
343
314
220
320
402
413
379
395
368
365
261
291
262
313
258
281
328
288
296
374
311
279
297
311
302
276
372
302
403
354
220
373
289
267
276
373
318
272
287
355
252
301
361
280
241
328
296
261
306
335
316
284
239
282
330
370
351
358
269
334
336
293
345
336
242
336
270
240
292
295
336
334
328
261
343
299
266
319
303
329
341
328
274
286
243
355
337
257
307
388
269
304
284
271
407
462
312
346
379
200
299
355
251
319
271
317
327
318
251
298
347
297
338
432
262
360
261
249
266
321
301
285
398
317
351
279
278
306
250
403
370
353
309
268
386
293
300
262
278
255
264
312
239
297
349
380
346
395
307
250
331
247
322
334
300
273
351
369
273
319
255
269
318
285
305
409
312
214
373
387
331
255
323
285
329
279
387
343
287
334
245
380
377
338
378
411
273
290
357
241
291
374
404
331
323
363
303
248
263
305
344
368
328
329
240
288
374
315
277
336
392
249
294
318
348
309
265
333
341
377
249
220
335
388
336
311
307
303
289
304
337
361
317
370
293
338
239
342
350
330
235
297
263
353
355
375
341
377
262
396
343
328
341
339
459
295
315
332
374
339
304
294
348
359
365
389
365
335
301
279
226
231
344
318
355
263
281
250
396
252
321
320
291
244
319
337
259
361
310
315
361
293
363
341
327
231
317
292
264
286
298
327
366
317
277
318
328
246
265
307
291
325
295
331
273
343
317
354
372
308
302
264
316
299
302
272
334
306
388
384
287
348
310
361
292
339
332
327
328
289
316
350
297
248
401
289
371
329
352
344
334
266
297
354
292
374
305
377
316
319
223
349
322
250
252
349
286
373
295
330
279
364
262
420
366
322
346
382
378
264
328
329
348
302
324
362
275
291
343
331
374
276
350
280
286
277
381
303
300
275
218
422
292
401
240
344
299
217
297
282
366
281
317
283
362
280
301
312
321
333
327
285
298
352
354
365
319
275
352
340
313
331
273
251
305
267
312
381
277
347
317
287
310
381
350
310
303
311
296
312
299
284
320
321
311
340
271
311
353
350
434
312
305
308
271
347
300
388
283
327
323
446
239
346
300
275
329
304
325
267
339
312
283
340
304
388
339
319
348
343
360
281
286
276
344
326
287
366
332
205
399
354
334
295
365
263
260
317
276
297
297
349
296
302
277
315
284
332
329
315
335
290
316
303
312
363
253
396
312
321
282
285
360
312
317
367
269
318
299
334
257
350
306
265
310
348
376
336
281
297
320
245
296
345
369
321
337
284
298
383
345
279
322
358
264
354
295
323
216
327
333
268
293
335
313
339
329
358
325
305
309
276
239
317
253
249
290
369
327
271
362
324
375
311
389
300
291
248
341
236
245
344
358
346
318
346
274
382
253
211
211
375
375
249
247
357
355
330
299
228
256
324
336
286
385
324
247
389
312
360
310
310
324
337
295
311
397
361
316
349
274
265
321
348
393
326
257
308
319
353
386
365
336
218
276
314
267
294
325
283
290
277
328
306
265
328
250
363
330
272
314
302
327
334
323
289
352
313
332
360
275
315
349
364
286
266
372
295
234
337
315
301
312
233
354
245
315
329
402
240
211
249
234
344
276
290
331
301
365
321
349
253
324
285
361
322
306
208
271
370
407
354
279
355
356
401
343
287
318
332
318
316
367
338
361
350
214
366
293
311
387
293
297
400
358
399
403
326
419
340
275
309
302
334
335
258
249
317
295
327
308
344
316
443
267
296
264
314
309
354
253
282
284
330
355
284
341
288
384
329
304
296
335
337
295
309
369
299
270
306
335
305
247
325
328
393
360
337
318
302
311
338
244
268
326
319
318
356
327
330
287
349
287
303
316
270
262
300
356
268
296
316
297
279
340
323
254
401
367
350
353
276
344
313
312
338
342
257
343
345
369
354
359
356
308
303
362
325
385
290
287
351
360
209
265
320
290
386
351
326
343
368
281
279
317
372
323
269
357
258
300
313
287
317
211
335
318
290
450
350
412
323
297
345
247
314
310
355
319
313
321
338
310
334
334
297
306
301
341
300
307
313
306
261
249
285
369
366
327
368
358
279
246
341
334
320
418
352
320
363
281
285
341
385
342
330
351
370
311
178
288
324
208
267
290
367
256
311
338
297
256
347
317
341
329
295
346
366
335
372
324
243
317
328
324
335
328
344
284
247
347
268
231
279
269
277
253
403
303
321
232
316
277
302
371
341
340
336
315
372
286
344
227
288
236
283
359
317
311
406
364
397
376
310
371
274
351
314
366
317
320
305
334
282
278
263
378
348
372
310
353
290
262
326
364
269
347
360
291
361
316
287
350
215
334
289
363
277
311
309
383
269
362
262
329
300
235
346
275
345
279
343
382
312
324
349
373
355
293
315
391
301
239
330
355
372
255
220
294
337
349
311
345
205
381
271
323
285
338
321
338
370
347
275
373
298
291
271
339
362
310
313
331
237
387
310
304
301
258
280
359
348
343
253
370
306
333
330
385
270
273
256
400
264
296
290
327
278
260
317
268
345
406
328
306
260
338
316
290
395
312
334
318
340
269
300
286
344
341
296
302
347
296
349
409
300
387
285
367
365
290
325
290
295
319
359
335
310
302
213
351
361
255
216
305
369
264
357
311
370
256
391
315
299
354
370
334
349
236
385
264
410
342
288
339
372
358
300
342
318
270
343
302
338
330
246
247
287
346
287
282
295
250
216
359
289
381
265
225
300
371
307
362
329
311
281
287
290
349
340
203
375
339
347
265
338
324
334
426
309
335
351
336
318
337
325
272
340
315
266
269
374
255
290
338
335
276
260
377
222
294
367
321
334
307
300
336
319
329
293
316
342
375
287
377
287
310
277
343
329
272
236
189
282
245
358
332
318
263
329
319
286
366
330
310
403
335
374
301
262
315
231
358
344
284
257
277
315
327
284
271
299
310
354
351
265
351
402
330
320
285
310
343
356
344
266
360
234
356
308
340
344
334
296
369
271
256
336
330
271
276
283
323
279
376
382
306
283
286
336
338
277
354
387
256
223
332
291
342
378
363
338
337
341
315
356
270
208
263
354
325
295
422
296
238
358
274
328
246
281
361
368
408
285
314
359
371
246
364
319
339
269
351
357
350
340
337
274
344
350
385
392
256
277
273
229
397
345
391
318
326
338
259
294
319
223
291
329
335
345
316
285
273
391
358
300
367
264
284
301
294
232
370
370
269
248
330
370
302
260
326
330
262
310
349
367
316
309
387
390
320
354
308
311
398
373
336
250
262
317
303
371
337
337
305
282
357
327
398
313
299
411
278
288
289
338
368
281
340
328
353
364
330
315
373
267
267
288
378
381
278
328
283
382
363
399
324
371
369
371
262
368
378
321
298
292
317
307
388
326
264
218
322
246
353
364
395
318
368
290
364
271
345
302
335
327
311
352
286
335
248
229
364
248
303
320
345
283
376
380
390
327
341
306
279
338
210
290
284
289
327
336
304
327
346
304
232
290
354
348
326
332
334
286
316
274
334
271
290
343
353
332
365
353
387
220
267
281
348
206
288
291
382
349
343
301
308
359
232
330
304
328
389
282
236
346
340
330
308
275
355
402
350
306
339
235
192
359
286
404
281
266
319
284
366
317
339
264
273
364
281
327
325
326
333
301
287
212
262
345
359
304
381
257
336
355
354
298
298
400
313
346
320
404
293
269
270
333
356
286
332
361
289
268
355
251
324
315
295
265
368
376
338
347
313
358
406
289
346
319
321
229
269
341
320
391
330
302
335
279
320
309
340
367
283
365
358
314
314
360
352
334
315
279
336
296
393
260
337
328
253
312
334
273
349
297
315
323
235
273
424
308
360
305
250
257
337
368
286
328
308
272
344
305
345
301
385
351
236
278
298
309
259
356
258
283
349
317
313
274
228
304
297
291
296
292
292
336
331
286
335
303
322
250
325
313
375
288
308
355
340
345
349
304
382
272
408
276
300
281
374
346
337
357
285
380
370
346
291
333
390
343
313
347
347
280
317
335
358
297
336
331
367
330
364
276
313
208
348
368
270
305
251
309
347
313
298
314
310
299
296
348
322
339
293
325
348
290
353
240
366
255
336
391
289
370
341
402
292
279
360
280
387
291
335
382
293
318
360
371
332
331
301
229
278
369
252
271
355
312
339
259
236
363
346
336
392
354
325
337
325
267
344
345
314
307
298
353
349
324
289
266
318
300
298
296
322
343
271
385
312
374
368
365
213
320
339
286
266
335
293
369
296
306
294
268
313
279
273
291
291
295
336
310
338
269
312
341
300
242
277
313
301
370
224
338
349
339
333
257
288
335
240
342
337
334
343
226
327
345
304
377
307
383
362
323
336
333
290
340
290
348
326
333
299
313
267
218
317
302
306
300
323
348
319
312
313
279
309
315
304
308
367
340
366
358
399
293
322
339
309
212
302
312
353
303
408
351
356
320
344
362
319
344
308
360
343
318
269
380
314
308
358
270
350
330
220
365
402
255
313
381
236
391
357
206
227
333
329
331
275
303
356
283
261
282
358
328
301
261
334
426
366
374
353
361
359
282
291
364
283
313
395
291
401
306
272
309
271
322
281
301
286
352
261
335
328
346
385
312
362
302
303
284
303
367
332
209
369
333
298
350
253
435
328
293
288
392
280
344
325
299
228
300
344
379
313
287
342
270
359
352
270
280
290
370
263
364
304
357
405
362
343
334
353
345
288
320
286
303
314
354
309
235
356
372
293
312
294
322
361
394
326
413
248
357
310
290
365
340
344
332
283
346
376
275
281
374
320
250
312
264
342
278
322
325
334
399
320
253
304
320
347
385
341
341
285
299
269
284
298
302
334
392
333
318
356
349
326
366
285
353
326
303
302
314
274
296
338
365
280
322
328
312
240
268
244
299
278
392
311
292
332
387
271
353
294
417
339
274
340
404
274
309
281
354
236
346
212
357
338
353
416
243
364
235
368
380
335
359
381
242
400
386
373
385
301
275
303
382
395
330
338
314
387
352
345
364
271
358
334
326
216
334
366
349
334
316
347
302
407
272
307
222
360
410
358
393
362
363
323
411
349
347
241
294
238
365
325
280
385
303
332
370
310
271
366
268
311
304
345
283
344
282
328
272
301
324
369
313
300
373
332
295
318
372
292
331
407
337
363
303
380
273
376
348
329
260
284
296
309
222
364
323
300
340
325
256
322
327
347
273
326
335
321
244
332
249
303
365
253
347
386
347
341
320
316
269
345
347
353
294
354
319
238
267
231
338
286
299
296
372
345
294
324
388
333
224
344
329
389
307
313
282
369
318
290
307
350
267
379
292
291
357
272
382
310
328
366
361
344
278
357
342
299
296
289
342
315
336
249
266
355
382
357
295
248
256
361
284
297
311
271
348
362
350
352
314
339
325
323
298
376
250
281
284
270
351
297
316
353
250
263
379
249
331
315
373
279
307
267
305
337
318
344
254
301
292
294
302
338
260
365
360
367
250
310
277
316
394
407
318
313
257
355
341
256
318
287
255
346
304
369
356
321
342
301
297
322
340
392
267
234
311
312
303
311
307
371
267
327
264
306
299
267
357
353
241
304
384
328
289
216
364
434
367
290
315
293
325
347
295
326
327
322
338
290
316
296
335
276
242
314
201
346
305
311
344
256
335
360
346
286
389
333
331
236
313
362
315
352
261
382
315
314
187
258
331
258
337
220
379
403
299
401
310
252
301
389
265
336
304
292
313
354
244
300
229
311
293
335
353
311
338
334
311
330
332
300
368
325
363
249
394
265
292
299
257
280
285
248
307
277
310
295
303
282
283
323
280
257
343
307
335
332
281
276
314
299
245
330
386
322
325
330
260
352
333
234
282
229
285
325
275
295
315
336
322
258
295
283
315
344
348
303
298
319
326
395
331
298
298
334
334
352
230
337
262
284
220
323
323
299
250
335
281
290
295
344
354
361
293
231
297
327
318
298
355
295
316
281
291
424
368
258
333
384
272
345
328
278
313
283
367
335
269
357
278
363
233
296
317
287
328
292
343
231
313
261
269
336
303
261
227
303
372
333
361
263
318
324
364
322
332
300
362
316
322
381
338
288
291
325
344
247
360
288
404
327
339
316
299
308
318
307
319
314
368
328
302
314
315
297
312
293
333
279
320
360
386
322
359
302
331
316
341
308
299
264
275
352
323
290
290
270
310
254
369
413
344
364
309
404
345
288
269
320
331
260
397
307
312
338
337
305
296
323
273
355
283
295
264
300
339
304
313
326
330
265
297
322
338
247
281
233
254
342
213
300
378
319
287
270
336
270
224
287
291
328
307
296
341
343
323
331
278
293
284
399
255
335
244
383
349
355
392
367
349
246
309
371
254
358
383
283
275
206
327
325
397
289
238
282
362
309
321
327
309
338
282
249
242
423
273
199
321
290
239
347
283
312
362
322
269
265
314
291
241
376
328
253
291
310
319
330
285
355
339
392
284
357
328
323
262
299
362
274
363
244
420
158
315
363
278
365
277
311
331
290
399
284
298
358
320
232
352
371
310
315
296
326
312
344
311
317
418
313
362
275
305
311
361
360
317
251
235
323
291
319
382
328
361
359
338
301
316
357
262
336
296
310
266
266
285
317
287
311
352
287
351
344
247
339
324
322
299
353
313
306
295
328
352
232
403
286
298
296
393
300
314
344
293
328
385
264
282
344
367
342
296
280
323
330
352
298
311
312
239
321
333
258
399
289
294
348
333
349
351
347
324
319
298
335
249
406
343
300
318
344
350
371
270
354
262
363
332
269
342
355
384
245
359
348
369
328
372
265
380
345
350
337
332
308
324
228
277
323
236
331
297
304
246
326
246
317
300
343
378
297
353
352
298
312
314
320
372
289
342
285
318
286
377
364
325
358
355
330
350
353
346
258
275
288
327
294
332
349
222
335
340
320
319
357
331
355
315
361
326
344
296
297
258
258
230
295
269
337
325
316
339
310
245
313
306
336
285
342
347
273
310
276
301
350
328
324
348
325
315
362
385
313
310
262
272
306
323
403
367
304
288
289
401
335
369
377
296
253
318
312
281
320
321
289
232
338
348
269
331
335
264
380
353
311
372
301
362
310
267
342
373
247
393
296
457
368
300
299
341
353
366
315
289
338
384
309
377
360
302
297
326
307
348
249
332
308
291
297
313
319
335
283
366
356
349
289
319
362
361
319
283
350
289
345
229
240
319
375
258
294
245
233
296
347
187
417
306
301
388
328
255
293
373
336
317
380
271
307
375
374
326
254
357
277
346
293
266
322
391
342
292
358
361
346
343
273
360
331
360
325
337
311
349
322
323
283
296
321
398
329
309
347
312
315
339
330
307
402
353
316
357
312
325
298
394
345
290
378
287
336
403
367
269
307
339
265
394
231
376
253
390
326
356
313
274
231
313
312
355
399
319
182
283
370
326
364
253
322
289
284
192
347
371
305
269
335
351
330
345
291
360
298
311
306
361
282
241
416
372
313
257
395
308
192
260
425
341
289
287
355
343
278
328
261
306
253
325
369
348
362
301
291
312
282
299
373
311
250
382
296
331
351
339
314
317
331
302
365
326
337
357
334
264
415
325
295
317
307
305
304
384
361
442
334
302
317
290
340
223
362
292
332
367
343
325
347
265
351
368
321
350
452
232
304
355
242
346
322
308
273
244
281
264
322
287
320
311
303
320
361
327
375
278
294
269
325
374
319
372
256
398
307
309
257
337
344
402
332
367
382
316
339
346
293
343
342
299
336
338
368
313
373
324
275
405
373
280
341
337
283
268
290
293
381
287
302
280
399
289
267
345
291
251
355
364
327
334
295
277
353
344
296
377
352
297
327
335
290
311
328
344
321
336
309
290
296
259
316
398
366
262
323
350
348
360
277
289
313
362
319
365
348
411
311
270
325
327
319
307
323
334
301
357
272
340
259
264
327
360
280
376
351
313
342
299
260
336
349
326
362
321
311
272
241
271
243
265
318
337
324
321
336
310
322
374
312
309
266
253
338
306
340
325
367
358
360
212
321
331
337
387
288
367
289
340
288
377
327
282
320
336
346
264
325
386
251
378
409
296
310
316
367
356
363
339
305
329
368
278
366
318
285
237
324
281
420
362
444
361
310
372
278
398
340
434
303
306
356
413
321
260
359
368
308
355
351
272
291
418
308
298
344
185
387
256
275
254
351
246
335
352
341
285
317
335
294
293
315
358
365
349
437
295
304
315
340
305
330
404
279
402
358
382
259
286
283
287
311
377
237
279
350
297
295
314
320
246
355
280
363
372
378
340
300
331
319
363
304
391
328
322
334
299
321
360
290
336
334
333
314
258
235
243
288
329
361
341
204
261
281
388
249
327
272
287
292
353
318
285
282
260
379
378
229
362
301
314
295
327
261
347
262
279
331
325
368
374
282
319
302
220
255
365
265
266
263
227
197
266
409
292
342
322
356
324
314
320
245
352
278
320
240
339
353
365
286
334
294
291
241
243
293
323
296
345
336
222
379
289
309
321
280
419
428
319
313
333
291
347
316
407
285
271
287
333
346
366
394
379
244
343
296
348
356
380
288
271
364
305
402
275
321
344
362
355
319
324
293
381
305
280
418
348
391
242
241
324
322
412
328
346
368
314
327
322
322
355
312
239
413
315
360
304
284
314
166
312
256
288
288
283
345
286
339
356
331
313
291
357
310
254
356
274
293
294
369
301
320
224
361
251
304
334
321
303
326
308
296
484
279
303
315
227
256
357
305
267
285
227
336
315
308
363
308
339
396
226
312
266
296
383
229
316
239
344
326
223
271
336
225
258
210
294
324
336
316
284
269
288
298
289
292
338
339
199
329
344
263
343
284
366
332
314
225
356
219
348
350
286
302
302
353
295
301
322
376
371
258
287
332
340
242
239
306
265
247
284
339
307
285
362
332
271
370
330
382
288
311
355
316
303
323
282
302
223
321
371
315
310
289
349
324
323
325
321
344
377
227
343
262
365
368
300
341
376
303
360
355
361
316
246
400
293
307
357
344
300
328
423
256
281
346
196
273
264
323
401
375
312
309
376
327
333
266
271
226
395
259
214
348
351
305
298
264
314
310
247
400
324
338
280
313
349
320
285
313
267
270
262
343
368
320
263
251
333
285
319
377
319
246
314
312
271
310
356
387
217
362
416
301
315
288
291
403
265
405
274
410
288
265
303
322
337
291
308
358
263
310
263
377
273
338
284
348
307
331
348
347
271
328
262
356
299
340
279
300
315
371
355
341
311
296
329
308
329
293
299
269
285
281
378
303
403
282
390
294
226
279
383
359
398
305
280
363
296
364
242
283
324
310
286
387
256
363
288
314
353
319
347
280
339
279
321
351
358
298
388
401
229
341
246
308
243
288
321
368
250
387
352
333
354
240
248
320
361
293
243
316
336
286
346
364
392
264
321
316
312
263
226
314
344
291
313
340
343
338
277
276
260
218
303
321
319
359
334
372
353
349
277
386
295
286
307
359
313
257
274
357
305
338
326
347
403
315
261
272
294
296
285
380
291
257
336
267
382
306
228
357
312
405
388
368
401
329
351
277
331
346
304
276
400
407
294
341
380
344
331
272
339
279
307
291
298
389
347
337
346
334
305
403
241
295
314
234
329
365
374
320
386
272
255
295
330
269
339
318
287
361
300
334
309
355
295
264
342
245
376
269
277
289
226
241
335
326
312
317
330
297
267
344
328
325
359
296
348
367
207
316
310
410
249
229
356
267
267
263
340
311
274
298
259
346
317
316
320
234
380
276
331
294
354
403
286
249
207
305
298
292
289
381
271
287
348
275
442
332
227
288
291
377
299
246
341
326
251
329
320
367
274
313
392
337
266
296
304
279
298
363
393
314
286
356
275
314
396
330
273
255
299
337
308
314
350
247
269
308
321
271
366
299
296
302
301
211
368
365
292
342
225
276
288
340
312
335
264
267
280
342
303
255
348
322
347
302
414
364
353
303
328
341
275
333
285
379
250
371
321
332
316
332
303
371
335
271
295
350
346
370
333
321
349
264
329
284
299
267
289
239
286
331
335
357
280
372
336
297
351
336
290
401
263
319
295
274
331
371
294
346
311
367
331
397
290
303
265
276
340
319
341
251
377
245
273
350
319
218
421
388
272
320
299
260
250
366
317
341
262
298
259
290
389
335
305
253
306
325
290
269
375
323
352
348
309
286
330
390
338
311
283
401
396
349
233
242
337
309
341
315
289
312
265
353
263
278
267
242
317
282
294
350
367
370
334
298
286
294
304
233
351
347
314
319
272
330
333
363
236
296
278
276
262
323
306
340
401
399
353
349
253
364
291
349
331
282
338
318
279
255
370
297
311
241
419
379
303
369
377
369
286
290
307
318
323
270
322
307
229
235
317
329
296
305
336
389
299
300
331
320
316
253
414
315
229
283
310
377
277
354
347
290
350
261
256
369
278
283
341
256
399
324
303
316
347
320
345
325
403
377
312
283
317
278
350
262
313
372
317
276
258
290
245
291
333
375
311
345
259
359
382
350
344
327
289
313
350
279
349
384
281
206
310
309
313
321
307
269
345
279
319
317
387
345
396
269
275
279
349
338
370
301
285
306
322
319
334
319
273
265
325
372
319
309
395
394
320
360
279
326
397
359
198
349
275
304
155
357
226
326
371
360
307
417
293
373
327
324
318
341
238
312
330
385
370
356
391
307
302
287
324
391
338
278
384
363
368
282
293
277
270
275
285
333
298
305
334
309
296
291
362
376
291
346
366
250
305
387
281
275
327
346
392
365
341
362
275
304
369
220
277
405
288
363
352
306
334
349
348
321
425
282
265
222
303
298
313
367
249
304
284
322
226
288
292
274
321
260
339
326
314
235
347
371
348
218
313
329
298
314
274
361
343
370
282
316
362
288
260
332
358
314
249
294
384
330
257
274
267
340
280
304
322
322
332
264
396
327
337
279
319
362
313
364
319
285
396
310
293
310
268
311
373
283
216
214
317
313
262
356
305
314
253
365
327
297
329
355
341
300
287
319
237
349
355
289
264
306
372
320
370
257
270
297
319
351
278
248
316
331
279
342
405
292
316
335
293
286
255
300
255
303
273
365
288
293
364
232
250
378
398
364
313
285
270
282
328
327
384
333
281
268
317
328
239
261
329
293
344
402
317
337
335
355
321
283
395
246
265
342
352
320
289
291
372
322
316
333
336
295
303
265
341
265
351
346
351
367
334
260
391
332
285
321
295
346
411
329
341
322
314
294
336
385
323
235
262
310
345
319
290
331
280
299
350
322
350
349
251
328
387
387
242
259
295
320
297
364
344
310
339
358
335
348
352
241
194
353
356
321
291
230
225
388
381
276
279
282
363
296
375
316
321
303
381
221
331
353
260
360
319
227
380
365
319
320
290
287
382
262
273
281
350
320
301
348
293
223
291
340
253
387
345
399
338
338
335
291
348
303
235
274
336
368
287
292
281
335
325
350
427
300
333
284
335
209
349
353
286
272
356
241
349
380
268
241
328
307
334
350
438
340
312
334
306
265
272
293
297
315
352
306
373
290
340
354
369
246
270
303
217
356
281
322
382
300
375
357
363
330
272
295
368
274
298
268
296
244
275
318
354
277
304
356
387
340
302
316
323
261
285
302
381
306
294
324
270
323
338
287
340
293
342
323
380
351
324
332
386
288
233
274
336
367
244
350
347
308
256
328
312
298
347
274
240
309
358
280
389
364
320
292
332
436
328
321
369
251
310
296
303
359
305
296
354
271
280
253
361
362
370
212
273
384
223
291
312
365
374
291
333
329
394
314
335
279
273
298
299
323
298
296
331
350
271
269
269
388
272
367
218
196
301
250
352
364
300
319
322
332
411
285
308
358
302
335
328
346
302
279
283
346
243
238
351
233
321
321
384
283
370
345
329
354
380
266
318
312
387
305
339
279
318
295
329
353
332
292
358
330
370
385
336
259
294
286
313
346
287
309
367
319
242
352
311
287
309
268
372
314
336
308
334
212
273
300
335
296
322
349
363
318
275
266
367
372
269
331
296
269
335
305
266
319
393
366
331
348
377
326
316
245
318
384
227
297
253
286
383
318
248
357
245
353
361
296
261
285
296
306
348
352
317
320
277
377
301
331
359
254
276
364
323
278
273
321
303
329
376
334
338
263
346
274
338
301
315
268
328
314
230
299
287
348
370
287
297
307
326
260
330
282
336
250
326
322
294
240
401
359
308
293
276
296
305
334
309
370
276
411
408
341
299
307
325
378
310
332
304
277
334
232
322
340
354
306
339
291
346
339
283
302
381
256
272
364
339
414
326
344
335
281
331
305
327
297
305
359
268
237
367
384
310
298
302
332
367
303
320
372
347
281
301
261
354
309
328
352
267
308
332
303
339
292
319
258
337
279
289
408
334
262
351
314
301
305
270
327
324
326
318
276
331
310
324
226
341
344
284
312
377
229
383
348
317
387
327
286
249
263
321
282
331
359
304
308
382
317
319
329
266
335
321
333
290
298
349
226
352
357
368
290
283
395
388
340
344
308
268
268
294
342
290
315
335
392
377
271
339
406
185
382
348
349
367
347
342
325
282
243
385
339
301
266
286
385
288
351
273
237
257
235
358
325
385
337
320
312
284
229
235
222
333
309
286
299
305
281
315
304
399
298
357
303
391
296
252
337
246
394
316
300
255
280
334
299
365
380
359
283
376
276
360
324
270
365
307
316
384
301
363
326
363
293
281
348
296
265
340
328
264
300
376
307
292
318
336
281
371
334
321
323
348
266
336
274
302
375
336
422
317
328
323
239
366
290
322
262
249
235
265
322
277
302
275
395
365
290
286
284
306
329
287
364
325
302
319
311
328
355
361
303
356
312
351
270
309
358
343
248
396
277
289
314
316
352
329
309
339
361
351
297
331
253
308
362
274
221
332
258
349
340
336
329
308
336
276
334
284
321
258
295
270
306
374
258
260
343
240
299
383
317
388
205
422
296
230
280
278
352
327
308
336
350
270
300
298
266
266
340
326
328
309
349
336
348
326
339
387
325
341
318
268
324
341
314
332
319
246
330
287
290
297
282
369
376
348
284
329
316
347
307
386
307
294
321
252
334
354
290
264
390
380
236
357
264
234
366
261
328
357
272
359
306
332
269
381
350
260
343
300
271
319
261
268
313
296
378
286
337
298
289
333
420
367
313
278
217
346
321
360
304
308
276
331
414
319
367
340
363
227
305
326
302
275
360
310
313
335
271
323
350
233
328
250
345
355
260
328
355
216
319
346
379
336
289
238
174
327
286
238
345
368
349
214
295
259
320
240
361
315
347
294
382
396
281
266
322
329
253
327
296
354
283
321
393
256
298
292
373
286
299
357
347
387
311
353
313
414
385
393
315
363
316
327
369
253
283
330
399
321
416
306
298
369
401
380
342
344
388
332
343
400
348
279
286
268
378
328
279
353
375
282
291
308
323
288
379
343
324
329
251
317
293
390
256
361
344
194
302
351
306
347
377
395
286
424
351
326
336
303
391
284
287
175
294
254
272
352
285
316
321
334
240
325
321
326
358
275
369
323
266
270
362
259
362
206
353
365
265
319
400
286
382
354
280
220
312
294
330
277
332
306
308
354
244
341
333
305
373
362
318
231
287
334
285
327
358
257
351
361
337
263
384
328
300
331
244
320
315
347
343
290
298
267
277
216
380
317
403
293
313
271
300
266
272
302
235
278
293
279
321
303
330
410
341
281
297
307
304
279
306
328
396
391
334
325
268
395
269
329
307
348
281
339
434
332
352
250
291
260
339
250
343
283
285
326
310
259
344
307
405
315
264
285
304
341
307
404
277
392
334
218
376
377
410
393
318
285
387
345
355
242
260
319
254
383
336
321
380
361
293
315
294
369
336
290
286
269
325
341
295
259
338
269
277
258
292
307
311
277
325
258
289
351
305
354
369
285
328
280
341
392
291
277
300
350
236
201
398
315
286
339
295
345
315
334
271
406
288
346
247
277
352
320
338
363
373
355
328
162
233
346
302
320
311
344
380
300
285
351
403
334
331
320
271
322
299
280
320
299
374
265
316
332
222
265
313
337
246
363
282
364
326
327
303
320
287
346
342
301
205
383
308
294
282
358
311
369
341
297
252
292
304
322
321
286
404
330
275
318
383
337
362
297
300
391
328
216
308
369
278
359
235
324
245
362
296
366
383
317
324
288
321
362
350
205
314
308
323
374
341
295
414
282
306
408
311
343
208
351
304
240
257
282
253
294
357
385
300
344
302
359
328
241
328
257
282
375
255
302
335
354
326
334
353
314
293
309
317
273
365
270
386
384
370
290
265
291
258
327
217
235
317
372
325
298
252
341
280
300
293
295
298
286
319
363
282
301
343
361
319
335
252
295
335
229
362
320
302
290
311
294
290
320
272
252
357
402
339
296
307
311
354
264
327
319
275
356
306
315
287
356
320
355
355
297
294
313
343
362
311
306
344
327
389
375
242
378
253
360
342
313
403
330
298
241
322
358
297
382
353
359
309
390
326
302
292
349
226
241
256
345
245
379
289
327
334
264
262
279
284
299
303
261
332
285
374
280
243
281
340
357
286
195
367
336
359
288
288
251
270
338
241
376
336
328
397
284
366
298
359
295
308
375
301
394
223
307
252
253
344
398
385
319
260
309
263
380
250
335
387
351
268
345
275
330
327
311
364
286
330
273
211
284
305
284
408
319
364
299
288
340
324
342
347
269
283
360
316
272
280
337
307
280
289
295
321
260
320
386
253
371
354
283
302
330
297
317
327
412
310
389
345
314
291
393
278
326
251
282
279
321
220
279
373
321
367
421
375
392
307
286
365
323
350
226
295
345
374
309
302
274
318
412
300
306
348
338
332
344
306
278
401
310
226
315
410
294
330
383
251
233
358
436
305
313
317
380
335
340
267
346
343
337
343
344
278
305
391
285
312
391
328
359
271
250
391
355
349
230
393
268
390
272
367
330
330
389
353
308
372
288
313
269
295
267
304
392
335
219
350
249
280
321
272
342
290
252
272
216
299
310
308
317
319
319
264
348
367
345
351
330
362
386
255
325
349
296
327
287
307
303
327
277
317
318
312
335
304
415
370
381
217
260
302
248
344
354
259
237
291
373
307
336
271
341
290
364
273
406
278
365
324
297
296
303
315
295
304
269
372
257
241
301
245
264
346
347
324
392
291
313
351
307
290
410
364
276
290
267
290
273
363
291
346
288
284
296
279
312
263
396
347
339
363
320
304
346
357
344
335
371
241
373
279
323
283
325
265
295
347
360
376
284
319
288
245
401
294
316
305
337
376
271
265
369
277
396
379
290
201
291
349
251
415
311
253
322
350
340
296
219
328
346
342
283
325
323
353
327
284
300
333
225
325
370
312
322
378
356
298
215
267
273
338
372
342
287
176
381
285
294
268
389
316
369
280
370
288
253
339
329
274
282
385
353
351
358
305
348
271
322
257
338
281
348
353
307
350
393
241
421
296
272
328
306
249
368
327
367
319
343
355
323
273
316
336
380
310
267
353
278
324
254
324
309
367
293
254
292
281
333
312
302
332
233
368
370
325
347
383
382
311
320
279
368
356
267
232
335
280
353
284
246
383
326
336
342
385
275
311
363
327
271
394
293
280
302
350
330
275
329
260
418
380
367
304
294
292
331
421
280
346
330
284
270
343
352
372
296
313
333
319
275
337
311
319
306
312
269
291
362
350
320
343
372
378
403
386
296
286
368
344
312
359
317
339
267
248
367
301
354
335
321
330
335
266
305
300
277
266
367
355
344
397
323
260
363
276
397
220
315
204
315
356
310
314
344
340
347
327
360
233
281
197
364
365
315
336
376
350
274
266
318
414
288
344
333
268
418
199
364
353
339
270
268
261
305
324
338
312
311
360
311
306
380
326
339
408
318
327
314
312
280
354
362
261
292
289
279
337
440
378
357
352
344
238
324
340
401
264
378
245
332
305
335
382
332
355
366
214
295
294
388
317
329
286
287
321
344
287
265
378
328
316
256
286
249
347
358
285
335
348
357
393
322
235
298
328
313
349
305
296
305
361
361
360
287
248
276
365
283
322
350
262
310
310
349
303
413
347
338
302
329
277
290
302
333
350
305
319
337
339
256
321
328
367
300
283
322
342
298
218
384
370
354
384
255
394
385
298
251
351
306
287
241
391
316
362
316
260
297
327
307
335
321
336
251
223
190
312
291
294
277
321
291
361
280
315
281
311
323
384
235
351
324
287
319
348
324
444
227
367
309
291
301
272
319
182
273
373
223
382
302
330
301
373
265
302
276
370
349
415
283
380
215
324
315
253
288
391
333
333
364
329
275
280
354
213
338
302
325
344
319
265
242
339
279
305
282
273
270
302
282
295
310
359
326
323
323
272
349
385
251
330
358
257
280
407
320
378
286
394
322
364
409
289
330
264
321
392
318
307
324
290
292
391
274
217
360
266
290
327
370
345
286
272
224
213
288
222
345
160
220
250
284
290
320
314
327
350
369
342
308
343
256
291
258
334
349
447
266
366
300
339
390
362
338
268
260
299
373
347
282
231
371
306
387
326
291
328
271
271
251
422
288
317
418
331
299
201
245
337
376
309
266
295
354
232
318
253
327
450
262
284
247
228
283
287
369
305
398
408
313
321
329
368
367
379
253
312
326
336
305
379
368
313
292
285
276
294
426
315
288
446
289
255
340
261
344
363
297
279
377
345
336
253
306
319
324
238
357
333
369
280
251
333
399
313
269
366
342
267
247
327
311
342
412
341
299
283
343
386
304
320
373
332
304
388
367
307
212
277
307
338
299
339
310
220
296
245
398
286
367
338
283
315
354
368
325
405
338
351
332
361
254
309
226
353
310
301
212
322
315
227
245
311
370
334
320
306
373
362
313
285
282
376
272
289
321
303
326
238
357
339
342
301
324
392
328
332
319
233
291
368
351
357
251
333
269
316
380
362
242
261
271
334
369
265
347
325
369
311
406
311
356
298
264
353
352
305
391
342
306
334
303
245
347
314
286
289
241
344
298
322
292
349
333
286
322
321
372
357
331
257
267
357
276
256
296
340
372
292
324
330
233
394
350
380
284
351
308
301
338
273
296
299
325
350
306
375
348
302
293
338
311
271
353
280
375
340
411
302
374
366
252
339
238
323
313
293
255
366
395
310
322
343
304
360
362
315
387
347
367
333
377
332
306
368
299
281
324
339
325
335
360
263
279
248
349
223
309
317
322
404
277
408
322
265
379
333
319
285
377
236
240
355
388
309
282
266
326
342
362
360
318
342
343
334
314
310
303
351
285
247
345
273
323
244
303
293
290
336
303
317
301
326
363
385
298
298
302
345
387
316
215
350
284
401
291
313
269
275
367
302
313
400
272
342
322
293
402
266
270
365
272
398
289
385
317
202
382
301
318
370
396
423
281
318
275
251
319
307
378
355
295
342
292
308
270
315
301
389
368
283
345
273
319
317
331
357
233
294
294
324
343
315
403
295
314
380
294
308
289
348
285
283
306
370
275
357
176
319
301
307
301
345
377
324
298
318
325
311
331
326
331
335
269
244
338
312
255
252
316
270
308
305
381
279
278
319
251
264
325
249
350
328
358
284
382
378
329
266
239
278
316
283
242
316
338
354
353
371
320
361
305
264
362
276
337
284
348
388
309
293
295
282
315
373
296
294
338
255
389
383
300
319
204
210
248
338
324
358
387
217
394
220
322
376
406
378
346
294
314
296
339
326
260
342
325
289
366
306
286
370
290
331
233
215
363
419
269
268
305
287
324
333
329
282
315
386
324
264
293
285
389
316
337
336
288
391
321
279
371
335
267
254
281
352
329
341
289
340
307
342
344
340
344
331
316
287
352
271
360
289
297
295
356
263
333
178
310
332
355
268
287
341
264
290
325
355
322
271
355
302
290
302
306
315
266
352
343
299
300
380
303
367
292
288
336
285
353
342
281
259
308
382
402
285
340
295
262
290
409
342
361
299
354
314
257
358
348
296
299
251
355
326
308
252
309
376
255
303
331
332
327
263
319
340
338
326
349
325
424
289
339
291
349
362
243
277
265
361
380
375
375
331
330
326
299
382
282
250
408
372
319
314
269
293
278
342
288
277
343
315
373
308
305
234
348
398
199
344
298
318
253
341
310
306
372
392
324
323
301
342
261
334
254
342
376
329
230
336
392
270
307
329
274
284
276
270
358
257
414
249
294
254
281
314
333
313
299
376
352
236
301
309
303
341
329
349
328
299
299
270
305
261
390
356
328
310
328
323
375
281
316
298
299
264
341
364
333
231
308
362
277
355
223
302
317
417
400
375
327
285
296
293
242
284
345
310
353
316
354
356
373
340
319
282
417
329
414
299
267
322
327
377
303
347
406
421
385
224
255
288
382
242
317
278
260
298
291
416
235
251
370
305
230
295
338
346
390
279
264
290
349
352
346
440
261
377
305
372
360
289
292
397
290
404
322
299
301
317
323
368
356
309
317
266
294
317
339
385
258
306
327
326
350
265
360
345
284
362
320
288
278
284
353
291
355
378
429
282
402
300
303
308
339
366
273
327
288
315
329
283
259
342
302
340
366
327
245
385
282
327
376
378
308
308
273
223
280
240
270
400
351
266
322
307
295
287
371
401
395
387
267
333
209
384
308
295
259
294
420
316
231
363
314
315
250
268
304
379
379
298
404
262
290
324
345
282
279
313
341
323
287
310
342
274
213
335
234
328
319
256
355
371
334
341
336
363
365
257
329
336
295
338
373
353
345
322
256
314
360
327
318
308
318
372
316
257
331
345
266
314
228
284
288
299
354
245
270
262
327
349
327
258
330
318
242
304
332
262
259
413
336
289
351
380
302
334
297
292
371
346
301
307
219
352
307
298
323
401
208
338
292
288
301
265
301
347
302
319
314
319
304
292
284
255
315
316
302
327
353
356
270
325
316
318
281
330
317
257
203
367
389
329
334
290
285
317
305
266
341
278
289
303
321
264
394
344
311
350
362
257
399
300
351
296
314
335
303
413
336
367
256
317
302
268
301
359
239
439
348
331
393
337
306
297
217
236
368
276
379
303
287
373
307
406
293
336
330
267
357
205
304
320
314
349
358
348
394
207
339
374
310
337
372
290
328
348
291
247
302
329
296
428
344
303
334
334
372
278
375
282
377
307
261
408
309
381
347
280
301
322
411
219
322
368
368
251
287
378
318
380
235
325
224
333
286
268
275
337
380
331
311
300
302
340
222
314
230
332
289
318
287
334
306
367
310
276
345
326
303
284
281
319
329
329
322
383
272
368
359
299
355
297
341
334
460
335
380
337
334
266
304
325
213
347
276
355
337
324
362
343
249
318
328
228
327
262
366
322
303
261
388
351
394
302
407
374
278
303
338
226
324
293
316
254
293
263
295
321
224
288
233
328
323
315
264
364
387
303
347
421
345
404
321
348
320
303
337
242
246
350
320
223
264
313
315
290
297
302
292
233
346
267
299
365
346
445
308
210
317
286
275
280
258
307
302
395
334
388
325
317
358
312
352
427
282
335
351
224
397
288
383
366
329
322
387
336
347
377
282
300
328
315
296
271
323
344
339
327
320
343
295
264
280
336
274
354
314
262
297
279
302
343
333
291
311
363
313
330
302
369
328
363
348
324
280
266
348
334
353
283
392
332
284
261
255
306
308
244
301
272
303
289
308
351
379
292
363
323
265
314
360
363
322
338
307
274
358
321
279
319
301
264
286
356
356
367
337
302
288
357
335
400
354
311
261
356
313
334
213
372
411
316
308
378
314
289
338
382
329
359
281
322
322
326
348
249
389
392
317
339
320
382
289
306
263
326
354
335
282
308
324
294
268
360
261
333
296
284
241
326
420
334
289
336
265
356
255
291
394
277
304
381
265
328
372
381
343
342
293
300
286
359
301
346
294
325
362
380
338
289
242
311
351
390
364
300
299
305
320
363
344
337
371
324
326
304
377
308
282
257
333
309
374
332
333
328
309
284
345
296
272
298
304
332
318
335
354
259
356
331
262
290
286
292
343
338
348
191
339
336
296
358
308
366
274
355
326
313
279
365
303
348
366
255
336
315
283
357
306
326
304
260
323
388
314
335
313
309
249
375
289
257
339
203
426
319
297
399
284
270
158
336
262
333
328
343
260
279
347
291
283
350
268
349
340
326
352
328
346
308
375
266
263
332
306
285
331
333
353
288
338
388
328
361
330
294
343
261
239
362
269
302
370
252
274
349
316
269
256
342
287
386
324
358
279
382
331
303
277
368
321
372
304
269
254
314
273
324
304
346
323
356
362
369
307
302
329
340
330
374
417
291
283
350
351
291
311
325
349
295
313
328
302
253
326
286
249
384
342
356
340
280
254
345
273
328
303
347
337
331
362
361
330
315
308
386
326
300
429
314
416
294
279
321
330
412
311
333
284
283
286
359
243
291
366
368
318
345
382
274
318
405
297
368
332
312
359
279
290
225
320
291
267
291
334
256
286
320
359
222
290
244
298
288
344
285
332
309
309
261
284
317
322
355
381
330
313
230
367
211
347
338
335
380
375
316
342
335
300
344
229
309
311
405
360
357
367
338
324
305
289
274
301
359
315
345
329
360
278
290
302
331
307
345
296
309
338
344
305
319
347
330
346
375
209
386
303
256
219
264
230
405
291
322
359
333
321
312
238
296
358
298
349
331
317
370
329
300
272
377
336
301
289
265
316
300
336
308
286
284
240
296
344
314
358
269
316
288
351
319
360
412
344
289
277
277
337
343
362
334
252
309
307
236
278
320
347
398
261
288
293
358
325
300
358
349
227
342
328
312
263
241
327
277
331
205
242
391
295
286
298
330
273
346
309
357
302
269
294
348
306
366
347
274
349
315
378
283
332
368
329
304
325
340
387
276
367
356
264
281
261
339
295
351
318
262
266
277
357
321
396
296
268
296
353
252
343
355
280
329
317
225
311
315
330
336
322
304
328
308
337
300
287
297
347
311
360
321
336
287
269
363
370
291
375
345
375
373
317
325
317
366
344
345
354
386
325
347
325
399
277
196
295
366
353
295
410
317
355
241
277
288
293
360
342
367
299
310
316
309
319
348
286
395
398
328
388
340
337
278
352
269
325
290
341
288
333
366
337
345
263
325
355
384
343
351
361
362
268
324
335
332
243
379
381
224
304
334
318
350
242
313
366
342
225
236
336
372
346
286
391
313
322
358
362
365
358
334
260
375
244
305
282
332
333
358
293
385
320
310
253
283
269
318
318
290
307
342
327
367
258
365
309
347
279
404
364
312
283
292
313
340
341
321
338
334
403
286
348
274
348
309
384
340
324
315
438
322
366
275
303
339
330
314
270
295
405
302
300
372
290
360
302
302
308
385
299
333
331
311
349
293
292
299
337
295
346
279
265
307
367
358
340
372
223
317
279
365
280
389
232
323
334
287
288
331
278
335
331
357
310
233
356
352
355
291
313
370
338
315
340
369
281
277
378
273
350
295
370
332
384
337
331
360
279
341
296
326
331
342
307
316
265
327
329
292
320
280
334
344
382
354
369
318
326
326
316
253
314
371
298
323
303
270
325
345
385
299
337
266
328
309
331
346
325
267
246
352
324
257
275
370
328
305
353
336
189
326
342
334
344
344
324
380
241
394
327
286
361
344
306
391
255
352
323
382
262
324
341
262
320
310
356
356
360
305
256
354
314
366
330
247
325
304
324
413
280
280
383
302
336
378
337
353
311
320
263
324
279
330
316
304
360
303
349
312
269
326
277
303
372
353
295
338
424
267
327
235
401
405
355
301
349
343
328
254
307
293
217
333
328
380
282
280
364
344
355
313
308
314
300
365
368
318
318
289
292
220
303
387
325
358
375
356
277
328
312
382
344
372
336
293
415
276
272
335
348
337
242
281
370
388
314
346
260
377
342
342
374
297
408
401
339
270
454
263
329
410
201
282
302
315
262
363
283
352
360
344
339
323
329
293
405
343
367
324
330
343
343
230
277
332
366
320
289
348
356
313
262
299
316
336
346
348
291
321
333
361
288
284
218
388
270
231
385
282
286
254
346
261
259
303
304
283
324
316
343
283
372
377
291
318
317
355
257
369
267
293
320
274
283
402
344
311
369
269
294
341
251
266
340
344
298
353
278
303
323
342
305
323
342
277
247
310
362
344
322
301
344
254
246
342
334
371
346
313
286
393
319
266
334
362
317
340
370
368
348
274
308
328
260
303
301
344
310
328
300
339
284
305
345
382
346
314
229
350
240
297
348
282
373
312
392
318
347
290
290
264
288
296
288
410
343
409
310
253
352
240
346
287
333
243
239
316
309
330
348
327
340
275
287
259
355
317
326
259
321
329
261
272
289
220
251
308
371
412
246
345
319
314
376
261
251
263
335
329
360
372
381
316
332
332
335
214
291
347
290
299
400
318
304
341
394
416
330
310
312
372
312
344
321
347
289
302
201
280
369
297
302
363
257
294
332
328
238
397
311
338
335
315
319
287
243
299
361
390
318
327
351
344
297
312
328
313
289
368
330
413
347
341
190
361
252
395
250
320
332
346
295
351
363
285
377
380
329
254
355
320
288
276
356
301
337
214
285
292
358
360
362
362
264
306
401
323
355
280
286
365
365
334
419
325
358
309
286
317
363
363
291
337
378
327
279
295
394
339
324
338
382
386
349
347
254
307
321
348
310
268
370
294
299
290
303
304
340
377
298
394
290
243
276
318
382
234
319
338
349
268
366
465
363
338
244
313
330
248
296
283
315
299
269
298
273
329
326
339
292
268
288
308
314
262
287
319
326
369
395
277
363
371
362
399
348
365
300
248
346
330
300
359
374
344
331
373
289
254
434
306
313
258
343
331
306
263
341
321
319
300
305
298
429
354
332
296
304
368
282
351
385
259
358
300
325
340
287
407
375
276
233
412
295
293
350
311
270
301
373
382
334
328
271
415
238
310
298
343
364
304
349
350
322
310
327
383
347
255
295
296
323
292
292
369
328
225
274
340
353
359
378
332
355
236
303
278
338
288
299
211
291
273
355
250
359
353
360
374
248
195
379
287
339
372
266
227
286
248
321
391
313
293
257
349
309
337
364
345
291
278
352
290
390
322
375
325
289
284
339
258
287
329
381
348
348
380
340
332
358
308
302
287
282
276
188
336
303
358
345
358
235
350
340
331
305
317
316
264
327
357
367
291
389
247
365
327
335
348
291
402
350
386
361
293
354
302
299
291
316
368
305
270
389
287
328
265
373
191
234
301
367
280
278
396
287
287
303
199
368
360
338
200
334
296
329
213
262
335
158
316
317
398
296
327
237
262
323
298
316
299
283
402
377
318
342
337
348
339
370
336
273
318
180
340
297
326
269
340
367
360
284
198
352
300
304
316
366
285
350
319
276
330
288
300
350
304
298
351
302
341
235
314
287
343
245
236
363
355
323
372
318
336
351
330
281
280
393
321
360
309
314
242
333
333
339
324
403
309
354
278
306
267
291
302
325
272
302
317
311
260
360
372
323
242
397
331
231
299
259
251
293
370
334
279
269
330
384
329
273
291
345
241
283
323
275
208
367
348
358
308
348
376
400
282
371
331
310
296
393
306
294
306
343
341
332
330
293
321
364
285
267
357
281
313
296
364
261
288
400
328
381
308
390
357
351
245
327
238
308
194
383
312
296
301
316
365
388
321
380
282
333
287
223
349
380
325
312
367
382
393
312
371
377
277
281
346
306
355
233
264
307
333
384
289
371
297
337
370
292
350
322
317
387
343
309
257
301
352
314
330
371
319
198
368
311
306
355
374
317
392
254
182
285
309
274
371
273
401
378
211
307
335
326
338
323
353
355
388
359
260
295
350
345
297
226
277
331
262
311
361
339
243
407
329
273
346
292
337
299
295
314
371
346
350
308
329
288
237
341
298
341
321
331
298
361
341
252
259
340
398
325
346
310
303
381
285
396
322
282
324
285
276
277
260
316
322
400
276
370
250
355
336
375
359
341
240
251
319
256
310
263
366
331
356
281
337
347
333
291
320
323
360
212
407
274
322
313
335
327
269
330
321
299
316
349
310
431
282
392
337
317
325
366
263
293
357
397
349
368
260
364
333
353
317
389
280
379
384
309
333
273
313
391
362
351
292
354
377
258
311
327
325
338
450
358
246
302
272
364
335
293
350
340
393
276
342
234
306
295
350
300
356
309
409
301
323
277
300
363
364
345
317
308
314
299
293
237
302
286
354
377
267
288
298
324
312
379
295
341
282
302
377
306
302
307
275
324
337
362
303
353
347
374
300
323
297
294
323
363
365
351
392
305
346
350
310
286
313
434
335
364
301
289
326
334
318
235
174
269
260
261
341
286
258
317
331
357
307
365
328
378
354
276
391
334
336
293
277
299
281
215
248
315
262
367
331
307
341
319
283
290
277
335
293
315
305
314
280
337
306
303
345
333
328
311
288
350
316
314
262
295
297
297
253
282
321
402
275
284
424
268
276
269
353
264
214
278
337
322
349
342
411
338
306
342
353
323
262
309
263
374
315
295
313
305
325
370
239
362
342
274
381
381
308
341
378
370
319
313
277
309
427
307
330
333
364
368
312
341
312
369
376
289
298
271
417
293
320
299
319
247
289
290
292
336
269
345
321
347
286
342
270
171
345
275
298
364
337
313
321
344
285
342
223
319
324
345
269
291
209
283
316
384
303
323
397
248
293
281
339
326
377
339
238
356
356
322
363
385
335
325
328
270
356
317
320
408
235
300
367
354
316
332
316
263
402
374
296
347
319
290
332
304
298
219
237
221
315
278
304
328
392
285
325
254
348
321
366
308
303
366
310
305
354
324
288
253
311
353
309
367
303
252
290
263
279
343
276
292
275
314
208
332
310
302
247
377
340
332
219
287
375
294
232
283
378
406
326
366
322
294
265
314
340
246
270
224
302
345
312
204
309
292
406
421
307
418
250
329
314
380
281
301
374
390
340
319
259
339
295
328
351
267
338
347
336
271
366
358
313
350
271
365
305
300
321
287
320
299
278
355
333
292
331
318
266
296
315
285
322
284
367
364
302
378
358
426
250
341
336
336
300
296
370
228
300
328
313
315
284
282
298
319
287
253
421
243
285
373
208
241
307
346
328
330
367
266
334
235
326
262
352
288
288
284
307
198
321
333
342
295
347
266
307
411
332
274
325
370
308
309
292
300
366
302
351
290
311
275
328
299
349
341
399
321
287
286
333
312
305
328
346
309
306
326
313
242
258
271
326
320
269
262
327
341
268
359
304
305
379
366
389
339
402
322
339
345
264
318
302
314
355
368
208
289
261
287
318
366
310
338
202
335
268
309
292
279
299
325
344
305
273
297
282
383
369
299
328
241
318
350
339
398
373
384
302
371
287
379
377
306
343
369
352
390
347
254
260
340
327
303
334
298
328
309
312
307
321
295
341
334
346
320
318
344
291
331
298
304
338
250
398
298
334
313
310
319
261
212
267
331
309
335
261
306
319
281
336
356
398
350
289
361
344
391
313
362
307
278
307
274
303
377
253
314
310
306
239
337
296
300
333
308
378
264
348
261
416
273
305
288
360
259
350
291
345
292
261
367
313
403
277
306
341
360
317
319
316
222
370
348
346
302
354
328
352
275
339
301
298
382
335
282
314
393
367
344
291
331
369
368
258
263
305
379
252
400
407
337
330
321
285
263
325
389
302
277
238
292
361
285
283
332
341
324
322
356
312
300
338
281
336
382
334
298
354
294
296
242
324
225
318
319
283
339
254
264
181
288
317
285
395
284
343
288
268
330
366
317
294
290
372
254
353
374
301
360
351
280
290
289
356
327
364
272
314
353
239
388
299
236
290
261
340
369
281
232
291
303
235
281
329
329
399
322
300
347
307
329
355
351
361
287
271
335
315
233
262
385
325
396
309
303
244
345
287
334
330
301
381
330
365
311
388
318
332
267
346
337
255
315
312
338
261
372
324
292
289
334
342
298
299
309
320
334
286
300
325
274
367
353
336
349
302
307
262
447
253
327
292
381
340
339
357
285
335
285
259
305
347
297
343
270
291
300
341
272
257
307
338
365
292
345
356
370
304
288
256
317
300
311
310
295
270
308
307
181
390
397
287
256
389
376
375
276
387
259
323
371
376
265
227
380
258
317
303
280
347
278
396
361
351
369
245
367
259
344
309
264
346
377
244
367
298
319
353
227
265
255
348
382
301
304
320
380
318
322
373
360
318
253
410
233
352
370
324
317
309
310
265
293
346
248
400
237
311
298
276
344
361
354
314
343
286
344
317
328
290
306
253
319
330
301
265
291
366
305
263
283
339
342
320
274
283
376
258
316
315
385
279
368
330
388
324
243
305
326
282
295
361
395
246
387
317
403
265
282
328
263
399
342
342
309
350
294
327
358
243
296
281
270
244
363
390
360
197
377
287
342
404
351
343
296
352
385
270
386
254
291
292
270
274
359
314
385
267
281
289
294
304
328
313
319
322
315
303
350
413
306
272
317
294
342
243
339
386
359
292
325
306
293
290
438
288
311
266
285
319
277
277
281
242
221
262
326
319
255
279
314
311
341
331
366
389
349
321
342
285
344
362
398
309
341
356
306
283
390
249
287
286
349
374
271
312
236
307
332
282
293
272
334
315
296
355
289
287
330
360
395
344
333
286
334
337
275
301
297
293
411
302
318
327
339
308
267
394
318
327
326
334
265
263
344
287
304
351
344
342
173
354
243
336
403
365
266
251
231
332
380
289
391
368
243
372
309
204
327
326
301
331
353
316
275
302
292
359
232
327
320
298
255
298
279
349
360
294
287
334
322
291
277
374
346
385
371
442
325
285
299
390
323
232
279
302
317
350
390
329
281
251
373
255
347
277
284
318
284
315
366
274
239
377
335
256
274
323
280
335
319
423
371
411
309
264
394
221
297
271
319
266
323
322
302
284
338
352
305
354
319
259
283
288
361
282
286
309
231
335
270
274
352
344
382
393
287
242
282
325
297
232
332
406
313
330
335
318
337
384
268
270
360
320
276
339
392
351
351
310
299
287
283
334
260
345
225
335
325
231
258
347
337
301
346
325
295
306
357
238
327
366
323
235
346
323
321
297
338
358
209
325
270
328
330
311
290
274
245
320
328
360
259
292
355
297
266
309
347
271
380
269
283
290
297
269
357
388
309
374
362
309
316
333
333
279
303
296
321
379
283
413
286
244
400
316
317
370
288
333
324
288
355
358
288
314
256
294
306
279
302
332
318
304
276
386
408
312
343
374
350
274
279
300
357
356
294
286
325
272
308
372
337
350
325
349
354
336
344
264
301
209
270
326
302
313
318
315
352
352
338
356
365
267
324
385
304
320
359
350
354
371
364
366
288
266
328
351
360
360
274
345
275
288
255
345
398
434
332
331
343
256
290
334
252
361
290
411
303
289
299
328
255
260
309
299
280
279
262
357
235
352
350
218
263
361
217
349
325
319
389
308
321
345
267
392
318
334
324
331
326
274
354
309
356
343
234
349
315
324
361
268
279
348
313
324
324
322
318
373
325
386
341
325
371
309
309
312
330
279
314
289
349
293
303
316
386
354
341
354
396
308
280
320
255
295
276
287
348
322
275
295
279
344
346
327
297
296
289
308
361
344
350
346
292
225
263
314
380
319
333
251
292
335
427
295
331
298
364
245
326
267
283
357
264
355
282
321
287
314
320
229
306
386
335
319
330
274
332
304
355
390
278
299
285
308
329
367
312
308
275
287
332
340
327
258
296
276
347
356
280
336
283
262
307
319
321
368
333
274
223
338
325
269
365
289
369
307
318
370
323
359
372
338
350
286
344
288
349
363
293
308
318
335
312
431
304
344
186
349
275
335
239
317
301
386
292
374
351
341
254
322
318
260
358
380
271
320
331
285
314
347
320
364
392
336
317
286
363
361
378
308
281
345
382
282
240
293
258
369
282
285
317
278
374
346
283
337
307
348
284
346
339
309
336
356
294
332
306
343
321
394
304
328
332
281
349
318
311
332
269
257
300
303
269
347
363
335
273
339
312
351
332
323
299
223
284
287
374
284
336
242
369
361
312
332
391
303
276
273
250
180
290
293
285
263
329
309
324
270
362
303
341
268
326
268
178
339
301
325
357
329
335
254
322
360
306
295
333
298
384
370
368
322
318
311
290
305
349
302
277
293
268
296
301
285
384
319
330
307
280
326
344
277
271
381
352
337
340
310
305
380
273
231
296
304
300
285
315
350
304
267
301
245
345
247
376
333
344
317
352
347
357
292
408
363
339
282
341
247
358
314
302
364
277
260
386
265
370
273
254
272
295
319
353
258
354
356
324
256
347
374
292
316
261
373
351
236
309
272
277
349
282
276
292
310
352
374
286
233
382
319
235
288
305
320
306
334
249
341
265
331
318
290
328
303
313
417
364
323
295
357
390
314
297
316
318
348
296
283
317
326
329
266
302
352
328
300
348
318
293
359
303
216
358
320
338
287
329
272
307
284
269
296
338
304
331
367
296
347
316
284
407
312
352
381
282
254
312
346
327
249
326
298
299
319
252
392
323
301
328
303
400
291
370
217
309
333
252
292
220
259
339
309
263
325
229
257
255
283
352
293
384
318
295
262
253
303
235
329
319
334
290
324
293
331
341
294
323
326
336
333
317
346
267
324
392
293
277
369
293
357
347
275
355
346
307
233
369
354
371
369
318
340
321
344
280
334
303
234
240
287
303
374
362
395
244
323
294
354
336
247
328
344
341
287
240
346
297
297
300
342
305
318
293
267
319
315
251
246
294
377
292
292
295
243
367
359
352
366
260
348
336
259
351
245
353
366
321
325
201
325
360
339
296
354
340
264
282
264
298
359
414
254
336
355
328
307
363
303
349
375
312
335
330
375
379
404
296
274
326
352
284
302
307
347
287
338
327
331
376
316
319
294
297
323
302
327
272
246
294
330
335
357
326
297
373
312
342
353
311
294
350
337
392
325
310
294
292
349
337
372
272
325
319
330
282
304
338
301
253
304
303
392
389
319
341
359
345
314
396
342
336
392
316
346
321
296
334
290
291
330
274
340
252
273
421
311
327
333
346
355
312
248
257
298
291
330
297
242
308
255
284
354
341
364
246
302
434
305
395
291
349
303
340
388
318
257
265
339
330
245
291
313
335
348
306
327
314
243
406
295
358
301
334
307
288
318
284
395
304
304
322
291
330
283
288
307
304
178
287
364
267
304
317
324
340
417
331
224
312
303
283
329
263
336
300
271
250
332
317
323
286
313
310
306
430
374
314
282
305
324
334
262
323
295
273
323
260
359
285
311
260
348
259
299
309
356
313
363
259
352
354
320
322
361
262
302
213
339
322
343
367
324
278
280
334
304
228
355
270
359
288
325
399
330
316
303
284
387
317
263
366
374
367
385
319
358
371
340
290
272
303
358
294
297
248
318
221
287
281
308
275
367
267
304
306
345
372
345
319
328
275
341
304
328
320
289
317
325
347
315
323
348
338
323
293
348
389
263
242
367
330
333
313
376
298
361
336
328
323
363
364
279
388
326
321
385
366
308
385
285
343
379
340
390
298
314
257
259
306
294
370
341
348
378
296
328
345
325
220
346
313
340
205
348
330
330
299
359
282
287
311
351
318
277
308
343
360
314
306
337
210
309
222
377
359
302
290
187
266
371
358
277
267
335
289
293
340
360
349
310
348
339
287
370
288
299
276
253
329
313
313
297
358
318
297
332
361
293
360
300
319
373
265
280
322
336
345
341
293
387
233
324
323
255
304
303
354
365
306
345
361
262
279
313
288
331
367
255
390
310
322
304
245
168
192
257
378
432
312
405
380
312
287
231
297
288
258
347
272
344
385
326
315
292
235
249
325
325
324
324
385
337
298
270
281
371
331
330
365
303
379
274
280
348
329
261
281
268
232
288
286
365
301
365
308
285
306
309
268
331
303
346
355
270
390
295
372
297
313
327
342
317
259
375
295
358
373
270
281
328
244
342
258
276
327
356
346
280
239
353
368
327
330
334
385
341
406
297
365
325
330
327
222
311
303
364
310
316
270
292
268
395
374
364
349
372
251
398
329
346
322
333
341
374
314
343
222
329
195
326
324
265
354
391
319
307
339
270
334
299
327
369
279
253
323
310
262
267
270
320
285
278
358
334
297
375
397
347
333
335
341
315
245
268
382
289
370
350
295
319
355
337
367
374
301
261
301
285
380
388
315
289
263
283
245
412
349
279
379
368
291
280
298
310
293
334
394
338
334
375
361
334
264
337
294
310
376
288
384
351
282
303
302
242
297
275
318
302
318
321
282
399
310
203
262
362
373
295
328
285
284
257
337
305
307
299
358
318
400
291
326
316
270
351
325
299
320
318
330
397
279
299
300
278
310
384
288
327
340
333
351
343
280
335
258
322
271
287
268
351
243
311
366
296
324
333
338
351
380
309
390
346
325
333
350
281
290
392
345
328
300
255
377
270
307
326
358
371
344
323
318
420
311
317
394
309
322
266
265
384
280
373
293
265
309
326
248
276
282
337
321
264
379
358
315
280
309
321
314
328
226
311
326
347
256
350
351
335
382
344
308
319
285
349
269
397
293
257
262
391
335
321
349
392
274
315
341
385
300
297
271
353
304
287
350
329
316
356
299
290
263
354
311
328
387
320
362
334
423
339
309
316
327
269
275
387
333
335
286
330
402
273
308
394
316
409
274
389
278
239
291
349
264
289
220
269
323
371
372
380
275
281
359
323
330
368
339
359
350
341
336
361
380
316
332
367
299
383
340
266
365
390
291
353
329
376
289
278
350
297
371
305
384
259
365
310
351
323
399
320
257
317
347
284
259
331
257
354
296
281
353
276
358
325
332
365
354
381
298
405
361
305
241
280
296
324
257
312
296
259
286
291
317
231
330
321
332
306
335
314
318
331
360
316
360
300
346
287
318
404
309
262
256
398
265
302
343
345
392
338
378
301
371
355
311
245
390
292
348
320
362
332
308
334
260
207
302
298
352
315
289
284
323
323
282
232
382
311
370
305
365
230
280
269
345
328
279
382
337
353
208
331
357
243
245
261
344
355
289
363
355
304
378
288
293
422
348
338
286
250
308
374
355
422
324
349
266
243
351
338
250
435
368
329
287
265
356
333
320
325
257
351
415
297
343
295
332
321
285
241
282
299
377
349
327
265
313
350
295
299
304
236
280
297
289
300
332
336
327
313
307
414
361
348
355
297
271
285
342
338
321
293
348
303
296
337
372
292
350
245
387
368
317
324
321
265
363
335
365
281
367
236
423
366
391
308
272
287
307
388
308
356
219
260
346
235
303
310
344
277
281
340
263
392
369
277
402
312
300
265
345
287
292
333
294
341
373
243
324
338
297
367
300
334
282
311
244
260
375
309
230
332
339
275
336
324
314
276
327
261
381
437
296
314
262
307
339
254
369
264
303
325
260
340
286
353
329
337
406
332
346
296
343
317
232
283
297
303
364
389
364
334
344
281
336
357
237
348
345
273
324
276
343
248
313
326
292
287
351
333
244
356
326
341
302
302
355
280
347
258
306
324
337
284
248
274
268
291
375
436
389
315
299
346
407
305
280
275
302
312
371
323
322
340
355
352
278
331
378
353
347
358
332
255
367
289
323
398
332
313
338
304
323
355
360
201
219
281
357
307
339
295
286
296
389
334
212
246
283
286
340
240
265
334
330
341
372
295
279
339
341
324
350
334
379
272
368
350
333
261
288
265
390
385
394
424
230
347
293
263
351
343
302
407
326
324
284
233
252
293
289
354
309
273
404
318
272
367
238
300
336
270
280
311
343
326
225
334
334
348
303
357
268
420
307
385
334
332
317
277
296
353
264
293
359
333
300
279
339
249
362
276
256
268
358
282
302
272
304
368
272
271
274
281
249
313
323
288
329
309
290
224
301
264
343
305
283
315
356
292
347
328
324
249
418
368
285
359
299
314
265
350
333
281
280
296
288
317
216
334
270
314
300
330
304
225
257
322
335
354
236
357
338
323
290
268
256
293
401
273
381
266
284
368
251
366
352
251
316
362
366
273
311
373
343
267
331
370
325
309
298
328
279
392
353
310
292
303
362
290
295
254
362
292
274
257
311
363
305
314
394
374
272
332
327
285
315
363
295
286
328
260
329
291
190
337
333
338
298
337
294
357
259
374
296
386
279
382
297
292
322
288
216
262
329
337
305
322
270
257
250
304
270
268
312
292
299
306
311
289
297
222
294
292
303
317
344
379
326
282
295
317
347
259
287
301
301
370
298
294
327
251
320
388
285
383
324
308
298
309
422
357
296
334
348
336
274
329
329
248
278
310
301
270
326
372
290
315
303
327
322
315
394
262
297
294
371
280
385
280
272
326
316
284
313
322
304
306
365
375
311
354
332
374
296
346
288
330
242
325
380
394
311
280
243
333
375
269
376
303
340
369
357
336
319
334
312
265
257
400
318
338
305
200
268
328
242
324
230
299
314
309
352
353
315
353
259
316
344
339
333
379
290
295
325
289
261
341
223
293
342
307
342
303
266
332
360
279
300
301
320
350
310
319
344
361
341
251
380
355
335
276
356
341
296
341
345
405
249
345
334
308
264
304
337
341
314
245
344
268
309
373
225
309
255
278
275
313
345
355
348
309
285
301
281
311
295
289
356
348
362
245
312
430
354
254
341
319
329
328
359
310
341
348
346
341
356
275
240
344
286
392
355
242
312
330
259
315
285
415
306
305
401
299
336
312
295
313
368
294
266
325
352
287
302
363
241
291
307
280
289
310
166
337
318
345
374
237
342
295
266
314
294
263
274
353
307
255
271
287
275
255
309
338
325
286
300
329
283
309
192
298
360
356
364
373
320
312
333
339
231
348
304
379
359
258
252
301
344
319
288
284
303
390
252
260
261
227
331
216
373
252
283
268
353
274
274
339
308
296
335
283
286
340
335
299
288
297
274
360
318
241
352
267
330
292
355
403
296
306
250
358
315
333
343
301
285
347
308
311
297
408
334
401
294
390
273
268
366
364
388
297
394
302
246
327
358
330
290
337
293
392
356
318
349
354
333
308
316
419
273
263
319
373
314
291
363
366
326
329
328
299
309
280
365
320
365
264
276
276
322
312
352
337
320
319
244
377
258
365
356
280
340
372
400
251
374
323
315
234
283
243
343
313
404
334
331
285
374
296
290
255
336
355
226
268
247
351
290
317
289
412
281
326
410
352
279
305
350
317
357
331
343
325
327
302
286
273
330
230
315
313
376
280
327
351
302
331
305
272
416
350
409
323
320
311
369
327
319
256
310
355
338
254
320
307
379
280
236
341
238
337
299
357
305
337
281
364
297
279
385
390
378
289
318
307
349
229
293
362
330
401
279
287
394
189
334
291
249
307
345
312
335
247
361
315
309
247
359
257
312
267
308
293
295
381
321
339
286
357
327
317
293
294
356
275
263
339
438
397
347
301
307
298
320
320
321
286
345
378
295
399
364
338
346
245
306
351
283
242
338
322
424
321
296
323
322
311
332
290
324
305
338
358
255
247
376
317
364
330
316
338
299
302
344
408
326
326
326
340
305
320
395
366
262
427
372
313
371
375
412
371
366
327
369
352
259
300
348
336
286
263
319
325
322
289
277
356
375
317
313
308
372
333
366
329
345
320
318
338
355
249
318
300
297
296
280
335
378
362
327
342
345
379
244
308
335
351
392
245
250
345
299
308
327
307
279
331
281
295
222
335
297
316
372
412
293
340
271
384
309
312
368
303
284
364
364
284
324
323
350
308
320
318
246
331
333
325
317
286
329
385
296
287
288
377
251
346
321
275
282
291
369
335
321
298
443
324
341
291
293
361
359
303
250
313
345
325
295
338
393
336
371
377
282
278
362
294
268
277
286
292
294
330
347
345
275
308
297
299
394
305
384
318
343
370
314
326
327
328
320
393
285
300
359
301
303
369
285
313
336
324
360
253
228
253
297
268
237
360
220
350
347
298
298
322
274
354
378
340
263
303
256
337
219
349
285
331
344
230
289
344
342
340
338
316
272
329
281
362
266
333
325
278
288
295
242
320
341
378
370
308
285
347
418
384
262
269
384
283
210
369
289
311
365
334
203
179
303
373
276
377
284
342
301
322
347
375
315
378
267
278
392
373
297
348
251
327
332
424
319
341
320
237
261
284
338
379
373
369
331
311
364
320
347
314
251
339
317
309
381
309
233
229
322
324
364
337
293
308
263
325
252
385
319
344
320
212
339
271
295
401
279
370
281
383
373
323
270
395
256
244
316
252
292
204
301
394
320
280
287
328
265
357
283
274
384
307
333
294
305
264
376
348
306
349
438
306
313
310
340
251
379
304
325
333
387
349
290
342
267
369
331
297
335
418
333
312
246
397
334
330
264
351
357
345
290
289
295
334
326
352
322
338
342
274
330
348
315
285
353
395
287
319
290
349
358
258
293
303
350
244
320
308
268
296
266
210
289
236
345
390
286
323
286
277
318
275
351
260
367
377
292
238
321
314
312
343
265
345
312
324
248
309
216
329
301
332
305
362
317
278
294
379
317
290
302
311
282
362
318
391
311
305
341
297
307
209
344
261
280
378
248
284
365
340
349
307
334
332
277
385
310
366
380
264
267
365
332
318
283
277
295
280
294
353
395
307
302
371
374
315
293
268
342
286
334
313
400
342
302
348
334
277
363
334
333
363
294
320
347
286
409
321
278
361
341
311
390
298
278
390
324
426
386
337
319
285
330
250
362
319
306
280
291
264
250
381
294
256
342
238
347
330
342
356
306
266
357
269
315
342
310
352
347
301
287
352
354
315
384
240
337
379
387
256
333
287
382
377
324
295
326
252
373
277
303
375
261
343
324
216
313
226
260
347
356
275
311
304
307
359
310
272
348
332
337
314
317
425
374
307
270
364
322
348
309
336
244
295
277
306
337
287
312
304
384
217
403
327
282
332
321
326
337
297
283
298
364
336
316
375
428
338
292
376
261
297
313
365
320
340
318
255
355
363
352
303
309
355
379
282
284
306
390
387
352
327
351
367
301
318
253
294
297
340
378
274
354
271
377
321
299
338
293
349
330
372
274
282
250
305
328
364
304
254
376
315
421
350
388
315
296
324
269
293
292
343
293
262
357
365
223
407
191
288
379
256
329
294
314
336
363
383
335
301
293
392
243
285
383
302
354
177
303
276
269
302
351
296
367
309
273
356
344
287
309
246
337
217
311
301
278
240
274
391
311
292
213
338
341
386
286
317
288
325
319
311
312
350
314
332
328
309
318
369
270
245
300
304
334
322
311
307
322
302
320
304
348
287
376
281
310
320
254
238
277
285
324
314
300
285
365
412
297
370
346
382
289
337
255
272
333
232
279
249
311
325
356
351
376
358
373
250
347
232
292
273
263
267
373
351
406
360
380
255
263
243
282
292
296
370
269
285
370
329
372
376
240
301
225
342
330
223
325
324
317
285
261
221
300
285
334
329
373
257
389
339
365
359
365
387
416
353
371
338
276
333
309
301
369
266
328
299
340
334
339
352
298
312
325
270
340
244
375
305
285
399
296
256
362
306
299
289
350
249
325
343
281
341
350
301
382
284
361
322
337
349
328
243
305
299
316
340
377
319
213
246
345
281
342
281
267
378
313
338
337
371
270
289
342
298
360
292
334
277
286
258
340
286
335
270
351
347
255
353
377
290
320
316
222
307
403
330
367
286
319
355
402
307
290
330
339
338
345
311
294
422
240
228
312
311
389
281
339
353
373
320
343
328
303
315
373
309
333
249
256
241
317
362
297
358
346
288
288
270
356
321
332
350
338
268
257
318
256
313
314
325
331
366
380
386
340
320
290
231
383
271
287
282
329
302
355
301
359
264
283
299
291
381
301
378
326
326
377
351
263
340
276
273
355
320
411
328
232
301
344
360
329
322
268
337
293
277
262
283
302
331
305
286
293
313
334
347
293
322
284
406
325
274
308
356
330
365
323
290
303
337
419
282
363
253
345
347
294
241
309
266
321
357
307
326
325
361
353
349
361
299
314
357
325
260
344
319
360
356
414
384
237
343
323
317
272
322
354
312
342
342
314
426
242
361
311
339
311
291
314
285
345
361
286
327
333
363
302
316
261
313
280
345
327
378
297
289
328
263
279
266
316
339
351
296
275
298
334
332
309
366
344
419
326
304
378
309
302
322
273
356
317
351
315
307
328
340
257
289
315
318
280
268
371
331
350
343
276
268
306
338
340
300
397
224
311
194
306
358
245
344
332
368
282
269
332
253
361
306
326
345
310
331
304
317
311
293
194
277
404
391
339
289
350
322
250
247
266
329
238
392
208
248
335
377
317
320
291
405
318
341
299
400
353
302
319
326
362
368
304
349
331
309
366
355
262
244
357
376
287
371
373
373
330
420
316
334
374
339
307
402
256
360
235
364
271
286
338
352
277
263
363
404
255
303
408
316
365
265
282
262
332
289
316
353
408
303
323
246
255
245
283
312
391
317
312
242
230
341
289
383
265
349
299
420
289
293
246
306
327
252
313
332
280
338
256
341
324
379
253
335
366
253
332
254
359
278
372
351
325
336
347
322
410
332
355
281
387
253
262
260
225
274
344
332
232
338
267
273
282
225
323
269
307
309
331
335
311
315
387
295
288
322
390
357
348
361
366
321
359
374
313
298
248
288
426
298
322
346
268
309
319
355
337
348
299
337
341
327
328
342
354
234
338
279
315
329
265
328
278
326
312
316
387
242
280
336
332
325
270
269
281
185
322
373
393
354
325
247
224
275
282
316
356
198
424
354
260
251
306
382
338
360
310
339
286
277
320
247
337
375
318
361
383
320
280
306
257
285
365
339
292
241
335
280
402
351
320
251
347
339
333
415
373
316
326
279
319
359
292
320
380
283
355
329
278
302
310
336
382
367
326
347
216
291
339
330
355
339
353
351
341
240
379
313
262
334
422
363
414
281
372
381
433
273
256
341
366
294
279
351
270
365
292
244
299
331
285
354
267
418
305
310
303
289
321
348
374
365
266
261
389
341
325
390
355
329
348
351
306
310
305
227
390
328
201
286
328
288
286
271
331
270
292
255
403
357
341
333
337
261
324
366
328
294
291
317
233
346
339
285
381
419
296
307
398
348
318
286
298
277
299
379
272
223
290
349
362
289
240
308
309
315
315
365
264
267
299
378
362
252
302
336
275
279
264
303
306
311
334
247
330
276
338
280
281
245
385
311
285
266
385
268
253
363
296
268
334
177
328
337
258
288
263
296
347
300
352
398
284
377
362
277
244
374
325
265
292
294
241
300
270
316
292
305
333
310
373
303
295
260
280
367
330
323
327
366
231
291
352
332
313
416
308
343
264
322
279
306
277
372
296
359
298
266
315
295
336
318
278
402
301
298
320
345
309
248
395
336
299
405
361
338
271
274
273
293
327
364
308
331
279
288
322
359
280
370
300
387
304
374
273
279
370
282
326
307
352
289
312
257
391
321
327
368
295
309
335
226
307
392
362
294
293
221
264
256
309
280
318
256
348
295
304
380
297
369
346
343
252
250
294
272
304
343
370
310
311
346
290
305
334
344
387
264
221
318
331
315
334
380
304
253
264
320
320
325
320
335
269
329
336
273
289
342
284
400
329
317
322
306
322
309
340
299
354
299
251
287
344
372
385
315
391
350
266
260
372
345
341
226
289
303
310
306
275
316
336
269
303
286
337
338
347
318
304
369
357
274
309
269
338
387
299
262
368
196
299
293
282
418
287
346
303
240
246
263
332
314
339
295
279
314
337
336
272
299
317
289
243
309
333
389
369
320
334
238
254
394
317
327
364
351
331
259
319
347
292
315
392
292
361
234
279
354
333
296
321
226
308
263
374
327
251
379
316
366
294
283
304
240
330
278
311
314
330
370
236
330
285
216
274
380
352
318
261
312
305
305
250
248
278
284
325
380
281
295
337
293
365
282
306
353
333
266
236
308
341
360
283
410
396
370
274
293
262
279
267
305
239
415
273
270
271
363
331
336
398
292
296
304
386
331
338
387
247
296
276
357
245
321
341
279
330
340
300
296
284
328
337
351
304
274
328
313
393
330
221
326
395
334
302
306
295
359
242
367
249
321
334
321
336
403
345
360
368
416
376
322
322
253
375
295
333
339
351
235
361
297
245
330
281
295
361
293
341
323
352
361
270
349
324
283
312
386
319
432
253
270
327
376
361
291
316
285
306
335
263
364
429
291
369
337
331
400
296
342
301
259
406
364
322
353
345
298
317
304
308
273
329
254
306
304
321
316
353
320
361
308
352
333
411
308
287
351
289
369
309
320
328
349
315
230
302
312
229
262
375
353
248
329
309
296
361
327
232
354
364
265
330
331
319
332
343
351
306
294
302
244
366
350
214
278
284
312
302
347
365
264
314
406
356
384
311
311
332
320
360
314
264
340
255
293
276
329
313
243
308
293
350
321
294
317
324
378
263
387
308
267
343
389
307
306
332
355
319
317
224
388
380
344
388
238
241
292
246
295
385
256
315
342
248
307
320
308
260
314
306
369
382
251
287
269
331
370
317
225
304
294
302
256
282
293
217
377
321
282
346
296
331
311
282
341
355
363
309
254
252
264
312
321
342
328
273
279
332
383
365
312
345
278
368
275
384
308
306
282
262
319
370
300
352
316
288
357
322
278
339
336
311
317
270
353
257
307
305
316
285
250
337
358
260
332
348
294
307
315
276
355
321
367
336
351
297
264
366
263
409
297
275
382
391
344
377
287
285
303
288
377
251
336
316
222
220
306
263
289
361
298
261
249
331
280
321
293
368
372
303
314
331
364
309
306
336
330
322
303
283
303
317
351
321
266
311
285
334
362
332
322
335
278
325
407
306
265
232
279
385
322
295
345
249
307
337
261
349
312
346
340
296
365
324
360
329
231
332
269
341
330
357
263
356
390
318
309
299
337
334
261
353
369
385
342
300
357
394
328
396
240
273
379
402
361
366
344
330
355
269
340
229
301
212
341
354
298
216
207
405
289
337
291
312
245
254
300
300
383
369
304
306
266
253
264
398
365
301
349
350
279
304
407
340
356
345
281
381
240
263
328
235
277
316
352
275
336
399
277
349
325
310
218
326
284
317
382
217
244
264
325
376
234
269
271
325
321
309
242
388
297
285
313
391
304
309
360
241
294
284
417
252
298
354
302
281
298
286
326
336
235
258
324
400
319
341
375
304
306
345
298
288
334
214
431
343
318
367
255
321
370
325
328
344
307
334
340
344
344
308
318
287
333
397
299
286
300
340
355
240
348
264
329
288
350
291
276
334
362
366
284
318
326
203
325
210
300
355
344
261
258
267
304
338
234
311
286
282
279
249
384
284
415
367
279
256
307
287
304
373
345
287
317
287
364
320
324
368
354
334
253
285
331
333
276
292
285
369
263
334
317
342
309
471
251
319
364
357
302
302
297
371
362
236
341
395
226
288
339
230
281
377
374
280
307
221
322
326
343
389
302
340
331
360
352
356
314
340
300
259
339
244
298
329
319
306
268
314
317
312
186
315
397
306
317
230
322
333
397
316
237
358
326
304
364
337
341
339
355
299
336
397
347
311
356
301
293
280
290
307
413
262
410
329
306
298
356
396
306
328
292
332
364
376
325
324
323
313
345
260
391
241
396
312
320
408
376
262
319
361
282
337
337
385
263
363
396
328
291
345
306
260
266
324
388
303
392
356
270
319
338
347
329
216
352
323
235
334
302
319
288
342
391
387
238
302
288
255
252
308
247
285
311
294
292
368
317
332
333
325
332
344
321
253
362
241
330
331
293
261
334
303
346
315
362
324
297
376
418
294
266
411
208
293
283
256
459
346
350
195
308
311
348
297
298
351
290
356
257
427
347
376
313
259
409
296
401
301
372
366
401
311
356
298
320
298
252
247
288
296
285
327
323
290
255
310
302
250
297
366
249
337
391
314
318
300
191
289
325
327
352
271
245
307
354
338
271
319
303
279
336
310
306
298
323
370
279
402
316
332
346
262
347
309
349
353
333
206
337
282
318
307
361
287
378
316
276
258
310
352
336
345
352
355
279
371
326
338
294
262
328
316
209
305
305
354
318
333
315
349
397
286
300
279
396
397
296
275
267
279
334
285
283
318
277
303
308
336
284
272
288
355
293
299
314
280
247
342
338
310
365
261
309
366
171
330
320
345
216
274
365
373
339
348
429
323
360
264
304
374
286
379
242
380
303
383
350
351
296
326
268
303
278
358
333
330
292
332
360
342
338
358
337
362
255
359
359
326
339
304
363
230
353
377
296
369
248
341
290
269
234
231
295
278
321
327
296
306
269
292
276
357
298
353
218
366
348
350
241
368
377
300
349
275
291
305
330
309
308
246
345
292
347
324
232
346
257
368
244
303
372
362
314
351
334
254
302
330
331
387
360
319
337
297
344
292
392
333
184
330
250
316
343
346
319
312
251
381
379
335
214
294
367
295
308
320
290
236
207
358
261
283
349
269
291
376
306
317
339
362
360
382
318
299
315
304
285
368
291
303
240
281
276
306
311
335
374
314
277
329
369
336
307
409
327
264
245
171
361
262
308
385
373
361
377
326
338
273
325
334
307
349
327
370
289
324
277
297
387
335
316
396
400
360
295
337
280
266
244
308
254
346
300
299
313
419
282
267
252
429
379
300
420
334
281
378
314
296
285
353
317
289
287
349
249
315
273
288
216
317
391
327
362
326
373
348
327
389
399
330
348
302
305
379
309
366
218
292
290
338
284
271
315
279
324
297
328
286
331
361
311
319
405
381
312
335
372
326
355
334
316
384
292
340
361
346
387
341
422
364
270
322
288
391
257
303
325
364
337
191
377
263
283
281
308
332
337
225
352
326
322
258
299
348
362
301
290
313
332
309
311
281
321
327
319
347
328
334
359
315
284
318
317
325
345
340
356
273
353
372
353
325
333
323
297
356
358
296
315
345
286
345
300
355
417
308
222
381
309
220
350
356
279
342
327
311
320
268
291
269
294
308
316
323
340
347
292
233
229
403
376
394
309
323
314
339
359
357
328
347
264
335
325
297
283
308
307
356
368
378
354
334
244
385
338
430
332
316
337
281
331
355
299
358
323
435
264
314
370
282
325
344
431
323
316
345
254
294
356
393
398
291
256
343
277
337
343
309
268
341
351
214
268
370
299
283
330
381
279
336
349
366
348
319
262
318
246
368
340
311
334
310
309
378
269
248
284
312
358
285
311
270
300
288
322
348
278
380
255
278
270
314
310
283
271
265
207
379
403
344
309
389
369
287
266
399
267
352
291
325
328
291
280
340
422
300
274
210
340
317
304
222
314
316
250
429
346
301
259
332
277
264
295
325
335
348
340
330
401
342
314
302
337
378
241
430
301
300
291
355
201
336
366
312
288
304
293
329
287
361
301
280
249
364
262
188
344
272
327
256
325
331
377
235
359
383
295
266
293
321
355
386
290
305
302
239
327
350
334
352
350
262
363
226
342
246
299
321
340
244
364
263
253
269
353
337
292
379
380
388
294
341
368
287
303
305
338
333
298
328
247
392
307
327
318
332
333
346
357
335
402
299
322
273
321
333
281
327
262
297
301
288
245
364
351
272
302
294
230
296
286
297
270
301
242
242
310
331
268
343
366
350
285
266
422
280
250
357
291
312
193
262
359
391
394
369
240
262
314
424
393
332
187
324
293
281
333
305
325
281
300
273
381
351
368
309
217
264
332
266
350
359
308
274
334
387
292
345
389
329
287
312
342
308
250
334
365
356
313
262
307
312
298
333
275
355
346
362
320
286
283
332
298
312
397
255
327
194
373
281
356
407
371
328
242
309
349
310
297
263
240
351
378
227
265
313
395
241
443
247
318
302
365
293
313
321
394
343
317
276
350
331
320
327
343
221
259
285
371
322
258
282
330
233
348
282
296
407
391
384
328
355
338
272
272
337
374
300
403
267
350
310
294
406
320
363
317
390
274
294
214
261
335
306
312
306
370
341
228
316
277
305
350
391
329
270
278
290
295
322
266
348
309
295
375
354
352
260
315
309
368
451
268
307
295
309
331
332
385
232
381
297
321
325
277
378
285
323
287
284
377
373
364
331
279
340
331
289
330
284
310
306
313
307
243
344
289
291
308
345
370
266
304
238
358
336
320
320
359
345
261
259
340
372
292
286
275
335
331
249
374
328
360
321
270
239
373
266
276
317
334
301
299
221
380
264
329
329
351
302
329
336
374
293
273
358
245
323
247
373
263
392
324
302
340
276
276
365
276
257
340
327
336
309
286
330
241
386
349
250
316
342
290
288
381
361
387
337
363
386
297
330
361
323
285
388
321
329
277
332
395
313
283
343
244
343
321
315
380
284
361
317
350
240
406
312
319
287
327
308
340
368
344
304
349
346
293
309
224
346
325
240
376
345
314
376
311
343
380
294
399
304
355
293
272
360
264
301
265
315
361
321
306
280
247
285
335
269
350
328
367
343
251
274
299
364
230
286
386
290
261
318
355
247
199
385
312
321
296
295
295
332
274
298
388
245
339
298
270
301
308
321
309
420
362
242
281
336
276
342
348
323
287
284
247
352
282
271
270
289
412
339
410
181
297
354
283
384
376
315
304
339
367
339
340
328
340
351
328
320
329
317
318
259
358
377
319
261
331
381
294
398
278
313
251
426
326
285
320
354
307
301
349
370
335
373
388
268
365
349
300
355
352
287
292
319
302
342
289
140
358
384
336
227
381
322
335
385
331
317
307
182
218
340
313
286
290
270
385
296
276
403
335
237
390
317
277
338
313
306
332
302
311
363
282
371
322
343
315
295
342
349
406
343
384
334
369
389
351
317
278
344
282
371
309
297
301
354
331
323
335
398
318
368
280
365
361
328
286
295
231
304
373
268
308
287
357
328
363
252
338
268
296
298
317
409
291
396
337
274
327
238
257
303
305
349
248
340
353
282
345
236
286
343
319
301
327
321
408
315
354
214
225
283
299
261
358
287
281
322
370
343
323
303
329
304
406
344
335
376
305
289
282
302
379
344
290
260
173
284
365
331
358
333
379
264
403
320
292
341
332
395
396
317
300
327
267
331
312
347
311
359
219
313
315
264
338
315
274
248
340
315
277
379
283
292
349
406
283
338
311
336
286
328
385
294
344
266
302
356
327
318
371
312
375
316
313
313
284
354
317
266
290
259
306
368
313
317
287
387
260
313
330
337
297
365
299
357
319
332
272
297
271
332
369
319
361
368
267
337
355
311
253
310
303
288
344
395
261
343
351
369
276
352
242
375
274
341
385
273
390
349
326
283
299
336
328
302
280
254
318
315
343
307
288
329
311
304
288
358
259
341
322
284
284
248
292
344
363
282
396
263
377
381
379
277
317
333
279
323
272
223
335
373
307
296
282
312
291
281
378
286
374
266
245
262
353
385
326
342
317
269
339
269
292
383
320
254
308
305
372
310
312
309
417
292
192
222
354
307
272
336
332
313
285
328
277
377
284
290
377
337
276
321
228
328
374
253
442
302
304
292
364
288
367
254
266
336
330
270
313
294
299
272
261
307
384
334
318
324
288
370
300
278
322
241
345
396
281
295
302
272
381
290
280
311
308
348
413
270
346
349
319
291
312
398
335
335
340
333
278
354
330
379
264
301
272
318
388
279
304
307
377
340
282
314
372
298
324
274
405
319
327
354
305
337
330
292
306
298
366
291
269
267
336
368
333
393
344
235
258
281
247
298
299
322
398
351
418
224
332
369
343
233
422
389
356
342
401
372
320
326
265
325
306
323
301
331
280
319
289
317
375
303
339
340
312
377
223
338
264
287
280
369
359
258
339
374
296
253
303
295
324
297
390
319
264
313
304
343
261
296
345
371
338
249
327
323
345
371
296
241
364
317
290
290
314
360
366
359
285
300
291
283
383
346
270
263
343
330
323
342
254
265
262
363
364
290
265
227
346
354
281
351
304
430
275
283
367
281
293
341
352
382
357
344
326
382
263
320
312
323
363
333
350
320
358
320
364
238
335
287
348
250
321
273
330
430
324
271
333
355
267
291
385
341
319
352
275
342
369
345
359
356
321
289
368
314
370
378
329
335
252
361
289
295
290
243
311
349
348
265
359
332
348
393
319
376
311
233
362
301
380
304
289
292
302
262
342
273
290
248
262
305
367
355
270
376
353
364
287
336
292
349
221
343
248
363
342
276
354
306
336
298
267
304
326
281
287
376
265
339
345
334
271
344
334
336
370
307
370
219
338
311
295
347
353
271
291
328
319
346
343
216
303
334
350
287
386
334
229
293
336
361
358
242
329
408
353
388
301
317
286
397
322
311
286
393
336
253
304
366
286
389
362
337
304
339
341
277
349
304
279
295
349
276
270
328
311
305
220
327
400
254
395
262
259
342
246
281
317
355
264
283
334
332
345
294
279
320
294
442
290
323
321
357
287
275
311
251
338
333
373
351
379
407
328
416
311
386
352
265
304
271
297
233
358
410
352
291
264
310
265
259
381
375
314
340
347
305
349
293
304
281
290
335
414
340
392
336
235
311
305
311
355
363
299
294
363
384
347
248
263
271
291
298
220
314
336
276
356
318
338
266
314
289
384
352
346
265
308
384
319
308
301
346
296
305
324
331
323
364
181
361
350
363
355
271
336
306
281
353
329
320
206
331
296
290
354
326
322
386
315
310
306
289
298
389
372
353
323
277
327
272
408
361
279
310
381
357
321
360
333
341
356
346
325
298
296
198
276
357
330
349
316
321
368
340
250
301
315
316
297
190
314
288
289
291
300
302
328
310
393
192
356
285
249
309
349
310
286
304
375
266
258
232
309
386
287
298
376
356
255
273
294
328
332
342
304
317
319
327
365
293
292
316
278
394
351
293
316
357
345
330
260
348
279
301
297
345
314
329
270
297
318
351
310
287
329
375
205
242
351
371
358
353
295
388
346
315
317
297
311
402
331
296
353
336
298
382
317
372
321
358
309
289
320
306
369
360
313
320
250
382
355
317
320
370
389
362
415
276
397
277
274
258
330
317
306
333
320
302
285
332
325
311
310
344
310
382
298
334
334
322
289
257
310
299
313
219
283
214
372
274
358
295
271
262
387
321
352
304
345
354
339
276
324
333
376
267
260
271
255
317
331
302
309
305
406
334
338
338
228
367
318
335
350
337
351
329
354
330
371
403
266
306
343
255
425
338
348
297
341
295
307
340
391
270
288
365
298
380
237
303
244
346
338
296
305
359
333
349
226
315
261
303
293
244
320
234
303
296
316
313
366
284
353
341
267
402
367
338
281
281
404
308
280
336
315
329
299
298
294
366
368
299
332
343
315
292
359
326
364
270
319
294
358
305
247
322
373
366
297
212
263
322
303
303
206
325
358
302
354
306
259
260
211
354
352
368
281
306
410
247
359
335
379
349
336
328
328
288
343
297
291
317
243
288
251
290
315
302
254
343
314
423
299
255
260
315
368
338
312
316
347
339
275
384
339
364
391
301
311
387
259
370
299
345
345
339
361
325
343
297
325
308
299
269
328
218
404
306
260
329
275
385
272
246
297
324
376
298
306
348
311
284
375
352
371
304
253
283
255
299
342
296
315
341
388
384
291
317
372
312
282
250
311
316
409
307
267
348
328
289
312
376
274
325
361
248
343
308
312
297
292
396
289
269
329
376
327
292
415
320
271
354
332
319
358
355
322
296
316
307
348
280
307
356
376
326
378
264
310
324
356
277
331
400
235
290
364
351
250
258
350
356
348
277
233
287
284
282
394
373
276
322
324
297
338
331
246
313
311
320
329
343
382
276
305
407
340
304
292
352
342
288
296
359
387
404
309
337
269
346
364
289
303
328
308
297
360
286
293
275
373
374
380
358
232
361
316
269
408
333
312
309
313
377
310
295
329
307
275
390
286
229
363
267
299
305
253
305
338
350
339
365
323
352
353
306
315
351
327
318
296
271
330
367
275
367
255
320
353
245
297
334
351
271
357
364
300
330
352
236
367
277
324
338
340
338
335
272
315
217
329
277
351
308
315
335
331
299
255
253
266
280
346
281
286
374
331
302
361
359
360
291
348
272
288
307
347
276
238
341
245
334
301
285
287
368
340
299
254
380
301
293
309
289
263
370
332
228
287
291
307
361
335
209
310
316
272
202
323
344
327
371
349
308
314
302
372
352
246
307
250
318
362
299
253
272
298
357
373
373
360
332
301
295
345
275
327
335
255
394
265
325
323
330
299
304
369
394
249
302
373
285
232
259
297
326
289
330
386
306
352
336
300
329
263
339
269
342
243
355
310
271
290
314
307
315
319
326
363
349
297
323
322
292
324
347
334
338
390
254
321
266
436
386
342
334
306
255
321
338
269
387
328
303
368
313
273
243
299
330
306
364
313
281
352
347
276
327
320
371
356
315
296
336
261
390
281
348
273
301
344
413
333
313
280
258
310
347
300
255
298
341
346
304
377
294
337
372
337
356
399
358
254
337
337
344
341
289
301
293
330
330
235
304
332
311
281
354
294
310
438
274
321
246
270
222
266
342
304
274
353
260
355
363
291
318
357
300
315
279
294
360
341
255
380
288
324
311
345
350
363
341
362
332
262
321
388
376
220
303
333
313
289
368
284
340
331
305
309
355
292
348
337
306
332
257
237
296
269
373
382
313
285
354
344
305
327
319
308
315
259
300
293
325
265
349
352
390
314
295
375
319
379
351
268
320
309
314
277
229
269
416
286
325
299
382
362
254
413
253
353
257
261
288
306
239
259
312
394
362
284
237
338
350
322
255
195
373
271
255
343
271
368
231
381
395
335
288
332
350
317
300
358
329
292
298
298
362
271
274
267
353
287
320
254
304
308
300
292
345
302
299
332
282
372
311
382
263
257
341
351
284
275
319
337
305
304
244
354
374
344
298
265
405
317
393
405
299
298
343
307
324
413
373
362
258
205
315
373
329
254
298
301
343
276
263
347
258
251
336
367
293
381
302
298
332
378
277
282
313
325
263
389
252
287
292
265
381
351
246
305
279
199
367
242
250
344
368
426
295
307
339
296
297
304
252
414
319
295
302
372
309
349
387
364
359
335
326
306
389
218
267
189
358
198
287
295
355
336
366
322
228
371
353
209
346
277
250
346
278
324
384
265
305
207
311
306
357
295
314
408
359
317
284
339
290
327
144
315
411
288
389
258
327
393
283
320
375
246
315
288
330
253
316
343
378
282
286
293
333
383
345
381
384
350
360
220
349
301
316
355
291
248
376
276
353
356
297
302
326
339
359
329
218
364
344
313
281
409
311
297
290
320
281
254
341
355
359
219
384
323
377
258
173
367
328
296
294
366
364
337
371
258
295
359
374
331
351
292
270
335
308
374
213
221
247
285
280
336
266
330
323
276
377
275
292
296
285
304
347
302
313
356
385
343
399
279
376
306
324
351
358
299
293
308
321
324
263
307
232
305
368
309
253
361
404
335
297
239
282
268
365
387
375
262
292
372
340
316
277
292
296
275
351
316
363
351
324
342
270
338
294
234
349
345
323
391
260
357
300
316
355
252
331
253
344
319
335
295
324
357
276
268
359
301
298
176
257
349
338
334
344
276
349
262
263
296
319
342
268
246
285
309
276
344
399
321
332
410
339
347
323
347
272
336
406
356
367
329
357
318
332
299
323
270
343
266
395
324
276
254
315
332
342
325
401
328
334
313
342
345
297
278
412
266
283
312
344
335
358
287
333
396
306
381
306
310
338
294
327
310
398
333
386
228
286
371
285
328
365
229
338
368
257
317
297
319
374
286
323
330
328
281
313
358
331
316
326
265
266
346
312
381
218
388
282
385
346
319
308
298
258
408
319
277
308
368
269
293
334
276
348
259
296
332
327
272
365
317
260
380
314
324
302
312
284
322
393
277
248
264
348
320
286
208
364
360
240
286
347
283
353
334
290
354
346
346
279
284
311
377
267
336
287
249
289
355
325
293
254
272
290
238
297
271
319
350
309
356
340
333
284
396
312
376
239
237
306
261
352
394
305
365
336
344
365
301
374
268
356
313
260
397
421
335
398
328
233
277
294
283
394
354
271
346
272
260
302
346
221
270
292
308
339
279
340
273
337
306
304
236
304
326
314
355
285
396
331
323
296
313
370
301
277
418
349
272
318
286
338
326
216
350
271
292
277
332
347
367
327
356
314
256
309
359
363
336
355
340
323
267
374
285
341
269
380
315
364
340
244
242
333
298
359
310
275
316
367
356
286
330
300
388
349
293
312
323
316
380
300
323
277
280
308
315
337
301
317
337
317
311
278
355
333
354
332
331
299
299
292
310
274
324
370
277
291
337
325
282
286
324
270
336
307
287
348
250
373
289
327
349
374
309
279
324
307
270
334
245
304
304
373
285
321
273
286
332
332
300
316
441
365
246
309
333
311
330
299
262
305
326
292
327
352
292
317
339
316
319
289
290
347
345
332
343
312
346
334
328
302
362
363
330
284
376
351
298
284
387
287
331
353
320
378
430
259
318
291
303
309
346
299
295
365
345
308
292
279
316
315
291
384
283
331
328
380
349
310
312
321
367
274
272
359
332
283
261
331
347
299
381
332
266
289
330
395
291
323
335
273
300
185
309
278
262
347
363
339
315
355
258
285
282
318
315
358
365
319
244
322
252
285
323
342
349
277
351
349
335
268
329
253
358
281
295
304
310
255
277
376
372
316
351
261
222
342
279
230
334
379
263
304
247
302
256
247
362
339
298
376
362
367
284
379
332
269
284
311
298
259
343
277
191
267
342
241
369
317
342
253
312
349
363
350
292
314
271
371
290
287
274
322
439
332
316
343
291
327
252
353
343
376
340
318
256
294
364
317
324
296
357
317
235
202
272
333
270
291
295
308
364
429
305
344
311
319
325
330
294
327
251
325
295
377
365
360
381
333
360
329
301
323
381
325
307
282
336
295
235
328
288
347
364
314
289
367
384
363
300
278
365
310
358
214
331
299
375
322
322
353
340
325
292
270
353
410
261
230
344
259
329
244
384
327
291
331
281
294
264
281
301
325
355
343
320
292
289
304
190
312
323
300
257
330
304
365
327
350
336
293
322
291
285
370
382
278
329
263
268
287
282
313
288
296
195
384
305
324
382
236
287
344
242
329
343
354
376
308
373
322
375
441
412
374
295
345
382
321
289
353
364
225
316
313
288
341
391
273
290
311
280
289
357
333
320
356
371
317
328
335
222
333
276
277
301
336
293
348
362
297
265
209
380
287
322
298
358
326
281
324
351
372
339
311
333
318
261
323
292
355
263
358
379
345
342
318
355
365
276
310
358
357
294
301
272
402
344
286
362
252
384
236
232
296
341
326
359
300
357
263
317
361
296
305
368
291
278
320
383
368
350
348
351
280
312
369
378
357
369
289
293
320
308
276
309
323
309
288
306
361
277
327
348
326
321
352
312
284
332
263
345
334
334
340
294
324
284
362
348
349
298
327
287
324
263
316
293
325
236
347
311
360
367
379
336
358
405
297
384
310
315
260
367
298
345
344
272
423
271
324
324
267
311
336
332
321
253
300
307
261
259
284
372
367
373
374
294
365
304
274
340
374
342
296
272
306
305
342
400
269
197
330
323
331
297
348
370
422
308
346
211
303
354
328
354
214
329
354
301
278
379
362
301
334
313
377
276
300
358
334
363
310
333
258
355
247
372
308
351
409
244
294
266
322
273
322
352
274
316
284
315
330
314
345
221
227
295
275
339
329
323
383
294
258
293
305
328
422
328
312
269
297
348
340
320
328
306
354
348
399
362
330
361
196
331
357
233
303
323
288
353
298
289
345
300
288
309
362
315
263
280
347
340
273
236
232
241
269
287
410
362
311
295
320
336
297
309
368
268
318
278
263
374
306
425
358
386
268
263
417
327
417
324
312
288
321
320
354
252
375
323
384
366
223
315
270
344
321
291
406
353
307
262
304
344
312
348
249
289
312
330
354
264
383
301
322
264
286
316
331
283
321
297
341
331
270
364
273
384
367
358
343
297
286
319
331
367
225
348
220
358
282
322
349
353
362
315
350
326
354
293
392
274
286
277
299
366
299
335
392
299
307
340
275
347
321
311
316
300
300
241
357
256
318
328
375
353
311
381
296
254
322
316
283
341
293
210
327
319
262
329
302
292
306
223
373
337
343
400
371
278
265
241
345
362
356
274
343
264
311
242
241
291
345
323
309
379
373
277
307
386
299
284
347
334
280
310
242
300
248
242
295
375
306
344
325
347
293
379
351
244
273
372
312
349
394
193
269
285
302
336
329
314
319
312
304
321
276
336
362
325
304
327
334
338
315
282
374
282
311
322
323
314
327
273
266
314
364
297
291
275
389
382
376
329
315
403
386
362
300
332
306
286
370
259
379
296
294
312
352
248
366
339
298
276
267
324
369
363
327
345
372
324
324
331
277
309
304
284
340
321
314
347
380
295
369
281
264
305
362
352
370
306
330
330
392
306
249
313
305
324
301
299
250
336
320
294
256
364
343
401
314
326
360
262
222
320
350
323
311
348
245
360
410
260
297
288
359
321
272
401
378
257
336
302
340
340
375
424
306
391
307
253
258
345
306
390
334
306
294
305
362
330
422
345
316
313
326
361
426
361
343
389
361
291
285
241
312
385
297
343
348
185
383
288
301
263
361
386
333
333
245
283
404
309
329
351
327
241
367
355
310
342
352
353
264
311
322
289
298
304
321
220
287
255
232
368
331
312
309
293
382
338
284
282
285
287
259
300
332
355
345
369
276
345
324
319
359
213
318
289
306
349
305
334
358
335
409
303
269
288
304
348
371
350
348
293
356
343
330
372
282
360
320
327
213
316
372
225
358
238
346
337
286
318
286
260
296
352
262
281
274
300
291
294
293
298
286
294
323
402
297
298
316
345
369
393
307
283
312
355
318
381
349
265
326
405
312
250
377
337
358
230
414
228
273
342
365
337
322
406
278
338
214
313
374
278
305
265
323
278
286
317
294
333
322
285
300
349
285
225
380
288
246
326
284
299
347
350
275
324
355
259
257
395
410
298
340
385
279
229
375
310
348
343
313
285
352
340
233
333
374
399
372
309
332
293
325
336
344
331
329
324
317
317
327
333
313
364
273
323
359
330
266
279
318
331
295
296
344
345
265
386
340
313
310
303
309
280
327
326
354
318
264
275
334
329
243
302
271
406
318
359
399
341
412
262
316
247
348
216
281
234
365
355
245
348
281
374
286
362
336
320
339
317
283
390
283
320
225
269
401
351
291
367
232
350
392
300
318
271
351
291
291
282
302
345
370
289
274
332
282
294
363
343
255
324
286
308
311
363
309
375
348
346
332
342
346
316
281
308
294
359
378
321
306
276
252
324
421
333
289
291
238
386
347
333
362
326
256
308
262
367
366
336
282
307
203
359
311
278
326
357
363
346
315
323
316
305
422
339
330
304
293
306
341
387
346
327
324
308
314
279
290
298
281
276
285
312
320
375
315
250
316
304
268
345
310
403
345
285
374
209
247
301
280
256
374
285
326
282
316
299
315
291
359
413
307
375
358
273
290
342
311
296
317
295
394
259
268
272
338
393
392
282
302
298
415
347
348
385
310
297
367
347
370
374
345
369
317
336
333
324
318
378
313
280
327
323
329
331
290
316
230
258
349
330
329
315
305
228
282
314
312
283
312
304
337
298
332
264
264
333
262
343
330
268
339
300
264
289
303
304
341
242
336
352
328
271
298
315
385
309
393
385
365
316
342
285
305
317
235
264
300
341
294
406
376
360
346
333
319
230
304
418
302
246
357
284
325
332
338
232
373
318
366
386
275
352
324
400
382
343
285
302
355
269
235
287
247
282
352
300
355
243
339
336
323
297
301
307
328
274
298
384
330
304
381
339
360
284
344
356
366
269
370
243
289
371
330
285
375
331
357
295
344
299
340
354
329
373
322
353
234
170
362
268
358
312
296
310
310
359
224
320
359
275
320
305
385
196
240
235
286
411
330
334
257
329
327
297
245
311
254
202
278
294
367
358
339
346
342
353
280
302
276
263
281
352
417
261
392
373
257
380
292
212
313
242
304
292
304
307
306
304
227
282
333
296
289
364
368
353
330
269
323
307
257
408
268
329
370
286
354
300
323
294
328
356
268
272
335
324
274
310
278
328
332
430
340
306
280
371
260
269
355
329
389
296
371
377
321
249
375
253
340
323
403
341
346
264
343
276
329
308
305
305
277
255
345
314
296
331
344
320
341
325
398
312
305
354
341
362
320
372
293
326
407
272
267
344
325
336
354
330
233
327
257
286
364
330
333
308
317
287
320
302
242
295
357
256
264
324
333
281
290
334
375
365
278
282
344
309
298
305
291
247
252
320
287
318
361
306
336
308
262
226
322
367
363
303
364
314
342
356
284
321
362
371
343
355
256
387
253
375
323
332
323
262
322
354
372
369
366
393
337
289
374
320
291
365
401
317
299
315
317
322
237
279
351
267
284
273
277
246
269
325
390
342
325
389
223
335
268
274
321
328
357
270
361
349
348
382
355
355
330
364
255
377
293
283
322
318
294
307
251
285
308
371
264
369
304
323
330
340
414
341
309
305
272
386
283
327
287
370
256
329
254
285
352
325
324
236
352
310
313
356
288
328
311
232
287
301
360
285
267
326
359
310
372
297
376
326
315
392
349
260
308
293
171
292
304
392
372
338
334
286
375
376
331
293
309
355
219
289
249
327
362
240
314
313
389
322
292
212
344
349
264
292
302
367
350
371
327
321
257
293
329
323
347
303
257
335
320
323
328
296
327
345
234
336
348
310
279
245
310
347
214
236
319
373
235
326
360
216
365
358
337
279
301
252
272
306
254
324
351
230
389
273
326
328
388
260
314
308
346
351
323
256
364
259
315
286
331
327
402
302
383
347
353
296
314
297
274
302
320
364
347
279
335
296
306
337
356
273
227
309
309
331
323
321
259
352
274
344
272
296
298
378
322
338
301
341
324
339
318
341
333
374
282
331
342
310
370
306
328
320
290
298
266
261
305
229
267
366
305
319
250
258
330
223
290
337
408
276
296
284
256
262
340
327
306
360
256
350
339
347
367
316
405
368
301
372
358
367
398
262
274
341
274
377
350
328
345
304
318
278
306
296
276
295
310
285
351
286
337
244
313
329
319
322
281
332
380
300
297
329
270
338
273
257
294
274
262
349
293
288
312
351
393
341
319
236
286
365
370
327
325
318
282
338
272
301
310
310
314
289
204
275
284
385
337
282
335
295
394
359
364
210
335
312
264
309
358
378
368
375
305
316
305
359
340
366
356
326
256
341
337
320
354
326
357
338
301
311
374
262
289
296
339
294
315
327
342
282
345
328
276
284
288
284
258
244
339
283
206
320
221
399
333
344
348
240
356
305
317
319
208
348
364
342
217
363
312
258
319
289
339
303
310
284
330
281
360
332
336
343
308
298
285
329
370
339
297
254
257
266
280
364
316
275
327
285
329
299
361
291
229
285
302
312
330
345
312
293
368
204
323
306
326
321
239
267
278
375
297
358
328
345
309
307
320
346
247
352
316
256
350
300
317
260
300
283
338
353
321
326
250
443
303
273
341
325
287
364
251
295
279
303
321
284
317
388
370
327
261
389
344
405
338
310
316
381
320
308
341
342
389
354
356
366
359
354
314
268
408
290
337
299
361
313
346
394
355
353
369
262
277
283
260
358
333
289
351
332
235
347
355
341
284
389
407
413
247
233
190
328
321
324
282
325
303
284
290
346
252
356
304
357
289
313
314
362
372
264
298
286
332
346
342
292
288
262
263
289
291
283
288
352
371
268
314
294
282
362
327
365
344
306
336
381
223
345
332
324
321
363
297
368
367
344
366
309
323
352
231
210
390
308
329
338
276
352
292
315
381
323
290
294
299
367
289
275
351
267
409
301
242
356
353
339
388
385
329
315
298
282
399
348
335
349
293
327
318
295
312
254
357
355
365
271
305
360
294
352
278
327
270
319
335
256
323
261
294
348
289
316
412
276
264
360
358
315
395
368
431
322
257
277
307
254
361
264
327
275
329
254
351
208
341
294
227
237
292
266
224
347
324
405
356
350
325
340
259
356
315
339
270
406
325
367
357
377
355
345
300
274
417
424
293
317
376
275
341
388
344
321
368
355
325
307
339
312
309
392
255
360
342
319
369
405
306
345
308
384
317
280
296
328
365
295
375
453
258
252
349
369
206
277
298
270
386
272
304
315
375
406
349
241
339
350
314
309
322
273
307
406
390
316
264
359
303
262
345
300
319
355
382
256
274
269
402
360
365
371
270
365
276
293
293
312
314
307
322
297
276
348
297
308
317
294
283
284
316
354
288
280
284
315
311
226
369
450
323
415
310
323
343
327
345
273
322
348
307
298
308
326
375
327
370
313
311
273
373
353
318
337
360
364
327
263
301
313
355
344
323
327
315
245
301
345
298
229
318
320
324
252
352
328
365
313
289
328
377
291
316
238
295
292
295
268
321
313
358
367
310
324
386
350
353
307
329
304
311
356
311
337
340
303
307
409
274
324
335
350
301
371
359
363
285
275
352
376
367
305
295
366
312
328
266
432
265
225
294
230
266
361
248
243
334
203
339
371
204
320
338
362
268
267
359
274
335
356
219
356
280
357
309
287
353
349
353
345
265
349
329
330
347
280
298
312
266
361
347
270
366
347
332
302
292
269
221
247
285
373
375
289
255
273
318
326
354
281
282
216
362
354
280
284
361
269
340
304
301
311
337
261
325
300
221
311
343
331
264
270
291
363
388
287
383
352
305
290
270
356
293
378
229
223
327
268
381
293
284
353
373
308
241
383
236
315
309
314
250
262
333
292
337
258
276
340
302
328
302
303
334
311
301
268
204
362
363
406
286
252
248
358
291
304
287
274
265
321
277
305
358
372
283
239
326
305
308
380
232
370
337
260
361
355
338
340
330
301
358
237
334
297
378
267
347
343
338
278
343
355
360
304
350
320
393
289
302
293
323
290
328
299
342
218
236
380
248
258
203
256
345
348
266
384
310
319
276
326
391
314
336
331
263
356
292
318
310
379
418
252
271
440
291
308
349
293
334
311
299
318
309
337
397
315
313
318
311
277
408
364
268
306
285
347
286
357
269
339
325
370
291
297
339
363
298
346
310
394
230
334
307
352
237
347
247
220
331
232
305
284
292
278
234
290
345
347
317
255
292
245
249
368
350
225
297
343
369
377
270
305
355
321
347
282
326
325
283
267
350
305
306
343
378
220
266
306
309
341
347
389
311
348
415
295
325
331
255
276
219
295
282
296
324
273
327
345
358
254
346
416
314
385
333
315
317
272
296
274
290
320
291
275
350
377
318
407
330
302
429
308
365
327
314
330
302
319
301
245
318
279
382
316
350
393
235
297
347
291
327
280
329
342
272
260
318
331
348
316
341
372
399
311
328
347
363
281
261
360
305
384
382
215
324
373
334
371
369
300
226
289
266
321
283
340
235
332
289
230
367
257
329
279
327
304
339
324
278
300
259
332
371
283
326
318
329
364
309
298
304
286
325
328
303
315
296
341
349
340
334
320
297
224
328
210
309
289
315
358
302
242
406
318
301
353
359
359
245
224
328
271
341
318
335
264
262
323
369
355
353
334
365
303
267
261
377
305
322
290
290
346
261
357
273
229
270
333
337
389
296
331
313
286
308
271
406
284
316
291
254
250
342
293
341
292
286
282
268
261
325
283
342
339
274
364
312
244
282
327
320
345
312
374
234
286
395
242
254
324
294
335
305
285
288
337
300
361
418
308
318
320
355
326
351
345
328
372
296
301
367
338
364
292
302
367
296
350
362
384
292
367
293
311
303
316
378
262
384
286
321
248
274
325
338
336
294
331
269
343
316
359
310
277
390
351
309
304
352
310
376
357
386
303
326
218
361
275
390
334
209
348
363
404
333
313
349
322
329
324
303
339
215
240
313
350
311
277
345
252
354
303
263
277
316
340
341
379
364
293
247
364
280
333
397
313
257
319
325
285
369
307
353
342
273
309
369
292
333
233
322
312
301
332
436
347
282
315
343
425
366
365
310
265
349
267
341
393
335
281
240
279
221
320
368
274
331
283
334
377
257
400
339
308
323
351
378
351
254
321
366
228
354
218
364
294
365
239
276
327
303
294
272
306
308
348
315
325
352
368
345
365
359
369
290
332
235
375
344
383
277
352
301
343
289
318
312
338
345
298
352
352
436
306
365
363
265
411
384
207
252
371
307
395
271
254
364
249
347
301
277
326
297
326
338
267
388
323
296
314
327
319
311
355
256
340
239
353
300
370
349
247
312
353
336
338
224
358
309
301
282
269
369
310
324
319
328
386
329
402
290
261
330
319
326
264
361
359
266
248
338
360
235
307
261
402
382
349
238
266
288
328
288
308
303
331
310
361
340
347
425
337
254
344
409
352
322
283
311
310
271
350
380
414
260
181
319
337
367
315
318
237
335
359
288
347
338
315
340
384
232
312
319
385
368
385
279
364
278
287
354
316
360
277
250
321
374
329
293
255
289
377
379
384
301
296
308
393
299
318
294
331
300
375
405
372
327
287
384
302
347
398
299
294
331
248
265
342
323
364
341
312
296
358
325
326
378
313
295
276
373
363
261
410
376
320
344
232
273
344
289
322
299
367
382
276
344
372
361
233
368
340
295
284
300
328
341
323
385
314
357
360
255
271
403
210
327
260
327
295
326
326
276
304
289
343
299
356
278
314
318
345
216
274
341
223
312
333
307
318
345
344
300
293
285
324
267
341
306
361
320
289
339
289
332
371
407
316
378
351
317
341
403
331
306
286
359
264
345
375
296
329
237
323
315
361
344
309
379
287
416
364
297
320
395
255
306
270
262
311
345
254
298
291
347
332
330
293
344
300
374
260
341
297
290
351
359
278
330
344
368
255
258
291
391
319
282
318
304
350
278
339
239
322
312
281
370
395
308
292
319
279
330
301
376
356
403
405
320
356
293
337
218
290
370
268
226
318
261
260
343
325
337
291
296
299
320
322
260
262
302
400
310
306
311
354
345
295
314
347
317
291
273
344
388
315
234
319
343
314
299
340
347
256
279
324
356
349
299
372
338
379
298
236
299
328
295
411
277
267
306
317
275
343
388
319
303
306
312
235
276
303
274
344
348
341
332
316
363
274
280
297
321
261
323
349
277
307
320
338
311
324
304
373
327
406
258
309
280
349
272
274
381
406
265
273
330
364
261
363
386
295
319
283
318
347
277
312
298
328
213
383
220
334
356
325
326
393
363
331
280
374
323
264
357
350
349
247
361
275
299
327
320
366
332
259
248
338
247
397
289
315
266
364
343
340
371
319
322
436
356
277
398
268
273
431
295
328
324
318
268
291
309
283
260
400
360
316
288
244
328
346
299
272
218
293
327
247
345
307
297
318
329
304
314
272
335
356
362
356
314
324
264
262
354
211
381
361
316
290
317
289
377
310
231
254
331
291
335
298
292
349
319
323
228
330
393
379
365
385
334
307
324
278
344
303
297
352
391
371
364
370
309
340
349
294
339
312
371
350
428
281
368
233
277
342
318
274
309
433
377
314
335
244
328
314
363
260
346
318
330
216
239
338
306
403
255
374
386
292
334
361
306
342
308
334
300
364
361
370
275
277
332
321
345
275
320
315
330
284
303
331
297
383
228
307
307
250
256
371
303
296
363
299
398
304
334
408
332
324
307
323
272
358
337
321
294
257
211
364
374
301
356
328
354
313
396
303
339
335
405
309
259
284
335
288
364
358
329
345
296
358
287
296
288
327
309
334
231
333
322
341
308
387
348
371
359
366
317
255
285
289
319
312
295
322
270
360
336
341
288
252
339
358
352
290
290
397
353
317
355
349
348
340
326
327
255
263
339
371
310
325
334
289
255
353
305
306
327
317
294
310
382
284
290
342
247
266
294
323
278
318
259
333
371
266
307
270
309
310
337
304
251
301
228
323
327
329
273
269
333
286
316
298
277
252
292
324
330
346
312
284
279
329
286
281
334
324
291
332
296
295
301
302
369
372
293
246
316
328
263
363
328
312
322
371
243
310
401
284
274
349
265
262
324
337
261
365
308
300
339
344
338
263
317
272
354
274
429
331
347
378
337
369
285
311
352
321
269
402
357
326
386
346
400
224
268
294
322
312
344
309
277
342
381
378
273
299
313
413
354
290
283
298
358
271
363
377
353
262
266
360
317
214
342
360
324
250
311
308
309
240
327
234
327
338
226
368
291
353
379
308
273
218
302
368
277
262
411
321
351
309
341
349
347
287
386
338
345
258
342
372
374
336
322
312
294
321
349
271
310
347
354
351
307
394
280
259
315
198
332
375
391
334
301
330
352
306
363
236
328
317
393
308
302
342
247
341
311
366
351
321
374
326
262
315
345
321
324
316
336
203
345
331
220
281
233
324
304
294
281
333
309
361
366
285
332
274
302
335
307
293
277
266
253
373
338
309
418
289
315
332
260
301
320
277
260
312
320
313
350
357
342
360
323
359
327
367
338
304
359
330
260
302
325
309
272
339
246
308
317
320
306
317
313
255
224
339
305
348
294
323
391
322
308
417
308
296
336
404
291
312
249
400
377
295
317
255
310
262
302
361
323
300
288
309
300
338
372
283
348
256
280
345
324
301
341
336
309
319
303
298
281
347
345
382
407
306
320
300
357
351
304
398
375
292
371
276
277
337
296
333
277
250
302
301
271
279
299
393
358
305
304
380
311
365
339
275
314
355
331
297
398
326
314
291
353
365
358
229
378
217
305
350
256
404
324
276
318
333
315
344
276
286
314
241
351
281
348
302
298
286
428
372
265
289
319
246
290
275
301
320
392
308
299
232
285
368
318
323
316
318
223
312
372
359
315
314
298
283
303
282
285
245
331
384
294
239
325
364
322
367
356
255
262
263
356
308
341
298
361
299
306
353
316
316
351
349
342
307
350
334
327
287
327
367
220
358
286
285
226
218
329
313
313
253
340
412
339
313
358
258
277
316
310
359
321
273
229
272
277
271
389
239
266
249
303
357
281
325
323
268
326
362
294
313
352
334
274
290
345
330
308
378
273
365
334
379
360
267
310
255
300
334
277
270
334
300
310
417
338
363
329
305
293
389
367
298
319
323
340
325
316
355
379
329
322
357
267
309
365
362
376
332
298
376
290
361
285
244
404
358
307
275
250
301
353
313
330
268
348
278
322
323
265
292
353
351
282
357
351
373
283
302
381
361
304
363
204
231
327
285
343
320
308
338
352
323
309
364
341
375
326
312
426
279
323
311
348
284
370
349
270
302
318
316
383
359
351
311
332
346
385
308
297
301
351
241
362
288
257
332
283
253
339
336
330
222
305
365
238
356
312
292
345
311
353
297
363
330
305
391
308
352
384
256
188
371
357
348
268
323
304
273
307
311
396
225
302
332
325
196
259
343
267
322
270
282
244
278
316
336
329
294
369
356
252
320
343
380
304
367
264
271
363
238
336
323
273
256
309
319
288
297
350
283
347
280
290
298
377
416
268
163
309
256
274
406
367
280
413
362
363
294
236
243
342
342
314
335
350
457
306
248
212
306
270
248
261
298
303
353
313
286
327
310
364
373
315
311
321
276
340
307
309
360
307
319
354
301
311
380
323
298
244
313
327
356
231
306
339
300
276
275
308
225
307
326
315
309
391
345
255
308
359
263
221
289
311
370
271
266
299
337
207
335
302
385
312
302
394
355
266
337
258
316
371
370
329
380
316
207
344
301
253
313
248
322
274
311
331
319
322
291
294
319
348
353
278
337
335
319
302
335
308
304
296
274
417
351
275
353
217
359
305
358
299
308
375
330
244
350
363
372
320
284
235
214
309
258
335
414
337
287
350
341
334
338
280
303
339
293
331
282
278
239
286
324
322
249
359
327
369
299
301
324
374
320
252
281
232
307
446
228
376
272
324
354
307
366
259
353
400
311
365
249
290
241
336
280
346
325
326
326
249
302
327
355
263
358
240
300
319
229
333
357
255
345
304
214
303
338
370
336
372
313
311
248
310
286
439
309
311
320
308
283
301
273
297
227
370
281
197
246
330
325
390
347
348
284
283
341
328
276
352
323
275
214
290
328
301
335
393
299
347
382
303
309
243
389
345
259
333
299
312
311
306
354
307
265
352
309
333
279
275
337
246
429
326
307
321
413
292
283
322
336
259
308
293
310
344
306
339
269
290
351
337
333
324
302
244
269
235
314
296
296
377
322
347
343
354
282
267
278
333
290
397
243
389
330
342
390
295
272
293
293
352
257
289
342
318
401
306
289
269
406
378
286
354
293
331
326
360
346
400
340
329
366
334
331
273
299
317
337
335
335
270
278
390
328
384
326
317
317
398
270
229
274
300
386
327
257
354
385
259
286
276
257
310
232
308
362
287
280
316
330
324
267
374
322
343
286
315
395
282
384
330
231
348
345
298
352
282
371
312
309
264
354
299
312
296
283
392
267
324
312
251
325
283
352
288
288
336
329
323
243
319
326
275
312
432
325
315
327
267
278
273
342
363
278
219
376
259
237
333
368
315
310
247
364
339
261
301
373
335
362
276
369
272
339
257
296
298
267
281
325
426
316
228
339
334
355
323
394
346
302
316
334
283
352
334
308
379
346
292
320
271
320
316
301
337
410
281
326
318
272
327
322
278
333
296
343
382
334
346
321
343
283
344
412
379
354
297
361
288
321
331
223
344
356
327
323
295
334
301
371
244
351
311
260
355
292
344
332
305
386
369
288
304
323
276
345
337
337
251
323
277
360
251
399
297
291
355
347
324
365
309
292
353
324
348
301
371
297
315
261
248
277
339
328
352
277
331
201
384
359
254
280
309
298
295
234
304
347
249
406
294
305
353
388
285
370
335
288
298
373
390
214
356
361
228
364
251
444
294
289
311
286
376
283
353
363
290
333
294
370
287
395
259
344
308
315
300
328
321
307
325
398
248
331
296
266
409
371
318
305
233
296
379
284
344
306
344
360
346
313
253
322
408
338
311
272
346
312
206
358
325
335
265
313
341
270
337
337
350
302
237
383
283
332
375
275
312
412
300
331
305
301
273
369
291
317
316
354
395
365
370
312
302
332
370
346
167
356
316
341
297
331
319
292
298
341
293
281
383
411
315
265
338
207
416
329
329
282
350
415
301
279
319
234
316
308
182
378
377
379
373
216
344
240
374
204
377
312
320
254
309
324
244
377
337
341
288
307
290
289
339
294
352
375
256
250
317
266
370
349
368
319
328
286
307
303
398
278
331
265
370
268
359
278
357
353
290
291
365
313
320
306
302
225
382
223
298
230
316
383
279
360
273
343
359
349
363
282
326
339
344
269
292
302
318
254
319
390
309
375
334
337
267
239
339
312
273
375
275
273
268
300
350
353
342
286
359
280
329
379
313
270
328
189
316
297
329
308
341
334
287
343
306
322
297
393
339
313
252
347
410
293
349
319
261
307
337
352
343
303
289
276
288
345
311
382
366
347
304
364
281
339
306
348
361
351
275
433
313
324
252
334
347
202
313
278
386
303
299
371
325
336
299
284
262
383
354
309
299
297
263
308
279
338
331
250
386
325
351
216
316
398
303
377
316
366
339
352
276
285
296
312
285
207
295
339
313
265
335
329
349
333
241
272
275
355
233
297
292
375
313
349
344
387
256
219
373
394
358
291
316
273
369
284
300
356
309
276
319
289
356
293
368
350
310
334
283
322
363
263
323
304
403
331
279
294
340
343
312
252
332
339
320
380
380
342
369
278
322
319
402
331
302
317
245
335
298
303
394
320
350
300
407
243
239
353
338
360
232
238
345
346
262
332
330
293
310
381
327
302
382
292
308
306
288
393
248
318
303
314
306
305
342
349
422
323
311
310
362
285
263
322
337
260
287
332
290
271
387
311
377
318
270
304
323
260
340
323
294
342
320
269
358
326
384
302
369
276
358
291
321
376
406
353
365
243
239
351
335
223
312
299
346
367
311
425
292
248
234
379
339
343
347
309
312
213
314
311
376
380
270
334
339
316
345
400
395
353
363
245
339
385
290
323
205
311
305
296
314
286
261
353
251
277
309
358
278
258
315
250
353
284
306
284
258
264
284
335
393
371
314
279
273
361
309
281
305
312
361
354
339
261
268
334
327
287
331
295
313
284
277
315
282
309
365
350
338
301
376
306
406
353
333
245
287
311
275
336
342
318
318
264
388
285
403
329
250
300
368
326
309
282
304
416
314
326
245
384
347
271
305
350
300
253
265
365
327
253
234
306
314
311
291
364
368
301
326
385
260
294
386
372
330
312
352
283
266
325
310
358
395
362
307
350
325
295
297
321
334
332
284
311
298
297
333
290
346
304
311
328
402
359
243
399
374
309
349
378
309
327
358
370
322
321
297
293
362
336
250
354
346
384
315
412
311
363
257
388
298
313
345
293
248
223
327
327
270
284
318
299
330
280
356
400
364
317
239
359
260
274
366
302
356
314
342
365
371
342
310
346
375
256
320
294
372
341
288
420
355
303
255
325
306
334
323
356
353
294
365
355
346
336
294
339
331
327
402
304
318
325
308
365
381
320
283
367
350
261
338
261
330
366
253
303
306
339
242
266
369
397
315
374
314
342
298
292
297
259
304
350
357
345
313
304
343
310
295
253
215
344
259
362
358
283
268
295
236
261
357
289
340
352
335
242
277
320
292
369
248
346
362
324
272
347
312
330
283
319
241
394
332
332
278
266
344
198
395
361
296
326
321
329
289
332
367
399
317
302
398
202
338
367
354
278
330
242
274
342
312
276
368
363
310
363
375
311
358
259
325
363
362
338
327
288
327
287
342
375
391
319
200
319
336
288
307
343
347
306
281
380
385
288
317
333
364
359
252
322
353
297
287
339
326
322
303
306
346
331
371
298
373
273
279
317
311
387
319
303
345
321
297
280
341
300
290
315
322
344
287
328
365
362
320
389
294
342
357
311
386
291
295
281
328
311
324
267
360
325
248
325
343
293
380
308
359
276
244
266
348
338
262
239
290
289
348
279
351
298
365
314
295
335
326
351
301
268
309
280
274
313
328
252
310
288
304
319
261
317
307
366
352
406
280
326
238
303
316
356
256
304
356
358
371
274
348
352
353
255
390
328
326
266
329
339
351
347
257
280
330
307
266
304
230
284
312
298
348
344
336
319
358
236
293
317
332
285
383
290
359
329
214
337
336
279
322
427
369
296
278
360
315
338
355
343
281
264
285
358
361
297
279
274
244
335
365
301
315
297
292
276
350
345
328
259
325
338
271
348
384
298
395
280
345
365
381
243
272
299
369
284
377
270
303
344
239
341
375
250
267
388
327
385
386
307
358
378
314
268
321
358
184
332
359
417
361
264
323
282
313
333
355
331
271
318
318
296
381
336
316
345
252
222
426
331
250
362
329
359
292
331
331
326
321
278
374
263
317
314
303
274
295
260
293
327
303
338
328
308
353
313
246
234
233
242
388
360
281
289
277
282
389
270
260
274
349
268
345
312
248
298
305
258
352
318
316
366
356
255
349
320
285
295
281
343
363
214
296
292
339
295
341
344
364
351
390
335
378
296
313
303
319
311
316
309
353
374
308
351
300
412
244
317
324
328
231
317
375
274
354
231
328
302
351
334
318
177
333
178
271
256
323
341
397
299
276
357
282
382
394
195
314
344
279
355
364
390
281
321
244
292
253
384
340
396
341
340
380
312
299
452
411
343
306
268
339
281
317
242
330
411
253
333
337
377
289
314
305
374
304
219
362
396
354
339
341
280
359
360
383
346
320
331
335
306
325
283
365
267
234
295
287
260
327
331
378
341
289
324
266
246
373
281
329
320
290
275
346
331
298
325
331
336
286
321
329
301
340
281
309
368
405
258
382
247
309
258
201
394
334
349
369
342
398
387
302
371
330
324
266
339
298
319
313
376
354
282
367
303
390
336
277
305
360
382
295
268
321
283
346
219
307
308
324
334
404
312
257
328
308
313
304
220
291
318
281
329
194
361
367
370
306
306
267
320
295
334
394
297
292
377
361
405
302
246
349
378
247
314
267
348
319
266
334
293
353
258
342
334
372
277
410
315
353
342
334
260
305
327
395
340
360
314
433
376
363
260
349
290
310
298
326
297
294
307
329
326
353
230
391
298
343
355
282
344
378
282
291
242
285
285
320
347
347
361
223
270
391
362
383
320
338
329
316
305
309
313
291
296
294
337
328
353
342
233
291
289
387
312
309
382
339
387
304
320
294
358
313
358
328
327
398
332
333
385
387
378
408
332
310
282
367
215
296
253
301
325
341
260
330
359
325
287
338
243
305
356
352
332
272
386
380
289
292
240
280
358
258
337
322
286
241
336
252
264
404
367
291
398
297
368
375
300
258
304
379
301
311
308
312
324
329
315
301
295
360
359
362
303
393
262
323
311
288
303
308
328
321
221
266
373
351
252
290
284
318
341
258
317
355
234
355
408
286
236
272
307
418
299
346
286
380
275
362
297
446
293
316
286
328
341
338
246
327
400
298
291
286
328
290
360
345
405
295
365
375
295
362
298
317
371
346
300
342
308
310
282
425
229
251
275
282
300
401
273
231
318
277
368
309
247
313
331
295
320
304
273
339
318
287
242
303
311
314
355
313
342
341
367
345
379
321
277
361
239
303
309
307
318
280
348
383
391
419
378
396
346
226
318
313
301
268
253
371
317
303
362
307
309
280
238
300
335
355
359
432
351
337
312
300
237
309
282
298
368
266
269
374
227
360
295
356
345
268
397
309
363
382
314
346
360
367
267
303
435
307
270
338
329
338
359
279
289
435
238
337
303
273
338
384
261
306
326
429
237
308
388
340
348
305
404
293
293
364
245
304
292
278
339
341
287
248
316
375
291
353
342
378
330
332
376
340
290
325
252
335
320
323
266
319
270
309
335
342
262
308
278
376
304
348
320
284
295
291
345
336
244
288
356
302
350
280
264
233
397
296
399
252
324
312
323
324
359
328
312
334
250
239
324
302
334
285
349
284
228
316
225
400
381
338
335
285
231
314
263
376
300
302
260
288
251
284
368
321
304
325
352
332
304
321
339
318
255
292
307
307
329
375
324
237
322
349
272
302
376
345
265
377
310
355
353
352
298
285
344
283
245
386
346
315
320
318
341
309
253
285
354
259
273
289
399
379
340
314
310
370
288
286
337
290
282
264
248
321
321
314
293
337
353
285
295
326
279
304
274
330
311
268
309
311
368
306
321
332
347
322
385
370
242
311
289
207
269
387
287
345
270
299
367
330
245
327
359
302
315
412
300
303
393
295
273
357
269
324
345
213
246
326
300
266
322
334
329
244
300
323
211
332
337
325
301
317
303
289
304
282
387
374
200
287
339
271
235
295
290
366
299
314
338
316
337
331
294
316
340
352
279
261
213
330
303
367
315
261
257
248
342
390
328
295
302
312
269
244
361
309
293
282
360
306
274
338
273
413
336
317
358
326
328
241
277
283
355
260
378
360
293
266
328
318
323
383
334
346
271
275
235
307
404
440
371
284
301
253
348
296
287
351
357
270
316
295
349
287
410
297
341
329
279
330
334
307
280
335
341
299
235
337
334
355
265
349
279
285
331
297
339
361
320
296
342
332
318
301
288
256
361
403
345
305
360
318
321
355
218
345
287
247
272
271
394
281
345
293
364
332
278
230
287
293
314
336
249
295
314
274
304
268
250
294
288
299
308
255
261
252
345
265
350
334
317
207
255
262
314
298
336
282
305
333
269
353
388
320
246
354
348
238
325
338
419
372
344
260
352
311
307
276
345
352
273
347
247
303
364
218
308
314
319
369
327
317
339
387
368
349
396
327
347
380
332
378
302
374
319
289
316
329
270
322
347
299
366
324
317
344
371
388
267
281
358
386
249
354
234
299
318
270
223
265
329
311
291
343
275
337
308
298
363
353
306
338
358
420
218
327
347
318
284
242
270
223
308
304
369
247
345
439
291
351
296
373
317
400
292
291
266
407
327
309
279
348
253
419
331
377
351
286
337
329
302
342
359
320
269
308
261
301
277
296
232
337
330
344
299
312
310
398
348
309
258
273
323
341
287
274
337
327
308
321
237
323
344
393
256
330
303
279
256
334
256
324
312
301
289
301
286
369
359
279
328
326
360
336
289
312
193
334
394
277
334
328
266
334
236
383
313
279
357
305
262
369
303
305
311
361
355
286
265
331
399
324
341
317
365
323
335
294
329
332
331
325
297
304
385
316
300
241
216
315
381
389
308
358
329
382
310
321
328
340
360
279
331
373
304
296
307
332
364
299
287
257
311
274
373
327
242
332
385
234
222
367
387
303
364
354
303
356
400
276
308
380
249
249
241
307
361
294
331
293
379
344
302
260
246
294
277
333
377
293
355
324
329
396
336
367
269
324
328
261
260
355
330
299
299
351
320
363
262
307
272
319
318
321
330
259
314
325
369
259
349
408
325
356
341
266
331
383
328
301
272
237
334
341
292
339
343
332
287
339
311
317
285
315
301
276
311
274
304
347
311
296
261
356
382
289
258
229
320
285
329
261
326
261
295
305
316
308
242
292
289
373
217
301
338
408
333
252
307
320
242
275
398
290
325
350
290
356
264
308
319
396
306
251
368
198
292
316
210
289
290
314
363
266
342
331
271
281
290
295
324
276
388
256
234
270
296
296
292
308
245
289
295
269
228
308
395
257
323
346
253
327
310
328
278
369
293
367
278
342
302
282
326
366
335
337
351
301
328
260
261
375
374
348
241
370
358
310
343
357
409
333
366
301
333
329
363
256
359
319
389
302
388
338
311
319
350
234
327
334
293
393
228
370
432
284
360
291
284
367
294
376
272
319
361
262
354
289
287
324
334
357
271
243
307
293
334
318
264
327
358
250
303
339
321
385
342
353
284
334
321
363
382
341
311
287
294
326
282
329
276
260
369
349
395
369
274
313
251
198
327
337
336
378
295
322
375
314
353
237
299
259
264
333
357
287
337
320
403
338
383
288
238
325
260
329
279
332
390
296
264
335
333
315
299
288
285
255
215
259
387
278
296
299
367
310
326
385
354
342
341
262
315
314
257
333
319
284
305
296
346
358
228
386
268
349
347
318
349
278
297
282
292
368
303
350
344
306
339
237
361
351
309
292
365
304
276
317
366
293
384
325
345
356
343
218
276
356
242
259
339
304
360
333
322
349
275
309
284
294
288
356
337
282
390
376
297
271
339
306
301
393
306
311
296
332
171
275
328
234
268
408
354
315
340
297
367
309
368
316
367
217
326
331
350
261
265
322
383
383
315
262
339
352
288
268
399
321
331
337
336
310
299
379
400
364
355
290
341
325
334
323
307
372
344
353
362
374
288
346
340
283
261
393
259
322
290
331
336
300
323
327
306
289
259
350
283
295
385
284
319
305
322
279
307
382
336
266
389
314
311
368
361
156
343
329
375
308
340
299
310
331
239
312
295
352
314
359
262
330
399
260
350
252
323
267
335
362
268
380
301
349
303
306
334
277
243
254
390
309
407
285
352
340
330
415
292
298
342
321
279
320
310
388
272
354
276
323
312
303
262
375
321
290
328
387
264
272
286
279
371
273
317
294
314
388
305
320
350
335
320
320
309
328
301
292
287
441
271
295
347
310
316
279
280
303
299
291
355
305
343
276
322
358
327
240
287
261
254
376
379
332
196
393
313
306
262
379
334
256
339
314
269
202
281
298
342
318
294
375
302
312
308
256
265
307
309
389
307
294
333
302
268
368
270
332
338
314
311
343
315
366
203
320
276
344
311
293
367
283
311
339
366
314
353
291
346
287
350
295
414
285
360
347
297
276
206
394
254
235
293
314
234
264
216
298
319
289
294
365
297
357
233
283
362
275
337
232
233
292
357
268
270
377
360
332
362
341
314
346
310
282
294
365
279
323
315
285
282
311
354
344
231
280
283
263
313
315
308
365
206
315
330
334
270
393
319
333
392
305
302
287
282
252
295
299
402
355
318
237
357
240
319
247
268
389
319
335
405
380
248
270
290
212
338
341
258
319
316
306
254
357
258
374
198
267
225
340
321
350
288
367
386
306
368
347
290
310
323
350
339
313
305
394
315
353
267
268
285
342
358
302
346
353
294
313
312
370
292
285
332
292
279
364
386
335
277
325
326
265
439
313
364
284
341
335
251
323
323
301
339
305
304
234
256
245
312
321
340
323
340
361
363
267
203
286
256
315
346
321
336
322
380
424
260
332
305
407
308
324
291
389
249
285
303
351
334
286
311
293
312
305
360
335
253
304
338
325
288
323
178
319
286
382
307
326
355
325
314
291
361
316
331
236
229
308
392
334
291
266
272
336
274
235
338
321
391
360
299
384
315
291
359
195
360
351
284
287
244
366
316
359
277
298
344
359
285
314
326
266
330
289
330
358
332
325
348
336
324
314
335
276
315
331
326
251
351
273
304
289
230
356
341
350
352
377
352
290
353
268
306
263
401
325
371
354
326
240
308
224
285
296
265
334
320
364
311
290
227
302
288
320
378
342
309
339
209
321
275
331
320
266
323
292
383
333
304
294
330
311
446
312
349
383
350
355
356
299
286
315
279
324
336
317
305
373
370
276
328
352
310
333
280
293
276
307
262
269
395
273
380
242
317
326
301
397
304
264
249
267
356
314
369
358
274
222
355
366
305
335
376
324
357
392
359
219
296
391
236
263
323
342
319
356
334
343
351
324
336
341
368
383
269
358
361
350
283
309
317
287
292
306
286
287
261
283
290
279
363
360
365
314
392
346
315
248
322
367
330
346
387
305
375
248
327
255
254
345
324
351
328
296
326
355
310
329
338
361
271
327
326
283
414
362
290
346
260
267
305
255
313
294
314
244
299
290
344
328
237
312
291
304
270
329
327
350
307
298
287
251
252
292
369
327
386
305
392
275
337
271
348
364
409
354
275
286
339
262
232
385
328
389
329
394
332
328
248
423
334
403
232
235
369
370
293
365
313
341
343
254
333
305
298
272
329
317
340
311
336
248
294
341
274
327
312
348
339
307
315
367
314
239
285
376
303
324
371
308
312
327
310
253
367
272
345
306
303
326
312
307
358
350
337
335
324
334
334
327
314
325
266
320
394
389
324
342
340
264
351
257
321
278
323
300
355
276
327
298
363
320
312
325
318
246
279
381
336
329
326
250
246
257
337
353
274
368
269
329
318
288
261
325
373
206
353
332
384
264
298
252
397
276
346
227
296
330
340
315
342
374
338
399
346
391
302
287
310
323
343
318
359
323
329
216
338
350
304
364
304
247
317
331
313
313
345
325
251
284
348
344
312
371
324
409
300
320
285
340
402
348
299
231
321
280
364
352
211
267
366
257
277
328
294
369
351
271
318
233
315
254
271
259
371
232
272
268
375
334
262
285
326
300
264
327
329
303
300
346
285
322
375
267
225
297
329
325
308
306
379
325
304
249
320
291
254
244
318
302
324
322
246
326
337
312
365
300
310
316
320
404
382
320
328
256
322
349
329
334
309
329
344
367
312
391
258
294
274
255
211
335
379
364
286
287
337
329
350
412
315
298
352
377
319
301
322
222
255
368
360
366
363
371
342
294
287
297
319
287
293
244
255
269
278
344
226
414
327
368
306
267
295
340
385
299
264
305
323
290
256
238
328
229
297
328
388
237
303
246
298
324
295
333
288
267
349
392
341
266
318
225
334
257
330
296
203
374
328
275
271
320
308
283
263
367
352
284
376
334
313
237
307
348
296
359
223
316
334
398
257
319
285
339
356
356
307
295
312
346
382
283
356
338
322
291
361
277
264
351
353
233
375
266
371
303
307
345
424
305
315
303
305
356
367
319
281
317
312
293
281
280
323
388
285
359
300
290
317
340
348
420
298
314
361
306
280
306
405
222
312
332
260
302
333
298
223
346
282
274
365
269
362
311
383
368
328
287
350
310
218
280
317
272
265
253
310
306
420
245
306
325
362
329
441
388
312
295
362
401
340
340
293
331
308
342
361
252
351
391
322
321
310
389
366
337
316
288
395
345
237
286
336
353
255
407
307
376
316
336
337
363
341
327
329
325
407
357
334
334
293
340
332
313
251
318
318
365
345
390
324
351
323
300
326
298
304
374
345
346
335
317
284
331
317
394
288
387
271
290
363
402
313
421
299
296
313
360
267
339
283
374
292
325
310
281
217
323
366
275
309
391
361
351
423
283
385
318
317
231
315
274
320
291
287
373
377
285
230
319
356
305
309
277
319
348
335
296
277
324
332
314
299
305
341
299
297
319
282
393
297
264
332
330
267
312
311
375
366
401
262
241
346
342
343
293
334
238
234
331
270
320
389
349
397
311
364
337
342
375
265
268
319
399
292
316
254
332
376
308
351
287
278
290
324
336
293
290
281
306
284
404
309
354
284
320
340
245
363
255
268
245
401
353
302
260
378
329
313
307
343
277
296
314
284
318
343
329
376
374
319
302
300
235
285
312
329
461
329
350
287
237
312
286
326
286
316
298
335
294
330
290
326
381
253
326
320
318
353
369
302
325
310
288
363
283
315
275
298
274
374
340
337
305
277
361
308
321
364
329
323
281
290
336
316
309
350
296
218
324
261
269
308
255
295
333
294
258
305
339
263
291
318
300
308
389
400
314
343
311
387
302
357
293
218
311
328
305
239
295
353
266
276
314
202
313
302
256
370
323
343
329
361
366
318
262
280
281
246
285
295
315
328
235
330
340
390
224
333
341
320
366
333
375
302
288
328
333
358
338
315
376
315
264
290
307
340
315
335
370
302
366
324
334
330
386
275
359
372
291
332
281
316
322
256
344
375
328
281
363
319
322
294
357
304
316
350
246
341
384
345
366
310
355
277
281
348
330
359
317
357
395
395
424
322
358
353
256
405
390
312
419
286
301
400
350
359
280
310
295
298
297
268
325
368
418
327
335
310
243
316
312
361
159
307
320
372
240
223
275
324
340
302
333
339
345
348
337
313
340
325
230
299
316
299
370
296
302
353
246
265
254
329
354
369
371
285
296
333
360
270
292
344
266
290
324
339
208
274
329
286
341
321
284
253
340
341
309
321
289
410
417
428
281
295
317
243
279
280
370
264
340
331
388
282
306
245
340
341
295
242
343
313
306
313
370
330
288
280
339
286
333
322
297
344
316
310
286
369
360
314
291
361
334
356
333
331
300
233
350
326
318
297
264
295
379
355
347
307
304
318
257
311
344
364
322
273
329
257
308
350
325
326
313
266
400
329
330
308
210
271
326
247
267
266
251
311
312
346
296
256
330
328
298
281
350
335
278
261
321
298
386
341
356
360
303
284
272
311
304
404
333
311
329
319
335
345
250
361
333
320
344
327
281
323
326
306
415
240
319
295
351
295
310
291
249
331
343
309
343
324
321
333
284
303
208
291
392
341
239
321
396
256
258
339
286
241
306
333
324
297
330
343
296
324
282
355
344
335
353
297
301
347
278
390
355
214
335
260
355
321
383
388
293
315
330
404
301
331
310
343
304
308
417
366
364
294
315
298
262
346
224
326
262
337
337
348
320
318
364
382
279
361
331
286
330
345
225
390
266
305
306
370
345
340
313
328
321
321
353
319
314
371
346
266
424
322
416
300
310
325
334
303
301
264
337
304
259
259
410
330
271
270
374
302
302
253
274
244
309
382
328
316
276
270
250
299
378
230
312
299
309
266
306
370
311
338
365
307
277
302
292
360
312
270
255
300
372
254
364
243
246
292
322
252
269
261
325
270
342
300
393
329
358
404
268
393
306
364
332
361
313
331
336
293
191
317
282
397
351
295
279
381
342
318
207
252
332
335
276
287
410
341
320
299
238
391
286
375
334
251
398
298
447
368
358
249
341
308
322
296
290
257
323
290
317
253
279
255
269
379
386
308
349
294
315
298
277
401
342
243
324
299
261
308
335
326
253
307
385
294
204
368
309
300
328
347
288
291
260
290
203
296
290
316
444
228
301
292
335
338
340
212
294
338
283
306
418
293
297
321
327
409
281
261
323
392
261
319
298
292
342
344
345
260
372
280
312
228
287
333
323
301
296
326
291
308
386
246
310
267
302
293
379
303
204
354
291
379
264
396
382
305
346
321
282
353
298
277
380
395
242
280
307
308
360
341
373
338
278
255
358
284
302
250
303
378
310
312
285
352
366
378
279
340
342
282
390
252
290
285
301
347
400
316
344
373
422
295
314
350
299
303
220
300
321
303
282
323
302
397
334
317
354
359
297
355
268
317
337
243
284
298
238
220
318
346
377
299
263
226
338
384
385
394
337
337
386
283
298
267
364
342
300
378
321
360
324
309
333
366
257
289
386
296
290
233
263
393
336
276
276
337
403
328
368
301
295
333
299
341
313
336
301
317
397
290
344
278
341
340
258
272
326
285
400
378
365
353
328
384
314
276
303
367
348
325
276
293
387
309
373
296
195
359
337
326
277
352
266
347
325
335
308
274
371
270
325
288
276
365
393
256
319
285
288
345
275
309
302
305
305
248
315
308
355
316
333
299
319
339
341
386
234
243
328
296
361
369
265
269
323
304
378
317
232
305
319
304
231
293
299
350
240
264
358
316
331
337
289
336
303
385
297
393
316
266
414
426
310
305
342
315
321
304
253
326
332
335
311
386
311
377
343
298
296
280
235
372
311
287
398
332
370
337
320
344
271
312
379
323
325
319
315
250
335
322
343
329
286
350
342
320
378
332
283
330
235
251
256
277
329
363
376
293
315
313
369
365
261
378
289
369
279
374
355
209
260
356
308
386
362
293
320
313
309
323
312
351
330
327
409
307
307
364
285
274
291
293
298
313
369
378
195
365
222
312
221
287
289
304
341
316
358
386
273
338
278
336
348
299
384
223
381
264
238
363
392
376
338
165
370
307
380
292
327
257
350
348
301
372
295
285
263
282
339
376
355
306
255
357
343
335
372
324
285
344
378
301
359
315
371
340
256
296
323
335
339
233
272
363
269
293
367
217
291
353
310
428
344
271
386
265
232
294
333
389
366
393
363
316
300
299
354
332
298
348
303
303
175
301
353
319
378
271
308
315
393
356
313
284
242
369
325
289
290
347
321
294
263
339
342
368
303
369
295
341
308
311
335
284
293
361
329
335
275
311
338
355
346
298
371
278
282
241
306
419
319
254
315
324
321
287
354
321
334
342
309
390
267
321
251
297
326
330
293
257
296
358
332
365
328
360
254
375
302
356
305
275
347
281
323
337
284
321
287
369
393
264
319
332
310
287
302
352
312
312
335
301
259
275
312
298
391
264
290
206
358
303
317
365
358
320
334
343
278
311
304
317
287
326
337
293
280
359
326
335
320
331
266
347
348
297
341
249
321
381
370
374
389
291
303
303
363
296
324
321
288
318
336
298
343
337
362
295
373
279
305
272
364
162
350
398
349
255
336
317
302
290
307
288
331
320
323
328
322
251
333
369
338
301
396
324
335
356
346
329
260
399
360
324
268
252
343
303
260
343
335
381
329
337
358
388
398
316
367
311
334
265
250
258
272
315
343
299
294
295
332
346
288
255
314
316
313
337
266
275
219
334
321
332
389
342
313
342
377
347
328
274
285
385
401
284
274
354
212
277
395
344
380
356
380
285
250
293
311
335
403
305
366
308
334
362
332
300
297
275
299
233
243
339
372
327
377
265
350
369
315
362
318
354
308
385
270
374
306
253
328
278
315
282
255
297
340
333
295
412
350
258
338
265
346
270
342
337
339
265
330
243
254
290
355
339
324
372
326
304
261
298
334
362
284
261
277
293
338
336
319
292
354
352
274
352
346
407
306
360
343
302
295
365
330
273
369
324
329
289
272
323
323
322
302
423
411
406
361
400
235
397
324
359
387
356
373
328
249
370
313
309
284
232
304
368
298
368
298
349
337
234
262
190
221
415
387
380
358
328
302
218
301
348
261
316
410
345
316
316
223
357
351
324
272
415
363
333
346
312
329
357
321
375
298
334
346
210
289
325
267
310
254
333
332
316
266
320
272
212
266
400
407
374
326
342
368
326
322
314
265
238
350
272
299
347
359
342
386
333
361
268
336
236
362
217
354
364
311
296
312
251
323
231
393
362
313
285
370
316
266
264
316
302
266
303
344
283
263
283
311
363
294
219
287
349
326
319
295
341
361
313
320
293
315
383
272
370
278
316
315
265
321
262
303
337
321
328
246
332
232
290
338
289
376
359
325
368
293
254
391
384
294
300
320
363
383
307
315
343
362
279
287
255
328
245
273
251
389
380
371
347
295
290
291
398
291
276
263
351
329
332
344
395
280
312
212
351
272
379
341
316
296
326
359
252
323
258
344
375
341
319
372
285
244
301
306
332
300
231
377
348
325
301
331
333
375
323
337
339
327
229
320
331
294
290
289
303
311
318
215
284
285
230
373
288
323
255
296
370
255
292
274
231
279
376
372
404
368
380
244
254
360
290
267
322
287
223
307
292
232
330
292
310
275
283
323
339
280
362
256
302
332
301
352
323
282
294
322
384
343
268
292
285
317
263
354
279
347
339
354
307
328
283
317
229
329
435
331
222
355
366
326
303
332
356
308
324
365
315
365
275
413
276
246
311
312
338
230
335
302
266
301
378
307
312
262
409
330
318
326
268
317
326
341
311
313
269
321
345
277
350
309
333
356
339
355
388
345
276
303
319
333
336
300
419
368
398
331
356
239
259
373
375
387
338
225
284
287
341
345
281
291
280
303
339
241
333
252
258
337
307
361
309
336
304
359
278
327
352
340
277
403
382
345
295
346
342
280
425
278
353
405
254
302
349
287
292
295
289
308
403
310
324
341
326
329
338
327
339
370
361
295
326
305
301
304
313
369
330
292
355
335
374
317
270
353
320
266
318
335
332
220
320
309
350
341
348
318
265
345
312
287
350
362
293
294
271
371
318
320
347
347
288
330
395
260
391
349
323
283
317
296
338
322
369
342
291
361
302
292
247
325
331
397
308
270
266
336
289
320
301
272
323
252
365
286
320
361
323
303
293
245
286
299
370
310
383
308
355
300
387
372
408
341
256
321
401
348
355
346
290
349
246
323
342
280
332
305
368
344
290
270
337
396
331
322
260
330
302
222
268
239
296
290
296
365
374
309
315
288
302
315
338
380
265
342
260
405
296
299
328
264
288
374
325
319
226
253
325
354
384
301
266
357
238
315
252
480
327
277
340
311
268
369
354
368
262
286
325
356
411
345
266
335
392
310
227
289
269
286
267
368
336
372
304
342
376
339
399
279
336
329
288
318
310
301
276
346
267
286
338
297
279
301
415
379
362
337
356
309
286
327
266
299
318
314
292
371
342
321
329
330
291
315
391
313
301
279
328
283
342
307
292
342
291
316
321
265
353
298
311
339
350
325
314
326
356
351
250
348
319
365
338
378
325
350
313
373
331
324
285
306
188
335
375
302
230
372
356
365
392
342
296
334
273
328
400
321
340
396
314
328
396
257
285
360
321
272
213
262
316
330
302
259
322
263
248
277
341
322
283
359
327
348
326
277
365
400
276
302
349
312
257
253
197
309
407
284
296
290
293
287
354
208
338
304
320
200
304
334
321
382
273
341
343
309
233
408
266
291
356
272
309
336
304
331
327
369
438
216
362
305
323
307
271
276
353
368
299
272
327
318
341
261
367
332
340
358
305
283
343
358
270
320
363
275
213
351
353
241
279
306
363
330
368
300
383
304
319
332
394
316
402
297
299
304
348
343
350
307
312
300
309
312
299
393
278
337
312
388
259
350
332
295
382
314
392
358
248
288
279
293
272
296
326
247
290
368
350
301
312
309
238
333
266
309
244
414
298
286
243
357
321
349
331
288
360
280
321
333
291
275
357
257
309
288
278
297
319
371
332
294
393
413
354
251
270
311
308
298
286
210
291
246
315
282
348
268
258
317
411
309
366
304
365
246
319
246
322
357
314
393
315
297
269
254
303
292
245
327
245
336
248
314
322
199
294
339
287
269
347
337
313
319
326
348
284
312
301
365
274
348
346
289
367
350
350
258
245
252
374
278
311
359
293
346
331
376
377
265
311
259
317
329
273
215
297
387
356
269
345
388
338
361
255
266
359
383
262
305
413
346
266
306
112
375
271
259
310
374
285
208
276
274
347
273
376
305
385
311
338
340
308
307
285
283
411
241
281
318
372
326
291
305
296
357
408
371
284
318
375
295
353
290
262
321
299
244
371
355
294
334
373
312
346
261
337
299
366
350
308
277
291
312
341
354
334
330
361
287
313
304
305
230
341
308
245
390
305
360
279
312
370
366
419
282
405
354
303
268
321
366
358
235
330
314
328
316
259
321
284
347
247
344
217
416
253
345
356
312
288
274
353
249
400
384
267
381
210
260
220
346
301
325
318
195
319
309
404
295
357
344
411
289
378
331
280
249
349
367
384
223
202
343
293
320
356
280
330
316
297
323
335
343
275
354
327
364
276
299
290
287
318
168
247
359
336
372
258
301
331
348
265
342
405
319
322
247
299
313
327
334
282
315
292
295
359
321
295
353
285
291
413
225
303
312
271
345
319
349
324
314
327
309
302
374
331
268
272
304
319
281
270
386
360
333
212
292
327
349
310
406
323
253
359
332
293
255
243
354
355
271
353
298
323
366
368
348
216
221
318
303
316
355
319
338
326
223
377
344
247
253
313
388
290
313
382
332
271
341
278
322
304
336
323
358
365
238
325
298
281
421
322
339
324
341
385
301
331
314
297
360
331
362
322
300
334
338
312
360
417
321
320
290
273
311
312
386
263
264
383
294
334
331
396
327
347
267
365
283
287
323
292
333
320
248
400
419
397
330
282
269
385
366
333
338
351
251
314
295
315
298
363
375
243
269
262
333
407
251
283
303
371
205
368
370
296
293
302
328
279
269
322
295
303
325
334
344
356
389
293
312
270
251
264
294
285
404
320
281
308
352
295
391
355
384
312
330
362
322
368
222
401
259
367
309
365
382
310
330
300
316
275
233
194
278
280
339
309
262
296
427
336
278
348
368
317
306
346
237
273
285
307
327
226
352
340
255
312
316
341
334
375
286
298
312
277
253
307
393
307
370
272
361
286
365
358
255
299
378
319
331
403
359
234
299
314
232
249
314
298
292
297
360
326
366
277
246
309
295
349
293
336
269
322
305
256
378
252
299
296
277
309
283
311
341
314
292
292
329
391
362
234
358
350
270
310
335
326
332
324
338
250
238
242
355
359
263
363
346
347
346
270
297
367
278
266
330
308
277
290
297
256
388
331
302
318
321
321
307
348
291
304
324
290
276
323
279
304
258
330
273
312
313
385
367
285
325
296
370
285
296
261
311
230
370
328
282
228
310
341
251
264
285
303
344
359
244
293
402
339
354
303
327
255
354
383
353
373
362
282
337
330
206
404
278
304
326
347
336
307
292
360
369
334
277
286
261
384
305
343
331
377
291
323
260
265
378
295
333
322
331
291
318
326
280
240
330
317
386
260
324
329
280
297
329
385
275
336
348
314
254
340
387
352
300
349
335
330
296
256
284
280
348
234
270
317
272
347
335
359
373
362
315
353
370
290
312
291
291
372
279
300
388
332
298
357
220
345
313
319
372
382
330
360
370
261
322
304
370
309
250
239
241
257
302
364
389
313
345
223
327
291
297
313
351
362
336
301
254
300
402
334
348
378
271
325
335
324
377
265
289
339
319
359
307
357
394
280
331
295
255
312
323
298
371
352
370
238
317
369
338
315
271
308
277
337
346
348
366
332
325
297
282
366
312
302
251
357
354
324
304
356
324
306
285
250
295
345
344
309
316
359
326
286
372
292
284
373
326
335
336
327
308
356
317
362
342
316
255
312
298
368
345
359
283
305
360
386
312
340
371
252
376
292
284
346
358
316
340
327
422
323
310
317
296
331
407
361
321
369
248
320
323
318
327
305
374
303
284
327
370
293
365
321
427
289
329
399
397
317
274
330
283
311
318
364
278
371
325
332
344
166
309
292
263
332
272
275
344
246
263
317
313
345
367
294
362
270
287
335
364
313
305
211
279
360
324
313
392
327
323
272
320
251
280
384
364
245
248
310
261
320
303
346
351
380
364
294
328
350
341
356
366
351
408
330
257
323
276
379
309
307
355
246
285
314
272
296
380
368
340
265
333
357
261
324
380
362
265
220
304
363
340
315
257
353
332
407
245
284
298
342
316
300
319
409
308
332
427
300
249
222
340
324
307
262
355
190
320
318
347
340
300
364
292
306
326
308
342
243
310
261
263
389
340
327
309
326
313
281
241
281
317
301
292
364
394
251
370
291
338
294
286
355
380
311
296
264
386
327
324
329
286
317
237
277
252
304
309
339
355
289
226
219
271
342
335
322
262
315
248
359
317
317
276
261
373
315
320
391
289
254
335
331
242
261
283
367
307
343
335
222
266
296
298
335
283
269
216
289
309
273
280
383
342
335
281
318
279
271
299
377
257
334
345
190
321
339
371
261
344
305
267
374
285
304
313
323
239
344
295
294
337
296
329
279
298
373
339
273
267
311
338
381
358
324
291
287
349
284
308
335
217
276
418
338
278
315
278
356
338
295
278
288
286
266
278
290
316
321
282
265
388
267
332
328
400
373
286
302
335
395
314
397
348
293
385
359
236
280
221
337
242
322
324
367
283
320
326
320
337
301
272
337
352
277
350
299
304
283
309
331
323
395
271
310
307
391
303
308
277
324
319
306
295
261
305
286
307
287
300
309
295
349
233
376
275
316
323
361
269
284
350
306
323
285
333
249
227
270
361
273
247
272
299
247
360
323
314
326
301
277
321
334
317
387
463
360
309
367
299
285
286
354
343
267
356
271
294
255
427
344
312
274
373
290
385
271
391
265
314
339
381
324
332
325
348
254
371
340
320
306
355
333
310
349
353
272
324
360
313
346
330
363
276
269
337
276
280
313
309
301
373
345
357
321
243
274
314
313
232
343
355
267
332
354
277
352
392
334
310
364
249
312
372
364
258
270
281
363
291
428
379
269
293
269
312
321
362
359
383
281
302
314
340
240
338
282
347
411
300
295
273
409
203
172
330
338
382
328
314
341
373
247
374
354
331
207
416
310
309
389
319
350
320
329
323
263
361
319
268
321
288
261
322
290
385
313
374
391
326
238
271
328
272
233
308
284
364
344
376
360
356
382
289
244
323
279
314
289
380
296
283
312
302
238
351
311
341
307
296
336
292
309
221
378
219
303
303
253
285
349
275
294
236
343
351
369
312
348
328
350
286
338
269
356
267
305
354
328
253
299
330
240
306
339
248
248
289
252
350
262
312
322
363
363
327
343
335
388
371
171
320
335
228
330
291
324
273
389
363
375
246
369
269
407
288
284
329
302
358
327
352
269
323
338
332
285
246
312
274
304
332
297
298
231
357
272
248
377
333
341
328
372
341
352
331
310
345
275
300
381
384
307
265
325
263
265
306
351
400
304
248
350
440
282
273
302
256
311
380
345
215
305
339
270
277
347
315
318
382
302
333
328
285
280
346
309
401
293
352
342
346
359
301
323
321
361
246
305
398
221
283
345
309
251
311
369
302
242
306
403
392
311
282
368
287
343
198
230
407
350
352
271
266
316
346
298
346
245
351
269
273
342
300
343
370
322
224
282
346
399
338
336
285
284
332
299
313
307
267
300
313
212
318
331
356
300
326
306
281
361
306
370
270
334
335
248
345
316
273
354
297
327
389
347
277
312
363
318
234
323
308
376
331
365
340
335
334
288
289
274
407
296
316
338
361
320
397
334
235
327
337
381
324
299
292
225
281
288
412
332
274
266
357
317
331
331
338
331
335
310
348
362
264
256
336
325
352
300
349
338
274
312
311
310
268
423
237
311
332
308
306
303
401
332
330
260
309
342
308
378
369
326
373
377
290
192
320
313
326
292
358
302
372
280
270
326
275
280
346
245
288
336
210
252
278
388
284
380
343
347
352
395
315
391
335
240
387
300
350
258
233
339
363
318
271
329
326
280
373
315
330
298
292
289
351
307
266
352
408
377
342
280
322
265
292
240
306
362
384
357
234
301
293
378
275
365
329
299
405
362
422
224
367
334
311
366
248
261
367
316
319
199
244
291
254
313
305
375
362
359
306
255
353
288
338
318
307
377
253
251
297
286
243
365
337
268
321
297
347
372
330
324
338
259
262
286
325
358
315
228
248
273
336
351
282
266
301
324
266
312
337
295
352
302
297
279
376
246
355
303
339
317
373
352
376
341
364
309
358
246
341
344
312
369
261
348
323
227
324
366
356
365
313
256
328
397
297
360
394
252
302
329
307
291
264
379
290
312
257
248
363
340
288
350
309
332
350
318
319
425
279
282
279
327
310
345
350
279
273
333
265
336
319
351
321
317
356
332
351
390
356
356
309
332
291
373
287
309
338
280
275
373
371
289
268
389
269
331
299
304
287
308
329
285
320
272
324
354
324
269
288
268
337
373
347
290
360
304
196
291
241
419
349
363
284
328
385
322
303
237
272
266
406
327
410
359
313
329
250
321
315
316
238
335
308
362
325
314
252
365
269
238
362
328
377
371
358
306
257
277
297
269
283
339
343
314
345
273
329
295
196
297
322
227
418
310
302
335
331
375
260
380
295
326
346
366
363
328
266
285
348
286
309
325
296
341
264
185
351
377
265
305
280
329
303
347
353
343
331
328
297
342
297
342
317
208
306
311
249
314
346
345
340
295
383
410
262
420
325
291
318
375
350
337
303
254
334
369
314
337
377
311
342
339
292
339
359
320
355
299
329
308
305
285
287
370
310
290
292
354
359
371
312
373
314
304
377
382
304
313
274
294
324
351
267
344
322
294
334
318
332
332
321
278
302
297
329
287
243
240
310
342
230
392
227
281
298
354
328
313
201
285
352
328
304
361
279
295
309
361
428
315
324
328
374
324
383
264
321
322
250
253
176
273
333
313
367
390
337
310
308
280
295
292
299
266
326
290
253
315
346
320
351
293
286
332
226
297
277
314
368
292
327
360
290
309
285
259
211
312
260
263
366
331
295
241
369
283
349
195
391
322
325
354
328
291
304
303
296
367
340
266
288
317
352
248
367
311
288
391
308
311
256
286
207
406
336
325
361
327
294
325
345
266
272
310
315
352
290
237
332
266
276
370
321
315
340
380
287
264
393
277
352
356
319
312
254
362
280
274
286
329
379
277
387
348
320
304
322
358
314
289
341
254
330
351
303
353
240
392
411
375
365
238
259
318
331
375
251
263
336
350
306
339
311
336
298
286
355
310
342
227
331
278
340
312
242
277
274
340
337
366
233
312
312
289
354
319
275
374
244
343
198
338
339
355
370
367
326
349
330
265
339
342
310
350
278
351
296
330
270
275
327
265
355
193
367
263
423
325
374
365
242
251
236
268
269
251
288
329
322
283
383
263
347
333
379
273
352
304
330
289
281
255
335
331
335
353
310
349
277
341
327
354
300
305
306
339
268
343
325
356
270
403
266
336
323
341
365
238
287
364
414
307
224
266
310
330
383
209
316
327
359
314
400
314
217
338
270
267
362
295
269
292
406
325
387
302
324
344
321
307
299
347
247
352
376
301
332
374
391
341
323
315
286
311
300
303
250
314
296
357
253
316
271
311
271
265
237
310
414
206
440
268
342
278
352
330
308
352
345
412
307
347
316
317
340
421
288
351
353
306
323
279
357
320
352
330
333
286
250
285
261
304
359
272
365
288
352
188
309
275
391
421
296
264
318
248
307
312
317
274
300
347
285
293
347
311
225
323
273
264
382
301
375
322
372
342
304
380
385
287
302
303
368
358
265
337
376
416
325
264
322
330
300
219
240
303
299
224
303
313
286
391
301
420
336
343
345
317
251
363
260
330
310
291
306
290
327
374
344
375
327
275
282
312
355
271
292
327
272
280
327
314
316
408
321
315
357
350
282
323
352
355
338
360
366
294
302
328
316
344
353
245
433
271
301
272
284
366
275
305
270
363
290
314
324
396
310
328
386
297
323
293
285
364
361
330
337
377
362
330
353
385
217
354
238
281
201
339
271
254
271
347
276
203
376
318
258
281
278
248
325
358
333
263
305
314
331
320
364
337
295
244
289
378
291
315
358
297
314
319
343
337
261
400
452
322
363
267
380
329
353
232
287
297
294
332
320
333
301
261
297
269
380
373
329
346
316
320
369
387
331
338
259
245
280
302
421
277
307
367
275
309
223
306
391
330
264
330
366
284
310
356
400
371
369
301
307
305
306
268
340
287
357
365
341
327
230
331
293
350
229
400
340
375
360
348
277
340
365
320
318
398
318
304
245
355
378
337
388
323
400
357
251
268
310
271
311
346
367
339
335
226
355
309
251
283
408
283
348
290
201
283
368
297
324
394
308
293
309
306
341
337
307
304
289
336
289
350
316
360
391
224
326
300
265
360
336
354
371
294
377
325
380
329
323
269
352
307
270
483
305
253
362
257
317
378
376
340
317
326
393
304
286
257
284
295
317
329
360
303
306
257
392
338
302
251
331
270
295
339
263
273
361
375
314
298
332
305
313
380
294
369
326
285
349
302
258
187
375
306
278
311
379
335
282
245
416
252
320
362
395
301
324
350
297
224
242
379
303
321
371
298
359
274
253
327
252
337
280
347
323
291
259
350
309
302
321
276
359
371
388
263
291
382
308
397
314
362
330
300
332
350
326
270
326
276
292
271
276
408
295
358
279
293
326
386
309
341
238
328
318
372
263
369
288
287
318
315
266
282
281
333
283
286
270
368
224
326
282
266
379
350
376
325
304
308
300
299
330
383
364
364
344
276
386
381
342
271
356
348
341
350
348
339
300
334
284
352
261
377
321
350
412
265
294
334
324
281
356
392
241
260
303
266
355
353
351
371
262
347
334
444
251
344
371
344
217
395
338
393
331
334
365
243
273
303
308
347
375
397
366
388
345
333
381
384
337
310
326
316
342
340
302
277
368
385
298
286
274
317
330
275
320
235
395
313
339
318
348
238
271
251
359
357
334
347
309
335
234
351
315
361
310
258
408
327
379
361
304
240
360
349
344
266
343
314
366
259
243
324
304
312
392
300
341
274
389
349
372
309
338
282
371
328
352
281
368
361
325
304
359
297
232
294
310
356
313
278
340
291
356
212
328
342
281
310
335
352
306
241
273
324
269
355
347
352
317
344
341
273
374
346
315
261
252
345
332
353
346
348
351
364
381
225
271
298
320
311
334
252
328
371
371
295
326
322
300
291
278
243
270
281
306
349
263
288
349
328
276
285
372
316
369
223
370
324
246
283
295
383
334
374
334
333
296
307
316
292
342
342
330
340
326
278
321
259
365
285
396
322
246
321
304
296
306
246
318
329
360
306
320
351
350
378
351
295
395
275
381
282
332
352
324
350
351
273
334
320
333
294
340
317
372
303
276
311
251
367
262
235
334
288
364
378
319
258
328
341
312
339
402
328
269
335
282
297
381
284
317
332
367
348
311
316
283
258
300
360
324
335
330
371
375
270
297
378
355
314
317
337
272
297
327
330
314
310
327
298
227
288
334
389
386
315
293
373
360
347
227
298
286
296
386
365
278
382
312
325
272
356
312
341
351
278
323
367
388
382
343
288
334
302
293
331
362
365
264
260
336
198
411
342
353
263
305
326
392
364
299
324
347
329
311
344
263
307
219
307
313
311
274
314
365
314
305
313
285
397
325
336
296
274
343
298
260
329
351
301
358
313
292
272
331
362
348
306
297
256
287
233
356
314
357
312
351
222
343
274
306
370
368
385
283
383
328
284
339
319
260
254
346
265
337
302
212
350
384
304
340
299
316
366
385
452
286
363
341
267
368
257
343
310
323
352
289
389
309
334
308
363
371
337
351
261
299
248
324
319
339
296
339
297
285
380
279
353
232
348
368
312
306
314
325
333
271
354
304
334
310
356
282
385
297
367
347
343
348
317
327
244
343
342
322
257
328
302
292
264
360
339
365
276
350
327
314
333
337
298
331
337
391
413
419
330
289
325
373
361
314
336
313
292
327
388
289
366
352
442
282
281
315
337
307
332
236
304
380
246
299
295
407
320
312
366
353
354
393
250
283
332
341
362
263
327
281
344
354
328
282
311
336
348
297
334
294
332
297
329
314
360
232
348
318
273
373
342
325
305
302
249
381
317
303
302
292
293
259
413
357
328
301
239
342
316
318
263
360
344
209
232
304
351
293
392
399
346
315
278
292
311
371
332
366
354
329
266
337
270
307
283
351
335
257
329
361
314
292
352
269
287
352
361
274
371
356
215
309
327
283
316
299
293
241
292
257
294
275
292
320
360
312
362
287
319
316
254
318
334
353
410
301
348
306
382
299
297
300
295
302
276
362
357
348
291
343
311
249
318
275
378
222
353
335
331
337
350
245
308
338
246
272
350
349
297
373
307
276
381
344
292
265
275
330
282
285
328
325
344
243
314
375
249
354
330
338
296
353
367
327
317
259
251
311
253
365
270
322
315
278
341
317
268
304
284
374
367
392
300
345
413
409
282
310
260
323
389
253
210
302
333
313
302
251
272
275
334
339
340
279
319
329
344
306
284
198
329
307
296
291
300
295
400
337
294
306
337
356
266
330
226
378
302
370
259
362
256
357
256
322
342
335
296
296
289
304
308
284
321
312
310
326
323
321
240
254
307
314
349
303
313
252
343
285
284
301
409
260
327
383
245
400
362
324
344
300
300
326
299
240
296
316
301
274
397
377
326
327
338
370
316
334
325
327
270
325
336
191
296
264
380
330
313
337
336
356
399
323
289
295
325
354
310
334
335
325
311
376
258
333
334
226
341
297
275
372
339
358
278
311
394
284
209
390
318
255
308
406
389
265
292
339
296
387
355
300
293
290
335
280
311
282
340
269
290
341
331
336
361
337
337
269
333
301
359
309
319
307
230
389
274
361
359
411
342
301
318
267
339
332
329
368
242
254
344
383
411
299
367
295
278
293
254
330
349
348
341
310
253
323
338
256
283
372
360
323
313
246
218
403
340
392
329
401
369
283
275
317
396
349
221
293
354
341
280
332
358
370
307
357
317
286
297
305
320
347
253
362
364
246
267
330
398
248
389
334
367
283
354
244
307
387
310
318
312
371
255
285
368
298
319
390
409
385
351
265
331
293
361
273
294
297
317
369
248
252
360
328
389
342
369
258
329
322
351
332
404
275
288
280
264
331
324
324
295
287
411
351
332
313
308
319
303
348
306
325
298
348
347
334
294
313
337
239
357
344
357
280
345
190
306
347
321
327
319
298
335
337
318
363
309
216
366
263
353
211
281
336
283
328
320
299
373
341
439
382
291
364
237
323
315
247
330
351
351
364
281
409
326
284
332
292
265
382
348
271
321
305
285
325
274
299
328
341
360
326
249
371
388
286
317
298
271
348
309
261
281
300
266
394
373
247
297
367
298
373
245
279
369
330
295
341
296
326
350
278
311
272
348
341
345
336
373
302
219
281
270
313
287
291
364
262
290
367
273
336
255
288
320
230
293
289
298
278
293
336
317
276
292
268
367
241
342
253
358
355
301
325
393
372
365
302
337
382
262
380
297
347
266
276
321
302
352
355
284
316
206
374
311
313
347
228
400
399
285
281
294
337
350
334
369
298
278
362
337
298
264
313
329
348
277
335
418
349
287
339
343
295
314
306
290
356
393
312
273
343
307
387
334
317
357
343
364
325
301
341
303
297
386
363
343
274
294
279
336
368
269
368
304
352
214
333
290
333
336
278
293
296
343
330
305
359
334
322
308
289
314
327
252
249
368
346
342
262
321
348
399
376
318
356
335
326
293
405
283
341
258
222
281
285
345
363
255
325
399
318
363
318
329
330
298
314
296
350
339
239
274
317
304
317
287
386
310
395
329
270
290
338
256
250
263
274
353
233
357
326
253
353
301
303
294
247
318
305
313
334
315
327
346
311
294
314
314
380
221
301
335
345
309
390
346
333
302
239
269
272
347
232
252
352
360
394
295
293
363
320
299
255
345
276
335
229
316
337
392
272
321
289
251
346
335
304
329
234
340
369
217
274
320
379
294
337
203
337
282
308
316
226
309
318
306
328
359
288
245
268
339
361
298
365
299
342
324
355
302
331
268
368
340
334
302
342
300
305
319
313
243
324
339
360
263
335
370
376
335
288
380
413
382
368
317
344
328
345
269
287
380
304
301
223
256
359
315
308
352
236
304
310
391
258
359
283
346
387
335
262
303
271
307
359
339
336
333
334
352
403
290
332
379
366
325
335
202
375
275
420
353
300
323
321
248
281
354
279
347
387
304
374
302
216
322
297
294
308
287
315
262
292
348
325
277
281
313
325
365
335
305
329
265
338
365
315
325
281
278
326
352
332
277
384
312
322
276
299
314
249
341
288
328
193
338
332
399
341
300
331
368
319
307
387
356
318
357
323
363
304
371
257
392
225
314
274
327
292
334
305
308
281
394
333
241
244
259
277
346
327
337
366
321
279
322
307
269
328
310
289
332
292
294
286
307
338
364
302
218
424
314
333
326
328
236
354
315
329
340
346
334
354
264
329
278
333
314
419
226
285
272
281
309
352
380
289
310
340
303
270
364
368
357
310
343
337
304
288
314
318
284
308
255
310
326
363
357
346
353
269
306
212
340
245
348
356
290
360
335
329
274
439
298
292
304
339
337
341
281
362
338
346
254
273
391
344
375
349
319
283
202
369
226
426
294
352
176
289
305
273
328
215
318
320
248
338
405
344
338
284
258
387
315
326
360
281
358
268
277
267
337
279
390
293
387
283
258
271
317
346
336
299
299
274
335
335
324
282
303
284
346
306
221
304
362
265
345
314
369
365
424
322
357
317
295
337
410
362
266
327
341
262
305
295
302
294
357
340
300
299
306
302
400
298
250
361
303
322
299
369
293
378
293
355
295
312
432
366
335
299
295
346
331
384
304
387
291
310
327
376
319
391
347
235
294
357
293
302
250
380
298
267
228
353
318
320
255
308
295
324
265
381
292
333
328
348
319
359
354
305
237
348
279
292
283
392
389
299
358
311
239
400
283
303
296
287
388
362
255
354
359
272
300
394
333
297
300
363
324
234
296
369
305
329
290
380
364
396
314
310
407
310
328
400
372
362
359
252
300
274
283
385
375
365
295
366
289
297
369
272
283
405
328
327
338
337
338
342
333
306
382
299
294
289
324
262
245
284
376
378
280
337
258
306
362
392
269
368
304
237
329
284
262
380
383
339
275
346
302
380
298
365
347
270
352
346
287
260
313
284
237
236
352
243
373
303
408
254
294
258
279
326
331
262
298
238
322
343
300
275
308
390
391
206
314
202
323
316
289
200
288
324
297
331
347
253
295
382
314
289
364
421
264
359
311
320
250
281
296
297
333
321
293
365
397
288
315
306
299
338
297
311
362
242
224
256
355
367
282
307
366
283
357
365
342
336
323
331
400
283
250
273
293
351
234
334
274
373
325
310
310
395
276
338
336
276
363
293
359
347
384
369
368
299
315
282
312
279
355
338
259
382
310
289
362
335
309
331
382
319
300
355
234
357
323
340
307
294
290
210
323
339
375
396
258
297
345
316
262
299
337
352
349
373
251
290
376
325
252
267
400
331
399
276
348
317
325
228
380
316
287
272
317
344
327
269
296
331
321
256
322
290
345
401
387
394
318
340
291
283
340
337
363
284
376
355
317
283
322
282
283
307
303
346
348
339
235
351
292
290
263
318
393
285
295
304
436
289
264
274
327
281
312
321
292
290
317
301
330
263
317
317
295
332
333
339
277
285
329
215
324
318
272
299
257
369
332
328
300
313
313
339
300
379
291
324
267
349
396
308
258
307
256
299
286
220
318
332
351
347
380
316
314
310
325
278
327
278
270
288
338
240
269
333
261
377
347
263
345
369
346
277
333
179
323
268
296
396
349
305
330
378
309
301
390
438
382
275
288
277
366
335
305
301
297
366
334
233
350
279
286
373
209
287
345
291
286
391
232
360
305
305
310
338
295
346
271
347
375
414
233
307
337
331
336
268
366
363
374
365
321
370
354
333
291
303
346
386
334
381
306
335
247
349
347
309
290
380
244
286
337
308
295
305
343
342
331
282
283
351
335
346
324
265
315
317
315
263
282
272
301
334
353
315
289
274
300
306
278
283
282
309
323
294
198
318
316
335
350
294
334
270
264
255
284
296
298
270
338
302
319
304
328
333
364
371
370
369
316
314
299
270
325
317
235
312
341
267
298
308
267
255
297
301
248
303
298
345
335
291
304
334
226
367
223
261
267
330
247
323
303
310
348
307
420
284
380
314
196
284
284
195
355
238
257
339
307
338
336
295
317
266
296
303
294
399
298
268
344
396
386
345
241
318
363
353
345
279
354
335
395
318
301
331
298
276
314
307
219
334
369
366
334
251
411
313
354
311
277
370
295
316
368
351
296
378
334
440
287
356
389
344
274
311
233
275
373
267
334
261
300
241
237
323
309
288
419
373
337
274
312
355
293
193
347
297
270
311
350
243
238
309
406
327
278
375
308
278
358
388
366
369
396
375
324
250
314
308
332
288
378
279
377
258
378
248
461
355
318
305
310
276
326
273
305
393
237
310
294
344
399
255
265
319
338
305
292
350
277
332
344
301
324
353
316
370
264
248
330
352
406
282
306
392
370
300
231
401
346
263
383
278
194
304
366
334
324
327
339
277
319
303
303
298
306
316
301
306
333
317
326
356
349
383
316
341
307
294
373
364
370
271
268
357
318
281
219
345
289
369
342
341
355
343
325
308
317
390
302
322
302
383
306
290
358
278
339
323
375
370
237
307
368
344
211
308
303
276
238
280
276
341
357
238
373
255
358
287
296
289
317
320
383
330
331
353
286
280
409
275
281
312
321
306
344
382
323
301
331
266
279
401
348
225
363
273
330
373
335
296
365
350
421
343
355
279
299
371
263
350
389
237
251
310
294
351
292
347
355
260
313
372
329
373
347
328
340
373
276
328
294
360
396
379
311
320
364
408
373
354
371
297
306
372
290
363
344
370
202
353
291
336
396
337
302
247
328
313
285
314
421
269
291
350
355
336
397
333
269
394
371
333
201
291
277
276
287
323
283
354
311
303
307
307
321
280
356
295
296
303
370
304
347
334
273
330
346
427
310
282
354
271
187
231
244
366
321
287
248
366
294
288
322
234
379
327
279
237
327
318
228
372
359
345
382
367
351
286
338
256
284
286
300
269
355
304
240
342
362
228
255
264
360
350
338
382
336
369
371
340
333
325
368
321
366
368
306
363
358
281
323
386
297
332
215
233
368
409
372
453
266
251
267
368
367
358
310
295
353
283
362
370
374
343
357
204
243
334
367
284
342
304
293
328
354
344
278
395
315
313
251
307
285
337
332
262
370
292
382
344
325
338
313
336
277
303
307
362
308
284
336
304
193
302
314
251
383
240
366
206
386
307
337
316
282
334
354
303
256
215
293
343
279
366
308
284
305
311
294
344
299
300
359
348
315
328
295
254
282
329
371
375
394
276
338
361
343
305
352
292
317
322
341
270
403
363
354
237
253
331
403
282
323
354
374
281
296
278
314
281
245
320
249
422
296
354
379
311
310
331
274
231
321
300
273
302
373
333
351
246
361
270
322
256
290
289
323
301
254
293
208
306
259
407
362
336
320
293
232
335
273
306
331
316
366
318
290
350
263
278
333
363
295
335
369
302
321
199
296
356
363
331
377
318
341
328
284
320
301
383
344
366
330
319
303
312
361
276
297
377
312
392
379
315
390
324
382
286
313
320
237
255
283
342
319
374
253
341
238
341
352
391
309
282
333
308
336
326
293
258
374
238
296
351
269
348
322
293
318
258
411
358
326
350
286
284
309
311
331
310
306
291
309
200
345
348
324
363
311
295
378
358
327
359
278
297
229
260
304
336
309
354
323
376
338
227
319
269
261
332
298
304
340
315
358
292
277
281
363
319
321
269
320
297
362
300
287
219
340
308
282
270
271
360
354
302
301
312
297
295
330
339
414
372
334
387
327
366
281
322
293
321
335
342
227
289
345
291
353
377
294
286
322
302
375
277
333
344
321
297
279
300
317
356
384
241
272
368
237
332
303
321
284
386
295
320
275
295
334
383
271
243
276
337
397
346
336
340
291
368
313
336
263
373
300
262
315
232
345
341
241
292
341
376
321
291
298
294
345
295
358
374
379
340
350
314
365
283
328
436
321
258
318
311
333
316
371
260
315
367
350
273
322
309
259
282
390
282
335
315
337
342
338
292
218
343
325
386
457
331
337
307
315
307
252
384
224
244
273
398
276
319
195
339
342
304
342
315
339
320
297
363
333
383
206
379
301
316
271
294
313
278
346
295
352
345
315
278
394
258
221
268
336
278
328
369
304
292
320
372
333
315
345
276
389
367
343
372
273
415
338
321
278
313
313
264
306
297
288
287
348
335
381
388
358
313
302
279
310
320
326
264
333
335
361
201
389
372
361
383
279
303
321
341
313
314
316
323
337
321
223
351
277
378
349
420
304
391
411
369
294
320
341
304
287
308
226
293
275
251
234
257
272
306
313
332
325
327
356
316
328
306
321
253
250
334
342
407
314
366
332
332
275
353
244
407
255
397
380
349
343
304
319
313
329
257
350
328
232
432
360
311
358
321
313
324
324
345
273
363
276
304
318
336
295
321
306
329
334
310
338
432
320
414
283
291
350
257
299
261
301
336
352
356
365
343
313
258
337
305
303
239
340
356
304
310
371
317
319
347
242
365
414
356
254
352
359
239
286
346
317
303
350
412
294
215
366
266
315
279
330
316
272
363
254
333
309
359
378
336
323
354
272
350
309
325
351
240
307
276
349
278
316
259
288
401
277
298
355
299
298
279
379
321
307
295
314
267
264
270
264
297
292
324
379
236
261
306
409
309
296
384
285
284
333
343
305
258
357
344
336
343
407
358
320
331
332
362
325
389
289
304
350
394
294
305
271
347
396
309
361
302
334
384
347
291
305
367
326
348
363
316
313
279
310
291
361
372
412
399
314
309
303
383
369
316
368
271
315
260
372
343
345
353
393
301
261
351
351
264
375
277
314
313
283
276
301
309
318
332
297
317
392
332
356
338
375
363
381
421
287
404
250
360
304
316
341
320
366
298
292
384
365
305
384
359
271
335
300
354
318
335
268
323
234
353
303
301
427
319
330
308
282
309
358
365
260
294
379
323
247
308
330
293
388
334
338
373
342
286
362
347
310
305
344
355
387
291
276
290
321
293
338
295
288
260
350
379
251
330
357
289
306
309
268
268
277
265
257
296
368
357
330
349
307
385
348
293
276
307
402
338
279
323
289
373
283
300
267
291
259
391
372
326
317
279
303
303
300
298
334
412
273
292
388
321
270
320
318
333
277
315
331
339
302
339
355
277
316
309
356
269
274
342
288
343
369
285
398
236
268
345
257
272
307
342
314
313
349
383
248
363
317
298
373
354
297
373
360
317
294
362
288
323
295
146
333
393
339
246
319
289
390
290
342
336
286
274
331
354
319
241
344
279
261
242
358
330
212
333
289
366
385
339
351
326
408
400
275
338
279
328
353
270
343
287
424
394
342
329
325
292
294
316
317
266
308
368
352
344
247
289
284
324
302
313
322
290
337
293
349
238
372
356
399
265
397
378
351
201
362
374
407
317
414
272
343
290
360
369
368
297
293
437
380
245
383
354
330
288
377
366
401
266
299
375
385
304
303
290
303
372
332
295
294
262
369
289
376
281
318
296
294
347
312
400
245
400
409
280
348
295
321
324
345
276
268
357
276
280
347
319
301
308
376
338
281
286
347
325
349
283
278
341
329
369
364
327
292
328
240
306
310
244
325
256
317
411
281
305
302
272
241
231
309
390
344
218
286
400
348
313
362
308
339
363
303
304
397
348
350
384
429
324
354
260
287
294
310
285
290
252
351
335
314
354
358
326
346
344
338
410
332
353
321
370
292
228
360
302
326
268
264
329
353
346
341
248
293
263
323
349
328
280
307
319
261
343
333
355
352
306
333
194
309
339
406
300
274
339
303
346
340
353
264
319
261
308
329
274
318
314
283
316
309
256
249
251
311
368
395
332
284
392
340
390
381
311
272
303
270
309
400
304
347
378
379
334
253
381
360
242
285
305
316
264
298
312
418
304
377
352
304
338
352
282
302
292
310
377
345
353
339
285
344
242
290
309
359
394
286
287
371
412
251
303
276
297
280
256
362
271
296
363
310
335
300
259
311
297
345
336
355
287
251
395
296
375
353
256
336
327
342
375
273
361
323
319
327
339
315
332
281
320
276
264
312
257
311
435
357
295
268
286
372
337
336
294
375
327
263
288
391
285
311
308
262
344
360
318
320
273
288
337
329
189
348
268
343
333
333
342
274
364
310
344
382
302
379
340
329
263
280
312
299
321
328
374
343
277
293
365
334
325
335
294
356
341
300
308
292
380
326
326
416
427
301
318
344
307
330
395
331
300
327
285
272
247
367
281
371
318
298
324
308
255
290
257
346
285
333
275
364
409
330
344
268
297
414
359
333
281
323
334
202
279
385
276
316
299
305
308
302
339
296
272
332
352
341
355
281
321
393
326
279
299
314
237
412
306
300
324
349
288
257
330
288
332
365
275
286
289
288
372
297
199
296
298
298
294
293
328
320
323
339
388
271
340
321
393
271
329
254
355
315
272
329
298
274
356
282
348
344
298
372
353
371
269
340
278
312
399
309
351
309
338
326
282
269
338
229
350
313
292
327
366
332
382
330
417
303
327
348
324
336
395
410
264
328
256
272
303
252
222
298
280
286
371
305
344
351
321
285
353
337
341
335
327
333
290
384
301
298
305
318
357
352
359
347
250
306
294
351
377
262
315
371
290
377
346
237
340
301
278
343
331
328
271
335
328
330
301
371
317
391
352
309
259
319
370
324
318
281
352
291
283
317
299
254
307
289
378
346
328
383
251
329
289
384
278
264
350
320
317
269
309
316
224
359
375
341
375
369
366
223
315
328
332
314
337
351
218
269
180
343
257
318
370
293
354
363
387
278
310
275
301
380
253
339
363
271
386
376
333
275
336
262
389
331
316
294
314
313
379
389
377
348
420
319
299
292
308
329
287
369
240
315
275
284
360
289
297
295
347
402
267
365
301
264
291
275
334
337
350
317
215
320
372
333
334
324
259
377
264
263
319
332
343
267
275
328
364
366
341
325
383
405
314
401
290
380
380
280
346
366
351
369
435
258
273
236
317
316
259
344
236
238
281
310
288
302
271
371
289
333
310
304
309
272
354
268
309
379
363
390
336
297
369
316
258
286
396
300
286
345
277
336
243
401
300
275
265
356
229
358
263
391
306
329
386
249
324
324
292
316
345
340
356
384
365
300
344
347
264
338
283
287
291
317
264
335
254
283
340
443
311
370
295
346
315
273
332
267
379
326
363
349
228
241
310
298
267
320
283
418
342
319
264
347
295
377
264
370
308
294
377
358
360
391
318
318
276
342
280
248
306
297
281
336
268
268
249
331
277
360
379
306
314
305
281
366
352
354
279
297
295
289
299
399
354
305
299
325
237
304
292
321
397
411
341
323
245
322
333
362
282
325
385
321
377
333
288
251
348
299
341
332
355
263
387
332
352
327
310
332
309
263
270
328
312
309
383
321
307
265
284
326
357
307
253
242
370
342
399
368
389
365
299
297
311
329
350
365
385
292
272
351
359
267
373
333
313
300
314
394
373
283
344
342
326
340
305
267
294
254
317
282
325
290
304
383
308
382
384
344
296
335
334
314
340
293
267
362
333
424
358
354
387
334
283
219
311
400
286
337
280
334
367
231
343
321
290
341
305
294
269
353
298
414
364
317
306
312
316
339
247
345
312
335
326
317
352
402
303
300
402
386
379
341
322
267
325
324
254
330
320
310
341
327
323
326
352
361
364
299
254
366
318
334
365
358
402
323
328
342
373
238
337
375
282
261
241
329
319
244
264
327
323
357
242
312
304
358
365
328
295
291
379
341
346
338
309
430
351
346
282
352
341
325
248
338
311
288
192
306
400
327
353
288
278
356
313
373
350
316
266
282
260
233
384
289
357
325
338
375
276
331
266
301
312
300
286
364
409
306
309
337
383
254
311
262
324
320
238
322
336
286
383
289
242
367
294
325
338
346
297
417
319
319
268
337
381
311
376
353
274
327
362
251
271
304
331
350
384
326
310
320
300
280
300
267
290
301
314
335
233
333
332
385
312
313
261
312
320
290
375
326
395
361
269
394
355
294
328
263
218
297
312
332
290
222
319
312
290
307
364
313
275
363
356
310
321
341
353
331
258
377
294
267
344
295
300
337
322
389
421
264
290
262
275
330
327
426
318
324
217
381
290
284
309
293
389
265
245
378
325
277
299
436
265
342
269
371
307
357
252
322
359
327
347
238
229
358
344
302
325
247
325
292
371
257
354
335
319
317
286
345
259
331
342
283
355
339
340
261
368
334
298
338
264
306
313
366
300
390
225
243
319
359
321
324
378
285
346
323
350
284
354
362
252
295
321
332
301
336
298
258
367
347
297
274
239
373
308
371
321
282
321
360
359
320
260
369
243
313
269
292
296
325
412
391
235
256
337
333
346
240
211
318
339
285
296
312
264
375
366
322
267
318
353
308
346
353
379
362
367
301
263
285
238
282
352
365
366
311
298
360
321
358
292
372
316
376
366
280
382
394
281
281
321
283
260
340
259
260
292
303
341
338
253
280
311
291
300
310
369
299
299
311
361
340
342
242
329
358
321
299
366
374
335
316
285
372
304
406
259
271
335
279
334
283
302
332
353
377
224
350
182
391
335
233
315
314
377
330
285
313
297
384
273
382
340
356
247
221
349
282
299
310
290
270
335
354
286
296
278
374
352
231
417
343
263
270
277
254
299
292
292
250
313
358
222
293
381
311
279
335
325
319
240
344
225
303
313
282
300
362
365
323
299
321
294
395
330
338
262
326
344
401
279
312
313
310
352
360
224
381
275
367
253
334
270
267
275
321
281
311
288
359
330
298
254
382
320
333
372
355
358
338
340
362
437
337
326
376
292
322
324
325
334
332
344
358
330
266
373
275
277
309
382
293
369
343
367
271
388
337
378
292
313
416
232
427
308
335
315
345
374
345
346
354
349
313
353
336
353
253
295
333
306
335
279
382
270
309
295
347
281
314
306
374
348
346
338
237
321
263
268
420
335
259
342
221
263
296
332
373
300
306
317
366
271
264
398
340
365
312
351
197
376
287
324
339
303
295
303
305
322
215
378
298
310
339
358
307
335
311
232
344
359
287
356
318
307
305
280
341
348
422
337
306
329
301
346
364
358
246
293
276
266
226
272
279
316
401
358
362
410
347
267
237
341
371
253
272
340
293
320
345
316
314
347
315
381
311
268
333
318
307
386
274
322
281
340
262
347
332
328
379
347
288
345
402
273
303
272
306
295
269
359
370
373
298
260
299
295
373
295
391
350
312
350
269
339
295
346
225
223
292
256
346
265
305
345
295
241
273
359
269
338
369
399
294
368
297
315
328
321
401
409
441
312
275
384
335
307
262
322
292
323
316
370
409
225
253
329
209
242
311
293
342
319
290
323
278
328
319
311
334
341
309
276
264
268
358
425
363
243
265
344
338
288
311
215
380
303
342
247
282
339
341
324
269
227
358
301
277
300
295
364
350
274
309
352
338
363
366
325
360
365
278
291
350
320
339
361
259
352
267
337
350
275
328
364
289
356
319
383
292
389
298
385
323
327
436
354
249
336
387
306
337
380
247
293
376
357
352
389
398
303
278
275
358
315
257
265
327
332
331
264
325
348
328
363
343
351
316
341
339
234
339
331
258
253
290
382
352
276
340
326
370
280
262
358
306
328
359
324
326
294
330
331
320
285
352
316
298
269
294
379
329
305
217
303
385
299
332
289
334
249
323
320
264
292
221
291
356
327
309
313
257
360
323
259
318
324
290
285
270
306
306
310
241
326
293
411
273
254
305
298
342
315
304
355
253
199
335
303
343
297
332
366
311
298
322
349
271
268
351
334
379
279
364
302
263
291
289
285
327
371
340
350
296
334
303
371
284
369
247
389
267
346
288
433
294
320
343
392
313
363
321
276
246
242
297
321
262
318
380
358
345
390
320
233
339
255
291
319
316
349
263
292
313
277
382
327
247
309
331
310
304
340
228
376
386
350
266
253
361
280
342
325
236
283
303
332
338
388
296
291
286
300
320
366
387
388
310
249
354
294
355
295
279
349
379
351
320
290
324
324
307
289
323
328
317
333
285
335
373
345
290
354
278
292
323
255
365
327
358
341
383
372
299
388
317
337
319
346
279
364
356
290
280
344
355
331
306
333
373
319
244
348
344
402
333
330
407
362
335
256
232
345
351
279
328
325
242
287
287
372
351
325
311
228
422
281
326
367
246
321
315
351
316
372
363
281
305
352
332
265
306
402
319
342
340
340
278
299
263
340
354
227
310
323
305
256
352
348
248
342
315
380
328
314
364
220
293
326
247
329
245
278
359
308
281
304
320
263
311
307
297
277
285
353
298
368
342
307
366
354
316
278
324
344
392
253
328
374
338
420
338
299
306
340
330
257
263
306
330
212
267
339
391
297
277
327
309
276
321
336
303
284
290
323
300
330
419
302
339
409
364
220
308
317
346
318
327
275
358
341
301
302
327
352
359
332
265
287
286
361
359
292
271
263
412
340
357
334
319
304
343
302
366
217
345
323
317
339
382
368
292
359
317
354
267
351
374
312
284
263
337
313
409
352
336
271
320
278
415
317
343
356
293
408
261
277
324
358
275
374
383
354
370
272
300
348
212
337
356
340
287
196
314
285
400
306
342
320
276
333
361
265
320
270
275
199
279
324
290
299
327
347
312
327
321
340
327
314
300
271
341
336
340
336
316
236
227
260
370
265
332
176
237
316
263
344
256
290
290
415
398
348
229
279
325
304
356
330
281
332
357
332
367
274
301
384
347
379
324
425
322
251
357
310
335
318
300
311
295
360
338
270
304
299
207
294
352
374
342
309
295
304
299
318
233
348
304
283
358
298
366
242
304
141
289
343
307
330
314
338
370
284
330
272
335
386
313
296
222
278
323
327
256
259
354
386
293
276
358
357
307
286
300
364
417
319
286
258
310
260
370
273
335
299
353
255
393
312
322
316
333
384
354
279
325
328
326
267
343
286
269
327
330
311
204
219
322
329
346
305
338
329
328
315
352
291
342
365
329
346
360
309
285
366
351
366
259
322
310
257
322
374
286
324
364
321
401
343
349
383
312
356
360
361
302
327
282
341
310
268
273
287
330
318
302
288
312
354
279
269
361
231
276
388
339
322
399
287
254
322
340
238
334
297
330
324
310
390
316
319
250
395
388
259
241
282
374
384
224
291
367
324
301
339
353
374
336
361
363
336
347
326
260
260
259
352
285
352
354
358
394
314
301
337
364
304
288
341
367
392
282
318
361
357
313
393
392
384
325
293
377
325
318
316
272
370
270
251
278
432
337
306
331
409
271
271
301
353
263
279
328
357
259
342
294
299
324
242
204
338
358
389
370
294
311
299
255
343
246
285
370
340
269
348
389
356
287
328
284
317
336
246
338
338
271
251
290
336
254
246
307
307
238
272
274
347
286
310
281
381
382
271
341
317
411
368
320
339
321
300
223
313
266
289
321
304
283
275
237
368
358
309
411
298
291
348
250
251
277
387
308
399
252
403
303
346
275
359
358
323
376
350
278
335
349
228
259
345
284
303
344
262
335
373
326
199
320
299
321
270
279
311
295
319
284
346
337
324
345
274
242
364
325
211
333
392
306
402
282
314
284
340
284
370
329
341
314
351
314
281
264
338
365
298
399
349
271
217
253
305
276
267
353
292
321
338
423
359
311
340
375
336
342
361
299
301
340
269
283
322
305
234
315
341
274
376
313
357
284
290
387
278
336
387
348
342
377
263
408
279
386
295
299
299
357
278
310
315
354
300
302
303
333
348
331
354
349
359
374
280
333
354
357
334
282
312
251
301
441
319
359
265
184
307
380
272
285
319
329
291
292
274
308
261
270
326
298
264
363
352
334
303
306
198
293
309
342
349
316
328
275
310
333
318
344
307
296
273
330
345
402
390
246
290
253
340
391
263
319
334
235
276
267
343
296
304
391
332
311
283
303
380
360
359
435
338
312
321
294
309
314
300
290
367
338
360
328
263
278
307
350
280
369
262
388
304
237
288
267
320
401
261
353
329
229
308
354
374
365
285
307
302
279
353
298
367
378
282
251
297
244
303
291
324
393
346
311
284
348
318
296
355
295
298
375
358
340
292
358
259
334
257
360
320
216
347
325
282
422
340
376
343
365
247
365
300
340
259
319
353
369
313
389
326
344
362
326
355
304
325
327
283
362
302
349
303
271
304
231
275
337
322
336
282
367
260
332
325
301
291
313
248
338
396
319
262
262
277
296
239
387
276
317
259
288
347
354
326
370
380
283
313
363
408
330
375
271
336
319
274
338
365
335
240
371
324
340
361
315
296
286
357
249
255
357
290
347
262
290
366
318
283
318
307
328
409
378
281
266
342
293
264
271
311
404
251
403
333
294
365
330
310
306
390
285
357
281
314
284
251
329
364
322
278
254
353
323
346
404
336
373
347
279
367
291
268
314
336
293
245
283
304
337
264
287
305
293
295
356
332
276
309
277
275
321
314
270
387
322
339
295
293
236
300
364
344
341
282
275
372
363
329
342
280
230
283
384
376
278
265
306
346
297
343
423
250
235
385
354
411
331
288
307
394
317
313
334
348
316
268
328
245
298
297
313
305
300
251
228
289
339
351
280
314
300
294
328
295
332
267
316
272
338
311
258
274
406
316
308
374
335
310
272
318
286
360
249
282
360
248
337
301
367
245
318
241
346
295
336
304
301
285
329
281
381
324
298
320
268
340
348
309
379
317
297
347
318
242
243
377
396
335
232
349
341
211
256
325
234
274
344
306
315
326
357
356
239
283
358
283
288
326
367
390
339
223
292
341
265
340
273
305
310
354
248
310
374
366
401
339
277
390
324
316
364
329
358
300
382
337
288
327
411
284
312
342
371
352
366
375
358
328
395
410
260
299
340
350
294
375
371
336
320
348
269
355
310
356
340
186
229
291
347
320
257
298
316
259
384
292
351
370
346
298
322
330
351
413
300
372
296
432
337
352
295
320
291
258
275
355
323
398
419
274
349
316
258
329
281
336
389
225
326
314
333
240
304
371
340
304
401
353
365
365
404
300
307
387
368
376
326
384
282
358
346
319
336
243
353
293
290
305
288
398
283
316
329
349
277
288
307
330
348
274
321
299
271
275
326
303
257
273
251
325
334
284
320
324
297
240
310
272
398
282
326
346
318
335
319
406
288
312
348
312
292
268
333
346
313
360
325
291
353
344
344
349
411
301
256
359
387
296
308
331
227
318
375
343
322
373
298
349
300
293
324
237
348
372
337
390
323
292
368
366
270
273
251
280
374
346
246
297
377
342
243
387
301
354
346
325
322
309
259
304
282
324
272
322
269
345
338
362
264
278
308
305
353
349
287
359
314
429
313
270
350
366
335
283
293
346
358
459
287
342
287
201
367
345
375
314
346
295
361
348
346
342
335
282
274
291
355
301
337
358
406
362
301
388
353
326
396
349
340
397
368
285
300
309
285
352
384
266
318
334
314
324
281
325
361
346
353
354
321
354
299
282
359
264
305
337
416
318
377
229
419
363
318
209
335
296
320
308
386
329
320
322
343
325
252
317
283
291
321
248
329
311
279
368
335
374
310
334
365
291
333
270
290
357
376
352
305
290
363
307
302
368
424
343
257
269
351
343
333
330
233
284
336
367
326
273
337
366
287
267
290
275
337
334
355
318
294
305
262
282
357
297
295
383
356
325
250
270
426
271
336
248
289
231
313
295
300
332
333
348
294
383
407
344
330
300
357
360
232
252
402
340
369
337
335
341
374
336
353
386
336
371
262
290
302
348
297
362
283
301
315
301
271
310
343
367
256
292
317
241
287
332
302
340
336
439
313
308
262
268
319
297
293
314
242
274
249
258
354
337
290
278
281
328
302
269
306
287
328
341
359
330
411
365
275
328
372
311
317
369
308
357
293
355
277
264
334
335
328
344
359
370
327
267
240
272
270
300
328
340
289
261
292
312
325
330
288
272
301
331
288
264
331
352
343
296
384
349
301
326
360
393
275
385
153
401
252
328
310
239
364
320
369
395
315
329
298
374
340
292
368
354
323
335
317
366
276
250
343
312
313
292
333
372
383
301
343
311
420
204
374
323
349
345
327
336
328
353
289
262
325
340
312
308
250
332
330
383
347
402
331
290
329
346
325
400
366
303
332
286
268
364
345
263
321
377
382
287
231
278
361
341
377
282
340
342
260
290
361
409
306
245
260
286
339
312
365
288
322
276
311
329
294
310
284
390
277
378
347
231
243
279
381
348
367
287
304
286
340
303
358
356
215
247
209
329
277
366
362
264
338
288
363
301
267
376
385
380
353
312
292
296
258
277
319
308
300
320
287
360
289
323
323
377
362
387
283
361
355
203
295
266
293
293
250
325
276
366
356
256
317
290
367
346
232
357
278
260
267
409
344
182
275
365
344
267
243
348
263
310
326
216
343
262
286
271
283
284
307
287
328
249
313
320
368
375
279
304
402
296
264
287
351
376
364
392
289
331
353
285
328
287
283
326
340
357
323
370
365
317
362
285
338
348
302
273
293
310
388
229
383
347
351
335
291
362
334
298
281
363
341
282
344
357
330
301
288
328
238
357
282
268
380
333
312
380
300
367
321
317
316
318
382
308
271
347
270
354
295
295
344
293
320
406
307
330
266
354
339
287
378
368
318
306
328
339
317
274
342
316
343
340
263
277
332
253
337
370
310
382
344
371
344
361
327
304
344
320
304
218
212
377
307
303
248
352
314
289
326
240
319
253
323
346
365
336
297
355
272
344
372
297
322
318
290
290
252
263
324
325
334
303
317
269
297
275
349
383
292
250
307
318
294
351
403
303
306
352
309
374
296
289
284
279
323
353
316
368
249
436
388
336
288
357
284
375
313
333
308
363
279
337
344
292
208
331
286
257
265
227
289
306
397
296
352
349
226
310
414
355
389
291
375
243
314
238
392
271
291
371
352
279
223
328
325
307
350
284
310
410
345
293
278
290
390
330
409
236
382
235
344
267
281
409
328
334
383
303
271
326
387
270
350
342
290
280
382
302
309
283
333
271
263
283
258
275
231
248
293
248
326
270
367
292
289
405
357
248
257
268
322
298
342
280
308
234
410
301
264
337
402
293
308
345
318
315
280
296
303
383
222
366
303
310
345
316
348
327
388
301
383
361
306
305
381
362
305
339
289
262
322
309
397
287
350
291
364
300
354
255
333
368
316
423
309
314
328
424
266
291
341
219
329
309
303
303
328
374
327
313
299
328
250
351
344
297
326
211
314
271
379
329
361
355
309
355
344
343
327
301
426
258
337
327
409
359
383
371
284
338
273
310
309
333
316
239
349
271
289
298
396
238
256
281
357
325
335
283
304
270
263
376
337
389
376
318
354
409
284
320
322
329
390
420
329
296
319
308
305
338
219
262
367
238
322
266
361
286
276
351
313
300
314
312
297
318
417
346
357
376
280
304
337
333
373
320
292
302
371
328
301
291
320
337
379
291
302
321
285
300
315
357
353
352
201
341
243
371
366
342
289
306
291
280
299
347
336
291
297
375
265
279
340
323
335
303
323
315
357
400
324
239
323
369
386
378
356
285
320
354
332
330
411
341
316
383
350
286
369
325
293
347
239
287
343
264
391
288
337
255
283
361
257
250
301
269
332
337
279
360
309
329
349
298
315
298
346
362
268
372
297
389
289
293
364
282
350
246
316
290
297
305
208
239
272
226
312
201
305
354
287
357
366
299
307
312
274
280
192
338
413
320
419
227
326
339
232
340
321
363
364
351
272
285
303
225
352
369
390
285
366
319
353
326
259
350
387
373
323
358
305
304
335
317
283
223
223
359
266
329
351
308
327
335
290
315
295
256
300
381
329
289
315
326
354
316
353
259
346
324
373
320
349
323
304
320
407
320
316
288
342
263
290
322
331
287
338
390
367
263
349
299
226
291
400
271
340
310
375
333
325
375
230
235
260
258
253
368
352
303
318
292
295
250
309
247
354
302
311
379
226
369
278
348
344
322
347
297
314
385
380
304
330
354
366
297
251
301
349
355
191
309
320
295
295
255
314
362
284
328
361
292
300
338
313
312
316
305
294
298
372
315
298
345
366
285
250
410
314
369
304
303
288
273
305
319
277
269
346
369
263
271
367
312
286
259
322
271
332
379
373
383
254
321
322
282
334
291
336
361
275
349
401
387
265
283
350
325
404
277
342
379
296
358
286
312
399
320
307
326
302
316
306
349
372
273
305
388
296
285
240
276
344
345
366
333
341
285
304
260
330
267
367
282
334
312
308
313
256
303
357
253
315
369
370
282
376
301
325
262
374
358
229
317
322
311
344
262
355
237
313
323
339
365
331
366
329
322
310
410
342
296
321
287
313
340
347
309
372
336
314
347
206
316
304
328
338
340
265
233
448
332
297
276
287
263
218
327
301
356
231
325
376
359
311
316
334
304
376
280
242
375
341
375
345
350
258
325
318
285
341
327
362
266
332
337
371
336
278
391
304
317
261
229
336
323
333
249
312
432
323
344
304
269
317
314
281
298
384
321
285
447
293
361
301
260
277
346
234
303
394
301
294
279
299
317
315
275
314
381
406
367
276
304
383
271
282
376
311
387
310
316
329
373
350
203
353
295
340
268
321
286
254
344
280
350
316
320
375
412
309
256
265
317
318
293
331
335
289
332
312
337
341
324
271
300
356
313
261
266
321
378
276
296
233
322
337
331
306
298
245
376
305
319
337
353
256
307
304
331
321
309
279
361
257
344
291
292
383
343
305
397
321
276
320
302
315
315
409
322
389
289
371
302
273
229
327
268
367
244
298
365
269
330
244
321
365
284
390
325
295
274
397
296
405
365
345
421
354
359
320
322
231
329
292
411
354
390
279
365
283
297
318
301
357
356
295
342
280
358
304
260
317
296
244
335
352
363
333
361
315
319
332
247
321
353
372
283
255
331
309
332
319
378
282
247
229
374
274
346
299
300
435
396
300
245
246
281
343
251
360
288
270
350
265
282
260
353
321
235
363
298
286
342
326
255
384
283
351
311
162
306
297
314
280
364
300
330
328
269
414
279
263
293
377
268
325
343
340
303
307
357
247
243
253
408
335
327
242
276
317
356
347
321
258
316
282
311
292
324
335
302
272
291
285
364
332
257
245
302
277
278
283
368
369
308
291
319
298
246
310
265
323
394
362
380
321
388
234
345
356
292
294
341
336
313
292
288
328
304
289
286
342
338
360
332
294
290
336
356
334
323
314
290
314
333
296
298
362
345
340
346
268
371
309
271
347
354
356
332
320
311
314
392
291
305
325
293
309
393
273
365
322
300
300
302
260
329
248
337
349
334
320
333
288
376
286
418
273
315
386
297
364
255
288
321
354
336
312
251
384
357
269
359
322
242
398
321
254
358
311
328
306
302
341
342
372
281
337
307
381
353
274
348
302
301
270
290
280
324
371
337
348
228
323
293
250
253
346
310
284
307
281
324
302
330
298
362
320
365
403
293
293
372
320
305
302
307
324
382
348
314
301
371
289
224
340
301
352
302
354
297
313
273
256
355
299
320
280
290
314
247
296
380
278
371
328
378
298
328
344
340
369
292
289
351
307
246
249
353
340
325
306
369
267
286
389
399
321
259
325
333
323
322
369
349
311
361
287
353
312
339
363
326
236
351
350
237
250
319
275
276
272
311
330
343
302
415
312
302
328
205
248
322
214
339
350
289
348
336
287
372
320
281
260
349
263
297
241
295
293
355
344
273
249
294
341
263
330
304
299
341
342
320
350
381
345
343
297
328
319
353
274
350
292
290
287
261
367
285
186
325
342
250
261
327
286
286
349
305
300
222
387
294
264
304
266
315
327
438
331
329
359
406
317
308
335
342
341
368
344
312
308
387
320
313
349
231
360
310
284
245
336
290
321
355
348
242
323
403
360
324
352
270
355
354
307
342
330
307
281
333
351
248
269
337
404
330
316
364
347
291
320
318
335
372
359
356
398
348
273
253
333
285
326
347
335
382
279
350
294
297
289
356
321
336
382
301
348
280
261
347
338
296
358
335
331
325
262
246
354
298
399
270
256
162
298
392
366
223
283
289
429
366
237
299
228
300
396
311
277
286
361
398
427
354
339
222
250
368
329
377
294
304
290
348
313
336
383
370
334
295
363
277
276
292
341
257
259
437
245
278
317
308
355
258
295
368
306
314
284
338
252
294
304
325
285
268
356
352
323
320
246
317
334
302
330
343
262
293
294
438
317
333
356
332
310
312
365
318
242
347
386
334
342
288
285
354
353
383
272
248
326
359
266
325
359
325
305
367
302
316
388
234
336
310
355
376
332
380
262
311
322
280
415
369
376
304
337
354
270
323
359
349
431
340
355
359
357
225
286
353
336
300
369
403
339
269
263
326
221
301
271
268
294
312
377
344
267
258
281
322
337
315
337
405
271
331
369
306
294
283
351
373
327
366
361
356
376
388
296
411
354
263
256
366
373
305
295
306
355
252
380
279
239
380
325
327
349
256
398
295
412
298
362
121
332
368
323
314
237
354
333
287
213
306
351
297
333
280
360
376
301
437
297
366
353
389
368
293
330
335
262
319
366
297
358
293
349
277
414
312
421
419
306
256
237
285
268
347
292
294
379
334
284
294
252
325
235
396
385
332
299
249
326
276
326
261
311
304
300
342
386
328
317
241
276
257
372
308
369
312
259
341
242
356
323
387
299
332
307
361
363
335
258
261
299
409
290
341
254
358
342
339
273
369
347
400
296
329
297
278
297
299
299
320
345
259
389
334
307
298
246
307
306
313
315
333
373
279
291
289
349
306
339
362
306
294
313
351
406
322
303
329
367
356
273
296
358
349
383
287
301
291
335
256
317
252
359
383
271
289
339
330
272
374
231
308
275
325
338
286
336
320
295
254
358
316
352
331
228
314
388
328
304
299
309
335
410
381
218
330
241
270
386
325
323
365
332
326
263
297
237
309
322
311
286
267
310
278
367
381
258
264
338
279
244
383
350
282
366
308
329
256
302
354
257
326
340
397
336
269
326
348
285
365
268
296
347
342
199
357
279
335
388
348
315
361
340
293
272
366
368
359
335
297
356
270
317
317
272
350
341
173
268
400
296
323
268
292
277
431
324
365
370
339
344
299
292
286
383
287
222
330
337
292
333
346
391
313
302
321
277
376
270
243
329
316
300
335
330
280
389
340
379
298
282
303
300
248
234
341
310
276
352
261
277
325
294
345
364
312
269
381
259
291
320
383
286
322
315
310
292
262
347
302
368
272
357
306
287
351
350
321
282
395
276
302
348
377
295
269
387
252
265
289
302
254
263
332
243
262
293
341
301
238
305
264
384
271
312
271
308
337
305
338
258
370
342
322
324
402
378
337
376
333
371
246
273
287
279
304
362
291
290
399
224
276
368
287
345
279
308
273
294
291
350
288
286
261
277
371
378
295
323
264
206
361
298
282
288
314
311
344
348
351
282
346
263
266
183
306
311
247
295
362
297
271
369
322
241
286
232
269
325
268
308
316
321
333
375
377
337
372
354
298
359
340
252
345
311
338
321
257
358
325
323
292
340
302
325
293
335
426
336
321
270
329
305
336
325
334
332
293
268
314
238
281
282
331
356
330
296
329
371
335
341
300
296
276
215
370
374
237
232
414
321
203
310
296
257
340
256
353
375
283
393
297
293
316
352
255
243
373
382
312
287
310
343
383
330
387
300
301
325
338
329
314
273
271
329
272
262
309
306
261
349
300
287
383
334
344
293
362
330
256
312
366
262
407
345
395
315
315
286
333
366
341
339
319
387
307
309
384
321
292
325
355
331
337
277
430
325
356
325
317
337
343
269
326
336
354
300
434
357
292
309
278
360
377
335
315
348
291
255
348
357
374
337
373
357
355
341
277
354
265
306
296
346
272
268
333
321
241
250
312
267
405
286
296
430
309
313
235
323
267
246
297
317
388
317
382
365
287
259
297
300
321
328
258
310
325
358
280
409
250
364
266
306
309
333
385
336
281
328
300
275
264
293
348
322
322
325
276
299
356
284
284
375
278
336
375
346
279
294
364
363
303
363
312
302
323
350
355
263
276
329
308
262
362
316
301
319
404
211
302
313
270
222
294
310
298
338
280
283
276
298
305
321
287
317
279
327
351
309
376
320
300
369
330
255
321
321
313
283
330
325
284
436
321
351
345
354
299
279
375
313
284
337
373
250
278
291
311
373
275
344
313
267
354
282
328
267
369
353
323
223
344
275
412
422
368
265
351
435
327
367
351
285
305
278
285
366
265
294
317
373
336
220
367
314
404
337
328
258
379
342
368
314
248
330
367
276
392
393
255
366
226
239
294
325
218
381
386
340
338
321
286
281
348
347
299
340
414
298
316
374
327
331
305
168
362
346
267
295
346
320
321
363
260
289
358
200
294
319
335
272
336
249
399
333
336
266
353
306
304
339
297
334
267
349
335
369
313
303
431
365
234
194
288
284
296
232
262
356
295
262
344
325
348
240
347
387
256
252
309
389
324
351
283
305
186
298
262
325
367
430
309
300
318
311
269
283
251
251
309
392
344
320
328
317
286
304
373
354
297
323
341
241
305
298
352
233
339
345
299
326
330
308
291
249
335
348
269
318
282
333
401
344
334
331
371
320
334
417
262
359
302
423
362
367
330
288
389
323
376
338
322
313
327
343
338
338
349
213
421
314
320
263
286
316
294
324
300
310
366
313
260
326
325
316
287
306
324
338
354
311
369
338
357
290
365
344
256
273
269
276
310
322
288
331
245
329
241
238
274
323
302
249
258
302
312
325
322
295
317
297
326
315
283
339
253
353
292
295
340
292
333
299
355
311
310
345
331
240
238
251
360
328
369
379
311
251
260
329
353
298
296
283
261
340
298
291
357
361
218
279
375
332
407
305
372
255
303
304
321
373
267
315
260
285
225
283
325
279
330
275
389
330
332
252
288
330
270
211
212
321
309
309
335
301
231
313
398
297
353
321
257
333
310
276
336
375
252
306
329
325
278
341
306
216
333
329
389
342
389
335
373
272
324
268
344
322
347
345
299
342
428
276
281
321
281
331
203
286
283
306
254
366
315
306
311
296
328
400
336
282
262
265
253
302
272
324
338
284
363
280
298
366
320
261
302
246
271
296
340
304
342
211
379
264
350
362
315
290
399
338
348
297
353
267
316
332
333
371
390
211
246
313
275
372
349
343
337
386
360
334
365
413
318
330
332
309
266
313
292
329
318
286
281
245
231
274
278
329
332
374
341
337
354
273
311
306
345
318
322
289
388
378
300
346
338
350
312
344
259
349
229
334
293
308
288
325
406
281
323
390
346
369
310
301
304
232
332
302
306
329
291
412
263
273
286
325
333
321
332
322
248
339
321
258
373
229
389
331
361
353
324
348
309
319
354
353
390
396
291
339
329
338
354
249
305
327
382
356
237
279
363
328
386
360
364
383
369
295
351
313
265
346
350
273
279
267
317
324
265
322
355
356
360
272
408
349
344
394
293
305
350
358
312
331
348
310
325
290
360
286
314
316
291
358
411
276
331
270
381
384
336
304
332
361
368
248
241
363
299
390
315
358
449
320
287
331
372
336
320
283
275
364
345
343
321
354
351
317
373
309
328
290
267
311
335
323
277
333
258
284
349
301
318
414
227
400
282
356
340
306
338
292
293
384
301
313
297
313
374
384
277
309
324
297
383
393
306
330
390
338
271
355
320
322
299
347
304
361
276
292
394
287
406
270
303
382
353
350
335
209
328
300
340
332
356
427
326
281
294
346
287
297
353
262
272
255
246
365
319
300
334
347
362
304
342
393
310
351
325
331
303
356
310
376
338
286
326
329
409
329
348
350
289
310
299
320
315
339
345
376
318
264
286
408
342
349
271
324
323
353
349
338
322
328
264
281
334
332
182
322
282
347
266
311
336
323
316
327
339
325
309
335
353
315
248
299
386
334
311
375
368
341
355
314
368
296
299
317
313
309
341
366
362
337
309
313
283
364
327
349
343
270
348
336
314
330
237
320
256
290
300
297
326
278
326
312
364
345
285
308
308
352
268
318
322
311
302
246
333
311
327
349
298
345
335
366
320
333
318
328
323
309
241
349
288
317
330
294
404
341
349
305
319
381
363
267
353
283
296
298
387
294
297
350
334
332
339
398
212
324
318
380
230
341
288
309
291
397
303
403
296
336
319
325
382
367
377
345
271
247
310
315
336
339
289
316
328
262
304
373
324
353
293
373
346
281
394
301
266
312
283
282
316
333
355
341
372
297
323
327
293
369
317
325
344
306
292
302
286
295
424
244
368
283
261
288
326
344
324
296
355
358
297
303
302
292
299
292
418
282
285
328
412
326
316
390
320
423
280
316
302
250
308
325
329
427
281
316
350
347
299
389
316
313
346
295
382
322
334
334
305
348
282
260
288
276
266
275
245
287
266
379
338
330
250
301
358
351
258
330
376
302
307
328
333
344
321
341
341
419
278
326
308
319
275
304
244
346
325
325
286
305
308
293
328
289
303
287
301
233
361
267
299
336
392
269
311
334
286
321
326
342
350
288
296
208
401
259
342
346
325
269
346
344
271
314
360
267
302
363
392
251
350
213
352
354
252
349
413
303
336
312
327
364
352
331
348
290
338
292
287
310
358
279
304
379
362
303
340
264
251
248
283
358
308
388
356
339
310
308
254
331
328
331
318
392
319
325
307
326
297
272
289
322
212
357
309
323
353
367
346
327
321
324
322
331
318
335
386
361
324
344
343
251
342
311
269
280
376
270
389
330
316
327
223
372
276
292
405
298
302
313
277
309
256
296
310
265
319
300
304
370
330
430
256
351
227
384
308
350
392
301
301
280
317
361
374
255
310
319
316
247
328
326
311
304
308
367
343
329
332
378
369
337
288
280
207
340
250
254
330
253
341
326
389
355
382
363
290
390
303
240
363
403
401
311
296
369
298
388
241
266
359
366
287
367
335
298
317
300
278
346
308
243
364
258
329
300
256
310
346
319
323
307
380
321
323
338
327
330
381
263
244
310
311
312
288
291
295
295
329
262
343
296
362
373
273
266
377
399
256
426
272
338
264
318
316
283
336
305
236
326
356
328
248
268
316
347
309
368
359
326
353
372
326
300
354
310
352
279
388
332
265
261
298
381
315
373
315
357
324
284
239
215
332
238
334
355
240
245
276
284
290
318
366
346
305
314
368
292
322
398
236
298
275
397
312
408
311
323
313
372
392
309
308
272
359
319
336
336
311
335
346
334
349
299
304
278
372
279
220
363
339
307
344
318
394
286
288
257
318
357
333
350
308
360
355
315
405
288
278
314
269
239
324
347
295
338
311
282
283
242
260
273
317
257
300
322
307
363
300
404
293
282
373
356
300
397
362
253
401
323
375
323
364
257
309
379
294
387
321
354
298
312
335
311
356
286
315
317
223
297
296
322
280
309
287
279
320
332
369
313
331
403
323
324
313
300
306
270
327
357
320
406
306
289
289
299
313
327
311
329
123
306
350
274
367
261
354
311
282
401
338
394
364
341
308
378
283
299
389
347
370
393
296
244
296
282
296
317
269
250
340
316
331
290
287
365
298
263
278
348
351
356
206
334
217
235
276
306
317
261
343
344
333
312
347
271
317
349
313
266
362
325
325
274
348
363
289
270
288
286
356
326
337
315
294
351
256
227
279
380
320
300
357
350
348
269
335
258
286
305
319
251
260
337
314
311
299
313
340
339
291
358
213
341
262
391
267
319
395
330
268
332
304
334
265
272
223
302
242
278
295
322
356
244
330
311
338
313
276
261
346
279
303
310
252
297
395
284
324
337
213
308
331
270
341
345
370
255
318
374
277
362
340
290
323
295
370
322
321
304
270
230
242
319
337
287
405
317
318
235
429
325
348
389
299
369
286
365
251
362
310
330
279
365
291
340
336
254
342
354
321
258
290
349
406
322
393
311
302
343
308
343
300
294
352
287
312
266
305
333
258
266
299
222
307
286
394
298
266
342
312
172
329
321
245
427
357
323
237
340
307
284
294
357
266
327
303
314
215
298
308
362
371
245
279
347
310
312
322
305
332
302
311
295
384
317
334
337
249
310
327
239
371
337
338
437
299
216
384
315
282
315
310
256
282
312
324
278
298
334
287
304
348
377
299
286
374
342
381
231
293
319
367
323
250
279
320
286
300
369
347
315
360
313
334
254
313
404
321
344
380
349
325
374
274
293
303
355
319
309
290
294
367
364
374
337
328
273
261
254
384
278
370
261
330
351
404
266
344
350
382
373
275
271
289
333
285
276
331
266
346
300
306
261
248
311
318
328
307
313
309
306
349
405
263
286
376
358
224
350
369
344
343
312
346
267
319
291
302
373
393
323
358
337
288
276
293
262
325
311
315
330
313
320
287
360
379
361
282
350
259
240
288
315
333
349
376
368
319
261
304
374
306
325
332
326
319
333
292
349
234
372
264
340
328
301
326
355
370
363
371
297
298
300
342
358
274
328
277
270
418
352
339
305
267
337
294
341
341
283
324
320
336
307
249
332
263
387
276
217
346
337
282
267
343
331
318
317
342
372
345
317
265
325
306
291
298
353
324
288
279
272
302
316
308
325
341
339
242
336
399
277
362
360
319
273
291
359
273
332
287
303
303
341
365
281
364
353
282
265
284
278
338
293
273
361
274
345
311
341
295
291
230
346
394
361
385
351
289
292
357
253
348
199
302
406
283
370
339
294
304
304
338
401
350
232
326
284
365
332
373
274
261
279
379
318
315
397
301
298
366
382
269
313
337
254
354
345
290
305
352
357
258
258
282
352
329
240
286
366
384
293
274
288
238
350
330
308
356
355
285
338
349
262
393
287
289
276
363
337
360
313
397
286
288
344
313
316
280
286
327
291
228
281
325
299
276
325
343
281
275
328
290
298
239
314
328
359
343
294
369
408
240
360
327
251
340
353
379
328
328
388
262
370
378
313
311
296
350
356
260
309
419
334
266
321
388
321
246
334
318
307
305
277
347
290
376
235
254
397
234
305
242
260
340
362
279
352
351
358
380
300
192
324
296
304
338
257
260
393
340
383
299
339
297
335
294
236
306
248
352
324
348
278
351
260
269
361
292
228
307
304
377
313
321
346
301
390
240
353
285
367
242
303
295
418
297
258
361
250
266
242
275
306
362
335
238
308
386
246
269
348
318
317
407
327
294
420
244
357
345
326
356
290
381
328
332
333
278
295
316
338
375
388
263
321
289
336
279
273
355
359
303
291
349
282
396
307
251
340
239
380
271
359
193
251
268
295
276
304
317
360
348
318
287
338
325
407
340
367
339
290
380
299
411
361
418
306
271
233
294
337
307
308
365
271
375
369
261
215
272
265
318
345
274
306
305
313
339
367
314
364
316
290
341
315
334
296
353
249
328
337
327
325
299
362
301
393
351
313
402
412
294
271
366
262
275
313
283
338
247
282
346
291
299
287
293
343
348
354
309
286
356
397
362
330
340
377
379
325
253
371
267
276
280
350
300
302
294
324
267
365
336
282
375
259
326
251
294
240
389
368
347
325
300
325
363
244
304
285
331
281
339
255
304
336
315
291
305
355
361
385
293
317
236
312
203
331
358
285
293
314
222
283
295
274
278
287
286
352
309
243
364
255
320
214
355
316
306
291
330
327
305
398
315
346
309
344
323
397
261
261
323
324
299
244
363
273
374
402
257
243
274
333
244
349
332
318
288
408
384
290
316
278
233
277
314
212
330
260
422
284
273
224
350
315
348
230
268
328
399
358
318
266
325
293
316
306
306
329
405
330
315
289
328
260
211
336
322
388
375
269
307
337
302
385
397
304
254
222
328
348
312
317
280
333
328
341
300
335
319
182
333
358
338
318
322
277
335
350
344
266
297
283
344
318
382
369
257
277
283
406
273
289
297
388
272
395
425
245
356
391
339
330
288
356
358
251
297
294
285
362
327
349
273
255
298
255
310
372
294
252
292
367
305
312
306
332
345
294
293
279
286
279
233
346
331
276
340
260
313
273
325
241
348
278
368
332
308
303
337
407
300
316
327
359
254
314
331
227
366
266
349
318
256
322
343
298
409
339
375
275
348
362
345
332
395
304
279
265
346
327
265
240
365
332
359
284
245
252
256
398
243
374
253
332
327
232
291
307
343
336
308
324
310
261
265
337
341
330
329
273
363
321
411
304
291
320
360
263
341
332
336
318
369
352
348
371
343
332
365
260
314
292
232
416
309
315
284
354
327
323
383
319
237
358
262
404
297
323
330
326
313
340
330
386
340
383
302
294
263
355
342
278
367
298
226
365
357
217
408
357
335
252
329
363
290
347
299
311
330
367
299
198
260
296
314
420
285
328
267
349
322
291
388
294
431
364
337
299
313
330
290
276
329
352
354
338
294
285
263
274
321
269
331
374
203
287
257
351
327
296
383
268
338
374
362
322
300
328
307
333
340
249
295
377
322
378
352
236
332
327
329
240
280
248
364
353
264
226
315
327
284
293
293
271
262
241
325
408
294
435
281
308
276
351
317
352
280
279
319
347
266
310
303
269
375
342
374
284
287
272
330
309
447
391
263
277
382
317
388
240
342
386
267
328
386
292
392
216
358
273
387
315
372
287
255
361
242
276
357
318
310
261
359
303
314
325
316
336
378
310
264
223
334
381
384
270
340
318
283
356
368
372
271
241
316
305
283
299
290
339
310
349
310
259
342
242
294
355
281
379
335
301
306
295
330
315
340
253
309
285
273
267
363
239
358
294
323
257
405
389
339
365
390
305
377
294
282
265
367
336
290
263
244
353
307
334
244
270
303
294
301
305
256
306
338
260
362
308
256
297
365
314
264
320
372
336
298
306
300
277
391
346
382
343
354
390
323
314
322
360
292
348
319
327
257
389
337
257
369
262
299
383
328
341
288
379
318
272
354
294
235
310
295
312
269
327
316
244
298
335
277
349
298
350
310
359
322
278
270
353
309
298
356
299
291
287
302
352
260
332
326
309
341
352
361
337
350
356
240
356
359
384
316
317
261
307
310
312
343
247
336
325
354
338
312
260
312
323
372
299
367
278
322
391
319
387
313
346
267
363
299
344
317
266
354
282
329
288
328
303
360
267
296
297
357
350
285
379
305
298
274
343
351
339
281
261
275
366
333
289
324
332
267
315
295
370
265
284
368
369
350
362
287
277
321
283
324
342
283
283
276
326
309
339
265
271
316
262
368
352
316
288
308
295
271
381
238
285
400
398
302
345
273
381
265
310
240
257
370
326
301
319
364
324
303
373
325
264
205
319
331
343
379
351
294
228
214
407
298
286
374
387
300
341
367
256
409
273
326
383
361
367
310
297
265
259
337
288
272
348
313
209
269
332
353
281
234
305
279
285
284
235
293
306
281
353
331
345
386
314
245
324
331
285
186
245
256
294
332
342
330
334
287
333
327
257
274
351
270
266
281
318
250
277
275
417
374
241
332
347
312
295
263
340
314
281
345
324
353
257
375
329
335
328
289
429
370
391
318
305
348
303
305
356
274
323
312
343
280
297
332
337
287
317
318
305
259
339
326
272
325
313
315
329
293
315
365
297
293
281
317
388
222
309
312
283
330
347
359
315
255
275
337
307
259
204
318
364
340
233
315
401
403
227
306
273
323
271
257
216
343
264
368
204
379
368
294
344
376
342
353
387
340
261
288
230
340
273
315
296
369
457
304
319
289
343
230
290
348
259
375
304
347
345
302
312
358
358
348
328
399
295
294
335
277
297
270
358
363
277
314
341
335
390
351
271
318
372
353
368
283
380
381
365
306
391
381
327
389
422
444
343
330
342
314
333
358
293
294
399
332
313
291
344
375
367
313
228
368
431
298
340
336
389
295
316
297
337
359
303
379
303
261
359
339
339
315
266
323
296
251
346
327
316
275
280
257
365
342
343
324
359
275
249
305
307
405
367
300
297
370
269
312
323
346
392
348
326
302
316
337
309
299
244
378
325
320
287
259
313
382
307
403
334
339
330
272
320
253
332
277
318
346
325
374
343
358
299
363
304
326
251
347
378
334
272
226
286
390
283
315
248
335
357
338
310
326
314
394
243
279
313
374
360
279
231
295
260
304
251
309
242
244
304
320
385
378
324
288
327
298
355
337
353
299
327
218
327
296
307
336
377
289
298
331
368
317
343
346
310
327
290
192
303
286
423
308
202
267
224
328
367
369
362
376
301
333
312
326
257
281
328
332
336
384
303
262
280
349
345
346
340
316
304
290
312
287
333
340
247
363
307
334
320
282
235
401
291
336
212
383
320
344
360
234
311
323
340
341
297
261
301
305
274
346
375
236
360
266
365
328
366
309
251
257
395
281
271
298
265
334
270
289
320
396
290
275
277
309
351
258
255
233
368
335
225
316
328
395
225
266
316
319
342
280
272
285
392
201
289
341
233
325
314
261
366
329
295
370
379
374
242
369
343
345
262
361
329
218
238
377
321
353
364
338
287
289
361
361
344
308
325
313
297
240
344
370
289
404
409
261
337
331
245
361
359
349
282
322
320
257
317
365
357
300
299
345
193
386
317
348
325
258
302
316
347
336
305
354
315
317
328
180
286
370
315
319
357
380
385
356
298
373
385
264
320
365
367
377
355
362
286
312
275
330
292
355
344
287
298
337
367
295
361
345
378
300
293
271
342
353
264
356
337
387
341
348
212
325
348
263
256
354
339
307
341
329
345
335
296
279
384
311
236
345
325
310
358
345
301
271
348
314
357
269
274
324
313
349
293
327
253
355
243
322
301
330
307
248
315
338
372
365
410
329
353
347
270
327
335
277
315
280
312
268
329
267
300
299
368
336
347
293
303
386
354
316
372
255
337
303
314
292
324
352
292
316
254
274
342
410
356
300
356
353
309
345
378
367
325
378
406
366
296
357
363
290
344
332
388
344
314
248
330
378
351
411
277
306
367
252
313
368
334
268
260
313
289
242
316
363
309
350
360
336
357
264
259
311
284
313
329
246
263
296
379
338
357
252
244
340
275
252
311
304
361
329
394
288
345
324
328
275
312
338
389
183
380
288
321
178
296
351
332
301
270
331
404
319
329
268
306
312
237
347
310
307
354
347
294
364
339
290
263
260
357
387
361
383
298
306
348
364
336
282
230
295
356
284
362
349
348
315
292
297
324
281
387
307
357
344
298
312
337
363
364
344
351
359
238
301
266
357
301
269
318
304
318
288
306
364
267
307
283
343
335
297
385
326
345
294
298
265
350
225
294
274
280
269
291
386
328
340
368
281
284
422
362
383
334
211
283
333
283
367
338
330
237
317
273
347
284
301
321
309
269
246
343
333
276
221
321
293
287
316
337
324
343
246
374
195
357
340
326
207
329
313
330
348
241
294
314
373
205
277
376
353
294
312
324
247
397
387
374
278
291
331
313
316
291
292
323
338
241
301
240
277
280
318
334
383
365
287
342
213
328
277
312
362
379
337
261
294
228
354
316
327
285
305
266
361
334
353
360
283
336
327
271
286
273
313
300
232
415
294
289
316
340
347
363
275
301
276
287
304
345
302
274
323
303
360
284
281
351
351
253
297
258
340
301
342
329
395
372
354
340
363
274
381
317
316
168
318
376
348
243
313
339
355
298
329
344
320
226
322
284
298
254
301
274
273
294
369
271
312
268
363
293
318
335
333
320
315
356
394
282
357
329
253
348
360
313
231
339
271
345
320
267
347
362
369
362
367
256
294
219
240
253
400
373
355
274
262
293
297
386
340
408
320
328
313
343
359
406
311
317
323
301
322
316
398
322
345
328
263
357
327
294
329
355
369
321
276
324
347
336
259
252
327
197
301
292
348
334
310
289
263
363
250
307
323
405
260
347
322
380
332
376
313
327
308
401
275
321
323
312
326
351
296
220
277
257
354
263
341
296
360
362
381
400
320
227
339
318
308
296
267
335
287
347
315
269
335
373
403
344
346
292
245
264
316
341
283
316
355
326
338
402
292
314
315
330
317
263
389
343
341
338
337
276
311
311
365
383
283
318
320
281
338
388
279
284
334
319
230
327
333
351
316
274
298
330
284
368
319
317
305
407
328
313
197
403
345
334
328
293
325
386
278
411
378
329
288
231
345
282
289
274
317
241
409
235
320
281
334
377
349
330
341
280
347
334
395
246
380
313
279
320
367
301
222
257
381
295
387
355
302
275
351
294
313
309
343
336
350
330
354
331
254
308
378
400
375
297
370
305
270
279
360
295
310
457
286
389
324
266
368
282
298
326
305
284
301
312
339
289
420
293
346
310
336
344
307
369
371
413
329
310
330
337
323
229
303
396
307
301
344
320
377
246
282
290
294
337
295
295
323
354
331
305
321
329
294
340
321
298
292
500
292
322
265
382
401
320
293
256
305
293
295
371
319
322
296
361
272
322
315
412
357
213
299
367
404
315
338
321
362
292
277
327
337
407
300
275
351
411
302
331
345
230
270
307
314
354
325
236
387
284
278
296
322
350
310
300
326
349
279
357
334
363
326
352
383
287
337
294
363
295
325
330
425
307
362
318
302
360
307
268
245
270
349
301
370
251
310
376
243
160
328
196
337
278
284
273
283
249
364
284
268
293
316
386
344
369
308
335
338
378
307
309
302
326
318
265
300
353
408
348
305
371
401
267
341
297
344
295
364
325
354
364
247
368
318
357
310
234
301
365
227
316
318
325
331
362
260
316
326
285
378
263
284
313
351
300
286
236
323
315
312
292
375
320
252
293
333
279
305
384
298
302
302
316
293
319
306
276
311
283
296
231
329
347
298
249
314
293
282
309
287
348
297
346
365
347
336
318
246
247
358
335
292
324
324
354
333
304
396
338
345
316
416
390
270
235
358
313
195
356
327
337
267
370
310
286
380
357
305
309
298
315
322
371
342
363
358
317
319
324
284
304
327
277
304
306
234
390
333
341
255
302
308
263
297
329
296
293
367
395
321
361
262
271
326
384
386
327
342
248
299
341
289
286
287
350
286
215
307
255
288
352
396
412
279
347
343
346
281
348
338
413
249
280
292
294
379
328
349
363
262
326
282
275
320
313
306
312
340
303
383
320
355
231
362
315
342
325
287
339
275
304
301
274
307
296
301
361
321
357
308
322
371
319
273
252
344
279
400
381
332
394
207
217
349
330
280
316
315
337
309
336
293
296
296
255
312
336
325
342
290
237
347
347
311
321
306
296
268
372
278
297
367
295
335
216
286
246
256
292
345
352
305
316
315
308
391
287
328
403
262
302
254
233
347
267
327
296
309
275
421
282
353
360
289
289
297
362
229
351
280
318
420
318
264
283
350
331
354
329
288
254
295
323
257
263
371
281
216
234
331
333
351
305
301
278
299
318
292
309
395
323
375
308
306
353
274
343
345
289
279
335
305
334
328
319
341
314
267
289
315
328
297
373
328
341
340
359
366
277
401
295
336
304
241
359
261
316
272
286
339
409
321
260
302
330
330
361
299
260
330
291
341
295
331
374
334
346
329
324
298
282
373
281
314
376
329
308
330
324
327
370
331
267
393
358
325
280
386
365
318
324
286
296
257
297
314
251
209
250
337
288
365
342
340
252
306
372
289
341
230
382
305
322
364
239
298
227
294
272
407
310
304
347
313
309
324
295
271
324
236
333
321
334
230
277
298
299
355
276
383
360
351
293
311
365
315
268
274
318
228
385
351
372
314
362
251
289
313
350
385
294
387
311
284
359
311
311
316
291
330
308
341
386
311
348
303
367
272
315
292
343
280
307
281
372
395
364
356
273
303
362
337
283
302
365
298
304
280
304
348
368
367
397
347
271
287
365
367
253
316
367
348
351
211
285
348
294
275
254
322
301
240
369
334
313
317
341
359
276
268
298
273
403
271
295
328
281
298
363
375
276
315
294
204
327
416
336
386
316
292
375
253
325
266
242
335
324
330
345
260
267
370
228
232
371
318
384
305
293
319
356
333
278
373
364
300
392
364
305
335
324
328
314
353
304
320
305
377
327
302
363
341
340
363
317
330
303
414
330
309
312
239
327
365
397
293
291
315
277
252
206
275
304
236
281
338
366
351
336
344
310
354
289
333
332
332
331
289
310
303
347
313
281
320
371
305
279
265
208
367
397
317
266
323
296
224
369
311
333
396
354
256
328
374
315
278
426
405
302
298
310
266
260
350
351
334
283
338
369
272
283
360
265
277
358
274
262
274
362
333
237
287
382
293
346
361
268
350
352
342
388
308
347
385
266
306
298
283
368
241
274
331
299
404
279
287
310
324
305
391
307
320
316
374
385
286
318
252
365
292
322
249
325
378
277
265
405
273
325
264
304
363
283
265
295
400
317
261
291
353
283
354
322
363
324
275
308
343
248
270
264
293
328
253
196
306
315
324
343
346
239
341
379
378
287
283
320
351
272
304
343
305
358
288
371
340
378
283
296
334
433
287
287
291
295
382
186
252
276
263
298
340
348
265
254
258
226
261
334
241
363
324
326
354
341
367
383
397
319
328
200
378
328
330
337
357
329
298
309
357
370
340
301
287
307
292
360
327
346
365
298
349
272
329
374
343
324
408
234
356
313
306
361
323
396
339
302
339
345
271
329
333
322
350
281
396
349
325
266
375
263
336
422
248
275
294
319
309
306
303
336
315
399
364
344
324
328
272
326
268
227
305
347
253
288
278
325
336
323
232
311
343
292
353
337
261
298
398
253
315
354
370
287
323
297
383
261
337
229
332
292
384
379
294
316
317
340
333
374
351
252
297
389
290
283
268
350
306
265
342
329
389
280
230
365
280
300
343
227
350
371
246
288
233
392
295
299
384
291
313
386
364
295
293
258
336
244
398
307
323
385
319
239
305
284
351
274
361
258
317
342
289
358
293
252
247
400
342
363
224
312
346
308
266
286
351
354
322
329
243
330
342
254
329
305
352
291
287
370
351
270
371
285
276
315
380
367
340
302
287
331
295
332
360
336
383
299
281
326
278
301
391
242
301
240
243
363
429
336
347
330
271
243
249
366
397
344
335
330
312
343
376
254
335
240
243
253
245
281
358
297
285
357
303
331
289
336
316
273
342
318
354
361
332
337
343
271
402
406
337
337
245
302
321
331
321
369
421
388
322
330
265
272
249
373
347
328
285
353
245
326
308
298
320
288
267
313
295
372
326
338
259
322
327
309
345
293
257
316
374
264
285
336
301
301
376
283
289
371
307
372
309
351
273
252
363
386
275
346
359
321
320
283
315
244
260
309
294
330
313
258
270
294
310
271
299
308
245
274
307
283
312
299
292
388
407
303
263
410
299
360
266
356
357
324
322
369
273
268
277
295
301
418
244
262
351
341
300
336
293
304
369
265
312
309
349
340
356
359
328
269
280
316
257
330
347
277
378
330
343
267
290
289
335
311
333
324
384
349
410
310
349
272
284
320
311
310
271
218
302
274
288
328
268
352
364
385
345
308
299
369
265
303
334
250
278
343
302
426
433
344
335
368
349
257
387
344
287
310
355
275
279
313
291
360
311
369
270
292
355
377
353
302
289
285
300
372
356
314
260
321
327
344
294
339
288
346
232
351
278
288
371
304
309
360
325
371
408
329
344
320
247
357
364
327
327
325
295
315
328
340
269
262
378
362
288
268
341
291
360
311
271
315
296
272
285
268
327
239
339
310
376
320
381
303
297
333
290
345
370
325
357
358
305
346
378
321
358
244
395
303
324
293
364
400
316
327
308
372
367
363
349
294
353
294
226
294
253
291
318
365
330
294
371
330
374
428
307
289
262
254
325
297
358
305
186
310
342
378
288
296
301
352
332
334
387
317
370
342
319
192
337
330
302
394
379
328
376
285
307
362
315
365
349
319
301
382
351
274
360
359
372
230
265
307
280
310
358
361
295
314
352
312
305
237
333
404
328
331
349
369
312
394
266
287
299
358
387
328
260
326
354
280
334
267
337
283
285
373
402
347
347
331
344
239
372
330
354
354
376
279
363
261
342
345
267
400
305
313
302
313
241
221
364
197
276
384
224
323
379
200
352
291
322
311
281
365
293
353
312
263
287
344
348
380
297
333
351
284
261
347
323
317
323
290
264
326
380
278
370
295
338
323
326
341
322
360
310
356
370
272
295
331
309
358
339
336
285
305
239
276
329
337
320
367
301
282
368
237
363
388
301
326
286
258
302
371
324
282
403
332
274
303
265
359
303
327
244
290
336
274
376
306
261
285
335
276
216
302
348
370
346
256
293
311
342
404
351
289
299
315
301
362
280
259
359
345
328
250
322
385
386
298
392
367
315
307
422
311
304
355
271
327
325
253
262
315
228
231
340
356
341
366
362
383
275
337
288
296
386
276
392
375
291
326
349
337
315
344
349
320
382
308
374
347
248
343
284
296
262
327
325
404
379
289
279
392
281
264
203
378
348
233
294
324
315
398
170
335
312
289
362
279
303
289
268
311
369
335
396
370
366
343
374
317
399
397
304
339
256
384
295
260
332
302
393
223
210
309
385
257
303
272
299
346
421
403
314
357
324
301
319
262
228
328
285
265
319
299
271
310
302
348
352
303
377
255
360
324
272
333
386
373
296
210
309
316
352
340
423
270
334
277
271
360
289
325
312
303
356
374
271
293
388
263
255
353
310
289
310
311
280
333
306
318
352
304
372
365
298
263
320
320
305
388
379
273
314
268
292
351
337
316
318
331
244
322
318
334
285
359
383
301
298
306
362
239
291
385
288
400
333
332
291
315
345
229
299
289
319
335
278
309
267
321
393
300
234
219
352
361
333
228
379
205
352
390
297
354
329
309
319
270
317
330
353
284
290
275
323
299
294
302
319
367
367
319
274
268
219
273
305
345
332
343
292
322
310
358
364
285
241
275
309
272
335
282
304
314
383
361
314
302
286
367
340
332
233
285
301
327
280
328
290
405
371
318
346
377
337
306
294
411
355
373
211
309
290
364
323
341
356
286
292
277
275
345
263
327
241
315
348
307
319
308
369
322
382
254
296
314
325
264
282
295
367
223
348
301
332
341
291
313
383
320
326
301
294
245
317
306
334
305
348
268
295
386
337
330
425
301
270
310
296
295
201
385
256
310
257
388
319
270
385
327
356
319
275
336
360
281
345
314
344
323
306
303
304
225
332
271
332
353
296
401
312
335
313
351
398
319
334
339
278
303
308
324
304
278
400
317
316
338
294
336
336
396
229
333
294
266
408
380
304
403
336
409
315
303
305
341
361
263
406
361
328
316
308
286
327
276
356
369
336
250
392
261
403
317
305
326
352
298
357
273
336
376
321
329
246
335
375
359
362
274
331
300
284
267
392
414
336
328
309
264
231
346
321
280
254
264
367
317
399
318
297
315
263
307
322
261
316
298
188
359
344
355
283
368
269
324
356
290
323
331
315
330
371
244
320
297
378
347
258
298
264
228
278
293
294
295
402
337
302
323
358
266
330
337
279
354
365
240
316
307
286
342
366
357
238
322
266
269
271
308
334
266
354
289
340
281
333
327
296
306
249
310
314
327
309
269
275
262
239
369
318
386
247
277
302
391
302
342
272
326
306
246
378
283
336
318
298
390
381
365
297
335
345
246
354
376
355
279
315
362
283
230
329
270
326
400
376
379
344
386
309
362
335
315
256
261
262
327
311
260
357
376
367
394
298
238
382
356
297
382
295
366
408
279
348
366
256
309
319
295
312
274
346
324
372
350
297
277
368
283
324
308
335
314
413
326
319
300
385
342
298
379
345
314
312
259
335
287
334
315
316
308
345
343
281
304
340
274
334
255
375
272
298
338
299
276
226
355
249
297
230
400
254
336
315
294
329
252
337
224
326
323
242
252
275
238
318
272
391
235
348
375
307
353
335
224
381
327
316
290
305
298
333
348
342
294
291
325
347
362
313
316
322
331
236
315
350
251
308
361
325
386
267
288
339
286
328
362
285
370
297
329
310
386
298
341
371
279
320
289
255
354
374
262
308
315
357
322
350
280
320
420
374
339
344
339
375
316
292
342
373
360
291
227
410
323
357
328
274
246
348
285
285
390
256
309
372
310
394
261
332
375
191
295
298
347
310
319
296
263
261
345
251
365
292
351
328
294
334
389
368
283
306
329
196
291
382
423
301
300
348
260
249
301
355
286
358
228
364
374
328
230
359
316
328
324
305
205
355
363
422
241
319
405
309
215
276
260
299
288
341
279
352
253
220
394
313
292
310
348
256
301
288
388
251
365
281
329
346
217
272
242
182
253
283
360
278
281
308
345
321
358
302
368
328
348
335
337
324
343
326
232
360
385
357
305
316
285
269
251
334
313
333
363
260
240
312
304
338
228
348
368
379
337
372
257
258
257
391
307
236
347
359
399
358
317
310
275
332
282
375
305
358
325
310
359
371
286
316
292
337
283
346
225
283
348
356
422
320
300
337
336
297
314
337
323
374
205
295
332
358
359
279
351
311
263
318
312
242
297
374
312
397
262
309
365
226
302
323
390
337
300
384
317
304
393
305
288
362
316
356
367
324
295
337
333
288
334
357
256
339
333
304
383
304
405
208
325
307
295
284
324
355
290
376
366
396
347
288
389
330
291
329
376
209
316
285
283
288
312
350
254
322
228
322
326
359
300
236
295
264
325
307
367
364
225
363
297
375
346
277
286
283
321
296
373
237
342
258
288
319
236
375
280
299
238
265
399
287
289
312
332
222
337
435
272
373
330
342
228
300
382
164
371
382
305
350
348
304
392
364
274
348
290
294
273
317
254
292
342
335
296
372
273
383
385
321
264
308
358
300
276
314
315
278
302
308
329
251
310
332
242
355
317
414
338
338
256
278
300
314
258
325
372
253
331
297
302
313
342
383
406
361
280
281
308
301
352
326
289
381
317
301
249
351
231
352
244
239
349
264
274
281
367
320
335
358
345
326
310
309
411
275
308
270
278
303
273
305
356
330
399
283
325
398
354
287
372
423
312
303
330
322
327
390
291
288
350
276
312
345
229
304
340
369
353
283
274
311
316
320
284
195
308
315
358
334
256
399
378
330
274
247
369
336
323
274
273
411
358
316
305
359
338
377
262
292
374
292
274
288
363
320
240
324
306
262
343
277
300
263
331
390
271
319
334
295
336
304
297
299
345
306
318
333
332
351
356
310
320
359
276
317
345
258
296
375
288
336
290
394
352
344
333
256
424
338
427
278
333
322
350
387
356
241
319
371
283
306
306
307
322
378
405
368
317
387
310
367
380
269
383
357
299
262
328
372
333
344
266
316
326
297
360
299
298
328
324
415
353
284
321
331
259
230
295
349
336
332
265
328
307
286
383
326
397
323
237
289
414
276
330
344
301
370
359
246
389
260
298
285
361
290
340
368
269
263
323
284
390
288
395
315
293
363
356
292
345
325
232
427
296
266
342
285
297
422
267
322
368
293
272
333
358
342
232
280
280
321
287
297
262
352
272
373
357
278
323
322
252
375
384
289
307
380
238
393
214
308
369
365
367
272
339
293
361
276
283
322
341
248
300
310
394
282
249
261
272
346
339
305
363
344
312
280
269
274
241
302
330
412
313
347
234
327
391
229
368
304
302
326
254
298
395
371
308
277
332
326
398
325
250
352
258
327
295
345
245
243
359
364
287
288
204
369
256
301
326
315
303
392
275
298
274
288
347
213
327
350
336
330
385
286
301
328
428
312
317
303
313
321
336
278
215
353
304
413
308
353
366
266
352
310
329
308
305
362
427
287
234
265
329
317
318
280
364
322
360
291
252
349
310
362
308
386
283
280
277
417
324
315
310
277
294
305
253
315
394
280
354
316
274
196
341
286
408
334
336
373
302
252
350
319
294
298
322
393
297
332
249
266
282
342
271
276
330
329
244
339
298
370
381
282
300
357
313
214
326
336
266
343
346
360
337
389
305
387
352
274
367
294
309
285
262
300
373
331
390
349
328
417
367
280
309
293
300
285
252
292
349
439
285
356
286
337
330
320
296
279
320
273
354
367
302
308
299
344
256
357
365
324
319
351
308
211
246
347
263
283
331
306
282
345
398
287
278
345
271
359
368
351
403
330
351
341
368
344
336
294
260
315
285
371
336
295
353
397
324
353
287
315
286
288
297
393
346
345
363
374
241
346
354
292
289
313
288
247
325
278
268
409
357
257
298
277
152
297
234
328
288
275
319
328
288
340
304
306
299
277
338
266
270
264
318
361
322
336
342
258
337
316
362
335
341
354
309
350
299
238
283
319
326
302
311
281
309
308
353
312
386
282
296
324
374
287
268
345
290
280
338
219
357
314
299
285
285
334
252
310
323
307
304
330
291
339
375
370
337
338
321
320
231
338
300
347
271
308
273
286
278
310
306
325
380
238
318
342
372
286
332
344
346
358
279
284
249
305
308
323
322
298
298
259
250
283
377
325
360
302
370
314
340
305
284
282
260
374
330
330
338
302
332
373
297
308
311
379
313
302
304
169
296
350
319
396
304
377
282
369
322
279
257
336
302
293
317
287
244
405
282
361
369
307
247
243
334
259
314
282
397
288
321
317
367
296
352
350
358
369
264
281
334
278
302
350
236
278
311
358
330
344
322
339
339
245
318
346
262
343
293
249
337
317
329
361
303
306
385
282
381
271
310
243
247
276
313
329
262
357
358
338
269
399
303
396
359
338
333
391
320
408
342
268
302
316
327
307
327
312
245
305
367
376
292
287
347
334
345
333
341
302
355
380
321
342
325
324
221
413
358
358
312
354
336
227
360
337
327
350
372
299
362
333
362
294
363
322
346
296
265
346
334
362
302
303
259
349
370
293
266
228
331
314
307
273
299
335
279
266
302
282
390
322
327
390
277
309
319
333
329
260
279
295
330
354
405
394
305
258
338
368
361
311
255
295
348
338
345
434
401
343
363
410
268
275
271
370
322
369
335
318
314
351
226
259
348
271
303
306
291
286
318
295
292
321
421
292
338
330
285
287
342
336
296
302
364
369
313
383
349
309
297
284
401
341
319
320
376
370
316
373
365
359
303
298
235
318
328
327
421
303
291
275
315
369
315
304
338
329
253
343
279
357
352
290
328
295
365
260
337
361
364
336
388
321
350
338
234
311
293
288
360
333
330
276
326
313
337
286
350
316
201
313
293
301
396
369
326
328
290
337
288
306
279
303
327
345
350
353
267
319
328
337
308
251
341
294
347
398
291
270
273
380
301
317
363
267
222
383
303
397
353
388
259
370
304
233
331
379
358
216
306
339
214
254
335
278
226
239
313
251
403
363
387
337
321
309
345
313
259
280
344
356
274
243
361
356
256
301
355
298
349
277
262
299
266
295
390
308
320
325
345
274
320
327
356
347
282
311
265
319
287
301
320
356
328
295
296
287
449
320
334
384
367
383
356
351
240
304
270
346
322
329
393
348
352
332
285
400
325
351
303
319
328
334
312
295
401
323
297
316
378
334
288
273
289
338
376
258
234
270
285
298
278
384
344
256
401
392
227
326
282
381
269
153
286
266
323
344
343
247
376
241
222
374
268
313
285
384
343
316
325
397
281
374
283
339
348
354
315
330
288
293
235
353
371
284
355
285
297
284
323
322
316
296
312
368
296
248
337
294
308
256
356
332
378
365
357
325
328
342
227
281
339
330
397
338
319
342
395
298
287
333
293
277
234
348
346
254
320
345
251
296
332
362
317
351
317
358
345
308
344
351
336
327
327
321
331
412
326
310
402
358
334
308
337
266
337
260
316
301
276
325
331
264
340
253
368
352
344
388
271
372
274
378
386
356
321
370
312
378
287
288
324
386
357
320
327
371
275
318
325
314
255
326
340
336
282
270
250
186
293
283
284
281
376
272
302
255
321
380
317
298
370
335
299
357
316
277
329
400
312
330
297
265
310
287
324
349
356
290
309
255
397
346
344
366
309
334
323
360
268
342
274
393
246
320
261
397
336
294
350
322
327
298
318
416
360
324
359
284
224
372
328
325
351
321
288
365
358
368
330
292
269
308
345
262
350
340
274
328
297
317
336
327
328
361
328
256
328
373
361
256
396
321
377
241
382
323
435
339
285
322
280
342
341
304
254
338
337
324
309
321
350
408
321
321
345
309
309
335
349
301
288
356
345
271
344
337
279
262
419
320
253
349
293
292
270
304
218
268
381
352
414
352
255
311
305
246
297
327
340
326
197
301
284
368
358
312
304
365
285
290
338
283
241
249
397
337
236
360
333
302
258
275
371
427
300
310
312
241
327
396
348
358
345
335
301
311
334
382
309
345
375
290
338
429
321
318
348
357
304
297
356
343
366
327
397
345
245
316
249
358
261
276
264
397
300
260
288
366
378
228
382
320
270
336
322
278
226
386
347
324
318
218
295
265
263
308
342
281
355
324
349
334
331
341
283
284
331
326
333
348
323
308
312
355
364
366
304
327
250
321
343
194
326
261
324
272
365
352
266
256
306
390
302
364
302
333
305
250
308
366
368
304
342
196
278
370
245
276
281
303
351
230
260
421
378
291
424
310
295
208
237
305
297
330
339
283
375
339
359
256
371
323
299
256
262
408
322
314
255
344
365
302
270
353
312
417
372
387
278
361
229
343
326
366
322
329
376
361
320
315
251
390
352
271
378
296
303
371
351
322
394
291
385
342
262
353
340
273
335
359
201
301
373
298
381
379
331
407
335
317
259
290
300
319
343
270
370
345
338
283
323
375
308
285
340
346
359
297
322
334
268
301
331
250
323
343
338
286
332
274
268
299
232
386
314
360
348
267
367
314
302
238
336
319
357
315
299
315
286
366
299
333
352
263
266
287
297
399
257
300
394
339
424
260
357
257
352
226
262
293
366
298
227
303
284
305
331
331
310
299
337
347
291
309
319
304
332
276
270
434
425
332
337
373
335
364
292
385
272
365
286
332
372
288
252
416
375
210
282
232
303
261
233
249
275
370
244
335
343
364
370
301
353
327
355
255
396
315
379
282
268
335
370
351
334
332
330
324
348
337
338
358
234
313
257
310
389
294
413
330
305
327
292
285
385
371
298
449
284
326
314
305
307
345
360
251
301
299
336
329
329
339
283
303
218
263
295
330
291
278
340
394
268
267
311
314
279
332
337
239
312
347
350
344
251
273
331
333
289
313
379
361
347
366
311
392
351
329
330
249
303
392
332
304
339
311
330
221
278
378
342
336
337
353
269
336
269
256
205
324
301
265
356
388
248
328
261
244
314
265
386
265
380
386
291
297
387
365
289
324
317
364
240
356
283
294
273
314
390
351
301
299
326
341
297
322
319
279
301
361
331
271
323
298
264
347
367
340
346
326
299
328
345
276
266
302
373
323
312
350
315
243
337
324
311
381
289
221
314
362
269
342
281
344
399
213
338
360
252
313
234
361
304
333
319
276
324
286
308
328
338
319
373
239
308
301
286
279
274
306
343
275
340
272
260
325
325
294
319
287
380
351
349
316
302
351
218
322
342
314
279
264
366
257
282
414
325
272
283
246
295
299
281
312
345
370
318
279
359
238
316
345
312
332
286
293
313
317
327
289
355
337
277
305
362
334
315
366
286
342
333
383
280
290
299
296
271
275
326
260
261
356
356
311
408
408
304
326
306
309
294
318
264
308
362
270
288
359
240
312
263
369
337
378
296
290
292
281
316
393
333
279
337
282
295
333
249
323
377
336
250
315
351
247
362
317
350
340
326
296
330
347
309
294
317
281
353
273
375
318
322
372
350
252
331
373
395
356
332
337
320
276
333
293
230
262
298
335
380
337
204
352
294
371
309
299
340
385
358
293
237
249
335
336
320
336
259
260
272
265
311
366
375
233
335
325
353
282
239
287
333
324
277
243
275
292
339
319
323
403
315
356
276
275
343
297
336
378
314
208
291
265
288
281
237
305
309
286
208
217
241
229
340
324
365
368
270
353
274
375
239
379
271
348
285
344
383
353
348
331
349
336
313
352
357
348
295
388
272
369
334
295
318
372
331
324
307
276
254
362
333
267
359
275
340
302
324
369
287
277
290
290
255
214
339
281
298
280
381
300
307
232
281
303
295
308
342
328
313
249
338
331
337
303
291
294
273
417
335
349
369
304
331
367
372
247
249
360
393
245
326
294
328
303
358
318
357
380
336
382
346
274
214
324
281
343
319
252
302
290
395
232
323
393
239
315
366
326
266
355
226
365
274
290
294
392
368
424
244
281
367
283
303
299
246
376
295
283
320
240
369
348
306
291
303
372
254
350
298
362
309
274
356
350
281
218
328
206
362
335
378
391
317
338
264
307
336
310
370
340
317
329
282
399
377
359
326
242
302
380
252
381
330
314
217
300
337
308
328
303
363
356
241
230
256
246
358
420
386
281
313
325
277
391
287
262
256
280
278
338
314
319
254
320
292
284
268
262
327
279
341
310
353
297
374
268
295
269
296
260
349
362
336
315
304
356
334
341
331
321
321
370
353
403
235
309
332
342
287
356
313
315
263
322
345
327
276
340
368
315
259
268
287
324
279
289
270
354
327
325
301
297
285
324
274
278
374
293
294
346
401
320
315
324
205
342
256
356
313
350
296
220
332
343
343
392
250
298
236
324
304
272
290
231
248
342
232
294
366
267
298
331
328
317
386
382
435
330
339
306
300
309
264
346
305
262
362
365
224
330
342
255
348
295
323
326
293
301
404
246
383
262
410
209
285
322
272
350
311
340
337
270
297
345
247
335
224
300
298
383
266
294
285
311
337
254
294
314
265
282
347
346
375
305
325
286
317
252
374
285
326
270
348
382
273
245
329
334
340
310
324
329
306
399
317
254
352
359
239
236
423
343
270
374
222
415
314
364
311
320
329
316
353
277
340
336
330
266
328
305
289
315
318
242
423
294
342
284
305
355
375
285
401
349
292
281
291
362
373
281
301
356
313
269
372
318
324
355
365
247
298
311
342
339
381
378
319
344
339
349
345
296
348
336
256
307
340
292
228
345
317
304
319
344
268
338
231
331
290
328
305
258
343
318
317
376
220
304
277
340
323
316
363
316
315
262
310
332
293
295
314
362
334
432
368
333
363
354
309
357
295
279
388
256
318
290
384
317
319
319
383
260
301
336
333
337
330
388
274
330
339
399
306
332
320
300
345
270
230
260
352
303
228
331
307
345
324
328
352
354
290
375
306
325
222
292
346
308
358
341
313
285
328
334
332
410
340
284
348
410
306
361
331
268
320
288
328
243
318
349
333
366
318
369
294
362
434
296
369
266
319
395
235
238
372
337
331
340
310
384
346
360
258
298
202
358
284
272
312
347
302
363
377
337
365
357
300
373
361
307
261
306
221
306
268
331
338
292
387
323
403
340
281
412
330
320
267
362
351
370
366
290
308
321
302
334
358
348
284
314
329
261
318
290
344
326
328
262
301
297
317
347
295
328
268
307
252
334
216
303
335
413
352
379
293
369
253
294
276
307
264
270
303
270
237
376
318
296
331
326
347
320
329
277
386
364
316
358
365
339
338
300
329
317
415
309
306
277
256
278
328
278
342
332
246
333
248
337
303
347
347
312
337
386
344
283
349
258
384
320
331
232
278
333
307
292
318
307
347
286
281
348
285
277
371
330
306
308
349
234
358
276
270
274
303
373
339
361
302
284
333
356
311
288
270
316
266
292
352
285
344
272
309
303
284
287
295
400
288
277
355
336
362
287
315
306
349
249
299
321
378
313
335
323
344
322
344
343
338
299
257
385
328
421
305
340
315
348
360
324
310
316
280
229
324
258
319
332
249
314
262
389
310
376
371
301
259
384
221
381
291
316
266
308
269
346
294
256
288
358
386
301
265
313
285
303
341
340
345
272
286
260
307
400
239
331
317
370
324
355
326
269
326
315
331
339
348
309
331
310
276
377
315
295
339
396
335
351
270
307
305
329
362
305
347
326
347
307
374
364
316
336
335
273
273
260
355
319
252
333
294
342
295
251
259
391
270
211
280
242
304
297
369
379
285
307
232
287
355
345
325
314
351
367
292
239
339
305
333
366
340
334
271
341
385
321
324
368
331
368
276
318
390
236
327
304
328
231
340
237
317
288
318
342
286
290
343
299
233
325
320
322
342
328
385
319
371
322
261
336
379
305
376
392
341
280
280
247
302
348
330
336
313
306
287
316
367
254
308
241
312
276
349
308
253
320
302
306
363
355
335
309
416
310
323
372
275
401
268
403
348
310
296
321
252
428
254
289
294
344
351
316
352
289
236
392
378
279
398
321
301
287
342
303
320
321
252
275
291
315
303
335
283
329
357
355
384
263
375
241
356
320
320
366
308
337
299
336
355
279
366
345
271
208
324
345
312
355
327
342
369
233
336
362
345
361
320
315
312
374
409
354
372
317
328
263
332
332
244
338
310
274
301
321
300
395
255
318
352
372
398
376
280
309
242
311
321
357
302
359
298
283
315
341
400
397
289
221
321
336
330
403
338
306
298
338
275
305
299
284
350
352
303
283
391
293
388
332
293
368
379
350
376
285
287
349
352
359
314
261
246
365
274
310
288
305
339
335
362
328
346
316
291
322
328
341
288
304
332
282
297
308
327
331
302
253
325
328
310
265
276
329
342
273
344
296
323
285
289
290
323
322
323
302
292
331
296
385
278
329
318
346
371
357
296
353
348
320
361
382
308
353
313
334
339
325
351
240
235
296
344
199
289
369
402
298
300
269
317
288
324
326
316
308
319
315
270
309
276
347
343
258
264
292
262
381
368
304
351
274
343
325
237
339
318
340
342
353
311
359
317
282
286
277
273
319
352
324
251
393
372
331
360
299
229
395
365
302
246
323
293
328
334
328
425
288
282
337
364
281
324
337
344
283
290
312
286
357
229
231
305
296
370
328
266
371
367
270
336
328
345
322
320
379
385
343
306
405
355
312
324
282
270
362
344
313
299
307
370
325
361
295
308
277
348
280
355
352
278
332
285
336
313
351
343
299
229
352
319
269
377
307
303
316
421
434
319
359
344
254
264
301
367
349
287
287
269
316
353
270
424
321
259
349
269
375
260
334
224
313
317
333
366
382
313
373
279
301
314
305
330
330
296
308
308
320
383
386
347
293
273
293
323
379
312
388
320
399
254
249
230
323
299
338
307
335
276
338
301
330
341
356
360
340
377
410
350
246
331
297
289
304
290
384
271
258
371
285
336
318
292
265
333
329
267
394
328
264
266
334
330
317
318
289
376
272
305
310
397
258
302
256
313
257
182
385
334
289
408
317
227
317
322
333
281
267
309
295
343
410
325
368
344
360
273
348
316
383
347
284
324
285
340
332
347
303
308
272
239
217
212
420
380
375
278
332
300
302
297
303
313
387
436
293
338
320
376
345
334
297
342
349
282
240
333
383
286
270
248
299
310
344
293
254
324
307
365
264
290
246
318
304
361
369
272
327
327
250
365
304
344
302
346
267
278
387
298
242
330
291
288
301
375
434
378
257
348
300
255
378
364
335
359
398
390
220
297
281
267
311
391
353
282
311
388
261
396
283
318
293
306
284
287
298
320
300
322
318
314
288
358
336
374
233
374
326
348
271
298
253
324
277
395
334
320
398
352
229
241
370
309
175
338
317
299
269
384
300
284
272
290
324
312
343
349
298
212
289
348
303
296
307
212
287
341
328
335
258
179
261
274
373
294
345
300
381
356
378
339
370
340
275
250
270
272
306
288
318
328
291
329
278
296
261
285
386
374
294
370
243
344
344
240
306
355
329
323
305
297
409
337
293
366
318
249
323
325
327
263
404
362
354
266
240
380
292
332
299
276
289
345
322
326
264
322
309
318
283
299
335
297
371
370
296
366
259
322
345
339
348
350
321
279
277
337
335
309
345
321
325
257
295
328
313
344
353
332
288
363
307
315
284
393
362
367
328
263
238
301
290
279
318
379
357
412
320
337
357
338
319
331
309
327
310
297
418
308
398
352
235
350
358
288
292
306
324
348
260
293
332
341
359
331
286
344
363
301
323
259
312
383
253
390
305
253
271
324
280
284
333
302
337
334
347
302
293
384
331
316
307
213
343
398
326
285
337
265
259
299
346
302
341
351
364
301
315
319
345
310
324
292
317
249
342
327
202
283
259
294
384
289
322
379
361
335
301
381
267
355
279
283
304
328
353
360
297
275
309
401
313
350
334
324
256
318
281
238
276
319
320
390
305
355
316
261
287
286
287
273
334
293
295
384
381
336
255
389
271
307
211
381
324
325
306
316
309
267
368
351
412
344
338
322
291
303
313
346
281
312
312
256
251
297
324
318
375
326
400
343
384
259
290
272
397
317
250
320
359
347
330
362
269
311
291
341
355
405
358
439
340
252
364
262
314
315
348
287
355
347
226
265
264
288
254
392
357
367
269
329
389
302
405
329
316
301
395
361
338
298
402
271
315
245
255
319
322
311
259
337
321
327
298
270
316
344
323
349
321
274
310
345
301
317
257
280
241
323
332
356
296
357
327
339
312
255
275
315
388
348
279
310
271
377
412
303
290
254
262
312
382
306
363
239
264
269
398
312
347
319
271
321
344
345
268
288
313
271
298
401
364
324
299
337
301
350
265
265
329
314
432
232
379
244
307
272
313
208
431
353
321
317
306
285
302
360
219
306
312
283
350
314
256
348
339
312
377
310
308
350
337
307
365
399
392
326
335
298
344
312
265
293
296
230
340
330
362
401
314
282
210
319
301
197
310
289
245
271
319
326
344
317
345
384
301
310
304
324
269
337
265
321
364
319
354
333
327
230
276
317
292
250
315
333
311
238
263
264
343
348
256
324
328
293
327
296
377
294
319
323
311
327
393
241
284
295
253
289
236
331
273
313
324
311
319
297
364
328
356
295
330
275
424
455
364
275
370
346
325
281
314
270
331
322
312
300
314
284
357
290
361
286
310
338
340
356
350
297
387
304
278
312
363
310
370
275
328
333
281
315
358
336
343
271
283
286
239
275
302
307
291
325
342
343
237
272
268
347
355
292
263
377
340
329
418
307
283
391
359
309
347
308
333
355
368
330
335
329
421
262
396
253
302
353
340
205
315
356
384
327
286
252
242
250
406
267
331
398
364
364
267
321
359
300
372
341
353
349
315
319
368
322
375
305
341
369
291
311
352
245
272
364
300
342
297
347
329
342
303
342
257
310
334
233
268
325
321
302
374
379
344
374
303
279
350
317
345
304
374
330
381
414
305
355
369
331
386
373
327
352
312
317
329
277
325
257
326
322
356
243
302
225
240
334
252
261
331
300
319
312
359
345
316
281
330
365
336
316
274
347
293
309
343
315
312
216
314
258
362
233
295
286
331
362
284
378
317
309
274
298
282
314
386
331
304
254
295
301
308
299
342
228
299
275
367
350
306
259
334
291
294
263
183
355
360
247
270
363
411
313
348
308
335
281
267
348
340
368
324
324
349
349
341
254
368
258
304
290
320
236
371
289
351
380
267
323
326
353
364
327
299
361
226
323
308
260
288
290
341
379
351
369
300
351
362
339
314
341
395
424
374
334
338
344
352
260
334
339
381
347
330
403
301
299
335
259
332
290
317
314
337
303
357
355
311
321
317
273
364
371
346
309
310
294
309
317
300
239
333
370
204
317
347
356
346
212
333
368
265
204
320
329
291
251
316
334
269
188
389
316
317
382
352
380
332
386
337
309
284
319
338
322
335
322
291
309
300
337
291
274
324
283
315
302
336
303
217
272
296
383
347
289
303
328
382
341
300
285
293
307
230
352
257
359
306
303
287
336
290
354
273
324
348
306
379
345
310
321
278
341
258
234
377
291
281
387
340
343
318
368
342
265
396
372
307
300
345
225
297
330
327
312
338
399
334
387
352
302
285
372
315
294
340
256
302
355
332
382
272
398
287
280
361
341
332
298
318
296
327
331
347
245
329
326
264
298
347
308
313
355
316
330
299
317
336
346
345
310
300
384
375
282
304
321
311
327
327
303
292
290
302
329
328
303
338
360
323
303
369
346
290
256
295
313
276
323
269
345
363
260
291
248
396
269
383
305
262
291
327
311
286
249
323
359
303
335
344
341
286
311
377
324
294
285
248
348
277
267
286
278
260
375
350
355
267
391
339
398
353
362
268
229
321
341
253
399
402
284
308
240
285
360
277
333
382
371
307
396
332
400
324
297
278
258
285
258
353
328
309
298
296
360
299
284
285
344
247
298
365
376
324
306
328
302
237
307
313
358
273
362
348
335
302
326
251
387
281
409
343
302
205
268
334
288
343
249
381
362
287
324
193
258
315
350
344
300
354
303
338
239
348
342
389
363
298
332
352
338
316
218
223
240
338
291
275
333
308
346
257
339
286
330
257
367
275
294
259
304
296
276
394
351
372
269
337
359
247
364
273
363
412
344
299
345
303
269
260
289
393
331
299
356
331
386
281
273
311
242
256
395
357
265
305
328
280
262
340
278
268
277
314
313
279
435
337
276
325
356
278
291
355
336
353
299
382
249
387
348
248
353
363
221
333
287
353
312
278
232
282
324
329
316
337
366
299
331
371
400
311
249
352
265
339
373
413
281
338
340
299
303
288
312
324
308
334
365
328
318
264
263
346
382
270
327
378
249
295
287
250
280
362
346
368
344
298
371
395
399
354
253
329
292
299
321
286
355
312
241
278
241
304
318
443
282
364
420
326
326
372
331
308
297
351
304
299
366
387
322
404
398
313
390
324
243
286
343
310
245
389
330
345
300
350
243
304
345
372
296
308
302
354
388
316
387
303
340
296
374
379
325
309
381
341
260
299
365
345
344
330
336
259
308
285
391
233
327
320
354
385
347
308
396
325
355
323
321
322
265
359
256
322
314
303
310
262
327
323
336
338
306
285
232
340
361
312
326
408
340
266
330
296
271
335
376
279
260
327
291
260
287
315
357
309
233
362
288
386
413
335
385
241
339
421
293
288
293
224
273
371
320
294
347
257
278
375
385
264
281
329
384
326
349
347
309
302
330
287
319
306
279
294
322
419
326
405
326
321
358
365
318
304
327
338
336
308
340
366
260
311
350
340
372
296
312
333
305
400
399
212
289
275
342
309
259
331
245
321
377
258
234
309
254
385
371
258
340
323
321
357
293
205
330
298
229
331
285
286
325
318
288
271
310
295
377
284
312
357
277
397
315
354
288
403
279
272
332
308
294
353
304
214
356
361
335
314
361
333
244
349
282
275
359
353
306
361
349
324
316
372
387
295
316
284
284
321
307
384
290
252
286
256
277
352
270
256
303
360
409
302
312
308
366
279
298
360
302
309
246
260
265
364
320
310
358
335
294
350
371
394
341
285
262
351
357
381
341
348
264
279
318
267
326
269
349
304
326
370
284
359
269
274
316
360
271
338
279
354
388
272
216
204
304
303
346
370
295
234
363
329
277
355
314
306
352
318
316
336
300
307
357
311
343
212
412
351
334
337
351
308
366
278
274
256
280
310
250
412
371
351
266
247
295
351
296
350
291
310
290
383
321
372
348
301
297
327
353
334
260
298
315
241
288
325
308
328
318
329
324
311
322
344
346
295
380
345
300
298
338
276
322
325
328
261
297
267
389
321
337
353
365
285
219
358
354
254
335
320
341
315
356
257
349
297
300
280
318
330
326
330
376
316
311
281
280
286
356
302
317
350
383
301
277
373
323
302
289
326
246
294
312
383
329
339
336
330
342
345
273
332
302
393
300
306
370
356
355
213
333
367
351
334
366
296
271
314
278
282
315
240
315
283
359
343
316
260
336
361
295
397
280
309
240
302
317
319
247
351
419
336
354
391
352
382
318
310
287
260
358
321
207
366
342
328
326
259
331
364
323
355
352
318
355
300
240
335
309
274
322
399
332
367
340
348
348
288
353
293
317
307
297
349
273
250
316
391
324
188
364
405
362
331
300
358
382
311
304
313
307
306
289
245
406
267
279
303
320
261
340
345
307
351
242
395
344
312
347
302
323
340
284
398
298
300
347
314
247
364
312
338
358
331
328
331
338
284
355
285
344
328
341
303
306
380
294
249
334
294
360
342
276
257
315
268
371
345
313
388
297
263
357
301
276
321
285
212
330
356
379
371
243
362
333
325
370
218
360
256
268
318
261
290
327
297
324
361
263
235
256
298
221
302
269
337
320
278
342
322
324
339
270
359
313
310
351
327
351
237
372
319
376
309
372
397
230
300
299
258
288
265
340
271
327
366
262
247
266
320
391
287
292
304
314
267
367
208
385
323
377
339
346
334
277
315
369
307
356
382
344
360
240
379
338
334
360
378
335
237
334
301
199
291
266
302
266
304
208
263
264
261
299
358
384
403
339
367
404
391
346
338
288
316
369
318
335
337
329
370
339
270
364
336
310
267
233
236
318
273
396
302
299
368
334
242
383
364
286
322
291
280
238
286
267
353
350
345
361
265
327
277
357
289
307
347
367
322
333
267
324
380
339
295
298
276
360
304
250
358
242
297
417
394
363
310
369
305
275
338
245
377
275
308
324
192
292
331
348
350
391
394
364
336
404
300
349
321
344
318
292
271
297
274
263
360
274
351
322
349
387
326
384
366
310
368
320
287
304
313
284
266
322
323
344
303
390
302
338
308
353
277
305
361
343
333
333
287
260
305
274
285
255
317
322
403
372
321
287
286
320
248
341
329
331
312
245
323
343
331
296
313
365
308
359
195
325
371
213
311
263
318
308
263
324
365
327
227
382
313
363
378
296
316
291
303
341
265
362
356
346
288
326
306
268
263
296
304
341
312
210
351
328
375
316
326
330
316
334
280
312
282
322
302
410
350
281
348
343
269
324
326
256
334
315
281
284
291
272
241
298
302
327
334
331
335
302
310
362
263
341
316
334
295
384
382
223
341
302
301
296
424
281
395
328
276
263
261
350
304
284
330
260
318
346
333
389
342
331
395
283
363
274
317
354
316
277
365
281
315
238
278
285
272
333
186
279
349
317
341
357
404
331
385
292
245
354
276
266
326
420
412
439
330
336
261
310
285
304
225
358
314
348
293
310
342
263
270
321
329
321
284
391
325
426
271
317
290
320
394
280
374
329
338
263
372
230
291
254
312
315
366
292
279
196
301
302
290
291
256
322
321
329
278
284
316
355
283
355
294
291
376
279
330
302
385
310
233
367
338
334
337
295
340
294
261
325
281
292
244
243
307
348
323
279
289
323
357
353
343
313
338
287
289
322
333
286
318
259
387
364
315
308
281
377
337
288
291
299
300
305
390
340
340
322
303
360
315
343
263
258
314
366
385
317
372
329
367
291
295
302
361
250
342
269
365
379
298
302
333
303
388
307
311
324
352
397
341
353
398
356
337
384
377
232
275
339
285
379
266
243
336
311
374
355
311
283
346
312
308
322
279
377
329
317
281
245
218
297
319
322
313
296
347
365
306
355
293
273
323
352
254
312
273
292
353
312
341
379
289
267
348
303
297
279
292
268
364
282
321
388
269
312
280
273
304
315
296
292
235
361
275
264
359
270
357
325
331
371
237
357
247
311
253
370
338
288
309
348
393
310
388
284
324
301
364
337
243
368
309
282
271
394
340
341
295
378
294
400
344
245
372
292
386
271
309
317
312
378
237
324
334
332
309
356
304
376
296
308
348
336
314
278
280
228
357
303
294
332
340
260
325
408
355
235
269
362
300
370
359
284
259
339
322
328
280
270
332
360
305
277
325
257
297
316
364
340
313
302
353
231
356
321
344
286
308
293
359
362
277
288
311
349
268
317
262
283
282
275
276
355
318
283
365
342
319
338
352
365
360
348
303
318
323
361
335
311
362
314
301
360
371
302
261
301
265
332
266
397
352
305
235
395
302
302
298
382
304
285
250
367
266
255
367
361
294
301
354
331
310
324
309
239
334
306
319
313
314
290
342
302
404
230
300
376
377
270
311
303
284
304
301
315
386
305
324
299
269
344
284
342
417
317
390
344
345
273
243
252
260
342
291
233
277
266
266
307
355
338
291
376
197
367
356
261
296
331
285
239
287
306
382
311
293
398
345
369
315
270
310
338
235
269
276
313
316
342
324
293
309
282
256
298
324
267
317
330
304
339
331
273
347
355
277
276
281
387
341
333
325
263
293
307
304
281
265
415
258
359
417
323
379
355
331
356
342
359
324
344
305
402
309
311
345
317
251
281
335
305
346
291
333
279
352
297
341
306
212
372
289
385
257
396
346
267
373
391
263
303
253
367
305
410
289
303
340
260
362
257
280
359
330
308
219
331
311
333
371
276
292
423
254
254
288
351
314
351
282
266
387
357
265
276
280
261
334
300
272
267
272
348
308
230
294
243
336
369
388
239
221
308
250
352
308
287
286
406
306
271
309
234
242
225
310
347
331
253
279
348
284
261
211
310
287
327
370
348
242
248
253
211
341
324
277
294
314
361
248
323
331
358
334
354
339
305
249
290
320
357
351
318
254
277
312
325
241
361
356
282
352
319
305
363
271
347
337
267
275
303
234
193
320
270
377
260
274
317
320
297
288
333
344
314
298
303
308
382
299
369
339
297
378
246
338
315
301
330
327
326
384
288
320
269
287
294
249
289
306
259
232
353
263
308
272
299
372
259
305
286
317
357
329
266
342
387
336
342
339
273
333
315
260
348
311
231
300
313
290
284
261
269
306
240
337
289
291
355
281
333
286
370
324
328
266
408
369
269
260
306
377
349
318
261
322
312
338
372
328
301
354
307
267
335
298
280
300
344
330
192
156
360
349
356
260
377
260
335
349
284
249
332
304
271
354
295
355
277
322
272
422
345
343
310
333
341
368
271
272
238
281
346
263
287
284
324
345
178
329
310
386
351
275
392
212
371
319
392
295
320
332
295
295
339
284
393
323
244
253
255
344
265
265
346
313
291
352
330
295
327
258
333
281
367
291
380
381
377
353
356
235
357
364
383
311
335
309
281
324
305
240
340
345
243
396
344
226
403
308
333
256
320
298
291
268
379
369
377
214
340
325
277
318
300
256
346
270
332
279
329
360
285
302
341
320
330
399
365
407
317
334
339
326
273
235
277
361
364
380
293
320
305
293
327
357
302
343
272
349
337
267
350
338
307
329
333
306
230
354
294
315
238
289
404
247
339
286
362
247
356
304
263
342
402
327
298
298
260
291
313
345
291
352
273
275
292
409
257
314
359
405
289
387
321
249
280
297
381
326
324
283
330
382
358
319
270
313
378
308
294
296
315
272
301
373
356
264
304
235
290
297
338
369
304
359
369
300
308
228
323
329
362
307
248
325
327
285
328
353
311
247
239
392
354
312
307
363
313
329
222
330
258
354
237
338
354
395
364
357
238
328
283
365
357
307
341
348
357
338
302
332
346
312
365
327
357
227
362
313
326
393
294
277
257
363
296
224
391
374
369
262
377
343
308
342
356
347
305
280
281
228
275
331
309
281
297
269
317
311
292
286
326
361
326
308
315
341
258
297
261
464
325
295
342
217
294
293
328
279
315
296
342
363
299
377
331
320
351
324
336
249
302
364
346
318
332
319
326
362
311
324
244
342
378
378
258
263
302
361
289
380
336
324
399
323
319
312
318
385
360
318
331
301
218
347
314
318
260
354
304
338
397
325
343
270
349
338
379
316
346
325
377
332
266
316
253
311
335
342
366
363
318
283
282
263
295
336
310
261
298
354
379
306
343
221
438
322
354
264
245
311
357
334
381
285
386
292
264
285
266
372
271
357
340
315
256
330
267
348
350
290
325
310
294
288
386
307
296
258
273
363
369
325
333
298
350
310
351
299
300
244
320
343
322
294
340
343
221
298
328
366
351
419
274
342
255
325
330
321
364
289
330
291
349
243
256
343
392
288
297
355
270
386
306
363
364
411
291
298
319
266
286
212
278
261
278
282
331
394
334
301
334
281
284
372
303
365
273
325
305
322
374
248
287
216
242
282
255
297
311
369
376
359
331
366
343
322
310
283
288
270
355
351
257
312
308
264
413
355
286
408
312
314
334
191
273
326
357
352
381
364
279
377
344
432
357
321
299
308
309
286
306
210
325
325
299
336
345
303
337
278
326
328
349
331
312
364
280
330
285
383
357
316
341
336
258
267
356
325
296
345
309
302
324
282
275
328
347
308
380
331
344
334
377
326
299
351
369
355
309
369
286
325
286
406
297
385
300
338
318
217
442
373
317
334
289
384
278
299
303
284
393
300
362
361
291
319
320
267
311
315
309
315
340
325
340
293
360
300
338
315
289
349
340
270
275
407
293
302
350
242
287
380
331
378
261
291
287
275
274
330
323
343
347
375
300
343
312
360
266
370
269
319
340
282
284
285
347
221
332
199
272
266
227
315
232
330
335
339
343
301
298
312
323
241
336
318
293
368
347
260
320
349
280
356
294
212
303
349
275
323
321
347
314
433
308
301
258
318
274
312
328
353
368
246
351
373
326
329
266
305
349
325
361
338
364
268
387
228
278
347
333
328
300
341
303
324
293
299
304
361
317
243
285
387
400
360
279
321
371
348
299
284
215
247
265
321
372
239
344
293
294
340
323
261
312
262
312
208
315
304
415
350
344
250
305
318
298
276
364
358
280
265
291
301
300
332
337
278
347
368
330
266
294
327
413
336
252
325
384
324
339
345
276
344
383
285
368
307
415
338
338
268
317
354
314
307
212
308
281
288
249
298
444
331
277
278
375
292
384
335
353
226
304
209
362
410
361
384
362
279
246
285
334
325
340
361
331
348
348
310
288
324
363
246
280
322
298
383
339
324
276
352
239
384
306
356
325
349
288
333
367
318
344
297
289
387
403
310
360
309
360
280
289
341
323
337
379
300
334
322
302
281
346
370
348
338
318
344
326
301
261
297
295
347
343
287
362
315
317
314
299
258
345
313
320
347
348
322
299
226
303
380
309
324
335
295
397
307
353
272
350
312
241
301
256
351
218
345
314
296
336
386
313
381
288
342
354
364
257
355
322
286
325
300
275
305
297
305
307
265
318
356
376
350
358
357
325
339
410
285
302
341
294
349
318
348
367
332
380
342
305
311
359
278
401
248
311
344
282
319
365
264
382
318
340
355
384
342
415
312
292
318
290
277
315
391
308
272
235
318
304
346
418
226
253
208
315
360
334
320
350
265
370
341
373
313
273
269
345
271
277
336
267
284
312
329
396
320
282
346
283
370
289
342
351
306
371
347
266
386
351
352
316
344
306
266
299
290
289
350
328
419
383
272
284
223
340
341
254
318
322
301
287
260
311
326
354
337
330
299
269
338
295
377
267
329
301
309
298
410
299
337
428
299
343
288
358
309
353
335
299
237
270
349
342
250
348
320
304
392
375
384
331
341
320
366
327
393
452
328
229
325
254
288
246
308
190
277
290
359
392
288
317
321
402
269
310
314
329
332
331
267
258
339
338
336
303
265
241
322
346
293
237
240
353
261
279
355
365
320
310
339
270
377
341
312
341
288
303
334
319
226
362
310
266
256
360
280
346
261
286
288
333
355
324
164
406
353
298
307
327
341
357
294
318
328
317
339
391
357
241
285
370
353
255
309
380
328
269
287
297
345
309
306
260
330
302
348
333
319
336
330
222
354
328
315
334
341
276
302
306
338
358
353
335
327
338
325
252
258
278
341
285
330
323
203
378
326
301
308
329
287
330
304
336
289
359
318
308
318
321
389
317
322
309
325
374
304
325
343
353
364
356
311
273
234
353
289
249
240
352
239
245
223
422
255
330
365
296
376
340
345
352
272
348
347
306
301
255
202
267
267
302
233
383
362
322
395
357
318
277
306
281
246
338
317
329
274
294
311
361
355
293
330
386
327
246
331
295
320
310
328
342
286
309
361
291
332
333
298
298
251
305
336
278
367
351
343
440
331
213
283
288
340
373
307
335
346
290
263
401
399
322
358
261
312
277
339
279
391
330
288
355
265
338
283
367
266
260
206
288
349
272
405
339
322
283
353
230
314
329
326
342
312
357
227
281
346
202
275
254
300
381
307
319
313
357
375
249
331
268
272
263
323
329
343
375
376
349
318
324
360
315
302
358
238
344
287
311
363
340
276
308
238
375
284
307
353
331
357
314
277
304
373
303
382
339
305
370
307
285
411
317
345
319
312
320
207
299
361
398
337
301
317
179
336
268
281
378
324
351
288
363
269
324
284
372
346
363
287
253
321
336
239
376
302
393
253
318
306
211
351
303
340
324
299
263
284
248
352
264
310
318
360
353
296
345
327
368
267
296
387
339
333
293
282
351
302
342
359
344
232
304
270
326
260
279
307
359
368
297
266
262
268
331
322
245
288
345
367
261
357
350
357
270
330
215
282
360
342
386
333
277
354
311
351
344
312
348
337
303
270
291
319
359
261
291
391
353
356
332
328
379
271
256
299
361
325
349
383
395
275
317
250
344
308
364
364
321
302
299
345
304
288
349
307
327
251
298
331
273
310
353
317
334
364
338
281
354
386
305
275
344
260
297
327
286
318
339
341
415
334
335
315
287
352
291
333
308
350
317
339
351
365
385
308
287
292
279
370
352
266
262
337
311
297
336
409
279
352
305
357
265
332
329
216
320
337
344
366
319
325
339
325
249
355
253
297
325
306
284
341
306
330
292
329
272
273
408
391
397
294
357
298
281
359
338
235
259
321
390
312
333
377
366
343
293
393
354
332
337
337
258
227
327
268
340
399
306
334
278
408
234
354
276
343
318
366
290
264
324
315
329
319
330
277
334
399
354
291
307
275
272
316
270
298
288
274
266
344
297
314
313
210
341
379
367
283
248
356
347
255
331
330
412
361
315
364
245
247
290
279
313
311
337
372
265
302
312
280
381
300
314
344
382
244
398
264
211
379
392
305
309
340
286
384
306
262
371
318
334
282
347
333
301
395
282
289
224
354
210
316
278
321
322
349
338
357
243
321
323
269
232
366
343
285
172
341
313
336
281
316
367
386
304
352
346
290
263
332
364
223
364
291
303
376
288
353
325
219
313
317
322
328
312
353
378
314
280
383
328
386
312
370
328
316
222
288
284
342
303
343
325
287
299
318
199
402
396
336
346
293
347
249
260
301
313
317
338
324
326
373
328
400
289
310
335
333
351
367
308
357
444
296
369
353
386
322
358
331
293
276
313
265
318
356
292
279
291
319
300
405
329
332
270
395
382
315
294
332
242
321
309
331
370
321
266
315
323
320
272
248
297
223
334
296
257
336
281
325
287
350
311
332
310
284
335
335
333
343
351
361
296
314
269
209
306
298
324
324
279
330
308
290
264
334
282
381
348
324
382
265
277
342
391
355
335
335
350
239
379
264
266
307
378
337
314
332
330
287
323
379
320
329
409
328
259
365
315
283
294
235
332
364
345
297
374
295
379
278
310
389
295
377
337
214
325
274
346
304
369
410
277
327
282
339
328
357
339
443
353
381
408
288
337
360
268
238
370
410
357
343
264
317
300
352
335
291
311
377
366
281
271
297
316
278
362
396
344
283
344
268
240
300
322
340
378
341
397
280
302
341
360
319
372
304
299
291
393
330
274
268
310
272
310
233
289
319
415
385
223
247
357
350
375
359
344
345
279
316
306
258
228
288
243
356
262
296
308
312
422
327
375
241
314
260
258
306
354
257
266
356
297
333
355
273
276
371
376
288
453
384
217
276
347
245
391
294
418
281
317
287
310
268
197
360
279
357
325
255
296
400
274
317
295
298
319
299
259
274
354
328
382
406
292
316
307
301
238
348
350
282
316
303
309
266
274
307
240
296
238
332
343
309
284
299
348
347
302
348
316
324
299
327
323
307
304
265
386
331
247
413
334
293
269
282
347
293
309
369
336
316
257
382
276
336
320
401
279
316
299
314
291
317
266
379
339
334
287
349
268
280
362
221
360
289
322
331
295
334
283
337
328
341
366
174
327
281
310
345
300
363
341
448
268
354
351
320
212
369
349
331
374
301
382
257
249
323
275
312
357
321
339
393
238
298
293
313
416
342
331
267
327
324
326
280
354
373
329
350
352
340
259
393
330
299
347
250
298
357
392
316
266
248
297
328
277
370
324
332
359
308
305
228
344
290
406
272
261
339
294
380
211
299
359
237
316
332
377
347
299
273
314
244
278
353
248
376
284
279
334
347
222
294
361
381
307
335
324
375
294
283
350
256
332
343
322
324
380
338
387
326
211
282
354
361
320
271
352
354
312
343
346
286
290
311
262
395
282
308
282
302
323
290
287
304
308
322
299
273
376
297
372
346
284
318
325
265
271
244
274
301
282
325
336
281
246
347
373
331
315
260
361
338
278
250
312
223
321
341
342
348
257
305
248
408
294
370
359
363
302
401
324
311
360
411
270
274
299
329
303
381
255
262
326
335
402
293
287
332
358
336
320
329
254
237
334
301
376
385
320
300
290
379
265
358
351
236
328
401
324
340
238
308
332
304
306
284
265
333
325
314
365
308
259
356
308
334
343
368
249
355
307
287
337
344
363
264
232
338
276
271
270
288
355
279
322
351
273
322
341
276
315
302
319
249
339
316
295
386
347
271
318
296
260
282
287
226
365
349
280
330
259
270
407
344
329
304
304
266
375
268
281
244
348
237
359
326
260
301
357
373
355
314
344
329
325
315
307
451
378
308
279
288
291
249
343
255
334
322
261
254
385
237
337
367
287
303
362
229
335
218
339
318
355
279
363
396
359
260
291
339
332
349
381
320
312
363
287
324
285
250
372
314
380
312
314
304
328
318
360
252
258
337
220
302
320
243
330
298
276
421
382
205
368
341
307
287
307
365
265
278
291
303
368
329
366
312
367
259
315
393
337
372
280
251
395
353
328
326
359
346
288
298
336
377
250
377
257
320
231
266
296
297
359
312
327
360
216
327
292
322
320
274
289
306
329
350
321
350
222
330
341
384
371
390
296
366
332
308
249
241
322
372
415
292
302
269
274
316
227
344
285
211
202
314
361
325
299
353
322
352
291
341
358
314
356
329
351
258
338
341
332
342
264
305
205
305
300
294
242
315
397
258
337
403
311
274
298
284
322
350
334
323
362
346
268
331
324
408
284
344
279
254
352
297
352
337
359
301
313
315
268
373
324
251
304
341
341
326
288
382
320
266
331
316
306
321
358
311
256
317
343
297
330
348
323
388
231
284
338
336
350
269
345
361
297
310
270
281
277
281
282
271
329
280
293
237
345
351
334
348
278
260
296
347
237
269
356
348
296
310
314
457
305
240
253
359
385
313
391
342
284
290
321
379
288
385
250
296
316
289
350
340
338
333
356
248
241
365
332
350
339
327
252
369
324
335
267
362
282
315
312
363
303
261
348
236
350
276
233
300
252
351
347
342
249
354
291
260
326
344
292
340
333
309
253
344
232
391
302
356
314
333
350
367
268
377
328
381
327
264
339
358
357
244
280
340
189
296
336
307
254
264
264
317
347
338
368
328
341
301
378
260
369
366
375
303
348
298
347
271
266
384
345
283
288
327
403
339
238
272
384
405
343
338
324
326
313
261
287
302
258
351
322
333
311
308
297
252
327
334
422
276
345
318
265
341
304
298
301
316
354
345
273
263
318
344
295
350
308
376
392
363
295
323
336
364
276
417
328
327
388
342
406
291
359
324
380
293
287
396
288
355
347
313
294
395
302
323
374
393
290
231
326
323
304
289
382
238
384
303
311
280
329
390
318
333
320
333
389
338
298
296
343
351
219
335
273
352
234
267
312
295
364
246
350
335
282
393
350
346
343
321
307
296
346
303
374
267
301
312
331
320
313
251
341
281
314
281
377
264
323
209
248
279
313
252
242
359
358
333
214
289
246
324
273
321
296
296
286
233
350
302
265
236
421
250
400
281
285
352
293
305
298
300
343
227
285
362
338
311
265
280
358
310
316
375
331
297
305
328
343
232
341
339
364
316
285
271
388
288
326
307
302
313
356
367
319
325
333
262
371
338
262
293
327
339
334
239
298
299
342
294
328
384
345
264
330
367
313
311
315
330
319
309
421
379
336
309
275
288
405
287
333
321
202
340
288
277
293
326
317
253
285
299
287
355
245
314
336
313
380
297
324
378
306
298
314
300
282
357
369
339
309
385
291
314
377
292
256
237
323
344
255
284
277
268
267
440
368
247
405
333
305
311
288
390
324
350
351
319
326
339
276
280
385
322
227
284
325
289
278
333
340
359
294
275
346
278
328
243
350
301
285
383
383
339
373
407
365
326
412
320
359
317
342
226
315
275
264
390
271
264
243
302
308
373
400
314
322
311
316
270
272
316
339
322
246
287
302
259
400
283
317
368
384
364
351
259
345
308
324
311
258
342
307
322
296
381
306
294
383
377
373
349
328
354
322
219
350
354
311
281
358
402
263
300
202
368
302
413
256
262
332
384
409
309
316
273
307
311
267
329
364
351
357
413
362
235
386
341
363
338
306
336
280
297
323
251
260
395
318
292
357
342
352
258
277
281
302
276
326
336
345
341
339
383
283
262
309
370
349
339
335
344
306
235
320
323
342
298
329
282
283
349
317
394
294
325
319
334
320
379
286
362
267
353
255
272
314
254
370
259
297
278
397
303
331
302
217
304
286
295
286
246
318
346
292
304
342
270
313
287
351
335
344
334
345
279
327
283
396
317
357
272
329
284
391
341
243
347
350
340
320
388
274
230
329
240
292
314
265
317
319
353
313
301
326
358
323
257
269
308
381
274
346
331
236
304
374
291
418
303
363
274
252
351
287
321
318
348
302
324
324
358
252
364
292
318
266
338
322
379
362
360
284
319
310
320
335
329
358
336
343
335
270
307
292
335
280
369
285
255
281
365
310
383
386
261
326
344
239
328
291
284
316
321
309
344
341
271
351
364
300
349
311
323
307
317
308
327
300
325
315
345
285
293
353
267
327
312
348
335
252
311
381
321
346
299
389
366
240
347
363
283
353
316
257
309
345
310
239
267
276
211
266
264
328
361
332
385
342
341
251
310
312
229
377
392
346
324
360
307
272
374
304
384
256
323
307
319
381
265
380
298
373
269
303
236
322
344
346
321
287
256
341
347
323
337
319
337
367
268
230
357
332
337
358
343
327
368
315
298
336
288
356
332
343
331
350
249
294
353
387
289
362
289
401
313
350
399
251
267
300
368
272
278
212
320
353
368
301
241
350
311
397
344
330
352
294
380
289
381
259
302
289
386
287
316
303
367
266
301
331
198
269
275
338
290
276
274
279
354
293
345
365
330
315
338
309
409
410
292
340
289
369
298
327
393
333
360
339
270
309
306
279
250
359
222
318
316
301
308
282
354
240
384
352
268
343
329
375
277
239
343
263
418
340
266
388
215
277
290
361
411
240
313
397
350
291
297
344
261
294
398
357
310
280
331
341
292
333
371
340
365
295
401
300
344
334
277
295
295
245
327
313
270
236
358
361
344
316
388
367
347
330
306
387
282
340
327
296
329
293
321
243
330
325
274
280
336
329
331
344
281
348
316
288
334
284
275
392
348
306
309
354
338
356
334
351
386
328
280
316
267
301
385
246
362
299
285
364
293
252
376
381
336
365
258
275
285
330
320
255
325
305
288
240
303
268
356
323
293
378
300
371
232
265
271
254
335
379
350
256
286
217
292
394
358
329
237
268
309
304
233
375
286
372
274
362
263
313
364
244
324
273
322
241
310
319
306
291
307
295
364
348
154
358
324
335
375
290
377
352
260
367
347
290
340
331
330
304
202
303
335
313
356
274
358
324
276
334
276
364
284
320
371
377
317
259
274
317
233
271
376
316
339
262
277
287
269
384
351
343
249
286
287
242
290
338
347
285
282
330
287
335
341
354
227
283
301
366
323
358
279
284
323
331
386
262
331
399
294
270
327
334
265
341
315
284
371
257
275
285
262
348
263
312
361
299
273
337
375
265
376
269
299
332
295
332
337
305
328
289
305
313
284
376
322
288
241
359
286
319
372
297
291
308
317
335
289
272
308
364
381
382
358
270
185
368
393
323
361
308
334
336
339
390
283
328
394
374
334
320
346
342
291
321
351
298
306
350
343
337
384
355
314
336
285
350
292
241
289
230
365
363
298
270
292
379
315
302
287
371
294
270
363
302
345
395
323
279
338
267
399
310
343
335
345
258
322
310
240
321
268
257
355
288
301
352
324
340
308
356
205
302
245
361
304
364
245
292
342
314
261
293
336
353
347
331
320
352
281
359
302
269
327
349
349
335
292
255
280
320
323
266
244
260
341
351
369
279
387
397
401
315
287
358
298
322
369
310
245
373
326
319
311
253
268
366
295
344
323
352
272
311
316
345
304
371
267
265
329
368
388
335
365
322
337
303
280
301
255
327
368
346
224
304
344
346
342
344
374
265
288
314
317
341
318
297
345
273
344
400
354
284
419
348
299
242
307
320
296
357
368
364
396
252
307
363
404
309
369
272
334
326
267
319
353
386
284
370
307
397
345
386
312
307
290
390
366
357
318
378
330
299
245
265
305
266
341
339
362
324
305
376
208
384
389
407
331
327
384
288
316
320
301
257
179
221
370
330
390
348
299
243
377
303
267
377
420
377
389
277
396
350
336
363
310
339
353
396
237
340
371
267
283
331
235
342
264
381
288
283
284
303
350
378
305
265
282
256
359
381
319
377
320
225
329
290
319
286
340
382
340
322
382
325
300
301
294
313
257
304
354
305
345
384
251
304
404
382
290
304
388
394
302
358
269
285
292
301
395
327
286
327
316
382
309
274
274
282
318
334
314
357
289
310
299
287
358
284
310
294
352
242
334
288
364
321
317
272
372
235
364
349
366
262
319
330
352
313
264
236
375
361
282
282
302
253
355
326
318
384
343
388
333
399
361
326
355
333
274
268
323
233
294
363
321
260
331
335
237
397
311
247
305
294
314
367
334
284
250
337
305
256
309
316
351
317
347
378
335
332
290
297
349
266
271
396
374
229
245
381
313
265
293
302
306
206
300
302
367
375
320
325
312
367
362
335
317
293
425
246
307
325
370
314
333
372
308
341
400
328
244
267
348
253
244
394
304
302
263
302
327
356
302
362
292
297
270
354
342
372
376
258
296
261
217
389
323
347
236
256
271
273
325
342
253
320
319
343
377
280
375
355
308
320
355
332
303
295
280
324
330
368
326
302
361
338
371
347
326
388
257
328
186
326
301
284
334
270
252
422
337
369
281
259
293
290
320
317
284
240
294
297
332
308
334
299
328
377
292
301
309
302
306
308
280
284
324
314
282
423
322
324
299
340
243
335
301
346
369
297
303
322
349
339
381
332
324
295
308
384
337
313
283
267
335
270
287
310
356
316
297
348
341
395
311
325
323
281
320
377
262
287
327
380
287
267
353
221
354
362
270
284
357
349
296
317
315
344
360
343
353
380
328
307
318
374
333
312
273
298
306
380
297
370
217
288
312
335
268
364
339
349
306
283
259
291
360
312
286
418
337
309
313
298
277
303
273
295
291
351
274
391
364
372
327
305
351
375
311
265
417
346
355
397
347
366
299
316
303
302
383
365
243
333
353
319
346
366
308
337
315
359
353
308
261
296
331
393
336
364
315
369
281
380
354
316
276
253
364
349
317
334
264
297
339
303
326
303
295
317
263
388
328
292
296
312
385
364
334
354
272
308
356
360
369
340
264
249
363
336
306
230
286
346
338
285
378
316
318
276
299
290
363
326
262
334
325
357
289
338
273
326
321
356
338
272
343
350
283
394
310
366
270
368
295
285
296
326
290
357
407
255
330
298
317
336
279
289
271
347
387
293
365
288
339
310
332
308
225
290
309
397
319
320
311
279
360
258
242
295
293
356
321
311
201
334
321
280
246
267
306
406
288
313
286
364
272
347
295
358
306
306
337
307
359
324
336
304
319
337
311
285
396
324
335
322
221
358
346
343
358
325
304
251
317
299
364
316
379
263
261
381
332
338
318
315
358
335
345
375
266
377
302
319
287
309
306
273
329
254
345
301
303
268
313
263
366
300
287
331
360
324
329
380
282
355
368
264
388
273
284
320
272
281
327
276
313
343
367
260
274
302
266
326
352
365
331
369
287
264
309
381
338
354
370
336
296
363
191
254
302
315
310
246
341
238
315
334
344
348
256
290
393
369
300
337
220
303
237
247
338
280
363
335
323
290
314
351
339
346
257
330
301
359
335
272
281
314
324
332
365
280
398
364
269
190
299
426
341
319
351
210
299
276
383
278
295
306
331
368
308
290
319
288
317
229
367
278
301
302
315
341
377
346
237
271
302
399
323
368
288
333
382
245
388
346
285
316
332
221
307
270
288
293
225
378
313
240
356
341
374
329
307
272
279
394
303
337
266
284
324
267
270
248
300
248
252
285
336
272
336
312
318
259
327
363
296
272
313
419
295
271
393
308
352
342
307
306
344
313
317
249
339
330
209
364
324
274
349
338
272
367
298
204
296
353
291
291
257
268
284
323
281
309
183
366
307
361
326
339
423
412
317
332
253
283
329
333
300
341
256
294
277
297
248
308
280
246
362
307
269
372
374
330
312
270
246
300
371
363
327
375
303
252
306
321
365
368
356
307
282
324
255
239
283
342
321
289
379
271
312
374
369
326
291
319
311
350
338
293
340
323
296
309
376
397
253
349
360
368
307
382
397
250
380
372
205
336
308
348
400
418
356
269
324
211
341
424
257
284
328
299
325
378
358
253
361
383
394
380
370
322
291
275
345
243
287
332
293
288
363
354
283
395
366
331
383
254
333
341
308
287
227
301
276
392
323
257
334
402
379
277
402
253
325
222
296
349
305
263
339
303
369
436
324
352
305
307
288
295
393
263
335
303
255
253
302
370
245
295
366
328
314
317
265
219
239
265
216
309
295
351
251
381
303
364
312
366
379
360
281
314
260
313
206
307
347
397
309
285
373
326
334
349
342
369
355
311
287
319
356
310
328
319
262
300
299
279
320
331
321
311
311
294
294
375
325
340
352
251
253
349
269
328
397
220
314
341
276
256
227
318
317
372
371
304
228
383
329
331
296
382
329
361
279
308
316
381
352
411
418
327
264
338
268
413
326
351
306
240
291
391
327
333
338
295
343
330
395
390
282
339
299
316
311
346
406
400
340
242
292
324
259
304
334
379
309
363
336
359
402
343
331
342
361
358
330
329
380
369
317
328
337
323
279
295
323
300
372
330
186
352
356
269
231
284
177
308
401
201
278
302
330
371
273
291
338
272
283
332
344
406
368
310
339
302
342
308
273
283
318
322
331
412
376
338
333
301
352
315
295
332
305
338
250
340
176
274
253
365
365
275
320
303
275
302
268
268
336
235
300
338
333
336
282
344
347
339
284
353
343
335
335
456
345
282
348
291
274
353
224
318
398
310
309
331
356
279
276
231
329
268
362
302
316
226
319
284
307
312
374
350
346
354
323
303
283
293
338
423
283
242
348
342
347
243
366
339
350
271
318
325
352
341
334
414
348
351
286
310
280
312
290
313
321
266
361
253
359
313
275
363
280
362
366
329
301
363
344
343
302
254
308
297
366
413
395
313
335
335
321
362
293
414
318
294
247
274
371
326
279
304
340
358
360
293
260
375
434
362
279
304
373
294
331
303
345
299
299
329
282
375
359
344
316
309
302
312
287
347
346
307
210
380
395
325
391
278
368
371
383
333
357
319
345
386
429
262
273
318
315
342
311
259
306
314
341
363
317
310
292
328
304
264
292
286
398
329
306
341
293
257
265
306
326
327
340
307
308
336
395
362
366
352
305
336
274
304
271
283
382
324
368
301
325
312
249
347
341
400
303
355
234
308
357
358
286
375
282
271
371
331
387
339
248
348
356
259
257
316
291
292
355
356
317
322
321
297
386
314
384
353
286
284
337
326
244
290
295
330
312
296
308
365
318
333
250
345
337
286
233
468
400
266
346
311
383
295
375
315
327
357
336
308
336
294
363
427
297
304
329
287
376
423
339
370
267
270
307
320
341
345
212
342
307
312
380
349
279
395
304
300
289
363
283
268
287
358
290
384
353
393
324
369
253
257
263
370
295
236
318
347
340
282
272
284
338
326
327
304
450
320
310
357
278
279
308
338
336
325
315
270
310
229
338
381
307
275
322
354
447
297
338
268
269
370
339
342
333
359
313
388
305
289
337
345
294
325
313
343
378
346
286
330
268
340
297
291
328
247
420
327
359
284
327
262
270
326
246
296
307
334
247
248
223
306
356
352
345
285
324
331
323
323
379
323
330
286
322
259
287
349
368
276
357
321
287
303
359
358
360
304
361
267
372
307
287
327
378
312
269
316
282
271
225
362
320
290
248
286
375
295
311
369
387
313
311
321
355
286
300
250
387
217
325
290
286
314
270
294
274
270
324
237
379
394
381
254
285
197
330
339
321
367
298
289
354
246
343
278
342
285
293
306
354
298
353
337
368
326
225
297
267
309
290
270
314
315
324
335
313
323
274
317
269
245
214
326
343
305
319
343
275
250
347
358
304
304
322
270
324
351
299
250
255
334
259
345
302
358
277
367
333
284
306
430
392
332
254
197
391
271
224
347
319
253
277
318
333
281
280
311
272
389
328
321
273
270
327
307
321
275
356
391
288
298
339
272
346
308
294
363
283
345
318
308
359
266
275
243
341
325
364
392
264
255
375
324
264
288
314
329
379
349
300
326
412
348
358
344
282
305
317
310
341
295
353
333
396
277
314
261
390
369
308
333
392
301
325
292
327
315
354
267
321
295
328
399
278
282
306
349
336
370
306
322
348
264
383
315
269
332
368
250
374
297
355
366
376
297
327
296
329
325
297
333
426
283
277
287
384
361
296
319
389
383
357
351
369
359
353
355
323
339
328
353
382
301
379
286
262
322
388
279
309
305
306
328
394
335
352
398
350
315
378
320
283
286
325
220
427
386
300
281
375
380
265
298
324
296
350
392
287
370
316
255
279
310
244
226
343
248
312
264
313
323
262
309
407
314
380
276
334
362
308
332
331
360
306
293
296
281
243
282
341
331
369
357
333
263
355
276
352
305
280
338
373
259
263
294
399
321
270
280
355
258
350
317
278
302
340
274
313
338
334
310
255
359
333
331
277
287
364
274
403
274
268
307
279
319
414
402
285
333
351
292
255
281
354
294
356
293
307
348
397
311
349
369
303
261
210
312
326
276
296
326
244
286
339
351
255
330
274
254
200
377
344
289
393
250
233
383
304
317
312
324
251
243
323
336
327
337
386
280
297
213
273
372
372
364
332
332
372
344
346
283
249
411
212
328
212
306
238
279
335
346
313
282
308
332
365
296
239
374
270
348
249
375
358
324
377
258
327
309
320
294
306
264
403
303
319
349
356
239
326
325
380
280
308
330
343
271
260
336
297
309
313
353
342
319
193
358
296
363
260
301
364
235
361
293
367
305
315
377
375
327
323
262
343
372
349
353
354
292
274
311
269
351
258
296
373
288
356
355
319
361
389
345
393
278
368
291
295
285
322
274
320
278
351
343
326
234
362
283
348
334
393
258
330
286
301
370
267
417
323
324
217
259
327
241
256
333
345
326
330
403
290
352
253
293
366
340
242
342
288
243
421
300
282
244
209
333
336
337
349
378
322
335
290
321
326
380
324
313
290
332
245
388
341
313
284
376
243
333
349
343
343
390
273
360
326
332
305
366
318
262
272
334
367
341
317
380
327
327
352
321
273
290
386
308
347
344
324
380
361
343
226
305
366
321
340
330
346
223
344
313
251
286
351
360
303
322
340
354
374
292
335
334
421
385
253
269
296
352
300
294
311
320
279
278
274
265
284
223
339
344
335
259
333
306
282
361
340
297
273
297
326
382
264
255
336
337
279
342
386
366
406
283
428
282
392
262
306
342
328
280
273
349
337
358
334
299
372
273
313
295
308
324
304
231
345
264
384
353
284
295
320
346
291
331
298
301
306
263
329
355
312
315
294
352
240
327
286
388
218
248
363
310
266
259
301
334
381
362
385
416
231
314
386
326
236
341
357
299
296
291
296
368
226
340
318
319
341
348
376
381
378
406
346
427
340
374
238
333
359
305
318
303
332
382
325
280
311
327
219
382
323
393
293
329
415
276
345
339
300
293
292
367
317
260
307
353
341
323
319
324
350
297
320
348
329
334
293
298
354
236
330
255
265
331
364
324
308
333
345
307
312
280
424
347
225
317
335
251
392
341
344
254
259
359
326
375
264
372
359
338
327
323
204
244
297
262
226
293
297
243
294
344
305
265
303
265
335
320
380
344
376
303
343
355
332
295
349
351
194
246
358
302
309
349
306
368
355
364
328
343
320
222
299
274
413
420
311
396
281
343
297
347
251
311
348
237
313
309
240
205
329
376
343
355
281
267
359
327
339
277
341
210
341
277
326
348
340
390
282
301
294
376
264
368
279
354
268
368
229
343
318
313
361
326
317
403
304
256
307
313
220
287
194
328
379
347
304
325
311
299
346
312
338
335
364
302
360
380
387
373
319
377
286
296
353
390
303
304
256
280
347
289
271
342
250
384
291
274
317
396
282
317
342
229
286
334
339
342
277
253
341
333
275
361
339
307
309
332
364
285
250
275
323
289
261
294
214
306
237
360
255
308
288
361
286
312
242
348
359
363
360
354
322
310
342
297
415
336
255
305
405
315
310
321
306
324
258
342
407
326
317
311
353
392
296
396
291
290
304
340
254
318
381
288
337
297
350
368
296
334
346
344
224
368
347
359
326
348
357
250
373
298
344
351
312
209
255
418
333
372
290
327
341
408
343
288
279
255
242
343
318
335
270
267
341
319
351
266
355
314
319
263
301
330
384
224
259
352
340
321
272
273
339
349
384
343
307
331
335
339
333
313
315
341
325
387
323
274
258
346
280
339
302
397
311
297
290
366
305
329
307
252
372
308
320
343
271
348
342
307
366
365
270
307
405
283
299
320
310
329
310
348
337
284
304
299
276
366
296
393
360
303
297
316
373
304
264
351
408
323
299
361
317
274
283
299
290
308
304
308
308
347
381
275
331
318
310
263
352
311
336
320
326
268
277
338
353
366
317
351
358
277
326
343
323
329
380
365
304
343
300
368
331
373
376
268
284
216
313
328
279
381
265
319
438
320
374
366
318
263
226
315
421
354
354
355
301
289
308
259
242
279
358
320
346
261
324
359
336
293
310
353
356
288
313
333
275
318
331
283
287
357
324
340
300
273
242
243
269
306
324
311
294
291
315
335
280
230
281
286
252
294
350
352
255
350
300
357
286
296
360
228
331
398
339
377
247
358
367
320
290
356
348
386
329
249
295
310
371
296
302
339
290
260
343
294
379
279
381
268
324
351
230
296
280
394
258
345
343
227
412
343
278
235
288
361
342
248
384
360
373
264
354
339
162
293
458
340
321
266
304
321
332
338
252
350
387
269
280
280
244
325
334
289
350
374
287
254
274
306
348
382
298
347
362
317
371
321
333
270
303
294
312
288
352
282
302
340
315
232
434
304
259
248
314
328
243
273
270
348
258
314
336
335
362
348
278
401
382
242
321
229
386
330
343
350
280
310
332
292
323
343
405
333
322
322
283
282
332
289
295
464
279
286
270
289
398
364
328
341
350
390
240
340
327
392
281
303
359
320
332
304
322
351
325
251
355
327
264
317
277
287
286
306
367
323
416
327
272
299
290
320
401
357
359
323
316
320
426
300
247
306
341
371
279
356
354
305
271
295
291
393
366
314
351
332
346
326
259
270
377
337
346
328
348
328
407
246
305
312
355
444
353
338
348
353
308
314
235
315
343
274
321
288
233
299
331
294
351
353
303
292
311
338
292
342
355
356
351
281
382
190
304
325
312
331
319
347
334
336
339
320
332
292
304
256
333
275
384
307
260
312
336
278
244
325
318
286
272
328
214
359
284
221
335
272
221
337
339
362
272
339
373
351
342
376
339
364
282
341
352
356
282
329
320
316
274
336
370
347
371
271
369
344
335
387
312
275
280
284
377
264
322
380
325
334
334
246
298
249
322
295
323
258
341
445
322
331
368
319
298
335
325
280
264
323
272
291
263
291
286
330
279
340
325
374
313
374
394
309
313
379
371
334
277
321
304
316
321
342
314
315
311
370
318
329
281
366
338
366
322
340
361
265
282
308
389
314
308
357
361
299
403
238
369
393
331
369
282
284
336
301
383
322
337
338
406
332
270
287
288
390
353
350
225
365
313
275
319
243
329
269
329
222
373
287
314
362
303
370
279
317
326
322
399
349
274
301
284
300
300
301
384
292
368
302
302
286
295
282
365
252
275
335
337
342
234
335
339
354
312
313
297
390
309
332
336
355
330
290
375
326
382
369
320
335
326
366
368
299
388
336
357
307
328
318
278
374
280
276
335
319
313
327
315
365
300
252
337
317
276
355
299
256
272
386
362
392
352
364
315
366
340
355
345
372
276
362
319
320
333
305
373
411
250
394
349
296
259
303
279
335
293
297
326
325
295
300
304
251
305
203
261
277
294
346
265
350
348
369
290
369
276
291
355
343
318
370
337
270
337
350
321
284
319
221
442
380
321
288
353
360
372
274
292
318
376
252
324
285
252
359
388
383
359
335
312
318
285
325
340
358
300
292
315
348
347
294
345
382
295
359
282
303
342
381
293
420
225
264
386
306
326
277
348
363
384
240
366
368
261
257
280
346
310
325
252
387
332
354
295
287
374
365
401
269
369
288
262
288
250
235
357
385
396
393
262
282
320
324
350
332
330
350
380
260
401
284
288
248
372
290
324
331
390
297
298
246
322
290
348
298
332
329
426
276
341
344
285
379
387
312
333
321
254
244
413
208
358
290
339
358
274
266
375
271
380
317
349
311
321
295
328
260
335
281
345
273
320
367
312
287
288
316
347
306
393
273
301
249
348
354
356
351
259
311
305
410
371
321
352
336
334
341
291
300
277
292
287
335
344
331
271
257
332
293
291
317
291
274
193
275
238
371
347
402
287
323
308
394
308
348
305
330
287
326
292
293
291
321
338
236
143
315
343
336
326
359
411
266
297
354
254
316
327
349
272
337
299
318
317
271
299
251
319
251
304
199
308
275
303
341
271
336
333
372
363
252
315
380
308
301
302
334
252
266
333
384
261
251
267
414
277
318
268
381
387
390
315
294
287
316
258
272
347
306
317
346
280
281
274
351
275
300
304
394
286
333
283
305
368
275
336
302
330
300
323
419
294
271
316
330
256
274
287
316
339
297
304
339
303
357
298
323
322
261
327
350
328
356
325
234
316
313
269
279
310
379
291
314
376
318
309
296
291
394
334
314
376
385
336
253
202
318
313
313
355
283
310
298
379
285
316
317
294
276
222
324
308
277
337
322
351
360
362
327
299
404
266
287
273
338
302
294
280
321
305
324
385
349
275
332
257
291
338
292
356
247
340
277
378
266
316
256
233
298
258
249
287
402
314
339
298
312
304
253
361
293
350
324
386
366
365
346
357
357
381
206
299
315
268
294
330
312
260
222
298
375
381
316
298
277
368
307
295
265
308
376
361
367
332
337
318
364
366
308
332
324
315
365
281
275
303
352
279
284
324
386
290
342
342
328
288
313
285
277
337
336
286
363
331
370
305
306
348
391
365
284
348
335
288
404
274
443
223
262
328
275
313
300
355
298
226
390
260
309
338
290
312
310
239
331
260
323
297
369
410
324
313
391
192
291
357
340
331
368
360
269
271
306
254
361
236
315
305
320
282
241
270
294
205
305
326
326
216
357
351
287
383
312
313
328
291
314
357
352
267
347
407
343
393
368
301
347
253
298
304
348
370
237
287
253
386
334
372
304
244
241
273
338
303
383
358
297
373
256
370
262
388
364
255
378
269
321
318
286
295
293
383
305
250
359
323
370
303
306
397
310
325
369
315
364
321
358
315
279
373
288
247
365
297
211
352
338
320
329
267
343
298
302
279
362
216
315
418
356
350
283
369
307
297
274
264
377
324
253
327
303
259
360
254
268
300
295
372
392
417
300
284
310
283
300
340
316
259
352
310
268
337
319
336
304
316
349
327
370
293
319
204
317
353
337
159
357
308
284
347
327
342
323
318
278
329
335
321
275
379
299
362
307
312
307
300
374
302
392
275
311
303
342
262
271
263
400
297
313
296
250
276
283
373
343
369
288
361
325
209
382
301
322
334
325
310
264
276
291
323
292
365
309
288
334
221
316
243
353
321
345
384
312
274
358
356
322
305
278
314
358
303
343
310
306
319
348
315
268
312
308
320
267
318
340
369
324
337
286
363
373
283
226
309
333
336
386
344
272
269
337
324
323
267
329
282
255
323
286
375
325
294
266
306
344
297
349
282
290
342
302
380
253
318
349
331
290
335
237
321
236
307
303
297
305
299
315
270
313
323
327
336
303
305
300
385
267
226
322
274
354
322
313
229
329
362
338
316
350
379
371
402
321
324
311
320
336
329
290
239
328
305
258
365
317
259
325
295
343
261
324
293
308
371
298
340
276
255
375
343
241
322
307
346
323
389
314
270
306
273
332
397
284
285
253
358
373
317
373
325
310
283
254
316
377
267
283
309
314
280
352
253
293
392
321
340
236
328
260
311
342
350
295
336
268
277
314
365
292
319
336
340
307
341
369
306
293
338
319
343
262
297
307
289
298
297
337
331
217
317
284
268
380
355
357
357
325
317
339
255
324
303
327
282
328
193
414
300
210
330
323
401
312
303
224
298
326
287
429
298
385
314
297
333
323
308
341
252
241
318
291
388
363
285
374
311
346
254
325
445
315
332
312
262
299
354
328
420
368
350
310
254
394
249
335
301
329
348
335
368
320
295
309
280
316
335
254
247
281
298
350
366
237
273
340
384
357
357
315
249
223
370
360
294
324
225
245
303
324
326
355
323
351
340
308
305
363
353
258
379
270
265
349
350
282
362
269
289
282
304
315
238
367
263
340
307
298
374
333
285
284
261
314
413
351
304
353
362
270
335
260
280
383
322
327
288
345
382
301
254
295
408
348
336
411
260
314
276
261
291
263
258
367
259
356
319
319
342
272
349
265
274
347
345
374
348
307
334
295
265
329
372
311
295
363
306
335
358
363
357
244
361
267
299
340
361
315
336
269
287
304
365
330
293
330
287
322
317
391
291
357
246
348
359
385
335
401
279
306
396
386
309
317
396
294
254
295
362
246
255
320
368
327
358
390
304
374
299
275
292
210
247
342
319
385
251
331
377
250
224
314
406
314
340
350
424
368
312
359
249
286
283
334
314
326
364
260
303
322
332
296
390
340
279
389
271
365
334
294
313
325
370
309
293
349
331
237
353
357
327
359
320
344
329
313
305
322
323
347
329
297
389
280
259
254
357
310
327
280
318
233
248
309
294
324
331
316
194
228
327
333
331
292
273
281
363
286
393
274
327
297
375
271
287
335
328
300
311
262
310
234
326
348
335
284
306
363
306
316
307
297
293
347
359
300
303
386
322
321
390
307
342
260
304
299
357
356
329
368
355
241
349
297
312
377
364
226
256
279
252
325
305
357
342
246
301
344
236
386
338
248
279
402
304
334
312
356
391
254
412
281
362
225
397
362
303
286
284
304
303
357
259
376
401
340
293
383
352
289
346
336
317
344
309
299
300
365
348
311
287
282
325
368
304
309
361
291
269
297
360
331
270
261
336
300
310
349
319
292
377
265
290
393
302
404
295
367
343
280
313
326
272
374
308
360
288
272
261
309
328
311
292
287
320
324
352
294
239
260
303
344
385
313
256
288
325
340
282
278
289
323
321
328
344
317
310
340
342
318
316
357
296
380
296
247
257
349
225
327
335
291
330
306
340
391
366
288
355
358
275
263
366
317
298
261
344
379
279
279
302
309
367
338
277
275
308
269
365
278
317
309
381
336
275
358
378
336
312
305
334
290
300
315
343
277
315
241
332
305
325
409
413
313
337
343
368
268
400
320
301
323
260
239
306
349
333
333
349
281
311
338
296
267
365
272
311
318
294
316
313
285
354
359
293
326
345
347
374
330
404
277
343
285
251
239
366
302
365
312
292
284
331
303
325
294
300
311
307
283
324
420
288
323
311
357
340
275
327
348
331
345
241
382
330
279
337
252
352
344
236
327
291
349
321
250
386
348
305
344
356
317
274
351
287
348
276
322
262
282
346
257
425
301
314
307
328
297
318
398
343
418
268
399
340
323
301
325
217
318
311
355
270
372
355
324
320
348
238
311
290
344
351
321
253
263
365
409
269
308
290
271
316
338
307
302
276
331
258
295
369
415
330
288
383
308
358
381
257
261
300
374
358
331
332
367
275
280
280
410
281
259
379
304
274
341
382
359
360
359
332
365
306
282
240
309
353
255
197
307
350
321
441
344
326
307
274
238
281
344
274
259
335
342
327
419
231
289
315
273
403
288
345
265
303
347
324
353
317
308
346
355
279
260
317
285
360
386
280
349
307
301
272
376
430
355
322
276
341
319
369
271
272
338
322
366
346
279
335
382
387
290
360
164
294
321
287
288
289
304
377
364
371
236
379
327
405
296
293
285
296
280
421
319
421
326
316
303
371
342
328
281
370
337
388
352
275
352
283
320
249
327
372
316
317
334
324
320
335
336
279
311
269
365
268
259
341
325
239
279
315
300
396
322
291
345
349
312
274
242
383
281
277
316
261
335
323
298
244
393
323
277
329
331
377
326
263
349
295
282
289
346
318
303
368
300
241
282
319
305
332
340
365
387
269
331
321
308
282
334
387
327
364
369
416
347
340
356
236
286
313
332
420
324
308
281
297
319
316
233
331
221
362
246
330
343
337
294
344
336
413
251
351
273
204
299
368
289
291
286
253
290
364
336
338
371
345
309
293
344
428
332
302
361
203
359
259
332
338
338
359
392
297
366
316
304
253
342
307
304
360
317
324
344
327
231
274
279
416
329
339
278
353
253
320
325
346
326
310
304
384
317
307
330
230
259
301
331
281
300
330
377
359
278
370
290
323
279
357
324
360
372
372
280
350
253
318
301
341
362
323
245
253
295
317
310
363
271
330
325
298
337
335
364
304
228
331
298
368
245
245
315
351
306
396
318
283
325
282
289
225
249
336
266
308
317
322
333
296
308
365
328
285
345
318
330
292
325
333
277
424
291
362
353
250
320
309
358
320
286
324
322
412
296
364
338
311
341
341
333
323
363
302
275
320
340
413
343
339
320
401
316
265
336
312
279
336
272
325
306
379
346
329
340
309
432
305
293
277
320
390
380
372
324
382
315
358
313
376
333
265
305
296
343
295
304
334
306
269
263
289
397
375
349
273
301
313
337
297
340
323
329
326
369
352
419
349
299
348
328
297
369
263
293
254
356
426
252
370
257
323
327
344
320
275
263
330
300
333
325
300
368
301
338
353
283
323
382
335
340
307
366
308
313
300
308
329
324
275
325
300
313
241
291
185
293
417
383
185
333
291
341
281
242
389
334
317
269
320
386
394
279
394
278
395
346
255
346
349
314
383
297
327
295
279
248
315
339
345
298
290
331
281
307
372
302
222
358
297
222
396
292
296
322
332
336
308
306
329
277
353
305
298
292
366
286
271
359
386
334
419
312
344
270
242
308
304
352
342
419
304
274
407
317
321
300
360
365
243
342
322
399
310
325
300
234
328
300
292
275
261
288
281
249
370
309
236
366
298
337
382
342
267
295
401
294
390
299
369
380
262
343
332
365
296
366
288
270
316
335
273
363
376
328
276
338
381
278
318
287
267
309
357
287
308
267
280
350
415
278
351
288
280
281
193
308
265
274
297
318
337
293
270
381
224
288
238
266
410
284
275
299
325
270
323
319
376
373
352
307
295
317
408
278
354
310
380
337
315
370
408
372
248
330
316
359
286
292
336
330
393
328
330
313
379
368
386
332
312
253
288
360
386
301
299
321
262
298
285
407
339
208
344
335
286
293
360
334
296
336
370
345
333
351
207
332
243
342
262
390
320
370
367
365
313
290
361
349
370
297
392
363
353
333
354
363
355
273
371
289
274
373
273
338
303
312
375
281
384
319
329
362
412
226
293
367
273
314
275
358
344
305
285
293
269
356
292
262
413
334
281
284
394
372
287
254
362
289
318
234
345
364
328
371
336
282
318
268
297
222
363
344
260
264
252
400
317
281
315
231
313
330
340
326
353
337
288
339
413
208
278
328
290
319
276
416
246
331
395
339
324
279
293
361
310
284
334
368
245
353
327
336
307
281
375
304
342
269
391
244
340
182
374
408
305
293
337
275
277
305
338
309
290
354
220
306
280
265
300
366
323
317
361
312
284
303
370
297
358
320
238
215
343
287
295
307
377
363
287
271
312
369
313
300
298
278
294
343
286
308
333
384
266
290
306
374
327
325
353
232
342
300
340
316
305
252
341
327
290
276
285
280
245
410
255
268
412
355
278
316
293
331
260
310
317
295
337
357
294
323
326
356
295
377
334
353
327
364
352
318
303
271
325
300
270
340
343
343
345
290
257
362
321
330
392
310
344
377
366
231
352
372
313
239
268
331
347
293
283
286
256
322
246
314
345
353
320
372
374
341
340
328
238
349
239
327
310
348
296
301
308
268
359
315
371
385
355
306
329
275
365
300
353
295
333
300
330
289
357
320
361
348
259
359
221
320
289
311
296
296
263
326
365
299
293
326
295
355
283
362
237
309
289
350
411
272
313
342
312
392
322
343
315
302
338
369
288
352
344
295
322
236
326
344
310
285
280
334
292
395
255
237
293
397
328
373
302
232
338
373
316
315
340
317
337
330
316
364
323
367
394
267
249
283
338
328
374
421
304
356
399
313
250
312
329
402
365
351
305
356
370
254
384
291
319
293
334
236
318
372
250
253
332
331
425
336
382
176
297
297
403
385
302
349
365
369
367
300
293
290
335
297
294
346
248
327
328
273
307
363
315
353
344
315
357
291
290
244
332
368
279
305
335
318
374
362
344
283
396
315
386
416
343
344
247
353
295
303
376
304
277
328
263
360
366
321
366
376
329
360
284
341
278
306
308
248
248
393
295
300
424
349
295
319
331
332
281
354
335
213
366
399
325
208
309
444
334
285
333
326
287
346
300
285
364
284
346
293
399
263
298
343
238
355
312
388
387
342
296
322
375
300
279
362
339
252
288
299
349
340
369
359
324
299
302
337
355
320
322
266
361
349
260
266
334
262
300
239
314
361
236
350
322
356
326
323
308
307
352
305
323
309
311
356
311
309
337
361
268
377
398
383
313
297
353
375
371
308
322
373
318
365
322
324
311
290
347
362
293
340
270
269
312
319
329
334
247
349
288
342
314
371
288
422
362
337
399
294
330
319
337
297
339
356
299
311
309
300
374
371
276
330
209
283
280
380
330
279
234
220
335
342
275
295
320
323
325
330
320
265
311
258
349
343
296
279
319
288
333
308
304
332
239
310
339
339
386
383
327
318
261
303
286
255
325
212
259
254
349
357
328
319
308
262
368
313
249
285
326
370
261
361
301
315
326
192
309
396
335
315
399
315
199
284
323
367
350
368
323
347
282
282
337
278
394
301
337
261
320
271
284
340
307
352
309
352
396
242
377
297
318
285
306
325
257
358
300
329
304
352
345
272
353
282
311
373
301
327
365
335
313
323
338
255
331
216
295
341
382
356
335
272
328
282
217
329
365
339
343
339
300
267
383
392
363
364
286
356
307
208
345
362
327
414
244
393
327
322
305
285
269
423
365
307
311
298
379
307
333
299
369
284
300
342
345
315
275
292
291
233
375
314
270
353
330
281
275
312
328
232
321
278
292
355
269
299
368
375
307
307
306
237
386
304
337
351
332
303
298
254
229
412
376
257
308
376
197
330
308
375
294
382
264
335
339
316
346
399
360
325
300
265
349
187
340
303
303
217
344
291
270
322
324
287
244
296
304
324
302
300
265
355
266
346
293
296
340
299
335
291
356
373
336
309
340
382
313
265
292
305
321
282
330
266
352
331
370
363
299
381
320
370
324
370
340
269
262
254
317
311
347
290
391
291
270
331
339
340
390
344
361
348
368
251
321
288
368
393
334
383
327
312
308
301
351
386
352
272
194
343
242
266
273
374
295
302
294
325
388
280
362
259
308
246
256
308
370
278
335
274
365
307
298
312
345
346
337
339
262
277
307
251
355
276
320
321
354
338
309
279
295
275
401
323
338
253
401
334
371
334
256
191
281
329
320
372
327
194
366
315
339
356
349
378
328
320
276
379
264
336
298
265
244
315
223
361
308
272
257
309
311
225
321
310
338
330
329
255
290
326
317
370
352
302
236
278
327
302
321
270
354
340
328
357
318
234
324
289
270
337
337
264
334
305
287
245
363
293
233
300
310
226
329
332
356
382
385
371
322
280
290
358
301
320
262
309
269
309
282
223
338
357
257
380
328
282
264
242
274
276
366
268
336
320
340
263
356
388
302
285
310
257
289
257
326
305
409
317
314
306
240
323
327
264
295
319
263
285
309
383
284
339
325
245
339
324
290
387
370
322
298
267
229
372
291
351
295
334
326
312
265
337
330
239
362
271
223
310
324
356
308
390
297
271
267
233
305
321
329
303
315
349
306
245
266
354
246
356
340
279
273
271
351
269
351
418
295
272
298
299
271
365
338
361
272
330
358
175
403
328
278
298
283
359
318
299
332
378
304
349
294
326
322
312
305
321
309
336
228
332
327
191
295
263
299
360
344
399
354
345
326
406
334
278
324
301
289
260
355
291
273
289
280
365
257
381
364
337
326
398
321
250
367
326
312
312
267
362
321
342
365
292
271
308
347
273
260
339
304
365
354
269
324
393
416
326
352
310
281
385
277
313
246
384
308
244
256
282
337
373
264
296
302
341
380
328
346
345
218
298
291
284
333
291
348
263
337
356
338
391
267
372
365
228
412
300
233
308
308
389
345
290
393
280
332
258
240
350
333
282
273
312
296
175
253
293
374
285
318
365
329
365
296
310
300
353
267
341
259
283
356
348
353
261
313
275
366
294
369
219
265
352
257
298
308
424
206
334
272
351
330
266
306
375
310
375
337
384
336
281
267
289
291
240
382
313
335
248
250
354
285
303
364
347
298
298
285
328
290
318
368
341
370
365
271
398
317
279
325
286
294
192
286
340
279
354
254
293
261
324
288
276
356
351
259
279
359
339
238
247
284
289
272
339
334
354
289
273
188
343
329
286
284
362
355
261
282
290
282
298
313
374
316
360
332
318
267
296
276
314
283
232
237
324
360
336
328
305
366
361
273
322
312
291
279
344
356
330
309
344
372
333
270
317
320
248
355
342
315
352
316
300
348
290
320
342
265
320
289
376
329
235
298
325
300
308
274
286
321
365
366
315
304
288
298
402
330
364
285
253
331
280
290
355
374
310
258
334
340
365
418
348
277
387
355
316
325
324
298
303
321
366
324
353
359
312
293
268
341
285
266
318
276
389
305
275
367
216
316
335
386
289
291
298
357
280
323
279
295
299
303
269
322
332
342
345
324
318
314
285
298
379
232
345
378
306
325
337
232
281
323
236
281
269
336
279
302
365
297
254
349
317
310
344
317
372
340
372
318
315
295
286
352
324
384
321
260
318
340
347
273
319
312
242
273
271
393
263
359
225
362
288
264
333
335
254
350
257
411
273
269
346
341
291
272
361
293
285
389
380
255
311
304
391
287
387
346
349
259
328
345
300
262
349
312
308
264
372
235
228
340
285
376
323
304
309
312
279
308
299
274
370
331
335
305
314
290
290
299
262
373
349
303
320
292
288
388
371
361
317
308
253
323
319
350
297
343
351
335
259
347
364
277
383
255
302
218
396
257
314
368
301
304
335
331
341
302
319
383
316
281
295
293
301
364
370
396
295
265
316
335
295
306
304
327
231
286
288
294
309
221
279
305
359
385
267
395
315
299
340
306
320
293
286
302
290
292
280
339
372
324
340
345
294
267
264
269
334
217
274
364
246
346
298
210
414
381
402
377
311
392
316
322
331
344
307
304
379
281
353
373
287
263
257
325
364
339
369
348
301
237
296
275
244
319
310
230
284
211
310
270
311
364
333
247
308
293
289
304
283
319
358
305
227
351
316
280
275
362
304
348
323
304
303
365
294
356
324
377
292
316
322
276
336
358
347
303
306
236
270
326
322
368
399
353
420
319
312
305
323
270
198
319
360
325
293
257
315
311
411
340
321
340
280
307
288
277
294
351
342
330
337
325
285
350
288
297
337
306
414
305
312
329
289
422
310
291
371
276
316
367
304
306
307
368
355
214
233
417
379
276
303
324
293
333
309
290
352
310
294
318
306
302
334
342
234
273
406
331
237
327
323
318
361
373
334
251
330
335
358
318
349
371
335
337
376
298
280
376
324
270
324
271
334
293
367
289
361
388
249
273
303
338
390
379
294
352
347
295
336
287
352
342
316
327
337
273
307
357
337
334
350
335
321
346
298
311
319
313
281
239
304
359
333
295
298
313
393
306
341
396
334
335
403
241
244
267
395
328
334
347
325
245
286
396
396
332
306
348
262
219
330
325
340
313
286
255
324
221
356
313
281
308
282
389
335
317
276
315
319
394
393
364
349
290
404
310
389
252
379
299
292
327
348
336
255
331
367
281
331
389
334
391
318
259
209
316
362
387
254
266
280
442
376
324
329
325
330
315
267
334
295
305
357
234
455
324
302
311
350
296
416
358
311
278
211
306
306
273
318
322
417
309
287
271
227
391
300
307
328
390
338
326
194
284
265
346
386
352
290
226
324
246
302
311
325
356
361
226
346
278
321
299
367
206
412
355
217
306
280
339
295
330
338
405
319
316
289
345
342
329
349
303
351
243
264
281
351
355
370
307
349
311
297
347
269
311
259
307
353
307
276
283
358
321
345
300
313
345
311
272
315
317
213
415
358
330
267
274
316
357
316
358
236
270
299
360
270
314
370
370
325
315
266
336
299
295
323
361
297
324
392
338
211
309
262
246
319
271
333
362
347
277
352
351
302
171
396
254
314
224
320
357
255
275
259
396
427
383
338
324
248
283
314
303
274
288
277
297
226
327
289
340
385
299
328
355
312
345
310
401
326
313
365
328
322
307
279
300
363
263
251
317
329
276
302
350
296
295
269
309
356
308
314
314
276
309
299
306
343
290
364
309
305
256
306
350
301
334
294
325
385
305
334
342
344
355
331
328
383
381
294
273
368
238
359
314
406
365
255
357
334
391
383
322
285
186
255
322
301
287
298
270
326
276
368
310
305
322
313
302
319
396
337
388
336
349
287
318
364
315
312
333
381
273
347
281
288
354
350
310
325
345
302
350
330
375
316
321
341
234
283
328
331
335
297
330
284
254
310
246
309
318
229
331
314
298
295
202
204
282
342
349
370
260
391
354
303
312
329
356
369
289
310
445
317
261
320
331
300
321
325
370
301
373
359
419
274
329
351
280
339
271
346
348
349
251
385
272
319
297
294
281
273
254
321
332
278
352
312
311
344
389
277
315
297
341
408
220
336
269
321
285
349
348
264
310
248
317
324
287
298
364
315
388
306
276
264
322
407
291
297
353
326
282
352
269
307
298
369
372
283
314
256
184
334
316
256
334
318
312
321
277
377
255
313
352
287
304
413
382
402
254
405
283
281
281
321
303
378
398
319
314
265
317
262
223
305
302
338
277
319
286
227
283
273
333
368
321
356
285
340
320
184
283
201
293
267
261
325
222
343
434
366
287
354
163
327
295
258
302
334
319
295
283
349
338
321
320
376
304
284
260
336
302
291
241
321
230
314
390
345
309
373
381
273
337
376
395
322
388
354
309
381
305
281
265
336
294
402
346
273
271
385
338
337
256
374
371
234
336
307
279
334
359
368
304
306
294
271
386
342
289
335
276
331
323
226
423
376
229
234
389
309
346
380
277
322
371
325
270
242
334
368
352
363
305
370
306
370
365
295
274
241
278
286
340
321
305
356
308
361
268
429
296
360
316
328
257
288
323
321
239
369
324
312
411
244
357
361
366
297
266
318
369
342
326
330
283
341
321
231
315
343
312
352
326
352
318
369
293
361
300
287
327
362
314
279
361
313
337
336
335
333
396
340
305
351
303
341
311
361
347
315
315
339
339
305
308
311
350
281
251
363
356
275
349
329
372
264
327
290
294
275
342
335
331
305
326
335
364
352
239
347
335
324
332
333
312
347
301
291
318
307
351
340
342
318
294
285
333
324
286
291
356
284
319
295
258
396
299
329
296
302
340
407
249
313
274
345
328
329
231
362
413
286
256
358
351
241
241
399
314
280
193
308
350
367
342
289
294
321
313
349
324
374
366
367
333
368
281
324
285
263
344
270
340
306
293
356
384
249
360
365
316
322
352
324
312
325
318
319
362
343
310
303
353
247
311
313
235
310
348
402
186
389
306
282
307
413
259
282
322
315
332
356
285
247
346
337
362
349
292
312
234
321
299
328
295
329
288
278
344
343
382
254
268
334
293
294
320
358
362
285
303
344
247
365
330
281
346
301
344
318
329
361
188
353
379
325
389
310
302
314
357
320
345
317
353
351
407
298
294
367
300
299
358
328
343
317
326
264
300
277
329
381
276
262
241
300
329
372
262
229
231
311
286
338
272
315
317
275
283
278
272
278
306
378
344
348
273
224
318
270
360
329
295
284
261
370
296
287
376
280
275
271
292
418
350
339
384
262
307
229
303
299
290
323
422
340
327
301
215
355
288
311
335
259
277
306
285
394
276
368
216
363
329
295
320
333
420
331
283
262
358
295
340
398
294
312
386
290
311
346
354
354
276
353
269
312
274
353
321
245
238
328
301
314
385
348
319
340
324
297
276
305
343
293
345
315
355
341
328
379
314
370
353
310
370
318
305
397
340
291
307
308
207
375
317
317
234
295
357
323
296
293
344
376
370
313
302
378
377
400
303
300
343
397
261
316
274
343
338
257
250
317
397
350
320
313
238
267
265
305
232
337
245
332
324
243
346
304
315
259
296
323
387
336
335
281
361
376
371
322
216
379
261
341
336
237
266
299
175
326
322
295
273
309
286
333
345
340
287
342
347
376
168
389
301
305
352
317
280
346
368
282
370
351
276
284
246
316
297
349
315
317
296
336
317
306
254
305
304
337
325
334
289
302
243
357
384
261
323
275
383
221
334
340
336
309
360
346
356
327
344
332
360
382
382
252
259
324
282
344
357
319
267
376
359
297
274
268
327
355
226
344
329
326
299
207
224
291
234
282
288
382
354
323
314
338
337
271
291
342
313
329
335
286
303
402
406
305
205
352
302
244
396
307
341
280
382
309
311
292
290
356
289
310
299
250
377
286
296
376
289
438
232
333
386
274
415
331
208
376
297
369
324
288
275
268
348
296
288
313
275
289
319
297
338
283
295
364
270
329
205
287
264
374
266
243
324
330
339
341
326
291
320
237
337
301
239
329
307
320
358
327
282
305
358
310
263
407
330
264
389
319
345
385
263
343
392
364
378
301
286
323
393
314
327
318
302
294
313
408
295
323
295
344
338
289
226
299
293
326
266
331
379
308
324
353
370
242
296
383
269
287
324
262
338
356
380
280
242
358
339
351
325
371
308
338
383
373
286
290
311
320
309
332
311
295
309
231
396
301
256
321
300
399
308
319
328
312
321
346
288
314
362
387
370
274
297
362
318
391
353
294
329
350
355
299
352
320
260
415
311
285
359
354
359
300
317
207
235
286
349
328
302
422
337
302
343
380
361
286
258
204
356
371
307
356
366
376
328
328
269
340
397
384
310
332
334
375
300
339
274
305
318
279
279
366
359
342
301
317
291
326
306
326
327
352
315
346
296
304
341
340
332
364
312
276
246
278
347
297
367
255
297
365
360
313
296
319
284
348
378
287
329
322
371
311
385
274
400
386
337
243
298
281
304
304
286
330
359
345
376
235
376
334
295
359
322
340
226
380
304
331
327
247
321
328
327
234
302
300
288
341
285
336
311
257
252
293
292
300
238
302
374
375
374
258
314
325
287
363
333
390
335
301
236
269
289
261
261
293
307
344
320
380
269
273
277
255
284
295
298
313
263
321
371
327
291
353
305
335
312
244
324
334
320
332
291
349
332
404
327
335
268
375
218
347
245
251
290
348
365
342
311
269
343
333
349
368
351
306
247
257
227
291
344
277
311
269
283
329
191
315
296
305
378
342
294
289
326
281
279
373
345
321
223
352
310
311
359
297
341
216
303
323
388
397
366
333
315
292
253
317
268
267
245
399
396
278
206
323
333
222
344
286
348
335
388
369
254
266
325
273
303
362
306
320
303
257
311
334
267
335
373
346
327
295
353
318
228
388
295
359
316
338
358
343
299
362
377
275
295
308
361
357
311
281
316
288
366
310
333
314
280
246
178
308
308
395
344
196
444
275
386
312
249
357
227
331
274
313
317
339
290
401
268
319
367
346
369
312
339
210
390
233
372
378
264
266
376
339
396
222
299
293
273
364
381
244
371
350
282
271
336
352
238
322
276
301
229
252
331
283
273
359
394
324
289
300
356
235
299
328
273
269
295
376
361
363
368
282
265
273
351
288
304
256
292
368
250
338
313
392
269
390
340
330
285
323
296
323
292
264
299
327
336
330
217
313
283
326
334
331
307
337
278
275
300
383
333
231
367
320
390
360
313
264
326
294
221
360
339
291
326
280
308
347
317
281
337
386
271
312
340
293
287
380
336
235
337
228
357
284
255
349
247
276
332
335
305
358
263
298
305
319
329
273
386
334
304
312
325
297
363
253
381
373
302
387
300
338
333
385
300
323
341
364
308
264
360
286
355
303
357
246
313
298
294
300
320
365
275
266
336
302
356
294
316
293
370
358
327
343
347
303
344
284
339
341
310
348
260
269
185
368
261
305
354
337
368
326
315
319
319
347
295
295
247
260
271
311
306
373
338
266
270
300
219
245
332
368
331
308
226
349
265
359
318
348
282
367
342
317
296
353
335
176
325
279
307
331
276
250
258
333
289
330
380
331
189
301
295
319
390
330
212
365
318
358
343
323
267
356
299
354
333
236
348
328
335
265
223
223
359
408
288
313
360
391
357
325
348
378
294
265
314
277
405
338
378
366
399
338
265
319
315
299
252
320
371
356
242
397
333
327
257
392
286
248
334
295
315
346
437
323
266
334
302
341
340
372
366
416
307
259
317
275
302
308
291
241
232
297
340
331
302
276
317
295
426
293
294
328
331
213
360
378
328
322
339
236
359
259
231
273
335
317
280
256
289
223
343
296
268
290
302
275
281
330
290
316
252
306
323
323
284
265
186
263
334
319
292
336
365
396
281
342
206
293
247
309
226
316
321
298
321
334
246
367
396
343
347
311
317
334
339
296
311
380
361
295
287
356
348
381
282
331
334
320
385
359
277
388
293
330
306
320
352
334
323
218
240
388
315
224
338
362
305
381
290
352
349
306
347
301
325
315
323
248
393
287
263
199
209
298
306
277
324
362
349
335
271
290
295
321
295
275
237
349
310
384
328
401
445
297
340
296
250
286
342
324
320
322
241
236
383
281
303
235
367
325
312
254
295
343
369
295
277
323
359
296
334
332
305
252
226
439
296
318
296
324
297
367
298
401
248
289
344
336
306
315
368
355
314
358
401
352
338
385
313
234
380
306
353
283
343
310
252
327
378
376
279
216
292
327
300
331
329
209
353
410
337
321
348
300
177
375
442
312
225
316
367
292
370
357
311
231
357
362
316
352
270
315
300
229
228
330
278
367
328
357
402
303
328
299
318
303
234
292
331
315
269
310
339
290
302
380
364
272
353
343
424
311
355
258
373
322
270
266
269
337
302
249
314
333
350
219
327
312
241
378
301
327
350
288
283
342
405
295
325
350
299
321
348
355
348
303
358
286
371
322
263
347
314
305
265
308
372
376
359
338
292
229
327
357
334
362
343
264
381
316
244
384
340
355
302
248
301
343
304
314
238
274
293
376
317
334
226
338
348
360
290
279
281
282
364
270
351
308
333
407
383
312
326
335
331
410
408
316
270
340
334
338
272
315
317
282
301
316
275
319
259
216
325
356
321
343
278
351
358
342
376
252
278
426
383
297
411
355
304
291
334
378
287
231
312
317
321
341
274
284
384
227
383
316
348
328
393
304
323
245
314
335
331
388
377
251
294
352
289
278
229
219
303
345
361
252
253
258
321
249
310
361
296
359
360
374
246
332
294
275
374
321
352
355
344
361
316
324
269
372
358
355
338
383
358
337
282
257
374
387
325
399
330
262
362
310
366
301
264
290
281
333
371
357
315
249
265
281
345
410
316
349
389
312
372
323
305
346
253
330
327
339
302
388
366
266
358
294
324
253
372
255
340
324
289
317
365
316
347
314
352
314
404
230
348
325
304
336
330
410
353
314
322
351
234
251
237
309
316
277
410
312
305
373
334
247
273
372
321
312
328
320
319
241
295
414
344
383
229
322
312
238
382
258
278
360
359
363
364
283
256
253
301
220
301
235
330
325
324
330
345
276
244
304
239
260
336
322
336
264
333
258
334
314
322
203
315
336
356
399
393
296
247
362
231
370
299
304
312
341
232
276
307
256
283
341
378
318
287
237
412
319
235
255
307
310
358
367
281
264
291
344
219
329
405
322
284
416
279
378
339
313
273
326
379
293
307
284
323
387
404
288
326
261
273
302
262
387
291
387
302
306
308
364
265
379
339
341
294
327
376
341
278
264
303
325
385
346
353
326
282
269
296
333
259
325
319
308
318
383
357
202
350
308
319
301
276
268
427
394
282
402
309
317
209
232
378
347
359
169
356
320
373
365
307
366
305
304
437
407
369
314
235
282
314
364
339
289
353
387
373
344
324
318
294
312
198
400
331
340
205
269
353
328
330
341
321
332
351
289
265
285
261
311
248
298
322
292
317
228
339
341
330
310
404
308
328
349
254
334
260
387
334
379
286
254
321
381
337
321
277
325
319
272
296
285
389
298
313
403
331
341
294
287
379
307
275
278
322
320
313
322
380
397
314
291
348
283
306
262
262
353
308
316
228
345
404
407
322
310
373
273
255
346
269
184
344
320
278
291
250
346
220
327
319
346
300
339
343
327
318
317
308
398
324
334
309
375
370
357
354
298
362
314
290
277
202
314
226
324
380
294
308
393
335
270
366
328
342
327
271
276
320
300
282
352
326
372
289
297
338
275
307
330
291
330
349
324
344
278
416
312
351
348
336
334
350
367
278
284
266
299
330
363
383
305
351
334
351
308
274
409
289
298
316
354
201
330
328
314
322
214
316
299
375
302
307
403
173
290
342
373
284
328
346
355
399
351
396
359
262
412
308
298
235
294
271
282
382
313
291
369
223
387
388
314
281
286
267
321
294
408
357
344
344
326
366
347
343
296
257
351
274
272
288
294
418
303
252
302
381
238
340
327
308
335
349
327
205
239
314
229
357
308
241
255
375
214
307
350
299
397
350
210
392
283
327
399
291
306
282
303
373
348
290
312
313
282
418
311
226
291
229
330
358
303
295
342
341
395
297
401
268
288
260
326
276
310
383
366
377
370
201
241
300
344
293
273
342
331
238
275
350
300
316
269
371
247
362
332
227
330
264
320
379
351
378
215
324
361
301
306
292
321
370
257
339
364
382
373
248
328
396
312
258
365
368
373
202
286
349
303
341
323
224
256
277
349
309
389
246
390
362
350
318
295
304
268
268
322
240
345
312
341
340
340
311
371
331
314
335
349
374
276
333
320
300
302
296
309
355
305
336
283
239
299
314
379
357
343
221
349
376
260
306
336
295
267
362
360
268
276
353
376
357
263
362
229
206
289
341
389
315
329
301
344
320
430
354
395
363
304
311
332
399
421
346
370
317
246
312
307
243
307
275
212
457
372
344
345
205
305
318
312
358
364
259
343
267
257
356
316
340
359
284
296
338
273
248
374
360
373
337
314
345
366
387
320
328
292
335
277
209
278
266
298
355
291
317
284
347
368
330
294
326
303
308
314
293
355
292
322
237
310
401
276
347
204
332
330
302
305
313
293
380
353
231
335
320
391
327
349
262
348
301
346
339
315
336
287
277
278
341
366
299
336
287
349
213
311
365
298
359
310
356
321
316
292
307
373
260
337
362
373
323
335
367
268
367
269
344
345
283
353
370
390
297
261
325
383
256
256
350
268
320
274
310
315
312
380
378
292
359
345
349
340
238
336
347
304
331
257
299
366
266
308
312
233
290
330
317
311
284
371
315
204
336
334
326
348
321
356
291
361
373
267
355
349
276
342
307
273
368
345
301
370
295
283
390
403
304
381
297
355
385
295
268
343
268
337
323
412
266
294
268
291
347
327
331
306
360
313
303
369
325
355
342
403
238
260
277
324
335
248
317
314
307
237
378
347
350
257
382
347
311
420
343
286
354
284
295
291
335
387
268
238
321
325
340
373
261
366
343
349
349
263
254
308
324
314
245
293
231
331
383
374
320
323
285
362
354
327
295
411
370
252
292
349
307
333
365
307
337
357
325
408
349
295
351
357
359
335
362
254
316
282
359
388
324
299
365
347
321
328
346
370
330
336
342
356
300
295
297
335
325
398
332
342
287
300
368
339
337
253
357
356
318
369
232
345
346
324
372
362
378
311
318
282
305
355
360
302
328
367
382
287
248
312
258
270
266
315
390
320
306
304
327
291
308
358
322
367
328
327
355
319
326
414
376
321
381
248
360
308
328
336
297
278
331
212
257
337
323
340
360
327
247
274
372
307
312
319
339
343
337
270
269
286
346
246
310
303
351
358
270
304
251
330
356
307
269
307
277
332
331
324
327
301
335
358
342
280
314
205
297
370
294
328
270
310
354
269
343
256
280
402
379
322
288
378
372
313
264
336
407
275
377
336
287
275
225
339
321
351
325
351
296
303
253
314
290
318
307
317
212
388
248
400
278
339
303
298
280
334
328
316
371
238
335
217
368
253
303
334
338
407
298
390
310
377
335
314
316
281
272
319
244
339
336
308
300
243
412
286
376
344
360
327
275
398
302
278
345
328
360
275
366
334
378
317
281
317
280
381
251
357
274
337
349
336
270
319
199
244
289
332
281
426
326
341
384
310
313
281
275
403
322
298
319
305
226
378
376
339
350
355
260
338
277
332
322
343
250
273
219
337
294
264
298
314
277
300
281
350
364
309
302
321
252
257
293
305
350
391
358
341
387
257
303
313
369
416
273
340
303
346
357
360
323
287
372
329
383
298
355
328
363
339
301
347
362
327
366
335
343
282
313
340
299
342
312
320
265
352
323
294
281
328
394
250
281
408
321
295
262
378
266
336
351
343
370
238
305
280
320
295
383
376
193
344
313
256
344
365
324
329
284
275
315
269
365
342
406
346
214
333
310
365
319
347
228
305
334
254
360
343
329
332
320
324
260
307
283
332
295
294
348
269
310
414
278
348
320
358
230
310
355
447
262
265
350
352
383
372
304
366
325
321
359
313
352
326
369
298
352
285
314
320
296
228
379
303
291
320
383
243
269
324
232
345
340
244
315
430
393
346
344
299
335
305
367
302
329
392
304
299
264
377
335
328
352
273
278
366
357
264
341
282
247
331
302
352
352
244
267
242
420
345
247
305
305
323
317
322
226
320
345
279
296
320
367
292
363
323
307
302
323
367
236
270
401
305
321
359
300
269
365
396
312
290
302
357
257
303
307
311
320
346
228
347
318
316
338
336
290
293
296
345
282
327
316
311
305
362
387
303
323
344
298
362
308
371
348
244
341
328
268
268
305
223
276
348
373
197
317
299
343
234
322
316
327
268
284
260
356
347
303
397
327
367
313
256
291
322
348
286
294
383
295
237
271
329
300
281
340
288
326
326
274
325
389
305
301
310
350
310
340
256
297
303
308
357
248
247
275
315
238
382
287
253
281
326
364
334
363
363
300
248
270
372
329
338
289
355
314
290
356
275
344
328
332
331
267
349
338
293
328
326
336
379
290
382
304
300
348
371
239
331
386
348
298
305
378
345
387
296
303
361
361
280
411
280
326
344
289
371
371
338
362
275
327
314
389
252
316
341
305
382
304
340
286
268
325
311
320
221
392
326
300
317
299
226
223
366
326
348
313
248
376
323
267
248
313
234
307
277
262
292
315
329
294
339
355
338
324
288
366
247
383
344
255
311
287
364
331
290
273
297
296
341
374
245
188
313
289
256
397
253
345
303
334
374
343
297
256
371
251
239
220
376
294
312
325
339
330
316
322
183
273
332
260
309
300
319
292
289
381
323
298
320
257
332
332
342
307
326
337
380
297
329
295
316
309
260
346
318
400
386
320
362
305
344
326
312
351
304
376
253
316
242
260
353
256
217
306
312
263
297
297
316
322
333
380
255
360
328
325
337
288
320
286
314
327
343
337
399
349
381
252
377
299
261
277
336
351
335
232
402
377
303
356
336
305
293
330
296
329
386
281
350
332
321
377
334
294
338
322
283
331
293
360
323
275
349
325
342
386
317
293
374
399
330
278
224
345
296
282
369
379
300
280
320
349
378
383
387
287
209
336
262
282
345
403
285
310
360
258
321
338
304
409
318
311
330
243
309
276
273
329
370
318
322
300
352
302
370
317
357
303
330
259
295
330
321
351
365
284
302
368
248
360
368
379
361
305
386
337
258
348
283
328
292
384
350
321
310
337
282
353
342
370
404
222
342
364
285
361
334
303
274
274
272
313
310
300
405
310
275
353
310
319
411
324
281
292
302
323
354
256
293
355
366
272
302
393
204
285
308
362
397
287
308
329
335
382
305
296
372
371
396
222
281
240
402
254
303
379
392
293
317
257
326
338
274
307
339
307
424
296
346
345
291
328
373
288
348
330
305
267
296
285
307
283
360
270
339
352
309
350
373
286
266
360
277
335
296
289
320
335
362
301
296
272
423
297
348
385
422
293
346
293
378
253
293
280
286
327
391
298
361
352
316
309
381
294
374
291
290
360
333
361
309
329
301
354
327
264
316
344
309
347
281
270
278
391
283
273
213
333
322
370
401
328
265
328
299
377
314
335
292
348
392
274
294
227
323
325
323
356
360
349
273
288
321
324
351
386
312
251
284
413
331
317
309
375
263
239
327
194
305
410
222
328
342
318
354
353
344
272
337
405
198
336
338
344
334
384
283
321
215
286
344
280
330
282
386
247
319
323
355
321
307
296
396
370
330
302
167
252
327
264
344
327
302
387
284
222
412
229
258
281
266
327
344
234
297
336
386
270
340
340
302
298
220
306
307
270
299
373
290
344
283
310
370
395
266
286
329
282
339
368
326
226
266
337
312
300
352
334
300
353
314
199
335
315
363
366
273
361
288
359
352
313
282
255
366
313
256
313
287
323
317
359
362
352
248
281
390
330
325
270
286
378
313
300
298
327
283
272
308
377
324
328
266
281
324
332
162
282
231
286
326
316
389
350
331
337
328
312
393
326
262
339
289
288
322
280
225
352
256
317
293
354
310
290
229
364
272
300
256
341
275
236
301
326
277
254
345
252
241
371
363
206
308
401
329
235
311
382
339
269
305
324
249
360
269
354
238
319
377
264
368
300
342
281
362
263
307
368
325
376
263
344
366
312
206
353
387
298
342
322
281
348
324
338
348
336
353
309
278
313
357
315
327
361
325
342
374
330
309
320
301
276
272
368
234
263
276
285
187
305
352
302
306
334
191
282
238
389
336
383
347
359
399
357
365
331
358
283
339
312
302
340
303
303
331
358
366
319
321
264
364
382
297
324
226
224
367
387
311
307
333
390
354
245
321
372
284
348
333
303
330
361
331
302
260
383
329
211
318
371
324
242
353
383
315
239
344
336
291
313
418
323
293
306
301
407
345
303
355
327
370
329
354
339
354
357
294
332
354
293
283
311
274
298
328
294
285
291
359
397
207
327
323
356
235
298
398
250
263
196
355
318
356
338
289
351
343
271
341
348
398
348
310
319
296
285
321
368
305
361
199
312
295
287
292
296
308
341
423
364
401
278
267
257
320
277
326
366
290
302
346
322
318
321
307
402
331
305
307
370
322
285
366
337
341
301
278
326
249
283
262
239
341
295
304
331
369
281
311
323
308
250
367
241
258
298
396
289
322
266
351
323
236
386
334
367
340
304
345
315
370
401
295
300
295
338
320
253
270
330
286
389
298
277
257
340
193
327
366
296
279
311
381
443
284
307
444
275
311
322
321
347
344
304
349
353
269
389
367
268
387
278
346
419
354
280
303
384
320
335
389
376
328
285
354
244
331
340
326
275
306
250
350
287
346
285
291
349
381
394
258
271
329
284
286
312
315
302
328
355
304
294
367
293
358
289
366
310
379
372
329
259
252
337
256
340
233
320
332
348
337
341
342
335
306
339
277
353
318
347
239
395
357
372
263
277
399
376
312
367
310
296
384
335
303
271
354
292
278
349
322
299
365
272
313
338
330
241
255
285
320
290
272
296
266
290
279
216
341
379
301
301
317
264
312
317
324
393
297
296
248
254
345
291
240
288
303
219
316
258
322
307
322
370
294
372
346
290
315
314
315
369
342
370
251
369
312
352
374
330
295
418
317
345
330
349
323
438
298
309
338
338
308
358
312
292
323
310
361
385
329
295
283
357
288
325
374
366
370
261
307
294
307
332
335
336
370
295
334
349
314
336
289
280
306
278
309
378
385
302
316
416
322
305
327
225
359
295
376
246
306
276
332
331
291
383
303
258
258
328
294
289
358
348
311
364
339
299
294
354
330
389
312
300
343
347
289
364
318
435
283
336
272
307
340
359
249
375
384
255
279
317
348
364
347
260
324
319
284
284
300
307
241
274
287
243
375
313
321
323
305
350
310
366
322
322
383
355
326
433
289
340
307
298
318
364
274
371
317
380
352
353
359
377
285
331
329
330
242
325
277
288
395
329
302
259
283
390
317
293
339
323
342
343
318
302
259
386
377
291
264
337
349
367
291
324
381
221
304
371
264
367
326
313
373
277
261
306
368
289
348
392
350
302
319
338
378
333
322
367
332
249
328
313
365
301
254
374
274
413
365
328
275
267
299
362
318
339
366
337
273
313
272
355
320
247
307
413
352
226
389
315
305
337
366
386
355
314
271
309
311
337
372
265
407
384
360
290
404
372
260
280
316
281
307
315
280
380
326
367
261
339
358
321
354
318
376
295
394
359
311
404
288
310
345
371
357
283
316
289
314
378
332
403
310
344
279
302
395
280
341
211
364
363
352
310
298
255
245
289
190
267
353
328
378
317
329
329
270
356
267
313
297
347
330
314
336
256
277
259
331
312
321
279
271
405
287
339
305
323
305
323
307
299
265
328
252
361
363
385
328
316
363
378
270
348
371
329
377
386
347
336
342
273
310
346
323
309
312
289
431
339
386
287
308
303
300
325
266
253
305
340
301
359
302
370
350
241
356
285
233
362
255
321
223
378
277
316
289
338
347
359
319
237
354
352
344
273
364
247
292
327
302
284
288
268
375
332
266
295
266
347
363
201
334
287
341
230
381
321
399
294
288
316
380
318
262
342
255
400
389
358
278
303
340
310
346
392
256
283
454
321
298
310
314
291
320
343
269
278
369
247
295
341
320
379
314
269
313
367
266
302
311
269
304
310
319
235
336
373
349
256
302
290
386
368
346
330
318
390
349
357
322
311
259
304
333
302
254
335
376
236
290
323
304
286
282
313
328
387
338
308
387
383
333
272
269
303
337
268
375
283
329
325
297
338
302
319
292
320
274
267
261
344
278
366
271
297
316
338
371
277
291
329
233
399
358
354
342
315
384
343
302
348
298
326
321
269
418
352
335
359
342
369
321
268
303
372
354
295
325
247
357
403
255
285
258
334
362
332
288
393
287
359
409
344
282
320
325
328
356
235
361
347
360
207
320
360
343
235
234
250
306
343
399
369
266
322
255
313
289
326
261
312
361
326
351
309
378
321
369
337
307
248
339
246
385
311
283
327
285
319
342
226
257
312
279
359
281
290
289
362
385
302
295
302
287
309
368
310
318
326
228
308
368
399
298
252
301
393
377
265
326
308
278
283
347
307
350
294
368
307
285
311
323
255
324
276
373
347
325
330
285
317
329
389
350
285
366
291
318
402
318
331
239
365
334
359
311
363
241
317
262
370
267
323
307
386
326
427
396
349
239
181
310
426
354
320
331
231
273
290
315
299
233
337
345
389
308
361
346
369
332
406
369
348
269
290
368
322
308
342
346
279
267
325
361
268
306
308
247
270
357
325
262
253
354
275
355
257
355
388
391
291
275
365
375
334
285
251
356
249
318
378
366
277
251
275
331
312
283
322
306
287
307
312
281
378
308
274
342
325
340
320
320
289
361
351
400
346
304
309
335
359
330
305
335
331
330
398
305
336
339
423
363
413
369
267
306
366
247
343
324
388
257
332
381
209
379
305
339
382
363
346
262
347
330
255
375
295
317
441
212
388
294
394
409
285
325
338
320
269
267
229
310
278
353
277
294
339
377
292
278
430
316
329
321
374
322
263
337
310
387
322
321
276
283
374
365
385
247
302
228
335
307
335
266
256
371
332
293
308
355
350
384
333
297
340
198
351
384
322
324
307
264
327
223
384
353
312
299
218
345
345
202
237
295
374
279
240
220
307
360
306
295
294
325
201
259
432
321
254
310
330
287
329
407
268
319
340
247
299
304
302
332
228
272
279
340
375
354
305
291
297
358
263
324
282
335
319
347
303
269
364
277
255
356
335
204
316
395
310
315
365
328
296
277
295
380
343
323
288
327
332
302
277
319
242
190
374
342
345
359
308
342
302
293
287
247
315
324
300
286
233
395
367
325
388
381
351
327
315
320
305
317
385
332
356
309
240
388
317
358
253
280
357
362
318
230
315
303
338
375
293
357
303
280
336
234
301
276
406
358
339
362
339
304
280
306
310
362
288
329
331
363
371
382
316
364
303
274
299
299
337
282
242
354
310
289
331
418
352
363
389
280
266
305
347
424
395
360
340
294
360
255
318
364
340
320
234
332
352
339
268
279
342
345
358
223
317
286
257
334
256
327
335
290
325
303
284
283
342
284
351
355
278
262
359
266
352
303
281
237
285
306
333
362
307
289
271
309
337
273
366
346
333
302
243
245
340
299
358
327
216
212
306
343
250
228
267
385
320
370
314
354
308
275
333
224
322
373
291
373
346
362
371
321
233
360
347
288
420
378
399
257
343
313
320
422
348
372
261
325
363
389
239
294
368
327
350
267
317
250
317
291
352
315
322
329
339
334
284
241
287
281
304
338
256
336
343
270
348
365
230
366
240
338
371
278
270
342
335
301
341
268
304
235
310
292
268
280
330
338
380
374
320
412
346
301
257
265
311
294
392
284
214
272
239
329
349
310
237
325
288
332
327
325
386
301
378
339
296
347
193
265
343
307
335
320
341
459
338
334
278
302
428
217
336
347
273
274
358
265
348
327
318
268
290
351
272
356
378
355
291
276
260
347
342
250
414
163
332
308
307
363
282
395
290
348
336
357
406
326
342
417
322
338
384
407
265
336
302
243
354
335
358
253
306
310
335
277
306
319
280
310
244
327
291
240
322
258
367
296
338
321
285
339
370
382
340
329
228
296
328
367
323
363
350
226
241
355
411
304
300
250
360
354
329
299
360
225
317
369
292
337
333
411
325
287
364
351
297
294
341
280
332
288
297
283
327
309
293
396
258
268
317
331
338
286
368
337
323
286
322
312
300
287
322
298
328
359
324
374
297
305
287
268
199
325
379
282
299
334
330
351
283
390
331
334
309
268
279
389
310
332
236
262
314
276
311
272
233
309
329
374
308
308
409
302
276
378
324
319
292
306
292
259
282
339
303
377
319
333
287
285
276
301
334
313
317
338
306
320
377
347
250
263
378
293
355
291
402
322
314
338
379
367
293
338
266
258
371
327
337
282
276
272
355
343
227
273
369
377
347
364
266
278
285
341
325
298
261
328
256
228
322
304
330
324
322
246
337
215
359
300
319
276
276
263
346
379
341
353
286
363
353
314
262
311
166
282
221
303
295
309
267
373
268
305
367
307
336
397
347
402
330
296
342
356
340
366
376
375
328
347
299
313
358
315
307
272
367
388
295
387
341
302
181
260
237
291
251
324
288
296
337
277
292
293
394
329
196
297
284
366
374
416
290
236
381
319
347
393
386
422
300
303
317
301
312
386
301
340
242
371
303
309
324
373
318
227
307
345
296
296
341
370
341
398
270
328
312
308
427
301
371
297
264
376
290
276
291
244
304
339
336
383
337
339
271
382
329
305
275
314
267
272
281
317
346
347
287
260
360
270
301
334
368
190
345
373
237
377
265
264
269
327
380
279
287
327
304
360
323
301
339
305
364
354
250
377
308
310
271
334
245
246
303
288
294
245
318
281
354
324
316
308
286
334
296
314
260
221
347
269
439
361
365
292
351
365
322
350
341
348
244
336
378
340
323
326
371
328
291
271
342
326
307
282
336
362
299
259
319
268
283
375
349
276
253
374
330
385
307
244
331
346
345
328
319
345
286
257
351
308
383
344
339
344
348
297
336
349
329
263
212
207
275
315
335
317
271
373
337
337
291
349
367
316
224
305
315
365
398
275
283
298
339
238
399
319
290
364
329
390
351
346
340
281
295
319
343
308
347
384
409
284
354
320
371
317
295
316
261
318
281
328
276
294
349
287
288
315
337
308
291
272
316
303
388
343
308
235
331
363
280
350
351
358
276
321
351
246
320
328
388
343
297
263
336
337
291
266
319
371
324
272
298
354
309
366
360
363
304
373
290
209
331
281
247
270
330
304
277
242
339
246
241
253
281
232
290
304
378
319
335
253
329
304
280
325
310
302
340
297
326
279
319
370
412
337
283
291
321
383
309
256
381
394
377
322
336
201
309
292
441
320
356
270
299
310
284
282
236
306
401
318
284
277
387
261
262
392
334
336
367
270
326
272
346
338
286
263
350
271
321
320
338
361
354
261
263
296
187
266
277
250
274
315
347
375
394
330
308
348
261
362
333
360
304
322
228
344
292
351
348
309
340
250
354
356
330
259
326
409
267
390
366
357
337
349
264
364
295
316
310
350
324
305
284
321
346
279
325
321
263
307
321
368
301
322
376
384
339
315
363
343
240
327
256
319
247
297
355
298
320
305
256
301
315
357
347
220
325
264
259
351
340
240
312
334
337
332
313
327
371
217
302
320
360
259
277
293
363
250
327
259
243
365
287
277
275
213
291
367
279
252
361
356
255
373
315
299
295
323
346
248
311
297
326
364
327
351
346
301
365
266
285
299
336
306
267
332
295
361
322
300
270
382
397
305
355
333
283
254
355
344
360
291
383
311
308
288
378
348
295
272
326
283
275
313
270
309
329
282
288
259
263
211
321
331
264
265
292
294
333
328
314
358
332
290
256
300
300
373
348
338
279
357
280
308
222
378
334
260
275
355
320
309
262
287
273
285
337
266
325
269
217
370
346
366
354
383
378
320
410
377
330
308
265
420
399
338
286
300
350
267
353
343
385
425
274
340
328
362
300
332
277
334
333
365
329
410
338
338
298
350
355
338
267
347
226
375
301
357
312
374
325
364
270
361
313
320
294
272
221
318
265
339
251
375
347
316
310
343
361
379
317
310
416
365
325
314
277
220
332
299
269
307
333
318
339
393
323
308
214
188
334
413
320
268
416
316
311
328
283
247
344
266
294
282
282
302
380
297
249
383
354
392
280
316
332
345
298
310
322
319
292
305
250
307
245
323
298
260
314
408
348
293
288
289
353
286
378
357
293
378
398
316
281
286
312
278
233
355
369
336
292
373
304
281
331
354
301
349
368
289
319
327
325
365
282
313
311
323
371
211
307
306
304
277
306
343
412
298
368
251
340
313
314
324
293
287
253
286
380
288
322
320
325
251
300
322
297
379
297
297
371
314
249
375
320
316
375
346
294
342
260
261
269
304
286
273
329
279
319
269
323
372
286
344
340
420
288
314
261
405
340
255
384
294
272
339
316
273
342
316
268
412
353
242
182
367
386
311
323
311
298
338
291
351
261
329
363
348
365
309
339
324
337
301
285
290
298
293
333
354
424
348
391
373
380
264
300
328
314
316
312
243
284
354
328
327
261
293
339
282
305
283
402
351
316
286
383
255
245
327
317
300
227
282
301
226
283
306
280
338
308
314
308
373
288
286
313
274
378
330
382
340
279
309
357
248
281
361
277
351
348
426
385
319
243
287
302
301
328
352
334
177
397
308
334
278
327
341
282
342
296
279
330
263
296
392
330
252
270
355
293
272
259
264
343
354
273
283
289
358
295
340
392
250
256
404
285
308
307
344
367
278
350
297
277
261
303
350
333
288
319
295
307
288
263
297
363
388
329
292
289
342
326
294
298
342
276
309
424
357
310
312
385
326
290
370
283
264
274
315
282
372
316
357
292
276
379
331
347
243
270
357
409
314
357
407
365
425
343
294
342
357
311
324
341
305
300
368
339
357
345
367
342
420
323
330
308
364
327
345
252
320
191
323
405
302
358
331
257
332
313
359
278
287
348
361
331
377
290
367
278
427
260
343
314
228
329
316
328
360
399
295
318
234
285
268
338
345
290
235
385
368
316
254
285
325
376
381
234
320
305
281
339
354
268
218
305
306
359
341
251
276
370
368
342
280
299
357
272
335
294
395
332
365
281
340
245
355
355
340
278
368
244
295
321
305
389
361
382
342
319
237
296
312
293
344
277
331
306
280
247
255
364
245
382
297
373
259
312
325
319
322
338
309
300
363
313
269
320
358
294
425
249
340
323
286
267
280
357
367
270
363
317
336
330
304
280
385
294
307
310
275
309
329
277
306
374
330
378
269
332
316
379
281
317
349
373
405
354
281
332
369
285
337
232
343
288
256
369
321
269
365
280
365
216
343
224
335
232
277
302
337
262
317
322
370
349
386
341
369
383
297
345
275
380
249
312
394
352
333
366
321
277
317
408
289
286
291
217
316
235
303
314
351
371
278
333
344
307
281
290
301
376
310
336
314
335
318
379
293
386
303
304
369
312
309
291
344
362
191
372
231
343
283
303
332
306
253
346
279
337
342
305
302
382
356
320
351
326
313
335
308
304
343
265
271
191
343
272
283
289
328
290
290
293
315
397
340
300
290
276
311
305
387
326
282
317
342
353
297
305
311
394
305
264
312
321
257
315
373
271
231
318
290
354
398
295
282
274
295
326
351
255
375
303
351
367
272
317
414
396
356
295
353
347
331
379
311
340
374
359
322
283
306
320
322
349
260
293
289
329
400
299
316
324
381
292
295
283
388
266
291
296
283
271
379
353
244
346
282
258
265
332
275
282
291
324
281
279
334
268
282
273
240
332
287
377
288
233
294
277
370
299
283
346
359
302
377
365
332
356
346
314
288
314
344
287
366
305
269
300
404
330
284
399
328
321
285
403
330
355
332
337
359
364
405
342
303
298
295
340
313
242
350
335
396
306
289
374
343
350
305
262
295
292
355
282
398
292
272
325
421
287
419
261
361
359
383
221
300
230
303
345
345
312
280
319
296
242
333
271
277
337
264
159
313
357
334
303
302
340
329
404
413
301
300
274
203
333
391
293
304
308
336
327
264
349
324
321
311
325
280
382
389
300
343
315
360
338
287
310
337
238
380
308
303
317
355
387
267
277
415
287
234
340
301
259
300
278
288
289
339
323
363
286
302
309
344
355
353
382
309
301
342
317
275
336
312
320
295
271
303
249
345
362
311
278
265
226
354
370
338
274
334
357
261
361
262
324
367
322
384
296
267
316
284
260
349
229
252
304
227
371
314
321
245
311
357
303
327
349
343
336
401
359
247
324
321
417
362
324
344
300
226
332
311
366
285
269
320
308
337
279
290
252
358
305
320
342
230
338
424
327
329
259
269
357
354
332
239
341
378
353
331
337
335
381
364
290
337
314
263
296
299
298
300
356
299
298
389
298
353
276
313
333
192
380
283
307
400
276
252
309
334
306
295
314
342
393
265
325
318
352
342
272
251
354
404
384
346
352
329
347
328
305
351
273
315
238
292
314
248
324
315
381
286
357
326
275
338
269
237
304
285
258
303
275
265
377
276
345
336
250
296
333
266
305
222
343
321
297
314
360
382
292
266
235
220
281
361
290
329
297
328
248
406
391
299
265
312
327
284
382
292
302
260
309
278
384
264
342
292
308
315
302
301
270
341
349
310
278
246
338
313
366
385
361
213
340
297
334
308
373
303
394
309
279
292
224
277
327
301
348
328
327
243
311
336
299
326
336
277
303
373
392
341
319
395
311
328
359
267
329
328
329
279
360
345
246
284
280
333
302
289
333
336
302
328
283
234
272
285
356
266
318
345
309
323
293
276
291
331
401
291
319
297
379
299
246
336
330
375
294
373
320
310
302
297
333
361
271
359
338
335
366
261
328
300
404
360
280
298
335
332
305
409
297
290
348
348
373
320
327
269
322
298
381
314
359
380
321
375
266
336
411
274
306
299
318
299
284
368
288
297
308
301
299
352
243
300
303
289
317
281
296
382
267
361
330
390
252
317
329
284
331
292
255
381
260
283
321
266
367
320
311
289
349
336
378
309
213
287
372
313
319
357
330
313
369
324
276
324
321
315
348
321
335
289
342
356
373
357
384
292
264
396
347
288
391
389
339
309
335
376
374
312
254
312
350
350
325
352
301
284
326
272
260
317
301
226
416
283
273
346
318
309
374
288
376
287
307
273
335
283
306
367
369
286
336
275
321
320
256
286
374
339
358
249
390
317
340
296
281
249
286
336
293
258
306
373
323
287
406
264
362
343
289
336
320
301
297
266
351
364
343
318
308
319
338
300
346
346
317
321
372
352
279
330
370
331
289
261
379
352
333
326
328
335
258
332
319
322
310
239
295
305
333
341
302
328
298
247
318
367
293
383
307
294
303
309
193
376
324
371
245
348
294
259
279
362
388
289
297
302
341
293
355
337
326
323
283
272
260
405
328
339
264
322
327
338
264
321
317
364
335
282
357
352
299
277
369
346
281
338
287
329
253
381
273
370
310
268
265
303
253
318
329
359
333
277
383
306
369
267
335
303
289
251
283
318
392
317
318
373
275
360
396
366
279
352
284
357
328
347
269
309
329
310
328
328
327
300
292
262
328
291
347
232
379
306
342
353
230
318
327
344
287
360
306
346
328
195
346
350
263
274
426
281
257
290
326
309
294
281
275
273
325
343
289
262
274
313
254
313
248
359
276
351
300
292
317
262
282
259
305
292
369
273
313
300
253
317
322
275
415
385
318
266
367
311
263
363
345
244
278
358
432
299
342
319
293
301
369
348
360
341
316
303
430
312
364
379
394
385
273
313
340
376
322
264
347
363
334
326
230
316
392
371
295
338
289
419
262
246
278
244
274
297
363
344
429
362
243
319
361
279
362
353
330
323
307
357
288
265
394
274
353
226
332
316
357
379
322
374
162
315
261
314
322
360
328
330
374
282
305
389
316
293
320
287
362
314
288
277
359
315
246
369
363
317
299
298
244
318
378
308
302
321
260
343
294
327
313
311
297
379
373
329
260
362
269
311
311
252
332
323
346
336
292
340
238
347
299
291
283
358
296
352
290
280
285
263
278
264
295
289
250
327
305
253
354
354
335
391
334
361
316
345
312
347
303
239
316
229
351
288
301
264
362
284
311
315
281
324
318
288
286
335
308
272
281
410
301
283
318
355
335
261
258
330
396
309
358
291
305
285
336
312
363
325
265
303
338
368
356
354
242
286
323
290
340
260
296
351
358
313
381
305
360
274
396
360
312
327
402
286
341
323
345
302
273
379
339
319
409
277
271
311
345
194
293
279
318
341
258
327
305
325
256
323
309
257
382
234
289
356
435
351
356
316
277
342
362
272
415
286
344
356
340
322
321
331
412
269
299
325
307
318
298
319
267
367
295
371
351
384
267
289
339
343
338
336
359
299
332
220
255
366
363
308
275
300
312
273
344
242
277
335
352
261
360
342
317
343
335
368
252
339
296
316
371
261
334
344
328
262
374
334
309
312
276
332
333
223
340
259
337
323
342
335
408
280
352
368
421
287
301
333
429
333
296
327
233
299
292
344
306
361
334
274
341
326
296
351
333
337
403
356
393
297
311
361
330
388
383
349
365
262
366
296
302
315
371
375
352
332
321
382
227
367
350
292
323
309
270
372
312
318
387
348
305
355
331
329
150
341
279
318
236
228
338
290
342
303
335
372
289
322
361
306
253
385
325
336
294
283
283
293
262
319
353
328
297
362
352
327
260
376
428
326
254
316
214
353
285
401
343
309
372
430
304
328
294
323
314
361
387
315
264
380
248
365
333
215
347
278
335
357
317
358
267
394
266
348
282
313
394
347
305
337
319
297
293
296
319
281
401
332
348
274
373
333
397
373
225
370
356
300
406
233
212
303
260
260
298
230
241
398
274
357
372
304
328
321
282
340
338
277
284
357
308
346
339
357
336
359
291
382
324
347
344
297
323
387
315
343
341
295
354
279
298
368
345
286
282
351
329
346
321
307
286
299
283
336
277
289
307
267
328
375
336
287
257
407
407
387
281
276
257
380
371
275
369
379
303
328
308
343
295
408
364
329
276
332
342
384
242
293
349
213
286
349
331
307
301
337
290
320
319
377
295
319
327
391
331
347
397
356
380
271
348
278
372
208
323
349
299
382
335
243
286
255
308
295
242
332
286
289
277
362
319
405
312
303
267
267
255
271
305
338
326
288
352
346
348
269
333
290
385
280
305
352
344
455
337
362
354
257
390
282
327
302
226
338
269
324
324
280
324
363
270
273
352
306
192
338
372
294
354
261
301
381
414
354
366
281
298
346
390
351
338
279
331
293
326
322
380
330
332
304
353
276
357
342
309
310
331
356
377
200
268
368
282
339
285
372
275
280
272
262
310
383
246
294
325
381
295
337
352
330
251
287
366
309
365
291
330
305
243
359
308
276
317
284
335
312
292
327
358
335
385
267
346
312
297
296
365
360
323
317
316
259
257
313
358
331
331
317
269
369
270
286
283
218
325
339
304
318
295
342
362
331
323
208
350
340
295
361
210
338
313
320
281
272
283
333
286
334
223
346
315
360
410
407
285
403
270
388
375
342
314
303
392
290
317
249
281
240
281
295
332
335
337
315
351
316
306
283
283
356
289
311
381
294
355
340
362
362
388
325
307
345
300
270
360
338
348
254
324
312
319
325
324
353
308
371
334
307
335
280
348
253
364
349
372
259
373
331
308
300
364
314
323
351
333
334
264
324
341
261
350
319
320
317
239
213
274
237
317
309
404
315
330
344
305
282
280
265
301
283
296
306
406
302
250
318
357
386
337
306
289
368
279
315
369
292
332
342
308
378
304
316
307
345
394
325
315
329
326
288
351
329
231
282
364
242
288
383
309
321
276
351
330
310
346
325
379
349
309
351
264
269
325
250
314
339
341
266
322
338
267
352
342
283
324
341
352
316
329
338
327
309
395
252
315
352
318
304
288
412
314
286
300
288
346
340
348
303
318
261
206
354
363
347
348
296
343
318
287
274
271
310
312
334
357
305
331
342
246
300
318
371
367
304
407
279
350
299
328
382
294
267
376
390
293
271
310
275
271
287
283
262
298
326
211
418
310
340
293
305
367
312
281
350
285
297
301
286
274
296
336
350
327
333
394
308
257
320
261
279
307
340
299
300
349
330
352
273
283
329
386
403
287
315
270
295
297
313
308
348
262
280
311
371
268
313
275
354
271
323
342
335
341
325
325
331
364
325
358
317
303
327
345
329
340
299
374
339
244
304
302
199
382
324
337
364
291
334
351
305
349
329
317
411
286
265
292
271
242
387
302
306
313
253
300
395
333
356
331
312
298
347
263
400
365
327
302
289
302
327
335
325
373
427
355
359
287
326
289
315
311
351
329
301
278
345
289
291
391
330
377
420
291
343
317
339
319
392
344
335
350
308
282
240
325
323
345
251
264
297
307
368
393
346
278
290
297
341
321
393
388
343
341
401
300
329
307
327
253
276
345
341
346
342
360
251
269
251
214
320
335
348
297
281
293
239
336
348
374
301
339
296
317
278
411
299
301
267
314
285
400
301
356
255
355
360
352
251
321
278
334
350
337
374
340
308
386
221
294
277
320
286
359
398
280
307
341
395
278
273
324
249
292
305
287
290
304
366
326
260
276
347
372
285
367
270
325
354
288
417
295
268
365
338
320
300
280
273
214
315
356
383
337
276
318
352
307
333
277
274
309
195
363
351
332
272
351
291
311
292
285
324
360
261
344
300
336
288
319
380
288
264
305
304
273
312
267
339
302
369
323
311
309
280
282
278
311
382
327
233
331
289
246
189
331
332
294
337
290
180
283
244
323
388
333
330
308
326
332
274
267
252
312
286
259
361
209
335
400
272
405
313
368
335
333
313
328
302
348
329
296
203
281
307
314
271
265
324
282
323
325
318
260
291
318
355
306
304
312
294
353
303
284
358
302
362
377
274
379
332
340
321
338
348
310
321
390
314
339
351
332
305
367
321
290
310
238
338
339
360
371
299
287
277
362
292
339
278
272
317
305
308
382
332
259
364
314
289
369
316
311
234
316
355
252
291
307
297
362
314
272
356
330
358
383
374
349
346
263
372
286
256
354
234
260
320
356
200
324
328
268
340
298
274
325
236
281
381
355
279
313
261
332
372
287
325
382
300
306
291
404
350
281
273
286
345
430
214
329
197
309
312
284
338
281
272
305
331
327
310
311
319
339
359
336
246
282
372
266
332
303
296
337
340
362
254
285
302
296
290
337
291
269
261
321
280
271
374
387
412
335
317
370
287
324
391
225
325
338
351
255
252
331
323
365
304
309
316
311
250
303
340
255
292
341
346
341
269
357
350
370
351
240
371
287
283
363
324
360
398
376
322
379
264
290
299
321
358
317
296
301
347
338
279
366
339
330
357
362
298
343
248
332
293
360
326
275
291
317
377
293
360
262
361
347
302
334
355
292
331
264
361
222
261
325
400
308
327
361
238
232
354
282
386
256
359
292
328
358
295
387
288
336
322
370
287
287
272
372
280
278
381
273
291
302
362
278
308
306
330
246
208
324
395
256
370
345
365
328
343
305
297
306
331
330
224
303
325
322
296
341
317
388
383
284
425
249
315
308
363
382
399
370
292
249
332
304
229
306
354
301
272
359
311
387
338
350
264
334
319
282
338
327
285
360
279
347
380
366
264
295
321
376
333
380
370
373
358
329
360
295
345
310
332
333
259
374
344
372
310
312
360
326
203
325
392
391
310
292
318
344
350
275
304
352
307
305
282
312
311
303
297
318
238
321
368
360
365
368
369
254
384
304
331
347
290
361
309
312
309
311
311
295
364
341
299
288
355
272
228
374
253
354
287
275
417
297
227
272
247
234
356
335
361
372
334
353
295
273
246
341
363
389
298
312
291
268
281
325
314
340
243
398
306
308
378
339
287
318
326
381
333
340
292
327
302
332
316
343
240
306
360
297
307
320
356
349
308
361
291
327
306
304
354
352
291
305
326
310
319
307
362
424
269
345
316
364
213
277
314
350
361
317
421
330
205
239
213
337
407
324
404
348
279
349
303
330
326
319
313
324
364
374
339
319
297
290
319
302
339
319
371
329
324
336
323
402
279
321
381
273
264
313
362
287
293
322
308
295
320
295
254
275
296
341
357
364
310
345
404
320
272
279
280
290
277
306
352
260
352
377
368
335
359
377
335
276
350
243
312
275
387
194
325
404
280
251
360
381
380
274
305
321
330
347
342
252
391
309
336
308
265
406
406
375
241
269
334
297
340
266
375
280
333
335
299
347
260
209
294
380
358
309
286
321
363
283
356
317
373
331
328
280
302
344
305
245
289
290
302
247
296
306
322
326
298
302
307
310
342
325
329
370
222
365
297
345
320
371
301
315
300
233
352
209
392
310
227
318
255
266
268
369
283
389
343
308
273
401
297
281
318
352
303
300
290
362
352
392
284
332
330
380
369
325
416
343
273
238
216
315
294
272
355
356
299
316
314
294
333
333
356
337
334
320
359
301
312
371
351
331
323
330
323
259
376
297
316
330
312
336
329
255
327
296
355
289
233
209
306
344
268
303
233
388
280
325
336
446
319
297
311
395
353
316
383
340
284
272
290
307
326
369
406
339
382
307
255
292
309
277
295
329
309
279
329
375
302
354
365
240
320
292
329
181
325
311
297
286
298
340
374
414
369
328
372
330
383
338
283
298
357
292
287
243
332
270
381
321
399
356
353
329
280
311
297
349
322
232
346
409
318
290
287
246
299
388
320
359
292
308
324
221
303
351
352
275
314
279
288
309
377
328
305
326
352
261
291
301
341
335
274
278
294
376
293
348
350
281
325
272
330
339
419
323
282
320
298
346
369
340
362
323
336
250
264
300
357
286
294
283
229
329
362
361
368
267
375
339
322
336
294
342
301
290
299
212
329
373
352
302
246
365
306
386
402
304
366
360
306
328
288
343
329
328
325
311
348
285
320
354
338
286
271
307
323
364
296
341
231
257
370
352
353
358
269
341
335
350
374
343
365
339
350
293
389
300
364
280
246
397
252
318
333
327
353
397
366
304
385
404
281
329
258
330
349
373
327
311
280
347
314
279
372
303
289
301
391
335
306
358
243
365
311
355
305
257
259
290
317
319
270
318
357
352
297
331
312
371
280
296
326
348
345
301
287
238
343
251
295
279
304
342
365
227
289
308
386
245
332
302
282
254
262
264
291
308
305
316
352
335
337
312
257
327
387
360
261
338
344
336
333
308
278
427
279
289
280
248
364
336
342
312
308
175
346
286
379
333
295
371
325
375
312
300
257
337
341
334
288
285
260
248
326
333
253
357
267
291
401
357
361
262
223
259
322
237
318
343
299
275
417
400
294
323
293
318
369
299
319
356
279
298
290
343
260
304
373
278
243
343
370
321
266
363
228
302
376
241
340
283
300
340
326
234
299
317
271
287
230
302
289
314
302
313
354
336
264
294
252
333
272
269
275
279
265
354
286
343
330
322
395
366
286
266
324
243
327
302
312
412
324
327
323
290
354
300
340
297
406
290
363
320
281
305
297
351
335
298
309
324
339
382
330
377
368
345
284
298
368
374
379
326
263
299
377
280
337
288
325
250
314
323
349
340
305
345
321
338
365
266
346
329
250
342
278
275
290
288
299
324
294
288
343
340
315
295
301
319
389
295
192
352
289
313
322
336
367
318
326
302
200
390
298
338
380
327
336
331
342
278
279
285
269
270
315
336
294
287
358
297
323
335
274
378
260
245
314
298
369
362
316
255
324
367
337
301
273
342
244
287
335
324
366
290
276
314
395
323
276
334
271
299
329
314
322
273
248
322
342
289
324
298
270
333
316
201
280
327
267
227
305
337
344
301
308
363
216
203
325
308
390
349
365
285
324
349
266
376
298
291
370
361
411
355
321
377
307
316
374
358
302
291
360
298
285
320
304
404
349
347
327
336
289
326
216
278
333
377
363
304
302
238
272
225
329
286
363
259
282
360
267
275
297
344
331
249
355
355
328
367
267
388
309
325
318
369
365
352
378
355
368
375
330
311
361
289
352
429
243
278
334
387
286
354
322
293
283
342
357
278
368
282
296
337
256
309
270
374
340
404
335
322
318
379
312
320
287
370
376
314
369
360
318
369
252
314
326
374
376
294
309
266
327
307
325
256
304
353
373
302
292
257
330
260
295
284
354
253
310
220
378
315
310
358
269
297
320
377
297
318
378
277
222
267
275
302
276
254
310
338
336
292
364
322
331
323
292
329
385
317
289
238
335
308
339
281
343
353
266
237
320
357
285
331
298
271
348
322
312
311
358
248
257
350
351
367
334
360
322
316
313
323
253
268
343
328
239
339
341
258
342
291
310
400
350
325
365
421
285
394
221
246
278
356
258
285
254
266
278
304
319
334
364
382
351
314
332
382
339
384
355
366
380
327
286
300
258
340
343
356
361
314
264
342
256
318
255
375
301
313
333
341
347
319
319
351
253
380
301
231
252
342
283
382
342
353
286
336
351
293
316
343
259
239
264
344
282
225
240
315
375
330
261
409
412
325
330
298
272
320
349
362
330
345
312
360
306
327
308
335
262
296
334
286
317
315
218
298
228
276
344
332
271
285
260
269
318
300
324
374
401
354
336
356
336
329
397
332
353
361
275
292
375
343
385
276
353
293
358
325
304
298
254
253
274
366
313
283
313
277
355
359
307
352
286
403
329
288
273
260
342
267
358
302
234
253
252
269
255
325
281
292
336
327
372
392
296
333
340
272
320
290
297
309
318
338
270
320
346
379
383
264
285
340
293
355
261
244
337
351
354
306
328
371
335
365
314
310
325
243
328
264
316
272
350
360
410
277
418
315
386
333
267
306
309
318
317
267
301
364
341
279
312
239
331
318
370
294
328
339
318
346
268
265
333
286
381
360
275
340
295
352
353
366
269
280
305
346
251
344
282
262
327
359
318
400
353
301
281
309
332
304
386
322
348
304
326
339
322
326
332
234
322
277
242
411
349
334
298
355
318
232
288
355
372
365
347
320
310
355
309
373
281
336
356
186
267
351
375
409
271
316
208
303
345
331
238
365
272
303
290
283
328
318
331
308
383
208
265
297
341
307
250
398
363
350
373
318
362
311
345
373
292
324
338
393
302
278
349
350
256
319
324
327
286
234
363
364
366
323
314
288
295
397
275
281
360
389
366
332
231
344
362
315
366
291
322
357
339
332
294
311
346
355
292
356
380
377
373
332
277
296
332
260
365
362
295
362
295
324
293
267
362
375
318
308
339
300
300
228
348
256
355
305
316
302
363
288
348
340
297
328
321
265
227
378
287
387
327
325
276
312
353
283
312
319
253
317
364
317
357
287
328
251
288
327
352
326
288
361
220
309
334
293
253
336
357
308
369
266
249
324
365
317
277
257
226
297
289
332
395
290
270
295
267
279
332
359
270
360
374
319
283
226
307
292
317
341
370
308
284
354
346
404
342
379
318
326
299
306
326
386
298
284
253
240
304
358
344
307
277
304
356
246
391
283
282
352
244
300
315
371
395
364
344
352
280
279
352
241
391
301
347
334
283
282
205
366
235
303
310
307
318
291
272
298
210
268
218
373
386
298
319
387
269
384
271
355
421
307
318
307
325
292
269
300
285
373
346
396
280
310
309
271
329
348
348
323
300
351
246
298
358
386
318
346
302
347
315
289
316
344
360
388
395
272
320
334
267
257
280
343
323
350
386
259
332
308
376
320
361
313
386
354
363
366
396
380
304
281
356
322
276
331
291
351
334
431
337
320
405
342
257
392
299
408
279
285
330
378
324
251
257
251
244
316
276
247
243
333
383
330
388
362
393
439
275
304
320
320
272
366
328
261
374
306
308
278
337
319
305
322
348
333
320
274
254
291
246
338
275
313
301
262
285
333
313
385
292
336
265
306
244
207
290
299
302
315
280
368
307
272
332
253
300
279
376
384
305
291
298
336
310
327
393
264
340
377
372
291
488
316
285
327
213
314
207
240
292
298
250
327
317
310
265
343
255
277
267
411
387
374
329
329
319
326
316
288
360
334
325
259
403
360
310
353
243
391
326
361
353
336
371
251
333
346
372
348
338
309
370
312
245
328
322
394
293
333
369
371
394
236
312
272
354
343
235
355
337
353
261
300
369
268
231
302
404
369
254
332
370
312
302
262
227
315
357
341
195
338
290
371
304
362
310
350
251
299
316
261
388
305
277
322
276
254
361
233
364
312
303
323
231
318
313
392
352
353
354
346
318
322
292
320
350
341
292
328
320
269
340
264
353
340
381
265
380
306
256
258
321
293
330
273
289
288
309
377
307
340
366
296
306
360
346
252
309
379
277
300
286
305
389
307
332
291
333
256
337
315
334
321
379
370
325
359
281
290
283
347
340
260
273
348
317
351
261
293
291
333
343
274
299
314
310
215
344
407
336
312
304
336
303
348
394
300
311
343
379
287
322
303
363
322
329
269
320
340
279
308
290
267
301
367
358
297
287
361
334
330
354
387
262
268
317
407
366
277
384
330
346
304
360
302
215
342
349
289
319
387
332
287
250
387
225
326
350
266
357
320
259
263
367
244
292
278
348
337
391
329
264
303
356
271
315
275
313
336
266
256
293
377
371
375
350
309
315
301
348
228
277
282
338
301
387
314
240
263
344
318
275
300
312
294
297
329
307
321
279
276
343
335
272
350
310
149
333
313
323
335
334
282
350
306
374
263
334
312
354
304
283
343
392
274
302
272
266
371
302
380
294
182
293
361
259
366
321
357
280
355
254
300
295
358
196
337
343
300
333
290
281
340
295
271
324
265
328
324
291
313
340
346
368
308
282
398
385
379
212
267
301
324
246
341
261
389
315
384
340
310
295
298
304
291
235
403
338
311
308
302
323
376
213
295
297
341
326
361
331
327
348
348
316
340
249
253
216
387
301
400
259
337
343
282
303
268
289
293
323
371
327
423
292
311
270
280
327
256
341
337
307
347
327
288
404
237
316
240
353
371
266
325
227
327
337
288
332
310
328
377
242
274
359
365
340
311
360
354
352
300
356
331
305
351
316
336
374
307
299
323
347
319
308
275
203
265
384
329
265
215
287
306
320
329
347
345
365
332
362
325
346
286
339
346
399
269
306
348
283
388
248
300
374
349
252
260
320
386
274
387
339
332
396
221
337
262
353
288
280
291
254
314
357
346
313
319
249
352
264
329
284
352
367
338
261
310
362
204
321
316
364
314
304
298
261
364
241
364
250
423
305
296
291
279
349
297
286
360
300
237
308
326
298
414
253
397
281
249
259
291
381
345
320
251
364
284
291
297
265
333
295
381
267
351
340
308
222
334
303
196
283
304
341
299
292
336
353
312
327
332
334
318
249
283
289
252
353
222
357
323
285
259
346
349
366
346
327
383
323
289
363
269
431
305
286
325
314
317
293
329
358
288
200
321
264
388
229
216
285
271
363
290
341
343
310
294
343
301
301
296
321
341
285
350
264
293
304
293
230
286
433
295
290
325
292
300
277
291
300
351
283
281
343
330
298
299
302
277
266
369
312
359
269
271
398
354
303
359
344
371
329
287
197
295
349
249
224
377
281
395
302
300
315
294
273
288
301
325
346
332
312
300
306
299
334
262
288
375
255
377
395
311
314
262
315
297
272
299
293
333
354
294
324
315
344
268
259
361
359
409
358
190
300
344
344
291
225
372
280
198
312
279
380
296
316
321
413
295
371
252
215
316
263
302
320
395
321
256
343
205
257
303
256
417
366
316
322
341
327
365
290
276
321
426
382
379
316
359
341
288
211
345
254
283
287
305
364
318
262
365
390
272
301
264
265
307
269
391
301
226
380
348
380
250
308
288
314
345
339
346
291
292
281
334
239
295
295
339
336
284
216
322
260
352
299
278
321
305
291
319
255
344
395
418
271
333
214
377
347
309
349
343
330
341
361
347
268
248
344
327
384
251
302
326
348
291
321
252
325
329
258
302
364
307
224
332
350
387
343
305
324
322
351
324
309
276
409
293
286
299
314
259
282
480
391
364
371
255
314
307
328
279
402
297
266
218
322
343
262
335
286
376
280
312
247
349
402
321
382
327
286
360
298
277
293
313
337
253
362
282
241
332
324
242
323
367
310
379
320
303
359
307
352
349
299
324
239
386
249
270
291
325
158
329
300
328
274
328
287
318
371
271
318
295
338
368
372
330
373
317
313
386
277
380
333
344
296
359
412
293
246
355
365
250
365
347
371
314
246
304
386
262
230
347
371
297
341
302
277
249
257
351
365
323
245
332
328
353
340
353
319
247
393
231
252
277
335
292
326
386
251
336
315
302
239
284
281
308
350
281
238
279
192
318
202
384
240
245
364
297
245
287
333
364
332
348
299
347
292
342
269
364
236
311
340
372
226
297
328
228
392
296
241
404
348
213
368
330
300
357
363
371
359
291
325
252
307
320
312
375
376
365
326
290
210
220
279
273
369
303
328
276
382
315
356
415
308
329
342
269
248
280
284
331
229
352
330
312
368
318
291
244
298
279
261
352
359
230
372
318
294
295
346
287
333
202
363
267
312
332
334
286
347
328
357
372
369
350
310
280
342
330
310
350
279
315
273
291
356
357
316
384
346
333
301
427
327
322
300
318
350
264
315
410
286
258
323
342
287
276
363
282
389
311
278
357
339
263
268
305
240
316
327
259
331
229
295
309
365
328
372
323
319
290
372
339
207
330
321
300
313
312
296
343
279
388
329
324
284
329
340
304
321
391
373
333
243
415
353
248
341
411
390
266
339
315
258
350
272
258
280
287
357
265
291
354
295
338
276
355
354
368
287
298
334
324
395
317
340
337
322
314
278
316
316
326
284
359
352
311
384
291
363
301
285
339
305
217
280
298
254
349
322
244
265
301
347
296
362
373
349
362
243
289
362
277
301
364
345
284
296
331
386
330
380
301
363
349
388
236
295
283
367
392
280
323
269
301
295
368
351
386
215
312
331
298
339
418
365
330
231
393
318
278
360
283
327
332
293
308
309
300
296
318
290
272
325
293
251
367
326
304
284
270
341
364
350
345
233
277
326
291
377
365
279
283
321
390
274
333
429
327
353
341
332
340
360
374
265
359
339
319
221
347
241
294
328
273
372
374
288
277
337
294
352
344
304
316
339
270
342
308
301
306
237
291
371
364
331
277
351
325
283
303
385
296
325
365
308
290
335
263
285
292
312
325
317
390
309
308
277
411
359
313
339
312
291
322
278
295
251
228
336
352
351
294
321
265
382
298
370
280
329
310
374
328
361
348
402
347
324
323
222
391
337
336
326
310
322
380
349
367
309
387
350
284
235
294
260
360
446
260
346
349
338
366
357
314
304
309
286
295
310
341
306
307
344
285
313
321
320
273
374
306
366
381
278
369
297
230
339
356
320
399
309
278
287
343
385
366
367
352
343
169
275
270
287
318
356
248
301
349
356
336
377
248
284
388
377
297
388
388
236
336
358
259
325
361
361
282
328
327
396
316
364
378
262
359
317
315
348
302
344
339
335
306
333
318
387
401
368
431
341
331
290
351
371
321
245
310
282
324
270
353
294
316
269
346
300
290
258
347
255
373
350
303
383
338
366
295
364
328
358
343
260
361
276
268
354
379
409
341
312
276
350
277
316
329
385
319
247
303
364
307
289
256
414
293
327
308
268
356
237
393
291
255
315
290
302
357
336
382
234
356
368
318
383
330
386
274
330
311
323
281
248
289
358
337
307
343
367
317
283
320
276
323
209
380
292
327
381
210
326
328
357
339
281
291
384
358
311
326
318
325
346
278
299
381
292
303
250
270
282
338
224
317
368
317
324
292
324
341
280
291
345
380
297
353
354
244
297
269
365
379
234
268
196
308
373
310
297
236
295
250
262
334
286
262
308
278
267
246
342
283
316
325
320
325
340
360
356
292
351
294
355
261
335
335
313
319
345
303
290
288
305
320
272
271
398
320
293
254
319
261
273
281
297
299
371
310
335
221
288
261
334
294
317
277
290
401
332
367
365
252
321
417
292
325
317
349
350
301
349
381
404
330
294
301
394
314
413
260
320
384
377
316
352
301
325
313
367
387
289
318
398
353
339
373
329
330
319
324
301
240
269
320
266
313
360
369
401
237
237
281
278
334
376
355
297
255
287
215
279
321
261
256
360
390
365
246
376
231
266
302
317
396
307
295
370
287
339
316
322
367
308
240
320
296
238
362
336
369
288
226
385
307
346
310
420
341
271
286
280
410
274
364
346
384
281
319
305
309
301
378
377
382
315
307
334
298
258
336
309
242
305
303
273
318
416
299
320
278
315
411
364
239
305
291
295
258
246
317
379
336
249
312
311
370
286
305
406
295
315
378
333
373
329
361
355
352
238
353
210
229
280
269
382
429
264
253
345
258
384
411
315
272
297
302
333
340
299
247
344
296
284
257
209
398
354
183
419
372
327
287
349
311
334
340
287
347
380
295
330
303
330
327
281
346
421
370
329
359
281
359
305
257
341
371
254
280
252
297
391
366
280
345
264
350
219
353
330
244
326
319
313
373
302
351
342
238
348
316
379
279
288
350
281
290
320
327
352
354
227
327
362
341
301
287
233
285
281
270
269
325
373
367
360
260
309
356
282
356
387
370
350
301
250
363
358
329
280
336
358
259
293
326
279
344
320
343
305
361
344
271
272
222
268
184
285
308
385
338
253
295
320
328
327
426
225
343
297
374
304
278
272
390
284
252
285
299
333
376
331
389
305
384
275
328
238
322
388
357
296
298
348
462
282
380
347
296
292
303
310
359
226
279
321
237
336
263
375
268
276
344
284
335
311
356
306
267
353
312
235
354
295
277
291
344
290
391
340
392
318
353
300
313
376
277
365
337
291
342
320
320
358
343
335
397
374
380
273
315
369
324
310
323
270
298
278
298
321
333
362
352
346
384
336
320
281
303
288
295
362
289
383
325
340
325
322
323
290
281
325
348
365
271
297
353
293
361
338
302
356
298
314
302
354
317
250
330
341
302
311
282
329
357
314
390
303
348
287
342
307
327
320
315
318
318
397
365
341
268
256
267
318
290
368
225
351
326
324
320
273
292
260
327
274
260
340
296
393
359
342
319
254
298
263
384
321
250
269
418
297
333
315
303
250
280
255
320
383
325
322
235
327
288
353
259
400
299
309
333
359
280
256
357
289
239
272
304
324
313
363
285
401
347
372
290
322
357
357
228
313
345
306
327
271
312
243
328
290
321
239
282
249
350
365
391
351
272
359
260
254
313
346
291
335
397
322
327
334
337
316
400
265
269
313
322
326
298
268
304
266
341
352
326
245
283
321
385
326
338
288
348
369
308
331
293
362
327
291
403
327
293
253
374
278
229
294
306
321
286
312
246
327
403
295
229
338
313
301
323
281
302
306
317
303
393
365
280
230
352
234
282
303
285
405
307
409
358
325
283
379
305
288
369
298
379
387
384
376
293
289
338
372
372
268
229
321
300
261
305
311
309
343
293
389
312
291
232
350
288
348
377
342
295
328
377
337
341
332
278
211
261
302
301
276
317
291
303
341
393
285
271
348
320
397
353
276
305
288
263
321
276
290
330
308
277
374
329
267
377
358
343
328
341
333
338
387
411
349
347
325
292
249
266
224
399
327
320
266
278
319
288
364
261
322
326
388
310
338
322
313
339
316
276
361
384
334
407
375
303
300
315
374
343
401
255
307
425
361
333
299
287
343
255
329
293
428
290
280
414
283
336
360
294
275
235
236
251
276
299
286
325
422
254
279
391
311
308
297
304
444
332
335
347
262
328
381
305
360
277
306
292
371
342
361
291
369
378
369
344
301
294
322
323
343
270
274
299
329
393
317
329
270
316
285
328
293
311
302
265
326
294
265
300
326
262
356
353
356
345
276
332
312
242
384
298
302
393
275
323
216
313
384
386
262
352
380
190
327
380
370
337
352
424
344
298
391
318
264
334
369
327
308
352
292
352
326
335
329
360
346
295
299
272
376
375
327
339
324
292
347
324
252
269
323
341
223
376
359
325
203
350
377
280
249
292
342
391
303
318
338
275
317
300
301
349
255
346
285
379
336
431
263
338
372
351
300
344
401
238
279
428
236
297
274
275
358
296
271
292
303
274
428
381
340
311
370
295
317
346
369
341
304
292
330
393
322
299
299
315
283
321
291
307
335
363
298
297
294
288
385
374
384
339
284
335
291
249
259
308
236
319
315
253
338
292
313
316
267
228
366
322
354
364
372
329
327
332
332
281
315
360
349
332
340
340
334
341
322
329
312
332
258
371
369
287
302
344
338
285
313
333
412
289
362
205
332
361
280
288
346
365
339
293
399
267
277
288
329
286
350
344
382
333
433
376
398
355
273
348
374
289
252
301
278
310
391
248
352
352
284
246
316
335
362
247
302
354
345
364
273
339
275
284
342
287
252
320
311
359
363
315
396
225
328
288
354
339
356
222
220
375
320
346
344
301
362
386
261
273
250
350
322
311
212
289
312
346
330
236
346
263
283
217
314
374
267
375
350
339
278
327
343
295
223
353
275
233
378
298
331
364
289
378
402
318
386
289
369
314
255
401
272
366
318
290
286
337
345
309
348
251
330
322
340
333
289
359
352
297
330
326
302
300
308
364
380
344
335
397
272
286
238
282
321
370
432
378
294
301
300
262
325
281
234
336
357
352
295
279
382
286
258
428
337
280
353
328
253
339
290
291
316
236
315
324
307
337
339
325
253
265
219
286
354
263
312
391
360
280
298
268
339
342
291
369
332
359
282
325
312
244
316
259
311
309
311
305
245
331
330
279
346
320
251
296
314
299
278
320
358
387
343
362
354
331
288
302
340
401
354
365
367
250
249
320
317
314
381
344
231
279
272
297
319
345
217
385
284
403
289
299
344
303
299
266
315
348
337
287
295
248
298
332
338
369
343
329
365
321
270
286
340
216
367
303
323
244
279
333
262
345
318
262
304
363
380
252
319
342
353
384
285
379
345
348
319
350
305
356
349
331
183
368
372
372
373
320
355
282
325
320
300
319
386
332
356
278
311
306
369
228
289
400
299
326
307
372
305
355
316
278
352
353
336
376
360
290
243
303
314
381
349
244
256
387
304
309
266
254
308
324
251
280
375
301
253
343
360
374
382
314
352
383
272
320
316
288
239
291
308
277
308
322
307
328
314
266
251
301
313
276
328
233
213
328
342
325
284
412
244
344
359
346
348
209
303
287
298
357
346
251
350
327
364
303
369
297
326
301
287
272
317
408
299
366
244
283
272
327
354
296
317
251
348
319
294
357
420
300
320
296
360
340
291
308
438
344
292
390
334
283
364
285
343
398
331
348
252
383
344
349
355
345
383
343
329
314
403
307
339
266
382
332
304
293
368
290
231
382
287
296
343
348
303
316
255
288
380
313
339
321
299
274
356
307
231
280
352
278
393
399
288
323
342
227
340
284
276
269
359
267
313
306
391
339
267
230
346
335
344
317
293
334
383
356
292
285
329
322
316
227
275
328
337
364
349
306
300
349
375
308
334
270
355
380
313
263
351
373
326
371
348
378
345
284
317
271
319
355
356
306
310
242
359
273
233
335
320
299
287
280
312
341
323
319
272
328
330
413
272
341
308
295
341
352
294
326
357
404
290
352
320
274
257
252
222
331
211
294
321
376
378
270
253
336
301
340
391
287
454
303
430
345
273
290
363
287
356
297
316
314
266
356
250
292
446
384
337
299
263
246
340
314
334
308
331
245
323
339
375
311
309
348
270
310
325
294
294
342
410
230
349
351
310
430
317
255
315
323
337
363
353
336
306
352
374
300
337
315
420
371
376
351
247
285
327
361
311
310
271
383
359
351
296
343
345
197
267
309
219
356
402
230
345
329
282
342
275
257
340
294
294
273
339
260
288
311
260
388
315
321
241
265
317
335
364
330
355
333
337
374
333
352
315
320
384
271
466
266
360
329
287
328
263
353
305
277
250
322
358
306
352
346
293
285
240
348
263
322
298
279
302
335
328
361
384
332
376
351
346
345
286
310
393
353
286
398
332
285
321
347
268
338
289
329
264
334
375
366
295
299
305
355
279
340
357
262
307
299
340
328
345
260
322
284
306
332
315
320
381
397
347
276
364
275
317
360
361
331
356
368
258
224
313
311
322
326
294
303
375
340
231
300
335
297
344
270
274
270
354
420
274
395
302
282
276
413
352
308
373
384
257
316
326
341
347
327
357
404
282
329
293
296
263
330
314
318
368
396
357
290
318
342
287
325
287
353
360
311
281
370
182
355
449
349
351
314
303
333
277
166
300
294
278
290
274
332
374
336
282
216
370
313
340
263
312
359
327
287
313
328
381
320
330
317
310
343
317
263
327
334
378
307
305
307
314
300
305
300
388
325
277
403
319
359
308
321
174
291
358
260
258
313
357
362
363
293
259
297
352
358
275
372
390
317
289
312
358
363
321
323
367
349
354
280
403
321
238
303
389
232
381
332
333
273
382
310
312
267
289
388
321
370
292
379
386
380
331
217
322
351
364
299
312
297
395
328
323
314
245
395
312
349
371
327
289
271
312
371
314
338
376
335
376
368
318
309
272
240
375
302
352
357
300
298
367
298
338
342
320
379
283
308
331
305
342
215
242
302
274
250
290
351
351
287
423
266
351
302
336
355
306
274
251
286
376
272
252
335
330
342
308
304
305
274
299
265
318
362
269
316
272
352
285
263
259
388
330
225
318
253
348
337
325
257
372
307
346
286
280
336
406
258
250
329
424
308
318
366
292
336
388
343
316
315
333
269
339
296
268
314
333
271
261
365
299
343
367
254
331
392
276
302
264
294
380
299
289
301
318
297
336
314
324
238
357
297
326
311
296
325
370
240
340
241
260
259
341
322
242
235
246
360
295
384
320
345
324
319
320
342
293
358
304
323
279
336
304
282
327
296
367
283
239
256
315
292
333
298
328
323
333
333
342
324
322
350
285
360
327
334
424
325
335
302
340
291
315
236
317
341
290
373
362
365
314
299
325
300
287
225
294
322
272
306
288
292
342
252
386
316
406
273
319
366
294
355
296
301
271
336
347
249
256
302
369
288
299
428
377
321
400
379
281
331
366
342
384
369
350
397
273
313
336
248
225
345
346
218
354
296
426
333
338
403
355
338
311
331
319
267
286
302
358
280
347
296
240
274
378
353
255
406
407
289
373
343
341
328
277
329
325
408
295
280
242
345
326
287
307
354
368
303
332
307
364
355
262
384
285
339
358
280
355
321
363
336
360
378
286
250
362
375
364
325
258
221
383
336
305
291
357
334
268
338
278
329
236
296
364
285
294
328
292
426
280
319
310
454
308
320
319
276
198
406
234
417
328
314
290
371
295
273
341
291
343
297
373
268
243
234
291
295
346
332
420
269
274
306
284
313
387
273
332
308
353
332
266
352
294
345
343
317
346
352
374
326
266
256
274
340
315
325
316
308
423
367
328
305
358
397
330
321
346
233
336
277
343
416
359
360
294
320
275
384
393
306
297
334
333
317
287
233
296
297
344
300
287
362
332
271
390
288
351
349
281
301
319
243
310
317
344
328
353
312
294
318
284
273
362
381
314
284
274
325
245
241
292
263
238
323
311
358
367
285
418
261
310
241
309
300
245
297
327
336
380
338
267
340
359
373
373
317
320
302
213
261
297
322
286
362
380
300
356
398
259
313
290
395
370
392
386
284
335
366
345
315
345
298
317
275
328
247
365
334
331
357
312
421
256
316
280
312
321
301
313
365
303
296
296
380
299
323
377
363
312
331
309
308
265
359
330
283
298
301
345
258
302
338
405
351
318
273
322
357
302
352
394
230
296
302
256
307
241
408
330
309
306
270
350
306
377
243
373
310
342
362
308
271
295
294
325
334
286
252
300
314
211
263
355
346
255
253
296
336
340
286
390
304
300
235
341
298
379
306
305
302
297
377
318
280
264
260
249
354
317
255
275
317
315
301
310
361
412
323
300
297
252
276
301
339
302
386
324
331
333
377
342
330
373
302
386
314
255
299
342
363
371
318
174
357
391
336
375
330
313
384
268
342
304
360
307
319
242
288
307
289
380
317
363
334
265
372
358
358
318
201
290
296
309
340
338
324
273
276
320
336
359
302
283
251
246
288
278
346
258
354
311
318
306
367
279
321
296
344
381
399
261
333
332
329
346
341
359
249
312
281
303
343
287
351
304
282
294
293
263
343
315
371
361
269
259
382
305
224
339
274
251
269
347
323
291
248
305
346
326
385
345
313
282
330
353
318
323
414
247
337
323
238
394
358
345
373
323
297
375
321
292
298
331
347
305
323
351
414
261
382
286
237
359
271
282
349
332
350
324
298
272
302
288
338
345
302
304
352
300
375
317
339
384
282
266
348
343
323
367
355
275
315
259
345
281
376
286
234
320
291
291
324
320
333
323
290
268
321
439
256
415
362
353
320
369
321
337
240
335
329
329
279
305
331
326
295
282
329
338
315
290
278
332
273
347
317
307
272
351
336
321
255
350
287
293
323
360
386
328
354
233
326
400
352
309
299
309
315
314
274
267
281
239
279
223
364
322
382
251
303
229
359
415
274
289
381
292
267
279
353
282
281
326
377
323
194
406
356
318
255
298
248
289
338
348
268
367
299
274
299
259
322
272
367
330
293
292
281
343
310
392
286
343
315
358
321
302
286
285
345
334
239
248
302
258
318
362
293
314
321
295
344
307
290
245
367
279
392
212
256
323
324
295
306
362
332
372
336
380
310
286
377
310
274
309
361
222
320
370
286
340
358
314
349
324
365
337
322
321
250
252
269
354
261
287
290
299
335
307
288
343
275
355
354
291
344
229
344
339
343
314
338
320
336
372
324
299
290
268
246
369
307
289
305
366
291
317
258
373
368
334
295
366
203
304
289
245
213
352
287
288
334
241
256
349
394
245
316
263
386
292
297
354
278
369
220
384
324
292
304
368
339
263
338
306
320
359
407
300
228
312
334
288
369
355
326
326
330
342
270
272
393
372
321
252
388
321
359
389
299
314
433
272
411
374
312
312
275
339
397
284
313
364
366
302
282
375
191
244
264
319
341
315
300
334
349
375
300
349
341
326
297
244
245
287
330
266
263
304
250
313
398
371
332
352
438
355
359
310
377
402
436
404
310
292
335
351
303
350
382
370
307
268
308
269
275
333
395
287
330
359
301
251
343
254
315
346
271
280
317
344
265
305
311
227
272
290
327
333
211
336
340
288
272
342
307
282
368
324
306
359
347
358
259
357
371
335
347
363
376
281
305
391
301
266
313
313
318
252
307
371
281
285
277
281
249
331
279
303
316
334
342
319
348
306
357
310
322
381
362
302
231
335
322
310
389
221
338
245
317
349
317
363
239
343
281
369
378
254
333
317
293
227
276
317
342
237
336
343
204
416
306
339
368
288
303
293
306
269
285
292
323
364
260
319
277
371
329
222
312
398
422
343
299
338
304
339
248
342
292
308
322
270
300
280
356
320
324
330
340
334
351
313
324
376
274
383
309
315
313
321
302
360
334
341
320
279
277
350
308
251
402
281
261
308
325
280
290
293
279
311
258
347
295
354
300
300
331
370
367
321
370
298
337
272
413
239
367
286
288
289
316
232
258
329
317
358
329
353
323
257
280
394
270
377
303
304
364
254
323
280
311
203
264
312
371
311
315
318
258
324
340
325
286
253
294
329
232
292
341
313
304
335
281
272
349
344
341
333
308
363
310
326
341
209
301
342
280
415
341
265
381
293
338
283
356
260
309
311
248
362
262
273
293
261
253
388
372
322
318
298
234
313
386
338
266
283
282
338
320
275
321
404
277
279
265
268
294
404
321
311
241
241
389
334
344
361
293
355
325
313
294
273
401
280
385
340
362
354
336
348
285
334
339
301
272
262
266
303
317
218
353
398
287
305
335
323
275
325
317
335
292
293
267
347
403
335
273
283
277
339
261
365
272
290
296
288
278
392
384
375
303
391
346
290
340
312
348
308
337
368
290
370
324
323
330
228
282
381
316
233
321
292
294
379
338
302
326
339
284
385
253
370
261
228
351
260
339
342
312
387
287
249
354
308
309
327
331
368
342
230
297
285
283
328
343
318
287
309
370
285
272
390
229
376
315
353
245
361
323
355
335
284
282
279
366
308
286
257
324
265
307
379
268
299
307
324
331
308
375
426
350
378
326
344
281
271
298
279
327
219
302
269
251
289
296
344
344
268
280
283
404
364
305
343
347
364
327
353
312
301
365
337
350
259
344
287
345
214
304
381
239
308
346
326
316
332
255
299
262
399
319
237
332
299
311
259
318
321
259
302
352
394
274
346
332
310
243
357
318
316
386
284
364
353
297
324
318
282
256
323
298
360
392
277
408
189
293
321
385
361
289
355
303
280
325
285
347
333
348
375
366
369
298
309
299
324
276
369
246
306
250
333
294
329
370
355
421
332
320
288
392
394
313
415
305
286
343
284
306
282
304
348
330
245
272
330
440
354
356
348
260
346
359
251
241
367
328
306
302
322
353
321
265
347
363
319
327
368
345
373
241
201
272
383
360
319
352
327
348
243
269
384
298
328
340
356
329
296
290
382
281
293
260
306
287
294
330
334
287
302
362
334
315
328
346
323
341
358
244
292
316
397
331
355
381
370
331
323
346
341
378
295
315
262
326
282
378
253
301
339
259
389
322
395
279
308
301
324
339
371
329
341
364
314
299
302
225
271
290
334
320
344
331
333
306
238
303
379
323
334
306
370
353
373
285
295
278
381
269
370
327
294
299
353
240
346
382
315
344
324
279
272
316
389
335
336
326
283
296
330
399
332
271
394
332
299
283
328
253
351
406
302
222
388
223
300
274
310
320
311
280
368
317
310
345
356
292
363
234
344
257
306
283
269
264
345
301
298
312
296
306
316
334
343
260
377
238
203
283
296
354
343
284
320
287
284
357
310
308
375
311
257
300
354
239
287
326
392
309
298
340
427
240
365
286
337
279
320
296
320
311
319
289
300
317
266
316
321
297
366
265
307
379
296
388
331
323
319
224
316
287
324
356
339
290
351
345
288
365
224
369
363
358
400
239
329
287
300
349
362
303
314
347
338
362
257
299
345
242
320
284
315
308
307
272
284
384
334
333
264
350
350
280
325
289
236
286
286
303
308
313
398
327
346
300
341
285
331
267
325
391
278
321
417
366
359
297
310
282
332
412
272
331
274
332
349
349
357
161
385
241
357
266
345
307
295
231
282
327
291
292
318
329
242
324
287
329
300
311
254
364
315
276
371
328
338
300
304
292
343
321
391
295
304
416
338
387
325
378
304
293
263
372
340
265
302
247
330
309
331
333
303
343
312
270
364
316
303
333
309
295
353
245
261
297
291
263
420
296
337
304
322
343
224
293
341
241
367
301
355
412
255
299
288
314
289
303
401
279
331
367
305
367
326
292
347
415
393
269
233
328
332
388
348
218
377
359
304
325
332
289
337
248
314
265
320
226
389
357
348
312
328
406
352
331
364
323
364
303
268
298
280
303
279
325
256
314
445
290
306
355
274
412
330
346
375
298
259
310
289
355
298
330
316
267
258
327
294
341
290
356
414
312
351
295
354
364
305
339
320
248
379
323
321
345
411
258
280
299
330
329
331
325
293
304
345
332
347
261
270
387
352
312
283
238
294
355
292
306
301
357
285
296
262
368
217
306
321
409
343
334
329
247
314
329
313
278
259
302
333
319
348
380
307
305
355
330
426
310
215
264
234
267
316
372
290
361
277
290
253
290
306
269
253
342
285
300
265
328
325
291
298
306
323
309
436
287
205
329
257
284
305
308
340
429
203
374
248
364
301
347
273
310
266
299
273
391
374
305
261
312
284
281
320
300
329
274
356
307
261
262
360
349
347
374
282
383
205
322
278
328
281
351
349
279
325
314
363
352
318
297
363
365
323
281
256
292
186
285
363
289
382
250
341
357
233
342
275
259
361
324
313
293
316
378
278
343
358
379
286
321
317
265
325
354
299
338
234
231
225
333
281
286
298
309
261
351
265
328
321
333
292
326
237
322
225
250
285
308
330
333
259
399
307
358
274
319
328
371
335
372
391
248
378
303
329
235
299
321
276
279
365
334
366
303
263
256
338
374
306
220
281
283
344
315
295
329
312
331
292
340
310
344
365
275
291
368
247
279
286
223
331
263
247
331
346
323
297
342
349
377
386
247
344
381
379
325
300
378
284
307
318
295
346
364
314
322
407
349
267
356
322
299
325
325
335
355
204
274
332
330
306
271
311
374
310
310
351
296
248
396
291
382
322
307
318
361
314
269
236
321
349
241
374
318
354
307
351
203
310
288
391
307
327
343
320
321
259
299
354
348
244
381
295
303
396
429
317
314
280
364
382
295
305
312
375
356
325
305
281
304
282
305
255
336
315
295
306
229
304
259
382
341
308
321
326
303
258
301
342
323
328
351
301
350
326
365
323
325
325
350
383
311
277
318
310
300
341
277
418
304
334
254
329
256
349
285
244
418
303
310
319
341
379
430
284
294
298
331
342
193
277
381
274
245
312
312
251
403
317
337
243
370
374
351
346
291
263
340
327
330
372
330
326
375
357
351
306
329
346
390
304
356
317
298
299
304
286
385
253
311
249
368
348
334
289
357
356
275
373
331
347
371
257
320
336
350
333
323
279
358
332
266
311
417
437
311
352
339
247
386
289
320
269
349
312
236
223
311
324
367
285
266
353
368
272
204
358
306
295
237
222
317
248
408
334
353
335
293
320
273
324
284
292
265
332
269
342
331
362
324
363
386
266
328
332
339
305
362
416
291
351
353
277
273
257
252
371
268
250
285
326
338
370
264
339
344
247
389
291
411
320
290
279
312
289
328
355
287
258
286
290
327
282
237
308
369
311
234
314
290
352
262
314
375
374
307
314
310
359
269
386
364
340
363
327
433
322
303
298
286
265
362
408
343
284
335
318
296
258
260
303
364
308
283
354
275
390
355
249
259
333
359
320
278
321
310
291
310
326
303
281
278
333
267
319
254
365
328
336
339
245
328
340
324
388
330
364
396
230
252
288
305
306
264
329
396
324
398
301
341
344
371
288
276
321
413
341
333
338
374
324
334
302
351
301
313
363
355
282
342
350
337
293
281
367
356
334
327
337
297
350
251
267
288
407
304
307
299
292
300
361
266
298
273
286
334
358
289
266
298
241
345
250
243
359
342
261
344
290
256
405
296
302
230
324
309
317
275
342
326
285
396
286
288
371
252
280
265
309
267
312
271
318
300
367
313
378
283
299
281
382
347
288
323
238
311
305
345
380
295
353
288
349
314
284
342
285
310
379
303
264
402
311
283
330
325
321
176
250
310
279
316
364
362
326
317
337
328
306
292
305
342
346
243
263
301
359
355
375
330
237
276
350
316
295
349
332
339
286
360
309
281
408
200
350
225
365
366
312
320
309
217
339
323
365
316
278
410
253
319
304
318
295
360
215
251
342
297
312
282
363
326
288
315
415
303
322
391
328
255
340
262
335
307
322
368
341
238
330
281
294
313
273
304
369
307
263
320
231
299
372
338
295
283
317
277
270
369
270
343
289
378
284
348
312
304
302
329
327
389
352
367
386
310
315
316
198
289
362
361
372
344
392
343
356
217
319
290
332
339
358
316
335
378
247
319
342
412
331
407
255
343
287
307
260
240
243
413
411
389
240
349
361
284
349
365
367
391
265
257
337
250
268
330
304
363
310
397
219
281
340
329
356
307
321
315
293
293
329
299
372
238
316
275
342
301
402
331
333
264
387
336
381
356
320
364
269
326
348
301
273
273
246
299
298
292
279
286
304
268
297
315
312
312
322
342
399
332
298
274
331
332
332
304
344
347
280
331
283
222
326
186
333
307
301
320
321
360
301
271
356
335
361
296
371
366
315
270
300
248
353
364
372
330
320
262
360
328
298
348
220
277
274
282
263
372
392
342
362
325
348
280
208
319
329
314
333
316
313
281
324
337
341
340
279
285
254
307
271
362
293
330
340
305
371
301
336
314
290
299
230
329
273
314
380
273
256
392
221
305
339
381
294
304
308
306
365
302
273
325
253
305
234
318
276
283
331
348
324
293
286
290
285
215
263
313
308
255
353
327
413
326
359
343
298
308
323
283
285
290
283
246
272
278
362
297
357
293
371
276
308
319
297
298
312
340
397
374
404
351
351
365
321
287
378
306
406
299
377
294
262
303
317
321
310
340
305
281
362
321
279
318
340
341
346
298
332
275
319
263
284
293
258
277
313
272
322
331
402
324
369
283
336
385
343
350
342
343
269
264
272
393
340
320
287
360
338
280
257
274
209
295
267
305
413
314
356
287
333
414
318
323
322
335
316
329
259
275
331
293
306
280
340
335
300
228
310
295
316
312
237
335
263
309
300
364
383
338
324
358
282
308
338
303
371
298
351
317
242
377
331
344
329
363
303
357
385
367
313
243
337
295
417
374
250
235
293
266
330
361
298
325
320
347
290
275
274
316
282
301
401
387
353
358
270
335
380
344
367
301
302
338
263
331
344
339
354
270
312
333
256
323
222
267
280
357
270
309
376
360
359
285
194
253
295
296
430
257
281
264
328
303
343
315
362
372
293
255
251
366
226
326
364
299
243
338
333
295
296
391
325
341
223
311
314
276
301
361
265
299
301
406
358
328
321
311
275
299
311
271
348
267
326
333
293
443
247
372
371
308
298
317
326
266
331
351
295
287
260
361
393
400
281
302
356
330
261
337
321
325
267
294
263
300
284
325
273
324
306
334
329
338
335
380
210
326
356
293
287
312
269
273
355
380
386
287
307
315
250
333
259
311
265
322
328
300
355
314
317
346
308
215
276
273
331
331
352
283
291
358
230
335
336
292
259
359
320
331
274
348
293
339
366
287
277
342
255
249
326
282
371
278
338
324
405
247
308
306
313
270
304
298
381
338
376
365
164
306
276
362
344
371
364
351
283
327
324
233
320
366
410
332
303
453
380
306
355
343
301
298
261
304
371
228
325
253
359
371
267
305
376
297
338
261
376
338
265
322
321
370
297
337
304
275
305
334
332
308
334
313
333
371
328
309
426
314
386
314
323
306
289
359
311
312
390
293
328
328
291
347
316
244
311
352
271
332
350
318
255
226
387
326
217
386
227
362
294
347
352
309
222
324
277
347
351
305
328
360
374
283
336
265
291
283
313
398
302
325
290
303
240
285
288
365
354
249
282
307
301
340
362
336
316
251
251
300
382
363
379
311
391
317
338
306
330
318
232
256
331
348
359
253
387
327
333
344
382
247
350
247
353
328
322
344
335
408
313
336
339
342
281
264
375
310
228
324
380
383
378
324
346
339
297
340
317
354
247
306
375
326
363
343
383
312
249
335
225
281
367
299
318
285
374
252
355
287
257
266
345
274
355
315
388
373
209
308
298
316
372
348
352
255
353
263
280
311
274
258
255
327
255
302
292
353
373
287
292
305
320
286
265
375
297
290
271
369
352
333
373
297
354
281
349
330
287
350
402
265
369
303
310
366
299
299
391
279
337
291
341
286
312
395
371
305
374
370
347
350
247
276
292
377
327
338
297
277
382
354
263
244
372
287
297
363
342
330
278
239
270
327
377
307
354
344
367
271
289
391
261
330
307
221
289
348
361
289
306
320
322
295
306
360
307
317
290
145
407
260
296
314
312
326
254
267
324
268
323
356
336
374
362
300
304
304
370
331
303
252
281
303
271
319
319
301
269
236
292
243
242
395
364
382
359
340
333
347
390
322
340
308
362
308
441
346
333
339
251
331
188
288
392
315
330
293
317
347
261
323
233
287
327
302
358
343
328
336
341
329
284
324
330
310
351
303
380
341
345
360
375
301
267
353
330
341
280
328
267
306
282
330
225
353
337
303
339
273
260
256
330
269
323
244
343
330
252
338
303
331
361
306
253
269
279
323
392
253
358
293
357
302
339
284
262
338
364
352
272
244
282
390
362
351
305
309
242
266
291
244
291
251
271
331
301
370
288
340
349
289
279
281
262
307
389
302
357
328
269
417
298
238
301
379
302
305
290
361
360
355
351
289
249
321
307
281
238
302
287
267
223
235
341
365
263
258
319
244
294
267
322
228
303
260
326
311
319
336
406
305
267
356
343
316
261
363
312
272
282
239
274
328
238
393
365
331
298
254
269
321
278
257
278
423
369
360
334
295
428
256
310
337
327
245
336
291
373
254
273
264
311
346
298
363
289
281
233
376
371
299
328
363
300
308
345
446
282
317
389
327
280
282
359
307
282
380
265
302
382
286
314
281
274
257
293
388
242
320
399
330
256
391
345
337
266
389
251
326
314
326
336
274
330
276
317
296
355
358
288
265
314
347
310
335
306
353
319
304
260
322
337
366
356
277
225
373
253
335
232
312
293
401
206
300
362
359
222
324
299
406
303
335
299
333
260
335
291
331
350
261
362
313
245
272
328
304
272
365
356
323
290
357
363
385
376
376
273
275
320
372
318
330
328
358
227
285
239
294
316
328
356
394
342
301
280
317
432
282
312
328
189
286
363
309
323
355
284
277
220
273
304
309
297
285
320
365
329
367
280
305
281
343
423
359
324
345
332
303
366
278
359
230
363
221
355
347
413
369
281
378
296
313
320
335
268
301
229
322
240
389
278
359
312
298
244
329
328
328
278
294
330
302
297
337
295
254
342
291
316
318
264
275
352
354
292
353
365
405
325
283
316
244
316
288
303
342
250
288
331
310
271
312
354
287
243
267
430
342
228
307
269
357
341
355
345
302
373
393
371
295
300
296
298
384
447
368
380
234
249
238
372
301
264
303
282
331
271
309
318
262
321
359
292
273
351
313
324
356
322
324
340
385
327
233
281
325
294
228
327
280
324
360
225
386
396
287
350
301
403
295
360
283
364
304
350
352
403
358
287
263
372
360
304
371
262
309
361
328
331
356
325
260
314
347
333
290
238
200
356
273
277
348
350
320
359
281
376
283
382
246
356
251
299
303
264
329
407
274
335
277
386
282
329
435
253
297
329
307
256
352
333
292
351
297
323
339
309
264
345
332
330
356
325
304
307
365
348
293
335
322
332
284
354
313
307
381
377
322
296
335
315
368
317
245
308
292
330
326
335
408
318
251
300
341
330
365
217
352
338
303
275
309
384
283
257
346
384
315
375
366
311
361
320
332
357
304
378
282
358
271
312
276
346
355
276
299
302
239
257
309
333
295
282
334
296
395
294
289
419
322
345
276
295
207
353
377
256
343
335
319
308
288
315
290
355
321
300
309
298
314
279
335
365
362
320
353
391
355
361
379
316
265
333
339
230
300
336
226
335
307
311
315
336
331
275
358
289
294
242
383
331
306
249
330
353
259
302
286
293
284
252
348
281
253
343
275
379
355
278
314
338
270
344
361
259
327
343
322
367
313
328
327
306
249
380
338
178
278
261
294
253
284
286
333
354
314
300
361
297
296
280
362
291
334
282
347
360
275
329
392
312
305
271
362
288
312
294
263
377
239
285
260
209
273
280
373
313
283
307
247
324
323
334
297
337
326
276
392
275
222
346
294
381
364
289
249
353
299
351
341
289
317
290
301
365
266
305
359
352
305
349
271
320
272
349
287
372
381
327
237
327
298
310
349
361
326
348
258
339
293
363
189
386
219
230
385
339
292
283
375
347
337
272
299
355
245
307
351
393
345
327
280
262
303
288
356
257
274
276
291
357
312
300
289
389
418
298
339
387
339
332
268
309
305
280
352
307
269
314
365
308
278
330
305
384
310
338
282
382
343
388
299
284
316
314
364
362
200
358
325
261
282
363
276
248
250
273
177
366
337
249
298
361
273
308
313
260
328
368
310
343
341
330
395
349
398
303
337
333
419
270
350
282
294
253
364
343
328
218
306
257
236
242
337
275
269
390
350
304
343
318
322
272
331
267
282
327
371
318
317
241
262
247
315
376
278
304
262
349
378
295
384
310
386
331
285
328
345
356
308
287
349
353
329
277
236
283
288
245
294
265
302
353
328
297
389
340
332
326
245
312
310
218
355
297
301
298
355
377
257
249
351
330
344
334
313
254
360
309
270
329
307
364
336
356
325
281
353
228
296
372
366
241
395
328
299
375
305
349
350
390
292
258
354
306
374
321
288
293
325
248
325
369
236
338
347
338
264
335
271
379
197
286
249
331
373
300
301
351
359
335
327
288
309
350
233
383
377
272
308
241
361
330
361
318
291
266
298
264
376
313
298
280
350
351
307
344
366
355
313
299
338
294
333
233
273
265
348
335
304
313
340
271
336
300
297
282
316
344
314
322
405
371
351
235
268
330
402
302
267
289
312
314
339
301
389
321
373
309
276
273
254
313
259
346
271
331
381
330
275
351
263
280
307
305
375
279
318
298
323
314
236
351
266
293
277
260
258
260
357
239
320
195
310
354
323
264
286
336
206
400
305
312
327
345
331
280
302
296
257
347
311
323
276
364
338
320
264
330
352
249
334
319
234
379
320
326
291
250
301
354
346
253
274
293
310
283
287
366
285
293
270
310
254
395
305
308
304
316
391
313
311
381
337
304
314
410
261
227
306
293
334
345
276
296
289
277
219
387
308
382
309
252
275
214
385
246
317
307
172
385
352
313
186
409
372
368
336
322
255
400
315
390
351
246
372
339
268
332
300
401
232
329
381
363
381
292
295
243
364
348
366
279
237
316
300
296
332
396
250
334
255
361
354
334
232
313
248
310
308
317
316
260
269
309
285
361
240
331
259
371
315
253
314
339
292
251
306
299
275
395
255
283
345
342
294
329
250
315
288
320
288
379
333
246
359
434
368
310
297
254
369
296
350
322
273
279
363
296
347
358
336
388
313
404
418
300
295
353
320
373
251
289
392
351
266
327
310
372
391
329
334
391
274
338
330
329
364
346
332
290
347
287
264
291
336
353
303
353
341
321
255
269
363
265
352
364
313
371
202
327
301
389
356
318
387
415
351
309
299
371
341
315
331
256
308
332
367
309
335
306
303
361
265
263
277
288
301
363
368
293
391
309
269
312
277
306
342
265
263
252
359
326
379
279
249
260
348
321
367
339
337
247
348
294
254
238
352
324
223
337
395
281
318
343
373
389
344
239
377
353
448
346
273
357
353
272
244
382
307
246
313
415
415
301
239
363
296
320
251
420
321
310
377
314
257
262
324
309
287
345
344
358
290
322
240
316
339
339
326
262
271
272
354
270
356
319
310
221
303
318
335
275
331
356
349
279
356
323
337
376
278
305
279
328
348
298
386
269
344
344
285
372
343
367
351
277
305
339
278
337
396
299
354
331
350
231
283
303
271
347
310
334
319
247
310
277
337
371
349
259
330
377
297
375
288
385
258
332
364
383
326
304
232
284
337
331
339
328
335
268
317
303
385
315
412
321
279
341
273
306
271
302
398
264
274
326
346
268
306
251
290
313
321
278
271
306
321
332
241
283
318
374
330
241
303
222
288
278
370
363
295
339
342
247
324
343
274
237
306
342
293
296
321
310
338
306
309
306
352
312
232
337
333
320
347
322
320
348
345
405
336
315
289
300
354
395
262
275
311
261
357
326
250
276
295
278
348
419
335
251
307
324
297
333
253
340
348
341
252
279
273
268
350
261
298
308
266
349
404
318
218
348
318
328
285
324
308
310
262
288
323
293
292
337
290
305
341
335
338
311
274
321
333
355
296
266
446
284
285
364
302
367
335
264
403
352
330
409
361
365
322
304
265
231
244
332
371
306
239
301
269
257
300
392
274
290
269
342
350
328
312
337
331
284
304
319
363
263
377
318
338
377
301
343
325
378
278
290
355
357
300
332
354
318
380
307
293
331
342
353
376
342
276
276
302
288
298
305
357
300
394
310
306
351
304
295
284
359
323
221
296
341
312
332
309
343
309
324
374
307
290
369
279
214
297
391
343
369
364
354
385
376
277
350
362
349
322
357
318
235
272
275
290
269
345
375
235
346
254
333
271
398
301
378
351
266
324
296
224
311
350
414
296
288
354
231
335
317
269
305
292
327
340
382
323
283
272
319
336
326
368
310
342
270
397
269
297
218
294
300
393
312
274
343
341
305
322
215
342
269
354
239
272
289
346
276
277
407
260
328
332
339
267
380
201
472
312
354
319
335
340
303
360
316
269
250
337
247
274
402
283
328
253
329
275
303
315
311
356
262
395
294
255
217
368
353
317
296
352
252
332
332
328
304
339
339
331
367
335
344
258
299
331
284
395
281
339
318
327
369
319
398
323
324
279
256
383
276
265
303
380
383
297
331
373
290
329
389
268
339
332
332
311
304
380
274
325
315
289
367
289
246
347
236
330
333
364
309
347
327
325
384
380
261
204
322
271
314
354
230
242
311
312
288
309
303
310
332
221
215
290
331
286
378
295
357
330
199
359
325
298
361
310
368
279
409
268
322
285
318
277
259
362
228
337
275
315
332
344
280
309
329
377
341
293
330
295
425
297
302
392
327
373
303
284
259
287
231
377
270
350
282
293
324
291
342
325
350
383
229
334
276
284
278
290
363
346
371
347
294
337
320
315
340
266
388
361
245
305
347
359
340
297
344
249
384
358
291
319
362
363
300
335
352
366
235
395
244
229
301
294
407
325
365
325
312
308
367
278
302
351
277
302
398
302
303
345
293
329
333
342
327
382
388
361
381
259
325
277
327
260
327
295
369
349
306
333
231
347
367
336
320
325
324
367
352
317
331
256
342
333
256
384
269
312
359
321
371
246
291
310
306
334
312
203
254
362
285
266
276
360
321
304
321
268
314
380
331
308
303
314
311
289
337
373
326
356
269
359
280
382
325
302
276
304
322
246
283
303
381
410
298
337
304
300
306
271
290
319
351
286
379
364
255
209
314
299
331
298
299
321
329
327
312
195
293
284
334
372
265
307
294
288
236
342
333
332
255
278
283
392
328
310
317
266
310
360
376
281
330
335
312
311
296
356
349
236
304
283
340
357
332
251
313
285
254
304
289
263
373
312
341
325
298
365
238
363
335
335
346
306
290
350
347
312
343
304
317
292
325
239
358
277
339
336
285
286
267
256
271
322
317
172
316
222
303
348
271
368
311
284
387
301
291
259
264
414
257
331
274
362
340
376
365
302
276
306
322
379
349
433
254
394
263
238
324
356
259
355
341
277
282
280
328
324
288
338
392
295
326
249
374
280
191
276
338
308
341
293
353
339
320
292
220
266
255
327
305
289
331
246
385
286
360
273
204
278
289
291
315
362
261
392
260
355
356
351
296
274
281
417
317
347
322
312
312
433
287
253
319
316
346
264
265
400
284
242
261
308
358
331
341
299
303
279
392
175
295
384
326
302
352
344
355
325
244
239
368
299
380
265
297
399
314
309
309
329
302
289
299
324
343
264
377
280
330
401
379
360
263
343
305
322
325
297
296
224
304
332
284
300
290
279
364
270
346
330
313
386
338
357
313
309
321
308
303
299
299
249
329
295
400
358
344
364
309
401
238
341
243
360
344
253
310
321
253
315
331
336
301
315
352
316
257
321
320
349
360
293
360
282
296
358
315
368
318
293
351
274
349
334
349
319
264
337
313
346
316
329
357
353
396
290
256
242
309
316
237
310
280
285
330
359
300
398
421
271
438
358
351
271
280
395
305
302
351
312
304
253
276
312
361
197
355
331
351
300
367
288
315
319
340
337
294
342
312
236
304
324
290
249
278
334
372
335
333
282
294
334
259
307
336
319
329
382
252
323
257
345
295
372
325
362
362
262
326
371
324
335
303
312
278
348
319
353
323
325
275
313
343
391
317
305
309
303
254
258
370
281
364
405
280
310
351
271
285
369
278
341
323
276
358
256
286
277
299
374
269
276
350
346
292
330
340
291
273
278
351
320
259
337
314
323
351
364
326
317
210
325
339
197
317
346
382
244
283
297
361
342
351
340
337
357
322
420
376
322
402
336
326
391
299
355
283
297
322
318
300
307
361
261
347
319
314
285
281
286
307
300
341
366
242
335
352
335
370
296
304
293
362
259
372
322
239
306
256
310
348
323
331
234
263
402
311
284
308
269
341
336
358
345
290
320
285
332
340
324
391
320
350
371
277
287
295
338
292
338
298
287
289
369
333
334
328
324
340
308
291
370
336
293
340
277
408
347
301
214
318
271
245
302
424
349
359
290
335
400
366
235
337
294
280
339
253
276
274
264
258
347
291
262
378
408
322
356
315
343
325
229
284
366
282
310
267
345
249
261
230
360
347
347
275
358
336
351
265
381
320
365
349
418
343
364
270
322
320
366
352
360
346
361
344
298
353
276
307
397
265
338
292
286
252
362
325
257
280
348
389
436
331
315
286
243
308
278
302
292
220
374
331
230
329
280
347
301
348
343
276
295
400
364
304
306
236
357
354
343
326
347
314
259
381
335
312
395
339
355
344
249
368
319
359
321
331
358
310
367
319
325
289
355
298
245
357
266
230
378
308
355
245
391
164
325
278
258
315
264
315
291
279
277
288
296
307
340
328
281
300
317
267
260
361
353
337
315
315
365
344
244
327
366
329
336
370
326
285
294
306
294
272
315
268
333
263
201
368
261
261
320
317
352
341
347
305
348
368
194
322
299
297
253
284
351
348
387
338
363
282
360
350
232
327
327
321
382
273
291
334
262
366
348
371
321
324
296
289
372
397
313
252
305
329
246
198
349
322
318
360
264
271
250
251
341
348
279
303
353
322
252
242
304
332
383
388
319
293
300
369
233
398
334
368
233
299
323
237
289
331
345
198
256
265
281
286
313
230
330
332
322
324
402
326
296
404
245
349
305
316
287
343
396
285
333
299
309
302
253
417
371
401
338
260
426
335
299
388
411
340
328
291
362
355
234
401
344
324
355
264
287
326
332
299
173
287
330
385
297
310
368
283
352
402
346
367
357
342
294
314
362
323
249
361
315
305
302
316
293
363
376
309
401
318
299
319
352
339
264
354
204
257
311
307
309
351
259
351
324
375
296
225
334
372
295
291
346
265
328
309
368
361
327
333
330
310
349
342
345
308
316
242
381
278
299
382
275
327
331
363
292
275
356
314
308
305
270
302
310
314
376
307
350
298
339
302
310
344
347
318
341
413
298
348
361
347
309
284
293
287
424
272
302
299
286
330
281
285
310
330
292
270
273
262
276
356
409
308
223
305
366
291
270
349
248
226
253
289
293
236
324
288
276
315
221
320
288
360
371
324
365
333
331
317
341
362
323
405
295
247
300
301
359
307
370
262
312
241
373
313
158
351
295
374
340
303
353
355
329
306
406
293
288
300
354
308
303
285
348
282
374
290
321
322
317
284
304
292
361
385
271
344
311
274
301
253
393
295
310
260
356
313
390
304
249
218
266
373
359
314
304
228
315
359
312
277
335
298
314
347
355
329
306
323
298
252
318
323
358
229
244
368
305
333
355
321
291
315
365
331
341
315
331
334
306
325
327
256
346
379
370
301
318
298
311
288
236
362
357
295
402
354
291
271
322
379
294
370
264
328
349
280
313
337
305
338
253
265
303
382
315
328
282
323
337
358
343
310
231
301
321
323
327
348
311
425
321
314
364
288
273
325
347
290
318
312
317
296
367
297
402
295
277
364
275
301
254
286
398
389
290
263
232
296
311
326
328
285
315
331
312
306
327
414
329
283
332
302
319
342
408
373
311
314
274
368
347
414
250
349
309
256
257
282
300
292
351
368
247
313
313
336
264
376
312
401
319
368
371
321
314
370
300
341
367
315
305
253
358
352
349
294
371
337
365
279
261
281
366
316
320
323
295
378
260
362
321
283
241
308
224
287
313
300
341
311
263
261
326
348
332
359
311
371
320
299
343
375
304
363
308
297
294
340
412
286
317
284
300
346
347
276
369
369
269
321
319
257
324
365
290
269
375
275
354
304
301
344
300
324
335
238
278
349
397
317
248
318
277
331
360
276
332
294
328
341
370
333
333
343
376
321
277
283
261
318
329
310
358
244
322
324
379
351
250
328
363
297
268
358
357
309
320
281
239
344
297
306
373
336
269
276
358
296
282
312
353
364
296
352
332
300
322
375
351
361
328
373
325
332
314
288
346
285
284
356
357
265
353
255
231
312
261
364
349
306
321
315
254
292
234
365
315
321
348
278
304
277
245
285
281
244
264
287
272
360
347
342
357
307
345
353
302
363
263
311
304
352
326
417
322
296
296
392
359
260
295
300
285
256
326
345
360
239
264
294
327
161
302
366
317
283
306
305
282
345
314
293
333
268
348
370
291
303
320
266
305
309
299
353
313
237
275
340
333
291
255
328
262
352
332
315
252
307
248
190
294
324
214
284
346
315
304
329
386
186
323
318
369
344
302
339
251
332
296
282
296
303
262
313
287
353
333
343
352
360
284
319
357
286
279
311
252
338
255
266
357
336
349
295
321
395
330
283
330
362
311
234
293
348
334
317
286
425
329
381
271
335
286
334
320
400
314
337
316
291
276
346
390
299
289
320
306
346
314
378
287
337
313
396
348
290
412
310
355
321
298
282
342
314
282
326
312
300
339
313
303
238
309
377
276
314
414
329
316
296
348
343
399
371
265
250
308
313
379
245
241
249
327
362
277
417
377
265
346
375
287
336
386
322
355
302
304
343
354
301
299
311
312
313
276
313
315
315
224
334
357
347
347
210
298
283
330
380
337
387
234
210
365
302
278
282
333
279
294
335
334
347
362
323
362
307
335
330
328
312
258
360
365
278
288
350
259
338
360
303
392
377
234
338
362
313
277
336
396
331
333
295
271
317
328
350
317
265
355
317
331
318
292
329
234
253
320
334
298
272
256
366
306
339
284
403
281
300
330
378
349
338
415
311
309
351
287
315
342
407
309
329
296
285
249
352
410
302
425
241
327
314
302
276
281
275
251
374
394
306
339
350
263
317
309
323
423
330
401
413
295
318
365
312
298
309
371
441
347
304
313
382
409
359
303
311
365
339
347
279
315
324
314
324
396
294
223
306
245
353
304
262
348
356
312
316
374
343
274
345
304
334
306
305
389
317
215
290
291
298
332
350
297
307
248
381
259
341
291
330
308
266
331
384
344
310
380
343
341
416
361
338
317
305
360
377
304
322
315
404
403
386
303
321
310
272
320
326
287
323
305
329
368
325
255
288
338
349
307
319
274
348
286
274
342
268
279
393
280
361
328
360
374
254
433
347
266
351
309
381
387
280
340
336
318
343
272
297
314
336
326
401
249
365
263
317
296
326
337
299
322
406
361
346
369
288
328
217
357
263
409
249
376
197
376
290
317
343
315
243
342
341
309
350
353
198
393
296
326
411
323
287
272
324
357
243
326
268
277
287
234
343
320
301
414
259
343
287
325
341
322
314
252
333
259
365
284
341
339
284
242
324
278
305
310
282
345
340
328
299
382
360
418
333
291
245
363
315
340
269
299
247
293
274
271
345
439
372
344
347
285
331
316
233
286
262
348
305
265
282
320
336
287
354
312
321
307
261
261
349
381
343
349
399
369
343
274
357
375
251
338
263
293
291
244
344
189
287
267
325
379
210
261
285
299
358
391
328
341
353
300
344
301
252
310
347
334
318
252
287
383
303
441
311
375
249
313
286
312
320
371
315
234
287
361
321
321
391
354
323
346
238
376
288
321
363
327
358
289
329
379
318
389
331
336
284
345
382
369
251
206
309
281
306
340
327
311
365
327
249
305
418
337
348
300
301
281
306
331
306
350
264
330
334
350
342
332
314
321
305
277
392
343
415
302
260
317
374
353
333
349
357
286
277
321
309
304
337
276
381
324
291
274
268
355
228
303
288
342
306
282
340
269
368
307
280
333
318
318
304
290
340
319
343
337
311
281
334
278
295
281
237
363
260
356
365
332
328
323
215
386
308
334
278
358
349
348
297
230
233
340
377
333
295
388
368
357
364
243
352
328
284
370
355
258
302
414
335
344
275
387
383
367
307
405
266
243
379
362
318
250
282
390
262
357
301
268
208
302
302
326
329
282
334
370
315
327
278
255
301
301
269
324
320
335
325
314
200
251
365
404
241
312
338
257
375
332
355
310
303
337
307
280
303
345
337
323
264
358
312
365
238
222
297
275
248
264
320
295
309
242
391
299
292
374
378
385
320
373
279
392
349
306
245
321
272
307
317
376
287
272
252
332
398
271
286
244
393
307
282
363
287
370
312
303
329
274
421
347
355
317
273
241
295
303
283
298
372
263
305
337
276
436
248
297
272
321
299
290
340
391
261
312
310
274
303
333
377
348
336
377
270
331
281
356
342
339
240
369
255
311
360
340
307
365
280
364
334
353
303
296
402
321
358
327
377
347
383
367
336
330
327
263
368
234
304
327
322
389
334
300
291
310
303
275
282
328
323
325
311
353
400
364
285
287
283
376
265
254
336
300
352
335
379
325
339
310
336
310
283
391
296
261
240
360
292
310
365
358
292
256
273
300
325
314
391
328
341
404
287
337
344
301
369
381
331
312
278
335
259
378
386
320
267
358
284
298
362
264
376
239
217
371
254
366
309
291
288
314
369
255
265
296
311
348
289
299
338
404
340
318
271
221
255
349
315
291
282
268
353
364
324
329
425
288
286
366
300
349
326
246
302
291
232
304
341
298
214
345
379
355
400
331
387
232
362
269
294
221
360
298
268
304
306
332
337
339
282
340
263
325
416
335
385
311
426
383
331
344
340
380
247
294
233
319
359
384
255
304
335
297
380
266
343
273
327
339
401
335
369
318
266
392
348
305
213
344
354
310
379
374
284
270
335
261
301
274
269
312
247
295
305
385
271
277
268
329
294
342
313
274
293
262
357
330
274
370
329
368
380
283
366
397
309
294
336
335
314
310
294
367
311
341
404
327
413
304
381
341
306
302
345
318
308
287
216
393
314
324
253
275
328
368
346
283
303
369
321
288
301
299
304
283
298
393
399
255
277
239
260
356
346
406
360
257
272
235
269
336
364
242
286
391
307
371
359
313
303
318
294
322
304
305
292
340
327
384
377
269
322
325
355
340
345
311
300
252
301
327
371
377
315
301
335
367
284
360
236
314
235
308
353
297
312
354
310
279
313
311
428
317
266
308
340
235
246
249
275
295
268
295
304
293
363
341
319
328
300
294
310
327
384
265
364
398
376
339
281
323
316
233
265
373
303
347
348
215
339
339
294
276
324
284
335
355
389
309
392
333
307
312
399
347
342
333
309
348
277
267
330
364
368
286
387
224
336
339
353
314
321
349
336
253
260
366
313
356
252
331
321
233
289
324
347
271
310
266
441
247
316
354
275
340
298
342
391
347
269
358
305
348
349
302
334
283
356
380
310
263
296
364
358
365
340
388
362
318
289
256
285
325
273
312
273
355
323
378
261
357
292
318
271
399
270
278
224
292
377
380
382
328
293
345
375
350
383
277
298
323
312
301
347
297
330
357
392
311
404
251
267
331
366
425
307
291
276
339
306
330
330
361
293
282
371
254
299
364
396
274
240
374
364
364
325
320
284
332
325
349
294
260
317
338
265
304
331
336
379
257
368
230
318
352
319
293
274
367
380
403
392
320
388
336
277
295
282
265
341
410
321
287
264
263
365
321
332
309
395
260
363
321
297
234
372
241
381
319
374
305
270
314
296
360
278
261
324
366
359
309
268
299
319
374
337
290
294
339
309
335
316
244
297
255
299
346
411
331
322
280
303
317
307
266
337
323
434
306
310
434
339
396
351
268
289
367
371
234
295
376
359
383
325
345
297
326
301
293
327
339
264
300
374
336
305
325
293
365
376
329
397
324
332
374
366
299
409
371
268
357
388
338
315
356
318
349
347
326
280
297
322
339
356
309
378
297
305
350
270
347
339
335
283
353
309
335
318
289
328
243
363
426
357
289
324
315
325
315
428
282
276
289
244
353
368
383
339
369
293
373
361
295
283
382
270
327
363
328
335
307
255
319
287
262
353
264
297
232
345
263
345
302
309
380
268
295
268
307
335
349
318
325
339
380
373
293
341
303
297
287
313
277
302
385
331
348
321
339
339
310
371
357
300
283
310
367
289
244
312
246
308
340
298
340
311
301
334
315
400
319
329
313
412
275
339
352
350
336
370
305
326
334
260
285
350
281
325
311
283
291
269
329
342
305
330
350
311
275
251
346
380
306
312
344
325
320
295
379
275
329
318
308
385
334
264
232
343
318
322
318
393
289
293
334
299
288
300
341
353
334
258
353
313
264
257
287
344
358
302
251
388
296
361
331
344
317
309
294
324
311
316
239
267
422
373
298
329
270
318
278
289
287
339
314
292
299
305
359
277
345
345
409
325
341
297
340
260
327
360
352
288
284
234
275
290
314
315
410
308
264
361
301
350
286
361
310
285
330
287
313
253
281
282
381
300
290
285
381
363
310
233
341
387
277
275
283
375
310
285
304
285
317
282
351
275
332
392
343
351
235
249
335
294
285
341
269
240
332
259
381
236
340
322
331
303
325
286
364
326
277
326
269
359
371
279
329
330
297
313
350
338
312
278
312
323
323
371
349
386
292
357
279
334
289
358
323
273
348
321
319
254
303
363
387
356
341
300
330
394
299
336
287
296
320
327
284
271
283
315
412
340
336
367
322
294
367
337
343
347
296
366
359
330
350
382
348
239
390
394
294
317
322
354
301
326
275
246
382
398
392
284
339
350
327
333
360
374
356
304
308
249
305
378
305
317
367
378
249
359
365
276
324
263
218
289
326
347
273
282
314
306
337
338
325
301
344
244
309
331
273
331
361
334
391
318
297
340
244
278
281
351
277
338
330
324
277
281
356
299
290
303
292
317
265
310
286
294
298
347
327
356
278
315
363
296
329
280
273
328
359
317
255
337
263
202
384
257
291
336
317
304
246
348
275
295
378
304
392
394
301
315
353
295
306
399
293
305
369
315
308
328
299
316
380
347
343
387
318
347
338
287
252
276
301
331
346
319
381
299
393
358
349
300
341
333
349
354
286
296
322
252
325
403
320
369
333
313
277
292
371
372
317
284
320
244
318
329
328
318
345
290
271
321
354
325
327
222
320
292
312
331
385
338
237
274
329
314
312
291
294
297
258
407
352
309
310
303
274
309
335
371
308
273
334
212
367
308
320
368
325
366
316
264
398
287
301
329
309
317
300
294
164
349
339
325
310
333
261
233
239
368
392
327
427
328
333
318
262
290
389
243
354
253
383
282
388
332
293
358
289
299
330
339
413
308
337
387
253
344
379
260
284
334
275
355
391
316
382
294
369
348
296
317
300
223
371
315
363
256
354
347
295
349
405
336
294
195
306
281
324
323
228
357
286
257
305
322
344
281
279
315
368
409
366
381
304
213
261
371
362
345
310
294
298
322
377
301
291
293
302
334
356
292
302
312
264
337
271
395
407
435
284
352
301
312
275
334
325
333
327
307
336
311
337
369
323
280
311
319
321
267
281
320
272
292
236
292
295
296
330
299
332
353
246
265
315
374
330
328
377
321
366
313
240
320
327
363
364
288
300
288
372
337
300
233
304
282
331
366
352
326
336
258
394
316
359
360
335
309
374
275
273
329
333
291
351
334
243
423
283
287
238
347
344
350
355
338
316
303
298
405
340
329
304
334
311
317
336
326
334
331
349
301
309
343
273
255
290
231
288
271
405
319
319
261
320
333
303
316
271
297
261
247
316
295
216
307
293
289
354
321
391
348
354
230
283
274
322
383
295
333
384
258
335
329
362
359
319
339
275
305
380
243
316
413
322
244
310
380
275
313
336
358
228
242
373
286
291
288
323
341
291
329
336
321
279
366
326
372
353
296
341
346
328
331
378
320
319
322
318
358
259
331
262
323
289
338
335
333
328
287
338
378
297
336
326
325
386
290
308
327
292
352
332
385
378
333
250
258
366
319
311
368
276
263
279
316
368
270
397
362
336
344
364
379
247
280
368
335
243
335
263
345
214
340
223
313
350
288
344
371
271
302
391
247
367
373
317
326
291
307
243
251
319
298
349
236
309
302
291
405
315
322
329
365
335
324
315
334
332
339
382
347
256
302
365
266
264
363
402
307
271
347
333
362
299
238
239
351
287
352
342
306
333
313
254
301
330
356
382
343
320
362
297
304
301
336
297
347
226
348
339
325
358
262
312
265
217
293
372
374
344
313
341
309
282
299
344
248
287
359
337
365
362
299
283
305
347
374
353
358
341
369
322
245
370
288
279
264
263
250
321
310
284
294
386
314
367
348
387
309
274
350
330
329
312
286
292
357
428
233
337
361
261
267
317
384
285
353
252
367
313
308
311
323
294
295
282
323
321
304
328
314
334
338
303
294
311
251
337
335
299
333
392
271
244
330
386
331
312
360
398
323
372
323
308
363
320
289
332
298
326
348
309
263
357
279
299
289
356
339
282
272
256
353
358
287
340
288
365
282
226
346
342
292
323
401
305
275
214
279
374
327
300
393
325
256
367
373
376
335
263
253
350
273
323
380
365
327
281
346
354
309
364
292
281
331
295
372
356
333
283
340
225
322
288
336
320
347
310
338
298
335
239
331
307
262
297
262
358
355
269
309
327
296
332
385
314
312
279
335
350
346
374
318
315
335
283
292
300
211
325
326
292
298
307
372
279
365
323
384
261
294
294
315
313
312
290
430
322
324
290
367
320
374
374
301
255
344
327
314
284
334
305
384
245
274
256
342
312
358
340
265
296
314
271
333
262
342
335
263
383
383
416
366
306
286
278
310
325
268
336
259
303
409
280
318
297
301
237
324
297
373
294
255
350
267
357
353
332
251
341
388
338
315
221
324
343
243
217
235
292
343
390
330
327
333
387
250
381
365
331
319
334
415
302
326
263
363
326
419
308
354
277
373
314
298
320
302
257
283
264
265
304
272
270
292
321
392
319
292
328
233
310
295
304
263
358
263
400
300
323
295
323
281
336
294
317
408
345
344
360
424
315
256
286
356
329
309
279
293
424
381
366
238
287
265
349
294
252
318
331
232
337
327
297
340
275
309
333
223
341
403
301
391
322
312
396
387
274
361
344
369
314
331
337
327
289
324
299
333
279
262
276
330
373
358
292
242
382
411
378
306
276
221
318
271
352
272
300
361
354
348
298
312
363
298
387
315
320
393
340
350
379
310
322
266
256
399
354
331
295
280
282
277
404
347
324
263
352
335
399
345
291
363
222
334
317
303
237
353
372
286
331
233
313
289
415
328
307
285
352
263
293
296
329
315
341
284
352
367
228
357
326
182
321
354
295
305
366
347
324
333
355
346
252
342
262
211
354
353
271
359
313
335
315
315
232
306
276
358
314
253
348
308
294
296
303
263
359
363
327
337
334
334
366
366
341
361
266
262
262
359
271
374
269
338
299
231
365
328
325
238
325
256
361
329
341
278
338
331
305
369
255
383
312
392
342
302
281
353
339
337
200
329
303
366
318
276
305
317
287
348
261
371
281
299
268
267
340
321
237
387
284
295
324
217
345
351
301
278
371
304
337
314
311
340
326
342
321
304
316
222
382
242
310
305
306
295
334
440
343
334
303
343
359
333
351
327
365
260
341
318
298
352
336
306
298
333
330
342
382
423
293
347
288
308
301
302
320
314
376
302
411
339
275
296
341
282
320
327
337
338
247
346
270
343
259
259
289
269
277
271
332
367
338
329
285
332
283
343
262
298
333
234
301
241
393
260
311
238
246
270
226
403
356
357
355
310
317
349
267
324
318
278
272
298
329
377
272
246
323
387
329
338
249
312
361
203
376
369
308
405
306
281
365
299
367
348
367
241
292
332
287
272
294
208
324
290
333
363
321
367
255
341
324
290
306
323
259
338
348
284
283
302
312
311
330
263
309
320
318
260
354
298
369
316
321
320
376
330
253
322
282
285
326
276
323
312
310
346
301
243
271
288
272
193
331
331
274
295
360
246
338
311
258
273
350
390
347
369
286
388
334
298
259
191
285
308
317
262
327
309
360
235
292
301
350
350
341
358
357
347
361
336
334
315
390
415
308
319
268
353
337
307
323
304
338
257
316
386
285
327
273
324
293
273
306
289
290
282
355
341
312
224
291
290
334
320
294
234
325
296
242
338
276
390
299
277
293
319
308
224
320
264
331
235
295
391
296
329
305
294
260
344
290
246
310
381
324
355
296
348
299
305
386
208
266
361
368
368
373
303
294
277
264
379
264
399
282
406
366
258
308
304
339
267
319
305
365
303
316
303
307
280
290
305
394
314
236
311
290
348
330
318
345
336
376
307
297
300
331
249
259
304
355
305
397
354
281
268
321
301
274
305
306
318
238
311
277
329
316
307
386
307
280
319
338
261
252
320
352
392
352
320
330
371
321
310
236
259
420
332
353
349
301
308
298
299
278
309
380
311
282
297
308
357
309
370
338
245
282
376
294
309
324
271
280
286
292
279
376
350
303
334
301
317
305
294
398
272
253
251
344
298
315
381
349
257
338
290
327
340
374
398
275
339
297
367
324
287
383
300
301
321
330
379
306
323
311
288
291
380
305
314
339
199
351
367
338
341
298
313
360
327
377
305
378
304
300
348
290
374
276
304
336
362
282
274
259
383
313
266
329
281
321
315
275
318
344
352
370
237
361
274
342
279
324
293
406
377
302
228
288
356
348
360
354
356
281
231
323
302
329
255
313
428
371
336
306
303
329
249
382
278
224
291
230
269
316
309
302
278
305
285
319
296
275
251
405
332
419
296
397
358
301
394
306
385
201
290
257
247
281
269
297
285
291
305
366
252
385
323
329
313
328
342
326
272
258
384
326
341
260
420
411
388
313
248
393
273
328
316
384
348
383
359
314
345
314
314
248
341
369
365
263
311
263
314
341
347
331
321
290
339
319
297
288
266
344
299
404
310
337
273
341
267
322
380
306
257
296
262
255
294
295
291
331
289
326
307
323
274
311
291
304
313
320
252
360
391
265
270
347
269
287
312
293
347
325
272
319
396
349
290
307
299
303
345
287
316
385
417
282
307
307
293
312
251
299
333
305
330
312
293
253
419
342
317
361
325
264
258
299
319
309
368
342
357
305
325
298
357
280
305
271
297
329
331
319
299
305
224
330
321
381
338
319
363
286
294
298
162
245
397
383
357
215
406
344
360
345
299
305
318
319
382
236
330
252
353
389
299
241
342
347
356
362
379
355
318
376
251
350
334
263
323
368
342
340
296
342
302
354
338
348
368
310
314
374
342
287
304
272
325
315
367
261
300
334
277
274
317
395
370
282
342
381
316
258
305
279
309
327
282
278
357
331
286
342
273
315
310
369
382
307
256
227
395
367
300
346
284
410
335
303
360
371
367
300
310
277
276
256
293
213
400
271
337
301
327
283
337
339
279
347
325
304
323
299
333
336
318
353
317
316
319
291
347
348
398
404
324
310
290
281
284
320
351
377
340
360
301
400
282
359
289
296
321
229
366
367
406
268
267
387
302
222
303
370
283
305
329
288
324
257
334
342
297
165
336
310
354
249
328
353
401
331
301
281
278
370
313
274
355
285
306
333
319
302
365
302
312
256
360
348
231
301
287
356
326
382
334
285
265
386
262
278
366
288
260
289
345
308
260
274
350
353
340
328
318
308
286
305
344
319
257
361
410
369
318
367
266
371
275
331
279
364
328
226
276
329
298
227
343
280
342
289
346
300
360
358
351
371
408
253
325
249
307
235
316
337
287
320
330
254
316
306
343
339
314
310
263
304
262
289
295
360
332
332
312
292
316
361
321
320
299
342
324
332
352
239
320
248
282
357
301
334
293
348
308
286
291
311
221
344
285
288
302
337
259
279
343
341
271
289
316
381
235
263
270
364
286
328
298
233
323
349
186
296
263
346
287
277
374
288
327
326
400
338
284
333
256
344
316
259
323
308
237
313
308
360
368
341
307
323
278
301
301
304
238
318
293
318
328
362
281
244
390
290
289
326
363
368
243
288
406
291
201
247
350
314
309
317
351
374
304
279
291
388
323
302
322
266
366
350
363
341
360
266
393
309
347
360
346
283
349
387
367
295
360
308
300
276
290
406
283
344
330
345
304
348
310
320
297
343
244
260
328
374
351
385
266
283
284
348
338
336
384
286
271
289
382
340
363
315
315
316
384
365
306
279
289
301
312
317
295
335
287
193
311
378
337
310
296
284
309
337
342
332
362
382
281
370
263
271
318
274
303
305
255
264
262
303
279
288
347
443
252
322
342
304
335
237
288
291
282
330
313
293
220
281
324
311
341
358
377
343
242
263
312
347
236
334
205
328
359
410
288
341
335
320
253
338
377
331
330
343
366
348
247
273
307
336
346
316
271
249
426
320
289
270
266
377
371
297
357
297
366
299
305
316
298
327
331
259
288
359
288
269
289
288
386
303
313
333
395
301
391
285
337
281
329
369
350
305
342
268
360
344
340
405
278
275
341
296
296
311
395
285
264
369
323
382
280
357
342
333
344
358
266
384
264
317
359
264
385
350
365
332
281
273
249
323
304
311
315
345
317
287
361
276
359
231
289
330
421
335
368
341
371
324
261
342
331
315
336
245
352
260
359
306
291
269
293
285
252
316
344
297
326
285
294
266
281
322
335
319
289
372
298
330
257
338
279
315
333
232
277
327
382
324
308
308
315
280
386
356
268
210
336
380
274
360
301
327
270
284
315
244
310
331
338
359
356
245
258
346
361
341
259
369
286
328
260
313
249
334
280
306
320
362
327
278
365
317
321
369
348
329
201
286
382
310
281
334
284
312
344
290
200
392
332
338
298
315
321
356
333
385
356
327
341
196
390
290
274
249
323
282
219
282
385
343
418
295
348
362
364
346
386
225
295
268
338
276
305
348
275
345
366
247
337
406
296
313
429
239
317
275
334
289
359
301
286
302
358
362
261
288
399
368
367
343
343
349
250
375
333
336
346
311
375
288
319
355
265
309
276
374
298
245
335
346
293
421
280
302
336
299
263
315
311
307
270
338
311
308
262
367
312
290
298
309
337
348
350
258
311
365
321
245
382
267
374
299
317
317
281
294
302
348
401
395
326
268
286
344
386
288
249
263
285
234
279
295
281
388
347
288
412
270
277
367
205
360
212
365
327
205
349
349
253
293
298
304
351
385
255
303
335
309
358
305
382
292
378
269
327
337
270
274
312
386
415
299
388
370
349
251
325
313
304
335
357
399
284
408
244
300
383
297
351
278
391
337
356
348
307
311
329
359
383
370
377
296
350
338
286
316
351
230
357
335
297
366
381
286
330
271
283
333
378
364
346
387
329
360
255
381
277
287
274
282
303
284
402
395
343
312
359
244
339
270
262
318
328
277
343
283
289
337
300
303
193
355
425
327
299
295
279
296
235
365
310
375
334
280
366
243
319
351
281
384
343
306
337
296
308
342
297
338
253
273
386
405
351
313
290
266
330
300
394
366
372
277
341
313
380
288
356
291
262
309
356
277
325
288
285
326
249
330
305
270
314
338
288
342
333
290
367
346
271
341
243
376
346
298
353
387
347
343
305
199
246
330
286
201
359
286
282
320
464
366
270
228
316
262
269
343
234
382
324
280
259
301
300
232
337
202
332
321
316
303
366
210
335
244
279
360
296
313
296
311
316
346
297
341
346
364
365
253
233
303
351
332
380
376
356
331
309
322
214
295
286
403
381
335
390
354
281
353
324
327
315
341
370
295
338
350
339
260
342
304
282
305
347
369
404
302
355
365
295
366
279
365
293
289
409
299
275
357
339
300
240
403
368
248
285
382
357
265
324
312
364
342
323
277
375
361
230
341
305
373
326
268
282
427
345
362
320
306
274
280
350
292
326
245
319
315
362
303
262
307
353
296
426
340
328
289
363
265
293
328
272
342
290
339
286
261
275
389
321
358
308
352
325
297
295
232
356
303
333
352
290
310
299
313
275
413
237
415
390
284
357
254
299
284
309
354
353
437
381
241
302
305
294
293
315
287
340
318
344
351
308
336
321
319
367
289
290
314
334
362
314
283
284
385
195
426
346
299
331
308
271
301
341
330
328
371
319
272
394
289
241
270
311
279
285
316
316
321
325
244
271
362
291
335
370
300
337
337
373
302
316
358
297
264
322
285
340
273
344
301
313
277
256
282
300
343
359
287
275
404
342
375
269
275
320
382
392
315
227
309
374
324
322
374
349
227
307
352
373
266
345
299
298
333
244
304
311
279
336
286
349
297
350
342
294
331
252
257
259
231
347
358
337
305
342
327
334
301
303
350
316
300
277
220
348
261
375
338
266
380
260
335
278
274
303
353
291
327
362
320
380
347
276
320
185
315
370
344
237
332
315
303
378
334
264
299
290
340
379
207
272
383
384
288
290
294
316
359
306
307
360
368
340
294
252
362
213
347
310
305
293
286
337
313
366
347
307
326
292
252
295
275
277
296
326
316
340
347
370
333
283
363
289
371
306
320
382
331
372
334
292
321
327
318
253
298
333
335
379
362
425
342
315
317
297
353
370
351
316
367
295
325
310
320
400
337
331
250
279
281
364
292
355
266
291
324
330
358
321
361
303
310
322
294
294
257
338
306
353
332
375
399
330
285
360
372
360
321
305
289
363
243
229
305
331
307
325
316
285
293
288
348
323
343
289
369
400
234
384
320
304
316
254
243
360
269
301
346
253
287
322
373
358
342
373
332
282
374
281
356
305
313
320
219
324
340
336
333
382
230
243
335
278
276
349
390
256
270
236
299
362
304
288
260
321
265
287
226
315
282
257
227
357
402
248
280
294
325
273
356
334
303
323
288
305
312
381
345
290
313
343
387
340
324
310
259
319
296
308
415
358
389
349
381
338
394
342
387
297
299
216
344
292
346
237
356
368
274
344
331
379
277
360
339
389
326
321
348
346
318
256
274
245
341
334
363
283
280
328
318
294
310
324
339
320
321
368
317
269
322
246
383
233
357
304
326
357
297
362
308
336
231
380
301
376
352
321
337
226
228
309
250
277
318
373
350
278
341
325
384
336
249
306
219
356
255
330
395
339
278
311
283
275
327
310
293
281
319
301
266
326
248
287
318
340
360
285
320
340
364
312
240
327
342
285
293
257
267
370
318
311
339
376
319
287
263
315
306
255
329
328
382
291
274
290
229
372
362
332
313
353
346
342
346
300
194
229
296
325
436
346
410
324
357
304
279
389
336
298
351
309
294
328
294
371
376
336
333
338
325
329
257
346
389
365
299
301
440
377
300
332
298
305
266
295
361
381
423
292
396
257
349
327
323
352
317
324
334
390
358
324
313
362
309
319
307
227
308
283
329
336
327
378
299
380
338
297
303
313
320
300
316
310
341
294
328
336
267
320
308
372
346
322
261
223
236
295
345
353
267
364
302
296
275
317
273
350
293
316
300
314
284
289
311
320
338
298
298
283
382
316
332
362
314
376
399
366
374
251
331
250
329
262
287
305
303
221
333
296
372
376
425
310
359
297
261
353
238
290
332
313
295
320
319
261
265
330
358
346
377
297
312
369
319
316
365
229
330
273
379
311
408
301
315
219
391
339
173
293
289
286
310
295
306
369
320
339
280
285
373
279
372
240
248
361
411
327
348
334
351
275
301
330
319
307
316
305
311
334
317
345
325
273
230
333
318
369
299
387
321
261
294
312
397
317
321
318
299
396
373
244
313
334
244
274
346
334
331
335
400
328
276
348
351
327
354
314
282
382
283
349
307
205
342
373
381
345
371
363
319
275
335
324
281
309
382
289
284
337
295
384
324
302
357
299
366
363
244
288
233
277
364
349
335
304
341
319
318
310
307
403
310
337
271
325
341
316
307
317
355
175
369
291
301
361
241
319
335
238
313
391
317
377
353
383
313
249
280
374
323
298
212
340
322
292
390
321
334
296
322
315
337
316
376
346
251
230
323
226
316
325
339
320
316
265
332
381
268
218
286
268
318
276
233
362
351
272
372
271
207
279
273
220
358
328
291
282
317
388
305
270
325
282
295
237
330
273
320
303
365
241
332
246
302
347
333
355
360
371
374
282
333
342
394
268
342
378
207
383
305
321
292
336
331
325
313
336
305
314
311
306
346
328
239
305
366
196
273
361
281
443
353
354
206
273
335
305
279
286
288
332
312
330
308
214
313
347
334
263
329
289
362
333
236
244
296
300
337
324
336
301
348
322
249
292
246
279
326
346
265
314
270
339
260
307
370
385
268
329
314
424
392
351
268
377
362
272
202
331
364
226
298
409
220
325
301
199
335
317
339
394
295
390
334
252
287
358
386
275
300
329
301
274
365
355
264
275
302
309
304
311
287
259
279
291
303
268
294
326
282
311
297
317
328
357
263
337
295
274
335
333
301
274
278
328
304
251
390
308
252
235
321
238
276
337
323
315
313
356
335
267
348
340
242
374
428
333
291
363
372
298
313
319
296
334
271
419
180
333
284
273
323
265
322
261
266
325
325
355
370
202
369
318
306
351
300
337
343
299
341
315
282
401
317
389
369
350
273
359
304
234
321
301
311
326
358
263
336
242
320
397
375
309
216
362
308
247
286
303
360
304
192
293
335
402
258
302
342
356
320
316
376
307
332
417
295
328
308
325
246
285
327
163
349
326
332
356
294
270
279
267
287
346
293
360
326
326
374
261
268
349
356
304
329
365
304
308
335
274
320
335
318
297
267
288
355
301
281
357
233
335
298
338
312
355
302
288
346
332
351
211
328
361
291
239
375
270
309
294
290
281
355
348
334
265
250
214
256
296
348
223
379
264
321
377
282
360
354
282
267
358
308
242
294
318
366
376
410
317
257
276
293
336
296
376
338
311
419
362
184
309
302
341
343
295
302
331
262
405
300
272
279
357
345
284
389
269
241
286
254
349
322
419
345
325
332
325
322
261
320
309
262
339
343
341
309
297
311
285
340
329
294
326
328
312
297
281
311
310
313
370
304
351
347
326
220
299
305
270
297
267
307
329
282
283
297
335
274
304
314
354
290
306
212
331
278
248
261
237
276
315
356
319
334
334
352
318
297
421
304
253
372
351
319
332
294
387
335
377
385
291
291
225
251
325
257
286
272
274
339
242
283
303
364
349
333
366
369
289
341
315
272
197
323
264
348
283
305
309
269
244
313
416
293
384
341
368
351
364
314
308
222
331
357
388
391
246
299
287
378
357
264
205
260
358
357
403
292
325
350
321
368
291
291
360
318
314
361
407
243
354
347
346
342
324
319
331
329
298
333
314
319
362
343
371
307
307
305
292
281
366
368
285
336
321
393
273
356
334
268
303
342
298
349
345
291
293
263
312
321
313
327
358
357
320
417
298
338
234
371
368
315
299
331
286
310
395
298
320
313
231
299
353
315
230
343
353
366
337
333
240
275
335
314
334
390
333
344
322
339
359
364
283
369
325
230
329
278
322
333
379
394
313
289
352
387
314
365
330
283
431
324
334
241
386
387
310
316
304
333
366
334
328
247
298
244
359
367
324
330
335
335
253
293
316
299
321
332
368
325
289
357
326
367
268
220
258
284
365
279
273
406
350
349
334
316
265
243
286
381
327
302
372
345
363
325
257
273
334
382
357
408
343
277
409
302
350
198
342
358
361
406
371
290
320
333
319
364
352
342
307
332
264
327
321
291
353
260
331
340
377
313
303
307
293
260
373
295
329
307
311
329
360
419
399
338
278
332
334
269
296
333
353
341
382
263
232
326
322
350
243
298
462
364
333
338
325
305
368
327
375
325
353
356
320
249
347
252
305
226
345
397
324
304
344
325
328
325
292
290
422
338
402
358
337
289
349
334
404
251
338
362
253
363
372
285
305
351
234
348
326
355
237
336
264
316
358
322
323
311
290
332
280
230
314
321
381
275
309
311
355
333
321
340
325
312
316
290
265
293
318
312
351
399
405
303
276
249
306
280
283
278
245
310
312
359
225
334
311
342
262
276
319
338
246
333
259
294
299
291
254
316
324
246
214
262
278
332
328
315
408
228
406
274
376
306
372
247
323
306
287
273
225
343
302
302
331
292
245
280
358
344
295
304
313
361
284
297
332
341
332
297
351
324
284
331
294
364
291
268
373
359
342
266
302
288
331
240
332
300
270
330
334
316
268
319
271
299
252
340
380
295
334
280
261
320
325
323
276
386
293
380
263
253
352
297
310
328
329
299
368
334
275
335
330
304
331
266
307
281
334
301
310
292
302
328
322
299
335
267
262
343
323
336
318
292
349
283
335
286
323
312
356
230
302
265
286
389
350
295
322
357
320
264
381
281
364
337
307
293
296
350
341
265
325
301
297
366
386
389
317
349
442
278
287
355
269
292
316
378
270
356
325
373
294
290
308
354
236
341
379
289
306
342
404
299
278
356
319
368
279
344
282
344
321
335
275
345
381
291
247
387
399
393
324
340
307
308
318
294
336
302
212
312
309
255
359
224
324
262
221
353
221
343
230
357
277
292
308
230
293
372
368
321
306
297
325
356
327
364
401
374
273
333
396
340
269
333
440
283
309
308
264
294
325
305
295
348
345
274
292
363
396
309
346
327
303
364
339
277
329
354
307
351
278
271
334
286
263
271
234
336
340
295
330
358
342
265
278
303
300
327
261
270
292
231
353
247
314
329
304
303
324
373
326
412
352
364
274
213
267
361
253
225
384
374
342
274
279
367
285
351
277
279
304
302
358
344
311
299
346
363
370
315
317
337
360
364
324
348
348
293
366
231
373
379
346
332
347
349
223
243
266
341
318
319
323
255
329
339
337
390
291
280
290
351
360
329
398
358
271
379
320
255
352
332
385
219
333
341
324
309
370
331
252
309
310
326
287
218
235
377
285
274
321
262
274
326
256
373
405
371
278
396
280
255
338
383
353
279
293
251
321
259
346
311
388
321
334
283
321
358
306
327
322
295
382
365
310
307
295
328
312
372
329
280
336
372
338
261
328
338
328
375
409
337
275
225
265
394
350
322
302
308
322
330
264
329
336
207
306
303
353
356
293
288
269
313
311
257
284
352
406
293
335
341
362
280
261
362
244
352
302
344
319
372
289
370
347
252
297
346
286
282
353
313
350
272
220
360
242
344
303
244
310
372
343
328
301
338
253
340
363
258
317
323
360
284
390
300
212
286
257
320
340
354
424
244
287
244
314
280
322
189
326
336
278
354
350
311
392
284
351
349
349
408
310
304
362
343
290
353
241
250
342
424
290
257
374
370
385
341
288
394
239
224
266
358
312
300
311
411
321
283
386
317
308
327
352
310
341
268
321
361
339
355
345
288
211
251
302
286
324
331
348
292
303
329
299
244
292
373
325
342
309
361
263
261
284
327
175
283
358
374
301
304
360
261
340
262
346
281
328
270
362
357
305
351
273
289
232
321
284
307
322
348
389
397
306
333
247
296
360
326
387
407
292
251
310
268
273
343
318
300
287
298
344
364
313
282
241
393
333
392
297
342
317
271
312
326
266
333
282
339
315
358
348
314
294
285
333
351
311
296
330
295
362
384
369
359
345
205
251
337
319
331
301
295
274
391
320
342
267
312
363
262
243
386
323
349
362
307
275
366
333
314
308
364
371
358
384
326
290
279
305
346
338
320
348
374
284
268
338
284
260
267
337
337
275
312
349
315
382
300
304
328
246
311
291
248
318
356
317
294
198
252
358
315
299
354
311
387
415
330
270
342
261
412
323
284
313
259
365
371
287
266
353
266
330
272
375
367
284
285
294
304
270
298
239
286
310
356
229
356
355
329
288
269
368
305
306
345
346
428
355
277
292
294
277
304
372
330
289
287
263
371
280
371
351
339
321
311
320
253
254
385
289
279
286
255
397
257
343
300
368
285
285
405
328
364
306
275
318
224
287
280
310
393
277
393
327
351
362
249
292
400
305
282
276
310
375
318
319
402
341
336
272
289
305
300
268
381
347
293
366
285
332
345
306
366
292
362
347
287
413
288
311
323
356
389
387
316
286
357
277
299
282
348
321
267
350
294
328
335
312
331
288
259
288
302
234
274
429
290
279
305
331
347
327
306
374
367
400
303
361
405
377
360
342
415
351
291
290
402
272
343
248
345
282
381
302
375
309
271
270
325
270
318
282
323
279
331
316
274
343
271
287
328
354
271
277
263
359
296
310
260
209
326
388
351
296
345
394
240
269
289
294
272
274
338
314
357
355
287
322
343
336
304
323
292
374
247
346
285
285
279
325
307
383
312
358
318
331
358
313
196
292
298
351
373
322
323
339
353
279
329
336
294
331
311
293
296
327
361
336
326
303
403
301
248
294
356
326
332
289
323
362
326
230
353
316
269
247
314
310
334
304
221
280
298
337
319
281
328
347
276
325
322
304
347
286
321
199
309
317
290
291
312
303
316
328
364
307
321
357
263
425
347
380
291
356
306
294
295
294
262
216
277
339
347
340
325
295
361
314
392
294
355
307
372
306
259
352
273
294
326
284
326
354
285
232
396
366
274
291
340
372
385
286
350
297
314
305
199
281
242
405
381
331
320
369
357
213
318
311
326
343
229
303
285
304
289
260
300
303
338
293
306
369
331
323
335
326
340
347
276
357
308
185
222
370
295
367
349
323
324
319
251
299
284
355
335
270
333
319
368
341
306
290
390
333
328
371
248
347
362
345
316
302
253
250
278
379
380
263
339
313
288
355
349
328
354
283
329
353
333
302
259
358
250
307
330
282
385
337
291
249
317
282
324
303
331
233
299
334
273
335
331
298
324
394
351
353
424
311
286
322
294
319
340
342
340
283
295
262
216
294
259
262
309
319
328
288
334
360
328
333
357
266
315
393
396
323
317
435
384
252
386
348
390
296
278
336
234
333
288
339
325
318
267
232
308
367
274
245
295
256
323
246
360
424
335
381
338
338
327
311
304
278
399
230
335
324
341
281
377
365
363
364
262
291
280
257
408
261
240
353
307
351
332
380
354
349
300
280
333
310
316
302
290
312
394
299
363
395
389
330
372
329
293
389
361
269
351
328
354
325
270
285
355
321
356
402
360
318
317
293
373
386
352
240
307
297
271
282
315
322
341
365
240
266
307
353
336
230
371
381
237
251
329
338
315
278
267
276
364
300
344
281
385
413
325
315
376
363
324
206
356
341
356
382
335
269
426
312
341
339
301
445
315
340
347
380
285
387
338
352
257
383
401
367
297
287
390
373
289
290
265
338
255
347
334
286
339
317
219
299
323
416
359
347
301
365
340
258
288
325
267
265
303
288
318
374
342
325
289
318
369
362
211
329
393
315
292
346
359
352
295
294
293
425
353
298
419
306
299
275
344
293
353
280
361
331
379
354
370
351
217
307
311
367
284
390
336
324
328
262
310
299
317
354
326
306
402
350
273
299
326
373
272
325
319
294
423
343
304
350
294
332
306
309
272
337
257
300
286
320
380
260
270
273
325
241
375
313
270
340
297
336
303
274
357
285
331
296
347
371
304
367
354
320
340
296
332
356
274
356
232
281
406
331
325
237
277
274
349
295
234
259
367
278
283
342
294
254
360
314
273
316
290
343
273
310
376
328
353
297
321
379
303
249
336
286
307
370
332
371
370
383
323
288
298
300
321
397
392
286
291
368
350
342
286
280
339
347
258
346
294
277
340
329
338
285
279
332
329
335
235
277
281
300
258
307
299
234
306
362
311
290
315
361
278
363
275
380
310
313
327
353
300
370
306
311
341
242
343
289
404
271
346
267
273
349
369
232
329
355
248
318
409
376
290
296
316
281
274
329
324
391
357
318
284
300
323
393
305
293
329
261
274
244
246
217
278
316
248
311
271
302
290
257
395
377
380
310
397
341
326
305
357
278
246
363
308
334
355
377
336
353
386
326
196
339
318
319
317
312
284
394
208
355
314
281
312
269
281
343
306
351
421
348
305
348
313
308
315
276
218
346
372
320
308
226
332
312
336
326
331
339
279
260
371
356
303
287
316
290
284
314
378
373
348
366
263
348
197
348
374
326
272
246
283
237
291
265
351
347
269
343
333
383
263
377
303
274
355
287
285
314
356
324
269
379
314
322
400
295
237
317
317
358
286
349
322
390
267
305
352
298
319
333
338
308
364
384
306
339
315
374
318
400
349
379
307
290
283
368
288
243
352
342
324
331
246
326
355
357
394
350
367
349
293
321
305
413
329
343
301
358
351
280
290
279
292
387
284
372
343
240
337
311
284
296
291
349
246
376
321
343
292
401
335
346
298
316
221
369
330
365
393
372
305
257
308
244
334
294
294
288
342
339
354
275
406
368
259
363
322
274
280
262
302
294
305
372
258
385
321
259
197
346
360
359
293
290
243
382
309
302
248
318
337
277
262
389
346
328
355
356
426
241
351
317
297
331
295
352
370
275
272
290
288
342
307
339
265
306
332
339
307
247
302
330
328
240
273
369
368
287
382
361
354
330
274
302
315
352
296
276
348
292
296
299
338
253
379
332
394
309
366
279
305
361
309
276
355
294
361
335
385
281
262
397
364
214
297
266
354
303
382
373
370
323
376
282
302
260
390
374
276
373
346
310
296
325
342
279
274
278
332
374
355
272
280
375
374
372
256
307
280
337
332
361
391
342
451
247
387
336
348
365
302
355
380
379
305
235
351
339
377
284
381
377
313
295
295
301
312
231
336
288
365
279
297
268
247
413
353
295
346
183
284
327
375
337
271
384
228
285
318
311
267
357
344
283
313
353
310
331
364
275
293
371
308
281
321
320
364
198
328
215
220
269
241
338
366
212
336
317
382
332
352
350
290
327
321
351
326
271
329
283
356
343
212
299
270
310
293
362
374
306
223
342
234
381
295
262
315
271
336
334
280
327
357
234
279
357
350
381
275
236
296
348
366
222
265
308
303
303
273
327
237
446
406
284
353
312
265
356
319
275
329
228
405
383
336
254
344
282
311
313
242
330
282
280
367
333
352
321
318
321
413
347
241
326
252
311
266
373
313
273
350
349
376
314
360
341
396
351
291
324
381
334
379
345
354
213
297
279
323
300
330
357
256
350
390
320
218
362
281
334
240
369
337
323
296
276
285
358
336
260
343
356
313
338
322
285
359
382
418
276
301
367
375
337
310
299
309
386
327
282
287
253
265
283
249
312
247
332
282
379
290
436
342
246
391
415
313
347
185
251
348
386
380
213
330
285
343
303
337
290
275
343
339
240
235
318
385
329
263
248
293
359
338
357
357
331
364
284
334
294
330
314
371
309
261
296
333
304
303
249
305
357
342
310
253
235
375
253
259
261
231
325
291
268
354
339
329
346
352
458
282
379
250
299
293
324
291
250
352
335
420
302
276
337
359
376
327
281
319
278
349
260
371
271
352
304
405
285
320
323
342
311
357
357
322
343
292
267
262
274
369
386
305
265
318
325
347
294
360
390
262
295
312
335
282
248
347
278
338
306
291
281
346
345
324
243
383
301
285
316
285
277
260
330
260
304
343
331
269
383
365
260
356
351
320
319
331
262
290
329
268
353
322
340
243
419
271
277
305
301
344
331
333
347
300
381
328
238
322
315
372
332
272
404
290
303
245
312
279
338
341
296
318
337
415
285
335
374
318
308
372
289
318
331
313
290
332
341
283
310
282
329
270
303
250
362
268
342
332
350
270
331
411
377
356
334
217
381
305
296
252
342
393
282
320
307
328
369
352
306
234
320
276
399
271
383
320
357
289
321
281
295
321
318
292
286
321
320
335
306
318
188
280
333
294
267
245
389
369
322
330
267
349
318
370
330
248
225
288
291
307
387
296
355
327
236
337
287
260
233
370
323
371
303
259
313
378
270
296
287
313
331
327
329
309
302
315
373
248
300
313
326
325
263
262
284
334
302
340
323
286
314
334
300
300
294
325
314
320
246
314
344
318
273
311
286
234
327
372
237
379
335
349
351
308
331
301
312
322
303
294
326
324
342
382
241
286
243
331
321
376
306
312
310
395
337
303
437
312
272
263
332
333
365
402
227
409
398
384
366
310
332
308
242
293
366
349
391
323
298
373
300
309
407
291
312
294
263
357
378
280
359
307
345
273
274
393
363
417
286
375
277
303
357
393
223
235
306
260
273
310
344
392
368
387
298
286
336
287
298
387
292
315
261
320
332
339
358
295
325
366
275
339
262
360
299
283
355
346
408
291
307
287
315
317
384
341
343
363
286
230
384
306
329
266
373
302
334
289
328
388
369
381
265
338
260
333
316
250
184
355
252
307
273
317
337
357
248
280
305
376
249
360
299
266
388
351
318
290
313
285
277
348
328
354
335
320
361
241
323
351
312
335
338
235
363
305
290
279
285
273
352
257
358
337
205
230
263
317
367
372
314
418
234
290
324
287
239
345
362
349
269
358
236
378
372
243
345
314
292
246
407
285
344
346
341
355
313
309
340
367
303
321
236
343
328
309
298
345
328
334
391
339
390
327
361
378
279
322
318
379
374
277
341
273
273
336
293
376
321
215
273
327
248
295
306
336
362
347
367
339
298
300
300
394
346
368
364
356
370
325
354
299
362
287
310
296
366
366
370
282
324
331
388
336
276
341
392
279
331
278
330
326
275
306
317
282
292
327
290
323
346
363
357
351
274
298
421
353
285
349
296
338
333
343
351
350
255
260
352
329
382
359
281
199
265
257
296
330
255
291
390
227
396
319
267
276
372
341
357
306
367
341
335
316
332
359
297
365
226
416
331
326
270
311
353
287
285
314
383
231
281
317
357
366
307
288
312
370
306
346
374
365
296
301
314
391
306
312
310
265
281
372
317
359
278
340
367
246
296
283
307
294
317
278
344
249
309
328
272
285
342
320
296
272
274
323
299
299
274
325
308
320
346
287
299
329
217
334
323
443
309
387
331
339
319
304
331
285
360
307
363
347
309
295
315
380
331
362
361
358
326
339
158
318
275
309
413
266
310
339
351
247
269
359
279
336
309
327
350
338
297
295
294
288
353
369
288
343
310
344
311
260
297
343
403
293
284
352
309
354
352
300
291
248
296
409
379
373
344
355
285
375
353
323
278
319
370
397
340
329
346
333
222
300
271
388
308
341
339
424
318
366
338
343
309
355
229
354
310
301
325
247
271
347
358
224
336
261
240
317
282
329
303
288
319
277
241
260
344
257
375
291
296
281
301
394
296
301
354
281
326
270
310
296
305
281
385
268
257
268
336
316
299
262
268
242
397
240
206
239
420
259
338
274
333
359
323
409
259
331
297
332
304
348
324
333
275
282
329
333
246
322
357
366
405
266
339
376
266
311
294
286
324
270
242
342
371
289
331
344
244
326
379
324
281
353
312
313
283
379
326
376
345
256
411
338
304
302
285
335
297
367
402
371
347
389
260
315
241
280
341
276
315
334
349
324
267
343
347
341
382
294
373
351
246
306
354
296
320
332
269
316
284
387
354
304
286
326
259
267
266
394
322
386
270
278
284
344
289
293
298
373
358
268
380
315
339
313
334
334
333
305
276
317
335
356
332
340
359
400
338
289
309
294
357
251
381
374
336
226
298
342
332
279
262
271
319
344
307
260
351
371
345
321
335
348
378
345
297
349
321
316
248
353
322
234
273
303
287
330
376
327
301
321
385
314
312
297
348
272
359
356
343
331
251
353
301
290
412
318
283
287
327
259
241
308
353
351
322
359
308
312
384
463
259
327
329
272
354
304
247
312
320
235
312
299
356
301
231
329
449
201
219
308
348
337
313
361
326
309
289
302
327
351
275
285
354
313
296
282
389
380
329
327
319
328
303
309
317
361
297
318
323
335
366
288
168
309
352
282
299
285
377
359
353
284
292
236
344
305
340
332
241
252
352
398
334
308
375
341
294
270
198
386
320
419
323
351
391
283
283
357
247
303
297
340
375
372
319
285
367
305
346
346
259
289
304
355
361
241
301
329
329
289
303
243
279
306
408
275
363
339
337
329
359
306
281
273
354
360
332
383
319
286
371
291
351
308
354
265
270
350
392
361
296
375
321
253
291
305
207
369
364
286
246
285
336
292
367
364
326
355
268
341
259
271
322
322
310
265
314
354
347
321
317
397
290
357
284
351
287
309
279
340
281
338
331
236
322
282
331
399
270
286
404
287
319
225
340
287
261
299
337
381
289
329
389
265
357
337
316
269
362
311
286
263
312
338
275
406
291
331
426
316
371
336
337
350
251
360
313
282
375
307
271
342
300
326
307
259
289
285
337
341
382
364
321
264
433
296
252
279
304
302
334
296
341
289
274
362
347
295
356
269
344
339
362
339
292
274
268
259
381
259
317
184
359
304
389
363
374
271
305
374
277
312
307
387
326
338
228
261
377
363
412
381
338
381
277
262
321
402
252
314
331
368
318
287
334
318
403
282
252
328
352
339
332
287
328
368
361
239
336
425
254
353
343
412
304
344
322
293
222
302
324
269
277
255
274
291
325
313
373
280
319
312
277
273
421
284
381
331
363
315
286
350
339
237
286
327
386
341
220
363
336
355
305
327
387
251
322
324
363
311
358
333
318
213
309
301
265
250
355
338
299
365
385
204
316
313
282
313
301
259
407
316
284
349
242
335
234
287
361
352
290
319
365
258
372
335
368
386
320
426
311
369
280
320
320
289
342
325
374
299
276
309
346
287
378
319
286
283
397
331
382
317
356
322
258
311
242
284
352
317
355
235
261
341
345
256
340
349
367
196
361
298
277
358
307
390
309
343
320
366
384
370
329
388
398
238
292
356
252
357
319
300
279
278
370
402
361
414
286
342
317
328
268
316
313
337
352
332
320
337
354
353
334
313
381
313
302
325
347
308
322
336
290
270
369
411
368
306
371
288
216
317
328
335
312
312
341
374
305
342
311
280
269
336
296
312
292
298
302
348
264
372
306
237
342
363
274
284
293
419
291
416
365
312
353
245
298
399
363
351
389
250
317
275
342
255
334
283
338
385
337
361
379
278
299
320
283
352
273
283
308
319
295
324
325
233
213
288
344
338
301
233
374
339
312
331
276
280
396
354
292
346
314
304
340
277
283
360
385
309
356
308
331
337
311
301
291
354
274
301
326
321
333
308
371
223
349
334
280
259
344
394
287
322
297
283
346
319
323
229
356
385
297
352
344
383
310
365
326
277
261
275
298
335
337
315
376
377
253
340
335
350
374
319
288
286
340
304
360
284
282
279
317
281
301
366
318
322
232
317
332
322
267
378
277
344
356
303
270
327
386
359
286
353
321
331
381
328
196
322
364
281
329
315
301
297
337
320
290
272
366
285
427
325
325
289
344
390
375
334
352
349
328
264
273
339
241
358
314
303
291
308
398
357
271
328
263
311
307
339
347
208
262
286
265
343
311
326
243
309
362
371
280
294
344
294
388
360
366
345
274
286
381
312
258
325
346
361
293
349
275
322
293
335
337
338
226
326
253
247
304
338
332
357
282
320
263
410
305
396
371
394
306
320
282
301
298
273
369
308
255
407
359
303
267
348
194
313
287
310
335
288
295
304
407
322
350
430
342
282
270
295
247
372
346
303
287
312
225
303
342
254
437
346
271
366
276
257
323
340
297
356
291
313
274
371
352
288
415
358
372
307
285
273
335
310
380
392
255
274
404
309
332
347
301
347
298
321
296
371
236
394
251
293
282
387
264
307
310
279
280
293
324
312
337
329
253
312
316
295
266
319
285
329
310
282
325
305
321
324
374
365
318
269
321
342
300
304
321
333
271
347
270
272
255
362
336
350
351
289
361
356
351
288
317
375
222
287
340
276
320
261
304
330
293
357
320
329
210
355
305
283
427
318
337
353
267
289
291
278
335
322
363
311
385
321
350
357
285
421
366
240
328
300
327
377
310
202
310
285
322
321
285
356
326
327
302
238
258
256
317
330
390
279
240
370
328
335
368
320
344
338
298
336
313
344
354
396
378
327
348
394
347
319
396
240
274
237
300
324
362
282
233
309
272
264
332
304
311
401
329
376
290
347
314
315
370
305
291
375
331
244
330
328
354
418
379
394
297
384
318
253
277
291
241
376
352
337
236
293
288
300
299
365
237
266
389
321
272
350
263
346
288
360
294
306
229
265
324
307
392
317
380
325
329
327
259
270
344
370
288
410
309
304
257
302
324
308
232
310
247
337
304
300
412
369
287
300
332
321
264
329
325
373
293
321
302
292
286
287
307
311
289
397
319
243
333
268
337
347
272
329
302
347
371
295
247
325
407
264
303
318
298
312
338
320
354
287
335
390
272
247
283
384
335
332
303
289
317
329
340
379
367
314
317
336
275
325
323
404
301
346
284
269
337
335
362
287
322
304
338
299
270
333
306
282
278
242
306
296
390
275
300
334
305
283
287
343
335
273
327
252
311
283
373
244
300
325
362
323
354
266
382
431
338
310
305
302
329
348
349
321
246
396
319
311
363
353
322
380
272
335
318
308
326
369
257
349
304
301
336
381
292
295
261
329
347
327
322
327
291
337
323
299
280
319
315
410
331
329
325
360
332
317
339
309
308
288
336
312
328
258
372
304
336
336
344
363
345
291
286
304
322
345
343
315
344
374
319
262
330
392
392
269
356
371
341
310
320
362
365
365
369
339
316
217
337
338
343
381
363
274
279
259
321
344
253
269
268
355
307
324
282
307
266
394
273
305
269
283
257
407
321
359
406
303
311
386
331
351
333
347
238
293
334
285
392
386
310
310
331
317
357
325
313
323
375
346
263
383
350
283
301
351
252
256
319
313
294
327
263
352
313
330
406
343
321
346
304
340
238
275
300
281
391
323
325
306
366
303
339
247
327
323
315
290
285
273
282
352
360
356
339
379
264
299
221
258
324
273
305
292
311
337
343
329
295
280
342
293
293
306
324
333
285
332
354
218
373
346
345
300
318
364
353
288
288
354
351
275
432
343
378
318
253
323
368
268
332
363
286
318
353
257
248
337
337
353
286
380
318
295
265
418
251
241
325
318
357
260
324
354
290
290
361
212
253
344
255
307
286
276
315
320
294
290
345
381
359
312
311
308
318
353
328
329
398
326
302
212
243
273
325
349
292
346
340
264
370
234
290
322
263
267
337
291
339
276
389
328
312
325
288
320
320
260
281
340
300
262
373
296
278
245
312
355
254
328
323
377
350
242
321
368
376
316
231
256
346
338
342
267
283
321
344
320
283
306
267
268
307
337
358
378
367
346
353
385
346
375
397
267
323
326
299
349
282
255
220
293
345
272
377
313
340
343
265
321
324
311
334
335
350
284
400
205
282
254
326
357
291
385
319
315
349
355
277
324
387
341
334
297
321
232
284
314
347
323
336
215
375
348
319
375
302
370
290
370
291
305
233
377
332
306
333
187
334
352
317
362
302
306
258
348
255
287
260
273
360
253
298
276
323
310
298
271
322
340
304
306
275
312
298
233
303
421
307
329
278
354
244
367
379
325
296
291
312
316
360
329
334
380
351
389
274
295
297
320
295
274
316
263
334
362
350
291
299
296
305
308
345
337
294
329
331
202
331
335
252
409
275
285
317
327
348
344
344
322
265
350
277
342
236
307
277
297
268
357
304
331
366
359
373
310
274
239
289
230
289
366
271
267
294
239
244
309
313
316
289
306
313
277
297
318
278
345
232
371
235
247
359
288
299
323
330
260
269
350
319
319
343
272
370
338
369
347
287
283
319
382
321
342
227
415
282
267
366
344
320
325
329
277
344
291
278
300
385
334
240
313
268
354
311
328
324
274
312
210
244
340
261
261
308
294
353
277
310
272
308
342
340
325
354
321
236
346
292
449
281
357
339
356
358
402
282
338
320
359
310
315
268
238
264
206
346
321
298
254
425
210
246
262
282
276
267
285
306
348
362
404
271
245
312
303
317
282
221
377
351
358
333
356
422
304
320
393
285
361
408
354
316
319
404
305
271
313
286
351
306
317
363
350
325
340
371
286
303
353
259
258
364
288
340
333
318
301
292
305
283
194
293
322
324
342
318
344
328
253
412
330
340
290
352
314
346
313
296
317
361
352
251
335
363
321
312
328
321
387
378
270
331
347
293
249
367
287
347
291
301
352
359
310
366
296
324
314
277
284
325
330
328
255
315
364
304
169
276
414
393
279
330
281
391
366
314
347
342
313
355
338
347
341
327
300
356
381
259
344
363
319
261
320
394
256
273
329
318
371
318
388
304
284
357
339
261
330
300
231
296
280
306
346
405
326
300
269
370
323
346
247
334
237
296
302
329
310
294
323
299
320
244
340
376
348
302
269
223
221
341
296
349
339
288
344
263
291
403
330
303
330
302
342
277
295
323
309
324
260
363
313
333
353
229
293
394
320
310
283
339
308
320
387
305
287
279
330
352
327
305
313
281
269
328
366
290
257
312
342
332
265
268
286
253
305
347
352
343
302
244
272
253
266
264
355
276
247
297
344
333
268
323
333
379
282
314
293
313
410
346
285
233
297
296
341
252
253
344
326
324
350
284
363
298
305
302
313
311
322
267
268
367
318
285
352
304
229
324
285
319
297
294
272
308
308
338
341
296
358
292
429
276
241
344
387
300
267
401
285
378
314
343
297
336
254
313
318
371
304
293
323
345
249
334
310
291
295
343
283
327
387
283
345
358
366
290
271
314
342
390
373
285
289
242
290
290
330
350
399
311
317
262
241
292
316
297
295
264
309
329
322
317
248
327
386
339
281
307
322
295
295
314
333
280
339
286
283
383
289
332
354
399
332
285
307
329
316
258
324
301
291
332
340
291
384
376
314
302
277
371
224
291
275
287
330
323
294
368
287
336
287
284
255
315
344
265
269
295
204
393
339
312
338
331
336
293
312
296
312
330
286
313
384
430
286
310
302
295
321
318
203
199
247
368
295
294
330
336
290
342
312
251
312
247
355
370
276
342
404
389
304
338
318
278
343
265
253
292
330
344
349
376
356
300
327
281
349
297
377
281
252
328
321
224
278
311
272
364
309
388
287
319
331
310
301
310
283
272
280
282
307
290
231
325
352
343
297
316
351
302
278
263
308
318
396
273
324
320
302
374
320
260
277
356
278
335
306
367
308
420
326
304
297
250
375
359
322
276
280
370
296
351
357
389
299
260
319
264
391
371
357
251
265
325
248
306
294
359
359
335
298
271
379
247
352
262
356
293
330
304
285
330
293
357
312
364
219
323
311
323
344
334
302
313
327
357
385
315
296
265
334
369
244
312
276
272
252
347
335
305
265
374
259
205
363
349
277
368
318
291
231
301
341
343
358
347
299
265
314
357
278
349
348
281
292
348
294
383
321
379
254
332
412
311
303
346
364
249
361
308
309
293
324
301
293
289
398
289
320
367
236
286
295
321
350
362
332
279
382
284
365
290
260
197
314
266
242
355
294
343
345
374
332
306
348
376
340
304
304
286
290
377
362
346
372
281
372
311
232
331
342
361
372
285
309
353
274
265
320
346
233
328
286
313
320
306
386
354
332
346
292
313
243
302
348
342
245
350
313
254
256
340
258
309
293
388
312
275
313
252
279
343
287
315
316
300
333
306
321
359
342
274
366
257
331
255
278
288
287
258
367
319
364
316
279
443
354
348
319
354
278
319
372
346
309
285
309
286
255
353
324
307
266
343
324
309
327
309
293
187
310
241
345
295
290
319
348
370
335
279
338
324
296
328
372
306
280
303
292
281
301
320
258
339
277
357
271
268
400
334
320
308
362
327
312
295
273
193
344
377
320
318
249
392
345
341
368
325
316
333
273
457
310
359
362
321
253
370
402
297
437
285
333
358
358
398
254
345
307
387
313
355
374
300
304
274
292
260
300
358
349
278
364
313
294
244
333
338
346
342
410
313
272
336
377
321
299
373
248
297
352
356
221
301
322
386
224
336
343
289
247
287
309
336
277
343
345
374
335
272
343
361
303
268
342
380
296
273
352
283
329
435
369
261
364
231
287
308
343
293
311
278
224
246
274
333
271
369
395
302
302
378
356
303
265
305
256
262
322
320
300
275
364
283
265
310
360
270
339
392
349
338
263
318
335
319
368
260
221
320
307
323
319
243
280
289
320
379
332
412
362
390
260
273
306
256
365
266
297
304
282
296
330
325
352
297
326
365
334
374
280
313
375
266
317
342
195
300
355
347
312
317
281
323
383
345
347
285
318
286
356
316
377
341
372
371
367
267
370
336
319
266
291
336
313
305
287
265
298
321
260
328
390
307
358
329
321
308
384
333
331
330
282
295
289
361
305
358
326
345
287
356
347
304
325
392
207
325
373
241
341
380
308
330
337
303
366
304
364
316
325
354
306
273
237
313
321
274
288
302
320
302
322
346
334
329
311
431
363
245
275
290
320
356
305
351
268
345
253
248
223
308
267
336
326
371
376
291
343
326
349
300
375
265
282
347
271
307
296
281
335
335
306
277
366
266
404
366
270
266
290
372
297
313
346
255
253
302
271
266
317
275
311
284
349
347
396
264
393
421
291
280
270
380
352
321
335
337
285
262
271
288
278
342
318
384
328
278
313
362
318
362
344
312
372
340
351
351
277
290
228
286
315
352
285
310
299
325
301
245
349
318
315
317
307
219
404
305
281
458
319
256
227
321
232
389
275
274
322
333
394
258
314
300
319
354
336
389
358
336
317
282
373
304
337
213
355
350
358
383
246
335
351
326
311
344
257
293
265
255
314
248
344
345
398
362
375
319
308
310
233
367
332
218
272
324
238
279
331
309
355
345
212
292
320
321
330
339
380
255
348
325
313
280
329
271
333
329
234
344
373
315
257
272
263
306
276
314
274
277
324
320
297
312
301
315
354
463
329
300
275
339
344
284
351
299
365
271
386
351
334
189
291
328
292
331
294
381
353
259
226
264
384
266
319
402
289
232
376
256
249
308
316
340
252
322
315
344
340
411
350
341
238
387
372
290
326
345
266
405
264
297
329
315
318
305
304
378
353
270
281
374
312
417
294
362
353
333
262
306
235
375
295
322
368
374
407
315
247
260
273
300
313
306
291
310
331
309
393
379
260
357
296
380
222
240
364
385
292
316
391
336
285
292
289
275
298
381
338
346
328
354
400
344
232
337
289
362
323
289
355
310
315
266
336
358
345
291
380
359
348
363
269
348
307
357
294
350
272
275
374
301
385
307
307
307
261
302
300
375
329
284
314
301
358
379
335
348
304
320
309
228
267
378
365
293
296
261
321
362
306
338
299
387
307
344
277
282
330
282
312
299
302
339
279
372
341
255
362
319
341
305
275
309
270
298
235
306
267
269
317
303
305
244
344
372
262
274
445
309
345
259
349
295
315
327
384
353
292
381
366
270
302
310
289
384
337
313
300
296
367
209
276
275
290
319
262
330
296
317
261
303
289
277
329
352
318
359
194
301
290
248
352
278
334
262
276
424
302
286
278
343
329
307
369
357
357
270
290
344
271
310
233
258
315
250
306
349
292
313
291
289
338
256
307
342
228
281
400
321
283
390
348
236
258
313
333
343
224
293
263
425
261
361
366
336
300
258
318
229
414
328
290
330
324
277
281
318
316
284
242
313
273
353
369
292
377
290
331
301
340
361
259
341
296
357
311
373
377
399
320
385
250
303
451
332
308
294
253
216
354
287
283
316
302
294
419
308
198
350
301
306
347
259
277
311
367
297
291
290
285
294
335
338
342
313
346
263
425
371
293
352
246
438
360
364
332
386
338
353
311
369
303
313
340
280
386
367
259
286
366
227
367
285
403
356
331
381
303
368
313
285
255
308
290
255
291
326
268
352
286
305
267
273
341
296
229
254
329
329
297
216
319
357
328
351
281
263
311
244
421
402
357
361
306
297
211
264
367
324
346
374
407
242
337
378
290
284
331
316
302
339
290
339
291
345
314
321
378
328
309
326
276
372
328
275
272
256
308
308
406
375
349
314
275
287
334
347
332
307
280
357
247
360
267
290
302
360
334
333
265
360
368
295
327
283
342
349
369
333
340
307
302
277
313
360
279
238
338
403
304
278
276
323
374
347
295
324
268
347
338
290
352
403
324
344
291
361
321
329
313
342
374
313
350
339
316
379
372
344
323
342
304
336
356
306
324
313
301
276
391
273
386
233
311
341
307
297
342
330
291
322
320
334
310
318
355
311
317
324
289
275
303
403
228
389
208
396
278
259
384
276
367
230
302
267
318
389
276
348
362
291
234
390
354
291
315
305
338
243
303
313
383
252
373
250
383
289
358
366
330
327
303
359
313
311
349
351
287
355
379
254
361
325
310
403
363
244
347
406
366
326
352
280
247
269
330
292
359
286
384
336
323
360
338
236
354
277
218
253
370
313
292
297
368
373
298
354
392
282
412
292
368
267
356
311
256
340
365
282
343
286
361
256
300
352
295
329
357
279
368
298
268
266
232
315
352
328
309
268
341
256
258
318
280
389
369
219
281
295
316
364
324
343
305
317
320
334
327
325
348
342
395
292
361
362
301
270
274
240
284
291
309
273
337
277
354
312
308
418
317
335
291
336
308
318
333
271
351
338
414
267
297
302
333
416
215
393
302
294
388
361
306
389
347
319
289
295
247
280
350
306
233
284
237
324
257
312
376
271
326
216
335
309
307
315
327
359
345
306
364
309
324
319
391
377
324
348
258
361
305
342
268
337
306
295
323
325
278
356
385
265
274
328
313
316
327
416
343
301
280
387
149
360
349
205
393
319
337
344
270
258
404
268
347
339
339
326
227
354
383
361
364
307
351
340
314
314
356
246
366
410
318
377
310
346
381
343
393
289
353
246
313
298
330
318
320
322
313
358
249
307
289
316
313
371
319
278
312
275
266
320
301
322
301
262
332
339
268
293
392
402
262
334
309
337
277
257
354
248
307
334
325
250
358
370
341
413
306
312
306
305
264
324
318
311
288
273
330
385
368
304
343
324
344
314
279
353
390
363
340
333
330
409
324
302
326
345
324
303
344
326
403
282
338
311
352
289
282
346
395
396
299
235
340
325
351
288
181
282
378
391
335
315
246
325
350
240
379
279
380
329
301
277
377
299
252
338
284
330
356
316
317
340
263
348
335
358
274
307
284
330
244
356
273
346
357
266
324
293
313
376
396
302
376
252
268
306
306
389
382
350
310
253
326
273
357
317
335
274
322
341
319
379
272
367
254
271
239
388
289
386
367
349
407
303
322
293
265
269
252
349
374
322
351
333
312
339
265
294
342
324
270
338
333
320
343
323
354
257
349
259
331
266
272
333
359
248
322
344
329
368
273
313
204
282
281
302
358
368
328
389
345
290
269
338
295
354
339
270
379
355
285
298
244
310
333
246
285
313
317
349
347
357
296
333
306
270
400
285
284
356
227
314
330
331
316
346
252
307
217
342
278
298
289
275
287
317
266
398
319
276
318
294
298
308
316
360
343
351
342
351
339
375
401
279
257
363
363
338
296
380
265
379
371
248
384
266
254
250
237
269
288
270
357
310
321
390
397
294
391
347
342
286
284
306
381
343
338
302
329
377
350
317
283
257
332
320
291
238
353
281
325
329
304
385
326
375
368
294
281
357
301
336
289
299
320
324
296
279
269
298
277
309
263
218
345
254
267
374
258
324
249
337
356
361
366
344
361
374
288
334
345
333
304
237
356
334
287
328
293
274
308
366
311
221
275
318
406
406
301
317
264
252
293
340
388
363
372
342
327
306
377
254
259
270
292
337
337
251
259
359
344
287
284
292
289
244
282
290
301
215
276
325
409
297
345
248
373
280
315
341
321
301
368
299
400
387
350
321
379
411
321
274
266
294
360
388
319
315
384
308
383
305
323
438
284
371
261
342
352
312
209
338
313
299
289
328
395
290
371
269
346
367
250
271
280
391
315
397
299
206
284
337
299
319
299
360
276
320
317
261
332
333
319
289
326
315
323
353
355
193
378
338
289
287
323
371
350
327
381
290
359
413
433
294
269
310
331
302
325
334
282
310
314
319
264
354
255
300
288
279
359
386
369
338
333
336
245
348
358
323
272
299
306
294
308
271
305
295
343
329
233
302
307
336
363
339
300
272
239
322
265
261
217
306
385
337
368
327
302
338
331
302
283
376
386
230
338
268
267
303
362
262
300
328
309
273
301
308
332
336
265
369
379
354
284
293
224
364
334
309
350
239
355
322
304
324
327
241
380
241
296
270
324
290
335
261
430
327
298
316
341
331
248
282
365
323
358
295
277
326
358
281
269
389
450
306
271
379
289
252
295
256
315
306
267
356
238
344
336
268
281
157
303
300
390
367
277
330
359
288
372
287
302
260
350
274
312
389
404
359
286
315
320
283
412
256
300
344
331
339
300
350
284
347
240
340
374
365
419
352
283
358
300
295
348
330
293
328
339
380
322
246
309
352
315
299
363
235
330
349
356
337
212
274
303
331
385
407
319
292
359
327
369
316
250
377
253
295
317
285
260
356
245
335
289
292
329
283
292
328
300
268
358
300
354
317
369
314
351
277
234
265
321
289
345
202
241
361
318
327
270
268
360
336
337
317
409
348
277
401
308
331
423
339
275
328
311
299
302
341
250
326
352
374
334
343
398
257
311
330
341
335
341
231
324
256
266
394
326
248
335
343
344
329
341
340
338
384
389
318
268
299
369
247
377
319
320
362
277
383
386
360
277
337
379
233
328
331
234
329
395
345
333
356
355
281
335
312
322
259
255
273
301
275
339
186
318
300
437
296
342
330
340
359
266
322
336
336
311
312
336
195
279
407
383
391
240
310
300
281
362
336
384
310
336
297
337
326
280
349
306
346
342
278
290
334
307
299
434
260
315
286
319
306
337
280
340
245
278
286
339
305
294
274
374
357
290
308
353
246
349
287
374
327
326
348
279
373
251
335
318
301
398
344
239
303
287
268
256
305
270
236
288
314
306
265
317
308
380
303
347
294
374
334
236
316
312
334
293
262
301
277
383
255
347
376
303
316
382
381
333
280
291
375
307
290
348
298
330
334
310
335
359
236
258
352
292
282
346
389
353
391
283
338
363
390
318
321
387
365
317
292
313
247
306
313
293
317
294
281
330
295
302
304
263
293
403
270
368
369
321
392
286
310
237
296
349
294
288
325
344
323
244
266
274
335
311
396
267
305
379
406
342
410
275
318
296
331
395
265
245
291
258
343
401
319
320
361
371
283
332
313
342
299
356
268
263
349
331
349
378
364
295
295
451
316
325
241
312
300
352
330
263
318
259
316
321
288
383
306
323
386
325
291
358
230
307
338
320
279
296
367
329
282
333
313
313
286
274
298
288
291
265
313
324
353
338
345
285
273
228
316
336
350
281
259
300
360
374
367
316
244
273
320
268
363
383
333
288
347
335
290
362
290
354
295
331
368
318
343
277
287
292
323
308
286
380
299
303
393
284
328
264
345
248
377
288
300
185
263
401
372
347
323
326
345
361
275
321
376
359
361
275
284
367
242
306
346
321
352
360
333
327
284
325
284
332
278
282
301
347
299
316
366
355
232
259
387
327
327
298
359
234
306
309
287
227
238
351
330
319
283
303
302
232
380
329
296
339
357
311
376
451
246
325
287
332
239
267
262
369
293
230
337
307
309
339
350
310
295
293
268
268
301
336
329
345
336
318
371
382
317
298
372
310
298
386
422
360
374
298
302
331
334
284
297
312
309
270
377
255
335
423
376
274
228
268
295
277
322
284
320
380
270
300
310
289
283
382
344
324
292
295
323
340
279
286
391
383
331
268
263
395
344
272
271
283
330
354
251
335
324
326
317
321
368
316
332
295
291
251
339
312
336
279
352
388
318
279
344
318
282
358
298
377
316
309
382
289
282
344
358
326
398
342
336
345
272
329
337
347
352
280
312
323
220
325
335
258
357
288
314
331
329
356
278
339
432
357
259
372
309
360
356
310
291
296
327
330
337
273
288
286
326
350
335
340
382
395
292
287
257
262
269
275
385
325
370
258
288
355
298
253
361
344
331
255
308
317
268
268
334
329
361
348
282
426
413
323
322
255
358
365
254
299
298
290
256
275
259
307
355
332
319
230
316
286
321
329
305
236
358
305
385
340
358
244
320
372
339
348
357
293
305
252
372
270
359
377
324
312
263
387
278
350
343
289
370
306
315
278
280
374
258
283
285
360
386
253
314
300
244
363
400
361
344
298
252
312
263
332
300
332
330
348
295
366
323
376
326
388
294
413
275
376
353
304
337
286
305
288
314
327
356
229
292
280
417
332
266
333
226
356
289
319
324
321
316
312
385
275
296
298
277
324
361
349
310
329
315
378
341
366
342
360
310
311
306
380
330
293
385
285
379
305
303
279
300
330
353
351
364
292
419
312
294
294
386
277
340
283
270
331
317
339
310
301
300
291
320
333
355
297
258
252
367
295
342
316
319
325
350
282
365
345
280
238
368
339
336
282
285
331
377
378
344
350
294
342
358
346
275
345
334
303
296
316
358
319
335
310
329
227
355
364
354
292
258
336
256
265
202
356
224
218
308
328
300
270
288
319
379
311
230
271
273
368
326
304
325
285
325
361
264
245
270
302
236
307
375
343
305
301
326
308
349
354
303
361
344
342
357
349
407
293
380
397
290
306
285
358
367
335
322
365
315
306
338
395
256
297
251
376
390
300
352
413
345
288
419
369
327
364
279
318
304
160
325
347
303
354
340
343
327
335
329
351
310
328
296
267
262
333
389
303
225
307
299
243
361
318
314
288
302
277
299
324
331
297
297
333
361
303
258
270
291
307
270
262
362
329
415
270
278
337
228
279
307
344
282
267
309
376
253
341
387
229
274
370
242
344
376
263
325
355
228
283
369
250
361
323
280
319
290
285
352
317
354
345
289
389
351
286
262
285
353
351
273
326
311
427
364
310
300
317
250
334
368
330
279
315
346
359
310
345
317
328
283
390
332
275
282
335
324
308
350
263
355
345
342
301
264
350
347
256
313
352
310
315
284
378
298
278
279
331
277
341
384
230
274
265
240
270
282
244
337
268
286
305
245
359
281
368
312
356
295
373
341
285
336
400
310
277
327
358
364
309
372
406
305
334
257
265
261
311
314
334
305
294
346
325
264
281
277
335
292
383
446
289
306
359
293
295
261
255
291
270
347
318
326
383
231
389
274
325
396
294
383
256
311
360
254
378
317
291
238
355
306
315
282
411
319
311
288
227
272
334
284
365
331
336
317
299
349
283
363
318
205
286
308
362
346
339
311
309
279
323
363
308
392
333
294
372
365
360
272
345
332
313
347
366
307
323
204
286
280
344
310
344
317
238
270
311
353
332
316
328
320
303
324
324
296
356
302
371
347
333
333
332
301
286
263
302
346
353
297
364
242
270
355
304
356
375
294
362
382
326
352
247
346
289
270
300
259
270
272
271
386
323
341
302
312
322
308
273
318
284
287
318
300
312
373
292
323
278
320
343
344
313
306
313
341
300
357
233
323
371
339
309
342
369
327
307
331
287
278
296
333
382
276
360
333
301
245
327
331
317
308
335
316
313
276
276
329
325
339
217
261
350
300
440
305
287
353
335
264
303
351
369
270
352
302
255
312
268
288
313
274
243
337
332
356
389
409
367
312
391
360
282
320
247
318
357
264
349
348
304
258
255
265
317
307
214
279
388
326
324
325
310
300
328
334
336
312
228
302
354
296
332
404
366
332
230
291
296
388
342
341
322
246
265
291
311
337
339
306
327
296
342
328
360
283
323
272
319
263
359
346
264
300
321
319
315
402
303
258
327
350
245
284
240
379
370
251
330
302
381
268
372
380
327
262
323
329
239
308
275
305
290
362
336
196
227
311
331
387
264
277
318
337
282
289
211
301
248
218
353
305
315
336
322
297
417
318
298
335
320
295
294
418
256
287
229
347
335
350
304
307
276
304
294
350
318
314
373
352
345
256
268
356
286
243
321
325
328
329
324
309
290
284
318
316
305
373
292
349
306
289
332
292
279
232
380
269
346
276
356
296
331
282
285
325
312
308
350
267
316
339
354
277
266
377
241
327
285
296
329
279
311
307
370
338
361
415
331
253
383
265
360
336
270
363
302
315
309
245
324
369
311
351
385
322
226
315
299
279
332
281
245
253
303
315
326
303
299
351
202
291
408
271
451
302
302
323
378
336
293
310
351
335
254
306
271
344
352
302
345
329
259
342
345
375
291
324
316
282
247
281
359
270
310
340
294
254
309
280
250
305
347
327
291
378
378
400
334
244
280
333
347
334
318
314
339
307
324
420
430
345
347
396
320
317
270
346
378
403
313
300
316
310
332
265
354
315
359
272
288
335
341
370
331
308
315
309
322
241
287
262
304
246
347
345
319
305
311
298
313
348
301
328
251
321
310
292
421
349
299
330
364
251
308
288
275
260
315
384
341
409
334
387
311
305
313
371
264
327
328
325
290
303
305
308
282
286
350
181
298
335
390
328
307
384
379
309
342
305
355
287
297
280
263
376
326
375
327
330
355
297
336
331
339
291
353
284
316
372
371
323
289
323
311
315
352
260
310
329
324
324
333
300
333
357
380
302
352
427
345
300
230
283
347
326
336
311
239
220
378
269
269
371
336
312
326
325
270
332
341
347
305
343
276
317
318
284
341
309
429
302
316
387
323
365
344
302
320
335
376
304
309
401
287
367
360
339
298
322
355
409
242
324
303
301
292
297
328
378
219
397
241
308
319
298
311
299
335
367
254
241
299
384
341
298
310
287
318
276
335
343
321
280
357
377
333
320
288
278
307
310
299
284
247
362
332
360
342
374
314
267
288
338
348
335
304
296
284
394
317
321
299
310
222
330
240
343
338
209
397
337
363
355
348
363
372
388
291
270
296
374
363
239
290
271
319
270
232
315
303
277
282
299
295
273
345
355
368
309
256
261
233
295
375
263
371
355
268
291
325
365
325
293
383
311
325
318
278
324
312
408
307
305
375
334
341
268
232
350
328
248
337
363
311
306
299
418
307
292
264
299
275
343
228
320
304
343
372
390
332
323
311
276
366
345
301
365
338
314
339
344
268
262
345
330
312
330
187
326
315
276
327
346
316
290
295
291
205
301
330
280
289
277
291
293
383
301
202
265
328
329
340
313
315
366
334
399
338
316
234
342
300
270
318
339
299
335
232
311
372
342
365
313
339
323
385
324
287
277
305
339
277
284
417
315
339
252
300
331
369
315
308
359
243
311
295
365
257
315
339
325
293
383
344
306
328
366
257
332
320
195
316
343
282
349
405
198
282
321
320
257
282
240
315
325
323
333
317
342
280
344
379
185
341
358
260
333
349
334
294
330
286
271
404
343
365
301
326
363
320
345
359
328
332
372
301
269
287
282
353
358
372
335
252
191
339
242
311
336
290
324
381
299
334
360
375
349
295
311
291
331
293
287
307
320
287
339
327
266
243
223
287
375
338
302
242
335
317
268
313
289
301
309
344
332
243
296
356
446
374
300
392
351
348
298
354
262
371
338
251
338
282
221
291
318
324
344
327
334
392
343
215
270
219
270
255
328
351
272
301
280
297
376
336
287
234
361
343
276
367
269
348
294
381
312
343
303
308
374
301
318
407
273
376
336
309
266
366
246
335
305
335
303
347
273
333
334
333
340
284
240
339
273
328
279
295
277
344
268
307
391
340
307
357
380
350
319
311
361
299
262
325
289
330
360
339
249
220
415
329
256
310
246
318
334
365
361
341
403
303
314
309
250
319
341
270
360
186
342
378
381
279
341
275
203
321
301
265
292
357
307
326
242
288
278
283
309
275
326
379
283
342
291
352
348
320
285
332
300
263
288
389
301
377
301
318
385
291
304
283
402
363
275
274
286
223
387
317
268
302
299
293
295
330
392
342
328
328
325
353
339
366
262
308
313
345
310
279
304
294
327
306
298
298
382
323
346
328
295
292
388
251
329
301
389
229
417
342
214
335
300
294
382
246
346
210
267
354
290
232
279
261
277
316
235
294
301
320
423
348
254
288
259
409
243
307
373
322
307
294
331
330
333
331
287
364
288
339
299
321
241
351
304
216
300
290
441
217
315
276
319
353
256
357
348
268
367
403
330
294
305
320
326
324
278
302
401
313
226
286
306
296
283
291
317
303
302
350
345
364
320
364
263
373
382
329
214
453
214
302
327
376
327
258
398
254
292
291
399
266
277
279
307
332
346
279
249
311
297
321
380
280
352
284
261
337
414
269
293
283
267
353
330
316
284
419
310
308
335
236
331
330
286
400
343
372
368
321
364
342
276
377
327
320
314
277
364
330
384
350
399
395
333
296
312
298
328
344
301
352
277
312
386
306
260
319
292
340
301
314
293
218
297
278
277
241
346
331
315
321
407
310
203
325
303
318
351
400
333
352
311
297
307
283
356
325
285
283
340
335
383
336
341
282
362
345
343
307
348
292
349
318
194
268
269
388
307
330
306
397
315
315
314
335
317
373
289
361
376
258
373
304
332
328
196
319
400
310
302
270
284
345
347
340
328
360
279
285
387
378
259
374
362
354
313
210
343
270
293
296
202
266
347
286
261
381
353
253
331
328
368
337
383
388
339
358
312
316
285
342
364
300
283
304
328
267
321
314
333
370
402
280
300
355
280
312
374
268
396
388
292
194
298
306
330
355
295
293
344
368
344
316
343
393
373
338
316
315
304
372
313
226
342
364
346
345
303
277
284
239
293
320
290
335
307
346
287
239
230
328
273
275
342
325
360
265
234
324
340
317
363
375
319
272
305
342
345
319
315
296
262
258
393
229
326
228
319
310
323
351
300
282
355
267
307
376
296
308
278
314
356
373
272
349
307
317
355
330
343
320
338
329
429
264
346
324
352
314
267
306
244
353
395
332
385
218
171
306
339
318
393
377
324
316
230
306
321
371
304
296
318
347
288
345
355
294
285
245
273
324
356
256
282
367
323
310
426
306
351
413
294
361
348
285
385
272
355
371
333
263
229
341
344
443
267
263
330
412
393
331
315
299
401
280
382
371
260
332
326
329
351
248
304
399
306
373
372
413
269
259
279
295
317
314
269
359
272
310
284
416
280
315
313
347
330
278
355
374
294
367
282
269
331
295
249
414
327
284
306
357
295
412
359
282
357
352
348
341
345
389
359
257
274
342
371
263
339
281
327
253
331
371
274
291
241
314
393
247
293
241
236
376
294
294
273
376
369
299
359
273
368
310
326
285
336
309
336
332
363
382
280
370
347
271
328
345
367
341
286
325
285
333
306
361
344
267
299
319
228
370
326
294
335
321
363
285
263
351
365
375
371
328
307
219
330
334
384
327
178
321
352
325
367
240
361
358
388
262
316
288
244
287
337
334
229
359
386
371
235
288
273
255
393
307
353
386
313
333
248
323
305
277
324
269
349
348
263
350
317
296
258
296
295
276
373
234
304
299
371
274
331
304
359
268
296
355
294
346
377
379
339
283
314
385
351
341
271
347
315
306
316
363
304
299
308
356
335
277
347
336
265
318
332
322
355
252
375
355
327
380
298
343
353
290
321
310
347
300
357
336
356
276
336
313
357
323
371
302
307
256
299
373
389
303
302
297
238
294
335
285
260
273
341
299
296
324
325
280
376
311
300
297
279
322
325
332
270
298
393
349
291
236
346
282
303
266
361
319
276
312
337
344
293
315
287
340
311
425
399
339
388
347
248
313
328
351
242
243
347
260
361
293
313
272
290
300
341
369
323
323
217
249
411
271
267
352
343
352
382
331
266
284
262
259
330
377
330
209
313
307
262
305
369
283
362
369
287
262
349
293
269
335
396
232
321
364
306
348
325
309
261
311
412
399
413
314
267
302
351
263
279
368
284
309
360
264
364
279
245
317
374
368
282
267
344
364
351
313
304
300
265
288
329
386
304
341
393
288
321
211
365
323
375
382
298
271
305
282
342
269
377
316
332
356
277
338
250
284
363
334
333
372
340
295
407
322
352
229
298
354
365
291
335
313
346
239
364
335
365
287
268
359
324
309
306
313
308
243
282
332
375
282
308
321
278
367
313
362
373
362
336
351
295
325
319
367
347
351
346
309
300
327
345
325
326
278
371
319
364
250
368
343
288
299
382
362
255
235
337
243
265
337
284
311
317
370
287
357
281
369
224
323
282
296
309
359
278
314
325
290
370
372
192
297
260
270
324
304
328
250
282
344
372
401
390
347
350
265
395
365
352
344
328
271
293
395
230
279
210
335
288
315
361
233
404
251
340
255
291
305
244
339
353
310
260
372
322
261
341
328
356
319
371
202
285
288
330
327
269
284
301
334
326
256
320
310
373
352
388
305
300
323
262
289
277
326
290
253
361
312
333
303
281
350
323
378
244
324
289
248
305
304
265
320
301
266
270
353
271
374
363
216
342
254
367
306
336
435
308
326
287
322
346
254
344
223
306
386
367
191
312
330
300
336
306
253
233
356
361
291
207
343
367
346
345
369
318
291
408
275
376
322
267
263
387
313
262
297
229
223
326
326
316
327
362
288
312
334
289
291
345
352
366
319
325
267
263
399
278
304
294
306
337
385
352
340
377
309
324
308
391
332
258
346
347
247
341
278
434
307
322
372
330
357
325
239
274
342
365
298
339
326
323
243
309
351
344
408
334
227
307
353
267
318
304
286
238
248
267
346
387
323
306
403
329
392
378
265
358
281
294
320
294
283
313
284
260
285
265
349
287
382
341
210
225
321
294
362
272
334
412
366
307
343
268
331
343
332
310
243
261
322
293
354
278
324
334
273
261
241
347
294
303
318
373
313
337
253
329
356
406
279
333
316
300
312
272
253
311
309
385
342
345
310
257
332
270
264
348
317
307
288
361
337
331
312
226
344
261
257
364
273
312
402
320
340
373
320
364
288
349
294
357
313
366
237
232
301
265
429
345
242
285
298
370
249
312
344
291
306
316
327
263
313
404
297
331
286
356
329
331
367
352
354
295
303
305
362
301
216
349
242
237
325
356
310
297
311
289
322
276
367
230
235
319
267
269
346
274
287
327
321
378
366
340
287
277
288
319
339
395
400
260
394
346
354
434
364
261
308
317
292
338
343
338
292
298
323
256
307
354
360
343
203
307
132
313
335
217
373
350
272
275
324
339
391
269
260
358
356
390
359
391
370
281
330
289
316
406
335
339
340
340
246
401
317
357
332
321
349
270
243
273
349
369
313
284
327
319
350
365
338
330
303
338
305
354
228
321
355
311
388
356
333
356
345
276
292
337
318
295
314
315
327
387
344
321
321
360
328
261
279
244
274
326
307
251
343
270
348
272
274
283
333
261
363
318
272
336
337
266
322
348
333
250
260
292
240
278
330
363
321
332
273
318
258
335
224
297
316
280
297
369
386
340
401
251
365
269
407
300
331
296
315
343
255
395
437
289
319
343
333
325
241
284
356
295
264
349
360
324
365
316
366
272
287
370
345
303
259
310
333
324
328
290
306
245
248
340
295
313
322
285
335
270
330
297
297
273
393
313
306
336
296
265
251
304
239
299
410
292
381
318
329
265
354
354
279
358
363
311
344
329
356
345
236
323
302
322
168
321
346
362
347
301
277
369
267
356
353
340
288
350
253
389
315
314
353
348
410
315
306
290
376
345
284
278
338
273
226
341
289
313
346
297
285
286
219
339
296
303
381
308
372
357
362
339
305
294
305
305
345
322
298
173
371
292
287
316
311
379
348
329
261
252
303
312
305
321
247
351
279
321
317
290
343
315
304
275
333
304
247
271
318
266
279
269
296
278
366
300
317
374
318
370
322
324
381
329
272
358
346
364
312
346
372
261
334
301
353
292
421
368
331
258
332
362
281
356
253
321
295
360
360
338
325
252
305
328
378
253
310
223
323
310
377
330
306
383
373
332
309
255
250
339
318
337
335
239
333
307
290
219
368
308
311
297
316
341
368
307
398
349
354
387
309
257
292
218
378
288
334
388
297
309
317
270
314
285
338
340
342
348
352
290
337
386
270
343
262
349
265
339
244
398
346
297
351
282
345
318
297
340
318
367
426
315
318
361
333
354
416
229
381
237
255
296
210
377
300
327
337
342
265
416
364
344
332
376
189
343
378
326
384
368
326
279
294
375
341
399
343
449
346
325
325
247
365
392
321
364
322
327
302
392
375
353
345
345
307
368
330
402
355
265
310
270
346
313
398
446
355
333
320
317
256
401
334
285
356
256
304
261
367
298
368
284
300
358
289
291
236
316
341
261
352
292
343
263
308
311
180
327
284
346
280
273
357
332
321
285
364
330
290
321
308
278
356
261
348
297
339
265
434
278
307
361
266
269
376
370
345
391
333
224
326
274
241
314
360
323
274
362
280
308
318
283
399
379
335
260
341
289
370
342
311
344
217
369
319
294
267
253
362
350
314
362
303
347
301
279
301
294
303
285
299
263
370
355
308
296
325
274
390
300
352
373
315
288
306
272
343
282
341
337
238
366
291
266
317
302
328
238
312
274
291
300
311
347
284
398
288
271
259
391
252
309
338
214
246
326
300
287
273
365
366
298
315
408
308
325
378
259
320
291
275
308
352
328
371
352
283
371
302
324
376
303
238
321
371
349
302
316
416
322
370
305
273
338
266
269
329
276
297
358
297
286
269
384
287
295
267
305
328
300
280
338
343
266
326
319
374
231
370
408
292
336
360
291
281
321
288
306
371
331
277
372
329
308
345
322
297
232
357
247
335
315
301
326
294
364
315
362
323
247
347
343
349
267
312
226
353
261
373
346
259
294
394
356
291
248
234
364
368
364
330
313
262
292
300
333
340
220
304
228
380
354
273
402
360
319
319
318
265
297
322
270
359
307
289
272
253
340
336
295
331
395
379
316
317
394
240
293
351
346
228
340
306
293
327
276
361
293
334
282
330
323
317
297
328
243
311
383
345
312
403
352
362
290
273
305
325
272
332
304
334
333
313
369
306
388
318
303
283
194
255
300
331
303
317
292
333
320
279
388
368
354
292
266
324
278
352
341
326
339
363
313
381
382
339
315
351
307
376
264
288
383
354
352
389
384
398
262
311
312
301
272
354
374
339
263
272
351
314
307
363
296
313
299
331
297
315
319
282
260
297
176
266
316
226
273
318
277
313
370
258
342
265
210
335
339
307
325
278
286
288
321
382
290
351
341
310
312
324
408
363
337
288
288
287
338
323
370
430
335
280
278
340
332
301
225
324
356
308
220
308
336
324
287
283
320
323
403
313
382
283
340
357
348
332
281
298
344
325
486
282
339
304
334
322
280
310
316
297
344
289
242
297
331
372
250
363
273
329
332
230
306
286
248
336
304
241
399
314
266
369
309
297
305
300
391
319
369
276
332
256
349
309
351
370
446
348
325
314
387
300
321
340
341
299
397
360
199
319
389
262
348
266
278
407
278
227
348
271
362
244
354
343
348
251
276
294
281
288
231
258
294
320
298
228
379
287
373
274
307
356
243
379
322
366
357
271
248
279
313
317
308
389
308
276
338
276
292
351
400
376
305
381
274
344
275
306
257
298
299
322
351
343
283
277
303
267
339
318
230
240
306
283
381
255
366
310
315
317
234
332
285
269
335
318
253
332
249
328
328
247
380
328
284
241
283
348
355
405
263
399
383
354
292
434
361
295
346
306
300
281
341
326
395
306
234
355
331
310
263
310
274
390
297
275
328
354
303
256
345
345
345
316
287
280
320
291
255
266
321
326
258
280
315
310
317
345
300
345
316
350
261
362
306
300
275
292
330
378
333
339
346
347
346
286
343
272
254
351
331
413
334
325
272
343
288
274
348
252
308
268
293
327
284
217
340
389
361
364
378
316
332
363
276
355
343
374
317
359
332
280
324
367
292
359
272
382
310
269
266
350
284
380
288
317
282
363
341
305
325
311
335
270
323
333
274
379
189
332
228
255
302
237
304
298
366
409
348
353
298
311
285
238
305
309
261
320
269
355
274
333
314
396
276
306
323
363
363
282
304
281
293
328
241
305
316
286
350
330
283
286
352
319
323
395
285
386
270
369
241
348
382
339
295
298
298
358
355
317
275
344
342
280
418
285
294
347
314
345
288
353
348
309
309
247
226
259
288
270
374
356
318
259
301
287
385
327
296
374
271
233
335
247
411
289
254
356
212
248
383
347
380
425
331
271
384
276
265
362
281
276
281
324
332
276
290
328
347
270
331
289
362
359
297
252
292
395
332
359
312
300
359
300
331
297
254
321
347
340
329
306
333
265
284
226
245
331
237
294
339
337
252
352
324
304
318
315
341
362
307
381
268
373
319
350
321
317
258
385
389
330
315
273
317
264
348
294
391
399
378
311
393
356
358
229
283
230
318
309
278
327
349
345
339
317
378
304
333
222
348
311
367
218
329
377
360
358
293
328
332
408
334
252
318
281
313
294
334
391
218
408
380
319
434
317
365
293
316
248
375
306
244
311
301
370
285
296
304
266
340
301
295
280
369
338
381
305
267
295
391
347
362
320
292
275
405
249
348
292
340
411
313
283
364
342
330
331
341
331
311
304
324
301
278
402
373
322
389
352
346
372
265
339
424
285
335
278
264
304
301
292
315
316
311
355
328
283
392
294
372
386
358
321
277
327
222
319
328
320
361
336
296
294
283
259
273
292
282
389
329
387
372
338
292
344
325
279
276
263
341
294
338
358
308
310
259
320
379
298
363
328
341
266
357
247
320
370
291
311
334
245
307
341
316
327
375
236
328
310
246
318
379
321
380
295
328
384
267
332
370
290
308
274
340
328
336
306
305
314
318
331
319
288
339
276
372
311
323
328
334
350
309
335
304
293
385
356
348
296
332
291
314
306
372
350
331
364
296
355
314
361
333
366
299
383
268
243
296
314
314
344
339
311
389
298
314
238
345
351
303
303
361
267
348
353
362
278
339
321
333
275
257
282
290
379
346
300
212
285
282
334
288
262
306
379
315
253
291
277
309
332
233
321
277
337
357
296
294
325
339
299
257
328
259
341
316
297
307
307
364
222
390
337
287
326
301
235
324
305
373
302
243
291
281
380
331
322
339
380
342
324
345
281
273
309
344
362
301
345
299
372
268
228
296
327
283
380
384
307
399
299
317
239
300
219
320
201
272
303
299
347
293
329
340
319
296
298
314
273
317
321
281
277
322
325
264
303
383
270
348
341
297
382
394
309
316
270
387
284
303
323
370
322
320
347
327
378
359
308
269
321
353
244
361
308
325
253
382
386
386
294
369
367
296
284
207
356
368
224
364
313
282
335
329
310
417
254
233
366
341
389
304
402
326
360
322
278
295
324
289
258
305
361
324
230
291
326
370
330
288
370
309
262
440
304
326
237
360
358
231
321
352
274
360
342
351
294
323
306
335
268
310
326
299
362
317
341
267
252
347
273
291
345
397
362
407
302
326
294
268
369
350
369
294
285
344
282
260
393
291
330
267
278
379
369
286
402
362
280
334
336
323
246
372
270
384
225
407
251
277
406
291
319
279
309
277
309
363
352
298
289
328
371
320
284
352
335
287
313
384
326
363
363
300
366
279
300
336
232
371
324
304
318
323
280
394
352
366
309
339
432
313
289
343
260
387
314
316
393
227
373
344
375
241
324
325
252
334
353
372
310
418
259
271
239
396
334
365
299
300
311
265
253
321
341
319
374
336
310
286
384
333
364
324
281
380
342
319
384
291
363
310
370
226
301
258
312
331
280
330
252
312
327
272
341
324
356
318
362
345
298
348
432
242
390
286
350
323
398
302
319
359
318
303
235
297
286
317
334
318
361
332
263
284
313
261
257
290
263
310
439
348
397
318
274
244
319
343
190
315
339
326
299
246
367
363
309
365
310
258
255
340
298
330
279
316
286
372
298
285
342
284
330
295
330
230
365
368
342
304
323
300
302
294
337
312
334
279
231
347
229
248
289
353
370
355
332
342
330
315
349
316
277
313
279
403
379
271
270
243
273
301
371
353
299
375
292
341
346
331
342
407
315
290
269
381
307
281
376
264
339
216
279
362
256
315
352
394
387
318
319
344
298
292
301
405
414
313
326
281
369
380
288
324
370
287
321
353
279
302
415
268
392
270
332
270
309
280
288
300
334
327
352
322
323
356
360
370
292
356
354
288
282
356
324
287
267
341
274
353
298
365
220
320
273
230
365
325
293
357
398
335
340
331
251
247
367
276
384
305
231
241
295
326
284
253
371
284
354
369
302
268
285
262
325
250
359
364
350
325
385
281
349
384
329
300
307
388
254
304
384
267
297
308
303
202
254
299
379
343
314
250
241
329
260
224
388
375
290
290
223
340
258
346
350
255
413
297
336
333
363
338
254
321
257
338
265
298
368
329
420
316
356
327
277
282
250
322
282
304
358
288
302
285
360
318
286
316
266
318
311
317
249
347
303
278
303
312
338
294
302
274
311
279
291
298
301
252
308
322
288
243
341
329
331
333
295
311
302
343
333
296
239
356
243
347
336
325
439
284
386
312
271
355
368
291
266
244
270
319
329
305
293
278
189
313
359
357
368
339
279
222
279
285
358
293
380
279
165
254
361
281
299
350
229
404
288
293
371
287
236
384
323
357
353
317
342
308
334
341
365
318
366
280
319
355
348
335
227
337
393
360
336
275
261
262
337
260
363
376
255
358
290
399
392
385
328
348
341
355
243
380
244
289
368
265
250
277
303
210
360
294
357
354
371
305
298
295
313
279
261
301
385
305
349
344
371
313
350
329
317
321
288
384
277
330
368
301
274
356
311
337
317
316
331
293
329
324
322
333
317
298
293
268
323
308
249
356
299
361
372
271
338
406
350
326
248
286
307
334
376
292
289
329
297
336
353
314
328
328
385
318
351
276
303
319
299
381
285
309
316
270
360
246
317
337
213
368
236
375
331
310
302
347
294
314
387
313
313
336
314
356
259
272
367
297
334
341
323
291
257
323
245
306
418
278
342
294
324
276
346
326
298
338
368
296
312
429
298
296
415
322
345
326
275
264
283
347
341
312
348
313
308
367
358
386
255
325
336
300
287
306
269
342
326
316
375
394
340
374
392
350
392
319
268
338
315
363
384
241
306
373
393
370
305
276
323
221
344
376
284
336
320
267
240
311
317
345
373
251
324
368
372
349
396
308
295
350
328
337
321
294
377
282
318
295
318
332
320
350
406
279
373
354
251
340
271
344
379
336
314
392
301
382
282
274
336
355
285
211
241
273
324
295
319
339
224
332
333
365
306
427
348
295
279
294
447
300
286
268
336
269
310
340
285
370
397
311
326
288
383
318
335
302
255
281
337
330
275
292
284
339
305
329
311
222
264
311
349
332
294
282
368
342
370
361
283
395
302
300
322
339
312
366
395
332
296
347
239
272
322
387
271
333
312
363
391
291
331
381
343
322
274
302
365
342
370
348
343
310
366
299
324
298
304
358
315
348
275
262
432
287
373
294
330
258
308
358
373
370
260
357
334
267
370
288
324
334
179
326
271
423
356
308
256
332
239
322
309
309
329
335
293
264
256
370
304
293
316
284
340
263
284
319
356
310
261
356
336
304
351
298
277
222
362
338
287
394
322
339
309
247
292
341
247
383
349
274
331
321
293
383
335
263
382
235
373
407
215
281
288
320
369
286
213
315
316
318
306
320
259
284
238
298
315
382
341
391
216
350
346
306
263
396
331
276
311
401
386
269
267
339
338
319
308
347
333
318
308
319
346
326
291
332
300
276
328
273
319
401
246
248
355
278
252
305
365
301
292
242
337
354
355
303
347
385
237
353
338
290
289
324
285
284
320
337
352
429
322
362
341
330
246
324
323
288
356
276
271
321
327
313
269
297
258
338
253
254
272
329
308
235
349
305
326
308
308
230
282
276
259
342
350
320
347
321
329
286
239
310
271
338
251
380
296
293
414
390
264
319
320
336
285
313
271
362
287
357
299
316
358
345
345
317
319
299
297
275
253
331
314
338
378
358
368
271
205
346
311
351
285
228
315
312
289
297
314
340
383
272
363
323
217
244
209
328
256
311
298
329
289
337
325
314
280
379
357
334
322
344
339
298
414
342
334
279
269
372
366
260
301
318
406
299
353
315
259
273
258
285
388
246
269
280
195
302
399
307
306
301
384
347
286
363
371
305
324
311
260
390
290
280
297
345
330
318
352
365
308
347
339
321
367
298
386
361
311
326
314
377
326
376
309
270
319
284
324
353
415
401
373
430
363
294
347
357
383
344
347
300
356
240
306
369
303
268
388
339
269
261
320
289
383
354
301
321
284
385
343
411
358
331
307
378
287
343
285
315
374
341
288
295
371
365
312
296
334
424
336
334
339
343
341
350
281
314
325
329
367
271
277
316
287
263
318
316
318
273
278
279
318
405
353
264
308
345
341
341
279
292
399
262
272
386
177
336
421
285
323
393
388
314
283
326
265
384
317
358
229
368
308
359
303
287
332
248
379
295
262
413
283
404
302
343
286
366
347
320
373
350
351
352
340
337
283
270
263
394
307
353
312
371
349
321
329
300
319
391
306
331
291
289
333
315
299
298
315
391
352
299
365
264
365
288
265
354
305
333
386
328
331
288
302
358
320
312
240
373
349
289
257
368
340
395
243
285
275
290
267
324
364
346
307
312
371
274
335
297
285
331
365
311
333
370
355
283
304
336
353
274
399
290
342
321
277
351
329
335
324
360
312
411
317
280
298
313
207
272
329
267
357
302
325
294
324
365
354
313
239
213
358
357
252
280
379
299
302
329
377
308
264
286
320
294
410
276
300
260
361
336
338
296
282
358
357
274
297
382
348
299
269
277
256
376
223
272
321
289
393
260
364
382
314
389
265
393
350
308
346
350
364
343
362
214
296
272
324
412
257
358
239
273
297
286
269
299
333
273
376
270
312
361
221
289
309
327
350
279
272
373
303
304
337
282
326
344
340
342
351
289
345
220
296
302
176
241
349
293
219
400
271
344
362
378
282
383
286
330
337
277
345
338
330
326
292
351
376
310
302
296
268
281
294
366
341
348
315
305
244
265
302
332
266
310
302
335
346
381
299
361
287
335
289
391
352
332
333
310
322
332
235
315
352
285
256
352
305
366
361
386
278
269
360
237
309
323
302
308
289
327
310
351
253
298
249
402
448
214
318
230
298
294
340
345
263
237
344
276
335
265
331
340
272
331
325
309
336
308
285
365
256
265
335
293
267
314
362
381
320
346
363
351
347
282
276
313
348
331
307
243
300
237
311
310
272
360
306
285
285
312
307
312
299
310
308
340
297
339
333
412
368
221
371
253
342
247
317
354
305
282
260
316
351
326
362
320
319
322
408
295
333
287
309
224
287
261
385
300
359
377
323
368
352
215
289
322
295
260
333
407
291
422
302
348
240
186
403
307
324
340
377
372
347
373
315
340
235
318
357
185
243
303
369
277
300
251
285
317
251
292
368
297
346
255
283
214
271
273
306
337
301
359
291
323
273
216
303
263
353
308
310
359
309
323
292
299
303
318
343
325
297
375
349
351
330
343
313
314
295
317
253
333
353
313
375
234
315
331
312
264
366
254
287
289
343
272
358
273
274
256
360
319
259
341
276
286
333
293
303
368
266
279
386
354
349
267
302
254
317
236
259
357
277
255
402
344
400
303
338
288
321
246
262
346
332
303
288
314
321
243
388
309
325
264
338
214
250
344
302
333
331
282
352
381
304
311
296
318
318
350
280
345
279
327
248
295
284
334
300
323
246
362
349
275
275
329
337
279
256
321
238
301
348
346
289
342
363
239
348
326
407
283
288
287
420
297
262
269
321
268
288
409
355
253
340
335
321
363
270
269
340
285
386
329
325
399
251
343
251
269
407
283
326
229
295
306
333
263
261
317
332
277
337
330
280
315
280
390
397
346
245
339
324
282
313
276
275
260
272
352
232
371
312
286
291
280
309
296
295
286
197
317
306
253
285
317
286
340
256
329
347
303
280
295
334
412
396
277
377
357
307
341
294
298
318
177
305
319
272
283
295
357
255
281
311
365
241
338
405
253
195
295
294
279
367
353
252
373
346
293
338
296
277
269
340
341
348
336
292
317
320
341
357
292
301
362
383
341
357
289
359
364
306
250
340
353
325
396
349
317
322
339
395
320
338
337
354
350
274
332
323
364
329
389
389
361
333
318
356
311
252
329
343
342
320
332
355
386
371
354
358
331
301
335
381
347
278
261
281
296
374
299
326
313
305
331
347
368
355
287
284
369
348
360
340
358
339
272
329
315
325
303
265
301
354
442
299
311
300
327
292
374
362
266
309
293
249
302
291
308
239
289
265
338
289
355
346
330
330
353
248
291
351
310
291
268
398
314
292
370
292
262
308
378
276
302
335
390
274
257
301
310
334
292
365
334
335
242
306
358
398
207
311
309
355
359
363
267
264
327
310
321
291
329
418
323
315
324
310
335
282
368
336
296
344
272
295
300
234
283
321
303
351
303
346
352
328
258
308
234
309
316
299
308
288
355
259
353
282
328
334
302
381
338
283
233
370
325
397
252
341
386
315
343
340
268
326
364
323
241
287
316
321
349
254
339
327
316
299
359
358
313
310
346
318
355
228
397
290
330
280
363
341
311
286
330
332
263
306
286
347
290
293
292
335
330
342
333
306
331
349
312
305
361
342
301
261
330
272
268
361
281
279
350
328
365
318
372
282
260
307
326
372
344
314
304
323
292
279
341
280
318
299
412
362
367
279
313
330
243
289
318
279
380
366
371
249
393
348
342
349
323
344
296
310
259
386
391
361
280
344
246
401
339
266
276
322
336
432
327
299
380
332
382
292
262
393
340
239
322
345
328
249
337
356
323
241
391
298
257
324
356
390
338
292
264
310
296
419
405
295
335
348
336
312
350
262
329
307
323
277
315
369
230
368
265
368
382
386
340
328
289
297
326
317
282
265
285
239
358
381
346
294
283
260
267
260
280
329
293
285
367
323
336
295
346
368
290
388
299
280
327
227
323
317
295
369
354
335
331
333
288
315
266
353
285
416
340
383
313
337
268
351
309
386
400
256
339
327
239
292
267
397
270
321
272
291
329
359
296
214
340
340
330
372
324
193
340
337
338
304
255
341
344
306
348
343
362
375
322
346
311
336
279
366
330
332
312
257
298
331
412
255
287
427
302
308
309
381
327
398
369
344
345
367
292
293
394
346
327
322
381
347
313
321
383
280
228
347
303
385
376
355
316
301
211
307
361
375
294
288
298
319
336
244
270
292
330
280
362
323
322
355
307
310
359
386
292
280
346
328
274
337
393
299
332
363
279
309
295
250
350
350
337
307
261
334
316
312
385
293
292
321
382
378
266
306
349
363
299
318
331
234
335
266
300
314
305
281
325
314
341
285
378
353
292
307
308
298
325
309
301
361
304
286
303
273
358
394
399
257
280
263
319
298
326
363
245
310
406
377
230
373
345
282
296
272
374
264
388
400
290
268
355
380
317
309
317
325
321
320
408
316
374
388
360
275
271
294
297
343
305
326
338
367
344
450
305
367
278
308
237
318
267
362
281
324
407
339
371
328
296
331
297
288
315
348
349
318
334
329
362
302
281
337
345
323
336
368
227
344
209
315
285
389
287
277
334
382
219
348
256
234
313
287
267
263
330
390
273
320
287
389
286
377
347
343
329
320
348
296
223
392
290
350
313
320
369
281
349
335
375
335
299
296
322
228
306
236
373
416
262
389
323
259
292
355
336
350
343
343
398
316
225
385
327
261
332
207
223
288
179
275
355
183
350
316
390
244
370
344
269
280
345
325
322
322
229
327
234
296
299
286
338
374
366
254
338
288
286
325
310
290
354
269
365
245
308
387
330
303
303
377
302
279
329
322
352
364
374
308
328
293
351
356
343
354
288
328
354
358
433
280
260
315
272
202
340
389
349
344
307
275
328
338
302
390
354
415
281
349
295
335
290
288
275
292
192
287
353
307
321
311
374
360
313
334
282
288
365
360
280
268
327
370
322
359
386
287
307
335
279
319
347
313
279
313
259
281
322
324
205
391
257
366
321
242
395
287
337
341
260
346
417
264
311
325
380
338
375
280
291
278
263
304
193
392
367
336
327
335
263
322
298
370
351
387
337
347
321
283
358
288
333
381
340
331
270
371
380
341
361
296
344
334
359
338
365
275
299
340
233
339
381
366
312
357
364
236
335
373
282
369
415
317
337
356
319
287
377
259
356
356
347
344
311
287
223
283
356
336
286
279
320
297
308
269
337
352
298
327
320
274
378
349
339
270
291
360
339
384
297
318
269
394
239
345
318
326
236
398
348
245
357
291
306
343
209
276
209
318
358
295
334
289
314
293
310
394
327
306
322
307
380
343
336
390
345
381
272
243
329
288
308
316
330
260
224
291
355
289
288
347
272
360
332
365
328
341
249
387
413
272
358
285
349
339
325
286
272
270
335
286
328
336
231
276
262
326
344
309
300
351
399
333
234
338
326
229
337
343
371
301
290
350
219
318
326
343
277
310
286
309
303
344
296
318
243
263
319
226
230
261
220
309
292
323
435
379
399
372
343
315
347
354
330
322
365
456
306
384
299
306
319
327
293
347
372
307
353
266
336
308
328
333
391
365
314
339
278
285
336
367
302
338
262
344
356
278
318
320
363
270
420
309
235
291
286
313
338
354
360
374
311
310
350
303
392
333
272
299
285
321
382
308
360
280
328
312
289
376
285
341
332
341
333
342
371
327
271
291
224
316
330
349
345
295
301
364
349
371
338
312
265
264
358
345
388
225
316
315
374
269
304
355
260
366
315
182
370
319
321
303
381
312
330
264
373
374
297
368
264
362
323
371
300
325
313
254
335
381
304
354
310
305
315
320
332
271
330
353
239
316
313
364
376
357
281
262
307
252
322
342
244
333
287
376
368
401
292
336
354
357
359
281
318
386
307
367
338
378
382
312
327
270
357
343
277
363
307
350
356
387
210
330
270
343
305
271
311
356
418
347
279
338
342
337
331
281
368
310
346
292
314
326
254
315
356
314
365
295
363
348
321
298
343
319
405
324
283
299
312
315
332
268
398
392
219
335
293
318
345
302
281
242
289
380
308
369
277
323
319
351
292
319
354
284
295
356
329
379
266
309
288
346
330
301
278
317
381
330
323
283
308
339
357
310
283
324
296
356
335
237
379
315
336
379
354
318
264
299
286
318
285
278
295
405
307
449
319
359
256
307
262
411
344
316
359
318
272
270
266
328
375
326
393
364
295
350
302
326
409
359
368
294
306
273
244
254
355
312
341
319
209
292
200
260
410
288
333
361
335
390
282
306
354
305
330
322
370
258
331
303
257
246
405
382
271
341
356
336
357
349
324
249
278
236
260
322
307
317
304
287
348
293
309
368
305
248
320
377
301
370
313
309
289
295
279
294
317
241
308
298
295
328
431
342
275
319
366
341
337
322
266
304
322
249
347
314
361
303
304
330
310
315
295
316
388
361
310
318
277
282
324
360
262
366
256
259
352
322
278
218
357
364
332
313
243
357
345
355
259
317
347
241
353
348
385
303
276
359
309
342
306
409
347
303
309
345
321
267
319
318
315
292
245
309
319
373
347
251
397
271
304
322
321
272
299
311
297
202
322
401
303
303
354
275
281
294
310
279
315
324
354
213
223
282
281
320
354
291
346
321
260
296
249
294
354
259
252
285
270
276
335
317
263
240
365
327
366
323
347
314
267
238
276
353
258
365
335
404
272
290
288
240
322
320
304
327
289
287
347
305
309
373
392
300
337
379
371
357
323
292
350
298
337
289
297
267
367
346
344
349
332
285
333
276
214
314
377
298
299
298
332
296
339
255
350
262
306
334
278
308
334
377
253
287
374
422
204
375
343
342
352
355
297
415
372
277
343
285
342
390
286
315
235
256
364
368
389
328
413
347
288
310
281
229
294
269
300
301
289
287
235
302
303
355
352
284
400
249
328
333
291
355
274
351
300
356
285
279
291
270
275
284
339
288
346
334
319
253
271
331
387
290
268
361
256
333
290
343
292
310
318
271
357
325
281
313
292
361
370
279
258
344
354
287
358
237
327
361
268
352
328
338
229
336
257
302
321
408
266
399
243
323
412
357
274
318
376
397
325
379
343
347
336
314
390
336
278
274
289
324
328
373
316
317
369
290
367
382
328
345
333
287
329
285
278
371
317
341
332
356
361
317
332
316
339
262
335
314
357
283
361
366
270
247
294
330
301
349
302
276
295
387
332
278
310
366
344
296
381
339
251
295
357
297
295
332
297
303
258
242
340
318
327
277
354
393
249
255
328
296
298
345
331
246
255
307
318
236
262
302
371
358
282
331
357
246
307
337
301
367
301
333
254
373
343
273
313
303
350
349
334
325
292
304
237
320
302
215
310
237
390
344
357
334
332
204
324
320
303
313
320
340
395
270
263
290
323
341
409
268
323
267
225
374
322
346
411
341
328
301
235
291
310
330
283
220
261
315
287
321
374
348
227
335
316
253
356
222
278
232
325
367
319
333
303
375
371
285
343
286
341
331
386
269
282
337
274
325
314
283
321
279
323
366
347
305
256
249
331
332
339
245
322
277
292
279
280
298
255
278
243
265
346
356
347
274
350
379
318
267
219
250
300
339
250
288
371
314
320
275
272
321
278
306
387
314
318
247
295
343
336
363
310
355
347
395
298
327
325
342
296
342
357
257
351
327
343
332
332
337
326
357
243
287
317
326
341
321
341
330
289
256
316
367
376
384
292
332
322
308
305
384
371
313
299
256
209
318
256
355
319
216
324
304
328
258
386
302
314
334
321
334
341
290
288
317
375
302
295
361
267
389
372
315
395
419
316
288
279
312
312
386
319
263
313
345
357
350
371
321
275
250
304
312
312
342
306
295
279
267
184
400
374
322
335
294
335
238
334
318
282
342
372
277
345
293
370
376
305
335
382
292
261
238
304
394
339
299
315
280
365
314
312
331
275
321
234
292
316
285
303
348
406
265
278
363
360
263
341
276
245
361
300
260
319
367
289
257
354
321
286
306
400
233
348
352
393
299
278
371
285
287
413
289
265
305
309
343
412
299
312
255
314
342
388
264
359
319
275
275
373
330
342
300
352
256
313
266
379
360
280
353
372
326
331
298
384
267
189
311
310
209
360
363
364
260
337
251
265
300
258
221
363
355
178
306
398
289
233
318
295
288
269
375
358
266
360
305
317
318
344
248
242
323
307
335
386
306
289
278
349
404
327
325
234
334
200
364
283
276
347
350
357
323
310
340
306
325
419
318
293
311
290
291
290
349
353
334
357
366
319
293
346
330
211
344
299
370
264
428
274
273
300
329
283
292
299
363
314
301
261
300
364
301
371
294
352
391
367
304
342
259
328
343
383
321
299
289
323
316
297
394
299
271
341
283
345
347
297
283
327
328
312
317
332
376
405
393
296
291
331
299
299
313
266
312
375
311
249
357
294
248
293
281
252
326
361
339
286
330
220
366
381
368
332
265
257
282
330
253
387
358
338
339
370
363
313
330
373
340
339
297
381
320
277
441
303
323
298
297
344
298
350
333
359
337
339
315
310
267
315
409
289
388
325
275
262
349
369
360
262
362
290
330
397
226
352
308
379
213
291
423
288
363
352
334
271
393
379
288
303
431
381
310
291
329
340
317
360
334
327
346
272
324
254
289
266
362
352
299
273
339
367
295
381
350
374
314
277
369
215
292
353
299
247
354
254
261
338
290
329
344
306
280
287
305
279
272
336
320
294
338
266
320
277
339
206
269
338
336
302
359
322
326
311
384
257
263
343
334
330
358
269
365
302
282
311
293
396
350
216
263
250
392
329
321
265
374
267
348
333
381
378
360
359
305
310
296
342
280
380
362
335
299
327
309
336
286
360
295
306
302
268
350
354
330
360
332
281
306
305
279
245
275
430
287
308
323
269
324
304
273
316
340
382
327
320
251
376
328
241
243
371
293
214
390
240
226
336
351
289
372
301
360
288
307
337
311
314
293
306
350
326
338
348
311
272
408
359
329
374
260
301
282
349
304
293
305
250
291
322
271
343
306
312
321
233
290
350
298
304
297
386
336
375
225
347
343
228
365
250
281
375
321
341
333
337
412
313
287
276
315
303
335
414
314
268
318
361
293
268
292
263
313
352
367
341
344
341
254
337
357
301
353
318
219
270
342
310
297
307
306
208
311
354
329
341
325
370
314
221
203
274
279
327
249
330
335
265
371
292
347
276
352
256
345
332
275
320
316
173
342
282
356
293
313
216
408
291
341
275
331
307
325
346
336
329
333
295
275
291
376
338
370
255
321
335
288
333
301
348
321
270
354
286
311
231
277
330
325
366
354
452
303
301
310
310
346
382
259
304
279
309
258
303
257
277
348
273
367
270
304
363
378
228
279
372
289
332
191
294
350
287
273
317
408
289
336
342
375
388
464
371
376
313
314
340
276
184
291
305
344
322
332
307
385
378
294
303
338
232
282
299
394
319
257
333
330
309
380
347
250
320
314
372
338
358
230
320
400
339
262
328
276
297
390
360
351
357
316
319
239
339
312
333
354
336
293
377
339
356
367
264
297
330
282
325
281
309
279
302
248
382
333
277
279
291
313
371
307
354
371
409
265
324
385
294
251
364
377
354
312
437
359
368
339
309
274
262
269
313
277
404
309
299
329
333
408
287
376
341
304
359
363
273
240
301
312
299
249
424
411
364
256
269
346
332
299
323
380
307
324
276
322
352
265
346
278
386
218
315
383
299
338
334
375
324
369
394
357
275
360
336
259
294
343
412
302
286
330
297
279
307
331
323
323
365
308
281
336
269
312
273
240
270
306
371
286
343
366
334
291
290
336
363
260
261
311
367
295
356
353
342
204
332
334
283
324
256
286
278
370
337
297
350
262
293
417
294
238
370
326
328
343
307
319
309
284
331
407
247
309
397
325
293
186
288
324
277
342
314
249
251
321
309
405
295
343
214
324
252
369
346
219
320
349
254
319
369
322
233
397
449
282
251
217
287
346
335
344
288
302
378
309
317
246
338
345
317
308
311
386
275
280
363
357
280
270
361
318
330
333
279
288
349
358
341
286
338
238
346
331
314
346
324
242
314
296
310
308
287
384
302
376
307
285
275
293
417
257
287
282
300
355
341
409
387
355
248
270
300
381
305
457
329
314
244
292
261
384
292
336
359
313
254
404
358
291
285
327
288
351
353
261
391
347
363
388
312
244
250
342
329
340
288
299
281
335
291
364
362
306
379
211
303
313
299
343
392
288
431
318
309
317
340
376
338
339
385
303
246
368
231
294
331
310
341
348
332
348
295
336
291
381
331
345
242
313
243
342
350
327
314
300
320
370
333
335
336
278
278
310
268
349
352
250
363
309
336
315
290
202
352
293
243
306
332
321
315
305
288
356
311
334
357
233
252
296
409
297
324
315
350
260
398
330
281
343
339
305
334
216
282
367
281
346
344
270
284
360
297
265
407
364
320
316
285
355
301
319
307
229
382
284
302
381
293
369
223
296
391
281
235
202
379
302
383
331
253
351
313
320
261
370
295
194
357
385
299
285
283
319
318
294
319
314
370
302
322
284
326
300
355
370
378
292
358
257
300
303
293
359
274
306
304
371
276
286
387
332
328
338
321
304
272
288
328
283
278
258
322
261
232
343
336
311
351
296
316
222
360
300
312
385
356
188
277
362
315
285
355
385
395
313
341
319
346
297
319
322
261
353
365
250
311
381
359
359
321
299
330
270
338
279
353
246
396
404
396
361
328
368
308
323
308
340
389
297
326
297
346
413
365
287
265
294
301
212
285
306
366
269
355
377
279
266
351
303
346
364
299
245
378
360
331
289
311
329
349
288
316
298
295
334
312
251
308
271
302
297
287
260
360
284
350
294
287
371
297
323
358
354
287
250
293
361
338
290
374
367
292
342
345
321
290
341
301
286
247
279
314
310
311
388
365
210
272
258
316
343
245
285
335
293
396
374
379
319
407
278
256
292
312
299
425
361
341
258
378
316
313
347
383
329
341
277
351
279
334
271
299
381
331
318
195
246
328
395
307
322
271
327
295
376
306
356
374
358
275
252
278
300
279
396
303
326
323
369
313
348
352
347
321
250
274
301
397
333
320
282
329
333
322
392
331
301
269
347
377
331
293
274
258
266
356
371
355
350
248
342
289
285
322
325
280
318
229
296
335
278
298
292
282
372
328
301
285
279
364
273
364
340
395
266
359
283
225
310
294
345
327
272
345
386
321
302
409
342
320
308
277
305
354
262
249
277
387
376
278
331
354
370
356
258
318
379
366
376
341
292
356
339
277
320
340
353
278
340
286
323
315
317
322
303
418
339
319
372
250
372
260
330
271
310
256
324
335
364
305
294
363
320
315
304
252
346
374
322
358
272
305
313
320
220
403
339
315
345
319
351
349
291
268
335
309
267
322
327
320
255
266
272
334
355
316
349
245
328
387
387
280
364
355
208
366
252
311
268
364
365
326
308
303
334
299
278
373
345
286
374
255
289
300
261
331
292
321
300
350
354
297
325
353
341
218
362
319
425
356
314
339
357
360
361
323
328
402
335
337
246
363
313
290
269
207
345
389
323
284
388
237
324
315
313
323
232
265
224
358
336
324
344
281
219
293
349
272
351
282
241
257
309
254
281
295
313
259
384
373
299
321
323
354
295
290
338
321
303
298
261
265
303
283
339
333
344
271
344
344
281
274
318
267
380
370
353
308
242
351
266
266
246
290
334
298
325
303
244
265
333
356
342
355
306
287
311
348
333
368
370
338
319
281
248
270
279
402
318
287
327
304
295
374
405
365
322
264
309
344
299
345
291
302
320
287
244
283
342
338
358
265
344
284
346
323
376
368
273
235
301
395
330
268
308
344
347
323
301
350
297
382
334
306
274
259
336
251
345
378
240
318
333
330
394
310
316
337
312
344
270
396
285
295
329
273
273
328
262
382
296
341
283
355
357
299
274
403
380
351
397
273
265
236
286
338
299
285
243
297
365
268
365
275
302
327
412
359
322
312
351
337
352
237
285
329
304
308
323
340
362
375
274
306
306
287
240
319
275
448
314
336
249
333
330
270
332
303
389
325
345
377
312
358
316
284
298
317
310
382
296
316
336
281
341
358
364
377
229
287
304
267
343
274
300
380
224
255
239
382
287
215
232
364
291
449
304
337
312
301
317
264
291
373
324
320
280
323
301
320
320
308
333
343
334
289
299
288
340
335
342
292
325
342
328
283
339
311
241
267
322
290
327
333
251
319
230
341
316
273
308
309
341
287
262
317
263
342
375
300
357
333
276
407
368
288
265
345
333
295
305
292
255
345
263
317
309
324
383
307
339
378
343
257
287
307
332
298
331
389
284
281
363
295
332
281
396
339
295
335
285
299
293
363
308
325
264
289
332
307
284
270
316
261
327
313
320
329
340
311
263
298
273
368
324
265
286
320
364
313
313
340
329
393
342
335
313
338
273
236
376
337
321
350
275
307
246
354
248
282
308
261
266
354
341
331
306
358
295
358
311
358
321
267
295
286
216
327
403
313
308
347
346
314
355
333
335
316
281
360
333
354
313
339
327
250
337
308
226
325
270
336
357
285
307
192
347
356
277
286
269
342
367
265
327
309
310
345
349
332
300
288
321
307
332
334
291
293
308
343
232
297
357
330
311
354
356
306
355
303
295
293
289
295
354
303
352
325
362
375
318
302
299
292
259
314
370
295
331
248
351
359
359
294
384
363
296
273
316
366
379
349
341
315
321
362
377
340
296
374
232
323
257
310
318
395
302
288
317
334
313
330
300
353
368
250
243
391
358
381
325
323
369
318
309
310
272
306
320
319
356
334
238
268
353
349
307
345
381
298
297
352
200
315
284
240
344
284
273
368
328
316
261
384
331
324
289
304
305
353
287
343
378
390
333
306
317
348
268
359
334
261
375
276
320
346
353
308
293
303
340
389
334
258
416
360
314
312
313
332
386
303
310
348
276
264
321
324
394
304
349
310
306
363
305
261
335
288
268
254
328
310
321
318
353
243
355
357
384
372
317
316
340
245
344
294
396
253
339
272
338
393
340
265
338
347
379
296
247
283
334
378
299
359
338
336
229
361
281
260
304
364
362
313
296
257
346
257
262
230
266
260
226
278
272
355
381
266
414
279
317
329
383
281
285
269
317
355
273
328
282
320
287
369
245
351
286
418
327
373
329
306
325
370
305
355
356
308
342
278
344
315
297
390
316
336
309
318
277
324
364
284
300
299
348
241
287
273
366
309
274
247
296
382
288
273
301
252
321
303
245
327
357
367
334
323
326
299
343
262
170
320
329
271
270
330
275
305
273
362
254
286
318
282
364
338
352
331
322
344
271
349
368
281
332
337
309
290
299
353
250
287
305
386
355
371
340
308
281
311
377
294
318
322
288
326
291
317
331
240
373
264
360
308
319
322
334
371
295
267
271
328
327
312
308
284
363
356
384
323
331
321
334
379
293
338
314
349
345
346
287
280
210
350
299
292
244
294
338
410
435
293
392
344
302
280
258
378
291
288
287
312
279
436
323
363
246
305
277
346
379
246
278
273
328
316
363
227
351
293
312
304
298
249
390
261
348
356
254
362
398
308
303
330
320
214
373
321
304
291
300
375
268
361
340
325
258
368
326
373
349
343
337
356
371
309
307
386
414
311
340
313
263
320
247
305
340
310
431
234
293
332
358
287
252
321
333
363
321
355
297
334
313
237
402
341
351
236
359
354
274
311
338
423
299
309
299
421
422
378
355
281
324
310
328
263
289
378
249
262
320
409
242
275
407
315
274
310
265
270
361
323
233
303
264
317
321
281
301
288
269
341
297
256
358
333
316
335
321
253
288
321
325
330
335
364
398
304
324
300
327
283
269
352
304
358
280
350
368
272
395
313
390
235
230
290
342
234
307
312
351
231
238
352
350
272
354
345
247
345
300
321
296
276
329
282
322
296
355
388
302
262
309
331
457
311
274
287
401
397
362
272
337
295
284
300
277
254
290
306
283
332
372
306
324
373
299
333
290
348
366
332
353
321
308
327
413
315
340
354
304
298
314
373
306
255
311
379
284
404
330
372
283
308
326
447
343
339
323
311
227
240
287
288
259
333
346
240
249
327
311
304
333
345
311
232
298
381
307
215
294
269
329
261
313
298
251
236
340
301
278
319
305
414
288
378
278
286
320
396
334
289
308
301
347
332
348
372
359
292
344
244
256
282
250
327
298
323
353
234
348
309
237
330
306
316
342
339
293
213
374
290
236
339
395
343
290
274
287
372
278
324
300
332
302
345
319
264
293
312
267
244
332
261
288
249
335
271
332
323
255
274
258
276
282
288
294
303
319
320
316
375
366
357
384
386
270
294
312
242
358
309
349
289
348
249
362
353
308
363
345
254
305
300
260
317
343
347
333
388
287
302
368
416
321
285
387
282
325
165
303
335
352
336
366
422
389
315
317
376
340
357
318
303
264
290
315
305
358
251
313
360
344
357
373
259
328
278
344
349
345
345
317
297
290
359
360
350
208
334
281
348
315
379
281
294
343
365
259
236
333
302
401
348
347
365
341
409
367
307
285
321
276
287
289
292
296
303
278
370
350
235
415
306
350
312
380
300
283
269
342
318
241
349
222
348
323
340
235
349
345
237
360
333
274
332
353
282
351
411
365
350
352
306
316
321
275
342
322
278
306
289
251
233
293
363
391
351
313
262
349
364
347
352
328
329
303
330
272
282
332
317
323
322
310
377
242
346
245
294
234
249
354
335
405
246
288
393
265
260
367
339
327
395
309
227
337
365
380
292
264
324
364
349
360
301
256
265
336
314
313
263
338
379
316
353
279
239
310
259
324
304
404
383
280
322
359
262
328
275
281
327
314
379
349
400
300
306
326
290
342
335
360
337
360
263
362
328
400
370
313
297
317
363
293
291
266
364
300
293
291
308
302
362
321
337
281
281
293
359
294
337
273
288
256
323
377
270
260
289
279
352
325
341
263
280
226
303
389
213
445
298
339
361
263
340
311
279
254
445
293
291
307
333
334
338
334
316
378
375
323
261
275
301
401
296
272
309
285
367
303
221
348
316
316
358
345
363
247
362
290
394
357
333
333
295
278
324
332
290
278
355
312
327
362
352
366
328
302
321
287
344
352
274
349
318
208
260
431
341
374
354
320
324
281
353
341
265
351
258
357
301
362
302
305
291
307
307
301
277
260
283
238
309
323
275
282
338
285
357
312
343
350
191
262
326
368
295
355
335
311
368
398
355
260
384
318
325
295
312
347
287
317
311
268
315
382
313
293
296
335
272
294
274
359
304
314
310
293
289
200
357
300
282
319
316
304
302
335
308
383
394
288
310
255
269
315
328
270
338
343
348
389
288
344
321
289
308
347
318
393
332
365
395
356
289
318
418
293
260
315
353
375
405
280
354
368
375
307
321
277
274
378
283
356
303
289
243
281
300
326
442
327
366
327
335
248
237
329
288
296
263
313
340
219
399
323
352
238
297
297
348
280
266
285
321
339
292
339
391
290
320
309
354
221
349
295
345
281
310
289
355
300
270
336
340
302
303
226
265
249
307
392
188
323
378
293
369
393
317
284
262
305
211
353
290
381
394
322
321
383
257
274
337
347
324
258
391
308
297
359
216
306
294
302
348
336
360
338
317
341
351
328
239
329
325
368
271
264
268
321
310
307
397
321
309
368
319
274
305
300
305
337
246
388
365
319
309
292
287
393
247
378
202
319
296
324
307
361
273
269
219
336
302
372
281
307
283
232
357
330
312
351
396
383
373
287
325
320
311
331
293
245
321
354
335
341
317
284
295
297
399
279
303
370
302
227
296
382
397
259
291
370
328
340
394
318
373
298
269
324
271
378
311
259
265
285
304
331
368
335
377
382
317
325
361
350
267
364
286
301
294
318
347
337
256
335
353
335
306
314
433
318
340
331
344
311
412
362
246
341
320
340
308
313
353
288
391
339
278
372
299
354
378
285
366
354
305
313
307
351
327
337
316
301
374
379
353
210
312
323
220
327
379
283
427
310
215
277
342
300
339
408
339
277
349
283
267
292
396
336
304
379
261
298
316
268
301
222
335
336
341
352
232
302
273
360
328
323
374
278
307
284
329
280
321
328
260
325
354
290
339
247
321
332
319
226
254
284
324
364
405
322
320
335
265
340
376
377
388
371
306
269
278
398
442
311
390
352
355
354
271
339
353
379
397
385
286
275
282
376
343
347
272
300
302
298
321
329
409
270
326
368
317
379
375
265
448
293
340
353
359
359
341
309
289
356
342
385
383
387
252
315
357
284
265
264
352
371
286
395
281
356
357
332
352
310
307
310
366
376
342
329
300
318
285
310
303
322
276
326
325
388
271
264
370
327
312
279
316
319
288
350
268
280
321
350
307
396
318
305
315
286
281
371
352
268
301
381
287
303
293
370
280
292
289
340
284
377
261
263
347
312
270
355
363
311
341
332
255
269
267
352
311
276
307
305
268
378
288
275
288
324
220
353
333
250
274
311
327
361
278
368
316
285
325
339
353
360
339
329
341
372
346
255
376
333
334
304
230
234
356
251
347
275
327
385
291
343
321
328
262
337
377
293
306
337
261
378
390
332
226
339
344
356
369
266
342
320
290
269
238
235
295
332
326
344
292
397
384
387
304
324
335
335
285
371
357
339
327
348
311
322
253
347
295
296
235
309
297
308
317
304
395
331
281
269
365
328
280
284
417
338
290
296
276
338
281
252
336
284
288
423
420
388
300
269
405
294
332
342
313
325
295
356
303
282
426
352
296
375
325
314
327
322
301
359
406
342
328
261
319
263
291
315
310
346
371
381
420
267
326
347
315
379
251
344
341
257
247
275
356
208
294
305
330
286
329
307
303
302
362
293
348
312
304
298
327
298
299
360
204
394
304
342
348
218
308
333
297
332
272
347
297
366
322
305
325
380
214
353
314
286
270
331
269
317
386
350
338
320
325
282
288
374
393
286
222
269
291
191
241
331
406
281
294
383
346
291
278
265
392
322
241
342
300
275
313
297
371
290
250
349
366
241
322
317
370
362
320
266
267
309
359
321
339
426
361
414
318
272
263
340
325
399
285
372
358
304
292
333
319
311
357
360
314
349
306
301
290
351
347
367
294
328
218
341
375
312
294
352
314
325
310
273
349
293
307
351
342
305
263
315
357
262
342
248
294
347
381
255
362
324
263
295
264
328
313
358
371
246
308
367
256
307
348
333
365
260
441
309
337
251
330
393
340
314
404
323
247
249
344
364
378
351
396
283
365
422
413
350
357
342
289
296
309
386
261
362
317
360
233
304
357
366
320
331
272
302
259
267
292
315
305
399
291
300
318
318
345
377
338
250
329
318
296
269
356
350
304
290
255
312
346
384
367
228
296
298
354
291
307
350
327
328
313
311
306
311
282
351
259
353
296
310
341
380
382
365
378
325
352
259
240
336
233
264
347
308
283
306
312
276
303
401
374
327
247
404
328
288
277
283
248
320
293
289
306
260
315
262
268
279
279
278
287
313
275
277
362
257
369
330
327
369
317
361
295
262
327
317
309
263
290
331
275
275
259
325
339
356
292
335
272
394
301
278
325
348
233
393
291
357
330
232
345
256
334
416
312
342
275
328
350
312
263
406
343
392
346
275
309
390
282
235
345
282
325
252
352
324
248
357
306
364
341
332
287
301
256
311
281
189
311
321
340
292
242
358
330
300
359
314
300
344
315
271
291
377
337
234
334
301
261
345
413
277
332
231
338
308
320
317
337
264
294
278
315
288
279
356
314
268
339
270
225
350
310
265
323
287
337
345
365
297
347
316
304
326
321
260
411
346
377
314
217
353
331
273
338
340
285
323
384
351
286
290
376
338
339
376
318
395
328
215
336
307
369
311
274
283
383
292
385
268
314
348
351
323
284
278
260
389
243
337
387
387
299
344
315
332
324
316
319
308
306
339
346
313
223
350
343
233
251
320
321
389
377
304
213
385
274
310
333
273
347
278
327
306
307
330
358
277
212
256
235
297
374
332
367
388
302
343
329
333
347
329
319
379
243
320
297
396
332
304
257
255
271
342
387
325
395
338
341
387
456
303
323
321
326
338
370
291
344
378
288
346
275
285
344
306
302
250
324
224
410
260
298
290
330
331
342
358
329
322
338
258
331
388
329
313
296
276
371
295
300
345
354
335
319
287
359
317
327
246
295
320
358
300
314
362
282
298
404
264
288
314
321
338
358
381
314
326
365
292
277
334
286
330
368
230
375
381
333
318
328
468
316
303
240
355
372
356
360
376
430
314
239
323
251
344
387
277
372
267
218
325
311
340
360
344
363
329
384
367
311
193
314
264
306
364
352
331
312
376
280
337
395
277
400
331
330
323
373
373
378
362
332
363
237
318
350
387
291
337
294
269
250
347
316
338
284
351
325
350
273
316
203
334
328
284
352
281
303
356
319
368
353
261
392
309
381
318
327
344
231
337
253
335
337
370
341
366
296
386
279
276
276
331
322
323
266
273
311
347
366
282
329
329
330
364
289
334
252
383
300
306
310
314
313
330
299
267
339
247
239
276
394
272
339
364
299
408
366
281
298
399
266
364
282
294
267
350
341
299
296
341
328
363
304
288
269
227
330
346
316
325
366
321
352
291
321
280
397
295
291
285
295
189
285
344
325
368
257
311
254
375
391
286
298
299
300
359
321
341
285
271
344
349
376
344
263
318
301
292
244
384
281
374
277
403
286
373
397
295
315
342
378
324
298
328
282
373
329
309
325
334
358
384
325
342
392
331
343
282
314
371
282
312
348
238
351
290
326
249
319
297
331
346
279
332
290
278
319
347
369
293
339
320
340
310
372
321
323
373
295
352
354
380
330
324
272
298
291
259
277
363
370
403
350
298
307
293
244
232
284
321
338
320
364
305
238
251
268
266
324
328
236
350
413
314
298
340
362
268
266
264
311
350
265
407
339
312
305
348
358
330
269
352
295
315
331
338
242
370
396
397
361
311
299
328
329
292
354
389
274
254
297
252
261
353
322
198
329
327
308
340
376
331
241
332
357
381
301
284
331
256
241
384
362
354
308
279
280
348
258
387
288
282
338
219
286
343
317
272
254
307
277
329
305
282
249
297
330
336
289
349
319
335
326
316
309
363
389
327
370
350
349
333
294
291
382
292
391
321
340
350
423
388
365
380
299
343
254
278
297
343
316
242
299
396
288
271
230
374
284
340
242
287
422
312
282
336
325
341
285
292
321
347
362
301
404
353
298
290
387
287
304
351
320
289
310
341
358
266
378
234
264
309
313
309
252
382
310
334
282
245
313
345
297
307
298
277
305
340
348
335
337
315
290
296
310
333
266
278
331
203
263
336
344
360
387
246
301
278
324
371
308
288
262
235
432
339
184
269
287
271
296
274
280
334
357
415
318
226
266
387
366
330
359
297
282
326
237
405
237
233
267
212
327
223
359
359
322
361
275
293
311
323
367
238
340
342
363
300
371
229
291
242
334
349
329
282
276
377
364
277
349
309
311
395
296
338
297
367
318
307
366
370
329
390
239
333
302
364
297
358
309
321
372
371
356
343
427
325
308
330
312
359
350
237
344
334
279
374
429
339
319
206
319
268
350
310
267
326
349
378
290
374
415
260
297
233
314
386
303
355
351
326
402
231
294
294
325
248
393
190
309
348
320
388
302
270
327
335
356
274
288
325
307
413
270
297
309
331
366
301
276
327
335
277
209
321
338
343
429
255
321
320
287
369
311
326
293
332
265
384
353
396
327
369
342
304
277
299
304
264
350
384
361
257
413
288
403
328
375
407
228
375
379
317
261
388
399
276
395
363
285
260
240
328
330
305
343
297
293
336
295
383
237
298
301
247
366
342
301
373
265
420
329
341
285
300
267
248
258
362
367
313
385
366
330
222
315
217
268
382
430
321
334
357
342
323
302
390
331
310
364
276
266
380
218
356
325
277
281
306
341
290
395
368
401
345
275
365
332
277
285
297
331
197
309
315
362
277
388
321
317
355
309
350
382
294
302
336
356
344
262
304
409
331
347
317
384
319
327
308
350
296
361
329
321
350
382
320
325
304
373
324
252
281
377
367
348
378
301
295
351
333
377
356
275
304
294
331
316
323
366
282
319
330
321
299
360
364
359
256
293
364
296
214
399
335
337
352
321
323
318
350
367
318
396
335
282
177
411
280
314
336
335
231
353
288
308
305
321
134
181
339
247
325
257
317
261
286
281
355
374
346
329
304
433
305
372
334
233
309
406
309
381
288
342
276
333
316
298
286
323
311
358
291
301
309
363
292
333
360
364
288
320
262
312
292
303
265
267
328
312
289
413
269
316
263
357
337
281
297
347
328
280
282
336
304
241
272
325
295
368
330
326
342
365
285
349
255
316
322
317
312
338
330
300
285
255
294
427
218
357
335
380
356
374
253
306
267
229
255
347
319
301
266
292
303
326
301
317
287
348
363
295
212
371
261
308
267
357
427
345
310
325
338
330
279
359
268
342
394
343
365
305
344
374
285
304
333
217
261
328
315
265
214
313
303
227
314
306
284
322
285
410
380
269
326
382
285
262
335
319
284
396
245
325
351
288
334
274
405
238
341
291
314
326
223
343
356
357
339
305
289
362
325
361
323
376
334
268
261
336
332
349
327
327
303
378
309
372
291
397
195
295
305
277
301
349
345
295
282
276
272
399
285
310
359
345
259
384
332
212
390
371
345
389
294
272
307
328
287
262
267
311
248
330
362
392
300
304
273
271
347
313
280
344
317
310
319
319
298
319
302
273
257
375
348
357
355
276
332
354
320
245
372
378
328
294
282
202
346
366
293
338
355
339
331
379
382
347
331
326
316
359
365
317
315
273
290
326
299
343
247
271
339
397
352
363
273
215
373
321
340
311
374
296
321
297
285
254
359
335
313
297
236
317
352
342
346
390
342
298
262
299
381
304
315
232
333
357
325
334
372
301
329
295
371
364
373
332
360
321
300
326
380
421
315
267
384
312
332
316
247
378
355
324
291
315
370
318
333
319
322
361
212
300
345
287
351
324
239
294
286
327
283
345
308
300
333
322
396
285
273
335
213
371
281
290
313
248
388
246
326
252
260
236
269
368
350
339
256
292
336
369
398
343
331
247
249
345
322
275
290
265
310
233
220
352
360
319
234
367
285
334
356
284
336
325
365
320
317
229
390
298
318
368
284
354
266
299
325
358
313
285
222
383
299
240
355
304
292
306
294
276
288
244
326
309
307
377
245
318
271
293
342
343
319
262
261
299
293
277
294
315
376
341
259
333
290
333
254
271
294
363
390
315
401
319
299
254
316
327
357
328
301
338
276
292
363
347
332
382
325
335
421
330
317
334
353
350
349
259
336
272
330
309
354
320
310
193
344
230
275
272
330
334
291
354
231
259
322
354
219
289
269
365
353
329
326
274
288
256
275
284
308
330
335
291
351
313
320
234
329
341
362
322
368
288
347
354
307
331
360
241
340
382
216
306
272
259
257
251
380
316
297
226
306
336
387
369
296
297
315
275
347
307
276
290
295
302
285
259
338
295
293
357
275
302
314
306
307
287
310
312
353
360
381
264
369
275
327
292
316
298
316
367
290
391
369
322
301
286
408
353
374
295
328
377
352
430
269
349
270
274
339
343
331
279
308
336
328
269
318
310
275
369
332
385
286
278
333
355
343
276
309
308
319
289
283
269
236
443
443
274
334
234
299
252
451
373
374
333
311
260
333
338
293
268
278
305
324
384
369
370
386
328
375
323
251
327
351
344
353
268
268
323
282
280
328
282
375
271
406
315
379
361
360
325
374
257
377
258
312
342
274
369
304
293
225
308
350
230
364
369
320
347
268
306
353
379
321
330
331
344
308
339
274
316
351
330
328
219
215
300
159
324
317
297
350
288
286
408
347
354
314
338
330
324
286
356
348
242
327
314
362
223
334
369
259
343
327
304
333
247
298
357
374
404
339
331
257
310
385
256
293
339
283
325
386
276
322
357
355
244
304
355
352
279
312
305
283
256
318
321
279
285
326
344
286
245
395
374
292
281
331
293
353
211
261
301
345
321
337
390
323
376
251
365
315
341
258
315
242
315
318
312
340
318
343
287
241
364
343
335
318
389
339
390
301
319
294
317
323
328
296
275
238
296
256
298
304
320
286
393
314
307
378
343
295
331
329
371
346
335
338
296
285
341
392
364
320
366
277
233
389
343
274
253
326
336
285
315
317
317
301
315
387
226
285
374
316
283
282
320
298
333
302
294
249
281
310
308
354
279
346
296
320
202
273
279
329
315
304
347
323
401
386
357
338
303
436
305
358
306
342
302
346
366
262
357
331
366
394
367
275
298
269
333
314
331
267
240
244
324
271
321
392
283
251
380
336
333
333
317
297
294
370
334
327
278
351
384
291
388
365
343
289
316
285
353
319
250
362
300
271
336
384
296
356
195
251
220
291
281
281
344
295
294
366
293
332
395
309
331
315
285
301
401
274
343
243
261
361
379
312
341
242
278
371
253
345
277
289
320
360
410
297
332
359
200
354
332
376
268
333
344
310
280
324
312
306
245
226
332
378
345
278
280
304
291
375
378
296
375
329
267
347
264
294
380
311
347
387
394
260
348
271
269
291
307
310
288
315
331
413
320
308
383
327
267
261
373
255
252
349
295
346
273
357
342
299
339
329
315
325
341
385
357
375
352
382
276
328
314
392
251
384
309
397
337
245
331
275
331
322
349
298
249
375
318
220
307
276
306
296
369
244
259
263
337
327
301
354
312
346
275
301
364
363
376
361
342
279
234
243
367
299
271
260
305
341
341
282
360
381
305
270
362
250
357
410
305
296
242
319
327
330
299
342
333
294
358
304
273
353
301
296
333
361
314
357
382
279
291
368
325
303
264
270
302
199
360
381
338
339
335
333
406
326
274
355
319
322
335
332
352
322
261
312
308
300
285
329
322
289
326
366
246
322
368
276
321
398
286
324
268
308
319
346
315
220
271
256
328
293
289
308
257
293
264
343
339
276
299
262
344
267
311
278
336
336
398
369
362
300
233
256
362
323
328
267
312
340
309
327
312
262
312
398
341
374
276
293
382
297
379
397
285
308
274
205
271
293
299
292
398
298
350
302
304
373
337
380
289
308
267
268
293
307
363
324
301
330
378
333
309
272
362
363
263
344
373
293
388
332
360
346
280
310
381
392
355
348
380
311
291
330
333
305
352
299
283
312
318
321
258
260
307
360
373
375
376
291
248
315
337
317
333
401
327
245
356
350
347
340
324
319
268
324
333
344
351
311
338
249
264
384
244
344
375
290
303
237
338
284
340
343
372
274
285
382
325
276
339
344
282
366
345
300
233
293
348
341
307
335
302
413
344
389
307
270
348
295
328
335
412
270
326
354
317
280
307
291
311
305
318
337
422
362
378
301
378
272
306
362
330
324
274
330
290
360
323
285
356
346
312
302
363
310
307
370
351
314
410
359
289
302
319
313
297
282
335
210
332
302
286
342
314
312
301
307
340
324
345
188
263
340
281
267
367
328
314
315
302
349
393
282
379
398
261
290
315
339
377
354
225
342
334
335
367
301
290
326
307
248
332
338
358
264
335
307
258
434
321
337
311
314
234
340
243
295
369
310
362
331
351
265
394
326
393
274
315
303
338
370
300
349
320
315
274
254
259
377
324
271
285
315
358
254
272
232
291
360
328
248
367
227
361
418
312
285
292
224
316
390
327
315
329
297
368
362
299
366
343
332
318
361
383
335
303
344
330
331
278
316
324
333
298
355
307
402
243
351
339
310
309
370
319
240
378
250
363
329
367
295
289
289
309
265
396
356
394
323
327
302
241
337
385
315
334
338
286
332
358
347
291
339
301
355
452
282
305
373
339
407
325
302
339
328
258
377
341
251
298
327
344
324
354
264
252
337
249
372
264
373
288
321
238
345
330
363
395
342
273
209
265
350
366
313
341
371
344
305
356
292
332
299
366
302
286
290
284
240
257
355
312
231
406
276
280
292
323
330
259
244
308
354
340
346
414
327
286
321
322
296
304
350
305
326
293
247
349
249
283
344
357
336
294
283
313
276
298
342
347
343
320
341
323
350
284
406
378
327
384
289
312
302
348
375
294
258
301
290
321
330
223
282
272
374
245
349
376
266
263
346
323
327
252
274
307
331
275
343
320
375
303
293
360
380
256
327
370
312
325
335
273
347
324
356
191
320
282
309
381
242
300
378
308
335
365
278
291
354
393
382
383
311
331
430
298
283
353
306
357
352
366
295
289
322
363
360
346
318
314
321
275
280
394
345
295
315
385
365
355
308
350
303
371
258
387
360
407
311
268
321
284
319
368
372
324
374
311
357
372
281
264
270
319
293
326
355
428
304
362
312
331
370
360
347
318
332
221
358
245
369
354
349
300
330
231
228
313
378
290
346
393
314
284
324
367
316
310
331
291
346
296
378
307
317
311
415
224
299
359
269
275
295
356
347
249
277
337
304
316
255
299
297
323
280
246
236
324
310
327
335
317
311
403
331
352
291
321
306
341
269
301
371
296
313
289
355
243
282
252
303
351
281
236
398
348
288
330
403
282
317
256
384
290
325
267
377
352
337
293
307
288
364
370
263
350
260
366
203
299
269
291
373
371
302
286
340
363
362
308
283
317
227
342
232
337
349
356
235
291
222
295
366
314
322
374
305
355
345
261
336
345
323
220
347
288
327
345
246
304
340
360
424
308
229
203
273
364
357
334
325
225
372
333
211
370
263
391
335
310
308
369
348
296
352
272
307
259
301
277
244
340
358
303
326
289
360
336
291
340
412
208
334
372
232
315
303
337
275
281
321
383
336
351
342
337
154
320
336
344
403
335
282
297
350
312
412
344
383
320
310
311
348
341
336
309
323
356
256
321
308
353
318
243
354
322
328
308
363
221
295
294
309
318
356
324
194
387
318
332
262
352
346
303
301
347
339
320
306
210
348
248
243
287
344
351
285
258
301
279
323
315
262
334
404
296
321
334
334
277
379
272
347
341
256
336
299
337
343
300
341
306
349
338
315
302
386
289
239
369
316
335
323
317
266
320
364
317
282
282
349
287
298
289
319
372
382
231
319
232
311
303
384
230
339
350
288
281
236
394
302
308
265
312
339
282
262
407
290
361
264
332
241
214
268
289
283
249
264
296
251
267
321
294
349
237
308
354
334
347
351
330
365
332
282
309
273
333
332
336
286
304
378
234
281
349
308
378
314
340
364
356
300
275
363
259
304
269
355
321
213
252
259
334
279
336
290
321
344
349
342
318
302
383
247
257
281
312
353
352
291
329
293
388
333
299
316
337
305
294
274
312
317
302
259
405
323
376
294
319
285
340
360
331
332
338
325
298
267
303
338
305
419
411
290
343
333
232
328
275
371
381
300
232
340
256
368
281
304
314
255
359
427
327
320
393
210
242
293
356
273
351
304
291
296
426
328
287
277
371
298
323
346
301
376
324
327
359
222
317
370
381
348
324
331
351
385
324
352
356
248
269
340
380
309
320
266
325
273
336
284
337
271
302
319
225
316
314
400
352
354
373
300
261
299
329
407
291
363
414
261
351
266
298
317
325
357
361
188
309
384
383
231
309
312
353
276
378
237
267
307
326
252
320
385
265
369
392
278
319
296
303
268
329
332
374
259
412
341
359
311
252
306
328
273
316
372
380
189
274
249
256
354
240
319
326
279
394
316
242
225
292
333
246
284
422
255
227
231
301
362
312
345
337
330
367
275
349
334
350
391
362
331
330
321
293
382
265
275
296
380
274
266
297
341
302
258
276
270
268
284
383
390
294
334
247
412
318
278
405
310
318
254
277
324
316
371
301
380
371
330
290
273
306
378
348
298
236
343
334
325
287
328
298
388
307
353
269
298
385
341
266
278
367
289
342
305
350
364
355
329
184
320
259
380
323
240
306
396
280
338
283
291
294
262
367
330
278
349
291
358
342
299
275
358
302
332
320
272
393
271
378
274
303
289
337
308
284
377
358
290
298
364
349
293
327
316
262
209
340
302
331
300
336
275
375
302
342
306
228
278
333
292
315
331
375
357
282
278
314
360
385
306
289
305
277
367
324
356
391
349
286
275
300
382
326
274
323
358
344
299
409
281
271
324
299
266
308
308
361
247
316
308
376
295
350
300
313
253
309
321
310
318
315
384
369
332
147
317
358
264
204
307
348
316
195
390
258
393
364
245
308
268
375
321
348
334
252
406
397
366
301
286
272
235
360
292
319
324
308
266
397
284
318
340
305
292
280
396
312
280
307
405
363
339
341
348
303
289
403
354
320
277
311
340
309
304
261
280
332
321
260
275
310
291
348
343
370
362
329
281
359
258
294
300
366
248
255
301
405
264
350
356
274
309
325
265
360
291
284
343
346
272
296
301
282
384
271
334
284
197
319
337
317
326
330
233
270
359
424
420
356
328
331
298
347
332
281
276
307
327
330
336
305
286
272
367
222
307
279
303
258
332
327
339
293
341
242
308
330
338
359
274
337
328
336
363
276
208
331
328
316
361
366
288
287
283
297
338
323
274
343
253
330
375
359
319
334
346
248
306
324
340
339
242
297
239
344
365
297
297
327
349
172
295
341
300
255
264
214
336
377
370
374
315
314
319
302
234
311
296
357
321
349
372
371
296
308
275
328
220
348
343
359
314
268
345
354
243
368
308
208
382
269
395
296
353
324
461
358
250
389
268
248
241
396
283
310
357
320
296
346
242
343
313
360
305
304
308
236
363
351
371
275
298
305
302
270
386
305
315
348
361
400
358
363
271
294
293
274
378
291
366
355
382
302
268
319
231
331
348
301
380
261
277
332
321
280
209
328
313
261
333
282
355
354
317
350
283
345
363
333
312
315
357
327
272
300
309
259
353
359
321
346
266
298
289
294
353
255
366
300
303
404
292
292
325
339
309
286
402
226
282
305
327
403
357
274
336
262
344
246
308
325
265
395
276
318
357
320
337
261
288
343
335
280
360
329
342
292
335
261
294
317
287
255
340
352
290
323
242
347
372
188
331
333
313
320
344
303
304
410
313
339
251
300
335
341
364
410
297
396
327
337
262
379
324
386
297
280
317
341
378
260
288
320
302
371
297
331
274
392
306
303
312
285
363
291
354
343
401
259
319
355
319
345
337
370
330
218
311
271
352
318
397
389
341
287
360
258
301
282
373
261
327
272
260
248
391
333
322
340
306
250
298
256
258
338
377
345
356
294
381
398
405
276
281
311
233
331
273
234
257
326
294
288
358
314
321
283
244
346
292
303
365
253
351
316
271
357
224
355
308
366
281
288
276
274
275
283
283
323
307
354
244
291
286
321
313
379
319
291
253
384
266
237
340
336
299
428
379
292
293
238
271
298
347
275
250
318
264
273
261
268
235
341
318
291
316
238
320
339
304
248
385
307
332
343
225
310
354
321
284
338
210
340
307
311
307
302
227
308
366
321
306
346
334
230
333
291
358
255
305
305
325
320
331
242
234
293
291
335
343
307
304
363
396
380
323
342
360
240
235
221
339
316
243
390
226
328
214
366
374
312
348
286
318
339
356
277
327
292
318
384
262
254
367
332
336
311
357
322
278
267
311
358
292
405
359
394
348
385
356
314
288
246
312
387
367
359
298
389
337
351
332
279
386
324
306
275
230
313
238
307
291
310
285
328
224
331
224
341
268
308
343
390
260
342
321
357
331
365
302
278
296
326
235
381
307
274
389
270
294
423
345
230
298
367
328
332
278
228
326
324
293
351
318
285
371
322
363
236
315
286
233
327
306
302
250
292
321
340
334
262
347
370
328
312
334
366
424
374
330
357
339
254
362
272
343
358
353
335
319
318
263
197
303
308
353
290
270
280
380
270
248
347
286
312
306
346
252
328
398
400
367
295
286
322
364
219
290
319
372
322
328
308
300
355
337
423
350
367
333
299
267
363
328
405
308
278
261
374
360
396
329
273
245
334
278
240
331
350
288
261
267
350
273
340
260
373
438
356
433
219
303
287
298
321
261
339
280
337
314
257
266
375
299
319
294
301
274
337
219
254
245
297
322
393
372
322
367
235
259
267
319
274
367
327
305
243
251
372
280
278
333
375
381
398
301
326
409
294
317
321
336
411
329
329
287
282
320
323
275
282
293
381
344
327
338
344
333
368
319
392
428
370
316
267
315
308
250
239
333
326
391
266
329
329
328
333
350
335
259
244
286
340
278
319
328
342
360
320
333
374
345
279
280
363
374
325
273
316
234
317
278
336
263
348
227
275
356
375
334
365
268
206
323
305
387
366
295
303
344
258
312
270
292
328
329
287
331
372
375
300
374
235
346
309
377
301
202
343
323
306
312
335
283
343
400
346
329
314
260
319
229
311
263
274
301
343
362
318
278
247
323
370
302
317
313
347
254
345
364
353
302
322
220
221
355
229
291
296
296
418
259
292
363
279
335
284
280
334
358
322
372
363
305
287
272
341
266
349
278
335
265
277
371
319
335
252
264
347
328
344
375
343
244
314
278
309
228
400
268
345
311
311
314
359
338
347
330
340
355
304
327
321
319
290
329
364
358
321
317
374
283
329
317
369
298
358
378
271
249
291
293
309
368
306
353
273
327
316
372
371
381
290
304
300
297
343
405
344
292
353
215
307
285
313
374
354
270
387
321
362
397
348
304
336
359
342
270
352
352
216
287
339
399
337
360
371
301
227
327
273
316
285
240
359
333
332
345
309
301
335
368
352
347
404
306
335
304
414
299
356
288
279
314
373
331
255
339
342
272
339
366
319
299
299
267
333
376
332
268
320
283
269
352
291
377
395
290
216
360
317
299
259
340
307
316
351
306
400
349
311
284
295
285
292
336
307
310
369
284
275
345
304
315
201
314
342
211
342
300
279
325
330
363
388
353
377
297
398
323
373
331
195
309
351
337
238
327
287
303
326
251
317
305
346
275
357
325
345
334
347
310
253
310
267
308
387
339
404
227
394
275
308
298
330
448
345
245
354
320
372
281
284
317
301
307
313
342
332
350
281
374
373
285
287
368
298
353
249
278
331
244
332
269
303
358
305
394
368
316
289
281
242
349
358
345
389
281
220
303
266
335
376
319
323
245
277
303
287
351
288
341
267
357
343
275
337
256
249
368
363
392
243
407
294
348
404
271
282
360
364
341
361
226
352
245
407
339
342
298
287
266
273
338
392
317
274
272
264
249
326
333
326
402
265
330
357
313
378
323
394
315
375
305
335
320
281
317
421
246
298
368
365
280
310
287
272
427
271
307
302
331
376
352
294
322
245
330
412
314
297
333
416
326
329
357
295
305
302
339
354
324
380
314
331
280
319
369
386
275
295
322
328
346
308
324
373
319
394
330
353
271
289
367
323
330
282
214
343
239
345
360
298
325
289
368
293
294
363
359
356
269
265
334
368
340
343
311
367
254
317
386
346
314
252
340
362
287
309
261
258
378
364
342
340
375
342
260
311
329
323
320
319
391
308
304
319
192
325
372
319
365
273
316
359
200
291
372
295
259
244
373
370
386
316
297
312
244
405
335
281
371
292
381
350
312
399
334
313
273
320
351
286
303
215
288
383
324
269
218
319
405
339
326
328
309
302
271
322
389
325
249
341
302
262
402
324
258
361
388
350
254
337
286
351
367
301
351
252
368
270
267
288
314
309
336
323
269
305
285
276
354
289
346
348
324
274
303
348
287
303
342
309
432
261
321
338
315
278
282
413
339
369
346
415
322
266
231
287
340
300
330
234
367
366
338
284
314
349
320
292
274
353
308
296
346
268
335
250
380
354
279
335
287
281
343
367
332
345
346
379
307
356
279
387
359
408
313
326
293
310
307
299
367
388
345
314
326
317
357
357
289
265
311
338
282
277
343
315
267
282
389
342
320
317
314
249
298
313
317
272
347
313
364
332
226
245
277
272
305
236
329
260
276
380
362
297
369
291
343
294
327
246
306
252
320
272
265
339
362
332
320
326
348
378
334
292
348
361
384
314
279
266
269
351
308
366
372
241
319
420
325
365
323
269
313
301
298
305
353
293
326
307
281
244
305
368
364
353
301
376
271
274
339
313
298
350
316
369
309
383
363
248
341
285
324
298
338
297
283
386
356
372
313
222
339
368
301
388
323
339
259
301
396
325
346
382
181
228
390
324
339
413
368
344
361
301
335
248
317
301
313
344
316
309
300
344
359
376
273
255
347
376
344
294
363
359
342
375
267
315
366
315
386
319
306
314
327
291
256
374
376
341
237
272
301
219
326
327
344
247
328
274
298
365
281
306
377
381
328
251
298
394
367
378
330
352
343
262
280
294
269
298
384
287
352
232
270
255
398
371
414
370
246
266
362
390
258
330
307
286
323
289
344
327
393
309
240
323
238
256
251
338
283
233
311
232
321
307
340
322
366
266
336
322
297
271
303
354
388
376
366
290
338
349
328
343
267
339
324
373
378
316
220
212
255
358
401
331
288
381
341
283
348
296
264
402
305
291
267
303
336
275
356
360
392
378
335
301
330
223
287
392
352
267
362
352
287
314
333
363
354
266
379
284
339
317
293
283
316
312
354
341
284
378
352
246
319
343
375
353
301
331
284
335
294
286
253
364
335
302
382
420
364
335
356
307
360
325
263
239
292
358
207
306
311
349
351
337
341
323
351
339
365
359
367
341
238
345
383
312
288
268
304
336
330
356
267
337
350
331
313
343
248
354
357
321
307
288
341
324
352
328
359
298
400
305
220
338
274
373
317
317
276
384
368
329
301
290
356
334
295
254
271
269
334
296
323
243
324
314
317
226
330
320
388
364
376
296
381
280
288
248
323
278
274
335
316
450
322
338
319
382
298
303
340
328
275
257
372
331
277
330
350
351
268
258
278
352
326
316
317
320
306
285
363
380
220
286
325
307
333
377
360
276
312
278
252
267
318
292
317
341
319
293
318
325
339
249
273
309
297
308
336
361
319
329
287
363
283
338
307
287
272
312
297
269
318
290
282
329
354
330
304
264
365
321
335
309
341
319
348
357
328
309
342
299
263
372
337
316
242
287
314
310
292
344
275
402
307
236
318
319
241
360
234
347
349
243
302
379
292
359
268
294
241
343
315
358
373
239
310
372
311
391
404
306
353
359
245
300
350
256
273
268
310
252
281
397
325
428
279
264
354
371
287
378
247
305
360
254
271
373
270
317
332
335
310
298
373
332
325
388
306
287
249
398
269
267
261
323
301
308
311
273
378
300
294
339
286
399
259
345
304
351
392
372
353
414
289
298
335
330
386
269
313
239
341
339
328
267
307
335
380
335
271
377
329
318
332
257
327
294
361
320
338
391
317
340
299
325
270
370
356
292
350
245
368
349
293
409
291
321
340
398
346
390
288
322
334
315
338
309
280
288
304
281
261
324
405
307
394
318
329
360
283
386
318
283
345
314
376
268
251
314
266
291
310
355
263
326
264
322
358
287
333
241
317
280
356
362
326
328
329
408
262
345
321
304
297
303
315
315
225
361
362
372
347
404
271
303
345
293
316
311
303
269
378
255
312
346
335
331
293
327
329
390
269
329
322
334
318
432
292
279
286
406
357
286
388
379
289
265
207
366
325
361
269
397
327
419
280
385
288
300
290
316
375
332
301
297
329
329
251
299
331
291
331
296
321
354
236
360
339
361
322
283
263
262
278
293
348
363
336
323
301
299
296
366
290
333
243
262
292
316
317
268
343
384
380
337
360
324
308
308
335
359
239
323
286
336
298
357
280
335
368
343
303
305
309
274
332
313
411
333
270
368
282
351
345
237
256
336
302
383
316
289
230
405
346
279
331
315
364
275
334
336
319
265
345
355
300
333
342
321
297
200
427
370
389
323
225
292
335
320
300
335
278
300
333
350
345
347
250
311
268
306
247
352
348
358
245
372
268
335
361
323
286
364
288
355
320
352
320
226
315
339
300
354
327
355
367
353
297
254
283
420
261
266
329
257
340
291
305
348
300
354
303
359
289
335
260
398
328
271
342
270
316
308
299
268
332
322
370
339
310
259
308
284
381
370
344
300
288
308
407
356
361
229
341
266
270
276
297
314
375
318
293
316
336
350
266
330
339
277
320
196
366
342
288
315
302
298
340
361
267
377
255
330
324
281
315
355
295
330
372
277
305
355
348
377
410
382
282
338
301
316
333
261
342
286
326
316
284
249
278
317
320
314
416
316
343
371
247
299
367
307
312
370
370
331
280
352
311
402
241
227
340
289
348
343
225
316
344
323
374
346
311
342
328
340
291
276
351
233
367
335
329
286
344
264
346
311
283
274
352
339
330
370
317
340
362
358
420
303
307
264
346
335
310
339
311
340
334
342
361
405
190
354
324
366
232
313
292
313
348
272
335
294
284
280
359
374
271
372
293
364
301
362
266
360
318
264
313
228
238
311
299
235
359
337
377
311
327
259
347
263
298
282
263
321
303
283
387
318
360
348
338
345
293
351
306
368
292
307
261
319
350
356
345
303
221
333
277
403
385
297
205
313
362
313
345
272
230
255
336
323
300
252
380
329
309
394
372
366
223
266
359
262
365
395
336
292
343
316
323
331
326
301
273
288
262
327
314
354
267
332
241
339
297
385
206
331
367
346
283
306
237
310
337
287
383
347
241
249
288
318
354
276
332
377
331
343
330
353
405
300
315
273
373
271
358
410
364
347
342
245
325
271
302
327
322
258
377
371
377
305
233
287
344
414
303
377
382
313
341
357
276
361
337
365
382
326
226
424
228
252
329
286
353
372
324
349
329
246
332
289
297
344
297
245
368
247
341
305
384
292
300
426
300
255
374
294
328
325
315
350
283
315
289
262
313
286
384
269
308
286
422
335
303
341
338
239
308
314
226
295
290
261
314
364
333
264
380
291
321
246
316
352
286
353
287
316
304
253
238
293
278
363
293
303
372
328
331
293
284
374
343
261
262
360
291
380
240
365
397
319
363
351
362
295
320
278
317
252
289
346
244
298
331
379
318
314
301
298
314
427
329
364
280
294
327
366
319
230
406
324
304
396
300
264
275
346
414
347
268
276
256
326
290
319
292
276
340
243
315
351
321
328
311
361
340
286
300
406
428
301
373
300
264
367
325
352
286
259
297
282
289
361
292
336
280
301
360
319
286
382
293
274
323
341
274
287
281
337
377
297
279
342
270
318
322
290
305
396
317
315
287
320
371
352
301
378
333
274
247
355
319
327
250
344
299
400
356
359
408
352
329
281
351
394
360
399
239
297
371
272
297
319
360
259
327
380
389
302
352
307
308
361
314
358
362
295
245
303
299
300
283
297
393
269
253
254
348
270
372
322
379
306
304
396
296
353
234
354
312
260
388
295
301
308
227
246
266
226
344
299
337
385
347
275
323
323
384
257
282
282
344
291
290
229
317
286
361
371
334
260
213
353
349
291
277
278
230
286
228
305
332
410
290
302
320
373
363
334
259
237
399
330
323
321
345
311
367
399
333
357
276
420
328
276
291
317
318
272
291
325
277
234
240
314
367
326
264
323
340
325
305
368
298
330
320
241
297
298
297
315
270
361
275
352
305
338
343
366
356
259
286
356
340
287
313
325
308
349
329
340
289
323
311
340
305
302
372
341
309
295
255
364
363
339
336
230
349
278
329
373
293
321
329
316
308
373
357
318
212
355
257
325
326
324
336
213
344
354
412
348
347
351
295
367
337
249
256
311
350
370
357
243
269
327
418
324
274
396
381
226
310
282
273
288
337
273
277
293
359
303
342
423
377
336
233
346
338
285
334
306
353
283
286
356
378
269
225
238
224
320
270
306
335
304
313
315
372
364
308
338
311
381
363
372
261
239
254
376
269
368
354
324
256
259
315
348
243
291
312
299
222
315
332
355
335
282
350
343
240
287
314
290
304
267
332
321
255
341
434
378
323
359
355
256
387
334
321
376
340
332
312
331
340
310
338
282
371
345
285
399
350
367
325
333
290
346
312
303
331
393
283
287
316
300
318
344
290
273
352
360
362
317
287
335
327
303
334
250
281
239
284
346
237
313
265
279
326
276
382
358
276
303
321
412
310
320
350
275
292
303
414
290
294
251
318
350
348
289
282
303
290
347
273
340
275
362
332
306
314
294
328
333
316
315
345
298
305
297
276
362
339
262
366
370
253
269
380
248
381
336
320
444
390
323
378
236
351
283
364
375
271
276
294
389
318
338
373
291
354
372
410
342
349
351
372
286
363
353
329
269
280
295
285
287
335
355
325
273
310
292
320
307
302
388
360
263
404
321
218
312
358
353
343
285
277
373
329
281
303
268
328
359
333
292
278
300
377
373
274
290
301
309
351
321
348
300
181
329
334
284
368
300
419
246
346
341
318
388
288
352
293
388
330
327
342
315
280
321
261
239
307
327
314
319
319
238
354
363
346
318
381
317
212
339
291
317
342
379
266
363
305
242
338
378
314
228
337
360
206
381
296
358
252
341
238
324
235
310
252
223
343
395
359
335
352
331
359
282
360
263
308
340
307
276
348
290
246
297
298
298
293
270
321
350
324
354
291
384
289
280
239
405
285
303
340
417
361
268
267
203
368
350
357
286
321
326
284
246
312
276
336
308
265
255
310
344
360
338
270
342
291
308
321
281
326
313
327
258
312
356
361
372
355
336
269
355
347
404
342
230
379
277
384
403
296
296
281
341
242
360
305
310
392
356
306
349
341
384
372
290
299
357
297
333
413
312
310
384
313
304
280
312
341
289
300
326
233
254
335
266
357
366
343
349
396
336
316
240
359
333
316
318
343
259
345
302
278
311
352
221
288
373
363
332
221
231
307
314
314
283
252
250
314
321
357
375
399
321
317
287
335
272
372
297
214
343
331
285
303
359
326
340
313
326
349
325
281
297
225
294
313
370
322
334
366
395
349
352
238
391
374
314
370
303
260
353
292
347
293
255
309
304
290
303
364
399
302
351
295
317
288
363
312
427
316
273
331
307
265
315
372
367
381
333
266
318
254
273
286
337
329
327
343
436
306
395
333
297
306
290
310
264
325
330
376
317
286
236
332
366
294
261
354
402
274
262
391
258
382
304
389
360
321
353
319
336
278
235
351
402
306
304
323
309
314
321
287
339
253
417
270
302
393
392
328
314
312
307
374
309
352
349
345
294
298
290
328
354
306
244
272
304
324
385
329
321
293
346
331
193
306
236
318
281
325
307
290
382
318
299
242
216
388
295
295
311
293
373
288
300
363
389
389
353
275
300
269
309
310
375
317
340
304
365
354
345
377
246
294
341
357
366
272
299
304
262
323
334
322
327
358
310
399
317
359
341
322
316
351
303
301
314
318
254
254
293
318
255
334
279
331
333
347
321
294
334
223
252
321
353
333
316
390
346
345
292
353
375
298
351
289
301
243
360
294
332
301
336
319
326
361
271
344
310
371
346
269
356
320
312
280
280
325
334
311
257
349
248
274
365
304
318
283
352
214
422
328
295
278
309
320
321
370
300
381
315
330
305
315
273
389
304
363
339
345
301
314
291
245
253
286
272
352
218
347
273
327
361
335
214
313
296
318
288
343
320
376
345
327
354
357
297
351
306
355
354
349
345
343
258
325
376
320
308
250
257
353
339
313
170
337
301
321
338
304
340
374
235
341
306
201
351
289
264
286
289
307
268
214
342
343
330
188
316
280
278
318
276
346
348
310
326
268
344
369
321
297
410
263
359
363
286
312
383
288
309
323
237
268
415
308
352
274
271
297
290
237
265
255
247
328
334
366
299
362
350
333
233
307
287
235
312
389
304
368
316
301
354
370
285
317
334
243
289
293
367
322
305
315
349
304
329
279
379
282
357
300
273
348
350
298
240
270
284
302
338
347
313
265
319
259
284
339
346
382
345
252
314
385
338
377
323
242
328
236
310
336
277
329
220
305
252
369
354
383
214
348
214
286
328
249
326
293
309
334
349
386
290
272
302
262
311
299
289
347
403
390
352
291
401
417
334
350
337
320
281
280
298
286
315
417
306
303
391
256
216
295
226
311
363
290
354
361
355
345
260
368
283
288
337
241
348
333
335
344
376
326
368
343
357
325
231
343
294
381
359
356
333
336
342
335
336
309
278
272
309
362
307
367
365
311
325
399
339
318
408
263
238
279
296
345
269
256
274
302
348
380
280
307
308
386
303
329
303
366
338
358
295
302
258
300
354
378
299
300
306
320
300
317
319
315
340
362
293
355
279
310
319
311
344
385
241
373
283
245
311
316
331
376
382
247
202
304
356
357
336
302
260
315
344
341
336
281
233
327
363
305
338
292
283
324
242
396
353
292
323
356
293
295
304
364
272
310
293
237
300
271
238
232
344
387
360
361
305
330
284
398
301
312
348
353
364
259
328
346
332
324
335
327
366
343
296
360
299
327
259
424
305
335
302
352
336
277
349
255
369
294
268
311
287
336
358
326
344
308
278
159
296
299
395
291
294
378
299
272
381
350
251
360
290
310
356
254
348
299
322
255
346
285
322
278
201
307
343
387
262
304
358
332
337
424
334
277
307
337
366
364
301
343
337
277
359
292
342
299
344
278
336
371
320
250
384
332
314
305
299
313
311
301
314
334
329
318
352
371
329
252
348
308
312
289
380
267
323
282
432
306
317
393
253
351
343
355
320
383
225
371
265
316
271
408
340
326
324
313
338
319
289
311
298
310
326
285
318
307
337
327
317
277
248
409
248
354
313
275
264
361
305
310
348
269
256
307
283
371
242
401
309
253
268
377
303
307
296
325
273
287
389
356
257
366
336
313
271
278
281
382
365
279
348
334
278
281
373
294
360
331
318
280
273
262
309
266
315
355
337
298
329
282
354
307
270
328
295
250
349
320
350
329
314
370
340
358
292
243
325
363
304
330
304
260
363
307
298
244
271
300
319
276
293
240
307
351
334
328
279
328
261
254
267
264
348
300
297
350
236
377
293
316
371
430
275
310
308
279
262
368
376
267
279
333
267
361
368
339
302
317
235
286
289
299
288
320
295
304
282
304
308
319
234
286
328
317
356
287
325
317
233
285
317
209
248
259
264
248
343
276
239
341
309
310
318
355
340
274
295
315
224
345
289
359
248
318
280
304
351
368
359
318
384
333
307
263
333
330
262
246
310
284
277
312
276
306
372
256
355
362
308
326
261
307
373
389
333
362
327
301
377
299
347
407
326
280
298
383
357
321
268
333
304
279
337
360
332
240
276
278
253
228
334
375
296
308
313
307
352
345
259
340
308
263
296
285
268
359
266
284
309
329
329
286
321
297
315
289
357
393
317
352
375
341
342
292
344
228
292
323
359
402
281
314
340
261
424
255
324
283
344
313
449
332
262
329
329
355
344
203
302
364
378
351
389
339
404
410
312
276
310
318
332
348
309
359
325
452
342
356
299
308
362
359
317
341
275
254
280
341
297
279
318
370
332
309
380
314
273
326
338
347
326
322
311
312
315
297
242
298
340
341
359
281
282
225
284
345
303
339
361
396
257
362
323
366
240
393
321
364
327
400
293
216
364
241
310
280
259
308
342
378
265
335
295
302
264
312
267
368
296
417
396
371
344
401
298
261
341
346
365
361
292
317
327
346
330
381
295
294
376
336
350
285
285
374
272
278
268
302
297
306
353
346
321
302
338
384
287
243
270
277
284
394
344
359
273
306
260
327
405
307
332
324
291
257
275
371
293
377
338
251
342
322
306
340
323
281
284
342
348
356
288
342
328
333
301
306
290
335
304
384
315
316
286
339
229
323
377
302
265
256
239
320
275
303
343
292
263
393
282
304
283
354
305
277
353
315
315
328
310
353
277
283
294
328
297
372
316
267
334
239
275
406
319
316
337
283
281
318
291
332
338
286
274
263
315
305
341
258
276
287
281
357
340
301
364
298
365
298
368
350
340
372
307
363
379
318
366
334
289
235
202
319
387
390
299
342
312
317
345
343
301
285
257
323
312
298
317
272
261
332
269
349
336
351
280
251
336
290
332
282
365
268
365
276
329
271
402
343
321
328
241
355
351
301
301
355
378
381
357
348
274
311
329
329
292
308
365
315
341
382
310
258
332
281
291
210
314
307
324
368
344
289
394
300
344
365
285
233
298
301
343
270
326
317
300
391
394
231
319
287
311
299
248
320
268
346
392
321
304
277
298
387
279
288
310
340
329
393
373
242
303
392
403
340
305
327
281
397
286
262
344
270
327
301
339
186
336
402
244
347
255
328
289
336
326
324
325
291
323
313
332
336
377
337
296
289
311
312
317
309
313
364
263
310
333
271
398
366
372
341
372
248
332
305
308
290
358
350
352
278
370
313
328
397
358
318
322
402
378
367
371
307
294
323
392
301
393
326
288
385
260
317
280
311
332
328
251
330
320
290
356
350
272
261
293
330
278
280
361
370
340
290
311
269
352
304
311
280
342
282
224
306
313
328
381
377
333
330
342
268
305
324
344
248
288
324
330
338
289
279
393
341
353
213
347
302
365
395
361
343
255
324
324
386
318
367
329
225
347
326
309
296
391
257
286
341
343
237
411
334
288
355
348
239
369
319
303
382
275
337
403
313
291
324
314
364
332
293
256
364
237
273
335
312
294
367
303
256
387
325
278
295
318
334
338
307
342
357
355
262
372
296
319
332
399
284
331
359
364
364
334
297
390
341
314
349
367
316
381
355
322
321
293
372
256
307
350
353
336
306
349
297
321
379
350
357
227
359
294
268
346
326
358
297
331
361
234
360
280
213
300
315
270
341
266
345
421
301
392
323
379
336
267
273
321
402
242
370
333
365
298
357
382
355
320
305
329
313
360
251
389
392
314
313
396
313
375
334
321
247
274
247
290
320
225
311
347
273
298
344
373
255
312
291
296
330
277
297
333
289
302
371
360
267
321
322
316
361
308
302
300
274
323
332
370
321
362
267
346
313
370
296
320
281
267
309
284
323
295
347
292
330
291
338
300
316
364
379
256
359
329
376
356
341
360
298
366
384
370
383
417
358
296
281
308
263
359
293
281
367
325
366
343
270
338
358
258
317
274
377
280
341
301
362
345
297
303
328
309
320
352
317
214
348
307
362
370
280
387
425
334
301
324
344
304
329
362
242
274
318
274
290
295
358
298
311
352
329
323
340
318
307
288
251
217
362
392
374
325
290
399
323
272
295
268
281
308
312
382
407
312
349
278
299
328
338
337
233
344
385
265
355
356
346
324
393
339
299
307
365
365
315
250
294
457
385
333
320
226
258
256
250
340
394
265
317
311
411
358
338
316
236
266
364
306
319
319
307
354
307
319
346
353
295
282
360
283
391
310
307
283
302
357
348
360
410
279
310
364
308
224
344
381
354
318
274
284
299
349
298
403
326
338
302
253
336
334
249
300
342
285
305
277
241
375
400
311
323
277
306
327
381
329
383
274
287
308
280
307
368
320
308
398
316
347
396
396
272
287
271
344
257
325
260
299
314
250
262
362
294
366
370
287
379
340
330
371
351
321
314
283
309
367
316
347
302
327
313
313
409
306
302
258
284
332
394
289
355
366
386
323
278
210
332
364
267
325
308
381
348
341
302
400
257
341
295
336
309
319
314
279
325
288
322
337
348
335
283
293
341
303
303
364
401
362
337
353
284
299
234
287
349
343
322
313
307
313
419
340
377
291
264
350
286
306
296
310
224
251
370
352
412
340
319
418
284
289
324
293
314
303
323
328
309
308
363
374
285
382
316
226
343
277
299
248
220
318
328
269
445
252
321
326
357
282
344
373
302
319
366
303
265
243
427
380
194
343
296
332
334
399
340
316
245
295
199
231
340
341
262
368
344
232
342
270
354
332
270
249
295
354
297
272
321
244
335
250
390
357
373
330
345
396
315
310
344
350
243
326
309
387
323
231
310
337
315
257
301
350
237
290
398
328
307
259
329
417
387
409
257
255
302
326
313
283
301
388
298
297
309
301
376
272
343
344
305
307
341
355
258
263
418
325
297
343
315
273
308
311
375
300
350
289
358
397
340
313
306
278
344
351
344
367
265
352
377
314
321
249
322
282
296
374
334
385
293
299
349
303
350
318
295
303
298
323
322
275
293
357
209
293
353
264
256
246
330
273
355
279
301
284
325
343
320
321
414
296
304
292
303
328
318
283
212
343
335
356
262
313
383
356
320
286
312
259
350
358
319
326
350
233
347
353
308
327
340
373
255
276
302
331
335
331
340
423
366
304
325
305
341
316
345
297
306
290
293
228
371
358
354
366
341
310
419
290
321
342
280
332
299
309
303
358
323
338
337
318
313
269
300
351
275
271
303
340
394
335
398
383
299
297
271
329
268
286
291
334
354
305
272
337
227
310
362
271
286
362
276
325
373
310
273
309
261
328
342
300
339
325
308
337
320
357
306
322
340
413
326
260
266
303
358
290
360
268
287
318
303
289
252
406
315
337
303
417
329
363
381
284
329
367
335
309
332
364
333
360
339
225
247
254
339
370
376
365
252
395
241
349
359
278
237
328
263
421
259
295
265
285
320
323
331
235
354
269
289
366
299
332
310
285
285
217
346
332
268
271
276
252
383
343
313
204
332
261
390
329
315
389
426
408
337
297
297
279
251
288
324
312
228
254
364
282
429
167
286
336
350
368
349
341
267
316
274
309
330
246
284
369
308
274
365
285
252
352
305
283
346
302
333
301
317
266
345
301
365
240
346
335
338
350
414
326
274
344
326
298
289
299
371
341
343
307
194
377
342
309
330
277
302
374
315
330
290
286
257
323
281
221
248
346
383
327
346
307
355
305
454
285
346
302
386
320
330
308
372
312
321
299
279
348
280
273
412
310
327
281
246
291
374
273
330
371
294
328
320
261
335
293
260
348
289
330
294
282
317
299
391
369
305
358
426
242
304
244
324
335
346
300
358
306
291
369
330
308
297
335
312
328
180
278
279
241
341
275
329
352
361
327
314
294
303
307
301
253
326
350
386
366
249
341
334
369
271
325
220
247
335
367
307
300
333
309
272
277
339
309
293
282
314
312
348
393
243
337
293
330
258
293
295
242
328
277
336
393
329
276
337
283
299
280
367
324
334
416
318
310
331
311
362
292
299
336
291
358
329
298
316
326
265
332
327
285
308
278
256
301
282
308
282
292
291
387
259
371
377
360
334
294
388
308
348
352
328
317
246
315
325
314
285
329
344
313
274
367
311
317
330
242
294
297
337
258
339
349
378
278
315
304
428
330
288
337
290
311
254
322
301
356
208
247
264
348
224
354
341
319
351
338
277
404
331
295
321
330
233
355
291
296
284
293
290
301
294
391
333
293
320
242
284
315
285
258
353
274
346
267
337
274
335
276
286
246
316
272
335
363
318
369
315
293
248
282
339
282
348
365
298
278
267
214
209
369
260
304
372
286
348
281
361
292
337
289
397
333
368
361
384
380
356
318
291
350
262
283
298
322
341
341
323
321
325
293
311
268
326
307
264
359
260
323
368
283
366
307
267
338
257
342
313
335
271
362
342
316
326
241
326
254
278
283
310
357
315
366
273
247
334
299
348
349
261
252
259
374
343
297
319
342
323
303
323
290
274
361
320
387
312
317
282
351
311
347
354
340
331
303
403
327
274
310
298
303
309
336
332
342
349
338
332
298
309
338
246
251
352
380
323
353
315
244
373
346
320
221
277
327
261
328
329
367
407
332
280
257
334
326
290
372
373
373
294
282
341
364
327
180
231
330
313
376
357
277
305
285
434
372
320
336
363
323
330
354
319
239
398
337
416
283
270
288
349
292
257
327
262
279
275
310
344
314
340
347
328
331
331
262
277
293
300
288
274
353
312
319
334
365
274
327
317
305
318
313
378
310
301
264
346
222
352
289
245
193
344
369
393
350
342
406
338
370
317
340
366
356
298
310
339
181
387
316
331
360
362
415
388
287
284
282
327
265
276
337
332
304
264
270
382
331
355
348
381
243
263
268
295
258
311
323
368
348
326
246
375
297
341
290
335
278
257
376
288
337
296
317
345
302
296
353
346
240
423
351
394
284
275
433
342
356
351
195
381
164
293
290
392
300
243
326
325
375
344
295
312
287
293
335
233
308
255
317
304
359
322
286
337
270
303
375
390
343
345
363
329
249
317
372
303
365
266
358
316
331
288
335
278
380
275
269
312
207
309
293
289
344
294
339
295
315
381
293
349
342
300
220
310
292
395
308
302
315
339
316
369
264
322
325
248
383
369
323
285
248
358
371
302
301
320
276
248
267
334
345
343
307
311
362
324
322
334
354
335
378
324
308
303
381
296
301
327
310
326
356
320
331
248
296
296
361
361
379
354
372
260
216
377
315
327
231
321
334
348
310
287
362
250
310
296
338
211
267
309
371
349
323
287
262
246
262
289
295
328
376
380
332
199
250
424
355
321
393
360
307
333
317
339
375
342
369
274
367
270
381
347
268
333
377
280
270
340
308
349
287
305
353
351
332
324
277
297
335
302
312
348
300
321
221
269
318
334
384
223
373
295
321
287
312
324
410
322
328
306
361
319
375
282
332
368
267
375
328
366
262
349
329
293
344
260
350
274
330
328
346
331
257
258
347
345
304
353
313
261
340
287
330
301
372
218
219
362
301
245
382
343
347
318
233
273
325
293
308
263
270
329
406
349
330
383
335
276
392
372
331
349
287
264
253
280
281
365
287
291
379
351
310
327
300
204
332
280
311
326
410
337
290
271
288
269
240
293
355
327
339
305
259
300
279
250
264
234
306
355
292
378
282
337
289
251
296
350
305
208
372
321
318
346
351
341
267
372
348
304
337
331
323
257
291
342
318
409
286
352
310
303
326
391
334
254
364
357
342
357
291
270
311
276
327
332
352
203
215
313
293
253
346
429
311
329
380
406
322
349
419
318
272
269
248
326
371
413
389
353
256
384
295
329
307
320
283
334
245
212
291
384
292
360
275
299
264
314
221
367
311
327
328
356
373
294
331
290
306
253
258
308
304
315
318
352
349
391
278
312
323
341
326
307
264
365
316
290
323
366
305
302
351
331
363
442
310
295
365
296
411
351
337
260
319
338
289
346
316
398
322
267
388
321
218
351
279
350
305
318
319
244
335
230
341
347
291
285
282
352
382
310
269
248
308
274
328
341
270
292
247
363
330
320
300
346
269
244
305
240
310
212
276
210
329
347
348
212
328
296
369
320
285
305
360
367
326
308
385
352
313
412
260
398
292
350
420
285
313
310
337
334
271
304
373
370
314
367
321
327
279
348
262
232
374
309
258
256
308
392
366
287
332
336
331
318
325
328
380
328
319
274
304
297
270
295
286
295
255
332
325
343
319
280
223
263
340
416
297
410
250
356
297
325
411
266
299
296
326
321
245
180
272
191
330
328
280
249
292
368
300
259
366
265
309
317
329
361
262
329
352
317
364
315
373
302
333
340
345
339
342
327
361
339
407
251
366
259
326
318
386
356
278
259
260
390
347
364
279
317
282
291
274
327
278
370
323
320
334
338
334
369
340
414
326
309
248
257
278
209
354
232
201
278
310
251
277
393
327
369
377
322
362
353
351
322
262
359
320
276
304
357
384
324
202
266
335
355
350
265
359
258
322
294
371
269
241
300
282
367
244
258
288
342
289
319
312
361
342
320
256
247
344
381
327
301
345
323
300
294
344
288
248
311
330
378
354
285
266
278
354
357
282
254
355
370
313
274
279
227
211
287
352
358
368
321
281
353
259
327
322
413
325
301
362
365
282
359
243
428
320
302
262
318
327
340
334
353
275
341
252
313
326
341
337
332
296
374
259
342
308
230
338
308
370
358
363
372
248
340
318
345
312
328
278
331
312
398
342
355
335
289
305
303
335
256
318
274
322
278
318
372
326
346
404
327
322
274
303
411
389
322
344
375
348
319
322
341
275
346
370
357
300
336
384
363
315
360
292
380
377
316
246
296
312
298
284
284
327
349
307
326
336
343
273
288
351
320
292
379
307
319
361
344
264
369
369
345
325
335
372
314
315
329
322
384
286
352
231
234
252
369
355
323
266
390
315
360
318
337
354
221
285
320
392
351
393
296
300
258
308
374
262
315
344
295
340
325
326
346
332
294
262
392
332
329
404
354
303
363
373
325
257
359
256
362
293
321
273
387
297
294
336
266
267
379
303
333
252
355
207
279
313
281
335
318
358
297
258
260
392
319
316
355
340
281
316
296
211
280
314
354
283
321
312
329
333
268
350
279
320
351
354
289
311
238
298
248
359
335
286
324
363
358
366
328
321
362
353
243
300
283
334
379
240
422
309
293
286
343
268
254
360
314
317
360
252
242
348
351
279
389
341
313
281
326
225
343
334
314
351
256
367
259
403
279
309
292
289
251
344
284
387
189
272
309
298
418
400
314
331
329
280
354
404
362
355
346
296
324
312
341
258
305
352
297
346
298
334
274
330
292
236
260
354
249
316
287
255
335
292
382
310
295
237
306
265
299
384
275
291
327
283
216
315
286
352
368
360
319
296
227
261
282
366
246
357
316
327
319
361
352
294
276
376
289
235
329
284
362
358
384
256
317
334
335
317
328
317
323
341
321
296
321
332
246
374
234
347
277
323
334
292
333
276
348
292
283
310
260
327
375
319
321
279
332
268
314
312
425
414
377
234
373
376
324
341
324
332
357
245
287
289
260
235
268
338
250
327
359
362
312
315
395
354
308
251
273
288
334
375
373
278
289
290
328
267
232
280
308
273
281
335
327
322
290
319
303
249
296
322
330
381
291
272
350
384
271
315
336
262
421
334
326
247
282
332
408
387
309
290
303
332
356
317
437
335
301
311
374
346
321
370
283
335
285
417
234
401
281
299
402
301
374
257
319
292
309
283
321
365
347
307
273
347
283
276
309
313
378
214
385
322
295
276
338
335
337
270
344
242
352
379
342
344
381
328
339
258
360
307
377
270
283
341
383
284
252
348
324
264
349
300
362
326
368
327
298
320
289
361
292
271
262
385
376
330
334
366
312
288
341
354
276
350
273
387
226
326
218
293
371
293
300
337
286
239
384
371
310
288
328
352
315
351
303
341
275
383
365
308
358
332
284
296
270
246
303
310
272
352
372
299
334
253
387
325
294
301
293
373
315
298
362
297
389
337
276
334
360
296
255
312
270
257
301
377
327
272
326
323
274
267
347
320
287
367
299
186
381
302
380
356
300
315
343
290
313
280
347
240
334
381
385
334
365
372
305
348
378
349
324
286
353
376
309
255
332
317
396
295
367
380
301
318
413
370
318
298
240
284
304
345
349
241
331
357
310
278
353
304
245
353
323
352
293
334
380
371
263
347
330
303
350
294
322
311
377
317
291
372
330
428
343
303
274
257
271
391
269
329
330
325
324
353
243
340
281
244
384
338
351
356
242
310
369
286
311
320
369
181
326
292
329
315
304
278
385
384
343
327
340
319
411
308
301
299
364
360
311
350
298
330
364
358
378
332
331
378
281
270
304
365
335
296
302
352
347
310
346
255
289
296
355
325
291
332
325
340
340
308
325
339
387
354
281
348
296
339
320
255
299
395
280
363
266
330
317
332
222
253
313
339
310
309
249
316
273
309
288
332
269
300
359
274
324
270
360
283
382
321
349
363
242
252
300
331
265
337
376
369
316
348
364
312
385
342
342
334
255
155
298
310
430
405
274
310
267
253
415
389
330
312
274
300
322
332
359
345
299
299
254
238
362
316
323
313
339
306
338
305
218
332
355
367
274
337
378
321
266
352
327
259
319
271
300
259
315
329
382
308
291
298
372
202
290
369
322
327
344
259
281
302
338
242
324
272
304
256
330
300
376
250
296
253
313
276
307
332
361
313
300
338
267
302
281
287
306
303
347
289
316
262
327
289
372
324
304
281
327
271
340
330
274
354
280
297
250
368
243
256
267
251
391
263
320
290
307
328
308
334
332
393
305
321
329
223
393
293
315
344
317
336
350
291
292
290
370
269
291
271
352
296
351
311
450
355
323
240
283
354
346
369
363
352
260
247
391
238
320
298
304
240
366
296
329
273
312
318
262
270
305
288
322
338
351
311
337
294
276
336
315
368
353
286
338
356
322
321
356
376
323
275
358
252
230
268
339
362
307
288
317
294
264
399
307
288
381
413
354
307
357
269
342
339
232
271
288
330
330
347
398
235
310
234
336
279
312
314
297
279
254
321
279
343
358
312
317
391
325
281
303
379
391
305
363
337
332
311
240
243
302
374
318
306
296
320
205
321
328
283
362
288
244
213
366
388
289
271
299
316
271
257
272
306
299
290
331
289
373
319
293
254
362
348
323
302
293
282
237
302
325
341
336
334
280
342
333
359
310
337
317
348
274
340
266
332
355
326
340
283
237
362
269
377
323
294
279
260
415
223
310
311
229
333
245
335
214
246
367
386
367
352
340
285
308
339
272
279
289
331
238
375
291
326
349
271
318
320
274
399
277
234
358
327
288
374
304
281
272
294
281
276
342
401
220
387
325
308
287
285
318
319
326
331
337
427
320
257
260
274
357
349
350
314
363
306
328
337
312
338
410
352
288
216
314
299
342
284
360
299
287
285
317
268
359
297
334
247
297
382
360
369
237
327
232
360
362
312
314
310
310
342
297
336
388
279
320
300
332
324
354
271
312
301
361
267
410
319
246
287
327
343
343
371
300
276
285
306
321
299
334
290
353
363
346
298
298
346
286
305
361
330
384
383
230
262
312
310
275
324
370
267
258
276
329
266
273
291
287
303
321
303
324
349
301
259
306
253
286
286
323
368
164
297
300
337
282
303
358
377
335
322
326
322
331
365
335
324
373
389
309
233
364
330
356
334
338
298
280
275
290
305
301
388
288
387
212
339
232
349
303
184
240
346
307
365
401
337
308
340
267
264
282
384
370
344
250
264
317
316
326
355
309
228
314
305
309
396
262
318
244
306
338
277
257
342
345
342
337
322
299
348
275
340
299
322
331
318
304
290
297
288
333
282
349
233
355
309
365
382
285
278
289
355
270
322
254
270
416
224
296
312
357
271
396
309
310
443
344
399
354
331
388
363
274
295
379
286
392
325
279
328
318
382
324
329
360
213
276
325
320
362
345
388
356
277
289
330
262
290
337
293
273
290
358
367
345
298
313
289
329
270
326
256
331
276
373
279
341
328
398
337
291
285
354
255
338
261
308
293
335
331
262
293
251
276
343
309
369
355
410
317
340
313
346
289
315
368
382
287
321
353
295
241
318
259
407
383
308
286
291
339
324
363
309
288
329
371
326
362
353
313
332
357
301
340
339
381
284
308
285
302
391
376
266
264
311
391
303
352
315
320
275
305
347
305
249
289
264
297
331
291
320
369
297
226
263
357
243
329
319
283
337
317
326
305
309
317
340
230
262
388
300
346
416
357
266
300
331
281
219
329
357
286
333
254
363
299
234
313
251
321
354
336
321
370
335
316
344
313
314
254
321
340
278
310
303
282
315
299
316
330
316
381
331
230
341
305
369
286
288
261
216
264
310
362
330
376
282
224
290
372
404
280
226
389
258
242
331
282
291
300
426
279
303
305
336
329
320
344
384
327
331
245
308
267
285
381
403
351
243
336
316
297
339
295
400
310
290
302
315
331
341
302
341
331
282
359
279
228
311
276
281
345
328
347
327
335
329
427
283
330
300
310
304
286
317
336
325
284
277
266
372
380
249
289
305
300
301
351
291
333
336
277
260
410
291
362
243
357
349
212
325
219
285
343
347
267
345
330
341
377
301
331
280
287
317
296
287
318
344
324
307
299
264
274
299
348
340
390
322
300
311
336
313
366
217
311
348
363
308
323
335
311
419
328
361
166
366
378
304
235
342
315
324
373
285
345
231
304
289
319
303
315
243
279
281
258
269
345
364
347
303
291
319
406
292
236
206
295
236
327
354
291
312
307
280
307
294
246
367
307
324
298
288
352
285
232
312
327
374
322
361
341
352
291
262
307
360
411
285
394
318
241
310
259
289
333
203
346
269
408
349
321
258
277
358
326
382
295
258
239
279
368
368
379
366
352
295
342
316
385
333
326
312
307
325
298
335
309
324
363
409
322
355
281
348
316
336
253
400
359
312
310
246
326
330
316
353
366
229
271
301
200
347
298
304
284
332
228
329
371
316
302
358
382
343
276
278
302
309
422
252
334
342
381
350
333
287
266
304
229
391
362
346
284
358
272
268
378
362
287
326
246
240
228
378
248
268
224
312
339
314
303
413
343
383
336
283
331
303
321
247
212
268
264
232
320
298
353
342
337
300
321
288
299
305
399
334
374
336
347
247
273
323
283
368
294
322
357
347
357
356
302
217
300
313
222
303
282
227
265
329
370
350
346
264
280
276
330
316
254
245
344
292
302
373
269
289
272
284
310
361
302
348
344
302
343
376
306
310
297
303
327
285
336
347
334
270
226
349
274
326
270
275
293
338
333
287
250
343
263
308
309
276
263
303
310
340
347
348
349
354
312
434
279
271
276
288
332
369
304
277
234
348
313
291
324
221
340
309
395
326
340
269
240
314
254
300
264
336
319
326
311
325
418
283
363
362
229
251
239
289
354
302
262
347
320
311
250
273
332
303
229
243
333
344
369
281
411
358
344
348
401
241
358
283
255
312
292
312
421
359
337
351
324
329
235
275
352
268
301
320
281
389
348
390
358
266
315
308
312
290
337
335
250
362
315
391
313
320
368
299
272
277
433
325
287
355
310
332
348
311
404
271
322
317
288
382
316
381
315
318
361
251
334
259
338
238
230
404
299
360
344
315
344
373
259
315
293
293
314
351
324
340
286
317
276
346
261
275
316
288
249
368
235
345
368
336
402
273
297
296
317
304
314
331
354
247
267
300
296
307
315
292
344
323
285
349
305
299
264
270
325
276
367
316
309
274
305
310
330
389
315
285
397
342
209
346
315
333
292
389
339
302
339
330
289
236
368
333
286
300
334
310
308
307
310
323
332
309
352
268
355
314
305
324
306
285
364
361
301
370
251
319
332
385
349
364
291
299
374
320
296
325
347
289
354
386
274
298
394
348
380
372
270
296
360
326
350
296
364
332
291
349
354
285
357
267
319
303
325
346
365
274
325
321
311
392
348
397
296
336
366
278
341
221
236
397
360
258
316
286
335
368
296
332
273
321
357
309
275
288
279
274
319
323
306
333
302
275
305
345
347
337
335
389
296
375
322
375
342
340
345
334
325
261
347
252
267
304
274
347
317
288
286
364
258
340
243
297
241
275
335
310
332
317
305
339
322
184
372
369
373
345
285
211
292
390
285
340
305
354
272
259
325
331
289
303
337
342
291
253
378
273
388
216
288
269
200
286
344
357
422
278
257
364
350
376
358
271
322
242
290
331
363
300
378
331
283
306
245
319
267
365
369
324
284
245
276
347
310
326
366
342
277
324
305
255
366
282
243
230
309
415
339
330
331
298
220
356
271
282
300
338
296
331
237
269
338
335
270
396
402
229
314
299
280
321
326
354
291
339
311
316
349
303
307
371
281
304
327
330
289
295
379
269
308
309
298
314
358
326
357
275
348
310
325
274
360
314
334
321
355
382
378
362
261
320
332
358
221
295
352
320
320
339
321
313
291
335
261
321
265
280
261
262
321
348
289
236
277
283
281
307
326
421
347
330
234
308
360
370
308
286
280
348
366
318
357
324
291
391
318
268
277
230
327
318
347
313
394
334
359
319
287
430
351
385
415
322
274
315
312
291
329
275
348
282
245
267
378
320
356
345
229
343
273
279
345
329
383
352
380
234
327
335
357
251
376
330
402
320
305
373
305
320
313
325
359
389
258
285
311
351
331
295
336
249
227
344
340
285
275
399
273
385
228
317
298
334
355
274
370
339
316
240
376
364
303
338
380
336
369
260
378
323
352
190
278
368
370
376
359
387
304
278
315
285
188
381
355
254
320
331
292
311
275
277
366
333
338
259
373
332
317
337
418
334
216
224
261
243
332
305
294
270
306
310
363
334
336
351
252
353
314
344
395
299
349
239
387
276
291
337
330
339
388
317
307
319
360
289
364
346
265
345
376
342
383
255
382
304
329
361
305
322
293
371
324
352
338
254
380
285
338
307
309
333
315
248
365
269
351
374
326
254
355
340
317
377
360
343
384
239
340
350
336
281
339
280
326
317
337
372
297
268
377
368
321
316
371
362
369
386
358
252
282
392
279
314
337
307
270
343
268
274
326
381
338
246
259
360
341
343
360
396
341
274
329
282
229
361
308
359
337
308
321
334
306
193
326
312
370
299
315
283
356
323
382
281
186
237
316
300
257
276
237
290
300
282
350
291
287
250
354
357
337
224
404
281
328
247
331
285
346
258
252
358
263
292
321
324
405
341
286
360
401
239
318
287
356
273
284
279
336
310
282
337
370
383
295
286
355
220
325
342
312
323
280
310
242
343
397
284
368
396
300
315
291
307
303
339
327
314
333
306
217
341
290
264
378
345
297
284
188
341
363
369
298
295
352
350
322
304
299
210
352
298
254
343
340
368
393
343
372
369
348
347
292
307
277
399
327
241
402
287
304
213
231
302
264
319
326
305
265
300
423
314
315
289
282
235
272
322
212
314
295
301
363
312
303
342
266
394
301
329
295
373
274
283
383
349
280
314
325
317
296
266
353
351
321
299
342
311
314
266
387
318
270
354
297
272
289
316
279
361
389
345
381
306
272
327
363
346
286
368
332
330
366
324
283
376
270
252
311
310
345
397
377
359
268
287
362
273
274
303
342
279
398
374
384
407
247
373
349
352
367
323
388
333
369
357
278
334
257
315
318
315
339
351
276
416
317
301
318
284
246
399
237
333
347
308
315
256
301
264
350
309
190
433
384
243
295
247
248
322
332
240
304
351
316
245
246
351
247
249
311
368
363
290
323
311
219
301
305
300
397
363
317
419
282
271
338
240
329
296
320
318
341
332
323
253
297
323
320
376
326
257
316
291
346
336
327
346
304
316
383
339
343
372
326
271
307
330
307
252
237
300
291
345
269
272
351
400
300
312
309
269
362
258
298
328
378
357
279
315
372
383
285
389
337
267
300
341
368
319
291
297
274
306
269
330
359
343
327
249
322
307
311
253
302
267
393
367
386
294
317
248
243
290
357
331
385
398
349
258
318
370
298
351
274
327
249
279
237
352
295
252
271
317
248
354
291
292
349
329
326
376
348
354
284
406
249
325
339
343
264
240
310
247
315
356
282
388
317
368
321
303
326
327
290
349
265
253
314
386
422
414
317
361
338
398
340
296
290
328
350
339
351
212
284
331
261
330
320
327
321
316
336
315
253
305
304
292
263
331
370
252
253
321
331
305
299
326
335
261
337
219
281
337
357
348
321
231
208
307
241
279
345
265
372
352
340
361
326
407
336
346
309
310
322
310
243
321
300
370
352
302
313
311
349
356
320
342
242
227
316
330
275
326
344
272
240
326
300
355
330
332
315
322
302
234
364
371
238
362
299
367
254
306
299
351
332
417
366
338
333
317
313
334
283
307
223
363
357
304
319
273
200
316
277
360
304
430
319
316
337
343
353
327
403
360
379
381
311
272
343
302
256
377
237
297
362
317
308
259
333
365
295
300
334
363
219
353
270
366
389
294
283
359
301
232
350
320
242
327
295
296
355
354
295
330
228
312
265
276
371
327
322
280
308
332
331
386
296
244
336
319
319
306
356
353
320
347
321
389
440
330
315
304
378
267
264
230
299
261
309
324
372
382
292
304
291
295
331
298
213
356
245
370
330
399
312
403
341
409
410
273
224
342
343
336
257
283
264
303
300
324
319
332
274
340
262
382
219
307
335
337
330
313
269
334
381
346
298
298
319
353
287
339
384
302
277
265
349
272
347
378
333
267
235
311
368
346
329
349
381
361
312
322
261
250
292
378
288
341
279
217
270
289
323
345
323
218
319
348
390
375
288
327
315
355
343
307
338
332
263
288
329
248
354
329
304
304
321
364
351
397
286
223
295
316
293
386
317
309
314
340
363
373
317
380
338
265
384
368
244
375
286
375
306
338
291
258
297
289
380
283
348
332
293
346
274
319
334
361
358
367
201
327
284
295
361
320
271
298
347
359
308
373
275
303
353
335
307
327
305
320
236
300
343
364
346
333
297
358
287
328
365
279
340
365
234
364
338
276
265
346
340
309
374
281
300
358
344
222
362
317
302
301
266
323
240
341
278
271
221
239
305
387
255
340
348
385
291
364
329
306
253
244
393
266
288
342
359
356
327
331
323
292
315
283
353
335
340
246
374
306
279
281
350
225
253
283
420
287
278
352
351
281
322
347
351
334
313
340
368
264
289
357
377
216
317
271
346
356
359
341
340
337
342
297
324
303
256
250
312
294
347
292
376
361
322
288
342
323
265
289
340
372
311
319
218
175
365
302
308
322
324
295
318
366
373
294
347
340
362
375
359
304
333
285
297
252
296
270
279
304
205
202
318
319
279
246
339
183
300
293
305
362
347
320
360
359
233
368
292
304
225
355
340
333
358
301
337
302
358
357
346
361
356
279
331
299
276
306
301
325
311
327
346
265
334
315
293
337
282
298
379
239
322
259
353
371
339
345
305
270
255
292
287
339
272
309
302
389
309
299
245
351
278
328
292
298
297
347
342
281
368
299
292
298
277
371
322
319
324
334
303
349
271
306
352
268
280
296
375
270
325
388
260
349
255
261
278
308
280
294
354
371
294
319
328
259
328
333
349
293
306
261
302
321
346
292
371
228
314
237
269
393
313
281
301
307
311
326
293
185
302
234
240
256
456
338
326
375
244
324
371
388
349
274
391
393
354
299
335
332
376
311
373
313
289
372
282
367
303
261
265
371
289
331
393
366
379
344
341
305
264
302
361
376
371
267
304
353
275
344
230
351
318
316
390
313
286
340
385
263
291
287
325
337
271
338
295
262
371
330
322
312
351
356
341
297
339
308
363
361
295
305
230
349
330
321
359
207
308
307
321
224
304
301
248
325
309
341
444
281
352
292
322
335
361
287
307
314
322
348
319
362
319
355
418
363
292
410
231
356
321
281
363
257
316
259
392
307
386
333
321
233
339
266
287
309
319
382
393
315
329
400
384
379
330
365
297
357
410
447
353
386
292
376
295
311
393
381
358
353
270
312
371
313
212
364
325
325
210
314
350
328
302
277
309
240
287
288
330
320
371
266
290
337
319
291
260
355
357
277
375
342
277
343
351
319
380
314
380
326
328
360
308
361
321
323
355
318
389
317
260
360
320
286
317
285
367
389
332
315
306
354
360
302
269
372
273
420
276
303
225
297
374
351
313
353
340
328
290
357
283
382
349
292
214
345
307
351
248
332
239
315
233
327
371
402
355
230
310
316
276
262
377
305
343
264
254
393
301
309
318
359
281
303
243
327
304
291
347
286
314
295
329
370
307
277
305
306
403
353
346
377
322
277
357
308
314
339
313
391
364
261
374
379
223
286
319
240
297
308
357
311
329
447
360
335
398
244
399
329
331
360
276
277
351
298
283
314
305
335
318
269
355
253
380
343
341
348
324
260
310
379
274
339
356
269
273
248
278
364
364
333
294
304
350
288
364
315
344
350
313
331
252
345
330
287
327
322
229
294
353
275
286
333
363
272
291
295
280
355
345
299
350
233
323
348
302
324
419
269
379
317
366
340
261
292
315
353
248
343
334
308
403
310
304
327
279
244
336
347
361
311
272
365
314
336
328
321
307
298
356
225
314
277
287
370
330
222
258
287
247
266
284
339
403
336
368
294
335
233
384
295
301
332
258
356
297
307
319
376
322
313
311
370
267
294
261
344
244
286
297
349
375
285
363
292
281
322
317
280
405
332
358
219
387
315
324
293
329
283
376
367
293
340
282
354
328
280
361
301
330
247
311
348
366
341
330
329
353
218
295
179
272
313
351
334
377
291
327
371
298
329
329
323
340
340
338
309
314
244
428
335
382
259
306
310
352
377
323
294
308
264
260
255
271
295
323
266
359
299
300
309
352
255
337
282
334
316
273
314
267
324
279
292
366
321
296
312
319
247
302
288
346
337
294
297
371
402
400
374
360
291
264
229
288
351
273
289
230
363
360
356
392
338
297
315
235
341
358
306
359
267
363
330
392
262
282
325
308
278
365
337
324
270
271
336
290
298
349
336
318
314
349
318
284
281
283
279
373
348
306
278
333
265
274
251
269
325
289
374
238
359
350
268
273
422
354
303
393
335
377
327
361
352
285
311
302
362
349
338
350
372
337
336
330
368
316
311
354
397
267
373
308
282
258
331
308
306
318
349
289
271
296
281
290
363
376
326
277
309
358
367
315
398
295
396
382
327
244
346
348
309
264
305
326
313
347
384
275
309
308
299
320
287
339
351
228
232
346
235
364
271
310
275
311
285
354
319
345
331
249
452
339
277
345
283
307
266
285
306
321
318
330
356
336
244
381
277
393
314
231
344
321
338
308
343
336
376
389
303
338
306
283
242
288
256
358
253
356
364
291
372
378
403
334
367
354
378
308
408
347
255
289
371
375
311
256
347
322
327
193
332
335
429
266
361
282
374
384
287
398
273
366
283
340
341
301
318
345
314
310
352
391
257
282
321
304
343
287
332
316
221
306
331
342
373
311
299
336
295
323
248
322
372
375
269
311
348
403
379
293
327
297
332
294
345
340
225
374
304
325
365
321
286
273
244
335
334
292
351
324
309
338
316
360
331
348
328
334
338
376
371
370
391
292
328
339
425
237
236
283
215
382
228
320
282
265
322
373
317
334
368
381
261
336
317
305
261
441
293
308
288
245
343
392
303
313
366
277
350
334
281
341
308
360
310
310
311
293
320
244
315
325
248
355
368
326
355
371
289
333
289
407
266
369
325
248
315
248
457
264
355
348
271
353
326
345
270
285
397
374
284
391
243
360
340
376
307
286
381
251
379
279
301
270
328
351
271
266
317
317
336
350
310
343
276
336
361
308
315
292
258
265
297
346
217
322
360
286
357
304
282
294
327
351
283
343
201
256
346
341
287
252
265
301
344
351
453
322
349
250
406
343
378
318
281
259
359
312
244
379
339
334
285
259
324
288
403
347
322
345
359
303
306
347
358
315
226
321
316
344
302
388
339
303
311
313
333
313
287
275
317
322
237
303
351
314
365
296
309
339
287
345
297
290
386
249
323
349
361
315
308
323
411
329
345
376
301
388
286
365
309
290
305
348
391
356
325
295
333
262
343
336
328
353
323
385
346
317
274
323
402
368
355
366
309
311
308
331
374
353
311
371
346
264
283
360
321
333
266
300
288
274
296
272
297
288
388
212
301
274
358
258
356
378
233
348
311
406
220
345
296
250
384
290
304
331
339
348
291
349
313
303
313
366
303
325
323
308
302
368
327
359
360
303
331
228
265
343
352
395
375
321
381
299
331
291
285
291
343
345
342
354
392
359
343
325
347
391
358
297
361
221
330
370
359
327
300
361
322
367
270
374
352
291
329
344
310
381
333
232
337
355
374
314
348
343
356
327
311
216
320
295
331
240
262
331
295
283
410
437
289
315
263
372
253
235
335
281
347
356
318
352
239
309
285
371
301
327
356
274
235
354
262
274
326
304
373
308
293
383
280
267
335
327
321
280
334
376
297
338
346
355
328
316
314
380
354
291
341
305
395
207
349
332
389
297
317
299
316
353
348
280
388
260
314
315
276
263
362
362
333
347
302
320
277
349
335
342
362
336
269
300
376
276
311
305
349
304
303
388
338
318
358
335
294
324
292
321
338
309
264
277
359
331
308
330
361
380
335
266
306
296
312
360
261
286
319
284
296
311
370
300
369
290
392
326
325
387
268
360
345
254
251
345
350
252
339
315
310
320
278
318
347
313
314
350
334
335
342
279
353
270
324
334
374
284
361
306
306
347
305
328
284
301
313
332
302
302
385
279
217
329
302
350
279
368
373
330
358
300
339
342
230
335
259
314
315
262
320
318
285
384
313
352
306
337
385
343
302
362
279
359
336
241
283
323
285
259
291
306
300
203
308
327
318
288
313
240
293
325
373
327
255
257
284
364
297
306
397
325
250
348
300
335
360
309
217
362
311
325
386
353
308
277
282
289
346
329
257
353
413
304
362
298
258
302
276
302
283
242
228
298
334
357
300
287
324
289
299
315
310
245
388
258
299
308
298
282
312
216
348
322
294
319
313
345
336
249
428
332
328
321
331
272
201
230
275
270
294
303
209
314
410
372
350
330
271
342
264
401
308
265
342
235
354
319
405
332
361
291
321
210
261
304
316
318
364
274
249
275
299
318
305
329
289
323
334
379
279
360
297
269
328
220
286
317
330
370
303
354
413
274
341
261
347
351
371
279
332
342
312
287
365
370
286
336
307
359
190
277
298
385
323
334
380
359
289
319
338
365
352
331
364
356
339
307
279
331
300
382
320
368
301
404
307
308
268
372
266
316
308
273
325
336
345
268
306
328
356
338
334
351
393
294
339
242
204
285
291
266
364
353
217
337
308
370
319
377
422
288
346
368
299
370
266
354
336
303
284
376
309
242
354
267
292
303
331
354
390
333
251
291
267
337
269
212
358
339
201
388
367
337
324
357
337
245
354
318
323
343
336
403
365
343
350
311
312
327
239
363
289
286
273
250
319
362
347
302
244
332
251
402
342
416
258
300
355
290
358
335
327
356
355
336
333
345
352
250
297
284
386
324
227
333
345
324
321
343
269
286
301
291
371
253
333
383
408
319
311
403
339
297
356
321
349
317
305
349
332
313
362
268
182
371
311
324
341
322
315
282
333
204
280
339
373
317
336
346
381
318
263
286
336
248
280
313
334
332
338
302
357
319
313
295
234
302
349
300
325
365
312
251
348
290
319
244
298
365
315
381
289
327
285
296
328
328
368
332
292
336
346
358
359
309
313
254
344
257
316
294
344
278
279
296
273
389
343
315
314
336
271
315
375
323
343
302
308
357
354
287
319
213
312
260
358
274
343
398
331
371
259
257
331
338
301
357
263
348
312
271
412
326
351
383
296
349
306
279
315
352
332
397
241
344
341
369
374
287
330
306
296
251
303
287
332
355
291
343
323
393
383
319
298
380
429
286
335
275
330
375
348
208
340
275
267
360
271
369
325
281
216
342
335
298
400
330
306
285
360
271
322
256
348
408
318
304
363
358
341
368
273
399
347
268
303
277
373
371
262
293
408
263
303
342
358
338
378
215
304
185
306
395
306
292
383
362
323
316
272
315
324
366
403
282
361
384
319
325
275
325
433
329
349
318
313
328
256
296
296
367
285
378
326
324
323
287
320
365
303
409
392
342
334
289
310
307
309
378
312
335
314
301
394
356
349
330
197
300
333
388
340
241
300
378
256
327
392
311
213
283
380
430
302
410
323
256
338
311
271
330
295
275
335
398
377
271
336
380
272
228
296
291
316
351
308
270
339
348
414
345
362
342
364
353
256
286
283
415
372
365
343
287
337
290
346
342
314
285
263
285
357
350
245
325
258
359
301
358
347
344
307
254
279
345
347
242
319
360
364
288
345
307
310
355
341
299
220
321
332
284
320
378
255
336
392
353
331
306
209
354
307
293
315
320
311
242
324
349
282
302
265
298
331
353
313
329
290
291
329
390
306
302
331
324
295
355
316
325
319
292
290
337
351
287
331
232
355
295
376
304
406
322
294
411
316
295
279
245
292
284
296
199
308
273
420
412
307
322
321
289
260
310
356
357
413
284
274
268
274
314
338
327
356
318
280
290
305
327
260
281
289
337
221
347
316
318
298
370
372
256
300
305
345
222
309
306
255
398
261
274
291
306
382
299
407
249
349
274
271
293
350
365
274
317
228
336
325
275
348
295
330
282
312
349
303
264
292
326
347
233
260
326
313
279
257
300
355
386
296
282
310
290
323
245
331
346
231
332
386
290
294
370
224
363
331
305
353
258
251
375
369
338
325
342
333
281
297
318
360
356
319
390
386
276
353
302
361
340
323
344
337
239
373
423
260
293
306
352
320
315
301
341
360
333
307
330
267
282
274
301
349
287
290
243
293
271
256
267
256
259
288
247
326
287
354
281
313
265
261
348
270
288
331
326
379
240
269
248
303
263
319
285
279
402
319
346
310
293
347
305
246
369
364
354
428
299
305
306
245
286
274
377
320
288
324
255
389
356
293
248
285
266
324
197
261
339
319
300
391
303
286
248
337
372
380
269
277
332
283
349
292
350
359
351
280
342
347
237
275
287
235
315
303
256
361
355
360
368
344
337
311
280
274
253
268
313
325
268
266
331
236
324
362
283
327
282
280
297
331
390
358
262
341
345
326
296
306
299
335
282
383
311
300
300
255
287
317
346
304
389
306
348
358
278
193
344
323
275
251
304
318
306
339
346
307
275
249
274
294
310
356
344
352
335
250
294
199
266
342
363
302
286
250
363
334
356
218
344
295
306
329
275
253
324
364
354
368
310
311
379
312
321
355
351
344
231
299
340
201
319
336
324
330
280
345
311
293
369
384
368
238
294
332
282
348
227
301
309
312
314
272
300
252
337
349
334
356
258
268
300
401
282
351
296
237
306
341
313
217
294
290
260
297
328
332
333
327
275
230
270
315
382
213
254
297
297
276
261
270
287
300
332
244
340
323
305
294
352
264
315
270
327
404
294
293
311
256
265
308
317
401
361
350
265
351
337
363
239
288
348
367
275
352
364
354
305
326
355
283
303
278
261
343
322
338
317
281
288
261
281
351
339
357
276
326
350
327
326
367
324
298
318
323
363
351
308
316
375
436
288
320
270
260
323
240
282
311
362
310
327
321
299
274
386
320
302
218
334
352
247
378
267
308
221
339
231
330
294
280
348
345
295
313
404
298
378
402
345
323
293
289
284
272
395
309
343
321
353
362
291
311
287
269
325
314
328
349
282
310
318
322
274
314
291
346
277
200
346
338
360
333
305
370
323
221
329
293
353
294
329
339
271
313
286
345
294
330
267
444
324
345
325
359
305
318
284
361
276
385
305
360
296
350
243
324
296
380
243
262
369
314
307
352
357
288
391
280
242
247
369
410
355
356
303
260
231
337
309
423
274
305
261
333
358
303
348
307
303
295
308
300
341
381
313
316
340
290
304
356
256
393
287
307
355
356
215
291
347
349
292
324
295
284
308
287
332
254
265
337
247
377
228
406
219
359
380
348
423
218
266
254
293
313
326
272
336
272
355
309
281
324
318
353
323
281
285
271
374
290
277
260
343
304
213
397
382
250
289
349
303
372
393
339
396
422
337
248
341
365
320
313
321
345
325
305
224
294
321
256
303
326
259
336
264
362
279
255
271
266
313
349
269
288
269
289
346
346
248
278
255
303
316
402
305
218
310
269
371
301
236
308
262
366
288
338
298
364
340
272
348
359
249
319
290
298
276
288
318
293
303
341
319
278
222
354
297
316
312
282
290
395
402
384
303
341
282
261
297
251
414
288
196
379
326
265
231
297
343
290
362
386
343
291
367
369
351
347
264
263
391
360
354
264
278
329
349
253
350
418
273
327
357
385
322
314
265
289
405
246
411
351
258
324
361
303
264
296
412
336
411
299
294
271
319
292
338
307
307
237
366
344
245
314
298
334
320
345
271
404
331
241
275
379
384
332
263
179
358
304
308
344
256
368
255
344
241
298
328
351
374
364
333
314
288
293
327
238
375
303
399
363
328
327
281
386
272
238
267
423
309
257
361
284
243
321
425
244
325
289
283
369
227
354
242
248
347
345
367
391
320
297
286
316
225
276
290
332
401
359
362
337
374
347
329
288
310
218
301
229
259
193
273
201
307
304
289
343
314
359
375
259
372
359
309
318
328
312
305
294
315
360
230
315
319
287
305
322
400
376
264
260
364
361
379
320
412
339
373
373
281
347
343
276
283
252
282
241
238
346
325
299
342
319
305
293
309
294
329
380
238
328
288
307
357
293
280
306
350
353
303
377
272
273
272
330
413
256
314
299
280
259
328
287
390
327
306
331
309
250
350
327
374
279
314
297
331
361
309
340
365
302
337
370
311
380
325
297
304
261
364
303
286
341
313
334
434
355
320
338
457
309
347
278
280
337
337
292
302
273
301
308
285
294
280
409
376
189
326
315
293
326
314
326
263
403
389
329
301
339
320
381
356
315
310
347
273
327
343
320
288
285
364
317
366
363
297
260
307
286
285
276
297
378
270
329
396
302
307
285
351
347
367
315
320
301
355
349
216
322
342
374
294
346
251
279
351
379
317
285
345
246
262
307
296
291
320
359
316
395
360
330
330
267
282
262
305
257
268
317
268
407
358
329
222
291
292
268
356
286
330
304
307
311
320
360
327
338
242
354
362
371
397
304
282
318
401
271
390
326
319
221
301
317
305
248
324
349
332
362
322
393
300
358
320
251
266
306
244
292
373
292
328
312
338
372
306
309
340
348
291
245
311
237
368
315
367
273
315
313
338
300
288
362
235
339
293
242
280
312
381
279
240
304
246
378
398
244
340
348
338
360
332
230
409
301
365
323
334
274
334
324
190
315
321
337
280
344
314
304
322
368
251
337
329
274
382
309
282
267
374
238
290
338
288
370
293
274
291
296
295
263
388
365
329
326
415
298
343
308
319
344
314
300
333
273
332
326
318
328
321
346
313
330
312
285
281
340
216
334
321
349
315
360
291
349
392
386
268
300
342
353
264
269
307
269
370
316
317
322
260
397
258
276
260
306
329
307
352
411
366
337
379
332
398
326
291
252
330
322
404
286
289
389
327
223
314
315
303
276
371
317
248
335
256
320
263
336
392
333
303
327
304
381
283
287
349
273
346
319
304
303
324
335
309
251
283
369
335
267
203
375
275
285
281
311
288
312
409
323
307
266
278
223
332
329
272
352
319
271
270
369
426
312
300
327
340
230
249
258
386
351
339
376
338
366
350
394
278
258
366
310
343
377
327
335
353
275
309
304
339
328
279
295
314
361
299
383
308
264
357
321
333
389
316
315
320
332
394
360
314
391
309
292
214
356
317
356
351
301
274
371
266
332
269
318
249
299
314
426
354
383
337
260
299
347
338
358
314
326
265
399
182
290
400
305
299
367
359
290
363
395
362
290
314
281
329
304
312
356
267
404
328
369
304
367
311
373
326
380
222
258
351
323
293
400
311
371
293
341
295
350
348
318
335
357
345
296
335
276
336
363
381
403
407
354
329
281
304
369
256
325
359
217
354
309
350
372
316
297
265
336
283
366
379
336
342
281
337
297
334
280
334
308
290
404
377
301
353
310
362
350
349
315
266
332
330
309
353
362
275
320
317
311
302
350
304
353
295
370
332
269
373
321
280
250
304
355
289
284
388
363
241
316
371
300
243
321
310
231
386
242
253
244
245
262
297
297
324
348
358
334
332
336
246
273
286
301
422
320
365
399
256
366
340
265
314
341
365
380
299
359
358
348
350
339
194
383
380
285
340
361
359
207
348
363
254
334
247
393
275
320
367
429
305
366
275
283
283
381
251
362
223
315
288
373
388
337
362
376
281
280
314
260
347
350
376
262
411
389
347
360
245
334
392
292
349
312
288
361
330
342
337
351
260
297
362
280
383
288
326
337
295
266
295
332
339
240
332
212
420
304
282
336
279
341
285
268
238
285
317
300
305
372
318
384
316
294
349
315
313
271
286
333
327
252
288
328
301
275
249
270
320
330
344
308
345
364
361
263
409
354
301
293
321
337
347
353
384
339
324
303
322
341
344
268
273
353
425
357
372
289
299
263
231
323
281
262
341
226
356
315
280
305
370
260
417
341
330
363
281
327
336
312
292
355
314
352
272
355
245
358
272
252
335
367
311
356
256
346
370
381
375
256
336
336
279
338
281
318
272
321
285
240
316
258
269
244
220
335
356
290
324
255
287
332
286
314
261
274
386
367
328
320
394
341
373
300
299
417
351
372
287
344
309
297
311
392
373
257
341
360
304
310
344
400
308
284
349
346
297
339
292
316
270
347
243
330
362
277
346
321
244
357
349
303
270
321
312
257
285
286
270
317
353
304
236
361
388
407
303
358
301
310
305
311
368
322
428
315
301
347
319
301
327
338
244
366
316
304
332
283
301
339
361
312
309
328
195
325
327
325
330
382
330
274
285
254
371
372
297
403
276
382
379
361
310
317
290
391
372
310
277
273
298
354
350
248
220
286
313
242
350
342
295
302
230
337
365
314
328
335
325
356
320
311
246
300
312
275
342
380
287
246
281
379
377
359
273
300
337
255
309
291
351
362
359
307
313
249
369
294
313
364
303
286
351
304
288
397
366
325
222
367
313
323
328
365
353
305
305
330
321
347
308
301
307
334
262
299
307
311
293
335
314
342
365
340
390
326
373
294
369
307
350
243
262
253
317
315
396
371
276
312
318
376
407
358
299
382
379
342
310
272
301
306
301
323
234
239
196
328
376
369
376
307
328
354
291
385
246
284
301
392
305
304
290
383
246
362
305
356
272
316
250
349
244
363
324
269
327
295
349
279
330
397
280
372
308
354
375
359
315
393
273
349
276
278
322
346
322
225
303
344
278
283
282
268
356
442
296
344
400
279
283
334
284
325
307
363
366
266
360
282
327
382
323
385
315
264
327
283
275
342
358
289
378
333
233
313
298
355
280
356
184
357
274
308
360
381
344
251
328
399
323
287
330
305
346
362
294
354
316
380
294
366
318
303
367
316
319
253
342
271
329
364
283
316
301
302
290
278
250
207
297
391
349
268
320
323
322
371
297
258
388
320
367
327
304
349
328
356
392
303
333
283
416
379
326
308
328
393
356
284
359
302
247
339
315
403
315
339
314
393
285
357
302
365
362
369
352
341
298
343
325
337
277
297
298
366
314
298
290
389
271
291
306
345
334
284
378
282
284
340
328
301
361
319
343
379
262
272
266
346
406
378
355
329
330
284
347
313
375
247
332
170
319
329
361
311
349
358
265
317
334
383
281
258
241
348
301
361
350
320
299
345
256
254
317
346
303
310
292
253
303
332
334
366
378
241
379
342
257
377
396
397
215
289
318
344
384
354
293
388
350
337
323
348
350
357
267
397
275
312
378
334
333
291
324
349
242
273
292
317
338
385
271
228
325
282
338
291
386
304
412
342
412
322
319
314
241
262
286
303
306
313
309
303
303
321
366
270
308
308
319
300
318
344
324
295
285
304
314
269
387
320
360
356
372
280
343
264
352
408
368
307
348
262
277
342
227
252
290
328
292
347
336
267
306
329
345
303
349
372
330
291
285
331
315
344
388
353
363
312
326
304
332
247
399
287
405
278
326
343
319
278
361
298
398
301
260
278
340
319
320
361
314
386
357
328
353
379
334
300
322
319
276
350
371
386
329
322
348
344
393
279
282
360
357
327
301
266
281
323
275
317
301
456
336
252
270
308
336
379
303
417
423
328
297
189
374
267
316
309
401
306
301
350
313
330
318
265
336
298
253
352
309
309
312
313
201
342
236
293
252
361
255
307
369
315
311
283
381
327
361
314
287
275
319
336
279
353
241
263
390
288
304
280
356
272
315
364
305
372
343
339
382
323
334
277
370
317
215
330
408
414
301
338
268
422
314
250
381
326
309
365
268
314
309
354
312
358
304
315
358
354
191
344
365
301
343
277
330
303
328
381
359
377
358
350
277
264
349
345
300
348
272
313
301
335
319
280
359
382
291
278
260
274
345
297
348
305
249
424
365
261
292
381
362
322
286
277
310
341
229
298
286
308
347
333
352
306
259
321
382
256
370
344
374
406
294
350
313
401
289
398
277
326
286
346
344
270
312
352
280
277
303
389
291
363
361
401
365
337
394
319
283
351
407
259
309
331
370
370
331
310
350
315
270
296
388
345
350
306
349
283
317
248
349
326
437
357
317
258
345
288
302
353
356
321
326
334
311
297
290
315
301
339
345
267
404
356
381
240
346
257
309
287
225
336
288
327
304
352
342
348
262
288
343
275
311
347
351
352
293
271
339
212
321
345
348
308
217
301
245
279
310
317
309
279
359
310
323
270
396
347
310
392
341
279
291
326
247
295
291
404
273
318
337
323
350
315
325
312
270
291
320
327
331
405
332
303
315
368
380
255
301
358
300
343
281
332
273
236
355
261
347
348
264
337
290
288
327
340
338
319
361
321
334
330
315
359
377
349
293
297
331
297
358
224
412
356
389
341
338
207
234
330
303
367
345
253
245
253
340
308
303
377
315
372
264
301
311
351
366
427
340
329
276
281
370
352
345
312
375
222
407
298
371
391
291
289
359
313
308
312
292
306
296
320
324
230
422
272
328
256
301
358
243
358
263
310
340
313
353
335
306
320
281
251
306
362
345
303
312
391
394
348
325
282
311
303
339
313
393
336
254
303
349
287
285
350
373
353
292
257
308
280
288
346
340
410
324
373
311
372
290
297
294
278
353
293
370
303
376
282
350
356
310
387
289
319
323
417
297
356
275
317
338
271
343
318
326
342
263
413
307
376
336
321
344
317
351
292
290
281
332
257
262
319
280
328
367
289
335
364
363
358
317
274
368
312
301
271
381
301
297
304
329
374
392
351
405
356
374
338
258
299
283
384
438
302
371
327
314
277
332
349
248
361
335
380
292
300
335
301
366
344
300
310
388
348
315
322
308
314
286
318
305
295
335
356
307
298
286
284
231
284
337
356
258
311
332
358
296
323
420
416
160
375
328
316
319
412
265
378
349
290
378
250
303
277
288
312
314
313
279
345
320
381
271
361
302
385
275
312
308
326
415
356
412
366
303
337
287
292
305
296
356
309
261
286
338
323
370
371
316
404
371
315
386
311
328
345
348
328
398
371
316
322
396
368
272
298
314
288
252
363
331
301
252
326
302
351
309
357
382
356
310
272
190
251
329
307
350
232
346
352
274
319
219
274
283
248
299
389
325
306
375
240
317
299
355
266
284
310
419
271
357
268
418
280
291
223
337
213
280
377
355
350
304
261
291
318
375
317
252
353
329
270
276
371
290
327
323
346
282
376
301
315
291
306
288
287
312
328
348
286
338
362
184
287
346
322
306
347
301
304
349
338
354
338
351
306
316
309
378
251
301
376
330
288
276
336
365
309
360
308
311
294
251
247
288
279
308
344
311
312
313
314
429
401
293
432
363
374
294
369
417
254
374
276
353
334
284
285
296
363
298
348
352
279
302
321
343
295
331
252
303
301
348
332
332
342
233
336
303
297
289
384
305
211
358
344
308
363
301
392
314
348
416
285
274
273
243
378
346
362
240
377
314
295
398
298
293
311
340
251
332
363
334
263
298
327
315
242
261
350
315
184
336
333
318
307
309
271
313
306
282
251
288
300
287
324
323
328
270
280
351
313
330
396
358
362
307
295
312
308
304
336
323
338
340
321
225
281
334
362
329
329
267
358
259
291
300
336
306
314
287
350
324
347
278
342
396
329
257
279
311
347
274
317
287
284
321
297
276
295
267
390
301
330
247
340
309
404
318
254
350
340
233
314
343
338
351
335
286
359
323
292
340
293
322
364
366
332
306
223
371
357
364
255
249
340
237
159
362
321
250
409
282
329
319
249
291
302
353
260
357
273
308
332
261
311
298
376
357
295
350
303
260
345
344
345
330
300
330
363
312
329
349
221
349
304
344
351
376
342
276
324
296
404
231
439
311
371
338
302
322
308
319
278
332
312
278
295
330
317
272
340
384
242
251
284
349
341
389
368
273
302
305
328
344
234
332
345
298
328
265
263
294
290
374
367
330
314
295
366
237
397
396
303
301
328
337
317
363
333
321
346
330
305
260
277
325
230
191
316
309
399
341
357
338
345
337
289
257
392
250
353
384
320
246
265
230
333
373
285
389
328
332
246
273
365
304
324
264
331
280
386
286
271
270
195
309
290
201
364
329
260
269
327
355
286
431
249
376
357
280
272
366
255
309
315
326
302
263
346
311
312
302
284
347
237
291
399
352
252
417
333
318
335
307
363
300
368
248
390
297
265
390
345
371
348
296
346
402
368
332
269
331
260
256
299
289
373
266
271
330
332
282
347
360
291
291
239
326
299
378
335
381
236
314
326
295
282
374
231
368
261
311
317
296
346
274
258
251
272
336
346
324
316
261
332
257
285
320
384
283
306
346
315
363
333
288
411
296
342
393
274
310
366
362
302
347
323
372
237
266
284
316
332
267
305
371
329
350
276
312
299
241
261
287
348
225
295
314
292
288
340
288
238
329
339
258
346
318
354
299
381
335
362
329
347
368
240
337
305
285
301
261
318
362
339
349
383
312
297
272
327
236
318
345
265
332
263
302
286
236
437
268
303
266
319
348
320
298
256
308
331
343
251
400
274
320
353
287
401
385
347
330
290
330
312
349
400
304
337
394
255
407
349
235
394
314
276
321
228
326
374
342
290
334
227
374
289
264
294
393
377
300
381
282
262
277
315
380
248
279
289
308
335
412
255
316
286
374
264
299
275
231
291
325
337
292
312
346
227
301
296
315
331
388
335
323
354
344
267
266
339
266
321
333
257
299
268
373
295
288
304
334
293
302
309
242
311
332
278
347
323
343
362
311
261
334
267
298
314
331
358
295
261
342
354
319
318
335
343
382
393
322
294
339
337
313
311
263
245
357
300
309
349
334
313
303
279
246
277
278
301
229
297
348
331
343
364
278
316
308
317
346
251
309
284
333
397
312
294
351
296
319
336
345
372
302
346
357
293
338
252
298
323
361
350
426
403
306
347
406
352
345
387
347
276
220
321
273
298
303
288
290
326
340
206
373
316
325
267
376
241
336
296
317
292
334
357
349
282
285
235
286
397
314
324
264
368
282
261
335
325
359
388
310
336
326
273
323
304
304
269
354
279
299
263
406
349
335
294
336
395
249
307
341
336
342
306
315
305
232
243
352
345
332
277
247
278
392
292
382
304
216
370
348
330
351
362
370
288
352
331
367
357
293
338
387
239
331
239
253
334
314
257
366
397
271
264
298
335
361
326
314
353
370
339
374
335
323
333
287
398
295
153
354
335
341
392
299
204
372
309
359
257
250
267
335
286
318
311
375
355
387
356
288
396
321
296
304
351
334
285
346
272
357
309
306
300
298
382
321
337
324
288
333
416
406
365
335
288
227
254
346
296
347
304
325
317
329
249
340
401
317
336
257
323
334
377
355
360
362
291
347
338
320
326
277
384
343
298
384
281
261
361
202
331
317
366
378
359
278
289
363
284
352
379
338
378
266
404
354
265
280
310
407
323
299
354
358
289
360
352
229
292
307
266
303
391
270
348
311
375
325
368
272
375
328
257
274
351
307
312
256
274
330
321
391
341
360
314
333
291
331
308
291
392
231
335
320
387
339
247
321
261
322
246
352
373
312
269
346
418
343
330
331
384
320
302
345
240
343
375
349
336
361
380
299
311
450
274
327
380
409
244
340
342
321
315
250
309
363
347
250
334
259
269
257
411
246
369
360
278
311
323
280
363
328
346
344
349
279
301
360
383
271
374
338
308
267
247
301
375
287
315
340
343
327
379
267
289
309
200
345
320
352
319
332
407
325
199
376
364
373
351
334
246
339
370
215
313
241
367
342
358
347
319
290
316
355
283
284
295
289
385
282
316
385
279
298
363
265
257
347
373
331
283
278
326
264
350
304
251
260
293
266
277
344
335
348
284
199
325
327
290
284
304
374
308
351
348
325
359
257
304
334
303
336
343
296
342
218
362
347
331
296
364
320
255
383
355
320
265
377
269
330
202
314
373
384
279
365
337
251
256
322
319
325
394
269
325
373
365
304
300
224
419
320
332
314
380
345
276
324
303
255
337
264
369
308
259
330
282
297
426
379
350
333
323
325
320
322
278
312
234
371
296
296
364
348
317
368
258
326
307
325
339
315
323
309
401
389
332
354
306
285
358
342
359
393
333
296
374
355
344
249
246
329
279
357
237
327
396
250
404
368
287
334
279
371
418
292
225
313
271
358
330
277
336
352
286
302
348
262
232
298
349
387
331
330
388
254
222
365
424
329
224
244
400
339
365
431
372
299
352
317
348
361
275
291
319
293
300
286
242
203
328
270
319
280
317
341
337
372
314
352
319
207
248
333
275
377
326
319
301
344
309
362
295
291
395
247
230
374
317
372
337
272
310
322
213
256
314
351
303
330
311
317
370
297
317
267
327
305
327
400
322
288
363
389
369
308
359
246
297
348
277
358
308
339
373
220
320
256
327
354
354
288
270
220
409
305
337
347
294
313
345
293
307
277
264
388
367
297
331
322
285
312
295
366
314
299
256
256
356
283
264
260
333
262
332
367
360
335
244
322
330
371
344
309
317
307
363
342
342
257
322
208
287
298
318
345
407
360
297
327
396
365
356
290
331
382
321
361
302
213
246
271
327
278
281
347
300
345
353
312
369
335
307
295
302
319
376
339
284
370
379
359
352
277
337
290
394
336
291
261
323
302
310
327
319
271
340
367
279
319
315
277
336
344
341
304
267
308
309
390
218
281
355
322
435
231
339
302
266
364
383
371
331
360
360
362
300
274
368
329
360
385
396
335
306
301
257
383
383
285
232
258
353
273
342
321
284
301
327
331
315
283
372
352
356
246
311
306
343
271
275
304
214
271
297
298
292
252
343
285
336
257
316
343
328
395
349
350
280
342
269
296
312
311
304
209
329
203
246
246
322
316
354
325
354
348
246
292
328
296
334
365
278
362
378
336
371
231
365
385
396
361
374
313
312
340
302
323
374
311
331
285
355
347
321
357
305
301
304
301
289
362
237
390
275
241
277
356
280
313
343
307
303
278
313
308
279
310
369
287
390
282
391
286
322
312
316
306
320
318
382
214
312
337
372
339
325
312
302
313
367
301
338
360
280
341
244
235
304
398
311
298
332
307
359
246
318
290
233
253
290
310
343
310
364
243
305
306
329
380
289
259
342
254
273
324
306
344
324
340
308
355
325
298
339
305
351
373
390
314
320
355
314
376
357
262
389
342
336
269
290
359
323
271
287
328
307
329
260
352
345
345
319
239
274
221
335
274
286
322
309
286
368
330
315
286
322
381
356
371
409
354
380
351
300
406
318
378
392
285
331
413
254
376
363
337
245
399
339
324
239
359
348
307
316
352
268
389
345
319
356
291
321
407
251
290
395
320
251
378
226
423
300
300
368
271
293
299
312
261
299
350
238
372
307
306
334
362
258
329
311
196
339
296
325
283
382
339
270
279
305
227
278
338
300
271
384
332
412
270
265
344
328
418
269
357
291
365
388
282
332
314
329
429
377
338
308
310
264
355
305
319
327
290
291
389
268
299
328
234
345
267
334
272
278
317
292
273
385
375
390
299
393
331
344
330
372
285
258
312
323
340
301
313
347
307
308
315
346
312
314
382
317
307
323
341
404
328
248
319
313
254
325
279
344
386
371
275
270
306
355
315
375
360
329
271
263
359
279
382
319
384
374
313
316
354
323
323
262
262
290
259
396
338
308
417
228
271
277
306
295
306
268
321
330
296
315
396
289
365
355
319
303
314
330
379
347
400
278
332
336
352
273
307
306
335
377
282
363
271
283
295
255
354
313
336
361
309
274
277
347
323
376
205
280
250
330
325
281
289
312
313
262
350
264
315
318
221
213
332
385
347
312
359
396
291
252
302
372
365
350
275
356
276
248
342
258
191
351
412
244
314
395
370
308
382
372
300
368
300
351
312
352
365
292
329
291
303
340
367
363
355
376
290
325
289
339
443
376
313
384
283
328
260
406
321
331
328
281
358
308
345
300
326
221
254
363
341
317
270
367
327
350
314
302
341
272
334
353
374
290
287
308
264
333
349
260
276
359
326
388
298
247
377
344
332
387
346
317
277
327
298
369
289
368
343
268
304
277
339
294
329
306
331
345
378
294
396
268
301
323
276
331
256
277
271
360
331
355
339
351
237
264
329
308
271
289
278
333
362
301
298
278
293
321
240
344
326
363
390
336
347
228
313
366
333
337
340
324
286
289
270
316
345
347
362
355
322
316
350
320
311
317
309
305
357
365
378
282
292
342
358
269
354
323
359
345
321
329
313
224
235
295
268
315
259
244
299
394
306
342
352
239
366
343
332
333
338
328
305
268
313
352
375
321
288
285
318
367
288
277
249
417
280
368
340
267
418
330
327
324
355
372
251
238
273
345
299
324
236
285
404
285
275
228
270
371
281
315
369
285
351
333
310
374
309
326
349
362
315
262
256
348
352
415
318
353
312
326
337
224
287
370
284
372
303
264
350
293
304
301
345
278
322
370
245
352
363
387
266
298
296
319
334
302
290
283
284
336
286
313
351
329
337
245
358
329
353
303
343
332
290
361
323
337
367
275
345
358
234
308
290
307
387
331
280
331
361
299
272
354
245
312
250
343
268
348
292
299
283
253
301
360
329
291
347
286
306
352
282
354
373
260
291
297
375
293
276
322
235
402
338
339
318
357
271
390
370
273
327
327
354
356
281
325
308
285
285
347
192
439
353
334
412
346
314
289
354
243
323
287
312
267
314
359
355
366
277
314
384
327
362
266
355
343
363
336
379
283
258
356
366
271
353
364
322
317
368
317
266
249
240
250
285
299
335
306
326
296
376
303
259
297
366
355
351
350
393
294
272
351
350
308
403
392
307
321
358
277
333
343
337
303
334
371
273
347
311
404
374
264
274
318
419
338
328
244
266
319
297
296
305
208
310
341
386
301
324
324
381
350
298
368
320
298
395
329
340
321
316
288
342
243
254
355
332
238
414
258
222
346
401
228
315
318
335
272
308
358
369
340
330
417
284
325
374
358
300
316
276
347
332
345
301
323
333
322
283
356
356
318
223
288
314
271
343
279
334
392
274
393
265
222
390
276
298
248
386
319
352
365
298
365
321
255
304
343
348
314
225
370
290
321
316
355
315
287
311
283
329
363
344
394
349
335
428
329
295
294
263
429
335
289
241
397
276
261
328
284
299
268
267
243
333
302
364
295
335
300
331
364
303
315
278
355
331
265
304
322
361
241
317
261
306
316
381
290
331
263
306
266
332
317
271
292
261
308
333
381
334
300
365
334
388
310
306
367
372
271
324
377
313
316
305
249
317
363
266
353
299
195
287
333
301
323
370
311
389
269
299
325
340
250
251
424
244
265
355
233
345
318
311
293
327
225
313
350
280
263
334
264
263
328
341
370
356
336
322
278
308
340
269
318
331
283
383
275
278
345
330
376
280
370
304
352
322
339
320
317
351
284
284
336
397
361
364
360
306
297
287
284
294
273
307
277
359
184
348
279
297
304
309
326
308
314
335
292
320
326
317
304
330
324
301
330
359
362
260
382
311
293
320
289
332
324
324
285
327
258
365
358
266
381
277
391
312
302
239
317
366
325
227
279
256
234
209
332
355
357
280
245
375
293
186
356
273
343
390
328
335
344
390
309
355
298
355
382
265
269
357
322
338
248
342
319
308
405
342
284
433
364
371
312
301
299
282
379
356
306
284
257
303
325
376
322
387
355
361
374
386
273
283
351
353
204
374
381
281
347
368
339
262
346
238
264
322
257
268
287
315
245
370
261
333
339
250
395
293
283
341
294
353
326
333
381
320
262
264
337
276
253
349
324
263
407
422
287
354
338
349
307
194
289
378
351
341
334
298
302
258
338
379
363
360
344
291
272
312
304
377
282
246
293
300
323
318
301
406
349
284
360
260
335
343
294
303
258
267
302
358
391
329
281
348
329
380
385
332
322
312
335
334
342
203
272
293
344
254
251
363
348
326
363
322
289
320
329
301
381
324
390
361
331
152
394
317
323
282
329
302
353
383
355
339
305
302
346
385
281
321
404
331
250
329
370
316
256
244
255
322
301
367
335
303
344
332
294
241
363
320
372
282
263
329
308
319
322
255
277
220
330
309
348
289
412
297
322
320
295
363
395
305
387
324
324
256
408
345
304
355
334
174
374
370
304
298
264
263
348
264
355
276
347
295
249
337
331
248
355
323
339
401
261
397
331
276
332
307
326
311
379
258
284
355
270
306
348
362
358
394
315
347
269
284
330
423
324
252
342
355
366
363
364
315
304
280
351
363
276
284
323
318
278
330
296
348
334
310
291
335
281
344
384
358
379
282
281
285
344
376
217
272
285
385
322
296
267
309
349
342
364
378
345
267
322
331
277
348
321
384
328
343
369
326
314
320
294
333
345
313
332
330
332
363
304
315
263
366
307
361
302
340
349
298
367
319
313
346
292
381
372
365
313
389
258
263
327
231
250
289
243
302
288
381
361
340
307
298
212
299
345
318
282
315
280
366
325
291
416
317
383
314
325
383
297
274
288
320
364
246
238
278
279
322
275
353
284
279
274
347
296
251
365
240
358
336
271
340
343
333
395
389
310
348
307
320
268
222
280
299
317
288
318
299
317
264
261
328
302
328
390
287
300
311
338
285
282
244
381
319
286
327
360
355
360
291
344
286
351
297
340
348
364
366
320
328
321
386
297
343
296
280
380
285
391
357
360
376
225
292
321
325
287
342
345
277
315
341
321
315
339
311
274
377
295
404
283
320
289
410
348
398
249
333
307
318
365
315
312
296
319
330
264
227
267
258
167
368
344
232
303
328
298
359
268
304
377
287
330
294
330
294
234
407
268
369
275
414
318
315
313
322
255
350
270
363
266
310
243
308
383
263
334
363
277
338
359
228
351
354
418
221
370
280
321
346
203
380
302
298
315
289
303
208
297
283
320
239
204
284
324
284
358
328
368
285
326
314
303
317
201
304
327
365
379
329
290
208
308
319
268
311
300
368
323
377
305
277
313
353
406
302
358
253
319
284
334
316
268
318
408
347
357
242
263
356
367
336
228
343
343
354
256
356
295
372
280
262
331
311
265
290
366
334
296
302
329
253
256
363
370
353
240
312
311
333
330
380
333
358
320
400
244
278
333
382
342
331
290
327
268
368
303
298
268
235
386
376
268
277
263
360
319
295
314
295
370
319
329
307
344
389
310
308
337
320
306
314
310
227
318
319
297
347
423
314
359
344
292
260
289
358
296
264
327
424
431
299
238
444
357
324
403
276
326
322
243
324
351
290
281
272
439
311
325
383
343
252
333
351
284
260
263
314
387
331
278
373
315
312
383
333
361
368
219
359
295
317
369
326
377
281
349
322
335
341
343
315
323
279
302
291
296
362
342
235
306
287
304
340
354
326
284
321
310
262
375
292
331
381
422
305
287
375
273
328
294
301
313
325
277
317
263
333
290
315
350
215
281
305
349
348
404
244
307
353
386
309
312
189
330
227
332
274
329
383
226
328
313
317
361
346
342
290
307
361
351
311
282
292
265
338
296
247
318
358
308
353
302
304
325
329
308
312
356
327
341
316
332
362
323
197
384
297
282
359
356
297
272
327
332
330
316
308
328
333
318
320
321
329
322
240
285
350
307
271
335
275
282
359
203
279
370
398
311
293
356
344
248
190
394
388
347
362
322
283
180
399
232
277
303
319
302
323
364
246
369
277
293
276
366
342
367
373
282
326
398
317
356
299
282
319
284
333
314
310
295
283
386
362
270
313
347
241
328
289
315
327
281
341
353
332
357
328
280
374
326
304
318
350
359
376
347
294
351
250
349
266
399
241
250
342
344
314
353
204
308
266
295
253
312
351
307
294
347
295
288
286
277
269
216
343
352
397
386
370
248
330
261
325
299
301
334
335
297
311
330
356
324
362
324
341
343
254
281
364
327
391
359
349
327
322
253
298
322
351
367
368
303
221
368
352
384
350
439
397
316
372
391
317
329
330
338
354
243
345
304
292
257
241
333
348
384
325
326
336
239
403
299
362
307
251
312
356
303
296
339
309
386
310
349
294
277
329
320
306
342
301
356
361
351
397
323
400
258
260
325
337
284
341
365
314
314
320
332
359
275
351
313
268
289
365
336
389
372
279
342
297
355
260
306
330
312
380
249
371
239
386
345
273
290
385
253
370
342
257
334
349
294
324
380
333
340
221
307
331
371
308
291
351
336
314
325
343
275
319
370
317
334
333
314
282
376
322
282
275
325
322
315
332
298
394
255
369
297
376
412
245
283
237
231
339
273
274
366
269
319
244
249
290
315
395
372
319
267
293
259
336
253
313
346
236
278
321
322
339
356
341
272
317
364
434
283
270
332
299
329
344
326
319
243
245
363
364
313
363
320
300
326
288
343
373
378
305
339
361
340
296
367
311
286
399
337
271
338
329
297
348
221
226
288
358
263
268
289
276
265
376
325
382
356
372
291
243
375
323
301
286
343
243
292
307
252
305
306
341
343
393
337
276
331
308
277
333
309
300
368
215
281
276
366
279
367
362
262
287
348
321
315
294
324
414
287
419
323
312
299
388
305
268
348
383
389
264
304
284
344
364
292
302
310
398
348
373
279
365
327
291
241
272
342
353
355
311
293
339
329
328
274
324
342
396
335
277
325
298
341
351
268
332
231
324
362
316
323
349
396
310
307
339
348
278
361
380
313
354
307
277
331
277
288
315
354
335
249
350
363
255
262
265
296
355
330
251
378
374
357
337
254
324
299
306
382
302
321
251
239
339
316
321
215
341
317
361
260
298
248
283
414
290
308
299
257
336
360
372
315
335
378
343
264
323
275
299
404
331
245
262
341
240
221
262
286
268
278
293
364
247
289
334
399
276
307
301
277
265
334
275
374
333
312
334
335
285
387
303
311
366
344
247
333
284
394
349
352
262
266
332
315
326
281
384
232
325
431
263
303
298
219
302
264
285
353
316
299
341
355
377
333
329
356
295
252
287
288
315
340
333
304
305
284
262
362
267
261
323
328
263
318
288
362
339
316
329
317
397
365
313
349
282
314
320
295
361
360
299
309
357
355
340
374
286
390
418
292
303
307
342
270
321
290
332
291
194
355
276
377
255
346
331
339
347
306
308
313
310
253
255
309
338
282
363
266
292
294
255
301
387
316
368
340
248
360
377
273
283
299
306
341
331
327
328
418
329
365
308
300
349
297
332
322
313
275
324
359
274
372
314
234
323
376
314
308
309
314
401
261
201
234
327
348
365
332
251
367
374
297
274
344
255
290
339
296
266
287
362
272
322
291
329
358
306
295
400
293
364
352
426
338
363
329
266
362
365
316
334
386
347
397
374
383
265
329
352
282
315
238
290
289
310
358
332
207
365
360
279
230
398
389
351
318
309
350
277
239
345
255
341
350
243
343
176
287
327
345
276
351
320
343
246
378
229
343
304
333
279
377
298
348
389
340
270
262
331
251
301
308
364
368
367
365
283
336
350
337
303
293
280
310
249
359
381
265
334
245
348
259
307
273
362
315
307
253
359
302
289
369
274
263
354
289
308
307
379
327
304
297
319
378
314
346
287
347
341
350
332
276
245
278
359
216
358
348
319
317
265
280
322
411
370
357
341
230
345
310
314
262
324
261
346
323
372
282
320
381
338
307
328
365
314
372
309
351
328
311
302
248
341
317
248
385
332
233
319
318
345
368
278
380
321
321
296
327
280
316
318
321
313
301
319
272
275
345
303
385
244
336
323
328
241
348
414
355
287
254
256
400
291
369
295
387
259
396
236
388
312
286
322
284
246
299
217
329
303
284
239
296
345
217
365
305
292
319
396
358
317
289
385
345
339
376
352
288
312
349
266
275
320
305
371
271
298
255
361
329
364
348
347
278
320
370
309
306
293
269
318
286
249
364
291
365
325
351
327
289
341
277
292
269
324
279
244
326
384
288
350
323
399
299
342
308
319
349
323
350
328
314
318
306
321
336
327
355
342
369
289
402
297
309
305
299
377
293
145
229
264
275
370
322
394
437
387
192
430
337
263
373
383
318
283
320
388
236
338
376
299
291
372
273
284
399
317
367
368
321
286
310
416
345
349
372
334
274
304
347
281
313
303
322
231
326
277
237
305
311
336
385
310
324
368
337
364
260
307
403
284
340
317
329
249
355
248
292
324
345
260
320
316
299
283
332
305
402
270
302
339
340
336
312
335
359
289
404
301
356
321
393
303
360
291
368
267
311
278
314
328
219
342
399
262
351
272
250
365
305
275
277
317
281
292
296
371
346
316
319
367
301
317
405
396
276
308
342
295
348
365
214
325
389
321
295
355
294
305
298
350
302
375
249
267
299
337
263
318
397
246
270
373
357
350
332
228
370
311
352
294
263
307
234
271
331
367
313
323
283
361
338
309
323
247
358
315
395
304
329
294
286
370
268
327
299
374
231
247
326
365
302
358
295
310
339
230
313
356
337
334
321
358
349
363
300
308
344
341
426
353
322
333
310
353
321
368
289
371
353
346
325
292
223
229
303
394
243
295
258
380
394
258
267
271
401
315
330
401
377
342
321
349
321
363
356
314
361
320
311
363
301
204
373
307
348
296
395
293
339
239
325
347
235
330
336
226
390
316
319
271
334
359
344
290
332
343
330
309
249
359
300
325
327
209
297
349
355
301
214
330
371
230
435
359
235
379
406
300
361
322
240
290
343
422
338
332
281
313
365
316
315
348
280
303
361
410
348
340
268
277
302
337
428
250
299
331
365
280
334
319
281
375
363
321
387
286
313
328
321
379
357
281
243
345
379
317
397
319
460
272
266
283
420
273
297
350
354
331
367
266
357
260
367
335
342
317
330
300
300
408
335
307
338
365
369
307
312
298
351
295
319
293
322
329
295
375
241
262
351
308
337
271
259
283
348
314
336
312
301
313
323
215
348
301
299
351
343
345
298
305
325
284
353
311
279
360
330
268
310
346
368
324
220
376
260
328
359
323
226
278
302
329
379
307
266
293
345
235
310
261
388
303
349
331
304
279
277
254
422
371
272
334
318
315
332
311
313
348
314
345
259
298
337
393
347
367
294
381
285
282
237
293
366
304
369
342
268
283
327
339
366
310
369
303
373
424
281
333
348
327
264
369
358
321
211
219
327
321
265
296
315
346
273
319
297
275
315
312
408
419
302
273
320
314
324
303
306
314
346
373
331
302
285
313
286
365
401
300
302
350
384
314
331
337
357
267
373
329
215
247
292
310
378
264
293
350
312
304
394
321
234
333
270
226
314
264
385
288
353
284
381
284
388
327
303
304
354
376
265
388
335
268
217
311
331
245
326
274
342
339
355
306
345
333
388
287
310
302
271
391
262
333
315
369
292
301
330
399
279
260
313
296
308
257
333
294
316
288
349
332
389
339
318
380
198
360
334
283
434
366
284
324
342
357
280
254
273
299
291
306
375
325
305
286
402
324
350
213
346
179
348
325
405
325
340
292
380
311
278
294
268
224
349
360
291
353
229
250
301
301
324
323
363
344
270
374
336
283
330
313
417
344
282
335
296
423
279
369
302
334
307
286
307
308
243
397
393
240
313
311
342
299
246
316
398
307
299
304
277
355
306
325
275
338
382
343
264
414
347
370
285
349
365
252
332
322
375
321
254
321
279
347
374
299
302
319
212
363
329
276
384
330
397
297
330
329
268
286
275
296
345
332
319
260
326
317
256
322
272
368
351
330
298
311
285
374
368
313
254
334
357
288
268
298
359
314
375
372
379
348
310
301
285
296
262
230
302
309
343
238
344
259
295
315
242
296
319
320
294
323
391
331
291
318
329
298
348
329
335
336
311
328
333
363
343
326
337
319
308
275
281
245
325
346
385
327
343
344
343
361
370
399
329
299
348
325
354
307
317
288
326
204
221
308
333
318
305
434
298
333
394
323
322
329
309
314
310
344
317
281
312
364
365
438
331
379
282
289
347
335
274
318
368
335
292
343
326
345
371
351
421
348
300
404
325
411
305
306
309
351
330
327
271
407
313
238
296
349
336
349
333
286
309
282
339
301
335
356
280
275
301
317
343
353
348
349
268
346
304
347
373
365
255
369
300
322
266
317
363
392
285
320
366
304
306
402
289
296
332
301
334
248
267
364
284
326
305
360
326
351
336
297
296
374
268
330
278
382
358
285
268
382
340
324
321
345
286
282
311
336
392
303
343
342
310
302
250
355
338
238
288
341
339
324
291
290
328
352
287
317
251
327
264
238
372
289
295
297
240
256
239
394
318
317
350
335
335
310
332
315
346
355
319
305
297
302
342
370
360
297
269
360
328
325
275
292
366
283
384
378
260
233
251
343
258
357
252
329
374
292
269
351
346
300
288
289
309
319
315
311
288
306
298
289
282
281
297
307
270
305
273
392
358
363
261
286
336
298
354
327
347
373
321
315
324
259
355
354
347
276
343
345
169
311
402
275
266
348
369
222
344
228
284
270
352
307
401
314
313
328
256
303
362
366
341
332
311
315
223
339
386
318
301
313
375
367
364
324
370
270
366
293
339
298
264
292
314
245
363
298
294
332
393
358
384
357
328
292
284
276
310
318
344
294
315
273
345
266
251
263
327
368
299
269
291
362
348
321
207
414
334
301
336
307
271
305
370
390
349
341
322
288
343
329
291
276
307
290
324
315
357
384
348
380
368
276
309
299
368
263
219
336
221
408
301
314
258
252
361
321
334
270
277
243
322
268
390
289
314
359
278
371
248
384
329
314
309
315
284
310
392
292
329
205
317
356
285
351
366
390
249
372
317
292
356
325
378
279
305
329
337
325
381
384
298
296
366
325
397
330
248
293
366
344
292
298
283
248
350
330
231
301
365
300
261
364
345
368
297
353
344
314
321
378
305
385
298
326
295
321
301
344
289
204
285
396
369
321
283
363
343
289
316
347
348
297
342
338
367
362
347
319
286
428
288
280
331
379
332
359
391
303
281
332
271
272
249
406
289
379
278
260
258
274
313
372
334
310
283
331
354
367
308
291
269
393
303
283
327
292
285
411
405
309
376
258
308
349
250
209
268
359
303
328
332
333
327
348
258
301
317
325
345
335
321
340
312
356
407
395
324
259
306
311
326
249
249
340
408
375
346
325
358
308
353
316
346
208
266
339
308
358
342
313
253
344
329
251
303
363
293
328
345
267
354
372
327
277
310
303
336
412
289
348
321
349
292
408
322
346
362
326
308
352
332
359
342
279
351
299
331
326
405
316
313
316
326
350
308
383
219
320
304
318
285
329
259
291
274
365
310
300
263
276
316
230
324
349
314
303
283
406
276
325
275
265
321
337
306
343
282
233
313
371
233
326
343
302
330
304
365
294
326
388
410
386
404
243
282
289
343
382
336
282
389
310
295
302
245
292
292
366
294
288
347
349
366
377
207
370
289
358
336
316
319
349
261
283
349
329
258
358
317
399
282
267
299
226
334
286
361
286
253
362
321
300
378
318
356
418
353
256
306
309
365
250
308
299
317
335
293
380
319
336
305
364
377
306
350
370
275
367
281
245
396
324
260
368
298
313
388
259
358
276
227
357
241
412
285
342
346
345
348
300
315
205
280
316
351
356
337
409
293
330
292
327
322
329
259
310
354
364
304
345
267
226
373
368
349
265
260
343
287
206
331
283
298
363
311
254
311
312
300
347
370
247
309
317
347
351
291
380
339
328
358
313
338
332
250
350
275
439
237
353
283
314
404
240
236
312
291
318
259
379
325
297
340
275
318
368
377
309
294
415
323
340
317
254
302
311
291
307
333
359
292
374
340
321
319
301
298
330
341
314
357
271
349
391
397
377
336
275
352
351
315
303
337
403
313
314
337
240
316
344
329
358
358
303
296
386
315
423
287
401
356
296
359
252
326
311
317
250
278
272
345
241
321
338
349
310
328
337
329
366
390
316
365
290
331
247
392
267
363
344
308
306
309
263
261
349
357
251
289
324
367
286
360
367
299
335
191
302
308
384
216
388
317
345
214
274
319
278
281
307
361
369
302
397
294
349
297
251
396
326
359
329
325
338
298
317
329
377
268
332
298
290
297
323
339
358
318
333
349
275
373
271
370
364
363
265
322
365
300
379
261
321
361
352
256
303
362
316
369
282
273
393
344
329
338
412
246
342
310
335
359
293
399
291
288
300
241
357
309
296
299
382
351
347
395
303
370
355
298
349
262
288
289
295
259
352
288
300
322
354
269
269
359
359
263
329
299
303
269
272
322
263
270
298
238
268
281
303
383
286
361
426
296
332
325
300
289
345
329
238
312
294
267
370
305
323
277
338
381
312
408
387
326
378
363
366
267
234
358
397
310
393
273
393
361
303
227
306
311
275
376
359
403
342
341
295
347
339
306
351
301
239
260
286
320
339
332
292
395
333
300
271
449
317
304
342
217
417
356
311
306
307
359
381
284
327
239
281
307
294
268
266
311
258
337
311
330
277
304
252
228
378
332
415
220
362
343
335
269
280
324
339
356
286
339
273
276
285
300
350
322
361
240
224
316
305
322
344
283
336
329
257
353
234
284
271
374
381
342
381
352
378
215
340
255
340
299
348
289
327
341
336
302
318
310
283
372
305
301
296
319
373
290
403
340
255
273
379
315
354
270
362
247
342
319
319
276
261
366
300
271
259
344
305
335
297
319
267
284
340
249
335
338
287
239
276
330
298
283
302
284
379
291
455
335
283
222
338
353
291
232
281
356
381
343
312
319
388
397
307
311
336
376
344
354
291
353
312
366
347
295
362
281
273
287
315
307
351
316
267
275
373
172
269
319
333
324
311
334
318
322
355
424
392
352
380
312
380
274
301
325
365
344
314
367
318
348
276
300
342
276
353
338
355
323
288
330
316
347
268
391
302
312
251
357
341
313
342
239
311
348
282
340
235
363
340
347
311
326
245
395
372
261
359
308
306
351
329
282
381
324
336
348
261
262
426
301
372
277
297
306
289
275
227
315
305
332
392
349
308
342
395
306
390
339
292
349
339
331
274
345
320
330
326
306
278
298
320
329
319
223
270
258
374
321
393
251
292
269
321
287
390
366
335
255
373
336
332
237
339
322
320
336
277
302
305
309
383
361
307
396
319
280
347
322
315
291
290
343
323
328
418
277
304
292
342
352
418
300
380
322
353
281
298
370
207
358
282
243
293
293
286
309
275
312
379
328
225
329
266
362
328
422
394
328
390
302
324
347
220
351
270
286
359
380
359
273
269
358
293
256
224
247
310
287
246
341
312
309
306
343
317
365
365
360
312
353
314
376
339
401
291
358
400
355
360
347
333
336
373
371
309
311
318
320
289
298
333
327
322
374
263
385
288
302
274
331
276
306
262
249
292
336
344
219
314
314
392
328
248
353
337
408
306
317
355
237
439
379
305
362
304
378
348
363
298
248
387
332
390
297
292
259
315
353
370
280
344
327
300
230
296
363
269
315
295
372
324
336
314
306
277
310
341
363
306
283
287
225
308
355
275
303
387
325
321
301
253
325
227
322
283
322
297
265
279
369
278
347
358
273
196
362
353
372
396
385
311
346
373
328
284
386
327
326
325
334
324
298
320
232
240
264
285
322
286
356
310
298
340
254
326
307
315
407
304
301
204
439
400
272
309
295
397
310
322
241
282
278
254
275
317
273
307
311
351
396
345
283
379
312
280
302
232
297
378
289
377
312
354
351
302
284
248
375
376
350
410
330
314
440
328
277
271
330
322
277
360
327
350
279
357
311
285
306
309
318
374
340
406
314
380
321
411
309
322
358
367
370
324
311
267
275
243
404
299
347
390
363
324
381
343
242
348
351
362
283
283
308
369
359
325
347
296
302
280
284
304
367
359
289
251
314
300
358
343
280
339
285
262
295
304
360
283
310
313
341
299
314
328
293
343
434
254
323
353
309
282
292
252
321
275
402
296
357
323
345
355
223
376
348
324
336
394
314
334
304
297
319
328
332
296
278
297
274
246
378
346
264
282
351
271
363
246
368
314
296
275
357
322
350
264
197
314
380
326
277
323
283
287
419
305
341
396
318
330
341
284
352
336
303
226
337
310
324
295
313
289
441
318
247
267
255
328
333
323
316
296
383
345
214
340
293
297
414
371
294
208
337
217
410
303
352
358
363
305
252
331
260
364
290
282
381
329
349
286
352
392
339
260
390
312
403
330
290
246
305
341
323
339
349
328
378
365
224
234
339
368
305
332
296
375
346
316
330
321
344
234
355
261
299
288
336
318
288
368
355
266
359
300
264
322
343
277
396
332
284
345
297
256
233
273
254
232
273
323
280
369
273
323
368
334
282
353
356
331
294
284
322
335
384
332
344
276
315
336
349
320
419
342
293
316
347
325
363
351
327
306
327
408
339
246
321
281
398
383
282
285
269
369
344
327
335
303
341
350
323
281
279
329
358
293
387
237
263
357
286
337
336
293
371
344
322
393
321
332
290
296
287
340
213
363
313
323
356
387
259
278
312
284
287
321
347
356
269
254
322
290
330
358
318
316
393
347
362
293
376
324
303
366
335
321
388
277
355
289
399
317
311
275
311
298
296
334
257
303
281
400
284
373
251
337
255
307
287
286
286
266
315
266
299
364
369
325
326
336
292
409
283
362
276
302
269
364
278
378
289
302
352
317
239
367
285
292
235
303
392
344
272
296
393
353
318
342
301
218
304
315
327
404
232
365
339
291
336
250
321
199
405
247
401
360
263
320
321
374
391
340
351
266
329
290
345
312
261
226
310
346
342
407
323
346
269
333
323
347
386
297
245
235
301
328
341
297
375
357
273
345
300
296
267
277
310
375
318
277
356
258
277
353
317
308
348
307
394
260
311
353
341
253
396
267
373
382
312
256
359
300
270
360
433
317
326
298
318
288
230
357
343
319
353
293
331
270
293
278
343
358
376
337
337
327
208
284
332
302
361
369
284
363
364
302
239
405
375
316
282
357
335
299
284
296
311
308
305
284
317
302
245
250
334
297
411
300
345
342
369
345
346
290
310
246
234
304
357
265
304
330
244
221
296
378
292
343
342
251
341
267
294
257
408
322
259
307
397
317
289
370
341
342
239
240
316
294
305
332
356
279
281
334
303
175
389
268
343
291
331
313
343
371
299
276
299
210
331
310
321
249
353
260
228
301
260
354
314
287
335
390
341
334
273
356
278
313
356
300
293
224
275
373
318
332
268
401
283
319
362
317
395
350
301
375
385
271
317
415
355
264
237
286
318
273
349
382
288
240
336
355
235
334
305
218
291
286
354
263
284
281
253
244
224
322
267
389
313
322
308
271
252
326
295
362
324
283
290
307
389
371
291
368
314
345
385
315
303
209
311
233
301
352
309
232
362
310
331
346
239
337
368
230
305
305
262
315
323
285
210
339
323
326
181
361
322
354
382
289
324
305
284
311
323
305
269
312
226
334
218
378
350
280
311
347
274
350
333
332
381
302
280
327
358
334
270
430
293
371
358
295
328
345
300
276
319
344
330
314
309
274
378
364
338
343
422
248
317
315
340
304
335
365
404
291
327
275
316
327
303
274
322
383
291
351
312
320
299
336
330
313
327
373
287
350
303
329
326
275
275
250
324
351
342
358
364
285
319
294
308
385
244
326
386
321
390
261
297
295
359
327
349
289
337
296
191
322
324
275
206
358
314
241
303
410
255
293
364
296
369
347
298
356
234
255
387
310
333
292
233
365
347
182
347
315
277
245
305
356
316
320
321
255
356
356
309
339
299
299
298
241
326
325
343
278
311
295
327
370
254
333
304
383
306
282
323
369
342
245
347
314
381
329
315
345
298
357
306
302
307
283
393
356
418
305
289
346
239
288
330
314
271
275
332
309
341
244
291
278
319
353
332
284
339
363
363
307
352
314
272
359
318
359
292
263
321
311
351
343
308
264
330
322
316
415
257
215
252
355
321
312
276
301
352
322
288
371
316
367
349
258
400
317
324
297
360
264
380
293
349
308
310
320
314
333
379
339
319
292
348
315
317
292
299
317
274
342
374
266
331
327
305
331
268
325
291
241
310
304
286
243
376
282
303
259
281
339
309
299
317
314
303
296
345
282
304
278
320
265
266
256
306
284
289
367
386
295
268
349
379
329
369
292
281
270
292
307
318
276
366
370
307
316
365
282
325
333
271
300
310
323
374
382
360
381
318
313
348
301
311
317
242
360
298
238
274
361
274
275
277
318
356
354
345
313
276
280
310
389
293
319
329
380
336
341
298
368
303
268
292
315
325
362
278
277
318
358
299
275
307
347
299
256
347
380
256
312
304
282
370
319
277
348
246
201
278
300
248
363
218
374
161
344
251
358
346
368
360
415
263
279
370
420
318
374
372
382
222
298
336
372
251
334
347
325
210
326
298
358
335
314
347
279
240
357
364
291
322
370
296
363
318
368
279
346
375
286
267
306
289
293
284
309
348
341
240
280
383
298
206
278
420
333
311
341
350
314
319
356
228
417
263
299
278
360
332
280
340
373
273
318
291
332
288
412
309
274
301
421
276
250
312
306
238
339
346
278
291
353
343
229
335
257
333
358
330
303
367
298
365
315
305
319
326
297
414
361
305
358
281
320
293
257
394
313
318
309
261
335
353
244
313
380
295
377
292
329
250
288
334
342
273
268
345
392
314
350
270
378
336
277
280
307
331
350
360
337
369
312
299
275
295
307
261
293
306
328
254
308
278
357
345
358
355
337
360
315
333
282
325
297
329
280
354
286
320
287
400
378
358
338
290
377
383
407
288
380
269
259
326
352
354
308
386
390
280
317
259
279
323
309
267
385
264
262
276
316
316
375
343
246
341
345
338
324
301
340
359
352
267
266
306
287
296
284
349
345
303
324
324
283
320
285
363
367
360
271
261
248
331
367
342
291
316
234
328
287
352
292
300
347
271
356
316
323
362
259
285
322
279
223
356
358
310
309
274
297
257
326
314
319
319
307
309
255
305
302
327
259
272
324
278
355
311
328
310
316
300
301
317
345
312
289
365
342
261
333
347
259
305
342
282
291
247
313
361
322
233
360
364
321
281
345
374
255
325
264
317
323
329
299
393
355
317
365
349
339
316
358
257
285
310
364
320
241
374
263
272
379
301
303
345
223
373
259
326
290
286
340
344
388
349
226
344
354
257
302
278
334
316
372
287
275
336
390
398
290
286
387
311
392
345
394
296
293
333
336
279
323
349
320
339
292
360
376
272
347
228
291
334
304
362
341
257
330
282
311
328
388
329
367
371
289
301
331
292
354
325
277
357
266
305
291
383
323
336
326
317
308
369
339
258
263
273
288
352
344
272
319
258
332
347
379
328
235
361
289
307
359
384
264
317
324
432
262
320
285
307
294
290
350
219
251
293
390
407
325
349
297
279
259
246
265
306
413
301
242
320
326
320
288
390
227
374
305
242
323
288
222
291
294
305
343
271
341
251
308
231
277
404
341
350
330
328
340
386
292
321
313
352
316
327
366
267
328
250
377
403
274
288
331
283
314
285
348
299
270
338
302
286
328
252
291
244
331
343
286
255
224
310
362
309
369
344
275
255
302
287
269
260
321
263
306
371
378
325
337
343
266
291
362
302
327
334
352
343
207
341
356
260
408
287
276
321
318
324
292
180
260
334
303
346
314
294
328
310
384
370
341
270
286
325
327
275
254
261
298
294
265
349
294
247
344
316
298
314
234
360
294
302
387
309
315
318
301
371
279
272
324
233
206
279
383
225
301
337
325
294
337
239
277
208
364
334
323
340
306
368
346
321
292
335
294
278
337
341
320
325
297
288
287
304
320
254
341
322
330
361
279
309
383
293
273
316
379
418
365
286
338
307
386
320
285
308
348
317
371
281
268
301
382
267
232
298
330
413
371
384
345
247
320
369
305
253
265
345
308
327
305
296
360
328
286
295
249
294
245
273
323
354
308
381
392
320
347
273
214
303
282
379
232
303
269
263
382
344
288
338
327
291
334
290
336
266
315
371
351
336
262
322
361
331
346
268
321
247
408
324
262
270
261
334
245
378
356
387
413
297
243
308
332
339
315
306
284
332
207
390
313
247
168
253
282
284
329
293
403
302
358
264
325
329
302
282
254
324
290
330
353
322
296
336
329
360
366
318
236
353
339
253
228
290
333
347
357
331
274
391
328
397
273
348
374
350
362
338
374
302
315
420
294
329
373
237
330
295
289
239
250
271
335
258
401
250
284
366
310
341
388
330
242
281
300
310
359
307
274
288
274
409
332
322
263
284
364
325
398
291
290
242
290
396
369
272
339
297
335
297
359
230
375
315
344
346
345
294
372
218
232
363
355
290
312
304
306
290
207
393
390
194
343
322
259
276
324
270
371
287
241
328
254
316
254
309
248
341
319
318
351
275
380
330
368
298
330
392
344
342
250
274
361
338
339
393
365
344
352
335
351
365
315
297
276
365
306
275
305
373
332
367
295
362
393
313
379
402
331
322
295
310
297
252
286
377
323
289
311
293
376
273
306
309
281
255
315
357
346
396
311
300
378
301
403
351
300
366
327
354
263
332
294
304
371
283
336
287
301
323
359
284
287
299
376
307
295
394
285
347
323
298
290
332
339
330
350
339
356
251
251
335
342
389
347
301
351
285
227
318
317
378
291
285
373
314
273
287
254
341
318
346
257
216
340
314
272
348
355
273
366
301
325
367
314
270
356
309
337
326
336
261
298
415
262
347
307
323
280
324
354
399
321
305
311
277
330
301
342
321
341
385
336
259
357
280
366
292
386
317
334
338
434
287
299
292
333
321
335
422
375
341
329
300
268
335
276
312
405
288
342
349
274
336
394
365
352
323
363
348
303
269
402
271
330
307
309
302
357
357
419
338
323
380
319
215
297
323
409
282
242
330
311
289
292
335
364
335
317
302
314
301
392
367
312
298
348
267
323
360
290
326
329
368
322
376
318
277
306
413
274
393
333
313
337
378
292
300
307
331
331
390
245
288
271
295
360
404
345
273
362
317
296
318
267
327
353
363
306
316
281
384
383
278
375
278
379
376
300
356
266
324
307
398
299
333
273
336
298
278
385
348
252
319
372
319
323
273
291
293
344
333
388
303
300
286
273
292
322
376
312
297
273
373
338
164
307
296
346
324
313
373
265
407
376
276
302
267
295
317
372
354
352
328
289
334
403
229
357
296
351
320
335
339
315
342
261
266
299
319
319
237
267
240
313
328
332
332
381
333
327
302
363
268
216
322
290
341
341
317
336
232
260
310
348
356
273
383
260
296
278
315
288
424
250
300
275
352
275
296
205
346
345
293
322
351
343
344
320
330
271
332
198
375
343
346
300
351
228
284
283
315
252
367
367
347
321
248
265
367
449
390
283
342
251
305
264
325
375
357
272
350
269
310
415
355
372
293
346
246
265
341
349
267
318
278
294
323
311
285
343
336
266
355
361
355
338
360
394
304
335
397
293
270
271
323
349
420
366
341
313
325
338
319
341
346
295
231
276
294
316
366
297
313
309
357
341
373
357
247
311
277
235
253
373
270
419
322
239
285
257
301
349
295
295
333
315
324
318
313
287
340
271
296
298
363
302
369
355
322
255
264
316
296
267
348
280
332
300
291
358
312
300
330
268
276
303
425
413
310
312
401
320
313
345
307
283
359
418
373
306
420
317
412
293
259
335
254
280
247
292
413
191
270
240
375
347
303
291
319
358
333
346
376
302
281
316
302
287
281
262
376
350
278
308
191
254
381
308
390
331
233
262
270
358
313
319
328
313
374
326
275
294
223
322
350
269
292
234
342
289
350
275
374
296
311
374
307
315
249
336
339
338
373
356
325
225
370
336
336
279
307
281
361
305
266
358
345
343
271
318
341
339
346
288
384
270
379
280
218
390
355
371
259
292
267
325
341
339
395
338
303
359
314
297
277
329
348
282
208
322
424
321
307
301
330
298
233
282
279
324
296
270
387
331
252
319
315
294
391
243
304
354
268
291
314
333
311
366
327
308
338
334
365
335
367
382
331
303
284
318
303
331
344
297
315
385
307
251
384
396
330
350
373
293
256
273
354
242
387
233
232
283
350
419
306
302
356
283
373
368
356
266
346
325
321
293
290
322
314
321
369
254
392
332
404
384
327
376
385
314
306
341
319
344
257
349
308
361
336
299
345
289
303
315
375
365
274
320
372
339
336
250
339
317
266
204
308
386
272
248
286
333
318
324
332
300
297
315
336
329
346
363
338
345
364
286
249
289
300
360
434
378
377
337
246
306
247
304
266
291
292
345
306
294
341
277
321
389
215
198
331
399
236
344
324
266
308
318
282
251
298
326
354
312
345
336
359
287
351
275
258
345
336
357
264
299
260
379
337
343
249
307
322
277
261
336
347
323
304
305
385
260
345
315
318
324
336
286
253
359
374
319
365
346
418
360
391
315
284
327
298
323
311
382
302
290
314
279
306
398
409
282
283
262
304
263
310
217
383
434
268
350
336
361
259
415
309
282
396
312
294
396
258
270
341
355
339
307
268
306
308
254
331
389
373
345
348
361
244
330
328
312
288
356
357
373
352
327
393
302
280
338
403
323
314
332
253
271
277
240
321
361
308
289
333
336
189
294
239
379
351
311
347
351
261
307
328
364
325
359
301
212
343
399
297
362
224
295
325
298
351
324
367
261
340
267
250
375
262
268
227
355
285
295
310
381
314
240
269
290
319
356
272
406
343
276
375
329
369
321
324
301
248
344
306
296
336
329
268
254
355
363
325
310
336
386
339
268
299
275
254
345
333
398
350
326
219
380
326
246
248
229
264
342
355
348
289
390
287
311
373
247
310
355
277
289
301
314
315
338
321
321
277
253
292
307
321
296
278
312
358
323
366
277
323
301
304
316
399
276
297
369
253
271
358
376
275
234
363
311
347
273
354
247
339
372
338
327
308
412
378
249
339
363
251
363
328
336
288
367
256
295
374
274
295
341
351
322
356
318
243
226
294
300
373
371
249
259
349
395
344
322
342
228
312
254
340
299
285
367
309
372
387
249
354
369
315
304
295
382
272
392
241
294
303
248
275
377
360
329
249
328
367
326
282
276
312
389
260
353
295
337
425
306
349
292
368
231
382
291
301
355
304
395
378
436
235
254
360
322
265
307
294
368
376
321
240
254
334
226
266
298
238
369
286
363
356
274
321
285
301
301
358
332
342
363
288
301
340
295
287
379
347
255
355
298
302
348
341
273
336
237
305
316
377
345
266
271
372
335
381
350
292
253
375
309
399
260
276
275
322
321
271
333
329
265
360
315
343
220
359
260
288
285
373
270
275
287
252
330
327
374
288
371
337
387
313
382
261
297
355
314
350
284
338
257
350
398
327
333
295
343
319
279
308
335
339
405
337
388
315
264
292
218
318
349
346
337
264
391
293
383
420
352
368
264
289
263
280
343
292
196
318
315
302
340
265
359
341
384
205
270
256
346
256
357
322
247
277
342
336
307
333
317
272
354
330
311
317
366
278
323
307
279
284
300
331
332
316
322
355
272
315
336
329
342
310
365
253
393
286
270
357
269
214
378
365
341
367
263
378
319
325
253
332
288
321
333
343
376
258
250
290
377
216
384
241
357
247
247
380
264
235
315
283
337
353
289
331
324
279
282
345
326
304
311
277
299
341
366
328
347
281
298
371
321
251
242
273
288
276
325
258
323
356
348
372
379
238
259
283
296
309
328
349
338
259
309
297
285
318
394
327
372
294
265
289
227
290
318
268
357
347
271
344
369
285
371
313
284
306
371
313
283
252
310
358
361
271
345
230
239
317
391
340
334
369
414
345
357
254
389
382
373
339
336
281
307
300
372
339
350
355
339
336
263
342
294
307
293
339
337
280
318
353
275
350
288
378
363
278
289
304
325
288
323
268
413
280
382
343
320
271
315
362
335
278
333
369
296
334
367
246
363
363
336
334
307
278
320
326
356
341
342
307
398
319
362
363
334
290
292
268
272
338
333
337
387
321
337
309
205
274
256
353
323
302
333
309
313
369
346
264
346
324
354
307
391
291
351
279
313
285
244
336
275
370
338
348
404
320
318
336
324
273
307
323
295
236
284
395
305
391
240
356
332
311
256
285
290
302
299
373
285
298
347
263
264
254
294
362
326
375
266
312
293
290
319
302
317
364
312
298
300
398
319
304
325
397
396
348
265
356
334
298
284
328
215
317
354
311
274
278
350
319
325
300
315
282
354
337
313
315
289
301
342
363
284
393
304
320
226
263
278
283
349
264
385
304
338
390
249
367
335
389
297
295
340
327
355
332
317
410
303
373
322
380
351
349
356
346
399
296
330
325
332
362
293
359
266
342
352
258
326
370
342
344
333
306
353
363
352
284
311
263
276
321
279
344
320
316
339
298
338
298
371
369
303
330
323
280
293
315
301
374
329
248
282
202
278
355
267
296
323
291
372
321
335
361
313
366
275
357
292
259
337
340
251
229
334
310
254
274
321
325
401
304
334
253
320
374
351
297
169
240
347
397
281
327
339
253
326
285
310
281
295
319
284
322
284
297
262
372
305
296
337
377
286
248
430
382
261
250
308
255
283
280
346
368
252
312
252
292
347
251
299
389
333
334
349
297
218
281
278
359
303
358
340
340
255
357
374
257
300
319
292
318
261
368
316
290
399
315
400
267
254
392
361
265
235
336
396
312
412
337
301
301
317
281
309
335
377
396
327
350
389
297
361
302
284
336
299
323
348
300
325
340
402
354
380
283
262
259
347
311
345
299
372
325
324
360
270
365
281
362
320
335
344
285
289
316
351
293
405
287
237
299
373
365
330
297
323
331
298
384
261
339
377
345
279
308
384
309
242
283
345
360
369
382
258
375
283
325
324
328
285
348
263
447
303
246
259
397
296
291
404
349
344
362
218
310
305
327
315
343
283
306
293
332
322
358
304
369
286
269
337
317
280
362
306
309
255
322
463
317
422
251
358
371
294
263
337
282
252
335
321
354
344
352
394
387
345
256
308
321
326
262
286
369
218
328
298
372
305
345
325
335
399
324
177
306
362
300
340
332
295
255
318
283
273
334
316
350
280
285
299
338
335
316
320
255
268
327
317
252
366
350
320
279
261
289
356
237
277
351
309
301
334
405
330
377
254
314
294
357
339
345
301
284
369
270
317
315
270
317
368
291
371
345
314
372
421
363
309
216
319
310
298
275
313
325
305
209
327
333
295
350
223
296
270
286
252
270
306
288
265
298
342
298
318
296
266
309
314
331
282
360
302
323
319
349
307
322
301
404
303
294
339
378
348
282
341
301
294
316
390
412
265
287
394
288
321
368
383
325
317
319
362
302
256
342
282
281
321
368
353
401
367
304
319
292
292
353
337
286
398
264
392
266
302
242
330
328
332
326
313
352
295
320
319
320
413
303
267
333
217
255
333
319
301
365
251
289
425
311
363
267
345
275
358
361
337
352
271
294
379
320
282
199
327
343
237
232
319
232
280
335
384
298
342
293
303
308
341
303
267
428
371
280
323
318
272
234
365
360
221
380
289
366
321
366
305
356
346
320
266
333
286
308
343
272
300
269
386
391
320
295
301
350
257
342
333
276
329
330
341
339
375
378
358
248
359
329
297
282
325
305
341
296
378
294
326
378
330
309
376
327
312
265
378
271
326
323
391
318
214
264
329
288
290
274
298
270
310
278
251
294
267
376
276
343
226
257
332
289
298
378
307
248
369
400
276
201
290
376
330
369
309
376
350
233
321
319
300
250
315
352
236
312
382
325
364
338
316
336
379
251
297
253
275
287
434
310
262
425
282
319
363
348
342
330
349
263
286
308
287
323
310
344
272
326
360
255
321
260
300
378
285
399
350
403
326
330
348
330
258
374
328
306
273
288
176
333
258
402
334
353
351
280
296
288
356
333
297
278
277
284
354
316
305
360
427
270
293
246
242
247
320
312
348
363
236
287
312
292
377
325
252
240
274
346
349
269
395
260
360
370
296
222
348
297
338
325
266
295
380
361
340
215
271
306
257
313
346
307
337
279
367
303
311
293
346
291
331
263
386
350
333
290
372
270
369
354
363
285
304
344
303
219
262
271
268
261
323
359
295
338
317
304
317
290
356
246
379
274
331
333
339
252
365
350
319
260
269
319
306
260
315
337
271
323
291
332
376
364
326
247
276
267
288
378
361
297
234
321
397
354
438
281
336
384
312
363
314
272
315
278
305
288
322
297
280
262
295
318
276
345
291
335
338
214
255
391
437
293
272
371
321
325
374
359
235
270
308
383
260
314
291
364
312
316
345
404
312
280
298
200
359
374
399
285
172
297
267
341
307
305
322
272
320
272
394
262
278
295
223
339
373
357
336
320
311
346
312
329
398
311
316
345
286
303
391
327
395
324
343
396
309
436
398
256
301
343
314
295
299
336
255
318
300
294
380
326
285
322
309
340
329
311
320
283
312
236
339
341
243
390
299
271
312
295
330
356
248
177
272
306
288
295
304
275
323
347
376
366
321
351
312
305
274
304
317
332
406
354
300
330
285
292
276
329
411
261
303
321
342
285
365
328
332
347
341
279
242
357
284
329
220
278
365
219
346
327
367
393
338
340
290
291
297
330
348
343
290
314
331
248
367
320
251
288
344
283
254
265
321
325
333
365
333
298
414
260
300
330
359
285
326
297
238
265
286
343
261
316
314
298
238
257
315
310
317
339
311
283
244
373
328
314
380
288
358
407
341
348
265
318
254
357
273
257
354
329
352
289
274
277
228
321
337
233
267
354
330
374
347
336
281
283
350
335
343
314
251
349
308
367
388
342
349
313
353
346
308
341
275
357
325
328
352
202
405
305
333
291
281
290
286
306
335
342
292
383
339
246
262
281
301
352
292
304
303
321
238
398
295
341
339
363
321
309
369
316
329
359
293
344
349
275
258
296
371
328
378
365
321
328
241
325
326
306
333
294
297
366
307
351
338
324
383
310
318
318
356
308
374
354
377
331
274
365
258
312
351
302
340
351
308
301
330
251
364
313
280
291
287
333
358
392
289
287
329
262
344
335
293
243
315
338
407
249
244
291
307
301
282
379
299
325
352
345
224
334
377
319
319
338
279
315
273
331
334
286
377
269
311
389
311
278
372
352
348
276
224
381
309
261
369
246
287
286
281
341
332
314
305
356
336
296
309
362
281
331
286
246
257
307
300
368
240
327
381
367
389
233
393
263
310
289
329
244
311
343
282
299
304
390
330
395
287
408
324
293
211
331
300
268
298
277
303
333
347
366
279
345
363
306
331
414
210
277
364
311
282
300
195
356
378
353
292
326
336
309
359
353
358
352
268
295
292
231
304
349
347
368
293
337
281
301
296
330
324
391
378
354
340
327
382
323
345
291
300
338
286
299
397
357
215
296
299
337
337
353
320
311
329
308
308
327
399
358
306
285
366
274
268
343
266
361
295
319
254
246
300
287
325
337
340
326
316
288
316
338
291
376
366
385
350
325
341
322
290
301
276
289
388
381
286
249
336
303
268
321
325
296
258
295
387
354
330
271
288
354
335
251
297
340
367
343
286
338
324
226
272
397
312
370
359
359
298
362
278
318
267
372
359
285
263
302
333
375
304
352
302
314
261
305
373
278
382
411
316
377
322
369
320
323
353
206
239
338
376
305
312
304
271
314
385
329
324
352
373
256
382
302
257
288
334
276
337
351
346
314
347
370
287
311
378
337
346
304
399
319
294
306
359
376
366
237
274
306
324
330
295
277
307
331
366
369
357
304
346
273
369
323
379
340
394
277
312
278
352
303
312
346
318
384
271
360
372
315
305
364
289
296
269
285
329
345
378
277
308
405
323
311
335
277
306
341
331
342
254
363
297
308
310
379
303
285
222
308
387
363
287
295
375
271
336
294
296
348
336
313
332
254
264
386
206
339
329
264
294
344
288
333
343
313
291
290
271
267
364
274
337
339
296
346
308
359
291
319
360
366
427
321
374
317
336
296
337
341
305
253
307
389
332
315
331
323
255
375
247
309
297
339
287
268
363
344
333
294
332
292
262
300
395
298
333
318
299
265
281
286
272
326
323
317
332
348
343
349
299
307
331
328
325
351
240
353
314
297
334
267
322
319
363
313
324
343
267
303
338
309
343
309
270
297
291
459
291
311
345
295
363
296
344
353
335
259
306
272
334
336
334
326
317
351
371
406
325
304
300
292
274
331
315
315
251
312
319
307
299
353
376
239
273
257
321
317
304
343
312
347
250
238
257
340
320
292
307
287
265
315
281
326
367
261
337
342
270
238
338
352
325
389
361
323
317
292
341
306
357
307
385
333
364
315
375
265
346
392
275
211
300
357
317
274
341
293
286
376
317
376
294
371
328
364
312
314
351
246
293
349
255
305
279
281
336
394
335
383
230
403
287
379
343
323
234
276
329
319
377
316
306
349
313
303
321
341
313
255
360
405
306
340
337
291
345
269
219
279
302
326
245
243
275
302
252
316
356
328
287
381
316
385
309
296
327
269
285
381
326
355
338
325
217
323
219
237
381
283
309
269
341
342
243
342
314
302
283
340
357
308
286
330
371
255
400
365
297
323
184
297
394
242
332
302
363
232
256
324
294
336
340
384
317
329
285
395
242
298
260
382
343
297
303
263
281
365
331
316
378
316
336
359
271
264
315
340
355
286
292
336
292
286
251
358
323
232
396
339
321
394
311
401
238
347
345
384
311
315
331
345
297
314
290
307
266
340
262
286
338
333
300
293
321
325
250
290
316
312
337
286
327
304
268
348
273
379
327
312
302
324
235
317
335
283
310
237
346
337
261
345
361
350
250
356
365
355
356
279
322
351
300
335
386
392
234
378
318
366
263
370
282
390
311
328
342
327
384
303
323
295
263
243
266
318
254
343
310
317
361
351
379
305
358
298
302
246
342
329
281
292
280
350
329
270
336
259
337
385
249
285
183
316
286
369
411
296
372
371
424
317
316
415
316
337
293
279
329
266
301
228
339
301
279
270
345
376
296
318
312
312
272
363
276
345
327
301
306
391
335
284
409
295
426
320
334
328
360
285
282
313
317
333
365
293
421
291
331
265
377
420
394
287
320
282
243
296
312
323
339
257
325
282
321
288
307
298
300
311
391
285
330
266
277
436
288
341
379
323
300
305
312
263
303
340
314
283
386
335
337
371
244
301
295
311
294
260
249
295
291
288
385
301
427
289
241
385
402
335
290
291
274
240
344
284
337
346
362
270
287
318
331
333
329
319
302
351
318
374
290
264
331
314
354
275
314
324
302
363
321
280
293
228
267
269
342
363
286
329
277
300
349
296
371
350
315
382
283
336
349
324
326
334
322
398
317
251
317
332
268
340
294
308
313
268
181
335
297
341
367
293
356
279
385
355
236
231
354
315
290
309
286
301
312
301
335
308
275
349
249
309
316
422
328
330
318
301
345
270
359
385
288
283
360
290
362
295
297
260
194
257
289
293
288
354
365
301
248
289
314
395
314
337
278
323
371
306
329
344
325
309
330
356
245
410
286
189
284
302
319
332
284
352
330
292
286
322
348
299
321
322
304
321
317
344
319
363
361
269
292
310
303
310
315
434
318
339
225
352
316
349
322
251
261
397
297
277
318
365
339
298
240
344
264
269
322
351
264
301
327
307
362
342
373
299
386
376
338
353
318
325
289
355
199
383
349
287
320
253
306
266
297
298
378
267
403
269
362
367
300
287
391
362
339
338
252
312
332
244
352
339
314
369
355
293
354
303
289
313
335
370
312
274
364
366
223
299
327
308
199
434
320
319
320
341
241
358
357
355
339
414
368
285
377
237
345
288
397
348
307
421
307
324
287
437
298
258
302
295
313
392
356
375
355
314
326
273
349
301
383
340
287
335
283
328
309
322
314
357
289
283
344
285
315
342
268
302
290
310
274
327
330
311
295
383
272
328
320
342
275
274
316
384
266
259
291
346
294
312
338
345
333
263
421
369
335
257
337
247
316
247
369
306
280
263
361
339
328
288
306
325
317
281
324
295
375
309
283
264
341
377
310
327
353
322
295
330
300
317
373
296
203
343
320
290
335
306
370
327
266
311
234
393
295
301
272
387
386
366
332
301
285
323
291
356
340
330
307
338
351
287
357
348
352
364
277
308
365
246
340
293
348
296
336
379
302
278
265
351
289
324
309
245
165
314
322
255
281
428
288
346
275
347
348
320
256
243
407
277
296
332
365
322
272
334
303
341
334
346
287
328
295
263
311
297
281
301
242
293
311
342
350
368
268
353
312
300
274
285
364
303
308
401
315
343
304
334
378
305
352
373
286
290
339
324
334
361
297
268
221
273
274
377
393
365
346
280
255
387
336
341
264
364
317
328
375
318
318
255
299
282
307
284
295
318
360
399
252
283
356
261
328
367
375
244
300
334
270
364
310
319
333
273
289
332
360
303
355
360
347
337
278
368
322
268
300
323
264
280
280
236
290
315
394
403
344
276
288
351
379
265
402
275
365
341
318
323
350
283
289
284
309
264
387
325
347
290
339
271
365
354
352
302
264
330
335
346
271
253
318
326
336
326
395
251
341
319
324
376
356
388
278
293
272
334
298
339
344
378
326
321
259
318
340
341
330
322
281
354
302
328
257
385
288
355
338
331
333
288
272
333
273
345
385
366
232
394
297
337
332
351
315
411
346
373
243
322
345
363
334
368
210
334
288
381
281
329
267
282
344
357
337
306
343
369
283
328
297
359
305
280
362
375
342
332
403
321
255
317
316
290
310
256
312
272
383
315
310
272
367
292
336
323
294
243
308
313
311
305
317
309
308
347
334
385
381
313
322
346
359
330
213
353
292
296
300
304
338
302
308
331
349
285
335
314
248
321
264
312
335
304
262
284
333
314
326
276
300
293
343
378
335
335
352
330
308
307
278
309
307
338
309
307
281
303
295
350
350
343
367
302
376
306
308
314
350
319
287
361
375
261
386
304
310
337
200
332
369
422
265
327
262
315
309
213
385
315
269
316
342
282
378
301
320
323
369
375
303
350
285
253
315
314
336
309
311
313
345
436
272
286
374
367
345
292
359
323
348
325
312
346
307
309
320
332
307
322
305
256
242
299
330
286
293
305
282
352
304
274
297
286
286
247
359
360
339
302
372
352
250
301
281
320
273
313
299
335
357
272
273
281
334
355
304
355
299
257
405
306
352
343
315
329
307
405
322
389
296
343
343
362
372
414
313
288
223
350
286
349
348
335
301
361
282
288
272
352
340
325
313
355
300
335
243
388
273
326
349
351
336
251
294
331
363
332
310
346
294
314
323
242
359
301
337
242
264
322
249
325
317
317
308
298
325
342
300
312
264
382
305
360
242
286
337
241
305
321
392
222
263
307
348
354
203
312
318
318
352
341
350
297
339
357
247
340
349
345
329
277
316
262
339
269
315
386
271
255
298
302
368
292
336
306
320
300
326
379
362
321
315
303
255
186
324
297
336
370
405
267
309
324
290
330
267
314
324
296
350
329
361
312
365
373
391
409
332
355
366
419
345
358
260
344
300
393
279
238
335
261
317
409
311
340
321
298
351
247
432
324
314
288
345
233
342
316
359
431
378
383
286
283
340
329
315
354
292
350
313
341
329
332
346
307
362
278
343
388
308
276
313
298
371
257
338
239
366
305
318
298
386
320
319
387
286
367
301
270
318
323
338
385
323
314
248
238
318
356
348
251
315
402
295
393
368
288
223
276
336
321
316
322
370
282
327
341
334
327
354
326
257
329
263
286
305
313
309
348
270
315
368
330
269
356
299
315
292
247
356
279
241
328
377
262
303
312
211
360
315
305
361
255
247
329
294
320
266
393
352
371
257
290
293
343
352
330
282
368
306
313
269
368
359
418
302
178
304
306
352
348
304
279
410
398
327
275
430
316
454
304
308
287
281
279
249
323
296
302
372
302
333
264
302
239
330
399
347
287
286
223
361
360
328
280
327
361
284
340
392
325
323
306
348
319
299
386
275
309
317
289
305
301
291
371
339
302
270
365
299
256
299
310
356
268
350
244
361
247
375
357
387
382
302
328
221
247
317
321
287
300
298
383
316
315
245
257
312
353
243
256
337
379
291
380
271
277
384
322
378
322
286
272
312
293
312
366
357
313
306
215
292
263
284
319
300
385
357
278
303
342
297
316
285
356
274
302
301
351
248
317
359
338
273
313
326
337
333
324
296
324
310
295
258
297
359
324
301
340
290
381
334
292
276
299
310
321
322
356
287
354
326
299
321
314
337
298
275
295
399
388
286
394
296
284
261
332
353
341
357
311
264
268
280
253
358
313
355
296
259
300
345
307
350
303
341
328
286
245
333
292
294
338
367
290
205
345
324
301
350
420
261
296
319
228
316
377
337
337
275
293
294
361
364
316
334
431
387
354
263
277
251
329
273
283
282
318
319
297
335
375
333
293
306
331
329
427
368
358
390
313
260
342
302
339
318
248
287
379
289
357
365
305
375
276
365
304
267
357
365
354
274
336
317
371
336
264
406
272
313
366
340
331
240
347
369
338
322
369
315
275
418
305
238
354
277
408
393
285
303
296
341
279
284
279
332
408
309
416
323
328
318
381
256
373
334
358
248
388
279
384
352
322
251
331
295
311
371
295
382
235
278
330
344
342
325
335
338
307
308
303
306
255
303
287
294
359
413
365
340
274
335
346
323
334
275
338
321
334
294
326
322
288
336
344
350
296
348
384
321
231
309
230
336
309
403
344
280
269
354
301
368
302
361
252
288
338
319
303
329
243
255
329
307
300
309
271
306
360
353
303
228
239
359
297
290
250
309
335
291
306
284
228
277
330
301
339
314
328
347
359
271
343
300
352
392
314
361
300
244
393
301
294
299
368
392
344
233
317
341
267
287
358
372
272
236
298
306
254
381
270
345
329
296
349
363
300
264
304
270
360
280
362
314
354
334
290
324
312
225
227
338
330
350
300
282
306
370
366
381
301
252
368
337
274
339
276
302
235
277
275
275
314
225
357
334
327
373
361
316
373
354
357
256
318
335
232
448
242
224
337
344
246
328
281
338
257
286
232
338
365
315
314
312
352
350
335
374
289
281
349
350
268
340
271
326
334
333
385
252
340
348
275
325
352
325
331
315
325
270
330
309
342
242
274
336
299
367
289
293
292
352
301
248
343
332
326
354
357
355
373
293
346
395
296
416
335
254
335
362
386
317
268
369
279
356
267
375
359
317
337
322
318
321
281
289
317
325
278
351
244
351
361
273
309
333
292
281
316
309
381
257
407
358
340
311
338
264
290
269
294
320
368
300
320
268
239
287
416
332
372
299
364
368
291
275
335
349
294
346
339
341
315
300
395
282
302
297
372
347
269
346
280
337
334
271
383
206
237
320
344
287
267
313
331
305
377
367
368
266
338
253
352
268
373
331
314
390
319
368
319
225
293
346
302
338
289
321
307
323
319
403
325
261
289
339
263
341
277
228
380
280
365
360
295
340
313
348
323
393
411
254
265
225
316
246
340
259
296
345
343
327
337
380
330
248
275
299
346
245
277
255
353
332
289
308
337
366
310
343
394
278
342
256
270
390
314
388
285
322
352
337
358
319
286
314
285
334
213
318
304
331
245
220
322
349
315
320
289
339
314
311
332
305
266
338
290
367
257
307
305
311
296
402
289
377
311
382
279
308
335
325
372
343
299
292
337
223
278
331
314
220
326
256
323
266
337
286
383
314
279
340
334
308
308
305
282
303
301
324
311
384
345
260
356
238
340
321
308
363
315
377
288
365
410
351
287
332
325
261
360
278
254
292
270
323
284
254
355
327
311
260
302
336
293
327
292
361
351
338
280
339
320
248
393
266
258
306
370
232
332
239
403
376
404
318
379
326
360
301
408
374
310
319
358
299
377
332
255
361
329
327
296
302
361
262
283
396
271
386
313
334
224
330
349
409
290
262
352
305
374
277
351
309
271
322
279
301
270
342
233
286
270
315
311
343
375
337
341
371
323
356
351
330
349
272
379
303
312
323
280
255
301
283
292
242
321
299
338
293
303
330
400
269
316
336
277
285
240
300
393
294
337
334
419
293
245
326
388
396
284
352
342
342
338
331
291
251
364
365
303
349
337
329
295
320
326
354
277
357
329
332
364
361
393
387
293
252
378
338
310
378
306
340
286
404
284
248
276
355
324
331
387
333
265
342
358
331
352
336
307
328
275
313
355
338
345
369
327
382
327
335
325
322
334
324
339
398
271
313
362
342
348
291
317
332
323
363
342
336
316
290
383
279
389
366
264
323
271
304
268
318
307
393
264
268
363
312
307
318
366
232
224
270
330
239
333
287
316
301
320
316
370
346
287
329
358
371
353
313
353
286
324
306
354
338
252
225
234
344
254
352
361
356
268
316
267
301
358
403
339
329
340
340
304
313
285
314
330
326
290
332
348
278
336
383
299
373
356
280
352
298
344
271
351
316
302
306
297
375
328
310
350
325
260
342
284
318
329
338
283
337
288
292
339
333
289
345
344
335
225
345
360
252
340
276
297
351
205
373
350
336
327
298
333
302
293
372
328
395
324
284
301
329
323
328
362
240
344
335
243
355
300
311
323
358
349
284
327
300
265
307
334
358
325
326
347
291
295
354
284
306
371
295
376
367
289
286
301
352
374
280
311
380
339
360
304
339
359
285
363
355
299
377
363
280
336
287
443
435
309
230
353
314
360
340
292
270
303
275
287
320
351
425
336
337
327
271
354
280
392
278
309
334
329
371
331
274
368
301
352
253
286
321
401
268
374
301
355
267
326
326
305
271
328
292
315
279
348
353
362
311
283
377
326
322
313
333
306
390
272
402
365
261
340
318
296
289
332
257
382
298
324
324
259
271
417
311
328
337
332
340
307
307
278
271
254
299
292
270
300
338
343
365
262
282
335
402
393
276
331
309
316
339
363
344
333
318
333
343
376
298
318
292
263
341
265
324
299
342
372
303
325
300
182
318
347
294
366
382
406
285
249
297
338
389
300
311
305
325
384
324
282
247
371
317
289
416
348
226
377
345
356
342
333
338
359
341
285
290
206
304
332
266
313
314
327
411
334
287
254
340
284
313
321
309
229
327
375
345
321
253
193
362
333
365
297
296
314
335
337
283
307
294
320
258
388
238
293
393
297
307
341
287
363
249
338
317
249
342
330
271
374
358
391
305
295
269
349
330
288
317
327
238
306
255
249
359
335
337
268
394
337
338
386
415
290
398
381
329
319
382
311
317
340
371
269
260
328
280
228
214
356
259
238
318
320
389
256
291
241
371
384
275
309
287
322
307
288
445
302
328
322
356
331
196
365
364
261
241
325
341
235
243
278
323
395
359
305
377
332
311
270
285
374
305
292
271
308
259
345
245
392
299
317
376
287
323
255
411
338
420
291
356
357
374
309
334
387
387
341
287
292
255
279
312
219
314
248
350
383
352
377
326
292
296
374
236
280
252
369
329
371
285
301
329
387
322
278
357
317
342
337
253
265
336
351
306
260
270
278
249
288
288
371
310
357
306
228
304
319
277
350
253
173
380
296
335
350
298
248
271
284
341
355
300
364
268
292
373
290
350
308
333
276
325
316
331
303
332
355
345
375
351
270
304
265
289
228
310
333
282
271
300
297
250
318
363
334
275
338
370
258
298
337
279
330
292
335
326
323
375
303
379
339
250
368
345
348
265
276
263
389
314
392
309
243
295
254
319
323
348
331
318
276
281
422
333
312
342
263
355
367
323
273
333
282
298
373
346
355
315
292
409
350
297
289
319
244
268
265
259
340
318
308
308
265
350
248
336
276
336
284
257
272
352
366
274
285
320
388
398
271
350
243
299
347
346
317
325
361
331
338
316
332
325
330
199
350
261
435
243
308
293
258
275
326
246
387
344
301
298
251
334
294
370
279
340
376
341
402
302
261
276
297
371
315
353
368
242
321
337
257
383
276
302
281
386
386
329
271
245
279
279
297
290
321
303
309
325
309
268
309
342
356
328
208
307
316
343
331
269
373
251
374
366
362
295
259
334
335
332
288
318
265
298
306
333
364
315
357
310
323
264
259
248
332
333
339
336
328
300
358
361
282
362
287
370
314
387
311
255
278
355
273
274
271
370
325
276
290
333
350
294
333
289
254
292
318
317
372
327
334
234
336
294
350
334
296
361
365
303
394
330
237
389
233
275
299
339
339
297
375
350
323
387
367
289
289
330
317
275
318
288
344
345
358
185
296
333
293
355
352
292
339
382
351
285
261
268
296
338
324
361
277
291
363
358
326
243
323
352
361
342
366
315
290
310
339
273
309
359
385
354
374
331
250
349
343
357
319
320
294
287
368
309
239
286
315
277
296
334
365
406
269
311
297
262
355
399
354
356
311
313
341
250
363
327
362
369
324
336
450
305
316
318
300
357
324
348
321
366
276
334
294
346
350
398
271
307
302
292
424
331
291
383
322
303
301
392
369
262
341
275
315
335
349
310
309
249
335
281
295
298
349
326
368
307
307
375
271
337
293
282
392
259
323
347
230
312
398
317
233
335
426
374
300
364
343
272
312
335
450
338
304
359
386
312
275
283
342
326
291
280
246
304
300
417
217
190
284
242
276
328
291
314
295
359
344
289
278
274
387
296
329
332
387
259
246
290
250
250
291
329
275
329
307
380
334
343
361
335
269
238
230
394
309
248
315
305
240
388
298
345
296
319
417
256
313
319
361
324
270
329
266
283
342
373
335
314
351
269
313
375
278
291
340
369
417
329
311
353
257
354
222
421
330
318
354
280
346
300
395
286
318
343
386
307
351
342
361
332
371
305
283
247
367
313
299
305
337
308
295
302
261
369
375
272
331
342
286
243
302
282
259
318
295
315
286
225
248
271
276
389
302
399
303
316
350
272
318
196
313
308
309
258
331
351
300
365
426
367
314
365
245
342
293
343
278
398
354
383
273
253
220
312
388
314
259
364
394
294
329
310
346
393
375
352
256
338
248
364
364
354
335
386
389
266
372
307
412
282
284
342
325
339
295
370
352
241
339
318
337
315
318
369
301
290
308
236
309
364
324
337
342
285
289
304
335
227
277
311
363
299
313
301
337
316
302
228
284
259
365
337
399
254
369
362
422
359
319
283
282
303
321
380
287
344
341
310
246
374
288
266
367
259
276
330
373
260
309
258
347
309
304
265
275
371
377
273
212
344
295
355
260
409
326
331
267
380
333
262
273
239
322
325
252
309
342
347
275
290
408
313
295
254
409
290
305
310
403
346
253
334
346
288
373
238
341
318
295
391
342
344
322
317
322
367
339
299
355
313
343
312
358
371
341
314
258
256
274
347
264
205
209
424
324
282
296
263
372
294
325
267
299
377
346
341
295
337
335
295
323
383
331
332
323
319
342
352
297
411
349
302
286
301
277
282
277
353
276
279
336
300
327
318
268
280
233
285
373
300
367
325
342
290
365
307
253
303
375
340
350
395
238
290
295
224
280
360
341
320
347
310
360
303
324
364
369
258
284
241
296
348
313
283
292
280
338
341
307
361
262
346
400
337
395
339
412
311
252
288
364
366
302
294
340
334
348
337
309
318
347
287
230
278
326
278
325
356
239
397
303
322
347
325
333
303
236
283
259
290
279
324
343
332
407
304
324
320
375
264
223
312
256
300
318
353
333
198
357
396
302
210
339
295
291
330
272
294
311
328
327
272
292
265
365
281
298
250
239
357
343
241
366
254
344
295
363
315
339
333
352
259
310
340
285
336
390
246
353
220
299
299
337
329
329
329
322
265
350
357
326
316
353
320
294
303
306
347
358
348
385
301
296
324
324
395
298
291
336
329
329
283
355
248
303
263
342
233
376
311
311
221
347
366
309
300
336
314
353
357
341
347
216
366
329
366
314
349
311
375
298
383
290
345
218
408
358
407
302
287
301
324
377
401
301
442
361
311
295
353
348
394
277
315
261
274
348
374
256
333
335
256
321
254
260
319
364
294
370
360
236
299
259
314
255
291
314
275
278
387
340
333
234
303
322
406
314
203
342
298
392
225
264
296
269
389
280
349
364
342
297
290
324
348
278
297
317
273
331
281
323
306
241
251
305
396
381
330
288
295
193
282
378
359
337
327
291
256
369
306
361
295
333
313
349
287
261
253
264
378
178
341
280
259
370
318
331
197
385
264
296
312
292
334
353
288
329
275
308
233
295
334
404
314
366
295
269
360
224
173
330
337
368
345
277
364
333
363
357
297
233
242
356
289
315
418
261
320
290
308
370
332
318
337
315
315
294
306
322
276
372
294
334
314
241
315
308
302
325
361
328
344
331
319
353
308
301
323
315
368
341
264
353
351
341
341
354
356
268
332
329
392
364
232
371
289
280
371
402
281
246
303
262
348
391
331
350
325
338
397
325
373
221
343
383
290
388
299
308
335
341
244
318
344
356
306
201
287
326
318
283
335
255
299
333
300
394
293
399
319
289
328
323
299
345
317
329
388
268
391
324
377
339
384
357
344
296
234
329
269
333
326
227
343
299
385
310
349
418
367
290
329
314
264
330
317
303
303
310
350
252
281
269
304
302
344
374
272
305
350
327
304
369
311
288
245
306
289
341
341
276
329
267
217
314
325
350
283
294
318
375
283
342
380
315
302
340
318
388
305
262
357
307
383
276
284
359
367
274
290
319
355
339
286
297
405
352
324
398
305
350
328
297
273
296
327
342
375
257
313
349
344
412
259
287
273
319
312
340
393
339
323
309
271
312
336
307
334
344
285
343
296
303
274
323
279
273
247
283
369
321
266
343
292
240
358
248
302
397
318
293
309
318
352
230
309
260
344
401
310
235
264
339
283
251
301
379
276
361
294
332
317
363
321
454
381
324
396
334
233
287
270
317
324
368
276
320
284
272
284
234
280
273
338
318
365
329
260
383
359
301
323
384
295
271
319
248
261
336
314
257
329
309
230
289
188
308
345
361
213
360
282
313
300
367
350
256
281
299
245
319
373
382
434
266
354
255
265
289
333
246
298
346
324
274
325
322
290
347
329
372
340
192
269
406
408
329
409
391
419
281
327
349
243
287
367
348
357
342
292
315
304
368
306
329
377
307
338
313
360
336
287
310
364
354
285
274
360
347
325
357
214
326
381
279
283
258
329
346
313
278
304
282
316
347
331
430
292
329
260
304
265
351
354
314
240
318
320
325
359
350
373
383
317
318
307
320
345
325
352
335
276
264
313
333
335
258
281
291
310
326
310
346
293
394
396
271
339
332
309
365
340
317
406
341
343
374
291
383
361
312
322
327
373
370
297
395
297
358
379
306
335
357
295
331
215
363
339
318
226
297
318
352
355
302
385
254
291
306
360
331
301
363
268
287
310
299
301
284
275
364
367
324
338
353
344
330
301
314
291
347
335
304
361
314
289
314
341
309
205
380
284
350
362
317
335
322
341
232
351
298
304
246
342
325
266
334
260
348
345
380
260
339
269
285
303
296
362
317
364
342
312
325
229
322
334
243
257
377
324
326
284
334
234
331
247
362
314
378
326
366
357
205
336
363
368
276
339
329
291
288
325
374
326
324
312
339
335
380
301
313
354
296
296
339
253
255
309
329
248
294
355
327
281
318
422
273
287
314
277
266
269
295
328
292
334
304
316
358
293
312
389
281
303
364
317
259
419
284
259
286
317
289
351
320
407
318
290
244
276
260
272
335
349
306
418
332
280
294
224
282
355
310
291
346
295
328
319
379
343
286
304
313
331
348
370
359
313
324
314
313
375
299
298
349
321
315
331
290
288
307
355
334
296
276
252
318
281
335
265
345
395
355
253
262
247
250
298
256
295
312
331
328
367
370
416
267
343
304
270
286
275
335
333
301
271
386
345
265
280
395
280
357
299
353
332
342
341
345
255
340
309
297
295
357
371
333
311
348
317
332
296
230
306
295
390
226
318
282
233
337
336
275
289
365
377
263
382
276
320
302
370
295
396
409
362
297
298
268
251
396
345
329
383
273
330
358
304
218
326
337
321
261
311
318
289
279
367
314
341
303
316
279
330
291
339
345
355
266
337
301
314
294
351
291
305
374
236
320
222
338
338
320
298
321
376
375
305
267
253
356
354
318
276
269
359
295
329
288
378
331
323
246
317
313
382
314
301
346
366
311
259
343
278
333
297
310
264
263
290
233
332
327
269
282
281
342
303
290
275
334
281
353
276
275
229
401
256
346
349
282
307
297
322
364
352
409
338
307
241
350
332
307
361
264
244
252
296
353
399
295
284
317
264
319
277
372
299
283
352
288
266
396
277
364
327
392
176
313
278
310
361
341
346
383
301
388
376
319
384
324
324
404
324
289
268
297
350
329
296
368
376
309
334
379
254
382
356
342
374
310
247
224
307
327
288
309
303
281
325
313
295
384
262
318
279
346
298
298
359
350
336
297
336
331
281
290
300
324
342
355
286
328
316
365
325
354
303
323
390
288
313
331
354
254
277
307
390
271
293
350
330
332
325
279
309
361
372
297
284
326
353
378
338
290
249
384
271
291
359
344
303
311
256
278
319
316
338
284
278
300
325
281
356
332
302
295
384
328
352
300
356
326
373
289
291
327
340
371
293
259
296
314
251
359
314
326
370
340
349
313
282
321
321
371
303
377
395
348
349
352
327
238
329
290
246
304
380
381
365
329
319
313
337
341
294
280
262
313
341
290
266
242
331
296
228
275
353
323
352
251
352
231
285
305
294
316
312
245
326
336
292
271
324
320
253
297
332
329
368
274
297
268
273
275
277
348
401
273
174
254
265
323
310
321
350
294
373
379
356
338
340
344
301
347
304
299
359
288
365
365
325
287
389
314
304
256
211
355
312
263
193
366
354
348
340
288
228
202
334
336
324
288
325
321
279
298
352
316
315
353
263
270
276
285
258
301
356
372
329
338
327
326
326
279
229
254
287
221
302
389
291
314
303
306
273
325
346
354
314
315
296
441
359
279
278
305
368
303
303
208
311
387
331
302
389
300
322
309
264
334
287
205
311
348
381
278
292
252
342
234
361
374
266
394
329
366
308
287
343
283
372
312
361
312
249
278
284
260
298
300
372
341
355
332
357
372
319
319
316
315
219
307
324
336
354
263
329
290
325
334
353
461
299
381
292
349
338
310
320
342
350
369
315
261
359
269
317
385
397
310
336
271
317
347
327
317
287
301
297
269
338
349
233
347
316
280
260
312
375
336
296
305
314
195
309
261
233
290
288
320
306
307
381
288
392
352
311
360
318
344
343
265
335
271
375
331
357
332
247
279
312
339
285
327
359
328
350
258
345
371
331
376
363
288
350
294
332
343
241
295
356
292
361
306
202
270
392
257
363
339
258
272
312
368
356
327
375
334
325
375
262
248
232
240
329
328
303
279
307
360
297
298
272
249
277
299
382
283
300
275
304
336
369
314
332
332
352
317
262
224
383
232
360
316
380
287
417
307
303
330
256
346
287
330
265
346
303
285
304
398
400
336
180
344
328
302
323
172
370
263
360
326
304
301
207
327
345
328
284
261
289
346
346
308
317
360
361
306
332
304
417
318
386
313
318
323
342
283
357
361
340
252
322
274
275
195
371
368
269
335
352
357
303
340
333
340
304
351
277
403
321
348
285
376
247
379
362
343
275
333
308
289
335
328
339
307
313
364
254
334
365
311
257
298
310
374
278
300
261
407
257
370
283
383
370
234
382
292
362
414
329
321
246
356
272
275
410
332
313
320
417
412
357
358
355
399
264
358
290
267
272
354
343
264
371
322
258
318
257
328
369
349
298
368
370
273
284
361
350
323
264
414
291
291
369
342
308
278
342
291
323
408
296
307
325
323
325
299
306
304
325
313
343
377
313
303
339
287
303
290
300
289
279
300
294
294
322
236
277
333
325
353
294
360
329
277
327
374
295
401
339
384
315
336
401
327
354
283
333
307
343
271
330
314
331
346
319
429
220
364
330
358
321
448
286
377
327
244
251
280
336
325
296
356
320
317
205
334
359
357
275
353
255
321
374
325
338
335
283
338
236
271
273
316
297
310
346
286
367
274
308
350
306
349
412
322
366
291
306
302
303
348
287
309
285
406
309
365
330
229
323
354
320
277
317
259
286
303
294
348
331
379
366
345
364
259
390
320
424
344
305
378
325
340
285
336
289
232
320
381
340
309
323
265
332
354
317
281
418
352
299
285
371
287
258
347
380
324
348
399
345
280
284
329
308
324
208
273
290
239
317
377
207
358
316
327
365
308
274
407
306
314
346
348
325
311
307
300
228
365
340
363
360
237
405
332
367
295
253
405
395
307
335
187
289
341
394
243
334
395
399
303
245
330
336
360
364
270
334
298
332
339
381
327
337
342
350
386
297
391
325
340
333
313
338
264
358
350
371
302
360
342
226
307
346
290
319
288
382
221
351
366
324
291
322
205
303
319
338
343
360
294
377
270
342
381
326
358
340
287
340
372
281
301
337
201
291
275
335
345
282
327
351
282
373
431
332
355
312
406
306
279
393
301
294
326
395
314
345
335
365
341
309
341
337
334
389
344
301
320
327
346
328
318
378
312
354
313
353
381
267
362
277
338
331
320
302
437
212
373
300
302
319
239
320
314
294
297
339
304
319
287
284
275
312
319
271
324
252
293
305
341
320
378
338
325
302
278
264
328
273
365
354
364
324
428
358
374
302
312
353
246
273
346
293
314
352
352
289
281
297
388
308
277
264
330
274
315
354
300
308
331
357
357
444
311
292
325
382
330
260
290
285
347
259
314
271
319
299
259
350
302
385
243
343
328
305
326
323
312
375
341
325
334
382
380
297
342
354
342
370
268
288
362
363
356
319
353
326
362
259
245
317
288
355
300
281
331
307
236
231
239
297
296
313
346
195
345
311
393
262
336
347
383
239
274
314
325
356
404
319
292
364
218
411
297
255
262
328
294
295
271
312
308
343
251
310
260
275
328
321
328
260
265
421
328
304
367
369
311
299
273
312
305
324
327
320
313
390
262
341
254
303
365
412
309
332
268
354
245
314
321
267
269
291
371
325
306
262
381
309
404
330
380
223
327
395
235
393
337
258
360
307
319
268
243
340
311
284
344
359
306
350
311
381
284
303
266
332
265
258
293
237
313
340
400
282
355
337
293
297
287
325
350
274
343
395
300
296
318
339
285
310
335
337
227
333
324
259
362
314
300
308
269
333
329
250
306
315
291
318
216
353
294
279
376
206
302
337
339
371
302
249
305
357
288
306
365
325
320
310
301
262
335
401
293
333
317
304
403
263
313
337
338
324
269
324
329
317
278
323
353
328
292
316
327
299
333
437
267
325
330
291
290
336
373
270
373
401
343
355
334
325
320
351
284
335
271
288
392
348
431
381
337
342
351
371
304
346
393
286
323
376
311
290
309
316
247
402
358
302
287
342
289
290
325
325
286
364
297
376
309
313
269
237
352
363
400
275
320
334
338
355
407
351
344
363
370
256
327
235
357
246
305
358
381
369
263
361
299
301
392
301
371
259
342
289
331
343
267
255
356
348
284
385
396
373
298
318
296
292
324
353
342
291
317
288
301
250
366
345
366
343
381
352
273
369
319
334
330
213
339
298
360
295
214
372
297
458
336
298
297
365
318
233
375
356
301
348
304
257
309
335
361
344
299
318
341
387
333
342
364
266
315
302
332
333
265
342
341
359
295
323
327
287
287
330
280
329
268
284
242
194
298
346
207
267
281
309
232
286
358
244
304
318
416
374
352
342
382
271
300
275
278
276
271
279
337
285
398
323
275
245
310
246
268
277
354
222
349
343
349
313
374
285
338
310
287
316
381
341
327
347
349
322
351
284
329
359
387
332
302
337
269
304
239
222
304
386
326
274
404
333
343
293
272
355
264
277
362
305
312
279
338
352
287
368
263
293
328
344
327
312
325
300
305
304
323
321
288
242
369
261
323
304
375
297
215
374
374
365
300
292
361
249
342
327
291
315
319
285
392
344
290
356
302
326
260
331
206
254
352
304
343
275
255
338
269
242
335
334
314
355
426
293
392
414
320
334
259
277
306
364
327
305
370
339
234
289
251
293
282
344
327
297
236
341
377
328
402
351
320
380
278
337
260
278
394
322
334
245
297
371
357
423
308
316
399
359
337
260
265
341
349
295
297
273
301
304
404
357
376
318
272
334
350
307
305
279
343
313
324
295
205
374
338
358
309
395
332
345
348
259
368
291
336
336
281
277
277
292
362
405
359
372
265
345
324
353
306
332
337
327
254
349
398
267
293
283
370
279
319
316
354
306
250
306
265
310
241
328
235
316
360
299
313
274
329
237
348
316
217
363
293
403
354
389
341
343
326
321
317
334
373
308
316
270
262
283
363
359
172
290
398
384
289
350
277
358
295
327
301
359
376
320
281
228
312
291
411
326
397
314
342
314
250
313
351
334
286
237
311
357
265
324
297
396
373
301
383
283
259
371
300
300
350
341
370
309
317
311
322
300
327
284
278
397
289
367
299
328
367
323
234
288
339
363
303
282
347
325
293
386
248
406
235
412
359
246
251
308
299
341
370
264
287
333
298
323
382
351
271
333
286
322
268
348
370
369
329
352
370
375
310
281
316
306
254
384
385
370
376
297
288
313
346
317
357
405
355
321
300
258
353
329
270
385
367
346
288
257
314
337
325
267
349
327
350
351
352
303
332
359
336
282
322
349
349
261
284
276
356
211
309
373
405
279
289
333
275
352
403
309
361
361
273
225
310
250
294
281
367
267
316
336
284
290
321
291
340
282
277
253
338
367
277
297
340
361
311
346
308
371
338
322
231
370
315
314
355
341
347
332
299
287
300
302
370
325
313
295
320
333
349
348
338
274
322
323
415
367
268
399
329
287
323
276
325
245
331
357
327
303
243
305
365
274
324
291
303
296
262
214
307
297
318
269
351
256
372
295
312
326
365
371
286
313
260
325
358
331
280
317
362
370
228
310
374
333
316
419
276
299
275
248
350
273
334
271
290
311
257
309
367
236
379
302
304
314
337
352
342
282
305
248
313
336
308
198
297
322
301
341
307
290
313
360
260
239
293
316
391
290
303
368
235
293
280
302
314
300
238
261
350
318
365
281
290
271
345
301
316
340
271
338
270
320
271
313
259
259
343
323
287
279
286
345
390
345
344
311
304
328
340
332
278
240
233
340
306
310
372
356
253
287
398
356
309
274
372
331
276
307
349
357
339
281
305
308
271
265
320
347
315
243
356
357
335
348
376
325
266
307
388
274
270
350
223
320
283
291
258
323
290
349
345
220
339
324
345
253
327
284
300
325
249
273
296
295
295
322
309
227
295
324
324
451
333
385
323
367
346
211
326
237
324
312
352
297
359
315
298
237
379
361
244
319
260
330
248
284
342
377
226
335
165
334
322
344
366
335
396
408
200
333
283
353
296
261
314
340
316
375
332
403
344
293
372
387
308
386
315
302
275
321
370
361
405
397
353
287
244
416
362
310
374
278
323
242
352
318
320
272
307
309
407
211
339
354
350
242
273
291
367
302
299
337
331
252
365
294
401
311
306
321
313
371
314
317
374
328
342
172
309
309
280
347
332
284
239
382
254
329
347
368
363
356
327
365
354
417
267
317
318
399
333
322
296
306
290
347
283
315
344
353
333
271
304
325
354
304
318
321
352
278
395
339
299
226
382
333
348
269
330
231
261
253
315
261
365
328
257
354
301
288
359
259
282
383
358
300
384
239
332
320
393
291
301
301
334
338
299
325
361
313
296
338
290
253
365
334
263
286
334
320
209
310
365
332
304
257
364
334
392
195
285
339
301
295
245
277
354
389
295
312
303
368
269
362
305
407
275
322
318
329
297
319
338
357
310
282
277
334
402
395
288
318
297
220
265
373
303
254
315
311
402
284
327
316
332
373
325
275
284
255
328
389
338
255
374
323
310
238
300
340
286
345
338
346
256
320
359
271
259
315
244
280
258
339
188
313
305
323
253
326
323
331
323
351
322
324
346
278
307
254
301
326
285
381
273
292
317
338
400
304
293
418
284
323
326
277
373
332
394
294
343
278
342
298
272
281
386
267
270
319
377
310
265
318
333
333
295
280
341
377
295
370
310
351
304
345
341
290
328
316
339
237
302
328
404
258
303
281
343
270
362
380
344
315
373
172
309
254
270
346
259
344
360
388
344
283
413
232
356
341
318
356
389
392
273
260
327
389
305
272
293
300
295
342
254
390
259
310
283
284
316
301
307
350
343
380
329
342
316
231
254
339
380
336
301
301
407
316
270
362
303
322
328
360
283
332
322
290
279
280
357
350
360
368
221
291
366
268
400
414
327
333
325
350
256
287
287
349
301
321
295
373
359
258
290
397
421
304
393
325
351
359
340
291
317
296
301
387
381
206
224
273
314
306
270
386
359
269
333
346
407
263
407
391
372
313
387
360
395
301
257
336
279
377
311
268
288
316
326
401
351
378
272
306
302
254
272
372
336
331
324
339
323
326
347
335
252
289
382
251
255
371
380
264
305
352
285
304
339
316
270
360
237
417
332
316
354
360
330
280
319
273
364
385
282
432
323
298
337
343
260
374
299
227
325
326
382
250
331
245
317
382
283
352
336
340
305
322
365
327
313
351
305
287
277
351
357
258
404
342
318
303
329
364
306
243
414
306
377
388
374
359
385
351
358
289
373
406
213
273
337
288
343
347
278
310
393
400
303
331
351
317
292
373
308
255
330
339
295
320
308
277
304
298
360
239
309
385
385
330
310
208
353
365
370
320
320
240
344
371
230
331
290
334
328
213
379
247
298
274
241
406
377
295
337
266
325
340
277
321
385
335
386
204
242
335
235
295
328
362
326
334
333
346
328
377
226
271
258
390
314
332
250
281
313
342
277
356
265
346
397
280
291
381
291
279
195
357
326
301
305
389
263
275
328
310
280
406
432
289
275
318
298
315
277
333
388
278
338
369
331
327
317
329
302
347
322
281
328
345
272
347
306
374
264
392
314
371
346
313
411
299
253
335
329
340
370
381
336
335
297
281
298
360
318
268
360
268
317
279
360
335
242
374
285
327
276
294
342
388
376
256
346
354
398
277
323
367
375
329
305
343
289
310
264
266
300
325
332
204
285
345
358
246
325
322
342
340
282
245
306
271
295
324
325
326
299
349
272
341
287
298
333
294
366
293
313
344
322
416
345
352
291
347
241
380
246
367
271
319
315
365
439
333
322
308
301
311
323
338
343
329
341
388
224
244
347
256
219
303
277
320
341
354
296
404
339
309
364
269
322
276
366
259
306
417
300
325
367
303
296
330
266
295
257
326
330
399
334
354
386
345
372
323
331
265
314
341
391
370
302
340
351
205
367
368
243
321
353
322
248
306
356
296
347
297
405
352
306
274
302
348
319
288
288
383
264
257
282
320
360
302
281
347
399
357
379
273
330
347
366
401
301
357
327
273
265
251
238
374
362
333
361
313
285
361
395
327
267
306
239
312
235
332
288
315
394
267
208
316
292
271
304
304
281
375
331
305
266
327
362
313
342
311
281
287
328
255
332
307
325
353
334
431
302
363
286
297
419
373
234
326
211
381
371
263
286
304
327
344
238
295
284
335
428
325
342
379
391
314
335
285
328
408
345
318
363
359
339
330
380
320
308
370
355
256
336
310
344
364
355
413
322
347
283
367
354
335
301
324
282
296
375
236
214
368
355
386
322
246
330
275
345
262
270
261
253
270
371
326
328
384
342
275
267
281
324
276
394
314
277
310
304
398
261
351
279
353
311
293
341
373
350
347
308
359
265
322
311
408
278
289
330
331
375
310
282
303
326
360
325
362
419
304
307
276
278
344
355
339
260
272
313
314
300
340
260
302
314
344
309
255
285
311
343
342
321
357
301
295
379
326
355
293
286
410
237
278
333
315
355
286
257
360
303
365
294
318
292
333
254
392
286
281
306
213
277
315
346
352
313
270
371
393
287
362
282
368
343
257
405
266
287
356
336
369
395
318
303
295
303
405
372
303
347
330
307
346
283
423
347
325
271
410
308
326
317
265
348
282
390
394
359
294
420
384
269
371
350
380
386
341
319
331
309
357
371
302
354
290
308
353
318
293
348
345
197
329
302
341
330
301
305
256
398
265
259
389
414
380
344
201
286
394
454
316
317
260
279
316
266
291
311
252
340
335
262
331
280
334
325
294
358
321
339
269
310
298
180
259
282
265
331
361
368
251
266
376
303
343
352
332
318
327
345
268
304
317
373
266
338
319
320
409
345
378
222
302
338
392
282
401
308
379
373
260
279
387
313
327
302
290
261
296
245
313
291
304
294
372
257
247
345
307
307
310
328
290
320
332
325
289
370
279
342
344
292
401
336
326
345
357
291
334
308
243
345
291
282
351
407
391
301
344
243
313
339
314
249
275
322
238
370
369
403
321
339
266
323
288
299
328
326
292
354
432
303
230
353
309
379
380
398
321
313
263
375
273
263
280
359
296
283
343
345
304
245
247
411
399
319
270
282
336
320
226
320
322
319
359
308
319
292
350
250
331
312
288
383
283
325
383
270
261
377
391
268
305
239
336
354
306
359
367
276
313
309
368
353
247
285
299
275
422
171
255
254
280
291
335
271
291
287
307
296
286
251
365
280
310
296
336
356
289
352
323
307
336
294
286
301
328
327
298
261
306
341
321
314
310
359
309
333
303
250
295
294
303
370
322
345
377
308
308
343
318
288
305
277
343
351
360
282
291
394
270
331
397
301
299
294
311
289
246
332
279
378
310
331
344
348
274
300
354
353
316
288
213
370
268
309
255
427
350
337
349
291
337
269
344
300
346
310
269
362
246
297
356
294
341
328
163
301
318
379
372
326
419
306
213
349
322
313
269
230
260
261
331
321
368
286
345
290
297
416
300
363
347
276
260
272
335
277
269
389
247
338
286
373
309
292
274
275
316
361
390
240
264
313
313
300
270
322
271
265
343
352
343
236
279
347
340
278
338
260
341
200
315
297
265
366
334
331
231
250
277
379
426
299
303
309
312
363
311
369
321
298
337
316
316
326
322
251
327
339
395
376
379
219
357
365
301
298
255
318
291
299
270
397
383
339
297
259
221
305
360
294
263
334
320
246
322
327
251
323
289
297
302
253
329
305
239
272
316
327
347
326
326
321
249
294
335
303
314
320
240
289
330
280
315
317
316
318
274
347
303
289
253
281
349
275
312
305
340
207
287
264
278
332
320
263
346
385
332
295
329
325
322
234
387
316
373
251
370
364
299
295
204
341
365
381
265
359
258
235
323
269
316
286
319
362
317
318
407
268
274
337
297
330
296
269
241
313
330
331
402
308
274
345
388
351
345
294
395
367
322
387
351
318
250
332
355
341
313
298
207
269
210
346
383
331
293
351
313
332
329
348
247
238
306
334
300
343
340
292
345
395
408
333
293
331
329
275
310
345
297
320
312
323
243
315
398
243
320
386
317
323
333
291
261
379
424
242
286
273
358
329
302
420
339
359
388
300
340
357
347
354
335
303
400
313
347
307
365
342
299
311
310
283
310
250
339
289
332
239
290
310
283
314
331
241
313
301
297
279
324
265
359
323
356
286
384
359
345
313
299
357
306
270
334
403
302
284
368
280
314
306
368
312
302
311
268
404
243
303
377
304
329
432
353
352
329
316
300
378
338
315
277
293
185
394
362
350
286
334
286
269
283
317
291
292
259
273
268
334
356
280
396
385
285
334
346
345
313
357
344
320
326
334
337
310
256
386
311
386
373
303
282
296
337
312
297
297
341
272
358
357
301
206
334
312
374
301
306
291
282
258
317
363
349
263
304
206
278
419
306
344
347
380
275
330
285
320
412
306
280
320
365
339
270
267
397
341
287
217
393
325
351
335
363
266
365
346
299
302
249
291
295
316
305
369
296
316
259
276
330
306
349
269
352
361
331
367
264
324
305
315
373
263
283
354
450
282
222
282
256
279
265
284
281
279
361
199
214
283
280
280
346
309
229
424
275
274
278
388
328
347
346
222
284
250
246
282
368
369
321
250
317
320
246
306
300
357
336
267
366
252
355
291
328
324
348
293
418
274
321
327
336
358
282
300
316
355
269
298
307
408
344
351
415
368
365
300
299
346
242
309
276
341
323
296
297
267
207
319
280
374
346
301
366
250
287
332
308
307
345
272
287
363
350
314
405
347
372
309
238
302
306
346
311
256
299
351
390
364
316
333
325
237
275
307
258
368
342
326
334
197
282
311
335
300
295
330
283
326
375
258
335
248
340
241
300
385
272
246
328
297
334
286
323
246
419
328
340
253
277
315
332
368
382
326
317
310
339
276
332
331
331
237
306
329
256
390
301
270
311
307
236
239
368
339
318
279
285
326
377
309
271
307
336
274
332
350
338
407
309
269
324
338
353
290
279
355
331
293
288
327
255
317
336
342
344
287
362
314
307
380
339
290
339
361
310
303
284
338
343
359
232
277
273
260
272
362
350
254
287
259
359
384
411
293
303
308
372
294
258
306
275
305
285
368
311
268
273
311
300
318
279
236
307
293
268
318
262
322
344
282
262
371
334
410
295
343
353
268
326
374
371
393
312
316
382
359
228
245
296
433
263
350
283
306
323
239
279
295
341
329
347
332
315
284
376
314
351
322
319
333
336
296
257
377
277
315
275
233
238
310
223
372
340
274
347
316
317
252
352
294
316
304
343
327
247
295
260
383
290
347
214
386
359
185
233
242
356
387
353
339
334
267
278
353
428
255
371
249
362
328
246
369
315
306
328
349
355
305
354
337
220
369
351
373
314
315
306
400
271
371
361
327
376
380
356
361
229
362
407
322
292
291
248
351
361
296
401
293
329
332
309
269
322
285
371
377
273
301
310
276
351
302
332
253
305
352
317
277
377
301
271
275
298
246
376
342
277
274
289
362
306
301
334
318
312
225
321
353
336
343
243
322
310
360
341
250
252
347
325
283
306
302
407
329
317
301
274
307
371
355
293
321
321
256
364
271
364
330
373
313
349
388
316
332
312
229
368
401
363
294
265
306
338
303
260
367
225
230
347
246
296
308
245
315
332
317
275
247
286
353
329
287
363
269
326
302
270
301
323
351
204
270
246
298
319
299
266
327
334
373
323
365
342
345
327
353
280
299
317
348
294
317
208
344
288
387
241
294
275
317
263
310
229
338
225
329
323
383
375
339
298
394
332
367
340
322
312
332
337
213
339
295
256
271
332
245
384
340
321
300
301
238
285
386
297
338
295
339
251
364
268
427
332
269
328
325
368
323
252
349
311
376
223
333
396
355
298
253
281
365
342
334
368
347
275
278
269
300
353
282
297
401
323
276
357
228
372
328
292
310
315
304
247
283
363
375
369
366
280
351
313
354
339
259
340
320
340
263
280
349
290
329
272
338
360
339
283
320
283
328
266
327
233
376
284
299
373
254
325
300
281
285
285
322
364
328
306
264
295
289
263
268
359
294
328
357
377
284
324
372
398
272
347
357
279
277
382
313
299
384
280
241
231
355
319
294
271
353
260
307
295
344
282
281
368
301
275
328
366
305
304
368
302
284
349
358
391
306
255
414
319
311
389
294
263
249
281
444
284
353
335
334
315
341
240
204
292
261
352
284
329
329
308
329
281
234
275
280
364
382
273
262
336
325
353
279
362
399
396
314
339
262
277
346
346
276
220
265
286
357
272
350
348
237
332
263
320
308
391
370
299
403
280
375
291
317
336
358
337
309
376
325
425
228
348
306
405
331
433
328
308
340
349
355
435
280
278
313
283
316
231
385
349
360
319
338
402
363
333
340
319
311
336
371
354
328
286
248
368
290
337
341
347
350
334
327
283
224
301
284
344
343
292
346
318
269
352
238
262
247
314
303
370
303
298
368
252
328
328
279
338
313
341
303
370
370
318
292
358
354
296
309
385
318
315
296
357
346
244
332
331
260
346
233
406
342
338
320
428
360
345
275
241
404
307
283
329
293
309
312
343
320
331
312
276
232
312
337
401
287
258
349
392
291
247
305
261
351
361
278
368
372
373
373
289
381
360
365
360
391
320
287
401
256
319
365
252
358
285
305
333
237
317
413
282
321
363
295
311
369
309
434
362
349
228
284
351
314
319
298
347
402
365
298
337
427
319
364
319
299
340
285
299
328
347
253
316
336
317
300
328
331
219
315
251
291
265
331
307
272
335
358
272
326
289
278
363
310
335
293
312
300
201
352
365
355
244
291
281
366
359
237
254
310
217
356
231
318
371
270
362
359
361
273
298
399
291
291
296
313
314
345
314
333
304
303
406
255
289
286
295
351
340
337
347
338
278
329
376
315
319
321
331
298
270
329
310
315
343
326
277
299
352
310
336
358
290
328
304
316
362
320
318
279
317
328
328
276
276
278
306
320
342
352
301
443
275
267
403
251
332
326
323
342
389
283
319
383
315
329
309
319
244
371
338
370
323
253
415
316
283
337
307
321
384
303
217
314
376
402
286
325
351
373
397
309
293
277
321
330
288
330
275
308
332
324
331
294
349
417
322
309
307
380
320
328
254
323
236
332
271
401
344
381
324
339
308
313
298
347
324
325
249
364
345
310
293
287
302
299
372
355
323
311
343
378
367
320
341
364
290
302
285
351
373
314
352
370
354
273
197
358
336
402
315
368
362
355
379
334
348
290
287
289
330
337
302
358
267
324
294
359
280
291
279
428
317
381
231
362
272
338
237
267
265
356
362
324
212
251
305
307
289
277
377
285
341
277
337
286
349
300
253
306
307
365
277
324
289
318
348
306
364
318
317
370
282
247
275
321
294
321
329
264
312
321
289
268
350
336
389
309
389
364
350
282
286
366
387
306
327
268
321
319
360
366
323
283
384
277
311
271
352
385
240
282
319
297
344
247
232
231
264
331
353
349
295
320
413
310
299
248
325
319
380
357
286
294
316
327
390
275
327
346
376
285
322
453
343
312
285
295
371
322
351
314
247
248
257
311
325
204
325
235
326
309
311
263
331
385
340
376
267
269
349
326
322
296
298
380
295
264
240
340
247
314
360
331
328
322
317
325
280
328
401
305
382
349
370
325
330
263
336
324
310
271
306
390
278
344
256
314
351
325
305
327
327
261
350
307
324
294
283
276
279
285
278
340
329
301
311
426
350
320
339
342
328
303
263
396
290
435
385
365
327
310
272
274
296
240
404
359
378
326
320
349
303
350
284
326
356
310
209
380
317
298
270
372
345
260
287
344
344
327
263
279
296
339
308
293
413
285
296
380
356
295
272
368
321
280
277
285
288
294
317
291
340
392
286
299
343
365
293
242
402
278
297
285
316
397
348
313
343
251
368
309
311
325
333
250
368
269
333
370
318
329
297
280
308
340
296
408
358
290
284
296
383
316
311
273
355
328
290
312
255
264
355
292
317
315
314
294
333
291
312
265
314
355
365
318
303
349
248
295
330
303
301
346
348
354
345
296
296
366
307
304
213
312
305
330
378
251
366
369
360
335
361
313
348
322
361
379
283
310
306
300
277
277
369
296
345
377
384
322
275
368
312
322
341
305
230
288
284
307
330
357
249
278
277
278
326
354
318
287
291
258
301
280
373
258
338
317
318
339
254
343
305
274
387
354
293
310
314
315
325
280
311
298
295
266
256
253
287
288
309
379
257
309
326
328
292
343
292
296
392
305
229
342
335
349
320
292
442
316
271
303
318
346
253
284
278
294
304
275
358
356
189
276
312
345
358
426
320
234
350
319
321
207
247
257
297
295
360
352
263
310
357
259
353
285
295
373
231
287
210
395
325
343
304
331
256
319
371
229
320
284
402
269
369
320
222
326
334
374
329
325
334
293
348
351
318
342
346
307
318
293
350
316
372
311
310
390
251
324
241
352
275
330
310
374
290
253
319
308
289
277
341
319
240
243
316
251
292
359
282
321
379
309
254
350
317
351
316
338
269
374
334
294
342
337
324
355
324
352
375
318
322
344
303
245
280
337
327
334
327
291
355
372
356
370
354
224
361
277
242
337
233
341
315
349
324
315
291
287
289
267
289
324
316
383
239
380
377
316
386
301
312
227
259
310
312
341
277
361
325
315
282
367
273
264
347
352
336
214
267
353
330
414
335
320
348
267
353
282
317
336
324
357
337
305
351
283
359
347
383
253
331
233
347
334
320
318
263
310
371
329
301
297
349
314
328
364
304
292
321
224
371
301
259
403
325
314
344
209
360
316
268
321
282
314
381
245
310
328
249
322
384
337
341
235
303
323
306
416
355
335
251
259
321
334
244
281
246
353
367
225
370
370
212
271
355
329
301
366
321
332
262
435
211
311
256
338
340
405
391
274
364
361
377
325
364
387
387
386
248
335
314
227
259
411
331
339
357
322
347
321
341
311
374
259
325
303
290
303
410
346
272
316
252
344
366
300
319
312
359
260
342
295
316
264
395
297
299
297
333
340
353
283
305
317
256
347
300
330
403
364
349
388
346
275
272
334
354
310
343
390
251
324
278
275
391
298
337
283
290
361
313
379
359
275
345
325
348
264
370
314
337
315
318
256
240
344
242
316
300
359
374
360
267
235
351
293
326
302
370
301
295
352
364
347
326
339
326
281
353
377
365
378
324
329
354
337
351
277
377
332
308
362
330
303
362
255
328
265
173
400
347
301
260
349
322
369
332
284
385
361
247
330
244
332
348
287
367
322
291
329
353
307
383
303
372
271
225
301
344
393
361
333
338
274
359
285
313
318
317
325
337
336
298
243
308
320
284
347
337
307
360
408
271
282
300
306
327
366
375
344
329
328
399
382
332
389
292
341
340
345
340
366
351
229
348
279
318
340
301
347
296
305
346
285
388
238
360
215
319
279
250
258
252
324
368
356
283
329
394
348
293
279
202
214
227
328
300
257
248
304
254
285
371
289
297
321
376
309
398
277
358
315
382
320
367
279
273
297
279
267
407
362
276
367
302
344
282
297
406
269
379
275
336
369
294
362
382
319
394
262
361
320
384
389
330
333
372
365
312
296
300
340
214
273
265
326
287
347
199
393
373
318
387
299
257
325
267
351
292
319
306
355
322
345
348
317
305
378
266
357
258
283
288
319
292
321
367
289
285
364
339
262
395
358
405
228
378
257
316
297
286
339
378
347
250
379
312
399
291
286
338
230
339
255
351
348
340
342
261
342
425
278
358
357
369
361
325
247
378
308
382
345
339
284
324
355
259
275
273
390
367
353
339
354
255
227
250
380
305
408
331
296
311
298
355
436
285
339
311
366
327
377
305
333
346
367
331
307
327
323
291
319
398
311
416
468
273
372
342
316
313
284
372
354
284
345
345
385
315
329
361
343
342
326
329
247
271
300
191
257
331
325
366
258
317
218
294
323
305
298
300
308
341
265
305
410
300
299
251
371
341
386
330
241
321
399
301
254
362
382
252
387
307
247
341
339
288
385
304
359
290
321
294
318
299
295
298
363
316
371
376
302
250
349
298
265
262
324
347
289
291
376
311
377
334
311
300
362
320
357
382
326
317
437
321
246
267
337
239
395
298
251
284
294
257
350
383
274
272
277
349
359
317
278
312
384
279
266
336
273
381
280
267
321
301
346
215
335
281
397
320
325
314
330
291
283
309
356
274
410
305
312
281
283
323
250
228
309
286
372
292
333
268
349
320
295
344
289
332
276
311
321
349
394
340
322
283
350
389
310
320
284
337
252
262
334
294
297
310
270
400
316
223
381
371
313
295
226
328
277
291
318
270
444
380
342
375
291
352
338
315
345
382
356
259
351
276
345
341
294
393
433
318
355
311
240
345
326
386
319
362
278
387
286
340
361
288
349
359
315
316
313
370
364
233
231
306
192
362
284
322
363
285
311
366
325
355
385
305
298
353
233
318
284
330
279
302
314
320
271
345
248
358
276
310
342
343
350
320
400
272
284
240
321
292
291
366
393
438
332
396
310
413
284
337
364
256
276
262
326
324
364
352
274
258
346
393
373
331
326
316
392
293
319
294
270
320
337
336
317
399
295
271
233
316
347
276
290
336
283
276
305
312
317
378
416
292
286
370
321
208
322
299
325
286
363
326
367
251
335
304
300
345
306
281
336
337
330
278
347
337
305
323
350
250
258
238
289
356
332
337
290
359
279
235
251
395
334
270
270
330
357
332
304
366
367
286
339
288
322
322
325
306
335
272
352
317
270
341
333
375
340
232
288
184
310
281
310
339
352
274
312
303
266
374
282
365
259
270
326
319
355
318
331
303
261
286
241
368
284
312
369
405
268
313
381
316
262
283
338
368
341
250
406
308
312
387
318
304
334
344
293
252
327
303
289
281
354
424
325
400
307
326
319
385
218
369
306
247
356
361
333
363
402
315
261
288
296
349
336
312
332
262
325
341
368
347
265
381
292
326
361
276
334
412
311
309
257
340
325
346
282
254
295
323
315
371
367
288
313
337
321
297
304
315
299
257
347
264
269
332
352
303
319
295
398
393
294
269
321
307
269
365
323
298
383
320
349
249
319
316
348
368
257
259
263
270
353
262
346
313
264
293
342
342
352
320
289
356
252
363
391
283
331
330
340
367
369
343
377
325
290
384
332
261
334
272
283
278
318
302
290
317
328
348
325
321
360
302
275
256
278
297
218
328
332
336
301
343
227
270
350
313
316
252
297
348
317
322
292
309
334
354
430
306
362
308
318
265
323
289
306
302
287
284
334
401
311
287
290
321
356
306
273
303
316
347
341
378
356
374
295
302
395
362
336
324
315
388
296
339
320
398
281
309
340
347
249
245
328
390
329
291
288
287
340
241
389
279
255
307
255
418
317
333
253
336
281
374
287
312
329
318
349
358
265
306
360
247
295
373
355
323
329
357
314
358
245
300
355
337
287
256
314
358
402
284
387
318
332
330
380
288
318
331
366
274
324
301
342
327
294
350
366
365
373
383
268
337
266
278
310
328
388
279
261
290
283
299
262
314
379
397
310
324
261
289
290
362
339
350
400
281
319
277
294
303
312
356
317
260
354
307
291
295
352
285
421
259
367
259
294
342
405
293
299
315
302
285
320
317
311
400
316
372
312
386
352
244
328
311
262
342
330
303
374
288
328
349
368
283
330
381
351
279
329
347
334
255
388
271
380
317
300
235
290
329
346
224
282
290
297
304
290
328
345
309
315
345
330
356
341
376
309
299
343
281
367
357
265
258
326
333
273
267
374
283
327
293
318
223
309
238
278
359
372
278
370
286
282
368
399
351
305
332
341
299
311
286
347
378
354
327
326
290
349
349
343
265
267
279
345
331
324
259
296
300
298
307
298
256
275
267
324
340
352
291
392
275
369
279
313
382
399
231
307
260
344
262
333
292
297
307
304
311
341
287
330
334
317
378
353
349
306
269
398
270
282
311
334
384
373
348
347
260
333
350
356
308
293
332
295
226
426
383
302
375
347
364
243
294
309
241
248
367
263
338
354
286
270
397
355
353
326
365
351
319
358
327
318
360
326
371
300
282
301
249
303
259
244
353
343
315
286
284
339
270
315
318
287
260
309
310
278
296
311
261
350
334
359
368
372
244
281
387
333
353
249
343
276
315
380
354
225
260
294
299
362
390
348
307
355
304
310
320
317
314
246
320
313
291
417
284
355
363
265
316
389
268
288
241
327
353
280
361
348
282
247
313
289
310
224
366
251
295
302
348
333
330
307
303
301
266
305
278
360
362
245
325
300
298
305
356
317
336
366
313
308
336
291
343
322
289
338
294
275
362
277
367
386
257
293
312
328
322
338
250
304
336
295
364
348
303
349
278
287
280
244
417
244
328
298
288
234
342
335
307
294
345
281
341
290
350
280
154
243
365
353
314
317
304
296
272
318
350
338
353
271
272
304
288
243
359
293
334
310
398
293
321
356
332
339
403
390
344
372
328
332
339
377
215
275
325
325
304
265
340
301
332
331
328
303
344
298
242
220
361
229
314
350
382
262
313
375
277
372
363
388
333
231
328
261
251
334
379
376
333
356
344
325
298
361
281
380
280
368
305
330
283
296
309
224
281
355
312
348
297
342
249
243
324
344
298
307
348
271
313
445
318
353
309
355
329
329
373
318
395
294
373
323
350
362
350
352
250
358
355
343
343
264
341
332
378
370
357
323
311
319
287
190
353
280
250
327
330
306
344
236
401
328
301
248
338
345
283
297
322
366
302
271
283
281
400
391
318
274
359
263
298
321
344
270
363
291
380
289
350
249
295
285
390
336
342
309
241
265
211
308
381
310
323
280
212
354
261
274
312
299
261
349
309
293
390
339
273
312
349
257
378
262
372
276
314
355
312
378
364
370
303
374
324
353
322
312
207
322
307
277
354
304
292
387
320
326
329
289
341
301
285
316
322
250
357
308
388
334
221
289
238
401
331
423
338
359
379
311
246
356
353
317
241
351
261
213
292
314
327
320
365
281
276
377
352
333
256
315
330
419
339
329
349
326
200
341
282
356
334
362
321
366
216
352
286
382
325
300
343
335
290
402
350
335
301
281
333
339
312
315
264
295
261
343
281
268
345
442
300
337
326
310
273
353
366
343
326
388
289
324
276
276
342
250
334
358
332
361
290
293
390
324
323
291
358
293
299
259
314
309
287
367
350
266
361
276
302
361
303
296
261
307
309
335
365
393
204
364
271
321
293
260
398
300
275
306
366
360
238
347
353
333
308
243
331
358
344
357
293
285
309
323
315
303
339
311
331
326
254
300
297
319
294
253
277
329
361
260
338
321
408
309
285
311
285
405
227
312
325
340
271
335
248
375
390
316
279
204
340
314
282
324
338
220
263
344
272
361
368
290
359
327
352
330
282
312
365
392
288
270
384
298
323
322
408
224
328
365
350
340
261
392
285
271
357
296
343
355
306
239
300
346
299
262
202
299
352
330
316
329
331
320
358
281
333
325
351
278
341
319
302
304
264
288
288
250
347
303
330
280
337
255
285
330
270
348
387
269
344
278
385
279
369
342
289
274
292
340
332
407
306
300
359
371
391
370
326
322
351
355
317
298
276
250
328
352
345
332
318
292
413
328
333
359
302
324
345
368
285
297
373
321
332
210
303
312
375
263
416
303
228
331
378
274
282
227
252
344
247
294
404
368
283
263
335
310
312
311
273
271
300
267
351
345
313
316
299
365
313
298
298
314
288
292
285
289
275
326
283
351
299
351
363
414
289
349
335
307
382
307
302
246
279
280
310
282
295
282
317
339
401
364
295
288
385
273
360
278
346
312
288
271
308
282
313
296
349
362
279
327
298
293
352
375
366
320
297
235
311
355
314
370
320
261
385
309
350
360
317
263
280
330
395
405
313
376
340
309
341
358
336
293
292
357
353
266
291
270
252
345
338
296
304
324
269
353
300
265
251
287
331
344
326
284
269
324
353
348
319
283
346
330
342
308
363
297
341
352
280
289
363
279
291
266
255
275
348
327
296
332
360
307
242
329
308
271
255
296
329
305
285
358
304
268
304
300
269
268
362
313
311
229
293
302
319
408
312
339
353
301
355
400
338
271
254
340
255
321
340
282
324
308
331
351
326
325
395
298
388
322
292
285
355
343
327
275
291
262
302
311
308
298
245
393
326
290
294
325
373
188
271
292
311
216
382
316
333
332
326
269
285
250
266
244
297
394
302
290
379
331
349
349
326
345
433
331
233
342
379
252
357
257
298
376
273
279
305
328
257
357
304
273
275
289
280
318
340
343
357
398
340
344
271
385
318
295
321
318
286
390
315
342
290
373
383
363
240
373
264
342
280
379
352
296
328
257
261
363
303
300
274
354
272
365
289
250
325
399
336
312
266
273
331
371
285
391
295
307
336
258
359
282
389
340
307
313
357
393
301
356
298
323
373
328
315
299
321
304
246
318
330
309
341
331
238
392
299
299
282
295
304
316
357
301
230
347
285
294
311
332
329
323
251
286
284
373
319
317
197
271
293
336
276
270
309
317
285
378
275
312
337
275
363
340
279
326
318
210
300
326
261
344
351
267
341
248
350
325
340
395
261
362
383
362
323
314
364
320
336
306
331
317
236
347
322
324
335
313
310
280
262
336
303
354
261
250
264
346
324
299
335
339
340
300
377
370
313
319
376
282
331
342
372
286
295
367
309
279
304
325
233
310
333
310
261
354
311
258
356
414
361
294
326
332
297
324
341
257
303
262
309
318
299
392
306
403
307
316
389
263
339
328
268
344
290
354
268
298
267
301
312
255
333
389
254
339
346
365
333
358
381
342
372
271
334
329
325
396
339
311
300
295
267
274
232
287
271
348
286
279
291
320
264
350
303
312
321
395
368
304
282
357
286
314
235
257
334
329
353
333
301
297
317
247
270
277
264
349
238
331
341
289
333
368
309
328
367
287
278
262
308
294
362
312
385
348
349
299
391
305
356
325
361
233
264
315
333
344
355
266
338
307
274
332
303
322
311
318
413
370
304
298
363
285
277
250
256
358
341
268
287
320
327
240
300
376
337
365
368
390
301
336
396
265
301
361
258
252
290
305
314
335
322
431
365
410
289
247
442
303
257
339
300
340
371
230
362
345
255
354
272
326
299
315
334
294
324
368
308
352
292
372
250
253
316
296
335
275
386
261
306
318
314
335
397
289
370
316
259
244
210
338
376
377
282
296
349
276
281
362
262
317
319
303
319
399
319
309
324
279
314
324
298
328
228
365
272
227
361
295
369
256
282
350
319
243
316
282
366
352
330
333
232
318
265
277
297
332
252
354
277
308
320
329
343
359
348
284
272
349
337
382
285
345
336
297
328
300
376
324
385
242
281
356
264
406
293
253
323
345
331
344
385
288
331
307
380
285
288
302
298
335
352
332
284
256
327
274
373
355
274
317
384
371
387
266
214
284
281
291
335
282
339
313
359
336
276
287
310
362
252
334
254
284
287
328
407
314
299
310
330
293
375
362
283
322
312
331
271
276
283
330
321
222
267
278
365
302
396
354
331
344
317
277
316
332
238
311
365
330
264
344
329
315
384
300
355
303
310
387
226
288
252
297
271
289
354
330
212
331
349
304
292
306
327
392
282
363
274
339
295
328
297
373
321
283
370
408
241
338
231
318
342
304
304
255
323
327
274
278
265
233
301
318
354
340
370
235
315
375
321
203
303
305
378
366
280
284
400
337
305
351
341
295
355
238
338
261
378
328
273
397
324
236
290
353
421
355
326
322
250
340
320
373
362
390
333
282
228
302
375
336
319
320
350
281
298
329
326
307
289
303
296
286
435
324
248
289
353
389
348
397
309
320
375
301
343
276
346
338
319
253
315
306
389
351
217
302
322
324
373
272
311
305
336
387
317
264
264
238
319
352
257
384
374
299
336
354
344
323
262
373
304
291
314
371
372
304
390
340
273
373
307
293
343
321
310
311
293
308
392
335
311
343
270
354
368
323
329
364
297
385
389
299
300
354
241
327
332
303
413
373
349
346
305
277
338
294
274
396
312
336
301
291
268
331
291
338
375
323
277
299
336
291
275
291
286
340
234
249
377
355
242
286
264
365
336
287
251
391
287
328
327
367
299
337
324
273
276
233
332
291
265
301
265
316
283
323
340
319
306
318
356
340
290
330
321
342
309
294
386
360
282
316
299
351
338
256
298
271
277
215
339
261
308
309
404
298
292
317
287
392
314
293
318
305
304
310
348
387
387
384
376
296
388
327
369
292
338
316
234
321
289
336
360
313
311
335
338
310
248
315
369
300
202
307
289
299
354
342
254
282
320
241
317
324
333
279
389
343
344
326
307
307
277
391
281
356
222
455
376
326
329
282
287
314
326
247
247
248
236
346
231
358
249
373
317
365
374
368
297
328
298
238
296
260
285
343
295
393
267
352
342
298
336
277
349
394
265
342
352
361
400
304
379
389
269
333
345
318
316
372
315
283
304
257
309
266
313
345
330
374
310
288
295
382
326
383
390
276
333
289
364
256
356
266
258
320
195
350
329
246
324
298
298
277
334
245
379
318
316
290
336
306
314
294
315
337
374
226
358
374
312
383
268
327
271
298
307
350
270
375
322
355
269
277
293
293
303
360
348
361
321
305
317
324
318
303
278
390
424
299
291
349
374
322
282
367
390
315
280
182
324
309
385
230
253
299
397
363
329
364
337
348
297
306
276
314
324
343
345
315
331
316
344
240
294
380
298
391
306
283
314
302
318
337
281
293
337
357
341
329
293
287
293
344
370
258
250
279
377
298
291
343
353
330
278
279
331
362
296
278
336
336
338
372
333
342
375
305
284
335
304
266
410
309
309
278
400
323
323
290
377
387
337
359
354
301
265
311
379
300
278
257
283
365
234
378
284
248
385
376
281
335
312
328
401
345
344
366
228
293
344
314
322
319
328
307
363
314
288
286
357
260
349
401
265
345
408
352
338
229
303
297
305
373
295
328
266
365
318
307
224
325
356
344
326
268
358
332
251
293
346
354
328
339
355
254
332
291
328
368
350
280
284
295
287
339
328
305
277
328
315
397
351
275
310
347
308
299
394
309
288
221
343
332
283
376
378
276
283
262
350
325
348
370
383
349
408
337
299
325
290
327
282
310
285
308
286
404
379
316
364
376
396
320
324
345
342
307
365
296
312
324
362
302
375
334
307
238
346
313
280
344
355
352
268
349
322
315
264
362
289
323
307
322
340
294
294
301
344
336
335
333
401
360
258
260
326
271
298
312
317
347
283
294
336
362
310
355
363
253
360
267
383
338
284
325
266
341
340
350
278
352
296
325
267
356
348
306
293
360
369
231
343
375
311
341
232
276
282
328
301
322
366
334
311
333
391
336
296
359
278
272
294
341
309
279
320
307
337
349
381
277
393
282
278
239
356
321
303
301
311
289
254
243
405
334
357
337
336
409
310
348
285
350
265
297
349
318
299
354
343
320
363
337
365
328
371
409
312
239
296
328
411
304
344
250
210
349
283
346
324
286
393
336
305
319
273
375
233
302
329
306
319
353
331
252
227
322
335
386
326
318
349
290
299
301
240
306
307
310
274
298
305
280
310
315
332
303
329
363
267
337
342
336
387
332
231
358
336
300
275
316
269
391
318
271
328
346
244
287
309
366
363
341
233
348
297
364
384
291
409
292
360
323
324
282
318
366
250
309
354
329
345
282
358
325
295
370
294
311
257
295
321
292
300
348
344
335
380
339
290
307
245
316
318
348
254
338
320
242
335
363
324
279
271
256
267
329
318
312
319
266
358
317
321
319
301
272
335
358
322
325
259
318
277
280
240
259
380
337
327
358
229
356
335
381
307
242
397
318
369
264
304
276
311
327
331
291
289
323
292
275
364
348
337
349
410
350
321
339
350
341
348
344
326
310
319
333
273
315
210
308
296
293
284
401
355
331
341
343
264
309
411
290
272
341
297
405
317
312
240
354
326
246
343
419
330
335
356
343
227
363
315
262
419
320
331
329
331
325
313
353
389
274
331
345
352
332
325
359
285
300
351
408
311
391
288
299
303
330
412
322
356
412
315
322
390
284
326
382
332
243
308
321
248
361
314
299
261
363
298
365
308
355
349
371
287
248
314
302
298
336
270
336
318
314
360
295
248
360
272
321
313
327
316
290
329
373
355
361
307
325
419
275
331
340
322
374
380
369
275
344
383
321
265
280
283
259
261
313
281
196
292
268
304
312
294
344
303
341
325
290
320
257
350
381
358
340
370
335
298
337
329
340
355
363
286
275
361
359
283
370
343
306
301
254
338
376
319
276
301
391
355
293
378
360
317
377
314
362
324
357
305
283
281
364
326
308
262
309
237
255
347
309
357
334
328
307
379
307
322
377
256
286
225
336
364
347
250
279
363
404
316
296
293
239
297
338
240
302
238
353
320
388
352
324
330
338
242
356
283
345
350
360
268
282
352
273
271
269
358
343
318
303
267
293
303
311
317
295
278
269
272
286
318
322
294
356
360
329
366
234
348
299
283
296
261
254
298
281
325
303
354
287
282
309
347
275
353
328
326
315
345
246
275
353
332
292
352
367
293
312
326
322
369
328
344
318
289
368
369
342
275
369
349
341
293
346
285
368
357
310
295
373
358
313
340
196
388
278
338
280
324
302
286
358
331
329
303
295
285
298
250
265
322
284
254
382
356
336
324
387
333
329
260
306
332
216
306
405
381
330
303
291
388
271
297
227
389
332
360
392
326
276
287
266
319
308
318
288
356
341
353
278
343
237
301
368
338
312
378
335
237
286
304
315
294
413
338
271
243
362
278
362
383
304
394
305
359
370
347
294
354
369
397
338
231
246
299
309
297
356
307
396
390
417
403
287
279
374
285
284
284
345
243
376
269
297
308
272
398
303
207
304
355
327
282
359
423
281
318
326
340
310
336
331
367
355
327
298
326
319
284
335
289
390
341
348
327
270
287
343
311
275
263
306
256
390
328
405
299
311
243
303
298
404
301
316
344
329
325
323
282
364
223
391
213
283
340
365
251
354
323
340
251
255
251
288
295
296
378
303
317
300
273
410
409
305
355
306
318
363
265
290
297
270
261
360
308
218
269
296
367
333
245
350
360
321
311
356
330
365
277
300
362
255
398
384
289
262
362
329
293
248
362
355
306
345
409
317
269
297
297
326
354
320
423
325
290
356
326
310
319
266
261
313
358
348
303
384
311
335
268
331
313
311
382
292
323
318
281
332
399
287
311
284
278
367
283
349
291
354
366
289
262
305
292
287
342
334
247
330
311
207
324
382
302
331
247
377
258
389
353
346
368
369
303
266
324
250
369
363
285
324
305
379
266
377
260
283
319
319
348
298
269
270
285
351
247
318
270
269
314
358
327
373
414
337
309
305
256
261
294
277
297
286
339
319
307
359
288
272
362
360
327
314
282
354
284
329
393
391
364
398
247
325
408
282
370
396
317
272
286
300
277
295
346
276
363
300
421
367
315
346
304
235
293
276
340
233
327
391
387
285
316
337
352
306
315
313
258
337
323
331
310
343
278
287
329
284
388
278
272
321
247
308
291
256
312
346
382
288
306
429
392
334
349
343
318
315
232
311
344
327
339
347
289
201
265
437
262
311
340
313
358
327
291
284
306
350
321
343
245
402
385
290
291
249
286
255
360
334
325
346
371
277
301
337
400
358
253
267
339
375
304
273
327
309
283
319
293
323
360
261
282
290
372
299
314
355
356
332
300
288
353
352
313
356
322
339
383
349
341
266
299
305
216
296
296
313
293
351
285
350
357
318
311
352
271
305
294
312
313
227
303
331
304
284
323
368
299
354
280
302
293
359
283
270
324
344
240
339
324
267
326
311
405
219
259
292
316
236
344
317
353
289
317
247
338
293
292
300
299
323
368
252
351
272
281
349
319
340
362
374
347
312
308
268
283
304
327
287
331
289
391
331
353
351
302
324
335
369
376
274
405
288
299
399
322
241
275
373
251
340
409
343
294
290
372
315
309
375
265
339
384
276
308
350
304
331
317
277
325
300
355
369
246
244
365
388
392
297
382
398
383
338
345
281
310
261
339
312
243
227
363
359
389
294
309
331
317
290
248
268
236
361
216
335
315
339
349
290
387
362
290
380
325
404
372
344
361
301
312
342
328
318
357
295
308
337
354
304
293
364
382
311
377
374
306
298
340
331
361
226
321
313
251
285
367
303
321
391
343
280
275
324
309
287
346
343
299
371
240
360
187
355
313
286
313
261
326
357
335
289
260
301
346
172
324
366
257
262
265
279
341
366
235
356
151
346
191
327
279
293
261
352
255
192
309
290
255
244
286
283
378
329
282
360
299
271
313
267
328
426
301
366
358
264
246
363
334
375
253
305
301
273
251
350
282
351
269
330
340
300
243
244
234
296
343
387
364
293
367
331
314
291
353
341
242
307
313
310
290
376
343
405
299
276
343
329
344
277
237
256
376
344
352
315
272
346
403
320
425
342
362
380
310
352
307
341
303
335
344
285
405
270
335
325
304
330
334
367
351
300
272
368
335
292
381
343
346
278
347
287
288
376
284
291
307
347
325
302
301
257
274
343
303
374
297
282
299
366
278
285
324
384
337
309
289
293
316
318
316
207
395
348
355
269
307
348
271
285
305
324
250
300
310
345
369
323
315
308
355
335
378
256
319
303
428
312
346
338
242
283
353
282
332
308
311
294
346
316
260
390
292
354
350
337
381
357
335
357
308
328
306
347
370
296
259
270
295
340
389
287
346
325
312
352
351
271
314
390
249
344
419
355
390
429
369
243
344
335
377
352
313
328
299
286
388
328
343
283
314
285
336
350
349
308
322
312
276
315
284
311
266
318
282
277
313
313
306
309
372
287
362
312
318
372
345
364
338
315
319
275
354
343
252
367
374
312
350
247
271
321
277
309
305
235
343
369
230
360
279
291
362
304
288
234
303
316
244
371
278
271
362
301
282
315
309
322
313
307
281
353
318
362
364
254
417
280
373
353
251
318
357
338
383
394
389
319
289
337
349
316
312
302
343
279
384
362
363
252
228
304
322
351
380
292
277
300
338
344
260
301
271
260
356
320
331
334
292
330
322
272
296
331
282
293
306
243
329
287
343
274
363
344
276
270
356
328
254
301
290
255
322
331
321
306
411
340
282
322
322
315
310
267
310
300
161
257
316
301
363
284
266
351
357
335
296
332
331
330
349
302
327
288
297
358
319
272
274
348
406
351
344
330
296
356
299
315
357
349
341
293
287
301
311
351
235
297
218
364
269
363
348
302
455
252
271
279
281
255
256
342
301
350
240
293
320
339
306
263
276
365
352
254
281
371
310
258
317
261
316
361
275
345
333
347
316
317
366
337
351
272
245
310
257
437
258
377
285
337
374
279
343
295
338
377
394
302
347
359
306
262
397
218
366
332
335
336
359
324
335
350
336
306
322
360
362
233
267
310
282
215
355
325
316
302
390
327
355
317
330
250
340
318
386
325
346
322
308
296
352
278
329
274
273
382
251
327
247
293
335
299
307
401
259
274
280
362
305
327
251
315
358
317
343
392
299
330
228
283
347
350
326
256
343
220
267
330
290
303
319
334
300
311
327
331
350
358
386
333
333
221
294
353
285
197
325
228
320
301
468
354
284
296
385
297
275
252
344
342
237
308
275
288
282
267
316
346
281
346
258
294
338
353
333
301
276
293
270
360
333
328
324
339
352
274
383
322
249
325
382
360
256
276
272
310
386
256
318
311
277
386
278
326
357
286
390
300
272
350
300
306
336
266
301
359
393
322
288
329
363
283
307
355
249
283
291
321
362
282
273
318
347
334
321
262
292
293
326
361
312
328
320
251
208
335
248
295
364
324
331
309
294
313
330
352
324
276
278
346
341
177
298
369
338
270
314
352
372
302
334
359
260
285
292
392
333
315
414
323
410
257
269
354
294
312
256
328
260
309
312
305
267
249
292
328
360
297
321
275
286
292
353
263
337
280
311
383
297
280
273
331
319
325
343
290
325
343
371
320
294
390
233
319
305
279
299
303
257
306
331
346
384
236
323
360
413
360
265
401
367
326
417
375
324
224
267
320
316
448
344
310
360
352
280
309
256
329
379
330
266
357
390
345
344
281
313
316
309
328
337
276
289
358
304
287
342
320
307
290
421
366
245
353
297
260
388
284
326
375
340
314
279
318
320
301
319
289
287
305
300
243
358
344
329
319
297
341
374
313
294
263
320
339
372
307
313
322
370
340
328
344
242
391
421
267
375
255
225
265
373
319
349
248
278
308
383
338
337
349
346
271
353
365
337
320
256
335
354
314
380
225
363
273
233
245
313
291
278
274
311
345
290
311
241
212
334
278
327
312
299
252
366
344
313
232
281
339
314
374
306
363
217
272
337
343
316
328
308
303
318
418
269
363
267
353
236
364
264
278
258
344
356
332
276
308
323
288
295
396
290
357
338
301
354
308
322
240
296
285
357
394
275
283
314
226
301
333
337
327
248
235
350
202
253
310
294
306
264
174
398
328
351
349
350
406
321
212
396
272
373
331
324
312
387
434
320
318
346
325
191
294
358
317
297
312
321
356
309
357
350
327
305
300
314
286
387
369
320
324
360
397
311
339
300
333
243
325
306
345
411
355
309
389
353
281
220
309
289
421
283
381
310
318
344
236
311
338
294
300
304
294
301
236
242
365
377
288
313
394
321
278
364
260
344
360
382
328
212
325
301
366
362
300
386
248
263
322
317
400
339
318
272
259
308
279
297
301
301
329
371
319
310
315
222
298
322
403
263
287
340
336
358
297
385
350
343
314
377
293
321
319
307
307
339
287
346
353
250
340
317
317
391
323
209
321
319
262
321
251
315
389
342
312
297
260
352
268
279
364
345
329
299
325
271
280
266
332
382
310
327
235
382
287
287
364
359
419
335
332
333
293
318
394
264
337
340
370
342
256
382
339
344
367
305
299
336
335
329
315
345
225
339
415
368
330
294
335
313
300
373
284
322
264
322
285
268
292
310
345
370
350
370
281
286
260
304
322
247
264
332
337
325
355
341
372
407
363
302
327
379
249
344
358
295
274
298
335
305
322
263
352
364
301
357
356
298
304
282
323
333
313
325
358
345
373
354
255
269
324
269
344
283
323
341
259
305
257
363
386
286
342
365
234
331
367
371
290
381
320
221
281
274
295
335
358
261
265
307
355
291
343
276
308
363
340
339
267
331
356
331
326
309
317
257
379
318
329
340
371
294
239
339
335
318
283
267
226
317
366
359
253
284
278
354
297
309
344
289
360
258
274
286
320
304
238
321
302
401
362
354
306
263
298
385
356
363
333
296
308
443
285
266
283
390
276
342
320
239
288
309
375
325
286
269
336
252
345
347
300
236
244
398
350
289
333
346
319
380
379
193
401
305
215
338
316
327
347
328
326
340
280
375
412
372
377
269
316
294
252
292
289
290
297
350
261
359
345
254
324
335
226
328
313
368
308
292
322
346
321
256
350
216
293
310
298
292
381
289
275
248
355
293
304
330
330
351
242
312
322
284
345
274
363
367
302
388
288
350
296
303
294
330
329
322
343
235
207
238
377
327
376
328
353
271
268
338
318
365
314
388
331
397
288
379
336
316
237
337
356
380
352
338
322
328
208
329
404
275
304
244
336
320
255
375
321
380
361
231
324
241
285
293
229
330
291
243
324
340
290
319
350
299
359
335
325
303
386
302
350
352
296
358
309
331
317
372
299
288
331
295
313
277
290
321
343
194
383
286
277
334
329
372
342
424
353
281
363
374
338
259
300
286
355
428
269
303
267
336
330
343
280
343
351
373
309
280
277
270
369
354
386
372
348
323
341
363
317
295
313
400
346
331
351
335
269
352
325
382
391
373
342
320
307
357
413
376
376
257
286
351
330
348
324
274
377
291
272
258
298
331
228
319
267
310
334
316
261
228
354
247
409
370
281
285
341
305
292
322
342
316
357
424
422
302
345
272
301
274
315
379
394
247
379
332
420
284
330
370
218
329
247
252
287
298
247
318
290
336
322
354
275
330
309
355
320
324
362
374
365
335
332
296
270
247
375
287
358
349
433
259
306
295
292
336
338
384
363
318
339
272
319
278
377
316
381
392
291
336
343
335
267
328
350
267
379
306
193
338
265
357
295
260
394
347
376
328
374
327
348
413
288
420
334
392
321
354
306
345
277
334
338
304
316
343
290
293
278
229
396
310
327
321
350
328
384
307
341
253
303
298
375
411
287
321
367
285
285
355
242
363
336
345
270
320
343
318
343
333
341
235
315
139
287
253
335
324
340
230
260
260
404
344
369
310
372
327
338
331
299
331
349
243
300
326
323
289
320
241
286
299
346
290
290
370
281
259
318
274
220
333
305
376
268
294
333
341
359
328
313
322
288
316
345
274
340
276
229
362
334
282
266
291
349
314
342
314
217
359
388
319
333
314
344
355
368
333
334
264
333
365
330
354
300
400
338
339
300
296
330
349
254
301
333
349
274
271
226
297
271
338
343
276
294
267
280
353
346
238
243
411
297
229
404
387
260
306
277
339
358
314
299
281
312
349
341
287
343
359
384
321
318
337
373
319
342
306
303
315
274
314
274
354
334
354
313
363
327
373
253
398
325
316
323
295
309
401
277
322
339
330
305
387
274
252
377
356
251
313
215
332
274
336
246
299
256
321
303
288
297
258
257
240
334
392
329
336
291
353
270
317
354
358
252
345
352
283
261
313
248
343
312
286
341
364
262
344
253
222
362
373
285
337
272
272
323
318
252
372
402
329
342
277
303
272
331
386
317
350
299
316
270
319
359
368
286
264
304
250
268
317
345
325
256
277
259
326
339
319
365
338
230
330
309
279
339
282
255
251
284
368
252
316
332
270
320
311
363
343
318
369
354
287
238
258
307
342
267
308
310
284
261
317
265
333
290
243
251
316
387
327
339
286
264
186
341
350
388
207
370
345
305
339
347
380
333
342
315
422
329
354
334
324
228
348
265
355
309
355
376
233
345
363
333
258
362
343
365
346
252
266
385
257
335
333
335
297
303
289
261
310
414
348
271
404
349
219
347
384
297
311
275
214
177
250
281
366
181
325
329
355
288
244
348
315
315
362
335
260
317
365
275
328
286
378
346
301
399
355
364
349
237
373
280
301
400
321
261
350
321
335
271
303
365
332
241
249
337
320
234
258
334
316
382
308
341
298
338
339
276
296
284
364
359
283
333
277
285
278
280
413
302
273
292
219
270
299
306
302
225
225
305
321
260
313
279
299
285
215
391
233
243
332
262
302
296
407
370
338
321
355
372
285
303
294
263
284
326
256
295
268
273
280
293
320
324
196
349
256
289
341
317
314
355
306
270
293
372
383
342
341
283
388
369
361
296
308
377
348
321
313
364
226
276
318
238
227
261
344
346
230
318
317
342
389
294
357
322
305
346
404
355
313
294
346
300
346
281
328
349
312
321
351
320
304
327
303
317
227
245
359
286
290
388
281
370
315
347
301
234
331
329
343
328
292
322
279
339
285
325
238
296
346
307
228
309
289
335
271
351
253
335
243
335
376
273
299
304
273
383
278
323
357
354
401
308
234
350
369
250
329
329
345
303
342
314
370
320
339
250
287
300
362
265
389
281
317
229
360
348
315
351
271
352
371
354
307
348
321
318
313
353
358
328
335
331
289
322
297
352
336
300
348
269
248
386
353
349
368
271
324
267
262
315
294
373
329
337
311
343
270
282
278
289
382
348
294
328
338
332
299
262
321
372
305
310
281
317
309
343
276
291
306
275
387
374
359
331
420
394
289
398
346
281
408
340
296
341
295
328
374
307
323
348
282
264
296
356
288
329
227
326
279
315
310
325
286
324
301
381
274
334
272
382
320
358
306
319
332
299
423
321
242
221
271
338
255
314
346
370
258
292
344
344
397
288
323
313
316
234
313
308
317
375
272
258
391
349
243
316
298
389
297
273
330
282
393
315
284
385
319
296
303
314
307
293
366
357
306
272
208
278
366
344
335
360
290
310
360
369
312
370
278
322
339
388
346
212
304
352
259
378
297
395
371
337
392
307
305
293
302
330
336
253
268
296
207
380
338
288
289
228
318
303
287
239
280
376
328
369
287
331
350
337
372
365
307
301
340
288
313
286
356
327
406
357
289
308
402
315
359
354
396
321
354
414
292
284
368
298
359
244
330
354
342
294
342
247
300
347
269
327
305
395
312
358
328
308
310
372
335
318
300
321
320
322
355
257
359
354
400
307
255
375
332
237
328
340
291
212
369
365
293
355
252
312
403
319
294
284
336
384
302
326
361
375
280
236
253
256
318
301
343
314
254
337
319
266
346
323
309
390
338
334
270
236
289
335
369
302
308
347
283
330
344
359
218
317
336
355
331
328
378
295
248
331
353
315
323
279
232
394
303
350
335
364
292
336
367
361
295
358
314
269
319
295
330
348
317
420
322
278
261
248
314
321
399
413
287
364
370
353
303
369
350
271
383
248
346
211
307
284
322
363
303
294
344
281
304
274
228
331
281
370
421
292
281
332
278
303
343
362
293
378
349
298
316
320
366
288
359
319
366
340
320
333
315
305
255
317
338
358
290
303
346
298
392
325
358
254
315
282
282
391
272
207
244
311
256
298
280
284
286
352
276
354
363
361
305
385
355
337
271
372
341
360
350
307
328
343
313
305
322
410
274
227
253
364
399
253
327
229
232
294
247
384
290
291
366
260
346
382
362
284
335
361
379
335
325
342
225
281
235
272
362
293
319
146
313
381
321
342
368
260
337
317
312
253
318
344
337
362
336
296
398
257
320
291
363
320
301
258
424
360
350
354
250
281
263
300
295
341
280
304
299
343
288
380
324
323
349
327
277
282
248
355
327
351
253
314
342
333
303
302
307
313
325
287
303
268
307
309
316
382
296
245
333
324
312
348
219
295
362
273
329
304
298
369
328
368
345
335
295
282
315
387
373
279
290
267
282
317
354
293
372
354
378
276
293
276
268
350
385
379
339
329
295
331
286
381
325
383
308
339
269
350
376
335
311
336
331
329
345
418
242
322
261
300
344
321
365
329
284
329
287
300
296
313
401
380
311
247
368
380
320
302
267
327
338
251
350
245
293
230
351
232
282
313
318
269
297
317
291
279
262
353
288
346
288
358
369
283
322
309
327
270
325
362
353
265
365
313
275
316
281
282
284
403
309
325
269
308
275
326
368
355
317
280
246
333
335
278
331
299
311
345
333
342
374
275
251
308
319
317
341
357
399
286
354
328
295
348
341
334
324
335
402
292
335
383
348
338
434
380
322
308
205
383
269
331
252
303
363
330
316
322
334
322
290
299
383
309
381
347
397
323
308
313
293
246
322
290
302
345
366
348
273
328
335
282
266
389
377
329
228
299
433
308
333
332
336
297
335
284
341
326
246
307
339
297
320
363
194
388
304
229
278
264
288
295
361
315
280
369
341
343
283
286
311
338
313
298
315
387
283
405
321
295
340
360
325
248
386
339
358
252
264
337
265
251
358
368
298
305
310
253
371
323
391
363
271
333
269
369
373
374
260
325
280
287
318
308
356
340
274
283
356
342
296
354
324
404
305
392
288
323
317
306
307
375
317
313
326
375
427
378
232
301
233
308
313
270
283
327
262
334
348
374
384
344
333
384
306
309
338
314
360
307
342
336
297
341
335
353
303
309
340
340
367
347
354
217
375
351
286
325
262
270
258
204
307
268
281
280
318
397
263
280
321
316
349
316
338
319
257
407
377
288
291
287
232
339
336
355
313
335
343
335
334
248
282
333
297
331
323
271
322
384
347
315
254
316
359
268
287
331
286
307
368
281
294
360
299
406
273
330
322
326
316
362
379
336
312
324
325
285
295
305
313
338
384
370
347
354
366
294
372
349
308
324
286
346
320
327
305
361
309
342
372
373
327
303
371
336
282
332
314
315
379
346
324
311
304
315
283
321
354
272
279
279
320
305
318
346
358
316
324
400
383
321
337
249
354
363
387
316
252
310
333
312
421
333
413
259
366
239
345
277
353
307
338
317
304
289
340
347
189
348
281
319
303
302
309
373
311
359
288
266
298
369
335
309
375
340
319
318
273
372
442
304
306
354
312
332
304
278
290
272
481
299
312
323
354
299
256
291
414
391
234
401
288
247
283
333
319
346
328
332
339
316
275
337
379
356
318
261
279
337
316
340
361
338
292
284
295
366
385
290
385
282
340
360
296
315
283
367
417
364
356
292
366
338
321
309
345
303
285
398
337
354
328
295
345
294
385
313
401
331
303
328
325
282
327
367
257
316
334
308
350
386
342
293
331
328
372
282
283
405
281
344
332
418
376
244
337
369
313
375
304
336
328
360
356
365
283
235
346
285
318
265
269
328
225
345
280
303
310
289
299
296
292
282
308
294
342
254
340
308
371
320
286
334
328
305
343
257
314
309
301
327
299
306
262
310
281
313
233
347
364
317
298
397
303
308
302
342
320
319
306
271
363
202
273
274
265
279
370
287
334
248
251
275
328
341
334
293
279
236
234
291
327
313
329
408
342
334
340
344
306
289
316
382
324
344
298
301
317
282
272
327
246
423
293
271
289
386
376
368
350
300
267
286
273
358
342
336
281
234
287
366
351
196
316
371
360
162
362
386
402
362
300
315
371
377
345
336
257
309
333
358
337
289
340
288
326
246
332
355
353
231
306
353
328
299
349
214
269
352
304
355
322
345
352
248
317
264
308
345
287
319
279
289
330
323
252
367
221
305
315
353
327
371
251
349
360
351
373
335
297
337
330
240
320
337
372
260
351
283
287
312
262
271
256
372
286
309
302
369
268
380
274
358
246
223
334
377
322
309
287
379
253
287
328
344
332
341
299
304
347
335
224
386
360
339
297
356
343
272
247
271
317
345
348
280
249
213
346
294
361
384
289
324
341
348
243
390
296
255
301
309
317
280
351
298
288
302
328
295
371
265
165
356
336
303
355
310
287
260
321
382
292
305
308
365
347
312
353
264
368
363
324
334
293
299
309
281
322
216
373
261
307
333
301
328
334
294
344
383
238
284
330
301
351
417
381
310
369
315
289
368
271
318
319
316
354
305
315
339
270
352
288
378
304
330
256
238
370
353
246
315
326
375
304
275
279
273
302
287
311
329
339
417
284
347
334
286
357
329
370
337
312
351
290
276
326
320
287
294
297
287
202
376
348
335
232
321
299
235
363
342
311
427
358
222
281
341
281
276
258
346
295
321
326
306
347
264
301
288
318
351
359
242
350
217
263
308
310
216
339
338
251
261
252
299
315
308
327
320
326
330
268
234
300
375
337
359
338
327
317
284
302
353
318
384
262
301
278
353
381
316
384
312
361
377
272
344
284
268
394
302
246
266
356
343
322
339
342
280
292
354
343
288
322
309
310
260
332
339
235
337
349
260
260
277
323
354
355
304
326
248
323
219
301
333
325
325
266
300
317
374
321
321
300
302
369
365
271
373
349
327
285
305
345
278
344
309
404
364
392
376
220
302
300
328
388
217
311
356
345
280
360
298
388
405
296
336
316
317
331
294
285
359
379
318
272
289
332
274
327
280
294
439
364
290
357
356
236
307
270
332
289
342
349
344
353
328
295
317
381
380
284
361
332
245
378
354
350
333
331
288
365
276
363
333
366
350
363
317
382
385
219
361
344
257
333
339
333
320
307
306
357
392
313
266
290
295
360
326
329
342
300
369
399
307
340
326
375
253
318
304
245
335
306
349
278
313
332
327
299
342
368
328
325
366
297
358
405
324
356
342
324
271
372
304
303
364
338
360
308
322
290
269
311
264
273
327
267
381
333
296
296
316
354
401
362
374
270
333
366
303
374
389
305
363
290
275
389
342
339
409
371
301
257
304
305
421
330
370
396
293
311
326
336
335
247
301
387
377
320
325
331
345
344
318
301
270
226
323
215
273
259
342
417
412
317
292
323
262
284
371
346
267
333
273
315
312
263
271
345
285
299
372
346
375
384
258
294
341
353
293
347
377
299
353
443
324
361
340
267
368
365
278
364
369
319
464
251
283
303
255
287
382
328
282
382
313
378
351
298
345
303
274
361
323
280
397
346
328
338
349
280
312
218
314
316
376
305
312
295
330
314
292
304
278
302
311
330
358
318
347
410
271
220
337
388
264
335
363
342
307
391
335
383
338
279
322
280
309
312
355
315
349
338
313
235
278
310
367
345
374
328
327
400
251
241
339
263
254
293
326
340
319
298
322
281
396
245
342
344
346
305
362
252
325
310
349
366
357
281
426
321
343
284
329
311
265
250
255
434
341
266
245
354
316
272
217
297
314
291
335
311
349
309
271
279
344
312
282
346
282
306
338
334
259
308
356
265
294
371
328
337
305
311
356
321
305
310
339
280
285
292
342
275
342
305
317
287
362
312
405
253
246
340
284
327
268
389
306
348
329
219
311
249
337
313
383
269
294
434
195
266
257
324
343
405
297
369
259
273
322
320
329
374
376
315
217
307
358
317
413
319
465
320
359
397
372
292
345
243
245
360
349
265
249
269
353
384
365
337
309
316
361
339
317
392
320
359
346
359
274
296
302
305
294
324
256
336
289
298
362
295
224
359
242
297
398
335
376
353
312
245
377
273
273
354
331
402
300
398
330
347
295
331
357
341
281
292
348
288
386
288
329
342
392
296
270
296
398
393
262
224
346
411
301
322
395
252
351
338
272
286
275
331
381
384
342
331
310
321
315
330
290
321
348
365
310
246
362
237
323
260
271
376
324
316
361
334
314
383
324
290
402
330
354
331
367
354
256
330
407
329
359
313
362
330
270
218
432
366
344
261
353
365
278
349
323
297
287
359
376
267
390
331
259
308
339
301
353
336
261
380
356
356
301
393
363
273
366
267
273
265
304
326
345
280
373
380
272
328
251
301
332
190
333
407
337
288
301
279
310
229
306
371
351
278
377
379
333
261
339
360
286
302
348
307
326
321
405
290
270
359
341
226
280
355
281
342
273
363
239
302
253
295
340
238
375
272
406
304
357
289
260
331
365
354
299
340
367
333
323
350
208
401
328
225
340
354
278
299
310
303
295
346
274
241
253
324
298
225
364
259
286
377
344
422
341
311
374
336
262
282
374
308
279
312
318
458
348
246
252
255
294
266
311
293
375
357
273
335
347
239
320
356
253
289
313
271
343
365
353
331
334
315
309
285
331
405
318
304
243
254
318
298
318
375
377
327
353
325
255
365
270
303
335
269
287
374
398
301
237
332
369
303
322
372
388
302
272
315
336
362
355
355
259
356
326
324
339
392
312
291
301
295
353
252
310
239
316
302
269
356
351
390
304
351
303
305
273
312
323
328
351
412
348
328
242
300
390
299
347
308
310
298
272
403
377
198
333
391
377
303
354
308
336
279
332
281
335
395
319
367
368
257
283
323
323
291
374
307
316
329
254
345
338
293
359
305
343
302
305
339
316
296
355
305
293
293
325
327
348
329
321
253
338
214
311
374
310
209
355
360
218
367
323
369
356
296
361
362
273
315
333
288
271
318
404
294
340
256
340
266
354
340
332
299
319
372
324
282
336
200
251
225
228
318
391
312
333
277
236
346
325
335
294
402
356
369
322
266
299
304
306
281
291
264
359
241
364
313
267
355
270
321
290
322
326
334
364
321
337
311
311
327
264
323
360
349
327
268
306
386
282
339
284
305
340
274
378
297
279
338
302
362
339
335
325
296
311
293
281
336
306
273
252
252
311
395
285
316
307
296
189
250
210
336
338
248
314
395
337
340
371
327
282
375
384
378
354
347
287
295
326
381
295
283
255
299
319
278
266
392
338
317
308
355
266
294
361
309
331
293
321
339
346
313
371
342
327
365
223
238
283
316
313
340
275
306
316
343
324
352
269
361
305
272
279
280
334
312
344
349
352
292
389
339
394
356
302
380
310
402
380
197
374
281
300
325
278
390
355
306
249
237
285
387
237
312
453
328
288
271
344
300
376
297
290
307
262
250
273
399
315
327
246
357
289
278
391
331
364
238
237
309
298
349
366
224
277
317
363
421
306
392
324
288
342
309
277
337
359
341
426
322
359
238
217
285
330
222
365
295
324
310
327
272
312
356
288
236
288
316
284
298
310
348
319
242
463
351
323
337
272
368
374
405
264
356
352
269
365
315
328
278
388
304
231
357
307
425
317
278
335
337
323
363
332
341
275
317
302
264
333
296
337
264
212
290
308
292
291
318
378
245
284
311
324
185
328
337
328
247
364
367
271
369
332
262
264
323
408
336
233
203
291
321
338
339
360
346
267
314
244
286
359
361
281
280
299
290
312
246
312
341
281
282
363
356
354
369
342
323
327
255
324
282
282
306
316
346
358
387
301
355
359
359
318
309
349
395
346
341
347
319
305
272
288
352
310
348
241
296
305
303
374
305
368
157
278
329
325
323
418
322
256
314
348
319
404
224
313
286
330
326
354
346
277
341
233
340
411
318
317
313
305
334
300
207
280
234
381
280
281
292
288
358
288
301
385
271
220
396
320
326
274
328
355
343
277
287
344
322
292
333
268
291
404
294
324
280
398
311
274
308
316
348
297
381
260
321
358
310
292
328
321
354
340
333
346
393
301
322
237
240
252
371
353
285
331
264
331
322
394
320
257
292
365
298
287
313
322
310
257
261
332
335
319
297
348
312
357
401
279
224
342
307
323
287
269
313
350
443
230
347
234
351
392
288
304
312
365
319
304
289
298
314
314
227
349
281
296
313
330
295
332
343
343
341
316
313
331
305
347
308
304
326
223
324
333
361
288
345
335
226
339
316
230
371
268
335
335
266
248
262
299
258
344
353
317
381
312
257
347
289
251
341
334
275
376
317
245
364
298
401
378
327
354
339
330
324
362
313
310
271
281
323
344
325
351
365
343
286
272
316
252
299
297
307
306
381
325
296
282
284
263
252
257
326
362
320
335
369
373
279
273
269
255
283
359
351
274
304
348
280
214
303
363
303
319
334
291
323
360
322
319
268
363
308
326
344
338
321
420
267
331
314
235
344
301
299
294
323
323
384
217
370
364
337
331
387
306
397
282
259
336
320
305
283
302
300
272
313
367
354
314
298
307
308
278
324
343
352
264
248
232
266
280
337
282
324
304
334
290
400
342
350
361
318
317
353
251
328
366
363
340
381
342
288
282
307
264
342
381
366
354
337
291
288
290
270
272
355
309
289
327
358
334
361
287
320
381
326
293
341
335
370
262
335
331
275
322
284
338
261
256
316
389
278
287
347
347
338
323
272
297
282
276
315
313
322
267
259
351
397
265
240
257
274
328
310
412
254
392
271
304
306
227
322
236
409
292
325
316
263
280
339
294
315
393
321
329
325
211
336
287
343
337
323
295
394
287
381
311
236
348
378
253
250
269
409
335
323
314
239
316
283
377
386
274
311
280
377
311
431
291
325
268
330
310
354
323
262
366
351
332
330
330
340
295
347
342
349
314
295
382
301
304
364
327
393
314
342
368
396
298
358
295
338
302
268
255
401
236
273
332
334
357
348
324
284
328
376
358
275
327
285
343
241
337
378
378
298
343
273
312
303
344
380
293
393
346
353
311
388
251
295
347
293
194
321
296
194
340
298
345
278
348
283
321
255
310
280
307
264
300
379
265
348
210
345
292
301
305
282
333
275
349
336
256
283
324
283
210
321
252
261
356
335
216
274
326
341
300
263
324
268
280
303
277
302
299
276
269
294
314
301
330
267
254
294
313
302
294
334
211
367
309
357
280
291
291
284
291
256
378
295
308
340
263
317
349
275
360
228
320
408
370
307
345
385
319
346
358
357
337
284
381
385
354
210
276
333
306
379
310
324
317
338
232
369
337
368
392
339
240
278
322
351
267
252
349
348
290
284
337
333
322
282
346
339
349
343
259
325
334
225
297
341
408
342
324
307
295
289
279
297
279
300
312
323
317
332
325
377
236
363
342
376
229
340
328
339
312
313
316
366
336
390
275
371
348
326
359
332
281
333
364
275
268
282
269
290
352
293
350
326
249
249
300
261
362
316
340
333
300
324
193
324
242
304
327
351
302
367
361
340
337
283
309
275
288
361
184
290
285
357
377
386
341
301
292
317
274
290
297
297
357
281
277
309
354
251
286
287
308
189
279
311
363
327
339
291
302
355
303
247
255
304
318
327
303
274
388
410
358
303
333
286
352
345
381
304
300
377
324
331
390
270
279
291
430
391
377
325
245
351
356
372
351
317
301
206
282
219
370
385
287
351
290
347
293
307
298
270
383
269
258
308
366
246
381
340
355
349
351
442
396
264
317
271
335
357
356
338
350
343
252
329
316
350
262
287
352
313
291
337
296
206
319
320
318
337
296
334
363
337
367
312
381
186
311
296
306
305
343
332
281
271
296
270
320
332
328
277
318
393
351
323
307
275
335
287
286
371
329
330
300
334
299
335
262
327
378
307
327
351
450
236
358
281
322
336
371
315
279
319
265
322
368
394
361
375
382
383
287
318
373
307
350
329
288
367
331
318
244
313
335
368
292
253
349
336
407
272
347
285
323
361
389
329
356
372
307
360
333
429
249
361
361
393
298
346
366
279
382
313
295
311
273
354
335
365
287
294
262
264
281
289
295
251
327
360
371
291
267
241
321
333
320
299
294
349
275
384
328
251
247
365
326
339
251
292
369
285
313
293
385
285
332
372
339
367
273
266
263
283
306
309
306
353
343
449
312
318
289
406
350
223
271
227
337
361
388
406
263
289
384
294
354
333
337
292
270
230
292
316
307
334
332
281
258
283
301
341
256
317
261
300
398
332
259
333
319
399
324
298
333
373
305
327
322
384
316
341
304
256
283
342
225
353
384
306
335
277
280
348
301
371
261
233
310
377
373
212
310
247
399
320
246
321
307
265
266
324
360
392
224
413
220
408
350
289
390
292
297
292
294
381
299
276
281
308
269
364
352
278
240
329
256
336
270
367
267
299
344
277
232
360
341
331
251
267
358
297
322
375
337
240
310
309
256
323
324
361
265
266
302
349
283
214
329
299
319
408
256
283
291
277
304
328
355
327
279
300
379
278
295
246
320
363
327
343
248
268
243
345
352
261
387
448
424
255
290
304
231
268
320
329
232
381
283
367
337
342
319
356
289
252
307
294
380
323
225
300
311
377
344
347
255
296
289
328
361
283
312
321
269
338
277
284
255
331
275
212
347
268
297
353
286
322
260
393
344
245
321
323
349
334
342
313
188
306
307
266
387
342
340
151
388
316
289
296
365
398
381
330
361
447
379
305
292
287
384
272
278
350
307
344
355
295
269
254
340
255
333
327
362
241
336
282
308
382
334
298
333
288
365
338
289
279
318
314
303
272
345
305
347
289
364
366
283
358
310
297
372
269
288
305
325
298
302
301
286
391
313
312
303
294
321
274
266
373
257
257
308
375
311
228
275
407
332
323
303
283
355
270
332
325
362
342
348
348
385
262
305
260
285
325
372
331
343
360
345
300
293
323
280
333
280
346
287
391
320
365
247
360
325
346
312
271
249
323
257
287
360
377
390
352
363
313
298
273
331
299
342
327
258
392
301
333
293
348
338
316
300
342
312
383
381
370
294
222
296
303
280
267
285
324
305
328
351
322
312
313
368
294
369
297
299
249
336
327
340
325
371
354
320
258
354
240
363
252
396
368
294
249
317
293
295
347
301
338
367
357
353
372
307
270
253
430
363
351
334
303
336
335
362
314
347
310
355
305
298
297
339
295
371
315
333
299
320
247
270
291
423
382
298
396
328
346
399
298
215
337
275
323
364
360
338
374
340
283
368
267
251
280
366
392
297
344
313
338
340
350
340
331
332
362
212
315
218
260
355
323
385
306
364
327
332
310
343
309
306
377
235
199
299
324
320
318
334
361
329
391
285
297
307
309
298
273
337
274
318
283
340
289
345
372
311
388
262
299
301
270
321
280
304
361
245
350
337
357
301
340
372
244
332
283
330
364
398
295
389
338
290
283
391
352
274
286
292
405
315
311
288
336
311
307
285
259
280
364
307
241
322
287
306
277
237
271
319
274
331
250
245
361
335
361
356
250
377
299
319
265
383
283
397
273
250
276
308
261
311
326
251
325
314
284
326
359
309
320
374
227
302
311
300
367
369
340
234
405
324
254
257
305
269
248
327
351
182
321
345
280
283
310
361
204
295
288
336
380
273
270
331
343
318
310
364
272
260
380
277
319
221
290
354
320
274
375
273
290
289
344
326
205
382
253
278
257
305
274
346
366
308
280
330
279
208
314
297
275
273
316
269
272
284
345
373
231
348
331
433
327
305
332
329
238
260
311
286
310
338
356
331
338
370
330
360
365
331
332
316
385
324
313
256
256
304
310
319
321
361
313
243
278
242
274
357
268
301
238
380
359
299
296
247
293
280
256
362
282
360
373
305
372
325
317
350
357
279
349
314
297
362
250
290
279
262
319
286
288
386
335
320
305
254
318
371
379
321
397
327
437
336
260
348
265
293
274
364
260
297
270
353
334
422
333
279
304
375
287
322
332
298
334
236
290
342
303
272
275
232
309
267
321
306
344
289
320
310
333
279
251
293
264
374
308
302
365
293
369
360
350
275
243
283
302
284
314
332
281
322
261
273
279
294
311
301
337
263
343
373
252
381
310
378
304
357
319
257
326
331
321
340
270
265
249
310
288
240
343
274
334
261
300
369
309
303
371
322
355
347
383
244
303
316
351
335
348
331
379
377
264
301
366
283
329
358
374
358
258
355
236
238
440
373
315
341
325
334
346
265
294
403
370
254
333
208
282
205
394
289
240
268
323
411
333
357
357
314
395
343
335
376
331
320
399
286
339
312
278
276
290
403
289
361
333
334
330
368
303
309
322
329
276
323
331
259
334
296
272
376
336
382
363
344
386
364
327
312
286
264
331
301
316
316
385
302
311
271
297
344
294
316
243
316
359
368
219
290
257
363
359
264
334
348
319
333
313
321
319
387
292
306
343
301
344
351
265
341
291
326
302
341
300
387
301
356
366
399
367
257
290
333
257
316
275
340
273
301
328
307
401
348
371
319
264
381
356
402
314
327
387
410
280
347
387
284
343
321
313
308
361
357
292
357
276
307
306
342
291
297
343
362
282
340
346
309
283
256
359
302
353
352
340
387
381
305
350
359
350
312
344
362
320
293
291
369
283
338
395
304
236
327
408
394
331
326
336
255
365
343
283
223
296
399
347
363
316
330
311
328
285
367
343
335
254
340
310
326
381
312
356
380
301
276
327
300
413
297
277
293
308
324
271
353
275
387
331
404
350
333
346
351
240
251
237
340
272
315
298
263
240
405
311
314
272
303
295
275
340
236
371
264
318
330
328
372
319
371
358
390
321
328
334
281
322
253
334
285
258
364
307
276
343
346
291
215
278
263
355
310
338
297
384
242
370
389
253
335
291
330
340
299
325
265
309
296
356
275
327
309
252
325
306
397
411
300
314
247
342
340
279
375
306
314
371
343
291
358
367
254
289
292
323
354
341
356
262
341
309
363
266
362
342
318
297
343
334
296
278
238
278
319
323
279
271
257
367
330
296
394
282
356
321
270
336
343
234
254
466
355
258
277
329
394
312
312
311
281
321
386
320
341
310
278
363
357
313
257
264
326
262
347
297
296
302
280
267
274
376
314
276
337
376
362
290
283
259
315
305
391
317
323
345
261
285
341
230
364
303
310
381
301
336
274
304
337
342
324
326
394
322
274
332
311
347
307
392
285
326
367
334
314
255
336
267
353
275
336
339
310
319
274
272
323
316
263
271
396
284
333
339
357
279
291
254
327
316
320
318
293
316
253
218
320
314
280
318
306
217
334
350
447
278
352
313
302
268
338
362
350
219
375
308
253
325
299
331
386
430
366
322
272
355
186
292
244
368
307
401
317
348
338
302
312
318
339
388
379
346
329
300
357
276
292
247
349
330
277
332
323
283
378
368
264
381
301
271
317
395
317
315
329
335
399
352
307
386
385
293
357
265
336
291
280
392
378
344
365
307
374
318
366
225
310
345
294
285
263
264
324
324
275
322
351
356
352
335
379
333
319
290
345
245
347
344
294
268
341
390
233
368
353
310
383
297
370
309
227
384
328
299
322
285
207
299
310
287
327
348
271
203
309
355
317
326
293
351
361
386
413
363
350
348
303
329
354
351
360
289
311
384
295
352
305
244
357
304
249
378
294
283
366
331
311
279
312
417
301
373
265
325
240
323
280
321
313
334
299
251
382
332
319
289
400
326
337
287
292
385
282
341
337
268
313
275
265
336
244
317
350
238
321
236
343
260
315
329
217
377
372
357
304
318
303
316
276
374
341
318
334
306
334
308
271
311
361
331
294
303
285
238
308
379
295
318
308
352
290
288
325
372
244
297
188
262
340
347
259
219
347
249
306
364
373
325
293
301
376
262
317
287
335
269
292
312
331
336
350
394
338
306
379
319
318
306
367
352
267
293
391
331
339
224
342
312
226
358
206
319
290
309
386
366
388
264
374
344
329
283
337
373
303
342
399
328
238
329
359
209
289
263
324
343
379
247
335
373
338
290
345
249
371
356
262
302
342
328
368
221
220
331
421
383
235
289
336
217
340
360
334
287
356
283
364
336
234
355
306
294
295
330
340
400
289
306
365
316
320
250
305
326
308
308
329
289
282
386
288
376
310
344
347
313
309
323
333
327
325
308
330
288
261
298
328
269
328
340
321
309
284
287
306
350
366
287
306
336
298
278
278
254
331
367
334
319
358
313
412
327
266
330
227
266
341
289
290
363
311
338
334
353
339
349
278
308
327
321
285
301
363
297
322
377
257
385
283
344
306
338
280
358
253
329
366
258
318
300
276
291
288
354
259
272
279
303
202
320
274
380
399
360
341
241
276
205
295
297
307
349
289
249
214
341
223
355
371
303
267
314
385
317
339
365
316
386
387
357
263
302
367
224
323
253
296
341
279
312
347
404
256
310
255
330
362
296
436
277
342
308
261
371
357
375
273
340
334
313
326
429
369
319
295
327
293
318
253
354
279
315
271
347
289
288
352
293
325
301
357
348
308
319
338
423
246
358
359
295
409
350
265
368
274
409
237
286
313
324
374
262
339
237
304
395
337
307
368
331
361
288
405
258
412
334
322
287
366
344
294
295
379
320
302
376
377
321
335
367
305
319
328
341
201
296
285
316
330
339
322
340
279
416
363
382
310
341
404
291
274
373
370
325
338
285
303
313
324
217
318
332
320
365
390
272
346
358
309
321
276
291
294
326
373
303
384
392
323
373
272
315
346
348
278
371
318
346
326
347
310
398
322
331
293
329
334
297
295
293
344
291
289
232
257
382
266
381
355
323
275
348
313
293
271
306
241
348
282
204
370
296
300
383
256
325
365
366
308
272
369
330
308
230
304
246
365
242
364
341
336
322
390
378
344
329
279
338
318
280
266
353
277
288
330
334
344
310
252
237
318
394
276
303
323
297
263
289
353
240
314
298
354
325
236
292
353
353
316
269
248
300
341
444
296
273
270
176
334
310
307
203
262
305
348
301
295
320
348
340
292
242
246
351
289
285
297
374
288
330
332
291
389
355
329
331
375
271
332
299
355
304
298
382
281
317
388
291
365
282
324
258
349
249
276
261
310
306
319
210
298
381
392
372
350
319
312
286
330
251
324
387
328
312
332
308
275
282
412
291
282
243
299
329
286
270
389
266
298
287
364
287
305
301
262
337
377
284
273
324
308
352
244
313
302
245
306
341
304
328
224
346
386
298
192
371
307
368
358
332
302
311
352
303
312
263
295
408
359
342
349
256
367
370
236
329
322
287
353
354
374
325
354
316
363
356
421
311
309
290
338
311
269
290
395
327
411
311
265
312
394
275
355
346
283
293
288
273
300
359
281
372
350
288
316
309
293
413
368
281
307
373
224
340
312
293
251
300
355
345
312
332
253
379
254
343
322
343
331
293
423
279
267
298
308
343
304
284
348
334
349
378
224
324
251
352
338
317
330
332
345
347
371
382
286
391
300
326
358
188
318
327
274
381
293
324
398
290
324
286
206
273
310
286
252
282
301
289
285
271
373
319
397
324
302
272
311
357
260
330
441
331
404
247
422
345
250
335
308
373
349
296
296
328
328
268
323
325
298
297
406
312
267
311
295
317
306
304
353
277
292
312
360
345
268
364
274
352
342
361
304
238
407
268
371
334
305
255
342
217
337
348
362
358
339
301
288
269
366
447
340
308
375
321
253
328
366
324
328
313
327
300
288
381
321
284
402
289
325
293
287
365
320
312
358
242
299
388
241
271
373
235
307
275
329
372
252
335
318
282
289
359
244
309
303
311
407
313
322
233
339
342
254
287
257
356
224
380
299
291
398
255
378
363
342
386
374
323
366
359
343
269
359
358
379
406
324
302
288
363
244
383
336
295
364
326
421
284
300
345
350
346
333
365
351
315
269
362
372
324
360
303
314
416
252
399
340
377
379
342
361
371
288
253
200
338
334
235
389
346
314
372
233
313
326
312
345
265
300
362
348
347
310
309
346
309
414
342
288
279
359
335
310
247
367
215
241
290
310
343
289
389
296
275
253
252
322
328
354
282
328
333
360
295
384
346
244
296
267
220
232
335
274
380
322
392
259
326
367
342
350
324
326
322
257
330
320
372
273
348
347
282
374
310
353
329
262
318
287
296
294
362
302
298
305
255
316
332
282
385
374
400
290
269
371
360
338
326
293
254
316
277
367
420
350
337
340
346
382
300
320
279
321
270
390
286
386
358
351
296
361
305
310
300
379
334
378
344
285
272
253
272
362
212
336
338
313
336
381
304
336
381
300
279
306
332
346
272
297
303
298
251
286
248
288
319
404
382
331
378
279
279
344
327
302
334
330
277
328
307
313
300
377
343
385
276
310
372
309
329
298
240
374
386
313
289
352
278
348
374
361
258
263
389
333
342
329
358
330
318
351
352
298
376
305
375
318
273
284
343
332
312
371
255
312
359
322
264
239
279
322
277
316
350
251
238
336
356
334
359
282
344
349
347
302
324
311
418
265
260
278
364
331
327
304
351
317
237
335
305
371
357
363
293
380
289
273
346
230
319
329
297
385
297
321
307
341
281
321
296
247
277
306
324
311
393
322
320
404
324
391
384
278
324
371
384
380
375
376
299
315
313
359
323
262
309
322
309
377
373
360
346
312
344
400
334
327
331
220
387
353
330
381
283
266
241
304
278
315
414
235
309
333
386
330
301
341
394
394
294
351
324
327
312
359
361
232
361
310
354
327
346
302
286
308
350
334
354
353
298
389
341
272
234
292
353
420
278
348
317
354
308
286
320
309
277
239
306
328
366
262
362
302
314
310
328
295
232
288
337
366
342
398
310
303
358
272
331
295
243
343
394
405
326
357
280
406
243
275
331
284
306
329
306
360
363
311
303
311
334
329
321
277
271
364
279
315
336
337
344
242
305
315
330
249
357
369
337
318
351
311
262
311
324
303
281
354
303
358
320
345
291
289
323
256
350
272
242
256
339
403
271
342
331
309
391
321
340
357
368
262
302
298
208
332
268
294
270
267
342
353
334
251
309
264
236
247
403
384
322
359
322
305
355
359
362
347
336
329
322
315
273
368
289
322
255
340
245
361
297
339
287
311
328
339
316
387
289
380
239
388
264
314
369
397
327
289
395
350
349
283
312
316
318
329
378
342
401
290
375
401
391
252
398
311
299
363
358
293
302
308
273
291
371
386
314
280
291
281
272
334
276
390
350
307
314
301
325
289
307
365
333
431
240
273
284
384
320
303
321
368
301
305
282
375
321
334
367
335
373
350
297
241
319
359
297
193
299
305
317
355
394
270
364
371
257
361
244
234
282
317
335
391
309
210
332
369
287
239
273
374
365
287
215
316
307
321
296
280
333
323
316
326
331
353
326
291
287
298
330
315
270
325
345
409
360
352
270
375
299
363
277
313
364
324
307
366
295
310
293
256
399
359
337
314
383
347
340
345
324
385
242
301
314
297
401
330
370
347
366
330
328
251
361
304
289
294
337
286
270
293
262
360
339
352
320
362
333
315
288
279
356
372
341
343
331
400
368
262
300
315
267
302
308
303
284
375
309
358
415
289
388
342
327
234
299
245
328
353
354
327
245
297
289
319
330
298
292
303
246
325
278
324
298
295
291
432
263
307
300
304
230
342
275
341
231
362
305
366
306
296
257
325
265
289
290
310
276
172
382
322
279
308
320
296
283
342
351
303
288
311
383
375
336
307
273
227
212
319
267
343
283
292
252
335
345
363
234
324
278
299
325
288
323
352
283
343
351
306
291
314
315
288
211
286
262
293
373
332
318
320
366
293
285
355
269
183
353
362
274
246
339
284
325
275
300
294
285
274
289
374
334
264
302
315
282
362
317
236
273
304
301
295
336
214
313
307
321
318
346
300
369
315
351
323
310
312
355
338
266
373
357
328
285
363
298
315
313
261
296
285
310
354
398
288
312
279
295
387
371
354
303
357
290
404
263
220
297
319
304
307
353
297
339
291
261
284
369
310
337
262
337
314
275
346
268
328
368
302
243
312
340
216
319
262
319
232
300
287
362
280
379
357
309
339
340
318
319
341
291
341
347
318
299
325
391
348
325
330
264
367
312
247
317
334
299
310
284
305
390
368
290
293
406
366
293
306
320
382
360
351
326
339
260
300
366
280
311
309
249
315
351
206
328
339
248
298
306
323
332
253
341
315
274
347
314
283
285
277
325
336
310
384
268
381
296
328
346
327
255
355
390
272
318
361
360
318
266
339
238
333
369
312
301
315
260
375
339
359
269
259
324
296
354
384
311
327
269
347
353
368
306
326
346
283
323
254
288
356
305
348
328
268
266
323
283
324
399
298
295
369
379
293
310
318
267
217
296
309
374
321
348
345
273
247
333
311
286
327
318
370
315
313
263
288
284
281
243
269
280
308
289
339
410
310
366
407
328
321
364
233
319
343
275
242
347
289
309
326
244
289
268
306
298
357
266
310
294
279
372
318
353
344
348
384
373
255
350
284
260
343
307
332
308
328
270
278
264
238
230
314
414
294
340
365
259
258
287
222
405
390
317
350
334
384
310
222
214
330
370
330
353
313
327
351
312
270
265
280
290
419
404
300
324
293
321
319
331
314
311
231
401
334
243
335
310
356
300
270
359
327
294
268
317
268
231
301
298
307
359
333
290
334
298
245
265
338
365
259
272
309
334
272
279
266
313
279
335
364
288
301
330
335
297
355
384
221
271
285
295
316
280
342
309
336
309
171
326
316
353
274
302
302
279
268
382
271
291
275
355
306
291
348
312
368
384
301
255
303
331
273
348
373
347
218
337
247
364
345
220
325
246
308
339
390
330
284
367
337
349
351
209
267
256
295
334
323
257
336
313
291
312
328
357
342
282
280
234
327
408
274
398
307
273
397
283
301
357
335
302
319
320
374
274
312
285
339
355
295
383
314
230
316
399
350
344
385
353
367
314
360
278
359
305
324
276
333
334
373
304
323
328
258
342
298
265
322
342
338
347
262
341
219
376
287
288
238
296
390
397
234
331
338
244
259
299
333
296
289
328
406
349
380
342
285
272
340
301
335
351
337
258
338
377
316
351
366
390
351
341
407
309
348
348
281
439
344
269
355
335
350
349
292
336
391
357
269
285
378
308
353
336
296
284
262
325
272
340
375
288
411
334
373
336
356
260
306
361
428
334
330
286
299
319
358
288
296
293
329
281
304
314
295
295
344
271
251
258
361
301
417
295
298
340
344
379
336
331
327
245
268
316
365
320
314
261
299
275
245
365
382
393
344
375
341
238
363
384
334
306
267
350
320
242
261
284
346
333
337
315
260
319
340
311
356
330
220
287
266
326
252
357
353
360
231
345
292
330
376
320
288
346
312
312
315
305
363
322
309
371
343
322
302
311
321
246
362
248
314
366
347
299
306
321
324
260
304
359
313
333
306
313
311
332
357
272
342
297
282
381
374
310
284
347
289
324
339
304
284
309
313
368
204
317
272
335
296
282
268
288
308
327
179
306
270
286
188
384
318
275
342
341
333
281
319
253
349
410
326
321
290
307
355
308
299
239
312
226
219
252
355
272
360
323
295
293
347
368
317
356
291
276
311
357
355
352
403
398
331
238
330
250
307
284
200
339
354
379
266
318
272
420
275
277
360
357
375
358
342
347
241
291
295
258
293
283
351
359
301
384
321
273
296
387
282
381
339
304
309
298
307
351
323
301
423
294
282
330
317
280
269
348
411
282
296
368
264
386
335
374
284
303
293
286
301
339
304
315
283
281
280
310
313
358
328
343
380
329
284
430
331
290
307
386
366
279
322
345
291
342
303
378
312
349
340
343
298
212
277
261
399
350
281
266
289
316
295
372
281
367
334
320
340
298
308
256
364
236
369
305
339
294
276
253
316
305
349
360
231
323
310
244
461
332
367
255
238
376
400
283
289
310
329
333
345
336
302
295
301
304
327
364
317
233
336
396
274
338
385
317
231
228
352
379
290
367
287
291
296
350
241
378
317
241
297
291
304
277
318
384
287
294
325
373
334
317
304
383
283
337
280
267
346
348
261
248
397
332
272
292
383
280
329
353
377
316
327
195
380
271
291
233
326
399
289
357
296
261
369
309
291
319
406
315
370
296
432
276
332
283
238
286
321
362
256
338
385
283
379
348
268
296
314
356
303
305
340
344
346
415
316
262
315
299
284
250
225
333
352
305
275
260
255
338
293
312
361
301
277
331
307
303
331
290
336
337
351
379
215
192
286
325
358
319
239
229
426
334
318
277
275
258
326
283
287
304
322
305
352
349
320
357
325
291
257
279
308
237
279
289
299
299
307
276
354
369
264
351
291
223
282
282
351
361
301
333
291
323
319
328
352
323
290
371
296
219
303
330
284
355
194
340
391
294
334
305
276
437
344
321
374
335
336
315
335
307
344
321
224
324
219
249
305
368
307
388
346
308
277
294
292
370
351
242
379
341
312
374
337
327
289
339
363
228
288
291
330
328
331
413
382
388
278
313
261
410
336
283
392
327
319
290
323
399
344
311
309
310
301
284
334
355
364
350
342
336
353
216
320
331
396
424
371
332
387
359
398
331
290
348
294
304
297
296
278
364
268
328
305
355
341
284
348
335
339
205
327
336
271
312
234
311
351
274
337
276
326
289
355
274
344
351
306
325
312
358
355
277
257
368
378
403
287
344
326
353
262
327
276
261
362
305
277
398
361
354
352
320
277
433
334
305
291
277
312
378
351
327
361
267
282
270
328
296
382
314
323
418
365
239
364
302
368
324
252
322
280
331
270
229
325
290
231
306
254
353
278
264
416
316
421
382
258
322
289
295
261
389
316
261
365
357
271
282
311
320
361
385
285
279
232
320
289
367
307
331
228
288
263
389
313
318
293
328
272
243
263
267
307
363
304
281
369
336
301
269
239
289
314
310
274
320
301
348
326
348
300
298
320
249
199
289
358
341
278
307
321
241
266
354
279
291
310
300
369
328
231
305
355
269
283
335
236
265
376
316
255
307
306
304
298
368
273
348
323
326
292
280
347
285
311
311
253
284
325
265
367
373
335
266
278
248
231
245
389
281
293
343
309
317
334
202
316
298
262
314
402
291
343
330
325
319
238
263
366
359
310
299
328
203
256
441
329
352
209
227
342
330
369
360
273
353
324
283
283
358
283
328
306
327
349
361
207
382
240
348
366
269
225
321
270
260
338
255
320
306
298
335
356
399
385
253
304
369
297
297
393
358
339
380
381
327
375
357
261
422
343
357
306
374
362
281
344
268
422
300
285
315
321
361
355
344
294
371
259
387
344
280
287
329
308
385
331
293
367
353
387
291
279
329
267
229
336
334
316
353
359
289
342
349
347
309
258
263
380
266
309
240
271
280
358
384
310
295
362
315
321
314
255
308
323
369
287
253
292
353
283
337
314
345
353
199
354
283
244
315
330
336
228
335
326
371
395
297
273
379
321
271
345
259
403
329
325
307
311
326
303
288
337
294
316
302
307
387
306
264
340
301
347
319
289
309
299
370
204
227
226
250
332
289
330
373
278
363
220
259
333
330
337
323
279
392
373
259
319
305
339
275
368
341
339
317
274
321
340
330
312
305
321
290
351
329
357
347
312
394
335
331
361
317
308
232
338
347
315
351
272
300
359
224
288
357
278
317
397
277
295
273
328
300
328
295
305
293
275
311
282
277
315
309
297
357
343
259
273
397
381
299
307
324
313
386
335
278
307
275
303
259
270
345
179
312
410
206
260
235
278
339
336
366
308
312
334
317
331
380
326
235
349
264
235
359
301
283
275
350
290
336
365
325
330
241
262
405
351
307
312
321
320
349
341
323
308
323
345
289
340
330
347
208
300
344
420
363
296
304
330
417
319
261
343
262
281
319
395
249
145
313
300
321
372
307
307
325
258
275
312
314
241
341
330
359
237
260
340
312
263
319
333
413
298
295
395
373
258
322
295
313
234
365
268
294
289
301
376
264
325
300
319
294
310
312
362
277
309
333
263
353
270
372
370
324
269
277
356
280
321
266
408
374
311
311
332
419
372
313
246
374
284
254
390
359
263
283
342
350
293
354
377
279
409
337
368
408
324
326
333
330
329
274
293
397
319
335
315
290
324
237
307
368
316
358
283
383
256
418
395
291
293
303
346
338
334
361
267
336
316
293
301
335
373
305
320
356
332
341
359
309
294
273
306
376
325
300
384
234
273
301
246
288
303
313
268
364
355
335
284
322
283
255
299
341
330
373
301
380
311
413
300
330
376
304
326
362
307
350
345
355
356
240
360
264
276
336
289
315
296
276
264
334
354
276
232
335
225
295
315
253
341
289
339
350
242
311
362
253
401
255
377
310
283
252
264
319
305
285
321
325
314
358
246
291
412
292
322
326
376
411
368
333
327
369
333
262
389
351
296
399
327
319
322
270
323
379
328
353
314
369
320
205
345
304
383
289
281
249
346
327
291
290
290
294
394
333
273
328
358
294
347
384
236
366
365
352
288
259
356
212
290
257
292
226
381
202
230
345
351
311
336
313
316
316
282
331
308
334
321
306
327
337
289
351
377
267
321
389
234
220
343
330
373
271
396
318
306
245
307
306
358
405
384
332
341
282
312
404
321
387
342
333
423
382
215
367
344
209
371
312
323
351
272
345
325
357
334
386
311
380
265
276
236
345
159
288
250
376
325
329
262
314
289
327
289
338
327
299
339
300
250
317
281
361
306
387
335
298
302
328
314
262
315
354
351
175
328
237
300
363
335
376
337
287
360
302
319
232
302
340
270
292
427
300
308
342
261
313
333
318
373
320
369
264
411
290
340
417
285
365
298
409
348
322
217
270
229
272
344
311
338
251
356
307
301
331
295
345
375
285
228
367
215
242
307
270
274
302
253
347
343
324
293
302
257
312
362
376
326
298
344
352
304
323
284
282
351
265
224
339
312
357
352
332
262
352
307
273
347
345
344
356
331
330
277
395
287
314
319
294
308
314
327
233
308
378
404
280
342
323
266
340
326
356
288
276
278
300
308
289
386
370
383
307
271
294
309
227
320
248
317
344
305
283
264
283
347
260
288
248
332
327
335
263
246
327
272
287
342
267
356
299
343
300
393
283
382
314
453
338
362
215
417
258
352
295
312
281
349
348
313
323
360
352
335
343
279
372
283
338
300
283
224
419
242
279
341
319
279
413
265
291
367
317
271
365
285
288
325
298
390
330
362
276
310
304
233
445
301
238
398
352
368
383
316
308
350
278
334
246
343
400
324
315
309
303
323
273
296
327
299
316
309
308
280
356
327
335
279
376
289
288
371
278
376
318
378
342
213
363
374
312
270
331
357
306
367
398
368
275
389
353
350
266
296
367
372
310
367
296
347
344
281
296
338
323
312
279
274
330
273
313
434
364
280
321
340
297
342
317
333
356
410
394
422
290
340
357
300
309
272
307
225
310
325
295
301
355
379
255
271
349
315
280
321
297
349
350
276
322
234
338
311
351
342
198
354
302
297
309
280
281
282
360
332
351
287
272
293
296
296
342
268
357
309
345
343
339
345
284
344
324
294
371
242
358
313
372
411
370
258
239
433
267
416
468
305
332
297
230
380
302
303
351
290
223
312
278
285
370
321
343
315
291
352
249
329
369
320
379
256
320
332
344
373
300
352
326
330
279
326
322
316
345
317
322
229
297
335
374
316
294
267
340
320
336
350
310
323
317
311
350
279
318
409
375
340
350
290
277
295
280
261
287
314
336
353
357
322
341
299
325
346
372
344
379
352
336
174
321
334
373
331
348
290
312
244
340
370
342
340
169
313
318
290
280
344
226
311
255
314
390
282
354
359
361
250
290
266
242
347
298
357
333
310
369
355
347
265
276
286
259
367
319
218
325
336
275
300
257
273
249
311
307
288
254
310
323
309
307
314
290
310
288
402
318
283
342
275
283
263
266
373
318
249
216
285
266
291
278
315
343
330
346
418
333
281
363
296
372
378
353
221
270
330
317
314
397
341
329
301
230
310
392
350
293
373
242
335
294
337
372
363
363
361
319
347
287
352
295
369
310
302
274
323
276
322
363
306
275
282
325
279
262
349
311
286
298
307
354
275
277
317
306
290
332
358
364
411
393
456
297
395
331
326
331
290
266
420
300
283
367
233
266
257
298
304
304
322
284
288
382
469
406
270
285
333
275
229
355
276
391
322
311
278
281
302
292
351
327
250
322
262
368
356
355
315
374
344
385
311
284
257
339
262
371
284
392
333
334
302
317
337
302
309
354
347
402
292
273
395
340
253
268
308
355
376
338
296
401
345
313
347
294
313
383
334
355
409
398
284
292
347
336
339
418
411
327
326
346
262
249
310
320
345
291
277
304
326
273
296
311
344
285
327
388
300
312
229
380
347
250
312
330
330
324
311
353
316
333
293
350
357
330
316
324
228
294
312
351
447
326
210
248
329
293
316
256
305
324
331
304
366
275
356
237
259
331
295
286
315
389
333
315
312
234
304
399
344
291
314
322
322
285
331
374
370
377
301
376
320
376
342
374
358
321
298
327
249
275
259
235
298
264
331
341
343
259
318
325
317
345
370
411
348
365
310
339
272
347
285
330
374
366
358
273
227
279
327
180
338
360
242
308
272
352
370
354
319
346
328
334
217
334
304
347
219
253
269
352
259
380
346
319
378
373
342
319
287
346
322
254
386
256
335
293
249
262
370
284
311
376
334
298
327
272
304
281
382
323
335
310
319
357
330
306
310
343
274
339
262
294
334
295
326
344
370
372
373
339
368
293
332
381
303
389
292
389
363
273
240
368
345
341
263
350
368
290
293
348
294
366
337
289
361
323
303
282
268
400
271
336
363
290
357
391
303
267
275
321
286
330
320
371
376
337
362
309
345
452
347
255
284
324
287
259
297
321
319
286
354
301
342
332
431
371
239
317
379
364
295
339
318
337
289
366
379
365
300
317
271
278
257
271
301
327
344
320
315
346
355
285
360
326
305
288
386
329
318
332
302
327
354
383
337
357
321
364
395
318
261
293
322
289
250
310
336
334
313
270
338
301
325
180
351
284
310
250
407
292
292
297
303
281
362
310
340
299
366
263
302
366
320
312
359
344
299
291
340
331
357
294
300
250
276
336
324
343
336
222
328
357
332
271
357
347
327
316
390
306
293
323
406
353
341
297
267
297
336
370
289
285
305
305
344
340
319
334
353
389
221
320
280
373
310
290
303
327
345
332
309
332
308
369
330
379
348
385
314
290
358
357
267
318
346
326
297
370
284
332
351
307
235
344
358
362
337
281
337
303
319
371
341
244
369
312
286
340
251
349
292
284
309
329
366
355
345
376
337
327
350
335
259
364
316
245
354
336
363
348
391
332
249
236
285
368
275
308
304
349
321
324
313
348
315
356
312
304
299
299
362
330
299
286
292
369
296
374
341
280
362
344
319
382
322
362
273
311
221
284
295
311
311
290
332
288
348
372
342
429
276
303
247
311
306
316
336
366
351
212
384
351
240
270
367
352
284
224
323
304
288
298
382
322
420
319
298
327
296
253
360
306
271
251
286
322
359
247
360
353
238
321
288
298
324
311
290
328
383
328
360
331
305
321
284
247
354
345
297
346
336
357
293
280
313
337
303
375
267
352
283
312
323
271
347
313
350
279
258
266
271
311
304
309
326
343
287
316
315
257
361
351
387
338
408
299
326
286
363
288
286
257
249
304
330
276
267
269
353
304
309
306
213
298
341
343
241
252
336
343
345
288
284
393
308
342
338
307
333
293
260
287
359
248
361
386
335
298
240
381
247
342
243
383
280
353
263
366
317
324
249
247
280
370
280
292
376
313
294
246
339
352
232
298
333
282
288
374
425
328
300
236
346
367
301
266
275
274
291
274
348
282
354
269
321
319
292
323
254
283
290
329
349
181
315
290
384
335
323
252
342
346
238
350
344
340
383
270
281
313
319
350
345
342
295
262
310
256
367
247
390
413
263
290
285
281
252
386
353
279
286
325
312
250
257
354
348
334
260
354
259
284
300
315
257
344
264
302
343
186
257
328
332
275
344
296
278
350
331
256
306
336
296
320
397
302
274
313
300
344
324
295
322
294
311
302
344
438
306
284
368
365
380
294
332
325
327
319
275
256
391
271
321
365
335
326
364
303
262
330
318
382
321
260
350
368
323
303
299
449
376
351
355
394
309
272
325
358
361
300
318
279
248
221
349
299
358
332
317
306
259
298
360
270
309
282
290
272
331
273
290
335
292
340
291
314
350
396
310
367
337
249
394
265
286
304
377
296
294
343
371
261
380
358
291
348
386
348
334
348
252
278
391
329
387
357
310
341
300
308
301
375
248
326
323
276
334
320
359
381
290
445
334
381
346
319
301
330
326
277
363
370
414
305
345
215
270
269
307
328
265
280
320
287
225
343
338
338
309
331
334
305
376
315
298
276
326
405
270
325
330
327
347
308
302
256
312
318
355
237
421
304
335
298
349
309
324
261
385
337
322
371
231
343
360
291
371
361
274
326
361
247
307
255
307
355
288
326
334
312
369
389
379
345
311
383
323
311
350
327
290
329
336
366
327
240
358
325
284
367
227
290
279
353
399
267
337
296
287
349
258
373
362
378
290
293
351
361
351
332
295
312
379
370
320
368
242
294
273
280
308
284
293
345
353
183
286
338
379
275
271
328
303
346
313
334
267
368
366
370
342
344
299
302
351
339
325
312
306
257
350
356
337
217
294
337
374
392
301
301
265
397
376
262
367
297
355
330
286
295
377
231
321
289
320
412
327
244
362
268
315
357
369
356
358
283
333
371
364
365
259
345
304
383
274
332
322
330
401
387
331
377
397
336
369
374
362
279
325
277
347
315
279
319
286
271
230
349
296
333
292
251
321
372
267
285
373
303
267
307
256
332
276
251
272
323
280
292
345
261
358
293
323
320
300
315
361
367
317
254
280
374
296
373
293
239
357
360
327
350
366
321
382
363
320
311
379
325
318
315
383
331
272
366
253
343
261
313
336
222
318
370
269
278
362
298
330
244
400
312
299
371
284
305
337
308
340
293
295
393
393
330
299
261
348
269
295
342
282
309
241
259
201
312
319
321
365
302
300
295
231
323
391
262
297
278
356
394
393
271
230
345
368
293
331
341
350
351
376
312
307
245
272
292
280
345
286
328
344
304
276
282
267
341
325
360
358
292
369
355
304
275
297
286
307
220
229
262
244
355
355
308
277
269
404
289
270
329
359
316
346
297
274
337
331
371
311
303
312
310
295
355
304
277
260
333
366
285
274
311
349
295
332
343
304
317
278
280
310
331
316
355
330
203
336
353
321
311
355
292
349
262
299
348
342
279
215
254
359
335
304
379
348
307
354
352
293
321
363
261
331
195
300
288
359
352
280
384
310
297
353
312
374
319
295
310
357
347
365
323
264
247
324
302
314
383
355
309
322
273
323
411
305
290
326
252
374
249
371
239
303
251
317
318
330
317
298
338
305
386
273
233
273
316
224
318
268
387
293
346
384
386
269
394
336
282
324
300
333
289
345
344
328
321
326
297
323
309
319
315
368
336
289
298
345
310
268
351
326
288
274
242
412
348
371
333
304
315
236
310
336
343
293
301
237
293
298
370
348
373
366
369
278
294
266
387
226
347
322
332
362
387
283
364
372
319
349
357
283
330
321
268
265
394
304
306
343
317
276
364
347
358
267
288
377
376
305
342
295
266
236
264
333
298
339
262
358
303
356
418
377
314
287
328
393
332
328
398
284
267
338
353
295
277
394
296
284
374
259
345
313
444
353
300
318
304
291
276
306
280
371
352
319
309
350
301
356
371
229
312
360
262
347
343
301
393
304
289
318
330
309
258
338
378
325
364
348
375
308
347
378
297
348
309
261
269
296
289
269
428
237
346
287
335
341
297
284
364
340
384
319
310
327
337
355
388
231
269
368
287
340
318
287
367
273
343
246
303
300
371
255
323
301
342
374
276
286
374
340
328
247
290
393
328
267
255
306
327
236
377
287
198
343
261
314
299
261
314
361
279
315
362
360
285
313
268
329
367
307
374
315
276
293
356
328
370
320
331
217
343
337
298
369
370
209
284
359
358
314
270
304
381
403
298
287
331
285
335
365
285
360
323
177
395
298
376
272
183
318
313
328
205
339
351
362
396
332
324
274
358
324
334
273
402
250
367
369
316
327
357
284
424
372
300
363
365
242
375
335
285
397
349
309
274
340
326
311
299
356
332
326
308
290
310
348
321
308
366
331
387
249
297
385
376
346
338
351
387
289
293
290
309
346
334
277
296
281
305
294
331
310
159
367
295
367
349
272
402
349
397
334
351
351
340
238
270
259
314
311
217
243
322
420
293
352
315
336
301
348
380
387
283
298
329
242
320
258
416
265
317
372
406
311
353
306
314
270
395
263
276
391
333
353
342
269
273
333
312
295
400
324
309
309
316
319
395
260
300
348
308
306
313
359
275
278
383
316
329
370
369
300
339
264
340
294
291
382
324
384
286
269
365
367
343
305
321
308
308
315
349
326
330
279
358
326
325
334
283
334
316
336
356
210
334
189
375
218
361
230
377
288
304
284
206
329
327
333
288
290
240
306
342
291
201
339
311
310
264
359
273
295
356
338
342
243
285
425
323
377
265
321
365
291
289
287
285
332
307
317
368
338
281
339
332
311
279
297
303
335
252
356
325
322
351
375
287
395
327
257
301
336
239
252
275
296
289
314
323
297
330
303
302
277
364
287
350
299
358
249
295
244
282
300
346
377
384
298
305
309
294
276
250
358
354
253
351
273
375
313
356
310
299
279
204
314
355
180
336
331
315
265
275
354
345
269
288
399
247
335
320
364
334
196
308
396
317
319
319
274
375
327
314
368
313
292
391
275
392
329
333
290
279
329
364
368
403
256
306
391
335
318
334
345
368
308
327
352
288
235
283
273
319
321
343
330
325
349
236
259
344
255
339
353
435
387
265
302
308
361
368
345
326
320
293
338
350
341
311
314
329
271
398
292
346
305
343
343
303
325
350
305
323
307
242
296
322
334
345
346
259
331
346
309
266
303
398
307
309
288
402
279
380
393
224
348
402
294
320
254
410
247
302
359
312
245
325
310
372
365
368
247
293
388
247
340
340
301
356
330
402
325
365
292
405
270
335
368
381
392
324
323
261
279
326
315
379
360
387
353
324
302
299
419
324
228
313
288
257
281
433
311
279
333
339
276
285
192
349
314
267
254
302
341
322
320
299
253
327
313
341
336
418
299
320
218
307
321
349
350
356
269
371
367
268
293
366
316
321
314
364
250
294
374
307
357
326
287
300
339
357
365
324
317
368
331
333
250
202
322
310
333
337
299
252
331
265
256
274
356
286
296
299
357
253
335
283
316
293
301
331
238
296
354
277
332
340
315
255
319
359
296
335
309
279
308
335
319
271
361
344
269
252
300
352
323
320
294
252
331
301
321
344
314
326
272
353
259
340
291
436
263
346
295
410
389
303
239
346
311
302
236
274
321
295
291
242
345
352
292
385
293
297
296
309
314
343
354
316
392
368
309
326
323
304
295
362
296
312
367
248
271
294
340
359
284
296
278
344
278
340
296
296
336
278
325
293
328
298
314
297
323
323
269
361
276
332
341
307
345
277
303
374
313
283
344
268
411
293
271
362
323
374
228
293
350
372
286
371
315
233
284
261
276
385
250
328
346
359
237
301
338
286
348
348
362
230
310
313
319
286
341
261
288
322
283
372
347
230
334
306
299
322
362
272
332
265
370
276
362
286
267
279
391
297
229
325
305
317
319
389
388
371
259
306
301
344
264
251
288
341
274
259
299
300
386
275
225
330
311
291
334
318
292
330
262
349
270
315
215
293
269
373
310
277
361
302
284
370
278
330
348
290
309
252
287
348
298
369
209
322
254
342
316
257
295
351
340
360
307
271
367
337
331
332
261
330
244
313
368
315
302
261
377
346
290
405
379
353
323
326
219
383
386
317
319
361
365
260
355
350
301
348
324
304
331
376
270
349
308
371
301
294
282
294
402
246
351
307
294
313
291
306
359
284
315
355
262
348
302
227
218
305
291
390
332
275
364
367
325
291
266
315
309
295
310
284
344
326
273
312
247
255
366
310
366
392
396
320
323
318
281
324
317
292
320
376
295
320
351
330
307
253
378
318
332
334
288
285
313
317
311
272
235
214
333
333
327
333
309
244
290
348
343
233
273
342
266
361
274
202
332
335
301
235
358
286
355
250
262
292
391
290
397
354
361
357
309
320
359
290
347
374
307
320
268
380
293
346
324
385
380
230
324
320
299
325
247
308
304
356
260
330
312
318
251
301
301
325
289
282
360
335
283
357
398
263
288
245
333
365
307
367
273
282
249
363
378
326
307
406
265
240
375
230
273
277
310
346
288
251
335
262
268
327
265
287
380
226
284
279
320
329
370
273
295
271
348
287
227
258
311
400
266
383
320
357
301
361
275
236
379
303
350
368
319
355
261
307
293
365
315
334
279
335
297
278
293
296
324
264
339
336
373
398
355
363
283
345
343
244
320
408
295
297
235
361
354
320
297
288
336
316
375
354
235
262
306
283
319
354
238
320
332
322
311
350
367
237
246
358
304
352
279
304
352
247
331
288
362
271
269
408
306
413
309
355
395
356
296
306
292
324
337
335
283
223
351
311
297
351
340
295
265
328
356
374
256
258
324
340
269
330
355
261
269
294
279
294
307
401
398
347
316
339
249
369
332
300
316
381
253
344
334
295
302
335
408
331
282
315
329
396
292
319
245
335
319
269
346
290
304
352
271
291
290
249
302
369
264
377
279
386
371
301
366
323
372
365
319
284
221
309
299
333
338
376
254
261
343
315
295
330
340
289
305
317
284
395
318
278
248
310
306
374
296
237
251
261
319
343
293
278
306
304
377
331
345
379
357
257
329
312
355
380
290
312
337
352
337
306
278
281
306
322
271
342
350
317
321
355
342
303
287
362
377
372
332
346
346
349
307
343
215
293
237
253
296
328
264
320
286
333
311
342
315
394
295
289
309
284
230
393
325
276
373
394
340
334
266
351
338
307
355
320
264
308
295
308
271
255
340
312
281
256
245
266
303
364
337
252
223
343
320
376
348
296
293
300
278
266
217
307
321
276
264
278
351
325
307
334
404
378
229
315
274
312
295
277
334
408
318
213
334
315
349
269
349
304
254
304
315
286
276
324
319
224
312
316
334
278
329
376
344
327
355
378
267
326
232
332
347
267
332
314
220
441
331
309
352
277
329
284
319
287
328
346
330
332
302
263
272
360
311
237
281
311
325
288
281
378
329
334
273
349
321
381
360
254
284
312
269
349
307
274
281
238
310
430
263
281
352
338
346
347
332
313
353
322
304
322
239
311
280
339
343
269
248
264
293
350
365
259
286
308
282
335
294
373
324
367
319
304
328
342
344
294
403
294
394
362
344
262
369
338
355
284
300
285
321
306
243
346
316
363
316
340
327
384
218
321
276
241
368
251
355
403
284
377
319
335
327
302
320
226
343
366
320
293
260
276
318
321
312
322
378
304
346
369
328
356
309
372
301
303
291
303
416
377
313
299
393
261
269
363
333
343
364
317
275
313
341
311
381
364
319
298
314
363
303
335
310
310
313
368
349
375
325
371
351
285
351
367
353
363
281
266
348
343
289
266
278
266
353
258
304
301
257
358
359
368
324
319
247
385
294
335
374
377
234
383
423
299
326
336
312
271
384
266
345
321
337
277
321
285
241
212
353
251
326
389
321
298
376
308
373
359
312
336
369
317
295
308
389
271
366
209
248
379
355
304
319
330
224
309
308
370
304
287
347
270
351
286
277
264
274
330
375
260
351
299
391
284
340
327
301
348
361
254
269
296
277
321
315
321
347
328
316
366
357
362
306
286
301
380
299
338
216
273
351
317
402
315
321
307
348
398
312
372
298
357
230
329
369
264
331
347
310
298
399
251
295
255
332
370
317
364
314
335
271
313
333
362
295
284
244
438
261
317
288
353
351
361
319
343
292
343
298
373
281
298
327
332
288
383
271
285
316
230
280
407
365
409
283
361
277
363
301
296
371
368
428
323
277
318
236
298
373
363
258
307
292
320
323
274
260
341
373
303
316
322
402
316
353
344
279
326
363
326
283
320
325
309
333
367
190
316
341
329
301
281
356
301
215
259
371
319
328
303
309
315
287
299
268
279
378
262
274
341
299
299
275
276
316
271
333
328
262
332
359
329
342
303
314
341
289
334
352
308
310
296
323
297
303
344
336
340
346
369
373
281
227
323
368
239
348
269
285
306
295
326
347
285
384
351
330
352
376
181
207
338
351
365
301
360
264
309
273
277
346
258
301
421
275
350
408
280
377
334
283
273
259
300
312
264
338
246
305
328
344
371
274
348
290
300
322
233
296
335
267
404
291
267
323
295
275
290
293
343
307
424
298
289
364
277
341
401
289
267
342
290
330
341
277
226
351
268
329
249
220
269
374
296
391
341
282
363
419
312
351
323
259
313
369
193
229
344
330
225
300
258
262
330
269
435
288
251
273
398
297
332
217
385
300
299
236
332
346
262
301
288
312
306
313
268
375
331
331
319
289
230
329
266
350
335
317
345
268
329
245
264
312
321
264
390
345
331
339
389
356
309
281
329
373
420
271
261
322
271
255
357
306
288
337
324
275
313
349
287
229
326
238
310
343
403
267
301
396
327
342
309
312
340
416
292
379
303
294
364
259
337
321
233
311
330
299
257
270
343
355
317
348
264
300
369
260
325
282
319
339
226
280
316
317
249
242
331
301
311
276
363
337
350
329
263
360
290
374
313
388
434
408
314
390
300
323
294
307
301
305
363
361
375
286
315
316
396
330
389
325
305
307
389
341
373
329
295
352
285
409
227
324
328
280
298
443
336
295
277
259
339
303
344
315
312
332
273
292
322
305
346
286
309
366
312
365
340
298
329
335
210
267
297
308
363
264
336
263
376
273
290
360
305
181
327
334
337
354
394
304
312
310
272
331
317
283
307
321
326
364
357
310
307
339
375
307
309
354
285
345
313
263
307
262
340
263
287
238
324
325
336
303
272
291
311
359
298
256
358
353
303
281
291
350
362
304
323
293
281
247
318
378
269
345
325
308
342
281
344
372
310
323
371
303
337
373
336
359
300
294
306
359
308
368
305
306
320
310
321
304
324
356
334
344
305
243
257
304
317
351
350
398
359
333
328
323
281
241
281
358
302
339
363
360
336
253
332
384
311
373
258
331
274
338
275
278
371
364
212
288
332
365
307
359
359
351
351
290
325
360
353
265
337
242
357
369
360
281
337
365
324
325
298
309
325
308
239
229
328
291
325
345
350
370
419
273
280
283
302
259
374
375
277
262
301
340
186
334
316
378
331
377
339
313
376
297
314
424
268
424
270
414
307
324
344
367
261
413
323
389
307
286
261
309
306
331
233
243
250
406
375
202
406
353
341
265
290
362
295
223
317
361
352
304
262
350
378
313
363
403
241
293
352
321
371
346
359
287
310
286
362
350
276
303
368
259
285
276
300
287
378
335
319
294
376
337
307
318
243
339
217
286
384
296
303
310
297
362
299
320
304
360
338
349
304
314
298
277
269
283
212
338
339
340
334
355
334
331
320
328
326
342
312
406
328
326
267
274
342
418
344
259
246
323
298
290
307
387
290
350
375
276
234
283
332
333
341
337
274
230
224
284
272
217
367
259
307
343
293
283
314
293
256
352
356
318
379
336
287
349
327
285
405
283
309
328
294
282
319
324
376
430
258
303
307
324
316
371
358
303
432
355
315
342
342
316
291
306
300
244
332
360
360
310
321
381
360
324
265
347
338
306
254
264
275
208
298
315
327
354
310
227
254
355
365
363
242
262
393
316
289
313
369
346
285
276
369
325
366
380
262
273
355
346
347
336
205
396
376
318
318
314
324
274
348
282
311
283
325
320
243
346
294
338
309
338
304
309
325
378
316
291
338
354
284
379
354
315
358
308
231
305
277
367
296
310
276
329
250
347
251
383
250
396
313
266
355
381
328
296
301
308
247
286
274
332
327
256
301
355
272
320
326
325
267
344
307
334
427
275
336
311
279
310
311
275
346
412
276
393
370
348
340
358
347
340
231
212
263
380
338
341
287
331
293
276
314
320
351
316
293
275
321
241
236
322
353
253
266
371
347
330
325
340
294
365
286
374
337
407
331
310
316
267
351
347
226
404
403
329
377
331
329
286
358
309
352
362
287
256
342
366
340
273
324
309
277
339
354
263
290
324
253
347
365
312
366
234
324
276
263
334
276
349
278
341
306
361
347
370
402
297
292
315
272
256
322
294
240
315
378
236
294
291
329
349
340
244
359
338
355
294
338
337
343
369
340
412
367
328
249
321
320
421
239
303
330
264
335
440
295
229
296
298
258
237
322
255
279
355
331
344
406
266
197
279
331
359
312
373
316
234
286
297
283
302
299
331
311
331
346
267
283
397
340
378
299
335
268
362
332
214
341
327
284
315
271
265
389
268
357
315
313
232
302
360
347
310
302
320
296
395
377
260
353
261
357
371
325
308
313
340
331
307
347
282
303
397
378
251
362
278
285
315
320
335
308
290
342
332
298
268
326
390
268
254
382
283
350
300
298
287
351
232
311
308
321
311
298
363
230
264
313
255
307
371
372
220
313
313
299
343
322
295
342
281
348
214
321
299
301
319
400
295
326
307
304
351
278
374
275
329
353
328
354
303
349
301
277
360
347
299
261
252
269
312
323
310
415
343
241
316
358
324
298
340
284
352
279
238
359
282
316
263
332
325
287
268
327
375
365
284
402
288
360
251
244
269
301
283
333
332
392
316
295
324
306
366
312
328
351
285
337
313
257
362
278
383
268
351
349
198
341
298
293
365
308
290
364
372
312
368
299
287
279
270
298
336
343
347
292
343
255
199
279
323
331
295
266
348
313
344
191
307
330
292
332
290
319
276
325
249
252
338
298
263
323
272
322
366
341
320
379
252
328
335
334
365
264
278
348
293
337
341
301
310
209
362
331
337
370
363
341
331
238
310
333
337
383
334
330
243
253
386
349
369
348
334
292
388
267
339
330
349
340
184
270
291
223
327
352
409
298
341
347
295
382
322
242
285
314
323
299
301
350
304
326
277
325
293
290
345
249
310
248
348
310
208
285
386
343
303
331
351
391
313
338
279
374
325
291
294
347
303
378
301
311
359
336
332
242
346
274
331
363
360
314
280
433
307
245
387
333
383
297
339
280
328
343
364
354
357
333
236
375
280
323
338
243
343
296
375
308
372
334
221
330
367
303
386
259
327
346
253
316
334
353
335
268
290
282
328
403
261
249
296
337
231
228
286
364
319
308
358
284
331
330
235
288
327
274
328
355
243
300
269
450
287
386
396
244
263
298
340
297
306
293
315
329
321
332
347
356
370
336
354
270
314
254
295
280
320
268
338
206
215
351
326
408
345
305
307
325
377
287
233
396
303
338
360
328
376
252
296
353
318
368
266
362
302
320
213
259
297
282
353
344
318
302
231
328
264
277
353
312
318
327
345
371
344
337
276
317
299
327
293
338
352
297
230
375
239
319
262
341
314
301
272
344
350
353
308
358
344
303
322
365
312
292
360
332
312
338
256
296
303
327
249
283
398
323
404
281
295
370
307
275
283
270
273
269
319
293
326
283
297
360
360
308
355
350
281
240
265
360
316
343
331
329
337
322
323
347
364
359
313
352
263
373
274
316
350
370
273
332
252
317
358
336
301
328
323
365
343
303
320
367
278
267
264
420
325
328
343
268
256
315
272
314
342
320
253
334
379
248
402
350
255
192
310
270
255
306
353
393
281
291
391
292
323
312
331
284
302
276
285
325
337
317
376
295
238
320
362
286
352
374
329
270
267
386
364
378
294
313
314
257
360
376
365
376
265
288
293
345
319
300
373
313
313
371
341
364
257
216
234
314
273
391
391
327
332
346
335
356
340
366
305
318
334
343
290
340
211
360
352
201
301
282
341
308
341
208
361
366
263
339
282
329
329
384
279
287
391
387
318
364
218
265
323
353
364
369
329
296
372
310
330
293
348
303
346
305
258
310
268
276
375
290
291
285
398
348
262
322
339
298
262
394
274
283
293
339
336
349
263
305
320
324
350
303
299
309
357
333
353
301
231
329
238
333
332
249
304
341
300
317
279
289
284
352
266
371
303
401
302
365
325
333
302
306
274
239
280
338
351
242
213
247
270
286
380
295
310
376
366
342
352
364
289
333
310
368
315
343
342
255
368
296
313
378
318
319
444
319
407
359
371
258
336
342
351
323
343
265
228
309
394
247
276
359
274
259
299
318
339
315
277
301
285
356
228
364
338
267
346
247
299
299
392
273
373
324
245
285
370
313
296
282
273
305
394
322
372
320
296
286
330
319
298
194
278
262
406
226
312
363
350
272
242
268
279
311
304
306
290
300
323
378
321
248
293
319
308
345
276
318
249
352
319
286
369
279
328
339
345
243
280
236
397
389
352
220
313
268
297
335
289
314
332
362
386
280
286
327
326
332
335
273
341
345
364
301
269
324
326
279
330
271
299
369
331
381
241
325
371
325
312
367
297
330
317
354
257
301
323
328
313
321
326
377
316
368
334
440
303
255
312
362
335
306
294
285
344
311
254
285
333
375
338
266
305
316
343
287
331
372
256
253
303
258
313
294
392
285
287
261
401
340
266
331
324
368
259
251
314
359
210
305
396
317
394
359
288
322
330
321
328
355
300
362
386
286
292
333
249
313
347
266
234
272
281
326
293
294
321
360
360
303
273
361
321
359
325
358
186
305
298
308
360
302
412
374
339
350
262
328
314
299
306
273
300
308
263
371
312
302
242
322
272
304
253
270
340
348
380
342
389
382
299
296
346
279
261
266
403
302
317
258
264
362
378
362
280
311
290
268
343
363
312
389
212
360
269
328
320
359
403
354
308
344
352
377
276
280
299
288
315
365
358
374
378
299
267
325
289
262
411
320
258
377
408
253
276
282
263
281
312
357
277
329
340
258
371
354
336
273
352
318
356
320
309
362
264
315
331
358
365
324
289
329
349
328
295
252
382
376
243
345
421
331
398
317
315
221
341
271
219
279
328
273
291
332
378
331
313
291
325
331
282
256
395
343
374
218
244
329
309
300
371
240
314
368
422
339
321
369
363
348
283
297
365
299
299
310
339
290
230
393
322
335
264
296
364
304
276
294
306
372
324
304
282
209
381
363
286
308
332
325
309
256
307
334
339
308
317
333
346
356
357
331
359
345
356
343
356
378
296
241
302
283
242
320
263
280
338
356
318
337
241
317
271
337
269
286
408
339
360
328
305
287
336
354
362
317
400
360
252
248
303
352
317
259
346
274
286
319
217
290
273
361
294
323
276
307
241
336
403
446
260
420
348
362
346
282
385
304
358
320
345
281
291
371
257
366
288
363
263
321
305
254
303
265
356
342
346
335
280
358
279
342
322
325
359
258
328
275
289
331
332
345
388
335
323
273
333
326
374
310
266
297
298
315
341
299
286
245
298
308
328
360
279
283
278
326
366
247
295
396
349
370
351
239
274
373
259
308
321
308
355
324
410
311
289
341
350
383
319
373
203
376
278
336
346
306
322
322
366
261
291
345
294
283
349
279
307
341
275
349
346
335
262
308
413
277
307
430
296
282
307
315
281
376
338
353
317
338
376
320
220
305
355
274
310
355
365
276
349
295
410
344
221
331
287
369
332
337
340
369
396
366
392
340
296
309
323
309
275
376
292
255
273
304
368
315
319
312
346
316
353
398
348
302
342
274
305
297
369
346
374
338
387
395
343
346
293
277
327
326
382
386
331
256
353
298
397
413
269
418
389
313
270
295
316
418
339
342
285
294
306
321
318
265
301
327
293
411
330
229
262
313
311
351
326
278
305
355
334
321
309
317
344
314
399
342
288
315
324
339
300
287
270
379
295
335
233
363
312
304
348
380
297
363
419
294
188
272
327
347
287
295
359
322
286
267
369
308
356
410
291
323
383
242
292
302
248
359
303
230
355
273
374
283
393
314
311
315
365
327
280
336
327
331
286
344
323
241
357
321
396
313
389
353
280
300
345
360
226
338
301
349
414
377
276
402
330
319
374
354
268
296
264
273
336
352
224
321
339
321
301
300
276
383
277
269
322
347
344
353
328
364
254
325
365
396
371
361
254
277
334
435
302
381
345
351
318
299
323
308
277
334
260
332
318
266
299
254
242
276
306
330
308
260
289
319
237
381
260
335
304
347
304
381
303
335
357
321
336
442
334
331
300
388
320
336
267
293
270
324
253
285
336
363
327
260
236
329
321
367
314
381
349
330
362
250
403
349
306
397
338
315
390
339
329
272
400
279
343
354
282
354
380
360
299
340
311
338
379
314
356
414
252
322
304
284
350
313
297
293
342
351
260
294
323
352
325
348
305
313
276
311
306
313
356
406
285
324
255
294
376
313
331
302
320
321
341
297
338
345
373
321
358
304
333
363
365
344
397
306
314
384
329
323
340
331
301
338
324
308
332
338
330
309
265
349
336
258
274
405
331
317
308
317
362
356
347
273
351
282
307
314
325
336
352
347
354
298
327
326
296
384
285
370
397
322
402
368
334
370
343
292
320
369
286
350
293
320
293
268
311
324
359
312
338
272
409
335
249
284
354
306
277
334
251
320
387
369
383
346
246
386
357
307
358
302
304
358
260
283
318
318
341
302
325
295
229
343
289
261
352
367
303
355
250
258
320
361
270
386
319
317
378
371
324
306
365
284
332
324
234
385
352
365
345
356
245
271
368
202
301
296
363
394
391
271
376
354
397
369
315
326
313
336
428
252
339
368
361
200
232
378
255
357
304
247
312
382
236
333
306
327
373
307
361
320
290
395
359
316
376
281
302
329
300
279
356
318
309
306
302
339
254
312
308
271
376
261
379
326
322
278
388
263
254
334
324
308
254
350
323
352
331
314
385
362
291
329
343
340
294
342
241
334
352
228
327
356
287
448
353
339
384
320
358
333
274
364
365
256
352
293
278
308
286
332
361
223
304
286
355
255
334
342
359
334
299
309
303
370
296
367
346
386
329
333
270
421
334
294
306
283
261
301
336
285
314
279
346
345
312
307
392
372
319
325
396
278
269
248
429
387
348
245
336
368
396
304
264
353
383
303
325
308
309
370
228
210
235
323
316
299
339
351
325
313
363
323
331
364
283
251
244
347
348
274
251
333
295
234
305
282
245
198
382
328
304
275
371
332
296
327
340
296
305
342
302
273
341
330
338
244
296
395
367
385
311
441
277
331
314
273
304
298
362
296
367
381
298
316
298
340
284
400
268
273
302
345
290
361
291
340
319
386
388
368
355
338
269
373
317
331
345
423
355
319
340
316
263
330
348
294
332
377
281
355
370
281
309
352
348
366
366
291
418
288
382
348
300
324
368
249
269
259
321
291
308
380
343
349
291
190
309
322
283
350
275
295
308
293
277
376
345
347
353
326
308
390
261
368
343
351
329
331
334
331
344
296
248
286
370
231
381
323
265
272
381
277
386
300
353
344
325
366
347
259
340
310
298
341
378
353
383
345
376
309
345
363
398
345
339
394
245
301
331
322
368
343
273
348
381
365
351
331
366
330
271
229
352
287
333
265
333
404
357
397
293
355
346
329
360
338
324
308
329
299
294
295
318
371
295
335
354
336
321
347
368
343
318
354
231
221
302
324
320
354
286
270
311
341
295
305
313
366
351
383
186
347
243
358
319
220
315
145
274
375
360
347
370
330
372
283
272
274
363
379
384
342
273
345
264
237
268
262
236
336
361
360
264
318
317
335
316
327
349
300
324
355
262
418
360
307
334
260
362
255
399
390
447
366
294
378
326
297
249
313
261
316
293
256
228
353
339
378
345
387
377
283
242
311
319
234
410
297
336
358
272
273
318
316
379
283
270
297
335
407
329
369
313
292
304
378
433
302
353
314
364
326
364
329
233
368
320
351
223
368
314
322
282
237
331
341
355
249
290
325
387
269
409
347
354
347
351
363
263
325
338
350
354
342
343
287
300
249
259
278
296
331
334
323
355
286
300
353
304
344
333
334
333
264
278
302
384
293
342
299
233
256
266
344
299
354
250
300
305
321
311
366
296
334
334
313
324
308
223
348
337
333
286
383
336
328
283
268
348
324
265
323
228
241
265
312
260
344
245
385
317
407
351
294
363
296
392
337
333
383
294
308
351
362
276
353
283
397
302
319
312
306
305
282
316
325
386
340
370
302
351
306
326
275
271
327
319
368
309
284
214
328
284
357
340
360
289
289
240
315
340
267
273
284
274
279
301
355
301
333
347
323
308
307
355
311
288
311
344
316
249
391
379
337
290
350
302
368
355
270
406
336
295
345
290
304
382
336
312
314
233
347
305
276
343
307
347
336
205
301
321
389
288
273
351
296
270
292
331
275
314
325
298
302
379
294
270
397
364
313
305
250
327
342
358
308
282
288
306
297
299
374
370
431
285
318
316
287
303
309
370
260
259
351
311
261
369
211
335
328
333
335
333
288
251
337
347
288
336
270
249
321
314
274
345
349
379
318
272
323
287
332
303
384
379
376
273
237
307
245
269
268
366
350
293
268
299
301
304
360
323
358
385
267
276
224
303
266
368
300
350
352
335
326
322
310
273
216
219
241
247
277
222
285
396
260
388
231
310
312
327
271
270
257
349
284
290
353
362
316
254
360
285
331
331
305
310
333
375
312
328
306
304
334
411
354
348
431
330
327
318
393
323
364
280
270
351
322
376
244
276
298
276
313
310
304
278
290
339
352
373
235
270
322
326
310
303
300
328
334
387
321
328
282
347
372
361
322
260
292
366
402
385
333
337
254
295
292
310
310
292
292
347
337
380
335
311
290
321
317
266
373
368
353
327
329
322
324
266
261
278
321
289
343
260
305
360
358
334
294
313
331
366
297
367
271
291
248
432
408
270
302
284
281
329
308
276
254
226
259
246
321
304
337
197
307
315
316
349
353
293
313
324
322
314
320
246
325
339
335
310
263
322
311
334
321
429
291
296
320
248
261
312
341
360
347
304
332
300
319
365
325
295
348
374
410
350
378
312
287
289
328
293
259
320
283
296
293
322
294
311
239
340
259
351
310
282
343
329
394
333
308
268
273
209
283
339
350
290
267
306
387
307
297
346
324
303
312
217
358
357
266
377
302
317
316
313
355
346
325
311
364
301
291
271
239
279
334
332
293
308
335
370
345
325
326
340
237
292
385
331
375
278
292
285
305
302
288
280
348
342
336
332
325
338
416
262
329
353
314
332
335
246
330
255
301
260
318
368
337
348
232
354
220
281
175
275
333
344
302
316
269
374
346
231
267
261
311
305
324
354
278
344
331
362
299
191
342
317
337
408
282
324
282
336
277
343
317
339
360
245
281
299
372
332
383
275
212
326
339
285
190
395
255
260
324
322
350
345
313
288
321
355
240
318
324
301
203
295
282
281
339
341
344
380
337
304
304
366
231
346
250
376
297
327
330
274
288
388
357
372
301
361
355
343
404
349
315
334
263
292
339
247
324
288
358
334
331
294
308
341
401
233
217
273
377
395
382
320
218
306
349
273
323
398
390
301
359
342
278
305
277
368
299
358
326
414
373
322
385
354
350
331
334
373
306
239
304
327
254
337
354
279
378
334
324
376
198
266
345
246
205
305
281
250
309
326
327
234
346
293
288
308
318
353
392
282
334
321
391
354
350
310
314
225
258
302
263
274
323
370
391
363
347
259
272
263
301
359
304
346
342
321
374
293
300
328
306
329
292
301
279
240
242
323
265
353
230
358
313
307
264
295
340
306
318
298
311
358
273
286
336
271
266
285
351
246
358
397
333
314
369
273
312
345
315
316
355
330
331
310
315
388
316
373
318
332
290
319
326
230
376
365
340
321
341
351
355
300
343
256
275
382
293
348
299
247
342
391
435
270
257
296
261
337
351
306
303
292
325
316
288
315
344
317
306
322
265
296
309
312
237
216
274
276
252
394
371
286
249
269
311
338
372
284
335
282
338
284
313
353
397
332
294
310
328
317
321
302
299
339
353
319
371
245
339
265
353
227
322
407
317
277
284
227
287
336
382
350
319
362
209
331
305
306
266
219
309
243
296
308
330
278
282
355
295
309
338
349
401
365
358
335
338
354
336
360
270
301
315
298
332
269
334
348
280
314
356
332
349
344
314
315
289
344
316
377
333
319
248
277
350
325
312
345
313
338
314
327
291
302
245
431
307
310
316
355
264
278
362
282
352
310
291
273
246
261
274
269
401
250
296
283
332
286
417
284
299
281
401
319
367
355
264
294
269
286
328
335
361
325
313
372
233
368
316
250
346
363
300
285
351
310
275
290
288
311
328
264
306
281
315
483
307
283
316
315
279
310
311
265
329
333
317
237
319
280
245
260
269
307
303
320
312
313
269
238
314
338
281
266
258
326
256
371
344
265
296
276
310
265
249
265
314
319
308
318
262
353
347
292
310
301
302
298
309
262
279
388
387
367
407
331
257
228
260
304
302
300
271
266
306
329
273
311
289
320
307
335
280
340
361
394
312
326
300
362
309
226
287
296
303
303
243
271
365
348
292
405
292
241
340
297
295
290
260
332
304
253
359
342
323
362
267
261
316
313
347
331
288
368
383
359
327
276
410
353
264
287
328
277
316
308
281
283
315
348
296
377
376
296
423
305
217
331
379
339
319
283
331
324
297
303
363
261
375
305
230
332
364
323
300
289
276
381
331
246
302
269
205
274
328
273
324
307
340
331
292
344
302
369
286
348
324
390
304
381
351
275
301
266
347
214
392
383
218
304
343
347
338
263
333
301
315
262
293
271
231
336
253
303
332
326
245
309
345
327
303
250
303
293
355
234
335
354
374
297
287
349
324
329
257
333
318
307
410
405
303
292
363
370
282
351
227
360
276
337
302
293
330
327
358
308
267
329
298
325
285
285
334
237
348
372
387
195
258
375
260
315
347
422
341
349
359
268
292
255
264
394
333
337
326
324
332
358
325
325
358
275
284
322
335
269
383
294
327
362
362
319
244
345
341
347
294
274
316
282
311
309
288
208
290
351
281
341
373
351
303
403
357
364
171
325
286
264
382
274
316
311
340
282
350
385
301
385
291
347
293
323
314
265
300
362
324
368
417
252
279
451
345
387
265
444
358
236
317
308
280
270
325
283
379
314
289
296
356
336
297
257
429
353
327
312
295
356
307
337
379
325
367
364
335
343
343
266
326
352
321
417
262
250
381
346
340
328
388
279
301
367
293
355
345
298
362
304
304
327
348
263
317
324
383
272
277
314
265
310
284
363
340
270
329
333
275
318
323
319
318
287
316
228
290
274
268
399
354
329
276
375
311
265
332
252
279
266
287
298
384
309
414
385
316
325
343
306
262
368
334
360
261
295
342
350
328
247
273
307
285
344
305
216
411
345
273
326
329
352
342
357
291
295
367
312
317
358
263
277
301
263
330
394
313
298
373
287
285
311
263
300
391
301
323
316
299
272
280
294
323
287
333
365
345
282
256
186
236
249
345
369
334
354
276
387
309
267
270
279
316
243
381
318
321
270
274
302
335
329
295
253
332
339
315
355
372
334
357
272
289
288
298
351
272
263
300
245
306
340
222
247
318
328
282
344
334
310
274
328
255
358
386
278
294
232
307
311
298
312
297
396
395
365
327
324
336
316
276
269
209
333
304
323
351
312
325
270
361
295
275
370
224
325
371
275
306
289
312
265
376
355
345
315
259
326
371
311
324
369
298
280
328
246
335
223
346
319
298
347
306
374
334
296
344
306
314
247
300
305
350
239
299
301
313
342
343
288
335
314
300
273
289
301
354
307
357
338
342
386
297
304
306
306
293
359
254
314
279
400
308
337
309
333
392
260
356
269
371
308
281
246
303
315
265
298
260
295
332
341
295
324
238
380
349
323
360
370
346
294
293
269
237
332
280
407
296
329
365
350
255
305
376
272
311
386
289
318
245
409
293
345
366
254
313
319
273
309
339
189
366
210
319
377
325
334
300
247
343
338
313
251
331
272
314
402
312
313
384
375
234
211
354
337
296
266
240
354
288
335
303
409
340
239
198
341
276
412
356
283
345
262
306
370
306
344
258
380
291
294
305
283
376
309
282
329
268
377
281
227
288
286
276
319
336
232
299
288
330
280
297
241
295
315
341
318
352
334
295
241
316
368
321
303
392
268
363
316
422
262
262
358
312
304
306
267
276
365
328
298
370
375
324
327
270
303
258
293
430
329
330
358
263
315
261
291
278
289
357
382
392
371
321
360
324
346
360
446
276
269
340
293
272
252
346
322
293
312
290
343
219
366
282
340
296
378
305
336
373
400
362
382
329
366
366
295
263
294
311
250
290
273
320
336
396
334
289
341
282
346
311
329
329
390
267
288
350
307
389
312
256
328
252
345
358
300
369
259
260
336
368
370
358
330
383
347
317
258
365
267
248
370
341
266
344
408
356
264
365
352
274
343
350
354
370
343
350
266
365
347
268
449
388
218
343
320
282
337
344
264
273
318
345
395
268
223
279
358
394
330
375
313
351
325
258
310
315
319
279
306
267
295
355
244
302
289
337
346
311
365
275
355
313
192
295
316
374
374
354
412
397
358
339
295
311
332
283
260
359
332
309
365
326
340
270
344
280
330
391
385
342
283
351
291
342
281
270
306
394
365
250
266
369
295
209
338
215
375
277
412
383
321
287
303
300
262
254
305
274
359
244
293
300
315
342
411
369
219
338
297
321
261
259
397
344
274
330
345
352
317
291
344
290
382
297
379
302
328
304
299
299
292
359
248
274
294
245
320
317
353
316
276
349
330
248
311
319
335
345
319
369
341
344
281
337
353
235
330
301
325
239
305
319
311
310
259
335
335
351
246
326
382
364
298
323
331
342
290
346
377
268
299
358
297
347
362
322
366
368
277
325
297
321
265
256
332
320
315
312
403
256
286
335
378
353
222
282
312
331
393
313
323
319
320
346
267
280
356
300
274
314
318
296
338
332
285
283
397
332
295
330
334
300
408
340
279
212
307
305
327
312
293
295
343
306
361
311
298
345
243
226
367
306
280
232
360
328
330
299
349
280
337
265
321
345
356
371
396
290
335
377
314
412
324
403
274
318
355
341
260
339
266
324
303
338
322
367
323
334
231
282
358
309
366
322
281
384
280
351
358
268
222
365
290
339
369
392
349
249
346
248
292
350
397
294
361
314
328
316
298
309
256
267
258
307
366
321
356
376
351
276
387
381
295
380
284
286
277
307
310
296
362
300
308
301
324
378
385
318
403
277
362
275
359
352
381
287
258
368
257
362
280
276
345
303
409
255
295
270
306
325
315
347
347
272
336
313
311
322
348
379
240
366
323
236
345
231
310
203
290
299
281
256
295
339
353
274
384
271
320
349
233
344
250
343
360
262
396
372
277
338
275
288
258
338
316
235
343
349
301
313
370
327
226
404
227
396
309
316
304
325
332
361
367
325
292
314
415
315
344
319
371
375
336
359
332
259
324
365
265
234
327
331
360
279
297
262
334
351
296
257
409
270
368
270
279
321
379
307
264
274
257
309
273
247
321
183
293
311
372
294
343
348
258
292
412
314
326
338
412
292
328
294
281
307
315
300
310
298
350
276
317
349
205
305
360
297
279
345
286
291
393
304
260
343
331
243
272
401
363
312
215
342
232
271
323
321
309
259
215
344
294
341
221
376
361
373
361
334
320
272
308
350
243
307
332
296
343
252
252
313
256
397
301
270
342
291
243
258
357
269
284
329
301
263
327
345
357
309
268
279
321
277
342
380
315
346
313
261
307
306
310
385
427
329
333
311
321
269
394
293
292
244
381
386
349
376
356
344
309
298
230
332
347
312
369
403
311
337
345
294
286
350
425
229
302
306
270
268
305
273
288
264
364
336
326
305
312
274
242
286
330
304
327
337
316
260
316
226
229
336
316
284
365
262
397
308
395
349
286
268
303
307
289
368
242
331
359
389
196
252
309
352
212
324
347
230
304
342
240
340
349
304
309
353
265
375
329
414
293
315
286
352
285
312
306
354
263
309
328
319
316
354
373
366
304
324
348
328
340
259
328
284
336
289
303
296
373
292
347
380
289
296
312
357
382
317
290
309
307
311
350
279
252
305
275
244
345
254
290
340
349
314
287
329
320
306
355
289
257
334
301
341
237
357
296
250
313
381
316
261
295
311
291
346
345
271
326
257
381
361
422
312
316
383
405
339
298
385
327
296
388
261
353
318
297
297
284
410
283
344
369
375
297
316
315
292
303
308
388
350
313
297
385
309
381
292
309
332
374
298
393
334
352
349
278
322
405
329
328
310
352
267
261
276
253
323
315
257
275
354
321
287
297
354
347
397
296
313
341
321
280
262
307
266
287
268
274
360
354
242
359
255
324
258
333
269
251
357
326
335
313
335
273
393
328
342
310
287
368
356
338
337
286
335
236
335
267
367
307
312
343
303
300
381
246
381
248
329
329
315
363
371
247
245
329
369
278
345
367
289
301
276
382
263
312
375
280
292
230
356
288
254
301
296
361
326
373
342
318
279
313
283
286
362
311
261
390
335
319
344
375
355
397
298
364
271
383
327
329
322
354
270
273
360
317
275
276
397
344
289
257
321
389
336
324
327
280
287
325
265
323
348
297
275
291
391
336
283
295
268
324
326
311
295
256
316
340
310
250
349
388
344
256
322
234
411
327
353
364
219
282
366
327
371
287
270
375
365
303
344
384
350
287
342
319
235
404
342
308
274
251
313
347
301
202
270
320
369
221
302
294
262
271
372
373
334
318
353
357
364
363
409
314
304
296
370
309
321
335
345
264
326
281
340
307
298
316
298
325
299
308
268
303
325
279
331
300
298
322
340
369
342
287
356
312
283
328
236
338
255
280
252
300
302
334
294
315
353
332
333
298
348
293
354
263
294
357
338
345
306
334
314
364
332
234
352
332
383
269
307
290
315
269
303
331
319
329
360
317
330
320
255
302
267
311
254
336
310
277
208
255
248
350
262
377
358
279
392
244
387
283
253
366
224
302
329
357
206
367
373
370
278
285
317
318
234
316
237
409
285
274
317
265
290
327
356
351
342
298
276
313
284
282
273
362
373
256
342
253
257
324
324
238
339
382
317
223
201
317
291
306
350
277
285
303
353
325
302
256
295
285
240
384
364
341
336
357
293
250
240
243
324
289
270
369
316
296
385
310
259
279
329
342
394
323
255
327
283
371
290
334
366
319
315
318
321
378
305
259
402
320
284
420
301
347
271
264
378
348
282
319
360
329
363
354
370
324
328
246
339
407
311
376
314
334
330
330
332
233
309
209
329
286
298
306
325
312
400
277
325
347
313
376
315
379
283
286
235
312
279
313
362
318
383
313
267
318
385
322
294
336
295
340
247
272
359
298
333
355
242
333
251
309
330
329
321
336
368
350
296
303
295
313
367
314
303
352
351
437
326
358
379
359
304
277
366
349
355
250
316
278
328
215
298
302
316
349
375
290
307
259
246
181
379
267
262
304
367
299
293
341
337
265
324
323
370
360
259
301
287
390
286
329
336
437
307
368
309
348
276
287
270
309
218
432
376
324
302
302
271
438
313
328
234
266
403
302
372
332
307
285
239
366
339
286
359
406
331
345
316
281
341
314
384
264
345
358
329
271
287
344
314
326
305
411
252
264
353
264
330
347
325
297
278
380
251
284
341
414
355
329
323
340
374
309
288
285
330
384
359
308
338
334
340
363
281
272
316
374
340
341
218
311
370
251
262
357
289
312
298
268
222
342
260
252
287
316
325
333
284
298
353
374
344
317
331
326
353
258
350
378
333
270
416
269
366
343
315
347
234
241
303
315
298
309
335
288
290
267
312
283
337
353
354
394
343
264
205
285
326
359
221
346
257
316
286
292
289
321
259
317
332
307
397
323
377
310
370
303
286
390
283
265
274
310
352
250
323
287
344
336
368
388
330
359
300
328
232
281
329
272
253
279
302
303
258
308
292
307
269
368
308
359
370
301
353
285
334
350
304
251
258
296
313
364
297
305
315
293
345
337
262
312
266
330
295
288
341
250
346
316
291
338
360
344
291
366
265
301
333
321
339
339
281
338
273
299
284
378
369
383
374
333
334
294
363
314
254
376
355
335
312
327
294
295
323
288
310
262
347
340
231
382
305
339
346
343
300
282
255
404
351
278
351
314
261
323
343
294
365
334
341
325
329
302
307
345
393
314
391
276
294
373
353
318
296
317
276
282
284
292
333
250
380
301
311
385
357
321
373
292
270
360
341
352
298
358
329
320
359
339
320
253
336
258
330
308
289
251
343
371
366
321
341
333
322
332
414
312
313
368
271
332
311
327
367
243
334
310
336
320
300
365
349
274
282
289
371
246
257
297
249
361
336
341
238
372
254
353
320
352
298
265
259
367
324
350
349
348
294
287
274
318
317
336
361
333
313
355
309
308
373
342
338
325
280
260
229
241
357
310
329
301
229
404
328
266
253
379
322
313
368
364
292
305
283
371
372
309
300
329
279
351
231
280
355
322
290
275
260
343
339
295
278
322
299
317
403
329
320
327
336
280
337
333
294
349
353
223
333
273
326
391
373
325
281
309
233
244
363
292
277
377
330
329
359
264
350
260
333
371
356
333
313
303
257
247
340
261
295
235
246
341
269
267
347
284
364
324
417
232
302
267
274
274
334
296
334
328
343
364
326
343
341
329
284
360
398
277
329
236
273
296
331
346
287
364
363
309
344
310
231
393
329
305
325
347
269
340
352
260
326
400
274
323
386
323
359
263
321
364
275
335
294
364
406
322
291
230
290
290
271
319
341
323
326
284
361
305
342
282
323
350
361
263
263
327
386
374
367
340
281
379
339
275
320
331
340
327
317
283
280
303
321
304
218
323
250
299
260
338
326
357
289
350
293
278
229
324
260
354
394
403
318
331
375
317
310
363
341
222
268
332
341
354
375
343
346
284
318
254
256
369
285
342
241
381
315
348
320
315
270
211
342
294
374
332
248
306
325
287
316
337
329
408
288
292
318
378
338
350
324
277
267
343
348
383
345
390
258
263
384
265
269
339
313
304
272
296
306
391
286
279
320
332
363
366
218
368
280
272
377
290
322
342
278
352
399
321
360
213
313
320
354
328
283
260
281
293
327
342
329
377
218
222
264
380
322
328
290
362
334
281
347
333
321
401
359
318
352
366
296
307
299
317
355
298
392
302
329
307
284
290
257
398
310
380
423
386
349
364
402
225
318
341
398
308
407
373
345
270
319
320
300
319
293
357
335
307
229
271
378
322
309
261
336
300
388
239
346
333
339
251
324
368
366
274
419
361
288
355
307
334
196
337
318
340
315
315
332
263
333
412
255
306
365
299
298
283
353
357
367
270
254
252
278
327
294
273
258
309
329
364
375
335
320
281
375
281
331
279
350
372
269
273
248
219
423
345
377
328
370
355
351
302
375
287
409
315
293
352
346
212
362
351
241
188
213
311
264
242
307
262
354
290
284
333
354
311
317
249
371
385
360
339
366
336
267
423
354
253
280
333
301
306
329
372
288
297
361
350
279
415
323
353
380
381
313
394
316
335
344
291
319
316
261
320
210
307
308
200
279
321
361
354
240
309
361
350
314
300
303
332
302
372
366
355
322
322
300
361
352
286
316
258
357
349
218
323
337
281
311
356
326
333
379
392
317
305
352
256
358
207
352
346
351
333
354
318
314
288
325
315
268
357
362
354
319
251
381
212
306
300
355
353
362
322
317
261
267
330
311
365
298
335
354
329
375
274
376
294
323
338
332
387
329
251
413
361
331
294
328
449
308
369
451
363
313
409
306
298
350
372
348
329
279
345
300
361
308
271
295
344
306
284
396
292
296
316
305
261
389
363
318
344
357
341
280
296
345
291
240
300
310
343
269
283
315
269
414
389
365
341
333
288
344
330
276
343
295
298
336
356
273
339
323
227
282
269
379
334
278
342
312
330
403
253
417
305
362
281
379
347
318
321
290
354
278
300
285
283
328
328
347
321
331
337
319
410
349
305
308
336
315
335
371
250
305
362
292
386
244
258
262
345
374
341
308
360
352
343
272
368
298
296
350
400
312
366
407
304
340
287
285
247
306
350
305
293
382
351
281
291
343
292
325
352
284
359
276
304
358
370
350
294
295
385
345
341
337
353
310
316
299
352
340
293
359
280
369
269
365
321
295
340
287
193
294
289
354
340
302
355
293
276
272
383
420
345
367
386
286
361
330
362
318
326
236
239
344
375
338
320
311
280
371
260
280
350
287
365
310
283
301
276
328
346
338
318
355
310
226
290
391
333
336
375
359
251
378
364
260
375
321
287
296
416
315
400
324
312
259
382
288
360
358
236
283
334
303
280
357
288
361
242
311
349
248
340
287
382
301
245
330
413
347
274
303
274
284
308
274
294
330
297
264
293
332
323
370
331
295
300
276
347
329
336
318
361
289
319
367
304
225
375
358
318
331
248
318
356
351
276
334
331
331
331
293
361
299
302
297
381
300
284
361
292
352
384
292
336
270
316
327
225
354
274
255
312
225
357
228
289
337
304
331
337
342
367
299
298
366
368
336
406
369
336
232
323
248
354
318
407
351
333
351
289
291
340
368
297
304
232
252
374
369
253
336
225
310
300
363
396
327
325
313
328
395
285
253
421
299
315
304
345
269
382
303
305
306
342
362
329
270
292
306
285
320
231
330
276
343
290
304
300
361
357
321
350
317
391
299
334
321
309
359
423
241
360
328
322
266
332
319
392
199
390
212
255
371
266
303
296
313
302
301
319
287
275
332
426
375
320
307
281
302
313
289
289
344
350
351
130
364
384
373
371
386
346
233
301
387
325
307
352
267
321
279
283
276
277
278
285
304
316
357
257
296
324
358
357
292
280
304
358
317
352
223
320
359
309
343
374
262
343
307
376
384
294
364
293
298
268
320
323
337
349
299
348
242
304
264
345
341
255
352
278
310
350
241
357
327
308
295
299
333
306
373
340
284
407
339
306
330
288
357
325
343
332
340
354
347
368
287
232
452
358
382
319
309
245
268
244
298
286
318
307
319
239
310
369
246
314
216
324
288
372
375
306
236
322
306
231
380
343
391
375
332
257
319
348
331
392
308
362
265
267
296
348
327
340
347
272
311
296
271
282
316
348
334
367
326
317
315
380
344
349
367
227
299
303
351
203
336
287
374
355
318
365
297
287
372
301
262
304
296
389
271
313
360
329
283
283
353
378
278
244
318
274
239
279
277
323
277
271
402
281
376
227
316
382
295
326
313
305
347
346
305
318
265
306
333
295
354
372
235
289
240
320
387
270
374
316
277
270
306
322
357
288
329
358
261
347
390
230
266
392
287
336
303
342
322
326
330
271
331
316
228
330
355
338
273
317
357
339
290
359
285
361
369
321
323
417
371
320
329
330
273
247
303
250
310
321
359
229
285
236
245
384
264
307
350
357
259
314
292
350
337
224
298
300
368
356
351
308
334
355
248
349
320
333
330
368
299
350
292
295
399
345
375
396
290
229
399
305
372
375
215
299
321
356
277
348
276
332
246
364
388
430
385
289
302
332
249
413
238
295
309
249
274
312
380
341
290
344
328
231
278
360
396
317
372
330
307
308
269
365
366
377
352
358
433
334
346
314
350
271
388
386
338
326
345
323
331
372
298
400
272
247
398
272
282
279
341
337
280
307
264
261
365
355
337
321
272
350
291
313
335
327
391
312
356
277
351
336
358
339
341
277
368
376
301
287
341
341
369
316
326
372
286
347
257
330
332
321
379
335
340
351
231
277
374
268
309
269
326
331
251
319
238
288
295
289
332
367
275
342
200
335
329
254
328
239
380
313
303
328
358
330
306
336
384
230
288
340
299
275
346
300
328
289
320
314
284
345
238
273
252
276
356
243
273
336
331
362
320
366
280
294
303
317
299
433
332
368
301
433
319
394
291
263
325
324
372
296
379
332
266
265
258
264
385
251
340
373
324
259
256
303
345
327
332
326
258
348
329
322
311
320
343
269
388
272
425
360
250
301
363
292
345
313
336
341
243
274
346
351
387
334
335
303
357
302
435
361
308
307
367
267
302
356
324
327
309
385
321
400
384
303
334
335
299
340
375
313
361
265
317
346
323
274
354
335
350
286
245
365
302
280
262
220
281
302
303
302
254
362
324
312
333
372
271
341
301
311
203
351
357
232
375
411
307
296
298
303
218
340
338
309
332
314
360
323
343
320
368
261
317
368
313
392
317
248
273
339
392
317
314
307
281
180
355
268
331
375
317
319
358
398
321
302
345
350
410
262
220
337
285
284
297
315
303
445
272
352
346
362
282
380
271
254
287
313
358
351
318
317
345
340
351
306
272
277
348
357
355
300
306
322
375
406
327
294
332
226
271
353
353
325
292
299
307
245
346
392
343
319
348
300
320
270
345
308
266
334
383
312
285
396
311
240
329
378
340
313
298
289
345
260
330
419
346
272
316
356
339
232
361
291
329
364
313
305
383
292
261
281
443
263
285
303
258
270
306
335
276
357
363
387
287
255
277
285
366
302
328
244
296
369
305
317
366
270
292
239
328
373
360
327
392
347
254
294
360
296
295
352
353
331
291
340
288
304
394
361
233
250
284
340
334
289
335
358
293
315
350
352
279
300
352
351
373
318
353
257
304
314
270
343
314
347
368
346
279
301
281
343
378
355
288
327
283
279
226
356
280
315
351
356
349
253
307
297
331
328
316
302
298
265
361
318
278
394
277
344
376
297
229
354
196
343
248
347
329
271
247
367
300
311
288
309
295
332
319
337
323
254
305
252
306
323
305
451
288
413
357
283
372
307
325
277
302
246
267
263
278
334
337
243
318
331
344
292
266
354
264
437
265
324
274
277
299
360
310
218
309
407
374
360
256
355
309
235
322
344
311
317
331
243
381
310
367
313
316
335
242
386
328
317
326
353
255
375
379
371
313
355
309
281
310
299
282
320
321
313
309
328
308
258
339
361
333
291
266
235
344
223
317
266
349
262
290
317
418
348
230
314
217
316
313
334
267
328
345
336
324
326
267
270
359
345
343
276
375
268
281
279
259
352
318
327
315
254
298
326
293
323
347
270
272
383
270
332
308
319
336
372
260
288
295
345
309
312
263
280
343
326
343
334
236
370
262
365
343
335
308
241
294
392
362
292
344
253
294
392
332
260
308
306
286
243
329
281
267
336
331
352
321
316
339
370
351
352
279
315
296
281
295
361
222
313
351
307
275
367
330
338
264
312
283
318
352
337
274
262
283
276
409
361
317
364
317
319
363
281
364
248
275
310
299
315
274
302
350
369
358
276
288
356
276
279
349
297
341
325
236
355
281
301
386
323
285
336
284
312
397
362
336
304
313
389
310
368
269
237
391
312
248
314
298
346
286
270
292
377
316
283
396
276
282
290
351
311
322
375
316
325
286
281
304
389
393
295
254
249
328
343
376
367
339
346
294
335
340
210
283
308
230
333
284
332
310
317
359
316
329
288
291
365
325
299
202
372
332
348
297
327
190
265
281
332
341
314
295
280
328
353
285
400
343
256
343
325
357
332
320
318
338
336
239
342
275
357
348
252
355
353
283
337
325
280
370
322
329
250
268
301
336
282
331
309
395
253
309
300
304
205
364
389
331
393
337
326
384
364
294
311
349
338
296
341
344
271
272
413
304
271
360
244
392
287
359
368
400
302
309
340
368
346
291
328
217
326
235
320
370
344
412
392
334
291
315
358
371
291
242
305
397
330
307
377
218
350
368
234
269
364
308
308
288
293
408
247
307
289
346
410
288
312
274
328
336
329
359
261
314
313
243
272
267
345
300
316
327
277
333
299
380
321
390
339
350
329
379
328
295
337
332
267
325
316
317
284
303
309
302
296
357
196
281
286
373
346
473
340
334
296
281
300
308
355
297
279
329
310
327
307
381
323
304
315
266
291
264
277
311
285
341
354
391
347
392
289
302
328
354
293
299
341
326
286
258
346
339
289
358
337
260
348
313
373
268
267
311
329
391
315
427
371
303
363
367
325
268
311
220
306
316
263
182
308
306
368
291
356
423
334
398
281
336
333
297
313
318
314
311
271
313
338
312
224
285
346
391
372
292
258
350
412
332
233
313
301
261
343
363
316
326
388
252
336
252
250
280
385
248
333
381
296
318
336
349
386
360
307
267
312
306
294
308
262
301
227
265
328
359
284
275
243
249
251
303
362
284
337
310
352
320
320
315
388
312
364
311
357
326
322
234
278
349
279
366
303
278
271
334
308
374
316
248
368
359
291
253
282
302
306
251
264
395
281
348
262
322
391
259
323
288
253
311
336
289
257
320
316
215
385
328
324
283
353
316
344
296
343
241
350
286
230
359
316
332
349
343
308
247
437
377
245
389
293
269
395
322
360
302
392
316
276
325
295
264
339
348
355
366
339
347
350
292
374
296
357
308
334
266
288
279
259
349
239
337
364
310
360
361
272
287
381
339
299
386
406
335
241
367
298
342
304
324
272
327
276
266
294
294
343
296
285
338
294
306
287
388
327
271
295
296
284
240
287
295
289
296
345
275
371
298
234
319
350
336
349
379
343
284
415
291
334
300
333
338
341
370
359
328
293
310
245
449
265
285
295
322
268
260
321
305
342
259
297
253
352
372
241
277
329
276
214
303
354
349
273
292
299
283
357
291
345
298
368
340
263
288
351
278
299
308
338
292
226
296
302
357
377
356
280
295
289
328
373
324
253
337
286
241
283
278
363
307
264
319
311
410
310
323
333
360
394
297
315
245
337
342
308
360
332
313
277
381
235
331
345
300
298
299
341
256
388
265
339
241
281
371
336
402
332
403
355
327
271
320
313
233
295
347
334
288
284
351
319
248
234
275
358
292
259
287
308
357
326
378
334
313
307
284
264
296
385
291
300
263
339
360
317
369
283
346
252
279
312
352
360
371
366
404
361
320
329
250
316
278
341
290
205
310
282
382
349
359
314
416
312
287
301
423
307
323
274
278
375
310
311
317
313
351
307
301
369
282
235
348
397
333
252
328
341
389
280
380
306
322
334
415
379
293
249
245
358
340
394
265
342
346
277
411
223
378
310
363
315
352
310
331
304
379
322
363
285
300
243
345
369
305
377
350
269
319
335
340
316
350
353
276
330
321
370
317
340
242
320
327
267
386
368
330
337
244
366
380
254
229
325
277
236
352
273
308
371
343
344
242
307
323
338
277
272
300
304
396
387
298
284
347
294
357
361
400
271
347
321
301
306
322
333
262
238
339
440
340
225
277
295
283
284
282
327
349
307
344
350
266
282
356
307
352
313
355
251
300
279
282
293
351
318
331
319
298
387
290
375
261
277
287
357
280
343
308
285
324
275
295
289
361
340
350
319
328
347
365
364
227
289
344
345
379
267
315
374
331
347
295
371
226
295
219
284
346
360
222
324
335
321
332
258
300
331
364
296
382
329
320
305
255
300
334
337
420
239
322
308
302
375
353
317
364
280
298
333
267
340
226
356
289
320
335
348
300
299
353
319
350
291
366
238
304
331
274
283
333
328
352
423
340
349
288
289
332
323
341
366
255
290
320
276
341
389
297
334
387
333
320
364
358
327
326
340
234
259
306
357
337
310
286
281
352
349
356
299
386
244
382
324
296
217
330
297
313
322
317
354
316
303
345
273
272
374
262
339
268
318
374
382
261
233
311
272
303
364
337
282
343
338
241
286
365
380
318
219
295
312
186
242
375
384
261
388
322
310
307
276
317
282
297
322
263
364
332
260
287
292
329
378
284
352
331
344
336
270
325
309
307
343
326
329
374
405
309
316
273
308
315
294
271
308
226
329
326
402
249
364
239
329
294
333
333
327
272
309
290
303
256
357
261
314
388
357
263
409
240
228
283
394
301
306
341
442
319
268
286
350
344
308
302
313
363
320
313
371
238
302
280
301
322
274
296
352
318
239
298
364
266
252
343
348
268
332
349
283
392
310
305
305
299
422
242
277
287
346
306
332
325
333
269
317
368
370
291
302
382
312
292
291
339
374
375
379
222
373
294
341
362
340
276
356
253
406
295
226
322
350
273
341
312
303
339
294
225
357
325
253
261
308
309
326
295
267
369
419
277
250
360
324
257
322
284
303
354
264
312
305
291
310
327
270
251
353
302
295
397
304
300
302
314
354
238
367
252
392
370
285
313
349
362
326
255
339
387
310
285
356
244
326
305
327
339
318
239
351
279
305
259
273
268
294
305
298
281
208
293
362
291
323
360
407
281
200
372
380
303
357
333
340
310
373
321
336
375
375
337
310
310
330
317
324
309
354
265
387
337
333
301
289
390
256
294
280
295
376
377
322
334
319
322
371
304
361
345
260
356
287
376
244
296
298
212
290
333
305
286
245
364
333
390
337
327
328
290
299
294
401
339
343
330
346
286
319
374
272
273
346
310
228
312
287
276
310
272
371
375
298
333
385
364
304
290
201
401
365
309
363
378
339
381
324
307
336
319
293
296
317
322
346
290
313
311
318
255
310
359
349
367
297
288
241
325
321
293
246
288
378
271
318
314
328
340
267
315
310
296
323
273
306
332
343
281
272
262
275
378
298
248
289
253
217
306
367
343
279
312
309
311
370
300
333
296
306
413
315
325
369
351
248
301
351
305
248
363
359
361
283
225
204
319
222
358
287
335
316
366
329
299
309
245
331
267
315
282
352
280
264
319
352
311
321
410
353
327
290
382
285
210
295
352
286
324
302
311
305
235
326
303
336
300
327
300
251
391
351
282
356
312
317
373
339
321
344
370
422
368
418
261
367
336
278
332
309
332
254
391
302
368
392
341
430
308
353
338
396
322
304
383
296
318
311
290
237
390
258
290
284
331
364
375
321
241
221
271
262
296
301
250
321
367
255
343
284
344
258
293
333
261
334
317
276
284
239
390
362
362
379
304
379
313
339
360
303
324
374
329
340
377
316
338
303
249
340
318
218
270
290
327
285
304
385
405
342
286
389
318
401
288
383
330
317
322
323
357
315
368
355
342
349
360
317
337
274
340
262
323
345
225
316
348
226
324
312
270
285
309
242
227
306
338
316
306
356
314
317
364
252
347
252
311
194
396
366
262
377
352
326
315
357
332
394
310
344
293
297
294
286
355
281
303
318
319
344
295
325
297
387
259
344
337
316
260
333
387
273
385
350
335
349
321
372
330
359
316
387
284
272
335
310
316
346
302
268
269
292
296
283
248
335
326
271
363
372
261
216
338
356
321
259
326
299
372
343
359
248
301
381
360
383
203
280
350
252
315
327
311
290
307
276
350
245
352
354
316
289
272
314
242
290
349
338
300
328
403
274
361
308
316
314
300
295
280
288
301
353
272
338
365
296
345
353
335
297
334
315
299
348
297
282
317
337
349
391
362
308
219
287
293
369
268
341
354
300
432
407
331
230
316
372
364
406
291
272
292
256
386
297
404
322
338
218
340
317
291
374
267
418
316
304
394
302
310
368
389
361
387
327
314
231
305
330
271
309
300
369
427
289
184
342
271
256
342
265
319
280
235
296
347
389
240
320
323
352
325
400
319
219
250
163
353
345
370
313
268
319
294
341
341
370
320
260
280
368
340
376
339
263
304
320
368
287
276
319
380
344
288
312
289
304
264
285
299
361
258
260
224
263
318
292
370
294
314
272
362
381
272
311
286
413
268
369
306
262
322
375
323
228
299
365
310
358
273
412
359
274
361
307
365
287
269
273
318
245
342
242
302
315
360
281
346
289
379
304
318
307
255
349
356
333
313
325
288
382
348
245
303
392
272
351
349
256
301
257
307
296
277
321
329
337
298
357
344
384
312
282
272
346
224
309
276
323
355
313
303
365
378
354
353
287
285
239
315
323
248
263
377
380
347
261
329
376
327
314
371
252
370
317
324
320
351
304
434
318
320
273
369
338
327
304
360
409
306
285
327
304
370
343
368
304
361
299
229
311
306
295
311
319
398
285
292
388
291
297
313
338
385
340
299
330
335
240
352
297
352
224
320
307
361
311
309
301
301
319
338
357
287
299
257
210
359
332
318
293
312
270
327
362
356
241
292
348
322
364
245
302
405
344
295
242
322
252
305
319
337
266
310
342
308
353
305
335
368
365
340
350
359
305
335
225
216
306
304
287
325
286
195
358
258
311
276
329
286
272
267
244
307
355
335
403
281
287
303
410
340
268
322
246
322
367
220
277
373
374
300
358
288
262
282
303
299
365
309
363
340
379
330
377
393
300
361
297
347
248
280
371
308
354
190
364
304
291
281
247
260
257
299
246
324
241
328
275
290
348
286
309
280
274
313
267
304
344
354
387
363
344
373
296
237
279
397
319
336
287
274
341
350
296
295
346
302
360
318
341
397
271
338
337
308
365
302
320
278
280
356
435
413
350
383
383
326
278
330
256
329
263
263
341
304
338
310
327
276
275
340
326
199
268
314
286
317
304
326
314
312
285
201
239
355
293
298
271
366
337
249
356
416
408
324
315
356
319
337
322
319
327
287
338
403
301
233
256
253
274
262
325
350
380
289
317
312
298
328
267
286
330
351
373
279
351
331
354
299
334
310
300
320
241
358
329
326
269
333
335
331
249
282
362
347
296
250
395
352
381
351
278
307
370
193
373
311
341
227
269
357
280
392
221
305
342
299
314
334
207
364
340
311
368
286
274
293
329
365
341
323
302
301
272
377
265
431
325
273
301
350
336
343
306
361
305
314
303
340
325
302
368
293
278
351
293
375
247
302
304
282
355
410
322
363
286
263
322
256
371
335
288
359
307
351
303
341
281
292
347
330
338
309
274
391
270
324
337
319
336
349
335
352
306
313
391
286
312
283
347
325
261
346
275
265
309
324
254
243
335
264
335
358
269
323
337
357
277
307
427
292
336
344
412
283
376
355
296
300
342
334
297
291
286
259
286
253
321
315
387
342
298
280
297
368
314
284
362
297
379
333
356
286
294
281
290
304
331
303
320
283
360
303
372
350
317
356
307
293
342
273
345
280
329
353
249
330
328
292
396
304
324
291
334
351
295
296
333
365
360
349
312
275
311
413
356
369
246
319
310
340
268
309
286
301
301
378
287
247
254
217
334
259
375
295
306
359
266
415
195
333
342
317
336
217
311
301
346
260
305
331
313
234
271
371
303
287
265
283
297
327
352
331
317
328
305
310
326
308
268
321
322
311
346
381
309
354
341
316
344
339
339
255
338
290
300
347
395
344
326
306
238
302
347
353
291
273
330
326
242
241
329
236
308
272
274
351
360
333
271
315
276
399
368
286
318
306
350
348
378
339
302
345
339
266
350
377
312
331
317
344
314
261
324
313
304
336
336
292
353
407
405
307
345
391
368
345
281
390
264
344
316
329
280
295
251
291
343
397
318
309
226
296
248
327
218
289
263
263
364
264
220
272
315
277
298
239
237
321
366
299
286
345
371
395
234
301
250
262
261
363
199
357
305
389
409
301
322
359
339
318
347
319
343
371
314
322
341
346
400
338
280
303
302
302
251
284
341
371
285
266
265
343
303
326
298
368
349
299
365
268
268
260
315
381
322
224
334
351
230
277
380
319
315
307
377
291
357
326
328
313
269
337
378
308
327
334
259
350
252
325
245
372
330
282
308
352
300
330
157
346
344
276
314
313
335
296
299
325
306
330
371
279
318
325
347
318
319
359
322
341
327
302
315
329
378
344
412
371
315
298
315
384
417
351
324
317
341
356
272
308
400
297
319
334
342
321
411
282
338
232
305
339
261
294
315
297
351
303
302
320
334
383
314
275
314
322
313
357
261
293
426
337
264
336
242
315
348
383
324
300
232
352
328
361
354
324
273
236
357
299
343
273
274
347
299
309
360
356
346
298
258
285
310
244
328
333
287
319
314
288
382
390
412
268
362
349
347
299
319
331
296
360
296
328
278
370
280
277
313
274
322
266
389
312
309
274
347
320
345
303
340
294
267
342
353
343
312
352
333
342
320
277
340
229
282
325
255
293
275
371
331
270
260
350
312
304
258
277
361
352
241
368
291
354
337
260
343
391
249
275
358
324
336
338
301
316
363
315
265
313
318
310
360
352
279
245
373
364
327
298
315
349
296
232
296
291
290
415
309
333
383
276
341
329
299
332
307
295
264
237
303
331
230
268
305
275
401
291
351
292
421
336
236
299
261
320
327
362
356
361
350
356
376
243
301
292
318
371
313
333
366
380
308
337
287
358
312
380
301
294
308
347
272
307
353
304
352
314
386
307
321
350
270
354
286
248
221
304
356
312
277
383
370
366
331
374
237
337
381
333
347
298
292
316
387
331
312
290
399
293
286
280
347
325
342
273
335
266
254
306
318
259
322
247
329
347
305
267
337
314
381
274
294
277
313
262
271
295
317
294
293
349
317
327
318
343
367
333
325
300
286
286
384
349
339
306
280
236
381
401
398
289
291
274
397
392
332
249
196
365
211
359
381
294
309
345
402
227
366
274
250
326
238
323
324
341
341
333
359
273
293
345
324
310
284
244
239
336
342
296
308
368
398
283
361
260
259
333
342
279
362
312
272
305
362
323
360
317
321
328
354
362
345
291
329
233
359
228
340
320
337
296
350
297
308
310
310
328
321
412
279
279
313
266
244
357
231
259
308
335
414
287
360
301
258
243
330
295
338
331
268
319
337
386
391
209
359
320
255
275
255
279
354
293
301
409
353
250
194
375
346
306
323
254
311
292
317
353
306
211
300
349
290
338
266
368
279
249
277
305
402
299
331
312
279
316
364
301
254
357
293
242
269
286
373
337
354
312
308
249
390
368
302
328
318
302
268
384
219
308
366
281
277
311
263
335
339
280
302
334
373
401
283
262
267
342
196
312
351
337
261
318
396
395
306
237
339
314
277
317
317
281
314
310
336
301
273
362
328
298
329
305
348
347
297
377
327
267
312
358
325
297
303
241
354
333
335
242
354
336
291
295
204
320
267
334
359
292
314
334
360
259
324
384
338
326
283
328
324
406
245
348
342
254
357
334
307
331
349
288
292
352
377
324
333
391
269
331
362
261
204
314
282
326
313
378
343
295
361
340
314
374
298
370
343
327
333
143
279
308
264
311
336
313
359
326
319
279
363
295
283
325
270
291
381
266
339
227
362
317
371
203
293
330
250
288
281
309
293
345
260
260
321
285
261
349
311
195
279
308
281
241
299
369
243
288
330
312
326
321
317
252
268
377
319
309
365
267
296
287
287
321
283
304
348
385
278
323
294
199
289
345
435
296
244
354
316
355
363
298
284
370
294
324
340
302
309
239
262
291
337
308
354
330
410
286
249
323
382
259
401
341
345
228
364
406
345
318
309
324
347
371
242
304
357
316
356
279
320
297
269
379
281
318
264
398
312
287
284
348
296
212
332
321
335
423
380
276
337
327
332
366
315
345
400
289
317
305
347
284
323
327
302
341
254
295
336
323
303
395
365
343
363
279
440
324
322
367
405
330
311
318
379
359
366
295
314
291
287
324
388
363
327
323
328
319
347
288
365
287
303
300
217
277
299
368
334
354
295
305
333
320
353
300
281
358
373
323
339
399
336
304
303
285
312
254
334
351
368
318
392
231
302
301
260
333
269
291
339
317
317
306
346
376
339
407
405
321
319
402
244
348
321
320
302
281
325
278
289
279
346
364
273
271
269
279
296
275
377
326
336
317
299
324
313
270
321
262
369
269
329
257
277
304
287
363
280
257
312
276
302
314
335
345
344
254
373
320
292
289
305
328
346
285
308
380
322
338
327
342
359
288
353
380
430
379
351
286
308
265
277
324
253
326
300
342
372
324
349
333
367
323
327
295
315
294
339
338
331
399
303
238
329
291
317
337
268
391
365
287
320
299
328
329
343
304
335
361
340
284
400
317
356
265
300
343
403
292
359
228
355
292
323
286
318
292
269
237
347
379
261
340
200
350
345
252
344
290
317
349
360
242
280
302
306
322
246
295
399
377
354
374
277
320
332
258
329
324
238
351
290
272
285
283
270
254
301
280
422
257
299
304
346
297
259
393
242
360
307
324
359
271
344
322
350
308
361
334
348
379
310
343
341
362
350
302
380
281
356
286
294
328
293
327
345
312
318
335
341
352
268
318
319
267
365
399
331
283
296
389
349
358
352
388
356
304
290
341
348
278
315
253
331
303
253
303
341
337
256
335
389
383
328
347
360
246
334
331
259
321
253
280
345
273
240
272
322
307
358
274
384
332
296
394
358
298
292
233
358
269
301
344
357
259
368
338
257
349
241
311
282
323
361
354
308
282
371
216
311
295
386
293
270
430
364
376
402
346
348
364
303
299
317
309
291
277
292
292
348
291
350
365
328
345
320
306
319
329
358
350
256
293
399
371
329
356
287
190
326
326
335
266
363
340
275
304
292
244
255
324
245
299
316
309
300
272
326
323
333
311
335
265
281
381
372
260
382
360
272
334
265
375
427
350
376
334
326
377
378
349
347
301
325
295
295
291
228
380
257
293
363
272
308
292
262
265
321
330
372
349
405
303
346
259
347
297
349
352
332
329
308
343
367
261
380
399
287
254
402
363
280
309
362
357
283
397
342
237
304
327
294
229
296
287
301
301
274
349
327
323
251
344
294
407
275
342
265
280
355
331
269
351
370
322
335
355
352
308
336
264
358
329
324
290
296
288
233
305
254
346
320
351
354
350
401
252
341
328
329
262
338
310
343
301
308
352
255
335
294
268
231
275
266
315
366
293
333
322
397
293
333
377
292
284
230
321
299
385
229
339
272
326
364
309
332
307
366
374
322
320
324
256
294
271
228
387
395
376
342
369
356
362
388
319
313
322
289
349
229
339
323
398
324
248
364
282
396
346
353
384
385
290
334
244
303
389
281
281
240
273
286
216
282
342
302
307
307
380
356
297
415
268
323
270
390
333
331
250
291
304
297
317
289
266
260
362
335
242
349
247
276
246
345
276
388
401
312
257
299
282
268
376
283
312
347
128
305
363
229
413
340
274
348
329
328
239
337
311
369
335
314
289
301
298
352
246
311
386
355
367
328
305
308
280
362
385
342
288
343
357
410
267
317
250
329
392
344
375
333
317
300
330
339
277
337
360
324
337
247
331
354
326
349
305
346
365
304
335
378
277
340
297
329
302
395
310
272
322
279
283
385
328
310
319
177
332
285
352
368
313
364
292
353
249
315
328
314
326
343
290
338
233
350
265
323
252
416
305
263
303
322
337
337
277
274
297
327
340
309
342
278
323
290
326
355
382
302
358
378
352
364
262
375
355
243
360
335
345
353
270
305
376
320
304
375
310
304
390
267
273
239
353
409
333
302
278
312
322
306
304
312
327
397
437
286
319
298
288
305
365
258
335
319
276
356
271
271
356
268
287
257
305
321
253
349
274
322
246
338
363
320
340
358
339
330
286
252
383
303
331
327
312
340
350
260
330
390
311
382
345
278
339
359
298
299
220
340
405
358
268
268
309
312
331
284
286
291
284
318
385
263
333
319
350
354
387
224
369
315
331
313
261
356
321
358
343
346
300
358
254
296
341
301
243
231
317
346
336
391
271
346
254
302
294
286
334
291
304
322
281
345
345
379
318
260
308
404
306
281
372
246
309
353
305
367
282
337
315
358
347
417
383
340
323
350
302
317
354
292
321
318
384
417
319
327
345
349
301
312
328
284
332
359
333
382
395
384
387
256
343
340
265
331
304
371
263
346
276
299
268
334
283
227
347
275
301
249
303
306
303
281
229
356
335
349
304
292
341
315
293
370
345
253
259
267
334
301
337
283
299
323
307
302
404
337
310
292
336
304
360
339
339
341
333
367
302
297
266
294
327
311
329
339
291
186
350
311
288
287
270
311
388
323
376
350
371
243
270
291
266
389
230
359
267
304
300
296
274
298
282
299
315
319
236
333
304
289
302
254
259
275
299
294
400
376
238
310
339
257
290
336
244
302
359
353
361
283
367
288
318
330
268
393
272
304
332
355
381
303
371
286
299
285
314
312
343
272
315
291
323
308
416
314
365
315
314
364
368
325
318
350
363
381
395
263
389
312
389
256
306
358
237
336
342
329
305
266
352
382
301
354
157
321
331
281
302
352
337
272
310
220
289
287
384
265
289
336
242
354
304
376
352
351
296
336
379
310
370
293
245
318
340
223
292
276
359
336
275
294
297
298
311
379
301
314
312
307
395
360
287
308
297
351
219
291
381
325
361
256
309
323
317
289
279
390
314
256
318
331
363
287
329
329
258
334
347
348
388
280
293
312
295
401
310
295
329
354
349
280
255
266
336
245
294
315
324
201
264
376
413
357
321
281
332
354
283
257
247
334
361
303
282
237
443
312
335
368
381
354
394
240
322
325
276
321
282
343
299
376
366
327
339
367
332
302
391
311
294
249
317
253
232
380
214
221
358
295
323
368
360
258
339
324
321
410
251
341
379
284
357
357
309
393
387
309
243
334
412
226
319
362
339
344
260
278
262
345
367
281
288
273
328
348
329
392
244
227
276
289
336
353
298
335
334
368
284
329
285
259
306
304
339
305
238
243
430
417
309
401
346
324
257
302
296
333
360
369
404
343
342
346
277
309
366
377
357
406
292
309
255
280
350
285
281
327
295
299
322
380
256
253
379
309
346
347
313
358
282
399
345
327
359
273
319
359
258
258
347
292
263
277
212
375
283
344
261
317
381
309
360
346
292
318
304
265
380
286
205
332
300
269
304
293
322
289
261
264
279
319
256
333
343
389
250
354
281
344
296
391
313
269
301
255
356
326
363
323
417
307
282
287
335
293
353
329
402
250
320
313
299
364
325
285
288
390
311
387
280
347
324
323
309
336
340
336
306
290
287
255
250
262
289
320
344
302
249
314
325
222
334
242
285
253
277
381
327
319
337
278
325
377
264
255
296
288
376
266
307
270
246
367
301
378
319
361
311
316
291
316
302
305
300
339
342
325
276
312
361
422
327
294
393
303
265
402
336
339
258
321
362
309
287
358
298
267
308
342
336
324
272
308
294
354
287
388
328
348
342
236
315
341
271
303
322
392
327
270
357
335
366
271
328
272
236
283
415
351
303
325
369
254
366
293
354
345
362
334
277
279
292
318
286
244
307
375
237
353
289
307
278
355
376
296
259
228
268
327
333
411
346
290
357
339
349
353
357
308
331
424
354
335
356
352
286
349
285
385
358
314
349
335
282
356
235
338
254
369
289
296
344
316
362
255
367
283
221
362
225
338
389
285
346
316
356
338
445
360
293
335
380
415
314
306
229
264
287
375
321
240
356
359
287
279
422
298
306
258
315
306
311
284
379
362
376
258
332
269
283
292
284
323
322
366
303
363
284
280
337
282
275
361
387
200
318
339
313
365
273
347
274
242
257
304
286
314
422
285
343
329
212
264
337
361
387
301
370
349
362
212
351
361
344
345
345
242
377
351
347
311
347
295
353
315
311
303
349
303
340
302
259
335
302
311
338
360
309
317
295
212
343
364
350
418
287
337
327
410
279
292
269
336
345
317
364
312
326
259
344
319
188
269
306
278
325
290
306
303
288
369
332
389
307
353
407
291
332
360
231
386
356
356
345
347
290
309
282
248
292
280
272
335
432
328
271
277
335
358
327
309
348
338
305
331
346
252
295
320
284
350
295
280
366
323
355
375
324
292
298
340
380
325
301
398
261
347
270
328
387
298
264
418
350
363
250
350
351
263
336
289
331
367
342
319
346
354
248
413
292
420
333
382
305
276
326
296
357
308
246
215
317
293
264
263
302
309
362
349
314
311
361
281
307
304
269
297
219
269
306
280
349
331
298
339
354
362
382
220
307
367
291
370
324
328
326
341
364
321
362
326
364
328
331
280
306
278
376
332
338
362
315
301
354
281
302
320
282
339
390
335
335
347
313
300
277
377
339
369
316
290
217
276
351
270
315
351
366
291
245
345
305
326
262
286
312
350
308
283
289
321
305
336
311
311
245
292
290
386
333
328
335
259
365
298
381
322
295
287
345
329
275
319
321
357
312
285
341
327
361
343
268
390
225
308
353
327
328
279
337
285
364
366
331
309
392
234
264
251
292
337
311
272
322
369
324
298
298
267
328
351
276
287
348
257
353
316
352
282
301
209
315
299
320
251
395
286
379
365
291
277
292
297
401
351
279
389
391
315
328
316
268
370
260
343
309
393
273
333
288
420
253
276
303
331
293
339
303
332
198
349
269
345
396
321
376
326
315
285
372
324
277
341
285
302
334
395
314
331
220
411
318
259
303
361
341
274
323
372
291
335
324
303
299
342
357
270
315
249
280
357
326
280
311
297
331
322
341
333
366
270
373
365
347
366
331
320
318
379
367
349
377
396
332
378
284
300
325
340
292
309
374
337
327
278
276
365
306
294
342
260
368
283
289
344
278
263
386
335
366
335
311
274
305
327
354
257
279
349
302
279
414
323
365
325
302
355
338
285
372
326
310
305
255
315
308
293
282
322
366
385
342
355
330
304
287
347
385
313
361
319
356
297
308
215
289
319
293
395
401
299
302
284
368
331
303
271
329
279
278
299
301
270
207
371
257
351
407
317
284
324
265
385
225
303
343
223
353
307
241
373
394
326
253
338
283
324
358
329
307
309
254
285
342
235
207
285
316
328
397
315
287
268
360
318
283
352
312
311
290
413
385
342
362
349
353
345
383
352
322
324
263
282
308
316
308
287
302
326
251
307
257
289
358
334
343
349
402
299
333
283
307
273
244
303
289
337
290
362
365
318
279
360
382
278
273
238
336
303
315
290
231
267
314
225
245
323
316
284
430
343
353
374
317
326
267
343
290
394
330
269
283
334
292
386
325
285
314
321
253
311
254
292
307
365
333
364
262
304
308
289
264
263
355
332
226
330
325
304
272
363
263
364
335
315
302
348
336
282
282
372
296
243
351
315
353
281
286
349
233
299
351
363
418
349
249
375
309
261
355
279
259
418
352
249
395
319
294
335
339
397
272
258
345
271
349
322
324
332
284
406
276
337
322
277
341
340
362
328
364
373
344
274
362
271
312
317
277
326
323
268
277
415
397
335
373
303
328
341
311
204
274
281
361
362
266
247
339
221
304
225
290
325
296
410
306
309
360
398
301
402
320
244
266
217
312
359
310
308
375
336
358
299
333
291
338
284
272
366
306
311
371
302
354
334
352
314
343
312
336
262
328
325
305
320
215
284
326
285
282
307
296
219
231
280
348
360
367
278
335
332
319
244
326
315
335
296
359
357
419
322
379
354
289
317
345
315
309
338
384
252
293
247
296
337
344
315
375
377
314
293
394
407
240
270
315
276
334
354
237
383
253
288
315
323
402
351
290
376
272
353
288
311
306
284
225
291
267
340
306
292
344
303
347
375
299
303
400
327
334
324
363
307
271
392
312
429
297
353
393
291
339
367
364
409
320
278
367
400
332
282
357
373
328
297
314
301
289
325
312
305
337
339
379
371
348
345
293
344
333
305
291
353
328
269
323
356
339
361
362
295
346
326
379
345
298
270
314
363
348
305
327
297
286
297
315
336
316
314
293
295
274
324
345
373
303
276
299
325
278
308
313
304
299
314
193
310
316
362
291
278
314
326
365
291
334
287
308
308
358
311
405
331
269
359
313
266
318
374
217
355
356
254
351
306
280
277
341
302
291
362
337
344
319
330
399
295
397
306
265
360
335
329
427
352
338
372
306
307
288
334
375
313
277
364
350
324
338
352
252
276
382
359
329
312
342
304
331
322
327
340
287
386
357
368
383
302
311
368
336
245
357
285
294
284
330
277
294
326
266
302
301
268
301
317
301
388
334
263
322
313
359
347
359
375
417
318
288
300
324
367
273
262
389
295
295
277
369
240
378
305
288
399
311
306
305
350
323
304
350
342
293
396
411
322
344
290
309
348
395
325
277
279
367
298
337
378
225
324
399
314
292
266
353
403
299
369
351
332
369
353
335
320
427
338
271
345
269
307
305
239
350
330
267
312
317
283
357
304
314
323
389
301
259
337
290
377
248
371
285
346
277
343
322
358
316
302
328
243
327
323
296
310
347
418
333
287
368
342
353
286
343
291
334
293
293
365
331
350
300
351
287
291
353
344
353
347
343
286
260
314
333
344
256
420
260
390
314
335
271
329
265
281
290
289
368
309
348
251
333
309
349
296
305
342
244
373
316
300
332
265
256
362
253
341
307
284
348
263
358
341
405
346
354
384
309
303
361
346
358
321
269
367
265
369
295
331
315
256
379
296
320
257
318
373
323
337
322
269
342
281
308
346
323
245
315
316
303
335
366
311
313
317
341
237
321
292
298
289
352
264
275
266
348
297
313
393
311
321
265
348
314
351
294
334
381
238
256
288
281
367
205
290
272
351
334
278
331
337
329
267
285
308
325
252
412
254
306
255
368
378
319
272
312
341
371
268
385
316
334
293
393
322
347
297
326
355
285
296
333
294
246
306
307
279
335
341
252
288
375
297
308
326
372
317
316
303
359
319
303
324
317
332
281
278
284
348
310
341
310
356
378
331
268
298
307
326
340
296
367
362
337
342
268
294
296
405
295
332
285
409
332
407
338
291
239
311
326
245
380
313
349
351
287
303
284
306
255
280
385
361
302
307
352
308
361
322
350
313
328
313
275
310
292
344
287
299
372
343
228
275
367
384
366
314
170
283
325
226
363
289
252
338
363
360
304
276
305
271
312
389
344
246
349
254
276
329
352
300
319
341
276
242
407
192
362
327
384
243
238
247
269
274
373
295
270
327
341
268
289
341
361
315
419
278
325
277
295
284
321
307
309
315
325
277
335
312
303
291
286
348
214
355
296
366
372
305
289
326
307
314
324
279
344
364
283
302
285
292
349
292
332
304
333
313
259
302
329
313
295
304
356
326
212
329
297
271
292
321
351
380
361
287
357
289
283
321
355
377
327
354
268
364
292
300
329
304
372
333
294
364
367
320
361
345
344
281
312
258
267
348
305
327
274
336
321
323
333
255
361
363
296
232
282
292
281
237
201
306
277
319
246
340
289
316
385
288
286
391
397
317
316
359
385
357
283
351
292
351
379
388
317
369
327
366
370
267
319
269
301
215
284
251
266
276
321
310
274
320
314
377
379
268
279
286
307
380
286
333
311
349
344
325
258
300
273
217
296
314
256
301
311
323
373
278
348
323
308
322
341
302
312
276
306
370
370
316
314
348
309
254
361
267
298
298
253
201
282
325
264
280
320
281
308
294
350
286
316
334
313
346
332
367
381
369
360
401
276
301
367
320
314
280
323
379
319
297
373
324
386
331
321
329
290
327
275
367
357
397
348
303
279
286
365
359
358
388
333
334
305
282
285
293
340
355
286
302
293
362
322
330
337
276
254
387
242
305
308
349
311
326
350
353
293
378
244
334
295
238
361
230
288
289
309
341
275
231
322
332
339
307
344
344
318
275
322
297
264
293
253
327
282
202
240
282
395
276
307
348
347
379
252
338
342
233
324
383
275
316
322
361
300
252
330
353
337
268
278
322
288
254
397
324
305
341
346
366
306
316
332
248
285
310
335
337
412
350
318
369
347
252
344
350
268
342
331
227
218
336
345
259
394
362
334
280
372
301
308
325
358
327
372
325
353
333
309
297
324
302
297
332
269
362
299
290
356
276
365
325
230
342
276
296
316
265
352
284
289
263
312
270
310
297
319
269
352
334
394
246
299
377
300
347
327
355
337
305
253
330
222
270
388
305
328
272
294
322
345
388
338
322
358
322
265
335
313
329
257
397
397
307
419
297
367
298
229
300
289
270
314
254
299
304
321
341
316
302
309
300
356
294
363
272
277
269
309
351
365
311
318
297
360
279
320
265
343
337
258
321
348
305
279
293
356
350
336
354
316
287
345
331
320
241
328
271
327
365
309
231
370
393
275
318
330
318
319
347
266
372
263
353
310
265
279
315
387
339
323
334
330
290
287
319
411
341
352
289
325
297
269
287
315
350
339
268
335
346
392
379
306
332
307
256
266
334
286
289
328
351
323
252
343
307
300
251
335
334
339
380
281
327
288
392
355
333
371
220
321
335
304
318
327
389
343
273
352
293
233
393
346
218
230
294
277
262
297
337
219
382
266
331
339
253
399
297
379
268
333
324
264
380
341
369
339
305
374
247
333
246
335
313
244
333
253
350
326
285
323
362
343
323
286
340
308
285
304
390
194
357
340
361
304
301
326
306
312
285
294
370
340
279
324
317
272
354
359
359
328
329
339
378
315
276
294
350
280
367
307
312
285
333
278
261
402
316
353
349
331
283
387
290
403
318
397
325
306
353
261
296
317
218
354
271
267
332
350
278
371
385
385
356
255
340
264
242
316
331
282
274
333
335
338
312
326
296
300
353
288
346
382
270
344
303
320
370
234
342
325
300
325
375
303
225
337
329
310
329
350
338
350
243
340
373
283
400
333
281
310
316
360
321
290
357
251
249
349
313
280
365
241
223
351
340
236
259
235
404
249
276
365
283
305
249
392
317
321
292
344
326
353
308
322
292
298
340
305
322
261
297
344
320
207
327
317
338
351
332
342
402
328
365
350
378
297
441
278
343
381
262
366
295
299
256
366
362
289
311
344
279
270
263
329
286
287
369
338
256
297
269
274
298
237
237
268
306
238
296
252
259
332
310
294
292
305
295
245
341
252
295
383
368
365
351
303
311
285
267
307
315
276
356
372
351
277
412
373
286
274
404
210
360
372
309
333
324
289
283
292
349
317
330
361
330
295
295
407
298
370
288
296
322
256
385
265
355
367
338
300
352
295
300
330
316
293
332
218
360
298
323
349
333
310
295
375
370
324
310
337
292
281
380
305
372
298
273
324
365
358
352
311
373
370
288
305
347
359
266
364
302
283
378
346
361
299
351
365
261
349
350
313
304
324
293
361
394
342
360
292
297
339
246
378
370
248
340
342
252
357
356
292
343
256
328
274
261
292
365
369
309
289
328
335
332
251
365
323
277
433
449
360
299
363
361
270
260
369
239
281
263
321
321
240
244
311
307
245
336
350
363
205
241
380
312
324
362
330
252
264
366
298
344
296
258
269
275
290
308
262
322
314
317
197
270
316
284
330
221
356
307
299
302
375
297
387
333
366
286
322
244
356
237
329
346
338
282
299
296
278
332
295
356
344
325
321
299
378
220
363
361
261
322
362
368
386
332
362
283
327
308
275
318
327
269
313
326
278
325
302
293
319
330
325
312
395
363
365
365
324
246
324
356
278
295
282
354
389
353
387
367
316
345
409
331
334
215
277
325
411
355
249
341
233
305
332
301
197
303
369
313
194
293
280
245
206
309
321
375
288
274
331
266
335
255
298
289
403
245
297
270
326
277
344
309
302
335
383
357
294
351
370
296
296
336
346
336
269
274
362
354
335
282
281
319
329
285
311
336
271
321
255
338
337
286
346
257
312
308
269
271
321
303
350
349
361
362
265
411
272
331
297
319
332
210
348
298
279
291
311
253
333
307
352
261
361
293
237
345
302
346
373
371
301
315
295
357
223
330
317
301
267
310
388
304
315
403
343
388
315
357
250
359
347
274
321
260
319
327
295
354
344
320
301
331
319
220
323
275
291
257
300
377
357
239
316
337
278
279
293
358
315
247
290
326
258
283
345
355
386
288
339
384
281
307
294
376
333
406
323
382
363
302
319
309
335
307
439
388
247
363
390
280
301
338
359
360
306
340
313
334
301
319
309
349
328
329
306
335
307
250
221
346
278
260
336
341
240
347
389
244
285
324
286
274
208
374
301
229
348
240
324
314
364
348
279
288
304
345
290
377
316
295
291
314
266
376
297
293
387
307
265
343
372
368
310
303
314
326
322
269
318
250
397
236
399
263
302
240
347
309
320
285
256
334
321
306
361
399
419
329
335
359
352
286
247
351
366
286
294
287
338
379
359
268
321
335
264
350
382
315
314
365
365
297
355
315
309
368
330
319
323
380
353
219
317
250
285
239
314
335
339
327
347
274
304
352
270
303
255
358
312
294
259
319
253
334
325
373
358
272
270
271
296
192
356
348
245
289
332
242
239
285
332
335
328
263
329
297
258
306
366
357
339
307
289
287
371
237
345
371
296
304
293
318
335
272
276
262
315
338
294
317
348
356
406
288
347
330
382
407
282
275
348
322
241
289
369
428
312
334
330
204
392
244
259
235
283
222
320
278
334
340
310
356
312
175
360
252
347
319
306
353
399
366
295
313
270
310
246
308
333
282
258
308
278
278
241
350
202
354
343
262
330
372
371
203
289
317
338
267
380
331
272
231
345
268
322
245
286
206
277
361
288
277
260
309
292
314
259
334
292
343
371
334
326
304
334
401
298
361
343
313
357
269
294
354
390
397
319
359
330
371
298
334
381
299
345
300
280
358
304
285
285
321
340
350
354
421
347
288
270
361
380
309
305
331
335
231
344
377
266
392
341
351
296
338
273
318
385
337
409
365
330
363
248
233
303
315
334
293
326
245
325
328
341
338
424
320
324
302
333
309
388
311
255
397
357
274
324
330
379
374
309
294
352
308
339
316
347
295
287
314
295
326
306
316
221
258
329
312
357
315
233
315
376
393
298
325
375
294
348
292
360
357
287
339
276
355
352
275
374
278
299
296
310
250
341
308
309
294
303
286
289
407
254
367
378
333
337
409
313
242
325
273
282
379
234
285
376
226
338
339
363
297
367
341
234
263
327
274
382
244
322
327
363
377
373
323
321
302
270
353
245
326
369
317
334
322
261
273
265
258
298
355
305
233
343
374
323
276
350
274
256
380
267
202
382
295
269
263
264
314
332
301
388
292
366
352
312
265
376
331
439
344
293
353
331
280
253
251
304
394
357
322
333
274
273
296
390
301
364
305
367
256
360
252
376
290
288
307
292
340
374
323
334
326
270
322
383
236
334
324
376
269
303
298
302
292
265
319
344
296
294
244
381
236
375
359
378
352
378
285
346
313
277
314
311
301
328
287
350
331
290
317
295
263
413
323
373
331
329
348
341
321
299
226
284
329
316
324
375
283
327
333
321
330
301
279
342
336
348
338
368
345
375
243
317
328
293
369
264
337
264
331
377
295
341
325
334
264
304
261
330
290
284
332
309
322
355
277
278
305
322
309
331
324
300
284
260
338
233
325
305
263
380
316
388
339
273
426
231
293
304
221
298
392
302
379
366
345
241
290
436
331
353
357
242
309
360
303
300
300
268
303
421
288
327
312
290
351
267
314
251
316
368
308
217
298
307
305
336
350
332
305
320
290
237
348
323
385
313
354
352
241
329
393
341
363
343
273
388
334
276
375
249
282
329
219
310
272
298
278
403
333
282
275
296
342
418
327
345
361
325
384
296
354
284
378
297
353
285
357
275
330
405
328
237
333
358
335
331
273
334
221
386
292
316
325
329
339
375
286
270
321
345
321
342
316
338
314
303
335
324
261
255
305
302
328
315
274
286
264
224
385
311
299
339
236
321
325
333
275
335
223
394
334
312
286
357
260
241
314
318
295
334
320
341
249
344
306
271
338
344
308
345
372
278
349
269
317
325
316
278
335
273
364
335
358
304
355
257
302
226
388
253
263
287
377
365
256
291
287
352
358
322
342
326
277
276
364
400
327
368
309
311
261
308
363
372
258
259
336
286
331
323
294
263
311
335
346
301
384
254
233
346
313
404
313
264
266
317
321
369
343
372
308
381
304
285
390
309
341
340
239
326
285
319
323
277
406
399
322
358
238
328
344
330
262
263
349
338
362
385
307
321
262
340
270
313
345
392
254
342
337
363
339
298
296
334
278
332
271
302
309
322
274
206
327
320
309
274
321
364
269
246
355
234
276
363
215
363
300
187
295
283
377
348
361
328
374
315
315
313
264
291
307
282
393
363
291
353
300
356
264
383
356
268
310
346
312
315
350
317
270
337
340
251
322
419
341
292
343
303
227
297
327
374
289
372
319
297
331
292
403
275
201
375
332
247
325
322
370
311
207
361
269
304
289
313
336
368
317
309
380
267
292
275
292
305
341
219
277
266
369
428
348
319
317
275
237
234
339
377
449
315
319
225
261
345
359
290
285
319
317
250
264
364
231
311
337
237
335
395
356
287
340
309
299
221
401
320
265
260
329
359
292
280
315
375
336
299
313
312
326
198
310
297
225
279
344
315
286
282
365
278
327
315
359
325
240
328
349
296
288
276
263
388
287
318
289
341
284
352
329
324
317
244
328
379
251
239
319
314
214
328
302
308
289
254
281
291
202
396
343
281
339
281
342
383
350
297
309
302
370
284
216
320
257
300
385
342
324
267
290
285
271
327
305
256
355
235
273
328
311
285
317
311
220
292
373
377
264
388
333
376
300
354
344
294
279
262
334
287
186
329
414
288
301
273
356
322
316
337
346
225
361
292
319
285
344
390
326
265
321
317
208
257
277
423
368
270
240
292
401
320
302
332
252
292
248
358
395
302
287
309
314
360
309
330
352
312
307
323
297
326
258
258
330
329
332
261
366
297
220
412
318
345
260
302
286
280
251
389
302
304
307
363
299
315
373
355
374
374
124
288
313
271
363
288
311
271
276
241
325
229
306
325
312
358
355
352
340
308
313
245
365
296
319
357
294
284
356
335
324
361
304
277
263
402
351
278
313
329
381
342
285
354
252
355
366
268
405
294
295
332
309
312
414
324
373
330
255
281
309
342
351
408
251
368
231
335
246
342
251
316
303
356
380
207
306
257
293
277
279
349
323
355
257
339
280
225
321
380
284
325
178
348
233
343
278
240
338
374
281
331
318
329
400
328
308
308
274
301
298
329
426
262
368
373
343
314
393
314
316
365
331
261
249
369
337
304
343
393
343
394
321
326
309
290
300
281
290
244
352
303
372
427
293
351
342
354
203
321
379
342
314
260
296
281
330
332
371
324
251
317
319
325
286
417
278
312
291
257
268
286
306
252
347
295
311
381
357
295
305
330
243
295
279
352
338
272
301
368
307
321
326
350
261
410
279
354
328
337
302
212
293
259
259
358
295
331
341
211
271
270
322
340
268
330
263
379
319
320
400
333
275
350
280
334
261
312
316
352
264
317
252
319
326
339
332
313
401
330
279
411
318
267
321
337
331
335
231
358
278
270
281
401
307
327
238
256
246
276
317
373
361
303
317
374
315
387
210
247
288
340
325
286
378
309
302
273
352
391
294
334
430
271
243
187
314
374
360
295
287
289
288
343
375
246
323
287
327
310
388
391
269
341
356
294
245
317
307
304
344
313
303
339
341
294
284
279
253
329
256
269
376
339
248
287
340
290
253
361
352
337
350
300
241
321
276
355
231
384
358
306
383
310
335
284
360
323
362
245
327
212
352
296
316
282
357
358
275
322
331
354
325
340
354
259
281
234
340
278
316
255
285
215
307
307
312
273
310
328
232
272
252
307
310
264
323
332
338
282
280
336
272
372
364
386
346
299
268
282
274
295
319
313
285
366
346
219
345
351
361
288
298
379
265
327
320
272
328
350
345
347
329
332
290
233
327
253
296
287
388
279
340
373
332
310
275
248
371
250
281
313
295
282
353
261
299
325
366
252
302
303
366
365
303
342
243
268
328
299
332
293
237
373
344
404
301
269
339
310
240
320
278
331
365
379
337
305
264
342
349
278
355
296
323
245
410
317
255
249
325
313
347
285
284
329
308
302
326
322
307
249
353
348
330
312
249
351
341
350
283
304
301
346
393
316
291
360
384
340
283
323
341
349
386
376
290
331
333
314
295
326
305
276
372
339
363
362
350
262
267
371
294
268
318
371
277
359
389
320
346
257
287
314
292
311
236
275
305
319
259
301
278
399
301
361
304
280
256
328
330
274
320
341
401
334
327
311
407
341
298
319
305
270
312
347
314
361
328
309
297
354
350
365
430
259
288
297
327
342
322
368
337
317
337
265
364
359
384
302
351
291
260
302
309
271
386
357
288
400
295
330
274
373
335
327
331
241
311
213
276
406
230
318
356
324
287
304
374
302
351
377
400
355
363
280
339
290
385
234
236
312
295
321
296
349
291
231
300
332
312
340
347
277
237
345
321
306
373
297
333
320
265
276
293
290
318
334
336
316
282
360
346
298
294
335
290
312
325
270
316
269
277
294
304
337
273
318
335
357
309
250
328
349
268
362
319
366
317
347
343
336
281
368
388
309
287
325
354
374
267
233
328
413
298
305
361
325
306
338
297
313
314
292
285
319
339
371
269
362
269
330
235
293
313
375
415
341
379
312
264
377
314
275
395
252
222
379
305
298
425
272
327
373
381
268
286
300
298
270
307
250
333
291
329
300
277
312
315
304
340
302
361
343
353
305
315
293
383
373
317
338
298
222
219
317
294
338
287
345
392
320
289
329
364
343
317
396
364
257
300
263
329
305
325
261
295
332
427
258
272
277
301
270
322
283
366
299
296
302
306
297
333
266
298
279
330
343
336
366
327
248
257
320
267
333
327
334
304
312
377
242
287
393
304
316
288
232
290
312
287
410
253
350
323
281
324
320
297
324
248
301
296
332
365
356
304
377
371
346
337
316
352
336
295
266
279
403
326
346
323
342
278
351
335
387
325
287
299
365
309
291
328
268
274
238
295
287
266
371
317
345
332
333
343
190
261
267
391
385
297
294
329
275
311
249
321
321
289
330
338
337
278
307
285
295
289
275
242
297
300
303
293
325
322
320
279
326
374
315
318
225
260
374
322
286
337
289
358
294
346
312
336
325
395
294
321
233
338
307
276
254
266
348
328
258
440
281
411
354
365
303
343
304
298
335
355
279
312
311
287
368
265
329
330
257
228
321
355
336
324
349
279
278
269
262
273
339
244
189
315
346
384
248
305
279
310
296
340
311
311
303
284
285
312
347
289
364
335
354
246
311
316
225
307
249
277
358
352
397
324
370
374
258
291
297
287
265
363
269
266
350
334
338
279
275
275
316
261
274
272
264
334
419
334
358
376
223
362
365
367
279
307
374
324
337
303
296
270
272
298
320
378
287
235
269
276
374
316
368
312
291
345
324
338
416
306
322
288
271
328
379
298
395
309
290
267
341
324
388
346
308
259
283
369
295
331
306
353
315
306
323
329
273
347
306
280
265
264
317
325
315
216
316
214
333
276
370
267
302
379
241
335
367
318
386
393
389
338
282
296
353
391
257
269
296
274
351
323
294
293
299
330
298
355
383
380
331
282
222
317
284
341
276
312
320
359
304
251
314
381
327
281
280
227
376
334
288
291
289
341
347
304
351
300
355
343
386
224
301
368
226
333
375
289
249
362
399
343
392
306
395
391
282
296
217
343
422
304
289
298
365
402
399
324
353
351
333
239
258
311
303
249
296
287
335
297
274
281
324
357
294
294
345
342
419
288
311
335
289
302
348
319
337
236
375
348
366
298
389
285
241
342
287
297
325
357
383
368
340
233
316
341
353
325
262
272
294
266
384
288
259
246
322
288
255
347
329
274
245
315
304
397
265
282
325
299
303
380
265
356
257
349
267
274
331
332
310
370
310
365
376
242
379
323
349
299
302
307
332
327
351
307
383
365
299
312
370
275
371
413
365
298
361
324
257
331
264
220
276
304
339
296
272
287
313
228
427
405
314
317
271
371
337
345
314
295
318
372
288
352
233
428
262
343
386
363
341
417
202
229
356
306
298
384
302
333
275
325
286
341
304
377
307
211
315
306
329
351
255
316
305
340
326
279
337
295
371
246
288
260
319
379
207
288
318
345
356
375
386
178
308
251
276
331
249
324
318
210
312
370
297
366
326
353
248
330
351
422
336
381
280
245
299
407
394
278
320
295
273
299
234
281
320
296
308
347
306
248
277
272
356
423
324
262
304
357
371
310
348
272
316
292
268
231
362
258
346
417
375
388
406
343
330
351
344
403
326
281
294
321
304
347
243
250
247
268
343
300
349
380
296
293
274
291
333
340
371
295
301
337
366
282
304
352
224
325
342
337
268
351
283
392
322
325
272
337
246
240
265
271
260
311
316
298
324
347
310
288
333
290
357
358
326
233
339
305
264
290
284
325
356
302
381
353
295
254
371
407
292
322
326
251
275
298
253
265
306
276
276
356
300
404
362
312
291
308
255
395
292
278
360
394
346
307
286
330
314
249
375
298
207
281
270
339
314
319
307
315
297
351
407
313
344
314
275
390
348
384
297
285
359
290
306
330
316
294
351
223
319
339
334
348
323
282
286
280
374
319
321
317
275
291
307
366
285
355
291
236
317
266
295
343
343
351
370
251
282
366
179
393
322
302
384
342
277
318
257
357
278
310
350
246
306
344
323
308
365
301
287
289
278
286
276
304
363
258
351
259
353
371
329
294
148
293
349
329
276
300
268
349
313
320
265
251
388
348
336
366
398
314
371
327
311
380
210
313
251
305
315
354
368
221
304
364
261
350
247
297
324
347
361
247
288
298
256
350
330
404
313
309
357
388
298
287
335
389
291
289
290
327
271
297
305
282
276
275
309
282
386
331
342
274
292
287
284
245
344
246
277
308
256
304
300
218
387
382
247
366
317
279
272
365
350
330
331
380
331
368
269
332
409
342
334
356
287
282
354
312
352
327
275
329
359
345
282
339
289
331
308
307
367
356
371
373
356
292
308
380
332
405
297
310
291
179
278
285
334
307
411
296
372
289
228
290
240
272
334
288
331
267
288
325
367
312
359
223
327
330
334
220
343
361
303
302
349
257
381
232
344
318
380
299
351
362
253
361
359
265
398
272
279
297
326
295
314
300
345
356
351
334
341
394
290
353
351
355
270
293
253
275
393
364
374
320
354
337
304
256
354
254
238
336
305
418
362
360
281
327
288
350
351
371
296
315
388
296
276
227
276
323
328
261
349
302
403
300
283
335
326
341
273
330
289
334
298
354
283
263
368
254
255
348
298
331
322
372
292
240
347
359
366
390
281
334
227
234
328
305
260
349
336
280
341
254
345
332
342
374
255
277
364
295
262
367
292
291
275
235
325
332
380
399
337
281
312
360
270
402
363
342
257
236
394
300
359
303
381
302
314
353
237
395
291
353
279
339
308
341
283
321
274
318
348
353
364
301
274
323
312
240
380
266
302
331
302
322
332
262
296
371
342
308
280
333
258
333
352
384
344
195
342
335
346
321
245
268
331
355
261
349
311
300
287
304
342
308
221
336
333
329
304
361
249
369
207
342
336
291
260
257
323
302
277
281
219
399
379
308
353
280
326
381
201
310
265
321
276
317
302
338
365
305
375
358
164
291
313
302
329
312
377
323
373
336
344
325
302
297
339
342
234
373
273
350
383
356
317
309
227
345
283
314
356
331
369
363
346
347
381
363
340
311
369
303
324
297
313
328
253
271
306
314
310
268
251
430
185
382
315
326
306
297
325
318
322
308
354
274
294
249
306
300
290
318
273
353
365
327
284
370
277
297
248
277
298
337
380
337
260
252
305
290
278
275
289
314
397
300
303
345
309
303
337
199
356
402
406
314
257
378
320
302
277
373
388
336
349
310
361
326
326
261
321
356
277
317
338
392
312
378
259
400
327
290
335
271
328
420
365
399
371
206
324
310
337
334
298
299
338
326
320
386
366
277
297
341
288
279
296
210
335
309
336
300
355
371
307
398
272
266
371
355
272
316
359
308
340
297
329
310
332
302
335
307
295
329
257
338
330
342
366
395
427
386
296
265
279
205
316
422
260
333
306
274
348
348
417
304
273
268
311
334
356
340
247
264
362
305
393
436
310
302
292
320
351
332
391
275
299
253
325
283
398
371
356
276
350
324
361
294
379
301
336
279
313
311
362
301
246
283
310
334
344
362
346
310
357
290
311
251
302
279
278
367
302
369
272
328
301
351
308
349
327
339
275
354
397
362
406
210
262
339
313
302
448
275
276
357
345
312
290
250
316
306
350
322
288
361
317
366
325
308
324
288
300
257
343
337
364
301
409
248
328
362
451
314
308
331
291
296
335
302
359
324
365
179
351
418
225
328
347
289
232
367
323
315
270
293
282
313
372
228
284
277
207
298
279
384
264
358
356
344
267
252
391
281
316
398
290
338
321
398
340
319
310
270
361
338
315
344
298
287
292
323
308
325
359
293
419
336
258
329
277
247
342
300
280
214
333
402
307
296
289
295
345
413
359
332
383
357
319
352
197
380
321
318
352
334
384
330
393
340
298
341
283
400
317
311
264
293
388
303
398
268
318
343
311
280
317
357
300
267
304
285
278
227
361
420
261
356
261
309
226
317
327
391
248
297
299
375
233
346
301
216
299
265
274
297
359
321
338
306
243
362
396
299
340
361
242
355
308
293
377
269
344
282
344
301
287
309
333
332
359
291
285
392
278
228
307
267
269
265
274
365
308
399
383
237
252
363
404
381
342
286
278
244
292
280
330
355
327
330
324
272
342
303
428
272
236
308
318
353
314
306
336
362
323
265
241
329
309
252
369
296
307
364
335
279
384
381
351
276
259
261
262
390
271
386
349
376
295
332
309
324
305
286
272
303
360
374
348
246
309
310
325
335
381
380
349
317
400
265
326
342
339
259
305
295
305
339
338
257
373
256
321
378
350
353
362
280
266
321
290
335
207
262
317
308
377
296
272
359
392
367
358
327
367
348
392
351
270
306
304
285
341
300
274
271
266
337
265
337
402
350
277
251
285
333
352
291
317
285
338
322
264
320
334
394
348
284
306
345
229
311
401
263
304
299
282
338
239
380
380
322
312
273
417
419
339
357
354
269
266
349
374
348
285
307
396
289
288
287
257
391
333
360
325
293
353
327
270
234
319
298
355
248
306
371
337
328
352
313
274
361
361
336
287
295
357
324
248
385
315
266
349
298
391
393
379
278
391
312
276
336
362
232
276
342
295
309
260
298
289
289
276
268
228
275
353
265
354
243
338
353
291
343
334
285
299
369
343
307
286
225
375
354
284
288
341
299
300
331
284
284
268
250
387
298
331
425
286
359
293
320
377
221
291
263
420
294
354
304
338
312
280
315
290
303
310
354
392
325
313
276
292
353
305
316
318
324
321
348
400
262
300
314
355
363
287
313
327
355
300
282
298
288
250
245
269
255
309
398
287
244
379
381
334
339
292
372
315
379
327
343
243
265
330
342
415
324
316
344
386
331
303
369
303
320
363
311
293
324
357
310
405
273
308
355
298
265
301
313
316
324
404
292
305
250
276
354
327
304
337
208
347
371
264
336
370
306
257
236
293
311
260
320
264
308
318
385
292
320
343
335
314
338
378
339
333
278
302
360
339
354
328
296
389
272
269
297
267
344
378
341
330
365
319
279
360
329
321
383
333
308
356
327
361
317
294
330
298
361
303
241
297
403
314
257
323
264
364
292
371
343
283
346
303
242
300
345
247
270
246
250
345
367
355
300
337
374
295
334
312
304
337
309
282
240
378
272
314
376
273
220
289
345
358
300
333
314
317
314
296
330
321
295
234
323
284
278
430
273
282
371
301
263
319
275
265
222
301
266
186
429
381
261
340
265
320
250
374
334
333
393
340
292
325
366
356
310
307
298
353
267
363
312
315
320
277
281
409
301
350
301
289
321
322
289
408
301
285
327
297
250
322
293
309
337
328
337
360
320
275
319
353
256
408
405
388
312
315
316
359
354
418
411
289
386
348
319
339
225
267
280
433
331
305
351
300
255
328
364
332
346
318
340
315
324
395
206
322
276
275
338
306
284
352
327
329
307
355
374
309
302
255
344
355
336
378
281
327
310
333
378
305
340
315
326
349
333
277
232
306
257
388
236
384
288
286
341
299
315
257
365
377
327
269
285
234
305
335
366
326
303
320
387
320
326
368
383
271
296
334
309
309
385
306
313
252
389
306
343
349
267
338
230
332
404
231
266
239
313
242
309
267
359
362
261
299
372
334
268
301
310
284
351
318
302
303
364
215
315
372
360
313
304
364
308
378
279
331
374
335
315
321
312
308
286
266
414
333
345
344
346
329
333
311
277
415
301
372
339
356
279
289
277
302
337
278
253
246
306
336
319
369
356
257
289
271
296
314
264
286
311
346
301
359
309
278
281
411
325
390
254
332
363
372
326
374
333
244
385
284
257
377
265
352
199
240
276
227
350
400
301
291
237
269
308
276
335
332
259
259
272
332
296
238
408
317
299
358
374
330
261
391
283
290
293
320
375
317
314
360
261
264
357
265
325
339
345
368
333
324
254
342
251
411
270
351
319
344
326
453
281
302
264
348
356
348
264
334
283
345
344
415
266
302
333
349
352
314
218
253
264
312
284
284
266
271
293
297
401
250
350
304
429
355
279
286
375
318
329
257
288
407
318
319
302
277
367
394
293
424
300
369
325
206
366
281
256
333
305
293
266
326
337
342
300
339
378
297
305
256
309
302
391
296
325
296
268
409
331
386
308
366
337
325
226
295
307
333
349
227
335
387
327
301
343
320
363
272
349
343
348
282
308
310
156
353
336
360
307
266
298
289
260
322
278
293
380
338
337
236
239
311
271
255
301
282
292
325
342
286
290
397
242
330
274
299
295
311
405
227
334
340
406
302
395
283
328
365
299
291
367
262
250
330
234
390
330
316
296
355
378
332
314
352
361
454
245
339
314
241
260
378
361
295
368
275
319
335
298
308
325
279
282
297
339
240
308
322
366
263
272
286
272
353
227
332
321
407
409
295
356
260
346
258
349
324
363
337
212
361
309
319
313
360
346
273
362
326
253
324
297
414
310
307
356
312
294
322
321
330
309
317
255
350
346
298
270
332
347
398
339
326
277
380
406
316
347
336
392
367
312
416
314
194
351
249
327
259
344
377
361
334
306
375
292
314
295
332
253
354
386
414
257
341
295
272
362
320
311
330
280
329
312
309
367
417
292
333
318
246
295
276
332
329
432
385
323
295
291
304
370
273
361
370
254
287
251
266
281
310
333
319
371
391
394
280
309
366
277
381
307
375
344
229
330
281
322
303
397
347
297
319
304
360
321
374
283
343
270
277
384
276
293
316
360
283
287
344
353
298
293
289
325
287
272
303
277
361
272
274
315
397
327
339
248
283
313
270
346
269
317
312
381
331
297
282
295
336
307
279
352
257
364
391
401
294
277
326
379
256
366
362
400
348
329
371
305
236
361
334
315
311
376
167
344
298
365
347
334
262
358
266
333
332
286
219
359
322
316
284
299
299
351
317
256
333
188
317
263
367
366
338
298
250
282
309
311
328
392
333
282
247
341
328
303
313
371
315
390
309
326
348
293
325
327
335
358
376
311
283
255
281
241
290
302
278
387
265
381
308
342
210
322
277
286
396
271
294
348
256
343
293
337
311
250
364
321
298
298
341
371
401
268
252
420
404
355
328
285
374
363
322
291
315
397
298
302
294
392
318
212
332
369
335
336
242
342
418
302
260
331
325
259
269
256
271
369
360
364
306
304
368
335
280
317
217
331
372
323
297
289
286
294
335
215
302
316
399
294
331
367
309
278
375
344
339
283
419
367
382
249
292
320
418
263
257
277
273
342
325
340
294
316
274
294
316
321
331
422
339
366
291
304
275
258
274
351
313
364
321
337
316
283
365
312
331
333
336
293
266
332
303
364
364
345
324
292
275
336
284
306
299
378
373
298
290
335
271
260
346
282
334
300
318
319
348
300
262
311
320
424
267
267
393
351
303
311
321
301
351
299
294
298
404
325
313
278
302
311
233
322
321
356
289
294
308
312
353
335
318
252
313
369
321
282
363
308
338
337
357
308
288
233
319
264
329
300
252
351
347
226
361
339
322
368
310
332
311
340
367
306
338
262
305
319
245
309
277
257
277
344
350
254
312
324
314
318
282
388
300
401
329
314
299
308
347
311
293
327
325
260
236
234
345
349
332
344
373
388
332
335
306
334
351
362
338
366
290
272
319
263
312
351
350
315
337
306
374
275
367
296
303
320
393
228
318
328
266
416
286
290
269
399
337
320
246
309
358
319
301
359
371
359
354
257
348
313
308
225
323
291
319
298
362
348
245
285
350
352
374
390
309
287
353
361
320
360
412
282
404
286
359
292
358
326
301
292
322
269
342
384
302
302
280
235
308
321
312
345
358
392
303
370
279
273
221
409
284
303
365
345
268
327
285
280
302
380
346
346
367
286
342
340
216
308
316
335
258
288
330
349
276
315
319
332
261
348
346
300
325
296
287
352
314
345
189
335
398
345
327
377
319
358
247
290
342
302
341
229
356
361
356
308
358
290
333
281
328
314
341
342
257
318
281
328
330
295
245
330
324
283
318
388
352
319
292
309
266
244
384
247
379
273
320
327
292
288
314
293
318
346
253
316
338
209
282
340
348
366
363
330
327
304
334
262
265
308
305
369
344
223
355
340
194
417
389
339
287
248
327
335
246
339
269
349
320
337
256
363
272
253
358
342
270
259
398
328
319
303
193
330
329
398
334
286
328
221
334
240
334
306
305
323
229
381
421
294
323
374
254
265
295
363
235
280
329
311
247
205
299
338
293
298
353
193
322
340
301
410
418
381
278
334
327
325
221
421
408
276
300
330
284
322
313
335
272
366
248
290
371
295
351
261
281
299
251
261
290
298
391
341
273
190
351
291
292
332
298
310
303
328
312
309
337
311
419
347
273
324
271
270
269
324
358
207
322
341
375
289
307
291
321
340
318
320
343
367
335
345
391
385
263
373
299
384
307
373
294
281
280
370
227
268
323
336
283
341
328
390
293
312
381
386
261
285
211
182
302
391
369
269
268
316
346
356
314
284
287
346
234
236
321
327
311
307
326
307
349
287
332
283
247
346
335
327
334
278
295
272
295
213
334
331
367
362
288
267
344
351
220
263
358
328
255
304
310
322
321
230
288
285
323
324
289
285
327
374
341
267
288
306
401
330
319
317
309
302
400
344
312
314
362
423
311
361
298
267
330
423
307
377
357
335
249
264
259
334
350
265
244
398
304
399
282
320
386
344
298
271
276
262
301
404
312
290
399
257
395
343
316
265
330
311
327
266
335
214
343
360
389
426
369
251
334
362
305
331
365
306
323
366
342
270
307
365
322
287
300
329
348
332
260
350
291
302
365
241
367
315
325
290
260
258
329
324
322
294
292
342
325
247
310
323
364
275
330
332
372
352
404
293
358
401
334
301
294
318
319
317
346
201
189
316
293
294
385
293
378
369
337
314
250
269
263
355
351
262
324
225
381
329
393
294
320
339
289
326
326
337
266
308
266
358
297
285
318
367
360
279
206
314
302
374
266
331
357
368
296
197
275
287
301
324
327
321
388
350
328
274
384
280
330
305
433
257
353
329
363
269
300
350
309
271
357
390
366
197
293
346
347
280
256
295
219
332
280
341
334
355
245
313
300
303
389
260
348
345
308
276
300
326
407
403
344
382
328
265
291
397
326
260
272
314
279
270
255
295
244
422
329
350
358
350
333
312
371
269
356
315
264
272
311
307
287
329
271
368
321
365
300
318
290
371
271
379
291
273
316
273
273
295
306
346
331
397
274
344
363
263
291
310
315
378
290
266
361
358
225
308
353
336
348
387
300
306
334
309
348
291
264
343
364
397
331
310
301
353
289
300
385
270
337
321
298
277
305
344
391
307
291
324
345
336
276
374
341
376
293
378
286
358
278
272
216
339
259
336
239
311
322
341
325
224
301
337
309
403
356
351
356
318
303
207
330
370
322
273
281
337
298
348
351
314
337
243
343
339
375
403
334
309
254
322
324
313
355
378
348
334
331
347
308
349
289
291
346
380
318
317
376
345
376
282
319
283
330
342
296
326
229
397
330
377
301
284
380
227
386
373
261
300
332
333
377
338
208
316
286
384
372
392
298
384
315
340
317
333
331
305
362
281
304
307
307
293
305
236
253
341
226
262
336
342
333
341
227
374
283
289
333
300
336
306
372
312
262
319
295
396
319
226
338
311
369
309
418
332
223
309
386
266
281
302
404
254
259
291
359
308
360
355
314
289
300
275
197
321
325
304
312
320
300
278
341
348
238
387
376
352
345
340
417
300
374
307
251
317
283
241
324
343
325
397
389
302
341
385
279
322
282
277
270
418
309
250
295
297
325
286
288
249
379
210
323
313
283
260
233
285
378
290
296
260
348
340
340
330
361
391
356
352
258
373
278
303
356
316
318
331
242
326
349
285
319
360
276
399
232
303
303
346
352
329
297
204
338
304
373
316
265
265
299
289
294
299
283
332
303
249
337
354
229
332
325
291
305
331
330
319
289
318
262
335
295
289
312
278
283
219
303
340
365
333
332
359
341
317
342
259
345
372
297
300
231
379
265
365
352
336
326
260
328
334
330
285
261
333
299
345
366
288
328
373
377
315
337
257
344
323
283
342
305
256
363
276
322
322
358
221
322
360
352
302
294
301
317
303
360
321
331
324
396
293
284
257
322
261
355
394
313
292
368
373
281
307
341
302
253
298
428
282
297
248
265
296
275
256
330
316
341
357
308
274
307
341
356
318
271
324
299
287
404
235
258
192
215
291
287
260
309
344
405
273
296
293
343
264
350
352
330
377
393
316
268
329
310
343
366
285
365
311
205
376
305
372
282
345
278
331
242
268
339
367
283
352
387
315
284
307
344
316
267
282
342
295
233
345
353
262
290
263
260
383
272
332
377
272
226
349
346
256
325
380
392
423
291
337
383
360
283
313
291
217
274
305
316
290
361
307
268
234
297
303
317
380
324
353
348
279
350
329
297
321
294
361
328
218
369
372
314
298
258
272
274
297
310
356
382
326
312
357
287
356
354
283
325
332
313
349
336
363
316
274
335
311
285
334
318
323
368
364
303
288
246
262
330
323
343
306
372
310
248
323
317
307
345
332
372
335
283
275
346
331
320
288
295
271
378
228
337
346
365
322
330
302
286
290
325
255
301
282
333
304
391
306
245
306
354
355
335
330
298
302
305
248
279
344
354
342
333
222
319
370
382
247
238
302
346
285
376
353
290
302
300
277
313
332
339
344
276
301
324
355
364
306
328
235
256
316
303
303
324
328
269
383
352
396
358
242
271
311
290
280
369
270
341
321
327
283
340
230
258
360
339
313
318
307
327
243
328
276
295
303
367
291
346
327
369
291
353
342
335
316
324
257
312
410
256
313
378
185
313
267
367
340
351
385
325
287
251
331
359
276
393
377
285
291
336
383
347
314
312
288
347
245
238
311
282
320
272
270
267
352
286
380
293
326
315
299
250
289
306
237
274
317
299
318
288
331
291
314
330
427
363
310
296
320
319
307
265
312
317
260
406
292
340
349
375
315
309
317
390
353
324
318
384
368
306
342
303
319
293
312
305
355
352
343
358
348
394
310
333
294
271
330
372
236
309
322
311
339
334
238
251
284
321
379
364
330
264
355
373
323
295
385
382
291
336
335
344
366
346
258
341
282
284
319
297
298
347
292
278
312
265
254
350
346
344
305
385
344
285
348
397
268
320
265
368
357
378
363
381
385
305
363
293
255
378
332
320
357
281
346
406
396
380
336
372
332
290
278
319
252
351
394
371
315
260
296
289
319
345
356
366
259
326
357
258
300
290
342
370
263
327
392
242
256
341
337
226
340
353
346
288
295
410
249
317
402
328
286
334
360
311
355
251
321
345
326
325
248
326
289
300
390
230
370
324
247
287
360
395
313
318
339
380
362
323
401
308
277
337
349
300
339
305
315
315
268
302
321
313
347
360
354
366
297
266
359
361
361
262
328
323
318
282
312
360
316
339
323
350
336
212
278
331
358
355
368
295
321
230
294
287
308
396
338
242
311
303
329
346
240
366
253
344
312
286
267
233
337
334
286
258
359
319
363
359
243
259
338
300
336
320
360
284
344
267
253
258
397
309
305
353
440
298
323
325
301
344
310
323
327
347
345
356
326
203
296
311
270
358
383
357
286
330
302
291
290
312
379
362
382
313
358
339
321
320
345
288
296
306
243
265
367
330
293
301
367
353
241
320
299
313
235
383
353
375
351
330
307
269
242
348
260
351
307
332
334
266
244
373
326
332
341
353
388
321
286
268
360
341
231
331
374
342
379
295
302
318
393
306
302
320
233
370
345
300
312
219
304
368
293
315
291
316
322
298
232
319
363
312
428
329
223
265
333
325
299
267
320
206
297
360
282
309
353
352
292
323
302
251
211
274
297
309
332
322
332
305
360
384
326
327
275
359
336
415
392
274
352
365
354
255
330
301
356
238
346
296
305
376
274
282
359
392
368
339
272
312
350
276
373
326
363
378
287
332
302
350
310
325
273
302
330
287
327
261
348
358
322
213
227
288
356
352
313
355
372
303
302
337
338
337
350
315
286
294
367
325
315
266
356
295
302
309
344
273
332
325
403
317
295
343
366
310
365
348
377
265
388
267
312
297
297
332
283
309
265
334
316
351
282
397
359
306
274
389
275
348
306
321
432
349
308
398
339
207
293
339
360
201
358
289
336
359
347
357
304
381
376
356
337
311
322
304
327
305
367
378
320
284
280
317
299
288
319
221
260
307
397
390
388
283
333
313
299
349
324
330
263
295
347
173
318
306
386
296
357
287
317
313
361
280
365
337
327
332
252
329
335
346
414
385
333
395
229
367
283
359
305
348
329
310
267
319
275
367
321
299
386
384
277
335
333
370
415
325
276
302
279
272
306
365
228
325
264
228
356
410
272
362
307
252
286
284
387
282
288
310
318
320
198
377
372
308
188
369
393
337
370
334
309
420
281
346
344
334
356
312
218
355
323
285
325
294
357
377
363
255
376
371
331
317
283
282
338
338
365
317
375
186
280
345
382
325
365
213
380
341
312
341
292
353
349
331
331
346
334
339
327
323
317
304
454
311
292
283
306
297
311
261
299
236
303
320
305
312
256
322
319
294
307
266
337
344
293
325
408
308
290
400
274
357
338
369
269
327
300
252
312
192
285
238
307
346
272
347
325
319
283
290
396
358
304
365
339
365
312
260
377
289
317
304
320
340
324
376
276
259
410
330
328
328
346
325
328
291
288
314
307
248
387
320
348
406
341
373
313
375
313
377
251
325
286
301
349
296
277
392
343
292
337
382
317
333
299
289
216
324
264
213
344
336
392
306
251
287
302
344
402
336
356
340
278
328
329
331
322
305
302
334
348
336
380
304
268
307
239
328
327
373
343
313
332
302
203
258
346
345
273
305
319
303
282
378
300
337
346
289
297
265
272
323
391
371
299
291
401
362
340
408
358
385
310
236
300
299
350
368
309
302
333
316
333
274
314
323
237
350
235
355
273
246
293
342
252
268
389
313
275
309
314
299
226
314
413
265
298
272
332
298
386
293
389
227
342
308
331
287
365
285
203
267
388
397
249
343
356
298
256
283
364
272
312
348
371
233
316
341
312
278
362
311
387
264
228
355
363
346
255
261
338
393
335
304
407
321
361
398
270
361
284
241
332
318
303
302
309
251
271
373
275
312
352
316
326
303
354
303
277
348
355
365
348
318
348
385
348
304
365
363
324
358
341
428
331
288
332
276
292
281
270
221
309
317
316
350
387
392
326
291
288
366
356
319
266
260
346
355
270
260
291
240
371
283
341
367
371
273
332
281
344
342
299
360
187
370
344
412
247
208
243
408
241
355
322
301
312
277
324
306
319
364
355
323
327
309
406
272
338
347
364
305
398
275
309
281
394
354
218
300
268
287
314
288
286
269
296
324
320
361
203
312
290
336
337
279
348
381
237
284
382
306
279
333
397
349
385
310
308
299
285
280
356
334
328
344
384
240
337
355
275
327
338
330
348
275
312
369
413
378
311
307
428
375
344
373
278
373
259
258
307
268
299
322
298
356
189
362
386
355
344
387
327
369
278
371
350
359
326
335
254
360
375
359
349
353
345
320
318
248
258
343
386
329
310
361
372
308
331
375
332
333
340
292
346
307
278
258
360
204
372
402
388
295
290
230
374
381
322
323
359
288
342
324
316
317
326
419
272
289
308
302
351
304
343
293
270
332
351
321
307
343
285
347
336
298
393
233
370
263
258
339
290
253
324
313
364
293
284
346
331
354
310
272
343
367
279
323
346
210
341
332
331
346
378
334
347
270
390
360
340
412
238
218
302
284
319
313
346
352
298
320
330
307
257
327
276
277
289
321
370
348
322
332
304
315
296
427
353
361
404
371
320
307
284
301
301
273
319
283
409
311
323
335
338
303
359
316
287
373
345
317
366
333
332
400
293
315
212
241
406
353
274
295
283
345
341
325
363
285
343
277
315
339
337
389
293
314
346
297
304
317
252
337
346
332
324
295
286
328
307
320
309
324
309
272
312
313
345
300
301
339
235
297
261
395
300
317
328
323
227
226
337
358
374
230
293
350
379
290
326
281
255
395
315
287
291
306
313
352
323
267
322
248
326
263
317
261
396
248
298
269
311
332
324
388
261
303
330
299
302
351
250
337
221
317
359
337
299
255
412
251
332
351
360
182
366
246
238
248
277
368
388
290
266
244
405
308
392
327
325
275
319
295
356
376
346
339
297
358
247
350
332
305
308
257
372
323
288
280
280
278
309
317
264
367
330
312
295
305
240
334
301
306
340
335
338
326
332
294
334
312
200
322
359
291
384
283
221
315
308
350
381
332
244
258
282
329
243
370
411
299
220
264
275
358
343
399
332
339
315
268
387
278
325
313
250
281
342
343
271
346
280
252
368
353
363
324
351
296
316
311
298
363
308
293
243
313
245
336
286
358
284
384
260
397
308
367
277
298
280
353
335
367
352
300
368
279
336
314
278
308
300
345
313
332
243
297
305
296
376
285
246
363
324
340
231
404
320
251
378
307
372
320
374
287
329
372
326
409
343
362
337
277
349
382
336
292
369
378
323
339
383
186
321
359
342
331
340
385
330
307
333
391
293
299
332
266
316
311
210
370
356
297
256
319
374
348
345
330
322
293
251
274
310
306
335
304
308
341
374
309
355
275
344
281
323
261
282
341
320
410
378
226
370
389
385
221
365
242
340
324
367
293
211
306
307
297
272
343
383
337
359
294
273
371
314
299
301
295
344
283
338
312
347
314
270
293
375
418
241
357
334
343
298
368
387
270
268
341
326
354
302
328
315
284
264
219
260
347
284
324
269
275
394
166
355
296
425
308
300
307
364
320
376
328
291
222
307
403
307
349
392
282
334
292
349
261
340
302
311
387
372
312
380
378
282
233
335
248
322
272
389
311
336
321
312
273
255
332
307
353
305
358
285
289
374
258
282
321
356
287
360
325
321
322
384
332
304
278
348
311
328
387
299
304
367
255
369
240
225
393
386
274
264
312
257
272
299
398
243
320
283
344
330
320
340
371
370
324
290
341
252
326
250
324
410
325
370
365
220
289
303
274
370
315
283
280
317
298
284
339
306
323
334
280
240
321
404
306
395
341
289
177
374
306
308
302
339
354
332
347
265
228
269
306
306
306
296
281
290
282
306
350
284
378
263
359
333
322
303
234
253
276
279
371
329
352
386
286
328
250
277
234
294
288
299
314
364
369
441
390
326
323
342
273
376
284
371
275
283
273
315
306
340
369
305
263
305
354
276
314
344
303
361
294
350
296
288
309
374
329
321
311
310
269
347
290
375
318
283
247
250
326
299
361
263
355
309
251
316
323
296
368
288
352
327
398
258
306
318
340
258
341
374
263
380
329
357
357
367
283
327
249
341
284
345
277
352
306
295
401
319
231
261
377
326
388
336
386
287
285
439
309
336
345
351
317
341
209
335
315
330
379
308
350
424
376
241
334
330
300
305
324
357
315
273
350
334
347
333
314
348
354
316
319
286
324
334
307
297
256
278
335
376
279
303
416
217
359
314
364
323
305
353
334
263
310
302
292
352
308
315
297
343
346
313
383
298
290
314
301
306
379
172
353
269
242
329
397
388
330
282
252
308
277
232
287
381
346
262
251
387
342
382
403
283
319
306
376
303
330
346
327
327
306
267
377
324
204
283
348
334
280
346
270
354
270
338
318
316
326
272
330
249
226
276
294
264
348
275
383
300
277
255
388
391
328
335
333
255
340
232
301
252
260
322
339
284
370
376
353
247
325
302
341
370
238
303
242
304
386
303
299
396
317
343
366
221
301
338
257
274
296
386
322
359
364
280
384
392
331
353
337
372
328
367
322
247
317
287
348
273
347
344
247
297
258
320
378
416
317
306
283
301
264
355
360
354
367
267
318
373
260
298
339
271
363
327
328
335
414
315
274
341
434
304
322
293
307
314
296
253
281
279
276
325
322
339
310
309
409
339
340
316
353
338
321
286
297
285
292
362
331
326
261
275
263
331
300
297
366
304
330
332
359
280
353
313
307
355
244
343
334
365
309
367
327
280
248
267
280
290
226
350
300
348
245
305
426
233
353
303
314
359
296
235
333
400
380
239
358
283
282
336
364
287
307
342
297
258
221
296
356
221
399
252
355
329
396
192
219
283
293
322
267
327
288
279
366
322
330
294
331
379
387
387
293
340
306
377
332
310
312
242
364
327
283
371
355
342
290
355
249
381
375
297
240
349
321
367
295
267
304
348
257
263
324
295
331
304
319
384
227
320
292
312
319
304
267
336
268
273
269
329
299
223
335
293
373
316
275
279
374
438
324
325
370
294
330
218
326
321
362
353
307
300
299
285
364
369
328
337
345
234
339
311
313
405
284
265
319
350
249
271
267
356
301
340
307
329
189
324
298
354
330
263
381
325
247
354
323
368
313
295
363
251
246
309
317
376
267
298
287
319
337
316
366
377
320
364
344
326
304
274
269
356
358
314
357
310
303
299
343
298
299
321
263
369
290
235
327
346
359
319
312
341
355
277
227
344
341
311
288
252
329
268
272
414
387
276
347
344
345
322
340
291
329
352
305
310
361
210
353
372
310
269
318
400
297
344
345
358
275
330
308
329
200
315
344
314
350
337
338
265
395
341
312
342
358
353
243
357
314
237
274
251
323
296
408
333
309
373
324
272
318
280
301
325
272
329
353
216
291
314
294
324
344
212
336
318
374
283
353
390
386
298
293
348
325
318
289
249
392
300
276
326
275
325
246
267
353
377
342
350
303
362
393
277
266
357
244
374
373
260
359
259
308
402
349
294
300
258
357
233
345
343
272
339
275
264
332
292
282
296
306
298
242
372
361
325
300
320
318
344
294
400
340
238
354
326
312
371
377
368
231
390
304
336
304
303
342
400
330
309
248
277
320
319
237
337
299
338
348
380
206
306
339
302
337
290
342
263
331
270
329
262
349
338
350
326
356
268
298
271
294
345
301
302
330
332
326
401
259
266
360
425
362
340
259
337
273
344
350
318
321
294
235
369
328
324
291
353
337
379
334
333
348
301
334
309
343
355
301
315
395
319
340
270
344
290
320
370
292
273
358
297
269
214
409
335
284
335
326
405
327
333
401
310
303
314
326
313
196
275
339
236
349
332
239
343
309
370
211
374
305
346
292
331
292
407
353
344
323
315
331
302
274
353
356
380
354
331
344
391
277
338
341
277
376
360
318
264
287
290
418
343
241
298
322
416
318
335
364
322
304
382
317
368
362
281
380
354
326
333
238
328
349
278
350
355
344
206
252
343
309
297
270
276
270
330
286
370
280
339
346
278
370
400
335
300
374
320
333
330
318
247
267
301
318
329
259
375
372
344
323
426
283
323
271
337
333
283
365
316
404
319
282
262
297
301
286
282
328
357
328
277
350
316
274
350
292
343
298
324
232
274
286
298
374
362
244
319
273
328
259
310
339
334
284
346
334
328
314
330
296
367
343
270
303
294
318
303
361
266
311
354
397
288
367
347
272
384
396
361
414
206
328
298
338
404
299
335
318
332
348
366
201
378
252
409
279
322
323
210
341
298
330
327
284
271
339
313
276
347
317
350
314
352
326
374
355
294
293
347
304
270
373
310
337
284
313
312
348
450
289
243
300
338
342
411
339
280
366
333
244
314
343
345
316
334
385
373
245
345
301
325
305
281
245
251
301
349
397
289
344
354
316
366
366
281
330
269
258
341
323
265
346
261
332
281
395
310
241
316
291
352
400
329
324
331
321
320
338
296
376
393
331
253
347
290
361
384
276
412
357
299
366
376
360
434
279
333
386
371
362
379
272
309
360
288
362
322
397
309
308
362
391
302
372
344
255
322
219
328
309
265
383
296
376
327
278
280
304
238
379
305
252
248
297
390
350
276
361
323
383
252
312
261
284
319
363
309
338
321
311
248
334
293
354
292
258
340
351
315
350
294
278
360
259
335
331
394
317
339
304
369
282
364
272
328
326
332
315
298
268
325
311
223
305
365
305
335
349
323
310
296
348
277
314
306
298
245
327
334
376
302
267
372
301
369
310
323
346
333
250
244
309
258
366
358
272
295
281
324
384
264
261
319
282
330
339
304
352
326
243
338
333
392
320
292
352
310
365
342
368
333
321
281
272
330
217
339
327
383
218
227
319
295
385
246
418
318
200
396
420
282
356
382
371
259
281
315
267
381
340
346
279
254
263
328
305
314
361
250
323
339
336
303
256
332
314
254
347
319
363
298
235
312
290
277
365
330
379
282
339
320
303
375
277
358
358
372
248
313
217
184
290
258
324
312
346
276
297
374
373
327
358
327
393
342
339
409
304
384
307
332
222
230
274
361
226
296
353
300
318
339
203
361
284
373
337
356
357
319
321
289
437
288
280
358
282
358
303
377
336
310
241
334
274
336
330
311
385
338
376
290
249
358
349
327
302
288
379
357
377
369
342
259
300
315
319
372
335
403
352
348
292
380
340
313
335
339
328
340
342
379
315
248
348
296
314
285
306
307
333
369
308
305
299
342
326
339
412
393
331
156
336
323
361
353
385
244
308
270
353
332
317
365
358
308
296
369
432
216
263
283
350
278
328
318
306
350
368
310
291
256
310
333
346
314
300
317
343
226
363
317
307
281
379
420
274
353
289
353
274
270
263
280
284
291
272
297
289
353
289
255
384
385
301
376
392
335
299
343
350
377
288
301
256
336
238
386
291
292
336
344
314
286
342
318
244
335
315
247
334
370
325
386
329
299
302
307
320
343
319
371
315
372
324
313
277
331
346
330
304
280
348
343
279
233
373
333
304
291
306
322
412
329
325
306
286
292
316
367
386
307
344
235
267
310
307
292
370
305
235
305
352
327
360
337
329
417
323
300
322
335
377
296
327
220
397
359
308
292
361
322
370
305
311
264
453
303
230
265
314
330
264
300
299
305
383
299
319
228
285
311
398
302
290
347
340
331
320
386
247
345
289
408
342
322
259
331
307
311
282
246
363
260
359
266
438
265
406
355
369
351
267
282
350
331
395
285
281
303
352
310
319
350
290
307
335
336
314
281
252
294
346
302
248
369
336
253
213
311
255
200
334
324
318
283
313
344
353
318
246
245
345
314
355
319
257
253
235
308
308
346
288
292
376
270
332
318
334
344
343
316
298
410
398
366
273
300
347
347
377
276
319
325
371
395
190
307
320
376
302
306
302
292
306
401
348
351
337
275
229
373
336
373
309
343
267
262
306
268
307
345
217
249
253
345
243
356
360
328
303
325
293
296
289
358
272
347
354
311
271
233
329
203
274
196
293
276
325
322
312
333
360
233
229
272
296
341
227
233
351
405
189
262
346
365
355
367
346
279
372
290
235
284
355
383
293
295
358
332
351
315
300
306
277
363
275
363
380
311
349
244
362
316
245
254
270
340
319
356
296
282
306
328
355
361
260
323
332
360
319
321
351
370
244
250
341
267
294
230
254
320
258
292
374
344
294
336
318
327
358
349
275
359
329
359
340
405
289
381
271
394
351
254
311
293
319
372
270
230
271
373
295
258
403
335
252
282
300
326
376
282
308
325
322
253
336
353
289
303
307
264
387
367
312
325
247
339
310
318
323
320
204
313
296
374
316
289
292
311
370
310
345
380
253
280
304
259
229
376
386
345
326
277
263
391
351
320
292
311
293
258
303
370
253
368
339
326
230
272
326
266
376
383
307
292
278
235
269
364
343
419
388
257
286
332
299
303
322
295
331
309
316
356
355
311
288
368
260
309
339
338
289
269
327
284
312
313
286
324
289
303
362
268
214
300
365
387
364
241
304
261
316
334
369
366
356
283
268
286
369
366
366
313
319
278
358
322
296
274
262
340
282
207
248
314
356
321
232
331
319
288
331
267
313
273
245
333
264
290
342
303
269
231
329
321
312
332
318
334
359
270
341
308
348
300
280
325
399
360
353
333
338
362
356
332
285
311
398
232
257
325
311
413
243
256
259
330
371
316
350
316
441
226
320
249
282
269
291
302
320
317
266
297
308
333
318
401
327
367
266
315
275
327
350
299
317
328
319
362
328
297
312
318
382
292
266
348
331
299
323
302
273
375
335
334
326
329
222
270
301
349
293
326
334
357
242
300
337
347
361
254
329
250
342
369
294
284
350
247
334
346
307
317
307
293
290
331
339
371
248
332
230
324
288
361
269
326
353
297
347
256
273
412
371
259
336
308
313
393
354
301
309
342
276
306
334
261
266
390
355
304
311
375
323
317
293
273
323
334
343
341
368
341
293
306
301
258
385
342
353
345
293
386
337
370
379
280
385
345
290
312
373
355
288
379
277
384
261
270
281
340
290
315
251
393
297
303
298
331
304
313
322
334
374
298
363
325
286
269
226
324
296
354
368
330
328
335
344
356
232
313
334
272
273
293
392
299
295
265
296
284
224
339
216
292
290
338
341
311
382
236
337
261
374
367
385
356
327
320
339
328
395
319
307
338
325
343
306
368
355
353
325
252
317
357
320
291
283
241
362
305
390
394
271
261
297
317
309
355
311
391
315
267
338
308
368
255
322
276
329
357
376
280
311
322
269
281
333
376
379
323
317
192
321
331
204
325
383
228
227
347
324
354
344
335
374
318
344
385
292
296
337
320
302
309
270
340
326
344
308
293
326
252
306
270
295
323
334
332
340
311
367
411
332
318
279
384
337
334
328
301
322
245
292
325
383
334
383
299
445
279
326
289
306
316
258
287
344
261
354
280
331
303
332
373
388
334
257
334
387
331
313
308
294
344
332
378
324
318
354
253
265
352
363
401
279
255
345
340
327
334
309
262
334
285
274
283
257
330
358
317
256
378
257
367
319
359
310
302
241
344
285
223
339
314
315
256
350
344
333
291
320
311
366
185
257
330
274
393
245
375
353
359
299
395
327
325
308
340
343
364
304
378
345
299
380
321
308
357
302
306
296
345
360
290
257
360
304
399
386
287
314
335
370
265
389
375
263
345
316
263
318
286
327
354
405
339
294
324
248
302
334
258
281
326
301
394
343
224
410
334
345
327
354
374
286
384
221
324
392
282
342
354
345
281
377
279
351
335
394
304
425
310
337
292
394
368
332
253
313
322
279
237
408
314
321
278
359
303
318
245
335
323
250
237
373
382
217
252
269
257
313
308
300
396
358
357
288
339
474
285
303
391
329
308
219
261
211
283
306
367
314
334
333
322
291
325
304
377
309
295
400
418
243
345
307
267
328
299
262
269
365
373
302
339
327
335
371
386
290
359
313
377
321
252
368
241
310
283
280
323
328
347
350
388
340
291
229
295
403
320
266
197
332
333
360
296
290
387
262
375
329
244
319
316
292
362
332
283
317
331
291
297
320
302
352
269
342
297
283
376
338
298
298
298
317
354
159
277
326
274
308
298
351
290
367
337
323
311
295
337
380
278
399
312
399
302
334
320
290
311
355
330
313
296
354
356
317
229
361
372
295
279
353
343
356
252
284
308
357
359
326
265
291
287
361
314
293
267
350
344
285
416
326
246
335
283
258
283
351
277
307
362
314
335
358
258
304
289
331
334
332
407
261
300
303
304
304
275
353
331
330
239
348
324
325
333
295
299
363
342
360
263
339
351
231
389
249
329
329
285
316
289
266
309
186
308
381
310
363
286
335
267
340
343
338
356
291
352
298
278
351
187
221
298
279
274
390
328
321
322
350
331
292
267
339
305
365
398
356
352
303
269
309
275
273
351
269
218
324
307
280
301
319
242
408
314
290
300
424
286
340
258
343
316
295
297
339
319
360
318
261
357
361
272
282
187
291
272
324
355
366
383
268
300
322
281
289
336
360
281
310
317
350
328
341
346
331
252
386
239
313
307
298
321
327
387
270
325
309
353
242
348
313
305
381
351
350
361
319
288
341
351
407
364
277
311
314
373
375
328
213
244
271
360
283
274
323
347
291
266
343
328
342
343
281
268
340
355
336
343
283
318
350
334
369
268
386
353
284
347
329
368
386
280
252
267
277
333
311
325
316
281
233
338
235
305
365
349
341
311
419
351
329
325
341
336
339
296
318
186
272
330
292
379
317
391
329
349
331
310
285
313
251
286
329
262
305
201
285
263
280
310
323
255
347
382
326
250
279
338
319
278
326
278
207
268
300
270
320
278
377
313
370
266
339
300
379
388
251
353
340
338
373
314
418
311
320
284
369
303
427
256
312
302
394
207
331
280
375
358
234
288
332
450
346
259
271
328
277
283
381
335
380
389
329
313
293
322
267
295
365
319
319
354
280
253
321
398
285
269
279
319
292
273
283
373
333
321
350
347
303
316
293
315
361
270
346
313
294
281
333
329
328
287
349
310
327
277
369
334
348
387
291
359
203
337
378
357
202
325
219
295
319
272
256
374
265
308
271
268
250
392
395
284
306
319
272
280
332
332
306
400
372
314
396
311
373
215
366
374
403
342
329
220
260
285
289
222
409
278
231
303
307
317
307
335
266
353
337
358
405
352
360
277
309
297
270
291
381
282
382
351
295
334
325
302
361
263
324
291
353
296
340
263
333
383
331
289
408
339
302
325
296
289
322
377
316
351
241
346
432
339
283
328
336
294
309
343
315
252
287
318
419
374
290
339
398
306
318
329
394
361
331
343
357
292
304
285
257
383
318
340
343
342
325
220
295
266
228
310
323
369
240
333
322
281
256
340
373
298
310
305
294
206
321
304
308
367
341
343
313
392
312
324
292
307
390
305
268
321
305
305
378
333
291
302
254
287
383
376
212
366
384
282
343
237
236
329
253
345
461
354
332
375
293
292
353
304
368
308
258
273
323
347
291
226
308
333
227
281
291
357
246
354
330
298
350
301
369
362
377
328
300
370
307
242
317
293
326
353
382
303
289
351
369
338
266
298
313
269
234
409
386
376
348
384
363
362
295
290
273
303
341
289
363
310
380
315
263
314
338
296
283
351
284
282
252
258
307
249
316
253
262
341
368
339
450
337
351
295
278
343
291
294
275
260
242
389
320
296
360
293
202
297
346
272
357
270
393
331
362
274
327
272
339
252
281
280
301
384
292
326
279
222
384
315
336
352
381
370
224
300
348
337
365
340
311
310
350
407
303
360
288
364
324
395
306
345
297
299
334
288
348
321
339
230
295
375
278
282
335
304
387
350
306
298
263
410
364
358
306
334
283
306
314
324
341
301
362
279
280
313
330
375
329
232
337
335
348
353
359
286
257
393
338
323
351
334
386
332
301
318
325
274
343
378
342
274
352
314
300
294
212
361
351
322
308
315
377
248
366
320
350
274
337
380
268
276
310
248
286
270
330
309
294
309
317
276
250
371
371
278
311
314
376
278
317
311
382
397
337
395
345
351
297
313
344
250
259
238
305
344
279
279
210
370
248
297
342
336
323
336
238
278
296
336
340
280
199
362
357
295
279
311
325
340
217
277
397
383
264
306
432
295
339
444
351
288
354
279
306
361
304
337
296
324
253
326
300
249
277
303
356
348
390
293
361
302
336
332
343
295
240
336
231
419
278
295
326
373
375
286
419
277
293
333
385
359
264
251
346
303
395
289
266
305
330
274
317
271
358
354
370
260
327
353
388
347
331
326
299
352
320
321
312
325
260
278
252
295
238
265
324
325
317
135
263
294
321
336
254
308
300
384
323
265
323
330
379
367
315
219
409
292
256
295
313
297
389
290
244
365
319
333
315
284
248
305
332
334
277
299
350
295
351
273
323
252
306
309
224
299
375
340
250
404
313
347
264
310
388
326
282
207
304
333
332
350
384
371
348
281
337
306
368
387
312
274
319
287
365
392
338
311
336
367
329
276
254
322
343
306
220
414
247
345
304
289
342
308
347
292
328
357
267
329
338
301
341
254
383
283
298
279
310
347
330
360
288
310
354
341
410
322
227
280
277
373
261
365
346
338
267
291
274
272
261
314
375
252
345
295
392
278
400
300
317
397
398
394
312
314
369
251
266
316
309
403
297
293
301
331
295
279
285
275
385
344
413
337
365
261
341
295
354
341
333
295
245
331
311
375
327
320
303
270
326
406
310
274
341
219
321
280
332
333
238
293
317
317
346
199
305
229
403
378
273
230
429
391
339
295
338
360
378
310
335
309
290
331
309
323
353
249
278
309
297
367
375
313
347
342
293
380
235
249
356
260
288
280
366
287
302
284
348
289
310
315
350
256
300
240
257
393
255
352
325
279
360
327
330
368
301
319
363
336
321
356
337
289
342
304
384
389
285
279
321
328
319
315
376
244
325
234
380
250
294
275
304
388
315
348
429
303
297
364
320
296
278
303
315
269
248
327
317
355
386
328
352
302
267
356
300
384
300
370
302
315
321
267
345
286
243
344
321
437
294
314
316
321
306
280
337
286
268
363
374
312
256
289
300
302
360
375
315
358
373
328
316
263
337
371
336
301
301
287
376
205
304
173
317
308
307
296
251
311
352
320
297
290
288
312
397
391
357
301
233
278
300
220
248
337
356
297
293
233
293
347
300
349
283
298
321
341
275
389
297
278
344
349
371
308
301
330
363
313
336
359
264
357
336
314
232
321
303
313
302
266
291
337
398
275
310
296
330
321
269
332
270
346
342
277
295
422
324
321
221
385
333
342
317
346
331
327
286
333
282
395
319
303
392
365
289
342
268
316
266
268
356
356
272
283
244
366
404
340
321
259
358
306
310
336
410
406
256
440
313
333
252
282
311
287
286
329
338
260
299
364
335
286
306
307
360
303
318
416
278
315
307
341
319
330
331
351
220
334
298
317
308
296
297
430
221
350
372
254
385
355
360
309
238
315
374
365
380
371
255
272
376
292
358
318
288
312
304
294
298
267
275
265
333
318
350
319
353
289
292
311
274
327
268
304
356
246
355
316
317
264
360
323
281
249
315
259
374
316
257
298
277
287
271
306
370
269
266
367
337
324
192
261
289
323
344
324
293
346
245
354
280
319
392
318
334
392
326
359
297
370
340
364
334
322
374
352
327
303
318
413
357
333
223
282
276
351
344
352
298
379
325
466
295
319
315
385
274
319
325
237
260
318
314
362
314
279
401
286
329
296
273
364
379
326
362
312
307
388
292
295
346
341
292
268
373
321
347
364
304
294
331
296
346
264
260
374
313
405
287
314
309
368
427
322
402
326
335
342
259
261
369
318
336
354
240
356
314
330
308
343
224
245
303
328
384
340
374
400
325
258
304
301
335
293
388
260
343
223
261
340
363
356
293
297
263
327
309
311
329
337
347
266
360
375
300
351
276
319
331
315
373
385
275
290
327
308
362
382
333
327
247
398
328
356
196
403
325
308
255
235
291
211
401
295
318
332
383
347
351
297
335
365
347
424
287
339
330
236
311
266
303
324
345
294
282
325
220
259
277
256
349
294
340
278
363
351
311
276
377
353
333
265
282
308
350
261
260
359
340
264
305
320
310
334
252
293
339
349
361
354
308
307
292
304
321
422
409
356
351
287
280
340
310
317
347
327
328
323
335
321
319
284
314
363
354
314
281
307
298
346
312
333
320
346
362
413
259
287
379
306
258
386
321
297
353
263
387
370
346
317
361
287
346
314
293
405
406
364
308
258
266
348
284
287
286
346
259
269
338
353
206
282
374
321
264
301
410
284
261
281
294
274
339
343
318
283
396
322
330
420
308
404
366
345
311
263
249
339
330
330
268
297
291
340
367
316
262
397
251
391
337
290
289
348
353
298
338
278
274
349
297
278
264
383
344
348
401
390
317
266
277
310
327
283
309
286
373
373
312
315
361
273
268
319
342
338
264
304
354
277
359
270
313
301
310
365
270
287
308
285
349
284
203
246
254
325
364
241
299
358
414
337
354
277
334
310
365
239
341
419
331
284
310
348
353
313
278
321
289
360
385
383
345
278
352
401
271
337
326
307
287
363
342
327
389
348
302
394
330
283
321
403
275
304
301
345
365
391
218
256
338
322
320
343
339
359
316
336
358
281
384
362
323
422
329
325
329
257
282
323
304
348
244
228
339
262
348
346
265
242
276
363
224
274
228
288
293
325
253
261
357
220
239
312
326
279
310
268
312
376
301
351
339
329
296
312
289
311
278
343
281
259
336
363
206
394
328
251
369
322
316
263
302
315
318
315
347
364
404
262
310
327
274
312
401
423
331
245
344
274
262
343
291
280
307
298
339
271
280
355
344
339
252
321
298
337
327
338
331
299
230
358
321
303
256
334
267
276
300
365
350
333
332
349
349
317
349
318
332
335
424
334
416
277
253
316
353
248
288
240
274
325
285
400
306
355
345
336
244
346
305
277
367
350
406
312
336
343
267
264
318
334
277
347
406
315
241
311
300
382
321
300
313
271
329
280
351
257
357
259
380
245
331
346
334
309
275
307
263
384
306
318
328
322
382
334
288
302
290
322
415
371
393
282
342
305
343
316
334
335
250
242
279
301
380
391
339
283
309
327
347
391
376
374
338
248
245
358
287
321
248
245
395
381
316
308
321
257
275
355
341
293
340
249
250
344
305
337
279
279
357
286
306
196
367
392
277
258
355
290
404
344
337
268
297
335
337
332
279
350
260
294
345
345
341
386
263
286
334
352
355
277
354
335
289
330
310
288
327
345
301
334
270
264
281
344
403
306
347
262
363
277
346
355
349
258
265
259
296
337
276
344
392
307
333
431
319
347
298
238
381
364
357
329
336
320
332
277
311
314
368
372
381
293
324
361
293
306
293
286
272
334
291
340
286
305
311
336
392
346
259
347
294
281
358
294
312
321
283
376
312
271
269
287
325
342
407
321
332
329
359
319
370
215
310
321
272
293
320
330
273
255
297
343
353
329
341
270
306
276
252
248
267
366
347
345
354
354
337
299
357
344
302
351
229
298
374
267
316
290
394
296
324
367
316
305
411
396
306
325
340
262
238
284
299
230
292
328
300
349
303
396
359
303
340
342
288
295
290
374
313
289
324
304
324
276
290
306
347
295
350
327
368
310
378
282
305
318
331
277
288
336
376
327
258
334
302
266
272
310
358
290
271
369
403
289
297
320
379
349
269
335
338
312
399
278
310
353
341
375
377
377
346
295
317
299
388
384
306
310
287
306
288
259
219
361
381
293
265
363
295
258
319
292
278
388
318
275
303
325
269
327
319
301
339
306
217
365
316
372
373
285
289
331
299
313
317
316
298
275
406
372
324
352
309
291
310
331
335
336
308
317
300
285
259
356
336
253
348
252
314
368
318
242
309
262
326
343
317
335
217
257
312
264
314
279
322
282
360
367
276
295
366
352
323
343
327
361
292
374
340
316
327
334
357
314
392
247
364
324
345
334
328
258
256
400
349
346
325
372
314
325
322
282
325
301
364
327
325
309
253
345
342
292
307
273
276
306
329
348
335
351
298
336
304
336
243
273
288
346
335
282
274
233
329
288
226
261
269
359
297
315
361
287
356
331
353
364
328
365
292
249
301
234
291
380
254
311
344
339
248
308
309
336
323
304
319
335
343
266
276
301
276
385
378
314
310
304
325
345
260
316
287
273
229
360
300
274
274
372
323
319
330
300
307
347
355
292
324
362
344
261
331
309
336
353
358
302
308
399
268
384
315
356
292
305
259
287
357
335
323
243
333
298
277
288
381
286
384
345
251
322
277
336
321
400
365
305
347
271
322
269
383
340
284
318
332
393
284
352
314
318
333
363
366
270
308
294
297
278
250
330
270
331
350
342
353
395
306
406
378
370
368
291
385
371
278
353
315
327
292
292
251
369
295
341
411
331
326
302
283
318
308
376
230
317
366
322
293
241
327
324
353
320
294
237
285
324
263
389
370
301
370
325
297
275
281
398
256
305
321
265
314
326
402
364
364
281
330
306
370
221
338
344
257
262
374
379
349
320
292
266
235
314
308
434
342
382
323
321
366
336
242
354
343
325
349
295
322
355
381
364
296
260
349
334
340
371
300
375
262
259
327
300
353
290
332
297
281
293
333
369
316
378
310
309
281
349
333
352
356
313
398
361
300
206
372
327
327
308
348
315
381
240
280
331
289
296
353
395
287
336
266
315
300
308
333
319
354
356
359
278
248
367
399
234
322
265
346
400
344
332
315
302
364
386
241
342
311
299
334
354
319
342
253
339
353
328
334
287
314
399
339
311
341
252
338
291
360
281
318
342
378
239
329
316
244
298
370
347
377
322
288
333
345
324
319
327
339
312
308
312
336
272
307
355
312
292
288
234
233
357
336
360
399
311
327
315
219
349
341
370
317
348
289
357
410
300
320
249
322
322
366
365
320
312
347
320
234
381
287
281
314
312
205
351
400
278
327
286
369
327
266
318
244
394
275
302
284
320
317
316
347
326
371
365
308
324
312
295
407
314
346
378
299
312
307
238
345
334
404
318
348
352
256
354
385
356
260
242
297
388
277
360
329
357
284
330
278
320
317
328
212
357
362
332
357
332
299
279
268
285
304
313
370
335
311
316
313
410
355
347
355
234
288
304
350
330
286
422
275
369
319
358
328
338
347
312
321
244
305
334
330
321
388
301
277
301
296
346
339
272
261
319
284
266
363
325
315
335
279
362
329
350
330
340
336
308
420
355
316
309
307
255
391
279
336
340
241
404
378
359
289
381
347
374
245
395
262
338
315
366
321
355
354
279
329
300
206
264
420
213
314
307
329
308
312
357
375
422
347
286
333
329
288
305
231
243
358
298
281
223
288
246
279
318
282
226
305
404
317
285
360
341
285
288
360
318
324
359
389
312
320
403
278
359
404
349
255
346
277
239
307
347
278
314
302
326
326
347
362
316
281
273
356
365
336
376
274
356
330
256
314
268
323
288
294
270
312
323
289
326
393
273
314
254
328
361
370
266
310
365
337
374
339
327
291
336
343
409
348
301
358
339
304
350
338
265
303
256
319
298
299
430
388
229
325
201
225
292
315
414
323
343
359
253
277
327
236
332
335
329
339
302
330
285
311
341
294
322
337
339
275
281
286
260
281
332
307
312
345
289
244
336
240
329
205
256
319
294
364
346
326
305
335
344
263
370
328
340
348
259
216
345
300
348
330
307
272
381
331
281
323
363
250
294
282
352
366
282
330
363
310
285
324
263
308
313
324
300
333
237
322
332
321
311
321
332
271
295
296
245
331
431
326
204
390
348
342
347
268
371
327
218
374
272
338
327
251
342
331
327
334
364
342
383
310
294
252
263
336
290
294
355
305
315
357
352
402
369
341
342
275
361
286
330
250
279
326
276
266
264
375
296
254
255
267
379
226
357
342
201
249
229
311
337
333
263
242
239
345
326
347
343
330
370
417
311
363
300
304
352
333
330
259
340
305
330
334
239
311
356
267
285
299
359
347
307
266
326
299
259
266
295
311
304
353
356
304
238
305
348
329
280
361
362
298
281
215
292
356
300
321
319
317
344
278
334
335
301
310
322
327
307
263
370
253
296
198
313
321
265
363
258
346
318
242
311
362
317
334
341
344
295
298
288
361
282
274
350
290
379
251
327
373
295
366
349
384
285
262
335
278
270
314
267
295
368
312
338
356
317
321
301
259
392
262
423
310
352
302
211
315
331
352
237
340
429
305
262
263
245
325
356
322
341
329
285
310
270
340
368
373
349
254
283
232
325
249
313
293
335
316
360
295
281
314
305
359
353
293
242
320
393
314
304
349
327
229
301
288
262
375
351
362
301
280
353
300
384
332
298
316
228
432
261
314
310
339
293
374
295
276
320
283
310
316
318
417
356
356
324
325
286
304
232
364
387
253
321
353
233
354
315
334
346
238
297
209
315
277
334
320
322
349
309
311
374
345
318
309
278
378
314
314
298
342
268
310
378
360
352
283
349
376
308
305
278
309
389
346
278
361
279
303
266
357
321
302
318
382
351
271
316
330
219
340
326
336
288
258
287
316
329
348
380
322
401
347
329
349
327
373
311
220
286
384
337
351
276
250
357
254
373
303
354
316
389
358
393
329
253
367
351
298
314
320
296
343
231
306
319
331
332
350
340
332
260
269
284
321
325
345
181
379
424
368
350
308
343
296
385
332
368
319
324
356
316
279
279
276
376
333
261
387
319
296
289
355
273
370
346
347
294
246
330
327
245
378
395
360
261
304
304
374
359
268
268
303
301
344
294
326
348
341
327
293
316
400
313
298
286
333
340
282
351
328
295
370
317
291
244
286
304
342
314
283
230
289
380
223
238
372
265
323
227
337
286
316
366
349
339
294
314
330
346
315
373
397
346
302
274
350
324
256
260
278
275
246
288
363
405
265
348
376
354
406
292
220
304
240
273
348
317
346
283
317
350
323
352
270
294
305
358
315
316
315
366
350
290
255
360
268
314
336
342
275
300
288
368
303
330
340
342
290
264
272
397
334
354
328
356
329
288
316
265
303
287
356
303
350
330
282
269
340
286
298
247
329
342
343
292
293
247
270
327
316
316
269
275
316
303
256
397
367
350
344
341
418
307
331
347
254
368
373
333
328
315
266
276
272
368
328
332
237
337
365
340
276
351
314
290
329
298
233
285
284
370
363
235
297
385
308
313
344
374
285
286
279
357
331
274
260
281
295
271
340
377
360
317
306
286
379
326
266
361
306
290
349
359
237
294
348
309
257
237
290
317
370
318
324
314
353
360
342
312
351
391
327
413
283
379
303
383
326
372
267
267
286
355
284
264
344
269
318
203
342
314
362
284
212
225
210
319
413
250
358
324
365
288
305
350
294
369
382
349
269
355
375
298
318
292
369
298
353
302
352
294
388
253
319
362
374
291
376
239
348
400
312
317
378
396
321
349
341
362
320
282
279
342
281
428
360
334
357
325
319
313
399
297
360
328
240
323
350
374
322
308
371
319
333
329
220
308
338
308
288
374
335
405
283
390
272
269
375
296
402
335
295
363
267
306
298
236
342
319
301
389
222
314
350
360
344
326
335
370
330
390
368
371
295
320
300
370
346
340
296
244
325
254
380
330
301
317
300
293
343
314
305
298
398
252
264
384
277
307
359
305
261
392
364
319
291
353
410
300
347
307
355
321
234
358
333
336
406
317
267
279
352
306
307
309
277
289
423
283
239
272
346
326
358
279
350
355
296
272
357
275
300
338
320
332
375
267
294
315
334
240
390
307
371
367
298
322
287
386
294
342
390
357
323
337
328
274
297
283
345
337
320
309
345
288
340
250
363
247
276
371
336
249
308
299
334
255
310
339
243
298
276
275
313
345
292
275
308
389
329
263
303
337
264
316
313
335
363
258
324
312
388
339
345
351
413
270
340
364
336
359
292
291
266
310
376
335
316
369
323
308
281
289
292
330
281
352
211
335
358
345
272
344
281
329
234
329
302
326
296
292
346
304
236
340
378
311
267
323
323
298
314
232
295
302
345
376
273
294
411
310
325
286
331
346
350
253
336
326
227
341
301
368
374
308
367
344
382
287
303
313
359
255
275
383
279
331
409
358
335
260
343
275
344
300
302
346
335
282
331
314
286
289
319
277
370
341
336
331
333
296
257
429
388
351
273
369
344
309
322
317
355
363
315
350
341
187
304
335
257
394
313
294
232
275
381
402
297
344
431
344
260
354
276
335
369
346
323
295
290
301
325
264
337
405
352
362
324
293
349
332
282
361
277
357
337
316
371
361
317
305
309
280
232
321
268
264
317
297
354
248
260
342
241
352
337
343
352
241
354
339
282
259
347
363
279
247
310
290
296
245
219
276
378
333
314
398
323
316
277
354
282
305
340
315
367
247
328
346
296
309
353
345
295
311
266
306
357
251
311
351
262
295
317
215
332
336
295
352
393
349
301
324
398
268
292
333
281
313
342
299
302
342
336
335
357
346
397
320
343
330
348
199
266
356
239
353
334
282
328
363
332
272
259
206
242
326
395
251
374
247
349
422
386
313
264
400
308
371
284
328
316
336
355
361
272
354
324
303
280
410
273
294
358
307
265
270
293
396
299
300
198
305
299
332
293
283
241
338
356
407
347
341
318
329
288
433
334
378
295
369
367
376
294
298
357
301
269
289
246
294
274
425
337
332
258
359
301
315
238
295
282
273
332
254
257
289
328
249
244
360
313
376
326
334
360
353
316
333
271
267
251
335
353
326
401
345
301
348
253
342
341
296
287
287
339
363
338
317
279
346
242
293
357
321
331
330
343
347
217
244
334
279
385
264
253
413
359
302
306
267
411
275
313
362
353
392
304
296
359
356
357
274
273
319
272
360
318
322
381
370
347
263
274
236
400
281
387
318
348
344
306
315
246
343
318
365
203
360
273
332
320
355
266
326
347
266
351
342
327
347
374
337
330
258
354
272
374
296
280
228
251
309
248
297
330
272
341
359
360
309
303
325
357
344
363
274
360
370
338
317
252
353
276
288
362
319
281
300
258
255
365
298
235
323
364
289
286
373
270
276
280
277
282
254
301
294
344
333
300
209
302
257
292
284
373
380
295
304
281
318
322
370
393
334
341
289
330
327
341
324
275
348
313
320
404
317
268
312
380
265
312
371
345
347
265
315
296
267
287
332
277
254
315
347
270
365
322
417
319
342
336
346
375
332
335
380
337
360
338
346
329
325
235
292
296
256
254
248
309
323
328
266
374
349
288
381
341
298
233
358
336
307
289
335
335
301
278
286
355
344
265
289
260
316
334
338
314
331
294
276
333
332
280
316
280
238
329
341
214
329
367
289
167
370
278
402
319
271
358
318
327
305
351
344
360
352
350
325
360
291
314
328
307
386
290
346
345
386
328
273
265
346
330
393
361
302
332
287
343
271
329
351
341
302
345
296
345
376
361
251
332
285
316
259
313
376
375
232
293
301
334
330
236
282
299
289
267
306
280
415
297
309
326
349
332
356
371
352
366
184
335
228
374
314
367
308
355
266
318
323
242
365
303
282
329
365
269
304
374
333
327
380
292
305
273
308
333
357
323
286
327
263
287
398
375
265
382
267
322
275
278
280
266
358
292
262
337
337
324
297
321
352
290
312
301
289
348
372
337
269
342
417
263
304
286
283
397
317
413
425
353
294
351
297
270
357
404
296
356
311
331
305
369
319
398
396
375
338
322
355
353
253
335
275
388
324
346
378
312
349
243
275
324
305
306
347
322
234
352
305
283
324
313
302
295
251
267
284
338
215
355
287
371
356
341
276
286
381
289
307
360
289
323
386
236
276
285
360
327
283
391
388
329
360
368
380
311
368
343
336
332
208
334
342
356
269
331
314
370
284
209
276
219
296
369
270
357
341
359
260
339
270
326
311
329
351
322
277
371
272
378
284
400
312
236
254
323
363
294
342
357
306
317
311
307
391
327
354
295
394
377
253
386
218
302
319
389
267
329
344
396
340
362
290
368
281
289
332
244
284
316
427
317
236
301
297
261
262
307
296
303
324
372
322
286
371
383
318
303
321
285
318
317
298
253
300
299
315
273
333
281
269
305
333
274
297
277
223
305
314
226
325
314
298
294
336
287
232
290
243
258
335
341
343
368
342
233
307
337
361
240
418
309
294
404
393
388
314
338
336
337
301
261
238
362
302
292
335
260
389
280
309
304
356
294
269
282
322
332
368
380
251
329
339
327
364
317
359
254
312
342
325
362
299
264
381
329
254
355
302
337
264
347
252
376
374
321
372
302
316
295
366
328
293
343
286
377
352
282
290
239
247
292
306
408
357
404
373
335
333
284
326
317
409
283
360
402
318
355
294
263
220
297
239
304
278
303
261
256
291
307
342
396
322
320
269
348
417
262
301
370
231
359
349
223
314
328
355
308
345
320
256
338
290
343
204
223
373
257
310
369
337
342
332
365
354
317
349
291
314
305
360
309
374
288
283
257
315
368
271
373
343
278
351
297
312
387
261
401
357
321
328
309
293
316
338
281
331
266
324
312
450
216
319
269
384
226
261
284
176
314
366
308
377
302
259
308
307
346
283
336
339
345
287
273
302
422
299
321
327
272
305
296
299
296
396
315
284
254
283
362
289
316
392
322
274
365
306
343
369
334
279
306
354
340
338
355
288
292
309
306
321
358
307
375
324
371
367
223
397
305
386
253
319
371
364
371
330
285
284
195
361
305
272
325
342
284
386
321
316
313
383
352
322
338
320
249
349
246
385
348
334
400
226
232
237
312
285
334
269
319
323
234
298
328
352
262
391
295
325
293
339
220
320
331
248
329
341
302
334
253
265
361
372
333
290
287
310
381
383
256
308
269
362
262
344
349
329
278
314
275
297
286
358
354
263
312
274
321
237
301
269
317
370
369
354
230
302
277
293
350
327
371
363
346
258
297
359
322
327
329
403
379
276
235
282
313
341
335
303
308
309
349
307
295
331
273
258
305
361
356
337
371
300
251
233
383
314
320
341
332
341
356
328
366
294
385
356
332
278
311
342
356
274
345
374
377
344
317
337
280
312
322
287
286
367
349
307
316
303
195
342
338
287
294
267
322
315
279
331
350
328
347
219
353
397
266
395
338
378
388
315
384
301
281
293
313
265
345
370
261
290
378
334
236
241
246
328
294
313
266
282
266
261
376
378
416
296
338
317
350
403
275
322
217
344
292
299
397
282
247
300
322
318
329
348
319
292
239
357
308
326
302
260
309
245
377
302
374
357
323
351
335
300
287
261
369
327
376
318
243
276
346
237
336
347
358
311
359
332
351
376
326
285
295
320
263
295
319
299
280
295
347
273
302
307
351
308
267
335
311
404
349
257
311
322
358
286
274
269
283
295
295
312
226
399
310
348
289
329
341
266
325
304
286
294
300
201
298
347
290
239
284
250
355
346
286
300
276
334
306
262
403
321
275
397
382
302
344
349
316
342
323
247
387
280
329
377
388
356
378
317
263
247
321
325
327
307
316
293
275
353
376
210
241
298
352
244
329
357
318
371
400
253
324
321
290
266
345
346
417
353
351
353
255
352
367
303
365
297
319
356
299
284
297
276
375
325
420
348
288
310
350
323
331
282
323
260
386
297
344
355
319
287
284
403
353
308
273
367
269
243
346
327
304
294
390
330
310
253
298
260
273
258
355
323
316
338
323
301
312
364
313
388
246
316
296
404
347
377
298
280
266
292
266
300
236
280
315
361
342
284
279
282
303
203
288
297
368
329
316
318
310
278
333
319
308
374
309
267
309
246
295
356
349
359
322
319
373
306
319
336
343
335
340
354
317
331
266
337
248
250
400
315
340
350
356
305
222
352
335
205
265
377
314
333
316
295
290
265
261
255
301
364
285
310
314
344
302
394
349
419
294
308
322
244
319
338
300
287
375
256
353
371
366
361
323
359
304
331
287
371
253
308
386
321
362
348
326
262
305
270
288
297
301
395
314
248
331
347
295
325
385
341
282
213
315
324
328
394
298
383
342
344
210
264
365
320
366
317
384
375
318
350
369
316
312
413
248
341
332
386
331
346
290
277
354
367
350
314
339
391
279
318
348
307
321
286
376
284
335
366
325
273
351
279
363
342
403
277
308
297
261
348
305
248
302
307
313
244
384
328
326
327
270
352
225
253
338
330
271
296
333
418
310
330
287
304
384
361
356
245
400
365
310
286
275
332
255
405
283
377
287
299
284
306
335
229
389
334
327
239
257
362
254
360
311
376
371
346
324
338
323
358
344
340
390
311
318
324
349
288
286
302
356
336
333
324
388
302
245
331
298
283
345
328
306
336
391
292
180
279
393
350
282
339
370
346
326
260
369
250
325
307
236
257
270
315
301
297
378
283
316
331
274
339
338
316
292
315
327
359
358
280
288
277
374
341
350
281
317
303
355
363
314
400
366
310
355
361
232
307
365
403
184
305
351
290
344
332
265
289
391
358
313
254
318
276
326
270
297
305
362
228
340
324
365
351
338
297
283
260
288
322
317
337
250
291
320
379
345
305
357
308
274
335
357
334
291
280
407
299
398
263
266
457
351
307
291
298
335
310
274
331
360
351
298
335
348
283
415
271
342
243
388
277
251
309
326
326
262
367
377
356
333
308
314
350
354
358
333
238
290
263
323
258
405
335
346
248
309
376
332
367
335
360
339
323
358
296
288
377
283
277
333
324
282
298
306
278
299
346
357
289
327
354
286
342
330
349
332
239
324
301
284
238
266
262
359
365
363
273
346
346
325
350
283
337
360
259
349
328
295
303
327
305
352
207
346
315
311
257
274
260
320
306
374
303
331
325
224
419
410
224
296
331
218
385
344
388
365
348
330
319
349
278
330
355
320
292
291
391
300
314
241
306
287
256
309
324
280
393
266
219
320
274
281
343
255
400
253
326
332
347
312
283
305
309
369
236
253
277
319
342
355
281
316
322
290
343
334
398
339
340
259
337
366
325
245
352
348
322
279
394
347
306
397
345
365
398
329
374
273
275
308
283
403
378
267
315
325
331
307
338
246
280
324
355
355
326
355
333
297
412
383
311
331
197
341
314
350
272
314
379
379
323
392
393
322
333
316
346
352
289
300
193
331
310
277
246
278
230
329
261
371
278
279
319
281
368
266
303
215
351
387
314
347
394
329
218
238
248
267
279
299
334
293
242
292
355
362
253
367
292
327
313
313
327
271
334
335
235
319
342
253
302
245
322
430
422
269
346
312
347
317
401
388
321
263
375
347
388
317
287
363
319
238
271
274
382
328
323
278
327
330
404
358
294
281
200
281
325
285
364
331
340
353
332
395
184
247
331
377
366
376
282
289
295
339
271
377
320
343
358
347
252
280
316
301
222
374
332
321
333
322
408
315
356
295
293
271
301
265
352
350
307
212
350
332
305
385
342
306
293
334
299
276
361
343
284
299
375
332
281
316
291
298
324
314
378
328
308
319
328
332
288
341
386
308
295
282
360
264
305
273
249
290
295
327
331
254
339
345
356
302
318
256
334
326
357
346
266
401
353
312
390
297
350
344
357
307
324
341
274
318
275
348
279
265
260
381
365
393
332
335
387
350
284
317
267
309
347
240
347
292
248
263
324
348
327
310
309
411
374
256
265
304
341
317
311
257
386
270
294
332
255
329
312
324
213
334
292
310
210
385
342
282
367
245
361
419
341
365
303
340
333
238
332
314
342
314
381
273
227
278
301
373
376
306
280
318
314
354
278
304
413
353
335
319
263
357
349
270
298
382
199
240
336
245
385
346
345
276
380
275
281
291
359
284
341
350
316
393
297
302
349
224
383
387
259
255
347
353
290
347
335
373
342
286
311
263
408
354
325
334
334
331
326
304
367
296
322
294
269
329
296
296
300
213
354
300
286
252
258
352
263
371
366
373
345
323
304
334
300
227
337
336
316
251
389
252
274
282
330
307
332
354
264
329
335
366
295
327
327
344
294
361
391
347
295
309
276
312
318
345
306
284
298
401
397
287
338
403
333
264
298
347
269
330
269
305
278
341
325
419
301
290
419
224
320
294
329
288
271
295
384
362
305
311
322
302
354
400
266
306
324
344
357
228
414
303
320
334
279
328
359
403
296
389
355
268
303
316
290
261
330
359
321
230
303
263
233
359
291
347
362
304
332
317
348
282
249
273
329
379
179
247
318
314
312
284
344
337
326
387
361
432
354
254
284
361
273
307
320
319
284
345
335
226
281
337
289
412
327
302
384
375
249
321
336
321
315
319
296
375
272
309
349
248
328
324
320
374
249
354
318
263
276
358
351
342
207
371
301
322
343
305
354
275
304
284
328
325
269
328
303
342
321
357
340
282
214
342
301
310
381
337
321
182
332
221
221
215
327
318
290
323
309
302
390
255
339
276
346
341
351
363
298
311
366
310
378
383
396
343
373
250
345
300
342
375
320
333
287
370
357
356
283
327
320
362
301
221
316
229
316
390
371
326
282
365
261
277
311
313
315
340
224
288
309
237
271
353
247
279
350
349
346
219
240
254
268
393
226
325
342
318
235
268
318
250
266
291
395
312
260
324
359
378
350
246
335
356
296
213
262
360
305
277
387
366
232
358
365
275
392
309
358
341
319
359
362
361
305
356
263
357
273
276
299
307
365
333
340
328
312
404
266
315
268
332
281
371
330
311
356
258
368
299
316
368
422
280
329
250
370
351
297
321
356
352
283
311
165
356
325
341
367
358
288
305
286
267
278
394
313
315
316
316
370
325
294
312
246
325
359
239
281
326
317
254
284
226
308
287
303
300
319
286
291
249
326
408
377
351
303
315
296
314
307
332
312
306
292
359
348
353
271
370
296
393
289
332
400
349
377
327
299
372
372
310
260
340
331
386
396
304
306
300
301
284
406
358
373
289
318
373
346
336
283
325
286
292
307
361
347
281
283
321
266
277
340
357
407
329
304
278
323
297
271
305
332
280
383
249
248
283
365
346
343
239
434
390
373
300
336
381
316
250
436
330
355
284
233
272
280
366
309
356
224
357
321
366
359
344
315
377
336
353
402
414
287
342
210
305
412
331
402
262
350
199
332
362
394
279
353
422
268
314
286
343
366
210
320
243
358
316
350
342
239
276
383
412
295
275
188
297
345
346
327
317
283
324
358
356
344
340
275
210
397
293
312
342
346
358
375
380
330
417
212
263
374
325
408
327
368
349
334
307
314
339
329
343
313
378
242
291
311
363
305
331
336
350
341
310
296
287
350
357
278
360
338
374
255
314
233
342
301
386
277
272
343
347
290
362
339
341
294
355
318
302
322
237
234
322
265
276
296
313
272
385
269
267
281
336
376
366
341
258
297
234
297
316
304
372
351
235
342
316
457
309
327
335
252
328
342
358
268
346
242
312
330
343
349
385
307
321
299
367
321
275
322
346
347
323
301
338
303
300
373
367
340
366
282
382
350
319
345
354
300
380
363
239
339
188
340
266
220
331
254
339
376
365
262
267
317
338
364
236
324
288
328
421
327
313
283
319
278
306
329
264
253
328
342
311
297
359
347
290
199
335
365
369
352
330
326
327
259
275
294
325
355
289
293
296
245
320
354
254
302
364
345
285
267
267
395
317
371
302
335
306
355
335
407
328
303
305
304
347
338
338
385
265
407
283
313
250
278
362
208
297
280
285
298
322
291
315
373
286
286
348
363
338
311
305
281
340
277
358
354
279
283
359
295
337
317
395
300
368
303
337
283
321
290
332
377
365
229
252
332
252
345
343
343
290
317
343
334
319
314
273
307
315
270
318
312
383
277
347
379
375
357
351
368
394
249
285
293
329
311
323
318
392
316
292
202
344
278
296
290
222
387
384
301
321
329
304
305
321
370
264
327
412
260
303
355
350
329
257
255
326
278
347
325
253
293
342
289
308
394
324
277
272
321
313
307
338
358
300
313
332
303
344
327
337
385
307
368
377
366
311
251
332
277
287
348
336
357
364
291
330
304
325
321
333
301
326
249
355
313
253
303
387
321
319
316
364
345
296
367
317
350
278
267
316
306
299
291
341
256
350
315
371
293
306
257
314
332
399
371
400
243
345
398
293
279
312
284
292
310
276
372
311
270
316
202
296
335
289
284
300
310
321
297
264
374
234
290
235
304
345
273
270
296
245
235
331
316
309
312
297
361
341
260
282
352
354
354
341
358
284
310
329
339
399
299
290
337
358
380
376
266
284
288
313
318
267
335
268
243
322
314
291
320
302
325
426
340
287
266
274
301
311
409
328
269
337
358
248
298
351
316
334
306
293
277
357
287
272
280
419
348
261
260
242
277
270
362
289
235
318
387
373
338
324
259
308
342
279
262
361
284
310
335
296
226
366
383
345
337
355
345
322
306
288
333
346
362
388
292
336
219
351
274
408
381
390
300
341
381
357
272
333
286
270
306
318
315
366
338
390
320
374
290
310
329
322
245
371
353
353
280
331
267
373
266
281
253
339
275
285
304
294
335
368
229
351
320
279
367
343
293
367
231
318
293
237
328
326
282
344
325
386
267
345
363
354
290
264
205
347
317
300
372
291
369
373
345
365
368
331
279
352
283
321
328
314
336
347
305
326
251
438
312
306
275
228
333
381
378
243
348
286
323
366
338
273
295
257
327
363
338
356
334
312
348
303
335
190
241
313
359
336
285
254
259
261
388
337
375
255
287
273
375
325
280
330
312
216
310
316
377
323
333
296
226
303
290
299
309
376
359
357
330
352
365
244
279
252
322
297
328
358
256
301
404
272
404
364
311
295
362
339
203
282
305
343
304
369
292
318
283
321
349
347
219
299
291
341
310
372
250
364
293
328
282
341
290
368
284
345
321
335
277
340
346
362
305
381
284
367
309
234
290
432
373
365
271
298
388
338
289
349
306
332
396
358
326
237
384
264
279
340
312
311
328
355
234
362
257
360
391
286
363
390
336
267
321
259
357
319
298
337
320
277
343
326
344
284
307
334
267
281
290
263
344
398
255
347
349
327
304
294
323
335
313
336
347
318
275
349
291
289
295
291
354
288
362
368
228
288
295
384
346
281
306
285
359
277
304
294
234
268
316
296
230
300
278
323
294
371
284
323
333
244
376
366
379
267
326
350
268
375
331
271
343
332
278
330
336
350
327
369
370
305
314
330
269
263
379
289
309
273
229
262
338
192
336
282
335
378
330
416
318
247
345
326
295
305
331
322
302
311
323
294
324
359
356
304
343
332
332
356
319
316
336
305
242
363
306
275
305
368
385
243
312
265
333
290
306
233
363
365
373
385
330
313
350
341
321
378
391
316
261
332
312
222
336
278
322
280
317
286
257
202
243
430
325
270
328
265
324
326
319
345
338
324
319
286
216
307
345
318
338
257
349
309
295
329
280
288
320
399
286
319
321
349
349
314
338
332
300
330
318
272
378
323
230
281
337
321
378
207
312
403
321
377
251
225
234
338
283
261
375
328
293
335
317
300
292
363
358
281
378
344
344
372
268
265
288
260
281
305
324
337
266
305
376
396
351
351
344
327
351
238
261
304
270
243
337
348
270
341
409
299
352
356
294
298
326
271
260
312
332
375
331
264
282
222
308
287
306
359
399
359
353
263
311
335
304
384
228
332
293
306
398
411
380
330
294
336
304
314
320
395
321
343
295
255
379
294
275
280
333
362
326
327
318
347
334
343
366
321
292
219
214
315
266
340
294
331
319
373
281
329
272
287
348
310
261
294
275
324
264
276
354
228
293
328
310
326
292
362
364
377
349
326
358
246
334
339
356
338
318
293
359
371
203
317
348
327
293
337
287
278
331
331
304
316
268
238
282
322
318
305
329
386
429
395
328
344
288
265
354
361
314
348
302
368
304
317
378
284
318
274
321
309
351
294
300
373
275
301
249
260
322
284
327
231
323
292
363
420
301
399
311
387
372
369
299
304
323
374
389
339
348
371
324
312
374
279
343
409
420
319
332
377
273
323
375
287
333
383
345
355
380
347
305
283
337
267
368
310
286
301
359
325
277
264
269
323
358
396
275
315
360
228
357
300
374
311
338
275
380
358
286
257
300
244
328
253
331
375
390
324
257
298
360
293
310
331
308
341
322
367
369
373
310
349
267
333
343
380
356
237
353
275
350
444
357
326
353
331
299
360
298
284
363
350
210
301
357
286
373
294
337
314
269
296
315
274
295
316
284
233
322
325
341
326
288
357
346
408
253
257
323
291
310
276
370
352
363
278
323
345
283
276
310
272
403
361
319
383
363
270
349
315
351
279
279
301
265
390
312
317
321
293
296
311
277
252
267
318
340
268
321
389
300
248
420
269
343
280
235
379
281
353
313
372
258
294
371
233
252
227
328
402
277
338
292
285
217
212
250
319
287
352
289
327
349
326
397
256
262
291
393
353
266
332
303
323
328
246
320
270
348
295
361
242
315
263
263
299
318
263
338
375
354
310
357
308
285
288
290
364
310
383
365
288
322
337
365
304
253
341
301
363
340
309
295
288
389
360
324
208
335
352
331
400
320
306
278
293
410
273
318
394
333
386
340
192
303
324
278
314
244
261
355
267
365
331
346
319
314
334
294
273
319
263
341
342
352
315
379
316
301
304
296
358
309
326
345
343
320
352
319
379
351
333
296
285
346
253
239
405
363
352
338
354
409
250
296
323
306
292
282
247
327
326
331
283
264
285
335
356
379
312
269
415
270
329
341
378
343
287
262
305
280
308
313
343
350
237
335
342
246
317
281
291
353
324
406
348
297
337
309
329
325
315
319
420
308
242
209
336
343
307
265
359
291
287
287
330
311
298
380
309
367
338
348
322
308
367
230
353
239
278
266
351
239
345
341
301
293
383
353
272
311
288
311
386
369
369
383
339
387
312
259
315
377
233
293
337
327
315
297
325
251
337
317
353
325
277
366
320
342
233
360
355
285
279
320
305
269
289
317
335
326
332
288
342
286
389
343
344
334
369
252
318
328
277
183
183
293
336
389
364
365
330
312
337
344
262
257
268
336
332
235
353
301
334
319
320
328
253
251
321
385
297
404
231
324
329
416
385
316
299
350
241
362
363
316
287
357
391
259
427
248
383
290
293
294
353
326
375
337
402
365
360
346
286
343
283
339
317
254
330
383
272
310
347
342
360
291
371
362
290
344
326
349
258
252
430
280
356
313
318
310
359
330
294
338
290
369
327
291
237
239
349
390
286
274
375
333
328
343
356
313
330
257
269
277
187
351
350
317
294
257
308
320
326
374
323
299
288
252
359
318
258
399
341
264
319
300
344
334
243
413
347
355
308
380
280
304
345
366
304
297
298
248
356
308
205
338
331
332
386
288
309
335
383
197
276
301
246
358
308
351
318
246
345
303
239
338
333
298
309
291
260
278
299
292
315
216
228
296
291
282
292
353
256
264
394
375
319
284
278
332
305
305
291
330
367
301
297
336
265
299
323
286
307
394
365
298
367
302
380
323
265
227
347
232
362
339
266
288
255
344
328
368
286
335
311
366
266
368
289
306
350
280
376
396
345
258
311
310
290
256
364
364
348
376
228
393
359
291
342
282
283
361
318
246
307
337
271
317
307
294
350
241
414
299
267
370
287
384
348
281
349
282
383
313
331
340
282
364
300
297
254
292
291
310
365
345
280
282
321
367
255
278
323
338
287
259
339
299
271
326
370
342
349
365
353
262
340
341
389
315
268
320
261
226
397
325
337
387
333
375
242
273
327
292
320
256
293
273
394
324
311
268
321
359
355
264
284
323
279
244
265
305
315
344
327
368
377
315
276
298
284
394
348
254
241
355
378
333
395
366
362
306
244
346
405
329
316
328
272
330
205
225
317
325
293
332
260
348
280
266
406
346
325
356
235
356
391
348
361
298
374
273
301
287
337
241
354
323
331
254
215
342
306
331
354
360
372
282
359
380
342
279
267
367
273
291
306
302
253
319
368
351
258
375
385
296
245
274
310
312
331
382
284
337
336
273
340
405
300
236
444
267
328
309
361
345
341
402
317
323
273
284
265
316
369
359
228
316
303
196
328
350
390
363
292
323
302
298
209
218
365
333
297
289
275
291
335
305
257
389
230
275
310
308
393
365
316
328
285
253
306
366
259
326
312
331
319
283
308
310
353
352
324
267
279
294
303
350
352
234
261
324
285
287
322
357
300
360
287
326
345
309
386
302
347
283
343
397
305
310
321
385
400
373
189
298
332
268
349
358
352
348
241
373
320
241
330
318
291
331
339
287
296
352
274
320
369
298
325
329
326
270
226
224
305
424
309
221
281
320
346
351
311
336
314
261
383
319
340
272
295
353
429
324
282
323
289
271
288
379
413
352
282
273
339
282
375
331
396
290
303
221
316
356
338
275
301
393
278
289
352
362
324
308
295
266
294
306
314
417
304
214
369
298
368
287
326
334
364
308
401
305
352
367
318
268
318
270
321
324
263
310
274
320
325
318
301
263
357
333
271
246
388
343
326
330
315
336
300
339
344
352
374
367
251
330
306
293
348
304
357
356
360
343
388
326
333
318
355
373
308
309
200
331
383
222
305
226
361
281
278
322
369
317
419
294
316
276
324
328
299
323
290
363
327
300
286
298
340
355
343
258
339
260
360
402
267
195
272
302
330
238
244
221
229
301
268
342
285
321
272
307
282
324
364
321
201
293
300
387
302
340
244
281
294
356
259
233
337
321
355
344
345
252
348
355
306
307
318
374
306
307
327
303
281
309
269
391
313
230
310
330
320
350
310
327
312
267
375
351
345
310
318
266
287
361
249
294
313
326
312
346
250
356
343
349
322
323
210
287
255
325
341
285
292
399
292
363
268
364
295
296
326
261
338
316
289
304
360
232
408
358
361
259
306
334
273
353
245
384
327
325
358
291
351
338
300
348
298
253
249
289
275
328
340
340
283
296
275
275
342
289
298
323
286
317
297
305
305
302
346
357
327
367
326
326
338
323
335
291
350
304
326
302
286
338
324
328
173
273
389
339
341
290
308
399
256
274
360
302
370
408
367
344
313
351
370
312
371
404
274
230
297
299
286
312
353
349
243
328
365
421
402
366
333
377
329
310
276
381
274
340
298
364
357
261
362
318
266
446
347
227
250
353
306
352
336
321
346
315
267
274
331
308
308
327
417
356
223
329
386
347
295
260
312
333
364
385
331
233
281
344
370
295
243
231
362
354
318
328
291
408
301
325
301
384
351
304
380
273
267
385
328
318
232
257
362
342
313
304
311
325
348
288
320
308
374
358
322
227
355
308
323
341
326
329
393
267
327
289
287
349
309
347
378
288
337
380
311
329
423
275
360
292
300
295
346
238
309
267
272
326
383
344
360
309
280
376
353
263
343
292
301
331
350
259
347
306
439
272
364
332
325
302
296
409
302
341
357
285
354
339
222
308
292
389
298
288
262
360
291
402
307
380
373
342
295
392
297
330
281
359
254
324
254
364
356
261
328
269
323
330
308
377
337
291
307
304
304
379
314
292
361
337
314
320
368
352
370
333
324
316
328
335
283
310
378
294
394
372
362
258
304
223
323
367
356
261
292
359
259
311
260
304
363
328
237
337
372
236
276
249
347
367
350
364
316
267
304
377
349
360
356
285
289
285
279
259
367
314
367
258
334
304
363
246
337
325
260
360
238
351
351
335
333
336
174
341
252
373
352
334
251
323
357
212
318
362
319
336
253
323
315
348
378
400
361
304
354
353
291
328
372
333
401
319
292
268
282
295
295
194
371
405
366
226
363
347
319
285
360
409
388
358
377
396
299
276
350
278
327
328
335
342
312
390
285
392
306
247
269
271
343
248
281
331
284
232
288
306
394
400
304
350
212
320
303
307
330
282
355
279
363
274
264
350
264
320
294
332
341
391
332
322
353
364
369
341
299
353
368
341
369
353
322
255
368
349
332
310
288
356
333
271
310
318
274
301
325
274
288
298
309
339
242
367
250
340
347
288
330
268
301
291
382
326
292
319
267
321
240
316
267
269
360
330
292
271
305
388
301
286
305
262
354
362
253
257
313
277
236
344
341
386
329
300
323
332
376
358
276
344
273
271
272
304
411
375
357
365
253
326
304
354
327
415
325
257
257
355
362
263
335
286
332
246
327
310
284
321
338
280
299
370
274
316
331
306
301
251
299
337
239
265
306
383
385
240
306
354
295
357
326
253
363
299
358
282
299
324
301
249
265
319
281
270
296
389
351
328
305
330
274
314
309
266
294
279
342
301
314
278
355
292
323
266
323
315
305
270
311
276
319
288
352
275
339
306
356
359
350
356
319
342
383
350
364
347
367
275
295
331
290
364
327
302
285
336
324
411
305
312
317
358
219
328
327
214
339
240
284
359
289
282
325
359
317
231
339
268
359
356
312
299
316
248
289
373
360
355
273
292
291
196
282
359
288
330
319
310
332
281
348
341
305
283
325
313
311
282
299
338
246
398
257
342
339
400
307
288
312
386
284
304
293
292
325
284
362
229
379
432
197
348
338
318
304
339
322
368
327
327
370
301
291
265
370
358
345
333
410
353
399
305
321
268
297
337
360
323
388
342
354
308
329
231
312
278
244
312
284
325
302
409
325
359
338
260
356
323
364
312
317
330
313
292
341
402
294
375
263
374
336
335
287
327
344
292
252
267
288
364
354
326
303
291
243
324
284
331
328
327
398
365
340
291
272
322
304
347
291
282
324
240
334
401
291
344
334
327
305
369
371
287
336
295
338
302
358
296
372
384
284
378
301
347
316
379
297
263
357
323
345
373
314
282
323
257
335
321
374
321
287
333
283
320
255
331
247
390
282
319
389
218
280
359
291
330
215
284
351
380
244
297
304
379
227
348
316
372
244
311
301
307
256
406
353
342
356
282
350
254
295
382
321
244
308
326
331
311
315
330
322
368
360
342
316
389
285
369
363
336
202
283
308
350
349
302
287
206
357
395
345
376
283
387
399
236
290
380
228
357
423
323
355
270
375
292
290
388
277
285
264
291
294
290
289
351
304
313
255
341
364
367
339
373
364
319
394
294
295
336
343
416
319
325
260
251
328
284
248
357
302
264
367
347
363
328
218
286
278
373
308
337
271
291
380
292
248
246
370
317
429
375
329
308
378
274
316
286
355
340
284
351
257
326
317
369
359
364
315
309
333
307
350
294
313
204
338
339
388
344
303
349
355
251
354
343
256
304
335
250
245
251
272
286
381
243
311
350
246
302
271
304
165
234
372
416
420
396
363
278
290
312
381
241
386
328
336
295
325
366
251
322
405
366
312
271
282
323
354
266
372
383
317
352
324
340
347
277
287
285
343
250
405
359
291
346
388
339
251
324
302
311
278
334
254
349
328
317
225
334
283
359
316
259
240
345
398
277
376
270
356
311
206
313
377
311
324
361
283
311
281
318
324
248
310
322
348
359
313
310
289
380
318
269
399
235
383
315
265
319
327
318
418
322
343
305
328
293
265
320
301
282
379
282
421
357
339
351
282
244
336
307
321
328
358
374
295
314
330
310
344
250
318
307
302
235
278
342
208
313
331
310
271
246
264
347
336
333
296
232
375
269
285
340
342
316
307
345
292
300
269
382
276
378
257
317
327
327
254
333
276
390
347
309
232
317
391
446
279
308
290
303
319
297
287
300
362
316
395
375
295
272
282
319
248
394
299
261
308
336
316
290
229
281
298
307
271
300
357
292
254
370
309
337
351
244
315
314
366
265
325
253
319
342
293
394
250
369
345
311
287
349
334
303
367
275
238
333
327
294
324
356
277
250
355
419
312
329
329
301
227
239
311
369
348
301
308
300
369
294
340
299
393
445
339
357
289
367
360
335
299
239
322
302
272
353
345
309
339
318
330
351
357
409
358
333
297
322
341
314
323
305
357
314
322
320
255
356
347
300
290
302
255
343
252
260
347
340
218
307
339
385
320
364
377
247
325
301
374
417
406
356
293
363
318
328
305
233
293
352
258
362
299
244
295
282
358
274
305
350
333
281
355
321
277
409
334
255
275
320
304
318
269
324
213
281
369
293
249
298
364
268
363
299
321
361
351
305
331
267
301
345
392
307
283
366
333
382
304
307
324
347
321
396
304
354
339
286
367
321
226
339
367
319
358
297
363
377
331
343
304
349
322
355
401
302
261
347
318
384
362
315
293
386
358
354
236
325
346
372
321
304
359
302
281
321
383
373
337
312
297
226
320
243
283
293
216
279
271
315
254
240
324
229
244
288
300
331
334
259
298
321
274
275
331
339
270
187
232
244
240
255
378
278
327
352
306
321
307
299
362
404
312
331
302
377
318
311
382
263
317
399
273
340
391
374
291
314
343
345
341
264
321
317
363
296
411
359
314
365
321
294
354
357
289
308
331
350
402
300
312
370
321
324
362
270
332
253
385
389
263
253
260
187
240
289
291
312
324
244
283
266
333
333
342
380
377
329
260
363
356
364
295
304
242
254
366
288
376
287
344
350
296
335
310
395
346
320
345
262
292
431
344
294
344
267
381
325
326
327
302
374
275
350
291
316
300
396
280
361
222
395
289
333
312
357
334
289
337
333
315
288
369
364
332
267
309
333
258
382
288
269
285
285
309
373
381
391
288
369
199
311
324
290
377
297
312
338
364
360
358
210
280
302
339
254
291
345
310
289
251
250
291
351
344
291
300
302
268
293
307
337
323
326
252
295
289
253
321
314
354
358
391
294
319
341
351
258
403
337
298
351
291
354
336
334
330
269
327
313
271
303
269
275
400
263
231
250
400
334
373
254
369
389
290
355
353
237
372
304
260
365
344
313
286
382
300
343
355
323
311
338
318
327
329
299
303
354
339
314
370
283
275
357
286
266
364
294
250
345
315
387
378
385
354
397
370
390
279
337
351
347
355
299
312
213
252
307
386
232
325
357
298
302
326
332
372
374
172
277
366
317
352
270
309
300
323
340
262
323
347
272
303
327
305
301
257
339
376
287
291
327
302
363
285
248
237
285
343
295
287
308
382
277
330
310
305
313
299
391
315
312
373
353
356
384
358
352
263
316
329
306
280
305
391
316
308
387
304
181
322
359
323
290
363
267
316
230
337
310
231
319
357
341
281
307
372
276
293
302
245
314
307
330
379
347
356
358
236
314
317
330
318
381
316
249
305
266
371
364
294
299
352
308
269
377
329
280
337
286
264
324
348
371
396
340
292
340
281
337
277
340
310
292
316
363
423
315
335
327
359
381
379
323
244
404
327
312
280
328
361
348
364
386
246
358
379
298
349
364
277
263
283
314
307
373
339
278
246
361
320
368
333
285
267
317
273
416
295
296
334
311
282
370
316
349
304
232
387
307
284
274
338
372
267
299
328
285
398
349
372
295
281
344
349
297
296
281
327
324
375
360
406
255
362
257
380
235
395
329
318
300
298
312
251
302
364
296
292
329
254
295
381
393
209
367
200
375
347
321
308
386
306
339
354
357
311
326
396
417
307
344
323
330
266
280
242
323
316
353
348
282
282
340
282
359
297
253
309
344
349
335
343
333
246
360
374
338
376
338
278
356
276
335
310
324
309
360
344
283
290
372
281
318
335
376
370
340
324
355
310
327
301
303
360
314
374
312
259
361
387
366
344
391
372
323
327
260
310
365
356
277
335
360
384
322
349
299
325
224
234
336
350
300
417
323
347
275
326
366
281
365
357
362
376
297
268
296
296
296
283
268
259
267
383
272
307
325
389
312
252
240
328
284
259
310
357
251
340
331
209
321
307
403
320
376
371
238
345
249
224
294
319
351
403
341
267
303
376
261
358
305
392
325
354
255
288
412
369
342
365
305
278
298
362
344
307
274
327
362
351
345
240
292
344
276
260
367
265
342
341
325
321
370
293
323
273
249
264
341
363
336
312
322
291
360
340
301
369
363
331
353
271
248
285
342
339
336
353
284
283
394
288
362
369
282
219
388
285
328
308
312
384
367
326
352
295
282
385
289
300
361
319
289
287
323
372
272
338
276
355
284
328
328
324
304
311
370
171
269
316
355
280
250
297
339
405
368
339
267
309
365
333
317
331
328
278
297
252
334
369
337
352
329
312
396
321
373
279
324
378
360
337
273
290
259
306
296
313
238
281
346
292
342
319
346
330
363
293
386
282
347
425
310
387
252
300
225
349
291
307
338
341
331
303
335
249
272
283
310
363
336
322
293
329
362
330
265
371
306
367
320
351
272
296
258
370
328
357
366
332
240
286
289
332
326
302
311
337
292
365
334
325
302
380
245
294
286
336
334
279
320
336
310
311
324
328
288
280
312
294
279
356
306
337
273
309
371
354
271
363
280
316
258
234
356
271
294
369
356
409
336
293
372
218
374
306
376
302
328
266
295
345
387
378
375
321
296
352
338
316
383
279
340
263
248
291
346
325
279
279
322
359
380
296
236
314
282
331
324
255
298
324
360
366
263
264
326
270
349
276
298
377
369
280
289
244
364
289
323
282
265
234
253
350
346
255
274
293
341
377
426
360
335
340
307
336
297
333
316
332
367
338
278
277
395
273
322
302
321
250
337
326
297
381
283
304
242
331
310
327
345
391
243
331
318
285
259
223
305
312
333
282
349
324
244
378
262
286
297
337
305
306
217
338
342
389
359
298
296
342
345
335
345
296
246
273
300
361
304
333
274
285
387
332
274
304
361
225
328
278
349
287
331
247
233
316
336
318
301
396
327
355
323
395
241
281
350
287
321
308
256
284
297
369
313
321
298
308
288
371
272
275
283
298
257
278
349
326
286
312
365
342
319
284
335
330
340
391
389
368
314
261
289
221
356
245
419
332
300
269
339
398
299
317
347
259
329
385
254
390
370
320
279
299
338
349
359
352
312
283
253
306
333
306
341
289
345
382
322
369
336
309
320
332
298
256
332
275
280
331
324
316
328
332
253
378
294
274
386
290
276
318
341
311
333
290
329
406
404
314
347
324
352
310
267
273
300
249
316
334
343
361
368
309
282
386
349
304
312
342
310
349
384
249
320
323
321
309
322
300
318
272
279
370
249
380
336
340
257
285
276
321
320
370
348
357
330
325
353
374
323
284
306
233
295
285
365
361
320
387
319
317
314
356
302
307
315
326
306
275
367
328
347
316
360
311
311
307
331
375
330
403
273
368
420
342
356
327
288
283
356
228
294
366
261
295
245
371
318
278
402
361
320
257
305
306
344
332
349
341
273
302
353
343
369
291
385
350
301
338
321
263
264
261
342
383
303
269
325
314
251
334
320
347
339
328
304
322
347
284
378
305
316
337
277
267
355
340
333
261
362
431
231
347
347
324
431
272
302
197
299
295
365
257
323
312
305
273
288
330
341
345
391
346
372
329
327
351
258
322
226
290
310
241
361
242
314
364
297
347
332
272
333
288
298
320
306
371
344
332
326
292
220
326
221
313
340
303
394
266
366
343
365
240
362
313
316
336
358
350
320
358
324
356
281
308
296
358
310
280
371
319
284
336
242
310
309
310
345
322
382
294
282
386
253
319
294
263
289
350
258
315
324
341
271
283
289
345
299
362
250
321
276
326
288
324
366
286
310
262
329
288
251
352
305
346
319
308
379
320
302
301
313
275
318
325
378
358
277
358
302
292
268
287
391
239
317
330
359
365
282
376
345
365
249
319
366
351
330
329
278
344
330
286
267
306
325
279
350
316
348
274
253
332
324
301
374
315
332
292
348
306
373
235
320
420
317
362
396
358
292
316
347
320
342
283
345
251
336
200
373
288
379
362
292
344
290
323
282
307
272
358
280
388
308
260
321
221
298
373
355
302
289
329
305
256
293
347
377
394
348
308
311
303
310
384
344
243
251
381
224
340
235
232
328
295
269
286
349
343
337
339
295
334
234
360
228
397
371
333
327
380
364
306
282
373
329
350
292
354
352
296
381
370
216
301
215
298
342
308
302
259
272
382
328
358
329
338
247
261
358
322
318
304
328
384
264
306
292
354
149
289
272
310
342
326
243
346
281
346
278
310
305
337
303
390
311
298
350
361
309
313
372
247
377
261
295
305
276
303
302
297
314
353
245
276
281
297
297
252
346
329
345
301
317
348
303
271
356
329
226
282
327
299
304
399
253
279
312
318
321
291
329
317
284
328
305
265
329
332
280
369
310
273
256
322
307
282
363
260
258
299
369
386
330
253
341
339
345
221
285
307
326
352
295
282
342
335
397
305
288
255
232
292
290
293
302
390
240
381
276
273
378
373
231
318
241
234
320
179
342
373
262
263
308
208
332
347
276
323
281
260
327
321
334
400
281
236
270
341
426
347
380
319
165
306
344
331
278
328
314
335
350
280
318
391
365
366
344
320
239
313
273
336
354
334
298
348
362
261
341
325
189
317
370
367
330
325
271
341
341
285
365
307
293
336
331
353
352
321
334
272
290
290
296
347
331
300
360
350
358
320
255
288
348
418
336
312
257
273
311
284
368
315
329
349
283
311
320
324
370
352
356
338
263
337
366
377
311
357
253
348
253
229
364
270
295
396
333
316
253
312
312
326
208
334
290
339
305
363
304
310
323
290
284
279
297
269
233
240
343
353
373
284
350
312
336
228
332
318
260
377
361
279
331
346
347
296
295
337
280
249
362
326
332
301
388
312
212
312
334
312
333
349
305
272
361
312
317
342
389
278
303
321
297
282
318
364
251
296
380
336
342
407
329
245
292
340
361
317
271
245
267
320
276
353
349
324
306
263
349
342
307
340
344
391
336
330
291
282
341
262
333
293
292
243
326
340
386
283
336
326
210
389
334
276
357
360
373
319
204
235
383
233
288
414
285
380
326
323
433
314
314
313
341
283
295
314
239
351
195
263
213
337
361
279
287
263
338
245
296
367
354
290
366
238
310
286
278
354
367
258
336
279
335
370
283
342
318
299
352
262
283
333
371
226
354
269
285
263
289
424
288
349
285
296
302
274
320
379
326
258
350
340
395
292
416
333
317
289
272
270
245
415
363
327
373
368
323
261
330
241
363
304
344
256
338
365
336
241
334
306
352
313
310
234
349
394
412
320
271
286
339
287
287
276
336
307
338
299
279
302
372
353
338
387
346
292
385
307
401
273
361
414
361
253
321
329
278
285
353
268
292
311
306
370
347
418
357
308
248
282
299
344
276
360
273
294
333
401
326
298
314
297
252
328
316
230
439
344
294
341
269
379
338
351
371
246
332
306
240
379
290
285
333
277
260
308
345
321
380
294
276
322
347
285
347
339
363
309
285
270
287
304
397
414
359
406
285
300
282
294
342
284
300
327
206
311
269
331
395
328
311
241
323
353
327
279
250
331
241
340
251
295
356
354
352
332
345
313
359
326
307
247
299
286
264
372
300
303
276
392
411
216
367
300
319
306
407
280
362
339
351
254
291
301
331
376
332
260
339
267
318
304
292
309
345
353
325
334
325
381
369
371
299
317
354
241
340
337
375
290
356
374
260
329
319
303
312
332
386
373
399
352
321
321
332
359
325
300
322
371
372
350
335
314
340
320
327
336
343
342
289
376
318
363
358
268
289
275
282
273
290
338
270
316
371
381
319
304
326
329
367
278
351
289
387
294
303
371
311
272
281
390
260
318
340
303
251
381
266
358
366
277
352
319
351
313
286
299
342
249
261
366
222
307
317
260
331
381
357
312
347
325
378
284
356
283
290
284
298
354
218
385
269
304
318
243
292
380
296
392
366
331
394
366
332
336
255
280
290
348
221
319
317
301
217
264
325
258
285
294
289
260
283
380
394
312
280
256
307
228
223
301
314
340
343
303
322
343
285
242
385
255
265
293
330
299
335
290
333
337
345
293
334
383
265
286
353
302
297
354
238
317
345
295
310
314
322
372
365
297
324
287
285
332
300
286
329
249
254
313
264
355
354
325
323
326
269
284
324
355
250
315
357
330
319
241
353
330
376
319
315
356
257
374
307
275
273
372
193
306
345
350
295
313
343
315
406
302
364
390
378
318
382
415
324
240
377
286
392
324
302
438
323
267
350
280
308
283
301
324
326
342
325
297
339
359
309
314
343
339
366
356
282
364
378
313
323
285
301
265
335
303
251
272
264
395
342
346
294
272
225
374
253
305
279
355
327
394
307
353
264
203
277
421
306
357
327
368
302
317
370
274
375
262
355
342
321
375
357
364
340
363
298
359
329
299
332
289
278
346
368
284
352
300
324
345
315
311
165
344
329
385
314
272
361
262
344
323
264
292
291
295
309
303
304
366
297
289
262
289
397
293
300
347
388
321
369
323
352
321
272
365
272
291
238
319
240
213
380
311
290
297
322
375
349
293
270
374
330
257
359
306
269
324
409
260
290
345
389
380
316
280
327
276
363
312
373
390
363
301
362
374
232
321
305
355
318
266
332
267
343
297
284
207
316
333
278
289
317
274
352
349
314
444
324
418
318
342
363
334
270
371
305
302
336
308
343
293
324
277
307
343
271
210
422
380
338
338
356
274
389
302
282
325
393
246
258
267
238
360
302
293
302
315
322
280
316
271
308
430
372
343
277
283
281
300
353
285
346
375
282
284
401
321
254
292
311
335
314
333
427
234
289
386
329
393
360
295
364
322
368
354
239
237
368
348
331
406
389
303
304
289
267
297
348
298
309
320
330
313
378
379
309
415
305
293
253
392
288
324
371
313
400
308
266
369
304
271
332
370
258
401
346
288
199
250
352
384
366
299
315
242
347
363
297
350
325
346
299
368
371
446
322
321
388
303
343
352
318
270
382
355
282
330
349
316
257
271
324
352
349
242
298
305
390
435
342
319
255
285
320
214
281
315
386
366
316
331
225
335
351
314
340
267
374
300
325
269
331
239
342
303
322
314
270
331
319
354
323
337
331
337
285
242
320
305
394
366
254
370
233
349
373
217
336
275
360
362
268
326
294
353
332
204
350
292
281
261
296
290
334
292
343
369
281
260
285
400
362
319
397
280
279
335
230
342
257
287
286
360
330
291
309
260
351
338
278
333
324
337
291
362
380
346
327
331
329
259
265
381
307
359
333
268
315
287
320
254
302
309
363
324
358
381
356
270
348
429
300
247
337
351
378
328
346
264
361
394
261
348
298
280
284
373
386
344
233
279
281
332
374
379
268
326
274
290
284
326
299
282
314
353
336
346
235
377
321
276
261
334
337
354
280
303
404
259
311
316
270
322
317
212
391
319
353
326
272
255
410
292
248
306
349
405
220
288
343
360
363
343
363
264
258
360
312
280
329
296
243
338
297
337
302
247
340
297
285
320
339
262
281
302
338
248
379
336
277
297
384
356
305
286
275
286
345
394
289
294
333
376
374
369
275
341
336
278
335
312
291
286
334
300
403
221
341
331
278
315
354
342
267
346
276
323
304
299
253
292
303
341
304
271
308
232
293
332
272
341
297
329
271
275
287
279
295
342
366
299
271
323
316
399
332
242
308
258
272
249
336
289
390
315
327
357
385
338
173
278
326
318
324
320
300
235
361
313
407
309
312
353
353
258
341
317
288
398
345
376
254
316
309
331
310
261
295
256
252
343
272
378
297
345
316
296
287
218
330
301
356
332
316
256
352
309
317
286
287
244
324
307
332
392
326
298
381
261
338
377
348
258
377
328
353
311
304
292
301
279
255
323
340
284
381
290
283
337
326
254
324
324
301
334
222
335
274
248
310
359
238
356
249
337
219
283
303
313
321
314
320
304
223
208
322
297
237
372
343
309
371
307
296
300
277
293
374
265
310
282
286
287
351
364
250
285
341
280
232
379
294
350
229
347
249
389
400
276
379
335
272
296
319
332
396
262
323
292
328
323
205
312
293
334
369
315
300
330
338
338
304
275
318
244
236
357
338
346
299
227
303
351
286
275
347
335
320
332
350
351
388
311
281
433
281
346
316
284
299
197
328
295
323
329
241
373
285
462
377
282
262
386
397
290
303
319
304
292
318
303
344
292
313
287
304
360
270
299
274
283
405
362
259
434
334
332
352
305
357
311
285
319
358
352
377
355
289
283
343
423
331
342
399
313
342
306
265
268
263
258
386
309
350
250
304
310
349
346
334
357
308
342
344
390
195
369
272
367
279
315
321
372
344
286
331
344
361
290
306
303
253
333
255
312
394
292
307
380
319
287
363
323
321
335
269
278
266
360
245
282
305
373
308
300
312
294
237
340
305
314
266
321
321
324
355
281
290
224
301
332
300
253
387
325
259
309
251
301
305
315
369
338
350
272
272
365
323
328
271
306
298
274
334
291
236
346
254
311
250
241
260
407
270
344
336
291
299
280
369
347
332
395
350
268
376
270
395
275
326
246
353
337
354
387
314
303
297
350
280
317
297
224
275
337
289
301
283
323
315
324
317
284
314
349
280
369
288
356
388
354
286
336
305
363
332
343
242
371
282
412
319
278
318
378
326
259
297
280
222
244
324
410
343
237
241
336
336
295
343
285
220
284
394
302
349
324
348
374
317
244
329
336
279
330
295
371
308
327
308
299
265
297
291
344
323
427
281
308
317
309
343
344
363
295
281
314
283
286
316
384
284
280
272
263
238
290
267
270
279
413
304
151
267
307
366
211
236
362
228
266
385
352
394
292
326
313
414
378
411
308
305
359
323
305
359
258
301
354
338
302
423
327
319
384
315
398
308
345
330
347
275
366
321
317
316
352
368
370
403
291
316
285
391
315
380
323
324
392
340
372
332
293
371
368
337
334
324
328
380
293
343
309
289
318
294
261
305
352
297
363
285
367
328
361
368
344
314
383
288
292
414
345
375
339
419
291
336
295
273
317
348
267
324
266
332
336
297
327
359
239
301
357
298
331
322
404
358
339
337
329
319
290
343
344
303
321
240
261
315
364
366
226
362
300
370
342
311
279
281
300
293
255
327
249
391
245
266
347
354
326
213
306
375
290
251
228
279
303
375
359
257
356
383
320
307
267
283
330
349
289
335
308
346
312
294
258
302
323
341
343
301
277
382
270
284
347
264
298
367
348
307
234
363
341
276
334
357
334
258
271
347
270
342
282
206
310
306
286
303
329
388
307
378
243
334
304
386
256
265
332
323
299
298
344
256
289
351
374
363
336
291
336
315
357
397
344
417
255
246
295
298
331
304
377
355
404
301
347
295
387
360
280
369
364
326
305
338
320
313
267
329
264
383
312
347
272
238
353
362
370
337
319
295
350
342
328
270
310
290
337
344
306
297
286
295
305
354
309
323
277
363
408
341
348
233
364
303
305
337
389
290
248
341
308
317
334
253
306
319
300
306
287
279
414
420
298
320
323
272
428
362
310
355
313
272
295
256
349
340
304
316
380
370
346
260
286
259
332
359
266
274
312
290
365
339
339
340
312
348
294
304
250
255
278
273
373
330
283
297
282
312
311
391
334
285
390
272
300
353
264
324
308
278
383
301
339
204
364
332
336
323
317
291
311
365
288
273
222
286
333
338
311
213
278
328
248
290
288
269
336
300
391
305
402
327
368
356
305
340
337
256
302
289
372
281
322
338
436
335
287
378
354
254
408
329
289
298
301
301
293
296
313
263
305
363
329
247
266
309
330
444
402
367
377
397
285
313
271
274
355
302
315
308
277
406
285
294
305
364
286
340
367
282
307
348
370
325
361
266
399
338
311
389
256
309
354
316
374
305
335
322
290
284
289
311
346
264
302
326
340
268
372
277
328
326
241
334
361
326
314
294
348
393
330
342
299
309
346
349
346
302
292
303
320
316
291
322
348
336
295
354
363
365
378
280
321
294
296
285
304
315
338
322
350
335
292
343
326
389
318
298
368
330
201
330
341
337
411
315
321
371
390
329
297
363
330
314
314
280
247
260
324
362
258
300
334
339
323
356
274
343
281
327
372
298
361
327
383
375
213
256
203
304
339
299
348
288
326
413
330
345
288
336
303
378
344
336
361
293
354
294
356
349
369
250
363
341
427
358
299
289
264
327
343
362
310
345
289
327
259
369
224
250
363
280
343
293
385
276
400
362
340
392
282
369
355
345
356
322
354
330
363
279
308
355
332
332
333
326
370
301
342
323
259
315
233
311
263
294
308
328
334
381
282
282
324
281
311
378
287
321
296
330
280
312
211
284
339
346
270
253
390
278
388
388
242
331
306
264
243
277
336
365
332
304
317
270
319
351
412
369
328
271
283
315
408
340
355
292
362
314
267
266
386
299
356
372
291
301
269
344
350
331
393
373
341
312
309
293
403
375
295
289
283
411
337
274
308
300
279
369
329
255
378
343
338
301
320
377
364
398
320
328
353
342
335
361
317
380
257
334
392
309
254
395
297
385
354
275
346
266
285
331
296
216
229
329
304
325
337
357
344
357
285
362
272
305
284
385
248
330
329
319
299
357
303
299
294
264
323
302
327
285
288
320
326
283
407
318
352
309
305
326
397
337
348
382
287
297
302
309
294
362
254
354
258
265
245
259
345
291
362
311
349
291
323
298
268
292
312
327
319
337
284
325
374
331
270
286
325
286
240
260
300
279
352
325
302
285
319
236
300
377
310
293
268
261
272
286
304
230
354
327
332
344
404
328
370
350
229
331
306
261
308
324
238
357
312
297
275
332
365
313
279
302
382
372
335
333
260
277
328
342
233
345
311
247
293
335
269
301
318
341
332
332
383
273
275
239
275
344
297
340
340
295
343
336
301
388
352
318
346
287
267
379
360
301
331
342
382
306
373
383
279
329
286
318
293
404
329
256
221
335
388
274
260
346
308
343
243
354
328
290
366
301
327
236
284
340
319
307
334
270
314
316
331
297
319
223
321
278
319
327
346
312
369
323
320
318
323
382
334
264
296
308
375
369
332
287
353
285
325
383
336
274
372
229
361
377
373
375
341
334
266
309
325
296
333
421
247
258
336
294
393
342
299
354
283
315
354
324
327
328
318
287
274
413
327
356
355
337
363
249
345
331
410
329
368
336
256
294
241
290
283
317
307
376
280
300
342
246
290
376
302
384
333
322
325
348
331
324
317
297
274
312
257
341
263
327
358
285
293
342
403
353
351
315
348
286
324
245
304
296
315
325
283
377
398
201
333
407
269
335
348
381
360
367
324
372
381
381
366
288
334
364
329
393
440
294
341
295
339
343
282
267
291
319
336
336
337
366
339
280
317
364
281
349
378
309
343
269
315
260
330
377
296
315
397
424
316
278
344
372
348
286
378
284
265
320
326
228
309
307
352
324
312
306
258
354
353
239
333
274
273
260
364
397
354
412
343
368
262
383
413
346
328
279
304
296
336
356
249
342
269
324
368
315
283
271
325
266
358
275
401
289
333
364
282
336
323
267
303
284
335
318
287
326
370
360
363
376
378
365
356
344
295
339
254
273
337
361
323
389
273
240
309
294
334
359
297
379
296
280
365
343
325
277
406
231
382
224
328
310
326
260
332
338
330
363
275
389
301
293
305
201
240
302
324
333
366
314
316
383
394
264
300
301
297
318
276
298
323
297
288
396
277
350
292
315
282
335
345
398
329
331
303
336
332
292
309
313
297
446
341
364
326
277
280
322
403
282
338
271
382
402
386
233
255
284
291
364
305
325
329
306
256
302
263
271
354
401
223
316
249
242
375
291
270
314
235
339
364
353
324
365
354
310
344
328
343
349
329
348
438
287
272
314
315
299
359
297
258
241
333
345
349
272
269
310
366
314
345
332
382
257
344
354
323
326
353
390
218
291
299
322
290
253
319
353
364
229
326
324
281
285
284
336
261
305
286
334
301
385
356
352
285
369
271
312
306
286
312
323
217
285
277
273
255
279
279
242
330
391
307
298
352
289
288
328
249
325
383
210
275
288
312
285
230
285
198
293
278
356
351
367
345
312
321
357
291
352
287
238
340
224
332
362
270
279
264
323
250
339
319
341
300
323
278
321
336
362
212
303
403
329
374
356
368
360
341
319
285
291
346
249
275
270
379
330
273
271
313
285
290
442
294
323
298
337
390
295
257
289
328
217
310
347
253
283
306
237
277
345
351
378
266
314
295
309
395
349
370
316
345
307
300
371
246
380
328
352
269
264
208
228
304
175
320
349
321
323
293
303
294
290
306
317
380
304
445
301
284
321
329
273
343
281
332
264
356
220
286
276
337
279
279
299
341
334
359
366
330
296
266
301
236
300
359
340
321
401
306
308
240
331
377
367
318
313
257
302
335
367
271
318
257
168
305
345
278
349
298
230
222
281
350
276
325
388
282
382
224
354
301
276
327
320
397
340
328
324
350
292
224
359
265
287
245
325
208
312
321
326
361
276
381
364
297
227
250
303
355
243
394
321
306
337
342
275
342
299
244
341
331
312
320
337
357
357
303
316
329
372
253
297
351
314
306
332
340
204
273
384
378
311
253
344
304
347
269
324
345
316
319
292
290
244
262
349
290
295
333
325
270
327
298
222
299
283
343
298
399
280
340
322
329
327
279
285
311
284
271
402
336
379
318
271
234
336
324
317
289
330
302
298
346
353
312
261
300
361
367
374
307
368
361
324
418
300
344
408
337
353
293
302
272
296
335
396
313
289
300
333
328
346
274
301
355
392
328
303
345
289
313
352
326
336
309
337
349
260
389
258
292
281
205
355
364
302
382
252
356
333
328
382
351
203
359
323
322
323
278
330
363
314
347
395
316
287
325
321
290
351
299
321
307
364
319
288
273
261
364
359
251
343
358
346
281
225
304
275
272
268
376
282
330
307
379
304
310
344
272
253
383
280
372
321
328
324
298
339
360
312
194
227
247
304
276
393
315
244
386
263
299
253
221
349
385
317
335
274
292
346
349
293
211
327
271
264
220
303
402
342
341
286
348
342
264
281
338
298
353
318
346
320
321
288
319
279
298
224
264
279
316
282
298
224
352
374
288
249
388
285
390
333
355
277
277
284
396
381
284
279
189
331
298
266
363
363
331
294
266
313
327
277
331
330
332
269
332
323
218
228
389
313
358
352
381
278
249
337
291
402
380
336
312
251
308
326
381
348
300
308
320
327
309
244
290
397
362
298
255
335
371
355
325
403
313
201
339
328
293
285
357
297
336
283
245
320
296
342
385
268
377
229
307
280
415
308
329
317
264
321
303
384
358
211
338
357
374
319
372
299
237
315
322
289
274
329
279
275
296
259
244
348
295
297
311
299
309
346
313
388
259
367
287
377
262
318
397
310
216
366
270
407
308
272
338
340
197
373
335
296
329
386
309
374
366
270
367
299
403
361
278
335
322
344
304
360
343
286
251
275
353
251
386
290
347
287
370
336
290
339
324
250
260
347
299
374
292
354
357
377
251
306
278
338
231
248
304
335
355
275
322
403
292
319
340
284
280
331
338
300
332
202
280
312
303
307
222
319
261
372
340
278
398
281
247
410
287
265
361
290
215
340
235
377
363
330
309
320
230
420
230
297
321
322
353
247
275
316
325
338
288
308
242
273
257
317
286
264
302
388
335
286
279
267
253
313
328
361
398
298
284
344
318
308
304
339
344
337
377
261
313
231
283
332
348
299
304
349
245
389
331
295
361
302
247
352
283
365
296
327
303
305
360
333
265
290
256
317
392
299
293
333
326
382
380
276
303
363
301
345
377
385
383
266
373
328
384
297
332
288
358
332
344
332
392
325
384
284
258
364
268
350
272
300
274
301
269
244
231
323
346
310
292
348
368
264
305
318
340
276
349
315
310
277
266
270
368
275
348
305
382
307
290
338
282
339
331
372
322
347
327
335
381
265
336
344
282
291
250
205
360
351
249
271
314
326
364
357
350
328
243
218
280
299
354
362
327
285
358
373
322
401
373
311
289
288
372
353
353
424
284
345
344
281
297
309
360
249
380
359
323
342
335
318
266
343
325
330
398
329
315
265
306
311
219
298
392
361
303
206
315
319
337
357
279
348
278
346
407
286
226
332
268
211
325
288
301
390
348
292
211
292
236
334
359
318
270
245
393
271
273
343
296
262
292
248
326
367
280
345
260
308
453
322
349
333
240
257
381
371
349
277
262
268
435
274
274
346
305
292
347
330
339
403
257
215
375
302
343
244
290
260
321
326
391
312
342
388
231
313
308
288
297
250
389
246
386
339
294
340
295
384
360
374
362
288
305
283
312
358
372
346
258
246
281
320
331
244
259
276
278
390
297
257
249
287
299
249
411
311
324
424
286
297
398
283
210
331
260
278
305
316
277
302
230
344
345
325
334
292
378
248
327
324
299
306
333
319
305
292
369
314
296
287
329
306
326
251
295
346
349
292
277
187
286
272
302
339
297
264
385
360
241
320
324
313
279
344
289
366
321
293
342
340
369
349
324
259
322
398
325
223
286
378
314
317
278
337
325
333
353
307
284
414
297
346
340
249
359
356
311
356
311
345
277
240
286
361
355
267
301
301
344
253
317
325
343
255
267
278
321
345
315
359
293
310
393
362
324
359
289
343
336
291
303
331
378
342
366
249
387
371
329
306
289
376
318
357
249
296
319
362
375
327
369
268
357
324
273
279
328
278
356
368
333
307
308
331
318
391
278
349
368
323
396
310
387
323
366
236
259
311
368
331
262
296
308
276
245
351
326
252
318
273
265
355
282
412
289
325
241
334
280
299
331
297
279
282
333
332
313
257
244
385
307
374
321
317
290
187
272
255
264
334
281
375
333
213
366
225
333
280
341
358
374
284
298
294
335
252
381
282
308
250
324
278
396
392
286
366
321
315
405
274
315
326
362
273
362
201
316
282
306
320
268
303
259
345
339
389
261
295
358
295
334
305
353
268
310
307
325
300
323
335
345
256
298
299
304
347
287
203
374
257
299
326
269
370
285
302
247
289
276
346
318
415
268
357
286
346
293
295
350
320
328
326
299
307
323
305
337
277
369
338
364
341
360
321
323
295
281
369
303
313
312
358
319
317
259
398
362
286
307
313
292
337
355
380
332
230
341
231
359
325
309
318
338
307
393
305
363
258
358
282
298
381
400
348
344
368
329
265
319
323
278
358
187
320
354
382
278
338
372
374
378
294
334
309
423
287
325
286
375
352
264
350
352
283
344
365
202
333
287
233
313
378
310
355
340
361
361
324
403
306
345
305
294
276
334
319
348
325
315
297
314
336
346
349
306
367
382
367
271
284
277
254
373
272
347
329
316
348
314
327
263
315
258
329
234
331
282
340
293
350
292
226
222
315
282
260
307
319
367
315
314
337
283
362
322
381
317
295
309
323
310
336
303
355
308
282
367
303
373
348
254
230
262
339
299
346
270
287
360
235
433
294
225
356
354
262
296
265
298
264
309
285
336
271
347
308
369
240
204
302
295
267
347
260
256
285
312
331
341
343
294
249
295
338
309
344
357
329
292
301
326
333
361
314
363
332
327
273
369
352
327
251
272
392
276
334
361
366
253
369
282
319
294
289
264
289
282
371
296
291
364
370
338
408
296
314
362
266
334
267
388
291
355
353
369
239
317
351
377
333
387
325
337
318
303
393
345
270
388
295
283
357
264
299
339
346
266
346
274
381
330
199
287
390
346
365
332
368
329
253
349
225
388
359
359
291
339
286
294
291
315
264
305
378
306
340
342
249
331
263
320
258
346
268
248
329
239
323
316
207
253
315
292
261
266
238
341
329
358
426
289
332
326
301
238
262
324
286
293
287
356
305
333
321
283
380
377
332
337
325
298
234
336
328
282
259
321
300
308
324
323
360
356
328
406
320
300
291
333
244
313
342
376
286
337
244
288
307
319
324
227
268
236
293
242
348
289
285
280
307
267
277
367
341
333
341
357
338
252
337
348
266
236
318
348
376
267
363
286
395
393
326
282
255
283
339
296
338
258
255
306
308
374
362
306
348
273
327
336
279
333
349
365
298
355
276
324
281
383
346
282
342
328
395
315
264
417
274
375
245
304
333
361
340
246
237
293
323
319
227
337
352
318
312
356
339
301
275
280
381
279
361
369
301
229
294
378
289
257
338
321
312
370
316
280
302
286
339
246
273
383
292
326
290
356
316
291
328
315
354
350
282
261
294
289
310
298
200
191
265
387
266
280
239
346
368
362
314
294
264
297
252
387
300
334
348
288
288
397
302
260
344
367
348
341
286
314
292
258
314
260
308
255
325
356
320
282
334
250
353
277
176
323
325
315
362
286
270
346
370
281
414
337
315
314
276
362
378
327
326
349
323
209
265
392
307
401
340
295
356
368
303
336
323
284
364
284
320
357
383
343
315
399
317
264
314
303
364
309
333
300
378
388
348
372
299
314
289
321
273
325
325
345
296
329
291
268
277
310
328
282
319
343
377
308
305
334
283
387
337
281
359
356
225
271
210
310
283
378
243
304
211
286
316
362
338
347
313
285
386
283
325
366
255
308
318
300
299
345
292
287
280
287
328
354
293
316
311
217
273
322
282
312
350
340
338
298
333
296
349
373
362
334
207
306
243
261
286
233
327
272
316
300
319
284
358
276
307
289
389
287
332
352
418
326
396
370
317
270
381
341
342
252
283
342
202
323
370
335
415
377
248
354
343
297
293
376
303
298
302
291
317
282
312
294
322
342
260
345
340
365
273
339
360
272
204
257
335
275
291
291
333
295
313
285
271
244
347
328
337
346
286
305
296
308
293
303
345
322
313
315
313
317
372
285
295
335
318
304
323
348
234
409
276
339
345
343
332
309
298
328
316
383
342
268
319
314
300
299
275
290
387
262
286
335
343
340
320
354
301
365
380
255
274
291
337
306
291
274
289
256
327
321
351
361
294
276
302
312
273
389
334
291
301
350
365
329
248
337
326
372
425
273
335
344
245
307
326
243
427
318
337
278
313
361
370
335
334
354
397
307
348
234
355
277
365
298
375
350
369
259
360
393
235
290
390
307
267
273
243
364
327
394
338
340
291
332
334
291
349
392
368
258
367
269
334
244
391
327
326
280
293
285
214
297
364
302
352
273
221
370
332
369
254
264
289
342
257
398
271
283
246
253
412
294
322
291
364
351
325
306
346
325
321
306
307
287
307
345
226
332
389
388
262
348
363
370
281
304
261
327
403
364
367
372
281
347
322
266
278
280
300
329
364
304
338
347
329
387
410
350
295
332
256
364
291
403
327
319
340
273
223
354
347
234
280
315
397
375
317
324
316
344
314
359
271
281
196
259
206
356
287
306
334
280
314
399
270
253
325
380
330
321
355
283
249
313
280
315
254
276
279
290
260
322
362
373
411
327
264
382
365
348
285
315
310
319
364
373
341
339
345
300
384
284
332
280
325
316
300
294
245
387
319
317
231
346
281
286
292
333
365
297
286
402
302
317
339
394
268
323
359
317
320
288
339
325
317
322
350
360
270
326
345
252
306
403
394
288
320
293
270
238
335
258
358
345
324
333
296
247
302
248
258
380
354
341
280
358
281
301
372
350
292
326
279
345
251
304
351
325
316
342
407
274
336
277
320
356
366
249
305
321
277
382
274
378
256
263
333
341
278
407
356
352
228
333
292
303
307
383
306
309
394
268
389
358
299
303
359
387
379
376
262
338
355
358
283
331
251
330
390
281
313
293
306
266
336
375
325
408
309
301
198
324
288
316
325
350
398
272
349
333
347
313
267
305
337
293
202
255
312
289
363
296
288
382
354
294
221
328
358
353
368
364
341
227
325
352
287
316
369
301
277
328
367
289
399
302
322
289
309
355
303
280
343
289
279
373
267
243
341
301
325
199
301
299
355
383
263
335
350
311
284
342
401
249
330
278
331
356
374
303
253
292
313
241
432
281
205
341
309
379
259
330
256
334
279
266
325
280
352
222
284
306
355
301
333
347
292
381
289
354
328
258
308
386
385
344
343
267
290
300
394
345
390
293
301
362
346
331
299
341
390
269
347
329
320
303
324
275
392
301
314
268
331
314
351
376
333
254
298
289
300
276
332
295
382
308
337
296
300
361
242
257
284
277
245
313
269
297
384
257
308
312
319
302
287
313
194
275
234
294
302
295
285
306
275
332
328
345
371
291
383
236
319
359
264
356
374
300
250
363
343
364
295
373
241
328
360
291
379
260
274
274
334
328
339
360
254
185
275
342
254
291
311
276
271
330
358
207
251
352
404
206
331
356
318
368
311
409
355
383
327
346
314
318
305
312
338
243
407
323
405
290
341
286
364
266
245
316
340
297
377
289
399
366
272
305
317
281
248
356
258
329
265
300
327
330
297
352
351
263
298
304
318
330
311
245
305
394
261
354
347
379
304
267
209
330
232
325
248
304
335
316
288
285
296
325
371
412
314
337
340
356
316
243
315
307
301
264
254
301
287
297
323
296
265
288
328
303
363
245
378
403
292
259
349
288
229
312
376
341
259
320
352
347
256
320
368
312
284
270
329
239
304
315
382
379
334
362
297
282
365
370
329
319
247
311
329
303
324
317
295
324
271
258
379
205
307
352
323
301
409
301
284
228
431
332
304
325
254
200
329
292
248
349
262
338
320
368
347
383
213
366
327
296
297
342
299
327
371
310
288
367
252
296
381
279
365
328
323
278
316
296
336
333
334
405
323
413
328
235
324
357
274
369
333
353
274
280
286
231
339
321
326
369
360
336
239
359
366
410
330
383
306
304
347
294
238
322
313
295
425
380
322
369
351
244
307
426
215
331
317
325
298
303
288
328
313
309
348
365
310
263
359
309
235
251
335
287
324
389
415
328
327
316
321
229
288
337
365
275
281
312
313
248
308
349
359
378
238
338
206
299
379
383
323
363
255
331
267
254
318
287
336
274
325
389
308
296
313
304
284
263
383
350
343
293
299
267
221
353
355
288
285
356
315
247
352
411
277
341
291
305
329
281
308
233
260
385
353
265
283
284
354
305
373
345
347
358
341
363
308
339
379
291
309
309
378
364
356
364
260
377
349
326
315
317
395
294
310
339
258
289
278
270
339
315
354
269
283
289
321
359
358
247
268
259
284
283
277
392
329
306
369
240
414
278
267
383
232
357
369
290
299
353
314
289
280
372
274
287
287
400
286
272
311
312
366
297
261
315
376
376
285
351
364
323
348
311
290
292
417
382
369
292
238
332
350
359
308
333
305
329
325
250
318
347
284
321
372
300
282
312
329
418
364
339
315
352
308
306
290
252
292
395
295
397
353
326
254
378
304
228
288
316
356
339
250
332
345
327
261
315
268
370
313
347
311
322
394
338
343
338
294
335
323
270
331
335
302
270
344
252
370
280
259
297
286
360
371
294
358
316
330
367
263
366
333
392
341
265
325
321
317
301
272
301
296
349
181
357
220
285
281
347
295
283
274
363
362
274
283
285
263
354
352
313
336
272
288
331
358
250
376
345
338
319
243
358
284
357
242
310
366
284
333
316
271
315
392
297
330
367
293
434
335
331
274
403
334
309
382
316
318
275
367
312
294
294
299
355
334
381
313
296
306
302
273
338
364
321
401
296
295
310
353
263
328
313
243
374
302
343
315
257
320
286
324
322
315
267
300
332
290
300
197
282
300
274
331
312
293
294
350
354
295
348
362
358
217
274
311
304
324
325
371
328
331
242
323
316
368
311
303
336
347
414
323
373
237
308
319
369
252
281
360
297
392
356
319
325
330
259
337
306
308
268
237
241
363
323
358
272
285
334
321
400
303
320
324
284
243
375
266
369
381
330
325
292
324
393
338
356
311
299
258
364
286
355
345
359
317
259
314
361
352
251
336
261
336
287
315
290
355
372
298
378
282
276
289
373
345
317
295
337
411
252
336
231
301
288
323
274
328
333
317
304
298
384
407
277
378
319
320
304
356
335
305
235
273
189
326
283
319
289
413
357
319
246
352
336
285
338
251
368
246
345
259
310
327
276
317
305
351
227
339
310
375
321
308
189
330
347
298
326
369
377
311
372
374
240
198
422
322
310
329
323
360
405
266
378
296
323
372
339
285
381
322
377
328
363
327
344
342
282
305
287
294
305
369
299
252
407
354
298
317
322
280
333
280
372
344
326
350
419
346
284
321
268
364
257
372
368
273
249
342
237
317
372
350
377
326
351
399
319
310
293
350
315
321
260
324
341
272
334
252
306
365
307
322
288
365
376
296
279
286
325
311
338
408
355
298
335
243
340
312
332
345
363
304
367
261
314
306
289
414
289
390
237
329
381
301
265
333
338
324
263
260
331
346
346
404
342
300
293
365
335
264
378
332
329
374
310
338
291
298
304
260
341
377
257
273
324
337
251
225
324
360
338
219
378
372
379
374
264
362
333
358
347
293
345
344
339
308
320
343
365
267
284
270
274
388
342
348
347
294
315
360
342
304
302
275
314
325
317
360
276
304
365
296
347
301
335
357
369
359
397
332
403
325
377
263
310
329
305
322
303
352
302
294
382
323
206
340
288
319
280
356
269
373
257
362
319
284
350
273
350
314
317
450
299
298
352
265
323
306
393
291
346
340
347
345
286
326
330
328
316
333
391
295
357
308
388
377
344
330
351
280
306
307
274
371
251
348
385
365
342
341
294
363
332
243
319
384
330
284
326
315
345
349
371
302
281
307
275
348
393
439
327
313
308
291
309
356
358
353
312
430
268
312
374
251
295
353
280
362
270
381
294
245
219
374
272
268
259
356
334
331
328
372
284
344
307
341
337
333
313
302
317
286
347
390
383
325
353
375
271
330
385
377
326
317
330
292
330
290
319
347
299
342
403
247
273
353
243
341
332
360
295
341
317
368
271
385
297
283
348
388
300
353
282
304
348
315
357
322
231
356
273
359
311
261
313
331
295
350
344
420
311
318
284
275
383
308
295
291
316
365
358
324
221
247
381
358
294
308
335
279
318
300
316
313
303
314
354
275
403
347
373
343
264
305
382
273
315
305
284
363
289
332
298
331
291
289
309
375
404
256
309
328
351
257
284
321
373
330
283
326
369
340
355
320
326
282
393
313
318
394
288
326
266
263
269
301
300
345
336
344
317
231
267
285
292
409
370
326
265
357
261
313
375
290
333
322
336
319
326
246
373
317
326
371
358
348
341
313
271
304
337
276
333
366
368
346
384
301
307
330
317
352
289
372
263
333
300
342
357
335
309
354
394
247
353
361
306
309
296
347
273
366
317
275
384
263
309
366
310
255
263
350
320
326
297
286
255
379
341
355
334
296
308
269
368
387
228
281
334
343
309
312
282
344
305
381
247
373
347
319
332
306
321
274
288
311
276
366
377
374
244
273
318
364
262
317
274
340
362
262
245
311
330
309
329
318
307
385
424
265
446
284
336
343
309
290
332
264
295
330
221
362
381
281
271
307
265
351
365
282
231
326
318
275
305
350
322
266
286
268
286
275
319
319
326
331
290
285
301
256
344
286
390
293
342
261
257
330
410
340
286
298
253
332
398
278
301
336
358
297
315
306
431
179
336
344
276
294
357
396
359
325
309
341
397
382
270
316
349
306
327
330
424
276
255
278
284
397
269
301
272
335
312
409
264
299
359
338
355
280
242
341
386
375
377
266
230
274
374
358
301
314
231
241
334
383
394
326
351
283
246
307
357
392
316
353
348
320
343
276
329
239
287
249
314
318
251
302
371
335
332
339
308
402
268
311
387
321
413
381
418
391
240
365
364
333
270
290
214
392
224
286
202
286
289
219
244
324
413
390
337
337
307
288
229
359
290
334
254
338
355
332
308
241
317
333
350
315
401
277
345
267
345
337
301
277
341
297
319
254
268
337
333
270
200
361
355
341
392
328
314
313
333
334
361
317
300
266
337
294
404
337
403
334
305
325
292
287
397
373
300
331
316
347
334
240
376
359
366
291
353
346
327
403
244
311
312
332
377
354
372
224
293
342
376
295
228
317
253
300
381
333
274
343
337
356
337
290
334
281
339
337
269
324
248
315
304
266
344
348
356
296
296
270
347
260
308
204
304
323
277
274
280
317
352
276
316
357
252
313
317
302
265
320
359
341
272
282
320
233
303
377
303
260
455
316
373
277
342
258
403
285
321
299
292
285
357
316
312
335
267
291
308
279
375
254
271
282
341
344
294
340
367
367
370
350
410
272
300
301
281
279
277
360
318
297
336
311
289
308
164
324
335
315
285
316
282
319
262
286
296
299
321
258
258
279
317
335
276
340
271
376
311
327
346
396
396
355
301
325
354
261
353
329
350
407
387
332
345
396
304
273
352
289
324
285
261
359
356
327
270
342
288
319
365
319
304
293
295
289
272
362
292
329
287
333
319
326
336
409
250
326
300
380
370
245
289
355
343
274
387
242
366
338
283
311
385
338
235
350
327
295
279
332
351
408
327
329
323
373
353
351
284
292
278
325
222
256
337
240
353
308
343
307
379
322
334
220
344
251
347
249
362
287
311
284
357
313
323
363
231
318
256
290
313
335
326
326
326
357
351
262
295
332
337
327
272
369
363
369
333
313
266
341
348
345
290
339
291
372
341
338
302
315
316
305
292
307
337
336
347
353
356
426
220
356
368
269
278
314
293
307
284
342
303
381
328
368
323
219
312
302
374
329
312
365
296
401
334
240
320
330
316
406
291
376
335
370
325
384
249
322
360
339
290
286
264
281
329
344
340
318
235
300
296
331
372
426
301
389
258
318
371
392
336
383
249
342
337
298
336
272
400
314
292
218
399
301
249
342
352
310
245
375
322
351
340
326
334
330
370
334
370
387
338
324
299
304
364
352
337
334
276
374
385
317
365
276
195
354
271
337
300
366
349
302
330
261
355
314
408
259
240
313
348
261
341
323
263
279
273
323
373
318
325
306
335
286
358
312
369
337
263
293
281
308
321
317
350
358
324
265
324
357
308
270
377
331
310
283
314
337
244
373
320
364
247
345
276
335
364
305
329
377
256
334
220
310
306
308
294
287
327
329
256
247
293
310
350
303
334
365
326
358
323
337
338
320
276
337
228
377
300
286
349
374
323
319
366
289
319
329
290
371
370
259
367
256
387
357
354
352
351
349
375
365
374
336
303
339
284
301
314
256
435
381
329
273
359
286
333
290
321
349
355
425
359
294
349
325
341
311
256
322
284
271
367
282
252
251
343
325
308
336
282
308
336
294
268
394
389
295
283
344
358
272
387
324
270
364
349
364
299
345
287
354
442
317
442
321
293
292
309
322
319
334
340
316
294
353
257
307
360
317
356
422
290
330
308
297
219
218
337
325
238
339
301
298
477
362
384
368
335
226
303
369
264
320
288
324
323
310
249
330
406
288
354
384
344
361
355
307
360
252
338
331
342
284
295
345
353
337
348
289
251
277
325
294
311
367
297
368
325
311
341
346
303
364
279
424
303
272
396
366
347
346
378
286
273
328
348
278
368
341
303
389
200
306
292
261
315
302
316
296
296
350
249
343
361
312
332
361
347
307
308
361
327
286
383
303
285
361
277
286
318
268
359
220
362
284
356
298
238
273
305
359
283
240
323
263
343
240
312
320
317
389
385
333
398
313
307
323
287
349
273
302
322
406
266
409
355
306
316
348
296
334
380
296
310
299
311
303
264
272
370
351
369
329
306
250
248
318
363
332
358
306
325
322
329
314
405
306
363
368
273
322
393
338
319
265
361
237
298
250
343
322
299
347
281
304
318
358
345
204
267
320
317
301
307
371
321
326
332
275
369
379
277
312
315
280
305
392
385
296
286
386
316
303
351
349
354
252
284
325
338
337
289
293
216
275
271
276
280
272
411
285
392
311
247
302
300
296
279
308
273
258
399
385
334
257
338
405
326
317
272
375
260
224
277
328
375
319
309
290
268
305
327
358
324
276
287
336
323
285
290
277
350
378
434
364
296
351
286
344
356
367
300
346
397
346
354
322
306
304
279
300
333
258
339
317
258
326
390
341
218
268
329
379
308
291
382
251
313
287
337
396
349
346
342
370
472
285
349
350
334
356
354
311
340
335
319
346
258
326
339
265
292
400
374
277
405
317
373
324
357
320
349
325
377
308
347
295
302
347
284
327
219
340
351
449
368
278
349
347
282
326
292
286
315
309
368
239
340
381
215
335
257
280
324
416
279
358
324
329
307
311
257
271
298
325
323
362
317
262
385
296
361
293
356
382
313
344
345
320
370
323
362
339
374
316
291
372
306
401
232
295
336
296
371
294
330
266
270
361
329
347
248
312
266
371
314
289
239
290
264
359
378
305
267
337
364
312
348
312
294
368
337
400
271
347
234
281
280
326
334
206
376
308
297
358
290
266
339
327
313
313
316
251
333
283
287
345
350
296
281
280
365
275
323
399
357
331
354
388
309
316
278
299
328
334
365
388
344
367
361
337
332
256
261
365
318
383
349
254
315
245
326
367
378
334
232
301
334
401
307
389
313
309
263
285
373
223
341
321
317
325
285
263
266
272
289
263
298
319
374
324
314
301
295
308
318
308
354
270
264
278
241
257
325
317
361
330
261
338
322
222
361
323
305
319
304
260
306
277
425
310
296
253
254
222
353
275
305
365
275
311
281
274
326
277
285
328
357
391
344
369
184
298
267
338
300
243
247
377
296
282
387
296
276
313
354
263
293
346
333
397
353
382
327
161
340
348
325
321
369
280
352
354
292
432
418
299
315
301
296
300
382
244
312
322
289
248
312
299
258
305
273
322
342
327
315
327
400
385
296
334
294
302
323
366
419
274
398
288
308
355
354
292
302
290
312
309
300
257
296
233
331
377
297
328
280
334
293
313
283
337
364
347
291
257
283
334
304
290
338
323
279
308
289
329
342
383
277
439
204
312
317
254
309
360
287
298
302
358
384
239
329
298
382
347
355
299
369
269
296
184
260
332
348
275
271
395
283
314
320
306
273
317
268
349
358
279
309
330
321
287
320
296
258
321
331
308
312
261
396
270
342
387
303
318
267
358
289
291
307
326
289
361
379
211
307
334
328
348
347
370
318
325
370
279
445
314
398
295
331
412
357
344
357
329
336
378
332
337
289
315
377
363
332
271
318
287
304
319
353
315
317
290
401
393
319
306
317
322
375
383
298
330
399
382
232
316
342
348
273
326
251
352
368
303
367
376
328
310
325
329
375
325
284
294
384
416
359
341
368
290
307
309
324
349
289
293
261
312
400
331
283
355
375
301
186
235
310
324
317
320
369
378
369
319
293
270
370
294
382
322
287
255
304
324
287
375
275
353
395
331
346
303
313
355
301
368
347
335
371
309
348
379
349
333
319
297
282
319
318
365
342
325
328
303
299
296
337
295
266
313
303
300
281
345
336
331
287
217
302
237
324
281
241
369
306
293
329
228
268
377
357
326
402
291
308
337
323
328
313
316
312
333
343
275
326
219
296
366
289
260
282
369
245
187
314
352
341
264
274
286
261
316
344
367
400
316
394
327
259
255
393
310
328
428
378
307
279
352
403
270
325
225
302
350
306
333
319
295
332
369
262
332
274
319
419
337
349
341
297
320
294
292
395
334
335
376
340
331
335
308
333
332
435
327
292
346
293
311
277
343
309
346
242
368
276
340
275
303
395
400
346
302
269
261
300
289
406
282
356
242
277
320
312
259
350
310
344
285
294
322
323
272
273
304
308
418
388
310
343
379
316
230
248
385
326
332
318
299
310
321
293
403
304
257
371
325
316
336
335
274
297
357
318
252
329
332
298
326
326
217
334
239
292
323
325
352
321
330
392
323
338
303
409
324
306
325
370
401
267
326
271
337
253
282
341
307
248
317
296
300
386
248
344
271
272
257
401
287
355
385
200
275
332
264
317
363
329
295
236
273
371
322
309
246
284
341
388
287
302
295
266
330
387
274
280
323
332
333
315
230
270
287
338
335
269
315
325
283
297
303
348
365
353
272
282
323
330
217
365
297
286
364
369
323
358
370
299
209
296
289
316
236
227
327
347
241
338
256
365
323
345
346
300
290
292
330
309
313
288
321
347
281
368
409
326
333
277
274
284
343
305
310
299
245
348
360
433
253
225
315
366
316
301
341
329
332
358
302
359
304
256
343
232
379
301
281
306
373
319
298
296
320
397
404
314
315
295
375
281
309
321
388
328
328
275
304
410
316
295
241
360
279
322
274
352
178
305
341
395
338
325
316
264
242
319
295
290
293
288
340
363
338
380
334
218
292
286
368
280
344
362
321
287
259
354
377
382
270
280
318
338
345
371
282
335
273
311
350
345
353
341
294
343
336
351
245
305
233
387
352
325
307
328
273
377
303
294
316
332
292
260
329
344
333
288
213
190
305
302
420
244
323
317
397
306
296
340
347
298
363
348
288
382
234
266
343
277
240
314
311
298
372
328
315
413
292
303
364
281
372
350
249
335
291
255
358
347
246
341
288
297
358
279
332
421
335
372
278
330
299
340
279
235
319
297
380
257
299
314
330
290
362
338
344
325
334
315
391
270
333
356
362
320
353
245
375
299
376
361
338
324
344
303
338
282
309
460
322
237
341
351
380
339
287
321
313
379
335
366
322
319
324
324
343
235
315
368
327
298
370
279
304
351
341
286
344
274
209
323
295
300
349
384
344
287
305
346
278
309
366
355
325
316
363
341
291
299
353
342
303
334
370
330
338
280
328
336
378
248
282
316
333
345
245
343
297
291
260
352
315
365
311
310
262
345
347
271
334
332
344
404
301
380
272
350
308
366
352
263
298
340
341
332
338
294
195
331
320
290
372
390
309
316
301
283
317
286
371
351
370
387
326
284
244
308
263
367
337
257
315
314
266
348
281
296
311
301
299
254
278
399
231
325
336
379
318
198
370
329
292
272
317
331
306
358
366
341
248
413
350
385
296
309
303
332
290
320
357
298
178
324
392
308
319
386
394
364
342
381
330
279
270
318
329
344
299
310
313
335
270
350
403
348
268
287
276
323
268
360
261
302
318
376
347
421
185
345
392
334
323
299
372
312
335
213
355
325
331
234
348
387
367
393
310
318
327
378
283
321
250
415
334
273
291
325
352
347
329
288
290
324
356
326
328
356
193
309
292
233
245
285
345
297
308
278
336
306
359
299
309
339
294
280
382
344
296
356
292
381
338
282
396
338
283
294
315
328
380
313
302
327
242
338
336
283
366
305
340
333
356
281
365
294
304
327
316
296
395
328
348
280
337
355
276
392
322
297
302
274
350
272
291
358
382
254
399
312
393
261
269
307
331
356
341
325
321
300
339
354
402
315
385
263
275
398
311
311
346
251
279
272
290
339
378
333
305
295
336
315
231
274
291
332
402
315
323
334
312
338
317
331
281
359
311
321
426
392
309
326
330
357
303
318
272
372
269
385
360
334
287
268
244
325
359
342
267
398
271
275
349
302
254
273
303
349
241
295
337
378
327
219
318
299
306
264
363
331
337
315
313
411
371
281
349
277
353
290
344
243
456
375
276
292
315
241
347
305
296
209
325
362
273
249
333
306
342
358
347
355
348
340
369
377
285
288
332
307
351
342
286
376
343
302
346
340
265
308
288
257
301
356
278
300
306
399
362
308
360
384
337
381
249
344
297
304
305
331
328
313
401
356
318
387
311
329
390
238
381
369
340
354
329
303
315
301
367
311
269
283
312
246
292
360
330
300
347
311
314
300
303
388
375
320
390
288
288
340
394
278
351
258
335
294
286
340
316
180
402
276
371
307
338
401
328
308
284
342
314
404
292
277
343
348
313
393
318
290
299
346
323
321
379
341
304
402
352
321
384
365
306
304
370
270
296
328
327
330
311
314
334
359
339
266
302
293
302
248
333
265
262
362
290
316
386
370
238
328
342
239
389
310
307
235
208
258
273
352
368
295
268
343
363
305
293
326
367
367
224
353
352
288
345
318
339
319
280
336
349
334
339
268
307
288
376
312
317
305
288
336
358
336
278
313
332
392
312
314
335
302
292
383
359
230
413
315
264
411
294
320
300
352
323
323
321
306
300
306
368
342
291
277
242
367
339
332
293
255
290
410
232
317
328
391
322
312
318
305
324
343
266
326
346
318
349
386
344
418
300
400
272
368
279
319
391
289
355
326
244
374
379
327
338
405
373
323
319
329
292
425
386
391
380
280
334
363
387
320
351
386
306
285
322
328
269
327
284
180
387
287
335
273
282
334
335
286
331
344
329
337
346
276
296
292
268
362
202
298
385
404
262
339
370
316
285
331
286
278
318
392
332
429
354
335
339
428
315
360
323
327
238
344
331
330
364
397
345
354
286
351
293
281
276
280
278
339
292
333
335
259
364
281
309
382
344
377
292
446
324
231
301
281
395
341
353
290
293
346
268
355
328
293
354
304
396
301
268
302
312
229
289
279
295
420
336
244
326
343
290
288
318
312
278
358
263
311
365
319
332
240
362
404
370
304
328
302
293
227
337
299
210
344
336
295
431
293
252
387
404
310
345
347
390
246
389
365
255
357
308
365
346
317
361
376
323
353
356
288
323
338
253
338
312
338
327
292
321
318
324
298
418
308
398
299
231
249
235
335
324
385
417
299
278
386
328
330
284
315
374
346
258
340
313
338
326
326
272
357
345
282
356
310
312
352
327
354
311
356
296
354
338
299
316
339
305
339
327
335
405
342
258
209
212
251
252
347
287
315
312
299
294
325
269
213
351
313
183
335
328
378
312
397
368
273
342
262
332
229
278
329
374
276
244
309
252
232
249
370
230
298
351
391
267
301
336
344
306
294
360
287
247
328
260
227
393
335
309
311
350
325
258
318
333
356
301
289
313
340
235
347
322
213
279
256
295
276
352
289
281
327
327
310
306
300
290
265
429
343
291
267
378
326
250
319
296
266
313
341
411
327
351
314
181
324
354
295
303
311
265
291
363
262
322
333
256
310
302
396
272
281
298
269
235
362
366
351
325
347
344
324
325
322
313
389
346
312
390
294
302
215
392
385
297
358
289
319
341
365
345
308
386
258
275
357
284
361
297
342
293
329
336
367
344
281
347
399
255
178
368
383
281
256
364
333
366
260
376
330
319
286
360
327
304
272
405
308
357
285
329
345
285
288
275
301
367
322
321
371
299
302
380
294
364
244
300
233
319
446
313
328
270
312
300
327
302
411
335
313
275
230
328
332
282
345
352
362
375
326
321
281
410
378
320
267
302
317
260
259
296
338
357
350
387
322
283
278
357
272
344
334
316
393
294
322
362
269
374
274
332
339
304
294
257
323
337
265
325
324
343
246
313
349
368
299
291
287
259
283
344
330
357
344
372
327
361
324
371
324
268
304
382
280
341
343
246
363
264
372
321
379
358
241
312
360
339
304
324
261
335
424
349
273
292
370
418
322
258
373
285
417
317
302
313
353
197
314
225
296
303
263
318
268
282
352
356
334
335
317
327
273
316
304
348
276
361
303
333
270
334
340
335
260
301
276
181
333
278
378
328
298
292
278
365
311
255
322
275
266
371
324
331
397
279
272
331
284
277
313
275
357
263
355
317
237
324
281
316
267
312
315
311
370
342
334
290
375
306
344
356
333
301
289
309
295
376
269
351
304
345
356
332
269
311
282
349
335
319
322
303
280
299
302
303
220
273
349
303
298
288
403
295
348
376
345
393
337
355
298
366
273
398
274
352
351
335
304
346
287
246
310
331
312
307
398
315
364
248
286
346
312
412
279
354
341
326
302
398
312
274
321
348
333
303
308
253
425
335
316
362
317
350
348
320
333
346
408
343
307
274
341
373
344
414
305
341
340
368
353
357
348
365
356
295
414
348
285
313
314
426
273
383
264
322
397
335
220
326
244
274
311
297
308
399
275
339
421
328
379
362
347
311
325
318
364
356
324
249
279
335
380
289
264
236
375
315
288
294
296
267
287
348
293
277
303
342
401
386
281
357
413
290
359
317
359
389
329
361
311
349
169
326
348
278
318
228
312
319
307
325
341
326
299
322
307
297
361
344
346
268
311
437
300
243
353
368
345
334
327
268
328
293
238
319
303
322
364
331
338
387
309
262
399
259
363
268
407
303
244
357
341
364
372
330
321
316
262
337
303
268
411
299
353
317
366
323
317
378
298
321
329
343
312
285
244
341
357
336
398
303
310
394
336
297
294
385
284
296
291
309
349
363
284
234
347
298
290
276
246
400
312
375
280
332
295
392
284
314
325
305
379
280
331
301
232
313
288
318
325
341
341
332
330
284
351
276
344
269
319
363
382
364
365
317
309
356
342
319
349
305
203
282
316
331
286
244
313
333
331
436
318
398
339
221
297
320
301
284
317
234
369
308
322
300
193
288
288
326
395
282
346
184
342
331
336
277
389
294
280
266
374
277
323
293
365
300
312
343
336
319
292
282
388
335
372
266
281
346
386
345
349
358
324
284
374
356
338
289
302
300
379
289
360
304
290
283
210
362
340
383
334
373
362
198
339
293
354
370
333
380
383
318
392
305
320
296
284
323
309
338
295
307
352
363
301
286
298
314
311
320
303
343
387
369
286
309
341
325
303
361
300
311
286
269
337
317
297
378
369
300
334
308
309
350
341
250
302
338
277
305
338
306
279
301
258
352
244
342
296
260
311
279
238
375
245
273
317
380
330
332
293
323
401
320
298
220
285
230
269
338
342
340
330
271
357
306
312
379
306
332
308
273
311
326
249
310
362
286
271
260
308
290
294
275
328
323
400
367
316
293
346
247
339
286
275
303
270
331
319
392
317
279
350
301
346
350
342
323
289
267
342
336
409
302
303
335
346
214
300
339
286
267
280
361
325
289
316
328
398
301
357
337
267
319
377
240
245
291
265
307
358
256
269
252
313
277
296
321
342
360
317
308
310
264
369
351
276
297
331
375
376
358
315
301
318
310
252
299
402
251
284
263
325
276
371
309
315
236
282
332
263
404
341
360
335
355
340
299
298
277
235
359
346
358
323
211
324
301
359
307
290
354
397
356
275
306
337
370
248
342
293
361
304
342
239
309
330
260
306
334
352
298
328
298
289
266
264
249
268
235
260
280
210
362
316
403
385
260
309
233
358
399
234
258
406
358
360
320
362
312
308
290
277
315
321
306
250
363
336
291
289
270
262
316
322
298
359
300
386
329
314
369
326
358
330
278
323
310
381
327
353
257
373
336
329
265
237
319
354
273
223
357
357
323
337
310
265
288
310
403
332
287
335
345
271
303
322
399
355
295
297
281
384
261
260
319
358
319
327
255
304
252
230
303
396
354
292
288
272
386
337
340
312
376
291
222
241
305
350
379
290
301
305
319
321
339
304
309
324
318
288
249
282
360
427
348
287
345
325
341
282
309
314
268
313
300
345
344
345
304
261
338
330
211
275
329
409
336
324
419
287
203
304
318
296
280
330
314
284
334
320
341
350
276
329
339
348
293
291
319
342
351
302
331
337
279
313
313
317
352
357
277
284
335
311
324
316
267
352
359
338
341
346
307
269
344
211
353
309
265
348
326
258
337
359
278
344
288
344
272
272
318
340
326
294
392
288
189
357
303
320
283
374
300
203
381
246
294
371
335
350
275
316
249
306
376
337
402
306
376
296
281
351
224
320
356
317
351
303
282
325
326
297
253
365
321
246
351
357
329
294
295
353
329
304
304
365
382
344
319
377
393
333
313
244
366
336
336
248
387
218
407
300
392
273
339
375
398
317
326
338
405
264
332
274
311
292
330
302
384
351
316
376
376
331
340
311
268
315
307
267
313
303
273
293
286
380
370
300
353
325
311
222
285
331
418
422
306
435
329
301
348
295
347
359
398
347
348
385
289
318
275
362
321
297
253
295
358
311
273
334
263
301
258
299
285
324
303
385
301
278
359
327
315
359
400
299
375
314
303
387
325
337
344
295
360
276
286
281
354
324
263
311
396
266
340
324
205
334
350
288
299
335
378
327
309
348
293
328
283
399
301
233
356
278
303
319
347
354
334
277
366
322
251
310
282
284
253
357
329
345
321
367
346
317
283
272
277
270
242
287
318
345
319
322
384
340
278
323
279
365
368
348
247
276
269
315
278
412
351
268
299
357
315
278
309
319
384
340
355
287
336
362
351
233
335
294
310
301
331
328
316
377
329
330
356
408
313
321
331
312
284
441
337
345
275
290
347
286
325
366
346
393
278
181
332
320
319
307
297
375
315
291
362
342
339
357
366
281
348
310
288
318
315
272
310
374
315
389
345
302
339
312
342
328
375
347
307
292
357
361
362
386
311
333
277
344
268
364
353
343
379
260
214
304
271
346
292
326
340
242
252
262
258
323
353
253
342
379
324
303
345
325
277
369
344
326
261
329
339
334
290
310
271
308
281
315
228
315
302
327
264
237
273
279
312
307
356
301
295
273
265
312
279
324
332
222
313
323
271
342
246
295
334
271
347
289
379
298
350
330
360
308
342
323
289
378
302
344
344
314
262
355
275
280
361
274
300
219
265
311
341
363
289
366
326
303
372
319
355
380
319
322
319
361
346
263
365
356
355
322
310
291
331
358
316
322
251
332
391
323
284
308
265
419
350
319
290
315
289
291
347
266
305
408
367
287
316
265
371
340
299
247
339
332
278
337
255
362
307
298
309
332
286
302
242
368
269
261
275
323
260
328
304
271
348
314
318
251
369
369
248
367
284
288
335
319
245
291
306
384
245
292
362
268
373
316
384
374
344
305
379
333
273
303
321
343
224
362
293
270
256
392
251
326
307
345
335
375
310
301
249
387
285
350
243
360
331
332
272
294
383
368
315
284
311
331
358
232
391
375
311
276
315
327
253
280
393
296
314
262
345
362
267
347
244
344
346
338
352
379
275
332
280
385
392
352
255
322
374
342
334
366
278
258
381
382
438
241
296
353
329
290
335
378
299
336
318
325
306
253
378
277
286
351
345
348
288
342
326
301
289
300
278
284
284
343
347
286
369
313
287
378
374
391
323
333
381
270
336
346
315
264
297
323
394
339
294
310
285
317
315
306
264
248
326
309
210
340
270
230
384
310
301
376
331
343
281
225
329
244
263
350
328
359
355
289
298
329
364
316
270
345
335
351
342
260
238
276
338
331
350
321
270
368
277
211
416
288
363
279
346
215
296
350
332
357
365
296
307
363
362
316
310
198
330
295
321
430
326
400
367
355
365
300
324
307
302
306
286
233
354
284
323
364
347
364
319
269
383
318
381
368
378
364
305
202
344
313
331
282
362
305
335
389
357
358
357
322
369
242
322
372
289
304
265
288
315
345
270
345
326
311
304
259
283
278
261
358
327
261
327
326
348
304
287
327
342
368
255
364
391
271
390
326
285
332
296
306
222
361
359
311
275
290
308
240
292
264
322
322
397
382
365
317
240
274
316
215
289
370
301
350
334
291
274
315
343
265
379
282
362
242
365
292
362
237
382
292
329
303
334
317
241
303
333
244
294
332
385
382
286
335
298
327
359
268
325
379
304
272
341
318
305
338
290
222
370
284
294
220
279
334
246
231
342
387
351
442
335
330
277
363
299
323
342
300
298
353
375
313
369
382
279
334
321
298
262
310
327
334
343
298
219
309
350
235
379
371
295
307
341
328
331
292
327
301
257
283
395
363
378
372
343
375
324
348
274
342
300
295
306
329
260
284
341
374
298
287
266
417
325
318
400
333
338
322
295
281
285
370
366
273
338
289
306
361
301
287
315
257
278
360
350
337
429
327
254
267
250
254
285
295
297
312
402
362
220
404
329
361
253
274
377
319
268
314
300
385
322
322
349
381
304
318
318
311
259
274
319
352
217
340
273
352
235
326
306
412
342
223
351
329
212
204
383
308
316
289
302
237
261
343
340
351
315
259
307
242
304
345
359
309
293
333
277
281
348
303
353
363
299
327
383
327
279
316
338
332
321
308
234
248
341
380
307
255
289
286
337
287
339
322
347
317
256
272
272
303
263
326
328
377
334
322
259
306
293
330
304
326
302
353
272
411
343
341
394
294
354
233
328
333
313
359
301
377
290
350
326
284
323
231
317
343
318
362
331
277
311
326
256
259
299
338
297
285
318
361
414
252
285
389
299
283
160
356
332
336
298
350
267
284
351
340
346
240
287
268
346
284
273
357
349
275
311
382
246
303
322
327
279
299
323
364
340
258
337
284
286
373
258
315
308
270
245
318
294
347
303
341
372
372
357
239
238
335
358
306
343
324
421
343
325
294
281
376
362
234
289
290
333
265
316
346
354
279
310
340
323
242
377
345
315
340
360
250
256
303
404
347
277
332
383
279
314
329
324
324
329
373
242
311
303
397
257
359
278
379
315
328
283
323
335
390
301
346
220
339
297
248
320
358
294
341
292
237
307
363
306
275
283
237
334
370
298
413
254
289
387
307
301
326
321
348
332
316
348
446
377
377
326
343
310
278
329
285
270
352
308
318
288
209
233
351
243
357
364
394
406
292
332
401
310
289
366
311
305
334
273
340
329
417
420
341
413
239
436
259
346
386
290
249
297
375
375
301
363
273
268
325
288
375
338
299
299
303
362
316
334
320
306
301
278
365
268
414
331
310
261
291
316
345
237
321
323
323
289
341
260
382
291
343
376
199
306
360
322
363
280
361
318
337
370
269
296
301
224
352
346
347
305
281
387
328
269
310
313
287
404
319
313
336
245
372
343
327
339
324
262
272
303
268
320
321
272
340
301
284
341
292
242
317
317
311
357
293
255
319
270
306
257
278
380
321
333
317
370
278
327
313
339
309
296
314
242
384
292
333
238
308
396
347
310
398
364
277
291
348
368
284
270
273
275
353
284
250
320
289
358
287
375
298
309
299
324
268
294
345
250
398
272
330
334
369
259
236
253
283
381
338
338
409
292
364
336
360
284
382
245
357
373
312
337
277
297
368
324
311
315
312
328
361
300
333
295
299
363
346
319
300
355
381
360
333
340
338
343
358
281
317
322
339
278
287
387
299
333
323
337
334
294
321
314
238
343
309
326
303
312
330
398
252
373
369
399
282
265
329
234
320
374
390
288
349
285
350
264
284
371
360
336
236
243
372
321
383
289
351
329
361
371
268
341
386
303
379
366
312
279
303
325
266
246
305
351
264
286
315
273
321
270
339
346
283
199
324
366
357
331
359
314
202
317
351
268
323
292
332
342
380
316
347
313
221
302
294
398
378
317
346
308
264
305
256
419
295
282
225
318
361
298
253
289
359
331
342
273
261
284
317
360
273
336
284
302
345
309
354
326
300
347
359
351
373
381
316
322
347
353
381
297
265
311
312
235
256
311
322
258
283
309
353
318
381
339
309
308
293
350
292
269
278
280
318
284
338
346
289
277
296
329
334
357
255
366
284
326
332
405
311
335
275
281
311
314
338
339
318
331
306
281
276
296
353
306
344
361
341
319
237
363
312
319
374
313
314
392
288
329
385
243
349
300
399
277
302
339
315
256
298
324
258
330
330
406
296
235
348
377
310
347
384
293
307
313
277
358
273
334
376
231
300
304
301
386
369
365
292
337
308
300
367
330
363
373
245
323
289
370
239
302
288
373
342
351
246
306
286
357
245
312
369
312
378
345
307
369
304
355
316
387
330
342
272
264
319
224
337
257
411
373
306
333
284
288
316
276
406
328
249
339
304
311
329
309
315
322
347
417
299
310
338
348
346
297
229
367
322
302
284
332
395
352
301
322
331
271
268
309
343
269
330
316
299
348
296
319
263
259
354
266
400
337
305
374
386
305
366
329
278
353
326
277
328
352
369
280
323
267
333
316
360
322
322
317
352
354
354
433
309
359
359
379
332
379
264
319
335
322
368
376
365
335
303
380
388
269
319
391
260
337
317
295
334
298
272
293
274
296
251
355
313
334
342
321
314
314
331
341
405
401
330
312
336
353
348
252
348
355
339
277
249
318
302
317
339
330
243
242
268
363
282
358
355
312
367
384
357
292
242
330
353
250
331
347
285
291
364
281
294
310
361
286
379
319
271
316
352
253
303
306
341
294
278
337
329
356
330
315
380
361
309
362
307
330
327
266
334
315
360
323
377
286
391
268
325
297
306
303
301
351
240
240
380
387
303
303
415
289
268
289
339
277
366
298
375
252
332
349
317
336
292
395
405
343
319
338
319
318
224
347
324
309
322
261
321
331
409
304
354
319
272
356
235
358
359
355
301
343
330
361
338
306
281
334
323
285
397
339
361
337
364
269
277
326
309
269
256
340
286
357
302
350
384
396
340
309
361
290
322
292
382
361
312
324
258
266
335
256
289
371
327
222
284
336
339
385
268
264
353
289
358
287
264
283
374
290
297
341
413
266
386
223
353
271
324
309
355
332
272
333
313
338
265
308
336
313
253
311
341
238
317
309
302
311
328
358
296
329
327
306
347
367
330
343
352
269
307
373
243
330
358
334
276
307
285
277
314
317
343
302
287
311
226
304
252
374
337
304
284
359
322
292
263
375
261
354
328
342
293
300
317
301
315
266
308
358
344
353
345
350
319
315
308
293
267
338
303
271
283
204
303
397
379
305
360
297
335
250
401
332
329
347
366
346
286
340
339
310
278
347
343
237
372
302
314
382
351
295
328
352
291
289
339
235
359
239
350
225
282
389
291
271
419
311
307
317
288
297
374
353
356
246
238
292
284
425
380
266
282
210
364
384
266
293
299
352
226
288
253
379
321
313
312
286
304
322
376
306
331
287
326
351
275
391
324
310
328
247
353
345
275
367
286
266
313
321
310
321
183
361
361
338
358
282
358
256
305
304
377
318
289
339
264
314
303
392
323
373
354
220
370
413
298
315
264
350
293
303
311
320
271
295
306
264
274
308
308
323
258
319
322
306
284
336
270
277
321
297
262
361
324
363
288
339
272
284
272
345
319
323
316
318
305
332
310
297
327
308
344
364
378
260
382
367
328
283
282
324
292
373
347
377
300
319
321
345
347
340
303
319
335
295
289
288
273
303
351
402
429
398
337
315
302
395
262
317
226
274
294
306
395
350
280
325
285
283
308
280
323
274
257
287
382
213
332
419
341
377
345
350
290
362
315
338
306
345
257
375
322
392
422
371
405
378
297
312
347
355
345
322
323
319
289
301
361
281
217
420
276
344
300
324
277
293
363
293
391
341
304
345
363
329
261
300
292
332
341
317
335
272
242
339
320
235
258
287
284
357
313
370
267
359
328
353
309
305
300
365
311
267
318
315
374
326
259
407
279
350
338
256
377
332
369
275
365
351
335
394
288
355
292
209
280
272
338
326
334
338
295
269
288
295
347
284
403
312
260
334
305
343
428
316
369
319
365
408
328
330
305
284
360
365
321
357
337
357
405
341
229
236
336
373
374
277
322
312
362
309
374
300
337
244
392
301
321
366
237
284
309
306
300
316
273
365
331
303
351
353
277
358
320
295
398
270
339
295
310
356
267
390
369
365
281
367
350
304
340
334
327
346
212
276
357
292
334
379
314
337
293
296
387
285
336
313
280
300
317
351
316
284
325
327
297
251
278
335
310
238
345
309
278
320
243
341
227
337
345
333
398
238
264
315
249
342
298
352
293
358
326
390
324
327
349
383
247
324
341
314
296
329
330
269
314
336
307
378
384
269
379
368
265
380
307
272
284
341
389
333
256
227
279
351
358
322
355
234
361
326
298
270
364
318
344
309
292
315
303
302
296
256
298
324
289
316
370
336
315
359
338
247
354
410
311
312
419
236
423
286
250
323
286
368
350
375
269
355
357
329
294
304
340
253
343
328
303
285
308
319
352
371
376
306
264
419
314
258
363
303
308
326
255
230
286
328
267
315
322
287
304
289
345
297
301
324
268
381
393
291
342
337
350
351
318
303
351
317
359
365
251
382
322
309
255
357
334
310
290
270
284
364
241
380
277
347
355
303
409
249
300
347
265
269
256
328
345
374
268
289
228
278
385
291
352
373
268
284
306
318
339
376
353
278
357
255
344
372
384
345
329
313
319
361
326
244
313
331
391
293
281
292
349
331
331
344
313
345
289
334
312
380
358
287
370
296
310
332
283
359
331
340
238
317
245
311
293
319
369
377
313
296
416
336
331
311
328
300
355
309
296
331
275
272
339
270
323
318
340
258
300
306
348
299
308
339
334
316
258
314
301
313
325
355
369
273
330
317
367
316
319
335
333
387
355
290
366
319
251
281
254
261
276
345
368
323
253
308
322
328
326
406
292
334
335
293
355
377
282
274
371
369
301
305
350
300
325
326
320
280
349
323
289
271
345
368
260
351
279
307
317
231
324
253
397
335
245
266
344
305
364
368
303
306
249
338
362
349
268
319
323
328
318
311
269
363
292
348
270
320
370
399
400
322
374
299
214
305
352
371
324
301
334
292
330
325
355
217
253
372
353
292
289
330
277
349
305
406
367
339
363
263
361
213
377
246
284
306
322
285
359
287
307
269
323
330
216
286
361
315
359
315
348
340
370
359
276
274
399
316
338
326
296
261
280
266
360
265
421
352
344
287
377
428
365
346
345
263
305
287
345
288
317
361
280
342
317
305
322
310
208
331
338
384
287
305
258
317
261
305
312
312
295
238
283
221
360
397
288
308
360
331
346
306
306
266
357
388
305
290
326
340
215
346
228
327
313
373
284
297
354
305
276
392
353
303
242
284
394
369
352
355
337
248
361
286
238
254
299
297
277
333
336
347
374
331
317
293
341
336
292
424
223
353
260
300
332
337
309
347
272
344
394
356
281
358
330
307
367
312
366
277
287
294
243
300
364
302
296
359
218
327
367
256
371
307
332
307
345
288
399
350
383
306
333
252
246
265
235
384
346
331
376
337
320
291
330
377
318
372
319
335
327
258
315
300
351
268
311
329
310
367
356
366
259
293
315
381
362
355
354
380
300
344
386
233
337
313
325
292
374
315
298
160
283
257
313
352
255
297
263
341
218
357
283
323
270
348
324
323
386
346
349
359
351
332
227
347
323
395
315
298
358
273
350
276
294
342
275
273
379
325
400
358
310
353
274
341
276
225
181
268
308
422
327
420
329
279
409
382
434
324
262
306
338
276
289
415
255
273
261
368
364
330
239
315
373
249
368
331
341
408
264
318
239
379
355
349
279
330
309
271
354
337
395
321
321
282
344
327
303
328
303
241
336
365
329
313
338
298
332
297
383
358
337
384
301
214
327
330
301
306
321
273
302
384
328
333
346
368
360
355
347
398
352
310
302
356
299
360
357
286
333
374
264
311
350
324
267
352
299
317
284
359
268
326
375
302
305
248
327
329
274
354
306
304
371
177
244
287
238
330
337
250
325
295
358
251
301
247
311
318
274
247
330
315
291
320
330
221
388
332
168
353
312
276
287
346
312
303
359
330
350
294
389
356
308
308
282
331
326
278
251
188
258
313
336
392
300
340
344
285
312
375
308
372
342
320
255
308
354
278
322
365
335
339
309
291
292
312
272
353
332
286
367
354
301
313
348
327
365
296
306
315
338
307
296
332
287
296
359
281
404
262
282
349
300
256
337
340
331
312
274
317
309
239
363
375
311
293
394
340
341
205
323
274
355
282
265
280
388
282
316
352
300
324
371
356
319
253
304
233
346
304
320
371
331
316
268
284
387
285
296
369
293
305
361
371
285
220
312
321
348
336
249
350
324
323
321
217
324
274
322
301
308
293
295
293
326
273
324
267
268
257
375
266
318
304
225
259
290
371
251
330
193
339
238
291
346
331
218
303
207
255
284
239
313
298
321
273
182
344
395
323
405
343
402
340
353
271
307
264
265
295
321
269
370
340
344
308
338
388
328
280
352
321
364
253
316
332
306
284
329
291
427
341
286
398
261
203
289
251
331
303
343
278
370
331
327
292
389
311
290
337
322
317
360
280
389
358
326
307
299
259
364
303
339
293
344
325
300
365
386
325
301
274
342
352
302
372
313
306
352
241
378
268
344
297
274
338
428
264
373
315
313
378
264
318
358
223
250
248
333
321
285
317
326
304
214
349
392
350
316
335
236
323
305
315
340
310
350
325
328
302
296
222
317
342
384
307
310
395
342
329
296
330
327
379
257
338
287
289
321
406
323
228
276
319
325
297
309
246
367
377
338
305
342
363
383
250
306
279
381
260
380
320
286
348
319
297
340
293
293
332
347
299
256
300
204
286
339
329
390
228
370
261
260
312
322
236
335
290
282
352
330
426
273
350
314
323
400
324
350
288
283
279
296
282
361
383
304
310
300
316
273
324
358
275
323
257
290
372
260
380
340
413
263
407
333
311
369
263
304
235
305
366
305
346
291
355
340
332
342
229
314
344
299
335
275
286
319
387
306
243
332
321
347
290
385
205
305
351
358
318
336
339
357
358
344
290
292
324
301
369
263
248
263
292
290
255
270
302
308
290
352
416
288
325
293
290
238
311
350
326
261
295
298
347
356
398
341
261
264
318
373
396
330
321
338
330
285
324
319
186
305
347
353
316
341
280
298
327
241
384
346
277
298
278
340
318
310
299
347
302
328
251
338
356
367
303
270
258
302
296
314
368
332
321
367
294
365
223
289
376
326
308
338
251
294
338
377
304
324
250
297
325
306
288
275
266
246
321
281
266
365
300
242
334
390
290
242
288
322
293
203
374
412
324
336
416
386
335
265
319
314
213
374
261
296
343
321
374
318
321
302
279
325
353
327
359
322
283
333
314
298
341
257
336
337
397
371
315
383
316
250
361
349
416
257
281
396
356
264
363
310
288
304
309
272
248
329
312
315
382
265
326
228
287
310
282
316
323
358
317
240
376
393
319
320
384
285
308
388
287
389
364
303
354
354
410
324
293
245
308
375
336
324
266
286
282
316
370
188
344
242
348
297
265
364
371
307
310
249
327
275
251
322
312
293
354
342
287
262
288
318
287
335
280
314
288
297
274
364
311
305
263
299
325
357
194
332
321
368
369
281
296
406
378
262
349
284
192
289
306
329
305
309
295
362
350
261
337
374
256
252
279
252
196
300
331
353
289
386
273
359
350
344
265
318
297
301
339
305
344
316
327
280
360
266
342
305
317
335
307
337
309
308
438
339
308
305
339
321
317
294
305
344
302
285
316
372
305
291
230
258
297
344
317
273
278
334
403
329
355
304
328
289
351
240
305
343
311
342
289
388
250
308
329
268
308
335
253
272
334
348
320
265
335
333
271
311
286
323
249
272
356
331
279
359
311
285
292
274
339
277
350
311
276
319
303
312
362
349
344
277
275
332
339
318
315
353
391
322
299
310
351
295
299
270
348
328
390
255
307
398
346
353
389
320
375
323
322
285
322
311
346
295
313
276
269
209
269
304
279
336
297
361
266
350
268
356
331
311
372
295
333
336
313
336
284
293
338
383
288
286
180
348
355
334
269
255
365
432
329
341
407
350
319
370
268
287
301
351
244
283
263
370
267
335
362
272
290
343
340
299
302
352
296
391
297
342
323
336
366
369
301
285
349
315
397
275
243
344
332
349
262
341
328
291
273
398
290
375
324
311
195
358
339
297
280
364
309
426
323
308
307
345
353
327
400
280
371
309
255
292
284
292
358
327
325
261
269
251
294
290
281
404
358
214
341
320
273
306
301
293
384
304
324
307
354
346
325
300
380
314
288
305
388
328
294
309
344
379
353
302
233
311
290
309
334
241
342
343
412
343
391
336
321
368
376
285
299
186
377
317
393
338
273
373
340
294
348
277
314
246
338
335
321
344
358
346
350
415
348
345
175
330
278
370
335
381
263
356
255
254
331
242
255
247
371
341
359
302
281
362
331
273
318
338
295
285
331
307
315
351
253
332
272
304
308
279
376
407
336
361
220
314
321
313
340
291
321
220
282
312
374
277
308
201
253
348
342
284
351
278
344
402
316
312
378
327
369
395
361
328
345
336
281
332
284
344
346
313
309
273
355
362
347
271
309
360
237
242
332
334
274
243
341
366
231
197
311
353
374
305
360
310
325
280
368
277
390
281
344
295
376
309
307
401
329
333
277
248
399
337
330
191
270
360
300
286
218
399
319
277
317
309
296
301
340
346
358
271
353
303
345
355
310
361
284
345
346
291
327
320
274
324
349
291
281
367
274
286
322
345
360
258
324
280
368
336
354
369
326
393
290
316
287
289
285
280
319
249
288
340
342
280
209
267
333
259
280
318
336
281
313
343
335
302
327
406
305
222
383
297
337
249
274
330
258
356
348
297
355
320
309
283
271
311
333
281
265
361
282
327
290
280
345
346
398
306
379
287
366
296
323
305
248
257
232
332
300
286
354
347
212
350
340
338
396
385
274
298
314
294
326
316
275
364
288
325
283
289
312
365
256
266
347
240
352
272
273
288
345
241
317
335
280
297
309
328
297
333
366
274
326
302
341
271
296
182
299
358
305
393
197
314
219
346
350
362
198
255
363
341
380
327
297
348
350
312
232
323
333
357
407
384
351
319
321
283
275
332
366
298
343
305
299
297
321
374
342
404
273
331
383
366
371
334
386
364
288
359
297
400
250
254
305
317
339
282
253
331
295
303
285
317
283
328
318
320
307
278
312
339
300
346
208
332
353
327
297
321
286
257
323
343
307
206
281
363
308
307
367
323
271
341
293
391
288
280
282
261
349
383
292
343
282
360
324
221
359
348
284
371
401
436
275
381
288
395
293
343
351
400
322
347
355
312
338
363
438
358
266
312
323
349
252
407
287
303
290
323
305
330
393
306
293
289
288
286
285
358
290
365
385
322
331
344
422
333
294
324
325
338
279
322
273
318
350
256
300
358
324
420
333
324
268
286
233
323
382
270
357
303
264
324
255
327
315
293
230
316
235
166
310
378
265
282
247
259
265
275
358
318
368
363
374
372
291
244
195
333
297
308
324
288
286
350
287
262
341
286
302
317
319
242
326
237
285
317
381
409
325
374
358
336
271
360
323
441
256
282
324
322
307
288
311
248
285
270
334
316
331
300
317
296
368
234
345
361
411
306
300
327
366
305
341
387
242
301
290
338
317
373
299
288
270
355
270
289
273
286
362
267
298
294
370
296
303
279
368
363
328
310
354
332
421
335
368
316
329
360
301
336
406
297
325
240
308
395
315
319
324
324
357
349
309
287
244
325
344
352
282
363
348
316
258
269
368
287
368
357
311
346
318
267
348
344
352
319
332
314
302
276
322
336
248
250
334
302
300
258
307
282
295
323
294
258
350
323
359
315
367
279
323
334
331
301
342
276
367
310
297
261
286
386
246
273
325
365
384
348
414
298
322
333
321
244
306
350
259
278
311
261
346
391
263
352
292
302
322
343
313
303
301
296
324
270
415
318
315
294
366
348
356
363
274
267
283
326
283
344
319
308
338
321
350
395
247
379
343
289
295
291
290
361
361
272
345
264
330
281
394
383
255
252
345
287
308
318
360
362
310
344
359
285
397
308
247
231
361
294
382
308
358
274
358
215
251
352
333
356
360
326
317
262
345
300
317
334
336
361
342
363
361
395
289
328
227
371
267
308
280
391
330
279
296
311
253
346
326
249
341
331
251
312
294
344
153
310
364
283
261
252
295
326
328
286
354
316
301
347
267
349
359
275
296
331
344
322
281
319
297
280
249
388
301
435
230
291
251
374
346
416
274
279
394
369
271
389
379
263
309
325
343
344
299
208
292
283
347
340
342
269
257
304
327
350
325
342
406
291
383
306
291
289
278
296
292
346
371
264
297
341
350
310
254
348
279
313
294
314
353
351
313
358
257
364
369
297
296
347
326
336
263
241
415
372
250
295
271
356
316
280
260
383
307
329
361
287
370
346
357
188
315
267
349
341
309
320
285
329
367
288
318
365
290
348
255
238
340
362
355
352
280
357
357
376
284
338
271
330
300
250
307
318
297
353
356
345
398
262
328
278
248
324
348
338
373
387
276
310
362
332
260
304
263
315
332
348
343
405
315
253
271
344
341
397
364
384
312
373
291
346
316
276
339
349
340
328
225
313
352
248
306
284
286
362
368
300
275
321
289
326
350
213
298
262
260
290
338
251
393
273
423
352
334
337
307
312
303
375
284
294
308
284
362
299
364
262
281
363
371
270
325
305
350
358
281
248
304
328
342
300
247
329
320
335
290
369
335
275
293
264
307
331
248
298
353
316
401
362
323
326
321
248
283
283
250
320
318
334
345
374
328
289
250
349
281
364
248
304
380
333
340
265
352
324
339
351
364
298
326
333
418
276
241
258
296
397
263
316
307
328
334
301
323
363
400
336
285
283
334
252
330
341
353
302
265
259
372
366
378
247
232
319
302
319
302
309
349
316
335
351
378
280
310
245
288
357
358
365
313
289
362
281
299
249
319
275
285
291
244
319
368
337
388
295
340
277
290
270
273
280
290
374
332
380
294
283
350
320
356
311
393
326
285
228
352
435
326
324
299
353
336
288
276
379
251
276
349
326
361
381
373
384
309
300
311
314
379
343
215
229
305
349
336
244
361
334
345
280
321
407
306
292
361
349
249
315
332
332
309
328
307
290
339
334
288
415
339
305
257
296
245
241
308
273
310
230
346
312
229
349
320
323
308
381
309
292
254
234
355
338
345
332
276
278
305
339
314
369
356
403
232
316
318
327
372
377
332
321
351
278
339
385
337
324
286
359
298
325
395
295
361
317
387
337
411
330
255
232
332
267
209
292
308
376
334
355
338
258
360
272
351
414
277
299
325
283
356
364
323
317
291
301
355
310
271
265
329
299
320
306
299
366
273
324
347
270
350
322
355
397
269
341
298
344
326
349
410
334
296
311
368
302
285
318
314
322
362
299
313
259
388
300
255
266
278
329
354
354
343
322
347
292
331
284
383
274
367
309
356
260
371
315
322
341
250
279
360
427
376
329
349
360
282
318
381
323
287
368
303
336
202
402
275
311
354
347
393
351
399
353
391
271
364
260
332
272
332
348
353
283
322
318
402
319
335
333
369
285
408
373
301
333
359
297
365
314
305
300
294
293
376
245
312
331
331
306
260
281
333
261
295
374
331
344
324
376
340
275
278
343
355
328
352
330
224
388
349
298
321
313
347
260
311
295
306
244
309
331
297
325
406
289
244
316
294
402
250
281
332
259
344
302
335
394
394
287
374
227
310
334
345
384
292
325
407
347
261
329
292
272
265
384
351
331
397
251
280
345
299
354
314
482
393
339
316
310
353
330
228
287
302
324
336
374
275
322
383
299
306
325
269
355
283
236
266
328
282
260
300
388
320
306
214
372
358
439
299
306
297
279
409
330
355
355
306
399
320
270
308
286
372
287
284
237
253
300
244
315
270
281
264
282
259
265
343
327
384
307
291
335
322
213
368
281
319
435
343
289
361
358
359
356
357
330
323
409
378
316
400
353
387
306
323
269
242
306
368
290
273
396
301
315
343
335
277
266
304
395
263
320
408
361
226
279
290
314
341
284
231
233
274
285
276
358
275
361
346
239
374
257
329
278
374
318
413
370
320
294
249
219
318
351
283
318
351
382
385
347
315
404
324
297
279
263
393
377
277
363
397
381
342
310
326
295
216
336
305
239
351
282
230
322
295
326
307
264
335
323
296
340
367
325
370
318
320
264
361
283
330
240
329
258
304
311
255
264
284
422
381
305
298
263
325
324
339
289
286
341
331
349
327
314
327
267
325
231
324
367
239
317
281
306
329
348
277
329
330
254
311
357
349
340
375
360
432
252
413
249
286
343
290
299
306
345
382
383
311
246
279
303
358
287
375
319
279
323
275
354
308
316
322
319
389
359
290
251
297
352
293
339
364
336
343
332
374
362
261
260
295
330
266
222
219
255
314
216
377
280
274
365
332
329
320
327
256
278
374
310
249
316
321
326
260
337
386
377
346
321
280
264
300
382
385
348
386
304
293
395
359
325
330
350
304
245
317
330
259
345
239
310
363
352
341
316
339
367
295
333
332
321
321
304
300
303
299
338
239
333
271
332
336
314
273
372
301
381
342
365
316
309
391
287
338
290
341
339
303
327
319
348
236
390
346
362
290
352
321
365
251
349
346
287
345
404
302
321
337
335
321
356
298
339
247
308
281
327
373
355
317
293
363
286
274
330
292
305
322
230
335
308
362
342
334
361
312
311
306
378
368
276
333
296
301
313
339
280
251
353
281
350
333
316
373
346
248
260
365
328
329
296
263
324
307
341
353
231
266
319
277
310
257
295
291
323
328
348
329
321
309
368
348
256
329
354
348
351
314
344
337
328
280
240
332
372
308
360
392
279
373
287
307
305
389
361
412
277
324
254
323
268
353
405
324
251
283
403
299
290
402
336
338
308
320
283
310
366
385
380
208
332
314
318
273
317
316
374
286
342
307
302
352
329
356
372
384
269
311
373
319
348
444
327
263
306
310
288
307
356
320
326
276
249
268
295
284
369
274
312
376
360
365
341
360
338
342
308
337
218
289
384
284
412
309
343
302
329
319
320
319
404
359
306
332
369
289
375
339
320
259
358
325
321
324
324
332
236
324
306
303
339
360
358
261
322
325
273
303
291
290
369
323
218
374
320
365
285
283
259
318
266
255
302
426
347
313
329
269
317
316
302
303
337
315
351
289
290
372
398
301
336
289
315
289
298
301
393
244
291
294
348
248
264
298
282
278
238
327
250
356
382
184
314
266
217
246
303
310
308
235
322
341
343
276
373
347
267
226
353
358
387
315
285
399
278
368
347
348
219
268
321
390
381
365
316
324
331
292
286
357
375
323
297
332
274
360
274
304
258
317
333
310
309
379
293
330
357
294
299
292
383
223
353
306
290
340
381
277
343
271
365
368
352
327
369
345
303
238
283
323
307
323
388
309
315
341
313
263
272
328
313
327
205
304
343
268
327
300
353
336
377
377
365
313
317
329
357
310
269
309
363
270
386
326
309
330
264
374
349
397
245
356
337
279
310
350
328
237
327
279
331
401
353
331
312
300
267
402
292
308
231
225
314
279
293
302
288
341
289
352
329
347
311
404
217
228
299
330
237
353
283
340
400
356
301
399
311
328
317
343
318
309
359
301
261
275
292
267
271
331
263
303
298
331
305
353
354
439
289
317
275
367
305
366
330
303
225
293
355
290
374
330
208
282
348
215
293
340
241
330
289
315
383
393
320
262
342
347
381
356
299
403
374
222
211
287
321
353
345
192
336
326
313
289
374
310
328
341
339
361
354
388
340
286
379
336
382
239
336
365
245
323
344
256
237
236
359
300
240
356
297
288
333
329
352
352
339
387
304
405
339
301
344
267
311
263
361
352
349
355
354
353
347
308
364
311
394
272
300
291
282
285
336
435
390
371
261
294
331
309
258
340
283
314
314
327
286
333
355
365
354
326
340
281
303
290
289
249
296
322
237
340
296
227
300
291
310
354
338
336
319
345
306
376
304
255
297
385
319
332
426
302
325
245
333
316
344
311
355
268
315
316
303
300
365
312
289
362
313
239
375
319
325
341
339
282
255
292
322
267
305
333
294
296
370
327
320
251
314
304
390
365
323
284
345
289
302
355
412
283
308
300
259
376
253
312
350
362
271
322
319
291
267
401
322
295
311
251
265
273
240
341
386
363
261
364
314
270
289
342
337
379
310
284
304
346
262
349
314
279
374
370
346
319
361
315
287
245
324
244
401
281
340
402
273
321
329
358
378
268
239
276
327
302
333
297
304
359
345
272
324
325
299
320
326
243
286
326
362
341
350
326
328
362
372
293
320
298
320
342
293
320
317
234
306
376
354
210
386
341
279
312
325
357
383
294
321
356
280
291
348
297
262
267
281
384
285
306
246
294
250
368
262
357
282
291
368
269
314
347
337
329
350
362
282
361
297
414
291
333
292
367
300
293
344
354
291
383
275
312
308
395
416
280
370
337
160
277
348
300
298
349
268
269
319
320
329
294
267
342
345
313
284
296
340
381
301
286
332
233
362
331
321
384
372
312
366
325
345
343
345
312
296
292
300
339
409
309
234
280
337
282
232
365
339
341
337
293
295
399
328
354
320
283
308
321
330
333
287
302
297
344
333
313
352
308
325
336
362
290
368
257
312
354
354
211
338
323
348
333
275
301
365
362
310
342
391
307
315
283
294
455
318
343
278
268
257
283
268
348
287
371
294
304
288
270
313
257
344
236
272
352
382
262
386
236
359
361
269
360
298
265
260
222
321
397
303
384
332
323
358
276
312
341
355
256
354
297
320
270
293
242
332
282
327
293
320
327
338
258
269
314
324
381
282
330
396
314
264
242
230
247
326
289
351
323
287
304
364
296
335
362
303
341
221
277
356
306
353
294
320
388
253
336
268
352
268
377
351
341
304
326
253
361
342
334
407
368
370
295
272
273
240
312
318
326
449
339
288
311
331
270
375
240
374
343
350
330
273
314
314
304
298
366
364
287
283
264
359
340
281
339
347
325
349
370
329
234
337
336
355
240
344
306
282
321
364
257
223
274
291
294
275
361
357
354
295
307
360
271
317
343
224
240
274
355
289
276
301
250
325
344
337
371
330
319
374
306
271
410
254
319
344
276
319
325
237
414
265
397
319
367
329
339
361
352
380
313
325
357
165
343
293
261
272
301
356
311
369
271
324
343
319
327
241
275
363
397
374
286
273
290
328
322
269
331
307
230
375
343
365
259
367
350
263
273
256
355
344
360
345
290
341
348
353
285
313
289
330
322
337
366
377
316
304
336
251
329
212
319
333
291
357
344
276
294
288
311
315
357
243
327
369
269
229
297
295
333
323
279
300
202
268
355
391
274
362
349
252
356
307
398
254
278
318
285
222
300
307
327
393
349
300
302
375
320
296
305
344
353
341
351
422
332
370
346
280
279
221
248
339
234
308
390
288
304
371
341
347
331
321
330
318
326
319
255
241
281
318
298
319
293
274
298
330
268
335
342
324
281
332
295
315
303
277
291
369
268
327
339
339
312
368
326
264
284
333
346
313
315
344
356
368
294
350
279
327
301
275
297
341
394
212
340
289
293
281
333
332
286
371
341
276
389
396
281
269
314
293
251
360
368
359
327
353
278
323
330
266
301
265
292
326
333
364
327
321
290
361
354
278
306
298
341
287
357
301
321
346
292
355
377
345
351
195
358
331
254
299
294
280
375
276
221
274
309
350
357
351
244
313
317
248
283
357
329
384
363
336
368
270
297
419
279
348
256
276
273
326
219
260
281
350
296
383
333
383
304
310
310
368
317
216
368
302
334
294
286
256
249
297
337
257
380
361
368
340
367
237
323
280
341
363
280
353
338
345
409
261
280
380
357
262
341
325
409
379
341
337
217
336
327
262
367
335
421
342
333
301
317
338
333
303
293
312
365
394
305
371
208
299
318
325
333
339
270
304
326
283
335
325
199
336
271
279
345
285
294
354
368
351
278
260
292
309
324
327
359
265
291
379
372
359
331
309
313
327
249
263
400
341
340
230
330
393
344
309
350
275
354
320
296
306
337
303
268
324
359
348
315
251
301
287
355
371
345
295
402
335
264
349
345
352
287
312
300
344
297
301
337
379
267
340
356
378
363
284
328
338
318
364
291
314
310
334
377
328
397
288
232
355
302
319
215
339
201
305
225
345
347
312
365
296
307
269
290
340
307
302
286
349
249
223
291
378
287
353
371
309
324
263
329
305
339
374
313
284
343
279
334
374
353
277
312
259
384
292
314
283
309
272
366
337
270
341
299
277
231
329
285
393
300
244
320
286
319
322
264
352
354
341
342
327
299
306
359
323
319
335
346
345
259
365
306
261
313
236
336
353
338
334
354
310
365
317
290
296
363
294
334
340
351
379
332
398
352
330
307
163
332
296
338
262
351
456
306
225
353
360
346
355
309
357
311
303
348
250
362
333
354
325
317
243
323
329
311
255
345
203
336
364
280
234
327
326
258
336
328
334
285
260
325
292
357
230
332
340
329
289
308
294
281
315
220
356
330
419
328
286
217
273
264
339
319
275
321
382
346
380
319
314
268
298
365
323
334
291
402
310
346
287
388
300
326
254
366
319
308
361
336
392
350
392
265
290
312
378
244
306
308
364
306
285
350
399
291
371
349
261
400
286
359
326
362
330
310
329
355
321
199
303
362
370
266
351
307
337
279
327
282
358
286
289
355
280
260
341
352
238
311
285
381
249
282
290
275
314
280
333
400
373
320
311
325
363
340
262
351
320
288
339
373
366
356
343
271
288
331
324
274
330
324
366
276
472
280
302
393
187
413
313
350
346
311
297
316
327
305
326
366
296
378
276
325
260
284
328
339
390
299
332
292
334
319
305
350
367
288
213
342
356
435
338
300
261
243
407
390
236
252
279
294
266
275
302
399
262
346
344
283
309
357
333
248
321
319
256
354
248
358
350
239
334
386
291
329
292
401
350
317
327
315
302
345
303
290
299
349
348
308
361
276
318
376
303
275
386
299
289
320
338
249
273
284
260
350
329
253
330
268
251
292
251
284
309
333
336
351
322
288
331
326
286
289
292
296
252
327
357
271
365
330
341
274
224
310
326
391
325
299
221
263
392
284
336
373
289
331
364
298
341
409
361
298
186
338
291
283
367
251
269
303
341
359
382
283
290
358
295
268
334
319
332
353
344
316
286
339
307
265
299
344
296
381
355
313
333
349
252
315
308
323
288
351
275
359
415
317
316
373
241
347
354
302
349
218
299
356
296
227
290
346
330
324
308
243
273
353
284
330
332
266
373
321
324
230
275
293
242
286
368
369
362
290
260
301
404
312
279
378
359
350
312
327
244
284
286
248
250
372
334
324
282
330
205
328
278
270
310
248
285
368
209
332
195
353
352
338
352
343
332
332
321
400
387
372
272
316
346
357
329
354
295
318
287
331
343
208
374
319
341
347
304
421
363
340
361
350
331
294
350
367
255
361
259
342
292
363
326
359
228
323
280
266
341
333
340
384
257
227
313
304
292
249
336
350
353
379
301
319
255
337
313
397
309
316
362
291
326
314
344
268
306
368
413
307
357
296
356
313
369
385
271
318
304
371
253
342
301
216
236
270
380
326
331
340
245
351
237
304
329
338
304
241
360
371
301
301
291
363
201
307
311
324
285
258
293
357
299
348
361
324
324
265
222
268
322
334
274
297
357
378
274
358
284
357
334
295
295
317
324
341
268
299
215
260
354
356
254
343
326
376
296
376
274
362
341
274
314
325
282
338
293
277
343
244
210
305
289
360
241
288
301
314
333
277
335
377
289
326
344
331
308
311
336
297
366
310
335
299
300
306
390
319
409
315
360
363
248
342
318
340
374
336
280
376
302
322
244
363
359
274
346
268
335
266
309
331
321
310
274
350
342
349
329
265
288
280
291
281
381
346
332
287
356
295
255
267
331
329
300
388
393
276
334
344
342
263
225
335
381
325
311
358
339
343
334
354
331
306
273
359
349
321
389
323
339
328
411
328
358
282
332
316
356
311
369
267
308
281
308
288
392
359
317
354
299
193
236
216
280
227
317
265
325
292
319
292
327
355
314
340
293
375
312
304
379
313
312
246
376
373
325
303
275
336
376
422
358
311
322
292
296
343
307
360
281
331
261
346
335
356
340
265
402
361
340
310
321
219
270
298
337
359
265
360
276
223
299
309
350
291
356
358
301
368
340
366
386
308
388
261
308
350
392
273
321
342
241
375
368
275
348
296
297
326
256
270
385
265
244
402
280
358
350
217
283
292
344
313
307
370
265
286
413
325
331
297
303
271
365
253
315
327
298
274
337
394
305
272
300
314
345
345
311
344
355
378
375
298
278
325
260
345
319
365
358
277
305
284
346
327
250
403
245
392
243
307
342
381
242
369
317
328
278
313
339
263
245
333
292
326
353
275
324
324
317
379
322
312
304
354
224
314
358
327
414
276
266
308
368
260
354
323
361
367
387
324
333
339
395
308
269
284
328
246
350
288
298
329
377
340
335
328
278
277
313
367
302
377
311
270
339
309
220
301
266
357
323
203
263
325
323
307
261
287
371
335
274
308
324
339
277
293
367
410
250
349
324
327
356
281
336
317
288
249
280
320
307
299
341
295
370
312
338
353
293
280
340
364
334
258
355
371
366
411
369
268
341
304
348
290
315
263
406
334
316
322
329
312
291
313
291
291
333
322
283
268
286
327
306
361
284
366
244
363
279
283
351
329
350
291
295
344
309
264
410
312
214
378
320
262
320
362
354
335
266
316
234
309
406
359
289
253
302
313
348
355
267
405
328
325
360
319
261
337
319
275
276
311
321
254
317
315
286
291
319
336
385
358
262
263
365
331
301
358
403
363
366
310
360
229
341
358
296
335
305
263
394
339
332
353
331
336
339
350
282
341
279
397
361
280
349
326
311
348
347
442
279
289
333
301
286
366
289
301
322
307
389
278
293
394
303
372
337
313
366
305
235
274
353
369
288
339
364
317
297
324
286
313
349
247
316
363
357
307
277
250
301
235
293
389
387
270
364
310
314
315
372
311
387
390
350
279
294
342
294
307
396
349
235
325
342
366
216
320
348
279
323
296
342
376
345
295
352
252
235
297
209
321
439
328
280
214
306
369
368
290
296
256
351
348
314
387
351
298
344
336
363
298
281
330
370
391
330
326
295
303
316
343
363
280
351
321
398
372
392
292
321
283
354
307
312
328
378
342
317
382
325
296
307
266
317
271
383
241
228
335
257
297
267
308
384
235
282
346
363
360
310
334
313
334
261
316
384
285
339
308
351
266
241
355
330
215
306
361
303
302
301
299
328
317
248
356
268
279
338
355
233
332
366
302
306
346
332
323
304
250
312
281
286
311
430
274
368
327
352
373
330
303
315
337
246
327
258
225
300
301
319
355
292
305
277
370
223
280
288
394
311
333
270
243
325
322
366
349
279
259
325
318
331
294
321
337
312
271
325
254
359
364
372
385
266
318
371
276
352
336
347
332
312
299
321
335
352
223
296
287
304
292
338
366
365
243
298
198
303
296
358
368
341
325
263
297
309
336
355
254
301
395
305
310
392
206
272
257
320
341
350
252
301
298
375
240
280
324
296
254
222
382
366
276
327
304
395
350
337
328
274
306
382
273
309
323
349
314
282
223
256
306
306
353
319
285
241
326
315
386
310
259
361
349
250
299
263
398
406
326
350
313
400
290
259
317
310
286
313
344
287
381
333
353
364
398
321
295
275
317
273
306
349
383
298
279
299
311
394
279
257
398
329
366
342
312
385
247
302
325
234
424
328
366
332
336
350
302
354
292
366
436
254
333
260
291
345
376
421
317
283
298
249
419
300
213
338
346
355
330
291
408
327
365
280
305
278
263
315
321
354
302
357
316
289
307
307
214
272
324
249
396
331
284
272
244
356
381
314
327
305
321
366
327
318
264
409
423
354
262
335
317
339
351
288
272
286
300
355
276
291
284
368
348
368
356
360
278
324
365
303
389
353
383
238
286
303
270
353
343
309
323
306
301
299
346
279
305
337
286
366
312
315
349
354
307
385
287
371
339
367
343
255
323
321
327
276
327
347
369
349
275
265
308
310
315
374
405
334
294
266
296
258
251
287
322
306
352
362
244
317
366
327
265
265
266
343
283
311
257
309
314
231
341
277
327
246
351
339
389
324
382
379
426
309
360
356
330
371
369
321
365
335
300
324
308
304
366
366
262
361
294
381
354
316
348
363
276
326
383
376
316
300
371
333
332
319
257
370
206
239
329
329
279
272
336
240
352
369
311
311
365
304
276
334
299
365
325
361
349
311
312
372
205
251
350
397
304
321
353
328
309
380
291
321
365
237
304
344
242
342
300
310
300
343
389
303
292
407
282
225
270
288
346
363
344
323
386
379
328
305
408
318
323
325
371
354
306
270
335
347
216
243
245
326
317
333
306
392
265
298
341
371
349
322
324
332
373
309
329
382
325
283
368
352
354
388
338
254
307
337
327
390
266
322
413
323
264
316
336
348
340
376
267
352
272
272
332
316
303
283
354
274
267
248
337
375
298
349
342
358
364
296
337
292
327
315
331
370
300
321
273
261
352
316
307
298
268
273
354
317
343
322
326
278
356
427
331
391
331
354
386
368
347
353
269
284
284
325
279
348
268
317
350
323
320
335
329
300
276
234
279
339
302
412
239
330
317
317
285
266
380
295
370
346
261
320
374
355
368
231
354
201
296
282
391
316
262
298
213
302
331
262
342
275
347
266
338
381
302
381
313
382
337
321
271
383
276
319
335
373
333
382
332
294
358
362
297
344
272
359
346
339
237
319
310
311
275
303
340
387
399
334
268
310
351
329
271
297
333
367
308
312
325
317
388
304
360
332
310
324
299
344
255
362
309
392
293
258
257
294
365
293
305
261
346
409
414
323
278
313
259
343
305
336
279
291
339
282
308
270
220
317
209
288
351
303
275
303
270
328
316
374
289
414
310
291
302
358
371
265
324
282
274
312
307
290
275
325
365
385
302
298
359
259
355
244
364
415
293
285
339
316
226
318
300
361
325
279
337
331
301
264
316
383
387
271
361
314
284
375
350
317
375
351
370
316
362
312
248
429
241
373
304
333
199
322
255
384
312
247
299
276
257
310
284
340
296
314
283
243
316
338
382
287
315
226
299
300
381
237
349
372
317
322
363
316
333
401
350
311
310
337
345
322
369
362
282
372
239
316
262
378
279
303
359
300
358
330
319
351
260
382
320
377
395
339
306
391
297
332
260
357
365
288
284
289
335
328
303
285
367
390
318
321
330
270
383
274
377
245
241
360
389
299
296
259
234
313
373
310
390
407
294
395
283
251
353
394
292
302
299
330
341
311
337
330
319
334
245
334
273
300
308
258
316
319
247
242
315
311
298
325
296
317
392
362
322
288
309
352
269
306
232
275
333
302
284
285
284
352
248
352
313
257
323
254
270
278
370
324
398
315
312
310
322
276
241
311
342
333
291
291
219
375
403
313
284
265
253
304
298
239
320
406
325
356
288
299
260
335
243
354
266
301
286
317
354
379
212
269
348
341
276
276
226
336
350
277
375
344
386
343
345
320
216
377
314
294
292
294
407
340
411
283
271
278
359
279
285
368
275
254
324
247
259
391
256
356
278
355
311
319
352
370
205
386
320
269
360
259
338
293
337
278
352
281
335
303
318
316
291
337
269
300
327
368
338
369
356
311
277
274
335
364
317
289
386
321
213
368
273
321
306
278
391
289
353
282
351
331
310
329
394
348
307
242
369
312
342
325
237
270
352
290
294
301
267
367
341
254
358
386
297
293
399
295
358
319
316
261
346
367
376
317
354
347
274
344
293
332
338
306
300
378
249
351
276
322
371
278
398
369
267
363
316
383
324
325
317
358
269
272
340
285
282
309
307
215
286
338
339
305
250
257
337
328
305
336
330
234
359
257
286
329
279
349
341
315
375
308
353
286
267
309
360
280
286
231
322
301
263
343
318
289
299
356
372
293
305
234
304
341
353
315
307
349
284
341
348
357
314
338
291
335
325
322
352
356
279
254
269
232
325
230
345
250
315
300
337
337
357
300
329
267
305
252
186
332
300
289
249
291
291
315
254
322
302
218
285
390
292
358
291
268
321
246
308
375
276
324
279
363
351
310
325
331
293
359
340
242
284
304
307
437
352
337
330
351
312
293
266
283
333
267
298
351
335
225
320
265
281
320
286
326
336
353
323
347
282
379
367
367
376
317
271
342
265
391
254
347
391
366
333
311
313
304
342
243
344
330
328
357
285
334
363
308
308
308
342
369
306
288
304
259
335
354
307
312
353
285
373
330
292
371
258
323
370
306
332
309
280
374
377
301
314
247
364
295
285
366
338
295
384
277
226
329
309
360
279
277
386
328
339
269
348
297
249
293
336
237
359
333
280
287
339
362
305
354
324
337
346
220
293
292
266
342
282
314
388
302
352
283
295
370
261
339
293
355
273
310
258
379
317
323
277
348
282
362
281
343
271
384
333
324
334
360
343
307
299
256
335
350
328
252
299
266
409
288
254
286
335
229
280
335
325
302
262
303
337
403
377
322
391
326
338
320
352
347
301
375
377
336
271
324
365
329
258
343
327
275
344
297
269
397
268
344
343
293
274
263
329
297
312
226
310
364
305
320
299
329
289
307
322
293
316
311
359
345
302
388
274
287
330
326
271
324
361
345
373
331
429
317
398
327
345
328
300
289
365
364
273
321
353
274
296
320
370
294
227
380
359
291
359
333
217
391
315
389
359
288
303
265
190
222
378
322
290
266
274
267
196
306
378
260
367
292
382
323
265
308
300
279
363
314
371
242
291
422
335
336
269
323
338
330
308
282
282
360
359
248
320
373
353
275
347
324
340
320
282
239
337
281
285
315
362
263
314
292
271
287
305
342
365
335
376
314
268
269
374
287
378
363
207
199
355
338
385
318
424
282
387
376
235
329
294
257
301
374
313
314
377
356
233
334
244
295
255
304
360
287
332
310
409
315
270
375
359
287
292
356
351
328
280
346
377
227
335
287
321
271
361
359
330
241
356
269
328
400
300
237
304
360
269
335
297
400
349
251
290
310
326
328
315
346
274
275
277
339
392
280
362
400
395
313
304
307
402
327
233
348
379
369
274
346
361
302
354
243
300
340
252
344
256
326
305
383
314
330
350
381
290
363
313
269
359
330
297
240
321
275
374
284
364
308
161
297
264
243
264
343
337
371
291
301
346
379
304
305
344
229
362
387
376
383
405
328
299
296
373
277
356
264
258
325
389
333
297
300
269
343
375
300
320
370
379
349
317
340
199
324
244
251
297
347
307
310
289
392
254
291
286
334
281
291
266
368
300
316
279
327
256
327
296
252
248
296
292
293
350
380
343
367
290
343
376
366
361
271
353
316
380
291
256
295
313
312
287
329
322
414
349
306
343
290
363
335
242
360
287
283
365
308
308
279
310
239
306
351
343
368
326
318
271
353
389
319
338
344
212
287
317
311
347
258
399
333
321
264
240
292
301
261
306
310
269
369
300
288
281
285
343
338
303
341
326
359
253
265
337
267
365
284
346
404
267
327
353
318
360
292
255
318
321
243
328
371
327
327
291
289
353
288
319
341
369
377
345
365
389
282
327
349
341
273
293
324
358
365
275
320
370
297
221
367
302
324
302
342
377
267
311
308
370
302
293
332
299
346
258
352
354
296
317
259
261
380
349
289
322
285
349
238
339
308
322
343
349
302
375
295
331
383
279
323
366
257
337
399
327
275
322
372
347
236
324
333
345
272
361
234
425
346
318
383
311
289
246
282
299
324
279
337
274
258
321
365
275
322
362
208
322
304
330
255
288
356
402
251
327
346
336
374
295
266
259
322
366
229
247
300
271
375
333
324
354
332
281
365
348
272
333
323
261
372
302
398
327
312
302
267
232
333
243
350
318
246
343
303
305
296
308
360
266
327
290
317
299
356
327
381
309
361
314
341
278
319
371
281
381
278
323
324
301
405
262
328
319
278
207
311
260
285
289
329
388
259
318
394
329
276
332
462
253
302
338
252
391
353
319
388
287
273
305
295
247
273
295
317
337
215
312
376
378
349
322
325
296
299
242
357
314
297
323
338
396
274
305
277
302
308
275
296
307
426
272
391
298
301
223
390
422
351
267
307
376
314
268
403
353
256
358
350
254
400
294
354
284
296
357
319
193
315
331
305
251
296
309
217
294
299
273
330
347
326
348
215
250
359
303
288
291
263
336
379
357
326
248
320
364
189
327
410
434
331
368
340
392
324
332
319
222
345
310
266
334
338
346
288
335
298
320
349
220
350
289
291
272
316
270
279
446
300
247
367
313
428
279
279
241
339
406
220
204
262
388
373
288
317
227
404
314
318
345
271
283
379
271
346
343
195
373
312
351
326
239
360
361
260
206
227
294
352
308
305
277
311
273
334
393
339
287
371
289
394
352
279
352
262
267
365
289
269
356
346
385
315
349
291
279
350
372
285
337
272
346
291
316
230
322
338
309
287
266
299
343
395
341
212
358
331
250
279
316
228
281
316
287
288
198
311
330
329
373
381
343
281
347
315
351
287
394
351
282
251
288
377
380
304
296
323
320
290
341
352
274
296
289
251
282
340
235
270
315
358
304
332
254
365
337
306
406
292
304
346
312
270
350
354
350
324
372
312
282
416
360
203
357
328
320
296
335
277
253
296
268
389
349
309
422
250
314
306
323
299
290
240
331
341
334
307
366
276
349
260
342
331
302
338
259
346
241
348
347
337
272
338
318
305
277
311
323
279
292
229
283
349
344
377
331
327
242
245
297
358
357
323
343
363
317
282
271
365
340
364
315
297
335
291
317
354
288
347
343
414
381
326
270
316
225
249
355
339
248
359
228
326
307
367
284
271
410
283
257
313
294
344
302
304
312
404
315
379
363
308
331
249
218
317
383
372
290
353
321
355
329
286
329
349
320
343
304
377
362
276
355
370
346
379
318
297
397
275
387
358
383
373
327
360
296
372
332
385
293
331
321
250
374
374
312
354
294
298
349
269
396
320
334
415
387
361
338
286
237
393
256
348
339
295
345
331
318
264
383
281
360
347
376
302
299
309
334
359
248
373
350
380
317
352
282
431
350
307
329
393
276
377
396
328
336
288
334
302
351
279
314
328
337
334
288
318
338
368
323
308
332
359
313
355
271
352
311
354
274
339
316
385
325
269
227
348
325
307
298
357
325
344
294
300
275
259
247
396
338
311
349
380
366
374
362
283
336
271
331
289
307
305
403
358
288
251
291
300
367
319
251
255
291
317
320
336
367
252
252
295
275
288
345
231
313
267
231
287
343
310
351
399
308
391
375
389
282
228
304
245
380
305
394
356
317
291
366
322
299
299
376
336
341
338
390
319
356
317
340
340
359
329
286
440
338
365
364
274
298
393
336
368
279
331
314
287
266
256
343
340
291
381
310
245
272
248
228
245
306
365
334
318
393
321
285
320
268
288
273
339
316
260
292
363
320
314
325
274
329
365
401
358
276
276
295
299
268
320
368
386
312
291
262
218
275
335
315
273
357
302
238
303
361
255
327
312
240
296
337
302
335
341
312
339
286
307
210
321
339
236
240
340
186
335
308
321
307
296
224
324
359
269
358
255
302
247
291
325
310
327
326
305
251
284
352
325
334
247
402
313
379
327
299
391
325
369
348
349
212
357
319
315
264
352
328
354
298
303
364
291
265
237
320
255
338
368
297
310
259
257
263
344
332
255
320
362
401
250
351
326
361
294
341
291
389
322
330
268
270
254
242
285
334
318
382
326
299
289
280
292
297
229
383
340
242
368
323
358
348
253
300
371
296
356
391
252
348
301
368
323
296
337
254
361
289
265
290
287
306
379
327
235
347
296
334
280
251
328
234
277
265
296
319
229
306
341
274
215
333
352
352
320
353
381
291
341
379
327
362
248
309
383
415
367
409
356
299
381
353
357
375
332
430
270
299
360
356
289
277
303
343
325
399
335
310
381
264
247
374
221
263
314
326
280
310
318
302
283
390
334
231
316
302
329
318
236
292
235
343
368
345
366
384
344
335
325
200
304
257
246
367
327
278
292
321
253
215
321
291
437
314
413
294
237
270
309
368
294
312
378
276
266
289
284
262
273
342
355
292
348
361
350
308
311
257
313
337
446
302
367
303
262
309
269
277
315
323
339
341
344
341
239
369
258
309
322
263
330
268
329
208
370
337
296
323
301
301
280
351
357
278
340
401
307
248
316
357
378
334
338
242
309
285
301
338
330
345
328
299
294
229
269
268
283
348
323
291
288
273
303
332
379
285
265
303
365
344
309
265
271
352
314
360
264
326
297
299
344
277
279
367
342
339
404
341
278
287
306
292
357
202
242
310
302
388
342
389
433
327
275
343
356
292
279
371
311
374
399
260
280
300
343
256
296
276
216
280
326
260
325
339
404
400
310
259
270
265
305
322
325
364
315
353
397
292
234
348
360
278
300
250
379
325
308
308
332
301
355
337
232
293
232
341
313
345
349
383
276
256
266
333
286
300
288
314
273
291
265
279
419
328
294
255
274
300
352
324
325
353
326
274
338
339
362
330
367
312
426
209
343
328
320
246
359
287
401
321
388
351
299
312
250
330
353
267
324
305
350
369
268
323
310
244
377
304
319
313
339
284
376
326
294
229
295
354
253
276
350
385
269
326
314
265
324
387
341
245
277
360
233
345
350
256
304
343
280
365
256
375
271
323
297
349
378
348
249
290
315
354
319
334
330
295
402
221
334
352
331
242
332
295
378
378
350
275
334
325
326
353
372
352
357
338
266
429
327
272
254
402
296
359
198
296
269
347
414
385
276
416
356
388
198
351
245
233
390
322
282
327
284
356
279
350
299
318
293
345
296
285
287
346
307
276
267
375
368
322
283
377
338
228
386
289
363
321
324
329
338
246
301
339
295
296
283
308
367
329
345
358
322
346
336
330
277
358
296
277
315
341
359
254
254
296
382
350
329
256
334
296
369
345
347
333
294
265
317
313
310
360
317
333
300
250
362
316
291
346
316
343
353
337
343
226
362
324
350
361
339
380
306
278
304
328
272
251
364
262
394
298
296
357
321
332
305
288
330
221
333
367
299
350
349
219
312
328
269
348
317
304
329
323
368
275
301
323
313
329
312
228
291
358
302
291
295
342
298
283
404
348
339
270
398
351
299
320
354
172
364
344
387
258
341
244
340
276
317
280
300
302
276
336
332
318
320
226
219
426
239
265
320
299
251
252
307
231
262
353
341
301
363
348
274
401
330
307
230
262
307
311
282
234
310
360
309
347
288
308
330
350
288
298
320
326
299
254
376
275
308
348
310
214
367
355
324
285
329
236
360
275
303
344
273
321
352
267
250
313
347
360
328
286
238
314
372
433
307
340
366
382
315
199
331
274
352
310
305
332
297
323
340
245
239
232
298
357
234
350
281
299
374
285
395
360
290
377
412
347
355
311
347
340
313
267
355
269
279
322
336
274
271
371
346
374
294
336
378
323
366
291
349
320
302
243
336
295
196
315
273
299
332
330
251
319
275
318
275
276
358
329
338
418
358
330
301
302
368
318
302
381
301
305
322
259
308
310
316
296
294
349
290
362
289
353
405
239
358
287
254
331
309
329
237
352
279
308
274
366
341
291
283
316
275
278
325
423
416
318
323
328
378
272
224
333
308
351
320
322
331
300
357
372
389
324
343
318
360
367
312
372
362
376
257
347
303
318
279
318
254
277
280
217
313
318
362
334
403
304
326
312
195
344
276
273
320
342
341
267
445
373
332
315
283
223
313
353
272
306
314
287
334
333
324
324
338
370
334
316
266
396
342
341
363
325
325
314
240
299
401
369
349
260
225
317
401
317
308
267
381
236
320
267
289
327
260
242
364
356
292
311
373
320
331
366
400
283
327
286
278
227
301
238
328
326
366
333
366
242
321
241
302
351
275
360
398
317
240
315
267
363
313
358
238
278
244
288
309
239
286
328
310
347
316
319
408
407
310
368
269
390
270
433
385
348
286
333
353
318
304
320
281
311
347
350
309
354
327
274
382
225
329
378
342
396
325
298
414
269
256
324
384
343
365
312
328
317
310
273
343
371
316
330
365
337
277
345
313
346
291
305
310
372
291
369
388
327
389
310
241
279
356
350
268
292
275
340
380
272
277
302
263
342
291
335
296
273
325
313
372
220
300
261
303
334
330
263
375
380
410
380
396
287
296
319
313
339
377
323
292
320
387
250
343
269
261
264
387
242
360
405
337
370
364
349
294
240
284
205
307
347
296
324
256
328
288
358
300
366
381
262
267
311
336
281
249
405
354
321
308
320
351
313
332
350
338
333
338
253
283
288
351
353
335
231
332
286
249
361
269
358
261
315
284
342
241
319
337
326
338
325
319
311
340
334
216
258
275
319
310
211
319
337
272
293
287
418
351
275
251
366
380
328
261
272
299
356
265
297
319
282
268
350
315
399
272
354
299
309
344
363
372
256
382
315
308
331
331
283
287
338
314
244
334
380
310
284
338
318
316
275
211
187
336
343
328
318
255
301
360
331
377
280
341
366
376
330
333
271
381
308
344
276
254
379
250
365
313
303
275
279
365
365
361
303
304
287
231
321
295
366
289
301
288
290
276
266
308
352
263
323
360
271
315
362
319
351
288
347
252
274
305
332
368
313
313
315
336
300
289
313
279
313
317
327
256
335
251
258
282
349
319
373
334
290
278
366
314
317
316
264
357
348
309
283
320
288
355
310
312
388
297
276
323
326
331
268
394
265
318
286
306
336
313
297
304
372
358
326
352
283
268
271
266
360
200
399
300
362
337
286
367
292
339
269
270
305
343
278
312
396
279
264
282
274
414
371
257
277
305
325
339
355
286
365
326
362
367
306
215
330
401
220
345
298
310
372
355
276
320
339
277
249
338
301
326
272
293
308
267
329
333
255
326
319
338
301
346
272
390
335
307
282
343
285
292
243
300
324
388
375
308
264
375
290
345
354
313
261
395
390
380
413
306
314
344
284
333
369
378
283
302
269
362
297
310
289
303
281
354
340
370
414
352
358
383
393
251
320
302
336
372
344
279
342
295
358
341
325
332
376
313
351
360
386
265
331
337
337
379
341
332
368
376
328
335
343
378
293
259
278
299
305
255
328
325
340
359
383
330
313
289
279
293
291
313
286
322
313
241
316
312
335
303
344
395
308
306
321
354
375
244
326
297
312
258
277
315
346
300
331
289
326
385
366
275
359
312
366
364
336
361
334
330
332
360
349
262
370
277
346
263
310
354
278
271
336
238
335
295
353
298
297
343
310
327
346
426
298
394
373
326
316
313
384
355
357
310
294
334
325
316
280
277
301
275
358
265
298
342
351
379
298
374
309
384
246
315
321
325
327
249
423
251
242
360
285
346
338
230
261
314
387
418
328
350
346
328
338
272
308
286
281
293
410
274
328
290
286
353
325
261
330
369
341
353
257
290
280
344
261
256
385
123
318
371
289
302
314
274
319
324
381
258
315
302
335
238
285
337
277
303
343
350
348
272
328
360
345
353
311
408
355
326
348
327
356
325
340
348
257
319
285
279
263
254
311
365
311
362
310
315
233
304
386
378
365
310
288
321
263
384
329
316
316
313
320
254
274
280
343
340
346
344
306
361
309
351
282
331
286
380
325
374
280
364
243
273
281
355
292
370
360
270
255
299
314
320
328
280
338
334
293
304
396
371
353
283
260
291
291
341
329
328
296
406
329
329
221
354
288
309
308
292
263
343
351
358
236
303
249
367
323
332
192
263
314
371
268
328
296
344
326
363
255
261
269
302
283
239
306
256
358
286
336
290
324
287
393
375
341
369
324
308
333
278
370
305
444
257
268
339
282
297
369
264
252
303
280
302
309
373
330
328
382
307
347
404
239
298
401
344
269
324
276
243
400
374
256
353
318
293
336
297
309
296
283
413
370
277
369
300
352
320
260
220
269
345
368
254
295
351
284
379
295
322
326
348
277
320
330
286
399
351
305
264
249
296
261
314
305
281
331
317
314
374
340
281
263
345
289
289
345
310
331
306
283
318
306
307
321
334
353
386
286
356
230
268
369
304
363
403
395
336
314
336
407
381
310
343
327
287
286
395
308
285
378
333
282
322
303
318
327
328
262
274
326
336
365
302
370
292
340
366
345
340
366
322
252
322
325
335
302
364
253
351
299
328
296
262
317
309
423
310
354
279
377
328
262
357
324
326
362
281
274
326
285
392
319
207
237
298
379
298
283
322
363
342
351
305
334
272
293
252
322
217
332
294
303
355
326
378
417
319
393
231
269
325
306
284
315
324
328
326
314
339
303
269
298
378
362
279
328
283
310
313
315
304
212
349
348
344
305
303
286
334
304
362
375
262
285
323
354
309
284
364
310
263
364
387
361
353
386
320
350
357
249
316
225
281
357
362
319
304
225
306
372
342
336
382
318
344
280
365
291
334
280
354
258
257
316
393
319
249
356
340
388
308
289
338
266
254
291
337
335
296
337
286
270
365
260
407
358
322
273
301
332
360
277
245
292
337
314
325
331
389
391
296
307
358
313
232
356
346
264
349
386
309
320
356
305
180
361
282
331
329
322
354
354
270
383
257
334
289
322
328
339
320
292
292
279
237
272
308
231
292
366
360
316
354
285
321
330
340
384
237
286
239
264
362
253
357
418
352
310
246
319
379
247
366
362
299
340
376
303
365
337
428
282
333
272
236
316
292
236
310
297
309
289
310
378
361
353
310
400
320
257
302
302
332
355
299
325
312
248
314
289
371
226
231
374
393
232
275
327
226
317
290
317
345
351
344
359
229
373
357
338
292
294
399
364
344
309
332
314
295
325
268
383
239
347
281
349
212
340
294
302
303
309
385
371
217
326
356
274
280
208
339
238
223
347
271
401
286
313
277
260
386
252
351
420
363
333
307
331
328
191
267
279
326
339
314
287
321
355
248
314
351
274
319
325
376
312
261
304
273
308
387
299
354
266
318
299
425
252
301
318
286
245
341
310
303
219
294
311
319
295
360
326
333
297
278
241
362
271
309
341
294
334
338
379
281
287
272
268
327
378
335
336
304
305
289
296
339
264
257
344
304
325
316
359
340
358
286
260
357
290
349
362
313
372
360
322
384
337
354
384
307
272
244
309
274
234
261
311
378
304
362
324
365
296
337
282
297
330
324
364
224
311
286
425
265
368
353
353
326
363
410
283
293
279
365
405
386
256
295
315
319
370
335
411
295
268
338
299
242
300
261
280
347
418
342
298
226
316
371
301
307
421
273
309
338
248
368
362
332
354
257
375
321
351
423
307
256
346
364
371
356
352
417
349
314
269
281
348
335
288
320
306
381
375
294
236
334
245
252
292
316
322
302
376
345
356
287
355
290
327
323
313
358
276
323
252
334
248
243
339
270
378
269
326
290
361
369
336
304
305
294
349
256
312
281
367
271
277
327
331
304
280
329
319
266
392
321
282
343
357
389
187
269
285
296
245
300
291
310
266
325
369
349
310
310
221
253
400
278
340
355
262
289
341
304
285
286
309
331
283
341
392
283
368
268
263
330
316
288
339
339
372
308
253
367
328
350
342
286
400
334
298
375
296
324
301
280
304
382
379
334
356
308
372
322
328
243
298
310
324
309
369
353
268
338
360
275
321
274
277
311
288
298
326
376
261
376
385
349
274
363
296
327
370
227
286
222
374
289
271
338
288
322
292
297
278
344
227
386
314
358
299
323
249
291
365
369
327
355
346
334
306
310
249
246
321
216
303
317
296
314
346
378
326
315
349
386
320
303
340
240
255
327
287
333
324
293
233
302
334
339
273
379
383
348
328
295
280
231
318
296
332
326
349
355
252
369
255
321
344
358
281
352
314
287
357
297
321
326
297
366
370
388
317
339
353
380
353
284
385
355
341
335
413
338
311
309
298
385
341
291
288
302
347
318
329
333
322
259
371
362
282
338
319
363
340
305
274
252
279
331
322
387
332
315
292
377
277
354
361
331
325
359
387
297
302
315
345
352
363
353
283
265
285
273
300
328
311
329
334
278
332
340
257
323
366
371
343
301
320
337
338
289
322
243
303
354
313
349
356
272
363
361
349
363
290
376
335
389
311
339
273
383
333
402
306
259
351
285
356
330
326
299
309
279
268
216
332
305
318
250
284
354
278
299
323
388
296
247
381
246
320
322
361
395
419
335
366
261
360
366
242
342
258
323
358
316
362
319
321
337
375
328
334
311
336
284
278
323
286
342
373
308
362
349
381
315
290
259
272
362
345
302
400
316
245
257
325
366
402
308
274
289
281
347
287
413
391
342
335
377
297
300
314
306
210
386
289
251
285
348
276
281
226
343
322
303
256
210
402
307
337
343
358
329
257
322
309
340
326
285
248
365
309
357
361
315
378
164
346
281
335
387
336
305
378
335
358
276
382
355
443
294
287
256
330
302
330
354
338
343
449
313
305
302
332
354
268
278
326
310
338
298
280
361
358
343
365
340
326
355
312
359
313
411
328
242
332
356
251
341
248
328
374
310
279
366
240
257
297
246
339
404
361
319
338
334
347
247
363
296
282
341
327
303
316
266
335
314
244
329
378
268
333
374
341
236
380
270
263
314
274
289
326
373
268
302
189
407
351
246
367
277
231
354
330
314
354
364
393
384
351
342
299
328
318
354
272
280
345
350
351
343
318
306
238
365
348
287
366
402
323
334
324
328
324
398
337
289
312
319
270
361
341
278
408
311
289
329
261
235
402
321
229
334
261
337
324
336
357
354
352
269
334
326
373
256
312
283
314
351
378
348
411
313
312
354
316
351
405
326
323
268
339
296
258
352
323
256
351
382
351
329
227
316
319
338
324
301
262
322
396
296
288
375
331
303
288
288
315
307
336
315
313
318
291
346
303
354
305
323
264
284
299
223
251
265
364
434
324
334
344
229
302
320
260
314
274
263
277
334
348
348
289
303
378
290
376
366
302
277
284
326
265
378
355
341
267
295
353
330
230
289
385
276
407
353
261
231
395
251
362
263
318
406
307
322
309
378
409
323
336
283
317
360
257
279
257
287
352
327
385
312
343
324
281
308
365
394
342
296
275
294
271
389
421
308
307
288
321
324
374
303
242
311
363
250
324
309
398
339
300
298
259
283
319
299
349
327
399
376
416
325
369
281
279
319
332
324
372
279
333
347
369
331
257
314
262
261
332
371
325
257
346
330
336
351
316
301
286
304
327
330
318
351
273
293
329
334
358
378
220
296
385
362
398
265
386
298
311
291
335
418
292
322
294
407
284
295
346
288
407
335
310
262
283
330
363
334
332
291
286
310
287
236
342
328
380
337
397
285
356
391
268
365
247
324
302
264
289
365
304
294
255
292
331
362
310
303
293
290
331
362
330
264
264
298
283
316
324
352
262
324
336
318
305
353
274
403
246
227
357
314
264
276
399
296
272
290
328
305
316
224
319
376
234
317
384
295
296
295
346
241
289
282
246
316
393
359
252
242
345
343
257
306
329
339
327
268
349
314
318
331
290
285
323
332
342
393
347
312
353
301
383
301
346
326
257
387
321
342
368
231
334
300
234
339
326
313
364
268
254
359
295
304
406
355
352
357
384
286
236
237
410
382
268
306
381
338
314
276
349
317
339
264
275
368
285
309
364
253
274
279
361
382
341
402
315
316
400
282
300
301
325
393
267
315
378
257
262
361
218
389
401
278
286
288
359
232
350
346
335
298
268
332
390
304
286
311
314
281
281
266
318
326
310
383
296
218
364
363
364
275
315
371
272
317
263
342
289
400
323
349
291
244
241
322
353
306
329
276
366
273
329
276
278
224
329
317
302
361
312
296
337
380
342
309
243
341
326
284
372
259
261
280
364
304
276
374
314
407
352
221
331
298
309
330
331
271
365
248
336
379
379
293
359
328
344
314
389
358
351
326
353
274
354
321
291
367
348
364
267
250
272
248
292
362
301
280
369
329
305
275
306
304
271
321
354
395
294
302
382
329
278
373
403
246
334
321
349
227
299
294
301
309
363
321
278
294
290
265
312
300
296
295
297
336
370
312
340
391
286
361
371
354
389
304
313
283
328
349
220
327
371
292
264
273
348
312
393
426
314
362
330
376
261
312
306
266
366
286
270
276
228
403
376
311
351
368
391
274
307
323
364
296
349
327
283
267
358
272
317
336
362
306
299
362
310
329
382
321
295
316
227
317
317
315
327
349
345
290
272
347
354
321
229
330
311
343
351
350
317
273
291
348
322
302
352
294
347
344
288
318
284
333
232
365
353
342
368
331
277
217
386
354
374
359
325
321
366
322
347
366
321
403
381
308
311
334
299
346
374
298
295
345
269
234
341
309
321
359
363
319
368
321
319
360
309
293
324
198
315
331
315
379
310
269
319
329
297
315
273
258
328
406
338
305
247
334
322
269
352
326
291
346
310
309
364
356
401
284
265
238
209
357
281
336
298
306
301
350
283
337
310
353
277
322
336
402
277
361
343
273
303
299
339
348
320
351
367
265
266
286
382
373
340
386
256
301
383
327
286
325
286
340
283
195
344
317
318
296
245
305
322
316
348
332
363
328
284
387
282
240
253
301
330
354
296
260
274
240
307
342
270
365
327
356
362
406
324
393
259
294
311
294
324
285
277
345
327
277
374
295
284
324
249
306
295
403
284
354
299
302
331
398
393
287
262
329
403
344
305
279
318
345
295
353
356
289
293
291
304
248
327
247
361
312
394
293
303
340
326
406
307
387
292
331
258
367
353
355
291
290
247
329
313
310
309
315
376
290
282
345
345
367
358
293
320
343
286
191
303
336
274
268
333
340
315
406
349
284
352
355
363
224
325
287
315
335
343
387
337
334
379
340
263
295
294
298
291
296
393
304
340
307
342
316
331
355
392
291
319
288
270
261
369
315
427
299
381
426
278
355
306
348
305
356
304
305
414
366
353
288
383
356
260
363
352
330
316
347
329
297
291
329
381
234
336
315
341
377
282
302
334
317
315
380
323
332
309
376
370
273
317
370
274
292
326
314
338
331
305
285
368
349
258
309
340
294
274
321
283
300
352
303
360
307
333
383
333
264
353
376
340
322
381
380
384
357
355
279
333
168
357
384
276
319
337
300
397
317
344
241
258
400
294
273
370
222
393
192
362
345
415
279
259
284
314
342
338
327
400
333
337
325
381
306
340
315
327
370
303
219
297
334
345
252
323
340
317
404
363
335
314
277
329
372
285
301
300
305
333
295
260
361
327
323
273
313
391
337
267
316
320
300
376
288
293
364
390
283
339
315
339
388
303
386
332
290
341
217
350
264
265
272
384
340
415
302
383
387
338
339
232
368
307
319
230
363
291
319
314
319
247
320
294
312
199
248
341
251
348
329
337
237
342
341
356
338
318
314
295
304
261
294
321
320
287
349
355
284
231
365
273
253
346
257
327
265
290
343
311
306
333
339
317
280
272
380
350
423
403
292
273
261
315
342
354
295
311
263
270
294
312
377
327
345
297
325
337
286
361
364
273
382
287
312
289
322
301
264
384
337
354
315
312
301
294
349
347
387
334
184
359
265
268
381
226
266
336
307
367
287
328
374
360
258
408
316
342
350
299
295
258
290
333
301
249
247
320
304
286
288
291
345
352
320
349
291
269
336
318
299
287
271
290
386
298
356
365
267
253
294
253
274
265
357
387
334
286
284
239
350
291
253
311
361
279
299
338
304
275
411
349
381
353
317
379
319
272
348
248
385
286
323
356
375
348
334
269
328
316
325
258
361
320
238
331
359
230
338
327
281
306
304
320
330
370
328
321
394
349
279
412
303
342
333
262
283
273
315
337
371
292
328
263
286
296
257
308
255
302
276
281
364
349
311
370
346
290
358
291
382
292
369
323
332
312
309
350
246
361
284
275
331
228
365
331
293
267
388
348
276
342
329
274
281
290
334
368
426
340
370
256
306
346
388
374
265
305
349
333
354
377
362
157
297
255
226
242
308
402
320
296
346
297
314
317
428
345
315
352
274
300
380
383
263
420
251
335
353
376
350
380
382
339
242
205
267
307
363
305
386
286
265
364
352
279
326
319
272
432
306
384
367
319
300
270
354
307
323
407
300
264
240
283
326
336
314
316
399
267
313
416
351
385
264
227
270
360
237
327
291
333
290
307
301
274
239
324
318
359
173
236
335
316
323
340
357
341
339
219
324
284
282
294
374
316
280
331
357
355
293
367
312
365
264
316
306
376
382
257
375
301
431
285
325
301
386
319
396
376
388
366
341
279
221
409
316
415
263
305
321
331
301
366
342
356
306
335
339
291
254
387
344
322
297
376
383
359
286
353
383
257
335
288
241
322
386
300
321
330
276
340
294
276
289
308
312
299
301
314
289
316
327
296
326
295
341
397
230
267
379
304
365
232
262
312
230
229
315
404
338
361
366
368
342
292
334
315
355
253
408
396
338
231
313
295
292
321
213
323
328
312
318
284
297
260
309
290
347
346
449
326
365
298
276
346
277
314
359
368
382
236
298
353
323
236
260
304
327
346
264
310
236
321
365
319
343
350
335
356
339
356
315
311
288
298
292
366
258
370
301
299
321
267
330
314
358
346
281
232
337
317
277
328
309
273
342
335
344
243
367
223
303
391
284
341
368
341
327
274
328
386
336
335
284
234
262
349
356
344
327
296
372
353
311
352
281
434
283
288
376
361
316
312
347
334
340
196
333
303
310
273
298
277
335
393
315
337
243
238
341
396
332
321
278
327
312
388
354
300
342
313
266
348
285
308
276
277
285
318
357
300
320
395
350
341
256
270
300
284
270
290
302
322
302
321
329
314
252
356
331
261
353
329
340
327
289
321
262
278
307
308
365
390
284
339
349
332
278
324
325
320
318
335
340
341
335
295
367
263
295
371
288
294
235
343
252
298
377
231
349
366
315
341
284
363
332
404
343
280
323
277
286
253
282
337
242
386
283
258
330
330
319
248
324
358
299
292
370
263
278
359
392
351
342
316
319
278
289
300
312
315
348
333
348
304
346
384
231
340
292
205
402
384
320
324
346
327
321
333
318
331
278
369
280
383
330
298
331
335
358
308
395
325
290
303
323
302
342
309
345
333
287
243
324
274
379
301
277
357
318
359
417
310
270
368
290
259
293
340
316
306
315
368
320
341
333
297
404
279
328
362
275
304
253
276
310
387
328
326
240
364
253
331
294
356
325
301
200
310
283
276
327
305
305
295
290
280
355
278
357
280
276
305
297
389
310
330
384
369
357
283
320
251
356
413
355
344
303
313
319
350
255
400
243
300
342
214
434
264
287
350
351
371
255
300
336
311
314
350
381
236
278
314
213
376
299
304
283
286
258
244
336
307
296
362
325
287
316
380
333
288
277
282
261
341
411
369
290
282
238
300
330
331
281
318
372
339
329
304
328
354
422
241
366
267
290
289
231
378
278
361
330
291
363
318
326
377
260
321
361
337
273
305
298
326
381
340
311
265
213
275
383
305
381
393
325
411
290
259
340
394
326
380
251
338
365
261
330
310
341
306
339
356
306
316
325
304
327
294
353
201
368
275
333
268
422
351
296
429
282
314
399
330
311
352
279
398
373
289
262
323
378
321
255
297
291
256
293
298
322
327
328
309
301
288
310
301
341
317
374
367
270
352
369
301
275
323
323
325
240
332
344
322
296
323
399
325
287
319
318
327
282
367
374
348
361
326
274
349
322
214
287
282
263
269
380
357
217
289
317
268
321
391
367
338
309
200
281
367
372
372
307
346
352
259
363
374
300
283
269
353
359
343
303
289
361
257
326
284
314
346
267
317
308
367
315
299
348
405
375
357
268
365
321
347
310
367
340
325
278
290
290
282
327
334
360
364
363
403
259
336
246
350
359
327
316
330
301
339
260
300
251
313
323
326
326
310
307
362
375
319
310
299
271
271
326
306
317
344
397
259
326
306
270
348
303
317
313
352
216
290
352
342
192
319
273
333
320
309
325
332
313
286
357
373
350
405
318
367
245
256
301
222
368
355
343
342
358
311
247
387
388
286
357
416
316
356
377
297
401
288
361
295
379
281
322
235
312
388
288
340
342
297
388
368
295
288
358
324
374
386
269
301
343
289
336
328
354
337
385
296
230
249
388
307
282
322
330
289
298
269
214
287
360
334
302
271
369
401
338
309
332
304
271
199
285
323
235
335
294
372
338
388
339
311
257
367
350
245
317
306
309
336
301
326
312
369
351
259
383
338
360
331
312
299
354
384
339
272
347
350
285
266
313
259
382
379
385
292
328
342
370
313
300
335
315
329
263
339
362
353
236
241
255
282
273
345
326
252
330
325
245
363
326
295
303
295
306
316
280
316
228
291
396
400
248
317
352
408
275
314
327
347
300
321
291
310
314
297
255
331
290
273
360
387
302
290
233
344
327
350
303
303
287
369
284
306
329
289
283
314
391
357
346
274
295
325
266
276
304
304
348
326
365
273
305
284
388
294
368
264
264
353
293
381
359
308
377
315
286
290
356
282
276
305
266
387
339
251
325
271
358
322
369
343
328
355
394
336
372
271
280
367
392
306
368
296
322
323
350
345
218
303
335
232
361
340
272
412
297
328
299
345
299
264
376
294
192
279
329
302
304
288
326
305
347
366
366
246
282
386
322
274
261
268
358
347
256
355
319
237
355
243
387
230
337
253
412
354
341
312
282
310
315
325
344
382
308
318
305
364
334
253
216
310
296
303
326
297
297
262
288
232
240
299
245
337
287
376
369
285
361
253
347
279
381
353
288
261
286
288
316
280
330
294
363
279
335
282
381
297
274
297
341
381
195
373
380
275
406
337
354
322
347
303
274
234
378
371
386
338
303
282
323
312
337
378
310
349
390
312
312
331
316
259
334
358
336
240
310
401
355
269
341
296
324
300
274
297
271
311
326
302
359
334
287
273
273
282
309
265
311
342
380
325
308
254
331
315
374
287
335
374
378
324
270
336
317
282
402
384
239
301
308
351
374
294
340
332
283
317
256
297
370
285
315
289
334
317
308
319
290
396
311
345
319
383
241
277
334
372
238
306
340
318
312
325
292
259
288
293
276
287
339
315
337
354
297
364
322
284
329
322
330
270
363
347
332
351
348
342
323
297
311
284
294
336
312
320
419
381
349
314
304
314
332
340
328
389
295
341
317
324
301
304
287
243
332
317
255
389
332
272
371
313
249
262
365
302
308
329
310
304
298
253
327
339
402
377
388
284
327
318
340
307
212
365
375
276
328
336
199
248
321
364
365
364
326
267
296
368
385
354
364
254
338
254
352
213
267
364
286
351
281
230
370
331
306
357
345
318
334
371
283
325
274
310
260
276
344
243
292
379
406
444
346
357
309
321
405
274
332
302
281
290
336
334
333
320
341
343
336
405
341
348
349
343
274
315
272
268
269
369
295
353
337
303
409
289
449
304
326
313
336
384
299
353
291
335
323
284
297
305
262
452
294
331
382
361
307
294
279
374
283
378
382
310
400
264
337
298
336
307
328
334
356
374
269
325
381
322
298
296
326
284
299
368
252
369
233
337
301
307
279
241
359
325
320
279
289
297
319
354
367
305
266
393
385
301
179
300
243
274
325
342
380
291
300
260
324
315
328
366
246
289
230
298
331
309
256
328
310
337
399
373
353
294
349
273
298
294
310
272
289
363
258
309
296
369
240
320
326
281
306
378
305
308
323
348
290
367
352
329
365
349
276
326
325
337
343
336
303
301
236
288
312
306
365
297
279
330
332
382
236
293
417
321
288
333
323
278
316
279
271
284
327
377
419
350
364
327
352
329
344
305
336
325
293
354
386
329
314
258
357
312
277
299
313
274
392
326
394
316
302
365
368
315
271
374
305
385
410
348
320
312
335
306
328
210
328
286
354
264
315
287
403
374
340
325
363
354
238
406
331
367
318
384
336
272
331
367
271
372
304
261
269
278
323
233
254
275
341
382
289
355
295
294
383
225
370
349
370
301
306
268
289
345
386
337
250
273
344
259
242
265
303
287
305
334
321
328
336
277
283
300
302
371
196
250
344
266
246
384
382
373
276
265
373
347
338
287
242
370
388
310
230
328
299
256
315
315
331
365
363
338
351
386
300
303
254
362
298
320
303
335
266
380
330
419
307
347
302
264
358
311
277
279
310
261
348
410
329
280
295
345
442
286
411
318
365
309
325
378
319
287
229
318
351
367
310
256
313
347
307
377
324
366
317
290
323
289
374
316
327
294
274
319
322
316
331
311
278
356
337
282
304
277
370
345
282
295
254
298
366
303
272
354
208
350
228
304
306
306
301
283
264
321
361
382
209
303
281
306
311
290
370
309
250
328
271
353
324
318
358
381
375
331
353
277
370
280
308
268
236
348
259
235
269
334
360
275
305
339
314
314
364
299
292
320
295
367
349
339
320
349
332
298
274
312
369
352
316
393
284
400
266
333
260
383
330
321
309
336
300
304
185
258
370
360
394
294
259
268
304
321
312
283
403
290
346
380
303
468
300
245
301
332
241
331
368
340
325
328
328
299
264
371
358
349
352
232
358
323
327
330
294
274
237
309
311
379
326
366
356
326
282
332
283
324
327
333
328
330
308
240
370
209
334
324
340
330
314
318
333
437
329
347
276
369
368
297
312
323
337
223
278
295
330
356
284
405
270
284
338
345
307
333
357
375
288
383
342
352
285
351
385
398
406
289
263
312
358
376
323
339
313
360
268
301
255
347
300
314
348
331
311
376
261
244
341
360
433
330
389
340
397
391
363
300
302
279
376
338
403
353
268
370
469
293
366
286
246
264
242
325
367
357
318
372
399
288
297
304
315
386
382
320
371
351
326
297
312
362
335
272
270
293
347
293
405
285
279
300
219
307
331
232
334
324
343
356
408
320
365
298
239
307
355
341
286
235
281
337
346
302
326
336
266
324
343
224
276
309
300
326
251
384
299
378
293
360
326
331
347
360
360
316
284
309
292
290
338
317
270
281
401
414
289
310
278
336
292
281
344
292
310
286
347
274
453
313
389
354
355
326
390
373
364
268
316
424
371
282
355
323
343
319
327
353
315
348
359
380
295
251
357
337
337
256
317
404
383
336
228
321
324
315
273
339
419
232
231
296
356
298
321
339
334
316
336
305
266
298
316
325
397
301
353
322
346
279
308
260
283
316
333
331
285
313
279
262
331
360
305
239
267
246
293
293
259
303
353
401
360
375
345
248
286
339
312
307
247
292
424
320
302
277
243
257
411
316
349
341
219
259
288
373
299
348
237
342
379
330
386
303
376
310
313
397
393
220
346
338
289
362
261
316
303
303
336
352
327
301
376
327
334
371
339
336
406
317
356
234
362
337
367
309
388
312
330
401
354
342
323
308
311
301
270
307
300
291
331
365
323
316
368
294
350
367
265
351
326
270
281
313
298
371
328
349
285
263
355
296
294
317
280
317
327
343
313
333
271
261
326
381
239
291
341
373
324
336
305
303
302
354
420
318
259
306
318
331
338
343
324
341
296
321
312
318
298
327
254
313
226
245
341
263
386
268
251
331
317
358
320
343
284
328
327
361
352
300
264
339
304
258
278
269
329
367
370
384
352
296
318
330
318
262
322
350
295
295
324
278
371
316
343
298
341
407
317
322
336
325
394
289
371
268
359
300
353
282
335
386
390
288
331
361
290
299
332
233
262
354
374
318
330
327
415
400
242
295
320
325
294
312
294
336
305
327
350
301
289
349
326
355
320
315
375
357
358
254
375
247
263
387
269
349
262
333
316
310
318
360
316
326
299
372
333
274
304
297
387
281
316
233
321
324
353
322
323
316
345
378
360
357
250
367
358
252
326
268
253
344
354
314
373
311
348
290
355
360
354
263
295
280
276
326
370
245
223
318
359
286
397
411
251
265
396
240
282
357
295
274
342
277
319
271
330
297
299
262
393
367
339
388
356
320
327
329
343
273
311
319
307
342
247
312
279
332
378
295
318
370
291
221
298
334
297
299
335
353
320
301
317
396
241
288
277
301
289
302
267
315
348
300
335
281
248
333
372
247
295
330
249
286
338
410
343
395
309
328
317
333
312
311
280
357
236
288
308
261
345
328
271
292
367
402
266
330
352
276
258
323
272
270
359
328
255
358
295
285
333
334
330
388
343
368
360
339
311
349
289
344
314
348
353
360
273
271
331
296
379
266
265
258
301
136
393
338
365
252
430
293
274
313
232
257
385
398
294
306
212
279
303
297
272
227
357
290
331
347
292
286
319
277
320
309
323
361
296
327
315
365
323
325
308
361
349
297
311
343
305
302
248
307
365
268
357
437
410
301
215
222
315
283
312
330
294
271
434
333
319
276
268
360
330
277
280
304
321
322
281
337
293
308
367
236
303
351
280
301
296
294
311
369
464
338
319
312
260
371
389
299
360
349
271
282
354
339
353
297
303
316
265
308
354
330
300
323
321
344
347
308
363
262
346
396
377
323
307
266
372
360
320
301
335
296
411
362
303
329
376
324
292
291
302
275
272
327
290
383
261
250
351
302
261
319
371
370
284
390
330
281
299
299
304
251
311
363
295
278
360
331
377
246
339
350
271
311
283
326
266
362
333
415
305
364
242
288
350
363
261
305
308
340
320
271
277
382
328
349
278
305
313
315
312
357
311
317
311
254
330
331
336
366
275
272
337
300
375
389
345
293
232
341
338
341
336
257
389
386
301
362
324
327
278
356
276
248
269
306
296
294
287
258
351
273
305
352
382
313
283
337
350
289
272
275
319
310
330
363
316
342
314
290
290
297
385
322
349
278
240
245
374
331
316
384
316
244
409
346
311
283
286
122
335
403
392
280
284
340
397
270
320
341
309
396
350
293
312
254
370
310
379
365
256
348
419
300
250
252
294
290
248
323
330
355
246
359
273
358
234
329
330
341
367
414
320
311
330
341
273
294
333
348
284
230
332
291
344
298
250
287
282
341
285
355
251
252
387
358
332
209
336
358
298
258
259
415
367
280
337
351
347
338
314
363
285
307
265
250
353
332
304
351
242
319
360
322
393
310
292
363
287
391
326
243
311
457
270
365
329
215
326
255
303
325
397
339
370
381
371
341
255
251
308
343
405
376
315
255
284
302
311
290
282
262
271
347
380
353
272
257
356
287
345
363
261
258
273
285
294
367
268
354
352
279
322
278
363
307
278
351
329
335
232
277
352
181
336
368
453
391
359
322
343
317
356
378
334
274
286
308
275
301
381
343
280
247
303
282
282
384
306
312
345
314
320
302
319
337
305
319
320
239
326
293
208
320
327
388
380
296
310
419
351
301
262
242
307
338
381
339
264
257
230
352
295
301
250
398
352
263
322
301
340
343
348
289
300
314
246
375
306
252
321
301
337
305
349
200
239
247
370
332
264
364
372
360
332
286
376
321
332
320
307
312
335
302
298
376
337
339
373
340
261
285
267
324
241
328
237
357
284
372
265
274
344
272
307
341
337
309
214
358
344
338
291
383
368
344
277
351
328
365
315
308
314
325
347
290
309
264
272
247
331
344
283
318
343
331
358
304
361
272
261
398
364
332
290
329
359
324
212
309
339
323
373
296
240
235
363
379
326
295
241
285
298
276
266
246
259
341
285
404
320
347
333
349
292
294
356
352
313
357
320
290
360
321
291
368
384
341
361
299
325
263
286
364
259
354
342
313
365
300
357
314
349
286
351
287
344
258
367
293
325
405
221
308
301
286
284
318
365
343
296
382
302
324
323
363
337
375
236
346
374
358
309
286
304
381
306
412
300
312
237
334
382
337
349
285
339
308
320
238
305
365
401
270
355
313
368
279
304
366
278
335
279
323
407
283
286
360
290
334
326
285
262
205
376
316
254
351
298
372
252
302
299
291
311
317
361
342
281
308
391
313
311
238
312
376
206
333
327
356
329
390
262
412
271
337
303
243
221
356
247
357
312
313
332
305
394
372
324
383
365
269
324
313
291
316
395
348
385
325
309
234
286
302
287
392
334
373
414
376
351
327
303
325
336
333
341
326
350
282
319
316
390
335
293
327
309
296
299
319
310
324
338
240
303
347
368
308
335
323
352
313
333
341
313
294
342
311
306
293
350
324
361
302
267
330
319
288
337
312
359
363
389
294
240
332
320
332
307
275
277
323
340
301
349
320
349
341
320
280
241
331
324
278
334
251
377
275
343
364
346
252
192
309
305
272
333
405
360
262
415
355
323
264
370
318
284
273
307
316
273
411
272
309
280
355
278
276
321
344
320
315
341
265
340
358
251
326
364
263
350
238
318
240
342
326
296
316
280
254
346
267
365
301
350
275
291
277
317
401
381
239
299
272
379
285
352
329
343
319
266
386
330
387
344
275
332
355
332
277
315
332
422
395
255
217
277
378
287
379
333
275
386
326
276
281
335
355
273
276
414
387
315
294
322
326
329
389
331
300
315
303
281
376
302
279
341
381
248
349
351
277
312
285
290
327
286
315
339
259
279
411
338
382
344
291
358
298
367
275
316
300
333
351
255
309
336
276
325
309
317
296
361
336
317
337
351
331
271
381
342
284
308
358
260
292
229
336
252
338
302
322
370
378
312
328
303
265
338
355
226
256
413
309
319
279
364
201
230
269
349
312
288
344
367
231
353
329
289
333
383
332
356
396
339
313
288
297
370
270
253
296
325
342
341
337
337
352
377
255
356
203
360
350
350
329
296
292
350
341
337
268
316
332
267
309
315
381
301
327
370
347
341
246
284
340
350
282
334
232
325
412
266
275
339
321
232
289
270
349
354
364
315
342
338
292
320
339
268
334
343
340
329
256
361
243
240
239
355
323
302
352
321
251
285
374
256
358
326
291
371
207
336
290
345
223
340
256
283
416
327
340
248
268
297
236
358
289
347
301
311
359
318
374
370
284
319
310
413
285
292
380
288
300
329
346
335
321
296
360
416
249
288
303
304
318
348
303
387
320
329
272
308
322
213
333
372
328
264
382
317
283
287
333
299
305
347
351
272
321
317
359
360
327
256
346
326
340
290
359
374
311
260
343
363
366
416
332
204
376
288
325
249
313
374
313
330
315
378
334
222
427
292
341
325
353
309
336
349
362
320
307
350
395
337
250
392
250
321
323
418
344
317
263
342
390
335
282
322
311
308
237
228
299
306
261
331
252
351
278
377
360
338
381
364
382
267
317
367
275
312
336
258
296
369
354
331
353
338
272
363
298
261
272
279
400
355
306
363
273
371
340
396
311
335
288
366
342
360
317
277
368
306
330
251
368
339
337
271
363
324
314
310
346
418
287
327
328
264
324
397
323
288
255
360
295
326
240
346
328
385
356
312
294
271
376
352
314
379
249
304
299
289
318
339
337
332
367
354
309
283
280
356
361
362
365
407
355
311
275
303
381
310
302
295
271
244
376
345
343
375
204
336
338
345
323
342
341
344
206
308
295
307
353
262
308
284
233
351
371
295
229
282
305
329
314
321
345
242
409
337
365
326
399
318
293
264
309
435
267
304
284
352
335
252
373
305
305
311
366
323
192
327
397
355
343
265
291
367
328
291
263
273
347
363
316
333
400
246
219
314
319
247
358
280
304
330
301
375
365
370
306
378
290
331
309
368
281
261
279
288
367
283
261
377
338
309
316
325
445
270
280
339
347
352
322
322
320
314
364
337
347
312
276
313
339
323
356
374
320
336
175
378
315
258
344
286
350
376
375
341
372
315
316
286
336
319
195
339
378
395
337
347
311
306
320
329
244
273
349
346
308
288
353
328
382
295
287
248
330
386
316
268
308
367
307
224
311
335
255
301
336
429
317
402
282
382
320
284
327
333
387
385
336
352
254
234
342
395
301
290
241
311
427
318
321
356
352
363
370
374
344
348
343
340
410
289
321
346
349
411
244
324
311
248
264
373
274
336
249
336
378
275
309
276
368
375
357
260
385
389
267
326
370
338
334
203
349
326
303
263
286
372
364
277
287
318
312
293
313
290
359
388
234
273
290
323
267
282
314
227
391
222
385
274
271
345
294
349
271
300
342
329
278
332
317
323
334
345
393
236
267
255
359
282
275
427
224
399
313
333
385
199
262
372
319
271
315
336
347
334
354
248
267
330
347
426
351
286
323
272
330
290
340
261
267
291
268
295
244
318
246
268
261
321
389
352
321
301
376
324
318
310
308
338
267
349
313
353
379
309
367
330
334
357
242
314
354
258
265
330
283
408
344
376
357
293
328
322
329
388
289
374
352
332
321
320
298
272
254
411
297
192
305
327
298
277
339
380
337
247
355
359
279
362
335
310
301
359
377
413
330
354
311
394
310
336
246
325
348
218
357
331
333
347
272
302
365
326
387
260
301
314
336
293
272
380
310
291
324
282
294
374
268
333
330
335
284
386
345
310
348
333
346
339
223
359
313
344
307
329
378
320
301
310
310
333
344
280
318
268
341
309
321
311
294
213
334
306
284
395
303
300
339
314
338
353
308
342
300
318
304
304
338
304
312
402
332
253
319
319
340
330
375
312
296
355
334
370
323
269
292
310
334
333
271
385
239
358
338
400
338
312
295
349
314
322
292
341
387
331
341
304
283
388
360
344
266
388
320
279
247
409
376
369
356
348
341
334
402
321
319
254
338
346
375
259
306
327
291
282
304
243
318
240
247
232
235
343
289
363
335
378
370
323
328
317
387
261
362
265
317
275
276
270
340
307
355
341
237
302
302
337
381
362
240
328
371
293
283
215
286
354
256
286
349
237
257
325
280
327
204
289
297
372
280
313
304
419
351
318
317
347
263
299
369
295
315
322
382
359
264
323
330
342
400
326
424
320
380
334
341
315
340
322
351
322
270
224
347
317
357
393
274
321
337
336
341
248
273
385
285
339
343
239
264
346
255
281
319
288
326
350
368
349
306
327
341
339
327
311
243
280
315
359
310
318
369
279
403
237
238
374
395
281
315
283
296
298
310
313
338
336
312
382
260
228
339
275
249
394
325
407
267
330
397
427
368
293
320
283
278
349
321
294
241
365
293
261
300
334
334
229
314
252
315
388
270
342
325
346
353
222
280
392
254
338
260
342
303
307
306
317
270
333
260
354
350
331
339
313
354
336
333
388
321
312
331
327
289
306
346
298
276
327
343
353
344
361
294
408
349
373
276
240
290
307
259
312
309
261
331
251
287
291
324
301
331
326
296
421
328
358
271
303
303
355
283
334
304
277
318
317
281
352
282
303
309
301
356
343
284
295
326
283
334
344
274
300
355
346
261
336
314
389
243
279
343
278
301
296
293
279
280
267
356
341
348
370
354
325
353
263
304
334
311
398
309
341
357
287
227
325
376
389
313
265
368
297
308
346
348
381
293
320
348
315
383
233
313
349
347
287
254
227
315
259
308
326
275
342
291
290
293
372
251
423
376
282
390
303
346
340
334
280
302
390
337
331
241
331
349
347
373
342
267
333
339
354
400
330
290
354
341
241
379
300
356
227
349
334
269
330
425
339
315
296
305
357
369
360
311
339
254
393
306
282
282
340
405
275
306
353
360
318
317
341
368
303
338
347
369
413
377
323
383
323
229
330
268
316
306
280
382
256
315
323
286
319
325
383
341
349
338
406
319
331
284
335
294
284
386
303
246
328
369
313
277
300
274
350
284
258
316
261
343
310
312
361
343
292
344
283
299
259
308
377
331
370
315
355
395
353
345
305
268
298
321
410
294
287
379
342
258
291
305
360
279
346
303
320
332
345
350
383
311
327
315
358
233
318
326
284
344
316
340
288
347
300
318
270
331
260
297
247
376
201
280
314
353
364
310
327
338
355
374
325
339
334
331
367
335
280
246
321
357
284
207
392
263
325
340
376
240
294
386
266
357
359
280
307
298
359
294
310
308
301
339
353
293
361
330
320
329
313
339
327
341
343
346
345
392
184
295
263
253
250
297
315
362
313
355
291
341
232
309
272
319
350
338
352
303
413
316
333
328
288
332
353
350
291
299
317
314
379
321
425
391
344
360
302
250
343
284
267
373
289
275
296
257
325
374
297
331
298
226
258
397
392
251
306
350
291
347
278
378
238
321
286
414
320
309
273
363
307
376
331
256
294
283
276
345
313
233
372
381
270
340
329
229
303
380
391
265
370
394
311
346
277
304
309
283
282
315
356
265
303
301
355
318
326
332
368
235
297
323
347
241
401
307
326
308
274
315
294
279
334
292
311
371
332
307
353
274
272
339
284
351
372
373
322
242
237
371
372
346
371
376
323
336
301
287
437
273
247
329
349
340
358
356
393
270
243
254
242
249
284
311
373
410
293
265
348
258
406
264
342
330
351
301
333
308
309
317
304
221
325
305
297
371
351
353
386
279
378
292
405
390
272
320
267
333
194
328
312
361
261
256
278
273
269
340
270
292
331
292
361
340
329
338
357
257
363
292
282
355
325
305
366
360
264
320
282
392
346
291
293
296
258
322
339
308
307
256
349
322
288
264
328
345
361
353
329
251
290
328
295
283
375
329
297
311
336
264
351
338
302
349
290
330
373
281
228
320
346
317
304
304
401
325
331
328
285
378
268
321
303
284
273
360
266
249
185
239
396
362
291
349
307
366
347
181
317
316
327
398
308
250
337
333
384
218
374
306
377
273
253
373
275
320
374
332
269
371
358
327
235
341
383
341
317
296
315
404
346
368
336
261
304
374
341
288
353
271
353
336
258
358
258
284
285
311
348
354
365
293
310
406
246
179
362
353
224
345
305
257
257
346
310
359
299
344
334
341
336
283
321
310
279
327
373
323
288
374
339
308
362
307
362
321
313
306
328
377
302
337
307
359
382
303
314
282
242
238
261
320
341
296
330
310
366
305
278
379
336
322
256
301
261
329
300
240
245
329
381
264
350
296
361
269
308
274
351
311
317
291
369
245
333
235
355
320
374
357
246
302
381
296
295
360
338
290
324
218
314
249
315
338
349
297
313
307
286
285
330
322
274
226
266
333
383
278
268
356
362
318
359
286
280
366
321
354
346
367
378
271
327
275
292
361
339
223
297
294
362
274
303
362
269
289
344
223
254
303
330
296
402
394
361
385
272
314
322
365
371
367
305
317
399
343
328
293
256
292
301
326
254
262
338
278
256
314
306
339
322
370
346
222
335
235
256
285
295
244
269
288
317
268
212
280
254
342
409
291
282
343
305
278
282
300
366
366
383
330
315
309
337
366
321
247
329
313
332
301
329
256
365
291
367
304
309
267
351
312
279
405
343
316
350
304
365
286
315
255
395
299
293
357
236
377
395
352
324
333
279
361
303
319
240
366
406
339
312
327
334
280
317
307
305
316
332
400
385
280
293
196
350
374
358
367
328
239
326
241
361
294
249
324
290
292
335
290
263
364
286
385
376
334
332
381
287
295
351
278
291
377
248
398
296
354
384
255
338
288
241
348
326
326
366
257
318
314
400
343
239
311
406
304
210
315
361
250
305
387
280
314
404
277
287
302
280
347
365
366
352
274
319
309
238
248
366
360
347
311
352
265
290
343
334
364
295
413
319
331
311
267
364
378
333
437
346
346
389
332
281
328
354
367
394
262
316
330
325
253
295
333
331
289
360
288
236
270
232
298
280
279
318
300
294
326
318
262
331
353
342
292
311
286
307
315
358
361
237
235
372
302
302
302
304
349
303
214
299
261
322
330
364
329
285
280
259
246
319
296
328
225
330
322
327
379
289
237
368
245
356
220
264
381
353
376
350
314
250
286
322
339
332
241
301
303
431
331
322
297
349
356
339
377
251
371
338
346
323
290
259
319
388
281
365
333
269
322
180
276
309
357
312
383
286
286
264
339
286
383
288
341
371
307
330
376
289
279
288
315
323
349
251
329
258
345
371
377
302
282
322
339
382
336
303
232
342
250
310
348
306
319
350
316
298
315
190
277
309
312
332
325
349
294
287
354
338
257
321
324
401
416
315
303
304
312
339
321
339
321
351
406
323
348
145
343
357
367
307
289
236
303
329
292
363
387
341
337
261
343
373
289
344
357
331
348
253
247
321
377
288
280
350
362
270
328
362
298
337
272
259
334
356
353
351
335
357
328
200
355
301
331
218
296
372
331
325
320
257
274
341
339
402
316
317
266
310
250
317
262
300
304
327
279
290
170
351
390
288
205
260
257
276
281
334
405
317
370
269
198
349
377
336
328
370
281
265
267
305
273
280
328
271
269
333
321
279
294
390
270
322
315
312
334
416
291
326
346
346
409
300
356
295
284
342
387
291
367
327
327
308
294
362
313
300
318
269
271
346
301
226
282
283
366
318
359
318
339
319
315
300
305
382
244
381
292
307
304
326
303
313
333
302
403
317
340
302
269
290
316
353
349
288
306
309
243
391
312
313
294
267
375
363
288
348
362
327
271
276
368
279
317
322
342
311
299
347
278
364
393
228
285
316
223
272
325
380
320
351
343
276
392
373
187
345
317
322
271
278
233
305
390
334
260
308
382
314
319
422
260
321
373
215
368
298
265
275
237
284
290
357
350
329
269
280
330
346
277
275
250
296
314
316
310
367
307
355
307
323
407
368
373
299
368
270
310
385
317
262
329
335
292
299
350
312
312
250
331
342
246
363
244
316
243
350
388
337
333
339
371
336
375
328
389
267
293
353
397
365
274
358
292
303
412
240
361
240
342
427
327
267
346
311
264
283
329
307
323
358
293
284
298
314
282
255
288
336
368
299
325
279
352
246
276
286
287
297
285
341
270
289
337
357
330
240
278
387
370
362
369
349
315
374
234
440
377
316
313
355
297
228
322
290
349
323
397
363
332
312
339
359
395
255
295
401
315
327
254
278
322
372
290
326
304
327
350
333
289
348
383
293
291
253
298
334
275
407
292
297
368
286
330
278
283
288
304
294
305
257
314
342
313
304
315
339
310
264
317
283
367
346
300
270
305
342
366
359
354
252
306
386
322
251
347
284
398
297
326
317
294
343
281
366
338
346
318
286
332
334
302
322
300
355
322
318
197
309
340
223
293
319
231
327
293
272
286
315
329
255
301
335
283
364
305
325
280
373
290
271
281
331
262
286
379
348
373
224
392
389
296
393
341
338
246
292
375
271
262
270
320
357
380
311
321
353
299
330
407
224
241
360
311
362
273
273
323
323
391
315
342
312
317
334
331
340
317
267
328
319
330
422
341
335
322
325
351
298
257
331
336
269
325
344
323
310
281
342
353
278
276
274
256
290
399
293
300
294
275
327
275
306
396
365
344
294
314
324
306
407
247
267
326
418
355
302
227
300
347
334
363
350
339
382
330
336
361
214
402
334
346
319
354
335
377
308
365
321
339
324
342
328
370
350
263
296
353
272
336
278
351
353
283
253
302
337
347
260
326
314
338
323
323
351
336
351
338
305
314
257
261
258
265
331
382
234
377
325
363
290
304
351
290
266
328
266
337
263
304
251
349
324
303
371
335
391
305
274
356
368
417
322
338
292
338
214
364
224
349
406
347
310
377
337
272
340
325
332
356
348
410
274
236
356
278
313
297
279
265
347
301
360
216
328
346
234
290
269
415
302
299
341
325
322
295
290
328
333
290
245
283
327
281
271
354
302
239
370
342
318
345
329
339
330
317
295
362
387
314
310
246
320
317
259
320
342
308
247
349
304
356
321
273
367
320
346
367
354
306
385
322
381
341
369
394
355
315
313
311
380
346
360
255
318
378
363
317
315
338
291
272
335
374
276
271
302
352
327
355
331
368
197
277
337
371
347
323
289
321
258
304
312
341
267
370
302
291
352
339
293
236
258
335
337
357
404
356
316
244
287
265
260
307
315
269
297
253
368
337
249
258
333
278
312
260
281
356
300
337
369
336
316
323
357
305
331
408
389
318
359
337
333
313
363
301
285
293
264
414
335
341
358
287
328
339
259
279
367
299
365
245
337
264
346
283
324
343
319
388
203
400
285
371
392
318
386
357
315
291
304
268
345
320
385
294
249
343
264
350
353
294
323
288
362
335
338
228
270
345
242
289
359
338
344
248
277
330
267
326
351
362
364
354
398
349
370
267
302
332
359
408
300
344
268
279
306
209
355
342
365
337
384
301
279
331
357
378
300
370
306
255
284
336
264
327
311
255
280
328
275
350
328
285
304
315
311
337
316
373
406
345
296
299
361
357
339
319
320
320
271
226
331
314
355
369
295
324
295
266
282
305
252
302
356
287
373
343
280
329
297
285
319
266
302
348
356
226
278
296
335
362
345
306
335
335
312
339
245
286
239
317
296
331
340
299
315
336
335
350
333
324
269
313
255
276
369
223
318
335
313
341
271
385
367
286
279
319
252
356
335
292
216
326
346
366
320
265
352
333
300
304
287
311
310
229
290
435
143
356
253
351
326
251
302
263
370
355
373
340
347
292
455
340
278
254
223
339
336
310
388
295
299
323
360
367
298
266
327
278
325
372
349
387
260
294
361
327
327
288
353
349
357
261
382
210
316
246
366
343
250
325
264
350
284
239
343
253
320
368
263
311
239
375
293
297
285
357
369
327
236
367
314
285
306
364
364
303
337
297
273
283
315
282
318
329
307
348
280
335
419
368
272
282
354
258
304
336
389
337
296
301
295
357
292
252
221
260
379
354
353
329
252
325
203
308
211
295
289
355
339
328
323
234
337
308
251
365
280
297
383
300
288
323
369
320
266
365
390
249
389
318
280
396
263
265
396
336
350
236
339
366
369
300
379
319
267
330
292
382
381
287
293
324
304
257
335
285
381
272
266
352
333
287
336
326
253
336
389
387
324
307
342
314
361
282
321
330
326
317
318
400
298
299
351
331
312
310
322
326
334
276
374
301
366
339
355
289
295
368
264
329
361
328
263
254
323
261
328
313
305
298
299
345
317
324
285
340
329
333
248
302
332
345
335
302
333
323
344
293
348
338
359
308
355
361
437
300
358
276
214
276
370
391
326
321
427
356
271
311
346
280
324
339
395
224
359
346
407
331
265
360
301
284
363
363
251
276
295
291
317
279
298
369
356
310
306
317
327
326
284
354
271
347
266
320
206
230
311
203
322
324
339
234
431
334
318
341
329
297
305
358
326
366
360
323
256
301
276
253
386
393
380
309
256
340
345
298
241
285
380
343
323
282
376
314
339
350
378
355
337
311
435
336
301
318
310
292
314
295
354
248
272
337
399
330
383
403
341
215
331
322
298
356
336
305
361
224
370
246
288
252
305
314
317
347
322
342
385
307
297
336
351
268
353
336
334
317
322
387
217
302
331
288
318
289
289
342
296
286
346
360
385
312
321
331
301
326
342
293
303
340
356
328
335
264
263
364
363
270
438
248
348
297
330
289
281
340
402
259
323
379
344
280
319
314
318
296
323
311
288
295
297
293
353
369
383
291
276
426
349
292
256
283
205
317
384
268
288
323
382
277
347
357
276
331
317
281
281
273
300
319
298
326
375
348
347
299
357
215
333
290
302
359
308
331
294
345
289
333
372
370
331
366
308
257
294
247
324
332
306
358
268
168
374
322
375
330
279
383
269
346
319
350
353
344
304
348
323
310
253
299
306
278
306
351
394
278
378
272
343
204
324
345
355
351
274
266
278
258
313
273
238
302
295
304
288
313
341
247
317
263
378
276
349
319
340
331
350
326
315
234
323
348
289
323
395
363
337
296
350
345
303
276
253
304
272
304
368
336
386
225
402
266
296
293
328
280
378
351
256
310
311
292
327
406
197
357
356
335
359
367
317
341
284
289
313
307
265
361
246
310
298
318
304
327
262
337
342
331
386
366
282
339
323
291
307
322
294
300
289
268
318
359
354
250
317
421
317
329
318
301
267
379
333
298
349
279
349
356
239
377
332
334
309
229
264
283
318
290
291
282
317
328
257
391
337
288
330
273
232
345
347
249
325
285
309
332
360
251
282
298
290
356
327
325
329
327
329
375
270
326
308
294
302
329
338
340
339
327
269
327
296
380
322
334
245
301
300
290
368
363
290
268
303
254
277
268
371
340
336
276
292
352
290
307
289
271
281
297
369
299
351
386
326
308
324
269
361
340
298
281
281
331
382
286
292
320
277
327
313
304
321
353
296
282
275
297
301
356
273
322
403
333
339
377
291
321
374
318
288
299
242
346
239
333
365
300
298
304
403
370
370
282
298
328
296
398
455
314
321
360
365
348
334
350
346
376
338
388
297
292
371
314
246
372
328
312
302
406
320
412
366
360
319
296
335
261
288
260
354
208
392
340
345
296
239
360
287
266
345
246
343
336
322
378
361
297
284
345
337
342
306
326
313
306
307
329
249
324
343
378
369
261
327
258
258
352
299
324
295
355
259
352
290
320
384
213
308
360
265
225
213
318
308
409
384
313
369
284
321
272
255
296
408
257
374
333
379
320
385
262
323
288
355
314
334
329
335
283
340
365
360
321
410
270
277
311
393
285
355
379
268
302
353
223
321
307
380
300
283
208
291
353
285
297
289
295
334
259
293
373
298
285
399
253
386
336
335
225
233
429
275
348
344
231
311
268
376
301
392
366
382
356
312
355
353
323
388
362
332
337
280
319
248
326
384
363
310
307
317
294
308
302
334
278
297
353
321
263
314
205
394
249
284
324
193
273
334
351
302
337
300
364
317
294
328
292
348
256
294
248
284
285
237
273
269
299
217
303
365
371
308
279
283
307
306
305
294
262
389
257
320
331
286
230
310
291
319
318
369
356
311
392
245
261
294
370
339
281
384
350
275
359
322
298
340
328
290
327
282
311
251
329
367
322
287
318
356
314
258
292
256
365
318
319
266
352
313
429
295
297
403
354
311
363
241
398
373
274
364
336
331
285
329
282
380
350
286
252
302
385
262
331
348
246
288
322
318
276
368
347
281
344
309
361
315
313
283
345
338
291
375
325
279
337
341
332
377
330
336
258
314
326
210
376
338
222
297
389
343
310
337
328
240
319
344
434
200
326
324
334
287
319
314
290
280
308
294
421
310
381
374
360
373
307
336
331
278
351
345
324
309
306
306
294
307
287
238
259
412
320
308
306
350
358
339
253
333
366
360
347
354
297
287
294
371
226
359
398
277
304
322
265
274
396
268
234
266
273
365
235
352
260
250
390
334
281
354
322
287
256
344
326
332
345
330
371
338
272
282
336
236
297
264
383
247
297
310
294
327
334
318
372
279
270
284
312
329
337
284
282
293
296
344
352
353
263
319
330
340
343
353
400
238
285
265
310
316
309
242
298
343
391
345
358
313
380
320
347
341
376
311
310
340
307
287
339
345
385
235
315
290
267
336
301
308
345
262
283
258
292
299
310
356
339
379
265
299
317
328
302
261
389
346
432
334
344
297
280
368
319
368
327
334
369
322
292
372
279
340
252
380
302
310
287
293
268
355
277
331
342
347
245
273
283
334
277
248
318
346
285
275
262
309
291
280
268
337
306
265
261
344
358
257
333
307
356
333
355
223
270
280
258
356
207
282
351
367
318
279
322
312
344
333
310
300
347
336
299
385
348
300
277
310
242
350
250
380
387
312
302
300
333
265
354
339
357
447
241
379
373
293
322
322
358
373
336
418
324
283
391
273
291
307
323
286
324
191
364
282
310
348
289
318
229
371
301
257
337
249
353
337
341
403
286
287
357
201
346
340
331
366
376
343
337
344
256
360
337
317
335
313
270
306
414
232
263
243
383
279
234
322
246
395
283
311
290
332
302
369
344
382
395
250
316
283
383
322
292
330
286
298
334
313
330
319
255
336
290
316
291
409
301
305
375
305
192
355
247
370
393
277
345
303
297
326
350
253
289
328
309
303
293
311
287
315
328
348
289
269
380
326
249
276
376
321
314
316
321
246
304
301
349
138
276
310
367
339
392
378
378
322
270
336
365
269
287
326
252
300
254
398
260
346
314
284
320
283
242
321
302
333
228
316
263
346
289
372
332
318
350
326
230
307
363
335
359
344
279
226
355
303
335
290
334
322
327
321
332
271
275
353
318
293
424
337
301
376
332
359
335
343
296
369
349
321
305
270
328
363
289
219
323
310
287
281
369
293
257
280
356
379
301
384
321
254
294
316
360
345
295
333
359
357
356
254
317
345
346
285
284
395
333
409
256
313
344
313
343
222
359
398
341
329
276
342
364
266
236
276
383
328
287
264
342
329
177
268
304
242
349
291
269
290
375
358
288
364
220
255
332
290
277
301
296
297
339
276
330
392
299
330
324
228
314
312
290
335
250
253
376
335
332
320
283
309
360
355
328
306
406
397
330
288
329
375
294
298
365
347
416
241
339
254
326
234
307
386
303
328
359
240
265
353
315
325
365
228
273
345
325
281
301
287
307
347
290
216
304
333
338
359
351
319
338
288
362
319
294
381
241
298
287
253
299
318
259
206
366
260
334
206
288
322
270
245
291
323
366
255
385
298
344
364
285
334
336
317
304
340
353
397
308
372
278
340
292
309
332
348
316
364
389
333
300
303
367
271
346
346
322
345
265
388
309
384
295
402
314
337
335
393
364
295
322
357
315
317
284
287
386
395
340
400
364
351
420
282
260
283
312
292
392
338
301
394
420
378
304
354
253
391
276
271
376
330
322
301
264
266
337
358
332
320
327
245
332
274
338
285
388
377
315
340
327
344
318
352
275
344
349
282
308
376
212
355
349
326
333
243
356
294
326
381
327
339
400
297
325
216
356
400
309
335
334
344
368
264
303
353
369
320
320
314
248
345
264
289
389
257
335
388
373
325
376
331
256
358
275
255
250
268
229
341
315
312
338
404
353
336
368
367
450
354
292
345
329
297
346
285
295
372
333
289
319
344
377
273
299
318
316
306
333
333
334
257
313
380
386
313
264
316
315
317
266
333
365
329
350
262
249
373
340
367
389
368
366
311
354
315
275
385
351
313
277
312
286
293
260
327
313
337
319
281
322
384
351
333
285
285
248
395
343
276
351
361
264
334
350
343
366
263
328
332
319
269
320
308
400
379
295
349
356
355
374
368
324
310
278
326
256
363
370
209
289
341
331
361
348
374
265
297
339
319
313
330
328
239
330
297
243
256
346
281
396
409
322
401
330
282
346
271
368
309
353
269
377
285
344
274
262
236
335
260
259
268
290
250
331
350
336
383
327
374
306
301
335
199
313
299
363
335
273
265
312
285
390
321
368
328
287
240
305
294
261
289
361
347
340
323
308
233
288
320
335
237
285
302
216
313
226
326
297
379
370
278
310
354
244
237
335
336
303
326
280
241
243
261
301
371
243
370
367
311
334
345
278
346
296
316
310
324
338
285
306
303
236
270
312
279
236
344
238
387
275
394
364
320
347
336
288
303
279
321
375
313
390
322
310
263
359
382
326
338
331
292
302
309
305
256
313
307
363
336
357
355
307
433
397
330
359
336
378
295
330
291
332
340
332
246
381
312
346
225
280
278
310
297
304
300
305
306
338
306
287
380
340
319
406
337
231
331
334
259
316
321
272
377
262
365
314
349
339
271
372
337
345
221
328
315
306
328
327
333
395
198
377
277
352
271
305
348
353
376
322
246
372
274
329
276
335
294
427
377
394
322
331
298
251
320
381
295
374
349
214
313
286
298
326
262
312
267
332
335
353
341
380
260
353
279
325
401
337
345
233
367
246
341
348
293
248
335
303
313
258
397
359
306
313
306
398
293
322
279
355
273
308
286
338
341
240
259
306
276
316
323
354
241
295
260
346
254
316
228
370
272
256
373
335
313
341
339
271
302
335
361
323
383
389
268
312
361
258
276
292
333
274
327
399
258
235
271
288
342
361
363
342
292
375
324
342
357
339
319
340
373
308
402
319
342
297
262
348
367
371
359
370
304
411
279
313
306
353
345
332
292
249
295
217
325
317
385
226
317
323
254
248
278
403
389
311
265
310
278
345
335
271
305
263
281
334
345
208
253
344
339
353
297
346
304
295
345
321
272
334
274
370
270
300
302
304
305
355
319
389
275
245
389
315
341
324
337
325
322
316
340
330
334
350
315
283
257
337
220
350
320
404
360
345
390
302
354
257
313
334
283
285
357
317
305
277
407
372
319
317
334
296
273
366
329
259
282
312
317
293
338
375
304
338
342
342
409
355
309
326
338
241
224
340
297
275
295
309
331
330
308
313
236
286
274
244
365
386
394
287
315
237
318
356
338
320
355
255
334
306
233
339
270
300
327
339
320
274
341
367
329
337
270
280
360
283
297
293
338
277
324
366
351
353
364
335
259
258
325
333
215
315
263
377
317
326
339
350
311
286
214
413
281
330
328
276
231
326
311
298
335
257
304
323
237
325
304
233
396
273
285
353
299
264
262
272
324
355
259
288
340
371
401
298
326
279
328
261
335
360
259
307
321
278
344
368
325
329
325
241
369
336
249
352
285
305
285
303
321
352
311
257
365
261
336
306
317
300
278
311
393
373
325
308
288
290
274
324
352
295
361
347
395
333
292
367
361
327
345
337
286
287
272
325
344
293
313
262
262
354
347
317
332
275
309
290
305
327
336
328
354
304
283
314
355
206
402
275
313
394
360
263
245
333
316
256
233
294
325
327
255
273
326
365
355
314
305
337
417
364
334
368
347
348
282
288
385
322
317
364
249
288
246
303
370
191
317
272
354
313
273
294
311
368
354
316
441
365
272
328
322
351
364
361
366
269
361
326
215
285
333
298
309
391
299
328
271
323
376
258
357
378
259
331
450
400
332
366
332
306
318
258
330
309
342
288
329
260
363
328
395
301
295
297
424
379
261
431
369
336
326
315
336
268
349
314
383
337
368
257
322
347
384
305
298
308
299
394
333
353
283
269
357
373
262
336
332
343
318
285
291
395
356
344
328
317
257
303
348
350
313
325
263
392
360
213
364
290
260
290
261
331
339
281
260
346
293
265
330
374
312
353
347
277
353
339
316
321
365
362
329
291
360
335
347
325
286
360
358
319
335
243
251
439
316
343
286
288
287
297
360
373
320
294
325
406
306
340
333
318
379
305
297
361
301
344
294
257
321
360
314
343
230
266
294
314
317
335
349
250
281
355
353
327
278
219
227
308
307
333
330
285
300
273
372
359
297
346
351
326
302
332
344
311
400
280
259
281
333
286
271
313
348
328
340
361
307
368
312
300
307
281
315
280
311
273
324
259
236
262
303
262
304
319
354
411
290
294
346
287
318
307
379
388
366
253
288
331
326
291
322
393
364
327
291
261
306
232
237
317
441
342
276
306
238
296
297
337
362
383
262
285
241
348
277
326
348
357
315
315
356
306
356
376
306
379
271
253
310
354
252
371
347
275
361
314
338
322
267
317
364
300
286
359
295
276
299
308
302
378
318
323
361
364
298
274
289
345
303
318
369
356
334
350
280
301
327
376
364
320
327
344
383
229
312
372
299
285
331
344
337
252
346
334
391
310
307
329
356
274
297
342
318
268
321
383
364
290
253
387
324
293
354
281
282
274
264
321
295
236
336
283
333
381
349
389
406
363
352
247
350
361
283
356
354
360
257
370
307
244
216
307
301
290
297
293
301
274
304
313
331
370
292
346
335
315
274
355
263
378
309
308
389
288
261
300
398
309
304
298
346
323
215
292
322
362
258
376
343
396
296
355
318
338
266
382
240
346
372
378
313
348
356
303
276
247
336
338
260
300
313
350
316
352
333
298
280
263
311
342
278
346
201
311
203
261
213
334
323
294
348
331
345
325
384
288
299
270
196
282
362
238
350
303
312
247
348
385
310
276
359
324
386
328
346
298
262
330
250
287
327
342
291
359
339
302
320
284
376
398
336
333
271
330
304
322
341
334
381
283
339
272
341
386
374
348
315
357
409
293
292
316
400
293
292
351
284
316
373
335
279
322
344
294
346
390
338
339
376
313
322
278
445
311
290
289
226
324
261
394
393
355
309
296
360
321
297
290
325
343
287
339
268
319
278
349
296
397
385
361
353
369
360
336
285
321
230
382
287
333
302
275
363
342
280
298
416
297
292
373
289
303
313
338
225
265
357
283
337
391
314
291
399
330
370
273
293
307
339
293
385
273
322
311
359
315
296
314
355
383
292
258
251
381
382
340
407
361
336
414
293
368
282
388
265
341
246
225
246
282
312
336
235
364
361
342
303
403
239
273
314
362
353
363
364
256
302
387
282
308
357
326
326
322
309
231
309
245
289
363
359
328
239
290
355
277
279
287
351
376
354
329
251
212
325
357
333
286
267
296
241
396
314
275
312
258
340
340
293
351
342
314
354
209
270
345
278
357
340
296
334
356
361
302
289
308
330
303
362
292
308
332
200
377
304
305
353
274
297
330
309
290
353
340
368
331
325
232
281
313
316
296
267
351
320
308
291
388
387
321
412
297
308
274
306
259
329
320
261
318
285
364
417
252
375
312
316
293
266
309
281
324
379
275
306
266
372
321
281
266
381
286
386
391
267
256
245
313
264
306
331
338
316
294
359
245
327
331
274
299
354
259
312
345
365
356
308
391
401
297
295
373
250
334
308
352
268
341
360
316
300
284
244
298
324
323
316
340
306
301
299
254
309
357
251
359
272
310
263
327
352
291
359
303
283
205
389
280
285
275
317
272
288
343
335
314
261
373
367
290
300
328
294
347
268
379
284
305
314
362
399
330
329
216
363
324
301
356
296
299
357
255
331
334
352
327
303
369
267
340
300
267
289
294
309
396
363
284
288
265
340
211
272
262
261
237
316
290
304
284
348
277
398
303
409
337
365
290
264
305
381
354
306
406
298
347
318
234
333
386
334
299
372
363
362
262
254
201
337
354
322
327
317
312
270
335
308
301
293
286
328
289
297
376
320
404
284
293
291
324
404
351
261
304
344
365
324
266
363
304
377
248
334
301
298
384
273
347
354
319
314
345
378
297
356
339
325
351
254
361
268
322
331
299
298
373
314
333
291
321
305
366
388
341
338
351
335
314
344
339
372
343
324
246
353
255
334
276
404
320
340
313
276
323
323
280
303
360
260
287
243
329
290
315
382
281
356
368
340
293
345
328
272
278
306
341
318
326
386
319
337
350
404
322
295
312
354
335
372
300
370
329
320
280
294
258
358
247
396
268
342
360
368
344
315
359
333
298
216
317
306
249
328
258
364
339
330
381
229
298
352
415
246
274
275
307
330
318
273
355
294
362
294
275
396
239
304
305
237
269
307
303
289
249
337
326
340
352
342
315
381
323
271
274
376
240
342
280
321
279
270
265
319
281
340
297
300
342
305
244
316
264
362
348
295
306
298
405
343
251
249
327
322
272
374
366
363
223
287
356
295
317
311
370
280
260
337
278
326
348
309
262
402
355
353
263
323
303
296
299
302
291
391
251
372
308
356
262
255
236
275
329
239
257
345
335
322
334
298
263
313
346
353
237
286
317
401
309
286
244
296
406
358
326
360
388
273
310
342
270
318
264
257
365
299
235
243
281
287
354
303
345
368
307
318
343
341
355
322
294
328
343
386
299
361
257
298
369
320
358
244
334
341
302
271
351
300
295
299
325
340
357
323
340
374
397
333
371
309
316
341
348
317
232
271
315
250
373
308
303
335
285
262
315
288
350
371
238
279
342
210
310
281
320
381
348
315
279
382
301
310
299
322
382
295
370
337
273
384
316
354
309
285
284
344
309
374
309
376
292
291
325
323
336
367
323
278
255
296
329
308
308
325
416
315
307
348
331
339
355
398
333
336
414
253
344
304
270
275
329
281
305
293
349
301
278
398
328
378
348
339
304
309
299
330
330
302
333
332
269
310
397
327
384
352
288
287
356
329
314
212
331
301
304
290
346
363
246
275
340
317
267
307
321
305
333
376
266
295
340
243
291
324
300
372
250
313
339
317
389
346
304
295
319
326
268
280
291
365
328
299
309
352
318
317
238
282
303
335
302
367
351
336
411
277
323
308
362
328
362
293
331
330
349
365
320
280
296
326
361
240
301
316
367
355
335
236
356
298
319
277
311
349
315
307
374
353
367
361
323
326
294
396
369
232
353
372
262
322
338
361
358
215
318
289
322
310
292
306
319
430
208
297
321
286
246
240
347
301
372
321
299
360
332
374
345
267
265
331
361
241
249
257
382
372
274
392
323
264
297
307
308
295
432
276
241
327
370
346
322
286
313
388
323
426
234
338
334
347
352
399
400
360
289
312
313
246
396
292
380
296
262
306
312
290
296
330
298
212
298
265
336
353
275
311
295
313
352
268
250
292
273
309
321
300
359
333
257
271
302
294
322
268
394
335
325
300
340
353
296
392
276
307
359
270
362
278
245
341
318
338
331
296
297
277
397
342
344
382
359
335
346
325
372
309
394
260
319
297
252
333
302
343
356
330
306
315
332
295
326
304
338
311
351
365
227
341
221
281
319
300
348
243
284
270
414
283
212
252
308
332
298
271
321
228
379
413
304
269
357
374
301
314
295
295
311
330
322
344
302
314
313
331
324
337
298
355
323
342
366
332
360
273
374
283
276
288
370
291
362
320
235
351
338
331
388
380
305
283
328
297
299
366
367
254
323
366
285
322
251
380
353
253
314
326
275
352
324
281
347
350
329
344
325
259
385
344
307
330
320
273
379
399
288
323
369
386
225
298
376
361
337
247
350
289
319
327
316
277
384
316
290
319
239
324
409
302
308
294
370
360
330
323
309
332
261
253
258
348
321
388
344
378
248
373
318
344
360
429
303
317
304
282
300
312
328
340
257
358
410
267
346
336
309
375
310
265
303
257
397
274
361
226
351
334
297
225
312
328
371
370
177
302
318
204
364
296
390
352
301
339
260
316
388
337
329
337
380
326
282
338
266
312
275
285
340
295
349
353
401
356
207
283
365
243
297
386
299
336
258
322
365
249
348
328
360
331
371
325
314
402
316
312
301
343
288
248
298
253
356
319
309
304
360
333
383
263
324
339
323
347
270
313
285
239
363
279
310
328
291
287
358
344
315
273
319
322
318
270
310
347
348
294
328
370
301
195
323
361
327
348
308
317
292
336
231
405
314
314
310
383
331
390
318
339
330
297
301
342
332
304
272
315
358
284
309
366
283
296
282
402
296
322
293
369
329
248
209
317
358
329
273
339
352
230
266
332
387
269
319
409
290
266
241
404
258
341
331
355
305
306
341
340
359
289
332
364
319
385
301
279
308
305
340
301
352
250
238
349
284
247
318
292
259
309
365
307
338
315
314
323
363
364
348
288
261
372
289
326
457
270
358
371
261
310
382
216
341
286
304
300
293
272
276
263
316
294
328
250
345
330
325
367
276
286
306
314
371
335
305
313
273
335
361
359
267
297
376
304
235
388
339
391
316
363
363
270
319
326
299
360
423
355
324
309
389
313
241
292
348
300
224
355
288
293
406
327
390
385
396
339
339
393
274
326
300
358
303
363
315
334
292
290
288
365
360
351
332
302
302
322
337
398
300
351
348
307
285
286
336
332
338
311
295
350
374
328
314
265
383
314
248
327
345
281
243
360
306
342
344
270
235
280
333
315
317
221
342
400
258
327
409
303
342
348
370
321
269
259
303
331
358
306
278
387
416
330
349
289
340
343
347
262
265
365
375
181
326
352
319
277
307
280
335
226
372
333
350
347
323
361
322
273
350
325
357
298
295
405
321
272
334
326
337
334
306
360
265
308
343
357
281
299
367
311
285
386
325
262
238
211
407
362
288
365
358
390
351
327
371
329
289
428
314
313
357
343
356
291
362
251
265
291
263
328
199
294
318
263
314
186
305
259
373
294
321
358
364
359
336
311
311
341
322
325
420
235
236
275
299
266
293
311
338
290
369
317
266
326
333
259
355
269
288
349
263
367
360
266
349
280
302
314
368
325
267
344
371
342
334
286
322
243
362
321
312
326
318
259
241
347
320
314
320
274
385
226
385
310
353
374
286
279
337
311
347
292
355
334
289
304
183
299
393
364
366
319
277
298
313
335
314
284
251
362
402
313
351
319
305
328
325
271
346
298
376
397
320
292
339
316
349
341
161
308
313
277
216
309
307
354
323
217
382
297
275
308
295
320
345
296
303
279
340
342
252
300
317
306
295
333
357
234
241
337
302
368
377
335
374
327
379
282
323
266
300
301
284
344
310
300
288
212
304
425
376
291
271
358
324
335
292
371
295
318
324
310
356
282
294
412
307
308
337
319
346
337
301
280
308
385
373
300
335
408
241
378
356
310
326
336
261
258
395
301
338
333
374
214
347
327
340
306
369
365
300
360
333
284
334
301
314
354
259
348
355
360
323
332
343
265
325
334
335
312
268
283
299
313
268
398
409
317
323
281
196
374
302
331
350
352
379
412
273
331
277
338
268
339
288
341
348
218
299
345
271
253
318
335
269
274
350
411
323
369
358
288
263
287
268
272
338
315
344
275
357
318
352
394
331
393
319
288
305
376
345
262
348
326
289
337
298
383
358
369
196
328
377
373
305
344
327
317
323
382
261
314
330
338
343
311
278
277
356
296
309
247
282
315
316
415
335
263
305
363
390
405
243
329
310
343
306
388
193
245
348
187
276
368
312
337
369
378
249
327
296
322
338
424
284
393
270
343
306
369
334
362
278
348
312
260
319
298
375
341
376
284
338
356
333
335
325
350
284
320
354
274
281
325
342
341
364
283
275
376
401
343
376
330
289
282
337
335
316
359
340
259
325
291
305
318
297
347
403
284
324
285
297
292
324
379
362
345
273
360
321
359
373
231
364
378
324
304
270
277
387
323
301
302
322
315
300
324
260
369
287
331
303
231
325
317
319
281
263
385
319
270
354
360
337
280
253
339
295
321
320
262
352
358
352
273
357
286
317
284
284
265
263
345
288
345
268
306
324
323
363
290
280
292
393
294
360
415
306
315
410
344
278
297
299
290
245
273
311
290
325
263
264
312
300
299
319
343
303
374
346
384
315
193
270
341
293
381
405
384
290
324
367
315
276
379
213
268
387
319
309
314
361
316
320
330
354
295
218
371
242
313
350
289
292
332
251
333
354
329
385
352
285
251
296
289
338
290
226
363
345
370
358
298
353
251
300
333
356
241
288
286
350
295
302
383
264
261
341
308
364
282
336
289
280
311
324
284
256
331
319
269
326
425
339
329
333
331
280
286
328
359
309
348
239
308
304
246
261
343
362
247
326
336
300
357
336
345
333
297
361
305
352
266
352
387
295
332
341
384
319
304
339
321
324
284
306
307
263
347
347
250
391
294
391
318
274
325
326
255
316
224
356
324
294
302
266
327
328
393
342
337
267
212
347
357
368
326
304
295
339
343
302
400
355
309
261
309
353
308
295
347
315
382
346
336
282
351
342
406
297
349
277
265
291
297
313
374
307
301
328
259
364
347
332
365
312
420
347
319
311
375
310
379
369
337
277
439
366
338
351
260
301
260
316
336
307
351
223
311
294
403
266
328
234
282
307
286
413
348
354
315
239
272
329
327
296
296
349
363
291
309
338
329
308
311
383
325
307
369
358
286
306
308
341
273
314
358
360
231
314
369
372
308
398
358
286
337
272
355
437
287
312
334
252
307
334
316
274
306
304
328
303
328
295
342
343
283
301
247
383
264
377
350
350
301
337
313
304
379
372
309
306
307
279
299
264
368
337
384
302
294
282
275
298
281
239
321
320
325
269
325
398
287
306
401
371
344
269
267
288
394
416
290
278
336
328
310
289
347
362
357
320
377
335
388
327
376
401
299
291
372
338
289
311
355
350
366
305
363
337
289
224
343
319
244
295
327
203
335
329
336
251
234
308
275
328
296
340
326
378
309
353
264
297
352
296
331
346
268
303
358
265
296
285
323
318
330
327
321
315
327
335
278
297
295
279
279
321
327
400
290
389
251
306
357
379
372
330
366
388
285
307
402
293
223
324
250
372
369
291
329
289
344
367
270
346
279
258
307
309
333
269
360
247
285
306
272
310
332
325
368
289
347
346
330
303
323
362
385
251
387
294
300
270
372
256
360
398
407
342
345
402
302
288
216
327
348
310
287
370
384
293
322
290
286
283
279
320
353
383
307
273
292
311
296
296
272
365
271
327
331
310
349
286
340
292
284
301
351
330
280
322
304
339
349
355
356
346
326
231
257
255
323
351
298
235
284
381
300
244
300
388
324
267
251
295
300
342
410
336
277
293
338
337
378
324
358
318
275
281
309
353
398
300
272
365
409
331
398
335
383
332
362
389
343
360
346
379
287
292
237
425
301
317
368
433
333
362
353
314
315
348
344
351
242
319
401
332
360
347
303
290
318
357
371
337
451
362
327
347
352
355
340
274
288
281
323
311
262
323
408
256
255
287
311
315
336
275
376
336
346
319
270
301
295
263
358
270
384
317
375
335
343
215
311
295
325
354
308
320
374
357
314
410
265
307
366
366
326
385
295
319
254
331
335
323
366
382
336
413
315
267
328
293
374
383
276
313
222
292
238
318
280
331
278
243
281
348
252
317
289
348
346
330
317
307
253
296
322
320
227
291
312
294
289
400
303
323
207
302
270
212
292
306
338
326
307
369
276
344
298
334
322
362
263
301
275
355
298
280
328
324
321
386
359
203
301
331
229
293
293
247
406
349
379
326
328
270
244
375
283
295
319
268
305
294
257
245
302
324
347
334
308
374
321
309
306
348
322
316
353
330
332
295
262
391
373
338
384
330
336
336
316
315
394
327
318
228
221
217
339
322
307
320
362
323
308
321
343
308
366
370
362
354
372
285
354
338
363
313
392
346
312
367
330
292
275
322
363
276
307
311
367
295
421
311
262
298
302
215
380
341
334
340
317
341
343
306
306
373
334
265
345
420
357
305
322
316
337
354
308
283
289
276
364
315
333
247
319
375
280
303
301
349
365
352
324
319
243
332
259
353
283
344
231
330
299
302
363
354
263
328
237
274
350
321
258
335
348
238
366
325
308
281
251
376
386
256
333
343
216
299
342
354
400
307
346
265
310
311
375
368
272
331
293
384
352
405
343
381
252
361
304
371
274
393
300
320
269
320
299
253
294
342
321
281
291
316
287
354
271
262
358
342
320
321
246
293
364
399
278
318
394
362
239
266
343
349
364
271
314
237
309
332
252
280
262
320
275
338
308
368
323
279
273
321
287
340
263
322
420
393
255
299
299
318
351
306
270
278
364
332
310
336
278
346
243
378
334
276
330
302
249
331
307
252
316
349
293
284
320
354
359
352
343
328
312
319
304
358
247
337
265
274
266
303
302
270
332
300
302
296
288
345
244
343
329
293
317
385
364
285
367
352
332
275
347
392
384
257
298
359
267
276
227
327
278
321
311
279
273
258
313
269
323
291
260
330
405
362
235
347
281
377
329
261
265
340
282
327
254
346
257
350
361
289
235
260
270
334
326
275
325
336
376
298
316
319
287
329
335
297
375
362
327
234
362
304
255
242
269
274
283
320
315
312
328
358
292
344
292
384
306
343
343
368
262
236
354
310
347
245
364
352
406
289
288
292
234
306
363
334
318
263
265
258
326
318
329
333
341
321
253
403
389
251
341
372
309
347
329
345
279
384
384
328
319
389
275
321
351
349
309
344
343
339
341
251
323
293
293
347
314
312
379
336
256
261
381
333
358
278
370
312
348
322
242
265
370
349
323
331
305
293
350
321
269
349
398
315
309
309
380
215
347
354
315
359
308
317
323
422
333
344
285
324
233
293
391
306
358
322
281
356
278
185
320
267
337
251
278
339
310
253
292
402
332
294
339
336
350
232
294
344
266
294
349
267
279
368
260
271
259
298
261
399
308
354
190
321
293
343
291
270
389
298
330
294
321
384
359
321
344
361
329
356
346
360
359
358
364
288
292
325
340
356
306
342
342
349
306
302
372
293
305
309
265
351
312
193
321
293
323
327
276
320
356
340
341
303
336
292
291
284
254
376
337
351
358
229
343
403
380
312
317
328
332
240
381
374
297
278
227
277
439
366
356
237
408
312
135
230
322
350
280
321
250
404
299
400
284
365
292
265
333
324
375
270
318
348
323
291
377
323
292
341
222
272
399
275
323
336
361
363
369
301
362
274
411
274
300
347
354
298
371
370
346
337
187
342
227
332
316
285
232
293
278
286
323
247
348
264
385
279
372
280
243
319
388
321
220
325
301
334
273
310
279
248
375
297
249
284
289
350
288
278
369
303
259
304
282
316
293
369
336
345
349
307
373
258
349
296
339
379
337
223
309
321
332
376
349
378
260
296
280
409
354
342
322
305
309
281
374
364
350
314
297
284
366
303
219
303
289
188
277
262
320
212
326
308
373
311
336
241
329
314
338
374
280
340
327
312
324
346
307
374
333
270
330
284
286
349
366
295
274
305
264
334
359
309
260
348
386
310
330
356
312
361
324
337
280
314
281
349
381
311
342
320
341
364
368
304
227
318
330
301
327
373
312
359
323
368
321
317
371
242
364
252
374
360
333
342
348
274
296
275
266
336
342
343
203
248
354
331
296
387
325
407
301
243
307
323
297
303
280
344
338
282
336
269
331
289
308
292
305
272
231
375
346
307
357
291
252
307
324
303
355
281
302
294
223
323
373
278
298
388
345
333
354
296
331
264
346
301
295
325
342
341
291
314
291
333
217
380
359
282
292
308
369
330
354
329
318
348
256
316
353
307
383
366
346
305
318
294
337
279
227
338
321
344
325
295
336
284
332
282
262
376
311
362
356
368
320
282
341
352
333
299
288
303
292
347
290
324
349
359
381
256
340
318
377
269
287
340
292
311
357
282
348
239
375
282
256
300
281
314
343
365
298
385
377
322
339
224
358
399
306
368
311
402
253
370
155
449
318
410
265
330
282
320
214
346
246
380
310
326
333
314
357
323
364
248
344
344
378
317
365
275
334
343
335
309
334
313
305
394
273
296
268
335
267
305
316
350
362
393
276
337
315
309
341
370
338
325
393
341
256
289
235
398
353
253
286
369
282
269
269
318
364
235
391
280
263
298
344
349
348
287
248
254
347
264
365
229
300
310
303
248
375
411
384
304
282
308
342
319
356
337
315
278
354
362
275
294
265
387
370
317
377
311
276
352
324
299
293
290
281
342
298
298
363
357
253
348
341
234
309
316
371
263
334
411
328
387
332
315
369
360
264
222
348
395
408
348
319
346
266
309
285
366
411
337
378
284
306
300
308
323
252
388
331
312
235
353
380
350
415
312
388
363
324
457
340
341
316
406
385
247
332
270
358
306
279
258
331
323
312
265
330
331
357
349
358
321
341
364
301
322
365
394
272
339
280
298
234
383
351
304
362
312
206
293
359
321
257
292
382
307
396
322
328
321
374
320
247
315
331
309
385
343
241
323
326
345
349
316
347
254
334
275
350
234
326
325
269
408
333
319
241
275
294
376
266
263
318
312
258
267
282
310
404
345
273
257
250
297
359
311
371
323
339
327
295
348
367
308
321
341
433
305
260
325
304
420
365
330
307
355
292
212
246
300
311
310
274
376
343
302
290
302
327
328
219
383
320
294
266
395
394
311
396
384
319
277
393
375
356
321
365
269
259
254
324
360
348
284
240
282
334
327
375
280
279
365
337
362
252
333
281
332
307
219
294
308
246
285
280
291
424
324
324
350
316
380
314
318
346
406
346
328
330
290
367
357
318
280
288
307
344
358
327
362
330
295
353
334
355
389
367
285
289
263
330
247
352
295
356
372
324
269
313
312
370
275
298
291
295
306
301
342
368
255
291
320
321
337
278
334
365
300
254
367
381
304
353
338
275
316
327
309
324
318
354
323
322
357
328
361
388
344
329
347
302
324
311
244
354
273
303
292
381
442
280
242
386
300
262
240
246
248
344
335
242
255
310
306
273
348
278
282
330
307
388
426
330
276
354
293
364
312
354
388
318
379
260
310
362
363
261
229
329
404
254
320
292
402
285
269
313
316
260
407
249
331
368
265
338
379
343
325
301
361
326
341
288
324
344
381
327
322
314
313
234
377
349
332
319
222
218
325
297
324
337
367
343
321
346
296
356
218
351
328
372
273
258
330
285
348
423
285
237
281
310
295
251
293
302
336
326
328
370
293
353
328
298
301
401
292
286
251
280
363
276
383
267
232
327
271
315
260
350
221
301
412
429
318
340
284
311
300
337
327
356
293
285
263
286
290
231
340
364
307
371
301
328
317
346
359
294
254
377
304
335
398
318
256
307
235
338
308
294
352
250
269
360
370
278
337
349
291
329
368
289
266
363
302
291
352
303
313
263
360
307
381
313
265
310
336
358
274
375
388
349
351
321
362
303
379
299
299
345
278
286
398
320
252
332
286
372
278
272
375
277
294
308
364
260
336
386
283
330
285
298
335
301
319
266
331
299
347
285
328
298
355
292
366
284
306
312
365
293
362
286
354
323
354
386
383
274
312
293
358
390
326
315
336
267
282
255
361
353
346
325
244
309
345
290
296
341
360
381
284
370
341
315
339
391
298
378
310
274
310
323
311
221
312
373
238
340
283
408
384
231
319
237
342
285
406
232
302
353
350
291
362
234
227
334
356
292
307
226
353
263
349
386
394
300
292
343
391
373
310
313
294
340
320
314
312
317
327
338
270
244
280
300
336
301
295
337
234
381
370
291
290
318
332
344
265
279
389
352
398
352
359
303
293
388
328
372
282
315
236
284
267
296
304
345
289
374
253
325
294
279
325
377
338
259
332
252
321
342
385
334
294
412
329
355
364
362
302
425
265
357
273
379
240
245
316
337
328
340
287
339
290
279
372
329
336
370
350
241
276
352
331
366
319
307
335
312
375
312
285
300
314
332
309
320
337
275
355
296
301
332
373
368
353
304
347
355
294
266
223
274
316
330
390
328
304
320
330
328
338
358
307
371
259
406
281
222
328
310
331
334
349
318
295
361
354
262
277
323
318
360
339
349
335
354
301
314
352
320
380
353
308
242
355
278
268
249
292
281
356
311
289
358
338
265
409
256
407
387
291
408
411
329
398
302
241
376
417
317
313
276
314
328
320
327
345
276
321
288
330
349
345
334
279
295
364
349
301
341
314
387
360
292
353
329
303
355
348
298
306
252
270
306
404
272
255
304
361
335
313
336
308
381
276
307
362
342
262
272
300
293
389
358
250
285
362
365
309
348
305
283
300
359
291
317
347
388
323
291
314
328
240
322
275
334
343
297
331
326
374
215
313
249
370
269
331
357
306
376
321
351
374
304
364
371
264
315
293
356
323
391
258
315
337
277
304
303
335
395
328
322
359
294
307
348
357
279
359
311
305
329
256
299
313
273
369
315
284
373
295
372
308
361
305
369
239
360
303
290
294
261
339
299
305
375
321
358
389
290
315
288
256
314
305
313
325
286
371
335
358
404
426
355
342
340
315
311
323
317
302
287
288
305
312
305
243
346
391
374
406
339
305
347
312
333
292
267
377
311
283
282
314
244
334
199
259
367
262
313
254
317
363
303
243
338
253
323
350
383
291
299
349
280
290
386
365
267
342
337
363
354
293
281
219
374
293
321
360
317
316
282
323
307
287
299
333
305
320
262
316
284
323
393
345
319
425
323
277
279
349
340
275
372
340
314
339
303
330
334
302
339
230
216
254
316
333
304
364
272
265
355
358
347
268
311
296
296
277
347
267
286
327
241
324
272
305
285
356
346
309
293
313
325
292
380
240
327
309
305
427
335
326
320
285
394
309
332
314
421
366
256
349
325
305
298
312
366
309
242
286
363
313
345
313
323
287
401
360
291
366
352
295
306
339
410
312
222
291
378
315
218
340
348
355
243
290
334
311
296
321
315
369
290
336
348
346
295
376
305
386
270
354
314
325
323
230
273
238
303
299
382
406
293
415
304
312
323
332
268
361
389
386
342
320
238
349
367
266
260
273
316
305
327
316
397
280
373
306
306
339
264
361
280
294
262
288
341
377
275
340
403
268
345
323
317
271
331
266
300
322
279
268
283
326
307
332
352
335
293
230
380
276
266
299
299
230
228
339
356
330
285
320
266
280
344
311
292
303
356
309
290
302
358
334
273
290
312
353
257
351
316
280
327
297
303
327
353
318
308
378
277
299
291
400
308
324
365
313
281
353
300
251
326
390
293
238
236
278
346
399
345
315
338
276
299
363
297
352
282
286
292
377
369
355
378
215
360
307
362
306
312
331
322
310
371
303
296
295
292
254
318
368
354
328
323
347
305
281
267
273
304
290
279
325
275
365
316
286
309
296
317
303
375
396
250
298
278
293
264
405
255
331
332
344
390
292
290
320
267
353
325
338
369
283
319
356
318
376
273
331
281
262
378
285
327
305
394
291
262
275
338
346
279
282
395
291
237
362
239
292
332
297
346
339
286
284
299
341
277
291
307
338
338
308
337
349
367
258
276
266
339
370
378
319
366
363
327
278
258
299
260
261
314
310
360
293
310
407
338
369
297
300
283
328
321
306
344
279
262
360
294
309
304
273
275
343
342
267
396
346
323
266
367
319
247
327
338
288
332
359
290
261
281
278
404
285
300
323
331
322
296
287
314
279
291
385
307
242
339
344
318
354
304
272
345
292
363
319
352
303
294
280
313
388
286
345
371
299
367
301
423
329
280
304
290
298
248
312
281
282
324
352
332
282
317
375
319
357
326
249
360
250
317
316
318
297
266
359
273
281
288
351
278
297
274
262
288
326
338
246
368
332
261
315
281
321
426
359
362
342
293
294
327
292
390
324
313
344
388
393
255
363
258
310
345
311
298
296
331
317
341
355
322
338
299
277
259
259
344
383
347
344
361
265
333
376
300
238
312
278
303
202
361
342
333
321
363
293
334
296
310
377
380
326
302
355
317
374
413
325
304
312
286
268
321
382
322
345
245
352
383
383
307
323
382
299
278
294
252
326
368
296
295
339
305
231
330
321
205
314
257
344
345
389
387
417
249
261
245
302
379
349
316
325
275
403
341
320
246
250
402
263
314
268
258
378
330
307
375
304
327
373
344
386
306
254
353
228
345
370
343
314
360
273
296
431
300
249
411
304
222
232
326
326
312
324
289
322
365
280
359
401
257
317
374
232
317
373
295
371
298
291
293
260
347
364
327
353
265
305
337
215
273
316
405
245
362
273
383
276
340
270
382
318
286
333
328
380
234
348
319
293
328
239
303
290
399
295
359
325
217
347
312
395
326
215
341
307
329
327
407
282
314
406
337
351
245
310
322
332
336
346
302
342
337
314
259
173
320
403
431
297
316
278
274
334
291
318
300
289
224
367
335
313
412
364
226
368
337
280
409
351
332
313
258
340
325
333
341
404
394
382
299
343
288
349
273
293
403
315
273
228
362
275
276
324
238
424
328
311
362
385
335
337
283
296
299
298
310
323
270
351
319
334
235
351
349
281
339
362
236
258
246
320
326
381
298
284
303
372
205
327
367
307
341
396
289
318
254
395
247
422
306
316
275
372
376
291
338
425
340
376
346
294
326
354
325
330
224
274
229
335
325
343
204
299
294
315
329
225
289
245
317
364
294
280
379
324
270
331
361
273
292
349
354
375
317
347
293
262
330
313
330
376
277
263
340
327
301
395
325
243
288
339
353
269
313
315
378
265
302
293
288
348
301
272
317
319
324
346
293
313
288
384
328
406
336
307
334
186
371
338
344
390
377
396
332
328
374
310
346
218
338
340
405
314
290
324
245
310
319
360
358
322
335
258
300
345
298
359
326
294
355
352
315
274
341
272
308
373
187
326
256
340
335
276
360
357
235
354
314
349
363
323
300
344
307
273
293
324
294
398
351
308
327
345
324
304
349
351
357
338
344
392
396
354
317
342
372
311
362
292
321
376
290
334
248
340
360
350
294
268
322
339
368
376
307
295
322
339
335
260
372
317
305
327
346
288
300
359
360
296
344
384
318
284
309
348
309
327
286
386
298
293
282
303
330
339
385
324
364
356
247
262
317
304
306
342
293
316
417
340
272
313
372
284
302
276
321
301
304
328
349
313
310
242
386
271
316
407
372
297
291
312
374
342
284
358
361
337
392
241
324
309
216
284
360
294
365
327
342
255
266
404
346
333
293
305
375
329
441
324
302
328
370
384
222
255
313
349
316
357
329
249
292
335
311
250
312
336
331
325
309
381
311
224
278
259
263
308
298
327
309
327
284
355
323
320
300
312
303
377
372
245
299
275
342
312
338
316
347
293
234
289
357
276
312
290
383
279
334
331
281
293
341
348
336
329
336
288
395
356
327
320
236
371
266
348
314
275
371
362
324
340
367
315
380
394
336
366
234
258
354
301
269
301
247
311
327
321
313
301
361
296
306
374
255
328
368
345
333
313
311
380
374
320
219
292
306
293
380
351
265
317
327
412
279
338
355
345
365
348
234
337
281
359
315
215
382
262
324
316
344
324
329
301
293
333
373
230
309
344
292
264
369
342
310
357
232
386
221
299
278
336
281
288
255
329
387
311
274
358
383
283
368
242
343
344
246
288
409
363
323
289
363
379
311
338
331
387
347
326
323
343
399
371
412
288
275
365
285
397
335
324
345
226
359
188
315
342
274
253
341
251
352
259
290
289
220
353
314
289
278
302
362
346
392
310
335
305
325
313
263
274
387
299
283
311
364
347
257
291
257
338
276
406
353
350
348
264
232
296
350
378
315
326
356
348
284
295
325
382
313
225
397
372
277
238
376
362
304
337
346
295
340
371
314
365
325
311
319
330
328
298
317
287
321
279
376
307
335
303
338
329
354
342
348
234
307
258
335
241
312
293
319
334
255
311
332
365
290
307
245
244
300
362
331
331
208
409
360
260
356
372
320
266
267
310
311
363
298
382
224
267
334
311
356
336
318
229
317
329
329
343
303
318
242
327
318
356
306
309
343
401
262
256
327
322
321
247
283
415
238
375
317
350
283
314
356
346
287
412
328
306
383
291
309
349
310
338
352
370
312
331
317
321
259
276
298
388
303
342
271
251
314
285
322
358
357
239
295
249
275
357
328
387
294
251
309
342
335
282
317
340
365
311
251
365
301
339
284
296
292
320
309
281
335
314
291
241
295
330
413
301
230
319
357
329
338
286
288
305
258
367
277
346
297
339
338
323
249
298
341
294
309
262
315
299
426
299
323
248
292
363
320
293
299
326
360
299
311
238
338
335
358
371
327
262
363
284
352
297
328
307
291
298
287
291
388
284
367
281
247
304
256
224
342
384
181
311
272
397
317
346
320
294
331
334
411
340
272
398
327
293
301
326
336
333
260
323
316
231
401
355
375
312
403
241
245
378
384
310
364
198
237
294
287
350
238
299
304
288
309
432
399
313
273
386
357
311
309
394
345
346
321
309
374
343
311
272
308
349
351
342
370
358
375
283
371
343
242
283
348
256
299
336
313
337
386
376
286
324
280
341
291
330
332
351
304
290
343
339
289
386
346
327
374
244
301
342
259
279
346
258
390
333
326
322
320
329
364
286
352
306
401
305
317
314
280
334
259
309
343
313
320
245
370
302
320
322
242
272
350
319
373
373
328
355
280
373
309
392
335
290
400
387
367
228
376
354
340
320
369
269
376
365
436
399
348
279
342
335
289
345
346
313
303
323
372
346
270
201
291
378
349
348
298
331
367
318
285
378
298
376
226
343
289
280
406
230
334
336
387
283
334
290
286
311
379
256
268
381
395
417
374
287
314
302
250
207
284
299
300
307
257
397
354
291
339
310
290
318
359
292
286
296
347
301
346
301
331
232
313
231
307
363
327
314
321
261
312
323
311
362
371
362
315
227
365
325
227
307
300
359
330
399
314
373
314
314
371
310
317
323
352
237
282
276
379
321
251
308
237
338
357
301
350
405
300
298
380
311
304
306
372
267
346
365
259
344
323
303
392
289
373
303
303
372
281
336
314
350
341
284
361
370
343
301
333
332
215
279
331
267
339
261
282
327
280
265
359
371
325
385
311
336
289
329
265
249
297
288
332
289
366
272
360
333
328
324
337
351
326
306
294
288
340
214
262
347
293
365
344
334
291
286
301
287
356
343
400
262
361
236
298
313
369
329
354
322
321
277
390
353
314
341
403
317
315
245
312
286
287
230
312
334
376
398
286
301
353
343
311
307
369
353
286
255
267
256
338
328
315
306
351
348
279
315
270
405
285
297
307
330
385
369
265
318
243
368
297
288
351
312
314
343
299
338
312
302
264
319
375
342
323
379
211
385
418
301
337
329
343
352
371
274
352
251
365
429
352
379
237
281
343
276
340
315
351
428
280
266
329
382
321
364
245
291
303
285
261
305
308
301
270
326
248
286
341
335
241
331
332
330
309
381
341
318
344
418
289
419
332
364
368
376
287
303
317
325
309
314
330
262
289
327
222
255
401
245
289
295
374
296
342
357
364
263
231
357
272
235
395
386
308
258
335
294
355
298
237
261
253
311
251
365
359
220
390
315
337
422
395
222
292
307
291
340
379
324
299
298
317
373
387
253
359
323
278
386
335
285
344
361
347
389
295
300
308
345
293
375
387
360
275
268
350
299
233
298
278
295
287
299
233
352
320
382
303
365
282
320
239
360
307
258
243
321
346
255
298
290
340
412
351
328
269
310
262
294
326
336
337
380
408
249
254
309
253
360
424
221
386
323
260
275
328
255
336
324
327
391
336
278
270
318
272
307
324
266
310
345
368
314
315
327
306
275
314
334
354
248
315
365
352
240
297
333
317
323
312
401
256
295
360
328
440
347
294
277
352
359
311
224
299
342
342
313
239
330
328
337
377
328
316
303
299
296
333
338
277
292
373
278
336
241
246
283
303
299
334
320
364
295
350
267
309
270
347
246
361
270
345
382
373
318
305
245
335
306
327
295
379
296
369
328
293
357
282
356
342
284
308
385
349
345
344
208
286
313
316
408
364
365
312
264
306
283
293
304
371
277
307
319
275
303
338
271
290
306
276
311
338
217
347
226
210
339
355
317
395
220
312
241
264
369
241
330
272
326
220
332
295
366
224
299
323
240
344
326
375
302
376
271
314
333
335
357
270
338
317
323
366
323
250
251
264
279
309
282
337
310
285
340
282
315
277
346
302
285
202
402
345
300
313
349
298
348
371
354
235
221
370
352
267
363
265
374
280
326
271
294
353
399
242
368
299
288
235
381
307
271
304
297
389
345
358
334
370
318
262
331
381
299
313
302
339
345
308
294
338
403
316
327
308
316
348
315
365
348
310
279
318
223
348
383
357
277
396
357
312
289
322
327
337
281
304
295
306
326
270
273
342
339
347
249
389
381
247
303
350
334
363
368
351
385
311
394
419
275
252
271
251
333
341
226
329
275
369
281
356
306
271
289
330
256
289
301
284
398
366
313
302
242
359
337
298
353
332
327
273
349
339
316
336
267
296
315
336
326
340
313
302
330
324
375
263
341
284
293
309
355
265
346
273
383
297
310
375
333
297
331
353
406
273
338
301
297
313
335
264
302
327
314
338
369
311
238
315
322
335
365
314
320
230
285
377
334
336
297
290
282
338
344
255
387
344
291
289
329
355
267
302
318
303
355
252
303
345
254
200
337
317
268
257
330
377
312
359
234
314
298
342
400
381
272
330
277
399
350
340
284
355
361
331
254
294
252
424
318
331
287
350
370
357
314
291
372
349
388
238
371
369
293
379
313
364
306
278
298
375
309
297
280
290
320
298
287
330
317
411
331
307
246
314
317
260
385
290
263
281
380
370
298
348
330
394
263
363
282
351
299
323
287
290
380
401
284
272
292
326
254
409
380
298
385
358
328
270
304
301
309
331
409
286
305
288
251
421
345
298
342
308
263
310
304
269
341
322
277
270
366
337
343
375
332
319
325
353
326
284
284
290
401
289
313
351
259
203
314
285
321
399
389
270
313
323
352
216
310
349
378
317
365
328
332
365
299
379
296
355
311
335
326
226
280
327
299
300
312
269
290
259
302
384
292
299
249
313
380
303
293
333
309
347
330
312
325
393
273
279
293
304
345
324
362
337
358
223
286
278
209
328
274
386
299
345
315
322
262
298
278
273
283
311
273
351
280
368
334
344
368
333
277
275
262
254
300
268
342
257
375
325
291
287
293
342
311
287
311
304
342
334
385
346
300
237
389
188
297
367
404
320
310
298
280
305
360
311
352
347
319
347
264
235
196
318
408
315
220
375
336
253
328
279
334
216
314
316
321
361
306
377
325
313
323
284
291
293
320
351
330
310
355
327
339
385
259
362
341
311
289
280
325
332
285
320
267
317
268
373
381
244
312
322
272
307
265
203
282
333
340
335
423
258
274
315
339
274
347
357
369
347
315
311
294
208
379
297
294
337
292
434
240
314
314
363
326
320
315
372
318
251
298
327
273
276
400
359
376
367
350
318
367
306
266
344
321
322
248
326
356
297
353
277
303
374
316
342
316
292
339
295
275
331
342
416
270
327
256
432
258
282
400
219
378
308
382
369
292
367
331
249
357
413
296
287
358
276
340
313
310
357
321
347
312
275
346
304
273
370
400
356
285
273
335
371
249
281
261
396
348
305
320
321
376
263
348
347
348
273
276
425
325
323
357
286
342
361
344
229
317
284
349
375
302
369
312
355
219
292
250
286
331
320
295
396
369
325
323
336
300
256
304
370
347
389
353
330
271
325
329
289
350
316
360
277
298
361
342
288
209
265
332
328
262
324
372
349
320
299
383
355
342
289
343
462
327
283
254
330
339
346
320
335
388
297
339
255
241
334
361
313
360
362
285
263
396
334
328
297
259
243
266
223
401
335
220
301
256
272
223
237
285
376
324
391
238
298
304
318
374
320
318
300
282
380
350
321
307
354
286
288
361
326
353
257
332
350
329
338
325
306
306
287
355
286
292
385
295
352
254
327
292
367
260
314
307
352
423
319
279
259
381
343
341
361
331
324
362
406
279
335
324
326
283
440
308
295
291
376
286
367
291
279
298
305
320
331
379
362
308
205
278
323
355
315
325
370
312
296
332
250
226
289
257
296
291
295
331
313
251
342
328
363
376
328
317
291
351
432
367
354
320
281
390
348
269
363
271
363
332
324
331
335
298
309
262
326
368
299
317
301
324
341
425
373
321
320
342
306
373
259
283
344
302
331
392
303
310
323
392
241
349
299
330
288
359
380
288
382
290
343
298
291
305
300
287
369
297
316
278
208
414
327
344
353
323
291
313
259
270
261
275
257
312
360
375
277
311
362
320
282
293
354
386
352
232
325
334
326
289
302
343
372
383
335
334
341
350
300
315
318
357
312
328
387
357
327
304
339
298
306
207
283
248
387
328
341
360
208
346
367
352
334
265
368
295
313
254
311
304
300
299
268
286
369
280
346
275
318
307
359
370
302
254
306
319
275
272
185
204
264
250
324
137
275
345
369
323
353
296
274
333
345
358
362
356
294
315
334
370
290
384
306
340
292
334
278
255
308
346
386
313
306
284
373
267
346
347
347
319
322
231
431
347
399
260
282
289
300
347
368
373
292
265
268
296
379
294
271
282
255
267
292
310
315
403
327
359
315
314
233
277
364
338
378
270
412
303
443
335
257
285
418
334
371
298
250
363
352
289
204
327
347
277
356
377
349
378
289
395
308
279
337
405
272
304
360
315
284
236
349
321
335
389
337
249
335
387
278
366
392
252
324
301
313
280
319
302
274
353
361
293
255
277
307
325
335
293
271
229
264
336
345
263
347
400
277
290
368
297
350
340
264
295
360
339
305
365
280
383
346
358
302
210
320
282
300
315
334
267
350
329
368
365
289
323
321
374
351
328
288
297
234
315
328
309
365
293
311
297
327
255
288
325
305
269
290
433
328
225
293
341
362
261
293
334
330
324
296
313
292
353
377
195
318
332
363
292
382
297
272
275
372
329
295
350
276
252
333
367
301
291
315
273
367
264
322
292
339
277
300
297
339
313
328
329
340
261
278
218
291
354
245
248
291
302
249
376
355
374
323
380
313
272
341
354
251
351
298
354
305
288
279
291
308
457
363
300
235
331
249
360
279
359
339
328
339
286
298
326
321
383
292
397
415
353
274
332
305
326
326
322
233
400
363
317
262
323
334
260
311
278
213
306
354
355
309
296
288
278
273
317
253
298
386
325
332
265
418
262
285
301
304
296
314
353
234
408
373
427
351
279
311
361
252
322
273
388
293
254
328
304
332
302
280
283
381
342
327
339
217
297
243
335
287
267
309
380
313
354
303
369
313
393
346
244
322
256
296
296
371
384
289
305
305
269
293
332
330
251
333
307
345
302
341
322
323
305
373
364
262
341
347
260
332
291
363
299
340
211
368
336
353
400
264
365
338
309
326
265
322
335
353
343
319
387
222
334
317
311
247
293
385
262
280
357
287
339
347
340
278
296
280
265
265
409
295
331
328
280
263
322
353
317
315
325
312
267
311
204
251
250
345
238
347
245
377
285
389
276
371
343
270
278
309
304
260
295
301
270
363
284
258
346
305
323
285
382
327
355
405
289
311
358
400
294
391
305
396
377
322
284
231
296
301
321
401
298
259
398
304
289
217
347
239
280
222
311
309
322
239
289
468
324
367
348
346
260
314
365
312
320
352
348
325
281
298
360
266
271
314
333
392
323
355
349
226
268
323
346
260
316
365
195
310
325
316
359
291
333
363
358
320
322
324
337
318
306
293
234
274
292
284
260
263
397
342
321
370
306
281
374
308
347
258
294
375
297
249
235
240
306
282
381
212
324
358
315
309
268
328
277
339
308
318
366
268
313
322
292
305
225
290
264
306
356
332
318
326
343
406
331
375
284
308
347
286
392
404
427
281
298
240
407
404
389
247
334
244
292
375
335
286
355
379
349
338
337
250
382
318
300
386
391
244
410
266
356
378
320
328
367
380
300
204
404
271
211
337
265
329
328
307
309
263
315
312
288
346
324
344
283
257
296
401
267
263
352
350
398
265
405
368
283
376
283
337
352
367
414
346
369
353
336
320
282
379
371
240
302
302
304
308
362
262
298
356
307
281
342
313
320
261
342
371
327
325
281
353
299
289
261
349
384
284
279
352
309
321
277
311
326
286
262
288
210
343
264
392
319
294
246
303
370
308
303
362
346
299
357
297
355
332
356
399
343
312
336
286
364
347
299
313
280
339
316
342
350
417
289
304
316
225
268
326
369
331
292
339
345
261
281
334
312
311
369
351
357
338
362
246
382
279
302
351
346
429
264
346
240
346
348
284
324
299
352
342
327
301
322
386
313
345
342
348
362
261
363
305
269
313
389
268
325
290
284
358
350
334
373
245
338
369
259
360
359
353
316
298
329
423
226
257
303
320
373
330
399
280
234
340
344
350
291
274
387
350
350
307
307
334
272
290
355
341
357
315
303
432
291
325
230
293
253
247
366
386
337
233
296
307
335
314
329
298
325
270
287
238
296
296
232
424
291
354
294
365
326
284
347
321
313
368
335
226
266
292
330
288
301
311
351
282
326
325
360
275
262
306
357
397
384
343
334
292
357
336
301
258
316
353
380
276
311
359
364
367
401
286
254
363
264
315
302
336
218
258
241
278
302
358
313
355
232
292
384
290
320
361
295
418
323
302
295
277
382
394
284
274
298
307
324
295
342
241
343
313
406
347
308
292
317
265
232
387
351
265
227
266
295
295
272
376
310
360
332
291
328
338
263
294
317
346
359
323
254
336
287
336
294
331
293
294
319
370
257
293
282
280
284
428
340
293
365
354
218
343
326
297
414
329
360
351
252
325
337
277
340
352
335
295
294
295
282
315
374
286
285
354
382
349
352
320
248
223
370
330
258
325
323
291
342
249
365
252
368
285
305
317
273
226
241
310
255
339
349
321
323
304
398
311
338
317
348
353
287
399
333
237
420
293
413
355
266
284
382
373
287
343
315
294
315
397
335
332
374
318
312
251
248
205
190
313
445
294
322
323
317
284
318
276
343
250
277
254
337
320
393
287
362
308
327
311
232
236
373
359
358
360
258
350
243
256
257
311
266
341
287
337
352
370
298
240
256
387
430
283
331
196
388
325
335
328
336
287
356
339
382
354
302
284
267
358
280
275
399
277
353
287
336
319
398
324
351
237
230
333
339
234
369
337
328
385
332
353
350
379
348
260
332
282
274
278
282
332
301
312
328
275
363
294
376
363
332
270
291
301
337
211
258
320
388
320
392
297
300
278
314
310
379
315
278
315
351
364
383
350
317
265
278
302
305
328
340
335
335
356
280
309
289
375
370
353
327
258
289
279
360
321
309
340
353
390
246
202
310
357
304
293
329
340
288
323
342
341
295
319
377
231
359
376
380
310
344
286
331
286
345
277
287
218
263
295
296
383
301
232
339
339
216
311
391
274
297
311
348
270
368
259
329
273
360
347
314
347
386
201
371
362
344
323
240
320
328
379
333
386
278
317
356
338
302
281
323
433
307
317
320
343
288
308
258
331
275
289
330
249
364
285
317
316
327
299
296
252
293
325
318
272
337
381
376
237
366
258
394
349
310
368
238
262
248
237
305
316
359
320
353
358
285
312
360
259
337
333
300
267
329
224
388
281
316
278
333
257
345
308
344
284
330
223
299
304
242
356
354
309
306
270
382
324
277
342
390
274
295
387
413
326
222
309
343
302
304
283
285
336
278
228
337
283
242
311
325
318
290
353
256
282
368
242
403
300
318
339
276
314
374
324
338
335
303
324
341
313
382
253
294
343
376
308
229
357
287
327
341
338
315
306
347
278
332
296
373
277
351
323
269
363
296
254
315
211
339
251
367
254
320
272
314
281
289
216
336
358
372
403
326
285
333
302
370
290
297
266
373
365
370
333
318
303
397
311
255
301
310
270
284
377
361
318
262
285
292
321
286
320
329
270
358
325
275
324
330
318
265
321
336
314
336
328
311
318
373
310
331
247
269
315
257
307
417
335
331
271
253
337
433
310
284
356
309
344
329
398
255
249
297
274
296
278
400
357
336
362
323
379
277
266
325
300
319
279
309
336
386
345
354
400
291
322
330
340
271
295
344
362
279
316
301
383
266
258
370
326
369
346
369
357
280
296
270
291
243
296
216
311
275
309
308
341
355
240
346
298
371
315
330
374
395
308
245
231
243
428
332
226
284
316
264
300
304
266
286
271
395
307
326
260
205
277
329
382
221
290
374
335
282
301
311
300
385
309
309
332
289
407
349
321
362
313
327
361
328
261
373
374
327
377
320
343
344
338
313
276
347
236
320
343
318
265
296
333
342
306
435
328
328
263
280
245
339
366
286
291
295
345
299
357
326
323
300
365
347
347
298
301
259
320
368
324
355
295
246
299
345
380
396
271
306
351
379
363
272
281
331
313
302
287
309
347
361
248
384
267
285
348
380
305
329
303
188
337
348
326
358
203
326
343
349
322
292
341
344
285
370
354
294
257
315
299
352
274
307
287
380
385
399
301
334
265
272
241
305
352
295
357
331
330
283
269
333
385
283
341
321
298
352
330
297
307
275
319
300
324
288
311
304
320
209
281
338
234
234
358
249
398
372
283
313
312
361
340
384
281
300
278
268
355
290
356
274
294
273
330
344
298
398
298
271
340
314
322
380
312
403
338
377
375
296
236
211
342
387
185
293
258
388
377
382
338
321
315
331
327
295
360
292
331
369
271
346
255
333
412
313
282
371
352
310
356
302
300
321
276
335
325
332
314
253
309
293
295
341
370
299
250
317
347
349
346
335
277
276
294
318
287
330
345
396
261
330
302
337
332
258
284
265
263
252
220
347
396
352
264
369
304
319
266
249
402
369
240
319
314
354
375
229
331
309
345
319
287
327
214
327
302
428
314
301
371
286
273
313
379
307
234
328
357
297
337
345
343
387
296
362
332
229
308
241
323
322
340
280
251
265
252
360
228
295
362
247
340
290
267
302
296
320
367
362
328
386
344
333
331
293
394
273
345
380
265
301
379
364
241
233
255
279
329
349
355
222
375
371
368
293
270
365
351
264
295
322
359
256
367
338
354
320
274
288
360
300
309
158
339
305
304
335
285
280
320
337
280
313
297
316
269
240
324
380
297
282
346
283
306
297
335
333
299
272
315
402
333
334
296
330
233
345
317
315
333
298
339
275
310
287
300
276
333
283
324
283
326
304
353
345
313
346
273
308
304
355
342
224
344
300
270
332
405
319
298
356
270
330
370
347
244
277
360
309
312
318
348
235
344
227
282
308
280
405
319
398
258
300
370
318
259
300
304
384
321
293
265
323
328
287
414
344
353
400
326
350
357
293
295
335
356
303
339
233
265
296
276
295
291
264
306
278
277
376
224
348
343
323
200
273
340
382
288
365
269
359
343
342
363
313
359
299
231
318
250
334
380
343
225
318
278
342
308
269
289
317
360
407
407
261
268
323
286
231
344
364
350
294
368
295
256
283
392
346
301
316
310
314
325
301
259
404
294
296
403
307
327
339
311
302
340
349
267
283
354
274
245
352
380
328
243
305
396
368
286
333
347
284
319
315
370
211
356
335
263
346
405
367
392
334
359
351
301
324
310
348
268
301
313
334
296
295
356
334
410
339
261
255
315
383
365
274
262
327
320
359
350
327
294
329
365
306
273
308
297
316
280
297
279
274
373
338
246
295
315
354
290
258
292
282
303
439
397
292
214
302
341
337
317
345
292
366
372
281
330
224
366
380
340
324
374
363
334
363
273
349
370
304
294
330
361
303
353
207
227
348
299
347
356
322
348
313
346
256
353
326
299
295
397
241
310
262
289
259
350
346
277
323
349
348
260
307
266
245
291
314
305
313
296
303
312
306
356
413
367
260
270
283
306
302
275
345
341
330
280
292
332
311
279
348
219
324
322
368
322
322
324
381
321
369
373
343
312
278
308
289
403
296
395
324
263
350
369
344
246
360
385
314
372
335
426
288
252
323
275
306
385
337
344
348
296
376
358
310
337
322
260
295
343
336
319
329
280
331
326
305
258
271
361
385
272
309
295
356
407
303
330
275
397
332
258
329
324
305
295
350
300
232
329
282
242
305
363
308
346
347
353
298
291
318
288
293
321
305
380
289
397
333
357
236
284
347
323
260
326
323
396
300
347
367
341
345
254
343
333
298
329
230
288
309
343
311
343
252
390
337
322
307
357
311
334
347
344
341
340
370
258
249
318
326
308
318
254
268
260
409
347
386
291
345
347
340
331
299
356
268
319
355
337
310
271
336
335
319
386
400
379
323
305
256
320
243
350
357
306
385
296
285
270
317
295
341
287
352
274
360
364
300
316
332
339
309
292
301
366
224
348
316
336
295
336
280
331
324
317
358
315
302
323
322
263
303
418
344
342
273
273
372
352
318
328
303
263
287
359
315
394
341
341
260
336
333
316
352
341
253
326
305
301
300
353
320
222
318
347
284
328
418
212
316
265
357
261
384
367
350
232
298
270
269
373
211
295
339
287
268
373
415
336
209
341
274
319
283
333
359
332
282
239
385
345
349
332
323
317
360
337
315
344
336
302
276
391
314
367
271
365
355
389
361
206
364
277
412
384
338
280
339
374
333
332
362
239
349
384
353
222
336
336
306
332
374
371
344
330
339
279
367
348
301
382
255
261
358
375
225
235
359
259
350
344
363
366
327
311
323
303
267
341
296
357
233
356
381
422
302
324
263
328
342
309
287
351
288
334
382
319
393
274
216
374
301
271
301
296
263
422
335
336
327
254
303
332
277
329
249
303
374
287
315
210
366
324
283
290
300
375
378
295
229
335
444
335
265
316
329
240
311
410
288
300
383
406
322
272
243
327
359
254
333
344
268
349
368
281
329
330
309
352
292
325
434
302
395
365
356
322
337
307
311
363
337
336
288
400
265
423
356
354
287
295
397
283
307
390
261
244
300
280
332
309
294
351
314
298
366
285
324
353
276
288
373
337
320
337
282
323
310
373
338
385
351
286
328
294
350
338
382
257
352
339
357
316
378
333
324
239
263
356
276
278
301
311
315
298
341
389
404
383
311
368
305
263
324
299
261
353
332
252
343
270
355
313
319
250
261
265
274
379
367
321
330
280
321
244
305
357
337
349
288
373
373
392
244
279
301
356
267
303
314
333
328
246
258
265
308
344
249
255
362
258
286
333
296
269
229
289
274
265
351
254
316
244
359
347
334
340
351
375
318
312
389
295
265
362
345
189
235
382
321
332
301
303
313
264
243
282
364
360
308
272
316
331
371
378
362
332
273
363
264
346
285
332
261
341
342
284
288
295
202
286
355
257
302
275
314
338
271
344
323
394
348
363
381
370
267
268
306
350
197
452
366
304
339
352
277
336
322
285
285
322
328
259
272
323
314
351
329
308
284
219
341
298
354
347
255
235
308
300
367
353
261
327
364
344
456
341
315
309
330
349
258
250
325
242
285
335
265
369
302
359
368
338
371
279
356
388
372
340
244
340
333
277
229
324
370
334
373
259
367
300
343
288
320
275
313
368
273
334
309
391
336
397
350
413
343
304
274
249
324
342
328
296
254
284
331
319
289
369
295
372
305
248
316
258
350
356
304
419
365
332
252
356
352
308
299
310
379
240
293
323
206
344
368
316
334
346
310
275
348
258
322
263
306
308
322
235
279
359
315
360
375
321
309
309
350
314
348
333
305
299
368
245
268
295
257
345
339
328
247
330
394
307
300
316
278
358
342
221
350
412
339
301
406
362
306
347
397
357
375
351
295
366
335
325
357
342
303
376
328
282
341
293
314
341
318
321
391
241
393
239
249
305
339
274
347
407
322
330
289
349
364
334
322
314
318
387
280
295
259
293
290
341
276
263
293
339
298
386
385
260
319
347
367
300
295
280
332
406
258
297
345
361
269
321
332
376
325
339
243
296
280
378
340
386
371
372
375
314
335
387
327
315
351
317
355
285
377
339
285
324
319
350
337
325
333
368
313
255
282
240
270
313
284
305
332
309
343
276
350
327
318
281
347
295
284
358
198
314
338
273
319
342
373
340
297
373
364
261
357
300
242
262
434
206
320
342
331
315
337
317
260
281
366
366
332
283
233
333
291
350
314
300
378
321
302
329
309
320
282
322
358
337
281
270
331
267
387
338
385
301
364
349
257
348
377
371
324
224
358
307
309
262
312
277
297
235
326
238
352
303
320
380
332
332
315
361
330
346
300
380
302
321
317
306
241
333
264
293
285
300
271
203
269
353
279
345
309
340
254
343
350
326
378
258
260
219
311
360
362
319
302
319
342
308
295
320
267
331
358
293
277
300
310
267
283
298
365
270
232
324
270
284
291
300
348
300
328
285
349
255
386
327
315
325
307
415
297
295
309
308
346
227
353
248
340
319
309
306
309
349
327
385
308
332
389
306
286
325
336
203
380
316
258
357
353
295
339
302
340
303
244
292
320
307
357
310
282
289
322
345
374
327
352
337
297
350
297
243
393
398
339
371
355
324
326
377
317
298
319
340
359
264
329
298
317
426
263
355
387
288
325
430
284
360
330
263
341
402
354
307
280
311
323
370
325
314
328
291
238
329
326
314
260
390
352
374
257
323
252
335
325
254
313
388
231
262
260
290
293
331
329
396
318
321
290
374
387
273
349
311
385
288
331
220
284
362
406
268
412
294
324
277
344
358
302
255
300
353
349
307
302
219
320
318
309
245
239
341
316
302
340
280
403
278
285
336
256
421
238
363
257
341
397
338
288
263
301
328
269
268
341
370
287
360
323
349
374
354
276
340
301
286
210
400
401
320
270
370
337
314
280
247
266
282
290
382
401
368
359
331
362
227
376
387
270
401
407
309
359
277
252
339
352
274
295
260
301
309
312
322
310
325
377
365
262
304
305
276
319
394
283
302
330
367
372
285
298
333
377
373
318
289
437
374
369
289
357
323
333
257
315
272
280
316
342
351
345
270
321
364
259
202
288
313
283
342
281
347
247
364
323
276
294
320
262
354
297
207
422
295
306
375
342
384
374
294
339
270
352
360
360
252
347
294
339
249
295
340
264
253
407
349
366
315
353
346
334
367
327
262
376
340
254
350
356
339
352
336
367
337
375
236
318
375
309
362
267
325
275
311
279
204
346
301
318
339
329
248
308
370
236
233
353
269
364
322
322
340
286
297
280
307
260
335
388
388
325
328
282
341
380
365
316
370
328
298
298
306
236
269
313
375
306
288
297
306
407
363
356
267
233
254
339
304
304
316
342
324
276
272
350
326
300
393
299
355
375
266
336
317
370
300
244
323
358
382
284
374
345
385
277
378
295
332
358
285
337
208
388
338
346
256
321
312
281
312
185
282
372
389
371
268
351
315
252
304
378
263
363
277
318
347
351
363
333
323
287
327
229
340
365
321
326
382
270
323
324
382
235
281
291
340
259
312
372
315
276
312
323
384
306
336
282
375
358
330
181
321
297
339
320
271
330
257
364
308
282
340
335
369
365
301
293
360
318
308
339
286
342
320
333
296
385
312
364
256
229
356
334
317
312
308
267
373
384
300
326
343
315
331
362
365
289
335
317
320
296
317
371
343
248
311
246
316
286
329
321
353
321
327
280
301
267
295
308
325
255
265
301
341
254
284
299
329
295
305
317
303
329
241
299
344
271
364
426
315
387
265
308
348
302
263
220
316
364
274
302
348
272
268
336
258
325
399
289
369
322
358
268
313
385
323
369
310
353
255
245
306
311
340
302
277
326
350
294
286
297
211
343
368
283
275
364
256
379
417
272
280
331
377
269
341
357
333
345
269
314
366
267
311
265
333
403
297
325
291
256
320
297
346
331
336
361
296
358
333
342
318
323
353
253
253
267
236
256
287
234
331
212
321
349
258
296
311
373
393
342
310
371
339
240
308
277
437
298
289
401
319
294
296
255
348
334
234
340
267
303
315
328
309
276
312
325
262
266
293
339
324
242
359
331
306
346
319
362
324
344
214
296
311
348
279
330
245
345
361
313
376
316
360
287
313
317
334
270
323
343
303
307
333
333
323
248
310
334
294
246
324
329
359
330
294
308
372
368
294
344
363
324
295
198
381
384
448
364
291
265
342
364
316
244
308
321
368
327
263
328
316
307
290
241
315
291
405
284
311
337
427
308
359
220
280
298
358
257
292
212
326
284
327
325
350
368
303
258
357
315
377
324
348
249
323
319
394
382
378
355
351
288
336
226
281
309
212
323
298
303
292
350
350
206
373
368
312
319
297
349
347
319
350
329
297
300
258
326
298
313
375
307
269
245
367
364
312
358
305
296
348
322
329
219
294
342
307
206
294
350
275
270
350
335
332
400
321
306
271
376
349
283
413
221
246
311
336
332
284
322
322
299
294
296
397
311
278
254
331
407
216
299
278
292
294
310
277
292
303
312
304
286
358
235
322
302
327
387
314
314
384
310
280
263
365
380
344
352
340
254
302
289
295
365
303
331
340
262
404
245
335
308
320
335
282
332
351
233
362
241
296
236
398
299
359
341
378
273
422
367
357
332
329
347
369
244
313
371
375
315
319
334
298
329
266
281
358
309
363
288
280
334
291
379
335
338
293
286
350
284
333
352
300
287
342
257
329
409
350
350
315
329
371
366
374
320
264
309
211
337
314
417
285
306
376
328
360
369
382
368
325
318
299
394
321
357
265
363
368
284
312
377
249
293
345
323
271
324
404
222
226
327
307
303
283
345
231
384
316
341
363
371
310
289
277
249
366
313
270
260
342
284
364
380
318
299
301
318
355
416
329
337
273
320
319
287
276
256
237
327
282
303
268
399
295
305
319
246
243
318
264
227
259
301
401
370
323
321
238
346
375
317
335
320
330
249
283
345
294
317
371
292
248
311
326
380
330
373
339
290
296
354
325
325
313
368
328
347
346
345
264
265
362
293
214
285
333
285
238
349
309
331
309
323
357
302
330
339
340
334
396
284
302
319
297
268
282
373
266
282
298
380
318
315
250
360
283
224
324
239
345
283
355
319
301
219
316
285
369
368
381
270
412
213
252
210
365
314
340
365
365
363
321
254
371
333
225
366
213
322
315
309
273
263
350
361
327
252
400
348
274
356
322
299
251
352
338
284
260
288
285
347
358
331
289
308
333
406
275
319
324
321
306
291
298
424
360
311
333
295
344
279
335
228
379
313
332
349
332
335
337
350
245
399
351
297
287
256
335
320
348
299
229
332
401
347
382
363
370
340
320
248
343
289
365
385
391
290
352
317
300
340
361
375
336
275
389
400
308
317
215
309
243
260
363
257
253
306
320
243
244
285
353
384
383
322
391
365
268
254
302
300
245
347
356
380
303
411
280
349
273
357
395
288
288
353
279
323
249
268
323
301
368
347
381
193
385
320
291
229
324
240
305
284
258
288
336
316
285
385
276
306
366
376
286
363
254
339
273
321
335
226
281
328
261
379
354
345
302
310
265
329
230
300
291
328
355
300
366
271
295
365
336
273
363
354
361
321
278
378
141
288
297
297
248
336
340
277
322
385
272
378
284
372
334
357
317
341
314
325
266
311
361
287
326
316
244
304
385
298
348
322
400
309
284
209
272
256
300
337
386
325
277
405
357
340
372
365
298
322
349
294
311
204
297
321
253
369
319
298
269
250
280
234
265
308
287
411
306
363
234
289
315
377
261
349
366
381
356
266
340
384
295
160
321
310
401
256
196
318
275
341
300
419
371
302
287
348
349
337
389
321
402
363
284
255
366
330
349
352
246
287
345
286
328
313
347
308
384
313
304
295
277
374
191
366
238
369
278
326
381
378
367
358
313
209
327
288
292
356
312
311
321
378
274
316
312
329
363
362
288
263
340
371
298
283
339
332
235
314
323
224
288
265
338
301
339
310
313
363
358
281
288
337
334
319
329
322
310
301
305
344
343
413
384
326
252
264
363
266
263
307
398
273
278
367
318
364
348
299
337
282
369
345
415
314
266
382
213
251
387
364
311
331
290
332
290
326
381
311
333
327
241
244
348
285
307
354
284
256
274
290
264
274
337
365
310
316
322
309
376
368
246
282
271
206
296
256
303
369
299
315
298
345
269
295
315
327
360
316
273
342
367
342
339
320
343
284
320
280
223
364
372
338
272
350
294
286
295
377
342
347
251
313
264
316
280
341
300
317
322
252
271
315
336
363
282
281
287
284
326
306
299
371
459
314
339
339
380
341
294
372
331
332
388
426
306
355
290
279
227
357
317
304
290
349
324
314
238
360
418
360
337
325
316
337
286
293
337
323
368
337
267
299
348
317
279
284
369
329
342
341
360
350
330
369
385
349
386
371
425
276
300
267
332
294
303
411
297
367
274
294
335
308
290
259
271
377
343
302
324
325
261
322
304
293
313
313
367
357
251
350
318
325
354
254
335
348
377
344
299
330
298
308
325
293
347
277
246
343
334
277
328
275
402
339
375
319
301
378
316
358
299
271
324
297
371
335
354
300
345
306
318
376
349
247
236
337
321
323
392
316
248
320
306
255
318
297
285
282
297
298
262
335
283
315
265
367
340
239
265
371
292
312
337
354
313
313
353
303
322
378
328
328
318
315
335
290
256
298
318
364
282
267
354
258
334
274
390
314
325
299
360
295
290
346
273
283
336
362
360
359
384
317
282
273
307
231
254
230
251
397
324
256
324
219
319
349
292
350
392
306
336
343
397
332
315
305
391
367
348
314
342
216
363
344
381
358
235
344
346
343
301
216
320
338
285
349
347
292
408
287
354
283
383
351
261
285
279
389
316
360
279
317
318
313
327
263
325
218
261
354
365
397
356
338
296
321
352
353
367
264
355
295
260
372
287
342
335
265
250
375
350
276
295
304
348
329
239
310
275
276
333
383
363
387
369
264
338
357
292
349
326
366
325
270
298
270
395
259
386
376
283
361
310
369
262
290
211
233
341
312
314
296
308
328
330
307
433
321
253
240
321
250
341
292
355
332
311
383
342
315
346
254
314
355
398
320
364
278
319
354
308
233
353
277
326
398
334
274
380
407
346
312
292
243
301
301
266
316
345
298
261
363
327
250
326
268
261
293
331
331
240
287
279
275
380
319
383
286
374
366
274
272
360
334
343
389
276
290
283
362
308
302
350
289
278
291
212
327
332
240
353
333
270
323
355
345
302
319
347
344
272
337
289
267
294
355
353
355
238
327
354
348
302
327
280
351
245
393
378
346
292
351
322
269
336
343
303
348
343
274
297
423
358
282
321
360
325
315
272
274
375
338
243
316
290
251
335
334
291
298
314
343
293
317
285
365
294
270
279
287
322
373
305
368
325
352
281
370
304
297
279
313
347
379
361
364
323
303
322
360
309
333
334
191
232
348
322
348
331
319
339
384
165
301
416
312
344
349
327
377
217
334
450
334
293
274
322
282
360
277
275
239
308
320
348
313
295
260
217
337
340
268
325
354
305
410
339
282
308
253
307
319
283
286
350
296
299
356
411
283
357
239
261
298
352
321
289
290
315
310
345
303
336
298
263
301
370
345
329
239
393
341
320
334
232
347
294
318
270
377
353
378
324
363
317
287
368
323
334
319
301
323
292
340
318
221
364
359
276
377
219
327
294
332
359
273
240
369
269
307
369
357
362
222
246
324
384
286
282
300
286
367
287
297
354
261
304
329
282
281
386
270
321
273
338
307
340
284
323
278
316
332
393
326
239
267
285
321
349
317
341
339
253
368
342
184
280
305
292
366
363
315
358
352
341
343
389
290
330
337
363
339
367
385
330
264
321
374
211
258
312
316
351
381
323
341
307
348
295
264
375
352
402
336
393
344
351
428
288
222
286
354
392
346
376
322
288
341
276
321
359
301
319
269
273
313
303
271
368
355
340
309
279
325
334
370
296
336
411
255
323
272
380
363
301
350
273
358
348
293
280
340
367
356
394
271
270
250
277
316
302
293
342
325
241
354
243
264
264
340
301
345
244
317
298
348
380
271
353
284
340
324
327
351
242
297
271
311
314
284
283
298
266
288
383
349
298
363
254
295
353
313
375
386
352
295
343
363
307
313
336
344
264
273
357
309
255
322
294
338
327
351
234
376
370
253
333
325
257
329
288
315
309
339
326
260
307
289
295
296
286
268
412
274
279
236
330
262
332
295
321
358
310
361
372
250
290
340
320
341
368
287
258
342
301
329
285
394
223
310
308
350
301
328
343
285
329
247
274
347
334
342
288
359
321
339
254
334
294
372
359
246
418
291
345
267
291
322
372
303
331
298
416
330
290
336
332
317
207
359
262
264
355
313
343
278
280
200
302
348
345
437
282
348
364
310
355
292
272
270
205
396
342
362
340
367
340
307
286
330
262
280
370
324
278
315
330
361
289
361
299
245
390
280
346
290
419
307
273
301
349
273
306
325
238
315
337
353
309
273
344
396
346
352
325
400
366
274
300
429
357
320
277
324
375
381
323
260
252
304
291
299
414
293
346
288
261
235
272
328
274
299
255
403
269
302
276
298
330
346
334
321
430
335
266
319
412
309
380
281
333
298
207
332
278
342
309
289
371
264
365
333
358
315
355
276
304
308
319
343
316
284
297
356
307
316
316
373
287
301
347
355
260
311
316
333
318
351
355
305
389
303
370
312
333
422
361
192
339
369
383
300
432
240
297
320
310
400
375
342
358
267
228
400
363
348
315
326
305
273
303
333
340
323
291
246
314
308
366
255
315
352
274
247
347
313
367
346
416
373
366
311
367
259
291
294
349
360
374
339
342
318
350
351
337
253
374
382
386
393
340
337
256
336
396
393
307
280
388
321
338
336
308
385
357
381
305
318
355
321
329
362
411
328
364
346
332
343
360
380
334
312
320
283
351
328
346
300
377
212
360
287
395
287
333
331
264
428
336
331
356
343
257
352
409
318
254
365
325
387
276
305
229
363
253
294
247
338
219
358
400
270
346
293
305
348
302
306
338
297
254
288
393
357
376
328
245
375
339
382
305
375
395
411
326
333
417
304
357
321
289
293
327
286
381
311
362
307
316
322
358
293
229
290
389
358
283
350
358
346
219
299
347
366
337
411
380
305
338
367
283
301
391
330
322
363
344
259
315
341
319
365
332
297
340
341
340
309
298
238
390
290
225
426
302
329
295
342
270
328
264
342
354
290
310
282
325
324
378
343
366
318
339
258
325
374
229
306
361
263
304
313
240
330
307
306
293
418
351
296
342
317
286
342
297
305
347
345
233
335
324
353
257
352
235
268
321
364
282
298
290
280
354
331
270
288
170
354
240
260
324
305
378
328
308
342
345
281
389
233
333
301
267
280
317
363
272
277
362
344
329
404
350
397
296
352
363
269
323
287
292
361
299
327
340
345
290
294
191
313
374
301
378
327
299
370
393
245
367
291
264
399
289
304
318
396
274
313
324
325
341
372
311
265
337
312
381
297
297
315
356
235
317
356
310
291
294
206
311
378
244
360
307
250
407
268
259
365
254
266
413
313
309
345
299
292
383
295
330
320
242
382
289
339
288
327
267
272
317
364
344
421
420
322
247
362
299
353
341
271
332
317
301
238
212
302
335
350
354
294
373
370
354
299
336
258
266
282
366
289
307
287
347
345
379
309
301
359
280
334
300
309
335
338
311
319
373
224
237
300
347
328
356
371
330
315
317
297
274
313
309
256
314
322
303
336
282
368
241
250
322
236
277
257
280
257
393
281
333
268
318
320
275
207
235
297
272
309
278
307
298
288
305
313
316
327
368
397
272
242
347
284
313
284
329
332
300
308
326
237
291
362
294
340
323
343
254
319
353
230
365
374
308
311
254
370
321
300
316
394
327
391
347
334
346
331
376
347
432
315
272
248
333
382
262
323
338
293
257
324
360
306
322
260
374
306
290
314
321
258
314
252
266
313
345
269
369
282
388
273
233
194
248
341
354
370
375
436
371
195
314
313
324
329
362
340
326
249
335
307
333
317
419
317
293
360
322
346
355
339
402
262
321
256
361
333
354
300
371
207
316
318
277
372
366
354
265
307
241
367
354
360
339
323
341
276
370
301
334
322
261
289
293
339
213
342
288
299
366
306
241
239
247
318
378
319
255
339
381
261
292
296
295
354
324
205
320
298
308
265
274
254
284
282
283
341
269
327
264
251
270
308
333
335
339
311
342
302
308
319
335
216
310
277
346
324
341
281
404
235
351
231
270
316
361
348
369
292
389
404
355
370
341
335
260
316
308
351
355
351
342
375
260
361
358
263
350
323
260
331
396
256
342
335
353
318
225
331
283
255
252
308
262
403
367
256
338
353
273
257
339
350
249
311
351
323
311
346
304
242
291
292
269
285
386
310
228
302
290
323
250
293
286
304
280
303
315
315
263
264
325
327
357
359
235
307
403
314
381
230
380
342
310
353
270
227
367
324
335
264
361
348
325
344
344
381
287
348
331
346
385
341
309
351
296
321
330
372
248
295
298
376
371
296
332
356
289
338
316
419
428
435
314
238
315
302
369
340
284
326
331
370
433
195
365
343
319
372
313
366
330
390
349
305
345
359
299
370
378
341
304
250
286
353
337
291
349
358
368
350
329
309
297
245
368
297
301
279
373
414
283
354
322
313
314
344
280
358
246
339
274
346
323
358
346
294
260
318
352
375
315
295
399
294
289
295
277
363
405
292
302
323
269
320
328
379
267
330
277
409
311
368
370
398
286
323
274
278
341
313
396
275
259
299
339
341
327
296
285
277
316
306
312
297
298
306
288
325
309
291
400
367
363
279
218
377
387
304
352
267
271
279
395
322
233
294
326
343
231
222
309
319
323
235
335
376
365
250
353
279
238
294
297
289
355
368
262
336
346
238
228
335
413
293
328
289
332
255
327
323
263
281
348
395
342
299
247
373
338
254
274
327
313
329
270
331
316
172
385
393
267
340
357
364
331
310
414
275
256
297
295
320
264
321
302
322
324
287
303
349
366
279
258
293
358
333
292
292
300
299
311
271
398
335
343
309
292
304
329
304
290
312
262
377
284
344
273
266
268
293
315
336
338
301
321
310
323
228
242
296
306
341
292
309
376
292
331
334
342
303
289
333
324
331
344
271
302
254
364
290
332
274
386
305
312
263
244
262
322
272
261
325
321
292
353
321
374
298
329
260
219
297
330
327
325
315
293
301
312
372
287
282
300
286
301
360
356
331
285
234
338
289
330
294
389
243
303
274
344
357
318
299
248
246
277
350
409
303
384
332
225
327
282
351
305
372
331
334
424
259
289
250
392
259
301
245
284
278
313
283
278
237
309
301
294
382
346
435
346
348
353
308
302
400
330
396
286
264
310
251
347
351
329
316
312
378
177
353
305
241
315
321
308
333
289
337
365
320
322
381
307
306
328
331
335
319
359
282
327
337
292
285
308
305
255
351
249
289
257
272
169
274
363
327
333
326
382
357
319
310
354
318
279
302
284
348
355
284
309
335
301
291
257
300
315
306
365
272
321
341
281
265
287
277
347
269
288
217
327
328
340
327
310
268
260
332
319
223
314
346
268
267
416
320
316
338
361
335
282
349
291
338
340
227
332
355
318
305
301
222
325
381
388
350
439
284
318
321
346
335
389
257
308
323
254
319
401
341
373
338
332
320
286
370
333
312
234
317
338
334
305
354
302
303
323
331
351
291
247
334
407
334
168
374
316
259
373
253
331
319
309
385
304
373
339
278
350
368
330
387
273
270
331
350
213
331
385
246
389
257
291
286
330
308
200
276
302
262
351
302
306
323
322
218
326
336
322
387
271
290
411
281
289
355
333
272
322
209
278
332
290
356
396
331
339
320
271
369
307
228
350
298
267
375
345
304
266
311
318
255
291
313
309
306
332
330
275
366
348
364
369
320
371
343
306
293
352
389
340
303
371
261
281
356
326
397
313
233
316
349
312
270
251
332
340
301
279
276
393
350
291
314
333
325
370
310
325
306
308
309
364
257
297
367
423
348
310
309
250
372
288
342
282
314
371
261
305
349
274
339
318
328
357
225
295
296
341
408
334
304
309
288
288
352
345
348
314
327
368
317
306
366
343
271
311
283
284
314
394
393
232
308
231
202
342
284
306
268
346
331
330
345
284
358
301
292
295
308
215
311
187
341
335
316
233
294
246
299
345
319
260
387
396
321
347
235
354
353
299
302
330
294
360
426
301
300
342
365
394
317
346
284
282
302
360
394
393
312
284
413
303
260
360
374
430
294
295
365
394
343
373
290
378
317
305
321
321
313
328
403
326
317
292
352
333
374
356
349
260
330
328
298
321
282
335
284
353
298
330
232
397
337
251
263
311
269
359
270
238
256
381
295
314
367
351
338
306
315
361
312
343
308
342
237
293
286
309
345
339
307
263
286
332
257
354
264
312
284
362
297
320
278
298
335
293
324
325
278
184
335
291
339
318
346
297
344
315
361
387
321
312
290
303
197
435
339
348
325
266
284
234
325
338
300
345
235
344
253
305
360
332
381
309
322
241
317
331
321
304
302
290
314
277
285
298
343
301
292
351
409
332
373
357
354
258
312
230
318
362
328
342
367
368
312
276
275
279
330
358
323
301
355
312
370
318
269
293
298
253
253
306
302
356
358
377
304
361
349
275
276
277
264
359
386
354
296
440
307
398
277
370
363
381
305
284
309
254
353
273
259
259
379
338
316
283
313
349
335
274
247
381
320
350
371
322
313
322
390
335
340
319
292
279
290
301
277
317
402
320
248
262
269
324
246
350
293
323
279
359
234
296
317
236
326
316
293
270
329
354
361
352
279
249
377
374
369
357
324
316
344
344
366
304
203
329
305
311
322
295
275
358
317
326
319
375
335
386
261
278
367
367
332
278
382
286
322
363
315
299
270
332
310
305
303
337
197
401
343
232
288
234
355
261
335
311
327
227
323
313
224
251
243
349
292
281
334
413
307
351
385
341
284
356
345
262
344
333
245
294
300
294
251
318
358
339
294
292
315
359
250
279
321
282
246
301
289
350
363
279
230
356
299
307
335
266
360
326
307
239
242
323
288
231
359
396
317
328
358
324
288
319
283
324
332
302
275
325
275
350
244
342
275
312
354
291
272
334
348
335
384
300
319
256
367
317
340
323
301
248
359
379
319
355
360
262
278
272
242
349
271
305
252
270
345
265
281
336
333
318
260
329
234
308
331
277
345
339
316
354
277
382
333
342
339
328
294
319
365
291
318
332
359
261
288
358
393
297
332
315
280
241
329
287
282
298
356
276
323
291
355
285
287
290
326
289
275
294
350
304
343
379
328
353
284
263
306
264
397
229
264
377
322
262
326
379
328
354
365
282
365
272
336
324
274
325
373
309
314
275
316
398
360
302
377
331
359
327
399
352
322
273
325
283
272
277
287
336
369
387
346
275
321
262
298
347
280
327
251
320
306
267
251
355
384
353
394
318
338
313
286
271
325
238
293
327
346
354
317
277
315
304
324
340
324
296
394
377
300
264
260
399
286
377
339
288
323
317
336
300
311
367
292
214
316
339
336
312
333
267
356
282
366
265
381
265
289
265
356
311
305
361
329
418
290
285
316
369
290
311
245
326
255
338
332
291
203
357
317
314
251
294
300
306
299
292
321
376
329
336
279
221
318
349
308
358
321
273
357
272
303
398
381
316
335
322
297
387
301
340
329
308
323
318
253
289
267
387
407
304
360
300
290
408
303
324
349
287
326
324
360
265
267
328
348
290
333
331
296
291
325
372
337
390
375
334
330
349
214
254
269
345
304
326
438
304
331
231
330
353
363
353
347
307
367
356
344
278
334
357
320
355
252
307
344
368
286
373
359
334
271
398
429
331
375
293
325
320
359
372
373
382
306
345
369
299
347
280
344
422
346
353
322
264
439
329
383
325
300
350
353
271
276
380
332
374
302
260
335
324
375
276
368
283
361
294
351
383
337
289
320
386
358
328
391
316
335
382
309
374
268
325
271
335
359
317
273
378
338
343
317
253
293
340
324
331
348
323
365
219
246
260
289
265
396
306
299
324
285
317
317
373
293
284
318
386
318
315
316
250
345
295
380
296
257
346
401
310
238
301
363
343
333
344
223
378
358
296
312
280
309
298
359
347
288
257
301
340
312
304
275
308
326
315
341
305
326
368
259
316
333
371
318
288
354
292
283
329
359
303
362
259
310
270
376
317
270
297
314
255
290
266
209
325
321
328
274
295
358
288
288
335
318
302
296
358
380
380
335
327
277
330
362
274
323
282
333
323
287
329
410
302
352
384
277
298
277
360
260
201
310
289
344
302
316
279
348
290
216
296
299
333
338
282
352
318
353
298
350
259
326
306
320
323
369
324
243
304
357
283
280
282
317
347
297
364
360
380
310
340
308
271
344
370
315
239
313
322
334
356
282
336
338
333
299
304
261
285
271
380
312
350
373
262
255
356
297
266
325
247
387
334
252
262
262
316
348
367
258
388
247
335
314
318
341
256
346
305
273
275
314
356
345
294
327
323
326
320
349
268
310
306
417
291
293
371
288
352
275
391
315
296
346
359
313
346
310
268
273
312
306
339
375
249
301
327
400
349
293
272
281
322
332
306
324
328
286
273
233
375
395
221
269
292
271
285
328
352
207
222
333
361
368
308
376
274
237
250
311
283
342
300
306
274
356
311
404
211
244
372
349
328
371
234
290
325
320
284
280
325
323
342
302
319
258
258
349
272
329
313
254
328
358
272
352
331
351
273
388
351
306
345
361
230
370
376
347
315
312
275
331
354
340
288
295
320
281
297
352
319
357
307
277
330
401
309
206
271
394
370
281
328
315
304
372
255
389
391
370
308
315
308
351
373
245
313
261
329
318
287
334
326
377
295
302
424
321
286
364
286
345
284
262
253
303
294
342
227
260
308
287
342
373
313
339
302
245
354
257
339
292
308
386
352
315
276
316
334
298
404
318
279
374
338
229
374
368
289
330
338
318
336
362
255
403
378
303
341
300
378
239
321
244
360
274
320
262
323
358
429
265
328
353
321
374
286
316
313
266
409
394
328
412
331
238
405
305
396
330
275
221
318
363
283
358
314
281
289
212
339
317
284
393
319
316
308
324
325
372
339
388
294
257
363
322
379
352
292
314
342
284
386
317
332
287
319
389
303
209
271
284
276
251
335
396
345
289
372
392
276
371
308
283
283
266
363
273
291
285
232
284
266
379
332
203
293
349
353
293
377
331
393
341
335
326
307
287
286
395
306
359
249
340
331
251
305
299
295
344
323
242
332
396
339
311
372
353
278
264
375
383
314
384
345
308
318
321
275
371
361
327
370
317
243
359
298
362
349
338
252
321
331
384
312
327
400
387
309
294
320
234
312
353
361
352
288
351
332
373
254
334
267
397
335
312
289
347
295
255
391
318
315
376
233
341
373
343
402
404
346
289
345
333
389
339
317
264
328
324
319
338
375
324
277
327
336
236
403
247
402
336
310
294
352
290
346
292
301
364
324
356
310
314
288
281
309
345
363
265
338
255
373
260
313
345
374
306
348
258
252
325
323
289
339
330
329
328
320
297
301
288
359
365
361
324
258
291
291
329
241
297
308
213
278
260
325
337
305
315
334
351
305
319
286
355
348
241
400
322
324
345
301
327
314
312
306
206
354
351
235
264
208
399
396
278
272
316
316
255
281
370
316
348
301
272
235
283
321
268
290
367
326
355
359
349
322
297
314
264
318
320
343
361
357
282
322
392
332
264
309
346
375
366
380
384
259
363
364
305
358
308
282
235
397
235
247
277
325
230
317
314
344
266
280
323
311
235
328
364
341
266
312
330
331
296
355
344
301
343
305
308
323
330
335
316
344
343
351
317
385
333
337
355
336
367
305
401
320
319
278
395
379
392
256
394
311
280
295
303
262
310
361
460
326
340
330
311
292
289
271
306
271
335
326
315
365
284
279
325
281
342
368
324
303
265
410
233
347
373
238
215
202
395
340
322
336
296
400
305
272
352
327
408
310
289
318
373
232
338
334
322
312
363
387
279
263
294
256
300
302
338
345
257
285
355
343
290
331
338
401
292
353
334
340
277
305
387
252
329
317
356
326
414
337
324
297
266
339
388
280
327
348
322
254
352
348
253
327
305
344
322
305
376
264
336
291
323
252
291
399
347
297
347
329
380
353
258
329
346
321
355
362
366
327
278
328
322
294
330
372
321
282
283
323
306
352
361
265
345
310
259
312
347
294
338
270
295
354
306
333
262
289
344
293
349
335
219
274
419
331
311
285
319
293
296
211
350
310
257
351
297
279
348
254
264
316
339
354
367
346
378
311
378
351
346
349
350
326
284
322
336
311
345
284
301
348
278
268
383
256
313
338
311
273
260
308
400
289
306
233
250
314
349
304
316
320
329
304
336
308
324
287
320
305
338
268
315
413
294
292
335
334
308
327
308
277
279
332
247
360
288
289
328
318
313
358
380
292
368
355
334
307
246
409
294
331
300
311
255
329
377
344
275
329
321
254
324
265
325
274
362
259
301
352
311
313
307
311
305
396
258
312
234
331
374
316
334
383
270
343
356
294
258
242
358
366
269
323
213
309
370
284
356
239
352
304
281
364
308
328
322
300
301
310
339
364
280
361
239
283
290
242
280
302
287
313
304
292
239
319
223
228
295
271
220
255
268
407
344
280
369
294
397
345
340
349
381
377
280
383
333
307
394
299
278
264
277
325
372
308
393
336
248
289
369
294
319
371
383
321
222
316
323
261
312
324
382
285
290
371
239
267
256
361
364
348
346
316
221
372
344
274
354
408
385
369
331
323
262
342
361
284
262
364
350
322
283
317
331
270
361
382
396
320
289
212
276
317
330
301
351
300
327
302
250
333
361
259
425
191
268
312
321
240
357
199
359
364
344
297
299
317
418
314
291
356
403
343
231
242
309
326
397
329
363
370
262
324
407
336
320
298
350
318
348
314
338
292
260
341
412
271
350
294
395
325
317
334
400
341
398
258
390
353
266
408
331
295
312
245
291
348
347
373
307
385
323
282
370
344
353
312
251
355
330
313
256
377
266
280
207
340
372
338
300
347
282
315
322
274
348
371
377
305
295
294
416
348
310
278
294
266
318
305
291
331
405
281
341
258
385
295
306
394
353
283
359
323
321
332
349
378
283
384
342
169
311
301
271
301
276
283
371
285
287
219
292
286
315
296
288
315
335
336
252
330
304
292
286
329
273
229
272
254
305
280
342
272
195
296
305
241
303
267
332
327
281
304
324
339
263
382
327
271
314
311
319
300
285
301
221
332
158
337
366
343
333
355
360
320
371
259
264
315
353
271
334
266
268
330
304
262
357
295
365
291
320
349
339
312
328
303
341
230
324
369
252
328
256
307
295
310
313
378
320
319
363
332
298
324
314
258
321
291
321
293
384
378
277
319
334
368
317
302
269
363
309
325
364
302
310
314
213
292
304
238
297
381
268
362
327
353
328
363
342
390
331
199
293
299
422
378
320
321
242
324
270
277
372
335
336
321
387
277
328
333
327
325
268
289
300
355
316
374
306
294
319
276
330
368
287
256
314
265
288
371
310
289
375
181
263
300
342
311
317
303
283
378
296
258
343
396
383
277
265
361
258
239
278
371
318
372
222
366
310
285
330
223
223
309
295
361
353
321
326
315
326
345
328
351
289
362
283
274
283
317
362
267
270
230
333
333
306
319
284
363
246
246
381
313
273
355
336
298
333
298
358
372
336
303
319
330
365
323
244
271
296
317
264
335
292
303
291
269
303
346
328
346
300
357
372
366
308
365
369
274
337
331
363
308
398
284
254
363
318
322
312
301
347
317
287
380
344
304
290
365
304
351
304
312
312
289
349
241
363
358
383
328
330
372
326
330
294
300
355
362
339
317
266
363
246
354
342
229
298
268
313
315
238
235
322
369
426
273
310
295
359
299
328
332
283
311
322
296
293
361
325
304
327
384
257
276
354
321
277
283
282
325
380
324
374
337
427
396
302
351
292
388
288
304
295
298
259
246
243
330
254
383
328
305
232
299
331
315
345
308
415
310
299
344
341
359
421
305
335
321
398
278
301
252
309
348
300
249
323
245
291
313
261
284
347
353
328
265
266
273
330
307
321
307
274
402
325
295
345
327
342
232
321
301
299
375
272
333
246
358
367
416
355
363
322
391
378
294
350
262
363
285
255
334
369
368
273
227
383
209
372
326
263
388
327
317
383
362
291
256
285
249
278
318
314
353
347
288
263
314
344
278
308
331
383
309
297
349
277
265
326
327
426
257
336
390
332
342
360
299
371
273
399
315
343
357
352
283
348
335
327
257
382
228
216
305
258
354
280
337
304
293
282
336
300
351
282
278
260
281
343
350
257
431
286
380
317
417
368
318
298
277
295
327
349
255
314
371
330
324
396
288
372
312
320
245
291
313
250
302
300
318
313
295
235
234
344
333
312
295
352
314
244
358
397
354
403
310
330
396
309
301
375
387
282
317
366
289
350
358
289
318
354
282
356
333
281
258
342
351
331
418
258
320
227
386
343
375
373
330
401
365
309
365
326
271
291
242
302
293
298
271
302
303
288
351
286
401
343
237
329
258
272
303
270
322
343
367
313
314
318
360
270
335
315
236
246
293
310
258
329
327
266
391
301
281
279
251
262
275
361
401
355
359
309
231
301
328
329
357
256
268
356
314
245
423
283
364
382
361
408
267
345
322
372
281
266
277
330
356
315
337
385
291
353
285
250
364
334
286
251
349
357
310
335
272
335
382
326
313
332
355
397
371
310
333
354
426
309
323
330
331
356
291
280
280
292
353
248
277
293
318
306
292
298
339
271
315
387
417
303
310
284
356
249
263
356
300
236
300
358
302
338
339
345
355
346
374
318
331
376
345
339
370
328
277
267
365
235
183
300
277
327
347
325
335
294
319
282
437
340
342
291
396
365
405
276
237
305
275
278
294
306
283
389
208
291
320
336
374
294
403
304
395
346
273
369
295
320
288
234
287
225
202
280
304
337
334
325
272
373
357
332
333
340
251
323
218
301
377
295
298
337
364
289
381
337
275
302
335
312
230
336
330
349
374
240
332
358
347
415
328
310
357
249
367
350
245
335
349
320
372
213
303
286
292
375
321
293
327
349
307
369
306
348
283
300
218
362
241
373
363
300
309
388
308
334
284
306
271
281
330
238
363
269
342
280
313
286
402
369
306
355
347
320
290
305
344
284
304
301
339
290
297
323
305
397
313
358
296
298
351
269
354
351
243
308
431
300
273
309
358
326
285
305
267
279
219
381
274
272
272
345
315
275
274
318
281
297
312
304
276
406
376
324
328
323
309
392
313
411
265
366
304
344
347
350
257
290
404
348
325
306
248
416
304
313
277
284
335
297
298
343
324
308
375
373
317
318
356
377
247
373
385
307
246
355
339
385
312
320
296
282
262
300
360
298
280
290
213
332
251
319
339
294
279
388
319
294
415
323
337
348
389
286
279
385
303
320
250
353
253
276
383
355
379
328
382
306
287
247
378
236
342
229
364
363
273
256
293
364
436
316
349
315
267
322
339
303
267
287
379
321
352
296
237
290
373
316
305
361
284
331
354
274
282
300
395
259
310
281
362
294
343
286
338
337
332
312
293
305
395
283
398
302
389
307
303
321
300
298
375
323
326
315
311
317
363
316
289
311
315
267
356
235
211
275
284
294
313
283
335
257
261
264
323
314
274
309
269
307
364
316
339
333
278
251
328
315
309
298
326
343
299
347
341
270
291
364
331
391
291
229
399
328
320
342
347
327
415
319
353
385
260
279
278
307
267
321
328
316
237
306
293
300
268
334
303
348
356
302
309
274
335
294
384
309
290
376
267
326
319
411
360
326
224
315
214
291
336
241
302
414
371
345
403
344
356
230
325
318
393
306
303
394
376
358
283
330
215
409
186
396
335
289
285
303
390
384
347
439
362
416
425
352
378
349
266
275
264
322
310
347
401
282
314
310
283
377
293
363
284
360
385
291
411
376
315
293
425
302
307
299
343
331
331
363
391
327
324
368
365
342
351
328
389
267
338
294
323
365
324
377
345
309
319
312
370
292
314
294
377
341
384
358
366
325
340
294
324
234
325
281
210
299
380
332
366
316
276
309
345
284
298
345
289
281
311
322
308
276
283
283
359
310
241
256
320
298
268
282
299
277
326
374
280
370
354
271
397
325
340
283
285
351
324
425
329
236
279
309
286
295
377
371
310
311
280
307
302
350
252
371
292
254
251
292
332
339
301
376
345
303
251
417
316
229
271
320
293
366
343
307
204
302
353
439
220
295
217
309
311
292
369
420
348
336
333
338
363
307
344
272
286
363
362
250
321
357
255
262
346
305
329
295
285
308
388
364
361
333
320
293
376
301
310
315
191
230
345
269
337
345
348
360
316
328
344
398
320
284
297
256
260
270
338
342
390
331
286
378
296
335
302
314
322
332
269
308
268
283
300
352
260
297
338
362
344
236
265
312
231
392
278
302
327
306
372
363
287
364
402
367
358
298
321
375
357
264
342
331
310
352
317
343
375
296
272
297
293
301
244
281
333
357
372
336
349
265
359
285
296
381
267
312
344
284
374
297
272
234
276
428
306
285
313
277
327
328
246
364
310
253
334
272
359
336
351
324
303
382
326
372
304
359
359
394
303
328
231
327
270
298
314
317
262
366
346
331
368
301
325
286
291
336
241
353
354
425
395
245
384
446
348
312
355
237
283
399
352
291
228
373
317
349
309
246
296
343
309
266
314
349
258
330
320
326
347
343
298
318
267
240
353
363
391
262
234
307
376
318
307
296
312
332
347
262
353
375
270
242
327
287
382
334
345
200
339
454
340
403
409
299
210
305
286
344
359
322
350
371
240
319
260
308
269
342
336
326
341
279
330
367
245
336
308
281
314
279
247
220
361
323
290
371
318
377
289
376
351
384
258
321
300
300
274
370
272
299
311
351
360
319
269
321
341
330
335
359
347
307
351
256
287
292
366
344
235
256
358
324
322
373
349
371
359
361
305
312
351
350
337
243
360
323
356
358
324
316
326
356
328
285
298
299
283
260
347
298
210
349
312
399
291
262
287
370
351
396
341
222
371
326
333
294
335
289
365
316
324
294
286
290
306
332
355
364
332
314
290
256
289
291
358
307
356
302
267
273
271
304
216
330
350
346
399
316
273
270
238
356
380
305
305
299
297
297
243
353
398
209
280
341
348
307
281
324
313
423
339
234
242
388
295
262
304
295
219
386
305
235
316
399
247
344
325
245
398
368
350
305
277
338
311
315
344
327
359
309
307
322
370
346
316
413
315
307
335
377
274
251
277
352
184
207
394
330
289
335
327
425
241
312
282
350
309
328
397
291
309
332
396
336
311
367
275
271
312
331
315
227
337
361
283
384
276
328
259
296
336
281
248
311
278
351
253
253
391
280
333
313
293
299
313
320
266
360
257
363
356
277
293
351
360
367
311
321
323
257
345
288
256
416
316
329
311
296
240
274
290
364
331
263
345
311
291
255
320
359
291
407
320
333
278
297
286
320
285
294
330
277
346
255
340
332
425
321
307
351
346
299
320
359
263
304
300
273
316
369
336
332
312
263
311
279
308
371
340
361
324
348
308
297
322
221
258
317
359
380
346
308
290
264
312
272
250
340
230
298
259
352
250
349
377
293
268
376
320
358
355
280
269
388
328
228
303
372
342
316
321
231
365
352
366
306
287
315
282
299
356
301
309
357
305
325
302
381
330
306
302
280
253
318
323
305
309
329
255
313
274
247
327
289
319
270
296
342
299
437
300
318
295
312
269
355
352
353
328
379
257
251
390
356
291
378
355
288
378
291
323
205
228
322
406
365
302
309
270
379
362
264
326
361
217
296
296
308
271
311
390
373
278
353
282
374
268
346
327
373
331
355
369
280
248
280
335
314
374
269
265
387
297
361
327
283
350
308
305
380
344
234
316
378
314
309
339
272
310
375
332
277
252
363
283
324
340
240
369
362
403
338
306
338
344
326
364
315
342
326
399
309
294
312
348
366
347
391
291
298
214
344
244
325
436
347
344
259
360
334
344
270
306
324
324
365
307
355
327
317
357
296
352
342
262
329
348
283
338
398
359
332
300
319
369
312
354
296
313
288
245
307
332
286
349
401
182
380
285
262
314
324
360
291
270
254
318
303
335
335
192
356
297
301
311
302
260
379
325
254
366
277
311
247
292
313
328
338
354
380
353
277
297
398
344
325
245
338
315
300
309
255
435
314
282
355
373
306
296
306
406
309
397
272
237
310
228
281
338
343
277
325
317
259
415
353
268
299
300
324
316
352
277
333
372
306
318
288
394
289
262
318
353
361
390
365
313
342
333
338
322
333
312
350
315
313
334
272
314
325
313
306
325
389
331
383
361
341
343
255
240
368
326
293
311
404
315
312
299
378
215
334
250
320
261
265
352
232
318
284
251
361
342
307
308
333
306
299
309
318
290
332
419
307
286
336
382
390
364
376
353
334
270
320
365
372
336
325
333
190
306
401
354
380
352
313
380
401
319
303
334
298
353
262
238
268
268
433
448
316
316
338
283
251
306
314
280
320
399
233
257
274
315
305
300
352
297
331
293
265
334
232
373
282
391
389
299
348
371
294
235
349
367
270
257
223
323
329
405
371
304
305
289
308
329
262
319
361
284
261
268
348
313
308
277
333
301
360
321
293
354
312
322
333
278
398
306
288
251
355
264
258
316
254
359
250
359
370
378
367
287
334
326
349
321
315
308
275
320
336
374
284
272
316
294
315
315
363
285
354
299
348
401
330
314
308
337
334
362
236
343
370
288
338
266
378
302
412
276
254
262
377
374
296
328
338
295
256
277
347
271
363
368
347
313
268
324
324
312
365
285
318
354
341
383
292
296
360
335
279
321
379
354
381
379
288
337
316
323
329
239
371
358
287
278
357
298
358
318
327
311
235
393
380
331
349
365
274
342
391
383
391
348
280
284
303
360
310
313
324
310
329
295
223
299
357
337
322
375
335
379
415
269
309
304
353
279
376
335
319
347
321
370
402
275
326
321
350
390
302
386
279
323
345
320
309
356
332
313
334
369
295
374
354
290
310
352
314
286
373
370
324
308
353
187
251
296
317
306
310
284
357
333
348
321
252
371
337
343
320
350
358
314
352
324
321
367
366
319
381
309
342
422
301
232
320
339
361
291
310
340
395
306
253
320
390
364
378
282
354
326
291
324
298
353
304
256
349
271
317
378
314
305
283
330
294
305
344
345
322
286
438
307
350
327
269
376
321
377
371
269
425
358
333
343
260
214
295
299
369
318
351
271
308
388
338
314
235
360
308
358
356
243
257
350
284
261
302
331
297
269
347
308
338
363
263
260
238
241
290
323
351
285
219
384
367
315
358
310
386
347
356
376
273
282
373
317
334
271
328
278
342
377
271
251
289
297
309
364
434
353
338
368
314
362
386
372
335
387
274
312
302
292
360
304
274
333
289
277
184
283
332
308
265
335
268
375
291
294
358
389
275
254
372
401
349
361
365
342
331
258
348
312
375
328
277
346
319
364
295
273
398
299
387
298
254
335
317
263
286
317
327
340
285
334
415
360
384
227
356
292
376
306
345
299
319
379
439
266
293
243
373
390
333
318
296
252
316
301
256
360
240
278
314
271
307
279
326
342
269
332
272
336
353
210
341
281
228
263
340
246
322
273
407
343
275
277
361
245
294
259
373
349
315
347
333
270
315
339
325
309
292
331
344
343
333
384
320
289
227
333
332
324
255
323
293
379
267
297
409
277
247
398
434
359
361
305
195
291
396
316
355
335
330
353
299
335
306
332
380
347
395
289
346
329
295
386
266
326
315
415
322
292
366
379
318
355
371
246
359
322
440
367
306
308
282
274
371
348
281
356
359
297
297
243
364
307
351
400
245
324
273
257
353
376
344
273
318
242
303
319
299
307
309
361
301
326
361
341
421
384
322
349
314
343
305
310
353
331
345
363
295
301
285
303
349
357
304
380
344
375
399
338
226
347
353
247
264
301
309
256
394
354
301
304
316
313
337
351
330
339
238
270
360
390
306
349
301
309
340
287
318
296
336
306
298
302
363
323
334
360
321
333
285
326
344
302
384
272
316
246
390
338
348
340
352
283
333
383
403
285
303
291
280
280
396
273
345
309
330
240
343
353
310
347
361
253
284
316
317
348
312
364
278
400
250
310
413
275
334
298
281
312
341
322
335
288
360
297
305
267
356
295
318
231
372
395
280
267
343
294
327
319
270
329
320
329
348
248
383
302
284
375
282
282
338
301
317
294
314
359
385
320
324
348
246
398
371
354
258
278
408
363
364
356
245
306
369
306
345
279
251
329
337
291
303
375
276
322
243
350
335
326
339
311
332
324
300
286
384
292
307
310
253
413
305
289
338
266
334
322
334
274
237
332
314
428
285
254
215
304
291
367
304
352
338
339
306
279
364
267
388
357
275
423
254
290
203
353
324
215
292
360
276
247
317
229
332
304
251
266
325
357
310
311
308
290
359
234
312
348
254
283
277
388
305
389
391
352
280
389
400
313
290
348
389
251
313
335
337
353
279
258
300
322
358
347
385
291
319
405
326
264
276
336
345
283
283
372
278
341
256
313
301
294
302
306
276
255
230
234
382
387
288
377
350
305
358
299
295
293
287
287
287
381
231
419
258
313
341
354
348
239
294
372
367
343
326
286
291
320
264
265
355
309
339
287
315
376
319
388
360
205
295
342
306
262
220
276
381
335
277
321
406
315
303
294
405
210
250
332
357
275
262
370
329
338
367
303
334
318
372
297
255
345
347
331
365
357
328
275
272
335
317
279
288
211
274
363
260
339
372
318
332
316
389
208
288
405
360
332
370
287
354
342
273
283
351
347
303
324
296
372
329
290
279
239
285
337
346
245
343
314
363
348
337
263
324
387
412
287
304
363
246
310
337
400
343
264
260
338
291
271
303
249
371
301
324
298
318
278
362
264
309
292
313
305
279
340
307
393
335
290
304
310
321
340
333
373
332
256
367
384
288
378
278
337
313
207
304
247
315
336
347
356
327
345
249
211
333
317
359
330
344
359
319
310
369
319
280
238
293
365
404
243
292
313
312
337
343
261
341
369
336
266
301
272
376
355
337
290
278
182
345
299
358
387
348
337
295
305
323
286
303
287
326
283
324
337
341
303
323
264
209
314
283
331
330
299
299
303
285
282
330
373
368
315
375
303
304
342
334
353
378
313
377
346
320
342
276
275
402
277
340
249
384
377
321
262
224
303
340
330
376
390
323
393
266
362
351
308
332
298
243
338
412
364
258
405
360
394
373
371
278
267
292
274
331
353
374
326
313
353
232
339
405
307
318
223
359
271
309
273
369
301
297
291
373
346
337
309
257
330
274
337
240
353
340
325
319
302
372
356
301
234
269
365
325
288
343
363
326
324
313
290
286
274
356
306
341
330
347
393
233
335
300
290
286
304
413
321
311
242
370
278
323
346
326
306
371
336
309
377
292
310
300
392
331
342
377
324
262
351
332
254
301
337
326
332
278
267
321
267
364
358
315
307
318
268
322
258
363
332
343
355
262
305
310
340
248
297
281
239
303
384
227
280
311
313
298
333
284
339
405
332
298
297
241
278
434
334
260
329
324
299
257
332
235
230
319
308
270
361
325
323
380
364
347
320
306
222
313
336
346
364
352
326
307
318
305
376
424
284
370
333
251
351
300
339
380
347
312
303
268
269
321
247
341
367
327
360
288
338
319
257
337
301
347
272
275
291
346
369
372
371
338
373
272
363
366
363
267
329
317
308
393
338
329
356
250
290
396
278
352
373
333
362
303
290
259
236
306
351
263
414
399
348
388
325
238
245
247
354
308
291
389
308
398
365
365
289
318
332
294
249
372
354
329
282
316
321
258
331
228
357
266
308
242
318
317
317
247
322
406
296
276
318
391
345
362
282
286
343
324
290
316
328
263
336
377
288
326
275
323
334
312
290
361
375
339
291
360
263
375
386
300
275
286
364
361
388
266
338
324
367
237
279
354
337
269
310
298
382
351
321
293
264
381
260
345
323
290
283
337
345
363
276
280
419
306
327
319
311
376
370
320
275
320
306
371
358
364
281
316
305
357
395
294
318
299
304
298
358
304
356
288
337
372
328
386
332
363
311
270
377
310
264
315
359
367
327
332
261
287
247
257
321
367
271
321
270
364
318
328
355
273
316
318
360
320
286
309
318
270
286
319
234
356
353
370
274
335
342
215
290
410
291
328
307
349
282
226
319
286
300
381
283
349
358
288
256
302
294
300
352
338
298
290
402
272
315
361
272
294
343
255
338
296
327
370
305
309
284
260
350
238
354
330
271
320
322
246
261
387
380
319
276
330
385
395
219
340
356
285
425
313
312
378
336
310
282
309
302
270
364
299
279
280
424
250
285
355
318
318
275
397
295
254
435
320
306
275
290
377
300
233
281
313
337
274
259
407
235
338
392
315
284
260
344
300
348
357
299
333
346
332
352
372
300
311
337
359
286
399
194
269
281
315
265
338
271
346
376
296
352
300
361
301
356
362
406
346
328
308
380
268
351
272
345
314
392
327
340
307
303
263
257
262
303
253
398
237
254
301
246
303
300
345
360
289
351
343
311
343
266
354
306
335
396
305
276
356
360
283
333
334
295
309
353
252
371
308
320
320
304
371
289
310
336
331
262
326
322
322
285
317
230
371
316
291
308
356
324
312
370
374
329
260
300
314
258
310
376
308
310
395
383
351
302
356
321
400
261
265
391
261
240
311
385
335
374
306
414
370
344
393
387
315
325
316
348
239
259
281
258
263
338
271
354
306
318
331
266
318
282
264
346
328
318
329
293
263
265
356
303
375
303
339
325
362
290
287
373
320
288
255
322
334
288
335
320
336
378
342
316
215
385
320
295
280
293
330
344
302
320
325
273
287
257
288
333
217
288
351
355
314
273
290
339
312
281
250
350
302
350
189
278
319
359
323
298
347
333
352
289
364
318
334
401
276
329
335
274
286
319
345
342
324
377
321
352
407
295
348
346
294
368
324
279
333
303
330
325
259
341
340
346
342
297
340
324
366
324
307
324
309
293
383
255
300
290
366
317
345
288
301
308
317
413
318
319
290
282
298
332
289
325
315
239
289
344
322
334
308
391
308
323
367
319
349
353
270
270
331
232
252
384
356
322
240
359
341
373
269
283
331
314
272
348
327
380
321
254
276
306
336
351
315
227
311
328
312
363
311
285
263
185
314
285
390
262
319
343
279
308
309
382
393
375
317
338
310
306
309
291
271
324
391
289
297
267
285
308
377
370
390
357
228
403
294
306
328
328
274
269
311
315
331
351
372
277
370
343
242
304
359
297
368
290
313
380
295
348
283
400
423
279
391
324
330
350
287
298
382
266
271
310
266
288
326
299
352
352
364
366
293
322
293
245
348
336
336
276
209
319
355
416
212
278
351
274
324
285
336
275
269
274
355
319
301
337
287
352
305
314
303
340
242
367
357
302
320
358
349
302
390
275
333
329
333
364
269
291
362
317
300
310
307
347
328
308
222
244
336
335
318
363
247
269
296
276
344
309
288
358
295
297
274
341
350
271
387
284
241
269
335
321
344
371
333
296
295
328
318
249
352
342
291
322
349
296
330
290
251
354
292
398
321
359
348
234
321
348
221
343
390
255
304
329
264
240
340
357
276
276
320
304
230
298
393
247
337
331
301
348
340
266
381
315
348
321
315
368
312
276
288
307
316
322
277
344
360
262
273
286
307
273
300
377
287
373
303
308
386
263
283
323
235
270
287
312
308
397
338
337
334
312
400
385
332
363
333
344
226
245
354
284
365
346
279
335
283
320
284
312
303
320
314
272
300
333
353
310
343
310
331
303
353
292
267
272
376
253
347
301
342
327
332
293
290
324
303
317
300
339
349
261
332
281
347
320
304
268
369
330
299
335
331
322
269
348
367
261
325
307
309
313
324
283
330
375
319
299
297
352
256
300
267
223
374
308
350
314
391
354
258
326
296
289
241
284
288
309
254
299
351
424
264
275
346
292
299
382
353
322
306
333
319
378
271
386
333
293
264
333
251
315
305
314
302
351
284
301
333
259
362
326
310
295
219
393
348
285
365
323
353
317
363
278
383
330
395
273
253
248
339
366
325
317
346
261
331
304
359
333
231
407
257
386
271
413
289
338
437
205
347
345
377
257
313
345
378
310
319
383
310
344
264
362
230
277
308
273
314
303
322
263
288
350
338
317
313
333
295
326
381
264
317
324
288
232
312
280
354
322
329
287
275
286
375
353
240
345
305
279
251
286
288
320
303
301
274
304
316
294
312
285
202
191
271
280
366
262
275
321
281
376
387
316
349
367
323
371
327
339
336
262
339
359
315
272
350
358
325
274
318
355
292
361
254
249
343
396
315
283
290
309
385
368
260
385
369
239
248
324
275
294
341
237
322
375
211
303
311
341
310
294
302
314
261
364
327
342
283
405
351
314
223
353
349
352
268
294
324
281
236
300
233
325
280
350
249
303
341
236
326
331
343
275
366
299
306
404
369
229
393
335
385
228
315
349
263
379
260
353
316
313
272
313
279
324
345
353
308
268
323
371
340
358
287
323
308
359
378
409
320
367
341
237
281
317
259
319
281
313
335
342
388
283
295
360
269
365
309
314
321
318
282
327
385
318
286
266
331
332
296
296
343
333
223
260
278
330
318
316
306
224
353
367
292
370
243
292
342
360
318
287
338
337
292
340
364
350
273
329
333
334
321
360
243
342
310
302
234
299
274
234
316
363
333
331
369
347
292
304
202
272
299
245
350
316
290
323
305
303
398
288
384
299
347
429
348
324
317
384
307
394
250
326
316
257
350
423
322
338
329
337
334
236
293
278
358
272
328
372
280
364
308
354
246
267
332
372
326
240
430
342
283
315
346
304
331
275
324
267
262
267
316
251
329
281
280
344
358
388
357
305
361
325
336
381
275
253
328
279
296
359
321
289
342
286
364
349
286
362
292
395
300
272
319
350
327
282
380
241
320
342
245
353
307
348
219
306
302
313
308
315
276
312
337
296
313
291
214
349
348
265
303
377
321
311
292
328
381
309
195
243
321
286
346
312
283
343
259
279
345
326
325
316
445
329
330
309
298
326
277
275
256
277
389
342
296
281
354
301
327
338
273
305
354
313
257
229
284
275
310
312
397
318
400
403
310
292
364
308
272
312
307
316
392
353
305
383
323
304
408
287
265
330
303
328
276
321
314
359
309
342
374
303
372
388
252
346
372
373
308
340
365
302
389
277
323
329
299
286
342
327
309
272
347
329
244
372
338
289
282
329
348
280
360
304
268
269
330
259
314
286
302
305
327
281
314
318
336
325
318
295
342
328
295
254
346
316
322
266
381
269
361
393
387
339
215
348
374
323
311
355
300
293
283
294
279
329
261
360
372
429
359
308
350
329
375
342
333
356
354
283
297
357
336
307
259
265
363
271
359
320
352
282
317
361
314
334
256
288
247
392
306
288
313
365
306
380
285
335
293
284
324
289
302
276
317
393
296
330
306
206
303
305
339
241
261
248
331
373
277
336
319
284
333
296
257
327
315
313
344
242
311
276
279
308
277
301
300
326
326
312
334
361
316
290
323
381
300
416
353
265
257
250
300
343
352
290
396
299
356
330
354
323
364
256
249
338
297
323
302
371
246
238
399
383
222
277
281
312
257
359
375
393
378
372
211
352
290
346
299
352
365
381
349
274
361
343
254
319
383
305
356
297
335
306
295
307
299
395
289
247
316
300
299
330
284
356
284
324
322
347
416
240
329
282
338
339
304
318
354
316
394
205
362
285
295
337
345
292
268
245
406
317
376
310
300
293
295
275
335
282
275
311
420
410
344
302
272
366
282
352
294
276
291
332
324
275
388
306
334
363
298
355
272
352
386
339
334
216
383
305
273
211
389
357
262
318
436
382
297
303
298
340
328
394
280
252
353
354
366
245
331
276
428
336
334
311
278
285
354
298
263
273
241
297
402
307
327
297
369
363
275
294
275
307
351
332
343
282
267
335
344
327
236
354
346
299
288
377
229
283
202
284
314
321
363
332
331
273
407
305
354
318
323
257
306
318
390
345
323
381
318
269
338
365
307
315
362
271
344
316
406
356
330
294
350
343
332
390
346
313
290
178
318
316
247
227
317
274
339
282
356
345
350
224
371
375
283
278
282
229
287
292
298
379
270
254
334
334
400
334
251
304
291
325
356
341
345
396
353
393
320
304
332
347
357
384
282
292
262
292
355
250
324
325
350
224
265
307
348
254
361
339
339
329
386
387
263
276
364
331
280
327
342
241
349
265
336
298
304
320
285
267
316
289
304
352
335
238
325
272
339
436
235
247
341
353
314
360
316
288
298
364
344
294
258
299
385
367
272
366
323
270
318
330
317
380
308
299
369
286
304
306
281
349
288
317
326
370
358
334
309
300
281
356
407
249
363
327
202
294
247
327
322
338
269
377
291
397
278
331
329
284
327
341
259
387
379
325
320
286
329
310
331
332
306
289
292
268
343
343
370
316
292
342
372
340
346
369
269
294
317
382
318
350
318
285
321
291
303
314
191
406
336
263
313
336
284
378
377
257
276
338
300
377
189
380
385
335
329
353
281
375
332
358
361
368
347
281
356
284
320
302
355
272
346
286
277
302
386
323
308
346
277
350
318
328
297
362
314
356
325
288
338
328
374
400
216
318
313
319
291
296
245
334
277
294
246
327
353
280
322
319
384
282
318
299
289
333
268
269
253
355
333
330
376
332
273
260
223
367
392
285
344
261
346
404
318
332
373
296
329
210
322
349
305
288
302
309
326
275
316
245
304
347
310
317
376
261
319
240
363
338
370
320
362
271
323
218
362
350
292
292
360
371
343
432
346
295
269
306
309
349
255
322
316
297
318
401
289
249
298
317
313
352
308
284
416
360
298
399
365
434
364
300
340
352
307
313
345
285
261
218
356
374
342
255
323
293
282
348
260
305
367
355
301
363
377
332
362
242
319
367
367
277
300
275
319
381
271
282
306
351
259
341
271
363
319
255
290
393
270
335
385
363
317
369
368
235
314
355
322
317
330
411
268
293
374
344
242
320
232
335
334
319
332
349
287
336
273
280
257
346
358
341
318
358
316
330
315
393
359
383
356
264
393
297
319
338
404
331
293
249
339
310
382
295
284
292
379
370
314
314
320
272
261
325
371
316
267
271
261
335
253
289
321
338
288
298
286
345
328
304
321
242
293
278
335
328
303
304
334
412
287
306
281
350
324
255
353
331
331
351
354
247
342
291
262
215
305
329
318
336
352
340
202
362
314
304
224
331
297
339
341
374
326
364
280
341
312
340
225
354
209
357
301
310
307
234
314
384
355
310
236
266
301
297
329
338
283
305
301
307
287
329
341
301
260
330
345
279
263
288
239
397
272
384
252
372
343
379
364
216
328
271
261
362
383
364
324
346
288
273
302
317
246
325
295
335
284
238
283
309
285
294
316
317
310
299
303
371
185
346
320
337
336
327
230
315
311
318
298
309
313
336
176
299
230
318
314
396
334
226
360
303
328
301
335
317
354
298
398
297
360
257
315
284
403
276
269
320
272
351
339
181
348
253
267
311
347
358
319
346
264
324
298
323
356
396
324
379
259
296
302
346
313
355
306
252
333
407
342
341
327
306
254
293
359
310
313
333
207
318
330
262
370
305
231
323
342
255
291
299
292
247
344
310
283
319
350
358
365
317
277
298
353
280
385
294
340
253
334
261
308
309
243
383
280
292
332
230
286
268
273
350
285
376
276
226
225
261
384
343
329
280
278
397
261
392
393
355
352
351
314
351
275
268
332
223
196
330
283
287
354
251
271
336
337
356
346
347
375
259
258
336
359
357
347
313
244
327
330
280
369
258
337
249
436
269
235
298
372
253
292
365
311
383
280
363
365
261
328
349
334
335
319
360
402
353
321
347
294
244
253
250
291
358
175
336
350
309
297
291
386
380
335
288
265
250
342
345
311
346
379
259
349
331
332
295
352
285
336
301
278
305
315
365
329
311
273
339
307
262
322
327
188
254
350
256
253
321
323
366
385
267
225
287
227
323
263
188
311
331
346
301
323
383
296
370
302
354
317
340
331
276
330
374
364
284
387
351
359
350
236
387
323
371
351
294
261
372
391
260
334
303
342
346
329
300
393
272
361
291
305
310
299
332
342
317
332
333
360
313
299
312
389
359
363
330
237
272
276
210
363
326
408
296
335
336
346
309
403
262
388
322
322
381
308
368
378
341
338
387
319
341
354
346
272
293
338
276
353
319
412
329
360
334
260
189
274
368
331
307
262
413
211
300
217
311
395
351
227
280
283
440
375
310
303
319
276
307
376
312
367
329
314
315
401
285
325
296
315
300
339
327
286
350
284
277
353
278
307
285
316
372
337
290
363
286
390
327
326
296
350
229
159
290
284
421
256
339
330
203
303
279
370
388
360
329
289
227
287
336
275
330
303
337
368
304
231
221
265
329
286
256
308
306
306
277
341
217
333
373
301
389
272
251
270
287
250
319
301
386
276
285
377
368
375
269
315
293
362
341
291
296
279
364
311
303
370
343
296
325
228
337
299
356
329
395
268
394
315
316
285
301
323
373
278
375
289
295
231
420
262
304
286
386
305
319
273
303
266
288
379
288
276
329
281
350
294
246
272
286
347
271
301
313
262
323
285
380
274
273
303
387
322
302
301
360
297
323
228
389
352
327
326
341
332
298
323
214
313
254
260
323
307
322
274
300
373
364
293
395
324
337
344
282
267
395
387
284
345
299
355
337
260
319
313
363
320
305
354
325
272
364
299
409
401
231
283
339
277
322
273
332
313
340
273
280
279
337
301
320
314
304
307
303
295
327
269
324
313
356
372
228
333
364
277
402
268
290
330
282
303
368
309
318
313
392
225
391
324
354
183
277
302
275
309
354
274
276
246
289
260
285
312
393
342
292
280
412
326
346
358
314
341
347
304
295
374
385
318
336
247
280
211
378
327
275
346
310
318
332
290
335
325
336
341
275
192
312
307
320
298
322
293
310
299
436
300
337
286
336
275
403
420
367
338
278
369
314
329
306
300
363
343
276
378
312
278
367
333
371
315
262
301
352
329
237
336
271
260
312
328
324
315
314
237
387
319
349
398
280
276
303
369
222
359
311
303
274
253
387
261
284
261
326
281
404
266
295
362
283
295
349
236
361
350
303
295
382
270
335
266
287
341
316
218
269
339
378
357
238
343
272
290
299
275
295
273
343
279
294
319
345
336
353
320
223
310
280
309
235
259
313
365
239
248
329
400
315
300
363
266
348
312
314
385
260
352
247
334
426
302
310
337
322
338
332
387
342
393
289
321
232
265
289
344
282
361
289
260
314
371
297
395
349
258
345
272
307
309
364
349
282
262
366
280
318
295
342
284
366
288
396
341
244
336
338
317
367
394
245
361
328
300
284
385
345
383
353
310
264
271
320
281
305
351
378
242
353
285
272
359
274
322
385
291
387
328
356
340
224
281
296
353
340
262
296
313
365
285
316
291
248
334
337
303
316
326
349
304
396
412
300
287
354
328
273
295
283
291
371
335
264
291
252
258
290
358
340
291
341
292
365
341
289
339
321
223
335
361
368
342
298
263
284
398
310
340
400
297
309
293
313
360
247
341
328
372
356
319
329
339
265
274
318
257
379
299
340
306
277
292
314
338
328
353
253
294
231
259
287
297
303
357
283
344
335
333
292
364
353
331
310
317
363
363
320
289
312
261
342
336
357
363
345
363
304
284
184
244
239
335
310
353
413
346
349
204
298
338
293
359
234
320
357
268
276
299
329
320
309
299
309
327
353
287
316
346
391
363
318
334
355
369
232
265
249
305
269
278
299
285
319
305
348
295
251
264
262
311
286
330
317
352
271
304
359
344
318
339
312
248
261
379
326
213
377
384
303
361
316
283
313
396
323
332
307
337
320
360
312
339
350
321
281
343
432
312
273
370
357
271
278
350
328
384
307
270
228
354
274
300
320
380
378
293
220
287
240
278
397
355
378
343
272
336
347
357
310
385
356
357
321
366
383
309
337
362
240
337
234
307
303
338
386
367
383
332
293
372
343
309
328
298
341
337
292
300
335
349
357
214
369
340
364
341
328
294
238
283
353
357
370
338
311
237
384
348
313
262
262
297
257
354
392
380
308
320
308
256
328
331
369
320
346
292
279
275
320
273
350
319
371
275
294
318
271
331
229
372
279
265
365
281
287
242
342
324
246
265
298
266
362
317
234
392
356
303
328
408
300
327
320
309
371
269
314
305
339
384
274
289
337
320
281
298
281
373
322
317
292
313
381
285
315
310
277
335
282
275
313
271
354
358
359
282
401
329
282
284
364
396
371
336
289
303
353
335
275
387
316
369
289
265
332
228
346
362
352
351
312
310
316
359
345
275
221
344
365
277
279
307
281
324
356
299
342
275
236
242
338
268
237
377
327
304
354
251
292
372
250
299
322
321
323
340
398
274
278
293
291
290
316
302
355
362
245
218
259
370
254
310
288
316
371
380
270
337
300
254
316
323
269
288
331
336
306
333
396
305
439
268
251
229
305
378
384
275
270
343
300
338
287
350
321
409
284
311
312
392
361
359
279
260
283
283
265
345
346
324
289
334
367
363
297
316
255
309
303
336
355
422
245
230
353
390
347
246
368
281
401
343
349
310
410
248
268
240
320
318
306
277
295
309
323
339
344
356
367
282
381
372
305
421
253
370
232
378
275
356
325
249
370
236
320
380
351
194
244
253
266
299
251
315
329
428
363
235
301
316
299
371
295
300
303
266
386
345
291
270
302
265
251
316
300
311
346
367
311
374
310
318
288
337
320
291
320
295
267
294
274
348
329
440
274
387
231
336
352
352
269
368
311
290
294
233
278
394
299
306
296
363
287
281
259
353
383
306
347
317
392
333
369
281
296
319
370
301
319
307
252
262
373
329
379
290
381
372
321
275
300
299
323
344
352
349
308
306
329
387
339
328
293
276
338
232
298
320
222
353
270
316
384
308
285
351
337
311
312
359
246
329
332
359
349
233
299
220
284
274
304
319
314
334
268
313
331
317
336
348
349
323
277
314
286
341
274
366
252
379
379
348
326
338
310
341
262
351
345
333
340
353
334
301
300
291
322
290
309
294
350
333
401
314
329
331
305
336
353
347
298
254
387
248
292
337
342
380
383
306
311
305
355
311
205
398
289
306
272
323
332
322
350
323
320
262
284
353
339
361
266
368
387
288
189
277
380
332
278
291
237
317
343
269
363
380
302
292
417
296
265
295
316
255
281
396
297
331
237
290
215
404
353
263
343
337
303
229
337
324
276
332
295
334
276
333
320
364
290
390
338
303
230
182
330
361
269
353
301
342
280
272
224
358
329
331
315
281
377
374
311
311
293
271
349
314
280
343
310
263
259
284
320
310
395
289
372
343
291
274
391
313
319
323
406
281
327
316
335
373
361
290
358
419
329
367
360
316
363
261
271
287
301
351
296
251
352
344
361
253
283
317
344
310
289
351
347
274
320
411
291
327
341
375
324
354
287
300
374
255
324
281
294
280
281
391
330
327
370
340
336
306
390
250
294
346
320
342
335
324
358
342
327
399
322
330
355
268
283
242
303
271
318
300
248
387
356
278
387
306
413
318
296
316
318
280
261
332
350
283
332
327
314
240
285
375
310
321
300
326
386
349
387
296
248
371
364
320
261
299
269
323
368
349
378
292
380
302
269
330
301
290
253
301
304
212
264
314
377
285
304
352
181
443
253
324
335
313
337
279
309
314
397
323
331
336
301
300
318
323
361
334
342
290
288
279
240
262
241
367
362
319
336
329
286
363
292
307
310
336
337
398
326
279
377
265
316
262
258
344
327
316
337
282
308
323
273
231
318
363
299
357
340
317
345
362
312
261
319
352
315
237
363
288
408
268
391
310
396
260
308
331
351
353
329
303
301
348
286
327
320
254
302
321
324
260
336
362
403
289
320
346
326
250
311
306
328
351
261
368
370
298
264
326
349
376
318
325
319
236
292
229
347
307
278
397
306
259
345
284
327
345
332
344
330
357
252
370
253
268
344
340
341
343
356
324
303
221
394
292
302
373
306
322
357
339
330
339
307
320
267
324
354
263
278
393
309
347
372
313
405
312
341
334
305
203
259
339
317
344
278
273
339
253
352
240
353
302
358
364
362
307
408
315
335
209
308
364
274
369
344
380
301
344
297
394
351
337
342
333
341
329
397
310
245
378
342
415
315
374
344
297
362
270
214
336
261
348
331
355
380
334
288
249
321
293
385
288
213
277
340
399
405
269
343
291
386
394
293
338
280
287
360
323
288
343
308
211
285
260
285
323
341
304
362
257
293
334
373
316
311
310
315
331
332
335
332
314
341
254
334
229
313
343
300
275
304
326
304
268
329
290
314
313
365
325
261
253
323
321
322
374
301
335
248
316
232
235
293
227
283
315
322
361
318
303
364
238
370
330
329
240
284
299
311
356
313
315
331
340
273
312
374
332
254
325
337
266
325
359
338
313
303
216
298
360
333
309
339
381
318
346
299
274
355
339
326
317
308
320
346
325
250
303
284
372
258
329
352
289
320
330
223
339
271
292
317
364
169
259
317
258
217
322
278
314
358
311
251
359
345
298
364
395
321
213
354
316
304
315
260
298
349
269
276
228
293
360
269
251
267
347
402
270
298
351
293
301
269
405
221
351
237
347
350
361
324
363
265
265
346
256
283
367
305
279
311
283
329
384
363
284
344
374
326
253
283
272
263
269
332
289
374
440
358
344
386
371
338
269
284
339
316
258
386
239
320
246
333
369
369
378
299
253
292
326
280
302
302
315
323
336
375
293
305
319
299
391
330
373
255
302
341
282
396
271
290
343
311
177
304
386
285
301
341
306
429
328
319
305
351
282
314
257
352
289
307
301
306
354
280
359
342
340
291
299
338
333
255
366
309
381
343
340
326
265
349
376
388
336
320
261
323
260
313
385
338
325
293
278
319
300
291
335
327
394
261
315
368
300
346
367
345
347
359
284
367
361
326
301
365
337
340
248
337
297
255
347
377
269
291
339
347
331
327
321
323
332
333
286
343
343
293
343
310
374
320
350
289
401
312
316
231
375
288
311
301
231
266
259
291
359
339
357
301
244
369
333
351
261
297
345
347
356
351
299
353
259
368
329
299
226
329
254
254
313
355
333
311
338
283
294
347
316
387
301
300
420
222
414
244
345
268
215
332
204
324
333
348
302
334
360
346
362
296
348
342
360
286
304
358
281
343
351
317
331
281
228
340
383
286
362
241
335
279
335
372
340
348
317
331
333
314
370
294
347
313
307
301
260
297
372
318
329
323
377
212
396
278
258
345
271
261
320
352
328
311
379
326
428
302
321
257
317
400
331
299
274
329
298
363
368
290
289
330
330
309
307
304
384
377
337
299
288
358
353
313
352
372
272
407
371
317
351
364
220
324
380
317
226
305
233
358
322
300
424
295
327
369
297
330
336
225
258
301
379
315
339
309
329
371
302
314
287
322
256
332
232
322
357
298
315
264
354
320
287
277
243
311
253
328
352
278
291
320
335
297
318
363
271
360
348
288
282
235
280
378
317
275
302
338
323
373
287
321
317
295
273
289
285
295
373
304
280
307
341
270
280
383
316
285
279
308
358
344
263
357
315
368
366
304
284
353
332
418
362
309
283
332
242
296
305
310
320
341
344
271
318
288
385
276
370
276
296
341
238
290
319
382
334
340
223
316
300
314
400
268
331
417
298
377
334
339
265
325
336
314
305
248
316
353
375
331
350
335
359
416
326
259
368
298
316
406
269
287
375
260
324
303
274
271
340
317
299
280
273
247
259
301
319
299
262
296
268
367
338
294
350
364
289
326
364
342
290
368
298
285
277
299
313
304
318
375
208
312
267
249
333
281
324
207
304
303
381
252
342
300
366
316
278
410
385
310
285
303
190
283
286
336
331
311
384
375
349
279
390
346
289
298
331
334
338
348
353
301
352
307
332
383
280
240
314
357
330
263
316
331
289
296
372
264
377
329
311
251
380
275
300
239
246
403
361
224
346
370
325
354
294
302
296
308
314
263
267
320
240
322
368
333
313
388
370
384
312
256
401
276
354
289
308
270
366
273
374
295
354
301
312
352
301
286
243
347
344
313
375
347
265
299
288
322
287
336
253
326
302
403
249
352
317
349
252
360
325
342
381
329
283
383
318
252
293
335
299
373
242
330
313
363
260
346
289
335
296
316
341
360
353
342
314
315
313
338
357
344
309
333
293
347
305
327
295
299
345
316
274
265
228
297
264
322
263
262
261
264
299
248
347
325
255
299
345
368
383
379
325
298
236
259
351
398
277
308
346
331
295
283
345
288
303
326
356
319
324
287
331
283
326
324
302
402
346
383
272
291
402
283
269
359
340
338
350
324
363
299
373
339
319
281
296
330
315
334
256
353
311
300
348
290
298
322
350
406
357
283
220
392
277
266
229
254
254
395
339
347
401
286
330
331
342
375
376
323
318
255
288
266
294
357
378
273
306
272
360
314
332
342
333
321
350
313
257
293
332
337
345
422
285
351
355
257
290
348
327
318
367
316
322
334
326
358
386
312
295
266
307
290
355
312
293
354
361
381
397
315
330
243
374
323
346
292
326
264
311
392
354
352
359
326
227
294
360
336
277
327
367
249
332
336
329
313
284
328
338
336
379
393
299
452
219
263
302
317
282
320
198
324
381
291
404
380
327
342
249
296
289
328
326
368
349
332
348
257
383
341
357
275
215
301
265
300
355
319
309
347
326
333
324
359
366
357
353
285
305
294
240
332
248
310
261
305
376
303
368
300
316
294
347
323
328
325
346
382
323
274
268
366
306
321
362
287
295
301
352
290
380
260
331
321
307
333
232
353
295
348
228
315
367
238
311
394
256
352
377
299
343
354
348
329
281
246
354
321
405
308
288
298
371
257
303
364
284
286
301
328
337
384
251
289
393
390
259
360
321
320
448
390
310
381
367
350
367
312
320
255
341
342
365
273
372
322
336
269
324
339
316
311
297
314
348
219
379
271
287
337
358
261
374
283
395
371
264
392
336
360
360
251
381
198
393
303
273
315
240
331
314
395
249
220
222
348
320
294
343
287
364
371
248
330
296
340
302
355
352
360
260
358
316
337
282
293
395
324
363
282
350
403
349
320
320
244
303
342
243
319
379
303
237
384
365
400
358
347
303
344
312
288
254
331
331
280
296
367
322
362
334
382
243
235
296
258
297
411
290
253
353
330
365
308
265
322
343
296
345
337
328
259
270
285
325
342
353
303
356
399
335
281
337
336
376
306
341
401
315
343
392
317
323
315
366
303
313
324
241
303
367
427
239
316
327
288
295
343
308
353
306
328
359
303
286
395
354
342
255
382
392
335
273
243
352
374
330
317
333
318
281
316
238
293
285
335
238
323
331
345
306
337
353
295
296
271
421
278
238
276
308
350
356
405
357
300
308
300
240
302
432
311
305
419
316
401
268
380
367
371
332
334
368
371
363
290
315
353
333
353
336
358
263
302
391
293
309
295
366
359
383
317
280
270
316
338
332
282
334
293
297
302
276
233
278
265
369
358
340
295
325
374
314
339
325
346
320
323
306
276
189
327
282
278
260
325
419
395
335
421
360
345
325
376
290
326
383
369
269
260
322
338
302
312
315
290
336
312
331
316
314
320
306
335
336
351
350
361
266
379
323
316
358
312
295
287
270
298
318
322
352
429
318
364
231
373
378
357
389
238
391
303
283
285
298
344
360
311
360
208
341
363
285
339
168
250
362
349
328
262
326
320
327
297
358
267
314
294
374
305
301
343
299
328
244
348
341
362
298
357
370
331
337
373
319
227
323
355
280
356
266
271
366
341
329
311
351
347
338
357
329
315
275
288
258
283
356
293
329
242
350
344
276
272
284
401
344
387
347
255
337
327
362
316
273
334
298
375
401
376
288
413
355
276
362
288
327
281
338
371
308
330
330
247
328
414
270
369
296
310
386
352
284
327
295
378
328
341
317
305
356
324
297
323
334
253
411
351
325
299
346
306
366
321
286
340
291
343
297
319
309
347
360
294
292
377
263
356
330
270
297
314
312
263
314
289
236
220
276
320
346
252
381
303
306
421
279
319
352
245
332
286
314
353
352
350
371
332
309
305
298
343
345
288
405
378
369
324
298
338
293
378
317
348
322
307
304
341
410
375
442
346
317
301
260
310
337
370
258
419
324
285
274
237
334
312
306
246
221
303
332
386
279
249
380
367
299
209
308
241
343
404
307
367
294
329
296
248
306
418
230
380
354
341
320
356
330
357
336
266
367
333
284
274
346
301
381
351
307
309
369
312
332
275
327
307
294
330
390
373
335
378
372
363
341
264
369
325
358
329
304
248
296
363
286
283
284
335
304
337
328
378
273
296
303
359
286
296
318
328
223
322
362
326
324
368
387
285
309
291
351
279
297
246
243
332
279
303
314
343
354
218
341
278
356
290
346
376
278
381
303
340
352
391
375
330
247
349
356
390
309
255
311
328
335
258
368
376
267
249
262
377
272
334
242
251
325
387
269
348
302
277
315
321
328
271
302
274
335
279
349
253
289
286
342
322
288
330
312
347
285
311
314
345
375
388
391
308
234
327
303
312
351
222
299
333
386
367
308
353
357
318
204
343
371
296
352
280
243
288
297
328
263
372
269
335
297
307
329
324
389
362
261
286
371
299
348
398
404
378
265
354
268
303
288
343
250
287
252
326
249
285
360
318
341
274
285
307
354
321
315
316
326
268
360
360
329
237
287
367
268
293
344
351
314
348
245
320
352
287
304
275
281
310
317
319
312
290
245
358
370
232
305
298
240
343
299
329
236
367
223
332
293
345
439
350
345
304
354
298
344
323
321
293
330
321
310
345
305
337
348
355
340
245
297
399
285
319
305
334
290
309
443
341
330
258
277
294
313
275
324
324
286
272
427
270
304
329
363
298
315
327
335
310
234
318
365
300
331
349
241
357
315
351
307
307
323
292
341
279
379
308
342
346
301
279
352
239
370
331
231
370
313
215
408
260
245
323
269
295
300
327
208
322
353
360
328
328
322
261
308
329
361
215
330
279
259
285
310
272
290
418
291
339
257
362
297
306
372
285
286
292
272
357
310
315
329
342
314
368
219
338
261
315
402
201
254
309
287
355
297
368
280
245
356
254
344
320
353
415
263
299
330
302
351
333
310
289
290
265
254
339
263
291
314
337
323
254
257
289
374
315
343
354
294
407
346
373
313
458
276
231
289
289
264
349
348
325
278
346
299
412
291
319
384
393
361
375
334
302
220
380
347
318
293
348
281
251
288
283
355
365
411
282
199
274
275
348
345
296
418
350
268
396
312
297
259
289
311
338
342
317
340
316
329
366
251
380
236
308
349
245
199
395
251
318
234
314
302
331
359
262
313
399
309
290
277
366
288
348
295
321
347
372
338
280
337
315
326
348
291
317
253
298
348
279
296
299
289
343
357
286
253
391
385
292
270
340
303
353
299
251
312
319
316
309
318
255
318
362
287
281
316
304
277
345
390
317
290
317
361
374
322
272
367
291
340
302
344
344
310
281
327
330
275
363
360
273
259
291
327
255
241
336
298
252
343
299
373
288
395
370
425
290
317
330
310
358
314
315
335
326
394
262
324
305
278
368
349
276
281
232
384
323
242
322
236
332
317
316
303
246
355
276
320
335
322
276
260
285
309
309
309
257
398
351
267
313
302
316
364
369
346
284
241
303
368
270
282
346
343
338
323
348
315
332
373
327
277
264
293
345
291
258
294
299
280
290
383
363
440
377
355
366
268
240
353
232
284
315
215
205
241
303
343
297
251
358
367
358
316
305
283
314
296
373
334
341
266
345
269
316
288
346
336
381
313
346
358
243
338
314
327
317
344
349
271
266
267
304
303
382
239
390
286
337
356
392
246
309
325
287
245
213
386
365
299
300
297
288
366
345
239
396
272
397
273
256
336
327
335
312
289
351
339
379
296
319
328
321
291
349
332
318
308
308
312
344
242
309
298
336
281
291
313
375
293
321
283
232
341
292
286
319
358
344
341
264
283
322
286
379
330
376
301
336
338
328
386
304
327
337
304
305
255
377
285
219
327
388
338
300
353
337
340
331
312
335
368
352
285
272
298
267
371
295
288
304
336
345
379
253
238
308
297
270
326
345
330
268
334
324
355
275
274
315
297
339
350
345
312
258
347
337
377
389
261
362
333
375
343
258
336
299
310
321
300
335
297
320
355
298
307
359
275
326
287
286
333
375
345
296
328
447
309
302
215
377
376
307
300
356
222
286
377
267
289
406
243
322
333
341
277
353
347
343
281
336
345
281
214
288
357
346
316
336
315
321
336
239
345
307
321
297
288
409
412
284
331
302
318
244
281
339
369
230
287
375
335
318
385
321
366
360
344
360
340
345
342
356
284
314
251
226
413
280
336
272
311
294
301
311
283
274
305
303
308
368
252
432
327
279
326
390
262
370
341
396
305
269
276
343
353
321
343
222
302
319
248
222
243
377
335
371
171
358
311
281
331
312
349
299
341
287
212
351
303
297
399
310
340
295
336
337
354
254
272
278
357
298
340
280
370
276
295
274
273
257
277
284
296
325
320
323
359
345
361
320
353
368
299
367
369
368
302
345
299
320
386
338
376
346
232
265
390
272
263
288
355
337
320
301
363
317
301
322
382
336
352
299
364
293
379
397
212
309
349
464
289
305
304
430
341
305
312
354
393
338
277
240
290
373
358
299
309
338
333
276
344
378
290
255
349
343
262
272
280
333
308
369
369
344
332
377
328
411
320
363
295
339
372
360
291
339
285
259
363
379
250
385
298
320
331
301
275
314
274
369
335
329
364
358
261
430
317
299
403
265
357
435
308
384
351
343
323
308
399
247
420
347
346
277
273
287
397
367
315
327
310
275
339
268
326
311
243
303
251
314
364
313
396
411
342
304
373
324
330
197
234
344
287
376
311
207
353
298
333
412
337
317
349
298
294
365
235
296
410
320
333
329
314
330
295
266
311
277
396
303
307
331
324
279
300
363
361
361
332
373
265
362
337
337
313
361
384
252
317
273
420
274
287
286
252
331
303
327
300
270
269
345
309
241
267
276
367
311
361
323
387
355
306
292
301
338
350
303
278
347
266
307
263
337
356
381
339
320
360
276
360
337
300
379
288
343
359
317
379
344
334
262
304
316
355
207
347
212
321
374
254
337
376
432
275
267
327
213
328
310
319
349
347
374
338
237
357
307
321
348
268
274
315
383
357
345
340
307
345
330
266
274
391
380
236
315
327
225
278
291
330
320
341
274
288
388
376
351
386
368
323
363
222
229
349
352
346
290
328
346
348
291
367
297
332
328
294
404
228
300
312
219
377
346
347
297
323
379
337
280
275
292
319
373
322
274
286
401
314
257
274
332
298
341
416
256
331
292
218
193
389
282
328
281
295
383
322
318
287
357
265
281
264
334
284
301
422
313
328
376
318
299
294
290
386
302
280
350
343
331
302
349
323
304
304
305
313
294
355
258
299
330
332
286
351
235
347
325
301
278
252
328
299
339
304
280
389
315
380
315
356
277
385
327
291
262
382
322
316
340
339
211
363
285
378
343
283
365
262
319
333
311
340
308
317
321
413
298
308
381
285
343
329
279
329
350
403
341
385
351
348
341
328
393
265
344
274
335
405
294
364
338
265
379
309
317
307
264
401
306
269
311
284
362
269
311
314
260
338
299
304
309
286
387
371
255
181
330
346
269
344
314
344
340
366
309
226
364
282
342
299
331
384
245
268
335
268
360
381
301
358
367
316
266
320
271
310
293
280
320
332
285
329
387
293
355
283
311
285
283
333
282
304
316
401
338
313
359
259
352
328
348
280
281
361
306
371
310
302
319
283
332
291
311
348
304
378
324
277
334
289
299
247
241
340
355
392
382
330
385
340
333
327
318
296
324
272
385
290
382
399
288
355
344
324
265
358
421
394
218
280
290
410
315
361
274
224
300
342
338
328
337
333
250
354
326
226
299
292
381
321
292
252
368
344
332
337
352
347
377
316
313
342
328
365
371
351
359
303
353
287
259
357
330
350
371
358
330
343
360
392
302
257
231
378
324
295
304
303
316
306
327
286
283
385
307
293
366
291
376
338
319
264
295
290
336
254
295
348
333
350
296
292
327
344
283
363
255
349
252
300
362
374
388
271
286
330
235
279
311
306
312
350
368
345
354
399
245
304
339
270
344
286
322
322
333
333
294
359
324
287
300
341
311
274
361
341
350
326
311
288
378
343
260
285
326
388
401
373
317
334
307
366
353
341
289
391
361
320
344
340
328
298
333
353
339
285
281
339
362
202
296
179
371
403
270
246
266
382
276
361
341
345
215
364
300
324
201
309
249
382
354
349
329
286
346
305
271
304
240
269
272
256
311
325
276
347
389
317
330
341
387
336
415
222
350
348
283
282
197
314
355
277
311
270
295
258
366
388
273
348
305
347
330
377
236
268
378
181
259
360
295
298
344
359
297
341
328
291
295
262
361
368
297
359
306
327
374
290
421
307
304
378
277
379
314
301
340
347
399
273
361
338
234
417
392
326
289
295
374
325
331
356
316
274
315
324
257
333
330
343
388
352
399
389
282
282
326
326
277
275
353
276
339
271
338
358
357
292
374
304
390
395
355
313
330
317
338
257
388
318
281
327
356
255
344
265
290
349
273
276
322
216
289
267
375
248
225
273
393
319
248
338
286
338
344
276
279
349
361
292
278
330
281
358
373
327
291
328
389
199
296
341
378
233
373
374
340
352
255
328
324
281
335
386
339
271
310
353
356
384
279
313
375
304
376
280
372
247
348
387
342
336
344
414
308
303
278
371
370
407
347
352
351
320
214
326
302
293
389
392
387
324
307
327
296
293
364
270
376
464
277
317
375
274
377
346
217
366
321
319
245
353
393
289
320
354
267
325
313
310
351
346
330
329
295
395
345
387
215
375
286
306
288
313
310
357
328
357
378
312
324
272
318
313
286
255
309
338
346
281
325
334
324
285
356
332
365
384
283
371
282
364
397
256
297
281
370
402
310
365
334
377
336
297
304
230
323
347
310
317
363
291
257
341
317
310
342
301
319
318
328
283
288
289
311
319
309
293
393
254
292
370
314
339
260
282
381
395
358
322
366
369
284
335
271
340
351
284
272
252
294
315
373
326
281
333
294
328
282
353
373
303
275
428
331
376
349
377
250
296
292
334
313
410
339
290
325
302
365
312
304
339
454
315
369
327
332
331
316
356
279
273
355
306
300
314
285
332
355
368
283
397
358
323
315
309
361
359
369
317
241
371
343
310
383
309
319
259
265
329
295
271
377
303
306
214
376
337
285
261
384
262
242
346
382
354
326
349
292
359
375
297
314
276
360
292
364
202
278
352
361
381
305
377
324
285
306
307
203
321
304
287
316
308
321
335
316
363
252
331
318
335
280
357
338
375
231
310
346
235
239
243
299
305
368
343
363
308
282
257
365
381
385
288
279
289
336
333
362
319
381
311
248
406
317
338
328
328
310
338
351
377
278
338
319
280
403
291
323
345
268
297
271
314
311
308
317
355
337
312
346
325
315
370
285
353
310
303
255
343
356
350
354
351
283
317
311
275
340
253
310
378
237
354
340
295
350
376
345
289
244
298
351
292
286
315
343
335
358
260
349
296
286
372
388
387
283
291
353
298
346
383
295
286
281
357
376
309
382
341
298
321
282
245
269
325
357
294
361
191
313
326
256
326
371
343
286
334
267
311
229
320
396
318
319
366
294
322
337
389
257
271
314
303
233
314
282
381
328
306
309
312
311
334
412
307
348
257
267
297
292
251
335
266
305
344
304
324
335
316
239
316
333
252
326
280
430
310
348
349
261
376
214
275
319
350
373
406
333
299
355
320
333
262
310
338
351
301
192
367
261
381
319
363
261
257
421
227
221
329
277
307
238
288
252
419
285
253
294
364
304
309
329
367
359
380
299
261
303
311
433
247
311
314
289
286
170
249
370
336
325
311
365
255
227
327
341
304
306
364
308
332
255
308
319
368
381
345
299
346
332
342
315
317
385
271
237
411
222
305
334
357
337
337
316
355
380
320
333
391
348
281
364
305
338
202
313
295
234
356
361
292
338
284
281
348
279
307
294
338
312
295
300
375
307
384
350
291
270
336
278
309
342
368
321
234
240
386
338
317
337
352
382
320
276
235
373
273
350
360
279
335
195
332
305
380
264
367
381
301
324
335
327
229
324
261
215
369
318
321
296
354
380
260
244
261
380
313
355
335
300
282
296
410
336
296
237
297
218
256
265
273
272
337
359
312
378
309
386
357
253
289
247
275
308
362
357
280
388
248
328
293
373
348
338
289
325
272
334
349
277
316
265
298
268
337
271
363
306
239
365
255
287
320
263
322
343
292
383
259
298
284
245
355
268
367
283
292
316
257
319
230
357
393
291
369
366
347
358
344
315
382
362
317
375
393
329
400
280
256
308
319
334
329
322
332
240
327
298
456
329
286
337
287
267
228
272
239
322
321
266
289
238
274
282
281
332
315
362
373
327
343
233
314
283
241
375
270
257
363
249
309
285
303
300
309
313
367
368
336
324
316
280
257
350
279
272
302
296
298
319
283
288
348
326
335
240
308
315
347
370
316
373
317
353
325
338
305
400
344
287
278
273
279
374
255
324
318
284
284
318
307
362
299
302
314
283
315
245
321
298
320
294
299
296
331
360
348
326
342
280
246
188
252
326
200
355
346
320
305
243
324
345
291
300
335
366
296
302
341
331
361
340
368
306
343
344
306
285
376
305
331
242
288
292
279
344
294
301
298
252
289
333
354
326
278
303
294
266
328
307
324
275
316
314
279
262
315
338
329
247
359
331
288
297
352
373
263
329
412
338
298
304
302
308
300
315
346
323
232
277
336
341
276
383
385
311
335
317
341
332
328
306
319
349
315
287
267
296
294
336
279
277
297
366
297
299
412
321
277
337
326
371
278
305
411
301
246
262
320
300
344
391
350
324
400
252
308
362
287
225
292
354
247
291
308
369
300
279
404
257
308
283
360
331
345
322
370
286
337
260
329
329
220
190
309
222
379
289
297
316
389
328
338
262
334
284
348
319
383
301
292
308
336
358
300
274
316
291
271
346
298
312
289
317
271
294
265
281
258
362
323
334
335
403
354
280
281
291
303
163
386
341
304
310
365
357
305
345
287
317
363
312
360
299
312
299
286
381
351
324
392
352
267
334
242
252
355
370
285
280
355
282
337
295
366
319
311
360
289
291
270
347
243
404
342
329
307
396
291
384
361
327
237
351
319
390
378
338
334
281
344
345
297
282
365
321
280
244
312
307
351
348
297
422
323
330
325
338
256
245
371
293
310
336
341
315
311
375
264
272
383
209
319
243
271
237
315
281
378
422
382
305
365
298
277
363
373
385
371
248
278
306
323
380
337
324
325
324
392
355
361
348
315
319
311
334
368
338
359
275
329
227
294
224
242
278
334
354
297
342
211
327
296
292
269
288
332
315
332
350
285
280
293
329
390
305
307
324
247
372
311
300
411
293
297
224
363
343
298
306
281
314
374
287
293
320
370
267
290
356
306
379
297
326
357
348
426
322
345
369
377
284
383
298
270
281
351
289
331
313
352
299
291
293
357
352
315
352
462
299
344
325
321
329
351
272
366
271
292
370
242
395
373
368
301
263
254
372
272
450
362
346
274
315
382
397
313
258
331
305
307
321
366
255
340
359
313
277
316
256
365
295
339
282
352
278
341
303
336
265
300
300
379
285
298
331
304
310
282
359
293
267
274
324
369
278
316
347
351
283
334
340
302
341
312
270
414
377
334
328
289
262
325
348
332
311
347
292
380
283
349
222
339
383
353
304
324
310
364
364
312
382
361
328
277
382
322
291
247
352
338
405
341
326
336
296
350
303
326
352
290
230
360
319
297
240
304
318
301
348
240
379
288
370
319
334
390
234
266
295
248
324
410
397
363
321
342
359
327
343
314
319
276
261
315
341
380
343
264
382
304
278
375
274
365
318
311
382
248
325
300
285
259
375
312
352
284
329
389
369
342
358
340
389
353
353
374
349
275
280
274
299
285
351
353
307
289
389
283
223
265
357
366
252
386
309
353
338
347
331
314
271
350
313
206
276
347
289
302
384
305
310
279
414
298
331
355
391
324
329
295
322
338
350
326
284
335
298
314
250
307
376
321
327
327
308
330
242
294
264
300
382
350
392
320
333
352
302
344
235
376
384
310
193
370
311
324
338
244
273
329
345
324
366
332
347
349
343
293
301
245
385
392
378
336
317
327
281
265
328
324
298
297
331
359
258
292
310
266
289
287
318
280
254
279
295
274
364
209
370
277
381
380
335
341
323
285
325
305
363
354
249
356
309
342
328
327
256
349
334
340
239
291
339
328
338
295
326
299
293
317
230
346
305
266
258
281
284
274
315
305
317
333
285
337
297
298
340
361
213
336
346
264
318
301
275
339
267
151
351
271
353
360
399
329
334
289
304
274
367
311
362
266
324
350
374
350
388
226
327
311
290
310
372
278
302
335
318
346
315
324
335
285
371
352
382
338
280
361
212
304
327
444
235
297
357
273
225
281
304
339
305
230
314
253
328
328
344
333
325
410
254
273
303
336
283
335
312
214
372
242
332
311
318
321
314
328
396
362
304
292
337
322
325
320
293
418
298
331
367
324
341
402
377
357
290
310
230
319
276
347
373
276
323
328
391
324
343
318
321
268
285
290
295
346
286
290
359
331
337
260
321
321
209
264
243
263
371
312
240
350
332
322
333
255
247
300
299
221
390
300
331
302
242
315
302
349
284
314
303
303
286
264
200
285
311
292
335
268
393
263
376
349
298
260
279
302
327
336
295
253
240
305
354
290
366
333
292
360
335
338
332
321
271
352
301
344
265
335
272
349
354
389
253
330
321
307
278
391
301
345
245
346
286
353
281
288
304
303
272
369
331
221
300
281
339
348
361
319
327
263
388
301
387
331
277
271
358
276
362
290
239
260
330
311
282
337
262
256
308
248
394
306
254
345
247
375
318
311
349
400
301
286
314
349
352
286
365
257
418
327
370
347
350
334
247
331
344
286
257
277
321
198
358
281
374
308
293
185
313
343
365
331
323
355
298
325
396
286
317
322
336
292
311
363
293
289
361
346
354
374
367
311
419
246
383
346
365
265
333
235
282
332
371
338
270
287
269
351
273
331
339
389
306
309
354
218
370
335
173
307
396
355
337
339
392
316
296
307
321
287
276
331
244
309
285
297
323
376
271
229
392
251
297
331
332
384
314
397
366
286
359
298
336
300
342
338
339
339
320
286
318
336
327
265
359
312
386
362
261
284
344
324
340
268
223
277
368
262
291
344
278
209
231
334
244
311
344
373
321
309
336
307
288
276
342
366
310
287
316
357
265
283
350
360
311
374
230
383
346
319
277
340
374
339
406
371
304
345
342
298
362
279
322
408
284
285
369
251
301
236
316
371
298
342
320
260
358
327
288
313
281
319
231
296
277
260
332
330
347
388
355
340
186
271
288
299
311
365
293
294
363
307
254
267
339
418
302
346
285
358
316
270
399
265
314
278
355
268
432
296
275
310
256
381
245
373
347
280
314
288
325
311
351
333
326
229
325
242
313
299
321
382
284
313
423
245
272
308
311
339
299
366
298
321
298
340
421
288
343
208
324
372
296
371
319
292
368
291
350
350
334
207
337
332
401
383
319
349
303
288
255
345
253
355
342
320
353
304
371
298
285
294
354
283
251
263
352
396
396
268
268
306
279
292
293
292
338
364
355
272
335
359
344
390
292
250
247
323
294
269
321
327
363
337
369
323
285
338
322
380
356
344
334
261
328
382
340
234
305
301
353
297
347
321
320
268
286
264
218
308
312
264
367
382
268
332
324
313
288
255
272
279
332
338
219
273
344
360
285
297
380
327
274
241
343
283
312
288
373
343
254
278
276
312
329
326
233
335
394
307
263
287
320
216
309
328
339
258
290
258
384
314
396
228
362
216
320
303
386
368
307
301
372
368
232
298
341
350
379
351
331
332
320
343
266
288
342
336
379
290
298
274
247
345
277
358
281
334
327
319
360
325
309
205
220
310
369
327
272
247
226
325
250
298
274
383
354
304
348
388
254
247
332
333
339
246
248
381
400
315
325
389
229
382
321
336
363
243
316
341
259
326
316
367
284
233
259
361
307
455
323
313
314
294
334
329
302
388
322
428
279
324
279
301
332
306
324
322
274
296
294
261
295
307
360
336
236
361
308
312
372
359
324
219
353
296
346
340
321
334
373
359
216
247
328
343
337
309
284
267
284
313
325
345
317
339
285
293
293
302
320
369
293
330
315
385
269
317
269
304
354
316
306
348
393
262
240
298
325
301
314
274
341
306
317
341
266
352
348
258
289
312
284
384
313
360
238
304
253
341
305
388
269
294
373
370
253
302
271
292
360
267
315
375
330
280
288
300
367
312
298
394
279
275
362
341
378
299
259
353
302
195
283
271
293
415
349
341
355
330
293
280
302
226
310
306
292
274
332
360
290
286
370
307
356
361
255
361
362
307
364
395
297
329
380
248
254
388
258
271
286
321
260
253
410
266
296
322
338
308
350
292
360
275
359
268
285
291
366
300
346
405
273
314
329
401
235
306
304
256
216
238
342
387
348
346
381
280
377
372
332
317
389
380
296
298
361
345
343
276
331
305
282
324
314
363
334
337
246
389
300
279
285
332
257
212
373
312
315
330
337
347
265
288
356
410
323
321
265
268
359
264
308
265
327
306
331
354
374
377
253
367
292
286
332
319
285
215
387
323
397
308
337
397
398
346
230
392
304
373
351
314
282
308
257
251
325
347
302
241
306
233
351
312
312
330
240
281
320
325
281
309
302
399
335
436
315
375
336
344
285
389
420
290
318
334
269
271
245
324
355
320
303
271
303
250
276
287
364
297
325
216
276
319
342
303
222
340
308
220
307
396
255
297
296
244
307
346
316
335
322
305
267
309
410
381
346
279
218
305
321
280
279
336
331
336
281
366
345
378
318
226
258
241
369
264
298
278
316
367
311
367
292
357
321
341
321
336
338
305
254
287
255
296
345
378
363
364
339
368
349
294
351
304
290
296
366
315
351
270
326
299
364
327
318
287
259
255
367
298
318
333
307
343
347
331
354
327
296
367
366
330
302
347
323
227
270
384
335
296
269
345
326
359
299
381
268
335
352
307
307
275
381
340
371
306
362
276
311
339
260
264
277
378
325
300
311
266
338
353
284
261
343
301
290
309
297
363
362
374
278
318
298
390
382
339
307
363
237
309
290
299
347
260
288
298
342
282
330
299
264
272
232
369
364
313
378
421
314
340
324
394
305
322
313
343
360
309
255
297
327
296
365
289
305
316
262
301
314
300
275
296
358
293
394
309
364
422
285
310
283
336
370
257
332
366
247
288
338
290
374
378
314
267
334
279
230
247
301
306
359
355
285
273
361
362
351
349
352
323
401
297
391
310
303
379
334
389
352
347
339
306
307
338
320
399
368
306
347
330
298
299
334
303
365
330
326
278
370
299
311
278
300
356
248
348
318
335
273
221
285
316
307
371
382
310
325
318
416
368
283
357
293
320
304
354
328
286
250
346
269
355
264
333
250
346
346
248
322
266
235
294
307
303
318
371
295
309
371
275
310
288
286
277
267
303
385
383
312
376
268
328
311
273
286
355
386
374
315
300
401
330
357
259
375
373
334
332
381
377
383
320
273
335
346
339
241
323
206
266
287
318
402
346
381
350
330
306
361
249
344
292
353
365
331
385
308
320
304
329
332
350
281
319
366
329
292
312
234
437
292
399
343
324
335
349
209
267
320
293
332
318
345
271
326
325
343
295
328
300
308
375
266
318
277
394
268
353
300
335
309
349
214
276
436
297
309
270
252
288
327
320
388
367
285
392
273
309
367
329
327
342
237
336
352
342
359
293
349
339
308
343
337
249
319
348
329
230
334
360
343
342
333
367
330
329
409
317
296
263
282
224
297
310
373
342
316
340
272
300
347
334
332
343
376
312
344
305
267
319
294
394
337
378
258
301
328
303
334
368
354
274
294
287
401
275
369
345
294
302
312
332
307
316
247
259
261
420
350
377
373
287
320
357
279
331
374
347
335
222
298
332
341
266
332
378
318
340
298
314
376
286
346
298
337
295
233
357
309
342
363
373
307
357
329
341
411
365
330
245
384
252
304
307
332
294
324
300
227
333
193
283
356
325
299
308
348
362
344
337
264
353
247
385
327
225
372
307
310
266
269
314
296
370
377
328
292
265
334
301
318
238
281
290
299
330
350
270
414
301
369
299
295
332
339
353
293
272
236
241
333
335
305
259
351
376
336
275
264
345
306
291
296
316
274
336
326
273
250
348
312
358
370
353
317
275
312
320
330
357
249
233
343
394
417
406
290
247
299
361
319
251
285
381
311
329
262
389
354
320
324
277
325
433
325
299
317
303
318
329
364
304
285
352
324
372
263
298
278
322
316
359
305
385
289
354
327
303
297
314
290
307
309
260
317
343
312
274
326
311
245
274
341
289
356
350
232
308
322
319
368
300
284
357
346
309
297
251
268
336
353
305
305
363
288
349
337
231
368
349
248
305
352
358
333
251
400
376
277
351
291
308
348
295
359
357
284
348
308
398
289
288
409
335
321
381
310
279
294
327
330
275
337
224
298
303
291
350
298
281
367
343
264
303
309
297
375
291
313
418
237
268
299
339
313
361
334
313
298
345
301
380
274
269
406
292
348
240
280
276
283
306
426
314
207
329
290
321
266
269
405
293
332
266
238
338
247
313
230
411
353
387
317
333
322
379
310
340
340
372
361
280
322
395
296
340
331
324
316
298
203
402
210
344
275
303
356
303
315
343
304
297
241
371
329
326
331
331
271
333
310
313
291
381
334
375
363
285
350
353
388
374
342
273
247
330
233
304
334
381
382
312
336
296
328
369
406
309
311
360
331
359
354
277
270
280
322
338
336
348
331
327
339
289
366
317
267
342
271
323
275
318
291
441
323
371
302
367
300
376
203
299
346
379
287
298
320
353
331
284
300
289
352
345
318
314
230
334
301
306
295
264
356
294
352
314
391
368
312
281
290
347
298
307
368
293
361
288
323
293
350
380
312
302
223
381
364
374
301
260
365
246
278
222
261
316
285
285
280
398
348
327
307
420
309
384
321
353
289
330
251
235
346
305
367
352
326
285
237
284
246
326
323
378
398
310
317
278
299
308
213
353
264
352
320
410
307
334
363
319
306
213
304
395
296
373
289
312
360
257
302
275
278
343
241
405
241
404
239
395
385
258
269
325
297
232
330
287
345
338
320
323
300
320
377
261
273
348
372
392
357
323
315
360
364
340
301
304
279
300
314
298
317
342
247
304
373
363
256
331
335
337
404
250
353
364
318
347
358
326
345
355
319
304
287
304
294
334
248
266
318
318
331
252
262
297
315
310
316
238
335
286
346
305
308
326
301
330
321
283
322
322
388
325
320
361
296
292
341
263
311
372
289
297
245
228
314
379
284
326
305
335
378
297
287
331
318
271
359
317
377
257
344
298
331
375
261
349
258
291
337
406
315
287
300
353
334
313
258
310
337
264
310
349
326
252
280
327
232
364
335
347
251
292
351
345
252
299
420
312
414
284
334
277
299
328
331
333
339
312
278
291
441
282
274
342
336
338
382
307
364
347
287
285
343
370
299
250
379
409
206
275
325
342
345
337
385
385
382
436
206
382
230
305
315
375
315
350
328
301
312
360
345
381
307
305
324
372
357
265
324
296
414
290
360
313
366
310
357
294
357
353
346
340
330
299
350
350
317
278
280
342
340
312
263
302
299
354
283
373
240
298
212
310
342
403
319
327
422
318
242
268
378
305
313
359
290
301
316
312
335
325
275
343
324
339
281
302
404
328
285
339
370
321
269
261
365
315
291
274
244
144
347
369
323
398
242
297
260
348
291
295
354
263
278
317
340
246
279
360
261
337
340
307
370
412
318
371
346
388
316
309
359
390
325
362
265
319
384
294
337
333
299
298
228
333
374
266
295
231
282
400
300
283
374
325
369
290
324
303
322
349
335
238
297
379
306
330
318
355
326
274
253
261
299
311
219
285
319
380
308
341
353
380
362
290
336
319
313
317
303
219
339
388
359
312
309
369
350
350
247
236
310
222
285
239
290
278
330
344
292
335
240
378
313
378
239
320
299
317
271
258
350
315
280
313
349
283
321
293
329
240
318
329
288
310
220
307
309
262
276
384
334
318
361
334
248
369
376
351
323
386
363
301
199
378
330
328
340
324
189
374
344
249
342
336
338
292
312
279
354
240
375
345
305
328
321
322
306
309
245
318
384
327
311
271
306
285
437
352
284
361
304
363
320
355
309
385
322
307
283
308
296
317
331
192
261
338
221
349
360
321
347
357
309
357
321
311
338
396
360
278
308
370
282
300
336
309
205
332
383
369
422
356
223
371
311
341
264
264
298
296
329
291
334
236
371
260
408
315
295
264
362
281
342
284
390
323
327
270
296
336
349
297
179
321
308
332
317
354
306
279
354
266
341
299
340
323
314
298
427
320
328
266
310
418
292
242
331
349
295
338
255
233
290
266
398
246
317
251
312
345
359
355
260
296
383
321
311
352
413
414
327
280
345
402
331
366
351
388
316
286
282
282
293
275
351
368
287
279
302
286
333
343
302
352
276
354
319
369
223
325
336
214
343
350
302
367
336
284
317
310
241
332
367
345
275
357
366
291
353
359
375
337
323
286
305
293
399
302
306
341
322
280
297
262
297
287
367
321
316
288
339
351
325
333
291
294
308
354
364
370
320
331
351
318
322
305
241
326
324
280
380
324
371
348
293
271
242
335
336
348
293
309
313
273
279
369
320
287
293
253
325
379
317
197
319
345
288
340
345
305
226
266
357
358
396
346
341
311
355
357
278
325
311
280
335
395
337
232
334
265
326
330
275
243
228
237
329
292
281
239
291
324
315
331
368
260
383
314
336
354
300
313
313
314
300
303
307
296
314
315
311
264
303
307
185
235
277
373
310
250
276
330
371
318
311
308
328
366
348
350
281
253
301
294
329
382
336
287
268
413
340
314
238
289
265
307
355
280
364
367
307
308
308
293
268
406
326
324
363
319
338
339
322
327
224
325
335
286
299
343
321
306
320
356
346
359
341
287
347
192
271
296
317
404
289
267
361
291
322
401
331
364
321
260
319
339
359
287
296
310
339
264
391
338
333
265
275
285
373
330
309
366
284
342
283
346
353
348
374
296
326
392
279
400
346
298
281
359
296
397
327
268
308
319
281
287
355
296
289
371
229
302
314
405
294
343
301
346
337
299
338
393
288
292
303
283
395
312
396
390
292
376
287
259
330
277
347
340
354
314
216
273
255
278
301
299
323
277
379
316
390
265
343
271
302
219
290
249
269
309
285
331
293
336
337
266
334
363
356
312
274
273
297
291
308
342
310
363
334
240
381
298
316
320
320
388
378
329
304
375
243
322
250
388
337
281
289
250
291
322
237
291
299
210
352
357
374
325
304
304
347
320
288
349
294
332
309
297
440
391
294
357
348
332
309
316
273
230
311
376
278
229
350
319
351
294
335
307
312
235
257
364
287
212
301
270
303
383
313
296
324
404
348
378
331
360
346
325
326
303
263
318
160
350
348
355
362
341
376
305
358
344
313
280
378
381
306
418
278
368
332
345
313
333
310
325
250
292
317
360
383
342
367
316
318
319
352
339
271
314
264
309
335
348
416
332
373
385
309
293
334
391
372
297
264
325
316
263
332
298
339
385
327
374
322
246
277
352
311
302
290
324
262
314
390
302
342
386
360
267
404
299
337
290
336
272
287
290
298
295
369
364
292
310
391
429
271
338
299
329
254
380
336
329
325
277
394
296
262
311
268
304
392
236
361
316
342
271
314
425
295
305
326
391
393
311
368
317
320
291
340
375
225
334
219
353
287
376
308
358
288
369
371
313
265
321
307
404
388
325
362
305
365
339
350
334
364
355
306
235
342
421
335
384
297
318
360
351
316
340
270
378
363
305
350
365
334
367
285
340
297
461
272
429
359
304
273
321
364
369
291
312
365
288
271
334
382
328
298
339
285
371
360
259
348
292
292
349
344
280
333
349
327
274
353
292
260
376
302
335
298
339
357
350
321
365
298
267
318
271
294
320
335
343
356
268
319
327
162
406
253
380
330
326
266
310
332
350
280
332
394
332
269
267
378
248
282
398
325
317
297
370
345
404
337
320
314
320
216
333
315
309
290
321
356
299
350
340
330
314
338
287
327
302
277
319
389
361
326
322
296
321
299
234
284
317
286
215
319
307
331
386
265
304
280
335
322
335
328
282
289
340
209
292
314
317
273
293
318
357
265
334
315
342
267
271
329
374
250
290
364
301
305
323
351
359
327
296
395
353
353
343
252
337
288
343
362
347
273
323
225
335
394
297
315
383
404
321
326
339
376
314
306
334
348
328
266
337
318
269
335
356
288
241
348
271
366
304
326
316
371
195
388
217
283
302
319
270
352
335
377
334
336
314
335
376
314
254
304
331
283
237
348
302
341
300
337
299
318
329
342
291
245
253
308
352
426
283
308
321
316
302
352
338
319
369
282
321
280
295
294
362
296
302
281
301
343
321
395
311
312
331
297
309
357
289
362
350
303
246
346
284
330
329
283
284
272
322
271
302
292
297
384
275
341
308
310
311
258
313
327
281
308
362
416
268
357
326
309
302
261
300
329
299
270
283
304
327
275
264
262
324
356
433
304
346
376
311
373
400
302
324
325
296
296
375
293
280
319
221
378
370
388
348
315
357
308
315
314
363
303
274
383
265
361
315
331
395
298
294
338
320
398
310
323
357
291
427
243
300
334
243
313
315
407
326
343
345
332
316
409
284
348
338
238
302
332
348
387
373
425
361
360
290
334
325
242
272
324
338
284
332
333
312
355
323
344
295
328
287
230
331
281
380
320
301
351
292
261
329
362
328
210
315
253
313
359
197
344
266
325
308
308
276
280
317
313
353
311
312
300
309
310
368
333
274
305
239
350
321
298
378
435
355
350
267
278
273
346
335
286
265
312
284
327
319
278
258
292
326
387
286
324
331
342
258
282
404
346
324
390
330
346
326
407
306
342
266
368
331
323
312
373
286
295
292
257
314
308
276
358
320
223
279
233
276
301
282
405
358
370
343
384
348
314
327
328
235
275
321
317
261
356
334
285
276
313
279
295
299
225
344
410
354
343
286
384
315
256
372
276
320
285
300
358
277
302
284
357
256
324
348
309
298
298
323
317
311
312
311
322
383
304
335
289
373
300
397
224
315
321
323
331
322
277
380
431
310
398
338
339
337
328
322
356
325
351
307
343
304
252
296
269
251
314
366
302
232
320
275
306
333
295
276
247
343
353
323
295
276
319
288
333
320
327
241
315
295
327
361
257
354
323
368
274
352
326
331
262
294
290
366
351
356
316
241
353
428
301
402
318
329
253
450
254
281
311
298
319
264
398
310
337
349
352
319
284
315
247
325
348
340
316
326
190
300
343
351
338
330
349
312
291
245
327
323
292
291
263
310
329
295
279
299
298
264
314
282
326
285
243
251
282
343
306
400
317
248
285
315
363
375
227
348
307
402
373
252
283
288
227
329
366
356
305
325
223
338
363
347
338
240
295
355
296
263
232
317
325
245
302
332
310
318
230
249
300
298
331
325
318
359
320
343
349
301
336
284
357
281
380
366
201
348
366
338
351
382
332
296
265
247
295
329
321
295
272
273
321
294
305
366
396
390
363
367
349
370
360
314
317
366
391
362
294
276
340
306
382
318
316
299
250
269
259
319
371
355
380
240
204
272
271
274
321
380
327
355
334
227
296
378
306
332
368
265
243
339
283
387
290
424
282
300
336
372
314
333
252
392
375
355
301
315
288
346
313
368
313
304
277
369
277
253
304
263
348
349
335
254
349
339
323
275
302
399
264
321
305
341
305
256
307
218
322
339
340
316
367
285
345
322
321
320
244
300
301
295
320
250
314
317
295
319
280
305
315
280
330
470
321
314
376
380
325
398
347
296
396
291
285
299
312
353
284
339
337
238
334
386
314
403
341
279
405
267
233
319
352
362
330
377
344
304
362
279
320
332
270
385
335
347
194
265
361
344
283
354
349
343
274
329
265
249
299
286
334
287
323
253
275
263
303
283
323
354
332
353
394
393
427
329
390
333
243
304
170
289
282
345
301
221
264
322
319
234
359
322
299
371
365
354
310
313
262
342
306
384
313
369
327
328
226
272
398
291
392
391
321
324
222
349
307
377
303
356
271
269
358
317
309
291
310
297
370
393
338
355
352
376
313
260
255
316
335
290
286
249
342
340
267
320
356
365
252
435
354
311
216
327
338
323
338
332
344
305
356
219
257
314
289
313
373
287
294
334
301
292
343
261
357
288
314
386
294
434
313
344
376
300
363
400
321
331
299
249
325
305
288
297
345
428
357
247
311
271
346
297
269
387
373
377
341
345
399
377
309
342
355
329
379
348
330
391
377
305
334
284
292
313
286
445
374
317
327
255
378
260
290
348
230
312
310
361
269
367
310
313
278
343
273
374
334
360
121
350
301
316
273
359
374
282
320
296
347
403
274
338
392
264
373
315
371
391
378
373
347
392
333
171
414
355
275
370
312
364
326
265
218
357
267
310
294
295
334
330
311
312
398
298
316
327
315
348
344
293
296
346
322
368
348
296
302
319
296
326
318
357
351
371
332
321
359
291
309
380
234
297
210
321
272
321
353
311
368
404
348
335
299
284
279
347
303
285
284
327
273
272
297
343
231
384
305
292
341
324
333
268
327
285
376
251
381
340
314
336
363
252
309
330
279
315
291
374
204
352
385
288
392
303
287
349
300
367
294
285
286
285
232
348
296
396
262
282
333
333
301
339
271
291
310
358
280
343
350
293
319
323
235
233
257
351
328
297
336
351
284
307
287
427
297
365
249
263
354
318
339
362
304
347
267
246
243
291
324
318
407
354
309
339
369
264
312
340
292
375
323
312
343
403
362
259
268
358
362
275
294
319
383
256
351
298
338
328
269
356
372
292
286
378
339
284
268
348
266
258
363
287
345
285
312
331
300
318
410
341
333
288
344
355
265
303
254
328
281
297
349
300
243
337
301
294
359
275
269
296
408
306
262
239
248
355
353
350
401
267
242
263
309
331
318
356
364
290
315
345
351
254
254
346
243
366
282
298
317
301
348
302
247
323
302
303
248
336
285
350
274
288
317
361
353
305
342
299
388
353
380
367
276
255
313
239
368
424
412
303
325
204
267
367
366
158
346
336
306
299
303
350
329
217
306
336
344
298
390
268
321
324
267
340
341
383
314
401
239
299
331
309
347
370
312
307
302
339
315
242
291
292
310
366
272
302
341
365
316
237
278
286
344
313
326
360
299
287
378
296
237
338
254
276
347
319
291
366
402
305
305
258
298
217
322
273
298
298
370
302
288
349
365
421
349
310
286
319
295
193
336
289
335
320
320
296
346
363
324
267
397
349
323
329
288
274
311
331
298
389
336
379
302
310
244
300
348
339
299
218
306
319
252
273
293
285
306
379
361
364
393
305
433
351
300
331
313
254
288
361
352
337
301
329
283
340
308
338
303
353
311
283
377
276
300
336
361
345
256
329
369
269
382
297
311
330
341
324
303
342
286
339
285
325
336
329
287
291
349
312
327
385
313
313
320
342
369
376
334
305
385
311
315
323
304
312
379
297
296
375
407
312
296
397
410
279
347
283
337
419
296
315
301
361
305
295
234
318
353
384
354
298
293
352
347
358
342
305
375
300
351
323
352
317
311
286
357
303
365
239
320
258
315
343
388
248
323
341
279
302
368
283
355
354
270
358
339
307
317
329
230
350
394
333
274
387
317
360
285
363
360
342
394
325
362
296
295
305
387
352
188
321
322
284
302
271
383
343
258
312
328
361
327
384
306
339
355
262
286
297
282
219
336
329
312
320
287
316
211
353
322
309
334
348
333
409
368
358
263
288
271
244
251
285
385
307
310
353
319
318
317
305
369
377
287
342
292
324
237
312
400
311
321
301
308
331
312
362
320
225
311
371
335
248
209
265
397
238
347
288
265
334
298
293
328
239
343
209
313
391
351
302
316
378
279
274
335
411
387
364
355
365
310
292
299
316
336
283
425
289
464
290
348
305
353
340
271
386
301
274
318
285
253
253
294
324
283
284
247
275
203
280
367
323
338
399
265
307
314
361
322
320
319
292
269
302
347
277
337
269
277
287
236
232
297
251
363
262
252
335
303
367
403
307
300
308
304
310
316
282
361
287
222
395
305
278
407
339
255
386
305
317
296
327
299
387
305
381
353
280
345
334
285
370
373
408
305
239
268
276
314
276
288
261
337
362
345
397
347
366
376
308
309
318
187
278
333
287
337
365
322
314
248
262
309
345
345
239
218
395
302
306
355
324
288
239
329
375
278
342
289
284
301
284
319
356
323
355
343
212
294
267
274
353
340
356
331
373
410
286
296
353
299
290
314
325
343
281
378
328
333
370
328
305
348
340
303
369
332
322
329
388
286
247
338
352
395
267
366
341
324
345
286
329
350
325
335
317
333
330
374
270
375
309
310
393
374
320
304
250
409
293
320
297
308
265
283
324
315
313
404
280
333
295
249
342
443
279
321
351
319
219
396
316
310
324
338
346
341
332
295
350
318
422
303
353
329
348
337
325
284
272
372
252
279
378
394
323
344
319
321
279
360
279
353
305
298
308
351
340
390
290
282
357
348
393
418
364
380
362
378
215
355
365
332
390
247
349
307
310
377
339
287
261
261
363
286
329
263
216
302
382
332
331
297
238
279
304
359
344
330
295
241
325
262
297
277
233
309
240
361
310
307
332
284
308
350
281
328
391
281
320
289
243
310
320
358
396
262
245
300
263
368
292
267
287
395
341
343
297
300
295
282
332
305
417
260
426
418
330
335
238
253
332
361
359
281
274
283
315
276
301
311
333
265
294
294
273
339
318
321
360
296
247
320
333
373
393
307
300
320
283
347
272
329
326
315
313
309
404
355
263
312
325
346
263
285
340
329
245
274
237
328
279
322
307
294
283
326
331
352
313
323
312
326
318
340
387
232
281
350
356
362
336
302
271
294
339
280
342
346
386
362
335
269
327
318
355
342
351
300
330
320
291
303
338
288
251
279
323
288
327
302
376
321
297
290
333
397
298
351
306
348
397
272
294
295
331
394
355
311
344
321
370
411
258
246
268
219
300
377
310
335
382
384
249
279
242
383
362
342
226
341
315
360
341
234
285
349
441
312
286
373
347
383
373
364
286
298
275
321
341
278
336
287
322
273
243
332
367
298
277
342
364
257
387
260
385
387
347
355
322
312
259
363
274
290
283
378
301
353
301
255
222
308
336
330
285
241
386
261
346
276
406
320
301
330
318
307
323
353
290
291
329
262
306
343
303
349
231
350
244
319
294
284
338
413
368
298
317
292
370
309
356
368
251
302
277
364
357
359
252
269
327
328
354
332
266
291
393
351
320
277
295
380
318
277
370
271
450
310
240
327
305
354
304
328
267
324
254
283
328
287
392
396
270
336
385
269
361
284
377
340
289
370
282
270
351
355
379
299
269
285
264
303
354
277
289
352
269
296
334
360
297
311
316
282
358
303
278
339
251
306
309
289
303
424
294
339
380
410
350
348
263
297
315
370
376
401
329
310
341
386
375
291
327
318
391
278
313
378
342
325
281
337
354
344
286
252
283
262
233
337
297
304
331
298
315
286
341
323
334
290
398
325
341
333
315
376
279
345
282
351
214
313
266
395
339
265
328
336
279
345
320
293
300
303
310
297
295
296
332
289
347
343
292
327
305
343
286
285
361
286
399
330
297
305
282
254
391
348
368
314
308
351
304
248
279
377
319
323
335
334
348
299
359
324
305
279
332
400
360
327
349
272
253
364
278
336
308
306
321
293
287
337
305
282
399
340
317
306
298
357
297
257
316
327
256
304
340
285
295
282
231
311
298
313
261
353
390
380
328
284
259
308
308
361
317
347
318
299
374
342
345
291
368
330
380
344
305
309
234
320
337
293
361
312
401
348
322
239
375
286
319
328
360
423
326
353
285
346
339
326
377
308
258
354
327
258
387
332
333
369
350
333
274
298
377
250
242
217
254
312
333
239
319
315
333
395
322
314
254
380
348
283
343
373
376
173
348
331
305
348
325
258
265
363
315
288
281
342
262
279
371
373
304
311
295
383
335
292
311
304
335
305
414
307
271
328
261
324
269
360
303
180
340
301
230
397
299
323
298
306
297
252
241
303
379
335
319
286
284
319
298
295
239
400
331
341
217
351
315
305
424
307
284
272
269
288
344
384
342
352
264
286
254
306
315
317
292
290
340
341
402
300
330
390
268
358
315
266
316
326
252
306
315
282
343
323
356
228
292
350
356
248
389
289
289
332
290
288
186
293
277
271
341
310
306
377
370
332
339
311
351
283
379
336
326
254
304
297
396
285
283
225
274
295
348
271
330
294
282
288
341
309
380
227
322
303
284
315
332
291
345
285
407
293
312
250
295
308
378
313
254
360
289
358
293
346
317
373
257
266
323
343
319
274
289
345
310
410
353
269
318
322
339
324
343
299
288
274
265
285
296
340
336
302
341
336
259
374
295
270
301
292
275
311
275
331
319
287
354
295
341
272
375
348
275
331
368
297
294
274
302
297
350
272
304
321
208
378
368
331
322
265
347
371
286
316
283
358
392
314
325
341
328
364
334
280
299
313
320
344
246
314
348
260
347
331
342
380
423
253
324
331
289
394
352
300
273
284
239
316
267
348
413
300
301
330
345
240
339
328
365
344
318
287
364
360
346
362
331
351
344
272
222
346
365
344
351
324
221
302
316
283
241
343
260
368
275
247
351
330
342
367
298
249
343
291
249
279
352
154
320
339
288
356
390
254
427
274
321
309
348
325
335
303
305
299
298
347
323
370
274
263
278
295
393
309
331
269
304
338
312
385
364
344
364
386
349
334
281
345
337
336
340
346
342
261
284
343
419
326
338
318
348
268
401
315
300
327
218
300
295
328
258
213
314
314
237
208
277
320
352
328
387
274
346
375
358
315
268
410
295
285
340
339
314
336
363
278
270
321
335
231
326
308
308
350
237
251
312
291
333
239
298
312
297
310
289
290
303
334
328
379
300
309
296
304
283
348
386
346
302
346
345
311
383
264
295
249
214
303
321
381
318
350
265
321
328
328
298
388
280
328
280
265
325
294
295
235
272
342
396
269
316
369
336
233
268
335
354
373
315
328
338
262
316
396
360
307
312
252
332
368
385
314
306
240
308
319
308
294
280
235
302
369
254
311
341
308
391
258
267
264
221
339
432
290
355
374
361
267
347
338
395
285
338
295
352
288
322
254
314
318
285
293
358
312
325
316
325
306
284
263
240
314
276
340
305
322
385
357
290
307
275
361
426
323
333
348
295
330
269
378
298
221
252
399
302
260
318
339
282
298
352
298
345
309
272
305
336
346
312
388
270
393
361
341
262
345
262
250
208
305
311
372
342
281
286
285
371
346
310
313
305
278
302
369
311
254
300
407
313
303
261
255
314
394
317
270
256
352
275
250
250
337
341
337
299
382
316
333
346
320
362
389
293
264
314
257
316
336
259
306
335
323
375
309
360
266
343
245
354
419
297
290
320
263
229
315
321
322
264
272
298
362
284
340
309
278
381
329
309
388
379
231
349
374
267
308
332
285
372
304
333
296
279
337
296
279
313
297
329
221
313
365
374
319
328
305
410
389
300
333
344
286
390
403
293
234
322
309
358
332
296
350
389
310
367
295
329
355
356
339
383
316
368
279
248
270
316
286
326
234
332
351
281
351
244
286
342
280
415
315
300
294
366
372
295
306
377
339
310
297
395
311
274
295
334
298
254
388
277
299
345
236
316
360
276
280
327
349
266
349
296
312
365
355
382
376
284
362
349
305
372
301
343
366
327
274
290
344
361
301
284
322
302
325
304
390
323
359
360
256
275
339
334
308
396
335
314
323
216
257
297
267
311
375
226
296
323
291
319
355
280
357
357
294
354
269
317
351
276
435
327
329
346
283
307
293
261
343
306
355
338
287
364
254
290
363
353
318
370
355
401
347
272
339
396
349
358
300
312
281
312
331
373
336
325
341
339
315
279
310
330
408
288
325
305
370
337
343
257
265
325
273
242
349
356
340
275
319
327
358
320
366
270
263
348
325
316
212
306
333
309
414
278
265
308
370
265
298
302
349
265
284
252
316
325
210
309
262
238
252
268
342
290
282
397
320
364
317
350
302
271
355
308
383
277
253
234
320
390
276
269
328
325
321
304
347
367
308
289
331
323
256
274
292
298
320
320
348
306
374
308
296
255
332
362
323
305
255
320
281
373
327
334
336
325
308
294
301
396
269
281
334
333
325
319
288
297
265
239
258
399
235
254
367
255
324
356
371
316
354
335
344
268
260
408
281
279
305
302
342
279
259
405
304
347
365
385
316
363
252
286
306
269
325
283
370
302
320
251
261
359
324
212
379
339
309
305
305
318
411
361
316
349
373
441
306
354
385
321
226
307
352
308
389
223
296
265
330
332
282
273
322
379
302
387
385
363
332
357
296
306
251
365
361
222
306
293
266
235
388
334
270
396
367
285
260
341
276
371
324
379
337
250
269
301
372
349
375
349
223
259
309
341
291
281
328
355
315
402
348
343
413
292
355
356
358
326
327
240
307
315
296
308
266
261
323
298
308
290
263
298
344
355
276
413
326
366
297
255
361
296
345
334
357
279
339
363
306
405
237
330
355
279
351
357
334
327
287
311
307
233
387
325
305
324
336
290
254
312
312
293
363
288
288
349
351
355
357
336
280
302
267
325
305
329
318
298
320
322
311
296
298
329
280
322
329
347
358
332
382
336
314
364
332
220
292
251
338
279
279
330
307
343
363
337
231
307
373
280
360
328
269
368
282
324
347
248
352
392
276
357
271
309
306
372
342
318
273
335
343
346
302
350
362
355
354
284
341
289
401
389
340
325
311
376
301
290
269
347
298
247
296
317
256
276
274
325
390
250
340
290
269
320
364
303
327
246
311
320
335
374
344
430
345
266
262
280
353
356
336
309
319
264
272
309
321
331
296
316
353
324
252
321
318
320
319
291
279
304
296
237
286
322
238
285
279
380
322
294
327
332
350
372
359
322
325
322
350
332
258
260
243
312
330
294
287
266
335
288
284
295
251
244
239
321
259
358
320
339
315
367
341
297
305
333
300
339
334
363
353
350
275
318
256
340
373
293
363
368
309
344
369
344
344
273
320
329
342
314
315
382
338
284
300
278
285
314
318
339
281
358
223
256
273
361
314
282
340
309
278
332
324
346
273
266
454
277
346
325
440
266
282
291
352
338
333
224
407
323
348
325
294
275
312
255
384
376
328
330
296
276
326
333
432
307
333
284
304
282
285
254
407
349
222
381
366
352
343
360
373
336
331
316
314
275
368
346
406
378
375
243
335
316
293
422
273
239
342
311
346
408
405
303
336
261
401
316
295
305
259
242
319
402
239
271
280
252
367
289
253
306
319
356
277
192
296
352
308
341
286
319
294
272
327
296
281
328
241
298
290
342
311
366
319
249
353
351
226
272
345
335
337
313
387
374
269
294
280
390
262
317
352
235
312
346
351
270
333
334
374
357
279
349
271
274
345
288
276
366
340
322
317
374
295
337
290
332
305
356
308
355
305
252
317
301
285
341
240
249
330
365
340
363
281
327
395
325
319
305
317
222
352
209
295
261
327
315
288
270
340
277
230
298
263
376
399
317
363
273
309
274
331
341
363
316
326
360
254
246
291
321
332
248
221
299
336
329
273
404
357
262
370
322
317
341
329
364
328
329
309
337
356
292
220
308
337
314
292
305
345
322
397
284
274
349
328
356
300
378
278
281
314
356
372
315
338
278
241
307
332
323
304
272
204
260
355
326
375
323
310
323
250
338
258
304
201
367
321
379
305
296
286
172
331
362
346
264
282
303
268
297
336
299
345
358
311
407
330
287
349
390
313
410
204
285
316
402
307
307
290
338
360
388
341
340
338
291
255
346
189
327
340
330
411
301
340
348
324
328
208
280
383
399
340
237
258
326
353
240
386
335
327
322
241
293
346
360
278
330
343
312
230
304
322
402
375
357
309
320
340
348
237
381
371
354
385
332
306
294
345
370
333
346
382
367
223
351
333
301
343
268
315
302
276
294
207
394
294
275
336
302
237
393
351
310
381
290
361
267
343
347
335
349
272
281
350
332
408
320
368
348
309
268
291
360
228
312
276
250
315
279
313
353
378
311
284
360
319
254
238
285
395
342
289
310
320
340
350
337
337
389
357
332
354
356
298
335
323
321
250
301
292
270
388
300
391
334
362
318
303
282
294
307
310
309
356
327
263
322
304
264
415
301
325
363
292
324
350
186
338
313
360
303
302
353
303
351
268
305
334
321
314
348
283
318
307
288
338
317
274
371
280
288
304
275
383
301
317
401
340
384
365
217
267
369
254
344
295
331
326
322
342
315
399
279
281
366
273
336
323
327
339
287
320
210
344
294
373
330
337
312
279
356
327
253
234
291
398
271
317
334
269
321
368
253
333
238
283
370
385
317
352
336
327
268
297
295
268
311
373
242
395
360
309
278
299
342
285
239
354
398
337
270
403
329
315
344
319
276
227
328
259
314
348
244
367
352
308
248
291
308
316
349
339
291
346
313
356
226
243
296
273
341
392
314
388
351
189
353
379
332
283
316
314
314
245
281
396
361
348
408
364
315
330
332
376
370
340
346
287
309
292
319
312
275
316
262
336
297
353
344
326
351
225
287
334
247
331
280
391
362
313
365
335
325
385
254
345
341
348
319
308
372
222
302
402
254
283
352
367
251
265
336
352
217
375
355
333
235
343
406
260
294
364
342
262
300
248
327
289
308
373
300
387
344
401
294
343
267
373
354
351
359
384
292
275
309
301
364
403
297
368
268
328
274
341
257
346
306
324
320
204
332
256
358
316
327
348
184
270
356
306
331
249
355
256
315
441
265
323
210
365
301
337
340
346
345
282
365
365
357
327
350
329
309
310
394
308
325
325
284
317
370
292
355
340
369
310
357
273
282
285
294
234
311
278
396
333
347
360
353
324
323
371
323
342
298
310
357
302
265
313
242
376
388
289
353
288
351
336
268
324
285
351
395
273
257
334
297
329
345
262
313
345
302
239
283
339
314
335
354
229
350
341
317
318
329
306
269
252
296
287
298
399
335
338
321
299
361
308
349
274
330
366
337
375
358
291
192
338
378
326
385
284
317
327
318
387
290
367
220
285
331
317
309
307
333
347
355
324
321
318
275
326
368
259
386
298
290
438
252
313
355
289
278
337
308
355
285
371
257
355
349
323
270
328
264
285
341
299
353
312
318
328
352
351
355
279
248
316
336
260
287
329
326
279
222
309
305
343
276
279
303
348
315
341
378
324
386
291
371
269
290
336
274
307
314
317
270
371
327
293
314
216
287
383
336
328
316
218
325
223
231
366
321
313
347
334
276
346
350
286
279
367
367
299
352
310
313
295
329
279
439
288
370
304
290
310
339
244
366
286
359
298
372
259
407
353
339
302
331
307
328
305
355
293
347
339
348
315
359
195
329
412
274
333
319
312
338
375
298
296
282
348
407
344
349
315
294
345
289
363
370
398
345
346
351
344
389
302
370
269
346
239
345
322
295
337
313
364
281
311
403
252
336
295
219
277
267
282
321
278
321
316
293
327
304
311
336
370
352
332
351
316
383
357
261
296
294
335
252
306
371
233
323
337
324
353
284
312
329
379
309
332
242
243
387
387
249
303
306
364
298
305
274
346
350
338
293
318
315
327
349
274
360
289
347
260
280
356
341
376
318
385
324
323
377
329
305
324
384
339
293
290
266
362
377
362
296
346
325
325
275
381
314
317
328
355
322
313
319
394
317
340
286
372
294
374
310
247
288
221
398
290
367
320
326
282
374
334
345
293
369
269
370
320
370
306
358
267
248
324
375
247
370
326
363
340
296
370
380
225
284
271
362
325
339
237
254
371
314
312
322
300
316
336
323
337
371
303
324
385
378
307
343
289
371
274
318
381
335
314
286
298
351
354
304
302
339
420
387
314
271
332
261
255
377
365
326
329
290
265
260
331
339
306
315
279
280
254
253
391
243
275
357
302
218
332
353
351
354
391
342
368
287
197
273
332
367
261
317
309
313
280
281
351
376
336
334
360
341
365
276
237
373
316
365
382
256
365
364
297
300
362
223
318
287
333
393
396
332
231
312
375
230
338
360
343
335
346
341
262
241
295
382
352
277
243
295
354
412
409
360
260
330
304
239
291
333
284
332
294
285
342
311
399
316
313
254
309
391
366
240
300
334
268
324
247
348
228
397
380
251
247
328
392
300
284
349
252
361
348
338
325
298
269
310
360
373
274
375
376
290
356
348
305
331
270
274
278
295
214
295
313
398
369
352
318
296
297
352
328
229
334
344
304
317
290
274
349
278
326
410
398
332
343
255
335
320
273
295
326
242
261
283
318
386
395
358
405
377
346
368
244
325
366
367
319
328
341
260
298
276
284
385
291
317
342
290
354
391
379
263
366
340
176
262
301
397
282
355
337
353
311
259
363
252
303
263
327
359
225
263
339
290
411
320
359
309
352
312
352
206
349
243
372
291
292
302
315
292
244
245
352
258
343
372
290
296
299
270
331
229
323
240
281
322
350
325
337
390
272
400
314
305
328
362
317
271
333
358
344
376
272
335
318
324
257
314
252
264
310
410
300
313
368
352
301
364
329
430
316
321
266
318
309
314
295
364
363
354
327
384
343
330
375
320
341
352
250
408
311
257
321
262
350
327
214
351
301
231
347
335
340
329
299
325
253
269
290
328
229
358
268
309
303
285
292
337
352
245
423
331
318
366
365
357
365
348
292
357
329
344
363
330
298
272
286
393
263
343
289
276
379
376
312
302
234
274
298
304
347
369
298
222
433
311
310
341
333
329
326
198
293
378
361
362
312
276
310
354
354
307
307
336
275
334
281
351
301
365
314
312
281
210
333
245
274
298
313
404
300
229
275
305
334
292
371
283
358
263
301
356
337
323
271
330
290
371
372
258
308
364
262
375
321
359
343
311
404
354
327
357
327
309
308
391
379
256
321
333
339
253
304
313
335
338
322
379
374
364
368
322
362
319
289
321
304
236
274
266
279
268
276
288
257
269
288
235
326
251
314
286
322
348
314
308
314
243
331
274
316
318
344
300
354
352
334
276
336
368
297
326
299
316
325
337
276
335
272
351
307
344
300
279
354
267
288
314
308
378
326
320
309
371
319
224
290
342
338
338
367
319
392
281
257
345
334
304
306
303
308
335
248
311
323
259
320
317
216
318
334
364
317
334
386
262
284
269
320
322
333
305
365
348
351
392
370
308
313
345
214
305
371
334
294
360
347
354
380
291
328
279
325
318
359
287
311
342
324
252
337
311
372
309
342
331
302
358
439
304
276
372
361
400
299
364
320
286
330
290
278
309
287
331
265
250
348
397
328
371
283
301
343
243
307
325
298
263
315
312
324
367
349
328
308
285
350
268
415
231
277
326
387
311
325
312
275
368
370
178
306
315
312
384
328
332
206
259
327
189
293
279
323
318
364
324
356
346
229
193
275
277
367
308
322
256
293
292
308
334
370
306
420
319
373
330
316
383
379
266
313
410
288
276
325
350
256
333
334
377
273
308
296
348
348
361
263
296
328
284
286
342
252
355
277
300
349
239
268
345
291
252
323
347
302
337
322
326
250
340
334
307
347
389
297
286
364
238
241
308
368
308
398
330
302
374
344
244
281
369
263
388
219
298
251
362
263
330
248
343
305
415
299
325
340
416
293
323
263
270
315
314
290
313
392
287
350
258
303
286
372
329
273
360
334
389
282
367
370
315
374
274
382
236
311
251
335
363
292
310
238
234
377
267
269
330
324
366
311
264
362
359
339
348
275
293
321
272
306
314
356
272
228
312
316
278
274
293
241
275
233
282
292
364
260
369
257
287
350
399
366
284
308
255
351
373
246
354
298
342
331
242
338
339
278
324
343
295
331
373
318
378
283
291
279
441
288
263
300
284
365
266
394
348
249
373
303
317
329
407
347
373
288
283
241
321
361
284
357
300
273
302
256
322
334
335
188
307
289
362
336
310
339
323
284
334
378
307
307
390
392
293
337
326
328
320
366
343
319
308
421
293
338
294
353
313
306
274
349
368
358
258
379
274
343
292
290
231
317
331
308
313
323
328
304
358
341
398
276
320
366
246
355
275
313
361
348
300
240
292
302
388
287
434
274
330
269
303
316
290
293
201
282
367
324
317
312
342
385
285
409
262
357
229
261
266
297
267
333
325
331
357
335
313
291
280
321
293
281
300
282
242
360
358
319
290
296
273
329
342
317
356
317
328
313
333
315
322
345
347
315
374
288
340
316
291
350
325
304
321
349
249
346
357
262
324
361
333
307
281
385
317
213
377
321
357
254
299
286
299
293
313
370
313
258
244
257
385
390
411
279
330
265
349
338
358
335
308
304
226
287
301
344
221
373
275
335
368
304
311
398
317
243
331
328
320
244
273
328
255
351
340
328
250
299
301
398
250
279
333
305
271
279
306
276
251
315
342
292
273
269
298
310
331
317
329
336
346
275
261
372
323
357
264
316
301
271
387
272
255
263
377
353
410
352
279
260
349
266
265
298
318
324
366
306
262
273
295
329
284
301
303
345
288
304
392
229
347
341
328
311
371
231
304
355
285
321
269
352
291
303
290
232
338
311
273
356
281
277
312
298
337
339
354
257
268
232
367
257
416
336
309
253
305
280
300
390
386
311
303
315
218
325
341
279
368
192
374
319
446
304
297
316
297
270
293
379
259
335
312
341
408
308
289
399
286
288
317
335
245
303
309
287
324
267
294
261
364
308
173
386
301
322
330
378
290
324
357
308
313
339
297
321
243
412
289
266
321
383
304
360
290
346
279
328
278
415
361
334
389
265
360
358
315
359
387
370
256
384
336
328
298
265
307
364
278
313
324
331
339
314
347
279
264
294
259
328
354
308
309
305
264
298
306
298
339
336
283
299
336
354
340
283
247
359
279
297
233
304
322
338
316
242
287
387
318
321
338
380
237
358
340
302
314
283
294
319
375
315
277
356
323
369
308
300
340
339
341
335
313
234
317
306
372
230
394
295
354
411
333
334
294
285
226
290
319
328
370
329
295
331
336
315
311
266
278
297
372
314
323
294
300
331
257
305
380
338
257
290
365
337
419
328
276
382
229
317
397
369
367
295
344
329
335
286
244
309
353
304
319
356
336
327
374
262
295
337
283
281
277
415
301
374
337
333
270
354
423
263
263
288
335
274
321
284
326
367
307
298
300
350
326
298
368
328
231
275
306
312
335
335
280
323
359
338
332
334
339
314
238
298
341
282
397
300
362
324
286
305
347
331
319
329
382
298
388
365
368
336
297
269
243
360
288
329
304
329
265
322
281
321
269
301
268
335
280
326
230
276
233
328
340
299
294
245
336
327
249
156
398
297
261
230
318
362
282
362
230
350
268
304
337
394
336
283
264
282
367
352
362
209
347
311
245
363
385
286
259
342
321
229
384
404
357
325
289
321
258
273
334
265
226
297
407
285
395
284
250
394
392
340
335
306
301
377
246
347
270
282
284
249
320
313
307
347
344
355
359
269
435
254
307
290
317
317
318
309
333
345
374
294
320
377
381
432
302
295
318
320
285
285
374
366
354
279
312
328
392
348
275
329
334
312
353
327
382
304
271
321
267
252
376
329
222
282
275
266
284
277
270
403
321
324
292
362
240
349
336
341
308
282
279
340
287
331
320
324
294
321
343
334
236
371
380
262
386
280
407
323
334
263
337
357
329
408
292
397
350
377
349
329
236
346
339
239
292
302
387
317
316
282
282
347
354
345
315
336
288
258
288
311
304
303
308
364
370
337
324
350
345
278
288
306
257
249
257
375
291
337
280
200
312
352
281
312
312
361
324
298
337
381
358
288
301
301
300
332
380
312
346
365
309
305
346
274
384
332
305
237
323
318
344
315
330
328
331
258
332
346
339
277
289
326
299
351
253
251
345
304
319
282
384
419
267
314
366
337
315
416
263
347
349
360
309
280
298
302
328
283
306
344
241
316
343
354
341
327
361
271
359
288
342
355
340
334
378
403
386
296
303
340
289
342
297
343
314
369
341
384
305
206
349
338
315
254
321
289
334
399
264
381
270
294
276
373
300
378
375
336
336
388
305
336
370
323
270
371
304
368
249
300
396
347
302
288
320
352
318
313
283
398
394
295
373
220
358
359
316
343
282
329
317
338
276
365
280
306
296
303
382
341
287
306
352
336
275
329
387
315
312
352
301
332
304
360
331
402
338
281
310
305
242
401
266
263
338
268
239
349
281
403
333
286
343
335
317
369
296
281
282
312
262
368
379
332
250
277
303
308
360
273
346
308
365
317
370
317
278
360
250
387
368
301
287
380
313
340
261
374
244
350
343
239
279
262
351
354
318
274
307
389
352
389
395
300
272
330
317
328
295
333
374
350
377
327
357
320
285
274
319
272
258
256
234
339
336
379
300
347
330
404
367
322
272
332
321
333
263
371
311
228
345
367
262
287
334
306
293
328
346
385
327
393
270
316
226
328
324
316
271
329
305
284
352
254
360
298
287
287
319
458
290
232
303
308
333
323
303
360
319
289
361
336
366
329
339
355
276
286
277
304
348
298
319
270
201
254
284
336
277
343
348
331
372
264
207
303
357
221
334
367
322
386
353
330
259
357
386
264
310
289
282
369
345
270
381
339
316
335
351
363
302
297
284
379
365
277
269
307
364
321
253
309
339
308
281
290
349
288
296
219
363
304
352
373
325
281
298
381
297
330
319
221
312
292
270
311
352
346
298
293
329
308
391
336
349
272
263
342
283
325
310
333
384
283
368
273
354
257
276
359
378
372
331
312
306
273
263
384
341
289
299
359
322
335
355
275
396
330
290
271
303
364
294
244
279
279
362
378
347
338
255
345
316
366
398
307
399
289
341
341
358
312
376
373
266
306
321
386
347
285
312
306
297
359
328
368
242
385
299
289
272
360
380
357
286
289
318
335
335
329
296
243
383
335
369
353
320
375
302
296
391
377
336
318
250
305
326
282
382
360
272
276
307
310
283
378
298
341
417
351
343
323
248
371
325
331
354
299
309
308
364
217
348
340
403
297
275
278
326
364
380
333
303
298
314
315
324
325
379
262
286
307
276
302
311
362
398
269
284
302
224
239
279
275
288
360
314
370
346
321
282
337
339
255
383
225
347
295
341
344
312
330
307
348
372
260
359
252
350
300
283
224
412
334
326
320
296
319
373
399
356
328
310
297
393
306
306
264
280
301
269
386
331
279
363
329
264
312
352
280
274
299
242
326
354
302
250
302
289
332
287
344
329
356
303
333
315
253
331
301
257
316
338
296
343
336
391
295
358
322
281
341
311
279
340
297
374
286
297
293
368
285
301
392
381
378
311
318
321
303
343
352
306
314
377
307
232
314
292
298
397
313
304
367
375
264
280
278
400
408
296
352
276
315
289
324
364
335
411
306
254
307
253
301
276
365
228
322
269
263
277
253
344
339
364
272
356
291
315
307
357
393
371
266
298
381
316
334
284
339
306
289
241
368
326
329
344
363
293
313
364
296
344
320
340
376
270
292
347
322
263
283
298
259
380
297
387
365
332
248
385
330
261
328
394
288
308
333
335
395
265
335
234
385
264
408
313
333
225
330
357
276
322
309
275
352
303
367
351
327
317
284
273
374
369
326
369
255
301
294
359
342
424
364
336
316
403
337
370
383
262
346
418
259
368
258
296
239
308
267
343
304
363
287
299
313
271
318
242
336
286
358
328
284
380
346
341
316
260
251
335
356
334
354
314
239
349
278
213
294
345
404
333
306
365
349
313
224
278
324
280
360
363
395
339
364
421
265
242
342
366
313
259
336
256
392
329
374
323
416
290
305
300
365
299
333
305
256
372
270
341
317
279
278
371
330
244
295
315
341
298
311
386
386
335
361
395
304
356
321
376
325
312
318
326
308
345
356
271
250
379
289
357
280
351
347
334
342
361
268
285
395
316
318
329
310
361
331
324
336
313
272
354
301
342
349
342
320
294
273
293
339
301
327
346
340
326
290
359
368
288
374
366
287
327
313
343
325
332
363
301
297
316
361
338
371
380
322
340
265
315
306
218
264
357
283
372
275
280
386
348
250
328
309
345
355
384
359
314
246
337
306
324
291
317
349
252
321
283
347
216
340
324
362
309
345
312
263
384
314
342
327
334
394
260
308
298
338
376
343
258
286
401
354
293
263
182
299
276
306
379
415
321
308
354
308
313
416
369
218
354
288
258
308
256
347
341
309
332
293
337
295
347
364
406
323
348
301
319
239
272
284
271
302
300
363
349
306
281
332
341
352
371
311
308
255
325
329
259
363
282
444
309
281
288
312
306
329
285
372
338
339
276
368
320
330
256
374
340
299
276
337
339
424
289
369
331
380
312
282
318
306
397
319
344
267
300
292
305
247
318
315
312
338
323
321
297
242
283
259
331
368
326
331
321
245
456
281
264
311
314
341
340
295
402
346
255
371
363
335
238
312
299
346
338
374
248
297
276
292
302
261
302
337
361
286
218
291
306
407
264
300
252
318
248
353
394
403
312
262
368
343
325
267
384
253
266
304
351
357
312
307
271
387
330
388
300
325
253
340
256
368
342
341
328
338
327
351
298
214
274
258
351
364
262
210
286
303
284
335
309
295
328
299
359
237
284
264
278
339
290
241
316
308
329
304
315
293
398
316
242
286
346
344
262
337
321
387
308
335
360
313
323
317
300
369
369
253
360
306
328
334
362
314
321
279
316
296
385
295
337
312
364
223
233
315
278
387
306
321
367
399
294
333
313
283
330
304
249
234
409
345
372
368
350
302
346
252
311
355
330
333
379
245
347
374
271
271
319
291
252
315
343
292
365
308
383
335
269
299
312
342
347
358
327
303
358
347
311
348
341
282
285
311
264
322
356
338
350
319
321
324
226
283
362
325
413
360
347
285
340
319
339
387
268
268
305
305
320
383
245
339
283
325
282
319
220
372
324
388
364
325
347
259
356
285
271
285
354
240
385
337
359
304
390
318
335
279
259
287
253
356
353
365
243
331
317
207
355
246
273
326
276
292
230
241
312
351
265
343
395
317
288
359
294
269
251
240
350
337
260
345
296
330
342
360
296
308
332
360
349
316
353
330
368
261
315
337
369
395
386
290
367
326
267
251
282
305
331
380
306
312
302
356
264
417
339
369
338
391
360
320
252
296
370
355
286
330
328
299
328
290
313
310
346
355
344
370
316
308
364
372
366
337
375
308
345
333
349
360
351
244
273
266
286
313
326
305
412
333
257
401
324
361
310
274
288
320
242
250
225
278
271
349
391
311
365
370
276
358
322
312
245
303
352
317
287
332
351
275
258
343
242
300
306
287
272
293
319
258
331
375
327
284
256
230
358
316
327
367
380
337
281
393
340
334
274
340
313
332
225
345
298
332
356
327
319
357
336
363
314
307
260
353
339
345
233
326
269
339
337
301
311
381
273
298
318
299
341
322
272
325
351
338
384
386
321
373
296
263
192
372
357
303
383
333
305
333
301
276
342
231
331
318
349
306
265
302
300
308
371
266
319
275
303
377
344
334
352
315
300
337
270
325
363
360
307
331
319
236
386
306
319
340
327
264
338
358
292
339
270
275
305
392
359
302
317
325
341
324
368
248
298
357
350
298
252
328
375
317
306
300
324
334
364
354
304
292
314
399
359
277
304
293
253
324
402
298
324
239
442
280
364
333
352
368
386
312
244
311
270
317
319
418
291
309
279
286
328
310
371
336
248
346
313
365
363
352
369
337
230
349
345
381
306
312
298
233
292
276
257
310
324
277
354
326
332
376
360
391
276
326
283
274
332
304
376
263
299
356
278
355
244
362
307
302
257
285
292
344
368
214
346
376
378
358
273
253
360
372
244
333
326
344
353
406
284
326
309
346
375
328
303
337
396
312
399
277
343
273
376
260
291
396
243
284
203
204
311
313
306
293
258
351
329
274
318
351
283
241
296
320
270
319
331
289
270
248
237
293
320
309
350
399
379
270
295
302
342
297
297
284
323
306
253
295
280
346
346
337
276
306
300
378
373
207
381
355
306
254
292
324
263
374
314
285
307
341
337
371
401
279
340
308
343
302
242
388
358
276
224
310
280
289
339
180
316
398
342
242
348
254
333
341
304
325
324
354
297
391
357
259
372
345
309
350
371
354
299
312
248
345
297
347
318
272
298
365
290
347
365
324
338
309
381
336
266
281
290
377
257
391
269
338
262
331
286
273
354
264
333
234
291
294
339
263
331
297
250
288
330
337
316
320
269
353
326
298
281
294
354
224
338
321
290
297
275
350
268
339
218
283
341
283
356
346
318
322
289
271
250
392
303
309
273
275
309
313
292
324
332
393
328
284
273
314
250
296
267
288
415
340
342
285
334
315
381
343
378
329
287
326
282
311
310
342
370
297
288
250
328
372
352
263
346
316
236
325
355
321
371
356
382
330
376
316
302
341
319
329
311
368
320
262
366
261
408
221
271
344
232
348
412
390
241
289
264
305
286
241
308
272
349
255
343
313
310
325
276
301
310
358
262
348
321
364
342
306
234
415
266
372
357
356
335
275
297
377
304
359
329
323
235
360
321
400
367
339
232
287
284
355
388
317
286
326
301
298
324
367
282
297
366
321
232
266
333
291
292
327
314
308
365
304
313
344
247
266
258
357
436
345
308
239
329
370
285
333
312
313
210
335
300
267
336
245
295
370
331
310
352
381
340
302
335
302
333
354
318
378
325
382
251
275
315
355
372
255
257
284
349
354
320
287
373
400
365
324
258
283
304
300
302
327
298
300
306
319
351
414
283
329
261
334
300
322
358
349
281
366
237
368
307
299
317
344
351
354
374
361
241
309
389
353
368
319
323
242
337
337
322
361
331
279
285
299
349
357
354
336
383
326
280
290
355
301
317
326
368
358
288
371
330
322
363
350
258
244
277
292
336
348
364
252
317
351
286
350
365
333
368
261
301
267
255
309
411
296
329
289
355
293
330
367
303
340
286
260
293
276
303
340
311
366
354
284
391
293
395
220
311
336
262
407
370
370
284
296
302
311
314
320
356
229
305
349
323
317
318
290
301
259
346
290
331
368
287
340
308
427
375
351
351
247
357
333
313
220
309
302
280
281
361
370
378
299
292
370
324
382
232
294
276
344
367
317
282
284
323
352
324
325
265
213
321
342
291
371
291
297
292
262
246
350
333
336
337
352
299
259
346
362
322
249
327
307
368
321
323
269
375
331
273
298
365
274
328
307
310
181
281
312
344
359
311
298
270
337
218
288
346
329
265
256
241
328
356
333
342
381
320
356
360
344
417
278
249
295
345
194
319
322
336
205
327
300
285
248
341
240
365
261
274
290
338
331
373
352
311
311
262
284
256
341
229
267
282
294
278
366
307
348
297
343
338
355
212
303
367
320
390
380
307
369
376
316
347
374
394
278
313
354
343
390
328
278
290
411
313
277
370
265
300
349
225
325
304
292
276
267
361
307
316
304
274
287
331
301
370
339
274
356
316
312
373
244
307
369
358
366
365
380
364
299
326
311
386
289
362
315
337
258
306
355
312
320
352
317
289
312
318
370
338
281
283
376
349
260
218
331
401
311
303
286
327
318
333
367
228
341
374
370
309
343
333
309
275
291
427
239
258
261
244
253
316
341
347
410
278
293
398
305
346
286
314
358
282
343
251
343
241
367
326
369
269
269
309
371
284
232
341
278
243
282
385
335
264
264
299
365
256
264
367
314
306
380
313
326
333
365
354
322
265
361
260
331
316
314
273
364
219
358
298
287
314
319
318
293
366
330
287
337
303
356
380
321
358
327
263
235
255
266
206
291
282
376
257
304
291
333
345
363
278
404
342
386
313
312
366
406
280
381
336
342
303
231
350
362
363
304
291
364
270
238
376
249
317
274
193
273
319
365
264
385
291
225
306
298
319
334
359
293
317
328
216
336
378
291
353
333
368
267
302
231
332
323
293
352
305
323
348
385
304
303
369
305
356
248
380
334
317
358
351
352
283
341
326
268
275
355
273
382
307
318
425
296
312
307
269
274
363
230
424
299
328
310
331
336
236
372
308
385
312
354
284
395
416
315
323
378
375
253
327
360
338
275
301
358
344
312
254
349
298
304
252
305
266
369
318
400
295
377
309
387
365
230
359
317
303
321
315
292
320
293
317
336
275
275
325
306
279
376
231
367
257
275
298
295
295
289
331
291
285
304
372
342
335
421
357
346
269
282
304
276
300
317
238
379
279
334
219
307
335
267
295
347
311
329
256
274
369
370
317
321
281
275
332
281
315
357
374
329
201
285
299
290
320
249
389
391
321
274
280
302
345
287
325
366
205
296
352
310
270
271
331
247
290
382
272
327
229
280
285
365
268
209
298
277
262
339
338
256
265
311
251
333
324
304
312
332
313
377
328
277
277
346
369
427
335
333
316
240
293
357
226
321
297
342
316
309
161
300
300
349
290
330
224
328
258
352
341
348
282
243
351
289
349
354
310
327
289
282
335
345
246
265
347
344
284
276
347
334
334
297
351
346
362
335
245
289
394
283
365
313
241
333
311
200
364
282
292
277
340
408
401
340
251
356
373
355
341
278
300
303
356
318
375
292
312
277
283
311
239
369
324
243
342
258
251
360
437
324
299
286
425
315
389
274
303
331
346
265
330
287
326
307
319
366
364
314
337
295
277
237
232
364
347
300
288
348
327
410
252
302
306
318
254
254
293
315
343
378
360
332
369
317
345
323
274
283
296
367
396
346
272
275
249
312
304
361
382
281
261
308
272
340
293
387
294
330
357
324
356
340
298
333
297
314
312
284
270
391
266
283
333
339
343
316
316
373
244
365
328
256
364
313
268
335
333
342
336
325
310
291
244
284
305
336
303
272
293
271
313
341
309
381
390
302
282
339
369
301
322
311
269
384
347
337
351
339
230
343
391
238
382
291
280
277
281
304
251
341
306
245
339
313
318
277
347
300
309
295
344
290
363
336
279
366
357
338
353
327
373
362
343
248
330
224
365
244
242
283
263
381
369
258
331
289
306
249
333
360
425
332
235
260
274
358
275
322
358
312
360
424
292
343
241
317
279
369
253
305
339
290
404
255
236
342
326
317
331
316
361
304
306
331
334
309
316
239
354
277
283
317
260
282
330
247
280
300
354
286
331
340
274
303
267
248
331
287
370
272
379
297
287
418
287
287
325
315
335
326
180
339
313
282
244
388
348
267
329
301
339
324
323
319
365
317
228
290
348
400
350
338
320
312
349
325
345
316
318
397
338
351
322
284
357
270
380
359
310
368
283
310
294
251
370
345
271
365
384
359
263
339
335
220
266
364
320
265
323
324
392
328
241
335
351
308
377
340
330
358
387
269
247
300
301
328
318
294
306
335
352
314
344
279
353
351
375
238
325
312
275
333
279
360
355
349
269
318
326
361
324
321
268
266
353
311
306
352
351
355
311
354
394
389
344
271
273
352
318
334
362
314
300
323
393
314
337
341
370
415
291
364
335
295
230
300
300
367
335
334
376
314
410
308
338
300
317
382
342
340
237
272
320
295
297
287
316
263
286
363
346
344
331
279
288
270
293
282
237
339
339
347
299
262
325
346
262
281
294
302
258
328
368
229
286
369
341
268
395
360
280
380
351
309
362
209
330
328
336
316
310
340
380
287
307
334
356
304
369
344
287
309
353
314
294
281
311
241
314
327
420
368
397
282
282
338
308
353
401
317
302
260
376
383
350
361
251
428
333
298
295
312
278
303
269
225
348
337
328
312
305
304
346
311
319
379
310
367
348
307
302
279
351
256
241
288
187
344
306
346
296
305
318
291
293
350
391
333
219
380
361
295
244
247
286
300
340
331
379
300
327
311
353
402
274
370
358
271
388
339
369
345
258
370
324
258
366
364
337
405
246
279
370
344
304
284
266
267
383
324
399
302
389
243
230
368
370
283
324
328
317
326
297
257
280
326
394
317
318
278
387
336
293
325
266
256
333
371
310
371
266
359
341
285
416
345
343
411
381
288
306
346
357
346
300
353
298
329
284
302
324
307
264
345
357
337
264
329
294
319
341
315
299
305
370
317
236
320
256
320
223
301
333
363
357
320
311
314
280
312
344
261
280
307
348
331
250
276
341
310
326
311
345
378
409
392
310
352
350
345
357
242
391
441
261
286
348
354
305
344
295
334
368
302
318
356
319
334
344
284
292
305
344
371
323
344
395
293
389
276
237
353
383
311
311
320
279
310
307
308
350
360
383
400
334
281
291
339
297
405
327
321
359
306
263
300
320
386
288
328
292
254
285
277
379
284
205
271
308
217
381
323
274
304
295
380
394
344
338
307
302
308
336
347
291
357
295
344
306
295
303
317
326
323
300
354
301
352
272
284
383
313
323
294
270
373
348
306
335
370
374
340
310
306
329
287
310
373
351
409
321
238
305
328
282
374
248
302
323
320
284
339
320
289
233
326
299
337
269
342
331
323
364
277
299
331
356
275
303
379
349
289
288
348
305
282
365
235
381
314
385
374
296
333
401
322
349
331
279
312
335
317
316
306
287
322
268
331
317
343
203
329
357
338
332
274
368
297
244
419
273
361
313
277
350
334
338
297
344
308
245
288
267
320
348
291
306
286
341
286
253
292
321
394
264
346
337
340
253
298
309
311
293
362
282
312
359
321
242
359
235
393
329
335
260
333
307
302
380
331
235
363
328
206
128
294
310
387
278
275
341
336
302
342
424
300
362
367
263
417
352
423
380
370
348
311
309
310
301
406
277
323
373
306
301
297
279
259
306
329
267
315
368
270
299
307
265
294
381
344
233
337
306
409
306
322
333
393
298
304
365
364
337
339
337
297
304
367
280
356
275
386
382
244
341
294
394
313
390
305
321
321
385
334
406
325
266
255
324
355
371
352
309
323
377
288
302
277
331
355
357
400
361
321
339
264
380
359
265
282
367
306
353
250
264
273
284
307
373
350
337
320
392
328
392
309
304
339
254
360
257
305
264
330
297
274
343
349
301
236
362
341
319
347
342
253
339
329
236
220
384
292
303
255
356
317
326
301
359
302
425
305
349
323
331
285
374
276
308
310
286
299
241
307
315
377
301
224
277
254
292
327
295
242
289
309
403
304
342
345
339
385
318
315
303
270
370
307
325
310
268
239
260
264
269
339
221
364
329
404
311
342
342
303
315
265
287
258
365
268
300
317
370
318
274
258
355
328
286
329
260
176
362
377
312
280
300
301
320
235
319
340
356
325
317
320
370
381
341
262
372
338
377
313
365
351
328
324
304
326
280
289
353
320
322
404
322
360
294
339
298
274
363
311
318
236
297
290
374
369
417
333
325
308
265
361
312
319
356
298
293
295
293
325
280
395
341
287
221
343
261
322
313
339
323
327
301
444
263
337
258
342
333
281
187
290
347
460
355
384
312
282
291
290
328
381
285
346
424
346
405
331
383
318
315
381
328
293
315
418
286
287
417
298
320
357
294
303
305
316
308
354
260
252
388
272
320
300
235
286
297
344
358
253
331
271
283
371
407
328
347
366
315
326
279
265
296
243
409
366
288
397
298
215
216
305
375
374
381
264
376
326
252
319
313
361
410
348
311
359
380
348
300
308
251
268
260
345
293
268
296
323
304
320
258
353
338
292
267
330
261
337
305
339
270
318
361
284
348
317
334
284
283
275
366
323
351
363
242
307
317
301
392
384
380
429
300
344
335
260
353
239
281
329
246
223
302
304
304
303
317
434
374
373
422
253
346
305
269
291
391
235
269
273
318
275
347
355
234
312
365
333
353
379
274
299
272
292
259
325
311
350
366
322
244
337
281
364
258
355
303
295
350
348
357
358
278
305
328
252
303
252
340
293
293
348
241
329
410
352
288
315
398
329
302
306
282
223
361
330
355
232
304
296
208
237
288
309
258
285
285
294
297
384
406
296
292
257
245
287
377
333
344
296
351
304
296
331
299
266
303
229
235
307
263
332
343
322
320
371
405
298
310
298
280
350
345
256
310
369
346
409
331
249
291
367
303
309
270
283
350
297
331
302
367
350
382
247
367
362
347
265
281
341
288
449
299
269
334
334
200
273
325
332
385
341
249
319
326
347
316
326
342
332
384
281
284
329
289
278
320
315
242
300
351
376
378
312
368
292
336
293
285
333
276
354
226
260
360
290
310
299
300
336
351
251
362
341
320
422
291
363
405
300
374
372
238
345
257
257
265
322
307
287
280
308
289
291
381
368
229
308
299
267
266
347
240
309
377
344
283
401
319
292
356
392
335
388
332
268
330
245
349
304
355
402
327
273
320
350
328
340
311
216
360
329
341
337
299
308
332
307
291
289
263
341
340
230
323
338
263
313
295
256
312
285
382
271
317
337
313
341
267
300
294
307
298
243
325
283
303
294
322
320
334
337
345
347
268
386
317
351
278
308
338
352
287
351
358
376
377
234
332
249
334
364
364
330
270
339
304
342
355
337
399
332
327
382
398
343
278
290
365
295
327
395
247
308
261
244
320
238
306
283
236
354
375
368
354
308
334
275
322
274
329
310
385
273
316
235
276
328
281
335
358
351
312
228
323
312
357
241
334
292
250
357
272
276
288
263
255
355
279
299
240
374
293
271
357
300
269
300
295
309
345
263
321
328
214
287
277
303
274
316
319
314
248
372
291
297
298
333
338
351
272
353
331
304
327
310
304
302
361
329
316
351
312
332
286
252
340
269
319
305
251
301
332
279
346
372
297
257
313
384
209
279
367
382
364
286
196
269
294
416
300
277
305
429
328
282
382
345
361
369
358
335
265
324
257
244
300
279
357
280
389
395
331
334
360
391
333
250
304
259
242
405
344
396
304
253
308
320
374
301
321
288
321
264
230
297
363
318
320
278
306
389
340
283
371
298
302
245
351
311
282
355
316
320
309
319
313
314
316
288
269
191
277
289
277
292
289
297
302
325
316
369
308
297
256
370
294
384
276
374
320
301
362
334
332
336
293
318
250
288
298
225
297
403
352
316
369
349
374
315
251
273
315
329
311
349
301
248
259
315
313
348
303
300
366
331
341
244
337
315
293
312
335
304
339
282
272
402
259
298
280
322
358
256
372
282
318
326
306
364
266
340
313
368
257
253
332
282
214
257
342
311
290
350
290
254
330
360
280
319
321
331
403
336
263
260
397
277
297
364
318
361
350
341
343
301
320
335
268
287
388
341
312
233
302
289
334
279
326
288
282
308
319
326
246
252
248
369
316
334
288
303
334
418
413
255
321
377
345
318
236
206
331
352
291
358
328
341
257
375
337
405
304
327
324
387
407
259
340
314
233
345
295
313
344
272
349
288
311
242
230
297
325
359
273
302
269
361
239
305
373
310
307
344
401
278
331
273
336
337
367
339
310
281
251
326
239
402
388
305
216
346
310
294
291
267
388
296
323
403
325
277
299
331
330
325
336
235
361
359
386
348
351
286
305
284
294
361
283
278
350
378
366
370
322
327
356
399
356
402
352
324
311
233
319
293
260
233
196
349
236
339
291
399
341
330
429
278
252
279
337
282
234
377
318
338
279
357
324
350
300
328
380
286
317
295
250
341
339
286
249
258
219
287
354
289
314
294
257
339
262
272
267
337
306
332
241
352
337
332
390
404
408
344
368
294
294
325
255
304
376
348
319
325
286
288
384
278
280
265
315
312
277
278
395
320
237
260
274
311
264
343
311
293
313
313
313
284
384
303
315
353
303
380
186
321
315
324
352
321
384
273
366
335
280
339
262
312
296
298
323
330
356
394
277
253
339
307
364
362
334
315
341
306
291
343
278
306
203
347
278
282
247
312
257
245
314
280
354
311
338
376
318
327
268
323
307
352
295
280
397
320
291
240
367
340
291
326
435
281
262
369
348
347
331
306
300
341
360
311
363
328
283
312
280
355
315
233
370
369
342
337
359
319
247
372
374
324
290
338
288
362
322
340
359
301
301
317
401
341
255
344
364
277
410
273
343
316
368
358
234
417
287
302
325
350
327
398
307
312
332
268
299
320
322
298
384
311
325
299
305
338
274
350
302
327
314
324
289
305
286
362
278
311
150
324
257
326
341
318
283
276
298
319
317
310
359
349
335
305
288
320
339
328
328
305
330
281
420
238
275
304
257
331
309
279
282
258
330
305
330
343
250
283
301
355
350
293
277
329
269
303
349
303
276
351
411
317
343
347
336
364
259
358
333
333
264
290
269
299
377
315
189
286
323
340
353
254
304
321
271
301
315
316
297
248
338
341
339
392
373
313
274
375
216
292
368
318
354
312
272
286
236
272
311
333
295
383
357
388
348
275
391
262
298
312
351
283
334
359
396
302
372
311
324
272
353
314
265
330
414
312
337
271
318
330
291
379
371
344
328
307
332
384
328
307
392
254
290
416
323
303
278
330
308
298
265
279
216
319
277
387
249
253
274
308
347
270
310
335
401
358
372
346
352
309
362
313
288
230
318
334
353
343
336
286
409
390
264
330
300
252
272
342
335
289
327
294
295
267
305
336
269
315
243
300
245
324
306
297
312
296
339
335
308
210
370
353
232
265
276
270
353
329
258
367
280
425
315
316
323
300
350
330
331
369
290
360
303
419
322
311
289
341
249
267
258
277
342
348
394
288
315
311
321
328
356
294
364
301
362
332
396
318
316
254
331
334
314
360
314
369
357
277
386
328
297
283
341
275
252
319
347
322
349
287
279
378
340
332
264
357
244
298
338
267
357
281
263
291
420
350
339
381
259
358
308
352
395
323
336
251
317
247
332
375
313
350
383
270
377
288
364
265
350
296
339
324
363
336
341
340
321
297
295
302
279
354
258
341
319
342
394
300
264
400
271
288
286
378
340
423
290
383
367
385
297
338
301
397
262
349
315
292
407
243
303
426
340
351
321
342
291
349
241
363
234
313
273
289
327
353
249
286
318
216
333
344
315
383
317
386
268
316
288
270
329
288
286
273
261
329
298
332
284
285
267
322
258
316
250
251
260
271
279
295
415
320
286
287
272
289
295
271
350
367
282
299
264
267
343
357
287
364
394
350
388
308
328
355
322
366
266
333
247
312
322
378
266
329
368
357
346
305
310
264
312
310
355
322
376
359
337
342
394
256
308
314
358
353
255
304
360
314
367
305
372
297
312
310
271
315
312
324
371
290
374
311
387
332
245
294
393
328
340
254
298
249
331
236
221
354
353
282
329
274
286
292
257
304
295
344
320
276
368
369
319
399
345
397
292
287
333
402
337
279
401
264
221
382
381
267
323
360
320
304
339
362
367
282
287
271
319
382
331
239
345
367
301
290
259
252
346
344
388
351
383
253
334
324
348
347
365
267
350
355
337
343
369
288
253
250
283
270
368
362
360
380
339
432
335
335
363
312
328
343
253
296
287
282
299
364
333
257
363
354
354
310
295
269
318
394
323
344
382
351
274
345
238
226
295
265
254
307
266
343
369
362
310
418
228
351
341
222
263
281
340
317
388
354
427
334
327
297
268
283
265
317
282
270
259
349
351
309
318
345
340
285
279
248
235
369
316
272
260
360
274
337
323
308
232
360
291
340
276
419
353
350
300
341
329
351
294
258
328
240
345
402
354
220
293
259
323
354
323
261
327
313
251
383
292
316
413
324
284
373
327
296
381
256
330
340
344
162
307
358
327
332
294
298
325
348
384
274
367
341
327
320
371
300
324
312
315
342
328
268
347
299
278
321
379
340
248
312
250
256
349
371
332
378
352
359
258
322
347
225
331
354
277
313
276
332
301
321
310
360
313
386
319
311
371
330
275
308
300
311
379
277
361
362
350
359
307
278
281
356
332
297
200
256
324
283
291
419
319
365
246
340
368
316
254
278
360
295
276
303
329
424
333
329
398
303
249
306
329
344
290
329
308
438
299
300
326
264
323
352
300
355
335
382
276
271
333
388
313
310
316
360
326
322
224
371
279
232
312
335
384
334
281
339
245
387
353
302
362
332
325
289
272
301
295
227
336
339
329
344
272
398
336
271
337
349
267
384
246
354
361
342
317
338
344
373
314
400
352
378
316
263
298
341
319
291
272
296
338
369
351
377
312
356
252
356
398
333
306
313
375
300
319
320
280
372
259
298
349
309
340
380
336
307
338
369
247
348
217
300
357
282
309
278
290
337
258
299
265
410
256
315
314
338
314
362
369
313
297
298
232
341
409
301
334
295
393
285
335
254
405
297
371
338
294
263
418
323
403
332
365
342
303
356
223
278
324
295
362
333
363
359
301
261
271
363
248
346
316
379
397
289
275
379
349
371
222
281
383
334
338
301
367
408
363
373
322
360
353
299
243
340
324
350
346
343
287
324
346
397
357
339
247
348
309
418
304
370
226
335
372
302
330
216
301
319
374
444
317
347
356
251
273
291
290
301
361
351
291
338
367
318
361
305
215
280
340
345
332
300
375
330
332
346
325
245
320
313
288
248
267
339
303
320
376
249
324
381
349
314
370
284
362
306
346
316
306
359
358
289
376
334
381
345
308
302
285
272
380
372
344
356
277
385
335
360
307
285
247
241
310
362
326
303
311
356
264
321
387
338
392
358
287
295
309
325
237
361
406
358
301
279
268
364
407
313
263
314
353
287
391
314
318
344
401
303
328
350
307
295
270
346
330
314
372
266
339
349
249
321
369
296
390
307
304
383
334
370
342
347
317
325
332
310
258
280
347
308
267
372
384
257
266
254
347
379
289
273
262
292
334
382
276
308
340
313
315
295
237
334
298
329
340
271
344
393
329
379
417
246
360
279
365
304
347
352
378
372
322
446
324
352
411
273
321
233
312
357
389
286
312
260
268
292
290
326
276
288
229
375
339
344
351
354
301
411
348
316
328
303
327
311
312
282
333
286
322
316
286
320
249
277
343
295
375
339
298
304
308
310
293
274
304
386
365
321
319
295
349
292
303
337
290
325
285
297
289
362
305
270
351
336
368
299
308
330
269
366
320
251
250
292
263
339
435
380
274
289
353
275
261
282
338
307
258
323
332
308
359
306
279
322
323
310
298
361
366
328
331
374
276
185
300
325
322
241
278
355
353
299
314
280
263
303
380
326
301
270
401
332
325
339
374
295
335
298
309
281
341
341
286
310
237
279
209
340
309
242
249
323
370
298
288
323
358
331
241
372
342
298
307
271
344
363
308
300
381
362
300
332
342
341
271
339
259
309
285
329
287
275
344
372
173
319
231
353
308
286
309
373
268
376
279
273
230
281
362
316
305
331
344
326
245
280
391
295
357
268
275
316
300
317
315
393
299
394
311
253
300
292
315
322
278
336
289
305
309
346
271
327
293
329
322
291
335
298
312
354
329
332
341
325
317
263
369
322
337
286
241
318
303
440
290
242
329
332
321
339
319
307
297
236
378
267
284
353
244
378
328
379
392
388
288
336
292
261
338
336
333
388
352
265
229
312
239
364
262
317
362
227
263
329
215
315
305
331
288
207
203
308
240
323
346
269
314
334
354
280
269
333
309
316
256
237
343
414
306
307
366
364
271
274
277
366
346
324
360
400
250
279
389
353
357
216
343
251
397
348
401
412
317
413
296
258
383
275
366
371
308
322
394
345
246
376
270
300
351
364
411
294
307
307
328
304
292
372
365
292
339
235
396
368
245
216
303
375
269
332
249
277
310
282
324
321
286
326
328
324
357
284
351
379
360
331
352
289
354
280
355
366
350
320
322
306
370
236
357
346
301
316
325
249
337
418
278
331
277
275
333
339
290
238
377
340
290
345
346
295
358
360
256
388
293
360
401
361
345
268
311
301
388
338
375
327
371
238
308
320
289
368
394
373
301
253
301
311
297
264
300
331
327
285
310
316
291
272
226
364
311
363
326
224
327
277
262
296
312
302
266
326
304
399
240
332
293
217
334
337
283
355
333
343
226
261
328
312
349
326
257
271
378
231
283
340
349
287
301
274
301
299
293
325
310
334
323
312
358
326
253
279
267
309
365
333
340
289
360
395
392
351
323
296
337
316
360
306
404
345
312
319
236
367
319
252
365
352
284
311
340
307
323
313
296
392
313
356
330
285
313
346
271
294
316
264
289
274
419
323
318
262
271
298
308
243
362
206
257
346
312
364
268
279
273
265
349
270
289
376
321
252
259
318
306
296
231
312
303
267
346
319
218
276
419
295
382
221
307
232
373
278
333
301
316
324
342
241
349
294
266
370
361
286
215
208
311
320
325
315
366
223
370
343
307
387
339
300
374
369
384
330
278
322
270
229
356
421
348
293
397
247
284
337
262
308
351
308
330
294
295
303
331
262
285
355
419
269
339
345
326
329
342
293
293
362
322
316
327
287
286
348
304
290
322
370
233
360
377
317
255
335
279
293
339
336
297
326
356
411
330
335
374
313
327
314
366
287
312
326
254
333
361
373
403
345
297
264
331
375
269
269
322
266
265
317
291
283
280
306
303
247
321
318
252
348
301
352
267
283
287
327
283
341
323
281
217
327
341
216
257
336
378
314
338
342
376
264
280
308
409
333
314
359
381
334
376
382
384
319
284
335
294
309
308
304
368
343
314
281
361
378
352
329
342
367
319
379
382
328
226
284
326
321
297
370
352
314
375
372
345
372
380
344
319
390
293
353
239
344
295
314
384
260
312
382
276
317
316
340
393
312
376
234
372
302
353
295
269
246
359
304
358
313
320
354
419
303
277
285
312
180
275
307
371
357
311
294
318
302
330
221
298
346
297
250
328
390
360
372
295
395
316
343
416
316
346
352
247
243
264
313
316
329
354
402
260
295
330
318
260
273
282
357
317
311
335
349
346
367
342
346
304
252
270
344
377
348
341
324
272
235
293
307
295
405
321
232
350
345
278
342
325
339
382
301
272
348
351
303
315
293
351
272
262
309
358
308
246
332
320
297
294
309
356
333
266
345
350
288
367
304
334
292
271
295
285
318
335
339
308
275
321
311
349
248
342
294
387
276
408
322
288
268
260
362
317
263
253
349
347
265
315
368
349
328
365
340
364
262
367
328
253
342
297
345
318
285
314
323
287
339
386
328
237
407
315
234
272
267
448
304
302
408
302
362
317
203
256
330
307
311
325
272
425
320
353
353
360
284
324
319
325
358
362
295
366
279
226
414
310
341
390
228
372
347
367
320
288
318
272
326
301
355
318
251
341
295
331
350
361
238
272
238
375
300
340
295
349
294
322
357
280
397
237
329
218
334
302
285
257
273
313
389
286
391
356
365
328
300
295
320
236
458
392
371
294
327
288
258
280
263
336
409
382
283
377
297
346
348
300
373
353
204
392
391
293
331
358
299
320
328
321
426
237
326
347
319
332
337
349
264
343
308
357
326
235
353
311
261
336
287
338
375
358
386
373
375
275
296
322
302
248
291
377
267
295
331
340
319
316
386
259
274
360
359
307
395
321
323
336
251
353
231
319
334
280
355
311
316
384
349
353
325
356
334
294
315
315
283
338
342
394
337
363
392
332
278
290
315
271
308
355
303
323
275
278
308
260
258
356
328
326
330
311
404
370
302
298
364
342
304
336
337
381
292
251
312
369
242
335
324
366
313
292
291
339
299
365
303
253
305
268
354
369
363
289
325
362
329
363
293
357
399
367
374
278
259
254
335
332
285
285
320
254
309
279
268
273
275
349
356
237
347
346
228
304
338
272
301
324
322
349
332
312
369
286
370
321
333
257
316
333
306
365
343
238
296
338
376
378
291
299
340
342
327
415
253
237
307
263
217
325
278
275
285
328
298
253
308
242
346
363
317
336
275
413
316
375
361
305
296
331
322
368
353
243
309
364
283
320
301
246
268
300
243
231
311
344
384
270
314
356
320
302
271
299
368
323
328
317
333
327
278
274
234
287
363
378
345
360
340
262
393
293
304
277
339
400
273
293
393
312
331
304
401
320
324
345
292
319
351
284
303
381
306
276
253
276
294
199
352
292
358
251
299
357
337
260
302
302
285
294
299
353
286
276
312
334
316
329
368
282
221
396
354
377
367
315
380
306
367
290
279
225
240
303
372
365
222
314
315
261
342
352
321
436
280
282
280
269
310
382
353
335
319
333
364
384
301
344
297
356
326
351
342
316
266
318
366
356
366
337
335
321
288
376
302
291
317
356
288
331
342
333
281
296
311
325
295
335
459
244
318
399
338
271
280
359
335
390
376
334
367
333
236
383
355
263
325
302
329
351
324
329
320
273
292
299
289
306
290
248
367
343
281
302
402
346
309
368
383
318
350
336
315
353
296
362
341
310
300
361
231
340
372
321
360
336
304
324
353
382
283
321
338
314
325
276
366
292
344
275
257
335
333
320
283
307
285
313
370
311
281
243
381
255
363
308
272
310
252
250
414
322
360
322
326
398
338
269
322
268
292
376
280
276
329
337
383
338
379
357
327
331
363
358
397
257
320
311
373
310
293
268
332
363
230
399
312
382
303
289
324
355
363
336
308
341
298
366
374
327
392
262
250
293
313
312
289
324
309
295
338
323
283
325
285
335
303
392
299
268
324
321
365
292
257
387
313
335
285
291
306
370
284
423
297
292
361
325
305
307
367
230
218
264
279
300
331
280
373
288
316
325
287
357
261
258
328
349
368
275
239
272
419
352
354
285
339
346
293
193
358
221
370
347
324
321
315
308
244
267
334
343
280
306
318
332
269
342
290
394
314
284
340
389
381
299
238
304
232
333
278
329
348
313
288
368
340
348
387
359
290
319
384
239
340
319
315
364
334
327
297
308
335
308
268
327
292
254
277
255
344
345
309
291
281
340
336
402
344
320
310
322
348
285
364
325
327
298
342
315
247
259
297
315
341
284
351
359
254
331
296
234
284
218
226
349
250
239
351
308
280
391
338
305
402
326
340
316
257
376
319
298
289
318
261
232
307
235
319
348
324
337
329
386
359
295
402
270
388
277
237
315
375
332
331
220
327
252
313
356
334
306
304
263
323
357
309
327
312
309
361
361
315
408
302
184
373
230
244
364
411
309
321
326
345
305
304
310
353
359
288
370
354
310
330
247
319
365
341
301
276
389
317
295
311
283
314
344
338
287
290
291
353
279
257
324
318
276
348
344
291
252
298
275
287
308
363
370
323
269
403
255
351
277
315
317
316
216
236
256
222
389
263
272
227
285
370
320
362
379
254
297
284
359
294
287
393
259
326
275
287
307
291
316
333
337
278
261
356
251
357
270
270
376
225
295
342
294
236
306
255
312
314
323
365
367
276
213
354
335
326
297
351
319
264
360
278
254
324
314
337
239
390
267
346
342
278
304
249
338
420
243
301
369
276
343
275
370
294
298
334
272
303
388
359
331
269
261
286
242
290
267
342
341
385
270
320
399
332
324
332
358
344
311
343
388
373
269
349
263
373
372
212
432
353
286
312
353
330
292
321
251
394
322
224
320
277
309
290
366
298
295
292
354
358
290
289
309
276
349
246
292
297
314
340
349
297
247
324
328
323
364
291
320
319
260
370
332
343
349
232
370
289
294
310
216
327
349
324
347
298
296
376
277
265
274
313
333
353
259
394
371
306
312
340
387
247
251
295
291
267
365
332
237
273
359
379
249
291
264
322
376
279
292
287
320
290
337
324
298
314
293
304
296
359
306
357
265
326
257
309
283
328
350
331
295
314
335
332
377
318
341
331
337
317
315
380
320
333
363
368
288
290
340
320
278
342
343
320
322
311
340
274
287
283
320
325
326
339
292
305
321
308
304
333
284
348
288
361
358
316
404
339
272
333
306
202
303
335
350
345
239
326
360
321
330
326
380
358
257
353
279
288
299
297
390
351
245
329
334
311
385
259
288
366
288
338
304
329
340
245
328
305
355
325
265
317
295
251
331
317
360
233
291
299
389
222
375
285
254
359
321
294
344
297
304
322
363
242
371
281
300
275
298
267
360
259
319
323
279
310
331
316
297
336
283
237
285
372
362
308
305
403
331
321
276
431
258
231
299
270
326
396
297
338
344
356
294
223
288
438
308
251
351
250
305
374
269
345
321
293
369
300
315
238
326
364
279
329
262
332
234
350
345
370
288
296
299
349
281
313
350
303
303
322
305
370
408
313
362
352
318
345
320
254
328
384
308
326
309
305
292
310
352
311
403
256
342
350
243
318
381
332
291
349
307
404
240
325
299
318
267
317
277
276
349
325
366
313
376
330
299
387
285
372
354
293
239
310
268
299
286
324
308
333
358
313
393
369
324
354
355
406
245
271
300
346
331
296
298
245
281
323
290
280
242
365
344
339
313
321
368
322
417
279
331
345
324
276
311
314
250
370
358
270
282
320
338
314
306
323
353
355
389
388
388
247
260
273
295
336
312
272
217
278
316
271
320
298
344
373
342
259
283
305
378
334
374
323
287
337
395
287
314
269
279
248
292
365
325
343
338
363
383
310
361
348
386
341
355
370
342
327
256
315
344
271
280
351
274
359
285
336
323
296
316
358
323
374
321
280
287
362
329
331
276
329
263
308
347
307
247
262
282
345
267
292
344
332
255
300
276
273
266
276
336
364
264
327
303
295
272
303
232
249
306
371
301
270
371
346
392
301
326
344
385
321
288
326
297
263
360
301
384
272
365
323
326
378
350
283
346
360
259
392
343
278
262
265
374
288
301
335
390
266
263
255
251
285
319
349
371
330
328
371
344
375
281
314
311
355
298
332
239
234
266
286
289
327
264
268
385
304
278
342
334
293
337
308
304
301
307
342
295
274
378
318
326
296
250
368
277
277
326
301
317
307
268
395
257
330
237
313
336
274
269
299
288
340
224
376
340
246
294
302
348
337
315
380
236
356
284
270
267
286
346
328
363
304
355
350
312
331
285
375
240
318
205
280
250
329
328
316
329
301
309
320
249
293
391
341
340
301
327
309
274
364
326
268
380
361
365
391
402
292
333
302
318
321
370
357
331
310
352
305
393
314
251
370
285
338
249
309
243
301
338
329
324
314
409
315
289
365
387
317
301
325
371
287
435
375
378
248
305
302
340
385
362
229
339
304
287
323
277
322
392
362
346
339
268
238
287
232
319
371
351
327
322
396
287
255
306
339
308
295
400
360
317
330
259
325
222
334
321
324
354
262
348
313
335
193
355
334
395
363
283
393
303
399
303
349
365
270
282
341
294
288
275
245
326
389
370
358
328
285
372
257
336
372
378
298
330
407
306
336
365
297
368
325
242
271
271
318
332
312
293
323
328
318
279
308
344
343
330
243
264
240
349
320
249
369
377
290
237
363
316
353
333
289
368
408
335
300
278
374
329
371
341
253
320
289
286
290
339
436
317
373
311
283
329
316
344
261
303
327
366
329
301
292
318
315
373
396
232
368
324
359
292
226
346
281
336
334
364
238
280
322
318
300
293
300
383
359
382
328
409
260
320
293
343
329
241
347
231
330
233
326
321
264
336
360
328
270
382
402
338
379
314
264
338
329
299
328
280
277
337
382
363
401
324
338
317
240
294
323
334
367
365
295
328
410
260
311
278
247
258
426
297
367
316
351
336
326
300
241
307
339
308
296
292
314
358
277
326
301
313
299
362
338
262
393
362
264
355
330
289
297
227
379
405
294
329
271
258
291
278
292
318
306
313
327
330
307
325
222
357
311
321
302
291
283
275
366
336
335
367
329
342
352
348
389
244
338
220
329
321
297
326
371
303
341
273
326
297
328
251
308
280
301
229
348
319
285
249
316
292
239
317
268
315
352
244
280
328
409
326
354
355
322
379
279
299
316
357
309
357
259
307
327
358
262
271
382
242
397
324
320
325
357
310
393
294
261
302
319
333
297
298
371
305
375
388
340
327
398
360
459
278
271
324
308
258
384
390
269
323
290
255
345
358
350
256
239
417
332
303
256
326
315
312
314
286
348
273
335
352
365
324
160
290
237
308
342
294
266
285
328
327
252
300
241
328
366
322
358
388
336
381
285
304
243
320
335
388
306
378
355
324
306
316
351
316
356
275
326
298
254
422
305
310
281
323
297
331
251
189
313
368
358
278
224
368
248
264
356
277
288
278
376
358
273
291
382
377
379
316
287
371
381
379
315
352
348
303
319
311
317
337
308
267
314
336
306
346
324
233
397
379
308
267
395
319
215
364
291
307
355
299
332
280
307
247
323
275
309
334
365
314
318
345
281
282
367
315
403
272
318
345
342
350
338
389
419
285
342
327
400
269
257
302
316
293
372
235
323
314
366
341
241
332
271
363
344
271
341
396
360
375
344
306
408
273
371
314
258
357
277
386
265
289
237
275
363
338
252
281
346
362
282
290
329
346
291
281
281
318
318
271
267
389
280
352
268
285
336
306
336
347
275
229
343
348
262
355
280
337
363
356
390
336
336
432
343
381
234
392
352
351
325
261
282
341
259
241
302
294
346
324
358
267
277
318
357
274
326
437
315
292
325
244
322
311
322
292
302
249
297
325
252
304
296
385
280
300
214
351
240
294
311
233
302
324
388
334
281
349
335
301
317
248
318
283
295
334
221
315
299
315
330
330
332
293
325
308
427
326
336
351
281
314
364
282
330
301
377
261
357
328
361
249
271
273
327
303
405
295
254
275
320
313
326
343
310
347
260
267
339
272
334
354
306
306
309
259
316
323
304
322
368
348
314
358
331
299
318
380
333
240
383
332
296
312
350
273
328
335
378
353
282
329
299
317
254
317
336
383
317
288
257
320
359
316
374
301
351
351
370
260
319
349
291
323
294
308
314
344
341
252
284
341
266
342
265
242
326
260
340
386
369
252
297
235
320
253
379
307
292
352
243
374
311
320
275
295
264
283
233
317
348
267
344
367
294
239
317
323
372
277
350
219
275
312
301
323
325
239
412
390
328
345
391
337
309
296
280
332
272
333
293
338
309
324
299
304
301
352
255
286
309
301
277
270
300
387
328
327
337
314
373
285
292
272
232
390
171
261
297
209
278
330
367
315
302
255
352
350
301
321
333
310
360
263
322
295
261
365
284
301
272
302
291
153
306
281
389
346
238
342
351
350
299
340
314
405
303
327
370
346
331
373
308
385
283
318
319
297
288
300
303
326
346
257
264
330
291
280
321
314
366
354
294
345
309
321
400
322
289
226
369
331
268
354
315
357
382
389
304
368
265
285
324
257
367
289
373
335
319
253
271
346
308
325
362
340
369
332
312
309
313
203
444
344
252
328
295
380
308
271
347
328
337
318
328
271
373
256
373
274
272
296
230
350
319
215
334
333
365
286
302
238
347
400
341
278
365
242
338
318
291
334
338
314
278
310
369
212
377
326
363
249
342
252
295
267
375
311
338
276
332
302
366
326
274
391
323
334
285
311
333
306
379
368
359
417
272
296
247
294
332
303
392
297
238
255
304
284
327
197
327
263
303
347
270
337
326
327
359
207
317
266
334
343
325
329
317
378
231
271
368
246
205
330
301
332
325
320
296
253
307
330
314
329
310
416
288
388
263
355
302
361
237
300
283
279
324
305
306
259
279
327
325
314
298
256
324
354
262
369
377
316
308
331
350
258
345
304
310
376
301
340
364
330
325
298
333
295
248
316
343
363
323
362
408
265
336
299
331
278
267
411
420
319
271
379
313
266
399
340
298
388
294
309
367
347
302
230
325
295
386
276
333
287
289
254
355
308
352
269
313
258
292
270
361
181
312
319
306
289
355
243
291
311
333
365
317
322
236
339
282
284
296
390
289
373
303
330
372
278
317
347
199
319
291
267
385
278
388
289
317
304
265
339
381
338
263
306
242
301
272
268
316
265
301
268
294
378
302
398
354
295
348
394
378
289
319
307
299
307
370
345
316
347
281
266
284
304
276
396
342
363
390
274
391
269
360
364
334
279
282
256
313
304
438
302
330
299
256
297
311
362
241
293
355
308
267
361
277
365
428
277
299
328
307
294
328
350
337
304
228
329
352
258
213
345
344
235
306
372
259
293
275
310
365
293
263
341
372
256
275
354
291
268
285
290
352
326
359
260
300
287
246
308
336
340
331
258
293
367
303
315
282
311
353
381
333
364
352
349
416
226
371
349
286
353
353
246
384
353
396
290
338
295
445
277
285
317
295
360
378
344
366
295
242
366
354
267
268
282
365
242
274
322
326
366
260
303
288
314
228
269
309
360
291
323
368
375
280
244
246
367
365
251
313
318
238
317
332
261
326
259
296
316
318
406
313
305
300
323
305
326
205
316
260
327
333
279
334
277
318
264
317
326
327
310
333
301
256
335
288
269
279
373
323
328
322
366
310
289
302
269
293
329
332
319
306
248
373
321
357
324
255
191
353
294
304
253
280
296
291
366
356
244
307
354
286
263
318
350
382
378
315
380
364
412
372
290
359
376
267
355
296
295
251
344
321
286
284
391
395
301
304
321
325
333
342
348
322
282
327
227
302
361
291
393
363
207
301
350
308
263
309
270
277
400
290
314
426
277
393
263
324
397
340
334
358
413
273
244
308
323
380
400
356
310
316
308
374
230
272
374
287
278
280
289
260
379
346
215
331
341
345
269
375
226
330
367
392
345
378
313
343
345
299
254
270
343
315
306
333
349
261
284
256
387
352
310
320
268
292
305
357
353
308
381
286
402
225
403
324
352
327
229
338
324
237
323
326
354
291
363
262
291
305
283
367
393
384
326
306
357
241
255
297
218
296
300
323
312
400
301
329
308
296
351
382
329
314
361
319
257
298
340
378
322
416
271
224
254
312
293
396
356
342
349
338
340
336
334
300
372
264
295
369
318
340
277
406
313
311
293
337
348
346
324
262
356
262
270
299
258
299
302
332
349
344
306
238
342
239
334
319
310
308
298
289
303
381
286
316
362
239
232
308
285
256
365
343
272
374
324
236
233
397
313
331
355
394
285
368
309
294
259
336
259
356
342
291
360
280
282
282
353
369
300
299
305
376
318
332
304
227
340
367
329
288
317
362
298
279
327
194
308
350
326
386
300
319
316
373
310
270
314
335
334
264
328
248
297
341
301
327
301
376
295
310
308
288
255
235
381
312
315
361
345
292
299
406
309
238
264
362
348
324
309
307
305
267
333
306
274
323
294
394
376
307
337
324
246
321
315
358
241
274
369
336
344
323
321
346
323
314
259
223
373
416
275
343
300
252
339
299
304
394
308
322
271
323
306
224
356
279
267
284
362
355
281
266
348
272
310
335
274
286
343
322
302
316
313
302
306
373
393
345
338
293
365
292
323
360
329
211
256
321
397
286
395
252
295
361
404
269
249
306
310
339
316
361
283
223
304
317
337
369
401
329
334
308
313
337
336
265
371
394
266
308
234
349
301
231
277
293
331
343
413
294
400
329
407
333
262
273
185
352
375
324
343
345
327
346
303
302
368
334
277
325
355
310
291
251
404
272
257
362
394
300
326
375
338
306
326
335
311
272
363
369
371
349
356
295
244
268
245
323
328
306
334
275
322
311
298
300
269
310
331
331
334
318
249
350
312
324
342
259
378
305
293
324
332
356
364
318
276
410
340
344
274
248
390
296
356
375
248
352
266
346
349
330
351
319
327
282
374
279
352
302
342
274
366
302
368
359
329
368
408
334
352
315
343
322
313
344
349
401
281
309
303
368
335
238
269
291
324
312
355
307
318
400
324
241
342
288
266
275
330
378
390
311
266
325
381
336
289
322
322
368
329
304
353
311
279
310
424
248
328
280
387
334
294
284
256
301
288
296
301
305
335
330
361
343
305
274
294
321
239
296
278
311
239
304
333
382
247
220
297
287
326
279
288
215
285
311
365
277
297
363
254
349
337
321
326
363
330
260
379
351
292
363
334
266
289
308
296
390
308
295
370
365
305
327
297
328
334
325
400
278
281
346
331
352
355
260
325
328
376
330
345
314
221
367
339
321
375
336
328
342
295
307
406
333
347
259
381
358
364
306
233
355
366
309
352
323
283
385
278
317
292
260
322
296
400
344
371
329
292
213
310
261
248
403
225
309
272
246
302
362
373
377
236
364
385
312
358
326
321
244
392
313
349
352
336
352
269
319
299
328
255
342
265
328
306
350
220
306
221
367
279
232
340
366
331
342
352
309
338
311
324
267
335
290
320
251
309
303
354
288
326
340
329
373
353
327
349
326
268
327
297
316
284
300
355
300
329
283
323
329
365
271
287
270
276
349
299
318
292
328
261
336
304
307
334
332
384
336
331
336
270
302
295
331
246
342
299
410
319
319
268
290
314
318
367
399
303
400
276
299
262
296
372
289
278
350
270
309
335
313
361
303
329
276
306
388
340
330
270
251
314
354
365
342
263
381
416
381
342
304
349
306
343
365
290
327
340
375
370
334
360
323
295
263
312
323
386
296
260
261
280
298
372
304
361
330
351
296
255
240
322
305
311
397
396
409
278
312
235
317
290
295
321
356
332
299
309
264
337
297
331
353
292
413
284
322
409
280
379
285
315
207
341
339
225
323
359
328
327
373
338
307
359
362
302
326
283
352
310
307
313
382
315
254
294
298
298
300
310
354
357
256
343
294
293
303
292
330
280
357
337
329
353
298
288
275
310
310
263
344
320
299
327
340
367
318
231
297
372
258
320
371
277
355
293
291
249
214
273
294
308
300
281
281
254
256
306
284
323
346
315
315
358
283
298
228
289
310
410
258
336
286
314
351
339
342
388
284
285
283
400
304
341
361
348
272
327
319
293
263
299
325
302
327
274
242
335
361
373
334
383
314
328
263
334
310
349
350
337
332
360
282
285
386
289
301
297
336
273
303
238
347
244
284
356
287
316
347
326
280
293
286
332
372
305
338
339
326
334
308
343
291
349
305
335
290
375
320
335
273
331
336
325
373
347
310
322
363
244
310
257
337
298
254
318
421
335
325
356
359
357
231
294
333
271
300
326
311
340
338
344
365
293
294
344
318
357
307
324
337
359
263
349
389
345
304
276
305
348
382
249
364
323
291
350
338
265
264
380
309
283
288
347
316
303
275
346
386
281
293
287
321
331
264
369
336
320
268
340
262
360
342
371
309
286
297
328
340
378
230
248
240
323
322
291
307
270
362
304
265
261
384
409
343
294
309
261
334
231
330
337
343
266
296
234
313
335
241
304
300
314
318
391
329
290
262
336
323
412
262
373
324
328
296
315
287
393
323
357
343
386
312
367
327
366
347
295
346
350
321
284
295
311
395
334
264
367
358
334
343
387
322
356
318
338
365
341
281
226
347
307
349
340
379
345
267
278
283
313
322
273
358
337
353
337
338
325
296
387
305
379
338
390
354
314
397
263
283
314
276
394
314
310
338
370
412
351
261
295
336
273
391
237
338
185
342
316
300
342
256
220
252
390
256
226
300
268
325
324
356
384
410
352
316
365
269
253
333
228
391
246
304
355
247
321
250
350
337
410
388
280
362
329
346
335
323
323
334
280
342
310
403
365
247
328
291
280
326
389
294
262
301
341
325
358
387
341
255
262
321
294
357
280
273
335
293
298
294
361
385
251
371
310
380
305
312
293
262
307
306
336
366
341
309
331
373
298
278
354
301
352
298
325
271
194
286
340
327
355
369
259
286
323
339
308
388
359
277
302
280
336
314
277
322
280
319
337
323
247
322
387
337
235
360
313
288
307
421
290
353
289
248
219
349
307
315
312
300
275
323
286
287
308
347
353
304
268
382
348
336
345
300
320
286
276
386
286
281
344
184
313
288
321
284
301
379
325
310
273
253
343
304
377
319
258
380
395
327
355
249
363
272
345
362
346
345
287
280
235
354
303
320
405
329
339
317
296
304
313
292
405
334
361
295
319
386
314
355
289
325
338
364
279
293
304
328
336
331
328
337
370
276
289
361
345
380
319
319
228
360
293
324
344
308
296
346
294
275
297
328
320
271
298
333
293
305
337
249
289
281
372
277
328
291
360
334
286
362
327
292
271
224
293
302
339
341
229
317
317
315
403
303
350
363
221
319
304
371
307
348
294
411
247
391
302
237
308
361
283
313
309
373
261
260
331
327
342
310
266
388
349
313
302
359
311
386
269
288
309
348
322
320
343
306
291
402
212
327
241
285
370
320
329
351
269
315
325
309
316
264
322
291
310
272
332
300
278
414
278
372
363
363
344
331
384
371
357
337
291
172
273
364
291
411
363
343
335
313
318
374
312
291
324
378
310
324
298
349
286
326
281
306
381
355
264
328
280
343
309
296
268
248
316
297
269
378
298
350
345
363
246
307
176
368
301
298
282
349
310
299
356
286
285
353
328
313
341
281
235
277
377
310
259
294
335
363
310
350
366
377
289
312
314
348
405
348
314
303
297
352
343
367
341
276
307
310
354
356
282
360
284
273
299
303
337
366
426
224
325
346
380
194
278
314
294
289
330
295
339
303
331
310
402
324
263
265
328
338
265
326
341
229
334
300
339
294
273
327
379
232
323
413
361
175
332
334
292
375
369
272
283
278
339
421
349
290
241
344
343
362
287
342
299
325
315
304
289
279
325
353
382
338
373
300
294
379
384
317
321
279
320
280
316
327
264
263
303
297
306
350
317
234
370
250
204
276
297
292
263
282
281
284
385
334
317
383
340
302
347
315
320
290
322
254
294
416
308
325
300
281
279
248
330
283
226
366
313
333
314
333
384
194
240
318
327
328
274
296
346
302
335
298
372
276
354
352
240
302
261
320
344
303
285
365
388
308
313
304
343
264
312
288
288
343
407
321
298
236
290
312
403
303
351
269
358
386
338
329
330
335
336
326
387
347
238
315
283
342
230
292
327
372
327
316
296
252
395
363
301
315
259
367
270
333
346
378
313
339
282
366
361
293
319
349
337
373
337
235
411
258
333
341
238
335
306
281
372
350
252
217
330
380
256
323
353
418
347
325
299
346
286
197
308
344
363
400
323
316
189
298
307
313
362
384
364
346
328
321
347
282
293
331
349
330
298
317
288
327
397
365
245
287
295
355
288
330
385
367
197
250
329
353
370
350
246
347
385
324
345
320
266
395
320
338
310
362
248
277
352
302
273
309
315
351
315
306
368
223
413
306
274
362
291
292
349
377
294
309
191
346
333
302
283
322
330
374
339
320
332
286
358
358
383
283
404
361
368
276
218
318
315
324
324
304
304
306
368
322
338
320
237
246
320
312
321
393
307
298
363
397
339
355
299
257
242
350
340
297
343
386
375
283
336
373
213
329
289
316
291
342
332
359
305
387
361
325
279
267
342
314
314
333
315
339
285
282
271
297
377
418
270
271
288
298
279
341
323
240
363
304
328
308
300
357
314
307
357
323
254
306
316
345
321
325
394
279
307
349
399
289
320
272
274
291
268
315
419
321
273
366
288
388
304
358
302
288
350
279
275
334
374
343
349
286
310
286
311
420
373
295
290
287
242
334
271
315
334
329
326
263
422
294
343
384
309
293
342
265
213
297
312
250
310
325
345
294
295
302
350
289
296
314
313
245
359
260
332
425
284
273
325
374
314
284
325
340
259
340
356
387
305
321
351
276
282
285
363
251
375
389
305
331
324
301
232
279
340
291
262
262
273
342
373
302
394
354
319
278
290
316
307
317
363
242
252
287
333
382
328
277
310
319
281
308
294
323
269
304
300
368
351
249
337
340
297
258
326
307
376
306
280
245
273
325
331
305
275
278
348
436
315
305
356
334
340
348
330
332
308
315
354
350
294
299
383
321
348
258
339
348
197
343
334
229
279
270
270
299
227
292
338
315
331
173
310
310
333
259
342
410
296
332
368
298
316
339
343
334
246
338
442
329
317
317
338
394
350
322
322
374
342
279
353
324
274
361
311
276
308
301
320
327
310
345
337
345
303
303
305
297
341
359
372
322
298
298
383
270
354
271
299
272
372
306
398
323
342
322
324
281
408
340
349
275
356
309
322
262
305
261
230
339
309
272
374
344
256
301
380
281
379
283
349
377
316
278
367
320
302
297
373
351
384
344
300
362
357
370
294
262
377
367
352
318
268
233
314
288
359
356
300
389
281
349
258
326
266
318
386
260
348
255
321
315
281
243
245
354
245
348
367
267
298
316
339
321
345
295
362
378
300
291
300
296
381
331
337
399
251
278
331
284
388
350
306
327
343
263
324
415
309
240
207
321
308
279
314
337
278
310
428
331
306
379
386
273
305
276
304
327
266
281
338
312
283
213
217
201
291
267
296
342
294
367
295
284
287
224
337
236
228
319
245
322
284
248
339
257
279
261
240
257
357
307
336
168
275
380
360
325
333
206
345
394
365
373
336
328
320
284
266
353
294
342
301
262
320
316
295
270
250
337
399
328
295
320
304
293
306
318
386
343
262
336
308
400
406
317
264
311
352
230
291
307
349
270
348
345
283
297
346
319
283
303
373
295
296
321
296
339
381
352
367
275
392
225
352
259
349
277
291
338
350
357
305
346
350
269
277
182
203
280
280
329
295
270
330
309
386
312
345
264
265
309
195
338
401
302
334
391
319
280
335
352
274
322
354
356
333
277
348
381
271
297
263
315
264
422
326
302
248
368
311
333
323
316
327
257
339
308
351
290
273
313
329
310
320
350
320
288
291
331
318
273
349
323
264
295
357
336
330
317
275
307
322
368
319
323
301
292
220
287
335
324
329
376
282
274
284
385
316
320
324
299
257
321
253
254
311
311
333
311
356
362
245
256
284
273
236
286
324
406
335
328
294
312
366
330
268
304
298
347
281
304
360
427
245
324
378
289
384
314
353
300
338
365
313
287
340
254
325
358
309
336
289
315
308
417
278
266
304
326
329
298
318
307
302
344
245
218
378
381
313
332
308
280
284
352
249
320
298
320
234
284
351
360
307
367
346
330
283
317
288
412
314
324
322
317
338
335
383
269
358
330
362
292
351
357
360
298
306
274
323
321
315
387
276
290
299
333
356
338
340
313
283
293
311
366
274
270
288
337
362
363
271
280
258
231
292
358
275
241
382
345
284
306
299
371
308
350
361
412
279
394
274
340
361
358
350
318
401
264
360
281
433
338
273
315
369
291
277
380
365
342
322
234
351
329
329
237
260
276
280
366
341
251
252
327
342
364
324
336
357
381
387
343
210
351
331
246
312
339
361
313
310
376
331
314
264
307
334
227
372
309
330
313
328
247
397
260
307
324
297
262
428
280
343
325
319
351
351
299
332
355
363
355
414
321
256
291
364
384
401
268
269
328
309
281
286
290
253
337
242
277
280
401
353
308
278
318
276
336
314
319
330
297
316
302
264
321
299
294
329
335
296
347
251
359
267
309
285
291
304
309
257
350
279
318
367
353
321
295
373
319
340
322
312
366
279
299
304
351
351
331
259
341
289
341
354
297
338
328
352
274
316
328
266
342
356
374
335
284
331
388
323
341
283
373
367
331
329
322
299
271
296
347
300
304
348
394
366
175
302
319
329
319
345
294
356
314
338
303
289
265
257
244
333
230
341
386
405
307
309
395
338
410
336
384
363
314
308
395
280
344
351
349
297
265
342
383
357
342
348
303
320
310
231
357
345
277
336
275
309
410
263
324
323
296
278
359
242
410
354
291
341
295
272
406
378
290
316
243
254
351
358
331
309
276
272
231
322
390
305
364
297
295
261
320
395
312
371
313
343
365
328
330
324
247
291
321
378
270
296
355
291
386
407
318
384
373
293
379
340
340
332
343
330
319
336
234
294
251
367
334
256
392
265
305
343
312
360
252
321
297
287
250
353
244
331
321
348
317
323
376
332
319
363
279
305
283
259
359
238
325
210
371
340
264
336
381
275
353
369
279
351
355
353
376
366
264
340
234
249
385
356
335
310
319
318
325
337
362
377
311
325
290
355
350
306
263
253
331
364
343
357
257
347
381
245
356
356
349
306
281
326
245
306
311
295
287
256
332
348
269
295
421
328
369
327
365
354
299
245
339
370
352
315
371
265
299
314
428
352
384
202
371
315
381
267
270
254
328
323
302
400
342
306
374
339
331
313
316
321
339
358
387
337
385
319
364
326
291
352
367
309
326
285
302
348
282
361
262
344
277
352
366
253
356
307
273
403
260
314
281
375
302
328
319
393
285
337
283
299
309
226
278
292
292
350
319
317
302
277
285
290
342
289
277
311
334
271
347
320
265
285
261
325
285
265
294
328
340
284
328
276
293
390
382
322
324
349
358
305
261
272
338
309
342
306
325
367
348
267
336
370
294
379
352
306
402
273
351
288
254
356
300
280
234
329
264
284
330
354
359
314
348
292
269
327
295
262
359
334
241
250
355
373
339
348
378
309
331
333
263
274
317
267
354
308
309
295
275
311
323
380
303
290
257
314
375
324
271
396
382
317
263
314
280
416
318
244
344
298
257
326
358
316
272
315
379
307
285
270
306
371
316
432
379
389
320
308
361
247
284
338
372
281
330
343
292
336
248
300
366
297
376
338
331
354
367
328
335
330
368
312
327
319
351
381
253
359
330
363
351
340
319
305
376
324
351
361
259
303
276
334
318
299
297
364
294
282
327
291
344
246
291
341
311
261
206
326
358
376
351
243
313
273
349
245
285
228
256
357
334
254
315
289
328
357
318
275
363
333
378
385
291
336
302
359
313
361
237
331
291
304
299
302
335
381
310
296
300
320
327
359
295
320
335
359
310
289
253
349
373
331
265
326
394
344
296
249
349
317
343
320
265
293
258
351
265
252
272
210
334
278
373
289
404
400
288
311
357
408
292
371
335
321
289
417
364
329
341
291
363
316
344
242
358
349
256
330
299
315
288
327
335
339
312
353
348
339
318
337
328
366
260
356
342
310
319
323
363
266
421
327
319
300
243
262
302
222
318
281
354
312
288
358
372
353
326
335
351
261
294
322
349
320
313
344
398
377
262
360
308
304
342
237
429
261
340
324
326
296
263
249
164
275
280
303
349
312
262
308
354
292
316
376
314
330
326
311
361
390
313
365
236
331
352
298
346
194
323
313
362
363
314
336
357
211
310
292
327
347
304
355
287
285
287
348
335
275
271
292
268
233
344
298
261
334
327
315
331
242
369
310
327
273
254
238
315
347
274
392
322
333
285
294
314
373
339
323
362
312
316
390
358
339
311
323
340
347
234
345
378
345
324
286
327
318
373
266
316
320
315
350
297
311
284
314
350
271
342
294
312
249
359
273
362
285
414
381
315
286
241
351
413
354
287
335
326
275
356
373
285
321
267
282
417
310
304
309
312
360
333
330
287
237
307
277
280
255
324
227
332
318
377
337
409
261
310
343
369
296
334
243
363
379
301
302
348
346
253
385
351
407
283
343
276
261
390
259
321
335
339
312
336
420
346
296
351
345
311
327
352
306
338
281
296
305
292
339
325
256
213
354
251
336
396
346
393
319
308
307
332
362
272
301
326
293
282
302
264
220
333
323
248
329
314
373
303
277
268
236
324
339
285
298
255
286
311
251
337
279
259
231
325
309
353
383
261
327
359
340
278
292
282
336
329
399
351
313
318
264
278
315
320
280
309
353
259
321
335
281
344
293
312
406
351
300
363
269
204
308
295
280
290
334
190
307
333
342
249
303
297
374
318
365
344
267
302
323
340
295
286
393
360
335
291
275
343
362
345
353
304
343
369
274
293
338
291
300
268
326
283
371
371
318
305
288
389
304
264
306
427
308
350
350
358
331
347
239
305
315
272
363
342
300
318
328
391
293
355
363
314
293
324
379
225
313
388
344
337
314
207
316
282
319
321
289
345
317
313
259
337
298
262
353
307
337
286
280
376
264
347
356
343
269
371
308
294
353
329
253
291
396
295
320
376
345
225
244
282
283
352
327
310
326
303
255
276
248
278
352
312
290
286
303
304
317
377
270
350
367
311
364
284
256
271
362
259
303
294
372
366
367
312
286
258
350
340
327
376
367
337
259
226
338
321
295
303
315
364
370
360
308
339
318
282
311
290
298
306
387
323
327
303
310
363
364
335
314
329
300
280
334
249
344
320
347
405
359
298
317
310
381
363
319
284
329
358
301
294
208
301
320
282
319
357
201
276
346
302
279
377
309
349
354
333
350
410
335
383
282
324
315
289
321
247
305
276
362
387
344
255
319
315
363
322
337
355
364
308
356
351
368
267
360
344
368
339
319
242
289
285
361
308
287
304
367
262
285
340
418
352
323
337
280
320
209
431
333
365
339
282
254
345
277
357
276
328
308
228
356
248
273
291
370
303
272
373
334
231
336
307
362
344
339
411
339
357
267
345
249
329
346
330
282
292
378
346
352
320
327
337
320
394
302
292
277
363
332
297
269
316
402
321
372
258
234
332
342
378
300
395
347
272
377
251
365
365
329
241
232
374
292
349
284
292
264
336
316
370
337
282
306
344
297
387
317
343
352
332
313
328
299
368
350
350
285
321
354
319
247
258
361
363
384
312
300
311
331
294
394
329
268
324
304
289
403
328
251
273
314
274
353
334
361
333
353
327
302
254
371
268
247
383
352
313
301
297
303
269
323
323
242
275
332
340
345
393
298
317
373
210
304
361
241
314
361
357
307
304
294
317
279
290
385
358
354
256
303
399
333
406
339
349
284
290
285
342
308
271
294
360
235
373
306
327
327
331
299
324
326
269
342
294
286
249
429
354
352
318
281
330
306
212
355
251
323
361
321
303
302
396
293
349
329
296
332
308
330
292
283
358
288
326
308
295
266
287
319
291
321
352
312
304
360
332
257
360
343
317
296
344
300
337
354
260
382
339
275
344
251
314
356
384
254
352
355
395
269
301
258
241
418
315
316
332
246
300
346
313
307
286
280
306
345
336
254
348
364
359
350
240
230
362
295
351
394
345
330
384
356
397
334
352
310
301
343
300
330
253
351
378
301
367
306
323
343
443
267
203
326
284
322
367
389
394
357
382
334
410
385
352
291
344
286
356
287
352
340
363
308
319
291
273
225
383
345
331
335
293
340
264
289
364
329
343
341
314
367
277
353
319
355
363
333
393
266
236
331
348
338
368
312
341
345
310
370
259
376
417
323
294
377
275
309
323
321
313
295
304
295
313
348
270
375
355
307
346
297
302
347
318
314
364
364
349
230
350
349
285
368
330
339
296
334
334
352
361
328
390
307
313
298
355
246
258
312
337
327
348
361
375
239
298
344
355
279
265
402
248
262
313
370
265
348
291
363
279
298
332
321
285
246
288
272
340
248
360
300
258
285
320
249
426
368
315
357
271
283
372
248
368
310
366
314
305
336
325
328
306
352
385
326
298
415
263
289
367
337
306
264
281
306
255
337
286
290
272
290
353
296
311
253
262
273
348
331
325
396
333
267
304
303
310
291
288
245
292
343
283
299
314
334
336
313
369
243
329
332
317
331
419
327
357
303
334
339
293
306
266
262
337
341
330
381
379
323
249
373
330
285
413
389
384
363
376
344
352
283
347
317
342
303
369
338
278
361
354
350
299
362
276
348
189
271
312
341
385
270
304
218
336
292
299
262
391
308
354
259
375
341
319
309
309
237
365
197
324
326
241
369
397
324
243
324
175
411
313
304
382
380
350
357
347
360
320
300
372
337
308
330
304
340
357
377
422
239
356
343
313
317
298
392
342
312
296
387
335
335
390
310
347
322
303
333
252
329
347
328
360
287
276
361
368
307
335
327
350
338
326
296
244
323
262
348
317
371
242
361
325
320
361
326
383
361
264
337
258
289
246
377
303
274
286
240
266
354
288
318
291
300
358
361
337
330
342
310
245
268
210
314
342
367
285
259
361
324
328
374
253
284
289
305
404
196
317
239
322
367
262
273
352
371
263
251
357
349
338
295
316
279
362
276
282
301
346
354
327
272
322
371
360
350
375
310
314
315
409
323
318
395
381
333
366
283
329
325
225
354
338
279
369
314
363
328
349
292
352
313
275
270
324
276
319
190
389
311
314
369
322
299
283
317
305
378
325
330
305
330
440
348
393
343
285
383
317
324
266
309
358
343
297
339
312
308
325
368
372
356
253
251
299
317
306
318
243
283
336
263
223
371
361
298
323
304
328
323
374
255
307
397
298
355
362
294
300
348
281
330
405
371
431
302
345
209
343
326
316
363
278
294
317
277
322
306
331
275
367
255
317
306
349
317
297
319
392
302
276
286
331
255
380
312
300
356
303
313
270
342
329
304
353
314
253
359
261
231
240
380
415
411
335
353
336
345
344
286
285
322
328
291
299
274
261
333
321
318
351
314
331
303
353
313
292
287
325
307
375
325
371
323
374
256
266
410
293
309
377
330
225
380
396
393
426
307
326
316
316
310
299
315
353
390
346
335
233
254
318
330
384
332
380
339
264
272
335
243
354
326
335
234
348
315
277
290
293
337
370
269
407
332
270
273
293
238
354
301
309
359
338
257
303
348
375
297
292
233
300
344
335
339
391
267
255
299
405
322
292
369
278
252
282
312
333
241
195
250
369
284
374
287
348
247
263
343
327
300
378
385
410
325
243
280
389
282
270
383
345
223
250
300
294
317
382
313
346
276
268
289
310
327
379
221
382
349
359
316
361
357
375
403
341
269
265
295
321
306
297
361
336
255
304
357
385
275
308
345
314
248
279
271
267
284
298
315
257
299
273
309
340
311
346
452
225
353
241
381
261
242
388
371
347
294
314
368
344
266
286
308
305
304
407
302
246
337
355
396
320
357
237
283
333
282
383
251
350
396
311
335
343
323
314
277
356
204
432
336
355
269
320
305
297
332
363
296
324
323
305
231
352
292
277
321
365
357
362
322
373
334
292
390
371
330
334
352
348
369
347
322
279
274
389
373
318
342
323
321
271
294
318
346
364
312
319
267
320
336
311
346
334
359
340
274
338
209
224
336
319
285
343
242
302
260
325
383
325
268
357
335
328
352
338
243
360
359
296
266
295
293
220
280
324
303
374
298
350
345
303
303
357
233
365
329
280
347
349
307
333
267
229
270
300
303
363
228
321
290
374
317
324
372
261
362
389
340
317
257
293
318
349
364
322
326
331
326
349
258
283
355
356
316
321
317
315
312
288
404
325
350
304
308
306
356
352
305
404
378
272
380
298
318
335
353
310
246
292
304
320
236
324
300
323
366
287
258
369
299
262
326
353
242
311
351
291
370
316
370
316
351
303
260
320
298
341
288
367
337
303
346
334
339
312
268
285
306
165
385
283
321
319
331
303
319
282
363
355
310
374
301
350
264
380
331
292
300
260
333
350
320
324
299
350
353
240
340
332
250
304
266
316
312
278
361
352
323
327
329
262
317
311
345
336
381
355
343
322
247
316
334
367
350
350
295
294
349
313
266
310
317
325
379
326
324
259
350
284
336
336
276
377
289
328
280
357
393
338
327
353
281
376
310
343
404
350
335
282
294
321
312
289
316
333
298
317
339
383
299
262
257
247
347
291
318
329
322
302
298
376
334
339
356
266
318
262
281
391
319
315
290
335
299
376
325
374
269
324
374
384
297
321
350
195
418
389
342
280
317
328
312
285
259
300
358
350
280
302
346
310
247
342
330
325
325
287
374
318
285
288
344
317
340
293
344
332
381
302
324
300
295
356
334
370
367
270
346
305
335
327
245
391
351
283
363
334
305
358
298
305
328
356
241
309
290
328
306
348
310
338
344
377
291
375
298
295
235
267
278
376
309
393
227
338
336
303
344
342
319
310
331
299
304
326
299
359
344
344
331
315
392
353
316
361
289
330
311
319
397
377
334
366
359
314
299
299
248
378
329
299
276
414
290
322
305
371
330
312
301
364
296
337
382
331
373
298
339
326
331
320
362
338
363
346
342
219
351
311
276
253
321
321
352
299
242
361
334
362
329
381
338
266
375
404
260
352
345
297
300
367
263
360
360
333
323
296
346
287
320
407
388
274
312
363
372
330
298
323
421
307
287
311
335
331
365
348
355
378
288
317
305
336
300
356
327
363
328
318
338
356
295
212
321
265
331
323
314
283
352
343
234
360
366
388
345
286
367
336
318
325
244
267
324
258
368
321
316
335
261
336
289
331
342
355
302
340
311
297
336
332
339
276
280
330
392
322
190
269
238
298
337
314
365
372
239
341
416
246
329
216
334
328
257
254
275
282
345
403
326
279
345
320
291
330
332
361
341
242
291
300
316
300
393
290
351
379
366
284
270
239
309
297
263
309
300
339
329
289
310
258
333
275
324
236
313
286
294
311
354
353
381
315
289
321
371
260
291
260
273
363
366
305
342
330
370
308
314
376
328
361
299
187
284
309
343
342
344
310
313
257
283
305
300
421
329
343
373
306
345
316
345
310
282
332
377
336
222
324
279
390
329
336
387
213
276
187
366
385
321
316
340
260
350
283
295
369
359
302
381
305
346
325
234
250
345
358
305
360
314
205
335
266
363
345
277
257
315
365
343
356
333
304
337
341
397
338
326
304
298
267
342
370
318
292
344
237
391
350
420
384
356
319
306
277
287
355
294
319
305
302
356
314
291
438
280
233
336
301
320
338
231
311
310
354
340
323
215
267
376
328
338
401
350
314
342
364
257
343
292
313
350
309
359
297
322
340
298
294
371
263
300
325
339
372
305
300
322
215
385
318
325
381
292
339
314
247
341
266
308
348
364
372
314
366
395
299
359
285
277
322
313
357
341
347
344
318
271
294
327
370
354
291
344
359
305
385
390
297
287
341
363
396
337
377
349
235
296
311
308
249
308
270
351
388
364
302
272
282
270
355
345
327
274
300
340
353
386
361
380
344
309
292
232
366
363
313
325
219
349
310
377
301
252
304
386
243
278
271
343
332
390
335
351
306
365
276
332
370
393
277
354
206
336
305
321
335
273
292
302
343
293
362
282
281
311
253
333
288
299
360
323
322
273
356
372
349
362
289
368
368
349
299
318
330
381
356
373
406
304
284
260
279
320
334
367
330
379
261
357
332
285
235
337
240
192
350
323
377
233
322
273
276
358
238
241
337
372
389
352
323
246
306
340
327
366
315
283
269
289
363
376
351
223
292
373
394
342
326
290
264
242
302
308
323
332
346
358
286
321
317
328
259
413
309
328
351
323
303
308
296
341
312
326
284
377
310
343
234
387
259
295
343
334
330
402
327
318
347
338
222
283
375
380
242
281
277
288
286
282
407
295
324
288
283
333
275
302
261
319
264
210
319
319
429
337
307
403
272
310
328
253
290
320
327
379
275
380
245
261
401
329
404
409
310
323
294
318
316
214
325
305
359
312
322
267
322
366
325
381
389
250
267
361
330
348
348
272
271
307
271
330
274
348
255
353
299
314
360
359
241
280
167
314
314
193
349
284
243
306
400
354
246
363
325
369
298
400
312
340
380
355
304
388
318
212
394
315
336
376
383
280
308
273
336
327
260
286
319
382
240
266
364
363
334
304
358
286
274
305
361
295
285
272
332
370
326
238
390
323
369
265
348
312
256
355
371
364
274
259
349
235
301
255
338
273
347
363
336
320
291
310
334
240
269
295
285
278
371
315
377
357
340
317
304
380
283
289
321
343
237
303
298
298
316
300
348
263
241
267
374
305
326
326
330
400
415
400
371
307
312
335
302
298
306
296
342
355
342
284
302
344
296
335
325
246
344
315
333
381
225
331
307
296
340
407
325
354
296
338
330
320
339
341
311
273
284
377
289
362
222
299
360
381
277
284
345
337
427
350
355
349
291
242
287
336
315
290
364
320
279
333
359
298
285
394
313
325
287
312
363
378
343
300
325
274
284
377
297
332
263
323
246
336
260
276
414
315
297
347
297
280
323
250
308
309
334
409
329
424
248
298
259
321
282
352
331
348
336
321
315
337
356
304
335
354
282
361
321
320
371
332
353
330
374
324
307
336
303
294
393
293
369
314
306
399
306
347
276
326
328
261
317
328
296
302
432
365
346
332
325
320
258
363
336
266
362
358
363
335
374
275
304
303
393
288
288
189
318
415
330
374
326
278
363
278
394
358
402
326
339
243
318
286
408
320
240
347
257
260
384
347
317
395
275
401
326
345
348
357
250
307
349
317
273
324
285
408
457
364
328
280
337
306
356
331
310
326
318
326
316
312
273
336
271
346
323
222
346
288
292
351
313
254
263
309
309
359
350
259
373
322
201
349
350
209
376
291
313
262
402
318
281
284
272
324
334
312
332
301
340
317
269
346
245
329
297
306
354
355
339
357
237
344
274
329
327
307
298
355
404
278
306
348
295
301
310
338
326
394
249
308
329
293
240
283
319
329
242
308
294
320
363
292
335
291
369
372
282
411
401
350
271
297
368
382
366
380
331
338
437
265
310
338
224
383
378
322
219
304
321
342
342
359
308
336
366
369
313
333
316
321
363
300
293
333
260
248
260
302
238
263
333
296
364
322
307
352
328
377
355
339
356
390
328
262
393
376
345
391
334
343
327
291
254
325
331
343
151
224
324
390
332
315
370
405
414
340
322
299
401
294
345
374
257
298
325
283
355
411
320
288
273
286
273
280
293
230
372
392
288
334
236
363
322
255
272
291
295
317
329
368
365
387
336
308
351
375
309
290
368
328
347
262
289
370
329
331
356
294
333
282
368
325
247
301
317
292
371
332
291
292
286
310
294
302
320
267
321
294
329
252
294
278
279
251
415
346
371
237
353
307
330
339
245
297
386
301
351
340
285
344
286
297
334
313
337
253
252
266
303
226
385
340
303
273
345
300
317
300
282
310
362
258
314
309
304
300
344
249
322
303
209
264
351
259
335
370
285
316
314
306
354
322
296
293
339
320
346
269
343
369
346
324
203
401
316
382
241
277
285
325
338
292
335
284
297
356
346
339
311
314
312
290
343
388
252
326
273
328
262
388
288
236
332
337
236
293
331
278
309
266
267
287
349
393
249
391
292
284
361
405
353
303
387
137
366
289
355
348
384
313
274
284
306
363
316
362
373
305
301
305
289
331
443
336
335
258
411
394
329
326
285
404
310
264
333
368
277
251
264
337
345
309
367
349
345
300
341
248
249
321
261
233
365
352
333
330
359
326
279
342
244
229
310
335
252
242
228
252
298
312
301
353
364
410
297
243
284
263
400
254
368
264
386
257
352
292
263
345
324
342
340
463
331
255
342
298
308
330
339
368
327
362
360
335
328
277
311
340
293
300
273
326
332
315
222
280
345
399
340
301
327
363
337
349
380
328
269
271
342
370
364
344
343
247
316
379
292
350
327
309
254
354
331
245
339
314
365
317
345
335
345
243
244
299
329
314
319
342
347
354
249
344
351
323
359
294
288
334
349
309
306
347
391
353
325
241
343
327
262
335
296
389
341
331
250
289
316
338
326
376
361
367
336
390
365
377
273
333
277
262
324
312
364
324
282
367
375
349
281
311
372
317
338
332
271
212
203
323
381
328
302
302
253
366
345
316
316
346
365
299
346
307
318
211
321
285
337
328
282
317
308
312
275
259
267
336
399
318
339
306
361
252
331
320
408
309
336
306
378
357
334
304
277
280
343
248
341
335
266
355
361
331
298
322
266
332
257
366
292
279
423
354
236
242
405
226
290
378
341
232
311
313
270
275
337
336
335
302
314
307
309
301
373
299
350
310
300
280
358
298
347
311
310
376
357
336
319
266
315
343
334
310
332
306
265
258
364
359
250
353
325
422
259
339
355
374
360
354
331
341
293
278
296
263
318
310
270
341
282
322
350
252
249
359
357
277
242
338
328
310
333
367
316
320
285
386
255
368
310
384
357
332
310
296
316
318
302
314
353
306
315
321
336
344
331
278
211
334
325
379
315
292
354
358
346
260
315
328
219
290
349
286
365
341
255
229
341
295
239
368
383
340
303
263
310
312
350
375
365
299
319
254
272
284
267
377
206
246
291
328
416
294
282
215
277
295
310
371
359
235
296
341
384
280
333
303
280
392
269
285
286
310
298
269
308
202
356
279
317
390
317
307
391
415
361
349
253
288
324
339
352
277
376
269
333
277
301
377
351
291
296
324
348
268
305
296
389
322
296
272
309
306
320
292
361
324
426
265
333
261
349
313
356
341
273
386
286
272
348
311
261
292
347
266
258
285
290
337
298
300
339
353
294
389
324
356
383
252
301
415
367
328
357
280
344
259
324
285
328
352
234
272
320
278
359
232
368
271
252
278
355
322
270
286
292
295
319
306
285
338
306
372
341
331
306
281
354
331
341
303
219
271
425
328
336
334
416
290
296
336
369
308
338
412
287
308
338
370
353
336
327
283
356
321
322
295
306
366
237
382
265
227
336
341
300
275
416
291
318
299
379
392
307
385
394
329
364
242
348
308
275
373
220
350
326
250
299
260
225
270
334
320
400
337
286
371
272
277
379
266
349
355
380
385
278
374
244
231
290
253
231
318
256
374
262
278
365
278
285
285
284
306
262
294
275
281
268
289
379
289
361
340
290
335
403
271
304
313
287
309
342
297
411
304
268
351
316
226
265
373
303
312
324
336
371
283
350
349
349
347
353
405
320
297
295
285
356
319
326
278
359
328
215
288
262
305
375
441
315
265
314
293
244
324
290
257
342
388
316
344
307
368
296
233
297
320
328
377
390
379
290
345
301
248
360
341
304
264
348
294
330
349
213
363
361
309
349
287
356
282
334
265
343
390
290
324
215
275
320
347
337
331
307
396
337
384
239
266
339
303
269
304
414
268
305
328
302
384
301
306
358
338
303
330
376
313
262
377
265
277
297
372
335
333
341
241
319
347
376
386
281
359
315
332
351
296
294
267
310
291
213
277
342
286
286
280
339
324
298
323
361
315
334
374
316
243
303
356
297
371
401
303
302
239
317
282
278
317
281
398
339
385
365
302
277
366
324
312
332
385
318
236
377
313
328
394
296
333
337
390
333
363
347
379
326
379
266
325
328
278
232
359
216
346
280
360
287
322
316
288
345
268
382
275
379
319
294
346
353
289
303
281
274
226
298
297
362
381
269
322
289
317
344
382
346
319
298
307
358
294
343
335
302
340
413
318
369
360
329
278
265
356
335
319
335
290
246
326
354
282
288
388
295
344
332
255
345
411
250
329
343
248
334
378
273
300
349
380
354
316
278
321
324
252
301
281
372
381
304
268
236
302
291
334
313
359
286
352
345
334
383
470
398
323
398
319
249
324
322
289
320
290
294
256
335
344
319
348
275
337
281
303
375
329
378
309
375
271
275
286
361
314
264
309
268
341
290
357
342
337
347
264
335
236
386
345
220
311
345
259
297
351
218
287
280
301
248
344
297
290
300
330
268
369
274
300
256
446
394
301
287
273
371
390
231
270
309
257
328
325
301
341
359
275
245
304
238
344
270
333
325
314
268
280
232
357
306
457
383
284
412
401
319
320
317
297
321
305
307
348
271
296
245
359
366
341
362
277
310
267
328
295
311
257
311
368
348
335
342
283
329
281
316
366
323
400
370
292
232
231
263
385
418
310
337
308
367
226
320
359
367
313
345
345
356
378
349
354
275
305
301
336
269
327
301
296
365
374
347
300
324
294
338
326
346
329
335
322
328
336
306
365
265
359
311
339
355
318
273
306
346
349
266
371
343
311
312
294
289
383
305
317
277
298
310
298
353
354
335
329
314
238
255
324
242
344
387
329
401
319
323
277
337
373
268
274
324
312
243
306
360
345
303
355
368
274
291
346
297
327
300
354
318
272
341
339
360
251
258
296
374
373
334
353
325
265
323
257
366
364
346
360
353
353
379
336
347
352
264
238
337
341
387
288
278
355
235
316
215
217
332
324
385
335
212
317
246
370
345
340
392
356
373
267
326
306
260
386
284
282
383
354
203
350
281
365
244
397
275
278
302
353
299
352
380
285
361
348
261
258
274
295
364
307
276
274
298
288
259
343
337
298
382
272
310
400
356
363
349
397
349
290
280
299
309
187
321
357
246
365
363
342
238
340
298
233
380
352
303
304
368
297
291
334
217
319
319
319
294
310
297
348
277
353
365
273
269
319
290
323
410
273
384
297
326
266
366
271
298
224
350
310
361
296
362
274
339
421
444
334
265
333
331
436
362
296
390
340
255
229
243
298
197
342
360
253
305
345
310
295
330
343
361
344
299
369
293
353
359
298
297
299
254
361
381
385
382
290
320
363
341
340
349
352
230
241
338
337
220
300
295
391
289
368
412
378
265
294
259
317
303
379
362
338
231
303
279
352
390
245
315
291
236
264
271
230
278
268
349
370
330
369
325
294
364
256
236
321
342
374
400
286
326
320
245
307
296
313
263
306
253
310
383
307
455
349
397
252
371
338
296
297
304
340
308
250
382
310
290
305
273
246
344
290
331
428
328
342
308
305
294
279
327
347
337
318
194
276
271
238
248
276
289
343
363
266
292
294
318
304
315
341
352
247
277
252
329
255
302
257
308
309
278
250
330
312
378
350
297
285
265
294
253
330
231
365
319
308
393
294
359
246
355
345
353
368
238
320
287
307
342
295
314
313
376
344
258
407
326
304
359
367
240
365
331
329
280
319
280
321
250
337
344
321
340
321
339
172
371
264
359
415
239
298
354
376
348
298
331
286
366
338
388
329
351
316
382
289
311
259
314
330
223
260
382
228
315
385
334
354
289
347
296
305
372
272
318
271
392
373
319
246
292
287
309
291
331
401
262
341
294
252
306
315
322
313
359
296
279
366
324
349
171
365
313
373
380
321
320
330
303
248
305
325
307
412
320
262
266
324
371
240
307
358
323
314
344
345
286
278
358
296
333
250
264
356
344
282
319
385
427
259
340
365
296
268
375
262
377
358
324
327
286
306
270
356
290
318
390
354
381
366
322
309
284
367
332
330
321
290
407
366
390
317
423
281
289
352
302
387
303
363
318
388
318
321
398
263
324
299
277
340
299
307
367
287
363
309
254
305
291
264
323
284
349
258
348
323
287
345
324
320
362
308
367
326
347
335
297
355
295
242
300
307
287
327
269
289
360
303
298
309
301
274
248
364
319
360
256
342
413
317
265
329
372
389
314
359
285
346
311
225
295
366
295
339
294
355
382
309
223
358
338
309
331
272
308
309
297
253
284
311
281
318
365
330
367
298
365
280
267
314
305
360
328
287
219
341
323
267
317
369
304
347
305
303
285
347
278
236
303
358
300
275
360
278
342
200
361
347
293
363
291
278
315
297
354
334
366
278
353
273
231
322
349
351
347
274
279
328
242
260
289
327
322
309
345
360
308
268
342
360
256
249
350
359
286
330
319
357
285
290
206
285
404
242
333
301
263
408
288
320
386
266
302
301
374
332
337
341
234
329
302
356
363
336
320
329
380
339
335
291
347
367
240
353
330
362
282
307
288
324
373
389
407
340
343
334
320
355
295
296
341
357
378
259
364
354
345
399
341
303
396
349
301
264
263
301
338
343
337
302
325
341
303
316
343
259
345
300
336
277
337
375
297
307
319
280
343
279
353
337
267
366
377
244
246
323
318
338
304
392
336
313
277
379
238
324
331
311
381
242
302
291
310
379
380
276
300
318
299
293
387
317
318
323
374
369
250
348
383
251
435
227
276
378
252
296
389
242
317
361
227
345
378
320
256
273
321
282
410
358
367
348
338
258
323
260
312
359
295
347
289
310
253
304
346
361
288
326
370
292
366
326
325
248
339
380
292
314
319
303
324
351
293
316
388
299
345
282
254
330
350
314
353
357
384
298
294
351
336
298
296
246
306
367
324
332
286
331
329
363
300
345
317
351
270
250
297
361
315
333
273
354
305
365
258
370
391
299
318
359
390
284
385
310
371
402
314
293
337
307
350
293
325
276
271
347
403
325
358
295
383
254
429
267
259
348
244
347
296
276
415
237
283
348
320
315
337
332
316
328
364
385
347
301
285
324
426
324
277
264
382
340
358
268
369
317
360
276
315
405
322
324
305
431
264
319
285
306
306
357
306
247
297
321
363
286
347
317
407
211
333
366
308
363
263
253
349
355
315
296
371
311
341
307
403
314
267
326
362
379
280
295
259
297
240
339
380
299
273
308
368
327
243
346
355
383
298
349
256
326
348
385
304
306
392
307
260
379
269
285
348
297
358
317
295
357
276
294
399
237
260
357
276
381
277
405
321
366
297
294
241
286
341
350
363
337
307
365
237
339
278
318
332
267
239
335
344
333
419
343
351
275
299
311
295
298
388
278
312
304
284
385
327
296
329
277
287
280
352
347
346
346
377
272
309
266
306
334
255
347
275
288
337
341
275
356
381
335
307
369
334
323
327
276
411
352
258
248
350
236
376
277
308
279
326
344
314
307
329
299
254
203
351
300
385
234
204
314
344
267
289
374
206
283
314
322
362
357
341
319
420
305
336
257
337
271
292
255
223
264
308
341
329
298
305
373
259
300
310
245
339
258
236
368
278
317
273
385
283
292
290
339
355
274
294
364
296
416
302
348
294
304
263
313
374
353
253
315
398
292
282
323
323
288
377
332
284
289
281
292
346
358
438
345
391
249
316
280
393
297
211
341
256
354
329
317
342
287
317
360
280
291
284
332
286
292
309
365
296
308
221
311
307
385
293
296
288
342
287
320
292
412
321
294
397
275
381
340
336
264
248
287
300
224
256
314
295
317
248
317
309
387
340
353
350
350
258
303
325
328
314
328
328
298
275
332
302
267
252
375
264
275
365
315
299
319
306
402
302
252
360
314
246
321
335
336
317
373
287
255
392
294
308
242
282
381
336
326
336
300
358
314
308
325
275
365
300
344
345
287
332
265
278
307
298
285
298
314
310
305
313
358
314
277
307
295
299
299
352
285
311
250
355
316
349
334
341
360
335
265
298
416
311
273
344
278
363
296
253
285
318
309
353
307
421
325
316
331
302
240
321
382
245
248
356
400
255
298
382
299
295
329
391
343
318
185
264
295
265
317
393
272
355
289
370
221
358
292
226
289
220
356
311
316
315
351
426
334
293
280
333
207
369
248
350
300
302
254
324
267
306
392
303
287
273
304
282
360
288
301
251
289
241
430
329
285
358
334
349
225
428
288
292
238
370
246
299
391
276
318
378
309
247
365
362
300
272
257
274
223
348
320
382
258
335
362
313
296
334
358
415
311
306
299
320
351
340
300
343
324
306
300
324
283
337
372
340
248
309
340
345
306
379
280
301
239
255
310
274
247
323
311
237
369
335
285
331
273
379
370
295
354
365
336
343
341
302
292
322
322
416
281
381
386
327
307
325
239
336
252
342
360
283
412
279
234
267
267
334
320
338
327
375
274
351
264
246
241
263
286
364
315
372
271
281
357
227
318
290
286
195
370
333
257
317
344
308
337
407
373
343
318
310
280
251
362
333
247
394
250
301
338
434
365
345
314
327
292
293
325
354
317
374
310
293
333
304
282
282
300
348
296
283
365
291
400
316
376
370
294
288
345
315
280
209
394
328
296
371
313
308
380
286
327
313
352
235
283
270
335
371
340
376
397
434
314
312
372
351
274
271
272
329
336
322
332
269
367
334
392
348
265
332
287
346
415
317
339
297
333
381
416
255
330
346
347
370
338
362
306
323
295
279
391
425
358
282
311
322
349
275
293
264
344
365
366
279
293
329
345
317
287
291
294
317
265
254
263
368
388
269
362
325
286
325
344
288
387
263
337
298
294
381
345
319
344
315
381
289
308
291
240
349
308
327
287
354
362
269
275
345
363
336
315
390
365
318
315
309
290
288
353
349
308
325
293
284
355
277
254
395
303
356
241
308
342
343
336
284
299
318
298
319
300
294
347
235
314
357
298
286
243
383
243
251
345
365
375
300
255
326
306
331
351
325
360
268
347
206
334
261
323
315
326
307
299
363
364
358
341
357
295
396
357
327
324
317
295
324
348
266
249
352
316
319
300
265
424
285
368
360
263
295
356
373
260
331
395
287
265
373
228
282
294
345
315
358
358
280
289
330
288
306
254
320
308
357
344
339
280
290
308
301
343
382
323
354
269
368
342
308
297
267
310
313
329
246
388
410
395
323
298
316
327
267
309
373
242
298
328
281
345
305
269
300
338
304
310
338
260
356
399
279
336
360
334
260
305
296
316
243
266
287
323
261
286
317
344
314
346
301
187
315
304
283
303
258
330
347
301
269
269
370
348
298
320
305
288
426
382
335
294
254
326
306
357
298
227
281
281
261
302
321
310
327
326
371
344
289
348
388
373
273
269
334
331
304
290
397
295
344
295
263
339
389
284
407
392
341
377
292
236
280
239
316
303
362
342
291
290
386
287
317
273
358
325
341
259
291
251
332
374
360
358
321
266
356
339
323
325
342
305
267
366
312
308
313
345
282
301
354
279
319
278
321
362
239
426
182
372
303
360
316
375
319
358
292
317
319
389
381
329
325
332
413
335
342
371
285
211
297
331
335
421
236
303
255
336
276
301
294
371
324
352
317
272
318
366
366
425
325
301
311
340
309
318
327
349
336
319
358
288
314
367
319
300
279
304
322
415
313
318
346
300
239
372
368
344
328
371
296
287
334
297
368
322
412
341
364
332
340
361
268
333
370
278
388
312
294
432
348
296
277
303
324
339
327
311
258
269
348
310
309
274
361
276
310
273
367
332
307
339
305
380
334
304
320
293
391
382
252
341
283
416
373
318
366
326
322
342
259
244
380
301
282
240
367
285
300
385
325
346
335
327
314
261
322
283
298
298
347
336
323
321
367
306
343
302
298
222
260
340
319
292
325
258
357
362
333
333
258
267
322
285
308
324
297
317
373
360
292
253
313
266
320
377
286
233
396
275
306
239
256
297
309
329
359
308
264
319
285
269
316
338
307
311
347
296
309
299
333
354
348
314
324
220
318
363
395
261
385
358
387
247
286
275
293
339
310
275
301
336
356
310
333
337
326
269
333
266
334
318
323
285
394
263
259
347
393
319
355
318
372
383
286
299
259
249
380
294
320
292
400
321
330
286
324
443
286
337
314
339
260
343
283
384
387
367
315
311
373
405
265
365
354
347
263
314
303
344
333
202
383
295
298
219
312
357
293
373
350
384
331
307
364
304
348
255
301
330
427
344
345
333
339
299
331
217
355
264
302
362
280
273
344
369
292
245
343
380
331
348
311
318
381
356
301
360
352
324
383
347
292
351
325
386
406
299
327
358
221
296
247
262
344
295
348
350
436
243
285
344
330
340
230
308
253
362
386
252
268
430
341
354
385
236
343
319
343
400
300
296
332
404
343
380
309
323
257
292
310
275
299
392
260
343
307
337
357
284
308
367
354
431
252
361
321
285
323
293
301
256
308
334
317
358
350
297
242
303
379
278
257
339
330
303
279
304
341
378
362
261
286
338
354
337
274
278
252
386
393
305
348
331
240
274
317
374
370
364
251
331
330
248
374
254
308
294
412
319
242
356
287
254
280
334
313
303
357
411
278
328
369
382
268
288
320
329
361
332
335
327
375
329
329
321
291
346
309
253
311
334
250
341
293
335
335
383
301
334
341
332
278
328
277
327
353
373
303
392
358
387
306
296
313
261
293
397
395
301
329
305
290
271
303
358
206
352
319
342
285
225
256
348
308
310
361
277
372
239
329
397
335
382
224
370
339
287
395
227
208
383
331
370
343
248
324
391
383
284
264
339
323
309
380
317
378
327
334
256
287
411
324
323
201
370
319
265
291
347
295
300
341
273
378
326
373
270
339
304
336
254
395
283
314
381
367
335
359
292
322
311
294
331
231
294
271
303
337
325
401
327
248
311
388
257
323
340
306
306
294
278
248
264
302
348
298
320
289
352
353
373
282
340
324
253
292
317
302
350
386
262
337
265
335
342
343
274
309
311
242
275
280
306
346
167
346
257
303
337
417
300
284
322
287
356
434
274
309
283
301
281
334
297
278
361
277
346
346
292
264
381
355
354
275
338
347
366
299
289
271
347
271
309
232
210
342
299
286
330
371
375
355
306
310
336
393
370
299
219
295
305
314
301
306
384
374
376
234
345
361
385
393
344
328
343
300
299
256
352
375
191
295
300
289
319
378
302
288
317
246
356
379
322
282
321
204
307
329
295
247
304
366
346
286
322
231
314
322
242
276
304
397
286
289
278
295
265
308
293
308
229
341
298
350
333
380
392
294
364
353
296
327
256
338
300
206
339
335
312
275
316
286
357
357
230
225
325
300
291
357
312
412
322
279
326
355
349
333
270
358
367
234
381
259
348
326
315
381
280
362
311
329
340
396
225
311
357
311
413
259
345
341
328
266
359
355
268
259
303
351
302
282
322
293
353
302
315
281
313
296
278
338
337
343
295
224
238
375
356
282
415
346
303
302
320
392
327
364
370
322
291
233
322
299
349
333
302
321
290
336
239
294
322
324
302
274
330
322
368
302
225
315
272
350
352
359
270
285
377
318
358
350
346
289
281
316
283
325
309
264
380
362
342
340
264
380
318
312
299
297
293
404
333
366
285
311
316
362
319
273
259
183
306
241
363
377
325
275
326
323
315
251
315
304
285
271
378
275
300
306
309
307
304
228
290
354
320
288
323
353
289
357
337
294
312
372
256
347
327
305
314
291
264
237
317
356
394
307
346
261
240
322
347
354
304
340
273
297
270
285
324
295
414
353
398
361
364
246
455
322
390
284
302
288
270
314
327
267
400
395
302
257
286
337
311
302
306
328
240
318
332
319
332
347
392
338
460
313
360
306
309
291
313
335
288
363
337
295
294
238
368
270
303
361
351
429
374
286
304
315
364
351
280
244
235
370
319
348
247
371
308
260
349
372
299
317
337
313
267
338
383
288
354
375
332
369
315
292
297
280
242
294
325
371
229
334
284
301
242
287
337
221
319
365
347
301
314
335
316
293
294
238
350
258
253
317
348
293
268
293
229
374
315
245
368
287
323
315
331
336
384
339
333
259
217
278
301
409
288
340
316
309
293
251
342
294
346
326
293
373
343
323
314
389
311
332
209
296
312
323
382
322
289
284
310
298
350
328
352
365
280
325
354
274
297
369
292
358
282
328
295
389
365
282
324
331
356
331
254
357
327
341
250
263
396
382
255
263
291
323
269
293
364
309
370
308
313
331
282
348
328
310
319
294
174
244
391
284
368
297
334
361
323
289
307
321
330
336
371
308
293
310
288
310
297
257
323
374
271
306
351
254
340
281
348
381
196
320
276
248
299
357
390
344
387
348
357
267
302
312
295
277
297
293
361
305
350
302
319
412
312
247
341
344
324
345
339
318
305
280
308
330
227
290
234
255
262
326
341
310
314
347
313
354
355
220
310
256
364
224
340
355
310
341
334
328
436
301
274
306
384
314
348
316
330
305
365
263
270
245
306
375
310
282
374
327
267
213
312
304
354
369
385
219
365
371
284
332
247
293
309
350
318
280
407
370
291
396
319
341
308
322
317
254
284
391
224
265
311
284
276
334
294
369
396
383
307
337
286
418
307
285
346
300
257
352
331
313
303
304
320
191
316
324
334
299
347
286
296
354
333
290
274
186
342
307
258
234
342
320
358
321
354
405
381
350
313
341
288
303
288
401
321
383
290
205
331
273
322
315
305
302
307
319
264
254
398
350
334
252
399
328
274
342
301
337
305
299
358
316
244
296
313
311
325
303
253
341
281
294
328
374
273
393
343
361
242
319
334
309
328
311
287
335
295
251
320
259
346
288
352
302
358
340
343
292
371
253
323
336
369
321
314
282
288
315
333
357
293
207
242
269
357
354
270
293
306
337
370
337
354
334
319
268
349
366
334
345
314
325
333
357
282
320
374
291
353
327
360
357
312
254
369
312
316
334
339
369
347
302
308
359
298
335
357
291
353
283
354
332
329
285
316
288
305
292
255
338
332
367
349
264
347
341
323
316
298
377
361
316
251
375
249
393
262
272
306
282
322
417
305
262
372
364
276
286
342
280
268
293
257
291
344
316
301
271
392
366
349
340
369
288
320
263
319
327
386
409
456
286
310
279
354
318
301
292
351
353
412
235
371
305
377
222
312
334
338
299
366
294
260
341
282
290
344
270
306
301
294
300
323
341
378
331
303
297
352
347
305
282
283
230
309
264
395
263
223
372
267
233
325
330
398
310
300
318
305
295
381
337
346
358
288
358
376
299
260
276
289
250
238
333
228
273
362
279
250
305
311
332
281
287
315
329
297
297
346
327
263
201
272
321
249
303
331
291
409
226
308
378
354
353
338
380
316
329
269
290
382
216
239
316
268
287
244
246
352
260
274
299
375
373
324
377
270
276
343
333
342
395
329
288
317
241
289
302
324
267
378
312
356
313
327
387
310
321
395
328
158
333
361
295
238
340
332
337
355
318
276
280
266
274
306
273
343
296
316
280
344
378
280
245
300
353
346
314
411
294
257
247
256
365
371
249
363
372
251
296
341
310
334
270
351
318
362
291
354
296
344
328
382
341
358
310
263
226
306
314
366
253
297
306
377
346
396
373
308
386
285
392
303
286
324
354
350
272
405
290
279
382
393
373
305
295
330
383
252
355
371
345
275
272
393
362
366
352
337
330
367
324
330
322
366
332
319
277
342
349
379
318
294
277
272
423
321
351
274
315
315
361
307
287
214
377
369
356
234
304
323
286
323
279
243
368
361
290
268
380
342
346
328
273
302
351
254
283
310
280
382
341
299
314
328
345
345
384
302
426
290
314
325
310
289
238
439
345
309
369
298
331
302
361
327
246
211
360
345
291
389
344
382
349
375
266
372
353
379
360
303
283
221
329
288
256
295
356
336
346
265
314
341
302
349
318
326
337
301
367
331
265
335
384
332
288
222
284
325
307
280
262
306
437
340
352
342
363
323
262
383
314
323
335
325
332
316
353
237
301
324
292
252
374
357
219
269
284
331
320
299
345
288
312
240
306
326
251
367
311
242
231
279
350
244
348
287
287
347
371
322
336
325
382
296
288
223
281
303
332
366
334
385
299
278
382
312
295
328
371
355
313
282
212
228
346
397
317
380
359
395
336
397
361
311
270
257
337
309
317
326
280
375
389
257
248
332
319
388
372
316
290
290
287
270
384
334
346
201
291
352
317
329
354
278
322
342
268
362
307
279
364
299
215
362
378
345
324
325
373
363
301
362
328
255
345
244
360
246
346
327
315
332
361
293
361
353
324
250
352
295
322
341
295
330
386
295
349
282
238
289
307
403
291
358
284
360
342
325
347
322
361
298
260
298
361
264
302
304
396
306
275
253
263
384
249
317
334
382
272
296
298
282
321
323
348
376
266
295
370
267
262
352
277
359
242
275
234
268
396
319
347
338
377
188
288
354
297
257
312
321
352
368
323
313
348
318
301
294
333
299
282
309
262
263
321
376
346
331
382
294
330
317
283
281
239
374
292
364
330
349
347
314
255
318
366
313
354
381
333
348
398
340
386
254
257
240
322
388
341
419
294
346
284
314
279
323
318
361
303
245
348
294
325
328
307
362
344
267
299
344
325
353
325
361
329
322
347
345
349
308
212
330
355
285
348
422
251
337
274
224
277
375
365
367
264
258
254
331
329
329
372
327
323
333
294
304
377
313
241
350
309
350
324
344
303
284
322
312
244
313
288
384
331
341
270
213
304
345
258
298
328
245
311
235
338
236
257
293
314
355
263
370
287
313
332
379
348
407
297
395
290
246
303
275
293
311
335
355
335
339
289
372
322
328
334
331
353
405
390
338
262
359
283
297
278
321
327
340
320
299
262
312
303
287
318
382
295
297
250
284
248
273
345
307
330
314
315
345
282
386
337
333
324
252
233
349
262
296
296
282
290
358
308
293
300
350
286
318
308
364
266
277
316
333
321
281
338
327
244
300
339
186
336
317
289
286
390
304
297
238
372
236
306
275
357
280
296
338
316
185
293
272
416
216
259
357
285
340
346
306
366
294
334
348
318
249
276
307
349
355
259
333
318
281
357
323
378
360
341
359
309
197
357
271
298
319
345
274
333
334
302
389
298
340
306
255
335
292
352
289
331
394
273
247
259
277
217
298
327
335
323
331
312
299
317
351
338
230
389
312
283
358
383
324
258
287
283
275
271
277
307
370
381
340
308
273
315
355
345
322
338
345
275
341
344
318
264
266
347
397
323
382
305
363
303
347
334
334
352
371
286
313
343
306
351
276
313
349
306
258
248
282
374
325
316
374
224
358
323
228
314
300
267
344
330
317
335
396
329
350
288
321
359
363
349
335
393
313
356
389
283
297
320
301
331
305
306
277
354
292
249
327
318
399
267
375
305
337
284
303
373
302
349
268
316
361
323
363
324
351
310
380
379
305
336
291
358
299
310
241
345
397
374
267
341
285
301
386
284
344
320
318
326
338
298
310
296
349
282
285
206
277
309
275
247
267
359
253
315
307
363
269
301
257
327
302
345
376
362
409
244
420
250
341
334
258
371
323
329
276
379
329
239
260
340
238
288
276
292
301
251
304
306
317
268
313
339
331
222
368
404
310
299
301
291
293
337
281
340
273
284
334
200
402
342
307
278
339
301
283
372
353
449
294
390
394
353
308
373
335
272
263
357
325
390
313
292
241
366
303
310
273
270
391
325
352
352
277
338
341
303
325
324
296
252
327
327
352
338
377
339
329
330
299
310
381
259
340
297
263
311
370
284
315
340
387
363
289
274
282
315
352
283
314
322
340
288
334
353
281
367
311
393
247
230
298
254
321
337
327
284
256
213
354
286
427
293
299
339
285
263
351
314
311
289
303
294
382
313
304
370
362
361
378
302
302
271
398
210
239
337
377
312
337
410
347
373
312
312
363
282
308
288
274
313
352
330
323
264
230
292
364
350
329
295
344
341
349
288
361
361
360
377
309
360
271
384
278
352
373
319
296
326
237
270
320
326
322
342
361
304
331
328
260
410
339
308
331
258
231
299
279
336
341
295
291
330
340
256
275
332
399
308
214
280
247
231
216
289
358
323
357
241
348
386
338
345
368
340
310
356
302
306
320
320
368
331
336
215
292
312
345
328
366
344
263
291
272
302
334
281
373
348
375
291
303
320
306
293
273
293
404
317
303
306
412
324
427
291
360
306
311
301
355
338
356
389
255
380
322
345
313
339
313
337
322
370
310
307
278
299
350
359
316
268
271
378
308
238
303
306
372
312
380
325
327
259
334
324
342
343
288
323
298
317
322
343
307
325
331
311
376
239
274
201
250
338
378
272
301
295
372
249
298
271
337
322
321
258
405
328
255
368
251
360
355
272
252
334
298
320
253
280
329
268
342
353
357
394
318
347
350
242
329
316
288
294
343
296
305
300
287
290
293
400
357
364
198
349
336
321
349
266
316
274
372
337
328
378
335
321
228
302
396
312
279
380
364
343
299
362
220
368
309
297
338
282
368
279
196
368
314
283
316
337
287
332
302
391
387
293
223
354
330
352
326
293
332
360
353
368
313
305
277
350
319
305
279
285
349
309
294
306
259
340
364
293
301
276
227
345
210
253
247
313
288
306
334
388
215
287
311
359
275
330
271
276
305
308
402
339
368
355
362
236
363
248
304
346
324
316
331
277
316
285
233
329
388
309
354
357
289
411
278
396
260
319
281
325
323
327
331
352
312
327
368
225
317
332
375
300
401
358
342
315
261
307
327
370
324
346
273
408
377
331
364
225
294
316
382
284
294
260
267
303
285
263
314
276
334
386
279
380
276
236
330
238
346
413
338
245
331
269
291
310
321
350
283
403
321
384
300
370
301
329
267
356
288
345
353
293
329
408
357
307
343
329
311
272
370
243
262
303
339
336
334
307
266
362
303
379
330
287
293
365
272
249
344
288
359
261
265
304
298
265
247
306
301
338
283
287
270
297
359
272
292
289
368
345
358
323
306
261
317
347
349
407
337
334
380
409
345
273
336
327
250
344
363
276
304
300
348
390
218
278
340
401
239
322
287
277
338
251
297
335
273
335
272
326
289
367
331
276
351
336
285
310
195
286
322
330
230
277
312
322
319
301
320
256
286
296
295
345
322
373
305
324
314
348
296
302
286
319
314
324
383
300
273
354
366
357
283
329
382
349
238
349
393
309
308
318
306
214
352
251
290
307
331
320
363
216
324
268
349
349
291
271
339
359
290
380
247
263
313
343
323
377
341
367
310
297
221
309
304
304
362
352
282
252
257
298
265
385
292
272
324
340
302
360
346
407
247
309
348
316
293
366
358
368
242
268
376
344
289
337
281
259
369
321
325
226
300
384
315
327
274
334
377
294
303
368
334
327
277
338
300
328
277
304
362
323
425
310
297
252
363
327
338
371
349
289
204
256
250
297
339
258
363
304
348
320
186
249
379
363
246
315
278
324
287
358
303
288
339
265
313
308
324
389
362
251
350
390
349
313
391
341
279
388
300
235
273
393
276
276
353
331
326
285
241
328
308
255
315
339
236
292
270
303
265
270
303
286
230
424
325
215
293
338
418
357
377
311
283
344
215
316
325
395
366
297
308
360
307
318
384
274
260
337
415
293
379
395
310
410
358
283
393
267
298
249
282
329
311
308
348
290
290
351
344
339
334
405
293
315
349
348
298
252
309
308
227
389
266
331
275
344
340
280
304
291
414
341
368
291
312
259
332
299
294
360
325
278
336
309
328
241
349
335
306
240
303
348
344
361
320
340
302
249
238
328
331
264
372
344
240
286
310
302
319
412
294
377
413
280
270
309
270
279
273
327
285
314
336
232
392
391
286
319
303
272
338
178
320
319
347
285
307
303
360
306
250
274
274
350
240
346
357
249
320
272
313
302
286
353
364
314
276
362
343
366
311
282
372
222
404
302
334
380
335
353
374
326
351
295
302
368
250
355
339
264
205
347
287
256
303
393
303
290
279
263
334
324
307
374
295
260
267
339
272
328
304
278
303
395
345
364
371
307
333
317
311
237
386
224
290
298
307
295
379
361
342
357
309
324
346
329
337
308
273
314
354
360
275
322
301
311
282
351
234
308
307
382
305
312
336
363
278
348
349
299
293
345
251
321
328
283
272
309
300
311
323
354
385
280
394
305
293
243
335
343
311
314
358
289
311
207
338
268
297
301
373
278
276
416
254
384
415
353
350
265
266
358
385
404
343
297
279
291
351
270
401
305
359
297
287
332
299
315
326
344
387
376
389
311
328
269
342
285
359
296
366
343
347
352
363
221
357
317
345
342
348
389
289
301
275
270
375
254
314
321
279
292
217
314
257
307
290
243
403
371
326
270
285
296
313
271
229
335
262
276
302
324
253
321
304
268
284
260
273
263
353
383
285
350
269
311
387
311
214
293
301
276
311
265
327
291
300
258
314
409
271
350
356
299
314
358
341
301
328
384
286
234
313
286
266
273
241
341
322
309
359
355
330
335
329
353
290
322
277
287
234
257
241
393
362
301
334
330
328
230
375
362
257
330
351
272
416
278
253
347
273
248
338
320
367
319
304
294
298
298
337
326
330
352
322
337
294
346
265
360
285
363
425
373
309
271
293
405
371
251
330
342
315
330
320
391
307
292
258
327
269
283
374
349
319
329
316
308
258
265
363
354
323
339
343
277
292
337
328
235
325
373
239
310
275
278
275
274
322
317
366
365
316
312
339
309
348
295
399
311
327
299
328
303
347
307
394
417
326
303
338
330
308
293
372
224
274
321
261
335
315
256
278
269
330
355
341
340
351
311
383
259
359
316
326
412
356
328
396
375
263
374
259
281
317
354
286
321
271
230
370
291
357
333
369
357
323
289
300
278
343
189
334
400
233
299
390
326
392
409
265
373
352
365
220
299
342
391
272
228
307
355
348
346
269
393
254
349
314
364
339
444
295
275
370
217
355
357
264
355
359
317
274
309
294
306
318
346
295
299
312
364
284
314
263
402
319
305
352
378
399
255
331
255
345
360
281
383
323
393
298
251
378
350
364
328
341
311
262
303
390
362
366
338
436
264
298
349
310
364
421
318
309
328
409
344
274
232
350
310
351
356
295
323
280
253
335
298
397
410
306
301
370
335
299
370
306
276
307
346
263
318
357
352
257
396
371
261
313
260
351
346
299
363
358
315
317
361
258
359
374
301
322
337
398
327
263
285
281
338
313
423
273
277
309
286
277
354
368
384
295
364
328
326
307
325
305
296
305
334
296
331
222
279
373
386
292
369
334
310
305
315
332
335
260
358
272
412
364
323
236
236
286
249
354
333
222
318
343
258
295
270
224
240
355
322
372
366
360
360
264
273
333
355
289
264
260
368
315
289
276
282
291
336
356
347
324
405
321
218
389
328
373
345
334
302
248
344
398
296
314
328
365
313
265
257
327
305
257
291
325
345
290
355
388
334
337
238
278
340
245
277
323
355
235
325
309
348
314
278
312
276
336
321
345
282
326
343
281
308
304
371
283
305
455
237
359
337
277
184
274
353
344
342
238
242
338
300
332
313
263
292
252
261
349
323
274
253
356
314
374
374
313
330
377
287
370
265
311
311
331
238
300
355
314
335
277
358
394
336
310
324
266
326
306
450
272
193
359
376
251
327
314
392
351
407
280
393
373
286
285
267
331
371
291
235
295
390
347
258
291
347
304
317
333
346
328
363
333
368
241
282
324
306
239
312
274
303
307
312
334
306
295
369
356
382
296
315
310
327
345
392
279
321
325
321
310
304
273
262
337
358
340
339
279
304
260
379
282
242
367
258
293
260
390
275
373
310
327
279
307
392
294
320
244
425
320
332
352
323
213
409
242
204
350
318
325
330
269
376
259
316
354
302
338
330
259
313
258
304
258
346
337
352
301
311
398
267
308
295
405
301
285
261
280
311
285
354
304
341
285
259
235
358
340
356
310
366
320
255
330
321
322
399
351
341
302
354
349
325
340
315
319
263
361
260
305
288
339
375
378
176
322
303
294
310
266
327
257
333
319
355
319
295
333
314
331
270
348
261
257
327
311
341
341
351
248
274
354
416
323
349
341
324
190
300
237
321
339
398
353
343
338
180
271
334
351
313
248
263
279
352
242
362
397
301
264
281
400
256
352
283
388
414
407
326
304
281
330
284
366
311
332
386
300
332
383
211
339
283
299
302
318
320
293
332
279
312
279
213
244
289
273
292
319
270
268
349
364
306
325
326
347
332
357
305
220
380
311
290
291
333
437
302
257
316
368
310
371
275
388
384
275
319
326
312
292
333
365
236
367
252
258
309
358
296
396
357
317
285
364
263
328
396
320
318
234
375
306
303
295
300
293
354
276
353
266
357
315
373
349
301
260
306
389
273
303
338
351
333
367
306
329
286
299
362
280
285
301
384
300
338
359
346
412
297
329
255
256
391
337
311
382
268
286
356
291
289
380
302
265
392
289
312
263
266
318
284
333
304
339
308
355
409
338
282
353
327
315
355
329
256
249
317
317
303
320
271
377
301
265
302
309
257
275
307
290
349
298
314
252
356
258
324
360
245
342
306
398
265
410
288
365
359
320
298
191
283
256
321
360
301
309
368
400
312
224
293
332
219
269
281
228
419
275
329
280
286
259
360
347
296
353
417
263
353
298
349
368
348
261
291
388
292
313
329
335
377
357
328
306
334
261
347
306
317
357
298
325
381
301
325
320
307
254
358
406
359
355
342
303
242
334
352
240
263
304
247
339
286
360
330
273
316
263
339
344
334
284
295
345
272
283
248
322
321
185
390
200
309
364
328
280
294
284
261
309
241
358
310
260
345
397
381
201
287
419
286
330
301
350
340
393
358
278
298
336
341
345
352
319
272
297
284
309
358
279
312
262
328
267
242
302
344
241
383
301
412
278
356
286
320
321
300
298
284
305
209
391
332
344
306
401
315
328
360
319
293
308
270
364
355
301
362
376
255
364
306
287
294
362
283
319
298
355
308
333
314
263
351
329
289
411
283
323
321
374
323
268
353
318
354
281
297
259
393
350
301
267
308
361
329
330
343
247
301
357
252
335
363
315
374
356
328
301
409
382
360
251
317
321
364
356
344
291
279
318
280
329
318
271
301
349
236
229
268
324
335
297
320
411
393
377
230
342
342
355
316
410
341
284
325
258
339
286
273
301
380
279
320
355
368
331
276
295
359
327
323
327
246
267
360
325
365
314
358
313
342
244
331
273
311
365
334
309
245
357
310
338
338
331
286
362
345
329
311
311
294
280
326
346
339
315
319
247
307
412
309
306
360
299
317
317
276
319
296
291
294
386
444
269
257
321
262
314
308
296
299
313
310
309
280
319
296
348
360
301
411
356
309
286
363
351
344
325
348
284
357
270
313
344
294
299
228
319
184
381
331
248
304
364
347
215
357
261
353
356
306
368
304
331
269
327
320
276
364
348
350
225
282
263
361
289
383
341
316
293
386
262
310
341
335
289
348
375
300
344
343
289
223
337
368
379
352
361
285
319
316
315
364
285
377
329
311
255
378
346
348
325
346
324
371
389
266
364
257
263
319
345
361
273
355
344
328
366
265
356
302
244
369
351
219
253
294
317
315
261
333
269
374
265
299
331
386
287
309
279
393
396
244
336
217
266
320
369
304
358
278
345
396
298
253
279
200
293
333
257
275
394
338
316
411
403
204
212
274
381
381
351
331
317
341
291
330
280
337
279
328
285
297
232
333
383
315
277
332
284
288
356
324
234
323
259
445
257
353
328
290
273
332
306
268
373
206
304
273
293
315
388
326
320
323
264
287
343
405
337
342
278
293
226
300
292
318
279
242
355
280
361
288
303
261
308
248
296
320
317
337
335
329
339
362
314
340
346
200
327
306
282
249
280
370
399
228
385
400
399
327
326
331
323
254
280
357
305
346
347
326
250
320
340
318
266
362
374
323
305
303
351
298
251
315
316
273
338
340
309
405
214
347
306
259
362
251
315
307
371
336
342
388
345
275
250
314
319
344
259
357
326
339
400
250
311
374
311
382
250
230
315
375
310
296
376
265
254
384
340
375
345
392
281
379
297
246
367
298
266
329
379
325
408
354
342
376
348
356
276
284
342
411
385
388
378
381
381
330
353
250
266
284
339
266
352
285
336
297
254
377
235
304
351
270
348
352
313
239
330
344
415
277
302
227
340
321
311
349
341
257
383
240
352
348
282
297
331
346
321
278
317
338
389
346
301
291
301
367
277
323
321
351
376
392
293
342
359
248
413
325
329
286
229
334
342
312
291
303
292
310
258
353
318
311
278
305
391
290
354
348
400
217
309
250
252
326
324
364
286
292
341
363
328
311
299
317
295
324
273
324
344
310
343
304
318
306
335
322
348
322
378
248
283
377
355
390
370
372
232
364
306
346
304
239
330
365
245
289
366
311
325
395
218
362
352
292
287
351
332
310
307
252
346
332
340
304
408
329
267
258
334
416
348
278
280
279
256
279
249
397
385
360
324
318
351
349
305
300
257
348
287
359
320
284
277
300
373
374
357
333
310
399
362
329
299
361
287
334
284
373
324
272
321
277
308
291
333
299
304
368
287
257
297
350
373
310
303
335
225
286
251
355
282
302
269
284
363
352
242
335
345
284
340
316
290
419
334
339
334
314
295
344
296
222
220
310
407
311
304
313
251
283
325
333
278
377
309
284
337
371
283
305
304
339
361
341
291
322
355
322
284
361
359
353
328
347
248
361
323
305
354
299
351
324
354
275
333
267
284
400
349
356
406
374
286
358
301
335
317
348
274
338
276
319
244
282
251
367
300
320
358
333
296
314
355
378
312
399
288
310
338
285
395
330
309
381
313
355
375
347
323
389
308
359
330
358
393
350
301
361
268
299
375
302
359
312
306
354
331
272
263
294
316
379
286
308
344
318
319
291
334
258
282
377
362
314
359
395
289
309
303
361
367
341
327
281
334
367
281
283
334
358
344
288
307
316
309
350
273
267
313
350
302
345
291
328
300
323
336
306
254
340
254
261
159
330
356
267
282
317
320
315
334
375
313
297
320
340
328
344
290
321
262
294
292
391
266
274
283
323
309
338
317
266
216
368
322
349
338
256
355
264
325
366
340
406
345
322
215
339
335
382
337
241
357
382
317
370
337
261
288
252
283
351
295
300
311
300
317
256
352
387
333
388
342
349
353
281
277
324
262
305
346
284
273
283
297
310
366
322
399
323
252
328
343
272
429
294
333
284
390
302
293
248
346
300
387
356
333
257
283
231
281
323
264
290
358
253
323
317
276
255
285
373
339
336
311
356
235
380
271
305
328
398
308
345
324
313
261
279
305
312
378
320
324
326
253
280
358
317
421
281
317
283
322
319
339
328
297
329
318
361
317
316
270
344
355
365
346
264
353
311
386
252
348
219
348
337
293
312
280
225
265
243
282
366
308
306
383
315
364
354
344
219
338
316
292
251
322
288
346
286
309
340
320
321
289
351
341
349
319
361
381
312
364
213
345
325
347
378
328
293
280
329
267
280
347
275
376
264
290
350
293
312
245
350
327
307
322
333
338
335
408
270
356
300
310
337
252
360
358
381
345
330
339
343
318
337
255
329
282
338
292
304
260
357
301
300
351
348
406
299
310
284
270
296
372
350
320
312
284
333
235
225
313
313
290
279
255
362
307
246
234
335
244
225
254
223
322
340
266
322
266
389
213
363
356
321
308
330
395
258
309
271
276
320
342
311
349
301
315
375
360
355
323
330
330
351
325
286
316
330
330
355
301
301
267
311
301
278
307
275
310
306
291
293
413
352
286
308
366
410
368
319
301
299
368
245
305
279
322
304
301
241
346
283
302
272
317
325
348
330
246
286
257
377
314
336
392
269
304
314
375
237
268
331
257
324
269
274
341
325
222
361
280
332
387
350
276
286
292
307
264
316
361
328
326
340
354
314
272
397
286
222
267
326
163
308
336
319
347
320
315
363
288
374
286
243
326
262
372
373
392
320
337
290
306
300
264
325
344
352
254
246
323
246
384
398
317
330
323
256
294
314
399
323
289
331
289
231
269
305
344
347
349
407
353
359
297
334
342
299
282
322
308
325
286
348
312
382
278
215
319
361
341
374
345
351
287
356
296
257
228
286
420
237
273
356
355
322
258
284
368
297
372
302
342
257
345
294
335
301
294
270
312
314
341
333
229
429
314
373
359
275
228
262
320
394
311
267
287
307
370
356
328
332
240
282
354
300
307
256
315
325
316
299
360
371
311
265
377
273
293
301
286
304
319
403
263
241
419
293
336
332
238
360
314
292
352
311
303
344
280
307
350
354
312
301
251
328
358
362
282
301
427
383
293
321
341
292
388
319
372
369
322
274
363
335
258
409
351
309
345
204
320
357
326
334
362
325
368
350
331
264
254
347
300
315
331
338
338
311
290
344
273
369
331
302
234
347
263
319
288
351
339
338
284
312
306
278
302
374
272
332
239
353
281
272
297
280
290
341
328
395
306
332
276
275
345
311
307
304
340
319
263
370
366
201
302
292
284
266
297
330
308
352
245
342
321
277
297
302
319
313
302
277
257
342
292
287
375
345
215
294
344
367
275
302
308
372
331
314
289
341
311
350
295
273
341
287
276
289
282
235
335
353
335
303
310
234
392
398
398
366
311
332
298
365
359
337
275
323
318
312
356
291
345
332
277
322
284
301
329
378
357
185
307
393
349
332
334
341
301
309
315
275
312
369
325
347
319
395
281
363
275
401
337
312
432
351
267
311
318
311
318
307
327
297
211
276
333
344
285
274
325
344
287
359
344
349
343
354
360
328
316
319
340
366
299
321
272
260
294
378
289
342
320
381
307
335
298
293
319
309
425
377
352
334
272
360
369
306
293
378
294
335
270
283
334
328
415
306
363
273
260
238
244
266
384
324
319
280
351
310
285
348
305
282
328
359
294
351
216
378
300
304
347
355
324
273
330
324
378
335
312
334
323
366
368
352
412
321
337
328
270
208
268
342
258
331
355
318
238
301
270
291
364
290
313
290
276
381
287
316
272
367
369
269
369
364
286
383
296
298
244
209
311
278
348
340
283
329
367
232
256
302
286
327
408
285
393
340
366
323
325
374
336
364
350
366
285
224
339
311
282
330
269
378
324
368
292
267
268
259
366
356
332
273
364
246
379
383
250
310
353
317
288
357
405
275
316
375
357
280
355
287
330
276
419
302
364
277
292
313
258
381
239
267
295
322
387
264
362
269
326
236
325
308
224
373
300
285
346
302
373
288
300
381
367
275
289
211
362
369
318
213
287
376
347
338
270
271
238
252
320
312
302
232
328
360
345
225
251
239
300
354
265
345
346
383
251
254
309
357
329
347
314
289
310
376
350
351
276
295
327
330
331
219
374
327
283
380
296
297
411
327
282
292
298
377
337
264
327
334
377
270
361
254
370
383
281
327
327
358
338
384
300
282
260
283
380
271
275
235
227
299
306
302
192
358
312
342
259
228
368
226
298
243
287
356
356
272
288
387
355
328
359
300
369
304
274
321
224
342
244
357
254
290
283
352
333
311
365
333
307
242
262
272
313
359
326
326
340
348
358
299
311
320
341
352
413
324
278
307
275
227
311
235
367
293
236
300
351
314
272
378
341
309
293
250
287
345
360
294
337
330
393
233
360
338
332
318
344
351
349
245
304
305
322
293
354
358
268
350
379
250
249
348
334
241
323
351
279
363
318
375
271
261
321
320
260
328
365
325
336
296
287
279
292
296
366
304
288
363
350
324
345
291
227
329
208
313
279
346
285
279
255
333
272
332
274
345
332
328
344
206
263
294
341
316
262
244
219
351
279
322
310
310
310
276
281
348
342
376
286
222
346
303
254
403
278
315
296
282
325
277
372
309
290
267
325
344
274
327
406
359
353
356
297
334
307
294
357
255
318
364
383
310
396
322
352
296
314
335
355
269
329
374
347
353
332
254
331
347
302
310
372
359
407
328
368
272
350
350
331
373
303
276
315
320
319
305
351
330
364
252
348
259
277
363
320
385
297
302
264
325
321
285
322
315
338
380
354
304
350
339
355
302
285
278
297
300
384
370
290
319
361
401
345
354
407
278
246
397
401
380
299
348
344
256
216
317
252
309
371
294
352
321
381
308
274
289
321
313
302
307
380
293
332
283
299
330
303
273
272
319
362
359
273
342
346
212
260
289
390
328
314
394
288
262
386
304
251
258
303
213
388
339
330
310
344
383
305
365
263
350
333
294
330
341
276
385
385
376
308
369
333
326
318
331
335
314
329
366
333
340
394
251
310
346
340
357
242
340
373
204
288
325
221
356
272
361
318
377
316
299
286
334
337
392
327
393
228
309
319
331
244
355
295
267
254
300
250
292
318
339
297
322
297
368
317
299
346
367
351
324
347
289
280
275
334
351
288
236
235
289
312
299
287
305
340
242
339
351
356
360
321
310
321
337
337
321
321
327
332
263
282
313
359
322
249
348
309
277
327
262
325
366
328
283
310
272
352
266
296
349
312
378
314
338
356
334
328
235
280
386
312
313
282
372
296
363
415
288
306
293
332
301
361
358
297
368
331
327
410
350
349
316
384
348
330
392
297
337
328
325
320
201
330
329
248
415
292
404
314
257
372
276
306
364
331
251
338
364
324
260
373
314
349
352
324
383
386
430
347
370
309
297
291
271
360
295
348
326
385
277
297
268
345
275
228
343
283
290
333
374
287
253
310
253
321
295
308
329
373
345
344
357
328
408
361
393
362
315
285
289
337
217
375
330
331
271
319
319
351
342
317
288
380
402
422
185
345
351
242
364
291
283
339
348
356
259
297
382
351
270
366
329
321
361
404
247
306
258
294
360
324
287
395
283
262
344
292
303
369
360
229
271
241
298
399
293
342
356
292
302
298
243
362
323
336
346
345
280
278
336
330
362
340
341
323
370
260
337
336
305
367
301
296
382
353
426
322
305
398
362
338
411
295
222
257
310
374
382
391
310
227
324
276
322
308
327
247
309
260
364
336
273
297
198
390
297
313
275
328
255
286
334
305
274
233
319
227
270
270
234
309
352
338
356
402
302
300
312
307
299
401
352
366
290
334
312
304
275
328
327
294
248
372
459
425
321
235
311
358
275
333
336
345
353
323
311
300
241
309
258
370
286
272
281
307
404
248
336
263
286
309
325
276
374
419
297
329
312
340
349
319
336
290
324
331
309
330
259
253
327
296
307
369
321
310
276
275
352
270
297
416
263
391
371
348
317
363
281
347
345
352
311
350
323
271
302
330
296
312
340
333
285
348
258
277
309
394
255
315
335
318
358
337
303
346
310
209
292
285
303
257
283
252
372
334
332
337
351
404
343
364
281
363
318
294
237
334
235
332
264
294
214
350
300
333
261
307
342
280
372
338
307
290
323
334
283
339
296
389
254
311
420
280
221
309
332
322
390
326
330
229
379
238
280
389
349
287
284
297
298
329
373
330
331
305
324
240
413
319
305
280
365
313
369
382
310
326
346
299
316
361
279
285
334
275
268
360
291
305
330
308
292
212
372
294
312
334
301
279
373
316
358
311
349
258
317
311
416
310
260
358
319
285
290
361
238
228
347
359
360
313
332
276
334
287
408
285
316
322
318
433
239
295
254
393
225
297
416
376
214
260
290
286
310
397
305
297
307
344
358
328
322
318
302
305
399
319
324
356
232
330
356
324
253
316
331
388
368
288
320
273
325
397
306
255
298
322
382
307
314
311
369
344
342
368
289
241
348
314
306
319
250
380
387
275
320
285
310
285
262
271
338
381
379
348
296
278
300
352
308
394
363
312
292
355
313
284
250
297
329
329
322
346
321
307
308
376
359
302
338
309
346
328
296
297
330
332
280
395
384
254
346
323
332
251
286
253
367
315
296
290
322
346
353
347
268
309
342
274
396
270
291
239
306
299
348
310
352
286
372
338
354
361
329
331
347
400
291
302
241
256
311
300
289
354
290
353
315
331
350
286
305
325
282
334
285
294
382
284
282
286
286
300
330
287
300
329
329
300
306
386
369
335
259
393
309
346
226
333
318
250
311
287
410
323
269
278
326
371
271
275
330
312
337
317
316
315
314
341
316
327
275
281
337
322
326
213
295
265
296
371
328
333
324
364
371
356
231
307
351
429
326
377
387
325
258
355
343
333
350
384
374
331
331
298
309
337
343
251
336
373
449
341
375
274
292
314
406
389
302
379
268
338
346
375
364
399
261
399
276
344
328
349
252
390
365
316
294
296
292
357
300
319
393
331
340
405
385
318
244
305
314
315
305
329
351
320
309
365
256
323
314
301
366
355
350
350
345
319
403
340
197
356
404
238
342
343
382
188
315
293
339
317
300
344
328
336
284
300
338
397
209
312
342
405
370
384
336
362
272
312
298
341
298
288
333
340
356
291
288
337
320
334
351
300
344
382
421
351
287
238
332
295
270
275
339
323
313
315
314
340
284
343
296
337
362
365
342
343
266
344
320
280
308
345
382
362
297
294
231
366
323
344
310
387
309
282
279
336
278
357
302
301
313
293
341
329
309
288
317
345
291
344
290
307
359
364
359
365
259
325
313
314
299
312
317
341
384
400
235
253
273
356
288
299
277
317
312
237
313
283
287
297
298
364
248
352
337
322
365
349
356
356
342
326
267
251
325
300
406
358
246
351
373
376
326
338
240
267
341
311
353
305
299
373
393
358
343
205
296
287
385
302
267
258
328
292
309
259
319
298
339
306
289
260
271
350
293
364
342
334
267
305
291
319
314
281
310
302
302
295
297
411
371
247
337
344
362
251
336
258
362
322
256
337
307
310
238
249
363
279
265
394
323
248
310
365
323
323
354
362
258
449
285
306
342
343
232
312
299
358
338
339
250
241
340
389
269
385
327
268
357
260
381
397
332
349
386
350
295
295
411
326
325
298
273
254
291
315
352
397
267
268
391
278
371
305
272
260
368
325
303
392
296
313
341
361
264
331
273
252
200
364
263
307
288
365
320
268
354
217
346
336
292
400
339
302
335
298
361
325
297
345
226
369
331
276
294
227
293
315
343
253
240
391
270
310
362
259
202
297
318
405
374
352
344
377
270
292
252
283
297
318
319
337
331
326
254
333
276
348
258
277
288
330
354
290
391
306
357
311
327
293
309
270
324
210
313
340
336
313
321
264
292
322
299
245
365
305
324
295
398
375
301
243
373
256
286
317
263
331
236
279
299
319
350
329
323
295
339
305
342
318
331
292
274
343
352
343
322
337
277
376
258
325
234
243
317
230
310
251
329
328
250
371
407
328
279
340
364
343
324
301
379
347
305
289
311
317
315
328
261
396
282
266
292
313
325
287
277
356
340
264
317
284
281
243
276
368
269
326
375
353
328
235
235
338
296
381
425
450
265
338
254
335
280
344
199
265
352
326
320
313
313
298
323
322
358
388
322
284
315
395
309
301
348
250
262
324
337
308
251
279
336
297
312
323
336
286
358
350
325
379
220
361
348
276
390
346
379
278
323
327
388
249
324
335
345
267
281
307
386
353
246
239
338
355
299
335
336
428
374
406
263
356
327
381
303
350
293
265
305
363
385
303
338
335
383
317
296
286
369
359
291
284
240
333
418
310
415
308
310
366
336
312
324
366
309
269
301
242
291
285
315
220
326
294
309
303
323
348
332
287
321
318
346
236
305
224
337
310
408
308
273
251
250
301
297
181
351
297
435
316
461
318
331
403
376
304
348
246
299
385
363
346
270
313
327
320
317
278
403
271
366
398
325
274
346
377
324
348
302
271
271
304
242
391
350
306
304
321
319
280
310
386
239
282
330
343
341
361
361
285
378
275
318
208
299
338
295
348
312
351
289
288
288
267
262
377
275
356
310
379
338
298
321
302
353
327
395
308
205
255
375
305
315
289
354
359
319
252
291
346
269
271
363
204
323
336
279
297
309
264
378
326
287
335
351
355
332
261
260
287
304
307
302
346
287
273
384
377
340
300
269
267
393
287
278
320
322
304
392
279
321
296
343
250
393
333
291
385
361
285
296
345
257
279
253
300
293
295
310
351
382
296
296
323
277
243
346
346
315
320
277
335
368
347
280
297
328
226
268
337
297
287
370
344
279
263
250
254
364
402
389
307
271
380
352
297
291
405
331
296
301
271
336
361
291
351
342
398
282
361
320
282
268
221
222
357
288
355
319
217
259
281
300
378
228
369
347
317
308
233
382
358
323
353
316
364
352
368
301
277
316
337
322
341
319
258
333
342
295
277
314
364
371
405
307
281
285
275
352
279
254
310
280
281
316
315
300
308
355
308
330
291
319
290
276
272
270
290
319
377
293
288
355
299
334
253
236
316
365
372
338
275
325
317
294
335
327
305
348
338
378
290
406
245
397
283
380
327
381
311
363
345
333
299
315
322
445
282
329
289
331
284
275
323
262
247
383
271
378
303
341
313
302
367
346
299
323
317
355
353
230
324
311
324
298
389
331
296
320
305
305
330
315
234
282
237
261
286
322
299
367
330
279
329
355
347
325
313
262
308
308
318
286
382
426
312
298
341
315
259
315
261
307
378
276
382
343
314
262
374
358
249
363
426
331
330
304
271
372
321
390
304
388
332
290
258
353
255
329
337
268
298
350
251
369
290
314
285
330
348
382
324
282
363
311
379
250
315
387
265
284
387
319
301
358
289
286
319
261
376
353
249
354
255
374
335
356
392
406
250
364
286
326
303
260
277
326
380
335
369
279
360
311
336
385
237
366
347
332
342
256
336
299
350
258
309
272
315
299
259
314
408
285
269
324
297
338
235
228
258
215
311
310
268
286
356
306
344
256
313
367
228
303
346
272
344
247
304
330
243
342
316
267
238
340
296
357
244
299
293
315
278
366
338
307
298
328
310
436
360
231
341
300
295
396
428
354
281
296
315
326
308
301
277
395
358
335
300
282
268
379
255
299
340
386
322
336
210
345
279
319
304
327
287
370
323
323
354
388
381
366
153
334
328
321
334
330
324
337
396
329
369
397
343
347
363
340
304
298
242
301
404
328
316
298
330
383
336
331
339
299
338
274
317
353
283
293
367
363
359
324
199
391
382
320
310
319
386
367
268
289
385
354
360
313
330
405
275
331
321
316
359
266
337
372
320
333
385
337
366
361
365
347
380
299
310
214
263
256
392
280
358
266
322
327
326
347
312
368
418
328
228
364
346
201
329
309
267
241
310
278
323
287
297
379
378
227
324
322
267
276
247
320
351
305
301
344
318
289
305
305
222
344
263
271
268
228
357
346
349
261
303
312
297
226
296
336
292
310
353
418
415
354
305
403
360
289
266
303
302
321
338
312
321
331
328
269
341
344
285
346
295
424
343
391
413
296
343
300
367
342
304
354
362
363
317
329
321
356
341
328
214
262
272
287
327
346
360
269
315
385
335
335
393
327
355
266
339
244
274
264
311
266
315
389
358
295
355
286
291
291
339
328
330
252
302
242
263
332
321
347
276
308
339
315
289
355
342
334
299
300
309
186
382
275
292
341
317
284
322
281
338
341
336
392
279
316
295
437
374
336
276
326
275
327
344
310
330
397
408
351
269
260
268
203
382
265
309
227
307
224
350
304
283
365
349
284
369
348
307
310
284
331
326
276
391
310
347
242
370
331
330
361
225
222
388
279
278
324
357
260
310
298
282
277
298
310
271
434
267
337
307
296
283
347
367
289
294
335
389
347
349
345
302
280
246
350
353
226
352
274
292
264
349
371
323
360
346
294
307
358
371
402
303
302
312
406
337
276
265
349
250
349
333
247
359
286
374
256
279
313
389
347
315
259
348
332
305
307
319
327
369
341
320
348
371
259
210
385
297
339
300
336
240
274
314
324
334
305
268
345
320
383
358
349
325
289
281
306
397
282
231
371
325
311
370
327
279
288
319
383
291
315
327
274
346
234
314
280
327
290
380
345
269
340
185
346
296
286
311
272
255
325
278
384
303
353
302
354
278
278
318
354
338
335
253
298
360
341
331
341
294
275
257
353
372
280
293
335
405
312
293
303
257
311
300
311
305
392
259
348
300
333
256
302
273
291
293
301
324
391
353
329
357
283
320
327
351
351
364
309
359
343
346
266
296
297
346
301
182
304
339
332
233
346
415
312
229
302
394
314
288
362
356
325
341
318
328
388
230
311
311
350
325
347
290
309
228
385
240
326
324
277
218
367
327
376
360
342
340
369
356
304
338
313
266
323
318
345
341
373
340
390
351
316
328
351
352
310
353
327
376
337
252
346
338
308
263
327
364
260
317
279
327
266
288
362
273
317
326
302
292
329
274
250
336
317
282
323
362
274
294
318
325
370
425
282
267
348
273
395
380
294
336
253
371
351
254
361
362
300
366
303
285
288
287
318
345
350
300
306
303
331
356
272
320
414
364
332
368
409
305
229
321
322
292
324
309
392
320
349
384
284
341
299
275
341
316
358
346
380
266
288
297
326
307
309
275
286
357
241
313
365
265
303
406
352
385
247
306
349
318
259
285
325
267
415
284
271
254
302
280
324
303
237
260
392
390
349
315
305
356
340
350
382
376
292
306
330
320
305
289
269
292
302
323
392
262
295
366
364
260
253
253
339
363
326
343
319
298
424
370
290
298
303
269
357
358
338
370
326
299
307
407
389
302
361
345
372
424
272
372
322
326
348
312
261
443
324
376
316
311
406
316
344
368
344
314
321
375
309
416
267
392
318
317
350
213
299
312
386
256
291
240
262
271
372
285
349
367
306
388
326
367
310
367
269
342
346
295
393
303
293
331
275
267
303
285
316
306
316
360
308
325
394
275
330
284
270
300
362
201
345
286
318
263
361
429
332
230
259
304
289
347
391
283
313
332
364
380
384
354
297
335
279
294
328
256
256
264
295
348
257
319
321
263
321
312
341
351
331
302
307
296
284
274
285
303
342
345
291
375
288
333
337
260
384
304
281
331
313
360
259
270
370
368
243
296
349
345
362
313
341
325
251
305
278
358
340
257
290
297
313
367
323
294
307
311
311
321
364
259
296
314
406
267
352
322
294
271
215
347
367
386
336
371
252
234
354
276
366
331
277
349
252
315
355
324
256
332
321
290
343
373
286
374
270
203
293
379
314
295
325
348
309
217
236
318
283
346
342
228
274
367
347
294
383
378
390
237
339
294
294
266
371
270
343
242
280
308
347
383
342
244
268
318
365
243
353
324
314
278
339
413
258
366
372
314
283
272
321
276
246
326
338
338
276
302
382
344
349
354
315
412
342
256
305
271
285
319
285
334
252
363
296
293
299
336
314
320
357
321
338
409
330
344
408
319
335
319
365
314
342
338
284
275
357
386
351
322
399
363
331
361
367
349
338
367
341
276
405
376
424
259
273
290
327
388
270
352
340
352
313
266
263
313
277
301
304
370
388
332
272
269
301
325
336
297
259
313
364
251
330
261
283
377
379
203
280
280
337
373
344
316
322
312
311
308
344
401
317
307
322
251
281
456
337
325
312
392
334
368
252
326
277
423
325
301
279
396
278
231
395
326
308
409
291
282
353
296
323
357
329
373
313
288
376
336
292
257
313
370
321
286
336
292
261
285
307
367
397
307
282
287
387
335
279
336
301
317
384
261
318
242
341
288
346
280
200
372
345
276
313
307
291
296
354
226
319
259
290
269
344
306
346
362
309
351
309
306
265
322
336
387
363
340
321
329
327
301
256
348
225
303
353
341
352
323
296
352
317
370
397
398
288
274
319
204
279
282
306
286
338
349
354
320
309
386
312
365
207
286
286
288
324
339
316
323
243
330
338
362
355
348
313
326
306
323
291
283
327
276
281
220
324
343
258
341
242
361
327
278
289
375
275
249
262
269
245
319
318
367
338
311
325
310
380
332
292
331
278
342
336
346
362
313
333
322
319
304
252
264
327
337
264
304
271
337
322
262
374
328
327
248
317
365
295
286
251
297
307
348
263
293
304
285
238
368
324
325
329
279
340
376
276
314
217
302
201
315
291
290
296
352
190
380
394
332
325
331
412
347
346
231
335
304
344
337
328
308
313
274
335
336
271
387
327
230
421
327
392
309
328
365
331
354
349
309
342
327
365
387
316
307
343
375
299
349
359
282
275
243
265
308
232
287
318
354
229
264
348
288
263
336
260
306
366
343
296
294
328
345
226
259
421
310
344
259
276
223
285
292
328
345
405
392
346
280
316
283
334
300
251
335
306
333
279
228
259
342
367
303
364
406
343
314
297
350
295
317
317
399
361
292
295
321
300
297
333
344
312
271
350
307
391
331
361
354
285
390
277
297
256
328
293
320
253
346
355
352
406
246
299
293
271
317
304
322
292
331
331
327
320
336
266
281
316
285
312
375
278
241
300
318
245
402
261
316
380
380
292
280
213
335
212
281
283
322
275
323
277
253
323
264
303
358
306
264
325
281
372
388
307
372
325
370
255
299
366
324
342
251
316
447
253
336
357
277
277
362
369
290
274
334
363
370
359
324
361
365
285
322
372
323
242
311
284
269
268
313
343
257
388
379
278
377
290
252
301
313
402
360
341
318
270
281
393
378
296
328
306
322
298
310
296
294
332
291
294
261
394
292
298
263
321
376
299
277
345
287
335
345
361
362
315
328
335
281
378
317
406
375
320
361
261
340
330
286
393
289
312
306
298
364
333
276
335
364
345
264
296
280
403
220
324
323
381
324
297
338
310
376
276
336
334
281
321
306
322
213
329
274
279
323
314
259
294
310
364
308
325
266
406
218
268
229
300
310
290
348
373
240
250
343
295
260
299
356
257
299
305
259
271
377
229
228
315
397
377
259
323
339
290
339
359
309
298
380
330
310
315
223
335
328
357
294
281
303
344
369
259
396
371
367
373
388
428
219
329
306
274
228
377
273
383
370
291
302
216
328
329
335
320
187
284
255
309
415
359
313
300
290
258
331
359
383
319
359
344
376
181
265
315
256
336
275
290
292
298
297
394
280
269
356
372
309
350
348
346
301
266
270
303
314
349
374
338
335
393
345
344
409
242
319
371
369
314
285
370
319
321
355
398
277
349
246
286
304
220
310
372
322
199
342
295
310
337
314
364
383
364
400
250
322
377
283
274
351
345
385
304
337
362
377
370
259
385
330
338
288
370
279
328
299
260
293
275
307
251
312
349
283
323
279
301
266
349
277
363
328
348
330
286
334
284
259
248
246
297
327
353
388
282
292
279
340
322
346
224
283
375
311
281
307
332
323
350
333
280
319
219
337
412
348
353
312
322
318
291
352
335
285
363
362
304
327
293
290
358
390
398
349
338
340
315
339
407
290
299
328
323
291
258
330
283
314
272
319
303
366
283
360
261
383
395
329
359
332
308
300
346
317
361
344
357
257
350
238
293
302
286
369
342
345
289
327
299
264
330
382
374
305
289
275
319
257
353
336
252
339
371
324
373
366
272
251
386
280
238
368
284
321
406
340
290
420
287
349
297
347
374
290
334
309
261
331
322
274
275
299
390
332
253
295
283
281
328
240
357
259
359
350
279
332
374
223
349
376
379
340
254
318
300
337
316
369
363
369
276
307
285
331
292
242
378
320
307
337
340
242
301
333
225
396
348
295
380
367
282
295
337
403
304
349
377
201
399
376
333
309
299
319
283
351
297
363
343
345
279
338
227
368
226
348
310
336
280
347
285
387
240
347
245
265
293
284
235
338
335
258
305
253
340
339
313
296
344
340
283
270
340
248
304
253
332
358
290
405
324
347
244
284
299
327
340
268
294
296
297
295
285
340
274
320
346
244
340
289
245
276
315
337
261
405
341
311
331
241
309
317
270
353
250
323
347
322
295
286
332
352
387
326
369
391
357
388
306
285
395
302
328
405
323
358
265
256
278
326
340
348
234
382
296
298
298
367
333
335
355
323
311
378
321
293
306
368
300
357
315
279
300
397
290
315
329
334
296
363
348
336
273
363
321
360
275
360
356
375
380
346
296
307
267
350
344
336
223
296
328
293
363
277
260
314
349
233
268
305
363
378
297
290
301
290
356
358
374
339
395
284
290
359
329
336
350
312
328
322
324
291
300
285
402
245
329
265
329
269
245
324
288
306
314
269
339
358
371
295
275
298
345
312
322
329
238
375
399
313
325
352
204
323
292
361
278
419
337
280
348
349
297
281
354
345
285
392
239
389
284
190
254
288
276
334
347
343
307
303
303
332
316
296
273
277
338
298
304
307
321
363
334
275
329
371
384
328
305
289
203
258
271
369
328
277
302
353
287
305
298
288
261
301
305
437
344
346
354
232
310
215
310
312
400
270
374
335
295
316
323
370
251
328
315
309
238
280
346
311
299
260
378
256
397
311
257
318
331
262
354
265
332
291
316
285
337
286
328
315
408
316
308
338
368
325
290
374
348
324
336
324
262
334
392
271
334
239
314
352
319
362
325
367
310
261
381
385
322
407
303
307
324
315
327
359
369
293
329
253
365
211
324
310
368
349
341
380
336
304
300
215
313
291
268
317
305
402
371
259
301
278
355
432
302
298
316
341
349
344
271
366
325
358
413
240
270
302
288
381
413
409
325
347
359
294
222
260
336
309
243
342
316
252
342
329
356
339
335
369
304
236
338
349
220
392
327
276
341
333
372
336
330
305
349
330
312
410
257
374
350
362
296
331
325
288
367
301
321
295
336
340
365
237
300
285
352
351
353
351
264
270
358
209
321
271
289
286
266
347
349
310
355
386
290
357
354
201
266
264
380
392
339
293
282
254
364
366
326
360
348
269
251
255
272
285
327
262
381
303
339
422
366
311
269
309
298
344
319
350
299
332
288
279
373
336
245
318
318
372
295
327
302
294
318
412
372
340
301
320
330
337
339
322
357
236
340
255
301
335
345
315
256
300
323
381
384
316
345
362
379
227
353
281
278
270
363
241
257
208
341
251
351
338
355
337
345
295
291
303
343
354
239
318
258
245
227
308
305
271
278
262
330
379
241
346
354
360
228
322
372
282
325
379
349
321
372
335
349
285
304
337
286
331
379
348
335
295
273
314
292
402
294
346
344
240
366
326
323
326
337
316
360
322
384
319
318
231
266
410
292
223
333
337
293
381
311
319
329
355
367
322
337
306
389
319
308
366
307
341
288
284
301
303
290
217
345
336
334
328
313
269
396
395
365
308
282
357
323
333
308
332
390
362
253
371
349
335
241
363
348
320
338
379
325
281
321
274
281
239
358
325
342
267
347
370
244
370
288
209
397
268
364
320
268
396
375
331
335
353
389
359
314
248
265
293
315
280
355
290
312
313
266
321
337
326
316
299
305
316
313
311
364
372
402
344
249
309
305
308
275
378
394
369
346
368
330
340
388
295
350
311
319
363
365
344
240
313
294
318
351
282
296
273
336
289
247
351
283
337
223
308
250
345
365
352
383
301
355
372
339
283
315
329
315
389
314
313
313
265
279
382
328
251
231
262
319
288
374
404
320
317
350
389
349
319
194
251
315
306
273
370
323
261
306
379
340
372
278
324
289
320
285
315
385
374
288
267
304
240
397
312
302
275
298
311
371
377
290
293
281
276
310
341
302
328
259
299
267
309
315
353
341
310
298
341
298
381
257
282
282
279
359
435
331
313
325
290
330
298
338
360
320
383
344
300
320
362
350
316
379
324
285
306
348
260
268
295
359
355
291
246
357
279
339
392
256
285
373
290
378
343
364
347
263
319
283
355
348
279
319
305
396
415
376
328
303
311
293
271
287
291
304
340
269
395
279
320
381
300
380
256
290
267
340
294
360
335
239
264
304
318
328
384
241
280
315
303
282
416
357
370
231
399
397
300
318
346
281
265
345
344
259
245
304
315
296
347
303
332
428
311
212
247
208
292
325
352
262
331
362
360
368
229
243
343
297
288
298
307
407
275
281
324
331
412
286
359
361
293
356
290
330
331
346
333
265
287
272
318
346
268
274
282
304
334
338
347
298
358
358
333
385
290
403
291
403
348
374
327
329
347
310
323
309
371
320
312
327
302
276
358
378
328
342
309
296
342
289
259
349
327
329
281
310
335
373
348
175
295
308
368
291
268
416
366
289
318
340
233
219
330
250
329
243
297
314
309
321
233
357
296
245
312
271
324
346
324
268
211
292
402
366
343
335
330
359
380
254
236
332
303
326
364
302
353
303
341
337
265
280
272
337
239
251
379
323
308
242
313
340
376
341
323
376
303
298
335
339
249
270
331
299
340
219
319
309
288
356
348
317
305
347
312
292
355
297
339
283
304
390
291
353
372
349
291
313
307
383
262
362
278
342
404
260
268
273
390
281
276
291
283
402
375
305
303
332
298
318
287
300
296
302
366
393
297
339
357
365
238
317
377
292
355
301
276
306
277
262
360
344
206
311
325
314
282
279
338
379
383
276
371
303
348
356
317
335
320
255
376
350
265
344
277
260
282
335
381
271
274
350
286
398
236
320
343
315
335
348
343
314
357
330
400
333
346
356
294
362
293
317
378
328
299
337
295
286
317
233
382
299
352
263
288
297
313
394
340
323
308
253
318
322
353
341
352
306
332
310
360
350
211
362
308
255
199
315
394
325
306
278
271
295
382
299
304
363
390
283
371
262
386
334
404
265
375
268
253
269
410
350
302
313
324
356
326
309
242
434
331
332
260
337
318
342
315
358
337
241
369
324
379
367
329
222
226
326
335
291
348
305
312
278
354
314
322
337
295
386
288
378
270
313
289
362
292
351
356
347
261
331
306
298
332
331
342
406
265
310
273
314
267
326
230
273
309
309
250
398
332
258
264
331
299
236
332
265
326
332
270
223
296
315
340
335
341
398
359
282
330
358
343
307
334
342
296
254
334
316
368
317
228
295
364
307
382
350
316
222
376
303
314
223
281
264
386
341
312
375
340
354
366
277
295
261
284
346
326
325
310
372
338
390
315
279
333
256
390
322
278
376
279
224
373
293
258
426
302
335
330
338
313
298
292
315
364
336
286
334
385
275
338
322
291
252
308
230
320
345
357
346
293
314
298
277
353
273
355
310
326
241
336
336
293
294
339
221
276
272
263
381
360
309
338
269
268
210
315
286
216
317
292
240
327
353
314
218
334
313
339
313
296
357
289
370
284
351
288
308
264
325
341
339
336
274
361
365
377
302
292
351
302
328
292
289
364
322
295
270
319
308
242
379
203
286
342
399
280
328
366
333
418
316
251
285
279
358
343
361
283
331
308
285
291
356
236
246
336
239
346
268
281
385
312
255
353
297
267
221
307
449
330
300
356
331
298
264
261
332
358
321
293
286
301
297
315
322
285
357
342
249
274
382
299
285
372
382
229
334
364
382
309
321
304
400
331
334
288
253
291
300
219
277
349
252
310
319
366
348
295
329
177
310
304
290
375
288
298
306
365
267
262
294
237
297
367
336
276
250
386
283
351
294
289
283
329
309
274
335
320
403
385
238
347
310
370
324
319
341
310
338
345
342
321
347
283
300
370
368
294
346
269
337
340
270
254
412
301
397
388
259
319
322
286
254
309
302
325
345
339
281
361
331
311
266
370
350
235
345
357
345
328
256
343
321
418
307
265
235
354
233
353
273
312
346
323
315
325
383
359
334
309
334
278
294
352
317
274
270
305
282
370
300
367
380
283
383
274
286
421
307
286
313
405
371
324
356
270
328
382
355
314
303
324
377
277
341
328
306
339
372
262
349
326
351
287
374
344
362
379
332
299
359
341
350
319
316
321
266
230
325
246
270
320
281
297
345
306
255
318
267
345
348
348
318
279
334
331
355
319
239
388
307
184
396
355
383
358
279
354
373
352
360
260
284
360
321
207
425
336
362
242
361
265
340
321
364
309
359
405
295
240
257
281
374
265
329
378
308
391
261
232
283
327
330
234
267
278
348
243
331
358
311
280
310
316
329
251
323
262
317
376
387
321
335
326
308
360
264
346
299
266
271
330
344
358
323
298
325
327
293
289
289
330
340
273
309
295
352
367
299
299
274
373
358
258
365
291
323
263
380
304
367
285
305
366
344
363
316
349
295
304
306
308
367
292
277
345
363
350
369
341
322
322
287
340
341
330
303
294
284
307
301
380
322
300
294
378
243
321
304
392
348
241
259
364
322
306
277
302
343
378
286
289
239
330
314
306
257
313
315
331
298
311
374
241
334
301
250
265
267
324
329
312
315
318
309
265
281
313
306
372
251
361
351
289
315
260
271
330
377
316
294
315
191
335
369
315
364
247
315
270
339
321
334
361
338
393
285
350
259
265
269
352
281
355
340
377
307
314
282
333
270
300
331
309
296
325
364
322
256
306
316
428
331
296
279
283
330
345
363
370
353
250
363
298
300
273
288
326
382
268
335
374
289
279
359
309
311
300
370
307
401
299
273
346
236
233
279
316
331
297
313
223
308
342
350
328
285
286
178
324
291
337
352
274
328
279
332
390
383
365
292
296
334
283
383
403
350
360
402
362
413
307
336
354
323
295
318
278
347
286
291
379
377
312
348
360
319
382
298
336
348
282
290
309
339
331
317
254
260
241
325
369
311
296
327
256
320
309
297
391
290
343
322
335
214
286
357
298
271
209
277
327
396
316
399
254
296
315
268
316
297
330
281
286
225
244
319
277
301
359
364
289
398
361
373
283
352
275
336
272
358
360
289
278
292
341
277
283
362
350
334
336
309
282
338
351
308
286
297
373
283
292
303
321
300
285
265
259
325
351
398
276
323
258
295
305
316
300
359
222
351
365
286
313
282
238
333
324
327
390
327
313
305
313
261
234
326
335
310
320
286
310
393
322
307
350
350
249
278
246
281
322
267
313
321
308
256
347
309
329
308
394
251
352
285
320
342
353
359
314
325
248
329
234
307
316
359
282
324
273
343
259
298
239
369
335
341
252
290
373
328
335
353
251
349
336
292
301
326
272
332
281
303
279
341
397
340
385
423
361
307
316
273
308
282
284
297
305
294
325
324
307
324
342
404
379
294
250
353
358
293
267
313
381
266
330
262
282
289
370
360
315
346
339
240
218
313
336
321
257
289
299
280
367
229
254
340
333
406
333
399
346
319
350
287
277
263
345
293
286
307
284
389
275
305
370
247
342
309
344
323
353
286
351
337
314
312
322
340
279
297
302
290
348
341
315
334
291
332
222
251
339
352
393
305
342
379
295
336
269
325
306
263
290
290
291
313
333
256
304
279
306
279
316
337
297
267
408
282
332
309
315
277
309
202
310
319
263
338
325
257
300
261
303
246
309
354
319
350
323
333
347
234
227
287
392
252
357
330
297
322
405
284
397
377
354
396
353
362
291
291
314
321
376
371
328
372
300
322
298
262
379
384
382
349
325
361
297
335
314
369
347
293
327
293
288
383
272
380
326
331
345
360
334
292
297
404
405
361
307
298
230
279
356
391
292
300
235
321
379
342
377
273
354
378
322
354
303
331
353
297
328
220
308
316
429
327
445
343
385
301
259
322
286
279
341
320
316
363
214
319
352
295
359
311
273
368
317
291
365
224
297
231
328
327
241
292
288
335
263
378
261
305
350
269
336
305
242
332
306
342
274
326
296
341
269
279
312
284
263
337
281
343
288
296
302
245
298
251
300
274
320
224
312
350
329
284
339
346
324
277
266
365
310
352
321
299
330
349
276
308
352
312
358
235
304
285
348
322
373
369
308
307
312
257
351
311
403
323
311
259
386
357
299
323
317
368
275
276
271
353
335
311
366
319
245
335
208
405
320
308
365
250
322
320
318
284
293
367
334
337
244
318
322
283
273
261
355
387
363
328
358
314
233
378
388
237
343
316
292
309
378
305
302
322
334
209
327
341
321
347
371
386
284
316
307
335
369
256
299
292
323
280
358
371
312
367
394
352
287
370
308
271
268
231
284
291
271
234
263
285
303
317
322
329
313
331
376
316
347
296
243
384
437
367
301
350
334
345
313
268
350
326
286
319
348
332
379
234
328
297
324
323
345
339
340
323
249
324
336
367
351
383
222
347
292
337
368
273
300
357
346
315
370
353
280
399
315
327
250
321
376
225
302
341
263
328
186
319
329
355
267
286
386
196
271
273
294
272
301
268
327
324
297
331
255
344
295
252
374
338
328
322
366
309
363
224
301
302
302
329
325
276
365
311
260
289
362
361
364
291
318
330
250
326
264
334
323
331
333
352
280
281
329
238
377
324
366
324
378
367
365
318
312
287
261
341
330
300
256
320
275
361
352
260
320
233
321
301
311
311
371
381
233
322
302
271
312
360
341
340
409
270
357
258
374
284
315
257
376
336
346
303
341
229
340
358
341
320
302
289
289
234
302
314
205
314
359
296
262
313
274
225
258
312
282
251
336
377
345
263
293
433
282
296
289
283
295
304
318
356
317
294
289
367
336
358
292
313
277
338
160
273
375
352
169
382
329
336
361
417
338
299
317
354
261
314
322
332
390
374
263
248
286
355
321
361
353
324
359
239
340
349
328
301
280
270
306
318
246
328
261
345
385
333
268
260
358
330
269
330
286
343
325
314
280
310
292
349
305
311
348
343
316
367
298
318
355
280
334
347
209
318
350
375
313
260
229
356
311
255
356
255
300
375
343
296
295
439
302
319
262
308
261
285
383
275
318
323
322
260
356
340
325
273
343
258
369
296
206
392
381
336
358
402
364
328
336
315
340
297
305
321
409
306
229
383
362
252
457
290
373
290
308
358
302
331
302
308
289
372
256
327
237
356
221
372
273
374
371
364
288
337
227
270
394
380
317
291
338
339
289
293
299
370
332
337
321
296
262
298
240
347
401
304
328
353
289
385
269
401
349
305
293
226
283
279
297
302
305
337
360
252
364
360
343
379
349
328
409
336
364
298
324
276
351
292
414
309
293
358
328
327
269
390
331
347
338
243
236
391
243
325
338
326
340
272
261
345
322
283
338
398
288
375
276
223
334
317
326
395
370
280
342
409
327
317
231
325
375
244
302
342
367
391
339
379
314
363
250
370
293
337
322
224
314
360
361
282
345
353
299
308
341
294
312
406
329
376
324
320
386
361
323
348
331
343
258
294
305
272
262
284
296
332
340
363
298
330
364
275
321
403
262
339
315
323
319
322
303
388
298
324
225
334
326
289
311
316
333
343
312
289
350
247
274
308
343
340
239
322
358
327
236
320
259
296
293
323
315
326
382
355
259
236
295
325
325
332
283
380
313
273
351
360
286
317
400
313
333
286
260
369
329
384
327
350
354
316
366
327
230
318
320
332
368
298
328
289
401
322
299
339
379
241
356
321
269
337
276
279
288
346
330
312
314
304
287
328
236
374
327
221
308
362
310
337
289
303
331
371
335
315
319
253
294
349
334
339
337
246
302
316
271
296
393
352
355
309
327
248
273
315
371
316
338
327
330
383
392
272
339
271
308
326
334
314
408
280
286
384
375
385
357
333
362
397
279
360
401
345
289
341
274
388
233
374
295
307
334
306
341
279
339
327
341
289
230
362
228
342
323
292
318
287
281
268
302
369
317
295
352
323
257
343
308
223
306
394
401
288
292
284
364
241
269
364
428
393
343
329
329
302
245
380
293
327
311
307
376
312
366
306
346
356
324
300
312
353
372
258
387
315
322
291
262
328
248
258
314
256
262
360
300
335
389
266
298
373
275
304
324
311
334
342
285
283
396
376
405
322
321
382
244
332
353
291
426
354
395
293
354
387
335
323
372
282
264
335
338
308
301
310
309
295
258
316
275
316
345
281
235
280
322
286
256
364
299
361
355
316
328
290
367
255
328
337
293
337
249
352
281
233
322
378
179
310
366
248
268
369
342
329
318
340
272
305
278
343
303
279
285
340
346
315
319
247
301
390
314
293
254
342
273
339
275
278
291
349
307
374
304
279
338
346
366
346
355
360
299
290
328
310
235
309
275
298
320
313
281
318
222
383
389
333
387
315
366
245
233
263
364
328
214
330
327
286
339
248
335
307
318
355
328
384
329
322
301
360
267
258
354
208
345
284
380
389
344
348
286
345
323
293
334
343
272
332
332
316
327
334
223
290
285
274
356
266
249
293
377
383
282
324
306
363
338
348
303
327
349
260
354
315
244
315
302
327
231
299
325
340
307
370
370
255
306
340
317
359
238
282
344
211
267
254
391
259
296
351
294
276
323
248
300
307
304
355
326
260
327
334
347
322
250
303
228
310
261
376
417
350
357
329
352
402
314
310
249
293
308
305
415
341
321
319
339
351
305
209
310
285
263
323
381
302
296
313
312
381
310
238
292
288
286
326
319
307
317
301
323
193
301
281
261
391
346
313
282
304
255
326
310
379
242
290
343
185
314
383
369
300
317
353
362
298
254
344
293
285
298
315
324
313
367
288
356
255
262
397
315
281
358
326
342
198
301
316
342
295
360
340
364
292
439
352
294
379
351
309
275
313
309
252
261
306
357
345
363
353
360
300
331
323
335
244
302
322
364
361
325
317
301
301
329
310
260
326
339
367
326
286
370
327
361
331
349
249
324
339
305
348
290
312
277
360
276
325
306
231
294
334
350
245
326
179
357
318
369
334
316
348
329
244
350
256
322
250
291
266
301
331
295
272
234
303
297
296
336
320
377
316
300
401
359
285
347
318
237
232
271
406
384
347
329
339
328
362
304
335
351
332
323
330
323
255
372
291
349
383
354
386
328
284
297
350
376
316
310
348
287
280
325
278
226
243
266
201
366
339
277
342
372
261
282
329
310
314
325
329
346
327
366
335
330
355
383
301
287
355
302
323
349
322
386
305
294
366
356
298
324
259
359
319
300
395
388
263
344
303
330
342
264
253
305
255
338
293
372
309
284
362
378
372
363
297
279
310
385
326
256
226
378
310
321
293
272
365
249
271
320
275
360
327
296
264
283
256
302
323
303
341
311
243
372
286
302
366
362
354
390
305
315
354
369
313
286
267
350
374
270
347
319
290
254
315
329
285
302
282
226
340
418
314
371
347
294
329
298
346
262
349
367
290
327
221
277
310
285
339
313
314
303
258
377
441
348
297
352
333
294
250
356
295
250
307
343
320
282
291
269
326
367
279
319
354
242
318
293
217
338
291
295
388
306
312
276
314
336
279
246
290
345
311
310
278
300
360
281
326
287
371
366
283
255
351
342
256
232
286
258
281
294
283
313
300
369
327
299
254
205
241
314
321
321
267
382
337
346
295
300
346
310
290
314
317
285
325
295
239
343
324
354
302
277
363
336
255
310
308
372
316
372
314
337
169
368
288
253
297
312
289
332
324
294
295
346
299
294
365
341
298
320
385
321
335
337
288
337
263
288
274
314
333
389
345
304
327
270
328
291
288
273
287
306
326
303
382
209
246
274
226
254
230
375
320
214
269
337
414
277
289
289
373
274
305
326
305
309
305
276
336
257
256
302
354
329
323
321
414
326
269
336
381
345
304
346
298
295
340
276
293
384
360
340
289
252
293
371
329
356
343
250
266
299
370
291
330
331
386
312
245
321
290
352
370
372
282
271
408
366
355
282
371
265
329
280
268
375
336
274
228
294
357
333
372
381
369
311
326
359
366
376
342
400
298
302
242
332
309
340
382
399
255
262
266
329
277
347
222
329
259
270
381
351
273
273
393
267
271
373
278
283
277
351
353
284
303
378
328
354
327
272
347
339
373
261
350
291
233
348
371
339
254
387
325
307
314
311
345
341
316
281
259
373
276
400
280
286
304
370
330
245
354
323
266
340
286
317
286
344
298
369
313
290
368
358
338
332
367
334
240
347
348
285
311
377
286
397
354
290
278
356
263
278
336
400
389
388
313
291
285
278
297
356
260
311
280
283
301
373
364
413
415
363
379
338
294
314
358
311
336
350
340
334
321
311
309
273
387
356
318
323
373
341
346
378
377
385
346
355
286
271
338
296
202
196
385
264
263
330
268
352
300
261
245
308
368
266
262
318
326
268
303
322
366
250
214
314
334
306
296
275
412
239
317
333
333
336
337
224
357
303
357
319
390
393
298
334
354
265
212
313
269
312
378
360
373
311
274
296
299
355
393
257
286
371
266
374
312
356
201
373
357
342
407
313
299
237
363
198
370
324
286
325
387
352
298
314
318
242
334
307
327
375
257
315
320
446
295
305
295
305
315
296
311
238
326
307
381
338
300
371
310
307
327
345
271
311
278
381
330
207
278
238
352
306
351
279
312
320
282
330
328
302
391
298
331
321
386
301
360
301
332
328
338
367
321
322
367
361
420
339
319
268
369
272
210
340
356
334
392
379
291
324
369
332
352
295
347
366
344
339
289
257
266
301
308
296
336
254
293
300
287
301
265
325
318
314
302
270
243
316
271
364
256
365
274
227
346
335
304
329
356
272
316
378
312
262
313
245
300
348
232
368
288
332
238
389
242
363
236
255
305
279
262
258
239
347
257
276
316
406
315
278
379
362
392
378
301
335
323
321
266
354
353
310
371
300
323
267
304
361
233
340
235
365
273
298
299
313
286
267
264
218
376
308
385
310
269
370
308
329
328
343
290
279
290
313
301
318
304
343
383
229
352
303
379
387
417
341
357
307
290
363
275
310
308
261
286
374
270
282
315
319
251
317
334
336
324
316
295
296
239
310
287
358
319
247
363
288
414
312
297
280
308
364
239
267
346
345
324
368
322
276
338
355
352
242
330
294
290
312
351
336
311
245
273
284
308
291
393
312
350
274
391
292
233
329
322
348
281
279
251
308
359
286
257
269
363
360
264
281
303
314
294
301
308
359
322
353
276
368
400
352
379
277
361
300
337
316
289
388
275
280
350
411
357
332
398
313
282
322
246
368
305
293
328
261
311
283
390
389
395
380
352
310
342
369
345
377
261
314
330
349
338
389
273
279
371
355
369
300
358
255
322
359
219
345
279
257
305
284
335
294
342
256
354
336
247
288
367
326
307
265
334
251
390
345
331
299
232
367
295
298
352
303
326
277
391
262
249
310
327
318
300
296
249
227
329
390
249
261
366
270
292
286
335
349
320
374
253
351
351
341
288
272
322
220
256
348
352
348
314
277
336
374
188
381
280
341
343
308
348
342
378
291
302
320
270
305
320
304
404
360
281
337
368
306
367
265
360
284
314
284
261
315
308
330
313
357
401
285
238
307
325
313
336
336
225
363
309
345
275
351
210
368
317
319
391
274
227
292
314
319
252
311
303
282
318
295
264
347
374
332
283
329
325
289
411
324
371
338
322
347
311
343
311
331
358
396
319
273
309
251
356
273
343
345
160
304
354
345
278
326
309
311
361
312
378
327
312
239
311
365
279
307
300
338
351
277
281
347
327
394
275
256
329
291
329
352
289
283
246
278
289
348
302
346
360
290
362
319
319
275
318
329
359
333
365
311
329
354
311
262
407
299
291
310
264
315
355
247
390
372
304
334
256
396
344
304
184
260
267
336
337
279
346
418
306
388
354
387
358
226
272
263
279
306
296
360
326
346
294
296
324
240
314
298
253
301
385
332
382
345
329
366
294
306
350
315
294
297
377
366
266
226
334
228
302
323
267
228
273
301
301
334
329
309
311
334
281
231
333
299
308
291
304
268
297
296
336
361
283
313
315
294
411
296
335
306
364
371
389
309
265
368
349
364
325
241
355
318
278
354
313
282
310
347
318
318
362
326
245
359
315
269
356
207
340
402
397
385
375
392
316
344
330
292
349
379
351
297
341
310
283
339
352
318
274
371
339
269
310
315
270
238
331
318
311
268
272
285
361
349
221
250
286
312
238
351
287
361
248
227
286
341
328
388
280
272
298
291
351
253
306
378
386
333
369
320
317
331
329
312
314
316
270
367
359
345
348
225
366
360
287
282
401
267
314
334
346
331
323
430
362
347
245
326
293
259
337
264
387
304
294
340
282
312
321
292
376
343
282
381
283
324
316
287
347
312
284
390
296
362
318
218
330
370
364
325
280
315
244
246
293
310
238
291
366
278
340
292
331
305
290
268
371
378
437
251
305
284
372
403
324
318
280
208
323
353
301
330
269
260
361
376
263
386
307
314
341
415
291
301
370
262
386
267
321
291
388
256
381
328
392
254
329
215
278
349
389
289
318
358
385
308
316
280
371
407
237
391
367
245
313
340
257
376
275
363
307
258
318
311
299
384
282
371
281
328
342
324
289
305
318
419
210
392
408
295
360
229
257
311
379
441
266
246
366
300
335
214
335
256
433
310
364
373
285
410
295
260
353
342
233
409
360
252
377
292
311
308
319
294
284
335
303
298
283
241
270
254
312
383
348
275
284
314
433
331
322
393
356
251
309
322
309
339
313
306
285
369
306
222
217
344
275
297
313
315
284
373
323
242
258
352
353
316
291
292
353
361
311
279
339
155
345
350
295
301
292
283
338
331
269
299
247
340
333
293
341
349
361
304
270
276
388
368
430
270
390
218
334
419
264
263
241
322
281
249
344
356
319
304
320
310
360
347
245
362
357
280
289
276
393
322
331
322
278
259
374
332
384
346
280
305
326
282
379
345
297
348
346
214
289
341
312
380
363
344
312
303
333
280
268
320
276
220
358
320
296
346
305
227
369
382
419
381
348
331
281
297
350
240
368
255
405
354
277
347
349
257
321
315
308
303
342
356
213
296
289
393
282
306
299
300
320
295
282
352
338
305
338
257
262
350
389
382
343
335
377
351
377
268
273
331
390
372
316
391
338
310
313
377
284
359
389
338
335
314
347
318
285
411
229
298
349
390
318
291
309
286
260
338
273
316
281
291
283
289
330
335
294
279
286
306
344
295
275
242
423
314
394
352
399
354
320
292
338
261
255
327
353
336
292
356
322
258
388
343
294
313
287
323
323
284
359
294
336
341
307
411
376
350
358
315
350
267
309
311
293
377
296
300
316
328
238
310
282
316
314
322
290
359
343
338
411
299
318
333
429
287
373
341
312
271
260
373
305
276
308
344
277
317
362
360
278
372
339
336
357
305
272
304
379
268
283
369
397
306
273
306
385
338
249
381
324
315
310
309
315
335
235
393
313
346
355
212
268
336
235
358
259
300
340
334
346
320
233
362
282
317
322
342
222
366
303
415
327
290
410
241
307
361
295
319
347
293
342
348
362
252
269
272
294
348
334
323
346
338
222
349
306
238
247
314
316
262
306
356
303
277
318
336
349
353
268
261
365
420
309
342
406
320
372
343
300
280
343
318
344
372
303
318
384
343
291
319
313
299
370
225
340
297
314
302
306
290
340
336
248
262
346
350
343
253
366
332
318
358
339
325
301
391
311
265
339
252
352
298
369
289
268
348
300
379
280
374
320
304
383
330
369
260
253
309
389
316
286
280
273
334
356
298
305
297
258
176
266
310
308
320
370
368
377
353
228
288
259
393
340
335
307
295
379
299
283
310
267
340
283
298
390
252
282
368
274
414
301
264
303
348
339
316
252
312
327
232
356
327
321
260
267
330
373
289
279
393
271
385
292
271
341
378
329
426
283
343
294
315
298
298
319
223
290
353
252
311
345
325
322
284
359
323
277
328
265
300
338
337
364
318
324
335
398
355
334
344
344
257
322
329
296
206
338
266
386
257
258
336
377
312
288
345
337
285
353
364
285
277
317
251
317
307
268
358
333
344
309
293
299
365
328
316
337
291
371
316
295
300
351
286
209
233
364
317
381
299
307
233
407
333
298
281
384
338
309
187
391
303
314
303
323
361
290
374
247
317
333
295
229
363
317
303
315
330
361
292
405
282
323
347
336
308
338
263
337
326
377
335
291
376
341
434
274
349
402
320
259
315
291
284
356
272
342
321
334
285
305
261
433
297
369
265
392
293
296
262
360
342
302
322
345
294
337
326
414
319
356
303
332
341
349
304
370
349
324
292
336
293
319
347
302
325
314
335
258
277
311
329
319
336
293
419
358
333
326
255
378
294
232
339
288
342
369
271
288
326
372
283
353
282
337
280
346
284
330
308
282
330
355
350
262
307
289
385
319
262
377
292
258
375
248
298
299
266
386
312
351
370
311
382
332
342
356
356
311
388
301
319
370
354
282
344
333
352
301
364
328
345
309
309
386
343
290
254
329
302
366
314
349
298
223
229
353
374
261
355
334
200
260
357
376
257
299
337
339
294
313
340
274
342
310
297
264
232
262
289
351
320
280
287
339
349
346
389
335
306
267
351
294
275
246
269
375
265
254
254
288
260
345
377
294
334
359
342
314
265
379
332
340
351
240
418
313
273
311
311
404
326
299
340
347
397
286
310
370
343
351
294
337
354
366
309
273
376
273
296
287
271
363
326
301
231
293
317
246
299
288
316
355
406
339
336
390
331
239
326
360
338
358
257
389
365
299
335
303
368
322
303
304
270
360
291
433
385
326
236
333
387
324
402
277
315
348
347
420
297
222
394
227
317
348
331
329
281
327
302
337
206
315
384
232
307
338
288
260
334
247
360
331
292
326
306
406
292
282
298
321
254
309
341
299
297
348
315
309
407
274
369
258
346
309
254
263
310
376
268
287
333
325
331
318
332
375
372
289
363
276
231
323
293
308
397
350
246
284
285
372
335
328
356
365
365
305
338
271
329
258
306
303
216
319
389
334
348
362
267
351
327
290
340
358
299
371
312
340
356
370
299
335
237
358
335
255
293
293
303
282
254
377
345
313
246
289
304
326
287
339
362
289
387
237
228
311
340
330
355
325
289
368
409
315
387
242
327
337
320
363
309
373
330
344
261
319
394
293
289
306
409
221
296
393
345
325
349
247
271
381
240
280
347
260
256
364
286
238
306
370
241
333
371
324
308
296
312
354
339
287
335
319
276
364
314
315
292
313
405
342
358
334
301
292
262
376
361
314
287
245
374
392
287
317
320
314
364
338
351
309
195
326
326
318
339
295
332
354
314
269
300
354
336
356
287
329
314
282
243
266
390
327
263
371
265
294
354
316
289
329
379
311
272
332
309
308
366
315
276
283
316
329
318
310
313
321
314
253
281
334
348
269
342
320
325
229
292
344
348
410
291
367
304
273
340
366
354
296
349
342
265
314
272
315
346
340
391
318
303
361
284
273
307
350
338
322
338
250
275
320
361
304
280
299
350
304
338
341
256
360
267
264
291
362
386
309
421
308
305
394
282
280
375
314
366
336
303
286
340
323
318
388
316
290
249
328
315
256
252
383
367
321
310
346
301
336
304
325
315
328
346
374
280
381
287
344
313
304
359
265
381
307
316
354
281
316
289
320
330
346
310
232
317
288
293
315
353
314
363
328
299
226
362
411
329
292
343
258
376
303
294
314
304
412
397
299
358
374
278
293
281
350
388
281
378
210
332
305
362
334
256
326
304
307
315
357
336
392
300
287
309
335
388
280
335
336
285
313
264
326
264
306
302
363
319
241
295
357
372
294
241
240
408
306
281
384
320
219
348
313
440
328
348
309
359
270
347
333
269
355
318
313
406
347
311
265
289
396
307
258
302
220
285
282
243
326
308
285
345
247
354
312
291
270
291
378
360
296
270
285
370
316
242
382
355
417
355
278
354
350
293
225
347
395
351
315
303
389
342
303
345
302
256
293
404
316
291
184
334
281
333
360
354
284
333
286
370
295
309
290
317
263
342
294
296
312
351
381
300
360
327
404
336
334
221
342
323
343
379
386
287
397
321
332
363
339
213
343
248
326
321
273
286
380
328
289
385
362
300
303
268
280
297
312
235
361
368
278
366
320
347
250
370
332
297
371
413
359
360
280
365
205
338
314
319
381
331
259
307
339
349
299
341
342
276
366
271
260
375
329
361
303
344
326
309
272
387
313
282
377
266
283
204
339
362
283
343
363
276
296
383
378
280
234
274
288
350
310
249
351
291
342
292
314
367
279
237
386
256
251
384
294
312
261
334
405
300
300
387
325
365
363
336
382
285
248
348
349
367
267
355
320
388
322
369
326
341
310
333
292
331
328
303
333
353
352
313
321
307
300
446
249
343
370
300
269
362
302
303
323
291
289
322
325
298
298
347
374
351
343
322
330
331
382
235
304
403
323
320
379
306
357
266
278
267
325
316
282
267
282
350
318
274
358
401
324
301
347
308
361
343
362
277
307
302
269
323
263
377
326
293
268
362
299
317
276
347
233
309
332
341
350
300
316
328
312
346
207
230
357
292
228
348
303
339
307
356
318
367
328
430
372
375
310
203
344
327
328
376
371
174
388
354
344
306
350
304
308
284
396
344
271
297
351
304
244
310
375
375
235
323
277
346
338
330
370
315
232
272
327
328
350
344
334
368
363
331
321
304
245
301
312
284
308
276
320
271
334
306
312
333
333
361
320
309
310
365
223
295
262
263
382
366
353
346
277
289
324
340
372
278
303
319
300
316
367
379
375
269
269
279
304
327
385
304
322
260
303
269
382
357
328
274
280
306
276
270
357
256
253
279
281
365
298
306
358
334
275
353
332
284
297
348
342
303
374
303
320
287
382
364
333
408
270
251
383
335
309
390
343
355
334
307
361
353
255
309
344
362
324
217
362
369
386
347
319
364
297
293
338
210
314
350
299
359
391
295
374
306
328
317
351
330
302
248
296
348
311
317
316
317
251
297
205
335
311
281
358
279
414
316
324
334
241
323
349
337
269
263
291
380
307
236
246
325
262
316
352
282
344
362
303
297
247
322
333
350
319
380
394
319
378
313
304
196
348
277
270
296
285
307
315
232
279
319
318
240
357
366
314
299
251
271
238
376
359
278
268
258
249
332
296
389
235
326
404
323
310
233
287
276
259
326
279
396
306
334
272
266
222
323
361
420
258
324
337
372
400
391
342
327
227
275
322
327
296
286
246
329
296
283
364
281
334
374
308
319
313
226
270
390
376
346
337
364
319
411
400
311
218
274
324
387
360
331
385
314
341
268
266
340
282
389
313
374
333
394
223
353
270
356
249
349
293
286
276
386
336
258
332
325
330
295
277
254
292
332
282
315
348
324
237
364
311
377
288
347
330
341
383
313
330
273
299
266
233
348
339
250
301
352
270
260
310
279
385
283
288
307
270
306
352
335
356
331
333
275
345
284
311
398
413
308
286
275
244
288
345
388
393
373
340
341
356
290
253
367
317
271
342
359
368
283
282
338
296
372
253
377
423
373
301
279
307
348
298
327
262
327
270
312
324
277
378
360
290
386
262
294
372
318
279
304
301
320
400
366
331
326
333
317
413
318
235
380
320
295
379
282
365
312
285
362
276
372
330
263
279
305
352
264
318
313
341
359
295
339
296
316
353
330
357
394
313
361
387
300
295
269
278
268
369
236
266
324
344
237
293
359
375
366
281
273
289
334
307
385
333
260
371
324
337
449
293
386
275
264
297
363
297
301
262
365
266
272
201
353
300
282
311
335
385
283
318
244
370
400
334
287
318
367
273
354
287
284
404
319
365
336
341
368
291
353
330
342
373
274
362
361
294
295
305
391
298
332
260
324
322
383
338
302
329
304
347
332
313
362
242
250
261
343
379
372
225
342
297
240
407
233
238
343
359
372
339
292
327
295
363
337
412
352
309
276
375
342
400
286
295
374
310
355
306
317
294
289
328
339
267
258
352
323
317
309
342
265
297
285
326
385
279
310
308
347
342
294
299
292
369
286
350
410
279
332
392
214
376
271
276
312
221
283
367
392
332
278
297
333
348
383
324
260
339
308
359
309
325
315
280
393
285
285
330
288
337
246
312
333
376
327
302
246
343
204
283
297
353
296
385
292
306
299
317
170
306
383
346
247
236
332
345
267
359
314
346
297
287
308
308
301
332
340
285
265
291
253
349
247
318
332
312
344
231
357
244
278
274
345
388
255
383
338
288
341
282
381
319
256
288
339
291
341
377
392
342
296
374
325
249
234
290
401
307
300
338
263
248
306
360
290
352
331
344
301
350
317
367
340
311
323
298
323
264
278
271
387
295
316
261
205
274
325
356
340
343
381
277
318
354
361
221
271
286
413
294
300
318
345
308
311
321
337
302
283
403
376
346
293
365
312
280
266
292
334
288
317
266
366
313
249
302
277
326
206
301
245
285
284
405
378
307
308
330
388
238
357
367
374
236
338
323
265
328
279
368
264
301
381
370
363
325
347
295
272
326
295
338
341
317
329
310
254
252
377
357
342
312
284
385
251
291
363
310
269
305
303
276
219
383
314
211
343
361
318
325
341
335
354
290
294
274
272
259
328
256
389
309
357
350
348
382
339
288
350
306
369
320
340
306
288
308
341
316
290
236
326
232
309
391
334
252
254
283
358
305
332
354
293
365
310
247
333
321
255
288
292
320
374
332
292
353
334
319
293
277
268
305
296
273
294
374
277
301
259
320
298
325
384
289
285
264
308
321
295
321
360
363
367
365
299
360
295
356
283
298
329
302
321
254
349
327
288
352
322
322
257
296
322
296
292
284
322
299
353
251
352
274
290
160
319
370
333
302
317
318
269
327
324
384
404
283
265
330
255
333
280
415
342
317
356
296
296
324
241
324
274
393
336
278
260
328
290
220
308
272
320
312
265
307
350
322
302
385
317
348
239
324
296
329
331
339
310
350
386
334
353
353
342
338
370
353
399
320
318
308
362
282
249
379
390
331
337
258
338
334
310
325
288
334
241
262
244
434
320
355
385
276
267
322
327
255
301
271
364
344
278
367
359
280
275
331
384
364
309
347
319
322
329
323
337
284
383
321
352
374
350
329
305
316
336
272
343
312
285
296
263
275
274
297
346
326
334
262
350
241
185
327
368
279
331
303
335
368
306
371
339
305
264
356
320
335
242
259
330
301
337
369
325
273
295
338
307
279
311
335
315
298
273
322
340
313
359
275
387
293
261
440
302
227
295
293
356
320
365
254
293
263
290
243
354
232
324
376
276
310
323
317
320
357
391
252
302
335
359
292
294
366
329
250
378
279
334
326
340
396
347
233
243
324
339
363
341
320
283
378
394
265
346
352
410
229
349
303
321
221
258
302
326
301
306
308
309
357
302
285
200
316
351
346
368
291
362
244
263
385
294
373
285
338
357
340
311
328
375
219
250
291
332
321
323
363
378
297
388
374
370
442
347
286
289
369
294
299
325
383
262
336
288
295
308
299
316
268
241
305
333
259
252
250
285
305
383
368
277
359
383
354
346
274
282
284
316
332
316
289
287
322
271
291
380
383
285
391
341
377
313
380
310
352
333
319
277
350
337
326
303
302
344
317
308
248
385
279
325
333
308
354
279
263
315
260
271
280
337
398
347
352
299
328
278
244
282
371
283
308
205
332
311
373
294
321
297
281
309
276
322
338
298
287
264
217
335
326
333
367
330
296
303
346
311
329
249
276
354
368
263
309
362
365
331
310
317
231
313
416
327
327
359
381
285
203
248
355
273
259
318
326
244
302
203
320
229
331
340
331
273
359
277
290
363
277
383
296
376
288
312
289
325
270
373
306
292
381
340
306
283
356
317
340
307
216
345
378
267
258
316
347
358
450
324
257
283
309
324
346
248
297
312
284
322
261
356
403
404
389
344
209
401
315
386
288
302
300
336
383
324
209
343
293
370
298
363
277
295
289
327
262
354
322
351
394
332
398
260
342
208
294
344
325
328
338
325
355
366
381
349
347
215
259
293
304
286
316
250
245
251
269
391
306
222
292
407
304
297
358
259
372
361
273
343
283
225
373
342
369
414
277
289
261
400
256
243
340
385
304
238
330
297
331
318
289
383
375
218
325
301
322
326
416
338
348
321
307
263
313
259
304
376
321
266
325
360
368
359
335
236
323
332
254
383
276
330
359
308
223
360
449
333
399
286
372
326
366
312
316
385
377
316
378
294
224
274
377
353
376
378
360
317
297
359
292
358
357
318
230
356
338
301
229
337
362
264
320
337
269
343
302
293
300
271
326
303
296
283
293
321
386
296
247
344
349
314
322
237
293
325
341
323
315
382
257
389
307
274
315
338
281
273
353
279
231
311
358
346
300
242
284
301
351
310
427
294
342
346
268
289
390
292
281
334
347
269
401
304
332
310
333
318
262
265
319
275
339
329
288
332
328
317
217
323
263
361
358
264
335
297
333
265
340
282
325
260
312
350
329
332
288
319
288
233
343
346
307
321
327
281
326
323
233
327
289
264
316
360
351
344
318
361
295
284
318
299
279
368
344
248
313
273
293
341
277
271
297
264
393
291
309
295
390
270
266
309
336
274
361
282
360
342
299
368
285
333
284
365
320
248
347
377
332
284
329
323
383
348
266
293
358
304
272
347
272
353
238
352
344
338
343
330
395
358
311
342
264
344
301
304
271
315
275
421
334
388
358
341
328
374
266
334
355
321
236
275
410
335
310
310
270
329
298
287
364
301
333
332
313
345
336
308
361
298
355
319
282
303
363
307
317
328
381
297
359
339
272
365
274
368
258
281
320
376
337
383
347
375
238
258
306
297
269
300
321
296
297
406
274
270
334
282
333
357
247
256
333
354
283
378
254
274
380
321
356
300
317
293
273
345
370
304
216
336
285
331
403
331
304
316
377
344
315
324
433
292
359
294
287
297
322
343
233
399
305
299
324
327
286
266
264
242
360
295
328
244
375
341
324
281
256
342
333
269
333
316
309
276
320
342
351
403
328
298
324
266
262
324
346
365
389
260
268
347
351
306
244
300
283
387
303
300
300
257
325
330
294
262
395
293
233
424
309
276
313
343
262
269
404
289
311
279
341
301
273
301
364
291
359
361
278
256
308
305
382
299
355
328
257
361
206
253
322
412
315
372
286
245
394
331
298
284
351
348
311
305
301
356
377
242
333
287
339
367
418
306
260
218
358
298
300
268
275
340
269
350
319
423
365
314
416
281
259
315
292
355
303
291
353
334
326
321
337
311
303
263
302
268
232
401
263
326
426
356
327
251
325
339
320
283
373
243
356
241
377
258
311
282
328
349
285
414
346
309
334
326
294
300
277
334
336
403
333
321
344
319
268
288
363
248
283
399
346
285
303
285
327
261
306
288
329
309
321
338
394
342
341
240
339
420
341
362
319
336
297
293
325
302
283
298
322
346
285
337
371
318
294
301
295
256
291
289
314
348
299
325
274
313
360
345
382
348
219
329
298
284
359
402
286
353
335
258
333
336
371
293
346
327
375
313
319
206
305
290
337
317
379
299
393
285
352
352
333
366
309
284
344
300
277
344
261
315
426
288
280
227
335
323
355
344
322
297
283
307
399
239
317
267
349
276
314
319
334
271
269
316
344
314
349
316
283
323
333
273
291
299
248
261
318
317
410
224
274
290
360
234
307
250
324
299
306
331
306
280
300
304
314
341
243
373
280
291
300
368
299
340
184
357
384
296
309
340
345
271
288
333
275
291
235
306
256
342
286
366
374
323
225
298
312
305
331
287
335
360
330
333
391
212
383
352
303
335
295
323
298
334
351
330
297
362
329
319
341
380
313
319
281
344
347
387
327
305
211
344
300
364
288
363
248
301
314
331
350
299
256
276
296
316
212
251
294
276
375
328
314
335
304
337
236
304
306
352
289
290
320
373
308
306
223
368
364
321
361
335
341
303
334
293
201
368
387
386
310
309
348
277
329
298
310
333
353
298
319
369
211
296
350
342
387
207
306
354
317
339
360
257
339
353
373
288
274
362
289
304
335
301
306
298
299
339
348
360
334
253
352
303
288
266
366
311
290
332
277
367
268
299
269
322
304
241
342
393
326
309
286
355
269
243
242
253
317
243
203
319
325
222
304
263
308
275
272
390
311
294
295
298
310
302
340
297
317
278
288
352
317
285
278
303
330
230
351
307
279
309
260
351
303
208
342
304
321
287
297
264
290
386
308
352
295
321
335
278
346
369
293
346
386
309
252
328
321
389
272
305
327
339
360
294
342
333
331
347
348
300
357
265
249
241
274
306
319
319
375
328
304
310
318
298
374
289
286
250
406
298
283
302
300
222
298
241
316
396
377
253
370
379
321
329
309
373
334
270
267
330
236
249
351
315
214
289
290
312
395
330
333
291
360
352
325
355
278
313
323
338
331
188
444
301
295
371
295
348
296
401
309
381
308
357
276
284
322
372
300
374
280
272
319
354
317
293
286
366
303
292
344
382
320
281
303
337
364
318
295
344
259
293
353
272
343
246
316
256
328
252
359
293
358
263
354
242
223
332
318
286
384
224
377
340
240
285
338
318
340
292
374
275
372
290
337
267
380
252
314
326
342
326
255
339
308
278
332
322
343
331
361
252
308
298
293
330
359
321
305
364
353
318
343
250
316
317
342
349
351
318
354
357
271
322
324
314
320
350
364
359
327
417
283
210
333
400
370
322
292
300
390
306
331
275
380
281
372
296
344
349
335
249
318
319
346
349
288
293
332
321
309
290
287
266
356
312
289
291
381
309
427
339
288
267
282
242
347
265
323
275
309
319
304
445
231
330
315
368
348
254
372
320
248
360
305
409
363
322
263
324
385
350
317
353
382
421
278
345
328
357
272
323
370
386
278
302
319
374
385
327
339
377
357
197
295
290
275
303
283
278
357
259
387
293
333
458
325
311
347
328
275
351
318
311
354
295
297
345
330
430
344
336
387
388
211
373
318
321
257
305
339
311
377
371
333
307
279
280
283
277
343
341
359
313
313
394
328
336
277
375
313
287
401
266
383
299
321
384
318
348
254
280
260
276
356
308
297
295
318
348
322
276
365
352
334
323
291
379
351
300
353
340
368
339
238
309
254
291
390
321
342
387
357
304
373
371
182
345
242
315
318
322
385
345
280
342
318
260
371
347
323
336
305
348
380
339
308
387
359
352
267
327
311
355
237
308
264
242
296
319
356
338
317
423
376
303
403
366
334
354
266
235
410
223
299
292
365
296
314
367
304
251
345
279
387
262
305
327
327
340
343
335
256
316
290
229
288
389
321
267
323
321
312
247
336
344
379
338
372
307
418
336
335
227
351
275
264
351
355
268
364
413
257
344
336
335
313
356
292
330
333
307
351
255
324
308
219
314
335
365
363
343
278
253
316
331
307
324
238
266
311
363
257
317
215
297
292
250
337
247
294
325
354
310
283
284
323
315
303
348
338
292
318
403
335
256
331
344
369
268
337
354
346
359
303
196
341
326
275
341
350
370
318
370
335
394
296
383
295
323
187
403
282
297
217
272
315
283
301
340
324
368
383
334
280
312
299
325
352
303
300
271
377
361
360
282
311
332
354
280
277
272
307
284
262
349
357
270
318
359
234
377
330
319
311
342
355
296
294
334
256
323
273
344
309
319
194
376
195
417
306
259
321
289
374
333
195
303
267
299
357
320
328
234
214
298
261
401
334
317
361
390
283
336
334
320
334
312
318
359
262
350
321
358
343
336
266
275
377
347
297
308
375
293
272
362
346
409
340
404
310
359
408
288
283
330
312
333
370
307
288
319
324
366
251
263
321
310
349
264
306
239
391
270
383
371
382
257
419
331
247
298
323
273
354
363
305
323
302
318
294
316
322
305
283
360
359
371
426
345
264
358
332
262
346
318
249
321
405
337
386
388
329
321
346
377
294
350
309
282
280
372
345
358
307
303
384
300
299
243
358
268
327
269
323
368
393
353
361
293
405
319
299
300
276
358
325
342
376
295
307
381
343
337
290
286
392
393
307
313
256
362
332
273
405
264
379
366
277
284
320
193
355
283
283
360
296
321
414
326
395
254
338
416
325
331
284
310
344
268
324
306
288
307
368
298
375
316
293
363
352
258
282
324
335
321
313
380
261
353
300
262
294
221
302
370
315
338
260
342
240
246
398
360
363
384
289
360
393
309
303
298
298
290
374
354
302
347
399
263
362
343
434
281
294
306
249
252
354
335
303
352
384
356
276
333
285
286
321
333
355
278
312
341
239
310
328
369
359
423
437
269
275
300
341
231
352
298
323
312
356
288
327
299
342
374
392
315
317
220
272
340
286
351
359
292
285
299
273
205
298
241
368
319
314
347
305
357
279
352
304
350
312
308
298
354
306
339
335
407
221
356
383
250
359
396
393
320
307
297
203
214
400
327
349
260
354
298
254
365
392
312
343
355
327
288
302
302
291
312
255
359
311
286
331
317
349
265
325
365
361
279
264
230
366
311
303
345
346
306
261
311
285
292
291
308
281
314
295
366
349
381
304
315
303
284
314
326
271
263
286
410
313
281
277
272
323
305
303
333
362
304
356
294
242
358
292
278
339
250
329
294
298
321
386
333
358
254
311
302
265
333
359
340
270
347
292
353
261
277
314
270
347
296
303
295
281
305
342
349
258
366
336
335
327
341
386
363
369
256
291
325
330
237
352
341
329
298
268
363
191
295
348
339
326
257
265
287
365
400
286
308
368
283
364
249
312
276
338
334
277
319
311
320
310
360
293
301
360
351
258
330
280
306
335
364
340
274
310
249
296
290
360
344
294
268
377
280
310
299
341
305
234
415
319
337
353
318
351
299
310
328
345
390
389
313
302
312
265
298
323
280
311
235
329
337
254
320
356
354
309
260
288
323
286
296
326
320
270
335
318
320
329
350
311
221
249
323
292
344
347
321
350
333
257
322
279
341
401
318
340
304
360
338
301
273
357
337
348
310
259
333
341
326
348
309
337
331
395
251
340
374
395
297
315
316
291
332
386
312
284
338
429
434
413
319
344
348
278
220
382
321
357
251
382
346
259
416
363
233
342
282
309
291
362
350
365
320
355
314
370
302
254
296
266
366
286
367
282
310
294
291
365
395
241
290
277
327
300
296
300
271
356
405
353
379
333
295
246
314
321
332
366
353
281
338
320
337
323
299
281
330
280
379
255
289
282
304
307
238
320
304
353
379
320
297
375
292
299
363
312
352
388
343
314
292
359
379
326
279
320
346
289
384
350
370
339
291
333
323
325
402
271
347
257
325
375
343
281
328
312
349
272
245
387
350
352
311
344
299
296
222
277
291
233
322
295
325
332
369
292
393
271
342
231
274
319
357
295
287
237
291
292
280
345
326
324
376
403
334
288
286
301
369
280
325
312
386
362
268
333
356
337
316
277
386
391
309
327
347
307
319
288
437
364
309
271
280
349
379
276
346
378
324
255
368
330
321
328
400
223
316
274
295
321
288
342
270
335
284
366
256
351
314
307
336
353
287
329
314
275
380
291
291
258
337
270
347
336
364
299
257
314
346
339
286
222
373
334
364
371
406
296
362
234
231
282
284
347
297
333
252
356
320
262
332
334
278
287
304
258
283
320
288
345
369
389
277
334
341
382
318
316
256
308
334
287
308
352
270
389
398
331
246
262
284
285
297
353
325
253
225
336
257
356
274
255
365
345
322
241
315
336
308
304
324
316
265
357
266
325
380
259
305
375
251
346
307
360
283
280
339
381
320
328
293
324
265
375
280
252
347
283
239
374
299
334
296
405
342
272
374
308
340
273
389
341
309
345
372
323
239
245
335
316
245
317
258
278
367
375
376
311
265
273
233
271
346
371
318
322
328
318
299
395
298
299
342
359
306
320
289
331
362
370
384
357
152
353
339
288
265
359
320
387
366
364
320
407
351
425
386
298
379
261
307
264
266
314
277
340
361
318
329
261
277
345
375
318
377
298
363
357
339
320
353
327
269
326
336
354
293
317
253
247
293
312
330
320
276
313
347
331
339
374
284
326
348
313
322
299
336
290
284
308
192
334
365
341
379
280
395
258
298
212
287
310
342
313
342
221
299
309
360
359
279
250
366
398
333
276
307
273
287
280
296
383
298
392
392
328
365
407
366
264
283
351
250
283
318
328
349
353
305
325
322
264
282
264
343
285
294
325
241
295
366
262
319
220
308
204
265
418
345
333
270
299
227
293
387
386
354
344
359
301
353
328
361
346
347
335
384
297
350
354
306
359
246
283
300
357
392
338
376
279
246
304
309
337
307
325
363
426
357
302
310
357
341
272
282
357
344
327
356
359
281
342
238
316
338
287
310
418
325
309
385
336
361
265
195
305
330
364
351
359
296
270
323
288
328
295
361
300
283
253
407
317
369
310
319
341
358
315
330
353
278
277
279
324
258
235
267
402
343
324
390
343
302
295
307
281
277
284
275
348
298
367
311
245
344
322
295
365
334
259
296
338
295
272
230
362
344
423
318
337
240
319
218
413
364
274
331
319
300
268
395
280
361
270
361
256
278
391
263
353
338
335
274
339
291
366
319
236
291
348
308
330
409
300
349
353
313
325
346
342
301
315
298
321
265
353
250
340
334
335
310
340
303
321
311
282
366
333
322
268
310
321
268
313
343
335
322
280
363
352
284
360
343
211
344
299
307
250
380
386
342
285
209
350
261
332
375
348
335
296
308
266
335
272
359
302
288
366
281
334
187
299
368
285
273
348
334
293
394
309
312
362
348
252
368
317
336
347
285
383
215
281
276
380
243
253
390
376
279
343
261
287
320
347
299
326
396
329
348
346
331
304
360
246
332
292
273
320
319
313
418
339
393
249
294
376
348
246
311
320
327
260
395
346
343
314
303
258
349
248
293
371
328
365
233
312
367
380
341
330
244
331
285
323
238
320
265
314
409
287
430
233
217
392
349
374
285
362
339
278
347
338
360
305
284
220
315
297
341
389
246
349
284
331
336
316
405
336
328
347
227
406
319
253
394
283
323
277
399
307
345
328
354
305
383
303
306
303
341
280
320
266
366
385
347
256
352
283
265
363
295
299
297
354
321
331
278
255
261
295
213
381
290
295
303
343
386
321
325
331
319
337
397
335
297
254
260
287
282
363
371
345
305
341
293
341
338
384
308
329
294
271
307
297
292
359
324
253
362
302
315
309
340
361
315
383
296
290
214
302
268
381
356
287
331
289
346
322
256
222
353
287
304
333
236
400
266
303
346
316
369
270
306
343
308
359
272
209
343
305
337
299
370
343
304
353
349
326
264
271
297
344
304
372
348
330
329
334
305
342
336
309
296
321
345
294
309
307
301
318
379
328
295
366
390
250
331
384
378
347
344
347
336
321
211
291
327
296
325
344
301
348
343
236
339
417
430
397
341
319
347
308
323
217
232
314
297
320
322
310
354
284
319
304
304
311
325
313
346
404
346
357
311
254
419
309
311
371
309
315
308
291
321
299
264
312
322
281
283
290
316
355
293
275
342
285
348
339
283
367
257
331
196
360
314
313
358
271
428
315
288
352
305
294
310
346
329
358
353
313
328
332
362
293
311
255
285
336
285
407
291
387
309
286
330
329
280
395
301
292
291
390
292
232
330
259
362
275
327
340
272
278
348
332
318
278
326
323
295
287
312
370
296
286
284
350
298
257
384
368
219
267
318
355
288
340
358
296
295
325
230
437
354
358
297
363
270
302
297
335
242
336
345
304
323
288
333
302
370
280
402
247
320
274
397
311
348
268
288
269
411
320
312
307
260
293
397
328
192
304
290
350
324
307
335
355
341
357
347
307
319
338
384
270
285
353
313
365
300
335
352
274
345
312
337
252
249
232
296
245
372
295
327
318
297
288
288
279
344
252
348
325
211
333
307
302
298
375
250
307
386
348
300
335
242
408
374
319
229
360
398
316
262
292
240
338
340
291
273
353
316
305
311
298
295
343
283
273
326
363
337
296
335
334
339
293
226
291
328
385
415
262
296
316
304
358
394
311
252
311
338
307
279
356
342
317
287
282
289
321
323
359
392
367
313
356
292
367
355
365
290
317
347
300
257
250
339
354
228
289
302
262
294
365
327
336
314
347
343
282
378
274
282
301
286
193
245
401
333
256
343
333
364
320
362
353
330
327
299
330
327
356
390
336
279
339
325
316
305
302
263
368
328
357
390
364
323
328
261
332
296
295
278
383
352
278
347
272
325
298
253
318
364
305
357
212
269
328
353
276
355
348
321
317
353
310
315
314
309
340
274
263
285
376
342
331
336
295
360
403
354
313
371
321
355
332
224
261
329
356
236
278
312
305
315
351
402
363
347
355
260
391
363
310
375
307
321
313
413
310
313
243
362
395
373
343
352
263
383
300
240
258
325
413
361
339
357
251
306
320
331
329
273
260
308
388
359
373
311
316
319
323
373
408
284
276
377
315
309
309
332
338
381
369
363
293
334
281
351
324
348
281
332
351
323
261
287
381
358
289
290
271
309
266
317
315
230
293
350
331
366
314
271
337
306
375
334
313
290
270
289
386
320
265
333
339
341
340
222
421
255
342
333
391
264
249
313
282
267
368
313
375
381
327
239
314
323
315
361
300
333
360
300
301
284
311
177
306
286
272
399
263
386
373
292
250
246
252
359
256
278
303
356
271
353
371
230
352
315
310
332
410
302
218
361
318
334
331
335
244
286
379
325
287
351
268
375
282
312
350
296
273
299
340
289
339
269
297
279
322
309
279
257
277
349
326
354
249
305
358
328
266
360
257
342
264
238
304
312
295
284
260
336
323
275
286
352
387
408
272
326
344
295
331
304
242
321
281
281
241
374
319
337
313
315
349
213
290
378
270
331
382
319
328
425
324
372
323
311
324
315
326
317
302
312
318
331
365
273
287
331
330
362
289
350
299
305
202
317
360
343
241
241
249
305
345
363
261
280
313
337
215
316
279
334
279
399
357
348
296
314
224
382
299
364
289
401
405
332
447
291
317
320
404
379
337
368
253
292
338
293
285
253
341
362
387
388
252
369
360
280
352
230
259
326
307
335
237
191
380
319
237
275
328
251
302
334
317
318
335
393
306
323
276
352
278
352
298
314
298
348
212
260
277
309
333
283
343
354
255
307
294
260
313
338
301
330
322
271
347
283
355
276
358
369
253
339
400
409
284
280
317
332
332
336
358
417
246
324
245
262
383
354
351
309
353
274
313
343
359
311
273
276
309
200
335
197
308
326
437
371
341
364
342
381
327
233
293
339
357
337
251
369
292
313
283
323
372
265
262
376
262
402
314
326
284
445
247
277
290
306
285
299
352
303
310
245
406
305
316
307
228
406
262
216
347
333
299
344
391
271
365
308
288
283
338
288
328
280
297
332
405
313
324
302
286
285
287
331
293
301
365
369
316
348
376
284
357
324
328
316
407
297
310
342
357
239
380
208
338
379
326
221
336
364
350
303
343
389
300
251
350
312
344
327
266
345
326
266
229
262
346
338
211
390
338
295
303
296
264
352
382
286
287
420
392
347
291
377
233
315
328
270
255
328
257
240
350
376
378
258
320
283
420
208
301
252
307
418
354
332
306
331
327
224
395
353
241
398
313
289
356
284
341
345
279
380
332
320
256
255
385
288
273
305
380
336
395
282
389
299
264
288
369
360
301
290
305
329
354
217
291
307
412
264
389
344
243
291
331
378
349
288
291
275
360
327
275
272
354
338
341
339
334
410
306
236
311
296
241
263
224
282
341
310
320
337
302
316
359
383
322
332
319
356
368
306
311
376
199
294
320
260
225
357
288
323
303
326
258
331
347
278
334
287
351
312
258
273
386
400
374
378
370
277
315
346
308
350
329
347
250
315
248
334
337
352
374
324
318
327
326
313
220
240
404
372
329
392
284
361
311
283
332
315
342
383
305
316
344
306
315
257
330
324
299
277
261
269
297
356
296
383
305
382
393
265
299
435
351
326
350
328
307
259
274
382
357
369
316
354
333
329
350
349
325
323
341
284
363
365
277
235
314
313
350
288
358
307
301
433
338
340
339
378
160
298
311
343
305
318
338
328
331
252
349
305
277
387
297
399
282
277
354
326
324
306
271
317
300
258
284
338
322
347
362
251
314
374
322
346
258
240
292
303
300
293
270
338
303
374
372
270
312
302
367
368
323
328
304
240
306
294
307
370
324
323
325
219
285
323
211
317
295
318
329
318
321
316
337
374
343
409
311
330
305
311
284
238
270
298
346
337
258
302
336
327
375
250
426
341
316
258
292
259
296
357
326
308
353
317
303
324
282
324
302
270
316
319
278
223
282
305
383
355
332
340
374
295
240
294
346
379
263
339
337
336
309
337
313
303
297
418
298
272
344
358
330
326
321
352
368
347
296
364
262
286
305
349
334
349
367
281
363
304
279
314
364
320
319
352
298
349
378
248
333
310
228
262
243
340
345
306
311
372
327
312
313
318
357
341
293
288
261
396
283
300
237
303
365
356
304
257
401
298
319
355
279
383
288
238
340
367
292
350
341
306
310
286
380
285
247
320
224
262
347
279
285
385
307
318
344
300
339
426
340
371
276
294
275
265
321
318
257
276
328
373
387
308
242
336
336
326
319
276
252
301
318
327
257
299
313
291
332
398
278
309
361
323
265
344
247
446
346
301
267
265
283
256
319
289
283
327
285
238
312
254
355
346
307
349
279
308
309
331
249
287
283
291
381
387
329
217
258
313
374
281
342
355
307
338
292
332
246
360
230
314
259
308
348
325
281
337
391
258
304
304
273
303
431
276
359
351
317
318
377
259
297
296
310
330
345
330
337
345
339
342
255
297
340
340
288
325
336
330
368
399
225
256
313
332
320
326
307
307
368
349
247
337
336
324
371
246
383
328
267
302
348
270
328
228
295
350
322
313
259
267
288
302
291
279
254
329
308
384
379
303
239
292
241
405
373
368
315
244
226
309
305
364
257
350
371
343
366
292
377
246
291
340
387
336
321
329
265
360
238
340
298
356
375
283
345
387
291
394
302
289
343
306
377
295
302
298
347
352
236
205
301
311
331
367
301
257
354
314
323
316
356
319
299
286
369
263
409
321
368
286
274
239
350
310
249
313
280
357
320
350
267
356
294
284
305
316
334
333
215
276
290
301
343
274
294
314
315
361
357
313
285
290
276
350
356
260
287
333
238
394
283
278
305
380
299
259
279
401
295
317
347
327
224
319
393
337
330
268
299
296
354
325
264
358
248
317
340
355
340
381
251
356
310
246
361
386
334
311
299
325
286
382
387
290
230
337
309
302
336
360
331
268
413
334
328
377
273
260
364
341
381
339
205
297
359
337
213
311
334
233
340
314
347
309
275
219
182
324
366
322
279
308
325
272
336
309
374
310
272
379
371
262
244
238
302
309
314
378
385
321
353
306
330
246
428
419
341
305
345
306
358
329
229
394
277
233
366
392
295
407
314
403
264
326
293
367
417
259
293
357
225
338
355
318
248
358
214
275
255
251
293
360
353
317
234
353
396
332
350
303
312
284
307
272
368
324
277
304
254
422
315
344
343
268
373
379
286
349
318
296
310
320
401
292
347
291
371
278
338
341
383
383
326
333
340
361
305
394
289
385
343
357
255
330
355
319
303
328
398
317
321
325
287
352
258
371
379
261
262
345
369
266
268
378
279
351
373
342
198
337
304
337
385
396
316
356
371
324
380
337
321
364
339
348
293
292
276
306
264
359
286
321
343
311
349
353
368
308
342
354
199
353
250
275
373
277
294
382
255
333
342
373
317
312
358
286
310
279
306
379
298
277
291
376
249
410
278
253
392
351
288
244
321
356
324
334
393
307
213
332
375
336
291
230
313
266
303
338
288
260
363
303
366
345
297
386
341
299
329
222
354
190
329
347
342
332
323
240
324
345
330
293
291
399
309
354
265
363
284
343
266
235
323
221
240
343
326
298
361
284
384
392
276
319
379
378
298
281
349
224
289
222
295
223
406
370
359
278
315
332
303
339
367
329
248
318
277
311
292
351
294
319
309
243
285
201
250
314
255
350
347
249
348
281
312
310
236
342
347
332
300
328
284
385
308
293
332
249
288
313
270
354
309
232
346
333
300
378
270
299
396
237
268
308
335
341
272
326
372
295
322
370
320
301
355
254
249
342
355
306
236
331
368
356
306
375
301
273
282
337
312
353
265
307
376
286
342
374
267
362
351
355
332
272
371
229
369
344
408
369
433
354
356
339
389
321
303
369
295
341
306
361
393
322
302
299
321
308
325
373
330
289
327
291
318
312
349
391
319
306
380
264
300
272
367
337
316
337
383
311
389
326
221
309
265
282
350
329
263
323
316
360
291
371
348
325
312
321
396
245
248
218
355
233
312
336
302
313
319
307
257
362
335
372
332
365
294
301
319
347
254
285
315
285
273
319
284
253
319
218
299
255
381
317
381
373
305
299
287
289
340
260
332
285
335
302
374
339
357
243
329
332
255
298
273
280
327
341
360
363
299
328
334
330
336
346
353
331
254
263
391
287
337
372
361
320
353
408
230
335
359
368
344
314
408
314
402
361
337
317
240
351
321
284
366
343
269
375
333
300
360
351
373
357
371
348
261
276
326
308
281
316
387
331
284
350
306
408
325
320
332
326
284
367
309
325
395
388
277
304
298
260
394
351
270
309
305
342
367
291
366
189
304
402
272
287
364
284
346
351
345
276
300
364
328
281
333
366
290
327
242
372
264
270
354
306
408
275
358
405
319
275
321
232
326
300
274
292
339
291
212
318
274
285
302
250
378
259
301
307
348
346
344
316
306
372
304
320
337
337
316
318
231
296
312
298
301
274
254
228
317
316
331
328
331
358
263
243
307
332
388
302
379
337
267
291
363
314
253
295
335
307
285
316
265
322
351
325
412
347
295
284
322
355
275
275
323
335
259
280
385
287
285
283
338
291
277
267
400
306
344
391
383
239
361
342
274
411
324
295
328
275
345
268
274
335
349
335
385
241
354
264
288
375
348
261
358
291
331
332
204
306
193
342
334
342
328
285
330
340
303
332
354
301
335
313
303
342
296
295
245
407
317
380
289
315
289
259
330
327
237
311
312
342
298
242
279
344
274
276
327
342
308
265
378
280
362
363
361
362
308
333
338
337
304
265
317
282
314
357
321
320
321
326
301
408
346
367
313
324
299
304
328
363
416
345
361
285
362
343
402
249
320
289
301
286
359
328
366
415
336
325
353
348
308
321
350
350
405
374
344
283
320
330
262
374
321
381
337
305
303
371
330
341
206
271
317
334
265
361
258
368
283
345
262
286
288
275
309
279
331
337
357
272
364
280
297
376
301
338
298
339
196
372
333
295
305
372
312
302
311
352
333
306
302
311
355
390
274
364
269
342
294
366
362
267
267
384
315
386
244
352
215
232
355
267
354
316
293
290
359
322
315
336
330
296
331
327
295
307
289
270
333
315
305
308
358
252
342
278
388
345
277
306
248
329
251
295
305
254
291
365
273
326
386
331
344
361
381
307
342
297
329
343
330
265
346
332
345
338
307
383
238
345
311
331
225
212
387
340
414
335
301
306
389
424
329
294
265
338
301
292
378
269
367
330
294
272
324
344
340
278
317
341
367
310
310
366
393
335
303
322
303
298
368
319
300
393
342
268
412
359
351
284
331
381
374
297
284
312
272
315
340
290
296
340
323
296
321
299
245
320
392
293
347
365
342
287
341
321
277
355
290
285
390
230
281
336
313
364
387
304
298
326
299
323
291
258
332
333
376
277
316
324
314
407
275
340
254
350
278
248
222
333
370
285
271
347
359
315
346
350
328
326
382
311
275
319
278
284
321
279
282
354
295
356
366
307
371
337
365
259
310
215
314
355
341
342
300
399
227
345
332
415
380
244
282
346
304
365
293
304
347
369
234
300
286
290
349
341
287
329
357
283
392
320
299
337
332
279
322
365
316
336
377
235
321
269
295
295
318
311
355
244
300
288
270
352
345
322
286
199
300
334
306
294
324
218
340
295
344
316
343
309
329
366
311
316
232
335
255
304
255
315
319
222
310
311
327
326
266
337
381
233
380
343
322
329
261
277
304
299
296
289
337
368
380
282
257
280
355
341
469
259
255
387
363
371
337
319
361
358
327
353
283
377
370
275
281
174
282
280
334
348
313
237
375
321
283
330
306
343
393
361
309
323
321
361
299
309
245
304
321
400
353
277
241
317
261
347
321
317
335
399
285
335
294
266
379
333
325
317
338
197
308
249
245
380
300
362
304
365
348
358
239
427
376
267
384
230
255
326
276
342
290
353
287
251
328
338
358
287
305
235
327
408
326
311
294
332
337
368
330
320
356
314
332
252
364
286
363
341
352
336
198
327
239
363
368
212
338
311
185
398
313
322
318
343
323
328
253
362
281
342
284
380
322
237
336
321
343
295
305
302
296
300
279
294
355
330
334
268
304
391
359
300
366
352
315
389
287
379
310
387
304
305
248
333
320
320
213
300
393
375
219
274
369
321
243
255
310
302
336
334
356
356
344
348
374
362
338
340
313
307
358
318
274
268
269
347
289
367
319
290
367
340
314
245
355
312
365
298
327
360
335
272
298
324
186
280
333
393
360
285
325
315
316
285
252
319
362
360
336
329
318
394
385
216
263
335
253
292
345
334
288
206
312
361
325
345
261
321
340
362
207
265
255
267
337
301
277
321
237
263
292
354
335
360
272
378
348
427
264
310
285
377
285
332
334
342
345
294
291
311
358
343
310
334
219
302
420
226
334
363
244
364
271
324
281
324
341
402
335
256
312
221
328
339
256
344
289
228
361
360
292
382
368
321
294
282
239
283
298
321
354
302
393
293
302
275
282
301
327
372
306
397
278
356
406
393
309
301
250
290
349
317
335
362
295
309
325
339
313
258
324
309
391
299
314
432
359
357
326
332
305
303
310
219
341
354
327
398
336
345
307
274
344
305
328
344
318
292
367
324
233
396
340
324
323
302
338
305
311
332
274
310
324
293
259
376
302
327
358
315
332
328
342
349
312
337
256
342
373
343
254
311
326
319
370
257
368
287
331
324
371
282
299
263
347
349
371
345
368
439
368
376
388
249
349
307
371
288
303
242
387
333
304
241
300
345
340
261
273
340
333
382
270
366
268
368
269
361
344
316
308
342
391
299
323
350
337
331
326
353
363
323
353
363
335
309
256
323
279
314
321
280
291
271
337
367
290
352
330
378
254
291
359
315
276
311
356
408
322
344
301
358
347
337
329
289
358
281
341
337
281
343
346
332
332
229
308
299
373
343
357
324
277
280
299
258
328
271
339
313
297
312
271
283
317
324
340
332
370
283
335
387
373
300
321
334
274
338
296
333
306
372
323
254
284
254
236
289
299
348
386
391
306
307
432
261
270
382
321
386
331
278
293
272
207
322
263
298
341
297
278
296
249
346
351
300
322
332
284
349
309
363
335
346
261
287
278
279
297
307
342
322
377
370
267
271
311
363
403
326
382
252
337
344
357
294
329
336
396
383
306
282
378
241
283
345
300
280
362
342
354
303
347
377
310
295
384
308
343
290
295
369
346
310
257
375
375
378
344
309
318
323
252
369
390
297
289
317
385
312
287
375
362
352
344
326
373
332
300
315
329
328
239
397
326
337
250
365
331
213
282
340
386
284
209
373
378
283
305
343
130
292
289
272
351
363
275
351
289
298
416
340
226
450
332
271
251
412
263
324
333
259
379
230
354
321
293
248
256
276
262
346
400
355
335
358
310
291
239
335
284
289
285
322
359
355
275
298
237
268
346
282
349
308
313
331
269
314
291
303
387
320
315
311
329
314
360
378
403
270
302
319
326
257
360
349
310
308
388
311
277
345
294
298
361
280
326
294
345
361
360
360
294
359
289
336
240
301
298
424
299
380
282
331
334
368
336
250
394
292
297
321
263
269
300
213
354
200
295
292
267
244
276
327
294
336
281
283
338
394
272
255
211
343
341
345
360
356
395
313
370
332
221
292
276
363
372
284
312
312
160
376
357
324
343
383
404
331
325
342
343
285
367
298
383
328
292
316
272
372
281
370
338
212
335
293
355
322
321
390
304
284
254
329
232
322
337
331
303
361
289
311
384
327
299
317
288
315
306
286
226
262
381
302
330
276
367
287
275
278
298
348
343
272
344
233
293
278
321
313
341
294
293
326
372
352
298
306
267
370
405
283
358
326
339
321
300
300
219
273
357
296
313
380
401
344
329
332
348
275
357
380
304
336
270
355
372
352
300
337
361
333
422
323
308
289
331
302
384
332
234
226
304
266
271
354
302
374
357
218
392
294
264
322
291
354
314
391
347
319
371
346
386
338
254
322
236
325
394
378
306
378
389
310
261
270
366
334
302
230
320
343
373
340
410
361
304
382
337
283
279
299
356
331
332
276
400
262
293
292
288
313
338
323
315
260
298
352
285
338
289
352
315
341
307
348
256
375
332
246
287
321
211
265
358
331
419
276
290
356
305
324
293
315
274
337
312
317
264
380
232
306
284
222
372
253
283
231
331
325
231
328
288
371
397
300
340
362
336
371
220
276
335
269
374
351
344
230
373
329
309
281
322
361
347
375
375
292
306
325
327
348
331
310
386
338
287
372
229
255
352
316
306
301
282
429
367
292
367
437
167
341
352
374
276
360
244
384
293
361
286
380
408
350
303
322
292
297
275
286
433
306
283
328
298
343
417
275
323
228
262
333
346
294
367
295
274
329
376
250
297
292
362
327
278
324
285
319
348
330
339
235
310
261
260
245
396
252
357
300
288
213
276
324
325
374
335
271
324
312
349
279
249
304
322
347
377
326
291
339
275
229
365
281
325
314
395
289
287
329
335
360
341
331
343
270
268
231
316
290
420
358
291
273
307
325
316
397
333
273
352
307
368
282
370
326
374
328
276
320
298
295
280
312
356
341
334
408
333
273
386
333
353
257
306
303
325
322
374
355
303
362
368
379
299
337
256
317
369
369
322
280
318
363
333
248
329
316
296
289
283
297
313
316
328
281
256
238
265
285
327
289
313
315
358
309
309
351
358
315
266
331
292
339
374
301
276
382
287
303
245
326
296
233
316
359
263
325
301
362
348
279
342
304
282
258
260
307
331
328
296
361
303
330
347
241
286
323
350
403
263
313
355
349
324
230
381
292
345
339
336
311
304
214
373
369
236
322
339
279
320
300
329
347
352
387
330
346
307
365
304
304
231
332
361
363
309
324
343
207
278
334
206
307
300
393
314
357
339
418
301
315
261
260
362
376
356
283
349
396
355
287
346
291
406
288
332
331
267
243
357
321
311
298
365
293
364
389
303
341
237
303
292
284
333
293
362
316
286
391
319
379
294
310
330
297
349
337
299
297
315
349
392
342
377
232
323
390
323
372
255
336
313
252
376
337
309
326
298
390
373
309
377
357
327
314
289
271
333
352
407
349
271
320
350
310
392
349
414
369
300
353
237
228
337
366
364
282
272
344
330
357
238
331
345
346
361
272
284
258
302
364
327
330
284
285
294
271
358
354
316
336
246
288
304
314
220
381
280
255
312
258
364
291
369
354
207
277
323
422
269
277
357
373
391
345
298
324
287
334
410
340
295
292
377
349
404
318
293
313
225
376
255
326
300
333
383
288
206
348
271
347
299
368
399
329
392
313
280
249
309
290
307
319
277
374
235
335
371
302
316
388
346
277
252
396
257
350
329
348
349
367
389
310
291
372
389
274
280
363
410
319
315
261
293
334
340
359
334
322
354
264
253
300
361
310
378
299
348
270
375
248
254
290
279
272
337
312
345
272
365
277
325
323
301
293
381
414
202
340
341
294
245
373
382
357
317
311
335
298
296
416
243
342
326
297
274
334
388
328
384
310
340
345
309
341
325
381
446
341
367
293
297
275
269
331
343
273
289
328
283
332
373
272
349
333
377
338
293
279
305
342
221
347
381
231
329
350
363
248
211
307
408
333
329
317
336
318
421
219
340
320
299
358
282
360
227
317
345
354
368
395
337
329
291
415
423
323
279
311
334
375
314
334
383
252
322
306
384
328
318
276
326
337
395
244
323
298
307
300
392
319
251
387
268
353
342
343
312
351
366
375
344
330
348
250
334
287
256
367
307
281
329
225
294
362
303
377
290
306
377
371
310
236
340
357
261
345
410
346
300
351
300
370
315
278
354
256
291
321
335
370
309
321
309
317
328
311
318
417
225
280
367
308
303
357
414
363
364
213
338
399
258
331
292
362
330
316
279
234
259
380
275
357
212
324
392
267
270
336
309
253
339
351
226
359
307
296
299
218
366
293
300
261
256
292
266
345
268
286
350
344
326
294
329
275
316
333
327
342
271
306
371
414
313
330
327
269
307
371
278
320
251
341
281
351
286
345
355
305
252
349
228
247
210
337
306
274
343
395
217
332
383
285
345
310
342
334
276
254
371
335
283
272
411
336
352
298
316
372
286
234
297
274
362
283
257
269
325
307
322
311
321
263
326
300
376
438
348
317
304
198
275
342
286
320
327
349
434
307
404
312
313
310
302
284
426
270
301
280
353
246
346
298
373
334
258
317
329
346
307
328
348
218
342
236
343
298
370
292
330
340
364
326
295
321
308
284
280
251
408
376
300
300
300
230
309
254
303
317
263
331
301
298
349
241
269
313
380
249
265
294
292
361
347
308
321
409
266
310
305
336
300
309
337
338
379
308
297
318
351
297
291
350
325
402
289
381
352
384
357
320
343
300
311
401
280
324
297
292
275
354
329
349
379
244
267
337
309
242
396
311
242
327
313
267
323
370
336
330
359
230
355
328
218
301
331
319
251
319
269
294
370
295
289
247
337
341
298
385
266
224
335
333
350
298
362
298
273
266
363
311
392
345
324
293
320
364
353
360
325
380
371
366
273
361
388
275
267
372
246
375
309
373
288
249
341
296
402
316
250
295
291
211
332
370
327
397
298
335
364
307
325
307
375
329
314
287
324
266
337
289
341
262
268
352
284
239
278
292
256
316
262
348
333
334
317
307
323
377
242
325
313
303
279
325
324
327
362
286
270
298
248
364
291
333
293
323
297
354
230
350
333
250
289
387
306
321
312
281
342
284
319
326
280
292
314
285
272
281
324
303
261
319
247
232
239
269
299
334
315
291
216
361
304
315
380
300
378
284
351
336
339
339
357
296
326
296
351
335
277
316
327
311
248
319
353
375
348
380
325
340
287
331
285
364
226
331
266
350
355
306
342
283
342
377
372
351
230
346
259
395
283
265
291
278
318
399
337
327
341
284
348
362
305
363
322
456
316
386
325
264
249
318
311
380
310
297
191
355
345
383
335
364
307
327
338
338
315
308
387
302
348
362
243
231
361
267
358
381
258
299
299
417
320
366
354
323
363
364
375
228
322
364
357
348
377
206
307
264
385
313
373
308
277
289
279
300
272
319
336
283
323
300
298
305
285
302
384
349
360
275
275
293
250
364
331
261
251
362
353
281
326
335
386
307
296
391
306
363
302
291
337
350
266
271
201
297
372
345
333
278
374
340
344
270
301
325
301
363
226
268
386
305
264
314
379
346
364
361
259
319
293
322
314
347
192
348
406
216
301
295
352
316
289
313
360
213
390
335
243
218
371
325
258
294
334
322
391
317
267
271
291
310
258
337
326
194
308
334
324
342
287
363
349
296
323
380
310
359
284
350
294
328
287
315
316
351
355
340
295
295
305
368
260
349
311
329
288
302
267
337
334
375
345
349
343
351
292
301
303
290
361
270
200
367
295
286
418
257
414
260
289
333
270
337
328
343
352
400
338
280
253
377
386
317
319
245
307
282
341
252
311
359
337
348
254
378
255
331
251
359
302
338
310
314
282
302
344
374
331
302
270
358
285
420
317
266
301
268
305
285
203
338
357
262
312
361
319
311
368
282
216
377
333
312
232
318
263
338
312
282
297
340
286
213
294
298
327
353
284
284
301
322
293
299
310
327
320
389
336
335
380
359
366
331
290
338
254
324
214
375
339
361
329
265
339
292
359
339
313
333
290
337
315
383
381
281
300
316
331
300
319
295
315
288
295
292
303
265
291
326
308
308
323
246
254
347
290
300
308
358
267
322
338
330
299
257
313
303
256
301
301
442
270
334
352
358
322
253
386
364
287
286
269
304
340
357
333
368
307
336
316
329
316
382
354
366
303
316
309
308
345
370
277
307
329
319
248
276
241
357
321
271
401
309
282
175
369
290
380
333
309
285
272
364
371
332
428
334
327
308
362
303
338
279
360
342
360
338
335
317
390
309
341
295
325
280
260
410
382
289
258
264
326
358
403
297
362
338
199
340
333
325
286
360
305
356
323
324
368
276
411
266
255
373
350
304
301
288
361
254
310
256
263
375
342
241
340
323
277
399
295
372
363
329
318
320
299
353
275
315
355
281
283
378
341
335
322
364
321
227
357
339
267
397
283
289
313
336
315
292
362
186
393
295
318
364
314
401
381
400
344
299
358
325
275
337
321
291
231
287
343
275
288
318
282
282
279
349
294
315
330
334
257
262
294
293
291
405
342
312
306
273
319
371
357
326
354
299
348
322
327
335
273
321
381
396
270
295
310
288
320
376
312
304
363
340
335
282
281
229
244
360
346
296
308
315
260
375
372
212
267
369
327
392
358
364
401
217
333
357
323
343
259
235
268
373
326
398
394
330
369
311
273
288
345
391
297
311
279
262
247
320
340
341
300
273
361
271
320
284
306
332
276
391
337
355
339
357
273
213
274
347
311
355
305
349
313
356
291
331
304
314
244
331
307
320
293
249
379
288
312
321
302
297
391
344
382
357
284
289
268
292
311
390
273
315
306
380
375
326
329
373
304
318
292
316
270
226
291
296
345
277
339
299
370
268
306
251
313
341
343
240
302
287
326
342
376
312
331
320
320
296
275
348
321
316
293
332
237
307
323
262
323
301
342
301
304
397
244
299
322
317
314
343
315
252
354
303
393
238
362
269
310
340
250
324
333
366
394
407
290
297
292
337
309
303
290
266
322
424
334
360
340
337
351
372
265
399
348
307
345
328
321
318
321
289
303
329
275
264
355
260
376
376
316
227
299
352
341
301
312
251
278
309
283
331
272
327
290
335
370
345
248
300
367
340
337
327
289
393
340
311
296
376
307
262
385
278
345
315
419
245
322
279
382
303
294
288
393
348
312
221
342
291
348
342
302
253
279
360
325
291
274
286
373
356
348
339
344
301
325
349
371
328
228
324
347
322
250
352
265
302
375
227
327
300
349
365
305
313
275
292
297
310
329
268
294
299
284
285
328
243
324
350
267
225
393
312
383
330
342
305
281
374
327
362
269
383
305
369
338
313
314
318
231
300
327
208
307
251
381
296
344
316
357
300
348
289
273
259
327
412
306
321
315
355
369
274
266
317
293
276
320
375
405
328
338
337
342
289
369
314
274
313
317
300
297
334
316
316
323
311
264
219
307
309
323
280
259
257
325
314
334
287
283
364
329
332
316
310
333
360
370
311
215
273
276
270
273
373
330
319
330
280
332
360
322
318
331
429
412
297
275
293
378
279
324
308
326
307
320
299
262
309
330
294
293
314
373
425
266
332
352
312
327
370
378
271
341
369
373
294
280
348
365
364
355
270
318
306
314
314
302
340
364
378
324
280
270
395
382
294
362
365
287
294
323
216
361
330
319
321
352
298
289
327
226
297
345
318
270
303
333
257
307
293
288
326
333
385
341
262
324
207
269
359
277
420
414
351
359
255
350
234
290
290
281
349
297
324
215
303
337
314
270
356
329
325
328
308
304
356
352
271
350
246
260
320
307
353
277
270
238
399
320
313
299
291
339
421
330
312
296
320
272
300
268
358
389
316
296
291
293
371
316
362
354
327
283
311
230
365
332
356
376
312
275
406
336
262
370
335
405
246
301
283
337
321
289
267
336
389
302
368
267
358
335
330
447
296
383
295
282
291
291
260
397
350
303
280
348
297
397
323
229
329
353
356
338
331
360
360
390
339
310
368
357
248
372
302
363
266
294
279
333
324
313
245
360
224
301
328
438
327
302
252
268
284
356
304
419
350
317
317
348
345
247
334
280
400
280
296
315
363
246
374
319
272
352
280
301
291
331
313
339
378
293
273
289
332
284
262
338
374
416
304
316
267
373
441
403
291
382
307
335
352
355
325
350
325
354
304
363
282
337
345
305
370
329
348
308
336
399
297
265
342
324
353
319
288
323
374
334
272
244
370
285
269
413
356
363
299
311
386
343
345
316
343
276
357
355
212
330
435
235
325
361
305
327
382
305
344
386
250
236
182
285
334
409
301
314
255
334
259
386
263
254
315
330
304
298
204
339
318
301
323
309
288
290
271
312
346
288
311
305
270
272
301
307
340
315
321
233
348
311
259
351
281
364
380
363
353
296
244
324
294
234
240
313
407
356
313
305
328
391
428
325
326
340
346
330
257
257
372
263
268
331
304
362
311
395
336
239
350
306
287
315
367
355
275
313
359
349
305
398
283
330
385
357
395
357
255
236
287
254
305
348
374
261
426
352
326
351
305
407
290
339
283
346
318
281
338
283
252
372
369
303
329
374
382
361
376
301
380
376
343
357
296
272
388
276
389
273
273
326
327
401
273
316
323
378
301
330
347
249
339
319
292
289
305
348
330
361
317
330
410
275
340
336
248
287
291
369
366
309
358
288
244
342
278
265
314
281
371
205
375
321
269
319
337
290
280
405
309
387
367
319
386
339
316
339
253
285
339
288
294
383
349
315
259
316
210
351
276
316
292
339
281
280
331
266
177
287
309
301
332
355
341
322
289
402
268
253
372
338
307
316
294
338
306
268
367
340
349
379
400
330
301
271
317
290
362
356
226
307
347
289
251
331
373
355
400
358
341
320
323
314
323
245
275
366
279
309
329
316
310
313
391
243
321
323
264
389
275
329
332
228
257
310
311
311
291
294
283
375
273
318
339
351
384
285
309
350
352
276
359
235
284
319
310
362
331
311
262
315
333
193
215
373
343
325
285
353
238
316
284
376
351
350
341
268
346
246
348
265
293
207
292
330
336
307
338
337
297
368
263
331
253
310
298
341
393
329
302
300
315
337
352
263
321
200
368
321
350
243
287
296
255
319
277
379
366
321
325
274
221
307
269
306
296
365
321
348
310
337
332
339
429
295
413
255
305
351
293
315
330
319
334
289
309
253
313
413
336
359
350
380
357
341
357
266
304
382
343
299
262
348
255
300
352
240
347
300
311
370
363
280
380
385
350
286
300
287
288
334
357
311
314
422
311
311
255
372
336
287
302
371
311
353
268
387
283
359
305
395
360
214
291
352
336
337
385
276
320
323
368
326
197
279
237
341
340
388
366
312
200
349
368
295
320
355
266
357
346
272
260
383
334
264
293
298
325
271
401
258
393
353
342
344
292
286
333
391
276
223
341
322
399
382
330
307
318
332
293
279
305
292
337
325
256
351
295
315
277
354
323
358
336
364
348
331
303
329
275
387
366
361
362
364
340
346
325
249
359
336
288
305
258
289
294
264
345
329
376
269
264
268
222
339
368
255
273
276
353
308
274
249
351
363
345
326
355
415
325
260
309
381
378
302
392
349
308
302
235
303
332
289
307
318
334
331
352
292
329
388
337
369
201
262
301
347
280
328
315
370
280
355
330
302
298
240
382
263
262
362
270
229
335
337
301
317
253
323
395
286
267
287
379
314
286
330
287
233
368
278
329
288
341
268
343
402
379
319
283
311
304
375
290
364
308
326
295
245
401
260
235
316
344
331
340
310
347
277
310
227
316
298
323
329
262
329
368
322
349
318
397
303
373
374
217
279
300
311
407
360
238
266
275
333
291
392
350
334
322
283
321
302
361
356
290
402
372
312
236
337
316
303
294
365
349
316
289
346
327
409
283
356
256
358
352
252
305
216
329
370
332
289
380
266
286
284
313
322
333
300
320
317
363
341
342
307
375
361
330
258
345
272
294
321
377
278
350
235
325
323
378
368
274
298
295
384
315
354
275
219
335
309
353
316
359
343
328
379
335
377
334
335
353
380
366
370
301
284
277
399
298
390
300
258
329
313
253
275
229
284
352
267
204
360
307
310
374
354
333
277
331
346
260
365
278
345
317
315
304
378
306
391
284
328
321
342
314
316
344
226
386
281
324
169
291
299
324
296
353
334
284
411
265
262
316
342
262
378
270
315
313
311
271
241
342
285
268
313
395
297
319
276
326
325
340
408
269
316
323
313
404
322
333
304
307
290
199
311
279
282
307
323
250
300
314
362
333
327
244
279
352
352
302
357
375
327
358
306
336
413
313
305
301
329
246
360
400
296
284
343
337
301
364
289
372
287
317
333
254
292
315
336
377
270
390
322
316
301
358
350
326
226
321
342
328
289
328
280
341
414
323
314
371
356
328
358
350
296
349
310
283
387
335
389
343
318
354
335
291
284
353
258
303
317
357
423
294
312
318
334
396
353
340
284
345
330
316
377
346
265
399
361
255
280
380
329
356
340
229
264
314
396
302
318
254
280
401
261
369
322
251
332
303
305
272
344
224
381
307
292
307
329
297
203
359
291
366
278
277
314
362
297
348
331
269
335
284
254
218
251
374
197
315
288
305
314
370
211
304
212
374
336
376
324
267
299
290
352
329
339
290
311
273
318
417
363
300
351
288
236
379
276
337
285
370
227
374
313
273
286
278
306
365
279
299
382
294
448
367
343
306
317
292
362
376
273
340
320
284
254
354
237
355
371
350
234
357
336
328
338
283
304
228
247
264
346
402
411
365
285
339
247
330
301
357
313
351
314
308
189
257
270
323
348
305
304
332
320
245
391
290
323
334
333
303
334
299
276
353
254
383
330
309
312
271
316
334
297
246
260
399
192
400
274
282
346
315
317
390
335
266
349
225
326
329
360
367
241
346
276
322
277
305
383
318
330
353
369
360
335
343
343
306
313
299
334
270
355
254
289
315
364
375
319
300
232
366
260
345
321
358
290
295
288
355
301
298
379
275
360
289
293
346
368
345
273
275
213
383
276
366
252
267
340
370
336
386
320
329
326
257
354
287
271
374
334
270
286
305
330
366
372
306
293
364
385
337
318
390
232
398
352
305
323
369
272
369
344
331
304
345
300
299
313
316
343
330
339
291
291
380
291
331
269
264
282
324
405
363
324
315
352
280
368
347
399
310
301
370
418
327
298
339
346
245
245
247
338
252
320
334
336
373
300
327
320
333
307
284
308
287
340
321
256
375
302
281
295
344
254
269
336
362
260
321
314
296
342
300
335
362
388
334
455
302
364
348
288
252
283
297
331
365
314
303
364
315
344
209
249
330
300
387
287
227
232
286
331
334
247
285
343
295
300
304
371
346
299
275
274
373
287
323
363
338
314
355
302
402
238
299
342
290
302
395
284
374
270
313
300
362
222
322
336
221
368
293
329
273
381
319
368
302
409
312
308
407
347
328
269
364
263
307
309
373
333
291
300
375
332
353
357
305
287
353
311
278
392
340
318
262
299
307
303
311
353
285
294
307
200
376
390
326
256
300
285
330
324
345
328
299
306
406
300
409
305
300
342
289
342
233
263
287
293
270
221
368
283
304
280
343
291
308
279
319
318
325
275
293
281
363
314
284
237
235
371
302
295
348
306
333
227
280
229
328
258
262
310
376
302
354
336
377
210
353
253
295
281
371
368
357
266
282
296
353
302
299
333
273
310
308
321
344
322
336
274
363
259
298
351
307
291
280
334
264
310
401
339
361
326
316
290
231
402
289
293
285
269
277
327
279
226
290
244
278
344
292
429
333
338
349
256
243
296
337
292
350
349
377
328
292
307
293
342
269
357
349
269
351
340
338
314
285
222
264
341
342
305
241
303
258
362
331
394
182
305
311
326
311
337
344
294
271
356
313
352
293
357
280
272
294
310
258
333
422
320
382
322
293
260
313
336
308
331
346
277
345
313
314
297
260
365
382
323
415
294
344
305
404
279
338
326
270
302
282
346
319
342
331
300
294
298
269
283
309
257
354
358
313
358
376
321
315
346
350
275
317
238
286
359
371
330
316
308
335
333
287
362
310
371
344
350
264
298
263
379
304
305
255
293
281
274
355
339
367
319
359
297
328
310
330
313
343
276
279
368
308
374
340
387
284
359
373
344
313
342
372
282
297
400
299
366
345
291
274
309
187
351
291
338
199
227
280
297
338
334
310
351
321
279
309
327
276
353
307
268
361
300
313
302
367
303
277
309
328
317
288
308
313
375
358
339
355
289
273
287
252
247
368
371
285
279
309
318
339
323
282
306
344
293
270
356
296
235
339
257
328
309
298
278
287
304
294
313
317
237
327
318
345
300
340
312
273
401
305
312
344
302
270
338
296
290
374
285
311
295
345
318
374
264
314
366
248
361
337
407
356
416
341
314
319
301
324
297
330
355
307
345
320
347
325
312
364
293
368
346
362
387
324
312
299
339
315
316
258
368
376
242
314
251
292
336
233
256
310
251
253
287
291
289
374
288
341
362
292
314
311
389
295
243
354
275
283
261
314
300
288
338
398
257
361
290
307
261
342
293
239
272
318
211
282
425
340
315
320
265
286
256
200
263
362
408
325
297
358
347
333
387
384
310
290
255
323
324
302
312
287
354
263
355
262
303
352
258
333
375
266
393
201
309
244
285
346
305
260
343
280
310
347
396
287
269
330
384
373
271
337
320
313
306
320
318
285
243
305
352
266
327
326
363
235
356
364
346
293
310
235
348
203
288
397
271
354
328
338
293
268
283
324
357
307
345
391
243
365
331
367
307
403
378
312
279
384
278
325
255
363
316
337
292
310
384
268
330
386
292
317
294
347
419
315
281
356
308
361
303
338
365
315
387
267
385
329
344
329
329
345
317
352
285
308
284
356
339
314
345
262
236
344
267
288
269
318
325
353
309
378
308
315
273
417
302
328
268
321
258
359
347
220
386
355
241
260
278
301
284
317
258
369
326
280
327
389
323
238
292
345
337
318
312
273
335
285
310
256
329
277
320
388
354
331
342
347
320
338
311
277
367
245
290
308
288
401
302
333
348
354
321
225
314
344
299
330
343
330
286
291
294
249
289
227
340
339
329
351
295
252
393
338
275
289
408
342
337
391
262
358
285
242
356
290
392
288
340
277
307
249
285
312
368
349
385
373
268
348
315
361
321
353
365
344
393
465
267
361
263
312
306
278
304
353
347
260
293
292
335
271
292
297
214
318
366
393
322
250
381
266
319
337
357
324
335
266
282
250
292
313
327
349
266
411
366
291
383
287
354
334
282
331
275
305
335
242
391
353
348
307
259
280
294
226
422
268
260
390
377
285
332
277
295
324
278
306
276
343
307
383
333
201
231
287
412
309
285
371
379
359
324
359
356
232
333
313
309
283
250
323
236
421
350
303
327
437
304
339
339
316
276
291
301
364
367
316
278
409
323
368
360
294
300
237
263
312
332
313
308
418
292
300
309
326
350
254
264
328
330
369
305
320
356
341
340
258
304
400
318
307
355
304
348
372
365
281
257
269
332
321
293
349
339
341
325
370
336
288
333
373
322
334
357
320
316
356
369
281
362
304
250
279
314
361
302
294
303
339
381
337
352
306
387
382
291
309
376
359
368
328
302
395
375
249
283
411
311
291
317
353
298
352
371
359
354
347
323
250
373
315
330
325
261
225
349
320
347
287
353
322
296
311
330
293
325
381
319
247
256
335
359
294
229
395
249
326
327
316
352
345
339
267
347
242
254
356
316
378
335
307
284
282
320
269
272
383
348
367
279
343
266
283
289
270
314
361
328
324
198
284
436
351
278
344
298
420
286
325
372
294
315
331
337
306
353
295
304
299
261
308
367
290
271
315
270
290
305
323
357
264
253
382
307
270
356
197
283
265
398
319
339
339
323
306
384
264
338
269
308
329
306
348
292
400
292
287
265
348
376
269
263
304
250
228
322
380
345
337
308
298
236
288
336
294
266
318
338
291
322
297
298
301
265
308
325
277
270
327
241
321
304
300
342
251
328
366
326
300
279
351
310
378
333
232
357
334
300
221
315
265
382
413
271
355
329
370
291
414
351
292
271
325
317
302
358
355
355
307
303
316
255
363
258
228
286
266
259
258
331
343
293
269
301
329
287
352
314
381
315
280
259
303
284
305
386
347
230
281
331
337
339
405
376
240
325
298
299
363
376
379
231
366
375
327
286
317
367
238
361
293
262
354
272
321
289
326
366
291
349
330
298
320
357
336
298
305
310
221
287
328
252
354
296
260
341
360
244
347
270
269
298
320
300
304
343
306
230
253
258
344
230
346
323
336
314
296
330
277
333
374
326
324
367
288
382
323
301
224
285
339
357
257
328
239
302
307
311
290
306
286
334
353
257
301
262
290
271
271
291
341
273
311
308
272
382
294
348
279
299
324
342
377
227
394
247
367
340
311
328
245
353
271
358
242
273
361
375
358
331
384
284
316
287
335
323
313
297
251
381
296
362
301
304
360
340
366
256
276
292
327
284
293
295
314
340
351
377
316
291
261
365
335
281
262
274
244
374
323
312
273
302
291
337
281
292
326
276
298
342
355
360
301
367
385
270
326
317
335
292
285
317
265
299
306
336
310
326
322
287
391
306
302
262
356
339
329
256
379
301
312
333
333
259
318
343
245
380
269
270
324
289
353
305
373
374
296
301
292
312
312
342
399
319
234
354
285
267
398
295
284
319
396
313
302
380
317
260
323
340
314
316
305
392
286
338
311
309
262
293
364
378
385
300
307
357
319
342
366
262
350
267
295
379
287
249
320
374
374
335
340
287
399
323
357
306
301
279
302
342
283
343
359
278
307
280
314
212
306
406
299
330
346
300
334
265
307
323
247
312
292
251
359
339
331
325
303
360
332
329
229
361
240
384
344
239
325
277
219
315
230
354
356
335
294
227
294
338
302
347
393
356
243
252
272
322
358
333
290
400
255
280
371
351
244
378
303
369
338
316
314
409
301
337
396
281
335
318
266
269
361
311
378
352
235
301
260
244
388
311
347
274
302
333
315
345
293
324
303
334
358
320
280
219
258
230
304
287
327
384
318
311
291
291
326
303
321
315
249
294
339
332
322
332
358
333
330
400
326
297
269
273
343
381
311
431
253
390
297
331
281
391
288
317
350
296
348
367
330
249
228
285
352
288
357
285
274
270
262
294
314
294
355
283
341
311
364
339
351
351
296
311
296
358
339
257
356
274
345
309
238
292
254
288
361
262
351
329
323
326
277
323
306
279
251
328
338
354
296
312
367
293
326
270
304
368
321
287
256
408
276
340
310
411
258
200
352
274
330
390
371
367
381
264
339
334
315
330
367
337
302
236
334
280
360
318
343
290
305
327
328
398
274
375
288
302
275
382
338
259
382
389
340
352
288
307
348
378
360
297
315
291
300
378
264
337
252
335
290
363
316
256
265
348
299
261
271
349
397
327
360
315
353
300
321
275
295
311
315
350
245
321
271
350
243
275
346
252
304
315
282
335
303
300
347
303
334
352
375
264
285
265
408
313
259
324
373
320
353
286
341
328
353
330
280
298
252
322
320
348
353
301
321
303
361
396
276
270
331
310
254
258
402
292
299
309
309
279
236
356
403
230
329
353
254
229
234
284
233
277
336
350
335
369
303
333
368
338
308
384
417
243
299
376
314
314
265
393
301
344
284
341
378
268
415
362
337
325
328
292
327
301
209
295
323
324
355
273
234
284
354
314
345
373
222
291
398
345
294
280
279
333
322
284
313
361
327
235
298
330
321
281
332
318
340
431
359
385
323
321
354
327
347
276
241
414
287
308
343
327
312
300
323
342
319
316
309
329
356
277
347
319
345
273
270
320
389
348
215
291
369
302
295
266
372
285
396
282
318
343
347
410
268
314
264
343
310
289
326
282
251
232
270
253
269
309
387
299
268
265
247
283
426
353
330
343
291
332
315
359
251
289
356
270
296
388
314
339
253
361
318
330
305
252
301
314
358
415
384
259
323
407
388
351
296
344
330
383
284
370
290
275
374
351
325
235
320
344
286
339
317
367
374
202
373
383
238
382
300
320
402
323
224
337
364
250
295
337
396
278
316
362
353
340
298
325
269
307
323
373
336
373
297
386
350
364
261
425
187
352
290
383
323
309
215
269
282
333
329
372
261
293
342
325
255
211
277
269
373
265
312
308
351
303
317
307
305
354
269
247
356
268
395
369
315
282
390
324
260
332
300
367
410
362
286
303
283
300
274
342
275
388
272
351
286
324
369
313
437
312
263
300
304
293
330
307
354
374
285
315
261
273
286
235
292
260
254
362
364
289
296
348
301
387
320
303
357
325
360
290
374
341
272
338
286
272
387
275
367
346
356
360
323
368
252
260
285
270
308
369
337
372
258
291
321
291
245
337
372
363
345
234
293
332
332
312
383
280
340
344
352
332
316
322
282
299
242
311
273
350
314
258
312
419
249
314
280
276
352
300
374
314
272
405
351
325
293
315
277
293
353
329
294
317
352
352
410
350
285
332
339
344
262
310
279
318
354
355
349
332
238
243
283
334
293
398
353
267
338
386
289
373
337
360
281
358
328
281
375
331
307
307
283
331
262
370
326
336
328
301
331
321
330
273
322
270
383
351
346
315
296
343
370
295
274
379
294
313
376
344
282
318
262
337
330
270
369
366
361
256
304
300
381
281
365
371
310
317
371
337
407
394
288
289
308
304
312
279
355
349
349
400
203
282
362
315
312
288
310
347
303
318
313
259
276
282
282
325
321
328
319
391
291
352
249
264
330
230
371
359
326
268
372
331
409
334
308
317
322
310
353
321
260
280
376
289
231
261
359
417
277
341
324
328
290
355
304
298
356
252
344
388
355
280
291
360
331
283
380
289
329
272
348
305
274
359
297
330
271
371
254
389
355
358
329
339
327
312
314
253
381
386
244
258
280
363
225
203
289
207
342
315
265
390
307
280
278
319
321
312
313
284
323
343
325
310
334
318
360
333
352
404
226
304
281
299
332
271
342
294
293
332
254
292
213
324
305
304
333
247
253
268
389
260
313
334
300
270
324
307
316
356
281
325
239
382
269
370
306
239
296
337
363
341
345
381
324
369
334
337
369
341
301
328
356
241
300
308
362
368
294
392
326
260
313
301
337
327
278
240
359
262
381
318
298
323
261
315
386
363
323
353
302
320
299
369
315
222
261
325
311
274
245
215
322
353
319
297
346
324
361
291
338
392
332
353
373
235
253
314
364
324
297
317
314
352
278
294
289
240
350
286
287
339
287
333
278
415
254
286
340
314
307
314
358
355
377
272
304
377
347
291
327
339
315
263
300
291
368
362
362
323
293
350
223
226
243
320
316
319
343
339
343
338
369
325
354
372
324
351
248
309
346
314
294
353
307
336
257
313
348
368
310
277
316
321
316
305
228
274
413
369
284
354
290
382
385
405
253
321
241
274
261
223
268
366
346
291
336
236
348
283
285
281
276
300
342
267
325
332
258
347
331
345
303
362
225
354
301
335
310
280
308
248
320
350
334
279
357
349
321
325
285
266
340
332
323
362
349
363
220
270
398
344
375
252
275
331
318
381
350
325
336
278
401
324
334
330
247
349
296
245
267
330
370
274
298
322
435
358
318
312
347
228
341
358
363
321
345
340
276
302
259
320
340
301
254
362
344
305
327
368
337
296
340
276
351
272
278
315
372
280
218
274
345
269
310
275
369
292
270
310
269
301
334
409
333
268
215
352
307
259
312
360
307
381
271
305
252
294
356
302
363
331
304
318
285
257
299
344
325
283
341
312
227
362
290
320
324
291
319
374
240
309
371
326
250
267
287
384
270
288
280
328
328
336
274
371
300
316
392
347
290
355
331
375
253
276
334
296
297
286
333
369
302
369
358
442
375
293
355
262
211
343
364
299
265
316
350
357
352
335
338
317
365
360
386
224
344
346
309
231
311
325
309
337
232
360
323
348
396
327
287
297
307
203
252
301
401
357
363
394
280
300
282
262
334
282
332
303
300
304
256
267
337
293
295
317
361
317
332
359
280
270
337
343
363
297
206
285
307
327
373
334
291
283
265
304
260
379
347
295
325
246
300
321
403
317
321
322
285
297
277
378
329
341
290
314
273
346
355
377
297
222
376
243
313
264
338
284
378
240
351
289
280
302
257
384
309
292
292
371
280
350
334
300
436
292
261
317
343
394
313
304
269
278
253
319
406
338
217
276
283
371
358
190
249
327
307
428
303
260
362
347
342
221
383
244
237
257
359
251
284
319
257
248
305
283
281
397
368
297
240
234
233
354
380
367
305
278
364
360
367
290
273
386
346
317
338
287
393
346
389
295
263
303
266
309
358
296
190
265
302
392
335
333
238
277
365
301
295
324
282
331
279
289
321
300
312
327
255
339
283
266
354
302
255
377
312
284
297
272
321
386
304
306
348
401
326
316
315
314
341
300
330
287
318
302
279
241
345
345
295
355
300
354
325
325
210
344
392
285
364
311
377
380
334
300
274
333
366
293
325
288
269
271
311
223
243
300
340
336
388
240
250
348
310
307
251
373
276
339
278
353
262
305
331
284
336
296
302
317
364
419
282
364
313
273
322
414
331
322
341
349
317
360
328
338
344
349
315
318
380
334
345
310
335
296
209
420
351
342
348
259
261
318
312
293
388
359
282
387
325
249
355
273
321
328
347
342
345
292
368
395
325
346
340
376
327
281
379
336
345
394
282
308
339
322
210
349
366
288
334
308
365
385
340
326
303
353
300
328
312
371
287
286
364
383
307
285
224
326
325
321
396
399
240
346
350
350
346
290
349
276
210
249
300
302
455
400
385
301
332
335
362
313
299
375
322
338
351
340
295
279
280
375
387
284
393
349
336
248
382
310
199
327
322
337
289
384
333
281
249
264
249
324
233
250
322
346
364
298
232
315
356
326
304
255
233
236
308
289
338
309
275
246
395
359
312
300
374
315
331
298
272
263
280
348
326
287
287
387
318
325
345
342
264
325
353
297
284
401
319
336
276
341
291
306
293
288
393
293
342
351
331
312
321
315
326
367
337
240
311
304
300
343
279
252
342
275
322
304
280
380
356
343
266
379
260
353
386
390
316
305
282
358
303
335
391
268
305
374
346
327
215
298
306
280
319
370
308
284
305
357
317
396
284
274
416
371
307
276
327
324
380
340
291
302
347
326
363
365
402
321
343
370
379
333
248
397
289
390
349
296
249
342
337
245
362
290
254
371
363
276
310
258
353
332
283
264
395
320
308
269
398
304
317
322
393
353
314
306
329
352
335
295
288
369
289
321
364
315
312
326
252
360
309
397
384
272
345
346
344
291
297
205
279
407
298
295
307
376
301
261
289
316
341
327
261
337
270
314
322
290
385
267
307
334
323
384
295
353
345
300
349
203
291
291
391
377
397
349
318
395
352
291
336
329
335
373
364
351
255
288
301
351
387
238
353
294
355
331
263
330
240
337
321
381
369
280
305
290
373
223
340
272
292
279
321
389
238
248
320
354
310
335
412
328
382
260
318
298
349
338
315
349
300
307
358
269
301
276
320
291
307
346
327
333
285
297
329
358
315
332
328
364
292
411
248
332
400
324
322
300
295
371
268
286
344
304
343
221
301
399
241
347
308
224
374
308
332
343
313
376
269
292
356
332
331
317
312
249
286
320
323
260
330
366
304
312
334
345
244
362
320
340
265
247
375
317
328
369
376
253
375
209
387
301
305
255
249
385
231
329
305
343
319
320
323
291
243
306
303
341
321
372
320
266
296
354
386
341
216
304
262
387
361
333
268
309
277
271
360
348
304
329
294
328
342
287
307
319
299
269
230
351
300
340
372
351
262
341
336
382
352
337
310
373
271
249
304
345
286
334
274
289
323
361
318
297
349
257
288
332
329
375
365
334
298
333
341
318
361
316
293
338
363
329
339
301
304
267
270
302
309
304
242
284
318
306
248
350
323
315
266
385
314
273
360
303
309
324
306
357
275
333
329
285
251
239
271
311
315
265
330
329
368
351
408
382
328
258
349
373
329
345
395
307
254
314
358
340
359
324
348
325
292
331
289
389
328
317
394
355
305
342
267
187
278
310
357
382
292
256
281
320
369
229
291
229
340
262
336
340
298
328
282
313
363
320
333
265
260
397
326
389
303
288
281
291
249
309
382
256
375
301
298
303
285
323
368
330
353
376
318
385
267
284
374
321
345
307
287
288
303
297
392
390
310
227
326
333
349
300
178
330
171
270
325
292
315
372
270
362
303
354
325
294
286
314
259
276
298
322
293
366
296
351
376
359
320
252
266
338
311
387
265
312
298
339
320
313
209
284
326
298
390
317
371
311
349
278
312
299
297
220
391
351
312
406
271
297
291
264
340
376
365
322
347
280
339
283
300
306
341
288
324
320
338
281
338
333
291
276
353
247
304
305
270
373
408
316
204
297
318
352
326
315
291
281
381
238
302
338
290
283
288
329
340
379
339
331
307
352
218
349
358
378
311
224
344
367
381
299
336
335
335
336
324
277
316
377
389
328
285
377
242
261
403
247
318
337
285
312
381
357
328
328
336
235
325
284
360
411
361
356
387
352
389
373
356
319
269
324
362
365
395
347
334
375
430
276
361
282
305
315
344
279
365
365
304
301
325
274
274
367
360
396
253
262
385
271
327
353
375
353
269
270
269
256
322
356
275
285
318
364
251
334
295
311
338
278
319
330
310
366
290
308
381
307
285
301
293
345
276
378
365
287
288
332
321
294
294
352
232
345
262
293
313
288
344
289
339
279
341
303
417
238
272
263
309
282
245
345
247
260
298
369
269
337
307
321
373
279
383
318
287
244
335
308
275
307
292
271
304
265
236
320
270
277
305
252
362
299
284
346
313
301
310
350
294
274
311
275
374
261
377
314
258
311
354
268
250
323
250
348
406
325
302
351
310
298
349
265
387
348
297
347
339
338
343
337
339
341
245
256
316
370
267
401
272
386
250
304
321
273
255
289
278
316
336
344
367
311
356
269
277
351
364
359
306
295
269
365
341
395
356
333
311
342
326
300
341
290
369
314
390
381
275
326
308
375
384
345
370
368
395
305
290
370
318
327
302
376
374
325
312
328
326
322
379
286
263
283
329
285
342
348
353
504
282
391
296
364
264
293
277
368
346
271
286
264
321
371
315
285
352
278
342
382
346
325
321
348
349
319
313
259
330
294
325
389
287
346
321
302
334
297
298
272
336
365
379
312
289
372
324
331
272
337
361
367
273
411
316
334
267
324
393
250
349
334
346
323
310
278
299
217
288
269
265
257
312
285
310
365
404
307
314
369
346
320
422
318
314
292
371
317
362
337
357
399
281
351
350
321
228
331
233
339
269
344
331
293
326
361
382
231
294
366
408
295
325
273
276
274
321
376
266
415
372
275
342
294
350
311
264
296
285
292
305
263
299
338
333
316
236
324
424
412
273
246
299
236
296
307
339
289
329
302
239
395
303
312
364
304
327
326
409
243
378
366
349
306
289
331
368
318
296
371
270
296
412
347
328
258
335
352
387
339
272
296
308
375
331
358
317
344
330
230
295
358
332
316
323
337
355
249
343
377
283
325
277
306
342
359
278
255
270
323
306
314
347
317
339
341
288
345
342
339
355
235
262
354
356
209
359
341
292
359
259
263
301
279
331
399
324
301
290
289
210
244
423
351
352
292
365
275
227
386
296
334
272
298
269
381
327
388
349
345
353
198
278
356
212
407
237
288
335
307
347
328
271
326
313
414
332
331
307
368
299
364
403
268
297
265
315
355
379
284
347
309
285
303
282
325
357
381
294
349
321
294
336
337
394
267
352
297
253
285
257
391
352
294
378
360
361
286
330
317
329
317
344
336
349
302
302
352
337
328
333
267
314
314
243
371
256
291
308
325
378
346
359
298
358
393
293
341
350
218
252
264
326
297
326
301
264
353
345
369
382
236
319
306
334
267
379
264
364
352
397
234
343
404
211
286
287
282
345
307
275
304
354
387
291
288
323
300
266
261
413
320
319
363
336
246
371
361
361
277
212
294
188
348
312
364
296
297
349
402
290
300
286
336
307
362
253
312
302
241
244
260
289
283
309
371
328
297
302
275
313
347
345
374
310
279
368
244
243
320
338
259
207
282
275
250
370
417
318
268
249
330
224
363
276
363
325
266
364
342
298
349
259
323
386
293
306
282
361
278
301
407
373
320
348
315
360
298
315
236
365
342
349
319
326
384
323
367
267
330
376
265
249
324
273
331
385
368
367
332
337
304
280
274
334
250
357
353
364
380
318
318
287
389
295
233
288
297
292
302
337
387
390
328
281
331
320
321
328
203
389
257
205
276
282
315
403
384
344
285
394
365
291
321
361
305
302
322
385
324
293
357
307
344
371
305
320
332
271
294
218
333
349
251
377
266
299
334
331
258
318
279
272
285
304
287
257
256
321
339
372
280
391
353
296
336
248
356
257
306
282
324
335
456
291
295
307
227
378
256
253
315
287
395
267
323
348
311
271
326
354
287
366
302
322
277
364
273
358
310
302
323
367
280
273
375
279
265
312
299
406
270
340
378
272
256
350
403
367
293
251
346
357
340
238
289
371
328
268
361
336
267
238
273
261
253
311
342
295
363
352
329
336
345
393
342
272
305
271
240
345
318
346
394
319
258
275
281
350
326
335
267
301
315
356
287
350
327
363
320
311
278
260
298
294
307
297
266
347
357
283
366
347
347
356
370
338
345
272
341
325
424
265
337
324
281
335
339
312
308
341
308
304
383
311
386
338
327
346
317
332
328
242
259
343
310
307
296
326
335
355
300
297
301
294
333
374
285
357
303
291
276
216
369
300
352
332
312
306
354
294
347
265
374
304
255
265
327
324
290
337
330
422
287
370
329
346
335
425
314
374
276
372
255
259
318
324
307
332
321
303
337
376
336
357
290
270
325
336
330
323
315
312
472
266
284
268
255
251
283
323
285
290
352
377
332
313
257
360
350
242
322
314
318
294
369
380
378
297
279
337
322
344
331
345
315
315
344
325
416
249
339
332
368
317
328
281
369
345
294
412
319
255
321
359
314
382
301
292
273
281
258
324
342
336
320
359
265
350
285
341
293
274
329
291
263
353
241
313
273
312
400
229
279
249
301
262
316
275
288
297
295
282
282
394
319
341
293
287
370
381
311
310
318
412
354
275
293
286
326
271
382
305
364
305
301
278
271
238
256
278
234
221
242
333
315
308
266
331
324
341
328
306
304
361
299
349
255
307
368
249
249
282
378
272
383
256
202
298
219
338
300
285
360
297
345
316
304
271
312
261
300
274
318
317
354
289
308
249
269
291
365
405
296
305
367
314
329
312
312
318
299
338
382
311
285
380
359
367
342
244
438
379
226
290
305
339
303
282
301
335
304
306
271
312
321
364
331
255
307
362
326
367
230
240
367
288
289
376
269
313
324
291
367
254
300
314
350
311
362
268
347
335
305
273
307
353
271
341
252
338
399
343
308
356
291
262
396
330
412
264
352
297
322
311
320
369
300
341
297
400
275
283
329
324
341
279
297
340
348
346
323
358
311
262
295
254
327
246
261
358
322
348
290
340
260
331
352
292
396
315
322
301
336
280
345
369
313
350
242
350
299
302
291
266
378
325
318
339
302
321
219
384
329
300
368
261
361
335
211
314
344
307
327
326
293
251
335
316
373
404
341
286
318
328
283
291
304
358
257
271
418
276
335
294
378
317
324
370
326
313
297
273
364
314
255
334
333
354
345
264
315
292
376
270
258
290
382
277
309
308
229
356
321
306
338
358
286
200
366
267
385
321
359
392
292
371
280
293
298
325
270
292
314
338
331
308
357
262
293
319
309
340
342
363
273
368
402
305
287
372
274
289
288
412
299
348
269
340
317
314
369
306
385
265
277
346
372
351
347
390
215
358
265
209
311
368
247
333
320
289
364
326
270
233
314
247
218
402
337
409
221
312
331
284
298
351
378
322
380
267
308
331
377
387
349
336
373
348
328
292
277
360
265
310
295
293
362
341
350
310
329
343
327
293
312
308
343
295
297
313
333
253
320
305
369
276
244
345
279
318
308
310
381
339
250
326
309
405
358
238
298
232
336
258
306
367
312
329
318
238
299
350
252
320
283
350
319
289
359
316
298
300
336
347
376
127
391
360
294
333
287
347
326
377
266
356
307
365
354
347
328
307
256
374
227
324
312
305
379
377
278
356
264
331
299
298
301
397
286
331
389
242
341
310
333
293
295
343
307
228
287
226
346
316
359
328
251
353
299
274
333
403
319
311
269
279
350
280
220
235
277
294
396
267
261
299
404
317
303
324
294
341
341
290
372
352
255
326
380
313
367
314
297
316
386
383
296
280
348
227
368
299
265
271
327
324
287
337
295
366
294
379
328
340
322
332
287
287
394
302
403
319
231
314
325
360
376
267
334
209
304
344
269
360
297
290
300
246
287
253
254
299
326
350
341
282
292
314
333
346
361
268
251
354
316
381
422
297
290
272
318
312
343
384
314
331
356
237
306
356
270
289
391
262
310
284
288
278
308
340
376
360
278
357
342
290
327
353
292
320
345
318
408
365
182
297
378
239
374
318
245
329
294
318
302
274
323
291
342
318
285
333
355
292
322
287
340
301
387
239
345
342
308
294
312
341
282
271
373
364
358
366
294
375
353
310
283
344
327
248
275
275
336
306
364
333
262
327
317
377
328
381
377
364
345
369
300
355
372
389
337
339
311
198
233
353
314
286
397
327
270
302
348
328
291
359
324
324
334
292
346
319
209
315
258
334
352
324
183
363
383
349
381
380
382
379
269
350
278
329
282
176
298
394
290
341
386
288
298
298
310
303
366
320
279
234
294
337
339
313
213
286
269
444
352
307
270
413
328
296
335
280
412
329
303
234
332
323
352
357
265
260
261
424
320
234
368
332
315
233
344
271
303
347
350
291
322
345
287
438
330
295
324
332
409
296
334
361
399
332
271
381
248
321
296
361
341
344
347
213
294
297
364
335
306
265
230
261
344
361
307
247
320
345
311
305
266
373
291
325
291
269
303
353
294
286
251
393
386
244
234
285
317
321
240
314
255
322
291
277
349
304
361
375
258
359
311
301
271
344
364
366
312
305
258
322
310
282
345
329
303
292
295
267
293
309
325
272
349
319
340
357
306
321
259
304
294
301
378
343
287
305
341
378
269
249
291
305
338
306
336
355
304
337
339
296
287
329
208
320
371
315
327
292
296
331
336
354
316
406
352
344
295
292
254
331
367
367
329
357
340
234
209
283
417
305
324
342
275
338
362
296
296
303
348
279
387
339
295
389
277
312
345
270
309
248
336
257
254
296
258
356
303
328
298
297
324
314
304
281
268
261
340
279
284
273
306
319
402
297
326
331
298
342
331
356
243
319
369
360
292
292
274
379
299
348
318
234
298
238
421
275
344
339
266
351
305
389
356
300
287
303
378
327
307
321
358
385
301
298
311
309
293
349
289
285
302
245
307
183
393
323
304
268
326
314
405
270
296
296
269
284
279
319
281
355
306
298
319
304
312
297
298
372
279
345
377
313
324
273
334
367
336
379
293
289
392
361
339
290
354
292
260
348
281
270
299
234
209
372
369
268
386
350
261
360
363
355
307
278
320
318
302
311
324
330
411
302
318
409
265
330
271
352
326
228
374
293
248
330
304
326
323
326
404
289
326
292
385
309
259
359
341
304
252
333
339
382
319
295
287
300
269
311
317
349
394
313
280
398
310
324
335
370
168
349
304
306
314
315
329
312
291
228
244
361
378
350
333
272
366
317
363
373
355
281
362
325
263
333
231
346
297
274
347
271
318
327
349
240
307
338
312
331
331
275
297
348
311
344
391
348
275
349
258
291
299
268
310
303
360
341
326
293
362
305
288
379
359
286
355
316
348
393
319
295
389
265
349
293
387
315
338
326
269
312
357
291
254
237
323
369
259
308
300
294
294
247
387
314
253
303
261
313
359
282
328
378
209
367
283
306
416
325
296
314
316
305
304
309
273
264
287
314
291
351
394
356
288
261
255
357
421
363
401
321
432
337
280
367
340
282
327
347
363
363
315
289
351
259
303
311
390
352
322
334
306
348
246
305
307
302
279
346
330
319
335
316
337
310
277
385
273
341
358
383
315
334
320
200
345
336
302
305
343
343
364
328
328
279
360
269
247
306
227
295
337
296
273
347
289
348
363
342
335
326
373
359
390
335
357
222
293
376
303
331
309
311
258
221
300
275
332
321
311
303
333
394
276
257
308
244
354
268
433
377
315
374
303
314
353
281
286
346
249
348
309
245
245
334
353
345
348
279
327
394
276
342
312
385
365
303
356
299
374
255
343
403
362
350
327
382
311
309
298
302
270
343
322
312
313
304
368
291
255
422
301
306
332
321
302
300
331
316
287
327
400
268
363
252
328
372
323
380
351
351
289
303
278
233
297
274
268
349
321
329
352
309
322
331
372
356
371
347
322
300
221
296
347
334
336
290
362
326
215
239
375
297
276
330
276
299
339
367
364
385
371
346
348
258
229
342
317
296
265
370
315
364
289
311
349
345
331
354
308
305
245
284
399
329
356
365
341
320
297
299
231
299
313
310
428
292
326
223
347
262
320
375
412
290
357
305
369
327
312
360
280
332
292
364
327
292
261
309
282
318
332
311
299
269
307
328
354
344
267
265
372
361
328
261
220
280
288
346
255
379
299
357
260
310
268
356
273
213
297
326
339
359
222
293
336
354
300
337
279
302
341
379
264
280
308
312
371
313
321
300
341
399
325
224
342
351
321
316
293
214
299
254
276
336
349
272
236
371
281
344
297
364
320
421
342
351
330
287
329
317
343
406
302
295
251
386
342
320
315
304
288
270
373
240
288
350
336
285
135
335
360
319
311
324
339
294
336
268
343
401
271
359
396
358
294
423
283
321
308
317
330
272
290
356
288
293
312
342
257
370
330
371
345
359
311
284
335
286
262
293
324
279
369
335
369
331
270
255
377
223
301
315
372
367
279
332
324
323
356
355
345
416
295
262
274
354
276
318
302
298
409
298
363
298
264
296
375
325
302
348
285
271
309
313
305
307
381
308
400
240
328
373
308
329
344
328
272
301
383
298
277
382
233
253
307
255
402
358
338
366
235
335
351
275
264
262
309
330
296
238
313
301
301
293
383
359
379
315
247
329
295
343
340
372
278
240
365
344
333
322
314
263
384
347
313
230
289
334
345
263
390
315
247
322
303
256
314
259
236
312
406
298
313
302
319
361
329
383
318
376
319
343
299
367
362
348
344
305
298
308
313
281
349
322
375
300
307
365
368
358
266
328
331
318
340
369
340
335
278
365
314
280
336
322
283
327
350
268
259
360
315
277
310
354
317
312
341
306
360
363
377
338
289
268
336
343
232
283
359
264
287
279
356
299
370
245
274
269
295
363
384
294
247
367
353
279
369
262
421
343
271
397
319
288
340
347
352
248
365
391
290
333
303
328
332
338
303
329
291
437
298
364
411
364
402
240
365
265
359
333
262
293
313
331
303
247
298
398
287
251
334
303
365
397
287
292
352
374
216
320
345
300
339
286
261
303
292
369
331
242
345
377
331
283
252
333
368
300
326
343
231
333
376
351
322
361
371
333
277
326
296
357
272
361
350
362
307
269
295
280
229
345
303
312
318
243
314
346
352
427
281
274
313
299
222
237
303
299
310
322
278
310
353
296
320
382
288
300
268
299
322
315
264
271
265
383
316
309
337
410
233
328
322
309
338
366
275
359
333
242
361
296
284
360
341
330
347
287
330
268
291
295
311
286
340
216
368
272
359
284
305
262
259
306
286
306
349
310
315
327
250
426
276
295
277
340
378
284
344
268
318
266
296
367
301
292
394
358
359
279
366
271
359
277
352
311
279
335
341
387
331
301
346
316
336
334
286
327
305
310
276
300
366
352
325
326
222
361
300
341
264
377
322
381
364
305
248
317
350
349
334
368
291
322
328
282
344
371
368
355
273
342
336
344
296
299
232
417
314
318
299
361
261
292
241
267
210
371
314
356
280
288
333
325
256
308
273
280
394
256
313
251
342
330
356
391
287
352
351
201
325
260
367
268
320
332
379
241
306
305
309
299
291
357
299
335
302
264
388
335
335
263
316
365
339
272
339
272
282
322
339
294
330
239
331
297
335
393
283
266
289
378
294
374
300
318
309
412
369
208
328
312
355
308
390
266
308
276
342
249
379
243
284
373
311
295
264
294
285
353
380
379
340
287
341
337
400
322
361
251
278
329
266
253
256
387
265
297
409
245
276
374
359
329
246
284
327
284
332
357
339
335
311
285
290
332
272
328
258
368
351
350
289
307
327
283
300
257
335
344
289
254
272
295
363
406
406
305
289
407
345
270
335
367
352
350
303
346
306
328
273
355
289
334
302
409
298
287
226
308
329
361
341
305
323
255
422
335
293
313
249
280
332
358
342
326
287
259
363
256
331
343
273
257
192
314
266
339
241
324
357
283
280
352
334
328
371
269
303
333
350
267
371
341
419
275
268
366
316
259
330
256
384
265
295
327
353
319
382
363
356
345
332
297
340
286
311
310
365
308
266
313
426
307
324
390
320
330
263
244
344
369
310
371
335
335
226
345
271
361
340
343
332
324
263
326
249
297
292
278
354
257
265
327
348
349
217
276
390
342
332
290
364
320
367
301
321
334
337
246
243
355
347
243
330
301
292
287
317
305
360
399
328
272
277
275
308
335
285
338
274
352
350
284
258
294
277
248
350
338
311
270
343
328
298
356
318
248
367
212
327
348
306
297
272
302
256
335
286
368
292
267
272
328
356
327
332
307
351
356
351
358
323
213
390
260
341
403
319
317
278
330
297
276
322
375
362
318
372
277
301
317
284
279
296
308
361
250
270
303
234
329
263
293
292
252
384
360
432
308
385
323
284
264
406
326
309
282
302
308
348
351
226
329
427
378
411
336
296
282
371
293
335
273
297
328
333
293
291
293
319
347
356
325
297
315
277
266
359
272
260
211
217
339
307
270
276
210
291
294
322
356
270
315
272
333
298
315
313
299
287
299
239
390
294
299
287
260
297
316
356
277
334
294
306
298
287
315
251
349
271
296
245
347
323
285
373
326
351
339
331
344
342
280
347
253
298
294
296
350
306
382
333
416
326
310
281
322
276
304
349
273
284
399
284
314
246
261
286
357
344
321
315
306
314
391
311
311
416
386
310
313
258
238
281
296
394
278
304
373
344
303
389
351
349
357
342
386
338
305
327
321
330
276
345
335
299
262
325
277
427
333
333
291
324
256
304
345
349
338
294
308
320
267
257
389
392
313
291
262
209
361
277
292
387
317
311
273
335
372
278
275
390
260
332
313
280
215
286
309
381
297
344
292
324
294
338
343
304
296
264
311
202
325
365
293
396
337
408
284
278
288
362
309
281
290
344
317
349
344
389
345
391
288
345
261
335
263
387
254
323
189
296
279
332
303
332
302
259
303
310
298
305
246
353
329
333
337
291
292
241
321
246
325
327
292
310
224
288
372
298
273
329
379
283
367
306
274
332
367
344
343
286
280
367
219
426
349
225
241
358
386
321
289
295
219
322
321
344
365
257
344
304
341
284
381
363
324
247
365
214
304
222
384
308
330
401
371
331
354
311
373
311
352
367
271
340
355
360
321
319
402
349
274
339
330
248
345
367
361
349
294
336
359
320
322
248
303
340
383
254
292
249
273
357
345
227
295
379
266
280
287
351
256
301
352
293
277
279
323
327
315
344
315
297
320
305
224
341
273
292
319
320
364
401
357
384
300
250
333
322
330
346
346
391
301
382
352
334
300
264
343
338
290
311
356
293
338
377
265
308
346
363
285
264
312
295
345
278
272
253
273
306
362
274
298
309
284
276
414
268
294
215
357
334
301
276
273
299
422
290
330
303
324
277
260
304
385
291
432
237
310
270
425
428
293
371
283
404
363
327
304
388
344
226
398
330
346
258
321
232
326
318
333
250
331
346
268
279
359
397
289
314
357
342
340
402
318
351
344
304
313
352
297
348
288
300
288
289
306
320
320
342
256
214
237
324
347
293
353
256
295
302
365
346
306
243
302
284
315
422
356
268
323
409
346
359
259
284
346
374
342
302
335
271
242
254
372
308
384
305
255
250
186
355
387
359
335
309
290
287
268
298
364
316
333
251
295
411
309
251
349
331
342
357
362
331
340
247
346
271
386
336
279
340
309
331
301
302
356
355
346
401
315
315
355
315
295
315
299
289
370
321
270
323
394
349
295
403
243
278
279
393
342
381
388
277
341
343
346
210
263
231
295
338
371
334
360
287
326
325
211
268
357
367
344
336
379
305
364
311
327
327
351
370
246
211
314
314
390
271
311
341
314
281
375
388
260
342
309
238
273
276
300
309
318
271
304
326
366
268
248
240
363
314
272
322
297
294
257
357
382
353
327
339
325
277
338
350
296
383
299
285
299
264
330
304
324
332
291
333
228
335
270
233
345
243
297
325
275
238
292
231
350
221
292
262
335
354
388
217
374
326
310
233
296
284
334
270
258
331
278
301
340
340
333
353
351
330
339
309
223
362
317
320
288
297
291
317
276
318
307
322
283
271
326
337
222
309
368
298
303
350
281
284
301
352
385
259
329
350
322
315
254
365
306
349
334
333
353
338
342
353
314
392
302
262
297
290
331
326
340
344
331
337
307
333
263
269
254
282
349
362
281
318
335
377
332
323
337
251
264
264
253
364
348
345
306
329
323
274
332
359
237
315
244
292
327
305
302
285
306
186
283
379
344
324
265
373
388
322
280
278
228
378
258
308
289
233
277
227
280
345
375
290
386
296
324
347
268
322
328
264
385
332
418
408
319
367
335
391
365
320
304
364
294
339
230
319
397
364
320
319
256
354
270
240
364
272
240
365
333
279
334
168
310
319
318
372
346
366
325
359
354
379
296
354
369
293
219
273
300
278
259
221
348
331
376
401
306
342
360
348
388
249
326
321
266
219
332
350
315
400
352
334
258
371
264
362
341
271
343
300
261
324
338
209
365
302
344
310
343
239
326
259
348
325
317
300
302
339
367
263
246
256
315
342
383
288
293
346
300
332
320
314
380
321
337
376
404
309
281
296
267
333
348
290
242
338
348
330
369
383
267
358
331
323
358
328
285
331
387
344
365
175
278
286
285
297
320
358
366
357
277
419
375
328
353
249
345
321
299
312
371
363
371
335
318
318
340
313
287
279
322
276
308
254
330
362
257
354
318
298
271
268
333
242
279
310
326
293
317
386
324
308
225
305
338
381
272
295
263
362
229
353
336
301
363
336
346
326
352
265
349
345
271
333
283
318
346
295
266
311
388
345
321
325
314
343
212
281
337
229
382
334
349
330
316
335
277
298
253
319
413
363
356
292
351
359
397
339
328
332
234
276
274
351
295
345
268
291
347
285
256
357
308
291
301
262
365
308
309
395
347
301
299
223
351
305
354
356
379
256
328
346
300
300
325
402
279
217
246
305
333
261
425
350
241
358
315
336
303
324
375
353
245
347
323
273
375
276
347
359
235
204
319
289
324
271
370
296
369
343
379
395
394
340
355
396
321
382
327
359
383
343
325
263
336
370
309
301
221
342
309
286
355
259
226
270
338
415
407
274
323
303
304
320
340
313
383
317
267
309
321
337
312
320
307
234
247
349
300
210
308
277
329
307
268
268
311
444
400
313
254
389
357
285
308
293
272
286
278
230
310
382
219
297
354
306
264
277
263
167
314
237
318
337
351
271
295
335
328
255
332
313
310
300
280
325
309
178
376
366
253
380
215
319
314
396
325
328
371
290
342
267
396
321
395
359
324
312
299
388
347
361
340
325
367
361
275
357
241
336
337
291
341
334
359
314
279
366
309
260
428
311
377
363
331
258
368
325
321
372
377
336
378
302
248
385
354
286
292
347
349
346
295
347
341
276
352
275
296
330
228
263
291
362
340
335
298
356
380
344
320
295
408
336
330
277
248
256
264
316
399
316
343
308
381
300
255
287
292
361
327
285
258
292
266
224
216
312
259
346
314
279
290
337
266
295
377
347
307
312
309
346
280
367
402
318
334
390
335
342
269
374
338
392
337
295
316
324
329
367
401
266
264
304
299
314
365
253
371
297
364
325
316
371
324
240
257
347
292
352
332
306
315
336
255
392
343
321
334
219
369
342
369
284
294
312
309
334
268
357
339
348
314
353
196
327
350
343
369
343
262
396
343
383
299
346
326
285
354
319
279
246
275
305
281
421
365
252
320
288
383
339
348
290
321
333
285
437
282
389
281
332
328
365
389
355
332
352
251
321
359
246
322
371
406
336
312
250
265
341
290
351
330
382
358
274
281
354
236
332
352
393
324
359
334
280
355
357
258
345
304
300
337
351
308
331
253
204
279
337
254
342
336
243
368
265
228
352
331
320
385
300
230
320
326
231
337
321
324
303
217
348
339
340
315
303
354
357
350
352
305
333
340
330
329
352
399
257
274
295
332
342
237
335
331
228
424
322
294
353
288
294
263
335
335
324
360
346
318
374
277
330
317
296
319
240
390
370
333
349
318
341
251
271
339
367
252
363
301
352
316
350
345
271
349
273
338
217
330
292
377
321
283
325
323
300
205
333
371
346
279
336
240
310
310
336
364
378
178
281
346
266
315
305
286
251
313
314
370
365
301
364
301
306
306
325
370
272
356
328
289
229
346
313
261
318
289
341
329
310
348
356
350
330
291
311
298
396
369
317
320
329
382
380
336
355
307
319
292
288
360
340
348
316
333
303
367
320
255
371
389
251
313
300
326
335
348
350
313
262
244
325
210
304
324
340
352
368
345
317
297
265
320
399
253
256
313
277
304
372
263
327
296
380
347
307
383
283
294
287
277
320
291
303
288
311
354
354
357
226
338
393
407
283
359
268
360
362
309
347
378
321
269
306
355
293
310
307
292
349
332
325
370
243
384
356
289
405
330
318
364
350
341
362
309
323
300
340
282
326
316
376
344
337
330
336
304
357
353
347
292
298
275
285
320
325
317
387
319
293
353
356
240
292
314
307
322
396
316
383
341
296
357
215
328
342
353
356
357
314
190
336
365
270
361
302
276
271
348
274
275
389
378
327
275
316
336
358
312
343
354
256
339
270
363
307
301
321
266
385
335
210
321
270
283
324
350
376
330
327
301
344
231
370
277
302
296
271
335
379
306
289
324
323
326
339
308
407
242
346
313
340
304
282
351
345
362
372
222
365
412
295
313
298
283
368
310
306
299
312
390
338
300
320
328
316
284
309
325
385
324
272
310
378
293
287
299
278
370
312
333
347
301
350
364
314
368
285
333
364
282
353
341
236
257
382
317
232
383
336
324
322
331
346
291
390
384
401
294
314
276
367
360
325
285
330
359
314
278
323
358
309
270
348
306
313
298
321
331
240
343
308
313
308
303
311
150
248
320
220
316
346
298
352
301
357
318
333
339
193
371
322
327
356
280
329
219
338
309
330
222
360
306
253
346
295
343
295
370
340
296
252
272
328
331
294
270
311
293
300
287
224
367
354
334
359
334
256
350
278
342
371
332
295
349
295
318
297
237
348
377
355
363
340
307
321
309
283
319
294
311
434
337
374
261
327
424
336
319
354
305
285
314
306
277
344
279
318
281
291
290
350
344
332
325
281
268
317
252
236
362
217
280
415
300
304
307
333
303
268
337
335
334
387
319
295
354
272
245
357
263
314
359
298
313
365
317
359
317
322
325
273
352
342
381
290
294
317
310
250
320
221
357
335
318
304
275
274
355
316
311
295
378
336
325
350
355
293
310
339
237
305
223
308
217
218
343
355
278
265
272
322
270
326
362
222
392
342
334
288
291
375
299
320
255
309
308
370
367
303
303
317
286
251
289
282
314
341
285
328
381
349
301
342
283
213
352
324
244
335
306
306
317
337
338
375
301
314
306
339
251
304
303
307
302
446
405
396
316
269
283
307
346
388
278
312
373
294
287
360
342
327
243
259
274
294
349
275
307
353
312
326
385
295
282
319
285
323
296
344
338
327
310
332
313
338
188
283
359
285
286
274
412
239
334
373
282
287
355
351
306
274
318
337
313
305
318
278
380
288
352
273
271
298
261
322
246
329
295
368
322
345
429
288
396
330
371
346
283
324
374
355
316
242
372
297
334
279
291
387
351
409
325
327
288
324
260
294
328
293
378
289
352
332
327
335
363
278
281
242
335
297
349
292
386
342
290
371
341
340
300
271
333
324
332
298
271
322
301
255
294
288
366
322
339
338
347
259
307
238
216
270
395
322
375
233
281
358
295
348
269
294
263
328
366
317
380
315
255
317
344
347
322
256
363
374
348
307
322
370
366
317
294
329
308
368
388
279
328
290
259
315
393
288
322
351
327
371
306
323
320
313
336
333
326
292
251
365
267
408
311
289
347
350
270
223
335
261
344
308
373
351
257
314
310
316
326
253
295
313
274
286
310
345
289
244
333
279
313
305
356
310
323
330
385
324
282
318
297
275
294
372
292
230
379
337
292
283
347
343
365
262
290
330
355
387
282
283
280
326
352
363
342
357
351
281
384
311
285
259
388
365
281
262
311
319
302
318
331
338
257
322
243
400
321
375
309
300
282
303
323
311
242
371
392
390
402
348
305
382
238
335
323
315
305
312
304
330
345
286
237
282
375
332
383
306
360
393
403
286
327
314
324
350
309
318
311
352
276
379
282
291
403
408
294
409
351
336
249
356
350
368
341
308
284
276
338
262
349
388
287
330
348
305
331
403
328
403
337
300
244
353
325
377
350
375
312
314
282
366
330
325
359
363
382
295
209
358
234
373
395
343
400
298
289
302
325
352
320
296
357
296
335
306
322
258
325
272
352
346
318
391
251
312
329
359
371
311
374
321
292
313
274
299
331
348
328
299
363
367
263
327
366
322
332
369
289
344
362
269
223
319
287
358
276
329
291
320
308
314
265
333
346
282
320
306
270
370
279
386
258
365
415
327
353
344
241
360
340
301
299
381
364
343
247
381
351
327
381
334
289
197
322
260
324
313
331
287
341
240
311
315
213
332
274
389
394
336
266
349
269
313
327
297
247
316
340
247
346
243
362
298
346
342
373
324
308
342
307
265
331
249
282
294
347
325
386
399
388
309
201
381
310
320
298
366
290
368
224
285
191
317
320
353
342
386
309
282
313
385
392
336
366
338
242
250
221
318
394
211
284
203
298
356
362
375
340
386
319
342
352
295
338
293
277
323
274
313
374
357
283
326
265
304
376
335
290
297
328
332
386
353
299
274
272
337
289
406
349
330
351
310
295
324
257
295
239
329
288
319
423
322
296
351
348
246
295
366
300
338
324
331
284
357
377
337
304
346
321
378
279
294
292
322
269
349
311
320
392
290
304
309
340
329
315
285
441
346
337
429
285
263
291
332
368
293
296
296
318
371
368
279
290
284
373
298
310
338
263
315
338
270
257
314
344
405
258
296
296
355
347
398
249
333
282
301
393
323
346
328
390
375
374
290
407
372
288
307
253
345
382
271
315
355
337
230
370
253
320
319
382
338
353
328
356
376
285
310
291
262
359
367
345
225
465
380
283
296
305
367
369
280
342
321
310
325
319
399
337
353
296
288
320
262
231
264
256
367
262
296
360
294
364
370
381
270
191
257
344
379
320
271
399
310
291
385
338
272
409
339
370
352
325
362
292
302
359
301
245
314
319
346
278
355
247
344
221
344
293
323
338
322
348
381
332
329
401
387
259
300
331
385
297
290
278
360
249
344
328
428
331
343
265
335
365
315
341
289
346
328
354
359
323
267
327
265
297
334
338
342
336
356
307
338
284
343
218
316
249
405
296
295
294
275
327
358
265
253
311
252
306
299
385
362
370
406
276
342
389
281
359
245
323
245
255
365
253
329
251
337
372
384
244
390
365
308
285
308
373
249
383
340
264
364
296
329
330
335
352
318
309
342
364
299
422
347
283
316
317
288
355
418
320
365
368
280
404
352
290
268
325
239
262
336
359
344
329
356
325
230
245
309
321
263
290
299
417
399
356
282
271
254
304
283
277
413
320
246
333
300
286
296
338
285
346
284
285
356
347
199
316
315
321
327
392
302
340
371
370
323
279
360
300
284
265
377
364
364
319
353
321
377
283
332
300
339
328
365
315
193
311
350
301
286
369
301
373
369
337
419
256
312
328
256
346
390
289
330
342
272
338
326
321
317
356
303
302
328
345
355
342
377
304
278
297
260
346
298
271
304
322
301
221
314
289
297
318
386
303
243
284
284
293
346
347
275
309
267
347
275
347
417
354
353
334
398
283
276
265
257
376
337
308
398
321
406
312
293
391
302
270
351
341
327
384
403
323
365
264
380
360
309
252
326
297
383
317
339
321
286
305
276
308
307
276
355
322
329
366
239
375
348
203
388
342
309
290
230
296
305
336
361
265
292
318
296
318
336
276
264
419
374
346
257
293
363
356
355
274
256
331
258
275
341
314
300
284
275
364
345
383
330
376
379
317
337
390
304
334
306
332
275
240
354
304
284
367
336
296
362
379
330
326
291
354
269
283
250
265
330
302
304
349
302
357
261
338
350
288
313
356
292
280
328
292
352
341
255
349
313
281
317
318
287
317
326
214
301
373
310
308
371
343
264
332
353
304
319
377
253
309
319
327
347
275
227
423
277
298
293
348
352
286
429
283
319
310
295
329
320
356
261
352
276
371
322
271
348
321
244
333
270
343
342
289
375
319
270
359
332
274
335
202
371
352
275
371
264
329
378
299
326
320
278
325
437
284
312
218
297
348
333
414
277
348
306
416
335
268
262
288
292
320
267
274
357
321
354
354
307
300
291
374
297
359
272
363
381
401
372
282
313
428
327
290
290
309
334
355
372
355
323
305
318
292
313
347
198
224
336
324
407
270
261
357
342
327
247
244
364
337
326
346
317
351
234
273
387
319
389
308
382
283
394
304
296
404
351
226
331
307
315
383
366
329
355
275
348
293
282
367
300
346
359
449
302
229
376
387
303
276
364
297
391
317
246
358
309
274
333
266
320
331
270
313
406
306
296
281
348
394
384
342
241
334
296
393
392
300
401
214
244
311
371
253
307
337
391
397
322
341
290
260
332
315
291
293
291
367
267
220
329
222
266
355
333
220
343
328
262
310
328
317
335
355
287
344
314
179
329
355
314
359
437
295
359
391
354
312
366
394
353
308
306
397
254
345
244
352
301
342
355
303
349
249
297
332
294
305
337
305
370
314
266
234
363
244
228
328
363
334
254
300
314
377
341
338
319
314
346
351
359
352
346
269
328
343
262
290
321
191
288
354
267
364
399
371
339
352
395
309
285
309
294
318
351
327
293
349
304
319
244
332
337
386
382
343
334
290
289
263
328
313
320
245
310
372
320
313
333
307
370
302
343
290
327
424
310
275
330
349
314
381
316
279
363
303
326
316
230
270
392
346
319
362
259
379
339
407
269
298
349
325
248
261
293
418
261
368
293
371
300
240
304
339
293
315
334
301
265
356
388
321
295
293
320
298
303
321
300
284
260
326
335
392
308
360
384
378
288
377
308
384
249
294
318
329
264
349
315
301
324
346
232
367
303
323
225
334
296
295
326
325
276
345
317
288
284
345
395
341
283
353
325
291
308
263
264
307
326
341
284
250
406
307
308
334
200
278
331
317
291
325
323
310
302
332
282
299
282
343
254
372
367
322
413
245
305
347
257
377
366
309
323
320
344
360
281
267
318
313
243
333
299
341
349
293
356
352
352
373
325
287
292
266
354
203
372
268
333
202
229
374
380
342
210
266
305
241
273
337
366
270
287
359
283
342
310
349
236
344
317
370
302
361
324
250
279
359
296
337
215
263
327
383
244
378
308
298
269
376
349
290
291
277
347
331
356
320
259
332
372
317
337
354
333
288
299
322
339
360
316
275
229
306
294
300
358
329
331
280
256
218
264
344
333
334
297
404
313
301
326
288
323
327
324
254
327
341
304
344
303
351
324
299
284
296
316
349
350
378
291
256
315
357
347
267
315
236
360
234
321
278
336
292
335
377
337
282
369
371
342
325
271
354
298
290
297
249
345
310
365
242
301
318
381
392
320
398
295
346
279
310
306
275
334
405
350
250
313
336
367
299
308
285
282
312
346
398
375
384
287
297
387
343
285
265
343
323
349
321
238
353
264
361
251
357
308
247
335
346
346
279
302
313
315
268
320
305
351
285
321
280
290
378
384
270
331
412
337
274
296
322
297
213
364
340
360
313
341
248
363
303
252
372
256
277
211
264
347
341
308
286
454
372
339
273
392
350
266
312
296
288
282
292
276
288
337
296
305
346
334
303
281
250
365
332
345
359
431
347
316
272
368
347
313
352
300
377
298
386
282
327
275
368
333
258
354
274
346
364
308
349
289
344
317
361
354
319
305
334
355
345
322
291
446
324
287
338
295
257
262
313
359
281
356
304
235
273
291
394
353
382
380
284
318
371
329
261
420
334
260
345
335
264
317
378
342
380
267
273
364
375
298
303
344
346
315
291
273
315
320
307
353
396
348
267
306
343
188
334
336
292
329
305
375
285
375
291
343
354
385
251
360
336
337
307
375
317
263
300
305
303
366
381
347
290
340
281
327
299
294
311
330
348
365
327
277
366
214
328
342
327
306
401
339
235
302
304
300
347
305
252
293
335
333
364
346
270
324
283
365
420
344
305
330
416
365
263
315
216
350
336
247
368
310
342
287
307
293
290
313
382
389
321
292
281
312
301
276
297
362
280
317
347
337
338
274
306
325
275
308
368
307
328
299
336
329
255
213
335
319
353
338
324
268
254
272
373
389
393
310
287
194
334
281
220
361
264
318
309
302
383
354
256
244
296
292
251
328
309
245
339
305
321
333
282
280
391
322
301
323
300
338
282
253
253
282
245
275
277
341
373
363
318
275
357
340
339
338
322
309
283
348
372
227
330
219
344
306
390
272
383
328
282
321
408
299
234
354
266
339
338
253
281
347
289
255
331
294
368
323
363
313
245
310
380
307
324
398
338
253
352
246
306
313
336
285
417
291
284
411
339
420
350
286
197
355
333
342
265
324
288
327
237
298
383
328
299
314
290
379
343
320
277
256
262
327
232
288
318
314
331
319
364
294
369
321
315
246
365
322
245
337
280
343
320
319
246
275
386
332
347
320
356
396
260
302
205
360
316
364
327
339
369
335
359
279
301
335
243
308
327
367
321
347
266
345
235
340
300
231
310
309
255
330
307
337
301
314
268
277
361
327
253
337
314
322
249
310
395
313
432
286
292
271
287
260
292
285
342
297
341
390
324
318
299
315
225
365
366
296
323
330
290
276
329
327
371
362
255
272
329
356
293
364
324
283
311
286
245
375
308
255
260
336
343
310
285
355
353
329
313
230
357
366
291
389
352
266
372
303
312
305
323
288
267
306
412
392
356
312
339
270
275
191
311
288
397
239
348
262
378
319
283
273
317
291
278
279
350
345
332
420
270
365
356
301
392
344
338
377
335
370
279
412
342
358
338
336
339
289
321
376
377
288
296
373
293
309
307
391
339
372
387
221
369
270
408
245
336
340
233
279
248
316
350
259
308
224
291
351
349
300
341
367
273
333
353
272
307
241
371
305
322
426
281
310
239
333
299
269
295
326
317
302
301
330
368
355
368
316
328
334
294
301
342
311
305
351
358
323
283
335
297
336
319
280
266
331
331
299
346
281
253
379
348
345
325
367
385
344
286
366
252
355
307
264
289
341
317
301
312
330
348
310
287
356
360
317
282
326
302
355
349
303
257
323
396
302
314
358
281
303
396
347
395
333
381
364
336
371
281
381
285
293
316
314
289
292
292
301
398
326
405
245
291
364
382
270
274
363
322
303
253
267
354
312
331
414
239
348
372
307
332
354
298
277
318
276
290
342
324
300
238
294
318
342
267
323
319
311
322
398
283
245
346
287
357
315
348
340
333
313
338
288
345
280
353
332
300
247
416
386
278
302
358
390
278
328
376
385
290
317
287
333
305
337
310
323
409
315
284
391
350
308
249
335
360
267
290
365
335
306
390
307
322
353
314
291
281
351
342
351
241
387
369
274
204
342
338
295
281
285
267
331
255
271
286
307
358
264
293
344
314
300
298
270
281
258
312
228
323
295
285
246
222
324
315
265
248
289
371
296
307
306
313
303
261
214
337
294
288
335
324
379
286
331
321
252
387
321
367
205
300
279
309
315
347
293
327
317
316
310
302
355
341
295
348
406
344
318
299
357
276
327
248
312
288
370
328
292
354
273
272
245
350
304
227
309
375
293
319
324
316
323
294
311
298
316
296
370
268
312
329
283
248
306
312
355
412
268
356
283
424
329
385
311
324
314
356
292
351
317
326
272
354
394
241
351
274
379
362
293
335
288
300
395
242
232
364
301
312
303
336
328
321
303
365
330
309
411
287
326
300
193
329
387
342
283
341
277
335
311
315
243
372
340
290
339
338
266
336
344
247
312
233
296
295
271
318
353
237
237
262
330
292
336
332
295
332
365
229
289
285
261
334
206
277
343
283
234
282
301
289
312
367
368
304
307
268
318
334
321
330
361
345
318
245
414
395
283
315
295
270
304
246
217
318
293
305
360
352
382
344
350
301
337
312
268
351
328
341
306
294
333
374
246
286
349
366
339
385
279
365
311
366
335
294
338
285
322
220
282
284
362
316
316
352
346
331
334
372
313
297
353
371
319
305
380
306
275
297
337
297
296
337
287
282
400
283
311
409
396
294
299
230
330
261
361
302
358
375
354
353
289
424
346
397
347
224
363
304
253
392
341
299
272
305
290
304
317
409
323
272
388
335
394
296
321
280
219
336
341
257
302
234
274
310
294
244
361
330
335
302
393
357
285
254
323
301
369
342
329
326
368
331
347
319
378
315
326
345
395
331
306
388
400
315
361
357
295
267
369
377
297
297
343
266
388
337
301
341
320
285
342
326
268
328
305
352
333
264
331
342
327
364
319
355
326
298
274
326
360
237
364
337
317
337
319
322
268
306
345
287
315
283
376
299
278
389
312
298
345
328
248
375
395
379
318
353
393
323
358
371
315
280
362
409
283
292
318
330
340
361
365
216
357
307
258
266
343
308
365
371
253
270
322
239
295
373
242
363
328
278
298
290
319
326
445
294
350
308
254
287
241
336
304
217
291
245
260
358
357
348
359
366
377
317
326
326
372
316
300
344
312
282
285
268
285
232
322
349
344
362
328
257
438
235
364
392
316
304
281
358
353
335
349
320
270
309
273
317
440
389
340
368
324
398
289
305
318
266
360
353
346
368
292
349
267
314
306
397
267
324
327
282
334
315
336
324
336
345
367
333
232
339
286
309
355
297
316
323
294
318
338
302
274
306
341
359
316
242
307
284
257
258
390
307
252
337
354
367
265
388
225
321
364
315
319
270
381
300
312
359
346
376
302
326
353
338
282
332
308
337
328
295
203
356
329
372
255
327
393
260
279
348
375
329
279
248
273
279
383
326
353
283
338
342
313
293
373
312
263
363
336
261
283
276
367
349
336
286
319
240
334
355
226
271
286
384
294
368
307
365
278
363
415
333
328
297
388
418
308
284
245
253
282
202
271
317
287
297
357
327
275
332
332
376
283
272
413
347
297
324
313
266
385
277
306
347
362
380
355
309
335
284
363
334
310
285
320
397
265
325
305
311
214
319
256
282
235
324
370
337
277
400
294
367
302
298
388
305
319
288
352
324
306
305
304
286
287
337
287
373
345
354
359
260
248
318
267
333
284
240
274
298
279
329
317
322
346
427
326
367
279
355
352
318
222
266
280
251
341
343
343
344
293
248
389
268
309
421
322
288
295
236
272
286
311
305
319
364
319
360
368
227
237
312
358
319
387
298
252
349
378
309
316
346
349
269
354
287
376
406
297
327
209
282
346
339
332
305
343
322
373
377
317
271
288
210
313
283
310
329
283
301
306
277
315
369
270
286
242
308
342
267
362
360
308
323
288
358
297
353
294
297
335
278
266
383
344
389
313
254
302
294
350
292
289
358
336
340
265
245
340
234
339
376
401
317
273
334
293
262
363
286
330
320
347
329
340
308
253
385
282
330
302
292
324
344
281
345
286
242
327
269
220
205
338
318
341
288
329
324
330
352
355
327
309
291
355
418
390
282
356
367
297
272
373
275
374
386
312
305
314
351
375
364
331
349
228
354
305
328
345
293
310
379
335
338
341
374
385
290
379
346
284
357
306
414
438
387
317
304
319
320
364
270
315
417
287
405
211
319
240
311
340
376
357
320
352
219
313
252
320
306
286
345
393
374
299
327
330
394
341
291
317
383
288
354
242
353
335
260
270
312
292
344
293
240
296
406
273
359
412
354
390
331
211
391
304
327
323
307
345
268
316
313
321
359
388
313
273
315
257
319
361
300
300
344
393
317
324
362
345
297
376
352
423
321
390
331
339
286
323
332
303
337
280
287
326
403
348
336
364
328
247
373
309
252
338
293
365
311
318
332
230
323
293
263
369
232
339
268
332
363
371
328
362
330
376
307
349
363
311
328
255
352
341
357
325
345
360
390
358
334
321
224
322
269
403
313
264
295
363
363
259
352
383
345
401
320
298
370
242
259
389
281
288
414
361
302
341
314
279
320
372
263
367
352
279
343
276
284
282
357
310
276
347
331
344
355
347
352
306
346
327
381
307
253
344
369
255
300
290
298
373
397
307
315
310
367
312
346
399
378
331
290
311
343
303
335
351
325
334
274
400
337
347
360
329
432
331
232
329
318
319
374
286
325
324
419
281
333
336
310
338
244
390
292
345
293
394
340
350
344
250
301
250
318
293
351
310
273
429
344
276
381
285
340
338
328
323
348
322
325
367
316
339
256
383
326
376
243
355
378
393
338
391
259
333
409
213
283
276
314
338
235
250
296
344
377
327
251
316
324
358
246
342
350
266
268
375
263
324
419
236
380
314
422
410
319
352
337
316
335
431
299
346
364
291
257
345
353
322
322
310
389
316
288
262
246
351
353
262
315
295
288
292
347
234
288
302
282
243
288
355
345
285
416
293
267
289
343
262
305
349
304
327
325
316
242
237
335
307
230
334
404
361
277
410
336
353
302
346
260
237
316
332
291
276
305
325
304
372
294
251
343
346
241
311
318
381
276
320
327
310
303
313
341
418
327
305
359
277
386
304
353
335
250
328
305
338
331
314
307
339
341
368
338
357
340
413
348
362
310
285
346
317
299
360
294
323
259
326
340
346
296
301
304
285
315
341
273
353
266
313
351
311
422
278
304
375
277
400
381
316
294
320
295
368
358
410
299
384
309
356
293
246
413
288
341
360
333
275
290
353
365
331
387
262
299
300
289
262
290
344
390
289
280
285
278
347
329
245
344
235
339
382
300
314
232
342
371
331
291
336
309
327
356
257
281
352
259
306
330
315
258
345
269
319
288
287
342
282
291
341
296
325
276
344
279
278
309
323
377
215
327
288
299
252
297
374
240
322
345
295
316
357
316
364
330
335
359
342
337
329
373
302
294
371
353
284
366
318
285
356
422
228
219
174
278
305
322
295
384
354
401
337
391
327
295
356
349
288
291
310
406
343
390
412
298
361
284
304
368
313
301
320
337
327
388
366
350
368
289
283
330
319
352
303
301
299
303
285
351
364
294
284
333
349
384
388
296
307
341
284
375
322
286
352
330
314
311
354
348
255
320
317
355
333
240
321
260
307
306
369
301
273
369
250
334
373
323
332
337
317
313
251
304
328
313
325
284
346
450
291
322
349
247
266
321
395
395
289
244
330
285
278
353
329
344
347
345
359
275
399
353
356
196
407
327
288
341
373
326
269
388
303
277
357
296
402
396
315
328
349
308
219
328
338
289
330
318
261
379
301
355
377
372
337
317
281
248
273
259
291
329
261
263
305
332
365
304
365
398
331
396
316
354
315
275
287
255
328
257
272
386
334
288
286
379
319
366
352
289
290
344
325
355
278
278
362
295
266
357
289
312
414
342
388
377
287
313
303
306
261
249
369
302
245
329
275
343
375
307
255
334
380
319
349
332
341
256
338
376
308
277
337
265
314
367
381
303
359
241
340
363
236
268
322
279
380
297
341
289
272
330
248
265
229
364
262
347
280
310
307
336
300
344
325
303
300
292
318
325
278
277
384
303
429
373
377
285
324
316
275
277
410
267
331
356
392
339
410
301
355
261
291
364
321
314
328
318
382
330
312
332
224
345
320
368
335
344
218
396
243
401
254
322
320
332
329
338
328
358
389
264
268
330
249
302
268
332
374
269
301
254
304
302
280
324
334
375
360
309
292
264
325
298
366
333
370
302
294
279
353
387
379
336
309
302
334
319
302
277
333
228
223
241
343
402
330
306
268
345
331
309
339
370
347
377
343
300
357
324
269
316
336
353
306
353
304
308
425
366
272
331
319
333
344
296
268
229
347
307
360
293
289
351
339
333
326
269
333
314
326
317
358
313
289
338
248
255
282
293
330
312
401
265
413
296
345
353
349
322
249
394
380
335
300
330
311
292
314
302
281
379
376
388
280
410
274
361
361
324
233
238
229
377
372
302
268
272
337
341
334
310
309
231
453
345
425
362
311
352
307
347
255
241
320
238
347
268
375
295
263
341
289
266
251
256
343
340
270
270
298
351
335
253
352
339
266
331
279
387
360
258
279
300
311
344
300
296
334
303
339
374
310
292
270
301
276
249
277
315
263
277
281
254
281
327
325
331
334
305
347
369
185
342
339
353
227
351
358
391
415
322
312
362
283
342
307
341
363
334
316
242
275
292
318
328
314
364
279
330
332
272
303
299
329
338
303
341
310
276
288
284
367
312
244
385
336
309
304
304
406
245
344
351
248
270
318
303
350
290
247
314
432
303
401
376
344
316
359
362
365
254
279
340
353
312
340
347
272
317
292
300
281
293
367
259
280
328
207
335
279
412
306
353
361
261
251
287
384
288
322
340
285
376
410
349
356
348
255
320
336
387
343
327
280
317
287
393
415
296
279
370
344
305
345
280
313
307
291
390
266
369
327
195
309
363
253
206
256
360
327
395
337
299
249
237
319
316
286
323
345
325
218
407
365
314
298
335
254
319
322
293
407
339
354
331
230
290
301
368
305
449
263
303
362
386
246
365
347
248
385
389
333
368
366
351
287
351
383
281
320
345
308
355
198
260
309
332
366
269
253
305
338
361
336
261
344
407
275
368
224
340
316
399
321
361
284
403
338
285
330
327
348
302
341
251
327
271
301
296
340
341
265
357
347
291
313
385
246
388
307
367
338
357
322
268
369
253
301
287
302
380
333
327
223
331
290
220
318
304
349
284
330
336
330
362
233
367
300
302
392
353
272
339
245
305
258
269
266
249
310
253
285
321
277
383
326
447
334
259
276
338
290
313
293
299
279
306
328
287
262
328
289
290
337
293
243
323
335
376
340
330
286
254
175
222
313
247
345
254
326
320
312
287
280
338
313
338
353
380
303
263
319
318
309
340
243
398
367
323
243
364
293
367
362
329
323
327
350
343
304
334
240
366
271
381
348
347
289
326
380
297
299
321
268
341
324
282
335
396
355
337
335
285
359
364
367
417
364
331
332
348
283
344
385
374
313
407
328
355
298
311
301
257
352
306
298
340
332
380
269
315
288
332
288
342
399
279
422
297
350
312
316
274
265
254
342
334
306
268
373
287
299
245
354
289
339
335
343
274
335
350
284
307
267
310
391
307
291
352
356
364
293
274
313
331
260
274
290
301
353
234
363
288
325
408
314
335
244
315
387
377
324
273
272
332
264
396
270
294
289
276
340
324
357
413
408
322
330
368
374
295
332
345
354
341
336
243
272
278
211
179
291
266
304
371
379
326
359
274
326
294
333
341
267
316
310
370
317
347
272
292
249
384
361
281
256
262
283
315
323
405
303
287
297
319
336
365
319
332
366
276
246
373
297
305
365
314
297
267
303
374
235
336
240
271
337
352
386
380
343
329
289
367
357
298
324
307
297
366
291
276
240
327
328
313
291
344
279
305
353
253
251
258
270
257
324
264
297
349
372
272
346
373
328
265
255
319
292
328
402
360
349
398
359
289
273
318
247
287
342
352
302
403
297
345
333
384
369
300
265
288
303
424
286
318
266
274
330
386
310
425
304
325
314
311
273
287
334
370
269
366
321
323
323
336
323
325
305
311
329
276
286
395
326
424
347
349
334
282
315
252
355
300
257
349
224
376
266
307
385
319
302
384
333
278
342
359
297
349
350
356
305
289
292
263
266
242
336
381
266
294
391
392
266
292
396
284
310
254
329
380
337
435
312
331
311
339
330
326
242
399
350
314
325
283
356
342
297
394
310
319
307
304
305
297
348
243
333
391
291
384
384
257
335
359
413
352
346
311
346
393
278
310
346
364
289
369
346
470
252
382
293
349
395
329
327
372
283
223
352
251
354
269
254
367
378
364
350
269
339
327
312
328
320
405
330
290
218
319
264
297
290
348
369
343
324
305
312
257
340
389
345
395
386
278
314
345
302
235
345
375
305
346
289
229
289
347
216
324
375
288
370
309
348
223
336
316
312
291
372
264
362
323
305
272
324
398
333
325
307
236
341
339
220
293
206
363
352
284
387
412
340
344
280
257
362
300
379
190
368
361
306
284
320
286
383
232
279
272
324
244
280
385
308
334
368
302
369
387
362
232
315
292
335
289
375
369
270
355
319
311
296
417
275
432
388
276
293
291
335
370
331
301
363
306
363
265
390
280
266
269
304
302
315
348
357
306
363
339
353
308
251
349
318
296
329
333
262
349
256
323
329
298
356
320
342
318
244
370
372
190
275
291
349
270
286
357
314
319
315
282
371
287
289
384
336
226
362
304
261
299
371
236
267
256
356
367
288
328
376
382
294
318
285
282
381
338
301
342
334
338
267
413
348
225
339
324
369
375
334
282
284
349
325
275
282
276
359
265
213
291
323
312
284
315
360
264
319
283
342
210
262
310
311
277
290
298
337
386
341
332
369
286
355
362
352
318
344
350
364
392
402
360
293
308
384
286
348
321
276
347
369
319
255
320
400
302
400
411
379
273
313
331
369
301
282
228
392
346
346
290
276
251
230
317
397
285
270
275
294
304
277
392
348
259
287
258
367
386
274
276
342
249
303
337
331
312
382
248
238
389
359
283
328
337
309
288
260
251
316
267
273
286
229
407
267
257
283
328
294
297
326
251
239
333
351
302
332
327
216
314
305
335
437
307
228
287
413
229
328
316
327
315
372
280
302
267
250
285
276
360
303
360
342
264
313
360
355
328
385
391
381
352
271
383
274
337
290
331
322
355
369
361
299
351
354
294
298
277
295
286
331
314
340
321
301
293
251
332
246
245
290
370
307
287
300
324
276
199
314
303
251
206
347
353
327
289
338
248
225
254
349
364
321
361
339
392
298
396
334
233
368
293
346
318
307
315
364
319
321
363
310
393
284
326
343
298
276
266
367
347
303
280
336
353
326
361
339
333
288
267
311
298
342
311
294
334
360
381
307
319
340
275
258
314
341
320
264
316
293
342
307
362
320
288
301
367
369
298
286
325
362
226
303
296
277
263
326
347
292
279
308
363
344
351
277
326
370
328
293
304
355
259
306
336
351
300
338
322
366
348
238
300
318
339
305
322
265
303
309
239
331
330
352
334
397
318
350
212
380
288
236
344
267
313
298
309
334
335
356
296
366
349
331
281
320
363
280
341
269
240
305
302
352
386
271
341
364
334
262
333
270
278
311
337
338
361
360
294
243
373
309
325
367
384
352
405
364
347
310
412
304
310
362
313
397
284
363
203
439
267
247
225
288
362
332
238
288
307
292
273
216
311
278
266
268
350
252
349
356
258
297
329
291
337
303
355
337
285
322
299
346
309
313
316
276
270
358
306
295
244
289
315
335
341
342
343
347
309
441
305
357
324
283
266
376
275
336
269
283
340
331
390
299
293
277
246
262
279
335
293
327
287
355
365
343
359
271
292
257
270
268
261
409
446
283
277
312
381
296
325
299
287
325
282
284
300
275
343
253
353
362
260
362
394
321
396
244
307
321
321
353
294
418
378
375
354
291
296
347
367
294
338
360
296
307
332
318
322
359
285
340
254
301
292
342
367
313
324
326
360
231
238
328
277
295
258
296
373
254
329
301
418
358
342
346
369
316
320
239
338
249
337
374
335
324
285
276
331
325
336
251
316
357
352
256
254
306
353
389
376
381
267
301
328
250
387
357
303
309
321
342
284
316
246
300
359
357
287
239
344
297
342
276
276
312
377
338
279
289
392
311
412
354
356
282
387
280
232
300
367
347
263
234
324
304
287
239
279
265
317
300
293
340
275
358
254
281
372
241
300
359
316
389
331
384
314
386
284
374
348
342
283
297
327
373
292
307
363
256
335
281
281
378
350
323
379
380
314
335
349
342
369
308
341
320
372
246
271
309
356
324
381
337
391
290
367
364
342
345
272
340
302
237
375
362
260
342
352
236
308
326
295
227
306
294
294
285
372
355
360
303
281
360
335
259
298
274
324
417
316
305
439
397
313
325
292
299
320
270
296
324
326
327
320
335
335
300
282
325
293
337
286
290
298
348
323
344
251
368
290
245
276
342
323
391
383
356
295
270
284
348
286
342
294
290
336
354
386
342
309
233
313
268
391
307
335
304
304
325
279
258
300
320
350
333
288
350
352
352
321
353
295
326
355
335
385
302
357
268
312
381
235
257
341
257
321
396
325
277
329
351
304
197
305
324
302
354
372
282
319
290
382
314
221
304
279
327
336
318
255
266
322
411
241
394
334
233
303
341
321
425
316
352
357
268
324
326
320
327
373
304
314
304
296
289
304
315
300
311
414
305
305
332
293
342
284
293
277
399
331
272
364
302
324
317
258
352
316
259
264
354
298
311
365
321
263
381
325
326
309
360
315
368
382
360
328
356
361
257
365
331
365
359
375
286
333
301
286
276
270
321
337
391
320
268
264
378
362
336
263
366
364
320
358
257
334
277
315
292
316
278
266
301
319
248
297
357
271
357
295
220
341
289
327
272
277
234
336
333
382
407
366
307
363
371
293
302
390
359
279
379
296
293
274
346
287
312
313
309
419
278
265
237
321
282
293
241
385
275
286
326
347
401
317
293
415
318
263
272
337
283
336
328
299
308
317
284
329
324
327
352
264
322
241
398
294
327
234
357
367
386
334
305
278
322
258
384
341
350
369
337
287
305
282
405
375
286
352
268
346
317
292
288
321
240
336
221
346
336
268
307
292
350
338
314
273
316
268
329
311
283
278
396
333
300
252
235
303
284
233
314
353
329
348
322
305
358
264
241
333
234
293
329
276
382
304
270
364
242
299
328
357
329
376
352
298
375
318
293
259
321
359
419
293
315
297
429
403
307
349
300
297
338
384
276
251
356
330
310
346
285
285
312
352
368
294
260
345
311
406
281
273
330
437
361
231
324
279
348
354
399
367
333
306
292
386
272
204
367
314
375
225
386
365
276
265
348
359
237
353
303
272
302
403
370
346
277
319
386
349
210
372
404
322
277
340
323
342
318
245
238
365
269
389
317
302
254
357
328
313
308
315
326
293
362
303
318
280
337
288
237
352
220
305
339
234
247
373
259
275
276
223
311
314
363
329
390
310
331
300
299
229
355
319
415
362
346
344
364
301
321
374
366
301
325
273
283
331
281
347
261
137
372
298
292
358
358
337
309
422
271
257
319
235
349
356
317
336
367
352
314
196
319
333
277
357
336
283
303
376
314
304
297
281
288
336
323
308
323
301
302
288
335
373
330
370
287
273
349
319
333
356
399
293
377
324
363
355
340
340
309
310
317
334
285
268
324
206
312
311
326
397
366
259
299
317
318
329
321
291
331
360
381
357
222
362
223
231
362
271
320
383
337
301
262
311
324
284
376
200
313
317
348
362
307
319
393
361
298
316
415
253
341
299
266
314
383
272
316
329
348
273
179
278
267
311
377
361
202
327
363
298
374
306
332
341
320
299
298
396
328
332
302
329
319
245
296
325
371
218
284
373
304
299
294
320
362
363
312
234
310
263
334
306
366
309
406
313
211
332
303
322
242
247
284
322
304
297
403
409
419
316
299
368
353
278
252
361
272
328
319
248
337
363
320
239
306
270
354
350
336
347
371
323
265
390
281
333
343
284
366
311
295
355
324
398
276
367
360
219
259
289
319
375
318
315
421
276
314
348
337
371
279
299
295
235
317
355
293
234
270
290
292
324
354
339
332
280
293
308
308
339
343
291
312
262
317
339
309
370
274
335
363
349
362
323
257
339
362
264
293
363
330
355
322
336
275
333
346
375
304
348
281
281
267
279
335
323
400
360
286
366
299
302
315
268
229
389
369
330
251
297
287
363
279
449
392
219
252
357
332
287
382
333
301
473
358
300
330
378
339
358
422
277
280
392
346
362
335
310
253
343
357
316
341
294
373
344
308
306
379
369
391
296
313
304
327
217
265
346
292
280
292
342
264
278
334
328
343
318
327
275
342
270
371
289
340
252
339
353
254
312
323
248
299
336
245
323
350
340
366
315
331
261
368
235
346
313
313
308
338
298
275
345
319
288
367
319
311
307
276
267
254
241
364
346
240
273
300
295
368
296
368
172
332
279
282
356
298
325
314
364
267
275
298
277
296
299
352
331
306
390
305
381
328
317
326
213
334
271
232
250
317
294
362
259
334
268
364
340
290
294
337
316
354
210
358
298
260
360
267
309
340
335
283
335
363
288
317
349
278
347
316
255
302
239
268
277
420
341
378
291
414
385
276
397
405
319
348
269
305
311
333
331
296
364
308
318
231
336
276
259
343
224
312
360
269
319
332
323
238
264
298
241
320
294
261
282
262
309
269
296
271
364
307
299
268
368
287
241
288
250
339
263
342
267
334
319
314
275
279
398
312
313
328
353
286
296
298
440
336
344
326
270
292
278
342
353
269
300
310
272
307
337
409
321
263
300
309
377
203
326
348
353
346
311
276
324
322
317
267
272
337
274
298
344
270
302
287
278
321
385
329
334
326
260
332
382
271
293
312
364
230
284
339
219
362
381
352
341
368
349
301
319
265
357
381
303
367
283
339
359
279
379
333
384
317
353
354
319
240
368
340
314
248
340
371
309
180
288
333
301
321
305
316
337
312
368
375
300
340
289
349
316
378
369
310
386
340
367
274
350
341
386
351
377
382
353
418
336
303
284
340
415
302
297
311
379
317
358
328
329
303
293
355
296
320
339
372
308
236
317
297
352
318
262
370
335
294
323
412
360
294
371
313
346
396
347
381
290
298
296
392
353
369
314
362
377
252
322
339
287
336
342
396
282
352
286
405
308
346
321
243
354
312
371
345
347
377
280
289
293
305
356
264
273
293
394
292
341
362
366
295
182
312
307
316
353
321
370
372
270
346
311
357
251
252
251
306
419
304
349
219
343
356
308
327
367
343
339
371
315
356
359
334
367
304
328
272
270
305
253
305
342
281
354
292
309
367
322
293
384
302
318
279
293
281
311
380
328
258
332
344
299
244
201
324
332
372
392
265
259
272
340
349
229
258
291
271
286
362
337
354
340
328
333
364
361
301
385
364
290
315
307
348
333
374
388
260
277
362
346
279
269
305
307
360
301
236
326
317
327
318
388
256
348
365
298
296
369
324
315
390
386
372
358
344
316
301
437
350
383
319
302
297
326
334
330
375
309
383
357
232
259
381
297
330
322
332
363
394
332
340
336
221
316
296
300
344
262
288
380
353
387
280
239
387
275
279
258
277
276
339
302
290
379
351
298
365
397
343
266
341
348
245
295
299
339
291
346
373
306
331
276
419
331
269
381
346
253
370
265
345
279
370
290
289
406
322
294
316
293
312
329
342
348
335
368
337
320
295
312
245
385
347
340
320
297
347
394
278
291
323
298
304
287
367
338
343
284
315
312
232
270
423
348
320
325
290
358
215
371
286
300
327
283
338
361
341
251
325
311
428
222
278
301
297
275
321
331
428
331
319
300
337
338
359
367
274
232
276
251
359
367
242
302
394
304
235
321
339
374
295
289
265
292
370
329
235
264
358
210
322
338
251
388
282
347
299
371
315
349
365
270
287
405
289
302
320
393
320
338
331
365
245
287
300
246
333
259
332
339
360
294
347
324
314
278
314
326
267
357
286
406
343
251
283
331
271
309
343
293
259
286
379
303
282
352
323
316
316
380
270
299
321
287
376
239
295
333
273
254
303
313
269
304
325
364
282
289
325
332
376
379
340
328
294
197
358
280
347
395
356
333
328
304
317
308
369
337
272
343
195
314
310
344
374
329
344
279
299
332
340
336
321
362
407
368
352
287
303
340
358
397
286
304
321
295
326
315
338
313
271
336
274
313
299
292
265
330
370
334
279
345
312
269
374
355
246
311
313
309
376
313
323
347
376
250
304
290
315
330
291
360
335
355
310
355
302
258
282
264
342
347
247
361
382
305
279
302
327
265
332
366
301
312
279
318
306
394
241
397
270
320
254
295
341
334
303
407
225
280
309
273
319
353
266
331
357
231
268
274
320
302
285
363
269
262
402
304
422
385
354
249
340
317
236
295
302
289
298
307
234
328
217
195
354
296
349
396
324
442
282
296
210
363
359
279
239
373
272
309
314
308
323
226
276
289
375
325
312
306
394
296
264
265
272
280
349
278
345
331
346
263
330
350
240
349
354
330
382
285
221
307
278
369
317
354
250
355
365
342
331
362
327
376
233
302
278
358
299
271
247
230
345
300
388
308
340
378
349
371
312
346
316
348
296
281
273
330
311
324
336
329
216
348
316
331
281
371
340
257
211
269
360
286
217
189
332
336
328
352
289
305
336
342
294
389
336
276
258
265
400
352
397
351
307
347
378
324
329
404
388
229
326
322
317
307
275
281
321
373
326
365
259
340
274
282
278
273
308
260
295
323
204
349
330
356
316
282
421
344
305
326
288
337
274
262
282
366
376
283
299
309
403
338
321
312
347
271
209
329
282
326
355
330
283
347
332
259
258
257
373
288
268
344
347
347
204
334
297
301
326
246
306
306
290
356
343
351
288
339
361
340
364
347
291
326
307
353
338
369
279
330
281
292
295
374
442
345
359
332
295
357
321
322
320
368
354
350
392
298
316
295
300
334
343
329
345
276
272
350
225
312
348
279
247
335
278
262
360
173
299
250
369
419
244
360
352
341
266
328
308
334
256
261
289
261
306
332
306
295
342
294
343
328
313
360
315
302
400
413
388
301
268
321
374
338
372
307
295
355
214
281
290
297
339
378
353
345
334
302
337
356
384
313
222
302
296
397
369
380
307
358
316
296
330
319
296
343
319
408
332
340
333
231
301
290
273
240
332
318
387
342
304
276
367
357
265
321
318
325
351
248
312
350
286
324
312
320
378
344
334
304
264
334
327
330
312
279
355
278
370
350
286
318
353
374
283
279
264
283
398
342
252
297
391
338
295
315
351
289
330
348
332
286
307
247
353
288
358
294
373
358
321
320
259
327
276
314
354
249
361
328
325
314
329
358
271
343
278
320
311
306
315
388
351
244
337
341
364
396
286
303
360
259
286
343
354
321
375
313
246
372
306
327
390
375
314
344
422
384
369
284
353
253
296
236
338
327
363
325
361
326
302
348
333
271
368
284
322
290
241
358
331
263
339
325
290
379
370
347
344
359
300
353
340
283
315
309
308
399
226
384
305
338
354
369
359
269
371
273
336
307
322
322
342
306
358
382
316
367
302
328
290
382
299
287
296
352
298
344
437
266
285
306
344
323
303
321
293
347
242
296
326
356
304
357
282
275
350
340
376
279
300
356
244
246
359
241
339
322
389
302
360
344
296
387
267
321
363
339
295
283
293
318
326
322
352
281
279
306
384
338
329
305
359
332
334
279
309
343
372
310
362
304
354
216
332
280
311
288
263
293
282
334
312
326
351
360
338
363
296
350
335
321
381
347
386
412
400
295
303
403
347
301
334
285
310
297
408
310
278
326
302
295
265
339
217
290
284
265
399
321
326
287
310
321
275
359
273
323
344
342
395
386
364
243
305
318
327
267
299
323
300
282
271
292
369
338
301
336
262
398
390
310
298
326
339
280
407
284
287
358
302
229
335
292
288
347
232
320
367
362
359
417
313
295
314
253
375
394
348
384
393
332
303
350
224
355
263
242
325
245
350
277
260
357
260
317
347
294
355
436
191
401
274
261
328
341
357
343
311
309
297
287
389
336
327
273
360
262
349
319
295
304
292
361
395
330
294
330
337
312
288
284
360
324
333
346
254
331
287
293
298
375
273
282
361
242
244
264
312
362
348
341
343
286
354
321
265
335
347
310
329
356
317
299
243
295
289
312
344
319
292
319
288
326
362
254
323
345
342
295
251
231
253
306
237
253
258
352
372
328
215
285
346
347
284
327
375
330
324
383
343
288
336
346
359
405
373
274
326
359
253
319
237
310
311
347
309
255
301
369
307
436
373
363
346
264
380
324
253
406
338
250
342
343
291
294
236
353
331
230
266
347
317
309
275
334
379
342
306
336
246
349
291
315
290
298
271
339
418
313
315
263
312
334
352
330
284
284
368
300
258
330
259
243
286
397
325
339
398
334
260
388
282
371
257
325
339
276
338
304
373
319
315
383
372
243
351
307
250
250
320
313
263
293
298
283
323
345
262
350
286
311
329
290
317
298
285
264
318
326
365
266
431
414
295
298
288
301
304
304
360
325
371
249
268
300
303
322
153
363
399
316
269
291
276
229
319
344
287
322
291
227
318
366
366
302
367
273
311
358
343
313
355
348
201
386
331
372
269
221
291
276
307
337
373
267
247
363
298
265
346
398
264
333
282
299
329
247
296
310
343
317
295
435
294
274
255
368
361
330
302
299
369
323
281
256
360
310
277
357
325
308
287
325
324
293
361
311
294
329
355
313
370
346
307
309
311
227
319
324
329
309
238
314
414
385
312
303
351
369
381
354
404
280
280
344
373
287
282
270
210
363
307
326
289
311
269
303
231
282
383
283
263
335
351
238
298
345
305
338
318
285
279
305
313
327
358
327
376
259
280
330
307
277
358
274
320
340
325
259
270
311
300
364
336
302
287
416
334
323
338
320
245
327
368
253
256
304
329
312
300
377
271
311
326
332
291
298
295
371
294
330
364
339
314
304
192
397
381
294
305
303
294
279
190
319
306
244
329
274
252
289
379
351
347
313
360
302
356
310
353
331
288
263
244
352
292
332
226
288
316
307
314
309
279
256
318
295
320
288
255
353
307
259
272
342
298
328
366
384
307
266
325
246
329
272
396
328
359
291
363
359
340
388
342
272
275
287
271
330
280
348
342
364
244
298
398
337
288
373
425
364
307
342
317
272
284
307
419
357
306
338
340
365
391
257
267
340
378
245
289
309
250
291
315
263
296
304
320
327
301
312
369
353
364
355
353
329
371
412
273
282
378
226
328
383
323
305
373
303
361
338
332
290
308
294
292
375
305
324
322
326
303
307
268
310
344
379
300
319
369
326
402
348
331
273
234
280
306
350
332
286
316
398
359
395
252
262
357
321
351
347
310
317
361
348
389
319
353
373
272
308
341
251
339
220
289
343
280
295
335
333
275
294
405
328
266
250
310
324
301
361
331
294
220
291
309
364
300
272
342
342
339
328
338
322
307
265
347
335
340
302
433
287
235
296
286
236
277
283
358
333
283
249
248
301
287
374
314
300
232
306
314
364
308
227
346
361
372
311
318
306
321
326
330
317
357
309
294
352
309
322
298
284
282
348
242
292
325
352
279
293
243
342
403
273
272
344
319
296
314
283
285
301
334
219
352
297
350
331
327
248
377
361
341
329
323
301
301
331
311
206
364
370
286
303
352
355
356
308
298
381
353
281
289
277
393
350
324
267
359
255
409
333
392
345
350
289
279
311
297
338
248
364
241
288
289
363
335
325
356
374
395
281
304
318
340
326
276
318
368
244
366
323
354
383
304
436
299
246
349
317
294
309
290
372
308
299
338
221
292
341
261
353
265
292
367
347
320
294
283
362
366
335
314
354
296
267
262
314
357
403
317
246
290
266
311
330
303
313
256
330
384
347
320
246
256
324
337
299
308
307
295
290
378
315
387
290
364
346
341
322
318
385
340
288
339
395
288
316
268
231
299
394
319
371
325
285
322
326
277
363
347
312
335
391
255
272
334
315
314
350
377
329
306
233
259
357
350
311
340
257
259
367
303
363
310
385
292
318
350
322
220
330
329
356
244
239
365
247
289
242
300
330
325
340
299
259
281
312
283
345
286
397
327
320
316
322
377
246
335
299
244
329
332
325
314
265
256
305
313
189
293
282
249
348
245
317
334
279
291
260
295
353
289
337
332
258
300
346
333
250
245
310
326
349
339
385
347
331
274
338
290
297
345
368
334
352
346
342
305
311
311
330
293
299
314
299
368
298
313
317
361
307
310
400
368
324
230
444
320
248
319
417
345
284
331
337
445
352
321
315
326
336
257
339
361
378
298
319
279
314
333
295
252
313
328
352
269
314
321
321
339
331
245
196
367
350
332
330
265
300
321
255
394
344
340
348
341
334
289
351
270
239
340
401
315
332
327
249
275
299
312
273
278
363
333
319
345
227
373
337
362
330
311
383
322
333
247
374
296
301
338
280
306
279
273
305
374
390
253
262
340
287
395
314
372
288
298
283
295
308
269
316
307
245
252
272
279
278
356
302
430
353
293
356
329
222
269
231
290
334
333
267
397
266
205
277
227
305
359
327
324
323
344
360
340
308
391
377
311
357
336
345
287
332
305
357
318
274
291
332
336
324
274
302
238
325
237
281
331
339
334
333
410
348
338
332
297
245
364
314
257
371
313
371
271
285
371
286
302
300
304
344
282
325
328
313
405
283
331
237
241
264
322
296
337
351
317
338
295
268
326
329
365
309
276
328
346
291
268
334
323
348
305
301
240
345
269
332
322
342
210
382
295
316
418
339
311
343
361
247
330
318
381
288
294
348
314
337
307
263
243
362
319
316
295
331
246
276
299
268
324
303
347
236
422
295
334
317
383
343
313
226
313
331
315
338
306
339
333
293
324
332
431
228
296
278
334
217
323
377
415
308
263
295
284
392
252
322
391
279
311
312
309
252
285
366
289
294
323
293
287
322
333
284
311
325
339
277
243
276
229
257
227
376
372
366
316
298
278
283
352
290
333
344
312
319
274
256
300
312
314
343
318
255
293
338
322
367
309
326
325
267
347
359
315
308
288
269
280
323
391
344
254
363
324
316
239
391
367
295
353
280
344
346
289
294
297
352
331
406
307
306
297
341
248
283
373
351
285
342
344
331
302
248
361
324
306
311
330
391
232
327
288
352
260
259
379
297
277
258
326
296
357
250
297
313
280
287
263
317
372
276
361
302
348
255
288
355
243
239
365
373
277
336
343
279
386
337
295
249
328
290
370
374
323
240
241
343
261
278
311
261
360
282
279
232
253
365
351
279
350
298
351
350
288
374
207
190
373
343
331
359
358
289
334
216
302
284
326
326
255
348
269
340
258
250
350
348
249
278
293
371
378
288
301
271
351
341
365
353
319
363
284
362
296
263
328
255
300
351
298
296
285
320
345
322
371
335
347
222
356
389
256
277
320
287
381
343
321
298
331
248
278
285
293
350
359
176
260
268
320
374
315
341
299
265
297
358
257
373
342
197
358
268
321
395
273
335
277
448
249
304
287
372
358
336
309
318
340
330
163
314
367
318
310
263
304
316
276
275
315
229
344
213
355
365
308
358
352
325
269
315
326
305
307
240
344
346
329
263
334
338
305
364
241
250
343
338
288
367
318
285
239
254
272
322
345
320
291
324
363
333
293
286
352
368
279
353
310
326
307
260
326
363
355
386
307
301
369
284
230
314
349
305
275
388
285
353
262
351
232
336
352
306
265
358
357
394
212
285
282
325
338
351
388
280
373
353
339
320
324
334
245
308
362
289
311
332
293
270
232
370
348
263
301
254
329
370
240
318
256
287
319
294
237
364
350
285
251
372
344
335
322
267
297
398
212
313
302
284
248
335
399
278
221
315
331
391
370
283
326
341
338
273
346
285
337
271
248
357
254
408
311
342
296
297
357
286
306
221
307
286
313
274
310
301
348
289
262
304
286
323
308
246
256
395
323
241
261
355
324
337
359
359
380
331
285
313
335
415
274
289
343
307
319
313
329
392
346
321
342
406
393
329
383
346
278
222
378
258
275
267
313
368
313
279
327
322
299
283
298
317
393
353
361
363
211
259
293
422
295
271
335
333
361
421
374
253
287
341
286
346
370
291
269
347
375
307
303
369
285
289
239
251
308
357
334
277
223
278
312
333
245
266
221
278
335
268
295
323
342
409
227
373
302
283
316
341
341
340
329
310
398
291
364
440
336
307
331
318
332
347
261
354
315
334
285
248
310
269
379
256
347
343
273
280
269
344
241
271
332
345
324
340
308
275
293
364
367
339
324
349
220
328
343
284
333
291
355
268
290
358
343
322
396
373
326
327
348
376
362
358
342
366
279
372
295
332
324
269
347
378
266
296
331
360
360
373
371
317
276
322
310
275
319
362
327
376
328
378
332
364
350
348
324
366
358
311
357
340
377
343
318
335
350
283
366
263
250
267
323
345
307
339
316
308
441
282
248
332
325
277
403
306
346
393
272
359
302
225
300
325
307
245
254
308
294
311
352
277
316
308
387
281
335
289
270
334
320
355
367
337
389
315
330
318
222
321
255
223
324
267
355
269
351
364
275
451
229
313
316
306
287
284
335
368
376
243
358
247
273
240
242
207
161
380
270
274
350
355
256
323
338
304
325
366
343
251
360
369
311
306
259
366
313
375
329
312
293
307
303
324
364
351
301
269
297
261
325
168
292
266
285
355
297
326
377
319
310
361
361
363
382
281
250
252
369
381
356
397
322
262
397
316
362
359
253
348
402
299
348
319
332
284
306
311
312
338
287
232
299
343
311
307
358
245
333
370
266
380
381
322
275
261
305
333
326
350
297
288
285
234
320
254
337
377
298
366
357
376
282
373
323
369
338
314
331
363
244
314
263
339
287
333
319
282
325
289
320
317
248
369
339
305
289
301
391
315
279
288
327
328
239
255
288
315
247
252
350
342
406
312
319
317
285
288
321
294
360
374
362
326
233
315
307
370
271
328
340
309
241
362
297
271
348
329
290
246
352
378
411
310
218
273
238
337
301
405
337
344
307
302
310
235
322
365
384
331
287
349
371
368
355
321
265
348
393
309
343
301
296
373
317
378
250
283
253
300
366
382
293
231
307
282
392
358
325
334
328
334
376
318
312
275
280
217
356
299
296
329
258
313
318
370
267
317
288
305
249
331
365
310
351
211
337
294
356
270
323
367
325
224
387
351
377
334
286
334
357
320
295
259
340
316
370
370
352
379
261
359
287
230
330
349
372
308
412
383
376
379
352
333
324
270
321
314
282
355
271
260
294
277
297
351
335
350
331
292
302
337
354
356
296
349
376
353
260
333
342
296
361
279
372
343
298
261
395
353
375
286
279
413
382
299
278
269
277
282
342
299
310
371
237
302
328
295
387
344
392
276
379
315
335
297
302
325
376
235
320
317
244
312
330
305
267
253
315
348
206
368
336
250
391
261
276
254
291
274
336
307
299
298
261
310
259
356
356
346
293
304
372
331
283
359
317
427
367
306
414
309
351
326
279
234
263
363
280
286
349
330
319
282
280
350
302
314
355
261
287
288
361
372
298
289
339
358
353
303
272
330
401
380
357
378
291
262
384
370
399
387
340
341
313
325
301
301
294
292
360
377
356
379
353
244
355
299
306
319
248
282
343
319
354
254
319
356
325
325
196
326
357
363
271
351
380
339
336
346
389
270
304
362
324
260
299
367
313
256
329
258
271
365
290
368
309
283
343
296
323
383
340
338
202
257
369
300
296
331
213
357
291
392
316
307
292
366
354
406
324
369
326
251
303
387
345
366
287
305
322
315
357
311
272
402
372
369
311
285
331
306
278
374
295
345
289
332
382
324
325
296
358
324
292
222
313
384
335
394
240
301
259
304
314
373
333
364
303
263
278
288
362
395
298
344
271
289
287
363
305
292
333
285
272
303
258
247
317
240
386
295
229
310
342
310
363
269
373
329
340
289
330
323
353
307
303
305
344
386
398
269
315
357
247
311
267
351
314
373
280
344
261
291
302
352
267
359
361
325
215
297
296
242
333
351
343
314
324
341
334
279
393
300
302
357
288
245
298
300
398
313
338
288
316
324
354
303
325
317
258
339
377
383
250
256
318
219
309
348
330
200
297
293
388
354
302
287
318
303
334
416
282
305
298
292
360
298
301
391
326
320
356
310
332
283
323
292
272
292
324
342
319
262
335
334
316
293
316
293
310
304
269
324
344
288
264
340
316
264
348
314
400
373
283
268
333
388
330
328
307
279
239
325
295
333
298
337
349
206
329
304
307
297
304
284
307
290
300
221
300
292
300
307
347
317
350
347
265
268
413
270
284
407
332
288
361
344
310
392
295
239
309
331
302
323
342
323
324
262
307
360
258
301
225
325
376
338
281
374
387
319
323
296
340
261
368
386
301
359
269
300
322
273
350
306
344
384
249
321
238
319
314
364
328
254
308
368
329
280
284
419
352
255
283
345
292
313
342
325
337
303
356
280
390
297
337
418
317
339
302
403
265
322
309
346
331
344
282
340
345
318
257
333
347
353
344
277
381
265
357
392
286
282
185
314
287
398
347
333
258
369
279
430
349
299
299
329
255
301
248
327
336
368
262
342
346
371
343
315
403
325
377
301
426
337
304
389
311
269
345
373
385
384
340
283
331
334
331
337
311
249
347
258
284
335
336
380
314
206
286
424
287
340
365
304
331
343
358
223
371
298
300
215
329
311
309
368
251
380
313
272
339
318
324
311
241
350
284
284
316
336
202
317
349
270
272
313
438
297
290
329
363
368
297
334
277
396
359
276
316
209
315
308
312
308
324
323
298
257
207
255
328
344
313
253
275
295
314
260
333
321
390
270
273
329
358
354
289
282
287
369
304
332
304
367
294
273
367
258
311
285
348
360
263
331
311
310
406
258
290
370
319
309
318
314
343
292
283
301
345
264
287
318
368
305
342
340
334
373
308
371
367
363
388
233
354
296
291
249
301
331
284
365
342
282
321
228
284
400
257
330
328
322
320
322
334
348
274
341
349
361
284
344
262
315
309
314
342
383
347
396
300
415
300
238
251
360
390
332
346
211
325
297
307
314
383
309
285
296
336
365
256
271
314
342
212
351
319
405
236
363
372
430
325
280
319
279
373
226
295
298
334
258
339
310
336
384
259
306
236
332
351
288
327
446
263
281
308
304
348
345
352
282
255
284
319
347
251
338
345
372
326
341
234
345
258
291
295
321
308
267
338
331
266
268
331
327
269
360
316
311
297
273
310
287
232
314
327
300
285
272
320
361
321
352
296
392
307
299
363
283
312
280
354
264
251
328
270
275
335
334
376
355
291
331
290
404
308
287
300
329
408
299
296
329
209
250
299
402
297
310
324
312
331
289
392
354
196
322
252
298
298
346
331
327
329
357
321
318
277
287
370
369
312
223
362
320
319
271
362
314
326
299
296
346
293
301
322
253
261
351
369
356
322
237
411
336
344
313
369
340
229
340
363
289
281
345
329
346
304
333
377
339
260
266
257
356
343
302
335
252
261
338
348
284
319
349
370
340
319
282
291
308
278
287
361
307
332
334
382
236
321
230
327
244
309
293
350
340
275
341
226
286
313
352
293
359
430
299
371
294
316
302
269
335
289
262
251
333
269
325
312
319
321
364
284
347
327
280
319
274
301
267
357
332
378
404
345
260
263
334
299
285
266
311
261
392
320
309
289
293
373
350
323
219
287
282
409
312
361
393
405
399
263
315
365
263
328
372
345
425
261
338
337
319
248
301
356
302
322
247
360
382
332
337
332
344
300
305
351
303
249
323
373
335
244
275
320
329
290
259
279
192
286
286
269
285
314
290
327
300
367
251
393
275
406
417
353
288
336
388
422
364
319
366
423
336
311
343
338
323
280
286
375
353
400
310
369
319
409
347
285
363
302
311
205
206
318
314
305
328
306
354
308
271
295
352
271
371
332
330
268
337
339
346
359
299
249
250
377
331
284
284
319
306
383
333
334
276
339
372
255
369
375
285
263
373
317
280
316
259
340
314
375
319
253
378
291
316
365
310
329
390
312
370
377
355
357
328
214
297
360
275
309
214
302
279
254
338
326
349
320
358
279
341
359
329
313
292
374
330
235
319
286
335
358
294
325
266
162
316
345
310
316
281
246
276
287
269
271
358
387
319
277
264
339
325
246
413
381
273
326
277
349
315
313
313
389
299
389
308
344
278
298
312
353
369
205
341
353
253
390
286
318
258
335
434
391
304
330
371
387
362
332
313
351
323
282
310
301
366
389
350
340
314
330
288
329
341
314
350
306
317
342
350
301
349
250
320
328
194
342
391
294
354
385
337
352
313
290
223
437
368
308
355
323
339
376
306
302
310
273
287
361
311
327
281
348
306
338
269
283
244
325
232
267
302
349
283
278
356
367
340
333
232
294
301
379
339
331
299
233
238
334
273
285
328
293
353
280
301
345
314
336
350
298
434
208
274
303
361
244
358
319
311
184
261
270
412
274
382
326
316
344
291
287
329
419
373
259
268
359
371
325
297
326
349
318
313
351
328
300
300
359
355
318
314
346
410
284
247
316
428
298
358
287
290
367
314
305
344
374
240
367
314
373
446
333
328
291
270
293
255
305
300
304
271
158
327
306
364
316
279
300
358
350
355
260
313
260
352
361
271
233
347
241
270
313
393
352
384
312
354
322
299
311
299
315
276
310
312
273
335
343
345
328
376
307
311
346
239
367
305
330
327
327
337
311
217
337
263
348
333
380
335
263
361
278
303
332
344
397
320
352
266
287
323
315
373
311
291
313
340
380
387
298
295
300
274
298
394
308
378
384
315
312
246
382
310
320
247
302
290
310
283
387
290
297
340
216
430
317
411
314
337
294
297
293
256
315
404
342
312
383
368
300
367
350
336
348
310
245
326
303
290
344
268
297
305
292
298
307
347
323
355
334
322
303
290
273
365
336
353
311
306
351
362
327
277
318
293
261
344
308
367
358
393
319
250
282
346
341
224
358
186
280
295
305
354
322
347
311
262
391
368
336
284
392
313
335
186
255
344
355
264
390
303
302
305
422
307
240
315
356
389
258
358
348
293
291
329
343
315
360
310
358
359
267
366
315
318
318
319
309
293
328
342
324
251
343
264
258
330
320
312
322
346
362
299
298
340
318
253
327
367
290
302
387
292
321
396
248
329
357
338
301
336
331
380
333
309
313
294
265
377
276
305
333
275
274
344
295
368
284
285
332
383
294
287
349
321
319
343
274
294
286
333
295
302
321
308
298
311
367
382
280
275
375
284
343
246
342
309
344
329
330
342
325
332
319
361
389
370
250
325
282
312
403
298
338
286
243
282
426
276
319
304
287
322
294
369
320
237
264
314
291
300
232
332
291
297
333
401
286
338
343
273
360
325
360
375
371
293
367
343
355
302
325
320
349
312
413
321
325
473
359
333
354
308
395
216
272
328
360
386
395
338
275
298
300
360
305
378
296
217
337
390
299
282
290
256
334
304
362
345
257
364
327
308
376
253
304
247
251
275
326
306
328
358
326
269
274
311
372
269
358
368
240
358
263
242
302
389
336
237
365
343
339
349
295
351
299
269
273
313
335
373
274
378
320
329
286
333
294
277
430
417
245
264
298
388
349
348
281
407
291
268
359
300
369
308
313
319
292
290
359
369
333
289
303
304
374
276
325
311
283
352
307
339
332
317
349
314
347
395
251
336
274
261
324
311
286
343
380
341
403
357
294
324
276
237
408
271
300
351
273
261
349
371
246
349
306
322
295
279
337
323
324
292
308
360
276
293
301
325
347
421
229
312
280
334
316
312
299
342
316
259
281
271
204
358
325
279
285
290
312
406
329
330
303
340
297
363
336
362
318
272
292
351
373
323
347
299
290
309
224
328
366
318
397
294
354
218
383
298
379
346
271
308
341
280
341
293
341
274
253
347
319
331
294
330
220
371
211
275
270
369
324
261
224
318
315
373
359
336
286
245
379
345
368
307
328
390
255
319
320
308
284
361
336
344
299
249
316
374
317
343
265
274
266
264
223
334
286
314
313
333
381
251
331
366
332
263
300
277
390
253
351
279
297
324
267
303
307
296
235
374
376
283
367
280
363
258
322
377
330
294
331
346
286
284
314
365
291
302
318
326
325
313
374
319
333
263
303
315
341
332
365
349
317
338
280
363
288
369
326
300
258
273
318
362
269
371
260
412
337
320
308
327
303
285
348
338
404
310
184
318
309
297
346
343
359
394
339
348
302
362
329
309
311
323
271
328
316
313
301
350
324
321
355
293
356
315
327
361
298
319
333
307
288
255
323
253
301
287
324
259
297
289
225
334
404
223
316
227
362
297
285
255
198
363
317
349
362
287
427
411
382
312
254
359
343
280
291
263
349
303
317
374
294
252
329
314
319
258
323
304
297
336
332
358
328
303
296
355
377
302
290
368
339
236
335
342
343
279
300
294
234
342
387
324
400
282
309
304
331
319
330
296
354
354
309
195
296
306
329
324
352
320
268
342
344
308
297
337
358
400
363
320
298
247
273
333
328
337
353
327
422
334
382
346
279
281
306
366
260
321
393
269
198
283
257
267
310
373
312
332
353
321
347
403
318
351
358
368
280
313
365
408
313
254
252
381
280
310
341
256
312
348
251
384
252
358
351
304
282
305
397
335
280
271
320
296
354
320
351
269
300
280
389
362
345
273
229
283
365
300
408
269
252
306
306
301
335
276
329
286
323
310
246
414
340
305
289
332
314
360
306
210
319
366
268
340
376
346
314
281
310
396
310
309
289
365
286
303
270
315
302
333
298
366
343
323
310
340
289
243
400
309
332
297
287
352
253
234
337
359
300
410
308
307
301
263
319
382
335
234
297
340
348
300
248
305
256
301
315
332
259
267
279
387
396
317
351
334
317
317
276
273
327
331
220
299
305
273
280
331
356
298
353
341
317
332
244
317
249
298
302
348
227
259
385
339
275
339
362
285
303
343
350
296
257
297
319
357
365
363
356
380
298
319
412
303
247
290
332
264
346
262
313
375
323
308
374
155
391
336
352
289
370
304
334
325
290
344
307
280
382
236
302
359
276
353
319
380
263
328
296
321
267
341
360
263
284
254
363
264
329
381
385
330
291
344
366
303
339
320
355
354
386
313
343
244
377
308
388
271
299
343
242
325
320
309
307
257
269
322
314
327
351
386
337
323
348
350
352
303
257
206
364
374
297
276
261
306
302
273
379
256
292
309
392
372
277
314
313
282
320
360
299
348
305
347
331
306
331
357
310
304
276
290
351
301
347
281
299
330
337
297
328
321
288
276
335
348
365
376
263
378
349
351
261
318
290
296
302
321
265
368
280
319
304
334
256
341
341
349
322
369
382
291
340
331
310
359
357
407
288
346
198
286
389
366
259
283
283
303
299
315
336
379
238
272
319
329
334
404
308
258
430
270
388
288
341
310
360
363
352
334
334
273
372
321
350
294
220
273
372
356
299
354
299
229
365
350
396
295
256
353
319
300
283
315
350
321
229
328
348
350
402
319
339
340
362
311
271
312
334
370
249
345
284
263
249
309
318
319
274
354
253
300
336
315
354
285
312
276
352
251
336
253
246
356
362
393
291
282
283
429
316
287
279
354
300
323
303
256
326
293
396
363
318
257
342
364
315
254
343
305
340
297
351
315
361
304
351
300
276
342
331
238
196
262
313
269
292
260
287
395
283
330
317
231
357
408
371
362
277
275
313
327
308
281
232
372
327
383
351
311
325
234
352
292
289
374
245
305
402
329
253
316
348
277
229
252
291
280
313
305
390
305
321
302
329
338
322
306
252
300
279
309
319
328
325
304
324
270
341
335
345
347
238
300
302
357
372
285
188
347
281
308
277
319
332
254
271
372
318
291
336
267
338
311
264
253
248
312
417
304
324
372
300
344
398
267
307
237
337
372
425
265
321
310
283
332
453
252
341
335
307
323
301
294
268
321
340
352
357
218
248
286
357
411
310
310
301
370
301
322
344
398
329
273
287
333
300
290
355
408
337
329
283
259
346
258
344
217
339
277
382
319
325
334
291
319
340
295
336
439
241
420
326
368
244
392
284
325
268
350
368
368
302
343
372
276
287
327
331
377
263
333
354
301
296
291
361
359
409
210
302
304
308
327
341
274
339
303
281
403
361
257
349
294
345
362
374
334
232
251
316
320
337
338
359
366
370
405
317
319
335
291
293
268
311
256
338
275
275
273
281
345
351
232
343
282
357
251
329
298
368
323
253
276
317
262
288
324
387
342
377
305
309
368
260
374
211
329
360
340
223
339
312
414
382
350
338
346
336
321
263
344
434
286
290
290
338
305
339
304
338
232
212
335
341
287
386
346
388
314
300
234
371
346
318
353
322
318
332
357
398
385
328
296
290
341
234
301
382
373
313
305
320
370
261
324
346
356
235
247
364
326
368
270
327
315
320
320
253
309
281
305
320
307
342
327
343
273
330
272
288
307
287
311
242
327
243
337
341
314
286
431
338
401
364
295
343
290
310
424
275
328
360
281
301
291
264
301
392
318
313
368
308
315
340
278
335
333
263
381
308
304
367
304
292
309
177
298
360
314
274
343
356
310
353
365
392
419
266
418
283
318
337
263
285
320
234
252
294
253
307
292
326
358
315
311
315
302
404
251
352
423
224
342
279
295
367
293
408
257
310
331
379
356
333
265
204
267
311
319
360
425
315
339
404
281
280
359
253
336
389
283
361
366
325
340
388
353
291
342
370
303
276
371
362
293
360
295
301
334
320
300
332
314
260
356
219
396
291
260
333
309
310
301
308
307
353
349
286
277
259
287
332
304
323
395
321
322
298
345
229
366
327
288
348
256
281
250
315
354
374
400
311
300
343
336
290
294
324
305
326
305
374
313
361
278
298
274
360
257
340
266
343
277
275
253
279
269
324
321
368
274
320
260
274
317
363
324
320
250
313
314
348
243
270
318
354
263
310
380
313
369
313
298
303
283
347
266
340
392
277
407
225
331
338
299
281
322
322
344
250
392
391
294
306
255
333
293
291
332
344
313
232
344
333
190
296
316
326
332
297
386
314
360
287
372
341
311
381
330
312
408
301
320
329
346
345
259
359
352
266
371
332
271
330
351
354
392
318
302
382
295
283
386
384
264
346
332
349
399
320
242
296
323
341
429
286
318
268
325
278
359
313
379
246
329
231
295
344
265
274
262
292
262
347
271
305
304
284
335
300
333
296
357
224
363
305
324
346
391
363
330
297
341
324
312
378
359
318
292
326
283
345
315
333
270
266
315
267
373
306
273
293
347
329
334
304
258
345
352
331
302
357
301
366
312
378
338
251
335
352
307
352
320
262
234
354
380
344
347
364
260
303
302
330
325
349
337
307
353
300
333
296
363
280
318
331
342
229
267
377
346
356
330
268
380
330
346
363
287
324
307
285
274
291
262
282
343
277
390
339
325
277
305
357
353
345
346
309
303
326
267
328
277
322
263
251
322
365
360
302
356
358
370
297
293
292
383
342
269
375
277
331
317
288
324
256
407
277
249
302
356
318
316
379
311
355
371
329
286
259
345
358
311
331
214
257
330
390
305
269
386
281
283
295
322
328
340
421
286
281
285
403
296
348
318
261
242
363
306
421
236
364
395
306
266
328
308
312
248
390
323
368
254
343
287
387
350
330
356
242
318
364
317
339
369
281
322
406
395
375
273
336
328
289
313
379
392
364
282
276
273
248
293
416
372
327
318
353
284
327
280
392
310
353
307
312
292
380
327
215
325
369
365
282
242
340
360
290
222
306
369
290
239
301
343
381
335
304
308
371
398
340
281
353
316
271
332
349
284
347
340
352
292
325
363
313
282
305
290
294
331
400
296
262
205
394
299
355
281
292
409
363
336
317
342
327
302
278
255
336
233
421
299
311
249
357
357
351
377
357
335
335
316
295
272
349
376
309
294
373
329
223
333
315
201
369
339
393
290
320
301
335
357
331
284
289
380
241
301
258
355
326
265
360
320
313
236
262
307
301
351
282
325
262
346
299
355
275
370
456
241
338
314
298
291
303
254
371
331
262
301
359
403
359
256
242
330
221
368
260
223
301
298
302
247
262
326
352
336
259
306
309
336
282
331
282
317
220
315
327
357
369
348
303
222
290
396
348
337
362
324
363
280
407
208
371
308
277
278
291
313
318
361
380
260
341
384
291
292
347
266
380
304
322
325
322
248
319
325
203
309
371
348
326
284
344
324
312
371
300
289
358
363
301
352
274
389
351
245
356
348
408
367
323
325
277
303
288
238
254
253
348
300
313
317
349
335
278
359
280
319
321
308
269
358
350
377
351
255
303
371
333
307
303
300
272
279
375
346
318
330
311
251
356
363
291
190
333
245
355
400
364
263
359
393
327
301
229
208
332
315
343
360
314
282
291
262
327
255
317
236
291
276
238
318
270
279
363
317
369
312
319
323
324
312
320
335
329
372
329
417
251
298
398
315
327
298
259
296
294
330
356
303
306
375
326
375
360
287
317
316
266
244
367
402
318
249
359
395
269
385
332
341
295
312
207
260
283
356
297
383
344
363
210
389
339
334
336
359
319
288
330
343
303
327
284
374
295
303
289
334
213
290
314
285
345
402
347
308
228
306
356
333
303
215
297
300
287
233
356
376
341
372
308
341
256
296
247
364
306
360
347
363
269
302
387
287
335
289
331
316
284
391
349
308
415
206
350
290
422
351
283
372
340
355
318
404
343
367
274
369
343
345
310
312
381
309
342
385
327
278
322
288
293
398
359
299
362
245
322
368
352
346
392
307
393
261
346
223
261
267
298
339
330
313
417
235
303
327
271
334
344
397
306
309
282
334
213
334
300
286
324
247
354
378
346
316
365
307
369
332
339
351
352
315
362
267
365
300
346
318
234
430
254
369
282
400
357
266
250
295
381
376
320
384
283
289
321
368
305
286
237
330
273
350
366
275
368
278
267
330
363
330
285
316
271
283
284
327
319
342
285
275
292
307
309
299
345
318
320
280
257
285
275
293
404
326
296
339
343
219
314
250
258
352
377
307
306
375
329
304
334
328
318
391
288
357
314
418
386
349
326
320
327
340
212
368
211
388
340
304
313
332
262
336
359
318
199
338
287
275
288
386
334
222
272
353
341
329
359
327
356
324
342
302
314
347
242
267
305
312
299
317
340
245
254
208
319
245
327
261
314
399
272
328
307
267
352
356
363
234
353
285
362
326
327
349
341
280
306
322
268
224
336
274
305
348
257
292
338
385
294
327
280
403
370
353
264
321
368
341
311
363
253
387
352
348
284
296
305
361
292
311
311
310
318
326
330
345
365
324
270
336
255
319
251
308
337
345
281
380
285
364
293
266
274
376
289
319
313
286
354
296
284
364
254
281
362
304
283
339
311
293
340
310
278
346
244
322
341
270
333
399
299
380
284
308
291
270
363
328
314
367
388
310
308
315
266
319
336
370
310
375
344
299
344
292
331
274
284
345
394
326
339
321
327
320
296
254
330
233
267
297
279
323
316
305
239
361
276
223
323
407
325
284
397
338
415
375
311
408
424
343
298
321
327
337
276
440
304
322
346
278
315
346
236
294
266
303
320
341
241
334
338
297
404
364
281
330
386
429
369
284
285
275
302
287
367
363
354
343
382
338
287
323
331
378
319
289
312
316
314
364
312
255
359
326
351
265
306
330
293
255
198
340
356
340
311
374
282
296
330
355
342
328
325
283
343
342
253
288
303
186
311
356
384
337
354
338
266
273
339
347
251
313
296
330
219
270
324
252
336
251
305
284
267
314
212
315
348
373
344
194
307
307
369
389
277
306
291
365
272
338
294
363
332
307
359
308
221
292
301
259
282
262
326
418
284
306
319
262
362
287
395
310
305
350
361
405
301
348
257
334
337
287
297
312
322
292
317
314
344
279
396
414
374
370
217
333
223
281
382
411
274
257
320
301
301
350
306
337
295
266
307
308
331
333
330
313
270
317
295
246
252
347
354
243
354
356
342
307
313
298
266
372
319
338
343
271
348
302
377
353
392
266
320
302
327
341
387
360
351
332
323
304
328
330
311
357
307
242
327
337
272
346
292
278
325
353
298
292
229
323
222
242
356
354
260
385
336
280
277
370
266
379
253
357
353
264
273
387
303
343
290
327
326
336
402
337
341
361
309
299
219
227
304
228
283
308
247
359
314
343
425
422
423
322
349
278
375
332
271
235
297
296
339
329
336
330
312
315
346
348
263
343
384
288
379
267
332
296
339
352
347
239
268
328
288
315
380
303
407
306
355
349
333
322
269
331
269
356
365
344
353
301
305
370
279
269
310
317
312
304
299
365
283
272
314
341
342
257
294
365
336
313
277
351
313
301
318
245
357
290
406
292
274
350
330
375
249
281
298
290
319
273
290
263
323
262
263
307
337
298
309
278
306
331
289
243
280
285
371
336
256
344
338
264
307
285
303
275
383
342
333
309
266
338
375
409
304
314
358
268
372
308
293
245
326
252
237
390
400
306
315
316
368
378
225
255
328
336
217
356
320
268
373
281
377
294
342
361
324
296
230
344
317
295
250
302
322
315
303
304
313
400
343
326
395
315
324
292
314
359
359
307
315
274
327
306
346
316
322
377
250
340
289
269
276
283
406
400
325
306
341
267
377
257
270
369
386
281
230
216
300
340
337
396
367
359
308
259
392
284
369
327
185
343
250
296
277
344
360
318
334
377
287
329
321
361
303
323
313
367
372
334
269
399
377
363
291
353
250
285
282
331
332
280
313
342
382
298
342
306
303
276
289
310
320
370
280
314
306
265
348
303
332
428
339
367
318
322
275
345
278
298
340
261
292
305
292
323
346
351
360
295
364
405
257
244
349
329
304
326
247
318
307
339
285
300
280
312
388
360
306
306
285
284
343
367
342
296
309
359
301
371
323
368
397
385
389
353
327
307
263
324
337
369
307
365
300
398
375
324
327
377
343
254
309
336
288
363
361
374
195
250
346
285
300
361
228
246
313
354
398
269
314
342
338
316
338
265
327
306
348
374
289
348
311
257
355
316
368
347
347
364
387
377
312
306
286
358
381
350
347
287
239
340
285
270
343
321
365
335
401
335
250
305
339
327
387
238
289
354
308
231
279
316
216
389
335
280
309
347
341
327
341
330
320
264
296
281
228
309
334
272
310
320
332
288
330
288
344
291
256
363
306
286
293
294
285
333
373
216
275
291
372
317
318
312
342
344
338
283
312
353
267
346
304
266
289
394
282
292
320
369
335
320
313
438
352
289
359
391
335
274
296
267
268
350
266
270
241
370
241
308
297
357
388
225
309
313
315
351
347
380
389
344
322
300
282
357
326
321
357
290
365
326
293
384
292
400
334
400
349
264
264
255
273
280
316
268
304
348
265
251
340
265
361
389
350
333
399
307
321
380
274
290
323
246
336
417
363
359
331
309
395
296
322
383
323
312
292
321
232
304
336
276
269
362
258
327
237
278
323
328
268
373
300
304
267
361
268
272
300
318
325
381
391
294
282
336
374
352
348
359
288
364
351
358
430
347
346
324
310
323
310
376
305
311
345
319
299
239
265
290
301
245
388
281
326
323
249
323
309
307
308
285
291
280
252
285
313
298
343
249
277
324
310
295
331
324
355
355
295
380
390
316
253
347
369
274
340
310
337
333
371
257
388
398
268
279
305
308
330
272
368
267
300
383
398
397
259
314
326
335
289
391
415
236
292
307
271
289
314
259
401
302
439
199
322
337
352
351
359
282
305
329
289
296
343
315
348
405
247
273
330
329
317
333
250
332
345
389
267
298
217
294
332
241
286
255
284
321
332
331
254
276
368
338
281
298
348
314
260
355
344
360
256
340
315
376
321
352
245
344
343
315
352
256
401
328
335
309
397
307
385
303
364
253
259
324
246
296
287
319
430
310
308
320
407
351
387
368
281
376
271
300
320
236
265
321
315
325
342
275
208
273
258
334
348
357
358
264
349
356
276
237
320
304
371
344
351
363
255
321
222
271
278
249
375
382
335
258
329
292
314
320
292
377
309
244
311
230
287
310
333
277
275
250
239
341
301
331
259
326
299
325
392
365
362
335
334
292
357
306
257
342
369
248
225
330
302
239
312
319
311
420
393
286
266
216
235
226
366
336
235
330
337
307
357
301
303
344
291
330
311
334
277
334
354
373
343
357
214
380
279
326
335
308
329
290
271
347
268
246
297
291
258
379
350
303
403
284
291
372
286
236
284
265
319
306
353
351
333
396
366
278
287
402
278
227
335
370
241
358
400
286
296
269
312
309
396
312
320
331
314
288
315
324
276
264
391
311
377
380
318
256
248
311
277
316
359
305
317
258
325
239
412
327
336
304
275
402
379
363
352
324
299
409
323
316
426
271
337
249
295
291
367
365
313
375
316
327
258
243
340
335
332
328
354
328
368
351
263
278
324
272
274
245
315
341
295
327
335
286
274
351
384
388
328
319
324
342
304
350
356
302
242
346
229
375
338
342
270
297
408
244
266
373
261
363
315
352
327
270
302
310
245
373
304
314
309
366
367
360
410
339
266
294
304
296
337
295
306
343
301
279
381
272
374
301
258
348
370
348
343
340
320
354
305
392
307
269
336
287
307
337
193
374
385
356
321
284
333
363
427
280
319
383
279
367
347
370
311
367
377
338
307
320
263
278
320
340
390
311
300
286
260
323
344
363
348
268
240
259
358
238
345
305
244
319
359
323
311
302
265
327
324
370
346
273
358
343
338
354
253
305
293
392
350
309
440
320
305
294
375
338
369
300
337
309
335
302
317
367
272
363
261
316
309
304
322
303
336
330
270
230
438
298
252
293
340
287
280
333
351
292
389
313
364
265
312
327
363
355
342
327
258
360
260
396
356
246
305
320
298
250
358
278
300
430
283
385
315
289
344
357
348
214
376
233
428
294
316
392
272
296
298
219
315
300
354
399
407
335
244
348
357
355
343
282
279
299
325
362
291
284
349
298
368
356
356
379
354
334
309
313
266
391
290
257
257
303
282
296
366
328
313
380
294
336
254
290
373
342
351
347
262
332
393
317
315
380
340
327
291
361
303
291
277
361
363
301
228
278
289
282
360
246
349
226
341
326
316
330
234
292
306
322
329
233
378
249
351
334
300
334
365
258
314
292
303
279
421
266
357
320
230
318
335
298
363
308
332
321
301
369
330
420
331
318
306
254
362
343
333
309
258
335
311
366
296
331
278
325
305
323
384
333
317
351
265
332
268
323
263
316
298
321
334
267
283
205
296
343
301
290
330
276
310
354
297
390
278
287
253
343
276
325
301
289
253
300
315
316
305
319
331
356
285
268
306
305
370
388
367
329
269
317
267
338
334
230
264
302
392
307
344
242
291
312
282
348
401
303
319
351
306
216
374
371
344
349
261
272
340
388
321
362
331
304
277
329
371
385
309
271
351
283
330
399
357
355
289
358
371
321
285
297
298
379
354
246
340
275
406
392
281
297
326
372
410
269
306
360
282
393
358
310
356
299
265
394
305
324
343
293
283
349
300
322
308
347
329
287
306
317
292
363
398
348
275
327
362
304
304
262
367
259
364
416
297
393
300
353
334
357
365
321
351
270
298
376
314
198
321
261
330
370
330
388
240
327
278
370
307
395
337
345
341
334
206
338
338
284
341
382
296
277
384
334
342
328
364
270
266
368
353
408
336
297
370
325
340
318
337
290
252
274
390
259
236
333
275
395
288
283
319
314
278
303
294
343
338
363
305
423
393
320
371
323
363
316
211
330
302
303
366
351
352
293
329
302
304
262
276
344
332
246
381
291
331
299
308
357
312
256
287
308
304
313
336
305
282
321
349
325
302
329
375
351
368
298
321
373
357
345
312
249
321
264
289
336
340
277
321
318
275
268
297
257
293
310
298
372
336
340
302
328
277
299
284
342
368
229
360
332
294
292
301
246
421
263
361
303
294
332
398
351
366
363
279
339
361
318
301
288
294
346
389
244
362
368
289
293
358
274
310
270
403
282
333
335
363
354
288
352
328
328
374
378
301
328
361
346
300
313
292
281
372
261
360
351
270
340
353
310
351
271
290
324
364
320
253
370
296
298
360
199
407
254
248
293
350
360
331
256
350
375
355
283
289
268
251
265
225
269
269
330
368
296
276
372
357
205
343
326
257
289
322
379
378
301
357
371
349
258
394
276
350
299
373
281
311
367
362
310
244
268
392
381
280
318
305
236
378
286
323
305
287
364
297
365
311
302
334
307
266
281
301
347
365
339
313
359
329
369
348
285
336
280
295
244
308
336
271
247
322
258
379
293
287
258
256
252
264
265
301
270
319
358
326
280
369
364
248
263
287
330
295
341
260
306
308
232
339
298
373
286
337
408
260
283
296
395
243
370
295
338
383
283
327
342
294
306
343
334
320
303
285
286
349
274
393
278
219
380
303
315
322
257
231
413
251
340
344
292
440
279
369
325
337
354
386
325
321
290
371
219
287
366
330
335
260
353
270
347
334
281
300
354
297
350
262
311
309
288
241
256
344
339
336
240
311
328
365
279
342
354
331
334
405
361
301
326
211
243
322
347
374
274
275
244
258
226
272
331
329
257
311
291
318
430
288
304
245
297
310
305
298
337
377
247
371
259
319
344
308
310
364
304
346
337
285
300
294
217
304
319
316
236
245
274
345
366
356
365
411
386
292
320
344
274
327
390
318
375
344
256
283
288
283
388
300
332
352
443
330
316
346
320
370
149
251
259
337
285
231
351
298
322
350
280
289
283
341
298
297
332
345
351
290
309
234
288
374
384
259
307
276
281
303
223
315
302
378
330
322
330
293
337
275
379
346
309
239
227
293
232
296
257
279
352
332
250
267
330
346
302
360
372
293
357
322
359
330
398
343
392
272
356
358
299
233
297
334
371
275
415
276
275
336
293
351
277
357
313
335
336
245
236
279
330
336
362
229
252
329
352
383
306
346
305
354
310
274
266
378
356
356
312
306
281
372
325
290
256
251
267
338
342
352
283
292
353
257
275
290
339
306
329
289
369
284
259
301
375
327
316
306
336
325
344
346
331
203
298
287
346
334
323
277
336
322
266
293
317
321
312
380
328
264
231
317
307
283
353
324
274
353
284
266
317
315
271
403
370
332
292
376
319
251
387
290
261
377
275
274
231
319
345
336
314
320
314
306
346
299
385
332
335
321
281
346
290
276
305
350
255
276
243
338
368
269
338
304
281
338
372
324
287
354
323
379
282
342
275
276
324
214
289
313
341
372
281
255
378
304
270
342
275
327
340
349
392
317
241
287
349
296
349
249
235
375
267
311
306
276
335
294
327
298
336
271
280
343
314
242
291
256
404
321
338
383
330
343
280
366
289
250
264
297
275
257
316
385
264
376
283
361
324
332
361
393
427
287
361
325
279
283
335
334
430
324
386
289
330
336
395
305
399
354
252
321
232
283
359
322
345
230
342
325
300
312
317
288
317
324
291
331
325
397
294
316
312
313
268
277
363
304
304
312
416
280
294
268
221
354
297
330
343
270
386
311
329
364
297
327
332
314
389
285
378
345
314
314
219
299
341
274
333
354
357
258
374
292
253
269
333
297
218
357
308
280
286
281
333
270
290
292
353
239
295
420
423
283
286
284
248
414
336
277
352
352
314
321
376
295
346
285
347
263
264
258
370
249
358
314
329
372
196
330
335
393
260
352
342
419
349
258
343
346
336
265
248
326
217
225
349
344
306
378
297
236
325
381
288
319
281
182
270
398
357
387
225
295
278
356
305
346
327
301
365
345
298
397
334
289
306
236
266
310
269
260
303
314
239
307
346
387
374
360
317
341
350
297
361
218
365
228
352
311
271
369
322
282
355
152
334
336
337
307
304
281
338
285
330
252
309
322
297
338
314
366
284
301
220
382
301
317
293
412
270
363
342
291
339
355
228
337
270
328
303
313
296
204
260
253
303
360
356
238
292
255
360
354
274
276
332
356
357
413
294
254
339
311
246
283
308
247
341
339
327
359
240
311
305
334
287
335
281
280
347
249
239
294
388
330
340
235
289
380
290
305
361
346
342
341
259
413
306
348
299
359
313
321
298
326
252
310
404
401
352
401
361
323
328
367
228
359
323
345
316
254
348
371
300
312
344
308
390
409
347
271
357
291
395
367
314
358
233
294
290
320
336
286
379
399
364
321
315
331
317
308
303
315
220
345
373
396
356
304
256
320
378
362
238
290
306
330
208
339
234
317
344
343
282
299
259
375
347
300
391
363
334
283
288
262
395
365
250
348
376
330
276
346
299
363
356
323
277
306
356
293
356
310
406
369
292
324
354
303
289
243
256
275
403
290
368
321
322
303
265
288
289
346
221
341
326
340
314
379
324
356
306
263
266
357
294
404
280
300
338
386
374
378
367
387
254
302
274
350
360
313
306
349
395
322
361
316
308
288
267
328
283
270
236
301
238
296
335
300
328
332
364
261
372
274
321
286
267
247
293
421
349
315
285
349
333
323
333
304
258
334
332
320
351
281
365
342
332
394
336
323
307
358
379
271
394
317
335
326
267
357
350
335
296
370
257
294
269
359
272
293
361
341
354
317
330
219
328
421
362
326
359
434
269
374
329
346
396
257
383
367
273
345
332
253
305
354
297
307
291
298
293
317
341
259
253
337
322
315
329
217
406
376
330
442
351
235
367
304
255
359
408
293
289
313
348
338
350
374
349
327
349
289
331
282
283
299
261
329
326
349
330
302
358
286
271
309
342
299
308
351
396
328
295
361
286
374
354
323
318
280
342
315
196
338
270
263
308
270
286
377
356
256
244
263
304
285
316
333
274
298
315
342
278
332
342
329
344
278
265
350
396
309
277
350
344
277
320
249
216
285
305
312
276
257
285
278
310
351
249
275
248
316
278
263
317
358
305
308
276
313
318
335
281
257
270
327
344
272
303
351
321
318
327
309
276
312
337
372
259
372
332
333
365
367
320
370
298
334
358
315
366
305
248
291
258
293
315
275
240
289
351
329
280
290
293
265
372
367
330
332
325
265
333
347
266
276
304
364
270
297
357
387
284
348
310
330
319
371
249
342
362
258
349
354
280
279
373
257
310
365
301
379
361
403
237
257
327
331
305
347
318
374
367
301
297
323
336
300
259
267
265
343
335
345
315
267
263
309
410
252
285
333
292
233
353
302
383
452
291
169
301
389
320
302
317
297
425
370
328
358
372
267
301
288
356
327
352
286
347
261
367
373
327
250
360
359
286
315
362
333
313
273
324
246
256
306
323
312
376
253
253
325
392
314
248
319
325
301
261
293
366
359
326
367
277
307
343
266
337
347
328
342
315
264
317
316
373
281
323
344
295
256
289
339
329
335
361
419
253
295
344
313
255
332
279
308
333
308
417
297
284
351
331
295
348
348
323
285
326
330
293
346
401
420
299
317
380
300
249
278
321
316
350
306
374
348
327
371
295
315
315
273
279
327
307
272
333
381
220
300
262
280
333
329
338
311
364
379
340
344
332
359
292
220
267
379
320
348
315
388
333
283
318
258
358
337
341
374
244
277
295
318
324
334
320
367
347
289
300
361
290
332
364
340
344
394
358
246
414
269
258
293
332
334
296
245
363
343
364
332
394
277
346
312
351
350
318
255
275
328
356
342
323
256
345
371
354
248
296
308
275
293
281
295
256
360
360
268
307
222
365
255
303
354
351
295
329
377
394
318
313
301
289
394
339
357
294
312
262
330
345
355
287
259
326
265
401
309
357
304
312
309
324
254
340
284
279
238
365
325
290
365
422
310
247
335
294
294
349
315
328
331
281
311
337
336
275
266
264
317
318
341
380
314
297
303
318
352
304
313
292
324
427
326
366
347
374
296
330
247
341
312
406
260
294
318
278
326
327
332
248
294
324
259
293
463
250
393
296
327
352
297
334
292
294
316
184
319
316
379
233
343
297
334
366
307
332
296
294
357
310
372
355
297
315
290
344
286
372
365
275
295
322
363
343
392
264
336
297
345
388
329
283
282
378
316
274
346
300
271
340
261
255
302
366
286
340
316
298
350
268
370
243
380
295
347
290
251
374
369
347
357
325
393
321
194
342
332
303
311
296
314
259
321
282
258
339
434
396
256
358
250
287
332
345
291
296
347
379
273
211
376
313
338
316
362
335
356
334
315
272
348
333
333
309
308
351
341
375
262
282
335
243
286
344
277
325
384
365
368
299
396
300
314
385
383
278
288
320
265
297
348
352
250
380
290
324
323
398
297
393
308
331
374
282
330
249
316
288
363
286
295
298
407
272
301
245
288
264
281
333
324
326
379
324
303
320
338
356
244
219
338
381
301
269
306
324
291
326
322
338
286
424
346
342
327
281
282
304
290
317
304
420
341
274
309
371
251
347
325
288
329
318
363
280
331
301
229
283
342
288
268
359
339
280
345
320
307
310
290
325
298
365
385
261
318
239
358
363
315
190
322
271
394
318
348
281
329
373
331
309
353
423
333
362
330
302
260
331
373
280
410
307
327
339
371
338
312
274
331
373
345
333
280
290
347
214
316
409
254
220
440
366
357
312
256
291
235
325
330
374
354
315
321
327
288
390
328
258
374
293
361
237
317
274
318
331
302
396
354
224
363
244
357
278
356
225
362
226
360
341
322
249
372
387
309
333
309
260
293
387
261
262
295
283
314
334
227
270
338
309
231
285
333
355
279
303
395
317
238
324
312
353
331
305
375
190
369
320
332
301
377
381
277
310
393
346
315
322
261
308
278
333
364
314
267
276
375
396
334
278
352
317
276
291
356
287
298
361
294
308
356
300
293
347
310
291
278
289
349
282
333
325
406
325
374
378
252
292
310
344
324
255
249
351
402
332
316
367
308
323
326
357
312
349
225
310
314
351
362
273
336
377
378
290
331
285
257
310
290
356
318
303
300
278
311
342
279
277
323
356
379
310
315
314
387
261
393
355
290
263
293
305
330
284
356
328
308
315
353
275
381
286
321
379
256
334
351
379
271
271
202
261
337
361
293
318
315
287
354
372
335
361
277
249
334
404
261
334
297
301
362
344
345
314
337
284
363
360
217
300
268
367
400
297
224
422
189
370
390
322
304
278
408
303
359
342
378
266
302
312
280
328
337
308
347
374
399
309
278
237
342
284
379
344
317
294
364
425
248
318
335
326
393
316
381
375
379
265
300
347
374
267
320
329
285
376
288
308
354
263
230
298
329
330
306
320
347
368
281
376
337
279
309
282
351
334
280
288
292
315
271
339
377
356
343
354
321
234
206
374
309
354
338
391
402
386
329
321
385
261
344
359
318
390
334
317
282
351
274
338
403
303
307
278
291
351
346
300
366
268
351
319
283
296
328
340
353
335
300
398
347
281
267
326
268
242
339
287
349
337
362
312
290
263
265
339
329
285
349
330
332
290
302
298
355
356
323
311
355
268
319
321
390
239
371
357
341
379
309
358
298
214
277
331
307
317
319
322
271
310
366
360
351
344
293
383
290
270
254
323
383
256
351
257
291
293
278
398
407
308
360
376
305
337
271
258
351
279
284
339
334
308
258
290
290
269
338
336
355
358
249
359
305
356
274
262
352
358
270
238
352
309
283
340
301
371
321
280
356
300
333
311
271
292
319
365
278
352
271
305
303
324
260
280
345
271
315
237
359
425
330
280
359
308
376
318
335
345
338
361
391
344
278
266
339
295
220
404
305
335
342
267
303
296
373
284
332
269
305
310
309
265
288
381
347
416
281
312
314
233
349
337
262
272
367
185
307
321
240
304
302
290
381
360
258
322
394
289
387
301
317
303
366
282
270
338
309
327
306
376
298
315
296
344
270
381
362
288
316
370
287
349
280
329
262
374
338
377
351
361
349
323
349
364
273
272
292
384
306
265
374
392
262
288
291
289
265
352
380
312
362
291
347
376
320
367
321
309
293
375
246
410
365
275
287
314
342
338
332
318
311
317
360
339
245
256
326
301
313
269
348
311
428
330
298
268
361
279
261
362
322
347
349
358
296
321
277
349
363
351
262
308
254
293
310
257
316
298
271
286
322
316
264
330
292
335
349
285
380
361
301
373
286
324
334
325
362
322
285
365
365
289
280
270
383
274
314
237
291
324
303
291
318
345
304
234
275
334
298
349
246
365
385
344
283
298
344
292
338
374
341
310
285
327
266
372
327
257
381
343
271
328
312
332
281
302
355
356
269
306
330
359
325
320
275
337
262
284
369
280
327
331
275
318
324
353
265
288
340
339
328
383
328
377
305
338
346
334
251
389
303
332
366
318
334
376
211
353
303
312
318
341
258
337
186
245
346
363
304
327
310
250
387
322
220
327
332
345
318
325
340
345
329
346
324
321
243
270
378
302
282
295
237
341
286
305
312
279
366
309
330
320
349
300
451
346
218
251
292
288
297
308
356
362
331
277
283
341
327
234
375
386
362
256
290
255
253
321
238
271
306
259
335
194
364
375
265
298
294
305
353
269
374
323
351
337
335
369
277
277
285
300
317
361
363
303
312
264
375
333
288
267
272
378
333
321
380
321
261
322
288
352
335
377
359
320
341
213
329
340
311
347
322
340
283
309
342
329
356
330
242
297
364
302
343
325
306
311
384
262
221
334
235
287
305
367
317
340
311
298
333
350
282
280
382
385
270
304
353
303
313
315
352
314
291
236
363
386
378
349
331
351
300
338
338
349
367
292
318
356
355
356
295
321
232
330
353
369
392
368
352
344
313
318
194
414
314
372
301
378
322
324
220
297
343
203
252
325
333
276
225
300
358
308
382
282
352
303
217
284
271
343
298
315
407
337
277
378
317
267
355
335
289
239
312
257
339
331
339
368
349
335
328
245
410
319
252
369
287
246
268
326
297
339
340
349
348
283
368
339
367
294
400
251
341
369
233
310
328
341
279
309
278
268
266
257
298
312
275
276
303
323
302
475
307
388
310
439
332
311
262
347
253
323
282
290
343
298
384
230
350
361
218
365
271
353
273
314
344
325
294
370
287
346
336
176
286
309
298
308
273
327
322
365
320
253
326
322
303
322
322
335
272
294
287
311
243
334
354
305
281
365
345
316
310
296
266
358
296
307
332
280
306
339
361
346
217
359
317
302
355
226
290
315
272
355
343
282
329
349
293
317
311
280
389
332
355
397
310
352
362
369
310
345
280
369
246
296
355
364
276
395
343
382
341
231
333
348
380
335
232
316
337
272
350
335
366
342
285
274
399
308
289
365
317
322
360
321
326
322
338
308
302
279
366
292
252
350
313
275
319
363
342
393
328
292
365
331
297
320
255
345
299
318
242
307
366
324
318
282
268
277
303
366
286
310
351
371
230
335
329
316
296
291
371
324
315
267
218
311
311
304
328
303
229
398
254
303
331
392
343
311
254
313
372
332
309
351
388
372
271
272
353
308
365
394
365
316
254
270
279
262
310
271
313
311
231
328
314
313
304
291
268
386
417
257
272
374
369
329
301
313
340
417
136
401
326
375
260
301
305
291
297
327
329
333
306
292
366
345
265
369
275
279
335
287
356
351
292
315
337
313
293
330
338
269
333
220
302
343
253
401
367
250
255
350
256
386
302
315
413
352
412
384
347
320
281
324
388
310
257
371
343
287
381
264
322
305
276
292
385
283
362
335
318
390
371
270
279
249
310
357
271
304
331
310
312
319
265
330
296
347
303
393
337
348
238
354
263
304
305
270
346
395
331
316
350
341
303
294
332
278
330
309
319
259
264
333
336
342
284
379
263
329
358
350
320
266
297
364
363
232
189
323
323
252
348
338
348
364
311
393
260
335
322
385
356
288
283
238
346
322
334
289
309
312
167
356
353
283
397
368
346
359
293
279
348
353
375
248
348
378
311
352
319
315
355
230
251
231
360
348
380
277
353
323
384
336
333
331
350
327
339
365
218
250
316
315
386
290
273
303
329
368
393
348
347
330
308
358
274
291
316
299
301
263
279
376
286
282
280
384
297
327
368
322
349
382
297
358
276
365
197
366
361
385
396
311
307
277
271
320
399
312
257
328
354
274
348
344
236
231
251
339
354
287
321
378
320
279
391
259
299
292
283
297
268
250
321
380
335
283
245
342
272
347
344
314
406
341
336
267
307
275
272
292
301
241
341
329
277
339
336
268
268
248
280
314
305
307
294
350
341
340
341
353
348
373
287
321
280
324
365
338
307
262
282
330
288
307
264
287
313
327
356
384
362
337
326
295
263
305
269
255
246
242
294
276
320
303
389
334
340
334
366
314
285
307
375
355
361
381
268
334
329
232
394
338
376
243
330
353
326
375
294
321
333
322
333
272
291
358
322
274
333
298
337
252
344
351
334
256
298
339
383
335
309
386
278
384
319
353
340
269
336
371
344
302
264
315
284
314
324
342
348
308
341
398
343
297
335
361
294
356
278
382
274
289
258
254
260
257
325
347
285
355
331
272
318
310
381
393
323
397
292
294
315
293
308
322
388
245
359
304
295
343
362
329
265
424
381
313
355
333
313
266
285
261
383
306
307
358
386
281
298
355
255
293
328
240
375
383
322
285
242
288
314
245
263
366
350
402
376
343
335
391
335
349
301
329
305
343
327
333
344
308
378
277
332
293
366
326
291
284
384
373
340
252
281
406
305
265
321
449
352
340
280
381
282
345
301
229
381
247
290
342
335
306
372
313
293
236
261
289
276
325
313
229
358
358
334
315
312
346
272
279
323
295
312
270
293
214
317
357
345
347
265
336
279
350
389
372
267
297
348
307
303
299
293
315
348
281
284
266
367
218
265
377
320
317
297
294
304
308
341
365
283
225
247
390
354
344
312
329
338
300
295
259
375
359
280
339
256
352
282
338
309
379
252
344
352
284
299
337
315
377
338
368
366
391
338
270
324
349
296
358
342
309
328
350
196
387
283
414
340
389
348
415
320
250
269
292
322
325
283
360
262
332
334
294
381
318
290
343
310
248
378
338
284
349
285
313
322
281
392
311
352
360
307
300
291
276
244
371
290
306
282
390
338
388
233
339
306
351
359
364
306
372
289
332
246
315
258
360
275
268
281
330
251
369
277
405
294
333
369
364
320
318
358
265
231
255
238
277
355
292
254
239
340
346
341
331
282
370
278
283
349
281
315
314
350
356
362
284
338
244
270
356
302
290
314
328
308
316
313
371
270
290
310
311
353
274
262
297
261
303
289
314
299
358
353
386
268
266
395
327
332
401
240
317
311
355
313
283
278
276
330
347
357
341
335
351
274
249
370
302
214
255
325
323
276
327
384
380
329
265
314
250
307
285
276
324
322
286
330
348
253
227
255
345
315
324
398
322
353
332
302
382
310
259
333
289
307
307
323
291
330
325
206
322
365
297
282
343
276
274
327
409
363
293
303
272
309
336
357
223
350
270
350
339
354
358
314
282
259
327
316
292
355
324
247
307
297
344
279
358
323
331
331
321
254
374
294
354
273
305
316
294
304
263
372
276
305
299
289
288
309
345
353
303
304
319
277
304
326
311
317
377
273
256
281
335
333
218
357
316
314
199
286
306
396
221
347
266
336
354
260
270
319
313
213
329
322
377
281
341
247
339
230
304
298
373
278
270
384
383
332
322
274
281
362
416
322
334
366
261
338
325
332
352
316
302
340
297
309
266
356
329
293
345
351
303
277
376
369
337
276
258
322
328
300
262
365
280
248
275
304
317
307
359
263
377
348
351
321
250
418
346
293
343
288
376
357
294
265
278
188
344
331
285
269
366
294
297
342
322
332
307
324
318
316
317
349
303
240
309
306
354
322
361
251
281
370
337
345
405
291
300
298
264
296
361
352
364
336
235
401
343
365
329
250
404
407
225
338
322
279
377
300
369
303
286
318
366
333
257
348
338
283
370
275
433
288
390
354
363
357
382
276
270
238
310
309
282
304
311
352
309
325
307
306
358
357
303
316
291
356
329
359
311
365
304
287
245
259
381
352
213
377
255
338
303
365
364
327
293
309
286
335
290
344
293
357
379
344
304
255
282
263
296
338
333
244
414
358
232
345
306
312
349
260
211
326
298
315
298
325
348
325
374
376
339
390
337
306
331
373
276
250
313
337
387
339
253
367
295
360
256
328
350
298
321
306
377
329
360
326
273
296
343
306
300
323
343
343
333
354
270
304
296
408
288
410
280
342
345
325
355
309
233
370
354
339
245
289
344
278
402
375
341
280
377
357
262
291
289
294
300
241
296
272
339
374
316
343
268
286
308
238
295
342
380
332
265
333
376
379
268
271
314
334
338
301
379
274
291
351
216
375
315
337
360
273
335
275
348
326
305
295
280
320
420
311
306
272
359
359
316
333
278
349
316
261
410
350
378
350
313
324
289
299
407
373
395
254
325
347
299
340
344
349
321
248
264
322
339
299
394
269
279
208
354
316
249
305
331
287
331
388
354
293
327
370
342
343
277
366
304
266
297
273
283
311
260
300
304
299
373
345
372
322
286
302
288
368
314
275
304
293
285
354
312
370
265
298
303
277
369
331
255
314
359
321
340
238
299
385
336
352
268
262
247
340
263
316
298
326
328
230
197
251
375
310
358
335
256
311
420
338
366
279
309
277
261
325
263
382
343
272
375
306
300
336
309
314
343
321
322
352
365
355
312
374
375
309
312
299
346
269
282
390
258
285
312
293
322
296
386
338
271
325
385
367
238
256
303
250
335
378
310
326
297
307
278
344
340
283
362
353
375
288
234
316
307
280
364
284
307
400
313
231
263
354
230
316
308
354
274
227
359
357
332
285
295
372
308
337
322
319
321
361
297
296
314
308
320
258
352
216
295
385
333
323
318
276
312
219
268
216
282
330
326
339
320
366
327
230
372
380
333
361
293
354
267
206
327
343
393
328
308
359
278
337
316
282
330
364
370
228
269
284
366
309
272
330
343
400
353
307
296
375
329
358
317
393
244
335
330
309
280
263
295
364
346
238
261
338
296
335
311
346
334
263
342
247
268
346
304
361
251
269
286
299
255
318
325
287
296
195
350
314
324
361
365
307
273
257
294
334
269
329
320
346
331
372
323
239
285
334
380
320
261
351
294
370
272
239
343
258
272
298
409
316
293
390
364
289
317
327
227
314
217
222
354
229
259
333
276
326
288
322
267
345
395
366
299
315
246
307
303
279
327
264
384
291
379
380
289
331
225
289
283
309
316
419
360
267
324
293
340
169
343
338
271
362
311
399
334
285
318
278
246
269
369
232
361
251
312
259
288
311
320
338
237
293
350
300
281
387
327
303
347
336
343
301
365
295
388
353
275
304
308
334
392
327
291
302
263
413
332
290
380
201
266
245
280
277
222
344
273
265
321
235
217
332
351
308
301
327
316
339
349
313
392
280
301
315
253
341
244
312
308
366
233
368
283
358
291
363
368
237
275
337
293
286
361
340
340
218
373
335
359
302
253
322
314
342
330
252
245
288
289
294
347
357
346
373
421
336
386
281
263
290
313
279
230
336
244
255
277
305
224
257
282
360
343
355
376
350
231
336
329
319
333
366
335
324
347
305
378
256
303
292
361
323
268
289
256
378
388
351
347
317
353
368
285
333
215
296
285
332
389
375
251
367
261
307
296
345
229
242
280
283
327
298
264
342
304
325
306
354
345
347
326
341
315
279
355
193
308
322
305
346
394
242
251
345
350
331
334
311
274
286
336
326
295
336
309
218
351
331
251
355
349
356
356
334
343
322
259
281
278
326
307
332
302
259
308
295
328
323
382
390
330
401
314
339
347
233
292
307
297
290
411
356
348
265
331
354
294
359
321
280
327
337
302
311
291
274
254
327
290
253
314
349
272
276
290
346
318
320
284
310
431
351
301
389
355
305
339
315
301
298
304
310
342
320
364
250
252
349
279
372
316
314
267
250
283
295
295
275
308
306
221
356
401
319
303
304
355
341
206
364
296
264
234
346
276
259
365
354
278
285
275
304
338
331
360
406
355
214
346
331
250
305
305
252
286
326
280
353
274
310
326
342
379
315
314
310
337
317
296
337
286
367
295
319
319
309
333
392
362
340
350
322
324
329
308
307
402
355
276
268
300
293
339
354
337
291
243
278
327
389
244
347
339
319
289
309
334
301
307
286
269
291
305
307
308
252
353
319
364
421
245
323
317
397
303
265
290
354
324
289
352
348
351
371
336
314
316
320
326
266
321
267
262
307
357
297
336
298
359
327
376
376
345
306
323
308
284
347
352
234
306
403
223
226
364
304
243
307
367
333
400
339
269
381
296
350
269
327
369
306
291
276
269
357
255
321
301
336
347
332
272
306
289
319
232
262
328
310
389
308
248
336
263
327
347
272
303
347
392
282
369
262
251
256
302
375
339
347
355
230
365
358
290
339
283
399
277
306
343
315
309
250
284
269
327
329
326
298
279
361
347
306
299
307
297
323
362
287
374
332
286
283
229
327
351
224
354
306
379
339
376
370
214
319
321
297
325
408
287
355
345
241
297
289
273
345
372
323
282
270
270
302
387
316
256
273
285
358
207
405
277
291
269
359
288
343
328
214
392
325
345
280
202
351
245
321
262
304
371
346
336
335
299
321
312
323
318
379
322
286
309
307
287
300
258
308
235
313
280
242
290
256
203
383
303
336
284
266
368
305
348
319
395
289
280
243
239
321
364
343
359
306
322
351
272
306
334
354
267
314
364
359
232
383
320
270
330
334
338
320
245
370
360
272
277
290
305
321
346
393
396
336
332
241
257
339
350
259
370
263
262
349
325
393
369
310
388
226
237
308
331
381
303
312
309
313
267
295
314
392
296
398
358
257
325
275
277
260
308
317
342
397
377
347
347
310
288
356
378
288
349
391
230
349
363
308
287
299
353
335
271
348
320
342
312
240
349
373
332
325
345
335
393
339
366
311
295
383
369
284
357
339
326
289
415
343
190
260
360
400
347
322
342
317
266
378
276
298
313
235
347
337
356
351
377
391
358
371
347
265
320
337
325
347
309
370
338
302
319
309
324
296
306
267
299
321
267
320
245
356
224
344
356
345
288
293
301
244
315
304
355
377
258
331
407
329
325
298
406
306
381
293
313
398
325
286
281
310
309
304
354
272
296
347
280
331
209
323
371
320
263
371
170
313
341
221
284
298
339
382
320
278
379
374
358
338
372
326
286
232
392
363
312
309
308
359
273
264
319
271
354
334
354
350
338
333
356
345
337
344
328
342
359
329
409
320
295
299
408
377
384
263
344
291
332
347
325
308
291
276
378
287
312
334
312
282
305
315
273
298
269
291
324
272
374
243
260
326
312
373
357
372
298
355
226
299
344
363
339
356
361
276
377
313
360
379
338
281
343
385
331
294
321
286
353
259
288
302
402
322
277
351
383
243
238
309
309
237
313
286
295
360
364
277
301
304
307
234
382
315
249
317
352
374
301
327
331
301
348
375
366
290
345
338
339
338
294
259
369
357
327
302
283
322
348
346
394
289
327
362
360
291
274
346
311
338
394
324
359
267
304
291
198
307
332
337
291
355
258
342
325
346
351
287
346
326
341
294
316
342
327
381
312
280
383
315
329
295
350
303
267
355
363
345
259
327
318
319
320
381
279
303
349
327
407
293
303
317
283
297
384
315
358
328
331
371
288
325
348
334
261
359
343
369
304
335
317
356
269
248
304
338
345
327
318
297
406
238
350
334
289
281
358
295
362
378
327
265
253
384
334
301
271
318
303
328
343
336
293
302
266
339
258
321
249
430
258
230
342
262
356
272
250
306
280
272
246
236
328
332
234
302
297
282
370
323
351
340
310
320
312
335
371
373
371
318
284
387
409
320
278
309
358
308
309
251
336
271
301
371
258
356
232
300
305
360
295
348
334
321
321
161
299
373
255
393
350
404
328
261
255
339
356
334
366
245
363
238
310
380
356
262
440
347
326
330
304
351
259
269
287
263
266
310
365
410
306
343
412
210
243
176
250
291
309
293
345
280
349
332
278
309
329
395
303
396
327
365
373
318
403
265
379
300
327
328
324
272
341
335
273
302
343
315
293
305
296
317
296
347
281
294
299
328
284
312
369
310
386
377
294
318
326
343
227
233
308
404
330
278
352
313
273
367
353
293
300
267
313
311
400
447
213
285
315
361
265
322
273
266
294
277
325
376
261
313
381
342
303
386
262
295
318
350
351
287
300
405
331
390
306
274
306
306
315
302
356
368
342
302
314
287
352
374
263
285
311
313
349
372
342
324
339
281
238
344
274
287
352
336
313
316
311
290
274
378
305
335
334
262
327
336
314
286
286
333
303
391
336
359
292
290
262
223
272
329
390
267
362
361
287
348
346
329
313
379
360
315
341
313
311
338
281
322
347
261
314
282
258
317
305
215
290
353
346
269
354
280
329
281
308
351
266
344
402
327
384
372
227
313
401
302
373
265
258
412
302
266
285
221
265
369
260
284
316
334
363
386
314
276
238
297
341
349
298
282
371
337
261
331
314
263
256
377
340
352
385
336
250
343
313
270
252
381
299
291
339
269
314
337
361
342
353
394
303
223
308
311
278
315
366
338
286
322
245
373
334
265
355
301
244
338
228
252
325
263
327
231
321
343
360
327
239
248
415
317
408
283
310
386
284
326
309
282
274
269
246
316
428
350
332
364
341
389
401
359
335
318
348
307
289
373
344
269
388
343
300
328
277
350
378
395
396
296
277
356
359
350
375
387
293
291
348
290
334
277
291
305
386
325
320
358
332
355
324
347
325
324
359
290
329
311
361
331
312
296
295
277
351
299
367
318
400
300
279
336
229
364
261
334
365
294
263
369
330
281
358
380
374
274
320
287
379
235
316
392
310
309
345
273
316
301
409
262
302
317
264
340
352
385
362
330
314
364
280
374
294
292
338
349
287
222
323
290
415
365
319
302
243
352
322
256
313
263
370
333
359
277
371
315
341
277
279
231
267
335
322
306
334
300
386
349
298
261
387
319
289
341
283
394
370
322
314
295
379
281
334
327
327
224
390
381
356
318
341
309
323
345
375
287
325
365
261
367
286
284
362
319
308
340
279
315
275
345
333
329
345
338
334
251
368
299
274
302
321
344
350
310
237
284
258
339
317
332
371
379
328
271
266
339
264
272
271
312
317
327
275
331
274
314
343
423
371
316
325
306
241
377
318
377
321
275
367
306
309
332
259
302
216
369
341
346
368
399
268
262
409
395
302
322
390
354
244
322
345
183
322
389
337
414
327
298
292
270
330
337
347
252
265
361
313
372
237
285
329
304
334
325
348
300
343
308
321
336
300
356
396
309
350
308
406
335
346
263
277
299
359
351
325
342
297
313
331
346
357
253
311
365
307
310
295
364
330
334
257
315
251
315
376
368
307
416
367
409
322
238
273
345
342
293
237
281
328
335
346
320
320
398
247
367
386
327
375
248
248
351
307
313
333
368
306
319
288
283
322
363
334
303
236
327
299
283
310
369
294
421
330
392
370
258
308
381
246
279
264
239
279
285
320
319
313
264
277
304
316
309
340
255
363
288
285
369
324
273
374
367
283
317
274
344
330
329
316
336
335
325
281
398
333
334
236
254
321
325
303
332
287
259
295
393
346
320
362
364
354
369
343
373
372
359
312
325
381
350
229
358
406
375
361
407
330
200
266
331
277
362
289
421
259
289
286
334
338
286
288
284
327
359
329
299
268
348
359
315
358
331
290
292
336
327
380
335
320
323
359
381
390
391
271
317
280
330
336
310
341
307
324
348
234
318
395
355
359
280
365
363
337
283
310
318
335
328
365
257
380
331
277
319
304
278
337
329
346
316
374
410
353
379
377
397
320
351
313
285
415
238
397
270
285
323
340
301
352
308
327
303
327
326
315
282
346
366
280
343
304
319
363
310
317
324
270
269
276
346
325
254
297
327
318
304
316
354
306
353
323
314
277
251
350
340
349
319
351
291
274
394
272
375
333
291
348
334
401
316
284
255
309
344
293
328
313
248
345
315
235
371
344
314
371
331
259
307
295
356
368
368
333
307
299
314
344
348
240
312
265
304
335
235
376
332
275
340
338
279
280
377
334
357
309
349
349
327
271
289
322
239
238
429
362
404
405
282
274
356
270
262
286
400
348
235
243
326
310
321
318
245
331
270
305
348
293
315
315
269
330
323
323
349
312
346
294
313
224
319
370
291
246
349
291
260
321
251
283
287
389
270
389
328
256
318
307
268
421
307
321
248
340
317
346
372
288
303
266
322
349
359
257
316
293
308
310
371
302
285
321
344
375
396
306
243
324
205
242
268
337
322
346
320
321
357
361
309
332
265
244
308
267
341
400
353
321
388
286
258
347
317
294
298
360
347
358
267
304
372
303
362
327
329
324
311
316
344
279
367
188
359
364
356
365
279
304
401
269
315
362
394
305
291
340
320
354
314
351
311
267
284
420
321
299
316
233
285
261
276
325
322
339
350
272
307
330
324
401
402
315
362
343
330
303
284
325
297
392
263
369
239
372
359
323
345
304
268
375
304
321
360
324
316
292
272
324
251
371
374
300
311
351
269
358
365
303
309
274
375
352
274
347
295
263
311
385
345
293
392
303
303
298
323
300
287
388
353
295
312
336
346
377
296
386
296
339
361
303
367
359
322
288
290
401
293
348
311
320
302
319
292
292
314
334
348
401
256
280
357
213
331
264
368
310
351
370
273
340
301
304
320
298
326
429
333
392
324
311
370
282
328
241
324
373
270
298
314
312
302
244
266
358
378
356
297
354
271
320
312
288
424
355
327
319
372
390
264
273
320
372
324
243
326
354
357
230
246
257
352
239
250
321
362
224
365
302
311
308
357
377
305
331
345
276
315
352
366
332
390
274
347
388
325
365
325
296
286
333
355
249
279
299
341
369
373
317
323
231
285
355
332
260
387
332
302
306
299
342
350
315
226
337
272
294
386
315
221
293
304
264
367
297
230
362
297
311
393
277
378
322
283
240
330
343
306
302
380
335
309
400
306
364
351
370
326
289
312
323
275
283
374
270
340
318
275
345
343
329
284
291
325
305
339
336
316
333
238
253
343
265
326
414
341
332
292
333
302
329
305
383
336
398
331
225
302
328
218
337
242
319
343
332
347
269
403
287
362
357
259
306
262
344
357
353
269
322
370
427
381
279
341
305
341
374
340
295
355
369
319
333
249
330
306
266
294
316
347
330
333
364
258
343
306
303
271
354
306
296
209
324
287
314
321
262
268
340
365
336
335
337
295
325
312
338
253
288
285
372
303
324
271
291
303
348
330
294
362
344
359
287
215
341
301
263
340
294
361
297
313
361
230
354
374
315
299
356
328
316
332
255
339
229
336
281
254
289
315
286
345
315
217
293
349
321
344
267
300
314
366
370
343
334
348
341
299
332
299
350
370
272
266
266
305
343
274
377
356
322
298
311
387
271
241
358
305
273
310
357
401
355
368
288
232
326
316
228
334
414
344
337
310
324
235
219
328
293
305
364
325
333
360
367
369
289
317
289
310
279
424
411
288
301
334
242
359
234
234
304
323
274
251
254
334
336
402
351
307
286
342
341
352
277
397
332
336
335
283
279
350
329
353
326
256
273
334
323
310
331
322
363
293
335
301
312
270
349
277
287
373
322
356
262
359
371
308
303
385
322
259
319
351
416
286
277
345
336
313
347
259
300
273
304
334
344
328
354
225
277
268
352
227
369
252
301
309
330
214
328
289
376
300
271
286
290
231
330
281
379
295
339
357
299
308
216
353
293
219
391
346
267
365
352
353
316
331
282
376
315
360
277
339
401
306
365
314
346
356
354
391
301
313
291
279
346
313
372
362
271
352
392
248
283
341
314
260
325
404
323
329
283
311
285
218
361
323
294
317
358
324
298
400
225
314
295
256
278
339
380
331
327
295
311
341
276
307
352
308
361
246
290
302
289
361
317
330
318
341
302
381
268
345
352
331
437
327
268
337
311
268
295
302
346
206
330
314
318
304
347
271
332
280
299
341
331
268
225
270
332
257
351
278
360
273
322
333
270
271
269
312
330
366
349
266
365
373
348
354
347
276
300
392
314
379
275
255
214
292
396
378
378
390
257
304
359
354
401
269
286
408
332
282
363
387
310
255
350
300
322
282
414
299
379
245
189
383
257
353
369
284
324
281
259
283
268
290
412
296
298
358
282
274
291
357
314
349
321
374
320
366
409
318
372
287
346
366
304
303
300
255
319
355
327
279
335
329
283
363
383
319
319
263
292
354
281
344
309
338
321
315
274
245
393
373
286
269
355
390
352
271
321
344
392
354
287
237
371
294
368
348
334
384
360
355
292
340
388
365
406
339
302
326
339
304
293
311
334
348
388
237
436
345
286
394
303
349
366
315
310
375
303
243
338
260
402
277
419
296
217
332
298
354
268
307
327
364
341
342
321
360
241
280
340
261
367
339
305
249
316
292
368
289
428
356
379
318
227
370
321
343
372
388
299
326
303
346
325
169
420
360
276
273
280
321
353
367
305
278
355
299
346
301
330
300
242
396
281
336
277
257
297
341
275
315
234
229
290
331
353
294
349
327
375
321
278
322
371
266
287
325
396
287
346
362
323
366
286
304
337
310
291
284
339
411
345
262
407
308
161
277
400
366
317
316
346
296
238
325
297
337
362
305
340
366
279
355
309
204
240
314
320
305
290
329
298
279
307
259
289
343
290
368
380
347
323
296
378
303
297
345
354
318
309
260
300
257
378
295
281
371
301
343
347
260
205
284
324
329
368
350
288
299
323
257
326
318
338
338
313
354
316
314
327
241
327
317
306
336
367
288
269
253
312
349
267
380
358
278
337
298
366
335
392
227
344
352
332
329
296
330
251
334
393
296
285
364
268
264
335
220
374
306
274
271
259
309
305
272
297
271
320
383
256
353
305
301
267
267
290
271
317
276
347
330
323
340
318
325
362
386
261
339
329
251
322
392
374
263
358
288
313
367
335
381
342
292
343
302
301
275
349
321
316
410
202
309
340
244
325
332
348
308
324
236
319
236
326
274
330
316
390
339
328
340
307
356
304
337
388
363
392
357
364
214
248
323
276
306
277
329
377
365
257
317
350
391
290
278
369
338
303
300
330
269
309
269
315
371
305
371
353
321
242
338
320
268
314
337
256
343
275
362
302
187
328
346
345
373
332
281
283
333
297
330
315
306
280
323
291
354
242
260
300
347
324
280
313
277
342
340
375
344
392
287
287
352
284
299
299
347
334
333
277
367
208
286
267
294
375
335
369
272
186
315
243
374
285
336
377
283
235
273
261
337
354
339
370
302
256
388
289
323
283
238
251
381
284
305
385
379
312
288
302
336
316
350
303
300
381
209
285
375
329
300
300
252
258
260
325
305
383
349
325
309
265
383
319
328
289
257
308
302
322
293
428
265
321
331
364
241
298
317
309
278
239
367
432
296
315
334
368
410
328
301
344
298
339
377
313
290
321
306
326
358
231
362
247
265
395
356
329
323
372
270
350
275
435
286
361
302
327
342
352
376
359
270
297
252
335
316
291
338
377
310
316
313
336
285
308
385
291
336
254
331
315
339
359
339
272
298
239
410
296
319
378
310
257
299
344
283
348
270
285
281
313
289
255
361
346
279
283
286
318
234
286
272
335
340
315
330
323
396
357
360
350
214
348
334
254
237
312
398
272
224
327
252
314
346
260
309
430
353
350
289
292
248
308
388
287
245
362
436
380
321
342
225
286
300
294
415
299
317
239
315
305
339
336
246
265
307
333
311
339
239
298
316
456
328
337
371
363
325
367
310
306
366
433
239
358
331
307
282
302
365
268
301
234
293
245
334
340
304
332
355
357
321
323
244
319
260
320
334
336
315
293
359
347
352
314
370
367
194
311
353
311
356
244
305
293
383
366
307
294
353
271
287
314
321
318
395
247
336
379
349
339
320
347
338
272
247
370
350
315
315
258
413
404
347
350
364
314
362
332
323
285
313
297
357
309
299
416
383
282
358
318
377
296
369
378
241
349
336
299
335
264
345
404
396
271
336
306
334
300
328
377
324
421
386
251
340
225
302
323
318
328
241
280
338
296
360
327
264
332
317
335
316
331
274
337
361
371
373
373
318
285
317
283
357
340
228
330
319
333
403
332
292
346
289
330
330
306
300
333
372
269
374
298
305
358
375
373
249
274
299
310
309
278
339
304
261
273
353
214
328
294
358
360
271
234
342
271
311
344
338
210
359
352
316
368
456
311
311
365
343
366
320
378
367
340
237
272
327
317
280
364
375
292
288
334
336
250
334
268
248
304
342
347
340
329
309
339
331
321
394
325
318
407
296
288
324
267
228
397
423
282
322
399
253
257
325
377
320
221
249
294
313
357
264
277
240
318
278
267
381
280
368
342
252
254
321
297
329
291
324
323
323
328
335
381
367
303
321
393
371
322
284
296
300
339
292
407
352
308
382
291
299
304
295
378
352
310
264
302
354
331
296
365
330
304
315
355
312
336
324
274
395
255
278
258
393
327
308
316
275
254
327
389
264
315
393
288
399
313
312
320
278
339
235
355
293
350
410
382
359
318
340
431
312
305
309
300
360
316
267
294
330
332
300
365
245
370
269
375
291
290
332
301
394
268
352
310
343
318
300
313
350
404
312
300
269
338
340
460
345
371
294
329
260
301
385
259
339
297
309
256
346
315
278
414
284
301
327
263
389
347
285
325
245
337
340
303
357
354
372
293
287
291
369
305
370
309
307
375
290
364
350
242
288
328
349
284
304
356
331
325
227
324
272
312
358
343
263
261
360
289
370
394
269
314
249
323
332
354
346
299
353
334
289
295
364
356
345
406
335
321
293
349
323
319
314
241
291
378
322
244
345
273
409
369
355
355
280
265
370
366
294
407
363
329
254
186
337
352
300
302
282
309
290
307
316
208
374
345
325
321
253
313
345
337
346
327
298
267
343
352
306
353
278
360
321
374
240
267
347
254
326
304
267
379
233
303
299
261
283
304
375
333
353
265
302
308
278
342
282
214
292
369
252
275
292
255
298
365
319
302
325
382
346
270
292
331
319
367
315
285
266
344
360
404
335
286
275
361
332
345
354
262
353
282
290
299
357
344
349
331
249
419
360
386
369
323
328
300
270
407
355
374
313
372
294
238
257
352
353
341
259
302
308
373
292
281
328
316
375
224
324
341
281
389
265
283
280
267
306
379
269
345
346
320
269
334
341
380
270
272
381
354
293
243
309
327
318
312
409
250
292
285
253
306
298
289
287
253
329
274
335
397
252
330
243
335
301
360
342
287
352
238
326
288
321
343
299
309
332
320
345
314
383
291
280
376
324
289
278
387
374
323
363
357
305
294
335
343
305
307
292
323
292
341
281
360
301
357
301
301
341
206
330
360
327
270
286
329
273
322
340
310
352
285
306
263
358
243
304
282
374
288
342
337
342
269
336
323
286
367
313
344
373
255
289
349
275
189
345
292
228
353
387
287
389
377
263
312
293
320
353
323
308
396
352
231
339
393
349
265
374
337
309
270
306
286
340
265
290
308
238
263
397
292
342
294
296
306
294
295
349
320
299
293
366
355
353
324
275
334
319
341
327
340
247
287
350
301
281
373
361
307
400
273
294
312
311
316
333
345
306
319
321
297
282
329
331
243
245
324
322
293
307
300
351
345
284
354
351
223
299
361
300
303
402
278
291
313
397
356
220
283
282
310
361
298
328
317
327
364
335
341
303
406
337
260
282
311
349
338
283
302
296
318
425
365
308
307
250
309
340
387
333
359
270
328
406
338
298
281
327
345
324
344
348
289
272
255
322
394
300
303
250
350
254
233
241
323
356
402
325
306
289
295
350
278
276
379
303
347
336
375
244
345
295
305
269
421
385
348
328
345
322
260
325
352
305
284
329
389
375
198
286
251
229
339
354
277
362
343
349
369
351
320
275
221
297
335
372
331
344
333
289
253
278
322
346
263
347
309
307
325
319
326
374
399
374
343
287
342
363
238
377
343
340
231
290
250
436
338
239
357
291
259
354
300
234
388
294
364
311
315
397
346
331
342
330
421
336
297
384
369
311
343
331
300
241
323
365
384
308
401
257
324
360
368
311
381
344
348
273
329
290
218
381
259
297
345
328
343
263
387
271
347
296
255
342
249
318
270
336
302
286
372
271
238
313
303
319
284
334
285
352
213
309
372
308
288
326
350
254
311
225
267
419
255
326
340
276
279
337
257
300
349
310
360
325
350
378
253
319
389
285
316
268
357
283
324
402
383
313
314
297
256
319
278
292
281
323
219
376
319
291
369
386
288
300
288
357
264
321
354
321
392
368
349
334
262
324
281
260
330
288
309
322
298
299
239
289
297
334
256
333
342
314
355
349
285
281
355
322
317
210
311
346
303
373
319
359
295
306
309
297
211
325
319
325
260
327
375
305
290
297
298
373
242
315
298
327
304
352
334
320
353
311
395
327
310
300
287
265
293
308
313
352
324
335
248
306
319
361
312
364
327
257
305
285
341
308
381
332
319
342
325
310
309
380
292
325
309
316
278
267
298
355
361
218
378
340
349
275
305
366
283
332
249
357
272
310
300
240
259
360
399
326
297
377
322
378
311
312
324
280
272
291
381
339
302
306
365
381
358
200
375
368
258
222
337
315
332
274
322
314
337
287
329
333
338
332
359
382
378
288
296
399
283
304
351
372
324
237
334
283
346
394
298
366
310
332
321
252
337
226
283
323
336
255
311
370
357
287
294
240
376
283
287
301
297
282
360
281
358
334
318
304
255
272
323
260
295
291
367
279
327
341
295
281
359
338
273
261
318
270
299
336
320
327
345
278
315
339
316
294
323
384
316
258
316
320
353
339
286
274
329
317
289
240
276
338
308
300
311
326
341
367
284
327
252
308
274
282
304
306
346
349
245
321
352
329
357
306
399
324
334
338
357
328
282
308
348
330
318
224
294
262
356
304
304
265
333
315
301
323
271
314
280
333
308
363
302
337
264
332
269
326
450
297
311
344
326
299
283
317
264
251
374
331
258
335
241
411
251
313
280
313
282
279
241
247
291
371
305
399
298
342
277
336
326
368
318
218
374
389
284
258
384
303
395
335
346
342
257
267
236
404
309
319
304
316
342
274
279
229
319
298
260
233
348
307
339
311
344
290
308
251
294
231
219
376
395
204
331
394
336
355
252
341
347
318
329
281
350
343
318
384
284
303
421
256
317
324
325
292
340
312
382
334
312
269
322
337
312
275
336
212
301
363
231
290
293
358
342
342
326
433
338
284
388
253
310
342
263
388
316
339
315
314
272
362
312
426
308
322
299
310
365
348
279
369
261
342
286
315
355
221
237
335
367
345
296
360
349
313
373
236
246
352
315
342
354
421
257
347
370
191
340
312
338
367
370
369
360
305
363
388
291
350
300
300
345
334
328
381
306
299
257
279
309
252
316
357
321
270
339
317
290
285
290
275
297
331
299
286
293
379
292
384
279
381
349
292
299
325
306
276
232
374
383
371
360
338
321
327
352
268
254
352
318
384
278
400
362
256
357
347
363
256
314
283
328
245
285
319
326
367
270
344
281
325
298
310
265
278
320
296
313
340
251
259
356
194
331
220
361
301
318
271
387
240
359
272
309
337
294
277
287
282
299
325
368
323
262
431
325
396
329
283
370
340
376
320
385
267
273
349
337
298
392
353
338
367
299
337
375
323
356
316
341
294
311
352
350
284
253
315
354
378
363
319
262
198
310
317
332
264
276
320
388
314
286
336
321
298
273
346
385
316
351
376
299
340
237
237
314
297
182
189
251
308
284
283
395
320
369
338
307
309
293
293
298
344
417
409
351
365
280
353
353
321
305
290
317
337
277
352
342
304
317
286
258
230
352
332
258
353
343
308
302
374
303
349
308
330
319
281
275
272
286
317
372
369
295
326
411
312
266
378
277
363
220
275
355
381
340
277
287
366
256
343
357
251
229
329
352
335
337
312
421
256
334
331
328
269
318
342
293
333
352
394
331
333
347
286
348
322
296
397
354
249
270
335
375
255
388
311
286
276
322
339
367
328
340
352
307
351
306
291
339
322
305
291
230
400
341
356
408
246
295
277
244
250
322
238
317
316
274
303
320
319
270
279
302
274
337
271
322
298
293
336
319
347
315
352
306
343
339
359
289
242
329
311
265
311
348
252
403
283
317
356
348
316
351
285
327
324
343
279
301
332
213
324
314
351
259
254
366
308
258
335
327
306
351
344
312
314
354
293
353
334
363
331
335
383
289
335
264
329
368
320
291
296
333
304
307
296
284
300
326
395
372
323
295
235
265
360
333
338
381
317
313
285
367
270
243
314
307
267
306
365
214
378
352
266
310
286
319
270
382
392
281
296
278
382
309
316
302
287
365
276
391
344
349
335
253
336
324
306
301
291
301
237
322
257
258
282
243
407
354
312
241
370
314
368
396
253
334
307
341
349
291
355
416
309
324
270
346
303
297
301
302
330
338
349
313
307
267
318
211
452
324
375
327
303
274
320
309
268
315
285
311
298
383
314
284
360
360
317
315
291
305
353
355
256
331
295
381
312
226
292
279
306
329
359
297
207
339
293
305
291
331
316
280
336
366
241
356
355
274
378
333
338
382
325
351
305
283
291
350
248
294
385
263
365
314
216
279
340
303
342
318
239
268
351
327
340
353
354
312
242
243
327
288
284
326
361
367
362
369
347
337
401
264
238
326
353
363
368
351
261
324
281
354
283
330
292
372
380
348
260
302
289
265
242
276
360
308
285
278
297
295
384
377
344
285
270
370
294
364
333
275
313
336
292
299
332
358
290
284
313
340
280
307
316
217
330
344
170
277
362
215
364
393
327
198
270
284
358
305
234
353
345
312
287
359
289
349
330
322
243
340
367
379
347
409
361
321
331
384
353
407
249
298
380
342
325
261
375
390
318
324
340
384
245
321
333
377
347
322
274
346
306
332
229
356
253
254
336
298
373
372
375
369
270
204
321
248
314
340
299
393
257
351
257
224
304
306
307
339
350
326
332
359
341
332
331
329
318
260
343
184
301
372
358
293
252
278
330
327
253
323
331
344
400
263
279
313
273
218
281
343
277
283
246
312
296
312
352
297
260
338
209
267
375
312
358
337
365
310
301
335
332
258
323
283
358
270
413
293
363
292
278
347
189
238
306
242
406
215
287
392
338
312
347
334
316
254
329
348
344
441
294
302
362
357
301
363
401
319
350
314
413
312
372
280
296
237
338
318
388
331
307
352
306
274
394
329
360
282
354
418
337
366
391
317
419
299
235
287
299
282
385
324
332
326
386
321
254
266
292
366
350
263
329
338
385
309
345
307
269
290
319
327
392
347
211
393
352
346
318
275
345
332
294
363
272
289
335
372
437
301
330
268
396
391
373
340
277
384
290
344
279
279
311
301
401
307
389
342
299
311
322
310
258
270
342
305
322
296
282
353
297
306
267
297
277
254
389
296
319
266
315
255
278
354
352
349
349
327
342
295
296
352
319
323
299
355
360
240
242
335
283
301
359
331
266
357
276
404
338
248
363
270
366
240
235
317
296
315
312
258
350
301
391
308
344
419
309
274
368
294
324
273
350
278
262
336
374
301
370
361
235
306
399
340
281
385
380
362
249
386
371
284
248
350
331
384
349
375
363
328
334
293
288
291
313
304
335
335
320
212
394
304
274
305
283
361
306
304
314
286
365
248
314
319
288
364
314
285
417
292
367
306
350
322
282
291
377
312
320
314
266
369
310
316
375
288
266
283
211
314
290
356
374
301
216
308
415
369
320
268
228
318
317
277
252
398
412
324
308
319
316
343
334
304
270
290
263
244
335
331
228
316
399
313
376
237
364
241
275
362
370
276
259
310
408
286
335
320
321
287
275
348
332
348
319
260
349
318
301
282
278
366
252
279
293
380
330
306
409
340
349
254
370
304
342
365
265
344
282
323
389
308
275
386
335
340
333
322
316
290
239
211
368
265
320
354
277
289
299
314
295
335
319
339
317
308
291
249
278
284
329
295
375
354
280
296
288
297
296
315
264
378
355
365
325
259
355
333
389
309
329
368
349
274
349
308
375
339
259
379
308
235
348
292
394
309
313
334
310
358
356
254
280
323
281
361
391
280
290
343
332
329
336
336
315
349
291
293
296
342
331
301
326
283
250
307
333
307
323
312
435
356
386
251
291
224
342
401
210
226
354
235
318
319
241
314
284
239
360
363
346
302
357
395
288
297
270
370
303
356
306
411
344
310
245
384
322
327
302
282
304
377
274
341
298
299
342
304
351
349
290
298
362
330
266
242
383
330
279
209
227
323
302
274
348
350
328
292
237
303
288
356
303
305
334
306
287
302
313
300
334
331
366
372
333
397
288
289
318
336
318
268
294
341
286
279
410
301
281
278
324
386
394
346
236
272
332
337
310
285
318
299
286
259
368
378
278
285
390
340
264
342
378
262
324
275
362
283
347
314
411
363
328
246
300
292
303
359
335
286
327
379
405
239
283
246
361
323
323
274
280
393
400
304
368
276
333
320
281
353
278
261
291
283
312
346
360
414
282
345
308
334
351
287
252
271
332
254
326
342
358
309
305
205
310
294
356
282
269
328
317
257
375
298
364
405
385
305
351
288
369
302
258
345
354
221
265
281
340
248
328
316
300
294
345
226
270
385
336
250
340
284
320
362
243
301
313
416
255
243
381
301
314
343
383
229
384
345
229
356
346
422
356
274
368
358
327
334
284
239
257
364
254
247
339
302
417
306
241
344
302
294
360
271
268
245
283
388
349
283
307
270
366
294
332
318
338
383
329
201
319
370
392
373
321
371
380
305
305
301
351
386
259
366
356
345
273
247
395
345
372
312
261
406
345
248
348
294
387
315
235
296
325
262
287
298
258
384
289
363
296
319
295
258
333
300
374
291
281
318
319
373
294
319
437
256
283
344
262
266
211
229
365
300
386
345
267
336
414
331
366
378
290
200
262
355
333
326
353
291
337
252
322
374
385
400
324
339
204
358
342
334
405
268
291
321
344
387
320
312
271
379
297
291
314
190
345
270
275
386
300
292
254
332
266
327
251
350
365
303
271
329
274
339
362
287
358
330
361
305
307
337
342
306
281
420
356
322
388
300
304
331
369
242
363
200
336
333
330
335
334
344
277
341
328
340
333
245
368
254
318
347
348
385
254
302
275
261
310
345
310
288
286
350
273
361
263
407
224
273
328
374
293
340
308
286
360
296
252
283
303
371
352
326
250
284
296
355
234
324
260
300
283
378
230
309
282
312
296
374
289
362
239
428
316
335
346
344
308
387
276
362
377
202
343
344
340
291
320
357
422
302
276
392
243
331
303
307
357
303
262
379
317
230
294
379
328
308
364
286
324
283
325
306
340
307
254
365
303
342
303
351
317
330
365
300
338
346
271
340
327
413
302
353
276
223
378
281
384
364
369
356
255
299
341
294
328
328
334
335
279
375
333
317
337
286
294
346
293
252
308
230
318
267
395
417
289
352
338
336
327
324
359
342
338
329
274
334
319
244
275
272
324
262
336
406
279
368
292
320
310
256
321
264
310
285
347
240
341
271
386
331
283
358
367
365
331
323
357
345
322
315
305
304
349
301
374
368
382
314
255
313
344
266
373
267
296
364
329
330
319
349
300
248
315
360
300
299
420
310
318
287
293
337
420
347
341
260
332
382
235
348
289
398
308
351
234
358
244
296
247
279
414
257
364
293
266
318
310
324
319
362
372
325
362
239
311
346
371
286
336
231
308
385
294
379
376
346
349
359
397
328
338
324
294
323
332
229
333
212
304
312
394
366
349
293
245
294
293
313
360
358
329
254
384
291
306
237
362
254
308
344
345
210
319
351
335
232
295
358
201
286
299
331
309
336
351
259
318
339
356
327
291
228
326
283
308
331
349
304
230
361
256
175
327
276
297
336
304
330
268
372
326
346
339
315
298
330
316
327
316
220
383
287
356
293
277
390
274
302
354
288
242
297
357
307
270
302
269
299
384
304
260
396
309
339
329
328
351
316
290
418
283
347
282
243
246
224
331
340
282
278
283
293
366
347
221
230
340
301
374
336
325
284
345
245
351
253
263
294
295
248
325
292
303
261
403
362
306
239
359
306
312
327
240
321
304
323
299
323
336
235
260
258
322
296
342
280
242
335
339
300
333
281
269
340
352
414
397
372
343
307
355
332
327
262
364
311
324
304
300
295
318
275
266
323
290
275
298
247
301
363
333
293
303
253
270
412
294
287
266
286
237
293
341
340
290
328
353
356
377
328
291
251
289
441
299
345
298
283
321
359
313
356
367
319
287
340
290
297
382
390
253
273
294
231
310
336
332
327
311
318
289
410
310
246
297
331
323
405
224
212
333
268
279
253
355
366
238
356
353
322
235
301
278
297
261
322
301
372
313
350
339
304
256
365
309
341
364
215
258
237
359
371
275
327
388
285
430
301
334
334
258
271
334
296
317
262
295
254
318
283
310
386
345
214
338
314
289
278
329
323
273
318
393
321
275
379
344
351
299
316
275
377
299
279
242
305
280
290
326
343
294
256
322
319
397
263
350
277
304
296
371
285
355
304
320
324
401
305
347
260
333
322
348
304
296
293
249
283
282
276
250
342
368
323
277
208
346
341
302
329
344
316
337
385
393
277
336
241
361
386
370
361
353
347
339
346
271
308
347
306
317
259
325
280
305
396
361
281
267
296
298
344
348
359
333
366
268
335
405
310
275
273
317
306
364
324
310
295
202
317
320
284
292
248
336
249
333
311
313
270
360
329
298
387
352
288
340
318
404
282
384
262
368
381
366
282
340
336
236
336
322
289
305
221
325
332
264
332
389
318
354
266
328
405
324
265
356
387
329
293
298
374
335
299
320
302
339
373
274
380
344
323
213
285
311
391
386
331
346
246
295
330
294
314
274
266
337
369
309
338
294
266
370
349
339
306
324
304
293
302
353
276
310
309
274
314
326
269
307
276
335
236
294
243
370
309
331
254
317
397
324
265
322
324
346
336
280
305
309
346
253
278
336
293
301
330
327
353
257
306
237
321
247
316
220
359
397
275
319
245
318
283
259
329
324
331
229
349
297
308
315
272
384
332
303
357
321
325
314
316
347
320
329
405
356
350
298
386
311
334
312
328
366
415
386
317
354
361
327
294
260
344
343
336
284
228
312
330
359
316
294
332
366
337
329
301
339
355
267
243
362
284
291
376
346
330
433
313
317
322
392
293
369
299
319
344
382
312
293
370
339
300
295
272
293
335
277
249
332
387
284
338
332
320
309
273
358
309
303
281
312
336
352
386
347
262
321
370
289
356
304
327
304
315
325
341
323
401
255
386
319
378
387
380
333
374
328
296
263
152
287
256
283
299
289
295
251
306
325
359
274
242
327
297
312
281
334
277
262
361
318
337
320
363
383
347
352
321
331
283
367
333
333
360
299
309
186
326
319
342
297
350
270
296
317
374
334
294
235
423
401
343
246
308
355
354
403
238
321
312
302
338
355
244
309
284
342
259
356
275
285
264
284
275
383
322
330
294
322
328
282
278
272
356
330
302
331
276
257
337
315
226
336
362
361
348
200
337
358
290
375
288
333
326
263
298
346
361
257
330
301
311
270
261
270
256
307
386
246
367
291
341
348
249
388
332
297
316
345
308
378
297
345
306
229
242
322
257
396
217
275
379
347
373
218
363
338
370
355
338
361
351
327
330
292
272
269
321
309
331
270
364
331
270
323
317
317
344
234
331
268
339
287
322
265
320
377
265
314
303
326
338
305
300
304
294
349
267
309
324
330
211
399
341
271
314
332
317
371
307
343
313
323
221
292
298
329
239
242
325
274
345
299
321
323
322
332
364
234
322
405
326
347
318
294
266
341
322
378
287
357
354
289
357
329
319
300
278
258
301
349
316
306
303
318
283
344
315
362
343
380
315
303
371
316
241
326
287
359
305
258
266
289
282
324
290
332
316
338
279
341
362
282
360
342
261
337
313
279
302
346
377
332
268
397
300
404
319
319
333
288
398
308
303
302
275
343
316
254
293
338
300
299
351
284
237
294
330
295
215
289
334
322
328
235
281
263
278
368
365
377
331
286
357
304
322
246
322
283
335
322
296
293
288
316
348
247
293
403
376
344
277
315
299
298
391
371
298
402
326
284
320
271
282
354
326
316
361
308
362
325
373
297
313
216
350
345
286
299
366
381
312
275
392
248
303
286
347
346
259
341
258
311
306
373
352
305
350
361
299
329
310
305
329
308
330
253
350
338
261
298
361
347
303
278
261
358
352
310
284
371
356
338
330
287
250
297
329
303
326
336
358
239
359
225
313
346
398
240
223
387
366
290
293
312
345
375
297
244
347
344
249
375
297
264
323
399
378
312
293
379
381
312
207
373
336
322
350
419
270
306
333
253
279
358
305
329
329
339
324
347
356
276
379
259
225
331
330
243
345
321
366
210
279
294
334
259
287
310
243
353
411
300
282
381
319
360
400
270
237
282
334
363
288
259
305
340
341
324
353
283
315
288
297
316
328
390
254
334
282
307
362
371
288
329
324
376
324
311
271
272
320
298
329
387
299
267
309
284
284
244
282
383
383
265
236
356
334
352
337
319
309
249
364
318
355
367
339
352
328
311
230
298
375
326
335
325
416
375
291
289
245
432
304
385
277
348
289
400
252
359
347
336
264
318
263
384
320
331
360
308
352
331
388
256
355
327
366
334
380
344
229
306
358
355
300
338
349
355
340
298
368
223
318
344
389
360
337
319
312
358
321
253
238
315
260
349
326
337
290
284
384
341
322
318
294
367
359
290
261
327
285
362
326
344
329
341
299
332
311
327
386
271
332
323
358
272
382
323
305
318
277
255
309
276
301
326
322
332
371
434
325
374
371
327
328
298
389
331
371
409
289
340
344
335
355
335
385
310
239
283
279
370
316
330
306
296
354
330
333
252
274
234
367
374
310
399
274
285
259
421
324
391
337
324
310
427
349
327
344
388
278
302
352
287
305
374
253
299
298
354
325
348
315
299
288
325
270
360
357
318
358
315
278
379
260
303
365
383
330
335
424
294
338
308
342
371
327
356
340
307
314
297
366
277
271
327
258
265
359
307
254
356
268
338
366
299
297
359
339
427
372
367
355
328
319
322
335
278
268
382
261
355
356
308
318
284
336
373
389
315
284
304
381
258
328
360
331
279
263
400
339
336
284
262
311
334
259
301
321
302
312
335
280
341
369
401
363
311
325
355
228
300
387
308
391
280
331
339
297
315
305
343
354
337
340
349
239
250
367
282
326
352
269
294
255
266
290
312
330
204
268
339
351
279
278
331
360
327
335
374
260
306
321
318
300
378
360
327
382
356
251
298
328
333
340
241
384
340
356
233
319
245
268
306
330
299
306
387
268
341
349
281
364
382
385
261
271
306
355
326
288
336
224
354
365
292
327
311
270
333
349
302
282
301
289
285
326
353
398
403
302
304
255
312
295
398
323
288
311
363
331
303
327
329
269
283
283
338
328
305
386
269
315
268
310
300
347
297
266
392
344
310
334
316
337
352
331
347
361
334
302
254
280
383
317
354
299
314
324
304
293
295
279
289
403
280
304
336
261
348
247
280
255
386
309
332
340
377
223
339
259
321
254
314
398
363
270
285
375
314
332
255
379
321
302
234
306
308
326
314
326
318
412
223
343
237
291
339
280
289
331
385
262
351
322
256
263
315
225
347
354
406
333
265
329
292
296
358
311
367
287
289
296
286
378
329
275
273
330
322
307
264
284
337
296
210
329
191
245
356
369
238
397
323
352
305
332
266
259
349
317
377
360
296
250
355
287
326
349
319
384
258
340
288
275
219
395
266
267
272
382
281
313
394
321
332
289
252
336
310
336
279
326
349
302
220
359
276
269
315
257
303
311
317
306
324
329
329
287
308
347
250
373
313
360
334
320
313
268
314
286
247
272
352
351
381
354
343
265
313
286
347
340
310
318
270
301
351
323
306
315
237
282
223
218
306
345
327
319
314
237
296
309
375
395
279
317
278
327
305
249
315
261
342
273
332
376
321
277
377
236
283
397
359
311
353
317
344
376
273
308
275
344
343
352
379
261
299
320
394
337
290
223
398
341
346
285
290
366
303
380
298
330
278
371
360
273
303
275
386
399
338
293
278
402
282
268
317
344
297
371
270
313
320
323
312
351
327
342
320
272
303
364
289
318
313
282
383
255
304
288
329
282
269
303
386
299
406
268
309
370
356
417
312
357
328
302
330
294
281
340
287
302
325
360
314
352
360
392
292
359
317
311
339
343
386
368
340
330
381
342
301
282
213
329
387
334
255
296
378
387
350
274
244
321
240
270
341
353
323
325
254
337
308
320
284
280
335
294
300
253
280
266
335
220
313
339
315
386
248
218
292
312
343
322
338
357
335
302
331
291
393
331
312
339
344
344
283
304
333
291
305
391
340
322
272
306
275
351
366
289
320
314
320
281
341
302
344
356
355
405
240
340
336
374
323
234
305
298
267
337
281
362
251
293
330
294
267
343
303
378
328
345
222
281
295
335
379
339
290
266
347
237
283
261
304
271
410
370
278
257
263
319
351
422
323
329
278
409
312
290
380
303
290
406
292
356
320
278
284
258
269
330
337
376
371
296
256
222
317
313
279
403
328
261
332
325
261
349
352
343
302
335
271
353
300
283
238
229
346
372
320
398
324
259
321
391
377
285
358
371
278
331
313
286
368
295
345
333
386
284
328
325
384
313
315
397
345
345
317
295
375
250
336
368
391
380
388
310
325
317
334
306
283
300
301
358
293
284
369
297
304
361
241
347
345
322
312
306
405
269
232
218
275
329
298
326
281
309
291
298
327
281
334
317
310
349
264
249
304
355
392
360
317
337
307
294
264
278
313
341
359
367
339
226
220
372
307
303
277
339
265
370
297
351
356
351
353
323
277
373
394
276
309
293
369
211
299
368
347
357
367
167
380
331
237
381
349
320
278
373
304
335
290
356
279
268
306
337
361
316
347
296
281
351
288
275
251
206
348
286
392
291
311
233
356
299
307
279
308
314
269
294
361
314
372
344
286
399
343
294
294
254
256
345
294
312
277
342
306
285
270
363
268
343
313
366
283
432
296
361
355
334
332
266
348
370
328
381
250
387
335
338
256
334
267
252
329
424
305
326
310
303
324
295
313
317
263
291
385
296
352
283
227
333
293
301
389
315
344
278
335
403
392
341
227
218
344
274
322
312
266
356
361
311
365
252
291
378
357
390
325
240
326
325
312
308
335
361
353
385
272
344
313
293
265
366
277
248
318
307
223
244
261
240
346
224
299
280
350
330
291
323
273
291
323
368
280
262
357
284
283
303
212
299
347
350
299
267
316
322
330
412
274
272
244
354
265
217
301
313
326
279
341
423
318
393
267
344
360
343
292
326
326
338
300
335
267
361
342
374
249
373
333
370
289
365
268
213
271
346
358
279
223
293
317
301
290
307
340
380
328
362
319
256
277
284
304
352
323
294
290
302
344
289
299
386
368
438
262
295
244
261
358
361
273
240
365
298
326
321
236
336
267
371
341
312
296
324
270
353
328
344
416
302
279
278
347
336
321
329
336
322
346
289
287
364
277
291
270
284
324
361
347
339
311
245
272
338
334
392
302
367
276
391
349
339
364
325
361
379
288
251
233
311
301
343
233
342
308
315
326
259
322
326
327
292
390
244
237
321
305
342
323
364
358
362
322
306
303
368
236
280
408
294
265
264
342
318
399
314
312
268
296
283
345
287
318
246
378
266
294
298
312
371
306
359
210
338
380
326
373
317
241
389
335
284
278
318
299
312
393
269
278
414
391
347
353
238
254
353
321
324
311
304
295
321
327
282
259
269
377
315
310
266
388
306
313
367
232
244
377
310
315
337
394
399
286
332
376
349
271
379
378
367
295
329
342
276
346
335
340
328
304
375
364
305
354
296
227
334
284
327
281
325
305
307
310
353
289
355
282
357
351
358
313
289
281
279
340
352
398
352
249
288
359
337
352
340
326
356
287
378
312
291
310
356
319
343
353
296
337
327
329
266
407
346
315
370
331
305
312
315
368
328
343
350
312
283
328
320
326
286
318
287
389
369
328
279
363
387
258
292
289
286
372
319
330
207
353
311
341
237
332
282
336
362
282
366
368
379
350
346
264
357
306
290
287
356
340
410
395
295
356
306
352
354
375
311
275
388
276
317
316
328
358
389
282
338
308
313
339
272
366
277
398
302
427
390
372
328
283
328
331
314
277
361
419
348
298
264
297
377
282
337
323
429
307
343
321
341
303
331
260
303
369
353
292
228
289
308
292
419
336
248
353
231
335
244
307
279
336
356
346
370
208
378
356
283
332
345
348
305
381
308
321
335
348
318
290
295
323
302
288
366
337
284
301
370
180
300
312
328
241
354
295
323
374
325
317
327
373
413
367
258
228
408
307
283
287
262
293
319
338
289
243
398
315
269
276
377
353
272
354
388
305
371
283
279
375
289
258
280
356
350
301
361
409
356
290
350
287
291
376
342
266
330
382
307
297
377
340
315
298
314
337
341
405
334
286
308
319
355
281
321
310
288
328
237
298
253
288
363
314
377
390
250
252
320
323
332
302
258
326
320
358
246
266
187
339
418
239
291
326
231
201
398
349
389
258
304
339
306
307
374
326
319
320
306
290
285
345
243
292
326
367
325
322
306
280
294
313
311
388
244
306
355
348
261
235
362
365
333
428
367
348
278
326
306
381
279
316
348
238
267
252
274
273
342
333
318
291
260
319
350
317
390
340
306
362
322
363
269
393
361
270
319
374
342
318
340
306
374
328
310
298
293
360
306
365
354
268
289
233
346
350
311
338
323
274
377
284
320
289
374
241
301
263
254
366
305
294
265
277
330
317
251
280
284
405
321
370
250
390
187
352
340
287
333
286
276
352
286
239
355
306
268
312
358
364
283
308
367
338
277
291
330
389
287
326
248
346
371
244
300
391
315
328
327
315
342
303
315
263
310
303
340
300
383
313
308
423
358
352
309
343
314
321
343
376
320
355
333
239
292
286
334
330
311
344
275
306
309
293
313
310
316
335
375
387
320
340
337
305
369
418
385
342
325
284
310
366
332
249
319
351
383
326
307
270
284
311
329
347
315
281
306
349
316
323
303
365
277
312
308
403
322
348
357
303
371
273
255
340
269
308
361
337
333
386
345
335
306
317
402
254
341
370
296
274
321
275
297
291
267
396
313
336
351
386
255
310
390
306
311
298
352
281
304
232
395
261
266
342
280
410
241
382
288
356
282
315
283
346
332
324
232
277
283
346
385
302
279
353
306
357
370
282
308
312
240
347
410
307
273
372
285
319
287
291
412
281
420
347
365
366
288
315
252
297
351
347
320
326
326
312
262
306
237
328
321
289
292
357
266
329
348
402
286
315
252
391
354
398
336
345
326
316
315
368
315
329
344
272
322
327
355
363
302
294
260
313
343
312
331
222
321
277
365
394
406
298
373
337
347
340
308
354
331
325
363
337
295
343
354
288
341
326
343
308
301
418
312
350
297
214
410
335
298
393
292
303
344
307
267
320
333
376
344
295
265
344
348
327
329
246
282
279
308
345
296
306
329
314
330
265
285
299
373
360
317
242
347
252
333
348
309
299
314
307
282
352
329
319
338
417
326
249
325
263
288
343
342
277
321
392
265
286
330
395
391
250
303
359
321
390
284
319
315
366
355
347
231
286
329
391
192
297
273
304
308
272
363
289
236
305
329
327
340
360
324
326
320
241
247
312
297
273
301
376
423
297
381
318
309
324
263
330
308
290
267
244
335
324
313
248
364
298
316
247
325
422
322
370
339
339
332
325
245
283
360
332
401
295
316
369
322
317
343
246
200
352
354
266
332
372
209
294
274
209
356
348
399
306
239
277
328
351
348
276
276
227
273
294
344
284
377
367
386
322
328
204
394
331
397
314
290
329
249
324
379
383
311
346
321
236
277
345
387
418
330
401
388
293
390
318
268
288
318
326
303
449
366
341
349
329
361
301
301
388
311
322
290
370
416
360
334
333
292
293
299
347
285
289
322
251
341
314
256
289
267
371
365
278
315
389
387
268
376
339
369
335
284
381
366
343
213
311
259
296
318
340
318
242
290
396
335
390
363
259
313
307
316
284
322
315
342
317
389
320
319
342
338
299
286
263
294
302
246
273
352
239
302
342
351
372
361
356
361
284
283
377
352
339
274
305
288
357
286
395
335
302
330
266
302
291
317
351
366
338
395
321
289
315
307
284
419
255
342
349
271
364
387
353
327
302
291
364
348
279
311
294
132
265
310
274
323
365
372
401
301
321
284
359
301
290
331
276
360
305
284
318
371
285
313
230
306
283
361
350
279
289
355
298
321
308
352
354
290
347
313
366
312
345
391
308
347
309
344
279
336
299
307
398
307
279
322
313
375
321
443
232
304
294
314
379
406
354
316
343
319
409
361
354
323
311
344
387
300
301
313
273
244
280
326
325
309
274
345
311
257
342
265
234
340
341
279
284
264
264
367
353
381
328
391
372
379
381
226
337
346
319
341
361
347
314
343
348
326
259
273
324
367
259
381
329
277
280
351
319
309
254
319
376
252
369
294
382
274
299
334
310
280
209
313
387
321
322
264
337
334
269
342
271
266
367
304
325
257
278
317
281
313
315
306
309
315
366
314
379
313
268
311
408
313
311
356
310
295
296
203
237
369
330
272
273
257
384
298
305
289
327
396
292
250
246
280
401
297
364
261
365
379
298
283
368
261
270
429
335
362
365
343
287
265
260
295
355
312
299
259
343
283
348
260
355
231
293
332
299
280
283
303
189
326
284
253
327
352
382
319
253
196
405
328
422
355
269
331
296
286
258
377
353
308
345
348
273
326
349
394
320
347
318
318
323
309
324
368
364
269
320
425
189
322
287
273
356
371
248
275
342
387
339
232
351
407
378
261
315
365
279
269
277
373
385
268
373
307
282
344
264
369
345
309
330
347
356
322
192
401
360
310
262
333
206
276
328
370
279
279
285
355
301
368
331
265
390
293
331
317
298
352
292
346
336
332
279
357
277
287
344
383
255
304
317
302
347
348
272
296
303
352
396
354
337
284
305
319
381
334
288
379
250
340
362
350
359
255
297
299
246
349
324
374
222
354
337
306
324
260
274
300
337
330
357
284
291
288
338
364
396
311
381
331
351
336
302
311
287
269
334
324
365
257
227
318
292
317
366
246
322
370
342
348
318
282
271
268
316
280
410
411
253
382
318
331
301
360
327
288
338
375
255
313
395
297
366
371
351
318
355
278
350
373
201
378
339
298
381
269
246
326
270
393
208
256
427
316
288
362
380
344
268
351
274
347
212
231
339
295
335
314
267
331
296
333
322
326
296
312
317
384
320
295
374
338
315
243
249
291
282
276
301
280
290
201
273
316
346
364
274
270
365
332
393
285
251
297
357
393
304
304
379
335
324
372
256
395
276
382
252
323
290
338
324
362
272
346
347
340
362
272
318
421
370
337
292
295
407
331
266
278
293
332
311
312
317
329
309
361
304
353
312
312
283
306
313
366
322
361
325
286
353
353
377
299
383
297
364
302
321
275
234
341
300
382
271
299
308
358
301
353
218
335
324
310
305
270
345
258
313
304
265
314
309
253
284
244
355
312
292
356
308
357
334
303
319
344
318
325
321
264
304
260
283
269
382
281
361
321
343
278
391
322
278
363
312
412
331
256
241
329
335
360
325
282
338
326
257
292
401
311
305
405
310
275
319
239
347
265
347
293
309
285
296
337
321
299
335
294
419
338
324
328
254
292
392
326
298
280
337
296
333
295
357
340
342
411
319
279
312
297
332
273
377
215
228
328
312
351
283
299
310
340
265
283
254
250
317
368
421
344
366
320
317
238
339
274
347
342
313
344
280
311
334
372
350
404
298
277
397
358
352
380
345
332
270
249
290
392
242
322
315
327
221
279
285
280
339
311
315
289
375
299
338
295
293
331
281
272
378
344
237
319
452
339
323
262
384
308
326
343
275
347
376
321
335
313
333
389
408
311
389
379
293
259
314
263
392
272
323
331
368
323
336
369
298
243
275
423
373
361
329
274
268
315
340
333
391
381
300
390
403
258
350
307
266
393
369
330
338
253
357
339
306
358
323
394
329
322
323
322
312
336
239
361
259
329
302
361
286
271
263
245
232
350
295
346
296
375
356
254
310
261
331
338
294
285
232
376
347
311
346
310
303
253
375
299
305
295
338
321
285
387
360
316
313
252
255
383
322
318
310
302
244
348
325
358
354
354
320
280
369
332
375
253
344
367
348
305
271
316
346
288
270
309
318
307
368
249
279
283
362
325
263
318
305
233
342
328
320
306
309
325
290
321
374
274
252
268
289
321
335
237
358
270
354
382
342
410
326
224
331
251
362
334
338
316
352
333
294
300
309
311
265
341
358
324
348
298
367
302
292
277
360
230
251
281
263
247
342
310
335
278
311
345
330
325
343
334
326
363
364
307
349
358
304
329
333
257
256
328
352
317
294
318
293
268
334
325
420
316
319
377
349
304
369
343
375
328
320
289
265
265
265
238
274
304
304
287
413
325
350
381
270
305
326
277
347
356
247
340
339
299
469
273
364
335
362
360
270
364
351
368
283
312
270
333
350
322
333
340
287
292
314
357
402
319
326
281
286
300
344
260
295
423
238
348
297
355
376
260
258
342
254
318
305
266
308
342
323
261
369
322
347
276
428
345
342
268
365
407
314
393
242
358
339
417
315
320
389
298
278
309
321
367
312
268
339
273
337
367
294
383
310
307
251
323
360
289
301
365
335
324
280
303
306
267
321
335
292
319
319
347
317
296
299
270
309
342
293
291
343
282
289
321
327
375
328
364
336
265
271
262
342
275
259
354
292
346
327
419
372
282
248
318
296
253
277
255
283
292
361
307
392
360
255
293
351
318
276
302
324
302
295
308
354
249
401
370
267
403
321
262
360
316
316
345
279
333
307
306
352
341
335
370
321
277
279
320
361
273
330
359
270
309
274
226
330
343
240
346
469
331
329
388
227
271
347
308
324
343
375
375
270
365
339
322
278
322
315
430
283
317
412
298
297
270
318
339
298
259
361
383
275
348
388
358
261
320
346
273
361
343
297
273
333
298
321
399
346
385
308
318
269
320
325
332
376
328
331
316
355
336
268
304
248
283
380
277
360
359
299
325
235
326
306
336
292
304
270
306
299
252
337
358
349
297
273
322
322
339
361
349
272
343
278
294
299
384
289
311
396
276
353
320
309
385
407
397
290
300
354
224
303
316
327
304
332
318
298
391
263
283
310
311
282
261
242
314
293
388
303
369
245
320
351
341
342
329
273
361
266
316
260
309
338
246
291
285
256
301
269
286
325
337
371
260
324
285
307
295
295
261
317
373
284
277
333
352
309
318
293
286
369
346
348
394
338
264
398
279
361
312
333
324
265
312
321
289
327
240
285
350
299
290
383
363
292
243
386
280
285
345
310
297
256
346
447
341
233
342
365
304
380
299
360
231
384
290
318
318
352
350
369
235
282
257
284
347
269
266
259
316
294
338
330
247
279
289
297
352
317
318
353
290
240
304
386
345
346
238
293
259
418
315
270
295
304
348
349
270
342
339
385
341
326
288
309
351
359
299
365
324
240
340
273
340
378
358
370
348
296
271
267
311
304
304
326
343
341
342
253
299
240
371
289
369
263
272
363
360
321
319
363
302
347
290
310
335
273
286
283
320
319
226
338
263
319
311
273
300
245
332
338
243
304
319
372
341
313
292
368
306
335
326
351
298
423
306
313
375
345
313
329
267
305
322
378
291
266
386
317
342
309
318
238
311
366
311
272
243
277
341
366
289
365
300
353
317
272
329
342
320
180
326
287
260
273
358
281
346
325
331
298
326
369
327
308
283
353
350
273
366
331
369
342
332
343
356
313
221
322
310
276
363
351
289
250
338
228
261
314
336
326
272
290
354
276
313
291
342
237
268
375
383
294
341
287
366
361
326
325
346
280
364
308
288
268
304
314
270
324
324
305
322
316
407
363
347
233
359
415
405
347
299
273
290
367
295
283
358
297
349
362
350
302
317
308
303
346
385
248
282
307
272
314
306
387
349
275
306
220
267
311
274
298
320
251
360
314
306
282
340
286
374
325
361
342
294
308
289
300
269
306
297
383
366
357
358
299
276
245
265
229
266
359
299
361
275
356
386
349
317
223
289
292
349
363
292
275
291
349
290
379
342
289
253
281
393
308
315
297
349
294
305
297
387
299
348
262
359
320
361
329
316
356
227
333
264
321
318
289
344
332
359
387
206
268
302
327
340
280
274
294
344
357
298
260
293
261
300
268
297
289
324
332
326
285
368
287
291
283
333
360
379
355
291
396
297
303
280
301
339
339
300
327
344
330
281
315
399
344
351
285
313
295
299
245
380
314
252
246
318
321
235
324
247
356
195
296
366
376
251
424
376
335
206
286
284
282
271
356
281
374
297
306
321
300
318
385
333
401
373
306
188
378
357
262
321
302
320
287
335
289
323
302
280
328
299
298
325
328
354
284
303
368
356
240
335
329
392
338
335
390
361
333
287
311
268
327
279
298
292
336
340
389
237
380
398
342
378
298
306
335
250
299
314
319
328
282
314
380
278
338
344
416
280
296
223
265
320
254
280
237
322
301
329
323
282
408
306
337
285
326
312
391
279
352
322
281
302
375
364
356
348
317
363
269
291
370
246
274
351
337
350
301
331
324
323
354
315
368
239
338
351
261
337
228
355
328
342
307
344
346
335
352
375
337
396
332
345
271
364
356
272
302
351
214
291
306
391
376
314
286
325
307
341
313
235
370
251
335
253
312
270
405
259
324
302
310
271
295
287
253
343
305
375
308
274
279
264
337
283
379
281
336
346
298
271
197
322
356
356
296
286
269
336
293
295
320
342
288
283
341
296
289
277
291
323
335
382
300
310
310
284
242
323
411
338
285
269
225
271
285
277
333
365
346
325
346
329
286
267
303
338
396
272
293
329
313
285
324
326
307
283
305
270
299
313
264
302
307
323
261
305
232
265
266
380
330
371
313
288
306
306
386
305
358
329
322
379
328
320
371
287
278
287
324
302
352
268
304
309
386
309
315
196
338
281
265
335
292
413
206
340
368
317
261
266
268
284
389
347
401
296
254
329
190
347
302
304
278
324
274
263
295
307
277
377
332
279
274
291
257
364
352
323
335
366
302
339
349
281
310
313
367
248
325
365
238
300
328
325
310
236
360
222
216
303
315
297
254
339
350
320
288
324
331
356
354
321
271
319
344
278
287
311
337
302
345
296
335
280
269
297
350
323
188
298
338
277
305
291
279
321
307
290
321
313
266
301
265
348
254
265
287
302
254
300
376
319
256
243
320
325
339
291
348
261
362
379
338
412
363
258
371
299
348
297
329
311
351
307
298
314
285
370
309
318
331
259
328
314
269
314
255
273
338
324
293
317
349
330
278
272
368
273
231
345
326
336
310
289
395
297
350
343
335
333
288
212
348
272
344
293
337
358
357
373
379
321
328
388
320
352
367
284
340
343
238
262
236
218
267
396
302
287
318
291
285
325
312
313
324
319
215
298
358
366
356
341
270
325
335
341
318
180
316
420
330
314
291
320
306
308
334
311
376
245
313
353
340
350
402
283
346
292
329
334
324
347
267
351
322
232
183
307
304
303
270
336
300
317
197
300
330
322
225
371
331
293
278
329
304
264
368
254
361
265
330
329
357
294
293
315
277
316
311
346
324
341
370
354
355
328
260
345
279
292
312
337
232
326
269
322
313
326
344
291
286
257
369
263
269
240
312
355
295
350
340
358
370
277
312
332
226
309
277
365
221
250
342
303
335
278
372
412
337
282
314
263
320
335
357
406
402
324
336
312
245
258
299
400
362
218
328
271
360
265
304
318
399
280
334
269
344
297
225
443
298
387
286
362
336
298
281
344
388
388
314
329
371
298
310
304
304
327
297
250
443
319
313
349
375
266
372
381
334
359
289
329
256
315
306
240
270
252
258
247
331
331
260
351
284
264
304
316
371
349
337
354
274
347
322
300
309
326
251
324
295
290
307
402
288
286
400
286
337
349
290
289
377
223
383
338
351
288
322
340
320
334
317
337
388
364
390
258
354
341
412
289
416
248
353
295
305
403
282
294
324
391
334
265
356
284
319
361
370
233
332
308
274
304
352
345
339
280
339
308
289
306
292
394
294
303
324
328
346
251
306
356
441
302
382
308
351
304
259
402
292
255
259
309
336
307
335
323
301
252
327
324
345
255
283
303
345
371
313
326
358
349
368
249
256
375
366
298
306
300
376
315
280
343
330
306
324
268
323
254
349
306
308
338
335
281
376
317
307
357
285
375
297
314
315
379
347
251
266
322
278
213
275
400
384
295
334
308
329
268
336
327
303
396
324
328
358
280
292
362
312
267
283
290
331
397
284
266
330
250
353
395
319
329
382
343
348
338
357
297
322
326
320
359
289
277
319
382
251
279
325
337
256
283
393
267
310
336
388
392
361
292
340
260
328
239
303
344
304
354
262
390
293
283
315
331
350
276
355
400
304
294
307
316
337
311
234
292
250
330
311
335
365
361
333
314
241
344
333
384
312
240
304
369
313
332
303
337
277
331
328
292
294
309
392
253
309
343
381
382
377
319
325
322
313
346
340
311
408
315
414
380
325
347
300
358
336
325
208
323
270
299
313
262
382
317
360
309
300
199
362
291
273
416
260
331
335
304
265
333
384
328
352
361
303
345
267
257
309
385
340
327
342
246
327
272
261
343
330
295
291
375
289
287
266
279
324
295
301
398
220
319
396
324
251
281
278
281
303
351
325
296
270
275
372
314
394
342
232
279
273
358
354
340
318
389
251
368
312
271
290
371
349
296
350
326
322
330
292
352
341
386
281
326
290
352
263
345
315
305
352
328
327
383
361
351
389
301
225
226
309
345
303
279
303
412
284
265
346
301
329
319
264
382
282
261
317
346
273
284
248
388
311
380
325
302
283
317
339
331
341
343
296
285
319
407
375
364
394
345
268
342
273
296
379
280
342
259
366
387
296
307
358
263
316
332
324
337
380
320
335
248
326
316
354
300
333
333
268
297
333
286
323
303
296
373
333
371
301
371
354
264
304
250
332
369
409
359
329
380
352
299
303
301
393
339
391
346
291
410
314
311
220
307
225
354
330
252
377
350
251
343
284
274
270
278
259
322
380
319
349
286
262
298
343
292
325
320
332
338
318
243
303
381
352
281
257
394
317
318
379
305
287
340
374
333
393
323
342
285
342
332
323
369
271
316
416
312
346
272
311
273
312
358
280
274
332
273
338
226
293
355
361
283
374
281
338
335
339
312
335
367
296
305
310
286
344
360
347
279
273
327
313
353
274
310
295
332
326
324
354
341
338
325
320
290
332
332
360
333
347
385
288
268
241
256
274
267
288
298
369
330
306
341
379
231
338
325
358
317
340
308
284
316
318
277
356
323
361
326
309
340
287
393
371
291
301
299
299
380
392
306
313
349
316
305
332
273
227
332
344
367
320
343
347
369
334
299
335
338
189
289
224
241
307
311
294
293
267
352
390
314
335
291
323
282
298
300
321
243
277
339
406
305
303
347
361
348
318
321
314
316
338
245
295
415
292
262
380
264
368
326
299
333
328
424
321
244
339
391
354
299
331
431
244
366
331
224
309
295
246
319
346
243
285
276
380
318
284
353
298
338
317
299
363
323
286
331
317
289
318
342
259
233
346
305
333
315
373
246
300
286
296
290
336
324
267
276
259
308
369
254
383
379
357
334
300
313
322
333
386
342
379
316
296
305
388
289
324
308
348
369
296
335
369
398
276
341
334
301
284
317
230
275
297
341
312
242
282
313
226
362
262
341
328
299
194
262
286
330
247
284
322
277
376
340
270
309
304
316
261
346
276
242
238
328
349
409
271
299
321
372
315
324
404
339
315
276
346
261
340
276
316
384
304
288
314
260
289
219
371
297
361
343
425
294
358
318
367
318
309
275
279
292
342
270
343
231
297
328
282
306
254
368
315
315
320
333
295
323
307
329
291
322
469
283
245
321
281
407
275
283
402
347
353
340
317
320
317
360
291
286
327
245
356
280
329
340
343
317
147
304
258
367
345
264
379
341
280
330
238
327
281
415
287
248
283
228
268
309
387
322
317
266
274
287
416
376
383
273
348
209
292
335
260
339
309
286
275
250
263
287
303
315
350
313
318
298
285
231
343
304
244
380
284
372
341
313
375
321
266
278
282
296
292
381
306
266
292
353
418
291
272
304
323
354
285
268
384
284
283
269
352
335
341
275
313
294
318
305
259
302
334
380
347
398
367
366
350
280
456
311
354
372
378
262
337
342
350
300
364
282
324
259
308
331
366
330
324
378
323
433
312
263
335
370
291
261
359
369
267
375
420
376
295
307
274
270
354
352
377
308
280
336
330
331
315
323
260
381
402
245
284
253
243
277
336
363
261
302
290
281
390
288
306
311
343
234
312
304
276
292
259
376
272
308
389
316
331
268
322
321
310
244
358
338
306
325
240
281
357
250
357
350
324
303
349
338
372
289
313
240
272
277
365
348
325
275
310
254
272
369
293
326
326
391
248
297
305
254
352
266
260
309
412
289
336
409
218
460
331
389
338
270
362
285
297
357
305
308
322
360
224
338
334
352
361
289
328
264
288
371
366
300
363
371
290
294
342
336
427
332
299
312
308
285
389
344
312
335
307
343
346
298
300
350
317
341
346
326
272
416
358
231
350
397
286
296
271
267
374
356
312
269
357
311
283
320
380
328
293
325
255
241
349
289
281
308
345
327
333
300
313
317
302
335
371
300
287
307
280
259
340
347
307
319
301
370
324
333
370
287
403
341
375
249
342
305
297
321
424
281
266
285
243
284
292
330
258
319
290
255
215
274
232
322
332
336
394
266
363
257
335
321
325
357
341
279
319
254
313
364
333
238
232
343
404
400
355
316
265
319
333
280
371
275
341
306
297
346
300
339
291
347
334
337
271
335
432
319
302
304
250
355
329
266
375
323
372
281
334
270
422
237
315
347
259
312
283
330
323
360
305
276
309
341
358
300
337
309
267
361
314
361
247
367
318
364
314
337
239
209
290
322
361
242
337
373
226
326
438
251
321
412
323
307
336
342
300
325
315
342
315
301
363
397
311
283
306
369
309
323
332
306
292
300
286
344
367
375
249
368
231
324
265
349
284
307
428
287
252
292
306
303
305
286
386
259
289
378
270
331
261
296
276
353
333
277
226
310
253
345
390
293
218
367
304
335
302
337
347
287
398
272
347
268
369
322
310
319
310
256
361
309
269
234
363
285
336
373
356
348
335
372
220
247
265
311
304
249
359
299
328
338
268
302
319
296
276
312
322
335
303
256
315
319
279
318
345
325
337
280
266
293
360
306
329
301
347
326
292
328
339
397
300
340
307
350
304
271
281
345
328
333
315
360
240
350
300
373
345
362
387
313
303
374
339
291
325
413
313
333
243
318
330
347
364
368
331
341
356
312
376
237
265
357
326
335
240
251
322
254
427
368
351
315
294
399
292
299
338
379
311
325
318
262
312
394
362
318
313
277
306
293
355
356
331
302
344
258
326
292
341
306
345
352
296
297
286
279
287
259
264
335
255
269
306
278
327
366
312
296
235
258
335
350
253
379
314
393
287
283
336
292
244
363
319
273
336
337
316
336
299
341
352
279
304
344
394
265
364
339
258
269
275
300
372
257
358
297
314
316
297
321
258
339
359
336
310
311
306
324
295
273
351
258
260
353
358
327
280
354
319
362
305
277
334
345
339
405
348
325
353
279
296
320
306
304
329
379
299
383
268
343
314
315
285
356
385
308
291
292
356
353
318
369
334
285
362
328
347
361
273
352
259
312
351
349
273
233
319
391
329
312
313
278
264
369
364
354
295
304
353
283
217
358
328
385
336
284
303
314
284
318
308
325
268
296
312
388
395
373
298
249
369
315
377
313
304
273
309
329
289
344
290
296
275
307
258
283
308
247
352
282
287
226
353
207
309
307
313
352
318
361
345
344
267
325
347
270
294
377
311
347
339
383
381
227
364
337
303
237
262
300
322
313
278
267
297
340
362
256
257
296
305
240
358
288
251
327
274
375
313
334
275
322
305
306
367
298
376
374
385
247
253
286
392
366
323
314
303
387
285
326
358
268
370
335
282
298
313
259
273
330
371
266
219
274
344
357
339
304
405
314
318
291
326
309
307
349
319
337
320
380
273
293
288
283
298
252
324
304
358
217
314
303
321
402
341
324
362
352
303
307
345
231
335
361
236
305
289
322
291
328
370
305
363
303
308
382
305
362
365
271
305
351
239
305
287
327
249
300
371
384
303
394
361
227
320
310
385
229
334
343
310
296
318
290
408
348
222
332
255
295
248
329
302
390
395
304
342
348
298
317
307
354
332
316
306
384
410
413
277
296
324
284
386
376
313
326
298
300
233
270
296
287
267
353
331
354
432
245
304
265
326
397
376
310
413
325
360
302
297
274
330
302
337
330
372
323
263
392
268
378
347
215
352
271
353
299
265
331
331
339
365
311
433
280
339
233
207
249
277
229
351
309
349
364
384
279
367
350
325
398
312
289
389
391
328
322
304
316
293
316
224
292
450
326
311
294
431
332
368
300
330
297
340
348
334
285
291
311
305
358
364
308
262
310
327
312
384
277
331
341
249
376
307
308
371
287
337
332
316
350
301
337
311
257
373
296
340
381
375
274
262
444
365
316
285
293
386
325
312
345
407
308
324
339
280
268
302
271
315
354
345
311
361
254
290
330
248
237
327
303
328
199
255
317
318
244
391
272
343
325
333
376
381
341
296
341
335
231
399
359
355
375
284
358
353
372
310
231
338
334
301
291
393
312
337
262
389
369
238
260
354
447
307
319
321
389
397
341
367
321
289
387
308
355
302
270
342
253
276
311
285
368
356
282
321
274
291
297
342
345
326
278
321
303
290
341
308
301
252
319
297
272
369
366
285
359
328
310
375
283
301
257
324
249
242
394
326
295
397
354
312
344
348
278
314
304
322
278
364
361
350
352
333
268
300
357
361
279
334
349
245
192
310
263
364
326
262
251
325
319
294
314
403
443
378
291
333
342
362
361
217
286
367
326
314
400
332
296
303
368
228
300
335
266
341
344
229
297
249
304
259
238
298
365
388
323
247
335
292
345
270
369
346
273
298
292
277
308
254
256
277
330
336
286
351
369
293
362
315
330
245
352
385
322
331
352
266
356
306
300
351
320
306
299
311
271
308
312
338
315
377
364
331
386
327
318
353
329
326
443
314
289
246
351
250
300
355
304
307
291
266
274
280
325
295
345
350
363
237
225
310
350
317
340
273
314
401
249
291
280
285
282
247
305
351
366
410
333
199
308
300
319
281
304
335
251
339
328
351
233
256
348
273
313
334
301
238
378
284
276
329
328
372
343
282
329
265
349
372
351
316
370
343
372
314
284
311
305
313
328
366
335
223
292
386
344
327
310
353
363
365
305
329
237
289
251
333
379
298
389
354
257
291
366
306
292
268
275
346
364
369
335
377
301
282
316
322
369
262
334
257
366
400
296
337
214
275
307
321
295
314
300
204
319
402
366
329
289
332
258
344
351
338
257
383
295
324
382
352
274
309
374
326
398
356
326
348
299
293
323
352
392
258
307
331
332
253
284
335
300
294
264
242
235
267
349
289
287
332
284
293
341
278
264
358
371
244
256
280
401
332
299
335
272
309
289
284
283
310
281
313
368
316
368
252
264
238
288
351
373
305
246
390
297
341
400
338
355
357
296
231
270
225
372
365
372
321
306
318
293
325
328
304
312
323
358
282
341
289
316
328
306
384
272
324
312
310
303
323
280
320
230
286
341
365
335
394
271
320
347
287
387
360
328
354
292
268
202
329
252
214
279
335
328
265
355
291
346
254
355
345
313
336
316
289
280
312
374
283
337
340
336
256
350
245
336
345
313
305
364
339
250
304
333
378
275
326
270
334
308
381
310
324
338
286
327
325
253
341
285
263
262
314
310
397
316
278
322
307
303
282
383
318
362
327
339
338
247
351
341
290
324
369
313
305
323
209
353
318
316
248
326
324
293
205
256
329
384
310
273
324
339
321
326
234
268
249
299
342
333
285
305
345
320
344
369
332
336
286
328
353
245
347
300
315
365
234
225
302
279
299
314
269
237
388
245
312
333
263
331
349
353
357
265
291
288
323
356
354
325
307
401
351
359
350
307
338
384
223
330
320
301
327
293
352
333
341
308
301
284
364
302
420
339
319
346
398
275
306
241
299
247
297
470
231
234
340
306
328
349
353
333
277
274
278
309
294
382
257
339
376
278
312
306
283
309
293
345
338
326
323
291
327
306
347
344
315
299
380
290
348
285
333
318
363
426
244
364
263
298
334
300
292
373
249
335
367
346
367
319
338
378
339
277
283
300
345
298
327
303
381
314
377
230
327
261
259
338
325
389
371
308
373
317
350
246
353
330
352
381
324
200
386
302
380
360
285
320
299
351
280
282
299
337
295
313
330
384
299
355
268
406
295
322
346
275
280
322
344
366
348
249
343
453
315
402
275
267
370
378
273
249
268
333
318
270
322
290
305
388
322
321
316
308
329
338
348
341
331
291
275
331
258
300
297
326
336
319
298
324
381
249
207
351
365
279
304
320
299
334
337
348
332
383
333
216
223
277
310
255
285
388
275
349
413
420
397
416
265
324
354
328
384
338
233
354
166
328
280
320
291
359
343
328
331
332
292
333
336
365
340
235
360
362
335
380
379
343
288
352
311
274
307
355
390
317
344
315
283
355
277
245
280
326
421
207
282
268
289
345
353
305
363
298
285
272
361
205
294
294
350
363
254
360
405
332
298
294
170
296
346
437
314
354
318
342
333
345
281
326
319
273
355
369
360
323
367
357
358
296
359
238
295
402
294
437
370
380
315
254
310
308
339
329
361
337
293
325
262
311
330
318
338
349
336
252
216
309
376
228
319
307
358
279
339
299
254
311
338
333
271
278
274
342
244
298
375
294
295
322
354
306
290
402
315
365
340
366
342
237
393
368
325
285
332
340
362
285
353
309
355
357
358
304
300
287
236
365
299
339
346
265
286
307
215
274
349
247
300
290
250
265
326
368
300
282
289
270
249
317
284
250
269
362
266
331
326
354
221
272
321
287
404
326
345
399
299
215
401
330
278
345
362
298
376
390
272
348
312
331
309
298
287
182
358
361
351
288
292
343
397
294
408
349
270
322
408
302
374
357
333
359
385
328
312
413
322
301
327
343
390
340
298
260
323
368
360
340
329
277
287
277
355
307
256
353
305
308
303
390
330
303
304
324
338
298
300
314
339
311
365
282
282
233
372
181
310
385
278
295
346
308
337
328
296
286
268
324
384
342
297
318
393
342
328
314
358
327
238
395
375
311
308
279
341
382
286
324
279
365
339
426
331
335
407
262
324
294
269
290
281
379
396
327
257
341
349
307
278
365
248
245
336
386
354
320
251
378
200
324
282
357
310
247
376
304
348
270
327
333
335
357
277
287
353
340
306
327
302
315
317
272
307
250
313
306
416
324
314
256
283
305
302
198
360
429
315
415
293
307
386
373
358
279
361
353
360
379
334
334
304
343
329
357
327
275
292
359
219
342
290
339
339
295
234
282
336
367
303
376
256
275
256
220
373
292
334
220
259
240
265
335
339
359
335
287
376
264
366
358
308
293
335
220
303
301
267
285
379
324
324
299
291
281
333
379
379
338
285
323
295
379
311
263
294
259
350
396
358
270
271
273
339
295
381
315
318
356
249
409
302
243
328
343
360
360
369
311
301
340
319
384
360
340
281
322
344
317
279
339
336
351
355
254
274
390
330
310
337
196
347
323
292
336
230
344
399
353
297
292
317
333
265
315
258
333
364
328
342
308
314
341
305
330
382
251
295
241
308
335
303
216
378
299
298
376
272
270
253
330
323
363
271
381
299
409
357
384
338
362
326
292
368
326
316
295
236
331
305
338
345
273
323
284
378
284
401
328
349
364
318
338
333
286
254
363
277
356
336
312
346
323
371
315
348
414
306
301
308
280
252
346
252
188
297
279
258
256
282
301
354
346
318
304
339
306
310
357
335
262
349
286
312
354
324
337
328
324
368
313
380
305
323
318
322
354
314
328
221
350
316
338
313
316
312
240
301
313
307
232
327
327
268
294
314
390
317
336
268
363
296
269
254
304
364
378
293
325
385
352
251
232
334
307
313
382
218
332
344
360
332
321
359
306
339
270
298
314
336
311
396
354
367
196
345
316
310
268
283
356
367
299
417
363
360
281
232
307
301
311
322
362
251
353
291
371
294
281
341
288
368
344
211
302
298
232
318
310
330
351
275
278
355
339
303
349
331
231
308
321
287
308
282
322
279
341
355
361
278
320
265
303
307
329
356
312
355
308
355
321
342
317
337
381
302
274
404
293
318
340
289
303
379
311
435
365
370
400
334
410
384
270
330
277
260
336
349
257
284
343
286
285
322
353
388
299
348
339
319
334
297
404
316
270
344
361
307
306
334
307
323
315
349
315
361
340
350
352
336
338
310
311
235
333
325
285
257
318
316
322
300
319
262
233
292
298
374
337
279
358
345
272
346
294
275
329
422
343
406
337
278
332
343
369
251
319
335
385
337
316
307
176
266
349
317
329
277
311
271
283
324
286
312
322
217
358
319
363
279
258
326
275
277
284
293
301
293
271
297
240
349
364
363
374
283
329
305
347
326
278
299
227
270
289
328
351
284
322
326
294
305
291
356
283
309
295
363
404
323
221
319
298
251
321
276
331
345
217
318
401
329
247
289
337
408
403
294
324
317
299
340
322
295
344
340
324
333
332
316
338
285
273
320
322
296
387
289
310
260
402
367
379
287
330
318
294
287
352
280
347
342
337
283
305
304
233
393
320
302
335
324
378
244
269
260
415
402
341
444
278
249
380
251
377
265
303
407
262
337
321
353
278
332
253
272
356
350
342
276
377
349
342
241
299
306
261
357
284
233
327
413
309
282
319
342
283
373
238
387
346
238
264
298
350
388
253
291
364
326
333
304
317
319
337
284
319
254
302
266
338
424
320
295
325
294
262
345
339
350
388
352
404
349
349
286
364
342
286
249
273
371
382
258
328
293
320
314
347
366
263
346
443
369
289
390
319
369
288
267
301
314
318
339
349
322
317
377
338
354
355
355
346
286
289
333
361
272
363
352
345
222
284
303
296
321
339
283
312
347
262
363
376
342
328
292
228
302
262
354
286
277
357
336
252
299
247
294
277
261
330
331
193
291
241
279
356
346
296
333
258
303
338
386
309
304
312
315
354
293
314
349
277
331
369
242
287
326
371
283
322
327
354
301
287
347
362
330
302
353
265
316
339
310
260
345
214
278
288
265
336
281
248
299
348
292
293
365
374
348
336
415
288
300
256
330
247
318
328
314
418
303
389
335
333
264
256
261
281
392
253
358
245
354
204
334
289
324
377
285
247
357
344
292
345
352
391
330
269
383
300
374
349
363
286
283
259
252
343
282
351
309
381
335
256
303
284
318
352
328
299
277
325
222
317
360
263
283
384
342
328
389
279
307
297
263
326
302
365
390
295
315
255
344
224
262
295
402
323
394
361
301
441
291
314
273
351
290
289
310
298
337
321
340
360
284
330
379
370
271
278
377
320
385
336
326
321
323
278
344
282
315
391
285
377
252
320
223
350
286
349
305
307
278
393
267
334
342
321
288
302
295
291
292
303
324
334
280
296
395
335
287
293
321
298
352
298
307
293
370
378
314
194
294
357
302
277
306
301
299
408
317
344
264
286
360
304
333
286
306
223
345
318
387
330
310
332
265
319
219
345
293
319
305
370
259
316
313
317
248
300
343
282
254
330
343
315
338
322
325
322
343
302
254
332
311
245
350
286
262
332
279
279
291
305
367
248
311
269
344
286
282
279
350
294
360
397
292
215
302
281
262
311
442
237
321
320
338
370
304
262
296
327
302
347
365
238
326
348
321
302
302
289
280
398
297
321
268
317
365
310
241
387
292
373
307
417
287
297
299
300
395
319
342
339
342
297
369
269
431
322
326
324
247
318
312
260
305
345
343
301
302
238
293
314
362
386
326
331
324
350
406
346
316
257
423
362
349
316
302
265
284
303
334
253
293
261
255
379
271
369
358
352
260
318
305
363
445
414
324
326
330
276
263
313
370
296
322
330
311
315
267
325
335
385
216
325
316
304
178
286
323
404
245
342
302
308
344
329
307
396
312
399
360
296
355
302
280
306
320
343
304
345
376
303
329
329
349
357
320
351
331
353
317
310
277
272
305
322
310
383
375
352
298
302
257
318
362
249
361
335
344
263
298
382
338
339
304
353
330
335
405
251
322
374
345
351
306
304
274
283
277
299
361
362
319
287
317
274
228
322
309
294
313
308
355
406
340
274
369
377
301
293
335
277
370
295
280
336
235
235
372
349
290
322
302
357
267
367
276
237
348
300
268
327
291
376
349
340
213
363
317
394
354
329
296
258
229
346
299
360
306
329
385
291
343
339
398
331
383
316
303
340
388
347
359
305
349
290
415
354
343
317
341
363
255
304
353
354
354
376
346
263
354
316
332
327
310
367
354
261
321
284
337
272
312
336
353
405
355
369
309
339
371
391
275
333
260
304
332
318
313
291
283
421
241
291
372
274
333
306
310
179
272
237
359
395
352
284
351
341
295
300
344
420
301
270
247
324
329
279
292
353
358
276
415
312
361
293
344
321
300
355
398
337
277
279
285
317
343
356
338
330
308
367
367
320
266
387
300
359
305
273
392
248
287
263
427
303
308
334
277
362
361
392
303
323
242
302
281
331
295
312
297
310
320
265
350
274
346
253
333
379
334
349
332
373
355
334
386
306
394
200
335
282
354
275
280
367
311
288
288
304
310
259
349
313
298
388
281
372
339
303
328
254
339
325
318
345
371
323
216
324
315
352
281
332
259
269
330
335
352
300
313
309
383
346
274
361
363
321
250
305
330
242
368
308
222
288
262
306
378
317
275
271
327
287
294
300
357
210
375
326
330
248
313
322
277
304
347
325
333
331
330
366
359
375
384
373
267
292
270
276
417
360
369
317
338
363
292
297
310
331
291
303
312
319
288
366
214
357
234
336
254
329
263
305
419
363
305
368
352
346
297
321
294
350
282
287
346
326
325
381
290
221
370
303
346
259
319
271
300
300
305
335
296
302
312
320
417
319
404
294
321
290
339
266
383
246
356
306
289
289
275
342
298
263
341
327
306
422
328
355
457
282
339
308
426
340
297
305
275
286
307
267
320
313
257
324
216
363
313
388
321
372
266
293
307
287
349
345
318
349
304
369
363
337
333
361
318
266
378
297
324
353
310
317
297
367
383
323
303
283
341
275
367
379
356
347
300
396
262
325
375
280
333
319
397
372
360
281
288
403
356
299
321
352
297
335
386
271
232
314
291
312
352
291
256
366
238
355
275
349
315
321
266
370
317
309
338
345
339
372
375
394
309
389
313
351
305
250
300
372
399
399
291
382
348
243
351
291
248
330
290
280
343
352
377
291
329
327
246
326
297
395
364
326
268
426
396
340
251
253
316
302
270
315
424
310
366
333
312
340
330
340
298
328
289
338
262
408
281
273
376
325
283
341
318
342
276
234
362
330
284
297
338
254
303
333
358
357
286
345
276
302
296
272
331
305
234
259
298
401
299
257
349
334
297
323
331
376
297
303
284
319
253
346
330
274
279
309
368
338
259
311
245
339
280
370
300
331
371
308
321
243
310
304
311
318
363
267
291
324
342
311
280
310
226
303
409
275
260
379
392
372
323
378
277
341
422
366
232
314
308
336
319
260
301
306
359
316
411
233
289
304
352
362
421
354
294
243
346
336
365
333
356
328
358
312
328
338
366
337
369
382
299
367
329
316
340
373
314
323
339
312
321
357
281
345
305
333
357
318
240
277
257
287
295
342
306
263
282
350
334
312
293
258
306
338
288
328
387
214
351
274
254
398
380
290
299
282
319
333
294
394
303
347
291
226
330
345
316
235
399
344
381
376
289
266
333
304
239
360
298
329
419
313
290
240
340
292
283
288
352
307
276
240
228
372
357
333
407
325
378
308
377
311
398
247
320
346
362
358
348
338
310
364
312
280
327
330
300
267
262
282
322
382
291
373
279
355
240
244
265
273
258
310
323
291
315
342
255
395
378
328
354
292
374
398
283
321
298
281
236
424
231
258
365
221
300
279
308
323
348
248
264
346
273
331
294
284
271
314
335
295
304
338
353
275
362
295
379
277
378
345
303
301
303
306
255
263
252
246
324
285
289
301
325
238
299
281
308
343
272
247
262
334
324
279
393
372
331
298
294
301
323
374
267
278
270
316
350
294
355
267
332
309
311
310
352
253
376
398
359
375
265
327
365
293
374
254
272
348
366
294
319
308
400
289
263
392
360
242
322
289
380
285
324
334
344
272
286
314
393
332
295
282
349
343
367
291
351
335
316
362
299
319
352
164
234
393
314
372
217
240
300
372
401
294
346
396
372
306
352
291
350
279
309
269
300
252
322
306
296
324
327
372
391
266
379
331
361
342
217
305
272
259
310
290
266
275
265
371
303
304
320
415
340
372
257
359
263
260
375
338
315
311
253
279
304
369
311
318
254
312
304
322
354
330
352
291
208
316
312
359
351
412
229
279
335
313
328
345
428
308
216
283
341
169
357
342
367
268
238
337
408
270
331
365
297
312
290
299
258
272
381
205
338
207
375
369
332
345
291
403
363
261
375
356
239
314
232
380
251
375
381
332
265
366
317
361
342
359
323
267
377
325
285
357
351
291
362
276
260
276
320
360
334
385
269
247
330
276
344
256
288
247
368
306
260
344
382
355
334
370
281
317
321
295
218
332
283
335
350
373
292
347
226
396
301
373
330
248
299
316
300
376
279
307
314
314
353
367
284
325
335
327
278
374
228
312
334
327
377
340
212
302
316
296
262
327
348
329
292
360
347
341
342
387
286
275
359
339
166
360
274
291
334
372
382
334
334
384
277
340
291
283
358
291
263
238
369
325
227
342
348
262
293
290
362
365
394
359
302
347
294
367
275
355
295
386
291
276
363
265
327
268
302
320
280
277
294
389
307
309
286
338
282
269
407
396
332
300
400
345
322
325
367
295
253
383
358
289
331
358
375
309
246
337
396
324
301
336
231
293
314
275
323
410
356
320
376
282
302
342
237
313
283
296
316
345
368
277
290
342
344
348
286
257
348
367
379
314
292
332
372
338
346
291
380
421
363
288
327
307
417
309
315
261
309
351
328
307
336
343
356
272
378
347
313
334
304
274
258
314
368
324
337
281
337
343
236
303
295
337
312
303
328
321
323
309
343
358
328
338
299
335
375
326
437
420
328
329
280
334
288
370
325
316
337
328
370
347
291
270
325
334
379
292
294
266
343
353
318
347
273
303
351
351
302
313
291
331
290
337
277
352
235
310
298
318
328
281
341
372
292
376
297
327
320
389
349
399
259
378
278
216
201
340
352
302
344
338
243
305
370
315
316
317
276
344
295
318
345
323
282
314
312
366
323
379
299
232
300
279
271
193
287
251
321
338
306
315
271
314
282
356
363
330
268
257
289
291
334
347
284
286
322
230
299
292
367
316
354
412
274
349
348
334
294
212
421
409
389
341
291
301
296
385
287
313
296
359
332
304
305
285
330
321
326
307
278
311
389
344
234
284
291
323
325
230
330
271
448
302
342
369
282
256
208
324
375
354
223
265
355
327
273
334
317
239
273
388
340
332
321
201
335
353
308
260
342
323
379
313
308
377
269
335
323
370
375
386
263
337
334
258
383
341
307
296
334
320
286
363
376
294
348
328
282
309
361
282
308
347
288
271
264
310
272
317
420
350
329
332
227
302
278
442
326
258
395
339
261
295
276
342
304
338
345
228
368
283
382
279
336
305
359
337
179
284
281
269
310
340
302
358
380
325
218
308
344
290
272
303
255
271
371
300
455
324
322
261
287
346
300
305
362
300
248
297
345
313
253
372
333
323
273
235
373
287
255
334
375
337
315
300
331
283
341
309
242
365
281
362
346
337
378
343
425
268
330
347
248
281
368
371
312
326
345
316
366
348
359
299
311
281
320
348
299
356
376
318
305
336
266
306
330
303
327
342
340
273
367
348
220
352
348
306
281
322
330
375
258
321
393
363
284
310
276
341
345
296
328
298
343
301
365
320
324
288
320
285
306
317
372
278
360
255
285
390
267
329
342
253
318
267
325
329
249
337
209
285
315
261
299
354
251
265
367
353
346
293
276
252
382
320
355
409
346
391
338
266
345
324
377
328
350
379
284
372
254
339
281
298
364
290
281
339
288
348
249
410
370
307
354
390
414
325
315
379
336
343
353
313
363
281
239
378
351
327
301
288
329
328
306
281
261
264
278
374
393
391
343
315
271
322
352
260
260
294
284
304
325
289
397
274
283
259
289
346
288
377
359
326
332
320
267
296
281
354
276
365
245
312
261
237
305
330
331
374
281
296
283
287
357
297
337
333
255
396
348
337
330
346
332
404
310
319
350
314
292
337
271
310
377
326
354
276
287
308
352
332
271
340
352
287
318
320
349
280
323
289
319
287
230
265
357
386
286
320
344
268
289
306
199
239
394
337
273
289
335
232
346
351
312
349
316
313
327
357
346
288
329
280
312
321
272
318
335
258
246
347
364
330
308
295
350
381
316
282
335
324
348
326
199
250
368
221
375
349
296
306
328
298
314
235
297
324
325
279
245
317
231
408
283
314
302
258
232
218
276
260
317
286
385
361
345
316
346
295
293
391
370
305
417
284
260
234
320
315
328
344
296
370
381
306
327
319
352
331
321
376
294
253
283
358
369
274
259
274
359
318
359
336
283
312
285
396
304
343
283
347
313
296
252
283
349
391
249
246
389
299
257
384
356
274
351
290
309
357
371
291
361
330
258
371
342
380
286
368
266
248
283
306
318
306
356
298
296
251
292
265
438
305
366
285
322
346
318
325
328
235
269
282
391
376
363
302
320
257
252
271
377
329
308
310
331
217
351
377
281
291
310
429
329
309
266
198
338
331
328
302
333
273
334
299
289
282
235
368
325
331
330
295
373
320
310
324
355
257
271
272
311
337
305
274
352
261
376
341
412
259
361
332
205
297
283
381
292
333
237
282
308
327
414
243
325
316
377
346
348
316
281
257
365
227
291
315
238
205
323
277
392
346
356
322
369
377
284
430
324
329
312
297
442
337
298
320
262
284
396
341
373
343
281
301
368
276
307
360
354
278
296
327
245
272
312
354
346
331
309
335
232
355
348
277
276
345
242
381
281
345
399
256
360
310
327
329
370
356
293
339
282
266
378
365
293
384
277
379
318
355
273
320
408
307
375
270
367
318
307
301
315
274
268
317
308
380
314
343
285
321
382
307
278
241
314
355
274
321
313
249
302
387
309
360
307
313
352
278
250
352
215
364
256
259
283
328
382
292
355
280
394
315
365
332
354
286
304
362
285
373
275
339
334
290
321
344
274
266
375
299
299
404
304
305
209
309
312
241
312
363
242
299
314
394
352
336
341
324
398
367
312
286
318
277
354
298
332
298
266
294
346
294
348
284
312
237
307
302
298
329
374
246
338
337
271
321
363
315
333
349
369
323
278
275
385
341
354
238
298
335
333
322
367
353
344
351
314
267
290
295
259
210
322
325
323
312
374
328
274
315
365
364
275
349
253
317
321
335
321
341
279
214
303
313
305
325
346
270
334
384
324
387
406
328
394
295
296
293
391
310
236
225
228
334
254
199
323
271
311
383
349
325
376
306
287
296
275
361
361
414
290
324
322
357
411
343
311
348
297
420
395
357
381
345
315
382
387
372
414
332
314
288
314
350
315
258
260
330
315
317
294
318
384
293
262
344
364
371
254
296
406
351
354
282
295
302
339
256
317
276
351
211
305
300
236
302
323
297
333
270
322
317
304
274
360
283
298
294
337
322
318
335
358
395
313
197
303
289
341
311
318
345
352
362
367
292
342
297
363
263
324
407
323
228
341
295
432
291
317
352
337
356
317
222
332
227
352
265
367
353
266
337
331
362
348
306
296
312
351
338
349
311
330
368
291
341
375
364
366
340
241
347
277
344
343
298
268
370
303
376
232
297
327
244
285
270
342
376
328
300
341
300
248
362
329
311
254
297
284
367
268
332
373
273
276
277
281
346
214
403
385
275
261
320
288
260
299
272
279
317
315
370
264
333
345
381
217
306
364
382
270
334
274
313
327
316
294
291
287
340
238
327
344
290
307
347
345
348
411
291
276
321
312
307
294
320
327
309
275
240
307
331
322
221
343
368
296
358
250
302
287
324
272
344
335
284
267
277
289
386
310
291
236
348
367
288
274
335
264
395
283
300
333
298
361
299
319
318
313
229
326
318
248
342
292
302
304
322
275
341
292
400
320
274
364
287
217
359
328
283
332
265
344
274
343
318
307
305
287
276
305
376
268
273
327
277
239
297
365
373
381
344
249
337
352
275
318
335
333
248
304
243
263
284
357
267
353
295
268
258
362
332
296
318
310
273
318
362
303
374
273
258
262
362
308
292
317
368
314
266
291
336
327
321
256
379
253
389
350
266
371
258
378
330
285
267
298
393
321
352
326
253
344
345
292
312
327
306
316
368
365
354
364
380
369
360
338
282
354
320
348
321
301
400
400
345
301
364
319
176
307
308
378
370
312
399
361
297
288
319
293
332
305
262
434
316
349
358
319
392
267
301
351
333
330
379
276
357
332
351
371
303
279
267
359
355
341
398
317
316
274
277
365
298
371
249
284
355
199
278
356
372
303
276
395
407
342
261
371
276
320
269
425
342
280
316
287
277
248
300
325
353
240
376
371
286
318
288
297
311
276
337
341
306
368
283
336
379
371
362
291
364
342
311
346
381
302
337
276
279
302
361
296
308
296
395
211
301
318
363
232
280
353
352
305
365
297
319
347
339
332
362
359
319
354
252
219
304
275
396
308
264
351
331
309
264
335
301
304
315
272
291
258
353
256
332
359
320
296
345
372
299
290
258
301
271
277
294
314
289
310
309
367
419
402
387
291
265
326
315
365
324
347
324
291
292
419
288
343
275
338
269
338
303
212
322
325
316
290
335
328
295
316
328
327
278
303
322
316
298
349
314
256
290
302
285
372
283
445
275
352
392
279
329
369
291
310
286
273
271
248
376
335
335
355
295
360
266
340
364
373
230
345
309
292
339
302
291
337
356
349
235
328
241
368
298
340
298
259
210
224
362
249
296
347
379
291
248
375
266
380
341
331
249
388
339
312
356
278
337
421
356
353
269
298
337
348
300
310
289
405
386
403
382
259
373
291
224
324
320
290
290
402
360
360
393
229
239
300
296
297
288
328
305
280
352
375
294
307
279
358
288
387
359
319
270
244
357
286
333
327
323
298
366
271
384
273
348
322
284
366
371
439
357
313
299
334
346
281
280
292
302
252
280
277
297
384
320
263
319
313
325
291
370
314
265
370
330
360
336
408
309
309
289
318
325
328
283
281
274
307
239
363
292
355
323
331
312
424
335
270
401
374
267
384
389
267
251
382
269
233
330
327
292
337
270
306
365
279
326
307
255
376
271
392
335
378
308
310
382
328
318
366
332
402
391
329
293
240
353
269
303
268
303
267
312
309
279
340
378
280
270
362
242
366
378
356
373
450
305
348
318
378
379
343
269
335
356
281
327
441
355
375
392
371
316
294
226
301
274
337
305
284
286
356
375
267
359
400
347
392
336
292
326
212
228
289
328
318
224
346
386
400
306
324
343
296
323
288
322
284
353
334
232
200
282
312
335
305
341
288
298
357
269
336
336
221
353
242
304
324
318
309
294
266
307
327
308
276
343
373
303
245
358
389
244
292
283
406
314
367
328
409
410
291
376
350
319
220
274
247
352
316
408
344
310
369
296
344
375
238
264
232
374
352
232
280
286
269
320
272
312
266
326
379
200
317
357
372
337
293
350
355
367
346
353
288
284
364
379
333
343
408
317
283
341
396
303
358
243
286
299
303
280
288
307
252
391
390
395
313
306
288
321
307
263
275
382
237
298
312
352
335
289
297
362
325
262
366
351
272
379
282
359
269
339
348
270
361
294
369
353
395
303
357
287
329
362
285
303
391
365
331
322
333
323
266
251
328
361
374
391
283
287
303
221
367
248
242
319
267
338
234
279
444
337
299
301
340
341
289
343
318
280
366
346
365
335
294
367
286
240
397
336
325
301
341
235
319
264
299
317
346
290
329
252
266
284
275
334
196
294
373
240
333
301
334
326
331
368
295
352
348
341
303
383
276
373
237
311
316
337
330
379
357
295
402
281
419
321
308
278
232
313
313
363
352
339
336
372
344
395
326
374
351
264
331
328
252
300
284
352
292
307
271
267
311
319
237
294
369
334
309
343
269
323
304
298
234
334
355
289
317
317
416
303
344
311
318
337
225
295
256
245
346
399
378
348
336
412
271
324
301
298
302
231
385
324
321
312
354
260
243
260
312
305
347
312
326
339
316
250
324
336
183
265
344
346
347
376
281
364
341
322
279
313
304
360
289
323
272
300
273
259
354
376
310
400
300
377
322
367
312
345
365
282
356
308
430
340
345
327
300
309
397
402
339
297
298
253
306
337
377
347
332
396
333
266
321
270
343
378
280
313
354
343
352
295
342
336
267
377
313
308
338
309
335
329
395
301
266
340
279
395
262
366
367
285
282
329
309
276
271
358
307
331
288
296
301
398
434
431
310
315
276
306
348
257
374
296
338
299
259
349
324
301
231
270
301
293
335
245
224
396
265
321
237
340
318
407
389
398
332
255
301
308
293
316
375
261
281
387
325
318
403
238
275
375
255
344
293
340
350
264
360
337
381
382
328
274
300
255
235
299
229
258
233
241
270
316
338
356
237
347
233
271
316
215
348
334
321
297
361
325
306
261
313
349
280
261
314
358
347
313
281
376
358
399
390
260
353
353
321
299
412
326
266
293
358
367
282
384
312
216
329
329
355
356
290
282
342
332
286
369
325
271
255
338
303
374
315
367
266
321
330
321
390
350
351
369
396
322
213
325
299
347
236
313
388
371
235
300
276
349
287
310
321
295
348
386
361
341
308
291
240
340
215
280
381
199
315
306
292
278
291
242
335
280
394
258
376
404
329
335
235
358
272
330
336
262
386
276
377
326
299
279
344
368
346
440
361
312
358
291
359
252
316
279
296
335
312
309
389
316
335
321
308
291
331
374
299
384
312
306
289
386
243
380
322
382
274
395
362
275
324
245
351
333
318
285
325
295
265
335
252
268
311
351
241
307
400
306
353
350
345
358
346
272
278
329
352
311
350
324
332
271
325
377
306
315
347
334
346
286
353
298
288
336
316
331
313
274
339
311
315
316
282
302
331
300
405
317
267
359
268
318
309
332
371
342
220
242
290
263
289
300
368
304
384
275
323
358
294
373
334
286
307
272
280
349
345
360
357
310
274
340
399
321
331
325
267
295
281
291
331
331
403
400
254
354
282
336
249
329
308
279
269
271
349
245
387
289
366
325
309
293
306
379
324
335
358
332
341
293
316
257
267
367
351
381
346
293
322
346
329
315
282
395
284
309
333
310
327
227
231
327
317
284
341
350
308
312
355
318
350
308
295
276
304
351
283
273
266
314
351
291
334
336
204
234
364
335
269
260
359
327
212
344
283
296
404
272
308
309
311
335
341
273
311
274
317
264
265
338
350
282
288
377
333
266
305
372
281
256
294
211
285
310
341
273
318
252
351
245
385
281
338
293
340
270
334
325
311
368
352
234
293
288
298
296
315
296
261
283
368
227
308
271
281
327
282
351
349
252
242
376
316
351
361
357
303
270
337
352
300
310
304
300
330
332
320
308
236
304
380
235
267
344
346
305
307
381
317
375
291
345
267
248
301
248
348
303
206
324
301
260
340
190
337
359
259
331
324
298
346
296
337
310
336
368
300
319
352
300
280
307
300
324
267
317
260
315
266
349
273
275
346
252
329
330
392
264
330
309
317
358
380
297
376
324
306
349
308
312
369
340
274
311
323
348
403
345
282
314
352
234
314
308
371
273
263
299
325
257
340
339
271
344
364
291
250
268
242
374
337
269
321
332
286
344
361
353
352
368
409
336
366
296
314
254
317
271
382
276
317
298
327
359
375
358
393
373
265
363
346
353
424
244
315
305
413
276
297
395
316
350
256
219
353
274
347
309
397
330
290
348
336
265
357
361
263
284
313
389
269
310
306
342
209
290
303
376
297
294
338
380
268
373
268
328
347
321
365
325
380
282
280
357
278
301
312
293
387
309
357
330
249
373
250
349
395
264
278
330
352
371
356
303
310
252
296
392
241
341
318
336
296
303
309
317
300
316
345
361
329
367
359
336
285
288
214
352
335
286
341
347
298
356
391
319
286
331
283
328
314
352
385
223
284
292
265
288
337
338
255
349
351
272
413
325
311
309
273
310
367
264
349
245
349
320
230
374
460
319
342
312
366
336
328
285
323
375
379
338
214
395
327
365
283
319
363
251
319
406
330
377
219
308
387
358
225
345
279
324
423
341
280
304
325
252
358
239
311
345
330
276
379
339
329
255
298
343
378
356
293
382
368
223
288
324
293
255
276
302
333
364
391
267
258
298
345
299
317
363
332
317
295
346
369
365
309
206
264
316
324
310
348
319
363
337
364
388
336
336
355
294
351
292
293
325
309
343
264
292
302
291
279
389
244
347
234
358
273
330
242
352
343
355
327
294
289
367
271
276
347
319
358
384
433
291
338
252
290
304
284
304
315
297
389
283
259
344
306
300
270
280
331
313
340
383
328
376
360
394
379
337
304
296
350
345
347
354
314
308
316
302
426
344
289
358
333
327
311
340
318
225
234
311
306
314
323
346
342
235
302
338
353
312
270
407
316
242
332
292
297
362
313
384
323
293
371
373
326
287
287
345
309
384
328
326
216
251
336
181
292
294
302
326
369
293
338
282
223
357
327
326
252
289
311
232
248
334
272
267
325
318
344
289
339
348
339
308
343
310
352
314
333
362
361
297
287
258
344
333
325
411
261
344
289
328
375
273
399
261
356
274
250
316
301
368
402
332
398
254
330
350
354
329
272
240
380
338
310
338
292
234
310
378
358
393
303
365
301
317
308
213
280
284
319
405
327
315
288
278
410
361
320
279
351
311
277
271
325
302
323
295
310
260
414
266
283
311
314
284
394
311
304
352
366
294
345
262
338
202
355
336
391
269
355
389
267
363
341
320
317
336
225
306
284
340
341
325
322
325
287
369
309
310
281
337
288
313
312
289
375
306
265
343
282
305
336
374
247
358
329
335
250
347
194
265
295
345
261
333
306
281
375
338
268
368
318
342
315
304
365
302
237
239
354
387
345
286
371
351
260
335
254
358
259
298
294
356
269
292
292
332
398
323
318
308
261
291
357
279
281
196
341
332
344
273
391
298
334
302
335
366
270
369
291
314
334
343
417
345
337
323
341
296
264
267
294
369
344
251
261
350
362
321
285
258
294
327
208
336
355
350
248
360
357
247
384
316
302
257
257
348
322
382
285
376
266
291
274
320
327
241
349
336
305
342
446
273
349
294
359
354
308
305
392
335
367
267
339
306
306
278
347
334
378
237
324
342
364
260
292
288
281
306
346
300
264
294
352
402
281
381
335
275
212
332
262
340
298
373
337
265
280
271
344
422
305
364
381
302
328
339
318
310
264
325
351
336
211
346
367
298
263
321
285
420
333
319
266
303
321
289
361
273
222
279
387
320
365
367
294
280
335
243
321
311
343
260
308
279
361
381
312
291
295
243
353
393
350
354
257
394
293
329
300
322
299
347
268
279
389
326
331
292
290
388
300
261
345
327
322
258
307
343
360
328
405
411
333
278
286
321
323
322
267
368
341
297
412
273
419
296
356
284
276
276
276
403
255
332
225
289
289
347
367
205
314
333
390
246
298
304
286
329
382
268
323
331
373
336
269
339
370
291
256
246
362
267
330
342
342
376
219
325
343
342
348
337
438
352
317
330
400
346
345
292
215
297
362
346
322
285
328
349
378
323
333
264
232
349
303
377
304
382
406
377
389
363
303
328
370
301
292
419
248
360
305
251
406
287
303
387
312
308
250
389
271
316
291
287
262
355
406
277
327
323
307
354
350
313
303
326
354
264
275
297
339
332
326
253
285
349
335
358
365
413
316
334
342
268
253
307
374
380
251
264
356
323
330
337
296
328
307
242
329
279
337
307
268
304
321
354
313
355
336
356
369
286
283
316
260
317
324
323
275
298
351
337
323
437
360
331
381
291
362
335
313
329
259
345
300
364
323
322
328
282
291
245
375
250
353
367
292
333
376
305
271
285
344
327
337
248
352
293
399
341
254
291
294
344
304
366
331
257
354
320
344
347
308
313
354
289
235
372
308
355
310
363
331
261
356
328
260
377
279
322
300
350
360
346
259
328
294
292
305
306
343
321
309
235
271
374
330
342
337
330
256
303
290
347
269
302
243
276
314
347
276
355
273
300
318
325
204
326
227
305
320
298
269
331
267
343
298
233
329
345
305
336
257
259
293
275
259
269
345
356
236
343
386
391
287
380
367
311
287
258
322
313
332
298
237
318
406
299
285
375
294
264
290
292
242
359
299
232
310
347
337
305
348
330
284
343
312
314
374
392
364
270
353
388
341
237
365
343
248
381
351
268
316
297
371
285
186
358
275
347
234
237
296
350
286
295
296
266
306
375
309
359
330
308
251
258
324
308
393
435
347
414
135
309
277
362
292
297
292
306
323
318
254
317
252
317
428
369
257
341
248
324
278
290
315
331
276
251
383
242
340
327
308
326
326
226
348
316
306
318
305
337
281
323
313
285
256
352
282
347
215
279
340
330
316
400
356
332
378
284
282
340
256
324
356
310
328
355
402
292
336
325
315
307
254
224
324
347
296
272
251
292
288
362
289
239
337
368
308
338
365
359
347
358
279
279
349
277
333
357
349
323
274
321
318
300
324
385
324
311
310
342
419
289
265
346
252
285
290
284
364
310
343
333
372
268
319
373
315
407
414
357
300
334
302
398
323
356
213
317
284
374
303
383
300
319
342
343
308
319
326
297
350
284
310
260
324
295
282
292
290
308
310
325
317
304
353
293
261
350
366
296
249
322
309
331
361
158
309
389
321
354
363
287
345
297
266
270
307
305
323
291
286
290
353
347
244
333
426
325
305
272
346
321
369
265
325
368
358
323
356
360
294
241
215
353
329
346
308
354
328
346
286
275
284
340
347
212
350
299
258
310
308
344
372
385
283
372
332
294
219
349
324
391
327
379
295
246
257
318
326
307
314
202
404
405
345
303
220
296
295
291
303
343
312
334
264
296
300
296
275
321
371
319
358
262
370
361
269
286
344
302
274
337
317
306
250
336
328
278
286
324
389
301
374
349
302
264
331
391
279
377
357
317
382
308
330
375
306
305
361
336
383
349
289
309
258
341
268
267
318
260
348
357
335
286
283
277
369
291
273
304
309
252
327
388
311
225
329
340
293
292
308
327
272
245
362
352
274
300
276
304
303
285
353
299
380
274
345
305
318
345
261
226
362
336
324
319
320
259
222
295
319
359
283
311
323
302
351
319
378
276
307
239
347
287
315
286
347
334
317
328
334
307
362
260
304
215
315
377
248
314
397
299
341
215
289
294
309
352
301
284
360
286
262
215
322
335
246
329
340
372
358
319
332
328
347
289
291
291
308
385
295
268
292
385
357
314
315
368
319
304
362
265
271
280
273
317
316
395
284
269
289
363
398
263
307
338
385
249
305
353
328
308
245
377
374
358
302
302
297
358
317
270
320
328
328
283
388
376
302
325
360
349
320
261
369
279
354
278
315
309
347
368
313
344
266
287
366
309
350
288
342
330
289
356
323
323
388
356
326
295
404
322
373
349
385
300
370
378
373
287
307
338
360
297
346
261
300
330
378
265
303
253
312
331
376
350
368
439
324
329
385
364
315
354
324
358
300
211
316
378
291
338
308
353
388
330
281
288
278
273
307
332
310
293
336
288
373
363
251
372
318
371
306
312
273
284
329
272
337
283
367
342
332
208
364
299
323
363
355
245
256
355
332
312
313
360
342
307
388
285
333
315
317
346
290
267
272
295
325
356
286
356
277
341
319
272
328
294
369
304
288
285
254
283
397
301
212
311
311
335
284
344
319
332
339
311
372
296
332
348
276
199
356
332
360
386
258
259
348
297
287
324
367
322
272
312
357
341
313
309
333
267
330
289
328
276
356
367
363
381
254
305
289
319
259
364
311
338
313
291
396
297
352
297
315
327
377
330
361
331
317
242
305
294
386
365
260
298
271
266
278
286
343
302
321
341
338
354
335
265
315
309
355
369
371
356
301
291
298
313
330
322
243
289
329
338
249
327
305
264
240
334
359
277
304
278
303
338
307
306
261
356
239
362
309
275
249
263
303
364
365
266
368
298
318
303
328
327
270
265
333
306
259
274
314
224
337
274
239
335
318
319
358
329
350
388
346
253
380
226
306
272
333
255
283
294
302
278
400
324
290
304
347
340
356
337
278
300
352
370
284
259
347
349
275
292
387
372
374
344
289
375
378
307
295
268
366
365
337
328
249
242
273
314
336
296
403
339
338
345
299
216
239
356
386
299
340
335
289
282
377
317
409
341
306
299
335
293
304
296
365
312
276
376
283
353
285
282
292
299
295
306
229
244
303
297
331
266
367
328
293
245
395
260
391
280
291
376
371
323
319
290
354
342
343
299
374
379
336
272
316
270
298
237
331
316
338
351
319
253
302
343
368
321
316
374
328
301
321
409
302
344
256
291
343
283
369
317
379
288
298
354
361
294
306
219
324
285
315
291
349
337
337
229
307
357
345
352
297
278
349
311
258
355
282
384
313
254
377
268
336
367
289
381
309
369
378
350
340
299
282
348
218
293
349
280
373
296
338
198
329
306
319
295
245
279
396
276
306
311
310
295
200
385
336
213
361
233
322
313
342
378
258
370
295
255
308
320
328
270
344
281
349
216
348
327
283
309
299
313
383
186
309
264
352
266
285
298
353
367
336
347
282
287
299
367
309
346
310
347
350
333
355
347
272
349
306
390
341
325
254
328
275
218
309
254
310
269
298
318
320
313
341
360
327
300
380
402
308
324
400
355
364
317
314
334
288
276
320
333
338
348
329
327
410
340
368
317
292
297
380
310
356
286
290
392
315
351
361
332
288
347
229
333
329
375
325
332
295
234
365
347
288
368
367
344
237
337
210
340
304
311
317
286
276
364
288
323
249
259
365
335
340
313
324
330
187
312
267
360
306
304
369
302
293
340
333
296
317
246
320
323
297
345
445
378
382
357
326
379
267
273
327
282
366
279
424
307
255
281
311
333
332
338
329
358
265
356
315
347
401
267
320
318
338
376
289
306
354
283
392
235
318
279
348
356
371
361
350
320
291
269
325
289
352
354
320
275
325
290
345
285
365
327
353
314
316
273
322
273
349
350
334
317
301
241
322
230
288
229
237
226
356
291
281
324
250
417
372
265
288
321
353
336
337
333
287
313
353
279
349
294
340
274
363
340
298
348
320
378
264
309
339
297
352
301
316
363
289
288
316
348
341
292
326
285
330
272
352
320
307
281
299
315
269
322
261
344
337
302
318
322
382
394
305
279
323
371
343
347
298
294
350
257
259
325
339
294
291
269
331
294
251
344
329
429
353
314
318
288
313
244
282
326
324
348
260
259
367
323
268
289
295
348
380
299
247
263
360
385
307
394
334
275
197
307
367
298
335
298
335
329
256
340
260
326
337
338
340
343
354
374
283
295
255
244
270
369
344
258
351
311
307
286
312
329
354
331
289
209
354
334
280
268
360
328
218
363
302
319
308
333
275
349
331
349
298
308
325
295
275
272
297
280
377
404
289
300
356
323
304
270
248
270
314
338
325
236
390
342
385
315
357
316
378
319
320
308
175
395
352
369
354
325
324
360
379
308
308
375
312
398
419
355
297
270
333
341
356
325
263
321
340
381
274
347
274
345
352
274
353
353
280
362
359
391
346
282
376
306
327
301
284
313
270
220
336
343
351
327
309
405
367
329
299
297
300
345
277
398
331
205
295
393
293
232
326
414
293
321
333
279
287
415
301
296
269
341
307
315
226
335
376
331
399
346
281
290
330
329
287
293
326
315
320
256
377
372
292
324
348
382
302
269
349
339
317
316
278
290
256
286
327
306
325
311
361
264
278
305
370
363
251
268
238
324
294
419
305
357
298
251
218
288
314
328
344
392
333
254
333
324
312
251
363
363
322
296
365
329
392
303
285
329
257
191
264
328
361
281
313
322
287
260
330
335
275
362
336
325
326
360
378
333
300
363
353
271
351
334
307
363
356
258
382
283
316
331
276
325
267
398
345
303
249
275
328
363
200
392
314
355
286
346
323
190
299
357
306
302
344
366
290
274
396
288
335
357
309
303
302
320
320
307
365
381
303
343
252
291
332
298
313
281
329
311
322
344
334
279
300
360
360
331
322
357
324
323
309
217
340
307
273
293
296
320
305
315
270
241
338
352
351
340
328
338
316
348
257
326
258
278
357
276
278
340
274
194
349
318
351
349
358
259
263
288
388
375
345
322
416
218
224
419
296
267
323
275
295
244
278
313
298
349
325
321
396
365
399
388
333
332
299
300
344
279
298
278
364
347
216
335
295
331
314
317
285
375
291
316
371
309
277
353
355
213
374
330
400
351
360
272
325
301
340
268
304
268
314
343
322
343
306
347
314
302
278
300
345
319
386
298
301
306
260
282
343
334
269
238
355
261
274
351
252
281
290
264
362
361
324
370
336
312
265
309
327
284
306
369
370
369
325
311
331
351
391
294
299
266
350
361
378
303
333
336
305
303
391
229
279
282
278
258
309
361
370
379
273
386
289
258
337
310
353
355
285
314
344
289
326
371
305
358
307
346
312
300
376
266
336
276
297
350
306
345
271
319
292
270
380
354
353
244
366
414
333
287
320
239
299
340
248
268
292
300
388
304
400
243
241
290
329
411
299
350
367
404
314
344
314
246
317
361
261
211
290
341
325
378
343
322
252
333
270
356
314
255
313
334
351
322
332
279
266
338
215
262
299
372
391
345
404
308
325
248
334
293
336
344
337
358
337
287
350
326
287
195
316
282
350
292
272
226
352
295
337
336
372
266
342
323
334
321
331
300
334
380
401
331
271
304
368
292
349
315
325
286
340
230
347
306
324
303
282
301
346
299
322
316
265
315
336
295
303
329
376
307
226
383
281
334
337
354
343
315
395
292
276
370
278
358
317
370
296
396
367
402
315
320
292
280
294
279
462
314
338
305
258
268
273
329
309
371
289
326
308
327
320
299
304
398
275
253
262
282
305
387
348
323
350
284
329
330
255
338
307
351
335
401
345
328
300
283
309
312
320
219
251
280
313
290
362
297
280
304
316
391
375
248
290
301
212
237
286
348
376
259
385
371
345
314
404
380
338
377
317
324
355
290
247
352
367
269
309
248
321
298
349
391
335
303
349
347
242
352
358
327
321
243
333
413
276
307
269
305
279
299
312
276
309
360
325
283
323
310
286
285
358
358
331
336
280
365
342
325
372
381
341
312
282
249
274
402
404
371
384
293
290
280
296
284
342
297
270
297
350
285
342
321
284
317
303
320
291
372
331
335
269
294
381
272
262
356
344
260
332
340
382
425
307
332
350
258
309
351
353
288
326
261
307
311
231
309
280
323
329
287
310
274
311
290
269
299
364
281
355
372
310
262
239
242
274
318
309
282
313
258
336
299
319
307
273
312
278
360
343
316
288
303
373
357
293
314
314
322
321
287
338
383
334
347
271
320
325
267
298
337
230
350
351
326
228
445
319
294
387
357
268
335
317
366
231
288
270
326
288
367
316
303
313
314
337
321
354
197
332
323
312
277
362
284
276
388
339
306
295
365
335
274
318
330
358
326
330
287
309
276
336
276
214
274
309
256
260
331
391
327
326
318
320
353
297
383
325
310
363
362
333
307
326
333
327
284
333
321
329
341
307
381
337
252
336
377
366
338
309
263
346
303
299
253
373
319
334
346
394
391
305
271
290
295
345
333
289
365
297
366
365
305
318
269
310
411
342
335
381
395
328
308
312
293
312
278
324
424
267
363
390
298
387
327
317
312
331
363
287
332
326
260
276
291
286
330
321
312
320
361
296
330
278
292
261
313
450
347
336
401
343
321
303
384
332
336
282
350
231
313
304
368
265
310
408
308
259
362
302
320
314
279
337
283
224
273
311
311
246
335
314
321
369
332
287
353
388
356
319
293
304
345
336
273
339
298
291
386
250
343
275
418
329
287
341
305
280
307
389
276
302
326
315
269
310
362
318
328
308
375
351
392
347
384
343
326
408
287
325
278
315
288
286
282
339
241
332
292
311
275
369
252
319
248
335
317
384
296
289
341
244
303
324
352
348
314
329
283
286
325
316
336
221
274
354
265
210
335
246
329
285
284
297
312
370
373
380
354
314
271
328
372
336
313
339
180
317
269
222
373
281
340
325
368
350
351
285
321
247
278
268
309
303
299
224
363
333
304
257
350
270
362
332
337
335
259
311
239
264
230
371
285
386
398
292
338
358
313
303
323
348
304
273
306
387
378
345
237
323
271
283
301
384
437
330
377
309
342
277
321
376
272
397
344
337
393
282
357
301
362
279
309
331
356
360
300
316
207
339
270
276
357
360
295
301
324
303
354
389
363
337
343
317
415
277
330
352
334
409
400
344
328
327
323
289
341
280
342
276
236
208
316
256
367
322
351
311
335
378
370
287
304
336
301
286
362
357
322
304
263
314
351
295
350
346
316
299
279
380
279
309
288
326
361
339
246
384
353
328
276
339
261
395
207
318
217
272
265
335
345
295
362
363
192
312
321
291
316
243
357
307
276
320
334
372
286
416
322
357
304
283
362
253
264
357
315
330
343
377
398
284
416
376
332
285
382
335
294
288
315
304
365
363
285
321
349
357
301
317
271
344
319
269
345
380
322
340
286
301
255
342
286
276
246
215
346
270
276
232
233
249
338
305
354
258
312
331
302
291
362
311
343
400
373
307
294
409
320
320
320
303
330
359
278
305
324
335
354
299
306
337
311
364
301
309
217
362
335
277
299
320
237
256
257
321
289
331
283
352
346
216
322
332
364
308
278
362
253
318
274
317
304
249
337
364
312
306
311
347
359
388
364
321
327
392
331
266
267
232
360
273
304
309
262
374
283
317
213
289
352
252
318
375
323
296
336
268
361
348
302
263
268
307
236
327
348
287
392
405
260
319
296
281
260
340
375
337
277
280
356
337
259
351
358
348
335
334
270
323
252
281
288
313
286
283
336
290
350
333
271
345
341
346
340
246
351
318
313
330
279
198
283
321
362
306
262
316
339
349
367
297
336
267
395
339
254
320
369
342
412
345
203
362
362
332
309
381
365
252
295
350
368
374
312
367
349
261
349
351
373
373
342
334
247
281
366
312
324
277
302
336
266
312
313
257
319
374
356
286
315
311
301
288
306
240
303
271
293
258
358
344
319
259
330
345
324
297
313
263
317
264
327
344
290
334
351
391
335
367
347
283
372
300
338
360
369
384
295
323
352
397
319
322
331
310
391
283
321
294
319
349
315
377
349
264
358
244
329
313
325
325
351
355
324
340
348
308
401
279
422
339
293
342
334
327
295
320
297
274
332
356
312
319
283
281
361
325
237
314
321
300
286
342
275
284
396
365
331
325
311
306
299
314
328
340
409
273
338
322
347
278
351
341
255
390
339
236
312
370
311
315
366
296
366
250
398
225
277
286
438
243
337
221
300
283
337
326
349
338
330
328
288
302
345
245
247
225
353
311
296
319
323
344
267
275
255
379
261
319
272
395
267
295
337
316
223
328
325
316
327
335
285
292
322
333
322
362
307
305
338
365
276
360
319
398
300
182
315
355
349
387
301
380
267
322
336
332
295
347
310
283
341
342
340
358
306
378
317
338
361
273
348
388
281
352
252
262
302
363
254
335
403
305
307
351
283
307
334
325
300
250
301
291
309
332
303
399
298
256
302
334
296
243
283
422
286
325
304
287
313
348
254
286
262
234
268
289
385
347
319
332
286
261
301
431
343
342
288
343
269
318
270
309
333
313
358
354
368
315
225
403
388
394
394
333
234
294
398
316
343
334
288
385
326
340
372
322
327
284
294
256
412
382
388
387
354
268
364
293
315
267
381
290
278
280
350
345
365
303
325
319
336
297
279
308
303
284
345
291
314
356
306
302
294
343
350
365
317
294
341
294
360
354
294
350
311
186
285
349
269
373
384
323
407
297
297
317
313
349
442
362
344
342
304
246
357
257
352
359
393
321
270
387
406
317
291
342
376
267
319
395
343
289
331
280
368
351
264
263
286
324
288
298
301
331
363
302
348
372
285
345
258
426
334
343
339
312
321
356
366
340
233
319
351
333
342
366
267
300
356
286
287
246
377
321
296
235
347
350
351
399
333
314
290
288
343
259
316
377
341
316
346
346
329
325
295
322
335
270
305
254
311
258
332
388
382
365
338
278
349
343
318
355
321
359
287
325
322
281
289
275
343
245
321
364
242
326
306
277
327
352
264
334
295
306
306
370
313
304
256
365
380
345
325
293
301
311
383
290
314
364
265
275
286
250
296
335
303
331
284
319
337
310
252
246
217
327
302
302
319
300
209
265
315
260
307
371
266
310
387
284
283
243
282
256
303
359
302
318
246
379
302
237
376
338
315
303
337
396
288
259
290
239
307
376
319
416
309
260
305
363
395
401
290
368
274
336
356
341
362
313
352
340
286
341
290
334
289
329
299
372
353
335
370
359
284
241
308
282
240
360
312
277
329
308
291
362
320
345
294
405
286
389
335
330
355
302
362
333
369
286
378
342
323
228
361
313
317
252
296
288
367
292
273
350
305
357
298
341
325
241
344
305
358
317
284
362
392
339
259
311
291
243
332
343
241
309
334
362
309
328
350
281
341
273
325
264
361
374
367
343
339
304
332
340
303
362
359
380
333
366
324
272
346
286
258
372
273
380
336
280
261
279
315
364
325
347
256
340
336
288
323
257
284
312
326
347
340
349
355
262
264
297
326
303
200
282
293
316
321
370
302
332
320
319
299
229
213
289
337
275
255
311
290
333
287
353
390
332
318
240
309
252
321
325
276
310
357
382
276
311
247
378
422
338
268
321
377
328
353
264
336
401
401
278
338
370
336
339
332
345
339
338
276
236
310
326
397
376
320
250
208
329
258
298
316
332
345
286
350
296
277
329
324
303
279
314
289
327
324
401
332
370
329
339
335
300
369
373
413
276
373
306
314
274
326
280
293
363
342
221
333
355
322
301
301
408
253
318
318
287
331
285
273
383
316
250
369
303
301
349
324
355
323
387
311
296
325
265
340
272
356
307
320
330
357
365
242
379
373
296
187
249
356
371
292
332
396
254
418
258
355
330
302
327
284
325
308
340
212
321
291
316
313
266
264
276
337
283
275
308
344
245
343
283
344
357
358
335
263
345
314
302
329
348
300
361
235
407
383
295
317
324
328
341
272
240
277
299
365
345
317
295
319
230
254
375
315
330
320
387
353
269
360
326
363
269
276
308
291
280
414
264
347
298
351
391
323
298
309
335
368
287
386
304
362
359
339
366
386
321
379
358
309
278
199
318
265
274
316
303
260
351
218
296
312
319
286
307
369
335
323
407
343
284
360
247
369
307
377
326
358
297
343
278
276
251
303
296
352
421
299
384
302
287
302
311
357
360
301
300
332
370
357
318
385
328
403
297
352
353
331
260
352
290
329
333
333
368
409
367
245
279
312
278
375
323
338
359
363
406
259
214
249
362
388
381
317
325
344
350
257
245
337
339
325
334
284
312
248
325
244
264
360
298
402
232
297
349
246
276
298
343
318
300
339
330
217
292
314
356
357
341
335
324
241
363
363
409
262
244
311
351
296
375
303
223
266
297
354
364
351
301
393
305
383
306
385
341
301
375
313
327
312
248
406
315
294
364
336
319
334
286
291
303
264
306
318
341
310
348
246
315
245
257
346
329
367
278
419
365
297
324
274
380
303
264
286
356
307
295
356
365
384
353
287
291
290
265
319
292
240
339
259
430
206
296
326
243
352
352
383
384
300
244
333
338
315
273
298
256
274
274
288
342
370
368
283
382
304
318
305
350
374
263
352
314
290
346
348
300
303
270
327
319
323
357
378
358
271
354
354
278
308
350
298
394
262
333
330
313
321
308
308
296
403
335
349
326
353
282
363
333
374
409
366
308
335
276
319
313
260
332
391
263
335
361
335
308
273
253
303
297
316
328
338
395
386
289
281
244
333
386
320
370
378
320
352
254
316
317
298
346
265
337
284
340
347
329
372
317
325
356
213
376
287
337
274
332
351
289
308
344
250
273
187
324
321
313
331
351
281
284
324
326
395
361
284
312
298
313
384
407
291
315
404
232
293
401
337
279
408
292
318
276
364
327
330
345
376
302
343
353
329
252
372
300
344
343
349
277
318
321
359
371
397
253
219
352
309
286
283
372
369
339
239
271
409
267
378
272
326
295
343
387
377
341
339
272
409
340
368
360
303
413
279
319
222
302
335
308
307
319
308
314
330
323
393
289
319
296
193
320
329
399
271
321
265
359
290
303
356
343
311
276
315
361
361
257
405
306
210
377
326
367
301
383
226
375
390
323
284
301
298
342
242
257
370
288
266
361
370
307
342
262
299
392
367
280
325
344
311
278
399
326
318
299
360
358
352
339
283
246
322
369
251
277
270
307
347
289
355
292
324
249
326
375
342
399
307
270
392
264
292
335
327
386
343
255
373
287
302
289
352
279
366
283
354
232
298
361
264
339
480
320
349
363
278
266
351
355
234
285
270
270
266
311
308
209
353
286
272
323
329
295
276
382
343
267
354
282
346
333
416
297
261
363
319
249
370
225
324
291
319
360
301
336
291
335
351
199
405
341
242
259
277
287
337
309
330
307
357
330
312
375
288
386
419
289
289
287
372
364
290
375
286
291
289
321
314
273
338
396
304
355
426
286
297
320
335
356
244
321
307
361
350
447
388
287
339
238
364
300
395
259
333
377
201
388
351
275
260
236
210
269
278
240
241
299
374
366
362
338
314
217
313
351
340
336
267
319
355
326
275
278
249
241
331
297
303
279
341
281
388
303
334
338
283
259
281
318
309
339
336
235
269
360
318
401
292
313
391
304
294
344
326
317
308
313
307
310
282
302
353
260
381
254
324
312
335
317
300
319
238
369
272
272
259
360
293
329
338
269
281
301
347
299
310
348
315
356
358
266
228
336
322
275
259
324
351
313
268
397
320
283
305
354
310
375
299
286
362
230
378
286
298
304
288
356
387
307
298
291
310
387
378
253
279
281
303
314
256
314
338
291
316
336
370
260
251
363
239
374
334
378
321
282
292
240
396
289
343
396
373
299
282
345
295
325
331
334
299
299
320
314
330
345
329
345
314
311
269
331
276
275
391
306
318
232
323
361
234
355
253
342
391
410
311
304
347
278
320
393
351
326
371
378
305
220
363
276
339
319
351
265
270
337
409
375
390
282
321
289
245
318
319
344
269
305
339
305
279
380
290
365
303
324
385
322
308
292
308
352
326
336
243
249
358
275
292
283
265
394
253
375
301
317
323
297
359
285
354
320
325
410
348
258
348
365
284
322
276
310
282
355
312
320
391
311
349
311
316
352
298
305
361
257
323
301
327
398
235
292
269
320
350
352
351
389
369
291
307
378
344
420
277
333
417
317
340
288
345
289
355
311
339
324
335
317
297
328
321
314
323
373
347
296
360
237
270
355
266
235
330
311
259
365
353
303
323
287
373
358
375
292
386
320
244
251
372
292
361
346
283
354
361
316
300
342
368
264
315
303
386
280
258
322
350
332
370
371
279
274
150
329
383
301
310
328
340
342
352
272
264
254
333
244
303
276
321
406
265
301
362
345
365
291
296
315
262
295
463
300
314
341
337
327
413
345
378
412
345
352
331
256
358
350
348
361
262
267
331
343
405
411
267
253
259
326
282
301
221
308
368
335
340
233
380
303
303
420
355
287
367
363
355
295
381
286
315
289
309
220
347
340
403
343
418
281
350
308
460
426
321
356
402
353
341
285
351
316
361
323
279
340
346
326
368
334
331
356
362
336
197
329
239
278
234
337
315
329
389
304
165
273
300
330
334
312
317
340
275
348
277
347
340
379
286
338
315
337
324
272
291
380
312
345
312
276
348
316
356
316
294
325
378
419
339
358
360
271
333
270
324
295
273
309
363
341
328
371
328
370
309
286
238
365
329
332
327
347
278
303
363
303
274
377
307
266
290
308
383
381
318
358
281
357
302
298
290
244
345
378
390
255
318
297
325
336
339
359
341
257
194
276
321
277
344
315
265
337
334
324
337
324
281
342
329
336
316
423
391
321
417
363
317
271
269
297
305
322
318
357
327
382
318
345
362
276
311
422
329
333
314
312
217
266
271
328
281
412
321
391
337
297
295
294
334
389
370
401
289
277
411
327
326
333
306
346
382
256
383
367
412
334
321
377
346
399
382
284
334
316
303
387
326
295
228
299
276
333
290
378
336
297
345
350
309
288
317
253
379
261
316
275
334
306
347
375
395
319
295
281
353
277
297
324
256
324
317
352
323
294
282
323
324
250
301
212
317
343
301
269
343
346
306
314
264
358
352
327
352
359
334
322
272
359
279
257
376
301
365
318
235
328
385
317
318
321
292
332
231
277
316
296
307
344
284
305
278
359
388
371
309
236
296
432
334
299
298
374
349
424
342
275
297
395
320
353
400
349
293
285
230
271
344
255
351
278
264
344
417
355
339
300
317
354
281
337
331
285
309
346
315
310
277
270
302
306
362
358
342
257
348
276
305
350
264
385
432
301
306
305
396
334
301
288
274
301
330
442
275
293
249
341
268
378
321
416
371
326
296
388
307
352
342
252
273
304
328
287
358
382
356
351
340
293
383
350
267
362
294
370
328
254
297
348
280
255
299
351
311
337
317
215
249
313
306
356
266
306
317
356
324
261
301
313
313
365
275
388
317
363
336
346
313
327
327
330
346
344
321
340
328
386
323
325
325
288
400
320
322
298
295
308
348
339
308
355
299
368
323
373
300
319
386
386
355
295
279
291
279
377
339
259
336
374
288
385
296
313
311
273
358
247
355
313
308
316
317
319
395
383
247
208
350
367
358
342
298
323
304
314
328
343
417
251
310
251
335
325
229
327
345
315
258
279
276
286
316
279
270
271
307
325
326
345
356
255
376
354
290
369
366
307
345
223
406
314
340
281
323
271
331
198
406
310
188
369
315
338
367
277
285
360
287
362
346
383
389
340
304
340
268
356
290
286
386
301
303
328
264
257
350
289
383
360
240
281
267
342
358
311
263
381
322
248
378
334
301
309
382
297
253
264
227
301
303
390
302
240
290
354
323
337
294
336
321
288
296
348
284
256
309
409
262
269
273
296
322
281
297
267
287
247
305
329
309
238
337
363
345
330
230
296
272
315
337
372
288
227
336
325
331
420
366
259
389
266
248
330
355
320
363
376
363
343
249
382
211
271
348
389
351
348
277
288
353
326
341
331
243
333
203
335
250
364
313
341
352
231
328
303
258
295
330
334
329
277
394
316
340
385
270
386
323
299
355
304
288
399
364
341
252
407
291
328
238
340
282
261
386
377
263
353
407
342
311
303
247
355
325
311
332
339
317
356
309
302
260
276
333
313
319
404
288
432
285
287
262
267
319
294
360
262
348
323
295
377
407
281
348
325
287
314
341
306
267
311
269
330
314
328
382
354
300
280
269
409
329
251
295
428
280
292
338
342
258
269
346
281
328
307
380
183
295
255
248
320
312
337
286
357
335
309
323
407
277
278
384
343
285
323
219
308
301
328
323
328
282
311
382
291
265
326
383
307
289
338
247
335
313
322
298
338
317
342
267
268
350
299
342
325
387
374
272
270
317
371
264
286
199
349
282
275
349
186
323
332
273
333
361
277
335
239
290
272
203
266
365
352
379
285
304
262
313
338
340
339
269
293
306
282
365
309
328
285
370
377
306
443
256
340
301
291
286
274
290
324
316
427
366
348
339
354
280
371
374
311
333
299
365
308
366
245
348
326
334
298
360
348
343
401
369
298
262
255
384
403
371
323
308
274
294
351
344
333
284
341
377
365
284
233
290
322
289
368
209
297
319
340
328
249
307
260
318
354
273
332
316
310
320
380
302
304
264
314
331
371
348
366
393
319
342
360
349
272
320
236
317
322
414
346
375
365
259
359
405
367
241
363
318
276
296
295
280
329
318
334
303
324
382
273
326
348
278
356
334
325
280
374
252
316
329
291
382
396
371
390
337
281
346
376
346
348
287
263
278
314
300
321
325
337
305
338
274
295
247
311
306
315
313
326
381
309
388
332
319
291
299
312
385
282
395
298
332
262
337
361
301
334
246
369
366
326
211
308
264
290
276
275
352
355
303
370
289
309
272
380
300
336
279
256
311
376
318
202
347
278
367
335
299
312
376
372
280
345
320
329
301
378
384
352
389
302
395
315
264
346
270
343
332
334
314
284
383
356
316
274
383
349
283
343
211
309
295
361
289
380
280
293
366
279
303
329
296
249
276
305
313
360
356
263
328
242
334
395
401
353
366
307
328
366
314
240
305
254
295
289
292
316
258
258
381
226
296
292
306
353
332
315
295
320
259
320
398
325
373
296
284
284
352
258
343
309
334
375
302
277
360
270
257
263
293
275
333
327
269
363
386
322
350
350
264
325
342
275
305
318
349
318
365
242
323
209
308
247
297
294
402
264
342
266
339
302
316
335
285
292
248
380
290
302
267
234
349
298
414
255
359
343
318
306
285
360
281
337
392
315
296
272
276
365
317
289
264
233
304
308
370
390
334
269
298
346
388
329
276
290
272
363
303
364
356
272
265
385
317
321
303
303
352
274
255
348
299
259
332
232
303
331
380
412
362
323
293
294
276
309
258
275
320
361
324
308
331
308
285
408
314
280
312
308
325
403
248
328
330
329
300
315
335
301
337
366
274
259
330
382
317
318
311
279
324
336
266
274
315
298
294
344
329
344
299
289
354
373
360
355
324
305
408
317
286
322
293
361
276
310
323
353
300
361
247
268
316
370
294
367
344
314
327
300
401
259
312
209
231
356
318
263
377
324
360
355
323
340
320
327
302
308
317
299
289
395
242
293
319
318
315
316
326
322
330
297
296
333
347
298
316
341
312
352
328
270
283
308
366
358
315
283
286
352
287
351
348
301
376
365
374
386
319
284
269
270
323
299
336
356
347
371
308
351
276
288
369
419
344
372
303
354
290
324
308
325
299
351
392
346
363
254
382
321
354
219
243
396
335
322
335
353
365
272
257
302
316
325
378
343
369
383
282
285
275
354
282
346
305
306
298
309
314
329
303
318
373
389
281
402
275
275
340
301
296
280
342
293
288
353
311
373
381
311
357
269
286
308
310
269
272
289
275
301
335
276
381
261
346
245
334
329
298
326
311
338
359
387
279
301
256
345
300
307
350
294
357
371
323
299
333
273
334
355
366
368
368
277
336
367
329
294
342
260
286
397
335
375
297
291
377
329
306
313
329
304
269
264
287
312
384
383
330
271
304
416
380
347
299
320
350
352
339
386
307
351
261
187
322
365
322
344
301
210
366
289
341
321
312
273
325
322
361
334
346
371
316
337
251
310
390
264
324
378
327
386
357
358
298
370
311
323
320
358
338
352
263
339
298
363
291
284
339
356
320
303
303
340
303
239
352
343
270
314
274
316
349
302
274
274
394
335
346
364
215
222
296
260
300
385
325
304
314
273
272
377
320
357
302
371
308
315
333
259
241
279
344
226
352
275
291
327
349
334
276
331
299
286
283
254
362
312
363
300
296
352
292
272
308
341
328
223
363
325
412
324
325
307
316
343
326
313
324
334
398
248
405
315
264
308
408
285
294
253
354
355
336
357
335
338
272
335
324
313
343
339
328
339
359
332
271
308
279
242
262
320
354
254
257
287
308
355
303
300
297
321
349
328
324
227
380
334
245
258
299
299
319
333
350
247
327
287
295
349
321
303
388
368
340
323
293
342
324
256
268
355
424
304
388
344
306
294
318
363
273
390
294
250
318
351
317
367
332
322
317
316
295
333
381
256
298
339
351
366
290
343
219
278
272
242
317
277
376
340
252
332
299
317
319
356
250
342
269
293
390
344
298
295
362
287
292
263
330
367
250
328
265
351
279
330
231
285
372
292
366
282
365
350
332
240
354
295
261
264
343
252
254
306
304
317
256
307
328
328
313
343
254
293
313
321
338
377
272
257
291
274
323
330
388
302
371
342
416
290
337
313
271
274
421
361
226
313
262
276
339
324
343
334
366
395
315
352
279
339
334
301
274
311
354
233
332
378
371
347
314
310
291
296
350
344
386
351
369
330
350
252
304
349
368
365
283
343
329
327
296
310
276
282
268
401
304
309
300
262
256
378
392
302
354
330
357
316
305
362
327
408
321
304
330
312
315
368
328
314
299
360
290
311
289
373
267
295
308
341
332
355
285
317
356
323
328
330
341
196
345
237
341
324
303
391
291
316
307
323
318
284
291
325
330
368
337
235
309
364
292
308
294
333
219
350
310
265
232
261
377
345
295
289
284
290
345
269
275
337
253
329
272
354
319
291
347
262
271
306
300
286
397
379
348
350
269
354
286
302
297
290
314
284
263
376
341
364
218
422
415
206
372
345
321
351
293
331
365
340
400
314
340
336
291
250
375
285
383
289
266
367
340
310
338
349
301
320
355
356
261
298
252
361
383
300
313
344
312
317
309
358
282
336
287
310
392
305
408
332
389
366
312
322
370
324
365
319
353
350
337
334
355
317
252
249
254
309
320
305
317
373
392
313
339
346
303
341
262
335
316
315
271
366
296
254
340
296
302
291
306
335
318
350
287
360
373
329
317
325
287
280
289
219
372
346
387
296
331
306
277
338
323
376
271
313
302
341
330
339
319
343
304
369
288
289
278
352
335
230
297
337
350
302
278
216
289
296
293
315
336
286
376
309
253
370
303
256
278
300
282
252
350
326
327
287
251
418
341
375
310
403
341
365
394
289
260
312
367
264
284
300
295
318
351
289
311
258
327
295
273
372
287
404
385
264
332
363
343
243
330
337
355
311
346
335
339
297
248
281
257
326
380
318
254
279
257
378
312
302
336
295
347
363
271
399
226
336
334
285
277
387
295
264
266
295
307
329
162
325
307
370
344
295
310
421
335
275
304
401
321
351
284
336
350
285
260
361
378
378
301
370
293
260
373
362
286
381
339
405
341
252
319
260
319
419
329
364
290
368
330
330
321
320
382
295
235
309
337
311
297
342
341
343
369
345
382
360
359
343
366
314
314
367
328
366
337
353
368
301
351
358
348
305
379
264
317
359
335
287
298
330
402
334
393
402
345
355
323
324
317
319
284
337
292
294
358
333
301
282
314
267
318
373
425
344
397
295
253
293
364
276
316
332
354
318
333
228
340
251
281
353
340
334
224
359
271
303
326
321
341
288
306
193
236
332
328
325
303
369
296
268
261
372
357
294
355
278
322
316
350
337
253
301
337
270
320
325
348
309
318
324
349
275
403
348
312
394
268
323
332
374
341
273
334
368
292
289
216
376
346
312
289
277
348
313
295
363
276
327
301
336
368
340
281
374
306
310
314
327
356
306
258
295
332
298
399
356
291
281
385
403
401
288
302
316
294
271
368
362
322
326
345
340
343
316
344
344
348
167
393
272
312
321
402
312
305
283
392
350
238
305
328
287
346
330
363
276
223
368
307
396
308
289
263
301
269
339
202
303
356
245
301
368
361
270
216
332
400
320
373
365
265
286
316
371
312
243
280
338
299
377
353
293
314
227
381
289
251
368
358
412
265
332
283
352
331
300
348
252
324
389
348
387
348
368
311
361
282
282
344
335
308
267
365
197
319
307
344
276
334
282
305
315
315
370
297
305
295
343
261
309
316
361
249
326
366
366
199
357
404
352
298
262
284
230
297
306
325
303
282
381
371
302
297
273
360
332
298
355
275
296
362
284
324
254
407
299
346
321
324
292
304
245
359
393
427
304
327
243
305
409
334
380
335
339
313
365
343
280
319
409
298
304
287
311
319
267
317
335
291
361
306
283
335
327
333
374
289
316
250
226
297
312
357
340
397
314
387
292
222
202
349
452
334
212
283
359
384
316
273
401
320
349
254
291
391
329
333
235
307
336
331
297
363
242
337
343
296
340
354
292
353
376
244
378
317
338
283
349
333
341
234
265
324
413
306
331
273
266
296
345
326
279
329
346
258
347
281
246
360
271
288
339
304
251
317
280
356
308
345
261
334
354
312
278
387
367
315
337
379
247
357
198
254
365
357
378
373
343
235
356
262
281
299
289
257
353
370
269
295
339
225
266
280
310
344
367
345
362
331
264
299
348
337
335
386
394
317
326
353
340
288
336
263
366
300
353
336
327
332
366
279
330
345
268
369
291
360
322
252
422
268
344
338
347
224
309
400
218
346
361
298
291
337
266
341
227
338
369
294
229
276
306
369
265
375
308
386
350
328
304
254
351
368
350
323
376
391
275
347
311
395
338
258
287
327
324
314
350
325
310
358
370
305
339
304
296
279
348
301
293
337
317
416
348
290
328
291
318
230
301
316
341
365
346
373
390
273
288
400
202
253
355
334
244
268
288
305
344
309
318
278
374
254
365
334
308
320
281
324
269
237
314
377
310
328
215
291
360
386
280
357
241
342
227
282
269
339
335
228
286
367
295
255
349
327
338
343
305
291
274
340
274
287
240
325
339
260
319
375
275
286
338
292
269
328
406
298
314
375
320
258
352
348
285
371
374
292
349
371
367
338
240
340
267
336
308
353
312
281
356
400
309
354
282
315
285
352
248
331
294
266
331
327
337
257
374
328
354
330
351
269
329
323
338
348
382
325
324
319
265
326
404
278
295
255
291
317
236
302
357
388
319
327
321
300
312
209
272
352
307
285
289
268
330
282
317
274
380
282
357
285
299
238
326
303
341
354
293
374
314
362
291
374
320
306
219
354
331
372
298
338
371
307
278
381
292
288
346
341
357
317
330
326
288
270
402
364
321
322
319
301
302
297
301
230
347
334
235
273
316
340
274
253
300
252
351
317
333
343
242
374
256
323
355
312
319
301
199
335
274
371
256
377
304
309
293
246
289
310
325
296
349
361
324
365
299
382
351
299
336
345
291
356
363
295
393
389
267
318
298
308
331
251
312
344
313
343
326
356
283
363
347
249
353
269
323
381
306
358
256
393
274
317
327
301
228
292
315
295
404
363
292
290
346
265
359
337
282
254
297
273
366
304
353
323
348
246
352
340
372
272
333
266
290
353
387
369
290
360
307
291
350
348
293
352
293
247
373
287
323
358
383
333
270
274
297
279
391
238
308
294
333
317
362
367
316
358
338
353
360
307
341
354
388
271
304
335
299
333
394
303
354
314
331
308
330
303
352
392
375
303
266
390
305
259
321
333
253
326
329
285
325
314
351
356
247
265
301
316
294
400
234
283
314
313
277
384
266
361
304
332
274
404
306
300
393
336
306
309
307
312
312
308
282
392
359
321
234
285
255
289
262
272
311
297
335
330
295
312
301
352
349
275
360
338
301
292
318
255
346
331
330
308
233
387
241
263
334
371
347
237
322
310
338
344
268
301
277
380
276
303
326
353
375
352
289
286
279
341
315
218
246
356
372
372
274
369
272
254
369
340
347
292
346
354
377
292
281
286
314
266
327
342
275
261
268
341
240
266
309
369
359
389
350
338
401
290
234
295
340
274
276
307
328
316
277
304
247
322
275
277
254
253
275
336
322
319
319
324
405
332
305
329
334
294
260
306
409
291
390
256
282
409
274
367
307
353
259
310
256
323
249
379
276
316
250
261
302
306
284
279
298
340
319
363
360
387
375
349
297
386
372
409
386
311
305
374
259
276
338
349
314
316
345
353
365
358
335
332
313
311
294
308
325
281
287
325
349
268
209
277
298
339
327
206
266
319
294
340
329
336
268
310
284
344
330
238
336
394
327
356
336
324
337
313
250
300
372
258
323
227
248
341
233
294
281
350
315
404
354
238
280
322
374
380
353
311
336
325
244
341
304
342
366
379
280
346
296
369
306
340
341
231
258
310
289
346
293
380
270
354
379
360
326
292
290
352
364
348
353
356
361
274
298
342
274
338
236
273
273
373
325
268
259
281
234
299
303
335
290
307
364
242
403
291
382
349
341
327
280
218
332
308
282
292
253
192
333
307
350
336
291
334
311
280
239
320
370
317
244
267
381
279
325
290
331
353
346
327
293
259
334
403
299
395
241
358
294
301
285
295
405
362
305
231
326
244
311
300
348
288
318
391
280
321
352
280
301
287
223
343
339
241
322
279
206
343
288
392
305
352
358
295
306
343
294
301
380
282
276
307
309
273
369
285
374
317
270
301
316
332
337
321
318
300
311
338
362
330
354
279
282
330
292
245
336
371
312
356
254
311
298
255
330
324
351
281
321
314
277
235
275
261
262
253
265
324
310
326
350
335
345
322
266
320
341
302
345
297
398
356
370
282
347
334
368
245
285
292
309
341
382
395
296
418
362
282
289
311
359
308
278
356
318
242
350
305
369
351
354
411
377
331
281
258
343
319
260
332
317
317
335
287
332
353
289
353
352
287
380
357
360
284
309
292
285
265
294
244
227
247
280
243
329
347
368
347
325
307
300
300
403
341
402
302
316
363
353
404
323
337
348
306
283
335
329
276
268
287
387
306
275
250
370
353
210
355
232
343
316
404
332
289
285
299
333
319
362
369
283
286
346
305
272
367
343
256
350
323
236
257
305
296
335
405
317
305
314
286
336
312
363
234
272
221
392
311
345
369
351
386
330
368
229
353
316
374
377
242
310
354
409
332
283
339
349
291
355
346
229
251
405
366
282
299
378
300
309
364
342
339
376
313
321
295
405
329
249
336
359
340
377
387
353
332
356
310
305
316
268
342
301
307
325
234
389
256
267
258
326
235
212
263
271
274
310
286
308
336
271
312
384
279
324
361
329
269
287
342
331
262
301
385
283
334
340
272
351
350
322
265
271
337
407
299
360
303
292
276
334
305
314
350
270
311
318
295
338
316
313
294
332
347
372
268
322
244
264
344
369
295
284
348
290
396
270
311
386
344
328
302
353
352
294
276
303
364
324
303
349
343
241
305
338
340
269
340
301
303
302
327
395
317
286
335
336
319
355
362
298
289
285
298
266
246
317
401
325
315
315
325
261
272
328
393
303
307
312
349
323
342
377
320
355
347
344
321
245
338
357
315
332
385
321
336
264
311
354
440
309
265
232
323
376
287
328
306
359
312
351
379
374
338
245
234
368
253
345
367
334
304
320
333
359
304
281
359
400
255
262
388
329
323
360
270
296
330
272
299
230
315
320
237
291
357
295
282
322
392
348
327
301
389
325
239
253
263
253
285
304
369
338
341
322
282
388
262
357
410
318
368
287
288
229
318
326
320
325
318
363
278
434
257
385
219
293
314
338
248
354
351
278
276
308
346
304
313
297
356
336
270
225
354
296
361
318
303
361
297
241
284
302
312
297
230
393
361
282
316
289
373
308
373
275
326
322
244
345
264
300
301
265
359
344
320
331
256
386
333
245
353
295
251
285
402
305
320
381
305
337
307
343
253
389
335
305
376
304
250
361
315
282
265
340
312
328
301
374
246
245
364
332
310
277
347
244
287
346
348
275
334
292
288
229
367
250
385
290
272
370
362
373
365
322
334
318
398
327
303
234
247
294
302
277
372
318
273
323
305
291
332
366
320
341
290
320
359
310
290
338
292
306
256
288
326
305
346
269
285
302
303
258
303
288
349
392
317
309
352
359
298
278
272
251
316
323
240
278
292
277
343
294
307
368
246
384
295
319
283
261
342
344
285
275
322
355
344
299
284
377
331
365
337
280
352
311
234
408
333
397
352
326
375
299
293
262
305
304
241
405
225
290
350
382
364
361
351
298
374
327
391
368
319
321
347
267
267
268
327
416
234
303
289
344
306
289
323
263
352
352
334
312
265
274
252
360
303
293
310
347
322
354
264
275
328
271
307
324
333
283
369
330
332
405
286
291
387
275
348
343
213
410
329
289
302
311
381
378
244
255
253
341
428
270
283
365
274
264
391
319
314
327
389
234
287
324
318
326
284
325
357
315
320
366
309
300
319
371
360
337
367
360
352
329
359
325
252
352
227
314
354
340
340
371
218
291
318
293
295
272
323
386
247
277
317
381
304
362
243
314
318
318
363
296
338
281
262
357
300
329
327
322
291
284
237
334
350
231
349
401
293
271
347
365
410
358
261
227
283
265
309
267
325
328
314
279
280
310
400
354
370
279
375
361
269
364
331
334
379
290
383
389
227
299
309
315
289
329
305
331
330
244
205
273
313
272
308
303
341
333
290
324
298
383
337
322
293
366
400
307
359
247
327
347
337
295
269
344
308
353
241
291
332
312
346
307
388
349
274
297
257
337
317
359
262
333
344
317
306
374
322
319
276
310
367
412
287
348
307
346
268
272
362
398
286
338
363
313
283
359
297
267
317
325
389
271
406
323
311
268
310
346
280
368
280
271
294
311
354
365
320
331
301
181
286
282
298
389
338
340
374
315
378
265
279
350
297
291
290
256
246
270
353
320
391
319
200
321
350
299
371
303
327
289
364
360
307
377
322
289
285
411
325
330
314
301
299
264
358
295
375
286
270
254
285
360
293
317
280
447
364
356
333
347
327
241
307
285
266
353
296
370
288
343
351
352
366
263
323
329
257
343
382
362
292
277
301
349
387
343
293
321
368
307
322
363
261
313
269
240
310
369
325
419
289
312
290
324
292
298
338
367
287
379
346
306
343
365
289
397
339
382
285
295
350
275
323
344
266
393
356
336
394
329
342
295
342
300
351
304
354
343
219
324
237
289
271
381
374
339
413
326
274
296
362
370
333
239
322
298
194
371
284
338
262
374
278
362
321
439
297
298
298
384
291
285
370
348
217
368
394
367
309
305
301
310
314
345
338
279
340
252
254
372
341
248
298
327
333
401
304
320
289
345
283
305
383
315
343
296
364
273
331
298
317
187
327
288
373
323
275
372
211
318
322
225
362
395
343
304
363
307
249
368
350
258
360
404
259
349
322
326
393
231
248
290
322
324
284
252
305
307
318
434
369
319
275
298
337
342
271
234
360
348
320
252
277
376
250
299
358
332
380
383
290
310
271
286
379
339
305
383
340
258
260
380
361
334
349
344
321
221
313
349
249
273
318
309
309
260
254
377
350
297
291
275
274
367
319
311
343
355
335
317
305
294
315
333
326
357
277
351
345
349
331
348
417
355
279
258
389
348
357
307
302
330
248
279
251
363
351
312
293
193
282
232
290
281
248
404
295
328
272
281
312
305
293
297
382
315
309
333
241
296
272
322
353
322
361
358
418
300
278
275
306
376
321
325
361
297
331
377
278
289
304
330
311
309
316
302
347
281
298
345
328
284
243
287
321
309
318
395
334
328
321
337
256
337
280
353
356
311
327
416
274
261
306
324
277
297
320
305
382
254
371
372
259
311
282
309
374
304
316
345
191
369
291
329
358
317
334
408
364
307
300
281
333
262
334
285
310
280
263
286
311
358
286
352
378
251
278
319
343
326
317
268
286
320
325
281
232
338
245
354
322
313
351
290
293
347
329
309
305
285
291
332
460
337
329
344
343
331
320
315
327
297
327
320
389
261
312
266
398
332
297
325
361
368
343
317
279
350
292
349
357
291
263
261
274
358
327
360
292
358
370
268
303
288
287
338
265
357
395
254
336
296
333
268
296
283
295
324
373
264
278
298
326
403
342
300
283
353
355
299
268
305
445
261
256
246
302
230
274
262
282
362
290
349
312
361
362
389
277
277
311
295
384
339
304
243
337
291
269
325
298
319
284
332
320
334
366
347
327
252
308
323
260
313
308
251
331
284
305
348
260
272
294
372
295
304
340
361
296
205
291
328
297
310
277
266
396
324
364
283
350
344
318
290
283
299
254
347
427
309
219
361
283
398
288
310
287
306
298
320
358
368
352
367
213
315
357
295
325
269
343
382
345
433
299
331
283
297
222
372
177
337
297
406
349
371
416
336
343
326
336
324
414
343
299
266
288
344
346
279
255
273
288
308
253
318
346
345
303
371
326
299
310
301
314
349
366
298
344
395
318
371
305
317
338
297
281
294
293
293
318
298
374
307
281
270
278
233
324
327
326
295
344
345
315
348
345
259
299
291
354
361
304
329
315
220
339
272
314
276
245
318
311
301
340
257
294
360
394
312
282
316
286
373
335
218
335
383
382
278
354
340
314
286
235
330
326
323
338
380
266
367
246
284
340
392
292
294
317
325
275
260
294
219
343
285
293
324
290
303
218
302
333
306
292
246
299
281
295
401
350
336
361
354
261
247
338
299
350
283
314
329
213
291
315
436
289
404
330
315
335
371
325
294
287
380
274
317
271
215
269
326
366
388
395
317
402
334
334
380
313
356
354
291
326
417
286
342
374
331
316
323
277
385
337
313
321
279
329
336
325
364
352
393
348
327
299
349
356
287
281
303
259
275
335
248
299
310
378
229
278
286
324
322
224
316
313
292
266
358
342
343
319
367
254
350
365
358
348
330
281
214
321
295
350
349
339
213
380
361
236
315
365
345
300
287
317
335
358
295
378
298
329
299
264
348
290
241
264
339
406
290
337
388
265
325
307
311
354
334
268
271
405
324
357
321
286
330
285
330
375
309
264
302
335
323
382
285
322
291
353
339
314
328
248
370
341
362
387
308
308
257
329
307
326
271
254
343
290
195
255
304
319
380
317
243
342
387
208
301
323
212
291
324
360
310
418
278
324
263
327
274
387
384
380
288
312
291
280
401
344
430
195
377
338
317
408
346
318
278
312
283
331
341
354
292
382
366
322
343
297
275
339
285
369
364
390
235
391
354
287
274
379
379
358
282
335
286
269
278
371
408
381
310
308
320
285
248
349
308
362
320
320
295
368
343
346
247
410
395
387
364
386
233
349
260
329
373
302
355
414
388
297
287
355
348
388
323
281
333
299
389
306
260
317
290
320
345
337
384
330
332
370
300
325
393
263
270
317
337
301
291
245
300
315
389
298
314
323
264
352
362
362
289
246
343
298
336
370
330
269
299
266
294
301
324
327
379
255
261
314
314
335
335
319
346
251
339
370
287
320
356
384
286
286
298
286
338
271
297
241
296
258
344
363
250
251
272
256
264
309
347
290
224
277
272
302
312
233
406
359
317
304
239
254
368
412
333
372
400
365
339
327
221
295
362
350
287
394
336
406
373
371
305
311
315
350
314
340
261
342
330
318
372
312
419
383
266
317
343
252
328
335
385
317
392
261
336
350
283
342
197
316
265
331
387
250
284
336
331
286
320
314
264
364
270
286
267
265
321
341
302
385
273
357
326
275
264
351
280
347
324
311
354
315
424
298
331
296
265
296
252
311
245
304
308
313
277
295
272
368
301
287
304
288
323
269
262
361
324
298
284
261
312
368
235
408
258
277
272
396
285
379
306
331
277
285
314
203
288
263
329
376
333
233
369
338
350
379
318
354
334
355
305
293
339
385
373
222
332
284
304
264
288
288
362
332
226
237
399
227
283
290
327
335
319
284
321
325
372
288
355
263
331
345
337
353
318
361
322
314
337
345
318
342
322
306
279
332
350
350
264
276
332
350
312
326
382
282
303
355
295
291
302
378
264
293
325
349
293
334
376
316
290
292
308
387
356
348
320
346
258
284
341
330
333
388
205
272
253
353
299
313
307
263
336
301
292
377
254
293
339
314
313
337
374
226
285
318
346
198
293
264
320
327
280
254
312
291
230
333
308
345
356
338
313
265
352
291
328
281
278
345
328
305
367
368
325
304
262
329
360
261
214
335
306
332
356
310
350
292
266
341
343
369
330
326
277
321
319
296
243
248
328
282
322
331
367
323
314
396
360
319
376
289
232
399
274
266
343
335
357
341
338
292
290
354
400
295
341
254
322
318
265
314
342
314
345
403
318
298
320
367
407
355
316
359
327
370
345
303
240
266
334
305
300
305
345
301
198
295
375
223
243
346
361
345
349
345
321
198
322
344
263
351
336
344
343
260
257
355
255
328
280
241
289
331
331
354
256
395
317
236
230
348
244
313
307
275
383
363
329
295
306
292
313
287
301
259
263
318
419
272
281
321
307
313
341
364
319
289
239
297
310
301
201
325
305
283
276
294
257
302
351
291
253
283
333
344
380
317
378
278
361
352
282
406
332
348
351
318
325
297
256
326
286
281
329
314
287
351
252
337
344
271
296
255
313
298
359
282
355
283
348
304
363
345
315
339
324
315
364
317
399
338
325
354
318
296
237
309
264
285
303
382
302
290
354
361
390
281
268
319
322
337
374
329
262
264
303
353
358
277
258
342
330
340
354
320
280
287
280
379
341
269
324
330
273
361
372
403
333
312
331
392
312
322
269
314
314
236
356
324
352
357
311
289
384
301
290
266
254
277
297
382
325
297
275
341
326
278
251
314
325
320
351
305
345
407
417
287
315
253
223
384
297
330
333
304
298
299
329
305
232
362
290
323
415
303
363
234
346
327
399
312
335
371
229
312
186
255
362
369
392
234
325
328
292
312
317
336
312
313
300
310
343
421
330
319
308
260
343
364
341
239
295
275
307
319
269
403
386
368
313
302
320
359
299
332
311
330
325
367
267
365
267
291
249
344
343
270
322
305
183
353
289
322
297
322
346
276
308
250
378
302
206
356
351
292
264
228
247
383
320
328
256
299
339
286
287
338
326
259
257
354
325
368
343
264
331
339
384
296
361
378
304
312
360
409
277
324
298
331
352
338
360
346
365
246
389
363
286
300
296
397
255
336
261
386
352
294
351
259
377
317
277
342
370
312
318
346
308
249
343
337
355
280
316
252
365
317
212
349
271
288
355
289
282
323
334
285
335
287
322
270
305
320
329
301
358
252
353
277
344
322
306
292
363
319
290
334
415
303
271
336
277
271
320
291
315
281
287
313
194
342
301
326
261
310
383
245
327
358
243
296
238
253
268
326
407
381
235
323
376
401
280
317
337
310
234
325
324
353
339
309
276
369
357
324
349
331
233
366
285
375
296
264
321
363
314
282
266
329
355
302
263
305
327
305
346
302
270
323
363
356
326
358
362
320
310
333
344
379
319
315
370
250
328
326
265
308
307
313
307
303
288
261
263
302
327
302
354
223
306
328
261
343
378
332
252
348
406
289
322
277
387
411
353
231
253
286
252
369
402
350
297
254
315
199
315
290
329
404
321
314
327
271
299
363
166
279
328
300
359
351
401
286
372
263
294
353
320
383
330
361
328
320
353
317
333
268
330
339
314
270
370
289
349
331
311
391
215
369
246
263
332
275
317
325
328
369
285
370
269
363
264
300
350
260
325
266
296
343
286
346
300
285
352
354
313
255
320
244
285
322
388
342
316
257
328
235
326
370
338
257
299
375
255
233
343
201
354
350
312
358
343
279
293
326
393
340
346
324
295
313
402
368
331
319
306
260
320
328
280
223
324
363
271
307
311
290
306
328
323
242
305
341
336
323
345
336
270
293
255
267
311
387
333
331
284
306
323
280
365
370
330
302
322
387
411
334
306
339
273
334
266
417
299
306
274
312
304
267
344
299
255
313
366
280
312
280
342
310
341
308
292
346
348
277
277
346
330
359
257
315
362
323
354
274
361
354
253
394
328
365
383
308
320
331
358
346
298
292
366
313
395
281
248
373
324
367
280
379
358
301
303
332
298
322
379
278
307
336
340
343
247
298
367
366
357
299
366
378
285
320
274
343
265
304
351
382
292
292
210
253
243
292
274
299
293
274
270
339
335
369
290
311
351
332
400
317
345
300
336
335
395
353
389
284
249
279
325
236
409
208
361
318
207
279
366
268
357
319
405
290
362
372
383
362
394
250
262
240
292
312
188
347
347
341
351
319
308
298
319
347
278
311
300
399
288
286
159
318
344
221
282
229
247
276
364
346
322
321
322
337
313
308
297
399
279
293
363
292
243
352
276
308
370
357
324
331
295
358
321
333
380
301
298
348
342
288
302
383
350
290
404
318
234
206
340
378
407
322
324
298
320
308
305
275
280
261
323
272
343
259
305
310
220
338
294
318
281
294
274
357
276
269
337
302
354
277
296
311
329
372
297
319
293
301
331
267
288
267
334
313
287
364
356
358
287
350
331
316
331
327
324
369
272
302
264
291
270
265
334
333
312
301
330
401
312
342
331
293
324
283
301
388
328
297
287
298
308
322
238
420
250
309
279
281
280
397
312
260
256
305
332
364
361
319
363
280
347
344
298
275
291
405
365
317
240
282
325
350
381
296
376
266
352
264
267
338
338
282
262
304
280
325
293
335
325
297
350
252
329
330
259
326
314
292
274
300
303
249
358
249
397
259
325
342
351
410
320
314
261
287
395
304
289
370
296
345
361
309
368
297
248
343
342
294
265
280
301
263
347
225
317
330
292
289
306
320
265
344
294
309
283
347
358
319
334
234
279
266
207
332
283
347
288
320
361
372
282
305
254
294
343
308
371
432
308
294
318
418
384
273
321
399
365
302
355
331
325
281
335
284
355
315
353
307
347
169
306
282
313
336
323
261
275
294
229
273
332
278
364
338
302
340
307
212
363
359
378
350
302
279
307
409
365
321
270
293
307
291
250
340
317
261
369
315
215
319
354
382
259
304
320
314
272
327
295
376
443
290
282
407
375
331
343
362
329
356
369
308
359
386
284
325
284
351
275
259
317
353
361
395
376
261
296
264
292
300
331
337
347
337
359
280
277
330
299
344
336
329
293
313
291
392
339
255
292
260
263
406
354
310
258
368
416
354
287
299
369
270
306
397
292
393
216
326
336
276
325
379
297
345
274
382
208
339
272
365
295
357
282
359
288
398
370
232
281
370
365
332
279
289
322
271
320
400
288
347
283
299
347
378
286
297
284
392
265
315
319
371
334
262
335
367
361
357
290
345
409
247
335
284
271
270
239
209
318
225
372
304
357
435
338
311
325
254
320
316
374
285
348
342
360
274
294
290
378
302
312
288
396
305
382
346
329
340
359
336
327
327
418
257
341
332
309
304
304
370
370
343
349
316
308
312
329
259
370
342
292
338
271
288
305
248
326
332
315
379
276
382
244
332
296
303
330
365
289
201
345
390
280
253
379
325
296
411
314
273
236
296
335
306
204
330
336
309
342
352
382
315
338
310
268
330
357
334
315
342
320
294
354
311
193
334
292
325
318
274
239
210
294
333
275
385
365
319
265
352
298
266
418
311
293
311
303
362
351
275
332
288
291
248
280
345
321
339
372
290
255
283
311
356
349
271
367
331
335
183
372
368
351
382
349
313
389
319
282
331
331
335
329
345
281
303
304
342
354
244
339
260
320
333
365
335
322
342
305
314
340
305
272
295
349
323
355
286
359
334
375
349
341
355
318
319
296
283
329
294
370
326
276
372
232
357
307
386
347
306
325
272
357
430
305
278
394
316
328
258
366
280
268
321
278
289
361
321
335
321
393
394
257
330
354
354
324
211
301
257
277
220
293
239
261
375
311
276
355
221
414
299
357
224
311
345
321
258
306
432
296
190
361
307
378
305
300
438
264
328
292
325
355
208
371
420
284
349
363
273
372
334
279
304
230
293
257
227
372
346
310
343
327
306
255
298
350
326
323
307
304
323
329
319
415
307
310
339
397
360
296
347
308
286
357
338
304
263
293
323
312
255
224
334
301
316
391
349
337
283
355
382
347
367
363
223
327
320
268
315
264
318
366
331
220
267
276
303
301
335
318
302
322
341
281
313
203
350
304
295
300
329
331
329
279
323
367
286
340
359
265
402
360
281
358
328
326
337
308
352
249
235
287
406
284
315
375
292
327
289
293
306
305
352
245
397
276
337
338
346
272
369
378
329
259
357
293
287
394
243
389
317
381
329
384
319
321
360
260
365
326
289
269
354
332
307
372
310
306
267
357
346
299
295
269
299
248
396
258
252
304
296
336
290
369
380
303
354
305
292
360
372
355
341
200
312
326
295
305
347
313
258
303
361
269
401
319
381
310
252
345
317
298
342
242
298
257
313
243
425
349
246
284
273
427
338
441
423
303
366
341
334
344
335
389
429
313
323
262
342
228
289
329
233
301
305
329
337
272
214
298
306
291
279
310
311
306
340
210
280
271
316
286
339
259
211
294
308
366
376
298
340
342
356
285
275
367
297
315
295
356
332
339
307
377
226
335
378
286
449
277
326
356
312
228
277
325
307
310
301
249
348
294
288
327
288
296
308
311
285
377
346
322
348
336
329
314
304
375
303
294
319
360
371
299
297
381
324
342
376
348
343
327
330
385
399
291
294
340
351
350
250
283
347
307
266
299
330
410
252
310
394
299
305
384
329
343
367
342
352
276
326
304
292
270
320
267
238
256
311
275
345
353
252
384
263
383
431
267
312
230
318
312
323
289
354
344
268
373
393
358
324
331
228
369
310
371
399
309
344
346
254
337
354
348
321
316
302
285
333
408
342
273
318
285
328
222
333
393
345
306
355
293
393
366
369
378
347
275
383
359
394
258
341
336
324
386
314
292
352
358
232
381
338
356
315
222
304
361
333
321
325
306
347
279
257
290
323
201
333
317
169
336
373
308
322
287
351
336
265
346
286
224
266
296
344
350
260
333
276
347
343
315
309
314
323
253
377
296
325
350
355
291
290
297
263
333
265
377
244
335
311
377
332
347
327
308
367
332
347
293
375
282
305
348
345
303
371
293
338
284
307
257
237
268
298
343
391
333
352
290
249
353
276
366
296
313
371
338
287
252
351
279
317
364
287
357
297
303
271
444
365
241
286
326
319
281
346
339
372
324
316
380
273
216
384
424
384
293
311
350
332
320
415
209
374
337
300
369
333
268
231
327
325
367
348
406
240
377
295
308
287
343
250
316
343
390
311
309
318
274
236
278
368
352
326
315
308
372
336
370
370
383
324
279
333
377
312
279
269
333
340
342
413
326
308
289
308
343
312
312
356
321
332
339
347
330
265
319
362
330
302
314
328
209
295
354
383
217
303
352
295
305
291
303
317
237
338
349
288
355
292
316
302
338
256
326
256
354
361
327
224
392
265
312
328
339
289
359
330
256
240
303
239
359
337
276
303
223
229
342
258
337
354
337
391
271
377
263
298
263
334
236
391
355
276
271
398
367
342
365
314
330
366
304
298
359
348
328
316
271
333
319
345
343
318
398
348
317
290
297
300
327
357
343
362
362
261
350
352
376
325
308
317
294
329
338
304
370
381
324
319
440
355
307
336
399
301
309
296
237
346
275
301
349
333
334
321
299
372
339
343
305
278
250
271
298
364
309
308
255
346
355
308
274
333
337
381
380
356
304
412
316
232
306
314
313
389
313
300
254
305
254
321
331
317
356
360
313
381
261
346
213
379
383
270
382
223
337
344
299
311
350
315
338
242
293
325
329
297
357
317
240
359
274
401
381
289
361
396
262
371
253
407
349
356
340
322
349
298
287
373
268
305
285
287
275
380
356
371
319
220
324
236
332
350
346
332
377
312
283
293
334
357
304
304
331
256
248
404
350
251
312
371
283
336
377
326
267
357
287
266
343
305
313
240
301
265
302
358
337
376
259
332
407
381
360
317
392
226
280
328
321
380
343
312
379
298
316
340
320
272
255
321
386
313
317
298
336
350
345
337
365
219
330
405
344
336
347
379
338
336
356
282
232
309
266
282
316
322
377
305
266
328
378
290
391
275
351
305
339
375
360
337
367
278
327
399
312
311
340
351
344
329
388
349
389
345
341
361
300
355
233
301
356
314
282
274
317
328
350
316
306
324
346
321
371
353
325
345
285
260
267
351
398
326
308
345
357
341
292
276
284
317
268
233
173
286
344
316
333
327
356
330
253
292
341
327
292
307
371
343
309
343
311
348
355
262
392
353
350
329
346
316
335
316
353
326
305
290
328
334
374
326
219
265
375
364
290
283
330
307
295
258
326
367
381
236
258
370
310
327
351
294
348
306
272
280
278
370
277
242
252
414
325
314
302
360
330
324
356
366
353
290
269
285
359
370
244
258
294
370
337
312
282
348
305
330
298
295
312
324
242
361
283
322
264
355
281
274
326
343
268
278
258
360
323
359
387
297
391
295
283
338
320
350
292
321
299
372
295
257
307
360
385
280
356
288
348
346
346
302
344
324
354
290
296
368
281
379
329
354
396
312
311
296
334
351
360
322
306
331
266
343
246
298
316
381
289
294
337
414
235
289
305
302
277
325
331
255
310
286
263
368
342
394
350
291
280
325
354
291
366
378
370
387
380
298
279
333
365
356
313
369
339
170
308
348
276
278
346
334
277
293
318
344
349
382
203
316
321
322
320
256
349
243
358
337
334
268
298
296
330
348
367
346
280
260
380
343
326
333
344
271
318
407
293
302
274
254
349
311
283
267
333
346
345
238
394
363
305
272
342
236
268
345
318
385
338
310
211
306
324
363
398
360
325
303
371
330
374
379
379
364
300
325
259
309
307
273
360
317
251
289
289
383
375
286
354
298
276
329
244
246
384
318
337
293
301
267
338
349
321
373
384
364
341
374
337
365
316
275
361
235
322
291
409
360
287
281
349
362
225
352
242
257
355
323
359
259
371
314
348
395
290
251
354
325
304
258
326
344
283
344
334
234
280
310
371
325
390
387
345
352
339
319
336
371
339
289
328
340
340
305
316
302
364
414
320
284
311
293
261
357
292
307
386
278
337
294
328
183
311
427
343
344
332
377
303
354
250
294
273
303
303
355
303
351
344
333
369
366
312
335
345
373
294
269
418
275
365
298
259
245
316
278
367
355
301
291
236
339
301
302
362
385
297
286
343
349
358
348
266
326
333
302
255
367
350
313
297
318
263
260
324
378
301
330
377
240
316
348
373
357
352
262
290
327
361
287
332
316
315
292
365
277
310
279
301
355
352
334
353
366
296
272
336
237
375
395
267
322
317
292
344
236
256
330
306
290
374
387
350
302
376
228
340
342
301
327
270
300
369
331
345
295
376
318
313
341
243
277
295
303
349
315
366
342
301
367
339
326
326
310
363
371
271
336
307
377
355
410
365
322
230
312
322
367
262
374
216
317
346
270
292
302
333
352
329
240
257
299
295
266
281
317
356
243
244
376
330
341
319
331
368
281
300
378
390
315
312
292
271
305
251
311
290
275
305
350
322
287
359
328
270
344
344
309
346
317
274
328
345
218
260
319
299
321
433
257
288
246
327
252
327
340
340
289
281
298
285
314
275
297
375
288
330
358
332
304
317
338
367
341
272
331
306
251
343
353
343
336
315
306
360
403
303
353
355
317
322
337
286
333
327
360
274
357
349
342
315
309
338
346
381
340
398
267
312
308
325
421
342
177
278
359
354
347
265
315
334
300
322
323
256
329
286
329
376
355
339
332
301
331
268
377
348
364
385
329
352
318
364
227
345
265
269
283
331
303
399
270
297
295
408
280
333
288
281
390
313
322
275
287
360
317
337
250
349
369
378
348
322
323
301
296
324
267
260
285
299
336
279
272
302
284
351
399
363
319
389
286
221
322
348
353
318
297
274
366
283
394
278
343
363
340
396
287
375
356
302
368
265
338
318
326
397
323
345
287
278
348
297
271
245
322
229
242
317
173
320
211
345
282
333
283
293
303
292
249
261
362
332
343
280
301
345
334
292
348
266
214
345
268
291
331
329
253
273
337
374
333
253
226
342
357
372
324
334
307
266
339
300
320
312
367
247
315
300
314
272
342
355
306
393
336
312
279
278
328
279
302
430
343
284
350
386
329
371
335
277
315
246
364
346
399
310
274
318
316
279
234
243
354
301
335
322
312
319
344
354
335
309
317
364
339
317
313
263
289
361
355
360
304
353
379
380
316
337
359
229
274
337
304
285
240
314
330
271
335
310
238
341
293
359
284
287
330
264
397
359
380
364
322
230
355
264
314
343
294
266
347
302
431
297
373
282
365
256
404
328
336
293
348
366
384
327
374
359
384
293
374
361
319
352
327
332
269
340
291
285
319
301
352
381
310
336
367
272
268
248
357
326
327
304
285
305
282
380
300
352
275
335
331
299
339
369
306
258
298
291
367
342
287
300
344
281
370
352
363
192
334
324
279
350
330
275
231
259
298
351
317
356
260
286
368
291
303
328
305
278
326
369
356
360
287
403
341
281
365
265
329
291
340
372
360
297
300
268
367
316
336
273
312
281
246
293
330
350
257
297
317
370
346
259
381
321
273
358
306
309
346
364
315
353
352
211
326
341
279
405
324
264
311
359
310
327
296
333
300
304
365
353
339
302
314
343
244
317
308
323
258
355
390
290
341
335
273
377
390
382
300
290
328
344
359
368
370
310
331
330
304
370
260
349
351
401
292
282
287
335
265
381
388
377
318
345
308
263
296
410
223
337
315
340
401
339
408
337
331
224
212
346
341
348
283
356
316
328
332
353
292
242
331
305
237
369
340
404
307
348
294
336
176
332
271
265
414
296
347
357
274
273
263
276
262
325
299
274
339
350
321
358
322
258
233
275
304
267
327
302
380
265
337
388
286
323
412
306
308
283
352
307
348
333
345
271
337
299
317
343
325
308
287
222
360
289
274
333
270
393
350
290
294
293
277
330
315
295
357
280
351
403
295
400
294
277
282
310
236
346
205
311
306
338
251
405
325
283
257
321
283
338
334
312
364
276
298
297
363
388
307
279
277
306
268
280
402
333
273
283
217
339
280
313
411
279
379
286
292
254
314
396
314
338
310
279
389
379
249
280
284
386
376
277
357
274
225
286
328
263
381
357
349
317
344
337
285
375
319
341
243
310
317
360
304
278
281
199
393
391
258
329
375
244
318
302
360
305
300
336
285
334
219
351
353
340
342
320
312
302
335
326
356
293
341
322
314
373
262
352
279
274
349
293
240
350
364
329
222
284
262
378
263
294
384
285
289
277
309
330
266
315
339
336
334
314
304
320
264
359
273
308
264
316
335
239
309
317
261
366
269
302
344
330
365
278
304
288
185
343
257
340
304
278
323
293
282
348
292
388
241
222
319
310
368
316
296
260
243
295
408
375
353
328
309
311
334
334
348
362
368
342
364
372
311
343
372
303
318
318
291
257
296
387
211
377
252
232
339
321
330
342
306
364
296
355
302
273
271
297
332
264
422
321
401
345
289
308
406
261
239
317
389
268
309
372
368
378
365
274
225
266
301
332
291
260
266
268
312
320
315
332
383
308
323
261
341
403
320
295
365
325
298
287
363
346
220
268
369
316
349
283
381
404
244
331
356
348
287
323
351
261
273
291
316
314
301
299
321
361
375
359
294
409
288
289
229
324
275
271
288
289
289
350
263
369
315
312
290
302
321
284
329
313
288
221
299
330
280
399
218
352
331
297
320
309
388
351
307
253
344
304
384
238
332
294
308
390
348
289
300
317
338
341
295
365
329
261
250
385
297
342
300
318
307
246
326
303
305
297
370
342
368
176
373
290
287
376
274
301
309
340
304
331
309
345
288
372
282
335
262
322
308
224
299
293
273
261
344
303
374
338
323
371
329
362
303
337
374
257
330
295
235
378
352
262
400
280
235
348
367
407
285
371
297
280
332
293
316
319
283
296
384
291
304
327
348
230
312
283
334
346
337
263
254
319
249
274
296
364
321
345
330
325
308
341
335
379
342
336
343
347
269
347
304
329
358
344
325
364
294
287
281
217
291
299
321
281
339
338
356
325
284
283
358
392
293
305
332
192
349
377
290
322
398
346
293
311
273
212
368
339
334
351
301
260
326
321
357
342
314
351
273
296
335
336
245
237
315
317
247
318
303
364
285
242
353
407
371
309
317
261
345
264
310
217
305
347
287
299
292
289
353
315
344
323
256
282
366
312
336
370
330
357
201
353
286
301
295
355
337
358
235
303
321
310
310
303
317
363
259
275
329
318
232
297
401
383
376
249
323
281
401
317
295
308
317
328
255
338
284
388
344
367
392
365
340
320
226
279
291
284
363
254
277
335
339
313
321
271
314
368
358
341
378
345
303
361
267
319
294
298
409
338
326
293
325
305
262
297
327
262
408
288
324
292
240
331
298
301
323
361
217
317
291
308
310
258
340
269
300
308
382
314
228
307
333
415
359
329
353
255
250
365
327
382
295
283
313
300
289
286
290
319
220
289
343
350
297
279
288
244
321
250
356
390
270
331
353
323
326
360
272
357
311
346
293
339
311
383
344
253
388
306
283
340
389
278
358
236
272
341
357
249
347
199
297
338
303
346
329
274
353
276
268
257
208
280
297
395
335
295
279
325
391
299
346
354
402
371
269
310
315
290
294
361
333
302
312
290
242
365
348
289
248
343
355
279
348
316
353
283
397
355
234
251
330
273
424
296
273
290
288
289
262
268
307
344
332
254
292
313
330
320
339
279
314
351
351
277
289
336
317
228
328
279
258
331
310
268
278
289
330
342
348
349
327
384
316
314
317
319
332
319
275
368
278
264
373
256
328
266
277
325
357
314
363
450
308
368
266
359
236
243
295
315
370
335
295
287
348
357
309
288
306
283
333
382
392
244
311
365
281
338
385
328
365
348
310
323
302
304
264
266
318
292
345
249
371
294
329
283
261
352
295
301
376
357
255
335
371
347
305
286
387
352
325
321
352
303
260
296
377
262
345
248
305
282
282
370
376
305
284
338
301
282
372
278
370
228
369
332
338
302
402
303
294
317
344
339
355
371
348
332
329
327
301
301
261
375
301
253
291
327
334
324
328
310
279
307
318
350
351
224
347
296
274
266
334
343
316
372
412
448
238
329
338
335
294
300
385
339
313
238
253
269
317
367
248
405
300
208
337
268
341
271
356
330
342
249
328
291
304
339
253
299
305
289
353
343
280
349
303
350
389
333
280
373
399
334
258
354
386
316
318
326
350
354
323
277
267
331
277
358
300
293
357
270
331
302
361
413
308
362
326
292
290
313
339
314
297
326
299
256
301
264
262
299
342
292
287
268
381
306
269
232
234
284
333
266
406
274
257
353
335
331
275
258
304
314
336
250
365
294
316
333
334
293
251
335
219
291
266
294
312
300
281
321
292
312
300
331
338
305
325
317
262
283
329
247
287
308
361
349
299
327
244
331
351
273
344
327
313
289
425
247
273
342
293
243
271
329
230
301
279
288
244
301
305
206
320
368
378
278
373
432
329
392
324
293
306
387
319
257
356
327
211
285
373
367
350
281
267
284
331
372
315
327
315
339
310
269
249
287
279
370
404
304
337
335
386
278
251
382
324
252
346
283
291
383
322
244
288
280
324
308
271
300
292
346
318
232
356
378
405
298
263
328
319
281
260
318
384
308
335
322
318
331
321
249
341
365
268
342
247
275
318
408
340
235
255
265
289
391
335
331
331
309
311
331
278
360
311
382
294
287
344
285
338
230
339
286
311
317
323
355
209
293
313
306
387
313
353
394
341
347
385
355
264
371
295
340
284
348
366
286
210
358
378
304
379
366
296
376
305
312
406
366
301
278
282
303
300
360
422
376
397
323
305
280
309
344
347
342
313
271
244
316
316
324
331
328
335
349
368
270
300
293
280
253
335
307
384
323
389
265
321
402
291
309
164
352
325
295
334
346
256
331
350
348
299
297
450
330
341
398
294
370
360
365
297
359
326
351
298
356
296
315
311
330
247
301
324
353
345
369
312
222
242
392
345
346
278
391
234
337
315
382
345
244
343
271
334
289
356
363
328
322
270
267
322
367
369
314
332
308
183
295
341
234
340
339
386
342
287
296
266
258
346
260
282
300
317
356
223
274
277
360
411
323
321
293
270
360
300
269
295
367
348
321
423
284
329
410
407
242
353
304
334
275
307
330
351
305
303
386
323
321
306
326
316
347
292
355
345
380
281
219
337
298
301
288
254
290
253
362
349
365
351
296
439
347
345
297
328
352
247
325
283
264
347
277
389
326
282
351
377
272
316
325
333
325
305
310
383
300
327
324
305
332
340
294
337
230
342
264
262
392
303
301
329
285
368
293
374
297
265
364
315
283
333
297
256
360
325
327
290
321
309
323
390
321
342
261
442
334
323
365
338
310
387
354
261
281
232
326
338
344
350
251
268
308
305
279
306
207
269
250
314
312
288
281
295
352
326
330
368
346
234
298
310
339
278
360
311
296
319
235
418
353
331
335
317
323
264
291
378
318
337
284
206
280
346
296
297
362
297
289
395
315
312
246
350
375
348
317
284
368
341
343
336
384
297
397
355
270
333
307
314
283
376
298
319
298
394
265
347
271
246
271
311
388
301
368
291
359
259
277
280
290
304
323
283
379
260
326
308
428
304
323
306
302
380
353
292
356
306
324
324
321
301
322
361
317
304
377
287
296
283
371
313
341
309
273
438
278
353
350
381
361
230
252
266
384
307
349
375
264
397
305
252
332
313
321
321
315
280
377
273
308
326
356
334
344
287
296
289
283
294
380
323
334
295
287
330
313
289
272
312
264
300
391
290
244
328
283
346
375
354
311
283
324
363
283
293
229
297
352
243
298
319
285
338
262
403
364
360
317
408
363
329
331
322
366
379
277
356
273
316
255
319
289
259
329
323
229
320
399
375
345
304
269
361
390
306
247
306
255
362
304
359
276
239
339
310
298
367
275
312
316
331
378
290
328
219
322
304
233
325
217
300
372
403
324
274
331
386
245
336
379
374
348
315
267
282
307
372
307
208
389
302
293
295
359
388
352
348
267
323
287
375
286
278
347
404
250
295
352
372
300
305
404
295
287
249
286
323
269
331
216
367
329
236
257
316
228
336
312
362
253
355
406
266
282
341
344
263
384
298
324
328
340
327
343
278
311
327
263
287
330
324
331
351
333
350
312
330
343
262
305
352
345
289
317
316
338
319
296
319
290
289
268
354
307
270
236
272
284
330
238
330
332
375
284
301
313
341
292
287
345
266
322
243
272
319
439
332
355
315
331
333
255
350
268
309
364
210
351
289
292
290
342
356
287
288
416
304
303
333
286
270
354
294
423
374
248
361
210
385
250
333
270
321
370
332
333
333
255
373
261
359
332
261
355
381
295
257
251
345
379
386
286
374
295
383
285
403
275
314
299
369
313
307
323
317
366
399
320
238
264
278
344
344
320
331
382
263
387
296
461
319
285
219
365
325
372
324
337
331
427
317
330
320
369
398
314
358
337
365
349
354
301
340
280
263
312
275
332
381
298
246
332
326
312
298
340
300
304
335
277
340
342
357
242
378
250
295
347
305
338
254
327
333
291
340
207
322
343
358
349
327
239
334
306
280
322
264
369
295
203
301
316
340
271
389
277
293
337
340
340
272
289
354
279
274
359
199
281
269
352
262
302
343
328
293
318
351
318
315
337
329
409
302
251
239
319
327
289
276
320
315
294
389
331
323
258
280
332
304
321
252
351
313
301
320
273
310
273
300
357
267
331
286
236
323
229
294
322
338
309
338
397
250
247
345
331
389
300
382
295
302
320
325
311
340
320
268
348
283
302
265
388
347
269
274
329
305
334
369
288
357
335
265
337
261
242
333
318
273
301
288
223
269
290
363
302
286
281
277
338
243
345
313
303
333
326
366
298
283
343
358
323
310
337
384
404
323
337
311
310
319
253
379
409
309
347
272
320
332
328
332
291
292
382
291
305
329
317
319
273
284
327
219
335
429
267
387
328
240
288
442
346
326
365
300
373
298
336
270
216
303
310
317
241
301
341
337
327
181
246
350
298
295
342
262
243
319
314
333
334
309
291
305
282
343
260
259
248
334
390
240
295
311
357
310
239
293
394
326
300
405
364
318
287
291
281
297
282
258
331
314
338
344
364
333
328
350
316
293
353
274
318
313
283
300
325
258
405
273
283
286
377
363
291
378
292
212
283
303
288
358
341
292
401
400
235
350
168
308
282
310
328
318
272
343
340
332
393
386
309
338
318
297
288
397
255
433
252
282
332
339
312
276
331
300
285
251
321
277
303
343
371
330
400
330
348
309
302
265
354
298
409
247
289
281
363
395
232
323
326
322
360
331
280
291
312
380
329
349
335
226
256
377
319
306
280
352
303
353
272
357
330
304
332
329
298
402
332
344
362
358
328
361
357
318
284
332
274
417
314
326
349
284
220
350
304
300
313
360
314
282
320
311
268
325
378
371
296
419
273
289
364
279
348
350
335
306
374
335
314
356
367
422
366
355
335
280
276
314
232
301
268
297
378
395
216
394
376
276
273
372
308
319
342
272
352
308
281
267
319
265
344
278
261
293
458
190
349
340
324
370
320
366
259
411
225
259
322
341
252
329
264
434
438
326
332
284
396
328
374
294
352
324
332
342
336
317
347
333
371
328
257
294
349
393
333
311
279
321
379
285
310
340
334
335
232
303
325
354
279
297
279
257
346
273
267
327
342
287
287
272
305
294
259
336
360
356
313
326
380
338
388
283
166
290
363
235
339
277
338
354
323
314
325
271
377
379
246
322
319
366
376
250
348
372
389
295
408
320
373
295
401
302
335
340
355
335
353
317
309
381
311
257
335
262
308
305
416
342
325
263
243
398
344
295
297
376
281
335
313
298
366
279
282
322
331
387
354
279
296
247
361
301
318
218
223
309
329
315
384
396
295
355
362
369
281
340
269
263
223
272
290
267
368
389
294
365
336
328
270
332
307
327
395
299
366
315
323
313
258
232
247
317
207
342
382
271
329
342
296
285
367
243
337
261
272
297
333
275
337
325
226
370
388
306
322
390
360
358
316
311
384
290
261
420
342
245
347
391
350
269
322
315
293
386
395
241
375
318
262
270
333
241
360
365
276
366
348
343
332
416
319
363
312
292
275
280
392
336
328
298
329
319
271
350
335
356
331
240
362
346
326
283
343
342
349
393
269
300
290
350
340
427
379
339
277
329
350
352
374
321
340
297
345
305
299
246
272
299
380
315
377
345
270
308
256
262
335
333
340
391
278
303
304
317
272
337
333
366
358
284
330
290
232
301
293
236
352
289
296
276
285
314
320
273
300
292
372
272
265
327
344
282
279
286
297
265
319
348
223
329
404
305
348
302
304
348
313
340
421
401
343
319
402
243
329
314
331
366
383
305
324
352
290
355
240
337
331
365
358
323
324
229
394
280
346
294
307
370
365
312
295
347
253
359
299
362
433
294
400
326
285
314
312
365
414
270
364
366
220
322
284
333
313
239
373
345
315
269
379
316
249
334
227
286
252
358
303
365
294
245
357
255
237
289
293
278
351
271
309
392
350
297
346
291
360
362
335
315
332
303
316
271
266
418
284
359
226
361
277
339
340
360
299
339
249
314
363
335
360
195
294
304
287
325
318
351
312
356
357
260
313
291
323
361
311
292
260
426
307
300
302
320
285
399
360
375
335
398
388
325
269
306
276
305
362
284
350
291
375
344
275
345
308
317
321
315
335
300
258
271
258
355
337
384
263
320
294
329
373
354
302
340
282
290
271
222
343
359
301
316
357
282
347
308
272
260
383
350
330
250
276
318
324
282
355
351
283
259
307
293
342
340
235
314
321
352
302
376
359
314
274
186
252
255
313
345
272
291
306
380
349
316
344
311
317
323
386
383
264
321
383
336
306
276
328
326
367
254
326
210
278
324
394
263
283
313
323
278
381
396
341
393
358
380
239
375
356
303
316
368
370
307
231
327
299
373
357
282
393
384
405
317
348
289
387
351
352
304
280
286
320
228
386
290
327
278
308
218
325
345
330
332
324
291
287
266
282
333
361
364
304
286
343
332
275
327
360
335
268
366
348
367
288
249
346
249
334
274
374
360
308
335
312
306
313
337
264
314
376
394
371
304
343
262
380
362
379
234
312
296
341
328
259
284
283
342
280
245
279
336
307
268
316
368
268
295
333
316
292
301
324
395
358
348
349
274
257
358
406
380
314
301
353
296
291
348
370
333
317
342
365
317
370
352
340
235
428
340
375
355
328
340
350
293
292
261
267
302
359
326
291
321
432
310
329
279
375
436
268
354
353
363
371
252
347
394
341
244
334
299
333
354
423
388
324
305
315
336
242
307
372
278
344
344
318
398
301
410
344
213
316
374
299
265
300
286
314
421
423
325
312
335
303
296
330
324
329
337
385
322
345
377
313
359
328
275
326
419
322
311
364
304
329
319
357
314
344
270
231
359
263
259
326
344
318
304
288
307
339
405
246
312
327
303
376
337
318
309
339
319
367
373
263
340
332
215
361
335
342
263
315
361
345
323
382
333
223
312
319
322
351
326
290
271
283
389
369
305
349
319
308
314
282
360
302
292
275
302
350
422
280
358
305
316
310
289
318
314
311
251
369
326
339
303
363
340
376
385
331
295
345
366
320
248
245
399
291
313
345
224
260
313
286
293
303
314
280
354
355
298
250
240
381
355
369
248
378
293
306
307
269
242
366
281
340
380
367
388
273
336
259
397
367
377
276
295
331
275
349
377
276
331
311
246
373
298
347
350
330
344
362
262
236
365
295
308
311
357
293
371
343
247
255
343
298
260
379
311
345
295
299
282
240
306
275
351
309
296
343
320
240
306
308
370
368
276
373
374
286
308
387
356
269
284
356
372
262
317
316
259
310
244
326
322
323
341
336
295
272
337
297
336
360
332
279
394
294
416
289
211
350
335
289
352
350
414
286
282
333
316
222
288
288
228
308
410
267
347
416
305
324
356
278
368
307
324
341
344
334
359
284
252
295
320
235
335
389
289
357
343
245
326
337
329
344
184
355
297
291
275
326
304
337
329
377
324
266
227
323
413
247
258
282
329
207
295
253
282
295
259
304
351
314
340
328
371
299
376
308
330
300
303
259
361
366
235
368
374
277
315
422
336
356
328
363
299
268
278
296
316
329
384
305
268
283
343
354
243
368
256
262
340
290
398
398
351
269
388
317
353
361
316
238
300
375
355
336
329
245
287
272
290
320
335
309
300
305
289
329
323
294
371
290
364
390
303
358
356
309
242
317
301
353
382
274
188
320
359
324
350
331
311
281
340
277
329
340
299
334
315
236
312
333
347
327
320
263
331
191
281
328
268
307
330
319
261
421
339
349
322
249
377
229
344
277
341
412
395
307
287
260
220
301
285
249
338
229
326
329
328
280
360
294
326
357
338
338
325
358
375
340
242
312
243
310
320
332
359
338
334
268
313
260
295
312
278
323
297
277
288
362
279
343
352
379
281
283
307
306
274
316
367
366
274
260
273
367
347
206
314
246
304
315
306
346
319
279
348
320
223
337
401
325
337
361
285
317
305
290
386
262
335
223
285
299
310
296
309
345
308
359
394
264
295
376
339
286
266
256
358
293
300
275
275
330
298
262
322
316
309
232
290
307
308
345
284
189
325
425
372
356
243
345
380
294
377
306
458
289
316
308
246
306
310
371
429
293
335
332
326
312
317
291
327
292
216
305
368
340
257
204
302
383
344
276
352
342
321
243
304
322
300
351
273
278
215
331
298
401
327
272
301
299
327
378
321
288
269
376
327
304
336
338
281
287
334
408
322
354
341
317
364
309
355
329
348
307
249
326
345
329
322
362
384
313
314
322
305
277
283
290
266
288
304
256
251
326
308
344
313
348
288
348
289
339
306
347
328
345
226
295
397
399
330
312
245
305
281
260
393
308
293
252
249
329
337
341
394
386
299
351
327
300
257
288
367
330
297
280
310
290
185
293
377
258
330
297
299
286
363
378
308
280
266
251
213
234
326
251
288
256
374
297
336
267
323
316
272
324
382
338
237
351
339
307
357
313
279
342
309
250
288
279
312
413
311
402
332
360
277
398
348
322
290
356
259
356
300
302
380
317
335
299
286
380
289
237
349
420
350
311
346
288
307
366
288
331
222
313
294
291
366
327
419
340
326
362
294
330
267
282
297
297
352
347
308
303
356
396
327
388
390
351
293
336
327
351
339
310
351
376
362
323
339
338
337
333
264
237
329
312
328
422
343
283
339
295
257
290
310
222
358
312
382
353
323
389
310
349
370
265
325
390
356
293
321
338
354
257
384
290
288
367
261
361
300
337
384
293
330
341
329
319
261
358
278
378
358
315
340
338
332
335
298
327
336
325
301
292
350
289
230
308
292
275
349
376
239
210
384
344
378
287
273
282
351
362
328
266
294
312
387
261
364
278
307
299
326
439
211
390
263
273
340
287
293
238
269
333
357
296
271
343
386
328
271
392
235
209
277
340
288
346
313
419
224
347
243
294
305
347
323
264
377
301
335
306
321
352
306
328
258
256
313
298
367
275
288
318
338
265
350
360
241
375
360
266
312
345
338
301
241
303
333
323
308
277
296
357
346
320
316
362
314
350
314
371
274
283
287
343
281
256
319
389
213
342
298
372
342
307
293
307
253
328
255
338
326
389
372
323
291
372
232
362
332
375
325
298
261
303
270
278
307
197
303
321
333
282
283
344
259
273
351
367
283
346
288
295
277
329
242
243
336
374
371
263
377
276
335
334
352
332
333
385
296
330
331
328
318
349
300
261
293
319
293
309
303
367
327
348
348
367
275
363
346
353
273
228
354
393
269
353
350
343
242
362
268
297
358
321
431
305
315
331
288
352
366
307
352
334
317
280
333
300
347
343
314
277
405
278
316
311
272
342
345
305
404
254
280
246
314
373
271
384
343
288
275
343
297
350
286
374
345
302
308
357
260
302
322
292
347
193
296
342
321
302
340
309
356
297
324
236
335
293
283
279
356
288
247
304
335
283
278
372
296
347
331
324
283
359
352
303
290
245
317
299
360
260
416
347
316
289
398
278
278
272
364
383
277
346
355
376
293
304
302
281
324
288
223
264
320
261
301
287
207
244
310
381
293
329
250
363
285
246
346
357
341
334
309
253
372
385
293
259
336
389
335
282
408
329
340
292
276
276
275
298
318
351
280
328
292
283
350
254
262
370
285
315
364
332
374
372
329
380
373
291
390
366
267
343
367
268
320
261
271
278
213
267
297
337
293
322
396
322
287
358
313
275
315
292
331
337
301
311
341
339
360
275
331
347
338
286
328
347
372
349
381
300
376
360
270
356
314
385
288
279
379
287
394
319
354
311
323
325
410
343
306
380
314
361
308
321
332
374
278
259
252
261
296
368
380
337
320
241
347
360
345
335
336
364
355
305
330
326
330
367
399
345
291
385
297
363
327
353
323
259
300
327
312
369
160
315
238
337
362
369
257
391
335
371
281
329
359
288
374
236
272
298
274
322
346
371
228
317
384
313
360
284
304
366
314
266
282
307
308
293
335
394
217
273
361
333
332
295
311
326
335
304
403
374
366
275
324
351
261
334
323
346
311
322
261
375
386
264
376
312
360
299
293
303
305
251
285
203
245
321
367
321
313
297
354
318
294
338
325
333
296
335
380
385
305
350
384
302
281
321
327
285
381
265
328
342
381
294
318
318
249
341
220
319
377
321
301
249
335
267
402
332
407
268
348
305
373
309
264
343
391
251
312
328
343
272
317
310
323
298
350
302
274
399
232
332
353
235
396
381
339
286
269
291
305
294
292
391
281
280
317
282
372
306
283
286
413
369
347
305
337
308
369
266
270
292
265
261
296
278
331
329
236
307
402
324
361
276
332
330
338
302
267
269
316
308
390
299
331
277
365
318
344
303
333
273
304
341
350
329
351
334
328
311
348
318
330
311
341
355
306
300
281
324
371
298
355
335
308
250
295
196
243
383
265
289
295
374
344
321
289
301
342
250
311
305
383
233
287
260
300
342
359
395
309
364
341
314
355
352
297
316
336
313
381
291
309
264
307
343
418
347
356
333
364
257
351
334
280
363
331
247
233
420
281
270
264
310
320
310
318
293
322
344
318
237
329
354
290
277
343
316
338
249
375
383
290
334
310
253
339
386
288
348
318
311
337
368
253
298
366
328
273
305
287
306
302
319
261
281
331
343
366
317
338
319
341
329
278
335
300
271
379
256
387
289
233
258
262
305
311
324
353
274
345
386
328
327
349
310
305
320
343
211
336
348
328
272
318
308
356
252
260
318
375
400
315
356
261
239
346
370
326
298
335
384
314
264
308
284
348
328
294
344
337
292
344
307
344
284
310
377
369
349
242
343
270
299
291
316
263
331
292
375
323
353
214
307
308
348
370
307
378
362
229
322
305
222
360
350
349
344
241
331
312
410
421
297
292
350
315
404
261
297
272
340
321
329
331
365
325
318
336
277
359
351
289
329
308
257
328
310
360
341
290
278
376
321
351
271
326
348
286
319
275
345
368
280
299
233
361
300
295
331
288
361
348
303
266
283
308
291
177
324
251
342
367
336
308
445
390
382
247
239
265
377
219
313
340
273
272
319
293
339
300
325
306
276
326
294
292
387
334
311
306
286
233
336
284
371
403
309
326
373
336
296
333
296
341
298
353
300
310
298
235
319
336
360
361
384
359
224
288
239
305
301
234
333
371
344
290
355
301
353
383
300
308
340
275
383
391
325
373
227
253
207
338
292
275
296
257
296
283
258
370
310
322
374
325
209
199
358
314
340
261
384
388
354
336
364
326
386
347
329
334
381
314
324
351
288
316
286
260
318
329
233
304
288
344
264
355
359
350
354
282
364
298
273
369
266
261
308
315
299
306
314
271
290
262
349
346
369
304
276
279
302
308
298
265
344
388
369
281
309
311
213
345
279
338
292
299
256
319
369
262
384
371
324
365
297
284
282
302
395
303
386
244
344
360
348
319
321
238
311
396
326
311
391
349
362
340
294
260
376
345
379
314
385
345
333
345
239
326
291
319
341
253
336
300
282
300
294
353
348
313
341
259
293
269
319
307
308
324
303
312
316
451
320
334
240
295
342
302
299
324
283
391
289
352
285
409
305
194
331
412
284
317
274
356
310
371
332
334
331
312
374
338
278
286
308
317
290
347
306
329
284
278
290
267
286
309
336
371
291
316
305
294
310
348
308
268
334
277
276
338
399
238
347
396
305
230
355
379
348
329
338
277
376
302
283
354
312
324
310
394
359
347
289
305
304
377
392
381
271
246
328
318
378
370
237
384
254
331
324
316
268
404
342
323
276
302
330
341
318
332
247
296
298
299
349
298
320
335
332
226
363
264
294
267
202
335
366
337
333
338
376
254
357
283
256
293
312
348
245
423
261
269
364
388
321
350
275
359
299
236
368
320
251
324
298
340
338
374
374
255
292
382
345
287
314
258
294
272
301
300
336
303
298
304
338
304
301
285
356
322
277
225
378
430
401
278
305
192
348
320
294
286
363
275
360
295
353
276
247
331
418
285
343
319
347
368
327
222
324
366
427
411
315
214
363
310
325
365
402
317
338
345
296
382
297
305
296
356
317
286
328
382
332
348
367
267
327
207
345
367
252
350
317
232
295
366
348
215
244
314
249
336
352
246
281
334
363
248
257
392
223
342
278
245
266
315
308
362
301
278
343
301
290
271
279
342
261
302
234
332
412
282
377
320
311
297
342
267
331
394
283
359
372
254
232
381
302
315
252
301
346
251
248
303
376
352
284
276
291
324
186
282
368
340
289
347
247
318
288
328
392
316
316
361
204
341
290
312
310
324
402
357
420
308
307
400
336
355
263
345
284
338
273
233
363
329
268
347
321
326
352
363
337
287
285
250
246
322
384
364
337
385
378
370
369
280
340
321
361
357
344
306
364
284
339
345
307
333
333
357
408
318
304
340
320
346
300
366
224
303
300
327
355
344
308
336
340
404
333
260
351
412
327
256
341
317
284
303
345
295
337
296
219
392
310
294
292
321
269
297
341
304
331
354
276
273
371
328
349
255
275
317
328
387
295
349
299
331
266
246
274
360
306
309
326
340
353
384
376
342
256
312
299
390
285
348
308
275
210
355
361
344
318
324
255
264
382
425
344
351
344
403
381
392
293
307
336
241
364
297
332
328
301
304
352
261
301
367
335
351
274
320
230
366
288
349
415
307
296
307
368
338
354
297
303
281
225
313
318
449
300
376
363
314
309
299
311
360
376
306
335
340
331
285
322
323
355
296
340
247
264
368
301
330
184
281
350
287
340
349
369
234
261
313
213
329
292
204
318
397
250
219
356
399
319
359
336
302
327
283
342
309
358
278
321
342
339
295
301
319
299
388
371
360
330
271
401
337
254
296
298
269
313
253
270
332
362
353
326
330
316
303
298
225
399
327
266
319
343
336
358
364
364
312
348
294
243
267
267
269
324
191
357
318
356
361
292
274
339
271
267
395
246
353
388
343
273
286
308
359
337
377
398
269
355
361
301
307
334
252
355
352
335
311
245
321
315
327
262
307
272
266
307
328
381
364
315
366
292
314
406
276
278
309
317
353
316
209
321
371
306
269
301
284
384
319
360
318
282
285
441
334
289
281
399
389
344
300
345
197
360
359
356
309
265
347
221
335
342
265
285
323
322
363
356
349
333
317
314
306
328
338
315
357
306
382
264
246
348
293
307
286
345
339
306
383
402
289
323
215
401
247
340
279
245
317
253
285
363
287
350
345
324
315
364
272
318
369
277
365
340
302
293
346
292
314
359
367
331
288
348
288
243
369
265
307
283
337
278
247
244
335
319
352
362
317
279
253
262
323
298
248
357
344
382
333
358
366
341
316
294
310
332
350
244
336
298
334
347
305
341
324
294
339
325
314
269
298
334
314
305
315
349
275
324
289
214
351
304
305
362
380
270
292
299
332
355
320
334
344
249
261
268
285
354
293
248
327
252
283
343
404
336
309
356
311
302
284
356
273
217
358
331
295
283
357
433
289
256
422
331
264
359
249
296
383
322
359
382
418
290
283
297
272
393
317
304
304
271
355
370
282
313
218
368
376
351
271
292
282
264
315
387
350
365
393
283
320
348
250
247
266
219
302
227
381
378
237
293
358
350
342
358
282
391
272
278
334
321
343
377
274
359
243
265
301
342
371
409
309
236
412
360
293
258
313
326
341
331
412
252
284
449
363
299
325
327
289
316
262
343
349
367
302
334
379
360
365
312
291
288
302
388
306
292
312
269
276
335
276
366
368
335
387
323
300
241
345
346
378
367
342
285
293
358
324
317
340
324
302
300
296
324
288
285
370
314
324
301
369
333
250
298
311
292
284
249
295
286
355
266
266
370
363
400
376
287
423
298
370
324
333
336
233
369
370
305
300
339
272
384
350
364
368
260
246
343
332
309
296
349
309
274
282
296
339
312
329
320
312
344
408
295
301
298
339
367
245
305
349
333
297
315
352
337
390
256
287
307
335
247
314
360
313
264
363
240
375
238
279
306
377
310
253
291
358
305
266
351
387
339
292
310
335
290
328
316
291
342
282
281
314
310
368
345
360
365
407
313
339
385
308
266
316
258
274
343
315
387
327
357
263
248
311
264
300
317
365
258
286
276
262
323
308
328
256
353
381
348
344
365
261
299
278
295
413
301
286
253
311
309
333
315
317
300
252
359
299
352
284
279
231
376
303
354
328
372
250
320
357
415
353
321
297
336
300
253
294
348
262
331
294
299
262
273
319
341
286
233
332
333
288
291
414
298
333
344
335
372
365
357
397
296
254
288
323
334
244
302
374
368
251
350
304
362
277
300
350
353
265
196
241
294
232
306
253
390
308
366
350
361
380
343
342
345
270
400
270
294
276
369
335
238
380
346
287
337
328
388
303
321
314
392
362
306
304
392
260
316
329
281
289
326
347
342
351
300
342
340
279
321
288
327
372
388
253
327
294
366
356
295
341
382
317
329
358
338
426
348
258
274
324
362
379
290
337
337
359
302
314
310
281
327
367
324
294
349
333
327
307
280
296
293
371
366
237
325
343
276
346
278
351
335
287
333
307
329
322
322
384
300
293
316
273
356
361
320
333
274
338
402
371
329
368
264
349
286
286
339
268
343
296
222
365
359
354
277
259
400
341
307
290
396
303
267
297
217
352
166
300
293
347
286
267
330
339
307
238
255
380
341
333
309
239
321
275
350
359
353
325
284
424
292
299
320
328
341
309
366
328
303
343
334
192
213
309
404
282
319
320
369
280
257
198
345
336
341
271
351
287
357
261
269
338
319
335
267
358
310
234
302
238
325
349
332
262
387
287
313
311
321
319
269
355
338
336
287
361
377
313
340
240
321
271
345
319
330
239
378
351
306
351
327
320
355
296
305
389
269
401
327
314
317
330
319
312
302
286
278
331
295
260
363
269
288
275
244
302
306
281
326
287
348
300
328
232
387
271
367
293
363
305
393
233
266
347
343
370
264
286
352
308
326
345
390
361
367
297
298
283
418
258
385
331
304
320
262
350
247
256
265
274
339
301
304
345
375
255
240
262
318
306
332
335
343
317
337
345
266
327
246
326
285
320
346
286
360
305
340
305
262
232
251
232
335
283
337
330
290
370
287
389
317
342
340
339
305
374
277
323
276
256
356
309
342
417
264
322
279
364
381
251
373
359
360
291
252
370
295
345
272
333
385
286
283
347
328
305
277
240
320
323
391
210
299
401
307
321
297
312
266
306
297
273
373
297
298
295
288
247
388
312
250
308
387
339
377
255
303
306
349
348
253
300
300
230
177
218
254
365
393
332
209
395
392
376
263
282
356
305
241
332
360
345
286
290
329
326
350
237
359
296
344
343
326
357
348
245
374
249
306
357
313
332
294
316
314
237
287
342
286
319
297
246
369
280
317
294
317
291
262
407
260
387
246
320
311
323
322
375
322
374
270
205
332
351
334
352
290
320
290
284
277
389
457
205
279
365
307
318
370
291
293
332
328
305
360
226
352
326
261
348
273
288
283
272
339
252
433
247
387
354
314
288
355
373
310
283
281
407
370
366
343
323
360
328
322
269
364
347
296
376
263
286
333
361
250
327
294
401
348
383
328
298
284
323
304
299
348
288
317
363
434
290
275
356
372
285
360
276
348
338
323
327
369
418
273
300
319
382
314
366
342
284
301
260
309
344
299
327
362
291
352
339
268
338
378
294
345
312
257
351
328
361
325
338
292
248
323
363
275
356
269
278
288
322
271
267
301
310
329
302
294
318
264
347
280
305
385
365
379
308
399
363
321
262
291
289
375
252
336
320
282
307
362
340
347
295
354
322
306
317
398
413
363
366
330
351
296
364
326
343
404
383
296
278
292
343
305
281
371
306
270
409
266
365
254
320
395
309
306
327
220
261
380
286
274
408
367
378
349
310
333
342
223
342
348
275
279
294
324
371
327
268
365
285
307
277
187
386
290
349
384
318
355
416
332
329
308
324
296
325
310
300
333
296
334
248
319
283
381
314
331
338
362
203
287
288
299
324
360
416
295
403
282
352
302
355
348
359
359
308
236
340
257
350
368
326
314
308
329
330
339
262
320
309
347
363
322
342
329
253
317
366
311
266
153
381
288
338
300
301
369
266
351
356
302
317
302
398
240
380
313
304
343
288
246
291
362
373
341
317
365
224
338
407
300
235
373
333
371
354
256
340
372
283
288
277
419
360
294
303
309
389
316
388
277
345
333
261
310
293
369
308
272
231
248
266
294
292
351
353
322
322
222
360
258
383
421
334
332
252
275
301
349
361
315
345
271
312
274
347
326
357
321
331
275
336
266
372
291
285
316
339
353
290
270
357
284
380
314
318
260
317
350
336
279
323
322
319
326
313
310
297
361
228
344
348
288
321
318
242
342
261
330
232
254
350
348
331
343
345
320
249
325
346
394
396
410
318
335
350
342
232
313
364
338
328
265
339
343
293
292
364
409
349
340
356
301
373
357
270
300
385
278
309
393
238
280
311
403
312
392
326
306
376
299
339
372
380
292
317
235
361
301
404
303
304
380
298
376
373
295
317
341
305
381
351
278
310
287
250
315
387
262
358
331
308
281
335
309
229
322
280
364
308
209
328
239
351
281
301
278
352
255
349
321
338
229
297
345
299
290
297
303
320
288
301
372
351
331
297
331
382
311
406
217
340
374
378
263
313
320
315
295
300
306
335
342
257
282
406
291
316
262
367
298
320
364
336
373
333
298
345
355
339
276
216
318
288
297
248
330
344
366
384
305
328
269
334
319
363
312
335
289
368
240
332
281
355
339
292
324
317
345
262
319
269
309
303
351
347
246
315
281
390
319
389
331
349
271
369
320
297
374
364
291
291
332
310
324
312
297
336
336
277
342
341
325
319
383
415
300
322
352
252
326
285
357
320
378
308
333
355
296
317
380
360
306
266
244
328
310
291
282
310
334
264
350
407
259
306
351
304
282
372
277
372
302
373
315
253
310
319
245
334
342
327
351
376
341
337
235
329
302
301
238
236
257
272
403
342
337
341
230
340
361
269
373
303
260
349
296
271
352
263
362
434
382
348
290
302
292
340
272
262
297
375
277
275
243
315
326
358
285
359
238
307
345
283
287
318
319
353
358
347
422
348
348
273
381
257
338
312
344
408
350
352
219
313
367
340
325
306
385
341
347
248
306
342
338
318
343
307
249
278
342
353
283
223
310
382
356
358
324
338
344
274
343
333
320
318
366
326
287
392
308
337
405
262
203
324
316
308
365
334
276
308
396
259
363
229
335
314
288
253
327
331
264
331
311
323
287
263
329
285
368
300
307
334
316
331
354
285
381
352
291
266
337
321
288
316
301
354
286
330
273
305
317
394
351
277
299
274
331
398
295
305
338
265
330
331
322
292
375
270
424
312
354
351
304
313
290
282
328
362
360
396
314
315
343
335
312
340
298
361
329
326
335
438
320
336
368
243
348
339
426
362
281
358
402
323
374
345
320
319
300
301
384
379
208
280
328
366
320
324
331
267
361
278
301
343
390
327
288
283
285
256
341
344
340
250
303
248
288
273
331
392
320
279
349
319
286
379
339
408
299
214
303
312
268
369
373
292
282
311
333
252
309
287
265
307
271
276
303
319
295
347
280
275
333
314
332
319
265
321
312
200
336
323
298
314
277
340
352
328
279
386
334
302
364
277
421
216
319
319
304
321
272
194
265
318
303
258
316
318
384
306
347
341
304
252
349
351
177
309
295
440
335
284
260
350
387
345
309
328
315
294
293
328
206
271
316
325
222
274
276
311
284
369
285
379
296
347
308
298
332
341
311
347
351
320
346
358
328
305
340
327
288
283
307
309
416
307
366
276
356
325
271
283
234
308
367
356
306
343
315
306
262
281
303
312
314
372
274
257
251
330
321
307
264
274
356
364
375
288
326
252
257
383
377
353
273
272
335
361
409
368
344
302
362
292
299
280
359
308
357
229
270
333
340
275
307
315
172
368
318
268
327
296
335
401
314
339
279
384
320
303
322
270
242
348
348
292
346
379
307
273
300
305
327
283
266
254
327
319
324
329
395
299
320
323
327
305
394
373
232
354
331
287
311
321
274
336
292
256
347
340
276
295
334
307
235
311
423
291
254
268
311
353
307
243
257
258
344
380
325
282
388
277
339
368
328
336
318
374
328
303
321
276
301
283
207
292
325
250
353
359
384
359
328
279
316
373
329
330
323
262
306
336
290
384
355
268
319
275
334
304
370
314
318
363
382
294
295
254
349
334
291
300
364
339
276
288
287
301
345
358
281
274
321
383
333
216
356
335
276
319
366
320
331
298
343
274
310
260
340
313
274
317
368
355
322
263
257
344
329
408
335
289
279
349
335
323
344
222
269
352
266
246
390
331
350
315
325
349
330
337
356
354
349
412
327
270
366
266
297
293
378
336
324
270
307
320
382
371
358
312
356
379
356
375
311
308
268
360
305
274
322
339
299
356
295
287
322
211
326
357
320
332
366
338
291
297
291
353
350
227
293
408
344
298
294
328
237
341
334
307
314
306
338
300
254
300
363
375
314
381
394
337
377
307
287
235
194
349
364
359
348
331
310
361
331
308
308
366
291
352
372
227
401
224
295
291
287
315
262
385
314
314
330
257
296
269
366
334
298
314
275
267
363
279
311
318
331
321
327
251
323
344
346
247
368
303
270
330
322
363
289
306
310
284
371
326
368
350
366
212
285
323
391
307
327
259
283
362
315
250
379
313
362
317
256
332
259
288
373
323
333
337
315
318
324
340
289
283
296
248
300
309
307
348
265
270
343
294
377
331
332
342
313
342
279
364
380
303
317
270
287
291
361
328
318
340
370
324
352
351
310
348
295
290
346
369
333
282
382
345
355
255
238
404
402
285
319
306
308
212
284
325
378
334
287
285
362
307
362
309
269
309
279
343
298
311
273
295
281
236
347
250
360
282
369
312
284
347
301
236
295
320
265
355
371
305
309
232
385
292
334
361
328
314
371
354
382
305
393
296
352
329
311
350
314
280
287
278
436
265
285
343
281
376
266
354
386
362
270
358
359
282
299
274
268
282
352
364
368
369
289
316
238
383
362
282
315
263
322
361
331
303
386
423
320
258
322
333
344
315
215
325
317
306
323
367
328
241
383
401
327
309
382
357
318
304
269
235
284
320
336
234
305
270
372
418
279
302
342
386
328
321
338
388
348
351
356
295
272
306
289
330
285
255
286
270
305
330
257
213
385
255
310
373
322
406
332
239
267
274
278
329
285
327
257
318
347
332
342
335
263
258
275
364
393
269
236
303
402
302
284
294
359
276
296
423
340
386
298
227
254
322
288
232
378
349
260
266
296
353
341
373
353
427
299
304
293
283
241
298
268
284
382
363
399
266
249
375
257
373
327
288
309
302
366
338
353
362
323
325
307
311
223
309
369
354
361
368
243
302
356
233
354
387
355
315
389
227
335
329
350
258
319
333
219
214
314
361
350
327
360
331
296
360
283
314
310
363
369
272
275
305
343
356
280
273
346
358
352
272
340
250
309
322
346
247
259
373
392
349
223
329
316
358
278
398
308
362
331
342
344
261
281
252
254
332
262
336
263
284
344
366
318
332
323
278
306
320
323
274
299
359
383
301
277
279
288
371
339
347
218
327
282
269
360
319
262
366
393
368
281
202
323
303
311
369
289
385
357
353
357
273
259
321
294
312
332
310
314
315
264
319
344
300
348
335
253
302
358
364
384
320
251
328
287
396
342
252
264
352
310
343
344
263
376
348
237
352
441
301
355
286
345
318
383
276
322
334
359
296
253
332
279
314
281
238
347
281
321
330
278
243
294
310
354
350
292
220
242
294
322
262
406
346
376
338
306
380
261
334
224
341
402
374
289
309
357
401
265
292
340
299
310
285
281
252
340
247
354
380
335
245
291
342
333
370
299
291
282
280
344
303
288
252
420
305
329
308
331
352
302
343
352
317
303
266
276
315
321
361
250
368
320
357
218
305
291
300
308
326
259
328
264
223
367
300
308
277
376
254
321
314
335
331
268
358
299
279
386
379
357
324
369
382
337
336
254
259
328
302
348
361
326
307
425
255
299
267
340
301
307
298
380
389
287
291
334
281
369
337
358
343
244
325
288
346
315
365
238
267
247
250
312
395
342
276
357
355
353
356
284
341
335
315
298
260
257
317
348
360
298
315
323
272
335
344
360
311
298
262
315
329
310
375
340
311
320
326
284
270
189
272
358
371
332
336
287
301
287
349
330
349
289
377
330
348
303
255
313
278
339
399
400
298
307
300
264
284
221
232
296
355
290
296
273
354
325
369
340
303
268
342
320
368
342
284
289
273
337
362
345
252
376
365
279
245
310
334
363
258
282
288
283
322
318
268
298
310
338
343
341
317
333
303
311
329
341
330
233
326
341
305
276
315
364
288
336
304
277
262
352
328
379
381
354
360
321
343
306
260
248
285
326
252
306
349
421
310
251
251
335
336
329
293
328
385
368
296
288
278
347
444
317
356
441
312
312
339
398
335
352
294
338
347
349
379
314
334
399
261
288
332
321
370
338
329
224
438
301
366
292
367
279
207
293
271
363
353
329
371
315
264
325
354
279
338
253
348
339
251
266
301
309
329
377
290
334
240
346
328
305
300
373
357
274
298
323
351
411
324
405
328
391
350
302
287
221
282
398
292
317
315
308
223
345
241
367
287
249
367
329
266
323
415
341
346
338
355
266
305
299
331
321
322
338
306
201
331
266
317
291
308
385
319
357
337
340
282
371
289
316
281
402
292
273
270
328
356
268
283
361
294
342
319
320
271
369
295
313
385
330
262
318
291
244
274
339
301
340
244
295
179
322
303
339
325
293
327
308
383
250
344
299
298
216
293
344
297
285
346
257
314
332
267
348
366
344
284
241
362
365
320
336
424
329
353
408
361
314
335
306
364
345
327
311
258
286
370
315
298
326
393
405
278
310
330
392
215
313
233
418
310
248
339
376
293
352
268
334
261
350
299
326
415
330
296
315
285
310
304
322
407
307
237
330
397
355
330
291
324
398
267
294
341
328
291
358
281
312
350
362
246
276
283
424
310
345
361
272
343
293
298
394
258
284
326
300
352
338
312
387
337
303
272
235
326
295
263
263
247
350
194
342
318
289
319
276
314
382
217
392
367
284
330
331
366
360
258
382
320
348
233
302
382
372
389
275
297
299
394
248
235
308
311
355
338
308
328
338
361
340
348
325
371
319
254
330
299
305
279
343
294
316
318
347
271
257
244
277
344
375
348
227
251
286
364
251
247
330
331
418
352
340
340
229
352
312
364
294
215
263
355
363
370
398
307
246
336
269
308
260
281
335
315
376
349
357
289
315
284
355
333
288
287
229
333
342
313
340
311
281
315
352
352
251
309
397
330
318
279
251
326
356
312
238
329
295
340
382
339
327
264
349
312
313
343
360
242
303
309
329
355
346
352
270
330
291
303
363
306
318
338
323
428
353
328
361
342
424
336
365
307
422
294
327
253
325
220
359
322
346
389
346
284
308
302
361
297
313
289
269
318
273
339
241
301
332
289
300
336
337
329
298
342
359
315
342
233
344
299
334
368
207
260
349
323
230
334
312
344
307
404
308
367
326
325
329
278
274
401
359
291
287
302
234
314
334
338
333
354
347
351
318
332
314
290
281
351
353
286
351
348
340
358
317
323
303
261
292
294
360
237
299
240
338
301
298
390
334
370
313
354
333
307
327
302
362
300
275
354
330
318
353
255
361
338
359
365
308
378
320
388
235
328
251
334
390
273
307
327
287
227
318
322
285
397
276
274
307
301
318
322
283
310
374
335
365
271
257
263
363
363
316
284
301
318
242
267
323
346
271
284
387
327
279
292
385
361
243
366
315
261
229
336
286
284
370
312
286
315
310
355
357
283
244
244
369
306
294
300
275
306
328
304
306
364
275
233
316
279
348
412
336
293
353
344
305
282
272
285
329
339
345
306
380
247
360
282
376
320
376
339
273
355
345
312
266
343
335
323
289
310
301
317
356
334
288
322
356
329
321
370
327
310
324
324
352
342
221
380
332
336
403
258
331
282
367
308
340
336
353
233
329
392
287
344
276
270
307
369
296
241
315
287
250
395
281
289
404
309
363
282
242
297
376
328
339
262
319
375
297
315
317
247
356
357
326
253
310
291
319
203
326
282
335
311
287
389
319
396
197
300
366
317
305
364
329
333
275
262
375
375
319
262
329
283
375
422
289
339
400
305
351
271
383
330
388
334
365
351
214
351
384
295
347
346
327
323
289
340
351
266
276
285
315
320
305
315
325
356
367
357
281
287
394
256
303
306
325
320
274
295
375
353
406
369
357
322
251
262
340
274
302
344
319
298
301
348
350
304
310
371
296
332
235
338
296
352
269
227
214
338
260
327
328
337
342
318
309
237
354
317
305
360
354
395
350
294
279
296
336
352
263
261
287
328
311
260
319
312
284
362
245
318
290
227
333
292
314
294
279
304
372
353
278
305
279
300
294
354
323
392
335
378
302
267
342
314
324
314
275
319
297
373
287
401
310
299
323
356
324
339
355
333
351
315
366
334
295
318
333
299
362
282
345
302
312
337
297
336
306
343
311
325
343
218
370
347
356
342
317
315
338
342
218
328
341
377
303
320
361
292
353
293
320
345
380
242
375
309
262
394
360
329
315
213
298
394
332
365
328
371
331
286
329
294
330
283
269
289
379
362
323
357
358
368
290
269
323
286
316
291
303
292
315
316
355
341
219
320
369
288
379
353
354
275
334
245
294
275
386
354
400
277
309
262
391
341
368
333
336
315
318
292
344
341
285
361
226
339
375
266
339
264
378
326
261
330
293
287
313
329
325
314
288
369
356
341
322
285
271
354
313
209
372
270
240
285
358
366
315
269
383
309
344
251
253
254
290
274
243
375
356
303
347
285
362
289
330
295
345
390
339
293
293
306
283
344
320
325
238
377
255
334
312
349
308
231
372
290
320
356
382
279
347
380
340
372
269
264
372
257
323
276
305
233
354
372
343
317
281
336
301
297
359
325
335
300
312
338
351
352
328
292
251
273
398
302
406
399
230
348
317
273
344
274
349
302
330
303
291
344
298
351
331
398
391
328
309
207
273
275
288
409
335
299
285
332
352
253
305
253
391
365
357
299
406
316
269
331
326
289
302
309
320
314
354
292
262
296
312
225
312
323
401
298
385
309
303
363
304
241
360
340
425
352
321
362
315
337
235
341
334
256
322
315
356
348
313
347
394
286
314
292
328
218
336
258
319
268
309
311
324
326
378
334
309
328
296
338
389
355
359
308
346
294
294
331
383
314
428
329
296
358
297
336
316
336
341
295
329
356
324
284
280
308
317
294
304
299
338
330
321
271
309
377
326
297
284
326
349
306
375
380
289
326
304
347
349
338
267
299
347
307
244
327
262
385
248
314
347
251
353
344
355
351
302
327
283
317
316
325
215
334
354
311
306
362
289
351
408
268
247
346
236
350
395
267
243
313
357
339
243
382
297
349
342
343
287
350
297
339
335
297
333
331
304
297
322
313
279
337
371
344
291
286
365
302
342
328
301
413
318
290
257
298
291
271
272
293
301
369
409
369
322
295
315
316
275
373
314
315
307
274
237
336
268
407
260
286
304
305
316
300
238
278
326
319
344
301
354
298
260
331
292
238
273
421
317
328
223
295
418
263
292
291
289
289
310
377
336
334
308
394
338
296
341
287
343
299
371
346
321
324
308
333
290
332
290
359
326
236
333
290
328
310
274
300
356
326
308
274
394
325
289
314
317
242
341
347
286
352
366
318
343
371
280
381
254
260
328
326
291
344
329
288
306
382
298
180
254
327
295
290
260
385
293
309
291
370
238
344
288
345
284
264
347
404
285
292
324
321
300
388
391
345
337
378
334
342
353
340
279
312
317
246
363
310
388
379
369
281
295
365
374
291
401
310
252
387
295
248
242
219
288
391
345
316
175
222
363
311
438
334
368
404
336
347
339
391
329
231
303
285
352
384
320
301
302
373
355
289
297
331
263
319
331
312
335
284
327
319
399
261
294
345
267
358
403
351
325
305
356
282
277
363
294
363
295
322
336
328
375
312
265
300
330
360
334
360
371
226
413
322
316
334
295
271
394
365
311
293
333
304
281
280
270
393
411
271
331
325
326
284
257
328
330
353
280
280
331
318
307
280
299
383
337
336
345
288
270
305
315
283
354
380
312
299
296
401
384
282
364
306
275
301
310
290
358
299
257
395
306
364
325
268
291
259
300
265
294
262
321
276
400
359
320
308
286
311
334
377
390
324
275
287
377
274
339
259
336
345
289
330
331
335
403
297
280
320
311
285
321
320
244
355
322
320
413
277
241
355
421
341
268
313
326
330
365
312
379
319
328
273
264
315
356
375
322
337
309
389
248
298
324
346
294
326
261
338
391
236
302
314
237
297
367
316
308
292
273
300
315
335
321
303
347
325
322
327
319
299
254
307
396
288
339
243
313
358
296
309
354
313
357
284
321
332
354
310
282
278
225
289
259
332
262
357
371
296
353
284
348
314
339
333
348
308
342
302
301
336
336
237
264
323
354
332
322
308
372
380
316
286
353
338
331
343
294
328
281
336
295
256
249
338
284
301
271
299
352
276
332
358
299
319
405
222
351
387
334
303
287
306
368
351
321
396
254
357
300
321
406
358
310
353
287
324
294
335
340
373
358
331
325
249
276
412
290
312
316
280
310
349
302
304
313
297
272
351
374
285
270
232
322
302
296
358
318
375
317
326
258
335
282
297
314
329
305
323
277
375
327
354
396
256
266
343
326
299
277
312
372
301
324
241
260
368
398
275
278
321
361
298
251
382
272
332
318
272
325
325
297
217
311
325
345
339
264
300
273
306
363
332
396
330
251
350
255
252
280
378
333
338
301
320
260
343
364
401
317
318
303
302
309
368
350
315
292
345
358
352
289
219
329
335
247
337
296
277
412
372
348
367
356
309
224
296
340
280
327
239
342
334
291
231
300
291
326
252
380
372
382
328
308
309
255
328
356
334
294
355
278
313
432
320
319
392
250
341
365
348
324
308
376
302
301
286
239
301
334
319
289
274
306
372
268
289
312
351
361
320
330
310
275
283
328
314
308
268
304
342
256
264
307
297
382
356
363
305
342
277
292
352
323
275
335
311
333
288
381
362
315
310
268
296
318
282
288
241
363
362
320
328
339
357
202
317
358
273
272
323
313
368
238
372
308
320
322
229
390
306
361
332
232
354
353
377
359
278
269
324
324
340
230
369
345
313
269
313
348
342
308
331
327
324
367
313
338
342
251
338
332
358
363
272
339
325
368
364
250
302
251
314
356
314
266
362
368
356
283
339
285
354
290
259
291
374
277
254
336
360
347
264
336
276
330
347
378
374
342
310
323
316
287
329
281
322
306
345
277
364
294
385
337
275
256
294
305
238
233
263
329
278
347
329
312
368
302
391
314
368
364
311
239
359
275
319
325
314
263
266
395
266
307
343
255
248
335
260
320
358
354
310
286
299
314
416
366
277
319
352
329
286
346
372
358
341
298
321
338
326
322
330
312
279
285
288
284
301
323
319
304
271
305
257
281
260
322
203
335
287
345
260
344
259
317
425
320
386
307
301
257
279
396
311
360
349
321
278
340
359
326
230
274
226
290
268
307
314
262
315
370
355
428
344
301
261
262
385
324
328
319
316
311
327
307
408
320
284
290
389
302
312
352
344
335
377
372
271
246
331
287
342
350
363
361
281
296
308
289
343
378
335
230
331
338
286
334
350
238
436
253
264
373
434
273
376
360
247
319
291
354
292
325
337
341
263
320
290
380
362
369
306
394
284
363
271
334
283
400
288
246
339
392
284
324
344
324
376
374
392
339
292
273
262
363
333
313
413
389
305
267
303
283
260
371
321
257
208
342
362
238
341
276
317
267
246
305
318
296
327
316
351
341
338
324
366
295
269
395
292
260
310
261
209
318
315
308
335
299
334
297
338
347
362
315
289
314
281
374
272
364
398
375
261
296
266
313
300
319
361
292
312
305
320
331
385
409
338
330
325
319
287
324
290
350
263
228
284
274
354
355
302
237
276
330
367
309
304
304
283
410
353
338
346
328
248
381
314
357
308
279
272
310
328
377
352
409
380
382
313
377
368
397
314
344
355
299
385
387
323
333
305
270
373
251
245
336
331
209
259
316
246
313
315
299
301
360
348
237
297
283
347
371
295
327
347
374
318
317
250
360
348
297
334
321
314
341
283
293
318
310
296
331
408
354
313
277
423
311
340
285
371
347
334
359
261
306
310
247
354
336
278
285
277
342
276
379
322
366
289
304
346
395
311
283
226
304
248
223
353
346
301
315
324
227
279
264
365
343
397
265
322
368
288
317
295
330
309
272
328
272
245
318
365
287
265
288
389
344
335
371
292
278
304
330
440
349
340
354
387
316
278
273
343
266
370
340
280
389
344
322
361
310
336
328
310
294
351
296
326
378
268
281
241
321
370
305
262
337
315
351
295
300
385
429
268
345
330
341
331
385
353
263
376
285
299
364
349
319
349
299
353
279
355
331
277
399
297
338
305
327
227
309
319
312
359
288
356
310
357
384
263
294
411
264
329
408
306
279
318
327
377
385
286
268
350
308
241
357
353
279
240
356
342
390
240
372
385
302
338
288
291
327
268
292
398
343
256
315
318
389
276
246
263
233
324
342
329
334
328
361
309
341
392
299
371
318
284
371
366
281
313
292
280
311
332
348
242
349
233
311
290
324
268
378
318
283
272
358
208
288
401
353
275
384
288
355
300
377
290
342
313
272
369
270
264
283
408
275
350
321
217
315
368
310
280
332
293
278
422
342
299
314
301
359
317
311
212
307
348
339
317
327
351
348
259
325
329
357
293
352
252
340
330
335
315
326
284
317
284
272
316
314
325
354
284
287
333
350
267
381
408
355
251
320
332
393
350
374
314
265
280
235
289
301
288
333
338
373
191
344
348
390
304
174
307
305
269
277
385
271
423
370
280
312
354
320
305
326
291
320
328
384
336
281
294
289
311
322
328
336
359
367
269
321
287
366
303
338
328
365
386
305
259
329
352
291
299
290
278
281
288
368
271
291
302
328
232
286
296
394
360
308
421
308
303
285
271
281
295
242
407
371
318
325
308
343
330
308
345
373
351
290
316
249
318
286
327
240
280
330
363
325
271
333
334
247
360
374
328
297
346
291
316
355
285
338
348
332
368
250
365
359
326
311
330
310
320
249
305
281
331
262
323
320
322
318
336
380
326
300
321
309
338
356
372
304
380
326
330
275
288
345
224
297
275
319
315
378
322
344
288
342
356
390
276
312
286
282
342
261
348
290
251
256
272
269
398
306
226
348
244
410
319
323
273
291
327
350
373
302
319
281
364
302
369
353
257
304
329
318
268
313
318
369
316
340
311
280
352
284
293
386
392
293
368
365
331
292
327
219
310
344
306
298
253
323
356
366
400
261
364
306
428
288
363
244
339
362
360
248
288
361
319
291
246
289
281
310
326
278
257
358
368
365
263
328
225
231
281
308
350
296
282
290
328
259
276
344
371
204
410
273
253
394
309
328
307
297
298
376
370
325
288
323
378
267
285
207
295
272
284
367
318
376
324
347
374
411
347
266
351
415
349
342
324
356
317
378
245
350
347
233
308
205
430
361
312
326
296
319
402
317
311
368
348
316
272
284
294
335
260
356
330
341
245
325
305
383
253
344
294
394
323
371
269
306
246
323
251
271
313
326
311
289
245
295
302
372
306
318
315
313
247
301
276
319
373
302
278
240
343
362
350
277
285
298
270
294
334
349
222
310
319
295
360
361
386
317
335
316
286
272
359
342
312
354
343
276
286
374
348
306
373
308
271
357
362
271
249
327
303
316
213
299
309
329
360
358
357
242
299
321
342
291
289
359
260
340
363
298
366
304
294
321
237
319
304
275
259
306
326
331
290
252
302
334
278
351
298
316
303
274
355
347
342
384
323
271
303
315
308
302
347
326
393
369
255
269
308
295
384
388
340
329
249
377
295
342
311
307
203
376
319
309
353
287
252
235
311
412
307
242
340
315
365
326
419
311
277
297
271
299
323
393
322
199
318
365
321
295
268
329
295
345
356
346
240
388
356
264
288
331
204
344
344
346
277
282
347
307
340
256
298
278
254
313
222
215
315
370
241
274
351
385
283
308
325
265
375
308
248
268
340
323
359
385
281
345
301
397
361
305
353
269
289
253
359
261
316
329
295
330
306
229
307
391
345
332
292
320
370
288
227
378
342
323
310
312
357
281
298
383
249
291
352
330
303
320
348
289
314
262
295
339
310
371
354
318
322
311
294
320
295
307
287
369
335
328
289
317
306
369
338
345
331
342
337
321
363
296
341
309
284
335
264
328
300
340
300
258
351
252
326
337
226
268
285
339
398
376
309
293
346
322
259
353
282
269
277
333
273
223
343
406
391
383
303
322
338
270
371
366
326
272
252
261
269
284
299
286
298
284
219
303
211
346
314
329
293
340
248
291
364
278
355
387
288
287
275
272
303
229
236
357
319
278
333
404
401
262
211
298
265
323
332
276
405
325
242
321
279
380
323
305
255
266
270
313
354
352
301
405
338
306
352
297
312
332
303
261
342
410
332
363
216
302
315
338
356
289
271
298
306
346
309
322
371
302
300
331
270
376
308
251
317
313
361
301
328
286
340
346
297
350
321
300
295
301
345
203
251
356
362
357
368
326
335
340
311
356
317
300
314
289
344
317
299
284
333
393
355
403
317
373
244
274
279
343
344
353
375
335
323
295
316
326
335
295
337
415
312
324
279
336
373
347
343
304
303
390
336
407
293
337
350
346
324
414
362
414
336
368
403
382
364
346
322
345
234
221
174
455
246
302
332
277
368
283
336
363
377
318
299
334
242
257
324
299
345
309
295
235
371
309
357
345
325
345
394
316
278
254
324
316
282
294
323
364
350
380
323
321
254
271
266
289
353
320
371
325
314
401
326
374
359
319
387
342
367
203
291
315
275
291
381
300
283
345
371
291
378
287
233
360
305
260
361
344
285
339
221
339
304
383
327
324
338
298
332
279
300
329
251
295
302
377
267
370
322
271
420
340
279
325
293
286
318
341
347
379
351
260
253
331
305
327
281
331
323
325
325
345
318
367
207
267
274
251
355
371
329
380
316
292
300
280
401
309
323
283
296
371
283
374
311
333
284
188
246
261
337
294
354
374
258
248
293
381
357
362
341
269
227
355
329
280
339
303
338
259
358
352
246
276
350
333
341
308
285
323
373
260
346
295
291
291
305
309
345
243
309
378
271
350
311
303
207
296
274
378
336
272
328
349
301
362
328
307
266
349
282
337
327
304
292
319
377
335
338
348
414
326
332
294
402
326
348
310
304
378
356
353
288
367
353
283
296
360
331
349
389
265
379
303
366
362
327
335
393
351
330
404
358
271
348
450
369
343
367
196
328
304
364
360
311
383
251
272
243
349
278
286
369
360
364
351
302
265
436
278
361
338
336
297
275
350
332
374
319
396
351
270
259
297
340
250
374
370
306
331
345
274
370
256
325
351
218
333
312
337
314
406
399
303
275
307
331
368
388
332
375
291
371
340
277
255
336
241
294
402
320
347
313
365
232
306
339
376
272
373
361
323
286
327
322
319
377
380
377
271
250
282
239
401
297
381
288
273
282
383
349
259
360
328
318
353
306
351
373
352
283
271
347
359
296
259
282
297
338
276
419
302
253
298
332
378
277
333
305
302
308
353
282
267
246
380
281
341
353
277
292
250
301
288
362
411
376
315
322
261
354
355
288
369
330
328
289
343
315
286
291
304
196
304
363
238
261
302
302
326
365
276
348
275
348
276
323
271
377
322
312
353
305
275
281
312
382
291
381
300
368
402
265
259
263
379
301
187
359
231
271
369
263
300
377
270
250
352
274
278
337
343
280
351
333
387
257
337
350
310
359
336
219
294
369
226
287
272
329
281
289
279
332
409
344
290
369
260
270
334
333
288
299
265
351
316
412
411
276
289
349
240
274
301
288
372
212
334
296
345
355
296
354
369
381
259
270
304
309
261
378
427
297
338
363
402
328
298
320
298
407
333
315
381
273
272
302
383
301
339
330
293
266
293
359
261
283
246
435
334
276
361
288
393
328
277
376
351
234
284
343
334
353
279
290
291
290
323
382
388
281
327
316
290
324
387
292
368
367
241
349
294
290
268
340
235
350
302
347
361
377
335
281
335
291
350
259
203
270
294
339
373
256
334
371
410
309
392
339
252
361
335
315
292
237
382
286
267
320
261
343
262
318
245
266
208
358
356
301
318
344
331
354
246
320
311
244
321
304
268
345
328
396
350
239
300
304
333
364
326
259
263
271
305
266
310
346
377
387
415
275
261
345
292
283
365
325
337
273
294
348
319
301
345
354
244
329
391
269
357
335
292
280
309
336
359
408
338
335
387
272
254
344
266
293
345
377
311
291
344
259
259
299
371
235
362
322
380
408
314
253
344
376
308
262
232
288
347
346
217
297
292
384
335
338
240
334
173
373
277
277
220
302
310
316
275
372
153
381
271
316
352
249
305
278
198
288
405
290
333
319
330
385
328
213
316
335
338
361
351
251
346
361
238
311
310
330
323
252
384
265
345
350
303
278
279
333
333
278
327
346
350
274
409
196
318
313
275
267
360
294
326
306
345
306
345
352
267
298
287
309
285
391
237
372
294
273
280
365
288
341
299
320
269
310
300
366
276
355
316
282
331
353
335
315
342
354
288
322
361
308
380
256
361
314
252
381
323
220
341
356
287
351
376
408
393
353
247
297
303
317
279
315
279
316
390
292
357
260
327
324
343
382
333
393
314
264
353
321
334
327
341
358
345
253
314
381
336
257
305
339
280
378
324
349
283
289
346
401
274
263
351
284
288
330
328
260
348
359
216
273
306
366
318
300
317
247
289
259
255
328
324
247
250
405
331
385
259
297
294
308
337
374
312
325
288
272
336
285
322
311
231
327
364
298
293
312
333
307
241
328
219
336
336
336
335
332
307
340
274
367
266
277
316
370
308
276
328
356
398
341
278
332
346
293
282
401
299
314
334
320
281
249
392
287
289
318
328
285
368
198
314
358
310
327
310
287
372
347
360
406
298
256
371
319
313
292
253
302
336
365
384
388
369
279
265
331
319
358
334
369
327
331
295
285
332
308
308
292
307
340
325
379
375
320
314
307
289
257
334
342
257
303
368
297
352
193
323
345
351
335
380
267
372
335
308
294
268
363
298
221
339
348
317
266
380
293
308
372
251
222
278
251
233
286
258
404
310
335
333
276
293
372
368
417
284
383
345
351
351
367
374
327
349
276
373
278
392
292
300
401
373
336
301
283
385
235
354
321
275
308
290
318
287
359
353
308
323
326
389
315
309
288
325
327
329
321
286
358
283
350
295
279
365
239
321
278
294
193
281
325
308
247
356
312
318
371
298
331
380
286
336
265
274
285
272
237
341
345
276
318
358
215
291
258
213
310
283
343
310
336
277
315
345
229
339
345
264
337
364
397
272
328
325
395
325
358
252
365
348
289
250
319
386
260
354
295
273
312
274
271
317
336
304
425
322
319
257
201
367
354
330
383
341
338
351
272
297
267
306
332
333
417
384
324
257
364
409
256
321
362
295
286
285
250
309
220
426
360
336
384
287
340
321
262
251
372
301
309
397
349
306
351
321
295
331
350
353
377
352
293
335
222
343
276
325
280
342
297
294
269
314
276
326
268
400
223
359
283
342
354
319
299
342
229
393
374
376
351
334
206
302
273
316
318
288
325
342
335
333
240
209
302
385
279
319
331
300
355
288
333
368
308
361
298
288
289
291
253
325
377
351
300
303
305
274
401
371
233
319
280
311
291
323
319
390
293
298
367
363
302
371
374
321
280
297
359
348
330
286
335
261
364
432
262
346
353
329
330
278
346
284
360
292
361
329
336
353
334
259
370
361
373
313
262
309
294
330
291
252
302
351
352
313
337
307
279
348
379
366
256
287
287
299
303
250
285
403
317
324
368
298
295
355
301
314
306
376
285
265
376
268
347
282
235
305
335
289
329
346
350
345
289
420
280
379
323
360
341
353
300
320
320
332
306
305
295
348
315
339
370
309
309
294
355
340
277
310
292
239
318
293
295
303
322
330
338
236
324
321
291
313
325
306
241
328
333
281
410
362
333
290
304
306
336
298
320
361
349
331
372
267
381
350
326
316
361
340
283
336
332
269
366
276
398
345
274
348
306
392
269
256
377
330
241
344
364
290
327
379
330
291
321
342
305
335
304
302
322
354
330
288
316
228
334
306
319
313
289
229
389
379
305
294
346
383
330
294
294
242
351
298
373
319
293
281
337
282
279
271
384
251
343
389
347
294
345
264
330
297
347
334
301
235
333
430
377
319
364
284
304
275
239
371
348
298
309
322
365
255
279
372
347
313
361
314
387
348
317
293
302
328
293
388
222
358
335
429
297
323
308
333
318
303
275
309
314
365
328
339
227
229
307
324
310
329
361
311
337
316
259
414
241
302
300
260
338
301
304
355
298
285
305
342
298
417
359
345
290
321
397
429
276
234
339
254
331
391
356
320
325
346
308
338
391
293
337
322
305
351
353
341
345
323
316
377
406
331
246
295
342
244
349
326
401
283
242
305
255
258
233
406
379
309
322
385
393
210
274
276
334
265
284
302
261
286
320
321
271
325
306
296
349
304
304
345
286
285
290
268
325
324
333
367
306
300
356
349
265
342
285
294
361
319
406
356
260
330
257
396
300
289
365
382
275
352
292
324
261
310
285
373
355
324
294
278
239
309
322
360
317
393
299
278
312
302
336
340
342
295
324
344
302
366
335
352
333
296
314
326
279
347
349
335
369
256
290
264
401
218
277
270
363
342
265
268
336
304
344
332
343
352
337
350
332
336
297
295
375
394
244
324
359
295
335
358
343
307
266
420
339
213
418
367
242
299
285
262
337
337
309
320
307
284
344
332
290
308
292
359
331
315
388
278
310
213
379
307
380
279
286
277
370
295
327
349
318
346
318
273
228
326
334
363
338
358
355
361
336
337
339
302
314
263
413
389
297
359
237
260
366
329
242
238
289
327
321
443
261
331
309
345
363
252
292
340
359
361
357
303
350
335
237
324
333
354
360
335
381
379
233
355
324
392
343
364
332
446
346
294
354
304
318
309
276
330
305
315
344
351
291
275
310
355
290
268
323
190
347
344
295
335
242
311
246
373
318
357
375
362
300
223
263
368
394
281
317
222
232
245
363
418
221
317
259
296
270
256
352
268
354
321
302
256
239
302
295
263
347
287
335
227
271
273
269
394
316
374
248
365
222
347
342
342
251
340
297
341
359
326
279
284
296
318
378
302
325
324
290
315
320
309
347
274
281
441
328
335
357
425
277
360
313
299
374
354
264
296
222
274
351
331
329
300
312
252
359
395
321
373
316
314
363
331
269
317
318
302
323
409
242
376
320
348
242
299
367
250
385
321
360
313
224
317
332
341
332
346
296
343
274
281
334
243
299
406
359
326
299
351
368
310
283
364
273
334
379
376
251
328
414
298
337
299
315
303
313
361
297
377
262
247
302
245
329
287
327
343
243
340
272
241
314
241
286
321
328
329
301
365
354
351
321
264
240
328
263
244
318
343
356
297
380
254
322
271
309
271
334
335
373
343
298
366
321
240
294
310
366
304
314
340
368
333
278
344
375
312
338
252
424
286
267
410
229
330
340
347
304
274
302
380
319
331
340
310
319
290
309
367
341
320
386
268
237
285
302
337
266
282
312
349
354
396
262
318
200
284
348
365
289
313
294
322
342
348
279
324
371
364
332
322
331
325
374
348
336
333
255
376
325
255
352
236
417
316
323
381
344
304
276
332
306
279
339
267
341
373
408
251
334
241
273
316
329
360
375
361
369
171
286
315
352
367
304
257
318
336
315
307
304
321
322
325
266
378
270
344
351
341
288
323
339
306
260
285
278
263
263
386
316
296
308
278
327
317
364
338
284
356
326
301
401
250
286
347
256
336
309
336
345
341
277
315
265
278
322
249
393
294
288
273
253
399
301
350
295
320
326
270
384
342
303
266
348
382
319
313
385
311
288
352
229
310
297
313
269
361
378
312
335
353
363
346
281
386
317
367
301
302
350
268
262
237
304
352
318
363
367
319
316
312
286
374
380
342
278
264
387
304
417
340
255
297
315
329
272
300
325
355
377
274
400
350
355
296
308
282
364
295
266
286
422
320
306
293
339
335
390
264
297
312
339
313
308
295
327
357
337
321
306
347
326
265
263
357
371
398
309
392
324
387
294
334
302
337
262
364
259
317
287
349
272
319
277
307
247
292
350
245
342
350
351
246
369
334
261
328
299
347
297
353
202
293
278
332
376
236
309
343
338
313
288
317
314
349
365
343
317
273
362
219
332
317
362
390
337
263
368
335
299
319
253
362
220
344
355
333
334
337
369
323
274
272
340
318
335
304
312
337
383
282
344
293
301
296
254
262
352
360
250
296
371
344
348
295
258
240
234
301
326
299
275
265
412
384
288
316
340
205
299
356
322
320
255
274
333
304
316
278
369
350
357
370
370
313
311
392
290
400
334
410
332
244
331
287
379
307
368
377
341
321
321
257
321
300
410
276
274
333
341
186
307
368
290
334
337
229
406
296
251
307
392
285
315
357
356
351
339
232
336
337
315
352
250
192
366
238
345
264
257
358
238
369
355
276
346
256
388
222
337
399
248
370
284
322
252
359
375
257
315
340
299
335
249
347
286
367
281
364
378
292
322
340
339
355
431
324
272
254
215
359
256
307
369
327
287
219
300
313
389
408
327
312
232
347
320
274
284
228
342
294
285
395
309
217
323
323
325
328
249
319
344
376
386
257
274
238
341
299
313
337
326
379
338
398
229
304
273
369
319
377
378
238
313
306
285
335
352
279
291
302
304
295
294
281
356
284
318
280
349
349
290
306
176
385
283
287
366
301
277
321
331
299
379
314
235
356
325
322
329
296
291
312
399
278
289
343
300
383
325
365
321
384
383
348
281
294
307
293
288
317
341
317
340
329
353
301
287
306
272
331
313
376
350
361
390
312
243
318
361
320
356
280
283
291
372
272
366
320
369
356
387
318
346
292
272
288
361
283
288
245
317
377
261
356
339
295
380
217
315
296
389
291
290
305
318
268
358
310
297
322
289
278
232
280
215
399
260
277
305
371
267
384
293
321
282
298
314
331
366
329
273
330
333
349
311
318
376
325
331
347
236
320
279
354
340
307
288
319
316
244
283
370
267
368
262
339
308
277
405
312
294
308
292
287
403
317
388
311
260
299
347
305
344
363
323
330
246
245
368
257
372
246
376
306
329
312
237
411
287
370
359
366
228
338
255
316
384
283
339
314
342
298
325
406
170
281
347
379
284
352
258
230
330
329
299
294
358
333
252
319
349
338
318
297
243
308
310
363
281
357
340
317
269
364
308
278
327
398
305
214
361
394
300
316
368
269
345
412
274
323
358
339
316
337
342
291
334
286
261
330
343
357
374
338
324
320
336
340
347
305
326
247
279
288
257
298
318
341
354
315
378
359
353
350
371
344
338
343
376
267
245
348
363
314
328
399
387
314
314
224
325
269
359
353
372
296
317
305
290
266
256
242
308
335
307
302
237
343
243
308
302
319
330
321
200
398
225
275
351
313
359
287
309
328
336
332
348
334
339
345
274
323
324
274
308
324
323
281
341
329
287
386
299
333
346
286
309
309
356
310
367
326
281
378
300
272
376
359
326
315
308
300
348
339
269
292
279
264
365
303
342
319
362
317
259
271
352
328
233
278
312
294
367
337
295
270
281
368
311
326
392
339
358
311
383
245
283
320
313
272
319
318
318
283
384
301
355
356
340
217
304
369
394
274
351
258
163
309
295
347
333
383
271
210
301
320
305
318
369
357
266
346
353
327
322
278
327
318
306
376
291
348
328
263
247
317
296
355
293
299
277
247
269
352
276
293
339
279
303
310
268
346
284
328
240
370
327
360
376
273
306
364
223
248
314
356
309
359
338
341
392
298
359
387
244
348
201
327
356
341
318
289
283
300
291
334
251
290
357
350
386
362
267
301
314
323
252
312
322
286
388
368
286
385
376
319
190
298
385
261
319
273
328
356
296
358
251
338
423
330
324
349
304
261
273
312
351
329
323
341
276
347
288
313
353
252
209
361
291
330
253
283
345
280
266
317
322
329
314
239
286
380
324
286
365
335
304
318
329
310
283
336
305
280
349
344
308
289
303
398
290
288
281
388
357
356
348
297
342
404
294
283
219
336
410
409
326
284
401
294
323
315
310
310
372
348
373
330
379
337
307
348
289
297
327
281
271
312
363
306
341
359
380
352
311
324
285
357
344
366
271
245
245
285
358
376
373
227
357
311
311
330
331
351
295
357
363
345
407
299
298
295
258
378
348
386
272
303
270
365
327
324
440
318
287
372
304
316
308
301
418
307
260
377
267
356
352
320
254
366
291
308
302
333
363
323
401
304
348
428
319
287
372
315
263
334
298
258
338
332
329
307
426
279
331
361
257
362
277
315
378
350
332
259
327
323
313
272
385
338
257
267
330
319
306
328
276
295
300
259
343
364
315
357
369
328
358
352
309
314
355
277
315
304
240
344
344
384
320
355
289
295
261
235
421
327
250
314
319
195
353
242
353
391
308
394
319
317
296
279
252
362
351
319
326
349
273
269
290
294
293
346
401
330
313
264
374
362
262
312
302
342
381
274
279
344
310
305
285
283
280
344
340
326
331
360
306
382
294
218
277
245
331
373
398
280
284
318
282
354
293
289
315
312
323
364
314
292
271
286
406
363
353
291
259
336
329
405
386
326
297
288
398
337
398
286
425
327
414
270
334
378
332
356
314
358
261
256
283
316
326
281
330
299
277
417
290
319
338
305
325
243
315
337
355
337
269
239
316
327
305
347
351
295
239
349
327
315
231
441
295
350
322
283
332
385
309
329
352
299
334
373
273
382
258
315
308
333
276
313
334
324
405
294
322
351
320
346
293
261
345
316
396
356
371
307
314
347
341
372
321
303
362
251
318
344
328
279
362
309
319
312
322
375
316
330
308
327
339
345
318
310
335
240
354
233
349
303
273
315
331
314
298
327
326
395
306
297
378
310
294
287
367
291
308
274
427
248
347
245
313
292
248
339
298
305
244
267
379
255
256
324
304
292
299
362
290
258
348
402
233
296
308
253
283
359
374
348
296
306
328
209
275
317
283
369
314
309
382
337
317
213
285
247
376
308
317
344
299
338
321
358
299
306
274
345
320
335
315
263
303
366
392
378
338
300
388
275
337
356
272
253
286
302
281
278
354
299
340
215
277
342
304
348
295
245
278
333
250
333
322
372
299
325
275
266
294
275
257
352
279
324
296
408
281
384
394
330
382
306
221
289
290
388
316
284
259
276
343
343
259
343
279
319
397
364
347
272
363
331
428
353
270
361
387
306
347
386
360
323
375
328
368
324
273
362
306
319
360
399
316
355
331
409
204
342
310
325
361
425
255
390
334
308
235
295
319
279
277
318
288
360
344
319
305
233
381
345
335
325
221
263
388
358
393
345
276
323
396
300
340
350
248
304
272
306
281
341
311
340
276
351
273
315
351
297
307
309
320
346
288
319
362
326
381
345
297
370
310
382
260
288
369
287
358
244
266
264
325
369
326
381
279
259
251
328
252
252
359
322
396
283
365
197
378
290
360
376
285
316
303
357
328
409
287
288
368
323
390
372
368
327
291
397
318
293
341
298
325
391
242
366
357
302
404
272
330
309
277
342
336
280
263
318
261
265
286
304
318
308
400
285
314
291
335
296
329
360
351
339
312
286
350
387
362
301
366
317
325
362
306
339
259
315
407
370
317
311
325
362
252
300
258
251
331
373
369
249
297
331
309
372
368
290
277
395
323
372
258
356
204
341
275
271
411
355
326
318
354
305
293
324
311
351
354
292
276
259
351
378
325
365
264
296
320
291
309
305
322
354
282
329
310
330
213
357
263
328
352
323
405
398
321
341
286
239
298
340
342
271
292
290
386
268
317
353
181
298
358
234
344
250
395
288
300
336
387
288
355
238
340
327
246
359
382
340
332
302
247
369
393
315
353
325
316
355
306
263
250
350
300
370
268
353
331
328
291
340
349
288
363
289
352
373
331
404
322
359
304
387
368
327
315
306
251
303
276
360
341
310
302
330
366
329
347
278
261
265
347
291
337
313
277
300
361
374
300
327
273
330
228
262
276
319
274
328
347
371
280
316
338
365
341
317
289
330
323
261
284
337
257
342
292
284
399
341
380
275
304
323
288
282
396
338
331
329
269
328
361
255
290
391
310
316
268
289
321
324
322
312
313
310
282
300
326
330
271
340
253
393
270
301
280
408
287
287
337
273
409
232
319
313
329
288
365
311
250
283
300
360
354
312
360
379
299
295
313
266
389
279
300
326
203
273
292
345
349
354
240
278
265
252
322
316
219
311
300
363
223
282
307
302
274
356
275
334
308
330
362
328
318
364
342
363
316
352
287
274
326
299
362
229
232
318
302
377
340
379
300
305
306
340
340
269
327
279
314
368
318
369
325
257
303
328
307
353
252
295
283
255
302
310
289
434
399
255
322
386
345
279
322
285
324
270
328
294
389
345
313
393
376
284
286
264
333
288
334
320
332
294
287
286
295
303
318
283
396
235
307
309
400
272
365
309
326
327
319
330
252
335
286
315
273
314
303
432
323
273
295
314
272
341
350
212
272
281
235
336
288
339
364
247
381
317
377
231
322
359
344
303
242
247
365
322
324
316
296
289
310
191
372
335
301
366
351
287
328
275
324
287
341
342
266
385
324
282
327
325
358
331
279
321
355
343
303
298
307
347
284
341
336
338
273
336
343
339
234
290
312
270
291
333
319
311
304
319
332
362
322
352
326
321
230
248
379
264
263
352
270
297
358
344
266
325
338
350
321
306
351
363
336
335
364
285
291
343
295
372
379
313
299
327
373
349
293
405
264
270
369
349
257
307
377
382
340
357
330
348
355
340
347
307
361
327
315
325
304
345
277
440
298
320
308
332
357
291
359
278
261
313
259
295
330
346
315
341
349
276
258
289
296
302
226
302
363
229
385
256
285
325
302
362
273
329
321
378
298
291
354
371
251
294
261
316
287
253
294
345
317
327
289
273
326
355
267
288
329
287
365
319
360
331
299
281
298
261
336
289
285
344
368
365
371
402
381
349
335
320
312
237
351
318
321
377
273
333
358
312
266
282
303
299
316
303
354
344
335
363
339
249
261
359
330
347
353
361
320
323
309
371
304
262
235
284
288
245
340
305
346
234
249
331
354
260
432
345
338
333
335
357
244
247
364
309
276
337
270
305
324
327
351
311
371
291
415
352
292
388
393
399
372
366
393
317
277
340
313
360
275
260
312
374
310
274
289
278
317
289
301
317
393
310
270
291
311
362
337
243
298
343
401
321
314
330
333
302
302
272
312
273
336
376
315
273
210
285
298
311
340
285
331
244
314
333
357
336
252
331
322
313
257
337
323
315
286
347
313
345
422
340
386
307
251
335
301
293
340
321
356
321
296
253
368
405
385
314
297
234
349
211
280
340
296
366
331
265
340
283
329
284
370
380
274
301
315
359
333
318
259
332
270
355
318
317
358
316
324
289
305
323
309
250
378
282
310
335
306
295
268
344
276
394
283
287
318
239
325
328
287
375
324
261
310
331
242
310
362
341
257
309
380
307
405
282
314
202
364
348
261
311
350
300
351
402
372
299
285
358
263
306
284
234
347
230
334
306
311
357
389
374
310
342
345
321
300
330
339
300
317
319
287
298
287
349
356
327
362
258
228
299
343
301
237
297
375
381
350
171
343
265
294
334
281
335
332
276
377
220
327
292
303
358
293
352
348
302
307
261
318
211
314
415
269
347
307
316
252
317
330
243
310
281
280
298
320
344
341
290
346
323
332
361
367
390
289
314
277
291
309
278
383
281
378
262
281
324
358
278
305
263
273
420
304
285
333
350
302
299
243
296
307
320
388
352
282
324
345
305
405
306
368
258
270
258
309
312
295
332
299
321
285
378
310
265
223
380
242
240
358
295
285
326
307
331
365
296
402
389
379
305
320
286
330
383
273
349
335
374
330
295
413
345
300
297
322
335
348
311
342
285
209
313
327
306
255
314
314
368
247
333
259
301
325
338
374
308
382
315
331
364
290
331
333
314
307
263
319
298
358
296
341
267
245
256
327
290
297
349
329
268
276
294
307
292
292
264
240
245
351
363
317
266
344
298
378
326
347
358
214
362
281
370
342
307
389
332
321
278
320
348
328
320
277
410
293
296
351
416
312
364
235
326
295
221
352
279
373
325
265
313
385
314
321
270
249
275
337
347
272
346
302
234
275
303
251
336
348
322
367
299
362
314
304
356
286
313
271
284
210
341
303
206
316
233
365
348
361
317
234
300
272
241
317
378
420
329
287
307
371
301
349
320
373
359
304
239
274
328
348
334
352
318
335
377
330
296
310
265
322
273
311
241
381
401
250
271
289
271
363
315
367
344
351
312
369
375
250
358
327
371
327
327
310
319
384
351
314
376
351
238
224
307
285
331
302
320
422
321
237
306
426
321
338
393
330
301
398
320
373
348
381
418
356
315
281
403
264
289
303
313
306
280
297
383
347
366
340
358
314
380
344
336
348
278
241
390
286
262
284
353
361
248
379
341
295
235
308
346
366
289
355
355
394
314
343
450
355
271
253
328
358
270
312
318
343
336
406
369
288
343
248
409
289
293
342
333
318
238
363
291
335
250
304
344
233
262
320
302
257
402
283
287
238
301
322
268
272
314
279
331
405
334
365
262
350
349
300
327
345
328
322
262
384
267
326
288
336
329
307
280
359
357
282
319
288
355
313
356
305
253
341
379
299
299
300
306
313
352
275
399
320
244
424
341
328
330
353
370
280
329
356
324
318
236
289
310
276
327
330
317
292
418
310
298
271
269
292
285
365
360
250
250
271
327
337
303
266
349
277
295
237
312
321
265
393
311
349
326
350
405
330
309
303
270
299
334
301
270
296
322
278
315
295
221
335
324
288
268
381
293
301
395
345
282
308
309
319
316
329
290
274
299
272
326
344
365
304
338
356
331
308
262
247
271
306
286
305
355
322
268
366
256
341
286
293
360
298
313
374
309
357
211
355
406
297
361
345
391
319
304
359
336
278
292
258
309
264
304
314
313
372
335
383
278
306
318
307
368
332
335
368
277
293
258
268
287
308
281
330
344
299
294
289
334
317
330
337
351
269
344
361
274
290
336
279
335
314
253
276
272
379
397
310
283
290
318
359
225
358
252
306
326
340
358
207
333
393
336
283
355
283
304
339
413
337
256
285
295
286
352
413
362
309
352
356
313
389
370
321
349
300
361
332
272
264
286
292
309
277
359
285
225
347
370
260
321
295
304
288
298
278
330
294
276
397
363
360
314
361
361
387
354
246
356
251
354
368
368
325
338
231
287
301
259
314
339
256
338
236
297
289
403
280
291
355
287
291
289
368
219
258
343
377
307
317
293
381
341
356
365
239
361
286
258
222
353
291
298
270
250
388
386
339
363
184
341
358
293
268
374
297
366
297
258
346
284
319
372
275
287
283
326
291
339
256
307
368
363
406
356
364
366
274
296
269
376
331
366
329
363
331
325
312
315
375
298
296
276
322
341
404
340
358
302
306
316
220
319
282
335
335
322
341
306
267
335
279
321
258
300
272
333
392
278
379
308
327
376
262
301
321
299
201
293
307
294
273
326
329
316
382
340
310
300
283
357
327
310
356
288
286
329
329
384
296
258
325
368
309
284
277
253
314
270
311
311
244
381
359
395
266
331
291
293
209
390
314
332
309
225
298
318
359
252
268
283
400
304
292
323
302
322
298
278
335
358
318
429
371
296
334
378
307
360
374
304
233
303
294
309
270
390
330
322
237
287
275
322
276
368
321
401
296
280
335
324
399
346
323
302
354
292
350
374
331
258
339
403
234
225
248
321
339
320
277
299
279
334
308
303
315
351
288
344
364
387
267
301
331
317
279
295
289
462
322
313
284
301
376
302
361
343
316
313
284
385
295
326
314
370
248
325
343
337
281
344
254
357
313
302
351
277
279
297
287
318
277
298
329
307
269
294
324
328
285
325
313
287
353
276
252
252
387
231
308
308
277
271
313
242
266
310
303
294
258
285
286
317
329
234
344
267
333
298
355
350
317
318
326
321
312
355
267
328
283
378
337
341
362
377
328
317
335
359
359
315
373
287
286
287
312
303
264
239
331
356
356
382
295
303
327
267
269
275
350
328
387
303
377
385
266
356
282
331
321
357
368
384
326
314
319
261
248
282
356
307
313
326
256
347
237
301
361
421
272
297
313
298
296
358
343
281
393
319
295
348
313
386
346
379
296
373
310
356
322
331
357
255
277
296
332
338
390
340
292
398
358
375
360
369
321
386
367
262
339
269
300
228
315
331
361
365
295
323
279
344
286
251
290
368
420
438
362
274
294
352
351
353
326
368
352
267
320
271
291
290
309
331
321
374
331
327
357
341
376
255
335
388
366
287
370
289
391
299
260
366
358
356
290
335
411
295
390
329
327
355
354
301
264
355
367
315
336
315
337
296
366
386
296
363
397
202
375
272
252
304
281
352
312
275
279
261
318
417
353
338
345
376
333
328
266
289
262
326
314
272
300
324
290
319
357
297
252
290
326
341
370
275
313
251
307
333
337
320
260
371
391
396
242
342
308
372
385
364
347
312
321
347
278
327
365
323
333
369
245
293
342
324
297
299
306
312
406
347
351
289
309
353
306
298
301
300
317
251
328
325
339
316
227
310
425
287
241
331
385
338
341
366
315
337
350
314
298
218
321
333
380
364
335
311
278
269
258
367
302
334
356
284
280
334
247
289
328
302
377
336
291
349
310
291
302
301
318
292
250
317
331
274
297
305
331
313
347
348
366
278
310
357
291
262
350
273
227
250
346
285
328
359
266
320
330
420
316
366
326
210
375
306
283
260
283
327
314
227
383
324
336
362
397
367
362
325
287
360
295
320
388
174
356
290
278
318
325
284
274
259
384
225
273
381
321
334
272
309
398
291
324
268
264
274
289
301
334
305
302
333
365
331
351
284
354
392
337
371
297
266
338
260
299
285
257
291
301
352
347
383
358
397
360
234
361
286
281
372
384
387
354
327
318
328
298
210
362
276
276
356
256
258
358
272
194
265
289
241
350
374
327
253
293
375
387
295
327
259
336
294
340
311
317
376
343
249
388
287
275
352
293
307
324
381
297
308
283
308
365
319
330
379
279
276
342
305
284
303
366
326
327
302
335
330
319
298
328
297
294
325
313
344
299
336
306
255
313
373
332
267
279
300
353
226
349
346
322
355
355
344
329
247
314
362
310
291
296
345
344
327
344
393
273
318
252
294
351
267
329
302
284
339
326
300
269
384
282
325
352
258
392
291
285
323
361
296
311
368
340
346
192
320
327
319
252
420
278
281
304
322
327
381
327
317
272
288
243
310
344
342
278
302
266
219
391
226
231
359
375
351
226
293
295
358
263
305
316
268
346
373
297
384
246
324
298
320
289
406
287
334
362
293
335
415
408
354
338
340
251
305
373
349
367
282
283
354
338
283
274
287
268
323
353
248
350
367
257
280
322
225
374
397
285
353
344
255
236
307
330
368
215
354
277
257
350
276
392
384
314
315
269
357
327
327
299
252
294
245
247
321
399
253
284
182
314
345
268
355
369
314
293
369
348
377
249
363
304
357
311
342
239
314
370
319
337
300
275
305
319
317
374
337
249
390
316
345
335
353
335
295
377
323
364
304
335
361
414
264
258
267
277
343
330
311
346
294
349
307
283
240
369
298
285
291
321
341
311
380
294
322
231
317
346
299
317
272
339
338
329
339
275
381
275
328
293
314
337
380
328
285
285
372
370
265
240
341
294
309
281
326
331
259
326
308
322
361
376
292
422
345
289
355
321
299
354
383
329
307
325
312
302
312
273
384
270
346
315
281
373
290
326
366
310
345
277
372
307
327
291
245
259
330
359
327
314
300
326
410
282
325
322
360
320
236
299
291
391
187
238
293
280
326
304
332
338
271
320
325
363
272
277
293
260
352
284
358
235
374
391
263
339
229
415
389
286
376
286
344
364
269
342
229
263
302
339
328
282
359
308
270
247
328
284
371
364
328
330
344
388
412
329
347
373
337
375
381
271
285
313
323
287
309
417
250
305
386
463
308
309
359
350
193
360
203
294
319
288
320
341
263
297
337
293
322
329
346
343
342
278
370
320
290
368
326
297
305
311
335
318
300
310
240
291
355
319
321
350
309
339
327
277
263
347
378
332
277
269
319
342
274
319
318
347
299
328
326
317
305
361
340
388
339
315
172
294
254
314
357
295
299
288
265
292
239
255
343
349
261
324
332
388
235
342
270
253
332
346
349
246
308
373
339
313
313
356
320
307
266
247
283
275
219
316
271
325
264
344
294
317
164
243
335
363
349
307
285
302
331
364
260
389
303
295
343
251
313
340
365
295
289
368
393
399
303
298
259
303
371
292
359
307
304
429
408
387
373
285
396
282
302
355
278
345
300
240
334
352
293
389
309
349
352
346
300
259
316
334
361
311
309
343
409
409
273
367
418
426
289
319
382
317
282
260
337
313
355
320
280
324
281
371
319
386
315
304
317
282
341
259
299
328
236
362
291
279
285
288
336
387
276
376
291
257
300
262
319
373
311
266
285
287
331
275
322
358
293
363
348
245
346
363
249
294
268
285
320
278
350
339
348
331
375
298
205
275
353
305
176
337
340
262
261
371
282
294
269
284
362
372
327
308
274
416
278
278
248
311
363
308
365
371
192
349
297
297
322
224
324
321
410
295
312
347
395
275
245
356
314
290
291
287
319
321
333
260
304
344
338
311
259
283
202
372
292
315
298
278
310
217
243
337
295
344
248
347
381
257
344
325
330
398
232
262
281
387
345
349
292
350
297
393
375
291
294
326
384
299
316
323
234
261
310
280
311
361
242
232
234
334
281
341
318
332
346
320
256
338
291
365
424
396
365
370
321
299
298
347
356
356
348
328
222
390
311
265
276
400
302
230
445
275
284
282
294
305
301
310
257
341
333
279
347
401
301
284
323
333
263
291
423
301
272
300
267
316
344
246
342
294
290
310
308
254
325
279
320
336
249
307
388
316
406
356
233
269
289
284
352
287
268
303
322
294
318
321
318
298
273
362
390
356
250
288
340
290
328
345
331
191
368
323
328
289
327
388
283
307
387
328
315
388
285
343
331
332
299
362
367
336
351
388
315
266
328
352
273
411
312
278
236
277
335
370
407
310
301
304
353
289
332
383
331
304
227
294
260
335
328
355
333
365
354
295
272
289
321
340
269
304
313
245
349
252
307
315
242
377
294
419
271
350
380
353
354
311
278
360
262
336
325
318
304
343
256
337
235
327
311
340
354
344
253
399
238
308
339
292
270
266
262
273
354
287
338
408
233
321
283
365
368
262
317
362
295
327
296
336
329
267
333
384
318
356
359
290
321
251
319
294
347
331
265
300
417
324
304
248
297
350
359
350
279
334
263
357
283
367
308
313
330
308
290
272
322
338
339
263
289
342
400
294
321
271
435
332
346
323
309
293
283
228
244
311
340
286
273
344
329
238
322
309
371
264
303
356
314
258
339
284
266
301
328
240
347
372
277
307
382
325
366
297
334
414
287
240
333
366
348
289
293
306
281
298
271
310
360
299
284
344
360
301
254
363
342
298
349
444
342
351
343
301
316
273
315
358
394
378
398
330
315
264
344
298
343
303
359
255
280
354
290
231
276
354
325
357
349
287
327
364
294
345
382
297
358
331
366
326
418
333
371
328
324
262
375
298
353
362
313
315
351
351
330
227
327
298
340
300
293
338
287
252
315
318
344
337
296
286
364
261
361
304
251
283
391
394
299
325
277
394
377
308
330
275
314
363
345
299
307
336
345
282
298
302
348
374
400
328
312
367
289
296
251
330
337
316
370
254
322
328
333
318
307
360
342
300
300
296
256
284
393
309
273
349
362
300
280
362
218
338
315
326
314
350
332
281
379
321
315
397
282
304
363
313
270
343
320
360
329
331
283
304
374
291
275
257
359
328
251
323
396
366
297
354
370
291
294
296
412
339
349
359
305
383
340
263
369
284
296
276
325
292
273
361
281
332
292
412
383
413
269
262
400
337
349
262
408
363
309
346
376
366
323
286
293
321
346
296
266
327
244
363
318
368
305
312
344
355
357
296
273
327
319
294
301
319
309
332
281
302
262
238
310
301
333
290
384
360
270
383
307
301
278
332
357
266
266
291
405
278
352
341
376
353
334
345
330
372
294
346
237
305
246
304
324
272
378
231
382
309
361
357
371
352
353
246
253
354
375
361
287
387
282
321
281
320
328
309
312
377
359
310
253
402
375
399
338
399
250
241
325
227
322
325
283
321
320
299
297
305
318
275
355
260
371
225
362
393
308
305
277
368
378
329
362
317
339
328
311
313
353
330
397
257
316
336
332
279
379
274
358
349
373
319
281
236
353
356
336
222
361
298
285
258
280
338
334
271
320
288
366
348
277
286
312
273
303
286
283
342
287
393
285
414
371
280
278
259
348
319
288
291
329
330
254
288
350
296
311
294
398
310
319
321
329
339
338
250
322
243
286
307
370
384
330
274
374
280
302
385
336
345
273
326
300
325
334
293
348
346
281
301
307
342
295
345
214
275
310
328
257
288
195
356
327
350
248
272
275
294
320
324
276
252
288
339
302
386
335
401
299
375
318
220
329
297
302
288
337
271
283
387
361
296
280
313
254
272
331
285
328
273
262
391
310
293
335
285
304
371
259
332
347
378
319
284
349
319
337
332
246
276
341
276
421
336
384
283
308
345
335
298
296
281
286
357
336
246
374
374
368
313
258
287
326
285
319
157
315
393
374
382
283
240
356
346
278
238
242
358
348
229
375
351
300
301
284
285
244
337
265
287
350
244
281
257
269
368
356
364
336
310
378
320
334
381
368
266
200
390
406
305
344
303
311
272
318
331
305
272
289
284
350
301
363
336
239
362
285
248
316
412
270
364
317
256
304
328
303
307
401
322
306
283
264
223
286
389
323
355
286
383
295
292
278
284
377
313
341
341
343
352
358
266
354
328
299
368
383
229
285
310
257
329
322
277
363
333
361
331
287
342
344
283
293
351
369
363
325
362
296
346
242
354
332
361
390
349
365
354
314
350
310
314
287
284
376
331
294
348
303
323
367
261
331
252
351
341
212
316
317
323
334
378
285
266
365
311
324
230
281
355
273
373
441
278
283
274
364
282
334
373
407
290
232
332
221
351
308
376
314
326
289
318
305
276
362
198
283
276
321
299
315
365
353
262
302
317
324
268
339
322
311
381
262
233
296
332
293
274
309
277
336
357
338
314
308
309
320
332
299
340
356
281
316
330
293
304
301
377
328
308
378
317
271
274
347
372
346
334
296
308
237
328
356
380
332
378
284
337
343
258
318
288
279
340
298
287
283
360
257
291
286
344
337
341
369
329
313
205
277
322
362
306
250
267
335
319
214
317
318
333
322
278
376
279
306
332
307
331
297
356
293
358
311
349
284
306
308
352
394
383
338
242
303
288
285
309
277
306
332
255
311
290
312
240
359
354
387
366
371
287
259
326
347
305
266
368
333
334
325
243
333
218
323
298
342
346
326
332
379
308
307
351
346
270
366
349
344
345
312
282
332
327
267
307
347
287
350
350
311
357
338
427
309
368
289
391
187
325
374
315
275
328
267
328
356
252
280
324
310
327
250
295
291
251
295
239
314
389
290
407
349
320
327
261
288
308
258
274
303
380
356
309
387
273
315
326
332
358
302
302
292
258
370
356
328
339
309
339
385
289
395
323
284
380
270
324
304
323
374
357
290
378
403
324
318
223
295
364
259
287
360
252
285
322
359
279
366
314
319
275
281
285
234
382
253
245
374
304
392
334
294
285
336
279
285
317
263
250
286
267
323
268
219
281
293
332
278
307
333
294
339
376
228
269
351
326
332
389
367
350
305
314
286
349
260
344
336
335
322
336
303
323
320
337
302
370
307
347
349
355
286
325
275
308
314
308
339
340
362
336
366
323
276
435
267
275
361
319
321
338
304
343
318
230
328
367
356
283
256
288
290
269
303
343
361
362
393
359
273
392
307
205
296
444
324
355
311
324
418
342
347
390
346
330
374
363
332
341
338
304
399
371
338
246
262
348
301
376
315
312
369
369
262
240
331
292
359
309
283
321
260
273
280
292
280
392
260
423
292
345
359
307
299
242
385
382
341
376
234
285
344
276
279
338
343
403
290
295
332
297
348
332
302
318
319
331
250
201
316
295
302
302
259
342
415
300
370
338
311
353
381
334
334
409
319
278
330
311
302
271
276
303
302
329
333
264
360
361
335
282
423
329
329
389
355
302
265
306
358
257
297
353
333
331
328
277
302
331
300
339
327
220
296
319
377
312
373
260
284
305
305
288
334
380
230
314
319
401
299
345
377
348
281
313
377
293
282
289
330
336
248
320
224
272
343
294
283
345
297
296
383
389
269
300
289
329
296
323
380
325
317
324
333
342
350
321
413
318
346
334
280
326
250
408
269
225
313
268
314
340
295
290
311
331
231
219
400
368
302
231
289
329
296
356
365
369
308
395
324
399
382
231
336
380
298
324
275
329
333
358
405
383
348
213
334
254
290
284
330
316
341
295
352
317
328
285
318
255
353
255
327
356
272
335
320
220
252
303
425
300
319
309
327
415
392
433
325
297
339
354
340
338
399
230
334
251
291
364
333
370
297
295
364
306
266
270
332
310
323
305
378
335
343
276
369
367
302
327
337
364
336
368
407
297
286
342
241
356
337
375
299
347
346
318
446
337
410
234
295
360
334
300
311
323
370
294
334
301
214
320
334
322
258
412
286
283
274
282
319
361
388
269
339
343
293
224
373
364
336
438
353
358
280
352
249
239
325
307
276
262
333
332
308
293
273
363
296
244
321
197
376
275
300
356
307
429
292
246
358
304
350
308
270
360
284
326
417
291
221
317
315
299
281
350
321
256
322
395
248
324
307
271
294
248
316
263
339
317
292
326
229
349
403
355
363
368
352
321
318
311
287
320
239
320
318
254
278
291
285
323
271
316
341
280
417
231
280
312
279
327
335
216
283
342
474
227
375
301
347
349
385
308
223
291
304
310
352
365
300
307
269
284
282
310
400
365
378
314
280
262
309
310
341
334
404
334
332
290
329
289
354
248
287
277
373
400
321
338
341
341
322
282
276
336
290
324
292
370
329
324
331
278
311
273
273
287
337
259
274
350
310
319
354
332
363
337
250
287
328
300
301
378
338
319
296
314
250
341
337
343
387
310
309
384
322
367
363
358
286
340
311
335
377
380
299
308
274
353
352
289
318
320
287
307
360
275
329
264
310
275
333
361
267
294
303
296
291
380
329
403
300
302
235
315
408
339
317
278
262
329
288
363
336
369
293
317
368
296
301
272
282
203
225
327
321
248
453
268
374
327
343
280
343
338
286
290
330
317
272
285
331
355
234
373
305
310
273
275
295
336
270
311
269
415
351
381
339
257
357
410
355
282
306
345
372
266
310
282
317
403
276
320
313
301
276
287
329
313
313
333
360
391
366
323
334
285
348
241
385
278
259
341
257
329
406
410
291
238
327
418
386
337
354
402
271
286
300
277
294
386
311
390
255
293
295
294
323
313
250
346
335
324
276
287
239
331
348
291
344
362
328
314
296
355
273
280
314
312
294
381
355
327
257
251
407
322
377
369
400
352
311
344
322
338
350
361
351
297
308
214
346
316
385
327
305
334
281
388
302
333
306
298
322
358
346
308
276
278
316
283
346
314
284
302
341
270
376
317
419
327
287
297
245
283
351
310
366
285
333
304
234
314
349
269
351
236
276
287
330
352
313
325
279
332
421
291
334
384
298
253
335
267
301
242
351
270
270
365
314
348
409
362
386
352
341
302
307
330
344
346
301
338
323
396
312
324
346
332
329
333
250
342
270
367
292
300
335
331
268
348
277
314
257
317
256
286
319
431
359
292
267
245
275
373
296
342
294
336
353
307
341
313
292
350
308
328
383
330
301
270
262
321
260
328
335
367
339
280
182
312
353
320
377
226
326
249
318
291
362
323
372
292
294
254
311
346
347
350
399
332
287
382
266
297
355
319
306
398
328
335
395
277
367
313
261
345
291
281
294
295
294
322
295
351
274
259
382
279
326
309
372
363
282
337
295
264
290
296
311
228
266
368
333
311
303
388
336
363
251
336
320
334
343
283
414
322
349
347
287
250
307
337
310
262
345
255
316
341
228
300
275
281
334
326
420
342
339
309
335
226
308
361
389
336
288
319
317
290
360
330
306
299
313
307
307
341
266
373
305
320
299
259
270
314
248
339
365
292
302
394
331
350
245
364
338
234
339
293
332
237
349
305
266
343
290
236
331
350
334
273
339
326
358
303
306
341
319
290
360
297
374
332
260
294
277
335
262
332
364
369
297
348
335
255
270
382
236
284
347
307
339
342
348
255
295
336
277
293
315
310
438
335
413
398
307
260
273
318
331
327
196
359
248
293
362
280
390
268
414
393
273
314
269
314
277
395
306
280
390
273
268
364
346
355
282
310
364
334
338
320
242
344
295
371
421
261
352
318
317
300
245
372
257
250
313
317
370
336
365
348
362
321
293
288
331
238
334
240
394
299
332
307
419
348
283
350
341
403
295
287
391
359
292
359
288
352
254
278
259
409
330
233
318
308
326
307
270
343
399
286
240
204
274
397
271
245
286
348
367
303
329
335
362
277
355
320
330
333
348
366
267
302
330
220
268
303
326
315
376
327
234
296
335
246
277
344
381
276
293
263
349
279
357
349
301
278
347
306
319
328
360
336
275
330
372
260
313
337
332
304
330
244
353
346
318
330
381
415
315
265
241
334
237
386
272
302
343
406
390
347
289
301
324
345
361
219
375
339
330
374
324
199
265
364
273
360
325
268
340
388
347
395
326
329
381
371
281
328
392
323
369
292
302
340
264
364
383
255
304
301
359
303
325
251
301
264
221
345
339
266
259
308
241
261
342
297
342
339
385
314
361
302
297
328
275
312
305
256
257
228
360
420
296
290
375
343
309
244
429
295
352
352
286
290
271
368
348
294
366
321
291
336
360
320
339
354
397
231
257
310
267
348
313
330
338
337
274
311
295
366
273
296
254
271
350
268
352
344
308
333
336
295
296
296
359
291
346
371
334
400
361
269
296
282
388
289
340
366
354
387
325
258
278
295
297
382
280
229
272
294
187
212
281
297
242
323
273
275
313
254
292
379
251
323
326
326
289
304
431
370
272
350
321
296
293
379
347
386
310
295
283
279
344
385
366
343
288
327
258
315
317
355
262
278
278
364
316
302
277
378
308
293
322
300
355
359
277
330
329
337
310
274
323
279
350
316
376
289
234
325
322
304
293
304
396
357
323
308
270
324
308
273
211
363
343
165
381
346
331
325
271
365
362
353
227
347
323
330
289
382
402
376
225
293
333
302
287
332
295
322
333
319
261
293
339
351
402
215
234
292
357
295
278
314
252
337
266
274
324
326
236
243
362
360
236
353
202
381
301
312
305
376
272
311
338
270
330
281
291
401
310
262
382
264
403
290
269
359
374
255
310
330
361
309
341
368
306
365
306
289
365
335
359
297
308
280
306
260
372
230
269
330
321
199
335
369
367
328
326
307
352
262
373
288
288
251
208
298
287
342
258
347
300
333
324
302
390
292
311
293
286
317
373
297
290
388
319
363
273
266
270
384
285
392
301
264
381
374
319
330
394
294
254
325
320
330
259
345
299
369
317
319
253
279
274
381
264
287
365
334
276
244
279
295
320
386
365
323
274
309
302
256
365
409
367
309
289
311
282
361
276
277
270
330
321
255
350
400
284
291
312
296
253
371
194
300
268
365
324
318
317
336
363
252
296
291
354
236
363
299
365
357
326
305
309
249
310
213
343
316
326
307
355
279
318
327
260
352
326
281
337
303
290
314
363
342
299
400
365
294
297
277
358
285
287
339
356
394
360
347
295
389
305
342
389
207
382
382
375
334
255
242
329
332
348
324
331
313
409
417
300
359
287
236
394
232
336
290
329
371
314
333
270
372
345
342
341
312
249
413
272
268
373
312
379
434
263
304
274
336
344
386
359
364
289
329
323
377
309
290
355
280
279
280
405
380
371
309
292
306
376
213
249
244
367
297
319
350
312
353
357
299
347
247
313
350
342
348
316
288
380
373
312
348
327
260
318
364
228
230
200
327
280
350
257
273
356
307
323
312
333
259
287
408
367
309
340
351
261
296
327
362
360
343
336
363
271
314
356
294
340
345
373
327
316
334
386
268
343
308
253
275
351
275
294
299
364
295
312
287
350
256
317
343
445
372
310
311
352
314
322
376
255
298
360
306
279
299
253
353
316
269
437
294
292
196
335
321
277
350
345
294
226
333
245
281
356
350
248
302
399
333
264
330
250
341
301
298
316
404
312
399
327
337
337
268
334
410
276
368
332
274
281
320
375
320
361
328
300
316
266
369
290
287
353
323
271
342
323
258
385
325
373
357
347
361
261
349
311
294
221
206
291
342
381
305
377
279
300
267
274
325
280
268
228
320
396
343
245
283
299
295
217
314
324
304
312
395
374
291
321
303
347
330
293
356
322
290
316
251
274
325
251
306
311
318
325
351
275
302
369
325
343
340
253
314
285
371
302
333
262
322
372
330
386
391
421
233
274
292
334
288
354
375
271
285
350
305
382
347
330
311
374
343
301
269
292
316
338
307
279
341
277
336
294
253
273
293
318
219
383
280
319
306
366
295
216
239
316
382
323
273
316
304
271
330
321
252
317
328
361
335
378
277
310
331
268
277
288
340
309
297
364
350
333
266
340
274
245
285
221
298
393
314
308
291
294
380
265
352
267
331
329
323
310
318
374
413
228
323
172
363
298
410
352
231
382
336
337
264
290
239
284
282
378
317
310
363
387
314
207
283
257
314
368
411
375
379
285
298
304
312
340
279
237
317
247
351
303
374
365
323
292
294
331
381
284
265
238
401
252
316
317
290
347
336
310
322
313
319
313
314
304
312
300
305
322
344
323
315
378
252
289
304
356
391
383
347
335
330
337
334
294
289
273
337
321
265
352
328
322
316
303
299
290
323
340
336
292
418
304
381
297
327
259
345
324
329
303
244
335
395
413
312
395
328
333
330
395
316
294
328
292
261
347
311
247
355
271
317
295
351
303
318
272
241
365
366
322
266
267
302
392
305
320
399
354
386
265
302
336
273
312
347
347
294
340
387
327
332
334
332
286
264
329
296
254
217
316
298
280
339
371
313
408
315
236
306
328
236
369
317
256
295
219
356
258
287
287
356
323
291
339
310
292
415
217
327
306
383
291
340
292
284
310
307
220
297
279
291
300
278
282
312
299
282
287
335
336
360
388
273
306
353
318
360
289
326
248
273
412
314
320
307
360
369
333
275
328
234
331
303
367
392
345
396
349
332
290
408
309
351
293
276
298
324
309
334
292
170
340
270
418
227
273
297
361
221
265
295
289
303
324
369
324
351
280
302
392
361
310
288
338
391
362
268
335
329
314
341
281
291
333
295
303
312
254
371
311
398
369
298
385
365
239
360
228
302
260
286
289
384
303
361
382
284
267
311
353
363
337
332
304
322
271
205
320
290
291
337
248
333
220
271
342
362
219
250
355
395
350
375
236
357
262
331
346
268
339
370
285
286
320
359
387
335
361
302
360
332
334
339
340
340
325
332
339
292
308
286
370
362
289
306
267
339
315
339
226
358
252
332
260
262
294
411
330
305
292
383
329
279
377
224
230
310
315
324
329
304
283
348
350
323
285
308
364
385
302
253
335
320
294
252
335
280
304
287
384
308
400
309
344
349
334
355
246
400
320
335
348
383
326
333
311
303
342
370
341
355
298
405
354
309
359
345
274
291
375
330
296
298
329
307
349
335
353
277
262
316
301
263
337
355
249
340
355
375
287
299
291
337
381
266
384
366
289
261
410
325
343
303
343
355
307
302
278
360
312
396
215
206
284
310
369
434
326
301
312
342
275
284
401
362
271
384
249
252
285
305
291
316
239
386
347
333
321
325
349
280
244
310
376
281
242
329
261
299
287
395
368
282
337
381
376
354
328
277
280
373
379
302
327
349
328
411
290
345
284
299
270
310
390
364
450
304
268
221
411
305
305
357
278
337
271
208
231
302
386
336
322
261
292
335
323
285
348
377
403
274
328
297
366
292
373
354
412
347
294
319
291
311
388
215
351
349
216
407
320
352
337
354
260
278
347
303
389
381
257
320
346
313
281
282
368
289
296
317
321
332
323
317
218
306
362
299
379
332
318
326
397
391
285
323
346
351
244
367
327
338
304
274
307
338
319
314
333
260
360
333
312
369
271
325
341
285
302
354
372
340
337
347
301
316
263
230
323
323
296
379
196
323
340
309
384
324
347
371
393
354
304
297
285
290
376
382
342
192
297
250
326
271
302
351
359
364
271
292
315
371
297
283
298
284
298
285
423
241
323
395
303
364
304
365
357
306
310
293
301
387
209
284
297
278
281
355
396
339
338
310
301
278
278
302
284
252
326
336
278
419
378
362
297
311
332
324
341
290
246
299
386
350
218
313
346
363
266
324
241
355
295
302
374
253
302
349
299
378
334
318
370
331
386
277
324
341
251
284
349
274
336
293
306
337
293
331
279
382
336
217
254
353
307
327
367
336
343
333
353
376
313
306
324
298
244
337
367
300
277
294
278
302
360
313
239
248
326
364
305
268
289
373
352
201
336
274
297
376
324
289
268
327
305
268
307
265
313
352
324
279
308
348
267
343
277
341
297
315
318
412
301
254
315
239
309
360
365
280
283
292
252
299
225
274
364
335
347
254
321
307
289
353
285
360
343
284
251
213
343
288
338
334
327
297
314
349
294
303
352
218
225
282
238
349
337
336
316
315
356
304
358
297
353
399
388
313
355
351
285
353
348
275
353
277
272
323
350
166
392
396
314
337
365
321
248
336
292
371
358
344
349
301
356
280
382
361
291
364
391
308
388
329
330
412
250
152
417
369
387
400
325
364
314
379
309
363
312
339
274
412
323
287
341
287
316
314
343
214
290
314
439
379
298
313
305
329
360
257
306
369
368
228
308
372
365
236
313
400
330
330
357
298
338
272
313
316
361
274
291
323
340
301
374
321
347
323
250
385
231
339
282
299
319
323
340
303
278
386
290
282
277
300
279
376
331
336
265
267
297
259
298
306
275
304
307
293
420
341
358
354
385
324
334
388
302
333
319
396
364
333
234
332
285
362
300
339
356
298
346
259
330
347
344
287
334
259
371
364
316
342
327
343
237
259
392
360
340
358
288
248
349
331
274
307
349
234
377
292
349
375
411
315
268
361
403
371
320
310
241
344
264
345
309
356
315
305
321
306
328
261
372
299
299
375
285
326
294
320
275
286
303
271
273
324
272
335
310
281
271
240
340
402
408
384
276
271
350
351
373
339
316
383
294
321
320
359
376
331
321
262
308
333
350
304
380
270
320
318
340
347
314
279
385
264
290
347
254
357
254
304
293
281
351
287
368
328
323
314
280
267
270
314
279
367
345
298
325
378
261
268
334
286
353
328
282
248
363
367
270
268
342
342
331
291
315
396
239
282
340
276
378
260
343
299
339
283
350
256
309
344
278
356
293
255
395
380
256
315
261
333
328
334
310
291
352
293
329
287
309
352
257
309
302
371
340
324
373
265
328
329
343
360
278
300
302
284
264
219
383
303
373
290
296
239
237
333
309
363
369
283
259
309
230
323
276
368
367
336
265
275
337
365
389
220
248
339
367
287
349
338
309
417
321
318
344
310
390
335
347
345
287
339
316
275
253
301
301
320
314
310
316
358
251
412
356
305
373
332
381
256
457
383
337
377
315
294
322
340
367
324
339
327
349
325
363
318
347
322
283
319
303
347
320
289
314
348
221
288
376
347
281
316
335
351
336
273
318
341
333
324
274
393
208
333
286
380
325
256
326
286
279
361
339
298
264
342
287
303
407
342
359
261
291
400
316
300
305
335
298
287
326
228
268
337
264
348
278
348
305
370
272
237
344
340
286
263
308
338
386
333
357
250
358
355
306
277
319
396
374
322
318
380
350
361
366
182
369
344
381
324
180
349
316
360
286
316
252
344
264
266
279
285
345
342
379
316
369
402
344
283
366
261
387
365
340
234
333
313
314
271
303
313
325
343
348
301
317
326
306
371
299
298
255
309
289
374
340
328
386
220
296
279
223
303
318
253
362
296
357
285
264
297
329
280
337
251
350
326
376
337
307
318
407
324
244
335
324
354
294
309
342
264
338
377
286
352
235
337
302
373
357
340
409
327
303
308
273
361
244
253
210
296
322
258
331
304
264
283
330
197
345
424
331
245
355
282
287
360
246
323
292
344
329
395
344
291
344
392
375
297
330
359
355
208
301
290
336
256
272
354
343
269
376
288
330
332
315
292
357
231
423
301
319
293
303
332
287
263
384
292
399
404
348
297
256
374
298
333
263
312
347
352
289
257
286
294
330
276
289
210
247
290
289
332
360
350
351
302
282
284
356
316
294
333
309
328
368
317
366
232
340
329
411
263
252
330
245
297
293
300
390
388
211
281
296
315
305
306
359
230
357
360
309
268
278
274
234
273
241
360
327
399
302
289
304
349
294
282
347
331
324
374
410
277
375
341
283
265
363
330
330
283
326
313
288
363
284
408
307
278
350
278
376
276
300
336
375
402
267
236
356
318
376
372
281
310
322
315
339
323
336
356
377
310
267
263
367
347
311
320
356
318
335
303
324
294
279
350
291
360
287
287
253
403
351
347
177
293
380
431
326
342
358
303
304
286
305
265
353
369
350
295
312
302
316
278
312
314
381
354
303
379
321
351
316
343
325
327
311
294
303
410
278
360
378
366
363
201
389
326
354
299
299
350
264
286
366
290
339
296
342
307
309
247
313
332
312
300
203
298
336
200
351
301
366
274
274
339
366
363
364
320
290
353
375
295
327
312
343
232
348
283
333
293
354
321
371
358
276
286
348
306
337
318
311
249
328
336
356
295
367
268
272
333
319
351
330
352
286
337
300
299
265
322
316
254
379
337
304
326
248
210
304
359
334
300
347
310
299
330
347
324
324
308
291
270
327
325
363
332
239
321
351
272
363
323
245
271
375
359
353
285
376
346
317
399
324
346
185
259
300
272
359
397
299
252
359
318
366
361
316
314
326
333
273
336
325
368
349
304
321
276
385
370
329
300
388
336
322
334
267
354
284
337
345
342
353
308
310
369
275
384
324
379
323
275
224
293
369
349
287
373
340
373
363
344
282
315
300
337
322
307
356
278
234
370
414
302
260
280
307
333
412
362
351
340
321
279
301
277
336
358
301
377
349
305
384
298
296
317
323
333
244
310
406
374
245
320
282
275
253
298
414
350
198
394
358
336
389
324
279
368
256
315
418
295
284
355
357
297
320
292
278
315
284
359
266
258
253
374
331
274
258
283
421
362
329
293
403
313
278
274
320
339
306
391
249
263
332
253
313
304
320
239
287
259
369
301
385
283
269
271
287
378
248
336
352
352
309
334
403
344
346
279
382
358
292
279
296
318
321
273
266
272
291
362
372
389
327
254
302
265
344
285
280
302
258
350
334
371
375
246
323
362
371
236
409
244
179
272
259
258
254
312
373
370
337
239
256
343
379
243
304
319
212
297
309
248
359
339
325
316
278
298
356
371
329
390
340
290
313
329
417
378
260
299
293
276
294
203
275
380
318
336
360
384
346
277
324
248
429
288
371
355
287
339
299
376
368
268
382
352
267
227
280
253
344
361
321
293
295
308
405
394
225
281
285
370
364
302
385
253
242
257
334
280
324
296
248
412
370
327
304
296
333
342
224
257
335
322
470
349
276
283
249
335
344
288
254
253
265
391
340
295
264
361
266
410
364
341
342
321
381
301
311
334
343
332
368
298
335
347
235
347
291
314
282
320
252
378
348
273
308
184
309
384
280
287
358
213
354
316
309
338
386
262
291
330
258
363
328
349
309
275
331
337
318
346
244
389
340
364
270
335
323
265
301
326
348
328
338
301
412
260
338
299
273
354
352
258
344
312
300
311
359
339
336
350
367
344
306
293
355
320
390
236
248
300
249
339
310
347
366
299
358
344
378
284
293
345
312
326
313
318
303
256
279
289
250
348
340
358
250
316
316
290
263
352
290
311
365
374
300
228
331
318
270
397
354
378
265
304
349
341
345
342
336
320
326
332
340
174
304
331
316
311
336
359
289
392
353
254
324
332
295
277
318
317
374
321
365
298
310
326
359
327
345
271
340
354
275
351
343
393
347
315
336
276
375
347
382
374
389
282
385
361
276
359
362
302
399
360
276
336
338
240
327
307
313
317
268
278
393
319
352
340
322
387
422
313
400
298
409
308
333
409
280
278
331
285
366
382
207
346
306
369
368
333
369
362
342
335
364
328
382
364
275
305
344
308
334
456
227
324
313
332
272
344
255
268
319
289
260
366
324
312
247
285
352
335
309
331
343
388
202
295
309
323
291
337
255
405
284
399
265
385
304
294
298
364
343
337
353
379
359
222
300
389
273
249
367
391
323
324
276
341
284
307
364
279
366
335
247
335
332
417
348
342
311
293
272
337
244
382
311
283
291
372
315
318
316
318
287
269
331
353
275
290
306
371
386
284
261
279
343
328
268
406
290
329
290
268
348
319
329
360
340
222
306
346
265
367
338
333
296
333
261
330
265
338
297
271
353
319
398
345
317
327
348
322
329
298
223
303
290
304
329
331
386
263
302
201
336
365
382
277
228
327
238
378
264
335
378
243
324
294
338
327
325
297
407
275
368
283
415
269
396
369
371
390
291
330
322
287
241
339
285
330
276
350
414
284
324
297
352
326
333
260
329
355
273
248
380
226
318
369
305
284
344
326
312
365
211
367
335
310
291
319
316
304
290
339
348
300
280
314
323
385
349
346
381
253
338
335
258
311
272
301
284
259
353
320
273
291
322
276
313
365
301
365
292
318
402
376
363
331
282
337
327
345
212
336
366
334
276
290
375
383
315
320
334
267
288
266
291
310
276
297
325
311
393
268
316
239
319
338
341
299
383
266
219
342
340
270
376
318
350
270
233
291
271
374
269
312
333
287
239
329
328
317
351
362
353
310
277
352
312
283
314
215
300
365
349
362
275
362
284
395
367
330
427
400
328
329
272
350
264
256
234
334
300
231
298
300
341
353
305
360
285
307
307
311
320
319
369
393
299
333
311
298
328
244
339
306
324
275
332
319
368
267
320
340
405
292
314
315
391
194
268
361
362
261
316
267
284
366
268
300
350
250
270
342
360
270
294
263
270
320
338
397
335
295
316
293
391
372
283
366
324
356
369
264
306
316
364
402
329
317
306
391
269
268
292
365
293
270
274
281
342
221
271
293
392
419
361
339
299
339
339
325
372
274
323
355
336
372
275
218
351
325
352
297
213
247
324
296
282
247
292
401
386
363
342
270
301
330
302
322
285
386
250
246
299
325
284
343
300
295
294
279
324
352
313
322
280
292
333
324
335
290
245
326
314
309
350
237
306
318
338
367
314
286
380
382
261
232
300
228
264
344
357
290
235
342
378
278
285
226
333
366
267
338
314
384
284
315
350
367
293
343
241
274
331
279
361
380
295
343
264
302
358
288
322
339
325
255
286
337
255
317
311
301
336
257
298
312
278
286
312
312
327
306
243
288
307
362
294
313
358
389
349
240
315
380
378
379
343
361
370
297
351
345
277
332
275
307
341
296
331
275
348
283
346
277
341
364
249
315
270
404
380
316
245
351
317
303
278
355
370
234
354
240
364
327
315
444
307
246
301
304
259
292
331
359
342
316
337
306
310
260
383
270
365
284
328
255
364
322
364
301
207
334
361
344
369
243
324
361
283
356
295
391
290
299
360
323
233
272
326
284
253
393
305
346
329
308
323
322
316
340
324
351
294
399
251
259
358
369
382
287
272
322
245
318
290
218
339
343
354
281
282
373
366
358
379
345
242
312
409
313
252
304
245
304
300
292
313
324
344
234
242
319
288
355
304
244
363
309
303
301
362
308
329
214
392
369
267
381
385
329
303
304
323
304
274
310
343
342
313
268
398
322
283
360
321
327
281
291
327
299
330
343
355
306
304
257
327
356
348
349
291
275
385
277
283
255
381
337
272
301
223
272
323
320
332
308
324
311
280
300
304
333
271
344
342
329
368
328
355
251
330
321
345
349
358
261
369
229
311
293
237
311
324
327
331
345
299
401
298
207
295
374
340
291
328
306
353
399
366
323
348
323
261
265
319
294
339
247
310
397
241
433
373
328
262
301
344
342
394
344
398
265
285
228
369
369
254
334
320
346
367
294
309
315
223
283
235
277
311
252
237
337
317
332
295
289
289
339
361
324
315
272
315
310
214
329
292
329
282
382
297
427
269
338
392
378
340
337
346
337
336
319
330
345
287
287
262
330
357
311
325
356
342
321
263
264
331
209
351
300
331
358
328
301
252
313
330
365
354
288
296
299
242
296
296
356
207
354
361
347
308
261
305
261
339
258
306
266
278
304
354
361
349
312
302
246
361
273
250
362
277
358
336
282
352
345
325
348
221
328
446
296
270
326
226
369
290
292
276
340
398
304
290
346
256
324
329
347
409
358
209
348
299
350
263
314
289
289
304
388
362
305
287
308
305
326
314
278
325
344
349
286
289
223
329
331
326
259
350
353
402
354
352
286
309
308
352
280
369
383
355
314
319
352
335
371
266
311
388
278
331
315
335
292
334
365
288
368
257
292
280
338
300
286
312
328
321
305
348
297
318
248
342
370
329
307
332
308
306
320
343
299
327
334
365
297
401
294
327
314
303
320
367
281
309
298
330
330
380
261
355
302
319
340
316
361
309
312
332
383
299
328
321
368
309
326
326
328
332
320
284
235
349
342
315
345
326
318
323
342
248
326
313
218
271
339
283
325
320
302
294
353
373
307
293
297
328
356
365
370
269
346
318
325
316
326
324
353
348
470
323
335
314
343
298
347
277
355
325
341
352
346
325
304
348
318
369
339
222
329
321
281
226
332
320
310
315
342
340
372
239
335
303
377
325
276
246
231
312
314
355
310
279
282
387
378
318
249
362
357
317
365
349
277
324
248
308
296
285
267
446
313
245
319
289
358
392
332
356
336
258
342
397
262
362
286
336
388
332
329
356
250
317
294
359
359
311
413
336
343
259
298
371
325
317
366
379
338
309
323
299
264
307
278
399
284
290
287
303
342
328
235
292
286
351
314
294
324
364
257
288
273
363
323
336
319
330
348
265
370
363
354
348
335
241
405
346
346
274
354
281
292
342
234
237
339
312
356
341
302
291
253
320
333
314
296
335
322
377
375
315
355
373
301
380
366
259
358
354
227
273
327
327
256
323
243
353
324
317
345
265
292
298
310
363
289
234
300
295
303
282
321
414
212
358
345
346
241
312
361
280
248
262
360
295
249
384
304
310
373
319
266
371
334
284
263
320
207
355
287
315
324
312
343
236
376
316
379
304
348
340
294
357
332
226
319
280
309
291
369
362
294
274
314
299
291
312
328
330
307
302
304
376
311
315
346
326
333
305
274
341
290
337
253
265
276
348
329
396
321
290
329
251
264
274
353
272
277
265
345
300
256
368
301
342
310
395
220
311
305
247
256
293
269
344
346
366
389
308
218
343
267
309
345
310
432
348
284
358
387
329
326
341
295
341
279
385
269
358
394
379
316
349
321
317
272
325
332
337
210
329
344
262
302
259
415
373
260
319
303
272
357
295
232
319
366
307
352
298
334
311
271
300
340
265
287
300
308
269
330
265
253
346
219
267
316
296
292
275
271
320
264
347
308
292
387
386
261
345
327
318
319
276
296
389
319
223
278
246
339
363
325
358
339
340
316
320
297
366
263
375
280
342
280
280
379
289
327
310
356
299
360
294
408
286
272
351
264
324
317
320
240
313
408
342
315
259
272
281
317
337
365
274
242
386
319
288
293
370
275
366
310
282
343
357
332
394
304
296
389
306
365
277
296
312
210
277
244
338
281
237
353
357
296
349
329
315
287
224
340
274
328
308
324
294
225
193
281
329
318
345
254
377
268
388
302
342
279
330
407
268
314
288
302
325
297
321
304
327
285
393
324
301
328
346
284
364
310
337
307
281
291
267
336
306
274
334
351
375
306
325
272
336
314
356
353
318
327
356
277
296
270
280
364
342
348
267
283
295
313
363
232
257
383
304
250
373
285
353
300
260
331
213
293
283
362
336
352
300
326
300
326
350
278
329
308
272
327
303
356
331
283
249
262
410
304
327
316
359
349
328
352
285
344
325
364
301
359
384
197
332
245
352
303
282
395
344
381
294
367
232
304
374
273
285
308
306
272
380
312
352
318
287
278
319
252
375
305
278
335
252
314
357
313
270
341
265
350
411
363
360
265
259
269
436
339
258
349
331
386
192
289
280
295
290
330
340
236
264
305
279
262
363
317
291
368
342
305
370
369
355
344
294
346
290
271
299
285
241
329
358
303
296
270
353
365
386
279
399
323
340
326
280
327
364
296
308
274
394
302
305
327
298
332
289
370
323
313
318
221
290
394
328
328
251
217
404
330
369
211
383
350
295
352
381
331
335
418
312
345
306
357
259
372
253
309
402
292
333
293
279
362
385
326
283
320
331
406
306
282
301
280
334
258
307
271
297
244
339
354
333
382
313
261
390
290
290
345
324
269
329
281
286
378
240
318
314
332
309
405
205
281
308
327
365
255
280
300
290
356
369
327
332
293
323
355
312
284
239
273
308
312
356
392
293
258
310
293
405
299
279
375
231
247
348
433
223
391
219
318
358
275
359
315
311
287
295
330
402
283
401
260
446
276
336
288
304
339
311
369
309
300
343
330
275
271
367
395
317
268
284
276
321
292
287
362
284
340
277
350
337
277
322
365
323
312
265
278
346
314
295
279
311
357
350
308
338
328
271
406
315
275
326
320
360
250
334
350
317
376
400
338
298
325
323
417
333
394
354
247
283
290
358
391
380
351
328
314
387
275
233
302
243
316
299
212
261
247
247
338
278
379
266
372
257
346
273
297
410
335
314
253
353
292
213
293
294
326
420
293
386
282
341
372
310
329
357
316
279
339
296
400
278
292
304
354
388
321
325
323
319
314
366
281
355
320
274
360
326
311
280
332
305
238
292
351
347
276
287
352
340
321
407
295
407
338
330
254
278
310
366
296
375
208
302
287
210
308
335
298
291
343
393
264
353
355
335
261
257
261
325
347
339
353
347
325
364
331
284
338
306
320
295
309
343
321
251
279
317
390
318
335
317
255
341
312
206
453
328
311
337
358
344
359
407
237
317
357
248
346
355
377
312
281
334
331
346
302
334
401
333
381
304
280
274
332
334
332
251
260
247
378
352
311
360
315
290
317
359
362
411
343
298
364
340
282
273
381
322
289
309
360
366
317
267
309
328
268
277
354
340
345
343
324
244
329
384
312
359
301
362
335
315
384
406
263
276
308
356
306
332
267
269
308
323
279
345
320
327
285
345
362
294
413
218
284
337
280
324
319
293
296
333
344
334
261
358
373
304
206
290
303
305
314
354
275
266
309
324
347
319
309
339
328
322
341
347
283
346
369
368
357
347
307
316
246
349
337
314
289
295
335
328
283
278
320
320
368
270
303
262
226
368
312
342
253
338
352
290
295
310
296
316
256
275
321
310
313
349
279
265
266
359
298
302
288
366
378
349
304
293
323
286
285
326
231
337
330
267
282
375
363
349
302
339
282
250
317
321
347
250
290
372
259
319
327
329
358
383
352
314
392
281
260
365
293
318
327
323
394
301
349
289
326
310
336
256
363
340
306
272
321
256
387
268
298
258
325
308
284
361
295
340
304
344
349
363
260
282
280
300
363
361
311
316
353
299
340
264
363
390
295
357
250
295
295
318
318
342
308
343
316
368
312
301
351
317
237
298
278
312
300
247
280
318
291
305
277
290
309
314
326
278
348
328
370
272
409
344
352
370
278
305
321
272
364
270
381
337
307
331
260
347
275
322
356
353
311
335
361
310
252
333
344
298
310
316
250
233
262
346
319
330
363
271
374
280
341
240
216
367
267
331
289
374
334
273
393
273
346
305
356
300
348
331
273
363
220
346
400
290
312
321
309
353
312
338
333
301
313
315
354
410
318
362
297
264
342
341
337
346
359
210
313
329
274
331
381
236
289
338
355
283
359
344
291
393
327
300
333
273
264
367
285
297
341
324
372
336
329
281
305
349
341
323
307
406
309
307
289
346
368
261
374
266
275
240
315
369
348
339
254
259
300
349
320
373
307
347
266
269
287
318
314
274
355
282
302
290
361
257
352
281
294
250
233
334
289
380
313
240
343
285
392
371
342
357
316
396
275
411
286
283
355
274
295
254
291
373
230
365
307
221
276
230
323
240
354
382
353
276
390
324
349
323
349
294
277
291
368
339
279
252
284
220
316
323
292
338
345
165
370
279
332
379
359
343
397
241
240
283
271
389
335
326
276
275
278
297
377
310
324
349
327
281
313
383
282
309
395
356
338
375
259
218
285
332
326
358
272
309
347
318
336
197
234
367
358
331
276
338
344
333
309
340
210
329
247
339
433
326
287
329
303
343
339
347
304
328
358
332
276
360
338
268
296
365
271
307
335
272
258
330
350
327
245
389
283
251
271
318
235
340
231
248
264
362
272
372
316
298
290
326
366
322
376
299
327
334
319
338
365
257
308
361
322
303
323
275
347
320
317
320
333
232
352
372
282
348
314
294
352
377
409
395
304
332
275
273
336
292
258
206
281
328
281
296
311
350
332
341
327
308
261
257
296
325
285
291
288
369
401
322
255
329
388
322
306
273
303
347
295
343
334
345
383
358
306
297
289
325
318
314
363
284
379
345
268
347
365
286
317
271
357
327
365
348
299
336
366
388
269
267
280
322
380
330
358
240
270
299
363
284
383
183
287
350
269
235
353
374
299
392
289
228
346
278
367
346
281
292
393
319
289
316
225
337
332
405
214
350
359
350
293
304
242
308
305
305
330
286
283
281
334
358
224
275
344
388
365
243
243
322
323
313
276
347
276
330
299
271
362
338
334
252
365
248
323
397
281
323
325
327
304
279
322
370
368
328
377
366
344
260
313
361
327
289
293
309
227
215
302
284
337
291
297
312
302
318
334
339
241
355
283
355
354
269
363
338
179
307
319
352
387
391
271
314
322
327
316
397
305
350
379
318
253
271
347
306
248
270
352
307
321
292
349
241
336
281
354
322
341
246
367
317
397
391
315
336
370
321
402
322
368
321
315
333
271
308
306
284
350
285
383
235
300
269
327
355
306
391
368
366
351
412
228
268
322
307
186
363
319
259
279
287
343
329
337
358
236
331
309
328
364
285
380
324
288
324
313
290
249
302
257
286
323
344
350
322
293
314
221
291
319
256
285
247
316
276
306
298
325
288
332
397
320
349
290
315
301
373
312
353
294
340
336
406
361
413
339
285
386
316
237
358
265
307
267
345
344
355
277
337
355
285
358
349
358
332
319
331
378
332
276
360
339
382
344
299
303
322
343
368
279
307
325
363
304
357
290
394
304
406
384
329
309
381
258
219
291
306
367
312
361
290
370
219
380
319
341
362
375
283
323
323
235
303
312
379
368
378
312
357
419
297
354
299
312
300
333
380
256
339
354
252
280
349
294
317
334
302
238
286
319
281
372
327
349
313
292
273
357
377
387
377
327
290
372
326
336
357
282
327
399
281
401
249
299
225
390
312
291
397
349
361
334
295
380
348
440
303
279
316
259
346
345
274
393
260
345
334
161
243
342
257
298
337
327
249
396
307
303
377
407
329
315
355
343
266
385
278
260
304
292
379
327
348
306
328
300
332
252
304
341
269
342
340
307
400
376
402
354
322
283
277
374
275
309
347
290
299
288
227
299
297
281
347
380
260
352
370
360
296
283
317
306
253
278
329
337
288
263
369
284
309
385
354
390
275
309
304
326
354
373
336
313
320
363
266
263
292
347
332
280
288
412
286
289
375
340
276
351
347
305
338
396
245
326
360
262
358
318
410
333
286
329
281
333
299
287
317
312
434
386
317
294
395
330
372
400
365
311
379
292
380
319
315
290
261
382
312
312
329
278
248
355
346
357
316
373
308
304
292
302
390
268
261
338
364
201
344
250
356
274
274
243
328
173
322
404
341
366
238
345
370
323
307
388
261
353
322
385
306
290
330
287
375
398
360
384
315
296
318
230
314
300
340
323
293
307
292
292
263
312
336
293
369
354
360
291
302
319
263
246
267
215
331
275
289
313
316
260
258
328
302
278
292
257
394
352
261
317
279
332
304
223
302
301
258
332
373
354
355
349
330
301
360
325
328
377
341
346
219
319
272
307
364
342
302
335
298
358
393
268
333
326
309
280
288
346
294
313
269
418
327
286
312
340
322
370
389
335
254
316
318
301
378
222
365
314
307
320
308
316
252
353
401
362
279
314
323
388
335
281
318
358
298
425
314
301
363
401
395
328
248
326
354
327
311
317
373
324
316
258
315
342
374
316
248
425
361
310
236
340
336
288
218
310
224
341
360
321
265
430
282
406
361
293
395
355
270
285
298
400
394
327
344
390
296
389
276
325
304
339
345
304
352
338
313
363
303
326
289
244
307
293
396
317
299
320
297
275
286
339
284
318
359
379
318
235
362
389
268
282
344
309
261
376
343
328
247
343
373
283
392
341
318
229
330
355
242
210
260
269
349
302
363
320
296
376
342
276
307
377
252
319
351
251
342
266
358
306
306
227
265
383
320
221
288
412
236
306
428
348
416
353
277
313
362
365
382
321
329
330
290
331
379
343
318
279
263
255
277
338
327
365
291
384
326
233
327
336
356
242
312
333
356
307
339
345
287
255
271
284
263
343
306
298
217
333
361
206
343
310
344
334
307
325
287
345
300
318
331
365
393
288
278
309
309
335
294
262
310
392
366
305
252
290
356
354
329
312
244
332
345
337
336
338
274
354
415
267
330
286
275
238
388
375
339
282
362
254
306
282
262
272
333
376
342
307
372
311
248
274
282
330
289
308
363
305
363
385
339
280
342
283
283
402
385
285
285
250
294
281
357
303
314
288
442
377
308
373
291
356
324
306
357
349
324
317
248
274
320
271
305
319
355
306
269
309
344
336
262
352
287
373
342
391
246
317
297
241
300
365
301
329
255
358
350
300
277
252
281
273
380
381
333
288
343
315
351
277
330
309
326
352
355
366
364
308
337
375
287
312
276
245
375
340
303
266
280
345
282
287
398
330
343
290
275
318
369
332
317
233
305
341
244
318
332
286
368
333
376
360
275
397
321
363
303
334
333
311
354
352
363
294
353
235
273
352
218
329
337
301
324
287
378
341
283
347
357
298
343
350
264
304
303
273
299
175
324
357
363
392
295
357
355
355
233
324
390
377
386
277
363
276
315
368
251
418
285
287
297
280
278
300
331
287
220
378
305
358
331
331
335
235
226
261
328
283
334
374
349
326
376
373
347
325
364
276
258
259
290
352
258
403
283
368
214
293
256
363
351
248
345
313
258
266
221
313
287
319
365
291
341
317
290
361
261
269
363
397
343
291
333
268
340
359
306
331
373
331
360
326
333
323
344
282
348
311
270
304
357
309
352
345
300
274
291
402
365
303
267
396
360
317
334
332
350
334
388
368
367
336
292
371
279
393
360
386
273
297
281
352
269
301
331
362
344
345
337
310
288
267
299
306
354
277
367
202
341
319
227
345
321
272
308
331
255
319
329
272
384
351
322
370
311
295
318
273
332
308
304
307
332
348
324
333
334
294
291
258
330
291
262
347
317
386
333
330
358
311
351
324
337
284
322
212
275
373
313
361
385
189
291
360
372
272
319
355
362
342
311
250
289
341
319
373
389
326
275
333
333
262
347
250
353
261
364
306
392
328
277
323
329
285
371
363
379
316
271
329
317
349
267
381
308
292
361
304
253
251
321
225
309
380
311
247
325
317
283
261
316
312
333
330
368
299
262
356
288
347
299
373
324
223
403
288
333
367
352
305
301
301
371
317
304
381
325
339
364
379
317
232
311
382
268
322
252
326
337
274
309
344
315
241
303
323
378
287
280
312
349
343
343
389
318
328
315
298
348
343
315
387
337
359
310
324
335
238
325
374
297
274
310
404
393
302
319
339
366
355
366
348
323
350
271
367
317
260
320
312
305
313
325
336
244
318
299
330
339
309
315
234
237
282
228
319
343
355
350
376
308
264
330
294
245
338
321
343
298
345
421
338
334
326
338
321
336
353
362
364
327
399
338
346
388
351
332
313
334
284
289
373
251
318
255
332
297
336
365
321
334
296
305
267
336
356
325
330
322
330
316
308
295
338
410
409
280
204
326
372
286
341
318
415
336
247
244
205
301
310
365
258
264
317
370
315
332
312
347
366
294
243
306
306
343
303
305
391
342
301
299
356
261
388
305
351
405
316
307
326
289
302
305
267
295
283
360
379
329
239
313
253
279
219
372
317
290
231
312
298
353
333
338
331
282
425
337
326
318
316
263
324
334
320
287
296
340
206
306
251
257
309
286
289
306
322
341
234
311
416
362
349
365
321
252
289
319
386
322
339
331
261
327
277
336
282
361
324
363
265
309
303
387
301
273
393
262
362
265
286
353
288
360
354
363
388
299
409
289
238
342
345
333
266
259
264
299
355
274
333
328
271
341
243
313
366
360
344
341
277
340
315
346
261
330
339
355
271
228
327
305
354
368
286
337
319
379
337
244
262
366
278
288
317
386
252
357
368
368
369
398
316
354
359
354
290
378
227
336
293
287
366
328
312
365
378
358
270
378
285
284
321
313
318
312
260
231
377
304
385
393
356
301
303
344
259
320
354
278
333
345
313
395
278
340
322
366
273
361
395
331
341
298
334
292
319
328
298
258
340
295
349
292
287
208
307
378
373
303
349
297
346
263
297
287
326
272
329
389
340
313
377
261
368
332
342
308
300
335
332
273
293
267
363
303
338
366
316
248
360
277
278
340
259
269
357
304
341
292
207
272
299
351
292
349
281
314
402
317
317
357
318
266
234
256
273
345
357
220
403
414
274
230
343
309
402
405
291
328
331
343
347
338
334
327
339
295
295
312
408
322
366
350
236
314
355
311
315
302
323
277
352
314
392
297
298
354
334
397
340
313
364
374
334
343
318
248
372
415
405
289
322
405
347
273
278
370
243
304
342
217
287
321
339
349
359
353
373
328
340
345
334
314
324
285
320
356
392
312
290
300
323
360
274
337
308
313
295
286
308
318
375
371
261
366
336
280
237
345
301
306
346
302
329
336
332
299
354
299
280
230
342
368
272
371
406
309
288
343
271
308
340
282
322
369
223
298
382
389
341
276
343
297
353
251
379
374
363
335
274
255
307
310
314
261
347
304
386
291
245
382
338
269
330
334
362
359
302
303
310
369
375
203
349
283
360
311
329
331
261
311
326
315
337
423
366
322
333
327
333
370
281
252
349
343
375
306
293
228
272
251
370
221
289
250
305
310
389
323
337
353
342
233
359
319
351
332
195
333
250
364
327
251
299
334
278
278
286
361
387
179
321
305
303
264
267
378
374
362
375
306
315
235
297
353
324
328
351
321
399
243
343
428
286
276
295
310
292
307
301
344
312
342
302
327
384
338
294
327
307
335
282
329
392
330
294
350
225
376
324
303
253
343
327
292
357
206
304
359
266
309
357
304
268
370
308
272
390
336
331
326
307
254
463
292
325
453
308
356
265
334
308
288
336
298
266
337
398
252
289
369
287
384
270
288
345
320
350
270
260
343
299
285
344
299
219
214
332
353
324
307
255
189
292
299
306
321
316
295
249
281
319
346
399
386
289
251
338
304
357
305
327
291
308
305
395
336
224
293
262
298
302
367
276
388
277
313
397
289
376
371
345
239
309
344
243
353
358
260
330
354
398
292
331
372
342
307
409
325
381
328
291
328
238
224
335
370
296
269
293
348
318
319
321
337
259
294
383
342
277
354
380
280
264
368
389
277
272
376
329
333
384
340
393
298
315
361
411
352
212
269
299
328
402
325
263
223
309
265
293
289
276
331
368
289
389
310
340
301
247
370
338
390
352
327
307
381
309
264
317
293
382
306
357
338
289
351
246
353
331
372
307
295
412
295
298
360
250
276
311
315
348
347
338
313
239
316
372
324
358
303
397
291
344
299
396
258
331
374
410
336
314
295
293
320
304
363
313
336
360
260
335
377
260
285
355
363
225
382
320
321
385
294
337
272
312
342
354
328
378
328
240
298
275
325
279
323
266
328
324
284
212
266
378
295
325
343
269
295
328
282
350
386
320
308
303
269
364
320
336
281
285
220
376
329
296
301
313
344
319
310
314
291
361
324
330
275
341
301
249
271
345
275
260
335
357
391
173
350
315
327
315
282
329
406
340
301
303
368
376
389
373
328
338
310
374
283
404
264
326
381
350
352
317
309
317
400
410
346
330
251
363
292
329
303
317
336
425
255
313
372
319
304
311
262
234
341
301
302
318
284
318
350
324
343
292
243
406
280
347
327
274
296
267
355
383
222
321
237
333
269
330
291
235
366
340
344
248
278
287
339
244
313
303
349
275
268
328
414
277
273
362
309
286
326
243
323
339
335
293
318
330
276
247
277
302
353
289
302
280
247
310
317
195
367
340
346
249
285
374
319
398
344
355
342
322
376
333
335
240
337
304
258
332
336
309
299
409
356
388
218
374
370
273
343
312
298
362
340
366
350
322
289
300
337
372
293
269
339
301
385
335
337
328
247
332
338
381
325
319
361
302
381
368
312
333
338
349
264
328
344
324
310
356
313
336
269
283
330
359
255
352
339
308
324
375
289
356
340
253
280
369
360
347
311
285
336
306
280
371
291
211
419
333
241
301
316
302
254
272
293
283
418
308
309
335
296
309
344
327
370
337
320
346
299
352
327
283
367
290
312
312
250
294
378
384
329
369
359
333
333
286
280
335
308
267
282
363
325
303
362
315
345
306
273
258
284
315
282
317
288
303
303
340
340
269
294
296
318
361
281
321
293
266
287
250
296
347
279
281
268
297
319
262
368
362
362
313
336
422
244
369
335
270
307
249
241
252
271
343
287
291
280
220
347
310
293
307
354
306
242
347
372
275
370
271
291
327
360
289
377
299
310
336
325
348
409
293
255
287
272
296
347
309
356
240
242
290
364
277
338
284
256
282
353
350
309
323
313
327
305
307
446
373
317
382
281
253
223
330
252
329
285
341
321
359
301
421
321
213
321
306
297
370
339
284
223
264
302
387
380
280
312
412
316
302
308
342
389
351
365
356
306
355
357
310
323
336
353
321
289
315
311
317
337
289
275
306
345
363
328
338
277
317
340
245
334
345
260
305
371
183
339
283
317
270
292
261
355
317
285
333
342
352
331
246
383
296
222
242
369
351
258
280
307
366
320
250
270
259
374
304
313
362
297
304
338
286
397
302
340
281
330
356
328
321
386
364
293
307
309
312
264
279
326
364
311
338
328
304
269
317
418
285
307
204
340
307
301
309
285
349
297
356
299
318
394
319
319
358
335
295
311
328
295
308
318
281
307
300
299
318
248
259
296
444
294
267
377
300
338
297
328
354
283
353
372
397
319
315
330
273
282
394
274
315
344
318
283
243
320
341
337
259
308
272
278
387
343
311
274
275
326
372
348
295
286
269
288
352
310
325
315
319
136
260
332
296
335
278
317
305
318
329
285
278
294
236
221
323
268
233
370
344
315
248
287
313
298
288
272
388
304
367
343
380
329
404
384
443
249
271
313
291
320
288
328
350
312
289
252
333
380
388
177
394
235
272
342
303
380
284
373
261
295
238
362
340
320
191
345
290
332
343
253
277
348
245
308
295
286
324
301
318
358
300
302
350
370
276
323
213
244
134
254
342
374
240
287
225
323
346
291
361
293
303
301
302
430
302
323
262
386
391
402
239
315
356
362
329
267
399
295
360
277
341
299
314
416
382
291
315
346
251
328
286
314
304
342
367
318
354
244
226
305
339
332
299
320
301
307
208
319
332
285
340
317
368
429
336
331
257
312
340
278
365
276
349
350
275
312
172
315
299
349
210
309
337
379
246
291
261
378
382
367
307
244
273
276
299
304
232
290
333
350
333
321
365
340
397
269
308
393
351
284
367
357
334
330
409
327
218
284
290
298
281
313
297
354
297
266
305
293
330
312
349
289
334
368
407
283
327
288
307
301
372
282
346
328
398
357
348
311
204
281
344
279
271
387
337
313
370
324
324
347
385
279
271
257
278
374
310
359
252
308
243
261
309
396
336
329
298
314
283
326
312
315
305
300
255
333
362
291
283
343
279
275
289
306
231
280
307
371
351
391
253
350
356
316
319
323
320
364
371
327
323
220
297
314
311
284
268
353
363
268
231
330
338
403
305
278
270
360
343
353
300
315
311
349
287
364
313
339
331
244
318
330
301
332
312
359
277
252
296
262
387
384
336
304
380
325
229
336
369
289
235
330
304
278
242
295
411
290
332
320
276
321
268
351
261
219
353
324
351
286
264
348
384
327
401
348
319
326
343
348
363
353
297
339
330
292
334
288
261
274
362
358
340
272
277
310
315
362
354
342
306
356
319
353
240
279
385
345
269
302
237
312
385
320
295
306
329
234
318
273
286
374
361
332
372
279
270
340
408
377
339
381
283
259
349
270
315
331
303
255
326
294
277
327
296
270
328
278
280
377
218
339
389
341
327
336
324
224
240
350
325
316
319
180
320
261
330
344
353
198
311
404
288
384
306
395
361
395
290
199
289
355
265
296
258
322
314
219
245
250
302
304
324
315
281
264
253
299
417
267
274
341
188
300
280
357
274
289
255
347
328
256
349
315
332
200
358
274
263
216
354
224
315
342
276
302
349
310
277
279
292
298
299
324
292
326
291
193
377
358
334
306
343
354
223
359
247
345
322
391
303
292
308
319
315
306
407
301
260
304
331
277
352
280
325
415
273
297
208
329
310
340
343
366
317
348
259
254
366
347
312
268
229
350
329
347
322
252
312
316
322
363
345
297
386
336
337
258
266
263
370
271
341
316
263
387
348
318
259
312
378
313
307
295
315
390
331
309
278
354
306
354
386
346
323
382
279
287
344
346
336
362
414
333
263
344
318
386
388
282
344
254
314
347
315
330
229
265
261
251
340
321
284
254
313
353
355
299
317
295
334
329
361
302
340
297
299
321
265
286
296
318
366
301
279
315
325
390
256
213
356
325
308
390
389
311
358
406
335
331
356
374
301
303
318
370
312
320
324
318
204
316
275
308
337
404
386
300
333
281
295
313
344
280
381
330
273
287
377
362
314
338
322
315
354
302
374
297
337
359
236
311
340
272
331
409
310
344
326
301
236
315
238
292
349
323
336
352
343
302
344
349
342
373
200
293
376
295
277
337
313
275
341
365
344
339
348
355
339
276
275
297
239
290
283
300
291
344
326
329
267
293
306
231
354
309
207
345
152
305
352
341
362
354
274
352
353
271
329
339
327
372
268
339
398
348
290
329
304
312
318
372
412
363
351
317
309
360
299
414
304
368
317
339
328
364
314
342
294
398
313
296
372
251
285
380
335
306
355
377
414
330
307
366
318
378
326
265
334
308
262
375
362
281
325
357
259
295
345
246
340
320
329
314
281
325
257
258
392
315
284
296
309
320
347
292
335
363
324
363
352
345
352
377
250
247
269
326
305
304
317
307
324
311
408
322
264
358
282
253
245
266
246
300
331
268
302
246
259
362
277
350
286
325
394
233
331
299
337
337
327
344
280
372
337
318
278
428
369
340
219
305
270
285
336
317
346
343
259
219
256
325
306
274
369
326
387
266
249
247
342
295
334
329
337
316
341
304
325
255
383
333
363
346
353
264
243
361
269
288
331
348
312
354
309
243
311
317
295
371
322
289
338
307
285
360
361
347
263
342
292
353
309
352
331
351
316
297
334
290
285
326
336
293
327
321
282
370
297
287
334
308
276
303
309
339
382
366
288
227
283
388
393
324
325
359
337
411
348
391
193
296
354
216
275
354
293
315
276
304
366
332
383
382
265
286
405
315
271
294
313
292
319
370
297
358
267
305
270
316
299
358
311
308
317
290
236
363
263
321
320
302
357
319
339
290
315
291
325
337
341
285
297
335
305
339
350
317
353
266
356
239
315
289
258
309
342
364
308
352
274
264
267
377
360
365
434
255
284
328
311
339
274
318
299
310
301
306
324
342
311
340
327
325
300
281
299
402
301
331
290
336
359
245
311
371
326
356
318
314
376
322
316
254
246
273
362
316
305
388
251
361
257
338
301
368
313
268
401
272
251
307
312
312
306
323
349
345
252
311
317
320
345
331
275
351
342
313
300
229
313
313
274
305
260
255
353
258
324
366
329
270
289
342
328
389
218
390
333
297
299
320
338
257
227
273
313
285
361
317
350
302
352
351
379
359
290
393
299
311
299
363
274
332
334
343
267
300
287
343
329
342
283
366
393
304
328
334
330
281
291
351
293
349
315
307
293
400
380
343
375
407
303
351
339
345
226
350
337
393
305
287
283
284
362
331
260
300
390
298
295
284
367
296
249
315
363
205
211
283
305
270
324
209
301
320
274
363
329
267
284
305
301
293
361
370
365
337
388
373
399
334
380
248
288
281
344
241
306
271
319
323
316
327
270
293
323
283
390
305
347
355
291
373
362
254
326
288
368
356
334
286
324
335
229
243
341
363
303
326
337
356
342
334
333
251
281
270
325
358
285
255
324
310
371
299
258
317
347
303
336
305
325
264
377
362
269
361
373
301
215
315
310
340
327
367
262
281
260
354
400
310
388
311
301
262
313
307
339
326
264
358
341
337
370
338
296
325
285
322
207
280
349
275
285
415
258
321
347
340
280
281
303
321
308
316
362
330
298
320
327
357
271
237
204
357
302
318
338
249
348
355
334
314
348
212
334
341
331
378
245
381
364
374
291
260
355
366
377
301
263
361
324
345
309
268
338
315
293
354
348
230
374
226
308
275
279
321
279
274
342
270
271
343
325
285
335
350
266
213
329
357
396
269
228
324
332
323
223
280
324
339
324
298
360
229
333
259
342
405
306
292
248
273
332
307
286
382
320
331
239
334
315
390
386
322
293
276
369
285
349
363
288
336
308
301
383
281
307
385
268
376
314
334
324
328
282
320
333
334
309
315
218
317
294
306
331
319
289
290
326
226
265
401
337
439
346
325
297
294
303
284
309
329
378
333
341
231
283
316
317
287
208
264
261
334
391
324
312
360
243
387
325
353
352
399
309
362
327
374
329
302
359
309
330
301
336
261
401
350
333
402
253
202
290
260
283
308
270
329
339
340
293
306
312
291
294
376
273
336
395
339
341
264
267
364
332
289
278
301
309
342
401
414
360
367
228
369
294
314
354
384
358
292
301
400
351
355
267
299
427
300
372
280
342
347
297
402
344
316
337
291
358
265
308
282
353
273
377
308
367
306
285
318
312
341
386
349
332
300
304
314
266
342
281
282
295
283
315
283
270
242
316
301
252
251
366
288
397
378
288
375
282
210
318
351
363
272
308
325
255
385
370
385
325
325
358
242
387
241
265
281
291
292
379
364
374
374
264
375
316
374
262
334
320
296
361
291
314
310
381
386
327
371
379
322
323
377
277
330
289
362
292
334
299
369
313
314
307
332
303
286
355
361
257
312
385
260
388
372
279
307
322
328
254
277
280
299
269
297
334
344
325
297
298
335
309
337
300
396
306
292
353
360
284
219
375
286
291
339
339
296
318
345
347
376
286
252
320
302
326
240
324
336
360
341
263
403
313
342
373
360
338
240
330
314
281
337
327
248
245
289
250
285
287
350
345
330
337
241
253
295
257
319
305
420
374
292
396
364
354
299
352
256
378
248
329
328
309
330
313
291
314
277
354
337
300
276
314
304
311
390
338
274
403
337
364
255
365
340
299
326
267
332
337
350
255
284
382
340
381
340
293
338
298
387
325
307
242
351
312
292
321
350
317
388
331
309
325
330
368
310
365
345
252
261
305
252
284
334
382
240
269
270
326
351
391
273
242
248
228
271
344
369
303
321
329
314
321
355
279
341
271
275
314
303
234
269
338
355
301
361
298
315
307
241
358
323
301
240
394
319
426
295
330
299
324
234
278
298
306
222
321
369
318
288
340
280
316
269
298
295
326
282
318
274
332
381
361
317
244
292
333
300
325
261
371
357
284
358
320
267
388
296
329
356
345
300
369
289
383
342
291
340
319
320
360
419
362
251
322
354
281
251
271
328
308
282
214
202
300
323
238
338
348
285
302
218
360
275
266
305
240
332
318
359
317
212
377
337
337
321
352
298
343
379
227
371
331
332
300
343
345
277
357
254
304
341
295
391
286
367
352
303
311
181
312
333
264
283
259
388
251
334
395
356
325
317
306
335
301
312
294
346
347
255
334
375
214
272
186
318
334
245
297
387
343
396
373
321
312
379
332
345
344
374
240
321
277
382
248
325
300
288
421
273
286
216
317
251
306
235
362
282
431
322
297
312
329
353
308
369
313
350
327
244
355
289
351
305
341
229
348
349
345
351
294
301
275
357
279
336
346
259
311
352
373
270
412
406
348
300
366
253
349
275
282
291
290
337
211
285
358
316
379
351
336
280
309
317
327
340
312
306
349
292
341
403
265
340
335
300
338
348
323
328
424
440
331
384
311
228
266
291
286
353
250
326
316
286
237
381
314
349
297
243
255
301
281
295
333
411
317
267
270
313
279
282
287
340
294
244
374
317
261
353
283
341
306
282
292
292
297
292
315
384
350
334
299
325
279
300
290
357
325
291
271
379
291
298
266
313
362
193
262
275
358
238
294
305
354
281
299
296
255
367
361
307
369
274
405
310
317
334
311
238
302
295
323
280
260
373
345
330
284
362
329
291
392
285
313
297
291
359
277
271
308
409
333
305
268
364
354
352
345
313
360
391
325
338
329
325
341
271
332
310
369
348
298
370
334
301
252
321
195
353
355
345
203
322
331
336
354
281
317
269
315
357
305
374
358
339
398
316
406
332
412
323
316
312
340
305
364
214
292
313
334
353
342
274
272
310
319
372
417
219
329
300
301
341
327
288
357
310
307
321
304
328
303
293
298
301
383
272
285
271
318
294
258
339
353
320
341
343
293
308
247
286
205
269
344
345
327
336
301
379
350
323
382
274
321
317
305
296
272
334
303
281
340
406
343
387
254
309
288
363
298
316
290
351
230
329
229
362
260
275
279
317
305
377
351
333
332
302
308
319
338
240
290
278
410
273
328
326
259
385
270
231
250
309
325
224
330
334
359
366
355
387
266
344
332
354
268
322
292
307
280
269
391
330
320
315
345
361
320
343
232
332
308
325
337
269
319
302
284
355
324
309
302
273
328
349
317
347
263
332
377
309
352
374
329
316
252
270
352
379
372
314
322
270
253
280
320
227
312
201
278
383
375
270
249
314
311
309
234
384
353
353
363
339
361
290
335
385
385
306
327
379
283
426
369
316
308
287
288
284
310
370
279
313
377
293
275
292
296
377
341
330
283
329
274
270
397
276
232
290
303
414
397
306
310
364
341
324
341
336
223
307
315
365
377
219
366
297
364
236
307
373
397
336
334
301
374
328
371
396
387
347
403
370
387
312
364
310
328
329
364
289
350
347
321
301
273
290
327
304
235
339
324
354
346
341
322
401
268
301
305
310
250
290
291
308
301
396
314
313
282
296
372
298
307
384
358
301
250
217
363
303
387
239
356
343
272
312
366
306
243
335
308
398
358
298
329
370
345
310
320
304
385
337
333
174
359
371
306
328
328
349
299
312
326
233
326
258
386
307
371
256
315
331
325
312
279
273
197
293
335
348
378
371
297
311
300
387
319
332
370
341
369
308
426
305
360
273
325
372
277
244
383
251
250
352
287
252
315
267
338
275
317
293
403
290
321
297
246
380
323
343
331
338
329
324
357
279
284
346
320
300
296
300
304
306
267
318
412
354
333
286
254
309
231
249
319
291
318
295
318
212
346
288
349
316
364
257
393
362
289
359
166
255
337
316
274
396
303
353
324
249
332
404
372
326
330
278
321
324
312
330
299
319
307
270
325
357
364
317
347
253
280
241
302
305
343
356
281
322
275
395
422
284
255
378
187
272
445
335
280
320
279
284
307
378
299
327
297
334
370
289
291
429
345
332
261
347
350
307
312
227
365
313
301
349
331
362
364
366
411
337
353
330
333
279
213
296
362
277
317
318
261
304
361
316
351
295
280
360
315
324
281
282
285
293
334
345
292
315
317
259
284
374
328
305
320
363
308
333
338
366
311
364
298
427
330
340
269
350
250
320
301
340
307
303
372
368
301
219
339
215
340
372
311
340
313
384
376
339
332
324
377
299
277
265
265
313
337
279
288
303
288
307
375
202
306
334
335
259
371
316
329
242
345
300
275
222
363
358
295
324
359
283
297
302
257
220
238
280
279
264
298
269
365
292
413
374
266
320
353
335
271
363
319
359
279
322
291
316
378
352
342
382
311
291
291
424
322
258
255
267
291
385
367
302
230
312
312
407
271
367
347
332
357
297
320
246
354
355
374
364
308
360
364
262
334
337
327
249
374
417
274
313
382
334
305
270
236
235
251
291
268
405
256
348
342
421
384
331
337
234
306
296
318
279
314
347
276
394
231
319
310
412
279
301
271
355
281
335
390
387
270
367
330
343
342
378
359
336
319
299
332
334
324
300
341
361
275
330
400
266
372
363
395
298
300
342
382
352
342
208
349
283
217
327
273
240
260
353
368
356
375
278
324
345
291
289
290
300
282
303
366
343
290
362
302
344
304
281
447
279
357
268
308
346
293
280
301
286
356
351
348
288
364
321
314
260
240
229
291
296
321
315
356
422
309
324
275
340
270
244
298
324
240
284
373
275
314
298
434
368
348
327
297
281
312
280
325
314
283
349
398
289
346
352
332
342
321
338
303
356
365
309
328
312
237
310
315
324
270
373
272
403
333
371
324
300
363
279
274
235
366
326
317
316
384
355
410
327
315
321
289
331
307
272
266
357
321
327
311
281
329
294
288
355
276
317
326
327
317
216
377
393
344
372
282
318
247
361
291
354
292
316
363
333
404
283
271
284
292
323
287
285
307
231
329
243
364
344
291
325
279
223
256
303
257
322
302
320
396
356
321
288
283
350
340
372
273
330
377
362
314
376
190
281
390
358
345
312
266
320
373
235
336
353
384
189
294
382
203
322
325
296
308
356
403
299
389
363
297
340
222
329
336
308
310
277
187
274
295
366
378
384
345
321
220
302
331
363
265
320
306
298
410
166
326
292
337
322
305
331
351
384
287
319
363
291
463
286
277
273
393
237
298
289
301
284
396
268
254
278
245
293
386
331
316
309
404
336
322
321
283
290
326
286
390
252
336
257
241
358
295
324
377
291
309
290
392
279
289
319
301
337
335
381
314
245
341
194
296
223
349
327
308
373
246
326
359
284
367
321
349
302
354
338
304
304
424
299
287
341
312
304
220
387
303
263
379
289
243
410
310
357
279
336
308
357
335
326
339
277
340
328
302
345
318
331
286
311
285
285
245
335
293
359
319
280
361
410
332
329
339
316
343
368
229
337
327
249
277
278
353
329
290
374
343
341
269
338
342
365
350
223
371
342
304
336
360
391
308
261
275
348
334
303
296
413
297
308
354
364
273
306
361
294
313
296
323
300
304
259
267
331
325
311
361
288
322
369
307
345
251
362
326
309
303
302
367
338
351
271
357
273
286
369
282
327
192
329
372
375
278
372
432
346
399
244
322
303
260
237
226
260
277
324
364
307
353
324
303
394
281
410
323
346
280
316
353
316
308
317
283
302
335
303
338
290
289
332
283
281
275
360
308
337
334
320
389
300
416
385
353
289
371
378
294
300
255
322
325
332
308
312
388
342
320
227
275
281
360
373
284
254
328
403
261
309
294
294
317
372
330
368
346
384
397
308
292
314
318
259
292
369
279
265
271
291
340
335
244
334
307
325
257
263
336
370
348
330
299
420
268
366
358
269
310
299
356
322
301
354
293
316
324
317
303
357
355
427
344
346
271
296
357
379
368
301
345
311
309
319
329
334
322
327
261
371
278
356
371
390
301
330
329
369
352
352
367
339
296
336
337
349
312
405
294
290
287
334
321
260
267
362
321
366
321
291
285
327
353
327
312
316
307
295
359
321
365
283
288
278
366
308
320
354
301
260
330
349
276
379
356
258
276
302
299
380
343
295
296
307
329
300
321
280
369
353
411
280
264
326
411
359
364
306
304
279
293
265
298
320
314
261
318
308
240
329
319
419
315
338
359
411
277
352
344
327
276
279
323
361
257
328
347
332
305
326
341
283
331
348
329
318
306
278
360
309
291
311
321
306
417
300
367
274
238
378
284
328
281
347
320
350
347
335
343
334
286
381
336
390
332
327
345
295
349
312
344
390
373
353
332
250
328
317
339
286
273
267
426
262
332
310
341
334
385
332
348
299
304
331
318
307
383
279
278
292
380
331
316
299
363
284
290
292
260
283
359
333
287
296
322
340
335
378
400
264
321
353
289
306
322
294
340
345
347
295
313
302
277
281
388
293
308
359
281
284
307
293
245
302
320
402
316
335
310
372
248
277
226
352
398
306
342
366
384
327
273
261
367
324
298
315
297
310
288
280
296
344
349
265
238
292
368
256
355
218
311
284
272
383
318
337
278
388
317
303
291
344
272
261
285
302
369
274
355
344
322
245
318
315
329
356
308
343
287
290
245
395
390
255
344
287
325
339
300
351
281
297
299
317
319
361
351
247
320
339
235
346
288
273
306
333
345
369
297
316
274
284
228
419
323
348
288
375
283
241
270
347
392
295
318
370
310
265
379
239
331
229
349
369
359
355
323
347
368
265
372
352
336
249
358
328
297
282
400
321
351
288
253
345
193
322
358
399
220
319
325
330
280
332
323
367
305
394
326
321
190
272
371
358
327
274
384
339
294
358
286
313
357
293
308
349
330
219
373
397
297
374
314
326
391
254
298
322
308
387
353
330
255
277
269
309
270
315
428
371
316
335
234
364
341
406
367
334
308
379
280
304
311
285
354
339
374
283
410
274
290
279
275
350
306
250
423
317
368
326
334
318
326
225
373
318
313
262
344
328
303
341
321
291
340
241
250
309
272
325
277
290
332
328
333
344
429
317
256
335
330
355
378
246
311
308
357
293
318
289
308
365
381
303
336
259
307
336
415
329
270
271
328
256
339
266
336
245
284
364
381
321
282
323
319
232
348
323
344
286
245
363
287
335
321
311
357
281
364
322
332
380
351
306
352
198
294
342
271
347
352
276
341
302
371
298
362
354
319
329
343
400
342
385
416
320
374
252
303
354
359
312
296
338
284
260
369
277
352
284
375
298
312
270
368
301
340
295
287
251
287
303
278
314
356
391
362
316
327
354
302
317
329
232
276
315
249
345
285
331
274
373
361
336
383
284
257
245
293
265
200
355
374
336
353
329
216
262
310
364
358
311
345
325
334
334
308
341
298
307
275
370
327
248
244
254
370
319
340
286
380
247
321
273
319
292
351
373
360
357
289
267
332
348
359
359
349
277
285
322
327
235
325
326
332
418
331
252
286
393
306
304
307
301
363
334
311
314
333
304
340
306
209
324
284
392
305
329
328
320
314
364
276
329
309
310
349
341
298
232
321
260
339
209
313
369
349
279
403
266
330
301
344
366
334
298
277
295
410
284
272
324
244
337
271
351
335
294
287
251
295
251
264
326
372
347
296
287
326
361
260
342
300
320
338
323
362
310
360
290
363
271
304
298
320
361
365
350
313
322
325
255
322
301
310
316
316
344
304
388
314
427
406
307
380
337
336
265
355
309
297
330
305
291
257
290
319
362
402
303
314
308
272
338
321
346
285
359
295
360
318
315
335
327
266
359
371
281
363
274
252
294
218
277
347
426
395
351
295
333
248
221
287
260
321
344
361
391
260
247
299
237
297
297
342
354
381
348
345
287
338
356
398
368
378
279
313
314
374
272
278
320
275
259
356
288
214
349
264
334
322
288
314
323
313
325
366
334
352
328
388
310
250
359
294
344
274
315
287
280
347
316
280
341
260
359
305
403
350
304
321
284
316
330
313
341
290
379
364
337
274
334
309
284
349
378
305
382
333
296
357
363
259
287
298
345
358
273
405
319
323
251
261
282
351
254
305
353
297
352
334
250
264
376
336
372
291
301
295
324
309
289
325
279
260
333
359
376
349
391
359
295
335
259
373
363
300
306
308
328
352
362
313
350
400
254
276
367
189
280
323
301
357
289
314
272
338
264
295
305
340
326
351
337
329
274
233
220
243
347
310
369
328
432
416
373
302
354
364
326
301
322
311
328
316
305
252
313
304
324
318
321
345
302
340
290
203
235
307
334
337
206
297
332
390
256
336
280
332
290
333
277
331
269
301
262
401
349
275
292
333
326
292
352
353
276
416
326
376
311
340
375
289
367
336
327
418
396
280
311
321
315
250
303
232
343
355
244
366
383
325
344
357
329
360
311
283
204
335
379
410
301
342
409
375
324
306
252
283
288
430
269
287
250
313
271
310
276
348
287
324
276
341
264
258
307
415
318
296
346
314
328
329
326
219
356
352
267
339
269
358
346
322
379
339
338
254
342
288
350
290
317
329
345
278
353
366
287
348
316
352
295
323
337
298
223
324
313
346
332
353
307
393
321
301
324
348
275
291
318
367
282
284
351
417
252
387
299
338
368
332
372
373
340
261
231
284
238
307
311
310
328
352
316
182
276
335
277
321
229
340
322
344
309
315
318
294
320
377
348
291
217
271
284
409
352
195
337
389
322
364
298
256
334
319
210
324
333
390
349
353
350
341
419
344
275
273
322
294
269
297
349
193
274
350
286
372
325
398
263
334
299
410
326
371
417
305
268
307
334
355
413
372
342
291
366
363
376
348
301
289
330
286
380
303
338
282
358
346
314
325
233
329
305
363
223
343
269
296
327
315
345
290
329
323
403
282
369
293
305
296
320
356
325
317
333
303
319
355
326
344
367
359
260
258
315
388
398
382
357
332
279
362
317
283
285
407
285
275
281
324
356
242
336
284
300
262
341
291
367
398
268
363
315
288
270
369
354
339
383
282
304
321
339
229
342
333
334
288
257
297
404
331
387
379
304
292
313
295
297
336
339
343
240
344
384
358
329
292
352
298
361
325
289
383
302
330
284
247
322
455
351
343
298
368
285
303
288
327
385
282
284
319
266
349
304
373
403
325
370
302
397
232
327
282
392
374
339
269
283
308
322
386
371
353
382
269
251
264
315
237
228
385
432
345
265
298
253
354
304
277
379
291
327
302
394
313
310
346
236
400
330
291
321
279
281
414
286
293
337
282
259
302
267
344
336
307
346
228
357
282
266
312
335
327
323
273
318
338
335
356
307
343
277
321
311
330
271
306
333
283
304
362
340
301
261
338
296
348
284
288
324
406
377
304
331
279
379
376
269
416
274
311
343
313
342
321
245
263
343
269
385
271
301
305
360
338
321
388
373
345
365
341
363
340
357
270
337
272
329
274
391
303
342
305
262
349
319
332
372
282
316
327
348
287
274
436
342
286
299
325
297
223
235
324
271
232
237
313
394
360
326
369
313
281
404
332
344
361
311
341
337
298
217
318
297
343
310
348
323
317
369
228
371
314
416
270
208
402
336
373
350
258
282
295
320
321
318
264
381
391
345
311
301
319
328
228
242
233
346
318
343
313
293
257
352
261
346
298
294
227
345
284
342
411
326
319
399
349
385
288
312
334
251
256
342
301
287
236
345
320
353
290
344
259
372
357
363
412
270
274
341
358
282
305
218
284
341
324
263
309
259
333
346
287
353
246
312
361
303
313
339
288
338
267
326
266
354
241
348
283
307
360
243
310
359
342
373
356
384
313
309
367
311
370
288
277
361
327
258
302
391
344
313
301
333
345
217
285
243
323
358
284
283
284
355
330
347
270
282
356
338
359
302
336
237
303
259
345
302
384
288
271
334
357
346
260
294
315
281
396
349
272
338
276
282
256
366
347
403
348
362
334
247
269
389
316
310
273
399
263
352
313
302
291
302
216
317
236
253
336
293
390
290
274
328
254
312
330
253
365
391
343
381
297
359
324
310
310
288
305
383
368
322
339
369
288
288
190
381
275
355
353
364
243
357
355
288
321
362
325
354
342
339
341
374
361
299
343
343
324
327
333
365
333
373
321
253
324
333
361
258
409
394
298
397
343
303
358
391
160
288
338
404
241
370
332
280
218
373
308
368
273
362
260
313
342
270
322
262
313
319
309
301
350
390
379
275
330
297
265
275
373
334
342
410
301
323
351
299
296
278
363
301
245
267
228
381
306
294
293
410
352
396
353
332
272
362
268
313
249
302
362
313
286
297
333
313
303
352
248
307
352
381
301
358
366
331
344
297
314
368
356
302
285
389
312
295
331
363
333
253
264
312
365
385
351
341
364
254
283
350
283
321
319
318
361
343
322
319
405
318
338
308
275
321
266
345
371
324
316
372
380
339
379
415
311
258
352
311
282
281
386
328
315
363
385
316
358
276
355
388
291
190
347
396
281
325
294
316
379
408
348
293
332
308
359
304
378
299
393
307
313
316
320
330
291
303
276
259
323
371
348
380
358
339
275
271
314
370
328
294
365
240
308
239
340
338
332
290
346
210
375
284
339
262
380
281
356
244
250
328
305
390
352
234
357
281
346
408
321
274
298
306
344
304
247
385
286
309
282
328
327
345
286
337
304
308
303
341
415
338
265
331
240
395
288
353
331
341
344
418
292
359
327
391
283
348
375
270
359
319
320
375
367
265
378
387
273
272
350
293
341
306
320
252
333
313
234
296
323
317
364
297
270
290
254
368
296
366
212
360
285
358
235
295
222
338
324
330
316
332
316
218
222
238
309
326
237
280
320
311
356
251
388
313
277
340
285
313
296
299
298
414
239
364
315
311
267
279
308
316
367
406
316
257
307
307
320
341
283
373
273
323
273
266
312
272
349
305
361
230
372
354
258
272
316
288
357
306
261
299
351
316
269
239
392
312
272
305
376
317
315
306
279
315
277
364
342
308
289
253
328
311
241
264
279
270
314
318
223
338
338
376
279
361
268
292
275
395
353
300
285
319
252
338
312
380
313
331
357
259
258
317
322
246
335
288
260
308
314
342
276
259
340
212
335
278
348
306
316
270
370
353
209
307
334
336
334
242
229
345
234
253
303
279
374
379
355
316
285
337
390
274
363
299
342
403
353
277
304
334
293
249
336
245
293
323
340
303
336
356
321
253
366
337
322
294
345
348
323
256
392
376
358
271
218
297
303
263
366
289
329
279
353
298
307
370
272
244
379
325
356
350
234
327
323
353
262
318
277
316
218
333
265
343
325
343
265
310
341
348
335
270
347
302
289
350
268
223
269
361
280
263
327
316
281
317
324
272
319
286
405
256
329
299
287
280
298
259
376
361
388
283
341
361
293
321
354
360
337
331
367
293
361
252
248
326
243
314
282
268
330
259
353
295
339
269
250
239
376
357
320
299
321
313
401
298
294
348
345
389
409
267
363
312
334
342
377
314
275
313
308
216
304
308
330
346
394
368
246
368
423
314
359
290
317
327
357
350
412
368
342
302
298
334
328
394
241
287
307
333
316
349
341
438
245
366
325
324
255
278
240
221
311
288
349
318
339
352
400
375
308
414
339
367
354
332
375
316
320
286
342
323
288
405
344
355
352
319
354
211
376
310
314
329
293
278
365
277
409
334
261
348
321
320
253
348
314
292
354
393
341
391
290
332
366
314
306
316
315
393
309
384
320
332
283
206
302
257
252
334
271
352
325
270
310
279
329
365
317
280
216
229
258
328
402
275
352
354
363
283
290
308
249
300
302
252
343
352
282
340
318
320
403
337
254
359
328
292
306
419
212
290
303
349
301
332
369
330
355
312
268
272
289
288
260
368
349
360
364
366
362
238
332
311
307
317
413
270
324
250
278
328
294
301
265
284
278
296
257
366
277
426
290
428
327
256
257
287
356
382
272
307
378
378
295
211
307
430
321
339
349
344
378
340
213
357
203
268
344
304
381
300
315
386
368
292
341
280
330
275
338
329
325
333
320
326
348
285
320
373
263
337
379
351
324
272
329
317
325
304
318
324
346
435
337
305
290
363
277
394
328
401
295
316
244
268
365
338
300
336
329
337
230
342
278
369
264
363
279
380
309
429
311
255
307
451
277
344
293
329
313
334
370
315
283
329
351
302
286
269
329
381
317
276
287
366
292
379
275
434
312
288
450
339
263
286
270
269
369
352
270
342
270
270
354
283
268
282
278
312
283
268
412
308
274
271
351
361
317
343
286
249
233
363
342
284
244
369
302
225
346
232
271
340
297
313
260
384
349
391
282
268
325
308
288
364
292
255
274
338
294
267
282
433
386
364
289
323
368
316
287
341
333
324
433
325
317
411
376
330
307
357
338
335
349
385
268
286
363
412
319
327
258
200
292
373
328
330
300
324
236
303
297
296
294
289
362
321
235
221
395
300
277
338
348
345
294
260
344
336
244
293
271
309
260
353
302
398
342
352
288
324
360
347
388
355
337
374
326
380
306
310
354
382
259
336
279
254
332
282
317
276
321
322
359
258
305
339
351
311
290
345
367
362
342
335
327
371
345
355
346
363
279
328
394
225
332
335
303
354
326
298
306
386
273
302
334
397
273
268
324
353
338
339
272
367
335
288
245
375
276
310
277
326
365
343
350
324
258
291
335
256
395
303
272
259
310
194
341
355
363
415
320
271
287
288
255
341
221
274
372
379
216
304
301
242
278
344
321
378
332
289
359
300
302
285
400
318
284
288
219
352
267
259
315
312
277
312
354
340
425
297
232
405
338
287
275
311
275
366
221
373
340
375
300
294
311
350
355
287
323
408
368
296
439
302
304
294
340
312
323
301
319
271
374
308
268
366
306
342
282
314
333
257
269
359
264
269
369
268
364
289
322
319
332
391
307
330
343
343
295
301
343
338
277
349
246
313
303
281
339
270
353
337
322
255
399
371
302
281
337
300
312
249
362
352
355
293
364
409
277
377
265
352
279
323
301
327
289
351
338
291
383
318
373
280
384
294
313
370
321
289
262
379
224
355
329
326
262
318
338
377
330
319
262
248
267
371
302
264
338
336
325
336
395
350
360
317
310
319
234
275
291
321
317
228
357
303
300
384
304
305
329
358
353
346
293
339
247
263
347
277
323
366
335
300
334
312
311
284
333
275
339
371
369
288
274
347
330
370
333
352
362
287
264
320
310
309
283
280
396
243
364
399
288
293
287
315
296
276
271
305
360
402
357
332
323
358
292
323
293
377
340
231
325
374
287
384
305
361
374
298
328
339
312
292
363
341
253
379
311
403
298
326
364
340
363
281
260
374
298
367
290
335
364
342
315
295
285
273
368
237
353
363
293
318
351
291
339
285
322
290
286
249
300
290
321
329
299
368
312
330
259
317
358
255
270
337
346
264
323
305
334
308
328
342
277
380
300
303
353
335
251
224
264
372
375
350
302
237
302
332
355
292
325
327
263
274
273
372
287
242
388
348
360
379
254
337
324
390
288
254
242
334
301
285
329
351
278
299
344
264
273
300
356
369
337
334
283
312
296
383
306
296
362
294
323
343
325
298
311
250
411
290
312
221
229
240
385
353
279
338
328
276
333
287
253
223
328
252
318
344
250
364
353
265
330
213
295
317
362
364
416
306
281
311
257
250
321
434
399
312
369
355
282
299
341
400
242
283
274
249
374
294
314
350
315
303
303
340
300
344
253
313
313
291
344
405
248
286
313
226
325
344
331
340
253
281
368
341
326
296
283
254
274
268
351
337
339
323
383
326
363
320
271
341
274
301
228
307
324
292
289
295
333
303
380
365
354
284
377
246
371
338
328
304
241
326
295
266
301
280
349
277
356
310
240
357
331
376
429
324
274
332
247
333
234
330
296
263
354
431
299
288
391
286
347
313
270
331
349
372
337
320
295
348
349
312
323
348
319
246
324
289
293
330
341
271
291
342
427
427
238
274
373
254
369
333
331
309
299
246
359
372
387
291
312
310
294
333
362
319
353
362
268
179
296
334
317
364
338
305
313
229
391
316
392
265
327
260
306
305
298
309
294
252
315
303
334
299
307
185
314
354
285
283
321
361
337
235
332
262
323
319
260
368
356
297
306
333
335
230
265
441
336
304
326
324
349
318
320
372
268
329
378
221
333
364
329
286
319
306
303
337
328
403
364
339
365
297
312
238
294
241
322
309
316
318
351
328
355
234
312
384
320
362
291
252
304
326
267
244
316
318
291
383
301
323
320
326
320
332
348
286
313
245
239
322
351
317
287
283
369
341
304
335
277
246
288
354
316
337
331
224
292
300
394
258
353
314
292
287
298
406
386
242
333
222
293
236
339
372
355
360
339
321
298
343
368
251
324
335
323
336
271
311
245
287
372
280
373
330
299
335
344
311
326
324
292
346
320
301
309
275
311
230
288
350
287
305
302
327
246
319
223
337
457
280
361
349
368
224
324
343
258
337
289
302
243
309
309
277
362
295
304
350
335
294
319
315
348
254
357
306
327
343
328
299
238
257
304
334
379
321
350
331
416
301
393
313
427
272
354
265
277
333
243
314
315
316
262
307
279
307
350
330
354
334
304
253
262
248
366
329
259
250
326
324
380
264
343
340
298
342
313
310
342
375
409
331
286
289
316
316
323
303
321
420
286
320
369
318
356
323
314
413
329
279
286
302
311
320
247
330
348
283
232
307
258
356
217
186
338
333
313
353
314
303
322
309
367
185
244
249
296
419
367
309
324
341
378
308
344
269
268
299
232
290
306
342
288
357
343
337
356
226
342
390
277
320
350
308
243
366
350
378
251
266
274
292
296
328
312
294
303
282
331
319
362
284
375
241
345
351
406
342
310
220
337
334
327
349
391
363
277
299
274
340
342
324
338
370
267
381
339
252
345
413
313
268
333
318
292
244
282
374
339
378
272
261
323
350
309
319
306
315
327
311
303
311
282
315
236
365
281
374
323
250
267
377
326
359
300
242
258
323
246
379
394
302
278
212
229
295
336
315
374
280
321
332
341
399
282
286
288
290
317
328
280
329
394
256
339
259
321
391
281
342
283
329
313
322
332
355
364
290
316
363
284
341
350
251
348
308
266
376
251
269
208
268
330
295
367
248
358
302
445
362
292
336
301
320
347
302
315
338
315
284
270
321
321
308
340
299
317
310
270
298
257
397
363
406
338
287
311
300
308
353
382
332
370
293
343
362
248
282
378
305
247
319
305
313
348
337
285
317
413
321
386
381
285
352
333
321
350
312
362
364
248
324
290
362
260
281
390
292
236
364
277
286
295
335
253
305
231
323
357
346
385
292
352
336
334
317
257
320
359
339
336
218
344
370
318
286
379
334
354
306
366
395
362
375
322
310
302
294
315
305
269
316
236
313
278
210
219
253
299
309
284
319
351
313
346
238
310
359
268
252
352
260
296
304
330
373
299
343
351
283
290
331
327
333
283
301
296
337
305
302
321
367
337
332
320
326
284
354
266
310
303
214
345
329
338
362
309
268
377
321
277
391
252
312
246
387
336
258
370
316
404
314
293
332
307
331
357
314
353
358
324
300
408
269
345
277
313
355
244
257
365
312
468
295
283
328
300
277
382
351
345
357
364
299
385
310
300
295
382
306
348
304
299
344
287
324
324
363
328
363
308
407
381
358
325
355
233
215
335
369
225
311
232
344
279
317
331
272
354
406
315
283
333
276
334
329
340
375
247
316
328
318
233
285
318
313
305
348
312
276
286
323
356
346
330
327
305
377
250
326
199
316
337
320
338
337
382
303
362
303
370
370
247
361
312
380
273
296
260
366
375
345
280
313
311
248
333
301
280
321
310
309
343
325
328
314
308
266
198
278
383
280
316
321
283
340
270
357
290
321
296
333
354
320
226
344
328
330
305
335
311
299
242
367
229
365
400
213
361
363
312
286
365
250
411
302
374
261
341
329
413
266
302
391
337
324
238
296
300
240
360
392
216
285
342
422
285
261
326
359
326
356
366
298
429
310
395
364
366
322
292
327
321
302
338
264
314
267
315
362
249
384
327
246
363
340
322
316
300
369
377
275
328
284
305
180
358
309
334
242
328
326
277
322
336
359
266
312
320
297
339
298
361
272
314
296
309
291
374
263
273
360
208
336
360
333
293
381
266
341
308
275
283
246
311
292
318
292
262
225
263
340
341
365
303
386
360
337
294
372
368
340
344
331
360
348
339
290
340
306
346
361
345
238
369
260
228
372
237
397
290
326
341
379
202
325
374
313
313
320
409
304
223
330
326
367
325
315
332
305
350
273
375
325
259
352
352
309
301
397
281
381
334
296
321
315
378
312
250
288
343
334
310
307
342
285
242
324
294
221
360
333
367
260
319
378
314
355
419
346
310
306
361
261
238
375
351
323
324
376
304
344
375
314
300
314
403
365
334
308
398
344
259
245
320
225
324
443
339
348
337
261
297
283
285
355
342
349
272
328
340
271
290
341
357
321
275
332
301
265
242
356
348
283
325
289
346
342
319
254
283
352
295
329
293
397
257
287
250
315
243
311
401
317
322
331
317
310
356
384
313
378
305
348
377
295
327
390
286
318
306
334
242
316
312
292
361
411
300
321
369
271
331
368
279
351
276
172
334
332
252
387
296
329
265
324
336
349
351
378
316
382
306
275
214
361
268
334
204
342
231
301
358
268
406
364
220
315
311
367
313
294
305
318
351
340
270
348
290
286
322
293
410
284
333
311
264
357
216
366
270
328
182
345
261
257
308
394
285
369
258
357
395
417
352
333
292
287
314
322
372
371
317
359
314
283
299
340
321
335
266
322
330
325
325
340
268
322
353
384
274
333
315
383
302
359
281
292
317
253
328
315
327
370
343
326
309
255
334
266
334
271
372
261
303
272
313
274
344
328
368
287
318
364
281
245
326
279
295
245
219
301
354
235
241
343
368
248
257
273
362
277
260
338
347
303
362
339
388
309
257
374
303
273
242
368
310
355
242
338
362
283
291
350
250
311
302
329
317
260
242
337
359
318
313
276
352
324
352
429
278
402
369
283
353
368
394
233
271
300
274
405
393
362
400
274
340
301
308
282
260
278
324
331
217
320
289
364
350
365
303
378
331
343
296
429
322
321
337
319
344
359
351
291
383
384
348
286
343
262
323
313
209
300
261
299
366
300
283
279
343
316
269
409
328
325
407
301
319
286
319
331
366
337
286
351
371
251
299
352
256
296
314
344
356
369
334
303
329
332
362
258
295
282
309
307
254
323
320
323
352
342
340
326
267
325
277
390
294
321
320
337
356
329
327
311
232
307
281
309
367
367
326
248
292
304
256
290
278
273
250
339
367
290
381
372
385
331
368
286
281
386
350
257
332
310
344
354
325
310
316
241
322
311
327
357
319
369
343
310
278
344
284
307
192
339
341
384
293
288
314
329
339
377
259
333
287
298
334
284
277
355
315
364
325
395
320
278
343
313
206
335
230
290
369
351
380
311
403
306
360
291
302
322
255
334
366
307
360
413
297
224
326
337
332
310
309
350
314
307
339
366
395
295
268
330
306
395
360
347
323
361
301
388
333
240
234
236
332
290
344
320
315
311
331
363
312
278
439
304
289
385
354
310
290
347
257
357
353
210
386
261
297
321
347
341
251
316
344
298
285
296
229
344
278
215
262
313
317
269
348
315
377
301
308
353
283
275
278
336
323
354
317
234
272
293
253
303
331
370
239
315
239
329
306
229
308
281
383
332
301
331
397
279
312
264
344
295
362
291
305
338
264
302
312
324
281
298
332
330
293
343
281
330
323
282
291
324
328
362
274
342
259
269
319
316
271
286
299
299
318
259
374
259
347
310
323
290
343
326
358
406
268
322
246
335
229
296
323
380
311
246
270
378
385
249
433
275
326
204
387
241
338
334
296
341
273
328
179
248
251
339
338
261
317
310
302
312
215
296
280
324
297
318
334
361
339
264
347
370
331
314
367
363
329
342
396
221
333
286
301
386
296
270
360
294
348
339
268
312
295
297
364
305
362
361
279
322
284
248
409
368
329
284
316
282
281
371
381
366
314
300
289
256
363
314
378
354
305
307
320
348
322
308
403
252
321
360
327
317
334
279
328
306
379
289
370
292
247
316
390
329
290
383
302
344
348
345
376
260
403
373
246
343
310
273
362
305
379
369
346
362
359
309
233
331
305
333
256
314
347
258
321
283
295
336
365
281
264
371
378
311
325
309
381
305
317
230
322
387
265
330
359
333
322
304
247
247
278
311
346
331
277
291
311
237
359
298
360
243
442
360
216
374
332
355
390
397
340
265
268
268
355
295
350
284
414
313
335
301
327
299
363
389
296
281
262
304
387
348
291
250
367
315
274
359
289
307
317
314
418
385
337
314
335
317
310
323
291
325
282
351
311
347
279
359
342
322
320
299
291
345
262
304
333
375
309
400
206
297
322
301
326
384
382
208
271
315
306
374
296
335
333
300
314
414
385
297
309
285
332
262
352
313
330
385
273
264
230
283
287
276
228
344
323
346
374
317
269
289
365
320
246
314
227
320
261
355
356
348
346
326
368
291
385
371
237
238
347
240
394
357
287
300
388
324
269
262
241
258
279
354
263
278
348
293
290
386
360
342
307
338
276
327
321
287
316
312
327
341
259
344
364
252
365
291
324
365
326
276
282
303
293
354
331
332
345
300
363
333
317
315
296
341
249
318
289
367
367
338
285
336
240
385
269
353
366
289
296
408
391
296
342
300
379
309
324
331
276
274
269
271
394
300
350
276
338
213
251
325
258
278
359
397
350
355
334
320
265
286
318
362
328
268
271
260
249
322
326
249
330
338
353
356
311
319
301
303
275
351
308
307
346
355
352
267
286
347
396
293
277
379
257
340
320
347
332
294
337
305
283
282
319
312
310
285
326
349
311
359
338
268
298
402
376
336
301
279
270
291
374
356
264
254
308
318
324
226
324
280
329
218
350
349
250
317
344
348
377
314
324
325
304
300
323
399
345
290
335
355
309
391
304
281
266
389
344
335
322
422
322
385
339
295
357
217
406
333
388
242
296
327
345
326
385
350
371
374
345
349
286
341
288
356
284
326
346
306
308
283
282
356
336
346
359
334
297
369
283
322
254
301
276
323
380
297
266
245
354
289
330
322
276
329
289
349
282
381
339
423
297
364
357
328
301
280
329
313
328
398
389
332
341
344
389
321
353
312
371
357
365
340
385
335
349
352
346
307
263
302
342
333
335
403
349
248
317
362
316
204
304
257
311
352
302
307
351
369
350
322
333
403
322
298
321
396
347
292
283
245
398
233
331
294
322
396
311
330
321
418
243
272
387
292
311
319
289
303
340
241
333
324
263
296
343
363
313
365
365
363
330
215
244
341
367
290
328
326
314
239
312
384
334
258
299
304
310
365
195
357
273
275
373
364
285
343
310
307
359
364
290
312
347
403
276
243
236
313
288
313
421
325
290
385
359
332
314
291
295
323
314
305
298
328
310
268
308
290
386
276
317
341
303
283
295
334
345
300
363
301
340
345
294
312
273
341
287
232
294
366
301
260
302
323
314
295
380
362
311
267
403
354
230
365
318
334
329
356
308
307
292
302
293
364
306
338
345
422
270
259
297
248
237
299
374
291
270
334
302
271
385
276
365
281
326
318
343
326
261
307
352
362
330
301
320
287
309
247
340
311
248
384
365
277
314
242
331
220
354
319
378
333
362
394
284
393
284
241
355
340
321
238
225
227
372
366
270
209
288
263
330
301
354
312
296
300
330
353
330
255
358
274
332
312
332
320
297
311
259
270
286
264
373
318
291
372
354
335
347
216
282
351
337
266
322
294
369
331
333
353
311
333
330
292
335
414
349
359
409
312
335
329
327
287
294
346
351
262
350
235
260
217
350
274
319
249
280
276
388
345
301
358
355
352
314
282
313
329
275
332
321
284
362
352
247
381
311
286
327
350
314
313
264
375
240
245
358
331
286
288
283
338
249
438
320
239
316
304
387
390
337
376
390
370
309
310
304
271
346
439
275
330
245
223
316
327
344
279
368
359
315
397
372
387
341
375
273
281
401
362
307
274
350
301
390
352
342
363
317
337
257
362
323
317
324
341
325
380
302
237
372
385
369
278
286
337
242
330
329
346
330
264
310
299
261
272
352
350
356
369
327
316
409
409
319
284
350
322
292
301
355
317
282
303
287
418
280
249
271
297
339
269
306
304
314
312
367
304
282
222
238
381
275
404
372
323
353
314
287
268
317
323
414
317
335
295
341
381
389
292
274
289
187
365
285
405
294
303
332
318
326
355
346
347
342
310
373
353
330
332
342
302
311
331
338
248
274
311
290
384
342
287
426
313
311
387
298
256
368
252
374
313
304
372
254
219
282
266
311
341
276
352
352
342
356
395
253
298
320
274
360
313
359
335
323
292
327
356
310
345
359
352
252
293
333
367
301
403
336
355
402
350
335
293
336
280
277
351
335
274
342
293
360
388
321
275
318
319
259
320
337
351
280
343
332
310
335
318
312
382
294
324
279
334
248
254
424
430
260
282
344
293
376
308
251
280
268
325
287
342
357
341
361
330
273
238
343
289
225
317
306
322
340
321
381
325
318
267
314
332
379
254
328
403
325
398
327
288
252
343
296
337
326
346
311
321
339
338
295
346
278
277
397
374
233
346
358
325
337
376
355
316
313
309
391
366
190
249
374
250
389
286
292
225
286
373
342
328
345
373
272
306
271
333
373
213
313
359
301
291
321
302
327
322
174
344
287
311
402
409
300
366
316
208
363
301
328
277
269
319
276
309
296
329
349
387
391
269
382
321
330
362
327
283
333
336
345
192
328
370
319
289
211
345
371
340
412
270
384
345
319
369
331
200
332
273
354
349
359
307
380
322
353
301
301
310
324
284
357
371
410
344
341
287
374
276
235
276
285
332
296
314
328
307
287
311
280
365
349
324
336
280
364
393
282
331
336
262
296
306
364
298
359
359
299
281
349
330
328
275
369
347
323
265
389
314
377
252
275
264
334
386
317
314
370
275
278
412
347
305
288
344
340
313
287
368
301
298
323
332
281
332
343
271
358
336
280
261
355
273
304
288
277
326
308
285
224
286
323
280
382
308
320
296
253
328
349
307
260
327
356
242
306
226
387
372
324
242
316
296
300
290
288
359
320
294
383
359
317
294
336
288
330
320
378
369
300
314
380
221
368
229
352
402
272
272
327
261
332
314
360
197
280
284
340
304
291
366
271
353
265
399
277
274
374
380
292
379
339
320
237
382
352
347
299
363
371
307
265
303
328
265
318
338
300
362
363
380
353
308
298
320
338
299
391
330
270
253
348
310
319
274
312
351
312
340
319
322
305
217
315
284
297
296
287
317
281
368
329
304
329
283
297
233
272
379
369
341
238
315
369
361
275
362
293
336
347
298
355
322
246
335
366
320
265
322
332
316
306
334
277
310
288
301
252
325
336
369
351
311
207
273
250
337
362
257
339
288
331
327
293
333
274
382
380
335
330
293
281
369
337
342
317
289
289
342
385
339
400
348
368
316
342
322
338
340
278
244
353
339
297
226
338
341
330
297
302
286
360
313
355
291
247
286
271
353
259
303
346
381
341
315
322
320
327
305
315
228
329
282
348
406
284
294
274
311
397
304
272
338
286
284
292
353
334
271
284
335
316
331
410
317
355
446
292
300
326
260
388
322
380
285
288
308
344
298
309
323
284
353
304
331
285
366
321
170
282
349
246
371
299
312
368
353
380
363
406
394
361
322
343
253
352
241
339
348
277
298
299
353
340
324
309
386
383
353
336
321
357
283
246
342
297
319
336
299
278
315
264
307
305
363
277
326
372
365
263
347
302
307
289
323
331
349
353
338
316
328
292
380
348
361
345
358
338
316
277
337
290
266
309
385
307
306
358
342
280
341
346
343
338
250
267
200
290
309
301
279
282
303
342
273
300
386
366
284
222
313
392
284
316
339
341
298
316
313
398
377
373
354
309
337
350
270
319
283
301
316
240
280
312
275
238
331
363
277
360
282
293
258
368
362
279
324
355
303
306
357
353
372
320
299
295
354
354
283
391
351
255
360
259
352
323
230
329
263
303
380
313
319
238
302
305
283
350
338
370
245
302
245
338
317
212
316
215
271
348
251
303
325
344
286
306
324
316
312
342
304
269
297
234
287
355
334
234
294
309
274
344
262
287
322
361
337
356
387
322
329
314
327
287
375
299
370
345
265
216
300
349
325
358
313
333
320
348
374
345
356
366
324
383
335
383
338
368
365
325
279
286
265
287
298
335
333
313
330
361
327
297
311
313
258
353
287
270
331
352
246
388
267
345
387
362
321
313
366
318
377
302
317
265
251
315
314
352
296
317
310
301
288
287
331
338
322
327
226
205
319
294
339
323
330
366
300
255
342
381
404
338
425
289
356
313
336
352
337
304
301
352
381
283
344
412
306
293
292
283
319
399
347
372
255
374
311
265
333
244
363
376
332
267
299
343
261
280
330
328
364
368
332
290
286
338
318
291
306
312
335
344
277
336
288
315
263
335
287
338
330
304
322
369
288
236
326
314
258
380
317
317
326
349
339
357
209
311
373
431
307
347
254
354
355
313
321
401
294
361
392
315
394
315
251
290
311
338
365
344
323
314
301
299
278
291
312
312
342
334
388
318
362
286
205
334
340
316
360
379
342
378
349
304
327
315
384
250
337
357
228
407
357
302
337
290
326
249
286
363
338
369
401
291
287
344
280
276
326
260
350
335
266
242
298
276
279
322
261
395
248
300
264
292
255
303
318
390
369
369
383
321
349
311
276
355
243
282
357
310
312
361
331
353
474
291
405
307
365
395
282
325
299
333
339
309
280
374
273
304
249
389
340
381
349
286
283
285
366
326
252
270
256
399
328
336
399
285
410
359
331
256
311
319
323
351
299
302
272
344
364
265
322
390
343
312
379
330
328
260
312
245
359
404
290
311
367
336
260
313
367
299
329
317
363
217
402
281
263
265
336
278
293
259
321
314
365
304
280
278
355
383
277
361
264
280
341
356
298
335
282
256
290
310
249
336
328
395
315
345
263
430
331
239
266
357
276
316
305
347
317
392
313
287
288
289
296
285
297
318
295
223
282
370
330
369
355
331
338
298
341
303
319
336
219
288
350
367
413
311
358
252
364
320
331
353
295
313
394
253
331
287
261
349
293
371
366
286
405
304
332
342
323
320
254
326
371
317
322
281
227
336
312
291
260
325
273
276
260
423
361
363
282
290
317
326
322
318
287
296
353
306
345
300
330
397
369
376
386
344
295
331
282
277
292
391
305
292
280
325
310
298
350
266
335
351
330
364
269
307
320
279
376
309
309
313
355
291
264
319
365
239
282
359
328
337
255
389
340
342
275
313
253
369
283
358
305
246
262
275
276
349
367
301
321
307
404
288
310
264
318
200
322
337
347
364
298
364
248
366
277
356
385
349
380
353
369
324
360
357
376
315
385
313
317
364
324
351
381
216
321
357
331
399
362
260
321
356
256
291
356
315
353
371
266
373
343
249
362
307
317
323
293
203
380
341
317
264
294
273
232
381
304
202
318
308
334
279
335
258
371
260
313
318
349
330
233
348
344
352
281
327
230
196
230
264
319
387
334
266
294
280
354
318
279
272
231
237
235
302
261
271
361
320
393
373
342
325
350
318
352
351
307
332
214
275
300
279
290
310
334
286
332
350
306
315
309
317
344
352
360
395
359
347
315
293
276
322
299
385
347
385
256
320
183
370
358
262
266
364
342
316
306
270
304
273
352
338
362
365
265
286
270
306
346
297
331
219
305
208
355
307
233
304
350
229
359
339
301
345
291
377
365
348
385
283
312
336
267
289
308
421
311
264
319
336
338
330
240
269
383
327
379
311
357
370
298
208
240
358
346
252
334
271
309
343
320
352
370
348
363
334
343
401
299
240
343
334
212
257
282
330
243
302
336
329
338
304
361
382
382
341
318
271
342
265
316
268
377
342
308
258
408
315
370
290
194
306
346
344
366
390
303
239
287
318
286
267
335
360
331
304
344
373
365
377
314
304
308
269
312
360
271
346
249
315
308
394
268
300
263
341
308
378
307
277
224
311
350
312
306
395
357
352
372
287
290
293
229
227
268
243
356
333
329
346
332
267
321
350
277
316
237
258
291
314
315
367
278
319
320
362
354
251
376
363
309
299
334
285
341
346
311
314
340
292
315
345
301
298
330
388
302
272
394
268
289
376
274
300
316
343
356
232
301
320
356
283
339
337
419
299
267
350
280
286
334
369
316
335
373
282
338
283
361
299
284
364
331
347
368
327
339
404
355
281
274
350
371
319
242
311
308
306
326
312
388
278
267
330
308
393
349
372
396
323
299
404
350
384
375
315
327
374
328
256
312
382
320
368
290
338
276
268
295
290
362
373
341
305
371
292
276
389
328
331
304
234
299
334
399
342
389
323
359
275
300
334
272
369
317
344
370
341
275
218
220
392
338
333
254
336
298
380
349
326
287
279
322
182
261
236
397
298
325
260
323
233
329
409
356
365
341
322
348
201
397
379
388
287
368
277
208
382
375
362
288
282
283
378
380
256
312
220
331
320
261
292
355
301
316
374
308
359
271
295
342
362
287
278
354
362
361
250
347
279
335
345
307
320
265
257
342
255
313
371
239
337
351
350
307
264
266
290
268
313
349
274
277
272
291
355
319
341
317
277
288
284
325
346
336
368
331
318
306
270
285
311
341
354
218
382
370
311
318
333
356
259
299
303
285
406
358
326
307
366
329
343
214
279
353
259
344
256
360
245
348
221
366
381
338
297
384
322
263
323
261
407
388
376
338
265
370
308
372
360
287
319
387
345
249
234
331
377
270
385
327
297
283
205
334
334
312
371
259
296
384
291
365
331
380
351
273
312
349
302
368
360
232
268
353
319
348
340
321
361
364
300
339
357
383
306
283
258
303
342
300
279
322
267
327
152
377
294
370
340
271
351
229
312
302
306
275
281
286
373
299
280
413
324
274
247
238
242
240
358
302
345
351
357
310
319
301
297
253
348
308
349
298
306
198
341
323
389
306
368
301
313
272
366
364
266
250
287
372
232
339
304
353
278
288
320
322
334
357
330
355
259
257
340
342
312
270
247
306
340
368
286
349
310
338
270
296
355
316
387
293
271
308
286
292
323
333
311
356
337
396
376
360
277
257
257
232
311
315
303
290
329
340
359
367
340
372
284
261
345
285
320
311
323
367
295
357
344
315
307
329
361
357
265
335
292
338
387
263
332
409
397
345
388
353
306
284
356
304
240
238
359
363
298
361
388
285
393
260
380
324
314
318
309
319
340
310
335
327
407
419
254
378
339
325
328
258
360
230
344
270
314
334
328
311
304
353
250
184
311
341
284
298
351
248
286
336
327
316
358
348
261
319
311
285
350
391
302
259
359
292
291
300
335
343
365
275
291
305
327
340
368
341
314
325
326
343
327
323
310
349
321
296
338
422
301
239
258
335
404
263
329
358
313
331
266
321
263
311
321
338
402
338
270
292
265
306
392
252
255
341
330
383
327
288
283
313
391
259
390
380
257
291
358
325
323
320
356
309
269
379
301
316
406
420
314
353
337
323
427
240
339
428
318
245
352
267
361
308
299
248
349
247
299
232
354
319
348
261
311
291
325
341
207
241
400
372
339
265
361
312
344
346
329
310
340
348
332
325
287
309
297
329
321
323
297
209
330
281
254
356
338
311
319
364
381
220
347
330
417
343
328
332
319
397
370
356
328
323
386
382
375
364
304
339
370
299
273
249
267
375
366
378
297
317
327
317
355
259
339
424
364
294
247
313
316
363
372
355
380
395
369
237
230
320
364
373
316
262
304
315
313
267
346
352
265
279
281
237
319
333
379
279
349
346
345
306
353
295
244
237
266
278
385
284
308
323
359
386
374
392
304
333
311
306
379
381
252
290
326
286
432
298
228
265
307
288
251
343
345
266
393
331
369
243
195
279
325
323
360
276
337
251
326
247
361
291
264
249
344
317
362
366
365
348
270
255
294
372
333
312
319
365
272
406
263
338
369
363
369
367
304
220
425
274
342
320
356
328
268
395
338
332
280
317
262
328
331
243
249
323
423
282
278
318
277
317
306
342
328
415
321
267
311
308
315
370
357
248
314
376
397
297
355
357
338
314
320
333
347
335
323
354
341
226
386
297
291
264
366
328
318
336
319
352
287
286
353
341
323
330
360
412
337
338
323
336
358
339
360
278
307
316
319
279
265
333
289
324
305
400
358
311
345
326
284
385
311
312
330
300
335
296
396
366
277
377
286
309
319
373
351
274
299
284
293
317
353
366
283
269
285
353
325
248
354
327
298
269
345
287
306
298
277
292
388
310
280
329
340
314
255
325
339
310
393
352
296
281
308
354
294
283
321
391
320
370
277
331
310
379
330
286
246
321
311
388
396
294
281
249
300
345
349
385
373
257
309
323
313
244
412
239
331
333
268
264
256
359
232
311
289
302
332
355
237
378
344
320
343
354
334
368
313
370
348
296
329
305
311
322
468
379
366
310
303
308
322
314
305
316
323
282
295
445
261
319
234
365
254
262
260
269
361
442
228
308
375
383
338
305
299
285
328
351
249
315
248
319
279
339
292
322
333
297
239
333
246
352
331
297
286
292
272
344
275
270
258
340
275
326
300
306
339
280
296
279
349
301
324
347
281
232
281
368
284
350
300
333
279
375
347
321
351
269
189
301
316
324
325
432
318
343
252
289
385
366
368
390
310
292
361
361
323
292
309
324
361
347
378
254
244
380
353
323
330
342
270
330
351
401
377
287
265
302
302
320
200
267
347
323
321
307
248
375
343
314
332
257
272
323
391
331
229
344
218
277
366
304
344
386
315
355
260
323
287
319
301
296
361
303
325
352
334
341
342
364
350
298
349
332
341
404
289
269
332
324
334
358
278
329
266
295
301
359
315
327
339
368
309
353
311
293
274
400
249
278
363
378
264
320
371
302
356
343
291
311
374
309
311
307
331
247
221
324
330
351
311
297
309
257
332
283
247
326
281
332
274
324
286
317
333
274
317
279
315
335
324
317
294
299
371
406
367
282
307
312
352
248
268
296
329
325
306
336
231
313
324
282
327
235
331
256
204
366
429
320
318
266
321
324
366
321
330
283
326
323
319
321
318
321
354
219
256
376
305
240
344
348
369
359
325
338
244
336
275
349
326
295
334
320
310
364
287
281
343
269
237
373
301
292
267
345
312
261
354
347
299
327
341
304
284
243
366
371
261
301
311
313
377
307
300
313
285
296
316
278
348
324
296
342
291
359
389
333
341
315
311
326
319
324
351
312
280
383
357
399
314
203
267
262
237
330
323
296
378
357
352
325
324
337
273
301
331
370
345
389
293
304
361
324
284
398
249
363
299
280
264
249
383
342
342
337
252
323
233
383
321
280
300
326
348
320
324
352
339
369
336
340
420
357
375
247
291
332
314
333
282
340
323
290
403
342
320
317
405
373
283
306
256
246
314
330
285
327
360
298
276
381
309
362
212
311
231
348
309
272
312
330
346
261
361
292
331
355
283
289
329
274
345
292
393
313
305
362
303
319
361
214
331
317
344
288
351
294
352
339
343
269
424
356
332
285
329
308
346
342
334
283
383
325
365
331
288
340
359
261
391
358
386
237
241
290
287
265
290
331
288
236
330
299
365
284
320
329
240
337
320
280
287
341
266
267
357
264
247
288
327
307
357
330
300
313
322
349
281
324
310
315
346
377
330
316
357
302
325
354
285
333
263
296
381
354
372
349
254
338
330
347
340
341
345
299
236
275
250
412
374
276
295
304
235
291
316
340
414
347
326
334
333
245
348
290
327
305
313
296
383
342
324
323
211
320
337
379
309
428
308
377
290
355
308
278
276
333
341
287
319
340
249
351
315
388
208
329
311
316
327
252
371
276
329
406
192
294
305
287
314
336
269
341
333
252
330
262
348
275
346
346
260
369
366
355
299
333
399
332
362
338
415
341
221
304
203
379
301
303
355
260
254
314
367
361
276
276
304
353
265
279
355
254
382
311
331
324
368
398
249
334
373
288
238
313
273
378
331
290
308
319
330
286
236
346
295
361
209
343
333
412
322
388
410
243
331
321
311
288
329
400
340
334
327
252
313
261
317
389
301
272
277
344
409
363
345
341
334
284
368
276
335
336
298
331
369
334
418
348
384
310
328
328
315
342
357
400
316
237
390
317
359
340
301
310
362
279
313
273
331
238
338
238
339
259
309
279
273
317
359
320
339
326
281
245
305
282
357
338
267
392
276
315
272
347
334
306
301
345
368
259
316
338
349
344
408
240
306
303
307
373
301
384
310
324
308
226
341
293
333
294
305
300
363
327
319
312
346
297
357
362
387
307
347
326
291
350
302
286
221
355
341
324
268
366
355
335
231
367
312
392
417
263
236
369
401
360
296
396
302
265
319
426
293
333
263
309
363
321
311
293
337
351
387
367
380
327
373
285
329
286
311
329
343
294
264
341
253
311
320
336
316
254
353
272
339
305
394
382
260
262
262
228
198
257
344
369
237
306
366
333
177
364
326
308
299
284
288
302
331
325
289
379
310
320
352
275
332
362
278
338
354
243
327
390
340
419
306
317
428
329
381
367
413
243
339
319
278
287
292
420
391
369
291
384
311
265
275
351
310
327
325
347
315
319
293
257
299
320
324
279
334
349
380
354
295
298
336
354
351
287
344
318
332
264
264
269
326
372
326
355
303
367
317
367
336
367
308
317
361
284
291
404
372
290
253
303
298
257
336
358
313
321
334
350
354
338
327
254
313
328
339
335
363
292
349
332
337
307
270
321
311
276
315
358
335
267
364
333
342
300
326
377
368
391
266
389
316
373
252
360
355
299
304
191
295
326
328
304
280
263
386
370
319
253
402
336
309
333
266
327
364
311
318
202
385
423
255
255
346
333
292
322
248
368
313
344
336
329
289
282
358
322
370
307
256
304
324
297
262
341
363
274
279
241
309
317
370
271
347
344
276
389
267
303
314
405
209
349
314
290
401
375
249
251
255
236
380
280
281
354
266
325
313
268
314
315
400
241
375
309
335
286
287
265
296
295
361
238
341
278
285
288
318
275
281
342
341
336
280
393
320
353
336
286
358
274
342
361
255
330
298
251
376
364
350
398
304
318
344
369
308
358
319
399
348
315
358
256
321
310
241
358
227
272
320
271
340
332
304
294
380
351
369
304
291
358
298
309
316
226
354
343
364
264
276
335
306
339
350
258
356
338
332
334
278
370
353
361
352
327
279
332
374
315
288
335
328
345
316
376
349
319
348
375
261
391
352
227
289
309
278
312
340
220
307
298
245
398
304
279
293
382
357
379
267
349
359
320
280
347
301
284
383
283
304
272
185
266
292
274
328
353
306
271
402
284
270
270
318
259
326
343
374
357
343
324
302
243
284
275
348
362
238
334
287
264
349
320
280
321
361
291
252
279
299
268
323
329
389
347
243
347
413
334
357
325
332
291
390
323
332
264
280
312
275
250
350
302
258
371
380
322
398
304
362
291
261
351
372
306
345
340
363
290
346
293
284
308
327
380
312
275
343
312
288
334
358
327
283
355
350
325
303
322
341
282
241
340
311
264
330
313
284
204
370
387
230
263
266
228
267
241
337
394
231
331
290
334
276
283
344
309
369
232
329
356
372
354
290
265
370
340
380
308
281
275
319
211
284
298
303
400
287
272
295
333
222
308
317
265
275
332
380
292
309
348
315
371
325
232
336
306
321
271
337
344
350
384
361
241
224
371
384
341
366
330
261
299
331
233
286
344
280
296
290
353
278
297
363
350
331
343
335
349
245
342
359
238
254
289
360
395
339
343
251
360
364
311
362
286
353
325
297
383
283
358
351
331
351
325
274
354
206
268
306
348
357
373
236
246
305
340
301
315
325
310
359
301
319
352
338
291
298
372
258
361
372
361
297
325
316
294
314
245
349
344
359
403
353
350
320
315
290
275
338
303
319
291
323
276
365
324
306
212
292
293
327
310
324
308
285
310
281
306
317
291
343
299
402
304
333
288
303
257
257
307
371
264
338
290
334
382
378
397
298
281
326
375
307
269
311
294
383
308
303
385
357
261
310
291
357
297
320
338
262
312
315
338
298
265
368
290
346
282
313
275
312
374
230
306
297
255
304
338
302
243
302
316
338
337
315
388
294
385
367
382
370
355
295
366
371
337
332
373
276
307
358
261
283
275
254
313
310
245
380
242
293
356
321
305
356
374
213
323
368
250
345
335
333
248
272
309
346
259
311
265
229
292
316
365
320
285
322
280
240
269
321
347
376
327
285
271
235
352
354
361
426
295
364
313
250
367
379
366
341
354
295
271
202
283
326
380
334
291
321
290
386
378
340
312
338
264
312
336
351
384
299
258
368
340
309
326
328
340
317
308
322
331
334
293
332
369
321
295
254
316
274
244
337
342
378
382
302
277
337
255
472
337
350
359
353
302
432
304
313
293
344
271
270
360
243
363
317
251
372
306
344
305
365
377
287
283
256
350
391
320
335
299
223
335
294
280
247
364
302
354
277
236
292
334
330
276
333
280
311
187
226
332
272
298
353
280
354
269
324
328
342
257
322
340
260
325
354
267
213
375
323
327
296
313
290
411
204
308
359
365
348
314
355
269
294
308
282
329
327
258
343
360
283
363
297
248
369
380
336
327
290
403
356
394
305
346
278
335
242
407
318
288
310
266
355
289
336
331
312
363
272
346
291
315
336
285
369
301
341
440
364
337
398
367
343
359
322
331
308
353
321
284
261
330
324
349
355
413
280
361
324
335
351
314
350
364
332
310
335
312
295
328
327
390
319
281
274
283
295
366
313
324
326
290
329
306
273
338
321
363
259
335
358
283
258
380
391
411
363
320
278
292
372
386
270
338
333
295
295
363
387
369
371
237
370
264
314
318
290
325
271
320
284
297
311
298
275
290
390
320
326
320
293
346
312
362
331
369
270
334
278
291
344
303
313
356
332
284
327
340
325
295
323
376
354
267
362
327
415
375
306
286
275
233
313
316
302
323
305
338
376
394
329
383
325
380
335
336
368
344
286
382
306
333
354
246
314
335
272
267
376
324
321
353
329
283
239
280
328
326
351
318
281
277
352
364
363
356
235
316
321
291
318
250
249
345
359
296
241
405
247
293
334
353
281
271
256
358
326
222
318
330
440
336
287
387
330
369
328
224
315
279
232
294
301
301
325
312
212
365
331
367
341
345
323
288
355
334
389
289
254
301
311
298
259
326
401
264
327
325
272
310
328
287
302
413
349
316
214
398
335
312
315
268
251
366
376
333
246
317
326
364
312
331
321
344
327
308
391
339
369
315
306
298
367
321
367
280
336
332
326
365
329
261
322
379
341
376
350
237
296
324
257
287
350
315
304
272
385
357
312
348
264
345
290
327
266
361
321
395
322
316
298
360
343
327
360
310
303
379
296
352
341
346
331
241
303
309
290
250
224
243
356
386
268
371
264
422
294
383
361
320
374
331
277
315
334
313
310
275
337
246
348
372
266
311
312
363
408
322
395
329
388
240
286
349
278
271
285
366
333
273
317
281
242
318
307
330
344
328
375
219
215
255
227
360
362
341
329
331
316
316
399
296
379
344
309
250
299
264
349
342
307
427
288
258
261
377
299
256
336
261
344
245
291
298
303
323
311
302
356
371
319
243
340
355
340
271
233
268
342
317
315
253
378
223
285
328
238
392
241
338
349
234
287
412
263
295
326
362
367
354
313
322
353
341
300
351
347
343
265
344
256
270
340
322
306
350
333
325
338
342
308
258
372
301
338
249
255
339
331
312
297
243
333
247
320
266
214
340
293
362
275
344
327
281
276
300
372
323
361
335
340
365
291
385
342
301
382
315
369
309
332
272
264
325
294
333
276
416
292
285
365
317
326
347
310
286
302
385
353
243
372
363
291
320
304
307
334
254
337
215
303
221
347
313
293
269
354
208
362
282
285
297
297
340
376
307
292
327
342
361
337
304
370
237
245
375
268
406
380
371
210
251
329
284
372
343
240
362
274
308
353
307
343
212
273
377
315
343
316
297
335
284
335
375
321
400
314
282
293
277
299
352
334
245
323
320
367
334
290
323
321
318
338
338
355
351
321
306
316
316
352
318
331
327
273
354
243
288
296
291
325
310
340
285
380
264
293
337
308
350
279
369
276
287
288
289
281
268
401
345
294
342
219
350
321
304
300
312
276
288
295
351
297
263
237
373
338
354
319
341
331
295
336
261
301
340
324
315
320
377
323
366
251
342
372
328
310
301
309
289
263
342
325
307
341
323
370
307
254
313
300
241
355
352
330
365
320
294
268
378
207
264
269
286
396
318
345
395
372
311
269
384
288
352
337
316
295
343
277
324
367
304
263
332
392
238
315
423
326
364
307
289
357
367
320
367
254
366
366
319
289
293
317
279
256
366
331
376
283
276
319
347
343
333
383
388
328
296
310
393
307
332
293
329
349
295
299
339
344
328
382
347
329
438
293
282
384
322
413
322
315
328
257
363
336
319
285
276
338
371
339
349
246
297
279
364
332
351
305
313
319
336
350
294
391
316
322
269
320
203
307
316
316
294
262
286
343
310
377
388
272
340
256
217
301
365
286
283
370
218
306
270
250
341
337
360
324
288
387
270
286
333
346
370
335
199
365
295
360
337
364
306
325
387
312
333
368
291
264
300
289
341
336
324
337
315
299
327
298
279
253
286
308
303
385
361
323
240
287
325
353
271
352
347
278
356
309
318
304
266
329
320
276
315
267
291
191
292
302
331
329
296
315
333
324
364
330
404
348
321
326
336
368
277
318
349
335
338
328
374
351
288
398
300
292
378
322
281
318
378
342
368
313
357
361
334
333
279
347
284
353
333
294
296
360
305
278
294
379
255
284
293
348
281
315
322
305
315
296
284
342
341
362
417
341
279
338
299
387
360
363
354
379
303
223
332
295
319
290
359
291
301
352
304
372
264
306
265
348
376
399
295
303
354
281
286
215
314
285
276
278
371
237
243
276
245
239
303
307
275
343
323
323
277
283
343
250
399
401
310
331
400
404
221
372
349
254
331
310
364
316
258
359
300
272
330
280
349
238
336
254
298
346
375
338
333
328
377
360
331
212
314
256
335
402
314
286
283
348
294
322
232
287
365
310
309
237
285
403
359
325
341
294
243
291
299
312
381
325
332
337
352
318
290
269
382
345
290
283
272
372
140
329
315
334
226
346
391
320
381
365
371
383
337
340
326
284
321
283
273
322
295
361
323
300
375
349
306
259
267
312
362
304
251
364
395
302
243
288
308
255
343
353
296
322
294
314
286
310
355
309
386
333
362
292
281
328
264
326
366
285
300
383
378
330
410
319
228
311
335
403
327
362
251
271
374
338
334
464
334
333
385
357
391
296
379
340
258
225
304
283
285
344
363
404
323
248
406
367
330
300
273
295
256
331
319
375
329
362
331
302
314
397
329
361
405
310
345
204
367
302
384
339
263
307
328
276
367
314
302
360
301
381
260
294
362
264
326
318
240
249
197
256
419
244
380
267
197
330
298
251
282
278
346
292
328
311
358
284
341
341
238
335
240
289
311
290
338
277
349
346
235
299
286
336
286
283
291
359
318
245
276
260
326
280
350
340
338
285
311
277
208
338
305
294
301
374
365
292
281
320
424
346
329
328
315
290
303
288
291
307
311
312
360
372
258
315
347
324
270
373
325
318
368
282
353
289
292
281
361
314
323
323
376
302
324
307
280
323
293
272
294
325
305
258
300
361
382
378
403
356
321
345
329
290
355
291
394
201
284
326
314
311
288
467
327
368
381
296
318
327
400
332
309
308
232
315
342
255
325
336
343
319
314
320
299
299
267
316
312
336
314
325
298
297
333
401
340
271
353
329
280
294
249
357
237
288
294
257
389
279
339
315
255
379
343
338
321
289
364
387
262
332
341
362
253
250
233
323
314
391
323
388
329
372
381
260
267
303
335
321
236
226
317
249
359
355
378
286
337
328
302
374
347
365
268
193
253
321
369
324
350
373
414
346
330
301
360
364
285
332
269
255
393
305
290
308
382
343
228
298
332
268
309
246
301
321
336
339
421
316
246
312
268
332
229
315
336
344
263
251
382
358
272
306
258
239
331
321
241
319
279
276
365
322
296
348
405
314
325
310
330
326
340
292
240
340
281
391
302
261
338
358
272
301
348
321
300
352
318
269
356
344
284
319
337
336
331
377
311
243
324
286
381
297
320
328
295
330
292
318
246
258
417
304
291
365
214
347
326
285
352
349
308
336
385
267
248
314
258
342
342
280
287
312
329
326
326
278
335
257
344
220
252
335
307
216
405
218
271
297
281
224
304
305
332
322
329
363
386
280
332
346
294
346
291
224
345
270
351
285
240
304
311
372
372
323
316
282
382
368
338
334
250
271
327
287
232
309
339
253
309
311
308
377
346
345
259
377
252
275
356
312
321
305
333
303
282
320
320
290
322
317
407
298
346
336
297
371
342
346
374
266
357
368
351
266
318
349
406
342
388
270
381
306
306
329
321
389
350
407
306
427
358
305
309
337
388
359
357
252
360
347
352
340
295
448
371
320
360
291
205
232
353
360
324
290
347
385
279
319
388
288
333
278
371
262
304
322
318
309
242
313
338
287
272
359
390
272
398
343
252
375
318
345
308
354
279
274
351
279
364
225
268
313
321
246
346
293
253
323
350
296
312
323
303
258
376
331
323
329
238
363
315
224
309
349
358
384
283
294
326
341
287
304
293
228
339
349
330
355
334
339
326
290
368
305
291
338
196
286
315
362
308
317
337
287
312
303
289
313
387
387
327
355
321
255
323
309
310
380
295
282
318
422
318
288
270
373
353
301
284
309
325
279
269
277
343
419
328
280
255
314
279
312
403
310
319
401
279
242
246
335
269
410
273
343
284
329
306
262
309
296
302
341
338
338
303
355
336
367
320
335
299
420
335
383
321
265
306
297
295
311
309
325
347
383
236
315
298
216
360
306
250
304
318
282
344
335
318
346
277
314
387
243
339
264
339
327
303
312
329
392
415
370
346
309
291
247
314
290
327
241
398
360
356
225
327
352
288
265
366
294
442
301
305
325
308
282
267
320
258
337
251
350
341
315
377
375
315
248
284
344
269
296
280
355
319
334
296
266
247
339
370
228
317
334
258
302
359
404
379
306
229
418
371
358
402
351
346
289
330
376
363
375
286
280
238
260
342
352
291
294
221
362
329
365
359
299
273
308
276
292
279
362
302
264
251
365
410
309
277
312
274
337
347
335
283
318
286
262
286
312
315
349
321
320
293
262
320
346
425
257
281
335
305
337
283
369
344
280
253
248
320
341
267
307
294
362
308
247
224
310
293
329
342
245
255
236
329
302
294
353
301
366
368
335
228
305
355
322
377
239
249
279
268
363
313
318
362
345
398
294
355
429
265
272
325
280
301
325
257
369
398
374
380
390
260
301
328
336
334
320
412
294
279
321
256
291
352
343
378
329
372
376
343
286
321
320
261
311
266
363
242
350
306
261
338
311
294
246
340
320
306
332
301
338
272
340
303
376
383
332
319
271
290
230
338
372
327
260
305
344
302
352
318
411
308
290
255
282
334
279
375
379
351
373
413
304
305
388
371
327
285
398
290
388
328
298
251
288
298
247
278
366
320
325
342
293
284
275
303
292
291
266
352
319
338
305
370
369
346
296
325
272
345
299
338
343
253
327
237
338
362
405
313
341
421
340
306
297
305
299
256
393
375
311
390
343
370
279
248
318
316
216
303
258
421
359
285
370
387
308
339
306
290
226
330
373
303
288
322
311
302
397
409
313
211
323
372
291
361
227
316
330
296
268
349
326
247
368
324
307
408
256
359
376
340
258
317
310
239
357
284
395
311
280
351
335
359
330
298
338
270
343
228
342
384
319
391
235
360
300
330
223
340
309
359
394
305
349
318
336
316
268
355
306
307
395
340
260
309
383
295
281
347
349
330
244
393
371
355
367
340
340
338
308
249
414
315
311
330
332
291
366
266
304
313
349
317
249
332
356
150
272
336
314
321
313
379
246
366
291
286
313
336
283
375
304
385
393
217
369
319
273
183
296
342
256
352
314
351
233
324
313
378
287
347
304
275
288
278
315
358
323
349
261
318
305
324
277
280
352
319
351
264
287
341
301
330
272
329
308
286
347
311
300
315
329
409
280
353
322
322
337
371
351
336
278
257
327
376
233
290
346
335
293
319
309
278
276
247
289
325
370
382
264
381
386
353
332
309
270
317
344
355
289
284
378
371
298
326
277
342
243
321
273
369
297
323
270
207
345
318
240
335
369
309
353
269
347
265
325
320
275
314
345
274
323
351
339
329
382
255
365
272
311
250
330
281
290
324
320
331
387
377
241
256
354
355
251
344
275
339
359
299
326
275
250
347
304
307
460
320
329
245
357
336
381
369
362
401
307
238
326
441
385
239
416
271
266
287
270
308
390
285
412
345
290
286
326
338
359
306
266
335
315
368
271
314
275
250
225
337
315
344
354
327
313
395
341
316
336
334
331
323
312
361
356
370
351
269
377
323
314
359
219
284
330
326
315
282
230
312
356
317
275
322
348
307
310
278
323
405
270
248
355
323
268
324
320
247
273
373
264
262
335
277
361
273
342
288
265
283
350
319
328
351
383
381
282
254
330
335
397
332
263
309
236
282
275
418
361
279
238
275
317
347
291
357
326
243
358
371
355
266
349
258
361
337
337
354
302
390
342
265
323
296
292
349
330
349
274
320
391
312
312
238
327
282
318
376
326
353
299
311
299
394
362
365
294
303
289
386
260
339
339
296
312
399
335
259
326
328
268
320
306
280
268
351
281
338
296
321
262
395
294
320
338
323
371
270
356
386
247
269
328
331
331
329
359
274
297
280
268
341
332
375
302
358
293
410
365
356
413
371
351
327
342
352
377
337
270
345
327
285
314
305
225
357
299
308
353
333
325
338
301
262
284
224
340
293
372
244
336
334
242
353
365
395
230
346
266
340
307
377
291
281
339
315
245
344
273
296
308
340
391
307
335
354
318
301
327
290
257
267
276
232
359
348
325
266
373
308
264
382
353
355
385
291
319
356
407
336
331
367
326
351
306
283
290
303
358
261
384
311
287
255
286
376
332
382
387
352
301
366
382
352
186
370
332
294
301
343
359
328
276
301
294
319
295
311
322
319
334
346
247
323
333
353
365
332
329
290
299
323
314
319
239
318
338
271
287
359
339
343
387
295
304
354
307
330
259
323
305
308
310
225
275
376
346
308
266
309
325
301
272
346
339
294
376
404
322
275
393
382
413
325
295
245
292
288
304
331
291
307
252
309
320
298
325
270
255
371
186
325
373
270
363
272
322
327
377
314
276
323
259
321
327
293
374
316
383
264
343
378
373
355
325
342
357
344
315
245
303
281
336
280
370
342
308
240
331
283
281
275
416
379
278
213
293
335
335
366
260
373
393
322
390
368
312
267
360
333
250
295
278
301
297
377
300
286
293
300
302
287
357
360
217
252
266
341
400
329
337
331
254
322
352
304
304
265
320
321
324
268
338
298
326
376
251
233
335
266
359
299
363
372
299
339
349
322
386
267
288
311
408
314
311
366
329
298
249
373
281
312
381
335
345
329
263
254
321
233
375
280
319
324
271
354
318
320
315
338
251
279
421
316
339
306
422
382
318
314
312
305
319
387
371
273
284
301
338
355
277
316
397
332
299
350
284
378
318
402
381
321
351
235
324
365
328
358
289
342
280
341
239
325
278
312
336
338
296
312
332
320
378
235
232
367
278
322
304
366
301
385
319
321
309
269
336
310
354
240
381
274
340
329
287
410
220
372
333
322
347
329
392
308
295
340
308
308
418
355
362
368
281
247
329
298
336
349
300
317
275
318
258
312
268
270
286
224
334
368
347
324
371
243
315
295
249
255
261
343
300
295
354
235
298
342
285
257
303
273
365
317
299
304
282
332
371
347
362
320
308
317
299
334
430
326
362
272
219
361
381
280
354
254
252
236
346
287
420
352
327
360
373
274
320
374
344
228
325
345
358
389
279
322
356
393
232
371
204
324
302
322
296
301
415
311
407
334
282
365
349
372
338
383
318
375
261
265
294
210
308
339
314
283
220
331
283
274
331
329
333
225
292
357
244
323
307
349
364
264
344
359
279
374
373
337
273
287
313
382
312
300
335
261
261
321
306
310
365
304
332
359
320
336
277
351
376
306
330
407
398
316
346
308
341
364
346
246
300
312
360
336
263
268
331
355
361
297
329
252
386
254
340
299
338
353
318
328
288
292
357
225
464
370
279
316
315
353
321
311
285
268
306
410
287
289
389
322
258
330
294
284
304
389
305
367
297
354
385
366
397
301
237
316
271
355
322
285
268
314
303
296
372
275
353
267
308
237
352
332
328
305
242
290
348
247
388
300
298
271
154
330
222
338
418
261
320
401
416
376
318
384
251
271
304
366
413
261
291
352
287
358
355
356
329
291
303
281
439
282
326
343
291
289
350
292
281
325
330
274
331
368
338
341
213
239
329
322
334
261
305
348
327
305
331
218
298
226
395
306
373
339
326
324
308
360
335
295
286
348
421
342
323
356
298
314
295
345
324
299
398
292
297
363
283
363
277
327
401
324
303
318
299
383
354
327
325
357
296
356
339
364
358
324
369
370
274
342
302
374
358
162
346
292
351
374
423
329
326
255
285
372
341
350
271
376
271
327
370
327
205
294
339
298
351
306
315
308
310
355
346
377
334
342
338
340
329
349
319
270
323
300
244
260
302
211
245
303
291
342
359
376
303
255
227
309
340
324
349
351
326
375
336
292
275
250
277
288
308
279
296
281
351
388
307
267
374
361
369
311
375
405
278
401
292
320
218
250
324
314
278
299
362
254
268
324
256
272
332
272
352
341
324
293
281
340
271
332
353
302
279
299
308
372
289
291
303
283
401
333
329
344
334
305
244
301
349
294
345
338
331
322
303
284
259
316
247
359
278
347
285
333
377
323
311
287
282
297
313
310
306
236
277
295
342
215
355
253
273
247
257
294
384
365
229
302
353
379
370
325
260
240
286
334
323
329
367
305
327
356
286
359
378
303
246
340
216
249
292
335
326
307
264
260
345
288
331
280
388
365
303
393
306
385
287
299
365
312
299
369
350
220
403
298
300
322
311
291
358
319
320
208
323
320
307
237
231
367
339
323
291
249
398
380
397
336
384
262
346
254
276
277
346
371
318
326
346
290
296
326
378
321
303
293
345
286
300
292
369
335
369
349
312
348
395
337
221
371
245
259
323
216
293
344
356
258
393
364
399
316
313
293
354
337
336
310
292
266
396
369
351
245
305
274
242
339
249
357
376
307
351
375
311
307
363
342
332
209
294
265
343
380
284
287
366
401
266
291
331
382
321
281
326
324
292
262
349
334
313
275
251
332
331
316
272
325
263
332
262
295
305
272
291
282
268
233
327
315
317
239
315
373
343
316
290
389
296
351
277
391
340
255
379
269
329
344
237
310
348
280
346
327
260
281
290
253
334
185
351
273
293
348
299
403
402
245
278
290
298
328
217
299
379
288
291
255
344
401
263
263
260
240
278
288
289
265
246
284
258
326
233
233
283
270
326
329
396
372
382
281
368
348
299
368
379
304
327
252
334
266
371
280
338
346
312
344
369
354
323
289
293
284
281
313
293
329
292
278
363
340
349
292
348
281
352
245
302
279
292
411
351
359
339
333
239
343
339
283
362
351
316
234
263
321
344
183
360
258
291
291
319
326
246
330
301
321
288
276
322
379
374
330
257
315
312
353
311
315
350
300
288
321
345
313
282
295
379
280
360
229
230
353
340
313
331
326
299
281
317
300
325
255
268
240
275
365
325
355
374
264
279
265
401
349
315
390
331
390
378
320
309
286
308
307
389
345
258
254
369
332
334
258
216
289
242
303
309
374
245
349
266
267
331
369
324
356
313
389
342
258
316
374
375
319
266
290
390
345
334
379
344
387
221
290
266
296
330
319
220
317
283
339
300
386
229
349
403
292
296
305
323
320
338
353
342
324
338
339
372
319
358
296
225
340
240
320
286
270
262
357
284
378
316
308
362
348
382
275
373
327
319
272
379
280
367
375
246
317
274
264
233
294
317
327
298
359
292
352
274
260
257
375
293
344
317
353
270
272
354
393
296
229
307
313
288
319
304
373
278
313
313
302
307
266
299
344
351
284
303
295
223
251
320
336
363
330
393
312
390
308
286
313
323
347
378
380
265
294
305
376
338
357
365
337
286
356
353
303
244
302
362
275
343
351
357
314
287
361
316
340
320
331
394
403
283
221
284
302
349
313
304
270
301
318
226
314
320
277
324
304
417
249
313
293
236
283
265
353
303
271
405
282
242
317
350
349
250
374
372
242
300
267
320
262
276
316
295
316
253
318
279
225
272
309
334
362
313
368
356
330
360
334
336
261
267
331
242
287
247
320
252
340
340
353
356
283
335
343
301
312
336
264
314
337
231
326
275
293
247
248
281
337
274
334
413
269
356
372
377
256
288
290
354
336
308
328
302
367
299
350
323
326
276
272
350
277
372
326
352
292
342
266
308
374
325
311
340
354
318
310
325
308
339
385
360
356
311
348
315
356
370
258
260
322
303
314
311
374
363
306
266
417
288
411
338
354
247
303
311
329
312
303
341
349
343
257
340
335
338
341
343
327
259
333
248
360
293
325
306
382
333
343
258
272
301
373
341
282
363
201
340
327
340
297
408
352
318
345
328
364
363
324
313
311
276
346
318
261
359
285
337
361
331
325
355
333
257
307
374
303
259
312
274
360
346
277
330
316
308
320
368
370
217
346
312
349
343
389
328
402
209
331
386
297
350
355
340
264
222
335
391
314
337
392
294
239
281
276
332
407
364
363
354
298
392
393
393
325
417
313
305
320
276
345
298
347
276
283
326
264
383
352
336
346
274
337
240
304
390
417
374
355
315
280
356
325
338
306
323
323
353
263
280
246
335
328
201
292
330
319
350
249
366
268
337
294
351
358
263
302
361
292
308
286
339
327
369
368
268
263
311
192
306
278
355
313
349
306
288
340
346
414
227
354
308
232
290
359
386
313
353
323
336
266
311
317
262
340
341
250
252
277
371
341
399
214
345
328
306
297
380
355
297
335
343
277
355
321
361
322
376
375
290
314
282
386
317
324
211
259
292
333
343
267
351
303
289
252
320
262
319
309
369
234
288
327
327
317
380
265
280
281
305
298
330
309
358
393
319
290
281
314
382
381
322
304
267
317
272
307
263
405
277
293
252
258
276
296
338
342
313
325
313
391
253
301
364
311
287
237
345
310
252
205
298
258
276
253
275
357
360
284
395
301
282
250
357
278
338
327
312
373
299
282
324
387
337
302
325
289
338
240
336
308
346
239
304
369
363
269
385
311
306
368
272
308
392
278
284
296
308
323
346
357
385
306
338
317
331
238
287
385
307
321
314
266
329
377
351
310
273
261
367
313
275
313
337
380
313
319
344
401
365
370
335
310
297
380
275
324
350
320
304
273
303
263
327
291
344
343
280
378
357
241
388
418
276
377
364
273
391
294
191
223
240
303
365
374
317
332
340
376
281
237
275
322
236
282
342
316
337
339
220
338
403
345
316
274
291
295
341
199
308
338
313
328
381
301
312
285
316
337
278
341
347
264
280
312
371
321
328
305
284
327
275
326
265
372
341
383
237
331
300
279
347
283
236
346
300
297
344
360
348
239
326
349
349
324
333
318
272
334
289
384
300
291
299
291
350
324
270
235
310
327
387
280
222
308
348
329
355
318
304
299
356
343
316
331
285
309
353
307
289
375
348
296
387
307
317
328
349
338
317
330
273
365
354
267
353
284
364
290
373
380
313
311
284
333
292
314
249
310
373
331
344
355
371
320
344
382
311
356
262
351
309
291
277
289
235
294
255
302
266
333
335
257
240
329
258
387
309
323
307
330
323
339
310
362
393
368
263
298
317
277
369
360
260
253
280
338
340
321
267
344
373
300
300
311
344
256
303
365
308
369
322
264
251
284
240
271
343
301
279
210
286
310
375
335
325
308
297
327
372
347
343
324
238
423
326
327
298
247
338
293
304
322
268
331
291
404
241
416
337
304
298
376
365
330
363
224
337
399
349
331
215
260
275
285
252
322
317
364
273
325
376
315
376
325
275
261
343
317
313
254
305
409
306
383
387
303
256
286
314
323
321
358
344
314
339
309
269
235
285
273
290
263
357
273
220
312
280
283
332
343
315
308
314
335
270
247
317
252
281
286
319
354
290
385
325
292
242
313
291
306
360
354
324
322
265
304
299
276
408
383
303
314
332
307
346
285
354
331
356
285
255
289
345
351
289
380
298
301
288
355
318
279
296
322
284
324
362
293
330
314
352
334
282
331
360
357
351
326
427
309
310
262
269
228
365
273
293
337
212
388
303
292
345
254
284
260
270
321
265
306
277
257
320
339
283
346
392
366
285
322
367
337
443
359
310
252
331
344
363
292
362
314
319
297
275
261
349
390
210
259
330
382
329
314
349
234
296
308
367
367
345
272
340
270
274
317
320
302
360
227
302
326
307
283
356
361
296
313
306
319
345
323
316
216
314
277
405
369
368
324
311
264
270
254
334
219
369
361
249
280
332
193
307
308
331
314
342
293
301
379
292
362
249
307
226
384
314
353
272
336
291
289
387
271
339
216
356
312
262
382
316
311
292
325
304
243
303
306
310
269
258
314
332
317
284
285
354
398
330
390
289
228
303
351
318
376
349
270
308
335
382
339
325
280
293
317
359
273
284
314
341
360
361
302
288
394
347
279
374
319
352
302
329
355
329
350
350
326
340
367
391
300
389
372
335
308
176
265
275
290
326
322
268
269
273
278
301
311
201
300
262
401
290
312
390
303
278
343
354
392
282
273
329
262
307
308
291
287
346
304
262
277
243
314
360
299
297
271
304
255
309
311
307
289
325
336
343
330
337
292
337
328
318
259
283
304
286
310
276
295
272
290
381
272
347
284
236
355
356
331
322
274
312
253
253
314
364
307
316
385
293
237
305
353
371
273
367
304
325
314
338
250
275
363
361
332
323
308
369
339
346
310
330
326
281
359
239
341
302
208
343
270
339
297
322
383
369
307
196
306
320
367
332
305
280
236
310
417
287
345
295
357
255
225
334
314
344
312
240
314
346
344
341
328
311
259
282
307
362
363
346
327
311
287
337
302
301
236
398
299
297
288
271
343
353
288
201
266
306
315
298
310
365
315
269
284
331
274
282
288
265
290
364
279
374
348
369
207
288
339
273
314
383
342
354
380
369
295
313
345
336
401
316
261
346
362
211
337
265
350
365
352
376
335
353
328
343
346
415
381
279
344
315
393
289
293
356
267
341
311
337
360
270
328
303
274
318
328
417
292
307
348
294
347
344
265
296
308
346
332
371
341
371
388
340
275
378
332
352
285
298
366
281
346
320
315
249
276
300
331
309
213
314
341
306
319
335
278
425
213
262
367
280
258
274
278
293
276
377
388
307
265
318
328
370
257
294
316
313
299
332
357
232
379
320
384
307
308
289
399
245
392
353
385
317
310
338
287
308
270
357
366
370
311
256
288
317
401
338
228
299
372
382
221
265
306
373
267
407
266
307
217
304
308
337
322
304
251
241
340
342
287
377
296
264
364
329
377
275
370
333
298
273
341
310
336
377
332
301
256
290
376
377
317
342
327
353
267
355
337
350
370
258
300
333
333
333
264
310
290
388
355
265
322
321
352
365
355
303
363
302
280
292
325
370
333
377
281
342
277
305
385
313
293
336
360
318
302
321
321
307
310
362
279
225
294
274
285
289
312
358
331
325
263
353
320
337
305
374
320
323
305
302
349
279
417
328
347
339
280
255
307
318
345
304
315
303
322
351
399
314
287
346
271
393
319
289
254
321
282
301
296
372
358
318
294
288
311
276
253
331
294
344
330
346
283
343
316
323
325
322
270
309
205
327
302
335
385
308
368
293
345
322
350
252
333
300
194
343
287
291
233
433
295
327
367
364
354
358
296
396
262
281
309
311
284
328
397
354
265
280
362
341
332
356
268
314
352
299
354
393
299
216
362
248
295
240
334
238
329
264
330
295
342
321
388
288
289
314
362
242
337
295
240
279
280
300
311
273
237
264
379
251
381
304
347
364
321
359
276
272
329
316
270
146
262
284
343
255
359
346
283
332
337
386
287
387
344
334
343
355
237
351
390
327
307
360
325
238
328
375
297
291
276
339
326
337
303
346
368
365
293
348
283
328
304
329
340
332
287
382
281
368
390
348
331
368
336
274
347
376
321
300
296
281
365
373
293
252
346
300
380
314
329
349
294
317
336
344
357
318
318
351
345
276
352
328
240
299
280
306
309
365
293
302
246
289
284
344
353
313
344
367
274
312
302
260
305
323
354
336
308
363
214
247
276
336
292
277
325
269
321
373
395
239
316
302
322
335
293
308
382
239
309
355
323
353
309
392
326
353
333
273
280
263
311
281
352
303
367
270
227
318
454
337
375
180
349
260
369
337
312
251
252
264
364
248
311
379
314
256
308
387
346
413
358
222
291
348
343
334
319
348
341
315
284
323
372
414
385
281
318
318
379
329
300
310
249
338
286
203
297
328
321
318
301
361
362
350
359
403
286
326
292
332
294
379
355
318
245
380
371
362
338
278
335
324
427
351
381
370
399
313
248
280
250
294
295
375
332
247
329
292
389
263
273
260
360
332
304
395
307
346
374
355
313
276
326
323
351
311
311
279
356
355
288
252
330
326
287
330
261
371
386
297
298
271
299
342
280
322
319
297
387
391
290
370
304
283
280
305
336
234
321
237
243
395
352
353
351
337
272
258
307
308
351
292
340
355
333
292
372
282
283
331
286
384
290
267
320
309
338
335
302
346
334
352
326
252
317
298
330
351
280
364
346
340
279
284
337
302
333
349
410
336
337
297
315
410
326
364
372
380
312
270
217
343
326
245
370
339
374
277
321
258
222
300
390
307
303
330
366
311
290
345
342
347
315
242
357
293
410
273
389
301
350
345
315
322
320
250
314
394
336
276
328
312
333
249
369
331
256
301
266
270
335
355
313
290
294
300
243
338
253
366
369
313
276
317
310
354
365
288
363
344
255
280
229
348
274
357
269
324
269
350
297
310
368
247
323
415
314
328
298
304
341
304
322
328
368
323
340
343
320
346
306
306
325
234
373
243
350
382
293
302
254
372
300
257
305
293
330
292
368
258
281
292
336
399
276
341
346
281
342
269
248
394
303
331
356
286
321
329
280
351
306
252
320
319
360
368
356
352
278
387
338
257
327
376
316
307
252
255
249
378
316
274
425
344
343
305
269
310
354
287
353
285
304
309
287
323
341
317
393
336
261
295
346
324
321
304
361
275
302
347
313
296
315
247
263
325
357
315
263
323
271
258
294
307
376
337
271
332
390
317
247
375
276
283
297
321
323
293
235
331
337
318
301
307
191
386
340
260
379
292
347
363
328
312
308
344
425
325
326
330
355
388
319
263
282
326
270
366
312
309
307
362
333
291
359
350
425
323
312
405
410
312
314
323
323
263
237
230
287
311
261
290
301
283
327
290
292
322
340
334
368
311
326
249
259
305
314
295
279
344
326
339
289
284
355
233
389
333
323
358
324
306
341
290
272
360
338
261
319
313
329
335
375
336
306
374
271
285
370
315
352
361
336
326
314
344
291
329
284
280
310
305
326
370
329
285
270
304
344
201
313
342
317
317
229
341
305
319
263
361
245
224
291
237
253
308
336
314
280
350
418
330
369
310
286
258
343
216
311
371
292
338
320
289
304
436
311
305
397
306
335
245
353
300
320
345
270
365
295
246
339
357
326
406
382
342
330
301
404
316
309
254
288
361
301
283
313
280
283
281
256
355
291
289
290
274
312
360
387
277
293
371
332
343
303
276
337
264
357
296
318
343
263
402
298
325
335
373
322
387
245
281
352
296
242
364
292
330
287
288
384
393
340
385
255
326
301
287
263
299
316
265
327
313
319
393
318
298
285
370
339
320
321
263
252
382
333
310
309
363
298
254
375
366
344
206
321
318
378
333
284
378
271
302
279
396
361
296
331
315
374
340
279
337
457
268
231
250
297
288
386
323
318
403
312
309
325
289
381
326
296
360
263
311
221
289
299
366
238
319
292
300
333
254
339
289
371
329
338
337
356
285
422
313
310
313
431
288
250
393
280
328
297
355
403
385
312
361
342
305
337
322
352
331
347
289
322
295
308
320
336
358
320
287
327
252
318
418
304
307
314
230
351
305
305
242
344
348
285
363
336
341
387
376
322
276
374
317
362
321
277
344
341
259
355
325
354
275
357
363
380
338
304
365
440
235
294
275
367
233
338
302
317
372
258
267
336
313
332
193
321
268
295
377
241
393
308
283
347
311
371
265
341
395
342
287
321
330
304
312
291
375
393
318
303
239
302
216
327
327
321
327
312
342
266
339
266
329
360
213
269
258
368
267
345
344
236
266
287
362
342
271
334
324
328
298
369
334
218
355
337
241
342
337
243
340
343
272
280
340
263
283
329
339
311
362
283
305
307
252
222
308
297
342
283
245
382
274
288
323
368
321
382
328
341
393
325
271
347
306
347
348
273
371
342
353
356
289
267
304
275
345
191
303
299
347
349
265
375
396
280
375
306
290
272
329
343
284
299
358
316
330
251
313
382
274
315
241
340
382
309
302
389
335
350
286
230
327
283
305
320
319
342
356
320
305
316
304
281
401
335
287
326
352
318
331
294
307
336
307
286
331
287
338
265
275
275
270
286
351
380
343
351
311
384
269
356
384
247
207
346
289
305
320
377
320
289
295
323
279
351
335
306
293
390
231
384
321
271
296
347
351
257
283
251
291
336
296
382
208
358
355
202
358
261
260
291
331
318
309
388
259
259
260
335
362
340
386
361
360
331
376
224
290
326
260
314
315
223
354
348
324
259
382
396
267
362
329
324
325
336
393
372
358
364
351
300
413
315
322
358
338
406
232
311
323
400
287
388
360
305
321
306
402
288
380
252
316
291
295
338
384
260
259
324
333
321
283
225
330
365
357
323
355
346
305
361
256
263
297
356
371
271
396
339
368
366
322
319
321
314
280
341
365
379
398
373
219
367
327
345
378
288
281
278
242
338
244
245
332
305
375
418
261
284
327
262
272
387
297
443
374
320
324
311
295
291
321
382
327
334
297
400
344
356
303
383
343
309
282
320
304
388
334
346
308
320
270
301
272
312
278
287
356
336
326
355
390
320
275
368
358
308
274
313
309
284
242
268
249
299
366
333
395
354
333
333
358
318
254
292
278
384
350
296
261
305
327
238
323
347
266
261
326
368
379
326
287
287
373
372
326
327
310
285
237
281
299
356
305
331
248
299
395
397
322
208
313
385
309
380
307
320
341
363
410
335
354
346
345
309
302
358
408
281
317
229
303
318
336
347
358
390
336
376
361
383
363
238
372
303
307
303
333
293
350
265
319
318
237
354
304
296
310
351
342
273
335
385
347
219
209
333
307
312
365
229
270
316
344
393
314
350
291
336
316
316
338
329
219
346
276
307
348
355
251
281
320
260
290
301
353
245
325
314
392
256
361
283
336
235
347
282
305
342
330
370
251
297
259
307
275
280
314
254
267
288
318
240
352
363
342
343
287
317
320
200
385
331
328
282
284
342
375
345
261
389
223
309
321
313
280
296
298
297
414
393
276
266
256
271
358
333
276
263
412
319
417
300
348
400
296
328
370
267
310
278
323
367
330
335
332
277
287
351
254
364
326
315
298
338
362
275
340
269
365
331
293
378
350
308
306
362
338
382
338
372
307
332
317
288
390
301
323
358
225
205
295
266
341
337
285
370
367
384
249
316
281
253
339
242
389
386
239
241
350
314
316
316
383
285
306
303
287
293
282
249
367
262
259
285
322
328
321
319
304
316
253
266
371
286
373
264
317
288
359
264
402
321
342
282
310
296
277
358
339
384
336
302
340
361
308
300
358
356
369
287
314
327
405
348
293
286
330
308
302
356
383
252
304
376
310
286
307
351
353
252
295
358
347
327
398
281
288
293
349
384
236
354
366
253
408
394
285
336
326
295
354
294
269
243
296
338
344
349
298
232
333
275
337
272
372
337
253
345
329
321
308
369
284
352
351
329
288
299
345
221
344
331
304
350
389
364
327
362
282
287
328
288
289
273
362
347
356
369
287
298
304
409
281
309
232
332
270
267
334
347
372
327
287
309
366
376
250
300
313
322
331
286
339
295
324
275
279
285
340
291
372
371
343
270
353
299
346
299
310
368
385
356
386
258
342
304
354
352
324
291
333
393
325
342
325
352
322
394
254
262
325
307
315
252
293
311
291
284
245
245
340
317
274
263
268
353
341
311
305
364
302
287
272
350
278
385
358
357
256
255
321
350
244
380
333
328
272
398
312
287
348
302
315
256
275
339
317
305
389
364
303
329
308
227
377
375
306
271
334
326
346
310
289
259
282
284
328
301
313
305
292
311
321
247
255
265
324
310
365
215
319
273
248
324
333
292
266
318
298
360
308
404
319
256
168
331
293
279
232
337
205
334
303
228
360
291
351
381
299
310
339
388
256
335
320
288
264
302
290
352
280
287
376
370
264
308
379
336
405
313
394
323
297
258
319
373
337
336
302
349
343
248
356
302
340
305
180
269
311
245
335
372
297
320
320
265
247
311
329
373
283
367
379
289
337
353
294
319
284
339
260
274
368
334
298
293
270
274
285
309
278
355
291
386
375
327
370
363
398
259
298
299
384
280
333
334
300
308
381
346
288
317
369
349
292
275
333
349
374
310
352
314
257
341
358
343
348
364
293
372
365
296
375
326
290
333
310
370
349
357
333
377
353
380
269
276
375
308
256
357
312
291
299
339
277
332
317
299
328
263
399
308
264
330
313
360
315
266
251
320
394
285
382
301
284
311
292
295
382
397
347
281
331
312
364
279
346
376
301
319
363
304
315
320
360
282
283
283
234
262
391
314
273
334
383
343
343
372
381
311
321
356
361
378
305
306
338
314
310
339
312
337
304
342
259
268
361
249
389
311
293
366
340
256
259
304
223
299
316
304
406
343
386
321
257
371
370
233
300
364
323
298
322
306
367
301
263
334
277
278
342
360
372
282
348
176
288
259
267
336
284
255
321
370
327
279
316
248
352
339
319
201
331
324
269
309
255
274
367
296
314
373
282
327
304
354
299
350
351
251
320
329
283
333
310
367
377
370
350
361
305
397
279
273
214
404
291
338
355
292
358
358
301
298
330
235
342
329
271
357
319
304
359
226
359
313
210
309
262
302
356
364
348
351
317
331
276
288
391
234
398
338
275
277
353
343
243
379
288
358
335
325
316
265
278
260
299
316
365
356
316
354
307
245
306
290
372
261
310
296
327
351
280
320
317
352
230
295
320
202
263
320
357
325
330
264
345
308
325
279
403
281
337
346
364
327
298
252
329
276
262
328
322
347
334
359
341
312
319
286
379
281
290
293
360
259
224
302
283
328
310
323
254
270
357
305
344
273
336
360
351
308
325
356
343
266
316
320
385
330
322
305
235
345
249
304
289
267
361
292
295
279
361
310
306
264
372
232
295
307
246
324
390
365
315
325
348
341
335
290
372
377
396
333
344
400
318
321
314
369
341
300
250
313
333
313
284
296
324
377
361
311
326
253
292
340
301
360
318
314
338
325
359
359
322
271
254
329
283
332
345
279
315
308
408
321
249
295
267
310
276
348
329
284
358
391
319
274
253
316
307
303
374
359
381
350
412
354
217
278
288
265
307
335
317
246
313
333
355
348
297
368
313
282
279
387
328
289
323
337
350
283
319
244
326
291
291
454
365
264
279
273
254
293
346
395
306
326
378
328
334
345
317
328
403
326
375
279
355
280
341
296
197
319
362
252
346
324
420
336
256
303
294
317
267
382
244
249
346
333
363
276
300
280
296
288
340
303
282
285
253
308
296
319
344
370
318
372
304
305
253
309
301
283
289
298
284
309
356
324
309
274
374
255
386
359
306
306
311
353
312
290
309
337
325
284
344
274
309
346
241
339
346
375
277
316
283
232
306
301
270
309
268
352
275
343
363
245
363
284
310
244
312
308
269
301
322
273
244
342
364
364
373
304
328
333
380
269
358
327
309
311
333
327
291
319
348
187
203
307
253
264
324
292
332
319
330
235
300
334
283
349
381
283
295
302
219
311
386
306
324
370
334
292
321
224
313
396
351
348
315
309
328
365
262
397
326
304
282
214
341
323
256
257
268
401
260
327
356
318
288
284
216
273
358
311
288
368
335
236
202
358
273
291
353
325
299
277
289
368
286
376
401
301
335
349
288
281
302
259
269
306
265
330
250
306
357
266
270
300
360
364
359
341
316
261
263
218
360
328
242
345
310
350
304
336
303
350
321
310
307
273
326
283
216
320
324
341
320
366
309
288
291
360
309
326
324
386
322
349
287
179
292
351
308
417
353
374
263
362
325
258
272
291
265
410
281
325
325
254
360
233
347
287
222
322
262
291
291
305
341
350
302
273
274
344
348
288
266
325
309
327
278
353
291
259
294
264
355
283
369
327
342
383
327
279
336
374
399
369
325
316
326
313
255
299
310
398
252
345
352
208
358
363
407
329
353
401
381
333
333
310
257
259
342
276
360
344
256
296
303
300
350
280
387
293
323
307
315
213
353
318
293
293
352
365
273
319
310
313
322
357
323
301
280
304
287
296
338
353
347
252
328
299
340
318
395
334
281
341
290
316
334
281
329
342
288
297
351
369
297
359
230
265
357
332
271
278
337
302
398
317
339
343
317
239
335
311
282
316
281
329
287
363
388
325
298
258
365
277
315
296
400
350
426
365
299
273
333
239
261
337
289
259
413
298
332
260
340
355
336
330
367
348
350
271
319
405
363
305
305
234
350
326
307
332
344
324
304
294
306
321
270
312
335
390
256
312
314
320
347
302
262
240
346
279
337
335
271
373
311
316
354
309
206
361
323
339
410
334
359
322
230
407
335
303
312
267
274
299
380
315
331
343
267
336
305
323
348
329
296
303
277
323
357
326
324
350
278
368
309
258
261
322
383
390
315
248
254
313
301
373
357
279
420
273
292
287
340
298
289
282
411
266
292
373
330
303
260
301
319
341
313
386
306
313
351
395
371
345
339
358
360
277
247
289
230
387
365
303
298
250
248
286
259
428
361
345
314
326
320
308
290
382
300
268
342
271
313
226
338
263
371
368
279
229
337
255
339
377
284
260
289
369
322
297
325
360
346
304
336
212
346
251
342
441
268
250
269
259
371
287
315
306
267
297
372
276
364
281
332
228
344
319
352
325
246
260
294
352
274
397
330
251
322
311
340
356
354
348
251
314
197
273
250
360
362
323
286
284
310
314
322
280
315
256
283
283
367
371
280
286
322
320
284
339
367
386
309
373
270
398
324
265
233
340
259
267
365
363
293
219
335
238
296
325
269
322
305
336
384
385
286
298
303
234
259
294
333
343
336
323
385
349
283
261
325
327
377
351
329
285
278
256
350
280
376
305
345
264
317
275
294
301
338
399
346
312
391
342
334
257
298
323
253
330
324
348
396
361
344
296
313
308
376
325
302
262
275
274
305
343
331
332
296
351
319
297
334
337
334
358
335
318
267
310
338
309
311
404
312
364
366
423
277
311
277
272
333
316
379
314
341
305
312
289
281
346
328
287
363
317
246
343
312
279
327
381
351
309
343
323
309
378
255
314
307
432
349
268
337
357
243
311
322
360
302
387
309
323
323
293
302
277
368
225
333
215
351
299
365
317
356
268
334
384
358
328
368
411
376
259
325
270
374
340
266
280
347
379
282
319
258
272
322
294
315
271
366
248
261
316
378
342
234
280
354
262
296
355
283
276
371
373
252
328
333
349
235
346
322
316
358
390
350
377
324
325
273
364
265
278
271
283
347
279
372
349
238
242
292
334
288
281
373
395
344
298
293
460
342
329
218
251
309
290
318
323
206
343
261
372
314
271
342
355
279
333
262
398
247
302
353
280
229
354
309
431
302
403
367
353
335
322
283
325
364
321
268
320
301
357
287
320
310
287
287
281
304
355
305
273
299
323
401
313
246
265
392
262
310
266
249
381
311
345
269
318
319
286
308
339
371
288
202
351
290
337
297
305
341
281
296
273
381
361
257
381
347
288
311
318
357
310
282
343
229
372
331
364
417
331
342
379
309
303
251
387
302
293
258
399
338
404
372
331
259
245
341
352
322
227
305
302
275
310
269
322
281
321
266
294
307
268
261
316
339
309
328
364
258
279
360
307
267
342
357
377
316
271
319
297
345
235
273
326
333
376
390
362
333
292
275
267
278
298
353
300
321
324
388
321
309
311
270
335
377
337
287
337
287
284
278
329
410
292
331
285
341
288
306
311
215
376
269
316
359
298
282
281
311
331
311
268
332
204
312
327
296
327
410
322
268
358
298
356
296
261
208
316
318
330
370
351
295
308
394
324
330
309
277
328
342
267
333
415
330
299
306
392
332
291
306
308
349
265
333
319
298
305
185
331
253
257
328
297
423
308
298
386
265
288
367
384
290
296
343
385
315
301
244
328
328
301
275
338
357
395
255
331
324
372
361
290
331
328
306
308
304
386
353
311
231
386
313
354
302
343
342
279
272
233
272
278
247
236
320
334
377
337
337
350
242
316
240
338
250
376
404
275
336
408
305
450
367
298
335
415
276
358
327
262
349
383
256
236
254
298
317
316
342
299
316
238
347
367
283
366
312
290
326
311
306
336
344
306
324
310
356
354
270
354
331
333
310
294
305
299
352
272
329
330
332
287
329
269
340
343
303
192
356
298
296
379
349
329
275
279
336
307
335
292
270
256
287
302
383
322
301
255
350
362
376
431
360
333
229
348
302
313
277
339
244
261
344
209
241
316
326
330
418
322
268
351
357
340
387
316
285
296
270
298
233
385
411
320
265
258
253
230
286
299
380
314
242
323
287
337
300
279
328
384
372
364
315
229
322
279
327
371
295
383
217
295
309
312
352
337
419
360
235
338
337
316
399
299
280
354
315
316
291
301
276
275
264
329
268
258
419
297
337
347
300
350
266
332
377
318
326
397
342
312
298
307
392
258
302
331
386
298
325
395
317
311
367
336
299
352
285
267
255
216
357
255
302
291
377
328
345
265
319
269
256
390
324
375
325
327
351
386
353
278
313
310
302
246
364
286
427
296
326
325
289
327
337
364
333
355
323
403
224
250
294
234
263
304
306
308
251
332
324
272
337
288
366
333
295
347
307
319
349
350
406
264
338
342
290
352
304
364
239
346
387
342
372
293
322
337
292
304
340
295
314
372
321
340
345
364
311
342
355
261
419
290
275
333
318
367
297
394
291
321
293
355
382
306
260
242
327
253
303
305
310
316
334
215
278
314
289
319
327
235
335
345
309
316
323
242
291
306
326
285
268
273
412
372
344
361
335
247
207
268
304
351
376
393
288
397
364
274
357
369
251
305
342
244
325
333
319
375
296
296
259
374
264
285
315
390
391
270
296
320
288
240
373
300
306
267
276
316
282
237
307
314
418
372
339
365
354
325
255
280
299
332
326
249
276
371
291
193
283
326
306
226
335
373
365
373
321
370
311
285
283
243
316
311
310
302
365
295
319
290
301
355
224
328
314
248
280
334
345
317
337
253
372
311
349
300
391
274
242
243
309
312
311
240
340
277
303
282
273
405
302
306
328
279
300
246
369
313
299
379
323
326
289
346
297
363
301
339
290
343
259
317
256
278
305
213
403
272
268
284
337
369
298
332
291
277
306
395
351
295
322
358
310
210
297
260
286
274
286
307
347
296
365
323
296
325
364
291
328
290
392
401
359
291
299
308
253
358
255
336
344
307
266
368
283
313
287
401
296
392
319
293
346
373
270
364
359
305
316
306
266
380
335
318
390
369
324
313
361
289
391
290
296
334
247
372
369
290
348
381
339
416
374
304
255
332
353
298
185
314
329
335
297
288
319
346
303
270
357
345
335
388
372
246
274
279
238
313
306
307
333
340
312
349
396
298
356
397
271
307
322
387
360
292
408
345
405
344
299
339
264
295
289
308
298
259
285
364
365
272
357
207
358
377
356
314
276
344
321
298
295
302
368
348
291
291
304
288
345
336
388
300
325
297
319
297
293
375
226
340
334
272
361
295
294
346
354
276
172
289
321
256
285
331
324
296
328
294
357
306
310
356
303
344
304
334
260
352
329
246
305
351
337
286
291
307
317
328
289
352
285
353
309
343
349
327
245
411
394
309
294
366
332
319
295
387
348
329
345
293
337
341
362
342
393
406
322
295
229
258
201
267
328
313
316
300
260
361
283
299
296
361
252
330
266
376
307
364
322
264
361
331
409
280
232
380
285
333
216
350
406
282
389
310
383
316
353
364
332
306
380
363
336
279
299
235
337
264
352
248
321
264
276
307
330
304
257
389
332
375
382
304
297
390
326
311
440
355
313
280
297
377
324
344
282
322
375
320
291
335
349
327
314
333
290
314
324
318
329
259
386
328
347
265
339
396
300
301
295
397
249
281
297
349
326
263
316
357
319
354
356
409
367
337
275
310
284
357
361
378
345
338
307
266
339
284
345
331
310
332
271
256
253
379
291
309
372
278
366
259
275
283
305
415
325
279
333
334
329
317
334
331
317
360
303
344
298
299
389
320
408
333
382
319
288
391
341
386
334
227
372
326
348
393
335
314
319
287
275
341
321
397
343
336
250
312
314
334
332
249
306
274
323
337
169
327
235
341
370
345
319
333
254
345
305
349
347
354
325
328
252
334
262
373
285
313
269
240
349
352
332
324
288
350
271
264
331
349
270
345
253
405
317
407
354
283
353
307
339
298
309
328
406
390
305
338
270
313
296
296
239
339
363
340
356
312
257
337
274
328
342
255
374
346
322
263
344
247
413
340
324
398
262
328
387
314
350
275
323
297
353
265
304
317
328
316
366
395
303
405
310
246
197
336
316
315
277
306
314
332
288
205
322
295
339
334
274
266
316
319
357
306
296
282
307
344
326
325
374
333
265
264
381
342
363
338
369
361
297
331
335
322
338
348
352
393
346
275
311
366
244
356
305
295
339
268
293
305
295
287
298
297
319
228
310
336
398
316
339
344
322
264
324
365
288
368
401
312
294
312
379
297
291
258
290
352
356
312
266
297
380
335
321
368
283
365
305
233
269
293
333
298
398
325
345
332
318
346
323
273
352
336
324
323
309
382
295
316
304
256
280
326
356
352
333
361
325
313
264
307
315
276
295
346
339
322
279
202
335
392
330
238
244
349
404
300
329
290
279
299
300
292
334
331
219
267
314
306
365
324
300
322
345
347
360
327
337
288
358
282
279
290
404
341
409
284
362
342
341
333
376
375
376
321
285
337
370
309
286
310
387
414
268
306
265
339
276
384
303
302
417
333
343
333
317
304
304
375
345
349
219
326
342
365
396
277
340
335
337
235
297
275
391
341
287
340
402
273
287
308
308
307
274
290
351
339
388
329
348
265
242
320
357
287
362
357
280
396
323
362
302
282
347
316
386
372
299
382
293
315
266
300
322
388
340
383
241
264
359
291
395
341
383
285
268
319
298
283
332
255
344
278
330
332
194
314
282
253
253
344
320
374
344
248
348
281
387
243
352
289
395
326
322
287
354
285
386
404
255
259
271
340
345
396
347
334
344
342
286
316
332
355
324
306
378
387
392
299
284
309
315
317
339
253
350
332
258
425
306
387
228
271
340
329
245
285
290
254
346
368
260
282
266
278
256
357
353
350
317
269
306
323
382
342
398
330
383
345
342
213
255
336
363
315
262
241
303
208
360
310
285
282
298
212
387
368
385
410
387
297
274
341
366
279
242
271
346
299
249
345
267
417
320
313
322
348
259
331
261
351
256
320
354
371
286
266
253
352
349
362
337
355
327
359
396
352
326
453
295
274
349
270
325
320
266
276
375
228
359
366
302
261
269
370
375
243
280
346
280
295
355
328
335
236
387
300
344
321
357
333
279
248
379
258
270
307
250
324
297
337
358
381
327
360
301
344
240
254
386
300
361
393
384
333
285
369
349
297
397
256
326
232
304
273
285
471
438
350
343
332
334
282
294
310
235
297
284
217
377
309
262
264
304
352
310
311
410
364
272
334
385
339
329
352
346
255
343
402
345
246
374
352
277
327
325
286
272
319
375
349
369
356
305
249
306
292
326
330
334
395
372
233
352
409
325
300
377
350
412
302
327
236
350
350
311
267
297
358
350
349
292
328
319
280
317
313
354
335
386
268
315
309
366
380
279
395
305
371
261
337
297
242
260
331
362
320
408
345
351
355
229
282
318
299
269
310
326
268
306
323
277
256
315
321
343
409
281
381
310
282
374
354
316
295
294
330
268
348
272
333
284
344
326
267
322
371
418
355
236
319
266
257
292
324
234
239
348
291
310
304
306
385
277
353
210
325
359
294
325
268
336
323
329
296
346
259
308
377
245
346
347
316
322
260
371
331
298
276
357
359
285
275
326
288
296
329
399
367
274
323
323
328
359
422
260
342
296
326
223
417
314
398
328
330
372
258
373
402
273
263
344
327
357
266
308
286
306
352
345
261
353
352
396
252
308
286
295
287
285
336
334
300
336
306
307
243
324
279
342
334
331
408
361
247
388
374
380
290
339
295
323
326
283
330
331
363
347
330
293
283
328
343
392
335
356
344
310
352
287
313
231
317
311
261
418
311
365
375
333
350
352
285
296
320
229
250
291
244
336
319
307
308
211
252
371
279
326
319
332
348
307
285
272
234
329
270
367
284
340
257
384
250
327
336
298
343
226
308
319
286
285
357
302
268
343
289
253
329
380
271
347
340
323
297
292
377
277
327
230
325
357
335
294
344
369
361
354
279
303
275
299
273
353
335
258
262
331
236
256
310
315
282
379
236
337
316
337
267
313
279
259
291
303
336
341
329
357
330
326
340
312
371
346
365
340
374
236
296
347
295
359
354
370
306
370
336
416
359
323
302
321
322
282
343
194
311
338
253
240
328
179
293
274
265
368
354
318
310
260
282
362
385
223
344
335
282
226
307
417
389
308
356
259
296
344
347
378
334
250
386
319
292
285
303
357
249
316
261
303
208
347
220
307
291
250
393
295
298
306
310
355
349
269
332
388
299
332
316
275
325
330
333
346
350
285
283
273
331
259
294
244
339
292
258
351
300
320
316
296
297
334
390
394
277
294
323
358
348
331
314
274
347
319
231
312
379
285
386
326
318
359
310
287
346
312
332
326
314
363
270
275
291
410
250
321
327
294
346
366
353
270
321
333
331
258
226
368
270
382
306
327
281
408
308
232
291
275
351
271
349
293
374
287
313
296
231
354
351
259
176
261
315
275
265
336
293
274
211
328
340
306
361
289
429
341
328
315
299
314
239
277
321
285
359
231
375
332
395
312
265
361
323
329
399
268
250
332
319
386
359
306
269
315
266
319
287
286
333
355
330
287
242
320
364
331
279
316
231
328
304
298
306
359
308
370
294
343
277
370
347
253
257
307
287
423
253
315
345
301
335
329
399
304
315
304
342
304
376
308
350
287
283
326
326
286
276
285
358
292
236
330
365
340
297
337
366
355
309
261
349
320
306
304
394
314
248
355
328
333
338
292
257
354
332
352
257
284
263
420
323
281
308
342
321
304
343
285
352
222
367
251
245
245
320
345
414
329
322
356
300
300
328
291
276
345
299
296
283
362
261
351
299
356
325
412
291
324
273
342
307
320
340
376
321
345
288
233
334
388
342
289
330
367
263
297
289
216
306
373
339
366
301
275
367
233
336
323
281
282
343
335
312
363
312
297
353
272
379
336
329
371
314
303
296
279
273
268
369
321
364
338
289
312
311
328
338
311
350
359
289
284
343
271
284
363
302
259
271
383
362
304
340
366
275
345
427
357
374
235
366
443
368
356
343
249
331
320
345
294
269
348
330
280
281
371
353
266
330
355
290
385
311
323
411
300
296
252
276
346
286
298
346
313
373
334
389
328
376
289
300
257
313
330
282
290
291
377
376
321
375
343
337
299
366
286
343
188
377
261
359
320
275
244
382
339
358
321
355
276
294
338
282
272
338
371
355
296
320
352
273
280
425
316
336
324
356
324
292
198
309
275
370
334
361
359
366
315
223
329
337
295
309
318
325
274
267
340
291
328
335
357
308
262
208
382
341
374
257
332
321
314
344
267
385
321
253
371
374
396
328
280
302
422
326
355
345
374
289
318
384
276
329
301
331
386
234
300
280
289
342
239
311
207
333
230
340
308
390
258
238
297
296
283
292
375
358
345
265
292
406
318
263
308
283
305
301
321
318
298
391
279
279
367
328
351
321
228
410
249
291
287
315
389
306
333
305
265
294
309
292
262
323
345
297
316
351
376
299
308
277
304
327
248
347
371
364
344
292
229
328
347
338
350
270
370
321
340
225
294
321
388
240
283
332
323
363
442
356
341
334
337
234
348
326
290
299
324
348
375
383
325
350
356
351
335
245
297
348
288
296
286
296
320
329
359
331
376
307
308
310
228
359
306
206
351
304
358
262
301
282
204
351
291
257
356
360
267
359
313
352
260
289
284
272
185
302
300
314
366
312
353
315
293
285
266
307
338
316
344
335
321
305
324
363
309
299
352
293
340
344
356
309
287
424
249
258
374
384
323
298
310
377
286
374
360
398
295
230
326
314
291
266
313
306
202
337
303
335
417
335
364
299
240
360
321
333
376
328
344
347
220
281
233
305
395
325
283
348
335
375
261
262
353
341
325
378
345
398
324
340
285
336
351
265
342
308
316
336
352
293
307
204
255
361
316
278
347
305
315
352
274
300
389
356
319
288
321
252
324
385
245
354
362
280
321
331
278
334
347
346
374
280
346
286
246
365
306
411
356
340
321
376
321
357
262
364
309
294
297
344
327
302
347
394
326
300
208
411
290
376
370
301
357
289
322
311
279
362
273
365
291
354
280
235
377
310
297
379
281
260
205
346
278
272
385
346
368
319
290
360
366
320
408
356
260
354
367
352
356
329
358
267
322
303
345
294
335
281
331
357
217
348
252
261
321
309
376
265
353
299
311
363
285
432
352
228
358
247
352
328
355
303
324
241
378
416
391
316
348
326
274
249
250
293
316
268
298
352
315
278
292
374
324
358
302
330
241
307
302
338
295
278
334
406
201
256
363
325
404
275
365
310
287
371
262
360
354
330
331
250
275
369
315
427
349
309
249
318
276
330
362
267
339
283
373
321
391
369
308
332
234
420
345
379
291
293
331
300
358
293
305
317
295
281
378
375
316
332
343
352
306
290
318
373
298
262
346
392
299
380
307
342
404
312
271
280
257
277
357
298
318
306
292
291
344
347
337
393
310
333
343
283
398
263
376
319
272
336
414
388
320
285
146
316
308
317
334
322
383
319
326
311
246
341
316
393
326
300
292
337
346
335
312
356
357
393
332
228
305
255
334
203
252
369
301
320
302
262
327
360
289
370
370
286
249
342
271
291
269
201
323
264
246
343
227
371
306
358
286
248
331
285
308
349
337
366
310
329
375
277
287
338
284
341
258
331
294
340
377
397
314
300
368
337
328
252
261
318
327
233
318
276
386
346
267
307
366
325
320
249
365
265
357
349
294
312
289
337
247
382
293
345
252
347
299
324
321
273
236
331
289
341
375
331
304
273
343
266
327
261
313
416
303
253
266
339
298
311
310
388
282
293
386
275
302
286
320
314
294
292
317
317
326
253
354
282
361
354
271
323
295
310
366
287
329
362
341
239
265
353
295
377
383
332
270
288
250
329
309
323
313
303
313
265
272
321
331
278
359
284
328
376
275
367
337
316
280
313
341
353
321
311
303
316
365
379
372
357
250
404
281
323
251
310
398
330
355
324
278
322
403
283
278
255
336
324
335
377
249
305
287
339
341
199
322
282
349
336
327
322
405
304
308
325
293
289
271
330
366
247
209
242
285
337
293
283
265
294
413
338
328
392
337
335
290
311
330
333
321
296
409
255
302
286
358
400
318
333
257
294
356
301
422
408
264
281
342
297
297
321
276
285
328
248
252
358
355
317
344
338
321
408
370
357
363
376
262
316
351
327
296
303
260
303
378
258
386
365
311
333
319
342
373
339
295
354
243
266
263
291
218
308
287
341
346
357
284
226
299
393
295
323
358
275
262
309
239
321
273
295
300
287
403
358
245
326
298
369
326
369
284
322
365
259
211
355
288
375
289
328
303
360
325
342
283
328
344
311
282
282
387
283
353
307
327
347
336
228
373
267
367
239
262
293
319
316
326
392
360
380
311
216
307
272
318
327
328
273
329
351
308
289
381
309
339
340
289
358
320
331
327
232
242
281
396
364
392
362
314
266
321
343
363
315
278
353
380
337
243
318
297
358
336
247
343
269
345
338
304
271
277
344
271
321
319
291
297
263
278
365
282
291
248
353
312
390
278
414
334
331
338
298
339
312
315
352
293
226
341
358
395
387
364
334
314
317
227
353
334
313
253
303
339
333
340
350
323
277
266
373
209
339
272
333
325
275
344
347
233
291
270
275
328
351
252
309
365
363
281
284
401
292
427
235
315
319
383
367
291
298
332
287
282
273
353
245
360
351
384
235
345
329
312
320
390
295
345
387
351
397
433
357
276
343
253
313
251
381
291
336
285
319
354
414
289
347
245
326
269
311
278
312
373
277
347
290
316
327
376
315
278
246
276
331
259
403
366
340
290
346
320
360
310
270
340
316
313
283
344
298
370
292
303
355
219
333
314
274
334
333
295
347
245
310
376
316
301
287
395
289
336
356
305
403
327
340
323
295
338
346
266
250
317
183
341
326
316
332
316
272
318
307
329
319
275
325
327
184
265
254
292
338
247
297
291
289
309
262
306
388
297
319
338
274
293
313
434
351
367
382
316
339
275
337
305
279
353
396
315
356
294
282
270
261
224
301
298
300
308
285
391
323
327
367
349
268
259
268
391
330
235
255
381
255
328
291
304
308
328
271
328
355
324
336
334
273
297
314
332
293
315
320
375
317
397
350
367
321
339
332
232
353
385
276
292
329
335
348
356
281
331
356
313
280
253
289
321
379
397
341
370
356
355
293
345
300
300
280
323
408
338
300
284
381
342
308
422
328
299
312
297
352
354
251
364
264
339
287
368
269
342
275
294
307
349
362
272
242
311
247
307
288
338
286
311
339
344
304
388
280
248
325
236
301
335
328
249
288
346
429
368
370
294
270
283
281
349
297
291
316
336
352
251
286
245
273
337
313
204
366
319
257
251
336
330
309
317
374
391
287
260
334
288
310
330
349
311
276
335
308
245
350
302
370
278
326
207
311
297
320
291
319
390
272
335
293
368
350
351
322
289
349
271
292
239
265
288
334
216
326
370
397
368
328
241
376
387
277
333
268
311
250
327
440
301
275
292
244
298
353
331
302
410
362
277
294
276
349
232
274
303
322
327
212
314
286
317
360
394
235
323
273
346
376
332
336
332
375
349
432
363
414
351
328
427
273
325
368
363
310
302
345
352
271
339
282
370
320
376
337
235
270
289
325
215
359
292
312
265
295
297
283
339
340
353
240
287
381
283
281
362
296
286
325
337
272
261
335
261
289
319
355
260
259
342
254
226
294
305
339
324
311
334
327
320
279
198
292
301
304
277
305
319
262
301
297
319
303
321
290
349
377
327
287
318
282
282
366
316
403
268
249
430
232
327
312
287
311
276
345
301
278
342
364
309
340
280
300
269
243
291
291
274
382
298
342
339
312
259
274
282
374
346
296
282
276
275
250
311
340
227
384
285
277
314
293
277
346
318
173
303
355
372
348
265
343
385
302
307
335
285
282
308
319
358
240
358
338
289
353
274
354
327
226
303
305
266
318
322
324
334
381
263
377
303
332
302
295
356
278
380
285
328
246
240
307
280
286
355
356
285
280
328
272
246
303
378
347
381
268
280
314
262
335
305
347
326
336
310
307
293
273
346
365
364
392
289
337
306
344
342
370
252
335
295
277
297
312
321
223
336
330
359
307
266
259
252
358
282
323
252
335
228
280
379
291
308
307
325
298
369
330
286
291
235
315
324
326
350
333
376
280
374
274
312
265
291
297
348
331
350
271
352
266
263
304
357
328
332
286
311
349
356
322
223
299
388
261
322
258
266
334
202
300
331
379
326
340
350
352
359
396
315
285
309
349
302
358
362
370
242
307
333
246
205
303
356
253
395
300
413
315
314
251
346
303
303
229
293
331
301
409
308
270
262
263
332
265
214
342
284
307
309
298
248
272
401
336
359
246
329
287
255
317
273
324
334
385
332
282
336
360
384
344
329
340
381
310
342
394
366
259
278
336
319
318
284
359
325
303
369
363
356
300
303
295
274
276
322
332
331
375
373
301
324
386
248
379
331
375
372
340
296
313
305
338
318
259
300
317
295
242
404
279
398
349
368
300
329
380
271
309
287
290
301
377
264
333
256
313
211
260
350
352
385
205
312
308
216
355
340
346
322
397
329
321
277
289
293
346
391
277
337
196
326
354
290
348
313
309
368
344
347
286
315
277
237
197
284
359
238
298
345
303
273
295
309
317
299
319
351
273
393
298
400
291
418
264
297
327
327
270
308
227
252
308
272
322
356
287
274
280
362
342
368
299
271
325
365
261
303
371
372
290
269
332
255
364
264
373
298
333
305
326
338
282
305
323
362
267
302
346
351
243
331
340
355
341
325
285
356
259
378
268
314
306
321
407
270
340
335
388
222
313
274
309
304
241
387
266
357
358
252
281
341
300
396
283
334
327
246
219
338
310
355
302
365
295
324
335
322
341
340
359
274
247
246
280
211
346
333
448
384
324
281
364
335
374
276
326
242
353
297
270
234
272
285
310
360
336
283
314
328
370
284
355
280
299
251
326
359
305
252
375
303
304
267
309
228
303
289
211
268
362
306
345
383
320
281
272
321
355
317
304
273
314
349
278
291
375
312
357
367
357
287
321
340
366
336
326
341
349
243
299
328
348
297
334
312
308
428
304
289
341
395
335
299
347
341
366
278
343
240
309
230
281
366
292
240
342
341
263
328
353
300
318
286
325
252
337
378
341
342
301
269
308
325
362
417
310
357
284
264
337
265
330
384
285
265
296
353
236
297
299
287
297
365
333
299
411
253
369
350
283
268
289
227
320
377
236
358
299
363
329
373
351
382
397
310
352
212
300
385
258
345
397
261
324
301
340
325
324
257
248
403
290
375
296
363
348
294
349
372
341
315
303
308
353
363
366
298
340
312
312
280
331
291
284
292
234
326
242
316
352
368
376
335
262
241
360
264
286
224
328
266
345
348
325
272
352
346
239
404
261
353
290
367
312
207
309
256
247
353
339
268
356
331
329
303
348
292
296
347
406
275
376
349
269
276
238
261
427
250
323
323
335
332
360
275
353
340
281
347
387
341
302
368
283
424
308
308
296
373
288
297
265
314
270
320
257
294
284
344
324
292
370
433
293
334
270
298
302
299
370
343
278
363
344
268
223
357
352
317
282
278
334
349
250
369
259
402
322
313
329
391
339
362
337
358
375
379
345
339
284
335
292
368
327
308
300
357
275
330
298
360
315
364
339
335
226
247
302
305
308
375
334
263
417
405
385
354
377
342
318
261
303
280
339
328
309
307
234
346
323
196
328
357
227
358
310
304
303
328
342
306
261
304
361
277
251
300
414
360
338
201
294
381
317
266
276
298
410
305
263
363
338
334
287
339
325
300
325
322
402
374
323
321
322
308
377
243
394
359
245
326
343
281
406
337
413
282
317
301
367
268
316
263
279
332
335
364
281
287
386
351
314
350
388
372
282
410
273
301
266
297
358
325
339
366
282
343
278
290
355
271
316
316
263
274
339
243
349
405
342
246
280
323
335
346
246
179
415
310
261
274
306
368
313
281
356
267
375
326
274
326
318
314
269
328
284
361
376
364
325
278
243
323
311
253
354
333
227
310
308
303
225
278
289
361
241
306
278
332
365
292
255
251
277
329
382
292
236
334
400
315
309
257
293
376
315
369
342
349
337
324
350
380
346
321
212
320
258
407
339
294
282
328
312
302
351
268
257
371
271
361
335
326
342
307
349
194
326
322
324
238
242
350
342
298
390
303
351
264
240
214
294
310
346
279
334
314
309
259
330
376
315
319
329
310
343
310
345
338
375
303
388
273
359
305
293
263
281
215
394
261
282
396
326
274
304
375
336
315
352
320
363
384
300
353
395
358
295
352
254
280
305
352
373
308
280
360
272
262
371
355
284
291
299
257
341
355
332
292
242
283
306
267
339
269
302
360
196
312
282
258
235
291
325
400
204
312
411
417
248
330
312
300
330
216
334
374
302
364
256
359
262
327
360
276
362
374
258
300
387
266
291
392
270
267
290
354
347
310
293
303
276
306
340
259
259
291
275
283
266
299
316
326
349
264
281
331
345
326
372
353
354
282
327
319
322
226
311
301
308
298
252
293
294
342
435
353
355
330
290
245
325
365
292
355
220
309
352
279
331
274
345
338
242
253
290
322
273
279
222
240
278
313
325
322
279
404
333
348
328
320
318
256
220
367
253
242
303
316
257
275
246
331
215
368
363
281
333
321
317
348
390
339
390
308
296
197
335
360
383
331
283
260
310
270
334
336
247
369
387
312
303
337
248
320
349
275
324
378
296
320
346
366
346
295
370
303
359
322
268
236
369
291
353
334
257
374
251
329
316
331
305
386
363
340
293
408
331
291
297
312
350
309
229
292
367
284
349
351
406
300
280
284
306
325
390
281
290
349
306
257
342
350
368
333
276
300
279
353
327
331
296
307
437
323
350
345
353
361
236
384
332
332
321
344
220
265
322
292
376
282
385
239
332
366
338
320
257
273
306
376
232
307
397
329
308
386
327
334
414
307
284
283
340
330
367
355
320
326
291
320
191
312
401
248
348
312
393
382
269
316
325
323
281
269
328
290
337
269
347
309
253
248
295
315
375
343
276
317
377
310
312
320
335
320
277
365
302
287
337
348
289
320
310
291
306
288
361
230
229
277
392
326
318
348
319
285
273
280
323
387
305
307
316
268
336
326
321
315
234
278
361
342
314
284
260
294
294
298
222
326
286
291
431
312
279
406
343
301
295
313
238
361
331
294
349
274
363
262
319
317
381
212
314
287
316
346
286
312
356
323
334
320
323
360
276
270
286
336
322
220
335
277
278
308
313
390
327
352
363
376
331
372
322
241
322
343
295
269
310
256
277
402
286
333
368
418
272
353
310
344
266
368
212
369
323
304
264
264
292
361
392
318
399
289
329
266
293
357
263
319
333
208
319
384
342
329
320
358
375
349
327
353
294
305
374
375
265
284
308
342
325
313
372
317
241
249
320
373
329
338
340
261
350
301
433
323
234
349
345
284
314
310
348
357
236
283
304
359
342
245
234
336
383
302
277
275
305
317
396
430
374
348
312
280
278
335
390
389
283
285
345
321
293
330
347
266
321
318
310
365
282
328
248
339
329
309
379
371
370
252
299
285
213
316
329
311
352
346
338
284
340
371
221
316
355
320
383
245
370
318
330
331
314
302
327
401
342
276
292
287
387
341
305
273
313
294
404
275
328
362
364
287
287
294
327
328
361
374
277
392
319
375
396
312
352
287
351
306
363
345
374
347
401
390
282
272
328
258
230
341
318
321
340
288
323
351
369
380
336
324
251
225
384
342
321
328
310
277
356
341
291
263
325
357
393
283
311
277
309
333
335
322
337
357
378
238
302
268
307
330
269
278
256
346
343
326
310
295
322
353
363
284
357
255
262
339
352
303
312
360
275
409
278
322
339
277
375
337
392
314
290
305
379
194
364
365
395
255
260
299
296
276
319
330
326
409
376
328
359
273
277
312
332
226
289
242
333
375
275
348
307
398
359
359
325
332
250
346
321
299
251
291
307
364
406
330
291
319
425
280
267
394
299
308
353
303
349
336
227
348
343
312
320
292
340
298
323
333
257
351
329
378
343
222
394
296
380
346
338
327
291
391
317
316
247
299
249
301
321
322
342
288
324
260
363
328
308
341
382
306
252
285
309
363
382
357
312
342
314
331
323
304
344
299
223
328
330
338
306
302
300
252
328
293
421
301
377
227
332
369
414
295
317
301
388
287
365
290
235
320
356
311
304
321
301
295
234
263
330
259
373
368
277
308
407
389
217
294
296
308
390
219
320
303
359
386
314
251
322
317
284
269
335
246
378
256
274
312
306
262
374
403
286
297
321
312
325
338
207
323
326
299
232
243
238
221
269
332
269
301
300
351
267
264
354
401
326
271
364
307
240
257
339
283
364
274
305
343
240
323
304
388
403
344
327
194
293
359
295
331
325
317
264
330
363
343
302
333
222
323
318
266
276
289
344
357
308
307
231
355
361
243
350
321
278
351
324
361
359
257
262
365
308
278
317
312
310
341
399
292
394
306
339
193
392
291
205
241
305
417
269
318
292
279
330
356
252
368
369
249
302
322
299
345
341
379
319
295
296
326
379
284
264
366
373
358
296
328
282
333
347
380
347
304
338
316
348
367
348
307
381
294
334
323
346
315
257
296
285
323
261
315
277
345
328
321
331
320
233
354
327
276
280
329
345
329
260
265
280
271
313
308
413
291
279
299
342
344
264
324
339
344
340
313
336
318
294
293
360
271
337
315
368
264
382
346
382
214
336
415
339
299
397
331
373
250
375
388
314
307
355
353
236
311
328
243
323
296
366
238
354
309
275
383
184
276
308
281
303
380
218
357
320
355
328
396
351
197
387
287
340
343
333
260
321
277
212
281
349
343
363
268
325
367
365
279
355
338
273
252
336
270
259
323
326
327
374
297
361
278
265
413
327
372
311
368
308
353
291
291
325
312
256
289
297
347
293
232
287
253
357
285
272
249
277
320
388
275
271
270
280
257
386
315
340
318
317
283
322
284
335
244
374
403
389
330
263
315
350
296
269
240
348
389
216
321
356
344
317
363
368
294
303
310
343
315
312
316
308
327
331
260
357
404
319
321
260
345
317
282
299
394
353
327
393
278
343
289
358
351
305
323
343
296
300
357
294
213
262
355
233
319
268
372
316
267
292
297
255
293
400
371
202
317
280
260
332
308
335
323
327
347
235
298
362
343
219
328
260
421
285
321
361
335
230
343
326
367
250
370
406
327
296
264
261
338
354
294
360
247
345
382
220
306
365
271
309
256
326
331
324
344
295
324
274
320
297
314
302
327
260
347
317
325
320
268
242
289
364
313
239
339
306
317
372
262
337
291
365
317
271
303
387
382
270
278
310
401
280
305
245
291
366
277
368
304
395
364
334
286
312
326
279
254
324
382
320
323
338
301
269
298
313
346
227
329
366
293
309
363
306
338
254
205
316
262
335
321
302
348
298
299
320
288
255
240
363
388
282
307
353
306
315
315
271
331
280
326
282
303
326
376
372
360
342
319
362
383
330
296
200
297
334
253
315
344
266
330
303
318
268
308
326
350
347
351
290
271
321
257
309
343
375
433
322
268
321
349
313
287
374
386
288
285
358
346
366
268
347
300
299
334
301
302
314
347
302
330
250
338
354
266
340
351
355
239
329
341
329
288
267
323
318
315
286
237
370
345
357
299
428
313
415
412
248
317
377
310
300
306
336
281
306
287
340
322
355
285
346
320
383
285
221
326
290
260
348
298
376
341
239
336
265
293
340
330
258
352
366
331
326
366
281
254
299
284
333
313
349
285
384
318
335
348
268
236
332
371
250
290
365
337
388
318
378
238
298
371
367
367
260
344
341
282
275
305
281
382
362
279
390
319
367
298
305
392
369
279
310
354
301
341
317
340
358
275
286
320
338
369
350
310
392
392
331
351
207
296
364
361
411
280
306
311
371
289
348
340
247
244
314
317
319
281
319
340
381
334
355
296
325
298
310
266
346
338
213
286
375
289
292
288
335
343
291
282
332
317
297
303
344
370
297
330
288
311
278
364
332
274
209
252
280
293
288
287
371
338
335
318
368
373
287
374
339
307
332
371
384
317
354
320
341
307
218
315
278
290
346
368
258
296
348
348
341
309
367
307
284
331
230
318
329
375
268
310
222
271
353
303
255
393
233
318
338
402
393
381
436
249
246
293
270
306
367
370
289
294
365
398
354
342
351
335
285
335
351
329
290
375
365
288
275
312
359
402
218
261
387
312
312
274
282
251
349
383
316
314
294
321
346
216
373
446
288
303
323
321
347
259
247
304
396
291
264
228
268
354
354
343
309
304
272
275
293
329
257
361
225
314
286
314
263
377
325
373
382
294
293
355
268
353
382
304
325
359
286
350
360
359
343
359
338
309
239
330
339
205
302
313
275
320
247
287
344
300
336
311
310
328
331
258
277
267
378
334
357
281
296
327
336
341
333
336
322
328
261
378
322
304
336
306
318
268
326
255
328
299
296
343
354
226
237
407
337
312
337
308
323
285
246
361
335
320
274
305
280
274
279
255
288
361
335
275
356
328
311
320
305
250
336
240
345
279
285
262
287
316
194
321
359
370
347
337
299
337
364
371
366
286
348
224
430
340
353
351
339
267
288
218
273
286
294
372
359
311
225
374
408
306
328
313
187
269
275
334
387
249
258
328
296
328
242
372
289
244
344
378
205
354
282
347
241
334
242
314
270
448
413
337
304
408
224
265
310
275
233
302
325
388
246
279
221
234
308
353
373
347
348
385
371
307
280
332
186
287
328
316
359
255
297
347
303
266
296
324
254
350
299
322
385
319
319
309
307
299
329
366
366
319
290
335
257
378
248
427
370
288
348
368
299
308
303
391
245
278
301
361
372
251
319
279
323
294
350
290
278
359
278
301
365
329
330
353
356
313
451
297
329
264
387
205
268
323
289
285
332
348
271
296
183
276
321
264
347
339
269
243
324
309
295
298
348
286
298
308
413
195
297
305
313
273
281
232
313
380
281
366
400
333
291
279
310
297
370
372
261
404
329
359
316
357
336
411
287
278
310
360
362
358
328
311
241
278
214
320
377
294
301
276
383
310
322
337
376
309
363
305
317
324
287
279
289
257
276
308
362
370
380
312
276
364
353
272
331
347
271
358
266
306
254
323
288
275
275
281
333
305
264
380
347
335
314
321
332
322
323
324
348
294
270
374
318
319
297
321
294
441
345
328
336
298
333
340
272
342
418
315
372
356
317
345
330
264
320
328
307
312
274
332
237
386
330
260
260
291
313
435
362
334
283
347
231
355
349
289
309
324
293
366
341
371
380
288
324
330
296
341
345
345
359
325
303
212
309
276
284
405
268
340
399
357
295
324
300
363
315
344
351
352
328
337
238
277
338
375
391
334
252
333
274
257
346
357
362
282
272
410
315
335
319
265
289
326
345
259
336
376
309
377
286
297
242
324
331
377
375
258
251
294
260
317
335
288
287
319
283
384
372
302
453
371
336
328
293
335
377
389
280
390
341
239
291
385
253
333
265
325
343
276
302
258
314
301
319
250
263
216
295
327
257
307
295
352
303
276
306
332
346
389
359
284
309
328
267
326
350
289
377
358
314
286
351
355
316
275
310
271
392
360
317
294
281
374
208
410
270
233
293
276
387
212
303
335
326
251
265
326
289
363
343
351
285
342
337
328
290
283
369
226
294
302
300
366
254
250
373
369
289
328
363
384
326
271
358
267
379
295
369
424
320
311
304
273
257
267
289
356
346
384
382
346
300
316
312
336
281
272
327
405
374
315
316
271
307
228
258
366
363
290
213
282
353
370
364
276
335
310
332
288
306
258
309
310
308
300
298
320
331
266
324
377
317
288
414
309
247
309
298
330
327
400
260
325
259
334
288
271
346
343
324
331
303
230
323
269
325
303
236
320
318
273
371
284
387
257
315
314
275
314
293
248
287
342
356
228
406
240
258
296
404
300
299
366
314
307
331
290
290
276
329
289
340
287
320
332
377
323
278
345
211
398
312
319
261
358
317
281
310
319
317
267
343
327
324
353
320
275
354
300
342
341
302
368
313
337
339
287
344
335
277
310
345
320
299
322
275
267
360
344
292
296
316
390
250
252
267
219
311
250
273
256
346
292
240
311
383
361
364
297
292
340
308
288
344
292
383
344
319
292
385
288
313
295
310
274
299
307
276
318
337
299
291
369
373
355
323
299
234
335
296
332
251
363
279
249
316
347
368
301
349
303
275
291
318
332
322
322
327
303
310
329
290
309
340
288
325
286
314
262
276
239
306
342
323
370
249
363
248
282
349
322
315
279
359
278
381
359
326
293
349
356
325
269
278
373
318
375
300
289
412
256
346
222
345
339
307
304
274
256
266
298
333
285
403
308
348
304
333
300
349
315
390
304
354
382
355
349
243
354
350
384
325
359
282
369
250
265
315
346
375
369
304
309
390
354
330
391
328
379
304
308
323
333
332
355
287
392
321
376
403
353
342
349
358
311
319
284
335
346
337
322
297
256
334
286
365
346
310
324
359
320
294
412
300
266
394
376
257
318
249
325
292
264
326
350
366
273
392
298
347
314
274
332
421
351
318
306
246
311
335
299
242
388
318
332
318
344
362
307
269
297
431
275
306
308
304
262
364
339
290
319
308
310
334
370
359
217
259
305
323
367
318
374
350
311
328
278
258
290
338
351
378
385
410
328
413
404
338
341
325
347
287
304
262
312
274
326
265
322
366
335
261
375
254
367
374
296
241
332
263
304
368
349
312
333
358
323
308
363
335
291
351
295
367
279
288
279
313
252
311
264
301
342
290
250
266
333
353
231
306
321
304
325
348
242
318
288
253
295
256
237
334
287
331
311
274
256
347
288
269
336
362
342
308
280
324
420
361
252
270
244
330
366
369
338
282
346
309
265
277
249
289
366
317
304
283
325
309
348
333
349
309
289
261
352
392
291
333
320
302
356
306
282
251
352
364
362
290
211
300
273
326
261
208
314
321
258
326
314
322
283
283
356
238
393
293
339
346
381
202
311
285
288
359
311
322
278
294
316
273
287
337
307
357
288
344
319
271
299
291
325
301
283
293
342
286
320
378
343
289
367
296
306
258
324
262
370
288
301
401
371
326
286
249
382
348
371
259
253
274
350
265
315
312
287
285
369
283
365
325
232
237
296
327
292
328
228
238
296
325
269
284
239
359
315
307
325
344
372
383
318
356
341
345
227
379
319
329
203
322
272
279
234
322
285
287
341
430
254
294
260
306
305
349
316
333
306
389
258
315
313
300
309
303
368
318
314
308
394
264
331
358
299
386
301
346
366
339
312
360
261
373
298
294
300
265
325
272
341
377
293
353
269
330
317
398
320
305
294
262
272
334
346
271
314
308
334
393
190
314
240
315
340
251
294
288
399
296
315
312
359
333
371
268
371
349
267
348
376
250
367
354
342
291
300
344
351
283
377
279
342
385
305
342
272
339
350
407
335
328
376
264
381
333
347
306
358
409
319
277
315
287
281
315
339
317
357
359
343
240
306
299
184
317
414
341
396
259
244
237
297
318
363
301
303
245
306
332
291
361
280
359
361
288
296
287
374
373
345
475
282
296
320
272
356
333
233
337
313
262
309
306
267
274
235
296
380
336
312
311
332
313
266
314
363
345
258
331
379
344
350
400
354
332
257
377
375
338
285
308
319
314
254
333
243
345
323
367
247
329
347
291
314
343
321
354
301
349
294
323
339
308
399
355
308
314
372
342
395
234
365
302
315
278
338
375
326
363
343
448
290
381
329
261
403
354
279
271
211
285
241
335
296
322
294
310
315
356
365
292
322
321
267
250
319
266
251
261
319
422
313
387
277
308
268
370
345
257
292
401
292
350
329
380
307
336
347
245
307
235
329
303
252
268
275
284
362
364
295
327
256
283
247
279
357
307
389
232
335
321
208
328
353
313
227
263
265
315
225
314
292
318
332
415
377
363
326
355
234
302
355
298
357
322
293
281
289
392
276
379
295
266
338
296
274
286
315
351
314
329
301
360
366
323
362
247
282
359
375
406
315
323
323
305
361
359
281
308
325
313
346
364
333
266
305
153
318
401
308
278
293
302
346
289
293
339
274
319
303
351
276
251
343
296
274
331
323
342
305
319
283
348
301
330
284
238
310
294
300
330
355
250
297
251
189
256
341
373
372
369
385
279
294
283
293
281
313
348
299
231
261
383
343
325
305
356
307
323
297
328
269
352
364
273
351
292
294
303
413
282
369
351
318
267
372
348
314
343
367
357
357
337
339
325
268
324
401
251
307
313
272
343
297
256
309
288
274
335
359
332
270
339
351
362
193
283
373
281
361
311
358
322
384
289
325
309
376
323
314
348
306
349
250
312
381
292
303
346
348
321
325
327
262
385
366
239
391
261
292
337
271
330
330
319
295
287
374
283
327
370
381
307
331
300
300
280
292
332
337
326
344
262
285
386
358
333
292
369
307
349
344
317
374
274
307
332
391
299
302
379
325
298
373
303
254
301
361
264
250
381
358
291
373
364
317
323
272
351
302
333
325
332
273
422
339
299
282
393
321
348
253
365
313
314
288
299
304
376
335
396
270
306
287
325
299
298
334
309
346
335
328
244
375
295
374
309
313
344
294
324
215
328
345
267
356
265
422
307
247
385
336
420
380
270
244
281
337
305
331
339
322
308
375
336
310
311
281
286
295
347
346
313
290
247
277
316
344
235
272
282
255
388
307
228
346
319
323
326
277
297
296
315
294
363
324
386
338
346
362
319
244
311
356
407
339
240
320
238
333
304
270
346
300
390
378
379
341
261
331
297
339
221
292
329
322
282
345
301
366
327
356
342
337
323
344
279
337
264
279
299
358
362
355
299
268
271
298
361
357
260
262
369
242
340
306
330
376
321
335
372
278
309
260
299
334
309
313
321
285
275
261
292
324
257
236
321
342
319
271
384
350
358
332
327
321
352
335
352
352
371
317
315
281
370
327
306
297
382
297
236
343
288
241
310
304
287
362
298
374
325
269
311
287
339
374
331
353
276
309
291
316
326
336
303
284
316
297
335
325
319
236
318
281
291
283
337
349
298
292
349
290
395
286
278
359
347
207
285
363
375
324
289
275
300
370
281
280
226
329
305
311
383
336
308
345
264
390
351
388
290
314
330
359
273
365
370
335
322
265
273
315
330
341
288
215
390
276
313
312
360
250
348
304
350
232
269
224
336
276
342
329
370
265
323
284
342
358
314
318
382
312
386
383
384
275
395
355
306
364
368
286
253
238
298
301
342
292
283
254
336
330
389
373
328
333
272
360
273
214
301
340
339
292
291
390
311
350
323
310
288
309
281
380
295
314
376
332
289
334
275
303
249
313
262
373
381
297
308
372
323
357
319
331
318
366
285
305
328
360
300
313
306
312
284
385
316
365
334
314
279
311
396
328
329
344
248
391
297
367
326
391
399
327
321
289
378
349
353
364
257
326
359
371
247
272
306
392
281
327
333
354
363
329
319
282
310
309
402
298
300
347
376
384
347
253
313
296
339
306
280
365
348
369
364
341
379
289
347
251
269
214
354
282
318
329
281
305
346
344
289
337
324
325
345
371
296
288
286
298
330
336
346
327
400
407
389
282
270
289
264
273
363
367
323
381
314
356
271
355
303
266
164
344
300
232
392
369
294
335
321
368
405
311
317
384
267
409
318
272
290
367
324
270
289
295
260
303
273
277
347
288
359
277
317
350
335
374
261
372
268
308
293
275
297
380
282
251
347
302
330
342
336
293
400
318
377
357
283
288
335
346
364
380
303
214
249
336
268
298
273
347
372
332
336
352
345
282
364
382
267
340
215
333
356
328
375
298
390
332
270
346
256
360
361
342
332
295
329
251
329
323
303
244
384
230
352
322
362
314
263
344
355
336
305
283
313
324
280
368
361
349
322
282
346
294
301
357
294
331
347
364
340
342
330
377
351
287
399
321
271
346
266
237
330
362
307
317
300
276
288
310
356
346
388
294
302
376
340
324
308
283
329
302
367
371
258
357
378
349
348
322
342
178
238
261
264
352
370
391
373
360
289
333
266
272
269
357
379
353
285
330
337
373
314
261
223
286
342
353
289
373
350
287
257
406
365
369
323
362
317
349
230
315
328
343
329
300
246
369
320
244
318
314
327
310
262
311
394
350
303
288
340
298
267
303
350
266
297
377
387
297
360
293
213
320
357
366
311
346
262
268
252
319
357
304
262
313
392
325
248
370
268
277
243
355
312
403
329
295
352
292
329
368
248
260
288
269
271
250
267
311
291
273
303
286
266
263
304
392
369
376
267
315
372
306
309
315
352
282
359
342
387
347
298
426
326
279
273
386
339
337
338
282
281
368
288
232
375
334
299
347
281
405
310
388
354
325
301
248
283
198
302
310
376
347
313
298
350
336
364
262
298
356
329
297
332
364
394
278
246
259
316
353
362
301
318
278
296
339
337
279
286
353
351
305
350
334
348
321
291
347
334
223
322
380
302
342
377
327
247
377
355
342
403
321
318
327
281
363
278
258
285
365
335
289
359
317
322
298
399
355
250
291
275
349
295
290
245
320
345
323
276
230
295
387
293
351
365
349
235
397
260
321
289
428
249
287
338
343
377
326
370
301
347
325
274
289
300
382
360
193
269
291
280
270
213
314
264
390
260
348
351
331
375
302
313
366
254
335
293
318
315
356
337
282
384
331
280
305
346
318
327
360
386
338
303
252
315
333
330
291
310
330
254
294
332
302
411
412
343
319
286
322
306
362
354
364
298
278
330
350
290
309
330
350
337
271
306
351
363
322
347
413
334
325
314
329
347
332
393
323
373
351
308
292
295
343
376
240
340
341
364
281
352
331
333
345
326
301
309
309
352
349
233
362
400
234
332
243
295
372
299
294
266
350
296
308
291
363
399
355
325
337
331
327
310
233
338
294
357
266
353
283
315
368
357
329
357
380
251
271
281
273
283
349
348
339
285
289
299
302
294
394
286
299
272
283
358
306
315
317
288
342
338
276
252
270
307
313
329
329
297
323
317
295
361
386
377
334
261
376
370
360
301
274
382
270
328
284
278
298
278
322
314
346
289
360
370
375
411
317
391
283
357
266
317
255
290
260
294
384
284
372
312
319
275
298
233
352
342
327
328
323
315
301
317
319
378
333
298
382
346
268
291
301
315
300
422
324
320
305
285
316
380
350
336
302
299
264
309
280
333
256
305
292
374
300
317
319
366
321
372
320
323
316
357
333
307
290
296
320
240
337
337
358
304
310
264
326
396
316
273
329
271
318
333
268
277
255
374
307
285
320
350
344
335
334
311
312
293
359
305
271
353
346
321
366
381
249
324
289
288
359
335
336
298
363
238
218
325
278
368
360
384
356
264
265
311
266
339
336
295
309
335
311
349
212
364
290
350
261
327
230
345
350
295
334
297
262
270
327
334
285
318
263
355
347
277
351
299
283
320
325
240
301
290
310
293
299
306
353
318
347
330
319
323
361
348
308
398
406
279
283
384
287
340
331
361
300
299
312
281
311
338
364
315
346
243
300
356
249
320
378
381
320
294
289
253
367
355
306
351
241
233
278
395
354
345
323
287
253
291
317
351
395
333
346
362
340
281
347
228
327
355
278
347
358
308
236
244
324
307
300
306
306
341
389
320
365
355
347
326
413
363
329
326
319
352
256
291
224
279
212
202
364
364
264
359
354
380
254
355
377
180
271
365
351
349
370
293
344
287
351
333
301
355
353
241
306
390
324
274
311
285
262
415
294
344
245
294
322
324
262
315
317
309
277
290
323
349
327
291
281
291
263
296
320
361
404
274
329
313
299
327
337
357
242
271
345
389
318
304
310
309
388
296
284
310
336
345
310
351
374
268
255
241
237
275
334
296
261
328
289
291
341
334
316
366
291
384
306
397
330
263
316
286
339
311
307
289
317
326
277
395
334
307
342
342
260
380
351
307
341
384
291
321
240
378
222
358
348
299
302
390
288
380
239
359
292
256
271
340
270
351
274
382
339
303
393
362
293
354
240
242
241
275
316
425
181
337
332
222
396
292
413
311
340
266
342
269
321
388
308
279
367
291
321
269
323
287
317
332
264
321
300
308
313
361
277
316
373
274
276
315
305
344
349
306
394
354
334
294
317
270
323
317
346
353
303
350
368
258
295
336
335
221
268
335
383
311
359
263
338
316
333
345
277
290
360
239
344
388
371
372
245
316
266
340
228
403
351
318
299
417
373
235
238
350
334
342
289
341
276
327
357
272
245
312
255
287
298
354
267
324
271
344
332
327
334
319
338
342
393
385
272
419
309
382
345
379
332
376
336
381
300
335
200
300
309
285
357
218
284
288
360
296
355
314
308
298
350
258
241
259
270
350
261
333
294
335
322
342
296
269
282
333
371
310
391
296
391
341
361
369
313
329
320
267
401
396
311
305
339
327
331
262
349
342
321
346
384
222
335
366
294
392
293
341
387
317
354
316
302
376
295
317
228
265
272
302
263
323
410
396
264
257
355
317
299
264
334
286
301
331
299
394
427
243
339
271
366
382
320
384
336
248
342
366
285
262
288
317
298
279
299
368
312
275
312
318
326
307
364
321
345
348
377
307
298
420
295
269
307
328
308
275
347
264
362
323
328
276
257
336
272
328
381
259
237
313
339
323
355
303
329
238
467
324
239
332
353
283
347
370
265
336
309
299
296
263
285
281
325
322
289
286
344
313
331
333
300
255
308
340
281
273
316
238
351
294
363
310
295
359
374
320
421
238
311
312
343
301
253
307
265
364
303
275
309
304
356
264
319
306
267
324
304
284
302
195
371
336
337
362
358
293
268
321
360
319
350
316
317
320
259
317
328
337
327
229
345
275
295
355
229
334
310
336
328
309
329
268
278
331
354
349
303
253
223
365
378
248
324
281
299
348
334
323
340
379
362
300
319
308
341
312
258
360
272
266
346
319
327
301
324
261
282
323
308
255
313
403
284
355
276
351
316
365
377
312
312
325
390
288
259
302
234
270
410
267
322
312
268
338
309
293
260
397
293
290
356
332
312
245
340
312
315
351
305
305
253
296
326
384
327
327
323
428
411
289
361
302
348
315
303
353
258
335
294
311
328
356
356
301
286
351
357
312
343
304
269
355
276
367
299
382
325
289
383
220
332
365
344
303
316
293
355
346
266
411
329
391
259
321
241
291
355
377
288
426
313
350
304
293
219
256
301
311
346
289
321
367
298
360
239
317
257
298
352
300
294
394
280
288
299
268
322
361
360
328
356
321
336
317
309
363
316
286
385
268
239
374
296
309
326
340
425
354
301
261
351
205
356
306
408
320
387
346
299
345
304
335
296
256
394
247
370
320
339
320
351
309
288
330
358
399
303
271
275
418
304
271
264
249
325
312
309
342
354
314
328
280
310
397
253
367
260
262
239
340
252
240
288
312
342
331
285
340
300
390
232
240
315
335
270
229
288
336
270
361
361
364
290
402
290
358
296
306
356
282
332
256
254
340
316
347
302
255
298
336
244
326
284
293
307
314
322
282
336
338
199
225
303
289
405
357
223
291
307
363
299
284
289
293
352
339
325
239
218
409
394
262
390
325
360
268
314
278
280
313
262
285
347
298
348
293
301
368
324
324
357
310
213
377
298
320
364
266
333
368
322
398
349
305
334
319
256
380
365
339
351
282
301
302
382
262
204
332
316
311
287
353
309
343
319
347
334
286
363
350
324
290
193
285
298
353
263
257
296
384
347
292
304
324
299
346
341
301
373
260
293
287
294
241
368
292
314
300
312
388
368
294
314
289
312
344
286
271
259
370
273
306
274
313
415
271
337
319
314
279
293
327
320
335
306
295
378
378
363
217
312
255
366
250
324
352
322
360
335
298
260
334
308
283
296
396
302
382
413
270
344
314
295
311
314
328
271
276
278
337
242
330
256
273
336
337
272
404
317
267
285
315
347
382
317
249
268
365
373
277
357
328
368
387
377
339
291
290
309
301
256
257
309
215
299
337
333
297
227
371
319
290
333
323
333
235
378
376
266
356
270
325
349
311
338
379
351
361
284
249
355
390
308
409
378
332
316
327
304
309
352
338
298
250
292
391
259
359
256
359
259
311
329
262
269
307
309
268
303
327
326
335
338
344
350
308
301
309
382
245
361
347
352
323
383
349
319
351
301
304
280
298
345
416
298
373
261
387
305
396
271
392
331
251
263
315
326
408
311
236
316
346
320
385
335
385
372
315
264
344
300
404
362
304
384
262
315
366
306
386
310
292
291
352
269
348
287
334
284
361
418
304
330
458
318
337
371
368
335
364
368
306
262
309
258
258
296
308
318
311
269
390
287
294
361
321
310
334
347
284
285
342
237
334
293
343
343
256
293
218
234
300
309
328
307
301
297
329
377
228
309
382
363
246
266
323
265
283
271
291
323
311
329
337
314
359
261
278
339
317
389
324
286
360
382
290
325
361
247
301
326
260
347
294
350
314
311
340
331
396
378
304
305
318
296
309
321
361
361
348
328
401
341
282
235
399
262
342
356
357
343
386
292
325
329
318
356
299
343
350
293
272
320
336
337
419
313
356
237
396
362
299
288
319
312
364
312
332
288
286
349
263
287
375
402
326
274
305
278
325
354
281
329
297
304
297
317
346
330
293
241
288
318
325
334
313
272
312
287
352
276
334
294
323
295
376
344
290
270
312
327
312
260
329
294
309
323
332
344
378
339
329
350
356
307
286
409
351
349
349
356
364
317
378
271
274
266
315
267
342
226
293
274
374
343
342
311
370
291
385
296
275
384
335
323
313
317
220
371
273
268
300
317
360
314
323
313
333
284
276
333
249
351
330
364
369
296
333
337
344
298
320
291
314
232
302
239
313
359
229
320
336
235
367
386
250
371
299
295
306
298
323
346
329
335
319
266
292
335
367
231
325
291
306
291
304
228
326
348
378
308
381
318
350
318
226
312
310
336
320
305
303
277
299
250
328
416
327
338
281
299
377
264
344
313
295
331
307
368
302
360
315
299
254
363
395
230
345
283
323
269
401
341
312
270
284
353
349
355
314
350
383
341
354
370
292
319
410
338
293
366
355
263
365
328
303
314
326
333
305
271
256
356
352
342
340
299
366
358
356
302
352
369
261
289
329
355
273
341
264
387
341
276
281
366
362
279
326
350
360
313
338
330
391
330
253
315
319
350
347
390
335
317
369
286
391
307
299
301
283
324
371
359
272
273
425
290
266
298
314
336
331
303
315
218
359
316
238
241
335
325
293
347
309
346
297
347
302
394
312
353
285
273
368
392
328
331
398
364
310
305
315
367
326
347
398
349
279
316
343
340
252
350
313
287
358
316
228
254
317
284
313
285
314
230
308
283
343
328
294
356
342
410
361
349
355
284
249
277
279
347
300
397
223
322
325
210
360
361
311
260
386
267
387
274
411
344
298
306
217
330
329
316
297
331
308
362
227
366
326
356
293
301
375
338
310
347
254
281
356
336
354
282
339
378
286
340
340
331
329
364
329
328
290
352
359
393
287
305
330
386
344
338
277
339
302
340
378
265
267
347
384
350
274
274
391
279
358
351
333
268
313
258
312
332
320
280
276
320
323
350
330
303
389
271
339
243
250
296
335
218
371
376
416
287
373
298
345
305
298
401
366
305
315
343
347
381
293
267
390
407
320
295
312
282
238
349
366
321
221
264
271
337
276
371
289
342
350
304
329
352
378
323
355
296
293
257
306
317
270
248
282
353
311
305
253
378
272
351
270
218
326
331
321
387
335
240
347
269
272
302
241
332
296
392
247
291
366
299
264
345
361
276
397
262
337
395
332
306
304
355
334
323
330
326
280
386
177
335
231
337
326
328
284
312
318
350
275
328
347
343
330
381
316
241
191
368
287
315
294
355
329
360
359
291
341
268
359
293
327
378
375
327
301
266
183
267
314
324
206
344
325
326
331
351
366
304
269
322
284
292
327
340
367
339
240
334
288
315
266
351
200
310
367
287
301
316
359
355
307
322
279
280
284
332
345
368
248
426
284
367
303
374
199
310
293
200
361
364
281
309
343
276
310
331
410
309
333
283
311
299
311
273
272
270
345
369
298
317
317
372
308
348
242
375
320
365
319
340
253
366
379
324
348
328
253
357
392
336
347
313
299
354
370
306
331
260
347
303
290
288
295
401
366
363
222
290
339
358
269
309
273
329
303
334
284
324
379
338
262
355
245
328
329
298
302
331
364
270
387
319
324
311
331
291
277
335
275
292
331
394
325
336
320
283
411
354
272
343
409
356
306
357
330
423
385
307
306
279
326
281
316
310
332
400
338
348
264
364
311
286
369
261
366
300
277
335
291
300
353
330
317
251
306
329
323
274
282
315
284
267
276
310
325
272
331
307
297
260
433
315
325
392
319
242
363
331
331
250
360
312
300
362
267
308
275
280
383
316
357
322
367
344
338
261
326
363
346
238
329
318
351
349
369
308
320
329
243
341
379
315
293
324
368
342
314
317
280
248
296
184
354
324
290
281
366
352
283
331
272
348
231
307
328
301
415
406
223
296
331
290
282
355
374
283
272
265
321
332
316
275
275
340
295
279
339
252
279
350
337
311
345
373
323
293
303
312
386
324
358
269
343
322
329
292
286
330
336
263
334
291
355
312
323
310
232
370
385
306
243
241
347
331
272
298
343
291
270
363
331
369
315
294
361
369
360
322
385
311
274
312
262
287
241
305
314
325
288
319
307
361
373
329
359
262
242
217
267
352
350
336
382
329
287
295
398
356
321
244
390
341
308
260
280
362
313
227
399
339
386
283
389
347
264
292
269
322
331
374
244
357
411
326
223
363
355
317
337
437
317
307
333
256
328
352
357
300
346
308
345
341
333
349
333
326
284
210
313
374
369
409
320
332
331
269
266
294
311
299
272
336
321
323
320
168
272
208
384
236
308
307
354
340
259
351
284
381
266
293
280
300
381
364
355
309
332
376
298
374
278
308
289
373
309
325
325
352
339
381
285
226
329
295
273
378
285
327
320
337
333
374
267
381
355
292
338
361
311
295
344
304
329
307
372
298
290
359
322
361
351
361
381
256
271
284
255
346
311
342
283
271
388
318
339
301
314
376
318
226
370
333
372
362
409
230
331
332
334
382
263
252
283
355
285
271
345
299
292
271
318
325
340
312
323
341
301
324
349
331
360
340
264
267
305
245
319
420
371
276
341
343
284
265
311
263
190
286
285
241
313
303
308
396
230
319
304
328
293
274
380
304
248
263
346
416
272
337
230
395
308
323
360
320
280
368
342
295
385
394
340
325
315
345
357
352
195
262
331
303
284
298
255
282
254
379
375
382
294
378
378
366
366
341
262
304
306
267
293
291
269
315
295
337
242
345
367
291
335
345
351
267
245
369
355
368
345
364
351
338
360
322
302
306
335
297
243
276
275
356
248
390
356
298
264
358
277
348
294
296
380
308
280
293
280
277
362
329
300
322
269
346
273
337
347
325
307
284
402
260
346
356
302
309
208
319
329
284
288
338
340
360
277
283
326
262
352
338
343
373
366
303
322
288
397
280
313
338
363
275
283
307
355
361
282
289
267
315
313
380
317
330
247
301
298
367
288
338
351
343
283
350
289
319
328
286
316
271
354
293
204
391
317
307
303
313
332
269
309
339
314
326
373
279
320
280
351
319
341
331
317
357
344
313
277
308
363
388
306
227
284
331
289
228
338
316
231
300
329
420
280
301
297
356
388
357
364
401
268
229
281
400
372
257
272
219
252
339
276
366
246
255
269
291
388
251
308
180
336
329
359
319
412
345
228
402
353
279
340
269
277
271
356
320
296
312
349
310
305
379
310
317
377
321
339
268
296
401
375
320
301
332
392
296
373
321
296
350
277
318
380
340
308
299
267
406
369
331
233
315
302
312
296
322
399
387
383
214
339
384
283
240
320
313
358
347
276
302
282
263
302
325
362
274
318
365
307
215
295
304
319
339
332
284
314
351
245
362
368
337
296
316
348
366
341
319
286
358
279
295
285
283
347
330
346
370
318
384
329
311
253
231
352
382
338
333
341
362
301
335
406
273
281
345
347
352
285
265
209
261
333
289
366
337
282
285
386
311
340
315
344
288
316
330
317
316
371
254
350
365
297
321
406
344
356
310
340
256
262
347
318
326
288
343
291
304
305
281
339
361
363
259
298
313
342
356
403
259
277
358
339
282
291
252
309
323
329
291
264
311
292
377
335
326
296
343
362
298
263
339
316
417
265
369
351
337
354
299
317
403
308
333
285
363
342
296
359
240
368
349
359
378
354
326
310
355
316
307
303
303
306
401
377
341
322
288
371
399
301
377
307
299
314
223
308
379
343
361
290
338
337
295
277
263
270
333
377
378
352
284
305
263
329
373
308
342
246
375
326
309
333
341
305
216
320
355
308
295
255
360
352
274
331
274
247
350
334
303
378
334
346
292
324
394
299
342
315
405
321
392
374
287
340
328
228
257
369
295
271
275
333
323
374
342
301
397
372
299
379
340
332
339
364
276
294
350
392
365
254
332
298
238
336
347
313
332
339
354
381
304
287
335
299
336
369
375
249
318
272
340
346
343
294
380
344
269
355
320
294
372
337
370
274
376
301
309
337
262
302
265
302
295
319
267
336
289
244
351
261
335
400
288
272
341
186
331
322
292
307
359
359
363
384
323
247
311
323
316
296
344
248
396
281
244
377
365
320
322
310
399
276
303
311
323
357
388
278
375
321
356
309
294
357
322
346
305
308
240
269
276
177
375
303
367
284
362
163
334
289
308
290
386
232
318
312
286
277
265
361
335
253
327
325
360
338
346
395
296
380
313
336
240
443
358
321
276
331
308
339
335
247
316
316
335
308
249
343
245
310
349
332
292
323
251
315
306
259
349
302
325
325
421
393
306
356
318
354
300
347
305
335
364
371
343
370
339
268
234
281
271
292
265
278
377
380
304
381
328
316
390
364
307
271
338
269
324
282
258
366
344
259
362
310
330
315
296
262
347
309
233
285
250
283
341
302
400
325
340
294
258
345
302
286
309
298
318
321
324
362
338
308
368
315
288
244
357
414
337
351
404
421
336
335
294
285
370
305
358
260
346
296
333
352
322
268
358
358
213
225
395
275
355
259
294
375
292
296
285
321
368
308
342
323
389
334
337
279
351
326
338
359
259
368
333
313
279
339
388
251
307
369
285
332
272
329
355
325
352
330
227
323
332
310
301
268
327
277
317
303
343
332
282
368
341
251
316
402
333
299
352
360
339
286
185
313
328
361
334
308
365
292
343
295
313
269
391
289
345
282
320
357
363
290
262
255
279
301
330
354
315
249
261
366
322
347
279
294
360
314
379
392
329
352
344
340
353
322
262
328
389
352
340
335
331
302
331
338
314
355
331
331
307
338
340
370
388
228
305
271
260
358
364
404
352
311
400
335
355
298
332
279
330
314
290
334
313
355
343
285
314
247
349
281
228
342
324
189
363
359
329
326
284
269
328
397
317
283
360
363
269
388
344
271
337
321
325
244
358
268
305
393
323
276
340
330
332
367
256
338
397
379
327
332
331
241
262
280
401
339
309
287
320
350
307
327
402
375
267
341
333
365
361
362
283
284
367
389
250
325
389
262
298
359
360
392
354
358
287
329
276
339
254
306
359
316
288
377
390
322
316
347
354
323
333
334
284
313
312
343
312
338
286
384
233
335
403
301
286
336
358
311
342
334
348
311
340
333
355
264
342
282
315
307
328
298
324
268
290
352
241
341
323
356
304
414
317
321
318
307
342
252
296
293
388
279
313
362
280
372
259
307
324
369
327
394
275
319
351
293
321
363
396
313
258
373
346
334
322
291
308
375
335
335
301
280
301
286
242
315
301
298
331
363
294
248
395
372
264
338
322
353
315
276
370
235
291
292
386
366
287
353
318
319
374
308
304
268
400
301
275
350
384
303
241
405
288
403
274
312
226
265
380
338
272
374
314
324
335
361
320
373
295
238
274
347
325
328
323
346
373
268
371
313
254
330
333
399
381
238
229
268
284
329
301
265
316
300
296
334
276
217
231
326
302
296
298
225
373
332
250
368
223
290
352
296
367
425
304
281
275
266
277
317
295
357
273
346
378
310
285
329
217
397
288
329
337
325
336
338
384
304
346
305
314
332
362
310
354
346
357
207
376
258
287
262
310
293
374
312
352
237
245
236
330
293
338
305
345
220
297
342
250
304
327
342
358
289
283
331
292
407
320
275
300
270
371
282
253
313
286
353
219
280
295
269
329
290
398
309
322
268
309
230
334
282
282
311
324
239
312
323
237
304
372
352
368
279
365
334
383
311
320
160
316
346
297
285
359
291
356
371
235
332
325
320
302
312
326
339
268
308
333
342
354
278
257
326
381
289
364
348
392
282
355
282
284
367
355
285
357
206
421
361
218
295
296
381
322
374
395
346
271
325
346
302
297
346
330
399
358
391
366
261
277
302
257
268
377
339
285
340
338
313
334
257
262
326
411
320
366
211
266
370
314
301
316
307
373
313
384
350
304
278
277
384
382
315
389
285
294
249
297
355
253
384
366
291
343
313
362
324
368
346
284
301
350
311
311
280
341
390
276
276
328
353
331
346
260
353
324
284
342
367
357
254
290
269
342
375
327
262
213
356
211
297
303
369
255
327
368
263
324
322
269
241
314
385
363
272
359
267
257
364
406
321
292
333
284
306
313
354
298
328
298
264
337
385
374
314
306
323
237
319
376
322
414
334
261
325
324
347
261
296
343
326
316
278
349
294
286
321
307
380
367
352
290
402
336
270
380
302
399
343
346
285
340
321
330
304
251
319
310
382
289
391
311
337
271
245
347
344
368
239
389
359
177
243
244
330
289
338
365
344
353
295
328
336
376
300
336
354
304
328
332
335
335
336
365
330
338
331
333
334
332
376
267
372
304
299
325
382
320
340
329
273
346
375
300
308
356
181
246
338
273
291
360
343
287
334
374
220
316
285
323
329
339
390
367
274
349
281
269
321
287
328
264
349
292
281
348
258
340
295
339
297
202
292
357
329
280
324
315
318
331
269
322
363
350
272
374
302
413
269
360
332
403
372
329
303
322
282
318
329
338
308
271
272
309
335
343
345
309
295
281
353
310
239
307
351
371
341
199
300
342
320
281
357
329
352
322
286
304
254
324
287
281
242
245
237
359
323
316
318
309
234
274
263
342
373
318
299
411
305
369
298
293
377
343
341
349
269
266
363
327
347
308
295
400
268
386
321
271
327
350
290
312
269
397
336
359
258
369
249
369
255
375
287
331
382
348
301
302
335
248
304
317
405
328
313
350
338
396
233
366
278
303
272
305
307
292
288
328
299
245
320
260
367
301
338
323
291
279
371
301
346
214
266
321
265
272
364
329
300
265
299
256
357
301
327
319
317
334
361
301
393
275
297
248
425
272
325
401
288
327
271
360
305
373
360
317
277
338
268
314
284
299
276
331
287
348
382
290
339
280
345
359
370
355
342
261
310
310
289
179
351
286
254
332
324
259
311
336
344
307
337
253
304
405
313
315
307
219
300
381
392
312
241
339
366
383
304
422
372
282
345
407
394
319
296
303
312
317
365
400
325
327
317
244
363
300
307
320
343
320
294
279
295
259
302
338
301
350
318
368
333
292
302
338
410
281
290
341
323
327
234
336
339
305
376
363
259
252
303
347
347
323
220
343
349
365
286
323
251
260
280
282
340
306
308
349
358
272
278
344
406
302
349
322
358
332
288
269
333
280
318
346
332
348
287
259
374
350
294
319
303
289
361
277
330
349
419
373
345
346
348
284
293
329
285
336
360
294
363
300
269
355
278
290
271
333
372
326
309
292
283
304
189
311
252
349
325
243
262
339
187
319
321
261
377
315
359
305
266
264
341
281
291
318
292
307
302
317
321
360
323
297
287
331
305
307
320
320
315
370
263
315
350
325
323
262
341
389
290
320
311
319
317
270
260
348
316
261
387
316
344
355
334
310
173
309
292
348
318
365
267
299
262
277
282
270
320
276
175
320
326
377
304
283
353
297
289
349
378
251
285
313
301
321
357
343
339
234
416
342
291
275
303
271
316
306
326
317
296
246
289
258
320
293
270
329
366
247
370
393
273
398
376
362
293
344
333
297
368
373
319
257
313
305
247
290
323
290
336
271
358
375
301
318
334
238
359
355
287
373
218
356
320
345
352
244
232
306
270
310
320
408
294
235
277
338
288
277
282
245
271
412
348
331
398
266
378
302
379
337
352
222
323
308
368
321
336
329
304
339
279
220
294
303
393
296
326
367
243
306
337
340
387
292
328
324
315
318
235
292
371
374
320
283
319
391
374
311
330
378
289
323
339
245
309
284
358
334
322
334
377
302
256
386
282
229
340
299
380
338
310
309
300
272
385
277
354
327
303
244
308
345
338
233
367
376
283
308
343
331
321
329
422
324
324
333
377
354
363
372
304
231
358
251
359
358
334
338
298
298
344
309
249
233
314
226
360
269
339
328
240
254
372
337
305
291
287
225
320
224
304
280
323
285
276
292
375
318
344
272
372
350
301
235
264
364
374
340
356
314
324
278
230
234
319
324
294
336
315
288
301
323
322
231
365
359
282
194
318
369
278
261
385
317
240
367
326
310
361
363
381
289
315
365
283
293
349
289
334
340
347
317
258
283
323
383
269
350
441
346
269
314
342
262
334
359
361
265
352
285
223
317
304
392
301
353
263
342
400
343
274
330
294
287
325
342
359
311
287
327
370
255
291
274
259
301
256
360
326
326
275
365
316
276
308
385
352
339
269
338
377
251
335
363
256
342
300
353
302
253
329
335
278
287
381
356
377
379
285
368
300
359
303
311
285
400
325
284
256
322
299
306
351
253
298
291
370
319
302
308
302
336
235
351
276
233
340
336
284
334
324
363
259
327
276
333
329
402
279
306
297
270
350
328
357
315
317
382
340
242
246
329
364
420
339
353
341
298
264
267
325
293
244
390
271
319
398
344
311
311
239
244
377
398
325
288
361
313
321
309
320
291
324
254
348
294
322
250
308
266
335
390
358
254
250
362
276
317
336
355
334
378
321
346
323
417
324
303
221
303
273
279
326
329
340
320
349
313
352
274
276
240
223
333
345
284
302
325
269
322
265
353
282
327
269
274
302
298
300
347
370
313
372
330
310
379
312
273
393
287
287
359
334
412
266
341
263
379
282
350
307
340
326
360
307
379
329
349
298
314
223
242
259
367
290
337
251
222
297
370
366
344
307
336
354
256
338
258
292
336
315
246
312
254
370
291
320
307
311
323
369
425
248
348
378
296
347
354
272
335
322
309
326
335
304
340
293
316
379
344
279
336
321
351
284
369
298
403
330
286
356
286
261
274
265
157
341
282
324
279
294
350
249
321
367
319
234
330
300
351
308
340
266
293
379
305
286
378
366
263
286
323
310
306
293
303
317
393
313
409
277
365
372
304
303
330
363
362
410
366
298
382
292
402
406
353
312
285
265
344
315
302
318
332
293
365
273
385
361
345
336
362
367
375
391
276
385
265
342
325
237
322
362
286
274
365
364
305
302
290
265
294
367
270
388
327
265
315
326
316
355
305
302
318
344
333
285
364
342
311
347
305
310
301
250
371
343
302
330
326
347
268
330
256
316
320
317
352
342
384
353
269
281
311
359
239
422
304
302
329
302
385
271
314
231
246
257
369
293
333
345
339
416
254
360
316
305
299
295
306
323
359
271
369
346
246
365
295
233
265
274
349
406
339
315
298
311
335
365
341
372
315
364
273
246
259
311
256
314
352
288
238
261
318
242
299
338
250
350
351
303
330
229
353
308
329
304
222
350
350
254
301
304
342
307
288
296
290
291
354
291
305
171
285
195
279
269
299
301
317
322
324
299
189
277
329
300
323
323
348
316
378
366
287
332
308
337
403
322
234
350
304
369
252
319
307
334
316
369
285
345
276
304
312
353
252
262
339
295
236
239
318
320
237
298
309
352
340
309
283
264
212
371
361
268
299
224
338
259
300
298
306
268
234
313
314
398
245
321
365
272
315
289
294
228
301
363
338
328
388
340
307
272
298
338
260
391
358
248
351
316
365
378
270
282
321
300
327
304
355
292
341
337
379
317
209
322
336
324
316
357
260
311
328
331
266
285
293
281
368
265
316
390
357
238
308
307
293
334
292
282
316
338
238
338
293
290
320
326
289
311
290
289
304
347
289
331
250
344
276
363
415
390
313
348
289
357
315
346
314
332
291
281
317
342
285
338
329
292
370
401
315
283
341
358
345
280
303
274
356
286
267
389
311
412
329
341
204
313
322
276
317
344
336
385
352
360
188
353
391
421
276
298
337
319
309
340
334
262
270
303
336
312
336
306
295
283
338
296
329
370
374
361
333
394
343
336
288
319
387
247
351
339
334
329
288
267
244
304
373
337
267
375
244
344
258
255
285
344
284
376
294
313
324
254
275
325
232
358
308
342
295
370
293
317
343
308
231
279
313
352
372
304
328
355
387
349
342
311
319
239
304
270
299
323
349
248
323
249
264
206
358
354
357
371
297
396
335
296
294
387
276
359
352
327
369
296
330
301
250
284
245
340
304
341
329
320
302
374
283
297
359
301
258
345
292
322
335
398
278
264
255
298
312
275
276
293
294
308
333
331
358
300
326
373
372
244
289
310
227
279
375
315
302
392
284
397
401
299
324
349
353
278
305
336
353
250
321
390
371
376
315
306
317
269
352
282
311
387
362
323
347
263
309
337
322
298
391
347
315
304
321
340
347
364
280
314
260
209
382
315
277
236
271
361
323
367
336
328
334
277
289
319
284
250
389
341
278
240
225
364
335
331
295
348
396
238
252
329
333
285
318
336
276
315
331
327
375
274
372
382
392
386
336
290
321
280
320
228
327
349
251
219
355
335
211
373
283
274
308
346
364
248
380
315
370
330
404
362
263
319
222
397
303
349
384
333
243
355
311
309
253
318
183
372
332
338
298
251
342
362
425
368
354
370
310
369
298
261
286
318
280
274
400
315
341
218
285
343
259
270
334
313
345
318
270
297
329
294
374
315
304
291
332
264
363
353
332
354
279
345
275
334
335
314
369
300
341
211
357
316
361
338
367
288
270
304
339
223
374
329
328
256
377
381
334
288
300
396
294
221
292
286
297
395
263
269
295
296
313
338
269
323
303
250
276
342
305
231
320
357
352
334
320
325
313
269
312
367
381
332
313
350
203
328
241
315
327
322
323
313
215
364
289
330
385
336
307
356
368
301
319
404
323
341
256
369
307
322
299
255
399
311
271
348
237
289
290
347
291
289
398
255
341
329
377
368
237
362
374
404
271
347
308
315
288
311
317
421
340
317
336
258
294
256
379
318
294
309
296
243
223
348
340
382
305
407
234
358
356
330
339
412
290
342
334
267
306
290
333
307
267
253
325
346
336
351
353
334
244
283
275
291
282
300
357
287
331
323
338
372
285
412
280
334
266
215
331
354
318
278
242
268
310
329
338
278
318
301
374
255
376
345
400
299
248
362
247
377
321
313
252
308
387
294
308
272
358
358
272
366
365
255
361
346
274
337
344
265
282
330
305
291
319
279
322
247
410
372
283
361
359
324
342
342
261
358
408
286
279
324
414
350
343
304
326
387
343
341
376
418
287
338
319
319
385
356
279
345
319
350
329
307
319
380
299
303
405
315
317
350
337
270
336
311
224
320
300
341
377
285
297
356
340
348
318
386
314
304
289
320
263
276
284
338
269
328
242
360
320
342
247
324
441
402
377
268
253
366
369
333
272
292
351
265
348
394
267
322
330
366
284
333
268
291
294
325
393
378
348
350
233
326
317
333
310
348
293
269
331
328
240
278
337
315
304
205
299
357
338
329
342
375
329
365
371
325
326
288
305
369
338
345
311
256
304
313
302
369
299
367
245
312
353
272
315
234
236
334
345
357
380
260
321
280
324
337
305
334
340
287
271
306
341
348
275
281
272
262
350
278
322
272
348
305
217
290
320
279
278
384
257
263
360
336
353
341
243
279
323
305
305
263
335
199
283
361
326
320
389
361
283
370
256
320
233
367
287
349
318
348
326
358
269
382
292
319
248
334
386
325
337
328
303
278
366
362
334
405
247
383
320
286
382
325
254
222
286
326
233
355
290
355
246
168
341
274
263
316
334
354
311
378
254
394
349
265
282
304
338
247
290
314
336
185
273
346
312
290
352
368
266
338
359
234
230
286
284
361
300
317
388
248
306
233
304
412
262
264
336
301
275
244
441
274
298
263
328
326
307
338
280
286
229
372
288
266
259
404
365
352
229
387
372
396
364
309
319
325
320
372
302
316
325
355
319
369
398
279
313
357
345
331
342
247
307
337
380
350
282
349
298
323
332
369
229
315
219
338
361
366
398
326
359
266
316
318
313
314
332
298
333
325
311
288
344
358
320
296
270
241
331
336
290
332
378
268
321
295
264
279
310
331
212
301
348
348
301
288
252
306
352
277
341
288
349
341
338
316
342
280
315
401
264
329
305
331
316
334
337
325
352
348
274
323
307
235
319
347
289
377
269
310
237
307
318
278
342
269
334
312
361
402
314
279
334
359
321
288
338
264
302
391
366
317
283
341
268
298
355
282
266
279
302
316
349
344
291
389
316
271
353
292
294
321
329
343
263
242
275
338
350
330
400
290
284
353
262
312
311
387
337
265
307
344
339
331
234
296
332
366
329
335
199
355
316
265
267
307
293
231
351
333
395
348
352
297
356
311
374
237
335
296
403
265
252
253
282
388
312
324
302
372
251
362
371
298
309
338
329
373
382
361
338
260
305
315
265
376
256
290
247
312
393
391
279
356
422
318
380
299
247
204
371
394
314
288
319
251
346
236
266
335
341
314
282
336
319
341
294
310
378
374
295
286
413
278
323
310
274
312
426
339
337
373
303
340
382
324
315
328
372
285
270
388
274
269
259
283
334
322
322
362
349
345
304
243
304
284
387
329
302
311
288
254
296
330
281
297
346
265
337
320
280
371
406
300
277
293
358
301
323
399
293
321
394
339
389
245
255
281
319
241
357
325
218
319
336
294
341
286
237
391
342
327
320
296
236
234
226
256
311
424
298
270
276
298
316
373
271
260
327
341
369
318
384
380
334
311
226
346
342
323
325
343
324
304
313
351
233
410
279
318
243
300
246
322
354
280
375
372
367
268
365
211
352
407
248
280
341
275
398
345
395
229
314
355
317
320
279
313
315
257
266
343
363
251
306
301
338
375
314
290
352
302
349
343
395
285
271
324
290
348
264
325
260
312
369
304
307
314
290
307
330
376
328
370
357
380
278
315
344
259
304
315
230
360
313
323
380
325
371
328
274
344
272
285
244
307
361
266
226
331
216
337
315
292
297
360
360
303
367
319
406
368
320
296
299
260
361
311
339
312
288
358
259
298
299
388
299
366
327
382
318
356
300
370
307
320
276
262
312
375
286
302
266
333
317
296
311
322
331
282
314
371
308
312
337
315
329
309
364
198
253
323
274
391
291
299
253
354
285
374
347
274
358
333
291
346
312
165
342
364
379
311
299
296
367
304
341
327
440
374
230
350
262
381
330
324
222
283
306
280
282
294
302
302
352
309
297
265
341
241
331
350
315
296
326
341
263
222
366
350
266
393
317
351
399
281
374
364
343
323
285
236
412
205
335
294
259
302
386
259
338
254
298
231
370
299
345
322
257
276
322
378
361
343
326
290
323
390
233
275
298
338
326
421
276
329
304
291
293
344
394
353
301
327
315
400
243
350
278
328
340
300
200
391
351
307
352
343
265
326
347
321
305
325
241
311
328
289
292
273
281
265
248
301
268
312
378
219
339
276
337
302
237
298
268
306
458
363
300
377
341
376
266
347
352
295
311
330
339
369
312
330
346
362
345
278
307
300
220
392
291
352
336
340
291
304
246
287
377
383
343
291
313
363
213
371
395
262
337
306
419
297
312
349
298
331
317
353
311
316
308
365
287
313
289
336
323
326
279
304
218
311
359
279
350
302
254
306
339
321
264
367
321
340
327
296
358
332
280
335
392
262
334
317
333
375
422
294
366
339
354
251
354
340
322
229
254
363
314
337
317
266
337
249
257
297
403
261
273
318
329
376
397
346
312
355
328
268
340
347
294
254
273
326
360
376
353
326
278
308
335
346
282
281
405
245
312
336
339
330
306
303
249
263
272
358
282
298
359
311
293
265
366
315
343
311
384
231
275
288
325
339
289
332
337
354
374
347
306
360
303
288
356
297
329
344
339
308
385
235
359
264
256
366
366
322
309
293
393
338
374
332
357
358
324
300
264
246
349
349
296
276
311
352
265
310
274
360
268
442
314
338
335
313
340
315
370
285
291
345
309
223
280
433
306
338
316
313
333
378
349
351
366
312
371
304
333
327
246
280
270
362
291
338
299
241
329
374
204
320
296
321
317
314
488
250
254
344
318
427
314
329
261
367
284
383
313
334
238
291
377
307
399
305
371
319
286
380
268
275
351
319
378
304
248
343
369
208
277
352
313
277
274
376
269
302
349
324
302
343
318
286
349
333
306
314
342
268
231
334
309
239
286
299
353
321
411
297
346
307
384
351
298
315
283
286
310
302
348
433
333
291
267
359
302
348
343
321
283
305
361
379
306
347
215
277
351
288
353
303
382
336
277
322
186
347
270
300
247
347
260
333
356
269
281
309
325
335
250
345
364
379
313
341
329
347
322
268
304
402
272
249
302
335
247
347
298
310
286
334
318
347
380
341
355
254
344
344
361
351
378
361
351
302
331
372
332
287
341
304
320
330
327
294
350
337
288
284
333
384
339
315
308
307
384
367
321
262
293
312
317
317
400
301
230
295
252
352
304
364
283
252
342
329
302
309
350
389
222
201
310
365
284
318
366
378
330
344
280
335
320
389
329
264
421
361
299
300
349
341
348
232
211
203
336
300
324
335
292
298
313
329
293
383
271
350
315
348
288
394
318
325
316
359
310
368
326
324
341
304
283
363
326
269
350
286
320
348
286
313
329
291
321
344
287
290
329
329
331
359
327
331
403
326
364
306
355
342
293
290
297
343
302
282
307
274
261
314
369
261
356
313
361
239
337
367
303
260
242
431
362
276
301
334
344
397
319
360
292
338
320
299
312
367
264
283
312
343
291
349
277
351
244
336
350
184
326
292
324
330
327
288
375
376
249
329
328
317
360
302
322
322
245
310
429
329
353
317
296
353
249
239
362
312
340
302
348
213
363
306
304
316
338
378
411
391
287
342
404
274
265
308
263
260
274
295
191
321
305
303
322
424
320
367
345
293
211
335
320
211
254
253
281
338
355
303
295
348
301
306
280
343
313
291
261
304
307
293
340
331
304
374
313
367
292
362
286
257
357
328
277
306
320
398
331
337
167
332
333
316
289
340
292
429
339
338
246
289
280
258
292
342
360
232
363
299
327
308
300
274
315
381
320
322
347
307
284
274
275
292
325
381
294
377
296
372
274
294
320
259
357
284
344
324
368
262
273
293
311
316
365
312
332
397
349
314
262
341
312
337
378
274
222
327
261
275
290
374
265
366
281
232
430
322
379
307
250
296
387
281
304
326
290
332
396
306
306
404
277
306
321
373
311
374
289
313
253
253
241
354
176
249
281
374
266
320
279
272
290
338
314
285
387
282
325
343
344
319
363
308
286
338
296
270
314
388
302
313
306
262
326
385
352
356
369
248
344
250
364
361
383
330
294
415
361
406
324
356
358
233
327
321
289
346
289
317
328
304
287
327
335
368
212
262
295
390
341
327
281
357
303
291
295
357
362
356
312
317
372
342
314
326
270
368
306
311
298
262
301
274
348
335
335
387
275
318
357
344
306
255
269
345
361
373
326
334
303
307
329
374
329
425
369
405
264
394
240
357
373
330
203
250
285
245
276
332
330
362
333
279
368
305
284
271
357
285
270
319
229
302
351
329
427
241
271
389
268
396
294
357
363
287
315
246
340
351
306
287
388
310
292
281
347
295
313
293
328
362
338
277
327
372
320
406
213
392
280
345
365
267
303
416
340
314
344
313
297
344
295
342
316
349
342
313
341
308
311
380
348
344
264
334
296
309
349
413
314
299
259
392
288
371
295
323
424
299
346
389
235
423
305
329
321
206
267
354
351
326
344
257
342
358
229
278
333
286
326
270
297
323
333
308
263
295
296
279
339
341
344
408
306
346
310
330
350
272
356
366
380
287
364
374
341
321
384
337
368
302
302
348
332
313
298
325
291
333
327
359
219
299
323
286
320
313
301
279
338
337
350
351
313
351
333
306
324
296
315
349
310
265
315
239
282
255
367
342
297
295
360
217
301
302
333
278
351
367
304
409
287
313
348
321
301
341
217
329
361
278
385
329
305
321
275
334
294
358
342
268
296
278
378
343
356
249
226
408
358
404
324
322
346
243
303
287
334
355
274
347
338
308
334
267
242
250
392
348
329
329
316
220
346
350
331
272
324
262
259
292
264
305
261
226
238
248
287
358
332
225
300
406
403
291
295
329
336
337
328
288
317
262
262
341
317
237
400
316
436
331
314
340
399
349
358
300
395
353
282
305
271
330
304
301
369
285
324
279
220
354
258
328
272
284
337
366
276
295
246
275
401
387
305
353
329
308
263
256
326
360
310
308
350
290
272
355
346
314
447
353
298
342
302
266
242
382
269
354
327
331
319
293
368
394
328
364
327
389
275
331
367
296
345
392
325
299
333
402
413
290
320
394
350
330
314
290
338
302
333
362
342
286
416
356
282
336
217
348
298
250
326
277
292
339
296
382
365
298
283
243
323
370
374
365
345
336
272
369
339
258
270
257
322
343
332
322
283
350
269
316
351
347
299
339
355
306
310
360
296
331
320
339
246
338
196
307
231
341
328
437
368
276
296
284
331
264
291
358
309
285
348
391
310
306
372
384
294
355
388
386
340
368
291
307
305
377
328
350
302
333
338
346
271
286
294
344
271
327
369
307
273
295
340
343
308
344
292
263
336
337
308
332
353
380
354
317
377
369
363
335
365
288
257
254
307
309
292
317
322
325
341
333
297
320
239
261
329
200
322
351
241
277
342
302
277
298
382
344
389
285
265
363
289
293
291
281
293
340
404
289
299
327
310
245
293
337
312
307
337
298
362
342
314
292
413
277
286
328
271
337
298
372
291
283
304
332
334
348
343
366
339
302
210
190
284
264
303
302
322
338
338
269
317
412
305
264
331
298
363
328
402
361
331
279
377
291
283
439
314
390
285
342
245
326
354
299
351
270
276
297
327
214
367
345
304
274
304
284
350
304
386
335
270
269
231
339
296
330
356
332
313
286
349
300
287
375
302
290
286
263
310
314
272
253
328
352
314
307
322
258
349
373
282
331
265
358
366
362
362
259
304
344
260
349
302
336
372
330
359
204
326
306
354
288
365
355
340
311
282
214
297
303
375
228
268
281
303
327
294
380
302
297
303
414
272
327
315
287
355
393
311
354
318
348
331
286
333
321
260
311
340
273
351
306
258
268
294
372
423
321
318
272
378
330
320
223
414
319
295
354
343
363
315
337
234
373
218
271
299
316
345
277
285
303
318
288
354
354
319
340
397
298
326
313
290
314
283
219
340
310
318
287
338
285
298
254
357
330
359
294
367
326
365
316
302
345
309
371
328
324
275
262
325
314
387
231
370
238
311
316
369
350
317
296
296
384
307
276
248
362
258
360
359
320
291
291
340
249
335
316
361
371
352
335
300
404
303
379
330
410
385
274
337
234
360
253
341
299
278
334
310
336
272
339
280
313
287
350
282
312
362
377
275
294
325
246
229
330
294
251
337
338
278
358
329
332
336
324
221
392
249
342
225
295
354
332
327
243
294
292
327
355
314
317
368
302
316
347
338
321
358
351
252
301
307
356
302
318
251
265
359
290
283
275
301
304
337
296
377
233
259
302
396
408
319
353
330
282
291
303
415
323
252
260
247
364
338
238
337
337
258
285
316
193
305
355
313
267
357
347
287
368
341
307
300
286
324
323
298
290
283
299
249
365
265
360
249
410
299
293
325
334
383
322
287
373
269
362
354
215
325
344
302
295
329
274
351
321
286
356
307
321
264
261
310
345
356
281
305
324
419
384
349
393
256
277
303
272
296
316
325
273
353
386
266
318
357
361
357
273
304
217
323
307
322
360
365
294
395
225
290
321
350
248
385
309
344
379
248
264
265
348
250
267
305
319
308
327
240
294
242
357
340
279
267
380
346
353
359
317
373
266
303
357
399
271
285
311
247
272
227
432
377
312
310
388
351
321
271
342
361
311
346
266
411
359
312
230
350
301
355
232
331
281
311
267
397
373
307
319
314
265
237
269
359
300
331
401
267
284
278
285
340
269
357
366
337
334
406
259
304
380
360
279
349
378
332
246
290
299
297
306
247
374
298
383
303
333
359
362
286
347
287
294
320
290
254
309
378
238
383
278
243
345
336
289
305
322
278
370
366
303
412
334
359
232
324
369
363
270
267
359
259
358
372
287
373
297
387
386
306
345
314
306
366
303
324
248
297
276
318
324
331
333
306
329
348
354
318
310
347
328
336
290
346
309
339
313
287
283
322
342
257
316
309
252
315
407
341
316
281
309
299
321
336
337
293
331
304
294
247
364
300
234
337
405
328
291
317
317
301
277
294
386
395
253
296
346
368
291
412
316
342
327
337
349
291
350
320
414
316
368
328
299
295
311
240
335
290
279
314
328
243
310
244
376
301
318
380
336
388
324
296
329
287
269
215
330
331
322
244
314
311
397
326
365
347
280
328
306
324
307
283
323
319
385
302
306
308
313
313
332
271
303
313
363
279
315
298
365
359
240
270
231
287
271
281
334
312
366
271
317
248
327
358
311
348
234
236
383
319
344
267
347
331
329
312
364
270
341
371
281
302
258
293
404
290
339
285
318
381
349
389
370
374
292
313
363
255
230
272
354
290
271
286
381
351
359
359
307
399
263
280
379
364
315
313
390
275
325
310
396
344
321
342
227
264
349
246
340
288
368
307
276
326
326
332
296
319
330
321
314
228
310
347
318
285
294
371
278
268
417
285
282
255
278
388
284
285
213
228
254
326
360
314
217
347
326
376
365
318
381
286
320
371
295
233
290
285
354
322
288
264
310
217
272
251
377
381
286
296
360
360
358
309
387
330
280
247
293
312
367
346
321
311
316
329
251
350
296
315
363
277
344
377
179
277
331
369
265
308
350
300
234
249
308
299
249
285
323
437
335
204
411
240
338
308
377
286
311
207
270
352
320
370
237
322
347
331
350
251
244
371
389
311
305
296
273
359
315
310
327
355
324
303
253
292
323
340
307
309
234
345
281
260
356
301
288
259
331
292
337
307
297
290
348
268
334
367
295
297
271
330
318
391
371
332
332
307
339
265
341
303
284
273
309
404
341
364
309
265
316
311
377
360
271
285
335
373
314
276
309
234
354
361
302
263
356
330
280
330
251
309
322
275
335
293
292
299
347
294
268
323
302
347
290
334
342
281
278
315
297
252
226
307
327
358
313
303
312
385
355
350
365
391
424
376
231
295
230
256
248
287
260
251
351
309
264
293
292
267
340
291
287
257
337
221
274
364
263
297
198
340
383
328
356
270
324
414
303
289
309
336
249
387
382
400
328
249
319
289
306
355
319
291
347
282
432
310
295
390
219
389
281
343
315
229
345
314
421
241
368
319
305
325
293
356
352
395
382
340
339
324
333
299
366
344
295
335
260
281
304
332
393
250
376
285
287
272
314
272
332
257
284
350
336
235
293
228
357
206
341
317
319
313
326
345
277
350
296
303
318
321
311
283
258
341
433
340
323
306
406
357
305
276
258
314
286
336
283
331
337
317
275
272
320
372
403
369
356
312
381
313
291
350
348
379
288
299
331
245
430
260
311
319
299
254
264
330
264
353
341
280
322
345
305
380
298
317
304
334
399
336
299
277
374
349
339
424
299
382
202
345
373
290
297
416
295
265
278
339
303
381
293
315
298
277
429
373
265
308
357
331
286
390
326
288
339
314
386
273
293
307
343
303
307
379
297
287
262
438
291
255
330
309
336
308
348
358
223
305
294
343
326
410
381
285
345
331
325
318
319
235
344
301
319
367
351
330
390
306
211
381
300
314
339
319
318
280
243
363
265
279
269
373
304
378
366
265
341
352
285
309
342
337
238
336
324
296
340
383
336
388
310
245
315
300
347
291
354
331
285
308
324
333
234
352
356
320
266
335
345
391
340
306
310
299
322
254
341
348
322
349
327
370
269
287
241
296
349
284
300
301
341
266
302
273
386
287
284
288
307
284
283
394
267
310
392
235
307
263
307
419
296
367
403
327
388
208
344
306
292
303
367
333
239
356
361
290
320
337
378
295
310
317
311
351
314
349
338
323
326
433
237
238
322
320
266
368
399
315
354
269
299
329
348
283
259
289
370
284
279
285
311
299
328
321
270
287
359
274
346
248
288
314
340
330
276
331
288
347
215
353
309
371
235
286
297
269
371
323
316
371
326
270
245
378
280
313
326
373
315
344
309
326
299
409
381
306
287
289
250
301
266
385
233
292
323
306
281
302
226
310
335
253
220
293
266
346
232
346
287
304
271
365
340
226
282
303
332
404
257
307
312
304
344
310
316
259
365
329
351
323
333
351
353
269
231
266
302
294
254
334
283
353
374
311
266
301
278
264
250
298
336
387
339
349
291
341
346
263
335
273
437
338
364
282
292
315
308
274
232
239
321
253
285
252
372
331
389
326
261
369
385
256
355
240
324
303
311
344
302
388
271
347
310
365
338
339
276
233
253
300
340
310
254
319
318
314
351
244
285
369
331
349
263
316
280
332
291
322
305
310
256
254
341
271
335
306
276
376
384
371
306
411
366
367
322
283
330
282
290
324
344
306
332
347
309
317
368
323
364
316
336
336
366
294
379
231
276
307
315
317
309
347
357
349
332
338
342
277
279
298
323
385
204
279
366
334
293
277
336
270
272
310
282
335
323
342
180
349
323
322
306
238
284
368
245
301
310
280
272
281
306
390
412
216
336
401
267
353
298
308
375
291
307
280
238
317
372
356
331
379
321
299
270
298
325
298
317
336
306
325
313
294
263
298
358
351
217
295
355
373
359
321
357
347
279
344
284
333
270
328
306
352
259
338
323
292
367
302
282
315
323
360
252
383
345
306
330
278
349
303
310
358
313
342
353
326
285
291
306
274
333
365
251
286
278
317
320
264
404
264
341
337
334
272
329
324
322
329
364
325
305
295
401
257
272
352
341
259
273
354
333
314
390
301
250
339
301
389
307
338
381
214
273
379
348
370
340
342
339
398
341
307
410
285
282
401
311
225
245
295
340
388
344
314
299
349
332
279
354
277
346
330
326
376
250
322
288
339
324
413
300
289
342
382
294
341
314
354
381
331
309
286
203
294
276
285
311
316
369
286
301
300
287
304
285
257
258
417
260
217
262
261
309
307
419
312
276
336
303
295
349
305
351
363
302
231
278
378
342
330
375
242
297
396
402
317
347
359
321
343
380
393
276
325
345
244
292
255
246
330
352
388
369
341
317
325
199
307
341
407
321
270
348
303
324
262
336
317
337
261
292
297
352
278
272
350
344
356
384
304
305
279
319
296
300
369
324
436
358
287
304
347
319
368
401
298
293
274
266
251
283
335
288
325
329
374
285
314
314
269
278
334
330
302
308
322
326
284
265
286
251
265
335
367
280
241
340
363
293
277
343
340
277
323
379
286
408
244
358
348
329
309
316
307
394
300
290
205
285
370
279
308
311
371
294
381
271
287
280
331
328
283
302
330
301
344
324
263
371
392
335
260
242
262
315
262
371
376
351
347
321
303
278
364
305
218
261
306
230
315
279
353
291
441
276
331
280
304
316
355
284
260
325
367
325
368
307
270
266
337
404
313
313
261
353
352
391
314
329
345
355
267
290
253
325
303
199
309
370
356
286
283
294
296
354
361
308
254
264
250
301
334
370
358
324
305
282
342
361
404
347
367
318
265
360
377
232
262
305
316
378
237
295
389
335
320
328
336
364
344
364
277
337
310
241
288
296
357
315
292
337
292
370
337
309
253
330
290
273
270
345
367
319
317
240
304
336
346
320
332
300
275
260
341
352
309
298
274
277
270
266
352
239
376
322
288
399
349
270
396
370
319
327
371
338
231
399
343
370
318
225
381
351
355
321
330
282
316
292
346
298
397
271
178
284
252
237
286
249
325
355
280
321
254
366
319
313
317
316
306
342
328
302
333
309
334
336
250
308
348
333
265
365
325
341
342
323
326
323
283
292
293
346
378
368
308
274
285
355
320
379
303
266
334
363
371
312
346
349
321
302
383
337
357
354
263
317
311
411
346
297
366
347
334
337
270
317
304
312
320
277
314
216
225
355
343
347
317
355
266
318
366
345
269
363
336
264
269
350
278
301
305
381
262
304
296
284
302
262
372
267
297
294
288
286
347
241
306
312
294
396
335
289
391
285
227
346
334
243
369
342
324
224
414
237
331
323
371
386
356
271
353
250
372
391
272
465
310
316
378
389
290
290
318
325
341
230
374
265
299
319
339
322
353
317
291
283
271
328
321
426
327
295
370
331
276
315
359
281
345
287
381
361
350
330
304
258
343
347
319
311
297
249
329
204
326
383
299
406
274
368
244
396
262
278
367
373
300
337
309
336
324
341
316
373
282
224
315
293
301
349
321
296
327
264
319
299
389
296
353
316
356
256
312
357
358
344
252
242
227
255
255
309
315
338
243
351
326
226
373
365
289
326
281
291
408
265
341
354
325
316
385
275
352
317
264
286
327
241
270
279
327
282
238
374
335
300
314
364
300
388
372
368
311
361
295
392
262
417
304
267
318
202
270
338
294
324
315
320
320
368
319
359
290
341
321
332
315
349
191
319
251
275
240
182
309
228
319
328
301
266
289
332
310
271
331
334
251
242
273
321
190
298
301
277
358
328
262
243
291
345
379
289
330
275
320
305
330
289
300
350
334
271
296
368
315
350
324
360
302
341
294
332
305
364
244
358
302
263
306
374
367
253
331
375
239
345
276
279
272
278
237
205
315
326
343
364
373
337
326
371
263
366
295
386
329
305
329
257
310
365
327
389
331
247
285
313
336
299
346
216
346
318
343
363
343
312
335
287
344
276
319
322
301
282
291
334
269
295
313
315
340
340
304
300
338
324
276
283
231
221
305
290
229
315
331
226
301
303
310
225
208
381
349
338
365
324
254
250
323
264
342
287
244
227
288
280
411
307
292
326
339
272
335
322
309
227
373
309
297
343
280
318
358
352
376
396
338
302
241
313
355
251
264
304
316
272
333
273
350
280
283
291
311
294
276
321
352
245
365
302
313
268
259
353
300
396
456
256
327
386
341
295
372
400
334
383
323
333
346
269
242
283
267
300
324
357
353
286
313
365
361
261
305
364
426
265
380
320
355
271
396
252
322
373
316
363
408
346
296
220
295
332
288
295
344
304
291
352
288
207
231
335
385
400
259
278
307
357
328
297
234
343
317
364
239
300
298
339
302
368
260
407
307
259
325
354
313
369
393
319
355
366
363
317
359
290
377
321
340
311
350
312
293
306
303
292
309
273
372
281
390
254
322
355
333
361
354
293
367
276
341
273
351
258
263
356
243
336
332
277
350
370
313
327
292
391
384
275
351
349
264
240
337
382
228
319
255
326
404
348
358
322
393
400
236
287
290
358
361
351
310
307
251
258
332
364
287
334
191
375
317
355
265
203
299
293
315
381
296
309
331
310
419
356
282
364
251
365
384
357
363
229
319
314
289
381
339
304
299
331
204
373
268
342
317
215
263
318
291
370
310
315
341
356
264
380
210
332
258
383
289
343
289
261
287
282
261
363
372
370
275
293
323
282
244
301
356
315
289
357
349
300
266
392
339
366
388
248
380
379
237
311
319
342
393
343
298
402
309
324
365
332
271
324
314
352
242
377
305
406
200
326
366
367
239
277
349
362
313
427
382
328
309
336
318
379
297
368
233
280
301
306
293
335
347
293
303
326
291
329
361
360
275
384
299
387
299
374
427
323
320
422
396
353
319
379
216
293
353
269
277
350
344
329
260
336
337
361
317
277
357
338
309
374
369
379
358
319
367
391
323
282
305
368
281
396
420
282
364
391
384
268
295
403
323
304
309
366
313
329
397
316
367
265
311
326
307
327
269
335
339
395
295
285
284
342
384
342
258
337
254
341
384
326
294
307
357
360
297
353
326
342
325
334
323
258
276
312
379
316
317
326
342
389
296
282
335
207
368
314
395
381
337
264
303
342
373
258
286
280
284
258
398
362
333
294
284
312
308
377
305
241
339
269
326
352
346
243
413
286
336
382
370
353
268
268
259
331
278
321
300
315
385
368
338
269
273
383
277
363
329
244
274
380
297
312
299
301
317
288
301
241
344
323
310
361
178
281
340
322
340
301
280
329
247
334
315
236
325
261
262
318
343
302
340
406
357
268
348
283
331
352
251
284
318
328
362
400
340
280
337
327
387
339
322
220
299
424
285
302
421
364
198
381
282
340
327
336
286
322
250
315
282
323
279
390
257
348
308
345
386
323
329
317
436
341
281
317
298
309
319
263
323
354
278
364
368
325
344
408
437
286
314
284
367
303
350
279
342
312
243
352
257
324
386
322
313
367
307
309
276
326
300
286
347
280
207
316
372
328
271
318
395
329
329
195
313
380
263
310
311
384
299
303
286
292
320
358
277
313
244
346
356
311
355
430
306
294
352
356
353
349
229
329
277
316
318
337
236
247
342
311
357
364
322
384
343
385
298
251
321
303
214
296
241
286
312
366
352
326
384
344
318
381
227
312
229
287
298
226
355
366
295
229
339
391
454
288
311
331
361
326
312
340
364
263
286
262
358
256
363
345
237
342
289
335
304
356
277
326
202
333
421
341
370
322
337
292
319
270
359
367
255
303
336
362
339
255
311
306
404
378
380
350
267
439
312
276
359
289
374
313
308
415
376
294
250
302
310
286
306
342
276
332
308
328
388
345
286
360
350
295
253
327
313
260
350
271
288
353
313
388
345
264
285
361
307
263
286
324
394
313
357
376
297
360
309
322
238
312
367
313
324
255
303
288
287
315
315
305
336
346
330
248
397
299
324
325
285
307
345
280
312
245
277
349
332
292
372
284
393
336
328
312
246
269
287
305
292
288
299
321
357
431
243
356
335
223
218
246
245
245
264
337
257
339
312
329
289
299
376
331
306
320
369
330
276
214
305
322
390
347
330
308
333
365
234
337
333
230
258
264
279
260
305
342
386
311
252
333
350
345
330
374
353
283
264
303
349
222
283
336
254
308
347
346
348
291
308
405
243
331
287
310
288
391
267
279
318
317
337
322
298
313
396
335
392
256
287
311
324
349
275
328
327
279
275
309
310
309
308
228
338
298
320
365
336
390
342
429
353
368
328
307
240
313
325
341
287
352
321
372
413
311
342
350
309
366
328
276
331
274
304
278
311
354
302
318
271
312
288
313
264
297
351
326
317
305
313
367
375
330
256
354
314
289
223
361
209
299
288
236
309
395
328
334
303
422
272
384
333
279
262
326
333
353
338
377
342
280
266
402
269
432
279
250
324
283
341
286
322
233
300
306
280
335
258
347
353
289
394
365
351
331
231
304
335
395
381
297
309
293
333
240
384
325
281
334
299
285
297
279
296
363
289
313
354
390
348
296
229
403
381
377
306
377
369
292
310
332
280
283
324
226
230
333
363
233
304
266
236
268
352
366
329
281
378
285
338
326
330
301
308
285
373
317
370
346
245
316
368
293
320
338
308
356
298
339
267
387
290
348
346
254
346
199
327
404
290
269
435
298
357
266
360
351
338
261
354
255
260
307
274
316
313
349
357
279
342
308
280
240
354
268
248
325
305
273
263
355
297
300
372
231
306
314
320
268
338
326
362
358
335
304
364
331
318
300
244
342
409
326
331
368
317
249
377
322
324
366
350
267
330
308
325
301
352
350
287
333
296
327
341
317
379
295
291
389
340
311
252
376
375
333
265
328
313
343
325
306
346
361
279
384
288
379
378
397
379
356
313
382
377
257
328
339
265
304
308
306
335
393
232
348
308
291
381
335
374
269
362
342
355
258
396
348
253
352
326
375
275
346
276
297
349
378
301
245
308
362
329
287
299
387
313
285
354
237
260
282
367
308
327
420
293
340
305
278
239
273
322
264
341
312
292
354
228
290
273
387
340
296
357
307
340
394
350
372
300
256
377
358
307
301
283
331
293
346
306
260
315
295
225
326
348
322
394
267
366
296
324
269
368
316
316
251
344
322
308
386
327
356
313
340
324
298
329
284
278
414
319
343
362
239
299
307
244
314
301
323
387
332
242
282
351
354
277
277
240
396
276
333
307
297
288
252
298
340
313
347
357
348
384
330
344
320
313
404
342
300
340
259
376
324
286
316
276
274
345
323
256
298
273
226
360
297
285
305
253
282
365
323
414
289
259
337
382
242
333
277
389
350
346
385
281
261
343
249
309
291
365
301
316
335
301
300
292
321
390
315
378
289
363
288
319
370
275
377
338
294
311
312
255
336
310
277
454
245
361
365
292
271
359
269
305
280
283
294
324
300
359
346
286
206
359
292
349
225
297
276
343
373
346
382
302
310
342
361
312
277
265
273
359
256
338
309
247
334
279
327
385
253
300
243
393
323
296
289
331
370
291
229
281
339
352
265
336
300
324
339
373
316
297
337
252
318
275
360
359
305
335
302
321
329
310
296
277
374
218
355
331
312
358
324
332
321
370
244
251
298
354
391
417
326
320
287
249
319
284
312
269
254
373
355
349
335
278
321
347
347
341
323
332
265
315
339
274
222
327
333
374
272
267
296
317
350
412
256
358
345
328
327
282
305
259
274
362
351
319
261
255
234
366
309
285
334
366
246
362
273
259
345
317
300
288
326
323
216
280
336
418
384
376
301
360
336
353
174
367
349
326
213
321
398
371
340
249
301
373
221
315
342
314
367
372
291
244
346
269
268
345
327
294
372
310
316
304
292
375
265
308
235
315
260
299
366
302
325
311
390
279
312
311
344
318
344
301
323
374
325
369
387
307
258
269
361
359
342
312
283
316
366
320
405
342
410
333
302
308
337
267
295
261
334
441
309
331
284
345
361
367
371
375
240
281
298
238
298
252
345
308
321
347
275
309
341
309
317
294
433
372
361
358
279
234
304
222
311
288
255
330
350
299
287
330
380
302
389
295
311
296
336
371
303
341
409
316
366
340
311
345
285
310
294
324
298
312
315
292
331
379
380
426
234
352
338
303
252
338
355
341
301
266
311
329
360
309
292
305
322
343
245
343
369
330
276
330
259
269
311
237
256
335
346
328
343
311
277
322
330
335
315
387
355
355
340
224
249
314
299
321
312
331
272
267
362
319
222
346
312
343
274
382
346
301
385
301
358
291
353
344
302
399
360
258
318
172
314
292
219
373
246
362
360
326
245
337
251
293
367
296
204
355
290
255
297
343
338
337
323
318
408
388
362
290
231
264
353
345
334
284
341
363
352
297
255
394
370
286
327
314
327
316
387
255
286
270
307
345
352
244
333
267
376
264
340
336
270
355
317
294
318
350
232
339
372
327
324
432
299
333
350
239
322
339
264
297
342
326
372
312
305
340
301
349
267
321
320
311
343
329
328
284
278
363
319
229
267
321
255
346
357
340
266
300
319
303
361
385
244
301
415
298
318
321
285
353
244
328
280
322
239
324
333
257
363
317
328
230
301
349
329
312
326
346
361
359
325
360
346
237
376
216
358
392
324
315
283
203
250
336
283
324
290
277
361
225
337
333
315
400
391
357
352
295
340
320
381
418
291
364
258
281
301
257
286
330
328
359
252
299
342
250
285
298
260
218
382
347
346
314
321
412
282
295
176
397
394
301
390
265
367
395
219
326
313
362
299
259
349
252
352
297
326
364
344
328
225
299
332
309
274
280
361
254
288
345
327
341
344
312
350
352
311
276
275
382
356
261
377
372
315
294
358
320
294
311
344
379
306
393
287
296
272
427
323
394
332
384
217
308
316
359
390
371
298
371
322
395
387
290
268
251
379
302
326
288
292
309
317
217
261
305
395
320
241
239
254
331
315
297
340
294
297
406
359
291
379
350
296
316
279
329
326
246
314
322
375
290
305
270
304
206
353
343
255
231
329
328
370
365
269
300
339
251
349
368
361
362
303
321
273
375
325
284
311
364
336
312
324
298
320
323
264
345
314
359
306
300
276
334
269
380
304
223
360
295
346
309
374
440
303
258
352
247
221
408
357
251
303
356
370
338
300
318
307
221
253
310
302
348
246
325
294
347
300
365
362
291
325
291
315
256
274
402
244
390
272
286
354
201
311
373
304
290
341
341
358
307
336
307
373
291
338
271
268
395
350
274
330
323
330
351
300
346
301
343
283
359
379
303
351
285
400
356
367
294
363
354
272
358
263
342
347
340
309
271
358
312
290
326
337
302
313
321
283
307
269
246
272
267
333
324
232
316
375
292
304
336
356
348
351
349
347
350
311
421
348
214
300
278
353
344
275
218
303
322
331
335
293
265
345
331
219
326
351
286
374
341
299
401
370
338
338
289
245
255
462
314
395
333
398
357
359
266
358
286
392
276
382
336
415
246
348
340
266
272
315
331
238
356
383
331
299
434
315
361
307
355
309
376
379
264
340
388
316
313
344
234
394
335
273
346
272
335
275
198
270
400
298
321
305
291
345
304
361
315
351
393
375
301
378
338
320
367
324
328
352
256
335
298
334
312
364
330
307
320
375
384
326
341
410
339
318
340
318
299
289
300
302
329
271
356
326
316
348
313
343
259
388
348
372
329
258
369
344
322
269
343
358
278
334
325
278
320
359
386
372
296
368
290
337
299
307
306
356
316
362
248
355
325
272
308
362
357
301
296
314
250
307
400
388
309
325
258
263
311
302
278
288
344
252
315
322
289
317
321
314
282
245
309
259
396
317
344
400
269
256
259
298
330
297
364
329
270
361
302
357
308
282
331
280
342
324
331
278
352
310
264
273
298
294
296
265
310
308
286
244
294
224
373
341
335
309
299
380
307
290
310
294
315
327
317
314
294
277
359
307
360
318
273
308
321
287
338
315
229
372
345
371
360
361
315
278
372
339
326
238
368
313
312
273
292
290
243
378
303
339
306
387
290
345
304
378
267
333
334
316
269
278
330
355
304
346
398
273
225
308
315
410
330
343
322
287
290
354
308
317
344
264
342
322
315
301
270
383
324
274
301
387
338
384
317
279
259
293
395
308
309
296
275
312
300
374
412
261
333
273
353
313
295
279
224
362
309
331
321
253
381
294
431
321
290
301
248
298
362
288
289
304
367
308
291
389
287
334
394
305
277
391
307
323
456
287
299
307
385
395
266
396
361
300
342
316
262
319
303
247
313
414
318
305
359
237
374
298
375
291
351
287
327
287
250
216
318
357
217
340
300
283
293
248
338
327
326
288
391
321
337
316
331
376
283
338
263
317
317
318
318
314
302
216
292
286
308
300
311
340
298
266
343
287
331
306
393
362
290
362
357
384
293
234
334
279
366
331
350
352
340
299
372
252
278
303
299
411
311
285
336
311
308
279
328
340
171
282
241
375
323
328
329
297
322
347
304
299
329
373
321
366
272
318
283
361
294
341
384
301
329
299
345
281
344
403
239
307
370
330
316
380
266
284
359
311
321
350
346
300
265
375
328
339
328
273
338
245
273
276
261
306
353
253
260
293
287
262
220
318
345
289
362
291
302
363
339
333
325
364
311
308
347
305
322
331
350
323
295
357
333
326
363
321
340
339
382
241
303
364
305
293
336
284
269
239
277
388
327
294
263
316
372
318
291
327
382
301
364
328
340
351
291
340
336
297
326
357
303
386
290
370
341
293
279
322
334
362
355
274
360
316
378
255
331
310
345
315
434
301
348
315
372
323
350
319
309
191
383
322
257
304
282
341
302
349
329
313
271
318
389
390
311
276
276
327
340
249
279
355
377
347
259
294
271
280
304
243
283
273
296
306
351
402
251
289
360
264
355
394
347
361
369
314
300
351
230
353
252
377
329
253
315
318
348
349
309
331
260
314
282
304
382
374
402
424
318
372
371
320
352
362
317
277
282
342
267
299
333
241
422
349
273
341
249
267
391
364
341
258
345
285
290
364
297
307
279
356
326
337
220
301
348
358
351
276
358
382
259
312
296
316
270
301
282
243
374
275
344
328
285
337
358
254
267
314
250
329
448
242
253
352
353
340
310
294
238
389
283
340
360
244
281
272
339
358
348
304
231
360
316
252
294
290
279
335
324
385
323
359
289
306
278
344
332
298
270
367
305
261
364
301
370
273
352
272
319
301
301
327
284
292
314
327
290
280
406
320
326
275
362
197
374
282
348
332
351
391
368
294
369
221
391
276
313
323
326
293
316
265
312
273
356
295
340
309
330
330
358
301
248
380
314
285
280
314
339
316
290
271
347
320
338
376
197
326
355
355
368
299
331
371
333
246
181
284
335
200
384
351
366
383
313
343
274
289
262
314
280
323
323
299
358
309
314
404
315
361
214
289
291
329
238
373
360
291
294
358
292
193
260
219
357
271
342
333
347
329
325
343
308
237
317
311
345
336
254
362
237
344
330
307
276
331
272
431
385
287
333
349
337
398
280
331
373
388
348
304
290
324
311
307
329
261
323
297
344
241
352
281
271
347
296
353
231
264
321
362
325
371
320
284
353
265
307
325
249
359
257
374
319
300
267
334
318
298
299
320
339
369
342
370
339
338
283
313
309
350
344
346
338
356
362
381
306
279
347
211
340
315
260
315
321
363
334
257
375
365
413
355
221
403
289
238
348
331
380
363
311
353
297
310
374
287
389
371
366
370
325
380
349
372
374
319
297
407
338
281
234
337
309
255
338
343
334
279
314
359
232
298
315
256
371
343
335
272
300
337
283
275
286
246
336
235
276
350
322
327
330
301
281
288
226
364
352
327
376
280
229
278
228
290
348
286
343
330
318
307
236
279
269
232
295
375
303
339
311
249
338
312
349
402
366
324
217
332
328
286
367
270
261
275
321
344
253
314
281
269
241
370
311
319
309
368
296
428
312
316
327
291
299
308
379
299
313
327
304
325
176
251
232
305
347
243
333
300
337
301
331
289
298
285
345
224
214
320
292
326
246
368
251
393
298
405
261
386
309
274
271
292
319
328
354
257
408
341
317
353
346
320
347
299
346
324
361
384
319
364
283
336
311
241
306
380
311
338
308
309
408
376
257
363
259
365
379
389
300
229
312
244
302
297
315
337
318
333
339
296
412
266
333
393
289
295
331
369
324
254
302
283
264
365
286
321
311
312
271
327
331
297
295
262
201
368
348
359
268
375
301
311
326
286
303
396
348
258
279
358
340
363
272
384
294
333
299
248
330
369
400
417
292
307
359
325
360
337
362
350
334
268
355
324
375
384
230
349
333
295
318
300
362
374
288
390
285
294
328
321
355
324
304
272
271
278
331
299
337
422
340
307
330
376
347
256
251
264
347
296
353
360
279
365
405
303
313
351
247
348
307
394
346
222
374
257
231
374
237
269
327
280
317
350
255
290
289
246
307
357
401
363
336
329
262
398
330
341
328
344
328
249
331
364
267
348
313
344
323
269
393
363
272
344
262
363
302
306
334
146
282
227
332
368
365
304
349
379
297
293
237
311
330
351
291
348
408
240
342
372
349
305
303
326
340
344
314
262
264
333
293
348
314
346
302
290
285
366
380
289
258
301
405
367
285
345
355
394
336
331
273
381
356
246
249
385
226
248
282
316
337
305
334
356
372
261
364
313
309
318
319
306
353
343
368
342
352
245
328
414
265
298
327
272
305
198
304
245
286
323
262
292
391
381
301
302
320
359
305
318
316
292
245
340
237
376
344
284
228
277
296
299
280
247
297
240
281
353
318
341
332
359
266
314
266
362
234
275
288
288
369
297
359
334
350
337
265
325
273
288
321
373
357
242
310
312
249
310
317
310
323
380
241
306
372
410
342
344
302
304
342
268
298
244
341
301
334
266
333
382
322
238
390
329
271
274
289
309
268
333
313
333
315
329
284
319
379
307
330
340
321
327
260
299
272
253
384
334
328
317
351
362
349
311
423
259
408
307
378
321
266
350
292
245
305
296
232
272
300
367
390
380
321
271
395
415
265
377
297
287
285
360
350
303
287
277
315
255
240
228
357
294
341
189
405
341
382
318
269
228
346
273
302
353
343
307
293
205
303
287
335
365
278
297
278
307
321
261
321
291
290
331
256
372
276
312
272
276
364
291
315
329
272
283
242
396
261
259
315
348
359
382
412
303
278
323
303
220
291
295
279
314
355
321
343
304
338
306
370
334
324
307
300
350
262
348
313
308
335
349
422
246
346
287
282
241
395
317
211
298
255
335
374
336
225
306
302
265
302
360
346
329
363
339
326
308
320
365
283
264
326
299
384
364
255
273
319
351
350
341
331
309
373
334
252
301
256
310
370
300
314
327
282
294
364
338
376
339
275
264
329
350
267
340
324
244
270
344
319
395
298
279
359
398
378
320
323
313
317
378
307
325
263
253
265
268
305
364
293
238
279
295
379
303
323
340
226
347
371
318
309
338
353
187
307
306
324
356
322
242
322
321
370
325
448
296
322
276
343
305
336
252
342
349
350
343
257
367
287
286
325
344
317
242
286
327
377
290
329
251
287
345
285
293
334
371
379
298
326
262
282
290
361
334
313
347
340
350
263
373
295
307
357
362
267
365
302
270
377
343
302
296
299
434
336
319
284
317
296
334
331
171
285
330
240
281
366
313
329
319
344
237
230
266
317
319
285
375
329
329
302
282
295
369
309
296
291
346
288
358
364
317
325
299
357
377
295
329
319
268
274
202
315
298
371
303
277
313
394
389
363
359
397
308
347
377
360
354
267
379
357
298
278
278
292
301
263
327
219
366
365
325
366
350
345
331
332
330
231
264
344
425
354
321
276
383
325
369
336
292
178
374
344
346
364
412
376
366
288
316
211
279
269
285
382
321
329
303
275
335
305
240
332
324
376
314
303
221
339
289
361
383
190
426
379
247
386
295
339
303
319
351
282
301
209
233
292
323
374
292
242
296
283
318
289
305
317
293
386
299
307
310
327
333
237
337
322
343
266
357
329
323
279
334
264
264
301
333
301
338
221
287
265
257
374
401
274
328
252
330
317
217
346
315
262
298
286
284
441
363
337
294
307
254
265
306
363
276
399
309
380
325
323
340
327
323
323
314
373
258
267
290
265
230
283
324
314
280
302
368
344
222
265
300
322
282
272
333
355
330
296
364
289
400
345
297
318
272
380
281
296
331
280
330
294
354
262
335
329
272
281
330
362
294
313
322
308
258
326
389
297
417
310
331
304
295
291
270
324
214
325
290
347
282
356
337
401
278
273
274
374
365
296
364
212
267
240
321
368
303
351
313
332
314
331
267
225
326
332
322
349
310
367
365
340
381
342
269
400
269
292
374
281
276
329
348
297
297
309
313
409
328
272
368
307
266
279
371
302
264
324
285
380
240
295
353
324
360
253
201
385
396
352
328
305
351
267
310
353
312
331
284
390
403
379
321
308
297
362
317
336
229
324
304
250
371
362
350
329
352
390
285
315
306
304
333
324
292
328
292
371
302
324
216
273
338
314
433
335
280
366
276
312
385
343
336
229
310
272
306
312
278
364
310
328
267
319
245
378
263
351
336
264
336
335
241
305
278
324
184
325
321
314
324
311
265
322
346
254
270
311
345
367
346
382
336
333
327
324
393
336
292
345
236
357
344
287
333
306
356
345
280
281
298
360
325
361
221
269
301
341
355
338
284
346
202
336
316
322
344
308
400
260
289
336
295
269
330
273
277
255
306
299
340
279
386
326
269
412
302
295
266
350
276
310
297
330
295
216
294
304
332
393
326
240
344
386
383
318
312
407
353
320
317
337
343
339
323
354
316
340
337
336
397
326
247
404
228
275
330
294
280
317
325
348
327
315
202
372
302
347
349
293
292
350
295
293
347
337
344
281
371
305
305
339
321
296
339
270
355
359
351
250
313
309
329
284
365
336
341
289
257
322
335
275
287
346
352
312
322
337
371
386
315
355
319
265
399
329
338
320
288
359
360
363
292
332
399
315
291
275
351
363
272
341
328
325
337
318
302
349
278
297
345
313
331
288
297
321
333
378
354
336
265
257
233
339
337
274
274
349
307
335
249
320
336
289
357
373
267
340
334
394
383
329
356
211
312
270
285
318
318
353
327
380
211
297
345
368
347
290
337
257
342
304
288
373
222
346
332
297
350
385
271
358
222
320
409
335
336
365
383
264
331
344
342
356
408
334
314
302
286
398
328
326
366
250
296
304
236
430
261
275
307
255
307
314
347
342
336
301
249
359
378
274
266
310
295
306
221
288
295
353
371
289
312
322
312
270
218
308
314
308
314
317
350
258
388
308
294
303
389
243
306
286
350
289
279
379
313
298
406
301
333
374
280
280
397
304
374
267
289
293
359
324
306
278
295
300
305
305
289
268
314
291
331
277
319
311
357
292
369
280
348
262
285
363
229
303
313
310
348
296
357
352
304
288
266
295
337
319
266
297
439
310
347
261
266
298
305
236
310
376
273
254
247
321
265
370
313
338
300
288
312
309
320
403
305
255
318
352
331
304
417
272
324
452
338
282
267
339
360
384
314
322
341
281
381
337
206
290
259
339
310
238
295
292
253
289
315
294
253
423
351
406
311
320
267
325
261
332
260
325
291
263
382
337
230
291
347
290
341
302
180
312
310
210
332
336
359
290
259
348
243
343
363
268
294
223
315
331
320
331
281
395
352
311
312
303
294
211
336
304
321
385
280
272
372
296
371
278
355
352
343
350
358
253
393
365
331
323
364
305
295
282
370
282
307
304
310
323
311
353
344
338
277
375
262
313
363
246
282
239
332
373
315
320
362
328
318
364
282
288
373
364
295
287
392
309
268
308
292
312
346
285
291
338
256
280
316
330
346
369
289
397
281
342
318
317
352
348
269
344
399
312
351
376
290
357
329
275
331
321
315
304
376
371
349
317
356
294
356
286
353
354
328
329
365
368
279
333
337
260
329
334
229
358
252
270
291
322
407
373
374
288
384
389
370
331
363
384
270
311
244
386
272
395
318
301
326
245
349
373
226
285
316
306
247
330
278
342
342
301
300
297
355
280
284
281
383
318
329
309
362
363
345
242
262
258
393
306
384
327
328
239
346
275
306
314
311
349
299
207
354
387
361
291
348
304
244
288
334
306
340
340
379
215
313
384
313
257
306
239
301
359
325
285
397
300
313
318
363
306
234
283
344
300
307
372
344
285
329
323
312
278
366
268
325
303
384
324
269
292
365
269
278
289
324
261
363
283
307
352
347
294
315
373
317
378
303
302
309
311
329
273
309
336
269
328
323
273
297
338
361
392
268
243
302
365
327
309
359
355
364
237
416
281
321
375
328
284
348
323
301
294
272
369
329
324
253
272
403
274
324
320
335
364
275
404
397
376
317
279
193
267
343
416
297
331
381
338
360
281
358
262
320
257
249
230
344
328
368
350
340
325
360
289
297
318
308
255
363
381
302
306
303
323
340
376
352
299
345
268
279
253
239
281
325
343
312
277
389
373
281
405
291
327
353
336
291
319
312
349
303
332
355
329
330
331
351
256
334
368
280
319
347
388
347
368
334
310
293
364
272
285
314
384
379
312
306
297
352
385
373
320
291
330
353
323
384
337
381
340
265
317
396
375
299
313
338
278
357
281
309
284
372
323
254
260
287
287
380
301
291
338
343
322
360
297
291
361
306
338
314
367
332
309
274
353
342
323
294
272
318
350
310
303
359
392
287
347
261
385
286
295
394
332
362
269
401
298
316
262
249
345
406
318
356
267
329
357
339
269
377
305
325
335
322
247
386
156
297
310
305
293
271
350
301
346
340
356
399
249
301
321
298
298
330
303
300
323
289
364
357
371
385
350
241
248
218
290
375
382
226
259
324
314
268
320
315
369
287
327
277
286
361
325
301
331
350
256
263
275
319
335
316
319
253
270
284
254
404
341
288
338
311
293
304
246
266
292
310
251
246
347
291
228
385
357
338
359
237
297
286
330
325
278
310
255
365
225
383
332
298
326
381
299
314
357
250
298
358
388
398
342
320
331
385
313
309
349
281
233
250
326
312
301
317
340
332
308
308
335
355
285
335
262
273
303
321
369
346
352
175
305
239
313
281
364
262
335
288
284
362
232
327
224
340
305
293
381
383
282
272
272
412
285
363
252
297
296
303
361
303
311
309
292
302
269
372
237
325
329
349
360
298
316
372
356
290
330
313
343
377
344
306
240
328
280
305
242
321
374
470
294
290
291
178
326
333
302
342
339
249
293
202
244
325
343
298
340
326
304
343
273
350
274
358
361
330
308
357
330
281
261
319
286
296
333
318
363
339
363
394
258
266
348
236
349
280
301
315
337
300
404
343
309
301
330
309
299
246
355
399
361
269
336
379
271
246
326
349
224
340
376
264
336
281
277
356
293
280
305
278
293
385
275
315
354
297
351
274
250
288
343
336
352
278
230
346
293
338
294
260
352
367
290
330
359
300
235
312
353
305
329
361
351
371
309
346
330
294
387
248
317
275
347
361
190
269
288
235
296
365
326
297
311
334
352
306
289
333
312
243
320
240
310
271
269
351
268
263
352
344
313
291
362
288
263
338
261
293
276
444
331
317
244
297
238
384
309
346
262
259
275
342
246
345
205
370
245
307
361
387
296
309
334
334
388
327
267
229
344
300
271
344
342
318
361
277
293
382
302
309
318
244
326
348
262
258
282
365
357
308
309
298
272
300
367
329
303
414
332
317
378
297
375
260
315
332
321
356
329
264
287
309
271
380
332
367
297
248
293
295
360
402
345
326
366
402
305
313
314
298
248
337
323
318
280
336
314
332
243
301
260
337
303
285
273
324
359
258
285
281
349
391
313
337
315
355
223
315
283
347
346
316
363
320
340
283
359
274
197
378
298
360
247
272
315
284
276
384
317
309
279
294
335
327
310
377
274
314
389
334
368
287
257
265
405
360
296
295
311
354
323
318
316
316
338
312
218
335
336
267
256
343
294
296
352
325
315
266
333
304
302
323
332
263
280
333
382
342
271
239
308
261
299
279
218
333
341
387
341
342
280
251
320
375
262
371
251
359
276
272
321
295
306
320
292
312
369
286
362
279
337
263
296
279
318
264
318
347
191
329
256
350
255
328
322
370
243
349
274
360
337
301
368
352
339
271
324
226
298
276
281
276
395
292
348
304
361
260
290
383
387
206
322
336
385
233
298
279
360
369
285
367
283
285
266
289
313
260
338
335
293
255
258
284
313
245
333
392
290
299
313
344
356
310
301
319
243
320
363
303
311
328
265
365
292
251
344
364
214
303
335
368
254
389
309
365
312
286
294
294
301
297
291
221
318
323
354
320
304
292
276
319
256
307
355
338
371
296
337
353
391
308
377
250
365
279
310
322
353
262
341
253
341
335
297
327
307
291
288
327
316
307
293
379
443
298
297
365
274
315
252
361
274
345
317
244
304
303
288
336
390
305
362
400
316
315
285
260
354
473
311
380
332
322
352
328
284
283
318
401
326
274
354
311
274
297
311
328
330
236
320
395
378
269
319
337
362
345
350
315
350
376
340
309
303
338
327
291
297
327
376
287
329
303
364
315
298
383
243
348
308
270
332
356
351
293
275
319
287
308
355
306
358
373
311
403
287
318
268
267
361
422
329
320
274
287
286
279
372
322
321
337
313
346
298
311
293
314
408
416
357
313
236
259
306
372
298
278
361
303
321
328
272
331
330
276
378
341
319
286
303
277
245
312
291
324
364
359
362
274
347
281
353
260
335
249
351
335
314
336
396
314
343
313
290
304
348
403
285
279
278
306
311
333
216
394
309
299
297
313
309
412
248
301
327
321
266
283
259
291
226
330
250
206
296
213
339
353
327
307
319
245
321
331
283
252
284
387
337
246
335
386
327
311
283
329
304
306
322
321
332
327
323
348
187
276
261
300
270
300
364
239
315
342
287
217
261
298
287
271
285
370
372
226
303
286
289
245
227
320
305
269
285
377
353
326
331
354
326
328
290
256
378
399
327
355
323
331
311
284
332
364
328
312
261
327
413
323
307
280
312
339
346
299
340
311
304
362
289
336
349
346
344
304
339
395
361
248
386
288
297
326
322
309
343
283
304
312
353
389
320
382
289
186
233
309
311
286
322
309
355
264
331
375
349
318
284
347
267
315
297
272
273
331
330
302
330
351
306
247
372
325
325
247
337
321
366
277
374
254
213
314
333
316
398
317
351
319
295
323
284
281
290
264
317
338
352
310
292
333
295
330
286
201
342
410
348
365
330
287
469
319
363
292
328
250
359
309
296
319
261
300
211
352
272
215
383
307
325
319
359
366
306
313
244
306
338
355
355
317
375
332
295
309
326
342
377
283
360
294
341
278
339
277
317
312
373
330
396
329
325
327
297
322
333
226
204
259
298
346
299
318
276
364
365
305
347
337
392
360
337
328
256
289
316
261
331
330
320
244
324
227
238
256
359
314
273
338
372
209
306
300
384
388
268
353
370
350
366
258
258
348
307
252
327
351
349
268
284
368
332
326
310
357
361
287
295
220
313
240
264
299
343
344
252
297
337
250
332
300
378
290
374
368
325
291
296
418
327
343
266
403
342
353
301
370
335
290
389
343
261
322
308
243
329
257
284
313
347
313
365
289
303
351
211
353
340
310
319
352
372
307
288
380
288
381
320
356
315
260
303
383
272
344
336
343
289
389
380
272
355
265
319
341
332
314
344
337
350
292
400
331
361
316
324
294
317
331
303
363
234
325
394
370
279
347
371
300
334
329
283
362
309
241
282
317
257
257
334
365
315
305
289
336
428
303
285
312
292
275
293
310
350
263
300
246
326
379
378
284
326
198
268
356
290
261
302
258
376
346
304
311
370
336
288
275
351
242
218
398
414
299
238
286
342
358
326
347
338
210
240
240
364
293
295
301
329
235
271
307
310
331
378
282
301
242
259
355
324
295
342
289
337
366
276
413
375
294
338
371
369
296
342
299
297
342
326
353
372
265
315
269
320
314
301
283
330
362
272
310
354
364
385
366
349
366
301
334
315
355
261
313
318
282
337
365
292
265
299
242
269
256
274
396
365
315
254
321
275
264
379
205
336
262
268
313
320
326
327
367
324
380
346
364
303
331
316
307
340
363
279
315
314
328
345
300
301
295
338
307
298
316
292
349
305
382
344
267
309
383
333
230
358
384
311
299
345
384
332
367
313
350
260
312
345
324
291
308
298
366
336
266
402
343
331
320
311
315
346
284
331
371
393
338
301
328
282
317
303
371
326
301
306
400
298
370
365
294
240
355
281
328
211
276
293
250
262
300
338
331
345
330
330
190
295
370
319
326
357
268
259
351
289
364
359
364
312
324
340
321
358
353
230
303
319
296
255
329
355
380
331
290
192
357
371
285
322
281
318
228
281
287
307
336
287
329
377
328
324
342
358
335
278
314
317
281
311
354
313
316
208
391
283
300
311
278
356
357
299
327
309
318
246
309
246
333
346
276
285
325
370
331
231
326
300
305
320
337
267
348
326
331
336
265
343
338
317
293
380
336
363
272
253
269
308
348
334
328
311
344
353
356
265
298
293
296
317
333
209
255
256
342
284
239
283
372
276
301
368
310
302
294
247
312
262
395
309
286
344
320
205
291
411
244
319
208
347
344
305
350
275
314
348
280
361
279
335
327
295
315
318
277
403
375
295
306
199
329
319
306
365
293
369
326
323
299
325
331
350
361
259
277
394
369
325
290
258
269
353
370
388
263
378
274
360
288
309
342
326
242
304
393
406
409
421
388
392
254
336
246
360
350
316
304
332
331
260
408
269
422
327
315
296
333
351
292
306
352
319
320
385
425
289
355
310
309
343
336
316
327
431
302
372
287
363
267
320
401
288
306
333
278
260
329
204
321
388
382
259
306
330
322
322
292
295
303
249
310
260
340
324
345
378
311
389
380
348
325
388
303
293
218
237
335
244
313
365
296
281
235
368
293
337
399
315
294
277
302
305
306
305
291
329
383
318
312
281
314
359
316
348
327
287
265
206
291
388
383
350
273
324
327
359
286
398
322
279
244
355
399
305
289
310
298
360
328
272
271
367
379
311
327
376
339
266
355
351
361
385
273
285
256
293
334
310
344
332
375
317
290
305
297
349
297
335
313
219
262
256
300
305
367
340
329
366
277
334
377
345
322
309
353
269
323
284
310
278
304
320
382
197
277
339
328
339
359
289
290
354
258
286
394
299
326
250
269
239
328
258
350
328
248
360
233
294
360
389
315
340
327
336
395
299
383
368
328
302
356
252
352
253
333
234
344
294
388
313
344
293
258
262
350
342
346
278
323
333
281
343
240
323
380
356
341
318
343
301
318
354
325
289
385
309
321
315
353
370
309
374
267
342
323
326
317
231
278
392
357
319
303
310
312
386
230
294
362
380
331
301
352
412
348
277
225
336
249
334
375
310
288
319
337
329
268
324
458
331
366
356
346
381
280
323
366
295
287
323
352
284
319
303
260
351
359
277
334
319
270
405
291
292
319
398
369
200
287
266
282
364
405
307
343
322
258
310
299
316
316
304
335
382
346
279
248
302
343
403
254
331
415
356
301
337
318
342
294
382
330
363
322
320
320
371
321
410
366
367
322
231
387
345
234
333
247
267
230
294
290
386
237
414
344
339
343
286
292
302
384
338
315
306
251
342
395
339
271
301
363
333
354
267
359
373
348
280
276
383
276
302
352
353
300
348
384
349
300
274
303
292
284
284
300
316
257
345
329
393
417
288
327
313
318
312
341
287
326
277
261
438
299
356
370
387
379
337
326
334
396
327
341
326
219
371
289
348
295
345
311
350
271
300
304
245
293
330
262
321
342
277
261
306
310
250
351
223
309
317
322
350
381
341
248
325
356
357
251
344
399
383
326
291
305
291
290
352
394
372
420
259
386
350
219
265
221
356
329
193
296
361
327
304
293
292
314
378
279
285
370
352
457
345
411
311
360
368
341
351
363
284
317
272
349
285
316
305
337
369
337
385
322
358
360
311
358
275
309
273
339
300
326
293
299
331
355
320
377
294
287
282
335
330
348
298
343
287
275
293
285
310
289
336
311
311
328
301
363
202
334
390
209
361
280
328
277
333
309
276
316
273
443
287
281
334
288
268
306
266
185
317
289
348
256
330
291
423
363
354
352
308
314
288
224
364
321
275
342
303
276
290
277
259
345
291
375
333
258
327
319
400
238
280
353
333
282
364
285
224
276
334
219
314
370
290
304
317
260
277
328
252
322
307
340
292
335
319
379
359
338
360
316
387
236
299
422
277
352
269
348
328
337
325
426
351
290
343
329
302
377
416
250
346
359
282
339
326
364
343
283
265
374
313
338
331
280
305
335
275
314
329
341
386
335
254
406
348
297
299
324
310
245
239
374
239
394
382
370
330
284
330
298
320
280
297
309
375
317
408
269
318
397
352
366
330
333
343
342
363
361
331
291
358
408
316
257
390
295
331
298
336
306
265
342
313
274
385
288
306
262
358
326
433
285
304
320
315
359
283
242
302
270
351
366
265
279
249
320
384
222
254
319
272
289
231
335
285
365
362
389
397
265
407
280
290
293
303
298
287
419
395
316
377
380
337
322
370
366
307
360
322
289
336
330
434
346
311
327
290
328
315
352
316
262
301
352
334
288
310
343
356
367
346
337
371
383
395
276
339
259
280
300
280
347
303
242
371
285
334
275
296
317
382
348
289
371
242
362
339
353
335
361
299
404
303
274
282
279
236
384
352
385
348
309
354
321
335
308
224
368
335
328
341
440
316
314
240
216
324
311
305
348
299
296
320
286
347
373
297
270
295
324
348
274
304
256
341
306
233
278
242
254
368
327
333
356
232
271
351
295
304
285
339
277
370
314
304
296
351
359
321
314
224
381
339
360
282
277
241
338
334
368
352
331
353
404
291
335
322
343
293
307
319
295
297
258
358
328
306
376
287
328
264
318
413
349
315
341
245
283
238
310
299
345
347
317
401
252
393
258
292
375
268
355
376
298
344
406
300
299
268
288
288
288
369
318
348
303
330
343
338
321
314
328
342
302
352
409
278
277
299
353
288
365
358
336
349
301
301
329
343
307
341
370
353
268
270
246
312
305
347
267
205
390
402
309
301
329
326
362
311
306
313
317
314
276
325
234
349
358
360
263
249
284
339
301
333
258
237
407
261
343
216
323
295
325
313
361
372
306
302
385
307
402
258
365
330
352
320
216
279
275
315
326
320
364
350
307
325
343
263
310
298
362
298
374
360
280
302
334
317
345
272
265
330
322
221
372
289
317
323
341
273
243
206
251
305
315
333
297
346
344
328
299
371
275
305
332
300
296
273
304
232
390
334
337
398
383
307
372
292
243
310
281
267
377
313
222
317
368
395
337
341
385
287
289
233
369
331
309
334
278
248
318
327
383
296
278
339
244
260
319
227
350
323
311
416
262
336
340
257
282
296
335
411
352
302
297
321
347
317
331
243
272
304
360
277
321
278
316
379
352
337
376
324
335
271
309
336
229
261
307
336
356
261
201
282
347
295
288
293
326
394
292
289
371
327
270
340
329
313
379
238
327
345
306
316
326
310
299
285
371
327
316
269
373
350
289
346
329
327
304
325
368
319
326
338
382
410
265
417
368
406
373
264
343
324
278
299
329
295
198
369
300
269
224
375
297
327
307
270
282
302
320
300
320
378
241
271
229
394
331
311
378
307
331
357
403
236
237
350
330
303
312
316
324
233
390
348
387
255
343
379
355
319
250
359
359
326
381
348
234
343
261
254
220
286
232
340
279
327
280
348
307
290
296
353
325
324
391
319
336
287
247
285
308
245
252
258
265
317
360
348
355
284
336
292
314
299
349
317
295
350
332
267
371
356
320
351
326
360
320
354
325
297
390
284
334
312
371
344
338
298
313
352
315
296
352
352
325
353
354
282
302
252
323
353
395
282
291
428
307
337
323
358
319
327
286
368
215
341
213
271
273
330
272
266
352
282
311
367
293
269
389
286
343
264
325
356
388
358
267
247
331
353
287
365
303
336
263
301
319
387
364
343
228
249
319
263
302
288
296
309
289
284
445
282
332
325
287
246
307
296
333
372
352
297
241
350
268
342
295
285
363
321
328
244
300
312
311
329
249
363
226
399
290
279
344
268
377
355
332
297
254
342
228
343
270
298
287
355
342
301
326
314
255
294
334
353
241
303
321
338
300
244
352
329
266
340
365
259
292
355
396
413
259
364
356
353
394
278
325
380
247
385
404
290
292
370
261
356
398
352
331
250
334
325
321
395
306
342
388
234
301
249
322
327
307
301
347
249
253
370
243
376
319
326
324
295
345
331
371
254
292
272
314
421
272
421
361
308
336
288
394
272
385
337
305
291
227
340
267
336
291
380
284
317
294
397
318
241
253
248
282
344
311
361
340
292
309
286
333
328
337
252
256
350
285
265
312
380
295
261
306
357
385
266
242
316
335
304
247
286
390
245
302
302
339
315
358
319
296
251
300
333
297
279
304
296
268
328
369
428
374
261
303
348
328
314
319
290
252
344
314
384
298
311
392
322
238
287
285
340
345
410
317
277
380
259
348
317
396
391
358
367
310
306
276
374
395
336
371
278
267
414
375
270
317
409
260
315
408
352
337
424
349
342
265
280
330
270
335
289
309
345
314
270
327
358
299
244
327
242
262
359
286
356
326
331
314
281
387
317
356
238
271
228
285
363
267
346
358
354
351
367
384
269
305
188
387
300
338
363
314
303
283
367
291
361
346
270
288
342
373
216
295
344
283
283
335
317
319
325
357
298
324
325
365
385
307
292
350
322
319
340
376
326
283
312
336
314
292
342
281
223
393
227
316
288
278
360
301
408
288
362
318
303
319
350
296
340
306
327
316
321
377
300
295
346
339
304
332
328
329
301
398
307
300
366
362
323
340
379
307
334
401
264
341
291
301
305
387
308
400
324
335
246
325
331
349
282
371
279
282
318
345
294
237
307
263
276
350
345
279
367
315
313
388
350
322
304
295
242
177
314
311
267
273
274
206
270
306
275
261
347
327
377
417
348
362
243
352
279
340
408
263
326
385
301
358
299
385
271
379
189
311
329
299
240
285
244
241
293
340
263
375
314
406
407
284
385
318
308
386
378
294
298
222
248
350
238
299
335
283
256
348
335
273
345
382
360
424
286
320
357
294
270
349
337
341
315
305
279
340
249
320
232
333
382
367
293
232
232
327
398
295
285
312
337
298
367
353
345
356
399
327
265
405
325
331
368
376
304
366
385
322
288
304
314
315
397
299
329
368
336
226
255
315
358
309
396
297
300
328
371
326
281
291
295
267
381
361
298
250
273
381
268
329
280
291
364
277
330
338
340
375
332
345
342
339
324
250
235
284
310
310
324
328
345
336
306
396
283
310
288
322
290
326
329
276
454
302
311
317
263
256
339
289
272
347
322
293
348
355
305
358
312
328
326
308
315
337
335
447
291
318
348
313
337
251
293
399
350
313
392
335
287
350
271
287
404
271
291
255
329
354
335
331
299
272
267
284
311
349
347
357
386
353
322
281
362
304
267
304
218
310
230
309
339
269
387
294
279
264
357
269
311
374
324
311
303
336
306
257
224
301
288
286
355
291
292
239
370
339
362
350
315
350
282
354
343
346
314
314
300
288
293
369
377
313
327
326
329
374
352
314
309
347
309
303
260
270
359
293
301
328
264
296
264
391
276
303
257
305
265
331
287
290
325
340
244
320
283
332
231
291
329
341
291
298
377
296
310
396
337
275
334
305
329
260
336
365
305
323
281
328
281
342
335
243
246
313
308
299
327
338
288
354
340
288
335
287
334
220
319
397
342
312
321
408
327
294
215
287
246
279
277
304
290
367
273
293
377
361
352
313
294
267
259
271
332
295
309
323
296
277
324
301
279
314
308
301
298
294
233
277
332
292
321
366
294
262
232
326
229
377
363
299
297
342
361
269
351
377
300
277
317
376
312
327
306
342
318
376
290
322
292
251
312
331
388
381
288
366
240
331
346
345
319
342
307
295
308
320
347
386
312
373
289
356
327
260
334
277
308
331
342
328
306
304
267
274
349
370
345
269
391
319
304
248
279
357
293
331
290
266
308
380
298
279
410
371
402
268
452
269
263
309
303
313
324
310
298
270
269
244
280
308
312
294
349
298
290
405
277
310
370
311
310
309
312
340
291
276
265
303
344
300
275
298
346
239
389
336
245
292
245
378
277
360
347
312
257
292
336
298
293
362
353
286
304
304
375
239
347
223
317
381
251
309
397
296
343
264
321
315
308
293
304
289
280
368
317
277
388
338
353
314
346
350
248
349
322
279
314
284
294
333
327
385
301
366
235
368
277
253
363
309
280
264
403
241
271
269
335
308
277
239
336
429
363
339
241
278
371
393
297
345
274
343
326
368
334
335
294
357
371
318
335
322
315
343
268
302
285
391
364
319
328
342
342
286
333
364
343
394
324
391
237
319
280
318
263
268
396
241
236
253
350
332
283
312
339
405
284
269
317
266
334
310
321
241
342
335
332
288
331
266
333
352
365
347
331
305
284
323
290
286
357
350
400
369
327
381
377
297
337
325
325
304
367
340
335
308
277
378
334
346
272
249
400
287
350
349
348
332
328
322
291
300
298
237
374
350
285
408
371
271
315
285
288
300
398
234
279
298
307
388
341
323
345
277
337
278
365
356
388
345
323
332
348
264
269
289
325
336
274
378
277
342
302
356
309
364
340
333
273
374
319
268
329
283
327
338
358
391
320
400
348
268
257
237
370
253
206
364
285
286
329
283
368
280
417
332
247
312
268
368
321
298
294
327
335
346
345
280
272
352
382
374
205
346
355
361
347
394
237
306
378
354
338
305
317
285
211
339
362
310
329
257
310
319
343
249
291
313
317
367
337
374
294
328
357
293
262
312
293
351
275
277
327
345
333
322
229
358
256
332
312
336
301
357
352
354
329
278
284
357
384
293
322
291
309
317
308
383
284
279
271
279
263
253
397
211
368
308
360
274
264
344
279
225
351
329
224
333
312
335
365
344
373
315
326
317
299
293
281
344
270
196
244
294
279
360
370
311
340
388
162
352
276
289
319
295
377
328
254
299
304
314
371
327
346
329
300
312
247
349
325
331
360
279
345
286
342
300
366
361
369
300
328
293
336
317
369
357
315
267
349
329
346
336
324
452
368
352
334
366
294
361
237
340
434
220
386
381
377
318
393
325
273
266
264
367
319
352
317
290
305
337
265
343
295
361
283
352
323
356
308
236
382
288
357
325
270
308
308
283
328
240
318
274
266
343
332
362
344
354
264
235
320
235
309
329
312
277
350
190
320
376
336
320
237
339
214
283
268
318
285
337
328
284
337
424
329
361
260
386
278
370
292
307
291
362
279
314
360
292
261
240
306
286
316
241
350
300
330
386
381
289
364
295
359
311
360
313
295
323
392
351
340
285
308
336
304
351
351
297
217
342
250
278
329
272
349
249
351
312
330
248
344
273
325
306
338
356
263
248
289
305
298
319
356
352
295
201
251
223
340
423
241
274
304
291
387
411
338
323
376
302
368
296
318
266
271
331
339
315
309
256
250
309
320
352
333
343
284
309
300
313
304
325
322
278
319
360
285
259
337
329
374
325
393
265
319
293
224
330
353
366
307
265
339
335
306
328
282
281
252
337
321
251
393
340
386
412
280
279
288
343
310
353
330
371
283
294
330
341
387
358
344
255
304
243
330
321
333
316
387
397
353
345
346
322
360
303
293
203
257
367
238
292
360
322
290
369
329
343
249
272
305
372
330
337
370
331
301
298
289
352
329
369
321
277
246
302
358
341
279
340
326
349
287
331
311
275
312
346
334
249
264
319
380
255
318
237
259
450
334
305
244
277
321
219
341
321
283
379
302
402
339
214
269
304
307
412
286
386
282
313
345
281
316
238
360
294
306
285
317
392
247
256
328
256
301
345
289
240
270
351
301
387
190
300
327
275
327
328
359
350
346
282
317
368
304
318
350
272
346
383
255
326
386
370
301
350
315
315
367
294
276
288
362
353
400
363
366
309
295
240
377
361
288
371
334
262
311
327
379
297
276
289
239
413
298
273
350
371
328
315
398
307
358
290
269
326
288
285
298
325
357
346
302
364
421
325
351
310
135
353
411
240
220
313
331
315
243
305
268
301
348
373
319
305
282
287
341
280
376
357
265
279
324
306
293
323
312
332
290
323
279
235
294
359
347
323
286
359
328
371
274
300
368
277
322
326
300
393
329
269
384
305
362
333
328
420
317
321
324
322
345
295
258
330
316
313
275
274
243
336
347
291
367
364
307
290
201
307
332
330
334
267
287
273
338
315
367
317
348
329
320
376
373
358
229
366
328
365
374
292
386
242
339
356
284
241
290
350
281
367
301
328
239
305
322
352
298
316
378
375
312
290
365
327
276
368
361
381
402
352
350
248
259
257
281
365
331
321
349
384
335
322
319
389
338
339
258
294
310
284
379
287
266
313
265
329
267
376
302
372
363
337
310
356
389
299
338
318
311
272
303
395
313
261
263
358
282
330
294
279
371
346
388
286
417
331
429
321
337
334
321
224
317
264
299
269
321
350
319
200
271
417
316
375
262
300
368
320
340
321
338
306
276
338
337
296
348
282
380
245
276
339
328
329
314
295
324
362
469
293
330
370
299
302
253
322
280
241
315
307
255
364
288
336
253
265
314
357
243
350
375
306
306
294
339
332
337
293
299
393
241
281
369
255
310
328
288
360
332
382
247
360
326
334
319
288
324
340
306
330
293
300
299
366
273
315
331
271
297
349
279
190
276
404
305
306
263
327
266
308
347
243
291
329
246
312
325
384
304
352
356
354
409
357
322
345
378
270
274
389
323
244
348
361
303
352
292
333
250
271
334
259
343
301
331
366
381
292
342
274
321
340
279
287
301
367
370
291
240
379
380
208
306
382
238
310
341
209
258
323
326
340
345
324
317
407
317
373
240
327
378
346
316
315
352
327
262
273
256
317
344
395
334
269
239
246
317
336
253
330
331
322
349
385
321
374
295
325
368
382
264
335
369
261
278
358
344
312
366
303
365
359
363
338
285
342
272
349
336
332
325
337
385
254
262
297
402
256
323
307
303
365
300
277
287
274
285
384
337
246
294
276
269
358
392
345
235
262
402
410
325
347
238
365
351
325
267
287
310
340
351
351
352
325
361
341
348
315
337
241
276
322
317
328
313
325
321
265
305
275
286
259
319
269
264
246
323
293
324
334
329
321
263
367
346
215
306
242
298
361
404
356
317
287
380
338
318
275
306
327
319
321
314
352
324
365
299
308
256
280
297
302
304
320
288
320
275
261
358
340
282
302
342
328
388
296
353
224
257
366
377
320
388
307
349
318
300
324
290
328
348
325
327
252
328
310
308
264
287
346
340
263
342
362
390
286
242
296
334
353
256
366
327
268
335
337
268
272
337
388
386
262
260
261
285
358
313
283
287
328
178
329
273
289
397
311
288
305
328
274
311
311
276
256
330
218
312
302
277
345
287
303
349
282
323
254
408
263
225
347
304
318
320
308
283
290
328
296
410
332
346
301
230
284
259
274
285
299
233
371
311
303
311
326
346
325
370
303
354
291
336
316
318
350
349
300
303
324
311
263
312
304
359
348
300
303
325
337
278
335
326
294
305
282
282
306
347
347
358
348
365
355
269
314
273
282
293
217
285
374
254
331
268
336
268
275
332
320
357
342
395
405
342
311
309
191
409
312
399
324
335
305
380
389
323
370
336
258
267
366
291
367
287
279
279
394
256
294
271
314
329
240
339
347
263
309
307
248
277
233
316
270
282
309
349
317
281
346
377
336
327
346
400
383
294
337
295
341
320
310
321
301
346
274
306
341
355
373
292
351
266
320
372
335
310
338
326
381
299
313
330
380
254
329
308
333
344
311
286
322
315
362
332
313
310
340
275
324
331
316
271
305
322
359
309
262
315
394
436
344
389
272
282
326
308
343
315
305
303
274
324
345
316
375
254
343
353
234
369
295
270
333
333
279
324
251
351
280
297
351
283
360
369
352
235
368
304
309
313
330
322
381
271
327
358
359
239
410
317
367
256
270
271
290
312
344
245
241
322
242
313
260
352
276
398
303
277
247
332
321
259
287
272
364
240
314
183
322
371
305
367
340
238
249
360
277
274
267
273
374
385
344
318
293
295
292
375
209
421
341
286
236
334
295
333
369
405
246
346
279
310
373
320
320
318
239
341
342
287
389
290
314
330
359
344
371
297
305
267
333
335
308
342
270
339
325
264
345
298
284
225
340
322
353
362
237
243
336
308
254
275
339
334
329
389
328
315
256
234
355
310
375
331
331
261
355
261
323
304
359
256
323
342
337
234
308
288
335
289
271
359
370
300
325
341
379
301
297
401
339
261
333
242
323
267
314
320
323
305
239
359
342
395
278
300
301
196
342
293
367
289
257
264
371
272
304
351
328
360
356
343
331
325
362
364
277
353
283
255
372
337
341
373
323
328
363
273
364
318
353
294
281
300
317
278
325
281
292
335
248
310
344
349
350
348
310
387
359
319
285
210
274
261
300
250
229
392
368
321
372
293
340
260
290
382
313
276
407
258
262
298
346
301
332
243
316
328
352
301
275
281
271
315
254
407
334
316
307
332
309
380
355
298
329
327
376
380
287
286
391
321
365
333
246
355
335
393
294
387
357
381
317
291
254
298
331
345
281
363
314
322
345
267
343
356
300
355
361
306
315
281
377
294
271
385
291
203
293
269
313
274
316
330
342
337
284
370
324
335
300
310
326
341
298
326
380
300
342
368
289
371
317
267
339
276
341
378
322
294
392
213
321
291
307
288
414
254
334
310
327
293
313
362
223
284
344
337
322
309
269
324
320
320
357
269
316
310
281
331
327
335
319
294
329
218
284
232
372
361
272
305
269
290
298
309
341
315
349
353
311
250
281
274
376
373
287
336
341
312
319
270
228
302
299
372
310
390
247
403
296
312
380
296
339
285
338
366
288
260
253
322
290
335
303
273
291
389
305
274
245
285
285
341
336
363
283
342
253
240
328
349
393
262
357
327
349
332
297
374
352
293
423
277
313
305
320
279
329
252
266
367
355
281
314
264
359
338
211
302
375
208
336
321
273
279
396
332
430
313
373
306
363
381
349
310
227
320
306
358
302
265
274
316
305
253
282
385
329
333
312
314
273
362
333
324
250
278
318
323
290
305
316
268
333
278
370
358
350
342
334
318
306
405
305
340
308
241
328
364
370
290
248
356
353
303
312
332
331
323
353
304
314
313
334
322
272
285
304
315
369
342
313
344
357
223
350
297
331
291
332
253
249
414
254
347
352
308
291
268
301
304
346
311
329
370
334
338
343
389
286
348
337
281
333
302
388
219
332
319
354
272
310
322
335
321
353
326
343
270
363
277
333
258
328
328
347
372
307
340
349
353
302
338
413
281
284
324
343
258
338
432
358
326
281
319
382
308
275
281
328
249
289
243
316
305
203
225
346
293
279
323
370
339
231
418
355
288
301
259
301
306
228
269
383
339
244
393
284
338
324
258
388
332
376
322
363
330
392
320
375
291
341
346
376
257
315
364
349
381
410
368
371
259
384
343
318
299
248
343
275
336
272
361
246
307
293
349
359
296
377
303
327
368
338
329
334
311
263
356
315
273
297
367
236
271
362
372
353
248
285
377
335
282
325
223
298
307
316
305
340
348
341
291
430
371
360
309
327
302
357
340
263
344
323
378
326
254
403
319
387
377
288
313
378
329
310
326
338
331
247
301
348
332
323
265
347
351
265
385
381
365
226
329
310
302
378
311
280
358
301
366
311
275
319
279
332
306
358
305
312
320
402
297
240
301
315
352
251
336
299
377
365
346
358
321
350
335
377
283
344
296
249
377
219
282
318
358
264
291
389
294
276
209
378
320
338
272
327
382
324
187
275
346
244
267
381
398
361
316
291
268
320
390
267
255
365
368
324
265
269
245
345
283
362
307
383
279
400
326
268
228
258
215
330
330
348
286
325
344
293
375
331
239
324
239
398
280
295
305
345
347
320
319
331
270
269
312
300
330
331
305
269
330
360
294
300
297
392
292
370
287
279
270
257
352
320
252
415
308
271
253
300
198
284
393
436
262
247
304
373
350
356
327
362
316
242
253
307
332
361
270
342
348
350
321
344
306
302
310
270
314
389
347
379
302
325
329
336
352
224
288
413
378
354
348
287
356
311
285
367
262
273
273
288
328
313
274
281
314
374
314
227
288
381
290
333
314
270
306
335
339
386
356
290
282
311
274
232
308
388
307
354
292
293
283
332
276
353
280
348
349
314
294
272
310
372
351
363
249
282
262
279
256
290
232
297
396
371
328
336
289
364
334
324
267
398
319
320
302
251
319
318
285
286
211
327
350
388
285
280
334
361
322
288
326
300
298
215
334
328
363
303
327
258
296
438
365
166
313
371
383
262
319
275
294
366
358
361
378
338
339
289
343
336
306
384
337
265
317
239
268
319
272
289
312
288
299
360
286
313
347
357
283
334
297
235
328
299
276
299
271
315
278
274
327
332
324
367
325
282
315
324
330
368
374
390
314
277
428
250
434
315
278
332
304
358
373
216
286
300
312
331
369
347
337
280
243
299
315
315
308
305
232
288
354
368
336
285
261
369
329
269
334
346
387
274
273
264
310
403
225
354
340
388
362
362
327
271
284
400
337
307
317
295
308
342
355
333
359
318
364
370
288
404
344
224
333
275
315
366
330
322
363
384
329
272
359
374
309
204
395
274
354
330
415
227
336
311
333
338
370
368
334
321
350
334
352
357
284
241
353
382
294
380
257
357
209
378
292
221
300
347
345
339
299
279
211
355
351
287
333
201
354
257
323
343
271
272
350
343
258
391
264
326
320
314
289
268
302
268
330
265
325
398
271
376
315
309
373
277
411
344
306
318
310
295
291
242
271
355
358
302
383
281
213
341
304
295
327
384
331
345
302
414
294
274
286
339
304
382
231
308
393
322
325
340
268
255
382
324
264
296
333
325
346
314
299
314
316
314
379
382
311
335
298
270
292
295
367
330
264
354
318
362
362
355
316
340
382
196
392
327
288
373
340
323
172
372
402
316
390
328
332
224
291
353
287
331
284
263
355
247
320
337
304
312
286
309
445
352
350
265
326
244
282
298
243
319
303
334
318
342
319
259
209
317
253
299
234
310
350
285
296
258
348
374
408
216
358
333
305
320
275
354
270
238
345
301
344
328
264
329
288
388
284
332
303
329
353
287
348
349
322
279
327
276
334
272
350
390
313
284
300
339
312
305
264
221
331
389
286
273
360
340
313
307
268
396
301
345
274
338
363
361
338
323
300
350
319
366
321
310
322
386
201
365
310
242
350
326
328
304
380
333
340
336
367
411
275
262
310
331
294
314
347
259
291
228
345
296
255
260
365
249
220
259
269
253
246
254
354
366
386
230
283
314
285
249
277
295
353
330
287
348
348
330
326
341
357
292
287
250
380
275
343
341
260
430
309
376
340
283
297
306
317
317
409
317
420
283
360
290
314
297
338
279
369
399
310
390
261
260
314
278
363
335
317
309
280
326
435
332
376
296
305
315
369
309
308
300
408
289
276
350
340
356
347
312
324
296
318
360
297
349
260
266
323
276
289
243
297
307
309
322
306
351
263
333
239
395
266
324
334
278
331
297
341
300
284
355
317
333
250
332
331
324
350
232
284
416
310
263
300
357
422
335
328
286
358
279
251
331
340
290
335
320
204
287
332
370
315
339
338
403
302
330
291
389
267
285
359
374
325
308
346
314
321
327
350
351
340
356
295
304
352
310
357
340
368
336
302
285
365
338
312
334
251
339
397
342
300
187
297
287
368
330
314
256
236
273
331
289
343
296
446
329
371
376
238
367
357
265
287
400
387
367
319
300
273
279
289
327
313
350
309
264
328
350
276
327
238
336
271
281
286
368
274
325
391
193
344
279
348
362
354
380
212
321
330
341
356
289
295
283
321
366
354
249
267
298
333
292
372
265
439
328
316
325
325
269
345
187
248
307
351
278
309
285
266
281
374
312
340
292
408
336
328
300
365
305
297
323
314
345
373
359
257
253
354
336
306
365
402
388
351
304
313
338
276
344
287
349
320
356
305
339
274
373
403
338
311
358
328
308
247
316
271
232
401
318
352
317
299
302
317
272
350
336
336
345
321
293
314
371
386
383
355
350
348
376
267
364
300
315
288
336
290
366
303
281
307
321
312
276
367
324
248
314
323
335
342
353
293
354
347
263
343
331
301
256
296
314
303
337
283
271
290
306
338
372
305
245
326
285
334
327
285
239
281
342
333
340
295
379
365
343
266
281
370
416
356
307
317
300
346
303
306
268
290
338
365
330
296
312
329
314
321
295
300
351
317
378
315
296
352
299
295
261
387
316
290
299
334
275
248
324
286
349
382
410
205
263
330
363
364
370
340
369
328
320
290
309
349
346
341
324
314
318
385
273
290
313
322
321
366
283
352
291
335
297
347
303
273
334
376
285
313
405
305
286
376
243
291
371
276
326
300
241
351
335
359
241
311
210
334
359
246
347
356
350
335
376
238
398
289
340
298
350
304
254
276
249
313
365
270
238
278
357
358
280
340
365
399
309
298
291
245
311
330
293
309
346
323
374
245
172
356
314
302
308
300
321
328
358
320
250
331
318
304
279
231
225
296
276
280
293
197
309
277
392
303
326
254
269
305
339
271
369
261
378
214
261
315
331
334
292
325
320
377
285
362
227
244
336
331
341
317
326
286
266
358
242
387
341
327
273
279
347
331
324
348
327
266
264
275
307
326
306
342
272
332
270
296
357
309
329
362
312
336
330
157
252
326
322
390
320
362
306
298
237
316
319
297
275
314
347
270
362
354
362
253
274
382
296
317
299
341
295
348
354
263
413
352
213
308
318
289
299
299
314
302
307
306
270
292
296
306
331
280
332
379
357
308
342
336
296
335
318
333
355
370
274
305
328
176
380
325
346
330
293
284
278
318
364
420
260
339
356
275
385
327
353
300
287
333
317
314
303
353
279
302
301
365
382
290
288
366
241
391
284
377
423
260
307
369
326
372
253
398
323
305
258
297
250
211
347
358
284
257
288
326
315
321
391
388
294
335
285
285
304
354
325
266
365
320
369
345
333
356
370
312
277
397
285
231
293
368
324
288
353
223
311
305
335
281
291
319
260
330
299
309
370
351
309
287
376
328
297
265
333
309
342
410
347
296
324
270
312
257
270
383
249
320
312
350
293
298
311
362
242
327
324
337
327
328
357
387
331
302
304
285
321
317
310
337
346
236
298
372
352
272
346
263
303
446
343
305
340
336
356
277
329
405
333
357
389
315
311
313
294
331
294
362
363
334
375
252
308
400
311
250
357
330
371
371
299
309
361
439
242
365
375
310
324
298
280
373
269
328
296
405
355
371
276
332
337
396
259
250
289
242
258
310
392
300
259
328
316
352
303
318
309
332
301
294
270
304
411
302
319
271
303
253
294
336
242
284
380
329
332
242
302
349
266
384
321
314
327
369
301
361
362
371
313
372
408
281
253
236
332
361
376
247
273
338
318
313
364
338
298
373
407
288
371
348
298
330
293
362
308
349
331
343
252
303
396
335
326
350
361
256
326
232
350
331
294
361
369
267
242
355
281
289
300
301
295
278
301
277
316
268
276
343
361
309
345
287
310
385
330
311
211
311
306
353
262
322
249
256
390
330
272
302
343
333
266
336
305
312
317
278
322
313
358
260
326
358
321
289
342
364
306
282
323
305
299
329
345
326
355
378
280
325
363
356
324
293
320
341
320
247
307
318
354
386
322
298
365
378
424
316
287
355
407
367
316
430
331
300
376
302
315
298
312
342
348
357
276
305
300
386
373
360
335
312
303
317
299
236
252
272
298
365
287
260
318
337
272
244
349
273
294
332
355
286
231
346
288
337
341
337
422
255
386
333
315
301
249
320
248
293
327
315
259
331
315
318
224
282
207
352
198
372
305
337
330
370
318
340
321
280
338
302
291
365
271
293
291
309
313
291
195
276
337
242
397
375
312
350
297
341
345
406
314
423
385
383
351
344
341
358
306
322
345
327
356
296
218
321
300
341
343
270
324
369
283
357
343
246
300
353
359
319
288
316
278
310
359
374
286
333
288
335
285
237
353
278
304
302
294
290
288
347
275
310
230
393
312
447
224
301
273
304
302
332
330
350
280
331
250
298
278
343
432
303
243
252
329
255
309
296
280
259
316
235
284
331
399
292
323
354
368
314
428
310
225
284
362
309
283
271
270
295
317
382
329
305
302
256
317
279
307
331
249
278
325
223
391
363
285
334
378
273
283
375
267
322
305
340
333
331
320
329
378
245
320
300
371
376
253
305
272
309
289
314
351
332
316
304
344
326
367
306
287
327
271
361
383
311
355
376
345
418
308
349
261
385
419
281
253
304
344
283
276
294
269
375
312
361
340
182
272
252
385
323
379
371
311
334
289
313
284
355
315
372
334
312
259
391
348
317
354
288
288
280
299
323
342
288
260
297
257
285
366
267
271
354
297
259
280
304
366
243
263
361
361
298
306
326
327
346
364
330
255
267
307
332
317
315
301
360
312
378
306
233
364
255
372
353
368
317
328
222
282
290
398
285
404
238
340
391
367
374
330
320
282
299
318
411
322
328
333
305
267
333
353
337
293
328
276
337
353
334
300
361
388
313
378
338
328
289
296
281
343
295
266
315
291
230
280
363
244
337
299
309
399
388
357
374
407
342
353
332
332
342
349
387
365
293
251
293
291
302
343
315
322
336
294
251
282
309
328
291
367
271
269
408
403
333
310
316
303
365
300
299
331
204
323
314
352
352
338
293
336
232
348
334
356
298
215
297
345
313
266
270
355
288
343
356
413
304
225
333
335
278
361
333
329
357
353
276
282
315
312
376
381
286
347
322
270
351
325
328
422
277
283
320
203
313
335
360
261
360
338
280
279
324
326
316
393
315
339
280
329
338
201
378
324
330
295
292
353
345
336
314
230
280
326
356
324
322
383
272
310
339
293
362
340
298
309
273
361
229
300
364
371
384
383
309
408
309
396
332
292
323
366
337
368
323
311
408
345
383
307
287
251
396
305
322
348
377
362
379
312
376
296
268
344
283
339
333
277
259
285
337
397
287
335
349
243
249
356
310
353
300
278
320
418
321
340
372
355
337
309
379
368
407
227
349
225
285
189
301
321
332
343
253
283
256
331
233
283
289
254
277
282
397
287
348
309
322
416
359
329
342
244
262
382
285
308
282
378
237
285
276
298
320
334
363
340
299
382
282
256
240
372
376
378
278
340
355
321
321
366
310
349
225
257
255
383
328
337
264
273
364
301
312
320
367
302
324
317
293
257
346
308
280
304
263
293
347
364
317
304
340
335
292
348
323
226
300
275
202
275
262
377
348
326
329
319
328
348
291
350
243
286
319
325
345
278
368
293
286
346
272
313
272
315
374
282
326
401
213
335
295
355
423
286
297
352
277
309
323
351
311
378
334
385
381
253
238
340
336
326
399
353
363
284
340
338
336
309
289
334
301
375
348
327
382
320
270
303
331
283
319
325
255
315
351
254
336
352
344
327
363
299
316
247
355
318
176
333
312
292
402
309
268
344
361
303
233
290
334
223
299
272
338
337
351
300
310
296
328
301
240
271
338
291
318
300
305
329
384
247
273
264
320
329
277
380
361
318
327
266
256
326
315
372
309
384
227
312
270
341
357
320
271
276
287
343
319
414
273
332
269
282
318
317
276
210
357
262
353
293
354
349
262
329
339
273
299
317
308
332
394
251
330
205
369
249
317
378
388
362
374
274
316
335
308
375
375
364
351
268
395
336
335
335
279
324
251
340
360
305
220
297
347
361
330
330
355
338
343
259
337
343
299
304
406
352
329
280
337
365
363
430
379
250
303
376
374
226
327
418
299
340
256
392
281
302
308
268
319
298
382
291
254
264
337
296
367
200
372
276
383
364
355
377
351
335
330
388
247
197
343
291
339
326
292
267
317
332
293
319
394
342
357
354
368
388
238
247
335
317
333
264
374
406
339
296
339
302
414
325
314
261
349
311
345
297
290
293
269
260
347
267
345
341
304
264
309
284
361
330
244
344
298
281
305
262
311
300
306
343
326
280
327
331
300
305
293
323
347
356
366
377
346
380
314
310
303
340
301
231
353
320
409
380
248
336
319
386
281
275
268
243
300
372
180
296
338
324
273
301
351
316
329
247
255
354
287
247
279
324
368
338
375
316
283
286
296
307
349
250
245
354
298
321
332
331
343
301
302
305
300
356
306
306
338
335
285
301
288
349
339
331
229
319
365
353
382
261
274
356
381
273
331
394
356
419
339
351
426
372
272
291
414
254
257
320
409
361
403
253
392
294
352
340
276
298
367
339
379
335
369
339
381
357
364
349
324
373
303
227
350
386
183
322
282
266
300
307
388
378
313
320
309
388
385
342
304
317
314
305
276
322
365
316
340
295
321
313
315
351
355
285
401
424
394
255
254
385
303
290
326
274
374
380
389
340
225
305
372
355
305
289
318
273
293
312
310
357
326
315
250
344
312
322
310
351
325
236
364
220
324
316
290
321
307
249
347
363
304
304
278
305
309
246
349
299
317
235
351
318
340
316
299
267
319
359
351
293
244
369
322
208
333
374
374
290
289
314
192
311
306
300
380
330
308
347
304
351
318
307
365
339
297
426
336
338
273
240
318
349
341
324
375
281
283
252
437
344
359
311
390
317
347
426
276
233
357
278
312
292
374
354
259
213
284
279
364
337
355
372
305
258
352
301
351
277
376
249
341
338
315
351
391
308
349
331
365
278
295
325
339
306
322
269
247
264
298
287
383
294
316
348
259
347
355
322
322
361
303
316
388
330
347
262
382
284
269
241
351
380
300
284
360
340
325
278
300
300
272
344
266
259
236
339
231
231
341
259
268
283
306
309
382
302
312
281
262
296
278
274
355
334
272
299
343
307
349
448
320
308
330
170
330
251
365
275
322
265
325
313
264
327
320
379
251
332
357
279
219
281
398
302
255
324
353
278
324
320
332
343
316
255
313
242
201
295
263
346
300
282
350
405
318
298
334
301
268
346
257
298
376
259
289
373
284
279
349
390
187
335
341
264
303
296
280
326
264
304
221
323
321
323
329
322
296
306
251
418
340
308
347
370
333
352
350
203
335
343
378
322
269
347
242
266
373
240
353
335
326
302
325
288
237
247
239
335
328
294
285
250
307
374
361
302
331
304
273
374
272
305
303
272
323
331
359
326
265
400
272
282
307
377
372
278
356
347
313
255
436
369
285
374
231
326
344
370
327
377
370
357
348
391
331
317
306
258
375
379
333
316
298
271
306
357
251
198
324
299
229
365
374
309
309
413
343
299
282
368
355
387
269
293
361
395
300
309
308
372
329
365
286
264
318
332
325
363
389
310
337
373
302
335
316
319
291
300
300
359
354
380
400
248
315
305
310
375
316
299
359
370
302
250
352
345
245
335
286
330
296
368
288
412
326
352
392
304
341
282
293
276
376
268
291
258
291
338
372
207
317
312
239
446
404
348
308
319
388
303
279
303
354
364
337
356
344
379
363
316
339
301
328
295
335
408
260
255
300
310
299
358
350
324
261
319
402
317
345
238
323
348
279
304
321
288
335
314
314
296
342
297
343
385
324
275
351
350
343
257
339
339
245
256
315
383
349
325
284
352
226
255
275
210
301
322
380
283
339
289
292
377
379
332
247
238
349
300
299
332
269
296
284
292
395
390
271
279
366
306
285
208
404
280
292
326
257
326
275
354
304
294
315
295
433
311
399
277
293
412
307
329
331
359
392
289
291
356
249
396
282
321
312
333
292
288
272
362
321
373
320
297
263
246
347
316
308
284
286
315
329
343
287
251
274
305
323
363
304
229
310
271
280
265
343
297
322
309
268
323
240
240
318
358
323
371
288
302
355
345
284
363
280
389
291
270
327
333
369
389
287
223
362
311
278
245
272
320
326
285
328
288
389
364
392
310
311
284
344
285
366
315
386
222
344
262
350
379
334
325
336
391
291
337
295
316
262
325
220
313
307
328
355
387
358
326
246
293
293
276
276
374
366
275
323
358
341
305
299
309
301
255
348
258
265
389
319
285
238
338
312
236
357
249
282
367
336
306
255
298
349
298
322
276
255
286
321
244
305
374
312
300
297
341
349
302
327
314
358
259
232
272
355
382
353
323
358
298
365
304
294
313
279
304
314
270
282
341
344
351
340
325
281
287
330
227
287
381
359
399
320
360
347
272
314
288
338
367
402
339
299
285
239
256
326
385
377
356
295
264
290
404
299
240
395
324
277
255
351
358
324
366
259
277
292
335
398
287
289
299
194
356
346
330
297
293
276
404
318
375
355
327
324
278
275
293
300
342
305
379
339
333
338
325
269
300
326
305
225
324
316
277
336
311
306
357
266
288
326
261
342
338
275
318
270
342
297
328
313
268
345
369
351
270
427
319
331
297
375
341
259
300
367
289
313
300
321
323
445
328
298
314
353
313
355
333
359
332
345
355
291
328
294
347
291
388
344
329
246
351
324
300
357
321
320
344
362
291
285
273
340
311
339
362
321
239
314
304
382
292
324
387
319
268
298
321
381
389
306
249
336
340
263
293
353
325
310
362
355
336
340
295
325
280
285
312
301
388
326
303
377
326
297
410
379
315
299
305
348
334
297
221
316
347
260
383
345
320
262
357
212
278
272
368
226
405
334
318
325
364
246
348
269
321
342
376
300
314
342
290
325
340
343
268
291
248
299
291
365
274
361
231
246
349
261
301
279
313
349
374
293
343
316
363
281
307
343
269
347
317
306
348
266
300
322
282
354
193
347
366
271
341
274
316
270
357
294
334
368
387
329
318
243
231
361
254
323
352
360
362
331
298
294
301
368
319
277
291
294
391
395
268
350
338
289
348
323
317
303
380
328
302
276
287
220
312
326
266
437
205
322
324
311
313
372
332
365
305
306
369
295
367
270
343
336
429
311
250
253
315
299
321
322
274
290
374
283
369
223
363
271
332
413
297
360
325
357
342
253
392
318
321
358
295
244
358
395
290
272
284
306
255
367
227
348
292
310
266
300
342
288
314
229
325
225
268
346
279
298
196
399
240
359
310
246
258
285
332
317
343
299
345
349
297
318
296
324
372
369
347
345
298
310
370
399
325
321
301
339
270
395
385
278
330
305
279
285
332
295
361
261
258
298
366
291
204
299
363
377
336
237
318
262
341
326
282
305
392
353
286
309
381
274
351
303
331
295
303
351
288
259
324
294
338
322
299
281
263
326
267
216
326
235
309
312
284
292
332
352
338
308
372
298
259
295
283
254
286
348
251
240
302
252
382
348
307
371
252
370
305
288
318
302
215
367
335
300
400
216
315
349
352
334
291
280
386
258
319
371
300
306
333
307
331
328
260
346
252
276
277
294
417
358
374
341
291
320
362
306
314
309
288
298
304
327
346
304
304
358
298
404
337
289
334
316
366
265
387
361
295
278
312
325
266
251
198
301
305
310
185
235
353
332
276
281
339
341
309
224
244
343
343
312
367
296
253
296
330
361
290
354
261
298
329
358
334
306
326
328
375
325
410
319
301
307
334
323
349
310
348
300
295
263
332
323
336
333
328
417
331
320
351
341
350
285
356
352
291
327
224
325
325
289
328
366
212
270
393
359
294
302
392
316
383
369
272
306
366
325
287
258
280
271
392
346
271
354
274
214
271
295
341
298
307
277
253
349
362
393
263
268
306
275
329
299
241
285
370
287
263
309
322
261
323
342
302
291
259
279
322
357
330
312
345
385
318
365
384
329
266
318
307
322
271
372
389
330
320
320
354
316
383
344
339
283
276
313
278
367
354
334
313
262
284
386
312
281
247
311
368
418
256
372
352
359
318
293
319
294
325
315
315
295
310
335
374
296
335
380
229
257
283
277
362
283
327
357
302
315
309
394
263
242
347
403
333
328
349
323
374
343
268
196
271
361
357
356
363
316
355
377
352
342
258
307
381
319
337
317
344
374
247
380
266
307
342
320
294
364
413
268
220
377
298
282
310
288
316
320
289
310
269
279
238
361
359
368
365
289
319
308
222
356
388
364
255
265
384
284
393
361
325
282
255
343
300
337
347
402
315
363
286
333
251
262
290
275
320
365
312
379
274
355
316
338
316
328
364
271
302
343
301
313
376
343
253
338
287
361
323
353
235
260
204
307
308
379
334
345
320
339
319
371
310
309
270
341
322
305
252
322
346
277
343
313
366
269
316
335
398
383
362
347
328
251
362
318
274
331
289
405
266
382
255
332
291
359
287
266
313
282
246
337
265
349
247
308
295
313
320
358
375
343
329
233
352
411
280
308
340
368
295
347
392
329
252
351
317
334
381
320
334
251
377
399
300
341
322
326
291
274
298
250
272
270
277
362
250
328
241
372
350
345
243
368
335
331
324
337
390
404
329
240
369
325
356
282
314
350
355
326
378
329
299
302
316
298
304
377
389
228
191
204
245
406
336
207
223
361
284
315
336
283
326
322
309
293
351
360
246
291
322
358
271
312
347
362
377
255
400
350
268
311
318
315
373
263
415
323
271
350
364
322
337
342
316
357
304
410
355
320
363
329
285
269
309
303
295
367
325
327
290
321
288
307
268
351
311
357
379
278
337
287
345
299
226
389
282
369
329
357
318
364
232
316
366
378
197
419
319
268
338
347
212
334
308
343
346
267
346
317
268
265
313
339
313
365
301
359
336
387
308
242
323
405
240
397
224
268
341
371
336
339
274
361
326
322
341
253
252
388
313
330
351
308
335
369
293
343
310
272
332
294
304
399
316
245
285
297
256
346
293
335
346
298
405
242
312
270
380
230
352
313
259
285
318
307
341
298
372
298
331
330
331
339
319
334
333
306
397
266
280
250
308
314
303
299
358
288
314
362
328
303
309
261
254
262
383
295
266
327
335
364
371
308
282
180
282
192
241
301
357
328
263
366
342
331
289
337
295
283
381
407
361
232
339
266
251
295
297
283
357
368
388
337
305
360
291
327
316
383
266
347
376
304
335
333
309
330
289
248
331
359
320
304
293
338
331
364
367
332
370
348
343
301
266
363
377
319
310
247
307
262
277
311
244
369
274
290
194
369
271
404
278
313
357
303
309
319
402
367
308
293
349
391
356
300
342
339
378
287
339
266
285
291
270
311
285
271
389
382
358
346
341
288
304
374
284
356
432
328
382
302
388
422
355
350
329
298
319
377
277
329
330
302
391
351
337
309
292
255
304
304
342
330
289
344
276
351
366
298
287
358
399
297
327
388
322
337
333
230
296
336
318
340
286
335
342
279
376
308
262
325
292
267
375
385
288
199
230
359
361
332
300
302
335
251
279
271
372
342
325
348
283
304
332
224
271
352
290
299
180
312
284
307
289
270
262
354
288
309
316
313
344
360
213
359
307
275
219
267
311
366
377
311
316
278
356
256
273
303
295
294
305
301
380
372
346
324
300
254
300
300
391
290
342
299
381
305
315
388
352
346
338
312
363
344
253
369
303
361
292
321
263
294
275
330
317
366
294
319
360
286
365
351
258
371
359
316
325
293
379
282
339
305
324
354
329
331
346
283
308
336
345
374
261
332
280
365
302
315
239
359
340
300
339
375
335
348
307
357
356
317
365
411
309
339
325
376
325
317
271
287
264
212
289
350
339
290
232
377
324
334
382
349
276
310
340
266
304
357
333
373
353
339
265
295
306
310
273
312
205
323
262
315
331
322
266
307
355
370
370
307
304
332
327
343
301
369
401
201
199
256
317
260
303
363
222
266
401
401
363
309
379
320
316
260
328
422
263
401
258
288
332
256
359
280
312
291
345
311
315
383
320
305
256
340
332
336
391
320
378
307
318
358
377
282
385
388
190
313
252
337
280
298
215
342
375
252
394
343
354
347
324
326
417
292
266
348
379
297
264
384
355
323
357
280
338
337
282
290
249
258
281
302
354
300
270
422
330
325
263
300
329
277
370
312
371
310
237
405
305
358
249
257
294
301
243
335
390
348
286
376
294
373
332
342
262
348
305
380
319
401
337
357
297
274
367
281
318
248
331
344
343
272
310
312
264
321
346
263
368
329
340
379
288
311
357
363
342
263
334
229
252
333
351
340
329
267
403
275
384
284
288
356
344
316
305
401
361
342
295
292
339
275
408
292
301
341
312
341
310
376
334
295
362
317
239
349
247
327
324
318
409
335
361
279
382
340
373
299
309
303
261
292
402
288
328
322
280
353
262
263
384
321
361
390
301
249
294
293
282
277
353
413
323
331
258
363
329
298
250
324
382
320
249
384
289
324
378
284
373
342
355
295
236
353
323
323
282
349
209
332
356
323
342
303
245
262
317
287
311
287
354
334
236
315
339
340
278
389
228
293
309
276
237
333
282
252
412
322
275
372
392
320
324
383
273
383
237
279
388
336
318
274
317
186
377
240
208
321
296
272
369
319
386
344
368
337
388
320
318
352
307
302
269
350
297
335
323
337
394
308
293
382
322
312
335
307
346
280
344
314
377
270
273
288
381
278
314
329
345
349
381
319
363
317
319
343
290
395
363
345
352
332
172
343
305
294
309
401
345
312
307
407
261
298
456
282
238
286
329
349
343
296
403
284
404
322
337
301
366
274
330
414
360
332
286
273
296
362
340
313
311
354
286
303
349
295
373
253
325
309
389
353
349
334
260
414
299
308
321
326
379
352
408
324
370
290
318
393
356
333
331
275
306
346
302
275
319
330
344
205
266
285
308
207
282
275
392
323
299
322
285
339
320
429
377
375
273
310
247
338
370
346
342
373
324
320
371
227
284
301
373
299
264
298
224
276
336
278
361
245
309
228
271
332
285
379
307
282
367
270
307
241
306
294
367
323
361
336
332
236
281
380
327
313
361
344
362
293
389
324
293
277
372
263
333
358
333
401
344
385
304
380
314
265
356
300
249
358
332
387
323
291
261
353
340
322
219
333
429
364
378
302
320
341
268
292
352
361
289
226
268
375
340
303
332
214
340
296
384
332
274
305
395
337
310
352
258
380
286
357
273
376
352
280
350
349
258
244
279
287
340
339
321
353
285
370
328
323
216
388
337
297
297
324
318
300
359
364
325
346
215
295
293
296
290
291
393
384
362
293
363
300
270
312
369
346
318
276
321
336
361
365
369
319
345
313
266
279
377
327
285
290
346
333
338
272
308
329
215
275
303
338
323
315
281
301
306
325
352
268
345
275
312
335
365
267
282
266
325
276
315
366
364
352
305
413
373
274
355
337
371
376
249
263
306
312
289
309
288
314
369
302
244
267
326
356
371
297
256
246
288
207
378
310
329
356
299
314
281
271
248
320
389
309
302
305
357
196
191
248
328
217
308
228
354
381
322
330
354
332
197
388
441
272
290
311
268
254
320
339
315
278
371
325
293
226
349
313
288
355
274
368
329
331
179
357
397
246
359
283
316
299
358
385
335
363
317
271
277
247
309
252
374
353
235
264
299
349
301
300
342
331
231
324
385
308
288
350
360
279
252
264
310
331
377
318
310
256
338
392
247
323
382
299
343
290
309
330
336
322
368
323
378
401
341
311
315
232
304
378
283
360
317
313
339
341
324
209
324
280
263
245
285
344
295
279
339
336
331
300
312
230
318
319
331
293
298
400
256
276
310
272
216
307
278
275
354
318
322
376
272
278
312
425
335
327
349
358
287
262
302
271
397
303
263
327
317
265
396
344
326
320
386
234
299
335
256
353
286
323
349
304
333
371
334
254
291
409
306
310
279
269
268
394
292
307
328
263
374
308
315
330
339
314
294
312
281
303
284
265
277
381
309
327
296
358
256
258
253
296
257
269
290
340
300
326
360
358
343
389
394
283
403
326
281
369
280
386
340
335
314
343
348
351
387
376
355
318
283
305
427
291
298
349
326
280
347
330
364
334
365
330
237
296
289
353
385
385
283
318
284
318
301
232
320
310
369
286
317
260
264
384
314
206
338
222
351
315
314
271
357
329
388
306
341
304
297
307
246
274
389
361
266
278
344
329
302
365
328
373
289
245
334
416
335
335
303
263
359
296
349
361
262
364
232
314
306
294
335
290
341
279
293
335
420
380
347
236
348
300
354
338
245
298
351
323
357
302
360
329
264
364
361
349
375
366
349
295
288
332
354
331
282
383
258
267
307
406
358
286
310
345
257
301
332
277
278
332
312
334
396
267
349
305
341
303
327
346
298
302
253
291
266
285
363
349
328
341
343
255
409
278
322
342
323
361
273
355
333
289
367
344
343
303
320
232
329
337
301
333
396
268
317
285
359
311
280
254
295
393
261
366
288
305
339
291
347
354
335
313
387
385
345
354
353
318
282
259
349
292
355
342
355
383
258
261
375
349
333
320
292
315
331
306
326
278
331
326
300
344
397
361
277
422
315
269
366
364
350
337
344
285
245
371
290
391
351
343
197
309
287
265
311
305
320
348
289
305
364
313
327
237
294
276
338
334
270
354
298
280
315
330
408
335
321
363
276
254
256
249
401
305
293
302
327
352
360
348
293
298
267
277
291
278
327
360
341
315
257
345
354
256
333
286
314
361
381
332
287
358
284
296
349
301
308
315
297
371
356
366
251
270
329
258
363
316
314
353
329
191
356
288
400
226
391
335
334
238
342
168
331
312
325
299
266
261
407
327
338
305
300
235
352
362
366
335
354
308
358
289
321
294
280
304
314
281
335
268
329
363
272
313
333
345
368
349
341
352
299
284
339
292
237
328
312
296
369
281
350
333
232
324
353
281
294
334
312
265
287
288
301
371
303
345
321
330
335
291
328
430
326
282
320
322
362
280
306
369
248
293
278
316
250
300
281
275
307
362
344
264
250
253
352
298
234
315
237
271
333
348
227
319
298
322
335
289
333
278
255
287
342
351
329
318
381
260
252
351
358
274
347
322
343
322
322
317
340
336
323
269
284
376
328
348
364
259
311
318
346
416
286
276
261
397
337
288
376
296
315
358
269
349
419
330
298
398
405
290
337
280
293
301
412
334
254
236
349
278
370
291
335
279
213
337
353
283
315
304
310
369
320
286
385
332
338
276
299
324
318
312
290
335
261
337
332
356
256
357
387
280
251
339
324
316
304
274
332
331
370
218
332
384
327
279
251
313
241
335
291
403
294
270
313
348
314
278
229
336
265
440
286
261
289
338
355
346
356
388
280
354
270
288
322
317
342
246
337
321
366
260
308
216
326
339
408
314
336
320
296
252
283
320
338
380
348
285
229
360
346
283
256
299
376
274
304
326
276
312
330
334
350
261
366
327
279
276
223
240
246
278
281
241
339
372
321
288
236
288
368
324
380
288
322
311
335
369
357
294
231
346
202
310
318
329
345
315
317
323
315
340
263
335
397
387
285
298
294
342
339
411
305
268
277
299
275
220
355
248
292
316
247
311
309
226
290
324
318
280
335
255
324
300
338
361
343
315
305
342
364
358
272
222
281
397
441
321
316
368
330
211
244
331
305
296
284
345
291
235
368
335
306
402
320
355
279
354
313
272
361
311
324
321
355
375
322
326
322
304
335
330
310
347
286
307
394
315
239
322
235
357
263
316
303
323
347
364
330
352
304
318
250
333
409
333
270
333
370
251
360
344
347
335
244
353
333
306
332
301
333
409
339
278
312
356
356
339
249
291
379
343
374
314
302
374
230
181
308
303
286
335
321
329
364
312
326
353
415
309
204
337
333
380
377
338
301
248
305
324
335
325
320
298
304
330
299
268
272
313
345
428
314
341
262
361
344
328
340
286
310
412
299
405
277
341
338
258
285
347
302
415
371
372
391
345
365
294
259
287
248
292
338
323
291
355
336
258
353
356
307
333
292
370
298
279
322
322
356
311
339
228
288
317
351
343
301
356
341
285
321
309
298
388
297
397
362
318
266
394
364
332
322
297
364
365
301
355
350
270
224
294
234
345
304
376
366
310
341
336
283
294
362
355
346
300
346
344
289
377
292
385
338
350
280
288
291
290
348
278
283
325
319
310
336
300
281
241
307
356
322
340
320
249
317
342
313
305
300
396
352
283
346
368
263
283
355
249
317
349
347
357
331
407
316
282
357
279
231
298
307
337
398
296
313
389
359
392
223
319
337
370
320
398
321
325
268
320
287
287
304
285
305
300
292
325
320
318
344
365
295
350
323
392
340
320
360
346
415
326
304
294
290
362
322
274
297
291
361
354
327
321
260
293
306
282
344
303
330
257
321
350
298
320
358
297
415
366
348
346
225
273
227
350
333
316
391
236
362
322
320
392
372
299
281
329
287
330
296
327
305
396
278
263
313
354
309
307
353
309
291
362
341
331
312
341
319
157
262
212
356
341
290
336
333
325
252
403
345
304
387
316
345
304
311
328
276
243
341
343
263
301
337
333
295
292
342
269
360
296
337
311
300
358
295
369
270
369
388
341
325
333
316
300
252
324
347
366
218
381
249
345
371
330
294
313
328
287
282
299
246
360
299
353
314
323
257
360
283
351
282
334
189
282
302
337
380
303
351
302
286
455
333
371
295
299
323
371
288
389
366
374
296
398
331
300
238
349
260
400
272
278
326
310
240
340
375
307
281
201
417
308
244
306
327
279
320
295
264
271
259
271
346
345
261
375
376
381
293
301
297
300
330
349
333
262
344
312
365
233
396
388
341
290
297
279
311
289
295
336
330
380
353
331
281
310
315
305
344
285
312
383
321
284
331
296
292
316
355
259
358
214
405
329
310
339
240
273
320
327
288
348
332
345
269
321
360
327
367
345
363
301
342
330
370
305
272
257
368
308
252
354
351
345
333
292
396
346
330
234
236
203
304
267
327
229
359
364
364
315
189
361
394
306
223
290
320
285
366
283
338
349
331
351
443
303
285
283
356
409
312
333
315
374
386
258
266
297
247
285
298
389
371
294
329
251
333
266
378
376
333
359
332
340
328
317
300
381
243
230
332
355
375
262
257
293
280
276
245
259
301
318
369
299
281
382
364
320
360
378
307
294
326
292
293
303
329
301
422
276
287
375
323
409
307
315
330
339
294
347
283
334
354
311
250
338
366
339
297
298
384
271
273
233
214
392
358
309
306
407
311
390
324
321
319
257
370
272
311
333
306
345
331
311
350
308
360
308
247
343
270
288
330
410
312
309
371
325
405
321
251
286
284
343
341
299
298
251
334
350
389
289
338
297
358
243
371
387
295
302
315
334
288
392
290
378
240
329
384
369
359
371
300
347
273
259
289
308
394
276
350
384
340
351
382
207
295
241
297
364
388
319
385
298
222
248
263
338
333
283
318
317
300
264
312
351
311
304
293
279
369
304
336
380
317
221
319
305
307
292
346
344
320
209
330
282
286
235
372
314
271
271
398
315
390
316
275
296
319
334
296
333
292
293
353
350
293
308
351
310
313
283
299
256
287
419
321
372
355
192
298
325
373
274
329
373
277
320
356
248
337
411
323
322
359
347
349
376
392
297
378
422
295
306
391
369
343
325
298
321
336
357
297
306
347
311
307
333
346
332
312
341
273
290
229
275
370
310
350
323
363
332
345
315
342
336
249
270
320
337
376
334
316
337
337
248
301
275
400
359
373
289
282
324
346
346
287
331
346
315
381
398
364
320
291
268
367
251
380
374
338
297
323
330
336
309
300
382
347
289
305
318
257
311
347
330
290
227
309
219
292
322
246
281
300
331
284
293
323
272
267
308
291
297
360
239
316
324
352
342
326
317
370
275
305
332
332
282
248
338
314
325
314
305
292
312
357
296
323
306
232
357
393
289
324
307
291
338
340
341
406
318
317
288
300
339
255
319
371
305
378
307
286
289
205
412
307
343
306
288
368
247
305
252
338
314
258
373
318
361
360
300
362
290
288
330
413
205
255
452
313
279
259
281
314
347
321
265
341
272
266
278
327
328
262
254
330
300
314
319
316
229
369
353
346
312
365
358
399
418
326
300
350
300
297
351
358
340
343
340
364
329
306
377
290
245
325
247
263
276
347
348
376
341
352
354
271
314
358
323
249
303
315
291
229
405
243
341
254
283
311
273
321
255
212
257
343
344
294
346
366
271
279
307
300
342
327
316
330
364
303
337
394
353
339
288
343
344
342
291
284
278
372
318
316
261
333
361
272
337
298
301
313
268
337
312
251
223
357
333
284
202
274
360
319
389
327
285
408
362
351
324
366
430
338
303
251
322
360
205
399
319
297
207
393
313
318
284
283
355
364
263
347
284
331
198
266
333
325
334
348
303
336
288
337
263
272
360
380
278
333
298
395
367
366
358
353
313
284
315
297
339
346
253
281
377
346
269
349
353
331
271
290
386
217
287
283
238
305
316
302
300
348
340
303
345
286
277
197
325
263
295
332
258
322
323
352
313
302
320
260
407
329
357
277
219
312
261
246
290
404
288
312
312
403
305
326
280
271
323
302
376
303
221
352
334
320
296
296
346
329
353
327
326
190
225
378
337
302
291
316
298
233
285
264
319
313
309
310
327
293
318
370
357
393
338
288
280
363
330
393
342
265
324
410
367
377
373
301
333
313
327
350
372
335
279
285
349
313
379
305
349
289
340
402
233
362
301
179
206
288
345
323
345
241
282
381
366
303
321
242
328
265
293
345
323
352
327
318
352
289
347
385
263
338
259
250
273
363
339
365
353
375
302
361
365
325
311
376
250
299
317
325
358
240
262
332
350
358
350
350
329
353
338
351
302
277
210
276
302
288
345
240
318
272
327
325
285
294
394
360
331
258
343
336
361
371
318
399
184
325
384
363
242
318
337
358
307
259
301
331
289
334
356
396
323
332
258
316
271
265
284
279
292
226
329
246
296
273
341
398
258
327
286
314
268
297
353
311
362
338
324
322
302
297
252
329
304
319
247
332
380
254
283
357
329
286
245
265
285
317
322
356
398
322
252
364
304
314
335
390
259
185
306
311
347
272
285
283
327
378
330
315
333
367
271
350
342
389
359
346
257
309
322
257
273
371
305
342
252
296
270
330
365
318
252
296
292
328
340
270
342
285
316
247
402
352
287
319
296
349
321
298
292
302
313
276
388
331
313
302
232
367
257
336
330
252
311
285
336
368
346
263
274
326
338
330
271
300
237
294
319
324
339
300
322
352
303
330
371
261
294
278
267
259
350
339
362
391
329
344
333
351
385
348
338
324
309
312
294
327
371
295
338
315
213
305
365
299
334
289
358
340
224
312
305
300
355
299
253
320
334
411
369
327
325
327
280
337
312
244
265
303
315
331
425
273
370
308
359
282
304
305
319
326
313
315
351
429
259
296
297
337
331
274
264
330
311
338
292
303
311
365
317
262
421
291
347
297
380
340
338
305
327
307
335
278
419
290
347
310
373
350
358
304
265
317
323
254
320
299
303
380
332
355
247
300
335
325
310
339
340
332
288
204
347
368
282
297
290
311
338
365
369
348
334
272
351
352
309
204
283
297
267
217
282
426
385
302
341
418
247
387
242
275
331
343
292
355
327
305
250
359
360
333
306
328
322
414
337
431
273
284
347
345
319
305
273
334
305
323
269
264
315
321
316
310
254
359
298
283
276
220
349
273
336
323
266
323
335
251
352
367
332
262
345
378
339
303
292
294
386
321
232
368
291
377
319
310
359
260
359
369
275
296
324
355
307
309
301
322
301
229
362
250
330
311
233
394
238
327
288
352
310
428
280
358
357
345
285
268
307
341
296
320
289
381
351
326
358
340
385
289
280
379
386
348
314
264
288
281
326
294
286
371
349
349
333
298
316
304
344
317
295
231
269
311
345
336
275
266
351
319
345
336
385
439
317
281
367
261
320
333
382
316
365
263
218
267
356
368
284
296
351
315
427
365
272
343
316
274
305
303
252
280
319
309
278
342
290
342
304
333
348
340
249
377
338
319
296
351
309
292
319
260
311
291
321
283
341
233
311
273
335
307
318
295
378
265
217
369
294
344
400
327
324
248
284
341
354
299
313
350
299
300
291
331
445
307
296
406
255
288
379
332
299
299
292
413
312
254
409
271
336
295
277
389
390
330
322
296
344
291
329
321
250
313
347
304
326
284
323
365
314
360
342
298
273
324
302
404
285
345
323
397
351
319
335
321
287
303
310
352
299
299
321
359
289
331
326
308
280
389
302
302
301
313
361
344
357
304
354
278
319
303
316
390
300
315
313
325
344
372
321
264
304
317
265
385
282
252
284
299
353
252
253
274
332
300
333
313
304
280
338
266
327
292
318
421
356
296
347
353
341
342
299
335
274
333
342
356
246
308
250
376
355
331
307
356
291
346
366
370
323
329
290
224
290
283
357
417
298
368
287
343
246
275
320
320
359
401
333
371
276
300
347
276
372
333
335
276
330
261
300
376
317
339
335
346
309
360
423
268
232
363
277
307
354
384
322
339
331
282
387
379
292
332
358
376
250
364
282
352
311
324
356
266
303
233
301
283
314
285
234
297
437
356
319
288
314
292
337
326
431
324
350
259
301
324
387
327
349
332
337
307
332
306
306
310
257
304
351
290
330
313
321
402
320
295
355
335
396
383
318
310
396
342
329
378
355
349
315
290
276
260
242
363
354
365
380
214
290
319
380
332
316
251
273
357
347
308
351
238
401
271
365
342
340
308
352
319
288
328
429
341
322
388
319
310
291
319
314
289
317
372
340
338
392
261
274
352
342
300
360
344
305
371
320
260
341
256
345
340
351
255
293
355
330
352
320
410
338
318
285
261
253
277
304
284
335
301
323
265
302
334
245
303
308
377
371
286
305
281
248
280
296
364
263
365
290
300
334
330
305
348
276
359
322
334
407
342
363
349
385
348
323
319
346
273
254
346
303
320
336
355
310
243
349
364
359
283
333
341
322
387
285
313
281
326
299
354
255
366
364
340
435
327
273
338
356
315
342
258
313
362
360
325
341
310
337
290
309
349
303
306
332
331
271
367
357
314
362
268
374
394
258
355
277
322
319
292
369
307
313
340
270
319
277
280
332
322
319
283
331
289
348
378
259
338
387
334
324
284
295
317
339
333
376
307
252
308
401
344
293
295
346
192
335
369
321
247
295
308
379
265
331
315
349
327
238
337
343
361
278
342
328
370
268
271
379
349
327
305
342
337
325
354
327
371
343
365
344
324
282
305
315
260
371
246
302
298
325
367
346
381
220
256
314
276
264
390
401
427
311
303
220
287
317
308
295
294
218
357
321
379
238
320
311
285
369
272
347
243
342
312
281
337
368
291
335
308
308
335
386
326
316
358
367
343
270
300
252
319
362
395
320
359
328
375
334
339
345
348
315
343
384
293
265
298
348
272
377
358
337
330
340
382
330
298
312
346
322
319
345
281
379
385
357
290
295
334
293
280
341
302
300
325
303
286
284
232
331
308
295
290
364
298
288
346
334
276
290
277
320
247
384
346
399
260
357
250
335
370
347
312
334
371
316
242
354
298
299
287
344
349
365
310
267
293
279
351
330
218
296
357
287
320
248
329
328
248
343
386
241
298
354
256
342
320
285
348
344
315
279
338
262
329
279
334
261
422
270
260
374
196
360
376
338
325
340
350
354
352
317
342
237
312
346
323
294
312
346
383
289
358
408
308
398
328
267
242
319
346
284
354
292
289
258
306
326
303
354
332
385
290
327
302
247
286
302
301
349
299
299
358
297
400
267
382
382
300
322
312
362
379
337
290
320
303
289
292
319
317
341
299
295
246
383
249
338
318
312
297
296
266
351
236
319
277
356
308
336
275
308
328
318
261
299
307
334
335
308
384
308
253
386
371
357
354
379
277
269
266
303
365
332
380
325
342
315
329
285
261
357
267
284
352
307
309
305
314
294
275
331
306
296
364
291
293
259
332
331
345
363
361
316
314
358
377
299
241
235
360
231
268
319
183
311
291
360
377
326
352
338
259
365
365
282
323
286
307
351
336
360
335
259
274
247
348
308
331
315
278
316
325
355
325
250
362
376
406
333
274
381
282
384
328
297
274
299
264
323
232
333
301
305
293
450
402
287
302
271
308
397
363
353
248
309
359
284
262
360
261
301
361
350
306
349
242
338
326
310
338
265
372
403
362
342
324
333
288
359
300
318
266
364
377
315
276
290
283
309
310
273
264
294
336
338
314
348
329
352
353
319
355
202
236
192
296
245
358
308
274
233
302
341
295
295
319
226
300
270
348
331
265
323
327
278
356
288
311
277
378
316
231
375
345
348
340
296
261
344
294
333
295
320
252
311
353
319
310
237
323
322
274
282
276
317
339
342
378
235
261
342
357
279
376
334
379
317
295
371
354
336
269
310
247
299
314
301
364
366
345
360
328
311
277
324
370
346
325
347
267
358
306
237
382
350
367
369
350
296
293
343
268
292
361
346
296
270
349
360
213
320
368
295
382
321
308
328
355
324
378
297
298
339
309
232
372
349
241
287
257
353
374
337
328
330
348
327
367
282
369
281
314
307
320
443
290
260
374
350
371
274
302
320
393
305
267
339
324
307
311
302
293
301
355
339
327
349
325
253
251
324
240
369
330
407
226
328
337
257
345
295
420
402
363
290
247
343
328
244
309
315
324
420
330
324
294
308
417
298
376
272
255
288
298
330
317
383
308
306
343
342
327
295
278
272
308
290
210
289
392
396
307
362
306
291
345
357
303
223
289
264
367
303
313
275
236
408
369
367
322
371
280
300
270
351
350
359
318
282
275
323
316
319
285
268
290
366
309
322
380
327
338
343
346
312
399
262
335
394
310
333
275
329
401
317
206
344
250
316
282
202
287
292
321
239
380
366
305
272
287
309
281
257
292
320
305
401
322
339
312
209
284
309
305
292
255
214
345
275
332
338
364
362
324
358
314
371
256
317
327
344
311
308
348
365
308
307
267
332
321
354
275
347
341
280
317
361
316
304
307
364
321
358
300
386
403
316
343
338
323
284
289
313
327
335
335
281
269
377
303
293
337
357
348
305
367
352
290
335
422
306
327
298
291
309
332
263
277
285
318
236
268
187
324
273
269
269
325
235
382
340
357
226
298
319
337
358
249
353
274
263
247
262
384
301
345
292
400
299
348
298
338
315
268
350
350
359
305
390
295
338
346
291
355
311
334
347
347
256
373
229
372
314
337
374
302
369
321
197
304
220
268
302
324
345
400
410
318
360
251
324
328
346
392
246
416
328
351
359
273
386
366
365
282
318
223
332
322
273
308
308
332
239
275
306
313
253
307
296
387
342
312
285
328
292
389
294
353
287
315
263
367
314
281
292
211
267
236
263
325
316
373
301
294
377
293
345
286
283
328
328
293
382
251
305
383
256
349
370
342
324
330
269
281
315
371
310
303
326
293
298
287
340
266
304
303
390
423
389
247
261
277
299
303
303
254
264
295
351
249
214
283
314
361
305
350
292
298
377
299
351
343
344
228
370
323
331
346
247
295
296
381
329
318
275
344
279
295
348
358
358
316
264
272
314
307
340
300
390
362
245
302
293
361
420
368
292
311
238
285
268
317
343
324
285
222
266
221
349
288
279
333
285
335
411
344
297
373
340
287
191
295
370
253
336
311
394
331
315
300
272
278
276
310
335
250
313
318
278
332
376
346
330
231
190
368
290
284
255
368
303
294
321
348
327
287
352
358
273
251
325
238
365
331
266
341
257
362
277
345
266
322
305
338
254
297
446
310
350
247
304
334
343
302
368
260
372
354
269
292
431
332
233
294
360
307
308
348
298
356
371
334
358
283
297
285
286
317
261
306
331
341
391
394
329
343
344
237
316
311
298
333
296
334
284
316
298
264
289
244
301
339
370
361
344
218
351
379
303
365
286
362
255
223
351
352
323
411
386
340
250
286
389
360
302
373
280
227
318
274
341
286
427
361
299
198
231
341
333
209
375
295
375
299
449
291
353
265
339
256
361
278
320
375
253
332
332
326
334
348
266
313
327
341
278
359
303
325
306
355
323
314
334
360
347
422
382
342
344
403
366
312
310
260
356
316
296
361
354
377
310
308
320
341
261
233
245
374
280
333
393
314
273
324
386
314
335
325
321
315
421
351
302
302
286
306
264
403
285
332
286
317
317
328
384
287
356
284
319
318
347
299
311
270
240
313
274
318
306
367
353
306
281
399
368
330
280
258
303
360
340
242
317
337
340
281
242
415
279
397
323
240
309
321
371
236
279
318
227
376
343
400
375
295
346
350
305
264
329
379
401
332
292
219
315
340
269
304
307
278
342
267
200
377
374
355
279
338
407
352
204
296
320
345
386
348
318
396
352
237
275
383
267
328
259
272
273
373
287
329
262
415
337
319
394
348
295
352
240
282
315
276
355
325
293
344
320
284
341
295
252
350
332
251
302
306
307
377
328
292
287
370
218
346
284
351
324
273
314
317
310
400
293
343
292
289
331
303
265
368
307
307
245
293
382
246
346
340
337
388
237
316
295
313
325
279
383
337
373
286
317
305
311
284
284
291
320
335
280
333
300
335
323
229
297
316
317
320
316
275
327
289
306
344
313
256
325
354
278
309
305
230
304
366
320
295
298
267
363
364
338
334
298
399
312
288
358
353
236
332
307
300
312
267
308
333
404
259
270
286
348
345
331
375
311
350
238
256
371
222
289
265
393
292
268
264
375
328
377
320
340
345
346
339
355
366
314
382
286
323
322
323
377
302
288
274
278
306
276
248
332
349
360
411
264
237
248
359
334
201
248
295
328
285
300
383
345
321
289
342
343
243
293
367
379
347
371
328
324
179
392
337
296
346
331
320
315
331
318
259
335
267
292
289
321
334
322
264
296
360
276
354
426
323
286
366
300
353
379
332
318
298
241
357
226
364
297
356
358
318
321
315
301
291
295
390
356
318
343
293
364
319
333
331
331
371
326
392
358
276
283
290
344
292
292
257
339
349
342
319
321
355
325
323
332
354
372
290
373
232
338
313
284
292
282
262
277
270
275
331
299
324
330
339
313
372
266
336
384
273
284
291
350
382
256
318
303
230
319
383
360
286
246
269
335
309
305
333
320
302
262
325
346
318
324
391
276
319
374
307
317
262
293
292
357
323
288
349
326
302
363
256
394
356
376
304
381
371
332
270
296
220
355
366
270
357
254
291
359
355
324
308
367
436
329
271
261
325
361
310
337
332
331
375
376
261
262
339
317
246
321
367
294
327
304
371
364
325
252
317
342
280
346
273
291
370
356
348
310
338
303
296
367
328
236
309
339
297
363
304
278
362
331
343
324
264
307
331
334
336
378
238
345
301
302
343
357
378
312
351
384
316
249
322
330
248
299
326
299
315
291
315
360
302
349
415
260
338
287
310
340
361
375
381
371
352
275
327
292
259
329
262
386
295
297
276
359
341
382
348
296
285
323
323
380
306
261
294
316
348
320
296
251
272
363
313
355
315
323
350
287
293
292
381
318
312
408
333
333
348
257
296
313
343
352
343
369
191
330
337
246
244
292
244
315
308
354
344
349
309
341
246
401
286
337
316
296
303
325
291
322
275
385
299
317
364
299
360
341
345
289
281
294
205
305
360
332
263
345
342
325
305
249
266
379
319
310
344
265
360
321
293
374
303
311
317
407
318
269
261
267
329
240
355
264
239
240
214
381
403
364
301
266
330
318
273
294
284
382
337
304
258
263
256
356
323
306
250
288
265
374
303
311
326
202
275
342
337
287
336
271
342
313
338
357
373
264
344
386
276
328
349
272
361
354
381
372
262
339
323
375
278
282
418
349
365
317
382
427
346
310
320
255
320
320
264
295
295
345
382
386
429
257
365
348
240
268
281
275
194
267
223
299
379
389
284
352
374
348
239
381
405
309
294
361
372
315
307
286
278
271
256
328
325
346
338
303
335
303
326
218
339
308
334
342
256
280
274
239
327
268
263
287
410
400
257
352
319
345
335
325
290
447
310
280
310
345
296
276
225
345
304
375
368
242
270
376
358
307
310
297
400
283
191
313
318
253
372
310
391
309
329
305
333
293
295
298
288
327
354
272
306
324
293
295
229
314
312
289
317
266
273
286
258
325
328
430
319
304
392
299
297
325
318
319
312
357
326
358
316
312
295
276
352
318
249
365
291
351
358
350
309
331
427
338
313
296
394
296
347
356
300
301
298
349
335
257
364
381
318
272
291
267
308
343
325
325
236
312
279
296
260
311
234
292
381
274
311
360
357
345
358
282
308
280
297
371
324
272
199
363
241
328
351
331
297
257
251
365
358
245
358
336
365
248
287
270
191
300
287
261
283
378
330
311
324
350
353
294
298
363
311
337
286
274
325
264
331
332
383
222
417
364
309
364
360
295
295
282
359
282
347
231
392
263
249
237
313
425
290
339
288
293
332
328
295
353
262
362
344
364
378
278
376
292
410
364
341
377
354
303
350
296
308
352
275
368
294
317
294
282
244
319
378
271
263
232
323
354
352
326
248
301
251
314
374
260
345
351
341
353
225
310
366
297
317
302
354
305
402
284
307
284
347
376
339
361
350
333
276
297
283
283
336
339
343
301
336
368
238
359
369
358
355
267
300
325
315
345
279
403
326
319
358
281
299
400
275
332
323
339
343
336
283
365
322
308
349
226
354
321
406
290
296
381
315
311
346
318
322
312
343
332
429
323
256
256
362
274
318
383
353
252
359
384
304
377
335
297
330
270
337
260
243
257
363
261
230
246
290
361
329
292
265
265
292
332
273
286
224
339
307
275
281
198
362
275
284
313
316
338
362
361
367
295
372
386
278
248
180
365
321
255
296
374
360
330
331
313
314
276
326
406
377
372
384
304
332
313
280
330
371
397
235
356
398
316
288
325
348
250
330
266
369
373
347
355
291
306
386
339
328
344
308
302
332
327
327
247
318
351
295
339
289
295
305
242
336
382
343
322
324
222
330
365
334
308
277
292
327
383
234
360
318
318
329
281
379
349
272
218
291
361
295
386
323
357
365
372
335
340
267
328
355
277
201
377
313
217
364
290
268
343
348
336
367
332
323
302
226
244
318
261
320
353
338
286
366
309
300
393
309
331
251
352
311
341
318
334
334
315
370
274
285
358
342
308
369
288
336
428
338
336
356
348
331
353
333
309
306
310
332
354
293
327
289
348
355
274
277
290
387
246
320
260
350
260
325
292
236
420
334
265
311
353
317
291
375
306
312
351
236
313
397
292
293
439
369
287
349
259
282
310
254
310
325
330
374
359
275
344
377
400
320
315
240
317
309
371
315
285
332
314
325
353
340
291
289
341
270
310
250
368
333
316
282
322
357
432
301
325
318
328
246
283
371
398
402
339
305
298
360
319
307
344
293
350
341
356
296
345
300
320
260
367
295
361
362
392
332
337
394
350
310
360
276
389
343
326
317
315
389
251
324
269
348
288
324
349
308
322
328
332
394
375
283
291
343
265
302
359
348
334
281
350
295
360
285
288
328
283
286
280
312
433
321
321
259
256
322
328
380
347
322
354
306
386
273
346
393
313
363
368
316
294
325
335
273
329
298
299
348
353
406
284
341
370
330
336
365
289
239
256
284
326
352
316
358
363
287
401
375
390
317
390
307
373
262
325
268
371
293
311
414
246
259
299
350
361
282
408
405
268
314
282
379
319
226
268
341
225
350
264
355
334
391
254
295
232
361
373
326
267
261
346
312
319
314
324
215
322
336
326
274
267
278
305
288
304
271
359
309
272
316
332
317
353
293
295
365
324
266
349
358
318
307
364
341
304
396
284
286
334
348
305
334
302
366
286
344
334
335
302
298
333
286
321
329
350
404
371
274
199
364
312
376
267
341
336
272
313
388
270
287
266
389
301
377
361
294
328
369
372
399
419
339
367
380
284
307
414
277
312
306
299
318
395
344
364
283
186
296
331
306
327
258
268
321
352
363
331
244
286
299
394
323
346
244
298
343
290
323
317
371
299
234
304
322
339
314
285
272
321
272
294
370
278
250
276
325
341
291
294
296
310
319
265
339
340
367
263
301
416
265
383
354
229
236
276
270
236
358
313
293
351
320
334
329
335
259
288
436
349
288
298
267
293
318
335
314
382
218
361
297
366
317
300
333
358
278
321
237
358
301
303
347
256
318
348
335
297
328
342
355
293
332
294
383
338
275
334
306
356
252
315
342
320
359
332
330
228
260
285
317
264
210
265
427
284
300
331
389
273
296
334
394
308
266
432
386
353
273
323
351
258
251
290
370
344
302
340
332
351
257
353
308
298
314
331
258
307
353
382
342
334
324
300
335
360
311
298
292
275
364
318
259
229
292
310
350
364
350
308
243
323
306
384
280
288
300
286
441
354
320
387
343
286
287
306
277
322
247
337
321
289
316
324
275
333
326
369
337
394
381
321
363
319
401
287
362
320
316
349
319
285
288
328
294
238
272
327
335
308
346
226
290
323
361
330
320
252
349
325
261
300
255
372
353
287
360
330
360
263
310
232
273
327
248
274
371
353
371
375
353
348
333
320
259
329
263
394
346
356
364
297
227
381
390
291
326
314
319
390
276
301
301
338
256
272
347
286
309
308
339
341
349
270
304
294
248
316
245
312
338
268
351
361
333
359
296
352
332
351
367
304
242
346
336
306
273
327
358
272
375
384
340
390
301
267
356
268
231
297
369
295
334
280
298
329
368
353
254
293
280
299
330
270
329
318
382
373
255
228
330
347
325
336
368
385
377
333
391
433
309
333
326
317
323
297
276
348
304
313
305
317
301
360
353
242
287
326
324
357
344
348
291
386
366
272
431
325
340
304
255
391
311
360
303
358
244
344
283
352
343
127
306
326
222
335
311
299
352
345
259
345
358
334
275
377
336
351
380
344
272
368
303
304
313
264
321
320
326
335
365
332
286
377
262
369
380
343
254
260
335
254
317
340
312
345
358
265
354
298
323
342
366
374
287
336
293
297
346
355
362
234
385
347
337
320
291
229
263
253
319
244
328
345
331
309
328
359
373
370
313
340
371
250
330
334
293
320
215
294
258
338
268
245
386
346
287
345
290
399
390
366
329
388
350
338
321
224
300
302
353
334
305
291
286
345
347
337
300
312
310
303
364
368
337
226
368
308
260
365
287
327
334
347
358
319
260
292
321
279
307
243
312
332
332
394
319
372
218
378
391
295
237
323
351
371
242
361
389
304
328
293
358
246
306
347
409
308
295
311
306
390
306
342
246
350
301
310
317
319
268
268
407
314
281
308
413
363
283
337
284
333
290
343
306
248
310
403
299
299
213
351
315
321
391
371
288
201
325
287
289
232
305
297
326
406
338
278
231
251
249
387
397
301
267
272
325
377
283
344
326
368
299
379
267
297
317
396
351
278
281
369
306
341
386
280
353
312
309
345
321
359
340
389
345
317
308
329
348
265
407
339
310
325
312
355
284
215
353
210
420
289
378
317
346
396
345
420
334
353
337
345
355
235
291
343
242
355
356
307
333
305
285
346
404
359
280
291
317
298
243
341
255
313
348
290
339
311
317
288
353
313
331
356
297
350
311
281
286
304
366
304
297
340
352
227
257
277
262
311
374
357
246
254
401
375
340
344
354
230
294
302
423
350
281
318
302
258
301
314
366
282
239
369
342
333
330
354
329
302
286
331
393
388
375
379
459
289
324
340
340
251
328
288
335
300
280
359
322
338
345
384
343
362
310
303
305
341
357
350
369
216
297
303
335
343
285
331
340
308
297
293
332
418
337
353
360
325
422
313
315
296
396
356
310
395
372
353
368
252
255
324
376
367
358
254
396
363
217
324
335
273
294
317
264
282
340
304
340
249
386
286
376
354
350
296
327
330
359
328
277
256
363
365
290
339
323
306
335
345
310
294
364
382
321
378
386
387
364
334
263
283
269
350
274
251
282
273
334
291
301
349
274
348
293
317
324
215
384
394
248
304
315
357
303
242
349
272
286
315
364
360
244
353
224
335
237
313
335
293
364
260
238
371
322
324
367
283
311
277
348
322
280
233
294
357
304
351
292
301
350
348
342
398
314
290
321
243
350
316
273
306
260
293
176
319
376
348
282
314
332
307
341
376
304
307
335
363
365
315
246
334
272
361
260
348
316
340
298
327
267
282
246
321
271
309
251
362
332
315
363
315
356
286
316
332
260
286
315
314
286
278
335
350
400
327
360
323
331
301
352
330
398
259
246
335
324
302
257
278
297
316
314
270
289
393
313
221
355
320
331
354
298
345
329
368
378
294
291
285
377
325
310
351
344
316
310
337
326
266
274
322
279
298
285
312
280
284
332
388
318
370
383
412
302
343
298
298
336
317
343
282
368
358
267
384
275
269
338
303
296
372
270
289
347
395
330
299
320
342
274
341
312
250
285
332
262
252
225
283
349
290
320
250
348
328
274
368
399
420
266
327
321
223
231
328
274
346
309
283
343
314
273
342
305
318
314
267
343
389
311
328
314
359
361
286
312
364
298
322
295
332
292
188
351
266
308
325
295
345
307
339
288
424
330
313
225
314
331
311
341
277
405
316
324
415
311
346
305
384
305
306
304
338
347
284
351
299
333
298
254
319
373
351
262
319
301
294
322
348
257
355
321
370
386
388
337
336
290
340
313
400
361
350
362
332
275
368
371
423
400
410
340
375
338
355
270
354
378
304
309
292
269
368
241
281
289
359
330
352
340
331
277
346
266
340
316
343
254
232
291
285
345
295
316
322
369
383
309
351
359
358
277
310
311
340
349
279
276
377
277
307
370
307
282
300
296
310
321
348
380
341
288
203
362
361
377
281
306
372
340
336
269
320
299
293
311
397
377
369
286
379
349
331
310
316
405
314
335
269
318
361
284
290
297
334
291
338
300
336
262
289
291
250
374
317
250
243
320
362
329
281
233
296
372
315
364
249
394
291
345
252
395
337
355
376
383
367
323
343
327
305
326
317
248
308
333
332
263
316
319
403
356
360
375
337
293
348
396
331
362
400
317
297
284
355
318
233
264
266
328
329
393
375
273
324
323
312
239
277
314
393
293
322
327
346
293
317
328
349
248
270
387
268
313
327
317
385
302
321
297
263
306
347
293
312
265
274
320
297
273
358
275
346
350
376
319
279
351
327
342
335
304
353
320
366
311
346
314
281
403
371
271
330
377
354
364
312
378
258
290
360
358
301
329
303
330
330
340
328
197
314
316
376
298
362
255
316
209
261
363
297
270
321
320
380
345
336
342
356
346
300
324
333
351
323
260
382
235
220
372
318
318
344
229
318
279
293
325
278
369
289
387
276
272
411
343
266
276
215
371
253
329
349
312
311
225
306
361
323
358
277
246
351
244
347
282
269
285
297
342
268
279
293
331
247
336
368
372
334
228
294
257
301
283
372
273
252
268
329
318
354
368
279
376
275
300
325
346
288
382
330
285
288
363
242
371
388
393
255
450
325
361
346
262
348
274
254
295
248
321
310
311
380
318
312
324
389
290
351
286
231
328
320
347
310
319
299
217
234
368
240
259
325
300
345
320
313
354
295
319
288
402
365
338
308
289
274
283
387
320
347
339
240
379
267
401
324
272
314
322
283
390
343
327
311
316
304
261
350
324
291
306
280
341
366
332
344
273
257
395
317
343
332
371
385
247
291
392
328
324
328
324
330
305
437
315
334
279
338
273
276
292
368
258
353
234
263
323
294
338
197
339
256
319
343
322
345
351
361
318
312
287
312
284
378
301
274
271
273
360
339
312
320
334
337
231
211
396
359
302
350
384
292
351
267
287
348
356
378
371
314
295
319
344
299
194
354
252
417
332
261
342
318
355
276
301
333
291
339
330
275
325
339
216
334
324
266
329
328
326
320
306
247
391
222
362
302
269
300
344
361
333
406
310
287
356
307
274
320
293
284
371
363
352
317
302
287
284
299
317
387
280
292
336
314
311
324
313
345
382
269
249
344
306
340
319
241
305
285
263
333
197
318
288
323
370
277
291
352
370
317
392
290
324
407
210
283
310
281
320
365
250
320
325
356
258
297
295
293
326
365
282
361
314
309
319
274
319
339
351
334
398
339
370
363
381
247
273
315
315
359
383
379
387
377
291
346
327
344
360
294
292
304
279
296
350
308
293
290
363
290
318
299
303
303
332
341
266
366
440
342
348
319
318
296
263
306
287
303
233
402
320
321
346
331
379
218
326
278
370
314
335
292
328
293
388
246
371
262
326
326
235
347
333
236
349
310
270
308
352
211
313
284
290
324
278
273
299
315
287
401
352
324
344
344
307
359
335
192
332
309
312
339
338
284
318
296
363
318
368
305
324
399
340
317
322
317
280
319
286
339
360
357
269
303
328
283
350
306
366
333
326
325
360
373
276
365
317
347
320
273
312
313
332
300
234
306
350
324
323
312
343
224
368
304
359
282
356
296
355
371
336
321
280
356
282
339
243
289
232
327
324
336
291
333
398
332
255
321
346
286
295
360
266
323
390
253
256
286
302
324
307
312
297
305
267
336
312
335
312
303
318
257
351
318
327
326
255
368
364
275
308
340
296
305
398
333
359
288
341
333
346
206
275
311
277
305
385
255
278
359
278
345
313
360
326
317
249
329
321
312
271
320
336
357
296
290
364
335
379
313
339
329
361
272
337
269
325
253
407
234
326
291
259
338
375
293
325
364
250
336
295
334
354
283
276
329
341
294
330
229
318
247
287
346
340
285
250
266
253
313
344
328
278
417
313
340
347
302
332
310
300
225
299
327
381
334
321
365
343
372
304
199
343
263
277
295
388
224
327
239
253
373
388
289
318
340
298
367
322
247
365
360
330
307
370
272
354
328
365
257
291
306
302
403
285
323
311
351
349
358
285
321
316
362
301
354
333
267
292
301
239
306
273
318
387
411
366
226
339
357
199
332
267
339
411
369
330
306
263
364
302
286
345
315
297
304
303
330
304
331
331
286
353
309
269
261
300
391
302
359
351
239
324
304
357
374
328
281
306
402
366
367
342
323
321
351
312
283
251
357
338
385
280
303
293
323
367
339
220
349
321
303
379
215
311
394
350
312
311
294
377
336
403
317
207
311
368
329
349
343
247
308
356
384
255
366
336
239
303
335
276
226
299
304
331
279
244
294
363
339
333
337
316
331
312
291
317
340
273
294
327
333
334
319
273
237
215
316
297
270
328
182
272
284
296
266
316
269
341
368
364
311
298
300
302
313
392
309
289
296
343
269
304
329
237
278
292
324
317
357
378
359
289
331
322
252
319
407
291
236
388
256
353
356
371
382
343
321
342
311
311
283
291
242
296
313
289
313
424
316
312
352
286
285
308
288
376
332
353
380
315
288
416
312
243
322
376
341
418
302
431
312
282
329
315
289
332
237
338
352
332
409
318
342
288
305
350
351
350
284
395
357
372
210
429
359
261
356
291
364
326
370
367
302
362
323
334
285
360
270
303
260
421
401
297
261
391
352
251
321
378
289
367
309
313
291
299
406
349
309
345
353
340
334
226
330
290
339
312
374
221
277
340
262
334
315
313
382
333
374
357
255
400
303
307
322
252
309
292
292
291
266
281
313
335
358
327
345
308
320
228
315
338
298
379
293
260
279
249
363
340
386
366
278
263
308
287
314
311
342
265
314
396
335
343
318
298
315
281
274
370
374
263
377
361
356
314
358
263
301
318
316
335
315
342
287
356
363
336
331
407
202
300
361
348
321
333
371
316
383
375
309
347
216
268
362
368
284
332
255
446
325
349
346
357
328
317
346
368
254
353
341
146
275
321
335
345
350
294
384
321
338
287
347
343
223
356
423
284
331
310
354
328
394
349
338
332
311
345
243
385
380
307
337
333
287
321
188
294
282
246
341
377
311
300
366
349
321
321
312
323
317
354
303
355
314
239
427
268
320
288
241
329
285
328
324
231
215
376
340
302
293
348
276
300
370
301
207
246
302
341
385
375
269
331
323
311
371
294
308
273
284
430
311
280
299
358
323
270
382
317
313
313
327
329
376
271
265
296
379
324
288
341
388
287
323
382
323
353
316
283
373
301
395
296
322
373
275
388
330
287
292
309
327
366
391
296
331
371
304
338
378
298
321
330
234
358
340
413
229
356
381
290
374
308
275
373
276
390
383
314
335
345
366
278
302
363
333
306
356
318
276
262
358
261
318
299
355
338
234
298
282
346
352
286
251
371
335
296
425
286
301
386
303
313
318
293
285
277
286
294
269
373
270
313
267
354
376
270
295
246
345
401
202
286
285
356
261
312
405
320
332
374
276
236
326
277
357
329
351
372
292
328
386
336
281
239
266
391
326
299
399
306
326
347
301
314
349
310
322
309
350
286
289
330
211
273
222
280
358
263
389
359
334
268
292
348
314
265
288
296
330
386
296
382
340
415
387
291
350
315
337
373
289
277
285
337
342
263
321
274
344
290
315
328
354
347
246
285
330
384
252
345
284
288
365
298
334
314
231
352
344
272
339
278
306
281
281
400
350
316
306
358
255
369
235
391
344
322
310
270
334
351
239
305
387
301
240
276
250
266
375
270
418
335
228
383
326
257
359
369
299
370
302
419
298
292
346
299
234
227
243
330
355
275
279
349
352
288
300
326
288
317
290
295
299
370
334
243
329
384
285
255
328
300
289
343
312
414
298
336
256
309
305
314
371
312
309
305
357
234
313
303
415
392
339
292
348
387
382
369
307
389
220
381
279
263
301
306
429
382
360
341
354
289
283
295
329
294
375
373
327
300
328
300
307
387
340
370
343
271
299
360
312
375
365
305
355
344
331
381
349
348
268
283
245
349
334
341
256
265
298
281
337
288
319
243
414
315
246
314
306
370
305
341
282
273
313
333
313
311
299
329
353
264
377
386
347
366
285
302
342
278
404
367
326
357
382
321
327
366
239
330
328
315
301
310
352
293
328
346
381
308
275
300
313
263
293
280
361
364
282
307
314
277
345
206
434
344
325
313
388
313
310
368
316
317
302
264
385
308
284
295
305
253
226
329
248
345
338
324
225
357
416
313
355
347
309
359
356
323
347
220
276
375
349
297
339
288
242
323
272
248
310
400
367
402
271
318
360
327
302
288
372
291
300
317
276
297
328
285
316
333
325
350
281
285
351
362
320
299
286
234
414
306
268
288
400
272
259
336
315
341
208
353
282
185
298
307
323
247
340
395
366
304
313
275
369
333
220
242
335
245
285
303
334
327
299
329
276
365
272
347
272
351
264
322
351
346
339
273
393
357
314
314
317
334
312
330
298
384
293
375
367
357
251
335
280
258
406
323
276
321
373
380
258
295
297
252
299
242
357
247
314
318
278
345
386
327
352
309
314
241
257
316
254
286
325
307
317
359
362
242
333
350
323
277
367
371
309
290
319
320
341
362
242
359
349
262
293
293
369
275
305
396
343
351
342
355
354
247
345
365
342
386
270
345
351
300
316
375
323
285
285
293
287
381
451
309
301
362
324
241
287
332
341
286
303
349
352
261
294
287
319
406
296
294
290
332
268
327
333
319
298
312
290
288
339
320
345
388
340
361
256
295
339
305
358
354
318
343
333
311
394
312
329
324
246
220
336
354
345
377
316
307
247
327
369
317
350
299
367
280
301
334
345
315
256
285
319
290
328
327
361
429
297
308
279
279
333
251
323
377
299
275
386
345
357
357
290
292
322
326
344
264
281
341
326
277
361
295
358
357
266
394
293
324
335
382
285
335
279
310
353
296
295
381
337
381
211
324
367
278
371
312
316
382
319
375
348
266
249
330
321
324
336
282
311
330
290
351
299
366
233
240
300
405
387
279
242
310
340
306
215
342
359
339
316
330
393
336
288
300
254
317
350
292
357
338
318
327
357
364
328
305
389
268
345
253
300
357
344
359
354
356
270
270
306
200
340
328
259
261
300
341
387
334
345
346
309
344
239
270
386
359
434
379
229
284
253
349
273
306
314
349
251
415
400
350
302
241
262
339
280
298
398
283
366
410
401
336
379
282
336
323
377
297
321
312
337
312
330
389
349
295
343
287
325
339
333
433
418
266
360
369
289
316
294
348
392
298
322
323
214
323
281
352
227
344
319
408
377
293
310
266
396
215
357
313
276
307
271
371
314
318
332
269
341
330
187
297
355
311
288
298
307
315
330
264
310
265
316
259
265
304
333
344
230
272
259
225
237
389
222
348
267
329
329
273
342
370
388
309
371
363
265
270
299
372
405
398
307
326
358
295
265
309
240
281
221
305
227
327
277
300
285
375
396
395
359
295
291
296
337
273
301
346
369
287
319
278
283
314
310
271
345
332
321
342
238
310
376
285
253
309
311
239
264
341
259
357
287
279
324
398
275
319
342
269
291
399
374
300
304
249
340
294
287
257
370
299
340
309
373
297
246
327
290
368
283
245
325
331
355
283
272
320
249
293
365
353
313
345
293
348
405
360
254
386
358
277
330
424
272
280
361
325
266
329
283
347
319
349
337
284
291
343
314
321
326
338
411
364
301
350
380
384
315
322
365
302
368
260
322
320
265
409
353
322
363
223
316
286
301
411
236
334
305
331
318
290
330
358
346
270
376
278
301
243
240
255
397
229
355
323
349
292
354
273
349
364
281
357
388
375
326
298
291
297
286
384
320
330
302
368
287
277
278
265
386
324
339
320
366
251
372
366
299
269
324
295
321
363
240
341
379
306
317
226
331
317
274
337
397
334
394
212
288
350
186
279
353
294
293
256
455
277
308
347
347
408
306
301
291
316
268
317
267
376
362
249
198
283
244
375
320
339
358
423
298
366
322
291
253
313
354
301
371
358
397
272
327
336
289
345
384
275
307
376
290
313
371
294
407
293
240
312
322
310
341
300
207
359
316
332
337
352
339
292
365
369
272
292
245
272
229
309
416
346
297
332
372
280
316
325
331
208
343
319
353
241
325
252
326
316
314
303
431
395
307
314
319
276
280
244
271
348
281
311
284
254
356
376
329
279
305
352
303
282
374
323
272
374
329
429
389
341
281
356
286
335
277
313
228
282
285
239
396
274
287
358
301
369
335
344
228
329
280
364
273
261
272
411
371
349
283
305
368
293
372
247
261
366
373
266
262
314
302
250
325
273
316
331
375
298
341
291
284
395
317
285
339
414
294
276
273
365
276
281
274
386
243
306
368
294
301
225
386
379
295
246
366
334
309
340
267
384
366
343
346
231
312
348
297
341
275
343
315
359
329
289
323
302
341
294
302
343
289
286
337
318
317
262
368
299
326
324
309
388
347
384
273
375
312
272
358
310
385
325
377
352
333
309
383
224
359
298
398
336
381
311
330
250
242
350
255
301
313
181
295
362
308
459
273
324
339
396
322
340
221
331
302
352
279
271
290
250
340
312
284
308
304
356
292
345
293
263
388
345
301
368
309
368
270
311
341
223
202
306
310
348
376
351
303
337
288
354
293
256
294
342
377
259
358
346
361
279
302
304
388
280
309
340
302
285
305
288
267
360
195
294
281
288
298
308
317
248
273
363
378
300
281
239
378
280
278
334
352
326
358
280
340
263
239
281
270
370
333
385
282
364
360
387
355
329
285
406
368
314
355
316
375
283
217
294
327
277
298
279
363
275
314
273
242
320
290
327
340
272
331
359
273
328
371
368
252
370
307
422
290
368
250
389
385
328
338
254
400
359
348
289
350
402
226
377
315
350
399
441
298
347
337
345
418
394
336
264
301
357
312
320
367
318
361
331
267
387
380
360
389
307
316
352
370
283
306
307
367
291
358
376
317
365
286
329
334
332
306
308
317
299
285
324
285
361
374
291
267
384
356
270
259
316
299
305
310
315
374
384
321
328
355
232
233
330
301
329
311
281
311
277
344
334
314
326
332
331
338
384
350
344
317
322
266
295
337
397
293
334
271
365
280
363
373
298
313
350
359
269
285
359
382
314
276
308
212
300
294
268
311
298
371
357
289
327
328
325
349
378
248
315
284
253
312
411
289
339
276
241
321
366
276
355
323
314
342
354
382
354
319
214
395
294
361
336
299
310
289
368
343
277
263
330
275
352
303
322
362
342
359
287
342
200
253
274
230
352
368
294
313
256
288
313
284
273
332
295
298
262
318
296
272
233
327
284
282
309
348
277
236
396
327
306
284
346
382
228
266
339
332
357
308
302
347
322
293
302
417
271
266
304
354
252
263
320
295
259
297
201
302
349
268
343
164
364
348
402
328
307
341
275
352
306
232
285
412
318
380
268
243
411
272
286
340
322
252
245
319
261
314
303
345
345
251
368
357
299
348
418
261
273
340
346
333
349
222
343
291
301
360
314
387
364
356
288
376
238
426
320
326
305
287
342
395
286
389
345
318
363
336
328
395
293
371
304
377
296
344
280
334
292
304
308
353
327
257
320
339
311
297
297
301
293
308
291
378
349
350
313
348
358
260
283
275
318
358
265
250
339
326
316
340
301
285
320
304
323
305
399
278
281
228
293
319
289
308
407
268
329
280
322
244
326
321
343
310
345
248
387
386
333
356
261
254
399
325
283
334
263
423
297
336
352
238
336
327
324
322
294
303
296
337
285
362
325
279
264
295
266
284
303
299
276
316
315
324
338
350
291
307
318
370
251
362
333
327
233
456
244
279
384
341
225
278
313
296
295
351
342
326
319
349
272
236
365
273
316
423
319
239
303
307
294
329
318
324
361
284
301
331
350
409
361
358
295
287
266
287
393
333
317
302
323
266
277
343
298
288
274
327
251
310
357
331
271
321
299
324
399
256
267
350
335
235
304
243
223
253
286
340
326
284
338
305
334
247
336
342
331
330
269
237
329
348
211
274
295
314
298
394
329
232
335
285
294
280
258
286
334
307
307
394
294
231
369
258
318
281
303
314
372
331
326
266
322
281
218
287
306
324
251
329
259
351
282
268
376
320
287
244
357
258
367
214
363
368
312
298
295
297
290
299
394
285
260
318
279
323
340
330
300
393
266
363
290
423
395
296
345
290
373
416
262
299
369
364
335
347
260
342
309
271
286
354
342
310
296
355
296
344
330
280
262
296
270
335
385
307
377
360
233
283
308
312
237
285
344
424
307
289
283
339
386
255
263
350
325
336
353
225
341
362
278
293
309
297
297
401
377
398
342
291
298
324
311
314
289
357
387
337
342
322
354
366
331
322
282
330
387
326
236
333
336
307
224
399
309
277
395
283
348
266
320
300
364
327
312
317
369
282
320
290
283
248
237
360
275
365
392
292
294
254
348
273
305
359
318
383
285
358
267
316
307
285
343
308
347
296
285
289
239
332
282
374
268
262
347
353
286
261
324
373
349
359
346
385
315
199
260
246
415
340
299
312
301
329
314
242
392
282
247
342
323
329
228
339
286
424
240
333
309
303
296
305
277
305
298
317
176
338
317
289
349
375
352
233
373
321
328
295
351
310
367
344
294
280
255
325
318
258
367
244
320
262
340
325
337
363
307
358
246
355
296
349
348
396
288
329
305
293
251
276
264
352
350
370
383
395
375
341
297
339
342
391
314
261
302
343
361
284
341
442
283
272
357
316
300
335
339
343
324
290
276
305
290
341
288
230
334
363
283
325
286
299
327
300
328
296
369
343
297
308
389
255
297
316
362
331
273
301
304
292
335
281
366
341
319
361
347
339
312
341
276
343
297
290
370
322
386
253
357
370
306
276
316
347
379
334
253
367
348
311
219
346
322
387
273
329
365
255
291
319
370
293
306
390
282
340
285
303
344
328
290
281
285
362
314
397
383
315
283
305
333
239
310
299
298
370
264
352
291
404
294
268
259
346
269
303
276
309
356
289
301
275
353
345
365
332
330
315
313
312
199
327
239
232
385
278
285
315
256
340
266
291
322
386
346
337
285
236
406
314
314
282
340
377
336
299
319
255
303
371
246
342
329
350
276
180
364
269
324
266
363
278
347
244
352
219
337
339
271
335
290
263
433
289
335
326
287
321
353
404
298
263
290
227
269
282
274
333
353
267
349
313
300
332
249
332
353
271
304
294
315
273
373
323
371
309
295
271
304
272
337
347
366
304
303
320
293
397
327
352
294
283
297
422
272
272
337
378
216
314
299
254
335
345
330
278
301
282
298
319
308
342
350
331
267
380
293
357
343
371
415
343
331
267
337
277
275
332
345
227
336
392
283
331
335
364
373
370
256
374
364
263
277
347
317
338
304
259
257
339
344
296
329
375
236
339
361
367
317
311
301
349
320
326
338
300
329
290
377
276
355
254
313
238
330
291
329
255
353
338
379
266
365
258
344
273
338
339
299
291
332
306
285
369
384
325
261
251
355
253
332
240
285
366
313
261
236
379
281
332
320
381
390
258
296
286
282
347
350
325
303
329
318
379
333
229
343
336
216
337
279
277
270
287
391
327
365
388
360
287
303
348
318
294
229
329
342
335
357
239
330
336
291
330
265
282
237
273
352
391
293
401
341
277
305
221
374
293
275
323
324
398
311
280
307
260
308
269
360
340
339
368
316
351
346
385
364
231
216
287
375
304
323
308
324
320
307
349
357
305
266
287
314
359
315
255
388
321
333
288
366
272
319
360
395
321
301
314
266
380
250
351
236
227
293
387
348
302
375
311
308
267
236
352
347
285
362
439
289
350
345
297
270
296
318
362
239
318
390
339
337
343
318
326
326
423
322
294
317
360
246
416
358
358
249
234
283
264
291
302
382
280
360
267
305
386
341
235
297
268
296
359
315
284
296
302
365
165
247
350
289
345
369
359
320
258
285
282
358
324
356
303
292
276
348
244
171
373
295
326
291
343
304
294
302
299
323
393
322
263
332
375
293
236
406
322
281
381
292
283
382
292
373
273
325
301
289
339
303
233
309
387
327
315
305
327
352
326
360
378
316
328
403
337
334
297
329
388
316
256
346
266
259
262
369
319
333
337
248
267
275
332
366
350
397
326
335
334
311
320
306
289
412
383
347
327
322
259
260
357
280
293
300
364
252
372
366
294
250
270
275
302
331
263
344
346
340
307
279
264
342
238
271
354
264
331
320
285
426
342
389
291
285
344
349
279
392
340
275
412
241
327
272
348
289
310
260
350
369
229
380
366
334
246
254
300
260
269
307
301
320
301
418
323
243
258
296
304
272
388
372
371
329
260
323
315
325
323
331
327
320
282
290
305
378
311
297
261
313
287
305
256
361
322
337
327
307
362
381
307
337
322
328
384
301
346
313
293
285
309
390
252
311
258
303
328
281
295
260
280
364
323
376
377
300
260
396
249
335
342
289
350
344
302
234
386
409
338
372
311
259
257
316
251
216
341
282
253
333
285
418
285
328
300
381
359
319
280
322
252
354
232
397
296
306
283
310
398
298
414
227
261
279
343
227
350
303
344
331
290
389
365
332
332
308
290
352
331
303
339
281
256
382
355
324
363
389
262
389
296
336
293
229
428
415
357
268
341
282
293
317
352
263
235
315
367
347
261
209
326
354
324
429
335
269
312
293
404
375
322
311
290
369
295
364
230
304
330
377
326
269
226
385
282
320
320
324
284
346
379
256
370
313
347
286
348
277
308
321
255
252
375
250
321
268
262
376
322
368
301
250
288
331
315
349
377
304
294
372
339
294
311
228
348
329
271
415
290
348
337
336
328
333
315
306
282
290
364
326
331
335
194
254
372
318
344
298
324
340
274
283
382
372
329
303
369
280
293
315
329
325
302
277
297
274
338
360
295
319
246
312
336
257
302
284
337
336
391
305
413
375
324
337
351
326
349
346
310
337
337
352
268
347
361
330
271
273
308
248
318
279
313
306
340
331
322
330
277
286
413
288
349
315
349
280
387
229
320
287
265
326
408
352
302
293
372
301
335
229
265
236
239
331
331
289
330
266
301
395
327
369
317
314
276
239
255
281
369
368
243
331
235
314
329
290
350
273
330
351
263
333
307
368
278
244
407
297
293
291
332
294
352
356
292
341
414
359
319
339
309
362
321
336
328
364
302
347
290
280
341
335
334
388
357
247
329
299
382
356
313
308
301
366
238
311
281
382
334
255
274
376
328
384
265
396
320
382
303
294
340
282
387
292
346
275
321
287
335
254
360
269
344
352
358
342
250
292
293
304
333
279
276
285
223
320
322
327
308
252
296
318
411
283
348
281
339
377
325
328
356
386
360
321
298
292
326
349
336
300
325
230
241
366
298
237
308
337
321
303
343
359
344
274
314
360
341
336
326
333
357
369
241
355
285
378
362
305
298
344
367
288
316
359
396
247
266
334
305
255
270
325
226
282
281
265
268
321
302
357
318
423
290
315
291
300
267
325
372
314
308
304
295
279
379
349
283
364
352
404
300
320
251
385
240
303
344
318
313
264
342
275
251
326
366
284
208
327
281
341
337
294
288
298
277
347
329
321
297
361
271
307
343
295
308
323
391
264
333
227
324
371
303
253
339
319
390
342
396
297
422
331
315
346
280
312
359
299
265
335
232
285
304
286
310
389
366
236
358
264
298
296
346
346
299
408
248
244
368
250
356
230
326
311
314
277
268
279
256
317
383
260
270
309
258
284
363
349
305
318
345
298
325
235
269
312
353
247
403
353
313
357
315
345
364
251
288
281
370
346
339
303
300
320
256
308
410
335
274
371
389
289
323
380
320
274
310
374
331
293
362
360
218
333
353
276
267
367
350
304
280
344
322
284
325
281
254
326
336
320
349
338
276
387
364
329
293
350
289
360
388
224
370
281
339
337
320
329
294
355
289
238
396
315
225
309
334
268
294
313
351
239
343
325
305
280
275
348
346
238
244
283
280
299
267
267
343
370
345
270
328
266
281
401
329
305
317
232
370
217
324
260
308
308
269
285
334
302
309
329
268
336
318
337
370
356
314
330
375
340
276
298
357
385
290
373
256
361
330
332
330
257
330
366
264
305
371
297
405
373
342
321
322
285
316
320
314
348
367
309
387
352
337
263
302
330
255
367
347
345
344
316
320
364
291
290
361
299
322
300
246
267
361
249
318
317
283
330
236
262
296
369
328
255
269
269
418
231
343
269
370
333
339
306
331
255
375
337
318
304
315
350
362
318
326
366
271
323
243
249
297
287
289
252
306
282
279
283
276
284
332
321
262
356
309
297
319
346
268
317
286
382
407
367
395
390
343
367
361
373
305
296
263
370
321
317
241
349
330
299
366
309
412
342
292
278
297
211
322
244
318
368
340
423
319
340
293
369
309
301
368
275
321
407
245
322
280
333
249
306
330
270
243
338
257
373
298
321
312
322
227
275
314
335
356
241
326
268
399
318
413
248
327
356
377
323
268
366
329
327
248
284
314
324
287
354
370
291
332
361
309
306
298
368
307
255
293
346
243
249
257
298
292
309
401
341
293
341
375
235
281
287
263
288
407
323
298
354
305
210
318
349
277
208
408
300
358
338
343
334
356
241
297
350
355
302
295
390
350
352
307
322
366
421
284
287
293
389
375
304
293
326
291
402
273
323
363
355
367
364
388
321
321
337
254
353
326
304
325
306
355
251
356
314
269
361
319
385
268
197
299
250
341
230
286
268
352
287
348
243
343
345
362
342
352
228
394
365
387
274
327
310
239
296
358
376
311
356
362
276
331
287
367
385
363
284
396
339
373
184
330
395
304
355
392
294
265
251
351
288
330
290
380
300
348
317
348
370
346
241
295
350
332
369
362
226
312
365
323
318
318
339
311
302
329
331
339
299
282
333
339
332
367
337
359
369
361
354
345
278
382
359
201
342
324
364
347
332
281
311
353
342
321
360
389
346
290
369
266
375
296
313
236
255
236
407
306
283
318
270
354
275
248
335
336
205
303
334
321
397
293
278
367
373
310
340
260
294
323
247
314
336
225
279
286
238
336
300
311
267
402
317
218
283
283
323
244
349
370
388
334
369
246
229
350
306
289
293
281
333
327
364
302
326
297
303
362
290
309
354
329
334
341
325
267
334
319
309
315
364
403
361
300
295
337
274
323
331
327
370
390
354
285
322
347
296
304
344
384
317
394
255
311
354
363
404
317
271
348
400
333
293
288
241
323
390
283
338
347
349
318
299
345
316
298
312
283
344
345
294
348
290
273
292
259
303
302
253
375
266
345
336
347
272
309
362
274
295
298
392
345
308
401
345
330
302
357
307
316
301
354
293
376
307
235
268
259
422
396
295
363
395
237
367
250
236
296
333
350
297
303
321
348
343
324
309
294
304
260
326
313
350
284
262
322
283
362
261
296
298
275
330
278
288
322
413
335
329
332
321
292
358
396
341
352
340
320
344
330
297
294
259
290
395
328
317
331
320
321
310
314
269
336
291
372
269
318
274
270
282
304
334
296
318
362
304
369
388
383
263
311
316
355
415
318
400
281
274
334
285
262
359
346
284
308
354
300
285
362
283
300
332
260
406
300
252
204
304
256
331
373
360
242
339
336
275
367
330
277
197
327
376
335
285
382
349
284
303
319
276
311
351
373
380
293
345
350
368
305
226
176
338
327
363
308
310
257
329
303
375
291
252
327
376
252
199
356
331
330
377
318
302
400
272
348
284
310
317
351
302
346
401
362
380
371
322
369
340
298
325
307
302
374
314
361
339
328
267
288
299
369
253
329
356
303
259
356
305
278
282
323
295
294
359
136
392
354
349
324
391
282
288
336
307
273
273
282
314
361
314
254
275
365
280
265
316
353
344
291
236
295
270
315
305
285
223
344
373
228
270
278
372
248
322
316
306
203
354
331
357
350
342
217
372
328
357
233
343
302
295
264
343
311
321
291
240
304
226
344
238
257
329
305
265
311
367
234
399
326
361
392
271
313
304
315
382
309
302
314
435
321
325
273
371
352
271
286
358
383
361
305
335
303
373
332
301
366
287
325
324
384
358
335
216
305
345
305
316
319
240
337
333
314
399
283
247
242
251
287
343
309
368
333
287
313
352
344
374
321
331
399
253
380
335
318
300
347
324
359
350
325
355
322
369
277
372
375
336
324
359
362
334
294
309
250
307
328
331
267
296
306
311
376
363
350
303
286
356
381
342
414
332
286
302
291
312
273
336
326
250
322
367
346
339
227
372
452
364
360
331
272
278
324
382
268
398
335
224
335
300
362
294
346
356
401
273
316
354
317
241
430
321
303
314
337
278
380
360
298
260
408
388
380
319
303
358
219
250
231
307
324
224
291
268
359
256
345
379
252
314
285
291
379
332
329
328
298
289
327
345
320
258
282
345
349
316
329
289
318
272
306
255
376
346
289
356
391
222
411
208
420
349
189
358
316
308
368
344
341
287
368
342
317
306
335
305
330
293
330
255
331
342
357
284
314
257
267
247
322
386
330
338
409
302
318
361
289
387
278
217
296
349
286
322
337
276
255
334
332
418
326
427
202
319
362
428
320
361
311
319
367
325
325
294
373
263
318
347
354
269
268
274
368
289
407
259
312
385
308
255
314
313
337
268
359
314
361
322
376
346
263
358
332
333
338
308
366
316
289
314
307
284
288
324
286
293
272
248
305
326
330
291
279
310
334
290
275
225
316
339
333
341
322
321
271
328
342
399
349
298
278
347
292
373
357
284
328
307
287
334
329
344
364
305
313
284
354
331
284
272
314
275
329
336
339
253
324
284
341
281
310
350
288
359
223
363
355
293
260
331
347
253
254
283
311
360
313
286
329
319
321
353
290
289
377
302
229
445
372
352
383
384
323
367
346
306
295
346
391
358
320
345
280
324
410
297
250
378
337
398
331
352
256
330
252
320
301
290
359
301
279
429
266
370
333
315
290
274
332
356
300
301
296
333
294
365
341
250
371
307
302
378
370
365
231
294
319
292
360
318
320
319
276
264
272
274
389
300
345
281
333
343
329
373
322
342
254
225
305
303
271
254
331
322
357
343
420
369
354
310
388
313
289
281
232
355
287
303
360
313
390
287
358
308
306
310
363
349
368
336
291
332
332
341
323
355
306
305
322
316
325
350
300
339
377
315
349
271
301
279
214
255
342
294
287
403
331
287
435
305
317
330
333
343
417
301
392
300
371
333
285
312
349
379
388
294
343
294
291
356
320
172
264
323
270
306
274
338
230
294
317
411
347
323
376
373
359
260
321
337
262
209
306
277
284
335
272
330
343
325
314
410
411
359
365
266
260
355
312
330
415
301
344
321
278
262
319
349
268
376
302
265
314
257
294
280
297
301
412
372
332
342
239
194
273
270
323
354
408
449
304
313
309
318
314
328
266
243
218
327
334
392
310
375
315
367
296
396
322
316
311
325
338
297
319
278
325
370
311
304
328
355
251
249
349
251
290
342
330
341
260
298
377
432
318
284
256
279
256
338
342
329
314
320
264
349
380
337
261
293
308
285
342
385
384
276
280
281
281
279
285
389
277
297
286
312
368
379
294
306
326
293
327
337
294
299
329
306
390
328
278
324
298
368
362
256
343
323
386
319
380
367
377
288
249
283
286
272
283
299
296
388
339
284
293
425
310
309
291
285
298
399
336
249
275
400
310
322
377
271
275
265
357
258
275
286
200
331
323
386
240
352
286
433
265
323
269
307
365
326
314
269
252
331
351
286
320
357
331
294
248
315
247
358
327
237
292
267
339
292
273
306
313
341
332
247
272
335
322
303
304
370
391
246
318
300
334
322
314
375
322
267
290
352
393
310
269
384
284
246
314
271
239
341
349
338
355
320
265
331
241
247
214
306
329
338
235
347
320
358
298
333
248
363
334
314
332
230
269
317
244
400
339
305
289
277
275
356
339
318
233
268
270
244
351
258
344
397
336
375
342
240
279
319
314
282
294
388
289
310
354
348
356
302
338
355
339
211
304
342
281
338
323
320
296
271
327
310
271
414
271
335
329
295
237
348
325
361
381
266
310
283
285
303
317
324
285
357
355
343
347
400
313
345
343
312
271
409
313
353
350
369
283
288
278
306
241
266
241
319
351
343
301
321
357
292
303
309
325
329
282
358
251
324
319
265
363
294
340
314
269
348
275
359
333
264
232
255
384
318
334
314
336
382
348
403
370
345
303
352
276
332
269
428
331
313
278
223
337
297
245
296
323
311
313
245
256
328
405
280
328
326
302
349
349
331
365
332
271
299
203
392
276
290
322
324
311
379
345
259
278
354
354
311
337
323
315
298
352
268
324
354
237
366
300
314
291
284
373
346
296
217
253
316
359
293
323
302
339
292
249
364
359
379
365
355
367
365
303
281
241
415
355
331
337
323
342
249
349
381
301
412
335
252
376
345
347
357
312
291
344
352
297
257
327
316
385
368
395
360
302
354
390
242
356
358
277
255
377
265
357
255
320
327
304
333
324
276
237
361
250
322
290
337
374
287
305
336
278
360
366
252
298
285
259
365
251
311
386
281
399
322
301
310
385
324
329
323
337
293
350
344
349
324
318
331
273
233
287
383
305
375
356
383
359
263
330
360
299
352
291
171
316
341
306
269
321
267
419
298
281
310
309
309
399
337
312
407
304
346
261
315
235
371
288
317
389
295
343
335
325
363
300
282
255
319
330
349
325
268
307
354
184
191
409
316
355
362
353
254
299
401
251
355
344
181
346
291
286
276
263
306
356
322
308
321
372
304
319
291
233
301
293
340
251
335
347
347
302
294
282
268
263
326
242
347
361
362
290
329
343
286
406
278
347
376
211
354
260
252
354
294
397
328
326
321
321
308
259
369
369
347
308
272
334
245
353
275
359
269
307
384
281
307
349
368
295
288
363
308
220
286
395
316
335
250
300
334
299
323
309
341
311
279
315
374
357
271
396
368
233
257
377
336
324
338
353
286
322
357
293
315
325
387
304
295
262
223
314
303
310
307
338
255
279
360
289
309
275
302
286
319
325
277
324
348
342
334
308
286
299
409
407
348
188
384
302
400
338
211
281
275
334
326
332
321
373
328
254
327
337
357
311
403
373
400
377
323
314
328
286
363
335
340
310
379
394
339
301
345
387
333
297
257
257
261
314
354
307
322
255
345
428
294
382
332
356
320
346
277
320
352
277
287
331
312
263
341
430
323
317
283
309
263
334
365
305
370
437
271
321
254
357
338
367
385
287
371
314
313
329
313
344
349
342
362
220
303
290
350
320
316
337
379
388
258
385
358
329
307
325
308
335
343
326
393
341
355
357
272
352
292
276
379
402
319
225
400
334
335
357
306
256
279
277
322
238
322
305
370
334
294
285
371
332
302
308
339
361
331
313
261
350
308
324
266
305
346
261
245
299
356
301
296
335
381
340
321
336
392
267
244
343
377
265
362
315
350
354
234
330
277
327
393
383
330
354
278
293
384
327
347
292
314
344
288
271
299
251
218
277
353
318
276
291
194
326
292
278
357
348
375
301
275
325
273
397
268
258
329
286
290
374
267
324
294
359
343
260
288
284
298
384
314
398
194
313
293
339
317
344
367
268
265
365
246
275
355
347
329
291
385
225
248
303
342
302
332
339
330
339
299
325
250
340
322
280
333
354
302
292
368
339
313
289
323
329
342
282
260
327
286
381
338
322
296
368
214
304
253
355
290
317
308
277
302
296
343
278
310
326
258
364
343
314
333
375
355
338
255
251
313
353
354
251
357
325
232
298
358
300
218
431
323
352
364
227
312
353
350
350
380
301
265
373
328
379
271
281
341
330
331
290
290
269
283
398
353
371
325
262
285
285
342
290
239
315
232
279
250
342
284
292
377
318
388
298
294
261
302
261
253
237
307
210
293
352
301
447
301
328
282
298
308
223
289
248
356
255
384
304
302
394
316
374
390
316
332
328
340
316
309
294
370
333
293
394
341
264
296
248
258
313
247
288
336
397
351
219
303
219
322
369
252
259
354
333
300
318
296
288
379
326
328
283
285
335
253
378
397
326
316
275
339
319
236
276
347
240
364
357
413
300
322
303
234
265
275
289
324
388
316
283
287
303
280
318
268
394
405
357
324
386
321
309
391
319
365
331
318
343
318
317
348
312
322
253
353
307
386
412
361
345
318
390
361
340
185
322
302
370
182
279
311
283
338
319
362
303
256
305
303
346
351
325
334
337
309
384
316
366
318
392
420
310
394
367
385
303
320
335
338
239
356
301
325
347
406
363
308
335
288
315
351
335
254
419
285
323
206
325
345
282
275
282
364
326
279
201
306
363
252
328
297
357
245
261
272
303
296
297
337
246
263
218
221
271
308
338
311
296
342
345
314
304
417
311
333
343
395
345
262
316
297
335
387
258
336
344
273
311
367
255
316
289
304
313
355
328
367
323
350
403
257
370
321
267
304
352
348
277
266
301
296
330
359
398
322
342
357
361
297
313
286
288
294
295
243
306
242
358
341
355
342
371
375
280
297
310
222
332
291
308
380
301
288
233
302
335
303
374
238
355
363
279
311
232
394
312
367
372
324
358
233
366
320
328
392
302
347
342
401
341
357
272
332
320
408
246
347
285
356
312
316
320
395
320
320
273
314
306
272
354
239
289
254
377
280
301
357
355
286
306
364
375
279
291
405
292
310
286
252
322
279
371
270
249
342
282
292
307
381
274
410
303
253
402
237
299
302
329
282
331
304
297
320
370
312
323
224
360
317
301
399
345
299
348
367
276
288
334
341
277
289
414
374
315
361
317
237
332
317
398
345
307
326
366
361
291
382
325
291
292
347
302
372
338
304
287
226
334
429
377
376
246
297
293
288
403
328
343
354
293
319
330
298
316
343
373
293
308
295
317
320
314
316
262
233
335
273
315
232
317
329
313
354
245
286
357
245
252
322
292
376
314
337
229
310
258
356
266
346
291
364
275
336
219
303
367
354
357
317
381
325
306
318
313
324
394
292
398
271
362
353
226
238
319
302
319
251
364
399
299
252
299
259
347
292
310
348
364
338
311
382
293
404
334
294
288
411
390
301
361
280
300
330
385
336
356
288
359
223
251
248
280
331
254
365
428
334
286
333
331
318
295
317
338
299
301
336
333
355
376
187
265
282
278
367
389
281
393
321
265
331
340
378
357
330
339
349
348
326
237
351
367
350
381
362
347
278
307
337
364
336
314
325
377
283
297
305
164
307
345
259
331
329
354
326
263
233
323
191
337
328
379
274
341
261
358
264
296
302
369
330
376
309
250
283
348
332
312
344
326
381
276
338
330
307
326
306
355
250
394
299
353
266
357
290
360
376
294
363
333
264
262
381
356
330
336
332
323
261
309
283
293
257
286
268
332
349
307
392
296
276
343
329
330
422
386
342
332
260
294
381
294
291
375
376
230
304
335
350
337
336
326
328
339
334
349
285
250
383
360
339
373
351
343
304
353
297
394
237
349
368
331
352
297
273
348
311
359
284
312
291
336
273
272
393
279
397
263
277
320
368
372
339
396
308
340
364
346
364
290
274
262
331
387
354
327
327
243
242
291
288
186
229
334
399
318
243
343
277
398
322
353
295
262
262
320
326
342
265
362
320
400
317
247
284
330
314
340
280
309
271
349
276
322
327
240
268
272
277
366
237
317
349
348
297
332
362
297
330
352
373
282
321
373
229
373
310
263
404
272
253
437
355
343
267
329
295
340
350
322
375
327
384
320
258
289
269
268
343
340
270
358
295
284
341
298
285
227
394
300
342
363
268
244
271
359
316
288
356
383
288
295
295
266
346
377
372
278
288
256
298
325
308
387
319
339
338
312
361
367
360
339
254
227
278
311
342
334
332
316
299
281
294
291
342
287
409
278
277
291
355
295
317
279
348
331
382
315
269
349
357
392
317
306
341
273
284
350
309
261
260
310
268
289
213
291
305
304
352
308
240
300
339
244
359
354
268
305
311
263
336
257
351
296
345
315
253
317
348
329
355
279
264
390
292
259
249
313
344
303
359
291
349
386
386
275
313
357
324
391
257
327
337
324
331
335
297
398
247
247
331
353
310
322
281
334
302
300
275
377
284
303
256
273
301
300
303
361
323
336
339
259
213
380
352
318
277
312
282
336
277
275
353
345
352
394
277
316
367
343
318
282
337
369
357
269
304
331
389
393
308
273
249
310
365
310
293
332
379
270
354
356
357
337
322
309
237
287
266
354
313
248
274
286
286
375
288
350
361
316
268
366
261
336
357
233
254
357
317
370
205
385
333
359
276
268
361
333
296
329
298
305
404
359
378
266
338
375
370
330
305
280
345
294
235
327
363
304
363
314
315
254
296
370
347
358
280
367
307
299
314
370
325
325
339
293
311
316
301
334
269
321
296
326
366
353
324
303
371
313
260
362
348
320
400
286
409
361
298
338
280
385
318
362
292
282
291
263
360
298
264
342
327
324
322
382
341
295
300
326
306
316
350
315
379
338
379
223
273
323
310
339
277
268
334
302
301
327
276
381
236
266
336
425
331
377
291
288
384
244
324
318
259
282
366
300
212
313
308
290
382
361
289
223
258
293
365
375
272
373
356
347
353
245
295
336
342
273
338
209
311
274
262
322
312
362
266
407
290
288
328
327
297
394
390
347
348
338
278
333
323
231
356
314
420
256
262
327
347
319
362
271
364
343
274
349
296
288
272
307
295
360
298
308
324
366
275
308
332
255
367
329
278
296
207
337
285
311
327
326
363
313
295
314
328
268
284
234
316
331
317
392
351
375
389
357
359
281
274
252
274
342
286
309
296
302
342
315
289
327
235
333
269
354
332
282
335
316
350
350
335
288
303
260
354
332
313
304
277
280
343
345
261
376
302
358
413
252
244
315
262
318
352
353
400
360
342
294
270
353
409
316
366
309
338
296
309
263
313
209
294
389
240
295
315
282
342
370
237
271
334
327
301
379
312
376
280
347
343
295
334
289
314
272
299
267
335
306
293
323
270
307
299
335
264
357
321
283
272
266
332
273
375
327
279
275
288
285
269
347
343
342
334
370
250
324
342
308
320
314
304
335
367
395
357
319
250
374
367
273
441
315
362
296
299
356
373
333
301
373
360
341
316
292
284
367
400
366
295
377
261
342
284
270
241
325
387
292
296
351
398
339
306
306
396
257
254
244
236
159
305
217
284
382
272
410
375
354
286
319
174
245
346
333
251
327
278
385
345
358
363
305
212
249
266
281
290
198
349
340
357
278
334
305
363
336
285
297
352
299
262
266
316
394
275
389
215
354
311
233
308
279
313
329
283
321
282
325
344
350
271
333
306
326
267
374
368
358
254
278
317
399
379
329
313
389
308
237
215
345
350
326
259
356
264
330
378
354
386
298
353
277
357
298
318
294
221
366
308
323
331
291
299
359
270
323
304
334
391
247
298
332
346
345
273
280
295
251
231
287
251
242
285
282
308
287
264
266
402
417
334
333
390
374
287
355
271
261
257
291
304
262
403
281
321
332
334
276
377
337
345
359
287
267
335
328
252
279
377
369
339
323
346
406
324
323
351
236
278
342
268
359
311
272
392
291
303
292
344
275
254
242
392
320
260
272
319
351
387
228
335
270
301
287
258
381
314
342
283
394
276
323
262
409
318
303
333
294
315
307
321
330
246
285
267
328
328
191
317
320
248
377
429
369
239
274
342
355
321
315
245
407
326
385
326
252
361
399
373
332
345
343
390
323
344
325
336
345
269
345
279
280
311
270
281
331
319
258
408
318
336
314
342
237
382
311
287
234
415
369
366
352
344
279
361
268
356
371
285
283
346
350
333
289
293
300
298
338
273
297
300
353
329
403
308
254
289
304
367
374
340
237
299
330
330
270
219
247
326
364
327
306
323
383
350
363
405
336
309
286
299
284
350
278
366
254
351
345
360
328
410
264
324
280
334
308
376
262
342
264
289
285
371
316
284
270
288
289
276
397
399
282
275
285
308
330
316
312
382
234
306
302
309
333
356
330
289
299
289
294
394
307
286
235
402
362
328
311
188
329
339
387
280
367
371
348
321
307
360
281
302
335
277
355
241
302
336
293
344
245
283
297
316
330
302
320
302
379
311
291
342
368
291
366
343
326
393
311
286
288
262
389
261
308
299
232
301
275
327
288
309
351
350
279
367
237
358
278
308
328
333
370
356
284
337
356
275
400
357
352
295
319
276
255
276
366
352
253
349
346
359
281
256
363
311
291
308
290
288
297
278
341
311
302
288
329
243
289
253
309
396
320
282
237
260
331
303
361
302
335
324
277
269
267
315
332
316
339
309
318
259
338
384
237
254
288
363
394
363
286
405
263
267
286
279
345
317
285
329
267
310
291
409
333
327
282
366
284
317
295
345
324
284
349
322
345
272
341
326
365
287
281
319
324
235
282
313
304
261
316
352
299
324
305
303
263
300
337
281
296
218
346
312
216
324
280
189
303
253
309
343
416
343
351
297
310
278
287
359
351
323
357
359
399
353
268
289
317
254
309
346
396
346
264
321
264
239
354
264
320
251
297
396
416
390
272
321
331
333
229
302
323
363
301
320
349
264
270
255
370
373
283
329
406
229
270
426
263
327
351
253
398
370
389
344
353
349
306
327
251
329
279
388
403
306
333
354
310
327
347
279
296
333
330
326
269
293
327
300
379
264
304
318
330
388
373
331
388
366
350
242
333
348
296
247
329
322
287
345
292
321
348
337
295
269
356
320
406
328
286
366
324
318
350
363
250
335
274
332
294
341
317
317
267
366
324
357
295
356
398
315
373
347
303
306
295
276
247
321
188
370
270
399
312
283
414
330
322
314
270
344
317
357
271
263
292
380
294
300
285
317
279
349
329
369
282
336
308
277
307
313
333
342
290
328
247
312
351
365
275
351
386
294
304
256
396
355
321
334
327
305
344
325
320
325
238
322
239
331
349
359
259
233
360
188
265
311
280
357
246
264
399
370
310
353
238
258
277
280
270
303
319
322
376
328
363
294
341
292
283
346
368
359
396
356
181
336
368
288
312
253
368
279
344
329
297
303
325
277
354
283
300
285
280
287
300
335
288
282
343
301
326
298
278
300
320
311
301
237
353
352
329
305
309
341
354
368
269
294
313
248
337
290
352
318
245
356
285
324
311
428
318
274
354
268
388
379
260
349
365
230
314
405
307
264
261
365
349
327
327
316
293
291
341
351
293
207
311
255
312
268
279
357
319
363
286
300
313
318
333
340
315
263
323
321
326
328
318
257
361
266
388
419
322
361
333
313
367
246
265
313
254
297
238
338
314
324
264
336
304
249
325
355
245
350
285
296
360
322
238
289
359
267
346
309
241
332
357
270
272
269
321
388
288
269
329
352
354
356
327
253
273
315
222
285
250
260
404
329
331
331
303
304
297
343
369
319
314
297
280
281
314
279
286
350
194
370
369
342
284
317
445
291
251
361
334
384
350
296
275
257
269
365
305
356
320
345
366
253
340
339
309
266
374
318
227
363
320
251
294
251
301
424
292
266
318
331
270
311
281
279
334
352
319
319
413
307
386
310
374
357
396
297
398
287
306
296
248
418
361
243
368
289
331
331
262
333
397
374
289
324
329
310
284
321
301
273
348
369
357
192
296
366
326
315
334
293
385
308
352
303
311
257
310
318
371
370
359
313
336
304
279
335
295
304
349
295
227
318
356
302
350
354
201
326
351
305
286
345
351
287
307
359
337
286
284
257
330
308
329
250
285
301
356
328
290
248
302
299
293
360
272
294
389
311
309
275
387
331
290
278
269
328
301
256
355
303
228
350
217
260
314
346
303
306
281
297
281
308
413
332
304
312
350
355
264
335
261
280
280
281
381
290
310
281
350
312
314
376
294
312
259
293
332
285
334
367
290
310
314
320
280
327
365
331
238
349
219
345
372
340
352
261
256
242
236
295
295
364
327
305
397
244
331
320
322
228
409
279
315
295
303
296
334
368
302
235
376
342
360
376
332
350
335
258
266
313
323
371
327
203
421
268
242
340
385
341
346
299
277
388
304
327
361
387
394
324
275
332
348
324
328
303
353
274
357
312
331
302
332
297
311
296
310
298
258
371
307
252
305
307
346
274
319
336
295
350
272
296
304
325
304
354
364
360
285
294
342
280
334
348
402
341
316
303
364
374
318
291
284
351
340
328
286
340
289
321
255
384
391
306
340
265
271
319
266
304
226
397
205
355
337
289
287
311
334
249
338
314
319
399
307
313
380
309
358
312
272
341
380
300
244
299
322
318
357
315
386
341
293
340
279
312
383
301
240
329
396
343
370
321
341
327
362
270
346
321
374
325
353
362
320
256
330
346
229
305
359
370
343
260
302
315
378
402
317
358
333
286
346
318
255
404
263
278
334
305
303
376
286
404
273
353
360
345
291
303
341
345
341
341
344
370
308
302
339
305
309
236
334
339
306
335
239
274
319
348
278
304
338
213
295
357
263
306
287
304
333
283
234
308
307
367
239
336
369
296
383
382
285
242
311
262
266
315
333
383
339
348
234
359
411
303
368
351
369
305
266
292
346
285
298
326
237
334
309
214
290
272
251
365
381
304
365
335
386
333
344
235
330
315
277
335
295
331
261
303
393
321
398
358
330
278
375
309
311
316
273
340
292
308
383
268
287
325
310
240
348
362
335
404
226
253
296
258
292
320
351
314
396
421
245
310
276
351
318
216
365
342
273
286
315
362
319
323
397
291
324
307
269
288
339
329
375
365
312
358
357
311
261
292
286
342
360
310
342
345
303
438
378
305
287
306
346
227
256
343
307
356
273
353
335
298
335
307
315
306
335
368
283
267
310
360
317
287
315
303
357
270
274
300
279
256
348
251
305
282
329
342
333
293
367
236
337
227
320
427
306
363
288
379
273
280
338
346
320
331
293
312
276
339
355
342
328
291
334
344
312
303
275
299
378
323
273
321
337
344
250
286
378
306
273
337
359
358
324
325
330
286
296
218
322
237
256
257
302
283
392
269
260
344
354
260
249
286
402
327
299
296
362
273
319
298
349
391
324
361
342
350
275
319
329
329
318
341
279
342
372
264
296
326
280
272
353
254
357
292
347
341
327
260
300
320
346
268
297
227
356
306
306
328
399
355
282
282
279
399
316
345
302
382
310
297
296
272
287
363
346
385
314
334
250
281
304
369
254
329
342
323
263
317
328
311
257
297
349
254
363
395
296
340
353
299
314
340
262
224
314
307
365
276
239
296
384
215
351
315
317
273
300
338
303
311
328
251
334
363
343
367
274
326
370
303
313
269
408
326
329
201
383
327
325
268
340
275
317
342
220
316
338
338
251
311
273
288
293
296
261
289
340
330
339
287
319
254
333
365
401
240
341
333
275
244
372
260
383
292
363
292
323
292
289
328
270
390
303
358
351
266
265
350
405
290
337
359
283
320
395
316
235
400
391
273
304
343
288
264
270
278
280
338
304
352
349
272
305
356
346
310
273
285
286
330
395
329
358
247
308
303
316
324
396
330
317
324
291
364
299
247
332
322
364
301
333
387
301
393
304
387
349
349
374
328
371
346
281
334
312
302
329
348
227
329
267
345
251
404
303
169
333
334
391
328
282
285
371
365
358
288
362
271
314
348
348
234
255
346
350
318
239
345
242
379
268
379
362
354
362
311
358
414
315
268
286
254
285
325
382
267
356
301
336
346
211
278
253
291
324
405
357
305
342
313
153
314
251
322
361
253
334
354
338
225
298
386
278
284
276
287
305
335
281
269
267
279
305
332
377
312
285
314
392
328
215
246
325
351
328
300
402
357
295
377
355
291
242
336
270
391
342
309
400
230
370
297
287
230
320
333
263
321
298
330
411
293
272
400
268
288
272
301
306
328
229
303
326
290
339
348
322
385
227
315
355
290
335
334
350
277
416
310
384
332
313
255
392
322
357
323
329
327
313
238
311
286
341
246
316
281
268
280
331
298
296
276
371
318
369
414
336
330
266
308
382
271
341
339
406
269
335
300
339
314
363
367
250
247
330
319
182
308
374
333
232
321
292
281
223
343
330
333
351
343
317
297
311
238
251
317
350
202
321
329
342
365
318
339
271
262
350
305
282
378
341
334
325
317
381
233
269
307
338
287
370
315
365
296
340
307
300
331
321
330
320
422
324
241
326
396
344
361
274
307
400
318
308
282
320
290
322
352
342
256
364
200
381
265
260
351
308
228
309
264
302
303
264
391
356
313
311
356
361
332
285
275
251
287
273
300
329
260
343
341
296
353
311
371
311
312
392
415
311
306
264
331
317
273
298
324
372
333
377
362
312
410
308
331
300
408
288
265
321
341
332
287
339
270
289
399
352
282
297
283
297
371
326
330
326
308
400
324
153
343
249
349
352
336
305
329
293
305
279
261
325
287
282
299
300
294
361
357
398
293
300
381
358
370
306
374
363
276
379
354
259
316
313
267
261
348
394
305
293
340
284
169
346
298
355
354
300
340
364
365
341
309
323
380
246
326
266
289
267
411
284
276
311
282
298
350
317
368
374
337
314
293
335
335
353
301
329
289
298
385
281
364
340
260
353
368
285
278
264
373
297
359
336
246
383
337
275
349
320
338
285
397
298
278
331
359
286
305
281
287
346
339
320
351
330
248
277
337
360
275
288
325
365
360
305
384
267
319
356
386
330
285
344
270
360
345
347
372
333
333
378
241
301
382
382
263
299
279
343
346
350
302
344
313
227
291
250
363
314
381
365
322
254
324
363
294
279
359
365
390
385
427
290
346
368
270
338
150
319
341
305
288
354
368
286
340
352
304
320
351
288
317
269
349
403
281
280
315
268
305
326
333
358
377
271
314
350
276
326
330
330
349
277
310
358
334
284
326
238
285
349
338
336
304
374
350
299
355
333
368
286
346
249
236
381
272
325
342
261
369
293
255
305
314
322
325
276
307
218
310
349
204
310
264
236
331
333
418
315
322
266
342
340
285
254
312
257
267
323
352
248
314
298
249
200
388
333
268
234
268
325
291
371
306
333
273
257
249
315
280
310
251
325
298
299
286
381
330
245
338
311
319
338
303
263
277
324
296
315
291
284
289
311
311
246
218
357
295
354
374
284
269
313
290
280
373
351
277
237
345
393
334
349
256
286
235
290
272
286
326
350
262
325
340
377
345
388
325
210
337
309
309
337
290
306
291
353
299
409
266
331
300
315
332
359
398
326
321
354
220
276
347
354
288
288
286
336
290
284
289
326
279
333
247
272
312
219
283
273
375
322
261
220
363
326
311
296
246
275
292
416
351
358
302
414
213
355
329
317
380
339
350
316
253
364
390
371
349
367
293
380
290
244
304
292
286
277
285
316
332
320
294
324
227
301
172
345
301
357
268
375
293
294
326
325
293
298
294
376
354
338
217
356
270
340
356
298
294
359
369
308
340
309
339
310
338
315
355
374
319
356
352
304
238
296
295
374
275
332
212
322
181
247
333
267
331
345
254
329
295
267
401
301
258
375
291
308
386
346
307
364
346
328
287
375
304
275
368
278
352
199
375
293
324
321
350
297
341
332
371
298
271
292
276
298
330
305
266
303
259
357
317
355
375
361
357
314
267
308
292
365
321
369
358
234
298
378
360
199
374
373
357
303
383
255
285
302
348
354
281
268
410
402
351
280
379
373
251
354
359
307
295
210
337
351
350
262
227
243
304
312
391
365
268
357
283
260
307
370
265
320
275
290
312
242
343
356
229
346
359
256
319
318
255
324
323
199
381
386
256
364
285
303
367
300
235
306
366
293
250
276
314
263
354
343
303
258
128
320
273
298
349
378
245
292
290
310
308
324
329
336
316
349
304
269
305
283
323
312
294
307
290
410
331
249
323
295
297
344
193
335
335
283
206
393
287
256
384
333
340
248
314
358
228
305
254
375
271
301
298
379
257
230
337
308
345
259
347
285
310
313
324
313
259
333
317
246
306
305
356
241
298
189
352
286
313
349
286
327
266
224
367
303
367
335
233
360
351
358
248
220
341
330
354
286
308
310
315
326
395
366
395
327
372
350
361
324
278
281
250
306
337
240
305
278
415
332
366
304
294
390
280
299
317
373
382
302
405
266
361
265
259
341
245
332
284
310
291
305
334
277
360
362
331
329
251
410
364
290
287
232
304
373
319
321
340
328
421
270
286
295
344
255
296
325
384
271
277
325
355
295
330
350
255
335
348
294
435
332
333
343
378
309
256
279
355
314
306
340
283
303
363
341
365
274
242
274
365
258
350
357
274
372
216
335
325
359
368
348
297
266
291
354
323
353
300
390
254
263
324
390
321
309
274
299
315
366
205
315
352
294
351
314
319
371
366
210
322
321
333
430
408
362
327
320
338
274
347
309
293
319
378
362
288
314
316
339
310
361
330
210
327
400
313
469
357
351
359
288
344
296
246
289
362
371
310
366
304
300
381
251
270
340
373
341
351
360
280
345
277
354
279
345
346
301
293
310
350
316
322
371
342
286
336
299
214
358
361
283
349
344
358
301
354
290
309
339
292
312
273
284
376
292
391
300
340
355
356
374
305
346
331
402
365
315
327
379
378
335
329
369
403
307
308
401
286
251
275
400
392
309
349
376
367
367
232
272
336
303
293
328
369
257
413
231
403
293
243
294
311
253
357
290
343
332
273
309
230
243
293
357
284
288
265
362
348
278
315
336
277
337
310
325
314
256
320
322
385
358
357
274
296
353
359
315
269
338
263
263
336
282
309
307
356
294
316
365
350
295
300
252
398
371
271
408
272
284
346
395
404
299
330
380
334
333
315
303
343
312
297
304
384
240
256
348
369
289
306
278
358
284
288
369
326
285
370
271
299
305
411
261
341
329
344
317
292
286
338
301
314
278
351
291
347
310
268
303
291
226
313
248
298
304
275
280
332
278
358
360
318
283
280
283
248
290
361
347
317
270
301
399
260
308
327
280
272
414
229
231
340
353
301
242
359
313
327
344
253
298
294
348
308
312
326
314
298
350
380
364
263
297
356
337
247
390
322
259
362
374
317
361
275
340
315
334
343
298
351
264
310
314
337
335
292
307
407
310
347
354
317
276
351
328
317
313
326
331
300
329
277
362
292
377
370
192
318
357
266
294
383
229
266
292
286
316
332
388
280
363
353
385
259
322
276
328
316
406
290
298
236
355
338
301
280
358
418
357
281
276
280
300
363
349
275
356
317
273
293
311
354
372
321
377
303
298
360
274
341
389
403
334
332
297
354
273
315
323
248
289
308
270
283
210
349
333
305
357
317
318
256
304
358
340
359
294
287
367
319
355
359
312
223
309
312
342
327
315
279
340
272
375
266
371
326
312
397
295
316
350
356
296
299
316
314
334
395
297
327
326
211
278
396
337
334
342
323
316
300
312
288
295
262
359
392
306
326
326
339
247
290
336
312
386
326
304
256
296
291
292
316
365
236
223
385
314
281
348
335
329
265
254
258
340
365
329
312
353
314
330
365
299
347
350
261
330
302
307
354
284
407
324
350
286
327
330
300
343
277
273
270
287
268
331
315
325
218
331
351
374
356
268
266
300
364
218
269
369
338
245
372
300
293
254
261
237
292
264
320
347
270
284
285
286
361
366
424
261
323
316
361
269
355
363
347
404
303
324
287
358
369
309
390
337
366
265
367
359
367
352
333
324
341
372
310
326
270
291
346
312
304
363
320
325
304
347
287
318
283
248
357
371
373
287
335
289
330
308
340
416
297
268
263
380
263
299
349
320
330
302
325
222
318
294
250
361
351
339
333
248
313
284
306
226
346
302
299
345
299
344
349
319
352
368
313
379
382
334
259
316
413
313
337
406
307
295
354
334
255
327
256
302
314
295
356
338
309
283
323
276
279
398
251
346
317
428
257
287
336
269
308
387
248
385
376
307
354
345
296
367
223
269
321
314
259
304
350
293
417
337
324
320
257
303
361
311
249
353
388
272
348
321
338
420
309
303
363
298
342
309
314
323
273
293
317
316
311
331
341
241
263
269
261
288
329
386
314
276
351
300
311
350
308
270
380
300
332
316
349
308
364
366
383
280
241
310
313
361
292
216
382
333
215
381
315
297
229
328
335
292
307
342
205
356
371
348
307
339
321
245
289
173
352
302
363
310
338
350
280
217
402
287
315
296
331
326
352
301
326
427
365
301
314
362
324
279
277
333
378
323
334
345
339
263
257
323
376
364
400
275
344
261
360
339
447
297
346
280
352
380
259
345
245
254
316
225
275
291
355
338
328
406
342
362
322
308
319
359
388
326
289
334
314
336
256
417
349
296
362
339
296
355
339
364
378
288
285
407
394
343
382
286
355
311
291
257
344
343
400
250
335
414
345
347
242
396
321
344
264
234
187
322
281
309
302
254
329
333
400
335
280
267
280
321
380
255
306
279
277
316
214
359
270
306
314
272
322
221
254
332
351
301
347
293
354
339
305
212
230
361
266
345
380
378
392
323
325
324
228
312
438
244
314
413
332
282
314
279
309
285
344
397
303
341
255
326
335
321
278
306
302
297
310
284
364
306
367
408
333
324
304
337
305
337
301
335
297
201
326
309
295
332
326
372
357
316
341
325
363
300
287
350
269
355
318
364
270
187
365
294
397
332
337
301
351
266
342
239
301
321
365
394
353
378
318
300
305
229
371
317
345
265
341
316
328
348
299
296
370
252
280
342
350
374
325
327
310
277
259
247
272
390
267
356
339
272
313
287
373
283
254
273
330
270
390
351
327
314
259
324
292
304
352
319
196
337
319
307
320
375
328
294
280
320
323
379
294
278
353
299
341
408
360
263
313
261
293
338
295
330
337
298
269
372
281
362
374
272
312
293
327
283
376
379
379
296
312
283
216
288
348
304
302
304
311
348
246
335
327
283
362
277
289
320
308
305
278
176
345
270
349
367
397
333
283
302
223
305
326
324
285
313
292
297
281
285
305
341
388
366
331
303
233
316
298
333
252
291
370
343
337
325
363
316
416
348
270
399
348
378
278
319
335
305
375
318
283
374
379
288
301
353
308
338
236
295
330
250
354
306
348
313
244
268
335
437
373
350
327
330
346
360
306
255
319
385
344
325
274
325
303
309
308
291
403
312
283
312
386
371
265
372
428
286
224
313
304
300
320
227
218
330
293
267
284
238
254
365
278
219
244
264
323
265
273
290
250
335
355
326
254
288
303
235
337
411
376
406
291
311
281
267
345
427
224
316
279
289
262
378
350
307
339
340
289
358
295
329
352
286
281
256
351
253
309
285
234
329
297
340
315
316
329
289
318
263
361
369
340
338
265
329
316
303
338
379
316
243
371
342
305
360
347
293
388
203
348
338
288
299
280
249
289
214
334
404
277
281
307
322
278
317
295
379
324
310
424
286
316
334
355
345
256
261
388
359
289
375
223
275
258
261
332
309
227
227
432
286
341
302
282
370
329
383
397
373
304
311
257
294
290
352
263
332
302
307
249
305
281
330
304
364
393
309
304
282
372
348
376
311
315
336
338
273
335
326
356
307
368
330
293
320
302
388
288
345
310
347
281
315
316
339
312
322
285
241
332
307
352
240
307
299
342
342
359
387
352
382
302
336
385
363
420
267
369
349
344
294
312
302
362
356
303
396
342
295
359
312
349
303
266
351
363
231
279
332
398
251
330
333
336
314
400
313
265
279
275
319
299
286
348
342
363
237
262
307
274
360
315
357
342
333
318
272
282
265
299
342
244
292
376
272
272
423
326
355
170
289
274
303
258
340
253
326
325
251
243
373
359
211
336
336
393
284
316
385
290
255
349
340
294
238
356
293
287
275
326
401
338
286
287
335
335
309
359
307
323
288
326
324
326
370
289
319
314
302
348
372
376
249
382
379
324
281
352
289
323
278
334
302
352
369
356
338
288
326
306
298
344
383
254
263
230
293
232
265
359
308
349
329
331
305
379
329
337
351
334
321
327
358
329
353
337
349
319
293
357
338
330
302
376
305
345
282
324
328
357
361
336
287
323
363
278
381
304
263
291
331
392
314
356
305
345
328
338
270
372
324
293
333
346
360
331
286
335
349
364
303
266
331
353
246
279
366
390
392
306
296
343
321
339
450
333
302
322
303
315
321
399
356
400
349
365
381
327
307
375
386
386
297
397
263
389
247
325
400
336
323
279
315
337
308
263
329
315
323
193
368
352
354
262
371
276
277
372
309
271
346
325
376
356
312
363
360
300
306
330
348
337
356
314
358
295
208
329
428
217
298
411
402
342
299
365
327
271
272
263
261
300
318
347
321
355
339
252
321
383
344
336
349
266
288
318
300
281
298
288
291
291
289
302
257
312
273
341
290
289
351
321
239
305
322
329
248
352
318
246
266
271
351
299
268
282
300
342
359
276
307
274
304
291
300
318
306
266
341
391
337
322
277
244
292
345
313
344
368
337
229
325
355
299
331
357
304
324
265
295
321
351
304
324
316
304
316
223
335
336
313
364
333
309
263
350
310
259
328
370
338
326
278
337
240
252
376
375
320
293
334
355
389
425
190
339
295
310
300
297
332
325
396
343
277
366
353
269
372
292
398
264
385
333
377
300
323
389
271
313
326
295
328
334
299
316
241
413
259
284
295
342
273
398
269
340
390
330
338
238
356
353
298
346
320
256
371
357
345
282
303
289
323
331
310
300
298
330
292
221
319
308
329
315
321
320
275
311
319
352
355
377
330
329
336
290
224
288
306
279
330
316
343
419
325
399
277
281
325
272
286
414
235
270
233
310
385
399
393
286
314
272
293
327
391
393
275
307
280
297
413
387
309
254
338
336
316
291
247
295
261
429
263
300
307
261
353
315
299
302
300
307
266
382
343
312
304
396
297
288
287
345
339
231
328
358
310
294
286
257
374
281
305
267
262
265
358
412
382
331
346
259
260
341
320
305
304
385
341
303
270
337
308
318
291
354
359
281
278
280
332
221
256
269
344
305
330
352
308
351
278
266
293
290
284
391
288
296
329
291
290
389
339
326
329
296
359
309
295
322
291
376
273
290
369
382
321
335
268
278
389
341
339
338
368
346
376
332
337
329
282
406
352
351
335
233
305
439
288
281
322
296
285
299
365
296
281
264
292
308
336
294
290
293
314
297
345
398
287
350
326
401
313
249
293
346
340
308
291
306
364
269
366
317
274
376
331
298
214
305
319
370
300
345
297
349
321
329
263
291
275
411
355
368
317
361
378
276
377
354
326
333
335
352
330
296
402
341
338
353
298
324
227
337
348
286
393
334
342
334
351
406
301
354
331
345
319
346
266
301
375
260
283
323
256
318
298
323
279
325
245
360
348
317
364
373
309
289
339
406
344
295
238
317
253
305
376
275
289
279
297
316
323
271
287
315
400
323
303
382
313
335
254
332
360
283
272
247
328
304
359
237
336
342
345
325
332
378
208
350
311
357
337
312
266
328
272
316
259
242
362
297
271
288
246
309
324
271
357
364
244
264
325
330
337
322
319
322
343
258
340
304
387
301
276
247
281
363
279
331
303
356
233
351
319
228
303
385
384
323
301
324
297
291
333
304
343
319
319
320
299
270
286
256
305
345
228
298
254
336
311
326
324
341
381
338
319
250
347
274
250
395
320
341
289
319
380
304
287
364
321
306
296
318
305
296
363
310
277
342
412
278
304
308
353
282
287
379
362
338
302
269
365
307
347
313
302
426
294
283
310
340
375
395
339
357
271
294
330
267
328
388
295
354
285
301
382
286
326
370
285
278
224
398
376
358
283
327
287
366
313
308
329
280
328
361
378
326
296
347
320
346
339
346
290
339
316
287
302
304
351
318
340
234
262
353
319
326
378
360
321
359
280
264
356
325
286
399
266
343
298
337
354
318
239
250
360
343
308
306
339
294
340
261
280
323
322
389
405
379
297
322
304
303
330
294
357
355
331
324
318
266
339
290
287
407
235
311
369
363
360
321
272
283
287
381
263
318
191
310
340
249
237
270
284
386
286
288
298
267
332
281
311
376
289
281
369
357
265
262
414
289
311
269
374
311
350
334
253
293
381
234
292
301
368
259
231
338
298
320
233
240
287
347
360
302
235
334
279
302
374
326
379
348
254
335
290
212
295
335
288
328
275
361
313
333
383
292
292
312
385
286
371
328
357
248
405
318
334
307
338
323
289
343
319
234
312
387
280
340
385
339
310
355
381
388
329
309
383
306
270
325
298
284
373
305
302
390
309
314
311
286
307
329
348
297
301
265
352
282
281
210
303
302
374
281
295
385
391
337
284
271
251
317
294
238
286
326
308
265
353
406
287
286
344
264
369
321
332
311
350
369
356
377
388
248
269
323
311
287
281
283
380
266
338
229
349
272
332
411
375
342
287
264
327
300
258
323
313
411
273
366
317
309
361
364
295
340
352
250
341
294
331
336
222
273
279
332
302
291
334
297
345
265
332
235
381
302
313
320
309
304
332
343
288
370
330
291
312
279
325
417
281
260
213
360
358
368
317
317
381
362
314
387
396
227
289
372
297
363
280
363
296
294
325
300
330
278
305
331
317
278
264
349
330
337
278
309
299
363
236
329
216
275
310
370
332
378
303
340
361
402
314
300
255
278
319
270
333
329
271
288
263
346
253
331
272
301
347
382
293
298
276
286
321
316
277
346
390
294
312
386
357
373
275
275
308
276
333
268
323
314
335
335
303
198
291
317
296
283
397
375
363
310
441
317
305
351
300
274
366
336
278
341
341
357
317
370
342
343
319
357
252
284
316
391
319
343
313
346
325
392
305
365
378
256
251
387
324
324
274
389
189
316
345
272
281
270
355
353
302
284
325
182
270
344
388
356
284
263
364
312
355
224
280
313
341
258
320
276
280
329
276
357
264
308
352
285
309
366
341
380
268
353
351
246
215
390
311
300
274
242
319
353
255
329
234
349
288
382
307
423
382
305
325
273
297
302
291
315
273
317
327
291
382
341
298
297
250
337
331
348
267
262
337
340
219
295
365
316
337
334
302
306
333
306
384
346
269
321
354
266
289
326
298
303
361
268
364
347
345
317
275
358
375
378
333
314
322
277
296
268
323
336
317
291
259
377
371
322
327
324
301
284
324
325
427
376
310
356
366
441
352
374
381
356
391
337
384
309
275
267
405
267
333
294
280
309
319
301
335
315
310
302
257
293
280
364
387
347
270
309
348
304
336
260
321
331
371
301
244
357
291
355
290
290
217
366
282
304
339
356
365
303
376
391
278
286
275
300
238
291
267
293
287
363
332
400
301
274
316
419
348
342
327
308
325
308
342
345
394
267
254
256
353
348
396
296
300
313
264
313
295
365
309
305
371
365
315
282
348
244
209
290
326
356
325
295
279
305
222
357
343
331
364
317
375
311
387
185
258
314
326
390
221
328
327
349
300
320
253
303
369
201
251
294
290
378
293
317
303
286
357
326
349
296
338
248
336
290
280
324
278
360
291
255
338
338
331
334
202
289
356
366
346
362
357
363
298
322
364
329
254
318
353
333
353
380
198
291
368
265
324
326
281
363
388
315
376
232
338
310
236
343
343
289
298
347
365
348
336
311
204
313
315
306
296
303
375
292
373
352
301
331
319
277
414
320
337
339
248
334
284
342
305
376
296
307
294
341
307
353
389
344
329
267
338
364
378
312
296
354
269
289
340
343
266
324
353
270
312
298
326
273
301
320
333
265
384
260
354
355
345
366
278
364
368
352
236
326
189
320
366
277
341
293
351
369
315
373
255
290
316
310
354
381
348
288
354
348
325
342
321
322
236
318
379
358
349
323
236
417
324
320
274
254
359
325
306
274
321
338
342
286
324
281
367
285
392
315
399
323
284
326
266
276
359
365
363
392
287
338
335
329
232
326
326
326
278
324
362
274
348
274
308
391
293
314
290
296
308
255
314
365
270
288
363
290
295
330
357
357
338
288
263
322
280
329
316
346
278
334
249
281
336
292
283
359
382
338
213
327
323
299
377
381
319
313
312
360
271
372
351
369
338
265
326
394
365
376
306
225
369
231
292
327
374
302
413
340
332
300
280
389
286
327
315
294
286
311
286
354
340
369
299
384
310
352
317
352
315
305
303
280
353
262
348
304
340
355
333
348
361
236
356
321
323
338
391
371
330
342
311
314
367
357
318
248
274
326
309
281
348
296
285
327
276
305
372
293
267
258
379
269
280
367
351
264
294
273
320
245
281
366
283
362
361
287
339
323
333
284
329
323
340
279
297
269
318
320
364
286
242
276
287
300
306
246
337
257
337
391
382
347
303
326
264
371
358
355
335
263
296
221
349
340
377
296
239
299
249
321
283
366
313
321
341
322
337
274
378
328
227
286
292
299
276
385
342
311
347
370
311
298
240
358
367
337
324
319
351
337
339
292
359
290
368
247
337
288
284
277
365
373
410
325
332
329
350
311
328
303
373
292
374
290
263
268
265
296
300
302
317
310
273
313
393
311
317
324
310
411
239
355
263
321
335
315
301
318
303
316
269
366
406
262
271
293
269
345
338
199
361
289
246
268
309
257
348
299
284
314
272
264
299
300
311
274
282
320
420
293
334
418
273
336
347
326
310
335
352
270
275
352
253
372
371
270
282
359
274
352
324
378
346
345
401
351
357
339
300
266
323
353
306
362
330
331
371
296
298
431
343
326
289
314
344
339
278
292
418
372
358
314
318
302
290
338
307
337
322
354
328
330
278
360
318
306
273
302
344
358
317
314
272
328
337
344
279
383
350
311
376
301
317
247
283
343
321
266
242
320
351
309
283
310
305
367
316
332
380
327
421
410
367
246
325
302
332
305
336
282
288
277
352
354
343
338
321
368
251
325
328
341
294
317
309
219
344
319
319
365
257
320
380
368
365
346
265
314
339
357
305
344
285
310
297
308
279
319
340
361
255
288
277
268
298
317
275
266
310
285
314
322
336
350
320
302
263
261
259
269
334
235
369
321
299
362
302
356
306
422
372
254
304
285
370
346
300
374
202
309
328
280
266
369
331
287
370
323
316
267
265
303
359
271
268
330
351
364
361
342
345
379
231
378
332
285
294
415
330
286
318
293
345
308
275
333
338
355
300
362
320
338
293
260
281
254
379
257
293
312
317
322
289
238
318
268
318
359
342
282
270
317
369
329
403
370
305
335
316
244
352
278
333
273
390
319
281
314
325
271
292
364
259
345
288
328
336
357
366
320
224
338
358
321
285
307
306
314
336
316
276
362
274
327
269
233
364
273
277
366
293
342
311
200
375
336
384
256
348
256
345
247
310
280
348
372
342
302
296
378
311
352
323
250
297
250
291
332
348
302
253
387
329
274
218
243
351
239
342
277
349
336
268
309
333
316
350
296
311
323
354
300
341
230
223
361
343
351
349
354
355
330
312
297
266
379
244
317
302
340
297
382
318
276
333
313
269
343
339
317
305
411
291
274
290
321
343
346
343
332
305
350
310
285
349
343
363
294
314
346
301
301
281
321
343
332
284
230
279
374
343
263
253
337
366
331
228
265
403
261
318
306
382
337
371
278
416
293
329
347
316
322
334
342
227
300
293
312
342
317
345
327
292
285
318
395
340
325
323
299
280
321
301
411
333
289
325
298
397
397
358
333
308
402
256
378
280
326
361
280
357
394
369
269
303
341
347
422
268
340
253
355
304
376
319
320
329
275
315
347
318
365
323
303
293
314
324
351
332
302
384
322
313
232
327
359
364
343
399
381
271
241
334
217
326
325
269
267
299
347
345
316
417
267
362
334
364
337
386
358
305
274
360
364
317
281
388
362
314
338
333
294
318
332
356
292
215
303
353
277
283
332
316
234
318
251
374
323
352
285
362
281
199
332
296
389
308
279
392
399
284
281
316
242
379
341
349
245
268
340
290
359
284
355
321
326
240
197
270
316
308
354
274
238
293
388
280
363
299
285
331
352
309
347
300
303
365
339
367
272
300
309
369
255
276
365
377
401
352
308
321
356
343
289
356
320
388
325
271
303
307
326
309
289
346
328
266
323
353
405
256
276
331
307
309
353
332
257
297
301
358
310
313
289
300
299
291
354
256
269
427
249
360
305
333
369
401
323
305
334
364
381
347
312
248
321
307
296
353
333
314
368
291
350
271
369
364
360
346
342
280
285
366
306
292
318
259
302
367
323
349
395
350
340
428
358
376
266
314
289
356
330
305
320
318
267
348
283
306
362
318
391
341
282
283
326
316
391
356
313
434
310
310
241
349
332
329
390
252
339
342
383
339
358
311
287
319
378
390
302
322
384
280
311
303
379
351
379
310
288
325
219
311
343
323
306
286
396
354
233
269
312
270
411
365
334
380
362
258
320
290
322
274
343
243
308
302
290
236
254
343
304
264
332
292
318
329
368
292
371
356
298
275
308
355
368
320
357
345
385
270
392
294
322
296
352
329
299
320
398
323
282
352
347
260
305
330
393
353
252
369
318
329
342
289
297
345
313
270
342
291
371
297
367
288
331
318
283
343
311
279
289
322
330
210
326
292
317
392
405
339
244
272
296
323
243
311
275
284
345
246
257
291
331
247
349
380
202
329
395
348
386
382
345
253
251
342
351
266
330
313
356
296
339
312
328
395
358
295
308
284
304
272
348
324
365
248
362
317
241
362
270
249
296
345
350
316
373
324
291
292
275
340
331
369
363
377
433
344
310
295
343
379
353
334
350
383
278
313
375
335
315
332
393
330
222
292
306
285
279
289
237
284
282
292
379
337
315
331
246
364
329
249
285
313
334
310
408
356
371
252
267
247
288
348
314
271
284
346
341
283
345
339
307
265
302
295
315
340
393
280
305
422
302
349
381
407
287
326
242
253
349
266
319
379
302
320
306
346
360
342
367
369
279
246
296
293
249
322
313
354
382
219
333
244
275
361
394
231
414
259
257
259
353
305
327
335
373
288
298
186
299
302
379
272
316
313
297
315
341
362
366
320
411
401
357
304
263
360
311
212
233
395
403
333
285
335
326
275
419
317
361
242
331
344
312
326
313
239
355
320
283
355
259
247
379
396
359
317
360
287
321
377
231
354
282
334
430
370
374
293
306
385
271
267
288
312
302
316
300
378
325
321
359
296
315
333
310
314
387
291
332
251
274
380
292
298
367
330
318
320
261
400
320
289
282
311
320
272
310
364
318
273
349
309
352
250
338
310
366
372
404
331
243
320
360
351
291
265
311
334
350
255
418
309
362
337
320
274
327
302
294
372
356
341
373
324
327
323
318
296
300
338
287
352
387
306
295
303
311
308
285
309
328
375
328
312
353
358
369
347
305
246
363
303
287
280
358
399
331
330
297
285
302
295
310
252
295
275
292
245
267
352
375
313
331
309
325
331
261
399
324
319
390
370
275
349
409
284
298
305
409
389
286
265
280
324
350
332
311
302
305
266
281
237
271
329
279
347
223
257
307
295
275
280
235
363
339
256
241
319
269
331
310
247
350
280
307
438
292
387
259
388
382
292
334
269
244
300
268
313
314
302
303
350
287
220
252
338
310
338
325
382
317
289
307
245
322
302
419
326
322
300
308
270
368
298
365
351
346
335
243
341
307
237
375
351
304
281
264
291
415
350
330
374
304
296
320
357
315
267
280
301
326
273
334
322
306
310
326
357
340
402
397
317
313
353
307
220
307
275
368
296
362
331
270
350
320
347
385
354
402
359
230
313
298
311
324
356
282
372
371
242
254
224
323
268
297
283
389
366
319
342
287
264
358
319
369
330
330
287
397
375
268
304
185
378
238
230
336
240
314
315
230
291
347
313
252
304
370
248
367
348
405
378
356
260
268
239
359
331
305
325
358
320
307
346
291
283
239
261
277
297
310
360
305
277
278
292
344
272
331
306
331
370
348
283
324
308
294
303
324
271
410
271
310
337
368
381
236
277
344
292
354
307
320
242
292
236
329
289
234
322
400
350
358
314
332
326
309
314
269
256
301
280
310
318
384
379
344
405
275
332
286
251
303
327
306
404
322
234
329
271
286
334
335
320
349
234
307
312
268
328
295
362
249
272
315
294
262
255
344
274
280
298
420
281
247
331
336
290
241
378
295
292
262
243
368
285
354
352
300
335
323
298
277
320
284
302
343
311
368
244
290
239
327
371
299
375
338
272
321
278
302
317
282
288
379
216
256
279
371
364
260
415
337
352
281
305
425
415
324
247
288
285
297
376
228
340
325
358
369
331
351
298
344
303
267
410
325
362
358
345
372
323
384
337
295
364
322
346
333
408
272
333
364
323
288
349
322
260
341
293
374
356
301
335
324
368
403
324
345
335
324
286
266
360
394
365
381
293
342
319
383
354
367
246
256
336
355
248
253
311
299
297
336
296
346
350
221
327
337
262
263
252
312
331
373
299
267
203
349
290
363
316
254
353
302
363
363
250
341
340
333
396
297
291
362
261
334
365
304
305
306
365
350
348
259
355
335
388
347
286
345
326
373
277
295
394
311
270
243
357
273
255
336
287
322
334
358
320
314
213
243
360
280
301
265
304
289
388
355
324
323
349
336
333
230
293
298
334
277
368
306
252
262
286
341
351
355
310
270
358
316
291
297
361
336
286
316
323
297
390
340
306
273
274
320
309
371
321
347
316
297
238
284
371
242
336
300
348
350
373
282
329
383
358
367
373
274
217
330
338
269
249
380
290
309
352
321
343
331
267
229
388
277
375
280
330
322
346
211
353
321
293
339
278
326
342
340
327
298
300
198
282
373
364
281
309
291
314
262
350
250
246
363
315
406
287
315
263
273
274
384
303
296
344
298
304
324
372
282
327
242
293
295
312
328
342
294
293
307
384
288
198
317
248
341
296
283
338
414
330
303
372
306
339
238
295
241
338
222
316
369
346
184
374
372
331
286
301
296
237
370
328
259
283
351
303
337
260
341
275
363
328
302
291
301
290
239
302
323
327
324
276
263
404
323
337
313
337
355
323
213
389
315
289
277
349
286
327
363
271
400
251
411
373
306
329
369
255
334
292
327
323
402
336
316
332
391
333
288
244
338
383
284
294
315
314
354
374
255
357
328
323
382
293
310
367
317
375
350
264
326
273
335
254
352
269
332
359
312
334
268
319
288
336
328
320
370
370
236
300
375
312
305
304
424
251
236
305
283
327
249
314
290
279
268
261
310
412
352
253
309
230
350
332
377
335
247
377
290
311
329
241
386
371
268
277
373
341
320
311
278
330
301
324
324
266
321
280
287
350
346
316
300
242
304
343
408
294
324
269
246
217
366
343
299
289
298
350
321
315
307
309
372
297
290
399
339
254
266
211
297
361
395
302
344
288
285
381
352
287
393
306
314
314
265
315
364
374
379
307
297
306
246
390
321
362
313
344
329
311
294
367
314
275
303
356
292
298
358
316
329
258
291
329
260
290
342
288
307
303
349
281
349
335
339
301
349
297
339
283
320
255
382
306
282
261
322
383
301
379
396
281
274
388
263
262
312
297
303
300
274
315
313
377
329
355
360
319
325
397
350
368
316
266
330
303
285
239
350
318
374
309
296
232
335
287
265
327
335
327
407
342
277
243
280
198
433
416
267
356
306
368
324
370
306
305
334
354
314
335
342
319
350
369
284
315
372
348
291
282
430
330
308
311
345
312
299
293
380
275
370
320
411
377
412
378
313
372
313
339
235
320
355
368
383
294
335
414
342
328
362
365
293
272
240
320
288
323
292
377
319
274
325
244
253
264
372
306
285
330
268
297
384
319
196
386
228
330
281
292
285
363
251
299
343
325
338
405
303
288
374
286
270
300
309
320
384
391
346
283
333
337
342
331
251
304
325
342
343
400
274
367
345
362
290
363
353
272
287
324
322
192
317
236
263
398
323
314
276
334
262
328
342
384
271
398
360
384
388
322
266
365
320
300
248
277
392
342
294
332
341
235
328
327
339
322
409
238
346
303
363
318
350
224
257
268
354
342
291
280
335
342
361
364
337
273
351
343
366
311
355
298
281
298
394
336
274
302
293
284
349
317
403
351
234
347
280
311
323
339
238
293
274
283
317
267
294
345
285
344
374
344
368
311
361
261
368
381
309
288
276
324
301
290
219
308
238
324
283
348
292
324
330
304
234
333
308
324
318
362
270
339
339
383
356
382
411
309
306
318
315
327
289
362
315
323
279
369
345
307
284
324
315
233
350
350
338
336
326
345
260
321
367
398
346
327
352
326
309
338
290
369
336
293
301
336
336
315
255
334
363
325
328
280
392
382
376
422
375
267
377
381
325
354
257
216
341
324
383
359
259
322
239
317
336
343
336
319
263
364
315
322
372
206
350
388
311
284
293
267
306
273
329
215
326
307
225
251
355
253
302
252
395
216
361
335
345
322
321
273
248
251
269
267
294
316
306
267
331
332
318
346
312
325
372
388
306
308
337
318
340
345
318
316
321
313
325
378
287
261
302
281
325
305
369
310
325
314
290
333
292
384
287
314
319
153
293
332
364
289
332
277
281
317
299
368
255
283
307
354
295
291
230
308
357
293
361
346
349
351
363
365
297
290
381
366
308
391
293
372
353
313
301
355
226
337
338
234
284
301
315
353
344
286
291
321
413
338
296
348
306
284
329
308
322
280
378
282
279
351
306
353
418
272
350
328
270
385
293
339
326
232
318
306
283
323
320
328
368
367
233
320
331
303
223
300
400
237
385
323
316
265
328
344
281
307
295
332
281
322
352
300
367
382
214
266
307
335
306
310
314
315
319
249
320
299
300
340
237
282
324
313
353
343
270
285
261
337
314
319
378
323
326
350
297
386
279
394
308
358
279
353
314
366
296
260
300
335
252
362
271
279
321
380
231
294
278
359
306
243
389
344
378
317
349
290
250
320
266
232
318
279
262
350
276
276
361
274
254
374
282
317
301
300
341
338
368
328
295
400
294
306
343
363
365
312
309
292
281
378
342
339
331
302
331
290
302
234
367
308
320
328
241
176
353
277
277
373
236
312
360
269
229
241
334
313
400
362
244
289
280
308
384
337
360
350
267
355
253
381
266
301
315
219
306
310
203
331
199
314
323
383
417
294
292
335
320
398
337
380
298
303
231
262
327
346
370
332
345
377
279
346
331
270
317
243
299
335
273
340
284
402
284
317
292
375
319
282
325
323
294
372
369
327
390
350
333
306
273
283
347
353
336
260
403
246
342
282
331
296
255
331
291
289
295
378
343
318
338
331
326
350
304
295
323
319
363
325
281
316
309
361
393
368
278
340
315
320
332
326
291
313
294
275
312
274
357
285
298
263
295
281
266
320
390
323
265
226
347
293
314
429
321
378
302
335
360
238
324
325
362
333
301
311
352
283
300
357
307
402
311
311
387
388
292
258
292
330
322
324
327
407
307
336
307
309
301
307
320
288
418
370
284
361
318
293
270
256
299
318
346
371
359
351
204
301
280
328
314
300
252
328
266
329
330
321
364
304
324
332
381
339
272
353
352
328
400
326
269
315
358
303
324
330
307
224
366
327
304
307
353
382
300
328
378
299
237
312
391
282
304
335
383
343
289
265
321
300
292
245
300
365
292
308
325
278
286
386
347
371
321
349
347
334
296
378
289
252
380
327
313
296
268
294
285
353
390
285
414
284
377
321
334
335
283
230
359
292
238
302
267
305
388
311
280
314
356
303
305
313
277
284
302
335
387
294
353
330
292
334
272
295
248
333
394
350
241
254
406
353
229
303
295
340
343
392
244
360
334
238
298
252
327
315
305
265
244
284
223
368
334
347
314
289
292
371
268
311
290
246
346
253
263
266
258
300
356
329
338
305
283
415
311
363
293
346
409
196
281
322
382
334
307
329
349
279
317
428
313
284
351
239
256
321
314
360
327
263
404
326
361
261
274
275
398
328
367
252
336
291
247
374
279
352
289
369
349
336
362
361
363
334
391
315
362
198
427
376
333
245
323
340
324
398
308
287
433
280
344
281
254
257
418
320
338
313
281
295
367
234
364
257
303
272
265
352
313
329
379
255
260
320
351
302
311
317
325
336
304
284
297
326
239
382
334
254
338
235
228
341
238
370
373
361
297
333
334
265
329
268
257
257
379
291
281
277
364
398
273
346
288
355
371
378
356
279
246
291
320
238
325
312
301
258
207
337
280
351
311
274
355
431
340
359
283
336
282
269
376
387
357
326
369
267
345
329
334
347
319
352
370
202
314
302
297
333
336
344
325
321
326
361
313
342
306
391
358
280
358
267
391
338
354
367
219
315
322
320
317
346
324
321
353
303
357
321
344
279
280
295
338
330
280
347
362
287
300
312
275
298
358
240
375
347
339
299
368
236
256
298
196
248
341
333
340
343
340
310
276
314
340
347
330
313
381
312
289
346
314
371
324
270
359
309
307
388
421
305
269
375
286
258
261
283
292
359
299
321
310
340
304
356
391
324
289
305
384
379
254
268
336
322
338
315
303
233
280
329
376
379
226
307
295
327
337
339
416
354
294
299
271
311
333
311
283
376
298
283
278
287
286
307
337
327
349
249
361
320
297
295
402
261
261
300
234
343
286
315
306
264
330
243
351
358
289
357
370
379
328
348
311
348
288
301
353
351
341
214
250
259
372
376
319
336
260
318
372
358
348
386
336
322
318
287
350
360
396
274
282
198
365
339
348
371
328
298
378
324
344
245
297
352
212
319
271
297
348
356
294
335
319
356
317
345
312
294
282
296
407
394
238
325
335
303
289
252
345
284
391
374
346
299
303
327
189
365
268
300
239
306
352
281
286
342
352
344
313
313
319
401
340
328
295
358
208
311
337
273
312
304
359
292
349
234
298
347
455
314
393
312
298
332
330
334
331
292
370
420
252
330
290
304
271
295
265
353
368
279
426
204
366
342
329
292
319
376
248
364
326
281
358
303
359
314
330
287
254
363
410
289
302
397
304
362
255
331
336
312
334
368
351
343
254
314
317
331
301
291
341
292
305
384
315
339
337
254
360
360
264
276
364
342
345
243
321
284
299
248
311
389
354
332
407
347
279
328
240
326
253
271
279
280
291
316
307
318
352
320
306
321
364
331
392
343
282
304
225
268
281
279
288
278
323
374
270
323
311
273
343
308
333
341
333
372
320
263
315
306
332
351
364
341
391
239
319
283
283
368
362
315
316
332
344
291
292
190
276
293
227
317
328
264
367
381
369
290
362
298
238
372
231
307
269
299
376
326
285
426
299
340
316
282
290
310
245
310
373
327
330
217
297
273
242
327
317
262
339
358
343
279
273
327
388
351
331
322
326
272
327
311
260
351
283
372
314
362
291
317
308
257
378
269
249
314
259
265
268
392
365
345
275
367
380
261
359
365
252
344
285
311
226
343
317
348
315
319
286
393
287
325
341
317
314
285
255
337
333
360
269
362
311
312
294
288
274
222
346
391
283
391
281
351
373
359
342
359
361
306
333
368
240
398
323
270
278
284
325
305
283
318
344
333
299
307
343
254
363
351
266
235
236
293
325
330
300
343
268
269
291
309
341
258
309
381
327
353
225
312
305
308
374
248
420
310
327
352
315
325
350
354
314
283
336
361
286
333
331
286
261
302
290
304
269
297
407
341
380
294
282
374
368
362
383
311
273
394
324
361
319
332
302
326
298
292
323
293
333
342
283
383
390
378
325
353
319
274
268
320
322
330
306
340
297
273
310
371
339
368
264
390
305
387
292
304
362
286
286
331
279
335
352
314
345
224
391
308
380
326
351
288
247
314
335
319
357
341
379
340
304
337
276
379
437
327
294
400
293
301
313
344
381
375
317
257
366
398
285
279
331
320
412
342
360
368
213
296
358
292
295
167
361
351
298
359
277
256
405
334
393
279
273
302
282
317
340
275
383
327
361
358
333
258
354
316
340
324
296
289
336
315
344
330
350
273
308
295
359
292
304
320
367
331
288
353
209
287
307
377
248
300
383
406
398
318
295
337
215
337
262
313
321
368
329
259
338
396
275
356
330
306
310
326
323
303
289
361
242
334
330
248
374
278
292
346
308
305
342
301
255
304
288
352
253
364
272
282
261
311
406
299
289
290
279
410
391
278
267
350
331
346
343
279
334
250
273
329
262
311
312
280
387
288
362
291
276
316
280
324
319
356
319
252
332
372
318
302
348
353
366
308
367
342
243
344
318
400
347
372
242
296
274
347
255
260
329
357
340
287
342
257
313
321
252
340
285
363
380
295
340
306
315
334
319
284
253
327
372
380
326
358
311
294
343
265
399
357
308
375
247
296
344
326
324
342
273
297
292
332
394
339
292
295
312
361
252
352
365
280
256
327
308
308
291
389
307
271
377
249
419
367
311
344
276
329
255
324
377
364
389
315
326
287
283
367
236
306
317
319
270
309
313
315
324
380
308
314
288
356
308
275
254
365
361
367
378
202
268
344
331
314
343
324
330
266
281
328
269
259
349
306
364
193
280
292
282
350
294
341
278
279
333
287
308
332
335
286
353
320
284
373
293
251
344
290
365
273
389
249
349
235
274
368
314
253
337
374
312
295
241
432
253
406
369
266
298
358
374
372
265
281
336
318
258
261
343
377
392
305
327
284
381
298
303
294
328
257
291
284
298
357
352
341
329
399
278
392
355
362
344
317
367
218
329
294
333
317
353
288
352
340
213
259
259
279
224
317
234
302
284
333
393
268
417
366
338
282
325
231
331
328
328
281
272
330
373
299
313
237
351
326
325
289
241
444
304
359
316
279
294
335
373
342
286
301
320
254
280
361
332
311
228
341
386
432
223
365
297
356
285
353
256
205
314
297
320
289
308
286
274
376
338
265
303
257
325
349
300
324
301
317
287
327
368
349
326
387
283
383
347
307
311
296
277
339
319
345
285
320
248
323
326
325
337
305
338
308
302
278
355
290
302
277
337
321
292
277
341
297
300
326
297
272
365
376
334
413
304
321
393
245
272
343
256
360
290
256
448
324
270
275
312
281
328
404
368
352
303
342
343
411
251
302
390
295
228
300
366
340
226
345
329
295
331
361
402
322
349
348
260
290
318
309
311
276
308
333
363
319
317
289
303
324
240
259
351
192
302
355
294
339
205
323
323
247
277
355
286
366
254
346
306
342
374
304
321
344
344
315
243
313
376
352
347
339
244
306
300
300
288
302
271
332
250
302
388
277
329
232
334
336
295
327
351
388
319
402
316
313
328
312
386
385
348
316
316
349
336
389
330
287
280
308
337
333
369
361
412
367
341
266
318
383
220
284
276
322
362
316
328
224
280
301
317
376
228
332
275
306
242
275
429
344
394
286
372
279
291
329
262
307
282
292
334
434
323
201
373
328
312
351
273
333
292
330
346
304
331
305
327
359
348
301
312
357
320
328
393
272
312
355
355
428
305
337
259
322
272
350
308
362
328
329
331
281
332
323
304
272
394
356
158
392
350
288
339
283
374
318
325
335
278
403
363
310
333
276
313
331
345
313
344
343
359
327
265
327
312
325
337
272
443
254
302
313
264
383
252
266
360
322
371
333
275
319
333
262
318
278
257
316
278
316
386
276
319
408
307
322
287
299
259
342
310
265
337
275
325
292
316
297
350
326
281
253
304
285
295
279
294
310
239
286
319
363
349
348
345
428
393
237
303
376
385
348
326
316
332
330
204
372
308
350
458
270
286
357
327
383
292
314
213
333
279
292
286
280
315
297
236
305
356
180
374
318
287
312
307
312
300
299
342
322
374
273
294
207
340
343
302
301
287
353
304
266
287
310
292
366
354
380
316
326
390
364
344
276
226
356
299
316
240
286
271
410
336
356
349
263
330
334
337
338
253
293
273
298
435
326
294
317
277
314
345
299
281
379
349
284
341
311
324
385
272
270
219
262
307
306
376
295
322
247
309
334
416
353
220
255
356
301
288
343
302
315
285
313
338
333
245
328
335
271
273
377
387
328
264
394
303
328
347
312
233
317
368
287
369
270
390
284
271
303
336
300
359
279
259
363
375
393
281
337
342
366
322
310
256
339
323
291
372
419
334
272
412
365
350
308
404
284
393
279
344
317
309
335
324
300
287
276
326
302
276
357
368
345
282
318
336
321
250
313
379
224
313
351
361
291
295
273
310
355
315
337
331
301
368
367
337
348
345
310
313
329
338
353
291
268
290
287
265
223
284
376
400
312
346
283
272
345
351
302
335
315
345
333
297
296
240
351
319
363
308
340
389
347
367
362
321
350
337
369
367
367
317
344
334
275
274
344
308
318
294
333
342
369
355
383
335
331
181
255
396
337
350
374
266
324
251
318
338
305
330
358
257
352
314
384
364
345
284
210
259
367
319
267
257
291
347
338
288
350
330
375
277
354
308
343
280
355
348
326
340
356
324
235
210
357
328
276
370
290
337
350
388
333
236
312
370
297
362
336
276
334
333
258
269
276
319
312
374
370
316
282
311
407
312
325
299
285
341
291
345
384
347
301
319
336
396
291
392
263
304
302
334
308
369
359
330
299
261
305
154
334
321
270
376
266
357
293
286
313
281
381
329
327
319
312
351
359
408
320
317
292
339
254
331
247
289
353
319
326
322
305
259
334
314
366
298
372
295
360
286
295
254
261
376
297
288
298
377
278
321
208
350
301
331
260
275
277
339
328
309
312
367
332
365
361
299
259
252
340
320
347
344
320
281
340
341
235
375
297
260
343
324
336
376
321
327
250
325
320
345
356
330
268
208
248
292
338
269
318
333
351
274
336
372
340
219
382
338
355
275
391
385
248
330
325
268
464
274
395
361
374
355
323
322
297
273
329
413
323
222
243
339
245
340
272
274
301
258
346
326
284
346
343
314
327
365
366
258
309
373
335
334
339
268
343
233
327
243
326
376
307
237
238
446
277
353
378
338
282
272
307
307
317
249
357
345
366
324
329
393
274
315
381
353
281
328
313
440
322
383
256
367
335
360
334
372
327
308
283
293
345
360
254
328
210
370
317
296
290
289
307
309
296
341
365
319
285
305
352
391
314
371
366
275
324
425
345
264
299
272
311
271
168
296
336
276
374
389
307
412
342
319
297
370
352
336
355
309
323
205
263
330
251
362
266
297
321
283
326
313
307
317
310
255
292
274
368
246
341
377
353
347
385
297
284
303
361
324
351
251
324
354
385
292
308
365
297
299
314
238
357
289
311
321
383
252
283
363
256
364
386
320
296
339
344
257
382
339
274
255
369
378
321
282
288
286
315
331
335
306
306
338
394
362
302
298
319
359
313
336
217
355
322
317
306
320
358
304
292
327
263
365
282
315
287
290
337
266
317
256
220
227
275
286
358
318
305
295
240
293
265
331
314
287
337
325
369
319
314
383
299
305
313
350
318
334
358
335
215
310
254
282
278
311
399
332
365
292
260
378
306
256
298
317
318
301
243
269
351
354
347
335
339
323
307
315
354
370
365
415
373
304
311
253
221
335
329
281
324
305
348
329
332
330
274
360
273
258
302
294
310
391
285
250
345
315
409
312
328
310
396
242
345
299
210
355
392
278
360
349
319
267
195
336
375
374
321
352
265
264
353
375
372
370
273
404
336
275
285
400
329
290
323
319
355
268
251
380
343
338
316
295
296
286
344
357
332
258
263
368
304
337
301
303
370
357
269
268
314
314
356
329
305
342
332
304
367
273
389
382
364
322
256
338
289
313
257
325
350
337
368
237
384
278
328
312
286
335
256
323
319
338
252
291
351
322
294
413
315
300
263
333
392
284
311
236
328
365
371
325
313
276
367
350
321
357
310
303
291
321
295
370
359
388
317
326
367
388
356
358
312
341
375
179
231
332
276
332
266
241
325
295
235
297
307
395
215
360
300
336
313
306
267
407
319
305
285
369
316
303
301
362
272
266
310
302
304
312
409
304
301
233
307
370
359
314
275
256
358
304
246
415
387
357
301
349
310
189
310
367
326
300
363
265
355
314
251
393
286
306
330
348
340
274
320
309
277
333
284
346
308
280
327
293
276
326
306
255
291
315
330
296
324
290
349
261
338
266
286
373
314
205
357
384
425
268
372
337
328
288
326
388
342
325
304
288
265
267
340
299
260
320
356
276
364
291
323
270
301
291
267
252
226
355
283
277
248
358
314
345
266
362
361
311
330
274
290
347
351
297
284
299
385
353
332
310
337
253
259
249
257
336
347
291
240
375
345
231
276
319
345
253
327
299
281
347
300
277
248
353
343
289
366
305
331
296
291
306
333
339
321
279
313
321
261
329
248
426
326
374
278
354
264
375
242
301
310
355
272
382
325
271
275
273
382
324
288
327
330
305
283
316
251
340
280
364
263
306
377
409
355
329
348
227
292
273
291
287
291
300
304
355
386
339
345
219
333
355
318
327
349
274
291
326
356
390
297
300
342
238
278
335
328
332
301
315
297
363
416
374
418
273
317
286
334
271
322
331
285
282
201
286
273
381
288
328
363
306
319
353
301
226
199
303
358
298
303
264
319
337
219
299
292
291
314
356
306
365
302
329
330
338
317
311
319
279
361
357
306
358
288
239
347
313
354
333
254
463
342
386
243
294
387
262
295
412
311
277
343
326
308
312
329
285
234
318
346
315
299
328
273
259
402
259
305
308
305
300
310
276
283
318
331
354
384
307
435
238
309
386
293
342
360
348
243
333
260
288
327
309
386
315
322
300
241
291
361
326
339
300
342
331
333
383
320
324
310
320
345
230
311
297
340
347
292
322
374
289
312
326
336
403
218
377
357
352
315
310
359
268
290
284
316
298
334
280
313
303
404
357
329
314
354
276
411
327
263
365
322
280
361
282
341
291
279
240
304
285
347
322
399
339
295
215
334
326
356
321
324
379
385
314
310
381
283
341
207
377
289
361
325
323
289
225
222
323
280
341
307
315
292
278
342
358
208
299
290
257
364
268
275
344
285
330
261
242
303
201
364
361
234
348
343
378
332
212
313
334
321
303
295
280
312
340
291
311
378
299
265
402
284
361
305
373
320
361
333
392
354
343
323
332
388
337
373
240
376
294
310
319
297
286
308
411
263
337
319
308
286
337
350
321
222
342
331
352
303
364
382
368
395
297
268
386
279
333
365
374
395
313
374
376
259
332
300
330
305
294
279
387
360
361
303
266
300
291
305
305
341
371
274
354
307
301
279
362
269
364
244
399
294
335
386
354
373
298
361
311
383
284
354
306
287
252
238
321
342
274
259
289
367
317
245
346
288
279
263
313
350
266
343
301
324
300
360
332
353
287
280
264
355
275
373
384
331
307
366
390
319
378
278
324
278
284
390
370
334
314
331
399
321
287
268
249
331
360
341
360
348
251
392
310
315
322
392
349
352
287
335
291
351
284
304
353
308
322
297
407
337
377
354
330
329
277
382
361
272
305
292
336
289
290
348
307
341
348
321
317
364
339
350
318
418
358
391
245
314
392
252
349
344
241
343
356
331
264
378
312
287
279
268
279
313
387
179
298
258
352
331
247
360
315
266
226
345
261
317
277
323
291
356
348
364
317
350
268
319
412
398
342
277
241
298
347
247
331
309
330
342
294
374
372
305
291
241
299
345
315
408
306
372
263
325
318
328
331
280
332
265
311
354
294
412
339
353
321
373
304
248
337
286
311
291
287
350
362
289
334
331
243
356
427
378
272
336
363
301
345
244
286
304
355
319
324
380
346
201
416
254
269
384
307
353
288
278
392
374
310
297
334
350
223
259
290
316
270
322
322
290
308
399
316
255
340
275
390
274
343
365
350
263
346
382
254
316
299
303
355
343
278
305
291
286
342
366
307
303
288
295
350
384
311
256
306
312
323
371
356
337
319
319
251
314
304
398
287
292
266
304
187
358
318
298
248
277
359
372
313
355
367
305
281
355
374
321
299
288
346
322
240
338
336
232
330
396
340
284
304
347
273
289
335
280
362
227
273
326
264
283
344
256
256
328
268
385
307
343
353
376
324
325
347
281
325
309
350
242
322
296
278
370
247
373
265
282
288
323
359
332
338
314
315
317
306
341
375
232
302
376
334
353
299
333
276
329
237
368
392
318
276
340
266
326
242
255
316
327
280
364
289
361
269
300
313
382
287
239
390
346
293
329
228
386
339
278
396
307
293
325
304
353
370
301
329
318
281
286
342
407
348
298
337
280
278
328
314
397
297
342
331
322
293
286
313
355
372
277
293
287
253
343
314
254
350
289
284
332
304
268
335
291
341
302
362
354
353
341
358
353
402
272
355
231
311
299
266
369
339
277
361
276
269
326
332
352
327
250
299
284
335
316
327
301
244
281
336
386
390
318
310
283
360
376
251
328
305
333
339
248
255
247
275
388
271
288
309
222
294
341
274
337
297
212
339
287
342
271
303
281
333
400
312
305
358
329
306
361
425
331
253
336
330
304
312
363
360
341
327
328
309
372
319
308
245
292
422
336
325
317
336
337
324
394
307
289
279
365
324
345
314
344
281
377
279
298
365
338
261
304
382
278
323
253
363
309
327
308
310
358
313
384
343
291
291
258
371
384
352
250
270
295
243
250
334
264
311
332
289
351
317
291
387
333
283
290
328
341
272
302
277
343
311
207
236
355
302
320
269
372
265
359
336
333
275
304
361
293
347
380
334
322
362
336
339
342
355
337
326
325
263
387
232
363
252
280
344
329
343
402
318
265
370
313
327
279
352
336
308
234
245
252
257
309
384
313
281
302
337
269
336
301
322
338
297
281
324
432
257
255
286
423
258
314
365
430
218
198
229
259
358
330
298
316
304
344
384
379
285
361
350
394
237
406
337
324
266
283
295
325
377
349
333
323
218
291
234
343
340
293
304
375
303
244
268
376
348
320
337
343
295
309
304
343
317
391
372
292
350
255
339
331
377
412
331
348
300
306
293
334
409
340
247
321
265
301
339
299
359
239
333
408
289
298
367
341
356
334
241
302
355
290
349
314
340
221
341
257
275
244
292
439
277
301
360
302
284
374
368
309
353
302
369
308
364
361
342
367
255
428
321
222
353
255
351
377
313
390
303
255
418
366
259
216
336
364
306
299
344
228
307
303
302
381
287
301
427
290
283
334
308
325
380
393
236
280
345
311
360
298
254
419
345
196
303
343
345
306
208
310
382
315
353
335
336
291
316
322
278
332
322
359
312
355
198
285
336
363
233
330
380
308
304
270
292
297
319
288
247
365
388
266
296
268
340
417
373
327
266
224
229
308
259
292
379
287
345
371
319
332
331
327
371
345
276
350
289
351
354
358
377
318
365
341
278
313
289
324
317
362
361
348
338
289
297
393
217
307
220
363
359
319
362
379
317
343
373
400
273
348
308
334
350
324
300
298
277
199
250
337
278
328
310
415
388
296
290
341
287
318
295
304
376
328
348
353
307
329
190
334
280
331
239
448
256
323
322
323
346
325
225
363
261
287
272
314
294
373
295
409
276
360
284
301
342
270
318
334
255
325
324
375
329
268
339
301
356
267
273
365
310
318
255
271
386
319
286
306
323
219
308
309
239
268
303
344
267
302
345
322
400
356
314
309
212
316
329
354
290
259
345
269
316
326
373
287
279
321
358
378
371
317
318
200
353
330
247
414
312
296
313
272
275
311
261
315
356
323
338
326
297
253
391
319
313
267
268
329
342
321
279
302
260
282
317
285
279
261
328
337
405
366
352
277
251
339
393
306
262
334
319
228
329
256
311
375
313
325
334
273
368
373
260
250
278
228
317
360
269
354
369
312
203
346
287
299
325
331
290
348
226
411
347
251
242
289
319
271
399
400
276
321
252
308
251
271
341
286
304
286
308
260
324
261
300
373
406
309
307
298
264
271
365
330
302
312
254
273
224
319
317
365
272
331
284
338
283
263
327
388
367
355
229
392
359
250
298
280
328
370
300
336
292
318
334
321
308
278
324
335
251
299
235
272
223
310
326
376
235
401
386
293
292
355
361
257
299
348
323
359
324
288
333
358
333
204
302
266
284
299
348
318
318
221
385
343
364
312
292
305
283
251
305
293
285
341
351
348
309
304
387
319
282
356
334
316
239
283
317
267
367
295
362
309
349
235
362
335
358
229
384
352
312
333
328
366
258
331
210
266
335
292
272
278
279
300
347
323
260
236
338
342
309
330
277
288
329
338
278
302
328
406
372
331
240
350
320
334
338
230
349
292
279
325
389
347
322
297
248
344
357
336
364
289
337
263
417
371
277
314
267
334
405
252
378
348
262
307
349
304
289
365
340
378
235
361
288
274
270
325
281
368
341
336
334
226
271
380
312
349
324
352
310
363
290
278
278
335
320
367
340
346
290
312
374
310
251
244
299
344
371
288
337
392
330
322
306
315
371
288
265
324
370
245
318
261
335
367
351
279
310
337
378
264
363
280
368
314
364
294
303
330
294
305
322
342
283
283
274
318
343
380
280
278
325
313
348
315
308
263
289
258
183
332
292
378
320
262
275
294
354
280
270
268
302
346
399
372
358
307
389
333
291
286
317
337
283
282
271
305
317
269
286
240
309
298
320
360
368
357
223
367
339
351
363
362
363
303
232
328
198
278
232
309
286
344
282
343
250
314
289
400
391
315
301
235
306
377
259
352
370
243
280
334
308
333
317
389
332
286
326
249
310
291
315
289
317
351
258
337
349
260
318
277
293
344
278
370
294
303
381
310
289
354
355
294
236
367
233
351
294
269
274
398
312
298
266
268
316
199
363
323
273
310
315
345
327
254
343
224
324
344
324
279
311
323
313
207
381
355
296
305
321
270
279
305
320
369
375
362
254
323
302
316
317
324
352
292
318
280
377
223
295
311
309
368
353
230
300
370
337
352
254
398
277
310
239
267
344
350
309
359
277
324
306
375
370
285
369
232
288
318
262
242
359
329
303
359
241
335
389
249
271
233
384
376
260
367
390
362
346
357
229
201
365
375
319
213
298
333
315
348
355
271
362
375
244
325
241
220
283
353
282
357
314
405
328
326
309
460
317
319
336
329
356
297
348
248
252
376
280
324
371
354
358
283
301
316
376
302
296
364
351
266
256
354
317
292
335
254
259
340
218
326
256
304
326
302
347
294
273
365
332
283
329
347
253
398
348
342
319
293
250
375
319
340
302
281
335
236
348
359
318
330
339
291
324
360
336
298
352
325
370
349
287
393
377
292
322
315
330
248
279
313
325
323
287
268
319
341
308
274
333
361
226
358
332
371
315
286
309
367
335
279
279
343
282
261
318
283
269
295
274
320
328
342
297
352
298
285
313
334
286
271
364
308
274
282
329
290
274
301
354
279
388
302
328
233
357
379
286
332
330
297
386
362
316
288
270
348
261
308
334
315
399
343
282
338
314
372
321
257
396
290
210
315
258
334
367
315
279
291
350
345
265
314
336
291
288
382
334
254
369
334
295
278
212
346
292
274
334
311
312
269
383
332
301
380
269
319
329
326
346
313
342
391
356
367
355
360
341
354
262
347
247
357
362
298
370
253
297
323
303
289
383
292
298
269
348
300
290
330
298
346
373
242
326
320
233
276
342
320
290
300
282
276
305
335
326
315
394
320
346
264
290
313
363
254
332
351
325
354
334
306
311
334
325
282
341
357
395
332
302
318
281
328
317
326
343
324
335
332
343
258
249
270
316
258
360
256
275
273
249
366
341
350
204
352
304
297
247
280
230
287
271
319
260
333
348
356
340
306
398
350
335
359
235
375
314
276
409
299
382
323
275
239
295
229
289
345
359
306
325
291
306
356
299
282
322
364
270
251
295
377
322
284
406
327
320
275
294
381
290
232
296
371
342
369
277
259
328
349
287
330
327
275
337
277
325
317
329
311
264
246
215
324
228
281
275
362
296
256
366
242
256
304
339
324
279
359
297
344
308
356
245
357
232
253
338
283
389
266
348
370
299
241
307
345
407
267
312
298
276
285
299
327
337
301
287
349
283
324
263
298
310
289
352
340
348
299
337
297
310
365
306
332
260
294
356
286
331
360
368
309
254
362
227
321
265
283
253
316
410
294
344
211
378
404
314
319
339
272
275
366
330
302
337
246
298
259
257
363
240
338
341
287
302
249
410
320
279
365
339
334
357
350
420
389
322
328
273
221
407
288
311
310
342
321
394
315
403
285
251
315
326
280
283
321
362
347
373
286
274
316
291
365
293
310
414
294
284
326
286
347
396
244
309
324
312
305
427
399
254
286
328
301
252
307
337
314
322
256
390
274
314
291
292
311
318
379
316
294
302
343
308
356
312
277
298
378
263
360
306
313
341
404
247
353
298
369
397
291
318
301
299
301
408
343
325
373
323
313
235
211
338
274
286
307
241
250
357
304
300
410
333
268
275
323
329
251
299
349
249
255
340
283
305
349
267
370
338
297
246
294
304
322
279
360
315
322
316
334
292
372
341
318
257
319
324
348
343
298
261
300
346
313
294
261
388
365
373
267
264
237
340
322
263
307
326
357
236
364
385
351
315
277
295
350
330
300
353
333
385
399
292
339
329
317
315
329
336
355
306
229
319
255
265
248
346
291
335
292
366
343
268
380
336
283
272
304
297
290
338
358
270
328
256
256
398
326
335
337
403
337
350
378
339
284
372
274
308
305
275
313
216
298
272
259
387
334
318
304
398
235
349
325
376
407
260
375
396
288
344
280
310
283
246
361
359
324
335
282
259
342
306
340
301
335
191
334
294
359
345
301
321
307
291
411
294
363
318
353
369
389
290
267
312
234
336
387
312
290
359
293
378
303
314
324
273
307
280
333
407
295
421
322
347
294
298
337
259
327
353
244
312
357
357
324
292
228
332
340
398
376
308
354
331
239
363
256
295
363
274
360
375
332
354
258
337
333
289
372
238
339
365
397
294
328
326
356
320
328
309
268
306
309
290
262
308
330
299
290
264
275
250
351
285
271
368
284
328
281
329
363
247
335
378
327
348
304
403
324
315
336
298
327
195
308
290
270
370
340
336
309
311
288
295
282
290
297
280
374
339
319
255
323
317
337
307
280
344
363
282
311
284
300
437
392
344
266
340
327
260
279
383
257
321
367
327
301
231
324
375
324
359
302
321
249
277
356
375
276
291
300
340
298
299
287
256
341
294
398
317
314
320
310
304
364
297
296
344
383
341
388
314
327
371
342
273
379
263
314
339
345
327
330
354
347
363
308
377
404
301
377
300
327
327
314
336
429
291
361
389
375
358
337
312
273
287
264
236
332
282
381
258
240
299
297
386
363
351
350
323
241
322
322
294
283
267
316
292
318
336
308
302
298
325
264
336
293
333
259
368
261
330
327
349
285
306
362
366
356
288
328
314
328
279
309
328
287
405
357
249
386
340
258
245
287
396
282
270
351
331
312
310
330
316
290
341
335
316
387
299
285
255
331
340
356
283
270
454
395
316
327
303
179
385
369
380
294
361
291
324
297
322
357
356
320
333
286
262
322
353
288
340
291
295
350
302
297
333
342
272
334
326
281
353
320
310
349
269
356
284
322
354
308
379
402
258
250
294
288
313
343
302
281
289
215
306
345
309
320
365
250
309
377
382
337
363
321
328
339
368
284
255
289
294
403
337
342
274
318
397
411
295
351
329
368
349
344
429
352
370
305
291
369
338
296
343
236
387
290
388
321
353
328
348
350
355
291
370
298
323
271
364
269
303
316
285
301
333
357
286
343
309
332
234
355
289
311
266
226
296
336
275
306
313
354
298
338
363
287
281
298
254
325
297
372
281
415
371
324
245
268
365
369
272
324
350
312
352
315
264
284
327
297
285
325
301
305
345
349
327
316
340
293
328
346
268
325
408
353
260
287
260
277
422
278
293
305
329
317
333
357
354
304
352
343
292
310
376
387
244
265
302
297
258
269
380
324
336
303
291
386
394
244
262
407
312
280
328
314
248
378
335
323
312
305
283
348
323
298
299
372
263
367
313
322
314
319
348
278
336
268
297
360
346
426
360
298
306
324
257
392
371
361
345
341
282
324
361
270
309
381
245
224
406
356
354
305
244
351
355
305
260
292
261
374
285
314
267
446
293
289
416
419
251
306
339
297
296
301
384
286
242
288
313
367
366
321
266
308
313
370
364
369
287
277
288
339
257
321
246
312
254
381
274
282
356
327
282
315
302
384
311
325
239
250
316
253
457
287
337
309
395
329
230
308
316
306
347
257
360
277
341
345
305
390
341
330
297
325
310
321
328
361
315
308
275
393
318
295
368
335
238
334
346
234
318
312
294
302
319
261
280
325
249
289
316
374
413
287
358
351
306
254
295
339
368
361
318
374
240
281
324
287
325
225
275
377
291
349
308
274
378
353
269
272
227
283
297
296
291
267
300
258
356
326
230
349
339
351
336
304
367
360
326
296
261
333
279
293
328
380
297
316
328
283
233
307
304
395
215
361
304
227
315
347
302
426
372
326
293
332
287
293
370
281
290
343
294
291
299
321
317
372
297
374
319
289
290
274
319
261
268
267
315
385
305
303
293
354
330
319
301
291
301
385
243
407
349
374
370
305
332
432
343
414
353
314
360
362
278
232
332
354
300
285
302
306
320
340
327
305
347
360
367
363
291
279
294
322
280
262
324
365
250
291
299
346
377
353
341
298
351
382
319
319
401
198
340
303
372
330
374
337
351
378
295
329
312
409
301
232
399
360
367
285
307
299
284
321
354
280
299
292
282
256
278
256
281
333
341
337
320
310
312
295
274
253
283
381
305
334
303
350
248
291
337
367
345
239
316
311
359
267
372
286
338
322
354
255
369
284
367
225
357
272
374
381
350
395
378
413
378
348
313
236
331
282
228
263
385
332
328
340
292
291
275
261
267
300
325
305
409
368
320
283
263
199
190
299
306
336
304
316
298
249
299
259
339
259
301
279
315
411
360
328
325
255
349
364
335
333
336
354
345
288
352
215
370
379
315
389
332
323
297
249
336
274
276
360
248
354
374
293
303
279
276
378
338
319
336
381
262
287
300
320
358
343
348
288
369
342
328
220
285
336
276
331
249
322
376
350
243
370
281
370
322
353
336
378
319
319
351
401
320
304
254
219
344
357
297
309
348
338
287
258
359
264
292
305
339
337
284
349
300
369
381
344
317
343
373
297
349
382
305
339
325
388
260
325
323
344
313
319
292
390
345
384
302
298
256
384
366
322
382
259
327
301
341
303
299
319
325
335
346
325
309
473
297
289
220
348
273
363
373
324
326
331
322
398
276
320
324
258
321
350
288
283
258
277
312
320
421
287
345
317
379
327
315
250
251
289
261
410
305
304
314
308
416
326
298
318
286
388
312
305
327
395
215
297
268
286
382
342
286
324
338
248
323
295
379
337
368
365
311
308
220
298
338
317
324
320
366
296
329
285
306
275
302
262
353
294
336
324
228
210
373
345
324
317
226
352
285
385
302
250
372
346
326
311
302
289
374
287
311
366
283
220
313
356
325
312
344
367
342
277
313
343
376
317
413
389
265
318
386
290
314
410
370
301
282
334
318
330
302
307
333
313
413
364
302
267
368
250
347
270
300
334
326
279
303
346
292
346
301
306
438
270
344
373
373
334
282
278
336
273
364
280
327
358
362
350
264
328
349
217
307
297
366
193
269
307
371
321
372
298
320
303
253
346
279
330
244
277
277
272
308
343
327
283
272
281
245
331
288
341
306
362
363
315
352
279
223
306
315
371
273
364
306
308
351
339
341
310
279
399
367
297
349
283
316
303
328
378
318
311
336
279
323
280
363
298
360
293
343
264
324
293
312
316
282
251
245
364
304
333
317
307
305
314
364
314
344
289
319
351
404
380
383
300
331
260
270
242
338
293
319
348
339
314
359
288
350
380
344
301
303
372
282
306
325
319
327
344
388
361
341
378
268
264
264
332
342
222
257
372
310
366
321
345
249
356
310
313
389
274
236
316
287
336
298
355
284
337
322
293
271
266
277
255
311
320
313
289
325
429
331
285
249
313
324
266
386
293
303
351
265
331
365
365
382
380
357
356
317
342
398
302
371
284
259
341
250
286
344
318
348
339
287
299
252
363
395
335
332
371
317
298
275
354
361
350
276
307
307
299
339
319
302
336
296
284
377
291
238
294
284
320
281
311
369
338
305
350
400
394
318
370
378
310
250
260
292
348
329
302
411
391
345
283
284
284
317
320
234
340
327
316
349
326
379
350
340
390
320
305
333
331
231
303
230
328
350
343
330
326
298
226
284
311
337
371
388
341
371
325
351
312
316
269
368
315
353
379
321
277
315
298
274
310
338
332
360
357
293
249
377
337
283
292
300
385
345
324
344
319
333
325
368
348
309
294
292
287
296
384
312
306
354
339
307
430
324
344
269
314
291
330
345
359
307
355
327
306
318
320
348
276
215
366
320
366
384
360
373
358
315
353
334
358
312
305
319
313
301
295
359
312
338
316
340
344
360
340
344
322
361
288
250
248
233
238
331
375
329
355
275
354
307
303
339
355
339
353
368
425
366
348
323
207
310
353
319
271
286
413
271
271
275
398
321
334
256
311
277
336
295
337
345
339
287
288
311
322
289
367
307
330
340
400
353
357
363
276
238
354
317
329
350
239
233
351
296
325
363
322
275
320
353
366
330
384
346
281
300
328
241
266
323
360
318
293
259
391
259
354
302
363
364
340
304
320
196
418
270
375
248
262
401
369
368
300
352
254
278
359
300
240
311
283
294
325
257
245
352
316
332
333
354
284
351
329
317
340
374
328
362
255
333
364
321
339
354
339
241
269
327
329
280
294
397
303
347
307
324
257
288
290
285
274
352
398
283
351
241
356
354
336
302
270
337
316
342
355
331
268
273
296
400
390
287
287
293
302
279
299
274
381
289
326
356
394
295
326
355
382
293
298
373
313
334
282
361
341
279
343
387
361
357
357
221
350
225
347
306
297
289
310
311
317
335
246
322
395
278
230
311
362
282
247
246
314
239
330
289
278
347
321
296
341
404
272
284
297
294
325
328
403
270
351
317
294
349
265
344
299
298
315
269
353
343
326
367
342
276
287
440
343
321
311
341
240
294
287
308
307
289
438
351
264
278
268
363
325
344
331
253
329
331
209
313
344
332
304
225
336
254
331
303
319
275
366
339
334
292
311
395
280
258
333
304
375
385
300
355
362
338
332
335
340
260
354
242
296
350
255
296
271
308
303
338
385
303
351
313
359
337
299
340
290
325
302
244
277
400
322
335
281
387
370
207
431
367
342
326
335
326
393
299
304
285
367
353
331
320
344
328
282
286
377
341
333
255
351
376
370
329
311
317
345
253
281
338
288
383
288
331
386
341
293
325
259
324
400
279
305
355
324
297
340
368
328
334
370
284
274
330
377
396
311
384
371
277
387
231
388
272
311
301
282
210
287
305
314
333
243
295
313
359
295
383
273
256
275
314
344
284
285
305
303
338
318
325
271
358
228
273
253
342
230
273
352
291
312
350
357
298
298
332
242
401
328
363
263
359
334
251
294
258
259
328
286
351
403
332
283
254
346
318
330
392
305
272
297
395
357
230
206
321
308
219
363
392
389
237
319
282
308
293
321
327
332
326
327
343
359
340
366
411
295
348
289
262
309
350
370
308
311
323
317
336
303
358
337
304
373
268
258
361
355
307
325
309
314
369
402
343
361
304
258
356
341
300
302
343
376
354
344
279
345
353
304
290
368
326
302
351
312
324
267
337
245
334
300
260
274
257
373
307
271
237
344
393
314
281
285
321
292
243
348
392
312
333
336
212
282
336
306
343
349
278
368
320
287
345
349
372
329
303
372
353
311
333
380
328
285
373
301
276
308
286
326
335
310
298
299
317
282
298
335
314
294
354
201
303
275
339
268
301
297
354
282
378
318
290
379
315
308
308
319
293
288
370
374
261
386
268
274
288
299
323
374
326
263
327
282
329
282
291
387
379
366
315
317
282
277
351
356
354
333
368
347
320
226
291
295
240
333
293
308
350
279
274
341
247
326
336
282
322
311
374
293
370
333
366
330
338
297
200
266
325
336
285
319
254
286
295
346
407
310
337
320
287
291
383
313
362
280
296
325
377
337
366
402
311
226
304
307
210
328
325
399
321
315
384
309
341
254
308
327
205
281
282
304
330
394
344
273
283
261
274
372
305
248
358
323
391
274
297
333
313
329
299
321
356
315
278
279
404
325
343
265
334
329
343
321
327
310
341
262
327
366
318
359
420
312
302
391
272
313
335
331
324
301
374
252
299
350
276
283
301
310
303
334
324
334
332
373
369
296
336
312
269
226
348
361
239
336
294
369
308
398
328
283
312
316
313
335
221
268
359
377
356
370
306
305
321
371
286
338
254
274
309
352
332
309
362
369
240
350
229
329
315
275
267
296
305
233
307
314
367
301
413
232
298
221
272
279
327
276
352
379
324
261
364
302
383
311
341
330
208
408
404
356
335
252
356
384
327
319
312
223
356
309
380
274
272
271
291
303
275
286
174
329
373
340
365
298
325
378
350
237
215
293
279
337
289
406
334
337
418
286
286
196
261
339
303
276
366
319
377
302
270
294
346
296
267
351
330
310
340
326
297
328
303
300
353
279
293
345
308
287
311
251
375
329
340
314
398
315
296
246
318
308
313
329
336
296
314
385
361
355
299
300
352
286
390
322
351
320
322
248
301
308
339
215
400
365
313
371
248
302
283
311
319
361
302
341
335
300
313
299
301
332
331
401
328
325
308
341
401
288
339
285
331
311
298
353
371
313
361
360
345
301
324
315
307
286
339
288
352
239
357
360
281
327
301
322
358
347
353
292
337
332
290
272
294
316
345
349
275
288
359
371
272
344
287
370
285
252
388
334
298
345
256
344
245
349
325
266
276
400
304
305
271
345
274
318
281
339
293
335
355
252
278
421
298
283
339
292
339
364
288
331
333
290
318
354
279
297
331
364
362
337
354
365
424
390
247
325
319
309
319
365
302
326
402
341
259
335
304
332
232
278
248
294
328
304
406
240
327
357
312
287
330
184
346
330
294
294
298
260
339
394
333
331
319
361
265
281
264
383
386
371
331
370
283
370
296
307
328
316
307
387
412
313
334
354
349
407
309
334
330
319
355
381
278
304
335
384
361
308
371
319
329
361
324
252
256
339
325
285
284
353
274
267
346
339
174
381
378
286
323
313
412
254
324
354
278
325
251
314
296
273
340
395
340
349
363
286
339
380
394
333
265
264
284
309
392
348
352
284
312
417
406
296
288
341
294
313
337
293
342
251
350
375
340
336
305
312
349
271
278
308
337
359
339
287
267
333
273
312
378
244
350
316
274
375
280
406
386
364
312
396
241
311
340
268
373
333
344
321
289
383
310
321
297
328
374
319
283
258
230
254
357
298
306
267
307
413
332
305
303
342
297
372
280
409
325
295
317
284
295
320
270
296
359
408
326
265
316
326
305
327
279
348
344
339
314
278
336
315
321
333
334
369
344
339
279
349
254
344
291
173
318
337
343
299
320
349
286
341
349
222
299
334
269
289
267
338
341
346
376
329
354
307
302
317
248
316
293
311
376
279
392
355
251
371
370
366
268
257
342
256
366
388
371
256
292
323
228
337
354
285
352
232
355
417
334
385
350
274
297
312
344
276
290
257
296
350
355
308
364
290
339
376
315
365
399
364
335
296
305
267
329
283
330
345
340
361
382
309
376
303
314
334
351
335
365
290
345
315
300
391
391
295
227
253
341
282
374
337
347
278
359
344
301
315
343
293
272
307
229
375
377
333
313
317
290
359
319
304
293
256
314
265
240
213
335
349
335
293
206
304
226
378
329
394
340
315
326
317
244
368
258
250
379
292
326
324
296
283
342
350
323
244
313
291
314
307
167
340
386
298
332
335
339
320
360
319
336
299
339
389
348
329
359
263
306
304
355
361
342
260
337
288
315
308
278
429
349
325
368
324
360
377
297
368
320
312
376
274
307
332
268
329
278
251
275
284
388
311
319
327
352
272
335
246
296
309
241
279
277
293
243
387
324
329
318
192
284
257
337
266
362
301
375
286
284
286
301
344
293
381
277
306
233
404
324
328
290
253
267
291
399
276
319
306
294
309
385
348
231
370
330
243
333
399
283
320
343
288
317
407
307
369
360
386
400
288
365
357
247
366
310
346
373
278
337
286
306
423
311
288
361
308
289
349
242
231
404
304
277
394
339
336
396
354
320
347
296
351
246
386
323
317
360
338
304
271
377
305
260
356
280
363
308
287
332
276
339
369
403
374
389
252
330
304
355
362
299
328
277
292
316
301
355
313
315
323
327
314
394
250
312
340
273
315
347
279
396
319
313
359
308
398
344
329
309
397
224
338
362
308
344
342
359
386
405
215
403
309
347
260
310
314
337
376
290
215
376
215
341
295
369
355
332
325
380
287
319
329
306
320
333
336
333
252
367
401
285
321
347
339
351
350
315
286
264
354
333
306
336
361
323
270
294
343
274
337
354
382
313
295
288
261
375
268
289
373
339
280
324
279
329
268
300
371
327
277
356
315
411
397
368
300
300
395
282
297
296
349
287
305
291
309
309
337
320
259
301
384
312
282
323
301
280
359
279
299
259
314
235
282
309
337
394
344
262
260
388
329
333
281
342
321
304
284
297
359
311
293
290
317
293
236
306
313
308
252
372
286
294
326
291
234
376
238
343
271
380
382
330
347
366
270
317
391
318
293
323
322
257
344
284
351
330
287
367
385
417
267
298
313
315
373
319
331
344
281
353
295
248
294
264
361
261
328
293
321
312
274
299
272
259
334
293
340
238
266
327
296
342
286
334
289
260
381
334
257
356
307
309
284
354
318
319
335
384
325
272
296
312
340
288
305
290
381
350
243
267
269
336
312
301
322
354
356
297
258
272
327
362
338
287
269
327
397
269
323
376
353
351
326
280
343
350
205
381
346
275
309
281
327
356
279
283
253
362
212
313
309
286
394
343
298
258
368
338
341
349
249
371
324
269
272
273
317
271
349
323
395
274
289
288
286
324
268
337
302
358
265
260
334
327
367
310
323
416
334
331
266
318
379
328
418
388
244
332
311
216
372
295
290
269
320
283
320
351
355
183
361
366
287
266
346
340
298
257
303
309
326
318
317
320
333
246
376
278
285
317
356
362
387
223
299
331
364
341
291
338
303
392
264
249
270
368
340
232
379
269
397
300
324
355
332
340
296
299
349
268
302
325
333
319
313
334
293
298
238
296
302
400
270
290
322
405
304
317
262
293
353
321
349
398
355
235
281
412
324
316
286
356
273
325
354
264
318
343
395
259
325
314
410
338
335
356
271
358
248
302
274
424
300
290
310
415
343
305
270
299
184
340
243
362
355
316
280
321
222
323
346
300
343
258
321
301
310
326
291
263
337
291
337
294
243
377
388
288
266
282
324
322
313
293
286
312
322
285
274
373
301
275
370
307
297
313
255
266
334
339
365
362
270
347
283
255
438
393
239
343
371
314
294
280
344
279
189
385
343
262
269
350
275
349
314
330
342
311
278
365
297
346
289
370
276
309
276
421
275
248
350
330
369
357
276
335
312
379
385
287
356
352
328
334
354
310
360
394
335
348
346
322
316
300
287
280
355
352
258
320
309
298
362
254
318
308
396
266
348
301
302
282
327
286
273
346
239
328
338
355
396
362
319
321
347
255
306
296
276
305
241
273
294
326
294
324
330
357
404
343
293
226
254
273
274
359
317
287
298
297
321
285
251
266
265
315
297
320
241
335
327
263
293
356
356
285
303
281
332
260
395
284
342
254
411
316
348
326
302
294
366
280
314
260
257
289
360
344
316
311
290
431
325
323
324
330
256
369
345
302
249
326
300
298
289
278
273
264
325
206
392
347
287
330
257
352
260
379
368
320
262
323
290
322
317
307
331
326
230
356
358
245
311
291
293
271
385
294
381
335
242
416
361
355
214
351
339
350
425
351
270
317
308
320
343
362
269
340
304
284
350
298
315
339
279
330
415
357
315
332
313
310
293
301
288
380
279
284
340
256
342
368
195
352
322
352
370
357
328
341
337
317
320
400
348
251
316
341
288
323
349
317
289
391
299
275
388
352
374
307
299
306
306
338
249
318
295
284
316
326
325
328
310
362
314
329
377
277
339
302
406
407
324
313
291
271
343
271
308
313
308
342
230
384
401
342
301
225
261
318
312
285
317
262
364
326
295
344
328
358
303
319
272
261
299
314
337
370
289
337
315
312
359
318
351
320
377
273
308
326
330
318
346
392
316
323
375
310
313
256
348
314
346
413
344
374
219
403
269
262
309
290
382
250
265
306
345
291
344
353
367
320
326
312
323
416
330
287
382
336
258
321
320
309
336
258
296
262
330
273
320
253
312
339
364
275
296
355
363
279
260
364
307
292
256
278
326
316
311
410
375
288
262
290
407
277
330
362
405
360
398
293
298
345
244
354
268
349
277
361
246
290
384
300
316
349
262
354
241
307
352
366
320
291
301
351
341
294
268
292
252
335
263
189
307
296
362
299
347
253
315
290
351
254
401
338
300
388
322
292
343
376
400
295
318
202
415
318
263
347
378
345
293
248
338
283
285
293
337
378
350
363
392
308
303
367
286
247
310
307
336
337
269
335
395
306
280
285
265
308
310
355
305
326
312
307
271
361
308
308
320
279
303
325
325
354
398
311
268
411
296
346
272
165
369
354
333
351
312
324
287
290
279
382
278
364
383
404
271
288
271
324
396
282
324
353
297
318
342
357
378
270
259
290
332
278
336
337
328
302
340
307
332
323
266
376
319
261
291
226
281
237
312
384
232
298
318
332
278
292
299
333
321
352
333
294
291
363
301
254
357
377
291
462
349
326
393
366
305
336
253
364
287
317
290
385
282
292
365
256
359
336
268
328
275
296
350
223
287
326
327
293
352
309
352
198
372
344
245
361
323
317
330
323
368
320
324
374
298
347
326
371
246
242
271
326
369
317
302
281
319
240
334
246
248
304
323
279
377
389
339
311
285
290
373
401
282
334
278
382
405
322
228
311
340
341
334
273
292
270
250
408
285
295
269
358
387
385
290
318
312
313
385
292
314
322
208
248
245
301
368
330
334
349
348
282
318
388
328
337
366
331
357
294
422
355
328
308
397
335
349
280
261
295
265
411
353
329
280
370
278
313
361
297
401
292
336
377
401
238
381
387
331
322
220
307
297
316
372
345
251
246
299
339
285
283
265
323
277
340
335
291
310
388
286
346
203
378
291
328
355
272
319
323
372
308
281
332
322
307
292
292
374
366
338
421
334
334
266
356
306
338
244
353
335
270
312
277
364
304
350
393
345
340
289
162
310
355
301
349
305
373
317
259
398
361
328
418
287
240
276
295
376
414
393
313
311
344
255
311
294
229
340
283
424
316
414
332
282
392
384
348
287
272
341
317
375
239
335
329
358
330
383
356
341
345
349
346
263
304
325
360
311
347
260
389
317
297
349
418
299
283
343
298
336
288
342
341
366
370
210
258
364
339
314
368
324
321
277
325
188
403
309
378
410
285
236
354
363
265
340
340
336
311
358
320
350
288
293
264
317
358
218
324
400
308
197
241
338
270
356
290
316
356
322
379
373
317
342
412
325
273
370
314
309
212
256
333
362
252
401
244
317
332
348
400
313
280
337
234
374
325
242
254
394
266
334
353
351
376
257
354
280
345
336
321
300
320
367
375
272
386
355
373
296
243
306
416
276
270
432
445
359
310
293
310
361
206
358
379
236
359
386
386
342
252
339
385
357
353
234
215
314
383
370
264
321
331
330
272
362
252
363
291
268
323
287
407
265
290
279
329
303
364
396
270
304
345
294
289
338
276
323
342
373
378
257
306
327
253
267
337
357
276
248
335
294
341
338
325
276
349
286
284
321
342
357
229
310
347
231
288
298
247
288
257
302
285
287
312
349
382
391
278
268
340
339
343
345
333
377
336
312
248
348
356
336
337
292
343
338
331
359
325
317
316
292
272
311
232
349
335
338
314
280
352
355
367
324
301
314
306
268
392
312
286
386
256
368
350
266
268
285
403
319
393
365
320
344
284
346
321
368
404
329
329
290
313
334
253
276
332
352
323
416
244
359
243
350
362
309
310
301
295
366
351
341
306
360
299
358
363
277
307
310
351
306
300
312
279
181
269
328
289
358
369
323
371
331
376
291
426
413
355
303
296
241
292
312
297
309
376
364
345
376
279
271
229
285
349
246
352
366
319
262
349
304
333
287
258
284
293
299
337
283
328
352
349
304
331
226
388
341
366
370
375
283
370
321
294
291
267
335
361
354
357
349
345
283
409
224
277
366
322
324
359
308
334
304
365
207
355
320
280
313
243
321
277
255
358
271
345
337
357
297
305
347
329
338
316
261
267
335
302
351
349
235
336
315
349
359
278
365
282
316
261
281
336
247
411
270
296
377
347
228
295
321
329
364
255
425
350
280
280
316
285
223
381
303
354
278
329
335
346
365
368
283
281
284
341
280
344
294
297
326
355
350
303
313
333
321
265
346
272
341
250
353
319
422
316
342
298
327
299
324
230
348
390
288
353
319
366
353
343
291
359
331
294
359
325
345
277
376
335
418
353
292
298
356
405
253
332
281
332
322
311
380
245
393
279
313
304
406
336
323
313
326
308
318
265
240
347
242
297
245
330
317
329
283
403
262
352
284
240
348
328
325
359
351
311
328
301
351
308
392
202
375
307
377
337
218
295
357
255
310
285
335
354
304
265
301
281
258
276
364
365
238
372
169
303
343
372
337
237
283
323
291
292
286
330
244
279
282
305
368
328
356
412
311
410
298
270
282
329
333
312
333
333
284
408
282
355
296
339
310
299
284
344
302
340
320
306
375
357
330
364
282
342
328
276
252
330
303
343
260
244
329
320
363
389
280
342
289
320
364
331
304
304
324
389
334
284
212
273
295
360
376
369
288
327
288
344
388
325
364
374
348
302
307
348
341
301
391
281
327
374
253
309
380
262
334
281
314
344
282
290
332
346
241
307
332
234
334
291
333
333
226
247
250
339
337
303
290
302
307
308
316
327
317
303
382
337
317
270
265
305
269
399
369
315
313
342
321
228
201
349
312
299
298
383
285
233
311
256
368
290
349
341
346
331
290
277
355
308
326
342
319
315
304
279
395
291
319
325
326
247
375
234
277
260
316
314
278
339
367
329
346
246
267
287
284
350
244
396
288
355
280
348
327
282
317
331
298
314
321
255
374
362
256
319
332
372
300
304
357
337
346
293
311
383
293
246
265
351
390
264
242
241
319
271
326
276
358
281
337
316
353
279
278
288
257
381
337
290
274
315
366
369
372
336
280
333
278
317
297
326
311
359
312
288
308
324
381
355
377
177
298
376
341
311
380
321
291
384
350
383
382
281
308
250
303
272
271
307
364
336
309
334
264
415
337
341
371
238
389
362
404
272
296
272
351
260
349
270
309
276
354
361
238
238
267
331
285
366
387
256
383
305
351
412
316
243
326
290
312
238
309
339
374
284
346
384
324
339
374
357
293
317
293
336
300
296
358
312
236
302
291
288
296
323
371
294
304
305
343
338
344
298
337
267
313
336
307
323
270
370
349
283
309
336
273
313
337
273
358
278
279
346
342
278
290
362
325
297
323
269
266
344
269
291
210
336
351
277
356
348
292
270
349
304
345
217
382
317
305
333
352
316
302
287
287
299
243
326
299
327
261
349
376
260
333
311
293
335
413
292
344
282
298
228
373
358
301
296
347
381
361
330
332
256
367
279
293
278
357
340
253
294
297
342
272
289
356
290
320
343
311
394
298
273
338
280
391
325
285
342
253
260
329
274
327
271
407
319
264
323
312
294
332
218
367
290
291
305
344
329
339
354
259
350
337
355
220
266
231
379
349
308
322
292
292
263
299
302
259
329
278
263
295
375
346
226
260
282
318
286
303
328
289
226
332
300
301
409
304
389
334
326
275
266
255
371
233
286
337
352
345
317
339
268
353
311
300
225
326
296
281
272
345
291
329
234
341
386
279
268
263
262
357
338
262
308
276
314
278
353
322
289
284
244
358
298
323
364
281
312
251
280
341
194
324
248
296
263
322
331
280
308
256
272
213
298
275
273
252
342
384
364
342
328
290
304
312
433
317
381
384
297
317
405
268
310
304
347
365
241
307
387
366
310
381
300
311
218
346
316
303
347
356
242
301
266
349
257
321
390
306
265
274
295
299
325
284
329
353
308
248
306
304
210
328
374
293
328
292
380
294
349
308
357
298
319
284
342
330
308
264
350
322
340
292
283
369
334
335
328
244
233
222
311
257
363
301
265
300
289
344
334
377
359
388
345
357
348
277
364
291
306
316
289
291
355
325
354
256
411
347
376
312
327
344
193
348
328
347
357
392
344
248
383
245
314
346
349
282
303
349
270
359
287
298
359
347
347
278
340
339
274
326
372
294
244
309
283
256
307
289
325
315
221
213
311
338
260
398
360
376
360
301
266
303
259
286
235
425
338
322
353
328
304
280
306
264
307
314
274
255
390
372
363
374
368
386
310
377
331
262
402
370
303
261
261
347
372
273
324
258
403
332
365
380
261
363
303
338
261
325
319
314
300
234
384
362
315
285
311
271
363
271
324
444
341
312
342
249
331
257
342
267
315
240
298
359
362
381
369
301
361
278
296
350
250
318
372
312
318
310
284
244
312
286
328
298
278
274
337
265
348
264
325
337
284
407
304
305
347
397
292
271
253
310
269
346
356
223
294
344
303
370
383
299
384
260
283
317
333
280
276
278
260
307
316
352
334
332
272
292
329
393
293
347
276
272
383
394
347
393
290
378
237
347
222
302
307
371
361
210
258
340
386
341
334
345
333
383
337
342
220
381
296
328
432
281
277
274
373
367
365
319
308
325
282
309
314
393
319
244
318
336
312
264
301
343
293
307
281
369
403
351
274
253
305
289
272
314
285
282
264
268
309
321
294
261
310
311
230
217
311
311
421
312
282
352
227
285
317
345
412
252
229
405
324
311
405
237
354
271
402
329
307
365
282
298
297
259
310
246
267
350
368
291
269
418
363
366
314
375
335
364
316
330
320
335
367
341
224
396
268
327
268
374
281
381
347
345
345
376
288
355
272
322
302
334
377
326
307
289
283
294
309
283
315
267
268
199
299
329
324
291
333
260
310
239
381
293
304
269
290
366
330
307
273
346
353
334
372
312
333
287
337
314
288
336
278
290
335
306
347
372
312
334
358
322
320
317
374
296
333
286
229
312
334
331
237
339
345
296
346
289
293
406
283
234
423
307
285
302
272
278
303
264
382
362
312
329
340
291
310
223
326
322
306
369
330
271
313
238
306
345
295
387
351
332
290
274
310
293
319
334
296
307
295
248
282
291
320
347
342
321
249
329
318
308
297
408
297
329
366
360
289
351
374
317
299
292
319
320
306
343
397
308
364
339
274
308
210
255
339
320
349
310
309
375
313
321
292
305
302
295
357
259
362
281
340
282
380
336
221
319
357
319
239
409
308
299
340
372
336
349
364
259
287
339
211
340
290
319
254
247
287
244
334
316
323
343
348
322
332
309
315
330
356
321
321
365
215
318
342
401
315
367
271
375
294
308
302
277
303
335
261
318
306
279
368
292
275
305
270
299
366
381
297
348
287
297
313
338
343
285
310
405
367
333
271
299
346
410
340
307
414
295
393
324
336
314
331
323
320
337
284
332
296
376
322
319
402
226
286
378
343
344
347
280
375
177
327
298
393
267
245
374
346
302
329
420
326
375
336
386
277
317
306
276
335
333
237
370
307
238
273
279
283
337
321
371
287
316
271
270
301
295
293
276
333
331
315
278
353
219
354
335
371
299
240
295
367
406
314
365
306
311
360
334
333
337
359
317
395
238
256
325
332
324
355
250
339
282
308
304
264
365
270
278
308
399
369
347
230
387
380
341
374
289
309
314
398
287
339
298
278
350
346
320
330
303
290
301
308
378
254
253
302
364
309
330
287
345
316
357
346
308
324
354
218
377
289
319
319
348
282
350
326
365
278
287
296
215
397
398
288
367
276
276
283
359
305
312
312
388
284
301
323
329
342
340
358
293
292
320
320
290
352
405
318
362
268
310
325
363
242
306
375
348
285
381
348
282
340
309
178
323
383
354
340
378
286
334
331
378
332
319
312
250
351
278
284
293
231
288
306
280
304
307
332
293
307
268
344
317
354
333
257
348
326
341
410
392
373
240
255
355
368
276
288
274
362
327
236
300
333
326
352
295
400
338
315
263
245
331
311
294
324
290
317
240
266
218
367
336
348
279
372
296
295
326
265
372
332
327
358
364
314
292
230
293
367
372
332
266
335
287
286
261
300
362
311
314
388
307
354
229
326
271
294
297
321
359
232
337
381
316
365
331
284
395
336
353
290
340
318
310
306
198
289
393
324
323
295
266
279
309
364
299
216
337
253
402
315
292
349
374
337
274
312
290
255
277
339
364
261
313
332
317
301
327
375
403
311
281
324
341
305
414
287
274
329
237
319
288
319
319
373
315
262
340
297
311
304
325
275
437
331
309
351
294
285
311
316
349
316
389
212
292
328
434
355
330
290
315
389
389
290
356
202
314
308
360
327
308
348
249
241
353
288
329
246
304
247
347
293
374
318
374
308
275
313
344
337
328
276
357
295
348
378
381
352
315
354
321
293
371
333
362
361
336
332
341
262
331
281
334
353
246
392
307
301
304
324
275
349
284
319
263
380
363
265
341
312
229
289
244
354
337
304
243
251
342
277
231
364
341
344
236
328
375
293
386
346
303
299
328
309
217
327
367
250
212
358
296
303
265
275
391
341
284
346
357
325
261
327
310
256
337
307
308
287
365
384
274
290
309
383
352
299
292
367
360
297
303
343
395
304
327
292
381
311
248
316
354
268
316
354
385
375
287
276
238
323
218
350
413
296
293
249
252
356
369
350
337
230
364
300
324
255
315
336
398
224
289
281
326
337
247
341
364
380
281
376
290
373
351
310
298
312
317
376
313
267
400
324
320
383
270
214
332
292
347
321
283
229
211
265
302
362
218
250
279
298
310
227
340
402
336
325
256
331
351
319
371
285
294
283
330
392
333
232
325
317
319
388
327
284
353
302
320
335
252
329
267
332
369
346
261
274
306
242
223
298
295
361
299
366
311
261
400
365
345
248
188
353
346
333
355
331
272
401
361
348
322
398
391
330
321
276
364
331
362
215
356
335
398
331
301
361
401
342
318
347
351
441
246
316
318
385
290
379
348
343
356
332
344
323
263
316
340
302
324
285
332
335
393
299
269
321
352
299
347
283
361
402
430
327
313
299
350
329
313
324
278
419
391
308
271
322
314
292
314
338
292
326
311
414
284
363
312
370
212
276
260
283
240
324
242
378
268
328
315
371
304
330
303
258
283
355
316
384
334
449
305
361
379
313
386
337
360
244
297
314
367
291
341
379
356
233
362
341
292
336
270
246
327
235
327
280
351
284
329
282
304
361
276
314
317
356
276
293
278
297
292
246
196
336
282
347
210
395
226
361
335
332
372
276
315
364
320
341
325
381
352
261
315
318
355
325
361
341
277
255
345
302
315
307
292
337
335
215
306
315
356
299
352
291
298
261
391
313
381
373
296
322
343
392
305
349
260
273
325
243
314
304
306
361
354
268
341
327
311
326
382
327
289
389
357
350
316
281
277
273
261
300
276
302
304
295
333
401
282
363
350
302
276
309
324
341
356
344
346
295
392
317
229
334
298
208
278
302
310
334
342
335
334
356
339
340
312
316
285
260
354
367
322
272
293
305
310
277
345
325
311
398
286
280
353
301
337
297
332
276
360
288
365
196
285
355
295
267
306
328
296
285
298
327
356
334
348
345
327
361
328
277
327
305
332
215
320
357
276
286
303
355
328
305
299
344
264
313
319
308
363
290
247
345
301
331
275
208
329
306
312
430
343
401
352
264
280
387
285
263
394
331
249
301
297
391
317
360
249
366
309
325
288
291
335
347
274
312
269
359
370
324
322
334
291
320
261
324
332
383
409
308
355
308
259
307
384
308
332
316
371
308
345
334
351
348
346
321
350
307
278
304
271
338
256
266
289
304
273
397
351
380
291
266
320
268
387
345
215
231
371
372
346
273
318
372
249
325
277
346
399
284
320
299
364
325
326
300
324
324
231
275
328
252
310
358
306
354
322
353
380
334
286
222
252
364
376
243
321
317
282
360
332
347
223
305
295
355
299
355
221
268
325
349
291
335
322
378
394
267
316
332
354
324
254
282
303
342
327
300
243
319
229
360
278
346
337
408
283
318
289
342
389
360
365
333
258
307
319
267
258
298
300
358
306
369
392
346
324
344
303
356
287
300
261
314
316
315
284
328
358
327
382
292
280
310
259
309
372
352
356
254
357
225
316
271
310
268
371
268
263
328
310
217
342
222
268
225
368
330
330
302
330
258
344
351
362
371
378
308
266
303
324
305
271
338
385
270
363
273
377
326
270
380
334
328
313
298
369
419
348
272
242
339
336
259
388
350
309
300
323
280
291
281
371
333
280
339
282
370
240
360
318
272
320
339
243
382
349
396
311
302
313
287
322
274
347
337
273
348
353
297
372
326
338
255
399
309
276
290
354
290
312
332
283
245
311
340
333
309
262
320
346
219
340
376
381
405
348
357
348
375
305
344
298
376
276
305
405
386
379
343
262
300
371
377
392
314
255
330
271
252
292
314
317
288
274
270
281
396
354
292
354
339
285
274
373
307
309
363
286
291
370
282
336
315
295
333
315
345
327
376
340
368
388
418
274
346
342
302
165
308
388
368
374
342
259
299
364
321
366
367
225
239
322
301
355
281
366
304
324
322
350
322
248
298
252
303
383
357
359
279
400
311
282
237
342
335
314
319
274
395
286
340
342
330
335
261
318
362
249
330
343
391
303
358
389
366
345
281
256
351
336
312
353
315
307
376
295
315
337
393
299
303
303
303
381
272
305
284
374
214
309
337
398
309
256
351
289
306
266
267
345
247
311
342
262
358
307
282
345
319
318
355
327
297
365
236
302
309
286
249
243
360
340
277
279
302
346
327
239
271
259
350
294
264
307
304
271
341
313
324
322
345
326
313
323
323
267
343
381
299
291
216
284
291
384
295
361
311
291
325
318
319
254
376
336
279
236
209
272
315
297
239
263
209
362
299
334
340
275
250
292
251
367
396
306
271
326
339
236
285
298
430
292
335
363
318
347
358
290
337
359
360
320
351
377
314
287
270
267
372
332
356
317
306
337
317
251
291
217
255
317
273
276
365
273
311
357
373
227
296
300
387
349
322
242
323
392
279
311
216
285
331
295
318
363
286
297
321
295
389
279
268
320
343
267
285
299
378
297
315
315
369
368
320
352
323
347
319
283
300
339
321
301
357
230
299
389
326
320
308
299
255
269
305
376
248
372
283
282
308
256
351
270
308
374
347
328
351
308
360
308
239
397
289
333
299
379
368
281
311
337
354
291
273
290
438
289
233
327
276
303
299
331
341
283
298
304
410
256
336
313
313
349
243
395
301
316
306
255
353
341
310
320
306
302
322
301
266
318
346
349
293
307
296
192
331
276
317
306
259
245
318
315
338
331
377
290
289
391
284
284
412
299
303
356
277
344
174
349
338
301
344
309
328
409
276
365
282
264
376
343
345
268
329
228
298
389
325
308
350
297
300
300
347
329
351
332
385
296
344
360
263
306
282
283
381
328
335
271
338
226
270
360
163
325
271
289
370
306
387
306
274
250
306
319
334
320
344
390
334
353
380
338
246
343
286
376
307
325
211
378
358
408
343
385
372
349
347
304
331
337
277
314
292
346
326
285
273
309
271
336
328
317
305
359
243
321
329
365
262
284
303
382
306
392
266
393
331
330
234
328
336
381
386
290
354
304
292
361
267
189
335
306
349
321
280
270
282
309
265
235
339
381
306
374
341
192
318
303
313
331
354
317
230
399
294
358
367
265
339
342
236
357
357
355
282
282
384
365
344
308
406
344
341
300
215
316
305
379
380
273
399
256
325
269
359
331
330
343
288
353
338
297
371
287
236
333
301
301
307
290
341
268
321
280
318
319
201
354
353
363
320
297
287
226
248
326
345
318
287
253
216
284
334
313
335
338
297
309
280
309
275
250
325
375
304
363
296
376
290
260
254
338
245
255
257
324
244
362
340
297
395
319
201
347
217
289
239
341
344
357
358
305
420
282
376
312
299
348
264
332
293
293
227
314
343
358
366
396
280
290
279
386
371
323
246
401
307
349
370
236
397
351
339
264
309
385
244
335
324
354
267
365
347
338
345
255
280
353
360
308
349
310
283
381
261
351
336
204
385
339
279
299
306
309
299
173
294
292
255
307
293
309
361
232
301
297
293
261
295
258
344
389
290
296
282
365
252
332
303
312
371
310
349
363
360
403
354
318
319
298
280
286
307
352
330
346
298
296
308
259
394
346
377
233
372
350
360
295
324
367
301
261
359
267
335
359
367
389
284
307
323
355
300
366
360
319
229
344
245
352
277
245
270
380
334
282
386
322
256
318
322
328
327
289
288
317
309
350
262
263
303
318
363
298
380
285
324
293
283
286
250
374
307
290
333
354
380
279
301
301
367
349
409
287
313
403
352
335
307
384
255
299
242
263
367
396
318
236
280
329
335
320
296
286
309
384
286
365
303
303
353
271
314
244
255
357
333
260
278
291
340
279
339
266
241
383
378
361
295
274
415
306
304
270
343
317
355
355
349
368
277
341
320
288
307
320
370
288
258
397
305
367
370
281
333
348
311
278
318
296
358
246
361
278
270
323
395
296
281
299
301
241
313
368
297
389
330
301
315
311
249
311
322
363
308
351
349
285
262
255
352
324
384
294
318
333
343
278
386
319
330
292
404
308
255
334
363
367
333
290
334
244
295
343
412
406
240
325
337
334
235
246
330
382
409
313
305
374
371
310
370
390
323
306
351
359
329
381
334
344
323
266
355
321
346
264
302
359
311
322
347
269
353
266
303
248
363
299
312
289
294
384
312
313
253
299
280
295
323
273
412
332
349
329
352
287
375
347
329
286
319
404
320
280
336
276
369
313
305
393
321
282
309
367
322
238
292
418
272
317
346
322
363
284
356
357
275
236
430
259
338
258
305
292
290
361
263
350
363
354
271
420
352
291
325
320
342
351
322
334
297
321
298
288
316
379
365
334
272
319
394
305
279
332
368
276
380
347
339
354
375
227
298
373
300
307
393
292
347
369
424
342
322
295
380
314
409
320
262
330
339
290
268
359
302
280
317
283
300
268
307
266
293
264
358
270
283
311
348
379
277
364
324
390
302
278
372
332
326
256
262
433
398
335
332
340
332
156
305
282
330
264
315
384
305
362
330
335
193
295
309
303
314
346
316
308
296
361
328
318
296
388
297
316
257
302
368
299
333
292
404
244
258
307
364
318
299
277
283
335
344
346
306
344
233
320
320
321
307
348
316
350
326
401
197
321
345
271
300
342
369
229
300
309
276
309
325
242
398
318
322
323
227
326
395
214
336
236
344
299
307
337
378
343
276
294
309
325
335
282
290
341
357
306
340
314
294
339
277
263
307
278
322
242
323
272
368
349
307
311
292
299
376
350
282
291
354
282
337
235
377
309
341
314
296
258
278
345
309
331
412
325
248
281
315
370
327
383
281
264
320
226
292
278
330
392
338
387
309
275
276
336
283
282
298
335
349
371
305
309
296
418
261
336
331
417
315
348
338
284
256
258
346
353
407
283
302
291
321
365
201
308
278
298
269
319
337
384
282
291
318
344
303
300
373
296
316
303
236
308
362
373
256
280
273
413
371
357
277
317
330
352
269
331
351
356
254
199
279
275
307
347
279
400
329
338
299
275
391
317
298
255
332
404
351
325
391
299
325
289
251
325
271
302
352
344
336
283
298
329
321
406
330
353
290
358
390
328
377
249
285
278
370
349
306
296
357
291
342
309
296
308
359
325
334
351
289
308
372
366
327
382
293
320
288
317
265
302
263
385
312
351
379
275
362
381
295
230
302
319
294
275
310
277
271
286
181
339
241
322
249
332
296
272
304
247
321
347
290
307
373
328
321
324
304
326
292
308
313
305
198
362
299
343
363
322
305
290
324
291
327
326
455
310
229
317
284
289
319
311
315
334
321
298
377
370
316
364
294
309
352
299
268
279
297
329
391
326
424
337
344
268
300
355
314
339
313
287
320
305
359
331
221
251
315
287
360
327
440
305
246
289
302
291
376
237
325
259
358
435
366
342
338
336
301
391
236
318
347
347
389
309
385
390
407
322
334
252
324
271
332
369
298
350
299
313
344
311
393
274
350
325
372
305
337
418
270
300
365
330
379
306
303
216
347
292
381
222
357
306
311
334
266
220
301
340
299
297
277
404
329
280
296
270
385
301
352
291
216
308
388
324
299
366
282
265
346
315
257
321
300
310
355
261
421
400
270
291
288
392
334
294
272
171
198
321
274
285
415
322
342
269
347
293
386
348
336
266
397
402
370
335
338
361
297
336
358
296
275
335
362
346
294
380
350
256
375
310
341
326
364
315
299
337
309
214
285
256
271
223
397
351
273
282
338
335
358
357
329
312
308
342
381
307
332
357
300
357
313
294
338
384
334
284
294
325
346
243
295
391
318
342
387
213
246
275
259
298
281
299
259
327
307
352
346
356
267
287
277
374
341
282
301
264
322
274
270
328
300
343
269
371
313
306
287
365
366
321
306
380
362
387
244
395
289
375
325
322
270
215
265
380
277
246
355
301
338
315
330
271
332
286
408
284
312
313
297
397
304
329
254
376
278
327
321
337
265
336
261
332
293
351
316
354
426
358
252
269
294
289
335
316
394
316
288
317
364
340
321
336
327
322
347
268
315
292
297
303
348
275
344
314
342
336
320
302
251
250
267
346
338
368
301
285
265
402
294
298
276
363
305
302
383
330
336
327
312
351
381
289
314
310
299
362
435
346
247
386
219
305
290
323
309
362
290
324
230
304
367
301
310
361
322
366
314
304
284
360
305
274
357
360
325
291
228
273
288
305
291
274
380
398
368
302
341
312
429
307
325
367
439
309
299
324
252
310
313
231
363
266
288
364
351
330
400
279
243
302
384
203
286
313
351
369
233
397
288
276
295
346
342
314
441
351
399
309
262
289
356
308
219
334
364
385
286
364
354
322
309
321
306
326
269
367
293
282
332
328
363
277
303
333
264
369
343
334
298
337
323
339
309
296
254
305
307
307
373
291
392
256
315
282
299
391
336
334
266
318
348
257
284
318
235
303
330
318
327
299
341
352
303
365
261
360
383
338
299
267
328
332
369
275
338
298
324
271
396
348
304
361
289
338
252
285
355
327
353
358
304
316
348
256
339
332
323
312
324
259
409
389
289
299
221
326
387
292
304
326
339
384
257
331
403
285
315
275
309
347
325
300
331
350
318
280
368
336
344
274
278
284
311
349
375
313
323
341
343
300
271
282
289
323
289
329
317
356
393
288
345
352
289
346
308
354
224
275
339
323
302
355
341
333
257
288
344
269
285
270
273
345
360
221
305
296
401
289
295
356
300
298
279
369
242
355
378
293
307
327
325
282
357
266
270
227
351
276
347
330
267
339
284
335
289
262
225
368
284
330
321
279
286
324
316
326
326
375
287
303
385
329
280
271
334
294
313
288
258
328
314
230
331
348
301
286
338
390
302
325
323
337
327
280
358
322
324
330
297
309
326
280
287
362
336
276
350
329
193
340
332
269
367
358
350
337
287
247
321
392
360
327
347
279
274
324
296
308
334
324
325
357
348
293
193
305
259
323
392
321
410
312
318
395
343
383
328
255
323
259
349
414
303
252
268
242
288
253
287
248
304
330
278
327
291
296
382
369
292
311
318
287
284
334
244
369
276
288
284
318
384
332
305
365
319
296
319
340
375
276
306
385
349
319
303
322
286
344
407
330
317
340
320
375
286
305
316
336
331
343
367
283
336
349
280
377
283
354
316
414
380
304
317
283
297
358
333
278
386
348
308
278
312
303
316
347
330
329
302
426
256
297
319
362
388
267
292
295
314
268
277
352
318
333
332
340
289
288
335
308
327
297
375
334
300
234
286
391
380
293
360
367
348
359
351
305
182
316
407
372
371
295
317
341
313
307
279
297
308
246
278
357
319
350
315
300
326
289
302
349
324
332
354
333
321
392
337
339
334
340
286
316
337
372
321
220
361
311
273
279
258
330
315
237
296
308
294
224
360
309
327
377
364
349
309
374
326
264
346
324
393
348
205
337
368
308
300
378
376
353
326
368
375
290
344
344
279
300
316
308
306
332
264
296
335
360
340
317
346
371
203
347
242
329
342
379
352
399
311
321
330
371
330
325
272
320
265
388
323
340
257
343
293
321
346
274
325
312
251
333
296
230
290
371
229
287
347
305
323
330
354
329
339
347
267
282
329
305
276
361
267
299
306
290
361
195
313
304
360
362
299
313
255
331
324
272
353
300
270
265
283
332
254
321
314
278
271
304
351
355
338
357
332
270
339
233
299
345
350
311
330
302
338
302
366
358
321
229
303
339
317
238
299
306
317
390
357
303
352
334
240
296
261
298
318
357
297
359
281
331
346
260
303
357
282
264
359
302
291
340
253
371
278
297
377
432
271
375
167
289
302
272
268
335
354
385
342
270
333
336
396
312
377
363
286
322
339
287
187
353
287
285
346
245
238
343
345
294
407
342
305
247
347
408
249
298
324
404
253
384
354
371
240
345
376
362
285
442
360
376
342
378
282
321
354
324
280
242
357
312
309
256
346
290
266
316
344
358
321
279
292
323
324
383
320
307
362
349
377
421
380
290
331
277
285
359
276
377
305
351
184
340
339
414
266
309
370
286
310
288
275
288
365
294
318
310
323
330
387
356
326
284
320
295
312
342
346
289
338
303
312
269
298
376
312
333
274
262
421
319
297
371
282
342
279
327
325
309
262
339
357
355
362
401
333
375
285
307
268
379
323
304
326
333
282
371
362
317
337
356
303
301
315
348
355
251
320
322
290
276
402
284
380
352
246
322
324
306
307
295
272
337
320
341
304
316
340
282
306
275
230
332
283
333
350
340
347
361
227
252
297
295
313
328
369
305
235
296
331
322
330
339
331
297
341
330
427
373
345
324
265
290
383
312
356
308
320
330
264
321
311
322
348
340
353
375
366
254
309
330
320
362
271
395
381
332
342
400
336
309
199
358
296
311
339
318
330
307
315
296
414
421
404
271
352
319
315
343
378
314
405
377
352
420
257
376
221
308
329
294
290
302
228
308
312
324
341
377
312
321
372
324
347
294
311
373
292
279
328
390
335
339
321
297
294
360
322
322
294
316
400
240
321
262
291
307
268
282
235
250
359
315
342
323
271
354
321
329
311
302
291
271
362
316
284
332
273
361
304
221
297
297
308
289
232
277
376
343
322
323
298
339
326
315
332
372
303
395
375
364
327
309
300
385
367
329
313
311
329
331
382
377
287
325
306
366
328
291
291
339
403
348
295
285
357
325
299
350
167
304
315
308
274
284
255
341
301
259
340
347
286
338
256
309
240
320
300
337
269
350
322
368
300
243
304
313
303
372
242
355
330
394
334
247
344
309
298
328
298
388
368
326
376
342
330
260
275
284
307
335
328
310
303
328
372
319
369
343
334
437
327
278
316
351
391
333
339
327
322
345
279
297
279
303
248
292
272
281
323
303
354
349
355
337
352
206
352
365
315
277
297
331
318
293
304
307
383
297
340
338
247
355
287
323
256
301
297
344
255
306
300
303
340
317
275
330
333
274
294
309
344
325
289
343
333
356
245
360
314
306
325
348
371
209
278
294
278
353
326
250
304
309
246
359
325
308
332
387
277
373
234
332
315
328
270
303
341
358
333
292
330
310
343
256
284
385
321
306
368
288
366
344
354
265
211
329
401
273
370
204
332
351
316
280
326
276
321
307
302
262
248
299
318
311
326
278
351
296
289
307
313
268
305
376
305
355
379
323
355
246
312
297
299
326
388
335
343
279
308
284
313
313
276
383
319
270
289
230
309
366
393
311
349
297
305
323
428
307
339
379
256
344
323
295
389
356
339
311
321
334
313
316
332
339
316
323
346
289
284
387
338
335
258
246
330
218
397
339
268
275
345
321
318
407
301
321
346
264
294
378
245
409
253
328
328
376
307
260
297
292
314
339
344
329
345
399
277
335
347
332
386
252
307
264
374
391
348
298
337
383
305
306
314
299
314
276
249
220
342
355
328
298
333
322
356
258
321
348
390
193
336
308
316
371
327
336
321
340
359
363
340
333
364
279
360
364
281
382
339
304
290
327
321
395
322
382
293
312
324
273
280
327
351
228
313
222
316
272
304
302
331
315
215
332
356
329
310
192
352
258
270
319
346
358
283
394
408
329
375
309
328
290
308
328
310
238
366
314
347
316
244
281
307
388
333
205
309
222
289
293
354
313
325
320
279
270
339
326
320
353
366
351
276
273
335
337
306
395
272
248
232
261
343
366
307
252
333
352
263
289
296
336
268
367
323
282
324
368
344
362
394
342
278
442
288
261
274
318
348
295
286
287
314
370
274
339
303
376
346
310
432
256
356
349
320
414
366
327
349
340
303
406
299
271
258
314
318
405
262
299
373
261
268
315
351
379
287
225
393
334
385
301
289
355
371
324
321
370
426
352
308
386
335
332
303
370
306
333
334
280
281
269
312
352
300
348
336
321
325
352
306
295
311
308
290
318
323
330
333
363
337
272
311
386
319
262
367
379
375
208
355
283
323
317
251
238
229
361
331
284
284
319
350
284
360
358
299
375
241
310
286
299
382
233
296
232
352
332
313
305
313
297
245
332
284
325
362
332
258
359
371
321
379
227
438
364
326
330
344
320
328
373
345
305
332
392
352
327
277
246
354
281
330
283
294
211
269
313
290
290
318
307
317
295
343
367
248
275
361
316
284
287
308
404
280
374
309
340
277
343
393
314
349
298
335
249
332
304
288
283
266
365
271
325
265
297
285
352
303
358
380
389
298
343
347
306
305
363
222
383
412
345
413
319
290
323
330
324
309
331
298
315
219
352
410
270
327
385
408
355
400
325
282
239
340
298
341
244
225
325
291
350
320
389
313
306
206
316
318
301
218
316
267
240
316
305
326
253
382
289
379
285
304
334
268
385
313
262
403
289
314
268
205
281
337
373
334
273
323
261
293
298
258
319
341
332
287
333
288
234
328
264
258
374
295
306
327
322
293
284
357
271
233
428
308
292
389
238
285
343
296
346
284
312
374
249
395
268
360
324
342
277
457
290
222
351
335
285
332
355
415
347
275
358
376
374
272
348
313
328
362
323
375
289
216
290
277
302
379
278
287
309
298
363
261
215
279
335
341
327
373
346
277
316
337
291
347
269
334
245
292
268
238
278
282
217
336
307
357
370
367
264
291
389
289
381
306
301
298
255
272
239
356
390
267
323
283
389
234
318
400
273
325
360
255
265
269
249
275
330
311
332
272
327
312
381
293
290
357
339
371
304
266
282
353
296
305
346
329
264
410
312
304
383
213
335
341
242
335
312
317
392
336
357
290
337
399
314
291
281
362
359
368
359
322
302
291
270
299
284
329
362
280
267
312
327
373
342
326
290
272
290
393
306
233
354
337
324
330
197
375
269
264
370
409
325
298
354
303
341
284
336
341
232
312
389
372
337
314
232
297
260
281
388
354
325
270
296
331
229
259
355
352
364
288
339
336
346
303
337
321
269
381
302
306
322
384
309
283
322
336
360
405
322
323
300
355
357
314
347
310
313
333
224
303
215
425
303
265
316
271
373
289
322
267
326
321
372
267
334
259
336
359
391
285
301
255
278
218
270
321
312
292
316
320
335
368
336
403
305
348
351
373
210
336
282
349
376
303
298
351
300
340
433
291
258
358
292
291
424
285
306
272
254
307
400
314
330
279
254
288
340
207
324
313
260
326
363
350
350
317
376
277
363
267
321
298
319
313
310
394
305
267
269
417
337
296
287
263
367
330
262
276
216
347
328
328
298
380
276
294
316
284
354
285
264
289
370
355
346
340
371
362
335
372
292
366
312
317
324
302
419
293
316
303
340
376
332
409
344
315
310
357
346
317
294
367
336
371
308
357
288
351
216
364
373
224
369
343
385
335
273
406
329
227
417
372
362
270
284
305
276
276
364
332
343
353
372
321
316
256
401
324
247
354
262
312
267
305
320
330
245
301
341
333
300
341
351
287
342
339
313
303
257
362
385
356
200
356
303
351
259
349
290
261
227
279
273
288
344
294
308
304
342
274
338
333
354
355
308
254
377
349
328
391
289
312
286
312
285
343
324
353
280
396
315
345
329
313
321
299
237
365
295
373
255
294
315
276
308
315
329
363
319
223
344
332
292
246
344
291
372
230
299
352
327
330
300
358
276
370
377
371
309
260
385
347
237
317
299
376
356
264
384
334
304
291
314
273
326
307
413
406
215
304
374
357
267
242
377
382
397
326
330
271
298
287
312
299
311
305
284
378
298
311
349
399
329
341
423
319
273
288
300
326
333
210
273
247
295
221
380
343
300
343
265
250
283
315
305
342
294
369
312
294
340
297
293
319
215
321
351
301
258
379
278
365
359
342
252
280
318
353
436
355
287
289
344
393
370
302
306
324
291
306
279
299
247
362
294
256
380
307
316
297
349
318
302
399
293
277
241
331
345
257
346
358
354
321
369
352
367
317
271
276
265
283
400
256
319
337
281
268
236
268
367
254
321
331
207
299
257
341
315
260
364
343
352
316
335
330
310
320
356
343
365
380
359
401
279
280
284
261
342
269
281
370
339
363
368
323
300
380
336
288
348
295
431
394
242
289
339
285
304
324
278
311
329
288
284
304
300
298
363
350
320
358
329
304
276
390
304
306
232
315
372
237
386
381
358
361
343
364
174
343
391
319
387
327
266
347
309
356
350
248
329
307
260
325
291
362
377
336
229
322
314
257
315
304
314
333
307
295
306
361
290
249
382
351
396
321
353
312
275
275
347
310
300
245
308
283
343
353
224
317
260
325
298
331
365
306
362
346
386
350
261
315
335
317
371
314
398
381
252
314
280
275
332
371
388
342
395
252
292
334
363
336
353
328
189
334
346
305
382
327
349
312
289
295
338
301
365
323
268
271
355
338
309
271
310
302
362
277
258
306
374
345
276
319
308
323
272
293
317
258
298
329
266
344
365
329
371
334
299
285
334
322
258
317
254
280
328
274
337
242
339
312
292
227
285
315
377
264
316
310
391
390
324
269
376
254
237
339
280
296
243
335
148
313
313
338
195
305
208
239
336
270
231
323
241
320
289
317
288
293
364
399
339
368
348
342
361
347
413
283
227
201
328
352
303
347
319
259
233
356
188
300
338
299
319
283
239
422
327
359
352
392
304
263
353
363
331
310
291
360
324
265
335
208
300
364
236
281
345
240
235
319
316
410
243
410
287
345
349
343
356
332
233
223
380
325
380
273
390
316
379
367
301
384
309
332
330
334
337
281
218
281
392
381
346
276
332
390
289
330
399
321
365
237
400
230
321
285
300
332
320
257
273
318
343
338
303
299
320
329
416
405
407
318
263
310
257
372
274
326
329
280
359
294
250
318
322
265
277
315
325
288
378
378
295
346
253
343
285
364
355
379
263
263
341
362
271
302
338
327
358
396
295
318
339
270
291
221
367
322
337
317
330
344
306
304
257
332
302
346
348
298
317
323
264
339
315
279
365
358
312
279
303
265
338
330
315
336
367
377
302
350
238
359
345
330
260
266
370
308
354
299
329
290
367
313
245
332
357
344
304
367
309
339
365
336
284
328
313
307
362
344
373
294
358
334
204
341
371
359
321
220
338
315
375
340
384
250
329
329
271
340
260
279
339
346
307
327
227
302
359
363
308
327
317
348
250
270
312
298
384
323
357
299
288
302
303
289
306
394
278
304
296
346
371
316
279
293
329
382
383
353
296
301
288
351
283
309
341
316
261
262
350
327
283
320
410
295
369
206
364
324
315
357
420
283
362
306
350
278
297
283
375
352
391
332
310
389
324
316
223
383
341
286
322
280
319
309
346
261
300
310
332
241
248
248
326
242
315
355
300
326
368
206
289
330
272
262
347
311
294
265
265
316
230
357
366
345
296
360
327
385
283
302
275
330
268
297
342
311
362
356
352
299
256
317
256
294
365
450
254
318
312
296
299
339
308
389
334
329
326
327
322
362
332
378
311
238
293
331
259
260
372
308
278
378
343
212
300
382
238
338
318
349
313
380
379
332
380
361
364
353
357
376
274
244
371
236
247
329
337
276
272
342
305
333
304
329
311
381
273
316
357
375
276
238
325
285
343
299
328
335
375
373
320
352
294
319
306
376
261
342
286
384
330
267
371
279
305
309
295
300
278
298
300
390
340
336
321
337
346
269
320
306
366
348
380
326
284
310
359
311
275
357
386
220
370
380
341
307
305
295
348
344
209
332
313
303
263
257
329
354
310
259
274
321
313
328
294
333
383
319
335
324
325
328
293
266
395
315
387
316
301
372
295
352
315
275
359
283
243
353
247
376
328
364
240
357
317
294
317
320
325
354
306
339
249
305
254
351
251
332
330
348
347
336
261
300
304
299
371
298
340
306
307
315
386
366
258
358
332
298
337
356
337
222
310
289
338
287
335
246
242
308
298
257
346
326
287
315
250
384
261
365
294
300
284
312
295
338
247
344
339
268
330
365
356
358
250
370
234
311
334
367
309
231
419
243
283
372
280
204
308
345
309
360
330
286
331
383
414
325
313
268
312
240
334
303
298
314
336
302
282
348
282
377
161
308
324
400
405
334
401
360
350
270
299
283
280
319
338
290
398
306
350
353
312
346
351
295
241
297
322
347
319
382
371
327
316
399
373
308
348
330
309
367
277
324
294
312
306
268
333
344
265
335
330
266
302
281
324
356
304
309
285
193
344
308
417
371
263
291
393
323
330
324
346
341
347
299
392
308
301
306
346
318
289
328
341
301
330
327
320
252
308
331
358
316
337
243
371
371
286
375
309
332
303
337
319
386
280
296
305
306
307
285
306
312
211
317
313
393
313
383
293
298
365
312
294
381
360
297
283
339
302
406
280
329
316
318
352
287
313
280
296
349
337
249
327
319
307
299
383
348
324
336
355
284
336
285
205
345
342
324
302
402
349
310
310
386
260
330
358
290
260
303
265
293
297
247
291
260
282
323
301
328
296
387
305
372
315
382
343
294
361
392
313
308
321
267
317
247
334
364
311
331
291
289
245
379
297
314
382
247
314
285
245
328
341
265
300
349
360
322
290
317
380
337
409
326
249
290
294
339
251
343
320
317
359
272
360
298
361
358
280
285
352
352
335
321
328
214
332
310
335
321
403
392
308
391
329
272
307
303
291
362
327
278
313
334
299
301
273
259
259
383
299
370
304
339
266
259
293
355
310
267
282
284
370
274
373
342
334
232
301
280
360
304
363
369
287
275
257
346
360
303
308
293
233
350
231
305
336
260
344
336
433
377
305
361
354
289
390
351
339
358
351
309
236
364
296
285
368
317
269
375
347
333
346
304
320
379
289
286
318
230
255
351
372
303
251
313
403
318
343
425
304
215
361
327
311
267
402
233
287
262
253
327
272
359
336
329
329
366
341
252
317
328
293
298
291
341
296
324
225
355
286
324
290
279
272
311
450
315
345
349
308
303
314
328
232
345
291
321
348
288
385
315
388
389
323
277
343
349
402
304
233
240
293
335
334
326
414
303
328
291
337
316
369
327
319
247
302
337
331
340
260
354
274
262
368
251
227
321
370
265
314
367
255
313
373
260
351
267
254
419
273
356
297
297
322
384
279
218
315
299
400
346
334
301
328
287
365
326
417
266
291
316
273
342
302
370
381
314
315
289
274
311
405
378
281
258
364
306
428
301
402
363
302
350
360
430
295
301
244
232
265
312
309
325
274
322
292
323
294
312
326
351
291
298
235
226
345
328
234
336
298
274
333
310
284
251
311
402
271
339
286
371
258
313
361
320
307
326
295
410
402
242
297
321
332
276
355
287
334
367
326
286
324
286
348
380
315
289
331
358
333
339
224
280
264
279
307
309
304
327
370
279
314
293
311
268
282
305
357
278
307
286
271
335
304
369
291
327
290
237
356
301
280
406
288
327
294
282
260
292
337
223
258
425
406
313
311
290
303
379
235
217
342
357
332
268
318
278
268
306
369
308
322
322
347
358
260
386
308
354
225
343
238
342
357
340
346
264
300
339
336
323
338
291
288
280
268
313
307
336
390
306
293
374
318
323
229
286
304
330
291
369
339
324
213
282
414
342
379
282
308
346
307
266
367
242
348
339
320
244
271
316
266
297
337
360
287
386
276
343
379
272
300
303
306
343
286
361
339
313
325
328
368
297
350
370
300
323
342
210
310
348
364
342
302
356
326
352
339
255
301
288
337
308
327
317
237
336
345
292
338
318
367
318
297
329
305
373
369
353
239
362
291
374
325
339
333
339
374
242
362
285
268
406
316
362
296
342
304
331
315
336
343
348
331
333
308
348
257
298
244
332
326
366
242
348
313
373
361
314
228
333
300
319
294
352
395
314
405
308
311
253
262
354
345
244
299
299
298
307
341
400
318
304
321
310
277
241
272
265
400
289
295
355
287
248
225
278
313
185
315
256
281
258
322
373
447
342
263
315
339
207
249
357
296
324
332
272
338
332
338
333
299
400
353
284
303
279
266
288
316
296
307
308
276
220
281
258
313
209
357
319
288
305
294
285
318
312
263
245
383
288
224
397
375
367
318
328
312
311
301
281
289
289
271
295
296
282
303
279
308
381
329
297
258
298
245
252
360
283
232
365
369
326
354
359
299
311
304
296
315
347
328
310
387
278
322
273
303
308
366
324
277
297
313
284
346
293
332
308
243
297
239
302
318
262
291
326
333
332
362
330
278
352
255
264
299
308
233
301
271
317
375
241
245
310
351
334
304
349
323
329
326
347
427
344
330
299
359
324
404
324
387
258
345
262
374
339
340
278
334
366
333
302
262
325
342
358
335
349
327
350
283
267
296
263
365
367
325
336
317
361
318
274
310
253
290
218
308
288
364
340
406
350
236
226
283
313
339
377
307
359
335
360
359
301
249
358
330
293
302
336
293
294
353
390
373
346
340
318
350
325
322
243
384
269
348
240
332
392
351
274
321
333
349
206
310
365
317
207
366
373
289
314
298
271
251
415
322
345
273
321
366
444
281
368
330
297
394
311
409
408
411
321
360
317
328
353
296
354
197
327
248
310
284
329
275
357
342
293
369
209
351
255
300
381
362
373
305
402
259
309
332
271
316
280
412
291
301
282
267
281
395
324
281
388
252
241
308
319
370
358
330
300
355
373
234
325
285
265
298
390
370
283
253
341
394
311
376
273
349
309
246
304
351
365
327
323
323
309
277
263
317
301
314
315
272
264
330
228
329
308
357
304
290
302
265
338
370
335
356
303
361
261
333
257
280
290
413
299
347
284
414
346
314
300
229
227
312
345
383
306
320
355
369
335
295
211
284
292
296
269
373
285
345
354
345
293
298
363
319
267
291
301
362
374
325
349
370
305
306
329
246
362
254
224
291
273
265
370
280
361
255
260
355
275
275
279
283
333
276
236
308
313
306
319
355
364
336
333
356
296
311
306
362
348
292
305
331
262
368
323
338
268
347
341
288
360
324
305
341
353
324
240
347
198
349
261
253
326
380
410
313
307
300
369
324
298
273
287
359
326
385
371
277
316
369
321
324
317
263
311
365
314
389
397
336
290
370
319
279
320
412
295
287
368
246
412
347
310
331
305
330
302
302
290
277
367
316
317
322
379
324
235
418
377
331
317
328
282
381
386
315
302
336
367
295
309
331
410
365
307
275
205
349
282
261
313
332
349
294
360
290
345
343
298
275
279
294
442
262
370
269
393
296
280
370
347
372
402
294
326
253
268
331
307
358
310
267
284
260
270
216
301
265
315
289
390
286
375
293
342
366
312
355
336
342
262
232
305
316
377
376
298
370
307
221
412
344
289
399
306
325
279
260
384
290
328
387
345
345
268
241
320
342
334
325
238
369
306
270
312
276
308
398
213
314
243
308
323
309
298
240
364
313
301
329
323
364
361
322
332
320
328
268
353
263
369
363
344
344
320
343
232
404
334
317
247
318
304
293
306
381
299
314
305
328
259
376
396
366
326
251
282
253
261
336
339
318
287
424
386
350
255
404
337
336
358
364
301
313
257
272
332
271
385
367
278
257
360
313
388
331
309
311
285
366
311
368
254
335
363
240
401
283
318
358
300
230
222
357
283
387
353
297
258
350
306
261
310
245
331
286
253
320
327
335
387
345
342
264
274
280
311
320
340
350
241
198
360
301
284
280
394
335
358
246
332
290
304
328
328
214
337
240
375
198
375
310
369
393
369
325
362
295
367
305
365
313
301
301
340
317
357
357
293
362
314
345
268
262
298
327
302
249
278
327
380
325
331
355
263
324
336
368
322
365
388
389
318
333
313
360
344
331
376
346
232
206
338
320
278
235
328
348
277
316
344
258
272
392
292
362
362
333
341
287
327
333
171
275
303
249
333
332
379
298
316
359
346
235
315
327
176
387
360
383
361
234
344
286
278
345
296
292
390
352
331
326
298
297
248
351
242
221
355
398
278
293
347
354
287
287
263
309
278
337
260
308
232
318
302
352
323
364
376
348
282
352
306
239
225
294
264
335
278
327
221
313
373
271
318
335
329
338
357
331
275
289
217
432
272
309
330
310
345
308
285
301
406
272
337
350
358
191
297
346
312
321
317
309
362
310
309
400
309
353
251
227
329
398
338
291
361
259
279
299
249
300
361
332
327
410
337
321
245
321
345
313
344
244
337
348
342
240
378
322
411
315
352
309
336
330
346
322
269
348
334
315
294
324
286
279
405
405
363
314
370
298
398
294
296
285
294
369
289
347
320
269
242
320
228
388
387
423
340
374
351
391
301
380
382
217
372
372
340
367
274
357
349
283
332
351
308
304
333
235
333
357
267
318
346
262
273
252
319
322
340
376
289
276
349
321
370
281
330
365
328
323
249
290
324
310
311
373
333
242
308
264
273
344
314
397
292
253
306
306
246
271
314
325
334
370
250
280
315
329
321
275
324
326
273
377
311
329
306
388
343
395
329
331
352
324
330
263
276
323
286
285
323
282
326
198
278
257
308
248
357
318
350
322
248
245
335
385
346
318
338
412
328
372
312
304
285
360
364
261
307
294
388
322
339
384
159
295
306
297
329
321
350
274
233
262
366
254
300
348
229
365
297
348
310
339
333
346
271
376
247
378
393
374
342
293
325
318
340
287
274
348
265
271
378
269
322
366
346
315
313
366
339
379
276
343
378
301
320
256
281
313
320
317
376
387
370
331
275
351
302
290
313
365
321
240
276
322
360
310
366
321
233
371
381
354
266
354
308
266
336
290
270
268
299
303
374
399
356
367
355
240
382
351
306
356
314
291
343
343
329
347
341
368
274
333
349
279
273
361
302
253
386
407
377
350
273
265
326
402
338
279
321
261
333
297
269
328
386
304
230
361
269
290
385
382
329
245
289
297
263
304
309
252
354
285
326
366
344
348
362
408
308
383
363
354
272
260
287
255
343
317
318
278
332
235
363
328
331
344
392
416
374
301
258
302
319
285
308
373
369
310
286
345
205
336
349
263
271
317
337
383
306
347
360
298
266
285
314
276
309
252
319
279
347
324
277
326
296
329
301
313
350
373
289
350
356
275
280
438
340
306
309
335
410
338
346
273
299
299
335
303
388
369
348
327
290
313
287
319
344
306
198
284
379
315
294
339
294
349
353
317
272
295
351
281
317
424
417
329
309
341
238
336
281
369
357
384
325
361
313
344
318
322
301
353
337
384
334
429
301
279
358
269
321
350
305
406
379
353
321
336
291
261
260
316
354
338
387
322
229
267
254
267
327
387
319
427
278
226
315
320
380
363
343
366
321
368
355
329
225
351
280
346
232
356
290
271
250
264
359
342
314
316
323
331
319
260
294
439
276
303
299
273
365
348
313
320
366
333
246
345
316
309
256
306
311
323
310
240
287
225
325
354
382
272
318
335
375
258
368
347
285
336
289
368
314
298
321
331
295
314
309
324
369
330
334
312
360
315
389
243
333
270
250
315
351
313
277
329
353
210
348
306
300
243
263
311
370
282
276
394
283
344
305
317
337
285
386
318
341
323
322
327
292
328
265
239
342
299
312
331
291
279
331
408
277
315
294
308
254
336
298
271
334
262
366
293
249
296
279
360
314
302
310
404
303
329
293
327
408
276
333
303
306
286
298
301
348
334
382
401
332
327
352
303
275
391
296
235
362
253
311
355
309
323
293
340
271
260
341
338
302
312
241
307
314
345
302
356
305
287
271
318
365
313
326
259
253
305
318
297
254
384
364
308
393
278
267
325
266
298
342
350
277
375
365
355
281
257
371
235
235
307
297
286
288
244
347
401
413
264
267
258
278
273
286
262
346
338
317
244
337
340
319
335
306
306
321
263
341
265
269
277
310
364
321
314
314
296
340
344
347
314
392
311
292
275
230
352
311
288
277
254
325
276
332
272
351
285
364
328
278
335
328
271
370
265
327
265
357
206
382
299
334
279
286
301
301
318
359
350
247
300
339
237
349
309
225
313
333
328
275
421
307
334
268
374
284
300
319
349
246
291
326
444
358
343
309
282
317
257
310
327
332
216
296
276
359
333
288
340
343
311
387
348
349
299
285
290
355
322
333
286
303
243
298
303
230
290
328
367
320
323
268
262
262
323
315
277
245
297
318
347
316
357
335
323
294
291
380
363
271
258
333
311
359
334
336
329
292
306
278
329
305
279
298
308
358
283
236
378
349
234
377
340
267
367
376
396
380
308
339
390
302
375
396
261
285
313
271
311
347
348
288
233
345
250
291
344
295
268
322
300
344
266
328
313
229
343
310
385
253
353
268
247
405
317
385
358
321
306
344
272
325
288
398
284
363
257
217
324
247
225
345
316
364
318
339
292
320
329
317
279
341
237
298
362
321
340
339
362
253
250
325
303
282
282
348
360
320
351
274
407
248
368
352
355
298
331
302
320
259
364
286
322
330
342
296
356
243
361
354
314
290
331
281
308
296
331
276
296
339
290
327
269
337
264
223
311
372
351
303
375
349
253
353
286
303
275
295
300
345
315
349
345
295
301
325
338
233
302
214
292
259
365
372
282
324
321
250
294
260
257
267
269
372
323
347
310
325
273
338
346
211
247
316
258
310
367
333
324
299
302
227
323
295
329
301
306
337
345
284
364
214
280
326
360
341
351
324
274
407
313
312
341
279
355
297
287
316
290
291
324
252
289
258
259
365
342
329
364
327
388
346
306
252
321
360
290
328
304
309
329
304
338
320
279
332
265
295
344
381
282
372
314
288
276
246
388
314
258
317
327
356
338
322
352
302
273
271
319
290
255
342
324
358
341
354
287
319
305
266
338
356
406
317
329
307
345
221
359
385
398
298
284
352
278
293
325
319
336
357
334
349
335
328
349
311
325
351
332
276
337
291
308
424
303
419
324
294
295
243
414
266
358
334
300
308
225
312
394
324
313
322
364
316
340
262
284
292
217
316
330
340
334
316
356
337
330
250
241
336
344
296
359
351
346
315
384
333
300
400
317
331
376
342
377
355
302
399
308
288
307
279
297
298
272
355
297
329
314
357
375
343
358
293
333
315
280
307
371
303
290
369
301
333
382
369
368
257
386
299
303
334
377
328
307
277
325
334
330
281
332
290
294
314
292
321
330
297
314
341
263
311
323
349
316
293
262
350
243
339
279
317
262
298
286
277
303
343
239
364
314
305
316
351
397
291
308
262
320
257
291
290
259
289
304
314
259
365
321
264
394
325
334
324
315
261
311
368
299
265
279
231
363
311
305
368
311
425
305
301
329
323
318
347
318
337
299
267
305
276
317
302
361
363
333
404
217
281
339
290
353
405
357
340
263
335
381
284
205
313
293
241
406
344
320
303
311
260
331
343
227
317
314
266
392
313
374
284
323
337
281
285
358
248
379
362
358
371
351
395
300
216
251
309
256
290
343
307
336
321
212
377
322
336
311
308
264
407
299
366
279
236
308
222
334
318
403
198
297
346
253
283
375
329
277
316
263
310
284
253
367
261
324
332
280
409
360
302
291
319
288
326
245
363
284
413
285
322
335
213
346
376
338
269
321
366
348
302
316
350
346
304
326
218
280
245
355
310
306
329
386
233
311
206
274
301
308
279
281
342
350
324
233
284
278
257
344
292
324
286
334
279
274
369
322
274
379
376
309
319
329
253
353
312
376
353
340
283
334
234
243
361
372
279
321
330
342
361
360
345
316
270
249
266
317
338
311
254
259
255
365
355
333
241
370
357
299
301
317
279
272
320
312
322
351
242
331
335
332
391
369
369
264
316
378
355
313
286
292
381
288
295
379
309
312
404
371
318
380
270
256
316
304
354
350
344
236
292
279
294
322
328
286
272
206
293
294
288
272
292
332
309
384
273
331
288
308
303
406
384
273
341
296
312
350
327
401
252
315
346
270
316
359
283
357
354
274
295
269
304
353
227
331
296
315
324
310
250
234
321
292
260
293
293
293
318
358
334
242
300
406
348
350
341
365
230
279
251
337
313
303
350
360
270
306
300
279
353
260
277
320
367
297
327
320
331
379
315
318
370
336
289
314
338
312
326
273
291
265
330
276
285
313
376
341
260
307
280
314
296
354
294
266
318
331
347
367
233
313
376
371
332
273
330
339
296
419
266
346
359
368
220
295
408
320
310
333
361
312
291
307
270
287
285
350
361
351
249
304
358
328
347
342
320
231
310
277
330
329
283
304
241
307
329
300
294
283
338
423
352
221
286
254
394
245
312
288
325
401
332
265
305
349
288
313
370
297
286
353
278
243
338
348
324
318
297
332
281
342
279
394
367
367
294
354
309
357
312
342
308
217
296
325
197
352
326
372
275
336
324
283
254
312
349
349
374
371
275
404
349
388
310
344
292
360
361
368
285
342
320
381
281
260
234
432
311
340
347
333
358
295
353
260
361
339
312
434
428
375
370
266
285
319
278
422
284
270
323
295
289
351
304
295
332
263
362
355
292
378
284
334
325
310
387
298
285
313
304
373
279
344
356
250
371
346
307
313
368
334
340
362
389
309
288
315
284
329
277
239
349
363
236
315
299
293
232
320
330
323
302
324
351
253
239
320
241
318
314
335
304
241
297
296
280
295
347
368
318
316
346
333
344
396
335
303
339
318
319
335
350
281
363
324
357
346
367
340
296
360
288
332
261
371
374
297
351
365
357
382
365
260
362
298
353
322
368
292
259
389
317
283
277
343
327
318
337
332
311
355
369
304
230
299
359
347
359
276
365
319
368
205
291
370
349
256
366
395
352
314
341
306
312
294
386
310
394
223
345
273
287
323
409
300
421
235
322
277
351
336
344
366
274
291
295
284
302
349
346
234
316
278
351
289
301
342
281
380
321
400
266
335
345
353
330
380
363
378
318
343
265
320
362
325
304
391
376
302
310
275
301
237
431
365
307
344
301
313
203
305
324
298
279
347
263
295
378
296
380
313
315
293
302
283
320
279
358
327
299
373
339
326
311
249
381
364
393
340
353
384
397
354
236
376
344
325
312
369
341
305
373
308
334
255
371
271
267
251
281
381
306
189
303
274
288
316
338
319
310
206
350
286
294
356
327
349
285
274
320
299
260
386
320
300
349
286
318
250
328
287
335
338
357
273
325
371
311
311
314
292
357
322
300
318
370
325
333
281
366
279
353
403
347
248
220
223
364
288
327
307
338
297
320
315
324
363
369
289
351
328
263
294
268
250
287
286
267
383
295
325
376
305
315
412
391
336
268
310
254
394
356
368
355
310
326
321
345
321
332
326
332
308
356
297
324
378
322
367
356
268
248
262
370
305
273
349
305
355
400
342
384
272
269
336
299
346
289
255
265
300
220
304
287
319
325
345
369
277
334
330
361
275
276
343
270
281
277
329
304
383
292
351
165
349
290
300
296
260
343
357
308
282
312
290
313
375
329
391
316
336
367
371
250
323
327
329
319
326
350
231
297
367
280
323
333
337
385
347
375
326
310
311
262
296
368
363
338
274
435
401
354
310
297
291
315
253
376
305
399
329
269
347
355
313
307
352
359
324
269
366
388
325
249
391
256
317
306
343
317
327
332
214
316
260
371
353
392
332
276
327
315
308
208
299
297
305
304
322
312
307
364
310
316
394
370
309
306
252
337
238
279
359
359
309
391
269
287
358
402
276
335
307
357
364
272
327
307
342
235
333
327
266
301
320
333
326
447
303
310
204
375
278
298
401
336
278
283
355
351
358
288
349
293
286
354
296
280
379
303
302
331
269
259
335
276
405
303
366
284
366
314
284
362
337
267
321
250
238
314
230
346
313
326
352
345
336
285
368
356
304
279
378
304
267
345
307
348
367
253
352
282
308
348
372
331
340
249
324
293
322
337
352
323
351
348
347
284
326
280
328
272
300
292
333
340
231
400
320
327
387
256
313
336
229
267
341
295
325
285
298
227
351
328
301
336
326
326
308
364
286
280
380
271
299
406
288
326
274
279
284
306
362
289
365
305
360
350
271
322
323
368
376
288
305
347
330
331
349
282
308
352
311
295
378
299
274
292
332
307
285
384
306
351
212
321
359
334
297
285
326
358
388
329
251
380
299
273
375
376
315
370
237
253
407
317
345
392
409
246
293
332
382
340
379
349
384
308
363
282
357
228
334
340
269
394
347
359
324
286
284
304
373
356
364
250
276
296
327
309
273
319
362
290
309
352
297
364
269
350
400
371
272
383
251
316
332
302
376
322
270
344
353
345
333
289
396
285
352
391
370
387
302
319
291
315
291
396
271
318
256
335
353
355
318
303
336
318
316
279
303
331
282
267
320
345
282
278
322
316
266
358
302
364
360
265
287
391
335
337
317
305
260
319
314
310
254
291
265
322
381
340
364
325
176
403
268
358
327
325
345
322
299
378
356
202
251
287
267
281
273
319
357
265
294
338
345
342
319
329
297
360
304
325
347
300
327
303
279
273
329
318
392
282
335
371
342
311
310
364
288
335
389
323
276
382
364
301
275
319
413
274
391
295
297
379
273
288
321
335
234
314
341
293
314
314
360
370
374
312
330
262
352
293
312
316
337
240
363
295
253
321
335
342
359
274
306
319
278
331
312
308
377
355
357
210
372
296
260
340
341
366
337
371
302
298
301
386
322
302
316
327
299
310
275
344
293
261
402
325
334
321
287
348
340
282
270
316
326
306
348
319
343
407
275
355
362
357
359
367
354
374
263
340
399
288
328
363
374
242
279
266
296
296
326
357
317
360
284
233
321
357
276
308
254
362
393
323
270
260
296
380
289
315
381
289
335
342
323
331
286
267
356
301
359
259
294
296
295
379
355
307
270
311
382
321
304
273
282
345
320
367
306
325
228
346
358
324
360
269
303
275
261
344
270
276
225
307
363
405
403
274
329
321
355
363
293
360
317
345
355
297
259
255
294
381
334
311
334
328
243
320
354
252
354
275
367
365
313
326
278
257
249
319
324
318
257
314
326
302
361
320
312
243
269
228
280
371
319
261
356
357
359
321
249
344
345
303
289
341
314
265
325
270
328
276
348
359
268
328
381
331
361
314
318
302
383
351
356
317
305
380
385
289
306
334
299
326
334
296
384
341
334
351
346
375
298
269
340
344
282
283
239
386
316
367
297
387
320
329
297
388
340
322
265
264
270
326
343
305
348
330
329
284
269
254
257
408
358
350
341
369
346
319
322
309
231
356
323
270
358
304
331
284
356
303
312
312
305
310
342
274
341
319
329
359
367
329
370
339
369
391
369
282
378
327
394
224
324
324
298
285
318
315
252
259
337
355
320
260
292
275
310
306
333
284
370
346
401
355
328
186
282
297
343
312
286
298
362
270
323
361
266
288
234
314
344
343
347
268
309
349
393
274
292
303
244
377
249
254
328
348
341
356
347
346
278
258
342
285
321
293
346
268
266
426
240
263
388
264
325
341
354
388
259
309
237
299
268
306
264
322
263
267
357
306
268
360
327
326
303
367
341
314
329
371
295
250
339
311
370
366
295
258
314
318
316
297
338
341
403
314
221
365
315
406
446
374
277
368
358
368
210
326
309
240
322
278
305
352
208
232
353
352
309
339
241
339
301
333
344
332
287
284
298
340
280
254
336
321
401
399
329
241
281
289
316
255
376
295
271
323
294
261
320
357
362
298
392
346
350
272
279
256
299
318
361
308
301
337
271
389
240
411
413
310
331
367
325
386
334
420
277
326
380
363
282
267
309
348
298
271
291
245
382
301
331
241
377
244
312
320
347
335
308
308
278
366
282
331
333
361
266
329
347
357
310
331
373
330
277
368
376
382
417
236
342
249
262
304
274
292
384
324
299
279
276
367
253
339
267
281
284
261
286
347
277
356
339
352
294
254
249
264
307
318
334
244
200
357
351
315
255
312
392
336
293
282
330
300
310
329
327
258
328
326
359
249
339
321
301
297
319
320
232
284
349
271
321
281
326
306
304
365
312
314
334
310
271
347
305
469
273
465
352
211
301
294
325
398
331
324
386
289
300
285
336
281
355
326
355
371
365
271
340
262
345
298
257
316
333
307
354
291
363
347
297
340
342
382
274
306
289
292
357
315
305
282
327
291
304
289
235
336
379
379
238
283
332
317
381
305
363
342
283
347
317
312
368
359
395
273
364
341
331
284
278
353
256
315
310
222
331
359
256
322
372
315
316
254
325
303
229
328
364
369
366
299
290
270
316
301
304
365
399
320
279
357
314
264
348
329
336
364
272
278
316
284
279
376
234
309
347
299
289
304
318
335
284
367
322
340
304
323
349
313
344
254
279
237
336
303
323
313
275
204
356
421
312
256
315
231
247
341
341
262
253
250
362
365
326
312
288
263
264
324
246
317
315
306
258
201
316
333
358
254
301
293
267
319
316
305
345
320
395
310
267
256
287
240
304
358
315
293
308
312
398
340
338
296
364
301
363
294
362
281
271
301
305
328
303
337
399
296
348
307
318
361
362
353
252
284
367
340
320
334
400
347
360
340
349
294
360
338
368
283
229
243
317
278
307
370
312
346
283
303
288
265
350
325
321
227
382
390
239
287
298
305
335
308
298
289
284
316
294
276
323
366
179
368
334
305
358
187
274
369
321
321
325
270
339
270
307
355
279
265
220
330
232
290
297
381
335
249
286
266
296
282
444
249
351
317
271
322
332
337
306
387
297
312
334
316
184
401
251
388
413
369
315
377
317
292
315
273
262
352
357
273
280
306
358
325
373
281
305
358
257
337
339
372
347
359
297
347
320
409
361
326
366
269
300
349
326
334
299
392
301
320
252
386
290
328
278
252
353
334
361
310
314
366
377
383
337
350
247
338
314
361
302
314
270
288
328
370
332
260
299
247
293
308
297
318
348
290
296
320
278
364
384
347
302
359
407
339
308
183
306
277
358
323
347
282
312
351
302
376
356
290
352
418
219
225
289
341
375
303
250
377
276
342
362
322
350
354
276
315
213
287
329
357
282
315
325
361
281
293
366
267
367
333
353
321
294
361
262
370
241
301
214
326
268
271
299
255
289
280
270
351
348
385
380
256
336
267
285
328
379
301
362
344
316
285
341
339
337
367
374
321
349
309
305
272
369
280
361
285
230
337
288
372
327
353
276
230
275
320
354
372
277
299
387
305
357
262
344
289
326
302
336
278
327
297
255
263
339
306
297
370
313
309
377
321
330
380
321
389
352
313
329
377
296
260
280
301
327
361
290
248
276
181
313
353
394
355
248
337
350
382
298
281
350
276
365
229
288
336
310
347
370
302
375
292
287
255
248
333
346
371
324
324
305
268
320
393
323
264
353
394
388
375
360
321
337
372
296
212
267
370
316
294
277
312
375
308
319
295
339
314
423
224
336
351
280
304
295
247
294
309
310
347
322
382
302
318
286
335
277
319
336
319
300
389
292
372
345
304
329
301
282
355
305
321
326
313
292
293
303
370
354
303
405
302
260
361
347
348
385
256
277
302
340
363
305
259
203
321
373
332
390
312
261
353
337
282
295
278
259
382
275
335
309
377
257
286
316
257
323
291
322
271
321
430
278
315
404
298
299
330
297
243
339
302
310
342
372
272
285
339
302
286
331
305
295
321
307
353
359
281
290
323
284
387
238
277
296
258
302
295
284
290
350
253
338
264
200
211
292
338
327
354
359
373
264
292
291
238
330
341
284
277
384
234
393
313
283
260
349
299
343
381
324
379
350
277
380
310
304
359
265
349
272
305
340
319
332
344
277
294
377
311
269
309
286
274
351
242
260
384
290
287
320
347
311
234
350
287
332
341
272
401
282
352
416
271
326
281
374
345
255
323
293
338
276
316
301
289
289
368
403
310
318
259
318
325
310
335
288
329
254
342
315
352
255
350
356
385
305
261
291
345
334
294
331
378
350
330
243
378
259
321
243
356
317
327
357
325
304
325
268
379
301
294
371
380
297
414
373
304
378
270
343
366
343
229
301
359
265
306
289
397
315
307
312
385
318
292
300
331
341
413
272
372
385
231
312
254
383
320
346
328
326
269
434
339
333
261
333
332
268
329
305
325
319
261
383
338
390
317
341
339
381
376
341
366
348
298
251
309
281
337
389
335
359
313
230
311
308
387
289
290
269
304
267
333
295
350
429
286
309
235
265
341
267
316
291
345
374
288
359
351
239
286
368
358
335
268
226
247
317
237
234
289
316
382
376
290
342
321
344
371
379
305
213
302
380
374
315
383
283
320
393
312
338
289
260
366
324
325
300
344
310
313
335
352
247
361
258
355
341
353
264
299
387
356
306
330
234
291
296
236
333
289
380
355
271
284
361
312
407
314
284
327
320
345
298
276
330
332
252
294
390
245
342
370
318
315
357
330
271
348
331
247
416
384
314
328
333
282
347
331
179
347
239
239
378
219
280
296
276
298
327
399
348
265
314
332
329
306
334
267
255
385
319
340
313
340
316
348
334
310
342
324
319
321
353
381
311
390
274
316
274
339
333
363
313
307
359
278
243
243
273
215
343
317
278
366
310
373
360
269
367
302
327
397
312
348
293
361
300
341
319
250
296
262
260
330
330
375
353
348
376
370
236
364
169
327
332
296
341
250
364
402
322
365
271
328
283
349
330
309
266
405
304
325
279
328
306
369
325
347
386
272
307
335
314
348
324
354
354
319
262
307
315
348
424
287
302
350
316
266
266
339
261
311
291
236
293
305
260
256
263
272
293
361
338
241
388
320
375
282
321
184
310
343
394
281
262
356
296
258
254
262
289
313
360
277
328
285
290
275
342
326
337
305
289
376
406
350
318
243
415
348
339
321
345
318
370
299
424
258
306
336
342
346
300
366
292
347
376
250
360
258
346
337
258
268
365
287
398
217
302
311
316
348
368
393
320
286
344
289
328
304
281
211
314
297
272
314
266
374
326
267
290
332
420
350
346
312
299
325
339
302
287
361
290
301
253
321
361
292
324
356
337
363
274
345
394
335
345
359
320
269
408
253
339
324
382
275
250
314
340
295
296
297
367
314
314
269
303
359
208
252
327
183
328
296
344
328
339
300
416
307
406
383
346
321
311
244
328
255
299
326
390
294
415
285
257
318
322
310
279
293
243
302
323
243
263
289
408
283
291
356
325
287
285
349
369
351
378
314
258
353
310
325
359
375
345
305
344
329
318
310
344
281
267
319
311
266
309
384
333
328
275
320
257
201
327
378
372
330
336
313
276
349
332
291
347
254
309
285
258
336
261
266
366
277
309
232
304
335
290
263
305
265
361
276
360
303
325
298
241
277
312
237
307
346
324
291
342
320
296
358
290
273
311
254
241
311
269
308
358
270
417
402
295
267
339
316
221
206
390
414
369
300
387
343
361
264
265
320
347
278
339
318
337
321
303
338
284
298
307
355
278
317
327
362
372
298
282
288
337
269
288
250
373
308
358
168
325
295
260
326
323
254
282
362
311
371
282
353
341
322
256
298
330
328
304
266
352
421
390
245
358
302
361
360
281
392
352
318
317
282
322
314
254
278
352
345
379
358
337
339
339
292
367
338
394
347
364
386
380
347
341
294
287
281
310
310
341
297
242
236
296
363
388
318
332
273
347
252
352
252
307
278
298
286
322
336
271
354
359
367
277
328
397
277
307
316
388
380
297
273
254
335
322
304
402
311
375
308
279
380
288
282
300
389
292
406
359
317
331
266
366
330
276
331
359
333
246
247
255
322
331
302
313
318
322
341
253
348
342
286
248
413
327
297
279
344
371
287
310
353
280
397
323
349
342
283
282
289
288
242
279
349
338
345
294
284
298
251
279
219
356
378
268
391
318
322
317
338
316
372
269
223
224
273
325
305
310
369
303
368
272
325
327
353
317
291
309
305
399
301
288
285
228
379
333
320
356
338
321
284
307
351
293
246
231
308
317
378
327
347
282
278
289
288
247
303
245
208
371
363
352
341
339
310
356
274
231
316
302
289
265
359
287
284
299
321
219
328
283
314
257
311
322
377
318
322
321
315
328
368
311
297
304
386
289
244
333
290
333
378
394
307
370
296
222
330
329
347
176
263
291
296
289
331
322
287
280
343
313
238
344
338
288
296
316
190
382
279
255
257
356
302
248
219
209
351
342
383
373
358
339
233
376
286
327
312
396
386
492
237
325
322
304
337
338
378
273
365
280
304
273
338
365
196
369
346
323
272
390
317
351
332
253
334
317
341
297
260
314
298
275
323
302
334
373
398
247
375
254
356
297
218
339
280
271
256
353
339
299
357
346
272
370
270
409
289
259
354
237
313
326
292
316
304
351
330
332
233
303
307
366
325
324
253
320
331
196
282
359
292
284
263
265
327
371
346
301
326
243
358
286
257
362
343
343
307
385
274
369
238
414
355
237
323
244
385
245
371
287
367
299
319
361
362
310
241
297
336
328
319
284
372
384
335
391
325
325
227
350
319
314
345
309
307
349
331
304
394
311
331
299
293
352
341
383
311
259
320
291
284
326
273
338
318
257
287
323
288
333
333
294
318
312
367
309
337
288
280
299
316
310
386
313
342
366
250
250
391
360
282
327
301
287
355
293
398
311
271
346
268
300
387
340
266
384
314
300
367
297
243
293
297
369
299
354
265
311
389
329
323
256
310
270
294
351
336
378
309
304
351
294
315
261
338
371
344
323
282
344
267
329
323
307
238
285
254
347
339
392
321
298
386
305
307
264
379
343
367
280
341
229
318
356
378
298
366
296
260
356
231
389
323
302
300
359
360
389
313
368
298
204
379
311
319
348
197
296
316
364
305
247
366
244
306
326
323
237
336
332
213
375
305
381
312
315
299
296
316
336
363
364
318
369
246
286
274
248
412
403
360
336
284
345
312
318
267
207
345
284
351
342
321
385
205
328
286
316
211
351
306
303
328
353
350
328
287
254
328
310
267
284
289
257
436
290
309
329
361
332
306
318
394
333
321
298
388
296
323
254
247
255
283
330
390
315
316
259
291
241
332
350
281
348
289
278
357
295
392
353
341
394
264
291
338
371
300
319
332
309
221
346
309
373
367
378
344
353
341
238
307
282
311
263
342
359
326
195
363
192
345
363
352
364
320
313
267
337
275
362
241
290
343
229
351
249
386
308
282
254
336
320
332
302
329
375
338
339
281
337
247
350
380
320
267
357
387
406
372
312
320
308
267
254
312
352
342
295
237
290
278
291
328
285
267
269
344
346
267
362
375
341
314
365
356
330
301
317
335
360
307
344
293
381
324
361
261
362
234
305
301
337
378
348
300
329
362
342
298
368
353
307
265
369
315
336
316
370
304
374
308
232
327
301
315
313
305
316
260
365
228
301
295
319
359
374
252
209
308
331
356
291
329
312
308
268
289
355
376
285
320
401
270
279
304
336
314
339
297
304
350
253
294
329
286
339
266
338
311
232
280
275
275
351
237
283
299
358
247
376
351
368
292
366
361
309
266
274
355
300
282
350
339
378
261
321
325
338
279
341
307
298
188
356
345
351
267
246
314
307
377
316
242
248
315
342
445
286
216
318
310
340
384
281
264
311
330
330
329
246
321
346
360
346
385
273
303
320
374
343
305
357
231
365
262
318
339
290
340
290
312
225
316
331
403
333
307
339
215
274
271
336
420
389
346
273
244
277
409
351
302
403
376
338
266
304
249
315
346
283
288
231
344
435
386
313
292
327
336
276
329
351
357
308
341
260
337
355
331
332
300
298
298
349
346
336
349
294
292
386
261
219
255
301
382
242
386
256
366
296
353
279
305
297
321
318
304
341
308
356
304
349
338
331
317
299
253
245
269
347
359
256
370
288
310
248
417
308
267
387
314
338
360
385
265
404
335
209
254
356
324
240
415
348
328
257
285
285
340
229
358
311
318
336
236
276
370
401
371
332
282
331
310
274
257
362
288
366
343
351
354
348
289
281
348
342
357
351
406
353
307
267
281
346
342
412
300
323
249
357
331
334
342
308
268
391
286
324
321
306
356
388
274
253
245
248
356
386
249
311
308
191
336
388
405
314
289
341
381
387
345
270
324
292
336
308
300
443
362
349
316
363
399
254
260
380
354
327
274
331
320
250
280
392
310
295
345
325
420
352
400
327
343
341
234
308
352
347
322
313
317
306
239
289
273
329
291
288
248
338
304
292
395
341
248
269
300
310
338
364
348
319
288
313
347
250
289
331
338
363
276
264
387
357
287
282
323
305
303
319
396
296
350
329
289
298
291
325
344
200
308
371
376
277
306
394
331
392
331
393
306
319
256
313
350
262
328
333
325
366
287
255
361
287
251
344
344
256
254
366
369
320
332
349
350
326
323
398
381
330
367
362
317
284
353
296
204
317
334
341
375
289
367
317
395
364
396
290
375
324
317
305
318
363
309
287
259
260
353
273
346
359
287
318
344
332
311
296
351
399
343
262
399
303
372
396
305
295
304
196
299
341
278
389
292
335
300
298
326
373
332
307
290
332
355
383
266
286
340
380
317
311
408
266
275
327
394
348
297
299
312
338
263
322
325
367
265
313
237
381
365
307
278
363
430
411
334
360
317
350
321
321
335
407
383
421
244
309
249
318
298
247
368
270
336
323
324
298
314
275
254
368
307
280
240
359
327
300
294
315
325
408
289
235
333
352
254
279
260
349
274
365
355
290
290
241
325
368
302
243
340
354
308
274
347
298
357
286
306
294
346
309
354
316
333
321
227
296
346
315
326
289
373
279
329
371
284
342
282
273
350
337
272
284
288
281
296
353
351
285
399
238
293
317
311
351
357
356
355
283
315
359
352
298
270
342
343
378
396
344
313
377
327
322
336
389
348
247
420
310
276
329
239
371
311
317
389
366
277
362
328
304
359
379
307
282
267
362
365
423
298
355
294
330
269
276
251
325
370
255
326
329
285
231
374
286
247
366
282
358
373
326
314
326
355
307
262
415
319
260
344
356
310
275
274
378
328
355
368
328
330
342
277
310
310
274
283
342
376
298
308
329
344
253
357
319
350
349
269
309
290
271
239
372
377
272
368
365
307
271
360
357
347
288
318
325
284
398
380
274
299
347
269
319
298
266
373
242
302
335
312
330
287
302
316
265
294
318
316
327
364
343
231
295
282
298
350
235
347
404
264
343
311
302
283
337
390
429
310
355
316
330
331
305
374
315
391
297
352
383
328
248
309
359
343
297
322
325
338
351
308
289
330
255
318
320
340
358
307
291
296
283
348
351
283
373
356
290
388
288
353
315
326
259
370
302
362
310
387
448
276
396
353
402
266
332
331
294
300
362
269
285
303
332
348
387
248
251
335
360
277
348
329
267
274
344
394
312
364
348
312
303
269
305
283
265
376
358
212
362
363
316
293
355
293
266
394
298
317
345
331
339
321
254
325
288
291
342
282
185
239
331
334
390
301
401
270
340
314
325
312
319
267
251
349
248
331
288
264
206
330
409
306
351
312
276
300
250
221
320
261
316
330
299
380
273
246
382
277
294
271
254
315
266
242
312
350
393
319
335
273
298
369
308
308
311
249
414
335
317
303
387
384
328
334
306
225
336
332
221
312
282
322
313
399
360
263
315
451
290
254
333
249
246
316
271
304
317
259
351
427
416
268
279
277
361
267
295
319
308
355
261
319
365
329
272
276
364
346
316
250
325
342
239
300
329
328
407
295
322
373
325
316
338
295
278
398
338
390
338
268
351
318
304
347
342
298
230
269
326
350
345
320
283
359
329
390
396
332
384
284
316
366
327
265
367
329
280
317
309
308
322
297
320
245
303
328
315
378
278
258
292
330
348
351
335
280
343
243
325
235
324
344
243
281
356
304
373
379
383
281
281
322
365
351
335
340
257
340
357
295
346
353
318
359
228
316
288
303
363
355
326
339
287
281
352
296
330
261
270
297
355
300
310
293
339
320
348
329
272
351
374
338
368
255
341
229
271
270
321
336
332
247
320
315
333
363
366
217
363
320
349
286
370
334
331
322
279
241
342
379
299
354
413
284
331
373
346
330
326
308
312
318
307
311
377
350
268
273
264
383
413
247
343
360
298
306
315
355
287
377
377
299
346
405
275
271
263
300
330
328
356
376
283
407
249
309
264
320
363
283
324
332
287
345
252
319
328
354
291
324
310
388
327
346
267
344
326
359
284
342
327
342
337
374
278
296
254
318
312
394
371
294
360
338
351
330
322
315
319
341
322
281
235
360
337
310
197
305
310
295
392
352
184
284
311
278
266
328
285
285
306
310
337
210
312
332
297
366
228
293
310
244
313
271
232
350
273
306
256
328
357
349
315
336
332
302
360
375
356
346
324
327
336
283
358
309
372
314
257
281
370
329
341
370
197
303
373
332
304
243
372
297
278
261
357
319
300
299
322
350
323
305
318
300
282
296
359
271
351
321
312
363
306
422
275
297
294
349
384
256
344
331
287
339
366
336
365
284
330
216
363
312
343
314
395
334
290
322
243
347
286
274
364
248
264
343
310
275
300
323
405
259
349
335
354
306
339
313
300
334
346
317
292
263
381
390
286
303
226
315
284
358
332
289
284
409
381
296
272
294
293
309
369
309
352
333
334
349
329
329
360
356
265
312
338
365
297
359
407
331
293
328
220
428
291
279
350
332
255
399
278
358
297
326
313
292
277
268
339
282
362
345
268
367
419
294
381
353
322
327
324
308
278
355
411
293
392
410
401
277
343
374
240
304
347
337
286
300
195
243
314
372
345
320
354
351
305
321
308
306
285
331
261
267
199
250
362
312
342
331
325
273
304
262
279
406
268
303
358
351
275
325
346
357
276
225
337
247
388
376
270
318
333
314
334
338
339
314
279
352
301
289
306
405
359
357
345
264
388
230
280
307
309
287
243
319
363
342
275
339
386
396
350
386
294
222
291
347
343
233
381
303
318
230
401
423
379
296
339
331
322
313
276
337
355
333
364
239
332
377
283
345
316
391
274
205
295
403
329
357
383
363
344
258
287
322
379
354
297
370
397
265
342
342
272
337
270
357
265
373
284
292
390
398
341
369
311
242
280
365
342
434
303
289
247
335
252
319
319
365
276
375
304
252
350
390
359
287
396
334
223
406
262
309
290
378
258
301
271
367
265
291
359
353
351
369
336
319
303
275
409
379
266
276
284
312
288
310
311
288
372
344
223
230
319
332
279
292
335
375
375
294
327
308
304
295
284
390
315
402
333
342
376
278
316
313
358
324
375
319
281
350
279
286
331
271
270
413
277
232
300
271
267
349
269
317
334
306
221
341
353
299
285
270
282
266
357
315
313
373
295
292
358
299
285
258
339
315
346
300
343
297
316
419
353
330
392
323
355
376
282
371
324
364
317
281
278
279
412
296
353
249
356
255
329
315
374
364
274
283
342
320
377
381
314
376
311
372
359
396
280
391
317
314
289
333
317
374
287
328
276
305
314
271
350
262
327
280
367
245
332
330
308
295
365
287
388
299
307
403
361
358
224
364
347
334
293
260
295
330
314
324
289
266
309
332
393
380
317
322
317
360
321
364
297
407
268
287
327
272
333
339
284
435
347
328
360
372
283
269
220
374
272
341
350
305
370
379
352
314
288
300
289
291
276
309
351
329
258
358
289
425
302
271
376
332
274
319
293
307
317
305
342
252
357
241
242
348
232
367
310
331
278
304
309
365
291
220
330
200
357
386
228
274
328
293
360
394
332
331
305
333
303
294
346
360
334
373
286
294
310
269
335
297
361
349
346
312
232
378
382
292
333
363
295
268
252
264
333
303
331
322
295
247
313
268
271
289
281
311
306
339
349
326
339
356
293
323
350
369
308
288
295
414
321
298
306
289
273
254
260
431
269
326
258
341
305
320
374
354
281
371
293
283
334
233
290
373
361
290
257
365
356
288
395
310
378
383
292
266
319
366
377
381
268
348
208
352
292
262
351
352
281
266
285
387
283
349
337
248
372
302
285
437
302
278
354
389
319
359
313
300
372
205
357
317
306
267
301
370
327
309
275
356
301
302
363
373
370
319
349
331
345
297
364
382
324
295
309
337
317
353
377
377
323
297
316
298
336
339
293
337
335
383
311
321
388
337
326
240
269
336
310
250
294
321
358
294
349
285
353
261
282
209
261
309
229
130
299
281
363
349
354
307
317
329
314
357
295
275
388
309
303
264
286
308
301
310
355
358
312
346
321
346
378
323
296
298
348
342
376
306
336
337
293
373
401
346
238
341
331
312
338
292
232
303
391
362
377
282
257
277
318
340
262
280
307
262
297
251
351
340
333
292
387
433
373
244
360
265
338
301
351
300
348
252
323
326
212
306
324
365
305
384
326
382
258
324
312
288
257
371
289
374
231
249
329
348
323
319
310
250
317
243
314
341
397
327
327
369
339
318
328
347
362
349
224
338
334
314
331
336
400
353
312
291
293
399
296
317
341
361
288
354
257
407
340
273
251
359
223
345
293
315
313
382
356
345
298
351
323
356
345
403
217
312
259
314
271
352
281
359
304
299
270
343
329
364
301
263
338
324
251
272
309
302
330
336
251
308
272
308
284
291
350
250
319
278
241
329
283
254
292
310
247
363
367
191
349
270
340
363
259
373
313
305
364
295
391
350
295
203
274
224
274
288
328
398
343
306
314
274
294
376
378
299
319
316
349
270
311
354
337
339
253
295
378
278
220
307
370
353
272
322
359
275
376
288
361
340
267
387
360
356
340
333
278
350
319
294
321
369
392
309
338
335
311
351
274
326
375
341
216
279
329
307
310
317
391
400
299
422
270
387
294
292
239
227
349
303
321
309
248
310
226
327
337
250
357
318
365
260
388
286
163
304
308
285
320
344
394
280
304
320
369
214
353
384
249
353
353
322
251
354
313
315
309
413
289
308
334
379
329
294
281
296
314
336
392
320
310
282
300
308
302
265
309
285
313
362
312
331
318
272
242
419
308
279
270
362
354
339
359
290
321
331
254
281
339
287
314
289
220
241
356
378
313
341
294
270
311
282
332
267
340
357
290
343
433
345
212
370
269
331
265
288
352
283
305
329
346
240
376
384
317
363
343
364
348
294
307
362
327
422
320
328
357
339
283
323
303
269
260
324
371
379
328
288
241
254
289
261
262
276
371
321
340
325
340
300
270
268
284
328
271
387
363
324
331
336
421
306
353
307
317
342
332
362
302
308
298
276
297
318
344
369
233
322
265
263
314
360
353
304
253
292
330
225
256
371
282
346
403
395
321
341
287
295
355
275
309
377
387
304
288
309
289
367
380
273
344
308
306
299
299
252
320
284
343
271
276
308
284
246
291
309
430
252
289
293
306
375
374
384
268
342
347
301
337
331
299
309
323
328
343
299
426
366
329
379
319
368
397
283
414
334
356
317
308
334
292
317
409
399
324
256
366
273
297
326
322
359
379
357
369
305
367
403
254
322
293
356
390
244
366
282
282
389
322
301
373
322
361
343
385
354
384
348
293
383
273
296
343
375
311
301
364
280
343
254
312
277
311
380
327
293
370
336
315
350
303
290
305
376
267
245
257
237
349
388
343
243
355
337
279
244
358
392
296
332
296
344
287
297
372
301
312
278
216
329
344
323
334
326
282
308
342
309
358
384
243
333
353
359
343
333
288
308
321
225
341
377
336
383
232
346
355
257
260
242
355
352
322
333
286
379
308
258
235
318
440
317
270
333
325
283
321
322
376
306
210
376
265
349
336
304
355
381
286
340
384
301
340
347
308
259
361
397
359
300
276
293
326
292
357
279
335
298
265
239
293
317
222
322
244
267
357
323
311
354
329
367
285
365
338
326
255
281
304
316
286
249
348
318
345
258
389
295
206
384
391
387
372
213
290
276
295
348
296
287
320
291
278
324
355
366
296
321
274
273
279
356
383
310
310
357
304
350
341
294
360
321
219
349
261
380
306
340
280
351
363
405
310
332
278
290
245
253
236
352
308
328
321
387
304
353
362
293
353
331
259
282
372
309
292
345
310
341
311
228
436
299
329
211
330
354
355
362
313
292
259
283
286
302
242
315
337
324
210
221
318
296
307
321
328
274
346
322
318
302
323
336
303
253
232
353
311
347
353
354
325
304
217
348
247
334
376
300
311
321
264
280
371
282
333
347
230
288
335
302
297
356
315
349
301
289
234
376
343
432
294
301
308
253
289
279
223
324
289
305
277
373
335
355
365
315
243
324
287
320
306
287
294
286
256
334
335
340
414
329
274
275
359
345
211
299
278
232
246
299
390
290
318
235
330
388
338
368
372
386
331
297
315
328
347
302
266
241
252
336
306
343
272
319
339
338
351
260
299
378
337
353
364
227
321
348
350
278
267
326
391
311
298
237
353
357
236
315
239
345
357
308
302
375
297
268
297
310
195
334
325
301
348
302
415
356
288
273
309
287
297
239
358
345
332
328
267
339
318
373
323
366
322
368
348
205
313
345
326
272
325
331
338
247
321
306
293
328
322
284
312
317
293
367
364
314
247
309
243
234
250
322
336
315
338
314
390
389
284
270
314
325
248
299
333
277
349
330
351
275
228
307
334
415
349
241
312
380
322
338
250
308
265
377
277
334
307
303
325
345
253
270
263
330
316
256
343
388
335
357
310
341
315
331
380
319
356
266
352
316
318
417
344
297
283
309
352
323
350
284
331
368
358
293
335
401
327
288
340
347
228
247
298
272
345
204
312
335
400
277
335
341
338
274
223
334
379
345
332
367
299
381
275
319
345
309
310
396
312
412
293
360
226
310
273
254
313
277
337
351
307
298
353
304
291
332
259
374
340
337
347
321
332
318
286
299
198
319
367
296
236
314
337
337
383
306
329
245
366
291
268
333
263
364
306
239
321
321
364
312
286
345
300
262
339
213
382
320
389
314
321
330
280
306
345
323
319
322
313
289
356
207
336
325
177
274
277
353
275
302
278
339
372
338
312
287
290
228
325
293
303
314
351
337
223
327
317
320
375
358
337
334
347
265
294
326
368
319
275
341
306
370
338
316
355
316
359
371
271
404
352
292
281
293
257
326
355
331
343
306
346
303
248
314
353
341
348
358
270
405
353
348
280
262
260
341
326
346
302
254
376
399
377
318
246
293
211
334
315
291
342
223
341
286
404
307
285
298
394
286
357
270
312
332
288
274
365
258
379
318
314
347
373
327
301
306
313
325
306
234
324
332
336
365
307
276
278
349
377
305
284
368
271
337
361
282
336
287
239
333
293
315
263
302
327
389
361
329
348
309
279
282
262
268
340
377
289
311
302
402
308
256
341
294
308
306
290
385
340
416
285
296
427
305
310
305
341
295
357
295
358
279
327
350
365
359
277
281
269
280
327
284
253
264
329
367
305
287
266
308
347
300
274
376
218
361
320
328
377
234
355
287
322
311
285
323
306
313
312
298
279
287
353
335
268
276
329
266
374
382
238
265
227
276
308
347
314
295
260
399
301
321
311
368
304
369
354
380
293
254
304
314
332
315
380
228
341
326
206
273
370
275
246
393
291
306
279
309
306
350
312
252
264
325
304
306
364
257
325
354
304
314
302
353
226
345
291
415
275
300
301
290
386
393
273
351
321
308
286
392
307
371
294
283
286
328
389
266
177
371
359
303
317
303
331
379
344
290
306
341
346
335
334
304
343
288
271
295
232
247
372
318
317
270
307
318
296
276
315
331
333
297
240
324
377
267
363
273
374
330
309
322
325
409
273
283
280
270
247
269
330
404
320
298
381
267
299
271
347
369
215
365
337
332
345
330
362
337
346
249
260
286
306
269
260
312
365
304
319
265
337
276
254
294
321
279
295
301
296
353
329
269
230
338
310
297
316
297
245
332
368
329
294
239
257
348
285
267
279
365
302
301
189
375
310
275
336
308
339
328
353
361
300
293
259
318
349
306
302
341
398
268
394
370
310
313
353
342
373
307
331
294
308
317
276
299
365
378
315
277
246
331
391
372
292
378
309
248
279
289
314
337
366
262
305
320
304
347
286
281
382
299
330
371
312
386
306
352
362
354
364
313
395
335
385
386
362
360
306
362
314
268
385
330
269
291
281
317
331
302
306
359
252
353
345
373
351
274
293
352
260
288
273
255
292
310
333
278
297
317
275
320
278
357
383
303
294
292
323
305
356
338
279
293
384
334
379
216
302
209
336
323
301
334
246
342
355
297
353
341
358
401
325
326
297
318
346
349
261
282
295
347
301
341
340
331
213
329
275
276
365
340
316
260
380
294
274
318
326
357
364
341
410
263
325
345
310
263
331
298
198
379
362
230
270
367
313
288
349
277
344
359
342
294
262
299
260
304
338
332
275
402
301
297
334
309
273
251
314
290
385
330
357
310
277
299
290
354
355
344
294
309
273
364
291
383
329
327
245
356
257
291
371
298
355
327
320
307
349
253
384
314
328
370
299
346
248
410
296
294
299
345
389
310
359
345
267
364
379
306
330
271
382
393
317
351
299
380
342
303
311
333
343
322
311
245
280
277
347
293
277
239
362
320
358
222
393
361
303
196
279
341
302
339
383
396
319
284
278
304
231
305
315
300
335
340
429
321
300
209
267
296
387
335
366
297
345
205
309
278
381
346
234
304
374
287
312
322
282
316
317
325
311
283
252
319
260
397
281
367
316
328
306
263
323
255
319
328
223
343
273
310
346
231
322
270
312
313
319
351
353
354
351
315
291
362
339
280
356
316
339
363
320
349
334
310
319
338
253
278
358
311
321
313
273
307
390
301
337
352
328
310
304
298
336
350
311
342
295
361
332
335
311
240
284
380
231
289
310
348
313
300
398
282
356
346
291
352
359
317
368
291
262
324
273
361
325
346
297
350
346
292
325
273
322
301
279
313
317
276
348
367
375
323
319
326
333
338
296
332
270
322
299
377
316
333
435
294
305
331
245
285
198
309
295
318
297
316
357
323
213
338
331
297
340
270
304
258
259
323
357
303
293
342
285
274
348
318
266
339
298
263
345
326
345
313
376
334
289
339
338
379
329
373
306
336
225
349
343
349
260
404
396
321
341
372
279
278
287
294
270
337
266
322
330
368
268
311
219
295
250
264
333
230
327
316
328
307
290
348
323
344
402
293
377
315
314
301
354
319
292
348
306
262
339
305
246
254
350
341
282
395
328
327
297
312
310
269
336
271
278
366
340
324
257
343
327
302
341
306
322
323
340
329
261
303
312
323
416
282
234
336
354
385
409
324
361
347
277
424
385
397
294
366
319
263
382
390
326
261
273
375
369
308
277
355
300
320
285
286
311
325
358
274
269
354
271
332
325
314
333
288
342
361
284
321
345
301
332
240
360
372
273
323
269
356
361
395
381
266
280
390
294
333
313
306
296
279
301
245
270
239
339
274
320
331
313
249
352
322
338
310
368
342
343
369
329
290
439
330
343
348
346
363
318
274
282
295
294
367
280
305
246
329
348
280
284
223
365
331
328
392
267
346
234
392
239
286
346
361
388
297
301
319
413
301
382
407
288
332
374
324
271
326
361
193
292
227
241
295
285
364
398
290
308
299
349
272
365
230
389
299
266
238
269
313
271
299
308
348
287
382
243
372
274
296
262
348
336
269
387
314
262
312
356
350
318
337
270
280
239
392
287
344
343
314
329
351
254
291
310
287
267
308
386
301
391
348
316
341
238
310
352
328
262
347
361
327
290
323
299
293
373
405
324
293
324
391
293
314
212
373
418
218
379
356
389
232
282
387
223
246
285
234
401
262
373
280
328
282
348
305
281
312
244
276
285
349
277
337
333
267
177
295
278
344
341
285
352
375
296
302
384
282
334
301
322
347
340
299
239
319
369
291
371
373
278
364
283
316
335
264
277
291
321
362
368
312
280
274
355
292
264
339
347
261
345
297
294
381
347
323
319
331
299
239
324
315
244
335
369
328
361
357
329
331
386
327
310
341
374
251
295
312
318
327
290
278
234
350
322
327
345
252
307
292
264
364
370
327
336
310
349
302
375
253
359
342
339
361
300
310
319
311
323
238
338
342
253
399
325
322
300
375
268
288
306
304
382
294
333
355
295
305
277
276
303
396
257
371
351
395
322
283
332
334
338
320
374
277
364
340
271
331
337
300
359
288
265
267
229
386
349
279
385
305
273
322
325
381
441
299
411
326
251
273
360
368
341
320
340
350
280
272
285
277
338
250
300
279
326
393
320
306
301
284
344
331
236
391
274
300
285
248
380
298
310
226
378
333
339
317
308
323
267
329
313
361
344
381
361
270
358
217
318
280
336
289
365
261
237
318
316
271
301
313
372
330
371
330
345
241
354
360
388
284
370
302
340
352
366
267
391
317
317
288
299
380
361
322
293
328
318
290
336
322
316
347
365
274
284
363
305
244
324
351
306
329
196
280
321
305
275
338
262
356
242
408
357
241
301
302
320
365
322
306
401
393
306
322
306
280
316
335
296
316
394
336
350
310
366
238
193
343
363
328
393
266
370
296
326
334
394
274
304
285
407
347
358
387
276
335
264
281
318
394
290
396
261
326
335
304
311
307
323
316
226
328
334
321
312
269
275
358
399
316
248
333
360
350
297
320
220
297
309
241
399
382
351
384
372
300
385
352
338
325
322
332
321
397
317
352
239
354
321
344
282
273
302
326
318
291
401
330
330
276
358
342
268
292
393
329
339
350
314
333
289
381
347
277
331
370
304
315
319
276
305
299
313
287
425
350
344
324
268
339
294
295
374
357
342
347
366
344
306
357
355
281
341
302
271
327
362
292
386
381
345
302
214
340
353
327
304
328
236
340
249
296
295
338
341
306
373
292
236
372
245
285
403
322
360
278
366
355
331
347
383
390
348
340
335
334
238
303
331
282
341
325
254
307
348
283
418
368
332
373
305
373
319
318
327
292
344
330
249
277
287
264
306
355
291
279
312
320
284
258
276
339
317
347
318
285
320
291
274
334
315
233
274
371
359
379
303
234
306
306
323
360
279
348
360
279
365
321
327
403
396
270
447
242
311
347
234
310
326
318
349
289
315
313
356
360
381
310
292
291
355
395
388
276
339
315
337
331
348
270
348
319
326
256
246
308
271
316
322
261
328
280
297
444
305
328
304
322
400
320
330
260
388
299
312
312
310
312
222
296
371
278
325
363
283
335
293
402
357
344
330
365
259
316
304
329
386
215
345
340
245
333
249
294
332
300
328
294
267
354
264
283
377
289
412
260
283
321
297
353
368
342
274
346
212
268
320
361
327
316
259
355
336
291
327
273
274
303
258
315
350
260
331
357
265
285
322
290
268
352
336
271
339
352
346
358
308
271
312
256
233
286
371
235
336
350
321
210
365
282
339
263
335
319
380
356
416
312
323
241
431
335
365
314
375
247
295
415
290
357
418
293
295
409
315
324
331
317
277
266
392
333
347
288
290
333
344
332
361
332
338
437
356
327
348
275
390
384
324
326
294
315
297
274
378
248
292
265
363
352
275
312
369
270
320
324
306
309
300
379
230
324
319
380
343
406
264
324
262
278
249
342
299
308
354
384
273
262
357
301
422
390
365
341
411
427
293
286
288
314
420
301
261
233
318
345
334
330
321
252
295
375
352
342
289
345
306
328
272
255
293
440
292
286
294
236
358
388
327
263
305
352
338
258
316
295
347
297
269
349
382
289
311
271
337
376
358
274
321
271
394
314
305
332
365
271
332
366
252
353
279
327
302
317
349
326
341
318
321
237
383
342
307
298
301
246
326
329
313
385
275
319
307
236
323
310
268
398
267
368
285
330
330
317
289
368
257
381
400
233
262
301
377
363
349
330
286
321
283
293
367
258
272
387
338
347
287
340
324
293
420
311
270
310
337
351
301
309
276
319
305
316
214
324
402
333
343
316
309
336
342
410
250
359
243
321
312
279
234
257
266
360
341
291
316
269
230
346
198
317
333
267
330
337
312
285
328
360
318
343
387
297
402
288
309
303
411
331
311
180
301
271
311
325
343
340
273
296
351
334
346
296
268
317
353
361
293
366
343
393
268
275
334
311
270
278
309
316
358
391
308
314
363
368
403
325
333
366
341
341
376
301
364
358
280
345
377
303
331
317
289
352
334
324
360
313
348
288
341
317
326
409
248
260
301
247
257
320
354
304
303
328
331
331
354
366
286
381
356
307
359
393
368
243
273
268
293
249
308
371
298
180
272
292
206
292
373
284
339
249
372
406
254
376
288
326
301
319
275
329
324
223
319
372
295
355
371
306
361
277
324
321
307
225
301
399
226
332
417
295
304
407
359
306
262
336
379
342
368
255
374
326
332
314
398
347
309
239
348
314
309
284
343
401
338
308
277
339
293
207
222
350
339
318
333
357
364
368
339
316
280
336
341
298
364
356
374
374
243
363
355
343
368
393
318
372
311
321
319
365
367
351
324
336
239
285
302
333
350
306
303
317
344
342
277
328
349
396
291
333
372
358
286
273
355
371
246
282
336
276
370
346
298
412
317
397
275
292
291
336
340
410
276
327
305
286
336
340
325
363
346
270
279
275
318
358
402
380
257
340
356
271
337
300
368
303
304
323
291
362
312
381
246
356
369
261
322
302
316
334
285
395
354
295
394
327
382
331
356
335
367
297
317
393
244
429
291
358
372
295
384
315
345
389
363
360
360
354
344
312
321
299
216
270
302
331
335
381
316
328
315
362
314
358
339
288
337
271
380
346
332
380
338
313
340
327
300
341
323
330
332
317
356
359
320
369
346
285
351
360
339
275
358
313
330
353
287
284
363
214
307
326
339
297
356
278
333
374
394
263
366
306
273
253
343
423
261
289
302
263
337
359
330
295
319
325
230
325
392
229
315
323
303
332
325
281
464
358
288
325
315
296
311
319
441
278
333
298
203
274
394
342
393
324
248
359
227
339
269
292
367
318
267
400
316
377
305
351
279
257
372
388
378
357
316
288
306
345
364
319
257
270
333
410
341
337
351
296
334
249
377
279
301
284
313
307
302
313
320
292
291
307
284
268
364
346
249
316
382
346
318
341
270
297
384
368
307
317
288
305
305
305
326
382
335
332
275
422
413
318
342
302
357
327
381
288
392
265
307
353
317
345
254
336
324
340
378
368
226
401
280
288
368
358
311
334
304
323
333
319
347
291
323
357
272
347
315
381
305
295
298
258
310
348
377
308
310
259
319
284
308
335
318
241
284
357
324
342
247
360
322
302
377
266
240
274
307
281
374
304
346
248
213
268
326
367
248
341
367
319
328
315
237
220
272
213
296
319
314
324
329
343
265
281
290
306
327
277
293
334
317
296
289
346
341
299
361
331
276
304
341
332
358
335
350
258
272
377
292
264
351
381
316
364
336
308
414
320
361
288
383
268
328
253
306
274
355
338
310
339
248
366
329
311
319
260
315
268
323
360
299
411
384
309
312
335
291
315
293
349
288
285
369
382
343
317
336
355
368
393
241
372
253
301
309
290
256
310
345
306
336
250
225
362
338
342
219
276
282
346
357
317
301
267
270
351
222
370
349
331
295
331
371
278
351
376
392
300
382
269
379
429
343
286
318
341
348
339
299
374
356
305
228
289
289
278
327
323
334
327
329
221
306
339
274
376
250
341
304
286
297
253
323
268
288
311
281
383
266
386
314
349
257
324
357
298
276
328
301
278
289
302
371
301
356
381
330
312
348
220
264
318
305
359
334
341
313
314
355
364
378
298
257
362
288
346
233
389
333
290
305
312
285
218
380
391
310
350
314
335
268
334
297
336
278
340
254
318
268
311
287
270
300
309
404
302
302
293
259
327
294
291
315
390
283
293
423
268
355
327
254
299
337
305
326
244
359
270
327
259
228
306
358
350
380
309
306
333
339
236
305
306
353
381
321
299
284
328
360
349
323
340
274
302
281
359
235
354
326
297
321
271
370
280
321
329
307
359
333
292
286
375
353
265
339
347
269
336
287
380
263
383
320
346
293
273
256
375
261
290
366
306
306
309
350
275
309
367
377
282
317
412
237
305
390
322
277
359
255
358
328
343
270
242
306
279
307
295
318
322
360
174
287
283
279
444
367
309
239
377
287
331
269
291
305
361
313
359
305
381
307
332
264
256
349
315
315
275
358
331
311
361
320
401
358
337
338
390
299
349
337
301
305
336
287
316
331
321
389
229
403
317
320
346
289
383
344
334
317
289
310
257
349
298
314
226
332
294
271
367
378
343
345
387
357
383
290
298
303
396
344
308
279
340
310
312
361
305
380
336
419
339
325
346
312
308
297
318
402
314
349
323
311
298
217
342
368
295
417
315
266
298
321
290
275
305
294
243
305
363
361
338
382
293
323
312
356
307
307
383
257
347
326
308
278
324
357
316
269
258
346
260
280
305
293
310
258
381
352
291
426
304
274
381
371
294
321
284
367
321
267
236
281
318
296
317
291
348
245
312
317
291
310
368
267
320
396
317
330
373
250
288
321
347
268
293
388
384
305
329
389
244
347
293
265
274
304
336
368
331
310
323
301
319
345
374
289
420
350
380
288
388
316
330
281
327
298
339
270
319
225
310
311
351
313
356
286
249
350
351
349
253
238
299
370
314
340
310
343
284
319
302
308
310
246
272
406
252
207
312
307
269
339
332
232
287
234
333
301
367
301
345
256
306
268
331
265
270
397
302
352
229
340
265
335
301
303
403
299
370
268
301
261
327
355
330
323
317
358
305
361
292
337
289
294
359
307
301
352
384
327
340
322
364
323
314
326
390
392
295
371
248
383
287
350
325
298
321
363
359
351
275
368
319
324
405
316
289
386
338
265
338
331
310
255
303
379
348
280
310
298
290
282
314
366
149
341
378
323
311
374
366
260
202
335
251
251
306
427
392
364
303
355
332
313
288
365
227
327
317
317
313
358
280
338
305
386
371
358
305
333
300
324
239
347
280
341
343
341
314
337
277
350
293
344
314
335
332
347
337
312
340
395
335
361
398
264
331
374
287
382
281
345
337
242
337
320
302
431
346
359
317
288
347
300
322
323
356
355
266
348
384
320
414
314
290
340
316
356
240
366
242
391
398
281
380
375
396
299
311
381
341
346
311
333
319
265
274
297
311
307
342
292
245
301
314
334
352
348
282
282
342
375
303
337
338
332
316
351
333
276
289
337
325
340
340
280
339
306
333
351
265
237
337
349
390
317
324
340
372
349
364
335
278
280
268
278
230
332
377
343
312
316
363
274
434
324
308
297
265
344
250
294
349
346
357
351
342
277
369
326
301
362
277
241
365
356
420
369
338
353
293
327
405
255
295
372
308
381
297
307
386
428
339
217
220
363
303
346
229
303
358
372
288
356
327
291
267
276
355
231
340
316
319
277
381
265
334
388
349
243
290
330
430
311
246
323
328
339
310
288
318
299
375
345
289
309
389
354
322
292
303
250
327
262
312
263
340
300
370
288
325
381
284
299
331
319
342
305
251
299
362
235
408
365
306
242
260
298
345
216
311
373
306
342
246
284
252
388
311
396
318
280
331
359
319
280
331
329
265
288
265
367
307
315
295
411
295
309
310
416
304
334
360
280
232
298
304
313
337
269
285
310
304
332
369
339
369
369
268
350
269
225
267
306
220
207
350
339
306
291
346
356
311
375
327
386
383
342
287
294
275
331
255
307
405
326
332
335
285
370
352
309
357
396
285
281
206
195
374
249
310
322
310
365
272
301
309
290
252
319
301
322
366
270
287
394
340
296
415
268
267
340
373
355
347
285
379
317
256
282
318
375
357
282
280
304
309
428
312
291
254
295
238
318
256
349
313
375
317
301
271
214
370
434
342
349
287
340
287
294
314
268
267
325
288
313
320
336
287
326
347
322
385
307
321
352
273
343
320
343
278
256
391
361
341
316
292
270
362
265
388
283
298
288
316
237
297
304
313
382
325
262
257
369
290
289
348
306
251
348
324
302
306
303
272
358
320
317
297
318
267
288
319
373
325
363
328
318
318
384
341
314
416
294
409
288
354
389
416
311
351
257
324
221
276
325
361
325
283
362
321
243
308
247
279
297
305
292
246
269
291
349
337
412
275
350
318
272
330
355
340
275
269
315
274
366
306
328
306
297
275
253
344
296
263
277
314
352
369
286
386
277
292
235
302
230
347
271
303
365
345
301
396
336
256
337
384
348
358
287
306
308
292
288
284
394
314
331
252
390
336
371
346
375
289
234
318
348
245
354
289
333
345
279
251
323
287
252
323
384
289
328
316
326
314
240
298
340
337
336
333
353
346
271
318
293
319
339
307
268
272
322
322
379
322
310
318
331
272
270
301
361
332
299
300
305
351
313
434
324
340
256
297
249
348
252
329
389
372
319
333
233
391
311
399
362
397
314
352
385
373
342
331
372
343
315
364
327
366
226
335
314
310
284
290
323
332
265
354
355
305
335
324
371
333
282
393
384
373
391
291
352
341
331
361
287
290
319
225
347
286
363
352
299
324
303
384
321
352
338
325
288
403
237
360
363
285
326
302
310
335
399
234
326
351
367
298
292
296
321
246
322
405
309
287
306
320
367
415
319
300
311
381
271
350
282
243
253
261
247
205
345
236
310
320
249
322
290
360
273
298
309
337
286
354
240
285
308
294
378
318
294
265
323
316
293
343
204
361
342
304
247
390
335
240
317
296
432
386
338
396
277
316
296
258
342
253
343
270
298
310
269
250
281
253
269
342
368
277
337
300
314
347
303
338
326
300
248
316
278
305
299
355
322
353
318
358
315
324
355
303
321
371
342
271
284
312
314
409
292
332
395
323
330
307
276
228
289
280
356
338
337
342
320
276
409
326
335
313
372
318
348
289
304
278
310
390
296
323
277
275
320
305
208
347
293
320
306
305
237
333
337
298
369
261
331
292
400
397
314
390
279
315
337
288
321
356
351
274
331
336
309
306
368
325
303
239
319
264
269
301
305
310
306
361
366
316
352
354
332
262
221
378
235
301
306
307
310
322
343
253
411
318
362
328
360
321
355
336
352
360
283
290
379
339
354
380
358
323
276
337
317
289
212
328
300
366
255
248
415
321
426
340
293
314
301
279
273
269
266
233
351
375
284
286
314
279
350
349
335
225
307
303
257
301
267
358
267
334
316
349
358
319
296
349
266
334
304
357
252
298
209
355
352
226
380
351
259
326
304
356
327
363
404
249
279
308
350
305
280
272
282
280
379
297
358
245
338
279
382
378
283
367
340
279
242
307
311
379
436
337
297
303
301
246
292
296
242
213
364
279
329
361
355
304
279
296
293
356
304
325
298
262
303
349
364
309
313
315
309
284
299
330
356
283
287
175
264
368
298
401
301
322
332
268
334
375
315
268
291
275
292
279
324
282
306
308
241
289
327
286
276
326
383
289
408
406
359
405
321
355
283
338
299
256
267
286
364
186
327
336
263
296
376
342
362
346
329
302
261
324
322
365
306
286
300
223
321
284
303
282
301
325
338
392
346
359
255
360
308
321
271
316
339
276
313
349
342
361
279
420
364
316
304
309
277
329
385
332
366
327
385
330
370
405
351
349
289
393
365
336
280
261
341
248
301
378
342
341
347
335
365
348
313
280
291
302
333
261
252
259
292
346
285
303
321
332
354
237
327
384
350
288
320
302
314
299
336
236
394
351
338
337
366
284
280
338
361
430
215
372
357
245
426
322
344
441
216
303
309
384
348
345
339
338
298
306
338
358
319
387
341
347
306
309
267
371
228
290
269
393
308
272
319
357
302
278
360
348
277
323
291
300
316
277
255
302
350
283
374
243
380
373
221
337
331
316
331
409
354
321
224
280
314
344
352
343
297
311
293
285
282
179
350
267
265
280
335
289
368
399
321
323
309
334
297
291
274
302
285
320
346
328
314
311
293
334
352
356
333
287
294
366
376
382
267
338
386
295
356
366
350
283
353
239
348
383
355
325
312
345
335
346
298
304
310
287
309
333
315
315
335
301
306
290
320
354
285
350
351
320
392
364
298
271
295
402
360
270
351
310
350
287
318
351
372
358
334
325
339
308
289
293
209
293
375
315
280
306
406
293
346
413
307
343
287
365
329
347
272
279
310
324
351
256
306
322
265
361
338
346
330
298
286
292
329
297
307
407
339
362
400
317
308
239
319
320
260
291
427
321
255
283
327
344
297
341
366
336
332
273
351
266
326
293
312
389
382
284
371
344
353
256
282
364
290
288
258
381
282
367
262
249
318
357
301
281
253
340
316
367
240
435
300
322
341
343
331
353
315
269
337
281
351
321
296
300
379
266
326
348
359
274
300
319
335
351
363
334
362
307
324
300
366
286
330
252
254
310
282
352
313
321
322
301
344
342
284
346
310
339
265
378
312
310
268
340
370
296
246
262
316
337
400
390
369
309
337
300
274
368
288
346
344
237
324
237
411
322
369
391
379
298
365
230
345
368
346
363
233
274
284
326
326
336
296
332
334
331
325
298
357
357
348
357
332
318
373
276
321
287
310
339
388
347
344
298
223
326
316
248
306
359
290
243
330
288
333
306
244
264
313
217
313
214
311
325
325
356
286
258
273
306
374
356
280
310
334
280
381
286
356
303
322
327
309
289
364
248
327
365
331
391
312
325
361
295
328
354
280
368
344
326
295
212
321
304
308
293
355
332
305
357
174
234
378
328
294
319
343
295
315
357
321
271
336
375
344
263
343
335
294
314
239
323
383
218
363
336
278
338
297
297
343
306
370
288
354
348
303
313
260
283
307
247
415
328
235
392
319
336
267
278
302
275
232
365
226
313
265
349
350
295
339
300
325
321
414
341
271
387
311
316
302
355
324
256
300
310
306
312
352
330
282
311
272
325
244
341
291
302
371
351
290
266
345
314
278
321
298
304
335
302
352
345
341
201
299
196
284
321
351
363
346
306
274
277
265
302
301
284
358
280
266
301
302
350
341
268
334
295
359
293
255
316
353
250
391
281
308
259
311
340
239
296
334
331
374
330
239
348
345
327
333
346
352
349
292
294
335
234
335
255
299
310
397
315
415
219
346
339
317
342
329
251
329
285
360
348
305
337
283
317
336
343
394
324
296
278
330
298
282
318
358
375
351
286
285
376
346
347
385
271
256
368
356
382
381
309
366
295
338
400
323
251
292
371
350
333
241
364
401
299
341
314
257
321
396
286
275
358
255
260
295
394
301
336
346
394
409
303
318
320
282
419
308
349
342
318
298
373
336
315
311
303
362
346
365
326
329
281
330
335
308
392
272
306
260
238
336
424
307
331
260
366
355
220
328
295
335
375
366
268
408
212
341
272
381
318
401
262
367
331
380
321
316
308
341
286
271
256
396
295
387
282
269
258
332
354
347
359
329
323
446
360
288
277
316
223
326
355
298
339
373
359
351
328
348
316
374
305
290
252
375
338
295
362
313
264
329
332
292
238
237
266
376
364
337
360
415
271
352
341
302
342
298
326
375
417
290
292
292
359
373
329
374
287
290
334
329
297
243
244
355
265
331
337
297
377
314
288
266
300
366
295
243
335
327
374
345
326
256
356
366
365
318
269
286
254
314
341
333
346
345
366
274
300
219
267
229
189
249
261
411
254
298
342
311
371
353
269
309
301
252
227
312
276
268
387
338
282
367
293
318
364
286
369
351
223
280
329
290
344
426
376
366
328
308
293
387
297
218
317
298
335
374
317
284
358
319
301
324
321
329
241
306
257
367
284
347
329
271
311
296
307
306
289
301
305
286
370
398
418
379
326
244
233
285
276
326
357
377
376
359
349
265
281
345
251
325
314
273
333
314
301
350
292
258
327
330
317
332
337
296
301
325
350
320
297
314
331
286
241
290
358
288
329
280
267
389
292
344
332
320
340
312
419
290
242
305
381
299
300
314
312
361
300
294
275
409
398
258
371
327
332
350
435
310
308
320
303
424
407
346
326
212
375
325
253
321
358
307
303
388
319
339
337
293
324
332
356
325
361
339
300
278
354
332
286
381
319
314
310
276
308
300
313
293
386
340
280
336
264
239
330
330
273
324
292
330
259
347
305
333
357
385
178
326
304
289
303
381
368
330
350
377
341
292
279
430
333
294
341
256
256
347
255
372
352
376
277
272
304
331
311
293
251
365
282
282
391
350
358
349
348
355
282
315
353
266
273
316
318
264
409
313
319
331
334
368
327
291
335
416
390
297
312
357
372
334
363
335
259
356
379
416
293
310
316
268
243
383
280
372
356
311
193
327
302
375
238
329
331
342
301
347
318
285
298
311
351
293
305
314
313
279
336
234
325
280
354
293
308
277
340
310
417
365
274
276
332
346
322
274
279
304
391
301
230
307
357
307
356
323
368
239
283
320
287
333
322
293
256
315
368
244
248
301
332
229
354
297
276
303
245
364
329
323
254
310
384
257
292
318
316
296
375
314
349
368
292
226
295
294
266
297
320
262
374
305
170
352
361
326
333
285
238
336
340
353
392
341
303
197
345
351
311
251
260
292
363
361
334
283
277
295
264
339
276
379
331
294
358
380
326
281
286
376
212
263
296
288
330
387
311
270
350
323
333
296
340
271
339
287
311
354
347
359
318
294
364
358
307
304
213
301
333
403
409
363
356
350
297
278
299
285
296
359
278
355
289
303
337
335
315
271
275
354
232
396
303
313
271
320
333
250
326
263
334
247
291
309
274
268
321
379
323
344
310
317
303
304
318
348
251
373
308
341
289
315
356
349
278
246
286
301
333
284
354
286
319
312
325
282
332
323
362
205
308
246
299
253
335
268
316
321
330
261
344
321
301
288
281
287
315
233
321
171
311
410
316
302
347
268
334
279
296
274
328
289
351
318
315
330
331
300
410
371
342
319
387
327
374
299
357
287
325
320
276
295
315
333
313
255
356
266
343
293
255
292
299
284
295
382
348
390
356
356
308
260
300
348
326
338
325
267
231
367
313
259
263
304
317
360
316
322
325
295
394
258
293
267
320
348
279
366
209
247
344
365
290
310
218
276
262
361
310
393
246
309
349
283
318
342
244
297
314
293
352
279
316
353
357
435
298
310
319
315
312
233
329
308
234
354
325
264
254
352
263
356
333
347
260
406
386
342
325
363
338
311
372
378
336
296
320
318
327
300
320
326
318
317
346
340
433
312
401
356
368
333
222
306
322
319
366
321
296
315
273
318
384
274
253
278
302
269
236
293
368
286
384
296
344
261
326
337
231
348
378
369
353
329
317
367
256
279
280
338
318
352
355
209
317
291
267
201
280
313
379
350
295
371
287
325
347
329
327
253
236
223
279
312
295
332
311
257
314
258
398
302
333
308
223
246
300
390
280
277
254
261
362
350
333
406
269
299
366
321
276
270
360
318
414
235
294
244
262
318
367
383
289
304
274
332
279
312
284
326
360
278
368
358
300
338
341
314
347
255
292
277
333
317
319
350
392
354
320
332
192
247
393
382
377
286
353
322
319
285
357
335
339
292
401
321
245
394
315
247
275
379
267
303
346
274
331
280
348
362
354
266
348
274
341
331
343
346
307
366
246
310
321
361
327
328
300
317
314
294
321
290
312
290
326
308
278
351
359
358
327
360
316
265
304
317
361
432
317
324
317
340
344
342
250
294
347
303
309
248
299
304
272
306
325
419
389
333
450
309
291
315
296
329
382
312
347
326
265
326
338
342
340
224
360
280
345
285
394
323
222
329
263
278
342
333
353
332
334
371
337
465
330
370
299
260
287
366
324
392
303
308
282
285
322
302
237
380
323
372
318
314
347
347
365
271
239
403
335
367
285
337
356
404
344
365
315
294
327
315
308
313
404
300
294
321
297
322
341
360
351
387
361
279
312
356
290
287
339
284
368
261
317
332
324
303
335
277
284
305
307
333
276
225
296
303
331
273
307
347
249
322
295
327
272
380
331
308
285
245
338
371
325
352
273
313
250
376
334
254
362
324
310
323
247
309
289
334
298
308
382
381
292
298
344
290
252
341
275
299
337
345
354
367
295
294
332
293
282
326
300
263
314
317
230
260
258
326
335
273
266
373
335
283
266
334
290
282
295
422
413
220
301
219
359
297
371
267
374
359
315
247
315
348
289
313
336
288
327
349
290
326
260
319
302
288
367
254
297
248
350
392
295
326
367
375
317
387
327
306
313
245
361
389
296
335
298
354
242
265
304
291
267
376
315
305
409
305
313
308
305
284
296
289
349
311
244
379
349
379
302
305
244
332
227
302
283
242
221
354
308
314
299
359
322
315
311
312
301
315
303
341
340
271
245
324
371
289
291
299
275
316
303
257
345
282
300
279
249
254
390
318
351
363
269
314
396
330
251
356
387
342
329
343
314
359
222
325
323
316
292
228
307
325
351
312
329
261
376
384
326
342
276
252
375
309
380
313
330
291
321
334
361
352
312
258
341
341
369
262
333
263
354
347
296
234
295
260
268
291
355
324
380
316
337
342
354
344
341
337
240
347
291
268
295
341
274
369
242
366
289
345
332
337
355
307
407
313
311
366
366
418
334
307
307
302
264
392
312
402
407
311
319
298
346
342
276
368
332
256
289
367
381
269
325
356
234
406
323
338
296
327
341
363
328
254
274
277
310
350
323
311
269
190
286
303
264
381
341
331
227
291
298
251
311
323
235
334
368
234
280
287
262
288
317
238
399
371
330
316
345
210
285
286
308
303
338
280
283
346
372
300
343
305
354
349
316
256
307
333
337
397
307
248
305
254
310
330
324
379
395
373
357
330
239
322
247
281
303
313
368
348
272
313
316
297
326
191
274
405
238
250
355
345
359
356
333
312
297
377
250
291
346
403
279
278
222
302
360
343
313
331
350
327
347
263
298
302
315
324
399
346
334
333
341
358
331
276
332
326
301
371
289
268
361
348
314
383
375
319
311
340
244
334
228
333
401
295
158
263
360
319
340
328
381
299
298
275
344
207
299
304
321
334
242
313
296
353
348
320
318
312
284
302
307
281
365
317
296
313
321
259
301
399
364
305
243
305
316
299
306
321
239
354
284
266
310
256
348
335
204
272
308
397
272
222
304
384
366
290
247
324
327
309
274
348
370
269
353
288
343
327
274
309
295
315
332
328
335
353
312
306
390
247
365
288
295
353
308
247
345
299
285
398
270
292
366
348
313
422
354
355
333
287
297
308
331
268
332
334
263
309
413
311
342
274
363
347
335
382
232
349
275
246
269
243
303
333
296
327
312
245
340
309
247
363
313
305
293
264
226
320
304
340
296
339
292
407
280
308
342
262
239
329
336
333
348
326
272
275
206
273
316
406
328
304
229
375
259
279
298
382
246
370
351
284
243
405
328
376
322
322
248
251
279
239
260
345
344
345
327
272
298
376
262
306
279
314
350
367
328
284
270
324
277
246
349
352
352
343
325
349
325
333
308
304
268
283
287
281
257
345
326
258
323
309
274
281
325
269
251
273
295
338
345
293
319
305
270
374
374
335
428
361
326
278
294
317
325
394
371
310
340
361
287
272
328
337
340
310
281
319
242
328
290
314
325
231
237
320
364
333
279
396
407
289
392
305
349
379
296
407
331
349
322
287
312
294
331
351
298
208
408
380
301
374
328
290
287
371
337
313
360
235
306
383
361
349
287
304
336
306
328
366
347
368
320
263
267
298
391
329
268
352
281
356
406
235
311
301
284
287
318
370
300
297
295
343
245
380
348
281
346
275
388
308
291
290
296
300
251
280
355
369
341
296
245
336
321
396
263
229
302
341
238
320
334
390
349
339
320
336
308
265
298
368
302
394
322
369
237
236
308
311
340
250
314
341
268
285
335
303
375
266
296
298
186
278
265
271
300
262
319
318
325
286
335
383
345
258
282
309
315
296
351
311
399
395
220
408
268
319
359
249
421
270
341
358
302
266
313
342
280
343
330
261
308
311
281
335
272
306
371
319
311
277
320
267
342
206
298
290
304
297
294
316
350
296
306
293
224
256
215
291
356
335
362
310
265
222
368
302
308
366
368
388
278
319
344
259
309
284
234
318
333
268
315
323
389
402
326
357
337
316
337
291
274
350
358
359
250
342
324
382
295
328
364
400
294
313
271
319
270
274
328
330
319
377
386
269
341
228
317
307
353
387
291
382
350
293
332
346
359
354
274
243
231
325
296
330
345
379
348
358
239
293
313
342
386
351
218
298
357
307
312
289
305
254
315
308
327
273
344
285
311
295
411
319
344
379
249
337
273
221
419
219
247
308
308
242
320
305
364
331
314
361
339
305
309
309
353
253
258
353
315
277
318
462
328
287
343
312
370
322
332
306
359
347
331
293
305
364
267
387
358
339
325
276
299
360
300
266
309
307
352
253
314
404
255
247
352
357
295
266
312
293
281
269
274
284
254
335
332
332
338
313
352
336
263
346
212
307
338
260
301
313
341
313
305
302
348
290
364
359
265
389
311
375
380
282
352
301
278
221
371
344
322
302
303
324
346
340
379
298
298
331
227
349
368
385
363
292
325
296
295
215
299
373
402
287
367
354
368
272
286
316
299
352
417
339
253
332
341
342
410
287
378
341
417
283
253
344
313
371
296
308
347
391
330
304
364
350
250
313
343
336
322
329
364
272
248
289
346
318
263
344
358
356
381
309
292
281
327
304
262
341
335
218
323
364
378
289
276
310
294
326
411
291
232
369
333
396
358
346
306
365
345
339
305
263
261
371
277
323
385
346
311
337
364
362
318
334
323
369
261
347
308
327
276
325
324
312
267
333
320
278
314
325
395
302
270
378
305
410
287
339
332
342
304
379
358
331
332
329
224
389
284
285
330
360
334
305
323
290
331
327
351
396
281
328
239
375
267
330
373
303
236
388
321
323
321
330
359
365
285
208
293
356
353
321
294
331
342
332
298
303
280
335
340
274
316
286
312
344
291
305
313
364
342
346
278
336
334
313
352
354
293
318
297
225
390
303
315
219
305
359
341
345
354
271
405
268
329
316
277
286
383
317
371
350
368
295
321
342
228
344
311
317
361
308
285
380
321
271
342
347
297
369
246
304
335
337
328
317
277
284
323
360
303
194
314
319
350
243
291
381
313
424
217
310
249
296
279
334
409
329
338
409
353
355
371
314
383
296
342
346
310
341
305
332
328
304
244
318
321
329
329
351
317
365
337
408
309
260
306
331
289
361
362
318
287
300
269
309
311
301
312
330
228
240
299
361
224
378
316
388
367
355
308
288
401
280
317
360
392
171
323
273
252
355
321
273
305
232
270
300
392
320
312
361
320
248
339
358
348
279
358
379
327
290
297
344
341
313
350
354
330
342
334
375
314
271
223
302
360
324
374
397
284
273
286
317
351
290
353
375
256
351
292
330
266
286
310
353
273
305
345
306
309
330
352
304
289
281
253
342
334
276
322
268
314
305
347
305
383
292
337
272
339
183
338
225
270
289
290
216
396
347
329
377
320
253
367
269
304
344
307
320
277
280
347
308
282
340
271
258
319
288
288
282
351
389
306
349
267
302
333
247
314
235
337
320
285
348
343
300
306
259
332
339
254
262
305
340
371
333
293
264
366
268
154
246
229
324
317
337
335
342
293
354
329
236
389
325
315
278
303
259
338
303
313
397
358
345
309
309
318
294
367
379
339
331
402
297
281
306
397
313
280
408
207
272
283
340
348
348
347
365
342
177
348
306
362
256
336
331
312
263
329
347
282
331
270
253
378
339
344
231
417
315
307
367
345
391
287
321
251
305
295
292
349
312
306
317
315
281
285
282
253
216
208
267
311
300
255
277
279
333
301
364
285
346
318
337
308
375
276
355
273
291
271
383
319
250
334
390
353
268
289
282
324
316
354
338
369
315
291
311
301
366
337
390
347
363
304
436
354
346
331
250
323
319
352
318
321
355
344
255
336
330
267
282
262
327
336
249
263
356
275
345
405
356
215
324
310
203
355
252
345
309
265
290
278
287
314
328
304
334
347
342
293
361
376
248
298
357
257
308
329
272
289
344
294
390
220
314
340
270
371
355
293
331
286
336
264
311
238
282
354
337
305
338
233
372
331
330
291
291
273
285
327
388
392
313
389
306
302
295
360
313
347
295
399
343
226
328
346
294
359
325
301
297
332
249
380
261
279
310
319
337
264
342
220
252
334
334
308
259
322
296
318
387
337
302
306
330
305
218
278
335
288
280
326
359
271
249
297
298
318
408
348
308
321
368
291
339
413
254
338
295
279
262
336
231
398
311
314
326
331
336
285
322
324
385
367
388
295
318
376
350
307
309
355
336
386
294
318
343
389
295
250
381
264
280
307
332
343
324
317
303
358
296
364
300
384
345
319
324
347
365
314
332
360
272
302
315
354
384
229
334
276
363
355
364
286
336
265
348
343
332
329
286
288
311
425
339
356
306
291
338
387
361
286
361
344
318
268
349
233
310
356
213
283
302
292
354
368
309
316
267
230
269
255
251
320
352
308
311
309
323
309
311
360
302
324
395
338
350
292
339
324
357
270
356
325
420
399
377
308
209
236
347
320
214
322
308
314
245
291
216
325
340
323
322
274
304
332
286
326
337
221
353
292
240
344
288
338
311
322
314
296
323
363
299
236
231
331
345
364
352
288
269
383
263
328
305
309
336
327
277
232
302
308
286
307
315
265
373
245
386
296
283
344
344
346
335
263
308
246
332
277
277
319
392
334
291
333
308
339
353
315
265
352
278
376
335
309
320
350
337
373
377
283
305
332
338
323
338
283
299
299
305
284
245
289
249
229
330
314
328
257
310
376
322
330
361
319
418
300
335
297
255
286
327
313
345
257
313
324
394
282
302
291
297
314
300
377
272
336
365
278
339
303
307
400
324
319
344
346
379
268
349
346
348
353
342
379
256
313
308
306
348
368
337
311
281
265
327
343
289
244
332
272
333
375
313
355
318
259
292
375
304
306
255
402
372
348
257
253
330
343
329
333
343
362
284
266
280
328
271
385
373
247
345
343
331
217
321
282
382
319
342
358
383
271
347
211
301
356
336
333
381
235
303
336
348
327
274
328
286
343
329
195
331
320
271
368
342
345
247
368
349
293
300
366
308
333
284
288
269
344
295
364
339
351
375
385
341
388
328
307
421
356
291
377
336
347
354
259
255
341
333
327
246
296
214
327
417
306
316
290
304
313
280
318
262
262
235
322
341
332
290
260
358
333
356
335
374
324
276
330
333
253
285
384
268
291
269
314
330
322
263
311
363
319
352
304
225
335
316
306
268
339
323
412
329
369
334
346
340
320
330
310
265
276
328
341
311
330
277
367
376
272
299
343
327
364
328
295
294
356
320
283
306
243
297
392
343
353
264
288
245
313
408
270
427
328
385
340
391
279
410
360
344
262
320
330
284
298
336
269
314
278
447
253
208
180
296
336
299
351
335
300
345
276
287
330
255
264
290
291
245
395
249
361
349
252
396
311
300
336
307
309
340
262
259
349
335
298
327
343
422
251
293
361
325
291
258
364
371
298
353
270
257
387
274
320
335
307
272
311
282
294
336
330
328
283
344
365
368
356
250
371
293
366
382
356
317
255
273
326
278
341
305
439
308
316
389
337
252
317
394
373
226
289
320
344
343
301
342
302
280
261
356
303
319
323
364
317
325
266
308
329
397
267
352
275
331
292
309
273
276
352
315
328
260
323
211
345
299
367
257
269
302
421
298
350
350
286
289
330
275
331
281
357
283
358
335
185
265
251
324
312
276
337
290
365
289
397
293
259
351
275
333
387
307
378
314
314
248
341
330
271
286
383
318
312
379
361
302
314
364
329
295
347
369
301
332
355
261
303
310
267
216
339
328
306
324
323
286
342
371
329
352
374
273
333
284
299
371
385
348
240
248
319
399
345
264
359
286
284
374
281
286
352
299
292
327
306
307
285
282
262
206
290
330
208
371
307
277
327
330
279
315
326
253
357
247
233
340
284
265
283
322
318
379
230
244
364
323
296
375
350
263
219
272
244
354
260
287
431
255
286
355
319
331
288
336
241
357
332
398
346
305
294
417
266
340
318
293
375
357
292
265
329
289
356
329
348
304
354
248
348
343
292
243
355
401
362
333
315
292
381
332
358
367
370
311
351
344
271
369
352
398
335
369
267
335
360
281
351
369
260
321
340
393
303
353
298
324
290
323
350
290
332
362
301
275
234
226
316
211
282
404
321
387
378
306
286
313
328
272
346
286
304
309
313
305
338
239
335
318
396
361
292
346
335
260
365
307
339
409
322
260
264
253
331
289
296
139
326
354
363
359
315
227
348
255
272
293
287
320
276
268
425
285
284
315
294
300
324
300
399
409
351
367
299
277
308
262
248
266
408
370
346
285
433
336
378
248
281
313
313
275
296
250
293
284
318
236
235
381
346
283
285
276
384
328
412
267
362
360
366
295
291
246
342
318
284
262
344
286
245
239
353
328
307
399
249
388
342
296
315
305
273
281
414
259
347
363
312
258
317
302
315
258
264
336
311
368
410
357
367
293
336
331
363
269
282
328
378
351
262
336
382
281
315
323
303
265
319
392
294
279
348
330
369
382
370
327
346
335
312
272
371
290
348
336
358
285
316
380
283
340
276
242
364
330
233
342
295
335
253
323
425
312
292
332
345
284
374
352
268
429
440
292
339
324
348
313
370
335
355
289
376
304
333
407
251
310
343
327
312
276
257
362
264
239
326
307
280
384
255
392
355
302
302
369
344
274
342
337
269
302
284
268
319
272
324
279
236
282
328
289
369
349
327
334
324
284
374
219
268
253
287
287
208
282
284
371
338
305
322
326
322
296
267
247
390
393
354
341
329
380
286
306
328
326
307
279
315
314
339
344
377
365
223
379
321
313
303
272
392
408
192
249
205
327
318
385
203
276
297
346
321
364
203
232
358
351
313
281
335
304
284
328
326
291
337
289
330
272
308
295
197
341
342
299
262
312
305
290
337
239
329
328
281
347
283
326
288
337
354
313
327
346
233
315
334
330
301
317
325
294
266
378
248
322
333
370
294
325
259
276
216
203
322
287
315
376
300
279
313
314
351
357
320
282
336
317
318
307
337
231
336
221
342
378
345
282
386
276
298
306
365
322
281
348
382
265
363
305
338
306
362
253
333
328
208
340
311
232
287
283
422
357
273
272
353
295
291
240
350
371
419
332
266
309
259
320
283
317
362
261
389
298
223
243
261
248
397
328
342
308
322
302
361
216
255
319
316
335
351
383
361
287
215
377
339
322
267
301
312
346
300
303
314
290
293
335
310
315
351
351
319
297
269
387
289
301
376
339
299
308
263
253
330
300
294
294
249
322
378
314
294
323
268
317
351
320
352
344
285
371
309
374
317
249
294
331
377
311
296
313
306
226
309
224
269
314
291
295
329
339
299
347
288
358
377
237
390
370
252
366
317
401
370
330
285
349
351
296
347
316
295
311
334
331
313
363
314
398
319
370
277
343
247
247
283
283
347
309
334
379
296
307
276
352
224
283
254
313
338
325
290
337
318
286
277
294
291
260
305
351
318
269
296
336
405
327
317
267
378
242
310
331
329
295
380
379
266
270
315
317
257
285
332
301
321
316
350
259
360
429
330
304
302
324
311
319
394
302
357
353
289
342
317
234
376
302
347
287
355
275
381
298
320
327
353
283
306
322
322
252
330
296
375
289
285
282
285
315
308
281
363
341
304
296
262
345
227
243
361
316
332
329
235
299
320
278
253
264
301
311
248
344
215
268
365
378
390
364
366
312
274
301
304
376
324
349
289
351
292
281
351
383
359
428
279
345
305
266
308
384
367
310
317
256
346
260
369
317
382
361
368
341
249
270
292
320
323
309
292
336
332
311
297
354
315
225
326
235
280
366
309
382
309
324
255
325
370
198
334
280
295
365
279
405
258
317
304
316
297
227
335
277
329
272
310
313
348
340
266
296
344
324
324
314
277
329
369
280
325
298
308
287
304
305
398
316
329
301
293
289
370
345
385
335
330
342
362
281
289
321
329
316
375
311
286
366
329
237
309
338
335
351
291
336
287
360
377
320
306
389
294
390
308
325
386
280
351
301
302
272
297
370
292
316
398
318
374
338
300
305
339
360
365
316
337
303
265
330
333
221
331
310
344
314
283
276
398
354
263
333
337
345
243
336
381
304
330
358
278
391
307
207
246
334
267
306
235
344
382
316
344
316
290
362
309
343
252
330
342
308
245
406
359
324
278
371
268
341
279
379
320
355
330
332
213
339
275
297
389
420
336
316
270
305
261
302
321
285
309
371
320
335
284
355
246
291
268
353
389
351
362
376
396
326
370
305
275
316
362
242
349
264
309
359
317
360
266
366
360
255
362
335
301
312
303
250
299
336
371
365
271
296
335
236
265
310
263
309
376
348
368
263
295
379
354
309
316
265
409
379
255
352
251
277
402
257
331
169
338
335
300
284
327
407
274
286
369
351
288
324
332
240
235
305
251
305
322
286
258
324
288
372
356
290
283
344
398
327
270
361
294
367
360
274
324
317
315
303
295
257
277
231
266
229
361
277
345
347
338
310
317
277
354
267
337
303
335
358
242
295
326
283
317
363
322
321
365
300
325
331
254
358
341
382
283
217
260
314
320
301
257
282
348
360
330
313
278
344
345
304
380
245
340
322
357
368
292
384
268
309
354
329
253
285
293
328
259
354
307
334
257
302
321
341
325
351
288
368
431
286
351
399
280
374
286
386
338
334
413
392
305
319
307
403
321
262
316
366
253
300
298
336
234
257
278
326
286
251
276
351
330
310
385
338
289
287
263
325
377
291
231
307
325
356
363
335
260
342
274
398
371
349
363
344
266
342
321
264
308
311
251
332
334
363
271
299
293
298
354
318
319
277
425
280
272
342
297
253
314
336
336
329
301
244
342
308
372
263
344
305
290
362
341
306
377
341
300
340
255
318
282
269
329
354
256
218
256
321
343
317
244
331
312
359
248
334
334
307
303
235
339
279
276
258
284
361
271
378
304
318
315
284
324
288
306
291
334
313
346
305
297
271
310
319
283
317
241
343
277
412
299
345
303
346
373
304
300
336
364
204
289
286
323
316
403
274
323
360
304
313
335
339
316
389
320
336
336
339
268
318
370
346
222
304
369
333
290
326
352
251
231
338
347
354
327
372
361
294
329
277
279
356
313
264
363
223
344
335
306
272
324
223
331
298
350
311
341
300
332
248
334
266
252
298
344
297
332
389
357
296
358
344
403
287
282
382
318
388
272
339
303
329
284
290
253
273
286
253
352
289
294
314
346
324
419
298
233
354
339
314
289
353
351
248
251
366
350
373
266
364
309
272
403
356
376
314
267
307
258
362
379
317
313
368
330
307
348
400
316
355
309
234
342
340
325
244
274
340
353
275
321
258
316
278
337
284
278
316
310
363
289
354
329
348
348
373
321
333
306
288
322
284
182
332
282
320
375
375
409
344
372
394
355
295
320
331
396
297
322
318
255
299
329
342
393
361
261
399
269
325
324
315
377
356
383
329
317
333
286
322
358
301
300
387
311
313
317
410
267
341
360
275
389
356
311
315
302
250
322
306
343
309
363
262
331
337
318
331
319
366
245
229
360
350
322
285
426
340
303
310
327
332
289
303
265
312
278
262
301
374
370
285
314
348
277
239
370
346
364
378
310
278
367
394
304
371
375
393
301
234
271
375
393
302
335
389
367
329
421
270
324
318
242
329
321
315
277
364
326
354
287
277
248
248
318
368
308
332
275
354
350
239
382
324
296
330
353
273
330
295
394
327
331
319
302
272
313
294
275
306
360
326
333
345
400
300
289
317
337
327
260
313
331
236
305
224
357
369
343
323
308
219
290
323
321
320
235
289
360
337
343
249
339
358
263
331
269
353
396
285
345
286
272
265
392
274
358
252
310
352
309
332
320
299
354
319
346
244
402
386
283
368
323
351
299
364
325
259
231
339
298
246
285
326
362
276
271
274
317
354
388
317
307
349
362
341
308
324
316
270
226
365
367
261
337
321
263
320
382
380
260
319
377
271
349
306
379
289
304
296
280
348
285
302
323
338
268
334
265
385
350
426
327
274
280
330
222
328
316
292
334
273
329
396
278
269
272
319
293
334
360
358
358
287
280
399
313
319
293
336
307
289
325
232
218
319
265
287
295
335
283
295
224
270
252
338
319
233
307
313
262
260
301
329
315
302
319
238
389
374
343
304
354
220
351
340
318
343
349
303
210
316
364
288
355
294
328
269
318
253
362
323
334
325
403
340
326
328
257
341
347
417
244
289
424
407
284
301
280
314
323
363
251
264
266
250
351
271
288
223
266
328
331
296
361
321
333
333
281
341
350
286
339
415
389
327
243
371
320
343
377
362
236
333
260
334
365
378
326
286
326
277
331
348
268
326
313
336
303
297
350
274
318
237
309
331
380
289
367
304
313
360
298
320
293
338
262
349
357
364
309
249
258
272
346
295
329
374
372
329
316
415
374
341
304
364
326
345
284
293
276
313
299
239
363
231
319
312
383
254
297
296
288
353
326
277
397
374
339
371
315
378
253
249
316
368
345
317
421
365
274
389
231
352
333
365
297
328
313
366
283
313
248
362
355
353
386
214
247
274
405
378
338
251
356
285
305
291
287
295
278
250
382
343
365
259
336
275
358
273
403
367
341
387
392
327
299
299
321
225
321
320
344
354
279
383
389
277
325
336
372
300
357
295
375
397
338
314
402
273
252
317
321
334
305
339
340
283
305
322
338
261
346
281
292
243
274
301
283
344
325
387
280
282
312
291
275
328
442
281
269
214
219
246
281
400
203
270
338
261
343
360
343
282
295
370
263
268
308
352
300
364
283
315
315
291
266
360
342
261
319
409
310
367
373
318
329
209
288
342
369
264
313
345
365
314
366
249
401
276
276
432
316
332
301
326
329
236
268
353
341
300
252
366
345
407
329
345
346
342
315
368
356
362
313
266
325
317
238
308
319
311
314
274
302
389
268
267
306
289
390
374
322
269
346
339
294
285
365
361
334
325
333
387
375
273
372
362
299
312
329
353
361
302
344
269
306
366
318
287
308
269
330
275
319
340
360
351
353
403
278
350
255
337
343
373
303
297
383
273
367
302
306
281
335
338
251
246
257
305
344
344
381
340
337
374
341
315
344
364
330
345
308
245
370
355
329
363
314
336
312
408
363
372
220
321
266
292
292
382
320
356
333
327
339
281
314
217
317
392
385
282
336
415
295
369
346
323
364
280
251
430
333
298
297
330
254
282
347
341
335
334
304
285
354
377
413
324
259
242
291
350
252
287
318
423
318
336
356
315
362
259
354
328
283
355
369
387
336
306
353
293
359
298
366
310
271
372
240
357
359
355
303
323
322
333
258
332
275
293
252
338
304
240
368
318
243
353
313
345
289
334
335
308
430
280
311
266
285
330
305
303
290
268
270
264
340
300
285
256
341
308
266
277
361
334
231
339
350
354
313
253
318
333
285
351
297
328
338
214
307
364
292
328
230
326
306
382
313
277
253
248
300
338
363
356
245
366
318
292
325
338
355
237
278
276
312
340
262
279
420
337
255
233
314
266
261
332
249
275
393
349
305
378
322
302
297
275
246
371
348
354
314
377
249
362
324
355
352
372
314
387
266
318
294
316
325
282
331
292
351
316
364
334
327
342
286
299
314
374
348
301
313
299
351
306
330
320
259
249
348
322
384
355
319
330
238
339
322
383
385
344
309
306
261
241
337
343
245
315
244
350
319
399
289
324
303
266
363
283
340
283
279
326
247
312
255
381
290
376
278
330
288
357
291
362
266
395
208
343
360
332
311
292
296
337
364
358
313
384
285
285
343
359
333
399
311
350
340
316
352
391
329
260
353
304
320
420
310
368
375
352
275
245
284
201
302
294
381
299
373
403
319
291
344
228
340
217
349
348
299
288
372
310
264
209
312
266
293
366
300
291
317
336
218
395
278
310
308
344
364
351
359
302
305
313
331
332
278
368
370
293
373
353
339
390
359
363
262
332
327
250
370
295
386
314
341
312
307
301
298
395
293
349
339
233
258
326
311
344
333
347
303
326
321
263
302
378
371
299
350
344
306
271
337
349
424
364
282
272
266
306
289
356
335
366
208
346
284
343
363
285
307
347
322
368
344
361
335
318
365
373
373
394
365
305
324
334
324
302
310
368
336
304
342
294
384
340
413
341
385
356
356
321
310
319
282
303
353
321
262
342
274
323
300
332
306
405
336
335
285
297
327
298
327
355
217
330
372
310
201
396
373
334
361
348
285
318
276
375
351
338
309
294
318
354
376
342
260
411
319
351
341
268
339
311
345
285
265
329
312
328
249
265
234
387
286
257
368
272
365
265
318
317
317
351
277
332
363
288
261
286
388
208
208
346
246
411
339
260
303
361
256
328
334
285
245
359
323
353
241
291
254
375
317
295
304
288
381
378
329
351
330
345
238
360
379
340
276
336
411
348
319
302
397
270
274
278
397
264
396
387
320
359
328
302
372
310
217
326
267
382
291
371
251
386
339
245
419
286
369
371
310
304
228
353
359
344
283
279
284
296
358
280
309
305
323
449
348
235
243
297
246
341
381
296
308
352
232
315
329
296
373
295
246
329
349
240
343
285
298
356
287
351
369
328
334
300
332
339
247
335
249
283
306
300
255
338
333
285
329
346
315
315
398
349
298
257
328
284
236
356
361
282
386
294
308
339
309
293
383
323
266
305
293
353
338
263
327
268
340
383
278
339
311
321
307
380
396
345
334
331
370
334
333
390
323
309
283
328
287
266
254
291
278
325
250
290
350
302
351
373
385
343
249
334
286
283
320
255
345
301
339
230
264
288
364
223
337
352
406
368
365
284
201
325
333
424
366
303
239
295
333
421
332
267
324
326
267
310
359
348
373
303
258
316
320
266
252
411
267
312
350
413
405
354
379
320
339
367
311
326
315
303
332
308
302
354
268
263
319
371
355
254
329
317
330
363
303
262
318
270
302
326
369
264
255
312
380
369
374
396
283
241
363
272
314
230
347
385
274
373
308
300
395
327
297
323
271
315
321
345
281
361
338
357
295
279
316
395
395
415
355
407
333
313
314
342
337
292
357
382
313
257
377
310
349
249
318
347
261
283
324
360
363
241
257
308
353
204
360
306
330
349
305
306
296
264
377
351
328
320
353
296
290
343
222
285
363
352
289
294
315
364
302
379
324
318
361
380
347
290
259
310
300
331
332
345
322
354
328
365
326
286
292
353
326
280
371
401
330
352
331
267
385
303
282
251
349
352
312
367
312
314
256
253
382
351
359
286
358
290
341
344
247
278
288
278
362
374
280
305
343
259
283
308
377
443
410
281
380
285
346
384
314
295
357
284
333
295
409
301
348
319
229
346
363
334
347
212
274
366
318
247
271
372
318
340
346
334
378
346
300
400
354
320
351
367
272
320
264
339
273
297
331
251
355
335
310
338
273
408
353
370
289
275
294
267
346
298
385
390
369
290
302
288
378
312
345
393
319
383
270
288
311
254
363
226
413
267
231
302
276
273
284
306
277
318
312
277
305
395
401
383
316
349
285
253
262
365
326
279
307
332
327
358
340
275
326
418
332
326
339
308
310
340
332
349
334
277
224
293
291
388
381
330
369
286
322
346
269
322
325
252
306
340
286
317
291
356
334
324
352
385
323
317
290
312
275
409
222
286
276
246
369
346
344
397
216
340
230
357
214
248
307
336
370
269
275
318
327
346
306
350
260
338
291
249
306
305
320
371
332
365
257
238
335
246
312
350
354
385
252
308
298
354
345
183
318
351
325
264
331
341
291
207
362
389
278
245
229
248
277
302
270
275
376
372
354
317
345
312
270
293
322
363
343
325
357
378
273
326
320
354
313
293
327
330
324
278
381
359
345
333
366
302
293
279
374
355
296
266
271
323
292
312
400
331
327
323
286
345
306
387
329
322
283
297
274
321
315
212
316
281
321
371
372
368
328
340
359
336
239
340
345
261
334
370
265
341
308
338
246
287
391
305
290
374
253
284
280
324
306
299
304
284
201
306
291
310
319
308
340
357
297
254
326
286
338
317
308
321
278
402
413
290
345
311
348
395
387
339
242
340
287
346
209
335
321
323
251
375
377
327
341
383
343
325
329
319
329
217
255
284
399
317
219
304
270
340
324
271
321
367
355
292
287
255
304
282
317
353
291
392
319
228
370
380
294
334
333
376
330
364
296
334
268
363
312
321
306
305
283
382
336
288
357
360
298
318
296
340
233
335
285
293
330
334
318
295
391
236
247
213
312
290
330
341
368
333
288
360
393
325
327
322
352
331
376
292
314
359
335
323
327
314
374
325
263
317
405
384
407
425
316
343
221
288
290
325
260
321
248
281
343
265
327
352
287
267
333
305
304
336
360
290
340
317
393
301
322
324
271
302
299
296
356
287
238
344
229
321
293
364
329
279
263
284
355
408
343
259
340
313
386
341
326
293
264
282
302
364
296
296
236
286
285
327
335
222
324
366
347
299
216
363
424
317
366
342
331
293
281
320
365
256
256
344
302
338
286
296
332
337
361
303
319
305
286
261
336
248
335
286
342
277
286
436
306
243
334
383
385
287
286
348
341
341
331
292
297
299
312
232
385
225
358
317
373
277
303
343
309
303
343
347
363
321
315
360
261
335
326
358
339
355
419
357
323
258
352
341
312
280
322
313
347
345
309
276
362
255
277
338
340
309
337
384
231
375
321
309
373
364
260
216
345
304
363
315
353
276
331
404
279
269
357
240
292
372
309
319
264
379
235
274
302
290
368
298
348
271
342
261
334
323
280
339
298
271
334
256
323
317
325
341
351
353
330
309
308
248
285
262
278
315
296
276
377
276
361
348
319
332
342
307
356
320
353
323
255
332
341
291
342
297
334
300
230
309
374
250
302
357
282
365
400
377
296
293
364
249
353
372
315
332
333
308
357
285
298
344
302
330
337
331
352
243
366
336
369
342
433
222
255
359
384
260
275
308
282
348
323
315
297
380
342
322
379
262
276
232
267
245
383
280
299
298
293
303
367
312
235
266
360
276
326
323
372
345
318
272
328
302
292
306
322
283
405
299
345
303
325
384
279
306
391
354
358
300
349
337
334
362
328
302
303
379
247
385
334
434
240
294
350
280
307
363
329
330
336
269
385
284
355
380
299
291
352
228
273
327
246
294
318
308
185
262
248
270
356
263
236
313
324
269
269
288
355
299
336
289
362
293
286
321
274
309
267
307
365
339
335
386
312
307
293
298
292
263
377
281
351
322
349
357
234
316
214
355
265
310
323
287
351
329
270
337
369
325
318
307
302
332
326
258
324
261
231
345
274
345
362
308
301
351
335
370
432
282
341
361
323
243
403
278
313
362
302
346
338
323
379
286
332
276
382
348
322
214
345
286
342
288
298
313
338
334
353
238
307
332
360
291
298
328
252
227
282
340
314
419
320
325
308
257
353
318
305
245
365
270
333
283
371
329
264
439
304
309
321
368
312
365
346
282
332
372
305
321
254
347
361
295
314
370
276
309
366
360
334
326
350
284
312
360
321
288
270
331
313
337
288
348
370
312
256
328
339
333
319
365
353
299
339
217
399
377
381
359
381
318
294
367
296
251
241
339
376
340
339
302
278
290
271
241
259
252
358
275
315
353
263
356
283
296
327
234
319
301
305
295
404
239
287
282
266
281
331
224
319
272
257
256
291
225
361
300
329
324
305
260
275
343
316
377
346
274
261
327
294
281
341
272
278
221
254
275
277
254
290
219
280
388
336
248
330
348
369
293
216
354
341
243
294
303
322
322
286
278
360
369
305
332
256
260
325
283
333
405
238
351
293
247
254
346
362
283
343
261
345
318
300
335
281
295
342
278
362
332
269
306
271
319
361
393
394
398
261
304
376
294
388
368
360
301
327
228
367
354
352
283
324
320
312
340
251
307
260
308
304
358
385
280
367
278
264
343
307
330
332
335
270
262
347
300
330
268
300
322
300
380
261
285
317
309
355
263
332
369
284
324
330
350
297
298
260
338
277
234
266
335
301
353
291
309
293
274
315
331
337
301
342
249
340
392
294
315
372
302
334
300
243
312
337
266
389
322
325
294
350
334
304
341
362
315
243
248
321
281
364
324
327
234
319
382
288
293
393
254
349
387
327
377
301
256
275
247
360
339
432
307
275
232
339
353
379
304
342
271
318
325
321
297
361
269
331
392
317
372
336
306
281
337
336
342
365
352
378
262
303
359
296
257
344
342
307
254
357
254
310
268
290
318
356
267
323
348
337
261
291
319
367
234
369
292
292
352
325
327
410
361
261
226
277
286
304
217
331
288
400
266
310
289
219
302
343
305
383
369
266
341
326
265
286
311
340
256
369
371
419
257
305
407
312
278
300
328
270
374
320
360
333
275
357
253
305
271
336
288
324
263
394
376
236
341
380
303
330
393
375
326
292
319
290
270
356
279
265
275
336
224
272
252
319
321
364
309
356
303
307
273
240
316
386
285
328
262
204
268
384
276
378
301
304
395
243
317
353
307
348
295
330
293
311
407
381
359
321
312
337
331
369
399
346
278
314
376
334
291
316
365
313
299
344
308
372
335
308
366
296
388
280
354
319
337
371
334
297
311
332
270
410
305
266
296
300
263
294
258
306
317
325
278
368
377
323
294
337
345
238
344
296
297
256
249
335
262
256
349
362
356
296
326
297
367
325
304
281
344
358
355
374
313
308
320
313
240
332
313
322
231
321
237
251
357
406
331
368
257
321
335
273
349
247
236
232
296
381
394
265
374
296
339
266
363
283
273
367
315
333
323
316
327
382
376
304
322
307
266
319
357
331
322
351
300
150
359
287
350
315
395
408
306
367
332
347
349
335
319
369
299
234
322
256
364
279
301
367
262
356
326
330
260
310
322
319
341
305
309
310
333
287
370
300
298
348
323
339
361
270
351
334
361
217
328
282
372
373
275
245
318
280
351
371
312
245
274
303
318
369
262
324
419
317
352
300
342
278
357
386
254
349
323
294
353
301
303
390
273
369
287
323
334
375
346
322
377
318
348
353
322
324
300
294
314
314
341
380
303
374
238
328
226
284
297
267
274
301
365
353
251
313
227
377
343
337
252
336
275
295
313
289
245
303
385
369
312
370
313
353
373
293
294
311
389
277
298
354
347
414
332
317
319
310
309
287
351
342
270
275
351
367
262
296
303
297
401
303
301
280
332
284
382
249
338
249
380
288
357
289
226
281
287
358
283
335
296
277
277
303
298
317
299
321
253
333
307
341
340
309
334
322
365
313
292
280
262
318
350
281
299
334
247
314
308
344
244
289
342
334
253
344
341
231
274
284
279
370
370
333
316
275
359
352
430
293
339
386
307
333
316
320
301
380
362
280
320
296
327
295
309
389
285
263
321
366
346
305
216
308
352
372
361
368
250
289
344
369
420
289
279
348
295
283
260
249
268
379
364
305
363
251
244
337
319
367
259
362
318
343
330
311
286
258
302
329
261
269
312
367
321
215
319
280
282
351
404
285
369
307
293
361
345
217
335
326
292
362
322
367
328
317
418
407
316
288
250
309
260
375
373
354
319
326
314
352
330
286
340
262
305
411
301
331
340
297
342
275
308
339
365
292
251
285
289
342
286
288
280
293
307
362
200
417
358
291
261
232
258
360
360
346
311
299
293
344
297
386
316
368
252
310
389
318
289
291
301
299
317
411
336
354
270
375
283
270
311
342
263
255
323
351
294
331
350
282
313
370
333
300
350
260
343
320
334
338
337
347
299
267
363
392
263
330
266
341
278
284
307
432
361
315
376
406
304
386
320
332
307
329
275
249
425
332
354
284
352
248
324
295
294
285
267
400
255
348
277
266
348
275
331
417
373
355
383
276
311
433
376
295
320
254
253
401
278
380
356
318
308
376
368
361
301
228
392
323
339
328
340
295
311
283
342
365
289
261
302
240
349
306
317
274
301
376
285
256
308
335
309
261
290
286
325
308
375
297
424
325
287
253
312
316
310
267
374
408
271
329
301
295
374
320
307
371
331
285
332
351
290
353
348
333
318
261
324
318
288
254
330
299
362
351
282
308
270
408
358
324
367
364
305
274
254
361
322
305
308
308
296
377
310
373
314
264
255
256
255
274
372
331
325
353
288
227
356
304
334
317
235
336
300
333
405
340
307
235
368
334
361
307
348
313
441
338
224
253
426
327
319
312
301
406
395
308
327
391
218
301
283
308
346
287
349
288
314
326
315
318
327
286
392
252
294
280
336
235
324
315
340
350
366
319
245
293
211
327
318
347
245
339
281
278
280
381
300
380
367
255
305
364
321
366
279
316
306
246
372
310
270
359
376
310
317
346
270
366
202
371
297
349
327
262
191
317
378
336
367
302
336
376
259
298
361
272
391
299
325
372
388
338
343
261
331
280
279
356
291
294
359
273
364
376
348
317
267
399
273
375
320
290
346
325
369
263
351
273
273
263
337
289
306
311
348
330
338
269
313
262
258
287
367
310
365
306
335
375
345
306
330
274
351
320
306
318
268
350
238
379
363
364
349
277
246
417
290
361
206
326
278
310
371
370
334
338
316
260
365
252
341
275
281
288
328
310
275
306
379
329
370
320
284
341
334
311
305
261
295
379
358
269
231
236
393
335
281
280
291
295
296
345
269
367
260
274
312
357
322
303
390
332
322
227
335
318
324
331
240
283
312
302
208
354
288
243
320
311
396
415
390
317
334
306
250
324
272
316
210
339
281
313
299
355
387
323
370
283
412
273
305
281
332
334
375
270
279
264
217
413
319
270
325
327
328
323
296
336
374
246
306
311
329
279
346
302
316
331
384
374
373
379
257
309
294
356
280
299
295
242
304
354
324
362
300
324
312
326
285
234
307
373
329
245
262
286
332
284
310
310
344
339
310
345
322
335
208
306
343
309
386
327
283
307
326
335
265
235
328
281
278
322
293
272
379
265
259
323
321
304
294
357
345
353
328
328
337
274
326
330
275
402
362
338
244
340
315
354
396
316
360
345
352
290
366
387
315
348
320
337
292
335
336
212
278
329
328
325
280
293
365
251
349
323
319
292
354
338
349
342
303
317
292
330
326
287
294
379
320
253
345
335
353
369
354
234
365
279
366
319
342
320
348
291
340
224
320
284
351
271
336
323
320
299
311
302
289
245
326
297
364
343
307
366
313
307
343
329
230
339
344
292
308
340
305
269
283
342
370
285
232
341
314
336
304
371
317
279
165
310
291
351
311
374
221
205
315
317
309
411
367
332
343
289
290
287
267
272
396
302
297
265
264
276
345
320
292
263
292
349
210
312
307
327
336
330
351
297
282
360
291
319
330
410
322
343
333
324
299
307
276
322
350
349
295
335
251
243
217
282
262
362
389
291
279
307
316
384
365
337
306
364
301
229
325
437
297
318
266
283
296
274
420
336
263
267
342
384
342
224
358
349
342
337
456
346
396
310
335
365
346
381
297
297
438
356
311
263
337
353
305
343
307
309
292
235
363
323
360
269
337
379
295
328
286
273
385
280
349
284
291
332
385
314
315
289
378
227
332
261
341
242
264
312
323
328
306
211
348
274
349
329
245
347
316
318
377
345
359
362
298
247
356
293
402
304
327
212
311
308
337
303
293
295
331
293
319
344
376
285
339
291
356
315
340
303
284
363
286
380
343
284
252
300
277
315
402
334
319
268
226
250
360
335
287
301
274
287
347
307
371
265
313
330
341
224
306
344
255
357
336
316
316
353
402
356
357
338
331
378
320
340
303
353
353
336
325
379
254
224
281
261
280
398
381
243
284
254
247
274
281
364
278
339
341
360
318
352
366
308
231
253
263
299
255
371
331
311
335
328
311
356
292
320
317
266
306
317
303
307
301
241
314
253
282
314
267
355
396
356
308
363
302
299
323
316
257
252
266
320
348
316
368
293
326
299
295
255
280
339
322
301
393
336
278
308
318
291
321
301
342
283
285
328
326
358
315
257
304
270
284
292
386
250
294
296
270
292
322
280
322
306
261
309
322
306
323
329
303
355
275
267
304
294
328
343
280
289
256
361
379
337
214
314
289
380
303
274
346
336
260
377
268
340
340
331
331
364
285
358
323
286
357
369
311
300
376
329
337
329
365
314
298
312
293
306
315
311
279
323
333
298
334
308
345
325
359
273
325
337
304
350
240
282
323
299
337
278
244
210
313
297
319
329
318
231
264
339
271
316
278
402
372
396
323
243
389
244
224
273
288
339
251
315
340
363
298
380
268
233
317
326
317
359
345
274
305
288
335
406
248
329
313
356
375
385
198
376
269
279
317
343
302
360
346
359
299
347
296
232
346
276
358
276
306
313
297
360
268
271
304
254
335
246
299
333
349
335
351
334
273
330
299
356
222
319
354
249
304
412
290
263
311
355
405
390
363
320
349
324
287
270
308
274
274
294
336
292
296
351
377
333
340
261
305
377
347
345
259
281
270
278
332
287
273
321
290
412
241
352
309
316
368
321
295
332
339
256
355
312
311
291
304
344
358
275
335
386
373
272
373
344
306
264
342
366
227
351
242
346
341
423
200
325
326
335
410
333
300
362
350
401
327
287
353
340
313
329
262
288
311
426
245
357
266
319
375
234
210
413
302
348
360
323
358
183
283
386
292
338
263
280
345
250
261
386
259
287
299
366
293
336
372
352
342
316
371
354
274
234
314
265
345
360
392
287
330
378
311
262
333
287
231
296
364
380
375
370
339
334
405
403
310
235
406
318
353
366
308
246
336
330
249
365
293
338
236
335
323
280
399
321
328
332
368
331
344
263
309
284
298
331
285
314
328
316
390
320
286
283
387
258
368
238
203
284
282
320
285
335
334
342
374
315
348
344
333
314
321
324
275
303
313
303
284
315
281
299
264
265
247
366
328
320
279
299
309
382
262
272
318
310
265
325
342
350
313
320
403
253
361
340
358
271
326
225
343
369
280
400
298
334
294
341
354
337
313
324
303
353
336
351
390
303
348
230
294
434
354
289
267
325
272
359
422
256
348
332
315
323
312
236
324
334
332
363
230
325
311
298
427
321
332
198
291
324
354
259
207
383
285
253
376
370
316
338
307
333
237
320
365
388
333
347
245
329
368
323
396
256
330
265
212
348
291
359
386
274
263
259
300
325
305
236
313
229
331
294
330
337
355
234
226
322
343
306
402
302
339
348
336
417
376
313
291
327
348
320
258
371
380
271
334
248
365
304
241
220
343
388
389
413
295
399
340
317
349
361
341
342
283
199
327
303
295
284
322
326
355
315
232
308
369
333
291
293
347
391
292
332
298
294
357
286
296
290
360
308
343
326
265
335
324
354
305
348
332
304
315
262
356
284
375
335
233
282
285
365
279
245
304
374
299
351
340
376
356
342
263
265
312
285
289
372
328
308
377
409
265
356
283
401
298
230
338
351
285
298
295
361
268
359
323
294
355
266
310
285
306
365
255
281
330
289
331
269
260
347
354
286
355
298
321
383
233
294
280
321
374
290
360
247
355
375
346
359
291
302
335
264
343
320
293
331
319
380
267
322
328
347
302
294
324
363
344
339
307
285
305
292
359
330
279
376
367
269
329
319
345
327
314
291
307
364
301
373
279
321
295
320
381
288
404
290
324
295
356
187
248
324
335
250
376
398
284
317
319
258
294
276
350
370
406
234
347
313
314
329
307
377
278
279
309
321
312
359
317
326
312
306
244
322
302
377
374
306
297
379
286
276
181
333
279
330
319
275
314
339
339
274
339
330
354
313
365
293
356
334
350
314
372
311
322
237
267
322
264
306
295
291
336
382
358
430
373
211
320
294
282
307
338
267
276
334
329
360
313
320
350
323
293
310
261
353
381
304
358
324
310
346
350
335
249
360
341
319
345
248
331
258
363
382
359
374
322
328
315
324
371
274
366
343
315
315
340
316
349
302
363
349
302
235
286
346
293
398
350
386
384
348
319
259
264
206
326
299
304
292
315
397
346
349
246
311
345
368
303
344
355
372
351
362
286
248
312
357
346
382
344
298
322
346
331
320
326
329
268
324
413
383
255
256
282
323
389
291
307
346
295
312
267
258
297
299
292
303
337
324
240
310
272
369
352
240
220
323
371
253
295
225
303
315
234
295
275
221
331
229
363
360
317
233
319
317
304
287
258
378
312
286
291
322
359
309
330
289
367
334
355
332
311
268
274
310
321
357
239
288
344
302
198
351
280
284
273
387
291
331
305
339
344
340
253
314
269
367
376
339
216
318
262
282
377
318
270
329
290
369
299
311
309
389
270
340
323
291
234
294
298
262
302
305
274
310
328
347
348
233
289
286
281
290
346
274
347
328
336
311
229
254
332
371
318
306
384
353
236
384
235
296
288
298
286
270
287
259
399
317
349
331
264
367
204
212
340
278
354
279
378
361
287
303
353
340
380
288
322
286
421
257
309
248
248
279
342
395
317
332
345
318
364
220
240
261
214
354
317
355
319
233
251
363
322
370
326
339
316
317
318
354
254
363
306
367
213
354
358
287
298
282
356
321
332
375
380
303
257
304
340
316
369
314
323
375
314
204
334
249
311
343
283
349
245
305
332
286
345
384
406
338
347
264
282
322
305
250
320
292
317
317
326
357
297
377
299
264
271
403
348
331
212
271
276
301
271
301
415
271
299
429
330
214
320
310
344
296
291
364
321
317
291
287
364
336
412
272
343
339
280
341
251
281
373
289
318
351
336
273
283
317
344
364
292
319
263
325
292
293
275
391
278
241
294
359
332
382
383
342
352
289
282
322
322
371
329
328
273
322
404
387
262
348
245
288
223
361
333
326
364
363
287
315
337
306
331
296
351
327
271
298
269
356
298
302
311
304
325
337
397
304
283
406
281
340
407
349
284
279
309
358
376
319
331
311
366
342
339
327
300
340
349
293
309
318
373
328
347
383
298
349
310
369
290
268
365
277
302
352
299
338
327
292
306
374
294
262
372
322
296
343
299
377
293
367
309
288
276
255
263
324
362
321
290
349
319
303
319
248
264
371
255
274
346
308
340
325
335
241
294
352
303
365
289
312
347
341
295
296
300
332
269
340
241
259
333
351
327
390
240
354
336
335
333
352
292
280
296
371
376
300
305
371
267
309
260
308
323
330
311
290
372
301
305
316
365
322
304
306
379
297
306
337
263
325
327
333
348
349
311
291
308
357
356
344
304
339
394
284
298
262
332
408
393
282
325
306
373
313
377
378
381
308
300
352
291
297
284
285
292
238
316
348
307
321
277
396
333
305
326
266
258
300
299
272
291
355
271
244
320
340
345
278
360
328
312
320
243
344
347
311
380
302
287
354
331
346
398
275
317
377
248
354
337
351
341
390
277
287
395
252
290
331
265
389
256
279
310
244
274
311
385
337
335
336
353
399
330
408
334
310
308
238
295
298
345
264
256
268
271
350
233
372
303
328
324
293
362
254
320
244
372
336
271
294
304
254
244
338
381
184
290
310
344
281
339
325
333
369
260
311
309
333
237
304
279
232
373
346
294
325
288
312
289
216
318
272
249
321
260
357
285
356
351
378
370
280
317
374
330
286
365
229
317
329
320
342
283
314
253
324
338
354
368
356
366
335
314
287
338
320
268
377
334
309
408
271
251
256
342
296
340
287
352
417
251
292
311
325
373
292
351
235
384
275
368
308
342
317
342
382
357
336
365
309
336
399
263
352
366
299
320
396
286
355
240
254
245
402
325
338
350
402
361
326
320
312
243
349
321
275
314
326
378
337
313
373
259
348
296
321
280
336
268
305
368
346
335
403
275
307
303
252
382
330
272
199
340
342
366
352
389
334
316
299
345
339
294
311
278
337
299
265
326
350
319
330
308
389
297
383
353
298
367
346
368
260
423
356
260
386
270
370
254
308
287
254
354
275
297
388
347
340
289
323
359
277
344
333
300
294
323
335
433
295
336
346
352
345
245
351
318
301
304
306
354
361
314
231
347
282
355
288
307
297
329
366
286
276
350
411
257
355
312
278
317
390
344
342
405
381
260
279
338
286
331
279
416
276
331
308
199
267
306
354
333
344
375
290
285
342
393
357
298
397
425
359
285
350
324
329
320
275
207
315
324
214
358
340
317
302
335
272
315
332
395
305
431
402
358
400
314
296
336
374
269
242
308
297
343
379
283
380
376
338
231
321
327
324
279
335
326
338
318
341
349
346
360
268
233
348
368
371
315
358
246
312
323
296
323
369
402
255
365
340
265
306
283
280
316
380
305
272
272
305
323
388
203
354
314
334
325
306
299
277
320
442
299
286
347
248
301
311
269
384
309
251
249
296
304
312
304
253
180
354
307
339
345
384
284
309
326
295
320
373
383
364
316
285
330
313
280
253
327
260
417
315
362
244
337
308
304
246
309
364
272
272
309
290
259
318
259
297
265
337
317
315
384
360
325
274
288
313
331
375
351
194
395
322
323
316
396
292
288
299
219
375
336
305
382
344
288
298
406
275
332
280
375
311
426
324
316
308
313
326
327
343
426
312
192
243
278
230
349
294
333
221
340
312
345
252
288
330
207
257
390
326
289
291
371
363
278
306
350
341
306
301
319
260
279
350
365
271
284
321
311
309
330
322
323
366
323
300
278
329
255
370
365
302
270
272
321
293
312
384
242
380
291
275
318
312
376
294
362
366
339
292
321
270
341
247
292
348
257
237
293
381
185
327
268
256
333
357
307
378
350
305
377
299
267
330
254
246
243
364
314
242
254
337
375
372
366
324
299
311
356
367
288
349
290
308
295
238
328
344
367
403
340
323
316
328
307
284
228
282
307
345
270
271
327
385
312
287
291
335
269
343
346
370
265
352
325
374
276
253
282
311
255
292
304
337
329
329
329
370
338
284
367
363
308
324
327
225
316
359
350
302
324
300
382
377
324
353
300
377
340
316
292
227
255
327
343
360
348
344
345
289
292
316
342
419
283
246
330
220
257
366
354
289
331
299
307
320
328
263
261
331
389
415
296
308
313
209
274
297
360
320
175
310
263
304
262
363
350
373
180
333
386
345
264
321
294
343
326
362
227
370
295
353
311
302
338
329
346
354
366
228
311
328
306
228
385
335
362
388
322
221
345
264
256
328
341
312
317
268
284
329
216
281
267
305
274
266
268
373
362
248
199
359
354
374
370
325
348
414
332
298
348
274
333
364
312
331
312
303
251
339
362
291
394
341
240
335
279
373
353
309
332
318
330
318
386
327
313
346
280
291
287
231
385
322
330
328
297
361
366
330
306
282
247
244
333
299
321
279
308
293
344
305
375
254
330
406
276
268
288
323
356
343
305
283
317
320
377
313
272
366
305
233
344
354
280
323
297
285
327
339
274
256
259
295
284
324
313
345
346
305
307
243
299
222
286
311
357
194
320
358
306
288
248
307
250
326
282
288
295
338
356
288
271
267
384
388
361
305
369
369
312
312
337
334
337
366
338
395
353
311
300
360
331
304
315
406
214
339
353
216
311
275
298
365
297
336
327
337
323
209
327
427
328
363
377
314
358
287
291
281
261
260
343
275
330
301
366
367
323
365
274
331
300
311
347
301
305
238
326
368
362
429
332
269
338
290
375
300
286
325
318
300
257
392
250
343
256
366
350
194
333
224
425
292
312
282
279
293
295
230
306
225
254
371
379
286
313
327
273
278
263
343
268
425
337
342
270
270
225
275
311
358
283
413
338
343
361
392
352
316
313
338
310
354
307
292
303
326
400
375
378
330
294
459
300
296
363
313
273
365
232
451
350
322
361
381
271
360
373
267
424
323
284
325
406
375
264
264
345
359
336
367
317
335
332
283
307
354
322
357
337
300
234
392
327
370
367
306
357
308
356
355
314
301
296
273
338
332
345
273
313
306
336
289
265
313
264
314
281
335
238
273
276
273
285
322
337
335
248
332
318
397
253
349
296
260
374
231
323
263
270
371
283
323
360
247
337
262
279
260
349
290
322
305
321
338
358
360
352
293
250
399
355
368
299
286
303
358
297
319
337
256
278
253
315
354
255
359
336
316
274
287
302
263
339
245
207
338
361
329
333
309
215
354
334
299
278
283
420
267
332
377
291
276
284
304
354
355
311
341
392
321
327
279
342
291
412
257
337
350
264
273
363
429
219
320
357
284
377
346
275
268
341
377
309
321
254
328
354
286
340
347
409
372
344
370
309
288
268
397
208
326
268
297
376
338
333
322
392
306
280
326
260
374
281
324
328
398
365
299
346
328
344
311
250
283
388
291
317
322
340
265
361
313
322
390
304
332
373
327
333
312
318
343
284
340
344
362
359
311
236
305
350
343
333
290
343
226
272
302
396
388
312
375
357
381
318
384
296
358
334
393
355
325
308
262
271
196
268
257
300
205
276
348
335
182
368
315
307
340
335
377
373
328
323
328
290
316
334
374
348
306
307
387
282
331
316
390
348
310
293
315
421
344
323
320
303
300
316
336
366
355
287
351
366
351
325
342
340
367
379
320
300
389
375
295
345
302
366
284
375
278
354
339
226
258
397
234
271
300
298
330
308
259
361
360
279
370
299
268
335
385
322
274
288
379
355
370
254
307
339
354
294
312
285
428
307
305
293
323
366
269
299
331
265
377
274
311
295
340
270
358
224
336
283
377
363
339
278
303
311
239
325
363
339
267
316
334
282
320
266
216
305
261
252
301
299
232
350
289
287
309
344
366
412
351
328
315
356
292
343
315
319
263
304
268
296
293
285
224
225
266
358
389
338
386
373
324
356
309
278
285
347
321
271
228
277
360
364
416
316
355
343
311
351
289
271
276
318
402
245
322
369
285
278
313
325
369
329
413
333
406
315
306
363
267
329
334
330
310
304
304
281
317
304
300
324
337
283
283
300
348
281
303
317
367
413
328
339
304
321
316
330
344
355
335
309
292
289
326
358
375
361
438
297
273
375
249
262
351
330
338
285
294
383
345
348
327
335
269
301
345
271
352
375
349
351
334
298
396
233
304
402
307
322
293
265
345
298
249
302
314
263
335
279
368
258
305
252
369
358
349
334
305
293
380
301
268
270
291
315
257
304
338
305
254
326
360
323
358
240
331
357
340
295
332
342
390
364
347
259
276
380
295
329
271
375
303
293
294
370
401
224
298
317
350
399
395
314
263
370
325
397
329
345
368
296
331
380
317
397
352
291
288
340
289
211
367
374
363
395
252
323
233
247
291
306
328
347
289
366
271
304
383
281
294
350
280
333
264
365
325
342
306
296
248
226
356
313
288
386
333
345
281
380
288
368
322
349
310
346
388
389
350
304
334
329
291
321
305
323
377
384
205
333
277
301
353
356
275
408
280
269
369
309
421
338
354
277
329
347
348
298
239
298
298
255
265
280
323
323
342
255
258
263
288
307
363
355
312
304
343
322
288
275
305
334
357
279
241
358
273
396
330
352
354
396
378
287
334
299
317
375
249
296
311
233
321
383
251
285
294
311
266
319
302
334
266
333
336
315
282
356
340
412
302
314
348
354
332
321
241
242
369
423
308
289
324
376
231
296
285
218
313
347
354
327
304
160
302
322
337
308
345
351
387
313
352
407
315
352
276
324
342
349
301
321
274
378
254
289
339
357
370
271
369
343
270
277
315
358
283
320
335
306
388
292
280
318
359
273
342
297
391
363
334
273
361
339
251
322
311
256
325
339
297
364
340
301
404
317
343
351
337
295
265
307
296
235
260
273
367
299
326
324
329
295
333
265
362
339
370
329
306
345
311
291
304
330
341
238
288
302
412
354
375
259
357
371
292
249
248
287
240
391
372
301
252
354
275
286
324
369
304
308
304
243
279
302
199
287
212
355
367
346
339
313
352
364
342
322
328
322
358
341
373
352
389
370
320
298
316
378
318
320
285
315
353
283
346
286
368
282
333
296
263
297
285
356
355
309
184
291
376
311
264
363
346
358
245
330
304
328
297
323
327
205
328
287
266
307
315
306
329
303
372
298
331
301
275
313
294
317
254
288
322
337
331
339
265
387
311
362
270
327
300
402
328
289
362
357
338
311
350
273
231
302
354
280
371
282
303
393
262
332
313
300
229
306
401
240
388
376
296
313
352
321
314
307
304
265
354
320
319
322
236
297
324
334
398
291
377
386
368
354
235
265
270
325
259
327
379
376
283
320
351
394
332
298
259
326
280
241
350
313
336
294
298
323
341
352
318
360
365
318
354
308
320
315
355
284
358
301
384
304
324
361
265
292
332
322
247
240
273
186
327
436
314
319
353
337
320
291
344
259
327
265
395
215
350
258
313
284
242
335
331
350
334
323
289
390
372
233
316
253
313
294
320
332
318
335
292
337
315
349
279
320
345
363
360
317
261
207
319
305
332
238
299
309
382
331
357
326
335
247
267
307
203
340
235
254
268
356
279
284
404
284
324
281
316
311
292
183
271
249
239
233
268
302
362
306
332
259
324
276
274
290
261
349
323
340
345
379
377
362
349
284
268
254
336
284
294
213
245
323
243
357
379
243
339
305
322
356
293
334
344
315
276
258
318
284
290
361
290
385
261
354
270
271
343
290
379
250
376
295
303
262
274
327
273
349
357
243
311
267
317
263
302
242
305
418
272
302
291
364
336
320
290
289
216
379
283
374
320
373
300
343
355
289
349
286
288
273
325
341
289
284
308
335
365
242
324
338
351
407
358
250
358
281
361
298
341
284
305
360
332
338
308
331
334
313
314
401
311
304
337
310
303
336
365
270
268
314
215
353
303
241
338
285
365
293
349
256
323
309
331
246
429
312
236
328
341
302
270
258
320
346
357
331
347
298
285
338
259
299
400
314
329
298
199
353
325
274
284
298
303
308
263
253
242
372
306
265
239
355
296
310
290
281
263
400
317
359
285
306
233
372
301
196
300
350
329
354
310
258
307
286
350
415
295
334
282
333
262
354
417
278
392
292
357
257
366
250
347
333
336
358
358
264
285
303
316
333
377
349
373
359
298
333
310
236
297
415
256
285
381
314
287
283
346
360
314
352
340
335
356
460
303
290
296
333
319
272
259
238
330
265
245
357
295
310
264
355
254
304
284
260
331
324
347
401
360
229
220
407
286
342
290
310
348
239
353
253
267
308
355
325
315
215
363
389
281
447
334
319
352
265
275
291
318
285
258
374
359
309
267
348
369
281
363
415
220
293
315
258
311
355
264
331
312
302
379
329
351
332
242
398
269
275
274
377
361
299
347
375
301
242
302
263
321
334
360
251
271
295
382
292
393
286
400
349
270
318
320
282
327
280
336
225
383
355
426
351
278
368
356
308
358
308
294
286
271
219
343
343
282
386
237
383
351
280
358
283
350
317
287
270
340
249
369
285
349
324
339
353
319
342
337
330
335
273
252
193
356
332
297
403
303
340
330
220
249
305
332
318
337
318
316
356
281
284
266
284
363
316
296
310
215
334
341
337
328
215
293
314
323
379
246
248
349
348
404
250
294
290
295
302
304
313
375
350
356
275
300
300
297
267
200
413
261
322
324
282
354
278
293
263
353
260
345
313
342
334
251
363
262
284
376
310
355
213
377
274
300
291
188
338
282
352
341
321
263
259
292
340
317
298
361
274
257
324
320
247
355
373
357
334
296
252
317
303
324
365
261
360
286
245
352
255
320
315
395
395
267
371
270
382
369
295
285
349
346
254
246
342
377
325
293
376
371
305
346
315
298
285
281
362
401
225
299
338
244
286
275
337
301
291
340
408
313
281
316
316
330
328
259
348
339
313
283
315
265
324
330
349
301
341
328
297
286
328
337
339
320
338
375
326
328
285
378
305
306
336
303
271
279
336
367
278
219
284
277
303
378
287
404
288
369
408
251
290
324
332
328
218
369
356
263
288
307
290
282
263
266
362
324
330
369
319
347
345
388
277
253
339
279
374
244
309
293
303
327
297
273
407
373
335
262
228
330
279
342
282
333
297
276
335
325
307
373
343
271
284
303
277
316
330
359
261
305
303
318
338
296
312
357
278
272
308
354
362
282
352
356
298
320
331
252
380
357
332
310
266
322
345
304
347
307
378
330
333
350
281
318
318
324
309
333
239
310
298
316
230
333
315
339
299
309
248
289
413
296
340
337
379
317
226
338
315
210
287
238
297
342
367
332
276
328
383
290
355
232
271
262
322
306
400
276
333
275
318
309
291
368
361
339
274
344
359
297
365
312
373
298
333
288
332
392
332
278
226
357
251
323
313
348
347
349
352
257
333
311
226
362
270
289
350
321
383
322
314
308
276
269
334
337
242
358
371
287
332
343
403
292
268
305
239
239
255
274
193
334
247
229
355
291
384
307
351
318
272
253
317
268
273
275
304
265
337
299
292
339
284
307
287
352
274
305
305
305
311
277
269
307
351
258
321
328
334
313
294
364
301
264
343
334
296
298
289
334
316
305
272
247
220
249
307
307
291
336
320
269
277
358
326
323
294
394
369
270
295
319
314
369
351
363
316
281
259
378
329
290
291
357
378
392
350
241
339
304
247
319
361
251
308
266
310
366
261
283
391
273
313
333
299
299
299
416
367
301
302
358
368
351
217
343
296
346
354
314
318
408
291
271
299
355
266
356
324
373
311
303
328
295
423
274
268
365
344
423
343
290
291
310
267
384
318
313
239
305
385
337
287
281
287
306
358
387
304
292
369
270
247
369
294
262
308
318
399
309
283
284
404
312
264
243
324
249
300
248
367
380
364
312
297
373
336
218
397
345
319
274
202
265
366
315
292
401
350
300
344
295
279
378
368
252
228
379
297
293
365
330
317
353
429
238
371
282
294
358
300
294
307
278
277
317
299
274
324
301
310
312
351
311
266
200
284
373
335
254
378
279
382
333
334
367
314
359
284
356
331
322
353
342
257
382
239
325
335
289
377
273
292
222
340
311
285
370
331
311
266
309
253
290
343
354
343
318
330
382
317
321
404
331
304
289
294
271
316
296
288
314
231
351
318
303
272
291
403
339
252
378
342
326
355
304
247
312
327
270
338
333
359
410
367
308
333
329
273
250
271
265
344
400
293
283
350
387
437
306
274
275
271
336
382
325
293
307
367
367
313
284
357
299
303
359
340
340
396
306
288
274
274
262
322
385
271
329
355
243
322
325
342
358
368
348
326
255
248
304
351
305
349
332
314
286
365
380
330
292
283
333
404
306
374
302
281
277
285
338
306
408
357
295
323
322
282
291
271
299
365
216
354
334
291
383
342
269
402
292
313
322
244
327
377
382
296
281
341
248
302
271
325
285
395
390
272
320
302
350
311
358
368
319
266
326
296
252
166
297
307
327
326
407
251
323
303
297
340
320
234
288
388
303
315
360
323
287
342
309
339
324
342
368
277
303
309
375
306
379
353
332
336
312
279
331
336
285
344
297
318
346
302
343
362
301
296
264
325
372
291
340
289
383
271
277
241
277
243
277
235
347
247
247
274
312
353
292
334
240
300
301
279
255
351
263
314
263
271
239
313
350
361
339
329
278
299
403
383
356
283
332
292
280
359
346
343
341
290
374
372
302
373
296
307
344
432
267
371
307
324
308
231
275
385
333
333
351
326
384
320
308
360
279
201
252
315
286
339
282
378
380
342
355
312
254
340
250
280
311
289
371
336
257
261
354
301
310
345
363
346
264
219
270
347
265
378
335
290
201
260
318
405
322
317
333
312
340
338
325
327
314
365
346
316
323
357
340
317
313
354
308
295
273
341
295
277
252
163
281
333
302
338
290
329
291
269
311
286
419
314
276
301
352
373
397
381
299
322
429
299
367
311
333
360
398
238
281
277
272
366
242
322
256
357
275
361
292
376
334
276
322
259
305
288
295
284
341
366
250
384
329
341
373
372
305
340
335
332
303
319
324
321
317
302
290
350
360
342
319
348
319
436
381
314
280
299
314
329
291
354
275
218
339
326
342
319
277
271
257
333
235
344
377
365
368
305
285
252
379
263
267
291
302
377
358
298
366
277
277
324
313
259
305
305
235
296
335
280
319
399
316
214
373
371
322
343
336
371
288
352
291
375
318
327
319
281
360
273
220
299
362
339
320
369
286
205
350
357
315
319
245
310
291
276
337
291
163
317
312
282
297
386
324
219
272
271
292
332
309
351
339
307
329
329
367
266
288
296
262
311
343
231
287
257
322
320
350
245
292
342
286
353
341
280
329
288
323
361
276
355
296
338
315
283
311
328
297
333
356
306
331
341
364
371
301
299
330
302
287
309
320
371
356
339
345
293
322
378
301
342
269
364
354
251
328
377
301
321
262
219
350
336
367
376
307
339
292
281
348
376
360
287
335
378
287
340
262
290
328
326
283
394
296
354
319
294
330
264
327
313
347
292
264
338
291
343
276
245
351
339
297
368
330
324
369
306
273
311
228
308
321
297
368
299
313
293
323
281
206
385
297
360
308
366
325
372
321
249
283
378
335
266
370
341
338
347
322
312
279
348
351
229
319
361
243
329
299
328
260
286
326
221
264
291
273
350
324
373
280
276
351
290
355
303
328
328
361
218
351
310
352
292
295
331
310
283
323
274
301
383
338
264
343
315
395
276
351
347
410
374
393
369
315
319
314
377
413
312
279
323
289
353
402
292
290
304
307
384
357
342
368
355
367
357
302
276
329
331
353
351
299
374
300
381
295
285
326
295
337
259
296
333
284
362
289
306
278
340
350
397
326
278
233
249
384
246
313
325
337
255
269
339
363
368
278
251
340
315
287
243
370
359
337
374
327
350
303
358
361
304
408
263
388
382
290
215
319
303
286
317
317
347
292
415
365
363
328
341
283
343
356
367
331
270
415
320
313
315
331
249
203
302
280
358
362
367
295
288
310
288
271
393
372
333
287
300
338
234
352
267
347
288
328
367
320
340
294
331
278
341
312
326
285
315
243
238
314
261
285
287
383
322
281
359
344
325
366
349
387
273
321
318
289
309
331
299
387
313
295
291
301
408
331
314
336
283
273
249
373
319
319
293
360
284
328
244
302
373
330
273
277
275
310
248
354
245
335
219
297
206
386
334
331
263
358
295
384
320
378
386
281
325
368
337
325
242
324
271
327
353
274
242
355
374
218
270
325
317
276
313
336
408
297
328
384
303
388
289
356
336
263
382
278
256
313
247
326
293
354
234
305
266
405
348
345
328
324
294
372
376
369
341
336
332
250
227
181
326
256
351
323
323
282
266
322
314
317
336
281
367
275
329
327
316
267
375
373
365
334
268
329
306
264
390
383
323
246
342
303
349
282
394
295
278
372
345
339
239
317
324
355
306
296
291
328
329
252
332
306
363
295
243
330
287
399
315
370
345
236
310
334
252
302
317
336
279
331
342
267
374
346
345
257
275
278
373
335
279
237
305
378
364
297
356
345
326
376
360
292
306
281
328
400
246
308
295
295
379
350
194
325
350
299
342
331
352
290
346
367
320
221
371
330
256
346
319
294
313
305
262
313
302
288
233
398
290
303
259
285
294
265
284
249
348
293
322
266
306
291
296
271
359
226
365
278
340
362
288
361
299
299
377
296
305
347
231
282
363
281
408
269
356
266
287
345
370
252
263
315
356
366
341
383
231
234
326
359
305
276
331
269
347
361
367
309
319
373
314
339
234
267
354
216
329
362
322
279
362
330
297
286
383
314
259
249
327
285
308
341
324
206
298
225
335
376
269
293
284
303
224
239
299
370
216
433
384
296
314
285
313
339
317
379
290
330
376
338
198
347
263
309
362
270
307
353
294
313
291
277
396
325
303
268
336
347
331
317
330
282
309
365
320
293
306
386
263
314
215
336
262
317
286
261
349
335
288
373
336
256
304
249
315
349
250
328
301
348
320
302
315
365
414
304
343
334
306
318
276
360
335
308
255
322
290
374
248
306
253
360
278
311
363
386
374
352
343
340
281
319
360
298
298
221
349
358
379
275
272
322
284
327
306
280
354
327
320
270
274
342
366
308
330
300
330
344
348
314
308
269
329
388
321
273
296
309
240
299
404
283
385
339
286
298
351
288
351
219
311
293
327
215
320
301
366
339
335
314
322
260
388
369
272
329
337
362
345
421
275
405
253
258
342
282
266
275
305
239
237
335
306
331
316
295
275
270
321
337
402
276
224
284
359
375
321
348
377
420
356
397
305
341
289
308
247
295
300
309
253
336
303
376
275
307
350
285
224
373
319
313
378
346
304
270
329
339
279
342
332
421
295
244
335
296
313
373
340
343
342
303
269
243
263
363
258
300
363
384
334
346
310
243
364
329
286
347
357
302
351
314
326
314
382
288
335
342
285
334
213
315
340
322
295
391
269
310
387
310
303
316
350
330
341
423
326
158
289
267
323
301
341
328
310
352
284
338
228
280
361
390
256
317
261
370
319
327
315
296
326
297
348
344
322
360
252
335
331
356
337
332
344
292
288
305
347
353
379
338
278
312
331
275
310
392
269
317
427
282
357
289
313
310
286
398
301
332
411
309
286
340
278
302
349
320
324
336
305
379
323
369
307
344
317
326
360
228
220
315
337
387
339
302
347
360
451
337
309
330
274
318
294
318
339
299
357
276
307
271
344
347
352
341
331
303
429
319
349
363
298
276
337
317
359
353
314
317
286
288
334
312
338
366
297
266
280
305
293
282
301
397
329
286
229
268
304
355
302
261
257
306
314
275
437
308
320
292
352
289
247
288
302
315
278
383
322
296
353
338
279
261
263
313
285
256
355
286
307
224
346
299
353
344
237
368
352
311
297
333
295
282
324
424
247
312
295
308
331
300
365
323
290
322
301
298
355
358
325
330
273
322
228
263
269
341
297
342
317
332
322
300
298
287
266
266
289
327
369
328
391
293
267
325
274
345
270
311
313
230
329
287
316
309
265
292
350
287
355
417
329
277
366
333
220
314
285
287
251
258
299
298
232
359
326
361
346
305
336
346
288
341
333
309
352
258
303
366
339
359
328
287
299
325
341
305
265
396
259
375
422
344
267
322
289
332
331
323
285
307
323
347
341
328
365
260
362
348
300
268
337
372
327
296
247
347
325
309
369
317
244
307
348
237
233
278
390
264
313
357
320
344
372
230
310
307
366
276
252
314
231
326
255
311
259
369
361
362
291
290
359
370
284
341
325
378
357
255
351
231
308
246
393
270
253
289
253
254
281
326
326
293
327
304
334
346
274
319
363
350
235
275
260
250
266
287
355
323
356
311
245
312
312
174
327
324
359
323
326
293
296
305
230
277
314
341
375
353
348
285
378
289
340
317
314
391
312
402
286
297
278
302
327
393
336
277
300
319
336
270
242
255
264
295
266
356
365
393
320
323
269
328
273
394
240
330
301
239
234
291
330
311
318
334
200
280
368
282
266
347
275
332
329
405
229
281
310
328
307
370
302
327
401
327
323
331
297
286
302
291
274
310
426
315
251
286
282
356
373
339
353
349
278
332
326
309
348
354
264
246
413
275
386
319
314
254
257
362
425
290
290
316
272
379
292
317
296
226
248
249
294
308
309
304
283
292
352
371
350
342
323
319
286
271
385
380
297
325
325
264
313
292
271
291
317
323
363
339
305
374
286
408
359
367
330
291
295
318
282
285
356
338
290
318
379
327
386
297
350
333
377
344
346
226
322
362
307
336
322
370
279
336
241
298
406
314
368
391
309
275
276
320
293
340
405
337
321
407
371
328
338
316
307
329
369
296
351
256
334
390
298
307
360
365
316
306
289
371
332
331
341
251
258
237
420
368
338
274
313
342
310
348
374
303
234
292
259
200
354
321
349
379
296
252
308
299
333
308
339
271
290
311
318
288
363
239
285
309
282
282
331
369
305
367
366
422
315
323
237
374
305
373
370
381
310
312
347
317
339
287
357
212
352
319
344
262
266
353
353
297
304
226
300
325
320
278
384
288
300
345
293
315
304
346
354
291
284
358
408
299
328
369
344
375
364
266
318
237
306
358
269
332
341
321
316
349
318
356
285
350
317
322
288
380
380
286
372
289
360
356
274
314
315
319
359
319
349
373
283
306
306
305
359
406
352
383
333
297
356
261
348
295
300
352
354
307
314
288
292
313
381
308
313
405
388
261
317
344
304
362
349
248
279
274
253
288
397
253
290
336
242
292
276
320
338
300
297
271
341
320
299
265
336
282
309
250
359
294
287
323
337
339
290
376
284
314
261
430
273
268
207
308
319
383
304
366
358
309
300
355
410
260
321
293
395
332
339
347
349
347
409
363
339
290
360
338
274
332
275
305
269
349
335
314
275
306
270
357
301
341
297
339
279
350
301
341
348
335
404
282
345
262
371
333
359
259
363
306
354
299
315
282
321
379
356
346
277
289
254
303
329
376
328
324
344
309
369
341
340
345
284
372
327
314
331
257
385
287
253
336
245
348
324
308
343
299
276
293
336
414
257
281
343
295
250
264
312
324
347
376
355
292
342
324
315
303
330
218
431
355
209
316
307
196
374
274
355
300
264
332
336
290
311
301
272
320
317
266
290
329
285
287
397
411
387
373
278
321
278
322
312
296
353
321
323
309
222
359
286
274
303
331
438
384
337
359
252
310
232
265
276
324
328
299
368
267
301
289
229
332
290
329
405
326
253
296
367
332
291
367
323
326
373
258
328
329
253
434
341
428
339
311
365
283
273
313
289
338
323
387
296
329
363
366
325
327
355
364
260
353
328
384
285
279
304
358
263
311
276
298
247
277
361
329
272
262
373
285
353
286
287
313
286
277
272
317
295
307
343
284
279
387
279
367
325
349
311
270
363
319
343
253
410
348
275
234
261
312
263
378
368
312
375
382
263
361
325
358
261
298
376
311
326
394
378
360
259
273
264
362
332
318
298
326
283
343
406
328
376
350
321
348
316
385
295
331
281
308
348
275
331
331
236
337
351
290
316
339
309
341
338
281
464
275
245
322
323
344
315
302
253
299
289
224
300
342
179
393
320
386
336
388
269
248
359
326
310
355
323
374
231
317
373
356
339
343
354
371
293
338
221
277
323
367
335
354
294
263
307
249
298
307
333
325
303
351
240
342
391
285
368
306
297
195
296
288
300
391
334
315
263
246
352
309
347
384
259
364
322
337
283
354
358
309
359
257
298
263
331
279
372
289
292
397
304
292
288
347
366
295
364
284
284
374
330
257
303
276
322
318
194
358
347
359
369
248
222
354
324
317
342
296
390
279
331
322
185
364
298
332
321
254
349
268
396
309
318
331
352
298
253
335
287
365
369
281
321
374
296
333
330
341
375
315
346
320
337
332
256
315
346
338
314
354
305
320
231
303
320
282
255
329
325
368
290
350
281
370
356
324
338
318
317
355
318
243
308
261
298
341
297
377
335
236
224
407
333
322
299
330
293
341
252
291
413
272
294
341
329
363
311
288
301
325
288
296
337
337
293
355
351
356
311
334
294
315
360
267
342
356
300
336
226
339
330
284
367
359
415
307
333
229
319
397
317
346
326
291
305
361
322
416
406
283
237
395
333
284
336
405
275
277
317
310
381
275
302
347
296
308
302
306
267
284
374
332
330
381
387
365
357
359
306
289
260
438
369
344
319
245
239
343
285
300
295
424
329
268
342
330
315
260
295
220
280
302
357
338
330
330
233
332
275
286
366
260
255
302
307
282
311
305
332
330
315
303
304
219
403
285
280
273
285
302
388
302
325
299
316
311
284
247
392
309
303
392
263
320
338
349
277
343
342
223
276
327
298
283
347
403
337
330
338
358
262
281
394
294
363
462
251
362
319
342
249
276
320
303
311
380
323
347
241
328
380
349
359
271
314
153
302
310
344
268
350
261
313
238
321
310
387
354
304
314
231
362
329
287
310
307
361
342
267
295
304
345
400
305
298
285
294
317
345
307
332
337
365
337
370
411
330
333
368
328
368
279
308
385
378
320
358
419
269
375
268
341
316
339
372
376
366
301
314
312
417
262
262
285
299
373
280
259
320
339
299
389
256
417
234
301
328
379
323
364
356
239
364
293
314
303
349
313
317
293
269
357
333
307
317
345
285
265
407
362
248
359
329
262
284
337
304
278
356
335
319
327
280
320
313
321
394
369
347
285
314
283
265
298
364
340
348
282
339
298
261
387
252
356
323
371
335
359
322
249
215
400
293
294
246
334
327
261
328
261
332
356
372
361
294
315
332
339
273
314
284
375
310
372
319
322
383
359
324
354
325
318
296
344
343
315
325
361
315
279
334
316
313
339
371
194
361
256
279
259
247
324
334
267
347
389
287
296
287
329
278
331
316
220
366
275
349
274
276
345
275
238
361
338
245
373
291
282
300
291
305
355
349
317
289
340
326
268
244
274
332
212
318
317
268
320
228
329
372
363
294
264
359
354
410
319
337
289
367
371
287
290
257
341
336
302
317
327
348
385
373
270
302
330
303
333
344
360
343
309
279
397
298
297
337
322
368
300
319
317
319
321
270
345
273
283
403
214
294
326
221
334
293
341
400
314
300
300
279
296
330
400
384
309
346
375
276
366
349
333
353
301
341
195
371
297
312
268
318
294
369
335
355
293
307
357
342
314
363
306
372
284
336
258
323
343
360
275
355
255
380
270
289
283
166
231
279
323
287
367
299
283
324
340
369
320
337
377
328
316
230
278
279
321
367
308
319
266
274
343
331
307
318
246
254
414
346
295
393
175
288
278
381
392
281
283
343
270
258
267
319
370
274
357
296
251
347
367
240
305
389
265
337
275
331
356
349
332
313
313
222
294
352
339
307
354
328
240
296
279
355
335
243
283
294
310
347
274
367
310
373
376
338
284
193
285
402
323
331
390
313
300
237
307
338
278
335
284
299
367
276
337
331
335
306
379
345
348
299
347
349
285
307
298
308
316
298
368
374
385
240
257
296
325
342
296
368
278
366
347
341
303
344
359
265
288
338
362
330
366
366
373
288
301
269
285
328
383
354
306
293
269
227
299
314
296
302
305
361
323
265
416
213
381
358
313
342
338
363
277
367
366
287
291
323
335
364
309
365
309
367
307
305
333
218
338
339
322
332
330
245
277
343
399
395
353
359
334
328
308
319
266
296
330
363
322
309
289
322
350
360
290
257
300
260
412
347
378
284
334
281
308
220
360
369
350
317
364
241
339
290
372
375
314
416
267
267
278
345
274
233
352
284
307
334
282
375
258
373
314
388
313
317
245
274
252
371
375
279
349
314
365
256
309
375
333
363
276
294
293
365
358
361
279
328
389
329
333
281
292
336
324
267
213
366
369
286
331
340
261
322
254
331
325
313
347
377
263
233
240
256
288
326
370
281
336
320
348
238
363
314
367
348
296
306
313
291
386
349
335
309
349
356
300
297
275
362
339
293
266
248
325
380
399
375
383
274
353
391
369
350
265
293
244
313
351
267
321
313
265
302
321
278
276
246
316
334
335
265
314
324
302
400
351
271
235
299
338
336
321
336
340
388
365
272
308
260
364
386
319
319
336
380
329
262
299
411
400
302
349
340
372
267
321
374
316
391
360
296
337
255
432
316
333
303
371
324
329
290
377
352
310
327
343
327
283
332
309
331
327
369
227
326
314
387
256
287
308
238
331
355
294
336
269
303
250
381
258
308
312
212
345
377
287
376
333
368
313
304
287
348
312
280
380
251
347
323
309
352
344
360
350
377
300
302
416
291
328
352
284
356
297
270
317
274
368
197
286
342
307
340
314
315
333
371
338
330
379
347
284
242
349
374
304
257
258
372
343
333
351
333
392
330
298
386
311
340
340
305
247
326
306
272
348
286
319
334
330
441
315
291
302
367
349
309
301
315
405
386
385
272
317
353
258
292
371
319
363
290
321
350
319
332
341
279
333
267
298
379
302
295
322
350
333
318
327
302
295
295
332
276
325
288
326
311
339
355
328
365
314
325
343
330
299
309
314
302
306
277
316
366
361
285
300
377
250
304
262
299
196
379
277
265
247
351
291
261
340
385
340
400
301
321
329
395
344
336
341
307
254
320
310
283
297
323
265
299
214
328
338
335
342
330
254
353
315
298
309
338
364
347
339
366
225
331
323
225
297
286
241
284
315
358
292
269
276
332
311
298
365
351
289
349
304
246
331
278
373
351
266
283
388
284
290
322
310
383
390
287
390
287
308
268
314
288
301
258
332
353
283
275
366
267
302
336
281
370
325
363
309
284
290
372
271
313
304
302
392
289
374
339
351
271
227
299
332
315
213
301
366
283
280
303
313
305
299
322
243
402
316
327
286
299
337
263
356
314
327
351
319
308
237
268
350
338
361
302
412
389
297
320
258
408
337
248
347
282
355
335
305
370
337
345
344
305
300
345
291
300
300
325
372
281
312
260
323
385
276
287
302
348
327
305
284
319
311
330
311
371
250
305
340
331
311
373
291
267
241
371
335
241
334
369
330
429
303
405
325
372
296
371
293
308
405
281
302
221
345
332
390
309
276
340
341
288
384
317
265
244
419
355
360
343
274
240
292
356
287
331
353
345
298
314
339
333
290
351
419
346
368
403
323
349
328
299
250
292
312
317
279
280
296
349
291
355
335
325
289
256
297
228
342
337
299
267
350
305
254
312
312
261
368
351
217
309
281
354
324
360
349
304
359
329
298
232
334
472
343
283
290
338
349
270
333
339
296
324
447
296
314
238
393
331
284
273
305
325
318
321
312
331
291
399
265
262
274
381
289
389
254
244
290
316
366
153
436
252
298
306
410
399
370
341
268
307
390
241
287
294
296
285
364
288
343
318
245
446
269
316
285
299
302
290
341
343
351
279
308
301
315
310
287
314
349
208
277
286
287
367
327
287
352
291
277
279
379
355
322
372
373
311
325
355
343
348
370
332
312
421
297
261
317
284
297
298
366
297
308
289
233
314
228
332
215
350
305
314
288
267
347
344
347
308
334
262
233
236
394
257
321
335
325
342
314
329
269
413
404
313
292
278
286
239
380
280
342
373
340
343
319
367
311
295
308
336
248
326
313
317
331
350
424
373
294
229
415
247
355
286
270
260
344
281
340
253
322
355
336
407
313
259
399
296
322
321
327
409
323
336
350
277
305
295
321
299
324
344
342
352
295
313
296
353
394
334
270
309
233
367
392
323
291
334
330
372
349
314
310
302
398
294
385
340
274
313
393
267
291
219
304
343
286
312
328
330
308
298
266
305
253
253
366
332
358
349
356
341
330
318
347
407
363
266
331
351
397
255
289
361
263
255
273
304
305
283
416
310
352
272
336
369
325
338
286
417
314
332
383
312
352
296
356
263
301
320
360
321
313
325
242
290
325
402
322
336
356
346
243
420
334
392
332
352
176
299
306
314
246
347
241
348
264
367
358
367
330
422
352
323
293
331
317
338
339
377
357
370
307
267
322
409
306
344
301
301
340
325
332
268
260
339
238
348
281
309
348
331
320
312
404
273
288
273
371
230
316
362
290
310
274
331
326
290
353
346
356
354
313
349
337
311
296
318
360
311
267
375
342
280
293
313
335
343
307
297
336
375
308
385
320
326
341
207
346
277
371
351
399
246
274
236
358
287
283
309
268
306
286
341
338
313
352
343
189
335
303
309
221
288
302
277
342
322
311
285
308
353
332
410
369
253
278
290
328
278
349
328
318
343
306
376
298
292
279
364
265
305
330
279
379
293
322
343
300
336
306
339
288
383
414
315
287
323
280
363
358
268
269
317
330
362
324
334
251
335
288
344
297
308
264
278
321
263
315
281
302
343
299
346
373
281
363
247
329
247
332
349
370
334
393
227
303
409
217
361
294
301
245
367
213
325
356
349
264
311
316
251
396
260
236
243
332
389
247
328
279
240
301
298
306
351
299
332
246
348
288
342
361
197
310
291
297
306
305
303
334
302
347
379
318
321
323
322
285
233
260
230
355
369
366
260
290
399
354
345
294
351
367
348
305
302
294
334
334
323
264
261
207
350
253
384
371
364
341
310
287
290
240
325
275
266
343
362
322
281
357
312
285
307
306
326
282
311
275
299
317
306
314
378
364
403
283
384
281
328
265
357
332
387
343
215
315
287
242
283
311
313
375
319
359
432
325
302
226
315
302
271
352
359
253
322
354
293
320
367
328
292
245
308
328
392
437
334
350
299
325
360
278
296
416
277
373
301
326
318
309
291
320
335
294
312
279
306
291
274
288
312
272
299
297
275
220
314
282
292
303
330
352
351
352
367
344
277
277
317
356
292
361
307
302
365
262
300
289
279
260
217
250
302
300
282
333
345
295
345
297
297
318
353
257
397
300
291
268
317
300
217
391
388
309
202
252
298
269
312
384
223
284
340
335
371
385
295
316
300
327
239
345
384
297
302
331
277
308
364
291
349
298
328
214
318
334
281
314
369
304
320
271
312
266
282
411
310
295
331
242
338
316
293
264
352
278
306
340
351
408
386
331
381
297
364
299
349
402
355
368
335
269
334
330
330
275
266
368
344
324
303
348
370
354
296
308
308
290
308
376
411
311
268
317
351
263
291
364
366
334
356
284
241
226
340
317
347
319
331
405
345
282
315
391
336
367
352
262
284
230
278
330
286
293
358
388
289
327
336
210
227
259
362
296
267
334
398
298
339
292
318
321
285
316
379
362
289
358
300
218
356
345
292
269
352
335
293
309
279
329
346
266
374
384
346
306
280
342
271
299
336
330
234
300
262
354
264
311
286
321
339
364
302
298
340
340
266
326
311
219
283
268
342
254
337
357
313
385
300
235
292
348
338
328
403
427
366
306
314
309
351
328
326
338
346
361
286
413
342
306
285
324
398
431
298
290
337
357
292
364
277
310
304
299
307
348
263
344
286
354
393
340
342
276
311
281
396
226
357
301
359
270
356
379
346
314
317
239
314
287
292
313
276
299
305
352
376
239
344
270
266
315
388
329
311
332
293
409
319
276
350
263
271
340
297
290
334
362
326
257
303
358
329
291
199
406
315
319
295
263
294
392
311
295
314
334
330
300
310
288
349
326
333
369
289
327
339
325
355
188
315
411
340
285
310
353
266
366
276
334
282
312
296
253
311
335
272
297
301
257
215
318
264
368
294
346
372
338
312
370
305
351
354
354
347
301
360
343
318
160
332
295
364
364
280
345
287
301
337
316
293
367
426
312
324
340
367
404
342
354
393
307
307
310
254
340
360
351
246
324
362
337
294
356
323
368
272
286
309
349
360
256
308
283
319
362
348
319
329
269
330
367
377
360
364
339
312
324
341
281
373
319
282
302
372
289
308
320
308
321
335
307
305
307
311
307
289
354
337
357
304
336
425
335
240
275
240
309
296
360
369
361
346
305
322
334
299
353
364
295
261
341
258
370
341
409
350
324
288
287
260
369
299
302
372
324
285
264
359
341
331
307
266
291
310
286
274
294
291
287
271
264
262
301
380
364
252
268
297
272
344
308
311
385
357
394
312
291
277
324
288
341
364
312
264
283
335
326
287
336
306
305
318
320
383
346
333
334
362
330
303
298
296
218
303
302
284
356
327
330
344
355
359
395
285
341
311
326
262
373
361
256
250
246
251
342
340
283
275
262
349
270
315
319
366
315
277
335
340
299
324
289
284
386
279
281
286
358
238
313
299
333
288
250
269
338
350
284
261
318
333
358
364
366
289
295
268
352
351
351
259
381
282
320
291
242
392
298
287
295
302
247
301
312
344
293
322
308
352
243
427
295
337
341
288
271
365
236
359
305
294
337
324
322
384
290
285
346
301
358
289
358
273
324
268
353
349
366
281
357
365
342
292
417
327
323
298
257
265
324
364
309
275
310
285
398
259
267
219
241
413
366
351
324
336
374
394
310
223
307
324
330
361
363
304
299
406
366
343
294
229
367
334
329
374
307
392
342
371
318
226
369
381
277
328
288
312
349
323
305
328
342
221
307
235
276
351
310
268
408
260
366
347
344
342
319
333
321
360
324
322
299
291
324
360
322
346
330
307
351
270
351
282
306
210
284
327
301
351
284
335
291
396
326
339
356
280
391
291
254
357
327
255
278
274
357
242
337
357
254
372
302
270
214
283
269
363
266
347
253
325
341
379
356
342
202
322
395
337
291
289
309
310
308
330
240
330
320
390
307
232
309
326
324
309
300
331
347
337
304
238
320
387
280
307
288
363
296
366
288
340
258
357
324
219
292
357
354
292
318
229
330
347
312
360
282
349
337
252
353
343
261
357
346
319
308
281
382
335
358
345
322
252
347
360
282
356
351
318
326
306
316
298
262
308
364
346
342
336
306
331
391
321
324
383
288
310
331
270
357
358
321
343
268
317
335
327
366
340
338
285
331
360
313
316
312
255
309
315
358
315
297
341
315
349
230
312
285
335
307
216
266
299
387
345
294
343
325
361
390
301
244
293
222
369
292
288
385
378
339
289
302
322
324
354
316
374
352
288
365
306
342
222
336
336
288
386
367
330
237
329
316
195
357
415
299
413
339
332
288
323
359
298
356
295
292
370
352
303
270
339
313
302
292
409
254
335
327
331
304
220
299
355
242
267
309
354
354
345
311
300
314
269
387
261
299
338
292
363
289
293
361
338
298
342
320
347
409
269
289
277
317
343
270
399
363
253
367
279
348
322
334
384
314
283
231
360
295
332
308
353
342
285
343
340
331
280
247
346
379
318
321
364
294
326
341
368
351
380
304
325
291
328
293
320
348
301
324
278
285
363
301
307
326
351
254
305
292
303
311
291
356
312
289
320
333
420
323
301
447
375
330
281
337
320
320
269
407
329
334
345
269
371
383
265
368
391
283
301
338
327
246
333
306
370
332
262
311
294
358
350
283
283
277
337
255
343
375
281
330
313
342
357
334
333
329
324
380
341
345
331
333
278
233
285
291
272
310
329
283
319
285
263
344
365
333
331
325
276
292
272
355
326
342
328
287
292
323
315
296
297
303
241
298
309
289
308
302
406
224
317
366
288
383
273
332
381
332
359
335
300
308
292
401
311
285
350
298
360
307
321
334
355
341
331
334
286
250
331
407
272
427
310
290
334
323
241
293
213
317
338
387
266
316
248
338
379
356
372
241
299
285
314
220
298
344
327
192
323
290
320
351
326
362
377
367
280
325
306
276
425
342
257
324
259
253
392
377
375
269
259
316
226
318
360
245
298
299
345
329
351
252
309
289
227
333
358
314
285
296
171
355
345
285
308
297
343
356
254
308
307
262
338
260
322
283
336
307
374
324
326
375
314
360
268
293
367
347
304
337
309
250
258
304
344
299
344
384
345
315
375
276
380
277
309
316
430
332
347
347
284
306
326
304
305
242
388
281
334
383
318
370
314
292
373
349
350
371
294
316
242
313
307
364
306
291
375
283
295
286
365
300
334
235
288
408
352
323
379
284
363
281
284
331
316
261
312
313
343
351
223
294
297
306
343
348
256
303
317
395
308
298
306
224
419
253
273
286
367
314
281
328
280
268
391
401
341
317
331
272
343
276
327
320
320
244
393
330
376
377
292
318
284
348
327
364
269
319
326
300
318
289
286
256
270
352
300
339
314
270
258
350
330
322
372
326
304
333
345
366
283
285
313
298
337
303
318
354
338
309
363
306
345
319
284
383
370
258
264
264
329
359
326
356
365
345
323
255
308
358
379
343
296
299
375
270
392
281
340
314
393
315
334
305
300
322
334
310
287
290
312
394
397
397
339
353
312
224
399
383
321
269
357
371
304
231
472
356
370
289
278
343
298
356
278
343
269
324
313
348
260
286
350
269
348
276
296
240
359
283
326
295
354
333
393
263
280
339
285
291
383
316
293
334
301
299
348
363
303
417
330
272
291
260
353
346
310
324
381
332
438
304
331
328
317
369
374
332
279
353
284
291
302
349
362
400
321
421
303
234
350
294
302
314
242
286
402
347
344
310
338
321
251
282
293
302
255
302
355
262
254
308
323
257
349
270
368
295
309
339
299
298
348
343
352
401
308
386
370
292
269
264
308
344
324
358
228
313
323
330
289
232
333
375
293
354
304
361
355
298
245
291
407
330
277
400
288
306
270
317
300
374
349
327
319
359
311
333
282
297
276
330
393
290
306
346
313
354
366
363
312
305
374
354
319
307
164
335
319
395
368
347
340
322
267
373
295
263
331
339
365
333
271
283
304
362
327
323
304
321
369
315
295
334
288
341
308
342
255
220
340
377
372
338
288
296
343
283
312
296
317
323
360
343
278
401
318
281
318
303
360
323
403
377
348
264
383
281
340
292
284
348
298
413
268
315
440
359
324
315
291
366
354
394
394
267
325
368
301
316
352
319
259
282
301
347
261
338
278
358
318
324
298
269
258
261
305
245
279
258
267
357
295
370
416
350
324
322
313
289
293
302
273
330
257
313
307
388
305
354
259
265
331
309
264
276
323
295
260
342
360
392
329
275
330
233
245
301
330
370
273
339
340
290
312
268
308
274
316
357
318
298
282
391
355
279
296
299
298
391
330
361
363
206
293
371
363
321
268
244
338
361
226
267
299
325
297
370
278
397
291
250
317
307
337
296
338
350
334
340
357
348
244
290
287
279
365
351
324
366
392
312
338
344
279
261
356
369
264
296
310
382
267
389
358
318
342
362
345
368
342
320
347
349
282
334
365
266
277
286
253
284
362
358
304
383
362
282
316
347
388
331
291
320
256
326
317
360
373
242
258
279
356
284
366
334
330
328
328
346
305
310
330
410
386
416
335
280
313
310
254
229
380
337
299
352
228
343
350
283
253
344
321
367
316
315
308
348
292
270
346
332
341
357
287
330
237
350
336
249
272
328
317
312
262
280
233
280
270
362
327
338
337
308
373
311
294
286
366
314
317
366
293
292
293
273
324
289
410
335
371
298
290
312
342
255
307
262
349
276
409
372
300
330
300
340
414
297
371
356
319
386
346
267
380
332
281
319
346
348
347
331
261
413
344
336
356
287
385
240
301
356
345
247
299
301
360
366
332
308
342
335
295
324
365
244
225
315
359
338
357
275
328
336
280
316
362
343
320
328
296
316
221
282
267
374
373
365
296
293
303
294
366
336
277
293
354
296
374
308
332
318
278
270
308
300
346
268
260
292
257
351
295
338
335
351
319
363
352
284
302
375
284
255
371
325
283
399
372
363
303
336
289
321
272
401
299
362
361
265
271
295
326
315
290
321
319
336
287
346
333
277
262
325
299
271
354
367
286
350
328
267
319
267
326
253
416
318
324
341
332
382
275
308
348
391
357
294
336
340
316
249
275
367
229
259
314
369
268
411
328
365
360
307
362
400
300
403
204
253
325
267
323
305
349
326
324
348
329
336
294
361
261
333
349
253
353
298
290
320
308
373
339
350
333
248
354
355
353
314
368
301
395
314
371
292
383
257
348
279
319
349
289
370
293
325
305
384
318
353
284
197
346
265
278
278
359
349
300
278
280
369
337
355
374
285
342
442
366
315
248
292
380
250
408
302
201
352
306
354
383
315
323
315
302
374
308
297
288
299
289
345
348
322
279
277
264
387
321
303
295
290
255
355
312
316
325
365
324
244
280
322
350
368
264
363
306
328
318
300
348
316
391
296
310
339
196
327
331
220
337
381
289
256
295
356
362
359
203
359
238
301
259
373
336
341
239
321
376
316
269
360
289
360
240
324
323
264
274
348
310
323
379
266
352
382
278
369
310
387
318
279
338
309
309
314
305
359
353
343
333
342
304
323
415
396
235
373
378
239
336
268
307
286
254
327
345
299
301
372
365
286
419
321
345
291
365
350
295
347
344
329
349
328
279
334
308
347
349
291
301
296
301
305
330
291
366
239
230
326
391
362
263
247
324
249
293
450
255
302
339
289
334
322
337
255
326
310
344
335
315
257
275
327
305
291
340
262
317
351
271
354
383
329
272
276
264
272
287
291
344
306
342
322
289
310
244
290
303
319
293
349
312
307
305
317
279
350
325
276
324
298
312
353
303
325
238
326
314
292
242
372
371
316
305
374
372
317
207
286
347
245
341
348
349
295
341
314
339
281
306
246
250
308
262
310
245
291
260
361
262
365
368
382
358
327
277
241
368
313
346
348
306
379
322
251
328
384
310
346
376
304
317
405
329
363
321
304
292
293
241
298
309
365
349
271
331
297
286
329
327
295
297
290
364
269
344
281
253
292
343
437
214
332
359
201
302
332
370
309
257
292
271
315
296
271
290
310
347
329
387
278
188
334
271
341
332
316
405
358
204
411
353
329
368
356
387
274
287
373
448
351
308
293
319
368
340
295
335
356
239
293
277
273
293
354
290
268
320
328
318
286
293
319
314
296
309
220
314
363
239
333
304
288
362
345
316
293
277
378
261
343
370
385
254
302
303
212
370
340
344
355
320
358
391
389
340
332
340
376
316
301
329
324
239
271
355
287
244
285
369
330
298
257
296
268
294
325
271
316
288
322
293
379
344
350
362
258
331
277
332
326
290
386
230
302
285
251
323
280
246
340
268
349
283
363
252
314
392
299
317
398
373
323
351
228
339
320
304
324
284
342
284
295
302
384
334
339
347
291
262
312
327
278
291
343
356
297
408
322
310
302
347
331
359
324
342
272
243
274
389
349
329
343
356
358
294
362
181
302
249
269
302
344
332
398
262
346
306
318
296
347
333
342
335
305
296
243
380
302
337
315
261
271
262
303
294
324
329
316
367
342
304
354
333
194
399
330
280
380
288
318
283
411
331
354
377
278
346
382
290
352
351
321
258
370
328
302
309
264
334
392
314
247
359
324
333
281
350
249
248
330
300
267
335
410
319
321
252
277
308
331
265
308
367
349
271
306
280
323
358
231
363
331
313
257
299
327
320
272
333
399
284
404
336
287
255
301
285
363
294
240
296
241
305
338
296
388
341
417
331
318
327
353
424
309
317
293
316
284
350
315
294
279
293
347
332
313
293
264
303
285
291
378
285
315
308
306
322
357
309
331
272
276
287
324
342
303
279
331
324
376
270
339
300
301
361
347
329
312
457
330
252
286
263
362
330
260
276
383
284
353
359
374
349
357
329
297
326
327
290
307
354
433
361
367
330
409
360
283
276
338
328
366
310
312
271
338
357
304
294
299
286
322
280
337
244
285
298
312
287
315
277
403
339
363
352
186
251
281
252
335
336
352
333
286
241
352
376
329
313
339
276
358
272
277
378
334
348
347
318
313
349
337
298
321
334
371
368
367
408
318
276
241
324
293
373
328
313
315
338
335
215
316
345
349
205
248
358
335
275
326
405
382
282
327
315
353
335
296
312
238
287
327
308
283
314
309
250
352
343
294
309
274
372
231
385
349
362
327
345
262
308
335
290
281
291
341
331
337
383
381
316
312
297
252
273
373
348
341
319
361
280
316
288
317
300
370
344
391
319
288
325
296
354
274
268
315
233
320
334
388
375
339
319
356
345
326
409
337
252
334
211
248
335
341
318
358
306
354
328
309
300
267
301
333
390
323
358
366
275
341
321
308
307
334
332
350
333
412
324
356
292
330
296
234
301
375
313
398
283
276
222
323
275
306
336
305
279
288
237
248
292
326
290
265
330
327
289
296
306
328
279
232
304
290
257
326
275
306
372
319
347
235
305
323
344
293
303
326
314
318
392
303
365
308
314
238
317
344
392
346
235
320
228
312
236
362
289
311
304
257
324
331
363
225
280
260
350
269
325
275
315
293
268
294
361
325
256
283
209
283
257
321
246
302
298
322
374
317
304
321
385
310
274
373
373
311
281
332
333
281
437
224
263
296
397
284
335
355
305
332
286
249
339
318
317
297
388
361
332
328
344
308
295
333
333
304
322
209
315
398
331
293
315
282
325
316
262
408
227
341
331
336
330
230
272
327
309
359
256
224
265
313
411
350
395
291
289
295
358
340
292
325
337
427
285
268
353
288
289
361
340
333
337
313
350
301
385
357
285
325
312
345
368
338
249
313
299
281
258
327
355
254
291
324
270
347
289
223
303
302
318
347
333
280
352
296
333
382
276
258
397
310
421
302
326
365
331
274
335
308
367
239
402
280
310
308
256
296
355
359
273
345
280
322
366
320
252
273
375
329
278
338
234
367
311
306
350
273
320
344
397
312
382
331
340
352
259
290
356
282
293
382
301
274
343
321
347
348
260
347
356
349
261
335
356
313
305
259
305
326
305
273
307
287
344
295
282
311
292
302
282
281
222
317
317
264
262
318
272
323
309
259
284
246
309
392
307
366
346
336
327
261
211
339
354
408
344
247
311
292
337
335
299
356
390
277
226
285
357
319
387
327
255
319
373
339
319
301
299
315
365
347
387
347
332
239
363
254
295
271
318
372
324
324
354
358
240
307
363
220
271
283
326
349
323
313
310
295
294
307
383
341
277
259
302
315
273
309
320
363
342
382
277
284
347
347
339
347
260
337
347
298
351
303
302
395
352
234
331
271
358
325
320
284
354
334
300
370
326
282
286
362
260
371
271
352
317
338
354
317
269
345
293
361
330
328
294
372
341
319
302
316
277
328
306
314
286
269
347
308
351
263
430
304
372
336
270
338
334
281
271
311
281
261
349
380
324
378
353
255
330
408
328
336
315
288
354
325
261
332
275
350
288
363
283
315
340
320
298
365
320
284
370
340
385
237
313
368
329
304
298
333
344
353
413
305
313
315
409
278
228
372
322
244
303
257
260
330
310
369
289
354
303
351
295
294
241
312
365
373
262
373
379
358
315
295
240
372
310
328
311
251
312
303
202
351
326
299
327
341
248
286
247
357
293
275
377
306
259
317
248
256
393
296
301
319
277
358
308
302
317
367
358
316
233
306
299
279
281
261
233
282
285
376
368
337
280
317
400
320
316
272
246
348
308
388
300
320
365
375
359
357
286
341
189
373
238
262
396
301
283
272
341
357
323
271
337
317
360
338
330
323
310
327
336
327
293
333
280
294
351
247
388
277
321
237
320
300
313
333
365
277
348
305
311
297
291
300
234
297
259
244
361
286
393
271
320
329
256
358
308
319
340
314
369
260
392
270
276
216
271
338
324
287
284
385
300
239
321
407
288
254
394
276
274
263
280
317
309
297
247
319
310
281
275
317
295
347
266
354
270
257
394
337
417
245
379
317
285
394
398
282
290
291
371
336
363
324
287
251
276
332
347
300
280
399
408
333
326
288
297
318
335
288
304
331
305
351
314
286
319
363
358
330
315
263
287
365
306
343
282
330
363
250
320
290
244
338
293
328
301
314
262
300
281
246
382
353
329
364
236
318
287
279
323
329
344
320
377
298
284
243
355
304
317
385
358
343
294
344
309
314
276
325
324
364
304
296
304
362
316
315
260
329
371
414
328
244
320
395
344
268
292
282
336
302
304
372
377
339
255
323
295
364
251
314
323
349
290
296
303
296
346
316
262
246
432
218
335
250
304
260
316
274
334
386
291
349
305
302
348
360
307
225
367
225
326
279
251
350
218
299
313
322
343
289
271
367
299
336
352
280
286
287
276
344
293
328
257
319
257
296
308
252
315
289
372
208
334
274
372
287
226
327
264
320
349
280
317
350
345
296
332
358
342
315
325
256
346
295
291
355
398
346
287
324
413
313
317
289
371
289
364
265
349
327
266
287
285
299
361
320
356
360
300
348
341
286
315
326
376
310
372
324
309
398
309
257
234
328
374
300
321
313
259
248
289
294
370
310
410
315
369
317
338
271
288
388
297
260
377
322
375
373
396
435
380
351
308
328
283
300
339
353
293
342
258
328
301
382
348
345
334
278
332
345
338
321
307
291
219
318
430
331
294
290
371
338
333
237
296
332
329
359
323
328
353
384
312
415
333
366
289
327
384
333
366
320
303
388
261
240
359
278
421
375
342
303
356
304
419
262
279
247
178
318
307
320
361
394
357
321
338
208
237
303
369
297
328
288
290
385
181
341
324
365
276
315
257
312
305
194
322
319
288
250
307
279
287
314
297
267
341
324
284
367
288
220
351
345
338
409
270
318
261
350
363
352
363
305
328
306
361
291
368
288
286
412
341
292
401
325
271
314
319
263
334
329
311
359
249
306
401
336
294
323
260
313
407
406
293
291
391
288
318
364
319
399
314
371
332
187
344
328
316
317
364
257
383
279
259
407
301
297
372
393
350
263
305
314
313
365
313
311
292
284
367
326
313
301
315
336
357
280
352
392
323
366
392
360
244
328
318
336
300
337
342
301
275
272
304
412
323
329
266
326
332
309
367
255
334
354
278
348
325
348
343
232
258
226
384
318
226
345
311
305
391
326
362
293
352
300
316
398
361
253
268
342
293
318
307
241
363
368
301
302
324
273
252
280
313
282
328
283
258
298
257
385
358
292
248
347
339
241
331
326
370
280
294
275
348
316
335
240
301
291
367
327
353
252
354
330
253
326
361
307
315
396
395
271
309
286
340
340
373
316
361
285
394
284
346
319
372
282
393
233
272
304
315
335
281
246
339
311
279
387
353
339
394
248
304
256
327
288
299
308
327
452
369
327
321
332
300
329
254
309
254
243
353
370
347
261
249
293
355
306
295
346
249
327
359
321
340
280
263
270
318
230
312
375
377
320
407
310
293
249
232
356
308
357
254
306
309
226
220
315
340
333
276
371
297
362
284
307
350
326
347
289
315
326
305
263
276
327
392
310
398
267
327
318
360
282
301
358
289
318
296
324
376
344
240
320
250
366
352
368
362
354
366
359
266
324
274
275
297
291
325
298
342
267
275
277
288
307
451
376
310
337
318
243
294
347
336
244
347
344
292
286
244
349
291
286
363
313
397
317
320
310
258
363
330
311
368
227
299
320
299
271
268
339
359
381
375
377
230
338
361
293
316
385
353
267
352
347
256
272
376
368
324
334
322
366
329
388
399
321
287
345
355
348
331
287
329
272
337
325
301
305
273
271
370
329
394
292
285
363
362
282
330
309
298
377
414
298
289
331
327
323
299
264
340
262
313
282
323
265
354
312
336
407
316
331
292
309
287
354
333
392
259
361
246
326
336
372
324
369
187
282
273
317
267
309
333
267
449
335
211
320
288
382
336
320
311
401
281
262
373
343
350
407
387
301
346
265
302
227
312
430
371
377
308
262
345
316
343
334
376
165
285
333
326
205
245
365
256
351
287
366
337
303
320
321
326
318
271
358
393
408
308
359
306
282
388
339
420
301
192
272
282
317
282
304
327
303
310
275
322
326
350
281
343
354
382
281
302
329
330
345
357
261
269
257
312
386
279
344
358
295
367
320
411
259
339
310
323
301
413
324
280
326
323
326
313
274
347
334
351
294
322
336
372
364
369
306
264
294
303
221
241
209
326
312
369
266
379
369
304
324
288
364
355
362
295
297
318
314
321
317
262
322
377
253
324
383
282
308
325
325
290
254
252
330
312
264
265
237
309
332
369
345
308
325
417
294
301
346
298
306
329
285
293
255
310
312
380
233
246
290
309
223
291
224
326
334
320
312
351
197
326
321
421
326
359
314
339
209
340
285
338
285
269
351
369
324
308
324
320
278
275
349
319
341
320
322
318
305
284
278
321
278
330
346
406
273
319
210
267
257
303
250
323
292
302
234
385
326
260
338
287
257
319
291
330
275
299
238
330
318
251
288
362
314
225
311
305
285
248
355
336
308
372
354
328
392
242
330
291
310
353
387
267
272
260
336
367
322
382
320
362
390
357
316
293
330
335
233
257
384
221
400
288
295
395
252
305
351
336
311
278
365
321
329
345
334
305
359
368
355
334
345
364
359
295
237
324
336
395
362
370
298
332
341
271
299
338
296
284
318
288
393
239
353
352
251
265
268
329
341
328
372
367
324
301
213
364
317
355
273
347
365
283
327
371
331
264
289
294
365
274
363
379
345
319
329
279
339
302
348
355
341
309
258
375
317
298
297
300
239
347
268
253
297
351
337
335
288
381
360
288
331
317
302
279
277
267
403
309
235
368
286
232
271
294
274
343
295
314
292
334
325
316
276
279
367
311
357
260
297
296
343
315
292
353
370
270
335
332
304
386
335
331
246
351
335
413
316
281
393
292
399
240
278
327
350
325
301
324
268
329
330
348
279
337
350
299
395
277
331
331
300
337
330
332
260
292
270
332
326
304
339
345
228
319
306
304
304
368
350
236
333
301
282
357
296
295
345
290
316
305
375
348
385
301
250
408
240
336
254
349
283
311
283
307
327
315
360
361
273
297
313
281
315
342
339
305
351
414
359
358
296
309
357
268
410
333
369
292
355
321
357
334
339
305
319
317
276
345
272
306
340
267
240
287
264
332
355
342
328
385
270
284
310
288
353
301
355
254
318
284
339
228
324
222
374
382
356
321
321
371
330
303
227
296
385
266
325
337
392
305
269
262
284
339
342
351
379
297
355
310
348
284
284
290
361
347
260
350
282
373
357
341
317
223
360
335
343
276
305
388
313
303
344
270
312
284
321
392
250
370
271
382
280
305
318
278
361
354
308
305
363
287
282
396
330
376
334
335
294
336
336
284
353
359
285
278
256
354
362
309
314
347
339
356
368
312
370
354
284
392
287
354
251
356
268
349
269
382
294
328
318
305
417
353
304
318
325
294
342
373
330
251
419
317
314
265
304
267
347
284
280
296
357
360
350
392
286
311
397
312
383
262
349
319
279
408
267
364
341
425
300
241
345
294
290
381
231
308
321
331
290
276
282
265
343
256
318
235
176
297
248
394
360
257
269
339
355
292
309
279
321
281
381
370
183
299
280
317
309
282
279
274
321
285
322
349
275
318
374
255
362
305
327
305
318
296
318
339
251
355
355
335
264
243
438
343
316
304
246
381
323
295
350
338
380
376
384
254
276
387
356
349
294
357
368
396
303
275
288
297
239
253
288
338
297
430
316
321
273
302
308
291
293
339
316
282
277
318
348
375
288
279
322
283
332
363
315
346
286
312
323
371
316
278
318
333
341
237
360
375
311
406
312
293
176
301
234
377
281
296
269
316
280
256
345
352
375
327
368
282
305
321
314
269
352
397
289
379
269
261
369
270
233
341
291
304
309
292
324
288
366
342
218
268
386
337
320
299
255
298
254
325
247
373
242
388
304
267
270
281
304
356
335
372
346
327
286
197
330
336
317
338
331
326
302
351
333
303
322
328
328
298
323
289
234
372
369
288
272
240
348
297
333
337
295
372
260
335
357
360
350
345
230
274
364
350
425
263
253
320
274
327
309
306
246
314
294
394
294
411
216
334
306
272
326
345
286
351
263
311
350
401
361
324
329
283
340
262
262
351
312
344
343
331
267
346
300
264
279
200
312
318
364
291
366
351
293
319
275
311
355
406
308
276
356
379
301
342
311
355
259
286
285
382
358
251
266
252
327
311
330
316
385
330
266
299
337
269
284
268
345
331
351
232
350
310
373
325
279
315
273
362
349
275
293
296
310
309
312
261
313
340
330
238
345
338
314
276
295
352
256
354
279
343
372
312
429
350
328
212
313
293
368
330
376
356
331
332
279
343
336
344
299
357
261
333
349
300
244
383
268
309
336
295
363
345
273
216
327
319
289
326
291
335
313
333
336
304
311
248
200
340
385
381
236
318
241
346
326
254
301
297
250
275
282
257
329
327
329
294
330
287
316
347
396
360
225
317
327
296
347
269
299
280
327
363
334
329
377
294
221
282
414
257
298
256
327
316
296
277
295
330
248
232
248
315
324
337
351
322
265
301
279
344
347
303
376
363
373
398
299
328
301
337
317
312
343
293
308
350
274
403
230
286
320
343
228
401
322
325
389
303
361
380
375
260
312
370
306
238
355
291
219
313
314
261
340
281
239
302
301
318
368
301
261
342
338
249
332
317
272
362
260
342
326
321
295
314
325
379
360
298
240
327
306
326
353
332
280
339
319
331
253
338
380
303
360
389
373
243
219
315
323
381
375
341
359
302
377
313
279
374
298
317
314
296
347
352
282
297
357
349
291
207
311
288
337
272
246
273
281
269
334
307
267
273
260
300
361
259
219
305
308
258
391
332
318
256
260
289
311
349
328
297
295
319
317
343
372
318
333
309
358
339
296
333
329
304
390
344
289
296
296
349
353
304
362
230
334
326
262
281
227
307
258
315
370
385
297
337
279
283
373
364
323
315
274
274
254
360
361
263
359
331
258
310
293
316
307
375
343
350
390
393
278
357
299
341
353
363
280
364
303
342
414
345
267
344
309
301
315
343
291
351
342
290
269
248
247
323
309
307
317
219
266
403
349
250
302
309
403
327
403
363
279
331
321
363
284
309
266
329
214
302
333
300
322
235
340
364
404
351
270
278
308
284
271
243
326
306
275
265
261
371
304
277
271
291
256
351
359
318
194
367
255
235
310
226
297
355
351
325
284
305
364
328
301
253
268
257
273
246
300
278
291
271
350
299
365
248
371
365
261
363
377
308
264
245
315
352
297
274
246
355
276
303
335
394
377
255
341
253
328
262
302
328
311
364
360
360
324
360
298
304
302
311
243
352
234
304
279
309
281
308
396
312
324
349
398
310
308
302
336
296
250
261
323
300
401
382
267
379
290
322
363
369
295
342
319
245
304
231
252
372
355
337
315
276
317
341
347
302
284
328
373
307
271
296
315
368
312
274
320
361
293
217
266
362
277
270
299
281
301
270
345
361
360
280
254
323
341
358
387
366
360
322
386
256
218
327
352
357
363
281
235
396
324
279
337
260
257
305
274
342
266
344
348
390
310
349
307
230
246
393
319
285
330
256
280
319
286
313
287
253
323
335
356
321
347
310
260
224
345
313
308
247
347
341
251
319
285
311
308
287
347
320
378
233
341
305
326
387
289
298
366
280
342
298
338
336
361
248
315
334
286
304
251
342
264
367
211
250
333
408
283
275
312
318
315
308
350
223
326
373
349
276
292
314
320
374
363
396
249
307
303
277
236
342
306
260
393
303
348
319
258
259
320
355
275
255
319
213
305
275
303
345
230
388
312
263
315
318
250
320
340
249
256
329
348
327
301
262
256
275
300
301
231
354
272
365
318
273
296
306
264
296
322
348
265
363
234
348
268
299
314
313
347
270
325
338
240
402
339
286
317
255
310
302
445
351
381
339
356
362
349
362
334
194
251
338
321
337
304
361
307
337
323
300
301
352
249
426
301
385
304
261
301
368
390
378
340
206
309
352
318
317
285
332
277
347
371
293
381
334
321
426
291
352
346
237
338
305
231
379
316
314
393
313
363
315
345
349
290
343
326
288
350
360
413
321
310
336
283
318
363
348
402
348
280
270
382
351
176
357
327
269
271
423
340
394
274
386
291
334
354
369
267
307
166
251
328
370
264
383
268
355
331
272
331
360
344
291
295
337
396
314
308
302
258
202
336
341
362
285
342
240
280
311
296
334
338
311
344
271
296
265
259
359
307
292
338
282
304
322
293
330
242
250
277
315
365
318
256
276
313
306
338
264
343
387
291
366
325
280
285
292
294
321
285
357
376
341
218
260
322
277
376
366
307
323
273
348
389
322
297
330
346
350
331
318
397
300
311
294
313
333
331
399
317
347
298
411
342
303
293
291
317
338
316
291
332
286
271
257
300
342
319
324
315
289
345
302
362
234
323
369
299
327
273
338
244
238
348
313
293
316
280
312
246
308
310
306
361
274
334
308
328
313
273
292
361
296
330
295
307
363
290
389
377
282
296
276
290
390
318
354
297
294
341
206
282
328
361
288
295
361
314
330
282
293
409
351
346
252
357
340
365
339
395
287
231
348
375
369
328
317
338
387
355
265
272
281
261
331
302
332
358
377
365
264
355
291
299
234
293
305
310
378
349
261
263
200
335
330
284
243
366
334
313
363
299
281
267
413
297
288
344
372
439
390
303
280
320
315
307
246
405
310
289
305
290
238
329
334
345
273
300
348
348
246
263
318
311
378
346
302
376
353
298
406
204
337
322
324
270
259
403
342
280
235
364
251
356
344
294
338
332
388
389
314
343
279
358
323
344
385
297
432
359
311
313
339
340
352
254
305
319
313
297
258
329
323
257
358
308
299
327
327
362
268
251
255
327
301
368
310
257
329
314
380
316
345
376
356
324
267
319
349
258
344
314
241
346
302
282
240
288
410
385
297
253
227
346
292
219
391
314
372
263
289
403
299
306
282
332
270
281
307
288
329
329
331
322
278
213
283
241
384
280
292
286
393
367
341
377
304
329
329
342
278
348
398
273
264
249
383
281
395
310
321
321
241
331
300
368
262
357
338
361
213
325
349
337
336
403
275
316
225
258
274
333
351
364
279
347
371
298
351
265
353
289
296
287
298
298
336
366
332
346
315
325
366
352
254
299
310
311
330
351
301
333
223
322
286
308
296
353
332
300
218
366
347
374
293
356
324
331
238
235
329
417
311
272
357
344
203
285
344
351
281
345
360
298
326
292
302
329
382
234
377
368
268
329
305
304
343
356
328
336
290
313
302
414
314
345
290
413
336
297
317
309
380
280
337
377
315
326
320
400
389
330
320
244
254
262
245
254
356
358
224
323
346
335
332
343
298
342
355
337
305
308
366
311
306
369
346
363
405
288
384
320
368
307
349
317
388
266
303
394
256
405
342
314
397
311
410
351
285
355
290
271
276
371
312
255
302
379
312
347
318
351
343
320
268
315
330
292
367
335
323
338
284
282
263
317
382
318
346
192
258
323
381
384
368
288
316
296
259
331
237
329
319
398
285
309
287
251
364
293
330
318
277
366
360
252
328
296
305
330
350
245
222
257
311
320
253
388
259
270
311
320
329
349
331
309
334
276
391
259
269
372
326
329
348
315
336
350
290
293
331
310
285
345
278
281
230
308
338
353
335
364
415
339
329
344
333
395
379
313
303
353
318
373
322
341
341
350
330
278
254
294
267
350
290
157
317
374
278
321
243
292
285
279
400
292
342
345
280
256
356
292
406
353
372
308
306
359
362
370
356
307
315
378
401
280
363
372
317
224
361
330
319
414
364
264
399
252
303
328
321
339
287
318
364
365
318
274
281
285
281
306
276
344
411
257
309
239
404
313
253
336
314
266
363
290
318
359
356
333
307
380
249
246
285
276
333
349
255
357
241
316
350
287
311
350
289
300
345
208
360
246
355
383
384
352
308
373
330
320
298
293
292
300
306
333
316
340
270
332
311
328
326
340
286
263
369
251
287
241
251
266
332
286
351
280
331
273
321
295
270
355
320
322
415
273
307
310
299
336
324
313
337
399
272
335
377
300
320
346
312
304
333
322
256
309
410
347
284
284
260
305
251
359
314
291
336
270
352
344
290
327
303
312
278
292
226
325
285
341
315
266
326
367
329
355
351
355
372
422
198
334
244
404
308
391
276
240
311
307
381
351
345
346
256
282
306
225
387
374
423
292
290
254
287
287
354
381
273
292
282
350
288
316
295
340
310
256
272
369
347
286
375
318
373
258
410
337
232
298
303
315
361
302
253
308
287
376
356
320
304
396
360
293
302
302
269
296
329
366
318
356
309
298
307
303
395
358
379
254
368
357
213
243
271
328
289
346
333
327
389
285
342
300
357
357
268
290
322
372
236
353
363
325
348
221
334
307
330
397
306
270
437
308
391
261
275
368
354
356
316
332
258
358
269
256
233
325
333
281
312
290
336
336
216
320
344
357
256
297
257
379
355
329
289
327
341
349
293
315
266
275
368
336
300
301
306
327
342
315
301
316
393
320
405
344
324
346
311
294
277
322
249
242
343
346
306
257
269
274
340
287
351
262
366
331
352
321
405
304
297
303
353
247
328
246
243
294
311
330
287
337
343
364
332
286
367
316
366
289
270
366
405
262
322
301
311
230
224
284
335
280
427
312
343
360
360
261
310
320
224
259
348
405
371
336
374
379
281
285
338
290
309
326
268
319
327
402
316
294
298
293
334
323
379
330
250
316
282
376
273
365
344
345
304
295
289
331
312
420
294
344
259
315
345
282
297
283
369
222
329
295
299
319
377
251
312
360
296
308
362
347
301
321
331
287
251
283
284
297
243
343
311
372
300
289
264
315
310
337
286
340
317
284
329
331
376
306
308
351
292
384
303
299
254
265
303
348
248
386
275
362
297
322
243
310
296
327
333
307
415
392
405
300
272
374
232
386
351
272
332
275
393
357
282
279
385
280
247
313
260
346
357
283
232
285
365
236
370
286
291
340
323
281
404
298
290
391
262
339
307
203
310
282
361
248
329
269
219
349
398
407
291
263
300
263
314
310
290
408
258
332
351
330
263
365
307
215
320
311
367
278
288
237
417
349
355
382
318
318
291
312
343
350
328
296
298
300
356
355
338
313
275
346
246
235
317
342
305
278
350
309
362
335
257
255
265
355
372
289
329
311
362
268
271
375
408
372
300
306
315
328
272
302
311
262
269
345
305
276
364
302
422
283
291
291
370
407
260
354
266
378
302
344
277
366
326
379
294
337
358
291
286
302
329
304
349
388
378
319
200
359
361
271
359
290
346
338
274
265
265
340
237
364
331
324
343
294
359
315
337
321
421
389
321
283
251
275
381
286
233
384
338
316
343
345
333
337
327
327
330
281
266
284
288
246
266
255
347
348
398
266
367
294
309
269
327
311
309
265
310
250
433
372
318
256
242
300
268
302
332
333
289
375
378
316
186
275
326
332
360
321
350
279
301
299
381
223
354
308
237
369
298
317
321
371
273
326
295
257
384
323
327
353
283
296
343
351
270
331
307
339
344
307
331
259
239
298
327
320
312
377
322
311
347
311
332
269
308
369
328
192
349
355
301
306
369
366
369
336
434
327
294
277
313
274
268
214
347
376
361
341
284
311
281
337
255
388
263
311
367
266
379
305
331
283
268
271
356
280
271
291
298
330
305
363
293
386
200
344
288
351
312
306
297
301
336
333
352
288
375
317
359
312
330
270
288
353
271
295
240
323
369
404
302
306
365
345
307
335
315
349
342
367
331
262
332
319
339
327
224
323
292
364
333
396
305
273
287
311
280
285
251
263
308
314
275
348
356
296
285
309
265
303
322
311
316
376
317
270
335
360
301
337
379
284
304
347
189
244
306
296
361
281
362
267
360
299
363
321
292
265
341
321
315
311
241
299
296
273
388
299
368
256
309
239
274
353
283
361
305
288
331
290
370
325
309
368
340
284
357
211
350
337
345
321
281
322
353
345
221
362
332
336
276
287
306
277
359
329
289
328
293
306
303
342
309
313
310
402
361
346
313
321
350
305
240
371
351
325
345
304
292
342
259
394
368
321
387
340
358
302
348
357
382
315
208
266
343
357
343
294
293
233
312
254
286
305
300
338
329
373
357
255
244
322
356
271
356
288
308
300
327
291
371
314
320
377
370
355
263
395
369
348
351
392
268
309
279
345
346
276
311
203
301
299
273
363
391
325
393
339
404
283
321
340
291
372
363
299
371
345
275
361
319
273
307
246
346
256
291
287
325
321
359
282
313
323
278
258
262
431
313
368
289
316
337
270
366
329
356
316
309
318
310
369
299
314
315
310
320
383
345
242
293
328
304
333
320
378
348
335
307
384
345
374
315
314
275
301
371
268
334
365
331
272
298
383
317
231
358
320
385
255
309
328
244
328
334
352
379
206
263
386
278
270
266
333
293
345
342
268
331
343
332
390
336
353
284
373
370
409
277
357
287
348
350
238
321
350
333
298
237
359
343
246
270
362
370
245
335
339
354
343
325
339
359
294
298
299
354
368
248
251
269
386
363
324
277
287
258
306
343
266
343
277
339
361
318
336
337
268
294
313
298
249
283
333
308
336
365
274
343
322
332
387
199
277
383
294
390
326
366
336
250
321
327
323
356
286
270
327
292
315
363
268
325
258
363
330
279
311
281
289
339
328
375
354
347
337
267
363
213
269
397
387
297
358
353
277
347
297
285
269
337
325
317
328
260
398
355
298
335
396
237
276
240
343
349
334
320
219
356
261
297
324
282
328
303
289
361
378
352
352
322
286
390
337
386
308
270
249
313
246
342
267
315
252
288
384
303
320
277
347
304
306
305
298
377
221
256
308
286
234
267
318
386
344
320
337
274
266
306
362
308
324
345
330
344
354
305
264
390
320
296
319
299
337
297
245
274
317
279
324
298
281
299
280
316
290
390
318
301
218
341
358
310
317
307
209
303
284
231
394
300
364
305
338
390
317
366
278
294
322
263
264
285
237
234
286
336
277
252
330
275
391
326
357
356
305
399
337
252
337
382
325
344
319
311
307
291
297
244
293
300
269
305
275
286
291
326
335
351
294
387
404
323
320
343
261
356
337
263
379
317
339
328
295
324
301
286
247
325
329
282
341
318
355
241
400
359
290
322
257
363
309
275
277
379
278
235
300
371
293
330
314
341
292
324
332
384
239
325
360
382
383
307
349
328
282
360
292
401
250
336
367
332
267
356
339
296
288
356
345
302
261
295
373
241
282
398
339
325
339
348
267
280
260
301
268
333
257
338
351
249
279
262
320
215
318
287
345
339
254
206
270
356
337
339
301
365
351
353
375
371
359
331
359
378
310
298
331
330
229
308
322
373
298
275
311
262
346
344
364
312
368
307
285
358
269
375
381
348
320
302
391
273
321
350
246
255
402
384
296
310
328
304
322
274
381
238
347
374
267
330
330
322
346
326
345
257
270
312
235
355
338
351
285
300
315
336
385
333
406
303
273
365
337
260
335
387
324
294
293
325
264
352
366
376
236
340
264
351
255
377
377
290
256
270
287
326
279
381
311
218
293
266
354
242
271
289
244
311
331
336
296
210
313
370
389
350
312
284
316
363
308
314
317
329
354
333
290
363
330
292
275
412
297
301
285
258
291
284
284
286
327
333
287
235
176
352
324
286
360
228
319
301
360
355
326
375
329
303
307
297
296
332
380
293
333
335
284
290
323
296
288
296
279
256
250
324
300
304
283
377
312
362
269
298
374
327
267
406
240
268
295
278
320
418
297
319
344
254
279
302
333
375
310
264
343
353
356
358
378
287
388
322
265
308
348
323
429
296
287
354
386
338
254
420
329
401
301
365
286
332
363
308
303
337
264
314
269
282
229
290
291
291
319
285
363
234
405
306
341
345
297
291
321
307
390
408
256
392
323
370
440
288
294
248
341
374
316
197
291
220
326
363
292
296
308
262
352
209
269
289
333
334
349
277
402
345
385
327
311
316
359
329
278
295
311
305
383
336
267
322
319
316
231
327
370
299
321
231
370
285
361
404
278
306
370
300
343
282
344
308
288
293
259
232
344
246
354
298
244
341
367
275
274
299
262
347
383
335
332
356
403
246
299
309
198
338
310
278
354
294
198
325
353
293
269
299
322
343
323
394
350
263
281
329
355
307
400
292
324
272
324
326
321
308
351
336
278
348
287
393
399
266
286
278
259
272
312
321
258
334
245
256
355
329
365
300
324
319
290
303
328
273
333
336
336
345
300
299
403
341
325
291
246
272
312
326
357
254
336
296
373
309
293
332
268
304
236
288
407
276
299
343
338
323
373
314
405
293
280
280
229
382
324
284
350
145
276
314
356
332
348
330
333
293
330
328
327
422
287
352
291
319
311
331
314
364
273
329
333
281
314
274
307
324
310
350
263
344
269
282
362
408
359
224
331
239
307
293
305
381
333
329
340
347
338
306
351
309
351
373
306
328
327
318
295
261
281
295
371
325
366
324
236
282
366
282
293
363
284
279
284
191
300
300
293
397
399
332
270
358
364
299
390
331
325
284
324
326
378
274
375
309
331
303
320
274
332
250
431
307
363
325
340
260
305
326
382
288
284
329
262
304
292
299
369
381
290
305
287
363
325
383
341
304
323
360
300
307
355
363
287
360
327
269
313
377
303
380
312
351
278
384
396
322
317
358
275
371
302
311
279
349
291
337
322
368
270
333
263
298
337
311
193
339
259
220
333
348
333
296
342
261
342
304
352
330
369
283
373
289
355
297
264
270
287
329
313
314
378
238
370
281
377
287
334
275
318
291
321
301
295
342
317
403
341
312
351
345
275
400
368
258
351
285
254
324
344
274
349
198
302
279
347
252
257
288
420
346
331
364
393
375
391
413
290
289
405
311
283
376
298
308
271
290
349
333
312
260
353
292
331
289
328
339
240
232
320
380
391
315
277
209
264
277
261
293
293
337
289
281
410
298
303
314
196
301
324
411
307
335
344
323
299
263
397
259
453
296
286
290
293
330
267
332
288
353
341
295
325
333
281
273
394
435
309
205
322
338
320
323
306
327
346
367
306
378
336
318
298
368
298
341
339
305
288
336
313
333
291
342
336
378
369
328
302
326
383
305
292
335
410
318
284
250
279
281
339
357
356
338
319
295
306
292
300
357
322
297
321
260
340
351
257
409
262
268
292
276
261
369
316
293
275
266
208
371
286
330
378
265
297
284
311
322
248
248
358
227
265
279
272
271
364
334
302
307
252
294
249
253
344
334
278
204
323
342
241
330
333
402
363
281
177
334
351
342
285
341
394
247
244
306
318
347
356
266
372
338
288
329
355
281
249
282
377
317
312
276
235
250
279
374
252
348
373
234
275
319
343
382
303
360
319
250
306
282
311
406
270
338
270
289
282
307
318
326
360
344
302
281
364
384
293
327
197
353
335
297
325
301
292
265
354
286
281
278
283
364
379
326
305
334
345
299
351
289
273
369
400
324
342
296
358
354
415
270
264
350
291
311
324
291
347
272
195
306
316
279
372
263
425
269
334
324
355
315
338
322
350
414
369
356
253
237
320
329
254
274
219
416
340
205
331
313
305
347
340
310
372
375
351
358
362
223
364
336
311
276
271
251
326
338
302
291
337
326
300
373
300
336
306
299
367
340
365
418
354
293
365
356
266
241
308
290
338
359
336
390
334
296
428
332
359
360
312
304
287
255
336
305
361
178
291
304
302
347
300
318
350
296
222
328
319
341
326
323
309
351
326
432
421
312
359
320
226
304
269
285
361
338
320
381
252
297
324
348
328
343
315
286
413
357
359
350
336
330
349
289
340
205
370
312
308
284
354
385
380
307
351
330
368
307
339
357
336
356
306
320
315
336
291
362
323
385
296
339
338
393
393
353
215
426
330
320
211
264
318
289
295
331
281
272
223
263
350
314
306
246
293
271
400
307
341
362
335
235
247
351
280
385
299
347
260
251
280
381
355
356
351
349
232
288
373
249
331
369
304
322
292
261
360
276
321
334
302
353
358
282
381
407
283
369
304
265
186
365
345
248
362
242
351
336
262
370
247
300
392
301
293
286
274
313
335
295
298
417
314
300
344
352
322
388
364
425
272
352
252
279
365
296
339
286
300
309
313
358
292
242
295
199
375
339
342
338
297
332
444
299
358
313
332
287
361
319
345
340
371
305
276
259
328
302
294
385
404
319
348
361
330
338
204
389
294
372
345
238
313
346
353
287
322
297
341
291
346
328
302
329
327
247
305
296
345
335
380
375
334
331
353
323
321
301
364
327
378
356
289
377
288
281
352
419
239
322
341
327
285
350
328
350
352
267
371
322
400
360
317
351
293
325
343
267
306
313
300
318
344
314
323
298
248
340
312
322
316
287
270
323
328
392
277
377
364
274
339
261
301
383
342
368
342
181
274
277
390
280
285
285
303
347
298
334
295
324
346
306
325
306
365
367
317
324
312
315
413
259
211
240
331
361
235
361
302
381
324
345
251
344
265
296
336
259
233
316
316
334
303
269
287
378
396
334
294
258
339
392
297
395
281
287
380
367
352
293
347
281
295
300
220
365
319
345
309
263
289
371
331
367
350
362
298
280
302
333
294
381
297
267
397
280
346
288
368
275
371
316
278
359
333
283
337
283
297
344
395
338
331
250
341
327
333
321
342
292
269
340
284
375
243
297
307
285
285
354
382
318
333
288
361
417
319
338
299
336
372
346
258
400
366
351
343
326
241
302
269
292
349
308
254
266
381
346
344
359
276
280
415
272
318
319
378
294
261
373
277
351
284
407
333
309
296
275
398
319
324
310
216
322
216
415
363
377
296
288
253
347
369
303
275
281
335
332
354
286
352
336
290
308
379
314
332
357
308
404
244
337
379
325
325
336
325
308
339
326
322
281
318
275
312
294
346
298
290
356
314
288
361
284
296
276
349
374
349
297
309
288
356
284
350
327
322
273
209
323
380
277
366
339
382
335
338
226
341
308
276
318
275
238
327
310
332
398
246
228
415
314
345
291
316
336
289
353
301
383
392
385
383
294
271
223
336
301
374
219
273
298
294
312
210
327
354
341
364
376
338
310
345
401
364
283
253
339
279
318
302
333
335
417
344
286
230
233
342
328
278
391
254
384
345
431
344
267
232
286
331
318
299
310
341
347
341
302
287
310
304
385
352
341
332
361
301
206
324
392
241
324
278
350
340
290
301
281
360
215
330
167
270
331
332
250
276
371
351
322
305
276
327
360
256
263
243
263
293
321
373
338
256
384
308
270
371
311
382
277
292
338
310
395
399
356
375
389
311
286
347
323
357
364
315
350
349
246
307
307
331
337
351
279
338
427
316
349
321
338
218
312
385
380
368
336
311
290
323
295
360
351
356
357
397
283
317
325
230
347
368
331
364
286
383
352
362
336
317
263
294
226
253
381
333
271
369
355
310
362
265
363
256
322
330
284
307
348
301
347
327
222
404
382
400
366
332
354
314
320
363
381
264
327
356
355
344
272
322
383
305
320
340
354
328
410
362
310
336
375
359
244
234
343
286
259
349
219
238
343
318
326
314
334
306
357
308
334
349
306
361
278
236
321
332
302
369
342
322
321
323
326
336
275
370
321
306
354
296
368
326
319
359
259
319
294
341
261
355
338
278
338
266
360
327
339
336
291
355
359
313
285
321
404
290
372
244
310
334
366
382
306
246
277
306
202
287
343
314
344
319
368
247
224
299
274
276
357
346
401
334
330
277
326
363
354
344
295
354
362
313
348
297
351
304
336
302
236
194
327
414
342
295
411
323
321
412
307
238
284
316
311
258
353
385
387
247
277
381
259
321
296
245
342
317
376
304
288
294
234
312
352
283
356
363
299
363
293
359
222
289
385
352
301
336
299
263
343
291
381
263
298
373
269
273
276
336
356
319
321
302
372
334
395
333
327
264
328
300
302
313
244
359
299
337
360
276
326
317
369
289
333
198
337
279
331
288
369
303
318
255
259
346
221
353
338
375
254
348
416
322
225
318
409
420
240
347
383
388
284
380
289
327
286
360
293
342
349
263
313
218
324
336
214
309
316
290
202
388
346
330
324
227
356
327
337
283
244
269
263
355
367
263
287
325
373
325
303
236
354
358
306
324
358
353
356
301
304
321
279
326
339
299
324
393
325
344
330
301
304
330
259
358
351
373
285
318
392
299
328
277
336
308
338
273
350
370
346
260
268
325
348
363
346
408
309
332
342
282
295
289
407
319
316
247
298
311
221
297
285
343
307
396
336
415
258
333
318
293
344
332
315
390
235
267
323
254
278
299
343
288
343
315
330
321
347
327
357
334
308
256
376
319
283
332
311
325
356
305
320
291
342
316
330
239
332
289
354
375
253
380
309
297
275
322
369
333
373
234
286
327
323
305
345
297
384
287
277
350
327
340
297
326
273
328
284
279
370
355
339
288
284
204
237
342
327
287
372
324
285
286
348
307
278
315
300
299
328
345
336
342
326
329
322
339
384
283
276
286
350
358
379
368
279
268
300
342
303
314
233
315
332
321
306
324
317
258
344
306
297
306
420
289
331
254
221
258
342
345
313
325
296
250
340
288
364
262
317
316
323
366
323
260
331
347
281
348
370
328
388
305
300
303
308
303
260
300
273
368
287
320
272
284
350
312
287
312
320
273
295
263
381
326
381
273
229
300
271
310
360
356
373
317
259
280
340
341
304
322
310
331
309
260
360
376
255
237
338
266
246
291
318
317
258
292
302
330
311
333
414
316
310
276
344
270
311
315
399
287
274
252
303
308
310
312
324
328
285
340
331
366
374
354
310
347
262
309
300
230
345
242
255
357
255
331
374
318
374
314
327
306
257
191
341
260
290
332
312
223
255
278
288
360
355
355
321
332
353
360
293
355
328
279
297
410
330
332
348
380
289
373
360
302
369
314
298
289
254
386
336
332
255
290
274
368
326
348
349
298
297
326
309
253
409
318
356
266
334
252
364
316
351
283
357
355
341
305
348
402
359
313
320
311
350
382
273
273
287
233
383
290
370
250
358
350
244
348
315
260
326
296
244
243
357
305
275
300
350
303
352
249
387
299
328
351
332
266
264
258
313
374
272
379
275
364
266
298
300
289
402
253
254
357
308
358
307
271
291
293
221
386
407
385
359
231
289
242
322
273
307
320
276
272
262
259
244
368
337
316
294
303
324
332
319
334
318
347
367
344
255
278
398
345
365
314
323
303
370
361
387
329
339
317
318
378
330
329
345
328
274
265
328
348
387
359
349
307
346
235
333
365
324
359
247
258
339
316
280
240
246
236
345
319
212
326
317
369
328
330
325
246
283
285
408
233
271
365
214
354
296
277
326
375
270
218
357
293
341
309
344
267
276
338
298
295
236
317
340
322
331
216
412
279
279
360
320
227
336
315
305
330
322
335
351
253
345
358
374
353
443
305
308
368
373
289
298
346
326
344
275
337
309
322
309
326
331
335
280
322
258
287
342
352
402
281
232
255
391
258
250
245
343
332
271
309
292
267
291
216
350
243
287
346
339
308
233
328
250
350
295
256
271
279
291
331
315
342
353
393
378
292
399
255
341
241
230
391
218
330
315
389
368
359
286
313
307
333
334
332
371
417
329
300
334
228
252
341
363
347
287
394
304
349
335
329
336
308
297
332
339
265
288
342
344
409
325
302
326
317
260
309
367
244
385
297
413
361
314
309
353
296
280
313
347
335
298
271
346
262
331
302
395
276
288
333
248
292
291
311
314
270
325
346
402
297
250
347
325
306
306
317
310
302
335
269
356
338
219
278
346
352
275
337
326
306
317
410
288
345
396
342
361
368
316
368
259
290
358
231
276
369
368
305
287
320
242
355
378
344
305
241
342
288
342
360
214
369
350
226
340
308
301
338
307
285
350
377
369
357
219
281
353
336
331
302
371
320
419
284
362
317
346
303
273
396
322
270
305
278
338
268
308
354
423
310
306
298
348
358
333
332
349
409
311
355
284
249
315
292
289
335
227
325
328
338
301
322
293
321
274
282
290
264
336
325
297
262
338
351
301
289
260
366
256
341
330
332
295
252
393
238
223
334
274
269
337
246
302
333
295
299
229
285
313
347
314
359
394
381
242
277
332
293
382
329
323
304
298
301
323
276
321
330
357
324
367
281
322
310
368
316
277
285
326
339
347
329
334
333
340
311
331
315
375
324
286
306
315
311
347
320
360
247
377
316
290
353
270
381
341
331
285
343
378
265
248
288
352
324
276
297
261
289
303
328
330
390
381
334
291
278
308
373
305
316
331
296
273
389
355
294
226
228
322
352
339
330
376
362
368
238
330
237
334
347
353
345
286
324
260
311
235
378
362
335
247
352
320
325
362
309
374
247
275
375
233
252
302
391
349
335
303
279
342
336
332
286
301
319
330
300
366
359
259
332
366
347
406
367
331
356
338
306
369
247
336
242
302
265
234
302
323
338
364
353
313
313
290
328
241
347
376
342
373
265
350
330
313
282
351
332
356
347
236
328
356
352
351
296
392
340
396
322
360
386
290
304
300
317
329
285
376
335
343
300
316
261
283
286
280
365
307
361
359
249
350
379
356
244
328
327
336
233
316
325
327
347
362
283
345
288
323
327
302
373
312
329
337
344
398
255
261
358
275
420
355
361
406
236
280
325
387
348
349
311
310
351
261
299
343
358
386
392
294
343
269
440
284
261
332
311
311
351
209
331
361
356
346
304
274
284
349
345
306
331
343
267
276
291
331
311
324
351
300
354
277
244
335
330
411
294
410
322
366
349
343
293
354
298
307
392
331
329
311
350
241
375
287
286
296
258
283
255
400
316
319
313
284
260
346
312
291
286
378
238
284
355
338
326
324
378
288
345
304
312
387
306
367
301
222
316
375
358
285
339
327
288
341
258
319
262
344
334
367
349
310
354
247
342
266
283
324
347
376
346
254
291
375
265
351
338
377
231
350
367
372
285
251
356
279
336
375
318
359
370
333
274
356
265
247
312
309
357
403
311
240
293
317
275
272
365
381
349
361
206
291
300
242
313
261
308
370
266
396
262
359
336
307
318
332
271
212
291
325
367
323
351
316
285
305
287
344
419
333
303
327
297
268
383
299
369
239
320
345
310
386
296
358
319
333
364
328
315
296
377
261
356
349
354
326
318
300
315
304
283
323
369
340
362
294
370
303
279
309
265
285
294
245
367
374
291
296
383
297
244
400
290
352
330
282
383
343
314
325
349
387
329
320
308
304
366
259
359
290
395
300
319
299
300
379
316
351
250
368
303
322
276
431
379
403
372
313
397
311
393
306
353
327
265
267
316
355
314
332
239
268
402
297
326
385
333
314
392
355
321
368
260
246
357
321
263
238
290
270
237
332
266
348
381
412
343
278
321
306
264
383
270
392
369
362
283
278
287
298
405
261
305
207
353
391
332
349
317
328
280
348
293
305
265
408
332
311
309
215
342
307
369
332
378
301
333
325
302
253
393
363
395
364
312
295
322
299
276
289
431
291
299
350
347
256
301
258
265
279
410
303
313
312
322
258
316
202
362
254
282
341
342
233
347
367
265
296
263
285
236
338
328
291
307
290
252
383
333
347
391
337
441
367
298
333
259
289
347
299
224
270
373
307
342
287
258
337
385
313
357
291
345
306
413
371
302
306
291
360
307
215
338
282
327
332
363
359
248
291
312
352
340
339
317
316
328
291
356
296
349
314
334
252
363
303
312
230
346
319
276
312
235
392
273
419
198
332
357
334
308
301
257
347
298
312
273
311
388
296
308
252
299
332
275
285
378
271
427
398
251
283
410
314
353
362
278
330
300
291
291
344
308
385
359
350
318
364
352
359
361
374
328
374
318
353
361
345
261
308
315
263
395
319
285
306
289
374
351
298
351
337
281
297
331
316
311
316
390
314
266
229
302
267
276
256
315
242
329
337
262
350
309
348
224
349
363
261
365
280
339
298
366
293
338
290
349
254
324
354
297
349
312
301
295
272
281
317
412
367
383
276
333
331
386
278
251
261
289
266
277
393
283
320
345
337
326
267
359
364
372
294
350
274
408
352
301
303
285
358
300
282
307
367
393
326
306
349
321
354
371
343
293
352
287
283
305
283
300
363
219
395
307
291
346
350
362
319
298
277
324
349
319
285
250
292
332
385
351
287
301
200
238
310
314
325
307
342
314
296
310
293
301
262
371
366
352
312
372
338
348
296
325
330
291
389
278
293
295
314
322
246
310
253
349
326
266
342
274
281
232
304
334
400
285
242
279
371
385
342
338
332
323
331
348
338
311
256
364
402
325
346
307
325
343
370
343
319
284
371
490
374
303
260
220
343
313
315
365
286
326
384
303
236
311
308
282
353
323
375
206
379
310
283
275
315
298
316
282
305
296
337
302
313
377
337
307
399
340
269
352
283
362
306
315
353
316
370
254
398
274
235
374
251
254
363
310
353
309
319
365
323
387
332
289
305
324
267
335
335
300
347
281
341
320
314
292
281
382
377
300
292
384
268
289
343
311
388
361
276
271
299
353
292
347
277
390
322
318
275
351
403
330
275
276
346
336
386
310
348
321
304
356
225
281
311
274
363
245
359
303
339
415
291
312
361
272
388
346
374
333
361
233
364
343
375
361
341
305
298
246
253
442
371
315
277
369
352
330
313
274
258
342
325
311
209
390
331
331
264
343
325
313
303
337
287
274
317
310
277
319
227
261
251
334
282
317
248
264
322
405
346
330
299
272
321
381
340
259
235
363
297
328
271
329
346
307
477
277
285
332
262
340
422
374
331
277
317
349
190
266
317
327
322
363
311
300
384
286
333
269
322
328
234
241
323
307
281
300
298
343
336
302
351
290
263
213
308
333
323
312
320
292
356
316
374
345
376
219
372
289
304
359
261
377
268
342
374
255
276
395
308
372
346
296
288
291
299
335
322
355
364
352
316
325
356
217
298
295
276
227
304
274
383
315
322
356
275
329
272
343
390
340
393
267
242
379
305
338
279
407
259
347
291
325
290
322
250
201
270
277
330
302
311
326
338
325
284
347
352
323
298
283
301
325
327
346
339
270
328
328
296
258
315
321
274
326
367
314
234
369
264
333
334
359
323
369
331
280
397
368
418
299
252
238
343
344
282
245
380
220
316
354
372
246
363
236
330
312
294
325
309
295
380
308
318
343
335
309
364
269
233
379
275
320
343
252
308
323
284
339
341
269
333
366
345
353
281
307
371
285
412
260
298
290
229
293
360
296
335
298
284
301
248
386
381
338
296
330
295
314
305
304
302
285
311
288
348
296
334
347
414
255
308
284
269
331
301
336
355
387
309
330
398
382
309
276
232
244
281
288
337
341
330
357
327
324
229
375
340
351
292
241
345
315
315
334
255
327
261
262
307
346
464
323
264
287
315
335
345
369
321
285
388
311
337
316
328
322
287
311
362
279
338
387
229
340
286
343
306
335
347
246
361
306
360
256
208
296
322
279
327
290
331
342
333
358
279
384
380
223
349
343
335
283
295
332
342
329
337
325
244
278
254
305
327
317
306
344
359
363
398
387
289
221
313
315
321
367
314
359
352
236
362
245
219
277
260
283
318
336
277
274
350
415
379
339
306
375
367
336
352
316
360
317
303
390
259
272
268
302
352
268
295
395
422
306
303
371
288
283
326
290
324
325
278
227
266
365
309
385
381
308
296
313
361
346
306
258
352
330
327
315
359
245
290
346
352
298
340
350
332
367
321
294
295
346
275
350
322
328
308
250
351
348
341
272
397
334
304
272
302
299
327
283
294
281
292
316
317
323
340
325
268
348
271
236
280
304
366
302
299
315
380
305
379
333
398
355
332
263
274
348
313
296
377
311
250
261
220
262
335
395
276
325
291
320
253
229
325
358
283
341
309
320
289
305
347
286
269
255
320
231
300
376
333
308
362
293
342
254
346
372
285
258
263
307
269
416
323
313
268
283
338
335
302
333
267
268
266
272
286
326
303
227
337
344
374
359
272
385
345
374
301
286
271
194
338
297
287
269
303
346
387
304
371
299
316
329
358
370
372
304
312
361
281
318
249
372
322
270
317
329
311
390
222
404
328
388
295
271
268
336
335
369
245
316
312
251
304
296
351
343
288
391
248
316
321
367
311
385
290
317
322
318
379
375
313
352
332
323
246
348
387
266
326
328
320
303
257
348
319
245
367
344
317
309
261
345
345
356
279
342
314
332
244
348
296
295
354
357
311
225
359
352
320
246
283
285
374
330
251
322
398
301
277
324
314
328
339
271
265
312
208
246
374
307
354
254
316
316
342
340
298
275
256
302
323
366
308
302
306
301
310
336
374
281
288
277
318
379
354
326
346
310
318
382
269
376
300
320
330
297
349
312
220
281
338
388
312
356
309
312
326
293
291
319
360
245
386
242
344
196
338
333
335
310
322
324
334
361
340
324
286
389
314
357
420
361
245
272
332
316
330
287
300
333
372
280
320
329
271
256
335
331
310
272
287
241
294
258
432
367
306
338
302
275
351
357
249
358
278
338
325
255
238
303
339
327
279
390
305
364
299
396
371
333
310
367
310
394
295
369
244
267
362
291
262
259
262
309
364
337
327
396
305
315
385
397
314
216
329
338
257
305
331
344
294
300
339
364
348
297
344
364
234
301
368
319
368
404
308
367
327
340
223
326
272
333
301
342
285
251
314
299
376
351
318
336
324
419
359
338
334
351
323
332
283
260
269
324
264
292
341
300
317
284
278
268
309
265
300
327
285
396
324
388
300
224
313
319
353
263
374
296
289
282
265
315
344
257
306
287
320
343
262
387
314
337
307
277
290
397
290
335
307
365
313
265
378
365
297
314
259
307
292
368
327
227
338
231
352
243
252
379
313
252
298
346
371
325
352
296
365
269
266
361
295
254
268
317
352
262
352
288
350
279
380
315
298
300
288
299
274
296
325
316
339
278
231
317
402
285
341
226
186
184
279
297
263
329
347
333
212
369
242
321
357
391
249
333
318
318
388
349
335
221
386
371
292
349
323
362
317
353
329
271
346
351
373
383
293
266
260
296
262
240
342
374
284
335
321
387
367
405
244
366
345
414
338
331
307
320
281
309
328
320
381
295
412
310
279
327
291
302
310
317
303
372
347
313
286
235
376
238
344
362
342
382
317
346
303
317
373
289
325
297
304
359
346
380
320
325
315
354
324
345
346
257
364
242
246
351
318
284
373
324
421
391
341
376
245
252
314
302
298
425
294
271
305
307
359
241
309
346
287
299
388
365
314
330
303
335
352
292
298
314
363
251
307
396
183
293
282
357
264
275
347
297
255
306
286
294
329
298
278
254
280
305
320
335
308
268
311
334
314
330
303
305
269
290
305
357
341
286
308
310
294
289
228
255
282
346
277
338
311
378
297
305
301
368
283
366
255
302
363
366
355
325
309
423
288
320
293
284
379
274
234
271
358
390
306
327
311
308
355
330
304
292
308
337
354
342
287
347
268
379
361
299
313
302
325
342
377
393
268
376
253
231
328
323
303
215
242
330
338
281
368
372
315
354
359
286
336
286
331
314
299
332
259
298
346
315
247
301
271
380
314
325
373
363
313
354
350
304
287
320
279
323
329
373
335
309
284
324
314
302
331
269
326
348
355
321
355
309
371
297
295
321
403
341
380
303
312
312
357
300
265
322
292
301
260
281
293
263
272
312
351
317
368
284
358
353
280
377
327
316
303
344
353
298
337
361
288
283
331
334
393
400
370
361
295
242
358
344
304
291
319
345
305
301
294
294
345
347
301
308
247
353
384
289
298
351
394
363
355
348
300
353
317
299
313
273
340
284
351
369
317
388
323
300
363
262
360
363
353
367
348
314
351
353
316
282
373
363
286
269
327
316
329
331
336
347
268
302
320
297
328
333
324
334
349
310
242
315
346
303
262
290
290
264
313
337
304
266
367
208
320
394
334
328
289
255
311
321
321
336
291
275
334
353
313
402
400
272
350
296
345
302
325
304
320
318
285
299
361
284
318
339
340
359
385
320
271
334
369
290
366
221
274
334
369
283
249
265
325
275
350
354
295
276
368
299
262
318
271
270
320
346
281
293
318
350
390
321
308
245
342
337
308
328
249
404
302
276
244
335
293
273
237
336
318
311
328
269
332
285
260
297
321
311
304
293
324
310
295
356
342
310
255
363
331
228
326
343
268
280
288
407
343
307
303
308
259
318
337
338
393
278
281
346
323
337
280
298
338
345
311
393
347
246
271
331
304
320
189
376
261
346
234
349
345
295
277
330
263
358
275
358
319
309
310
262
240
327
369
351
308
324
363
344
293
238
323
348
299
328
265
250
361
325
362
298
316
372
363
371
321
344
272
294
321
308
364
342
305
293
381
367
271
307
321
228
295
300
297
314
235
290
235
337
275
307
323
298
275
351
264
301
253
348
325
222
346
381
320
347
302
293
302
340
426
308
330
297
365
405
298
281
376
400
343
254
319
372
279
357
342
321
287
345
273
229
328
284
312
335
336
338
300
347
355
325
316
296
371
309
285
335
298
274
342
307
314
344
276
279
345
296
329
303
322
367
267
361
353
323
271
309
294
305
308
297
253
327
319
336
351
283
336
344
391
283
315
322
306
293
260
358
250
353
222
214
351
306
269
274
383
286
286
275
333
237
336
388
287
243
313
294
295
282
293
266
292
297
301
286
416
298
252
276
341
349
321
291
280
280
342
227
383
269
318
350
346
298
312
329
282
248
270
354
337
275
362
263
366
371
352
349
339
328
402
328
365
314
328
360
379
239
348
275
333
286
346
263
346
322
355
349
209
361
330
280
314
270
353
270
284
267
363
259
396
341
370
301
404
338
248
169
247
281
345
291
282
244
256
285
297
253
277
294
291
382
350
399
337
374
335
262
284
305
296
287
326
341
344
298
284
286
258
373
248
349
298
321
296
255
326
329
320
330
362
278
348
295
319
429
336
341
320
335
386
352
360
269
242
318
345
358
313
371
361
383
347
275
304
320
408
324
324
243
363
258
333
353
360
379
278
305
352
268
377
289
336
355
353
428
353
285
373
358
314
378
374
205
338
276
308
289
272
347
237
320
347
308
301
349
261
288
342
315
307
323
295
279
280
290
341
361
282
310
385
349
347
268
280
329
262
301
312
310
287
335
297
339
291
265
312
303
354
330
296
354
348
312
296
270
302
380
310
361
284
289
382
235
315
244
290
326
278
361
287
280
303
302
347
337
316
304
309
389
312
271
351
384
320
370
242
329
364
318
342
324
250
332
342
274
344
287
260
292
384
289
339
340
319
303
272
264
394
360
284
394
310
344
339
296
353
322
323
346
282
281
315
299
331
267
323
346
345
348
266
230
318
302
296
384
351
262
297
351
241
227
400
379
372
282
302
275
324
284
381
331
314
297
338
363
248
321
297
307
314
264
351
283
318
214
329
299
285
307
311
309
353
281
346
344
281
333
276
309
360
328
368
278
267
327
358
177
312
371
309
310
235
341
318
350
335
338
331
325
384
332
271
303
330
342
331
295
350
288
282
317
289
298
386
280
318
365
335
271
235
271
319
332
399
302
287
371
378
377
311
277
324
372
279
350
318
275
221
330
286
272
376
328
323
268
265
249
281
259
328
342
358
324
290
352
327
360
324
374
352
328
220
245
378
388
354
316
337
257
317
388
334
287
211
229
344
299
267
281
345
334
322
239
228
345
279
344
308
276
316
371
268
354
327
256
252
297
353
354
370
336
297
350
365
300
332
371
337
347
353
338
358
330
236
284
336
340
282
355
225
335
329
335
275
282
290
311
365
348
338
379
299
385
293
335
295
348
374
308
409
286
313
380
233
338
328
290
354
229
346
274
306
411
312
349
364
257
378
288
257
333
321
313
319
301
366
317
327
252
347
384
254
274
346
369
381
344
379
338
365
375
281
207
275
323
366
363
324
361
291
286
339
297
303
211
292
333
315
397
301
320
314
209
242
342
254
314
269
309
330
284
345
356
326
409
327
297
298
288
382
236
348
231
339
238
389
320
267
356
285
310
345
270
326
311
329
376
324
366
300
331
295
319
334
365
335
355
350
285
350
284
270
347
289
336
338
284
328
354
348
384
304
316
332
282
348
359
321
334
407
353
311
358
226
261
317
324
313
360
309
355
360
283
360
274
352
379
345
348
305
247
357
337
350
316
294
283
429
333
303
305
336
365
336
332
258
308
255
379
268
363
324
403
307
305
287
373
370
354
366
413
334
369
380
326
312
323
305
223
378
254
349
260
373
307
280
329
285
307
245
239
395
369
289
254
300
249
338
415
347
354
348
392
291
202
287
270
293
311
401
351
341
341
351
353
342
277
291
341
360
338
335
369
304
310
344
259
347
364
352
343
360
238
383
354
333
330
290
378
323
280
357
234
303
237
275
274
324
379
321
328
357
259
251
295
324
288
272
349
292
408
295
339
398
252
398
366
315
368
254
316
385
348
339
301
356
331
267
320
366
240
312
224
310
274
333
300
324
295
297
323
364
352
372
355
388
399
403
244
351
388
307
335
313
358
331
316
266
373
332
348
337
290
318
390
357
353
279
294
251
336
338
246
313
308
300
246
344
335
327
297
289
357
274
338
357
341
347
286
349
319
368
366
298
301
336
316
305
353
306
313
352
318
299
382
279
313
283
279
262
397
347
265
303
369
257
390
376
265
323
379
303
357
286
303
308
338
352
384
333
229
259
324
303
343
323
318
230
357
265
311
322
316
342
277
304
396
345
346
288
348
388
304
271
238
261
312
333
287
301
279
294
373
271
313
333
292
310
335
324
313
335
320
310
287
268
354
289
416
317
336
388
247
352
303
285
361
300
307
340
371
320
278
197
329
296
296
344
277
357
342
286
321
329
329
353
273
331
333
307
325
298
319
250
339
330
343
379
268
336
283
259
275
399
338
311
290
275
328
342
273
336
293
336
334
297
208
351
329
243
338
323
292
341
261
384
290
271
264
268
287
333
302
408
271
296
334
291
311
261
274
338
359
300
228
281
372
286
397
336
404
304
346
258
257
329
367
303
331
343
319
353
338
211
283
309
333
263
316
298
305
334
340
361
257
249
333
266
240
328
306
277
312
298
376
322
386
273
320
428
423
367
278
251
338
299
266
306
267
288
254
246
250
296
292
301
306
235
330
254
294
338
337
293
325
359
310
273
320
279
378
285
447
325
364
359
340
283
262
324
410
313
298
302
279
250
324
415
331
296
394
331
298
384
310
313
327
302
294
359
359
261
308
331
266
268
280
407
375
389
289
361
393
326
333
304
306
331
240
339
349
344
341
199
366
208
297
309
255
342
291
291
267
275
387
336
321
339
413
278
312
358
402
338
301
314
298
242
278
282
206
410
297
340
314
341
327
262
268
292
249
368
343
313
315
327
299
279
328
342
319
251
348
288
249
262
316
316
280
333
369
254
388
297
345
379
355
264
306
343
335
327
342
412
387
269
291
290
331
351
344
340
310
327
306
287
288
311
332
317
266
431
297
338
252
353
296
299
280
285
349
366
247
364
333
359
399
319
339
357
295
337
394
387
322
207
201
271
295
239
337
381
312
313
351
342
296
244
312
296
282
292
326
284
352
304
263
349
339
258
357
324
358
359
332
315
330
380
282
357
318
352
427
284
384
298
311
337
326
333
285
289
323
330
351
315
368
319
330
298
351
360
330
289
339
324
317
266
297
377
321
351
318
397
386
334
369
311
348
295
415
282
377
364
350
316
318
402
385
336
350
318
305
316
296
298
318
248
286
414
327
298
400
270
299
296
289
243
387
349
278
350
309
315
388
332
284
300
289
369
296
391
248
313
328
313
317
286
242
333
255
243
349
327
320
353
335
307
437
388
387
359
288
310
358
294
297
273
252
376
262
342
380
287
347
239
271
307
269
286
352
299
294
332
226
337
329
308
424
414
367
336
323
365
326
284
297
343
296
302
254
343
280
291
321
255
394
260
387
286
333
312
294
317
319
354
338
351
262
331
291
261
345
368
317
375
318
293
380
300
311
304
358
302
335
365
468
286
272
275
339
318
316
335
353
352
297
264
338
256
324
408
339
286
312
307
287
338
307
330
348
280
258
369
287
320
367
296
361
241
328
336
330
397
355
398
271
317
315
318
350
338
319
287
310
348
289
313
375
325
329
282
222
225
299
293
305
337
356
338
311
328
296
308
284
394
342
353
300
340
254
338
266
359
265
316
276
279
371
235
302
307
319
362
275
378
312
318
332
400
340
235
286
350
338
318
319
345
271
328
275
330
353
290
265
267
379
261
267
220
348
318
388
324
270
295
292
321
284
297
322
328
331
342
309
234
339
302
275
265
311
238
283
285
345
407
350
314
367
414
299
259
313
374
292
282
268
351
356
385
320
256
354
305
406
284
345
286
376
265
316
324
337
370
334
270
296
277
318
291
236
285
316
317
355
265
331
409
301
281
321
262
340
318
344
287
297
347
323
329
394
378
295
294
315
317
321
385
354
177
365
294
391
195
312
313
305
313
302
231
320
303
346
266
295
344
382
346
397
266
375
270
382
307
252
303
316
370
299
354
378
287
325
361
320
309
330
348
353
349
296
335
315
305
380
291
185
361
308
245
440
295
335
316
245
345
305
272
324
330
307
301
353
312
330
296
388
332
289
292
336
278
372
336
301
316
317
286
335
252
235
350
324
335
291
284
310
321
312
330
293
280
324
292
305
304
331
271
360
351
313
289
389
282
283
255
296
311
246
347
358
331
347
353
345
286
333
393
354
306
340
375
424
342
370
288
328
339
270
300
350
364
294
276
306
277
374
209
320
342
271
338
258
356
251
307
322
359
301
289
322
355
320
264
331
281
382
337
239
232
419
322
351
301
345
328
278
338
359
269
216
309
338
276
323
329
364
277
373
326
299
384
376
275
355
345
341
386
291
366
355
364
400
346
326
350
311
293
408
246
313
363
379
303
329
295
251
270
307
316
341
354
371
262
370
357
297
354
363
334
381
314
357
333
279
294
291
319
336
304
317
237
423
174
254
285
308
312
362
309
336
345
301
374
335
305
369
371
279
311
309
369
245
322
296
317
345
283
328
290
381
321
321
420
295
280
240
269
282
299
297
297
363
349
295
317
316
351
336
322
378
282
297
343
279
309
252
249
276
353
345
325
304
337
276
297
339
313
283
425
298
220
299
349
270
276
298
368
258
237
263
313
301
330
315
373
281
304
340
304
343
351
348
258
354
391
331
272
297
308
314
221
319
261
304
355
310
283
270
267
344
362
285
289
345
397
315
302
252
305
315
211
318
265
300
318
287
289
335
348
340
289
344
273
297
279
301
317
261
323
343
336
272
319
281
300
370
347
293
340
309
298
287
295
283
346
321
312
340
360
383
358
472
331
336
355
383
262
345
276
326
307
331
242
350
277
293
379
400
399
349
256
365
358
324
290
340
278
317
311
351
388
256
364
321
306
295
327
318
382
253
419
303
307
310
311
283
337
311
352
288
321
290
253
331
388
299
320
205
314
349
319
309
395
311
223
357
302
315
297
243
303
313
384
325
304
301
370
377
323
350
323
385
321
375
273
322
259
383
350
275
331
322
266
329
387
318
326
344
314
365
267
267
356
380
281
323
384
370
328
323
350
286
271
281
323
264
371
249
363
380
400
272
307
297
285
263
337
401
363
271
362
300
294
361
250
277
268
305
347
332
333
273
194
352
325
351
226
319
276
243
368
307
346
341
292
265
376
314
368
254
325
278
252
286
196
368
333
274
347
239
283
340
340
365
332
345
335
282
399
292
234
185
342
316
314
306
311
279
335
313
389
328
405
375
300
413
281
279
270
262
266
333
280
331
334
330
292
288
371
366
173
425
267
280
353
338
296
331
254
289
304
325
306
306
370
203
343
360
361
279
361
310
372
327
319
317
363
320
335
305
369
360
275
342
319
249
324
291
285
216
246
272
254
290
397
301
280
362
374
303
276
340
322
345
290
318
347
362
306
248
356
366
352
261
316
331
273
345
342
299
326
347
301
344
350
351
279
317
291
376
320
259
257
295
293
355
313
226
404
377
321
312
276
295
358
275
326
363
337
373
315
285
332
306
288
317
239
320
276
234
366
352
247
318
315
324
280
410
238
409
332
313
326
302
335
286
286
349
355
242
212
235
372
351
388
318
297
256
326
309
298
263
283
339
383
362
251
283
424
302
323
260
309
339
248
314
357
363
293
258
261
217
279
276
264
241
251
315
262
216
374
221
268
320
332
339
301
248
339
319
391
266
373
330
372
300
265
347
373
385
418
306
345
236
349
230
410
395
294
258
301
370
403
333
329
252
367
406
328
373
282
330
324
219
304
337
384
253
291
355
283
364
368
386
302
294
322
249
299
330
371
318
321
303
366
330
337
323
278
321
269
358
240
322
310
374
424
263
261
220
333
313
324
396
289
314
331
271
401
276
305
296
298
295
363
296
310
415
343
423
371
378
327
338
314
316
302
352
348
284
334
318
327
345
243
249
355
301
383
298
333
335
283
326
273
332
288
268
352
372
266
367
323
308
282
312
347
339
335
261
326
271
318
389
326
326
294
298
335
322
355
374
352
304
374
405
265
373
369
283
275
338
293
316
277
387
324
303
342
382
393
302
306
312
269
264
312
372
285
312
287
336
343
262
341
359
338
267
270
281
364
264
289
300
294
350
319
265
291
290
385
272
337
240
365
324
338
361
265
267
352
327
318
259
280
357
351
310
344
360
382
309
328
355
349
291
266
240
302
312
284
310
331
283
322
301
309
277
271
311
269
348
296
323
315
320
326
255
339
345
353
377
281
260
367
324
345
369
336
317
271
267
313
361
364
271
304
242
342
382
220
310
352
307
311
310
349
324
342
298
350
437
346
308
362
321
303
357
324
300
319
306
319
332
228
348
334
295
320
270
355
384
308
320
310
265
285
353
318
407
278
255
302
330
311
306
390
361
289
278
308
304
307
390
358
285
345
281
319
405
363
301
338
333
352
172
338
269
307
348
309
314
330
362
394
394
281
372
274
348
330
294
285
282
279
357
310
354
354
339
268
359
272
382
281
291
315
351
323
184
376
292
330
383
303
322
326
309
341
316
307
323
396
379
276
342
230
293
362
327
287
368
401
399
257
342
218
319
327
322
257
282
378
391
277
302
263
324
217
284
308
377
248
263
322
354
296
334
368
322
326
323
225
348
297
326
287
292
387
335
297
367
356
381
272
280
313
320
314
310
357
357
351
308
297
310
401
332
330
296
360
356
370
358
378
205
355
235
301
367
245
336
370
302
328
323
240
399
394
314
255
255
279
274
276
338
363
206
275
316
325
372
290
320
353
309
403
253
366
282
244
284
325
276
290
326
301
252
307
370
251
257
334
296
273
321
259
340
324
305
339
287
334
268
307
364
328
317
289
327
346
363
333
333
325
370
279
290
322
354
276
281
280
263
333
257
359
325
270
330
303
247
356
258
370
328
308
254
290
273
353
286
334
400
305
303
366
354
314
326
302
405
375
308
280
372
369
255
326
326
350
306
343
312
294
294
261
288
346
372
286
278
286
352
298
249
240
296
338
365
331
277
257
297
378
338
361
315
288
297
276
338
325
371
270
339
253
347
259
319
357
265
247
421
318
305
354
300
318
200
336
291
239
319
302
359
295
339
271
260
314
387
321
286
264
308
315
329
259
357
271
307
340
317
315
271
345
285
315
363
360
347
269
270
330
286
338
347
314
337
267
316
328
342
366
341
323
284
323
420
273
320
387
277
292
271
291
291
303
293
295
276
264
256
363
360
273
329
278
279
342
364
316
329
288
359
356
314
334
268
341
280
284
283
312
302
406
306
310
291
337
345
347
310
393
354
377
263
323
259
265
330
323
238
275
295
346
324
329
316
274
305
274
342
323
343
301
289
319
316
275
366
308
270
324
266
318
408
220
323
306
312
418
341
317
312
346
290
284
273
296
299
293
301
396
236
306
324
412
287
344
332
398
356
273
297
305
310
362
344
372
289
321
177
290
258
383
346
311
328
298
371
390
281
362
268
302
194
311
300
253
310
296
325
276
268
294
343
307
381
315
327
285
263
336
320
292
276
348
397
397
316
262
293
292
383
327
359
291
299
324
311
272
292
344
374
287
299
254
382
288
350
335
348
300
362
355
373
331
287
338
283
335
342
262
224
242
235
324
255
317
443
241
255
341
299
416
385
294
289
366
381
307
363
324
386
352
306
345
279
280
324
299
365
281
370
276
287
328
307
392
361
317
358
235
335
343
329
374
360
323
256
233
335
254
335
414
339
279
284
324
315
259
389
330
256
322
285
312
329
321
295
302
322
272
331
394
297
259
390
331
321
318
361
327
330
270
302
274
289
272
304
309
315
248
335
220
163
218
272
391
311
321
282
374
301
363
338
342
255
291
330
294
355
269
338
302
371
259
208
270
346
299
359
343
375
298
277
295
280
355
377
297
310
290
354
278
329
343
348
264
307
313
309
361
308
388
383
313
328
304
372
256
321
361
284
357
372
274
279
352
285
337
344
350
297
366
229
293
303
266
209
348
296
336
297
238
333
303
298
342
375
343
361
327
303
212
250
223
302
291
236
260
252
384
270
348
282
281
366
329
362
340
310
340
303
225
336
309
338
331
297
352
313
361
340
253
339
403
284
259
382
238
299
310
331
358
276
339
281
288
249
306
305
280
339
263
331
293
295
339
251
314
344
367
307
386
324
303
307
341
371
304
271
353
325
382
345
312
367
298
296
282
270
335
299
295
305
313
267
342
337
365
254
442
288
260
369
362
335
311
233
293
262
277
374
352
333
346
342
314
331
329
343
280
317
387
298
209
304
287
329
205
344
297
223
321
316
311
241
262
298
336
259
318
348
294
374
364
293
267
386
330
294
317
241
345
279
389
311
208
266
333
353
222
268
336
335
291
319
328
299
383
341
264
293
382
382
313
310
290
291
270
244
333
300
299
253
307
291
388
289
339
265
350
342
328
318
424
369
266
298
204
334
237
279
328
360
292
342
373
297
276
348
234
351
370
338
363
288
438
259
268
274
319
328
355
247
308
246
356
317
378
276
304
282
292
372
358
322
253
299
384
277
318
368
348
315
373
324
351
394
299
330
355
307
295
322
302
368
328
289
299
324
273
374
323
310
270
304
320
303
372
292
344
291
317
280
286
370
365
304
352
348
273
321
270
362
334
386
315
303
186
248
352
357
266
234
320
378
332
407
347
325
307
334
300
400
350
276
287
318
326
307
403
243
350
278
274
344
295
348
259
393
318
408
329
299
238
331
315
348
366
331
272
348
296
286
340
281
303
316
356
310
353
235
319
352
310
319
338
290
324
406
299
333
338
320
343
325
359
290
325
423
311
372
336
350
338
245
324
324
299
344
329
313
319
348
309
305
320
321
306
312
339
269
274
314
367
260
311
323
293
330
378
325
212
245
254
292
307
314
269
306
356
170
377
350
304
257
339
326
298
307
271
346
302
326
300
289
316
289
359
306
248
364
283
300
224
337
294
332
383
276
220
322
277
341
299
265
279
319
311
318
304
273
308
309
316
242
327
346
321
322
236
352
253
246
367
328
336
296
281
255
327
346
271
278
311
354
286
286
361
362
358
212
272
356
284
327
278
289
301
294
300
307
300
357
343
250
429
323
321
237
258
337
276
329
288
285
276
289
315
293
366
299
389
429
273
340
320
201
296
275
333
342
331
346
324
224
275
338
296
292
315
282
297
280
315
313
345
324
274
363
363
284
257
317
276
285
337
340
282
357
178
326
302
345
328
273
279
364
310
348
297
355
341
328
332
324
310
231
294
319
315
337
352
398
313
313
278
249
404
300
356
380
335
282
355
258
273
318
310
325
282
275
255
274
342
310
340
358
230
332
354
346
248
343
296
294
264
279
342
307
351
274
302
408
353
351
329
259
283
356
279
347
263
319
305
289
250
399
364
294
360
360
316
330
305
271
348
326
318
320
282
361
360
358
264
328
400
275
364
363
314
361
383
253
255
341
272
329
308
331
351
292
332
274
355
284
305
323
362
276
341
341
341
319
341
330
349
304
278
346
311
309
247
267
320
344
295
298
352
234
319
308
340
373
271
351
336
351
343
298
339
374
255
332
429
339
292
389
325
297
397
289
364
410
251
322
309
376
346
302
302
319
270
271
319
304
314
255
386
330
289
358
311
282
360
304
239
377
346
297
332
322
317
287
301
361
332
358
266
294
333
313
266
283
288
358
307
304
287
267
349
329
344
349
290
314
374
330
347
378
260
273
379
233
356
337
384
330
315
297
403
282
372
326
314
325
317
218
282
380
329
317
349
359
298
392
320
356
354
322
310
295
362
267
303
259
385
335
312
321
303
340
293
277
295
281
353
316
354
372
301
366
299
248
306
413
328
299
244
339
304
349
287
394
340
361
389
359
370
264
320
382
294
263
295
287
402
296
271
341
362
278
392
324
239
233
319
297
262
392
320
347
251
312
401
339
343
345
313
347
351
348
298
257
287
356
302
293
320
325
310
351
308
353
334
291
373
317
333
294
291
278
270
339
369
245
388
266
319
334
265
331
347
326
309
338
308
392
377
358
353
269
353
329
263
319
350
317
284
240
313
308
280
289
295
286
384
316
329
251
382
319
273
351
341
298
399
338
295
389
259
313
317
336
326
328
296
369
337
264
273
293
259
277
321
253
390
265
332
348
317
255
316
283
342
292
315
322
351
379
280
361
378
327
300
273
308
323
285
347
248
279
343
307
334
281
305
344
334
354
254
312
292
311
317
316
332
310
321
218
296
388
322
317
343
361
351
288
314
322
365
301
334
365
348
312
293
310
252
312
325
341
304
314
269
283
300
377
261
336
263
303
236
335
254
380
323
271
249
272
303
338
313
163
333
302
321
287
371
272
296
241
369
340
381
328
299
282
261
351
309
325
279
251
369
330
289
308
226
380
318
309
365
358
337
345
258
288
318
342
348
352
254
311
289
375
324
249
317
343
351
348
298
258
376
373
270
257
316
311
310
275
295
336
297
299
312
306
248
373
267
332
287
305
386
360
292
330
308
411
298
323
314
337
414
257
332
334
313
332
312
312
301
313
281
348
320
326
306
363
268
339
360
390
351
321
258
375
319
411
315
348
249
285
276
308
228
249
367
302
294
357
285
310
299
339
343
309
376
280
262
298
384
309
272
268
400
368
305
366
257
316
323
380
279
236
197
263
356
295
305
321
352
353
322
296
244
320
340
321
210
335
252
314
305
317
368
291
225
313
327
385
289
271
308
343
276
380
268
373
334
336
308
299
316
351
398
314
304
328
329
313
223
260
315
423
330
276
342
337
362
354
273
239
335
332
391
277
308
331
275
314
269
340
333
352
255
274
338
314
340
381
295
330
277
338
283
318
271
314
257
323
277
349
311
326
425
373
319
277
354
342
318
367
400
208
396
319
394
360
264
340
325
380
346
302
287
319
333
278
328
254
342
378
344
300
304
302
253
231
300
332
313
318
438
372
323
375
284
307
317
412
301
318
397
303
351
295
260
312
298
328
305
222
266
339
316
186
352
396
285
256
354
280
289
310
225
344
361
297
322
378
357
267
369
252
285
306
348
224
393
322
305
320
309
357
274
300
395
284
261
282
322
291
308
333
300
315
334
317
326
373
253
323
364
326
245
309
350
419
341
394
335
316
309
314
292
409
337
300
266
415
331
366
330
311
415
367
373
226
218
372
322
438
368
315
370
323
332
337
244
264
310
370
382
309
291
443
301
269
320
319
313
294
338
280
264
298
299
322
354
368
331
423
351
310
226
370
373
291
272
422
295
259
306
349
337
345
296
296
326
345
348
335
329
325
348
369
352
311
284
356
313
330
358
338
368
306
316
314
312
385
352
372
341
264
363
348
355
328
338
337
306
319
311
367
339
280
252
315
339
354
177
324
358
303
381
330
356
255
292
318
292
272
190
354
286
274
401
300
343
301
209
332
386
316
320
287
389
335
307
358
266
361
250
308
282
315
326
343
345
264
260
359
238
288
382
340
332
317
322
348
320
352
370
263
274
285
251
321
290
328
309
298
335
298
337
355
345
346
310
407
313
304
299
368
283
299
408
246
352
315
355
328
283
335
365
351
292
321
353
401
347
313
236
253
276
314
314
342
318
330
294
342
398
264
315
364
289
396
305
269
397
296
268
290
359
310
446
388
296
281
285
313
302
252
392
213
258
247
349
256
264
283
270
426
369
320
353
231
304
384
358
262
294
282
330
317
355
281
332
252
236
310
320
300
293
330
313
304
276
202
328
377
405
302
406
282
229
304
296
308
297
320
278
259
305
331
248
264
273
396
253
361
330
263
254
382
362
265
282
327
349
368
285
374
313
274
363
236
306
295
393
339
395
312
339
304
417
259
344
248
346
338
305
355
290
270
275
228
315
314
333
367
294
288
300
378
337
310
337
391
280
316
305
333
357
227
356
338
319
267
342
263
280
415
283
343
334
348
307
387
371
372
300
339
360
339
270
283
323
332
360
324
374
332
275
284
409
294
310
365
374
304
366
384
271
277
307
347
301
358
240
282
266
427
253
373
352
319
329
375
345
310
353
306
224
372
252
349
313
310
346
340
321
303
371
303
335
366
318
338
335
290
277
339
344
373
321
310
369
308
269
357
348
340
342
326
373
287
296
365
327
311
273
350
405
348
339
372
302
294
302
238
311
273
225
307
318
297
344
356
353
265
262
318
358
320
347
373
281
352
204
256
279
342
314
326
300
348
316
247
342
329
248
351
386
341
288
299
336
334
354
369
392
391
344
375
276
363
252
316
371
286
346
323
373
306
389
318
318
318
254
307
318
315
290
338
249
361
226
367
316
280
360
375
322
360
359
338
332
323
348
368
350
338
278
308
317
300
312
308
320
295
339
289
372
288
276
328
276
289
390
305
258
293
319
304
361
311
306
287
295
318
289
229
380
310
322
404
273
275
286
365
354
274
295
252
327
330
394
274
295
352
304
386
343
362
356
283
247
332
244
340
261
307
257
322
248
366
306
350
280
366
260
291
290
297
350
283
283
240
318
411
257
272
236
314
379
326
311
331
273
277
297
267
277
316
300
355
282
343
305
346
241
370
257
297
288
284
280
324
300
222
329
343
367
371
253
336
345
348
289
399
324
311
285
361
299
361
351
277
271
292
337
343
346
319
323
311
391
255
294
295
294
348
343
288
362
364
323
403
319
360
282
202
371
255
310
341
281
315
277
347
244
294
290
407
233
327
311
292
305
364
241
322
263
387
334
310
307
306
420
303
422
329
313
225
311
300
285
299
346
300
279
248
320
387
226
290
328
322
271
341
310
303
360
349
253
270
342
276
390
391
288
299
266
415
294
358
360
295
335
325
288
251
227
269
265
282
286
312
355
350
350
278
312
289
255
335
361
334
305
287
331
324
244
344
281
298
293
353
316
335
295
361
340
300
255
258
329
348
288
247
262
199
347
248
334
266
338
328
280
328
310
296
248
349
252
299
311
363
311
383
295
311
338
325
367
300
395
291
376
315
382
317
293
288
286
299
387
332
385
264
387
302
274
401
307
301
345
268
351
348
283
373
335
350
274
292
304
349
279
287
406
275
351
298
317
367
257
366
319
376
333
293
297
343
289
351
246
315
344
274
385
347
282
364
349
309
261
339
410
244
376
324
317
350
309
300
352
309
331
348
297
347
350
314
311
295
279
343
339
270
272
350
337
333
376
299
302
332
274
337
405
363
384
439
299
266
262
283
355
250
261
342
334
317
298
253
359
272
360
300
339
177
376
231
377
379
338
356
218
243
263
265
373
291
327
330
299
331
357
314
280
342
217
302
373
327
308
320
267
283
196
433
265
292
341
256
328
331
348
327
359
348
320
415
362
316
324
254
231
325
334
279
321
374
352
386
268
275
393
343
338
276
302
314
359
278
302
380
269
286
230
332
282
344
321
355
337
388
406
321
356
350
274
299
287
347
321
327
284
328
346
314
285
317
315
254
338
342
294
347
299
352
262
287
330
254
363
285
275
283
364
289
377
366
339
366
348
367
310
302
309
222
365
285
310
340
308
343
313
334
341
356
322
262
349
255
381
257
302
289
339
345
420
328
303
282
351
365
358
344
365
309
319
314
332
287
318
296
342
381
346
343
319
295
299
339
263
317
307
317
327
357
287
334
339
387
303
353
341
297
324
327
283
328
328
357
347
389
359
350
212
178
363
275
319
343
322
243
343
290
328
263
335
265
320
331
336
293
319
424
342
378
356
342
368
272
331
259
301
288
307
321
337
424
375
343
277
343
359
328
385
272
348
240
264
343
355
324
359
286
376
345
316
268
216
370
273
369
269
331
282
291
321
311
279
260
220
287
359
292
367
296
332
325
346
244
406
345
319
356
386
304
329
444
289
287
330
286
336
243
333
291
349
317
328
217
290
300
365
275
290
311
380
272
392
284
291
340
305
393
255
385
346
252
314
315
323
245
292
333
305
342
315
334
252
278
246
412
322
298
280
295
249
328
301
294
314
353
288
357
281
265
269
306
363
345
274
310
266
298
300
235
219
315
302
343
338
375
317
309
337
309
366
406
309
357
328
375
258
273
294
279
356
347
326
284
357
332
347
350
291
325
329
261
306
371
401
217
349
401
263
378
316
305
263
266
273
343
324
395
342
338
236
351
388
262
339
284
244
339
303
382
279
252
316
280
182
311
284
320
180
271
251
311
361
327
285
322
275
384
379
265
318
306
319
356
349
316
244
294
342
296
341
267
250
443
335
340
276
262
301
354
372
238
364
319
348
275
287
321
392
319
357
327
340
281
383
307
251
335
252
261
413
262
373
291
295
312
276
271
348
262
262
251
293
313
305
307
293
368
303
331
348
227
342
354
270
328
321
369
325
261
268
327
355
285
369
292
351
293
322
236
339
370
352
374
298
269
336
345
263
370
266
303
371
285
287
365
342
310
263
406
298
312
336
335
316
386
351
337
311
299
306
306
226
343
281
338
311
333
263
371
313
347
324
292
275
259
387
267
358
385
369
338
352
348
340
321
316
279
209
242
300
338
338
272
330
426
315
324
348
314
418
292
362
375
338
293
238
358
315
370
390
298
324
370
291
341
311
359
203
328
330
426
310
384
363
306
336
288
286
319
301
357
275
284
316
318
360
210
320
329
298
329
312
281
398
329
371
301
312
341
227
330
252
256
197
320
353
307
253
344
323
313
347
315
409
287
369
296
314
380
387
295
270
378
243
351
322
408
258
384
294
310
328
381
367
285
314
355
381
370
332
367
258
345
350
266
343
255
289
365
251
353
416
227
341
360
350
313
320
265
364
380
379
324
348
308
297
384
285
294
287
317
267
251
299
340
331
318
365
296
381
269
333
349
382
289
284
338
340
226
299
278
297
373
318
286
290
303
344
367
343
193
285
288
378
313
281
289
335
361
289
362
309
347
324
384
306
346
351
293
333
323
312
305
225
347
292
334
333
409
375
426
342
377
334
310
312
278
258
346
287
251
297
271
261
324
336
276
298
312
259
297
251
380
372
338
300
327
239
288
388
311
265
295
280
332
270
336
361
332
294
382
295
351
276
353
352
318
253
363
375
291
287
283
274
268
369
361
275
292
229
343
350
335
263
345
357
317
324
233
287
297
338
371
357
336
367
340
328
247
307
287
341
280
321
394
261
328
241
363
310
287
281
287
228
355
322
343
401
302
259
325
289
296
258
267
321
295
377
295
326
406
288
356
334
414
369
254
318
383
293
271
382
299
349
301
278
323
343
334
331
283
269
299
343
340
251
314
380
264
299
305
435
332
235
322
325
276
307
353
353
318
411
290
294
346
393
366
310
384
329
291
336
332
341
353
243
376
317
232
327
351
279
305
303
274
328
354
340
296
338
246
394
288
284
323
320
263
373
324
286
341
290
305
304
390
326
336
312
255
348
269
269
279
392
354
270
390
323
325
324
242
247
345
311
310
259
346
330
253
306
405
346
295
369
291
245
350
325
266
246
265
319
334
313
346
282
375
323
330
264
351
279
355
261
306
346
348
371
304
366
403
213
254
309
307
294
294
329
246
349
364
321
308
297
261
322
358
268
294
252
358
344
299
282
295
292
257
288
245
277
218
327
401
354
265
324
319
303
311
324
334
291
278
308
242
304
287
303
292
343
317
330
344
294
380
388
265
366
260
301
301
334
314
394
273
319
344
369
291
259
297
303
355
251
274
307
292
314
346
330
280
359
394
334
278
285
336
345
316
329
292
295
318
298
352
363
398
328
303
246
362
301
281
273
295
270
295
353
232
317
362
257
323
329
325
347
302
320
313
205
362
329
275
333
361
339
278
364
303
325
307
366
327
313
326
336
350
323
356
368
354
301
299
337
342
361
231
326
292
304
355
306
319
356
361
287
324
371
325
301
390
331
308
324
309
374
289
350
277
332
263
367
318
338
299
292
290
314
336
256
365
352
240
331
356
356
332
255
305
279
315
297
344
286
258
297
234
354
314
358
332
396
384
354
339
352
362
333
301
433
309
331
280
250
322
304
277
295
290
256
293
354
345
401
289
258
308
321
302
412
339
342
355
356
306
337
304
271
332
301
350
279
343
310
362
333
347
337
333
258
319
259
315
258
304
269
337
306
211
361
288
355
278
386
244
321
329
366
296
300
301
200
369
330
362
292
366
294
328
290
289
335
354
242
342
327
253
307
331
310
306
360
325
281
308
341
318
306
378
285
218
293
283
289
306
362
393
314
298
332
286
332
247
302
296
339
397
304
318
376
346
302
357
339
291
340
295
346
343
362
213
347
273
378
305
325
288
237
345
297
214
277
290
341
292
232
355
366
364
303
262
294
327
393
298
256
250
287
255
290
342
427
374
326
295
281
338
234
349
314
300
333
342
345
382
313
247
301
280
285
288
370
370
258
337
381
252
349
331
349
400
390
197
319
256
282
331
285
278
331
353
282
323
227
246
365
355
303
295
296
305
334
335
273
323
324
341
280
321
303
309
279
297
293
346
354
254
416
306
316
290
362
226
253
229
284
326
310
304
370
313
308
344
277
309
277
322
274
393
387
263
302
335
368
360
320
382
312
404
375
268
301
386
348
307
256
299
277
304
344
324
344
329
389
322
304
277
288
271
306
280
266
357
293
289
310
281
280
300
340
212
371
327
296
347
346
328
261
336
244
348
362
341
338
372
339
229
305
295
361
306
314
321
237
286
284
359
332
312
268
249
395
321
257
280
337
320
275
328
244
405
412
253
253
232
375
247
297
339
330
333
365
296
322
332
288
401
300
292
338
315
285
390
291
333
304
231
302
289
328
278
314
369
362
405
379
260
308
295
341
340
262
353
419
368
304
293
327
323
324
291
325
216
341
289
294
306
326
337
347
230
296
263
359
392
270
315
330
355
271
283
263
248
263
333
303
255
278
320
288
315
321
425
334
320
274
287
285
365
323
264
298
260
283
301
314
350
289
298
331
293
320
359
287
396
338
262
319
354
353
281
347
273
252
301
339
273
329
245
376
281
325
368
318
352
332
369
298
370
319
373
289
386
296
406
344
338
303
327
250
294
395
279
341
345
296
271
272
306
302
280
367
351
274
228
293
340
252
325
286
415
342
276
413
286
376
260
393
342
341
293
259
347
306
251
237
281
307
338
301
346
345
336
358
305
357
342
365
360
343
265
303
273
323
319
408
310
400
401
370
283
398
314
315
403
307
378
409
318
328
397
274
311
303
247
297
312
294
364
353
315
340
367
165
236
311
313
212
367
315
320
310
327
245
335
336
310
285
308
291
348
318
293
366
317
276
318
208
317
280
379
348
367
277
333
387
342
271
285
291
294
377
322
395
322
330
357
341
327
358
265
321
311
361
367
262
334
416
322
230
321
315
325
310
351
340
375
376
286
249
392
241
272
333
355
392
340
345
336
332
311
323
250
339
293
389
360
371
362
318
377
316
369
304
360
340
411
356
309
308
335
221
257
268
407
374
295
340
330
324
266
334
312
257
322
417
361
359
338
257
314
315
270
298
293
415
296
291
338
313
245
328
349
299
349
286
270
352
378
273
277
382
346
319
392
367
338
320
280
320
265
291
313
317
291
313
307
288
346
259
330
345
308
312
273
331
309
300
293
291
356
282
289
297
280
327
360
288
305
356
321
293
292
304
351
326
312
345
317
316
335
327
316
277
228
325
347
299
266
363
335
278
269
339
267
290
369
270
301
255
317
300
349
308
410
351
320
281
339
345
293
268
342
271
296
326
369
334
284
383
266
204
331
304
357
242
302
240
318
365
352
255
368
291
301
320
379
298
333
339
417
252
255
279
337
327
329
402
327
349
350
374
346
324
251
380
408
309
287
265
392
312
231
300
250
262
357
305
266
303
339
268
218
317
367
318
395
279
298
340
291
205
336
326
273
351
329
289
304
283
306
304
226
235
307
380
342
342
359
208
370
323
311
307
305
316
313
254
318
256
303
314
296
277
274
348
370
329
295
384
384
308
271
326
297
286
293
358
318
268
298
264
255
386
378
376
354
396
364
386
322
344
320
277
305
313
283
356
288
327
305
324
327
272
339
234
320
281
280
352
352
316
382
351
379
340
353
301
379
296
360
270
314
361
393
401
310
262
359
325
280
287
316
280
347
278
294
354
275
307
287
308
300
347
304
255
378
326
348
337
346
270
271
325
311
388
352
298
312
300
336
289
284
325
317
292
362
321
222
296
318
303
293
316
309
301
294
258
286
285
272
289
386
315
247
332
248
372
357
298
338
252
273
306
294
363
227
346
300
346
290
314
298
340
198
304
293
256
295
282
396
321
358
283
378
367
313
282
302
313
254
350
301
291
279
389
360
328
297
352
395
402
379
280
322
302
318
415
262
349
263
336
376
323
348
316
322
289
314
393
323
247
328
370
227
278
353
258
165
337
246
406
354
322
387
329
219
289
340
326
323
330
266
241
291
352
299
289
290
267
356
376
338
320
282
353
352
396
336
294
376
299
287
367
304
368
347
303
285
367
300
364
333
364
354
355
325
348
301
332
308
338
348
315
344
248
305
338
267
259
397
320
322
236
350
351
360
328
381
330
328
289
360
354
349
297
305
352
338
297
389
313
295
323
309
318
357
292
437
370
378
237
237
312
270
299
317
279
369
364
377
207
280
248
201
267
352
269
276
291
279
353
260
342
288
407
315
328
320
362
350
270
352
363
287
289
349
321
378
309
390
285
372
315
279
272
389
369
268
314
270
307
348
362
338
308
335
273
239
324
325
348
320
277
307
377
284
371
324
261
316
288
379
347
342
304
233
272
265
360
314
275
289
320
348
260
275
282
357
347
318
343
389
282
402
383
280
319
246
323
267
328
264
373
347
331
296
300
318
294
341
340
389
213
360
282
326
249
310
352
299
400
303
361
376
304
285
261
369
395
315
293
352
250
419
343
248
370
290
321
403
439
249
334
300
298
327
264
291
353
289
302
251
292
422
284
280
228
396
379
318
379
318
307
335
358
315
314
209
300
304
266
350
293
251
305
379
326
322
352
341
408
367
310
364
373
283
363
312
382
299
309
305
313
325
332
308
297
343
346
293
336
318
326
286
322
357
293
394
347
291
358
259
390
272
317
285
345
328
361
278
336
279
273
316
341
324
295
297
259
269
328
245
301
315
321
302
361
308
304
360
357
302
353
336
250
304
281
302
256
321
291
348
261
375
346
287
265
268
347
270
311
326
313
286
372
339
301
313
363
302
363
336
273
317
317
342
288
319
331
382
360
344
370
372
285
326
265
317
316
339
223
315
319
244
312
310
299
269
346
296
269
353
267
278
302
304
319
322
308
248
274
374
325
320
317
259
246
333
377
307
289
272
288
331
259
257
235
184
304
305
284
341
268
300
307
349
315
238
306
308
253
328
281
260
235
312
283
256
282
291
279
307
349
336
321
239
341
366
363
401
290
372
312
330
363
264
370
360
347
282
269
287
317
335
290
308
352
324
254
292
291
352
318
328
334
363
312
321
316
356
232
354
290
274
311
317
371
354
341
328
334
360
317
306
232
354
314
347
364
277
362
235
359
355
301
324
366
306
336
306
334
272
392
354
401
417
301
293
284
297
332
313
396
326
296
315
331
422
311
301
264
302
236
316
303
243
276
290
359
348
345
333
429
297
296
359
260
292
332
391
319
322
339
325
291
325
267
305
383
330
344
254
298
242
374
275
391
291
289
357
341
329
320
347
271
313
282
275
321
316
349
357
356
341
307
316
370
289
281
236
349
299
403
330
330
317
285
324
366
289
310
312
327
409
289
363
234
241
324
317
348
402
267
360
335
272
237
322
324
309
310
274
288
317
348
314
300
356
294
344
340
385
279
340
345
312
321
301
268
286
321
329
251
407
298
355
335
321
294
387
294
291
305
363
291
236
308
418
308
304
384
305
258
315
286
275
281
289
367
334
279
360
296
297
222
258
381
236
358
285
306
402
319
279
243
294
304
261
271
346
221
350
339
281
327
289
372
264
286
313
324
313
278
357
318
287
383
258
398
308
311
325
399
342
360
407
326
285
283
341
272
335
318
320
294
375
379
295
319
332
312
291
350
288
298
370
248
260
278
337
311
315
316
354
310
341
306
310
283
398
357
402
301
382
304
335
332
436
394
349
298
299
397
389
286
287
276
281
339
282
327
270
278
372
359
314
368
355
289
348
370
355
221
293
257
330
312
322
219
303
294
360
310
286
332
309
276
338
401
381
287
206
287
274
426
273
374
305
282
333
380
322
347
269
288
278
165
336
255
268
366
247
340
262
326
295
266
302
303
303
395
323
291
328
378
302
313
308
327
302
389
336
297
352
313
326
290
346
327
317
333
361
336
315
334
337
315
326
333
296
326
316
281
313
290
260
267
332
395
302
361
327
322
273
407
350
281
242
273
295
299
317
432
326
286
343
346
234
351
283
301
341
358
341
347
356
341
316
340
264
313
334
328
317
288
331
383
312
291
411
348
157
337
296
275
289
293
352
352
342
413
375
271
380
320
361
221
337
327
328
317
280
407
308
362
293
254
310
371
402
259
306
257
326
270
245
296
252
272
261
275
250
392
357
402
284
353
305
347
307
258
290
319
270
372
324
238
303
408
271
374
361
302
385
386
328
322
360
268
316
258
353
307
359
262
352
277
294
254
301
349
243
317
280
327
288
352
346
299
277
365
311
238
360
312
238
291
243
265
340
320
316
310
326
297
332
368
263
269
365
386
328
259
314
337
294
342
270
303
293
265
339
380
342
226
313
340
329
412
267
288
342
322
338
335
293
394
332
362
337
385
238
377
251
293
332
360
238
291
303
363
291
244
356
270
365
344
311
295
313
342
338
313
248
301
330
280
414
326
288
396
327
333
365
343
278
261
332
338
319
367
309
333
311
266
306
287
411
315
348
274
303
240
313
315
315
389
296
350
370
377
360
317
300
341
350
299
334
301
358
319
302
321
382
316
265
360
371
310
375
350
354
311
214
332
278
361
314
320
323
391
302
345
300
303
275
363
350
361
281
246
275
337
369
296
306
355
384
313
384
257
387
352
290
359
319
257
316
280
321
305
327
286
302
263
325
379
348
307
226
339
319
252
358
303
295
324
337
364
319
320
364
310
314
243
314
279
372
356
332
316
231
263
261
332
335
214
280
318
358
323
343
320
335
239
313
369
375
283
273
332
300
369
222
348
283
346
337
275
318
372
346
389
296
256
302
340
365
285
268
307
401
287
330
283
390
304
323
369
297
346
321
305
334
295
286
343
363
272
316
381
283
362
337
298
242
354
318
354
349
276
242
307
339
325
341
333
276
237
271
321
346
278
296
331
285
340
279
357
327
293
337
277
283
314
280
368
372
381
365
271
353
310
353
267
274
208
304
286
310
298
282
199
347
343
337
356
287
334
286
341
382
343
332
346
325
305
325
292
297
317
239
275
309
270
312
314
309
311
322
381
311
338
359
313
313
287
263
242
281
297
354
349
321
359
367
375
336
339
216
256
345
424
313
300
277
367
235
286
371
300
336
391
355
332
328
339
356
254
312
236
365
264
262
371
256
267
353
317
346
336
344
331
151
263
334
340
306
273
320
336
298
292
272
360
318
303
299
319
336
330
332
343
305
252
284
361
318
314
346
217
308
392
311
360
302
379
263
396
246
364
289
241
308
338
293
343
324
316
306
325
288
402
338
388
345
273
237
369
346
281
204
279
308
302
366
333
316
330
373
295
306
333
351
273
297
184
295
282
352
279
314
281
283
314
299
302
382
299
426
328
269
403
217
224
265
326
313
304
375
241
251
391
285
283
301
320
298
295
387
216
367
347
279
230
286
261
280
253
286
303
301
353
413
279
262
273
354
388
349
322
279
288
274
387
230
393
268
332
208
355
239
330
354
397
335
306
287
347
379
345
299
303
350
313
332
328
352
281
358
362
302
309
255
332
264
315
325
321
343
307
293
323
322
269
400
291
332
377
294
335
312
376
323
324
338
350
320
325
380
369
282
269
342
320
239
236
281
352
250
301
363
326
317
330
367
327
298
303
226
341
272
286
375
328
341
339
341
334
283
323
310
364
325
277
253
358
319
353
295
362
216
342
322
391
368
276
348
305
434
317
285
312
353
297
266
293
345
350
350
312
319
352
375
324
290
302
322
286
327
381
254
404
312
354
266
350
287
222
289
292
393
386
364
273
323
260
367
362
276
351
275
310
286
311
344
359
329
255
362
372
304
339
243
369
308
348
327
326
231
291
360
302
327
322
313
301
245
403
288
325
299
213
364
314
310
277
310
277
294
324
272
291
357
326
278
282
266
308
283
327
307
272
312
310
349
383
293
367
265
314
299
332
326
327
358
347
366
248
230
298
273
237
291
356
324
354
356
348
295
330
318
324
436
374
187
272
355
279
329
378
320
393
437
299
293
269
316
389
299
352
278
364
317
374
279
309
363
380
335
234
252
348
332
369
313
258
307
365
298
272
359
351
397
362
297
360
380
304
334
335
339
289
277
337
343
346
227
300
266
364
333
298
267
337
322
306
375
276
323
315
300
322
348
293
333
313
313
334
335
401
240
300
315
265
327
338
339
367
377
264
306
375
378
320
388
343
339
305
372
248
322
251
306
412
384
376
286
323
345
242
307
354
402
299
334
299
236
267
309
290
434
374
277
323
304
381
255
310
342
287
223
343
310
327
244
407
399
300
314
286
353
270
274
398
338
303
319
343
262
330
254
317
280
384
373
306
351
350
322
286
301
227
264
281
213
357
280
340
361
355
383
317
329
315
307
302
368
300
318
366
353
298
368
296
243
374
274
259
325
296
303
378
398
279
274
344
331
355
249
310
335
255
399
410
275
342
304
320
296
323
350
269
351
359
295
306
358
306
310
374
231
321
361
403
364
359
397
341
376
330
234
279
328
331
366
315
271
242
265
336
337
360
330
301
314
371
276
353
358
363
295
327
263
340
304
256
330
281
343
251
317
300
331
355
391
283
285
322
280
299
164
328
278
284
305
339
238
342
335
307
359
323
346
377
384
292
279
353
286
321
309
266
280
265
335
388
370
265
318
292
332
278
368
387
308
374
293
327
334
362
306
405
309
258
317
341
322
303
340
270
290
275
382
346
242
259
281
382
338
325
321
330
349
244
343
291
251
261
308
245
313
340
404
346
325
346
304
324
342
312
372
308
328
227
264
310
318
331
249
278
346
268
351
307
340
305
303
345
317
291
289
368
294
295
312
256
278
325
307
355
242
287
293
351
246
333
311
348
312
308
243
343
330
279
328
376
302
299
305
275
406
223
246
357
316
326
263
338
312
303
321
325
326
380
372
380
378
263
340
349
359
387
316
333
343
398
322
380
286
248
303
316
301
316
300
343
272
320
351
374
339
293
419
275
262
369
305
260
353
279
277
248
407
336
358
289
314
285
370
370
258
284
374
239
392
298
313
328
386
286
359
384
356
369
314
279
303
297
224
242
327
131
302
325
292
361
362
282
339
343
347
251
305
354
347
349
281
302
400
341
342
349
260
352
310
392
309
267
292
321
364
315
309
343
319
358
288
309
319
376
393
332
279
295
303
306
315
302
321
384
369
334
326
316
260
328
308
280
376
312
273
299
293
313
366
232
310
367
347
227
312
277
294
269
312
301
276
294
339
293
399
371
326
306
240
361
330
347
415
353
361
315
277
312
375
355
294
328
340
309
339
400
298
292
340
304
319
341
247
309
249
293
317
311
304
354
315
318
201
393
290
339
242
209
334
193
360
316
318
322
351
322
331
334
349
370
270
284
310
363
300
372
341
314
369
296
404
354
356
257
310
341
282
336
282
332
304
262
287
425
290
299
278
376
326
326
245
339
309
330
387
325
248
334
347
341
267
236
319
340
247
316
320
310
345
336
362
361
342
334
276
348
367
408
379
302
250
285
304
224
294
379
284
326
406
367
314
270
370
256
334
254
375
344
314
381
294
347
392
305
377
279
269
325
309
314
295
215
410
405
271
408
329
304
248
321
295
321
357
308
281
314
344
348
306
332
359
225
351
254
328
262
364
397
295
295
317
282
240
322
316
259
251
324
346
248
314
255
313
313
285
371
340
403
379
220
298
360
295
291
317
285
365
233
310
281
271
334
334
338
287
220
321
290
321
367
320
256
378
253
309
297
309
349
376
323
376
338
384
244
328
386
287
319
349
253
341
191
363
278
282
309
314
296
379
273
291
255
375
394
337
284
250
304
239
388
268
250
352
335
343
321
310
386
309
325
285
299
326
255
291
374
240
306
232
352
292
290
314
288
282
375
365
383
301
278
339
367
373
413
350
339
274
381
328
317
413
310
317
369
310
374
345
329
348
349
332
275
318
325
330
323
264
291
361
346
372
329
328
385
260
284
301
280
263
378
332
347
288
302
263
343
359
332
341
299
326
312
302
349
350
330
251
267
331
376
342
235
228
332
337
333
367
287
296
290
336
307
229
316
287
291
295
278
327
325
304
289
260
364
385
251
303
372
340
281
247
304
377
331
304
346
270
281
361
335
335
185
285
332
255
293
373
328
271
362
368
349
304
257
310
306
278
289
292
334
333
274
332
382
334
373
257
354
323
370
345
310
253
349
299
283
340
263
375
321
357
196
354
341
284
258
330
332
268
282
293
296
298
331
335
310
378
279
347
325
284
247
298
349
304
268
292
373
352
342
360
374
366
291
371
331
368
329
289
337
378
345
347
289
333
315
266
294
246
314
333
297
380
326
274
344
258
387
230
330
292
309
417
310
256
299
290
414
180
298
342
296
303
255
312
255
269
313
256
325
311
390
245
339
273
336
226
273
371
289
251
273
319
266
314
311
251
325
369
324
389
282
391
284
363
249
325
354
334
364
336
353
366
253
323
298
265
324
382
374
353
312
279
351
310
383
340
242
356
365
271
382
333
305
238
263
255
175
266
333
321
226
335
370
326
326
328
243
351
227
316
265
316
357
371
331
268
321
294
356
350
385
302
409
415
351
341
355
344
351
317
373
299
379
254
317
346
348
352
309
371
247
288
412
297
315
290
374
254
315
357
261
290
302
309
297
408
323
404
351
341
274
330
279
284
427
335
323
311
366
355
310
396
259
281
320
237
344
233
292
350
266
355
371
311
282
285
310
363
389
383
331
311
321
397
250
335
248
280
344
351
310
319
351
265
330
353
296
242
268
262
247
346
313
247
316
364
286
338
304
288
247
399
317
265
348
311
351
317
359
389
375
232
301
401
352
311
314
300
272
257
303
311
337
295
279
271
343
294
293
277
296
336
256
230
294
317
373
330
280
330
374
345
390
366
352
270
276
380
361
314
316
325
376
400
279
332
307
361
357
298
361
390
261
222
329
326
363
317
312
285
330
363
312
275
264
300
401
293
354
299
348
309
287
370
275
296
324
355
277
345
268
268
372
303
305
309
386
298
301
347
369
348
266
311
337
328
305
307
357
370
320
362
270
273
322
266
389
358
296
315
274
312
289
359
372
305
296
350
348
375
323
407
321
241
295
277
308
340
320
231
307
387
263
280
300
283
421
379
441
264
282
231
364
399
230
289
239
308
399
270
279
311
350
375
325
283
236
310
275
323
395
320
286
313
341
333
378
318
327
326
339
366
276
254
287
351
378
333
334
282
296
266
286
384
336
340
360
338
319
320
311
362
271
338
340
306
290
257
430
326
352
320
294
261
232
283
279
321
331
271
336
313
295
349
343
251
300
273
369
352
310
316
365
322
354
281
286
350
283
296
359
329
349
375
314
362
342
269
279
391
321
300
368
363
314
298
296
280
367
357
338
218
363
269
225
277
279
355
245
363
345
345
285
323
268
211
402
363
362
294
321
255
310
376
402
268
337
275
323
373
332
395
291
309
312
324
340
317
249
353
363
263
358
318
341
283
354
310
366
316
292
280
397
333
245
385
285
226
246
251
376
362
274
350
365
371
287
383
316
312
280
349
291
265
276
339
273
392
319
322
323
326
403
232
305
311
310
320
304
260
373
241
272
255
345
322
328
349
402
369
306
368
331
241
294
298
287
314
328
263
348
350
357
331
344
341
342
375
335
341
278
251
290
294
358
308
235
336
305
253
346
334
278
231
336
354
300
273
403
356
308
333
307
353
367
325
337
233
268
343
333
364
340
318
334
308
283
297
328
270
200
323
298
247
314
350
368
364
273
319
325
287
338
397
365
293
285
345
352
361
358
289
320
236
317
345
351
310
307
208
324
331
313
328
248
316
313
262
315
354
338
219
339
348
392
381
328
305
347
368
386
315
351
286
333
339
378
319
303
330
298
278
334
299
311
318
370
331
345
279
330
293
341
287
305
270
288
247
328
329
331
392
411
266
350
304
225
293
404
284
322
310
376
336
373
285
364
238
355
332
267
256
350
348
243
336
377
320
367
307
268
365
324
206
326
317
368
263
361
341
315
343
347
273
295
319
338
290
264
344
360
324
308
237
309
359
335
315
386
350
381
277
256
354
311
401
380
301
338
343
353
245
355
274
275
282
366
365
347
317
179
319
277
307
291
351
406
258
332
221
292
392
340
313
306
350
317
336
243
326
301
298
396
378
252
223
302
251
269
326
401
289
355
293
345
282
353
318
259
308
323
246
350
307
372
359
304
387
403
319
223
338
336
317
325
378
222
347
288
274
339
280
299
307
376
341
232
241
318
281
269
379
373
308
264
280
445
359
392
353
238
302
200
346
324
252
280
395
362
328
309
273
301
295
284
357
315
326
275
320
286
300
353
356
353
364
365
289
297
311
349
249
332
346
321
340
304
266
201
377
279
335
250
308
326
340
247
256
330
381
211
337
292
271
246
301
379
369
330
345
256
325
310
351
282
346
295
284
321
271
345
309
360
332
326
321
320
385
339
286
238
267
327
333
351
332
247
230
265
303
394
337
379
320
358
242
288
304
321
371
293
278
314
297
321
273
368
273
301
344
242
277
282
384
419
274
315
381
299
305
336
342
283
306
332
273
354
363
310
307
380
333
229
377
310
338
283
292
287
326
290
275
278
292
368
261
348
392
225
322
252
173
355
312
333
339
280
308
237
377
282
339
337
307
342
363
413
331
362
352
324
353
332
330
308
366
274
252
365
276
376
227
262
277
268
302
408
296
366
305
251
396
359
380
337
298
354
380
246
297
309
317
369
388
319
315
333
276
333
319
311
368
360
316
251
346
317
348
297
356
361
351
273
383
381
291
367
319
325
274
268
324
379
368
336
228
197
367
320
363
394
289
313
400
322
364
290
326
271
352
332
230
265
345
281
304
342
241
310
299
306
354
375
392
300
396
332
333
264
309
336
295
386
270
309
387
355
293
332
350
338
303
298
227
332
344
229
399
305
329
296
369
300
310
371
301
319
386
354
328
230
323
361
322
250
294
390
351
293
369
332
385
296
252
292
253
340
295
263
364
335
300
260
343
345
330
281
339
401
282
320
299
296
351
257
271
276
367
365
333
345
346
324
316
363
322
362
262
320
338
322
207
213
240
411
372
341
336
376
369
283
335
355
330
356
397
276
277
428
259
316
383
275
356
340
362
280
330
231
304
401
340
377
311
235
169
201
322
388
359
270
313
354
283
317
300
342
265
326
291
347
335
228
231
405
348
258
335
327
329
283
295
358
283
367
275
281
291
363
394
319
321
246
229
320
353
262
362
368
378
279
321
359
309
365
274
336
287
291
291
276
307
361
309
325
227
336
315
287
291
347
322
367
300
378
382
232
309
265
290
332
262
279
255
355
331
319
353
243
301
259
407
293
287
286
340
301
351
379
288
388
288
361
331
348
383
270
339
274
350
315
266
277
328
332
253
293
304
269
337
284
392
304
284
374
386
290
367
352
385
390
372
337
343
292
355
258
347
354
312
331
233
245
297
336
310
242
344
386
211
340
325
317
313
276
359
388
338
307
327
341
351
191
224
366
299
284
280
334
339
280
316
326
338
323
270
281
338
315
334
321
359
331
324
341
325
328
346
253
254
308
203
403
321
314
323
341
335
262
291
331
344
276
229
316
359
292
214
386
316
323
273
250
306
284
349
289
377
328
224
254
319
300
335
295
350
279
256
332
320
262
372
246
400
374
267
325
325
336
300
292
286
312
381
309
348
232
360
384
236
283
236
294
272
321
287
377
290
301
334
279
374
385
279
339
353
228
356
303
425
315
215
324
300
339
296
345
305
380
313
274
374
344
318
300
268
356
306
314
299
338
308
346
335
378
322
435
314
228
287
338
236
337
278
279
289
357
322
331
283
257
317
339
224
374
335
279
400
374
313
272
331
311
344
378
291
389
376
304
368
344
299
257
245
274
281
369
245
340
317
388
332
332
317
380
318
334
342
366
359
359
276
335
326
359
263
271
350
275
266
335
362
284
274
253
329
416
343
309
226
310
296
311
404
315
248
423
401
371
217
355
327
375
325
245
338
298
323
339
317
262
298
335
337
289
252
369
312
281
349
338
371
401
220
340
287
289
313
271
320
295
293
293
329
241
355
267
230
359
250
266
385
321
255
361
287
401
279
298
315
339
368
330
330
227
288
282
276
422
239
294
369
273
421
288
323
300
225
284
371
305
230
288
329
247
296
310
336
312
307
338
311
385
349
352
325
358
355
335
325
326
324
344
268
310
267
242
280
295
336
354
347
300
372
315
321
362
363
337
279
305
364
346
372
316
354
305
271
263
298
351
349
283
356
251
277
300
341
409
262
261
241
242
382
343
308
302
359
216
337
298
330
379
331
308
320
311
308
297
319
371
314
313
329
301
281
258
280
317
234
299
184
362
201
323
261
349
354
321
302
293
206
327
359
293
248
342
307
316
381
321
390
424
306
329
296
319
227
352
300
402
338
312
310
316
321
279
243
288
350
341
309
345
350
393
396
331
322
386
346
298
300
377
326
291
164
257
284
390
319
352
323
334
365
264
283
260
356
223
369
347
278
342
395
290
320
325
218
350
291
307
262
340
310
224
230
381
280
296
335
285
281
372
186
244
201
307
255
309
291
257
349
282
372
312
265
419
376
365
360
324
295
331
299
274
328
316
307
350
334
327
368
295
260
321
359
292
225
308
350
339
315
316
360
308
293
337
393
314
386
181
371
296
359
335
299
280
363
216
327
233
299
311
339
332
355
381
375
281
372
307
356
320
321
337
347
288
336
332
360
302
340
334
285
327
332
421
273
327
344
302
279
279
291
279
254
326
258
334
376
409
285
376
332
286
396
265
286
322
275
369
365
329
331
381
329
355
360
321
278
322
346
306
298
348
272
318
367
321
257
329
389
204
272
389
304
370
288
356
356
302
237
306
308
397
248
291
284
283
315
398
285
271
289
333
285
323
300
295
328
296
314
326
386
306
277
351
345
233
316
287
316
284
431
215
310
307
322
227
321
305
312
362
289
271
275
246
270
245
328
301
336
353
320
347
359
382
251
387
322
310
342
228
260
309
356
280
236
379
324
371
324
320
349
352
348
284
325
331
330
311
314
334
343
328
332
318
358
258
210
261
308
295
299
354
232
246
354
292
333
336
334
303
271
331
324
332
222
338
291
352
316
305
347
295
313
317
273
316
297
310
373
361
332
288
279
321
252
351
250
308
329
254
328
259
288
339
253
230
277
333
337
295
307
252
304
379
205
284
294
286
303
251
258
296
337
371
344
250
323
301
332
337
378
348
310
327
317
278
311
278
318
251
320
360
254
315
275
355
263
332
320
355
397
330
349
254
227
303
315
383
294
354
346
398
334
370
359
329
371
315
318
316
294
296
322
326
305
325
222
303
344
277
316
269
301
296
298
327
236
295
388
331
344
286
323
381
334
337
262
297
304
297
255
325
334
278
302
275
244
362
277
188
317
350
344
276
335
276
347
275
303
304
268
336
302
337
313
323
291
345
350
327
368
371
404
192
340
226
356
315
302
399
320
257
271
345
305
270
339
413
358
242
377
178
328
353
374
433
387
320
269
351
306
256
255
353
272
277
273
293
332
315
301
339
342
317
330
292
283
380
306
313
407
375
284
345
375
286
304
202
315
337
357
307
270
199
338
352
315
412
220
330
315
338
337
289
390
368
233
353
244
321
348
287
258
361
343
389
329
276
275
263
260
335
357
246
245
354
321
331
310
319
332
357
335
319
326
284
335
328
295
237
389
285
313
338
258
286
384
273
312
400
324
347
320
324
297
290
344
335
299
316
334
300
255
315
331
328
369
330
238
392
353
237
333
299
371
338
418
284
405
297
259
375
305
378
237
296
395
342
351
369
343
295
294
355
351
307
272
354
333
231
365
382
275
315
324
332
282
297
275
303
255
316
328
333
330
171
345
308
304
343
298
267
324
282
344
373
360
360
356
293
377
346
362
277
341
273
394
386
358
332
297
351
303
381
275
309
294
371
345
267
302
282
319
253
275
275
354
312
287
313
290
345
252
349
395
334
203
237
315
232
301
228
339
294
350
337
389
330
280
376
282
316
256
321
364
373
291
354
307
297
290
304
280
368
325
259
275
272
354
346
180
274
343
293
242
358
221
342
318
321
347
301
351
344
345
321
328
388
324
313
369
363
369
286
296
348
348
309
242
299
321
344
313
290
330
299
324
336
319
340
311
312
321
330
207
285
337
373
333
318
292
287
372
352
275
324
334
285
308
337
322
368
360
346
245
268
217
257
299
329
271
308
378
404
265
310
252
350
271
286
251
325
252
280
349
293
329
261
303
297
350
345
305
400
413
265
315
310
202
310
305
401
346
283
325
335
274
266
255
307
285
286
296
332
309
256
278
362
354
305
300
374
234
355
295
266
372
267
280
325
302
263
309
440
355
316
282
462
251
372
276
355
287
210
326
259
285
379
240
329
389
311
340
346
292
276
272
305
292
352
297
250
345
332
322
328
353
339
324
317
232
324
310
335
275
270
394
219
246
394
337
320
418
268
312
352
334
360
355
299
256
261
352
235
349
255
353
322
372
370
285
341
298
230
399
280
327
326
324
298
321
255
356
375
268
314
322
389
319
325
274
335
267
311
324
245
378
281
322
353
311
188
275
261
238
318
333
375
283
305
293
296
308
266
408
255
402
291
387
352
302
360
354
343
314
340
249
321
277
309
384
279
315
346
263
376
291
356
279
360
365
390
276
274
346
309
318
271
266
398
271
327
290
317
289
274
279
370
357
346
345
305
260
266
369
323
294
270
380
319
331
273
360
302
349
257
356
282
335
307
338
300
293
346
272
363
413
292
354
429
267
419
356
340
269
404
363
300
253
268
241
278
398
294
304
353
360
330
310
272
341
324
294
323
346
315
278
359
258
396
272
292
296
288
289
300
352
369
316
340
287
345
328
314
328
302
334
333
323
339
357
234
222
383
299
280
268
309
404
319
335
341
276
312
271
311
322
266
371
327
352
314
366
319
263
345
334
333
341
305
289
326
307
282
334
240
301
356
325
301
280
351
340
319
367
346
224
239
333
303
340
318
274
305
354
282
400
334
393
335
330
318
294
322
334
287
327
328
246
311
277
306
376
323
395
335
341
262
308
331
263
338
268
221
265
336
334
301
275
296
334
317
252
307
352
241
337
280
262
312
307
355
294
315
274
367
316
394
334
263
300
329
274
275
263
342
357
393
331
415
304
269
297
407
349
308
370
296
280
279
319
340
295
327
359
271
295
332
278
377
327
303
279
357
276
391
428
329
357
334
321
343
413
257
361
411
320
356
317
314
375
346
338
448
306
363
361
321
339
258
371
249
339
318
337
366
277
275
334
323
359
362
380
289
261
353
348
235
227
303
346
316
293
345
322
310
430
307
376
403
312
282
292
307
317
339
312
278
281
297
358
338
372
233
311
320
367
231
248
322
396
229
270
333
293
284
281
263
383
351
277
244
256
247
387
340
267
297
350
295
323
318
376
294
348
342
292
271
312
266
288
314
321
251
314
386
301
303
291
332
252
296
357
255
277
397
329
246
317
206
381
335
334
291
317
276
297
332
314
328
258
252
367
235
405
265
374
338
369
351
422
313
291
325
318
391
322
399
364
256
424
394
346
376
261
381
351
216
321
253
283
375
374
352
364
276
328
286
265
439
363
358
226
333
326
279
305
356
303
308
393
287
347
314
353
295
390
232
347
304
356
284
266
359
310
310
331
250
327
329
313
401
272
340
332
280
335
361
328
323
379
350
349
304
293
270
243
303
275
344
321
289
383
293
281
326
354
315
327
320
310
294
300
291
332
343
363
427
346
238
311
301
279
321
268
334
344
339
290
295
281
268
335
323
276
332
306
336
324
349
292
365
260
241
329
297
349
355
344
400
354
406
361
288
401
351
207
333
305
390
360
350
293
342
287
297
277
329
313
388
331
353
252
337
388
248
332
344
315
288
269
284
305
412
265
317
302
247
359
391
312
330
272
338
278
311
278
296
285
309
284
188
343
328
320
350
387
268
331
375
337
280
229
296
280
249
222
294
279
337
368
351
369
377
353
262
342
382
243
379
288
325
292
355
305
383
297
340
286
285
327
309
330
242
319
301
287
374
348
309
303
349
353
230
260
271
274
277
271
315
356
278
410
321
345
266
325
266
289
300
274
284
397
309
406
308
309
371
334
339
288
298
288
346
343
370
372
367
331
359
323
348
380
307
322
279
288
281
340
232
291
369
283
392
306
331
320
317
319
309
292
349
245
243
238
301
277
362
407
306
394
264
353
342
265
350
309
362
252
288
286
291
275
295
283
406
339
437
355
374
335
380
283
340
315
295
409
329
319
289
343
342
371
260
301
394
279
315
295
314
372
317
310
298
361
285
262
291
304
383
371
344
340
288
364
354
304
329
297
296
280
226
383
298
339
328
329
355
362
262
347
286
311
272
269
300
370
331
285
324
202
264
329
315
389
381
292
294
298
278
292
336
297
346
319
289
325
347
354
357
346
328
283
240
326
331
307
308
291
355
378
310
316
378
298
339
327
307
278
321
351
312
307
367
384
312
296
338
360
323
342
325
261
325
379
340
349
233
282
323
305
314
341
300
329
373
312
318
373
328
325
337
300
327
289
347
350
330
294
402
437
234
344
306
301
318
305
359
262
253
282
283
317
330
335
218
362
321
265
345
371
339
286
284
305
284
302
432
283
278
332
373
281
256
319
301
321
332
388
246
325
270
390
326
289
348
313
390
311
326
322
209
290
277
302
270
353
275
270
323
313
277
368
293
260
308
270
259
366
276
366
311
341
348
306
348
311
386
253
316
314
300
365
270
288
197
310
347
342
328
326
251
274
293
302
324
281
276
398
311
347
305
345
363
271
239
273
331
259
319
346
266
262
293
274
287
251
382
285
235
317
281
310
380
324
288
358
321
362
302
339
324
319
298
314
325
332
267
308
382
354
269
336
302
276
337
384
309
327
281
282
256
362
337
309
295
250
278
305
329
325
324
286
372
242
253
252
295
353
303
319
317
328
386
283
330
392
380
345
248
374
360
228
371
355
321
233
282
389
254
301
375
420
333
328
383
365
270
297
289
344
301
376
329
324
364
284
297
358
315
352
327
333
397
285
267
310
263
343
290
320
305
403
249
235
296
311
233
298
321
331
312
317
413
281
332
314
360
471
393
337
302
303
296
285
261
289
277
377
380
328
274
271
368
322
283
275
300
412
273
313
321
302
363
291
236
322
298
429
247
264
311
300
341
252
248
316
236
314
251
371
368
353
353
289
360
338
339
373
306
325
325
299
372
406
361
318
394
360
346
335
299
275
298
318
372
294
311
340
339
242
331
306
292
316
304
316
295
434
324
244
378
319
282
324
297
341
294
369
250
285
360
367
293
357
301
323
329
281
325
293
313
275
342
263
267
293
435
343
263
390
363
315
325
361
307
333
297
314
362
362
398
374
285
291
323
272
249
261
318
294
357
356
358
287
336
360
326
289
249
276
427
403
300
236
371
284
331
381
358
333
310
390
343
321
285
198
376
272
337
352
199
275
335
254
205
294
328
244
327
303
226
362
340
245
252
285
348
261
281
324
255
314
429
319
390
326
309
267
317
297
339
317
339
335
289
215
285
286
322
305
348
319
320
255
302
420
321
255
276
374
319
322
339
356
357
340
321
309
305
325
297
272
339
312
386
337
319
251
303
369
300
357
288
326
286
316
359
247
350
351
376
295
470
375
432
336
352
322
434
293
314
330
385
305
348
354
310
295
330
310
362
315
340
336
350
270
331
344
270
272
291
355
275
405
272
241
353
334
283
261
235
305
269
276
358
248
291
295
275
254
347
312
264
378
279
365
346
308
326
301
213
347
307
318
391
361
372
340
329
371
397
337
332
271
285
246
368
418
344
324
285
353
309
334
306
293
333
342
367
313
344
326
332
367
284
307
349
331
347
288
240
280
309
378
307
366
303
339
352
355
250
351
338
304
327
354
294
321
366
364
327
314
335
394
299
286
271
371
341
311
161
292
239
335
307
346
283
309
293
198
370
178
384
377
322
300
341
291
427
270
222
307
350
321
332
340
298
367
308
305
235
301
287
394
385
335
345
294
291
300
327
225
289
324
262
254
299
301
300
244
326
333
355
276
347
347
313
430
331
297
266
296
377
401
362
362
332
352
297
297
311
307
348
303
328
317
295
259
338
266
254
291
262
349
266
273
269
399
360
326
277
326
401
339
355
319
390
357
287
237
365
304
265
335
274
239
329
326
334
264
382
363
311
362
347
343
261
387
213
294
362
358
296
315
223
314
356
352
300
346
329
264
278
374
322
267
375
321
291
308
291
254
346
259
333
417
289
273
323
323
325
367
221
286
353
415
356
312
342
276
375
307
341
360
319
339
275
351
292
300
374
302
287
313
310
297
371
315
355
300
335
312
232
295
216
325
372
321
278
302
316
308
327
288
291
347
316
266
328
308
380
306
302
305
344
335
268
344
218
292
335
327
361
299
354
301
356
366
311
346
263
328
243
283
256
312
287
261
295
355
351
269
347
371
332
321
318
228
281
295
387
344
340
338
304
292
334
310
292
283
343
260
307
302
352
315
273
370
265
307
386
339
306
180
399
325
282
367
317
327
257
337
288
321
411
220
240
294
380
351
392
266
373
396
295
225
353
401
288
345
320
282
328
317
294
280
357
353
387
283
364
293
317
366
313
302
285
328
262
282
282
247
304
274
355
364
319
315
290
319
324
364
258
383
333
268
289
349
291
355
279
350
315
367
395
280
283
384
328
287
242
275
347
355
339
293
310
300
282
365
325
276
286
324
302
265
391
284
401
357
332
285
309
325
384
423
297
226
195
354
325
296
336
263
403
367
315
366
362
347
286
315
382
263
320
366
296
294
283
335
261
359
282
320
235
360
237
316
299
356
297
324
330
369
308
309
320
423
267
257
333
277
317
183
238
253
325
382
335
256
283
333
264
378
353
315
332
443
261
347
362
381
395
318
229
289
285
376
325
330
347
305
249
339
358
371
387
224
314
261
396
306
303
331
361
368
246
287
308
301
341
352
309
305
281
195
277
266
275
265
334
401
305
268
264
258
296
315
278
374
257
317
276
343
338
219
336
299
331
245
349
156
305
381
327
328
277
371
358
345
346
273
319
339
277
235
296
278
305
356
357
394
254
352
385
243
263
310
365
336
332
355
348
374
306
316
300
328
299
319
261
323
376
266
298
377
315
336
325
309
334
325
350
327
356
330
319
252
325
277
321
307
304
330
243
305
333
349
305
326
311
327
253
345
305
337
369
341
377
254
304
256
341
325
314
347
355
413
333
315
393
338
322
259
310
308
310
350
362
306
335
269
409
243
327
321
401
320
353
296
340
366
309
291
329
300
370
278
307
313
313
311
313
333
304
320
297
295
290
360
358
294
249
377
378
370
312
316
324
369
292
292
321
375
260
300
404
248
344
368
243
332
207
272
294
322
305
285
338
317
283
313
293
289
288
330
321
228
303
377
276
248
274
273
307
250
317
279
326
352
308
308
317
257
294
344
318
313
333
253
310
373
291
333
330
357
393
263
339
375
392
287
359
379
296
294
331
277
256
368
291
393
293
340
325
272
330
335
384
342
327
292
294
329
273
335
377
332
366
332
273
351
307
349
289
338
343
276
272
392
392
279
263
316
299
343
272
309
416
259
367
318
283
363
207
308
385
236
327
295
230
358
272
377
273
316
364
326
342
233
287
295
362
316
369
311
276
300
282
369
281
301
280
288
382
317
298
375
363
336
339
292
428
293
299
387
378
295
325
377
390
308
266
305
302
354
209
276
373
295
247
285
327
346
322
335
330
245
310
330
375
324
285
288
356
250
283
244
362
302
287
315
303
327
335
377
281
301
285
248
293
385
196
329
313
273
305
288
352
349
306
329
252
204
312
312
360
334
257
312
370
328
390
347
403
328
320
278
339
310
314
320
303
325
285
316
352
366
342
194
334
335
342
289
265
250
360
364
371
237
308
278
326
236
251
242
305
379
313
332
295
360
398
342
198
374
311
226
267
233
322
339
326
321
307
344
316
274
265
342
403
333
306
232
357
294
291
269
281
324
350
244
290
397
406
385
306
258
374
350
331
309
278
360
346
291
278
341
330
403
314
295
174
360
343
299
407
255
311
317
297
350
292
315
297
385
214
363
325
303
296
342
200
302
356
255
313
411
253
314
315
267
326
299
315
241
323
317
360
293
306
297
358
260
273
360
318
293
358
344
228
360
254
362
361
217
305
343
263
406
393
358
364
301
334
322
372
378
370
334
313
370
282
326
335
345
388
377
229
288
346
363
341
323
344
282
336
318
318
334
276
334
277
315
330
429
276
278
362
326
365
268
365
375
249
308
326
231
402
285
250
373
324
322
276
294
334
331
263
329
274
269
298
318
279
382
276
297
331
291
231
323
325
277
344
197
355
331
237
308
274
303
298
357
293
300
274
294
348
313
323
249
317
260
288
271
276
257
271
380
304
290
329
152
325
342
316
381
252
401
411
300
336
310
298
349
331
371
344
292
344
288
333
334
286
287
237
319
390
325
302
314
283
310
397
348
354
395
404
376
322
258
336
326
384
326
289
268
396
383
367
330
290
381
408
302
334
359
330
392
341
330
263
263
318
389
414
273
312
352
313
277
297
275
358
411
410
363
327
227
276
343
314
287
267
336
303
341
353
350
309
324
223
368
236
368
324
401
385
248
360
296
287
339
280
213
338
301
262
293
330
311
250
296
362
412
316
368
345
341
349
341
278
336
321
343
335
288
328
310
341
356
298
289
398
329
351
376
258
416
309
320
322
275
329
230
343
266
339
286
431
312
340
371
338
318
338
357
413
367
248
324
299
370
353
361
305
232
289
303
228
219
333
331
292
305
366
393
309
312
368
372
313
282
300
335
217
264
274
328
270
323
337
339
236
329
369
294
345
291
370
274
320
305
315
349
346
373
350
433
352
309
312
372
300
278
336
355
285
258
292
325
371
349
349
383
189
265
331
341
320
352
289
378
279
262
281
320
241
309
352
333
345
311
247
314
345
338
285
283
341
247
345
233
298
378
323
304
221
310
294
375
270
333
410
379
308
307
360
295
245
280
271
232
408
363
280
373
300
316
360
308
330
330
284
283
340
297
339
266
302
425
312
331
346
338
256
338
226
181
302
239
311
318
408
317
287
367
311
311
274
273
307
361
339
283
317
294
385
267
373
300
358
291
365
351
277
287
332
266
308
329
288
357
283
340
294
283
386
224
409
304
384
245
305
393
330
341
320
257
368
362
387
320
382
353
317
302
321
342
304
319
348
388
352
306
267
302
291
316
299
371
251
297
358
322
388
376
398
284
365
388
268
326
281
364
368
318
301
296
295
342
361
334
328
287
280
300
396
273
234
297
382
279
325
338
319
292
209
276
311
258
291
320
294
368
324
346
364
241
297
269
284
390
302
257
366
295
439
348
351
291
358
326
380
282
352
333
255
263
392
279
218
282
398
342
391
284
400
378
329
406
208
338
312
322
409
248
255
271
358
347
296
339
218
266
282
301
300
366
355
386
364
319
311
279
304
273
255
263
320
291
301
326
363
282
346
293
307
262
286
288
342
302
267
339
382
269
310
268
302
300
304
283
332
315
312
243
320
335
340
283
325
312
392
314
314
249
281
332
193
296
394
288
309
429
244
314
229
367
209
294
392
376
256
304
376
301
358
279
280
326
269
341
287
349
270
330
295
392
380
296
317
356
389
307
370
298
313
316
324
308
330
334
428
384
346
249
333
299
342
345
299
268
304
336
352
285
328
292
336
310
350
265
229
292
302
364
313
407
332
276
311
320
380
255
343
312
277
245
338
299
261
269
337
386
352
279
399
325
230
373
382
245
305
297
319
288
344
304
225
254
355
333
386
370
319
334
233
344
374
273
284
315
337
346
351
291
276
288
304
350
350
299
357
311
232
243
334
246
361
282
282
318
407
300
322
315
332
376
286
336
344
299
339
358
333
305
279
411
341
304
273
279
330
408
331
289
362
364
317
424
338
333
300
305
331
355
355
277
271
229
370
327
298
382
287
323
265
304
314
311
341
291
264
308
343
345
336
360
338
337
331
428
328
201
271
324
278
244
296
351
245
408
298
338
329
351
360
339
366
347
214
333
311
268
317
328
329
334
321
336
332
313
390
247
275
398
308
328
277
335
265
398
262
258
272
358
330
346
256
337
287
369
433
348
334
371
339
283
382
367
251
295
350
294
313
300
270
330
321
364
242
280
298
343
264
347
330
350
264
355
410
350
333
324
311
368
322
292
380
387
346
299
276
347
328
358
343
299
273
311
348
366
325
326
293
342
284
357
290
325
287
230
334
316
373
212
381
285
436
308
299
292
310
288
338
250
298
283
273
300
282
315
305
368
359
361
365
399
248
303
281
236
378
209
279
260
363
418
281
375
345
319
270
230
299
308
390
413
325
318
265
220
325
342
302
300
305
318
317
331
238
316
343
365
312
352
270
278
328
332
318
311
323
306
333
302
214
283
295
314
343
367
291
305
324
330
376
301
276
283
303
319
291
284
297
362
350
344
311
321
386
258
262
250
326
362
296
337
306
357
304
281
321
290
259
354
353
334
311
346
297
317
332
283
325
341
321
367
277
372
390
285
277
284
331
333
319
255
291
316
257
310
289
419
261
258
211
392
245
342
298
352
313
311
393
296
273
290
326
320
310
296
260
265
298
286
341
344
312
400
275
354
267
300
327
249
187
353
233
279
329
326
279
331
286
358
295
313
345
350
356
386
330
297
311
248
321
402
295
282
349
266
374
260
336
301
281
267
360
328
399
323
350
257
256
395
291
309
311
341
287
268
291
282
314
197
329
226
321
271
319
308
273
324
261
324
268
403
269
337
202
306
336
311
287
297
338
311
349
336
364
334
305
332
249
307
304
385
276
249
360
332
262
248
390
312
279
328
376
376
316
367
359
285
366
320
365
381
285
273
373
252
296
357
337
323
301
273
368
281
323
294
220
367
283
391
271
326
348
327
320
347
288
366
333
374
318
332
328
296
323
266
379
315
275
294
284
265
241
252
360
348
356
275
292
349
410
296
391
396
299
306
294
340
303
352
407
327
329
308
293
320
287
301
317
256
237
357
330
313
342
346
316
286
355
366
261
251
278
296
377
224
327
369
244
400
228
275
309
313
325
319
347
372
397
355
258
366
257
347
274
252
312
358
336
338
333
338
329
307
261
395
304
254
306
358
291
279
299
365
301
395
358
335
351
299
382
258
361
331
268
358
417
305
318
382
338
266
202
243
349
341
283
237
375
259
273
328
366
313
290
395
378
386
367
251
323
326
358
301
334
293
362
225
216
354
307
316
257
305
327
334
336
272
356
306
272
300
359
267
230
350
301
355
312
280
389
295
276
277
252
313
357
281
363
290
256
210
299
368
394
239
311
321
257
339
303
317
331
275
280
283
308
232
349
346
340
349
300
315
324
280
324
358
252
306
316
306
373
371
193
256
300
319
277
316
305
442
358
316
225
302
345
273
403
332
325
296
323
379
329
318
326
312
350
314
342
353
320
301
344
293
274
362
299
369
289
302
276
354
289
228
358
308
300
299
252
377
411
315
319
282
391
343
467
330
413
310
285
342
345
245
279
351
388
366
316
341
254
344
264
304
337
277
333
246
198
308
216
397
199
337
407
341
248
393
323
295
379
289
406
333
352
358
303
326
294
294
385
334
294
382
248
332
322
248
256
353
327
390
329
342
232
324
391
314
350
321
353
387
340
268
320
316
337
343
335
322
309
213
265
359
295
312
370
312
295
342
302
228
283
293
402
266
323
244
237
356
264
357
266
304
321
313
331
348
386
325
364
269
344
223
320
256
339
361
343
312
280
251
399
309
317
283
318
311
383
356
284
299
393
261
303
334
342
217
383
315
342
345
272
390
276
345
300
321
310
367
340
332
288
328
275
281
340
187
289
311
298
271
265
366
283
354
346
323
412
320
332
347
331
319
381
333
357
345
393
298
333
307
304
355
325
311
359
253
300
365
301
292
332
274
274
259
260
306
288
341
307
348
288
329
305
316
340
360
347
250
328
314
298
342
312
385
375
286
280
350
376
277
336
374
341
282
192
345
352
336
246
354
308
370
323
380
392
309
271
370
312
344
256
309
281
323
352
341
277
306
350
349
320
292
312
358
344
272
332
368
340
300
301
305
390
369
380
284
368
304
306
275
330
296
258
357
260
350
300
353
302
350
308
284
327
245
367
276
312
324
325
317
301
416
308
252
332
335
260
322
275
274
298
276
267
293
346
347
375
314
270
364
342
267
236
217
297
272
347
357
329
265
270
335
302
343
343
341
378
354
272
266
247
307
333
337
310
317
358
299
337
316
300
333
329
306
321
397
264
260
268
289
347
387
272
385
349
283
398
363
218
372
375
248
311
314
322
368
267
355
376
309
340
333
351
249
253
328
250
299
343
246
331
364
298
394
339
337
307
380
281
348
227
330
379
381
311
299
299
303
276
324
253
327
316
223
400
324
368
357
349
300
257
325
300
396
371
299
296
324
241
316
281
344
330
310
295
300
367
253
427
366
354
293
354
300
337
298
335
322
318
376
284
312
298
362
317
320
333
325
324
352
321
240
280
368
313
312
324
263
354
277
313
193
310
274
358
363
325
352
328
312
396
388
278
301
416
361
334
251
329
274
311
343
293
316
322
255
313
331
277
351
345
253
348
379
315
270
375
285
240
334
304
335
295
378
281
357
267
294
375
321
326
306
219
335
350
368
335
276
396
356
365
327
311
316
331
297
304
269
302
242
288
324
327
321
319
355
303
278
349
252
233
205
263
311
371
263
329
304
221
325
281
332
314
355
300
366
258
421
329
343
323
273
392
342
279
275
412
392
389
370
254
334
338
329
257
312
391
319
299
366
309
294
305
332
339
316
358
243
390
321
240
423
316
275
332
336
266
401
320
247
306
367
293
314
299
250
339
331
336
276
374
311
320
315
352
327
353
343
368
325
376
287
230
357
405
274
405
322
329
272
380
324
349
317
356
368
310
257
312
303
288
371
346
272
375
376
320
344
369
320
317
318
252
384
222
366
333
294
359
267
332
296
276
389
354
184
257
378
349
224
375
347
366
299
254
269
322
345
351
359
355
311
290
310
236
349
335
346
289
388
321
250
369
266
357
363
345
307
355
357
284
308
286
416
371
326
341
295
356
352
321
299
313
293
399
329
347
373
331
420
371
323
370
338
347
289
302
374
301
259
350
259
296
375
329
357
224
309
314
391
257
196
402
333
400
305
301
350
303
378
283
334
342
248
304
220
237
396
290
302
300
322
349
263
350
279
303
357
335
325
275
320
324
336
350
322
349
355
269
313
272
364
242
248
326
233
301
307
366
347
329
336
298
297
367
325
359
289
236
304
276
249
221
292
279
227
324
333
415
356
292
342
217
337
267
281
237
342
303
228
267
218
324
334
340
374
275
363
301
320
301
260
322
303
376
282
284
291
353
380
276
233
298
281
330
363
284
365
338
263
325
354
354
338
309
288
359
327
271
310
396
335
289
301
289
365
328
342
315
421
286
237
303
332
386
237
246
346
267
320
370
316
364
296
290
306
322
239
389
317
321
319
321
299
405
337
297
314
273
309
342
286
301
320
392
266
386
388
343
314
338
371
317
318
313
260
301
384
258
317
321
338
337
267
273
299
297
383
243
346
349
299
327
333
336
292
331
406
295
286
293
344
266
357
373
368
343
387
301
371
322
245
282
361
313
291
336
343
390
383
324
354
304
326
218
249
333
352
327
309
327
309
205
373
320
346
260
308
355
240
291
327
325
356
372
315
326
282
339
313
313
368
239
310
270
341
293
273
322
360
256
327
427
267
300
343
241
282
335
301
277
359
323
306
303
293
366
350
249
239
319
372
404
335
236
231
330
348
272
229
333
311
381
304
341
302
227
335
288
302
358
379
346
365
300
310
331
356
315
281
313
293
327
354
317
354
309
313
285
408
381
296
285
267
312
280
333
248
261
318
356
278
271
302
366
277
324
302
332
370
299
315
262
323
317
315
344
263
377
388
246
327
321
423
356
300
288
302
279
341
239
312
325
349
293
268
254
294
369
357
310
436
298
342
304
269
418
298
364
335
343
270
273
360
347
391
329
364
253
319
260
356
302
357
324
261
355
350
403
207
342
334
385
302
313
308
211
370
327
349
301
345
318
320
248
397
365
310
250
310
258
345
383
309
401
368
382
289
273
268
372
302
332
295
311
278
291
324
313
372
383
326
383
311
291
374
311
297
272
347
343
371
401
288
234
296
340
316
252
236
291
371
296
357
411
272
273
382
310
335
228
279
343
282
269
282
345
357
214
231
339
298
326
319
278
374
328
280
371
353
286
329
315
356
325
353
321
339
306
393
395
304
342
355
298
284
329
348
295
289
384
362
289
328
299
340
360
316
297
309
347
313
356
383
275
388
315
310
282
392
311
297
380
323
334
210
351
296
340
238
322
367
351
396
279
368
235
277
266
262
313
394
332
326
345
373
289
360
302
318
334
333
318
309
332
299
224
228
351
370
321
272
300
342
308
266
325
289
295
286
268
278
338
312
309
283
371
305
340
380
335
384
324
341
316
361
331
314
295
284
278
311
221
373
296
407
346
270
276
255
367
317
322
272
321
289
315
288
236
306
286
356
296
257
296
300
378
339
232
294
296
258
294
247
316
328
322
332
326
373
280
272
267
331
369
443
380
290
298
354
301
332
287
320
211
336
303
329
313
347
345
316
343
236
309
374
334
345
383
281
362
307
342
268
343
238
334
269
271
290
299
297
318
284
319
296
328
388
336
290
315
309
366
352
293
328
297
322
268
316
279
294
356
271
375
409
349
309
357
298
377
332
175
375
209
407
362
242
281
300
306
305
311
329
353
339
320
258
304
373
290
313
312
314
345
209
310
338
244
343
267
345
340
401
334
277
275
315
289
357
301
266
288
375
345
359
293
297
334
345
248
347
413
347
369
337
332
300
334
308
250
281
351
341
368
321
276
236
333
310
292
289
351
389
270
349
284
287
306
392
260
381
373
308
397
317
269
348
277
361
293
333
270
290
281
272
267
400
238
325
286
357
222
335
290
364
241
306
404
244
221
276
281
316
342
356
269
284
287
348
300
230
321
304
361
335
242
285
313
349
353
259
332
297
308
342
367
333
292
320
340
301
323
293
386
377
356
338
351
268
327
390
323
261
278
274
306
321
356
208
347
295
296
329
295
389
255
320
384
373
263
377
411
429
279
332
277
321
281
309
320
313
313
349
269
338
323
319
249
307
259
319
348
317
311
409
344
340
331
329
316
344
367
342
354
345
344
375
383
315
384
334
394
347
237
304
382
260
374
337
440
347
342
293
313
372
331
320
290
323
318
326
269
376
330
280
228
297
307
326
310
353
296
312
280
326
299
289
312
289
257
226
341
276
333
334
325
334
317
325
269
349
323
274
299
358
325
303
336
381
283
269
352
280
329
294
282
252
286
363
362
411
304
311
380
293
264
369
251
282
346
309
366
329
385
323
339
392
418
340
227
190
332
379
253
318
327
280
351
314
315
376
373
299
391
354
332
244
322
363
310
270
355
356
340
342
346
373
278
291
315
393
269
351
317
345
281
299
321
308
310
301
265
355
339
319
292
356
348
325
346
324
354
325
253
258
298
326
269
388
275
237
335
317
364
359
332
334
317
327
355
341
260
376
368
323
295
347
357
334
288
341
284
388
254
322
380
282
298
358
333
286
294
327
361
326
284
306
358
326
256
316
320
321
371
303
353
274
379
318
303
274
385
290
334
311
310
333
316
338
311
350
361
292
382
325
307
322
254
298
308
312
353
288
278
278
302
394
294
300
295
281
334
318
221
306
254
390
286
405
363
273
353
324
245
319
292
218
302
308
269
301
320
308
334
318
249
335
356
329
270
273
201
272
323
321
237
345
341
344
254
355
380
207
393
304
340
339
247
343
281
284
329
337
271
315
300
254
274
264
337
329
347
304
393
365
321
194
340
353
341
261
322
365
309
303
234
264
371
344
384
284
297
263
229
341
243
396
329
324
283
361
335
317
326
313
351
336
295
248
321
311
339
375
297
346
377
342
294
353
270
412
344
263
344
299
286
310
268
366
345
279
328
316
290
352
348
327
363
346
369
323
274
304
285
285
353
312
233
307
317
324
315
348
401
322
326
339
317
285
347
293
348
345
322
321
292
320
338
297
336
341
346
367
345
333
340
260
303
279
321
361
313
257
246
324
336
359
264
342
349
334
279
285
286
358
293
292
269
326
371
258
272
359
336
307
367
378
264
276
287
321
349
376
368
355
265
311
307
296
322
331
291
318
326
327
352
294
341
326
339
298
341
382
288
335
265
324
324
283
242
287
292
260
280
274
350
284
332
317
362
288
289
364
273
354
263
328
376
337
273
358
280
321
339
345
302
294
410
375
196
335
300
288
287
321
409
380
305
326
300
343
238
280
362
319
348
385
331
265
312
387
344
307
262
354
269
359
313
326
309
275
221
278
306
277
263
337
319
404
402
321
329
339
339
332
288
227
329
313
240
313
306
266
381
317
375
311
330
270
312
308
237
293
295
387
271
343
322
242
317
397
319
295
306
318
342
325
336
374
283
320
349
273
260
289
269
294
353
385
294
295
324
312
318
284
324
301
324
360
313
355
302
342
278
317
264
274
276
359
304
225
357
362
335
303
396
313
297
317
321
399
331
400
335
257
385
366
383
287
267
196
308
276
305
359
280
319
323
289
307
313
293
319
309
358
274
346
313
345
350
254
331
266
328
359
385
267
343
331
307
341
333
321
397
353
386
317
317
358
253
286
332
338
312
332
358
309
341
319
368
319
334
402
301
291
274
326
304
253
279
357
309
298
289
256
344
305
390
310
348
369
361
337
357
278
286
307
319
346
374
274
278
357
297
278
333
294
325
298
368
333
364
316
384
340
341
279
223
316
241
265
313
310
369
297
304
356
292
322
309
285
340
288
215
176
310
366
213
332
313
325
316
355
305
293
389
292
324
316
258
319
330
332
342
364
360
343
376
336
269
368
238
324
288
383
395
218
279
322
333
276
305
374
279
305
316
275
269
357
319
297
265
313
348
265
272
295
331
394
338
284
358
292
362
292
290
290
395
314
283
332
371
347
301
360
314
307
348
256
339
357
334
234
306
314
271
349
330
319
307
333
299
313
388
331
350
319
330
348
415
310
237
356
279
340
290
347
332
307
333
327
343
214
321
338
414
285
285
283
326
335
322
361
347
379
314
318
287
255
279
367
362
343
294
268
340
353
289
402
353
257
356
351
294
356
297
275
360
374
238
226
349
367
285
378
300
323
251
329
276
334
208
276
342
287
353
386
325
333
296
369
271
272
375
310
334
323
336
354
332
250
351
328
321
284
361
344
263
317
301
270
256
280
228
401
329
304
255
257
369
368
337
267
288
351
291
261
321
345
354
336
379
294
305
365
278
378
350
297
348
330
329
361
341
342
298
276
236
235
262
339
290
325
281
248
258
298
386
278
303
351
358
338
327
351
301
352
315
389
305
261
337
299
346
293
356
226
253
354
258
312
390
286
271
332
377
303
376
346
355
337
348
294
375
276
261
336
317
348
303
309
290
294
355
253
365
300
288
349
358
300
277
315
291
403
290
341
406
323
372
212
341
208
348
387
288
287
265
321
357
232
308
261
288
266
346
399
331
290
304
264
225
192
329
320
381
266
322
353
360
339
370
250
282
417
289
289
292
292
375
317
332
407
267
294
298
280
285
350
272
326
319
336
240
318
353
381
318
234
301
346
346
309
371
321
315
357
331
359
314
413
305
277
230
377
274
246
305
347
288
376
323
296
382
295
267
326
306
305
274
362
327
365
380
331
274
301
306
277
397
354
276
363
358
235
297
314
401
339
323
288
361
342
314
348
326
292
384
225
304
219
285
269
380
283
354
279
375
259
348
320
291
241
388
364
376
231
362
286
303
365
281
359
371
285
270
344
374
320
368
394
368
292
256
305
345
292
344
249
387
288
312
244
323
304
360
288
267
321
284
352
313
284
322
290
269
287
272
300
331
296
273
307
403
325
283
343
390
275
339
302
370
341
225
253
339
299
296
227
338
356
297
326
395
341
346
247
385
362
386
307
265
282
318
273
378
361
324
286
357
328
344
335
334
344
317
366
359
295
283
329
337
273
365
342
298
305
380
310
270
338
255
311
257
331
366
265
331
230
361
304
353
310
333
364
383
359
241
344
302
332
346
276
226
343
289
271
349
345
366
397
379
328
304
292
339
334
342
400
324
317
287
306
340
319
359
390
332
305
317
288
321
362
416
289
333
351
292
315
291
248
315
370
311
403
326
350
318
268
373
325
333
262
268
289
294
290
315
291
357
293
315
322
305
326
322
265
280
397
323
256
381
373
355
329
295
352
343
303
345
333
262
373
425
250
318
282
322
206
230
235
299
211
263
325
383
232
269
347
326
318
300
285
269
299
345
319
366
238
228
275
362
321
324
336
332
354
288
359
405
319
282
359
338
290
290
307
334
272
368
260
310
314
268
393
340
315
347
276
354
304
289
293
202
265
274
290
270
296
239
344
338
313
238
311
324
296
343
377
326
337
380
242
297
311
317
375
270
334
337
341
369
353
299
312
297
314
294
261
301
296
374
322
296
331
240
292
354
248
323
328
308
296
317
256
296
417
348
374
265
306
258
277
320
315
384
360
340
374
326
351
230
380
316
251
311
364
341
377
360
290
282
296
350
286
311
256
264
276
302
323
317
340
326
316
336
365
290
368
277
431
285
355
377
314
304
304
356
310
285
334
352
397
293
351
301
370
358
266
326
328
382
308
237
386
326
244
323
285
324
292
388
304
285
301
286
272
370
242
290
305
322
336
269
277
289
396
340
253
352
249
316
349
365
330
301
254
318
303
282
326
343
373
321
378
346
328
335
335
337
297
291
382
347
309
325
265
251
247
338
316
280
333
292
344
181
318
272
335
319
282
359
305
254
240
408
386
338
366
338
396
288
308
314
284
363
337
284
277
363
284
356
285
357
319
343
359
361
378
338
332
411
310
331
342
282
252
296
304
261
383
305
372
304
302
357
368
401
310
355
296
345
284
312
261
286
289
296
331
305
251
222
368
300
324
318
373
347
314
348
319
308
279
238
356
224
313
359
277
353
375
289
282
381
311
263
332
304
266
250
387
281
212
265
311
372
294
275
289
205
340
341
257
309
327
336
260
341
315
310
380
256
247
329
376
298
289
376
322
337
301
335
265
269
390
339
203
313
294
349
307
439
294
371
290
220
299
345
337
373
332
385
315
355
318
329
328
315
260
376
353
228
354
366
284
254
292
317
322
338
221
297
287
372
282
313
357
287
320
319
388
232
215
322
326
319
295
307
372
378
379
264
257
312
306
293
264
335
354
391
324
252
334
316
249
297
323
275
345
347
317
398
292
350
353
349
302
330
357
249
292
315
261
240
277
283
262
256
326
394
287
342
291
373
337
301
346
311
348
380
361
343
335
276
293
299
321
278
369
327
326
324
346
278
343
385
281
298
292
293
295
304
315
327
328
414
275
347
300
306
335
305
375
289
264
314
286
249
335
350
290
345
346
313
353
384
326
302
275
217
376
262
310
252
327
289
240
259
210
235
360
343
381
318
311
332
364
331
349
293
283
346
257
384
243
313
392
280
324
345
311
326
350
269
341
275
221
320
357
294
277
364
245
284
312
326
365
351
249
258
388
335
340
303
317
329
352
356
376
303
352
302
328
350
212
246
414
366
400
314
353
290
331
296
303
355
371
315
354
280
201
336
341
375
332
312
288
332
352
307
337
356
380
253
322
387
261
328
267
343
352
288
311
358
378
261
320
347
281
276
347
274
327
375
295
292
252
274
326
217
341
331
339
267
339
339
262
325
337
295
286
304
329
320
239
306
334
255
336
336
348
364
350
361
336
311
270
270
375
315
267
324
284
259
312
261
329
280
378
348
302
316
295
338
223
359
287
286
311
334
305
348
324
416
257
325
249
312
391
299
355
410
323
337
332
331
377
276
328
309
226
365
331
311
252
313
369
339
317
332
336
280
319
299
251
317
285
239
260
266
325
319
389
273
327
237
383
274
350
284
319
342
248
279
289
311
357
308
296
285
324
287
297
370
350
320
277
351
287
298
283
346
373
282
301
384
302
291
362
298
436
277
342
345
353
279
342
329
309
338
294
339
320
289
417
343
322
347
307
251
350
260
335
335
301
268
363
348
370
320
381
310
365
367
281
417
242
290
319
402
354
308
404
352
326
300
310
270
321
309
308
286
284
356
317
300
304
308
293
381
368
320
265
340
345
378
334
284
348
247
324
348
282
273
242
325
319
338
350
257
377
316
385
367
315
231
304
387
344
277
280
454
321
327
328
278
395
338
299
307
202
364
333
429
392
329
325
267
344
278
337
366
291
334
304
289
294
298
321
265
256
339
270
325
331
295
316
370
349
314
248
331
305
370
361
272
322
309
359
330
370
290
361
374
264
287
305
264
310
276
293
308
328
232
409
355
324
273
317
335
400
337
321
327
259
373
341
294
315
428
276
390
251
333
355
312
322
346
333
269
407
299
316
339
320
323
321
324
397
364
387
310
269
253
344
346
387
325
420
273
340
292
411
324
276
331
273
330
380
328
330
380
337
342
323
337
228
323
344
322
285
295
301
282
276
363
365
368
260
322
335
266
305
287
386
345
281
426
353
240
302
340
258
312
264
353
279
317
373
276
238
327
302
282
339
449
306
329
325
319
373
363
369
276
313
314
272
365
372
353
384
340
283
318
227
248
271
260
273
239
316
263
367
292
266
322
309
320
312
273
269
325
311
376
250
338
281
387
291
272
358
314
400
409
313
343
304
204
294
263
322
197
342
293
346
374
289
356
305
223
263
292
350
298
318
329
240
272
344
348
383
330
349
363
259
258
336
324
283
269
238
269
307
309
430
365
331
361
343
392
349
348
368
306
314
264
295
334
312
341
372
338
345
322
365
287
207
259
317
323
265
341
251
290
305
303
279
261
349
327
277
417
308
292
356
342
342
268
438
315
371
259
360
216
302
346
386
341
299
329
390
386
350
333
253
340
315
338
286
359
329
273
311
294
377
302
328
260
340
254
315
349
368
316
300
354
293
326
335
321
308
317
266
296
227
373
292
329
359
312
335
375
363
275
237
181
179
318
232
317
338
323
250
397
345
244
345
365
363
284
296
300
199
320
338
399
317
312
318
296
391
333
248
312
292
342
301
319
309
237
302
306
379
321
330
289
327
345
374
369
328
336
245
428
302
237
267
317
282
315
303
360
350
344
276
364
312
363
325
337
291
311
355
349
294
330
318
228
285
353
392
320
296
324
260
258
323
353
354
316
273
313
323
295
255
305
238
322
357
347
268
337
297
329
341
245
347
312
280
253
250
379
309
294
277
350
355
265
266
300
339
315
299
309
359
302
270
317
327
304
274
376
360
339
293
344
299
390
391
351
369
367
274
324
224
335
334
281
316
353
329
294
377
307
277
383
343
302
363
380
319
208
318
276
362
338
310
230
367
260
249
302
363
312
334
334
353
330
350
248
243
318
364
295
324
305
415
344
274
266
392
344
361
304
356
333
328
402
254
261
287
340
274
298
292
400
254
340
281
327
327
279
326
277
341
362
381
327
260
240
398
256
342
261
347
258
258
392
325
330
346
267
289
301
338
353
339
412
319
302
353
250
298
377
326
374
300
374
348
334
285
335
312
255
259
316
325
302
326
345
332
292
321
322
376
354
323
399
304
395
367
282
256
329
244
383
326
281
261
303
286
287
328
263
427
348
320
368
319
319
379
338
393
305
404
236
288
218
282
291
337
333
301
315
327
293
330
365
364
327
298
344
375
319
385
334
279
313
275
334
320
288
321
365
321
303
259
295
259
285
273
310
328
296
180
303
327
309
337
379
262
361
356
342
273
362
337
320
188
326
317
382
290
350
326
215
326
394
231
324
279
266
336
253
305
283
378
286
257
307
322
314
293
289
438
228
343
288
389
324
272
279
280
285
383
297
358
360
372
267
344
343
244
318
378
299
346
325
290
168
354
365
296
314
309
257
322
316
352
399
310
300
277
350
408
317
373
271
308
229
375
314
341
247
397
289
370
344
321
310
364
341
240
316
299
342
334
271
268
323
278
315
348
373
342
315
312
363
255
303
342
208
333
290
273
319
299
389
286
250
313
392
322
317
356
298
333
340
374
315
298
302
348
303
289
320
331
250
308
278
346
327
266
327
334
320
242
372
243
308
331
353
306
359
338
310
384
224
325
347
266
355
364
315
295
315
318
295
274
326
325
267
318
438
325
347
305
294
379
284
343
305
307
382
338
360
355
265
343
275
298
313
282
351
281
342
292
315
295
299
242
353
379
320
288
331
409
180
322
314
287
248
401
350
338
389
332
218
362
348
287
323
310
341
287
311
312
395
318
360
311
334
279
362
328
344
271
289
338
360
369
297
310
318
326
355
271
316
332
258
329
308
398
301
334
343
335
307
292
221
260
304
397
280
260
286
354
321
266
242
318
344
310
342
302
256
294
289
323
292
303
324
364
334
299
306
293
289
331
339
288
290
351
353
318
356
365
364
318
315
348
318
331
311
357
358
368
394
302
323
335
354
334
332
363
357
309
292
255
374
361
330
327
336
310
299
307
313
303
353
297
333
282
346
283
344
382
304
344
284
277
248
288
341
360
302
336
244
285
270
380
331
349
306
368
323
274
387
364
302
334
341
336
367
410
357
179
295
301
367
317
333
316
302
317
274
366
291
368
353
282
295
262
399
301
306
356
295
344
332
354
269
315
292
363
361
303
326
343
285
343
312
355
317
297
320
318
324
315
362
281
339
291
345
285
330
253
293
260
348
300
315
307
316
306
317
221
316
246
329
312
272
300
384
327
367
292
269
339
326
321
381
231
273
266
288
346
357
303
275
279
350
305
317
270
212
264
291
379
253
336
316
362
259
330
270
353
302
247
330
326
375
297
329
359
343
291
275
327
322
286
314
299
358
231
367
259
311
218
255
389
343
310
317
307
310
324
411
303
239
284
307
218
342
289
234
290
294
289
346
282
355
293
307
338
304
272
330
317
315
279
379
288
382
293
298
317
348
361
312
334
332
282
346
345
359
300
289
260
288
388
311
401
239
404
329
329
197
304
281
344
303
347
253
236
267
400
322
400
343
362
329
305
354
198
305
371
284
261
353
450
352
337
266
278
256
300
283
280
214
274
306
296
270
345
336
322
343
295
268
332
325
309
281
388
313
327
371
315
353
361
398
299
343
308
319
429
339
350
250
326
264
319
390
312
311
391
301
296
383
316
380
198
312
378
323
265
410
349
279
253
315
291
402
274
373
269
278
320
245
262
360
294
290
311
326
383
363
245
222
312
290
320
258
263
324
268
294
316
353
358
310
362
339
354
292
341
343
308
331
321
335
340
275
218
380
329
388
300
370
261
244
287
311
341
318
351
280
295
283
345
294
271
355
311
315
257
298
384
306
319
293
281
357
318
303
293
309
325
408
358
375
305
336
303
393
339
312
321
403
268
233
346
329
316
311
327
286
299
180
304
354
280
341
315
386
343
342
318
368
300
273
349
425
272
342
273
356
327
320
235
316
264
354
328
297
272
337
270
319
285
341
309
307
283
358
319
250
347
348
369
350
316
280
377
369
353
285
367
324
229
261
326
353
334
323
337
366
354
360
275
288
296
305
301
275
331
280
347
376
344
271
330
268
264
302
330
305
292
298
251
214
321
351
313
332
294
360
308
323
292
247
347
303
271
361
334
341
301
334
326
323
314
374
306
290
279
293
282
207
275
356
307
333
347
294
307
309
326
378
285
322
346
288
392
249
331
331
332
290
274
289
432
360
314
350
298
287
283
309
336
348
388
270
223
285
316
373
344
299
360
358
283
344
330
289
313
375
364
207
257
310
297
350
276
220
290
333
352
289
366
333
359
285
322
328
350
257
282
318
259
263
355
288
306
262
256
316
315
340
234
215
304
362
340
381
274
318
367
325
366
315
312
346
322
290
354
321
367
304
279
324
376
332
337
330
225
385
308
280
298
287
336
319
245
301
297
310
287
351
352
267
252
289
295
308
374
196
271
393
383
309
307
356
302
346
282
305
231
206
369
306
237
384
318
334
361
243
288
315
344
363
350
301
411
340
373
268
345
319
258
314
398
308
385
334
308
377
332
330
352
266
353
342
305
237
359
350
225
385
285
349
275
333
362
386
292
341
364
265
340
405
338
351
236
248
291
218
315
372
372
379
304
324
263
306
257
393
340
306
358
344
351
314
344
270
340
317
272
375
273
359
257
259
375
302
313
328
365
376
400
312
357
272
311
275
278
385
313
341
337
324
338
378
343
414
292
383
312
300
330
391
334
291
369
278
353
309
289
321
332
334
267
272
277
316
281
241
373
303
278
311
348
308
340
305
366
371
323
444
284
375
329
348
298
237
378
342
322
244
307
309
348
294
389
273
343
299
288
356
343
385
323
331
325
310
317
272
294
361
326
418
425
332
310
291
282
309
388
281
241
380
314
288
370
370
313
267
392
242
325
310
382
357
308
312
321
257
276
284
357
358
305
382
267
324
270
320
225
314
321
275
255
303
304
273
403
324
417
313
288
316
313
308
261
381
358
278
288
371
351
343
331
335
370
342
297
287
277
296
380
336
331
342
321
305
317
278
338
329
300
335
349
317
397
353
255
319
386
359
303
400
255
343
360
307
362
357
364
323
327
287
330
344
309
335
309
362
237
298
342
334
351
375
301
351
313
323
268
303
330
353
302
396
352
292
298
290
276
315
316
354
384
353
282
357
356
296
354
353
391
263
327
268
274
321
331
278
394
397
332
331
343
296
340
372
260
263
370
345
309
356
244
330
376
296
359
323
250
276
321
449
363
348
327
295
318
278
380
323
327
256
346
338
314
418
271
282
287
446
293
419
364
215
356
314
410
266
283
287
339
368
352
285
348
359
347
375
391
332
322
413
361
328
396
274
234
343
325
239
294
293
315
344
329
310
340
305
344
312
310
317
308
327
302
243
349
330
291
295
236
363
312
353
283
411
333
326
317
267
376
323
348
309
304
261
293
328
268
356
342
281
319
328
417
285
287
269
285
351
254
311
306
292
279
319
335
353
311
363
390
357
380
293
346
364
300
321
319
383
329
273
290
298
266
361
379
289
275
231
309
347
324
429
301
283
352
280
288
348
340
231
308
225
251
345
267
384
312
310
287
368
237
313
301
428
380
389
348
327
360
315
378
323
372
334
317
326
335
284
305
202
299
318
319
305
361
343
404
287
257
298
251
285
336
293
349
337
205
252
307
298
268
297
256
325
235
280
326
332
349
323
298
368
346
352
361
268
351
354
362
304
294
302
363
321
355
344
314
311
313
363
339
360
283
344
257
340
328
361
381
418
337
332
380
230
265
247
214
336
330
293
355
277
311
354
312
336
371
341
226
226
408
303
332
330
331
343
349
301
284
301
336
275
373
338
330
265
385
320
376
197
278
352
258
313
274
355
343
422
323
291
391
263
379
318
315
412
312
287
225
314
350
265
208
297
263
383
365
321
373
313
252
317
266
344
352
278
351
364
304
266
271
291
314
287
310
328
239
319
258
393
333
334
328
340
296
301
323
421
370
308
311
278
261
331
262
334
362
355
340
297
293
385
295
328
273
294
352
233
254
310
257
327
299
337
320
348
339
365
368
346
311
298
366
307
246
351
347
401
358
346
264
338
347
370
332
302
267
339
327
291
265
287
305
298
344
327
366
338
301
269
361
322
410
243
324
216
323
296
315
275
252
343
241
314
313
372
326
274
347
322
288
311
307
364
379
280
336
333
336
269
326
342
210
387
269
336
354
392
327
238
333
340
306
377
322
354
360
237
262
265
365
342
387
271
368
384
360
317
331
298
316
309
330
328
368
263
315
276
372
329
331
338
377
279
389
339
373
302
308
211
333
414
221
354
364
224
288
324
389
372
328
236
266
287
288
345
303
349
321
280
367
337
239
291
313
337
276
365
301
283
264
345
346
339
297
298
296
261
251
188
250
368
431
325
286
359
354
355
306
353
244
291
293
249
253
315
285
295
237
287
293
276
260
277
224
357
362
279
384
344
382
241
269
306
337
304
301
332
264
358
391
396
339
244
303
343
327
378
223
333
357
333
350
326
255
318
340
344
310
352
317
322
298
355
363
382
353
347
326
316
348
255
327
312
329
398
363
274
346
338
268
299
292
317
241
350
325
240
355
403
308
282
265
350
320
374
313
360
325
305
340
303
270
295
280
355
302
355
317
245
343
353
287
318
343
258
314
329
351
322
348
328
294
242
342
292
323
385
335
289
282
220
350
281
284
377
291
307
317
288
276
308
233
302
355
257
295
390
354
342
310
376
333
254
256
302
343
296
348
321
369
301
388
208
320
257
393
258
231
367
279
320
306
304
321
338
257
287
367
354
362
358
276
178
243
194
372
299
312
343
289
349
352
278
264
336
401
281
307
345
324
298
353
284
329
378
266
269
322
313
314
275
268
324
364
357
318
347
330
357
375
302
359
318
321
345
316
283
276
356
346
364
304
310
226
246
335
249
324
347
278
290
371
370
320
294
336
289
331
386
311
273
218
316
348
316
266
284
305
296
333
298
269
307
327
268
313
328
399
288
392
296
298
330
367
315
349
296
329
267
317
334
308
310
320
330
267
320
231
367
261
340
259
341
343
331
314
317
283
325
282
322
319
313
388
342
376
282
281
334
349
307
272
266
332
300
344
269
385
365
278
315
363
283
337
301
400
296
336
315
330
323
267
376
330
346
273
344
303
290
372
345
385
217
271
323
330
327
328
281
369
295
351
311
339
436
373
303
279
303
275
394
298
357
315
213
352
374
304
264
359
294
289
338
320
301
343
331
370
275
276
354
326
353
334
330
291
230
360
316
236
283
392
414
368
332
343
254
359
232
355
205
362
277
351
288
400
246
303
379
297
376
393
373
254
216
264
370
401
359
354
264
284
382
340
290
320
240
271
367
258
323
355
316
349
323
276
307
282
324
310
354
186
277
279
322
339
324
290
397
312
264
306
309
330
262
336
308
316
341
276
282
287
292
284
257
243
384
310
248
366
288
349
288
371
400
357
284
303
298
250
302
338
329
315
315
258
261
225
281
314
319
299
347
374
310
342
372
267
249
268
360
293
337
362
341
325
378
333
259
288
298
373
443
249
381
306
282
316
267
342
298
283
326
319
328
304
289
301
377
305
389
222
303
357
313
327
320
343
256
255
343
311
375
244
310
303
324
329
301
245
291
330
343
311
328
368
274
244
347
335
407
384
315
264
350
396
255
281
311
290
320
311
320
236
381
332
296
388
282
294
208
247
358
317
359
352
297
275
256
306
297
271
241
340
382
287
406
353
366
295
309
283
259
340
356
323
275
346
273
329
329
356
338
325
316
319
336
372
331
288
233
299
342
326
330
360
315
380
367
336
273
275
314
373
358
311
282
369
349
295
256
352
260
327
319
252
285
261
377
336
255
394
391
353
364
299
274
369
369
313
373
370
303
239
258
308
291
284
356
324
303
292
377
351
284
287
299
268
294
303
330
371
381
330
312
302
335
412
267
305
325
323
220
270
303
304
244
304
362
301
302
332
295
256
313
398
373
372
312
294
303
253
354
300
308
328
277
287
351
242
306
358
350
387
414
382
333
283
365
327
312
286
308
394
237
339
352
314
273
228
336
317
329
371
270
353
338
401
295
317
226
361
297
399
328
304
283
318
352
339
414
271
290
321
331
375
268
355
275
373
349
287
328
334
258
269
394
318
214
413
279
348
245
332
394
321
298
334
351
361
324
316
331
351
449
259
355
314
342
322
336
287
396
384
264
292
348
269
328
283
260
354
314
357
307
330
303
293
282
383
307
314
343
357
346
347
375
292
289
283
333
334
219
299
348
311
323
244
332
313
347
316
310
315
342
316
251
278
318
341
291
362
302
273
293
311
333
301
335
354
366
370
283
325
344
335
314
298
289
369
265
351
323
343
297
298
340
250
392
444
376
332
265
323
354
289
343
264
302
336
282
358
350
329
338
331
306
262
213
287
396
312
403
372
296
318
280
327
253
346
303
379
244
328
311
345
338
346
271
347
262
355
180
311
357
267
276
318
255
313
288
311
319
368
390
314
362
345
312
325
352
228
289
390
389
273
229
263
294
277
332
293
260
307
391
367
370
281
321
309
308
339
313
369
339
382
352
378
307
356
367
268
352
355
313
294
316
323
266
202
288
293
313
309
293
338
244
295
318
384
367
332
260
290
365
363
279
298
309
259
318
234
327
355
310
233
342
346
279
286
418
287
362
264
251
267
317
305
346
249
358
326
356
236
373
339
341
272
260
289
335
329
277
289
331
287
302
279
317
255
267
284
348
345
297
275
386
350
269
263
315
361
277
372
320
363
249
303
289
287
275
364
301
332
271
377
338
225
327
307
301
273
303
392
317
319
304
296
395
260
242
363
280
354
274
285
304
274
248
267
304
266
272
365
412
344
326
258
394
257
256
224
322
295
247
321
313
260
287
298
231
275
344
375
299
315
321
351
340
300
341
276
341
282
289
353
284
265
226
323
281
337
222
366
329
297
335
279
295
283
278
291
307
273
219
359
364
243
304
279
298
312
283
354
262
307
301
353
286
251
276
280
309
336
335
283
319
380
305
321
276
254
325
297
336
320
342
283
259
334
310
302
367
255
312
248
269
346
356
304
281
272
339
352
335
404
372
388
324
339
334
293
333
342
275
344
294
281
328
268
392
365
361
418
377
386
329
302
204
374
301
313
199
381
288
323
328
353
324
309
246
293
394
399
316
244
316
359
326
319
302
270
278
247
311
313
346
340
240
404
251
392
450
336
309
334
365
318
272
333
345
235
331
313
381
205
286
297
322
391
317
365
364
303
291
325
209
260
388
345
301
286
282
238
264
343
343
287
256
312
258
343
373
216
389
266
296
252
306
297
312
365
253
343
340
253
289
341
252
323
341
269
303
287
360
353
305
278
326
282
292
321
254
332
298
276
328
312
315
307
257
284
239
315
366
362
287
305
346
278
324
262
244
365
240
354
332
329
281
317
361
324
302
297
326
320
311
321
301
331
326
289
325
322
323
288
276
291
314
280
312
304
448
274
298
331
299
265
375
378
347
298
208
348
325
281
245
401
322
347
339
351
380
324
355
343
342
270
336
272
271
378
319
363
312
387
263
320
404
315
396
344
203
380
307
373
269
364
363
249
284
231
304
264
346
329
281
368
287
274
242
217
304
313
296
269
308
300
333
369
369
287
298
386
340
392
295
412
346
224
223
287
371
408
325
325
348
335
250
359
302
406
314
351
376
330
352
365
397
322
285
325
289
388
430
333
297
302
313
333
325
377
355
360
323
319
345
328
336
356
387
314
359
201
245
365
271
299
331
319
347
372
353
221
377
330
326
329
284
347
302
335
310
310
317
324
287
248
318
334
304
349
290
385
258
326
321
316
315
358
302
305
389
261
347
277
328
267
270
364
340
357
338
430
311
317
249
281
258
368
315
334
364
285
318
297
327
413
279
211
348
356
322
322
344
332
341
245
348
363
300
304
348
287
306
326
398
313
267
382
323
192
302
307
267
366
293
324
383
292
318
365
384
287
378
364
376
401
269
315
310
248
336
306
292
373
346
295
215
283
277
312
327
265
302
348
268
359
318
375
230
233
327
305
310
270
400
317
325
237
280
322
284
354
330
354
265
254
254
307
382
276
374
278
269
351
292
340
310
350
269
358
302
316
354
299
361
376
314
289
309
311
257
311
346
276
393
267
321
348
316
295
354
403
325
326
350
362
309
406
290
324
225
399
286
394
393
266
278
325
245
310
319
278
274
254
282
288
255
310
196
306
241
326
290
316
325
281
343
314
254
230
329
360
205
246
357
327
312
320
337
217
357
303
320
380
300
259
326
333
268
323
386
280
264
286
304
373
342
314
338
367
302
346
329
285
339
398
344
262
284
256
371
341
203
355
314
254
379
319
319
271
265
291
328
284
330
304
276
406
349
354
345
350
272
286
381
333
397
331
345
363
335
245
275
277
370
310
228
223
314
346
314
317
227
264
290
305
349
383
356
351
312
292
339
326
290
214
358
307
383
338
380
352
217
313
321
326
314
326
391
267
321
376
309
362
373
406
347
259
350
289
313
273
283
275
238
331
345
339
290
309
337
216
279
263
331
318
255
340
279
366
389
293
311
356
396
331
278
269
366
368
284
326
314
318
347
304
323
353
309
333
309
330
251
362
294
324
200
240
308
225
217
349
308
269
262
381
241
303
281
328
322
320
262
332
298
320
398
253
262
362
333
344
291
333
311
327
262
243
248
289
271
276
182
328
296
338
396
294
277
351
286
385
349
251
289
298
333
251
367
309
273
305
323
306
330
355
359
394
270
275
259
272
226
401
374
288
390
282
329
345
306
296
269
316
286
348
268
315
330
309
363
296
362
219
291
292
280
383
319
338
306
283
281
310
340
367
338
255
384
329
326
360
315
314
321
366
303
311
353
357
299
320
347
254
256
244
316
309
283
220
300
330
276
320
265
342
329
350
217
351
315
353
320
409
357
316
272
301
284
349
341
295
303
337
366
315
243
293
423
336
378
323
319
200
305
364
273
300
295
285
335
360
343
242
335
293
317
395
217
388
348
250
290
383
302
297
355
323
242
260
303
295
344
384
317
352
350
374
340
347
250
373
291
265
339
368
287
294
289
345
382
337
307
302
344
273
337
339
405
321
296
264
339
341
175
278
390
349
300
367
379
353
319
381
297
262
340
369
276
289
321
305
363
313
330
350
344
226
377
272
333
312
293
355
345
308
324
259
304
339
261
325
315
289
323
329
279
248
397
331
342
334
259
258
289
346
260
305
319
251
338
329
314
352
305
290
289
327
314
342
296
338
299
250
295
288
290
324
388
349
375
303
277
373
341
349
303
324
361
285
249
314
333
334
316
270
341
332
358
295
375
279
284
368
336
310
304
280
271
271
309
294
306
229
295
393
225
368
296
314
395
299
388
306
332
285
311
382
272
309
312
319
335
350
329
395
285
315
318
332
410
272
335
317
355
346
355
263
312
293
247
315
360
328
334
354
305
353
349
333
372
305
348
328
311
345
357
359
404
249
343
361
276
358
263
342
311
256
284
301
263
308
306
400
280
334
382
316
250
311
358
312
383
278
315
312
334
330
341
286
299
327
397
404
398
354
343
358
357
292
357
362
353
304
301
271
327
390
376
247
265
301
230
392
323
331
290
354
254
287
236
287
314
317
311
280
192
346
369
341
344
336
327
361
313
289
320
327
270
344
328
335
322
280
387
361
373
316
260
265
351
343
384
311
263
307
327
314
405
360
354
347
331
318
310
295
291
409
384
336
332
293
321
380
336
285
371
348
310
326
379
269
308
262
347
316
270
255
287
288
416
355
275
366
319
325
309
289
197
320
377
363
368
245
260
337
361
386
365
408
314
305
325
298
319
303
314
232
289
370
354
293
278
306
207
298
286
305
277
315
409
362
347
289
306
264
314
301
308
315
304
332
352
337
315
244
247
243
260
372
387
330
311
271
300
248
331
286
317
290
263
361
390
271
243
304
300
341
302
230
330
345
316
334
283
349
376
224
298
277
391
392
393
313
326
339
315
225
310
311
329
358
329
366
321
319
319
358
276
388
341
291
345
381
272
319
315
302
307
189
294
305
234
388
318
353
263
353
238
352
294
292
260
285
247
323
309
299
347
329
287
321
340
321
333
309
376
413
425
285
311
295
366
297
338
367
308
267
272
342
307
320
334
395
361
392
356
219
347
312
303
323
243
279
267
353
316
252
230
305
373
319
194
280
334
288
382
304
360
330
277
291
316
386
332
220
409
369
373
361
340
272
361
338
301
354
307
385
363
323
380
348
358
331
353
313
262
349
300
301
374
264
281
235
307
261
325
348
248
267
290
297
244
341
380
374
243
348
355
310
390
312
334
329
387
366
298
347
314
339
321
282
309
382
379
304
267
285
408
371
367
306
356
374
327
317
365
304
332
378
303
365
328
380
290
299
362
268
157
360
339
349
311
359
421
270
334
338
328
247
294
340
270
297
258
381
326
356
312
279
359
255
333
332
374
240
330
288
401
267
302
427
287
321
318
266
348
285
359
317
334
300
227
366
272
347
317
279
302
341
322
352
321
304
372
287
262
301
357
298
345
339
375
304
330
325
314
335
309
294
300
245
334
327
279
375
210
248
326
312
302
435
274
334
256
309
310
304
439
254
286
283
355
235
294
364
302
252
361
297
351
285
309
295
352
279
303
322
411
310
372
403
266
301
346
214
291
355
286
329
370
347
356
298
321
259
288
323
254
284
369
373
309
315
321
368
275
225
358
336
310
364
328
378
315
303
311
299
335
349
246
255
342
293
365
311
376
326
411
313
362
354
272
297
283
308
361
296
316
361
315
295
321
339
409
275
322
324
329
269
322
308
407
300
333
319
346
347
274
316
308
357
302
185
400
367
324
322
285
354
272
304
313
390
272
326
330
379
257
336
360
358
390
323
278
406
263
335
225
326
295
336
319
356
275
277
357
307
243
246
329
406
343
262
387
272
302
311
282
240
281
305
377
367
420
353
289
370
303
374
261
344
248
318
315
289
309
351
319
325
382
304
320
349
355
328
376
296
320
287
366
325
258
311
363
321
379
332
282
331
330
240
308
326
397
368
262
337
292
267
313
280
270
311
239
289
380
365
315
358
314
254
258
372
290
365
302
254
308
346
244
291
288
312
278
354
335
293
333
182
353
223
274
253
368
302
282
326
363
356
372
285
359
308
247
270
304
404
296
320
348
352
317
412
408
309
340
307
240
339
366
366
341
337
307
364
221
341
388
281
334
151
303
344
255
259
279
301
363
349
293
389
282
352
279
266
281
329
304
315
309
308
308
353
337
399
355
340
370
217
281
306
304
362
271
312
302
312
305
349
353
310
337
308
347
251
364
301
257
356
274
316
270
406
278
242
292
410
405
288
356
343
262
295
319
309
337
336
304
318
238
355
304
283
281
327
367
311
341
308
300
308
253
382
343
306
265
338
396
277
333
254
382
267
292
308
298
341
387
315
264
347
376
379
307
295
331
368
307
363
271
251
249
374
237
341
310
329
285
350
308
352
291
317
342
248
281
330
331
243
333
305
247
345
313
393
432
304
322
352
311
315
246
280
339
328
240
261
257
297
367
326
312
403
357
200
293
297
290
294
298
355
360
372
287
319
286
313
325
229
356
261
239
261
252
230
281
301
313
264
333
270
290
356
339
300
342
364
337
366
292
334
335
323
263
355
360
327
379
309
364
277
298
355
307
273
261
349
389
334
328
334
289
318
345
310
394
322
330
387
268
256
348
232
237
332
388
312
310
283
279
301
267
296
356
369
331
289
355
340
298
335
383
332
351
344
296
362
272
336
305
276
344
321
278
292
342
313
325
298
389
262
383
254
295
284
301
279
371
359
250
316
337
275
333
336
319
319
278
351
278
311
229
349
399
247
289
348
289
242
352
352
291
327
373
261
356
307
310
254
303
415
295
357
299
370
337
382
234
302
306
290
252
352
296
299
354
275
363
322
284
349
293
387
316
418
254
345
339
268
347
298
350
267
365
301
273
258
312
263
239
279
311
289
360
303
337
283
318
308
323
367
401
258
287
371
374
228
353
332
290
291
309
362
310
361
396
320
256
345
326
371
267
341
298
284
280
355
374
308
289
377
322
303
226
310
369
275
331
256
334
316
341
258
237
368
326
259
320
355
322
318
284
326
418
367
364
412
354
271
246
308
253
259
340
365
244
343
240
285
255
211
253
337
331
302
254
301
306
359
324
396
338
318
347
291
419
391
274
354
251
372
223
336
300
338
298
224
257
320
267
271
365
341
330
270
367
336
317
359
293
319
402
290
300
184
323
410
311
383
314
346
284
239
380
364
370
309
261
374
206
389
364
321
336
309
323
354
246
333
354
347
398
325
300
335
297
267
294
341
363
385
366
238
302
306
266
255
329
309
341
286
307
222
309
403
395
292
386
366
310
291
335
316
259
269
327
287
277
331
280
371
226
405
383
344
340
295
353
343
339
294
338
326
345
347
312
308
320
314
307
307
352
309
281
313
258
331
313
272
311
299
276
368
320
306
365
261
353
307
336
406
254
336
299
350
320
382
350
351
312
305
291
350
330
301
334
311
314
333
318
380
278
409
280
276
339
348
284
299
268
350
339
324
292
258
331
330
307
271
286
293
324
326
302
314
259
349
283
324
340
321
365
272
266
309
272
333
350
286
365
362
293
273
327
287
325
272
294
351
304
339
273
306
212
265
230
320
301
336
403
412
274
294
375
260
329
319
311
302
329
342
324
313
351
320
292
287
285
328
426
365
341
316
277
316
324
272
351
318
298
310
196
279
339
334
363
362
303
360
311
353
255
345
324
291
399
282
351
309
328
398
290
369
353
385
329
350
294
322
221
396
190
339
335
374
262
360
247
350
360
334
366
352
291
303
326
295
290
311
351
279
290
289
279
274
325
273
342
310
369
311
384
342
361
269
350
337
337
364
421
179
326
274
326
284
339
250
373
201
398
256
368
395
318
259
340
378
378
196
293
344
314
335
313
323
397
400
318
277
263
259
364
354
360
299
254
309
342
312
234
326
404
364
288
296
287
314
338
330
297
343
315
324
326
361
283
299
352
344
336
280
327
406
293
287
328
268
351
220
338
290
314
310
291
355
322
336
220
306
370
304
279
353
328
381
269
375
315
200
309
391
332
236
406
265
307
269
353
293
290
259
284
369
384
298
344
300
270
326
271
332
284
338
309
298
375
330
289
254
222
368
317
341
375
285
238
419
363
291
298
212
203
272
365
292
263
338
350
335
346
338
355
380
286
259
266
274
439
327
279
293
327
356
375
271
330
277
247
328
340
285
360
389
217
325
289
419
288
340
243
300
258
356
328
362
249
277
294
318
363
359
341
355
306
300
332
316
386
292
323
282
313
296
261
318
323
319
296
378
339
355
315
409
327
337
347
332
312
334
266
234
308
359
346
346
282
368
329
344
356
350
365
307
322
306
343
263
303
372
352
383
275
252
261
265
325
295
313
388
345
392
325
287
263
319
336
323
372
347
362
349
276
196
278
319
259
314
313
326
239
367
362
261
335
310
237
327
367
252
273
284
324
314
309
258
357
315
327
378
261
385
343
261
285
240
367
338
249
290
324
384
387
322
337
218
376
358
246
239
245
280
298
286
324
380
289
361
397
318
273
246
251
330
299
263
280
278
289
306
307
423
339
275
283
319
295
409
345
291
293
329
257
333
259
307
341
302
396
347
331
263
359
303
285
351
339
353
297
345
335
335
238
355
346
290
331
282
355
341
225
230
358
252
229
297
318
278
304
399
300
351
343
270
330
362
268
353
339
305
170
281
300
281
297
413
340
190
364
350
352
318
291
365
350
356
311
348
261
306
278
314
338
408
302
407
278
403
324
347
342
255
251
350
380
346
346
262
301
311
346
225
315
359
253
211
307
300
286
332
345
288
293
287
330
311
324
407
349
311
292
353
369
324
279
339
310
354
330
397
325
310
299
254
263
250
292
300
220
409
246
298
341
355
317
368
342
295
323
330
332
275
315
356
291
347
284
261
364
256
363
336
377
361
371
387
341
291
347
308
351
367
266
290
304
295
321
300
371
249
361
368
210
329
243
294
306
258
360
297
369
236
248
383
322
277
362
321
305
305
314
296
426
336
336
360
368
212
396
288
324
384
327
299
287
350
312
357
248
335
339
288
299
357
274
345
357
333
341
358
335
206
306
330
333
296
334
337
296
295
268
291
340
273
341
297
370
316
335
341
295
310
304
361
396
233
351
300
394
348
352
357
309
301
323
383
383
307
349
209
317
323
272
349
298
335
377
304
392
241
338
371
379
279
267
294
273
277
337
346
295
334
236
328
319
338
374
364
269
362
246
286
328
402
317
323
385
331
280
395
312
330
257
257
352
292
376
278
297
308
271
323
310
357
291
330
284
334
300
258
275
345
260
342
311
332
286
289
325
294
373
333
249
304
324
331
322
229
251
293
321
299
378
334
356
257
277
336
336
364
320
353
298
271
307
331
297
333
289
338
268
327
316
350
328
329
393
282
359
339
321
330
343
318
295
266
280
207
392
293
351
359
368
323
337
300
292
330
336
400
340
312
320
327
304
257
249
289
250
382
347
332
278
392
356
328
304
283
331
272
394
271
335
363
300
329
358
393
358
316
262
287
273
405
302
292
282
364
249
325
348
213
221
311
275
368
328
340
306
341
324
296
332
375
266
293
312
341
278
319
340
302
356
378
283
335
261
234
326
386
328
303
342
303
349
268
363
315
309
248
318
279
343
276
379
309
311
298
381
308
366
338
222
316
348
343
409
217
339
347
293
300
299
324
319
356
325
403
286
342
358
323
316
308
296
388
315
391
300
294
308
388
273
278
311
277
242
322
340
352
360
283
300
317
225
344
340
368
340
264
354
251
314
334
405
316
302
317
305
302
380
301
389
329
355
302
319
316
312
302
303
387
275
272
320
300
274
218
312
278
311
335
392
243
344
312
337
322
344
338
386
327
305
364
326
306
334
255
276
373
290
261
311
299
364
333
219
327
327
293
351
290
283
276
292
332
403
372
224
311
304
284
338
328
334
264
363
332
257
300
355
288
358
357
327
318
340
346
304
266
333
301
305
310
309
276
354
331
308
369
332
334
390
338
443
275
326
301
315
318
284
348
265
371
312
350
305
370
364
346
266
271
291
325
372
373
300
274
309
408
290
296
335
417
353
345
340
393
276
326
354
270
327
375
349
311
408
324
402
377
231
366
399
328
365
410
310
347
330
335
308
268
344
390
312
350
306
344
241
299
275
353
299
349
335
283
323
327
297
231
329
296
380
334
307
350
298
324
247
347
277
344
341
260
305
212
306
395
295
309
309
323
359
318
304
325
337
297
316
279
464
233
263
360
282
345
348
333
353
291
384
299
360
363
317
356
307
361
271
296
354
222
345
251
258
302
288
221
305
280
326
329
345
297
305
326
346
341
320
229
376
379
368
250
341
346
334
358
296
323
360
311
343
277
371
348
319
359
358
273
299
265
344
334
251
245
297
320
328
361
321
303
234
382
291
346
314
290
286
299
370
384
347
291
320
341
304
302
297
353
396
285
339
279
348
340
400
300
352
340
286
279
336
322
305
238
403
360
299
343
273
326
292
280
304
339
313
330
304
266
300
265
320
288
331
363
423
255
345
226
326
342
279
318
353
321
292
177
279
280
271
407
414
330
322
405
274
336
360
405
302
292
359
250
249
425
284
353
357
330
281
268
310
331
401
260
396
262
335
412
277
254
367
409
310
374
288
367
320
308
362
309
368
323
287
318
384
298
422
255
303
300
297
382
362
325
394
297
310
316
271
226
321
333
312
265
315
357
332
325
273
397
322
323
314
383
271
347
370
310
398
357
427
303
286
227
294
348
377
290
285
311
308
343
297
310
357
308
309
313
330
362
298
300
328
339
241
331
257
302
328
304
400
325
363
377
347
295
360
297
373
283
326
307
348
237
313
258
279
245
351
301
310
335
264
328
320
312
366
284
316
314
333
300
262
267
288
303
380
384
353
326
296
271
313
315
329
295
238
326
267
375
358
391
364
394
282
330
336
415
376
296
304
362
294
320
306
275
348
274
274
360
330
275
329
354
309
427
299
306
251
431
340
348
322
260
347
354
360
346
296
254
310
293
376
316
301
297
293
288
333
311
294
271
331
268
340
374
383
280
321
385
355
295
324
344
342
264
362
276
336
293
362
282
296
372
258
263
366
365
296
335
319
316
335
266
283
323
385
380
290
301
355
284
252
311
298
333
374
286
277
354
333
364
326
327
330
307
298
274
347
279
311
350
335
332
312
304
343
333
252
272
341
357
303
279
264
390
386
290
345
352
342
290
333
373
312
297
290
388
350
359
341
256
435
325
304
359
350
264
378
314
335
340
331
339
308
273
372
279
315
251
327
385
345
275
301
365
291
363
307
339
272
328
231
362
386
370
323
201
362
300
275
320
324
320
348
264
356
360
313
257
327
274
374
353
320
355
307
346
344
292
327
312
279
393
338
297
222
351
302
308
320
252
299
243
311
299
284
389
349
363
283
293
329
310
332
281
370
341
294
225
324
339
459
329
343
253
323
360
286
334
312
320
272
240
412
306
419
235
309
415
329
412
290
312
276
313
358
306
267
318
341
353
344
315
341
331
352
359
246
364
370
287
285
211
272
352
313
283
255
306
320
289
315
324
341
367
331
310
319
278
266
338
299
266
331
434
324
331
342
374
304
248
327
290
451
408
381
363
252
287
328
319
288
326
350
289
307
356
293
279
277
411
314
358
343
318
338
418
325
265
276
400
285
286
318
336
336
325
267
360
417
300
340
295
264
347
325
249
326
271
324
330
288
245
372
377
359
308
379
320
349
348
349
268
245
327
279
372
262
340
279
306
254
311
323
283
289
348
405
366
287
238
331
296
381
325
362
336
290
275
299
368
273
316
277
395
321
259
305
311
324
272
373
281
329
367
319
326
248
276
201
353
354
374
441
329
239
401
298
253
288
351
374
240
336
366
308
295
324
340
314
254
317
381
361
383
234
325
310
308
399
328
279
333
290
366
313
355
227
312
396
338
239
334
273
369
283
337
313
284
247
312
399
279
337
287
297
315
389
329
345
329
303
418
356
359
286
317
357
288
304
325
325
272
358
297
252
400
363
361
334
242
258
240
357
311
320
331
343
390
278
337
357
260
279
334
307
260
340
305
278
363
336
291
272
303
300
328
339
272
380
321
368
246
267
321
342
305
314
401
344
371
301
334
357
323
366
321
274
335
367
245
248
335
357
362
421
370
336
271
320
389
295
324
295
389
316
276
310
282
334
342
182
309
348
285
318
299
336
306
314
395
317
410
339
313
270
289
344
333
363
345
362
317
363
286
303
343
354
284
278
314
339
307
342
235
270
352
295
323
301
384
288
342
255
321
156
324
289
347
358
289
336
311
349
302
268
337
268
368
266
274
280
237
404
273
316
383
314
188
370
333
271
354
369
302
329
299
310
386
308
246
190
393
251
384
361
373
354
388
313
278
326
248
356
310
326
395
382
287
338
244
269
344
282
278
346
288
333
362
391
359
352
244
331
306
359
371
305
350
345
299
282
328
348
321
345
357
287
253
255
336
243
232
284
292
308
381
348
358
302
295
304
235
339
354
370
384
222
348
336
308
265
312
352
267
312
317
313
307
336
252
330
319
363
436
306
335
333
333
290
335
282
291
278
325
394
300
315
318
258
268
345
283
330
305
300
244
395
351
245
297
310
268
376
290
327
330
296
274
302
304
288
277
275
345
320
319
347
347
364
240
338
396
241
334
272
320
288
393
375
313
367
291
290
326
251
304
225
286
282
337
256
361
388
342
311
308
373
271
290
338
376
331
242
278
291
291
338
254
374
271
431
308
307
262
318
349
323
312
327
399
353
309
343
402
390
301
307
275
325
302
262
294
287
395
367
348
293
328
274
382
388
326
345
307
404
323
325
344
348
336
296
324
233
273
296
335
350
332
312
312
288
348
379
304
312
221
324
325
314
315
293
356
286
284
359
267
398
244
346
338
293
325
291
218
316
345
313
291
265
323
355
267
243
399
297
309
347
310
410
350
332
272
319
290
321
354
316
308
358
300
232
309
353
316
329
404
253
292
351
250
399
351
308
323
284
330
305
224
325
329
280
257
275
385
351
369
308
252
309
375
346
247
319
316
281
396
378
330
371
299
260
393
333
365
294
302
427
342
301
319
425
295
240
291
361
338
351
310
381
354
315
367
349
338
330
358
302
318
350
222
253
338
262
360
281
262
356
360
375
259
251
345
294
369
360
359
247
368
346
331
364
362
351
279
334
256
336
233
459
351
338
371
379
316
322
286
312
319
349
344
318
366
308
341
340
400
317
239
343
268
368
289
336
262
280
351
239
225
294
253
297
335
243
287
344
253
414
301
189
256
314
363
295
314
355
304
342
337
345
276
341
359
270
321
385
307
369
433
314
325
324
274
303
406
179
321
318
355
293
283
281
317
308
291
313
312
269
336
265
424
325
336
356
298
295
340
345
263
350
191
270
295
239
341
270
289
315
299
304
325
329
384
391
326
247
320
256
275
365
351
325
317
302
366
299
307
258
297
262
279
309
363
451
309
283
312
358
342
187
254
281
291
230
357
304
286
347
258
257
388
301
338
308
293
279
376
338
293
316
279
343
356
319
325
222
326
293
314
347
381
319
321
292
343
358
384
337
333
345
368
318
324
250
377
364
371
307
283
376
263
339
280
352
319
290
338
376
329
403
324
191
315
348
349
291
343
321
285
323
261
276
358
244
354
318
296
280
314
355
308
380
312
267
227
319
379
287
336
331
423
349
280
336
342
286
350
384
301
339
363
313
295
346
184
309
351
244
366
359
255
265
282
288
230
404
366
300
245
303
302
231
258
363
376
279
369
347
321
308
297
324
378
312
387
243
262
283
284
394
330
251
308
239
308
302
336
330
400
341
292
303
306
366
324
301
359
347
337
263
310
370
361
347
356
330
302
351
303
350
300
192
280
258
363
239
374
306
248
383
316
270
325
332
349
324
323
259
304
393
370
284
342
368
299
406
344
406
354
180
291
348
305
318
317
371
349
350
325
324
376
327
296
376
397
295
373
259
327
365
311
323
387
313
305
356
345
357
326
351
252
295
234
340
399
282
325
327
353
294
357
360
360
391
444
325
283
399
266
300
366
199
323
337
349
362
330
357
355
279
317
303
319
310
354
254
337
366
319
310
364
342
278
310
308
393
227
323
399
343
279
271
396
302
378
321
340
290
298
282
274
290
300
301
348
272
252
330
395
328
311
328
279
293
343
345
305
290
276
301
324
330
266
298
304
385
252
360
351
270
336
293
300
299
320
350
346
233
306
343
244
390
278
285
401
356
304
307
305
250
340
309
386
334
353
230
288
315
312
307
228
370
318
248
308
377
372
334
372
367
352
360
364
322
375
363
371
287
349
252
414
336
346
319
337
299
341
255
376
261
305
290
357
351
289
291
250
290
273
339
335
369
356
307
338
270
270
379
290
278
300
283
343
352
367
351
269
282
328
269
256
314
232
358
359
332
390
249
201
241
245
338
309
338
362
326
328
250
334
334
294
395
261
238
243
287
366
283
323
288
313
331
278
351
293
356
274
305
289
281
327
279
230
297
355
302
321
339
365
300
320
313
345
292
350
343
339
289
398
325
298
395
374
341
274
307
373
270
339
368
360
306
327
310
327
277
296
271
288
319
365
312
313
388
269
330
373
210
355
284
314
423
283
218
292
364
380
308
247
286
292
267
268
286
348
310
313
322
293
338
268
399
270
294
295
314
318
317
324
335
269
247
308
352
315
391
279
381
310
356
249
322
295
263
355
261
318
283
349
365
303
376
343
331
326
379
307
258
331
261
270
295
283
324
261
329
238
285
396
300
348
326
274
253
240
236
254
322
381
350
336
328
309
359
377
342
327
295
393
224
298
288
350
309
271
427
314
310
312
333
325
345
299
339
315
285
272
348
254
335
304
331
332
332
362
266
308
384
262
402
329
328
369
305
332
317
275
316
406
306
329
378
315
263
335
333
274
329
391
300
345
253
293
278
346
240
386
335
377
266
327
274
360
269
249
298
303
324
246
312
249
320
283
286
231
341
274
307
378
295
313
316
202
306
350
340
239
314
350
300
422
338
361
271
394
326
349
312
298
279
279
359
340
262
314
288
359
324
291
350
229
367
359
306
402
314
274
325
328
340
311
311
343
327
311
256
229
356
311
312
332
263
283
337
235
353
309
287
333
278
279
375
295
327
271
351
356
301
278
354
299
315
249
389
353
384
383
258
334
229
267
297
382
383
381
290
315
359
420
274
341
309
295
415
247
307
314
280
328
326
259
297
385
361
286
348
321
300
344
239
367
247
435
349
288
312
253
314
347
384
268
279
405
363
263
250
328
280
303
344
361
299
324
351
347
325
350
349
283
369
377
341
275
367
312
275
315
326
407
346
349
310
258
357
291
239
383
313
333
299
384
400
292
368
307
262
345
310
326
333
308
396
239
366
278
305
295
273
326
329
323
277
343
294
273
278
396
318
305
249
335
348
231
270
275
253
348
371
339
288
227
371
311
365
271
338
264
375
278
359
400
363
289
277
318
353
327
333
279
415
284
164
261
254
265
342
320
292
321
266
299
366
354
248
364
243
295
301
303
325
267
275
264
284
312
302
357
300
392
281
381
282
320
363
368
293
425
318
326
380
411
320
311
318
256
245
321
365
330
298
312
251
377
309
413
313
294
295
344
333
344
343
306
328
332
297
344
365
339
255
341
366
247
443
334
383
318
332
237
344
356
396
286
319
328
295
352
319
355
303
310
270
349
279
319
282
352
311
305
341
261
311
380
350
298
294
280
314
417
316
252
382
298
351
308
356
301
359
266
319
361
243
351
321
260
390
326
308
321
264
343
289
373
293
334
333
309
346
342
387
298
344
338
321
313
290
315
323
299
350
296
337
342
252
381
364
251
324
252
281
268
328
362
326
245
375
361
311
360
320
313
299
296
357
361
354
289
327
260
295
322
382
381
362
326
272
417
250
266
285
272
240
381
357
279
307
317
339
378
298
301
350
344
353
313
312
372
355
350
260
235
359
366
299
289
305
342
331
268
197
332
259
350
308
293
294
369
281
266
292
289
318
315
325
366
328
352
315
274
326
361
290
364
277
262
205
281
273
289
362
301
283
281
323
320
273
347
263
327
296
341
289
370
349
407
298
309
365
343
364
299
307
291
344
341
245
321
350
258
337
267
319
379
312
302
270
400
247
380
213
306
372
359
344
304
319
385
276
285
327
232
317
364
308
340
261
261
305
384
330
241
298
324
315
423
348
328
275
281
247
291
298
269
363
272
252
325
316
364
335
269
356
275
309
282
348
431
314
321
269
332
265
298
353
316
300
265
354
264
305
322
261
366
282
359
240
278
322
302
353
356
307
356
375
229
365
281
278
268
330
286
400
336
298
339
357
337
325
311
330
314
253
396
268
390
320
326
339
301
308
265
313
407
333
345
306
282
303
384
325
368
290
376
335
295
327
283
333
309
307
315
234
357
322
314
353
268
325
301
269
400
346
369
364
334
292
229
217
225
346
351
330
331
353
262
331
333
326
347
325
283
315
319
260
241
291
312
314
311
254
294
343
181
288
364
238
217
375
353
291
358
375
291
315
293
363
260
304
375
301
306
302
276
260
305
244
303
379
350
317
255
256
385
314
352
288
358
376
223
283
308
342
327
331
272
268
337
335
270
286
299
303
296
315
267
343
325
369
365
257
358
277
296
200
368
392
288
285
351
326
299
321
371
287
333
307
307
290
339
255
335
316
344
308
362
398
285
376
369
250
321
341
273
336
302
291
347
345
324
374
215
364
299
302
356
338
263
281
333
258
291
224
357
253
209
313
342
319
393
341
347
258
383
289
325
266
413
310
350
410
340
259
362
357
268
315
343
376
360
297
278
387
306
302
298
201
319
337
359
302
362
385
391
291
310
254
364
300
357
344
380
242
414
385
297
250
396
275
416
239
366
340
315
312
275
326
340
368
288
274
345
328
209
310
319
288
326
302
255
341
306
386
289
386
326
312
247
350
260
364
340
336
316
312
314
327
359
369
333
308
401
299
409
279
377
360
351
286
433
276
337
337
285
350
303
237
391
234
310
311
310
349
344
247
353
357
336
268
334
260
324
332
362
314
345
309
326
296
308
280
306
339
291
331
335
332
293
280
280
343
293
189
280
305
304
347
347
384
264
352
458
395
276
334
382
305
202
247
269
336
353
360
326
341
357
387
269
265
328
249
398
404
278
338
301
330
305
348
249
348
329
329
292
315
313
293
342
340
313
355
330
276
256
240
324
381
314
323
369
293
343
307
354
288
358
385
322
273
352
281
338
263
294
193
394
338
305
343
332
263
297
304
411
325
354
284
370
317
241
287
375
306
289
295
280
221
323
340
254
349
343
358
378
303
250
341
321
333
292
356
362
334
300
321
329
264
325
401
378
361
342
362
304
318
330
315
358
368
324
255
314
296
239
297
214
298
325
348
290
286
345
372
341
236
295
233
272
265
258
286
321
259
373
305
370
289
311
303
261
369
336
280
326
261
375
309
349
321
308
269
363
232
276
315
245
330
316
353
213
363
293
394
398
240
364
389
223
399
381
278
313
327
316
275
242
256
345
301
322
303
287
267
351
405
297
244
340
390
298
289
365
258
263
210
395
352
287
279
294
299
304
349
271
341
297
370
320
356
283
310
329
280
299
343
384
320
254
253
256
341
292
303
349
363
389
208
391
269
311
249
348
294
344
333
333
301
366
355
321
352
291
297
264
325
218
327
382
295
317
283
245
330
290
385
316
328
349
358
366
353
330
325
263
354
307
346
324
382
360
376
325
331
257
269
317
317
357
268
255
342
283
286
273
219
339
322
245
309
367
291
329
320
309
402
290
260
358
280
433
309
320
350
338
392
237
263
289
357
216
328
311
268
260
376
319
341
323
289
296
312
308
367
316
361
333
282
310
351
245
278
363
342
268
355
256
339
261
349
316
324
373
366
282
328
321
360
352
365
329
343
353
344
299
291
312
335
317
338
337
314
316
338
320
298
296
377
338
387
322
302
326
380
264
294
312
376
394
288
335
342
295
359
334
289
293
373
344
304
298
263
235
379
365
284
329
358
382
271
263
272
438
350
298
295
334
381
338
284
288
297
363
409
364
366
304
308
340
273
288
266
268
251
398
262
316
267
177
340
343
317
277
265
220
320
383
277
264
281
346
316
314
313
361
308
313
311
319
314
361
406
366
327
305
326
310
295
386
351
327
401
337
364
373
303
309
352
333
363
308
304
297
367
343
251
379
307
364
255
371
236
298
188
331
296
371
344
286
279
342
351
327
322
293
286
397
199
343
398
250
317
326
387
359
295
329
252
318
262
342
252
273
320
300
302
255
329
237
270
353
252
317
351
287
384
331
346
374
320
305
334
355
381
310
287
245
327
327
329
360
289
211
296
305
348
229
228
341
301
251
333
387
324
318
337
329
318
306
258
310
305
334
333
348
305
284
388
282
355
400
252
232
231
339
386
326
366
312
296
333
237
319
272
276
330
333
306
281
308
397
311
359
363
215
318
392
241
374
307
299
301
289
265
394
347
392
270
374
351
253
214
285
393
318
348
348
368
410
363
264
291
326
266
332
372
266
296
334
312
345
367
352
317
285
344
382
250
313
379
304
321
303
339
335
420
258
268
340
377
312
287
330
334
312
417
281
204
293
293
296
346
266
312
340
328
348
239
332
318
295
328
348
355
244
261
344
339
297
280
312
416
260
324
290
323
317
344
357
355
280
330
391
222
371
210
298
326
334
419
244
264
304
300
355
283
257
271
289
293
344
275
339
329
287
268
313
320
297
247
315
385
331
418
235
250
278
309
196
341
346
302
356
371
234
261
275
295
389
374
284
376
296
338
374
347
250
330
347
328
380
367
344
326
234
304
320
291
247
324
288
347
286
356
320
333
228
349
349
368
345
381
357
284
410
391
332
296
379
297
274
375
300
398
337
336
249
378
266
347
345
348
286
325
278
406
347
341
351
254
332
368
357
348
350
356
318
370
354
288
290
336
307
342
269
389
398
300
266
284
338
352
294
272
245
409
337
327
379
271
295
287
345
389
317
379
184
344
283
320
315
321
324
356
346
388
317
355
326
350
433
328
315
306
356
331
258
316
320
299
316
359
207
358
287
309
341
364
375
288
389
354
274
396
285
403
302
272
343
312
339
332
296
279
244
331
328
308
422
277
255
303
348
354
323
346
381
339
258
345
312
338
320
289
267
315
376
351
369
284
252
310
333
245
365
292
348
384
368
242
383
290
325
347
323
407
303
362
272
258
329
339
242
254
314
336
318
304
256
264
239
314
343
368
310
288
340
266
327
333
313
364
349
321
340
333
389
312
312
310
288
301
372
293
276
256
358
319
308
364
265
307
324
334
333
333
287
298
329
230
326
346
361
271
283
246
298
354
347
303
344
313
247
324
304
370
323
353
292
298
294
215
427
354
341
305
366
337
253
368
274
291
371
294
288
324
340
238
269
313
297
316
329
303
325
293
313
313
271
336
283
364
345
318
236
326
268
330
294
370
310
334
315
411
286
323
347
338
364
247
381
322
326
324
294
351
292
291
331
361
332
265
321
397
267
304
338
279
309
265
297
294
269
265
379
304
287
332
265
344
356
316
281
267
283
295
330
296
305
296
392
285
342
339
294
380
280
269
341
365
272
270
277
260
351
291
340
329
297
374
369
435
298
257
339
218
321
311
313
310
286
331
343
230
316
322
285
280
402
358
376
345
284
316
323
300
308
242
299
306
367
361
344
318
261
308
381
403
354
359
298
333
336
284
371
310
306
328
394
260
226
319
279
354
307
333
354
325
329
441
311
319
294
367
348
348
322
339
253
335
423
281
426
296
378
334
351
342
309
318
340
326
331
277
292
289
300
294
333
317
251
278
285
312
332
333
318
286
326
399
322
282
393
279
296
339
291
398
265
318
389
337
276
338
326
347
388
332
313
284
314
379
334
433
260
406
344
266
333
317
304
352
316
312
343
236
246
267
359
322
266
328
293
305
283
320
347
226
318
286
284
255
346
280
255
376
359
262
350
314
310
309
337
307
316
332
284
318
257
300
261
362
287
354
363
341
328
320
279
266
360
341
228
264
308
331
351
345
323
295
326
236
251
244
238
309
313
352
368
361
382
247
271
288
377
254
249
370
265
333
264
350
283
306
394
340
230
333
347
336
422
298
377
349
297
281
247
336
294
268
310
188
222
308
396
280
339
321
285
286
321
308
379
299
390
253
326
337
320
298
263
313
259
307
384
321
218
389
281
232
299
350
241
300
357
379
276
297
339
411
312
259
228
410
265
397
397
261
306
347
318
209
297
332
306
290
228
360
377
304
349
320
390
324
425
329
340
354
321
289
326
291
331
282
317
215
303
322
298
316
307
275
398
237
287
303
359
407
372
345
371
277
398
328
330
271
361
357
344
319
303
299
330
345
341
394
300
259
341
328
339
273
320
321
301
363
257
350
323
248
328
353
345
273
367
355
348
341
306
373
318
400
279
413
412
369
327
309
317
347
379
287
221
337
303
281
240
320
363
302
251
373
338
310
299
310
338
285
282
324
382
283
382
263
375
273
347
267
212
288
333
378
343
380
328
295
312
204
339
262
303
368
341
253
334
319
302
359
330
340
316
287
339
324
371
334
301
250
256
301
333
377
270
330
302
267
391
380
322
320
267
295
353
314
293
331
261
242
354
334
319
301
281
378
359
343
240
361
264
288
360
342
396
335
309
355
271
250
327
369
298
298
389
271
291
305
356
294
308
415
257
340
402
300
381
289
373
307
308
295
250
296
347
299
352
331
247
208
355
367
303
340
268
393
295
229
335
301
347
306
231
308
299
363
318
336
276
342
257
309
388
357
315
344
355
342
231
270
267
342
432
275
308
387
375
257
345
239
321
346
291
243
372
289
250
246
350
271
352
324
317
372
312
254
356
267
258
288
196
424
216
344
315
346
303
275
407
353
310
367
294
317
304
321
287
276
338
340
308
371
310
357
331
277
335
328
270
292
343
392
267
364
310
358
220
309
251
447
360
327
266
259
314
275
205
310
315
248
311
319
324
343
311
261
285
283
309
316
325
328
356
349
296
284
380
283
301
223
366
356
340
234
295
283
321
314
339
317
376
394
357
323
384
222
351
301
317
384
344
287
344
302
294
302
324
304
355
292
237
348
322
314
319
369
302
312
352
278
393
398
331
283
261
297
364
299
314
280
270
321
333
326
282
312
298
408
284
248
333
380
364
355
281
370
320
268
269
295
297
302
255
378
260
395
258
207
375
284
400
317
281
341
339
306
340
294
314
244
363
270
315
346
333
305
348
357
384
374
354
308
260
333
330
306
343
381
336
272
309
278
334
308
345
308
209
337
353
281
227
281
280
351
329
272
331
358
325
222
355
394
321
352
282
302
333
274
366
355
372
323
318
259
343
302
371
342
306
299
352
369
354
323
433
345
322
325
244
391
349
314
261
349
332
343
335
317
371
295
304
311
300
266
299
328
417
279
334
311
286
301
309
353
348
278
341
262
265
309
347
419
361
317
333
297
307
268
352
249
294
293
301
301
327
332
256
337
373
378
255
257
367
337
280
273
300
290
346
339
309
290
333
361
349
310
377
295
358
345
238
320
327
304
303
267
264
275
272
344
392
376
352
358
404
383
251
250
336
296
355
367
330
374
389
258
423
311
402
349
327
325
322
356
275
290
306
337
357
302
356
370
249
295
323
302
350
253
255
243
265
320
337
304
297
293
301
287
330
396
231
344
295
328
362
345
343
345
289
382
235
325
319
327
271
341
273
252
249
367
338
356
360
331
248
340
344
358
302
309
351
266
387
282
324
278
367
382
316
273
339
376
292
320
346
283
297
356
287
252
299
267
264
274
349
404
311
362
276
355
294
364
323
351
229
372
324
274
267
224
325
285
331
360
397
341
362
373
343
347
402
310
265
328
376
333
308
266
320
338
307
354
394
235
307
256
281
307
339
262
264
285
316
299
314
345
277
351
329
302
338
316
313
356
244
342
350
261
381
343
391
360
338
268
229
345
300
238
224
359
360
301
254
324
290
338
248
303
404
285
327
340
337
297
302
415
245
364
284
249
365
320
291
381
367
315
302
284
257
293
313
363
281
328
327
304
320
351
316
334
250
272
301
330
319
292
296
374
345
344
354
386
307
358
350
291
328
293
284
327
322
297
365
293
366
402
318
397
293
341
302
347
294
255
295
326
263
275
314
323
340
299
350
399
305
291
340
368
221
280
321
282
300
312
294
296
375
334
222
327
237
318
321
417
316
375
343
332
348
244
270
202
297
363
300
262
299
312
375
289
308
272
302
307
273
388
301
295
307
351
338
278
292
235
389
302
278
316
335
314
339
351
331
289
295
323
250
332
247
244
315
265
291
390
404
311
382
258
347
325
365
322
341
400
264
311
329
304
280
373
272
204
339
337
313
358
324
313
292
279
229
342
297
320
311
293
290
377
403
321
382
241
335
337
290
297
321
328
258
241
346
362
295
329
304
333
304
328
352
334
289
325
339
340
287
374
402
263
376
217
300
341
328
391
382
324
376
316
307
269
350
307
281
331
376
234
328
328
247
357
353
284
345
377
318
348
321
342
260
289
269
337
239
403
336
294
323
307
305
232
391
252
291
284
252
333
224
317
197
345
343
215
351
325
295
346
329
308
321
281
303
264
392
346
391
293
313
358
362
317
401
363
349
364
264
347
303
380
317
339
336
296
325
370
307
283
317
304
355
229
357
212
270
330
362
255
366
328
338
281
270
271
395
246
319
321
342
298
322
323
385
356
360
284
321
330
386
296
272
364
297
268
311
312
317
351
309
287
302
338
313
279
353
304
317
300
379
269
293
290
376
351
422
228
312
349
307
357
279
338
230
275
332
301
337
348
312
339
370
346
254
357
294
323
350
280
305
391
313
349
223
396
342
308
324
284
360
345
323
265
319
294
336
371
314
232
285
334
331
317
201
394
299
306
362
339
350
365
248
349
295
318
250
360
365
309
355
347
281
296
348
310
374
369
360
228
309
320
373
334
328
243
280
358
333
236
334
303
343
333
259
370
331
376
322
352
323
278
321
261
273
354
245
312
360
270
311
364
362
333
352
426
254
345
382
342
305
341
298
338
364
341
352
245
216
309
369
302
310
327
345
167
322
259
346
341
342
235
332
269
313
288
278
311
320
312
345
280
380
338
320
338
328
358
333
342
242
319
338
350
301
304
299
287
379
302
284
334
352
298
271
336
348
276
395
177
341
332
346
320
246
283
210
291
330
315
390
232
292
304
273
239
433
268
292
313
358
315
300
229
330
296
303
305
264
285
287
335
274
343
366
334
354
355
377
353
339
337
320
361
338
299
377
359
251
328
267
379
182
297
356
386
332
344
335
333
298
265
360
333
326
269
344
391
326
322
286
260
394
317
365
317
360
329
352
259
325
355
357
366
340
279
254
340
311
386
282
327
330
287
272
333
395
241
296
314
308
331
287
344
277
293
340
256
325
345
304
290
344
298
296
290
284
250
344
259
304
270
325
258
328
334
333
334
376
397
251
339
274
302
401
273
294
242
297
286
329
341
291
297
310
325
289
262
309
267
316
342
256
378
337
298
281
330
413
393
302
355
285
372
350
279
339
308
334
338
362
311
370
249
208
322
303
325
292
301
337
315
292
311
367
203
201
300
417
304
335
347
359
242
295
322
302
422
278
380
255
329
306
322
316
337
303
388
303
329
362
308
261
313
280
278
298
352
321
333
317
278
275
303
300
293
285
287
377
296
293
345
377
429
335
342
256
251
302
286
249
269
277
294
343
296
317
342
334
387
287
330
264
363
375
279
367
243
371
283
283
382
321
256
313
313
286
265
386
230
298
300
298
347
427
314
309
380
299
335
399
315
360
283
304
364
321
320
365
305
343
379
324
287
297
252
330
359
335
322
366
429
324
324
346
326
325
295
346
279
294
353
300
390
282
434
232
316
311
345
265
276
326
340
355
384
369
312
322
324
308
396
346
356
347
243
259
334
274
286
312
324
383
361
334
395
294
421
288
261
346
278
420
381
290
384
270
340
257
356
189
314
332
334
292
249
321
380
371
256
275
223
334
283
383
353
270
260
363
291
312
334
295
283
235
295
325
346
241
343
427
360
340
280
322
275
341
413
313
339
316
306
244
286
305
318
263
336
378
401
326
373
225
304
364
433
343
320
302
386
291
301
223
346
351
330
355
320
343
305
285
306
302
328
284
275
358
295
281
216
297
408
321
314
248
330
295
286
329
369
307
303
300
238
321
319
204
309
319
276
324
337
392
245
321
306
363
242
344
302
285
331
280
275
327
304
405
376
352
396
238
311
370
344
326
201
342
227
341
272
317
374
406
284
300
288
286
369
338
277
332
304
277
364
315
329
333
355
285
265
320
321
369
285
324
326
301
304
278
374
327
327
328
366
315
261
338
249
257
345
341
383
255
296
348
306
286
314
324
360
285
327
311
361
314
275
309
308
276
310
319
375
306
322
368
306
279
280
298
324
396
336
318
285
415
285
287
289
336
262
258
341
385
381
310
418
349
328
317
333
354
319
397
359
337
351
316
378
277
256
239
343
323
292
379
398
300
303
272
316
360
301
259
263
317
321
285
299
287
337
354
331
291
278
260
356
326
246
333
281
326
295
325
324
375
285
234
415
318
312
354
317
286
321
330
317
189
323
358
274
226
281
340
278
335
317
302
297
311
307
368
250
362
277
277
376
374
351
289
378
306
332
280
273
252
303
264
387
357
300
345
295
368
267
376
223
354
282
243
228
345
337
343
338
355
364
320
339
313
306
319
297
335
377
346
330
266
309
350
281
326
370
291
401
280
375
426
226
281
242
276
313
338
381
236
281
311
288
388
290
385
345
263
316
325
336
336
285
323
327
300
369
373
369
373
328
328
212
349
303
309
301
317
327
296
256
318
268
319
321
393
366
287
280
265
225
307
344
303
329
242
348
289
208
254
328
336
310
362
297
289
318
320
341
357
322
315
310
341
332
309
353
327
319
319
279
379
347
302
268
267
373
340
306
282
349
287
348
301
243
324
290
339
336
349
345
299
379
304
330
398
282
354
322
352
349
287
358
342
308
354
379
307
261
346
299
381
321
361
282
413
306
362
283
443
329
361
229
341
283
340
376
321
347
201
265
315
223
255
301
348
238
307
353
276
390
340
304
266
309
244
325
328
270
250
350
358
292
275
254
372
282
309
333
355
217
369
301
368
329
296
292
319
340
335
354
367
287
349
326
368
376
354
343
338
254
400
319
293
361
372
270
294
293
376
299
296
262
302
347
349
392
284
331
354
313
319
424
237
362
325
383
328
300
263
315
374
338
431
315
245
343
328
319
353
300
323
330
370
264
309
329
279
299
346
355
259
339
383
264
339
282
192
258
385
376
285
335
394
355
290
322
243
357
312
270
332
330
354
324
353
321
327
309
343
360
343
376
371
278
306
256
286
265
361
320
412
292
357
305
331
290
291
317
304
341
306
335
309
238
381
298
336
338
309
368
294
323
338
315
321
372
344
279
305
268
385
373
239
257
365
340
334
335
273
349
281
335
291
322
277
338
326
373
304
372
312
319
254
316
281
273
321
348
346
352
303
329
314
297
272
318
377
384
350
312
316
272
289
247
321
299
288
288
343
244
380
411
295
391
314
318
270
286
282
318
342
452
342
332
263
361
315
302
348
336
413
295
312
330
359
339
360
334
291
334
293
340
351
324
374
254
268
363
364
359
332
257
342
271
245
377
362
287
250
282
261
315
273
314
386
276
289
365
264
355
376
271
347
333
209
325
379
264
348
316
289
259
237
351
326
266
324
358
321
306
360
250
329
411
219
349
316
266
265
366
388
319
316
355
374
278
277
346
394
346
332
353
316
299
308
299
310
216
291
303
349
418
277
294
314
330
366
351
210
358
267
245
323
342
349
345
348
259
319
388
361
319
334
288
350
276
351
265
333
370
350
278
354
358
326
371
253
352
311
355
320
370
296
306
308
263
308
289
317
249
301
283
350
287
317
343
275
337
287
339
225
368
339
332
355
344
347
294
265
313
310
289
376
318
312
266
313
325
295
407
268
408
359
339
308
305
255
207
364
277
290
263
276
296
237
307
325
296
221
299
264
339
312
328
239
314
216
269
370
279
293
328
378
240
354
414
313
350
294
327
270
355
322
350
399
331
375
397
330
262
288
269
356
357
286
274
278
308
274
327
422
402
293
315
352
257
352
410
326
303
336
288
275
333
315
402
400
263
274
385
299
289
256
408
373
329
328
363
354
339
349
317
374
301
244
321
297
309
318
313
283
250
272
361
313
265
353
391
311
281
296
298
347
388
310
239
433
336
320
267
312
348
306
248
285
344
340
324
391
348
310
362
319
281
352
340
300
296
295
333
330
361
281
439
338
390
241
310
360
337
353
351
274
324
302
365
332
246
309
305
263
306
349
341
297
345
360
268
368
269
289
248
331
306
251
369
263
303
279
292
397
288
338
331
322
363
365
353
325
365
324
387
309
373
293
299
300
342
333
250
269
319
219
302
341
286
285
337
344
305
294
342
389
325
261
261
265
342
236
361
322
401
352
273
271
331
260
370
263
282
360
299
292
230
415
333
277
314
303
299
360
331
285
249
374
254
342
336
332
315
370
312
341
303
390
402
340
312
327
290
279
334
349
347
314
319
355
216
350
252
305
398
307
331
340
370
339
292
345
284
248
331
324
331
266
326
343
310
371
282
321
335
279
235
324
245
401
303
299
305
309
330
371
352
306
290
379
243
222
322
357
327
293
300
292
306
385
292
343
348
326
350
345
379
337
362
300
302
322
274
422
363
333
349
340
320
303
318
347
315
293
385
373
346
353
312
399
364
329
349
316
321
294
321
380
424
349
346
366
343
283
283
338
343
371
247
282
287
307
356
400
385
335
398
343
298
341
332
351
323
255
340
273
285
358
341
303
282
351
299
412
354
370
340
350
282
311
282
258
331
213
263
316
236
341
351
313
311
238
278
294
300
352
282
346
304
341
244
356
423
274
326
420
328
283
373
394
336
324
327
360
284
271
257
302
283
304
313
336
322
285
292
247
390
332
294
307
284
321
303
344
314
297
296
328
345
269
314
249
305
319
264
354
298
256
309
269
267
328
395
388
295
395
318
365
412
324
329
319
296
389
357
312
349
332
280
305
283
376
303
252
386
263
376
227
288
222
358
334
293
260
302
350
262
374
304
293
348
329
307
305
241
417
317
317
307
387
254
312
276
356
272
305
224
303
295
305
262
297
407
303
333
396
391
311
329
340
284
340
384
331
312
418
338
440
288
288
347
342
313
349
315
253
367
320
333
382
268
287
315
262
282
296
341
321
357
322
272
297
323
267
338
300
310
311
300
353
397
305
280
285
184
269
290
307
322
292
394
306
347
275
325
220
258
359
330
389
371
370
264
309
298
413
261
296
349
261
366
235
294
366
245
348
326
338
305
271
319
280
279
288
334
332
303
264
277
334
368
255
304
218
367
283
298
270
333
311
266
313
339
325
268
325
345
297
309
308
335
377
301
366
325
367
402
259
285
340
377
320
284
319
238
353
423
350
300
327
293
268
259
242
371
223
297
274
253
327
272
280
287
369
296
265
316
393
265
298
341
405
330
295
224
266
296
270
306
361
313
337
353
327
365
443
395
340
366
365
262
369
363
421
381
307
302
310
315
329
366
411
331
424
282
314
230
279
300
336
325
306
324
253
249
309
387
328
368
345
330
204
182
274
371
348
318
293
352
335
337
400
329
276
259
281
396
304
278
293
321
390
357
256
383
353
303
398
335
287
286
376
370
388
309
316
354
419
256
400
315
344
409
366
355
374
348
356
279
300
217
401
306
414
342
321
295
357
286
278
331
308
284
363
278
266
406
318
373
278
297
378
321
321
253
312
341
355
349
267
312
262
333
309
318
277
356
359
254
249
347
318
370
279
317
298
253
345
386
315
331
344
349
432
363
304
299
387
308
293
314
276
329
306
403
239
260
353
326
298
311
258
275
280
380
362
386
377
315
319
288
308
305
291
311
238
264
397
287
367
222
291
358
380
318
399
343
326
328
322
339
303
383
286
352
325
338
284
293
293
349
366
319
340
177
316
325
314
319
328
248
283
268
293
394
342
401
338
352
230
346
318
240
315
408
331
386
301
303
249
300
298
324
351
292
280
333
266
258
302
327
334
347
260
333
315
271
270
275
353
278
334
417
273
300
297
300
285
267
305
321
317
294
273
321
300
351
320
357
378
346
323
397
331
292
292
269
265
357
280
315
383
294
312
293
273
295
386
238
302
287
277
335
330
376
387
249
325
281
265
334
264
242
311
265
315
329
314
300
340
284
338
349
373
262
270
348
335
370
299
383
299
303
324
300
311
332
269
325
321
255
364
259
269
313
333
280
378
373
284
324
288
349
334
295
288
365
341
400
314
337
253
286
358
281
408
285
313
279
393
324
231
351
392
347
341
279
300
253
326
382
257
376
281
323
368
393
223
277
296
360
411
315
371
294
326
252
342
318
343
355
221
248
261
302
300
280
378
316
280
275
340
320
286
289
324
387
309
262
297
318
333
277
328
314
257
328
274
241
313
371
256
346
350
306
305
275
345
310
365
266
317
380
356
269
350
284
249
273
325
316
297
295
290
286
329
292
280
294
285
270
390
389
358
353
366
321
348
286
349
219
298
346
293
307
308
225
248
297
337
273
334
266
292
338
289
313
301
336
317
328
294
292
268
223
280
326
263
234
347
316
330
300
349
344
328
337
293
318
286
285
296
339
338
265
277
288
275
268
351
365
409
297
325
281
308
336
298
302
249
185
322
343
317
353
351
364
313
386
281
336
300
243
337
302
278
385
225
236
347
311
335
318
398
314
292
324
316
307
313
363
341
369
305
310
305
305
342
377
346
282
343
336
287
305
317
288
358
297
291
289
284
312
341
282
314
260
344
329
273
352
294
339
353
357
305
231
309
259
354
333
338
296
345
303
332
342
299
323
382
269
316
253
342
292
313
359
309
272
342
313
209
373
361
307
311
362
294
300
243
333
283
354
337
357
335
288
308
274
256
368
287
256
256
362
356
295
316
347
337
190
339
351
357
305
374
259
339
349
261
333
323
231
258
298
309
354
267
299
343
300
382
286
333
357
275
277
231
251
339
306
404
326
281
376
307
228
418
376
327
409
416
209
266
325
239
291
381
255
269
275
303
288
281
253
329
292
283
306
288
328
293
383
372
297
305
328
316
310
354
172
353
312
293
301
312
281
314
293
282
317
327
331
350
304
358
293
330
300
381
264
304
324
325
280
273
265
325
395
310
348
359
354
315
339
299
305
388
371
329
355
439
304
294
312
222
408
249
368
347
288
249
283
294
328
347
390
310
297
275
299
313
371
391
235
352
349
239
349
373
305
260
345
328
338
357
320
288
275
274
292
288
365
322
370
305
353
259
324
253
365
282
333
348
313
260
381
323
346
348
262
193
353
328
224
313
365
273
352
305
369
303
294
295
289
320
348
256
332
305
263
252
332
334
224
242
343
355
335
294
331
382
327
322
304
316
334
333
336
343
343
238
289
281
346
285
301
293
346
387
351
313
350
273
314
243
326
277
316
314
330
254
357
344
217
304
282
372
309
337
297
263
301
269
299
252
286
361
347
336
325
301
357
378
290
320
329
288
308
287
289
359
316
277
266
248
387
314
324
270
310
392
361
288
318
272
278
352
297
243
292
339
279
280
343
363
291
318
401
279
218
314
314
341
337
333
385
306
382
311
330
361
367
235
301
352
224
317
286
293
299
356
309
322
328
345
226
337
312
348
330
336
288
329
337
298
293
302
253
324
358
334
294
321
311
344
305
304
349
298
388
273
434
337
305
361
333
329
341
269
345
288
249
253
316
335
215
291
252
274
332
323
368
269
287
395
360
338
361
373
336
300
374
347
257
374
366
407
293
295
273
315
340
337
348
349
300
257
278
366
327
302
328
320
266
265
285
341
299
305
318
309
298
270
251
394
355
292
322
354
327
292
321
224
285
308
270
273
340
353
312
291
409
255
257
301
342
371
248
311
231
372
276
304
396
286
297
286
323
366
286
401
374
353
296
301
347
324
387
335
305
305
352
337
339
372
263
281
285
262
327
294
356
384
302
321
322
365
370
214
312
322
330
386
255
296
302
299
263
300
331
363
338
250
290
380
209
381
312
289
369
250
280
322
346
341
294
292
260
294
399
308
411
307
264
283
306
357
342
298
380
365
269
356
328
370
370
385
221
293
297
322
238
349
338
250
421
369
331
324
267
374
232
268
305
253
339
331
347
277
348
313
262
321
328
342
283
333
326
275
277
276
343
348
335
345
347
303
248
409
369
296
316
303
259
261
313
365
379
280
373
242
265
363
305
298
291
305
387
402
345
281
392
325
313
333
345
327
279
323
281
311
309
310
348
230
321
283
358
319
278
205
360
318
288
334
341
371
363
363
261
272
297
363
299
327
325
303
319
306
355
275
293
326
353
410
352
304
351
358
376
290
338
381
324
278
232
303
354
303
395
292
288
263
354
349
309
353
286
316
282
310
249
314
348
374
322
300
296
338
362
309
311
322
294
300
359
315
309
352
262
295
363
368
338
295
276
315
319
313
358
335
256
363
306
310
279
390
287
291
267
295
389
320
376
367
304
391
232
316
326
397
298
329
384
277
346
322
365
308
305
263
331
306
360
297
424
403
311
262
356
347
302
385
348
280
341
271
292
382
339
318
298
336
220
274
394
383
362
403
262
302
335
334
330
384
304
239
319
360
338
290
258
243
276
334
265
341
208
315
276
355
373
321
338
295
313
259
329
278
340
279
353
363
321
280
305
320
318
272
366
410
284
283
397
259
367
278
358
282
318
280
323
387
335
379
332
233
384
393
296
372
341
332
266
362
316
306
251
283
280
230
355
289
337
368
307
232
348
270
396
304
337
454
284
361
305
387
321
285
345
336
410
246
382
307
268
372
320
342
338
431
327
296
318
361
317
313
390
272
311
319
282
300
325
355
302
308
277
343
277
336
342
350
315
347
348
387
298
326
361
362
297
349
378
293
263
347
326
218
295
250
315
345
301
285
264
304
330
242
378
290
280
303
311
331
303
247
285
324
347
329
362
330
285
394
359
393
371
307
278
335
288
283
275
261
284
305
361
347
271
335
285
275
291
317
336
310
309
369
242
335
383
303
235
337
328
321
301
329
290
358
287
326
346
299
215
339
273
383
309
291
312
275
302
283
253
312
284
430
314
341
360
390
315
306
280
389
304
294
286
324
330
261
328
330
332
218
306
310
359
314
317
319
285
272
327
300
283
288
368
304
246
381
372
350
374
309
348
264
275
307
287
339
420
327
311
309
311
341
298
329
240
340
294
289
325
293
297
332
275
348
327
345
348
343
286
343
342
259
380
350
294
316
324
314
325
275
350
346
332
326
364
301
365
267
230
363
329
257
331
299
405
268
357
322
303
351
324
340
301
261
427
372
371
292
325
313
337
386
207
276
390
349
325
299
348
305
273
301
276
299
338
329
291
304
362
319
236
313
323
328
326
319
289
262
326
339
327
403
334
269
397
314
337
353
277
305
281
323
199
267
309
343
358
290
386
357
325
293
304
263
329
315
289
427
295
287
319
338
283
318
362
321
420
308
326
240
337
309
276
385
372
314
388
305
337
257
294
317
289
347
392
343
373
275
318
363
357
360
316
326
303
304
292
296
331
244
348
291
357
296
242
295
361
297
285
307
377
365
302
331
238
352
289
350
324
246
318
285
345
314
288
394
289
368
323
328
231
336
358
389
362
381
352
310
313
251
299
314
358
314
264
374
297
204
326
338
329
272
365
273
314
314
342
342
371
357
339
395
343
335
331
326
367
326
401
264
313
263
245
281
317
260
260
405
341
292
304
367
351
394
354
387
370
278
308
273
310
341
356
335
336
313
364
289
328
216
340
293
249
345
299
339
273
346
357
377
316
294
349
331
273
340
276
374
318
324
330
291
333
359
251
328
308
346
240
362
283
349
358
392
324
389
348
353
300
379
344
268
318
342
307
267
315
366
261
265
291
354
258
178
320
351
213
300
379
288
345
331
279
332
310
266
288
388
243
297
297
277
291
282
205
382
241
307
353
360
258
333
318
289
356
391
327
332
387
370
321
368
278
294
381
364
323
280
368
333
281
383
365
360
335
323
361
291
268
238
284
379
376
276
274
298
260
354
432
323
288
259
281
349
252
351
283
223
253
298
337
300
349
349
306
255
367
315
385
372
285
312
302
252
260
375
361
371
232
346
385
356
380
327
365
344
354
340
398
384
319
252
324
411
363
272
379
299
326
329
277
295
286
348
309
262
381
334
256
247
291
211
330
262
292
240
237
280
348
312
299
366
347
276
287
320
331
306
301
261
377
318
336
315
274
383
345
306
324
282
339
381
323
282
295
334
304
330
329
300
243
362
294
282
334
298
237
352
287
286
293
227
300
334
348
323
268
333
313
237
350
333
224
349
348
339
310
304
385
281
270
375
350
332
264
312
308
261
290
294
355
362
195
293
253
337
322
287
344
359
358
325
384
335
298
342
324
350
367
384
317
351
291
347
308
397
374
336
330
372
294
343
258
353
325
334
410
318
314
350
294
244
266
372
323
346
288
325
345
262
353
265
400
302
345
297
397
408
321
344
340
341
293
321
271
300
354
330
298
287
323
301
233
305
239
272
363
377
250
340
206
285
296
323
294
274
310
311
352
272
250
313
324
268
308
295
403
358
331
361
281
334
289
311
331
343
263
305
342
286
322
285
348
311
302
361
392
254
254
305
268
283
329
342
337
288
263
343
340
366
319
340
288
351
268
257
410
241
347
327
391
270
363
291
265
318
327
333
299
366
397
295
215
294
384
295
313
301
378
319
374
401
346
303
389
339
299
321
339
324
319
256
350
329
262
354
367
324
349
385
271
324
373
360
330
411
343
305
372
330
341
199
340
368
275
288
326
345
391
293
270
323
321
292
281
436
379
345
252
321
363
319
397
384
315
354
293
230
339
309
419
238
145
336
309
308
232
270
354
273
338
253
341
338
374
315
341
340
427
270
254
340
332
339
277
253
381
362
300
282
344
317
387
371
416
275
302
294
329
317
282
242
342
274
280
300
356
296
333
264
222
251
296
308
356
276
257
290
309
342
266
392
332
382
302
298
319
329
363
351
246
323
309
333
329
326
218
254
393
315
269
322
314
288
315
232
289
321
283
236
350
398
320
384
325
312
355
392
308
326
316
341
263
288
277
316
267
257
282
298
357
352
266
373
326
346
356
350
356
369
267
345
251
384
295
386
350
318
284
311
310
232
359
291
287
339
334
276
281
276
305
340
252
344
387
316
342
334
301
320
313
351
355
247
403
262
314
283
349
339
335
338
396
300
378
366
346
356
338
297
418
278
299
325
310
297
329
311
303
368
391
292
344
220
283
289
256
236
307
347
356
325
383
328
340
279
305
390
265
330
293
291
215
292
353
265
405
261
307
269
400
319
343
359
185
310
322
339
405
284
272
338
302
389
349
218
286
351
320
285
242
275
309
304
340
237
298
268
356
318
388
319
293
298
324
318
288
305
378
290
378
376
336
373
334
388
249
286
325
357
317
258
284
301
294
278
322
314
352
296
268
257
273
275
280
333
331
259
318
379
316
257
299
307
376
340
288
321
343
355
304
292
194
343
309
341
244
399
337
301
325
243
333
315
331
343
248
409
279
362
325
391
316
278
245
315
336
342
375
319
328
243
347
288
410
329
237
357
265
273
326
260
225
346
327
301
249
332
365
358
251
338
290
277
338
331
369
337
322
312
362
276
272
323
342
330
404
352
289
364
286
318
332
363
324
354
295
297
308
303
324
408
295
326
311
270
277
227
271
305
334
196
327
281
383
340
331
297
304
260
380
318
308
251
284
305
304
299
369
357
307
393
318
289
356
297
381
299
366
275
218
324
325
309
333
323
343
236
276
344
296
333
305
316
379
321
225
280
296
277
304
329
311
400
358
344
279
314
331
274
357
374
292
353
334
359
325
321
382
321
291
335
322
356
315
304
293
272
316
426
307
332
334
278
337
347
324
300
312
324
314
362
264
287
297
255
326
349
257
377
228
362
347
273
336
372
269
247
327
303
310
334
413
278
271
269
308
314
278
334
260
315
336
311
356
394
271
323
331
291
255
242
312
279
269
374
294
350
328
379
326
303
317
288
288
367
256
271
418
322
335
343
404
336
344
312
300
321
295
353
299
246
278
302
316
310
279
330
355
329
281
357
247
223
310
329
306
286
365
268
272
313
345
305
248
247
363
266
369
316
310
280
312
296
310
252
320
289
332
405
392
296
313
311
340
229
331
339
350
331
302
349
233
329
418
358
315
287
312
355
287
297
373
366
328
412
236
421
287
280
344
297
383
321
210
337
322
348
256
328
333
322
382
312
334
412
325
360
359
364
378
317
342
196
373
348
318
358
198
335
280
374
253
308
368
382
303
328
300
346
377
322
306
353
390
373
307
301
298
287
339
336
353
345
222
322
397
395
325
293
339
344
370
297
265
341
353
280
228
373
317
250
249
312
331
320
445
300
338
269
300
388
473
269
305
303
333
287
293
384
303
409
299
311
363
305
266
276
289
294
235
304
339
394
318
313
352
324
321
277
395
399
364
310
338
369
328
299
352
311
267
264
287
387
274
331
334
302
292
253
266
243
377
333
324
316
306
372
316
395
330
338
325
290
345
289
350
357
275
252
311
300
331
332
295
342
322
282
275
326
320
305
298
348
319
275
335
316
238
253
210
374
350
338
348
349
379
277
284
359
326
294
378
331
361
333
380
296
367
267
304
337
333
284
322
291
339
323
294
378
386
310
349
356
329
331
294
331
352
303
304
299
321
391
298
316
361
295
377
395
284
349
295
398
353
315
372
370
337
270
249
300
343
375
323
334
290
389
314
258
346
305
330
277
337
291
250
297
326
309
326
360
307
333
326
283
304
288
313
314
349
331
326
289
386
255
318
260
367
333
347
341
363
311
276
341
297
343
276
305
326
284
232
271
277
357
360
282
263
265
381
355
315
299
246
356
348
332
313
350
389
333
355
349
411
317
290
310
206
272
279
360
318
407
319
269
325
398
255
287
327
320
305
324
312
254
260
334
276
248
309
239
337
363
266
273
260
267
358
254
280
293
206
301
339
363
412
383
372
372
327
277
331
324
375
317
316
317
372
235
305
330
337
313
312
355
328
302
311
330
285
310
182
285
350
330
280
325
316
325
258
268
381
335
358
215
400
284
338
316
352
417
295
305
267
322
314
339
320
360
313
364
352
257
288
252
314
327
320
328
324
298
271
307
323
301
229
299
231
254
352
249
286
318
382
286
327
327
355
244
252
258
249
357
345
350
322
354
310
337
381
320
303
329
293
336
333
284
322
331
230
318
361
277
362
341
317
294
371
356
288
384
314
279
305
382
282
301
294
385
326
312
278
362
328
337
345
261
279
335
356
297
339
326
377
275
350
343
370
256
262
260
241
215
384
378
316
291
361
282
329
340
253
325
253
321
287
345
278
287
402
323
391
273
277
256
280
337
318
310
356
326
310
290
421
326
310
386
271
339
300
351
281
256
333
354
382
324
322
342
266
318
329
274
359
301
331
351
299
318
252
252
363
220
341
243
354
314
278
259
290
377
362
367
353
306
302
290
303
333
296
339
339
327
216
402
295
377
313
350
384
346
328
247
300
264
370
357
327
313
296
285
388
326
336
263
327
312
254
313
298
355
319
387
249
270
322
318
346
328
378
293
377
330
358
256
284
312
321
257
314
351
347
316
255
291
338
283
266
302
328
349
316
261
340
373
360
318
300
443
288
381
388
318
354
296
218
348
262
381
311
317
328
296
223
365
345
314
330
294
264
321
327
310
370
320
339
355
324
249
358
251
243
345
384
281
287
302
285
295
360
345
348
389
356
311
286
311
389
325
333
302
318
362
277
332
345
296
306
299
281
344
371
375
364
384
276
346
352
194
328
304
256
309
351
268
323
354
279
289
381
227
318
390
362
329
296
343
271
292
233
355
331
248
348
301
332
315
354
323
334
355
322
344
301
309
281
255
285
274
300
379
363
305
279
361
247
310
310
293
284
207
292
309
325
335
367
316
334
291
314
272
326
406
331
301
220
301
378
318
277
301
264
364
360
355
378
300
326
314
293
268
345
375
346
359
316
388
328
294
329
315
371
311
327
341
294
377
260
345
362
289
223
340
356
287
301
357
252
290
346
300
270
307
312
279
330
289
381
288
375
322
327
266
321
314
333
313
309
247
303
224
273
341
372
302
362
294
288
309
288
327
252
260
200
386
297
335
379
291
294
270
285
274
291
285
325
376
264
313
262
308
284
329
320
253
331
284
311
316
338
259
314
263
336
350
306
267
294
316
336
370
329
320
335
326
276
294
331
330
240
328
383
304
320
371
347
316
230
229
307
267
275
301
390
292
359
343
367
356
315
306
316
259
275
312
244
388
367
282
380
369
316
300
358
357
189
325
271
392
302
329
431
238
405
316
349
267
327
299
305
368
248
289
392
253
296
226
297
347
214
309
297
357
282
233
206
287
296
364
320
319
296
302
324
333
303
279
366
321
352
351
360
216
303
278
329
325
374
306
288
281
381
367
332
332
287
345
396
301
264
191
313
323
309
375
295
365
357
288
314
317
332
233
316
317
281
403
260
308
268
316
288
250
316
371
266
282
352
370
264
296
273
310
312
306
330
300
236
321
336
306
321
218
316
221
275
381
322
301
290
349
338
386
227
348
282
225
380
328
367
311
270
327
286
409
323
318
284
316
360
291
382
386
335
339
344
397
376
278
365
325
274
267
389
315
309
353
341
277
310
275
311
353
264
365
329
288
307
350
293
293
331
300
338
364
355
358
263
244
325
291
317
335
341
304
274
298
348
310
332
327
272
301
316
331
316
347
384
201
342
354
268
376
297
285
367
285
356
291
252
255
277
244
336
311
322
273
310
347
398
405
299
305
248
285
327
264
363
303
336
279
177
333
385
385
362
321
341
335
302
283
356
289
322
314
313
302
306
344
235
305
328
296
275
398
301
306
371
344
303
363
313
333
268
344
297
378
211
222
332
247
298
271
369
340
324
236
299
202
303
395
202
339
307
325
437
383
282
300
297
303
290
324
317
334
251
403
297
308
293
324
274
280
270
307
247
266
343
333
397
248
417
334
349
350
375
378
323
241
334
187
305
337
344
349
297
237
326
346
358
319
387
295
345
272
263
320
346
325
319
399
389
300
335
321
328
263
284
294
364
293
290
390
286
388
353
322
322
255
255
395
365
367
283
385
263
333
364
375
272
345
340
330
383
217
307
326
382
341
230
303
322
503
297
418
332
397
309
281
316
260
337
361
324
280
284
330
347
308
239
291
378
376
313
362
318
349
348
432
365
198
299
352
338
285
352
348
316
290
338
325
374
319
288
332
229
251
330
324
364
305
341
323
303
360
366
338
297
286
261
300
305
297
298
363
349
371
250
310
312
361
167
331
382
288
398
310
265
339
290
271
359
259
359
349
257
330
320
315
354
391
308
371
316
371
317
245
325
355
284
351
307
330
314
304
288
324
274
248
289
318
320
408
292
318
395
274
229
372
281
307
353
318
280
381
316
297
277
348
313
276
288
231
377
305
200
317
346
334
269
285
328
310
393
333
315
302
281
314
304
341
271
233
289
262
300
286
337
328
307
298
343
264
337
264
373
330
285
310
346
307
272
365
307
348
334
273
319
290
363
300
314
248
313
336
348
281
266
341
286
392
282
384
338
364
244
360
264
319
330
182
252
391
327
361
303
379
385
286
371
323
313
363
332
278
341
367
361
379
347
291
307
261
358
209
358
274
292
287
311
321
322
255
333
320
397
288
365
372
357
293
331
357
343
323
349
295
286
329
346
292
320
264
305
348
319
244
322
345
273
297
254
264
348
360
336
340
292
310
408
313
303
289
302
247
307
389
300
315
302
355
347
238
330
290
312
344
306
302
226
302
283
346
423
306
307
242
266
346
322
359
393
266
223
344
259
297
371
308
283
384
372
368
258
284
337
380
360
314
380
405
294
375
315
309
348
286
339
304
327
260
263
311
277
307
360
258
271
323
341
280
337
387
240
363
347
315
255
292
337
310
394
315
364
333
302
293
262
378
332
261
324
248
289
324
346
333
345
299
236
330
235
343
294
323
316
322
264
366
337
286
301
316
241
316
394
261
227
348
275
305
327
326
295
266
317
314
280
399
316
361
393
308
381
289
363
208
264
341
316
299
248
314
284
287
316
303
273
366
354
275
273
299
305
292
357
300
336
348
303
321
358
256
336
333
401
393
282
227
331
322
300
322
308
340
242
265
348
262
325
260
313
293
352
357
333
348
338
333
284
356
270
342
268
349
349
314
317
402
344
276
363
328
262
359
240
309
310
324
294
333
310
294
287
353
340
263
363
212
325
325
404
359
339
316
246
319
277
280
294
256
221
283
309
310
240
318
379
312
269
311
319
259
305
299
344
276
308
332
315
358
299
316
314
302
229
324
325
260
262
297
353
305
344
344
351
334
374
311
298
314
330
292
275
288
331
319
348
288
259
261
314
299
334
370
301
272
248
270
256
326
306
378
377
348
258
328
297
409
357
344
253
385
295
305
259
304
322
274
325
288
216
280
219
314
310
409
356
297
308
282
328
390
343
321
319
284
309
324
392
245
312
354
326
288
364
338
368
271
329
315
274
282
326
310
321
295
290
315
356
287
312
373
323
357
295
239
319
378
276
312
314
339
314
318
353
261
394
339
332
318
337
261
290
328
384
316
249
289
329
382
362
336
392
340
353
375
292
207
364
296
370
258
295
361
331
333
321
315
326
304
351
315
329
322
312
325
325
322
312
354
339
296
320
336
303
249
239
357
300
266
351
257
316
307
307
372
354
301
249
338
402
288
264
302
305
306
421
269
228
288
330
315
297
292
329
321
354
292
329
289
332
302
244
306
303
218
370
315
301
254
355
314
288
360
304
387
348
404
312
349
334
373
346
368
337
333
272
286
266
232
329
378
304
366
343
321
361
300
321
306
237
358
367
351
296
293
311
260
301
294
399
350
333
294
356
365
362
261
255
335
348
392
358
303
265
394
380
318
274
251
373
296
323
370
183
366
335
314
234
353
330
290
404
329
322
309
365
335
246
243
339
238
342
364
358
296
323
341
275
279
375
330
287
364
301
340
370
344
333
309
368
322
337
334
296
368
243
306
337
274
343
363
350
373
280
325
347
344
269
330
295
334
353
339
300
292
302
270
242
391
267
317
304
285
311
283
325
304
314
365
327
357
333
306
333
344
387
391
292
417
381
313
290
315
378
330
321
285
318
334
356
299
329
301
329
371
305
274
371
348
374
239
378
303
360
268
338
347
359
275
264
324
348
310
273
335
309
310
311
286
363
276
374
340
347
375
304
311
338
328
294
291
339
298
312
327
312
389
304
316
281
354
297
361
339
288
304
334
271
335
281
327
365
366
330
323
341
277
359
285
394
417
305
312
311
286
348
342
340
355
305
314
291
291
387
271
316
306
255
383
198
273
363
275
322
296
271
349
317
232
325
262
349
331
275
338
278
256
300
354
297
220
337
322
309
323
349
379
299
360
329
279
328
331
276
279
268
307
344
320
361
291
280
326
319
317
349
283
390
278
364
297
356
288
340
303
311
223
376
353
318
345
253
337
319
265
285
362
338
360
414
311
281
332
313
269
308
346
424
361
284
254
402
382
258
263
368
340
365
360
333
285
295
368
287
294
399
351
285
373
261
351
313
313
256
292
375
294
363
378
202
359
372
345
400
260
331
345
268
358
259
310
313
325
333
270
384
272
394
424
317
314
307
321
327
293
333
305
400
312
361
349
328
277
313
343
312
271
260
277
321
293
328
398
297
270
361
271
344
339
265
357
358
381
277
333
385
281
381
336
418
322
374
330
346
324
442
387
361
310
356
368
384
294
343
296
341
336
331
318
377
289
302
302
263
281
394
287
320
353
344
354
313
356
320
247
281
313
335
315
310
288
368
358
327
331
287
328
354
337
350
296
276
280
287
284
309
300
225
372
364
375
333
329
316
282
334
354
381
210
266
302
300
277
306
295
355
366
290
361
377
334
283
321
413
320
295
300
272
267
348
327
338
345
374
311
309
404
309
366
197
337
283
338
329
261
343
317
354
262
313
233
375
255
337
319
277
334
357
277
334
231
354
320
294
277
385
263
295
263
381
290
335
343
301
344
347
313
304
351
321
297
347
344
340
262
346
325
258
363
374
371
258
271
386
351
328
376
282
331
276
347
333
355
291
288
368
331
287
239
285
336
369
324
364
367
340
224
238
330
279
299
366
270
256
331
350
287
391
278
331
307
249
309
387
364
321
407
292
298
323
283
337
288
395
347
335
355
259
299
382
214
311
329
323
338
239
341
306
362
314
336
327
303
312
240
300
368
298
248
350
255
358
284
292
377
205
361
342
299
429
310
312
303
280
277
267
368
344
322
290
329
367
348
323
382
336
236
336
292
342
279
198
316
326
257
359
353
256
252
269
356
364
258
260
377
328
344
321
243
317
324
289
295
251
338
379
314
352
287
294
308
270
256
305
383
337
292
270
361
273
372
264
338
314
295
284
343
362
315
424
336
272
352
328
273
298
320
251
365
289
262
415
299
357
256
353
328
214
312
243
337
286
304
245
349
333
338
314
281
299
324
252
275
350
277
291
326
272
378
316
326
351
327
288
372
333
310
338
282
354
295
329
295
221
328
362
356
385
364
261
388
347
313
243
313
272
321
329
331
245
324
348
383
268
266
347
246
277
255
367
303
402
293
289
366
254
321
313
385
311
262
319
232
252
246
343
290
319
340
243
388
281
308
281
360
322
360
288
354
340
357
297
350
296
359
296
392
292
282
312
280
371
360
259
305
336
374
272
437
342
354
311
312
357
324
231
311
309
313
339
356
280
366
299
319
331
314
353
304
310
315
293
328
367
323
360
366
351
305
327
334
324
305
280
267
310
318
258
314
361
351
323
276
351
319
312
308
318
313
419
263
348
236
339
291
295
309
327
328
305
365
334
258
355
312
331
401
332
316
347
267
305
346
401
356
347
272
435
258
304
352
315
322
298
312
332
311
258
364
296
241
349
318
225
354
387
262
259
327
333
298
303
388
269
307
219
263
367
351
354
301
247
308
379
366
261
335
366
302
358
382
316
320
279
360
260
318
305
408
242
348
320
267
374
274
272
292
351
283
351
403
270
354
332
359
344
314
331
337
323
308
303
401
356
366
422
362
264
355
273
369
343
242
307
317
310
382
324
262
241
321
316
255
290
343
396
246
268
304
296
378
275
361
331
307
356
383
255
269
319
390
276
344
341
330
300
221
394
305
343
241
262
284
345
353
301
280
347
391
434
271
300
345
261
276
370
319
343
347
325
237
340
270
364
336
328
368
325
305
374
317
337
396
220
378
312
318
277
380
283
298
235
309
417
374
328
270
274
373
288
346
426
294
271
282
326
346
310
378
285
277
380
324
235
322
292
274
342
316
332
281
312
306
321
346
302
311
322
449
262
249
338
310
326
283
331
400
293
331
283
280
358
189
318
336
305
341
355
293
265
389
218
311
249
288
321
276
332
317
335
395
340
344
321
301
326
322
254
334
332
317
266
332
278
342
337
348
352
376
368
272
333
282
348
306
359
372
409
265
285
306
272
351
306
293
284
321
315
426
314
272
244
274
387
293
249
364
339
338
365
317
297
338
271
322
388
321
314
295
300
294
298
304
301
396
339
388
319
351
392
357
307
308
283
394
286
363
304
349
316
393
377
320
352
280
357
287
350
361
350
337
273
299
258
356
279
255
258
366
384
306
262
343
342
397
334
309
339
312
269
255
378
343
264
371
384
258
336
343
280
313
305
368
316
334
332
354
340
328
320
289
311
322
318
346
431
344
251
312
309
354
293
393
223
275
342
347
334
300
314
276
265
284
372
315
283
288
224
317
274
355
290
339
271
325
334
263
390
297
287
344
328
380
349
299
310
290
305
298
287
322
316
288
276
257
377
328
356
294
316
341
331
319
377
276
369
316
412
347
278
365
287
328
312
241
309
266
360
340
273
312
284
231
286
286
318
325
259
362
337
201
232
339
312
330
326
276
404
198
272
409
352
337
215
296
260
299
240
344
332
355
322
399
330
412
392
303
301
352
340
297
276
357
339
327
347
300
340
299
338
278
311
322
366
286
326
344
312
248
302
225
396
351
270
356
233
293
332
317
343
331
237
326
364
320
387
391
264
319
239
201
336
273
301
340
264
283
302
348
322
403
355
228
336
239
344
289
330
338
349
294
306
244
248
301
331
396
325
305
330
302
344
323
337
349
329
322
244
321
314
355
289
315
314
270
436
294
315
391
363
310
329
295
322
273
322
338
236
287
393
305
371
329
288
338
337
344
356
392
276
313
301
342
311
238
346
323
332
327
323
345
332
330
360
283
286
357
331
368
330
386
372
328
355
346
409
336
290
296
228
268
324
276
261
289
303
203
297
333
314
369
336
295
275
371
369
305
342
294
267
261
266
338
303
358
348
316
316
229
355
265
297
229
256
293
355
357
295
344
300
275
370
392
283
327
381
349
309
353
279
317
244
346
339
321
251
303
257
368
403
338
333
296
366
296
338
281
344
306
270
320
343
292
316
271
340
258
312
361
349
359
318
254
355
301
214
402
295
340
280
311
288
371
392
405
347
264
335
246
273
295
396
350
252
268
339
276
339
335
277
259
257
307
293
342
373
380
287
302
286
349
326
247
235
276
291
245
339
392
407
324
343
333
341
389
249
368
312
294
298
322
318
341
403
213
253
331
349
307
381
294
365
319
303
307
297
331
335
255
362
333
252
322
359
325
298
304
247
327
292
246
378
277
378
310
344
284
391
351
339
331
321
345
370
243
350
336
291
342
336
381
348
349
299
270
321
377
388
264
379
348
287
295
342
343
232
321
337
286
316
358
288
381
351
400
250
304
285
351
272
260
330
303
314
337
271
248
317
325
322
259
228
242
291
339
347
278
339
244
403
332
329
291
297
279
306
355
312
297
368
316
355
300
353
326
322
337
379
327
332
291
371
237
321
359
301
309
358
248
231
243
291
313
387
353
331
357
364
372
283
278
304
395
352
332
321
337
231
329
334
342
319
257
330
271
215
274
358
371
305
413
343
287
298
258
337
290
407
226
299
247
355
306
249
343
296
350
241
321
259
295
313
341
272
306
337
272
298
291
235
322
355
333
315
341
290
328
365
237
223
311
289
305
370
343
302
344
316
292
244
297
370
326
292
290
347
314
340
284
319
363
267
247
352
331
321
375
208
387
413
325
383
322
301
393
289
291
277
294
250
289
279
322
344
338
328
402
390
389
338
396
347
313
325
309
272
310
305
292
237
280
267
328
270
209
338
332
313
386
335
271
394
325
362
330
292
329
358
382
300
426
301
320
302
321
366
329
311
268
259
249
264
290
275
317
318
324
281
393
396
270
329
287
371
322
290
371
299
253
269
345
302
347
291
300
276
422
337
334
206
375
312
283
234
342
382
298
365
354
277
244
269
299
243
314
207
339
336
263
309
304
302
302
338
338
289
334
352
349
290
365
332
290
322
317
323
279
265
308
252
311
270
319
425
346
270
314
301
347
291
291
377
284
240
217
266
401
302
368
316
342
291
339
296
365
369
360
264
347
281
236
345
362
279
372
366
311
286
304
317
344
279
318
282
339
389
378
367
306
356
307
375
319
255
328
308
247
318
309
257
346
361
323
374
306
291
340
309
308
365
309
347
360
343
356
346
317
360
347
253
286
301
383
341
359
312
338
284
305
316
323
267
304
352
269
412
396
325
300
392
309
322
299
367
349
348
283
304
283
258
348
353
331
329
270
290
317
318
355
335
232
276
405
327
358
285
245
294
262
325
274
399
355
256
358
410
326
320
271
317
231
354
333
319
293
269
331
348
185
299
256
318
246
285
290
295
338
243
279
309
380
395
338
343
288
268
375
261
318
286
320
381
288
283
274
253
336
301
279
323
306
347
333
366
326
343
280
350
274
197
315
285
285
354
316
243
321
388
345
258
300
286
271
244
203
308
307
340
313
271
311
336
333
326
223
311
330
311
310
328
329
335
244
376
371
173
352
308
318
349
354
229
327
346
324
282
296
350
346
309
326
342
354
302
276
257
339
365
331
288
293
334
375
376
346
365
327
261
302
261
289
293
326
300
339
233
263
332
349
357
386
331
343
249
336
376
277
373
300
324
301
237
348
296
280
297
311
323
352
300
359
266
366
318
419
325
299
279
281
347
380
368
288
355
332
334
332
290
301
365
373
348
393
239
311
262
288
315
288
342
216
282
316
366
350
308
298
329
303
274
318
307
243
276
307
293
367
355
274
284
308
387
312
333
387
255
310
385
276
290
261
278
394
361
306
360
326
253
328
261
387
328
319
410
308
253
239
303
343
317
275
319
359
373
303
343
313
304
345
370
315
272
301
380
327
317
312
333
212
306
346
327
375
346
308
341
289
442
266
340
260
260
296
322
202
340
338
334
340
283
330
294
300
306
266
331
293
296
334
368
296
348
372
333
358
399
316
267
280
256
264
306
341
300
303
234
320
406
354
396
365
345
328
295
302
351
349
276
268
283
362
328
300
292
283
360
296
300
351
274
245
415
349
436
271
418
270
228
309
313
297
329
330
326
287
327
351
363
333
322
287
298
288
255
367
247
323
259
233
284
390
271
410
276
331
346
275
303
243
385
273
263
369
287
286
293
353
321
286
371
269
312
329
256
349
403
335
261
337
288
382
342
322
380
333
314
367
273
277
308
333
317
335
281
347
316
349
309
291
303
339
306
394
295
391
307
268
301
343
406
355
274
250
352
249
311
331
362
304
337
339
362
332
358
356
399
319
372
348
332
228
342
270
409
295
336
343
301
321
375
371
377
363
303
285
294
321
244
268
267
341
360
262
351
376
347
321
288
266
272
292
284
345
335
353
243
370
335
303
361
397
315
355
313
305
328
284
317
325
366
289
317
300
253
369
410
263
251
360
287
289
310
328
217
274
233
262
335
307
309
347
329
257
379
230
300
278
276
284
348
338
355
384
290
319
306
298
313
327
363
294
240
294
283
337
341
239
345
295
313
382
322
289
323
355
269
363
324
348
376
307
323
314
369
308
255
287
334
416
330
340
322
316
314
249
343
418
370
306
299
275
319
275
344
287
269
332
340
362
308
331
395
302
327
345
383
293
310
350
410
342
303
238
314
358
236
276
330
347
312
250
311
345
294
318
342
216
282
294
344
399
336
316
308
324
313
285
286
327
300
342
220
220
333
325
317
327
298
371
339
254
303
296
366
293
406
288
305
345
219
312
347
280
317
318
379
345
311
261
297
352
316
274
351
324
344
341
248
352
171
202
330
331
310
286
273
284
276
385
317
356
343
367
411
313
383
315
329
328
273
250
309
354
301
347
276
266
432
332
378
335
339
309
276
324
291
331
323
374
269
257
234
359
366
344
330
336
356
329
356
345
302
292
258
210
344
349
364
313
275
316
368
223
336
301
312
240
255
381
265
314
328
323
269
380
312
295
331
303
264
416
312
351
217
375
344
310
356
259
390
322
375
308
312
291
256
307
293
308
337
250
275
280
266
344
280
337
324
323
355
270
289
308
341
338
367
265
173
270
337
327
355
376
267
331
368
305
276
362
313
258
334
364
268
360
188
324
225
348
368
287
356
317
304
255
298
340
371
341
286
294
320
348
310
296
269
322
269
293
379
334
298
330
294
370
342
304
283
273
382
328
316
224
338
349
325
386
347
400
318
344
365
243
391
252
345
344
322
305
340
330
305
299
308
347
299
305
369
343
327
364
302
345
267
310
367
310
325
391
387
266
209
381
271
378
338
296
290
336
358
291
344
339
395
260
208
194
308
412
325
305
316
335
341
278
346
369
299
368
331
247
267
335
361
287
365
354
358
364
341
322
259
297
322
317
333
313
249
310
323
253
407
289
374
352
283
309
278
357
337
225
355
274
266
256
253
347
392
280
292
310
248
330
217
294
272
284
315
327
344
288
301
324
314
287
293
331
320
338
355
315
282
255
220
429
294
299
357
343
327
367
273
304
226
298
350
392
332
341
358
328
301
318
298
308
283
370
319
408
296
367
318
321
329
303
279
280
320
300
321
345
323
289
326
204
369
339
353
272
314
257
312
269
300
344
323
355
313
376
346
376
316
313
336
378
333
402
314
394
295
246
312
309
236
270
317
275
315
322
364
275
311
294
357
311
289
260
316
342
278
369
344
336
306
316
354
383
289
301
386
339
354
285
366
361
306
323
285
301
302
291
325
338
207
349
270
358
276
266
325
354
371
338
282
377
291
243
265
434
276
302
395
361
354
215
278
271
303
350
297
299
241
307
282
278
330
269
251
258
384
277
355
330
265
348
347
259
215
358
262
291
350
351
283
292
347
232
293
268
283
297
337
349
291
332
284
352
331
232
249
396
344
316
407
363
277
329
293
370
252
355
324
346
306
372
263
326
279
332
322
327
316
349
269
256
281
286
354
320
343
290
333
353
333
346
275
342
384
399
321
392
300
341
341
323
282
338
332
361
281
386
310
289
323
285
293
332
312
323
367
290
329
307
396
326
346
327
337
336
356
339
428
370
314
309
317
172
333
341
349
232
282
382
383
296
303
321
321
279
359
327
285
321
305
350
306
307
330
365
358
314
325
323
300
373
347
334
286
312
250
288
212
305
364
297
332
218
341
291
328
317
338
339
300
325
329
288
278
355
226
397
283
302
289
314
239
296
244
305
284
302
380
377
325
362
295
268
313
355
306
253
385
377
349
289
356
237
368
435
318
285
275
326
248
242
336
348
276
287
337
353
373
328
256
298
325
298
367
303
298
323
300
349
279
311
270
350
338
269
316
380
280
264
336
270
413
384
157
341
355
332
333
257
191
334
344
397
300
342
301
297
292
282
344
357
312
259
344
241
350
312
375
356
357
333
410
274
399
348
395
291
335
342
348
259
286
385
306
336
362
322
252
327
343
318
337
303
368
284
410
399
283
309
345
321
266
377
319
278
278
279
286
335
373
354
215
344
277
367
360
331
302
259
292
282
244
367
326
399
289
299
315
286
305
305
361
361
329
336
336
277
304
312
339
282
299
233
330
293
284
270
269
315
309
309
342
354
307
299
426
344
299
338
285
332
347
317
381
356
305
359
351
287
285
347
234
286
300
251
311
260
362
340
287
327
379
319
242
380
239
232
215
370
356
256
341
368
402
336
326
254
346
393
307
295
342
286
291
218
317
350
244
361
246
383
360
259
269
375
318
271
282
331
293
316
301
335
304
358
255
303
339
348
337
276
400
344
327
273
330
306
327
340
340
317
338
387
300
353
379
263
346
409
313
314
333
332
344
314
314
318
363
377
320
301
380
392
241
257
241
324
338
412
364
338
300
328
356
328
358
358
293
286
398
294
346
398
368
266
339
302
266
396
285
369
370
317
348
342
236
325
319
305
271
362
295
303
361
392
306
292
287
375
337
322
270
314
245
329
319
285
330
278
345
291
246
311
303
310
326
323
225
324
361
320
404
348
309
323
277
309
288
298
317
344
310
327
291
318
401
361
369
402
247
204
257
303
296
355
346
378
297
293
351
298
319
372
256
280
338
325
312
253
350
278
373
317
390
311
250
309
342
253
275
281
289
262
250
279
297
329
287
236
272
274
318
347
242
308
278
358
289
278
322
349
398
312
312
359
306
332
296
271
297
324
219
325
279
388
281
255
302
242
219
219
363
296
301
331
220
371
280
330
217
307
344
311
330
293
313
336
364
292
270
331
411
303
353
324
314
292
248
349
290
385
392
411
292
280
287
321
283
330
277
287
323
280
243
425
330
310
284
280
332
267
308
340
350
276
340
316
257
292
260
300
267
325
311
377
259
254
275
379
369
369
335
331
344
283
396
377
270
391
242
318
278
275
353
316
367
340
337
280
257
345
333
340
298
269
304
327
309
327
312
352
383
339
248
309
315
344
264
363
327
360
411
286
352
337
330
372
300
363
357
286
380
397
356
356
327
353
238
291
346
243
304
331
270
325
324
267
329
282
214
320
242
278
303
272
193
365
392
366
351
360
277
302
363
309
339
328
352
415
325
272
304
329
297
342
300
295
278
229
366
301
294
346
289
319
323
420
267
289
296
353
331
340
324
424
276
317
364
390
277
356
274
225
307
297
342
354
321
321
368
287
302
304
337
318
269
356
236
326
338
212
362
293
309
345
385
261
382
288
341
313
332
285
356
306
308
258
291
373
333
255
274
301
306
302
296
304
321
364
396
319
328
361
244
360
240
203
297
304
407
319
299
369
300
314
239
248
332
380
288
315
269
358
281
299
278
237
304
339
306
285
337
318
292
238
362
234
348
271
357
381
297
267
411
288
347
327
352
321
330
344
346
248
340
328
222
310
335
339
306
310
298
278
289
334
341
320
313
285
318
258
272
300
290
332
277
361
249
341
301
386
319
309
333
316
300
294
362
369
315
293
357
355
257
261
332
340
351
356
320
363
324
301
296
430
332
346
246
299
311
296
323
274
359
324
311
344
331
266
289
391
339
367
170
371
349
258
211
396
250
393
364
315
351
369
289
296
329
444
324
347
359
280
301
349
272
413
381
280
289
273
305
377
299
318
267
351
371
277
272
362
365
326
306
331
322
378
294
381
384
301
277
348
304
311
393
327
341
320
281
352
335
284
346
307
244
293
318
319
307
232
314
378
296
278
279
281
376
323
291
318
280
307
299
250
242
345
306
275
358
249
287
260
283
328
365
347
343
321
254
269
371
344
299
338
339
294
271
271
185
369
298
333
312
383
313
321
292
339
318
292
315
310
317
222
309
312
362
303
391
349
259
292
348
370
252
281
309
298
359
343
326
259
302
305
373
232
292
354
293
286
357
304
407
259
292
309
301
356
385
381
333
301
321
260
265
378
356
310
282
269
338
244
348
312
308
300
387
287
310
408
332
275
249
249
247
344
272
285
329
313
306
348
377
423
284
308
328
242
248
318
322
296
305
341
357
364
347
323
379
371
331
318
338
201
318
308
356
281
270
314
336
346
367
373
293
370
302
278
372
276
386
300
333
300
327
359
319
351
297
331
326
270
331
422
377
391
306
337
370
371
294
394
336
343
267
284
289
334
321
373
312
329
325
385
270
331
378
311
276
385
304
315
342
387
299
310
346
305
361
313
334
315
344
393
284
364
287
336
413
336
272
305
268
335
272
317
351
261
378
313
307
319
325
418
259
281
329
318
342
258
293
340
315
312
267
321
323
371
285
283
272
304
277
348
332
346
273
310
308
346
337
350
390
348
418
377
278
275
366
353
337
286
374
296
345
283
322
318
288
356
315
323
332
258
318
335
248
257
270
361
252
392
244
280
270
275
305
250
330
323
289
348
316
291
312
287
264
293
346
348
282
318
260
355
346
293
338
300
240
335
392
324
421
312
353
311
278
273
329
332
271
317
326
358
338
384
257
349
323
299
272
312
304
329
284
367
348
360
323
310
281
349
346
236
262
322
270
246
278
308
310
281
313
380
307
335
363
320
340
318
332
304
380
320
237
347
369
308
389
363
340
321
278
315
367
345
274
300
322
359
328
341
256
332
251
342
300
343
261
313
324
365
383
403
338
318
315
272
305
353
283
265
284
364
292
308
352
335
370
268
296
398
345
285
331
306
346
354
275
304
226
268
287
322
364
306
311
291
312
305
321
308
347
308
382
334
343
313
330
310
276
338
284
279
258
319
305
322
313
301
323
344
361
383
358
317
236
310
399
253
330
320
305
288
282
301
373
380
266
386
299
272
367
358
299
331
309
258
340
292
295
264
320
280
322
325
268
286
274
288
259
321
298
378
349
309
363
356
370
368
385
276
257
352
237
326
337
255
260
274
271
248
336
344
262
208
323
334
196
384
360
222
301
424
358
321
358
357
246
362
253
293
273
341
358
351
396
369
277
338
311
308
363
340
351
318
302
287
282
240
282
315
378
276
245
268
303
358
349
323
351
344
293
265
312
279
294
331
273
270
399
262
365
311
347
331
295
330
308
350
290
236
312
200
320
327
268
291
289
276
333
245
328
320
378
259
330
354
307
387
332
338
338
280
362
255
341
281
373
314
291
334
275
240
330
230
367
320
253
350
226
290
177
382
332
343
276
295
327
347
233
285
292
278
289
298
317
339
355
314
281
155
454
284
327
346
260
407
301
321
399
322
347
299
349
275
272
304
334
376
288
303
309
375
369
288
354
348
325
305
289
331
261
352
296
321
349
257
303
236
297
335
366
290
283
376
286
401
286
333
324
363
364
255
308
352
356
301
351
288
333
315
403
314
360
388
275
327
294
346
238
260
332
282
260
298
383
390
375
249
293
236
333
268
331
237
293
397
427
324
303
322
317
264
305
287
354
314
264
368
261
329
276
309
322
348
304
268
330
312
308
298
274
251
303
334
318
320
332
350
324
341
279
337
396
250
323
274
352
261
252
335
312
281
340
355
316
307
302
244
326
319
378
326
320
335
271
322
334
372
341
266
279
254
333
338
247
324
289
271
326
388
311
342
287
373
203
357
331
209
244
309
295
365
320
380
306
272
333
356
202
329
284
245
280
345
273
304
379
328
316
292
296
328
249
432
272
303
310
332
308
372
303
409
326
347
267
404
354
367
366
344
392
321
374
302
264
335
307
233
359
322
251
344
336
356
286
246
242
388
378
350
358
340
378
346
349
325
303
309
304
345
309
350
326
315
302
267
363
313
294
269
237
334
281
405
271
317
280
317
310
321
285
292
279
354
325
335
347
297
354
269
226
298
353
273
324
382
369
266
354
277
343
208
222
355
295
245
345
254
346
332
273
321
326
304
334
287
348
354
266
321
329
298
266
253
279
347
326
346
343
387
377
319
348
353
253
343
292
321
313
358
344
278
265
334
283
286
239
278
303
334
350
325
247
319
254
366
323
213
299
237
317
252
332
335
324
340
287
295
398
275
338
289
294
313
250
309
408
341
338
380
355
341
396
263
365
306
376
342
341
310
311
320
335
207
298
356
346
279
357
318
295
306
365
359
306
347
259
271
310
337
312
350
345
241
256
279
329
321
378
298
347
272
301
390
328
235
310
273
253
334
358
377
397
210
328
325
289
346
336
307
334
276
366
293
325
375
280
353
306
350
304
342
323
376
226
390
276
279
280
239
319
314
377
385
262
259
303
375
303
262
299
264
371
299
330
397
292
353
356
396
248
397
314
260
301
256
308
380
268
363
275
342
273
363
247
281
304
240
290
363
271
380
339
352
355
207
296
333
349
381
310
356
332
295
343
336
300
367
365
360
386
312
307
365
263
338
319
283
424
218
353
291
351
395
301
299
269
323
305
311
324
329
310
329
285
323
308
402
257
405
385
298
372
307
330
321
227
278
376
288
238
369
329
296
311
369
299
402
318
350
329
312
337
329
303
322
292
312
364
349
376
381
287
377
304
309
296
326
285
368
340
316
371
243
300
320
223
299
248
346
370
411
310
254
346
297
326
335
299
224
224
306
263
316
296
276
380
354
237
297
312
215
339
338
312
317
372
275
320
272
310
267
361
349
336
228
266
302
296
303
319
306
301
319
355
317
258
309
361
361
287
284
379
321
302
292
357
275
409
297
295
343
278
312
333
238
246
335
373
347
258
263
377
241
316
251
273
357
413
386
279
320
313
302
324
271
289
307
333
356
347
356
322
312
368
400
323
356
320
372
344
297
269
276
290
350
343
311
307
344
351
355
340
303
285
312
282
350
319
398
272
310
343
308
251
338
377
311
228
363
247
328
314
258
329
316
334
319
340
279
375
356
342
301
275
359
365
295
281
290
270
329
275
295
359
259
236
336
286
317
261
280
282
294
317
263
281
371
275
400
338
369
303
284
334
319
349
281
380
320
242
331
328
306
350
322
293
241
315
309
234
354
294
268
301
311
297
321
282
306
346
377
261
295
216
293
380
351
336
303
288
311
328
287
392
232
329
368
260
265
340
296
292
480
366
239
354
276
254
385
313
257
345
365
304
349
303
280
307
291
371
396
304
332
365
171
317
262
337
281
295
168
361
357
300
350
357
178
270
360
268
371
410
315
271
356
379
311
350
375
400
287
281
297
356
378
348
332
276
309
314
191
369
356
329
270
329
283
331
285
325
282
322
314
273
389
283
423
292
334
342
339
267
385
313
248
325
321
294
364
356
287
274
370
378
360
296
333
272
293
295
264
287
381
283
286
364
284
366
316
358
389
305
320
240
271
311
326
341
247
282
264
306
346
298
318
281
308
363
324
397
218
272
268
252
248
257
318
350
341
314
348
388
287
321
370
358
263
315
320
350
268
342
347
331
266
302
320
308
363
348
334
253
349
324
306
230
314
296
289
251
273
306
240
283
320
322
280
292
313
340
255
314
301
361
280
299
325
320
337
352
333
267
338
322
332
280
294
350
324
341
308
355
321
311
397
242
370
339
321
282
338
279
328
298
389
304
323
332
261
302
337
291
295
273
331
306
327
272
302
367
349
399
336
394
228
287
358
231
371
283
290
364
339
305
340
256
299
382
249
355
318
361
298
355
286
357
326
340
357
381
244
294
401
392
263
255
344
282
252
325
267
338
216
326
332
329
353
321
377
234
376
307
329
311
391
342
408
319
334
255
300
295
230
366
324
275
414
318
343
364
335
294
361
274
355
349
299
303
337
270
279
307
351
325
283
296
294
351
231
296
243
349
304
389
253
284
266
279
304
279
268
309
335
389
308
334
369
296
315
372
349
359
326
275
300
338
327
289
354
325
319
252
346
344
332
243
291
316
290
335
344
285
379
366
355
261
254
314
366
307
295
320
272
306
262
323
291
338
294
305
270
256
363
280
315
392
317
308
320
411
291
275
265
343
339
399
264
364
277
259
326
312
332
295
396
373
295
318
279
317
305
288
371
375
285
369
265
306
266
332
243
333
280
324
295
329
257
283
376
275
303
364
312
360
291
347
394
405
316
290
272
367
337
312
362
396
363
290
297
314
244
308
374
296
312
380
354
275
345
314
335
382
334
353
337
306
340
239
327
236
311
271
331
263
277
345
281
277
204
350
304
290
347
346
331
358
346
306
340
261
316
290
223
264
310
366
277
302
307
347
320
350
293
289
370
184
320
288
313
284
322
382
301
362
344
312
350
316
344
320
253
354
318
272
275
324
309
276
226
326
309
412
377
340
328
327
262
328
314
256
268
305
290
277
355
262
384
275
346
295
304
329
352
328
303
341
362
372
329
350
370
360
311
311
292
281
344
342
286
348
361
301
311
342
372
311
376
360
321
308
390
266
294
346
273
371
256
332
382
301
336
281
338
313
283
327
365
254
326
347
338
336
366
318
385
316
282
333
302
323
257
303
365
358
331
222
253
224
395
363
342
283
315
361
353
347
235
332
322
358
234
274
322
277
354
279
349
324
311
346
353
322
351
239
277
208
279
312
253
300
376
191
437
330
260
279
217
352
282
275
259
253
344
242
277
352
377
316
252
294
321
371
345
256
265
290
224
361
326
341
235
302
325
252
318
312
339
306
260
264
245
363
321
306
340
372
346
273
266
315
292
274
315
331
327
273
275
340
334
284
369
210
294
349
314
234
335
276
270
241
363
313
308
298
264
358
317
272
381
372
304
278
313
243
331
276
298
397
240
340
380
340
302
212
300
351
320
313
344
365
353
315
304
298
320
378
351
261
329
298
344
300
277
419
262
314
329
249
355
291
356
308
335
324
367
337
315
318
360
315
346
366
313
384
298
332
369
338
384
345
305
280
257
300
251
345
260
310
370
320
374
323
209
379
376
311
308
326
356
286
302
256
303
310
335
334
323
373
347
222
332
236
292
318
276
301
351
396
344
383
339
307
423
356
309
336
316
335
303
285
292
286
354
261
326
322
298
389
293
347
271
308
367
316
322
367
381
351
285
297
271
282
226
327
399
294
271
368
336
199
362
306
234
389
312
301
249
306
313
230
297
299
249
352
328
271
295
350
341
357
332
232
340
248
318
286
260
345
312
376
304
282
232
259
292
316
384
400
286
344
260
325
312
382
347
324
264
282
278
341
299
273
303
286
348
376
358
256
345
283
371
339
314
295
273
376
328
330
384
283
371
282
279
358
270
276
323
296
324
285
324
292
355
306
240
316
350
351
350
350
275
400
381
259
402
292
326
338
340
354
364
231
252
305
324
390
334
342
320
301
289
345
276
335
430
313
368
346
302
329
314
396
319
394
340
367
286
356
312
337
391
346
302
322
368
324
337
307
212
351
373
331
340
285
325
414
298
293
318
311
295
337
392
361
349
277
313
339
300
368
331
287
325
314
222
382
258
377
335
280
354
319
345
292
296
333
255
396
331
301
361
326
284
352
310
381
258
288
345
299
335
253
304
325
340
355
327
294
318
308
263
392
340
404
326
330
329
304
269
352
277
362
242
311
291
370
312
350
333
370
380
209
299
262
326
253
279
364
289
245
290
294
296
388
336
327
315
258
314
297
344
300
316
343
306
298
360
244
345
291
337
278
232
295
221
412
280
319
256
326
405
326
311
272
340
316
353
295
361
280
328
425
323
359
306
373
352
300
289
310
242
306
375
352
327
322
329
345
346
387
324
391
326
319
269
327
337
256
278
316
277
272
319
376
198
325
288
308
363
306
294
378
386
297
314
334
353
271
275
293
311
305
349
319
294
279
343
322
297
285
228
298
319
266
300
375
342
404
386
321
349
381
251
335
310
362
307
323
357
298
246
339
348
292
376
313
282
283
325
321
266
337
388
356
344
380
336
410
375
287
296
347
324
342
268
278
322
360
257
382
333
319
357
347
343
329
316
334
299
308
245
349
315
256
405
273
364
357
312
248
315
355
336
324
219
277
238
301
362
390
300
377
257
316
313
324
295
343
335
340
259
338
285
246
285
275
350
312
279
339
309
346
315
310
399
290
373
274
253
307
205
319
319
279
316
328
263
302
281
288
344
313
304
344
328
264
329
331
266
345
359
272
329
343
291
285
386
274
311
287
313
291
291
322
340
358
315
290
318
316
275
278
291
380
246
296
344
335
286
374
293
345
325
318
317
301
342
343
402
426
234
333
268
228
320
272
279
291
262
337
316
291
341
348
297
312
361
391
357
371
233
306
335
326
281
313
371
341
309
348
307
321
316
343
295
340
298
274
257
404
309
295
273
271
302
287
377
294
306
292
349
283
319
348
290
255
368
264
246
298
315
308
287
233
316
318
227
267
322
327
269
399
297
383
365
354
265
366
325
385
297
383
284
258
299
347
322
328
335
439
375
359
373
325
351
310
326
338
255
360
296
309
393
374
377
316
286
285
290
350
316
312
316
277
355
346
358
330
435
394
353
356
271
191
297
272
387
287
327
320
280
295
388
381
303
245
358
377
172
355
312
265
324
277
383
300
330
311
266
380
364
268
281
309
409
303
395
219
293
344
352
339
286
362
308
312
304
233
315
282
334
274
292
295
299
372
296
229
325
340
316
344
312
398
293
346
359
255
345
289
244
392
249
261
366
190
423
293
275
328
409
326
271
376
303
400
316
363
340
277
337
332
272
282
302
353
309
285
368
344
328
341
377
320
312
242
332
300
349
364
335
331
262
355
340
334
309
321
302
268
324
362
306
252
364
281
354
418
371
281
268
402
393
407
250
306
355
325
287
267
227
351
400
278
251
327
370
341
360
344
328
403
341
287
347
288
257
338
316
358
330
331
372
279
295
298
374
339
397
252
277
280
270
302
244
373
339
349
337
357
354
299
316
270
309
223
267
394
286
355
302
358
359
357
398
262
415
267
341
227
354
350
225
333
380
327
327
395
328
318
345
361
357
303
254
299
358
358
409
322
339
333
310
232
333
285
311
335
329
289
329
320
319
360
310
429
330
393
230
338
367
269
352
387
351
335
346
236
299
254
338
435
360
289
372
295
230
401
275
388
314
326
281
299
259
246
344
271
372
342
330
314
280
311
261
297
266
346
369
197
368
311
249
318
230
292
324
351
349
259
272
372
312
266
343
304
391
330
339
310
349
286
380
308
380
361
397
318
297
335
302
401
377
282
314
249
334
401
318
304
272
319
368
310
328
322
347
274
388
357
268
345
380
302
308
284
300
320
275
271
303
299
316
307
294
316
377
286
327
329
350
374
318
314
354
354
370
352
307
351
389
302
311
281
370
301
333
259
323
279
308
377
361
340
307
337
258
328
280
313
322
307
410
281
390
327
318
392
313
365
355
311
299
304
320
298
369
321
302
345
371
323
394
293
309
281
340
268
368
408
243
334
233
257
302
295
279
369
351
316
337
364
364
285
259
307
337
314
267
294
368
388
320
261
339
342
238
249
327
276
383
311
306
375
389
272
390
332
241
400
345
417
282
336
267
309
284
415
310
340
340
339
406
315
317
363
263
355
275
371
307
408
304
322
311
300
336
380
429
212
336
341
326
359
294
308
333
338
424
302
360
382
307
295
264
360
377
379
306
379
279
278
377
318
282
330
306
343
291
278
316
376
249
353
286
352
318
297
324
354
393
332
375
353
357
307
241
289
327
356
318
309
333
280
366
410
356
281
303
308
231
347
287
305
250
392
310
296
352
366
263
307
262
422
280
327
289
299
323
324
349
309
356
326
380
332
350
441
367
311
406
432
328
363
308
300
300
352
351
269
289
313
302
336
350
305
283
269
349
311
291
219
301
335
274
310
352
284
299
320
337
324
282
312
246
312
299
286
310
362
351
292
340
365
315
313
324
271
316
360
262
238
320
312
327
349
368
262
294
299
288
344
276
388
291
352
373
321
353
291
339
337
392
281
328
300
225
284
380
403
315
328
405
397
213
334
408
301
313
356
307
340
371
326
358
321
335
311
329
252
306
347
342
391
408
277
303
324
253
352
333
378
333
372
334
325
291
340
297
307
268
314
258
342
360
300
270
284
230
225
346
313
285
261
289
356
344
271
311
299
273
379
380
256
296
306
264
395
221
304
264
268
354
282
381
275
285
198
291
296
271
340
316
274
373
296
333
393
332
353
227
342
363
302
291
339
273
336
284
368
364
235
341
322
376
331
335
360
327
340
336
380
310
354
284
393
413
312
319
249
360
278
331
315
342
351
311
386
301
328
303
253
356
398
411
234
279
368
310
393
299
300
320
310
326
332
316
278
340
402
339
312
332
244
299
294
359
384
299
317
229
344
376
350
361
370
288
343
327
232
351
307
358
323
321
348
352
390
307
309
308
339
346
342
409
304
297
282
365
298
320
330
295
343
230
283
233
338
311
369
202
274
292
366
361
278
289
293
324
271
304
399
295
353
268
338
318
267
214
300
384
314
303
302
288
327
331
270
365
308
308
237
234
383
387
346
309
342
335
248
231
264
325
281
405
362
374
316
334
310
363
282
303
292
371
271
302
332
321
399
286
348
361
250
303
343
289
275
322
281
378
363
383
237
333
309
361
378
290
286
349
286
409
233
331
322
356
230
317
346
282
322
316
320
243
348
279
337
292
283
335
321
279
340
349
317
291
351
263
322
343
316
246
271
299
322
274
331
350
276
321
386
357
173
286
326
292
268
300
283
267
356
318
316
292
379
334
253
344
303
318
375
347
322
276
326
242
352
289
362
271
255
228
353
356
304
412
344
343
306
251
240
329
303
316
298
330
217
393
326
364
309
292
357
253
284
254
257
331
340
325
299
276
377
379
324
324
368
385
283
225
326
302
352
266
343
397
404
357
344
278
341
422
282
285
412
355
365
350
274
293
374
351
370
324
308
432
326
343
376
321
320
369
264
302
307
290
328
323
314
335
358
268
323
292
339
332
320
301
365
402
298
405
243
316
395
292
357
329
322
301
318
353
312
357
302
278
376
355
402
341
316
277
329
421
316
374
368
339
241
318
331
271
283
390
366
342
332
374
284
320
317
301
298
313
365
385
331
307
293
237
379
247
352
259
276
284
309
403
296
317
314
334
317
342
310
337
425
289
297
397
248
322
335
276
288
324
263
293
425
379
317
298
390
365
277
425
264
327
300
372
374
387
326
310
317
362
310
256
320
360
299
391
270
359
372
355
434
316
409
281
350
349
356
305
390
340
293
280
328
286
304
292
349
313
315
308
363
261
327
271
321
392
314
309
311
354
260
372
355
373
357
267
370
216
340
314
243
313
281
402
409
267
374
344
289
323
405
356
266
299
258
308
314
351
313
299
329
301
290
248
286
343
335
320
334
314
257
366
296
314
366
390
340
419
266
294
334
329
314
420
240
292
316
314
286
282
341
318
288
316
349
339
281
271
366
347
362
364
269
273
248
263
306
381
347
379
428
263
311
334
357
396
369
262
313
349
268
280
394
383
354
385
343
356
306
388
293
302
258
328
226
419
334
282
275
276
342
386
388
336
318
255
319
400
392
403
299
303
272
241
375
291
314
256
311
351
277
340
311
314
335
258
333
308
341
349
296
293
310
316
309
334
380
375
310
319
384
321
370
317
270
194
337
334
306
292
293
276
337
317
258
290
325
190
309
270
276
356
341
310
294
328
295
294
302
256
324
367
334
443
305
268
311
283
371
328
333
270
280
254
394
293
324
392
331
311
303
296
406
274
348
278
244
236
350
299
235
389
289
339
338
347
347
274
330
326
315
305
399
274
290
236
319
254
283
302
360
354
285
329
306
309
341
361
286
333
295
295
320
376
363
325
303
332
279
275
378
350
239
241
361
318
354
327
319
298
409
335
267
296
252
374
323
329
259
317
339
286
281
331
270
265
364
231
319
358
322
275
286
337
352
332
275
371
350
373
240
336
308
308
317
301
387
306
320
320
314
320
347
323
270
313
321
295
301
297
314
361
279
349
312
332
361
279
347
254
343
306
367
262
410
288
371
235
267
327
426
360
265
340
281
333
374
394
261
310
400
403
302
324
302
259
356
282
282
330
377
239
278
365
273
281
290
357
298
384
312
244
310
302
319
318
231
285
278
351
278
341
383
389
289
222
263
340
226
349
281
293
273
238
337
279
268
246
369
283
285
310
320
343
407
275
344
280
382
331
330
384
315
359
260
325
317
297
368
276
377
317
319
295
398
351
400
264
270
282
244
318
304
353
311
350
417
306
358
361
380
363
341
305
268
304
268
379
289
293
384
280
360
267
331
332
304
309
321
264
359
285
342
273
382
357
315
268
263
252
349
327
408
395
373
266
307
220
394
293
293
311
289
333
296
312
296
318
386
250
392
313
376
335
345
365
337
279
348
362
340
314
279
290
314
259
292
292
227
277
331
271
343
354
386
281
323
292
322
350
294
326
389
386
286
375
351
302
278
413
333
301
336
348
286
310
338
367
359
362
222
372
390
352
359
274
383
405
286
298
288
292
324
320
274
381
345
330
325
271
266
322
286
348
443
315
336
355
368
362
344
332
313
275
221
328
315
331
293
226
381
279
321
315
295
265
356
297
262
226
322
300
356
269
379
269
344
301
253
311
305
289
287
245
375
332
325
348
343
302
315
247
243
282
344
348
286
276
297
273
317
288
327
358
312
319
399
202
241
360
145
258
286
390
282
337
365
372
265
252
297
349
375
273
348
259
297
292
395
230
302
310
327
363
319
311
323
339
319
232
273
282
366
320
339
356
336
240
332
255
294
261
344
286
328
304
346
323
308
285
352
267
304
279
314
260
398
317
259
213
285
361
316
311
369
316
330
328
292
300
403
345
348
332
329
248
356
237
293
292
327
341
308
283
353
298
206
274
328
340
340
349
318
274
293
327
290
407
282
327
271
344
339
371
352
329
337
336
298
360
320
268
333
238
319
320
258
318
298
337
353
316
305
323
327
361
415
422
327
355
371
317
269
302
287
265
243
348
349
326
360
344
225
271
302
195
295
421
303
189
348
315
276
420
283
324
280
349
355
375
330
344
382
250
305
303
368
326
364
363
375
356
279
377
342
227
226
266
349
398
276
353
268
263
353
312
222
275
356
347
250
296
295
273
323
343
280
353
360
320
384
244
270
369
366
326
300
363
277
283
370
328
328
290
337
236
360
334
325
294
301
203
350
263
395
415
330
324
381
366
338
384
241
360
347
294
389
302
306
320
315
325
411
320
291
295
275
257
271
370
243
360
288
294
371
308
297
378
411
218
315
304
358
369
315
306
256
323
371
336
300
302
296
331
315
248
312
424
313
341
244
278
291
257
297
336
314
305
296
336
275
316
286
245
367
314
364
309
347
381
306
415
352
340
257
352
279
331
321
278
294
266
282
331
341
388
272
278
324
282
344
274
331
278
435
312
295
342
333
380
265
312
426
237
328
301
354
381
364
325
274
294
341
298
306
409
386
370
379
297
369
332
308
262
258
264
264
296
263
252
371
354
354
331
312
328
338
315
334
260
259
271
263
385
271
319
312
281
298
367
372
298
328
312
306
315
309
258
320
334
326
379
332
382
302
367
333
331
338
395
258
389
313
399
306
352
353
340
290
293
304
317
346
323
298
329
319
315
258
342
311
308
291
333
307
202
373
210
298
309
308
269
319
254
283
261
327
283
327
257
313
371
238
353
280
276
300
351
303
291
355
353
334
308
265
252
265
222
291
339
331
329
349
393
352
283
292
268
306
352
261
351
341
287
299
352
317
234
277
400
301
318
291
337
342
299
348
303
343
320
309
306
342
299
286
296
329
253
338
325
340
250
288
293
275
369
298
322
299
273
395
214
282
357
361
279
323
319
296
303
256
370
347
305
392
332
356
278
296
313
276
310
388
349
273
277
332
367
219
311
274
270
369
261
362
314
353
326
400
303
316
342
346
262
348
322
242
305
350
317
315
380
344
262
310
414
308
276
340
254
404
325
338
305
353
313
265
337
307
281
250
345
344
321
305
343
344
357
406
283
329
276
334
235
371
306
311
346
330
302
298
364
237
344
361
296
375
285
318
297
333
310
298
255
298
316
351
280
269
325
297
387
321
294
276
321
403
316
321
314
374
371
306
303
323
358
350
360
332
394
371
278
281
289
335
347
373
344
278
336
255
321
314
264
334
319
286
328
364
272
241
384
336
376
332
268
306
300
348
242
330
306
438
340
322
383
230
374
415
343
270
374
344
300
315
313
250
330
402
375
226
250
363
330
236
280
325
322
326
334
319
278
352
329
291
327
308
281
290
345
304
290
343
331
331
256
297
285
282
293
371
302
311
308
274
303
234
366
272
270
345
293
319
254
333
271
294
340
341
355
313
406
381
295
297
333
286
284
398
255
347
352
288
288
263
325
268
323
331
232
310
320
343
353
288
310
380
346
330
264
235
244
333
252
243
360
233
331
282
358
320
266
295
354
295
312
310
315
289
391
384
290
330
365
291
368
305
338
360
330
299
285
368
350
314
373
301
224
204
307
345
357
360
389
332
296
279
268
377
250
293
292
305
323
332
322
307
308
364
271
300
342
348
346
214
288
268
263
286
273
336
405
293
407
273
361
327
392
361
278
351
283
399
381
322
306
317
338
295
294
281
308
263
383
275
344
389
351
328
389
257
268
307
310
332
310
223
387
365
292
242
365
327
274
244
293
358
273
245
345
342
303
335
346
338
316
432
378
272
369
257
184
343
317
265
434
279
274
314
279
348
291
369
384
282
316
330
238
297
301
353
286
368
251
301
300
241
315
316
312
292
330
334
291
294
340
243
384
278
319
333
348
255
254
374
367
282
380
287
348
287
272
343
381
299
300
269
291
336
318
367
284
314
292
364
228
298
330
233
263
337
261
382
316
258
234
335
215
336
261
320
311
299
280
384
338
372
337
267
305
286
409
248
399
323
352
343
324
346
238
221
266
371
307
265
311
337
306
411
350
332
431
259
351
341
315
305
265
372
307
278
326
306
263
318
361
283
357
229
323
394
317
338
351
220
405
302
302
245
277
293
352
314
367
348
372
311
293
276
309
322
384
338
290
391
258
269
300
295
345
306
383
381
275
307
305
211
375
341
312
410
359
308
331
378
242
347
409
276
226
327
290
379
201
392
262
250
328
296
368
314
276
328
375
277
301
361
242
415
247
276
430
259
397
347
338
323
350
351
320
291
315
340
406
284
318
375
358
377
272
345
287
376
331
290
262
315
420
371
347
321
361
384
318
301
344
386
331
295
325
320
293
314
306
246
319
331
339
364
320
320
251
312
314
251
295
269
246
266
287
269
292
361
268
369
304
327
371
345
273
327
320
334
257
325
290
302
349
375
308
372
278
383
339
250
274
326
301
267
289
330
329
266
258
329
316
266
315
294
338
329
310
357
208
330
329
329
314
276
371
266
325
317
262
268
282
302
242
388
271
368
426
291
349
233
277
345
323
293
387
359
360
306
308
274
368
299
347
367
284
265
264
316
333
274
297
327
303
255
245
292
351
447
297
232
279
377
303
223
344
327
370
222
292
283
411
303
340
359
351
359
321
278
315
272
388
342
350
291
317
356
315
294
290
270
330
302
292
343
343
323
337
242
265
316
270
258
285
355
309
320
341
365
353
340
205
354
375
336
363
345
329
304
293
337
315
318
232
322
242
278
326
344
381
301
335
265
297
365
379
296
332
299
276
276
312
330
349
280
255
306
367
263
286
299
258
309
361
357
294
339
328
397
341
317
345
312
201
353
328
375
208
312
252
341
232
365
296
317
288
276
302
309
371
360
321
345
338
286
356
307
248
344
375
371
308
323
260
338
262
343
302
316
296
316
320
287
340
315
228
262
291
292
379
252
274
368
304
274
231
370
322
322
326
340
371
340
321
379
382
304
335
346
372
321
323
302
265
354
317
319
227
330
338
305
295
263
355
354
295
297
347
280
310
376
357
277
310
290
319
268
300
348
195
277
392
273
313
293
247
337
364
281
359
330
336
329
321
234
267
327
360
272
304
313
321
325
344
300
303
299
370
268
384
258
353
283
346
314
379
292
309
268
332
380
313
352
236
311
288
358
330
263
343
342
315
334
320
299
265
254
306
255
344
325
289
321
297
276
359
240
284
411
313
300
278
325
357
249
261
322
277
350
354
342
351
323
272
407
307
343
364
301
259
274
294
268
339
295
301
350
291
325
339
299
328
274
354
371
353
311
253
324
335
373
287
285
357
365
309
392
316
367
305
258
240
257
295
370
321
333
321
334
292
303
393
270
302
309
422
340
369
328
325
328
339
321
353
344
314
288
329
315
298
262
349
422
340
288
330
260
344
312
339
350
284
290
268
316
400
315
252
343
325
390
386
382
295
334
268
237
293
237
303
319
392
295
268
288
426
312
356
264
308
309
275
398
250
285
356
308
325
325
383
274
370
395
349
324
351
373
315
308
400
316
389
298
316
244
319
308
261
273
388
326
291
244
286
272
312
301
254
249
304
330
305
369
303
291
283
378
365
342
330
258
337
354
388
372
335
343
350
346
248
321
239
380
251
363
356
394
293
278
304
261
383
236
226
244
253
311
327
325
337
367
261
351
287
193
311
268
320
259
314
272
302
353
335
400
373
301
377
332
293
274
368
296
320
295
248
377
294
328
316
327
397
298
401
332
351
387
342
336
276
309
324
354
311
405
349
390
329
334
344
271
283
315
360
299
329
279
326
283
257
372
321
290
322
302
294
345
345
375
339
350
316
320
359
296
312
281
361
218
326
380
306
390
338
364
253
347
403
293
403
248
341
325
322
273
309
349
268
347
337
287
295
253
232
269
282
278
345
424
438
333
297
365
339
297
237
325
310
364
241
362
311
296
289
315
339
347
340
322
361
316
366
277
320
316
372
325
313
304
370
305
301
317
295
316
334
329
372
264
317
375
339
288
330
261
255
297
259
249
379
286
313
383
374
317
246
293
257
331
315
343
289
364
372
348
263
349
270
304
243
294
376
301
296
283
318
349
304
264
369
316
212
225
283
312
280
295
317
271
342
341
286
365
196
272
328
317
333
314
348
248
344
246
324
359
355
358
297
298
312
282
287
335
364
384
309
313
364
330
323
248
373
303
353
331
196
263
240
352
310
190
346
361
331
333
330
369
330
320
427
263
340
361
323
326
353
223
345
332
328
325
402
346
346
349
311
302
282
293
303
340
301
260
337
324
417
332
324
289
304
347
299
284
281
301
350
355
346
266
296
332
248
292
299
335
456
358
315
199
336
297
320
293
303
306
285
313
367
290
294
360
317
306
315
345
276
362
276
314
324
331
334
300
304
278
335
217
214
329
365
345
365
250
352
348
273
311
273
304
404
266
424
331
309
316
302
322
339
271
321
366
302
352
297
246
364
341
285
327
354
387
303
346
398
290
278
389
250
306
317
283
312
251
307
231
277
337
313
279
285
330
366
316
234
294
328
263
342
332
269
281
402
317
250
282
223
284
398
350
268
419
274
285
342
295
449
282
421
292
345
390
285
389
305
361
279
322
331
370
387
314
349
428
310
284
292
304
358
265
226
310
282
349
337
303
269
335
307
356
279
316
309
326
307
361
314
325
356
277
298
330
301
316
332
294
300
375
364
311
331
411
346
328
307
299
369
304
329
347
331
369
274
254
311
331
387
267
340
269
305
361
348
242
330
278
214
333
315
361
291
346
328
351
259
317
435
283
365
328
307
404
349
342
284
259
203
297
337
258
353
280
304
257
298
303
336
328
304
271
360
359
306
303
254
272
376
276
363
364
295
256
292
325
326
344
315
333
258
300
249
328
382
245
310
350
407
314
341
275
284
287
347
276
314
390
307
281
362
287
349
332
325
321
314
241
352
328
379
270
311
319
263
334
290
314
213
375
268
317
298
338
283
389
346
273
309
310
366
253
288
229
318
295
305
326
321
342
388
235
332
304
385
344
281
357
295
352
344
315
270
206
376
319
314
245
285
337
337
317
316
292
311
285
301
372
372
339
301
345
321
296
387
322
334
314
285
233
303
326
314
256
265
315
311
285
325
329
348
275
329
312
399
317
344
320
274
245
348
326
310
310
290
294
298
364
317
333
312
309
336
278
299
280
280
362
301
319
283
354
347
299
329
298
307
281
331
345
336
266
345
339
330
287
339
409
258
329
289
350
226
202
328
325
326
266
311
326
344
320
312
364
383
347
282
356
346
298
326
330
314
311
217
388
243
387
323
331
361
325
390
270
310
247
352
378
311
257
377
312
230
345
308
341
269
309
345
249
307
381
244
310
374
313
277
287
323
376
266
311
307
318
250
318
326
282
294
361
244
327
356
281
333
259
337
305
289
322
280
329
314
293
297
342
317
236
327
371
308
254
355
259
306
385
231
347
348
397
342
360
344
315
306
363
307
303
228
379
308
368
233
281
328
283
308
416
321
407
293
285
297
339
351
340
313
303
238
308
367
335
250
318
314
279
367
268
315
368
398
299
230
372
364
278
353
360
332
378
335
258
245
321
333
271
352
264
289
372
320
235
318
328
282
379
374
255
320
428
402
356
342
315
276
298
395
300
335
346
309
298
310
316
244
298
290
345
285
341
357
297
295
285
268
338
343
376
289
404
350
291
378
332
322
304
346
298
369
260
300
342
358
362
334
308
262
388
306
339
357
347
262
337
330
279
284
330
305
292
286
343
343
391
330
341
309
327
266
291
333
392
362
277
297
368
241
309
335
346
303
328
319
369
322
338
308
393
316
344
297
278
325
335
290
270
313
259
356
371
341
314
373
305
276
397
333
272
296
288
281
283
399
316
327
285
306
266
359
291
278
316
312
350
420
345
395
251
318
271
381
306
266
301
435
338
337
346
321
302
193
350
277
372
365
365
276
348
407
220
354
244
290
346
390
355
356
331
234
396
357
313
305
293
271
331
388
318
314
370
275
362
361
260
317
340
359
292
318
306
353
248
247
396
331
320
353
307
339
317
429
344
218
381
314
375
309
344
326
270
373
338
357
352
366
350
339
321
341
298
286
348
296
414
338
373
293
240
322
356
336
317
268
338
390
357
160
244
285
313
319
337
279
273
374
371
276
295
289
364
325
330
332
270
301
421
312
273
312
288
334
288
300
341
314
275
284
247
351
282
338
348
359
302
277
363
347
279
262
293
334
423
373
310
365
238
275
241
304
320
350
302
300
332
341
324
283
330
318
296
237
329
338
323
224
314
387
339
338
397
364
273
340
389
337
218
349
360
325
342
291
353
303
327
368
308
283
362
332
313
247
326
281
287
260
218
386
333
332
378
317
279
285
298
301
291
394
338
322
404
302
361
352
297
322
345
267
348
277
301
296
319
254
344
295
380
364
314
371
259
289
301
358
329
354
216
301
280
311
299
302
360
278
324
289
289
358
311
342
276
284
308
337
383
284
300
258
312
267
265
249
322
238
334
362
438
350
301
273
294
330
373
375
268
321
324
372
267
385
301
355
337
317
314
401
310
309
372
290
292
388
321
396
327
293
371
301
325
316
337
322
363
339
296
351
342
345
325
305
286
322
277
292
374
351
346
336
376
308
296
263
278
287
321
363
253
359
275
314
331
247
209
237
380
353
276
341
282
391
316
364
341
235
395
385
287
312
327
264
336
348
422
261
302
318
270
346
250
313
278
355
316
314
344
385
326
316
311
307
241
327
347
321
343
386
275
337
288
342
355
329
352
311
339
296
309
327
318
370
356
294
312
313
323
211
302
297
410
381
337
223
365
302
344
345
345
280
285
257
414
374
293
263
328
238
271
360
246
299
221
381
330
325
304
294
379
364
341
238
262
349
371
279
382
370
315
333
351
327
312
297
348
302
320
402
360
219
378
253
262
331
330
258
259
319
341
234
274
311
289
355
346
327
276
349
322
273
316
330
354
308
322
343
324
310
293
278
316
263
348
350
236
322
343
337
300
358
203
329
296
294
370
353
257
310
338
353
308
301
283
330
366
361
350
349
339
241
314
276
276
327
376
287
273
303
286
352
268
256
290
375
262
357
258
278
282
373
285
320
349
342
284
258
305
311
379
420
332
308
303
271
356
295
377
321
230
332
253
287
367
263
328
263
313
307
231
294
349
367
256
305
302
324
300
317
378
287
337
337
234
251
274
364
311
361
283
342
317
308
320
340
353
356
402
342
388
328
344
332
278
279
326
352
380
380
349
327
308
265
382
341
360
395
372
396
269
370
342
290
346
296
265
348
273
269
330
376
294
345
306
343
353
273
313
282
323
346
354
325
350
322
366
300
306
358
320
381
336
382
305
343
314
324
289
326
338
308
243
320
353
324
334
287
359
306
210
417
352
287
383
314
333
334
333
341
292
350
226
258
316
298
372
289
323
281
342
332
346
310
354
339
281
417
239
378
324
266
252
258
344
291
297
317
410
304
342
304
331
293
347
316
278
336
271
369
233
299
366
348
283
398
276
303
290
330
350
305
390
370
308
458
330
359
304
337
290
303
253
277
285
234
343
326
410
325
338
337
307
249
335
282
323
374
310
390
411
354
288
361
283
313
327
338
227
364
288
361
373
333
341
317
361
319
326
334
287
286
317
357
299
290
352
255
292
314
342
345
333
296
247
334
303
303
378
283
315
244
351
368
273
282
306
337
364
301
258
335
260
156
326
327
374
280
371
348
336
319
312
244
313
353
291
296
317
342
347
260
313
391
283
325
394
302
343
367
292
265
345
360
289
345
340
283
362
383
266
387
271
379
291
365
326
329
334
353
273
311
301
296
287
252
330
387
261
289
350
329
193
368
296
359
269
327
329
387
289
412
295
353
325
315
318
325
328
320
339
319
230
391
415
352
367
298
400
334
260
332
300
356
221
203
299
286
441
316
322
300
351
313
307
354
307
262
343
394
311
311
319
291
247
234
307
363
319
297
291
366
326
397
291
324
324
384
305
270
258
241
370
272
358
327
393
313
322
288
361
327
300
290
315
333
319
355
378
360
304
319
323
292
278
243
358
362
240
327
432
364
291
363
288
292
338
388
356
375
328
346
381
209
259
391
353
235
345
269
280
296
291
277
338
301
295
262
305
367
328
336
265
287
299
382
260
337
325
306
321
424
332
307
358
315
289
285
342
349
406
326
305
343
321
346
264
261
353
298
296
279
282
291
295
292
325
345
226
320
362
315
328
232
384
344
262
242
309
274
226
364
352
346
256
293
395
284
350
302
307
258
345
290
389
311
357
330
381
288
355
241
353
329
271
304
276
334
314
346
278
321
321
329
344
338
314
282
294
376
305
325
304
290
260
293
302
228
279
199
381
375
340
305
288
294
282
248
417
344
240
236
293
305
291
347
323
283
334
323
354
205
327
424
343
287
352
290
440
311
240
371
303
310
350
360
357
314
330
287
316
298
277
393
320
278
311
288
226
372
318
356
286
302
338
304
325
337
327
405
317
247
285
386
343
319
280
326
298
351
239
264
340
369
290
237
307
308
225
286
249
288
319
381
324
353
352
321
238
354
230
291
318
301
310
320
353
334
323
390
338
272
390
344
248
269
350
330
305
369
282
252
279
305
370
356
313
363
326
272
329
345
389
359
349
310
269
300
316
295
261
247
387
298
387
254
368
342
312
388
394
347
330
265
251
315
324
313
239
416
314
458
280
464
415
352
320
333
364
332
292
310
415
321
351
267
254
292
325
318
284
345
314
374
361
356
407
286
349
381
356
270
348
345
340
306
269
371
377
323
360
263
281
257
403
243
287
322
298
325
412
389
324
348
275
387
272
297
397
335
324
307
301
280
235
342
329
334
337
407
332
374
276
317
323
324
390
310
318
413
333
366
333
330
369
259
277
233
267
272
393
380
313
325
316
294
269
301
320
315
300
306
326
302
321
291
322
310
274
376
276
386
281
308
385
290
263
394
312
259
296
237
410
284
329
276
340
392
282
385
357
307
345
343
417
391
328
388
324
320
247
273
267
328
257
233
300
323
382
258
271
305
309
338
309
352
295
302
277
285
297
299
296
298
244
327
362
345
305
402
262
338
305
329
350
296
354
269
329
324
327
306
348
302
333
293
355
303
326
334
290
281
261
284
317
293
369
357
279
382
370
371
352
290
314
393
388
278
347
247
282
355
367
309
262
271
307
290
362
293
359
326
371
387
374
329
369
344
299
273
328
365
303
321
308
306
335
342
370
311
319
333
253
329
280
309
355
336
294
350
340
289
253
318
301
295
252
363
352
284
311
286
305
290
302
262
291
349
344
304
332
320
227
256
355
316
393
359
277
356
369
305
247
335
282
230
246
331
319
340
277
289
293
284
375
359
363
355
356
332
319
310
415
255
265
339
359
321
268
314
267
370
266
343
273
276
397
349
338
320
236
314
276
332
362
317
286
352
322
297
359
346
300
294
322
364
401
271
280
338
310
307
321
341
300
296
311
371
374
331
349
300
352
396
365
332
280
295
296
281
307
329
290
298
302
391
304
382
303
323
379
228
251
322
342
325
298
430
269
343
360
273
319
304
323
327
322
342
369
329
335
286
318
309
354
219
267
302
285
332
323
331
237
337
313
404
325
205
270
273
384
277
292
283
313
320
316
300
314
306
291
298
299
302
200
351
342
252
291
298
342
309
357
325
260
386
360
288
350
346
451
284
263
351
293
318
327
249
356
347
323
319
308
329
379
325
284
332
287
272
353
356
369
264
399
239
322
311
385
327
270
369
284
336
351
269
359
251
277
397
388
419
311
338
280
337
323
303
347
345
355
226
286
357
327
265
418
309
323
310
351
345
264
274
326
324
280
303
295
374
291
325
260
305
395
316
320
244
310
375
370
373
375
324
303
362
276
335
395
298
306
290
340
371
312
280
242
271
342
289
260
281
245
328
369
324
265
279
380
319
322
318
254
348
367
318
338
375
279
316
328
301
212
316
287
304
314
258
314
358
279
284
266
283
326
249
326
296
303
278
323
317
346
316
350
306
261
327
360
311
357
334
287
301
362
255
377
302
290
300
342
275
353
271
310
302
315
346
378
361
316
348
340
345
340
293
343
308
378
308
337
283
312
388
230
375
340
356
292
278
266
328
291
348
363
324
402
342
394
254
348
293
278
368
246
300
372
392
366
306
350
356
387
291
334
224
297
287
337
259
333
250
263
308
324
308
361
375
379
242
323
352
277
331
267
367
278
332
330
396
292
265
345
249
359
329
359
240
322
317
315
318
341
315
299
330
338
353
278
234
370
340
362
271
285
298
230
288
341
294
271
272
296
377
266
359
354
281
322
323
336
361
388
334
330
296
322
372
299
366
308
359
342
314
380
359
322
332
345
352
365
313
320
339
255
339
360
315
248
294
226
310
303
270
336
273
394
319
286
399
317
277
353
333
297
343
383
314
295
281
273
316
405
369
313
276
237
357
355
277
377
233
333
275
328
376
272
296
408
287
284
308
297
374
332
387
240
316
350
349
308
241
305
342
310
335
285
310
313
329
310
296
364
285
268
381
320
342
326
397
331
299
312
434
277
314
312
399
298
315
381
340
381
233
224
330
333
277
318
255
375
242
335
358
257
303
328
390
275
319
321
254
297
254
359
312
321
294
281
386
383
322
183
275
280
252
294
367
326
372
368
275
350
288
306
326
353
320
283
304
349
248
306
292
333
294
292
348
279
253
332
287
339
265
336
351
274
262
360
365
241
296
317
308
275
232
328
340
338
252
304
269
258
284
256
254
365
338
358
256
258
263
252
339
297
362
277
292
320
309
315
320
297
367
288
361
334
301
298
225
334
412
312
312
293
362
327
431
334
412
267
316
373
337
289
287
225
297
244
383
376
369
281
324
306
286
347
316
252
240
260
348
282
266
355
324
298
310
283
337
406
289
327
422
296
305
358
265
275
331
326
410
333
266
264
350
260
343
303
406
317
331
389
307
183
317
323
324
336
253
261
290
380
303
316
318
321
277
373
319
400
378
295
336
290
264
304
295
253
242
341
417
381
330
305
210
330
250
341
311
385
306
356
336
335
276
232
350
331
230
303
351
392
362
286
300
392
356
402
443
302
372
288
381
219
324
310
330
276
340
252
314
249
270
250
308
355
269
413
344
291
392
271
269
337
242
249
288
311
317
357
386
333
371
350
328
356
367
369
311
209
387
253
305
290
357
349
300
306
364
326
347
259
332
382
313
304
289
281
292
342
328
293
284
391
306
261
303
311
268
269
301
310
369
312
278
283
252
286
361
312
300
331
371
327
303
330
284
350
350
306
377
294
314
363
373
380
273
387
264
298
401
290
325
315
249
284
339
275
301
265
324
285
253
346
285
357
228
308
305
329
363
326
259
291
378
301
343
331
383
355
313
277
378
212
370
312
362
352
348
349
395
297
304
300
329
265
368
355
213
326
281
231
306
318
340
292
318
244
388
314
285
293
307
366
275
371
345
339
319
284
348
299
297
228
196
332
330
312
271
257
300
302
319
299
316
265
306
371
234
328
343
245
271
293
304
285
357
319
324
279
364
372
400
317
258
353
386
306
318
328
381
345
362
255
360
314
273
345
329
351
316
261
312
341
395
289
340
374
368
360
282
427
349
377
322
224
348
367
311
318
314
264
253
265
260
332
392
393
335
313
381
374
308
268
354
343
372
303
336
308
366
294
286
240
324
283
324
423
284
360
415
361
248
258
285
344
373
357
389
318
341
348
257
305
343
347
389
323
286
308
264
369
365
320
327
282
371
378
314
313
347
316
361
378
341
338
332
335
372
289
316
275
358
280
354
330
347
311
307
321
379
282
298
362
332
277
380
326
277
373
243
355
302
296
351
277
409
245
336
308
286
282
252
376
294
328
385
353
293
297
281
308
332
261
299
339
345
284
277
338
366
289
355
363
343
238
320
364
369
334
362
263
397
342
357
311
279
323
349
293
317
323
291
345
340
342
313
266
365
330
231
333
328
332
324
329
369
271
330
367
325
335
326
374
332
356
259
306
363
282
371
261
262
295
272
296
323
298
284
242
294
336
350
275
307
278
302
345
279
359
285
367
317
419
262
238
322
304
312
285
304
345
286
256
302
255
306
255
333
383
249
288
330
254
361
323
334
305
243
288
296
375
324
252
324
334
305
292
341
263
340
362
280
264
294
323
239
331
312
324
421
311
335
281
253
290
326
283
300
380
293
245
366
331
281
246
266
267
342
284
323
334
292
320
292
327
333
323
266
331
283
333
358
379
152
277
262
265
266
352
356
302
274
337
260
333
358
275
292
342
265
362
204
313
267
271
335
377
300
351
300
361
254
321
282
300
290
242
319
262
367
283
320
416
301
358
362
294
356
238
314
392
378
265
289
266
324
358
317
285
298
286
322
353
358
326
285
338
294
313
308
296
352
374
316
355
361
239
370
319
386
303
383
330
385
297
277
296
333
237
333
342
344
353
287
349
282
291
342
317
314
271
285
332
313
264
319
277
294
258
327
365
271
269
336
271
323
287
346
305
325
298
311
257
321
362
335
274
377
305
318
263
319
361
348
358
334
346
295
371
275
256
353
307
294
324
331
306
252
263
278
343
278
381
265
299
325
363
359
353
388
298
330
277
301
256
333
286
268
250
287
333
300
283
346
332
242
319
253
301
279
319
385
372
390
284
358
270
317
272
311
312
279
378
332
316
317
342
266
332
357
261
324
397
281
398
348
282
291
302
342
334
393
317
298
319
297
311
273
293
286
289
353
286
298
329
405
324
233
362
306
318
331
327
327
244
311
287
327
349
202
302
349
357
250
276
327
288
317
326
391
239
326
321
347
251
289
376
304
329
366
371
287
360
340
341
248
328
347
354
319
270
409
342
299
393
252
241
300
284
314
325
319
330
327
330
263
345
392
359
280
385
305
317
349
300
246
324
256
366
294
332
250
296
339
324
298
354
295
320
419
221
276
364
305
353
311
303
303
297
278
335
337
291
305
249
369
364
284
292
345
335
323
307
285
284
302
259
325
324
308
309
314
309
223
348
326
252
379
335
304
388
225
273
307
325
327
332
349
388
356
318
311
333
285
378
374
314
363
311
313
333
256
286
316
353
324
343
306
383
281
373
350
296
380
301
364
373
334
330
265
405
309
382
320
348
335
248
343
333
296
303
350
351
290
382
315
337
286
310
321
293
215
336
361
320
281
359
328
291
350
304
253
218
327
334
343
278
352
411
296
377
306
290
377
415
298
341
309
448
368
297
309
326
355
228
231
317
389
405
314
259
310
326
307
369
317
294
419
271
350
322
226
364
423
348
409
274
318
269
368
277
324
363
319
307
369
313
327
296
321
317
289
304
368
326
311
274
262
279
305
356
294
268
304
366
293
277
282
354
395
452
384
346
433
161
356
348
219
245
327
292
314
348
340
378
370
298
344
287
334
352
276
326
226
235
406
314
295
292
388
274
345
295
336
331
305
296
285
316
355
307
241
307
344
370
399
320
351
338
353
358
342
331
299
309
336
379
283
256
387
253
307
199
291
307
333
371
218
285
400
285
335
335
355
282
340
286
367
305
284
372
309
259
385
247
296
296
279
301
225
262
309
212
295
384
311
336
292
313
326
300
347
265
264
313
232
341
271
255
305
367
281
356
270
228
315
260
316
341
338
358
250
309
377
398
361
263
286
233
299
251
318
379
256
344
353
300
422
249
304
317
343
285
325
305
344
322
297
343
344
304
274
346
246
225
305
330
374
306
331
317
409
340
330
367
336
342
321
329
303
287
329
333
345
308
365
311
207
356
331
346
362
331
318
349
335
273
272
378
278
386
378
276
341
341
406
317
330
238
341
317
280
328
390
328
326
281
307
244
301
277
180
304
237
400
376
362
418
272
352
272
287
341
334
355
273
346
235
297
379
341
305
283
281
289
333
294
311
305
304
261
327
253
331
339
374
249
394
328
311
313
292
335
327
389
267
347
253
357
372
318
277
277
307
320
234
320
319
306
252
337
299
300
290
265
349
302
372
334
288
309
308
251
344
284
341
306
318
383
389
379
338
337
344
263
345
310
356
345
326
338
342
266
352
407
328
402
325
361
206
268
325
346
356
296
358
302
350
322
251
315
312
319
295
257
249
383
254
365
374
345
307
319
256
310
370
359
351
305
336
298
322
268
244
374
291
327
293
345
198
302
288
273
292
350
310
317
359
309
357
366
305
263
321
299
350
321
380
326
258
320
375
186
326
358
281
420
368
366
358
298
368
364
292
312
291
418
292
319
358
285
341
304
329
326
342
287
292
312
349
304
320
388
258
307
329
305
352
325
303
324
297
358
291
257
306
303
329
295
257
382
295
360
328
339
269
303
357
342
284
379
294
324
280
228
390
343
285
322
271
348
330
275
212
259
310
282
345
329
359
262
296
266
340
371
354
338
301
287
262
364
237
296
356
278
322
349
337
341
320
329
316
378
360
297
309
289
279
264
290
253
383
338
279
319
380
338
303
376
269
295
318
370
360
355
372
336
298
395
306
238
363
300
394
379
359
341
352
332
325
254
342
331
267
294
279
370
335
315
281
327
234
279
338
342
209
285
366
343
290
296
291
306
436
345
316
382
312
328
306
276
376
294
313
248
393
293
216
250
335
272
239
379
347
348
303
402
268
257
318
279
310
296
258
295
338
299
232
300
292
294
294
303
280
386
338
371
330
329
354
350
288
348
281
232
351
363
278
326
319
333
304
276
245
313
326
372
313
367
316
273
323
419
375
335
258
313
337
285
409
353
312
338
299
255
345
259
287
377
337
254
232
302
348
299
294
287
228
295
341
293
248
382
325
292
236
316
262
321
318
315
330
380
346
308
399
341
297
283
321
338
293
243
322
291
349
302
322
323
294
302
299
244
293
320
316
223
370
280
250
240
347
343
353
255
289
344
269
354
289
372
190
291
413
300
315
310
306
427
252
355
396
337
351
314
333
389
271
295
340
283
380
290
359
230
332
352
342
305
326
276
298
335
315
376
256
305
322
201
318
276
298
420
323
336
335
208
421
319
357
328
332
366
293
257
234
386
321
241
337
371
361
313
321
366
290
290
243
346
297
355
320
265
401
339
477
314
253
319
344
299
326
315
263
325
334
370
347
320
335
276
291
264
296
317
342
359
315
319
406
295
329
356
344
256
318
309
306
281
339
348
359
400
346
347
390
340
297
312
303
355
340
282
375
275
309
302
289
362
313
324
402
422
246
295
365
299
272
315
320
343
277
300
336
312
407
333
267
294
335
208
388
291
293
324
316
296
375
416
277
336
296
313
338
287
339
300
328
346
368
423
355
340
371
209
357
263
312
283
375
312
381
302
270
322
276
324
274
256
322
380
324
370
301
286
340
382
343
317
266
374
351
265
296
304
318
367
312
342
325
294
280
296
359
316
346
299
343
313
303
313
331
339
357
355
287
235
262
251
254
349
330
274
253
286
202
287
283
373
409
343
286
342
273
374
274
369
302
275
315
289
301
351
315
264
291
289
266
320
321
389
340
382
232
383
350
296
332
404
349
293
338
378
382
305
318
379
288
297
316
351
305
250
293
344
315
272
330
321
278
367
257
318
325
300
309
360
288
283
308
300
322
396
317
328
362
292
284
297
315
286
375
346
300
264
321
271
290
242
393
335
333
320
213
343
321
262
351
309
255
331
285
276
389
303
367
270
413
325
369
320
330
274
335
308
337
351
319
271
271
282
377
268
331
244
295
292
294
380
310
348
289
291
277
320
334
297
295
297
311
296
318
304
340
336
364
339
275
339
231
340
309
329
277
368
361
333
281
425
350
284
296
212
325
328
365
326
192
319
328
334
350
366
297
279
316
360
410
338
351
298
339
344
334
250
335
392
269
362
268
309
349
316
389
271
344
308
362
320
296
464
393
250
337
340
331
247
223
316
341
287
300
297
281
284
304
330
324
339
318
322
258
311
256
319
430
267
357
365
286
297
312
281
266
238
373
263
335
303
354
346
357
420
266
341
316
337
358
292
359
278
283
307
321
249
388
378
283
281
250
352
312
278
352
327
341
327
345
291
305
269
279
238
383
379
309
313
355
290
272
366
271
391
324
337
292
321
241
268
320
312
320
382
234
330
312
295
370
377
224
290
351
340
294
219
321
253
284
404
296
284
389
297
274
290
326
309
242
399
284
349
330
297
239
279
337
234
365
261
339
307
297
330
344
338
273
275
376
338
418
334
361
318
282
252
259
293
370
337
348
369
308
338
335
341
330
339
316
359
276
310
340
300
404
346
344
292
360
424
289
263
321
291
345
255
328
311
346
335
307
334
362
353
307
370
282
330
306
333
227
381
218
413
243
251
375
353
347
276
210
302
374
333
337
437
258
363
272
253
288
379
350
357
274
316
336
345
332
351
345
258
306
295
346
329
303
304
362
348
344
350
241
309
327
333
289
260
264
373
296
350
365
344
301
247
303
294
316
262
379
363
362
311
305
255
290
347
324
286
353
318
374
334
242
337
333
361
280
306
335
310
391
372
276
316
286
295
352
333
304
265
340
321
261
253
297
317
340
340
298
307
319
324
314
396
247
397
345
378
353
212
364
311
348
260
390
324
288
272
317
355
304
307
264
279
248
263
233
387
343
297
416
337
345
257
359
331
376
310
278
381
351
349
297
332
273
330
245
344
368
298
346
341
281
309
285
312
268
285
383
426
350
294
383
316
329
381
286
280
321
353
378
209
306
319
322
371
317
282
311
308
316
298
424
352
288
378
341
312
392
396
349
308
385
323
368
281
246
239
334
303
321
221
282
232
321
357
289
346
229
350
363
342
257
335
300
350
318
350
326
325
351
317
309
293
328
301
270
385
345
274
305
307
279
317
302
297
180
370
243
251
348
342
216
329
279
319
275
363
323
383
280
302
299
364
290
307
266
324
341
251
302
378
288
307
334
277
401
147
316
299
319
301
334
284
350
345
394
343
263
297
430
333
272
364
366
334
359
312
365
365
234
363
244
386
386
364
301
336
391
349
273
281
231
344
352
350
341
329
361
342
369
237
388
230
297
359
289
267
250
298
365
271
371
296
259
365
297
177
345
296
321
308
311
352
284
249
283
354
279
345
256
297
332
332
321
276
303
282
308
260
301
251
316
363
377
288
322
303
326
308
354
342
294
297
282
326
415
338
330
319
223
349
338
352
280
298
400
360
253
259
355
282
323
277
315
275
259
312
376
325
349
328
388
300
336
371
280
295
315
274
296
322
305
336
321
353
242
288
292
317
368
222
327
314
264
329
234
414
325
242
301
331
258
322
295
370
344
301
272
311
338
370
272
256
306
322
339
305
403
396
311
329
337
278
342
318
271
306
272
293
309
347
303
381
319
331
350
342
261
329
257
276
344
214
324
333
371
320
307
324
251
337
314
292
344
344
256
227
369
241
293
390
298
273
391
328
258
301
233
304
270
393
304
290
321
349
358
233
349
266
353
292
276
371
361
383
314
325
326
286
353
219
260
331
300
326
312
291
273
369
332
379
326
372
251
305
278
303
349
268
369
334
315
333
407
333
335
349
274
342
243
362
379
302
322
371
300
256
282
324
332
380
316
285
279
307
368
428
271
336
259
297
269
382
362
266
327
306
230
319
347
337
339
266
302
302
316
388
295
317
356
292
331
400
386
329
334
341
383
304
333
350
276
376
402
267
367
383
308
320
357
311
252
273
313
301
345
228
310
444
274
265
326
280
375
249
328
388
332
288
293
300
265
321
382
385
299
348
361
313
251
350
285
285
315
324
304
311
393
254
395
297
323
323
334
256
330
277
255
341
386
345
320
367
325
263
275
360
291
344
307
267
274
367
315
321
320
255
255
305
330
436
334
395
360
344
271
337
246
298
354
384
305
295
384
363
353
373
372
284
283
325
336
290
315
255
274
316
316
293
302
336
351
286
340
366
369
338
329
325
272
385
350
228
350
356
331
359
344
271
331
327
308
277
278
313
313
306
274
279
357
309
363
295
355
313
247
306
295
375
277
297
387
285
346
343
267
267
387
272
313
337
370
328
281
273
295
331
284
290
404
400
265
289
275
394
393
247
383
216
346
323
307
318
250
367
371
313
334
288
275
253
348
374
300
249
244
366
377
353
327
280
298
387
372
375
364
269
346
299
308
373
412
301
297
256
274
334
323
375
301
396
294
352
340
352
350
354
275
294
279
296
341
315
304
229
165
300
359
313
247
321
381
315
334
302
296
311
274
298
333
275
318
348
271
231
399
377
300
396
352
239
323
320
375
300
396
364
206
324
253
283
309
262
316
313
281
287
264
379
338
295
292
335
285
340
336
331
340
329
313
366
308
257
231
401
340
335
300
357
272
330
315
334
312
343
267
372
300
290
332
330
301
302
322
295
304
267
344
348
266
321
255
366
318
307
323
297
233
338
327
346
275
253
374
243
343
220
325
246
278
282
395
341
324
282
342
331
255
331
317
350
346
280
307
265
384
263
385
326
407
336
266
313
419
266
319
321
402
279
331
315
369
334
330
344
367
305
251
302
363
316
370
307
334
393
293
335
344
293
232
297
315
270
260
312
333
361
342
313
277
374
324
285
285
323
267
335
327
356
338
355
250
274
298
309
320
339
356
343
297
355
267
338
330
381
234
329
263
283
303
247
326
346
294
290
310
418
306
372
302
333
357
282
330
287
314
406
384
361
338
350
210
290
285
268
376
320
260
226
260
285
345
285
360
232
269
311
279
380
198
280
269
346
283
354
344
365
286
264
296
410
303
319
302
308
352
338
292
327
333
391
348
316
332
314
305
320
311
309
296
294
358
281
368
300
329
351
285
358
388
305
339
364
241
326
358
271
367
379
324
307
219
259
379
405
261
375
376
250
320
224
299
306
237
261
289
322
311
324
359
255
384
331
222
329
254
359
298
402
284
354
305
352
243
321
247
301
318
382
292
261
283
283
321
391
317
356
311
198
362
318
291
296
252
315
310
300
339
354
398
301
344
313
390
333
326
344
348
335
244
333
351
299
340
319
321
358
302
210
343
305
440
292
329
390
294
352
290
222
325
252
318
307
364
344
319
256
355
198
236
346
319
253
343
340
355
281
333
398
215
318
280
352
325
274
326
327
347
320
332
297
352
265
344
299
303
328
322
295
394
344
316
345
300
328
315
269
323
276
243
175
282
305
267
404
330
328
357
309
319
312
275
405
233
286
312
237
344
343
313
332
320
269
348
274
319
351
219
384
340
459
346
317
296
404
340
308
295
371
252
334
307
307
303
327
310
358
267
327
305
341
329
200
314
285
295
387
299
328
322
313
286
258
300
292
324
344
352
244
343
424
305
292
337
358
298
298
274
303
249
411
360
316
316
383
309
278
403
343
348
247
326
321
378
312
318
311
369
328
291
344
227
288
439
334
329
388
345
267
305
308
364
291
298
316
254
365
347
325
325
298
357
337
229
344
320
367
310
352
327
304
377
282
262
342
283
368
403
353
266
372
321
349
324
359
261
280
327
347
336
319
349
331
303
254
354
313
356
341
267
288
229
274
314
320
328
331
408
308
389
294
351
392
240
301
344
322
265
326
290
399
274
332
328
213
358
330
312
257
346
352
378
312
322
248
332
340
251
359
379
333
358
362
251
349
278
389
320
380
291
316
252
316
314
405
373
328
288
311
325
442
387
300
270
342
283
273
304
276
286
378
265
413
302
301
291
325
346
273
371
328
299
245
315
347
335
271
296
222
323
308
306
339
285
356
327
285
287
286
321
334
281
303
327
341
315
363
298
292
211
311
313
319
274
296
339
343
266
262
314
287
326
358
374
222
311
263
340
321
367
258
291
278
305
348
375
269
356
324
392
352
336
402
349
271
356
278
302
366
275
278
359
337
373
247
385
301
328
288
309
266
315
261
266
271
261
291
335
314
250
334
242
369
348
411
334
358
273
304
344
336
292
291
270
298
307
292
297
328
335
271
346
255
346
365
377
280
237
289
316
289
416
341
297
342
220
321
261
268
286
340
342
295
290
354
314
389
272
323
275
321
312
373
312
319
267
221
342
315
379
258
352
382
284
286
313
240
381
299
281
390
347
345
286
230
313
404
306
236
326
321
299
301
376
343
278
364
265
356
396
269
234
334
365
313
313
357
363
339
329
355
402
315
303
230
324
337
343
307
360
338
357
313
333
382
365
225
324
373
258
299
365
354
353
326
301
362
284
360
387
404
348
258
284
220
281
361
345
242
364
330
283
342
299
343
301
295
326
297
321
174
303
295
412
374
336
371
273
333
326
270
275
339
237
312
350
310
411
279
312
258
301
365
350
312
332
419
282
383
327
321
195
246
354
358
396
303
352
271
290
281
406
400
242
300
323
243
331
296
339
287
306
314
317
380
304
307
333
323
299
311
313
360
339
367
401
375
329
290
326
289
301
270
372
251
234
340
392
321
274
247
325
310
245
344
321
343
316
242
295
258
348
333
335
239
325
276
326
322
310
303
396
275
282
342
328
368
282
382
306
362
243
254
300
381
270
320
272
340
354
324
363
316
347
289
322
385
286
285
384
375
336
289
266
273
308
308
328
345
275
274
279
329
392
372
273
345
328
307
286
301
283
322
360
280
343
342
357
308
366
345
290
302
378
291
318
341
358
298
384
345
272
325
364
258
285
217
370
330
265
289
315
306
333
340
338
325
235
324
294
338
298
327
332
288
297
322
345
373
356
301
254
306
326
356
277
369
293
309
322
358
315
355
252
295
306
336
341
286
230
351
286
359
372
257
299
287
327
235
339
296
300
317
327
297
339
274
303
382
328
280
334
298
340
255
330
361
351
381
351
322
270
403
408
335
288
257
300
341
322
282
317
374
357
265
257
317
292
246
287
232
350
335
246
300
277
273
420
274
360
331
310
344
373
253
348
370
276
361
342
309
278
326
265
321
337
189
231
352
334
386
282
263
341
319
362
331
303
346
332
253
431
301
345
212
372
297
344
289
320
389
264
280
313
229
349
268
347
230
277
291
307
215
344
292
279
275
338
316
339
242
302
399
328
403
396
341
302
340
372
390
324
303
471
257
294
302
385
298
291
368
314
268
368
234
286
325
433
370
288
327
300
338
312
325
312
348
311
338
357
257
356
328
283
398
355
370
324
325
333
295
440
374
310
306
259
254
388
281
245
412
363
413
376
403
317
323
261
315
326
232
229
257
229
411
286
307
293
352
362
340
258
382
282
305
283
297
339
338
407
301
261
331
385
248
255
321
319
293
384
357
261
384
332
367
309
310
290
315
253
260
316
320
357
401
275
258
334
322
400
296
274
403
331
339
326
306
314
297
299
294
319
250
317
398
308
352
384
376
288
308
412
226
254
242
341
352
300
328
375
341
335
346
230
361
287
353
341
290
361
308
269
296
247
249
348
291
360
278
362
270
237
291
380
379
244
246
331
269
285
317
305
251
369
349
317
252
350
368
294
314
336
356
327
326
244
259
327
336
370
379
371
312
257
263
313
333
307
306
324
299
275
294
318
306
320
310
259
319
280
251
376
350
345
251
264
293
244
325
352
239
321
333
305
324
335
335
416
385
300
327
292
326
356
274
248
393
359
284
381
353
326
302
299
336
307
300
265
261
247
281
349
311
309
266
273
309
309
237
383
373
243
372
306
312
370
346
267
318
345
365
298
325
315
339
284
243
381
280
348
260
334
266
343
306
333
315
401
379
425
325
347
318
299
264
346
344
330
251
420
347
306
340
335
268
408
311
288
239
314
338
363
313
351
294
321
292
233
287
285
259
294
391
290
327
329
301
335
259
282
297
324
338
230
322
387
382
277
391
332
387
294
278
405
252
343
254
346
407
342
352
267
341
364
347
366
366
193
298
308
355
226
375
259
337
329
327
332
350
306
317
302
353
371
360
351
268
370
259
324
286
302
350
370
322
336
263
306
375
382
396
339
288
347
334
229
254
291
323
294
260
303
383
311
314
328
328
327
309
320
358
280
293
333
338
350
355
395
370
340
301
237
289
256
360
306
267
271
335
343
335
354
234
337
408
262
376
328
336
337
355
260
393
262
283
316
294
374
248
371
241
350
252
266
269
298
406
372
317
362
267
280
360
312
302
345
297
280
410
232
220
281
390
285
339
306
318
328
234
335
326
359
410
218
255
334
349
336
211
368
334
276
358
298
295
239
285
344
335
339
366
237
271
259
240
385
367
355
349
321
270
316
316
266
358
307
379
401
227
343
253
262
332
316
271
253
296
335
339
292
401
288
360
238
304
337
300
310
355
290
343
396
321
330
263
403
323
408
210
348
365
318
341
340
249
274
294
279
325
225
341
331
349
360
271
351
265
267
305
305
324
340
338
317
323
285
344
300
314
385
357
356
404
358
248
341
283
259
457
344
306
298
333
350
341
320
326
356
207
265
329
269
339
251
413
352
347
320
295
311
296
339
277
422
316
332
349
327
380
292
337
421
353
325
352
274
351
314
355
347
363
331
366
286
352
394
278
358
352
342
302
280
252
313
344
373
377
340
297
338
373
247
296
317
292
266
322
348
196
258
261
314
372
264
360
289
266
361
358
334
326
340
323
323
327
351
268
277
323
337
324
306
346
318
367
386
349
278
307
279
289
356
309
328
309
315
267
306
313
299
228
301
335
316
287
347
307
379
341
316
313
309
261
295
343
306
302
361
316
318
340
290
354
305
346
370
367
316
368
293
339
278
302
324
284
345
343
342
359
357
263
352
364
281
322
226
241
319
365
378
345
392
296
365
308
233
329
267
286
313
370
336
345
269
241
307
294
362
368
291
320
225
289
322
258
354
344
353
351
308
302
272
297
329
402
287
356
249
286
307
295
228
326
359
330
345
330
327
306
328
342
320
388
300
244
294
318
334
311
259
330
357
310
344
292
360
315
288
294
302
290
336
225
357
277
339
301
309
358
320
295
349
279
393
310
296
335
295
328
360
272
268
376
379
249
338
335
276
326
360
353
317
318
330
301
328
251
375
317
307
356
227
323
288
352
347
361
342
379
278
311
349
287
343
234
329
347
360
254
317
327
324
305
333
364
289
256
238
238
371
258
268
388
300
357
293
288
375
306
271
374
307
320
255
348
345
376
382
320
408
347
357
344
355
299
331
333
340
345
293
383
310
299
401
284
297
252
198
276
233
262
299
305
361
362
269
256
363
299
315
295
273
273
317
311
295
337
289
365
335
277
413
374
267
390
371
278
188
331
308
363
330
326
374
407
359
215
305
359
266
296
322
318
346
348
349
362
325
335
328
257
249
281
389
284
189
345
349
394
291
378
301
309
299
254
273
321
298
278
345
305
383
293
248
283
307
382
339
396
370
278
344
324
331
334
294
253
358
339
286
255
281
310
306
366
354
305
243
286
248
375
279
339
264
354
340
345
235
305
327
343
301
334
359
307
296
367
262
303
301
269
315
297
348
377
330
293
257
332
367
326
274
380
322
387
376
352
313
304
354
341
292
395
309
264
301
375
357
269
288
277
287
331
392
304
272
363
401
381
253
293
229
296
317
300
286
286
370
404
310
362
354
329
277
338
329
264
332
329
268
340
381
263
327
289
289
382
321
376
338
326
258
342
327
367
329
250
336
380
291
245
323
252
372
286
273
373
260
299
377
323
307
304
305
335
304
268
304
320
310
317
276
281
324
341
320
358
316
288
302
345
252
376
262
349
337
372
441
243
362
272
354
425
281
296
296
281
245
251
390
336
323
359
339
353
298
335
298
388
312
319
301
329
283
260
316
344
340
300
354
318
241
326
334
371
337
394
261
354
324
311
344
339
311
337
309
369
328
336
309
321
338
400
374
331
321
339
342
297
267
325
340
257
386
325
261
249
335
357
322
358
268
362
323
300
338
258
352
303
249
308
393
277
270
338
313
325
369
326
377
277
341
314
356
230
272
282
316
343
297
343
367
336
348
338
354
344
295
348
288
308
395
334
387
265
252
262
343
227
347
280
264
280
326
358
288
308
314
290
365
365
393
307
319
351
331
391
275
283
322
272
361
316
375
349
367
291
364
267
234
359
332
280
380
421
365
251
283
259
314
270
345
313
312
312
298
464
319
349
274
354
303
290
313
294
345
320
378
330
319
328
357
276
255
264
283
423
315
268
300
332
291
331
279
389
336
272
361
273
294
375
277
240
287
378
331
319
319
375
372
309
324
332
256
307
398
321
364
332
293
356
350
374
326
320
330
364
259
367
347
376
266
316
214
360
275
313
357
356
279
315
320
319
248
259
315
330
319
243
295
414
332
369
302
245
387
326
316
307
290
240
409
306
337
331
372
331
286
326
359
303
370
262
323
323
326
221
328
351
312
346
331
237
354
295
325
315
285
348
273
400
250
310
314
302
329
401
298
327
286
326
206
334
318
265
334
266
320
306
306
390
239
336
290
216
333
293
286
296
351
342
363
400
368
394
339
334
351
307
354
259
352
381
406
332
357
353
373
262
319
393
309
389
309
406
283
369
335
349
260
290
367
340
345
336
312
287
291
360
320
345
354
337
370
328
372
368
350
363
325
329
321
378
340
241
289
303
270
357
251
329
348
316
323
314
272
240
297
264
282
307
408
283
384
309
224
275
214
363
261
337
349
305
254
287
297
312
298
301
329
242
334
355
292
331
242
291
375
327
310
260
310
294
273
274
268
372
304
283
317
366
329
304
344
276
226
288
300
316
355
281
297
283
333
375
333
352
305
292
307
288
328
309
269
314
319
285
298
393
308
330
300
216
304
272
283
329
375
346
307
299
319
363
309
375
299
357
407
340
301
376
358
357
333
389
414
330
348
289
329
268
367
325
298
350
351
289
294
419
343
388
291
227
314
257
290
300
301
290
290
314
349
283
377
306
282
368
356
348
315
404
358
297
297
290
340
234
253
359
417
358
355
301
341
309
338
314
290
344
376
354
274
372
269
274
338
287
270
310
341
323
316
274
300
324
305
276
225
352
268
330
340
340
352
368
225
275
423
377
255
288
362
307
339
325
336
349
411
288
287
355
277
313
398
322
390
284
230
361
326
312
373
318
294
226
374
348
332
350
315
373
372
399
329
331
336
343
353
320
338
254
354
375
312
362
338
287
352
332
247
276
254
331
314
341
344
368
286
317
267
316
321
272
286
383
355
359
247
331
306
324
249
318
258
295
356
258
269
270
310
275
215
258
227
330
329
305
258
337
328
290
315
302
309
318
264
313
358
310
313
360
313
396
319
296
337
314
347
284
352
328
305
340
227
265
331
303
337
252
298
303
245
390
321
265
337
376
279
305
260
279
316
324
293
342
379
299
311
374
321
275
312
302
315
329
298
334
309
395
231
320
357
368
390
331
344
360
313
282
309
296
220
311
414
235
304
290
247
333
384
326
358
346
316
307
292
356
268
318
292
363
392
406
293
256
291
302
281
339
382
312
308
304
259
311
296
278
295
404
307
314
349
368
260
287
283
342
288
349
346
304
268
322
358
247
404
294
372
248
362
308
308
277
323
322
348
312
326
229
295
382
371
339
264
314
254
362
351
340
340
377
361
362
228
309
357
308
321
320
265
304
295
293
390
360
358
313
240
308
390
273
385
353
337
241
287
295
287
350
303
358
287
296
272
309
402
381
312
278
333
296
320
259
329
297
279
373
336
306
381
333
392
308
318
325
267
381
333
338
232
309
232
377
315
422
269
353
297
357
320
322
353
229
298
316
300
264
291
329
352
297
287
398
349
244
256
366
375
360
338
301
280
330
261
312
367
323
278
344
367
368
227
374
365
305
339
257
301
255
306
263
282
259
276
367
319
225
240
304
366
233
236
316
260
370
296
277
366
286
328
298
338
345
313
351
277
346
395
331
332
269
353
334
361
281
307
268
315
328
383
284
289
287
344
250
305
284
249
352
266
285
288
295
174
374
362
281
329
371
315
316
300
360
336
376
239
329
338
421
351
350
277
375
300
310
333
323
290
308
331
297
267
311
297
366
334
379
266
273
301
320
340
349
336
344
322
319
270
294
364
224
350
353
357
332
355
392
332
270
421
239
341
378
300
279
312
281
272
393
313
318
399
341
329
298
282
353
309
346
297
392
342
304
335
283
335
251
308
353
351
328
298
351
230
285
370
262
314
309
306
281
361
302
327
311
353
373
306
309
285
390
336
348
313
312
317
349
322
278
236
310
276
327
309
293
212
266
322
210
304
341
410
401
344
341
341
366
341
383
256
316
322
348
341
308
376
297
361
250
289
324
301
280
329
318
246
261
375
351
258
386
245
278
310
257
330
414
379
338
352
379
301
355
360
346
278
304
352
326
375
340
394
247
293
398
291
348
293
336
387
379
320
340
255
287
241
259
309
297
293
341
345
343
312
317
335
309
330
332
380
256
276
313
344
266
391
278
238
266
388
271
387
354
312
304
162
361
225
305
278
343
396
350
289
322
297
294
243
236
330
284
352
292
302
292
412
252
256
292
337
296
266
356
300
265
308
336
333
335
300
326
230
229
344
324
369
373
245
296
228
268
255
295
245
373
288
361
264
372
379
167
335
320
319
245
314
382
349
297
322
347
401
358
365
359
238
205
347
349
336
260
339
332
293
298
352
298
291
325
334
284
300
265
253
332
331
293
327
313
293
271
236
374
214
261
277
342
324
289
323
303
292
409
234
296
416
345
321
322
333
303
328
283
276
286
272
318
244
376
294
341
330
246
372
316
316
297
263
288
292
286
333
323
307
353
378
323
336
250
314
337
285
335
348
279
305
236
269
319
288
234
329
390
348
323
256
280
278
318
318
352
301
314
311
284
355
326
282
294
291
219
310
378
311
257
355
344
243
297
309
323
247
322
328
309
345
257
326
224
286
347
336
383
341
343
267
314
282
379
359
346
362
333
318
281
294
304
388
259
311
269
295
347
311
337
230
276
298
274
335
348
281
343
209
268
307
262
391
295
371
273
300
306
372
307
287
359
195
336
392
335
416
225
385
352
288
279
360
265
317
313
311
362
219
369
391
293
300
358
389
315
324
301
351
299
289
300
322
348
350
343
375
369
306
350
350
327
376
308
377
315
348
321
326
425
317
345
376
329
362
322
288
336
345
318
327
352
326
327
339
358
317
242
325
277
355
324
368
345
334
294
312
310
376
264
303
301
316
370
321
333
381
289
305
238
277
273
242
346
361
371
266
327
286
324
341
306
335
325
333
322
271
305
313
255
408
385
246
331
396
366
281
282
270
341
361
255
220
399
315
318
259
382
362
390
280
300
296
358
263
317
275
360
363
377
295
311
229
341
252
296
310
295
432
293
314
373
366
347
342
426
310
358
377
256
336
354
328
268
258
286
312
379
306
293
361
239
310
248
343
354
289
371
279
341
316
322
336
460
386
322
290
375
345
292
308
326
376
338
282
344
294
317
258
347
305
315
374
256
384
331
369
317
277
320
334
290
368
312
423
249
350
273
320
278
297
279
344
314
306
363
269
403
284
311
346
345
245
353
295
292
389
377
303
333
357
258
318
350
338
323
331
273
281
305
312
325
270
326
285
321
270
346
194
302
298
340
349
343
240
348
294
294
395
359
386
344
298
322
352
334
324
350
358
303
267
317
280
220
324
293
336
312
320
242
339
332
247
356
370
263
337
282
340
302
240
298
285
323
341
327
370
290
372
263
422
325
263
369
346
325
282
273
355
304
309
294
330
303
313
352
285
309
329
376
319
371
423
302
312
283
323
314
353
357
337
361
373
444
253
303
419
283
372
371
350
353
232
336
299
372
419
283
260
413
317
286
249
300
288
351
304
364
365
367
292
327
361
333
347
285
308
317
344
297
421
355
382
360
308
261
353
422
237
274
379
395
375
289
316
305
361
355
344
295
282
389
286
330
359
388
292
355
314
330
379
350
310
309
333
309
324
322
330
347
236
332
349
356
342
247
322
226
234
224
343
260
379
265
276
264
281
363
330
282
372
354
290
317
317
368
336
300
290
320
255
270
302
327
269
387
357
317
338
321
356
335
302
337
300
385
339
328
369
287
303
236
341
325
326
323
378
327
315
367
293
251
282
286
339
368
266
401
281
270
292
328
266
348
213
235
257
308
349
358
377
374
331
328
302
291
305
349
288
319
277
294
432
272
271
327
172
323
289
266
275
334
306
351
297
356
263
280
282
315
328
356
405
320
363
325
321
358
288
352
261
350
306
300
307
302
350
315
326
321
272
351
338
297
338
388
331
295
309
283
245
321
384
260
294
352
380
383
376
391
295
310
270
252
266
310
314
340
358
348
257
338
287
289
336
287
431
290
266
307
322
263
281
287
294
413
260
327
271
351
341
339
366
376
313
334
270
322
365
288
346
229
309
351
400
278
351
350
318
319
292
270
311
409
357
311
363
370
310
266
318
277
279
356
343
299
266
284
281
331
304
351
323
387
267
307
284
364
333
325
362
249
295
320
348
423
295
336
288
272
390
315
223
279
354
271
340
374
301
264
354
334
331
352
314
303
372
286
358
361
371
336
334
269
321
296
287
284
317
378
301
272
282
293
295
280
360
323
323
360
321
329
295
262
363
266
297
366
333
371
341
370
328
374
292
366
352
320
329
357
292
279
247
322
349
322
363
342
284
365
391
281
249
346
274
364
262
236
320
380
363
277
336
364
308
288
335
302
377
326
336
346
364
303
256
332
333
352
348
376
365
355
274
270
349
322
347
338
235
304
284
286
353
299
309
342
249
332
279
324
396
255
282
298
267
304
337
282
321
340
308
274
297
258
307
442
342
315
290
268
324
339
206
353
380
320
287
311
324
281
398
314
180
314
341
290
292
273
316
371
328
243
387
334
223
193
357
368
301
301
249
305
299
357
302
298
335
297
299
323
333
292
263
324
340
324
269
334
238
307
437
307
275
313
281
328
354
216
353
252
288
380
339
224
360
282
269
234
325
299
345
266
275
267
337
321
322
359
303
243
360
359
276
298
306
302
307
344
391
350
364
333
334
326
323
262
374
290
307
386
362
267
243
309
365
288
314
330
266
325
286
274
306
343
269
371
409
270
326
369
231
318
351
341
308
277
349
255
341
268
371
291
263
321
324
373
355
337
340
390
319
269
319
323
358
329
306
350
308
353
324
315
296
423
335
344
256
321
292
276
269
290
368
258
318
281
341
294
367
357
243
389
312
276
230
306
398
319
360
376
327
397
316
422
315
318
248
374
341
349
276
280
309
315
364
297
389
325
350
382
318
310
317
375
339
328
248
322
261
324
284
272
266
290
224
328
322
289
367
262
276
329
310
286
273
289
251
279
282
318
303
237
301
318
220
332
383
389
274
379
283
324
373
337
347
371
313
282
271
263
372
329
360
361
313
293
253
311
323
277
284
302
377
288
348
366
387
343
247
304
251
360
335
295
343
293
389
298
261
388
211
360
314
276
269
279
321
314
323
378
335
293
292
308
270
343
335
262
251
254
322
247
401
325
256
340
352
267
316
227
374
403
303
315
228
271
273
253
409
302
239
346
378
287
318
343
317
234
334
319
414
379
368
260
314
277
206
268
225
301
384
340
368
365
336
306
280
382
379
289
266
262
327
272
318
252
259
384
325
301
266
294
248
426
278
283
281
308
341
345
198
336
340
291
322
268
345
357
411
396
303
371
319
386
283
290
295
371
339
282
295
374
315
399
333
339
312
280
218
292
204
288
327
329
300
397
426
299
380
280
289
342
345
299
326
289
307
382
300
342
357
299
325
258
286
343
327
294
329
267
384
341
276
269
300
375
258
368
370
342
297
252
247
321
309
227
266
363
333
317
365
259
325
283
372
369
354
257
322
364
343
293
323
295
347
286
200
217
365
306
244
339
244
312
376
298
306
388
330
311
270
303
247
351
336
335
344
325
340
391
386
326
412
258
338
270
300
349
387
334
396
341
249
253
355
366
202
377
291
270
229
344
311
383
337
385
327
299
369
390
226
281
420
367
346
328
347
352
241
375
334
360
349
298
299
283
297
363
301
349
275
384
321
371
263
339
275
325
345
319
293
303
313
283
357
363
365
383
315
288
324
284
293
332
305
305
205
321
272
277
324
302
260
285
346
365
351
351
299
245
311
308
337
359
334
300
315
339
368
288
333
211
302
304
365
245
252
269
351
316
350
331
292
284
313
373
232
333
206
275
354
252
221
338
359
348
300
322
244
347
340
230
257
337
262
370
234
338
353
363
271
332
344
347
348
336
293
380
304
346
308
303
328
339
294
338
311
296
256
288
293
322
380
306
226
337
348
304
274
296
313
371
257
332
357
305
342
300
290
396
311
300
303
335
365
297
261
368
384
328
224
352
319
263
352
299
314
376
254
359
248
364
393
323
303
383
304
272
295
304
303
287
282
364
284
273
191
298
397
280
373
283
386
311
342
326
303
312
335
378
333
251
341
291
312
290
347
344
267
343
335
282
331
278
359
339
338
353
233
380
297
297
268
378
293
381
401
325
338
251
347
308
280
278
331
340
319
351
259
340
291
292
367
300
264
276
359
347
351
293
374
277
348
322
339
328
356
314
242
297
282
294
375
384
281
366
434
343
229
272
239
271
269
312
325
286
314
351
323
407
374
340
319
246
352
331
279
304
267
319
330
343
307
291
301
329
263
277
269
330
357
296
362
302
258
397
362
316
293
268
334
299
331
289
297
251
234
383
266
270
347
244
334
289
299
288
241
279
359
389
310
347
269
395
288
308
325
341
332
349
299
333
304
355
387
340
343
303
313
277
319
364
458
255
371
301
325
356
395
359
387
362
345
349
379
309
306
313
391
236
276
317
338
382
282
328
345
212
313
322
212
335
342
373
296
340
339
276
271
241
352
388
281
413
236
311
245
363
331
350
307
230
332
303
314
323
377
284
297
356
240
385
336
307
360
279
254
314
352
340
265
398
332
325
320
345
345
306
385
335
362
254
340
410
333
326
311
302
393
289
295
384
342
267
246
362
293
268
291
250
321
320
278
391
293
333
247
260
369
339
377
278
322
336
270
361
345
268
337
352
281
358
315
329
272
268
307
330
255
366
391
343
316
292
294
190
297
340
324
322
311
403
343
333
318
319
370
289
353
219
273
259
360
292
379
285
419
289
247
228
333
400
312
334
229
272
356
244
281
390
340
326
296
323
370
209
265
376
335
221
279
279
290
288
268
207
227
310
393
309
254
338
252
313
284
256
247
309
258
345
300
322
277
285
311
260
364
265
316
340
261
323
318
318
338
365
242
275
335
320
384
320
392
343
313
353
298
350
359
348
253
294
322
316
381
329
286
288
278
365
289
326
334
376
392
282
277
296
251
304
322
276
257
339
299
298
309
330
426
389
411
364
300
344
300
272
264
290
291
383
309
367
282
297
395
234
303
288
347
291
366
356
397
306
311
331
406
305
349
345
354
282
300
374
386
221
289
321
281
325
354
311
314
296
354
382
269
347
307
290
306
289
298
362
281
378
378
303
300
267
412
286
354
270
343
289
310
271
393
339
433
315
386
284
304
234
319
240
355
309
260
303
250
384
342
230
280
309
330
239
338
336
404
309
351
332
360
354
293
327
332
305
301
241
308
338
268
319
277
320
276
327
241
218
403
410
370
281
351
397
382
352
336
327
270
349
300
300
281
393
400
282
304
375
371
321
244
290
291
313
294
317
339
284
373
329
323
352
363
294
308
335
300
360
251
325
350
323
318
402
322
312
327
363
262
353
310
245
298
258
327
322
304
347
363
383
337
340
292
306
278
275
321
336
332
250
360
294
342
369
248
326
309
376
311
324
308
272
357
232
324
305
274
367
342
268
346
334
363
340
322
332
352
370
324
311
317
365
311
273
317
296
300
282
310
300
434
325
340
391
290
324
325
350
353
294
297
328
355
334
286
305
336
361
279
252
362
308
334
227
238
362
273
302
312
309
348
278
274
300
310
333
250
358
345
332
366
372
258
263
327
218
384
342
247
279
300
265
344
267
287
287
444
399
342
383
401
309
324
408
258
271
282
304
334
311
285
276
348
366
310
326
269
322
290
411
313
307
258
326
337
323
363
340
362
348
310
390
346
315
327
345
337
366
328
379
360
306
305
307
349
358
324
296
311
347
345
369
366
252
403
306
378
285
298
240
352
285
347
333
254
354
380
390
301
324
336
284
219
331
226
215
335
302
246
336
264
357
261
309
337
320
301
368
283
308
324
330
299
360
371
245
223
352
381
219
246
319
258
247
379
305
414
281
355
374
348
320
358
280
327
396
364
356
388
325
260
345
359
250
249
446
318
306
331
308
360
263
395
353
325
263
364
269
303
269
252
342
224
328
326
398
339
289
304
359
303
289
333
322
276
332
384
352
324
266
335
334
328
378
279
369
347
329
302
231
347
291
348
317
361
348
280
328
345
379
336
370
273
321
340
362
324
283
334
295
311
320
322
323
318
332
314
240
338
314
321
349
320
325
350
345
357
323
312
360
334
316
347
370
338
226
263
288
336
314
363
338
346
286
322
350
269
310
284
339
253
311
318
378
313
298
371
377
282
305
291
321
300
388
304
332
260
272
335
330
269
374
301
336
344
295
277
281
331
328
361
305
256
353
326
334
309
252
355
349
269
299
281
275
241
347
301
310
307
372
308
329
330
362
307
330
262
357
310
293
267
336
321
248
296
331
330
343
300
282
280
410
347
320
291
292
261
369
286
289
309
314
295
325
335
226
304
341
369
379
323
272
320
422
260
320
319
404
313
281
274
329
359
354
261
258
400
323
375
343
268
322
291
341
304
288
236
322
341
300
333
397
327
390
394
216
355
299
327
396
323
298
316
284
279
295
358
212
237
388
363
271
361
385
279
360
290
284
315
296
324
268
340
322
387
314
371
369
296
352
310
258
351
305
346
305
279
267
296
334
329
271
308
282
338
334
314
320
343
348
288
233
344
297
261
335
348
337
293
344
311
308
285
382
256
348
309
305
353
318
322
324
322
288
282
286
210
313
264
293
263
314
356
283
247
418
352
273
330
344
315
319
234
295
261
385
387
302
280
273
302
269
363
347
227
336
328
296
300
347
352
294
282
284
288
333
290
349
271
251
313
298
239
330
274
306
268
330
277
429
240
346
358
277
284
327
236
334
304
307
325
297
302
324
289
320
335
300
285
325
311
298
377
256
276
339
368
253
293
367
211
323
399
379
312
325
343
333
279
363
254
335
343
290
300
307
221
345
345
291
247
349
373
402
327
359
290
347
360
281
308
308
389
342
349
307
256
315
308
284
274
291
243
323
352
269
304
378
255
331
269
304
308
289
281
273
350
259
308
193
316
273
251
212
444
301
313
348
304
367
320
349
268
363
243
342
390
323
237
345
324
300
329
294
308
317
345
325
336
259
268
264
367
336
309
301
333
287
334
235
357
247
278
269
264
319
349
340
345
321
274
370
308
263
351
348
322
388
368
357
376
284
282
366
296
307
322
312
339
379
326
323
231
311
296
262
353
325
234
344
301
362
378
256
276
304
255
343
369
379
328
299
331
340
429
283
292
258
238
308
330
321
312
341
265
363
314
335
321
337
266
329
301
333
266
354
343
365
346
290
364
296
327
334
326
281
211
308
323
310
315
291
271
344
248
340
239
315
313
295
257
319
269
315
255
259
388
332
329
325
396
361
259
375
314
286
313
346
366
368
318
359
297
299
245
357
290
315
332
383
309
358
268
337
347
308
268
323
366
358
356
270
431
355
327
324
357
306
315
268
316
347
267
284
337
311
307
246
246
242
302
396
273
355
272
381
342
342
292
338
337
242
341
334
291
281
311
355
320
328
271
251
364
389
367
325
329
267
317
318
286
259
380
299
252
337
316
394
325
292
323
321
356
383
322
283
296
263
309
346
353
342
216
352
348
298
226
354
253
372
316
379
326
260
322
311
363
343
329
257
259
223
363
295
264
310
279
246
355
267
267
284
305
337
342
244
309
266
326
365
358
404
295
324
333
321
319
348
315
331
290
345
324
293
335
372
306
341
361
308
296
342
338
355
339
339
283
314
254
254
267
293
336
301
279
342
299
291
260
382
347
356
404
299
324
335
285
422
346
322
376
302
318
376
283
357
333
275
325
236
286
378
234
362
316
208
274
292
268
346
390
386
343
364
270
329
347
276
196
358
287
342
330
320
343
365
290
369
393
318
340
310
345
377
309
359
334
301
328
328
323
336
330
327
237
355
288
365
347
352
369
346
338
389
292
351
345
314
301
273
337
335
266
279
317
354
333
309
210
278
379
314
355
245
307
281
334
280
394
317
369
245
310
259
381
360
423
235
291
306
335
222
347
349
308
420
368
369
368
319
334
366
252
286
259
305
319
226
286
300
357
231
386
332
219
312
344
383
311
320
341
337
255
362
399
309
319
287
329
310
285
303
392
257
282
301
380
303
346
375
311
312
326
313
284
340
327
353
314
310
287
358
376
333
330
336
280
314
268
306
278
354
341
338
322
326
405
293
386
346
345
291
355
462
294
303
242
286
283
318
305
305
306
391
368
268
326
320
370
312
373
335
366
330
296
329
288
345
292
287
312
299
360
329
270
362
293
258
382
331
374
362
352
433
324
350
326
337
318
305
303
290
337
365
309
269
260
284
355
294
350
243
306
381
332
347
396
339
346
281
251
320
327
350
305
274
260
320
364
333
350
255
359
301
372
275
326
308
358
390
347
402
274
386
345
313
337
350
353
314
386
281
277
301
215
379
270
338
310
322
285
288
279
316
279
376
322
269
361
383
297
289
293
364
289
338
331
295
269
404
359
376
338
256
227
346
274
255
350
380
277
362
403
387
347
315
278
330
239
425
343
373
269
364
334
307
297
315
365
373
261
346
338
365
252
330
278
304
370
354
324
287
269
260
268
231
370
301
365
338
284
342
320
322
291
327
332
261
308
348
326
299
332
314
316
332
353
327
322
308
297
331
339
358
256
293
327
235
281
338
331
294
334
395
356
305
351
313
407
297
258
316
265
282
331
256
218
338
342
279
286
306
263
339
369
332
369
318
369
372
343
267
320
321
290
355
357
376
311
332
333
393
386
250
283
300
313
351
323
314
309
376
363
328
334
310
355
362
277
273
391
392
239
259
339
336
301
237
349
313
335
363
401
312
235
323
338
369
339
298
301
292
271
310
267
276
397
210
236
285
297
344
345
202
335
366
382
386
249
303
360
301
321
223
293
312
291
289
318
304
335
294
294
296
361
372
405
255
345
334
319
325
344
367
215
310
369
272
243
350
309
366
255
307
313
248
251
264
340
304
258
283
330
307
372
349
286
292
307
330
345
312
340
251
267
262
341
348
273
337
339
293
333
325
230
314
201
348
230
300
295
374
326
247
359
378
371
246
323
241
276
369
325
370
334
303
226
323
323
316
302
322
313
349
344
298
324
299
309
387
335
302
429
309
284
376
284
310
317
432
284
238
331
341
325
355
276
364
269
338
272
277
366
280
340
272
344
370
295
280
347
340
359
251
286
267
317
275
286
242
295
344
292
243
332
295
356
250
394
339
316
370
282
347
306
348
396
241
302
292
220
287
287
299
349
351
366
353
315
330
329
323
283
314
338
345
216
276
312
289
451
376
370
382
313
324
363
345
312
287
245
289
297
298
264
346
302
334
361
380
370
218
308
338
325
240
333
259
300
284
284
316
314
350
273
379
285
313
415
291
340
260
265
281
351
301
312
292
281
216
300
325
291
382
337
293
378
230
358
238
264
381
373
321
348
321
367
330
246
370
376
201
336
337
348
322
370
345
284
377
317
221
377
383
270
357
344
245
311
280
314
338
391
298
269
404
211
385
378
384
320
328
351
282
361
278
313
271
320
345
296
261
390
253
351
365
367
337
351
259
324
390
292
294
249
307
306
437
245
394
242
354
409
287
341
319
360
306
268
333
345
338
337
317
314
306
306
255
306
340
251
412
259
374
302
265
342
330
318
276
303
344
312
296
284
361
284
339
294
384
313
319
210
312
438
208
361
257
306
330
232
297
315
338
382
359
322
267
383
211
344
282
248
236
311
283
352
357
356
333
327
307
317
311
270
314
354
305
289
343
258
377
363
334
279
270
338
310
360
297
237
377
336
287
296
272
353
308
331
299
342
289
263
326
300
272
314
354
325
280
332
357
363
332
351
366
356
357
353
374
311
353
409
341
314
364
341
331
262
290
350
419
290
387
214
389
400
270
321
374
286
279
280
302
311
383
317
307
301
263
259
320
318
305
337
364
408
296
287
236
432
363
309
371
330
305
353
264
283
340
194
303
277
290
322
324
322
347
243
358
434
324
288
320
354
256
326
292
298
319
305
199
388
359
259
301
348
326
332
312
360
376
305
323
258
280
326
332
249
220
318
395
309
301
285
401
351
385
354
293
324
348
292
355
335
341
388
267
309
265
416
300
274
389
257
378
270
212
342
290
383
355
346
341
298
228
321
401
290
202
310
368
297
353
386
376
320
314
261
354
301
256
343
338
345
347
368
313
227
273
246
363
296
285
336
349
286
288
366
272
351
291
200
334
322
342
274
349
167
305
337
306
301
375
315
312
333
311
249
310
305
292
298
312
295
328
328
279
341
315
318
263
303
306
291
299
307
314
333
318
300
260
315
323
259
410
261
246
326
343
301
283
370
313
351
289
305
290
353
392
347
289
317
306
301
241
418
277
378
338
310
327
319
410
235
323
303
340
284
360
268
294
333
252
353
277
363
300
222
264
277
321
281
310
268
359
312
276
363
315
364
294
317
331
273
377
265
300
343
257
310
327
316
356
365
321
336
347
326
357
290
353
368
298
347
306
301
275
290
344
286
335
279
188
331
234
254
357
290
305
313
357
369
331
296
356
296
279
360
296
377
395
322
352
313
349
320
319
311
380
215
273
327
390
318
328
224
299
300
265
354
394
351
406
359
279
406
317
309
371
325
357
378
254
247
250
365
338
289
314
303
363
266
295
345
384
245
306
351
350
325
259
226
275
310
396
327
332
384
360
321
399
418
303
244
331
246
390
293
393
279
295
318
301
356
239
324
222
347
305
327
311
330
278
317
401
351
306
350
328
304
347
356
286
275
278
374
353
324
331
302
284
324
319
355
282
297
273
239
357
322
319
377
367
376
332
277
295
287
332
344
380
433
287
326
225
309
261
279
350
302
229
334
280
302
346
295
358
323
343
254
290
307
218
374
334
265
358
278
314
287
344
312
332
309
290
314
292
327
283
299
315
347
392
374
324
311
316
380
384
257
317
283
350
278
366
333
313
399
319
347
298
242
321
316
421
237
297
326
262
344
325
321
326
359
335
341
345
264
314
254
277
259
312
369
298
357
299
256
299
389
323
334
300
296
242
320
329
334
296
336
365
369
270
332
309
304
331
328
340
206
348
301
323
397
310
369
289
293
316
228
267
365
295
315
307
375
330
360
331
386
319
349
336
421
376
276
341
391
332
351
309
351
280
363
291
396
363
280
232
378
361
269
334
287
331
276
291
323
260
286
344
353
289
270
285
290
317
295
274
323
338
288
370
232
316
329
242
383
275
320
326
340
332
368
304
327
287
277
296
329
352
304
354
329
350
275
222
319
371
367
292
302
334
344
317
348
347
271
303
334
376
233
245
317
299
388
376
300
295
309
337
316
355
347
288
336
245
258
292
340
292
340
337
286
298
346
329
330
335
326
257
310
309
395
396
299
369
331
396
304
276
328
360
270
261
309
358
338
288
385
354
313
383
348
353
379
295
396
301
289
319
359
288
335
350
391
385
273
268
329
368
290
319
250
379
388
270
292
302
385
402
403
252
281
282
329
319
268
336
332
331
272
320
258
361
290
288
288
356
257
325
333
327
313
351
344
309
341
307
352
356
281
279
366
298
318
296
391
338
329
302
233
288
315
359
313
243
295
285
307
361
299
366
332
370
358
298
290
309
232
288
340
297
323
247
261
331
266
332
284
276
249
333
303
287
282
374
329
365
384
386
315
260
307
302
251
314
325
323
335
370
327
323
391
285
365
356
337
367
254
392
341
267
237
308
225
300
359
328
303
273
350
326
335
293
328
297
336
302
312
371
324
293
279
302
307
329
327
361
344
340
280
385
260
322
351
345
288
288
300
266
360
376
296
374
335
379
304
366
306
385
346
328
353
321
233
328
389
241
348
298
273
335
411
304
371
295
308
355
374
328
286
288
310
286
340
251
301
354
290
311
300
333
290
288
314
349
346
344
347
357
277
307
362
319
313
409
295
355
276
314
303
317
300
213
361
374
286
337
347
230
342
386
315
229
337
375
279
355
315
306
296
321
326
302
331
286
287
265
248
342
340
328
188
345
233
359
367
313
306
303
308
277
295
256
365
324
355
361
313
279
313
269
368
327
319
395
320
314
384
354
369
269
314
352
221
260
322
307
227
255
319
214
363
344
335
336
409
321
296
319
285
240
332
374
365
338
267
326
239
366
356
243
290
335
258
332
211
293
348
386
236
335
361
361
309
231
313
368
289
405
263
349
196
319
289
331
313
308
277
334
356
299
377
230
302
355
294
366
248
344
349
237
346
338
316
216
245
313
407
284
372
301
397
261
334
284
345
317
324
342
372
236
290
329
311
345
300
348
322
336
317
283
314
258
378
360
270
274
338
268
263
430
282
267
354
364
305
312
345
247
266
313
338
363
332
294
249
225
337
402
324
306
315
312
334
356
287
311
249
372
261
312
333
313
255
267
328
357
295
377
293
396
361
327
320
297
277
385
318
305
216
306
395
329
312
319
252
340
359
386
363
297
296
368
285
301
328
298
326
381
439
338
330
325
335
282
248
312
384
355
321
296
276
357
274
326
294
433
337
298
353
346
375
295
351
369
279
235
279
246
321
302
364
363
380
312
348
324
296
363
323
258
287
269
370
368
306
349
259
345
300
434
353
250
351
278
264
290
363
319
285
267
338
315
290
296
435
320
349
314
264
377
314
276
357
250
350
290
384
344
305
312
292
285
321
319
255
336
374
305
335
350
248
335
252
279
291
232
320
320
261
350
348
276
356
367
311
227
345
327
357
282
351
349
424
351
357
330
274
272
292
315
408
318
379
310
279
336
370
308
289
312
298
321
354
376
417
302
283
274
243
279
280
387
301
338
323
375
281
362
191
407
381
283
313
288
236
223
354
264
243
425
361
275
321
256
297
287
345
224
322
331
288
272
324
298
354
250
297
394
358
344
289
309
359
361
353
270
377
322
256
280
369
360
361
359
262
298
358
335
342
299
326
256
338
368
319
237
300
304
354
234
417
278
285
348
354
286
299
401
241
310
256
248
347
283
328
349
295
333
346
290
329
279
322
267
345
284
279
335
336
305
242
289
328
332
258
272
362
291
337
322
332
328
336
290
297
294
304
267
301
381
331
272
327
340
233
281
321
385
273
295
388
279
342
335
318
271
253
319
400
315
315
369
294
300
347
419
303
397
243
421
287
273
306
304
283
338
330
300
279
326
372
316
304
388
304
326
344
341
330
398
405
333
339
420
249
301
289
281
323
344
324
372
330
329
275
266
217
343
262
260
347
272
330
322
310
373
388
366
261
316
302
270
295
284
277
316
329
394
293
408
281
278
295
354
310
301
357
320
316
256
322
327
332
291
330
269
178
340
338
321
239
307
337
376
221
358
341
326
252
315
297
369
277
301
366
260
311
300
341
393
316
358
291
282
328
361
342
231
279
386
388
408
363
382
248
280
358
359
320
285
354
281
388
321
266
355
331
257
385
330
305
348
401
295
237
309
301
435
369
304
312
413
309
324
323
398
284
302
340
267
395
252
336
361
354
284
397
336
334
278
346
312
366
319
389
320
297
269
225
331
266
288
325
317
343
367
387
355
306
383
211
289
276
350
342
369
315
293
323
282
354
304
273
385
295
331
240
375
294
242
285
291
335
350
330
311
288
367
251
250
361
351
317
295
334
292
369
337
354
300
326
301
311
325
262
362
318
292
367
343
291
308
259
312
259
318
332
244
307
283
306
304
343
267
319
350
282
345
317
262
363
300
373
295
415
350
292
318
362
349
374
276
304
304
338
360
286
312
219
256
297
313
413
312
257
278
282
275
296
360
397
250
313
332
311
325
371
336
371
322
325
367
353
289
342
334
253
344
338
346
282
303
280
237
378
344
361
312
311
247
337
348
256
319
303
402
321
336
345
344
381
372
321
269
344
320
309
252
326
275
295
384
384
350
336
243
383
309
324
298
320
282
342
365
356
218
282
343
318
304
341
294
289
300
294
321
302
302
325
312
355
354
296
360
339
359
356
281
282
366
317
265
256
275
263
257
284
290
284
348
311
345
343
326
340
282
343
362
413
310
332
322
256
316
292
365
289
306
286
372
341
285
301
325
280
276
331
298
397
288
265
347
320
312
308
337
329
296
322
203
265
305
352
311
383
348
303
361
312
308
276
333
387
288
340
312
296
296
358
417
318
341
331
311
289
352
156
307
248
265
323
357
320
318
355
289
295
241
336
211
258
361
348
355
288
341
371
331
389
434
362
345
337
296
424
332
311
308
343
331
323
354
338
345
341
181
408
281
351
334
348
280
427
310
229
274
324
213
339
401
332
307
286
290
254
334
310
302
254
290
356
294
302
350
240
324
314
329
372
276
315
319
341
352
262
244
308
342
283
335
333
337
266
310
258
313
300
275
270
307
368
294
306
323
302
176
350
358
333
314
327
329
230
302
306
316
329
291
375
319
318
292
354
329
327
375
283
304
347
328
288
354
369
321
275
333
331
357
307
279
366
271
323
343
442
380
343
293
336
332
380
365
265
361
257
344
254
294
378
298
351
283
341
310
267
368
278
281
245
386
321
294
297
294
389
316
344
298
407
288
350
301
282
279
262
271
305
320
237
319
219
330
336
314
362
254
301
330
394
320
391
359
236
245
323
300
309
293
380
318
240
337
382
290
247
351
320
340
343
281
297
281
330
333
273
316
307
254
269
267
266
313
384
344
321
317
339
346
277
245
350
330
285
307
296
335
383
257
340
351
274
331
302
274
372
367
357
254
251
340
330
213
322
326
344
405
353
250
305
217
279
367
269
300
384
276
242
276
304
299
378
330
249
273
270
425
406
364
304
293
220
356
322
252
328
308
256
329
333
340
270
370
253
315
317
308
290
351
348
379
347
308
205
326
327
292
359
364
300
338
307
370
323
319
289
243
232
361
346
286
339
371
383
308
327
299
360
372
434
374
362
300
321
334
307
328
396
363
282
295
229
308
287
295
306
288
308
331
380
397
268
319
264
311
342
362
287
316
348
348
336
364
352
272
316
310
266
308
366
288
340
412
226
334
388
347
282
330
292
299
364
383
270
225
351
311
281
293
296
251
373
362
354
367
346
309
378
295
282
280
249
286
309
329
210
298
343
292
262
295
333
350
277
318
303
364
357
283
333
348
273
383
386
343
306
340
361
286
390
326
319
301
358
218
358
286
234
318
399
374
228
314
321
247
297
342
304
343
329
350
260
275
340
340
333
342
327
327
270
394
324
281
312
299
342
272
339
324
320
291
374
303
290
267
321
308
321
307
290
293
246
349
258
318
330
283
396
290
311
345
377
264
345
352
336
319
227
309
251
366
288
350
263
249
289
281
340
383
353
355
314
315
300
345
332
269
299
260
367
304
306
286
295
310
313
315
297
366
369
283
233
353
312
347
339
355
332
292
255
289
361
322
355
310
333
371
325
298
335
282
257
333
348
279
264
396
288
322
323
286
438
310
308
344
283
320
316
242
287
260
344
297
321
256
306
359
343
314
318
434
287
258
367
374
349
368
351
385
302
359
348
262
284
331
276
316
297
250
373
310
337
322
310
374
391
278
184
350
366
326
302
332
330
288
290
331
299
302
325
275
317
352
327
257
318
269
285
310
263
295
301
354
350
363
324
377
298
365
233
353
308
292
287
295
319
285
343
291
312
259
291
273
347
325
331
350
304
322
282
341
330
309
277
277
268
352
285
244
290
354
277
250
325
251
328
334
283
312
410
352
307
288
367
271
330
368
259
304
368
339
365
308
268
381
358
253
260
294
305
302
265
263
206
362
355
301
290
299
361
295
366
307
339
344
350
246
312
311
336
252
272
309
340
320
295
279
367
227
299
325
368
325
317
306
254
330
233
304
336
407
326
316
263
300
309
337
317
340
269
287
363
338
310
322
325
386
317
311
299
381
329
388
330
340
256
378
242
311
310
230
271
322
341
350
327
279
320
308
298
294
352
334
301
283
366
280
332
332
322
221
259
330
277
349
290
300
332
374
314
391
272
244
337
301
286
356
263
330
312
308
383
251
371
274
344
393
347
364
234
226
355
327
303
341
327
317
344
301
272
308
305
302
280
298
329
400
345
369
335
307
384
335
275
262
318
236
227
286
425
325
320
338
322
393
261
223
380
314
216
277
290
359
352
339
342
314
295
351
330
284
252
374
310
218
289
257
358
321
345
371
332
282
366
220
321
269
196
339
329
344
335
389
257
259
309
328
308
236
270
283
332
296
332
302
314
318
311
319
209
353
371
326
337
363
249
358
300
321
311
365
302
319
262
359
315
246
340
366
314
330
239
311
227
345
302
331
327
365
329
422
306
375
270
334
325
262
347
317
441
299
357
314
363
370
318
297
217
261
295
312
291
414
334
318
338
319
302
392
315
384
349
339
336
261
334
323
360
322
304
368
406
351
318
321
258
207
260
312
237
285
291
286
228
297
336
339
343
414
353
399
283
324
257
379
333
357
371
319
345
316
253
299
332
313
369
424
361
300
292
323
296
313
315
352
286
324
351
288
335
353
349
289
316
285
325
331
317
375
323
340
385
359
318
286
306
340
276
252
355
271
265
288
358
304
330
327
234
340
318
334
279
346
382
306
295
437
342
433
329
297
223
396
293
325
288
280
387
318
316
331
349
300
308
358
362
334
313
273
376
231
343
385
339
290
448
290
268
330
328
280
248
326
298
268
359
292
307
348
316
225
239
303
386
308
374
401
311
320
405
402
323
344
310
276
284
345
332
274
380
342
333
300
277
262
343
283
295
330
293
367
267
301
320
313
265
232
314
309
345
381
383
372
303
360
348
280
337
350
335
301
291
291
322
363
344
306
357
348
284
275
371
300
291
325
373
292
306
272
253
342
203
258
264
322
337
403
263
349
253
379
360
281
269
325
294
377
326
325
312
358
340
319
405
299
360
291
306
300
326
343
363
302
355
298
304
321
373
367
308
250
293
292
252
439
323
308
282
323
305
375
250
403
277
360
402
279
259
241
283
360
295
325
318
297
391
247
246
375
324
317
298
354
307
300
228
299
391
252
322
205
316
254
278
276
318
424
242
304
346
338
314
259
283
340
360
316
277
253
305
308
295
380
292
348
336
290
336
330
305
436
291
342
319
315
360
357
259
263
341
292
339
324
290
243
329
353
349
345
306
259
255
349
316
263
364
318
253
360
189
342
249
300
215
299
332
363
346
257
295
330
329
266
335
337
223
279
301
296
270
245
349
325
323
342
322
357
274
325
314
329
306
305
303
366
340
241
338
281
386
270
339
394
328
276
366
312
311
254
373
323
324
286
313
294
335
360
287
346
291
315
240
300
238
299
335
364
323
294
299
308
325
317
357
353
237
365
384
395
316
372
206
302
325
274
385
235
382
335
230
229
359
286
322
356
287
310
317
281
262
351
257
220
309
372
314
352
245
252
286
393
310
325
355
341
335
270
376
300
245
350
362
269
311
458
292
373
288
321
340
314
290
383
256
305
300
385
337
272
259
284
318
306
340
279
301
265
379
275
331
293
392
294
316
345
305
389
334
366
340
301
364
297
269
324
336
368
319
313
373
375
327
341
267
299
285
305
314
253
259
264
306
329
272
271
416
340
336
377
362
269
236
243
349
294
310
300
354
279
363
297
265
331
268
241
286
344
339
351
341
283
289
342
325
337
364
302
295
283
270
313
262
278
308
335
280
296
327
341
263
290
332
213
393
292
337
331
371
321
370
290
360
269
222
258
368
309
316
326
291
348
320
361
297
266
352
307
330
240
337
338
310
292
357
283
335
270
362
245
287
331
303
249
328
389
316
339
373
288
224
407
257
303
334
314
305
317
363
300
442
314
386
221
361
327
360
289
212
321
253
263
363
230
376
360
307
282
242
304
380
390
280
274
361
365
340
292
302
410
334
335
394
283
378
294
361
355
269
346
270
234
329
304
256
261
326
392
283
315
291
335
300
233
330
313
310
295
279
381
346
328
313
300
371
444
293
331
336
292
305
347
354
294
311
319
323
294
367
240
332
344
250
274
379
287
254
259
302
294
323
234
300
277
334
358
353
340
307
360
308
344
313
228
277
320
257
304
316
335
346
280
315
330
236
399
268
302
206
299
262
265
354
357
269
261
271
310
344
314
328
277
295
333
316
287
389
311
335
335
339
325
342
375
285
301
374
362
320
323
355
318
377
275
354
319
301
364
333
277
206
385
366
300
308
322
416
265
315
228
318
301
322
247
341
308
267
326
369
319
424
358
304
323
280
323
330
326
321
294
388
318
337
288
361
349
374
279
336
225
238
322
295
332
245
296
265
341
287
286
345
319
366
244
297
324
350
251
351
335
347
272
264
332
306
317
293
244
366
290
362
264
326
357
295
272
272
296
274
328
197
376
343
326
336
370
299
406
265
375
316
278
293
294
300
305
291
289
322
275
334
390
366
334
284
302
301
328
328
281
259
236
317
248
345
290
247
284
305
321
338
327
373
346
324
399
338
386
291
293
351
270
304
305
332
334
266
382
392
329
262
308
349
338
363
355
391
357
297
337
398
326
375
299
273
362
337
304
306
336
384
354
278
301
356
315
336
337
253
295
299
346
351
256
313
346
393
311
291
302
249
364
364
288
298
285
381
317
260
338
369
326
263
260
294
407
332
304
305
410
290
386
220
342
285
317
326
279
279
256
365
317
362
353
337
303
311
344
301
332
331
302
252
356
307
386
264
271
244
261
318
346
333
319
228
326
303
275
303
345
366
328
263
368
361
268
348
236
287
303
319
314
326
384
312
309
360
345
304
304
316
343
371
269
295
336
348
259
323
309
323
354
296
295
352
358
346
317
358
381
374
308
352
377
212
363
299
286
352
419
240
343
371
377
325
409
248
350
352
370
332
356
360
291
291
360
312
333
271
339
303
301
356
346
323
294
288
274
242
313
326
194
253
348
300
321
286
393
342
343
268
359
312
281
295
396
352
323
359
336
361
318
338
220
382
308
389
352
309
306
293
307
298
387
275
321
300
321
357
291
207
409
317
371
411
389
347
322
309
303
353
281
342
298
312
268
314
293
344
330
281
258
304
312
323
346
317
340
341
339
342
326
229
241
301
282
347
300
340
280
334
395
238
372
269
366
335
255
335
303
337
284
357
306
304
358
258
386
368
306
291
272
258
290
337
347
367
268
253
316
327
299
377
349
344
301
412
286
303
353
218
342
279
401
334
332
345
314
309
343
331
332
330
245
332
364
361
305
330
379
336
216
288
215
383
297
316
295
306
326
326
338
286
326
436
313
208
359
318
349
336
292
352
314
328
321
368
339
404
304
344
254
309
360
345
301
269
240
276
351
330
336
323
407
311
228
299
333
358
288
290
334
283
263
344
401
310
322
335
290
317
309
411
237
317
253
338
215
348
345
324
308
321
355
268
414
336
249
363
285
381
321
396
270
248
330
313
285
324
386
354
260
296
304
340
278
208
290
338
323
379
400
350
363
344
343
286
337
378
400
304
302
401
392
258
324
216
279
380
355
349
286
291
394
292
324
291
312
311
339
366
264
254
283
304
331
310
253
304
328
312
301
299
314
304
327
325
305
346
326
343
289
343
342
260
334
308
348
360
356
341
345
387
373
391
272
318
327
381
365
371
313
296
327
338
312
331
278
348
261
374
349
294
307
314
363
320
308
315
348
251
255
348
345
361
314
349
342
319
251
297
366
275
280
305
413
326
364
280
287
239
355
301
358
391
258
322
313
292
325
389
368
288
349
287
323
286
279
319
307
330
231
280
258
297
361
272
271
323
365
281
286
350
304
264
384
340
353
374
325
376
341
246
324
264
277
390
310
293
347
282
317
336
273
285
332
339
249
309
318
300
373
313
318
423
315
256
346
193
387
301
316
280
309
327
264
319
326
295
321
252
304
299
386
249
378
356
334
339
254
367
350
326
275
314
277
387
317
280
318
260
280
334
225
295
280
345
279
304
376
410
296
267
308
292
278
304
355
330
377
246
299
407
263
288
300
270
352
320
271
343
241
330
339
226
337
328
283
378
303
341
294
313
381
308
320
269
358
335
294
307
343
277
333
376
259
339
338
337
284
225
282
336
392
310
310
360
380
376
369
401
308
408
345
320
332
332
327
254
326
383
356
321
252
328
321
315
317
348
329
349
228
312
229
318
355
332
324
308
308
350
409
310
336
320
374
316
331
312
264
322
288
263
350
339
282
355
238
379
269
313
316
234
365
329
372
209
370
321
288
360
404
328
280
326
294
305
295
367
287
271
305
282
341
199
345
326
292
357
352
299
251
312
434
208
242
218
254
288
342
294
307
340
299
401
261
262
362
241
315
333
379
344
260
337
273
327
298
272
319
362
336
298
265
393
321
257
258
293
322
294
285
372
233
401
328
295
286
323
346
248
362
339
348
378
331
330
367
355
217
349
282
291
310
344
288
328
218
310
394
252
267
334
247
318
293
339
319
350
270
313
252
228
350
325
330
333
362
326
303
301
308
295
269
299
298
362
288
319
300
346
254
326
370
286
439
260
206
400
328
224
324
319
406
262
295
335
333
296
407
381
297
348
317
354
350
254
345
331
265
376
350
297
252
272
321
342
213
340
233
361
315
299
387
347
304
305
365
379
363
341
328
389
352
328
406
324
373
310
213
381
296
282
328
341
249
312
287
388
301
399
320
294
391
307
365
258
237
355
272
281
328
303
255
369
321
322
363
317
318
280
386
431
292
276
328
359
324
313
284
335
324
379
239
288
360
318
344
353
276
374
334
249
348
343
359
240
306
357
345
315
256
239
326
295
287
345
368
340
287
351
333
292
276
359
338
329
269
310
350
330
372
354
376
292
306
319
335
359
297
322
349
285
355
329
306
324
354
214
312
338
294
317
338
311
313
306
303
315
354
368
200
319
253
273
332
177
325
312
343
311
375
249
323
227
283
283
334
327
308
327
287
355
339
374
351
326
386
295
260
311
303
267
296
374
362
263
269
271
283
387
291
342
268
358
268
273
338
265
272
372
331
310
344
342
340
347
299
303
254
385
369
282
334
283
293
300
275
311
323
235
312
296
270
310
274
292
276
332
360
269
320
367
311
341
253
278
259
335
314
303
345
345
366
298
332
351
201
364
273
340
287
336
325
248
342
288
288
296
312
341
362
308
257
311
360
350
275
301
292
368
350
258
337
315
372
378
282
265
261
223
304
283
301
313
287
365
357
291
407
403
309
248
291
400
387
369
307
332
309
330
356
277
361
281
276
393
258
330
285
333
275
274
267
350
276
333
316
353
320
220
345
321
388
224
302
263
240
317
224
316
316
309
301
275
257
324
295
391
400
323
274
339
285
307
410
251
304
357
370
315
253
338
289
259
349
379
349
319
260
335
368
281
274
326
343
337
286
397
394
377
280
332
384
306
388
300
303
342
274
286
308
399
264
324
329
304
335
270
328
363
259
249
332
355
305
280
356
331
346
353
371
360
264
358
332
291
268
291
359
241
283
293
331
319
367
369
253
333
230
314
405
344
295
355
267
333
363
335
262
326
287
296
323
406
234
400
334
303
303
334
309
304
362
375
283
328
338
350
364
303
335
310
274
331
378
303
388
346
364
293
298
305
375
328
322
339
383
255
263
288
302
285
228
358
399
274
332
359
282
333
285
281
266
287
405
339
342
335
354
327
288
261
275
323
352
287
363
357
290
282
293
303
362
305
324
313
329
289
341
315
317
195
374
355
349
382
288
346
335
333
279
326
317
343
318
332
293
250
293
351
366
333
295
286
364
283
303
272
300
275
284
341
342
249
216
297
296
332
268
306
349
298
246
298
285
318
301
335
339
376
319
356
216
346
342
342
348
386
265
317
353
300
321
323
239
434
327
264
338
221
287
355
378
316
266
319
314
370
332
299
285
333
272
354
273
313
379
298
321
343
248
400
385
330
273
347
335
374
394
272
321
379
276
353
336
317
278
379
328
362
318
321
384
291
288
336
299
333
413
324
278
303
344
377
345
330
289
228
332
366
368
343
237
317
344
293
387
240
312
188
323
362
352
328
317
335
270
385
308
305
378
337
272
256
366
326
263
374
227
324
287
355
271
392
240
290
307
346
311
353
372
339
401
292
213
222
380
271
344
311
345
327
340
247
256
337
298
312
222
353
356
342
333
280
259
335
361
283
400
234
357
315
306
354
325
280
342
372
294
273
348
302
335
318
331
325
361
430
343
383
309
270
410
292
388
244
297
320
310
320
381
302
388
246
264
373
354
352
293
297
253
349
275
318
223
381
284
332
262
300
272
246
294
225
315
374
317
315
383
312
415
410
295
319
282
210
307
350
305
391
397
315
311
313
330
318
343
388
334
261
385
252
252
364
323
344
332
322
334
293
379
370
339
378
350
304
331
318
348
304
305
367
356
297
307
347
337
272
283
271
354
394
344
311
270
320
268
280
374
377
390
387
354
284
308
336
322
396
307
297
271
246
330
267
365
311
301
372
272
290
297
316
327
267
342
344
344
367
305
347
266
317
349
351
370
321
320
350
357
272
330
248
400
336
302
393
312
350
281
305
327
285
357
251
358
313
259
359
206
334
336
311
351
358
332
277
332
331
318
311
257
356
386
294
393
292
351
300
288
240
339
301
303
340
352
319
365
240
284
331
305
398
262
369
360
409
264
326
216
292
315
382
423
240
275
344
314
285
252
214
361
379
329
315
327
287
329
323
430
229
321
209
355
340
317
327
316
316
364
366
266
333
367
297
281
325
243
249
366
249
332
359
338
329
283
295
237
352
306
343
382
327
253
402
349
368
265
373
273
340
230
286
387
353
268
318
321
293
317
400
355
318
306
297
304
283
349
316
273
329
400
278
348
286
266
307
368
317
313
376
340
231
363
295
211
242
347
352
330
172
311
333
363
345
265
334
261
262
307
333
276
351
270
264
342
392
371
423
332
361
264
342
367
244
320
366
324
266
314
306
307
299
283
177
320
319
370
383
349
263
274
308
346
245
364
326
279
375
316
282
361
387
333
329
351
273
314
348
347
342
272
339
293
274
356
266
370
366
387
277
281
331
391
350
249
345
272
347
305
395
224
359
336
335
358
282
220
296
317
325
290
304
357
348
305
310
327
211
424
385
311
261
291
345
284
274
364
361
308
330
320
335
197
354
323
348
248
369
408
353
356
320
372
327
310
345
274
309
401
266
376
383
273
348
327
310
348
231
215
311
276
272
294
318
282
297
270
270
241
356
304
253
363
349
320
351
258
364
289
297
367
299
328
340
302
399
308
315
339
232
341
385
255
314
276
253
330
337
282
344
302
264
368
306
310
359
249
332
348
366
241
282
356
369
261
291
265
422
340
343
316
279
312
279
305
200
350
278
367
312
306
320
318
299
367
342
319
351
323
315
379
283
335
302
308
358
304
351
336
268
362
286
310
274
271
340
257
276
276
275
259
273
327
312
233
246
347
219
328
250
379
328
279
239
267
263
251
288
323
300
363
360
310
287
347
404
421
360
401
306
338
249
236
342
322
282
316
310
280
292
339
297
286
414
263
231
312
254
332
259
338
226
245
328
283
363
303
354
309
331
331
343
262
379
346
301
347
289
308
297
300
342
378
267
310
282
360
283
327
282
361
276
345
304
309
260
348
350
369
286
332
311
271
330
312
322
274
351
356
308
322
311
360
211
294
293
371
373
333
333
306
212
312
253
296
282
346
322
247
360
352
222
336
191
351
382
231
357
334
284
351
336
314
294
326
335
310
276
273
304
295
346
273
345
355
304
385
298
271
349
334
269
297
333
310
332
267
289
315
381
274
261
313
389
327
275
317
337
292
249
330
304
285
373
326
292
247
265
257
313
250
313
391
276
354
298
255
304
254
346
373
296
356
363
364
272
309
411
329
334
234
266
388
305
379
307
350
320
216
262
318
273
347
308
304
247
299
262
285
289
308
320
326
392
406
369
356
351
287
361
248
342
367
270
313
277
344
287
362
370
259
355
341
345
271
326
336
268
417
276
361
316
320
333
317
346
250
292
376
296
297
320
304
381
377
314
331
373
364
347
311
291
253
306
274
324
237
346
247
329
271
317
443
348
300
363
425
371
333
368
206
270
338
306
307
273
263
306
290
273
263
322
291
233
379
306
270
368
326
276
353
309
284
309
368
322
305
326
266
316
314
336
349
349
360
326
412
362
352
301
319
287
375
239
301
288
356
319
345
323
311
322
244
292
363
315
328
296
333
306
347
329
334
312
301
338
275
299
252
311
313
368
323
354
313
296
266
326
273
392
296
289
311
250
322
366
342
246
311
411
246
319
332
251
281
281
312
333
303
304
314
313
477
270
229
354
388
262
311
289
292
301
373
342
335
336
319
340
374
357
283
373
265
314
313
275
327
338
282
276
318
276
287
297
371
219
370
255
305
323
307
368
303
345
298
305
196
370
339
271
290
356
258
364
228
343
341
170
297
329
305
336
314
320
275
359
313
293
359
307
330
311
331
357
315
328
372
359
315
348
216
371
360
402
340
360
264
341
333
232
361
304
358
303
261
309
298
267
272
284
360
297
316
366
280
355
333
285
333
312
303
297
205
345
287
277
281
250
429
295
317
318
372
212
241
284
357
330
294
348
326
291
277
282
307
337
355
294
375
365
271
369
343
349
364
316
321
398
445
321
304
318
324
354
388
296
333
369
342
322
291
312
291
350
309
375
361
295
303
335
311
312
315
329
399
290
236
291
292
290
285
343
348
332
270
347
318
340
270
318
259
268
315
304
267
291
287
297
325
299
288
358
349
240
333
210
278
303
407
330
235
412
292
375
281
243
394
315
353
312
372
367
320
409
393
308
293
349
295
366
290
337
236
321
305
263
373
278
348
313
329
345
397
267
220
279
223
317
269
173
236
263
290
280
277
352
311
219
245
280
379
282
375
307
416
294
280
367
370
373
255
297
394
276
267
199
326
352
227
217
369
322
257
336
288
241
355
278
345
322
334
327
310
332
320
368
306
293
279
414
290
265
258
276
332
305
291
291
355
365
270
392
295
296
279
365
349
300
324
403
425
245
356
363
346
351
323
320
328
328
349
266
312
250
313
275
323
345
316
294
295
307
302
345
329
380
353
307
370
294
257
310
332
317
313
325
260
304
380
313
301
303
334
342
319
385
348
283
349
342
350
292
354
306
320
350
356
333
391
285
320
337
300
378
295
318
340
294
331
270
297
333
252
243
292
317
219
251
304
281
382
255
267
375
271
375
286
303
373
350
368
342
381
333
393
369
292
342
294
318
286
332
237
315
372
301
362
317
311
315
322
308
342
258
350
310
255
367
339
333
307
293
276
346
345
297
282
366
364
357
352
333
360
329
286
348
340
301
292
335
329
369
235
337
332
254
388
286
324
348
294
337
355
317
390
323
349
279
370
307
298
377
291
330
204
289
327
232
276
213
326
326
349
218
364
282
320
322
287
331
384
337
370
333
284
288
368
306
267
383
295
318
328
276
336
311
343
321
303
320
337
296
331
366
340
309
339
252
347
265
305
240
288
311
331
289
382
367
381
300
350
244
323
403
271
312
296
329
260
345
389
378
295
382
274
386
301
279
306
345
366
298
346
413
407
326
321
341
273
293
325
297
275
344
342
315
321
305
276
328
328
347
259
419
283
296
330
401
316
227
292
324
353
375
321
331
317
315
325
336
359
342
358
349
303
239
357
370
301
328
312
351
339
327
288
254
272
333
310
313
338
262
266
239
262
268
330
262
340
279
257
317
405
323
249
389
297
302
324
363
256
315
287
323
321
344
314
368
329
328
363
246
282
334
306
377
314
393
237
310
266
345
245
285
213
279
275
243
273
344
363
379
323
361
361
392
349
293
243
344
350
289
278
278
411
302
352
324
358
244
360
324
291
353
247
379
335
257
263
322
275
364
247
292
329
305
298
343
310
348
265
356
363
269
343
357
268
330
355
303
334
292
296
322
369
309
281
293
275
279
303
334
408
338
239
213
336
343
317
312
315
355
324
212
331
329
308
292
362
294
317
323
245
408
359
281
254
386
217
358
288
281
381
302
340
269
360
312
323
391
368
341
440
291
256
319
317
355
354
301
313
300
317
350
327
245
291
262
295
391
262
285
246
284
336
379
237
340
266
275
320
320
238
314
305
283
342
200
356
338
294
290
322
328
305
290
298
307
217
230
344
378
324
263
395
375
284
333
306
346
325
321
360
294
321
278
350
323
316
396
368
275
342
274
374
342
329
379
341
332
330
209
298
375
291
375
351
199
278
343
235
283
325
347
272
328
295
314
407
293
430
241
404
263
293
292
314
238
272
363
276
394
337
331
319
318
331
366
333
341
326
395
297
353
372
316
349
371
315
440
341
298
307
321
299
378
260
225
309
292
367
301
296
296
284
372
279
340
329
304
452
327
272
335
342
339
268
316
235
285
327
205
267
316
384
279
291
246
348
359
322
345
322
327
243
301
381
327
344
236
339
335
385
274
282
326
253
263
335
311
348
314
298
347
283
317
346
334
228
310
308
245
237
259
292
289
311
373
390
320
275
379
333
319
280
330
293
298
331
273
362
367
375
331
253
291
333
332
330
335
301
325
239
325
343
280
223
321
339
302
226
362
334
387
347
310
334
237
359
285
273
395
352
326
350
358
332
294
370
292
367
358
352
250
343
345
346
305
347
246
329
248
305
303
323
280
299
338
315
349
289
293
326
364
344
305
327
320
380
295
279
330
317
265
319
362
371
278
382
270
348
300
415
285
353
304
232
237
296
315
240
306
396
324
278
349
374
338
389
338
224
384
254
346
209
264
387
351
253
302
363
343
256
298
325
297
313
345
210
415
373
313
213
362
272
383
316
378
235
311
353
238
260
346
381
254
316
352
328
361
391
337
370
333
310
294
254
355
329
331
177
237
240
322
333
297
331
331
339
348
412
338
350
356
365
187
367
339
371
302
294
290
233
299
311
369
249
343
242
322
337
320
324
305
364
346
329
364
294
334
298
274
333
358
335
248
323
297
393
307
366
388
410
283
289
318
362
308
317
331
305
301
220
321
318
239
348
321
348
338
325
360
326
268
265
345
338
310
270
213
310
279
273
365
273
311
325
300
292
351
323
341
296
309
326
281
357
311
365
281
298
325
278
290
349
341
290
341
295
373
301
384
295
350
268
343
343
353
249
301
354
317
320
278
357
272
327
265
382
318
383
234
338
406
309
310
301
286
334
275
278
378
373
371
332
211
296
302
334
291
366
276
289
312
358
410
283
325
310
249
349
284
342
274
315
328
240
348
301
250
326
204
309
318
321
323
304
362
351
296
303
318
386
271
333
298
355
309
312
265
261
380
311
293
326
272
299
322
324
307
393
276
246
292
198
262
345
323
235
246
405
329
293
287
261
323
366
344
406
377
350
284
292
254
335
355
308
318
311
349
337
237
218
352
220
360
412
361
232
273
330
357
262
327
292
358
243
293
354
285
367
350
325
368
288
322
262
304
312
307
342
249
342
345
384
260
303
337
259
367
405
311
293
361
373
305
283
339
338
385
247
315
357
275
320
255
298
301
325
322
284
334
384
288
315
319
346
371
265
283
285
311
377
398
335
315
254
308
255
303
354
289
315
339
354
312
312
351
350
409
246
244
262
206
324
311
332
336
274
360
354
379
225
324
455
348
329
332
298
303
322
286
337
350
350
228
373
218
185
311
384
277
292
374
301
266
325
346
372
399
408
308
238
287
263
325
248
295
280
363
343
406
304
269
418
315
350
312
306
360
411
366
307
216
360
280
382
330
278
268
307
320
285
367
396
323
274
291
210
340
271
268
330
284
348
271
351
293
309
291
304
365
387
343
269
329
414
258
234
277
322
422
316
365
267
348
289
278
326
296
344
314
370
233
312
360
291
231
315
332
296
330
335
357
334
322
306
360
304
299
292
294
257
246
330
272
268
314
370
341
373
357
330
349
263
235
305
318
393
350
236
354
316
230
327
344
360
340
259
303
333
357
398
270
284
366
263
314
281
294
325
291
342
280
363
297
294
330
259
291
314
323
311
320
344
306
260
359
307
302
320
340
267
280
337
284
356
369
303
295
347
302
354
300
308
372
307
365
290
239
210
289
322
279
261
328
340
310
310
298
257
351
346
223
322
252
321
275
296
335
344
375
363
332
295
364
356
348
309
338
331
319
329
319
341
346
342
400
265
366
357
279
397
257
298
384
300
333
340
281
349
344
330
246
290
288
375
293
345
320
315
283
352
359
248
372
357
352
329
293
413
335
265
241
373
398
380
245
286
301
400
380
339
314
267
340
348
353
328
279
297
328
351
267
302
331
319
332
332
295
371
277
258
381
302
369
312
321
277
343
370
276
316
354
319
245
283
387
338
411
290
328
364
319
366
259
383
283
376
233
414
310
311
274
273
372
278
242
388
342
362
322
349
352
283
280
247
313
281
323
361
342
272
316
333
429
312
370
380
289
337
311
314
352
311
257
282
261
338
351
312
373
314
261
313
299
334
322
269
298
332
278
325
398
322
266
312
361
326
349
350
319
373
297
292
269
354
279
287
385
239
343
354
306
283
252
290
312
247
329
394
342
255
368
327
299
323
344
328
325
278
282
338
276
253
297
284
296
342
432
411
348
307
251
270
393
335
298
291
251
366
289
305
320
334
273
303
265
377
337
248
316
292
444
377
401
358
328
297
324
357
307
347
414
374
395
269
379
249
270
271
324
288
325
272
271
236
336
328
216
371
297
260
289
344
317
272
323
326
327
286
322
332
271
321
261
293
379
314
309
229
306
281
358
337
355
256
305
308
298
289
291
364
359
367
233
268
254
367
394
284
281
299
310
254
325
267
325
207
360
286
374
355
377
447
298
335
375
336
298
292
332
289
261
289
401
349
342
266
255
351
321
272
322
274
246
340
356
403
330
347
303
286
345
255
317
302
260
399
360
251
305
271
321
309
381
299
352
365
331
308
387
353
319
304
262
337
316
382
227
305
380
281
301
284
302
286
263
267
249
253
314
355
268
298
377
354
242
390
383
333
334
304
277
252
289
266
369
300
425
373
326
405
366
426
287
347
344
367
311
348
250
218
309
311
310
303
342
183
300
238
323
359
263
359
334
267
341
381
261
257
247
275
316
354
352
296
386
342
316
334
261
351
259
326
313
303
357
343
357
305
331
327
313
329
305
347
298
355
318
325
295
292
311
354
380
290
334
332
382
299
245
241
341
344
369
278
333
318
277
270
332
399
341
322
350
279
286
308
361
242
306
278
385
353
265
359
326
336
393
185
307
342
394
344
378
231
310
397
294
328
391
389
268
271
266
314
286
360
363
320
274
286
315
237
217
242
401
339
306
395
336
363
274
249
329
358
298
246
278
257
338
251
383
322
288
296
308
320
264
283
332
304
323
279
290
389
328
396
199
287
324
330
311
325
297
292
265
245
368
338
335
230
379
320
260
345
335
309
311
235
352
219
199
274
285
330
279
358
284
398
306
299
320
294
312
321
260
278
218
332
386
264
376
319
393
347
396
275
285
406
315
313
288
347
291
328
275
338
390
237
338
322
296
341
274
291
349
299
352
296
335
291
241
352
308
397
327
317
308
321
360
355
325
380
299
261
302
267
338
317
318
383
334
237
310
357
288
276
343
300
290
336
283
404
379
312
289
313
333
377
348
321
379
223
339
294
317
348
311
293
344
290
304
325
316
364
260
344
315
333
335
447
296
287
335
307
279
241
279
305
304
293
324
218
274
330
351
396
274
285
423
322
281
285
275
324
351
306
338
256
301
280
297
295
338
329
322
350
289
327
316
330
362
374
280
336
307
296
304
296
304
267
362
424
425
319
321
333
292
407
252
238
302
239
332
365
376
327
297
277
301
316
341
257
410
375
334
236
353
357
305
384
316
399
298
351
335
272
352
300
283
300
338
335
243
328
276
221
275
300
258
353
257
328
321
314
280
387
305
399
355
359
362
312
315
345
380
350
352
328
294
321
360
253
323
236
369
274
255
331
391
398
313
286
270
279
393
324
320
270
305
276
327
229
299
303
227
221
265
308
386
326
348
270
307
363
209
339
321
315
327
316
357
279
307
318
372
274
376
343
352
443
263
379
373
302
186
351
358
335
278
364
324
303
336
239
331
312
371
262
243
270
293
317
362
304
322
347
328
335
230
382
307
326
288
357
319
291
356
326
224
292
234
289
325
332
297
338
324
326
264
336
279
340
371
310
354
275
304
360
278
255
301
302
310
296
336
304
265
314
284
332
329
353
237
310
257
313
371
412
376
336
271
317
335
388
257
347
354
307
342
266
325
200
327
368
338
259
308
357
349
379
345
337
244
309
290
330
332
329
307
281
278
357
280
352
349
350
342
365
278
295
338
348
290
252
279
248
347
319
323
277
320
336
287
270
236
366
333
367
365
254
332
306
351
358
243
318
358
349
332
268
331
316
279
339
320
268
308
335
347
382
326
320
368
320
332
220
408
252
223
287
338
370
283
193
290
321
317
278
258
257
253
317
297
269
295
315
374
351
206
251
232
389
316
242
345
383
416
388
389
357
273
336
302
347
378
317
261
307
347
275
314
445
355
296
257
325
363
363
273
245
280
345
248
364
330
364
298
259
205
304
323
375
334
269
363
354
301
333
288
295
304
342
283
286
254
316
291
392
348
312
319
300
330
300
279
328
309
297
366
315
363
329
348
311
360
266
291
359
301
285
315
368
311
321
371
340
300
353
368
350
339
377
283
287
336
321
310
357
366
328
268
397
307
348
301
248
324
271
350
232
292
313
225
361
353
388
341
314
244
359
282
349
360
272
355
292
305
294
343
378
321
429
373
308
273
308
272
346
385
273
349
291
294
258
337
252
288
295
327
340
296
312
270
254
328
278
385
334
315
276
373
321
326
326
280
295
295
294
348
270
370
343
391
333
303
303
330
271
332
347
329
322
330
373
332
277
259
364
261
265
244
295
283
341
404
384
301
381
329
335
289
364
364
262
284
294
326
317
313
313
292
320
265
305
251
366
260
270
295
277
278
329
314
377
328
321
337
301
412
316
323
334
300
365
335
295
324
315
305
287
373
239
347
261
288
333
372
273
367
282
345
381
293
354
205
256
335
215
326
419
336
295
369
308
393
309
316
326
279
332
347
305
319
289
281
334
335
323
294
276
355
334
347
381
353
330
310
328
307
342
266
283
265
364
313
305
360
328
350
415
336
365
280
278
304
253
304
327
264
295
374
274
273
271
355
290
334
326
330
288
295
262
282
293
273
326
275
323
329
288
299
324
293
313
314
301
331
285
232
389
363
381
312
353
303
337
285
331
323
309
352
299
344
405
393
246
386
282
314
302
302
313
286
284
363
304
357
268
328
385
362
324
242
398
292
237
239
341
333
340
388
332
360
313
286
348
321
301
322
270
305
305
357
321
248
371
375
297
312
288
252
351
278
344
293
276
333
284
233
322
279
327
327
393
208
333
336
291
343
272
224
280
289
353
361
345
225
269
324
364
329
320
323
249
286
336
363
271
286
303
369
329
267
317
377
274
249
309
277
356
392
339
317
348
287
327
298
260
319
353
315
304
419
324
313
282
263
273
423
231
318
260
374
387
332
280
272
364
377
332
259
309
299
377
366
335
319
319
322
335
245
348
364
326
403
379
309
246
375
239
259
350
334
337
331
289
317
314
301
286
264
319
328
353
365
365
295
321
346
354
305
298
264
307
330
329
303
299
348
326
355
341
315
321
335
345
321
283
335
272
320
258
311
331
362
297
318
321
341
383
353
315
295
273
375
254
282
301
352
328
369
274
339
336
328
301
245
405
324
341
363
253
249
378
369
354
405
275
292
287
362
379
398
323
307
275
244
308
394
302
415
307
282
252
334
301
367
361
277
372
296
343
325
298
292
310
342
385
278
331
262
331
396
358
351
375
284
354
330
358
302
359
259
334
260
299
346
364
308
270
251
307
354
356
320
285
235
313
345
297
345
322
257
308
325
321
372
329
339
305
390
291
319
374
307
286
259
255
341
260
318
271
320
370
289
255
319
234
346
312
316
350
307
344
378
327
341
301
365
415
373
330
239
368
354
260
332
288
332
349
357
292
275
373
368
331
304
277
346
361
351
330
316
278
376
342
297
292
359
184
309
282
299
299
352
375
322
324
370
355
348
366
333
356
365
329
291
309
232
371
330
254
335
311
299
264
362
283
400
282
314
284
327
300
346
353
312
373
273
393
226
280
264
304
321
314
307
312
341
305
332
277
266
331
298
228
289
374
341
346
281
289
338
250
280
369
266
370
322
283
221
266
224
334
317
352
374
284
347
366
267
290
281
362
336
291
279
322
312
322
313
330
234
387
307
275
334
255
325
312
340
344
341
326
341
366
293
356
286
304
214
348
323
297
306
260
399
405
370
294
268
303
329
327
362
275
394
281
368
366
262
362
294
239
351
352
265
314
286
311
269
347
350
269
319
411
358
358
271
319
267
322
304
256
325
293
309
246
326
434
267
327
315
299
330
313
318
309
350
294
320
325
364
314
323
350
362
381
269
344
299
372
242
323
143
288
214
339
302
361
286
329
347
316
298
343
346
269
395
313
335
315
361
305
302
359
338
398
357
357
316
318
357
332
361
313
340
274
236
281
291
400
383
340
238
277
265
314
367
279
326
333
311
311
367
310
365
353
313
322
273
292
276
292
338
374
356
335
304
343
263
388
318
224
273
278
280
398
298
248
338
333
403
281
299
368
295
389
280
321
265
319
341
220
349
296
389
356
273
330
404
294
379
250
319
314
242
253
341
400
294
224
421
267
239
336
309
319
336
310
292
319
174
278
319
346
351
244
366
266
293
251
322
337
410
338
325
301
259
276
368
305
315
231
301
283
295
351
386
280
319
337
386
282
347
385
301
372
336
304
358
296
384
331
353
322
343
359
330
333
342
305
335
237
319
286
371
294
267
374
303
334
303
308
275
331
355
260
401
274
274
275
317
375
385
396
346
329
360
292
331
247
372
295
338
338
341
363
322
258
289
396
392
325
215
281
330
353
312
266
266
318
334
338
335
380
275
294
405
305
312
289
245
323
304
340
361
368
352
302
355
298
331
274
287
367
355
366
334
300
378
225
263
370
382
329
382
320
361
212
230
373
366
311
272
333
329
351
292
380
252
314
366
340
369
236
343
318
271
279
203
303
295
356
342
341
361
345
374
330
300
323
218
309
339
386
399
236
338
198
227
259
351
312
291
391
258
322
359
351
320
280
260
351
222
266
279
436
301
332
389
365
292
313
338
329
295
370
303
386
350
284
308
354
325
290
380
296
314
275
395
274
316
287
279
361
206
381
322
360
201
281
354
265
266
322
280
318
260
340
338
295
275
301
230
362
324
328
313
321
343
266
332
385
279
312
335
337
363
300
263
332
400
289
334
302
345
304
269
348
288
275
273
268
330
317
233
365
335
345
388
314
345
326
301
237
343
371
233
230
323
312
317
272
311
311
273
314
314
339
302
328
220
311
313
276
359
337
309
255
270
336
268
279
316
290
382
369
311
322
319
308
274
362
328
295
316
384
396
284
281
301
310
295
310
343
282
290
334
358
234
306
325
342
320
283
314
289
406
325
300
392
304
356
322
320
321
315
373
269
266
360
309
284
340
321
309
226
272
336
371
316
287
291
352
350
366
327
260
243
307
232
221
324
310
286
339
301
365
304
315
352
256
321
289
362
367
283
351
342
359
345
336
276
246
230
287
344
269
310
275
337
344
296
340
316
325
340
308
367
370
224
357
309
276
279
282
424
397
278
359
306
359
347
315
337
217
347
249
327
358
242
207
261
250
303
344
322
294
342
242
226
400
349
299
298
413
300
266
233
324
243
285
297
362
314
325
317
243
306
350
406
241
330
300
282
366
242
359
395
317
375
301
335
328
270
393
346
283
251
383
355
315
236
280
358
292
318
302
318
282
205
427
321
299
289
307
305
397
344
297
304
291
324
315
366
378
352
325
282
330
359
291
338
383
315
370
316
308
291
242
309
306
309
311
303
236
396
355
335
293
277
252
314
375
293
294
329
330
313
300
306
345
340
317
286
382
228
419
287
303
257
313
325
307
301
343
337
335
301
367
300
315
397
273
321
380
347
308
284
304
363
419
335
241
222
278
298
223
323
400
252
256
379
317
357
271
360
268
295
324
247
329
339
288
317
288
339
277
303
342
250
321
379
304
274
314
316
278
402
255
342
417
422
344
356
306
317
378
374
372
227
362
339
276
309
302
236
338
330
289
362
327
367
384
240
362
351
348
299
360
306
337
288
307
296
281
323
295
252
324
305
272
379
366
360
341
350
305
346
243
253
274
385
306
399
308
282
347
298
285
286
355
325
311
308
278
286
277
345
261
355
289
280
359
316
329
290
333
313
324
342
354
263
237
322
315
257
334
265
364
358
262
322
282
322
297
338
369
311
305
284
365
334
347
307
357
333
314
304
285
350
391
292
262
284
280
319
298
332
332
335
361
321
220
314
294
245
322
410
293
280
315
428
317
270
312
277
266
332
338
347
233
283
335
330
341
383
319
325
338
371
392
293
380
238
356
351
299
326
454
372
351
237
319
338
306
310
277
371
263
259
365
285
364
342
280
311
278
318
353
350
251
307
343
256
339
350
291
343
374
327
374
353
308
269
328
294
350
294
333
231
313
189
257
260
314
247
365
291
356
239
371
354
290
332
282
279
343
341
346
286
337
375
322
277
246
395
390
361
317
307
300
344
312
269
363
323
322
337
342
409
415
343
290
308
387
261
315
332
296
338
276
214
249
331
370
311
208
349
284
324
416
294
258
304
287
320
287
290
373
299
238
338
289
294
260
295
329
282
386
337
297
278
336
351
339
396
311
330
338
257
329
302
347
301
377
296
299
352
338
328
277
386
312
313
359
322
307
332
239
285
367
298
352
313
378
319
327
311
331
317
330
400
260
257
235
269
322
280
292
420
282
365
279
235
263
349
414
301
327
381
306
308
313
305
293
359
263
276
289
306
342
274
284
276
346
367
312
290
285
360
305
333
352
291
318
289
245
300
231
281
280
297
348
347
420
258
261
355
376
297
326
329
347
332
325
346
313
344
313
299
355
348
266
340
299
294
311
424
363
322
224
355
389
274
353
350
281
338
268
381
173
325
294
310
293
340
339
297
224
222
290
261
290
258
306
300
341
240
350
403
221
341
357
373
267
299
301
422
348
281
325
349
375
401
308
304
292
381
330
349
315
247
245
342
337
326
372
273
296
338
302
317
261
318
333
249
332
312
360
326
271
348
309
331
269
258
323
294
320
244
342
268
274
272
254
300
349
302
265
270
315
313
381
319
270
205
375
295
288
319
273
393
265
318
263
182
348
291
336
308
336
344
368
335
248
281
209
348
335
324
308
273
352
342
277
300
278
296
345
366
236
369
320
342
279
335
324
331
354
324
343
345
338
319
352
286
290
379
355
317
316
300
329
367
274
330
286
303
341
296
305
393
254
288
350
344
294
306
398
311
237
339
249
335
296
342
331
279
267
299
326
318
294
350
332
355
273
293
300
324
299
312
347
323
219
321
260
367
344
273
330
277
295
317
305
315
350
290
296
331
303
272
312
323
345
336
370
315
269
291
308
335
342
328
289
343
294
272
351
259
353
197
296
313
345
307
328
352
340
245
293
386
268
275
301
249
421
285
238
328
416
265
270
331
376
338
324
262
340
314
374
241
364
269
318
243
215
350
371
285
340
291
354
251
317
305
282
347
243
333
300
262
307
324
239
338
312
266
390
252
306
247
287
365
302
316
334
322
320
200
266
311
272
297
307
399
325
227
350
242
242
360
289
317
352
324
375
344
375
350
304
330
388
343
260
278
280
330
328
329
326
328
361
291
347
300
233
349
316
279
368
280
266
353
271
417
355
245
281
342
317
361
332
269
275
322
267
231
303
298
283
336
387
319
325
331
324
334
312
342
309
272
227
307
317
299
330
364
365
322
308
274
348
303
267
297
263
278
260
320
224
350
284
311
333
359
346
288
395
341
365
275
313
370
309
376
266
282
361
314
271
292
253
258
345
342
235
364
250
271
335
243
379
410
371
276
335
338
332
323
254
291
328
238
288
404
258
252
223
305
360
274
211
388
311
332
369
248
376
387
296
313
340
336
289
328
263
349
336
347
361
333
378
320
295
289
346
270
343
325
335
290
335
291
341
378
349
376
313
399
321
367
371
456
303
231
273
333
269
291
344
232
331
281
384
370
254
262
351
364
283
263
283
344
368
310
281
295
313
277
271
352
346
383
310
341
308
263
291
286
282
318
354
335
257
310
315
333
380
356
281
262
314
322
340
341
354
391
302
263
315
377
360
305
286
345
423
272
360
324
342
363
296
297
333
289
369
351
292
298
237
334
363
348
341
266
346
337
354
398
295
264
362
243
359
364
225
290
319
397
361
330
362
302
403
320
358
286
282
308
361
293
291
259
301
346
289
318
312
321
211
287
399
289
292
274
322
253
361
273
368
337
291
324
314
353
309
336
319
346
245
308
265
301
272
239
296
325
258
280
347
359
316
388
379
386
256
320
304
297
346
267
346
351
325
381
247
320
338
275
266
344
326
322
290
377
324
303
399
330
389
357
341
327
287
326
308
309
284
336
275
367
279
365
332
352
359
357
294
353
271
324
340
271
367
329
298
295
234
336
356
322
413
334
334
275
266
333
362
372
284
281
280
343
302
270
292
280
342
273
324
273
336
342
265
256
361
271
215
390
273
375
287
301
345
343
343
252
343
302
370
304
258
368
376
291
272
266
348
321
327
271
287
327
392
320
396
299
333
346
324
355
274
312
281
410
305
237
342
370
250
373
298
251
373
286
291
359
305
360
196
328
430
322
270
349
285
280
429
352
333
279
383
319
355
301
347
328
254
267
349
328
336
371
374
321
271
369
310
292
388
261
353
349
317
367
310
283
263
389
317
346
313
399
352
328
397
381
315
305
347
264
342
341
375
317
316
322
224
249
239
400
219
310
282
226
359
318
282
362
333
303
324
311
269
344
232
333
382
315
385
280
337
363
276
338
270
235
302
346
333
360
341
372
352
305
311
311
372
321
293
393
377
343
323
303
305
311
392
277
273
358
358
242
318
266
394
311
296
328
329
325
373
415
292
314
331
357
277
289
274
347
196
334
300
336
270
368
366
365
342
283
337
259
333
342
315
259
387
300
327
325
377
268
334
323
288
400
286
263
275
257
257
252
316
278
448
323
280
290
304
364
271
286
329
272
346
273
268
298
279
347
333
309
400
291
245
405
380
272
274
323
310
330
321
338
213
343
335
357
254
366
301
306
299
359
358
335
399
299
321
302
344
320
383
258
341
346
370
258
272
310
350
324
346
212
307
306
342
358
303
288
257
195
311
365
292
283
365
272
330
295
385
241
255
292
361
363
289
324
361
290
370
333
286
319
291
344
322
277
332
304
291
287
262
336
267
397
337
308
361
293
373
319
247
296
424
355
356
345
280
366
324
330
343
286
328
290
324
315
362
272
325
294
331
245
294
316
256
343
242
307
385
323
260
314
260
273
321
329
240
264
339
254
356
346
235
456
356
339
323
344
303
438
302
373
345
259
321
399
394
323
208
367
346
353
242
320
388
301
275
353
278
332
345
350
209
335
385
232
335
349
275
287
317
289
309
384
304
222
294
274
316
297
203
281
314
412
247
391
293
359
346
300
319
226
303
256
228
351
321
237
311
398
286
341
337
369
332
317
310
346
289
345
315
291
313
348
304
302
303
348
284
273
301
286
267
316
371
381
386
276
286
337
291
327
330
318
289
367
366
321
367
337
342
337
312
395
257
308
354
376
361
317
267
345
253
348
373
251
350
337
326
331
399
390
363
293
351
349
313
305
342
295
343
338
292
263
321
352
291
357
358
411
284
366
286
299
418
354
320
356
319
291
389
286
384
269
331
374
335
370
199
363
358
367
343
349
326
305
340
291
340
267
228
380
368
367
353
262
372
357
268
253
315
248
375
311
411
293
324
277
319
324
299
288
386
323
320
346
336
289
354
351
307
339
300
336
299
336
337
347
379
233
312
307
281
315
306
325
272
330
294
313
240
289
362
314
330
313
311
283
320
261
359
297
341
246
312
249
343
303
330
348
354
328
274
289
326
377
415
417
376
273
248
337
301
331
279
334
255
267
403
262
227
341
308
301
327
347
343
294
338
323
419
331
254
288
239
341
254
287
317
352
272
368
402
361
309
362
257
322
378
355
348
261
276
308
314
298
281
265
281
320
299
378
317
295
319
269
235
297
249
285
315
294
271
308
250
365
217
383
341
335
251
348
306
332
295
343
387
292
299
273
236
288
327
350
322
322
249
317
310
324
288
328
339
240
345
271
348
331
305
290
394
278
378
399
418
354
231
323
296
294
330
375
319
360
374
369
336
329
255
298
307
328
356
368
368
281
314
294
347
334
350
316
285
345
293
269
287
283
374
270
309
259
339
275
379
321
303
369
313
340
289
402
247
364
276
341
376
349
304
365
407
338
362
289
340
321
387
376
430
341
375
292
371
344
246
314
166
311
348
281
307
354
344
298
348
257
310
324
351
388
334
385
275
392
255
224
276
340
309
344
345
385
335
266
279
405
231
307
257
309
324
253
297
372
296
333
297
283
343
362
398
267
363
251
354
275
394
340
368
296
304
356
293
297
276
366
301
345
350
262
351
310
285
271
362
346
323
307
336
420
352
333
340
347
319
225
285
224
355
275
212
330
289
325
268
346
329
267
378
285
275
346
328
306
261
275
357
366
354
299
329
278
316
391
256
318
407
316
311
346
382
336
356
308
322
297
312
383
378
365
244
284
278
316
374
383
378
278
323
354
349
374
316
321
276
384
333
344
392
325
383
354
321
362
310
280
332
255
338
304
341
333
255
249
362
331
243
315
298
259
211
322
288
289
364
349
292
332
338
229
380
359
289
245
349
391
242
308
290
317
248
303
368
298
363
312
303
256
248
335
314
203
270
357
345
312
278
254
285
276
277
385
325
337
262
326
338
357
321
321
299
310
258
293
317
300
403
333
325
327
218
320
266
370
299
308
270
325
310
279
277
288
366
418
349
284
323
306
286
273
331
327
331
284
296
396
315
278
286
356
282
283
251
325
307
407
299
346
333
407
373
346
408
290
364
267
364
364
210
287
259
231
311
289
265
305
276
329
278
263
260
327
368
299
353
375
306
240
271
335
327
349
268
265
334
283
387
308
354
310
341
312
271
249
248
252
313
240
328
336
338
363
347
411
324
341
358
320
357
326
271
374
376
329
264
362
338
291
306
334
330
320
238
364
284
298
382
381
270
367
261
252
364
337
313
291
295
328
356
315
368
320
365
360
278
284
386
391
351
350
300
244
316
275
351
347
208
310
386
330
269
272
205
310
392
383
311
229
343
331
273
241
331
325
306
282
294
320
357
351
310
316
326
283
276
269
241
298
344
320
281
312
412
332
333
296
322
249
237
340
299
317
294
316
392
369
296
314
276
310
314
325
300
332
302
366
354
334
296
316
196
345
288
361
288
306
303
277
285
375
267
343
347
327
412
251
324
307
359
326
323
385
222
341
237
327
316
309
354
362
348
340
301
244
339
340
288
401
368
265
382
334
320
289
337
334
208
276
245
301
277
307
344
360
266
354
360
350
393
373
321
300
253
280
297
259
288
294
330
290
333
285
279
280
297
235
284
354
333
257
370
346
371
379
346
348
347
223
277
284
308
357
224
316
331
294
390
328
368
277
296
305
259
403
347
239
351
284
409
323
372
320
205
269
306
367
272
307
332
270
301
350
418
300
357
335
249
286
291
310
294
364
347
310
347
319
338
242
323
310
293
307
288
281
304
192
286
351
238
299
304
362
293
382
303
252
252
312
318
367
394
366
306
260
337
298
280
266
356
382
408
329
334
320
306
348
330
309
385
374
334
306
291
340
331
369
217
383
304
297
346
355
231
276
429
342
283
296
286
289
239
327
329
389
354
258
345
314
326
325
270
370
296
322
379
216
333
310
344
289
309
306
216
262
327
251
277
290
344
308
253
349
317
241
318
245
318
333
335
318
295
267
282
250
450
292
326
387
393
390
258
346
285
304
317
271
283
254
282
242
320
317
313
368
298
301
365
330
328
307
308
321
314
339
350
359
268
305
381
291
369
309
309
323
327
339
303
274
321
317
370
298
381
328
305
321
290
339
334
304
295
331
274
343
364
380
264
258
350
273
278
349
264
235
308
246
333
351
238
352
283
351
299
246
315
288
367
241
338
345
289
273
301
358
377
347
354
232
361
349
352
304
269
300
355
306
329
279
356
408
237
321
264
354
314
318
326
328
362
331
287
281
261
384
370
375
282
362
302
320
420
277
287
277
315
296
353
340
294
295
276
286
264
347
435
362
265
375
371
351
365
259
324
214
368
308
299
294
313
318
277
353
353
354
320
347
343
332
342
388
292
289
325
346
234
259
262
247
310
309
266
286
331
292
350
314
297
379
295
327
294
332
262
359
370
302
308
228
194
343
268
405
269
230
333
279
338
345
321
340
275
318
243
242
288
308
299
274
284
353
292
305
274
334
291
328
316
296
310
306
418
311
278
337
320
285
238
321
307
339
362
338
299
433
358
373
332
372
340
297
381
253
327
387
263
252
214
323
388
311
235
366
313
312
314
298
280
347
326
360
399
367
317
305
229
310
282
298
369
399
392
319
286
359
308
259
373
356
304
333
258
338
321
319
320
350
252
330
272
333
314
340
335
348
446
374
260
355
401
360
350
317
262
250
293
266
357
279
352
370
300
306
389
323
258
252
311
330
328
288
247
286
409
305
274
282
373
354
386
304
385
374
291
355
432
310
301
309
259
378
366
274
279
266
295
271
369
296
312
335
219
339
327
238
383
279
317
287
354
290
330
331
270
327
295
336
306
269
296
299
301
304
242
339
369
267
276
285
279
396
309
337
367
242
259
215
378
295
325
337
312
341
350
302
354
290
298
341
235
313
323
361
299
235
354
273
293
228
273
307
369
251
301
306
314
252
266
350
352
328
335
361
313
345
368
339
302
271
321
390
347
295
273
322
319
358
306
311
303
313
301
407
340
371
263
352
351
347
285
307
347
318
338
320
305
313
320
383
368
252
337
384
358
330
302
269
313
219
330
297
456
315
356
315
292
358
194
338
328
382
273
290
260
376
342
235
331
285
345
310
296
320
333
339
328
346
337
298
280
258
382
401
369
344
394
339
321
266
252
301
290
311
351
288
418
230
234
370
302
328
265
343
284
334
348
343
313
293
302
336
358
301
266
224
344
350
369
366
373
313
363
331
320
297
319
316
374
339
324
328
403
296
296
276
333
329
331
369
271
261
244
390
312
331
346
216
287
322
355
296
350
256
276
297
303
301
229
275
364
348
299
338
271
303
278
291
294
270
321
367
324
265
273
181
315
384
210
295
273
294
322
288
285
357
247
349
357
312
357
283
330
244
280
324
331
370
265
285
228
282
284
256
321
376
410
300
326
337
412
330
251
366
304
344
300
334
313
282
316
335
384
393
349
358
313
368
290
333
356
265
230
370
312
357
287
341
211
342
332
276
292
274
315
393
419
375
322
278
300
339
269
308
293
343
316
340
315
321
345
258
297
369
390
369
247
343
233
208
280
333
319
320
371
313
322
368
325
310
378
335
289
293
335
330
249
330
212
335
243
291
336
351
347
351
337
331
303
324
340
265
336
251
318
262
356
295
314
366
345
320
232
385
326
306
290
269
318
285
247
347
279
320
318
301
295
333
398
331
378
273
370
309
377
400
319
335
252
293
236
357
328
326
261
322
336
292
323
322
329
319
331
308
350
233
200
286
289
389
371
312
296
286
310
278
315
357
323
315
327
288
344
406
311
296
352
281
259
310
303
288
311
345
353
411
406
247
281
377
380
280
358
420
325
305
304
323
240
308
359
359
314
332
355
282
220
237
257
340
319
329
272
297
300
343
377
296
355
276
305
358
341
355
323
375
343
339
306
359
332
277
199
297
311
340
307
336
303
259
304
280
314
229
284
328
317
380
350
321
362
219
336
346
410
353
283
390
379
327
346
377
342
331
264
326
309
332
320
359
354
299
302
311
383
285
327
335
284
339
293
400
401
317
374
225
345
403
326
347
283
398
298
350
297
344
279
308
221
310
309
344
328
273
308
323
339
358
269
319
304
292
373
360
304
360
477
270
340
393
429
355
312
321
262
278
278
321
289
341
343
342
273
325
359
322
326
340
329
344
346
291
284
332
274
270
322
365
343
307
364
305
333
277
330
359
283
389
362
300
321
332
276
436
336
289
326
324
337
370
345
294
312
318
255
273
259
339
360
330
352
263
364
283
314
336
262
391
380
307
332
332
361
294
324
296
354
370
337
203
359
370
288
310
405
305
287
307
317
356
278
287
356
315
316
314
313
247
274
289
445
267
280
357
329
350
292
333
333
306
368
267
276
205
289
273
314
315
344
356
352
269
251
340
241
362
271
349
379
242
333
359
317
334
361
228
378
312
312
368
396
291
336
335
339
372
286
266
419
393
328
320
352
334
275
291
306
287
245
337
268
364
375
305
331
409
228
331
323
337
267
334
351
288
272
330
295
284
307
303
321
298
407
344
270
327
322
266
379
338
279
276
325
383
306
395
310
372
253
306
348
342
321
401
344
370
328
330
238
260
313
254
308
361
316
305
270
312
359
334
376
373
271
324
336
296
376
308
324
342
412
308
343
271
321
272
358
291
267
265
398
363
297
366
321
298
297
305
351
285
355
305
286
344
369
330
315
302
285
378
320
272
287
343
347
333
270
356
383
330
350
287
348
385
302
340
279
322
321
372
307
359
305
252
256
275
284
373
284
345
282
317
350
339
231
329
306
316
326
317
287
302
288
223
272
318
223
248
333
304
306
416
369
326
337
304
325
284
271
312
308
352
318
362
363
301
332
363
303
305
332
378
220
357
353
345
337
166
335
302
359
343
391
354
352
332
256
347
329
371
337
230
322
301
357
343
315
340
345
371
359
245
370
298
298
297
324
358
350
353
342
325
352
325
389
352
296
303
369
296
280
284
324
289
351
338
328
367
315
365
275
262
230
352
312
261
391
281
343
315
328
356
306
364
341
359
238
304
334
271
393
269
271
344
245
298
305
324
335
296
314
329
314
267
322
266
308
265
318
334
422
276
231
310
351
316
314
321
240
340
326
345
371
342
255
309
337
278
282
359
335
295
404
364
252
318
297
335
371
359
365
242
278
328
261
258
343
276
243
275
249
319
401
275
347
297
285
421
321
353
329
287
314
267
292
311
325
319
316
285
346
349
250
317
312
269
354
295
333
274
356
328
357
301
312
272
305
342
321
298
271
307
288
327
226
336
297
337
330
242
341
289
332
322
331
291
360
279
332
292
293
383
273
277
364
351
299
246
342
327
284
321
329
286
283
252
326
259
249
326
362
370
309
351
279
292
254
310
345
293
348
272
361
275
373
346
290
315
339
308
294
283
285
246
323
288
361
276
343
299
409
279
319
317
335
364
317
292
398
331
354
326
353
267
382
389
273
272
338
291
311
263
225
251
258
291
320
316
363
340
341
315
251
280
355
284
244
358
295
329
266
345
391
349
303
258
272
307
338
384
257
292
371
309
321
290
258
290
350
277
206
264
288
318
275
230
360
217
350
258
253
317
370
388
302
302
290
267
323
368
305
291
404
367
331
299
228
335
314
246
326
349
372
235
263
312
331
307
267
327
313
345
318
284
307
347
342
330
392
332
332
373
374
329
370
319
388
269
341
348
354
283
297
359
334
400
294
270
310
261
292
315
332
369
357
383
360
319
312
257
290
374
291
225
299
227
319
283
357
277
354
340
317
316
333
349
308
311
357
361
322
354
332
350
217
307
269
234
359
340
285
365
296
331
314
386
419
255
293
369
304
325
408
408
271
346
421
333
317
360
293
297
368
373
250
333
279
275
316
361
326
393
317
283
278
346
343
290
286
275
250
386
334
261
414
333
327
392
363
365
293
340
329
322
334
345
345
325
321
333
236
301
229
311
307
360
317
277
271
308
315
285
352
306
339
290
334
295
326
340
306
318
313
344
290
377
335
329
331
367
308
381
377
262
365
234
457
248
277
377
356
270
332
336
246
245
234
365
363
358
199
298
211
298
295
394
334
313
299
361
354
348
323
289
229
325
345
360
319
324
295
334
260
377
266
325
278
276
400
300
279
356
406
321
224
367
384
297
393
312
406
333
347
382
280
230
321
290
272
244
373
432
328
194
326
294
220
235
328
310
330
301
320
323
373
376
381
370
325
267
351
324
267
253
267
311
250
325
288
373
300
267
283
382
343
262
373
237
334
314
299
272
298
359
284
356
268
224
310
304
317
317
319
304
380
310
359
389
303
360
414
329
224
336
376
326
348
319
323
375
302
336
205
320
287
287
310
301
283
281
267
383
231
340
292
321
232
288
303
329
361
336
375
326
317
302
270
303
330
316
313
329
256
342
391
353
220
302
352
292
296
425
314
328
298
312
330
305
319
359
301
366
284
305
417
327
290
284
328
319
363
422
274
253
281
292
294
359
264
341
208
309
225
314
260
364
319
325
240
367
306
273
333
407
383
255
240
371
373
280
315
355
305
381
295
307
377
321
389
388
358
306
270
280
269
349
365
359
334
352
279
318
333
327
351
312
306
279
353
364
369
377
259
312
376
330
294
311
192
286
327
266
286
252
386
387
194
370
343
370
383
294
338
254
357
286
327
345
292
338
347
399
365
328
348
293
351
280
284
307
330
322
278
250
251
342
413
296
321
327
286
305
344
396
335
234
267
359
362
329
395
302
339
448
310
269
343
276
250
335
329
354
349
315
239
313
317
310
369
340
300
270
331
348
339
319
330
279
372
283
307
324
321
338
296
307
216
322
304
394
341
296
316
305
317
282
386
320
339
325
330
313
269
285
297
411
374
373
291
365
360
308
398
312
226
332
336
308
265
242
352
296
248
319
260
242
309
282
271
313
311
297
267
290
272
318
416
295
378
327
356
319
403
180
279
292
303
237
384
322
390
322
332
323
379
343
351
325
378
403
340
355
323
276
296
364
324
319
319
309
287
368
296
344
285
344
270
295
298
317
381
308
283
279
336
301
295
301
365
268
271
257
325
362
342
328
309
334
310
420
223
407
424
326
301
296
439
294
297
357
335
276
328
342
327
280
305
291
409
337
274
352
373
238
334
263
338
280
236
387
331
344
325
336
366
356
257
350
341
333
354
292
306
276
362
258
298
238
211
392
284
301
368
279
230
334
333
343
320
285
264
335
306
313
300
305
367
354
303
317
363
190
329
304
278
385
394
347
340
368
272
325
384
359
349
246
385
323
253
324
324
183
324
368
332
336
312
311
324
379
308
351
315
308
341
287
278
276
359
330
245
279
381
298
294
315
332
378
262
389
321
324
334
376
370
274
330
229
335
282
283
322
320
303
338
226
281
273
371
284
370
284
305
338
348
333
348
326
292
304
288
368
342
283
284
269
336
250
298
325
314
303
284
313
295
335
306
303
389
292
290
427
338
409
287
434
341
252
325
321
357
248
276
305
269
336
263
304
322
367
340
385
310
362
422
307
367
294
341
310
338
312
277
292
328
243
414
317
313
337
335
312
409
388
286
283
256
334
355
396
337
287
318
338
314
286
284
353
392
353
307
307
328
400
315
311
252
386
379
337
315
337
268
306
272
213
178
335
347
261
293
401
258
286
351
288
406
313
348
348
275
310
305
348
342
350
369
379
365
334
325
317
313
322
342
247
284
337
310
341
340
414
372
398
304
303
247
276
259
287
280
300
329
386
341
318
260
366
338
227
306
319
365
316
330
363
297
289
344
332
274
394
353
385
319
395
330
292
309
258
299
371
323
288
277
285
370
336
323
303
341
264
315
357
399
387
294
273
259
336
317
246
338
377
406
302
302
247
351
314
301
364
345
293
279
349
301
310
323
297
355
338
291
378
319
354
342
296
302
305
308
338
339
311
349
361
283
336
332
354
327
386
291
311
308
254
300
298
354
294
351
217
328
283
328
243
380
302
355
364
331
290
303
212
388
373
363
320
280
251
292
256
271
333
285
309
281
327
291
261
305
323
357
305
315
310
323
258
339
317
292
358
299
337
348
338
371
305
394
190
252
353
358
247
386
313
389
351
365
328
231
318
381
302
419
283
334
218
286
305
361
301
338
347
402
347
339
362
385
397
268
394
293
332
366
381
331
310
248
291
326
300
373
312
372
319
275
332
299
300
392
353
329
347
242
328
289
293
303
309
360
284
257
311
282
334
341
172
274
310
307
403
328
375
257
296
289
295
299
308
373
286
338
312
353
332
384
337
314
344
329
314
328
274
344
344
222
293
306
377
308
277
361
267
349
254
298
254
292
260
336
265
358
410
303
346
389
348
310
368
313
326
376
294
285
330
299
294
338
253
310
324
269
379
326
303
306
345
236
312
299
277
278
299
320
403
402
315
299
275
332
348
315
420
378
325
319
341
323
321
377
380
318
316
330
323
315
324
337
355
352
233
273
408
321
329
280
302
298
295
328
364
308
268
262
260
359
361
352
344
369
303
344
415
377
263
297
278
300
290
346
325
308
251
317
289
285
324
361
360
248
291
321
375
254
254
303
316
275
412
306
328
301
360
333
331
343
242
307
356
352
352
313
271
272
288
333
277
286
327
287
369
362
362
372
319
279
412
356
372
393
317
342
331
343
359
283
285
314
256
269
295
364
284
242
375
279
362
288
378
263
363
290
248
292
336
272
259
310
348
337
348
246
253
397
337
287
444
317
311
358
306
279
281
348
343
303
311
282
330
364
342
308
292
352
334
360
350
242
304
303
324
369
335
252
335
322
316
322
260
322
281
332
281
340
285
301
319
407
215
340
269
369
259
274
273
342
300
363
372
358
347
282
297
289
273
316
325
339
315
320
271
333
227
209
252
225
282
270
294
376
284
277
238
319
273
259
340
364
330
345
267
280
313
367
282
386
352
344
308
247
343
240
196
276
206
373
286
344
315
329
287
289
319
318
315
336
278
301
336
450
341
375
377
338
332
369
363
352
285
288
375
334
254
327
279
310
357
314
278
323
218
322
349
259
301
372
275
312
345
306
263
277
392
305
342
304
309
322
334
335
256
363
244
391
375
202
255
321
292
274
283
249
267
214
347
388
300
342
218
284
289
306
359
282
323
395
311
378
356
341
318
260
284
301
387
322
280
429
371
318
341
433
262
241
290
277
321
282
300
301
213
267
298
364
395
249
284
282
338
304
316
330
308
311
297
332
293
340
265
313
295
385
337
394
337
313
242
304
326
381
282
221
266
341
263
360
273
308
302
300
224
375
326
291
315
354
322
342
355
326
341
333
270
294
332
310
371
332
271
284
300
324
305
234
264
310
365
282
351
264
232
348
311
349
365
277
313
286
271
266
307
333
300
348
297
367
330
311
310
416
348
327
312
342
334
229
334
281
395
318
318
272
359
266
327
412
300
349
303
294
275
314
370
246
306
414
335
350
346
326
259
349
312
305
325
286
305
317
347
377
274
362
254
339
342
313
329
295
338
326
346
350
324
393
319
307
376
301
291
299
320
298
335
346
314
306
289
299
256
375
330
256
263
342
351
355
274
300
361
336
343
273
250
284
361
318
414
310
298
349
296
265
327
361
391
345
296
393
327
281
343
289
395
312
334
320
353
260
348
320
271
358
273
393
315
265
268
364
247
253
363
392
304
409
452
332
317
352
275
230
262
333
300
285
398
315
352
315
284
246
290
207
337
378
301
353
287
267
281
258
353
372
316
290
232
328
285
346
365
380
324
321
265
239
356
259
345
363
304
309
247
290
304
317
319
328
231
383
422
301
365
289
371
337
321
317
415
310
312
383
406
344
297
250
348
231
368
342
271
281
340
278
391
314
355
265
330
390
325
370
285
342
375
274
298
352
332
263
290
362
275
334
246
294
295
295
330
327
370
364
412
258
249
323
364
329
338
351
332
309
343
365
268
264
382
249
285
322
349
284
334
315
352
237
312
317
297
326
317
349
302
340
347
263
325
363
295
313
272
290
383
260
311
331
349
341
320
268
249
350
263
267
358
362
358
288
359
365
279
234
333
392
269
396
281
330
287
236
340
267
311
351
398
368
230
325
365
316
264
319
306
276
320
399
309
337
361
326
298
314
385
321
312
334
254
331
356
303
366
251
307
329
326
286
385
287
306
297
263
275
424
370
315
340
323
356
369
309
253
345
374
223
250
380
308
275
282
362
251
340
259
253
353
304
336
257
304
325
317
314
365
357
282
322
290
321
295
297
338
260
357
324
281
292
336
339
184
358
262
368
324
338
294
303
258
355
223
298
332
342
304
354
383
299
322
297
292
293
296
319
398
336
354
311
299
308
306
306
369
308
332
359
330
332
371
347
292
237
310
331
298
313
311
298
259
336
339
272
299
322
294
392
277
239
308
300
375
368
313
262
365
298
316
357
398
301
293
364
336
353
323
298
376
388
378
288
258
281
260
312
300
380
297
343
326
295
275
299
408
353
368
361
354
303
255
260
374
338
297
277
320
337
372
238
345
386
377
281
268
322
274
274
348
337
316
308
363
424
291
369
340
396
263
339
229
312
247
330
281
321
295
437
369
349
275
238
410
349
239
359
281
366
335
279
392
317
284
312
352
346
312
331
345
300
341
249
302
250
290
256
348
322
251
365
249
332
225
299
344
362
300
325
313
332
311
393
281
313
312
340
338
299
305
369
376
322
361
317
367
265
287
315
281
341
324
321
367
292
405
326
361
350
281
263
219
263
276
362
316
312
434
353
313
257
363
309
293
325
286
301
264
265
348
313
313
328
321
315
272
347
294
305
348
339
362
292
284
356
370
369
309
305
300
373
309
333
302
361
306
338
290
318
314
287
299
287
330
361
321
382
345
349
384
290
269
334
295
271
275
267
350
259
374
341
358
389
284
223
434
290
251
341
294
313
429
284
338
294
372
386
299
318
298
236
313
379
364
391
319
278
330
333
401
391
312
342
290
310
326
377
364
371
399
297
257
239
257
403
221
341
285
277
347
340
266
283
341
317
298
380
352
335
381
315
357
352
325
293
304
332
314
332
310
337
364
260
356
347
300
330
279
300
276
236
367
346
327
317
325
389
290
328
349
327
323
353
331
284
341
336
327
351
393
348
295
318
254
295
376
374
312
361
339
259
374
307
336
247
330
349
297
308
324
357
313
340
249
264
286
210
266
362
318
302
260
363
278
343
278
288
291
373
320
316
313
269
393
325
347
364
383
252
325
355
315
319
341
236
308
319
282
302
274
283
359
312
291
326
247
265
361
314
254
341
387
309
311
434
248
366
331
363
313
286
289
327
288
351
331
357
350
338
320
240
292
327
394
315
263
340
234
269
320
317
338
267
309
335
401
295
286
369
311
286
246
274
344
367
343
293
335
328
381
266
322
313
383
319
288
270
263
297
334
255
348
341
332
294
346
297
333
311
305
307
350
308
338
363
305
365
365
281
360
325
270
309
313
213
288
269
333
347
353
366
238
192
336
275
261
376
319
332
311
284
287
370
262
322
280
342
343
218
305
325
316
290
306
306
265
349
342
294
335
373
333
305
373
329
345
358
342
365
334
208
371
285
353
296
297
249
227
288
384
342
270
380
228
285
381
318
320
361
247
370
270
299
274
272
341
257
269
384
390
383
314
330
399
234
352
330
300
337
303
265
389
256
350
294
299
345
315
337
291
325
326
282
406
258
338
272
353
333
318
258
308
371
417
363
281
279
221
293
328
286
260
314
326
227
380
314
259
319
360
326
336
327
267
278
311
383
323
252
350
357
272
242
353
296
304
333
307
291
330
300
336
325
336
319
328
366
408
341
326
301
303
362
253
375
292
259
306
249
250
270
305
250
352
255
304
313
365
304
244
217
283
355
311
306
311
379
298
284
261
303
356
255
291
276
371
343
328
279
344
294
345
295
332
316
340
323
273
348
244
395
287
354
328
282
280
381
264
321
301
311
310
341
258
277
351
296
262
392
319
342
352
217
277
302
301
346
306
340
276
327
310
327
302
386
312
333
398
303
340
272
315
296
303
347
372
282
271
379
364
401
363
309
273
339
351
272
341
256
277
287
346
315
378
263
288
378
351
245
390
421
304
348
310
296
356
290
251
201
286
306
348
250
287
311
255
359
269
260
288
201
296
291
351
272
296
349
332
296
284
286
243
353
339
400
367
245
280
290
318
338
254
254
291
284
318
299
362
344
315
347
366
327
373
229
270
337
349
270
345
423
322
328
332
361
303
279
314
339
323
280
354
366
309
249
351
250
294
397
354
255
384
356
298
359
383
366
264
321
339
323
320
282
259
258
284
316
375
321
226
290
409
319
386
313
344
366
250
280
343
301
305
271
287
355
288
305
296
200
342
299
208
247
357
313
230
298
315
310
300
259
311
128
326
314
358
198
268
290
356
201
334
335
300
359
305
282
269
366
329
351
268
231
285
304
326
328
298
329
301
349
235
308
302
243
284
407
288
306
295
300
311
258
394
254
274
343
342
375
324
235
272
338
343
288
347
302
345
333
337
356
371
380
319
253
321
296
384
390
236
394
326
260
305
284
337
274
393
350
300
318
249
330
289
302
295
284
371
361
307
328
310
296
310
254
276
326
282
230
375
306
296
313
304
366
255
308
280
296
312
294
305
361
337
362
286
344
299
292
296
308
325
323
312
303
269
249
247
354
319
326
219
306
315
341
316
315
350
281
290
276
237
326
210
350
372
349
288
312
380
321
321
334
271
372
310
278
259
266
320
324
278
307
285
360
370
388
375
346
277
332
357
318
264
277
362
286
303
345
330
306
273
327
333
342
389
296
308
321
323
332
242
273
300
237
252
351
354
289
356
374
254
235
311
244
298
325
363
293
315
365
291
219
296
308
226
342
255
276
331
309
263
339
292
220
303
287
344
338
212
360
239
363
337
289
280
312
410
376
296
356
334
338
311
371
260
294
330
351
374
267
358
358
354
262
391
352
281
370
345
367
289
264
326
351
315
262
285
255
357
337
428
298
278
369
267
335
294
320
405
404
356
324
309
387
395
351
302
213
341
305
341
316
370
277
283
352
320
316
334
256
309
292
269
328
313
318
416
297
306
328
355
379
307
304
227
351
301
247
219
283
332
276
329
310
260
288
338
313
320
266
274
329
380
361
290
343
383
346
256
347
340
351
266
316
409
290
309
347
289
343
221
225
347
357
294
317
261
334
334
288
346
367
306
304
292
341
332
285
329
341
334
367
338
295
348
261
309
246
341
280
326
286
314
359
291
279
243
332
317
339
368
298
302
310
193
274
342
344
348
314
357
342
309
321
356
315
292
268
278
381
349
302
282
307
222
332
325
367
345
392
337
326
340
373
320
296
221
258
269
351
377
285
238
382
216
373
318
324
205
287
330
390
320
251
347
357
336
320
227
373
322
236
377
339
248
264
413
327
323
288
348
367
342
335
306
235
331
362
366
363
204
340
351
323
327
298
352
249
306
386
370
292
322
270
280
320
327
316
350
314
275
280
363
274
364
324
261
284
299
232
308
342
290
340
245
388
344
367
200
311
254
324
412
300
379
369
309
294
286
302
305
281
351
271
359
296
312
373
364
241
275
361
315
324
233
327
230
320
305
301
317
349
248
333
354
368
346
309
319
342
349
275
371
298
370
267
300
342
328
349
259
316
313
260
354
316
242
222
269
292
297
299
303
352
334
284
365
254
308
363
346
285
387
382
330
293
282
369
396
328
383
340
238
270
283
317
317
319
291
366
305
317
324
381
339
320
258
314
292
380
313
318
254
357
308
331
305
384
270
339
320
306
331
308
289
265
305
298
303
349
443
371
279
294
333
393
294
305
250
337
246
370
286
270
287
353
290
364
331
318
256
293
349
359
231
334
369
294
294
280
232
351
344
331
308
351
249
281
392
272
353
331
310
334
316
339
333
261
287
293
386
249
267
262
367
300
315
365
335
360
309
320
306
327
204
327
303
326
319
308
338
362
305
375
324
313
348
309
296
296
355
281
331
287
321
346
222
322
321
248
329
285
358
267
374
393
350
306
352
242
281
303
372
305
343
314
318
367
304
300
288
306
281
282
290
283
358
297
295
376
344
346
264
335
339
327
328
329
299
327
323
309
310
279
450
274
343
274
341
329
356
323
279
292
360
237
356
259
291
302
376
213
388
276
250
376
236
319
315
289
226
239
363
305
259
371
294
326
255
282
253
322
276
314
297
300
311
402
302
305
337
364
373
337
391
343
252
343
289
291
338
287
276
300
244
341
302
336
217
386
287
407
331
316
300
282
258
387
263
294
328
308
345
358
256
278
398
325
235
378
344
297
335
237
454
323
410
295
330
313
323
323
287
260
338
326
313
264
274
288
365
278
296
295
365
330
313
351
380
288
275
314
321
336
312
338
257
376
258
288
410
370
324
348
288
304
308
401
355
277
334
316
336
374
322
245
377
331
290
334
373
270
343
338
345
384
285
289
326
280
291
341
368
298
281
397
261
223
330
259
295
314
309
288
378
317
373
301
316
337
245
374
317
297
268
345
314
339
238
388
280
273
295
326
335
308
305
300
334
322
314
355
272
322
308
328
327
262
318
418
364
280
296
340
354
358
349
266
324
238
324
361
344
281
362
291
258
308
342
377
226
382
264
345
214
396
318
291
259
290
357
226
281
329
329
333
335
294
339
328
285
361
325
374
329
276
334
325
346
280
229
324
310
360
265
407
256
334
350
354
276
396
261
328
355
319
340
263
349
300
342
366
300
287
288
284
319
290
347
226
316
349
440
281
322
320
347
356
394
317
378
379
331
261
288
286
400
339
264
256
318
340
312
351
238
331
229
427
297
279
334
312
316
288
237
346
356
304
344
343
299
339
276
368
306
326
342
267
335
379
263
315
338
312
394
334
283
320
266
327
290
333
344
294
346
280
334
368
386
307
361
368
258
261
298
327
309
279
318
324
363
336
298
248
399
312
398
339
352
355
349
318
280
288
192
311
287
320
269
318
240
419
270
261
348
336
372
361
282
192
359
258
312
296
333
323
308
309
350
316
301
323
372
319
323
256
196
267
335
319
289
326
301
375
282
355
273
336
357
346
284
406
231
289
337
316
402
297
331
391
346
336
395
260
233
368
261
314
328
276
310
301
324
241
304
335
315
265
310
318
318
346
392
369
340
331
434
333
270
312
249
332
288
386
329
329
354
377
381
278
319
286
287
229
286
251
267
336
338
323
377
284
204
363
242
318
351
380
325
289
339
312
302
236
384
357
364
370
347
308
285
299
303
276
407
374
263
263
346
292
262
271
372
328
294
248
288
338
321
283
346
331
347
295
364
322
278
265
313
323
348
282
258
347
295
312
308
287
354
256
288
371
300
209
355
342
284
382
407
271
359
269
321
254
416
332
280
289
284
256
358
296
255
322
247
316
333
328
344
382
304
319
302
387
328
290
315
291
314
361
420
254
352
330
368
347
256
335
239
332
265
382
269
362
355
278
243
252
345
345
318
252
387
380
228
306
343
356
319
276
368
334
379
316
344
291
367
342
316
288
343
323
307
346
282
282
385
378
333
307
277
371
301
332
333
366
346
328
317
326
392
306
305
339
329
274
319
210
262
317
189
279
368
305
352
222
241
341
335
296
352
352
269
272
331
286
258
396
340
369
231
245
266
289
225
273
319
283
239
351
365
296
298
335
292
335
298
335
298
299
283
335
345
304
342
309
400
310
265
380
354
315
280
344
356
315
330
432
370
359
307
351
284
324
194
242
361
317
287
237
317
333
373
385
306
328
367
338
313
281
207
258
297
243
319
341
322
326
321
287
368
293
339
316
380
340
322
320
379
361
308
332
315
373
253
380
361
318
288
251
342
316
352
213
288
397
308
406
316
258
343
293
302
338
343
367
315
356
336
278
246
337
301
261
299
291
349
366
339
220
269
228
332
278
317
347
334
378
386
292
322
358
293
351
339
263
386
331
328
361
403
336
324
296
316
296
244
383
279
322
316
364
308
250
284
330
332
289
338
279
286
307
356
375
332
328
317
260
283
227
214
348
330
352
385
340
334
353
232
308
299
268
345
382
287
324
381
272
327
247
284
326
362
360
328
366
289
275
209
311
333
305
311
345
333
319
262
197
258
310
303
269
385
279
300
259
362
297
325
344
341
301
257
317
315
261
284
261
384
340
305
355
360
335
288
312
309
248
319
265
283
270
323
284
337
338
260
321
347
334
341
392
322
247
304
321
367
308
311
305
287
297
317
301
330
320
350
227
267
361
318
336
284
362
259
306
333
272
321
242
349
251
303
318
254
241
267
307
362
330
300
227
352
311
321
258
345
381
286
284
322
326
365
371
328
323
380
372
315
347
313
364
302
369
255
374
305
266
393
296
333
337
321
336
358
323
328
348
292
304
316
394
302
282
377
350
280
373
260
266
314
252
399
149
272
318
292
256
295
456
305
399
293
297
315
311
297
332
333
388
226
384
341
305
296
236
297
373
291
357
291
294
341
300
322
304
263
318
224
372
413
262
262
267
380
324
369
322
327
254
362
306
237
346
299
400
184
341
256
304
328
319
327
270
310
312
462
407
395
328
295
285
285
313
369
305
290
398
283
286
356
310
283
314
256
315
307
331
276
319
340
280
300
393
327
376
294
369
318
241
354
315
352
265
266
303
351
373
335
234
310
364
288
355
359
273
222
391
249
319
238
308
321
307
280
316
309
258
377
302
316
321
331
299
354
262
319
254
300
311
330
274
332
333
334
329
278
328
390
347
362
243
271
314
381
317
325
265
347
307
325
297
355
415
334
303
354
336
306
335
351
237
292
314
309
275
288
217
348
339
276
325
353
274
315
287
267
311
386
307
415
279
333
333
348
282
320
303
201
337
347
361
345
339
352
348
369
339
327
323
387
366
307
334
341
250
302
353
240
328
335
300
321
321
320
316
327
219
252
321
379
334
349
277
247
298
282
397
235
386
396
356
264
264
347
332
348
347
363
246
295
340
403
426
313
343
352
328
282
301
296
341
278
291
266
304
384
291
304
277
296
250
357
428
335
264
275
313
370
322
308
311
291
262
288
346
346
351
365
294
291
226
305
340
371
349
355
241
339
341
298
316
357
291
337
373
274
360
330
280
295
338
322
294
359
232
330
366
335
352
287
258
250
335
247
255
383
387
314
219
373
429
255
373
253
325
273
264
224
355
335
345
301
253
333
233
355
300
283
348
378
328
391
389
352
310
263
330
372
267
279
331
336
331
330
285
238
340
274
261
314
359
313
309
339
367
302
289
300
366
236
282
324
256
331
273
354
434
280
336
336
306
289
326
340
319
267
320
274
317
293
286
261
359
308
248
359
340
348
276
264
259
385
314
299
295
362
254
400
340
354
260
248
385
354
311
345
219
191
306
247
298
281
257
340
350
319
327
310
339
322
344
242
281
380
304
405
287
289
318
300
278
259
336
315
346
299
205
226
345
316
335
301
352
289
245
289
310
329
312
316
330
338
253
256
360
308
323
263
397
353
286
327
264
355
269
308
269
365
328
337
341
312
287
365
284
338
286
374
227
326
379
311
300
378
324
242
318
315
306
264
277
310
312
267
328
309
316
363
217
287
329
326
184
240
324
349
358
347
259
312
299
283
233
230
298
332
398
344
332
307
325
312
306
310
320
328
339
283
356
395
356
339
300
397
284
261
400
324
303
379
316
365
293
297
299
282
342
301
246
306
289
313
337
449
354
268
371
313
358
303
353
358
296
261
368
248
357
303
380
279
330
327
318
362
313
248
336
277
402
325
321
300
199
304
286
256
322
359
382
302
430
277
344
377
407
324
280
331
308
354
342
275
291
319
220
330
270
308
323
349
269
305
346
241
286
323
377
395
328
325
230
323
320
286
329
285
281
290
275
215
341
384
329
403
279
258
318
324
264
276
354
297
359
310
255
277
317
372
301
319
369
319
309
302
368
356
370
239
325
322
320
291
390
374
231
286
298
293
346
377
276
281
292
320
261
386
232
315
217
279
327
410
354
251
281
220
210
218
306
272
330
260
330
283
263
338
343
357
331
250
291
349
374
268
326
324
331
235
411
279
271
395
381
327
287
324
281
301
235
277
359
292
281
351
387
399
330
287
229
281
239
242
272
300
346
329
304
301
249
287
188
213
258
247
277
355
247
259
268
267
336
310
322
320
309
317
268
347
238
291
293
308
350
299
325
319
391
297
296
254
363
268
328
320
305
251
394
317
297
370
374
319
337
325
357
282
292
343
279
335
321
353
293
345
354
362
344
300
302
313
306
262
358
285
313
374
372
290
298
360
333
358
353
295
305
310
388
318
340
234
320
304
417
402
287
380
302
238
294
341
325
397
362
366
252
366
254
358
268
251
236
317
350
310
414
378
327
353
206
352
271
339
290
295
241
380
204
191
309
357
363
223
447
314
393
322
260
304
333
364
345
370
265
277
295
313
265
316
330
303
213
203
379
255
351
360
324
309
332
253
314
208
308
365
324
373
324
327
287
323
381
350
310
228
302
232
338
256
303
316
319
284
271
343
304
293
375
343
288
324
389
318
325
398
311
341
353
355
324
288
251
347
309
402
338
343
374
226
370
348
256
315
301
297
223
342
316
362
395
259
334
373
364
419
312
288
220
310
193
344
366
338
393
268
292
357
284
323
322
438
284
291
228
378
299
330
283
304
368
341
398
348
218
385
295
324
304
337
361
329
361
370
360
299
204
298
324
282
354
215
394
277
364
341
299
257
325
349
324
259
352
346
299
302
269
283
292
330
342
223
318
228
388
398
379
293
339
331
241
277
351
387
343
353
302
265
343
182
392
320
345
310
294
408
331
338
306
313
298
299
294
297
377
303
320
327
367
388
320
293
324
311
359
291
292
350
311
293
327
303
233
307
305
411
288
319
311
408
314
251
312
282
285
389
355
306
349
351
332
327
303
339
270
337
268
225
285
315
342
310
286
288
383
369
314
336
314
270
308
320
276
271
335
252
301
308
337
332
310
275
339
292
284
309
310
294
315
393
211
307
349
308
285
330
308
281
331
351
324
268
302
347
293
317
347
265
358
332
305
272
312
273
259
351
348
277
400
366
340
359
383
354
279
269
331
282
307
351
306
331
395
280
327
330
349
302
316
358
267
320
322
330
250
327
304
228
320
373
280
319
353
340
377
391
277
253
256
318
333
319
316
336
350
265
277
381
343
303
309
333
250
355
360
311
274
309
292
435
328
377
381
378
245
335
316
315
254
342
188
280
338
369
344
372
375
219
335
269
296
310
315
366
370
360
328
339
249
356
358
403
190
349
288
402
319
313
236
328
283
330
344
260
266
309
282
302
296
326
260
287
314
286
256
279
382
379
288
159
389
277
299
343
296
275
241
289
305
269
353
352
354
376
298
372
349
267
320
251
352
242
231
211
305
298
225
266
388
312
393
365
258
284
305
267
296
335
299
365
326
273
349
354
287
366
306
324
291
342
259
310
220
255
219
275
403
299
318
361
250
333
395
284
391
324
341
289
346
279
245
257
174
299
318
268
321
369
335
336
309
290
410
306
309
260
239
346
298
348
284
351
304
295
277
310
316
222
298
253
349
384
335
275
328
348
334
323
354
345
329
317
359
292
318
314
352
352
364
328
290
358
269
327
248
323
288
273
335
316
351
300
343
344
363
303
262
369
280
283
303
353
354
262
312
294
347
355
323
297
261
322
280
291
312
353
317
335
400
218
281
281
331
362
313
254
274
331
260
354
298
263
355
302
402
319
202
325
288
348
317
291
265
311
323
297
257
343
239
239
315
236
347
309
258
283
351
371
346
392
285
346
291
295
334
264
205
305
279
338
278
347
328
334
277
296
362
296
355
270
336
329
239
270
271
299
245
253
355
253
294
281
374
382
263
287
297
307
297
294
318
317
261
341
268
259
310
239
331
312
251
301
344
293
247
379
359
378
258
315
214
385
323
301
343
327
309
267
336
323
281
309
344
351
319
296
271
265
312
335
301
295
342
278
301
274
305
269
277
353
291
365
336
375
339
295
285
330
295
289
327
292
278
340
336
344
290
328
355
255
347
266
271
328
281
327
399
365
346
355
259
309
309
255
351
358
281
351
207
292
394
324
379
407
397
387
303
339
345
302
277
338
343
359
340
311
347
348
300
269
233
333
348
256
310
337
331
289
356
263
419
248
254
318
295
290
371
354
298
288
370
306
332
306
266
354
462
403
299
364
244
298
264
255
366
300
330
337
315
246
309
310
328
299
314
261
295
339
346
343
390
321
343
363
397
263
323
314
356
339
373
195
315
358
282
271
273
299
326
283
297
248
224
284
324
363
360
317
351
257
273
353
299
313
336
334
357
333
314
261
314
338
402
206
374
334
312
381
337
382
303
231
360
377
376
327
323
335
271
284
271
338
242
260
267
362
342
342
305
363
360
380
258
250
328
343
273
251
211
412
324
243
273
331
325
295
319
332
304
368
302
342
298
327
278
281
362
316
311
352
275
323
357
255
249
271
325
265
255
363
355
252
292
302
295
330
316
328
394
287
313
349
285
318
377
292
372
315
342
324
298
314
309
373
381
282
328
353
341
284
325
336
375
293
356
305
307
247
306
319
343
305
353
332
312
341
325
340
290
244
338
284
305
386
302
328
390
262
353
339
246
281
289
270
356
300
224
316
344
289
345
194
312
328
351
340
287
364
311
331
258
296
294
247
249
353
362
335
282
322
320
320
244
301
299
274
350
297
269
344
285
318
330
307
306
346
357
354
309
169
322
306
251
257
340
334
357
337
353
323
386
322
295
321
231
359
375
340
324
310
305
300
295
327
345
334
370
195
354
410
243
308
292
299
357
304
274
285
291
353
340
408
344
322
262
314
326
336
234
293
296
362
307
270
398
318
328
354
302
331
267
263
270
251
303
336
385
277
338
278
230
327
264
397
315
365
356
242
377
352
267
283
286
321
352
379
380
364
363
308
315
298
322
314
378
240
389
284
358
338
308
259
278
371
312
292
350
323
254
346
333
255
305
348
300
375
285
342
333
289
290
438
257
269
261
365
275
328
371
367
394
356
312
299
366
268
342
299
334
297
328
377
372
308
253
328
316
247
287
292
342
343
364
364
376
366
281
324
348
312
346
285
297
298
317
367
255
276
307
292
295
315
399
368
235
310
383
277
359
323
318
317
391
275
321
319
326
296
283
354
275
287
229
409
279
372
313
297
340
285
289
276
316
264
319
325
332
377
296
319
389
368
307
217
361
394
239
421
337
299
219
318
326
256
327
322
295
336
300
305
356
347
357
371
366
330
377
381
294
282
379
265
375
324
279
321
350
411
376
369
382
304
353
405
287
329
215
304
345
289
363
318
362
336
325
288
328
257
287
354
339
253
374
346
265
299
274
275
340
234
336
228
345
297
318
297
352
337
330
343
342
270
361
373
300
316
307
349
286
336
264
363
336
340
336
281
366
326
337
349
294
330
282
296
260
343
314
306
367
309
387
289
254
329
351
405
306
294
328
309
336
311
280
285
351
338
333
366
290
300
338
310
256
322
350
321
223
331
347
213
319
296
300
327
255
360
272
269
245
285
235
331
335
334
327
336
292
376
320
282
355
309
338
376
310
327
265
280
265
350
389
223
336
288
249
355
229
354
366
370
332
365
292
283
255
267
290
297
333
263
252
326
368
293
354
320
318
317
303
299
332
331
364
307
335
334
371
395
277
302
288
348
363
318
365
240
285
310
266
395
308
381
274
347
430
267
297
375
398
314
321
269
298
311
357
284
414
332
317
363
295
359
298
353
335
366
272
264
274
391
281
341
359
201
233
362
340
368
360
354
285
379
269
333
332
313
354
305
337
277
265
260
287
293
264
323
358
231
364
323
370
308
329
339
346
394
346
409
304
274
318
316
355
340
202
344
336
307
358
305
302
271
228
253
369
328
311
305
342
283
406
292
239
336
306
282
356
326
333
292
311
314
342
322
283
317
347
373
302
277
367
266
335
329
316
310
369
317
425
296
318
321
405
357
313
294
356
308
310
332
407
391
335
305
266
327
363
283
272
265
227
282
312
332
298
392
246
313
355
353
285
253
356
242
327
308
281
238
345
325
316
319
351
379
344
397
322
314
292
328
323
293
279
318
393
368
341
286
347
337
221
304
296
365
369
337
296
341
280
359
289
364
326
392
350
327
334
348
343
381
296
326
348
292
283
286
351
299
366
304
263
283
328
349
411
376
233
363
292
390
301
230
364
333
295
286
300
332
381
280
345
294
366
338
431
475
314
260
385
275
254
282
291
344
361
344
311
306
264
260
400
270
314
289
326
328
316
354
303
282
246
284
310
352
218
294
281
331
361
303
355
316
367
284
206
306
336
303
340
384
379
294
293
296
299
385
303
283
329
293
346
373
198
320
350
357
338
287
221
357
308
306
221
278
326
268
280
275
338
293
339
311
340
309
315
255
291
340
255
256
289
346
313
369
284
319
296
324
339
394
308
368
409
293
318
266
261
423
298
346
336
287
329
356
292
277
355
316
314
320
312
213
373
355
313
307
321
341
355
279
373
316
252
337
336
304
355
333
351
323
357
368
230
314
281
326
382
271
298
331
267
318
388
269
319
394
284
344
297
250
230
271
307
267
220
331
321
330
374
363
292
316
414
290
287
338
275
314
316
308
299
258
380
379
314
362
346
333
353
268
305
320
227
445
365
327
326
360
272
318
329
381
302
328
307
216
327
317
303
368
367
372
291
225
307
243
366
353
327
354
324
343
328
322
255
299
358
351
335
310
260
317
301
237
396
292
302
258
393
273
383
375
325
349
238
259
362
280
298
334
428
318
296
303
288
242
371
276
321
360
390
267
295
212
356
332
335
292
281
340
315
283
238
329
295
335
353
282
254
262
386
309
244
384
330
268
341
356
332
297
277
319
261
283
391
281
288
197
352
315
311
288
349
371
297
329
326
322
410
395
262
330
257
261
307
355
323
336
372
322
267
368
327
220
352
270
253
284
319
300
316
354
328
328
331
336
415
273
264
343
296
358
307
440
288
268
312
257
289
347
387
290
332
269
335
305
366
398
256
333
347
274
341
281
292
343
335
286
275
364
347
360
252
315
239
321
274
244
302
232
327
308
344
265
275
306
339
313
337
301
277
306
307
311
366
267
330
288
369
213
304
299
357
296
379
340
423
274
305
307
264
319
377
282
302
311
307
328
320
219
301
314
284
340
284
354
369
346
285
288
325
377
355
327
294
309
330
313
308
368
227
298
236
259
296
382
236
372
360
316
365
323
217
268
318
388
316
319
361
311
349
296
273
313
311
280
312
342
339
334
243
311
251
338
332
358
318
346
296
341
372
341
234
337
275
369
250
354
335
330
280
295
315
315
316
334
261
348
240
291
347
274
304
285
354
313
328
243
308
316
325
291
316
311
216
244
310
392
330
339
242
261
307
295
300
333
289
318
336
288
362
321
295
332
314
338
382
381
405
246
265
354
248
318
295
263
255
388
313
328
372
375
283
310
276
340
331
301
358
230
281
319
329
353
345
348
311
309
321
286
401
263
246
327
383
293
280
313
348
340
344
307
322
314
349
293
324
296
277
355
298
348
285
293
342
273
315
359
301
274
323
350
307
327
326
322
291
363
302
293
265
315
284
287
327
285
254
272
300
381
261
319
229
243
284
357
364
334
303
337
299
293
277
310
253
276
301
267
214
294
238
269
273
334
312
319
371
291
358
241
333
346
301
196
363
283
246
228
286
368
378
396
337
329
313
260
274
287
285
346
218
291
369
275
210
346
219
277
351
340
358
307
342
307
369
305
355
258
265
393
348
373
296
341
245
246
295
290
279
403
273
334
324
248
222
370
310
330
329
235
358
339
326
371
274
360
325
298
206
252
379
260
326
300
343
357
310
245
241
284
362
338
352
340
328
265
369
330
339
423
371
286
287
346
328
279
338
382
324
286
271
345
259
310
330
296
309
343
269
295
298
285
278
318
345
340
258
289
390
276
342
248
247
291
290
332
303
245
252
363
367
328
279
303
340
373
343
356
373
324
298
294
296
294
286
262
341
321
305
286
380
362
272
237
216
263
332
283
300
290
312
248
271
261
321
356
346
259
324
311
377
310
358
372
329
417
438
264
328
363
328
278
342
262
235
401
282
208
330
337
288
362
330
333
314
330
358
376
323
232
249
297
361
317
366
317
321
294
369
330
279
341
285
308
283
319
367
292
354
341
321
354
319
329
345
281
358
273
353
341
325
361
243
283
341
310
289
262
387
361
307
272
363
293
302
290
327
351
424
309
287
414
256
375
268
296
318
344
312
344
337
268
324
241
262
271
287
285
275
357
315
380
300
262
353
391
339
272
324
264
345
331
262
326
354
307
362
231
294
273
283
349
226
320
317
325
290
351
359
254
375
293
410
307
289
314
364
286
260
309
231
304
349
317
324
315
387
257
269
330
311
327
368
322
351
305
265
300
331
281
373
306
253
336
256
320
303
432
315
264
200
335
292
331
190
228
395
259
395
376
356
318
369
378
286
325
366
349
269
338
293
326
367
278
316
277
274
320
294
354
252
269
321
336
305
335
323
307
285
332
252
356
261
373
371
364
343
311
346
293
374
379
279
269
325
331
273
277
354
351
349
302
390
242
333
344
356
317
304
323
322
283
322
333
292
352
310
300
332
322
307
278
430
318
324
343
252
313
307
352
343
222
335
248
341
283
337
316
358
318
355
339
220
329
347
410
305
311
317
347
232
325
318
427
340
333
354
275
388
374
390
321
361
364
311
305
397
322
335
376
325
395
365
252
348
354
279
327
335
240
355
247
301
309
284
247
346
302
399
377
353
267
236
372
388
382
289
256
319
317
295
309
383
327
264
336
327
268
354
339
355
368
380
307
310
327
320
183
340
309
379
316
373
342
346
322
285
252
319
253
352
298
319
350
195
280
315
298
242
340
322
312
273
236
293
355
272
363
340
337
403
343
290
261
325
359
390
334
287
323
291
230
310
307
347
300
314
323
433
318
349
249
288
212
358
241
299
316
300
297
298
330
302
391
392
292
360
284
358
393
314
240
241
240
271
311
284
330
321
299
379
428
262
260
226
284
301
320
290
369
290
376
351
302
397
274
377
320
316
273
351
212
343
316
340
342
348
298
306
284
302
369
301
339
223
278
267
331
264
274
373
302
247
350
309
279
248
320
325
341
352
350
286
307
321
315
300
315
393
246
240
244
325
335
335
326
328
277
325
265
310
326
366
351
297
356
267
323
383
325
299
322
255
310
324
343
313
345
312
348
353
291
285
341
297
306
294
306
302
331
338
342
295
311
314
362
362
245
243
324
319
336
323
330
282
269
352
327
338
282
376
361
311
271
304
333
367
360
273
283
315
335
400
247
326
357
261
322
316
316
277
352
245
382
310
330
248
311
320
309
215
386
353
386
362
262
278
305
306
325
371
211
249
238
363
320
287
226
266
281
336
185
375
395
251
320
317
313
282
315
345
361
298
320
337
368
338
294
297
311
363
247
257
260
316
291
269
268
274
334
295
353
266
272
248
300
348
319
271
357
290
283
426
366
345
334
308
280
334
358
342
235
308
227
280
393
302
298
341
292
304
268
291
370
405
315
206
297
318
264
332
351
368
280
273
321
254
246
367
345
356
335
372
277
312
327
414
348
317
267
376
362
279
278
336
263
300
344
339
335
376
397
386
271
315
299
319
346
295
296
296
361
312
180
296
308
274
254
271
344
358
337
332
242
327
367
386
334
322
277
305
342
395
358
306
379
276
336
324
332
303
326
334
372
333
364
312
393
362
350
331
263
260
347
357
410
304
337
303
297
341
368
372
283
279
267
287
305
273
244
308
375
349
289
325
329
338
294
349
333
285
317
255
288
298
304
354
314
343
374
300
351
440
305
307
230
361
281
318
319
288
303
379
255
355
363
294
311
298
387
263
248
350
342
287
367
415
251
333
355
298
292
234
367
326
326
339
333
354
294
293
281
297
273
259
372
306
306
351
245
358
306
348
359
333
291
293
265
281
370
266
225
244
281
287
324
256
271
287
320
386
243
312
274
305
392
351
341
291
335
294
203
366
331
344
293
351
258
366
278
285
353
318
315
317
353
243
301
337
357
261
246
269
363
307
400
328
288
357
288
347
279
326
316
349
321
285
293
369
254
299
369
358
270
338
237
348
252
338
294
313
221
235
348
227
306
346
377
303
386
322
340
302
285
313
344
207
282
337
282
265
238
351
310
212
260
241
316
397
332
297
303
233
421
291
363
347
217
264
267
357
291
385
343
401
312
343
295
233
294
299
300
302
258
259
361
349
282
280
314
312
420
288
345
300
334
291
266
289
273
394
268
302
394
323
341
394
340
300
257
271
324
308
288
313
302
298
294
267
379
366
275
373
370
262
260
214
281
282
309
267
323
252
349
364
350
377
237
301
331
325
367
408
258
318
300
321
343
374
340
374
373
298
327
369
357
344
312
306
214
335
278
326
274
279
402
344
357
301
307
297
309
301
313
289
387
358
304
393
315
300
294
290
297
389
328
375
366
252
350
409
431
328
306
407
270
362
347
166
282
274
316
289
312
247
336
298
293
342
306
213
257
291
328
299
375
316
375
288
323
344
297
310
314
303
272
353
315
317
382
215
257
284
315
315
269
313
288
298
339
344
314
257
405
263
378
312
272
340
256
335
274
251
333
355
375
306
341
334
309
349
362
313
333
295
340
314
377
318
324
275
304
265
252
322
278
380
298
329
299
282
301
297
330
353
367
278
281
310
308
346
353
298
298
348
270
340
316
198
307
347
310
331
313
206
365
276
246
273
262
354
295
376
251
377
202
414
271
361
286
221
312
293
270
325
343
398
352
363
303
330
312
273
302
355
286
300
352
357
352
295
355
268
315
312
252
297
336
294
269
315
294
342
243
330
287
313
217
369
302
391
340
303
295
266
274
301
345
276
294
331
339
363
344
303
288
272
327
363
342
273
304
355
357
310
348
300
341
308
294
373
317
306
320
269
374
375
304
325
301
292
319
269
373
388
278
386
308
331
292
329
323
319
290
322
231
389
281
355
275
340
343
297
310
286
290
307
360
311
345
266
305
356
300
312
215
278
271
318
326
306
353
227
209
334
250
332
190
299
367
311
310
327
368
279
345
357
277
308
337
357
327
374
373
365
355
325
398
324
336
239
336
292
313
311
233
284
335
346
277
331
341
310
238
286
386
216
305
238
334
314
338
278
322
313
286
283
332
335
363
338
281
344
295
360
389
266
312
350
409
361
282
276
260
382
259
293
225
329
362
343
246
347
257
332
307
371
255
290
347
213
250
372
280
323
315
236
320
326
343
344
373
340
275
360
271
224
272
302
311
332
281
353
317
244
363
264
247
260
230
266
358
413
335
261
353
339
387
287
320
332
315
283
246
264
324
344
319
297
245
322
354
258
314
313
335
225
253
367
350
316
329
283
381
340
374
285
253
358
305
356
274
322
358
318
215
278
393
316
235
262
289
315
277
289
296
262
298
298
314
364
338
347
221
383
256
351
283
225
339
277
264
377
313
306
306
331
320
209
343
324
285
293
387
342
344
289
241
370
338
336
249
220
321
315
345
319
304
221
350
328
276
317
317
232
344
318
389
334
330
325
345
375
375
299
297
326
266
261
336
409
295
336
284
332
316
347
295
270
328
354
372
280
349
356
349
273
354
281
260
299
283
356
301
336
331
288
337
296
298
368
263
354
311
330
221
384
301
216
349
285
312
307
277
348
345
321
346
262
285
367
341
285
332
283
292
313
327
327
262
285
328
307
308
254
257
409
283
277
293
258
397
318
351
284
353
324
376
282
363
377
347
281
394
323
347
262
291
311
398
306
269
328
429
332
338
314
302
317
369
303
327
313
286
330
325
333
323
358
333
356
393
344
255
309
301
363
307
284
281
309
376
264
296
360
247
275
358
384
323
322
282
396
320
263
333
324
340
330
313
334
274
385
360
256
281
364
374
305
385
353
265
255
281
307
318
325
294
359
296
303
310
338
386
320
306
296
333
336
225
326
367
311
315
261
277
256
325
297
317
244
250
312
309
389
324
323
314
231
202
222
311
292
300
343
316
308
216
244
319
337
409
265
272
363
299
380
339
332
332
320
302
270
295
303
398
256
219
278
386
262
304
319
275
402
348
295
312
347
382
375
351
270
279
274
265
283
386
366
296
240
313
304
361
452
301
353
306
299
306
301
301
222
202
317
342
327
300
365
341
317
289
247
336
252
247
361
345
318
304
306
296
358
403
320
363
376
296
225
286
335
294
312
298
340
281
327
380
322
293
286
366
343
327
354
312
260
328
271
350
345
178
299
333
307
279
244
297
312
268
300
243
291
358
301
246
358
339
223
364
394
311
346
334
343
314
208
376
349
340
359
322
344
361
296
364
352
291
272
318
373
270
290
268
336
290
247
305
231
304
280
196
318
294
335
296
365
334
351
318
352
312
368
323
343
314
314
340
280
271
281
298
269
237
339
218
331
345
280
339
344
333
281
296
341
251
284
329
348
320
327
286
315
206
293
351
341
383
353
270
286
381
272
355
252
338
282
246
333
309
275
326
348
341
334
276
336
281
347
317
312
363
277
303
328
328
361
356
306
414
381
372
343
301
312
366
362
345
342
333
414
299
410
255
336
319
265
243
239
353
312
264
290
318
274
336
324
260
276
360
325
302
401
366
280
312
374
298
304
313
399
287
329
314
320
304
224
284
222
226
300
364
269
346
263
329
306
216
291
336
320
298
322
336
287
392
331
262
297
274
303
352
195
248
431
282
321
281
294
346
288
336
324
301
161
323
383
341
345
326
326
322
358
309
367
319
407
344
342
320
368
277
296
298
284
396
344
267
256
319
306
323
403
203
283
335
279
363
340
326
339
348
384
356
391
254
349
257
248
388
326
296
306
356
359
296
372
282
291
382
295
282
346
344
330
263
366
406
240
323
321
241
304
317
327
252
375
366
273
369
312
266
338
308
321
301
352
313
335
264
360
350
271
381
371
308
299
329
357
273
415
273
234
248
355
280
325
342
317
356
366
310
337
408
209
295
281
353
276
329
308
323
322
292
284
268
275
351
313
343
301
322
381
278
400
305
262
255
360
306
250
266
292
315
315
363
308
219
352
267
335
318
314
323
277
339
300
296
317
341
282
271
329
316
291
249
344
277
311
368
280
321
271
385
244
319
222
308
304
333
341
403
285
293
376
274
316
275
341
358
326
375
323
357
275
385
290
349
267
258
325
312
302
252
411
282
314
292
330
339
348
355
340
424
271
333
365
357
307
238
290
245
332
282
327
284
307
252
356
278
362
256
333
333
281
294
442
230
283
314
307
384
350
349
307
274
320
273
340
347
317
401
305
332
260
255
343
252
324
271
255
302
299
244
395
382
337
334
265
297
358
286
343
246
314
228
310
327
282
357
263
236
321
316
261
364
280
282
297
208
381
350
310
279
452
237
296
251
382
348
365
341
291
296
338
280
267
241
308
373
300
268
365
325
350
290
351
273
325
289
371
370
282
356
393
326
260
296
316
297
285
338
292
314
252
353
265
386
306
304
290
250
293
302
283
295
318
273
228
277
408
306
320
305
222
308
271
294
246
260
359
394
357
372
314
311
292
282
234
334
290
310
352
301
363
333
270
305
304
376
371
223
375
357
353
354
311
353
286
316
353
387
319
280
319
298
328
243
292
314
321
246
292
276
272
358
338
314
279
230
335
268
312
315
258
392
301
354
362
251
277
309
283
363
319
299
277
349
307
364
301
339
388
282
299
298
350
333
254
330
358
339
316
358
374
391
370
389
278
315
368
359
314
344
317
363
322
322
343
319
365
302
359
313
288
340
307
376
240
338
293
375
247
309
293
235
325
275
375
364
334
296
317
260
306
374
293
278
316
310
254
212
294
225
294
302
359
341
299
343
192
286
324
313
308
238
340
254
283
280
358
259
317
266
356
389
333
299
320
334
305
331
342
293
290
346
379
371
297
427
264
305
324
301
310
294
335
325
289
357
317
218
293
280
321
285
380
362
377
257
339
263
369
303
355
379
358
302
238
350
304
329
383
391
415
244
326
378
259
379
256
282
334
358
324
345
241
295
275
305
270
310
228
410
339
336
329
382
346
249
371
354
356
294
276
300
287
290
322
332
352
220
300
281
360
326
361
304
394
276
185
303
255
327
373
356
231
343
267
288
388
359
287
278
366
322
318
304
295
344
321
401
325
258
320
257
266
290
404
272
396
297
402
290
280
355
320
383
336
252
353
336
282
251
359
283
339
338
305
298
304
283
396
321
246
347
260
289
275
352
365
340
346
309
302
278
282
242
388
370
377
343
363
317
256
324
273
285
279
271
399
283
321
283
347
315
363
306
362
270
339
258
296
374
370
373
343
246
308
273
282
262
321
279
380
334
390
261
296
211
326
324
326
295
281
262
296
292
244
294
265
345
402
341
335
257
325
316
299
313
327
344
267
320
299
220
312
325
289
377
344
327
277
277
272
321
322
275
221
299
292
344
396
321
373
339
348
384
278
387
307
280
365
347
212
322
348
322
297
279
280
322
299
321
297
347
349
358
270
287
256
290
252
239
333
272
324
290
297
392
267
354
351
351
380
319
356
331
298
330
345
315
291
291
247
333
376
317
364
253
321
335
302
302
325
335
318
439
272
275
259
307
325
316
282
258
277
289
397
305
413
347
332
383
350
290
343
309
311
181
339
315
290
329
296
396
420
341
287
298
281
299
273
276
236
354
269
276
364
292
185
387
287
314
341
298
333
345
409
435
355
343
222
276
278
287
376
287
294
306
356
321
313
351
305
381
389
380
264
282
359
318
396
369
290
264
342
342
361
307
230
330
307
331
310
317
237
316
308
310
356
233
350
301
226
338
342
264
282
325
334
332
244
337
374
302
357
314
198
297
212
374
344
317
265
284
289
322
405
299
346
359
322
356
278
290
343
251
278
267
262
291
338
410
203
309
353
244
362
318
306
249
245
369
335
375
295
292
352
285
333
382
342
305
292
325
318
273
342
311
290
269
296
340
299
396
327
385
378
371
306
303
260
271
357
249
283
331
385
349
274
337
260
261
327
307
327
334
326
332
315
273
281
365
282
345
360
439
339
291
316
357
336
343
268
282
327
278
302
274
259
241
261
262
334
327
324
242
310
230
360
341
306
323
243
361
246
254
390
328
334
355
251
305
322
308
366
316
362
318
277
319
306
323
335
285
295
357
332
381
285
276
382
301
356
349
383
332
370
271
317
320
367
329
340
325
367
402
271
269
262
266
218
348
264
374
333
356
412
320
273
330
318
267
296
264
309
301
314
341
335
210
365
309
375
380
289
270
279
321
246
229
309
343
282
266
337
297
354
290
308
237
286
246
285
376
393
358
328
278
306
255
340
334
330
260
360
380
351
343
237
334
371
265
335
338
323
265
297
275
323
356
246
366
314
321
278
278
302
313
322
357
330
360
319
341
289
290
362
302
336
266
343
271
322
276
327
323
286
274
215
317
378
367
313
377
309
298
300
266
373
317
355
334
379
306
367
240
241
381
341
374
329
364
300
323
320
258
319
311
298
303
355
307
284
287
293
312
287
375
332
289
289
352
276
344
271
311
349
382
288
343
268
383
307
382
347
330
323
348
296
275
285
332
296
295
379
273
377
304
240
264
325
359
364
356
321
341
323
330
276
361
309
260
355
266
262
308
322
282
404
330
328
253
251
301
331
297
296
254
376
289
357
351
275
335
338
381
348
392
309
252
356
185
235
270
340
291
326
224
342
342
376
289
280
343
314
320
300
248
291
331
355
256
309
249
310
369
283
327
239
283
301
383
333
279
329
292
184
298
260
302
322
276
377
339
304
297
321
240
252
426
263
400
297
259
315
266
294
309
269
266
337
338
317
245
286
348
355
349
286
296
319
332
202
250
318
306
289
306
267
430
226
389
373
330
342
288
324
328
340
303
271
238
346
319
293
269
334
321
314
190
373
308
326
296
363
299
346
246
298
267
396
410
346
303
245
343
322
371
244
411
319
329
302
337
254
351
321
363
314
301
333
304
408
340
358
280
323
303
379
254
256
337
313
302
246
293
361
240
417
355
307
358
306
283
337
379
388
293
377
310
296
354
303
262
279
321
310
381
339
327
316
248
304
267
295
293
307
321
376
296
354
424
384
421
356
387
293
303
278
351
374
326
233
318
364
324
224
294
304
267
227
229
408
306
305
289
361
369
221
248
257
261
213
318
300
354
328
319
395
353
260
340
290
290
384
314
331
282
225
292
410
344
336
335
292
353
286
370
301
340
241
310
360
285
260
301
207
321
351
366
261
278
362
333
243
290
384
356
316
354
354
411
313
338
291
278
219
291
274
234
335
361
265
245
270
202
327
340
238
297
279
263
300
388
331
235
443
263
343
225
365
385
301
312
247
250
176
285
293
272
318
257
269
244
356
300
268
367
238
244
341
276
295
293
348
285
385
261
335
311
355
335
325
314
154
298
320
357
244
285
218
403
369
249
294
346
381
324
340
270
294
345
353
304
292
355
360
245
345
388
223
282
230
352
274
340
279
336
316
222
258
321
365
237
287
310
305
407
358
250
320
282
252
307
281
384
279
322
327
324
271
350
323
347
334
281
261
248
307
416
321
226
369
311
292
380
344
361
317
338
326
287
289
322
330
310
360
220
310
363
290
282
312
327
182
266
359
372
346
341
275
260
247
233
329
267
242
408
303
266
271
308
333
362
282
360
235
362
226
362
306
301
323
275
259
252
230
357
373
335
332
240
430
275
254
264
354
372
334
290
280
322
354
328
375
332
371
261
357
352
252
366
300
314
389
255
370
390
335
303
294
359
280
395
309
302
330
330
290
328
327
356
321
249
276
366
322
333
330
371
242
377
368
305
345
330
359
368
216
260
266
269
361
311
415
361
308
298
297
325
345
367
309
289
334
297
269
306
290
293
381
337
319
288
339
343
313
396
332
288
291
344
281
309
328
371
362
298
238
341
323
297
308
324
301
222
286
330
288
293
305
340
336
298
302
355
323
347
397
402
263
330
360
256
287
296
315
259
284
335
337
358
405
330
347
410
314
263
370
239
260
380
302
400
369
271
287
372
342
284
297
287
356
278
241
328
383
314
368
347
358
329
260
320
333
362
324
313
326
326
344
348
210
327
307
245
325
323
443
332
363
380
288
416
320
305
304
332
358
278
321
321
240
347
300
340
349
250
253
299
328
426
280
373
265
316
292
251
246
308
347
309
357
322
294
306
315
322
287
357
298
366
281
304
247
348
296
286
344
314
342
315
384
315
309
300
343
303
257
394
336
292
243
350
365
291
250
384
415
360
384
288
421
330
295
263
273
308
318
302
281
312
299
384
364
348
343
325
334
285
328
299
303
424
390
287
305
311
303
250
295
245
358
328
308
287
315
321
353
279
190
255
337
263
290
344
266
324
319
357
300
359
332
349
393
309
353
306
257
264
314
381
309
312
386
286
387
328
252
387
303
318
266
372
297
373
291
313
321
308
316
308
335
333
299
291
264
307
340
294
276
296
318
335
350
412
216
260
287
335
312
364
333
401
301
306
352
284
339
378
277
339
362
239
295
296
293
290
317
327
297
394
316
281
289
363
298
405
263
302
332
285
253
329
363
333
316
309
363
302
317
319
335
391
273
254
230
347
339
258
259
275
273
335
289
257
323
378
321
351
250
308
255
348
324
261
332
249
304
229
296
324
303
360
305
225
343
304
291
329
293
398
253
231
358
277
328
271
277
258
266
325
322
242
329
289
341
310
402
330
279
298
248
397
343
303
286
319
310
346
361
312
329
268
318
362
254
312
297
285
346
246
309
316
317
362
243
263
225
262
252
295
362
339
335
302
433
295
323
294
260
301
337
247
216
404
375
309
323
350
342
305
355
287
265
322
330
318
393
286
230
363
290
350
334
342
388
310
303
345
248
332
355
284
262
281
302
197
269
312
255
349
299
310
242
322
303
259
376
303
312
326
427
340
250
338
259
319
335
218
305
320
314
315
311
374
314
300
242
349
303
323
286
371
288
323
350
277
375
305
317
319
291
324
265
342
304
263
284
320
250
311
308
335
383
328
315
315
358
364
365
286
262
313
385
300
299
373
303
295
309
347
374
277
348
313
264
312
321
275
361
284
261
282
355
351
240
291
270
327
351
384
281
316
376
355
367
353
394
280
323
315
375
399
369
245
350
282
338
321
266
305
229
303
313
322
379
356
223
325
333
298
324
340
320
259
333
289
343
284
226
253
428
272
262
267
309
288
206
318
288
393
253
248
328
268
376
342
375
321
330
256
314
334
358
378
384
243
320
278
301
351
307
258
356
382
330
324
344
371
345
292
347
283
250
387
316
269
366
301
321
248
301
342
277
328
321
256
247
374
358
305
279
350
353
320
355
241
344
338
345
299
345
214
387
305
279
305
356
327
311
376
288
267
340
398
313
344
308
364
258
305
366
275
330
253
311
396
316
266
312
323
375
344
264
297
336
341
409
299
289
372
311
298
317
342
277
357
384
312
241
356
278
252
304
314
323
248
325
235
354
310
284
252
346
438
363
362
309
381
357
346
302
291
375
302
274
330
350
303
337
319
345
304
347
260
315
370
304
286
291
240
292
299
241
237
247
267
365
305
360
388
341
268
234
273
329
345
255
236
263
339
337
327
292
330
272
259
326
334
305
306
301
357
317
333
280
313
339
245
318
258
261
220
324
268
354
265
386
344
294
396
365
265
318
297
300
294
297
308
360
317
428
311
262
224
238
240
304
252
354
314
265
260
430
307
332
353
327
368
301
398
321
375
269
320
377
324
282
243
373
346
344
237
292
296
325
273
337
189
273
357
351
378
349
271
340
268
312
309
286
329
358
313
260
283
323
333
285
302
292
335
357
384
368
350
345
295
250
345
320
293
276
343
310
374
209
324
326
321
317
276
245
248
256
303
379
293
378
341
260
185
340
371
343
259
284
320
294
337
304
321
325
317
212
309
399
353
318
326
361
384
296
328
315
311
290
329
331
319
343
296
286
260
253
294
332
369
345
303
291
252
324
278
208
356
317
335
408
374
331
309
373
339
347
351
305
360
314
342
285
331
342
335
282
329
283
347
251
374
321
357
296
325
283
337
264
246
316
333
321
290
272
311
330
368
369
311
296
363
258
292
355
328
298
262
222
278
322
330
228
286
294
313
214
326
302
311
299
286
328
331
253
254
401
316
328
332
347
270
244
346
333
377
356
318
271
316
369
328
313
248
242
349
289
258
309
300
370
287
333
313
353
373
367
294
325
288
263
367
347
371
264
304
298
323
403
282
370
331
292
335
281
338
284
274
399
282
305
335
355
309
332
328
316
343
287
345
282
314
220
355
298
333
295
273
290
317
337
275
351
251
272
282
252
247
343
361
304
302
338
364
253
360
249
306
343
343
255
314
305
309
308
326
283
325
305
373
387
307
292
392
281
337
308
274
343
337
281
296
292
338
298
343
324
313
377
347
345
296
301
314
292
375
352
309
188
390
316
321
311
235
320
289
331
383
345
405
278
374
288
312
340
328
266
288
309
349
314
305
382
196
271
246
290
344
252
374
277
395
297
283
325
380
300
265
367
336
394
338
319
331
253
304
352
271
254
320
276
281
305
376
285
337
293
304
336
313
330
251
366
386
208
273
345
286
342
383
258
301
313
314
300
316
342
194
296
194
355
314
359
299
407
336
383
294
347
260
382
306
269
279
363
332
295
296
295
321
251
308
272
265
379
252
265
356
318
298
223
281
354
274
311
316
363
318
368
333
367
370
273
310
271
328
280
355
252
305
344
325
277
313
367
350
258
330
324
239
312
267
326
260
301
266
307
330
379
218
303
387
326
407
291
289
323
282
302
297
325
377
278
328
306
350
293
333
264
470
232
322
347
330
297
280
227
255
274
207
320
327
252
235
309
246
330
246
307
360
281
264
343
407
362
284
339
373
292
294
353
320
343
301
276
250
266
378
290
339
374
378
355
360
342
296
369
279
278
246
335
272
306
315
368
312
323
374
222
306
324
352
357
318
292
326
308
305
420
388
355
226
272
364
282
192
339
363
302
400
320
384
321
397
323
256
386
355
391
298
288
304
317
331
324
240
293
311
313
269
275
401
348
363
298
322
366
405
269
214
338
379
368
318
261
336
365
240
288
341
339
188
244
267
320
277
363
295
264
249
300
234
372
314
202
367
309
191
284
310
283
349
296
365
327
317
344
283
382
346
226
258
350
347
314
281
304
398
277
379
338
285
259
209
379
286
331
297
337
319
251
323
348
393
363
344
326
309
280
315
230
295
302
294
339
275
344
339
383
379
319
322
305
378
328
314
338
336
306
308
231
288
293
272
306
303
250
300
278
311
311
331
348
309
272
353
287
297
314
323
251
313
305
299
280
253
277
351
333
412
229
376
330
368
282
350
290
282
390
388
377
274
345
313
305
385
310
324
248
361
309
319
265
265
265
323
306
242
344
325
226
358
314
351
292
298
250
243
310
363
324
321
290
335
335
268
308
185
309
244
364
240
255
347
186
267
282
287
338
350
310
354
314
306
319
301
348
347
340
349
344
286
339
340
270
299
328
312
356
383
235
264
193
271
360
259
309
245
334
366
312
273
326
340
270
378
253
324
326
325
306
249
350
315
273
359
273
353
387
241
314
321
364
421
310
289
357
335
357
275
354
297
314
316
289
304
333
346
337
355
369
299
415
329
273
332
366
394
334
301
409
399
284
261
281
320
267
316
280
283
333
314
271
283
263
402
390
321
416
236
290
344
263
288
256
311
350
329
313
344
373
292
322
353
320
345
421
345
351
310
286
223
277
343
277
344
379
353
376
311
328
274
286
383
375
273
271
376
368
271
315
302
375
316
266
339
289
369
294
309
264
334
324
279
253
304
299
297
363
229
393
307
304
320
182
351
271
392
311
225
246
349
237
289
352
320
316
284
249
302
330
331
356
331
288
274
309
404
328
299
236
309
314
201
303
328
298
324
316
369
254
248
251
360
345
335
289
328
239
434
359
283
324
255
322
304
356
298
339
288
353
305
273
369
292
238
285
300
297
235
281
318
319
259
292
307
316
358
255
315
308
354
324
317
338
367
299
318
374
283
281
297
292
359
374
278
279
251
260
367
260
351
312
323
286
306
286
372
315
340
291
335
364
336
337
283
259
291
300
348
236
329
247
214
242
348
351
374
329
294
306
351
244
346
301
258
306
346
284
297
319
278
345
299
345
321
284
263
341
312
322
234
366
261
314
263
302
339
361
352
403
377
263
329
229
355
297
362
263
370
270
352
298
283
291
296
341
291
287
382
369
270
289
341
268
368
301
339
363
314
323
270
395
252
350
313
245
245
292
346
315
314
312
339
387
331
306
293
344
342
338
347
278
364
257
299
400
333
228
360
331
243
376
329
285
213
316
388
369
283
305
299
243
379
229
316
413
327
220
236
305
317
268
338
296
313
292
223
326
383
410
279
348
306
339
263
311
265
289
264
233
295
372
270
377
281
320
262
253
248
237
281
344
345
351
263
269
338
345
277
344
357
348
232
327
295
254
342
307
224
256
304
363
341
371
266
387
232
333
341
322
285
305
305
349
255
263
294
321
386
389
283
303
307
329
268
373
376
335
309
260
319
250
348
309
303
246
382
230
286
312
280
324
315
416
314
341
319
329
382
366
312
305
345
369
223
296
363
216
354
299
268
284
252
345
272
386
218
382
405
276
335
308
301
268
205
299
377
368
252
333
278
266
399
297
337
291
292
353
350
372
374
300
313
353
262
305
307
284
321
306
333
296
235
314
313
373
288
290
368
222
327
290
310
235
304
366
292
383
323
340
312
383
282
278
349
247
320
343
344
268
298
339
335
326
289
262
310
271
291
225
293
368
336
332
383
372
355
353
378
339
307
375
383
259
344
313
320
290
310
304
400
242
311
254
363
291
345
242
327
409
346
293
377
342
261
269
337
354
317
335
330
387
285
316
321
317
285
211
224
324
289
342
228
346
321
282
317
270
339
319
395
235
339
411
293
379
289
357
349
294
326
283
355
216
251
282
349
378
385
282
381
277
267
338
337
301
367
283
317
285
403
333
318
350
378
322
298
284
340
336
348
417
310
336
289
369
243
403
390
270
340
366
279
384
357
450
312
321
283
372
292
287
295
317
323
357
292
292
355
291
368
378
328
272
262
366
381
384
357
314
238
309
194
361
345
336
362
360
303
358
183
345
264
317
328
280
381
315
318
314
297
354
252
315
424
292
353
278
417
360
242
339
319
322
256
255
273
294
271
318
396
359
371
320
283
362
327
301
358
318
330
340
288
342
277
392
288
254
295
261
318
280
235
347
305
303
289
407
348
336
425
293
350
296
261
381
383
381
287
305
252
295
300
350
311
273
343
330
242
312
313
311
295
299
228
351
279
326
370
324
300
361
415
351
287
341
332
301
293
258
278
287
354
380
342
308
285
317
315
234
350
339
324
337
305
277
304
278
251
357
409
230
349
254
308
365
323
319
399
331
373
311
359
334
298
243
329
400
365
337
376
310
364
353
257
329
329
358
323
282
363
339
250
347
354
346
266
294
322
318
262
326
275
331
302
390
311
356
408
276
343
250
275
304
310
373
371
343
279
368
308
384
295
255
312
329
297
380
334
315
276
258
318
282
393
283
299
379
437
263
288
299
325
333
300
301
358
384
321
365
304
362
322
362
297
355
253
212
310
292
344
185
255
337
298
329
345
322
355
326
308
312
324
354
276
299
348
346
257
384
296
317
305
200
335
382
326
326
261
347
384
337
412
324
369
314
307
307
315
325
398
266
407
309
227
334
328
281
286
289
320
303
409
268
316
290
351
312
325
297
379
253
341
320
344
276
299
307
229
386
358
232
341
290
357
303
357
376
331
246
287
387
279
301
334
355
391
335
294
347
355
346
387
306
272
291
269
393
363
334
333
285
320
341
304
302
318
309
308
288
415
323
286
298
368
259
360
312
380
292
274
351
341
341
280
333
349
334
343
289
315
257
322
260
232
315
345
261
312
298
225
333
280
292
295
383
317
229
318
358
315
376
260
315
344
338
313
343
213
393
340
306
327
349
309
385
173
340
179
336
282
246
345
287
385
426
298
347
344
322
320
344
317
434
380
381
305
304
359
265
277
394
326
295
359
335
271
294
337
326
334
311
353
304
242
308
346
341
323
277
361
371
310
350
348
317
290
206
344
281
288
265
282
341
302
327
283
296
341
314
336
349
265
305
363
293
266
297
334
384
346
338
319
330
302
272
282
327
338
272
262
316
282
350
269
308
315
314
310
398
337
252
376
208
305
278
329
373
275
377
283
415
328
299
348
338
321
331
314
322
252
363
299
340
340
331
239
346
357
317
298
327
360
316
306
305
350
261
370
320
356
215
334
227
328
363
389
273
337
280
328
402
245
294
326
330
272
344
256
267
382
370
242
341
337
285
302
310
379
341
323
280
373
308
315
368
288
309
354
341
317
329
277
388
300
357
312
269
318
396
303
239
305
354
312
231
285
348
339
190
300
395
327
335
350
264
335
334
331
342
340
306
302
416
337
298
255
335
388
348
396
328
294
346
312
388
325
325
342
295
351
334
387
276
260
332
285
387
327
289
306
325
405
299
412
341
351
356
278
288
254
417
276
309
367
394
282
282
250
353
307
385
314
328
343
408
311
382
335
383
264
256
283
254
281
342
411
298
292
348
313
272
387
337
298
269
305
373
264
310
315
363
307
298
325
316
296
291
235
315
355
397
318
321
339
265
420
366
296
359
275
336
341
315
291
360
326
262
377
302
271
348
304
387
361
338
377
291
294
286
365
305
290
305
333
334
345
370
242
262
286
370
342
327
265
273
342
304
415
319
260
385
416
302
364
249
332
283
311
377
346
253
246
291
285
324
281
356
264
238
298
313
278
346
239
353
374
270
359
324
295
358
282
312
287
320
316
325
348
341
296
386
325
235
221
345
275
300
274
356
291
265
300
328
309
375
310
348
399
240
344
277
329
288
333
270
373
299
340
428
365
364
338
381
334
317
342
304
348
245
335
271
344
338
319
394
341
306
333
265
298
352
341
306
403
319
375
342
307
354
258
352
287
322
276
231
350
322
331
379
364
311
365
296
275
364
303
348
438
322
275
320
357
326
315
270
280
281
370
348
265
345
325
338
419
301
313
310
298
302
312
376
327
268
344
294
330
326
355
317
303
267
336
337
277
318
312
348
407
291
308
298
337
355
308
269
318
347
352
358
315
376
367
353
247
251
363
367
338
329
325
317
286
315
279
292
269
179
317
308
331
288
363
332
310
368
255
370
343
281
235
257
235
304
341
286
336
385
368
360
353
253
387
290
241
368
321
305
348
364
303
329
238
328
330
262
291
226
322
281
421
337
236
347
266
343
316
348
319
222
295
277
395
264
256
298
311
199
325
276
256
288
353
296
325
417
276
335
274
338
338
296
328
393
313
358
316
328
377
292
314
189
307
316
245
343
301
349
318
241
323
301
315
313
336
297
248
301
293
257
332
317
258
283
358
347
268
389
418
327
326
288
303
393
331
267
293
304
329
336
319
285
337
287
290
412
294
340
302
358
302
307
249
294
317
289
282
412
330
390
365
295
332
281
355
296
330
285
311
268
336
303
244
302
258
302
245
222
370
262
328
327
312
273
334
296
346
384
330
339
329
296
319
314
260
300
266
309
375
280
272
299
316
416
278
229
349
264
354
321
371
315
293
313
364
306
370
289
230
298
335
277
327
317
316
274
319
282
308
207
309
311
344
351
282
232
316
279
341
272
348
326
266
358
295
326
342
243
336
356
383
300
307
287
208
331
334
186
339
385
295
319
313
252
288
345
318
290
347
264
281
359
356
365
291
240
288
339
343
278
369
348
324
273
400
339
361
263
370
348
227
351
314
253
302
350
276
262
234
269
317
304
291
253
265
205
295
251
334
312
305
359
369
340
301
342
345
334
322
299
234
291
338
296
368
250
303
292
328
391
306
300
328
269
324
325
282
384
192
331
309
318
342
339
305
307
346
283
371
234
305
261
343
270
312
260
301
277
300
293
275
443
371
318
373
315
274
257
269
362
318
289
299
317
390
286
329
366
365
342
290
322
319
257
240
258
288
389
302
376
256
274
433
309
295
371
293
362
320
242
263
360
280
282
376
322
270
396
353
277
295
323
335
336
253
357
392
263
343
288
345
350
242
370
326
285
298
252
278
343
319
359
353
274
315
364
414
401
262
318
331
394
339
336
272
410
241
332
312
366
313
367
271
369
306
300
288
283
340
343
310
336
255
312
300
328
313
263
247
361
322
277
271
414
218
346
293
332
318
329
352
348
300
337
312
275
310
298
300
353
350
380
302
281
339
319
292
360
389
247
310
366
308
348
295
262
332
272
216
364
352
273
272
332
278
375
286
406
404
301
348
351
265
321
336
239
396
381
301
288
287
262
283
315
297
228
283
348
277
303
252
392
297
297
322
243
282
330
348
333
319
270
250
319
356
337
308
252
270
393
268
292
326
309
359
385
308
339
304
398
261
321
366
304
339
337
333
267
334
298
366
350
319
270
285
317
319
385
333
390
308
316
259
261
362
248
336
288
215
335
305
383
319
322
280
259
316
295
416
295
294
309
367
269
335
360
375
339
320
363
370
356
346
322
362
363
361
226
363
276
344
352
258
330
306
328
299
319
307
345
300
242
361
254
234
308
301
318
311
367
282
357
340
266
326
310
312
334
327
369
330
364
274
382
233
225
267
365
370
228
283
361
265
370
249
376
358
259
271
257
319
227
373
350
302
372
381
281
266
318
365
307
314
332
345
350
257
311
390
365
286
341
213
330
301
289
184
205
270
285
317
313
402
207
382
289
288
334
365
268
315
370
418
329
267
367
373
342
284
424
358
272
362
326
282
266
374
303
269
347
291
374
305
313
247
350
306
353
318
284
296
383
275
264
284
338
260
330
301
266
238
311
346
371
232
362
258
336
307
299
415
348
334
325
357
366
241
332
258
317
324
344
350
375
284
257
368
398
284
305
303
292
266
212
365
393
339
328
300
316
252
299
268
337
304
285
310
291
303
407
372
226
333
211
328
407
285
304
295
290
261
362
264
367
319
292
315
307
234
269
274
335
335
174
236
257
226
301
262
297
275
321
346
275
313
260
270
253
262
327
267
397
263
341
270
283
375
272
326
268
257
298
341
297
324
341
263
288
378
343
260
272
286
275
249
341
344
265
378
301
282
360
376
304
342
362
354
358
265
256
310
284
232
383
316
334
339
235
340
272
290
306
326
295
236
344
369
276
292
280
342
337
289
236
338
331
347
285
351
298
356
270
370
364
302
323
387
333
314
310
272
338
371
255
364
325
273
299
357
253
313
337
360
345
331
298
350
321
265
334
404
304
283
353
313
368
300
301
268
268
213
289
293
281
312
329
339
309
311
343
318
283
299
324
312
363
325
316
378
322
334
305
344
296
293
298
394
301
352
262
236
376
338
287
372
273
258
369
354
316
311
234
286
334
316
356
297
218
275
302
363
363
289
296
394
286
161
343
364
275
318
351
285
332
277
332
324
357
321
299
354
246
279
340
270
355
330
310
315
299
337
280
435
317
361
351
328
242
348
316
306
360
272
361
292
252
336
310
358
246
293
397
274
279
320
299
287
360
292
288
350
351
264
299
279
245
324
254
215
296
329
241
375
277
367
301
372
373
267
331
296
216
252
296
332
353
302
303
352
320
396
368
268
281
292
312
289
280
279
280
352
329
311
374
344
333
306
337
282
331
354
328
364
328
265
250
256
330
198
355
322
288
315
359
307
333
292
257
384
328
314
360
296
318
362
309
200
280
343
351
357
266
344
336
331
322
315
305
359
338
334
365
398
241
332
381
268
356
319
335
296
359
352
337
295
254
263
298
322
294
285
384
311
401
276
281
339
302
256
366
287
308
327
272
304
321
259
312
248
316
363
375
314
285
307
255
416
338
362
359
258
332
368
359
316
317
294
312
436
325
324
344
202
341
354
313
301
360
324
328
328
340
272
356
306
318
276
390
213
296
327
380
301
379
288
291
269
239
274
272
272
346
369
296
245
214
308
356
346
330
313
320
318
299
377
342
295
288
385
335
297
365
369
303
272
307
320
251
198
341
263
320
353
302
300
343
328
276
382
295
324
354
309
368
336
246
327
294
228
257
296
322
326
339
327
301
394
378
326
365
261
324
325
331
373
302
295
341
378
344
262
303
257
320
265
277
336
321
325
346
339
267
248
341
375
301
268
322
400
271
253
306
271
375
321
328
385
376
310
271
270
311
318
214
257
317
344
257
355
345
405
355
319
328
311
237
327
266
274
329
293
348
299
310
329
277
403
340
263
305
355
268
349
217
296
296
278
296
312
229
310
385
327
377
332
249
341
384
295
247
415
279
247
265
321
277
278
396
253
327
347
345
275
313
300
267
339
353
353
341
297
269
336
367
345
314
257
295
264
246
282
277
263
347
289
332
313
304
339
318
350
344
244
334
293
311
241
340
218
329
316
321
355
289
295
270
342
285
324
302
326
247
224
311
264
324
273
354
245
385
308
310
303
338
276
311
339
382
316
299
364
248
261
286
301
307
319
336
230
287
361
326
253
348
289
309
399
332
285
325
376
255
238
308
345
298
340
259
248
345
385
296
336
315
360
317
383
349
312
366
274
218
304
325
289
359
350
291
346
300
283
249
361
298
265
310
274
349
306
257
229
249
349
365
398
279
299
333
278
270
402
352
242
367
329
346
347
284
360
269
270
310
377
363
275
350
343
312
343
330
286
303
346
238
307
340
303
214
339
275
275
371
349
327
363
353
372
348
343
372
349
333
328
353
371
272
325
216
369
335
276
347
316
423
307
314
247
305
338
303
301
248
340
365
308
286
378
313
332
371
343
226
356
395
316
290
379
327
374
328
263
359
355
376
362
272
248
361
350
259
297
304
223
300
338
346
328
305
343
268
277
330
281
347
325
274
260
329
383
266
219
321
272
363
384
285
380
294
227
386
324
301
361
422
293
325
363
335
282
353
366
290
366
308
247
347
345
393
304
354
318
333
279
325
281
276
288
400
272
290
334
390
326
298
299
249
319
311
337
312
335
314
328
325
287
294
317
345
255
322
418
266
378
270
345
323
293
289
353
293
298
250
296
306
319
259
326
230
277
320
304
289
344
284
347
296
321
319
275
267
354
343
325
279
249
367
270
298
270
319
288
238
315
318
258
315
330
192
318
257
253
312
319
314
335
252
318
166
349
277
319
241
307
366
370
286
320
192
254
358
329
327
317
335
327
377
342
361
302
381
333
320
246
362
308
311
251
272
303
388
374
339
359
296
304
279
381
375
218
326
350
304
307
298
366
315
289
314
374
347
251
312
378
285
397
203
312
340
345
342
208
354
346
298
312
254
298
292
397
308
249
277
390
325
331
385
337
388
350
330
265
347
248
242
326
325
277
222
313
283
268
300
330
301
271
209
308
267
389
264
318
303
348
326
283
305
292
351
249
243
313
315
250
318
353
300
304
391
321
403
257
336
301
325
346
282
332
256
396
347
256
319
348
389
322
265
280
239
310
328
303
309
370
315
372
301
237
335
301
336
331
323
358
314
212
316
365
305
346
237
247
313
218
353
318
308
308
274
326
266
363
319
351
377
307
382
340
249
294
296
324
316
299
289
342
312
334
371
332
379
347
270
244
334
315
307
364
330
341
293
305
244
337
376
307
322
255
362
284
301
268
363
307
298
257
301
280
360
249
333
310
336
271
330
275
268
330
265
399
315
360
362
299
375
279
331
323
314
329
288
354
350
335
380
264
310
389
249
290
339
323
358
286
367
338
295
336
410
402
333
335
317
306
247
331
303
283
293
363
229
293
329
251
324
273
322
405
271
366
305
296
365
340
400
346
267
287
270
290
310
276
299
342
402
274
315
323
206
282
308
388
352
294
308
341
303
341
283
286
366
325
242
353
285
217
276
309
395
348
393
365
278
338
388
257
347
342
266
341
342
301
298
254
300
406
340
371
273
378
283
219
323
330
327
318
317
311
353
210
336
316
330
291
247
269
379
317
317
334
297
263
374
300
290
223
274
361
296
265
296
282
320
445
354
285
373
347
233
319
239
300
276
349
306
299
267
316
358
275
368
322
369
293
334
367
388
326
229
266
315
263
287
346
295
365
272
350
349
306
276
318
291
281
304
290
378
368
387
301
319
294
350
371
255
323
294
296
253
301
279
317
298
315
326
247
298
295
333
331
376
266
359
315
392
233
250
337
325
404
324
222
354
394
361
279
268
378
277
367
315
299
346
327
348
321
329
353
404
231
303
326
218
354
326
342
310
294
215
329
302
287
282
345
279
288
334
152
359
283
324
311
419
334
343
342
180
375
343
364
356
303
306
309
404
351
355
302
316
242
312
312
361
291
397
244
321
353
304
370
277
309
339
311
332
404
341
287
310
300
247
363
264
331
338
288
365
290
237
257
352
257
371
310
286
303
315
394
364
298
346
292
304
294
266
256
333
263
264
373
298
231
310
307
304
390
331
376
284
289
226
332
282
280
288
259
393
401
290
228
329
360
299
342
326
376
261
322
391
233
211
358
264
309
390
337
311
273
260
419
336
261
308
285
400
272
375
345
346
365
347
346
365
366
218
249
253
380
357
395
311
376
279
349
364
268
333
382
330
366
284
372
325
270
319
353
350
253
262
337
324
269
315
279
316
282
350
326
293
327
303
352
345
322
380
364
311
414
302
371
293
294
243
314
250
353
254
340
326
235
286
227
341
362
345
378
254
360
263
285
333
371
300
262
343
251
360
330
361
341
252
395
280
292
315
331
328
379
237
255
332
307
343
347
355
312
312
341
338
316
329
354
324
300
268
334
208
359
329
268
270
331
298
339
333
344
361
338
359
293
350
328
281
342
374
338
389
271
369
314
356
301
338
365
365
402
292
275
278
253
338
336
331
304
260
296
363
330
281
298
280
238
284
348
248
247
222
304
387
299
245
289
334
299
310
330
349
320
274
321
304
275
346
334
249
347
365
357
279
349
278
303
347
333
308
341
333
406
281
363
320
317
288
240
306
325
354
319
334
299
344
246
319
290
310
336
257
277
277
291
362
337
349
290
297
379
337
382
254
394
366
280
315
269
354
272
341
275
255
369
338
285
321
323
345
256
347
282
277
312
230
297
249
341
346
358
327
296
233
275
313
299
322
254
281
275
321
353
314
303
276
341
303
218
332
285
300
340
299
305
268
348
311
229
342
318
328
420
303
338
311
301
311
264
311
366
332
339
199
277
228
346
340
263
280
378
254
317
277
355
367
334
341
344
311
367
317
270
328
287
366
327
313
340
320
249
317
305
267
251
205
283
330
262
217
262
338
269
217
373
347
284
302
317
298
313
338
258
321
302
245
296
304
280
381
392
247
326
281
269
345
381
362
313
323
351
314
318
312
256
271
188
286
289
278
344
352
304
332
368
301
381
346
286
284
340
249
280
297
319
351
239
301
276
301
329
352
251
306
273
336
273
338
283
306
377
387
292
336
379
220
354
405
336
244
305
307
371
356
407
296
303
303
334
359
319
325
245
368
276
295
325
356
361
369
313
359
363
273
313
357
232
320
332
215
289
350
264
342
363
345
317
325
271
325
265
343
207
291
331
311
301
375
330
309
281
349
374
327
254
358
303
310
381
370
408
399
287
266
367
259
287
326
322
381
331
375
335
331
344
298
292
291
374
364
324
322
313
225
320
313
289
339
264
323
265
299
317
349
345
267
320
334
341
329
285
378
419
369
195
293
368
269
357
219
355
325
325
304
267
367
348
368
303
324
302
275
317
355
316
394
332
366
324
349
244
423
322
350
251
356
351
335
271
337
341
293
251
393
295
325
316
344
260
399
300
278
269
266
363
314
418
313
256
316
315
292
333
276
269
324
306
346
323
274
382
323
382
285
284
399
364
303
318
343
347
349
288
342
339
356
299
276
270
341
354
259
309
229
342
302
248
339
369
304
317
265
311
339
317
223
281
317
340
265
321
346
286
230
271
346
231
335
270
365
241
292
300
320
289
312
330
371
328
255
273
333
364
314
269
284
436
229
288
255
335
309
324
223
324
245
331
290
345
334
320
365
353
312
326
308
274
330
314
354
327
281
294
370
362
313
312
357
373
348
332
315
362
331
413
390
260
380
297
290
295
309
309
245
360
337
356
369
308
310
308
302
294
363
372
364
331
294
335
333
286
319
258
328
193
246
360
352
206
276
323
332
289
357
381
237
334
306
185
264
375
339
289
324
368
332
328
314
390
287
352
276
302
271
385
323
273
277
236
403
313
314
324
326
311
370
324
380
330
278
297
295
228
370
350
242
248
310
385
301
271
330
282
367
322
335
316
345
302
324
334
367
353
303
302
335
254
242
373
253
353
259
359
314
307
363
316
323
250
252
312
387
375
339
355
295
246
252
332
365
324
297
267
312
308
248
312
370
315
241
378
320
361
391
268
253
247
315
385
353
271
328
350
201
312
292
316
265
361
311
377
360
284
398
381
358
325
281
256
347
288
356
311
312
363
270
292
264
319
342
272
327
299
307
325
342
358
342
289
302
288
338
359
325
388
264
190
369
325
293
325
321
404
284
362
259
243
320
345
299
291
359
292
278
345
300
247
252
269
326
417
286
373
325
232
398
249
322
338
215
240
348
234
335
254
292
321
306
341
396
278
356
236
314
324
365
323
285
254
332
356
235
278
305
324
353
265
330
280
334
267
380
293
368
286
279
294
339
343
283
268
345
236
328
396
293
305
252
237
316
306
317
347
297
355
307
274
213
201
241
339
332
361
338
367
302
354
279
277
258
271
254
255
376
322
380
340
241
271
234
274
291
351
287
370
333
290
375
288
288
359
362
263
243
371
317
377
303
365
358
240
356
334
265
390
258
332
288
213
290
355
279
337
245
369
351
260
305
372
353
226
330
352
301
292
265
310
333
347
336
317
392
325
274
338
376
343
311
340
353
294
282
379
258
277
288
339
383
276
327
334
311
328
358
312
358
296
387
309
242
313
357
363
295
331
315
373
351
388
362
363
410
318
293
302
295
294
305
328
310
264
370
388
235
339
312
292
324
338
320
355
332
263
306
339
248
374
302
325
301
282
396
276
341
330
319
378
318
271
299
317
329
412
339
259
293
364
350
293
395
318
329
232
307
351
267
320
321
336
290
246
320
321
316
211
369
329
264
343
305
213
305
279
289
328
356
289
325
289
358
300
317
335
397
316
327
296
344
413
426
387
321
338
266
261
278
324
278
402
342
265
305
306
253
280
327
298
310
337
258
227
309
321
327
371
317
266
373
267
274
272
291
280
357
336
208
332
221
348
340
345
320
352
394
300
341
288
333
268
331
270
266
253
356
285
379
310
199
305
342
310
360
289
267
371
328
324
272
324
327
357
352
302
247
310
395
296
335
306
312
281
309
344
355
302
243
323
290
343
353
254
311
337
288
281
275
284
354
300
311
359
301
215
403
326
245
337
338
333
337
291
372
294
264
350
349
268
288
377
294
338
375
379
265
355
300
371
357
347
325
321
362
216
274
253
271
281
329
379
374
297
297
315
320
340
312
352
301
308
318
308
272
331
278
307
284
323
298
331
406
256
344
336
298
376
351
247
352
337
256
318
356
333
344
305
293
363
268
331
271
312
381
372
246
401
344
267
294
302
354
379
302
286
367
417
329
332
294
285
296
331
307
260
190
306
310
259
297
300
199
307
316
348
322
381
278
380
407
397
314
273
300
308
345
334
319
325
304
343
348
314
255
337
302
260
332
330
313
293
342
282
264
315
311
362
333
246
332
360
424
299
369
253
209
364
294
386
332
308
327
317
264
276
249
320
232
347
318
274
359
312
468
253
354
340
333
264
363
364
251
280
349
318
347
298
272
299
289
283
347
390
312
361
282
349
419
286
348
350
390
349
307
341
352
302
285
399
313
325
319
296
357
325
334
264
376
343
326
360
294
322
320
281
347
346
390
351
342
317
294
257
322
282
330
249
373
367
304
287
354
282
300
324
213
279
282
342
320
370
320
310
262
248
298
365
316
313
340
273
308
364
364
337
284
317
337
360
359
269
294
277
304
254
314
348
268
384
261
288
339
341
268
365
256
427
346
348
281
284
276
376
369
332
260
354
195
292
271
270
261
327
381
333
261
381
305
346
378
315
404
332
293
348
303
228
311
315
341
359
365
268
401
369
304
360
340
347
403
330
260
257
275
331
327
350
344
361
334
307
264
325
325
266
314
260
345
338
407
334
285
294
305
309
256
364
305
274
221
347
297
428
277
342
374
281
366
348
275
298
272
306
281
286
307
352
294
245
329
284
331
299
317
305
314
266
318
365
278
341
317
357
344
328
386
359
286
347
354
358
260
334
280
327
306
318
313
307
368
346
301
348
264
357
319
373
298
233
328
331
315
328
349
339
358
361
414
297
374
334
334
375
366
353
346
248
246
249
413
299
288
270
231
270
337
291
327
300
341
344
238
287
332
313
371
360
293
360
316
307
329
336
337
312
345
317
239
319
366
315
303
264
385
281
406
338
241
322
286
274
226
310
359
314
357
266
298
296
344
306
272
305
265
353
325
319
333
348
377
329
281
281
348
223
352
276
231
382
294
405
337
278
307
296
274
267
370
328
345
323
337
353
287
327
307
355
339
349
339
322
186
371
261
335
309
258
313
260
355
375
215
309
293
258
216
259
316
360
280
342
358
343
310
329
300
362
273
340
324
317
304
334
288
390
365
290
264
342
325
324
344
342
349
439
251
252
260
287
356
304
272
214
331
333
343
354
292
333
232
329
292
341
277
303
270
259
377
264
250
276
325
308
292
360
323
259
380
316
337
264
297
318
358
309
282
303
262
320
311
349
238
309
290
365
252
293
289
283
329
349
242
255
361
334
314
284
281
337
292
366
299
347
272
319
375
307
356
319
287
330
268
397
174
205
215
320
247
286
302
310
349
236
374
322
239
311
287
305
383
194
268
308
313
333
328
334
349
208
392
296
322
279
301
274
287
266
285
282
353
305
284
300
233
305
322
328
317
269
249
335
313
395
350
305
302
280
294
284
273
333
372
311
369
325
244
341
255
287
307
366
244
376
334
326
306
344
386
307
286
348
273
367
318
317
328
257
344
302
340
316
328
333
251
352
300
319
298
304
383
342
235
276
342
323
239
301
355
328
251
357
324
341
356
385
279
376
322
275
334
257
267
305
266
290
286
324
243
215
302
288
348
338
298
321
280
381
304
278
328
313
330
251
288
326
285
313
224
324
289
254
312
285
285
308
298
326
309
328
222
221
320
232
313
299
347
297
374
274
311
223
257
349
342
369
321
255
385
363
324
253
277
265
244
327
284
233
279
340
347
313
291
297
379
275
273
311
313
292
284
341
280
327
257
303
352
319
230
369
325
375
356
357
335
336
336
344
335
326
308
303
289
344
331
342
368
365
235
328
274
250
252
258
392
384
377
259
286
276
317
355
283
294
314
331
329
314
337
325
358
238
306
279
291
311
365
283
255
288
322
408
326
277
324
314
342
200
260
252
359
424
320
281
319
387
283
284
294
322
379
302
268
332
309
303
305
258
275
377
401
375
374
255
351
278
307
295
266
316
267
327
319
293
339
395
359
306
316
272
367
359
211
275
382
307
342
334
334
322
303
234
378
350
330
321
256
364
289
281
298
345
286
237
323
313
378
327
343
293
283
347
327
275
290
276
283
250
328
368
242
361
333
328
220
334
347
306
302
362
342
367
264
308
261
322
250
370
374
328
289
226
293
334
351
352
289
311
270
330
348
353
362
286
273
334
335
281
382
352
419
183
314
272
376
264
378
350
257
370
271
358
328
360
430
332
381
302
285
317
302
289
345
311
337
355
355
343
317
241
368
257
345
228
361
242
399
295
252
296
247
265
346
228
311
293
297
310
314
324
358
324
330
319
367
330
317
356
366
230
311
249
285
318
196
262
364
252
361
273
358
382
323
300
264
312
224
373
324
338
315
312
348
286
355
353
342
332
288
309
279
272
328
270
268
313
294
386
292
333
357
390
299
385
341
220
296
302
291
264
332
316
276
392
284
296
348
371
297
353
335
220
367
282
327
304
344
337
308
315
348
402
348
278
349
331
340
270
270
314
235
315
293
345
316
346
294
259
324
365
385
311
287
345
412
328
342
358
218
305
318
269
289
277
331
318
395
304
278
256
315
283
323
348
348
339
402
340
297
419
325
296
336
276
219
369
385
281
370
306
401
380
252
330
233
349
272
295
292
233
212
319
293
330
204
263
357
340
339
340
335
260
308
290
312
297
299
321
325
279
254
364
316
287
297
328
272
259
292
319
337
299
284
273
289
344
366
353
354
264
295
258
312
319
310
320
350
306
339
326
363
339
336
328
363
256
276
340
390
342
383
346
190
332
352
235
396
258
400
406
322
265
369
293
290
262
340
364
337
278
319
301
301
279
372
284
325
325
380
327
324
329
328
294
316
374
356
345
212
384
290
383
376
267
252
325
346
366
319
346
353
366
234
277
332
289
301
333
384
288
254
242
334
361
373
325
203
259
271
356
299
265
296
347
360
315
295
384
358
298
267
321
372
262
332
305
340
288
333
309
278
252
327
341
306
345
226
323
320
338
244
280
283
407
299
270
320
375
307
297
353
340
293
395
214
319
356
269
268
206
310
283
387
333
310
333
268
356
312
262
391
299
365
374
292
335
339
345
367
349
295
259
344
296
301
314
326
296
320
298
318
370
311
284
319
238
246
371
208
344
322
314
265
389
269
340
334
306
383
345
369
307
359
313
321
222
365
359
273
254
369
277
338
309
362
314
275
234
310
276
294
285
313
326
279
341
361
343
262
258
339
268
370
336
417
322
264
365
307
321
346
311
281
256
346
325
361
343
314
259
290
314
357
286
325
238
283
317
361
336
266
177
287
320
283
341
301
324
339
256
322
358
344
357
323
416
324
239
329
314
297
352
417
239
307
436
267
342
388
317
301
314
363
286
315
264
321
295
243
305
329
266
308
294
289
299
308
250
350
329
305
340
310
333
313
307
306
312
324
311
247
268
283
311
326
340
257
350
363
352
379
334
330
246
311
292
345
207
364
293
299
301
347
346
341
388
401
364
282
363
365
356
299
358
329
303
290
260
407
317
281
329
374
312
306
297
325
349
355
248
344
351
304
248
422
315
299
314
258
376
369
358
312
291
293
295
286
305
272
246
307
332
248
255
364
343
351
218
325
294
305
257
326
286
314
385
374
327
320
301
312
285
327
313
322
331
346
265
225
353
312
343
342
312
344
338
291
348
333
383
254
361
352
283
351
239
286
226
319
302
326
322
321
281
249
268
375
387
319
308
281
325
272
347
337
363
375
312
304
330
283
380
344
370
333
331
288
304
235
283
386
327
345
368
290
247
223
307
282
256
311
293
331
283
277
293
312
344
331
345
351
355
294
188
326
327
378
235
236
345
331
314
294
334
384
307
389
382
310
291
288
352
300
332
307
379
357
263
253
262
310
306
294
387
270
321
209
291
260
294
383
315
263
275
253
270
303
304
231
301
287
289
255
291
348
228
295
319
282
240
317
322
347
384
334
318
250
304
333
283
315
250
329
297
320
306
340
319
319
258
338
301
382
351
343
362
295
352
286
304
307
234
308
335
311
322
340
370
221
242
301
370
345
313
334
352
302
237
340
319
328
234
319
373
325
340
340
281
383
393
267
216
356
360
307
341
344
294
308
372
356
290
260
361
310
237
220
384
298
323
383
313
274
428
300
311
334
295
323
256
268
270
313
306
336
321
275
389
265
314
327
328
239
314
356
312
311
304
354
372
301
329
280
319
256
322
334
348
322
232
263
282
341
257
338
299
325
354
373
277
285
354
319
313
296
285
271
297
317
417
334
310
376
334
349
279
303
370
300
251
335
320
372
334
342
313
368
368
359
327
395
341
251
262
337
306
356
364
314
308
339
241
333
368
381
304
305
354
289
345
313
290
335
303
341
272
367
362
396
326
312
355
330
332
287
256
333
307
341
348
317
343
317
322
309
351
352
280
346
301
309
308
335
353
295
335
296
416
294
381
355
308
321
302
360
292
344
300
395
331
310
205
293
299
332
372
204
337
281
279
270
251
321
303
352
322
274
206
280
332
279
354
383
338
306
334
339
273
332
258
323
235
387
287
288
378
281
229
307
426
272
243
245
334
313
328
315
269
373
312
270
270
400
319
280
289
357
337
314
297
371
257
279
292
317
371
341
337
356
343
346
315
310
276
328
306
257
286
323
307
373
313
399
347
392
323
298
338
345
226
337
364
368
302
270
310
242
331
292
312
347
380
383
282
355
368
334
324
379
279
309
384
307
347
379
384
404
332
406
340
338
290
412
282
303
333
310
337
383
320
278
244
309
344
335
237
321
273
254
334
283
339
309
266
338
241
298
319
304
326
307
262
264
284
372
372
319
299
363
347
308
351
289
292
350
370
340
318
367
346
297
368
310
367
325
245
395
289
214
284
332
324
263
256
338
336
369
255
374
330
260
299
237
283
293
418
353
315
341
332
301
273
330
313
310
344
283
342
281
263
346
313
350
302
303
331
283
341
272
351
221
394
277
266
352
238
382
355
331
345
327
321
287
312
366
358
364
302
310
200
252
394
370
299
310
321
308
268
330
266
233
276
216
276
349
441
299
292
322
359
304
304
346
275
358
343
349
299
294
289
412
337
362
351
305
319
327
292
353
374
273
297
289
310
328
329
386
318
281
350
263
318
331
293
354
283
328
318
414
283
316
298
284
264
342
272
265
271
314
279
286
217
283
319
283
372
289
333
290
365
304
336
322
303
358
289
300
292
290
351
237
308
343
256
285
361
289
338
328
266
356
319
307
281
352
291
357
286
353
324
287
363
250
284
357
274
265
259
286
257
319
359
309
305
228
369
318
353
304
325
308
263
325
360
371
339
311
351
203
295
301
286
348
353
329
361
300
272
252
332
359
344
365
377
312
335
320
236
343
259
327
283
247
318
280
250
300
301
382
333
276
209
316
381
356
246
297
338
311
366
301
372
349
319
333
277
368
264
415
258
250
318
349
356
257
385
334
338
282
344
358
319
323
325
286
264
289
314
329
292
375
326
296
234
286
349
345
371
329
312
283
292
283
360
322
307
202
255
302
329
371
312
264
330
242
364
336
348
305
321
331
345
235
340
396
313
282
341
260
345
403
366
308
343
253
287
332
385
328
359
276
331
368
333
264
242
298
377
243
304
338
328
315
324
295
310
344
356
240
384
329
363
405
326
277
319
270
312
314
248
259
332
300
281
335
371
273
353
324
303
350
225
312
403
257
318
353
358
337
311
300
338
320
351
302
332
303
308
269
308
257
303
423
338
269
325
311
341
364
316
309
258
325
330
298
307
312
356
288
368
330
308
247
329
317
279
258
292
360
324
318
348
348
320
364
316
238
333
347
293
244
278
361
362
332
284
362
259
306
354
281
394
336
287
287
257
375
338
313
302
285
300
235
390
292
308
307
392
344
264
320
301
300
330
369
331
321
250
307
363
323
286
325
329
343
371
299
245
380
239
285
325
303
261
356
265
312
307
278
341
337
343
330
288
420
300
317
289
342
301
348
290
348
362
341
351
292
303
331
291
312
314
337
404
387
370
321
321
292
268
299
346
226
415
367
366
301
318
264
295
326
362
334
304
325
266
218
457
352
267
304
336
303
317
298
352
292
336
284
400
359
258
343
364
316
339
288
276
333
373
285
287
285
299
279
266
288
280
283
279
312
296
334
311
334
320
263
287
325
249
258
294
360
350
353
345
243
281
321
300
269
296
388
296
347
311
340
286
389
287
379
279
332
305
286
297
309
278
316
339
285
323
240
294
327
322
308
259
377
302
274
244
357
315
254
289
356
356
318
393
305
362
331
295
423
256
320
389
258
327
365
337
270
304
291
308
315
361
253
371
317
360
316
302
316
317
328
237
378
353
392
254
332
355
379
342
274
334
245
306
354
323
271
351
342
360
326
303
296
348
377
351
329
346
325
289
304
336
365
312
344
232
252
357
279
353
316
281
283
328
285
335
288
349
370
293
264
378
378
233
269
401
312
319
320
312
362
387
282
206
291
300
312
334
302
265
361
281
300
296
278
239
285
381
252
289
228
278
329
273
336
322
330
255
311
241
373
242
292
294
362
343
318
427
363
291
324
329
376
244
305
303
267
318
268
201
420
257
334
262
313
254
318
334
335
312
287
312
329
289
276
345
268
295
300
331
276
288
325
254
333
312
238
344
308
429
292
286
326
307
360
323
342
336
305
339
278
345
354
338
312
344
226
311
362
307
368
358
308
316
406
323
305
344
354
360
308
244
363
336
220
355
237
283
333
355
317
358
282
211
352
228
347
265
287
291
341
301
381
324
339
276
334
253
318
366
352
327
371
330
254
290
371
311
308
273
265
364
276
268
314
311
257
280
282
355
383
347
352
387
282
311
225
335
308
396
311
246
341
328
276
352
351
373
297
323
320
334
338
265
280
338
385
349
276
271
290
295
287
301
273
248
367
306
310
387
335
356
345
339
344
336
263
326
332
241
243
327
317
346
335
388
243
354
329
311
330
255
311
285
302
359
310
320
332
306
329
303
356
313
289
309
351
342
254
394
345
263
258
268
365
242
424
305
272
380
287
296
234
304
275
339
276
375
261
317
341
344
308
301
377
402
374
347
254
285
339
321
345
270
327
316
370
324
345
278
319
334
368
260
338
322
294
275
307
291
360
294
332
415
346
347
395
344
337
413
279
408
339
370
268
273
331
389
331
286
276
376
324
277
270
365
321
356
391
313
297
256
305
310
298
333
373
326
234
308
365
366
262
310
283
362
277
301
342
302
331
322
320
331
352
355
303
339
256
352
252
377
308
253
262
279
286
280
286
313
319
352
432
311
348
427
342
329
329
282
342
355
306
281
301
302
271
173
221
290
310
339
395
356
271
261
362
305
347
329
303
316
320
306
350
326
285
322
331
278
326
356
367
290
374
298
347
321
249
311
376
272
312
337
266
291
255
404
367
376
352
349
357
306
366
379
366
376
302
330
282
266
327
302
333
355
256
386
321
357
348
316
302
340
383
316
334
293
324
236
358
251
318
314
347
293
297
394
233
302
277
273
334
323
267
297
290
270
304
260
312
330
326
329
416
290
327
450
247
312
279
306
305
220
271
347
321
201
297
346
259
313
339
315
302
328
253
297
396
298
375
329
345
251
323
279
304
347
298
253
314
295
322
246
243
315
332
357
325
334
381
284
233
295
356
317
267
283
328
274
262
244
302
274
247
347
254
298
330
290
305
219
353
316
336
366
295
273
342
288
382
370
166
333
357
292
317
347
341
288
312
319
339
222
329
353
350
293
261
286
380
291
332
298
218
360
247
292
278
348
355
297
303
297
335
377
247
248
299
311
371
303
339
313
285
269
307
383
277
373
362
329
366
254
332
327
339
280
347
280
346
275
229
351
373
323
376
267
355
268
272
317
295
208
322
268
370
373
374
328
270
293
316
311
383
335
314
359
331
309
326
324
272
357
300
267
344
311
360
260
306
309
326
279
367
343
257
387
327
244
159
265
273
324
288
294
340
306
300
292
303
291
247
290
213
301
281
279
365
285
360
297
311
215
301
325
308
349
250
309
293
312
272
266
362
325
386
361
349
297
319
309
373
315
244
358
260
256
315
315
358
280
377
209
381
296
288
292
245
340
273
358
358
282
325
306
290
307
273
243
265
304
308
337
344
312
334
358
326
301
297
325
347
315
280
377
282
287
340
294
291
302
337
247
334
272
301
300
277
319
278
310
351
359
347
316
331
355
241
340
290
252
328
391
338
387
336
323
327
341
322
365
365
312
293
297
335
344
282
342
341
275
320
335
281
376
323
358
354
364
350
432
370
340
294
275
276
307
260
317
274
277
280
279
287
279
375
302
322
320
293
213
380
315
296
318
271
246
352
346
366
337
226
346
342
271
422
234
312
332
233
279
334
326
391
335
314
278
290
279
352
302
255
353
268
247
322
335
349
305
300
245
327
275
314
365
310
286
333
301
297
307
244
343
306
272
283
272
319
362
334
368
324
232
337
353
322
349
338
271
349
279
360
322
281
357
338
276
305
298
369
342
233
281
338
323
381
305
324
340
337
306
302
314
349
348
229
300
326
287
308
300
329
313
395
266
329
248
398
306
323
441
277
300
330
309
376
311
354
250
279
376
234
277
285
296
292
268
330
365
262
257
254
352
329
250
298
226
190
323
334
339
398
296
304
316
269
273
303
321
340
239
346
339
349
335
224
311
185
352
282
339
325
286
307
401
336
272
297
367
323
234
306
386
291
269
315
296
290
326
375
323
381
336
281
316
324
243
301
279
301
354
314
281
373
358
348
313
356
291
279
318
375
346
319
374
354
290
334
399
335
345
309
371
253
303
358
337
392
279
354
253
304
287
276
276
311
419
317
377
246
375
355
336
306
358
322
258
355
356
363
280
396
285
286
369
347
369
300
227
317
283
363
279
282
383
313
301
267
319
346
343
278
313
292
286
283
307
357
274
275
374
343
359
296
197
315
263
280
396
260
332
283
304
308
244
349
349
310
328
352
330
336
284
304
384
285
321
332
353
329
319
356
299
329
275
263
183
374
278
312
341
348
276
319
271
302
321
349
268
305
334
257
306
350
350
272
264
243
369
351
313
340
299
264
320
291
327
369
211
280
331
357
294
311
402
366
322
400
294
316
278
356
256
266
323
328
292
338
364
334
353
350
231
382
375
227
332
264
352
332
337
284
395
273
289
376
320
235
233
266
333
240
276
313
362
304
363
272
341
368
294
314
300
311
341
280
306
308
373
317
339
274
302
329
384
366
247
304
286
322
339
299
213
310
286
304
332
293
322
298
343
254
290
308
304
313
374
386
305
386
334
292
332
337
313
292
382
363
368
318
252
298
312
324
291
376
355
281
443
294
335
334
258
305
328
283
302
278
274
386
334
277
330
313
380
326
446
402
298
245
400
384
311
213
274
239
287
357
333
366
383
318
306
258
318
259
329
361
302
275
211
220
306
335
301
294
190
263
228
270
319
297
380
294
363
321
359
286
344
326
262
312
337
362
231
315
344
222
298
259
330
335
333
264
304
388
401
353
327
267
308
271
316
307
278
296
261
351
296
305
248
364
312
297
241
406
410
370
362
386
403
284
323
340
406
411
404
300
248
278
307
256
268
239
339
328
316
317
391
241
301
310
317
325
314
349
271
322
335
321
334
292
294
339
302
291
283
289
319
250
386
350
279
398
317
252
336
355
294
365
322
418
343
354
270
309
346
323
336
295
313
374
374
244
297
230
236
311
332
213
315
365
317
309
352
281
367
365
404
336
339
298
375
278
358
337
257
311
269
257
336
327
322
285
346
366
315
359
363
247
284
318
288
313
305
346
281
432
363
326
306
356
310
337
321
346
328
442
258
321
241
413
367
362
257
308
310
347
278
299
346
307
302
233
349
209
337
262
340
338
341
340
300
298
330
304
363
320
298
322
317
378
341
315
362
387
270
287
221
316
266
314
275
317
247
275
332
240
380
304
255
357
364
258
294
300
188
300
307
343
264
329
337
264
344
363
307
259
324
284
305
323
308
236
371
322
344
332
314
349
297
333
266
311
288
306
313
283
303
256
299
285
321
416
330
327
346
356
311
322
342
373
287
285
331
262
296
396
361
332
255
329
237
324
364
369
312
329
375
304
206
344
314
320
375
356
296
347
328
228
303
331
277
288
374
245
337
247
309
276
349
260
426
268
307
312
266
400
338
341
296
305
299
312
354
328
371
352
314
367
311
292
296
247
310
266
380
307
373
371
311
311
396
289
395
242
299
379
320
263
354
362
290
343
209
310
313
368
334
348
300
341
253
392
353
304
261
342
239
243
306
371
271
279
264
238
274
336
359
371
424
340
347
408
259
275
287
344
189
353
343
293
213
312
280
287
296
314
382
322
419
226
288
322
335
297
183
385
316
393
330
352
350
283
345
290
328
317
298
309
330
322
346
248
312
303
207
308
349
329
350
297
256
318
293
353
341
351
240
349
351
326
328
310
359
443
269
305
270
302
274
270
259
269
299
268
280
335
375
224
230
249
242
315
232
249
321
350
292
294
292
320
266
243
386
330
347
331
286
355
333
324
328
367
331
345
260
234
365
344
329
348
313
327
371
290
322
293
316
286
272
370
292
330
345
290
312
259
306
328
275
358
320
355
362
219
279
314
255
265
331
318
339
292
333
310
296
330
282
290
278
265
299
275
337
300
361
364
258
304
392
305
295
285
295
375
251
354
339
375
383
393
322
341
259
303
244
330
347
334
296
321
315
267
435
297
319
320
355
286
353
311
308
438
273
355
287
381
300
268
303
304
215
335
316
264
262
277
326
364
267
332
293
271
356
232
309
322
339
276
360
335
319
278
347
338
349
286
282
335
276
267
307
298
260
341
328
228
326
345
313
343
368
310
372
287
255
308
217
397
263
315
339
329
268
322
313
348
395
348
334
310
270
283
359
262
266
368
377
398
290
313
400
379
308
323
320
275
263
349
317
222
274
383
328
298
317
236
373
280
275
334
354
346
352
260
271
309
265
283
309
272
304
248
312
306
294
342
353
353
330
262
276
306
306
331
319
287
307
244
416
338
282
297
330
268
297
290
324
279
304
359
314
306
252
343
255
210
339
389
349
346
307
323
278
334
333
332
145
247
337
300
290
320
381
331
277
336
286
249
372
221
364
194
327
309
258
264
321
322
394
297
306
325
295
366
221
268
285
363
317
367
362
366
216
263
306
386
354
293
356
223
408
404
233
329
318
259
305
366
328
270
329
297
418
330
312
364
339
358
293
271
304
298
298
257
176
256
346
343
299
329
357
321
326
275
302
260
242
267
298
375
351
353
367
296
317
368
293
296
271
316
322
265
316
295
337
274
373
297
272
342
256
397
387
336
341
438
344
404
337
336
315
348
305
316
363
281
314
381
326
334
345
363
307
235
273
246
363
359
274
370
303
336
350
346
392
249
372
248
342
344
326
305
316
329
334
334
324
465
348
268
273
344
383
294
333
286
395
390
350
343
378
270
325
409
313
369
357
408
277
279
280
322
275
295
253
406
304
321
207
233
336
215
294
279
358
283
384
331
328
319
336
377
309
344
226
355
306
308
297
313
293
214
215
337
324
317
290
197
232
271
339
321
418
293
378
417
263
333
345
290
260
358
282
364
402
351
301
300
365
377
337
228
393
318
294
369
293
401
286
322
321
347
389
332
311
369
284
357
336
301
415
355
340
350
300
335
367
301
266
334
327
335
349
360
320
283
302
368
306
288
332
318
329
358
347
317
357
307
342
340
371
265
314
317
242
312
262
365
359
373
441
281
363
335
332
298
317
262
310
327
277
302
251
365
282
327
326
279
330
304
328
271
346
295
297
310
274
361
417
334
306
322
284
354
305
284
349
374
295
305
283
341
282
264
327
320
356
290
218
312
261
281
361
279
356
281
260
353
299
336
337
329
227
272
344
371
226
330
225
378
325
290
306
261
254
325
272
308
333
312
348
237
251
270
292
299
262
346
324
378
221
281
272
308
359
332
238
207
327
312
300
310
296
333
415
298
315
340
331
329
272
286
282
288
305
313
342
330
307
290
315
335
288
279
316
350
373
228
284
324
224
265
240
359
371
374
311
325
204
268
319
301
363
413
304
246
266
325
397
299
248
311
356
266
395
326
324
317
285
321
329
282
270
322
344
304
298
284
289
346
355
328
310
354
207
335
281
289
275
327
256
281
254
302
243
362
337
358
453
365
351
275
314
362
358
342
334
337
300
345
385
359
312
250
328
335
380
351
366
263
296
326
291
337
350
311
281
377
381
406
367
349
291
350
195
345
272
408
263
352
390
316
345
300
341
308
372
402
291
327
389
300
241
277
326
358
329
322
322
326
243
347
306
345
309
242
312
319
289
309
236
337
357
230
394
311
356
288
264
342
281
333
320
327
326
377
217
298
337
345
256
295
216
297
258
250
352
296
308
288
292
335
364
262
323
285
325
345
360
335
321
295
299
375
259
353
333
360
271
324
314
265
235
322
298
301
289
314
334
304
346
313
308
365
242
351
371
306
335
344
336
407
309
360
300
154
288
328
257
354
390
340
250
214
255
300
281
328
370
363
333
348
254
315
308
257
365
252
205
349
324
391
350
318
400
383
352
331
373
302
302
213
309
300
402
373
276
385
307
336
419
225
328
283
333
361
310
374
243
252
326
348
330
274
342
359
303
354
290
278
274
291
287
305
313
302
262
350
375
325
327
312
326
378
353
320
131
353
295
218
337
322
273
350
251
351
308
275
344
422
309
320
314
301
347
257
288
319
297
299
443
242
320
385
391
274
295
359
308
274
329
340
283
285
332
404
297
390
275
263
271
335
305
363
327
315
293
281
318
372
343
254
298
300
305
369
394
352
366
231
282
334
286
274
310
410
311
240
330
414
365
336
267
351
251
360
361
243
397
305
328
303
263
279
324
282
316
329
331
335
331
275
254
298
340
385
243
284
363
328
293
282
320
276
302
319
340
249
343
255
379
403
269
306
248
331
276
271
354
247
342
364
327
360
318
361
273
290
348
290
284
365
342
306
272
321
352
388
323
321
352
237
326
344
321
381
300
249
334
296
292
280
322
350
375
279
324
263
268
279
292
323
301
346
360
263
288
350
342
334
326
272
300
281
348
283
306
340
289
414
276
291
289
318
372
409
323
342
298
337
333
295
254
325
358
281
414
318
291
342
184
299
332
367
337
268
314
318
258
335
333
284
356
269
337
318
323
387
278
321
319
343
263
270
263
350
355
324
305
306
295
295
268
288
323
378
319
333
350
269
288
290
375
386
328
272
318
283
229
248
285
336
370
299
294
344
362
267
315
279
264
386
390
350
270
273
294
314
311
316
242
305
369
308
401
266
249
338
418
305
265
295
330
253
261
215
329
261
342
274
386
300
396
338
347
302
351
297
318
237
242
276
389
293
359
350
299
420
359
290
383
373
412
335
353
431
337
249
268
303
344
273
378
326
353
294
349
348
251
318
258
259
358
350
340
282
296
361
318
398
290
228
257
331
322
310
389
344
348
313
282
281
209
341
316
226
243
325
331
317
327
394
375
348
266
247
270
340
226
329
324
394
371
297
345
251
359
306
346
286
311
373
345
372
314
274
306
274
324
312
322
277
344
364
303
296
394
265
283
322
392
366
382
206
319
339
338
294
377
286
282
415
398
407
356
352
339
363
295
312
319
347
288
338
268
383
319
322
281
359
320
281
301
359
260
390
353
326
347
304
263
343
264
246
352
249
251
334
281
279
317
337
259
336
370
287
363
296
304
255
354
333
283
265
325
273
291
398
305
276
313
340
367
324
320
318
247
363
317
351
316
367
285
278
307
283
311
350
319
291
250
314
263
378
399
335
312
367
308
275
281
338
269
338
350
307
346
337
275
350
311
320
282
298
290
350
332
351
413
357
293
293
264
220
290
321
336
241
202
415
289
260
260
295
273
398
420
233
299
373
247
267
399
283
328
271
273
302
358
244
262
280
364
294
337
351
337
309
308
361
206
292
331
323
321
345
298
259
216
295
346
343
302
390
295
284
351
322
372
244
266
282
283
277
386
380
396
320
280
266
277
256
349
393
232
349
262
212
316
365
297
388
334
331
309
384
330
367
297
296
324
390
255
311
297
271
278
322
342
311
281
285
304
338
372
302
370
302
232
185
337
218
317
325
232
241
366
393
323
298
411
332
330
353
321
209
262
281
261
353
335
343
231
340
389
277
390
276
319
275
203
316
339
367
355
352
376
322
374
316
259
336
345
328
282
307
336
349
363
249
330
303
387
280
299
310
371
299
385
342
364
348
328
332
388
257
388
304
320
291
349
349
363
411
270
286
230
377
337
369
332
258
346
308
276
226
300
261
346
318
311
259
338
317
335
302
333
306
283
318
266
361
357
333
359
376
325
279
310
285
402
377
304
261
354
266
329
317
240
348
274
330
345
398
309
259
353
359
379
276
302
326
396
264
343
293
364
308
366
328
278
330
305
317
387
272
307
269
338
344
252
304
259
309
335
274
291
282
361
271
348
346
293
422
394
325
317
282
313
283
212
242
251
291
302
452
337
306
344
279
349
360
311
279
270
327
292
340
250
338
196
301
276
353
293
267
272
319
298
265
415
335
309
320
303
411
346
236
305
336
303
397
301
362
373
402
296
373
446
300
328
281
367
354
328
320
256
352
334
391
315
256
256
321
355
372
331
257
216
374
369
318
326
290
340
316
301
422
278
214
306
349
266
355
237
319
316
323
350
313
236
262
311
262
400
275
297
325
312
296
312
279
240
275
289
304
257
229
303
230
312
320
257
377
303
331
373
249
333
265
396
366
319
331
295
344
333
203
280
263
333
383
271
277
344
264
209
335
298
388
367
323
353
347
346
272
331
353
381
243
336
375
255
337
309
338
333
335
293
194
372
345
325
365
324
302
307
356
346
375
279
233
396
241
287
302
268
251
335
146
291
315
311
449
290
328
271
337
314
300
280
277
335
376
241
393
270
334
347
310
386
275
318
324
287
296
304
313
298
290
355
333
319
350
397
342
308
218
346
349
254
317
349
336
420
330
301
285
272
352
305
340
281
357
349
253
339
316
286
248
333
230
333
344
304
309
362
353
302
373
294
234
311
264
275
301
288
285
290
302
401
313
319
369
390
291
322
314
324
280
332
317
210
331
317
383
317
310
221
351
314
338
228
327
271
347
276
267
399
263
255
309
341
312
284
363
350
280
340
288
396
419
308
312
289
349
326
313
249
379
274
264
267
324
263
309
277
234
291
297
373
417
328
389
345
333
288
371
292
336
339
374
250
323
282
344
358
306
349
317
330
302
284
415
344
405
248
379
371
302
290
289
295
294
243
281
323
320
320
306
364
293
277
342
298
396
285
314
369
290
285
353
322
350
261
418
366
265
247
330
352
403
299
283
248
293
270
233
239
363
346
345
289
272
243
338
269
300
238
284
377
330
284
306
317
326
276
280
361
263
307
330
263
291
352
323
310
285
297
339
378
285
357
369
308
324
284
258
351
347
298
305
366
333
324
321
344
332
337
296
375
369
260
251
358
323
317
300
244
291
317
261
282
348
271
309
355
334
331
404
269
231
361
208
321
242
312
361
290
247
368
330
320
323
294
298
347
284
266
337
332
330
317
331
366
370
301
328
374
248
340
244
369
271
307
303
321
318
300
343
300
330
323
316
338
378
322
315
229
316
333
334
309
264
359
222
352
295
332
316
310
237
313
270
302
311
303
393
369
431
329
265
291
345
389
243
327
281
326
256
276
259
269
291
357
312
293
364
300
336
329
377
416
311
305
182
335
365
223
259
360
334
228
293
352
279
328
356
267
299
229
288
213
337
315
347
296
376
329
333
289
340
250
213
329
266
407
289
267
325
308
379
286
318
333
365
299
332
315
345
330
344
272
393
251
368
304
263
262
292
315
306
236
324
260
240
315
321
271
336
275
352
258
333
405
351
279
331
315
301
312
311
357
368
349
372
358
275
322
296
273
368
270
319
276
432
254
346
364
276
371
301
397
237
342
352
310
331
314
283
337
328
355
246
301
352
338
327
311
392
348
405
294
332
268
314
285
376
293
312
314
302
260
321
313
284
342
383
331
330
237
303
323
290
341
364
355
263
344
447
380
322
365
289
294
348
327
313
298
395
287
266
403
370
270
367
330
355
289
323
290
259
280
328
359
268
324
390
287
413
353
278
334
411
354
290
332
297
246
310
335
408
324
283
309
314
314
356
298
367
405
281
293
284
347
316
368
257
365
295
312
399
271
284
282
367
268
407
300
372
299
292
361
278
288
356
322
297
318
306
380
385
335
259
375
372
358
293
284
311
386
325
339
369
286
307
377
291
362
304
355
323
334
230
407
327
405
287
292
401
312
336
377
250
247
335
409
347
324
234
340
249
198
264
288
388
265
345
284
287
373
347
363
258
337
251
309
305
348
321
333
286
349
302
276
355
386
324
284
296
346
271
267
290
312
318
172
378
237
278
377
298
377
339
336
333
343
312
341
318
337
340
331
325
346
315
303
361
309
253
309
278
366
341
295
349
293
324
335
334
349
322
368
262
335
324
300
358
302
345
304
372
360
276
340
356
327
302
355
260
200
304
361
293
399
348
267
242
286
297
348
323
306
348
360
319
378
285
349
340
403
301
251
302
293
284
335
282
399
324
255
330
248
250
320
265
301
251
276
385
350
381
342
352
352
280
341
308
259
262
348
274
391
359
273
340
365
335
342
295
320
338
375
313
315
243
312
285
336
240
338
370
359
391
311
263
315
358
246
310
338
329
265
347
282
321
273
315
251
262
354
263
317
253
312
295
308
360
321
390
344
282
265
310
304
282
343
341
320
275
257
225
315
283
334
386
364
217
297
318
287
309
306
271
331
227
333
336
412
236
372
372
264
271
338
396
288
320
310
359
265
337
228
227
357
322
340
271
317
339
369
382
344
321
299
345
230
340
321
265
211
265
323
280
409
344
392
345
306
261
286
336
293
353
315
295
310
290
315
296
296
254
328
230
326
355
390
297
376
322
359
280
362
338
348
328
314
236
314
355
299
306
331
320
291
296
263
316
324
283
303
372
351
364
294
295
293
364
286
328
283
377
321
290
368
285
288
253
367
200
279
350
297
357
340
286
303
382
272
371
276
324
294
315
393
309
289
336
386
265
387
361
269
341
334
333
291
253
278
393
302
296
304
323
233
255
366
294
369
331
381
356
307
269
332
323
347
269
290
299
240
278
335
352
240
387
299
314
328
351
250
302
247
343
317
301
289
324
276
354
352
305
365
279
394
334
283
178
284
270
248
340
292
302
325
233
246
351
360
378
397
317
249
273
315
331
300
377
267
303
413
278
276
314
232
331
280
258
300
373
336
309
297
336
399
380
350
383
378
296
293
282
354
332
251
389
375
337
297
380
263
400
283
238
359
375
380
316
342
399
339
343
308
367
264
312
346
343
289
349
309
336
229
276
288
370
298
352
323
343
340
331
343
385
258
290
403
310
302
359
276
343
254
294
340
302
280
338
363
336
223
299
309
241
290
294
304
361
399
309
361
304
307
391
316
315
347
363
251
361
258
367
320
320
310
264
344
386
281
367
337
346
324
307
305
338
301
351
229
302
332
393
386
317
341
359
239
389
383
332
285
395
345
237
380
337
328
327
293
314
272
329
277
312
388
237
277
297
294
355
317
313
275
290
308
354
339
301
372
329
271
354
323
249
376
375
364
280
312
273
338
404
247
269
333
227
350
276
337
354
312
284
346
369
329
335
356
316
363
374
260
326
265
311
391
392
296
316
346
357
323
312
404
321
335
288
317
349
400
210
384
309
366
378
307
307
267
291
315
291
353
340
327
393
320
283
282
413
265
311
374
271
251
308
342
368
316
368
365
275
318
329
333
317
293
266
287
336
259
351
296
334
373
284
310
338
341
356
274
314
303
296
299
276
286
381
302
313
308
283
276
351
351
367
271
321
326
306
320
369
251
305
290
332
329
296
289
395
381
355
256
272
289
317
322
390
246
318
278
268
335
381
224
362
359
289
356
232
337
369
356
304
255
317
291
376
241
352
370
258
321
275
320
374
345
343
292
335
347
282
327
396
329
269
318
235
298
297
254
252
313
264
361
359
290
299
322
298
353
261
261
319
365
248
417
348
321
330
328
337
384
314
260
319
325
304
227
313
320
298
363
274
335
283
361
362
315
361
345
273
363
247
336
337
394
290
258
211
307
288
318
295
340
273
291
367
323
293
325
312
326
297
223
341
371
229
370
282
263
252
300
345
268
362
413
324
308
311
300
299
323
289
311
330
277
307
338
270
344
313
281
357
396
311
403
278
367
229
338
389
290
226
264
382
327
338
340
383
286
333
309
371
323
320
326
342
344
315
285
343
305
236
303
280
278
387
288
314
314
295
351
307
260
315
371
354
235
310
256
222
300
342
343
256
377
266
338
429
333
379
303
377
297
319
302
345
303
339
279
203
365
386
300
284
183
262
386
340
331
295
380
229
363
351
266
228
350
373
314
203
292
361
318
313
315
306
333
243
376
373
306
362
389
330
307
370
270
363
215
368
307
362
344
313
324
364
317
280
312
343
321
277
287
311
386
248
280
343
281
433
356
336
366
316
272
323
204
305
265
326
274
315
333
301
353
296
322
366
371
285
369
322
222
295
308
267
309
210
296
204
366
316
299
310
325
254
318
327
346
243
361
294
332
372
362
277
299
299
317
328
326
391
296
343
271
299
402
382
375
405
314
258
369
267
314
191
327
343
278
279
290
314
310
302
329
280
377
278
357
381
314
273
303
256
360
306
350
335
378
293
258
290
396
346
302
362
256
275
215
321
201
296
273
250
269
339
322
414
303
247
311
262
247
340
313
221
273
300
336
302
398
331
279
294
452
309
296
281
332
337
317
308
321
245
372
360
353
278
351
255
257
392
328
298
301
290
292
320
321
304
392
323
339
389
279
352
281
292
324
346
321
331
290
286
301
293
366
287
262
276
400
318
181
299
403
332
268
305
322
333
240
292
269
312
237
328
309
280
362
249
358
343
235
307
318
341
407
239
237
334
301
359
298
278
274
360
224
337
343
296
326
369
368
313
322
323
320
383
276
420
346
323
337
285
268
293
281
229
368
376
336
299
410
303
359
358
359
326
295
348
292
226
338
381
322
331
285
242
269
342
328
271
326
291
280
310
299
343
285
365
282
361
334
316
290
324
349
319
319
325
385
265
360
344
309
278
338
310
299
273
290
293
360
375
361
349
313
323
275
326
213
285
360
289
332
409
396
303
345
342
345
321
268
306
393
355
450
325
391
292
332
357
329
319
344
261
302
310
335
337
362
224
290
280
378
297
309
308
363
207
324
394
312
337
357
329
326
361
297
275
320
276
321
244
385
331
307
313
321
299
264
273
302
299
289
347
288
324
313
325
393
311
293
325
369
333
292
243
241
359
328
343
311
315
277
310
286
385
299
413
338
309
296
312
352
260
336
342
325
351
273
390
429
274
306
379
254
315
328
361
365
348
263
379
336
246
309
272
350
397
296
222
327
290
324
271
273
292
257
310
289
272
295
327
388
266
290
268
296
328
366
327
331
303
373
359
323
403
360
364
341
343
313
350
302
418
266
358
381
307
302
241
408
319
362
430
311
303
174
318
300
348
235
302
343
363
343
238
219
311
292
310
267
353
346
322
298
301
288
364
273
335
301
347
333
336
303
291
264
236
280
245
294
280
300
243
293
333
253
216
361
391
376
264
310
301
311
232
348
287
261
289
314
295
325
245
324
342
365
318
367
339
293
250
317
378
264
352
287
270
312
348
279
311
300
322
378
298
276
326
311
298
400
357
343
306
188
359
338
338
266
297
332
314
376
322
281
320
296
234
261
362
367
287
334
313
373
342
285
286
284
391
289
289
244
376
289
322
238
309
375
319
368
267
296
406
311
298
331
270
236
297
364
323
355
357
278
342
303
289
272
299
328
212
303
403
276
297
267
260
302
370
348
334
361
315
316
302
409
335
299
275
351
295
303
358
358
329
299
308
329
286
368
357
357
326
371
281
336
312
387
336
400
292
285
373
259
313
289
239
312
362
329
414
327
330
333
287
319
329
297
224
238
213
268
344
336
341
260
289
338
304
330
303
333
259
278
339
360
351
317
304
348
321
267
361
396
297
311
287
287
261
360
427
352
354
395
348
262
250
311
287
279
332
312
318
246
341
288
332
331
399
358
328
332
282
308
274
236
321
325
329
229
276
286
324
416
348
319
306
337
314
341
289
303
290
316
235
329
368
221
236
324
363
253
357
380
354
334
264
220
248
421
321
394
191
262
321
340
346
302
296
374
332
421
328
306
193
319
329
340
318
308
344
370
218
333
275
334
300
363
321
391
351
384
287
354
306
318
329
408
401
246
273
304
284
299
334
318
339
286
305
323
339
298
345
333
354
296
340
314
328
331
273
261
372
354
340
312
408
325
384
424
342
344
298
319
198
310
364
228
284
357
320
228
386
357
298
346
288
225
325
342
355
306
286
322
290
282
341
236
361
337
307
297
262
301
268
363
318
346
351
363
340
394
313
377
428
349
326
303
280
382
220
371
275
272
272
277
312
265
295
313
307
320
338
331
331
261
351
337
275
280
251
370
360
396
335
360
334
318
336
306
301
390
306
244
331
313
331
364
350
263
335
399
362
326
289
334
326
335
359
312
270
248
342
331
335
351
309
250
387
345
245
262
332
376
304
302
223
271
315
331
376
386
357
380
405
353
343
326
340
360
400
226
356
227
310
308
267
264
362
345
270
301
310
391
175
352
302
343
311
301
370
397
271
351
302
281
305
306
320
297
367
247
318
277
339
329
312
301
414
319
302
272
302
427
311
281
293
342
315
379
332
314
293
295
259
273
338
271
336
294
411
261
323
303
317
317
344
375
320
360
301
318
351
326
334
321
314
347
423
295
348
324
363
307
384
311
351
405
342
333
308
316
402
333
359
359
305
340
346
259
363
286
256
252
311
358
283
310
328
315
275
324
294
307
361
342
268
307
352
392
329
254
316
287
349
309
284
276
329
329
306
313
340
330
314
292
370
333
275
331
351
361
434
279
204
369
370
298
345
230
272
280
305
310
308
401
345
309
330
318
338
276
194
390
329
285
286
387
310
332
347
303
332
337
303
368
318
234
375
228
363
362
385
236
348
210
337
310
358
271
260
278
381
346
348
262
301
293
321
300
252
288
364
346
393
389
326
350
301
307
320
350
364
243
288
287
315
310
389
371
293
242
339
324
279
392
371
273
348
290
295
345
295
330
286
367
278
329
279
360
231
332
242
302
267
283
294
330
290
312
269
351
263
193
336
320
277
313
307
241
371
332
347
352
220
249
271
251
360
274
310
338
259
334
278
311
358
288
350
242
366
290
301
279
259
305
225
307
276
289
220
356
339
313
239
312
310
238
305
363
309
304
217
342
374
249
236
315
286
375
269
322
291
259
364
282
294
283
358
337
321
324
327
345
363
316
254
276
299
278
392
336
311
259
322
337
321
250
248
392
245
396
291
266
289
326
267
324
357
281
325
402
311
308
317
334
257
322
316
294
305
249
352
314
264
345
392
313
251
314
306
214
277
247
316
229
230
298
340
291
298
244
327
316
327
324
282
337
364
335
411
313
349
298
333
343
321
416
353
308
361
348
363
343
334
264
336
325
335
332
267
358
326
273
334
262
301
270
384
358
264
298
342
306
247
234
299
390
277
308
234
338
292
367
347
212
288
369
385
268
318
311
256
367
362
340
235
312
303
349
279
382
376
293
374
295
230
322
330
325
273
226
253
338
348
341
378
412
327
304
318
352
239
259
371
253
301
358
347
366
323
304
267
224
341
250
285
351
308
259
359
392
225
302
404
246
319
186
306
319
260
294
296
323
262
273
268
355
343
285
290
355
388
324
307
319
229
315
296
301
342
350
322
345
368
387
243
331
340
291
374
266
361
295
229
315
334
276
390
291
368
327
372
312
307
351
351
290
337
258
245
311
313
260
262
338
240
294
312
351
370
329
402
306
266
286
339
306
363
367
359
286
304
303
308
350
303
381
377
340
288
239
278
284
219
239
252
238
270
343
388
279
323
336
426
235
303
305
219
337
320
219
266
304
265
307
322
280
359
362
344
345
334
285
345
388
300
375
283
311
306
324
304
272
325
411
275
348
399
314
330
322
286
304
298
319
226
302
319
310
370
278
293
292
375
336
267
200
265
305
267
368
317
296
325
319
389
200
289
270
268
335
303
281
247
303
359
369
391
295
335
365
316
275
230
294
270
274
351
377
336
319
298
268
329
240
321
350
271
243
326
339
318
376
271
337
346
286
325
301
251
293
316
297
349
381
278
242
333
303
298
353
298
302
266
226
350
349
334
347
350
354
310
319
273
378
362
370
286
249
341
320
264
313
349
433
403
318
373
351
247
317
366
265
287
274
370
232
345
337
291
422
293
338
323
351
237
254
334
322
310
351
303
354
337
378
338
305
307
258
279
263
281
368
311
358
241
305
304
338
263
327
192
309
381
278
225
261
307
251
301
366
338
278
234
246
320
358
261
318
322
392
315
289
260
312
321
285
293
362
260
338
369
282
339
289
288
332
347
309
330
296
359
254
259
255
258
280
388
279
380
257
286
355
289
242
327
309
346
328
269
325
295
298
306
279
262
336
453
262
345
311
330
351
313
248
296
298
308
307
316
352
316
352
351
395
326
252
381
379
287
272
298
342
320
329
344
351
353
290
228
335
310
243
225
305
393
272
323
279
348
353
315
334
322
285
274
342
234
302
310
285
360
308
354
325
304
336
424
301
295
360
387
272
327
328
384
325
322
360
287
283
343
373
335
340
251
350
266
308
308
305
305
326
269
318
332
305
380
357
267
351
281
304
267
288
355
338
354
287
355
294
238
278
267
316
327
376
290
319
328
356
321
383
246
188
277
430
275
324
318
308
328
337
342
334
328
288
297
242
157
334
376
324
405
307
280
363
371
309
321
313
295
293
332
351
230
282
352
323
306
426
316
239
294
254
343
246
288
229
263
275
198
246
299
258
329
274
264
384
263
315
355
273
307
293
324
292
309
309
377
303
367
267
332
367
344
413
293
329
391
344
239
314
394
224
338
321
334
302
400
290
268
406
326
327
366
214
288
404
319
238
337
308
306
260
378
394
325
263
251
313
280
364
352
294
321
231
362
285
236
398
379
332
328
327
405
258
341
345
323
275
363
369
362
373
279
332
331
349
218
333
361
328
327
326
278
406
277
360
307
340
281
327
322
341
380
277
328
262
341
373
299
384
342
347
344
277
397
327
405
338
262
246
258
355
269
265
285
294
218
274
392
308
276
333
216
271
314
309
229
232
378
334
286
321
359
247
346
367
373
383
205
321
362
347
309
326
281
248
326
309
343
272
298
330
281
305
381
273
353
306
310
360
294
356
363
336
323
274
263
339
307
278
342
249
319
330
355
293
336
352
342
313
346
280
277
335
328
367
379
345
283
289
327
370
294
352
259
362
295
253
327
304
361
411
371
200
304
320
331
253
332
280
348
301
365
305
356
284
329
297
326
318
268
326
318
276
311
403
336
327
444
369
319
390
283
323
352
332
359
275
249
313
353
276
255
283
319
242
346
366
309
336
308
377
339
340
325
366
335
317
283
287
250
286
334
253
254
278
308
406
368
279
352
309
319
311
285
282
318
284
400
418
393
258
317
383
336
280
346
368
341
321
332
260
248
276
286
376
233
280
388
383
310
329
300
315
246
302
367
299
305
244
313
337
283
326
260
349
282
365
272
320
327
325
372
239
386
219
336
335
261
329
299
220
375
244
315
338
347
355
268
342
309
352
315
331
290
322
330
229
373
310
309
298
358
268
271
325
420
348
375
281
319
304
377
266
316
375
284
348
343
363
354
247
246
330
379
324
353
288
270
341
312
334
335
286
260
374
324
345
296
350
290
402
299
324
292
298
293
231
296
385
223
257
319
377
263
374
283
206
295
273
308
335
318
305
279
400
250
324
293
308
315
353
295
340
366
278
359
234
373
285
352
260
372
253
259
276
308
326
343
309
344
364
420
325
296
270
310
323
358
353
405
288
341
335
350
358
385
375
339
364
308
296
307
318
306
283
290
394
296
262
333
265
348
338
309
328
340
318
344
277
332
358
308
348
394
340
340
289
328
291
243
342
229
303
276
249
253
287
302
314
270
299
363
297
405
336
276
306
372
375
270
357
381
306
304
253
366
286
329
296
343
336
341
231
285
329
235
415
334
339
378
220
332
185
352
360
336
344
289
291
203
327
346
328
227
333
329
312
310
348
331
338
369
295
264
323
244
340
290
327
291
304
360
350
269
279
319
346
317
299
338
240
308
364
295
249
388
357
336
378
272
269
246
331
328
419
285
297
265
319
367
283
340
292
329
279
279
292
312
242
245
237
255
163
347
325
253
341
315
368
298
373
378
272
284
281
364
351
275
314
239
291
299
339
403
298
318
331
289
250
315
297
411
314
336
286
345
383
348
397
312
298
221
346
285
301
305
303
320
300
300
370
355
282
306
323
400
313
308
282
373
336
391
290
305
337
258
340
335
356
291
317
401
365
364
294
364
292
263
247
377
323
363
311
238
299
337
336
317
392
350
353
280
259
348
375
291
314
315
336
347
294
262
351
392
309
295
329
299
335
279
267
260
306
362
240
273
368
308
200
306
373
324
344
293
277
303
276
262
301
256
315
270
302
277
317
354
336
383
323
278
325
338
337
342
268
332
319
338
242
416
279
324
277
263
325
306
349
392
344
305
240
382
310
309
343
302
318
223
349
272
245
336
315
349
311
270
359
359
287
303
303
268
346
327
342
347
259
305
310
327
256
319
292
262
347
304
327
280
327
271
251
226
318
294
349
340
334
307
255
366
331
346
297
309
333
347
316
289
288
292
255
244
318
311
370
419
377
271
343
316
274
286
208
346
353
336
303
304
268
324
309
282
319
339
300
355
327
377
296
364
258
287
253
378
273
296
268
269
331
351
355
367
344
275
384
326
366
288
337
226
301
297
282
350
269
309
365
281
217
342
325
302
217
252
323
239
335
378
426
328
271
250
350
322
215
301
307
302
382
305
273
314
298
338
330
367
345
259
266
331
370
385
339
300
326
299
333
328
319
233
232
346
286
366
314
340
290
217
336
322
292
366
269
225
304
293
328
240
238
257
328
318
301
355
349
380
299
321
365
407
254
279
327
301
293
365
288
283
301
363
380
300
344
274
392
258
281
244
299
325
289
354
307
385
330
314
338
282
350
190
342
312
372
307
301
334
333
402
354
288
316
269
332
301
361
302
316
311
288
309
251
282
343
274
293
295
388
360
289
319
306
261
338
340
373
365
367
267
302
242
289
378
198
332
313
323
324
396
362
294
205
306
320
284
366
335
274
247
281
263
380
374
317
383
403
275
260
288
296
359
328
379
395
321
294
307
333
374
301
300
291
350
276
294
333
245
338
292
300
329
367
402
294
330
322
297
222
305
322
320
252
385
325
311
350
256
373
328
262
286
314
267
372
288
315
277
347
361
334
262
276
353
360
399
388
374
271
332
328
393
200
279
278
250
389
271
352
326
310
391
228
321
341
265
323
300
379
394
310
281
340
318
232
305
320
272
345
344
250
337
314
386
345
350
380
342
294
311
340
228
373
340
207
343
381
288
246
385
307
336
394
379
340
304
306
370
435
356
359
326
348
295
264
363
337
403
290
321
378
311
260
254
326
272
356
298
378
323
324
295
365
336
341
239
357
343
342
348
333
293
364
314
223
345
305
273
344
355
297
310
291
226
205
401
259
317
249
330
323
358
366
263
295
346
374
327
296
359
291
373
285
281
226
331
292
319
292
277
320
321
365
326
363
312
347
285
347
304
313
379
333
336
349
267
326
325
275
437
386
290
397
363
372
310
384
338
323
326
306
272
327
355
329
285
378
255
245
392
388
361
290
240
273
369
217
274
392
348
210
359
370
301
339
285
340
277
337
318
290
284
314
284
314
351
301
335
199
311
266
272
334
309
345
246
313
243
291
353
335
352
306
363
389
348
334
289
244
233
335
376
342
331
331
242
293
314
383
218
308
302
348
330
324
343
293
301
294
335
329
293
369
342
305
266
354
258
324
380
263
269
353
365
331
339
321
265
254
353
348
252
350
348
397
310
297
321
384
262
370
279
260
328
296
329
276
277
354
290
272
331
371
294
305
328
368
333
358
283
271
336
385
339
249
294
321
321
274
348
368
354
406
309
285
354
385
285
298
328
303
194
368
266
317
315
279
271
411
233
426
363
322
321
305
336
360
414
394
259
326
285
286
263
317
287
323
306
238
355
314
334
310
289
293
317
328
368
277
333
374
239
287
338
266
322
259
317
242
297
350
386
342
324
340
329
246
317
253
333
355
212
335
323
321
273
266
340
219
314
327
367
371
283
287
215
338
325
331
308
376
366
310
245
300
365
300
344
329
311
370
286
332
295
367
308
229
328
360
336
313
344
323
307
337
289
366
249
213
306
283
354
309
299
301
366
384
362
386
324
321
246
300
291
362
369
347
375
248
293
294
261
324
260
293
332
380
311
279
285
410
312
325
327
198
353
328
290
310
297
349
273
300
306
337
403
380
297
363
353
275
362
278
325
301
285
310
326
349
373
332
314
277
302
382
341
265
346
287
366
329
302
312
346
225
325
344
315
339
337
296
318
410
341
378
281
268
309
367
251
282
314
307
318
296
280
317
331
341
324
355
263
342
284
298
353
310
358
261
289
314
290
326
257
295
337
278
337
355
267
336
355
339
383
374
350
301
303
384
321
303
315
344
388
292
378
281
265
293
292
326
295
325
331
345
354
329
307
345
325
343
352
285
308
317
381
249
320
257
306
320
421
292
281
325
365
336
290
307
359
323
411
264
387
337
319
270
279
341
278
173
399
332
374
234
263
340
363
383
306
274
403
372
269
288
251
343
356
322
295
242
361
369
369
292
242
342
308
359
310
348
393
382
329
295
304
289
300
300
285
368
357
327
330
346
368
276
336
330
307
283
284
279
381
378
362
351
330
205
227
333
339
231
362
330
345
296
364
227
320
354
304
406
311
302
383
295
357
334
377
365
236
318
285
296
412
304
353
252
292
321
271
334
308
359
301
260
304
335
283
338
280
393
364
307
217
268
331
332
302
268
322
224
298
363
289
303
328
322
359
289
307
325
381
337
287
299
386
247
251
292
315
277
277
329
252
370
286
276
357
298
215
293
336
357
362
382
293
336
321
306
303
323
365
371
278
364
337
336
311
322
340
305
331
398
280
257
289
337
345
342
333
350
259
311
321
409
238
312
364
323
214
292
364
288
340
315
241
334
306
237
314
291
305
302
230
302
255
318
347
338
297
322
349
230
262
364
244
349
316
293
240
168
317
348
351
427
270
394
287
332
331
348
258
342
253
378
335
368
293
323
293
311
395
292
352
306
347
298
346
279
280
374
319
313
369
269
302
382
280
275
344
255
272
256
340
317
347
296
350
171
353
284
333
302
334
361
268
377
338
362
399
223
300
318
263
359
380
293
273
186
397
301
285
295
362
316
301
353
300
347
365
346
320
310
276
334
369
344
355
309
329
308
328
362
402
366
341
350
357
327
317
381
329
366
296
314
341
317
347
333
347
297
351
347
306
272
299
345
352
300
260
313
341
339
278
298
308
328
335
338
309
307
338
356
258
240
322
269
357
378
238
280
338
273
352
328
319
263
324
394
322
337
263
359
261
292
284
326
285
339
240
285
346
278
344
343
322
240
254
292
378
257
295
343
392
356
362
342
257
300
292
319
380
413
333
346
340
316
409
362
364
267
299
237
312
385
312
302
381
357
255
327
354
309
322
267
315
266
322
351
356
338
315
309
226
272
295
275
366
238
252
294
321
217
320
380
419
362
303
305
292
331
323
308
350
282
357
359
334
317
346
323
233
326
399
309
278
321
346
217
376
328
335
329
379
302
292
412
296
231
322
292
273
350
263
304
323
331
275
370
259
311
248
335
299
308
203
308
337
325
364
254
309
286
341
260
273
353
403
370
330
363
309
285
379
282
264
367
313
282
346
321
266
241
340
356
301
309
307
339
291
321
333
353
263
252
316
256
393
368
304
347
255
332
288
288
334
290
314
292
330
224
275
346
263
291
230
292
314
299
314
346
242
325
335
305
317
281
340
256
362
261
263
275
231
323
317
366
324
288
339
383
263
328
324
238
328
340
337
251
351
348
380
295
279
270
236
317
343
252
186
346
208
348
310
423
295
264
233
214
336
377
370
386
346
407
312
267
293
306
268
318
328
319
285
419
304
267
343
328
418
305
274
389
224
332
360
277
390
331
328
356
353
385
366
343
287
323
383
360
247
369
339
335
381
369
376
319
316
223
326
349
291
340
366
328
371
317
401
294
410
350
350
270
203
336
332
193
359
316
338
288
344
283
298
231
337
373
394
262
280
312
333
267
327
288
343
298
388
368
351
254
294
386
301
310
320
330
318
287
275
305
357
348
178
330
298
312
378
312
339
200
268
350
352
314
306
369
248
264
396
259
355
284
286
356
349
321
390
270
344
282
368
241
355
331
311
319
327
262
346
286
301
321
248
370
252
338
252
330
319
353
309
399
359
279
398
285
270
272
321
340
262
319
312
343
325
326
324
261
293
270
291
273
339
322
307
332
296
344
324
395
284
356
296
268
360
362
336
306
375
214
389
353
280
303
302
313
281
373
331
363
344
257
250
257
322
308
264
410
336
315
346
352
251
306
374
324
246
288
311
273
340
390
266
302
376
289
357
246
271
251
254
329
284
401
259
271
222
404
310
276
395
334
322
263
289
354
250
365
308
340
365
350
256
340
328
332
345
280
404
198
386
238
223
332
272
348
255
259
358
371
305
292
260
391
299
259
349
301
290
399
279
254
327
316
351
362
359
374
258
337
252
390
308
302
368
326
355
287
309
285
276
260
291
287
309
250
260
333
238
315
315
290
260
303
335
321
350
408
349
311
306
269
376
251
284
321
262
360
331
338
281
368
306
319
345
364
332
275
294
249
335
231
257
333
268
280
334
303
329
290
272
271
222
306
257
320
352
285
343
299
310
311
313
343
321
338
305
278
332
271
308
273
324
263
373
316
307
263
356
399
308
276
368
333
296
320
296
275
277
236
249
344
264
382
275
332
386
329
255
338
266
335
401
351
332
238
305
361
305
304
280
399
293
280
329
322
370
301
334
317
283
339
238
211
362
327
276
323
323
392
333
240
332
329
321
325
293
331
383
362
337
322
188
313
325
388
342
285
347
360
322
386
316
268
314
206
254
257
287
313
314
352
363
352
332
335
321
335
315
359
274
364
336
291
344
314
213
379
344
265
248
387
319
318
311
287
327
360
193
300
311
293
310
280
307
338
385
329
390
168
299
294
377
279
297
254
307
327
260
257
296
320
283
329
284
310
273
312
300
362
360
343
271
298
332
371
376
362
308
331
300
325
343
353
344
267
266
304
295
271
330
255
341
375
266
295
365
344
310
338
278
355
338
229
295
357
404
272
396
346
336
404
245
333
289
313
245
366
294
228
381
268
356
258
311
337
365
277
310
376
335
299
304
371
291
354
284
363
345
363
289
345
308
212
293
316
373
305
306
342
376
264
328
314
292
327
341
281
352
336
282
222
369
319
269
283
336
339
328
376
342
338
306
294
239
313
283
288
321
323
327
322
329
383
290
272
257
354
323
352
308
304
384
369
324
370
308
418
414
292
368
351
403
252
396
308
320
374
338
343
392
302
265
253
376
285
321
382
353
266
275
200
295
298
275
369
370
263
298
329
271
300
303
297
316
289
379
349
343
322
289
333
330
285
387
317
267
310
384
301
247
362
377
284
273
290
439
280
366
286
322
285
291
331
227
232
329
257
304
384
394
322
308
291
341
367
263
357
359
301
393
314
241
321
263
313
295
286
299
304
296
401
346
310
245
280
277
291
358
285
340
306
364
272
249
313
371
305
320
324
398
387
305
389
325
369
383
346
359
297
335
370
281
381
324
342
346
196
298
359
328
212
375
337
262
364
273
414
242
209
364
293
369
340
336
336
328
295
366
325
380
324
356
283
372
345
322
353
370
279
304
240
273
288
344
318
304
300
358
296
282
338
308
377
286
287
317
282
308
322
361
311
292
340
349
366
339
306
297
371
353
385
314
343
312
382
258
329
361
256
363
271
339
367
329
338
365
372
319
309
340
334
330
347
306
298
294
336
346
317
337
299
380
406
340
266
316
345
360
331
343
260
319
258
333
320
317
297
312
237
299
282
362
271
163
343
282
305
238
252
335
321
307
352
281
395
359
358
255
374
352
234
388
366
302
296
309
323
382
289
288
384
365
316
278
377
335
341
323
326
339
378
294
328
348
254
368
309
285
331
302
343
374
364
314
237
314
223
325
350
398
288
371
375
294
298
323
352
365
328
349
314
258
304
319
349
327
354
270
262
288
272
299
312
291
256
354
304
362
292
312
301
239
297
322
283
351
335
308
323
404
340
353
309
348
337
401
353
304
268
256
231
338
357
262
298
398
324
250
294
350
338
295
297
273
320
371
347
366
355
322
375
332
334
333
399
346
336
315
302
262
318
305
308
298
329
308
279
303
309
400
355
269
319
309
323
338
285
322
294
275
259
341
306
414
410
345
333
327
415
308
261
235
339
349
267
320
430
269
342
348
298
359
306
330
313
297
294
213
269
381
392
296
290
191
373
318
276
265
301
387
302
319
334
364
342
381
338
416
257
332
340
214
374
280
397
297
300
327
337
282
289
337
415
301
325
230
368
348
325
259
350
333
320
296
304
385
236
228
293
332
277
321
357
291
315
308
305
259
216
313
288
363
306
392
348
392
336
322
395
286
359
271
325
244
274
352
396
318
269
299
424
350
326
265
354
300
386
337
298
302
311
279
351
314
289
209
366
314
325
321
228
303
304
276
319
355
335
295
330
296
333
316
333
311
369
335
455
292
354
312
344
401
366
294
450
318
303
373
362
227
377
333
350
360
416
305
324
314
407
315
378
330
255
349
368
256
279
258
389
353
236
330
352
282
298
262
309
426
402
296
297
339
289
424
422
291
317
282
380
326
337
353
309
376
382
289
315
357
323
296
311
200
275
329
319
345
366
308
275
218
386
254
314
357
297
276
306
373
360
400
274
314
229
256
293
316
195
276
338
366
346
270
242
339
258
312
370
313
328
352
357
324
361
337
332
298
211
274
290
301
297
332
275
317
326
309
398
382
272
269
283
357
291
356
278
310
337
394
210
348
361
378
328
350
327
246
224
330
327
271
277
386
253
258
253
317
337
351
311
311
356
354
325
276
257
335
307
337
338
290
246
288
309
328
407
300
350
297
259
268
327
298
305
322
342
383
372
303
394
355
319
383
380
375
367
289
306
370
353
321
260
315
331
347
263
319
330
235
330
300
367
324
339
311
332
321
316
302
266
144
400
356
325
344
317
310
313
402
264
317
317
272
291
251
333
339
263
375
336
326
379
311
291
224
276
298
343
355
219
328
312
296
305
282
293
337
428
318
293
223
259
300
284
316
374
378
353
417
344
307
356
306
279
280
332
339
419
240
295
351
352
305
361
319
336
265
333
320
315
362
386
281
258
237
348
347
325
283
319
355
391
367
343
378
315
361
458
355
324
262
253
378
380
369
287
306
331
299
387
330
266
351
341
283
293
368
244
272
344
321
341
302
274
335
318
311
309
443
308
269
313
322
370
321
314
376
285
258
352
410
246
279
309
374
293
354
325
396
308
326
333
278
354
271
283
310
276
270
373
395
373
340
269
216
380
288
289
267
333
340
283
252
316
329
309
217
232
260
291
271
302
286
300
251
354
370
358
376
211
328
239
282
291
315
276
226
358
322
249
258
353
303
356
352
278
317
325
279
267
306
337
343
327
297
339
307
338
330
358
308
351
343
327
305
378
313
306
320
381
282
379
380
344
359
322
232
258
287
298
356
366
301
350
324
275
243
344
322
266
220
318
327
292
322
288
245
292
380
346
319
340
407
336
349
297
253
275
261
307
387
347
370
349
299
253
244
367
334
275
352
289
331
334
263
246
336
307
297
323
326
387
417
293
385
277
325
303
323
326
269
342
325
282
301
366
266
395
247
298
343
270
303
302
297
288
285
282
305
275
345
358
332
251
302
312
306
361
399
330
370
437
306
400
335
314
285
315
348
236
369
348
338
274
344
293
338
250
274
295
193
235
293
371
311
318
351
372
300
344
344
284
347
254
316
329
299
260
323
280
220
324
292
349
325
363
316
306
395
309
382
309
336
303
310
251
365
260
342
284
288
298
443
272
307
296
322
268
247
228
280
271
273
325
314
375
356
316
295
289
302
366
335
374
371
347
278
317
355
290
296
352
319
377
368
307
400
291
323
289
249
258
352
377
272
338
288
337
262
330
319
335
240
299
325
375
375
351
251
269
289
311
287
359
266
350
310
267
288
373
294
335
394
274
321
262
313
356
248
353
348
401
319
268
213
285
294
287
363
278
302
286
266
293
352
330
344
299
217
295
270
392
347
372
402
287
324
297
291
327
294
319
386
358
305
336
336
279
383
281
374
322
273
237
353
259
324
319
384
323
387
334
250
289
285
348
327
280
271
306
342
353
376
301
321
335
321
345
305
265
237
365
303
314
265
269
425
338
307
345
299
233
299
308
317
294
322
261
353
334
293
271
331
323
357
332
356
399
353
389
274
279
345
382
322
282
354
331
255
235
398
304
336
361
396
293
362
257
281
306
246
283
327
323
389
343
290
299
345
393
221
386
315
299
225
295
250
368
323
346
288
370
272
287
344
344
237
262
235
340
362
332
320
304
348
313
295
351
305
265
349
291
279
198
374
346
370
342
333
267
321
283
427
269
234
389
342
306
293
249
331
247
344
367
347
294
303
248
397
249
354
287
293
242
416
282
375
282
250
270
315
250
334
403
337
244
293
383
236
357
359
364
267
401
370
257
302
312
334
391
386
363
247
325
326
339
263
340
281
269
321
384
369
324
260
263
327
342
242
344
340
255
361
249
352
332
341
257
306
324
314
271
381
292
292
371
265
309
371
378
276
367
214
369
325
337
301
339
358
266
302
363
271
278
333
306
361
342
201
335
276
382
315
301
347
348
339
343
315
392
297
305
378
373
360
326
253
273
270
293
266
348
305
240
308
295
304
271
288
274
201
272
320
290
272
311
319
293
322
219
387
274
356
357
352
263
300
408
297
250
291
342
288
331
249
310
378
345
356
330
278
330
254
330
347
295
327
294
247
338
316
270
319
363
347
402
267
349
332
228
332
335
392
256
329
379
396
294
290
365
287
282
453
366
318
398
284
250
366
289
334
293
345
283
343
284
377
250
263
298
263
372
317
330
337
328
258
339
232
356
253
316
376
295
373
333
314
221
290
356
410
265
308
258
257
335
397
306
355
336
196
253
224
262
347
284
247
331
251
370
387
279
351
303
272
299
273
306
356
341
295
350
259
362
322
331
316
287
262
248
236
397
360
286
346
330
334
314
278
269
324
395
314
315
348
283
368
377
228
315
339
318
332
303
312
328
342
344
312
305
284
338
193
343
331
275
251
304
366
298
330
328
231
346
337
259
300
414
321
310
397
405
298
344
320
366
406
341
248
313
307
270
315
325
328
361
328
335
333
415
266
294
346
440
315
343
363
329
329
344
314
299
331
367
362
339
374
347
353
214
365
279
318
187
303
360
329
301
311
296
322
278
286
399
367
283
318
270
378
414
286
378
346
271
254
294
376
288
363
227
327
374
331
321
357
247
257
292
272
338
294
350
310
213
228
247
286
368
327
348
307
361
410
327
307
300
338
204
271
246
252
281
315
388
335
276
327
265
334
299
247
257
330
298
252
289
225
238
295
252
290
397
363
358
405
363
293
275
372
398
333
338
283
386
355
256
342
337
292
344
275
373
281
351
331
342
322
321
333
230
379
310
344
310
295
291
419
289
319
347
336
354
299
332
203
335
382
398
320
302
354
277
277
303
271
371
301
267
338
388
266
308
376
292
338
365
323
322
354
292
273
325
289
315
285
364
383
360
283
251
222
318
350
347
329
338
306
314
276
332
291
297
360
271
310
325
272
341
313
391
294
274
305
285
331
256
311
307
256
400
383
400
264
290
336
291
325
382
427
389
310
320
373
268
308
345
327
256
389
268
232
406
279
408
393
321
325
287
256
317
294
327
225
352
334
280
226
341
281
384
278
354
280
333
323
298
355
324
260
329
346
235
366
358
332
325
259
327
372
304
284
358
236
365
274
323
292
319
277
244
268
359
222
303
300
303
242
328
255
242
285
326
284
355
356
361
369
322
208
368
292
310
309
330
313
225
221
324
298
378
295
356
305
328
285
282
269
318
361
323
358
341
346
404
313
277
263
259
287
388
321
408
347
273
236
257
353
320
289
362
337
310
312
298
439
338
291
309
318
338
360
282
310
351
342
319
233
268
353
362
285
318
262
386
318
356
307
376
340
325
302
354
316
230
284
321
279
274
412
311
286
332
328
224
410
255
348
350
304
291
313
379
394
368
314
266
361
351
339
251
275
277
290
301
338
255
318
331
289
372
264
402
327
291
317
313
357
362
311
323
329
317
402
256
366
292
287
223
339
367
240
239
287
359
382
249
302
274
342
366
232
301
286
271
299
318
339
376
291
311
347
243
300
319
349
324
338
317
327
387
344
254
349
344
314
257
262
235
314
286
385
265
338
301
334
311
375
336
450
323
297
318
298
329
284
396
380
308
406
359
253
355
309
371
283
286
280
355
286
353
271
306
309
344
360
319
343
361
308
279
333
291
317
334
277
315
335
274
234
349
364
334
278
292
336
284
271
353
367
347
254
367
294
290
322
328
333
288
292
315
316
291
403
302
293
352
332
369
333
315
292
428
293
370
257
312
258
398
331
217
300
258
310
332
333
308
277
381
292
293
380
264
342
242
337
359
385
321
337
322
375
314
311
306
263
334
356
294
173
359
335
306
398
397
282
258
389
366
328
307
260
298
327
309
361
303
262
266
327
355
240
313
360
346
300
231
369
234
240
317
398
239
268
287
284
305
323
280
385
319
294
273
329
276
262
395
345
360
275
419
314
331
330
313
373
285
297
280
310
275
287
347
356
332
304
343
265
306
372
399
257
344
292
254
306
382
349
322
315
288
309
243
333
285
277
376
377
290
307
362
219
300
354
317
326
264
386
324
348
265
310
372
365
386
243
293
340
326
326
311
355
311
196
318
394
306
329
316
300
238
250
301
260
268
329
341
348
288
293
336
349
299
334
368
279
315
367
307
326
298
275
303
362
406
273
266
305
250
308
318
365
320
280
285
377
352
321
303
368
232
298
331
364
267
339
297
362
281
328
312
373
246
225
402
419
311
376
292
284
354
335
405
266
414
345
331
406
287
310
360
344
331
299
365
253
249
223
337
377
297
234
240
336
302
287
285
295
351
332
296
345
233
295
325
280
278
292
267
283
314
363
360
313
257
345
347
284
337
314
323
291
248
316
296
283
325
351
310
249
277
295
332
429
319
294
319
280
311
317
354
315
268
314
247
358
358
326
354
333
362
366
267
332
342
333
345
336
309
365
345
338
260
273
301
331
342
264
303
291
293
359
384
347
379
278
285
318
300
248
263
290
314
332
331
310
305
372
298
267
318
259
332
373
278
299
243
255
443
313
370
371
283
367
304
306
317
312
302
220
302
310
382
283
301
296
234
331
339
309
248
277
289
273
342
252
250
367
304
325
330
260
332
379
351
267
313
313
253
234
388
333
392
330
303
365
245
377
337
313
291
354
298
298
289
248
340
385
417
329
282
335
324
250
339
327
367
383
353
287
337
263
374
337
321
303
338
340
220
370
329
344
248
381
327
348
281
315
341
294
348
304
256
353
311
272
285
196
311
246
355
318
378
292
275
372
260
249
307
341
268
340
272
345
306
271
377
246
260
306
262
365
349
327
327
295
359
317
418
259
258
312
271
393
243
243
254
320
328
316
334
316
382
315
362
271
326
358
365
359
373
289
212
280
314
269
318
370
307
359
333
303
258
254
285
332
354
261
318
351
347
311
299
353
319
388
349
370
268
274
377
343
295
286
226
341
267
264
307
364
382
280
354
376
290
257
322
331
338
282
336
278
303
329
331
310
343
283
323
317
294
387
302
333
322
270
276
300
318
319
284
222
304
333
271
241
294
297
290
311
347
286
162
431
328
360
270
304
288
366
366
304
331
350
315
334
283
344
350
344
308
277
292
315
393
325
448
234
350
374
357
362
331
341
298
224
335
281
301
326
264
323
353
336
330
260
332
333
283
379
334
334
319
328
307
363
334
345
407
381
221
358
297
353
248
295
289
302
341
384
334
323
288
302
340
300
347
310
341
264
295
401
249
284
271
312
364
321
293
345
328
266
251
270
303
389
350
321
230
332
254
385
261
224
224
378
344
308
352
316
317
269
391
338
278
348
342
306
229
309
314
303
361
332
266
258
364
303
375
363
311
332
348
276
365
242
284
367
322
316
381
332
289
285
261
324
351
281
408
330
312
374
351
265
352
354
327
393
233
397
316
293
323
329
365
240
327
376
287
332
299
359
277
283
309
322
288
273
350
352
287
258
323
351
264
310
268
269
347
274
280
393
356
326
343
299
281
446
384
314
399
283
358
303
276
323
201
341
405
347
307
246
286
355
299
353
234
326
254
292
293
366
308
322
288
292
262
427
306
270
283
260
337
333
327
299
200
360
319
343
231
344
329
270
274
330
258
289
312
291
319
339
413
267
331
377
319
209
392
344
246
416
288
316
397
297
294
171
290
373
348
343
391
359
322
286
367
349
336
358
347
293
340
328
375
395
360
316
241
291
364
370
230
301
242
392
275
370
349
295
336
282
378
310
326
335
177
318
345
246
383
314
286
378
331
349
358
366
341
281
347
366
390
336
392
321
347
340
314
330
319
331
388
308
343
328
288
240
358
314
324
330
332
304
346
387
261
273
262
364
332
257
205
360
337
318
260
327
351
349
381
252
350
315
292
294
314
403
294
390
308
303
240
343
267
359
292
305
287
297
386
295
313
327
396
341
350
313
297
336
302
283
354
335
308
248
274
261
301
416
414
431
324
316
308
404
272
393
355
382
332
298
334
220
276
335
281
325
320
314
243
426
319
346
329
354
264
307
324
307
267
375
323
356
271
374
359
397
180
350
309
291
287
317
222
331
304
323
349
363
364
349
267
245
320
336
233
226
278
266
322
296
299
252
349
291
335
316
254
304
372
368
306
240
321
274
362
346
292
351
368
336
345
375
306
269
387
303
191
289
342
368
352
276
343
302
324
345
318
230
324
314
324
351
384
326
342
371
401
298
258
270
317
360
337
343
331
306
346
344
301
309
405
381
242
278
321
285
260
276
360
362
232
280
300
294
273
358
360
290
361
348
353
290
292
371
210
295
251
280
220
311
287
317
309
239
337
280
373
399
319
305
342
340
242
293
284
369
285
311
339
412
300
262
268
352
325
388
337
274
338
241
312
256
340
239
278
276
365
336
362
275
349
373
407
270
223
277
354
439
260
287
296
286
281
355
360
342
344
337
282
258
263
393
251
220
325
348
340
351
324
322
334
351
311
277
271
298
399
304
339
274
264
328
325
292
283
372
405
286
225
274
354
295
350
253
406
353
355
405
234
326
340
270
342
384
281
304
282
267
343
348
410
382
296
329
346
293
251
367
261
285
408
300
255
350
347
320
288
296
344
299
318
235
261
346
266
312
328
421
307
205
269
315
297
345
286
348
257
302
344
399
377
312
323
295
157
226
323
336
312
283
295
288
323
336
377
300
397
365
263
354
289
284
255
347
388
271
309
305
331
329
324
247
347
292
369
365
264
300
363
352
326
369
317
348
311
315
289
297
334
342
320
325
284
326
319
436
280
376
252
336
308
338
244
385
280
344
258
249
335
319
361
274
342
285
377
294
314
322
352
390
327
250
401
274
310
282
395
324
277
376
324
344
360
370
259
280
270
306
260
215
286
282
323
310
295
268
325
340
256
304
373
306
336
344
206
354
418
367
326
222
261
336
292
317
225
296
384
343
294
289
298
421
233
370
268
275
332
280
406
329
363
253
296
196
347
366
295
342
350
328
319
326
322
273
350
275
311
267
257
333
393
351
355
346
301
367
271
325
344
281
409
292
277
293
371
250
299
285
309
358
277
353
263
339
265
343
289
366
372
347
320
357
270
342
306
307
341
404
267
304
269
376
335
319
247
360
224
338
359
276
231
352
373
315
295
329
333
227
322
334
330
338
332
303
237
287
319
343
315
285
261
328
296
365
312
375
282
303
332
328
367
264
374
285
278
329
359
230
344
409
298
328
266
324
362
352
302
273
358
261
291
362
306
319
281
350
348
348
310
281
292
378
257
358
328
297
325
243
309
355
257
390
310
369
347
257
278
367
332
212
273
393
216
334
288
392
362
341
259
393
347
308
340
289
269
258
386
259
298
292
405
244
374
264
370
342
336
384
334
415
237
305
384
341
351
314
411
296
343
347
199
255
374
329
331
330
335
409
314
355
381
303
365
324
354
287
312
277
276
424
232
385
327
331
371
346
254
341
322
284
338
363
241
254
327
308
310
293
307
336
265
343
361
372
315
373
253
366
376
248
310
384
296
377
296
309
319
225
382
294
298
372
315
338
226
342
386
327
282
383
292
315
301
388
361
236
343
295
247
342
322
353
355
296
317
259
297
283
326
277
370
334
269
271
323
328
282
265
320
356
311
322
316
354
259
361
218
315
351
294
298
260
345
305
416
384
315
273
286
278
427
308
336
330
345
268
179
319
333
346
329
235
244
319
278
249
220
305
257
295
273
330
236
273
229
379
331
275
279
364
307
213
318
369
356
346
345
324
375
380
230
335
301
344
331
300
303
328
352
408
343
300
264
350
277
243
342
313
350
359
274
381
329
299
277
329
257
289
341
244
260
262
396
289
254
360
297
218
361
329
287
320
308
338
263
356
331
343
303
302
425
334
259
242
325
321
279
400
362
403
330
293
227
254
257
307
241
307
262
399
359
276
310
337
330
330
349
307
244
356
227
329
391
278
337
377
385
274
357
353
332
335
334
304
303
359
267
300
295
300
317
310
276
332
287
388
304
345
373
363
293
315
275
312
327
368
326
417
342
334
295
342
347
296
314
316
296
282
394
285
317
298
334
307
325
360
272
354
353
375
272
290
204
280
227
327
346
291
248
276
296
388
377
265
253
340
249
251
304
394
243
328
282
395
270
302
317
358
310
339
285
337
338
240
353
379
300
336
400
308
299
279
339
345
293
348
317
314
343
375
264
400
318
333
242
311
305
294
374
297
334
350
341
355
271
375
333
433
276
307
289
273
338
303
365
339
440
330
294
294
292
263
306
340
367
369
333
324
377
305
237
303
325
314
301
326
329
357
316
264
403
346
348
362
246
270
336
265
351
287
287
275
267
316
304
319
369
235
300
316
270
368
260
336
288
250
289
287
327
224
292
335
306
311
321
364
243
264
381
374
236
346
335
323
320
407
331
323
338
370
282
273
248
334
281
335
308
328
319
309
334
314
365
333
323
212
274
318
274
389
201
314
326
353
335
291
247
358
339
296
325
401
431
407
355
259
228
244
391
299
379
323
252
317
356
353
300
276
349
319
263
284
275
317
296
328
295
292
316
323
232
306
418
307
256
249
440
349
310
347
300
325
293
297
229
335
307
281
364
356
291
347
355
288
320
290
313
378
378
221
292
326
230
346
271
304
341
254
377
312
319
338
338
324
240
266
348
358
243
441
309
288
224
281
355
277
330
322
313
291
279
271
298
376
327
366
449
254
306
252
362
318
382
298
353
239
313
344
350
268
405
340
285
323
335
352
290
285
356
399
306
312
410
378
417
300
305
237
353
328
366
390
380
219
341
284
340
314
346
250
277
302
330
317
397
255
347
182
349
217
353
239
245
253
233
303
342
306
296
329
303
302
343
317
363
298
336
302
299
288
371
322
278
390
355
329
280
322
256
266
334
306
260
317
347
399
375
332
363
331
326
413
358
352
353
308
342
388
288
331
252
354
297
372
303
306
265
235
270
299
315
293
272
299
315
347
303
348
332
296
319
276
332
290
297
236
352
223
392
234
311
325
244
340
259
253
344
367
255
325
320
323
308
389
261
268
300
225
337
318
318
356
320
325
391
350
326
339
295
315
315
218
243
188
314
317
355
365
378
302
245
217
283
216
249
274
297
269
202
338
356
329
402
274
317
371
322
304
372
362
370
395
324
330
349
415
395
302
273
338
366
246
278
279
296
274
291
266
338
277
270
365
356
279
296
329
325
189
364
328
367
302
325
366
300
284
289
409
303
255
255
263
276
222
322
253
343
324
338
221
233
311
266
266
349
304
271
293
280
390
296
207
335
292
268
359
279
317
303
266
346
425
312
337
393
330
291
343
320
324
351
292
293
280
321
311
315
244
359
400
327
342
327
250
248
322
282
286
351
318
268
350
296
346
292
326
322
401
301
319
220
382
335
263
319
248
334
344
317
398
318
339
244
268
372
335
317
364
308
235
316
315
421
273
317
325
291
392
353
268
305
370
237
329
328
362
333
318
334
365
273
312
285
253
419
315
294
309
302
336
197
284
381
297
303
307
336
306
302
346
365
354
320
341
342
336
334
231
269
249
261
378
352
304
261
288
327
284
305
311
296
375
280
321
406
253
313
319
297
267
307
311
375
301
342
271
341
335
288
248
379
353
370
362
305
272
337
354
346
257
386
411
349
312
350
301
284
327
349
306
339
232
373
295
315
308
324
337
275
365
332
342
354
396
325
316
297
286
267
301
327
276
370
384
344
320
278
316
381
335
325
341
340
298
306
361
310
264
363
281
311
282
349
370
301
353
368
265
248
315
340
316
351
284
350
347
329
354
324
332
273
351
298
307
359
363
304
308
341
355
323
303
420
377
375
224
276
264
361
212
300
295
320
354
219
289
352
361
326
307
257
317
310
402
377
298
265
326
300
301
264
289
328
286
255
326
347
315
339
391
315
303
313
322
297
299
323
355
300
287
326
296
279
319
243
331
321
258
354
334
263
352
340
236
330
334
261
357
298
247
298
338
313
353
317
304
281
263
356
262
282
351
317
303
310
292
259
316
320
303
314
295
403
261
328
325
350
317
241
208
216
274
281
344
341
314
395
344
301
307
355
282
352
255
294
331
392
407
318
298
305
290
347
335
304
293
392
307
296
388
245
400
340
330
335
322
268
345
359
281
351
351
344
355
290
336
360
290
176
197
244
294
283
423
288
277
289
273
324
316
329
382
290
329
270
211
284
270
318
320
266
315
365
327
297
353
296
310
371
354
297
312
312
370
313
349
288
386
385
354
385
252
320
376
260
311
262
288
325
340
335
303
340
342
291
343
361
346
273
286
288
297
425
207
322
361
270
311
370
307
385
337
323
408
230
262
410
288
413
265
319
252
256
290
335
237
353
346
317
290
311
332
340
292
256
331
331
284
305
333
348
370
368
356
352
361
326
363
344
309
362
305
248
277
293
320
325
415
241
289
312
389
331
329
345
257
315
379
261
318
399
336
300
344
198
389
312
382
345
368
252
352
248
306
242
364
334
305
203
333
351
387
287
310
314
267
307
303
364
285
349
214
292
313
276
339
250
237
361
206
279
254
331
329
315
303
331
279
309
330
321
389
311
275
310
354
267
267
351
282
367
359
290
342
305
293
282
340
230
370
335
276
282
317
303
412
413
337
344
285
298
372
273
340
343
332
358
378
337
369
280
301
246
270
383
264
376
288
361
244
287
243
312
287
376
262
337
271
358
346
297
298
374
281
351
373
353
339
263
275
328
374
348
325
375
323
316
333
287
402
365
249
361
250
288
295
295
287
256
289
275
255
243
332
333
391
342
290
332
321
389
349
286
322
266
401
327
334
389
354
315
292
331
318
311
361
294
306
415
357
305
272
385
316
312
326
327
329
314
305
239
306
280
288
348
364
313
288
321
320
319
325
321
320
258
356
299
321
336
349
336
306
282
274
322
358
297
429
313
335
316
250
336
244
302
309
334
369
379
348
289
319
253
340
298
370
323
307
240
373
291
248
238
298
319
302
356
276
271
279
381
294
317
374
279
314
324
298
273
327
325
331
311
357
302
314
316
377
399
265
298
338
310
386
308
326
309
341
379
299
272
317
366
302
254
309
285
313
301
322
343
324
356
304
294
246
318
373
325
241
357
267
293
336
263
258
383
279
275
319
318
291
345
267
291
394
252
277
232
374
230
342
301
415
298
371
328
360
262
371
299
406
298
254
371
322
368
311
321
315
281
301
366
323
331
284
279
331
289
339
349
285
330
336
299
289
382
250
296
306
294
306
277
309
315
306
449
356
317
272
409
266
258
353
374
333
350
320
364
357
290
339
346
353
383
318
322
364
267
277
284
307
303
279
242
356
351
373
306
362
280
300
304
359
332
237
294
287
312
293
295
325
316
339
316
406
266
340
328
326
248
290
396
315
341
234
379
276
277
322
317
265
418
339
327
349
365
316
279
264
394
410
320
280
346
351
293
364
358
374
345
384
372
364
313
364
304
370
334
283
321
264
317
331
408
353
385
370
260
323
325
328
297
269
324
294
252
297
309
366
262
320
274
298
301
323
331
356
390
337
297
329
344
284
290
265
343
366
330
296
359
329
282
307
253
295
321
301
205
280
282
338
367
313
341
362
336
336
333
275
343
352
275
391
311
282
340
319
289
260
299
373
369
362
393
268
337
327
232
275
377
381
296
326
358
276
387
349
317
365
379
367
300
321
319
285
341
276
351
302
343
251
300
267
286
305
359
313
356
332
307
403
290
347
281
375
330
338
290
302
294
248
244
340
281
284
296
322
345
394
345
282
346
304
333
378
326
307
286
289
342
409
280
229
325
282
251
257
296
306
300
271
329
336
332
303
312
271
394
241
234
327
276
422
298
329
356
294
256
211
293
313
281
358
304
270
387
274
354
395
322
299
393
316
333
386
341
248
324
235
360
295
245
270
365
343
339
375
313
308
367
296
349
264
334
356
327
286
252
361
233
372
364
265
338
349
375
311
301
245
358
352
333
319
305
301
374
304
352
360
321
300
328
265
283
291
228
352
265
231
297
227
372
273
302
368
360
301
230
302
328
314
264
348
397
341
196
335
321
288
276
319
323
365
267
338
264
337
360
263
322
411
319
287
328
327
344
312
306
275
283
355
343
285
376
348
284
307
401
315
362
330
314
321
265
363
338
323
213
342
345
289
325
248
382
294
306
332
305
330
378
298
289
284
352
351
340
208
268
271
368
362
312
232
346
354
331
367
280
350
210
358
271
243
312
263
323
270
263
349
334
332
248
329
259
286
293
305
358
338
325
339
309
266
285
327
310
266
315
266
247
306
310
235
284
289
269
293
288
290
359
312
326
248
345
344
385
319
328
318
356
313
353
377
306
399
415
353
331
283
200
378
277
359
362
280
296
264
367
295
273
312
345
416
367
303
290
276
295
354
298
315
354
254
213
309
391
275
320
331
324
311
246
399
351
370
325
316
352
236
377
266
303
317
304
378
382
347
325
298
284
329
367
249
401
309
245
241
323
328
357
362
245
277
362
297
222
333
305
292
287
305
270
192
284
317
358
304
296
286
326
343
302
284
321
316
281
310
269
301
333
336
358
264
326
329
313
301
297
324
335
368
372
325
337
235
430
287
340
337
329
249
241
332
297
222
350
302
286
341
353
295
248
326
336
329
302
360
294
429
311
287
246
380
314
373
357
323
324
286
361
299
269
305
338
208
301
348
288
329
306
258
280
237
265
266
324
314
322
272
226
315
268
272
356
308
371
242
278
316
331
321
270
355
309
297
416
395
288
256
372
303
273
275
349
281
223
262
350
309
254
262
309
272
262
300
242
331
301
353
307
335
278
347
254
315
319
373
247
293
299
392
309
244
416
316
247
286
377
320
316
290
218
362
300
391
306
355
300
339
311
346
309
326
357
320
397
328
340
360
312
351
276
322
416
315
343
293
371
314
297
231
306
284
270
245
335
274
358
408
414
274
305
364
268
346
356
298
293
306
360
276
219
294
331
315
309
353
318
249
313
317
270
358
274
336
285
344
361
397
329
300
286
341
357
283
467
331
235
332
397
329
245
257
259
379
324
339
284
301
296
359
345
335
278
271
363
366
310
274
347
299
362
376
328
274
357
324
251
275
291
341
248
332
319
266
265
353
354
262
375
285
329
276
309
330
375
404
364
290
436
424
297
293
354
346
329
326
285
264
325
298
279
289
286
304
268
301
338
287
249
347
289
278
378
342
332
303
335
343
248
350
332
235
362
276
333
376
285
363
305
355
291
421
333
317
353
414
366
296
267
364
316
354
275
271
308
240
295
349
299
290
369
287
318
321
403
331
373
386
332
341
320
321
360
333
305
321
280
357
344
318
290
286
303
315
313
335
280
292
280
267
374
376
430
298
267
273
280
312
299
333
344
374
260
311
365
329
359
369
363
300
353
439
336
331
292
315
302
281
299
324
227
226
293
326
301
239
308
345
315
360
275
341
214
308
345
238
345
387
312
359
286
242
352
347
314
341
191
334
335
334
317
295
344
365
323
361
332
345
282
233
322
326
319
304
357
295
285
338
337
386
345
350
310
317
340
256
301
294
308
267
352
339
281
287
330
359
402
366
297
352
324
309
358
309
250
295
302
322
350
349
259
290
325
301
312
263
390
314
366
298
250
317
339
298
295
346
310
399
321
374
310
233
271
314
327
332
319
292
270
358
324
277
351
304
317
331
353
236
404
309
271
374
343
304
249
367
336
340
294
345
391
291
355
295
384
271
366
272
328
362
386
282
350
260
271
288
338
304
301
287
408
301
373
347
282
380
359
290
291
388
253
303
298
270
375
326
361
250
301
371
289
218
250
323
354
289
368
231
310
377
308
274
345
271
313
240
245
263
271
280
380
324
280
332
339
249
345
282
280
387
248
273
243
216
331
348
393
316
251
382
311
249
310
282
362
274
271
276
290
257
355
312
296
307
320
260
333
374
229
408
335
326
267
392
337
337
234
375
422
336
319
245
289
217
250
317
328
294
328
310
375
275
299
333
323
323
404
334
330
252
412
344
252
331
259
275
354
326
237
333
312
264
316
390
349
329
356
244
334
299
324
320
327
301
362
363
277
339
356
274
382
389
289
362
284
298
320
252
414
416
318
281
219
218
324
263
297
322
332
299
246
284
348
408
344
223
344
271
354
234
260
336
288
314
260
329
277
236
380
279
284
267
298
416
278
266
335
333
373
276
235
318
295
247
347
349
321
327
325
331
350
341
312
312
345
308
312
409
303
377
330
345
381
305
266
348
368
284
375
339
321
288
318
319
373
268
280
259
338
376
298
322
266
272
286
309
246
332
375
354
300
241
300
326
283
318
337
344
315
342
384
319
386
381
307
291
266
392
263
315
256
381
330
388
352
267
327
273
327
265
316
266
337
328
299
346
280
302
279
253
316
279
311
341
334
287
313
229
324
278
274
392
306
355
339
339
345
330
252
199
300
356
238
295
350
281
278
320
298
378
343
324
354
362
378
314
336
293
305
286
297
393
360
324
295
267
301
339
335
338
367
262
321
328
234
387
340
286
342
345
214
373
326
359
259
377
263
349
304
308
295
290
299
282
354
370
298
366
351
338
281
333
348
243
303
336
271
374
318
300
287
333
410
348
310
355
268
257
373
208
341
324
294
315
287
321
320
375
362
308
280
318
228
394
341
381
403
261
298
364
311
254
327
184
334
391
291
318
336
247
296
335
295
383
331
344
319
371
347
344
319
284
355
347
347
326
324
323
260
343
375
317
316
263
377
366
311
319
310
272
343
258
288
402
366
290
360
264
360
329
328
352
309
280
357
266
276
397
263
274
312
374
322
282
270
326
336
258
303
356
285
340
242
246
205
307
305
289
349
300
405
333
337
269
262
329
276
214
292
345
342
286
338
352
314
371
307
256
335
313
268
332
251
275
326
334
312
270
269
226
276
303
342
361
245
327
311
368
312
368
368
371
369
326
283
266
333
219
363
364
252
388
199
246
271
292
341
302
277
228
323
248
306
248
309
287
325
287
302
329
373
384
274
321
393
190
273
332
354
408
402
260
348
330
344
309
410
360
262
359
322
438
253
295
312
372
303
402
309
356
389
337
371
376
355
245
258
268
323
274
310
280
282
327
379
410
376
349
316
361
261
325
372
426
269
317
313
352
321
286
232
316
353
195
245
272
363
248
375
332
341
297
216
340
344
248
317
230
375
398
217
305
206
282
269
368
288
387
348
339
338
312
231
337
287
355
385
304
293
227
363
253
299
328
364
307
284
375
335
233
321
314
328
359
300
331
281
341
340
360
255
320
398
378
214
267
250
346
373
294
314
318
380
274
292
333
297
307
269
268
341
256
397
301
359
272
283
283
262
350
386
333
322
312
291
284
357
302
378
357
231
298
256
258
319
344
372
234
355
208
293
290
297
258
406
190
329
331
277
298
324
315
209
283
380
374
348
299
318
311
331
373
294
333
294
333
324
316
355
362
326
439
358
361
238
342
273
230
307
279
272
208
386
336
307
286
313
283
286
301
288
251
316
353
315
303
228
341
322
322
322
312
324
277
349
354
375
362
361
293
397
304
395
316
381
371
361
239
278
192
285
387
327
316
316
208
269
279
347
379
390
374
347
338
307
346
298
249
389
377
297
252
346
201
293
238
317
261
312
319
286
288
317
408
308
310
367
297
304
235
276
341
339
301
346
402
353
260
304
282
332
266
357
298
236
309
206
280
344
347
273
274
334
338
329
353
367
329
352
347
341
288
281
270
354
302
297
342
383
339
323
332
359
304
287
357
335
335
341
353
338
314
287
405
286
367
331
287
314
312
370
325
290
351
321
325
403
347
351
306
350
244
324
376
365
386
385
287
329
327
288
284
322
275
318
301
255
291
336
315
374
302
376
344
269
261
364
289
366
292
256
355
402
311
285
347
331
203
331
227
333
336
255
333
353
328
271
244
321
350
263
265
294
343
341
327
358
325
323
307
297
219
367
256
348
326
311
431
346
267
283
263
320
386
317
269
285
320
364
368
269
335
288
254
343
325
333
315
321
384
305
308
267
393
395
348
285
295
291
312
331
336
220
322
332
264
313
332
328
316
371
336
290
329
355
345
239
296
293
380
383
269
320
341
272
300
310
296
434
323
236
326
311
265
320
291
280
252
367
273
269
313
364
263
328
276
239
321
317
336
296
354
291
305
303
309
316
338
362
392
262
318
362
371
371
346
267
328
306
338
386
255
351
302
347
346
301
255
269
260
328
400
296
377
362
279
314
375
360
330
269
295
293
244
318
345
318
369
280
366
223
390
345
325
303
293
363
262
276
389
215
303
318
310
266
386
335
333
328
300
250
294
271
348
362
298
281
313
287
254
280
358
296
234
345
316
310
341
280
278
295
319
316
400
375
297
327
271
346
379
306
283
313
319
370
381
308
364
249
287
353
267
379
325
308
326
299
259
267
291
368
344
252
244
216
340
336
366
373
260
312
370
250
339
276
294
300
335
286
303
251
316
317
238
349
352
239
264
229
369
298
278
259
408
317
330
277
275
311
352
341
304
230
272
293
323
361
272
360
417
378
391
367
221
313
327
282
294
266
313
308
297
324
341
351
279
220
399
386
279
385
346
326
244
245
396
287
289
232
296
317
303
221
376
240
362
302
322
370
307
344
354
302
307
299
381
365
332
265
229
336
363
295
316
306
358
345
317
341
305
337
356
274
288
338
329
301
347
306
328
291
356
371
291
334
357
260
315
333
347
414
258
391
296
351
397
237
295
367
352
394
399
368
324
311
304
345
326
287
332
236
368
330
284
378
274
291
324
262
403
316
330
397
242
303
341
308
293
206
297
284
366
286
315
365
300
233
313
284
299
267
311
334
290
355
322
331
301
373
374
423
259
340
339
271
315
252
334
273
352
284
381
373
297
290
390
260
287
287
331
315
355
253
293
423
463
264
359
266
374
345
343
309
409
339
367
366
250
315
334
287
298
341
408
244
294
327
342
363
220
340
346
304
261
317
330
324
404
321
320
301
381
310
310
247
343
311
321
251
272
348
275
329
299
284
201
228
267
270
335
318
342
346
222
334
259
349
302
266
402
390
331
274
296
290
353
325
281
281
280
312
276
301
305
331
275
278
337
317
311
203
325
321
362
325
324
246
343
342
255
274
288
265
300
281
381
372
259
321
260
338
301
306
268
417
361
400
356
302
304
347
333
307
267
285
329
280
272
316
282
240
292
273
275
322
305
317
261
270
258
327
245
355
310
350
243
216
310
298
363
299
305
314
271
374
312
363
287
322
315
329
259
301
295
337
326
228
354
299
305
238
261
315
232
410
268
286
326
381
273
398
342
353
255
318
338
245
338
372
357
347
319
395
264
289
321
289
351
282
346
237
361
315
369
356
385
250
359
287
360
379
329
330
263
251
326
275
364
271
363
249
219
237
276
363
323
291
281
312
303
257
402
324
311
330
223
323
223
332
367
306
329
329
341
293
368
324
225
345
370
294
296
251
237
323
348
289
313
300
328
399
361
375
247
325
318
273
330
252
310
331
338
303
300
324
233
306
223
374
318
275
343
293
332
326
293
326
407
245
324
400
271
335
338
340
278
349
348
319
330
357
391
300
334
314
269
319
311
433
297
323
293
300
344
334
271
297
312
251
345
365
323
392
367
345
252
324
331
298
294
281
316
341
383
387
317
248
297
337
261
339
293
336
261
341
264
335
305
337
323
388
294
327
255
322
365
319
285
370
284
278
355
357
196
316
268
263
364
301
237
285
365
343
389
341
271
337
237
340
260
347
286
302
263
319
247
254
334
298
286
374
295
364
343
314
318
262
263
316
328
250
255
300
342
284
202
258
250
273
404
341
260
305
334
363
354
301
246
328
347
336
350
293
365
253
250
310
291
352
269
379
316
241
295
426
300
363
328
297
356
323
389
390
255
359
344
355
276
318
402
301
252
324
270
360
270
284
238
272
288
254
293
302
300
370
362
308
251
382
344
298
309
341
323
405
355
313
325
331
301
328
314
340
297
341
377
367
333
250
364
378
331
211
249
368
344
373
291
288
347
279
285
287
316
282
287
253
332
338
371
408
276
334
286
355
317
270
328
294
236
418
209
358
330
307
376
317
300
208
344
306
376
390
339
271
326
316
305
304
375
273
417
366
279
293
302
298
387
340
267
302
301
295
352
274
308
335
257
282
329
284
301
241
358
350
334
367
350
350
285
312
272
263
385
383
266
347
293
229
356
346
290
385
311
323
239
258
336
335
309
317
282
410
309
221
341
328
341
338
361
213
313
285
352
315
239
214
285
321
305
260
355
270
352
353
235
364
315
221
199
317
258
376
305
324
269
340
316
370
337
309
270
380
281
284
316
377
224
201
329
287
272
320
391
253
272
236
294
287
271
343
288
333
263
267
322
274
288
340
272
329
298
304
298
303
317
295
294
276
270
343
367
321
294
268
282
382
264
199
333
317
275
336
396
312
373
259
368
291
360
378
290
274
386
367
273
333
324
390
349
378
256
289
251
391
331
313
218
328
326
271
362
316
402
283
294
311
266
308
297
221
273
370
364
407
294
310
245
343
345
264
361
331
316
363
329
387
311
330
375
325
281
398
189
332
291
350
316
340
340
320
248
279
317
300
281
259
359
313
300
441
397
248
280
343
385
323
316
301
305
364
298
302
355
403
326
276
348
333
293
301
320
326
379
296
326
313
352
346
401
322
343
322
291
340
294
293
260
306
372
279
312
256
283
379
344
300
316
266
367
265
360
314
303
346
371
305
388
333
254
291
336
253
352
260
289
268
354
291
400
334
347
310
325
363
338
362
332
280
404
296
312
326
396
404
277
399
333
369
289
283
314
316
362
265
353
349
299
330
334
337
321
247
365
294
274
383
288
367
331
243
306
303
225
321
376
295
360
285
313
278
317
245
292
279
309
324
273
359
340
288
220
268
331
377
333
395
365
291
299
370
291
318
219
319
369
366
321
340
301
269
296
343
314
306
329
287
340
380
318
334
318
339
249
265
322
268
238
360
288
208
315
276
271
338
235
350
267
362
282
324
342
244
304
287
400
294
310
271
340
372
258
295
295
314
316
258
367
321
347
252
333
334
273
306
344
326
287
372
354
300
396
403
198
395
313
325
321
325
394
269
321
341
286
296
367
310
332
271
338
295
324
265
306
277
329
283
338
362
324
295
296
249
279
337
312
300
388
298
312
300
351
280
313
195
274
301
346
295
314
373
312
288
317
370
358
260
332
267
288
337
308
299
351
295
264
263
303
322
355
282
248
223
345
323
295
287
336
270
313
281
284
283
303
295
313
276
367
387
291
274
325
336
260
242
354
289
390
374
272
335
261
249
274
331
341
353
375
336
425
377
276
348
407
290
367
341
384
318
363
317
329
283
317
351
312
242
278
277
342
311
286
290
349
343
204
380
400
319
272
315
274
338
291
230
320
336
240
366
340
312
299
341
265
315
338
375
280
313
299
301
349
328
318
256
291
336
256
320
351
355
316
345
311
299
326
280
244
315
314
385
440
296
283
360
347
301
270
241
362
311
352
367
315
287
318
370
350
263
341
284
300
273
310
353
364
297
242
294
331
344
354
325
356
293
224
283
230
304
352
263
269
352
221
289
293
305
298
304
354
264
301
270
348
266
383
288
301
318
368
352
333
294
310
306
359
377
242
366
312
250
354
285
199
339
339
337
352
324
343
356
348
329
327
350
336
299
360
373
233
282
291
261
296
258
245
356
255
303
408
292
283
242
291
327
403
309
322
381
319
279
258
364
341
353
367
287
289
332
344
321
314
399
285
312
338
268
328
303
296
262
336
342
372
365
310
296
329
333
293
289
284
340
353
318
294
414
275
339
374
334
250
308
344
267
216
325
318
359
378
329
391
305
302
347
275
255
278
353
384
371
309
264
304
348
288
345
341
342
357
305
339
331
303
276
311
355
395
259
337
317
273
243
285
272
271
273
296
242
360
402
313
339
357
342
340
314
315
306
294
294
378
340
285
365
369
336
352
326
262
352
305
235
379
328
315
285
405
318
272
320
262
315
317
333
301
319
370
315
343
305
284
409
284
277
313
283
329
323
358
393
317
332
195
334
337
381
238
294
328
323
275
272
373
365
256
273
351
330
347
274
354
339
317
304
338
343
282
376
182
330
240
330
283
312
307
317
301
293
343
300
403
393
372
216
285
330
313
376
329
282
252
268
328
284
336
236
365
237
332
272
302
311
317
218
345
260
258
249
282
361
297
306
323
350
277
267
254
225
246
378
335
312
288
302
254
326
351
294
299
298
319
252
323
345
411
273
380
306
298
274
300
351
288
351
286
367
300
314
340
230
284
276
293
355
337
298
278
302
318
329
358
339
344
368
321
299
282
305
372
335
223
312
291
297
373
345
274
256
313
351
375
359
315
319
324
369
315
304
303
287
344
372
347
222
277
385
368
356
291
344
257
376
265
320
367
284
345
349
342
329
265
338
339
352
348
346
268
348
363
341
322
305
362
321
243
273
292
252
280
260
309
333
380
398
310
258
285
357
307
313
352
282
330
177
362
334
275
222
322
321
302
306
303
275
284
334
339
239
323
272
323
300
363
264
353
301
287
360
359
293
343
394
305
296
265
344
316
311
321
350
320
334
351
353
328
304
309
341
299
317
367
226
256
292
352
354
323
292
372
322
288
290
328
315
284
259
358
395
296
342
344
275
311
351
370
372
292
333
325
332
277
319
270
338
396
282
243
336
333
337
329
314
366
304
249
333
267
382
179
389
276
380
313
236
317
385
247
359
203
367
354
369
353
282
345
269
351
319
311
363
299
203
285
355
328
281
300
261
282
353
295
343
215
256
339
391
305
352
400
315
280
304
255
233
282
238
268
353
360
314
327
390
220
336
364
397
235
328
324
349
303
328
292
299
337
364
213
349
287
352
287
319
402
437
253
301
341
286
263
350
331
341
290
310
309
297
302
364
268
340
358
324
281
306
295
262
271
366
365
336
274
302
366
300
268
328
289
404
338
287
305
311
356
387
303
330
311
304
308
326
381
356
387
301
406
262
374
269
345
356
349
283
279
313
300
328
250
280
269
427
351
410
345
391
298
383
272
298
397
286
307
368
387
339
292
318
260
216
241
275
388
359
248
281
221
380
300
293
338
273
264
303
377
351
352
267
349
386
281
357
295
383
311
354
351
307
309
275
320
374
312
339
335
326
305
303
272
336
284
342
348
290
351
357
328
349
208
321
306
387
328
307
303
318
248
272
333
240
277
354
360
386
313
304
400
241
340
329
320
296
349
370
170
305
377
365
311
307
247
300
305
275
257
400
281
300
337
332
293
334
322
253
361
290
234
390
341
345
380
334
336
249
259
371
306
344
300
259
303
365
306
278
351
278
346
324
341
309
372
307
321
343
376
326
362
373
298
301
380
309
305
273
207
278
354
374
302
347
370
306
359
365
235
355
272
365
299
332
275
367
261
364
290
341
287
272
340
216
320
342
365
286
348
262
357
361
306
293
305
411
298
274
252
297
357
386
310
291
344
381
309
290
394
306
347
199
300
321
286
251
392
345
323
384
352
283
296
250
305
317
294
318
341
318
294
314
252
355
304
356
385
291
309
339
299
265
315
384
283
262
366
254
275
374
338
362
307
324
323
276
353
303
348
376
342
349
352
228
286
303
337
419
325
314
343
333
173
284
291
243
356
351
340
281
302
300
296
338
388
357
363
290
274
291
208
359
330
230
319
305
317
397
300
286
336
383
434
261
335
274
316
298
302
285
329
292
297
264
350
349
332
393
310
334
277
262
293
377
363
324
287
376
271
381
357
252
215
303
380
300
341
316
358
350
285
319
265
316
318
299
308
290
282
320
230
290
269
303
286
312
379
363
285
270
316
345
316
347
289
312
320
326
299
328
295
325
233
280
414
344
231
308
251
293
287
228
204
358
305
363
349
316
321
348
377
331
390
342
290
342
349
382
268
267
448
290
243
320
317
294
348
363
352
268
300
366
335
344
281
299
265
363
324
333
358
333
266
378
369
273
356
301
337
275
259
396
284
297
244
308
394
299
273
296
192
351
354
146
328
259
265
277
294
285
352
340
302
299
302
383
301
351
258
403
282
231
329
285
300
273
223
350
359
339
274
344
309
316
302
403
300
344
327
361
327
242
363
212
313
318
301
283
342
329
278
293
397
252
369
340
336
212
386
317
354
328
272
276
307
348
277
352
234
306
190
303
266
334
282
240
261
294
318
318
341
288
350
343
285
270
281
281
326
304
293
364
241
289
275
351
306
333
290
295
347
340
376
332
358
264
296
201
361
325
311
368
307
344
377
270
239
364
330
355
317
307
283
286
387
244
258
248
292
320
323
298
351
354
318
340
320
251
247
207
337
264
265
337
312
293
431
287
323
249
223
316
294
305
397
301
322
266
263
383
341
281
364
365
254
305
272
246
328
304
271
373
364
324
319
347
259
317
297
315
327
338
285
363
237
284
273
312
253
361
352
384
310
344
358
229
356
335
329
319
334
288
263
227
283
355
311
397
277
276
263
339
336
334
262
333
291
303
316
249
269
343
336
349
358
338
280
274
290
265
363
319
371
267
356
259
335
324
314
303
275
339
355
234
323
361
306
349
277
281
336
300
297
346
374
309
285
271
290
249
296
294
396
261
257
295
336
244
347
297
328
303
315
347
308
342
339
308
415
287
257
274
250
247
300
254
291
308
371
374
342
363
250
306
371
347
349
282
289
316
281
304
363
269
340
298
375
339
258
391
325
329
388
281
286
274
341
354
354
312
325
351
302
358
384
304
280
283
377
261
274
350
306
284
348
307
373
341
327
225
338
332
300
285
197
313
373
358
421
328
338
334
292
294
296
360
238
356
372
301
264
350
328
310
345
286
332
396
241
341
296
385
326
294
285
366
369
284
342
317
301
413
334
327
403
351
274
302
353
223
358
296
331
321
330
315
283
358
305
325
336
291
213
388
263
267
278
309
307
348
221
314
336
287
352
346
257
308
345
318
326
350
338
271
302
254
350
355
335
291
406
365
306
279
293
327
277
288
303
330
325
320
319
323
230
345
375
312
298
315
375
299
293
368
300
307
362
327
262
314
245
319
287
295
315
339
345
302
263
302
341
279
326
338
263
289
379
285
305
188
345
357
296
280
356
377
263
247
298
397
296
346
349
313
367
328
296
329
323
309
334
390
411
231
332
324
319
271
309
326
350
256
342
323
430
370
256
276
329
280
351
295
353
358
337
337
376
330
295
320
299
392
362
334
280
347
340
320
388
308
302
293
305
317
360
308
301
301
329
261
267
350
351
320
305
373
389
352
342
339
315
335
253
363
374
299
312
330
346
294
289
373
317
294
406
385
285
284
362
193
318
339
242
280
356
305
295
388
326
340
380
285
264
301
324
269
316
336
290
361
274
370
362
337
268
314
252
324
330
278
273
315
327
300
358
286
281
325
336
295
362
310
213
287
369
371
404
297
195
288
324
351
255
306
332
308
264
289
312
360
256
304
280
320
300
319
383
380
272
331
210
374
332
321
376
425
305
267
276
291
287
360
277
238
344
401
270
352
307
286
329
319
334
281
349
341
333
319
261
300
311
299
251
310
402
257
341
300
295
409
339
332
339
365
350
325
385
272
221
310
347
267
260
363
277
366
328
376
280
378
358
386
308
258
326
247
278
331
287
344
356
292
430
392
306
288
336
291
349
302
357
217
277
269
301
355
353
329
332
322
372
362
357
368
327
361
406
365
321
320
353
319
386
281
327
241
288
421
295
321
329
281
304
323
376
291
283
306
348
292
414
388
373
256
356
349
394
349
304
359
272
308
324
360
322
335
321
325
244
300
346
345
335
246
257
346
251
286
378
316
400
202
332
398
298
379
297
380
313
362
235
299
429
273
413
277
316
260
287
388
367
365
314
275
401
333
328
340
347
350
301
301
294
397
277
380
270
290
364
339
304
296
397
295
301
249
235
339
338
303
332
350
293
295
340
389
312
265
349
358
220
313
343
233
407
275
312
301
318
257
308
286
292
281
356
325
279
341
300
302
370
369
267
301
299
303
298
342
357
386
265
329
342
340
294
260
290
310
366
300
331
314
287
289
377
338
240
353
328
172
264
414
321
311
275
291
317
338
363
207
274
288
309
341
319
353
245
239
332
297
382
291
260
272
406
357
336
253
358
309
338
314
289
239
294
264
410
215
233
353
385
294
365
318
338
396
300
279
301
316
320
253
372
355
368
336
251
346
332
360
379
362
276
310
316
347
287
317
378
354
330
265
293
348
236
297
304
341
318
303
321
218
336
290
272
364
283
327
389
290
226
351
264
337
394
254
396
378
388
454
323
391
312
300
307
264
328
359
342
305
256
300
338
256
363
338
294
341
275
260
345
343
360
393
337
322
261
325
261
267
292
279
238
268
327
177
261
361
304
383
322
353
308
348
281
202
291
414
261
326
351
254
322
321
336
343
373
266
249
233
259
317
285
271
340
302
276
385
356
352
270
358
362
297
289
321
334
372
289
295
314
353
298
296
296
296
417
229
330
371
319
348
340
349
311
282
260
260
380
340
310
295
365
326
362
303
346
281
389
257
212
282
322
324
304
344
326
290
312
344
233
386
372
277
301
314
333
278
288
297
317
304
270
338
246
264
315
334
329
284
320
349
345
276
362
372
320
339
220
347
294
351
376
358
259
290
287
407
345
302
293
355
234
280
310
380
283
323
383
352
269
286
308
357
247
373
299
316
369
322
350
364
221
369
376
323
349
279
391
298
278
343
273
333
297
305
371
309
268
292
321
299
295
346
327
267
233
331
328
404
288
310
324
347
390
378
262
272
265
236
365
333
370
251
296
319
313
294
388
344
301
298
262
390
330
268
302
286
296
307
368
326
271
331
398
292
243
322
309
338
348
334
280
287
315
342
379
424
334
328
348
346
431
335
319
318
350
339
376
257
303
326
411
297
311
362
383
312
329
323
386
329
287
362
317
383
262
305
315
395
278
387
328
282
312
313
318
273
327
330
325
339
269
322
294
334
284
326
284
363
294
329
264
272
397
256
244
276
303
224
333
330
306
318
249
286
380
330
282
349
293
290
309
312
371
288
326
267
269
326
354
314
335
305
280
378
282
350
402
359
288
301
330
314
310
223
336
262
347
275
398
274
388
233
326
378
306
285
253
317
311
298
300
255
326
262
316
254
288
282
247
320
277
320
299
315
320
341
304
346
343
311
354
270
296
307
392
299
347
371
282
328
321
335
303
318
330
405
349
309
293
230
297
218
352
324
313
205
191
393
369
392
319
277
351
328
293
361
309
311
334
377
399
212
347
244
313
402
333
325
275
255
313
390
351
285
249
295
303
317
364
324
344
249
365
372
262
269
320
294
290
264
367
305
301
209
347
303
325
268
352
330
291
331
258
355
309
315
420
255
278
289
291
291
292
293
311
375
390
262
322
345
324
270
324
319
378
348
309
269
396
359
342
282
335
312
365
201
287
345
230
300
271
359
389
277
267
290
239
310
359
325
278
283
329
269
271
297
379
256
323
302
300
305
331
274
324
247
291
282
401
266
314
287
277
344
336
287
340
317
211
288
342
311
312
309
324
264
300
279
334
308
222
360
354
311
367
349
262
315
342
338
248
323
290
347
366
273
366
310
323
347
297
329
284
407
382
309
312
301
289
323
279
370
188
234
317
328
247
341
342
304
290
300
346
322
306
335
371
270
422
325
357
265
315
235
389
300
266
384
278
288
320
258
421
294
327
328
307
331
356
360
414
302
315
234
345
290
359
324
307
344
307
222
370
358
288
333
254
304
346
363
319
372
275
262
294
363
286
352
311
251
313
334
253
280
244
380
233
288
356
305
269
342
347
344
297
341
348
283
330
317
314
305
272
323
349
371
351
263
325
343
357
301
378
249
252
407
391
323
270
311
255
247
362
270
324
336
253
365
279
269
307
201
345
253
374
319
366
324
300
305
301
329
381
347
324
263
249
357
314
332
293
398
352
330
345
320
268
326
263
366
326
275
382
270
324
314
360
367
334
354
396
382
352
235
275
347
429
300
295
305
279
278
348
335
365
283
304
305
284
257
316
318
294
272
314
283
365
266
328
276
366
359
349
290
378
187
292
277
286
302
311
218
338
378
324
371
352
386
338
327
220
305
243
242
335
282
235
239
326
373
271
329
299
342
321
312
305
243
312
353
353
358
363
357
343
294
368
338
315
340
319
291
227
289
366
219
262
358
275
359
211
300
365
268
349
321
236
371
308
301
317
408
334
242
279
292
367
303
267
286
394
349
257
347
338
321
231
271
206
283
261
356
345
320
331
238
261
350
275
319
323
341
370
338
300
397
261
315
315
357
327
379
317
300
339
424
352
354
303
237
320
285
390
243
372
319
319
311
335
323
322
420
368
290
332
357
373
384
292
222
337
262
274
361
430
322
344
359
293
333
300
241
327
305
311
349
289
290
235
308
359
274
273
329
354
351
231
403
407
207
306
300
241
274
368
321
250
307
386
352
297
318
258
267
246
319
291
230
326
335
249
312
315
325
300
351
274
364
329
324
266
271
304
297
352
304
310
353
307
389
351
316
348
203
331
308
312
349
269
296
305
333
196
312
388
299
345
297
349
278
316
299
210
272
392
327
287
333
261
329
384
267
346
363
271
346
226
324
345
347
254
275
246
351
249
361
303
324
375
253
354
410
226
329
359
347
337
351
380
253
331
269
305
344
325
173
261
365
256
271
294
347
366
359
230
264
307
378
287
321
268
336
314
277
304
316
366
372
396
286
260
355
364
364
283
392
261
278
321
303
350
286
338
329
352
263
285
356
299
326
249
351
330
327
340
353
380
307
312
337
389
267
390
333
361
369
345
318
216
230
309
266
326
303
327
297
279
258
275
265
270
230
341
371
248
319
338
319
362
316
271
322
314
370
301
279
348
257
271
284
353
329
293
294
264
357
366
395
392
323
309
281
279
337
356
301
302
361
310
372
233
334
294
327
322
271
288
279
335
300
264
359
315
345
303
292
300
257
356
338
348
427
252
306
332
299
349
342
292
366
306
379
335
231
264
192
353
339
281
296
342
315
349
308
401
279
400
342
345
403
298
373
323
487
289
289
260
338
312
284
330
325
233
321
282
281
383
258
205
262
344
354
271
285
304
252
316
339
290
275
278
329
326
373
327
264
373
344
272
363
277
315
300
273
270
300
317
356
291
348
313
349
327
320
302
311
363
333
326
372
263
291
308
301
264
278
260
331
330
270
375
295
292
299
331
337
311
254
272
364
347
347
338
284
296
289
315
234
309
326
351
317
342
302
438
254
365
315
357
243
377
345
281
298
285
327
276
251
189
385
346
374
255
366
320
323
385
267
262
292
292
358
317
326
299
353
310
361
303
264
383
321
372
351
350
272
289
300
275
330
267
317
354
284
330
299
318
366
255
278
330
304
229
293
304
279
266
349
257
325
375
239
250
286
310
291
388
372
334
360
304
364
321
284
364
367
414
332
312
328
310
398
265
357
327
328
230
397
215
270
291
378
334
374
356
308
345
381
299
320
229
287
300
310
240
361
384
384
374
314
301
287
288
220
285
329
355
358
352
246
315
298
306
358
298
346
306
320
280
284
324
323
308
315
317
358
305
345
314
300
363
384
231
383
349
340
262
358
382
248
370
292
320
268
259
381
291
271
404
316
310
313
286
200
339
365
312
397
354
266
281
311
248
323
290
339
183
285
317
361
427
224
303
225
314
282
292
325
295
319
303
339
344
322
382
300
301
319
365
342
336
237
261
339
322
266
277
300
370
284
326
273
357
290
266
276
363
250
313
317
302
272
289
276
274
362
320
358
308
309
322
322
352
307
299
283
324
285
261
252
290
322
297
327
320
307
355
317
352
254
219
334
337
289
287
210
329
328
283
265
333
319
290
335
291
329
302
244
311
224
357
315
343
335
279
320
308
247
246
342
233
371
311
326
382
331
290
301
376
307
329
342
333
323
314
373
374
284
313
256
360
390
254
322
333
206
255
315
257
252
362
274
407
256
323
328
255
292
297
316
388
231
321
263
286
299
372
307
365
293
301
342
365
329
302
296
304
342
365
288
321
252
258
310
326
357
252
260
314
358
354
326
285
339
386
395
407
269
350
362
271
386
357
357
330
321
262
260
297
310
320
366
334
295
273
269
291
283
325
344
314
293
354
375
301
369
364
396
314
317
292
369
304
354
279
286
316
274
309
300
399
353
311
447
272
208
353
327
343
240
332
246
232
301
286
276
248
406
282
313
309
301
298
299
315
364
314
279
239
301
263
343
277
347
276
332
239
357
386
341
166
270
355
309
248
374
292
363
343
336
361
273
336
309
267
288
286
329
318
242
260
313
276
281
350
402
371
292
266
393
283
317
362
271
337
301
321
377
328
344
330
301
377
270
290
360
347
311
345
307
391
273
214
349
321
242
324
329
349
264
315
299
276
317
327
285
263
261
264
259
365
309
287
410
306
347
320
341
328
258
347
292
274
348
313
369
242
374
340
298
322
339
252
330
281
214
377
360
301
291
371
377
271
329
372
335
327
289
337
373
293
317
350
311
377
330
326
318
263
329
350
255
376
351
362
311
366
312
356
331
284
348
336
335
338
362
335
311
307
222
265
335
341
348
351
277
321
282
230
388
291
283
220
447
346
271
284
313
388
393
334
295
254
308
300
284
333
321
349
198
277
288
325
338
267
225
347
331
332
298
349
365
372
267
360
335
295
313
314
335
353
328
340
280
290
393
323
312
365
261
278
304
289
309
351
325
210
320
245
302
288
253
336
314
318
350
313
263
333
310
356
321
340
271
335
309
284
277
341
235
324
285
268
347
333
287
379
252
273
304
342
308
343
282
296
336
393
278
276
428
377
322
242
345
279
275
338
328
275
429
310
310
315
353
344
338
316
247
314
294
322
318
272
282
349
245
343
322
345
220
283
313
277
368
401
283
352
293
256
253
381
292
300
296
352
347
260
387
308
257
326
357
374
340
319
316
287
371
373
333
263
267
329
275
334
391
304
345
308
335
332
346
295
402
341
323
374
281
361
383
318
366
289
292
306
308
338
284
271
281
292
376
345
317
269
348
290
340
243
367
316
343
346
286
309
305
245
241
283
300
408
301
299
276
390
344
355
283
297
306
246
352
246
363
305
275
354
329
302
284
221
291
401
333
318
439
317
372
373
246
236
313
373
274
293
351
357
303
359
321
360
375
275
343
400
313
322
304
312
309
318
278
330
330
295
381
160
355
322
305
292
268
318
305
253
424
346
294
258
393
322
287
313
272
266
353
337
303
365
306
315
334
361
255
320
312
303
279
331
254
320
303
348
359
327
345
338
341
319
312
241
315
345
331
307
334
272
324
358
267
302
334
206
295
309
266
406
311
347
303
324
452
316
371
331
316
324
352
290
326
343
369
280
280
364
376
301
304
320
279
321
369
269
323
332
368
240
322
427
294
340
218
409
422
407
364
315
364
340
305
268
245
252
183
319
334
247
245
360
304
308
286
379
319
295
311
330
356
235
300
308
253
324
343
284
291
267
256
322
347
355
262
324
192
286
315
322
351
254
302
330
312
324
385
223
285
353
296
284
376
272
394
267
360
302
320
254
331
312
365
275
323
358
333
283
399
275
316
359
287
336
341
344
335
235
296
323
226
299
312
271
280
361
387
301
186
389
372
346
283
361
250
295
248
330
244
405
238
302
278
345
258
274
327
299
377
307
276
365
315
338
321
298
281
330
156
344
272
395
289
200
380
381
391
402
339
374
260
347
137
277
272
330
412
307
391
255
264
389
341
342
324
284
322
279
358
277
320
302
295
309
276
287
273
366
358
398
303
310
299
375
328
330
308
289
364
288
363
268
291
257
417
357
314
274
267
391
308
348
316
369
346
315
273
340
284
303
307
282
258
358
217
347
276
258
370
376
342
405
301
255
282
297
331
245
326
174
305
249
229
329
382
318
347
284
344
271
371
312
288
333
355
291
280
265
334
319
293
306
270
354
365
268
363
314
327
273
280
288
268
333
313
317
275
273
304
308
271
392
312
395
294
309
324
250
307
361
289
391
252
354
266
322
345
305
253
268
265
373
330
352
370
349
358
306
357
391
262
279
326
248
347
301
371
273
353
297
329
323
257
265
268
371
276
373
339
315
372
275
302
358
325
326
345
325
393
302
351
303
330
295
350
292
281
261
252
312
307
456
289
325
290
381
339
394
245
271
214
314
335
299
286
353
263
349
215
271
267
341
246
251
400
312
318
251
371
310
328
291
353
332
304
316
328
378
331
330
357
395
267
298
286
363
327
208
320
388
309
290
263
262
372
424
175
351
214
311
365
324
335
314
348
316
359
288
337
311
294
387
339
234
303
320
307
271
346
301
352
222
318
295
372
289
269
301
296
326
339
333
281
407
341
294
288
252
272
371
350
326
287
329
343
269
346
312
289
260
390
286
284
226
264
369
316
344
262
308
329
341
339
330
247
333
396
285
274
323
303
209
345
244
334
300
302
266
388
264
338
420
250
355
319
397
320
336
288
398
355
237
232
265
315
399
312
364
309
276
372
326
394
409
355
365
376
334
277
346
262
314
338
266
279
249
363
292
348
279
318
273
269
333
337
270
386
329
298
235
297
346
290
369
362
255
326
235
352
376
357
262
268
278
352
360
292
347
313
241
338
379
318
231
298
333
308
187
303
324
418
313
328
214
261
359
278
263
286
265
339
351
315
258
244
351
232
331
236
377
315
345
339
337
339
318
306
312
266
280
335
262
351
235
241
311
314
292
280
350
359
307
344
360
307
275
402
325
256
271
239
356
366
339
345
285
265
301
276
350
344
247
348
279
302
300
298
290
349
317
351
316
305
269
373
358
317
328
337
279
325
243
408
344
294
299
296
293
347
292
360
333
284
254
284
284
278
294
349
299
279
234
338
297
246
303
327
311
313
345
290
276
232
391
325
255
306
326
338
317
283
266
286
255
329
314
339
268
331
333
337
356
339
330
290
307
296
316
227
360
294
311
300
260
301
237
339
236
361
359
366
360
355
318
279
337
306
287
287
278
319
337
300
369
342
289
328
286
322
311
258
271
277
281
245
354
345
239
359
255
402
245
352
347
270
317
329
264
264
309
306
261
283
346
315
321
207
405
259
310
280
332
291
342
389
293
341
321
246
293
287
351
312
284
216
390
347
296
234
384
335
235
273
343
308
299
283
322
364
384
355
272
330
239
337
406
320
334
321
335
404
344
285
235
291
255
297
345
358
293
346
376
386
273
336
315
357
307
210
271
273
334
294
288
264
357
227
296
385
345
302
267
289
335
385
361
287
282
323
248
300
362
389
306
230
312
353
357
368
323
390
384
282
331
295
293
278
280
365
256
282
362
283
241
244
350
358
312
328
316
311
383
307
334
312
289
253
326
347
232
261
362
317
310
345
336
332
262
278
346
344
310
379
272
276
279
279
333
328
412
258
329
317
293
317
298
279
336
317
256
318
320
290
326
371
329
268
359
240
348
316
308
245
350
345
253
348
310
381
329
410
324
280
337
213
279
225
243
262
313
343
278
330
356
303
314
346
307
299
324
352
303
338
348
330
165
267
252
348
179
343
263
297
356
416
295
287
295
337
294
371
320
261
307
326
319
366
341
281
309
273
308
364
295
276
299
347
192
320
228
219
339
351
338
270
381
379
292
296
355
299
292
322
220
317
336
293
346
362
312
297
343
338
366
297
353
285
336
317
364
311
368
328
331
426
302
386
334
275
373
267
320
268
302
288
321
359
280
280
343
352
200
295
316
298
286
318
348
223
288
255
279
269
265
247
266
373
240
326
367
322
346
331
318
356
313
334
347
361
328
300
284
312
352
269
374
282
371
341
372
274
268
323
297
316
289
283
290
212
289
313
343
317
366
314
315
274
280
322
285
308
261
414
291
329
241
342
349
317
360
299
289
300
277
400
322
384
309
277
350
352
328
292
295
407
269
415
336
331
315
262
342
345
348
393
291
323
366
324
256
269
335
345
277
320
331
336
315
317
220
352
312
306
262
331
235
341
279
341
286
296
319
289
345
328
337
359
258
332
319
296
388
342
292
304
339
280
290
365
383
422
227
255
304
307
370
334
270
377
295
303
383
252
268
354
379
253
325
364
316
305
275
330
282
390
247
328
267
334
251
371
344
283
331
366
364
270
288
322
308
338
399
380
269
357
397
296
270
275
405
296
274
357
363
361
409
289
330
293
228
363
255
319
329
349
320
277
418
312
317
409
301
310
333
241
306
292
305
338
323
363
339
276
250
281
367
395
278
351
362
302
312
392
371
300
367
350
311
272
349
364
348
292
407
338
389
320
333
277
296
338
355
308
241
291
302
342
282
340
375
300
298
306
300
329
398
301
297
298
354
286
276
313
341
291
308
325
391
371
325
260
411
285
244
425
256
287
288
353
297
310
350
319
291
397
285
308
297
295
242
300
280
317
286
236
345
330
369
287
340
334
311
306
257
269
308
375
281
318
386
306
268
313
325
335
332
321
322
257
320
392
306
317
325
253
251
333
271
389
289
379
292
252
320
299
253
316
357
341
359
294
227
297
332
282
259
351
285
245
332
284
268
319
228
330
337
371
320
237
330
353
239
305
275
301
313
235
382
309
369
324
299
323
331
306
344
344
280
334
330
319
270
232
342
276
254
303
339
301
310
359
300
285
386
282
292
331
239
339
305
317
320
407
322
342
333
299
314
312
291
329
317
310
329
311
320
326
283
305
313
317
324
274
310
311
284
394
325
366
304
300
309
344
354
311
390
257
328
305
317
292
327
290
287
342
315
243
301
314
305
372
308
336
343
260
302
317
258
353
341
326
342
289
327
316
357
263
316
291
247
262
319
308
276
303
389
351
293
275
349
305
378
305
364
327
380
353
301
254
315
304
326
353
336
254
256
327
325
239
312
264
300
352
286
289
342
371
331
368
245
310
260
346
291
297
306
315
322
358
283
378
304
295
380
378
344
270
371
270
334
279
321
282
243
280
336
261
229
290
299
383
226
392
362
372
345
334
276
390
285
441
345
320
313
274
414
447
271
345
355
270
288
250
337
322
253
295
311
367
298
303
250
367
312
297
310
289
328
221
326
319
325
307
363
304
262
313
301
303
210
354
314
387
275
371
326
282
416
321
374
303
280
339
308
344
330
263
374
287
343
334
326
331
294
285
376
344
315
381
292
290
310
319
317
278
358
351
286
302
298
261
232
338
276
334
221
251
313
306
286
286
333
359
321
294
310
389
315
390
337
407
278
395
356
225
279
343
298
333
324
305
350
286
397
354
308
401
259
300
293
350
350
329
298
287
309
231
303
398
351
282
381
288
397
307
255
306
314
274
364
354
322
228
365
308
292
328
280
239
341
330
341
347
343
281
383
352
359
261
316
393
300
293
332
288
329
353
317
332
377
251
341
411
278
335
272
297
312
347
278
276
343
364
288
348
281
342
262
387
356
338
293
300
256
289
304
352
340
302
366
302
325
335
281
315
306
342
380
286
250
261
302
315
338
321
239
302
295
264
311
351
310
268
273
401
303
316
347
386
355
328
350
307
310
301
278
280
362
248
253
366
253
322
383
366
349
280
338
344
360
270
331
336
298
276
203
324
370
271
287
312
276
228
250
210
268
317
307
307
303
318
362
269
377
335
317
349
354
365
341
339
354
385
403
353
296
324
331
306
266
287
315
353
266
295
357
340
413
333
403
326
212
287
327
322
252
311
423
253
308
301
295
376
263
335
247
333
278
320
275
333
321
334
273
357
219
284
282
302
312
269
273
288
218
310
310
298
356
345
305
232
288
353
308
299
293
249
291
245
416
295
313
285
303
378
268
244
329
320
286
313
267
262
330
293
329
241
342
329
326
360
280
290
309
273
306
296
332
336
341
302
250
175
307
340
365
276
280
273
231
367
275
315
208
379
259
365
230
286
407
317
312
306
392
278
297
290
226
310
366
337
314
340
330
365
315
284
261
333
292
318
397
257
346
399
373
347
283
338
257
226
215
315
345
352
366
391
321
408
356
320
286
361
349
394
352
320
318
368
354
407
336
408
330
342
318
404
283
341
265
320
320
371
314
218
303
264
370
306
268
315
297
353
327
332
296
340
327
284
356
343
403
360
250
340
367
356
294
271
229
385
320
300
347
308
303
315
272
281
322
283
336
324
355
407
330
272
327
364
356
290
392
318
224
318
250
188
273
332
298
291
368
276
353
305
348
355
315
283
267
310
299
281
269
276
260
252
313
322
272
303
277
365
294
281
312
354
259
379
287
296
391
314
289
312
306
237
295
303
379
351
384
261
276
361
255
269
389
348
343
317
357
270
361
299
348
310
362
240
355
318
316
253
334
321
334
290
348
304
369
300
329
305
269
318
350
313
254
420
242
299
296
267
299
385
277
347
260
235
276
298
341
342
343
345
282
377
356
236
260
291
274
288
272
307
315
262
323
348
318
237
249
370
339
233
318
291
298
330
275
303
292
394
361
282
360
326
364
308
319
342
377
354
301
296
311
335
271
385
248
315
313
307
292
326
335
252
281
256
315
232
290
315
460
309
326
298
280
354
402
363
328
296
288
353
397
297
239
302
423
317
311
318
316
323
248
346
342
321
296
274
296
355
268
395
358
372
318
392
305
307
320
333
310
285
304
329
405
342
362
277
305
296
368
258
303
368
327
275
280
270
298
295
341
276
357
368
343
335
370
257
309
374
307
280
339
278
267
360
378
376
295
310
343
288
250
326
299
290
282
242
379
211
280
322
378
247
352
291
320
351
314
334
303
305
396
272
347
436
252
369
375
316
321
367
322
292
297
294
278
280
305
240
349
271
307
312
284
283
305
282
405
266
297
314
243
352
351
335
294
293
306
416
337
343
292
375
358
368
268
262
319
288
339
252
343
286
384
240
183
303
292
278
284
345
353
366
333
359
286
298
260
289
393
240
297
280
275
362
255
319
309
279
342
332
352
287
331
306
314
348
402
309
276
342
263
298
269
334
375
293
278
229
365
348
347
323
328
254
330
326
332
348
295
284
332
260
396
271
342
396
307
268
238
325
325
329
322
304
289
295
270
280
256
353
340
265
303
319
333
300
382
294
313
350
280
370
349
304
265
355
308
295
298
284
361
355
301
386
300
299
312
388
298
321
239
410
299
319
292
216
359
327
334
290
334
417
369
246
322
276
231
242
272
339
300
334
315
312
323
255
340
278
329
393
361
330
372
293
358
362
379
317
369
384
349
293
337
246
297
316
298
312
298
364
358
279
311
306
303
264
395
275
273
333
291
330
297
270
395
296
305
370
349
352
334
332
304
222
322
394
339
311
366
321
372
337
318
324
266
282
309
328
377
248
344
267
291
270
392
287
273
282
240
330
288
293
366
339
346
334
323
318
376
370
352
342
283
285
341
368
301
276
244
311
385
312
292
318
271
351
334
365
265
226
328
350
274
365
338
415
329
349
358
231
321
319
273
341
306
225
398
289
205
367
268
287
275
298
320
313
294
292
312
374
314
314
216
391
288
360
326
309
350
278
316
344
326
293
318
337
355
311
293
247
286
365
313
287
327
345
324
254
314
336
288
352
315
352
351
291
296
387
267
323
351
347
348
350
365
304
370
282
302
297
278
304
375
308
285
274
307
321
390
310
426
338
394
278
272
336
254
284
290
343
392
330
307
283
350
401
353
287
293
346
333
299
315
272
409
385
331
304
379
306
301
285
369
325
363
278
311
264
303
297
330
309
357
315
268
335
368
292
307
337
277
341
253
312
325
309
327
358
288
263
352
331
355
264
335
277
316
327
305
333
266
292
281
308
324
290
338
438
272
364
400
349
329
365
370
383
252
327
334
358
346
290
335
307
356
238
334
316
344
338
286
347
294
374
246
351
283
349
276
303
364
287
298
380
230
313
279
311
320
313
343
384
340
298
317
337
355
250
374
319
308
324
340
239
245
260
349
264
340
331
307
254
297
304
370
289
326
305
267
348
231
238
348
318
310
341
241
284
250
282
283
334
337
292
326
292
295
289
388
312
311
306
293
415
309
303
321
398
289
351
304
366
380
320
306
331
314
299
362
224
362
271
325
326
262
376
325
351
344
332
323
223
404
271
275
333
354
368
299
288
418
293
209
285
322
233
253
329
373
393
248
272
362
256
347
281
307
354
287
327
372
341
287
308
297
331
312
186
346
308
358
367
345
395
218
299
302
324
286
335
298
343
251
325
332
311
319
344
344
252
280
321
314
381
312
332
305
279
240
377
310
368
313
272
351
347
331
325
320
262
274
265
376
306
274
369
264
371
368
293
322
287
297
295
312
251
295
324
317
363
300
341
379
304
327
288
275
255
362
254
329
274
260
249
331
372
247
338
271
353
233
294
340
286
296
395
360
306
304
281
261
278
245
283
264
358
330
257
341
359
307
355
277
307
253
303
301
300
275
285
307
265
294
349
316
315
346
336
325
296
260
309
344
333
295
315
280
369
275
272
390
344
287
334
304
410
327
324
281
334
382
296
374
324
241
301
356
330
286
317
276
361
314
241
275
301
277
263
340
333
310
286
365
260
295
324
342
353
317
331
281
408
349
223
297
331
241
271
368
274
309
325
253
272
279
234
272
354
338
293
315
294
361
355
403
316
298
281
344
384
366
310
330
237
322
339
351
289
315
353
309
253
286
348
299
324
354
314
336
344
295
298
254
377
294
309
376
363
275
362
257
311
296
283
250
352
243
306
464
308
315
288
404
297
361
285
290
303
370
319
343
298
317
310
289
325
286
369
396
373
311
286
190
275
308
303
320
331
328
384
264
278
270
246
366
316
260
269
224
257
284
330
288
352
293
274
375
357
389
365
239
171
280
238
327
307
333
311
339
296
280
285
304
225
314
293
260
368
311
317
298
329
338
231
328
342
404
244
324
267
312
358
316
384
392
293
312
341
335
385
365
319
339
233
288
314
294
264
343
308
354
271
361
402
330
312
363
386
332
359
308
339
283
241
341
287
220
252
339
306
281
326
363
306
398
334
348
344
309
351
312
201
357
294
365
303
356
325
350
356
315
343
388
332
332
275
306
384
309
303
269
336
354
356
317
321
238
308
367
302
318
372
381
280
262
311
331
342
367
306
299
343
339
340
339
334
351
289
343
272
269
283
338
323
351
299
331
290
313
333
308
264
340
302
287
377
264
360
250
308
363
219
284
250
245
394
386
329
352
274
319
274
275
287
280
301
355
364
339
242
323
294
319
338
290
326
371
256
257
264
278
293
356
351
301
338
349
301
408
269
388
342
298
322
272
306
318
329
263
392
274
235
365
425
270
310
365
369
353
267
265
316
359
260
389
346
382
334
307
201
326
348
428
301
276
270
275
303
212
315
244
309
287
305
325
340
332
313
329
317
301
251
348
342
326
347
354
274
289
309
391
348
349
338
345
370
295
271
291
283
253
345
339
356
351
359
297
312
381
315
259
324
292
386
263
331
347
307
274
290
396
271
337
276
264
332
336
257
308
279
285
378
338
334
304
317
269
363
275
348
367
236
372
356
396
253
329
278
307
355
362
360
387
284
332
322
310
379
305
359
258
382
332
344
277
309
322
202
271
294
300
239
330
385
232
332
304
330
269
302
246
292
315
254
288
303
295
311
248
340
378
225
325
345
328
384
196
269
306
356
306
297
334
312
224
287
353
308
316
255
222
353
399
295
299
352
322
278
241
299
295
375
317
273
350
324
287
334
304
304
290
297
349
345
373
365
285
306
326
362
318
357
340
266
346
341
368
319
342
297
305
319
424
340
276
291
355
302
411
388
330
330
312
279
352
329
322
275
322
329
264
358
269
277
342
337
323
277
259
364
311
314
339
392
245
272
408
316
337
304
319
308
341
287
308
364
356
251
234
318
271
332
323
273
317
230
317
259
333
316
309
409
358
299
300
302
307
348
205
289
342
266
345
306
403
392
259
253
300
259
274
263
271
360
221
309
275
232
386
313
240
353
320
264
415
278
267
334
361
326
291
353
260
271
316
322
266
290
212
286
359
329
278
355
354
301
309
351
284
198
246
358
276
336
332
337
334
322
326
256
385
297
294
292
302
315
298
384
260
291
265
260
251
320
244
347
300
264
348
392
293
291
296
258
375
325
325
327
314
323
293
376
303
232
352
317
341
318
311
249
322
352
386
324
277
371
300
283
314
254
322
304
291
302
257
261
332
392
374
332
355
262
301
284
341
304
300
284
365
343
318
319
349
300
331
255
303
380
244
319
349
387
317
268
378
259
282
305
317
318
386
336
299
297
288
327
311
264
251
245
367
189
328
307
409
347
367
357
374
329
288
380
220
334
347
306
259
312
305
341
274
270
399
284
292
198
340
318
331
309
393
329
396
300
292
305
332
356
328
293
351
308
297
359
283
281
307
336
329
272
290
311
273
359
296
354
296
284
290
331
259
349
344
262
299
291
329
338
346
352
380
264
398
271
327
257
267
252
369
329
287
376
289
295
270
335
377
374
344
223
277
349
388
372
311
322
289
308
303
232
243
329
224
338
348
342
323
338
302
258
283
343
286
253
266
412
261
397
285
272
314
337
284
277
294
345
377
333
325
318
293
311
262
408
341
288
363
393
275
312
375
288
331
340
346
336
381
408
292
257
274
360
257
256
352
262
261
363
339
363
259
275
305
279
366
400
360
303
382
329
340
360
388
278
334
295
276
305
356
339
360
378
314
315
296
356
313
230
313
229
356
290
292
335
317
277
281
313
357
289
356
264
216
275
298
312
327
422
311
313
304
317
356
317
346
337
268
218
299
284
339
245
299
292
391
309
407
291
292
235
247
316
212
416
310
315
363
388
295
348
310
393
334
289
329
325
266
353
352
348
333
348
310
317
330
317
319
281
345
295
383
247
360
384
285
333
287
340
306
284
288
308
447
330
301
302
288
289
215
209
361
362
285
300
258
352
323
394
247
297
331
280
381
360
317
287
281
289
250
385
301
342
353
194
355
316
350
270
426
351
342
301
251
316
391
297
363
300
257
386
225
256
291
304
309
318
242
381
333
298
259
353
276
280
327
325
320
350
304
287
230
317
326
261
338
345
318
394
367
331
259
319
288
377
331
346
223
306
344
286
314
324
352
392
262
363
336
375
359
366
250
280
266
331
374
320
284
311
273
258
380
353
334
339
304
333
360
321
280
337
304
297
352
277
359
276
394
323
282
387
286
198
336
322
300
361
328
332
299
288
322
317
296
295
324
281
263
283
325
278
352
344
264
279
358
331
338
380
352
302
345
352
315
303
290
282
270
285
352
313
300
279
400
371
308
379
383
353
400
324
393
353
342
323
320
157
306
273
252
355
317
370
210
281
281
349
390
346
331
309
255
362
366
291
389
341
292
347
255
216
270
293
368
240
325
294
311
302
304
343
310
301
314
289
352
259
386
341
277
356
294
343
225
267
405
370
266
362
321
438
296
356
322
345
346
338
273
266
334
317
257
384
258
260
324
221
302
263
339
398
362
384
277
383
291
292
320
292
306
352
323
326
348
325
267
311
264
276
317
303
371
332
288
259
387
303
317
336
305
274
278
339
306
330
324
364
307
365
361
307
322
297
357
275
272
286
307
345
341
395
382
299
427
272
373
323
290
280
330
285
309
253
279
343
251
377
332
309
373
317
331
254
274
302
266
303
335
355
247
376
342
305
334
288
322
272
333
260
261
350
303
416
320
196
267
295
270
261
327
319
333
310
343
314
224
296
319
278
352
273
399
265
351
265
337
281
329
225
309
329
350
305
338
270
385
325
264
287
295
266
292
260
354
359
326
378
354
361
319
308
293
243
353
381
267
273
338
399
321
254
332
303
326
372
243
335
278
302
362
216
365
390
295
386
248
343
427
339
312
347
358
328
337
370
333
240
310
308
351
375
361
285
321
379
383
355
316
346
264
288
335
323
249
288
290
369
384
289
376
332
279
360
338
266
296
346
307
341
380
274
317
290
280
281
275
310
339
262
233
260
295
330
309
349
353
222
313
345
360
315
324
340
319
235
304
274
336
300
278
299
396
325
271
338
278
344
312
372
361
340
309
322
399
314
346
247
267
291
347
276
325
340
349
268
345
329
357
321
295
385
227
319
314
391
341
264
323
324
248
307
325
346
335
357
398
306
247
315
277
335
256
299
319
328
282
289
316
261
271
264
241
287
412
246
301
260
252
237
329
399
278
268
271
259
400
330
389
309
345
303
393
326
351
303
357
262
377
363
286
289
367
316
208
281
273
276
235
272
327
293
331
313
350
260
310
321
336
339
316
319
291
368
249
279
190
302
321
349
263
316
310
311
324
281
340
259
341
315
326
312
298
340
339
324
288
285
333
271
247
315
260
321
272
287
271
324
407
327
240
353
275
325
387
295
329
257
319
376
313
324
237
304
339
288
328
253
249
291
337
414
297
244
336
367
310
248
304
270
344
382
293
361
379
359
276
381
368
282
313
312
247
229
271
284
239
306
302
290
317
348
348
377
358
332
333
225
279
319
343
296
308
316
361
340
306
342
335
318
300
267
348
272
313
267
259
329
326
283
273
334
392
335
269
323
378
324
393
282
382
354
253
348
282
343
330
300
398
416
325
300
326
286
372
341
373
264
362
337
383
353
215
324
365
322
258
301
250
362
245
335
429
307
379
379
334
285
355
333
278
257
328
222
302
282
316
298
283
360
249
326
357
287
278
316
232
273
313
328
395
252
252
378
277
308
294
314
288
296
299
243
303
322
380
307
347
316
315
355
364
282
226
314
342
348
371
308
377
307
356
244
335
307
309
333
317
385
310
282
261
326
333
282
326
362
297
268
340
333
358
296
327
354
306
286
267
380
312
286
364
337
327
246
448
345
313
287
333
303
365
330
231
279
336
295
330
240
359
309
279
236
304
321
292
352
321
380
381
401
304
323
380
301
248
350
382
416
266
229
279
357
355
305
435
340
252
247
278
265
371
308
264
305
385
238
316
344
317
257
295
335
365
339
227
279
369
353
419
370
311
283
311
383
370
367
304
367
307
267
313
325
282
316
391
301
327
318
320
388
357
268
288
281
298
418
249
304
303
390
333
336
286
264
276
253
304
352
377
273
305
313
342
317
291
322
375
290
261
339
279
277
326
315
370
322
365
310
325
271
300
210
272
344
356
259
369
314
259
229
288
265
345
290
319
303
333
304
354
265
343
386
228
317
296
257
358
299
351
248
401
266
315
282
323
263
384
325
337
290
361
375
371
416
284
296
339
300
364
339
306
242
347
267
270
364
243
283
308
316
318
392
259
304
264
341
277
384
357
356
263
305
313
342
255
330
287
202
235
337
323
259
378
264
339
347
338
395
323
290
275
287
293
321
358
322
386
292
372
269
272
349
340
279
358
184
297
296
320
318
320
218
358
258
272
238
268
412
303
306
240
362
284
228
303
272
269
363
295
398
301
311
369
265
281
271
344
348
260
326
271
325
293
269
288
385
246
274
313
385
352
320
285
266
376
335
342
356
303
271
358
308
303
265
321
457
275
326
277
269
270
295
322
363
375
270
409
329
248
322
343
287
268
319
265
331
354
356
353
262
337
276
287
245
330
227
371
280
349
317
232
349
298
316
338
308
372
304
317
265
315
278
293
303
339
262
299
326
337
348
265
282
373
308
330
314
297
288
303
398
348
310
320
279
400
311
245
349
274
317
308
378
346
367
303
294
270
324
306
319
299
260
284
354
353
319
325
331
345
411
284
308
290
240
249
315
296
291
298
443
372
230
237
319
313
301
343
344
248
279
356
351
348
337
256
379
293
267
299
265
303
321
268
376
309
312
322
313
309
309
394
327
359
251
291
359
287
313
322
274
288
261
339
325
380
319
332
319
350
384
333
292
320
308
257
366
309
304
303
340
309
333
392
286
318
174
272
308
329
443
245
357
307
262
310
337
270
342
357
357
264
307
267
245
238
255
318
233
295
382
339
283
325
349
315
350
291
249
263
389
319
272
363
357
324
391
179
317
314
239
272
312
308
323
391
309
347
289
330
209
361
341
234
270
290
377
340
336
293
350
282
367
285
318
274
380
299
308
303
325
287
286
345
354
299
281
323
327
363
304
280
276
287
316
274
329
328
315
336
276
331
334
363
314
339
386
257
345
356
298
338
381
296
290
309
326
336
338
310
319
335
323
250
278
260
344
329
402
306
331
305
368
299
330
356
282
294
374
267
260
356
331
352
339
250
350
310
278
363
345
234
273
325
296
289
360
313
228
214
306
395
309
364
254
285
306
365
354
374
345
287
346
361
302
313
392
276
387
385
304
254
294
354
283
295
375
286
415
288
270
335
302
379
322
294
301
359
305
316
318
376
377
311
266
252
213
326
324
329
272
329
305
260
331
314
299
298
255
301
325
320
374
346
288
321
301
276
289
332
260
306
307
378
330
235
371
321
289
219
289
393
350
312
279
335
280
295
301
276
290
318
309
356
321
364
329
329
330
288
300
299
325
358
294
436
303
271
351
346
316
276
339
317
297
334
211
342
368
332
318
279
380
335
322
309
340
370
315
324
372
318
275
289
310
290
344
298
278
255
348
264
283
341
263
345
345
340
258
260
340
308
308
257
287
293
241
340
299
330
307
386
264
234
341
316
399
278
310
382
315
280
295
371
279
272
391
348
222
334
372
395
238
300
313
248
294
305
300
340
381
279
338
273
275
258
351
310
268
317
338
345
307
338
366
353
329
347
313
236
281
389
294
389
311
302
236
291
292
227
305
313
295
393
297
361
337
324
389
261
351
309
322
231
302
291
304
276
345
286
276
309
270
398
307
354
263
322
253
281
316
241
283
277
315
383
303
346
349
314
307
309
301
253
257
259
255
289
380
324
328
309
366
300
327
300
310
271
329
276
298
409
329
299
280
222
296
398
294
276
345
344
392
334
263
391
375
371
311
338
293
313
266
293
212
300
317
273
269
381
327
260
330
317
168
269
345
294
242
371
287
337
289
364
310
338
284
287
366
348
313
365
255
262
259
346
405
326
231
396
311
294
346
243
333
289
363
291
346
351
331
287
286
357
267
238
308
337
334
251
337
297
297
376
292
333
392
281
296
312
319
239
337
329
314
386
305
352
282
309
335
311
272
306
273
341
328
358
258
298
266
220
359
298
292
397
353
349
395
262
284
206
288
367
326
299
292
291
265
302
340
279
252
344
312
259
323
374
380
340
354
403
249
332
326
313
266
272
334
294
275
342
357
316
322
352
275
284
288
347
293
397
316
218
342
325
276
326
342
340
347
310
316
329
357
260
327
373
266
402
253
292
314
279
312
353
281
323
328
332
329
323
259
293
334
286
325
421
265
289
284
391
323
371
268
319
317
336
309
306
401
268
407
316
321
374
299
320
377
277
282
218
355
293
265
346
363
338
421
301
316
304
273
298
394
254
325
324
334
422
361
294
341
268
274
276
357
307
320
271
290
287
312
361
289
278
330
332
284
342
324
343
305
409
341
244
352
399
339
374
359
328
304
330
295
337
347
401
226
255
287
411
285
313
343
324
390
330
196
279
360
411
326
296
253
311
289
271
334
242
289
249
313
334
338
291
329
322
308
309
262
373
294
266
343
306
358
303
330
350
381
285
344
278
367
361
347
322
300
299
324
299
400
343
428
264
374
292
333
294
285
419
384
255
378
245
299
352
329
314
266
390
312
340
285
237
429
390
305
355
242
361
333
316
351
400
375
358
375
311
266
398
362
350
288
341
292
337
252
353
327
313
322
297
286
336
292
334
339
236
348
299
295
351
356
335
333
297
350
265
360
256
251
282
290
221
368
267
328
247
324
287
326
335
332
354
308
331
356
309
376
312
383
323
294
303
376
299
377
328
347
316
363
376
311
288
244
304
252
353
317
395
284
220
311
333
304
374
303
311
344
214
378
423
306
324
288
298
224
306
273
312
385
242
356
317
349
301
296
313
383
312
285
317
358
314
433
307
304
297
294
281
348
284
386
370
303
281
385
253
237
357
356
271
384
302
322
366
380
205
300
348
269
354
268
359
410
336
301
290
221
322
390
298
392
395
345
348
352
269
285
244
364
352
297
269
296
342
298
399
318
303
342
372
396
371
356
303
339
289
286
351
245
328
276
286
345
360
248
345
354
345
259
278
314
404
348
279
370
329
296
249
331
308
356
266
314
398
257
266
355
332
191
253
277
350
212
372
304
344
353
351
281
358
293
391
340
289
312
313
357
327
240
309
359
305
321
352
279
299
271
250
333
336
417
246
255
337
383
361
265
317
276
295
299
343
320
323
365
212
336
349
221
291
237
291
263
312
304
252
317
270
362
230
316
221
293
352
291
266
367
356
297
269
252
252
264
325
358
355
347
254
359
298
386
343
375
316
320
300
356
268
287
396
347
335
297
340
299
318
324
275
297
316
284
301
312
275
282
408
299
381
272
335
267
329
377
308
292
277
277
207
311
306
315
289
299
279
318
346
383
333
277
206
278
280
415
333
198
286
283
396
282
352
307
347
298
305
364
331
376
274
366
288
293
310
278
254
258
446
334
297
236
307
241
401
311
281
323
358
271
315
256
288
261
284
304
359
242
312
384
357
398
250
365
307
245
271
362
369
259
374
298
343
411
315
299
258
341
170
407
262
340
364
283
309
319
365
241
359
350
252
420
318
252
297
335
336
332
312
268
266
314
288
372
330
256
252
283
340
314
312
247
282
277
299
293
301
319
311
176
201
323
357
332
287
297
400
318
333
329
327
327
281
286
306
326
345
331
293
327
366
280
307
364
309
344
347
293
374
353
356
332
282
328
271
352
314
310
276
238
335
276
355
331
261
313
301
214
388
304
265
350
335
295
348
332
323
378
321
339
338
331
335
312
274
293
332
342
248
367
315
350
397
276
360
267
328
428
333
320
237
260
338
319
356
276
402
345
306
342
292
308
338
322
374
338
352
363
398
224
386
357
360
320
384
327
338
241
339
275
404
310
295
262
319
258
249
300
389
282
303
313
373
330
254
301
333
328
361
296
256
326
310
292
314
380
229
301
359
295
294
343
340
277
287
215
381
270
329
257
350
380
252
261
325
275
330
351
311
308
253
329
281
424
291
348
251
356
404
354
292
237
324
278
328
314
298
257
371
395
272
271
358
181
317
313
332
286
358
181
369
271
331
361
388
323
336
311
364
350
342
328
261
306
286
346
297
369
281
345
283
358
353
304
376
355
339
351
226
377
393
260
275
272
306
379
314
294
275
264
293
344
250
319
288
359
359
309
304
275
343
326
183
318
327
224
395
324
400
293
310
346
315
231
288
377
278
373
329
397
268
290
328
291
255
366
333
280
341
334
193
303
378
344
369
334
352
337
259
293
328
295
287
362
252
312
263
385
337
241
246
257
298
321
365
337
380
282
200
362
346
344
266
279
416
349
349
358
369
426
286
370
363
310
302
324
230
316
296
309
336
364
356
216
382
299
268
307
338
345
302
330
387
317
355
334
423
360
284
342
318
265
330
413
267
345
338
324
321
284
263
328
288
271
342
335
382
277
369
281
250
361
295
379
374
362
315
327
263
217
293
253
320
331
307
203
342
368
333
278
381
293
353
360
413
188
389
263
354
335
339
368
338
330
357
350
367
306
327
418
268
316
252
264
315
333
362
280
308
326
355
340
335
287
365
292
337
284
285
320
317
265
269
297
284
312
332
394
236
251
329
292
324
295
326
319
288
288
308
288
270
316
248
297
278
391
362
348
328
313
290
346
283
267
314
282
321
342
267
357
343
323
359
385
276
378
349
356
353
300
332
414
296
294
277
221
295
250
274
323
345
361
297
318
324
401
278
366
311
264
289
342
223
392
294
381
317
298
294
336
245
319
386
261
301
347
303
316
254
303
369
362
319
331
373
260
376
308
253
362
308
381
233
349
335
373
303
390
244
361
312
274
331
234
290
306
393
332
301
367
360
295
321
336
349
346
304
425
325
336
282
267
284
310
362
297
340
331
302
253
314
336
303
291
326
328
328
310
283
329
417
304
336
259
340
349
294
374
316
267
313
343
306
396
347
277
299
366
435
362
350
338
356
380
327
315
244
332
317
288
262
295
241
267
266
347
352
368
312
225
302
382
241
272
246
298
267
326
291
358
335
361
288
351
285
276
268
223
339
321
309
346
265
180
325
281
268
309
343
334
309
456
357
295
264
269
346
289
337
352
341
263
314
301
356
227
298
350
314
213
356
288
315
374
230
353
271
381
328
362
363
366
321
258
304
303
301
379
296
371
284
400
321
285
351
335
341
338
380
286
292
343
282
378
297
336
310
379
277
325
282
319
263
392
275
289
396
331
338
344
358
332
280
326
326
322
254
316
250
300
249
251
338
315
338
365
278
311
286
381
303
224
390
351
301
385
286
293
249
352
207
246
359
309
327
380
384
331
286
252
279
314
269
311
338
309
237
363
360
313
319
394
370
357
363
289
303
389
353
313
303
193
380
315
293
388
240
362
383
340
304
237
285
336
356
399
228
252
290
384
269
365
280
315
275
313
334
259
353
345
303
260
278
280
274
301
211
309
336
310
346
340
294
311
293
272
308
278
318
341
343
325
331
261
352
266
306
340
304
281
364
238
345
324
278
392
315
315
333
359
397
301
295
311
281
317
348
311
365
314
259
330
291
262
295
286
326
333
338
303
248
278
282
275
261
308
364
293
354
268
312
328
282
332
223
289
288
283
351
275
368
327
222
362
405
313
362
306
227
405
327
331
260
259
367
314
340
381
349
350
353
342
380
341
384
297
294
250
297
290
374
259
367
353
312
278
378
308
361
375
242
319
351
353
313
338
264
351
415
295
242
325
287
304
385
278
333
286
251
279
347
333
322
313
351
327
336
305
338
264
332
281
352
296
318
349
319
308
272
301
379
353
329
233
354
261
249
328
294
310
214
330
343
271
283
330
373
321
322
305
243
355
356
316
342
275
330
224
359
270
377
282
315
332
273
357
298
335
345
317
267
245
315
240
254
262
351
331
321
314
386
257
270
393
377
266
384
288
214
257
359
359
278
343
312
342
234
262
274
415
338
293
316
376
409
287
349
275
264
321
394
323
319
293
334
302
291
342
347
375
320
344
266
230
251
282
267
245
331
234
340
322
377
328
343
254
241
377
368
336
293
340
362
347
326
337
321
309
368
335
319
236
326
333
364
313
344
313
315
265
314
356
366
241
369
326
376
281
316
293
244
202
269
228
292
330
288
284
402
326
310
325
305
342
346
325
315
399
274
326
316
233
400
312
314
311
335
282
316
309
408
366
285
410
329
333
362
323
244
387
260
261
376
284
303
253
291
327
350
252
346
442
361
378
284
303
283
278
367
266
386
333
345
261
331
338
324
369
311
289
364
304
344
230
338
346
339
341
250
341
293
265
304
329
340
263
239
270
305
285
276
299
292
303
320
184
253
252
393
273
400
318
229
384
282
243
333
366
362
251
324
314
287
370
337
319
362
340
357
430
296
331
344
290
376
385
410
260
343
268
288
348
361
409
305
341
345
355
377
342
336
358
304
312
329
356
396
362
348
343
306
287
322
213
359
370
245
304
295
310
314
391
324
237
302
341
310
290
299
372
314
312
299
314
256
368
334
369
364
330
287
299
301
345
323
320
303
342
321
357
368
326
281
281
368
309
299
300
246
365
252
365
424
322
359
235
331
300
362
279
300
296
365
298
351
348
317
367
327
282
313
322
321
252
292
282
247
384
323
333
318
312
368
305
336
320
323
414
309
313
338
342
292
229
296
308
303
319
228
346
287
289
279
378
349
367
403
340
279
319
270
354
287
259
296
386
288
187
337
248
315
414
445
311
254
329
383
311
319
254
333
381
385
343
317
282
249
270
344
386
279
323
332
323
372
323
375
254
240
343
342
333
302
314
366
330
398
357
310
239
277
397
279
261
308
342
319
355
267
311
334
272
320
394
265
421
317
288
279
376
267
367
285
273
337
364
360
366
291
293
385
334
341
294
294
276
223
374
318
400
320
359
307
324
348
316
357
299
331
345
211
295
370
362
395
348
312
329
326
345
320
342
358
309
310
313
292
252
403
337
331
181
280
368
191
380
333
275
283
352
309
347
295
370
278
357
244
341
237
286
246
316
355
265
375
333
284
403
300
330
301
269
371
367
357
282
284
279
396
354
317
298
357
259
320
415
370
320
287
355
277
258
325
318
418
253
290
296
315
347
327
306
265
368
369
343
381
375
401
407
250
294
388
321
351
364
381
344
285
385
330
380
308
321
345
324
384
363
381
317
255
323
325
359
335
326
377
277
285
323
375
260
254
298
349
253
262
337
363
289
274
340
291
283
328
307
278
309
318
273
359
406
309
335
351
363
325
254
314
338
305
299
336
313
359
357
240
355
306
352
336
304
268
237
323
336
311
300
287
394
322
257
320
339
236
247
371
233
325
338
350
352
286
316
311
279
319
344
313
348
298
323
361
208
299
352
290
386
337
275
327
317
338
300
253
276
351
343
379
308
248
288
272
299
338
194
285
209
312
322
367
403
348
310
297
396
348
289
247
319
422
379
345
160
399
371
325
288
333
324
334
279
292
362
326
336
350
317
319
262
295
243
354
347
346
392
289
267
270
330
279
307
310
316
359
326
367
312
352
224
312
370
341
371
365
366
405
296
365
366
289
302
387
339
323
379
320
371
369
224
360
309
247
358
375
247
278
261
308
353
281
285
257
334
272
329
309
343
329
303
304
291
305
370
347
249
303
289
310
328
301
303
309
286
297
326
357
338
369
316
271
245
326
407
324
294
325
369
344
357
273
272
344
391
298
234
391
366
241
405
305
370
263
297
380
297
241
223
328
288
350
361
325
306
290
313
305
293
285
295
253
295
327
379
305
321
361
328
279
253
382
260
304
315
236
340
273
216
330
346
356
267
369
338
368
204
275
261
307
278
268
264
321
273
317
292
339
287
339
293
244
318
287
342
281
297
358
447
343
353
270
351
332
360
292
318
338
288
271
235
320
315
299
370
328
247
283
223
325
308
300
287
372
336
316
315
266
247
335
375
326
313
286
337
288
338
313
342
355
345
349
272
317
264
402
287
293
358
220
330
382
326
290
243
281
387
312
284
295
249
337
348
303
366
311
262
226
295
319
391
225
361
321
351
315
296
232
284
317
290
315
347
415
286
317
353
320
384
255
374
345
271
226
348
251
344
356
367
317
297
287
404
379
427
342
343
269
314
340
245
388
336
377
273
361
345
380
272
329
302
267
349
347
302
348
368
327
288
296
369
338
345
285
333
334
312
298
245
388
228
334
318
322
323
318
306
335
331
322
306
263
346
255
241
273
308
307
283
328
391
295
311
323
364
358
404
330
381
377
392
311
275
305
298
278
313
388
319
308
348
321
364
349
285
288
359
298
344
376
267
298
334
310
298
392
290
330
335
339
347
312
324
367
379
292
345
345
333
300
356
291
393
275
349
298
308
229
395
338
310
330
307
360
348
309
267
317
397
258
343
398
262
346
248
313
350
380
267
325
310
353
315
329
333
357
383
275
302
315
343
281
281
351
317
314
267
299
295
282
309
341
299
242
294
285
370
294
291
343
296
239
343
306
286
267
247
289
306
230
240
367
333
228
389
335
369
275
354
342
334
311
214
273
293
311
223
357
333
354
418
287
326
268
200
258
295
399
293
268
303
359
396
270
337
308
372
365
330
302
300
319
218
303
315
322
304
346
313
388
351
262
323
261
357
299
358
343
372
310
369
375
458
308
346
282
331
292
241
311
320
345
396
313
248
364
310
255
308
333
342
383
296
273
268
386
290
348
309
332
286
382
233
245
323
328
294
330
320
393
290
359
304
309
360
306
294
359
252
350
258
240
352
411
272
332
303
309
285
375
387
349
338
284
357
285
353
217
296
389
276
280
378
343
265
296
265
321
361
353
367
375
421
302
363
309
373
339
344
334
274
303
273
311
430
317
304
381
295
337
304
319
297
283
309
314
350
310
374
292
334
284
351
371
284
206
308
298
306
387
322
318
254
297
324
334
340
290
357
302
307
326
406
389
336
327
347
332
353
246
296
364
344
284
366
370
233
316
312
311
325
284
360
385
359
376
302
330
369
305
248
326
342
316
217
306
328
304
335
303
411
291
281
292
302
307
348
442
250
293
259
239
356
347
275
345
244
305
255
396
423
317
310
345
315
337
236
242
329
342
269
299
246
273
346
303
305
364
313
354
351
281
368
320
382
246
353
338
220
309
280
322
297
332
412
361
369
279
325
287
266
280
367
329
320
383
233
298
272
355
400
348
337
322
292
335
284
354
276
302
359
341
400
236
333
342
368
377
349
312
321
335
303
323
321
286
348
298
290
209
330
366
360
296
210
306
263
382
359
411
255
257
242
329
309
382
263
381
219
342
245
309
318
255
259
322
286
367
355
315
383
324
321
268
258
368
372
296
304
322
250
296
386
356
374
352
273
302
270
355
317
365
360
344
322
351
262
341
270
336
279
277
370
276
373
377
363
350
371
313
310
273
257
297
290
300
367
346
392
387
208
284
328
337
410
270
329
353
378
338
334
319
351
362
368
331
360
311
332
378
360
261
380
291
207
284
337
303
326
289
310
266
305
358
283
290
275
314
274
312
275
311
279
306
297
336
297
291
361
326
307
319
365
272
309
268
314
323
285
327
282
343
326
236
240
238
357
359
356
254
377
288
357
313
272
373
370
343
395
328
237
340
308
339
336
285
187
295
245
318
261
320
390
369
277
249
349
332
254
325
367
345
315
295
290
328
320
284
276
297
288
239
336
257
374
313
301
242
345
359
344
411
379
369
361
400
392
281
260
378
330
307
322
322
332
308
353
242
310
341
324
275
315
317
369
268
378
343
307
328
359
246
333
270
288
171
332
366
302
281
283
313
353
267
351
301
361
319
320
283
318
289
268
275
349
324
298
355
312
309
347
302
234
212
298
277
307
327
337
337
271
264
325
308
305
269
361
280
373
295
266
322
315
342
241
353
218
303
305
312
329
385
366
335
393
383
376
277
347
322
287
379
311
323
302
361
286
328
310
364
334
370
399
279
302
311
316
353
301
349
348
338
286
330
287
215
284
263
252
354
354
314
253
296
332
267
379
339
350
364
372
338
358
347
261
325
320
339
316
376
334
297
418
300
311
341
329
296
342
321
274
288
375
385
384
246
179
309
294
315
273
397
309
280
285
273
339
345
287
381
276
274
293
304
364
280
331
343
332
354
285
321
324
309
255
301
372
292
351
214
280
342
381
248
345
323
284
247
276
298
290
210
314
360
305
340
376
298
354
320
361
309
380
254
300
348
344
291
255
328
346
304
348
310
241
340
321
320
293
243
275
393
327
357
332
274
326
341
314
379
321
291
266
342
308
312
333
351
369
253
328
299
314
383
356
285
340
199
283
346
314
340
300
344
330
314
356
357
419
318
289
308
297
283
310
320
350
243
356
254
350
276
343
308
282
282
277
377
295
352
384
374
240
320
367
316
366
226
239
283
304
290
274
358
304
304
369
363
363
259
236
324
221
258
290
326
275
385
332
266
248
232
370
358
311
340
207
365
283
239
311
353
322
220
401
328
330
373
334
190
298
336
341
287
276
291
320
364
256
329
387
301
327
353
382
393
266
321
314
429
401
347
306
331
281
280
378
305
333
297
304
188
314
350
372
374
269
377
366
313
340
219
252
348
385
330
353
282
304
309
340
263
356
362
362
321
270
290
382
328
185
355
381
333
346
408
250
406
311
323
409
375
308
248
364
360
285
210
222
309
325
285
362
257
285
419
339
237
355
324
300
329
361
324
392
275
367
264
318
336
330
317
305
330
268
264
346
332
356
293
264
398
387
276
286
325
284
274
213
332
368
280
314
326
295
305
395
297
341
418
282
343
300
316
366
358
353
314
301
336
267
309
339
338
337
353
348
321
361
326
337
238
329
318
246
352
274
334
337
328
267
279
279
296
276
261
267
324
260
329
362
272
355
401
304
341
337
424
348
367
354
269
305
364
280
338
372
325
209
250
302
269
326
353
395
337
271
317
333
242
290
308
259
363
330
323
317
297
295
330
304
318
259
322
423
218
385
342
277
347
293
300
289
292
375
371
295
307
290
328
299
300
399
393
351
349
339
272
315
334
289
338
275
289
316
354
309
304
289
361
287
266
399
352
370
394
252
313
305
305
292
239
205
246
315
317
318
379
269
297
353
306
330
294
303
396
400
301
324
400
256
303
345
311
293
333
328
181
341
240
384
316
381
354
307
290
321
404
266
247
296
320
274
354
419
353
286
314
281
291
332
281
354
290
276
327
361
284
277
364
303
332
343
321
278
377
264
305
320
286
377
312
297
245
356
334
359
352
376
305
368
331
283
281
291
343
303
221
262
315
250
329
313
327
285
322
315
368
323
370
295
337
367
233
308
280
377
317
344
224
341
290
430
282
294
349
318
310
343
310
271
264
232
327
262
280
328
343
350
290
332
379
289
238
377
255
286
331
331
398
341
250
227
266
342
340
269
290
178
291
285
301
297
342
296
374
389
316
243
352
299
289
315
316
343
269
304
329
321
346
337
341
282
324
360
336
338
399
285
290
318
326
275
344
336
306
279
266
299
345
375
406
276
342
389
302
289
348
352
357
315
364
366
279
322
271
314
377
317
353
289
334
343
396
329
442
288
373
362
396
393
298
332
322
319
348
345
261
378
350
322
322
338
332
319
238
351
349
306
327
421
349
232
238
320
352
341
266
278
259
305
346
277
330
290
254
339
371
318
274
281
331
364
319
335
287
310
294
230
399
335
350
278
213
254
282
370
396
311
238
337
245
295
293
335
326
359
378
214
279
255
280
197
343
347
330
293
331
343
376
311
248
343
318
333
370
344
361
348
315
259
267
234
245
357
385
293
297
232
299
302
273
364
252
349
277
333
344
305
222
294
367
274
270
199
358
330
258
434
333
351
305
372
240
364
281
373
319
401
328
376
269
299
272
340
398
402
271
331
244
298
254
286
271
253
319
360
288
335
318
329
285
221
293
281
245
354
269
295
277
370
239
258
291
363
286
216
321
312
273
284
360
298
337
203
398
303
397
340
295
299
351
347
337
239
286
307
345
292
246
246
273
397
286
278
344
255
293
368
314
303
226
279
295
358
341
350
285
201
268
326
361
335
256
330
371
271
370
234
335
304
340
340
257
357
261
371
266
341
335
407
362
392
362
314
307
314
309
290
256
334
266
294
312
322
342
320
320
303
367
367
358
321
287
332
413
348
325
365
342
285
300
260
295
360
266
304
204
354
341
323
321
317
293
317
263
357
285
351
339
317
303
364
322
396
238
366
326
365
408
361
349
323
302
328
357
368
296
358
340
361
336
326
325
235
357
358
305
285
359
228
388
349
299
326
330
329
313
354
382
348
287
367
316
310
369
260
294
201
298
262
293
281
323
286
274
328
367
298
217
382
350
332
331
327
284
358
271
330
344
297
385
309
360
371
230
309
400
313
385
287
306
332
279
312
276
295
310
182
312
326
251
314
234
263
388
387
283
340
368
287
298
286
440
249
302
320
264
255
272
300
287
345
376
299
322
286
279
247
316
234
337
294
262
373
287
347
377
283
256
288
312
321
372
313
331
309
273
373
306
281
331
345
272
271
222
271
338
342
340
248
332
383
301
312
349
296
284
348
353
285
248
296
295
293
246
323
362
255
268
275
341
338
324
358
264
325
378
307
356
313
453
378
293
246
364
332
338
312
329
285
241
277
287
348
278
294
274
247
351
377
285
285
288
339
282
196
329
261
347
303
327
291
329
324
332
362
377
353
335
181
328
328
264
306
330
335
334
372
296
255
318
378
258
345
362
278
329
270
299
264
279
358
276
333
372
345
345
389
339
324
265
315
320
359
281
316
292
240
323
299
263
332
284
326
409
220
249
300
331
330
326
269
313
404
295
279
301
383
288
390
326
271
346
281
239
266
241
279
415
306
192
352
382
329
268
262
274
306
357
276
294
289
307
268
268
363
264
333
253
327
281
262
305
275
372
279
383
364
228
311
328
297
308
248
295
333
330
295
332
324
250
343
298
260
260
350
278
286
244
267
275
333
309
344
288
347
381
379
327
346
283
298
216
289
316
328
233
368
317
344
336
341
370
290
370
278
323
308
272
363
269
304
362
387
286
309
364
322
338
338
309
266
304
326
312
322
328
292
352
282
307
257
245
293
318
313
325
275
334
289
290
378
316
367
281
277
354
192
342
353
352
297
311
321
292
346
309
219
365
317
334
331
317
332
288
233
322
347
300
227
341
269
320
317
360
295
320
301
260
337
331
340
276
260
342
357
368
265
284
231
356
341
335
300
325
360
363
220
383
246
368
305
327
260
277
356
257
303
257
300
265
318
443
363
296
374
298
335
335
300
288
377
388
300
357
294
330
305
351
304
305
274
349
346
212
326
268
302
296
313
169
368
362
405
344
329
313
288
363
365
328
280
344
389
373
347
348
399
304
341
332
314
347
337
272
342
384
353
304
304
335
310
370
329
287
354
362
326
302
238
342
289
371
345
288
333
354
336
380
337
364
267
192
308
312
336
386
303
325
315
326
336
325
274
374
310
351
293
382
279
262
281
331
258
318
264
311
374
329
332
363
317
344
270
309
272
260
326
419
347
351
317
290
270
415
358
381
339
256
248
308
350
332
328
365
338
382
261
295
289
274
362
349
303
318
302
271
352
324
350
399
370
267
327
349
322
384
309
329
333
242
343
225
346
363
277
343
298
407
286
322
311
316
291
322
279
296
376
274
332
295
276
327
361
263
334
322
443
331
294
369
285
321
260
300
333
327
293
293
343
375
300
258
241
336
365
389
376
261
330
384
323
272
303
355
336
298
393
336
366
283
316
324
255
403
311
313
267
319
334
321
225
325
367
266
273
396
336
382
412
279
343
312
277
347
394
273
344
384
236
301
274
308
194
331
361
382
319
317
276
274
243
346
298
286
431
370
308
277
300
311
321
341
337
324
402
289
347
266
234
354
340
282
346
304
292
334
336
302
340
321
279
339
262
359
206
339
336
337
358
351
401
354
387
348
283
302
316
335
269
298
240
305
309
301
275
193
352
347
261
322
303
374
307
346
229
332
270
290
371
318
333
331
401
244
397
339
377
332
320
362
319
297
246
284
348
346
355
345
322
357
361
257
242
289
336
264
321
394
352
198
350
281
376
258
327
299
283
310
298
279
310
330
359
250
221
304
257
299
386
349
343
304
351
204
288
315
337
348
360
317
282
338
356
371
375
262
296
336
410
304
389
348
294
327
293
328
295
294
285
311
307
370
262
292
339
293
428
306
291
370
330
281
253
341
334
303
304
348
276
307
357
233
332
315
357
310
326
296
286
250
343
269
293
347
326
301
310
363
380
349
322
261
235
327
318
282
292
244
396
369
341
260
343
265
273
291
289
346
311
352
296
354
248
433
326
425
290
348
372
255
296
397
380
280
348
337
325
277
270
372
309
304
361
308
344
351
289
377
339
332
349
340
402
262
332
255
368
300
235
304
308
381
310
342
342
303
225
390
292
305
389
337
267
363
340
363
394
276
265
350
319
346
342
384
261
360
336
295
331
335
354
288
267
310
370
247
385
281
299
352
246
285
324
303
314
302
394
332
356
236
323
349
354
249
302
303
334
221
292
338
341
310
300
256
203
381
294
271
326
265
299
336
271
341
327
344
353
332
348
326
254
259
332
328
386
318
258
358
273
258
242
290
271
214
413
339
291
296
369
367
314
304
309
276
331
319
273
298
292
268
362
319
347
305
308
362
353
307
320
359
238
298
371
335
253
290
320
379
291
350
283
404
313
261
314
338
272
285
307
250
382
277
332
352
301
378
346
334
383
444
353
244
320
342
288
397
387
310
375
400
346
328
274
308
281
383
303
375
245
332
265
303
346
327
385
264
333
359
356
285
373
342
258
368
278
220
329
297
365
296
315
305
311
327
326
307
333
268
400
370
332
294
280
342
304
240
332
360
281
335
310
284
261
433
325
343
283
313
363
301
285
279
371
262
291
329
171
197
236
331
349
356
332
245
288
237
297
198
367
279
362
352
303
267
360
364
312
316
316
344
255
322
392
239
350
295
357
334
284
331
272
241
286
320
280
313
308
377
308
317
278
342
274
414
374
222
346
223
306
344
272
238
231
217
298
267
309
339
299
392
345
287
370
286
253
353
302
299
319
263
344
309
255
303
299
274
336
392
288
313
318
308
213
314
362
249
282
370
303
288
291
315
313
300
267
323
312
307
344
293
261
346
375
359
311
236
271
318
388
329
355
290
319
349
265
292
368
392
375
319
251
314
286
317
322
364
341
364
333
382
295
297
336
318
333
320
332
332
335
296
179
317
359
308
368
318
322
223
357
288
303
312
331
359
332
327
287
338
261
372
371
219
364
326
383
293
362
311
235
282
325
298
342
311
305
257
336
368
315
358
341
312
334
316
254
339
284
338
342
261
304
275
325
382
242
365
318
305
338
268
367
304
296
344
314
232
350
304
301
287
343
264
321
315
385
357
288
302
310
347
210
273
438
268
394
295
374
290
296
271
373
349
383
362
289
258
292
337
324
274
334
400
349
387
252
309
308
282
370
276
342
219
352
336
321
275
268
326
360
249
282
352
340
280
300
333
296
359
308
366
343
292
363
343
341
333
303
344
336
278
257
251
310
348
301
239
328
418
248
276
296
295
354
336
360
407
256
322
290
366
224
354
245
259
307
353
272
337
319
287
318
307
351
361
333
357
380
288
335
286
315
287
320
348
361
333
290
363
348
259
295
333
258
350
346
325
240
225
381
214
366
278
245
372
273
266
361
325
320
340
351
330
291
278
328
356
368
381
323
271
268
306
272
302
311
279
331
341
325
312
305
313
343
284
343
386
318
286
263
332
356
308
319
232
291
355
292
326
360
333
269
306
347
291
280
286
348
255
270
315
328
299
315
328
324
309
248
380
201
396
316
308
305
307
302
273
322
319
328
339
291
359
303
295
353
236
346
285
317
376
277
283
254
328
341
307
368
356
273
243
312
354
341
283
296
298
351
305
276
231
272
425
374
370
353
267
340
291
295
380
268
297
414
311
375
357
202
382
294
397
338
255
369
320
307
319
344
274
363
306
410
300
292
288
301
340
362
285
252
342
349
344
298
342
368
319
389
326
336
262
332
290
191
315
351
274
378
238
310
308
360
323
318
287
320
318
273
340
299
262
357
334
313
287
410
316
321
322
222
311
322
310
272
344
384
376
320
288
375
266
287
270
323
308
309
263
259
292
386
243
392
338
333
278
381
275
258
436
267
382
357
303
301
335
289
201
319
237
269
284
308
282
334
337
436
375
312
307
267
336
292
230
357
396
321
322
278
309
311
351
342
296
232
201
418
274
343
377
396
320
378
213
321
302
369
332
345
373
260
289
275
378
299
358
284
272
301
321
255
272
366
403
320
315
322
306
362
226
366
370
327
279
304
277
320
332
307
310
302
266
323
337
325
206
324
393
338
298
348
282
275
287
227
331
374
299
315
288
363
232
281
317
349
300
347
278
313
272
246
334
260
270
311
255
262
439
279
339
302
347
317
360
247
328
348
252
307
355
302
397
311
290
356
290
344
313
336
374
340
391
261
361
396
345
357
413
364
285
161
339
310
286
323
372
346
286
240
253
324
257
339
287
298
386
296
312
366
319
208
309
361
330
324
309
295
331
308
313
392
296
258
310
315
311
270
354
362
268
296
272
291
275
283
314
352
362
338
339
344
312
368
302
377
277
363
298
342
286
324
351
293
282
337
316
205
315
313
328
343
320
315
408
369
479
298
293
289
368
296
219
346
365
334
387
319
300
321
355
307
291
295
373
345
302
355
293
351
327
286
297
199
321
301
308
320
362
319
341
306
267
370
355
300
279
306
336
267
350
304
280
314
304
299
310
325
299
321
383
233
312
329
349
330
332
297
329
358
334
306
352
406
400
289
217
278
399
312
234
371
244
320
310
352
271
359
321
353
363
365
415
290
277
412
304
270
249
258
288
299
342
340
354
361
340
296
244
332
328
299
242
252
343
364
289
248
336
323
339
259
272
302
399
399
272
272
358
305
319
312
393
330
307
339
316
286
274
321
350
327
330
286
298
287
301
292
334
237
311
333
367
290
302
309
377
310
280
343
397
336
325
289
261
277
233
292
272
268
412
296
272
378
311
314
316
265
348
383
301
334
398
380
377
330
351
288
325
314
347
349
265
330
291
413
357
358
363
378
379
255
281
299
244
375
354
358
249
250
281
288
253
397
334
337
190
371
391
333
295
294
331
333
269
288
369
304
347
267
304
307
318
234
375
251
259
288
297
267
342
313
307
290
265
303
324
403
371
342
348
308
324
313
366
306
307
293
306
280
331
348
411
294
256
357
355
335
351
305
301
311
290
314
315
336
319
240
411
294
276
200
361
296
318
310
351
308
406
335
279
310
213
265
291
261
334
377
358
340
381
348
297
406
335
291
351
253
320
370
371
332
345
332
346
258
300
328
257
337
311
247
258
337
324
391
308
282
358
365
291
355
311
286
417
307
279
340
333
247
365
346
365
315
277
274
356
276
257
244
305
255
306
327
381
291
332
295
298
260
341
342
266
290
273
323
276
311
304
280
356
297
334
341
357
273
394
358
361
354
305
279
315
276
305
308
380
311
392
296
345
365
272
183
319
317
286
322
345
262
384
289
371
364
404
396
299
292
282
285
307
373
307
283
251
375
313
228
256
351
243
280
385
381
322
249
384
304
333
294
347
291
343
233
256
311
402
268
250
371
312
260
382
336
320
336
366
302
326
234
317
332
368
294
329
267
343
230
433
347
336
356
419
321
309
268
290
305
320
348
316
295
302
326
273
361
261
408
264
340
342
304
342
249
345
333
337
415
254
321
309
374
311
291
265
380
312
280
256
345
395
277
307
277
292
343
328
345
394
333
338
223
329
302
348
267
230
260
290
281
258
304
384
271
281
268
271
283
367
255
293
244
360
322
303
291
263
299
251
320
311
334
288
317
296
339
324
315
348
393
317
323
355
332
284
279
393
295
262
330
386
308
330
365
300
320
406
287
367
230
293
324
319
269
377
372
340
341
371
240
358
407
295
323
385
248
312
358
295
336
324
271
355
316
314
316
308
302
240
281
349
273
234
346
334
289
252
314
312
284
323
320
349
329
328
360
312
286
371
346
335
308
389
337
339
287
336
287
323
325
388
372
352
323
321
209
363
321
322
291
308
378
366
291
239
350
356
298
374
337
285
183
239
261
232
273
287
309
330
292
181
280
244
277
278
361
310
303
367
314
306
328
362
315
332
284
279
366
249
305
299
305
278
280
234
265
305
320
332
382
353
339
246
322
318
374
329
296
347
328
328
256
353
281
350
312
316
398
327
248
371
312
326
257
313
305
326
341
234
314
240
277
340
239
334
319
292
342
343
353
270
213
293
316
289
342
448
237
285
315
249
383
315
330
371
273
343
241
291
394
243
240
327
282
318
370
271
322
353
374
411
260
330
365
267
329
302
260
294
420
341
272
277
371
284
328
334
298
340
377
333
347
324
229
323
304
324
266
298
302
376
339
352
339
330
319
381
366
321
260
333
333
384
381
311
276
257
350
243
233
247
286
383
279
366
341
232
333
319
399
247
311
358
325
315
295
364
338
297
196
354
291
351
362
369
361
227
413
366
223
379
288
326
275
311
349
278
323
412
390
233
345
338
260
396
309
282
326
339
285
316
311
415
223
288
265
360
190
296
246
348
335
333
328
273
259
342
259
281
327
358
327
309
308
346
382
331
336
326
315
323
373
342
346
358
323
322
273
272
335
343
373
301
296
379
370
254
315
287
269
283
333
340
352
279
401
211
361
327
260
342
320
401
364
221
361
380
311
328
317
306
263
294
285
297
323
309
274
311
355
287
248
283
311
261
315
296
298
261
373
359
288
347
307
309
323
317
289
248
323
340
322
292
344
307
321
303
265
320
322
251
314
246
364
306
381
258
249
344
278
321
318
287
319
311
249
331
230
289
258
323
308
316
414
370
261
347
334
354
309
303
367
286
323
332
265
337
331
305
217
349
342
311
306
308
344
234
348
328
328
263
318
345
283
343
371
288
330
307
332
240
219
293
318
338
321
297
301
417
379
331
278
338
254
469
280
302
275
332
329
334
333
235
359
295
369
324
326
338
377
318
327
307
347
261
308
363
373
297
316
317
366
316
406
289
250
307
336
287
293
295
288
373
220
367
309
292
286
367
285
380
284
349
340
334
389
279
311
330
380
377
316
420
289
386
325
347
302
300
404
310
371
345
282
291
282
310
383
304
317
207
302
291
420
261
309
279
284
316
380
381
351
377
322
355
356
395
378
407
297
353
280
318
375
278
288
360
381
269
355
327
330
293
246
339
299
316
217
285
339
343
284
317
324
360
342
324
354
360
320
296
353
280
273
340
321
355
253
288
237
340
294
365
342
355
262
396
381
343
391
311
318
335
287
311
350
320
349
297
300
320
254
282
280
314
343
335
317
308
385
289
337
303
297
215
333
273
278
324
403
330
330
352
299
308
334
371
408
380
381
404
317
345
234
303
348
364
328
236
316
336
320
390
351
324
316
369
306
342
335
278
291
300
302
275
321
319
337
307
370
334
272
265
272
296
251
340
329
334
311
309
296
295
232
333
244
202
333
297
262
308
256
283
369
288
322
178
348
380
331
306
285
350
287
399
357
272
303
352
395
367
295
317
272
289
279
300
390
264
349
282
335
341
394
315
253
305
224
287
339
347
335
344
316
295
368
363
375
341
273
305
209
343
345
358
251
230
316
320
285
350
321
301
376
274
298
336
263
303
363
328
298
319
295
331
311
348
313
374
229
316
278
315
317
325
298
288
338
345
342
385
338
330
340
333
280
343
315
314
228
372
315
331
333
301
331
322
321
333
305
243
209
315
302
280
281
271
331
312
313
252
336
379
291
336
261
305
329
292
306
293
337
331
329
293
268
326
340
291
278
380
260
360
315
372
337
388
348
313
330
380
368
299
262
349
367
343
272
355
310
338
307
358
323
425
278
226
366
339
409
244
368
242
311
368
329
296
316
285
263
278
295
375
323
356
325
270
273
243
306
300
273
373
262
303
370
332
337
211
380
373
356
272
322
309
384
405
280
270
367
289
292
361
379
339
309
294
331
348
332
334
262
351
258
323
276
332
285
309
333
325
383
323
249
363
295
345
254
328
253
356
301
286
337
340
316
185
313
414
327
291
226
273
330
358
368
350
317
334
341
262
287
347
291
311
314
319
246
339
336
257
269
283
257
379
292
315
331
308
376
417
317
325
330
211
301
365
336
336
263
325
301
337
270
309
312
384
306
324
303
372
339
359
276
311
384
314
268
304
286
279
283
317
338
269
305
313
351
236
354
350
330
345
352
309
265
320
297
257
317
293
343
331
239
173
324
308
381
348
316
308
309
358
226
227
379
332
316
274
399
266
320
356
326
282
370
393
306
290
232
304
292
330
328
339
251
304
285
343
334
309
304
360
278
311
277
287
314
250
209
311
330
375
300
323
347
340
359
375
328
318
278
349
358
316
310
422
306
271
321
260
329
382
380
328
316
419
349
364
299
349
220
271
319
309
276
336
348
359
315
318
366
349
259
300
352
334
349
285
238
320
281
275
251
358
266
341
320
222
256
273
271
399
367
272
295
282
354
313
279
319
326
196
375
250
384
326
288
307
331
263
251
365
336
253
398
263
306
338
405
281
362
332
325
322
347
288
276
287
297
335
320
359
305
276
314
282
350
335
360
283
282
288
339
306
353
271
358
310
304
311
398
392
290
324
366
315
300
255
289
429
319
345
352
259
353
278
298
334
315
327
277
376
288
356
392
275
329
309
317
303
274
334
269
310
360
308
251
342
266
302
401
329
342
348
288
399
351
361
372
273
335
328
320
275
249
250
252
294
277
325
233
299
340
295
269
342
310
273
268
364
258
241
216
315
258
285
282
303
219
306
368
326
242
366
241
337
357
257
348
224
322
291
285
264
381
279
278
310
271
345
287
330
307
294
361
317
294
332
255
381
285
318
339
288
351
391
346
274
261
333
250
365
336
282
379
351
366
354
263
383
258
330
355
258
295
273
332
338
271
324
395
341
284
389
325
268
398
360
314
224
358
302
210
372
314
363
330
364
291
322
326
297
345
256
314
288
304
386
327
300
390
306
357
280
411
355
275
275
292
298
304
360
290
278
294
183
338
332
341
287
316
304
252
227
325
350
347
256
299
337
257
295
383
343
269
347
344
344
339
388
293
337
256
368
314
301
277
276
344
294
386
348
348
350
249
278
291
321
348
442
386
330
251
297
403
249
247
301
280
313
249
256
334
278
309
269
268
324
283
191
353
310
292
358
316
275
381
337
239
294
363
372
299
387
266
211
237
298
292
256
307
372
330
214
345
353
260
377
365
329
355
382
367
315
290
256
278
287
267
257
339
345
252
297
296
392
389
352
368
376
313
348
339
298
397
335
386
315
320
361
382
286
309
246
360
329
328
288
353
259
408
350
432
180
279
301
232
265
229
352
296
236
378
312
313
281
363
368
261
297
286
391
234
285
340
354
334
282
317
371
376
258
283
322
316
379
242
377
349
301
285
385
249
367
328
324
314
328
334
357
372
271
310
340
276
370
312
342
298
319
355
331
314
282
260
263
386
313
266
282
325
311
368
342
343
269
295
258
348
338
238
428
285
387
220
396
225
221
322
348
255
310
274
295
286
316
302
315
359
328
316
366
262
308
340
319
333
371
344
288
238
265
278
340
409
326
359
263
292
317
280
213
336
381
353
262
319
321
301
315
311
284
352
335
281
288
342
304
291
378
355
381
274
307
312
351
294
330
357
379
260
236
221
326
270
304
315
359
326
333
245
329
312
329
322
377
317
353
246
353
294
318
275
308
283
304
313
274
399
308
375
278
275
316
347
334
259
336
337
257
330
371
345
296
339
361
231
317
322
327
315
376
339
301
315
375
274
270
298
349
340
351
320
301
271
304
279
360
332
314
329
360
248
387
301
325
307
372
293
289
357
285
325
362
293
300
332
285
296
298
320
320
329
289
324
355
306
257
304
239
413
350
383
319
327
344
298
240
310
386
408
369
285
359
351
317
332
348
324
312
281
290
326
277
239
380
331
242
342
286
408
303
370
258
364
320
311
329
306
259
353
320
340
281
263
343
315
286
339
323
301
291
266
194
333
328
321
319
277
329
297
284
351
318
319
300
356
296
303
259
323
304
362
315
329
277
235
305
298
305
388
372
321
348
357
236
270
299
311
281
303
357
267
369
291
305
382
310
306
311
340
296
288
288
244
297
278
258
288
221
318
372
277
300
277
303
299
291
304
353
349
315
387
270
330
316
326
329
360
310
277
376
321
343
304
334
382
320
263
265
305
328
271
330
304
277
347
264
294
439
335
331
349
323
340
354
350
360
351
345
302
261
277
360
356
247
264
302
345
337
339
304
317
299
345
346
341
232
239
306
343
287
291
291
257
320
342
350
296
355
353
216
324
347
306
228
338
348
351
282
390
254
302
371
288
338
333
406
306
343
365
347
334
230
329
347
393
347
291
305
300
309
248
294
395
340
337
317
390
440
318
183
327
301
370
344
268
228
311
289
306
275
316
354
295
302
393
264
314
333
282
357
313
302
353
372
308
329
272
399
276
311
272
388
298
302
299
355
234
239
307
234
347
367
306
288
352
395
236
257
297
292
324
338
339
331
343
267
317
311
422
280
303
332
249
239
342
255
238
358
302
285
275
329
244
352
297
314
340
397
344
265
336
259
314
316
264
322
359
306
376
388
290
255
248
344
335
264
313
227
328
250
369
407
347
243
328
328
283
304
163
299
328
256
348
305
349
301
328
338
273
307
373
374
276
250
317
333
355
263
401
336
280
256
280
344
274
316
324
392
297
334
334
310
293
341
313
259
242
369
375
313
327
363
261
334
372
320
364
289
352
342
340
312
329
260
352
282
300
401
291
317
298
295
250
301
325
378
284
286
367
323
194
304
350
265
328
350
380
326
310
291
296
375
328
266
285
271
274
252
295
278
337
299
298
352
319
376
334
309
385
286
374
291
356
289
294
261
256
368
344
251
303
325
274
360
350
304
293
317
265
278
314
325
344
278
342
300
356
314
285
343
294
297
341
313
436
321
287
357
290
331
257
327
306
355
381
295
319
368
277
246
317
342
292
276
240
279
426
309
313
330
336
316
371
341
302
327
300
271
285
365
316
283
379
316
334
298
375
260
266
273
284
288
306
319
368
357
394
318
272
285
280
337
311
337
396
370
357
351
288
311
299
311
360
242
332
321
420
312
350
307
343
293
282
357
243
243
356
310
272
323
305
298
326
391
333
353
288
361
351
306
341
351
371
280
323
257
345
371
310
317
340
296
363
368
344
312
323
295
282
212
254
242
284
350
336
334
344
295
268
298
285
180
310
297
283
333
257
249
288
324
303
366
294
257
311
272
242
279
345
347
274
255
347
315
283
378
288
314
271
417
402
260
289
358
383
322
311
288
371
255
324
276
303
215
272
318
350
300
293
360
349
321
294
379
380
308
273
309
242
277
238
374
342
295
176
320
362
268
354
309
277
281
299
298
323
262
293
298
355
303
294
254
332
331
309
336
240
284
341
168
267
346
315
301
375
324
235
395
351
349
286
400
326
298
341
273
297
378
250
319
329
298
358
417
312
293
277
330
344
405
259
283
309
307
362
286
296
260
373
347
327
312
324
285
307
302
346
333
353
392
250
231
282
372
294
257
320
408
311
321
376
368
377
362
310
298
299
318
273
201
381
271
334
303
267
342
302
317
319
344
287
290
279
297
364
309
280
388
290
367
217
324
364
393
241
248
332
324
387
260
357
249
266
389
336
290
266
263
299
324
310
370
375
298
332
288
322
299
299
361
327
285
278
311
393
298
217
304
371
279
194
267
293
302
341
353
292
302
290
392
292
255
355
297
334
344
290
315
363
332
349
302
287
318
362
364
326
356
333
345
282
240
355
271
297
355
314
317
246
283
289
338
303
324
409
366
331
303
325
248
348
327
254
340
305
278
308
286
330
284
295
308
348
319
331
378
356
344
316
235
256
369
325
358
185
307
363
352
306
358
321
382
290
257
310
335
297
353
356
309
405
293
255
348
280
324
394
258
303
355
319
247
308
303
363
249
381
346
261
355
281
292
362
196
283
338
394
280
390
226
236
276
311
378
292
336
273
342
241
300
294
272
314
301
334
364
278
160
322
373
343
266
295
436
346
317
365
306
324
253
303
317
325
221
283
352
342
382
252
263
272
310
289
359
302
298
301
295
337
342
255
355
261
357
300
285
280
276
374
254
255
231
335
400
336
320
336
374
300
231
287
256
309
340
345
346
334
323
351
240
394
281
314
361
337
322
323
321
363
366
251
366
236
345
286
315
335
325
316
340
301
349
339
292
263
323
337
257
303
334
349
313
415
276
413
286
272
329
351
293
257
213
316
247
296
338
345
356
342
253
285
356
319
220
302
283
407
359
329
364
376
328
386
319
344
387
321
336
302
291
278
363
363
272
315
360
324
345
324
275
384
387
367
247
305
299
347
258
368
390
234
308
363
387
203
270
299
268
255
294
356
295
378
326
350
346
319
243
340
222
369
267
271
374
342
273
334
345
394
352
346
272
261
259
405
370
288
370
267
308
245
305
305
308
327
372
342
320
367
304
372
363
357
330
229
350
436
421
284
372
278
283
306
383
328
409
217
312
359
221
358
329
354
351
323
285
286
266
407
346
346
366
387
341
322
327
284
245
392
308
370
272
353
276
340
300
265
365
255
241
407
283
347
332
347
388
258
350
303
216
288
336
183
261
288
257
311
331
333
318
294
308
351
247
289
316
323
259
297
375
311
258
358
231
282
306
396
330
331
270
318
266
333
335
231
345
273
351
374
366
366
339
377
297
285
238
353
266
189
299
353
296
338
266
285
356
331
368
316
391
324
372
288
298
303
326
259
359
308
364
337
268
378
369
271
347
323
284
267
306
329
239
207
333
382
368
386
333
279
234
320
355
329
298
391
348
314
225
353
258
325
334
226
337
317
341
308
344
338
330
340
255
349
345
320
350
184
351
375
283
361
269
303
366
364
375
312
362
330
268
289
292
302
275
324
332
339
330
295
237
314
296
333
281
336
335
356
266
311
312
278
274
357
231
309
353
331
286
314
281
348
278
378
346
277
384
293
281
295
230
298
322
379
238
332
293
280
322
268
356
372
319
326
212
403
251
295
274
303
313
287
259
258
268
351
311
275
367
340
339
343
369
314
252
369
300
359
298
354
348
336
328
347
263
350
298
338
286
215
290
404
378
279
291
304
341
288
261
313
285
248
378
262
235
256
336
337
295
332
341
278
331
337
287
347
218
397
292
354
290
351
332
254
261
309
386
328
319
312
278
299
319
262
274
297
368
376
371
303
370
280
333
326
350
257
383
327
326
330
230
325
341
331
316
353
337
400
411
325
323
244
321
350
323
302
260
335
241
350
239
306
327
280
301
287
305
292
282
340
321
319
342
297
309
313
319
379
322
405
343
307
360
326
315
323
349
309
322
381
328
315
362
329
386
371
387
279
294
279
310
332
336
338
302
289
247
276
289
410
337
236
354
249
301
334
318
346
330
230
298
292
330
342
241
300
276
386
287
315
299
298
261
299
313
295
344
279
345
295
284
359
290
340
306
313
277
344
388
311
306
363
305
318
250
377
284
315
271
323
299
308
238
299
194
362
295
304
327
284
320
301
310
322
320
311
320
275
294
302
281
293
306
327
212
354
279
259
379
312
300
266
337
286
269
400
367
300
333
276
403
284
337
301
313
278
283
299
363
255
361
391
268
369
286
257
309
320
303
288
371
328
265
349
374
330
317
376
306
356
310
306
311
254
296
370
282
300
275
337
279
365
252
358
318
359
274
305
373
290
342
364
268
361
236
253
335
310
284
203
253
284
366
241
272
295
327
218
258
240
321
354
284
324
255
240
408
398
382
291
313
339
270
264
295
277
344
262
205
318
282
322
373
332
326
358
324
338
381
282
301
253
306
348
368
289
253
293
365
286
277
332
340
387
304
264
256
283
296
318
341
256
214
327
280
272
262
385
337
340
366
300
286
294
324
395
383
383
340
253
303
340
334
308
260
281
351
359
352
285
325
325
343
271
257
356
273
286
271
340
294
345
301
361
358
350
327
360
332
315
236
363
321
274
337
322
399
381
271
297
251
321
311
326
368
260
336
355
339
350
323
344
261
319
235
269
362
327
273
324
373
292
281
334
335
292
174
368
254
331
245
345
337
309
291
251
282
284
340
389
337
326
315
332
241
203
287
307
317
289
387
360
273
307
250
285
246
277
275
298
253
293
346
230
343
280
286
249
355
249
313
321
284
322
314
305
330
304
347
263
328
357
301
344
327
293
367
384
327
277
334
295
246
332
325
377
327
326
335
261
335
318
389
271
283
353
343
343
387
289
342
291
315
252
388
285
257
264
323
327
296
278
278
203
400
343
337
316
270
309
318
317
337
347
256
274
288
288
318
354
333
344
275
368
393
293
255
295
351
304
266
273
301
208
304
355
308
317
334
375
323
303
377
328
349
315
251
319
283
342
261
267
264
319
261
291
269
326
351
309
268
264
220
372
358
340
372
423
404
258
263
238
328
376
322
379
309
266
299
375
261
341
333
253
259
262
318
321
326
299
310
349
321
316
242
346
314
369
324
297
291
280
303
237
276
451
357
362
323
273
302
329
363
300
308
249
314
334
353
317
304
359
267
342
317
348
348
300
351
278
286
330
314
385
355
191
380
385
247
323
307
362
300
288
264
265
360
341
263
314
388
365
272
327
282
297
305
362
303
319
387
390
248
246
324
285
259
361
281
361
320
268
249
338
318
299
338
315
300
249
328
363
399
268
273
332
259
345
352
253
346
283
239
227
299
361
345
340
310
369
315
313
347
272
277
196
408
228
326
383
316
303
201
382
337
314
384
349
298
279
246
306
328
285
332
301
288
263
270
280
394
338
340
255
256
299
337
326
173
246
355
336
301
305
309
323
251
404
340
303
369
175
222
297
213
358
339
283
271
323
349
265
284
299
349
271
402
214
226
334
278
331
334
348
283
369
332
326
270
315
317
355
222
339
298
361
337
318
278
247
322
319
323
330
276
331
287
334
313
310
323
280
396
355
296
375
282
288
270
356
289
319
338
327
292
365
333
318
332
377
331
305
333
318
314
257
355
335
365
306
272
277
309
353
379
334
348
325
322
295
301
337
343
283
296
290
296
331
307
280
314
330
325
358
360
312
294
248
291
391
338
294
331
239
280
325
350
271
298
368
339
259
293
322
375
367
238
349
330
285
350
329
315
322
316
288
324
303
323
421
220
278
329
259
335
328
283
321
285
354
336
248
312
317
270
325
389
404
367
446
324
323
305
389
301
358
354
273
370
365
298
354
368
338
173
346
359
371
359
387
298
317
314
350
282
323
292
312
266
268
285
373
291
378
365
302
367
304
339
283
299
304
267
260
276
233
316
271
244
301
324
330
309
330
368
367
352
323
314
259
282
282
333
323
238
326
317
293
325
351
279
362
322
244
322
352
227
292
302
345
402
322
364
289
318
366
371
278
321
254
365
375
344
318
313
343
340
273
294
318
258
289
330
334
256
331
312
205
362
275
271
288
358
333
312
296
283
290
348
223
393
391
388
315
316
353
321
307
395
295
323
386
319
367
275
409
304
359
359
256
306
308
331
264
352
353
377
332
367
289
382
290
276
295
284
334
221
335
370
332
275
278
264
255
330
338
347
367
355
388
314
371
310
303
223
222
379
381
330
332
319
346
277
333
353
284
377
393
281
278
269
346
229
319
292
282
351
265
248
367
325
286
318
347
370
249
286
352
311
317
258
389
315
279
345
384
375
297
218
274
307
409
276
319
289
361
337
302
360
344
291
352
297
325
371
364
311
282
260
271
289
339
387
405
274
368
367
323
331
366
337
296
346
322
301
349
326
349
306
305
235
404
181
341
251
342
251
276
233
339
261
224
327
315
313
358
328
288
363
366
309
239
300
344
374
385
310
372
325
362
281
263
406
350
392
353
315
293
364
297
334
345
420
351
344
252
339
384
251
326
267
202
364
289
356
365
396
252
353
309
297
259
440
351
362
339
305
306
348
318
379
327
296
363
317
309
307
392
266
386
270
364
335
350
252
346
267
351
298
338
333
284
203
298
261
340
310
359
408
258
302
336
372
273
298
284
313
267
293
310
274
299
263
284
276
267
228
328
329
281
318
261
403
295
317
343
396
350
356
324
383
310
326
348
311
331
309
213
291
297
223
231
344
284
312
335
352
291
288
288
293
328
298
330
282
318
219
373
278
342
306
275
288
339
271
354
340
219
349
327
233
314
338
333
325
409
285
341
260
336
286
287
247
293
333
328
325
355
367
351
286
372
264
277
270
326
335
343
323
299
246
308
359
291
390
346
323
291
369
236
349
354
291
281
306
307
323
351
321
333
260
321
319
363
347
287
378
327
273
259
347
383
272
349
363
212
280
316
253
319
310
325
364
327
309
328
311
316
315
359
231
272
374
292
376
334
258
300
279
332
292
277
317
226
297
353
265
317
293
364
216
292
373
357
263
343
362
301
376
345
349
347
280
338
241
296
332
302
339
324
309
397
283
245
272
349
288
224
295
393
246
243
350
373
367
289
282
349
289
299
321
343
238
202
270
353
389
317
378
303
320
344
325
300
316
240
258
334
233
215
315
301
259
284
217
262
348
392
314
281
388
347
242
317
321
273
300
319
354
335
348
298
315
373
336
311
251
301
288
317
373
335
351
269
382
279
337
326
332
341
344
330
316
341
345
358
339
302
239
286
271
356
296
303
284
260
304
284
349
298
315
317
356
319
302
265
371
338
328
333
265
389
245
264
337
354
368
376
350
340
385
263
224
247
347
391
299
321
362
236
389
366
293
239
299
356
288
284
349
276
279
397
330
360
345
337
299
311
313
312
321
295
290
341
314
316
367
336
447
282
297
395
284
296
281
182
386
324
295
360
240
326
214
340
274
325
313
318
257
284
337
233
311
262
316
250
323
315
253
281
302
301
324
269
241
355
277
344
324
325
283
278
314
329
355
302
285
265
332
344
335
291
314
305
292
343
243
386
399
308
354
319
267
313
314
328
364
320
373
318
301
357
334
288
243
256
370
356
359
306
276
296
330
341
229
360
299
324
370
322
358
280
314
334
277
368
329
326
336
330
331
270
379
344
240
299
233
345
300
402
335
302
323
343
333
316
299
332
337
327
309
414
362
328
370
231
332
218
251
300
305
355
347
338
354
301
256
357
358
357
292
361
270
363
251
294
344
242
315
366
300
310
222
293
392
309
354
352
282
345
270
334
326
176
340
223
328
377
381
289
365
286
279
379
312
197
353
363
361
342
212
345
279
358
325
355
331
276
369
315
388
364
349
356
391
313
235
318
323
315
341
317
270
406
379
370
389
328
291
272
299
346
199
341
297
307
296
268
349
334
259
340
311
269
364
262
296
279
247
243
305
382
330
235
355
286
304
288
332
403
258
300
346
347
316
377
315
383
320
322
280
255
294
368
338
321
351
367
363
270
399
279
312
286
318
324
332
245
283
317
326
359
272
350
302
310
249
273
299
347
327
289
293
322
276
345
280
283
271
315
208
304
335
344
287
321
369
353
312
273
327
316
388
291
292
295
373
294
290
342
365
342
254
318
272
251
328
286
305
252
346
282
275
274
278
331
319
363
298
314
370
298
375
308
336
290
341
297
331
354
305
313
368
300
376
317
256
333
340
235
335
335
334
367
283
338
390
344
297
271
299
284
271
343
250
420
324
281
259
285
348
386
372
250
294
305
307
302
243
291
253
241
333
301
328
315
331
342
345
260
259
267
327
355
415
296
324
319
248
376
334
305
339
295
284
381
308
368
305
344
318
301
340
386
232
270
318
350
391
359
347
346
288
299
329
267
334
279
302
341
244
256
355
380
328
354
299
276
368
268
421
356
327
338
302
286
413
240
340
373
238
353
371
329
221
325
387
370
316
314
318
317
415
383
306
371
338
232
344
326
253
318
309
338
344
296
384
397
310
341
245
373
320
266
342
263
242
400
291
234
385
325
335
352
296
264
332
391
232
321
386
322
341
330
270
266
242
348
384
296
317
222
306
378
318
295
270
314
358
312
233
277
293
309
285
279
335
301
338
278
310
294
272
238
371
290
345
289
378
261
358
314
313
282
291
343
365
262
352
356
263
270
355
322
292
287
286
382
295
326
259
244
354
338
379
335
244
338
271
381
285
331
298
338
335
274
269
362
325
325
333
330
263
358
261
340
260
262
287
299
213
295
391
398
372
300
331
317
382
305
303
374
230
341
309
373
323
347
314
252
266
392
437
355
305
364
360
345
288
351
282
301
305
310
279
334
340
389
352
269
369
301
318
245
303
338
368
318
318
316
299
370
313
297
311
304
303
304
311
355
294
348
264
300
305
361
297
245
268
374
325
266
341
335
345
300
330
295
374
249
383
341
303
263
320
322
290
341
250
282
313
304
305
368
360
338
200
340
274
224
296
350
248
347
396
352
325
258
242
359
291
329
289
376
288
315
313
329
311
248
273
302
315
307
349
419
316
415
346
238
282
288
286
353
408
326
264
302
295
350
325
366
304
351
353
377
373
396
386
290
307
267
355
290
338
245
309
234
359
310
314
344
324
369
402
294
327
266
300
337
359
319
285
297
346
329
251
318
253
342
272
287
312
385
298
361
342
287
424
306
301
293
227
298
305
300
338
399
337
321
297
272
297
353
232
300
281
320
214
322
351
389
303
328
328
404
325
299
348
302
255
328
377
272
349
313
342
317
252
313
322
380
316
312
367
278
346
313
304
251
340
301
298
322
278
263
409
255
277
318
326
218
321
319
380
363
319
276
307
364
300
316
295
363
413
375
375
311
243
334
379
336
139
389
251
273
370
350
342
328
346
341
354
213
309
353
332
287
249
284
317
290
342
337
325
343
307
278
270
342
338
372
399
357
271
309
266
249
281
284
219
318
298
313
230
358
325
288
161
265
287
338
362
248
324
336
318
329
267
354
330
256
392
299
257
307
325
276
292
381
344
244
322
332
371
270
352
217
308
348
345
266
265
324
379
314
268
305
342
344
273
225
298
244
318
313
285
345
336
348
260
284
332
297
342
348
349
242
326
249
304
282
307
333
300
349
331
315
356
370
297
386
286
321
276
256
343
318
342
369
252
347
171
290
294
344
313
408
314
251
259
342
284
349
330
350
326
272
359
329
364
285
307
275
247
332
275
386
365
326
267
311
312
302
310
317
303
392
294
337
320
383
376
287
341
262
414
317
306
252
357
334
337
300
283
338
230
344
268
330
273
437
279
317
354
407
256
272
353
265
359
298
346
309
312
387
391
366
366
319
285
277
237
289
330
382
372
312
369
293
336
256
379
313
253
285
351
307
366
262
395
331
341
358
322
344
283
255
283
328
386
305
314
331
247
274
331
414
283
356
273
306
361
274
285
239
291
397
313
303
290
369
251
359
299
396
297
330
303
382
333
306
309
304
349
336
306
401
332
307
370
335
264
288
304
351
277
235
388
314
343
328
270
264
255
367
316
304
308
305
305
393
364
312
389
385
392
252
328
330
310
295
277
315
298
321
337
328
307
266
360
347
329
359
339
289
332
257
276
281
398
274
287
319
316
299
330
338
206
304
297
334
395
330
325
314
350
308
336
308
379
339
299
331
282
332
362
282
313
259
289
256
284
291
262
353
282
292
366
360
332
311
349
325
287
323
350
258
275
327
304
361
330
377
212
330
381
267
409
354
341
306
226
334
331
299
373
315
356
337
368
329
312
331
336
303
276
336
330
340
350
324
312
291
339
340
324
359
367
342
334
293
256
281
275
295
331
276
338
413
354
392
347
302
227
374
284
305
321
235
363
298
335
306
248
310
329
342
275
365
223
323
345
383
305
334
356
296
318
329
335
205
283
342
335
312
417
300
273
307
280
251
313
311
272
344
393
276
286
388
293
361
298
341
321
250
330
302
322
360
329
351
342
352
291
345
264
353
335
246
323
295
341
249
334
407
301
331
314
374
353
347
287
351
380
290
405
329
303
235
337
357
301
358
286
350
362
325
332
276
321
348
346
319
311
243
382
319
329
385
319
290
235
271
298
399
263
406
322
326
320
330
351
311
204
325
246
402
335
320
331
285
241
381
361
291
324
246
340
335
346
319
399
322
320
242
330
359
285
287
361
381
338
312
335
270
344
255
345
296
360
290
309
359
332
377
402
309
298
312
338
261
364
221
339
323
317
292
275
313
267
252
330
351
384
393
329
321
326
319
396
394
306
331
375
308
262
260
360
324
291
313
385
275
348
294
333
353
333
327
370
241
246
377
313
372
295
263
345
286
303
415
303
320
370
244
396
320
357
339
313
350
331
223
270
293
326
268
326
248
302
357
266
306
313
307
333
310
351
223
378
424
349
304
275
227
339
307
318
298
297
357
345
263
339
350
353
362
384
303
282
268
340
272
280
341
310
363
364
331
288
220
416
349
337
370
338
206
377
321
346
370
218
313
272
233
261
325
292
296
307
377
308
295
330
298
294
247
316
247
356
261
320
330
241
398
205
328
244
347
316
359
313
336
291
413
379
286
261
312
329
335
295
283
232
288
302
302
383
344
359
302
292
322
345
260
270
297
270
306
316
262
347
340
347
319
360
248
388
302
289
339
340
337
248
337
242
314
313
340
311
332
293
320
267
336
277
322
334
330
320
374
295
265
353
308
255
245
292
384
335
264
330
286
255
232
301
375
259
334
255
357
352
239
268
269
304
314
303
313
319
304
340
298
329
349
260
366
304
373
382
275
310
350
314
324
320
340
233
300
352
286
281
373
364
302
354
234
297
282
373
295
301
326
394
355
293
314
226
396
321
278
341
327
304
210
374
321
211
333
347
287
378
340
319
282
316
226
310
287
275
315
373
336
345
358
330
283
387
309
263
373
334
337
388
336
264
405
360
338
338
287
279
460
263
285
367
278
298
347
321
356
368
310
356
335
286
343
322
348
283
272
301
267
295
375
337
230
350
408
326
283
311
336
309
384
302
266
359
338
292
331
423
288
292
372
340
276
292
287
298
288
348
353
340
297
353
393
334
317
270
257
328
329
277
272
352
462
212
231
222
335
352
366
347
329
279
257
287
370
356
299
348
330
370
305
330
347
344
375
330
379
357
346
224
329
353
240
335
341
330
339
241
346
369
355
407
285
406
316
334
293
263
371
344
285
353
385
340
316
390
331
310
396
295
348
420
282
341
316
326
420
287
291
284
401
354
329
309
311
288
298
350
439
297
383
307
341
241
252
240
331
237
225
335
322
347
362
340
349
304
449
270
254
278
208
288
296
385
380
260
344
318
200
287
279
307
234
293
236
306
391
351
343
300
266
258
361
340
247
239
386
298
244
287
355
320
248
342
330
340
322
303
303
376
385
364
412
322
350
249
333
279
315
295
250
276
278
271
332
321
347
288
376
351
278
349
289
338
236
325
329
338
349
265
319
251
356
293
293
313
285
331
315
349
352
365
322
335
256
294
347
368
301
325
345
302
289
272
335
360
332
328
290
349
342
288
267
340
311
240
356
317
413
289
344
332
305
245
358
217
221
232
296
315
258
363
350
373
337
372
347
307
375
379
397
382
213
353
366
345
262
365
375
308
375
310
369
268
232
314
324
317
340
365
341
324
275
289
293
363
317
324
324
355
363
344
387
252
185
278
286
331
320
214
313
311
303
235
322
311
367
267
314
412
275
360
341
260
294
366
365
342
338
320
326
306
315
344
321
336
317
260
374
338
354
391
272
355
289
343
309
399
381
332
340
318
263
255
242
334
315
288
309
270
307
319
294
338
408
307
431
323
271
348
316
359
267
359
370
263
284
313
292
284
400
334
337
308
409
317
377
308
294
331
404
422
258
305
247
348
261
267
375
280
295
333
286
266
356
322
287
350
402
296
310
293
344
398
324
301
250
445
305
337
297
334
357
256
394
265
293
278
330
347
285
370
349
294
222
289
240
235
231
256
352
339
279
325
265
303
342
315
437
334
279
373
367
293
320
383
354
330
325
341
289
327
277
297
396
278
246
347
376
282
296
287
341
220
321
347
322
309
308
290
226
352
242
214
212
297
341
344
234
373
266
267
345
365
270
291
318
318
328
356
332
307
278
270
334
315
333
352
275
308
344
195
298
354
321
337
350
287
333
333
383
306
271
323
331
329
320
267
362
363
278
330
334
367
346
329
314
333
314
283
321
396
288
283
267
351
332
310
344
277
369
308
368
243
363
249
286
363
317
336
393
322
374
352
305
295
338
357
301
380
332
334
359
345
348
380
299
286
292
261
337
256
272
275
218
359
239
320
259
343
412
282
379
311
332
358
369
289
300
358
353
205
356
326
249
356
243
338
409
340
303
347
258
307
284
317
368
384
300
224
352
312
363
339
318
273
294
339
268
367
249
305
298
357
314
311
355
386
277
353
280
333
324
291
378
323
390
295
374
321
364
329
342
335
342
291
304
300
299
368
384
346
329
308
306
397
343
393
299
288
392
383
213
339
381
368
399
403
332
373
300
324
303
294
348
324
321
334
312
273
376
314
348
358
299
269
310
352
310
274
374
287
372
396
259
252
286
296
344
350
347
330
301
295
266
289
279
278
310
315
248
262
239
278
250
298
349
328
333
390
309
333
338
306
338
360
400
339
361
273
345
315
302
298
298
400
276
374
344
349
310
327
324
342
323
365
327
369
325
337
339
364
260
208
267
321
321
340
259
216
287
290
315
287
299
308
268
250
283
283
312
328
333
293
399
351
338
339
388
276
347
375
310
342
356
337
387
360
242
350
319
372
304
310
318
309
287
353
369
278
301
295
358
283
286
349
265
232
313
329
347
304
399
324
246
245
335
229
287
287
280
279
303
367
317
223
309
327
359
258
314
224
371
328
363
303
304
321
343
263
291
371
269
272
348
277
420
364
328
215
283
242
344
351
390
360
351
262
257
326
358
322
274
304
299
241
327
344
269
295
291
306
362
332
346
352
317
342
327
322
327
308
393
364
269
279
361
351
342
344
196
273
288
339
266
304
215
333
366
318
289
333
356
338
290
328
394
322
267
329
285
396
347
333
351
337
287
291
248
304
301
250
352
312
358
397
279
308
391
265
229
236
240
328
356
308
274
315
376
313
341
344
238
285
261
390
283
360
262
356
354
344
317
321
385
249
319
261
372
327
324
401
323
305
373
351
278
382
314
284
324
316
371
271
317
389
266
368
351
426
294
344
321
263
337
451
257
264
339
312
324
290
358
321
352
318
335
318
262
328
330
367
400
311
341
314
389
320
292
332
335
346
336
265
287
345
376
250
368
359
355
277
356
332
275
349
351
362
310
244
261
308
328
392
294
365
326
360
395
267
299
370
245
264
242
300
338
296
315
306
379
245
343
238
326
363
321
291
365
323
266
316
350
297
292
327
256
364
269
209
345
377
302
335
297
310
278
419
288
358
302
326
332
184
304
327
237
246
323
289
330
312
262
384
255
280
306
301
290
276
275
329
275
338
310
414
385
281
232
311
335
346
327
320
209
353
330
307
320
348
298
322
322
295
217
413
253
245
390
196
287
256
331
339
361
345
317
364
347
307
395
291
316
294
313
326
378
339
330
263
372
295
336
340
362
345
289
324
272
319
318
262
278
323
312
280
334
272
373
299
381
372
396
341
266
339
408
278
281
298
312
357
375
244
377
301
265
342
209
362
366
268
325
368
315
271
292
317
296
255
311
293
302
250
323
389
342
312
302
297
311
354
270
324
284
295
336
326
355
317
324
289
334
329
370
327
351
300
222
264
304
333
331
289
293
365
324
386
287
354
363
316
264
292
285
357
259
323
244
335
239
434
269
305
350
373
240
289
268
263
318
361
359
385
289
332
255
374
300
338
257
308
372
324
427
341
309
314
374
228
278
371
321
264
414
316
337
362
321
317
349
325
323
351
336
271
307
303
362
361
249
258
277
287
298
279
230
285
263
375
343
276
373
321
333
382
322
197
350
320
359
315
300
296
370
296
218
324
299
316
287
248
314
316
272
273
279
360
279
326
287
302
229
346
291
281
331
368
307
273
361
300
256
232
278
286
315
248
268
373
298
263
361
311
302
380
390
317
370
327
368
284
332
257
264
353
254
305
232
374
272
332
284
317
312
287
293
268
350
361
285
300
262
354
287
285
304
290
321
241
376
332
314
327
394
386
264
268
308
254
275
295
381
422
304
296
328
373
288
262
303
261
307
354
223
307
351
307
331
392
258
230
313
306
330
275
321
285
327
349
334
274
316
281
385
319
308
338
253
312
317
332
336
326
281
315
215
318
314
364
291
236
345
317
297
280
325
321
251
255
328
333
324
238
213
272
305
272
354
275
366
365
351
367
361
226
290
373
420
310
325
291
325
312
380
308
416
384
285
329
215
400
331
419
286
450
277
327
274
355
291
353
380
357
329
344
331
214
338
364
303
249
333
291
301
295
350
265
360
239
280
311
376
288
323
233
382
306
323
346
276
268
279
292
394
366
316
380
286
318
350
315
406
411
374
382
288
308
357
343
337
288
322
275
341
340
247
277
271
282
326
256
307
289
326
355
280
363
321
333
331
347
249
270
265
379
376
296
386
353
208
346
382
373
292
290
327
302
321
300
346
333
367
306
338
403
280
343
306
371
279
251
339
311
301
363
210
341
341
304
313
276
359
319
277
309
402
341
367
301
398
230
327
324
302
291
381
274
320
256
273
348
316
388
317
404
337
300
257
361
359
296
334
228
329
281
227
329
338
355
349
357
368
332
311
302
333
345
322
387
263
300
304
276
364
302
331
294
254
284
339
311
300
322
307
248
369
301
346
313
404
325
286
290
348
310
236
337
323
314
308
364
289
287
318
404
280
313
322
420
324
241
363
340
210
293
279
365
352
256
260
345
315
344
262
316
354
357
344
300
296
379
267
340
292
358
315
314
227
352
272
275
306
293
333
347
368
289
269
261
349
279
292
315
321
332
334
292
310
354
353
340
302
284
254
317
280
362
326
328
264
287
289
337
240
376
302
325
216
305
351
245
231
326
244
353
292
219
294
307
389
296
217
264
256
273
313
297
283
348
291
244
287
313
222
274
299
324
310
242
288
237
358
303
288
275
319
249
336
389
278
343
307
333
282
328
305
337
351
354
341
281
323
384
301
349
378
331
351
234
216
366
300
267
288
283
367
306
270
385
266
298
280
307
383
283
297
308
260
330
293
320
376
308
276
358
312
287
281
284
361
311
305
220
295
349
321
384
285
313
381
333
285
243
332
316
294
367
286
275
296
318
363
293
265
319
377
277
345
285
354
316
313
390
227
369
301
383
326
316
327
324
372
289
339
299
346
316
354
328
365
260
309
358
346
369
353
309
395
290
357
344
291
343
262
238
339
308
330
283
353
295
378
231
346
396
306
369
367
252
304
320
353
316
246
391
340
318
345
330
314
319
334
323
360
359
303
270
294
271
343
291
304
329
320
310
255
339
229
284
251
334
356
306
314
289
426
272
325
376
321
315
297
279
347
251
335
314
294
402
242
338
354
391
303
357
304
286
364
294
272
317
342
275
294
334
277
387
309
311
281
398
371
368
283
237
326
294
235
313
332
228
310
314
326
420
382
324
349
255
308
344
384
293
297
364
288
274
317
321
321
397
362
300
303
323
318
253
199
301
298
339
410
316
278
294
388
295
300
322
271
259
366
314
317
307
263
394
349
319
270
312
342
298
265
357
247
342
332
311
291
424
258
327
389
268
313
294
383
332
272
314
232
312
327
336
298
353
317
337
353
244
259
323
385
362
267
387
358
305
306
249
321
426
226
373
321
291
316
310
389
320
406
272
320
285
324
265
312
273
330
320
317
249
258
295
324
338
391
305
294
308
368
364
396
334
329
275
442
349
387
328
282
332
354
369
271
262
350
277
338
340
377
342
258
383
349
352
278
334
302
378
293
319
287
340
375
279
306
327
274
347
318
391
296
348
299
287
297
388
281
363
346
411
288
324
285
417
310
282
302
334
330
322
292
330
318
216
360
295
346
337
363
293
275
343
246
375
294
312
375
327
313
354
268
360
347
351
299
348
243
291
339
252
348
330
343
306
344
374
332
319
387
284
345
239
257
273
273
343
351
289
401
330
376
281
413
293
298
281
259
362
360
282
307
317
361
295
343
277
366
296
215
376
320
272
329
351
271
273
319
315
307
290
360
303
341
336
416
345
240
336
363
332
363
327
344
400
319
240
327
292
309
282
296
366
316
369
368
356
261
279
407
253
335
349
288
362
327
314
310
314
318
284
246
331
242
329
284
331
352
295
358
267
222
435
375
350
294
253
355
312
264
254
253
320
361
268
385
314
314
355
327
302
311
279
282
329
327
283
304
325
361
332
369
349
314
282
318
393
244
253
302
396
289
281
357
334
321
270
352
364
273
283
409
281
299
229
383
340
304
309
338
302
349
332
330
325
315
330
311
234
321
355
337
353
238
318
318
357
294
363
337
349
260
345
295
290
308
355
255
286
314
314
415
318
347
272
238
283
218
307
336
382
298
332
337
354
265
245
380
361
297
336
356
213
366
310
312
284
330
381
351
326
366
254
317
365
298
342
391
336
313
232
280
286
297
211
312
326
330
248
397
395
282
360
400
335
318
349
219
280
229
323
308
284
319
375
235
313
251
321
265
308
324
320
304
318
325
242
264
373
305
248
272
320
302
266
272
330
301
273
372
314
295
327
292
325
235
368
288
281
342
361
331
281
353
351
306
301
295
237
376
358
327
305
311
398
308
343
356
329
285
320
250
326
327
316
318
338
371
283
313
336
315
353
282
367
344
325
283
316
350
313
361
296
348
171
328
358
269
277
334
312
359
342
199
365
304
328
254
310
220
255
356
295
346
213
339
318
304
284
350
321
296
425
333
378
379
304
334
348
289
269
260
284
181
297
343
308
348
330
219
334
272
355
254
347
356
354
368
326
274
284
329
217
319
297
274
325
282
362
286
247
242
237
391
345
358
209
285
302
288
396
437
185
263
317
295
282
306
331
333
351
322
358
346
328
406
327
233
324
266
308
353
294
379
267
303
346
265
302
220
272
315
361
376
317
259
346
329
404
372
244
329
339
276
380
304
296
310
337
233
373
305
361
303
284
303
244
372
356
335
362
284
316
333
318
312
308
339
369
286
408
280
339
272
336
341
307
344
315
303
322
282
401
273
242
294
331
283
287
377
257
303
248
296
351
278
395
356
403
403
372
250
392
230
286
285
358
302
390
274
292
202
250
343
327
339
296
352
375
346
326
304
415
351
362
258
388
279
377
314
246
316
275
281
264
305
324
282
182
311
318
334
348
374
326
287
355
353
303
283
264
360
280
383
382
410
267
268
299
306
356
278
338
364
281
379
322
414
282
372
375
256
239
399
247
345
308
362
370
320
336
320
326
321
282
317
263
262
302
312
297
272
396
319
377
312
345
274
286
359
366
279
243
368
333
354
310
239
317
307
347
376
297
336
274
254
349
285
302
223
275
306
367
322
292
372
256
366
379
348
296
272
332
303
324
253
329
300
313
325
301
327
308
421
328
362
358
302
287
328
388
316
333
258
365
297
310
318
319
229
384
292
286
312
353
394
205
345
277
272
303
325
379
290
387
294
342
257
328
437
264
322
353
317
348
323
390
303
313
376
295
315
265
217
286
232
332
371
304
316
304
359
287
236
375
288
336
302
266
264
351
305
370
240
288
268
306
254
374
310
248
272
372
305
320
293
333
296
313
316
269
337
342
294
303
331
315
234
313
337
299
280
319
252
302
301
370
401
284
301
362
298
329
275
353
352
351
384
319
304
298
351
375
370
370
204
292
350
343
333
356
297
346
323
258
283
380
353
306
315
338
404
363
355
311
255
222
346
312
313
294
331
383
375
355
346
249
311
325
256
326
308
346
263
324
266
296
391
298
284
331
291
307
366
274
355
304
299
214
359
332
274
300
321
323
294
349
277
276
337
317
242
341
356
317
258
352
278
286
349
387
303
321
264
362
278
351
325
276
353
317
295
350
363
338
279
356
316
278
345
270
305
316
206
318
338
316
401
276
410
353
398
259
318
395
272
282
320
315
288
401
358
206
292
299
331
314
270
301
335
327
321
346
359
298
291
274
369
331
244
332
256
355
262
249
295
343
268
272
338
349
305
251
347
324
325
316
361
343
396
256
387
343
374
286
273
245
342
269
347
312
266
377
314
286
247
364
263
312
360
321
257
339
343
312
319
363
299
372
407
269
331
292
249
261
351
284
357
245
295
324
290
355
279
252
341
349
283
347
231
328
374
264
353
352
269
350
259
367
311
331
363
236
317
328
273
249
231
315
339
308
271
214
360
402
364
304
332
353
302
319
344
267
351
307
383
284
355
238
364
313
302
214
272
316
292
311
330
360
329
319
312
250
237
349
329
277
221
412
305
339
257
364
316
332
249
319
348
270
301
266
340
346
318
371
262
321
436
290
286
250
317
360
315
294
372
314
289
336
391
374
356
349
249
231
280
324
332
281
426
272
362
212
373
315
339
350
397
316
356
345
246
250
344
370
307
334
250
312
262
295
372
367
333
421
392
314
306
404
359
332
325
346
340
272
398
339
331
297
313
374
282
379
396
308
360
348
241
269
257
361
395
360
364
369
314
262
335
289
337
346
303
295
306
400
261
311
315
239
304
295
292
285
346
331
257
303
322
248
344
294
362
254
274
255
269
346
366
347
313
259
338
335
340
261
387
286
277
299
279
383
380
274
295
301
405
266
287
272
293
335
280
282
321
393
256
276
252
298
396
325
279
323
283
307
309
228
311
290
294
308
385
322
283
286
310
367
370
269
313
315
295
342
290
302
313
379
387
270
355
239
309
315
302
342
362
402
306
326
351
266
287
232
306
344
240
277
316
321
302
395
267
344
263
394
282
359
326
354
272
300
295
282
334
291
345
274
326
241
369
331
268
303
249
359
322
275
332
361
252
299
331
321
328
363
306
345
295
306
371
297
176
395
336
301
377
338
380
302
361
419
337
337
287
271
329
368
271
362
342
224
349
324
417
320
294
333
329
409
377
309
328
332
303
322
295
330
288
323
248
380
272
327
288
296
308
232
295
356
305
346
285
301
265
402
342
327
345
317
308
304
324
263
406
365
281
314
311
313
425
294
300
308
385
316
306
343
242
341
307
239
289
315
213
366
350
369
206
321
373
279
293
382
264
217
297
330
281
327
283
304
353
366
393
350
383
275
256
274
352
313
219
322
234
353
373
352
343
347
289
304
301
325
348
312
372
383
349
271
244
260
292
304
326
246
238
228
347
314
306
298
339
320
244
297
317
275
359
296
343
354
337
337
306
329
337
379
349
340
273
238
312
233
323
269
273
326
290
311
338
346
374
283
303
320
274
314
345
273
242
301
224
352
292
301
273
281
263
301
362
341
384
337
368
336
395
318
269
346
270
311
256
351
393
309
382
390
297
283
224
312
376
207
395
369
303
250
378
290
273
317
310
323
291
325
310
342
355
353
280
292
290
302
347
321
291
260
338
287
387
293
389
391
345
271
298
326
314
339
311
345
260
334
374
310
376
420
292
354
343
257
347
344
263
338
235
352
353
321
322
304
354
324
351
365
325
323
339
293
254
294
369
362
322
297
284
277
317
254
399
273
336
358
312
312
309
280
351
361
294
307
400
246
274
223
372
386
367
282
333
301
401
364
383
235
337
277
341
344
323
313
407
336
360
417
267
364
287
249
330
330
216
352
345
336
292
305
230
212
325
349
300
288
265
268
394
261
337
307
307
301
358
263
295
319
323
354
327
207
358
300
329
328
301
363
263
352
313
325
273
253
258
280
299
379
335
288
361
307
303
387
347
306
323
258
278
315
370
372
299
274
324
293
346
287
243
366
353
327
306
325
298
301
257
369
326
332
286
362
325
335
271
382
303
360
309
361
364
288
397
386
321
299
333
340
248
230
310
311
349
278
273
390
302
319
302
344
289
340
237
364
274
338
353
303
255
325
393
285
389
441
270
268
370
294
194
359
292
286
359
256
342
315
296
376
229
317
321
281
287
274
359
313
281
390
257
249
312
295
314
329
314
378
252
330
347
269
365
313
234
261
258
267
352
380
339
370
245
321
268
345
305
342
363
381
335
300
219
334
357
341
250
309
282
383
330
380
350
343
339
313
206
317
325
295
411
352
325
312
345
356
337
338
310
354
400
343
324
316
282
312
307
292
387
320
330
314
296
340
292
320
252
276
345
378
323
336
318
298
294
295
332
347
310
271
352
299
225
378
321
290
244
270
318
280
363
169
319
294
359
281
270
265
280
327
401
292
319
321
326
386
396
327
383
324
293
258
349
330
339
298
313
380
346
309
345
269
389
264
296
272
268
289
354
255
359
373
375
219
339
358
337
361
390
276
302
264
297
311
393
315
384
292
301
312
292
276
418
249
286
254
321
327
300
376
366
219
235
267
274
333
278
323
311
300
384
390
334
294
308
346
392
324
261
341
239
253
308
347
269
343
390
259
345
255
367
412
286
274
333
260
270
355
303
358
239
346
290
305
390
335
349
354
403
325
289
312
283
325
352
289
365
379
381
317
301
346
295
306
402
312
286
247
265
391
333
360
326
269
357
313
320
284
287
271
314
337
276
348
363
282
274
342
252
286
272
293
375
397
320
264
310
401
276
273
309
320
368
388
338
251
350
332
285
335
344
332
243
284
230
272
301
285
379
384
340
342
327
408
362
308
365
295
403
341
329
279
320
236
219
362
296
269
308
223
348
327
254
311
309
360
335
371
308
339
298
329
362
275
360
246
314
317
307
340
278
260
291
347
340
304
348
383
294
318
284
367
344
342
325
305
249
332
362
420
289
278
325
384
284
255
358
341
307
272
254
295
307
344
293
316
328
239
287
284
325
312
304
283
329
303
389
363
287
251
312
266
319
336
428
353
274
283
319
301
262
306
302
288
315
245
347
343
296
369
301
330
337
332
330
297
277
321
268
299
332
299
272
279
335
284
340
385
391
331
358
332
250
345
309
352
326
276
244
331
264
206
286
319
327
301
343
264
291
335
301
338
240
327
340
239
245
356
283
304
297
301
339
334
311
321
285
339
227
348
308
404
350
294
317
325
334
287
299
306
366
222
266
316
382
432
273
365
285
338
292
316
310
275
341
340
324
293
270
326
339
430
309
253
328
372
263
352
260
304
268
337
380
344
329
411
337
265
302
340
246
325
250
362
263
308
300
283
351
344
357
297
331
314
348
365
349
302
283
341
295
398
350
273
273
309
347
325
353
312
210
379
376
218
320
312
391
283
361
266
294
406
278
271
241
335
357
260
425
297
253
305
257
278
317
351
274
236
308
221
245
352
388
296
381
381
343
291
202
356
366
265
276
330
310
397
332
272
250
274
401
354
265
366
242
398
240
322
238
235
321
416
259
261
328
325
292
228
416
355
316
285
324
290
339
246
282
348
356
397
267
421
347
288
351
354
329
270
390
323
280
281
287
372
337
431
274
310
220
314
373
326
314
284
331
329
273
331
285
330
252
294
286
367
304
433
277
300
318
263
229
337
322
336
278
394
226
339
297
262
351
272
317
315
353
321
299
390
327
314
365
344
349
317
361
272
286
284
269
291
290
385
344
309
320
359
312
314
357
291
287
293
350
408
283
278
313
292
270
319
318
260
322
331
312
336
325
277
300
320
291
276
271
323
367
299
228
328
323
328
258
398
269
322
308
286
357
286
333
258
293
269
309
344
305
370
312
333
285
371
394
333
370
340
338
392
266
392
374
386
261
365
272
273
347
381
329
254
342
255
248
294
312
342
312
341
243
367
310
368
325
345
306
346
316
347
361
341
328
334
344
331
270
221
313
270
308
317
319
340
282
324
187
316
309
377
285
229
260
336
405
351
326
349
275
314
277
389
269
326
423
314
305
304
352
316
322
330
301
211
261
405
291
353
330
332
339
384
345
295
226
326
261
247
292
324
379
273
290
258
268
304
304
378
291
272
360
313
303
307
326
334
341
319
379
260
369
317
312
335
355
249
251
294
305
333
221
374
328
305
261
333
186
283
367
326
371
368
367
233
266
364
321
385
301
302
338
311
305
315
383
241
263
348
238
315
293
348
272
255
265
377
384
159
336
279
337
294
350
295
241
295
282
344
306
324
255
319
256
299
309
239
333
294
284
352
273
306
333
339
254
356
312
270
302
218
324
303
273
337
263
348
277
335
306
287
392
232
323
284
293
324
339
315
291
385
352
326
301
270
372
306
380
309
359
322
336
333
306
222
243
374
347
277
370
316
343
321
272
276
315
319
350
270
350
330
374
294
334
402
299
302
293
351
324
310
282
354
393
367
289
298
385
286
381
210
276
246
297
342
339
340
313
347
252
268
326
272
314
335
343
326
237
280
326
322
346
274
354
338
333
337
324
347
339
365
330
257
296
444
301
336
369
410
386
324
365
354
366
364
246
313
336
252
342
298
265
226
256
309
390
303
343
286
349
328
298
314
314
329
326
289
306
204
300
304
351
294
257
379
324
313
255
328
301
324
302
280
348
245
363
304
345
313
338
310
239
398
334
355
299
308
247
306
326
376
287
291
323
338
353
379
307
323
283
310
360
283
318
306
356
365
294
400
353
252
283
316
300
279
338
391
226
310
302
177
365
401
307
245
368
340
370
324
364
331
296
348
323
273
327
309
293
298
336
300
305
346
298
325
336
298
335
359
249
288
323
265
280
326
303
299
265
372
301
325
331
280
378
276
354
316
315
329
220
270
283
339
344
367
358
311
289
320
228
416
305
275
260
270
323
354
219
306
319
253
328
308
304
293
325
283
224
376
417
307
398
291
301
352
336
347
298
269
343
290
300
365
311
299
305
298
314
395
295
325
285
330
264
245
257
309
286
314
320
228
311
319
385
414
308
379
224
324
275
244
326
336
331
321
336
370
271
329
271
312
257
296
344
291
401
331
242
332
341
366
364
231
291
367
259
380
313
302
309
255
378
327
272
251
263
326
282
334
294
367
356
333
259
264
307
336
293
349
381
282
331
325
324
297
281
304
365
320
346
252
398
365
357
344
229
284
316
201
216
332
304
278
408
258
302
284
269
314
307
356
299
322
341
325
301
270
386
323
289
394
321
319
341
306
278
379
285
314
295
276
339
314
371
306
281
262
307
316
394
234
283
276
304
273
363
352
298
292
281
290
336
268
263
289
337
317
401
307
294
332
315
278
256
351
341
356
369
252
314
307
364
363
273
327
265
359
361
368
298
358
270
258
297
261
316
282
268
317
281
318
411
330
256
354
309
248
358
322
363
388
320
393
231
326
317
358
352
291
296
264
371
330
351
274
395
317
317
326
347
286
291
373
295
381
279
314
385
297
372
330
309
329
364
286
356
331
275
343
336
292
360
259
282
272
377
335
319
314
318
258
321
308
290
310
322
225
212
368
333
410
301
211
258
375
321
310
298
350
237
325
305
322
354
341
319
327
334
328
339
289
250
261
283
248
411
331
311
301
284
235
393
339
208
273
329
308
320
317
260
320
300
271
310
350
328
336
236
365
275
302
379
394
343
358
328
314
290
296
263
360
356
260
411
251
300
328
389
344
293
289
329
223
369
294
292
372
380
388
331
301
357
372
260
335
341
352
338
287
292
399
329
269
319
297
384
249
229
343
308
258
369
379
250
346
337
284
273
236
387
433
273
401
362
358
330
286
314
314
313
233
315
359
300
230
328
333
367
319
328
279
367
267
412
307
303
337
240
327
276
413
240
273
368
276
258
327
382
326
310
308
314
326
281
308
314
317
330
317
295
229
267
353
185
311
332
318
285
319
276
356
336
304
398
321
318
266
307
398
339
346
369
355
362
227
234
315
258
311
285
246
273
248
300
340
351
341
337
360
338
345
296
326
324
307
290
402
209
337
342
309
237
272
275
383
233
362
369
244
261
342
336
290
355
246
171
352
303
313
290
350
244
315
333
226
339
379
302
314
296
243
217
276
323
368
351
319
318
333
297
329
340
320
300
318
306
237
356
341
311
369
388
333
335
275
265
296
286
382
284
331
275
399
229
305
293
259
266
379
317
241
314
355
328
268
262
318
304
282
350
348
225
317
309
329
313
236
347
364
318
342
364
345
287
343
291
259
357
333
344
410
322
409
291
346
340
321
297
274
317
335
241
308
317
347
384
300
289
319
270
249
353
263
292
312
237
306
372
334
331
294
380
361
285
288
340
322
293
296
374
358
372
291
288
355
305
353
345
311
297
337
335
419
364
384
344
319
333
293
399
305
383
248
358
350
322
337
320
302
319
343
387
319
302
299
223
275
330
264
205
359
335
339
335
348
288
351
288
328
261
276
350
327
251
216
306
310
309
298
337
274
391
359
266
311
340
315
332
311
414
259
280
291
351
298
289
337
311
287
303
309
286
304
337
314
272
383
343
305
297
283
323
367
268
281
258
331
334
321
331
285
304
376
201
337
367
254
386
278
343
308
305
272
279
312
265
358
299
405
317
402
322
319
270
347
314
307
267
305
262
299
353
274
293
363
270
334
361
377
343
341
294
277
321
363
325
285
221
292
302
253
333
340
290
341
300
352
236
313
320
314
340
328
308
379
285
303
331
336
327
286
355
366
305
261
270
324
274
292
272
337
277
305
272
341
245
305
339
342
343
281
309
191
229
276
326
357
280
382
368
325
294
358
240
343
336
347
229
342
251
370
326
367
275
291
345
362
237
325
242
337
287
264
337
356
323
390
342
356
275
354
373
319
225
327
348
340
262
279
329
236
244
317
357
360
362
276
389
335
272
320
310
333
357
391
366
335
412
278
239
241
375
353
335
252
289
388
376
328
374
314
240
365
316
292
313
259
310
312
298
291
319
294
344
306
297
273
330
296
302
348
337
351
356
325
280
266
295
357
334
323
378
314
291
250
363
351
296
280
347
325
380
376
333
163
363
397
374
317
277
291
367
335
326
337
346
244
329
300
336
278
326
327
390
258
225
318
310
298
389
317
250
316
273
338
326
265
328
313
305
317
305
248
312
313
349
284
291
297
295
332
281
383
268
370
324
328
313
399
360
315
362
348
360
335
300
303
329
294
389
405
296
387
331
317
329
278
270
292
256
352
344
352
346
274
343
317
297
375
263
297
262
358
326
340
331
297
404
242
322
302
275
352
289
290
328
390
351
270
365
323
306
237
319
347
285
329
287
266
383
306
273
244
319
311
339
373
267
369
342
289
325
294
315
356
306
285
348
387
329
286
315
301
235
335
297
327
242
320
335
315
294
374
269
246
292
373
303
323
308
283
336
419
301
330
355
400
288
331
402
332
313
330
377
355
253
326
294
270
350
315
310
264
307
337
326
340
235
327
327
377
290
285
320
296
370
371
337
267
350
367
247
332
402
323
333
291
278
235
340
283
287
309
272
242
353
246
323
314
356
362
370
288
274
326
400
320
255
351
298
335
314
323
276
313
317
319
360
358
306
331
314
304
283
307
283
299
345
316
373
328
385
268
311
369
276
397
262
313
226
254
300
350
336
346
269
380
287
289
289
339
312
294
339
291
248
368
303
341
262
296
309
320
224
368
258
369
334
252
288
312
256
298
276
312
340
328
335
231
343
318
275
247
281
225
366
288
371
299
309
375
360
252
351
359
298
356
357
350
255
281
309
279
288
276
266
344
279
298
286
326
225
354
354
350
303
293
380
355
342
308
363
200
418
337
331
335
404
362
272
378
360
356
325
342
391
257
381
351
360
308
344
332
241
321
315
313
244
263
308
353
333
260
351
294
218
335
334
324
330
294
328
208
314
365
332
249
290
283
306
225
292
287
303
350
376
310
322
341
319
302
329
306
318
347
249
236
321
327
300
273
301
368
217
355
361
294
350
345
296
366
325
276
318
351
345
327
272
353
358
382
353
331
315
404
326
256
345
276
208
360
408
324
296
282
308
305
392
341
409
386
340
319
406
313
304
270
229
355
294
320
368
401
244
293
356
311
331
409
322
326
340
325
320
296
250
296
269
312
318
268
356
251
257
323
367
292
307
288
324
360
331
352
349
318
323
311
222
286
305
290
363
294
285
286
335
357
328
298
339
253
325
275
284
350
338
316
278
357
289
316
359
345
403
268
363
329
377
274
434
328
306
365
255
353
399
230
225
201
249
378
311
369
332
298
379
238
303
307
311
285
407
353
286
368
308
298
319
298
328
324
208
308
329
356
317
334
353
373
400
272
299
357
345
406
278
267
280
313
237
271
373
338
294
349
369
246
337
317
332
297
239
317
270
248
411
274
375
337
358
376
288
261
318
396
318
313
274
270
311
300
296
338
332
361
360
322
370
346
216
269
173
268
266
329
369
226
327
295
332
288
310
365
254
405
349
265
250
358
320
244
284
296
305
383
315
318
313
295
283
317
297
262
313
330
416
329
375
326
274
354
328
376
291
282
298
336
342
390
376
370
247
337
252
276
347
305
308
290
331
285
319
322
283
292
379
288
327
300
309
277
315
322
389
271
403
322
381
288
306
294
265
328
386
303
270
335
307
317
355
316
286
316
277
374
336
396
328
295
365
353
362
297
281
304
274
352
327
380
331
354
317
344
256
279
361
271
345
366
357
296
279
299
423
275
321
244
326
299
319
344
299
266
271
359
266
341
337
239
238
353
329
318
375
345
313
330
242
392
287
324
314
268
333
368
274
351
273
376
336
399
310
343
336
268
420
351
322
267
297
331
353
375
317
306
366
322
332
318
345
307
444
382
281
386
263
323
288
308
288
314
400
313
339
287
292
324
314
308
423
300
301
314
306
366
314
294
345
300
328
310
329
368
391
280
309
295
348
281
288
303
295
229
349
332
304
267
372
402
309
364
299
287
250
331
366
318
328
330
305
313
252
272
183
286
352
310
329
299
238
330
313
354
284
347
324
208
342
277
233
268
373
278
227
338
385
325
286
404
327
339
357
319
274
322
263
400
305
349
418
300
246
255
355
322
315
405
351
288
300
360
349
347
373
416
279
315
275
360
408
343
316
257
378
351
388
318
356
297
374
255
292
290
351
354
295
226
354
337
322
347
327
319
237
346
254
267
205
305
331
333
333
361
348
302
333
261
355
348
335
396
374
326
362
262
313
313
253
289
357
222
304
302
302
354
236
325
320
322
302
322
292
317
275
346
314
334
364
360
241
343
258
282
291
298
333
333
290
313
388
320
283
260
328
376
402
312
251
288
321
310
230
283
268
264
306
350
321
309
380
372
287
411
284
371
363
332
351
290
350
359
347
330
407
340
274
394
254
404
281
429
335
355
375
298
406
320
295
313
301
279
394
303
299
290
387
320
375
280
345
377
350
328
336
315
277
329
319
344
320
316
239
281
371
362
307
326
318
333
295
380
377
341
333
217
295
328
349
292
330
364
332
266
287
292
213
371
348
316
349
262
258
355
352
315
310
296
331
323
334
355
323
322
375
286
283
325
340
276
306
225
304
324
287
370
319
265
374
281
333
327
358
386
363
311
283
240
278
331
320
234
306
331
357
344
281
369
364
280
313
301
317
332
373
258
343
358
277
303
391
347
303
271
292
272
303
343
362
282
274
376
321
335
304
288
315
258
337
259
316
333
283
278
349
372
307
327
306
252
342
302
376
339
361
335
237
237
395
269
327
278
306
292
368
337
280
350
348
299
374
329
269
296
322
290
239
252
228
313
305
267
387
274
304
380
404
322
293
378
369
339
336
365
349
306
343
301
289
327
285
342
279
345
334
313
363
313
345
322
282
321
357
319
362
363
328
269
354
333
280
211
303
250
228
322
354
357
347
321
292
332
291
274
385
263
281
310
363
354
376
279
341
297
345
307
409
337
324
285
275
294
284
286
285
341
330
352
301
318
256
290
344
326
267
287
345
362
334
310
206
319
341
293
306
384
215
239
275
325
377
278
242
338
211
267
368
244
352
308
307
353
307
358
366
316
267
301
342
302
328
290
292
395
280
382
348
312
273
239
290
249
334
328
343
385
280
290
323
367
322
218
324
311
352
334
206
274
303
310
361
263
328
341
353
277
400
387
322
313
377
322
331
316
314
305
365
397
215
290
360
337
303
257
284
309
346
310
394
344
302
311
346
311
361
334
303
398
204
367
357
380
311
314
273
227
314
291
353
393
408
343
340
241
346
279
411
204
303
348
356
359
301
264
256
349
332
293
417
397
374
376
249
325
365
236
258
267
317
311
327
403
332
289
389
337
266
224
289
323
237
313
426
291
257
282
371
272
288
271
355
221
295
329
291
387
300
365
401
307
330
294
273
378
298
266
244
327
319
277
302
241
279
338
306
322
328
259
236
254
227
383
298
297
296
258
259
309
300
312
232
362
310
335
355
259
271
210
420
357
284
343
311
301
310
347
353
276
275
326
354
311
287
336
330
238
362
310
371
306
287
330
284
383
298
349
345
284
202
335
380
356
400
289
286
268
317
378
367
331
273
215
385
232
285
262
306
317
274
333
303
320
250
263
292
298
330
351
431
325
356
364
356
272
346
268
264
404
359
303
375
274
277
326
292
356
383
261
344
281
403
324
251
315
344
305
304
373
261
274
326
316
347
304
349
291
351
330
316
320
305
366
291
284
282
318
322
292
363
288
317
350
383
264
363
286
300
249
263
245
261
384
263
331
296
336
387
354
310
328
294
305
236
225
371
339
327
313
356
381
326
269
332
397
297
276
335
254
339
306
247
301
244
262
313
367
246
366
224
424
294
368
305
277
353
357
263
212
293
339
229
365
291
285
333
298
364
365
311
348
221
382
259
317
332
338
277
405
328
342
351
349
317
308
284
341
342
388
282
238
338
314
308
298
360
329
357
312
310
250
327
279
332
324
275
304
281
295
359
278
226
303
266
353
340
286
244
359
263
394
334
331
266
279
320
321
355
340
234
368
375
270
400
387
284
268
204
302
287
268
355
363
311
314
330
280
279
283
299
333
358
353
347
403
315
290
349
271
352
355
349
282
207
331
354
270
359
368
286
235
273
355
335
353
365
357
372
325
312
294
294
238
318
271
353
370
342
280
283
362
295
292
356
253
316
276
296
296
290
330
348
225
212
352
345
267
323
305
343
277
284
313
359
331
302
273
322
348
377
292
320
339
328
313
310
312
328
327
298
350
258
278
314
250
282
319
314
320
292
265
256
256
325
340
342
329
347
397
321
308
307
321
316
321
295
232
247
237
403
343
335
309
281
317
340
383
235
304
359
373
333
390
360
317
316
331
342
263
348
294
261
287
260
360
282
381
342
385
305
252
287
306
257
318
330
188
216
346
353
281
255
243
283
342
317
385
309
269
261
321
274
266
343
304
349
382
316
327
254
272
271
298
400
304
315
284
272
294
425
302
258
350
295
327
378
300
223
289
360
342
285
286
312
309
277
270
246
331
286
333
317
395
362
264
371
388
260
307
364
334
284
337
240
294
378
242
321
317
201
268
298
242
272
270
394
288
258
348
367
393
337
309
278
320
342
316
309
266
325
319
367
369
370
279
307
288
258
320
369
340
349
297
232
291
312
269
309
264
326
362
269
300
233
327
294
305
318
322
315
286
271
317
342
453
292
274
272
322
264
365
299
212
259
399
235
307
389
264
269
315
225
306
260
288
360
335
311
340
350
230
293
290
296
349
367
276
325
342
379
320
298
354
381
270
307
392
303
271
326
300
330
253
331
255
293
232
362
258
310
299
326
318
344
399
381
285
287
293
256
304
386
354
278
353
332
260
395
295
302
222
334
286
278
304
295
335
231
348
313
312
299
271
300
288
331
276
243
362
300
381
237
315
363
290
377
359
326
232
384
319
333
371
359
263
321
450
354
280
323
398
280
313
377
320
335
329
360
326
331
342
250
280
233
329
297
344
320
367
284
241
251
308
283
290
337
305
305
252
313
292
251
292
254
348
303
343
318
294
284
309
308
243
355
337
327
395
256
345
283
338
309
285
232
278
305
268
258
243
327
303
373
319
407
262
251
336
396
316
372
415
273
386
317
263
311
288
320
256
269
326
299
315
278
198
256
298
236
384
315
223
313
263
351
309
222
291
264
281
232
276
333
235
371
321
334
269
362
291
359
334
273
343
349
298
262
337
303
422
311
272
239
292
258
267
234
314
361
236
300
325
316
414
253
286
404
282
333
327
288
365
318
290
373
362
232
297
341
274
334
168
299
327
378
367
274
268
279
355
262
357
345
338
310
315
365
347
352
302
305
371
308
307
329
361
328
347
363
318
345
250
308
248
340
284
325
229
311
335
341
311
255
299
290
349
298
328
327
267
309
266
267
387
195
196
304
373
301
343
316
221
334
291
332
307
303
309
288
248
373
297
292
245
371
324
278
349
288
371
296
349
317
409
382
324
335
329
378
294
314
328
352
343
338
359
322
352
214
390
311
297
323
313
264
282
347
308
359
364
307
310
304
196
242
268
320
367
334
299
282
263
297
307
211
379
235
280
300
327
320
296
295
298
385
293
416
319
240
309
218
324
278
261
415
322
335
278
316
412
286
364
273
366
201
347
315
325
364
268
316
265
333
258
368
344
298
308
270
362
329
263
278
301
344
405
361
324
326
271
280
374
334
328
229
229
333
358
340
373
329
339
309
393
310
319
318
383
387
361
296
342
325
357
442
289
316
285
280
254
318
223
319
242
318
318
323
254
342
240
303
299
314
299
398
349
211
332
390
341
322
306
347
276
284
304
429
279
365
282
370
356
325
275
318
301
269
249
337
253
192
287
359
340
293
292
337
282
304
317
361
279
377
301
321
423
277
261
227
221
311
286
271
351
184
390
339
320
299
352
387
330
352
404
352
257
273
346
306
341
212
304
283
382
295
387
333
302
292
344
309
342
309
278
352
288
244
310
361
384
306
351
323
303
326
315
374
330
341
358
272
399
208
356
335
260
387
371
319
342
340
327
350
273
267
281
407
382
261
274
301
311
370
330
274
360
311
295
274
287
326
362
232
300
372
356
403
348
253
312
374
380
317
290
261
273
312
341
357
312
250
238
316
277
364
281
306
373
274
249
318
252
308
373
299
362
294
330
313
355
278
334
320
274
337
268
417
308
362
267
287
342
261
320
291
406
402
369
315
382
285
288
244
340
263
303
360
343
273
307
333
318
223
287
315
337
323
327
293
315
298
255
306
380
316
269
354
319
339
431
318
281
291
253
365
347
260
402
292
326
251
301
344
264
328
297
260
286
410
321
309
228
262
267
366
336
341
402
287
243
277
312
267
245
325
267
233
361
310
351
263
391
336
314
375
265
296
273
289
285
344
352
366
288
359
305
317
330
327
332
267
328
344
341
312
364
357
354
229
356
231
290
327
291
296
353
323
349
319
346
339
352
258
309
280
193
309
302
328
336
246
261
327
281
285
259
319
355
399
352
289
324
320
380
248
317
291
371
280
326
264
339
317
313
391
351
247
330
331
297
318
325
411
344
323
288
283
378
373
313
387
328
298
281
310
293
263
342
370
342
336
322
282
334
286
402
320
234
340
340
354
345
270
276
331
271
264
314
284
284
385
259
243
339
221
248
335
306
279
371
330
352
322
258
284
303
317
234
334
341
244
390
305
336
321
299
325
311
323
276
328
343
277
305
324
281
286
288
350
333
324
323
249
314
369
350
343
306
324
225
325
305
276
318
252
361
304
390
305
255
308
273
366
368
316
380
268
330
316
281
353
288
241
310
334
328
292
353
375
330
279
168
335
379
343
309
178
321
403
266
330
182
193
320
278
268
332
321
262
368
326
222
314
278
282
408
377
368
349
217
319
229
224
378
266
343
303
363
270
322
295
365
326
357
359
385
369
344
275
306
354
339
400
319
404
242
330
357
324
234
289
283
341
284
284
296
295
285
361
340
315
279
259
319
346
292
353
248
363
332
291
286
281
306
274
345
323
444
272
314
347
324
271
308
261
316
368
365
402
262
283
289
346
357
365
335
382
365
317
332
279
297
252
265
314
357
313
270
279
265
289
329
267
295
332
382
309
294
272
351
237
337
252
268
273
297
337
275
339
426
285
263
351
312
305
321
329
327
266
342
299
329
337
263
185
175
346
289
310
258
318
326
263
366
276
238
391
242
349
305
292
405
237
257
271
320
294
338
271
255
329
385
241
330
253
285
306
313
278
314
327
280
291
352
317
311
336
300
278
219
398
282
304
328
283
361
323
364
341
306
371
349
224
282
353
325
308
303
356
328
322
311
240
308
382
265
281
333
410
249
351
211
255
316
389
351
222
219
384
339
360
361
348
277
360
310
294
348
307
308
372
365
353
360
243
372
430
347
376
340
361
279
337
281
290
355
321
355
376
349
301
333
301
323
378
268
308
314
323
268
332
258
313
386
310
398
300
320
278
268
246
276
235
241
286
294
359
228
406
265
343
376
276
347
354
291
312
352
304
362
323
348
279
337
264
223
287
303
370
267
269
293
289
373
261
310
258
336
340
321
355
334
230
352
337
329
267
369
345
291
333
268
356
363
409
270
366
271
376
320
221
418
201
382
328
266
317
345
320
243
223
309
318
239
317
275
325
257
218
260
274
266
308
308
363
331
330
292
386
335
282
354
285
333
229
295
314
355
388
388
321
325
318
338
297
265
310
281
313
360
299
317
305
410
288
354
280
337
304
321
326
331
337
271
381
305
339
312
305
277
267
292
346
345
319
347
323
358
321
293
363
318
333
390
332
332
335
331
236
375
355
308
373
219
263
356
333
400
403
413
365
365
276
255
285
340
297
262
395
323
325
312
335
321
215
274
345
309
324
310
301
310
337
275
361
375
381
359
399
274
266
348
298
324
310
261
322
338
391
289
288
363
246
351
246
298
304
239
331
294
326
247
304
251
279
278
316
380
330
316
264
345
281
318
348
380
402
215
296
376
347
329
265
247
317
400
264
351
270
255
327
361
308
353
317
348
259
240
291
365
294
341
277
309
304
299
309
322
355
258
314
300
294
386
289
241
261
263
318
310
266
296
309
324
306
366
260
291
348
275
299
315
270
315
357
303
281
285
323
236
305
267
325
286
371
326
261
364
270
238
293
300
385
376
321
353
296
261
263
290
272
327
338
351
320
351
295
365
277
224
201
337
353
354
285
281
330
311
276
314
243
287
273
355
362
239
249
299
371
381
272
271
276
244
292
320
382
296
296
295
384
258
357
295
265
351
340
396
240
294
344
324
323
302
327
322
266
292
312
335
277
255
298
337
423
333
378
317
298
355
334
337
382
342
335
385
365
296
352
265
268
319
325
362
355
314
317
303
273
382
242
336
316
286
338
348
289
335
341
359
278
359
365
353
302
342
322
269
285
319
296
343
266
287
304
319
353
299
229
325
385
314
359
282
333
281
315
317
339
297
289
323
333
282
319
398
349
320
356
198
389
242
279
367
307
383
360
308
292
281
323
324
293
329
334
348
358
229
312
307
211
313
205
327
311
233
244
315
377
293
331
313
236
258
395
254
243
409
295
377
342
306
313
258
321
384
339
253
316
373
383
214
270
325
323
408
289
249
397
351
345
275
279
328
296
222
303
264
355
324
272
315
354
309
386
227
236
414
309
291
336
299
297
218
275
307
353
314
301
335
355
351
327
313
327
244
325
262
298
317
331
310
302
416
269
348
352
290
353
326
340
216
338
321
330
335
362
294
345
340
289
385
323
274
353
331
259
214
402
374
248
319
343
211
361
351
323
281
338
367
344
262
408
329
333
309
288
317
308
367
374
301
333
233
266
326
263
295
310
261
276
333
311
376
346
341
314
278
373
292
360
257
273
329
282
319
306
321
354
243
369
296
274
266
312
300
347
322
315
287
386
287
330
252
301
307
331
248
388
330
362
326
323
334
294
381
335
308
316
383
386
258
319
315
276
341
330
306
309
335
384
301
271
313
310
206
390
165
352
291
251
262
302
282
294
266
307
313
263
323
275
277
192
324
294
294
287
280
353
310
264
265
322
308
317
364
402
324
322
316
284
349
292
230
376
266
301
219
344
308
257
297
336
311
285
381
283
395
232
217
340
228
254
308
311
327
346
274
373
358
373
367
333
252
317
375
392
307
281
316
409
292
329
301
379
273
269
317
301
305
295
319
354
300
277
314
346
330
375
314
284
317
331
392
360
224
319
319
286
407
309
279
322
219
377
328
323
377
249
248
336
384
285
342
267
430
264
196
365
334
312
272
349
306
349
313
309
289
129
292
405
292
393
314
318
372
379
287
343
396
308
314
304
392
288
253
241
321
327
369
285
268
270
203
354
375
245
305
316
294
252
328
254
386
334
379
319
334
270
357
327
310
358
315
274
247
332
377
297
312
338
324
354
309
377
266
302
372
363
402
334
367
329
272
270
343
247
362
310
349
336
253
271
340
322
341
317
288
288
319
289
304
376
276
339
376
324
354
324
316
374
279
340
323
303
293
335
263
338
295
296
342
280
396
354
304
420
252
401
309
346
349
323
336
322
352
300
257
350
284
325
224
261
243
361
317
288
274
307
330
341
341
312
282
304
311
313
262
265
343
309
296
405
271
265
313
268
313
340
335
350
324
282
280
376
355
272
334
323
305
289
245
320
317
303
344
351
327
340
365
285
290
309
294
352
263
309
305
380
330
268
267
298
317
379
338
306
257
334
285
320
360
326
422
235
262
285
277
328
289
343
312
299
246
289
242
392
309
255
284
273
294
294
284
305
306
346
188
257
373
414
332
327
242
337
371
317
260
350
370
288
361
353
330
341
345
301
300
260
268
380
294
284
317
290
362
323
320
305
297
299
283
369
308
225
317
223
284
337
359
381
256
323
367
324
345
320
261
309
344
291
304
248
267
304
314
273
321
310
336
349
269
202
393
326
302
324
344
315
274
356
288
371
307
313
314
241
328
323
357
381
335
355
406
324
209
310
262
248
394
380
362
277
297
258
350
353
302
258
274
310
343
317
332
408
339
410
296
271
317
327
364
366
345
297
384
315
352
390
388
296
315
381
263
335
313
314
336
266
317
321
256
403
321
227
332
255
299
338
357
336
312
315
347
279
347
320
331
292
374
266
323
283
342
347
346
337
385
303
345
210
190
224
355
321
356
330
395
291
290
291
307
399
286
278
327
311
345
287
360
269
331
283
309
254
364
217
318
240
265
283
295
322
334
339
240
262
317
350
335
284
340
405
306
307
309
233
311
331
320
364
348
428
391
298
348
274
319
264
274
352
282
427
277
323
328
342
327
262
393
267
277
285
307
312
327
346
413
393
322
301
343
290
369
351
279
216
307
310
309
299
323
382
222
294
316
270
392
286
348
348
319
367
347
272
362
390
353
302
311
306
217
352
296
320
355
309
259
281
308
272
344
266
360
313
382
376
340
330
260
312
349
327
340
350
228
283
315
257
320
215
264
261
293
363
332
298
344
291
339
338
307
298
317
397
292
325
347
374
264
285
343
342
317
331
384
387
315
371
341
383
357
359
292
353
284
317
431
423
284
388
287
290
330
272
295
355
355
261
300
386
326
350
251
308
301
324
315
337
308
336
305
273
208
338
288
378
234
255
342
254
374
321
242
280
274
307
212
292
328
283
255
341
376
242
427
280
265
282
320
254
297
343
341
322
341
369
296
298
267
254
274
300
296
224
315
245
330
380
305
326
314
266
337
319
320
333
333
158
282
319
253
272
319
267
342
276
316
385
290
356
277
308
313
309
349
311
312
303
300
234
327
308
245
357
311
316
362
282
353
329
342
385
279
327
333
361
252
337
257
322
357
232
332
324
258
321
322
359
440
273
280
293
312
321
331
357
396
349
358
346
280
281
329
309
422
311
309
344
365
332
336
328
256
340
340
345
317
293
392
323
340
271
306
361
262
349
279
235
250
368
344
275
253
288
307
277
261
290
334
214
383
321
367
308
352
314
314
333
255
343
316
284
322
341
315
329
275
275
295
267
277
283
291
240
337
356
245
343
354
319
319
391
271
431
265
329
347
210
244
244
312
310
369
293
354
392
266
163
356
345
319
212
230
356
349
359
319
350
296
266
313
244
314
278
356
259
363
315
276
384
325
371
349
284
344
292
333
290
332
282
264
223
230
366
263
310
318
357
321
198
271
304
386
350
378
333
369
254
325
295
343
341
280
295
267
377
327
237
359
348
355
321
364
365
372
367
327
368
348
395
315
336
297
289
456
277
386
260
402
363
289
267
264
331
323
251
344
325
234
236
359
209
295
296
267
322
301
197
242
277
322
335
339
279
280
311
284
307
288
366
292
347
357
301
311
317
337
282
322
232
322
295
279
349
347
358
279
299
303
233
311
304
352
324
261
401
333
280
398
317
318
264
353
375
342
328
329
289
366
250
395
357
288
281
280
234
302
307
384
316
338
324
333
261
277
347
379
271
335
308
325
298
282
261
274
339
274
326
298
348
269
245
302
263
325
293
346
307
372
288
259
302
372
274
288
258
251
347
302
285
297
352
357
331
410
278
344
259
271
251
324
221
268
325
274
381
353
283
253
332
264
292
328
286
301
282
329
317
284
325
344
237
258
400
295
301
212
363
313
308
360
338
300
295
261
341
218
347
264
387
219
370
275
297
307
306
349
350
342
333
316
317
379
318
287
265
274
368
290
347
353
263
231
317
331
367
295
215
230
391
314
230
331
297
304
333
281
351
307
335
324
273
225
249
264
348
328
290
415
322
280
322
368
334
351
352
354
337
337
303
327
349
322
337
404
330
330
238
374
263
309
292
315
254
298
313
266
446
342
364
359
383
313
288
284
372
345
350
358
343
352
310
336
312
199
293
391
317
317
377
385
359
397
326
318
300
287
346
326
307
379
374
332
289
344
336
259
369
368
306
373
298
276
310
339
281
302
315
270
273
323
364
289
298
301
359
395
335
298
264
354
348
243
283
331
302
310
393
322
320
262
304
295
255
308
264
343
252
330
273
318
403
296
345
302
394
220
342
255
231
281
270
300
304
307
280
296
334
302
281
294
279
330
308
329
279
272
343
289
275
309
221
342
210
381
365
323
411
252
334
267
311
340
296
293
302
269
302
335
326
265
274
335
271
245
223
348
331
298
425
282
194
301
374
297
232
337
306
318
329
364
316
368
293
295
300
282
390
323
319
311
236
302
291
258
312
299
312
361
279
395
315
374
287
278
359
271
271
327
332
258
330
426
313
377
243
267
291
218
326
327
308
344
291
371
323
344
268
296
306
225
225
241
255
229
324
274
265
340
288
359
270
284
287
369
196
379
407
341
336
318
208
322
309
318
377
366
335
300
248
348
319
304
379
293
362
310
357
312
323
271
370
179
425
358
295
316
349
410
338
309
265
254
317
386
255
331
336
242
294
321
285
321
320
261
302
302
316
258
353
241
377
272
314
279
223
357
331
335
347
355
375
270
246
343
300
253
379
327
344
304
272
311
259
310
287
349
295
319
359
313
372
274
345
331
332
302
318
262
380
294
263
304
271
286
330
301
219
278
369
312
243
276
361
329
343
332
372
315
315
302
354
298
209
275
324
299
354
255
347
226
288
372
349
214
328
339
350
337
259
262
308
277
195
242
351
303
384
337
390
322
313
365
337
346
293
233
284
226
324
289
362
325
342
314
343
308
305
278
314
331
355
400
288
354
342
278
278
328
291
372
322
342
368
292
334
353
362
354
381
248
357
247
289
274
371
320
274
328
271
341
298
299
288
242
291
345
358
384
314
359
268
269
386
384
317
329
322
319
236
288
335
326
339
296
350
366
308
282
363
278
317
371
359
301
301
297
300
246
259
375
317
370
311
376
338
292
274
288
344
358
328
363
277
381
399
317
331
346
294
425
255
370
362
317
345
366
323
246
304
393
287
264
372
262
222
316
235
290
299
401
342
195
341
296
276
317
225
367
317
286
255
329
347
344
264
310
314
299
286
286
301
357
232
300
238
327
272
331
366
280
346
316
386
246
302
314
307
285
363
299
305
330
304
231
305
353
387
385
256
239
224
270
247
254
322
372
327
319
302
363
291
366
301
379
277
290
282
402
267
279
326
336
271
337
306
296
307
275
342
297
337
380
333
261
352
329
359
290
324
328
300
313
250
341
288
284
238
270
352
305
275
351
257
210
300
260
236
342
323
294
283
299
385
332
288
324
240
359
279
258
360
319
405
373
277
285
236
264
341
383
286
334
400
329
296
286
390
270
297
325
244
309
277
347
374
352
350
393
269
301
176
340
357
390
357
342
350
266
298
321
360
298
341
399
313
346
362
278
361
360
374
274
212
323
324
333
338
300
262
303
353
367
324
343
289
254
355
337
282
267
294
347
332
389
307
252
274
252
284
292
347
312
269
262
346
365
237
296
308
333
188
267
388
296
263
289
316
355
323
327
350
284
336
300
280
350
368
256
324
259
348
282
300
256
338
327
319
216
320
346
352
283
360
317
343
313
294
260
387
322
388
282
268
339
314
342
334
271
368
347
273
275
344
308
305
372
378
375
332
299
303
336
365
364
385
286
312
244
351
259
342
344
334
357
341
360
342
326
363
329
344
352
332
447
345
308
320
299
325
340
361
395
323
315
325
299
344
274
340
279
358
284
323
261
296
241
332
320
366
352
283
258
288
249
318
305
272
296
211
322
289
252
330
325
285
367
441
325
344
314
343
315
353
182
315
349
333
334
401
338
313
310
253
319
287
295
306
254
270
343
292
330
255
289
314
378
251
349
305
317
238
226
347
266
321
226
391
325
305
206
291
302
344
318
358
285
400
367
347
344
349
298
361
298
269
417
228
279
245
302
308
314
294
355
249
235
338
286
405
271
348
278
391
346
386
327
233
363
293
357
329
361
206
333
292
316
324
302
414
316
338
304
299
400
327
340
320
266
259
307
255
361
324
239
314
235
294
279
355
312
256
327
308
383
320
363
311
258
366
320
399
320
412
281
398
340
263
326
325
223
304
305
336
273
335
328
350
325
291
447
352
274
250
366
331
266
258
313
268
352
315
321
313
418
329
311
347
315
345
419
329
339
287
309
342
353
284
275
306
302
349
325
329
238
383
359
346
378
403
352
314
351
285
329
402
274
296
325
334
238
291
322
299
293
247
280
292
344
339
320
305
243
232
366
289
342
421
311
354
307
294
338
380
293
334
312
328
262
298
349
354
363
322
325
268
248
333
309
309
324
320
288
323
289
314
304
301
303
375
376
389
289
362
306
452
320
308
241
275
359
324
299
363
299
353
293
311
274
361
318
315
210
348
291
348
242
313
319
249
277
378
342
316
278
216
383
439
364
343
300
407
358
316
297
233
344
332
333
319
289
374
344
292
284
361
292
341
333
333
227
357
327
365
249
376
268
311
321
388
291
237
234
322
411
278
301
297
301
321
297
316
319
217
252
254
324
352
342
347
254
332
308
250
282
310
299
257
309
346
319
368
286
293
282
337
261
368
237
357
278
300
344
260
320
319
295
302
359
298
298
309
249
335
324
269
349
345
242
284
332
282
260
335
330
294
318
306
328
371
245
319
251
311
374
343
338
334
242
265
283
329
336
378
272
445
329
345
354
324
343
329
259
300
344
320
419
314
310
326
390
260
409
319
303
308
272
372
357
361
348
379
349
291
349
362
289
296
309
383
307
330
276
299
325
351
310
272
310
261
310
333
406
324
365
294
270
254
385
311
284
293
383
244
316
340
256
348
335
358
329
332
343
306
321
243
289
299
200
375
359
275
348
232
297
253
303
251
293
337
274
412
300
327
270
298
320
230
309
403
265
385
345
337
349
351
296
260
377
294
317
334
254
347
358
316
330
262
356
247
209
315
321
298
318
296
325
324
260
373
327
276
287
356
285
262
291
320
200
242
369
375
276
395
282
355
324
221
271
295
276
331
324
353
292
288
366
226
226
250
199
353
272
324
241
332
344
272
361
320
313
190
294
358
248
290
315
293
270
299
340
314
407
319
269
397
285
373
326
377
328
369
262
337
334
285
374
306
345
329
338
294
289
305
346
381
308
304
365
293
346
282
321
307
276
283
285
337
182
324
290
276
340
217
353
279
346
289
277
388
336
330
380
362
321
366
272
315
220
310
362
372
369
280
290
290
337
175
264
259
300
340
369
317
352
297
293
301
361
292
444
316
340
223
328
270
292
362
347
224
438
396
228
242
294
407
228
254
388
303
313
397
366
314
232
324
348
409
309
306
302
293
427
308
374
283
364
363
321
306
344
334
317
270
335
293
309
395
282
418
309
313
390
265
361
354
267
316
280
368
282
347
294
309
333
332
261
317
260
341
384
314
269
266
361
356
303
318
373
231
270
276
329
338
334
338
255
272
345
292
305
294
223
305
355
306
304
379
309
345
342
370
267
303
338
248
299
332
293
231
312
248
303
286
370
205
307
358
268
402
303
310
303
335
381
325
314
339
304
407
276
364
264
214
289
361
425
338
339
353
196
361
271
385
268
315
317
237
379
373
215
353
341
285
344
329
316
278
307
272
331
307
322
340
338
292
266
219
250
350
357
245
288
247
382
302
239
261
335
302
295
340
344
320
341
306
331
376
342
346
360
303
322
298
299
291
352
281
283
354
328
324
249
322
322
263
241
366
288
334
326
320
366
315
243
382
330
328
311
334
312
314
297
360
226
281
270
357
339
420
349
305
346
387
283
374
323
234
309
389
325
249
298
277
354
326
342
369
335
346
266
295
253
340
370
319
316
318
319
252
332
381
190
324
367
314
262
344
334
372
322
321
240
289
328
301
312
327
312
306
374
275
238
326
308
346
311
256
350
344
331
359
343
311
314
303
369
357
349
370
279
330
350
344
324
328
294
352
362
348
340
300
256
327
312
291
288
259
314
284
280
252
288
387
277
306
249
329
277
311
266
264
294
271
338
281
214
326
359
197
339
388
220
308
350
265
267
310
305
323
275
278
314
285
343
379
349
277
292
337
291
296
292
344
334
302
381
321
277
352
369
272
243
280
283
369
290
368
282
255
281
321
296
347
326
276
275
374
306
314
267
421
334
328
345
322
339
368
318
396
296
303
315
361
319
325
302
315
315
335
253
328
400
257
283
265
345
261
271
315
342
298
334
260
306
314
353
337
282
336
365
332
332
350
404
339
310
283
292
354
303
302
336
318
303
276
279
249
361
310
313
297
276
331
172
331
345
391
351
351
215
374
316
297
298
216
341
269
343
332
298
421
297
296
278
328
296
253
265
343
319
286
241
305
328
349
355
326
278
311
313
279
333
301
311
359
331
374
406
372
308
282
369
341
223
278
336
268
290
250
302
342
341
350
328
317
369
300
300
324
348
294
303
296
203
340
371
226
255
286
416
340
311
282
294
372
283
293
298
304
373
319
271
351
244
333
362
314
264
349
376
236
302
328
316
383
266
432
227
318
299
303
402
327
350
308
351
295
342
354
346
305
334
341
322
373
256
332
340
293
301
366
186
327
375
310
333
309
313
300
291
303
302
328
311
296
323
305
361
318
365
322
295
280
380
320
330
267
291
276
356
331
298
319
303
282
344
299
290
280
325
328
358
391
270
273
391
312
340
344
228
390
416
368
319
332
259
318
296
283
297
357
313
351
375
377
364
344
347
279
310
293
247
407
371
337
319
263
357
338
288
332
332
339
264
284
292
389
359
355
342
228
357
272
379
363
194
301
324
305
346
290
414
295
254
246
268
318
209
409
322
309
306
237
318
319
381
274
287
259
388
335
321
275
276
373
349
262
265
329
282
317
338
324
260
269
387
299
368
341
310
251
325
332
295
335
229
295
358
252
351
348
286
307
287
300
436
302
303
265
296
382
297
274
310
355
374
299
356
309
304
362
351
358
294
306
298
292
227
338
291
273
266
281
225
358
317
269
353
275
353
352
291
350
314
307
248
308
319
309
332
272
339
265
275
374
248
295
274
337
346
327
284
310
273
380
403
314
359
331
263
279
259
317
299
348
314
404
269
264
340
236
267
379
300
278
342
369
238
324
323
344
340
342
351
387
363
340
257
326
328
381
290
301
365
347
376
346
385
281
372
376
358
362
405
307
427
308
250
291
279
315
273
342
284
311
340
370
265
389
296
307
354
278
244
308
315
298
357
344
288
330
376
342
275
366
307
242
268
356
371
305
296
314
381
317
293
380
328
308
406
274
419
334
331
294
322
338
348
315
330
375
305
305
335
349
308
367
311
352
290
311
318
270
345
387
269
361
335
334
330
336
354
285
244
333
344
279
233
305
298
321
355
302
349
262
369
298
250
266
228
250
311
304
409
379
328
334
296
268
316
309
370
360
262
349
276
305
172
351
380
386
285
285
324
375
329
284
290
332
278
351
287
362
330
338
317
325
332
308
224
311
318
249
303
237
240
329
354
263
278
314
268
280
239
355
203
237
284
274
377
336
235
277
334
438
360
290
298
323
283
299
284
330
268
408
295
237
357
283
396
383
301
288
354
368
319
328
377
317
293
332
332
350
265
367
280
360
237
333
338
348
261
357
307
315
207
392
325
335
369
329
223
372
282
350
240
255
327
248
286
331
317
308
333
231
390
259
377
342
234
310
296
333
294
364
313
348
271
285
288
300
251
356
299
330
293
251
274
319
256
330
284
295
273
304
292
317
312
295
237
246
293
270
299
295
274
408
391
253
290
306
314
314
336
350
381
266
324
322
297
267
338
263
390
303
371
292
296
368
368
290
219
276
340
304
231
392
256
315
281
338
343
254
299
404
352
278
358
313
307
274
214
269
280
299
363
400
305
315
329
329
276
312
371
342
301
259
332
315
370
307
295
251
343
339
301
340
350
259
272
299
256
303
310
284
375
253
289
282
372
216
294
382
335
324
322
188
277
382
381
229
297
302
315
344
297
307
326
332
306
322
279
283
287
257
311
338
325
296
308
270
315
268
397
243
381
327
326
360
233
318
245
365
348
350
316
293
316
279
286
270
295
270
358
236
327
289
362
363
387
250
325
326
311
351
394
324
324
308
228
249
370
287
361
255
341
297
290
331
314
363
303
238
331
337
265
289
337
374
281
294
314
340
280
269
280
274
367
283
326
378
274
313
264
276
396
309
354
401
330
383
305
301
338
304
406
352
362
299
375
316
330
326
326
199
374
312
244
305
295
269
313
234
333
325
263
299
220
269
347
377
246
299
324
255
294
339
335
380
291
329
314
381
376
285
353
336
302
288
320
218
278
282
328
323
357
364
379
261
318
228
308
355
333
367
346
299
249
265
284
346
388
299
346
312
223
345
253
318
325
351
368
262
336
265
310
339
301
324
331
287
289
337
323
250
332
363
272
342
339
363
318
314
307
351
296
326
321
292
365
365
337
356
249
337
324
312
290
336
341
303
291
312
342
229
297
222
236
395
245
302
267
303
314
307
368
318
303
348
358
221
340
369
316
345
367
292
265
311
312
252
280
316
280
365
351
323
366
328
242
329
305
395
369
317
335
330
316
305
280
316
275
382
362
354
367
295
298
280
347
263
305
304
369
277
365
265
344
360
259
358
258
235
247
322
224
327
294
316
237
339
287
255
320
301
290
379
240
371
358
240
328
309
307
365
307
324
346
365
284
288
345
247
339
318
322
329
295
329
185
297
270
274
305
263
283
289
278
336
280
297
291
348
365
447
372
231
276
321
384
363
354
286
355
347
314
304
242
242
303
369
340
360
251
294
334
390
360
251
302
380
323
258
298
345
368
204
281
318
318
315
334
364
303
313
314
290
268
349
232
248
283
348
273
342
340
317
324
349
278
347
384
370
242
397
332
266
315
311
377
307
347
333
352
304
253
224
371
373
377
305
372
338
339
291
305
302
354
308
299
281
333
305
327
325
398
362
331
293
297
283
324
350
300
275
291
308
325
285
260
245
267
403
363
315
306
355
322
334
345
294
312
241
357
355
297
331
333
320
311
284
367
242
320
343
356
350
406
281
373
349
331
366
326
335
333
290
312
406
371
332
340
387
308
332
264
275
340
326
244
342
314
315
345
336
318
257
201
325
310
310
312
323
257
293
288
317
370
317
258
333
429
287
257
347
324
307
264
314
376
316
370
360
325
344
319
377
339
308
279
284
254
352
361
342
309
285
303
333
279
358
306
307
385
277
289
341
345
351
320
314
309
282
310
304
275
231
263
299
247
315
338
299
279
278
344
267
301
333
254
295
341
337
346
270
386
260
342
350
405
307
363
272
330
330
335
331
341
329
322
355
364
248
216
396
290
288
294
323
308
306
275
310
365
336
342
313
348
293
341
330
278
374
326
246
344
229
354
356
344
354
299
337
351
268
231
301
345
268
273
386
231
336
323
332
314
336
298
344
309
332
361
323
349
338
288
336
255
282
372
302
300
369
302
240
327
285
273
327
285
356
269
265
283
241
423
252
317
394
290
348
292
279
303
338
340
339
327
323
265
289
265
355
286
337
308
347
341
233
251
276
384
315
317
359
328
264
363
340
371
305
291
288
313
228
328
336
406
347
297
429
360
258
339
334
244
319
378
318
306
300
272
367
246
334
306
342
291
296
299
370
302
335
381
384
326
266
327
231
302
304
457
227
331
288
354
401
276
361
333
318
278
337
361
361
305
294
281
313
296
418
321
354
274
282
327
276
263
326
392
288
363
335
309
298
359
297
336
325
263
285
313
305
333
435
348
303
323
303
363
267
278
332
369
267
357
341
251
281
355
326
292
288
364
378
274
363
375
305
370
280
303
313
295
378
310
379
311
310
369
349
319
292
226
334
289
376
319
380
315
298
373
309
315
360
395
307
297
264
254
266
362
319
286
329
370
295
289
245
319
278
285
351
302
261
319
388
250
329
234
308
374
335
331
277
324
320
340
258
310
319
292
267
374
282
369
309
278
347
327
239
263
327
352
312
333
313
359
285
303
244
297
371
394
298
307
296
373
347
184
347
359
299
320
340
312
274
296
303
326
323
292
270
301
293
313
274
348
304
230
328
344
337
315
377
234
285
346
310
360
303
316
338
347
397
295
321
301
357
271
349
366
362
295
309
393
264
369
314
326
348
304
289
301
390
269
237
271
316
257
308
291
277
402
275
348
432
341
287
242
335
302
334
355
321
260
259
339
276
239
247
243
223
342
386
295
346
274
283
359
256
313
367
384
375
352
322
351
334
263
264
307
409
283
275
390
322
300
268
333
320
321
330
299
272
286
328
346
385
348
278
315
354
388
249
243
294
294
287
354
376
339
322
395
223
387
363
351
349
244
268
291
208
287
316
247
230
276
334
343
261
311
348
339
358
309
285
356
331
388
343
379
354
359
291
322
281
315
258
314
308
326
363
348
251
347
317
360
416
356
320
316
355
274
343
261
379
388
302
287
353
371
314
291
318
307
283
313
356
276
297
327
326
294
259
218
308
244
292
270
302
262
327
346
358
347
279
306
328
350
344
380
345
243
297
310
326
306
257
224
251
282
400
320
341
335
246
350
297
367
278
329
315
411
337
281
267
354
370
329
306
322
275
249
284
281
352
370
279
240
312
301
369
360
313
366
303
277
289
284
286
357
337
389
291
313
271
240
364
333
277
343
335
279
326
196
376
382
370
353
339
258
352
336
376
196
369
396
322
324
269
262
376
354
339
296
318
311
392
292
252
358
317
246
353
315
377
243
288
346
324
259
297
275
378
307
326
404
266
315
289
344
194
297
327
364
282
406
344
284
294
303
363
327
287
337
352
281
253
198
345
313
324
270
290
306
364
324
246
349
353
335
313
353
310
321
333
228
308
290
248
359
227
383
302
292
326
274
354
269
319
327
323
296
304
358
281
320
281
284
359
389
282
301
344
336
371
370
347
337
306
384
309
347
300
393
309
298
276
196
325
313
320
336
320
291
355
297
346
333
334
321
215
296
349
301
330
310
210
255
307
220
363
346
335
236
292
234
323
335
285
244
291
288
370
243
379
281
360
375
281
304
259
351
260
223
360
320
378
318
298
271
250
297
337
307
323
364
281
306
296
379
180
256
332
303
304
373
278
286
313
316
315
324
311
267
363
335
356
305
318
385
349
330
316
258
293
284
362
303
313
291
294
302
265
263
317
276
260
275
332
302
209
383
333
316
317
293
312
298
316
321
296
321
290
298
276
312
306
322
314
310
305
315
381
339
334
251
247
325
295
288
365
311
333
326
337
340
245
282
291
356
237
324
308
246
301
288
312
366
313
311
350
313
305
314
419
245
348
301
304
276
301
294
377
350
357
363
291
369
364
271
380
260
265
347
309
316
363
253
331
272
345
339
283
238
343
322
330
388
236
342
323
289
271
259
380
285
272
377
380
300
368
341
268
318
281
308
388
357
374
309
308
300
258
296
345
346
251
328
233
314
272
258
345
309
304
329
249
306
231
358
171
346
334
336
331
352
284
329
328
333
266
343
362
242
402
324
264
303
296
297
353
356
411
348
368
352
225
322
332
362
285
226
239
337
291
278
328
384
284
273
376
298
257
316
326
330
359
317
300
342
377
344
323
259
329
352
312
381
330
448
322
347
387
276
317
251
392
367
342
337
296
346
289
332
230
320
276
309
247
266
294
322
308
337
319
350
367
239
294
351
330
354
309
320
303
287
316
196
287
325
324
238
301
372
359
287
329
319
347
322
307
324
348
251
379
368
274
359
349
247
359
404
250
328
365
323
364
265
319
385
296
351
252
214
262
304
345
300
301
343
250
288
317
279
342
294
299
276
371
280
283
320
296
332
374
385
324
324
222
274
407
327
224
335
347
399
337
227
318
351
336
356
294
236
301
273
302
306
341
295
192
219
277
281
357
343
327
390
365
327
308
351
196
302
302
299
302
345
277
369
268
387
327
335
271
227
330
389
335
374
275
311
328
238
342
286
256
316
292
304
280
312
286
287
271
279
260
316
257
360
360
301
344
276
377
358
362
282
295
272
284
397
401
368
401
265
307
250
215
356
406
355
376
254
319
339
297
306
373
398
290
298
315
268
304
357
307
397
330
372
365
325
286
258
318
350
338
248
249
296
323
299
291
280
397
360
236
339
220
400
293
308
265
316
358
353
329
315
340
418
264
327
328
337
321
383
326
318
347
335
330
332
320
237
336
376
254
238
305
358
296
328
486
189
246
263
319
339
318
314
362
329
354
358
363
328
256
311
266
286
355
294
328
273
313
407
323
302
307
321
285
361
283
358
313
335
244
329
267
373
286
309
238
234
255
339
277
302
385
383
275
297
322
375
179
296
251
332
280
309
210
263
393
352
305
353
336
321
252
291
324
305
344
250
279
346
356
419
306
340
282
245
239
350
299
405
303
296
367
296
421
341
334
278
314
401
394
184
424
293
299
228
334
242
354
310
307
301
385
280
349
292
292
305
318
235
318
304
304
252
354
332
312
331
254
321
307
409
409
295
315
216
315
294
270
332
336
349
249
334
300
242
312
291
335
292
273
263
177
247
312
369
333
328
375
407
359
297
290
338
304
399
453
369
300
359
297
193
307
344
346
253
388
306
300
270
313
280
353
293
301
356
289
306
289
288
302
321
322
298
307
269
291
290
286
266
360
306
352
325
333
262
310
332
322
320
337
174
362
283
370
271
380
335
324
194
298
312
291
262
318
260
268
288
380
396
375
300
287
396
361
341
401
287
353
268
313
302
305
318
364
337
329
330
303
222
375
244
337
388
306
279
344
346
392
324
287
313
353
312
234
313
302
316
339
297
269
312
297
353
231
321
293
334
416
317
306
284
363
310
272
369
284
348
341
270
311
292
338
331
254
295
323
235
277
310
341
302
330
342
354
301
379
312
357
314
342
321
213
303
271
364
326
336
275
355
347
260
327
252
355
336
281
273
287
412
352
335
348
314
379
310
302
319
321
346
300
370
312
304
277
284
206
306
280
271
226
356
348
319
287
354
325
379
329
359
321
324
236
427
323
348
324
367
197
336
341
257
266
290
350
263
272
230
297
289
291
344
314
277
297
363
275
312
331
347
294
271
329
289
324
321
308
345
306
307
253
227
249
237
410
220
392
369
296
332
277
334
303
319
354
291
362
269
299
341
303
283
313
327
225
341
205
414
250
334
360
333
280
317
352
322
315
383
415
328
317
299
315
255
333
331
260
356
269
337
237
414
242
322
239
415
378
356
324
397
347
353
311
302
295
326
336
312
251
304
342
265
284
343
385
262
236
407
298
315
294
304
350
298
330
324
280
396
303
285
334
332
338
312
372
360
332
450
424
310
340
257
211
298
288
371
300
250
334
358
374
300
283
347
308
268
312
265
292
241
329
258
379
278
298
224
287
221
334
266
272
297
314
272
353
328
295
363
322
299
313
290
359
271
300
272
325
272
378
368
322
349
385
275
218
355
369
287
215
336
316
326
289
346
324
298
296
321
299
324
329
339
316
272
289
281
384
282
321
364
347
295
370
326
313
271
362
303
292
206
324
286
346
332
341
330
369
339
294
325
275
332
331
226
301
373
304
281
337
226
329
264
235
322
307
334
297
256
328
306
299
258
320
271
282
330
251
228
296
310
273
282
290
385
305
284
334
303
333
292
346
296
244
332
331
339
295
364
343
318
246
331
363
411
355
311
296
394
317
355
290
316
345
314
324
328
255
301
272
328
277
373
350
230
347
289
335
368
334
351
331
357
278
279
318
370
238
321
371
357
290
335
292
296
239
389
276
319
325
331
327
305
313
355
344
308
326
363
324
357
286
336
358
238
288
291
316
226
241
450
348
319
391
388
397
323
278
339
302
321
288
327
308
339
314
378
290
263
352
376
262
315
315
269
221
256
283
332
392
329
311
305
322
277
376
276
367
307
316
326
333
409
364
302
311
290
319
343
298
318
359
346
372
290
289
232
360
293
315
314
371
279
399
280
340
237
242
369
276
381
345
349
269
346
347
305
368
376
334
329
275
305
299
256
348
313
287
298
254
354
354
307
294
320
313
315
258
328
266
336
273
294
295
283
351
310
388
387
338
267
347
341
392
286
354
304
321
365
321
305
310
306
362
336
390
321
336
252
314
263
281
390
389
321
287
353
295
362
258
313
357
254
252
256
375
389
283
363
270
294
286
283
249
282
285
311
303
384
320
321
227
288
263
288
291
334
282
311
252
274
335
354
229
223
308
304
290
272
384
411
334
298
264
318
411
266
367
360
355
369
273
250
321
354
308
303
275
268
400
326
282
298
354
312
292
218
340
376
400
318
366
286
303
284
332
321
337
399
304
333
396
366
384
357
378
354
313
458
329
320
364
277
277
187
377
241
242
215
310
362
362
293
298
300
332
252
300
330
333
386
375
328
374
377
302
310
341
221
313
350
371
327
316
325
335
332
359
262
381
270
327
356
375
317
273
291
340
289
207
271
354
328
360
299
228
353
330
342
302
348
337
331
359
346
362
321
270
273
330
383
415
335
338
332
341
317
326
291
300
371
372
323
380
295
343
358
368
358
364
342
341
237
338
357
266
287
284
321
399
304
293
331
289
390
294
250
294
241
254
316
297
329
344
335
339
393
266
287
384
375
319
290
281
233
279
331
226
313
299
303
370
285
247
297
333
299
318
299
299
295
348
233
304
304
351
332
269
301
292
309
428
359
349
352
365
374
346
292
303
278
281
356
299
311
319
261
392
344
254
403
277
279
303
330
353
351
335
299
257
321
378
276
374
344
226
351
278
279
307
306
339
245
272
370
315
272
335
350
296
365
297
239
294
337
333
303
315
313
314
319
338
302
285
408
359
313
397
323
295
337
269
378
353
292
335
245
274
356
326
318
308
370
345
298
292
266
243
364
285
340
320
284
312
356
290
273
213
337
336
360
332
364
316
349
331
267
253
292
251
330
326
302
384
265
353
279
369
357
299
353
376
381
274
385
320
354
303
286
322
273
308
266
329
336
325
308
324
287
342
337
322
309
339
352
378
263
341
327
338
305
330
197
309
238
302
344
328
293
340
276
382
318
304
286
437
402
332
312
251
236
310
282
382
233
294
324
283
282
349
270
344
366
267
277
266
368
281
337
356
298
291
306
330
334
335
261
309
222
344
295
328
307
250
285
357
304
345
337
367
314
314
317
299
280
303
327
298
335
341
313
290
351
336
399
301
292
358
304
231
265
303
340
321
345
332
275
306
348
280
327
323
363
306
329
265
366
326
308
275
236
283
285
274
253
302
215
317
318
286
314
286
312
371
311
248
325
333
264
286
334
289
319
299
305
335
377
294
292
356
334
289
360
368
263
286
269
287
337
313
375
338
368
300
316
338
231
334
342
367
317
269
325
352
368
389
308
401
285
323
313
291
338
366
279
262
277
306
358
277
368
323
298
404
327
293
370
311
352
367
303
394
237
314
258
348
270
357
359
293
309
283
340
345
343
325
330
303
362
306
271
423
299
281
293
339
319
283
283
247
272
311
269
382
330
274
311
319
268
314
331
356
384
339
391
309
339
360
303
343
324
259
282
352
267
291
240
313
337
335
296
356
327
356
307
258
235
254
333
303
270
350
329
284
318
333
255
325
387
339
299
337
201
360
381
333
353
245
359
371
363
258
304
323
267
332
375
320
294
275
307
384
224
364
330
410
339
366
360
294
315
372
254
282
366
229
298
321
368
281
300
293
342
389
384
313
370
339
313
347
319
343
266
317
356
326
356
227
299
269
274
330
363
216
310
246
276
271
261
272
292
398
246
323
332
266
293
319
316
313
329
290
295
360
400
290
239
303
332
376
328
204
340
385
343
344
279
319
295
334
275
329
310
254
339
325
297
392
281
276
357
326
261
385
301
339
334
374
299
279
369
286
274
292
334
303
304
319
311
333
350
370
278
312
328
279
235
271
269
294
298
326
296
269
274
306
296
256
317
268
347
288
281
274
361
336
274
328
193
302
293
260
369
353
350
304
317
391
348
307
371
250
345
378
321
372
299
320
183
383
279
333
343
448
379
366
314
335
373
329
311
312
318
282
367
255
322
259
325
315
341
322
319
367
282
291
316
337
402
315
319
321
210
417
326
274
238
391
259
369
243
260
361
302
314
472
274
242
343
317
321
285
341
361
334
329
301
304
244
263
341
368
246
315
337
327
256
299
327
334
337
406
206
378
294
366
436
283
365
388
305
314
276
319
317
289
371
291
313
326
331
265
289
313
325
330
325
279
353
334
323
305
298
282
233
321
305
277
324
305
361
207
335
273
294
275
308
392
357
406
277
364
371
269
379
350
341
281
336
321
345
259
309
266
369
407
229
302
338
304
277
290
305
304
278
246
321
334
313
241
386
341
283
248
331
233
302
304
332
397
350
322
358
325
310
264
285
316
314
288
318
355
331
337
302
340
307
322
380
279
279
265
317
321
311
346
357
281
364
324
304
395
354
278
238
303
291
319
261
328
288
370
374
348
272
301
388
340
244
354
284
302
288
343
318
355
367
282
337
328
272
303
248
253
267
274
362
338
334
352
299
317
315
297
382
334
226
317
252
292
383
363
317
319
298
308
302
265
346
321
324
370
463
308
306
383
347
339
249
276
274
248
276
405
407
211
350
358
402
351
321
284
320
314
295
290
331
339
322
310
272
387
358
334
290
335
282
312
280
334
405
288
314
323
274
371
308
307
226
334
328
348
303
315
359
308
368
333
293
323
293
281
340
286
318
379
312
332
329
240
357
312
254
244
252
360
275
313
271
366
370
288
325
267
351
282
363
353
348
343
263
320
286
316
344
353
389
317
349
269
266
326
326
310
346
373
311
342
291
381
343
363
330
312
236
381
286
389
311
275
290
304
398
304
301
286
323
313
379
225
323
323
371
316
297
349
355
382
326
339
363
336
345
344
311
289
355
341
323
298
288
254
234
433
306
336
308
359
289
283
393
293
269
280
256
403
346
309
348
329
395
309
320
329
298
299
343
333
279
276
292
262
290
322
318
381
353
360
354
311
311
266
325
341
388
292
269
276
260
401
318
322
391
253
332
277
325
271
253
325
228
328
331
333
320
313
270
384
279
270
258
367
207
235
349
334
270
344
335
295
298
275
249
364
336
321
244
299
402
344
311
348
360
286
393
373
259
321
280
314
275
398
335
329
287
333
329
314
307
388
293
310
386
299
328
356
359
394
300
349
282
293
251
319
294
345
311
305
354
294
275
233
317
401
315
311
278
368
273
362
336
317
286
345
327
314
310
291
320
360
393
359
409
231
314
277
404
339
224
254
304
342
318
320
320
301
219
361
339
285
344
331
341
288
296
175
316
369
227
321
346
283
282
326
233
379
368
295
224
359
371
313
283
330
322
282
325
358
257
294
368
317
304
266
351
318
313
310
302
369
314
204
346
275
312
344
256
311
321
351
358
381
384
356
372
298
217
353
287
321
315
353
392
352
367
368
276
332
335
377
312
406
367
280
344
320
273
327
360
264
312
314
370
297
295
313
296
309
312
354
311
271
369
298
265
338
308
302
355
327
281
268
306
340
318
231
266
365
343
312
289
251
282
338
330
324
303
342
394
302
328
303
363
346
297
325
259
378
341
385
347
254
263
304
292
272
328
267
368
356
292
360
377
383
377
433
344
390
265
299
392
323
338
329
324
310
315
320
341
287
320
362
319
275
329
281
347
347
307
350
306
280
303
309
361
290
269
333
318
288
233
283
217
267
315
238
372
275
390
254
247
359
222
336
326
317
308
339
395
340
298
313
310
381
286
361
278
259
353
302
351
331
217
347
317
299
201
243
261
216
366
341
317
355
287
276
248
353
342
211
297
279
351
331
346
291
274
279
356
329
350
362
374
367
331
388
356
351
266
294
293
224
326
259
354
302
286
392
382
369
261
271
298
353
303
291
373
368
353
353
337
258
306
439
363
344
350
357
363
243
283
298
289
349
247
295
323
404
361
281
300
386
315
244
372
315
256
309
282
262
216
202
338
331
288
362
300
270
316
243
282
312
298
293
353
340
262
319
244
307
291
416
261
286
319
336
256
298
271
247
334
413
236
271
236
306
307
395
378
260
319
261
338
321
364
275
344
360
335
340
252
303
337
234
320
238
287
367
356
362
318
292
377
274
228
332
268
237
342
293
335
350
314
356
272
287
312
352
302
308
323
292
223
294
321
245
291
316
401
319
327
380
337
291
269
273
287
363
274
292
324
312
273
281
279
319
399
319
271
365
359
300
290
343
266
278
365
359
337
279
396
346
230
306
289
260
337
364
286
309
317
359
322
295
419
376
306
352
285
294
324
296
284
337
355
221
349
418
349
302
278
318
342
297
366
332
236
333
244
335
375
301
374
355
327
298
305
274
376
297
327
295
344
363
268
352
355
296
272
307
301
348
328
351
369
324
356
346
222
351
331
251
275
296
224
330
375
350
300
363
304
294
337
356
188
312
402
329
316
339
289
292
311
254
253
322
282
317
406
282
300
323
310
314
357
385
384
277
318
318
222
378
375
332
188
215
315
302
335
268
246
419
372
366
215
304
350
416
327
293
379
344
321
362
369
213
257
294
268
349
419
345
391
251
317
278
223
246
294
302
383
332
298
346
335
268
319
334
385
362
310
332
357
323
309
375
296
345
327
248
369
230
348
285
396
224
321
385
394
299
256
334
275
348
420
246
285
361
237
344
371
186
250
367
307
376
305
344
301
293
289
340
305
347
319
391
284
310
399
273
410
308
300
296
398
309
327
276
289
334
408
373
263
337
283
267
334
359
396
358
319
312
209
374
326
307
249
334
264
316
254
284
285
239
319
254
313
288
334
318
354
308
333
288
301
383
261
192
320
319
241
329
328
337
381
354
329
363
330
346
311
302
387
347
285
349
328
292
309
282
362
324
302
390
316
285
315
384
330
296
260
283
250
328
326
282
239
305
335
325
291
314
377
417
331
346
268
353
276
384
249
331
243
375
348
274
291
321
369
347
272
305
363
336
360
341
382
314
335
333
346
309
304
357
255
331
289
356
349
302
328
316
318
319
310
324
377
291
197
317
431
355
346
320
207
286
290
332
345
343
302
358
351
332
339
254
328
386
303
356
318
358
303
351
270
345
305
278
212
313
268
351
334
304
372
312
393
338
364
288
361
334
314
326
385
323
271
243
294
261
277
183
325
359
266
351
286
305
344
285
301
336
276
306
287
292
278
341
375
305
324
366
259
303
335
326
307
314
272
280
291
299
242
289
256
326
296
259
350
298
260
322
382
311
295
377
344
332
270
249
232
177
327
306
320
231
267
291
383
401
349
250
397
360
375
255
372
312
374
366
268
280
377
215
369
357
342
280
276
238
284
276
342
256
327
326
305
384
280
325
303
292
324
323
301
333
255
282
342
271
233
406
287
376
302
266
285
260
382
299
402
317
383
271
236
352
285
306
290
290
351
319
299
337
393
372
311
323
301
318
266
370
320
397
284
333
365
290
311
313
308
261
358
227
303
298
316
270
387
332
300
312
340
297
348
276
354
286
372
327
330
413
290
295
401
412
278
293
247
334
330
334
344
317
338
308
312
311
316
396
327
388
305
301
322
327
352
275
318
320
282
359
225
295
257
346
309
235
363
333
384
265
322
312
332
349
296
321
281
382
347
363
258
315
416
259
318
322
283
351
276
368
188
294
306
348
307
253
289
400
303
345
317
297
316
370
391
418
172
359
252
376
307
267
291
326
270
248
356
215
341
292
373
219
300
239
306
278
283
304
349
292
219
352
321
338
239
290
230
352
321
334
275
393
301
306
314
322
402
299
363
265
412
354
347
315
249
314
350
278
298
351
228
293
305
249
360
356
301
192
319
268
281
253
354
299
321
287
252
307
301
387
350
306
268
357
430
301
338
321
365
307
194
292
303
305
213
410
278
379
346
340
361
337
373
294
388
333
344
294
292
351
374
309
365
358
361
299
305
339
251
327
355
293
226
239
366
369
365
377
304
409
352
314
292
323
353
356
276
322
260
271
257
361
246
321
376
298
403
306
298
369
310
293
320
278
432
403
301
354
350
209
384
357
217
303
340
314
387
326
316
260
332
364
352
336
301
277
286
312
370
390
324
283
348
308
242
313
264
332
365
334
204
300
308
320
345
336
269
302
354
357
312
340
418
387
327
311
302
305
262
379
314
287
293
316
274
268
291
319
214
219
344
196
312
273
276
292
350
330
347
294
335
329
271
340
313
313
224
304
327
294
267
334
261
246
256
346
326
378
378
258
334
291
321
287
304
314
330
278
382
326
321
316
378
327
327
266
289
278
329
366
260
340
325
318
299
390
402
244
282
359
306
330
253
210
232
281
314
218
330
279
357
373
335
354
329
330
287
308
254
281
283
325
281
247
239
352
334
352
353
328
346
301
279
343
357
375
294
384
349
332
340
331
363
277
370
302
344
336
323
292
388
349
366
260
281
327
259
314
229
331
261
272
303
297
301
317
367
287
263
295
382
294
250
290
411
315
293
247
276
276
308
278
338
308
269
379
267
361
331
230
329
281
348
381
376
379
315
358
326
292
286
292
364
285
308
302
413
343
330
283
260
339
296
360
326
301
333
320
300
246
335
351
344
332
261
344
338
256
320
305
313
364
341
363
328
271
360
332
363
306
342
225
259
380
330
335
368
371
271
377
241
287
271
385
267
352
404
303
306
334
334
311
305
321
338
309
343
312
367
268
327
371
331
387
212
315
287
342
346
280
304
332
339
342
261
314
360
310
273
233
324
295
366
257
308
327
358
392
376
245
288
332
230
281
302
262
360
319
336
292
368
327
372
345
330
228
316
328
281
332
312
318
361
347
343
333
214
294
272
259
394
300
320
272
318
296
296
389
306
260
328
264
259
334
296
349
316
320
337
356
371
377
294
300
326
301
319
292
250
297
379
320
279
331
340
307
290
299
268
285
306
334
377
332
275
323
338
302
227
260
286
347
252
377
348
335
300
336
410
298
367
345
326
273
299
286
304
334
343
336
247
317
231
392
389
326
331
302
338
330
332
319
246
346
373
406
333
309
319
326
329
283
393
366
365
364
338
272
295
400
306
317
384
319
311
341
228
316
339
233
260
350
368
296
337
363
268
279
268
304
371
319
275
259
329
315
417
357
273
236
311
295
337
274
238
332
244
377
351
325
366
340
372
309
310
324
311
388
299
266
294
310
328
312
318
324
277
337
276
355
367
328
243
373
330
284
314
375
315
339
377
289
236
331
277
355
334
268
248
240
318
338
338
228
443
295
364
396
392
276
305
289
187
193
344
381
239
310
333
299
290
323
359
305
351
321
386
303
227
315
343
325
379
263
313
297
356
293
293
265
290
368
409
320
400
323
271
289
310
288
370
408
316
296
282
282
252
326
346
311
322
285
319
298
272
340
306
257
319
295
301
273
289
289
343
247
260
307
284
410
260
312
322
343
346
323
308
370
335
324
357
347
295
354
319
278
284
349
272
212
306
349
391
334
317
329
339
298
276
320
207
271
315
307
357
298
324
314
310
392
261
258
365
403
411
292
375
290
288
315
277
280
342
378
241
276
334
338
407
361
324
294
354
314
264
326
313
352
348
343
386
252
292
435
225
358
351
282
258
282
284
265
334
319
325
272
353
343
336
323
312
327
311
188
284
302
259
315
358
302
264
275
397
359
262
278
362
258
300
344
340
317
217
325
219
330
370
268
274
358
270
357
348
344
238
397
366
318
395
335
282
388
371
411
376
258
355
347
334
360
332
319
352
298
340
270
315
237
257
306
344
318
260
205
312
340
406
272
264
333
295
270
270
263
403
361
351
308
322
294
360
314
324
296
366
354
298
315
356
338
352
342
359
326
335
313
285
331
258
405
304
306
309
302
259
255
245
260
350
382
375
288
323
354
351
352
322
305
312
224
340
384
377
360
294
288
305
359
276
393
302
340
234
306
289
241
303
282
325
311
276
241
359
343
265
284
349
269
314
313
299
337
291
417
369
365
303
298
328
368
327
332
357
273
276
322
324
290
279
317
364
302
364
302
291
393
340
327
263
323
383
275
355
318
273
314
272
447
247
287
334
342
279
250
281
228
233
327
341
327
309
330
400
318
337
326
385
280
264
275
320
444
355
307
354
385
288
357
205
410
357
392
315
349
351
358
363
359
407
321
214
309
260
359
369
237
236
266
235
362
380
365
312
261
364
327
367
308
353
331
361
348
305
317
320
304
323
366
373
279
288
280
377
351
339
321
294
298
327
279
250
357
373
325
296
279
366
322
335
242
315
262
235
322
324
346
337
388
306
335
373
255
285
307
298
267
357
327
318
303
300
288
304
315
335
241
308
261
311
318
335
256
347
297
336
412
370
364
321
327
401
341
336
276
382
294
369
353
381
319
395
330
319
284
364
229
330
253
288
248
342
272
309
306
291
386
273
375
241
289
388
352
307
330
327
364
341
363
303
418
375
332
245
348
276
276
253
339
226
377
345
280
371
256
281
263
261
349
405
311
379
273
231
314
348
265
280
350
312
301
218
281
324
295
313
354
251
340
259
314
231
271
296
288
285
293
298
312
284
316
319
323
268
398
331
349
311
309
337
348
318
328
313
300
299
318
297
377
343
329
370
361
293
300
220
345
303
329
318
323
305
325
283
262
273
335
300
332
385
317
406
381
239
358
262
312
310
420
274
344
285
306
266
264
365
312
313
345
261
306
284
261
287
324
308
260
276
402
429
262
280
293
314
292
322
256
225
348
319
320
324
297
330
335
394
308
263
319
297
383
379
369
310
348
339
337
271
329
299
374
319
311
295
311
329
204
330
343
303
307
380
333
233
259
326
315
312
303
378
256
334
295
303
267
330
374
319
330
360
293
276
340
300
397
321
235
273
294
301
299
266
276
267
264
348
402
329
332
309
343
268
366
318
351
328
268
282
294
344
275
338
305
439
386
289
260
317
319
282
287
298
321
345
313
407
238
325
329
315
273
328
305
281
366
362
340
211
346
329
318
305
309
297
326
325
306
282
286
319
310
304
330
259
328
287
300
300
317
276
374
244
240
274
340
282
283
266
381
318
313
325
369
237
308
355
288
301
398
310
244
287
371
290
324
341
399
349
343
362
335
357
330
279
279
294
289
310
288
377
267
362
372
337
236
340
413
328
153
308
342
354
376
332
301
299
255
267
294
278
250
301
340
392
331
383
363
437
262
361
314
370
300
356
338
363
280
362
296
368
251
293
300
276
288
364
288
252
251
300
371
324
255
319
357
368
323
278
328
302
205
220
301
379
277
261
315
259
280
351
326
309
286
329
405
313
306
304
294
334
309
323
219
295
374
351
294
352
320
331
317
308
327
305
340
312
368
270
292
302
318
317
365
296
302
317
401
300
333
361
411
302
330
349
261
293
453
220
324
361
307
367
363
277
414
338
261
335
340
323
292
265
341
265
337
318
349
252
385
333
316
350
339
338
305
253
296
311
369
351
355
292
336
341
252
284
347
303
296
394
330
362
283
300
293
437
206
358
259
339
294
384
346
248
275
249
302
305
426
272
210
283
363
302
315
340
319
292
292
358
311
324
354
253
328
305
244
277
309
364
286
276
342
310
302
287
355
240
326
361
366
241
325
347
396
304
239
312
303
367
334
261
324
287
361
328
335
363
353
300
333
343
264
376
275
338
303
280
295
332
242
204
379
323
349
307
308
342
318
327
413
373
274
344
349
307
364
358
307
254
393
269
298
385
283
274
283
226
323
311
339
329
351
234
375
281
329
294
288
283
251
347
306
251
358
251
380
336
274
339
362
343
364
213
320
227
288
289
260
323
356
334
299
335
333
303
289
290
286
277
316
215
280
348
286
389
303
339
274
306
298
289
383
335
317
308
259
206
274
310
294
236
343
283
254
395
346
350
329
331
303
367
376
374
286
278
332
376
288
350
340
262
312
296
314
295
257
235
368
328
210
352
340
399
415
345
313
279
422
359
277
368
283
301
343
324
361
269
369
244
289
365
332
297
298
331
378
339
360
367
376
237
348
311
354
358
305
303
390
353
328
311
314
418
329
307
277
249
389
305
334
306
264
328
276
294
334
325
251
310
348
268
403
367
367
342
292
410
339
281
248
311
359
268
275
308
318
301
288
276
332
231
287
296
378
313
421
376
330
332
336
247
339
333
280
372
308
287
354
314
329
335
350
304
341
281
265
282
300
262
364
263
390
359
187
382
371
364
339
366
319
272
264
325
344
412
329
340
260
271
352
260
283
283
326
313
362
344
303
371
342
365
288
314
247
315
417
236
306
323
258
328
325
334
323
357
376
357
327
291
349
317
265
343
331
365
319
350
396
271
260
259
290
265
290
387
258
334
276
246
258
322
267
337
269
331
264
424
287
274
360
290
323
318
311
282
253
415
357
280
310
259
329
248
358
299
354
294
285
331
331
294
339
306
269
366
295
302
359
256
298
312
239
321
269
309
219
343
270
361
323
356
305
349
307
337
355
264
274
281
294
268
255
315
334
261
343
272
249
321
242
331
302
358
374
324
318
282
274
346
387
358
351
286
338
316
360
395
300
316
309
254
328
370
327
296
266
367
331
334
336
361
387
325
289
284
352
320
288
328
294
266
333
290
250
281
293
224
213
273
245
291
394
292
275
326
397
266
354
340
309
348
235
237
254
269
346
243
357
379
379
334
307
271
362
314
321
335
328
252
348
300
271
314
312
347
312
303
295
337
218
317
252
331
354
308
294
272
361
295
292
280
287
272
322
325
345
331
295
354
329
321
325
352
343
307
337
349
293
320
282
301
325
341
307
389
301
319
244
314
343
295
327
321
270
281
204
368
334
258
243
338
267
301
342
332
356
257
302
308
299
263
279
277
284
268
244
254
313
230
359
311
272
320
315
395
290
334
277
361
309
407
324
260
356
343
327
355
269
306
324
366
343
293
286
301
264
278
433
355
319
284
335
287
346
381
264
337
317
301
317
347
294
267
366
260
286
341
397
333
229
327
307
293
342
401
284
368
312
242
346
337
337
291
334
252
325
288
277
298
425
291
318
320
316
404
324
334
349
298
314
234
258
300
288
307
284
390
319
320
325
323
280
315
263
365
312
348
311
287
362
363
302
386
287
431
239
402
366
318
286
320
291
427
193
367
300
269
388
306
357
262
276
244
304
291
342
304
376
334
310
387
286
207
254
320
362
233
247
410
384
270
373
295
299
311
362
378
243
364
440
311
208
411
230
205
335
346
270
304
319
237
343
333
321
339
369
357
249
285
268
315
353
311
318
304
380
248
319
295
373
342
292
354
270
238
281
278
317
340
314
358
266
310
282
265
305
392
377
252
313
349
262
326
270
276
392
368
323
350
323
326
332
348
321
384
351
259
363
307
294
341
222
261
336
299
371
348
227
286
334
289
297
334
302
351
313
306
362
298
331
302
363
293
367
350
395
287
217
340
291
290
346
358
271
326
236
269
326
367
356
327
337
341
241
317
301
290
380
388
327
305
335
340
402
275
354
268
340
350
295
288
383
377
284
298
261
318
332
297
344
318
194
270
334
322
260
345
381
302
261
315
303
263
302
347
262
379
336
302
314
280
215
257
336
240
273
199
367
307
305
285
313
411
311
285
259
404
332
289
335
312
331
361
365
364
395
290
296
275
272
374
329
372
373
347
289
267
298
412
341
389
339
386
198
329
338
274
406
364
294
359
320
288
306
335
367
318
265
363
209
315
203
315
295
380
286
330
430
263
362
250
405
240
363
329
369
382
342
351
289
360
290
330
399
327
288
367
323
384
287
207
267
364
295
319
328
348
321
251
341
314
293
307
417
310
357
299
266
350
338
405
374
396
288
351
272
357
362
346
306
286
318
355
297
316
320
345
380
323
396
331
342
238
373
320
299
237
206
336
341
340
228
269
322
288
330
316
294
291
330
265
306
220
324
327
379
266
326
354
244
340
339
422
276
288
386
187
240
317
269
290
308
217
290
380
416
286
258
284
379
368
254
299
331
344
269
207
245
316
357
324
241
364
257
333
321
321
394
204
352
379
283
333
294
245
276
390
352
307
226
323
312
279
340
268
312
370
353
400
260
328
264
340
422
370
365
260
267
348
401
283
273
247
313
263
367
279
301
392
366
370
340
330
333
318
312
311
393
315
304
340
331
333
318
296
364
288
311
372
270
292
299
302
316
370
238
256
374
350
346
319
411
347
320
232
260
331
283
291
333
365
351
408
306
272
288
306
390
341
372
244
361
323
256
327
247
285
312
404
367
256
248
327
320
290
387
282
360
362
346
269
328
220
297
401
249
339
417
333
322
321
346
215
318
329
293
309
303
209
351
386
346
297
292
311
271
338
357
352
388
290
373
306
360
286
289
361
240
323
330
326
295
374
280
302
308
356
282
330
338
269
315
285
375
276
310
302
325
329
293
294
335
317
375
418
266
306
342
336
282
306
371
380
372
288
278
289
329
315
249
303
371
257
314
342
316
362
315
210
388
362
390
254
403
343
339
366
282
381
372
327
232
325
389
323
353
416
284
416
326
261
286
411
386
324
372
281
280
242
357
329
300
328
303
350
272
331
336
261
326
284
370
304
302
320
256
310
330
255
266
308
315
302
284
328
294
325
330
326
307
240
331
358
266
172
315
282
309
319
258
299
353
300
314
363
299
403
323
379
353
322
340
380
317
325
347
301
309
277
288
258
370
318
248
310
370
307
294
394
327
390
257
317
438
271
322
322
296
420
347
301
308
266
211
368
343
394
322
333
226
279
275
313
258
308
261
333
384
312
224
273
303
356
318
358
307
264
339
307
292
340
305
306
216
347
399
299
284
351
309
423
319
335
337
332
304
302
347
417
266
260
315
315
284
251
302
328
220
294
283
288
366
262
353
365
377
289
277
349
323
316
436
287
395
280
298
307
319
366
368
343
366
357
317
297
329
357
276
319
374
350
333
299
363
299
309
242
341
379
323
312
341
321
345
345
329
293
273
264
270
359
386
299
345
370
393
314
344
379
302
256
328
375
331
336
251
284
318
229
319
329
322
337
359
306
343
347
314
347
310
294
302
238
306
294
312
247
227
364
370
380
334
380
308
290
282
364
259
360
338
311
293
298
386
329
381
319
324
337
362
320
414
250
347
282
425
379
382
363
317
315
282
347
304
338
292
301
266
256
373
353
366
277
370
338
345
225
306
380
356
291
364
391
374
309
352
317
392
357
214
393
329
286
310
378
254
287
328
358
340
344
361
301
280
354
308
294
260
312
274
314
241
297
348
286
250
284
239
361
333
334
368
291
237
306
336
357
219
319
315
348
271
311
297
329
306
324
336
295
287
357
263
343
355
404
327
312
360
324
259
148
295
302
318
334
400
361
286
315
245
358
304
291
369
333
381
269
351
271
323
264
296
345
360
225
327
281
338
323
324
319
320
273
303
307
308
237
342
340
270
286
377
371
327
361
258
311
269
411
279
313
156
221
316
368
235
311
283
357
384
218
323
306
395
206
279
344
260
350
319
291
322
249
306
239
234
294
327
244
382
280
290
368
285
284
350
327
355
268
315
344
321
296
462
289
351
229
290
315
334
329
277
338
257
336
375
363
294
384
322
295
371
271
333
276
273
286
335
311
368
281
324
333
280
332
327
357
349
325
242
290
298
354
226
308
296
297
303
265
350
302
326
349
240
377
300
295
350
345
344
364
267
326
343
304
370
340
309
353
324
293
362
305
324
282
317
294
340
331
258
329
366
364
356
313
383
343
313
301
297
253
336
310
271
325
288
289
354
321
431
265
350
327
281
225
352
320
224
331
304
398
241
295
247
212
325
302
272
274
301
383
378
373
357
379
303
310
242
275
384
269
350
251
319
346
408
282
379
280
366
269
364
305
217
358
315
309
328
285
312
316
364
422
322
305
270
315
342
328
284
323
257
326
326
308
267
308
295
307
295
356
239
335
274
330
272
311
288
370
316
312
354
291
363
318
301
312
331
348
371
359
365
334
337
395
256
300
256
231
357
313
324
227
309
322
365
315
356
321
209
385
233
220
287
417
376
263
356
404
337
372
322
291
329
327
311
265
222
308
308
374
238
363
328
332
314
272
402
331
383
335
240
279
341
297
336
286
356
281
292
312
325
335
299
262
356
329
241
261
345
342
261
264
393
360
315
315
340
220
318
206
313
392
329
285
396
281
350
370
369
316
298
390
303
310
277
322
309
284
187
327
374
275
371
292
288
294
399
312
268
352
288
261
337
354
289
380
307
332
383
375
290
282
338
287
360
231
282
353
281
287
417
310
315
323
392
328
269
333
341
323
312
332
385
344
344
259
323
261
417
383
341
291
322
364
382
225
294
359
362
279
223
350
277
362
292
275
397
339
356
378
354
269
376
355
280
352
287
279
301
269
313
279
316
407
262
258
318
345
192
278
346
295
294
296
285
287
390
328
273
277
275
294
338
305
236
347
337
288
371
301
275
345
306
358
298
285
328
251
254
357
341
267
305
322
325
307
361
239
353
266
277
296
329
258
268
360
304
297
329
283
340
246
245
334
304
320
378
314
305
322
372
324
304
338
253
304
266
382
274
398
285
346
229
302
345
368
337
364
333
308
353
289
296
338
291
334
274
292
227
286
358
314
251
377
250
315
325
282
330
266
345
331
334
274
312
310
314
342
298
293
320
286
338
308
295
368
294
362
329
195
242
264
296
310
288
324
265
377
347
284
326
354
390
311
343
255
326
269
363
377
319
365
312
336
333
320
251
248
368
287
306
344
334
324
374
386
276
345
345
292
304
295
355
358
282
436
336
277
214
343
253
294
275
359
326
246
362
290
328
225
366
386
291
275
261
264
341
293
284
304
348
244
293
241
359
284
305
353
276
305
325
297
391
385
395
388
306
328
338
349
267
304
370
236
354
306
339
404
256
233
266
259
323
271
383
390
271
385
292
295
363
330
231
345
386
320
265
330
318
361
279
347
256
326
329
226
363
243
366
260
295
215
281
322
333
311
215
349
319
342
377
319
344
326
321
360
264
222
312
324
359
329
359
335
340
294
371
326
267
302
351
364
261
352
235
286
334
268
276
234
278
290
348
299
286
299
289
293
371
383
397
348
294
370
403
344
258
341
242
388
313
286
320
340
355
274
330
292
239
268
354
305
349
235
272
212
297
224
314
223
323
299
272
268
286
270
249
240
345
312
300
338
339
369
364
282
297
237
317
367
279
316
319
308
281
341
351
339
218
316
365
272
304
252
286
230
260
306
281
344
330
370
296
316
285
253
333
321
311
328
376
309
349
275
370
282
264
324
236
353
293
257
387
318
371
216
315
309
383
331
357
339
321
230
295
373
367
365
284
289
377
263
317
293
322
311
325
273
334
321
376
294
361
291
286
267
242
299
337
363
376
368
331
299
261
307
349
337
298
308
253
330
380
327
371
314
342
229
239
268
348
319
345
300
265
337
332
369
298
377
391
330
349
238
290
285
275
337
378
338
332
226
381
378
312
284
280
407
294
377
363
249
304
324
360
339
336
293
294
348
271
285
259
367
252
312
315
308
334
303
331
170
292
382
379
264
338
366
332
355
308
354
307
267
283
304
318
291
324
300
301
313
336
362
309
343
300
395
230
330
283
307
331
383
300
270
367
247
277
238
408
341
272
282
259
334
397
395
424
279
283
240
330
338
335
336
385
423
305
253
353
277
267
316
301
345
329
319
384
275
283
274
321
310
358
281
394
311
324
309
347
330
399
327
310
322
285
337
420
326
338
321
393
277
342
317
320
356
289
252
386
325
329
305
333
350
335
225
352
302
290
270
248
365
273
305
335
291
344
335
329
378
374
369
352
331
234
281
338
272
287
311
326
358
233
280
361
315
335
317
324
258
345
312
291
304
296
321
302
336
284
307
244
352
323
330
236
348
287
307
367
276
301
279
279
261
285
297
216
289
298
328
280
393
303
344
290
452
308
319
326
332
262
308
310
376
323
334
314
372
207
381
337
283
318
292
327
333
336
342
368
257
412
358
292
256
344
342
303
303
338
319
244
164
385
321
298
336
266
361
368
304
293
393
365
307
248
326
403
273
227
292
360
369
271
349
274
343
347
273
322
254
281
357
377
305
359
295
276
275
297
367
342
357
291
311
311
287
402
290
301
275
316
284
267
312
348
328
366
392
334
299
349
364
369
370
369
317
299
299
332
342
311
258
256
306
356
299
322
354
304
347
304
319
410
343
317
288
263
391
338
289
413
287
265
393
320
335
222
259
314
245
324
318
241
276
345
402
387
340
282
321
300
294
229
313
277
360
339
359
271
365
233
312
315
299
220
331
292
287
286
300
325
293
301
381
311
322
330
326
404
342
316
281
374
363
249
263
303
320
325
297
258
290
370
379
248
261
365
266
288
319
266
381
290
309
304
314
334
371
263
329
300
309
344
267
346
298
314
399
296
382
275
284
335
354
356
318
323
389
312
258
372
260
297
312
348
250
361
333
322
261
350
248
277
244
316
310
330
317
351
375
309
281
293
312
396
314
277
273
320
259
227
298
315
320
297
360
302
271
387
294
349
333
333
331
317
363
394
310
275
256
356
289
313
258
306
322
387
321
214
403
301
322
302
385
392
315
233
304
404
309
280
234
422
362
278
228
289
369
363
252
359
259
398
323
289
342
267
317
256
274
329
327
317
279
264
362
236
329
345
375
331
413
356
256
322
370
311
387
364
274
258
326
281
283
292
283
326
217
335
299
334
292
379
248
307
335
294
337
399
373
334
328
328
323
344
277
269
290
352
314
274
257
374
337
330
226
345
369
325
355
272
306
272
278
313
266
428
356
337
359
334
362
332
328
338
290
322
418
278
371
263
293
277
297
382
389
364
240
265
250
213
353
300
295
362
340
292
309
269
420
286
269
277
341
260
327
374
339
300
324
282
340
293
377
256
306
402
309
329
291
280
358
264
320
389
395
313
302
256
281
380
309
207
329
355
297
316
343
318
356
318
319
247
363
276
248
291
311
347
347
249
287
353
312
345
329
323
387
295
366
412
310
300
270
360
339
281
270
306
378
375
334
313
254
355
308
369
259
305
239
353
286
309
376
226
302
258
313
277
326
259
330
206
246
310
322
264
332
208
331
349
279
340
404
292
353
403
271
295
243
356
356
276
320
313
261
252
334
332
332
253
339
391
376
262
298
312
313
261
278
319
355
332
366
312
327
268
338
291
310
291
308
314
341
313
298
334
349
406
298
320
357
301
319
312
354
333
343
321
351
362
323
313
365
359
339
340
376
301
371
358
307
257
255
413
235
267
409
318
327
288
310
299
307
356
289
317
352
419
297
282
339
275
296
348
298
245
323
293
311
284
333
333
345
220
336
384
269
308
350
326
344
228
308
318
317
333
334
363
319
355
266
291
405
380
302
329
312
340
294
317
370
300
340
379
384
289
432
376
346
291
344
327
354
335
254
363
319
371
331
345
296
265
388
319
304
301
363
360
292
323
319
341
202
283
334
299
267
330
266
265
339
245
325
298
351
277
327
290
345
210
311
370
304
317
278
294
262
330
326
246
263
249
330
343
304
294
351
323
337
243
295
330
237
321
299
332
300
315
345
282
265
281
272
414
376
369
278
176
341
238
252
296
191
249
342
353
303
344
246
336
302
269
314
336
350
334
369
238
306
316
415
305
298
291
348
300
291
319
323
282
347
324
386
278
402
324
340
219
386
306
318
289
333
410
345
271
356
321
258
355
325
282
391
332
298
305
294
322
357
292
236
300
331
305
301
282
401
339
367
319
306
302
279
328
412
311
343
206
362
257
296
279
365
317
252
387
303
389
306
293
281
337
306
301
307
332
314
286
399
337
329
382
314
304
356
411
315
307
254
293
276
346
291
252
332
364
325
288
333
338
271
335
267
334
376
292
279
295
363
303
271
348
239
288
325
273
339
291
330
302
346
342
328
327
266
299
287
274
253
280
258
387
360
319
175
351
333
334
222
289
304
287
303
316
320
300
322
316
295
315
342
276
376
311
328
367
288
305
320
295
315
270
306
232
328
360
304
191
293
321
361
304
391
289
317
280
281
329
353
392
322
299
349
271
296
348
361
344
356
307
320
270
356
352
296
296
285
421
302
369
257
267
345
299
332
276
235
215
326
276
322
383
283
330
263
167
319
313
365
375
363
377
280
281
324
282
295
292
335
298
395
388
361
327
326
346
249
273
290
297
418
402
255
314
399
399
310
329
329
387
241
345
298
309
238
389
336
307
284
295
310
266
344
320
300
291
227
346
325
275
376
263
320
301
266
282
309
413
294
288
328
333
184
337
316
303
321
330
317
359
256
326
291
276
305
404
271
358
351
234
324
304
330
390
316
283
344
305
366
312
320
229
311
355
309
357
359
310
333
363
342
310
332
230
334
280
404
296
270
303
393
293
314
366
292
310
181
351
232
230
332
275
314
329
350
302
411
294
314
310
405
293
274
295
263
334
389
322
295
291
362
387
368
402
394
338
390
304
308
290
280
307
344
230
404
331
403
283
362
340
241
257
306
280
283
295
337
257
265
273
320
343
390
343
314
334
293
226
318
248
209
298
335
395
353
356
316
250
413
300
246
322
330
290
397
309
259
355
293
295
293
369
187
331
304
270
404
302
288
293
320
225
288
344
310
323
342
346
312
343
268
224
375
291
331
300
317
390
379
275
317
277
312
282
257
364
371
223
376
305
349
319
272
304
301
328
297
438
304
230
348
290
379
284
279
382
206
330
389
250
317
373
328
273
370
367
415
305
309
419
265
289
301
191
325
311
335
266
272
365
381
287
339
218
289
211
428
291
338
298
292
277
319
314
327
277
318
245
280
344
202
242
316
433
195
352
420
290
324
372
296
242
351
278
376
347
353
304
327
304
244
308
349
227
292
310
354
356
325
389
302
300
337
393
330
330
373
327
216
335
397
314
354
301
255
301
311
269
262
315
351
304
310
349
322
358
485
328
198
336
310
308
315
288
298
282
322
266
324
289
311
312
332
269
252
313
257
314
308
370
366
345
337
312
371
367
287
270
211
246
373
287
372
289
268
316
357
291
286
300
338
276
369
398
258
327
236
332
254
315
327
331
394
327
361
288
324
285
282
375
275
376
373
344
288
426
370
308
349
268
314
325
335
262
299
307
315
290
291
329
329
338
226
283
305
371
307
309
264
360
338
335
321
309
257
333
312
369
307
297
321
364
314
329
328
341
323
266
333
221
368
320
331
372
342
224
249
323
316
287
298
385
326
332
389
289
318
286
315
363
299
290
312
341
358
346
277
360
285
345
261
353
322
349
332
360
287
280
384
289
263
301
315
287
334
336
295
268
329
336
340
289
377
322
246
385
366
281
369
330
287
372
314
300
348
295
289
228
272
230
321
253
300
256
269
347
301
306
370
251
395
293
415
250
313
365
349
340
286
297
258
337
289
208
287
320
313
297
268
182
266
406
298
290
347
260
310
332
258
351
325
312
301
342
379
290
313
351
305
283
287
410
258
287
376
276
302
298
299
356
383
228
280
287
361
329
276
342
399
349
249
383
241
352
344
331
361
402
370
344
291
281
279
245
304
363
316
319
350
370
339
305
326
314
326
303
291
366
329
331
315
274
303
363
378
305
305
331
365
281
280
356
372
273
290
363
253
366
359
323
339
313
296
360
220
348
371
261
323
318
272
243
384
300
256
330
350
344
256
349
245
292
322
306
360
315
330
229
265
378
305
326
270
419
293
367
275
324
295
274
280
316
251
291
304
384
305
354
263
309
313
184
228
299
358
296
365
242
323
345
339
265
361
351
336
311
374
383
394
335
314
339
384
307
321
336
269
286
384
293
333
279
305
365
295
316
363
379
352
359
257
161
288
313
263
259
332
340
359
291
310
300
307
292
328
260
298
316
299
286
286
241
238
313
362
322
313
340
240
304
342
316
303
252
359
360
290
307
335
260
288
325
285
249
321
384
346
384
358
392
260
292
303
335
294
303
308
228
336
300
357
280
324
335
233
373
225
385
426
324
332
292
270
324
351
317
304
316
287
291
353
311
304
311
308
407
348
313
299
310
350
233
331
305
306
340
237
370
302
287
271
293
345
305
362
370
332
297
293
363
306
310
297
242
239
372
338
289
304
265
345
331
272
191
422
316
298
280
200
235
270
295
292
282
289
308
308
308
351
357
221
357
272
232
281
284
343
211
323
372
345
306
267
271
325
366
256
234
308
383
315
344
383
332
232
328
266
284
331
398
349
376
331
330
261
321
237
311
277
273
313
251
327
199
345
345
243
378
319
303
344
423
286
282
246
391
276
339
327
316
387
271
344
304
306
244
314
272
358
282
309
284
251
397
334
303
198
311
472
281
295
334
244
303
359
174
305
232
245
328
350
350
359
253
385
298
383
342
300
274
244
361
261
343
332
219
298
308
320
340
355
315
397
248
320
339
282
284
393
333
280
339
286
354
332
298
363
370
309
212
383
319
327
366
340
256
311
366
338
303
389
339
340
355
345
313
301
370
290
351
325
427
332
377
277
288
314
305
296
291
299
306
392
360
317
334
338
286
305
373
368
353
299
353
327
299
364
425
296
322
302
307
308
263
305
302
351
393
320
353
273
370
374
300
369
373
299
235
376
339
338
311
312
302
268
242
326
273
264
296
390
278
294
286
278
255
399
341
280
314
306
255
295
273
274
254
376
413
312
302
262
307
236
255
386
366
229
383
314
318
240
237
396
348
265
352
328
309
221
303
287
366
326
339
336
270
312
387
217
298
291
335
349
359
349
298
336
314
302
342
265
334
278
342
351
272
382
309
275
353
340
293
360
267
296
329
322
251
327
344
382
373
251
250
318
323
306
284
369
305
316
310
272
276
375
269
300
373
394
320
339
351
319
325
351
294
392
381
304
303
314
349
417
345
197
330
284
313
385
288
312
263
352
280
305
267
345
272
342
309
301
392
265
330
373
345
233
274
296
345
293
245
246
242
360
361
369
335
339
334
312
334
276
397
321
302
348
326
361
296
170
311
362
356
378
247
201
324
321
210
361
297
226
268
295
332
295
347
376
378
334
336
256
332
385
277
300
350
351
355
213
353
281
347
318
348
302
348
293
264
293
395
324
245
341
283
359
316
254
361
271
318
315
259
284
327
295
272
360
334
251
329
344
252
316
247
275
203
275
262
350
285
189
270
330
384
174
355
342
367
346
315
313
321
400
376
299
239
267
385
284
300
271
317
310
317
347
269
347
362
310
314
364
352
285
393
304
304
375
309
282
320
253
289
330
186
245
372
312
302
352
340
272
365
250
249
301
312
347
252
262
404
370
322
303
265
304
362
341
362
306
376
287
317
347
324
321
348
207
235
346
250
317
314
237
356
260
342
282
341
261
248
219
309
263
267
361
336
339
298
292
372
345
322
319
322
334
284
302
287
361
354
307
278
312
311
300
269
249
279
384
318
230
333
326
307
335
381
334
329
404
249
255
291
254
332
261
286
405
300
358
253
323
276
326
282
316
291
326
354
287
345
326
357
283
329
415
357
354
366
359
324
387
346
359
341
325
329
303
259
326
297
315
313
250
313
322
305
236
300
325
353
357
243
336
363
298
261
397
389
264
318
226
294
298
349
314
290
354
319
345
371
267
308
344
341
233
379
244
219
322
290
382
315
344
329
389
372
369
340
343
321
269
362
305
260
296
251
357
290
318
282
280
239
319
251
346
299
236
300
320
310
276
340
343
362
346
351
304
356
384
282
295
239
306
321
298
405
294
208
324
382
326
373
315
306
373
328
317
364
331
326
322
328
416
309
331
199
342
279
235
304
314
299
232
331
265
330
380
394
256
303
318
320
294
297
315
312
296
382
283
369
269
317
266
318
323
350
334
324
347
210
419
356
352
330
384
331
273
381
309
208
330
370
301
225
299
336
270
310
244
294
320
242
275
266
293
320
413
263
387
308
333
299
247
344
270
321
365
319
381
310
312
392
281
323
334
388
287
289
339
288
361
416
265
257
287
321
284
312
303
398
318
314
296
322
339
313
307
298
302
336
298
339
397
392
295
294
292
291
335
159
254
308
334
309
344
324
357
350
270
300
298
270
330
309
333
361
353
232
310
318
400
307
268
337
277
317
306
251
226
300
292
346
324
298
360
333
353
340
307
246
403
299
292
306
327
355
296
347
326
337
339
336
386
349
295
285
263
251
230
380
297
297
286
345
268
343
379
312
278
348
327
347
405
279
351
315
318
245
359
330
280
270
375
355
397
293
252
320
262
260
392
406
279
289
255
277
352
285
328
326
249
231
320
257
325
424
339
290
270
331
325
309
363
259
352
393
317
327
346
388
380
383
312
268
248
206
293
308
273
207
337
394
353
291
282
306
386
291
241
284
343
317
342
322
288
255
306
388
371
320
320
348
286
358
374
313
379
323
362
350
310
263
381
317
249
242
358
291
281
325
305
297
313
280
344
197
284
375
411
262
325
366
267
338
360
276
254
339
279
284
387
260
377
303
337
327
345
289
289
360
370
273
345
247
325
274
333
369
258
250
349
307
288
393
208
371
330
271
261
340
347
344
264
261
273
310
384
326
322
324
339
298
338
378
289
356
240
330
304
279
327
373
377
367
237
190
282
237
281
313
296
328
358
341
270
342
370
319
313
307
297
280
329
270
279
316
336
258
300
336
349
421
264
261
271
312
353
310
275
305
306
213
366
249
297
330
310
334
391
335
231
338
311
368
423
297
332
192
368
347
310
289
316
309
315
312
285
371
310
192
349
386
322
322
315
320
307
288
280
316
289
283
378
220
313
320
330
306
288
379
290
298
346
261
238
350
292
328
242
302
313
349
314
283
361
316
304
296
327
354
336
245
295
300
391
259
356
309
319
308
317
314
295
325
327
361
323
384
318
351
292
241
322
412
329
316
357
278
214
385
321
340
294
290
278
307
266
307
285
330
290
278
358
293
228
296
266
359
359
323
389
296
268
288
365
282
308
295
289
344
351
239
353
257
298
348
272
412
282
270
290
348
357
362
327
217
323
298
324
279
303
353
248
261
328
360
298
365
309
327
284
329
316
345
326
370
347
290
310
319
281
358
288
344
286
419
331
272
381
320
283
283
370
360
313
343
377
409
313
424
339
300
271
325
323
349
243
395
333
297
371
262
305
284
298
279
328
259
301
282
396
299
368
326
333
222
327
238
333
286
241
360
378
265
303
301
361
335
320
367
240
269
388
303
356
354
355
309
277
358
329
365
349
297
334
281
329
287
238
358
336
276
331
266
356
329
276
312
383
289
287
288
318
278
320
332
286
328
274
410
181
369
249
323
307
307
357
349
267
326
327
353
293
401
297
262
299
313
303
287
260
264
299
374
368
314
306
327
421
310
232
284
391
241
330
383
340
372
337
418
301
348
377
315
338
313
267
325
294
307
356
256
300
266
300
341
374
364
247
281
388
254
340
318
357
285
363
327
274
382
248
331
316
239
309
285
232
324
266
327
286
374
280
294
322
335
269
311
322
296
342
331
254
365
323
284
246
287
284
312
287
283
353
302
321
340
273
337
321
320
256
379
288
295
365
333
352
251
321
285
336
320
191
301
303
328
315
371
322
362
293
308
422
208
326
336
314
304
360
244
256
310
276
267
298
226
380
290
295
255
338
360
252
336
313
344
278
277
296
436
250
322
268
294
277
161
319
229
355
284
285
242
351
245
357
320
319
346
321
340
284
267
354
318
318
253
320
267
293
389
381
351
340
341
340
248
381
348
382
295
307
324
309
346
223
360
314
341
298
328
274
348
367
323
325
341
323
280
278
342
285
339
268
202
354
276
317
304
309
404
276
337
368
281
314
236
264
347
349
320
276
351
265
344
362
253
361
356
298
379
363
338
355
324
374
389
335
332
315
365
385
352
266
305
308
271
296
359
317
309
253
325
330
305
288
330
315
340
262
244
251
305
252
288
226
326
209
333
281
348
289
226
324
327
351
279
245
243
332
413
422
303
326
278
349
305
328
383
338
254
298
451
383
321
296
344
316
261
336
250
368
363
414
348
421
335
307
290
359
308
306
312
350
332
253
357
390
350
366
383
364
370
336
356
277
402
302
270
381
304
258
233
313
334
321
277
286
300
305
292
348
363
362
325
439
367
341
331
231
251
321
244
323
302
277
298
382
308
249
299
233
364
350
372
348
319
289
276
302
326
246
341
295
313
334
288
276
245
361
334
329
257
290
310
317
294
356
288
297
307
387
268
275
377
288
411
421
331
260
327
367
213
346
274
314
304
305
354
305
307
401
281
327
359
255
334
328
386
278
322
284
354
299
352
297
303
238
338
287
325
281
258
322
360
302
262
306
333
381
276
297
326
313
347
364
387
272
302
287
372
349
339
330
303
346
274
320
322
306
348
307
278
241
249
363
298
349
355
436
291
361
304
309
274
370
294
306
281
357
303
318
255
253
383
229
410
319
295
266
301
287
276
338
382
296
308
314
297
339
251
305
310
273
338
261
361
292
312
266
374
360
248
290
277
244
320
359
374
235
266
328
316
306
302
277
335
287
355
324
275
253
284
291
321
333
230
188
338
329
279
369
245
266
396
289
320
327
307
306
340
343
203
351
232
317
322
282
301
334
294
211
321
311
385
267
328
392
326
314
375
346
232
331
371
350
336
323
285
292
299
348
283
320
348
311
289
327
294
224
367
317
333
351
326
315
266
337
340
384
331
351
314
346
302
303
397
346
334
302
273
287
167
247
366
209
281
313
450
249
238
324
254
312
372
276
349
305
233
237
250
355
344
364
320
374
424
370
356
311
343
312
269
235
407
381
335
334
276
340
329
397
246
350
368
370
334
378
318
282
309
409
359
305
348
243
303
309
362
321
349
284
350
359
267
363
291
340
299
304
345
350
234
347
310
217
319
332
352
277
290
351
319
356
281
345
287
295
262
265
330
362
334
261
348
303
287
306
273
316
305
358
339
282
320
321
403
398
384
285
334
363
339
339
357
229
379
319
325
429
261
359
361
329
354
353
306
291
313
242
307
332
320
331
324
383
381
300
211
307
310
329
384
309
303
321
247
383
330
313
327
266
233
331
359
343
266
361
337
385
208
247
341
294
387
334
285
206
304
321
311
318
207
302
276
319
269
269
325
368
332
329
273
374
220
350
309
304
337
273
338
242
341
404
276
261
313
307
396
375
344
317
269
319
291
278
348
325
322
295
346
287
334
375
271
281
280
391
294
364
265
311
303
331
310
326
323
332
299
355
317
292
375
239
198
288
353
377
318
321
320
282
405
345
312
378
299
339
327
343
328
289
266
283
287
315
244
304
315
421
347
295
330
344
315
386
324
268
296
414
294
371
357
305
338
352
269
339
269
396
339
311
237
294
336
355
345
283
386
353
323
392
278
364
296
375
389
310
365
303
346
275
264
295
340
340
244
306
345
239
227
344
262
310
324
266
360
232
302
376
376
271
343
355
352
344
402
307
298
302
316
357
352
300
268
294
333
399
297
304
335
289
325
321
312
334
233
306
325
341
297
368
265
303
341
248
290
310
218
305
272
272
312
304
395
361
277
319
323
287
267
333
331
282
310
295
378
307
290
323
358
412
326
354
288
358
295
308
206
307
292
403
333
272
266
356
205
287
271
333
319
307
366
355
255
251
237
217
292
241
273
291
361
244
255
260
302
287
326
393
290
318
330
408
329
347
340
256
334
288
379
317
308
307
319
295
297
223
333
329
314
313
381
330
243
318
350
298
282
284
335
353
323
294
254
379
345
230
301
361
356
277
311
375
353
277
343
371
384
357
266
302
291
351
352
317
261
318
313
356
308
301
328
368
353
300
364
308
251
319
312
354
434
278
375
286
305
394
330
390
345
326
265
335
359
318
323
303
349
332
310
314
318
233
280
330
349
299
359
332
376
291
256
385
315
270
321
387
256
263
253
432
376
339
312
260
335
233
293
308
303
305
258
237
266
342
297
391
353
273
283
275
268
347
301
278
343
320
250
336
369
295
354
345
259
257
273
329
303
347
348
235
199
332
272
347
332
309
371
360
364
298
340
244
302
165
431
361
368
299
244
378
294
371
310
320
323
356
375
274
311
282
324
303
321
309
421
274
338
335
254
285
333
265
343
340
307
277
315
277
256
271
282
356
290
273
358
301
390
335
340
284
283
314
335
315
307
330
368
305
321
316
356
310
282
341
324
229
327
306
377
255
320
386
320
269
266
344
315
283
338
263
318
301
355
241
351
311
391
314
339
239
382
361
333
375
291
222
331
308
326
283
328
316
304
318
357
338
314
305
302
383
287
315
265
351
332
324
311
360
375
294
337
271
390
298
319
359
324
294
319
318
255
285
305
366
292
253
285
288
238
267
321
302
367
328
301
252
346
299
359
310
401
340
336
276
343
294
177
283
283
364
335
308
369
333
363
248
368
306
336
318
314
331
212
358
329
273
387
312
312
286
369
321
333
306
301
223
263
305
233
277
329
262
325
303
286
365
301
329
306
330
313
250
325
405
308
334
314
353
242
221
287
329
268
279
281
268
236
234
228
359
314
315
322
186
290
301
337
320
358
363
295
345
317
381
333
240
367
364
210
395
349
360
299
278
302
372
335
335
323
369
232
305
363
325
325
273
383
351
337
346
244
277
294
369
407
332
405
264
399
341
232
335
280
313
317
390
311
281
273
267
330
348
256
302
261
256
318
341
339
295
407
304
325
374
269
283
355
382
411
374
344
298
387
296
310
293
305
327
262
394
330
253
386
335
305
319
281
266
180
268
155
305
308
307
289
390
352
304
365
343
228
319
283
319
387
265
365
282
288
307
355
291
318
314
343
364
309
273
275
341
300
300
297
421
306
287
309
342
325
414
239
364
321
350
296
321
307
348
318
360
248
246
295
245
325
338
261
304
356
312
289
258
247
274
280
326
223
352
338
367
313
406
314
325
334
344
310
361
330
302
341
381
380
200
384
343
318
351
362
355
251
346
283
302
301
369
387
308
305
395
352
318
278
247
197
353
259
354
364
382
258
315
329
393
278
274
300
293
350
254
292
379
305
237
254
335
354
342
302
340
218
233
284
330
302
327
327
259
321
318
308
351
277
273
302
268
258
340
354
277
403
245
381
302
266
384
320
344
319
323
389
289
363
291
344
308
306
355
298
382
281
323
307
284
443
362
307
330
252
262
370
398
355
364
318
310
338
291
316
380
203
311
274
356
400
334
416
395
383
376
377
375
291
277
301
357
316
388
303
289
258
318
329
313
283
360
337
267
298
234
325
350
347
315
280
342
349
282
333
326
294
376
353
330
344
307
349
346
295
384
273
272
251
262
328
290
361
274
297
261
290
323
344
249
349
352
252
320
355
225
325
317
297
307
366
287
246
320
398
306
201
349
292
316
315
406
356
258
280
218
320
395
344
333
356
291
286
328
256
367
272
238
306
306
325
324
395
389
406
264
284
281
348
277
311
365
377
310
339
360
326
370
338
299
300
317
365
302
297
343
268
375
314
418
321
417
314
276
299
273
324
303
389
280
359
322
423
284
249
345
336
311
341
325
328
308
366
287
321
341
363
379
253
377
325
305
299
278
305
291
293
284
338
324
281
314
354
373
327
257
346
285
399
379
318
350
316
341
296
313
316
352
342
364
330
337
332
300
311
300
311
309
404
306
340
324
300
281
223
300
287
359
285
400
282
271
416
357
310
346
331
289
311
330
239
335
335
228
354
327
357
371
395
338
283
288
418
275
371
340
327
269
306
251
344
287
346
358
185
368
302
274
301
221
329
263
326
352
342
360
343
355
242
387
277
279
286
339
377
348
282
286
265
312
262
351
278
251
299
315
309
370
367
362
291
311
310
321
266
344
203
347
349
333
236
339
307
308
355
342
329
269
291
310
313
338
287
297
233
300
324
385
320
332
309
279
330
306
344
367
258
260
376
283
322
311
310
339
268
204
318
312
328
361
366
367
298
339
284
367
348
314
358
299
334
329
408
242
331
257
325
342
253
319
348
338
323
261
319
184
359
291
349
286
288
329
256
356
297
338
271
228
310
376
308
324
367
294
278
365
355
367
316
375
379
430
287
333
290
319
314
272
230
319
280
296
383
333
270
374
366
341
278
318
366
328
279
338
404
287
356
302
254
304
297
323
344
364
308
374
322
345
347
357
286
374
268
204
320
333
304
281
332
237
330
377
259
320
242
359
261
343
362
350
398
317
222
301
380
286
310
315
235
303
325
259
273
347
309
326
320
229
256
295
292
305
295
348
364
304
306
331
358
237
274
258
372
306
286
336
293
372
305
323
326
368
316
254
374
243
268
334
342
312
206
300
284
396
390
344
355
298
282
380
324
291
263
297
260
312
179
270
409
330
349
358
200
267
334
341
349
298
328
273
271
208
350
220
273
388
356
303
301
318
257
292
311
270
309
341
354
367
292
336
335
348
398
309
278
265
317
279
324
389
337
282
357
193
276
320
393
225
349
246
320
238
296
269
369
244
339
200
349
343
275
323
289
337
308
241
312
198
317
297
331
310
356
383
349
246
289
372
314
362
382
248
355
291
313
271
360
262
337
345
365
363
387
255
282
344
285
303
236
333
362
311
350
425
351
376
311
371
276
255
325
290
329
310
309
352
339
320
340
347
319
327
261
349
371
346
276
302
302
341
279
341
305
263
328
289
258
347
217
327
318
378
263
350
319
357
284
351
342
333
314
281
349
354
323
256
291
424
276
382
283
379
273
323
306
352
382
293
296
304
251
300
347
293
340
249
356
343
294
287
357
317
368
375
323
253
278
332
359
245
226
320
296
308
317
298
381
302
365
240
305
217
348
379
321
319
382
386
282
324
304
278
303
306
340
380
363
284
308
371
304
288
329
235
288
284
260
326
361
320
223
355
322
320
336
278
349
315
289
370
316
376
310
293
323
313
363
227
347
381
251
270
355
304
324
393
293
351
340
312
364
271
292
302
182
278
339
288
383
322
330
356
311
328
332
197
289
347
340
264
321
336
242
278
273
334
316
351
318
316
270
379
289
316
282
309
388
345
302
340
273
315
315
279
341
359
312
267
414
299
371
305
286
270
221
352
348
255
261
351
334
266
380
282
326
329
268
282
351
234
301
313
305
225
317
260
275
309
275
320
339
276
256
330
245
273
300
304
315
302
309
275
318
350
308
387
293
252
379
299
327
319
321
301
348
356
302
224
248
281
369
291
324
346
346
298
351
267
330
315
254
364
281
231
330
335
336
372
325
352
340
330
313
322
318
304
394
384
379
257
270
332
236
296
334
345
263
287
246
296
302
375
357
321
386
353
326
263
271
324
396
379
286
351
298
341
261
271
321
298
354
395
292
266
330
321
295
341
252
288
288
251
314
278
257
397
272
365
401
391
392
312
291
342
295
256
254
303
273
351
324
341
323
294
329
297
274
260
338
290
267
360
326
272
355
328
350
250
382
272
389
284
297
288
262
325
365
326
381
271
314
307
329
367
357
322
369
309
411
362
274
277
304
340
352
356
293
390
251
318
309
395
340
309
363
296
338
232
379
296
253
407
322
326
285
418
389
393
347
300
305
359
377
229
304
303
315
427
265
257
324
290
214
332
313
340
327
338
300
244
286
276
246
360
361
415
358
375
358
224
336
323
301
266
329
308
313
308
291
364
317
267
347
242
281
339
341
293
360
355
389
371
334
243
333
260
303
353
368
243
214
239
297
363
324
384
332
325
248
307
208
306
350
275
279
264
344
306
256
379
330
272
382
291
419
392
345
293
358
283
366
384
254
318
187
367
353
352
250
295
295
390
353
360
311
357
303
316
316
293
269
345
325
457
335
283
373
311
325
383
323
317
354
365
358
422
220
292
316
287
326
315
305
394
260
240
371
314
360
313
289
319
324
315
321
339
364
321
322
373
330
320
322
321
292
335
323
259
286
292
278
366
324
221
265
360
322
325
325
266
232
402
311
336
326
300
369
298
297
259
272
220
373
302
335
329
311
235
337
302
249
331
285
302
328
373
297
394
405
314
289
351
313
397
268
263
340
261
330
256
282
278
259
311
299
283
288
306
214
397
303
309
359
233
262
401
328
313
294
312
306
266
286
295
283
296
338
272
268
294
315
390
322
256
349
343
342
304
292
386
234
309
342
299
376
299
358
241
296
314
244
329
280
285
380
307
336
297
251
357
304
309
300
266
287
289
274
320
224
301
335
215
376
378
373
353
261
286
261
380
351
307
334
317
267
337
282
352
346
327
341
347
318
329
370
217
302
308
331
339
320
350
343
316
372
347
388
351
370
277
297
281
381
223
304
307
383
338
279
361
293
303
304
315
401
299
359
218
186
257
308
308
267
327
356
310
357
355
307
280
330
321
284
353
224
261
296
313
381
303
311
209
318
297
237
299
302
283
374
354
294
319
270
319
346
297
263
346
305
175
355
349
329
314
324
234
369
287
341
345
391
379
320
400
365
245
348
252
368
298
346
318
292
297
393
270
332
320
370
324
277
303
336
384
291
321
405
310
383
289
388
369
341
350
383
362
295
410
231
339
358
324
342
290
333
288
349
346
308
310
348
289
368
363
279
371
330
340
299
297
324
338
254
342
365
357
301
330
364
323
289
315
349
400
376
352
332
387
286
374
320
374
290
306
276
243
299
413
302
350
367
321
297
275
319
271
313
276
321
251
362
348
411
341
411
331
279
326
224
354
318
241
295
339
274
273
416
264
390
272
340
355
345
346
254
269
324
258
280
280
329
298
346
250
337
370
294
271
315
229
253
341
193
365
276
285
374
380
274
295
336
329
314
242
287
303
332
317
285
299
302
373
252
300
384
342
305
280
361
324
304
330
291
223
349
366
359
315
396
200
161
317
308
324
426
319
300
321
322
289
346
343
282
382
303
326
338
377
313
382
360
300
299
349
248
399
351
299
280
306
300
354
242
326
276
302
260
229
390
387
270
260
267
355
194
389
253
344
333
283
285
349
353
263
318
280
309
275
303
299
392
273
264
320
310
359
277
335
374
162
334
354
323
305
347
337
353
263
435
285
294
289
354
286
312
348
303
259
300
289
373
327
363
312
415
288
379
389
272
282
254
300
313
277
324
280
306
327
326
239
287
313
311
328
348
274
275
312
262
331
225
343
354
303
312
345
298
323
310
275
346
310
340
369
293
287
371
273
290
303
326
323
370
280
234
265
319
330
279
334
261
274
263
304
432
291
314
254
270
297
330
335
336
260
282
238
291
360
388
303
327
319
339
330
261
318
310
316
276
426
196
289
236
281
322
333
369
336
298
383
314
245
348
254
288
347
352
341
403
240
299
297
288
245
333
295
314
354
300
317
327
238
321
282
262
352
250
368
277
333
270
347
311
317
259
382
283
287
347
305
361
242
344
288
237
331
320
388
297
327
280
379
322
332
265
311
316
298
239
226
297
302
273
308
269
370
298
329
353
312
322
276
361
243
315
305
406
336
374
379
279
315
334
271
301
332
357
267
349
277
370
162
296
372
330
228
367
375
302
255
305
405
298
304
337
340
343
263
404
316
353
317
403
280
302
332
369
327
270
306
341
300
306
333
321
274
288
293
271
263
372
324
386
251
333
334
277
218
311
306
350
390
372
282
293
307
287
276
263
370
329
348
313
193
240
259
319
343
323
327
307
274
218
331
357
348
355
288
302
361
342
346
344
327
282
379
336
304
298
441
324
434
279
245
389
310
259
296
381
353
367
218
321
390
304
342
330
285
379
248
331
300
287
312
312
401
280
379
337
324
298
415
280
276
364
306
385
360
372
412
311
398
285
288
287
296
306
364
340
384
346
311
262
319
296
333
422
309
417
209
283
288
409
355
224
273
352
342
315
355
360
292
230
309
314
346
343
327
373
342
356
382
324
360
298
347
328
341
294
306
297
200
331
296
305
304
371
298
315
303
331
382
342
282
269
356
348
297
274
307
343
311
301
250
337
235
308
308
350
359
308
301
293
357
326
377
321
233
356
361
330
209
301
310
326
281
277
294
337
266
407
326
355
368
261
361
348
315
337
246
271
278
262
300
256
339
358
366
243
354
359
320
280
351
312
295
253
235
274
398
162
289
314
365
293
244
312
310
327
316
333
347
356
321
269
272
312
322
277
304
261
322
284
347
304
317
307
300
333
250
319
294
287
352
269
369
289
342
257
306
320
312
265
391
323
391
303
346
320
322
286
240
353
404
379
329
313
278
371
366
271
337
312
237
269
291
267
316
331
362
318
252
223
382
293
300
277
415
313
351
332
377
322
358
362
328
250
298
374
316
283
316
240
395
293
342
343
296
261
362
347
339
339
279
329
310
367
369
283
362
254
246
256
285
299
405
276
325
273
307
327
360
329
319
289
285
314
291
318
261
323
390
308
356
264
313
303
334
299
356
400
419
278
268
367
311
319
329
264
335
335
340
332
254
318
300
335
319
272
339
306
300
253
340
266
343
347
288
326
334
339
329
273
346
348
353
225
278
285
411
283
320
353
300
274
346
311
319
213
269
277
304
260
316
370
355
304
289
331
272
276
297
280
247
314
356
340
357
309
295
307
326
366
291
349
301
331
300
400
228
276
266
375
402
376
400
311
349
271
366
332
358
388
383
360
271
263
275
347
334
326
280
311
352
322
352
292
277
319
236
310
213
380
288
336
301
353
260
265
310
295
332
359
346
373
403
225
410
227
270
256
366
283
392
299
329
314
329
267
353
348
324
358
280
287
278
365
351
289
336
301
302
338
335
302
304
303
200
335
379
323
324
335
350
307
325
298
398
280
285
293
355
329
333
249
301
273
302
260
295
346
275
284
342
316
302
347
323
272
386
346
330
314
265
315
371
272
325
316
313
299
323
272
308
265
372
312
375
407
295
314
311
377
345
377
375
360
232
355
321
393
331
275
397
335
326
366
363
342
298
322
347
277
237
309
336
335
324
352
256
328
330
338
368
342
312
418
285
249
287
273
308
250
289
342
283
328
335
248
346
287
270
338
406
345
353
327
317
381
317
425
340
268
285
325
268
302
255
182
380
307
247
318
419
276
434
304
313
366
295
327
345
291
303
337
361
243
286
245
344
310
215
287
262
262
339
354
347
328
397
286
413
247
284
333
277
233
272
367
278
432
393
351
297
255
377
283
321
256
314
323
359
250
341
339
345
324
376
329
324
286
338
316
395
242
347
381
243
350
281
368
295
297
329
373
295
367
287
225
297
307
309
295
324
289
303
318
315
321
290
270
366
344
226
306
320
325
301
336
332
339
310
334
311
317
289
354
403
273
287
335
317
343
345
287
325
364
311
331
297
315
313
288
338
302
369
225
351
254
371
325
357
342
282
217
307
334
390
380
334
361
273
294
281
311
303
235
378
325
361
293
377
282
368
281
368
324
298
301
302
323
346
288
276
275
378
351
359
349
289
282
338
283
306
328
306
272
374
292
291
348
319
284
357
339
229
312
309
276
304
348
283
274
357
344
397
268
274
361
274
305
329
316
215
384
286
328
422
421
326
278
278
309
399
318
344
350
323
407
267
451
414
305
358
348
263
264
277
372
405
382
303
367
317
346
363
272
326
274
353
359
281
306
347
242
327
394
320
269
213
258
276
316
281
321
315
370
389
270
283
336
360
317
288
226
325
266
405
314
304
292
310
315
412
286
220
326
295
314
328
303
359
277
302
326
318
359
308
288
339
335
311
329
327
341
299
307
284
407
273
344
277
303
379
207
284
317
346
360
274
317
275
388
281
324
294
190
320
357
252
248
280
362
317
413
362
327
293
259
282
200
234
331
294
243
397
366
380
316
356
391
301
310
310
278
335
360
285
346
256
235
330
251
349
276
262
291
304
324
326
370
349
304
278
387
258
378
315
325
262
343
325
223
321
278
321
286
358
292
332
320
321
336
248
263
229
272
293
296
299
277
310
314
283
294
344
256
276
360
369
316
282
361
281
247
308
353
362
275
308
296
349
349
335
319
227
340
266
299
260
388
318
330
284
388
283
328
361
347
237
332
302
313
284
323
320
380
271
273
259
296
241
271
341
363
312
414
301
372
334
254
286
272
291
259
262
378
379
398
381
401
372
279
318
273
332
224
339
239
367
283
269
310
220
259
329
392
302
297
311
256
364
307
332
323
300
287
382
265
367
311
175
264
307
310
256
328
271
336
388
258
315
247
309
260
345
363
340
386
318
334
301
297
326
395
350
357
344
364
398
307
332
363
407
356
366
310
289
365
359
290
319
270
337
344
265
335
306
346
309
418
316
273
320
293
318
296
289
395
305
321
262
235
369
379
262
285
287
295
314
349
332
395
293
365
306
304
235
315
333
292
394
310
316
370
332
360
270
290
313
340
288
236
338
404
357
343
392
276
272
273
319
312
364
407
272
225
280
278
331
360
313
429
384
362
316
415
290
288
317
316
353
312
341
338
293
317
234
261
332
378
356
314
371
259
251
272
370
347
276
321
292
375
247
318
284
237
253
276
322
304
246
256
328
262
218
317
282
319
342
288
380
261
265
264
380
298
275
303
366
260
366
244
252
249
351
295
229
334
320
362
263
287
321
351
367
380
340
300
385
310
369
245
335
342
288
250
220
344
324
227
313
330
288
227
257
255
403
259
397
384
340
358
292
318
312
207
257
237
336
356
309
291
302
369
374
303
348
320
331
318
365
302
356
281
338
263
310
274
309
286
291
252
297
377
295
303
286
348
366
311
322
355
257
346
252
245
344
265
247
322
308
360
345
346
335
282
303
290
282
321
299
319
310
272
241
342
352
259
341
305
255
347
408
302
348
287
313
392
378
343
315
279
331
331
319
342
327
250
346
387
272
365
315
288
284
319
328
246
383
432
286
357
272
294
333
260
321
265
361
355
288
340
281
325
313
333
348
294
397
215
264
308
350
373
265
308
349
266
250
305
323
279
320
295
337
296
319
286
347
366
319
324
324
258
339
360
287
325
292
355
306
300
366
334
372
404
242
366
338
317
343
226
311
338
230
325
292
351
321
196
338
361
405
312
317
309
343
208
308
365
364
311
276
332
268
314
349
373
295
305
309
323
318
322
315
356
349
357
337
383
260
310
372
390
258
260
395
363
290
387
319
279
333
326
303
376
260
332
280
367
249
350
312
387
270
348
297
280
346
316
336
331
336
276
360
235
349
321
279
338
346
274
327
268
304
307
300
309
350
349
310
418
342
338
247
312
306
331
359
351
308
352
291
271
312
319
280
342
278
307
313
334
293
317
313
266
228
303
263
304
241
333
262
369
275
251
333
312
335
344
323
286
305
353
395
348
321
343
289
320
346
307
287
255
318
295
275
369
314
277
219
341
324
320
228
304
251
310
183
340
329
321
321
304
347
286
330
176
268
323
227
349
343
236
384
356
327
379
336
334
269
321
298
308
324
300
343
339
290
317
337
329
398
380
309
317
292
357
293
257
291
303
312
377
241
297
236
312
299
315
307
322
422
390
315
409
350
322
353
302
367
395
269
243
333
312
442
315
322
279
274
352
357
279
285
309
249
348
358
295
343
191
381
327
293
293
288
399
309
318
312
348
298
255
235
337
359
338
283
303
252
334
261
371
278
311
342
286
342
372
272
260
273
317
304
323
372
324
274
378
344
334
238
282
312
270
315
375
251
276
325
271
295
319
347
362
440
404
365
249
292
315
364
439
329
362
280
312
266
380
338
370
356
327
293
230
381
355
297
292
318
393
425
378
331
336
346
257
313
239
294
291
241
331
288
374
271
322
298
358
283
381
417
377
309
321
251
320
228
270
354
315
353
313
309
290
269
378
358
373
313
297
294
295
228
393
320
308
324
300
225
326
322
297
278
258
278
254
380
306
399
277
313
286
272
346
288
284
389
304
299
302
362
344
321
227
335
280
352
303
270
326
299
238
351
273
304
209
356
271
342
279
361
357
297
390
330
298
380
289
354
304
328
352
318
308
326
298
273
264
322
204
334
297
386
259
299
346
293
321
342
322
318
316
344
308
305
298
253
393
368
312
345
233
345
327
284
291
281
283
287
348
306
334
285
348
258
284
258
435
324
289
214
287
295
304
319
358
266
358
397
354
322
284
322
363
361
340
326
400
251
252
271
417
286
375
347
261
291
267
392
329
266
238
286
356
366
376
317
364
267
325
331
287
302
353
362
273
376
238
209
365
298
316
292
363
283
210
320
354
288
280
232
303
349
227
152
258
358
302
282
208
256
363
339
284
341
312
267
324
291
374
322
264
369
339
300
277
354
389
297
281
297
273
363
295
356
312
309
376
348
337
322
355
323
208
267
383
304
288
310
312
286
301
338
243
338
266
395
293
292
293
342
243
231
263
296
337
309
314
397
362
333
378
329
299
323
271
257
350
351
347
283
287
402
381
322
377
348
321
370
196
323
292
362
362
252
345
312
277
380
351
367
326
269
355
360
272
286
454
334
362
228
286
330
282
279
330
304
290
394
301
341
295
276
289
333
305
268
253
203
395
300
327
326
389
332
326
322
367
289
353
286
357
324
293
302
336
366
346
241
310
350
283
252
285
318
305
349
382
313
311
308
382
316
289
367
285
312
267
415
351
371
339
226
321
326
274
288
345
246
276
427
253
373
291
299
336
172
292
347
340
328
306
297
262
349
401
316
289
355
350
379
415
283
304
291
276
308
334
405
368
266
306
349
345
394
292
232
213
383
232
381
343
233
314
384
300
317
319
336
382
290
260
252
305
290
266
295
299
256
315
392
297
248
333
391
334
345
315
321
304
286
370
290
252
282
244
335
264
259
342
286
371
333
322
315
274
280
384
364
376
264
351
198
299
307
325
346
369
276
298
239
338
308
313
312
304
344
246
285
313
361
323
311
302
279
267
409
250
267
295
288
330
312
254
378
350
227
282
315
369
325
303
395
360
288
300
287
303
374
296
248
332
334
291
319
277
310
287
300
349
244
331
269
311
358
355
288
272
214
286
327
314
367
237
218
349
245
377
400
364
411
279
390
361
330
356
289
218
360
284
349
287
276
366
283
364
370
282
336
259
272
296
301
343
245
226
307
351
407
266
335
299
350
291
307
400
396
420
285
375
300
271
296
317
269
243
348
269
339
364
383
406
236
293
338
320
349
368
287
354
209
347
351
249
382
322
238
375
328
287
369
277
312
352
382
373
327
327
294
285
372
310
284
334
369
297
318
265
281
255
190
260
337
302
300
229
336
351
298
326
288
266
323
321
257
294
281
344
335
277
347
261
372
332
350
297
378
326
285
359
359
445
340
310
365
323
346
243
320
352
334
321
325
407
298
331
364
346
318
288
341
308
328
342
332
365
301
297
355
345
330
362
335
264
376
300
274
256
253
306
326
308
336
306
259
297
314
400
321
336
374
201
302
273
251
282
414
232
284
310
284
325
277
313
321
328
326
306
327
310
317
282
375
306
296
365
278
349
336
263
321
303
315
353
332
273
339
311
306
439
302
344
289
354
369
252
319
321
370
294
339
278
359
280
301
253
275
299
280
246
311
378
315
300
342
398
278
311
281
260
317
425
337
265
367
356
273
338
237
334
298
326
362
289
263
325
315
393
255
293
322
316
285
320
333
384
308
330
277
350
298
301
246
254
364
324
324
295
332
269
289
282
282
349
301
240
212
272
331
293
334
292
311
345
289
319
355
212
339
349
324
318
347
311
370
276
341
304
358
289
326
328
278
336
265
270
348
363
352
222
373
376
379
341
218
389
282
284
290
314
297
337
354
290
333
310
393
238
331
344
350
361
382
311
289
314
337
312
330
301
236
277
347
331
317
347
269
329
385
297
289
336
341
413
255
240
372
340
371
233
370
310
323
404
353
350
241
305
286
366
386
373
265
306
209
331
236
355
322
313
322
323
325
285
317
269
404
421
324
367
316
347
297
327
360
279
215
292
322
332
325
337
311
296
255
335
280
331
249
320
359
301
322
228
404
325
306
230
264
329
334
331
314
350
340
316
261
362
382
264
256
307
271
284
275
254
337
338
341
363
326
355
362
362
408
364
252
342
334
271
278
360
321
402
294
339
247
317
372
315
303
270
307
264
328
340
354
298
332
402
242
321
305
242
270
343
298
307
352
387
366
304
226
369
316
400
303
244
403
364
262
340
299
274
268
254
279
349
259
348
240
358
329
341
274
344
307
370
290
330
321
375
244
329
241
291
315
301
257
289
285
317
310
303
297
238
270
316
249
337
245
325
362
307
296
338
330
361
286
347
311
179
324
253
410
332
233
374
325
290
372
242
252
334
344
237
308
338
278
344
290
339
287
332
329
351
346
219
298
347
310
342
309
293
305
331
292
351
292
300
309
372
289
284
349
305
280
323
372
332
279
376
311
255
324
342
321
252
380
364
338
333
371
302
368
268
358
231
373
271
334
331
318
270
342
321
298
397
342
295
380
254
300
221
341
346
267
250
390
219
274
270
301
241
241
275
349
424
300
331
335
322
382
325
252
313
240
343
350
290
329
362
308
258
302
324
291
213
257
350
360
400
351
312
250
410
310
357
320
293
293
359
322
359
252
325
312
388
280
366
348
353
298
321
333
282
319
333
336
250
332
376
361
289
348
307
294
279
257
433
323
284
311
335
346
357
214
387
177
307
238
323
285
287
362
358
344
327
247
248
340
365
330
350
346
246
310
213
328
326
394
315
273
373
413
274
291
370
327
305
278
353
435
352
299
256
294
315
316
316
380
337
381
277
349
356
361
309
342
334
293
197
248
404
288
390
278
292
373
341
313
280
340
356
314
330
270
246
398
323
320
317
344
340
407
237
272
347
394
248
273
293
318
356
313
354
333
269
242
353
301
335
335
326
211
304
253
286
295
280
270
370
369
307
332
331
383
309
301
290
248
232
319
335
239
327
291
352
381
351
254
349
290
305
285
280
342
341
326
327
275
378
321
332
346
349
291
329
282
374
392
249
387
301
371
217
342
277
284
308
287
336
260
333
389
355
214
341
399
321
158
250
375
373
328
295
323
345
329
290
363
355
265
296
352
261
298
266
272
363
365
293
368
318
315
343
271
287
328
332
320
255
332
272
343
355
356
403
349
326
355
405
265
354
291
339
298
287
269
256
343
298
272
333
413
280
363
226
208
313
263
331
248
303
263
348
284
364
402
349
279
165
318
304
307
330
324
321
331
346
284
304
312
255
306
283
387
334
363
271
283
294
278
256
363
407
300
264
300
242
387
279
278
314
317
272
340
330
318
235
376
323
369
298
330
266
345
373
345
263
348
386
297
254
330
207
345
313
313
393
301
378
304
343
244
332
369
309
353
314
284
256
236
381
266
351
352
368
316
251
318
262
373
336
367
335
332
382
360
327
283
308
279
243
338
313
358
338
334
276
331
348
233
319
362
373
289
254
302
265
299
300
371
347
361
317
254
317
259
278
294
333
301
287
375
302
370
281
343
341
313
328
303
325
305
240
305
283
363
351
364
282
252
244
326
352
395
350
346
319
354
317
362
327
281
382
353
278
228
272
377
315
373
238
223
332
345
333
306
293
344
309
352
367
352
266
304
247
265
284
288
362
345
293
356
317
238
286
351
313
406
318
331
251
379
308
310
372
302
365
378
246
307
354
361
275
335
294
222
344
351
333
352
299
400
230
226
310
282
282
334
282
298
288
326
358
309
289
329
298
273
373
389
254
398
278
268
275
308
390
281
270
323
340
260
328
337
375
298
313
280
314
247
314
354
322
306
243
303
329
338
315
356
285
302
279
333
280
251
263
369
272
391
335
345
407
342
289
343
303
254
392
255
314
295
304
321
278
259
316
315
335
351
335
283
315
320
334
266
315
390
213
327
300
366
303
230
314
312
278
290
399
350
259
302
282
306
359
315
263
337
442
363
331
348
281
340
244
376
298
336
262
246
333
228
310
337
246
283
351
297
262
376
304
321
300
323
216
301
238
300
332
241
275
351
305
294
262
328
270
268
339
318
230
323
339
314
319
321
368
333
295
255
277
254
294
250
341
331
245
294
358
362
267
364
357
421
281
403
385
203
293
309
226
340
374
308
234
296
344
342
312
269
262
269
306
348
234
324
303
286
322
262
319
312
247
380
295
324
271
346
426
395
344
351
352
350
351
334
353
275
325
289
163
374
242
367
299
362
341
382
204
233
277
232
292
332
309
316
343
270
348
289
307
391
317
281
337
268
338
281
261
329
327
313
314
279
254
318
347
327
292
324
239
336
382
305
364
282
272
369
323
331
280
342
319
319
309
337
308
321
265
359
307
267
282
325
289
343
320
214
329
285
294
278
305
341
359
328
351
273
330
307
316
323
316
312
310
255
350
305
242
324
368
306
331
349
379
339
306
295
230
328
250
309
291
309
302
349
236
221
369
285
239
327
219
375
339
325
323
316
252
273
410
288
362
331
293
302
398
290
322
350
279
334
345
301
338
324
359
333
324
209
352
366
370
368
293
358
300
370
339
247
304
267
364
339
348
316
314
279
242
391
403
317
338
297
275
310
233
324
404
333
248
308
274
237
342
286
361
333
261
346
287
328
360
296
291
340
251
284
244
275
265
298
363
360
278
327
369
348
314
338
261
285
311
327
299
240
381
380
314
303
266
244
354
338
382
317
252
366
350
302
298
278
371
299
339
288
277
304
330
335
401
335
315
304
300
318
246
297
348
306
284
326
358
268
335
357
277
358
366
354
276
251
267
302
300
312
355
338
282
385
390
328
273
188
279
229
291
375
378
285
274
271
302
312
357
251
278
370
306
242
326
351
255
351
322
338
340
310
279
332
290
299
325
305
294
292
320
282
341
385
362
265
185
334
391
290
195
328
369
283
309
330
361
291
296
365
284
246
259
317
268
305
364
345
411
377
367
353
327
345
371
382
281
344
266
358
359
318
309
244
299
312
351
320
286
346
403
246
308
234
321
370
313
357
276
320
282
332
335
321
286
313
372
327
301
268
316
330
349
255
325
312
396
407
242
303
340
344
304
349
350
306
315
244
322
305
334
347
320
279
304
352
259
316
365
315
276
328
298
317
286
306
250
370
252
199
319
295
343
368
348
361
316
322
297
381
389
297
339
370
386
305
356
325
288
362
327
367
341
285
306
353
306
288
387
239
290
275
290
224
324
278
269
358
316
335
306
321
360
361
295
355
268
333
356
283
368
312
375
330
226
319
328
301
265
351
348
266
383
315
309
355
406
345
368
355
283
362
280
310
261
323
360
338
311
233
374
330
310
342
340
343
288
332
310
339
313
350
314
416
245
256
291
321
417
248
277
222
361
305
368
392
223
341
303
325
338
354
412
231
325
318
334
328
326
301
313
328
300
313
360
253
328
370
312
352
260
326
283
239
261
271
283
355
346
312
345
287
311
329
408
335
342
269
287
331
343
348
332
294
334
327
269
344
263
321
361
296
273
270
330
272
329
282
358
243
279
332
322
308
337
288
259
313
241
177
349
279
344
314
235
299
270
355
269
279
252
313
328
343
348
308
362
274
296
162
331
275
267
285
247
314
268
309
343
275
307
361
243
311
298
356
339
330
295
378
331
317
395
244
299
246
245
308
370
271
363
321
315
350
267
275
353
311
323
360
340
326
366
349
308
332
300
283
263
332
323
356
372
358
278
232
357
346
283
329
381
317
300
300
329
279
270
352
313
316
269
326
247
257
313
342
328
338
236
351
376
299
324
276
315
247
321
341
331
345
450
241
373
334
261
364
356
341
437
304
358
310
359
258
333
353
346
306
307
337
235
288
249
268
273
189
287
354
339
275
337
374
409
261
310
306
415
344
336
316
297
271
293
336
315
348
337
226
378
353
300
286
335
276
289
329
345
296
228
322
279
315
392
332
312
308
350
334
290
328
291
339
314
381
314
366
284
249
261
369
269
312
321
321
346
266
281
373
379
349
255
359
318
177
346
273
327
266
290
369
293
293
244
293
334
326
298
398
354
324
310
258
326
316
376
281
310
317
247
345
381
364
350
324
277
301
303
307
346
237
299
283
271
385
323
331
357
354
395
264
253
337
412
324
334
255
319
332
309
322
293
268
376
286
294
320
310
318
278
344
322
260
271
281
252
310
337
361
308
338
316
266
294
275
278
284
274
342
375
267
330
351
241
323
314
309
283
342
329
349
290
310
336
268
335
326
253
294
290
249
342
297
264
325
252
272
317
280
338
328
330
255
362
291
328
290
348
389
310
289
268
312
374
330
281
334
352
274
323
402
386
385
440
287
305
378
321
274
390
357
334
266
260
354
224
405
278
313
295
381
389
334
298
352
323
283
423
366
254
319
305
321
304
321
317
305
362
262
310
275
262
252
323
324
253
326
329
340
263
258
445
202
276
327
271
337
351
229
272
327
316
394
281
253
314
341
321
311
389
263
337
250
267
328
314
293
295
347
332
330
314
359
343
278
308
351
266
376
315
313
315
346
281
313
381
282
269
372
257
319
269
284
293
439
374
378
333
341
266
256
361
284
293
324
246
353
353
288
323
277
386
372
291
271
328
357
340
258
303
296
298
353
387
289
285
324
236
308
299
295
313
432
345
351
403
240
306
370
374
294
338
311
370
264
378
283
399
293
248
301
278
336
386
348
330
307
371
355
361
203
353
253
375
372
303
388
255
316
239
301
313
363
246
352
314
353
254
266
332
285
337
290
362
290
338
316
344
344
365
368
360
309
248
321
297
290
299
237
224
236
293
361
302
228
304
309
289
217
305
306
339
287
360
336
260
271
388
227
316
346
294
292
258
308
246
277
327
291
248
286
360
262
276
304
304
408
333
350
228
369
324
337
242
378
377
349
297
377
265
321
319
322
282
345
263
315
284
321
208
372
324
285
280
210
208
289
342
260
275
395
258
271
339
361
337
282
394
365
327
297
316
233
350
288
234
330
318
338
356
278
343
328
361
416
249
355
363
334
336
337
414
373
308
321
311
308
339
268
288
283
299
336
328
295
323
398
399
367
318
373
275
326
286
324
376
332
264
364
393
351
300
267
310
290
329
246
300
278
329
278
255
341
352
337
358
224
348
248
362
325
353
304
282
241
308
328
378
429
314
253
359
291
314
339
318
263
328
324
360
353
359
310
229
309
287
386
280
237
251
259
312
324
312
291
299
325
305
276
206
317
315
262
271
329
342
327
376
254
249
387
390
315
312
356
311
329
287
300
343
323
252
283
248
230
372
247
282
365
246
363
246
255
312
320
330
306
377
287
299
250
316
329
254
239
319
321
215
354
299
315
306
353
318
308
336
363
287
282
305
400
343
289
330
271
283
347
311
324
276
264
313
350
318
335
341
328
363
269
295
320
299
316
266
352
285
427
351
324
293
392
358
248
296
265
384
262
363
302
251
404
287
329
237
317
317
305
227
322
259
258
298
391
340
306
283
349
271
355
310
284
243
273
241
321
396
314
276
312
314
347
310
314
263
261
283
367
270
255
300
406
221
444
318
396
276
266
342
315
158
262
380
345
296
361
274
303
319
326
356
326
242
349
283
351
347
320
322
370
217
316
280
380
337
254
346
334
324
347
240
339
300
309
336
295
347
243
332
323
225
327
350
349
201
249
298
328
276
395
301
282
316
399
344
324
284
285
313
318
251
307
267
313
259
347
312
344
380
294
328
309
412
371
256
251
345
285
367
367
259
377
211
329
328
345
314
281
397
299
365
364
358
263
314
351
307
353
303
302
259
335
249
308
293
323
287
329
281
260
301
390
305
312
340
334
349
314
291
257
232
364
363
390
252
266
376
276
330
301
341
234
341
283
319
202
270
317
265
370
386
265
333
263
351
390
393
238
366
320
359
279
344
290
370
354
362
366
290
260
286
274
324
358
239
271
264
360
323
311
292
323
342
372
410
379
265
264
329
284
368
286
350
280
344
210
311
360
331
357
302
349
307
335
364
302
297
317
306
299
281
348
311
324
274
361
329
298
272
279
257
280
289
270
254
303
287
375
294
263
353
278
290
340
306
254
320
347
310
350
254
288
226
382
257
278
265
375
242
321
342
294
345
295
310
319
306
354
348
246
275
301
301
327
327
235
345
372
284
263
333
322
344
313
335
341
310
383
370
233
371
272
196
299
295
349
319
290
445
283
324
325
289
393
229
230
354
369
342
268
337
282
327
392
334
334
304
267
325
307
331
298
289
291
321
308
361
326
300
291
338
223
282
369
362
370
334
265
295
314
351
272
336
319
298
362
334
387
257
254
294
308
267
337
242
323
284
339
324
256
285
361
319
342
399
285
252
350
349
364
348
251
248
362
346
285
247
255
230
386
407
303
364
305
258
323
402
295
253
428
228
252
300
260
328
237
285
325
273
333
278
310
316
278
315
207
296
386
305
333
284
276
269
278
295
271
280
291
296
276
238
304
361
286
305
339
300
309
327
365
296
315
251
372
390
262
297
199
381
233
260
147
224
331
271
359
256
282
363
271
334
308
283
372
284
358
246
323
331
259
287
401
222
290
354
334
345
342
259
274
255
219
344
331
322
188
275
347
383
334
295
316
327
274
216
322
235
351
284
349
283
367
370
244
316
247
293
276
272
364
348
369
354
383
272
333
355
337
256
238
301
237
379
230
319
305
352
385
290
375
265
352
219
326
352
291
314
278
306
314
394
354
315
352
249
343
304
225
373
316
287
284
315
416
357
324
326
286
333
290
324
295
282
272
351
346
359
371
378
307
351
323
337
387
392
283
286
309
340
319
258
301
242
275
272
318
337
214
332
307
335
277
310
363
277
226
348
356
266
310
321
396
427
256
316
289
303
325
314
355
317
301
296
287
296
191
338
329
376
314
261
241
276
350
365
287
379
286
249
360
303
190
298
348
324
389
320
219
291
216
338
382
378
344
232
298
310
344
326
328
311
315
282
211
221
273
271
211
335
376
271
348
322
283
281
300
303
272
456
365
277
322
299
293
272
311
394
347
328
305
357
338
352
358
387
338
222
228
341
291
279
242
345
354
308
342
313
271
313
218
387
301
360
286
416
302
298
264
304
269
345
340
292
292
299
280
286
260
355
385
320
247
310
389
359
416
391
267
262
344
322
302
305
267
298
231
375
322
346
264
393
309
311
205
332
291
250
343
314
384
280
319
338
248
390
257
390
195
318
342
371
308
255
175
315
308
292
287
292
338
312
274
368
258
301
327
341
378
406
270
338
319
364
380
328
304
290
267
383
244
341
237
335
333
370
345
275
273
323
325
253
355
324
360
353
292
286
286
317
287
250
284
317
285
276
359
337
251
341
371
232
279
328
179
249
322
257
292
278
247
318
289
328
366
306
310
327
249
331
320
311
324
360
379
346
283
298
263
383
201
357
347
237
303
247
290
335
378
331
290
376
337
282
243
320
311
312
342
405
392
335
259
370
367
332
372
188
336
367
306
353
268
275
366
245
337
347
325
364
267
406
344
344
367
338
282
290
366
236
308
331
302
314
363
269
319
257
390
384
368
363
385
270
285
304
387
222
307
333
271
243
278
290
346
313
334
307
326
262
222
284
319
257
373
385
302
269
286
342
270
320
352
232
261
286
341
341
241
268
318
245
345
194
316
310
343
393
321
374
313
225
305
282
329
315
362
242
214
381
265
315
403
335
411
277
336
355
376
278
407
312
303
292
310
355
317
302
323
252
298
283
318
404
303
327
388
346
370
206
262
336
341
307
315
293
407
402
338
311
326
364
283
284
331
354
384
347
273
407
279
321
320
273
289
272
241
248
443
278
282
264
308
289
302
303
287
325
426
346
324
315
408
283
309
327
302
381
307
328
308
278
367
352
257
280
274
242
292
263
345
295
368
341
270
322
387
360
337
275
205
246
313
309
318
322
339
366
259
369
375
263
371
337
301
309
303
344
302
356
248
313
306
348
283
346
310
346
267
293
303
378
335
362
327
348
328
322
320
381
344
255
336
265
314
333
381
345
334
400
264
352
323
391
339
256
405
302
323
291
292
305
268
274
323
233
306
370
261
285
306
229
263
324
367
321
251
363
288
290
256
272
395
297
341
323
317
394
374
267
301
280
426
257
279
236
261
357
243
342
338
363
346
394
337
310
264
355
283
265
283
328
379
323
383
256
315
358
333
293
238
182
322
372
317
307
370
261
316
289
333
392
268
389
226
369
313
329
310
283
365
316
283
274
409
329
302
316
330
338
342
319
331
375
329
339
328
271
291
359
304
281
293
378
319
244
254
336
301
271
341
242
272
336
310
293
382
295
264
327
266
363
258
274
344
376
356
325
368
271
328
257
278
303
317
214
256
300
348
337
278
221
300
295
296
321
288
271
316
335
356
368
387
362
275
339
285
291
295
314
301
286
399
303
310
300
348
327
322
368
265
308
338
249
382
315
277
284
334
321
270
351
227
293
325
278
370
358
303
314
225
313
260
343
279
238
331
308
258
347
296
357
316
294
303
378
340
372
308
314
323
273
406
346
302
344
296
329
345
358
380
341
211
292
352
271
314
364
228
275
288
297
335
317
262
317
277
282
401
346
337
339
383
350
362
305
350
282
284
298
358
319
279
355
311
296
301
329
390
307
211
335
364
239
307
334
279
315
351
315
338
384
336
276
313
406
318
355
271
281
300
318
338
344
317
348
273
307
274
380
343
346
164
262
315
345
362
285
358
368
378
309
371
335
272
219
252
295
296
306
285
315
257
265
272
348
273
378
283
252
360
339
370
317
402
342
363
191
218
250
338
307
289
274
314
317
341
346
356
406
382
359
250
310
341
305
285
356
273
393
299
367
342
236
368
337
323
344
360
236
349
309
340
323
246
323
334
409
306
247
368
356
260
344
227
321
304
273
251
368
318
329
332
354
341
256
226
356
315
326
340
396
341
242
245
313
367
351
237
296
313
342
369
256
314
347
390
350
305
340
384
365
277
396
284
292
276
318
336
359
365
317
313
271
343
367
256
329
404
365
405
296
319
272
319
352
227
325
231
295
312
291
327
287
304
349
342
256
334
251
350
312
333
307
303
412
343
285
317
318
325
360
344
307
338
279
324
322
271
253
334
369
258
407
292
334
366
376
352
381
323
382
328
342
326
299
301
356
244
281
342
225
328
268
326
397
311
227
383
309
274
267
363
197
370
277
256
288
284
314
312
283
325
303
289
339
346
381
224
365
283
245
333
370
348
389
293
297
410
342
314
335
313
346
309
310
351
292
258
342
323
345
318
257
285
378
202
348
318
297
358
299
336
334
333
253
351
249
294
319
338
254
321
358
330
275
370
224
327
349
349
306
390
273
296
296
317
281
276
266
346
304
299
315
293
323
263
351
238
226
393
375
282
281
339
309
356
344
297
341
380
296
313
256
320
294
277
307
290
353
297
398
276
319
295
299
275
267
319
370
410
315
446
245
278
332
384
330
332
277
286
248
258
322
300
301
365
387
275
365
353
263
326
319
394
287
315
303
262
370
335
375
209
328
295
284
339
330
301
305
272
325
318
322
375
278
407
262
279
313
275
326
217
265
316
347
337
351
356
356
281
345
237
259
320
309
278
372
301
378
307
350
339
289
342
300
345
336
294
271
398
252
237
333
258
229
271
430
354
333
277
390
306
352
285
340
264
277
292
324
296
356
239
372
300
263
267
316
321
290
225
346
299
258
386
375
254
294
269
340
277
383
292
329
311
387
364
360
341
235
297
393
251
322
355
318
295
343
300
277
255
346
296
374
363
361
301
415
350
404
259
365
417
261
353
330
230
381
207
255
285
308
299
432
311
243
349
290
355
238
331
337
258
293
374
354
321
326
312
308
321
335
305
363
322
276
260
284
350
280
374
298
295
333
375
334
210
280
372
223
369
297
272
302
190
304
295
212
306
282
250
297
363
303
286
299
323
346
323
273
406
365
286
420
263
361
297
389
301
290
266
366
320
334
257
378
301
449
303
308
347
306
288
322
399
303
237
253
380
349
322
278
333
365
318
340
312
371
285
282
281
255
268
340
280
364
264
222
290
361
326
322
283
259
336
322
350
279
328
332
351
341
298
268
329
297
316
320
267
338
310
223
243
334
270
326
301
348
263
330
284
341
218
364
284
317
309
310
265
285
236
373
277
301
308
363
292
282
287
289
358
271
356
382
234
201
254
258
370
295
423
353
309
413
270
328
292
329
345
288
300
325
317
277
320
299
218
425
246
328
303
310
345
302
311
280
442
299
269
348
321
284
282
297
249
368
316
341
352
351
291
291
383
236
313
347
292
406
365
290
303
295
290
352
409
284
248
275
302
284
343
239
313
359
315
342
279
323
329
275
323
320
239
357
358
235
279
315
277
338
334
381
352
325
274
288
337
285
405
342
260
292
279
278
307
356
264
284
325
253
331
174
287
331
409
371
298
310
314
256
295
367
302
295
311
381
337
322
338
301
255
283
289
396
303
355
339
382
263
279
287
310
338
295
319
330
289
402
319
348
413
272
372
335
370
324
329
284
325
354
344
351
202
268
380
285
350
314
357
328
351
281
246
235
338
314
290
289
288
324
267
418
393
297
336
258
251
303
377
328
349
380
251
357
399
336
296
297
312
330
285
363
317
351
330
348
263
242
259
365
271
274
281
278
329
300
312
395
279
353
317
352
280
345
270
263
347
365
264
334
334
275
324
301
287
306
282
283
313
332
289
381
300
292
283
281
322
319
238
290
357
208
317
201
329
328
260
289
321
241
348
288
373
331
321
254
312
322
228
287
343
337
292
287
326
377
337
252
336
276
321
315
272
253
343
363
354
315
337
329
298
271
358
346
310
349
331
333
249
336
327
337
350
297
284
331
237
297
294
215
322
343
281
315
279
355
239
298
329
333
335
370
324
306
318
245
316
324
267
277
344
307
265
394
364
321
245
357
297
296
274
342
212
368
337
310
264
281
353
325
238
294
271
351
331
281
348
305
244
362
305
284
393
300
321
290
307
322
350
372
343
330
344
329
347
238
352
340
259
383
401
319
323
274
342
308
301
214
222
309
319
248
247
345
322
276
324
313
305
289
359
225
239
364
337
322
363
333
258
367
304
267
316
351
288
330
303
223
313
244
337
283
368
277
288
358
356
377
260
159
272
327
326
343
339
351
306
316
266
400
209
286
305
248
296
348
296
323
323
346
320
325
365
432
265
180
308
347
211
339
285
289
304
248
280
333
341
391
286
277
313
297
384
295
236
251
267
322
380
258
362
352
304
334
376
308
359
369
258
349
416
239
233
308
365
310
314
260
364
318
324
400
328
277
314
263
303
263
326
332
232
367
381
302
286
277
415
360
274
273
332
301
325
306
380
337
265
349
265
338
319
310
342
307
244
349
345
317
311
347
338
303
277
312
307
301
337
275
410
285
358
340
277
259
239
322
307
239
207
303
287
224
283
371
299
252
312
365
361
305
268
319
345
339
277
340
345
334
309
422
322
337
301
324
273
221
259
286
314
355
368
337
339
320
277
304
296
308
288
278
360
318
254
380
305
249
368
335
282
316
319
310
358
247
301
346
351
329
282
311
366
349
321
311
332
301
271
316
272
294
328
311
343
363
325
239
296
294
326
298
321
346
407
348
345
321
317
311
284
334
321
362
297
316
270
353
364
346
312
294
324
240
297
294
324
367
279
233
279
371
304
321
323
336
419
304
334
308
374
282
338
347
302
278
333
327
274
314
340
289
263
328
284
289
277
273
315
275
316
389
354
354
351
345
298
307
312
326
350
187
295
319
274
324
315
338
269
322
353
385
375
334
346
240
317
425
247
316
308
347
349
336
342
310
392
336
213
248
346
334
218
263
276
356
279
345
319
360
267
402
362
327
320
308
326
325
289
246
304
304
318
364
357
310
347
347
316
342
353
315
300
342
344
214
263
326
324
303
356
323
271
314
341
299
348
327
340
391
407
322
322
275
316
321
231
314
301
297
248
285
337
287
286
340
394
364
273
264
346
352
298
307
267
301
324
293
270
387
358
350
239
276
293
274
368
319
302
359
309
348
371
272
349
266
343
325
327
326
364
336
337
342
425
359
341
270
399
286
277
366
326
332
339
354
282
281
312
384
402
261
281
294
197
369
203
336
333
306
272
391
269
298
374
269
355
307
239
252
370
333
398
304
417
277
321
353
318
379
302
397
340
336
254
356
337
402
305
265
279
280
299
324
369
355
325
336
241
347
281
411
265
393
333
315
247
315
259
383
273
285
303
314
315
287
302
295
317
395
327
218
362
425
325
332
405
319
304
300
253
297
305
301
327
302
312
363
285
420
286
257
354
303
203
359
322
343
355
316
336
396
358
268
273
237
337
282
146
296
269
261
335
389
285
370
307
257
280
366
290
283
275
243
331
354
330
266
311
364
353
315
302
344
373
299
273
311
320
393
332
380
271
333
292
333
340
302
310
318
301
368
279
322
277
394
258
375
314
275
367
324
280
269
234
325
369
280
310
361
340
329
301
322
352
291
397
311
286
332
285
351
288
270
375
334
350
266
293
356
281
317
362
363
247
357
329
305
355
298
351
329
320
359
319
292
278
339
332
320
361
248
276
308
229
333
310
377
338
297
312
330
401
267
343
301
257
254
308
337
350
332
337
302
309
312
271
281
325
311
284
266
374
360
361
320
281
331
397
356
328
311
335
221
247
275
357
313
304
293
269
270
237
356
291
348
240
244
311
286
313
321
234
330
187
272
340
342
352
294
282
286
281
256
313
349
338
289
308
321
398
293
320
322
340
362
247
368
266
343
323
318
280
271
365
316
280
323
313
348
321
370
338
348
325
280
314
362
223
283
252
315
306
245
308
389
248
239
324
345
333
337
212
342
277
266
275
349
298
294
255
342
366
381
297
304
321
322
341
316
286
388
320
325
357
328
373
363
354
349
256
340
292
297
408
375
392
263
260
387
283
338
236
300
341
347
267
305
341
379
293
265
359
305
412
285
263
277
336
356
266
343
196
289
323
259
297
362
287
344
381
381
297
343
353
281
344
319
388
319
284
388
419
300
316
360
279
332
331
328
221
256
213
389
279
325
272
294
255
329
308
260
318
359
267
397
268
281
318
312
271
391
334
301
312
297
330
289
419
298
314
386
381
252
357
328
348
301
322
329
309
331
372
300
329
356
300
282
344
293
321
325
278
313
289
283
307
355
308
335
238
336
280
243
325
308
386
333
250
325
273
287
276
318
351
388
244
347
358
329
248
342
312
374
242
292
317
355
263
327
297
295
371
261
276
304
327
245
350
280
261
320
265
357
302
338
300
330
256
242
335
342
221
278
335
277
352
249
256
311
364
388
358
330
280
282
330
271
209
331
363
308
317
262
372
385
363
256
321
358
352
366
323
254
321
309
341
311
361
351
318
317
272
331
334
231
200
302
291
300
350
345
376
240
310
355
330
382
397
337
261
289
396
400
240
313
241
288
258
299
323
249
263
329
226
303
322
288
329
383
252
325
262
335
336
317
241
341
352
366
309
202
400
276
310
259
325
374
301
338
280
367
268
287
326
311
319
254
306
322
361
305
335
329
277
324
324
381
274
344
335
306
270
364
343
367
330
293
215
289
316
308
388
333
340
343
388
353
275
299
320
289
379
354
287
340
394
359
317
297
254
258
277
370
322
296
294
292
363
314
383
326
309
230
344
311
354
379
296
391
286
287
218
360
298
303
342
275
336
316
319
318
245
305
261
366
344
249
297
309
298
399
298
392
341
201
333
229
271
228
348
308
377
280
336
293
338
418
236
271
336
370
326
244
332
362
298
441
325
282
359
252
376
335
305
325
287
340
225
318
323
365
219
355
283
324
358
345
373
298
303
380
322
390
263
248
300
225
316
336
294
311
337
285
319
330
298
321
232
351
340
408
253
395
358
361
257
299
313
352
321
325
294
240
317
334
347
295
325
311
313
382
354
358
303
366
336
329
305
366
331
287
261
322
308
283
320
355
379
224
266
279
326
337
319
385
312
270
356
307
277
283
268
238
323
381
342
326
242
284
321
265
337
289
277
214
401
323
264
273
251
305
259
311
284
354
330
271
250
246
361
353
242
300
372
305
326
309
297
282
256
341
314
374
246
265
364
257
359
238
406
261
203
369
244
301
235
280
299
342
270
245
210
279
234
311
186
395
307
353
253
378
406
315
367
227
321
245
362
384
360
341
315
339
363
265
327
350
275
267
300
298
261
284
353
272
326
430
371
282
268
332
362
285
426
275
368
311
371
351
309
305
365
267
339
327
335
275
299
317
268
324
225
264
213
305
274
300
314
286
302
317
280
319
228
280
366
327
270
301
280
294
314
356
286
358
345
256
304
359
340
223
379
345
304
319
277
240
343
213
368
312
302
311
344
345
327
230
258
354
282
299
352
318
313
355
350
337
361
363
294
316
302
291
294
346
273
341
284
285
263
251
386
324
290
296
300
189
333
253
325
343
366
268
322
318
226
389
346
316
283
275
374
346
316
372
334
366
362
275
346
270
294
305
274
255
318
303
331
331
335
333
337
374
251
397
320
341
292
374
301
304
293
274
338
333
304
270
370
277
310
348
271
282
422
292
277
373
307
364
308
269
212
378
311
351
271
290
345
364
360
323
275
284
270
288
387
326
314
274
377
315
265
225
241
260
367
260
399
398
334
256
243
253
272
315
322
372
266
336
296
309
321
327
301
319
406
371
316
304
419
267
364
316
337
392
335
332
313
333
245
221
314
329
289
372
305
376
315
337
391
283
314
354
236
280
322
299
262
323
315
288
365
285
321
307
324
356
328
311
327
314
240
298
335
299
354
325
301
287
344
302
232
368
361
241
304
354
338
396
343
284
375
387
351
337
312
301
325
293
334
394
355
276
339
292
301
304
315
277
271
312
364
257
250
361
254
327
273
257
296
343
316
272
319
384
343
310
332
256
191
403
305
231
262
294
294
255
287
279
313
309
330
303
245
319
328
323
351
324
349
274
309
229
269
328
343
245
293
367
313
316
168
333
206
334
292
313
352
410
244
346
252
334
286
344
227
260
269
249
320
347
266
330
321
311
308
369
228
305
404
401
319
323
313
286
332
324
317
415
322
279
173
403
302
306
261
345
302
360
344
281
308
343
267
291
386
307
393
345
278
317
283
218
299
303
266
286
272
283
312
335
359
230
246
301
303
262
271
243
267
287
371
270
341
245
354
373
217
373
353
285
385
279
293
283
288
338
269
343
372
293
252
311
214
420
250
309
375
278
332
281
252
317
337
319
343
298
365
343
319
368
265
337
292
266
311
327
318
257
381
321
288
237
326
372
328
344
296
366
312
324
321
338
379
288
342
336
427
266
342
308
336
294
268
300
303
357
305
338
396
313
282
386
247
201
353
354
324
393
372
366
327
298
181
400
304
335
347
258
329
384
316
301
354
347
287
367
289
258
288
194
243
310
418
273
291
295
263
249
314
252
279
318
312
311
285
395
261
310
328
258
338
323
361
237
314
260
303
305
284
304
338
295
296
292
292
287
233
391
265
308
257
296
344
243
305
326
269
307
248
355
322
356
309
368
305
395
317
375
341
357
320
385
270
343
328
353
292
299
234
316
278
290
292
375
264
306
306
366
350
408
286
275
328
322
302
374
301
219
296
229
352
274
324
362
334
237
257
355
398
369
242
260
369
391
345
328
276
383
287
264
391
293
320
287
315
310
297
300
338
336
263
336
393
346
291
252
343
322
381
354
237
307
316
352
307
313
331
347
301
353
345
365
352
277
269
361
301
281
330
340
341
330
302
304
350
318
292
198
305
353
284
254
281
263
369
331
306
309
293
327
267
346
375
219
239
332
275
258
329
246
273
396
288
362
280
267
280
310
276
305
327
278
319
278
375
338
451
308
303
329
346
325
260
320
351
300
267
354
388
315
330
312
302
294
235
234
237
356
284
359
271
372
283
347
295
239
307
310
302
326
273
315
359
331
262
304
237
299
267
286
289
231
323
318
399
323
317
277
321
366
351
292
371
278
313
265
284
321
210
285
311
301
307
328
304
295
399
337
307
346
345
344
295
286
309
403
372
273
378
289
322
228
351
343
265
319
232
269
266
353
257
304
287
335
391
318
290
356
273
350
310
211
299
354
299
343
318
299
287
304
328
366
271
291
276
237
290
324
346
404
304
251
266
410
285
328
337
340
300
407
349
300
274
297
298
323
299
198
293
285
348
331
285
322
369
378
377
313
261
305
240
349
273
332
241
357
344
344
359
305
396
272
282
237
277
323
423
291
388
312
205
372
282
287
298
361
271
294
310
292
354
281
228
243
279
292
303
316
342
300
374
312
344
356
394
376
387
361
325
316
353
298
311
358
328
366
331
302
256
303
356
385
335
364
390
239
335
323
313
341
258
328
311
249
273
307
365
287
254
312
396
361
234
304
305
304
331
275
272
298
301
265
305
306
356
294
341
300
322
300
324
315
367
343
272
338
269
299
324
343
322
304
301
307
281
379
370
323
295
333
382
289
307
348
289
255
308
315
285
266
221
304
338
293
340
300
251
352
285
338
433
351
231
229
337
407
299
320
384
313
361
370
318
318
409
259
296
215
243
285
354
305
335
244
344
332
296
360
279
350
280
261
277
333
252
338
321
266
335
365
337
289
293
225
311
292
322
234
325
301
225
366
316
368
420
357
280
321
379
312
353
377
335
354
340
267
243
391
383
275
314
293
317
350
337
304
337
330
278
314
232
265
300
303
316
445
429
271
245
288
362
305
231
308
400
369
372
304
293
361
400
248
335
371
367
363
290
212
311
319
351
362
279
296
344
300
294
365
312
305
360
336
302
304
340
284
327
379
281
383
256
291
324
312
270
347
366
317
306
298
302
258
327
345
305
384
327
330
313
272
300
313
308
340
260
258
277
354
357
303
282
256
320
327
369
302
363
252
306
385
336
377
243
349
370
348
349
355
280
251
321
374
354
343
268
280
303
302
278
358
379
380
257
306
316
333
329
284
268
286
349
265
303
305
331
289
354
293
334
372
345
343
383
365
295
333
335
368
270
287
305
361
335
346
280
350
309
300
264
218
261
297
282
326
282
291
349
329
308
257
402
243
309
320
288
231
248
313
291
344
356
339
332
235
274
266
318
306
340
242
344
249
296
426
390
359
357
258
376
277
288
338
360
329
319
306
380
347
300
343
263
282
366
319
367
422
373
348
363
394
269
322
300
246
251
302
299
253
206
313
289
331
199
302
318
301
385
303
288
344
360
255
272
321
315
279
378
324
314
325
303
278
250
367
316
316
389
370
334
269
273
335
291
300
299
300
262
248
237
286
312
296
351
250
282
179
296
377
296
325
301
349
322
262
370
288
325
345
382
360
242
321
256
300
409
368
259
362
358
339
289
259
309
286
231
267
364
297
307
230
215
262
362
364
355
375
361
307
319
330
298
373
268
364
326
300
351
316
304
305
318
300
256
305
286
389
359
337
187
283
291
356
338
327
369
328
320
361
280
381
258
347
283
339
324
284
327
363
297
297
200
396
299
301
321
273
365
315
326
262
294
310
319
266
353
354
344
343
400
284
369
283
296
344
322
305
331
292
226
271
340
353
328
248
350
320
393
345
276
313
374
332
309
287
279
173
380
267
261
281
335
257
355
327
370
348
280
326
365
295
324
335
296
313
351
299
230
274
260
361
325
288
264
286
299
358
358
352
265
372
301
379
390
348
344
287
344
292
263
360
275
298
367
214
297
329
423
318
357
297
293
322
321
313
399
320
297
240
307
275
301
310
316
327
344
219
250
344
321
383
313
282
323
359
380
331
341
290
383
370
256
277
284
275
324
325
209
260
286
340
352
310
330
278
239
331
274
314
352
279
301
357
351
338
297
316
304
237
345
295
354
353
296
340
265
327
279
330
312
240
300
336
329
271
311
253
230
258
344
291
279
394
236
312
355
344
282
351
244
377
349
358
380
271
363
329
310
321
306
364
254
276
330
326
282
310
393
264
270
291
279
308
356
358
291
329
380
287
380
360
362
208
300
327
244
366
311
296
305
357
329
339
338
294
316
331
303
280
268
335
320
282
325
322
334
361
309
418
322
313
352
326
308
240
309
233
352
265
271
366
339
268
278
313
384
290
374
336
356
341
276
319
399
372
299
295
286
287
296
273
378
349
333
242
359
385
313
369
315
284
345
229
263
336
296
348
319
333
334
387
329
310
242
291
319
313
276
350
326
295
358
314
419
261
281
340
301
273
270
313
266
261
268
268
326
364
353
289
287
373
299
353
322
318
302
307
250
312
277
403
243
295
297
308
350
333
352
307
331
361
315
289
353
228
256
243
269
281
388
326
379
349
321
318
315
411
348
349
281
342
400
365
364
315
342
269
352
291
345
266
383
342
334
361
318
322
332
248
343
316
347
357
349
336
293
345
314
283
318
273
345
286
336
293
299
400
352
282
380
342
293
292
287
357
218
327
319
348
335
289
198
281
316
275
298
257
309
282
332
295
363
393
339
348
260
301
313
222
306
308
235
309
299
309
366
307
343
321
273
327
310
342
335
451
358
318
304
311
371
288
281
266
286
263
304
313
303
212
233
300
309
337
400
298
307
312
415
261
380
306
332
309
383
247
287
320
342
340
299
324
311
353
279
327
322
256
282
371
260
290
344
309
351
232
380
300
365
256
272
352
265
280
237
305
357
293
235
328
331
315
283
224
399
361
332
357
349
256
302
263
376
344
280
293
388
257
344
306
262
282
394
319
234
356
234
391
278
259
315
340
302
257
301
256
372
343
297
276
335
307
210
335
241
318
252
315
303
336
327
244
350
331
319
292
330
346
327
386
280
365
374
271
317
269
278
278
369
310
263
289
361
345
313
274
259
301
272
382
316
307
318
366
315
356
309
313
271
268
306
331
336
333
231
320
299
368
371
353
224
345
303
365
321
332
430
347
339
368
214
314
271
339
443
404
288
302
291
289
329
320
348
347
358
300
303
339
310
283
335
323
325
345
414
264
297
353
317
274
294
291
322
299
287
299
309
220
312
441
366
294
357
287
346
293
267
331
321
318
276
278
299
376
281
296
295
219
281
314
398
290
351
332
324
303
348
335
253
289
318
382
288
280
316
350
336
383
343
295
341
239
343
386
362
344
321
305
384
308
363
264
260
340
312
280
313
302
345
328
259
411
361
298
344
372
284
266
252
287
261
337
330
243
273
344
302
359
313
384
354
343
322
350
280
346
353
344
292
277
359
322
294
392
282
303
285
255
279
330
289
344
381
300
321
401
374
353
363
272
357
336
304
245
361
349
383
333
286
330
335
308
302
289
279
288
289
357
384
287
283
330
354
420
321
218
291
325
308
352
296
313
292
330
292
297
337
330
240
284
382
285
345
312
275
298
304
319
318
292
250
292
361
313
216
332
251
320
316
358
238
277
279
338
295
309
313
331
390
373
300
388
345
267
407
376
285
185
319
314
308
234
320
303
328
381
327
333
330
226
353
206
290
273
348
311
267
297
170
333
365
333
342
245
383
303
359
284
356
282
366
304
381
336
350
235
283
272
343
337
266
301
419
264
357
251
322
259
248
328
274
384
337
308
379
271
310
354
265
275
391
292
338
214
339
336
334
307
316
318
319
252
280
360
324
311
348
329
325
299
346
298
390
330
319
360
331
305
334
314
358
353
302
356
215
262
367
238
325
249
350
318
264
264
320
312
417
393
264
239
353
424
354
386
333
225
293
284
365
284
311
275
244
350
296
329
328
343
289
323
313
254
318
200
321
252
302
340
372
270
282
243
383
293
198
327
319
386
299
367
337
310
279
286
312
329
388
308
314
369
342
348
275
298
320
333
374
362
359
311
297
353
331
331
322
326
346
274
285
270
271
328
334
299
330
230
287
282
304
376
374
328
247
350
355
322
349
324
296
283
342
337
277
207
368
313
348
356
337
276
287
338
330
357
420
283
294
332
335
371
423
298
399
257
390
374
223
328
347
239
264
200
263
331
360
400
260
345
311
322
339
215
317
307
384
319
272
325
250
422
335
349
320
208
362
349
332
270
344
355
306
293
350
315
329
319
311
324
332
336
374
260
394
260
343
343
319
321
347
364
329
317
361
353
323
312
323
374
329
305
342
316
371
314
338
344
382
305
368
236
337
283
354
318
365
283
410
306
342
356
313
313
253
308
289
298
332
262
294
275
269
310
315
339
275
300
239
282
229
316
339
284
308
239
252
292
318
342
399
298
272
367
325
301
283
320
348
318
277
292
257
297
282
364
301
308
336
309
303
350
314
205
338
315
354
332
269
192
267
373
322
349
279
236
279
386
299
313
329
314
322
331
196
178
267
276
232
419
367
349
289
337
208
306
298
346
279
297
297
270
279
298
282
308
360
405
300
349
342
353
298
374
239
396
293
240
281
234
335
323
353
282
359
339
280
233
290
288
283
314
264
286
360
299
348
358
316
337
339
344
326
285
301
338
317
383
402
241
286
286
340
310
330
283
321
290
350
281
274
318
304
258
368
344
367
326
340
275
301
360
396
308
313
261
329
361
293
285
340
347
267
359
297
319
360
280
334
279
334
329
318
342
325
336
369
360
394
311
302
231
270
341
295
248
330
328
310
226
323
367
276
321
305
234
336
321
351
353
413
346
355
263
338
308
387
295
328
296
298
380
292
354
281
330
238
421
342
369
324
261
359
318
389
319
350
244
282
361
304
340
258
305
320
344
309
326
413
346
279
307
321
311
362
324
357
346
286
327
309
383
346
318
237
266
335
302
364
302
288
327
325
291
330
374
300
236
356
263
312
299
351
223
239
300
319
258
288
381
374
301
371
297
278
299
257
272
325
357
322
243
342
403
301
288
302
288
348
305
363
327
283
330
339
357
377
312
355
342
280
318
226
285
293
305
401
378
311
304
321
245
360
306
294
240
339
395
373
302
332
314
314
262
356
284
267
275
312
340
333
294
312
312
319
357
290
364
348
317
359
355
391
256
335
499
285
348
303
337
362
275
339
327
309
304
317
263
269
339
277
360
284
314
293
288
255
345
311
310
314
347
323
310
222
318
262
358
324
305
352
344
349
310
279
228
275
281
350
323
351
293
328
329
223
220
327
295
294
309
293
275
279
399
237
255
372
329
322
333
269
310
389
342
271
272
344
276
398
292
314
326
290
338
370
288
380
326
334
333
347
334
229
353
356
321
287
319
283
343
342
303
369
349
349
262
303
344
347
377
309
291
317
263
328
330
298
336
285
307
251
258
360
316
436
245
332
398
244
380
332
305
312
278
350
254
360
321
345
362
349
269
265
286
396
365
278
379
346
338
262
398
315
306
365
336
291
324
286
202
294
374
328
360
344
392
357
304
272
293
368
437
281
366
239
353
295
326
298
320
239
319
311
346
351
295
273
298
332
242
336
343
335
253
218
284
311
324
189
343
326
313
320
359
345
246
290
290
354
262
225
336
344
305
267
324
300
325
295
317
310
328
323
300
297
376
303
311
277
382
359
373
406
385
359
349
276
254
289
355
390
327
302
377
310
266
306
310
300
268
296
300
319
381
321
260
229
251
316
368
250
310
252
353
336
330
270
293
256
276
294
355
307
333
338
308
202
283
312
269
338
341
357
312
293
302
316
324
268
296
314
282
298
265
282
358
372
404
336
363
360
323
344
349
373
407
389
275
291
267
301
366
356
421
297
316
307
326
287
337
381
276
312
338
293
319
263
316
316
245
329
266
322
250
353
301
231
319
332
304
270
292
253
356
242
309
236
372
374
370
309
353
296
308
290
298
375
369
255
324
300
394
281
241
337
317
238
306
328
366
282
359
374
334
170
398
399
308
348
281
397
318
314
373
231
327
285
313
332
329
258
292
302
431
262
288
331
312
267
246
306
361
316
366
307
281
320
303
278
259
238
300
322
314
287
343
280
341
324
300
307
269
332
386
391
323
330
275
289
293
311
250
291
217
341
289
327
318
275
249
189
254
396
239
306
311
308
320
277
220
275
233
311
345
305
286
359
311
298
254
315
332
316
349
240
295
270
375
317
346
317
409
372
297
328
374
315
283
316
298
329
369
375
310
250
283
332
227
296
268
327
269
330
327
376
309
345
255
300
279
299
382
333
374
293
358
267
287
303
381
404
295
307
288
241
329
343
256
312
333
305
307
272
407
306
391
328
285
294
275
360
324
362
278
281
327
286
227
229
311
281
331
238
356
304
297
399
355
322
290
302
392
315
357
365
410
299
344
360
278
297
324
319
302
309
326
332
329
332
377
362
358
330
326
266
342
376
402
381
312
329
323
298
299
231
286
343
312
290
302
331
263
290
404
292
289
268
309
344
381
399
279
268
191
342
272
231
300
281
362
346
348
340
360
267
229
319
303
325
269
268
286
397
255
290
348
345
311
271
281
286
322
268
224
287
286
397
305
354
229
376
288
366
287
229
334
359
249
323
332
367
332
355
296
379
233
304
296
336
386
346
313
225
390
314
284
285
330
326
372
396
260
296
370
325
325
249
331
355
303
269
295
250
202
347
283
339
302
308
357
341
222
308
286
415
277
309
251
324
309
291
325
291
318
332
405
243
295
354
245
356
283
306
357
319
368
263
362
350
360
336
296
345
291
291
317
337
379
281
277
384
344
364
271
374
334
349
291
384
296
395
322
293
302
230
315
285
339
280
356
305
373
247
299
303
314
370
325
291
335
264
322
339
253
268
241
356
309
282
407
349
332
292
300
316
346
368
333
302
250
290
343
316
362
390
247
301
353
279
284
263
355
335
452
340
345
262
296
273
318
300
273
301
349
276
265
335
276
352
270
364
282
321
375
270
412
275
283
320
315
385
266
322
241
307
338
305
311
297
294
318
232
251
328
261
279
312
344
309
344
309
345
246
314
265
307
263
300
290
301
325
266
285
318
297
366
341
330
358
332
350
316
287
339
321
326
309
256
392
287
293
341
354
364
358
293
253
335
389
264
284
330
248
315
310
347
302
245
335
355
336
289
316
314
293
290
277
278
294
356
375
319
261
350
338
315
291
262
310
293
379
332
163
341
231
310
294
361
394
360
273
311
200
341
354
341
365
238
395
293
262
346
252
283
375
257
304
349
375
321
335
280
292
351
345
312
335
356
297
354
262
249
367
343
237
336
266
298
338
406
394
288
315
276
249
337
363
297
290
343
366
298
320
290
311
258
315
264
382
308
320
431
353
348
248
357
366
311
314
340
352
350
347
214
403
263
296
342
317
362
340
276
395
316
368
304
305
347
278
382
248
222
282
312
396
303
361
280
282
338
320
283
338
325
339
305
361
377
296
260
314
339
272
338
245
378
350
332
395
335
341
325
351
285
327
308
258
334
301
302
312
368
352
287
353
281
304
305
338
368
305
372
292
328
294
287
290
357
287
290
338
264
281
305
386
336
364
239
278
308
341
330
347
335
412
279
265
334
286
324
306
339
318
373
307
350
321
398
394
361
259
324
356
232
360
310
283
300
278
343
284
332
365
296
306
324
363
308
342
232
230
273
304
296
281
319
242
382
235
359
310
297
301
306
225
276
265
305
264
302
327
315
334
330
358
297
288
301
280
336
317
247
270
410
313
356
256
279
291
364
348
337
356
381
334
273
364
227
318
333
325
311
285
270
300
352
424
256
289
340
381
292
308
286
293
337
333
263
365
352
325
328
356
304
311
332
311
226
353
250
318
359
200
262
277
268
366
364
294
252
267
277
218
343
271
290
326
350
279
337
277
324
405
317
348
217
285
289
317
393
351
303
258
314
310
280
243
327
342
323
337
338
368
327
200
346
322
236
326
275
333
272
301
277
374
331
329
330
282
283
343
294
336
360
318
295
328
371
338
316
332
256
331
318
346
296
290
306
354
277
348
333
417
303
327
310
275
264
288
274
299
403
240
345
340
391
374
312
315
328
395
294
258
255
377
405
248
358
324
235
290
358
326
312
292
377
350
354
341
331
321
302
308
279
354
297
258
274
311
350
339
339
273
342
332
283
278
327
355
298
350
357
295
331
421
295
314
311
319
321
355
323
307
356
334
288
328
282
357
339
374
290
293
338
324
232
241
399
352
339
389
330
290
431
382
308
308
278
344
294
381
381
299
185
253
273
360
266
354
298
286
276
394
292
328
321
235
330
294
372
281
284
345
314
336
296
220
296
340
373
287
332
341
271
339
278
310
313
324
317
261
325
389
311
363
385
347
297
316
363
287
336
307
215
359
326
314
345
313
252
268
308
283
366
308
401
343
355
248
379
290
362
370
285
235
363
364
326
286
311
326
342
315
408
400
319
347
282
355
256
375
323
287
340
344
238
333
316
341
349
360
371
347
215
263
260
255
339
340
270
329
336
380
255
337
371
268
308
334
290
342
254
264
268
270
343
268
397
333
309
360
302
262
338
339
341
334
308
282
366
302
289
336
318
203
266
318
336
356
283
250
282
250
364
323
269
322
327
357
314
323
274
210
374
327
348
315
284
300
307
326
297
318
315
216
290
244
371
245
340
207
316
300
282
340
340
306
240
311
307
367
255
319
323
328
324
276
334
276
327
252
352
298
333
235
304
337
288
368
342
363
284
345
350
312
362
369
320
333
311
315
344
336
325
304
354
263
242
340
249
321
294
348
257
295
301
346
352
269
345
342
407
305
259
338
285
278
369
330
274
311
353
255
311
372
200
223
196
309
349
301
277
325
354
241
398
272
398
311
320
272
322
319
306
219
271
283
295
363
380
315
284
262
404
306
363
321
380
182
384
322
348
343
324
232
342
384
328
325
324
254
354
285
302
382
310
345
333
262
339
306
367
282
269
359
327
270
214
221
283
305
224
335
291
319
332
352
215
267
299
297
326
273
380
233
334
363
272
399
295
362
369
340
318
318
369
356
272
325
330
322
298
319
348
316
238
334
320
302
354
342
269
259
321
288
328
270
337
327
333
373
290
318
365
308
306
263
272
368
310
267
339
282
290
342
329
263
309
351
334
355
277
350
322
319
284
293
336
257
313
329
301
293
284
327
297
266
296
358
291
314
322
253
352
317
398
316
286
339
301
295
281
275
367
319
344
374
275
274
278
241
320
275
364
302
385
238
375
342
251
353
270
297
288
381
363
294
322
197
278
303
325
321
315
335
304
280
363
311
351
286
280
296
336
247
333
302
238
299
357
393
335
300
377
295
395
276
239
280
337
340
335
296
290
296
303
359
328
332
403
322
308
290
371
343
370
379
338
352
337
241
295
285
334
398
324
215
310
332
257
289
395
263
287
363
336
286
361
371
279
402
312
308
261
342
362
305
381
292
437
261
308
278
390
293
321
358
385
325
366
323
292
352
291
320
348
339
280
311
256
287
305
296
337
226
296
298
330
270
368
311
345
328
295
365
350
342
348
351
381
225
410
363
219
306
367
279
399
305
313
347
295
271
267
335
258
290
330
283
296
383
289
403
316
316
325
346
352
341
283
301
337
312
219
297
349
313
369
284
343
350
356
356
214
297
241
253
313
300
277
326
239
318
341
333
296
275
336
310
380
303
277
209
329
324
346
396
340
339
353
295
362
297
345
315
297
285
312
278
369
287
200
321
349
288
451
347
367
271
311
262
350
274
326
302
292
309
364
333
309
408
333
291
273
296
291
338
325
373
287
327
188
350
356
372
355
319
311
246
342
265
298
292
370
298
325
237
323
339
276
156
347
287
367
322
303
355
348
313
329
333
343
324
385
366
338
414
327
329
326
270
274
279
334
333
345
366
347
300
394
287
256
304
306
338
326
285
267
329
255
255
317
358
336
345
334
343
250
304
353
299
321
372
310
362
356
271
314
352
365
288
250
365
325
298
245
354
334
298
327
339
377
350
308
268
290
362
360
310
266
305
279
288
358
377
336
286
370
320
323
331
340
329
342
273
266
308
289
283
350
195
390
260
299
308
374
366
391
309
348
360
363
303
395
256
323
318
334
287
245
355
349
340
329
312
273
300
337
393
278
250
298
317
420
348
220
319
357
354
261
321
328
308
334
311
373
250
303
376
356
316
334
339
283
307
249
271
299
290
280
294
290
183
371
315
211
331
379
351
360
253
286
253
335
305
293
337
294
364
391
361
342
316
336
283
345
322
217
339
294
367
358
334
307
361
320
356
330
341
238
254
272
235
262
312
357
331
316
313
364
311
337
263
326
315
301
251
326
352
305
338
247
358
370
366
316
313
378
386
354
369
221
358
248
297
404
302
275
301
260
372
321
347
302
291
267
383
286
271
376
266
265
300
340
236
423
207
384
350
321
277
336
252
256
368
385
412
278
352
354
284
294
323
371
405
364
330
229
303
301
286
362
325
278
257
334
331
347
385
385
345
227
285
303
320
333
324
275
268
273
335
258
289
335
290
257
239
313
291
282
320
326
291
328
321
356
373
315
296
259
325
300
351
356
237
252
266
296
295
325
294
392
263
284
379
351
329
337
329
321
321
248
261
267
289
333
343
394
315
366
226
268
340
419
383
357
327
269
336
365
353
256
233
237
353
308
234
299
287
264
360
265
343
357
271
336
375
319
471
256
441
353
216
314
329
305
326
309
315
390
270
300
395
253
297
362
306
322
305
319
300
333
314
378
369
288
303
327
327
365
398
245
326
322
303
358
298
287
327
343
292
311
287
291
249
281
317
286
347
383
263
323
280
339
275
263
295
276
250
394
362
308
274
413
350
259
324
242
297
283
349
324
325
227
273
394
287
198
360
200
343
354
297
212
274
333
290
346
335
346
253
280
304
334
270
333
325
322
320
342
320
280
340
317
303
269
331
334
365
266
304
373
288
330
287
285
353
347
365
293
290
375
328
309
252
322
259
221
389
338
295
250
326
298
382
348
380
291
331
279
316
333
245
274
218
252
319
344
259
289
272
368
256
297
244
322
325
298
357
392
223
319
224
274
315
232
357
373
344
295
378
285
370
321
271
317
283
416
335
212
318
402
344
361
254
302
328
248
331
347
284
348
261
280
232
353
319
336
207
302
374
344
403
389
346
242
334
242
251
327
317
345
359
301
236
285
323
342
258
344
303
320
299
338
235
303
277
304
319
258
310
301
327
250
329
303
361
390
361
275
368
316
373
295
329
359
317
351
354
307
336
297
340
353
302
214
290
374
321
283
355
290
366
338
302
432
334
351
299
290
340
267
278
281
290
314
326
291
235
366
318
350
252
292
327
265
308
268
276
330
302
359
231
301
352
325
276
336
328
281
352
279
271
308
376
322
329
238
325
375
385
236
305
309
312
310
360
350
293
305
238
274
231
336
272
299
279
266
339
347
368
375
377
287
365
303
365
328
365
367
294
307
342
343
239
282
375
363
319
310
331
372
310
352
345
260
335
343
271
233
373
304
229
284
365
302
322
245
344
246
364
383
279
334
349
353
340
266
280
337
292
277
283
318
375
335
374
369
277
320
313
271
372
383
283
309
319
183
417
259
237
264
288
298
364
308
310
313
360
308
284
310
347
300
410
271
357
338
270
269
294
291
308
385
302
348
390
367
276
346
347
310
322
339
342
336
277
378
292
283
275
275
318
265
359
384
364
343
252
336
332
300
340
333
283
351
275
361
358
311
333
204
376
339
312
180
288
284
310
287
351
312
332
339
289
340
372
340
422
362
301
330
294
210
380
339
287
291
337
349
395
196
273
315
311
307
317
184
319
299
301
373
343
185
343
343
367
372
310
315
331
255
303
270
328
257
208
375
304
365
230
300
361
325
326
279
280
296
326
269
365
378
312
317
267
321
254
408
285
261
339
271
326
291
294
304
288
405
332
312
300
319
346
336
267
354
281
247
374
359
337
283
361
287
275
263
322
239
360
345
294
243
288
381
281
405
329
308
341
296
269
293
325
363
311
301
277
317
267
287
283
304
345
276
388
297
270
228
274
395
323
267
292
333
292
324
248
326
329
319
308
256
352
349
358
343
236
321
340
337
335
364
379
272
297
314
256
397
337
267
199
354
296
295
301
395
354
337
388
388
373
270
308
358
210
222
330
353
264
411
296
292
258
387
263
371
276
281
295
309
334
284
286
256
274
354
293
279
335
320
260
283
309
349
388
360
357
303
255
364
341
239
280
371
305
324
327
308
293
257
311
269
361
335
285
391
318
312
231
219
296
267
256
336
320
346
310
280
342
344
236
249
284
254
289
296
296
340
275
272
329
312
330
326
288
347
243
352
251
260
269
287
359
306
305
364
408
309
287
272
378
350
380
342
321
224
332
262
359
281
306
285
289
314
341
277
355
341
358
388
305
386
225
308
330
304
270
300
275
327
291
337
303
305
281
257
319
293
329
311
355
334
320
250
406
209
403
377
361
355
347
303
370
372
265
354
255
352
279
208
339
393
341
403
233
327
266
315
319
313
301
322
349
314
285
332
360
386
293
313
241
331
266
286
205
306
315
358
264
372
360
249
260
322
323
300
398
347
338
319
290
268
307
257
277
352
372
294
368
385
281
234
235
370
341
289
356
349
356
285
269
382
275
305
309
394
283
313
314
297
304
288
289
299
286
378
330
409
294
302
333
248
343
362
234
337
319
353
290
206
281
375
244
265
401
345
318
345
322
289
389
308
329
335
277
366
264
305
330
385
361
310
317
357
333
284
297
347
218
352
287
272
338
294
302
350
299
355
219
308
173
217
299
285
277
318
275
266
235
336
298
326
248
271
323
335
371
252
306
314
274
403
354
313
315
336
344
367
330
317
336
275
299
353
306
362
285
279
349
266
368
240
295
244
371
381
334
293
305
226
282
347
369
379
298
354
235
290
212
423
313
325
348
351
328
241
341
269
261
450
379
277
368
374
280
329
326
300
334
275
300
363
270
317
310
316
270
339
232
255
311
311
273
296
317
373
273
329
331
260
375
334
274
298
327
221
342
293
337
290
339
316
391
292
281
325
330
317
353
287
294
335
352
257
311
354
321
344
393
296
334
327
320
261
377
320
376
315
277
312
319
301
236
400
254
353
359
374
299
323
311
245
280
295
269
388
332
411
269
397
263
269
271
262
298
339
282
370
326
300
327
327
417
325
314
421
351
310
298
348
293
288
305
301
333
278
314
312
333
352
281
345
267
307
318
350
335
231
331
313
370
344
361
314
331
354
325
254
330
364
279
331
301
351
280
284
240
259
263
269
271
370
356
347
312
290
194
293
258
273
311
297
349
363
264
294
289
248
294
295
241
371
342
370
320
163
311
290
364
331
330
379
279
388
320
383
235
239
278
266
275
356
296
328
327
352
295
246
268
338
397
340
315
389
355
318
350
253
333
267
292
283
314
384
317
414
339
324
322
319
283
307
313
288
422
303
297
334
361
319
259
321
337
332
359
345
420
324
313
363
312
286
316
265
311
353
320
299
262
322
387
377
350
348
373
223
260
284
329
270
334
337
423
329
384
343
295
311
288
369
290
346
338
312
331
323
318
252
290
332
269
292
312
305
308
406
300
360
220
311
330
337
327
315
355
394
345
326
344
370
209
312
324
253
343
305
434
390
288
290
180
350
318
346
271
326
296
337
326
305
274
339
314
310
332
305
233
352
358
205
292
392
301
348
280
372
298
376
331
356
381
408
368
252
323
311
363
295
288
316
314
238
339
321
296
321
309
299
317
323
337
272
281
324
320
336
301
375
315
237
302
317
351
263
395
242
356
404
370
311
229
296
338
308
339
354
317
340
263
396
325
334
353
363
344
255
327
300
258
289
312
326
272
309
349
267
306
294
209
294
275
314
387
291
304
347
311
279
197
282
337
311
320
348
315
416
258
276
314
316
350
273
238
310
392
306
342
260
275
268
371
367
280
317
281
366
384
342
286
294
253
260
327
197
324
203
272
335
302
310
320
243
345
351
356
305
316
318
348
302
313
314
247
246
345
327
316
298
338
288
262
293
322
342
334
295
393
324
289
298
252
340
255
251
357
305
292
356
325
276
373
295
266
333
284
333
291
292
245
261
334
248
354
301
334
246
442
303
299
268
328
358
343
326
220
250
252
298
323
434
321
338
314
370
312
244
261
318
274
311
332
323
314
339
361
359
323
279
371
235
280
325
280
346
376
316
253
230
324
324
298
336
347
343
288
359
345
297
296
332
335
336
394
359
382
341
260
348
335
266
357
323
320
251
255
257
289
284
293
368
237
328
258
382
347
339
367
295
310
298
356
323
277
359
338
350
304
307
268
279
383
288
282
323
350
362
267
322
349
383
378
276
379
358
383
313
328
237
308
350
368
286
289
259
239
333
329
372
354
361
344
388
374
304
435
336
278
336
299
345
376
295
390
308
284
305
379
211
284
251
362
270
354
325
357
312
314
317
272
381
385
375
363
355
402
292
315
330
359
315
355
304
319
295
359
322
278
259
310
395
317
247
276
353
271
392
396
360
302
280
259
331
338
330
331
267
240
246
366
255
274
323
315
389
249
285
352
312
314
222
348
363
301
242
386
230
351
324
274
333
318
382
345
313
310
382
341
282
300
335
345
321
364
339
362
266
268
350
274
294
287
359
260
288
345
355
263
294
298
334
383
324
238
289
323
259
247
227
368
232
257
262
321
280
317
371
249
233
303
344
331
341
260
363
288
397
343
252
295
240
255
276
336
318
422
290
299
299
354
291
288
302
323
278
347
294
298
321
386
252
206
362
266
307
292
284
333
271
383
318
288
367
376
299
255
342
342
290
309
259
285
284
329
311
389
366
310
320
295
225
206
297
276
225
273
314
308
374
328
273
327
252
391
299
258
331
306
305
375
317
333
281
253
334
343
366
327
343
343
282
343
375
239
272
383
351
297
342
285
278
371
342
348
288
340
319
322
352
380
398
349
335
301
291
293
295
375
292
338
284
316
366
377
293
393
318
387
259
247
279
296
336
278
282
319
272
225
313
333
289
319
381
283
329
301
243
280
385
259
276
287
315
319
262
400
322
256
359
330
383
382
294
357
266
349
253
329
364
214
317
268
305
405
329
406
350
252
268
340
268
340
237
365
359
230
311
301
314
311
278
278
319
305
293
247
218
374
226
299
362
363
308
348
373
315
287
343
276
177
375
268
348
315
311
344
326
317
293
300
319
301
366
346
271
367
339
310
399
324
399
336
367
273
361
300
301
263
349
358
286
326
329
289
382
398
399
347
306
321
312
271
390
367
307
317
336
345
360
286
323
250
288
289
301
335
388
375
321
323
282
329
290
249
286
209
288
302
353
311
266
317
275
286
331
354
408
279
353
353
260
308
323
365
361
309
316
341
319
341
297
384
275
293
322
285
226
286
418
367
318
280
331
290
310
342
356
262
352
274
311
373
334
250
319
276
325
323
328
357
289
401
275
366
248
353
350
317
386
353
314
345
288
254
296
394
355
258
322
312
227
276
317
269
348
325
333
267
333
232
326
285
259
335
353
328
310
280
363
361
313
319
247
309
304
443
270
259
173
343
340
258
314
321
280
311
278
256
284
293
303
256
308
266
330
352
300
305
311
209
258
349
254
317
349
325
326
297
380
259
303
313
355
368
335
339
269
275
246
366
301
288
265
319
214
403
283
238
290
412
370
233
218
321
289
327
355
289
327
236
288
343
291
305
200
367
233
256
269
337
294
314
326
212
361
280
353
276
338
241
228
324
354
348
300
297
311
285
247
260
290
356
352
362
325
303
306
285
307
292
278
299
307
266
291
289
416
256
219
346
319
330
319
290
259
326
294
442
373
309
284
329
313
282
300
286
324
312
248
374
339
316
307
347
269
367
290
299
352
289
377
331
353
355
312
249
439
328
330
263
315
330
333
346
370
360
271
360
327
290
406
230
306
317
279
319
281
198
275
267
355
321
307
283
341
293
337
328
249
318
228
225
347
311
330
322
380
370
294
326
291
306
239
225
241
319
355
276
301
368
358
329
341
264
333
299
380
301
300
261
274
263
333
314
325
326
289
352
302
276
337
258
346
180
305
437
264
340
363
365
266
391
290
340
289
317
280
333
323
314
337
255
332
288
276
270
307
324
344
365
271
283
278
307
339
307
384
262
381
363
294
262
348
279
335
289
321
298
383
294
287
325
342
353
239
232
285
397
396
286
329
247
313
286
283
328
236
297
326
311
299
232
308
326
278
329
414
301
371
342
371
365
264
421
323
302
272
318
382
339
276
357
298
345
305
355
300
354
299
418
297
247
354
292
313
328
274
291
325
278
373
337
351
365
351
320
345
376
327
264
316
359
267
326
357
247
359
307
252
307
218
315
295
307
334
386
301
339
279
301
317
230
281
404
315
278
270
298
242
313
299
331
274
393
355
295
304
266
279
377
322
290
375
245
353
291
297
305
313
246
305
303
317
358
343
325
232
324
285
264
351
321
355
316
286
374
364
348
373
280
372
271
277
323
268
221
351
274
276
252
392
353
255
259
307
289
325
379
296
322
291
317
363
266
276
209
292
389
271
341
361
245
259
316
284
295
334
319
317
301
263
329
426
275
389
348
293
322
363
294
319
310
374
310
250
369
332
367
313
313
299
286
269
334
357
306
332
262
341
284
277
274
384
300
341
362
382
286
307
280
303
376
288
312
357
357
263
367
278
303
298
309
359
282
332
312
314
332
282
391
277
248
341
303
228
344
295
204
295
279
351
298
266
357
219
259
272
261
308
292
356
229
299
372
371
333
290
260
406
312
337
351
310
272
304
278
227
341
296
292
331
304
251
343
293
287
332
372
332
319
340
269
285
243
278
338
316
322
308
344
349
322
275
324
298
282
324
400
319
216
335
372
287
412
297
278
343
349
358
385
351
289
286
406
358
331
323
347
384
365
217
255
287
297
292
339
390
260
254
290
255
279
412
265
316
282
326
271
363
372
238
305
211
269
337
332
316
345
298
312
226
385
359
319
305
350
254
269
352
345
301
310
269
377
291
311
322
356
295
314
249
353
307
261
419
352
364
403
323
297
322
329
235
246
386
223
377
349
363
279
335
367
275
257
266
311
353
328
355
338
269
384
283
325
410
373
475
351
367
346
332
305
287
338
346
319
318
317
245
360
314
369
323
304
287
309
360
336
328
233
350
276
297
360
297
352
322
337
300
308
354
304
340
348
339
302
301
356
330
323
342
286
353
209
344
370
314
311
298
318
304
270
351
305
370
288
258
222
374
287
352
318
326
334
314
302
332
292
346
348
289
336
254
312
319
295
305
250
357
369
300
388
345
296
348
415
320
354
244
281
280
341
299
247
291
323
297
343
296
285
295
345
325
283
305
319
318
313
268
311
280
327
283
355
339
311
293
296
376
351
379
365
308
382
344
321
254
345
288
290
281
279
275
365
288
326
309
361
349
317
354
318
348
284
309
316
339
285
210
312
390
307
329
328
382
255
314
460
363
300
350
324
323
287
355
382
301
286
373
347
349
338
295
317
247
281
328
253
310
326
300
301
283
338
285
389
258
365
298
252
350
322
299
334
297
309
303
287
350
339
371
363
232
258
312
287
288
294
331
351
326
287
328
361
275
221
380
353
384
241
348
330
294
345
325
373
307
285
387
291
372
309
372
263
307
300
274
294
290
280
295
344
342
262
321
330
292
324
292
254
343
274
405
306
370
308
340
256
370
389
318
343
286
311
290
330
336
260
312
305
363
355
368
330
312
301
320
359
303
338
358
374
318
333
280
242
246
315
271
351
338
287
377
284
306
361
285
318
308
255
323
274
230
316
287
386
274
335
340
303
293
286
391
327
327
256
360
242
331
235
311
351
310
301
233
294
259
346
314
268
237
386
332
312
267
256
318
285
334
337
351
338
358
213
298
316
360
271
361
265
304
277
345
363
313
283
302
348
187
331
299
321
324
393
355
288
303
275
322
324
334
278
315
381
281
344
277
240
366
284
274
348
348
299
341
383
355
314
326
195
310
308
325
336
299
398
339
345
292
288
278
332
297
300
285
228
353
326
301
312
260
294
361
325
304
377
287
286
307
267
275
249
321
354
303
318
334
375
329
339
397
312
239
254
269
377
317
389
288
259
359
368
202
320
235
243
264
302
319
314
367
254
281
410
264
297
318
364
317
354
254
336
251
363
272
318
367
356
281
340
288
313
321
313
387
383
339
333
265
305
360
319
295
293
285
398
295
304
289
341
279
192
296
361
308
254
217
295
347
323
298
316
252
251
365
366
325
263
347
309
347
369
328
313
337
341
276
239
328
290
349
342
377
369
306
341
230
348
291
327
188
308
291
321
308
385
377
324
283
274
311
354
365
278
342
285
331
267
266
283
285
304
306
347
370
231
343
348
336
308
315
256
269
347
338
346
312
362
242
260
266
392
327
324
308
305
315
276
329
229
266
304
293
311
347
359
224
342
316
232
304
281
250
305
302
339
292
356
281
355
297
230
303
386
318
352
310
272
323
285
277
333
297
334
293
245
267
361
294
333
297
341
186
344
290
292
355
291
324
295
284
276
343
280
366
413
294
305
339
280
289
305
393
301
231
383
290
271
293
310
281
347
354
201
362
285
242
334
268
313
377
355
347
266
388
306
372
372
323
278
309
317
196
290
262
287
247
329
355
309
260
332
297
340
338
325
252
253
262
406
272
260
326
369
295
358
322
311
339
355
352
336
295
344
368
281
302
308
372
245
349
386
350
283
307
292
313
398
301
431
319
310
310
339
275
263
348
341
405
352
328
299
337
326
374
308
333
284
296
263
303
336
261
337
298
365
274
373
366
291
326
284
277
303
287
353
306
347
338
318
283
282
301
292
344
338
291
298
284
274
215
309
358
224
327
263
351
263
386
347
302
265
339
183
318
281
157
275
345
225
308
329
287
307
277
267
403
326
315
295
293
310
391
405
349
282
297
313
357
365
237
310
314
302
257
315
374
372
342
297
296
309
313
354
280
406
304
319
310
392
312
276
334
333
304
204
343
300
283
267
270
261
336
343
247
331
321
266
344
285
377
302
327
316
379
270
254
318
281
250
173
314
418
257
312
280
332
342
325
307
223
313
352
348
320
269
315
345
288
353
370
329
287
302
357
319
329
349
328
310
374
322
293
366
261
292
291
278
281
231
303
335
356
301
258
270
315
301
410
323
342
292
377
297
368
325
306
263
312
331
351
359
358
335
350
297
402
362
324
317
288
307
298
331
306
315
327
300
376
296
312
243
475
358
240
348
182
270
308
327
295
306
324
285
305
318
283
369
297
346
250
381
293
318
346
214
265
313
289
372
311
374
377
298
307
314
356
288
237
338
224
309
384
422
329
311
271
281
416
341
275
328
374
257
335
378
324
323
274
264
367
374
326
311
310
305
307
258
318
298
300
339
393
355
300
273
276
312
303
321
227
348
293
235
373
331
377
282
288
399
315
313
294
297
259
349
408
259
344
281
303
351
396
312
260
288
268
380
365
370
274
351
296
281
315
349
336
331
355
334
233
406
308
244
345
260
296
334
413
361
309
261
282
372
293
300
264
327
299
246
269
319
278
337
263
255
374
290
282
353
326
263
283
356
297
335
314
310
286
351
332
275
388
310
323
338
250
355
263
295
216
338
316
327
304
320
353
296
285
323
303
321
358
341
379
276
336
342
303
314
248
173
316
325
355
349
234
310
323
376
296
350
282
353
352
347
290
363
328
271
394
239
307
307
341
329
316
262
277
378
330
245
282
331
355
284
320
262
330
277
351
291
265
296
316
302
302
323
334
338
283
274
318
292
356
366
342
292
296
353
299
330
244
280
312
312
319
411
285
352
274
309
334
321
340
306
358
258
290
368
372
343
248
302
317
246
308
253
320
297
396
334
334
406
359
328
273
320
264
254
328
188
278
273
320
249
328
293
256
317
241
275
329
350
349
309
332
348
275
188
321
410
233
331
352
271
347
340
338
419
348
380
355
335
347
332
360
313
382
354
235
287
340
350
271
347
315
330
338
324
318
279
352
264
312
390
302
386
313
358
365
323
326
309
380
321
201
363
344
330
318
346
347
312
265
324
310
347
234
277
281
306
290
306
285
277
285
337
275
305
240
311
383
319
310
319
364
277
251
286
224
372
311
307
355
331
282
263
355
325
314
345
300
208
357
336
285
326
336
252
251
344
310
307
309
305
293
253
291
280
396
337
311
330
292
376
272
311
331
308
343
343
256
337
252
322
316
290
313
326
324
353
364
306
339
336
265
258
345
285
387
345
327
278
271
249
287
298
252
304
336
326
260
170
349
333
298
283
283
307
280
326
280
283
326
313
318
296
359
261
263
387
354
245
209
269
326
343
243
214
305
354
294
312
289
326
330
323
367
315
323
312
329
300
207
322
271
234
333
279
300
341
340
307
310
355
308
291
299
333
328
365
293
333
339
311
323
333
224
353
316
299
290
328
318
373
326
381
293
344
313
271
251
283
293
324
275
337
287
331
346
330
283
341
296
279
328
298
326
287
249
334
399
351
289
297
352
308
352
289
378
245
345
226
289
293
263
222
295
286
324
216
297
388
256
294
249
303
336
296
313
338
336
249
285
317
299
318
383
278
255
328
344
292
327
317
357
342
286
363
274
326
369
306
305
376
378
283
311
362
299
273
274
360
353
342
298
243
326
360
318
370
298
324
362
285
242
385
313
276
390
236
263
327
328
331
349
245
348
404
322
288
326
362
294
276
296
330
312
413
307
321
310
265
236
221
295
324
357
311
317
392
319
314
291
340
280
254
409
278
305
332
243
355
305
348
404
325
371
333
266
252
263
333
388
295
284
327
311
207
328
272
283
339
343
325
366
275
294
377
364
250
296
328
314
359
370
348
283
416
308
370
335
317
267
332
295
372
263
309
306
355
299
320
344
359
273
348
373
274
303
353
299
272
216
385
351
299
338
276
321
331
372
397
280
349
331
314
354
351
361
259
227
306
345
190
257
313
355
336
241
364
370
272
348
346
398
264
414
361
290
243
353
345
307
352
383
300
378
313
243
288
345
365
321
316
257
364
301
323
284
310
324
282
285
317
357
244
271
295
334
364
329
329
363
245
309
257
279
244
253
324
313
269
309
227
354
321
326
296
382
302
367
387
317
291
326
282
360
358
438
214
380
332
202
213
281
349
397
314
289
320
276
352
367
300
304
372
237
344
283
325
304
304
362
389
361
283
241
268
311
303
317
313
324
209
312
365
291
290
254
357
390
326
290
253
343
353
335
358
361
344
397
359
370
250
352
337
293
335
291
340
255
359
379
375
259
291
304
264
274
422
236
338
314
372
330
362
356
302
295
294
296
333
163
400
300
247
263
309
376
320
212
244
358
333
375
305
341
296
329
325
278
292
378
225
290
331
244
330
223
291
282
242
355
333
316
311
335
282
237
390
271
292
353
266
266
261
354
358
341
304
374
303
323
281
302
253
312
281
423
355
344
292
262
357
272
371
259
244
288
236
294
334
280
332
266
337
335
284
357
286
266
329
364
281
357
323
314
240
255
333
296
301
348
362
215
328
329
311
335
309
385
313
332
309
284
309
247
433
301
333
347
288
342
334
386
323
301
363
246
321
303
389
331
249
321
357
354
370
353
391
231
300
360
298
309
262
285
279
377
245
328
304
321
252
345
355
255
348
234
297
216
207
203
364
445
338
348
358
300
273
317
304
346
296
275
204
293
385
308
271
273
330
293
376
356
364
250
302
302
275
374
307
322
329
306
415
210
315
281
302
360
293
320
325
364
395
348
426
355
333
406
390
406
292
335
274
256
302
328
270
369
276
412
372
306
312
289
329
355
298
262
276
327
279
303
297
340
296
286
367
277
364
260
354
306
321
307
344
318
385
388
297
349
330
285
319
264
321
233
306
339
331
300
292
312
386
325
282
246
286
383
334
267
344
400
286
371
255
273
360
325
383
256
361
295
311
283
270
355
289
256
301
372
227
362
251
352
342
173
290
350
289
301
396
320
317
429
258
382
349
236
302
322
315
315
320
297
320
365
300
351
289
324
310
310
420
286
341
309
318
315
321
330
332
272
343
235
373
320
381
239
288
308
320
281
271
213
312
360
295
337
264
304
269
215
285
365
374
286
158
366
310
226
420
341
255
358
310
331
388
293
260
202
315
323
291
310
345
276
240
261
360
366
332
297
237
345
322
248
309
358
261
342
353
377
304
342
381
298
305
302
381
239
336
263
292
310
348
334
328
318
286
360
348
300
362
358
342
343
333
353
288
304
308
317
257
323
251
323
395
273
310
310
362
317
291
305
303
259
312
420
240
244
292
310
329
336
346
380
309
296
395
290
377
317
263
414
416
280
322
289
292
315
430
305
364
361
260
282
330
332
251
323
345
325
319
273
292
330
405
395
342
239
309
363
389
286
355
273
387
330
342
311
324
388
368
289
270
396
283
358
305
334
371
268
364
364
274
339
278
376
325
412
285
301
301
283
268
255
378
253
319
299
353
270
287
344
313
332
330
274
317
292
228
351
371
340
336
340
306
408
352
343
320
243
303
262
261
307
308
346
278
264
345
345
289
354
328
292
246
280
326
332
346
324
345
257
324
327
278
397
299
333
246
271
313
343
336
278
372
261
418
349
263
303
246
265
284
353
345
244
353
316
332
319
294
290
292
250
318
370
341
295
396
277
260
248
356
331
324
325
322
331
267
365
322
355
288
315
355
268
299
277
370
292
292
191
320
330
315
304
312
343
386
347
307
264
324
262
415
284
325
215
316
330
312
279
269
222
309
293
317
351
372
241
328
300
397
209
275
277
327
309
414
281
320
306
330
305
308
288
284
319
263
286
275
271
344
322
338
328
350
299
327
337
327
359
347
303
373
278
310
351
364
278
355
320
328
250
253
328
276
290
316
417
378
382
274
204
319
342
371
319
267
281
370
336
266
371
372
364
378
306
326
267
323
243
338
252
281
286
332
308
347
287
303
258
330
300
378
258
310
269
311
338
295
256
360
325
378
304
365
289
342
236
264
367
207
276
315
331
325
353
277
291
322
307
336
312
387
269
387
292
356
249
344
353
349
278
297
253
309
362
262
238
318
328
230
279
323
267
337
274
349
325
309
259
323
337
285
293
334
231
279
325
311
317
286
335
282
385
303
309
329
314
281
249
252
294
391
292
372
302
238
305
247
241
303
335
221
297
315
306
259
312
323
279
294
305
320
227
376
361
393
290
338
306
348
338
214
342
350
354
309
320
294
403
227
321
258
307
368
345
324
345
373
296
335
265
268
271
340
316
354
245
223
211
283
310
351
220
342
293
350
367
251
346
315
323
195
366
322
249
345
313
351
336
365
300
317
233
335
390
304
228
313
332
325
250
345
287
323
352
364
345
365
338
299
249
385
361
337
336
297
386
334
377
363
247
325
345
316
307
286
255
294
364
337
251
358
337
303
313
217
300
288
314
344
291
354
353
338
349
258
286
345
301
285
299
227
307
342
405
357
260
327
289
238
417
347
346
322
356
294
312
239
283
351
300
288
337
383
335
302
405
291
293
327
386
329
277
365
363
333
372
266
340
313
237
372
374
283
323
315
305
238
357
341
322
359
381
305
413
279
244
348
260
336
289
329
338
315
363
302
311
278
258
243
285
349
247
313
276
278
280
332
351
431
319
365
348
256
345
346
379
277
340
325
291
392
312
295
271
262
304
385
303
278
338
344
346
244
390
353
303
251
369
338
350
409
324
303
303
334
374
357
361
272
391
385
328
319
376
401
401
417
282
322
351
287
347
263
391
274
283
404
285
336
191
332
259
291
286
256
306
300
370
305
251
387
357
396
311
287
335
336
340
234
322
281
338
346
308
269
254
275
301
256
344
353
256
310
328
271
362
378
268
297
393
264
291
368
347
318
244
393
327
345
387
298
400
342
235
283
331
263
346
378
293
272
411
281
298
269
362
363
374
375
302
300
279
376
346
393
182
288
304
289
367
346
369
276
393
285
326
351
294
300
318
349
291
317
322
329
353
227
365
320
296
344
204
364
312
327
263
379
362
313
217
356
338
369
351
314
419
327
326
294
332
343
344
356
329
274
290
388
275
347
269
370
324
251
420
265
243
385
299
370
285
291
304
319
246
402
332
274
364
369
348
292
296
241
413
295
280
366
376
342
305
246
311
274
220
315
316
376
329
339
268
248
256
376
274
287
147
315
352
295
310
359
380
284
325
323
349
270
326
289
294
370
285
286
310
287
380
328
321
290
410
288
404
305
365
282
321
294
358
310
308
300
299
350
331
318
314
378
367
399
309
269
321
345
275
295
335
320
296
357
339
325
252
249
345
262
320
308
338
322
318
259
295
412
325
383
370
339
247
321
211
307
201
314
353
256
303
185
287
374
330
351
340
346
344
362
282
348
370
303
324
329
330
286
343
310
326
325
331
293
265
236
285
393
297
368
364
300
268
372
246
338
350
350
311
323
346
290
274
355
381
271
369
370
256
353
343
326
224
297
361
366
332
235
319
265
369
402
403
338
352
282
351
321
295
298
298
319
305
341
316
372
347
293
302
358
337
292
376
335
289
345
411
257
394
348
234
325
300
299
279
348
324
316
258
292
352
368
329
278
317
314
303
222
264
302
299
241
293
300
273
372
344
338
385
310
337
333
314
306
379
312
332
247
355
289
400
335
390
313
273
369
296
212
319
274
310
282
304
313
223
410
322
388
321
224
247
362
376
365
354
408
336
334
310
312
349
316
291
249
387
275
291
302
397
365
228
375
356
348
381
218
362
357
303
355
278
330
341
378
300
367
391
290
348
229
305
308
375
272
263
402
334
314
296
301
254
367
341
256
311
294
244
317
340
275
244
280
336
314
341
273
358
397
354
426
443
338
275
301
323
300
355
220
252
298
334
317
372
311
325
278
372
287
331
270
332
279
304
316
305
319
292
325
260
251
335
365
312
243
274
316
322
316
341
341
278
313
322
388
264
415
281
251
370
256
308
337
289
339
289
310
298
258
264
299
354
278
364
360
257
358
314
376
292
298
295
343
336
252
333
306
306
350
289
274
359
288
338
289
352
289
279
240
293
331
304
319
315
359
298
367
310
332
228
228
285
353
322
337
295
284
407
369
301
288
213
338
359
362
329
324
307
275
298
281
274
264
362
267
349
268
299
298
322
304
279
319
366
298
230
275
273
348
406
347
323
294
318
332
234
358
259
327
295
303
317
335
341
362
339
355
342
341
344
248
331
326
326
382
301
295
420
274
314
352
286
321
289
312
370
315
322
339
200
320
376
271
269
243
274
330
298
308
321
373
362
299
370
382
372
320
341
233
302
345
314
353
354
285
311
280
323
344
271
267
380
325
324
344
255
339
356
373
323
256
321
343
291
311
363
290
327
347
293
402
364
296
303
314
297
389
378
354
287
278
339
301
383
353
357
353
349
267
333
383
287
320
375
350
271
269
251
306
300
312
310
328
358
309
374
299
346
353
313
337
364
293
323
341
311
256
395
231
315
304
314
321
313
325
283
245
370
258
306
345
295
349
391
275
277
304
354
214
242
357
417
242
243
251
317
321
313
206
315
291
256
307
276
273
304
360
376
275
314
309
291
264
259
348
304
309
357
349
237
268
298
256
205
292
348
283
297
313
437
279
298
267
342
303
416
283
371
263
250
250
240
305
192
318
269
299
258
285
258
328
347
265
362
300
352
247
329
363
328
343
321
288
254
374
317
278
337
353
298
200
329
332
287
326
386
249
268
322
300
275
297
312
294
335
357
388
286
439
339
402
280
321
303
299
415
320
240
349
300
271
329
264
325
342
214
231
255
358
273
250
286
306
360
398
334
312
312
290
298
273
304
289
322
303
373
353
251
384
319
355
274
372
335
314
339
355
318
309
343
316
389
273
352
266
302
270
313
357
295
211
402
347
313
301
322
302
289
344
374
382
278
309
380
296
262
359
294
277
235
370
241
282
323
247
313
348
354
175
335
323
252
322
339
305
326
360
364
318
288
350
304
295
418
264
351
285
272
350
308
341
299
331
305
325
396
268
326
255
261
303
415
358
310
321
381
290
339
314
359
307
313
327
301
318
288
307
330
315
382
291
341
244
378
245
366
304
313
338
292
291
196
324
281
244
264
354
229
290
260
403
249
154
368
418
229
300
362
331
364
358
337
309
348
294
387
385
332
349
268
308
294
305
326
353
404
319
302
348
320
383
359
341
385
379
252
305
306
350
282
292
269
342
325
334
307
357
294
323
312
322
336
261
329
296
349
268
347
305
327
390
294
300
266
292
382
280
352
335
380
325
256
355
378
283
272
233
312
332
352
276
262
250
320
255
253
296
325
394
366
244
386
312
232
317
353
307
328
276
319
367
283
364
334
310
348
321
372
382
304
322
408
253
243
279
302
318
272
212
270
389
327
356
303
292
341
300
401
279
305
242
219
217
302
238
241
295
263
232
364
327
373
344
334
293
283
400
293
367
342
366
354
283
340
393
274
319
264
352
369
312
390
347
336
332
218
246
322
361
309
266
280
305
382
299
320
269
241
294
270
335
393
229
212
262
319
372
365
362
242
309
323
339
354
286
289
315
348
288
320
306
386
315
331
345
314
256
340
340
277
357
360
322
296
308
359
355
288
337
298
352
333
326
344
327
282
282
270
381
258
379
310
281
376
328
348
318
284
294
312
403
297
234
257
315
203
354
321
322
331
242
367
331
310
340
276
199
278
362
380
308
236
343
330
271
299
370
261
327
313
395
449
333
342
236
427
289
235
376
238
329
324
355
351
308
292
299
332
286
344
269
258
381
286
305
292
333
312
364
282
334
336
296
373
171
266
309
363
334
255
305
330
337
363
312
295
299
319
315
247
237
283
395
355
355
373
312
308
355
296
385
252
350
264
319
287
319
336
348
378
274
322
323
302
293
328
325
246
301
397
344
288
311
233
342
391
320
274
287
402
379
239
416
380
282
293
231
193
313
321
288
341
266
305
334
292
344
327
269
259
270
335
331
289
323
341
366
263
318
370
329
327
404
213
318
292
340
341
230
280
294
330
407
322
217
319
388
295
340
221
325
355
377
303
320
351
280
424
361
279
351
328
374
338
310
324
291
292
297
330
303
326
264
259
276
360
290
254
273
341
308
322
332
329
366
298
302
330
271
274
312
285
348
262
363
326
290
227
331
329
322
223
314
248
342
325
324
257
285
227
324
414
262
150
290
296
313
377
353
353
329
303
288
276
263
269
321
272
263
318
237
300
321
291
252
322
326
321
259
370
361
250
368
329
304
251
353
230
337
277
217
394
372
250
250
340
332
315
318
299
290
336
319
291
289
328
339
365
348
311
357
315
307
295
321
356
404
277
305
331
337
277
342
335
336
300
265
372
363
263
209
342
298
343
313
372
324
377
302
304
249
260
342
386
326
421
354
241
273
276
338
369
267
312
336
290
287
349
250
353
291
308
325
249
242
381
337
348
312
309
313
397
317
308
292
287
281
268
391
318
311
309
279
346
192
288
340
282
381
352
356
264
380
333
301
317
258
316
214
246
367
218
275
404
341
270
318
253
312
336
376
314
270
289
314
342
362
289
261
328
325
328
364
262
315
339
318
313
320
254
306
314
345
382
315
260
307
352
265
366
296
321
353
272
263
346
274
296
312
284
390
313
327
324
359
315
320
340
384
298
242
330
297
334
289
326
346
357
282
318
354
353
247
313
237
334
294
302
291
357
431
301
397
208
293
315
335
384
336
280
252
259
354
256
281
317
241
364
281
359
362
229
297
256
288
338
307
353
313
265
279
307
295
303
335
327
321
243
322
304
210
312
329
322
298
368
365
330
232
344
316
334
299
290
303
321
332
308
271
381
266
358
373
314
363
305
365
334
309
302
207
224
280
199
298
309
353
316
292
264
262
405
296
312
277
344
292
356
313
370
324
393
298
296
402
284
310
292
259
301
271
359
300
288
351
380
255
304
372
247
252
279
267
218
378
343
335
333
340
325
319
300
323
310
257
327
284
365
373
317
349
328
367
305
329
346
366
296
321
275
306
280
337
352
342
326
296
310
315
317
301
206
272
246
300
274
324
317
340
318
293
359
397
250
181
278
381
344
296
348
248
297
256
392
337
347
359
286
342
295
283
364
221
232
335
251
379
409
303
332
386
390
295
258
323
237
277
292
342
409
281
252
329
387
293
259
231
441
298
329
288
297
300
258
290
361
341
336
314
365
382
288
386
341
225
278
312
360
273
228
243
316
346
298
288
293
326
274
354
302
317
294
377
299
390
372
317
404
348
285
332
349
322
366
299
311
361
245
332
234
246
309
341
238
423
258
291
310
373
397
307
261
327
306
318
352
298
311
271
270
421
308
238
328
326
244
382
273
272
395
438
405
278
365
262
321
308
320
228
230
365
284
379
260
251
275
252
291
259
280
337
359
296
225
296
390
300
324
360
262
348
320
371
325
406
276
234
353
292
373
375
366
202
276
387
267
357
368
326
289
310
301
314
356
245
260
269
247
371
284
364
320
227
278
367
288
271
235
259
394
203
289
340
347
250
365
250
372
326
362
383
345
257
275
321
341
318
384
243
328
247
327
290
337
256
257
311
367
357
304
297
304
351
219
213
282
336
332
234
326
287
342
357
338
269
332
308
197
384
400
292
394
257
257
335
345
302
326
271
346
293
349
327
304
320
268
231
367
294
324
312
330
374
250
268
318
290
281
333
228
320
309
274
283
215
351
332
367
325
311
356
367
267
291
373
286
308
358
341
349
330
370
301
346
385
382
258
205
357
366
205
289
361
277
305
278
290
260
235
307
399
320
289
205
316
299
281
320
299
219
308
293
432
348
345
321
313
359
373
329
333
356
240
281
272
330
294
335
245
310
337
293
354
224
309
291
341
329
274
363
212
358
283
371
284
305
356
378
248
380
348
379
294
379
305
278
293
262
267
397
268
388
335
282
325
338
318
310
298
224
400
300
296
264
282
341
324
379
316
291
356
302
325
267
313
340
322
397
307
383
343
348
342
343
257
280
356
313
388
289
283
260
290
291
289
364
315
315
252
236
330
365
350
389
324
282
309
285
350
293
294
338
326
315
297
261
309
218
290
312
246
266
267
332
254
321
359
258
359
309
369
214
346
335
304
301
307
332
297
241
258
377
389
309
274
398
387
354
276
347
366
408
356
348
331
343
338
302
235
305
345
268
334
323
308
301
332
312
243
312
318
364
356
379
301
316
315
378
235
394
276
325
295
251
327
270
306
286
345
322
330
340
279
368
356
271
307
258
365
258
269
337
245
300
306
348
380
305
381
282
233
317
341
302
333
391
271
338
334
359
344
281
343
299
213
291
337
276
148
334
247
275
352
285
406
307
350
302
341
320
317
242
307
361
289
322
397
334
356
295
275
295
343
311
292
360
327
309
342
362
327
336
338
365
268
251
330
264
201
318
311
264
252
339
358
347
299
283
402
343
250
332
315
328
341
293
250
297
310
356
232
309
162
330
285
339
354
279
370
253
326
297
335
375
319
377
358
223
346
280
367
325
334
338
308
347
361
320
250
239
238
356
291
307
395
301
365
310
321
282
350
288
394
345
339
309
300
313
370
359
272
323
282
317
356
350
322
324
215
355
298
275
274
250
328
209
327
316
277
280
345
293
325
338
270
423
312
266
315
349
323
271
361
336
271
280
334
246
355
319
357
357
401
288
358
305
309
344
348
183
310
334
346
276
306
250
330
353
386
310
265
289
295
371
318
348
335
387
321
285
343
279
332
350
349
366
341
296
396
335
303
375
337
262
326
334
338
327
263
403
392
348
344
267
338
338
298
354
321
247
384
281
302
333
376
307
370
319
335
369
293
305
324
372
393
347
297
402
337
303
261
336
238
298
258
260
363
323
323
347
306
323
399
321
391
401
356
262
359
344
361
326
259
306
299
320
323
288
330
331
335
287
306
227
283
317
325
364
333
356
306
304
367
265
285
252
267
296
218
269
353
239
321
306
351
297
346
307
257
400
270
230
307
296
331
375
343
294
320
304
336
320
309
259
347
411
268
301
333
287
326
252
347
332
312
282
302
323
327
334
305
302
329
271
301
312
347
279
278
343
269
345
289
332
321
330
290
382
351
335
272
331
376
276
221
305
439
354
324
303
266
272
362
288
202
359
302
310
368
300
339
267
366
304
261
335
307
369
344
237
405
307
329
337
320
396
297
270
321
383
345
326
292
317
423
274
283
355
352
289
250
378
283
260
350
374
288
291
316
283
310
375
317
339
340
273
240
355
333
272
273
315
322
328
330
346
322
315
331
367
300
319
317
333
370
263
340
257
427
263
313
347
270
364
306
290
298
361
351
343
313
323
303
322
252
333
231
328
289
334
184
380
286
302
351
285
321
227
305
352
399
326
310
339
396
283
334
359
370
280
329
346
258
281
323
357
307
266
368
291
302
354
317
343
396
279
296
313
292
320
271
217
282
260
326
381
329
296
317
294
349
316
382
286
371
311
309
276
318
332
277
271
318
346
327
315
318
369
299
354
330
355
318
378
340
313
322
342
259
374
344
360
386
249
320
305
334
324
268
282
389
399
369
255
381
343
274
345
272
247
291
280
343
267
309
244
366
324
306
357
327
412
331
302
283
197
349
330
345
303
381
280
292
322
396
323
354
279
244
287
263
314
377
267
220
263
310
306
272
357
336
363
348
280
332
294
321
320
244
412
264
355
265
376
393
335
353
289
230
298
314
305
265
315
324
306
311
262
345
296
394
251
321
328
342
413
361
342
405
289
279
304
268
288
304
319
302
309
357
335
315
307
343
232
372
318
322
314
321
234
301
222
359
319
418
344
279
312
409
251
374
362
407
279
280
413
279
307
314
354
292
354
357
294
219
300
332
263
332
308
162
309
260
387
272
271
285
331
298
299
378
360
329
292
380
316
341
256
409
289
307
353
286
276
310
307
390
310
329
393
306
327
329
269
253
245
332
248
263
339
322
308
327
263
309
198
384
272
282
329
285
238
313
314
228
322
363
367
345
291
314
288
335
388
430
385
351
278
331
360
350
334
363
354
388
344
420
280
389
276
332
320
306
301
300
297
335
272
343
393
246
349
330
326
279
318
311
269
297
310
383
261
304
337
405
304
351
273
223
349
303
348
265
297
314
296
274
338
350
318
386
247
344
275
332
380
201
291
367
328
251
299
327
255
205
237
257
260
333
362
348
338
337
223
316
294
324
326
315
337
332
347
187
238
307
314
385
260
277
278
348
274
352
366
365
411
284
331
305
245
311
306
267
328
350
313
306
336
244
338
239
369
296
326
307
301
249
317
327
279
308
398
302
390
323
336
241
340
316
291
332
297
313
384
327
333
414
350
343
381
233
378
242
340
281
312
256
298
378
287
279
342
343
237
256
323
297
390
302
221
268
422
285
355
324
280
308
241
306
337
297
313
287
315
327
304
333
277
357
342
346
391
296
289
374
360
334
295
186
290
336
276
283
396
372
343
309
368
282
301
331
324
405
331
366
359
335
287
256
340
377
237
389
267
237
345
376
288
265
294
337
289
262
357
290
262
321
333
351
320
387
307
285
261
347
336
337
325
304
338
289
383
362
335
332
333
290
334
290
313
325
312
310
332
288
349
350
312
237
337
257
338
339
395
336
304
321
331
343
407
247
309
356
275
408
258
311
292
221
325
310
370
364
265
351
354
404
283
289
388
268
375
381
332
376
340
262
339
284
294
310
308
311
262
272
269
362
397
319
304
309
319
359
331
277
311
322
293
311
383
328
225
327
305
333
308
292
370
261
331
255
349
307
246
351
168
311
317
303
338
377
398
328
327
309
311
263
328
266
211
290
376
379
420
354
338
384
357
297
265
406
363
236
392
341
342
288
315
295
282
423
305
293
240
316
304
295
286
371
227
204
387
335
304
308
350
303
337
324
315
263
312
278
320
306
245
331
283
329
273
268
374
329
326
286
314
302
315
350
344
371
312
335
236
300
320
384
282
382
289
307
261
254
371
309
266
362
308
241
252
276
368
366
338
261
346
395
342
301
328
241
296
295
324
326
255
261
348
222
260
246
272
341
340
315
359
298
310
276
359
327
333
317
266
277
248
338
269
281
350
292
294
335
274
340
318
231
373
336
233
258
347
370
351
258
324
349
337
275
373
309
353
280
202
259
257
266
244
324
308
366
324
337
270
452
327
330
220
344
336
317
311
295
407
259
261
277
373
269
322
364
234
278
269
268
295
286
327
264
297
221
299
281
380
317
287
313
305
340
315
302
369
251
271
281
251
197
354
350
346
342
245
340
286
377
335
229
369
360
341
367
330
313
372
254
274
221
335
295
298
312
301
345
284
265
297
229
332
326
312
413
234
352
330
332
314
359
334
274
295
315
318
272
327
317
366
199
251
324
369
270
243
293
309
296
286
332
304
368
321
330
378
337
279
324
368
355
332
307
334
274
249
314
345
310
358
349
361
351
372
371
298
347
307
367
358
304
242
280
373
315
291
299
355
342
346
240
272
303
337
271
268
262
365
324
375
286
271
397
394
255
287
340
261
356
271
257
321
428
280
341
314
279
390
347
350
301
250
307
301
237
326
257
421
323
403
327
323
312
348
422
411
329
345
273
395
307
316
343
392
357
394
331
366
378
238
285
348
334
312
373
353
268
288
343
405
268
338
389
325
254
286
283
281
313
335
308
368
389
279
206
303
298
299
382
256
278
381
317
307
328
303
287
263
203
323
391
272
390
336
334
315
289
223
309
304
317
322
271
339
236
330
350
347
382
339
357
409
427
332
346
384
304
384
410
327
343
238
289
348
332
295
331
365
348
304
293
290
323
298
310
319
329
469
337
208
307
319
299
378
280
341
238
358
357
356
353
344
324
296
354
328
349
383
316
323
309
365
313
418
334
353
287
361
391
355
319
290
343
302
356
330
360
373
234
340
346
338
273
274
357
393
331
293
282
355
390
311
275
321
303
257
366
249
320
319
326
256
234
259
367
296
366
322
315
295
344
346
273
325
370
313
339
229
310
324
341
360
281
313
226
363
315
335
264
293
362
369
322
246
285
328
331
390
365
322
323
264
310
308
330
330
257
335
282
307
306
351
319
330
311
275
337
291
375
311
315
367
284
381
380
293
352
303
351
280
214
275
371
323
276
251
365
303
273
256
304
300
332
287
356
298
371
317
339
291
364
204
388
360
353
283
332
287
336
339
313
329
325
381
361
336
235
216
281
320
301
339
318
386
269
349
337
267
306
319
330
462
280
371
290
330
296
354
420
402
310
333
304
276
294
290
357
237
320
267
326
397
299
345
325
307
379
305
276
400
336
377
278
293
369
295
239
302
311
334
290
301
315
386
260
265
277
339
268
335
270
335
348
370
305
309
345
296
301
340
310
252
332
363
285
304
268
307
372
308
334
332
260
306
359
279
315
321
324
425
335
302
357
417
276
387
295
336
259
288
236
292
359
369
315
302
346
335
350
332
295
257
329
299
264
335
282
326
241
284
299
315
211
364
415
369
313
346
231
284
392
323
289
343
271
248
384
354
254
361
358
214
335
255
219
427
298
335
360
308
272
326
298
403
394
327
250
300
352
370
367
349
322
333
216
345
360
289
288
296
328
358
273
397
325
343
227
289
317
329
373
383
366
337
316
294
354
303
286
350
321
274
392
244
328
319
281
298
371
336
369
363
285
408
340
325
274
331
349
276
375
286
233
268
350
395
280
287
354
248
401
334
243
269
283
265
230
282
281
258
309
340
316
325
232
317
325
352
367
309
288
342
210
245
276
376
256
346
257
345
284
326
271
380
363
257
340
281
278
409
270
250
350
311
314
274
286
255
359
371
341
264
351
336
302
261
298
336
379
267
301
372
301
307
357
325
347
310
316
308
257
318
248
352
245
394
327
272
287
319
306
330
333
403
293
315
286
365
280
288
276
365
329
351
302
261
255
287
279
328
316
266
312
271
376
322
382
269
276
309
365
348
274
293
255
320
284
346
268
347
284
346
256
323
342
323
287
305
357
347
304
324
312
316
334
359
359
267
311
367
226
344
315
314
376
443
276
364
330
308
349
288
283
363
254
343
278
334
352
314
371
355
248
198
359
266
288
285
348
322
334
329
254
327
372
318
298
270
277
216
355
294
357
207
306
283
344
336
292
254
245
317
257
384
228
150
285
312
319
233
288
272
323
331
211
324
263
349
351
345
297
303
300
415
240
349
309
326
252
353
310
363
305
397
323
300
268
257
319
296
209
337
327
245
367
436
382
214
333
245
217
329
283
309
387
214
281
298
265
298
324
261
290
333
386
320
314
377
342
306
322
305
285
201
326
309
297
329
299
217
367
257
339
350
329
297
295
334
336
310
326
369
330
237
316
284
348
330
285
318
321
319
303
334
318
232
305
287
369
364
265
332
269
346
336
422
284
356
292
329
348
215
332
301
294
314
328
223
277
317
297
362
301
368
248
359
380
348
308
279
315
278
235
310
302
380
241
200
331
354
316
256
237
337
346
269
326
303
306
419
342
283
317
280
375
372
245
239
364
316
350
301
396
328
276
347
271
276
328
279
267
267
355
261
425
250
329
377
247
309
337
329
284
266
319
311
363
308
368
321
324
250
416
305
407
384
320
316
315
258
230
266
298
293
298
364
317
300
390
234
320
416
295
319
373
258
394
283
394
303
375
297
284
297
373
342
396
375
240
329
200
299
328
249
328
314
384
284
343
264
370
302
317
338
274
343
342
364
367
341
253
264
313
368
378
278
279
280
287
294
298
301
403
350
378
437
361
336
281
346
336
329
365
321
329
325
266
361
268
336
224
297
365
292
218
259
316
401
395
373
337
322
214
259
362
288
355
363
274
331
326
341
388
414
312
297
301
326
276
384
360
369
327
343
287
258
267
298
324
333
326
309
249
294
350
286
320
328
370
334
271
317
353
293
335
279
366
273
374
285
324
357
312
268
312
384
267
336
357
281
334
317
255
244
361
265
308
289
198
247
273
308
302
343
256
284
255
428
334
238
308
306
320
339
338
354
347
308
344
310
310
265
281
326
400
201
344
348
314
322
255
345
283
314
380
312
311
296
334
268
278
291
296
332
344
323
341
328
331
342
344
262
304
305
311
265
220
361
344
287
320
298
295
373
308
336
299
287
380
313
306
356
260
327
342
378
271
310
362
362
338
366
269
310
235
388
334
322
364
333
226
337
225
337
254
310
288
419
332
300
296
340
369
305
325
297
298
304
396
347
298
323
324
265
313
306
357
243
314
392
305
333
307
229
329
365
228
286
268
292
222
244
376
353
358
281
388
300
332
372
287
303
359
338
384
293
310
272
362
403
331
291
262
331
357
366
260
326
216
290
317
337
292
319
242
366
325
284
346
394
387
229
357
313
272
356
326
345
315
296
363
309
294
347
301
217
304
297
228
340
297
350
267
306
383
161
262
336
372
206
363
288
227
298
305
301
342
251
303
261
310
268
300
278
334
371
283
379
346
322
355
360
313
290
381
321
366
360
296
265
294
280
304
249
349
320
327
396
314
360
332
355
312
278
353
316
337
353
347
314
265
323
298
286
270
307
255
301
320
257
251
267
268
310
284
368
265
400
317
327
262
298
247
340
301
385
295
282
372
252
323
349
329
279
297
359
313
315
239
305
388
301
263
302
343
266
332
331
269
357
256
331
309
298
316
280
375
208
332
248
297
294
354
365
293
302
332
342
313
421
320
417
322
365
359
232
366
266
348
282
326
226
258
234
317
274
355
369
309
330
328
329
309
295
312
252
281
373
321
226
346
293
371
268
360
340
275
300
269
343
316
330
275
252
410
284
334
353
299
351
356
281
276
328
287
353
352
322
276
368
297
298
346
256
310
314
268
297
331
297
300
355
234
273
292
368
351
323
331
284
275
293
356
314
308
374
409
246
333
342
291
361
259
246
358
335
302
303
368
306
352
378
352
358
208
298
301
332
266
356
334
340
340
274
264
306
336
320
276
336
320
349
287
365
381
322
292
329
328
273
308
308
300
382
268
310
297
249
348
335
330
227
332
397
265
288
313
371
334
291
313
287
372
302
354
314
387
299
298
392
314
228
355
292
362
410
338
285
242
220
352
298
382
231
358
339
219
346
404
357
246
391
316
384
233
307
298
243
307
316
297
364
303
274
356
295
268
332
263
368
348
314
325
275
318
278
328
331
420
282
339
322
289
330
357
341
352
333
323
279
268
260
378
383
310
405
396
365
324
422
375
362
379
325
275
384
283
367
304
261
318
375
342
388
400
354
315
302
314
313
292
319
329
320
269
214
352
246
366
350
371
307
293
281
292
335
346
288
315
351
237
353
353
320
386
276
324
314
308
356
340
349
278
325
279
298
335
327
381
303
227
324
321
318
281
290
310
266
368
362
265
287
330
243
306
240
361
292
270
362
366
379
336
284
329
282
230
248
354
293
345
268
358
321
315
389
351
289
202
313
326
349
353
352
342
294
229
251
257
338
337
317
338
373
307
264
282
330
313
352
359
314
295
362
344
239
369
367
273
307
302
282
336
320
309
276
384
396
320
404
333
405
329
316
315
361
275
219
341
306
351
330
337
320
338
283
248
311
432
339
227
340
293
374
310
375
338
339
351
302
361
356
317
320
303
367
384
368
249
268
300
274
399
260
395
281
282
410
342
296
216
297
208
309
272
273
375
379
375
311
286
256
230
284
180
314
320
351
291
245
282
386
226
286
372
353
351
312
275
254
290
347
362
312
288
298
318
359
282
319
304
390
337
320
278
315
311
325
266
387
327
338
298
343
340
297
233
370
266
407
337
332
298
396
329
310
292
322
304
329
383
276
317
326
237
318
235
292
331
296
398
349
382
283
289
260
248
314
345
332
338
339
411
347
256
261
307
329
361
325
373
273
307
248
268
312
330
354
315
372
244
265
358
390
285
282
412
343
321
339
319
396
307
369
332
340
372
261
319
379
354
358
371
364
359
269
318
373
416
314
301
341
356
407
309
268
402
290
392
315
296
327
300
351
226
343
287
386
309
313
356
331
342
333
279
353
331
307
257
281
376
250
361
366
396
360
290
355
288
305
333
203
336
386
400
369
288
410
309
343
324
218
317
270
307
355
280
278
308
384
301
384
376
311
311
347
314
323
381
331
344
335
296
363
311
418
313
301
362
299
246
223
350
311
331
406
265
236
282
352
379
289
348
343
233
315
315
337
335
279
344
302
257
310
326
245
309
266
334
241
364
287
334
359
300
296
254
266
297
269
302
346
358
329
274
320
295
272
212
348
307
328
296
279
276
348
282
343
263
386
322
354
297
333
342
338
386
343
358
253
262
350
247
303
312
371
312
243
336
298
354
374
304
310
355
344
294
331
354
302
293
248
343
280
352
284
331
372
339
357
288
265
277
328
325
341
270
378
206
239
419
334
297
335
344
280
315
349
278
262
410
284
256
270
367
409
365
399
353
268
283
317
305
267
264
322
310
302
389
320
261
241
438
407
325
315
354
301
441
310
396
340
341
284
266
285
433
316
235
340
325
310
314
278
319
269
361
313
287
355
224
311
245
351
283
331
390
278
417
301
334
327
274
285
357
332
326
263
274
387
378
332
342
229
390
383
217
226
292
269
280
360
293
358
355
291
314
319
319
340
247
349
269
328
348
376
236
340
284
337
332
273
240
238
337
314
261
334
377
378
395
303
283
288
299
293
367
230
266
341
254
326
321
336
359
335
399
326
345
282
309
240
361
201
386
297
301
341
303
261
370
292
361
305
346
270
277
333
298
224
311
273
294
371
294
312
312
309
299
311
300
326
323
299
284
323
368
304
410
252
332
357
354
338
247
225
330
359
345
340
318
288
341
324
240
209
325
268
218
314
366
324
294
369
342
399
288
317
323
253
336
245
298
309
327
320
325
246
362
321
280
318
285
321
284
345
288
395
335
416
325
245
220
364
328
315
291
206
357
283
359
280
244
386
271
322
228
377
289
273
280
284
356
337
383
254
372
352
327
219
248
345
339
366
373
327
240
271
370
341
277
355
350
255
303
283
321
292
334
358
309
312
315
309
402
366
353
275
289
380
296
306
262
249
374
434
319
254
342
352
267
326
307
376
372
241
325
328
288
289
316
354
248
317
333
277
266
336
395
359
391
323
349
279
300
374
286
308
340
332
238
324
273
309
216
305
312
325
302
305
297
309
287
284
301
388
331
247
271
363
339
238
257
265
355
373
347
279
271
265
274
314
396
263
296
272
266
307
304
274
276
412
279
326
272
331
258
312
358
331
343
379
285
385
272
360
317
316
308
352
249
274
282
303
260
330
388
405
317
328
368
344
327
290
364
288
339
310
328
265
328
304
293
319
314
362
242
353
269
184
314
323
318
235
363
401
313
242
331
340
282
380
335
324
363
301
370
296
314
360
307
388
281
333
252
310
273
350
304
238
344
238
286
283
331
282
348
226
305
256
318
374
239
348
341
294
285
334
338
339
306
314
330
286
263
230
284
247
376
385
333
380
231
310
339
266
273
272
322
261
329
330
292
330
279
345
346
289
292
228
360
363
221
309
272
331
281
317
292
399
301
302
173
295
353
292
226
359
324
348
335
352
413
320
303
338
308
359
464
350
283
359
328
236
220
364
284
301
268
394
306
348
263
350
371
300
346
316
307
279
307
400
282
295
291
306
288
208
297
242
366
383
248
370
351
346
351
316
331
286
324
284
368
323
305
360
376
261
271
300
376
345
307
411
422
295
302
331
353
318
404
255
298
304
350
315
245
350
287
318
345
261
301
283
337
384
289
397
350
323
319
393
309
340
214
353
266
404
364
357
306
280
297
292
321
259
286
346
401
348
252
248
303
304
271
330
280
355
346
371
313
245
337
277
266
382
183
259
266
351
351
299
276
242
313
353
334
301
218
241
347
396
384
335
310
320
267
352
275
296
303
396
334
270
327
416
355
339
353
303
208
284
331
361
260
222
331
324
347
302
328
324
341
433
292
319
354
341
275
233
400
384
321
273
340
313
274
282
296
349
322
342
365
403
343
289
301
316
270
356
293
325
306
283
266
391
370
332
299
399
326
369
351
301
252
326
276
388
320
342
270
282
216
310
322
345
391
209
369
315
305
310
369
307
351
334
310
303
329
271
217
243
343
296
316
333
275
291
311
329
319
352
250
313
321
307
381
318
286
242
389
329
330
344
273
348
285
324
299
350
312
298
285
343
249
274
351
365
372
283
380
311
234
366
299
328
335
258
374
250
313
301
395
356
279
330
317
252
344
312
260
310
259
314
356
307
265
317
256
347
335
284
421
225
295
356
352
298
393
265
327
291
258
256
240
323
360
276
302
295
300
337
253
385
294
309
295
383
333
259
347
240
361
317
333
168
331
308
327
225
283
283
351
335
347
274
300
390
266
206
302
307
312
427
259
315
358
317
340
415
253
272
299
274
281
255
282
350
243
340
326
340
318
309
389
338
241
317
341
352
304
341
256
248
329
320
293
341
321
328
246
224
257
260
287
297
379
366
305
249
267
233
234
281
296
320
354
293
325
314
299
166
359
297
350
396
277
325
316
332
266
360
312
319
378
338
392
253
296
302
390
251
310
201
334
298
299
305
308
315
296
341
313
321
302
328
337
257
304
240
342
320
368
283
299
317
323
376
267
383
284
276
372
291
306
291
340
319
252
269
250
312
268
377
327
256
316
342
257
280
297
280
338
359
370
305
375
306
271
295
309
210
338
220
331
334
336
375
248
293
269
338
298
335
372
308
320
393
329
286
417
297
220
242
350
297
381
364
306
271
319
312
282
306
238
314
370
255
319
279
280
259
312
359
232
304
291
361
285
322
286
320
314
307
299
320
265
352
231
379
211
345
234
341
359
291
295
306
203
309
267
279
276
273
329
348
319
276
282
361
308
313
281
275
337
332
293
361
255
322
321
250
303
241
351
382
305
355
302
329
253
284
312
311
225
306
280
381
265
304
431
368
276
348
296
367
317
396
282
364
278
267
326
317
286
300
281
286
261
345
357
350
318
277
386
263
344
306
315
263
334
324
281
276
308
215
353
343
309
306
323
311
316
250
294
357
338
353
326
341
255
299
320
279
279
307
351
279
316
311
244
410
355
315
320
307
289
238
368
291
415
314
299
318
286
347
258
263
258
351
312
273
353
288
266
269
321
360
313
401
329
275
340
340
299
313
333
258
362
340
327
351
265
297
331
442
249
354
391
306
343
282
318
289
326
280
321
324
269
286
298
371
236
333
246
288
354
342
318
198
351
275
397
299
354
353
291
314
324
383
386
290
372
305
344
344
323
265
371
329
363
315
359
290
334
311
339
335
344
247
384
276
250
421
353
400
246
262
393
319
323
323
229
292
279
284
307
264
217
379
304
363
314
317
387
346
279
342
209
383
369
285
254
306
267
253
330
319
363
265
225
254
342
348
278
356
296
274
268
285
275
255
341
291
364
285
354
321
329
220
276
295
393
318
326
344
340
352
252
343
305
366
249
298
421
379
268
289
407
235
346
299
257
367
295
356
376
252
361
365
335
336
318
324
311
316
277
303
255
267
330
256
337
340
339
361
345
249
263
245
403
295
363
327
347
291
352
236
341
323
249
310
313
357
253
258
281
332
341
292
300
327
301
353
269
352
309
358
351
323
270
296
389
320
320
354
340
351
369
394
356
352
338
269
329
305
353
336
291
323
280
357
381
267
263
335
366
353
317
357
318
308
339
309
258
297
306
373
335
263
343
270
331
295
373
365
369
309
309
283
276
225
285
237
394
336
325
344
364
271
332
312
315
335
285
360
274
349
304
248
260
269
269
249
332
288
314
258
395
317
273
365
322
349
247
261
303
326
328
365
269
300
311
363
316
315
353
275
270
295
305
352
321
329
283
284
276
278
308
313
357
289
274
249
357
326
305
360
354
314
345
344
339
390
398
301
336
279
321
323
296
355
334
378
254
358
325
394
253
380
342
346
262
365
300
402
289
338
419
390
323
329
283
282
211
257
349
333
353
382
257
302
324
287
286
242
306
224
373
262
310
392
309
338
325
355
313
314
342
335
304
343
310
309
296
264
289
272
277
356
309
274
326
421
301
329
342
324
259
332
361
222
297
332
278
283
323
209
299
312
309
284
318
289
343
356
251
309
260
249
384
358
314
347
267
317
249
314
325
372
292
272
241
366
371
344
336
314
246
189
332
391
368
309
282
283
325
314
310
331
342
294
283
239
339
299
246
336
372
313
272
207
282
342
283
317
297
286
320
298
278
315
283
327
250
315
251
266
414
330
316
300
333
282
243
406
304
351
379
258
355
283
320
252
294
278
383
220
308
337
249
187
250
384
238
313
310
336
337
303
288
384
279
381
293
248
296
367
383
255
394
283
275
326
441
286
262
241
369
341
358
264
379
288
306
311
311
350
269
366
314
306
332
314
271
308
318
258
259
293
306
348
349
358
305
362
211
318
350
237
386
420
288
296
308
364
309
321
262
318
319
314
240
281
360
324
282
301
387
266
343
314
319
332
371
351
272
346
335
337
388
396
296
322
331
328
348
432
291
316
263
318
280
342
341
296
318
297
329
303
347
337
273
295
279
323
306
266
350
309
316
271
295
254
365
358
341
326
315
283
361
326
360
305
277
256
377
343
315
328
249
290
298
391
277
307
339
376
340
318
352
382
241
384
231
332
216
320
306
305
279
387
339
370
357
309
340
299
320
402
372
301
218
335
372
310
327
304
340
239
373
320
355
281
271
292
322
344
195
323
271
262
333
379
262
279
231
281
179
291
299
322
369
274
327
328
367
318
299
270
354
377
283
294
331
389
283
357
305
331
338
362
303
304
430
406
374
376
309
238
297
277
242
199
344
311
322
333
431
289
344
288
401
375
335
345
304
311
302
305
279
347
244
193
283
302
375
319
357
326
278
330
363
310
229
423
349
362
304
276
352
237
329
270
331
239
341
263
245
237
327
295
304
287
289
291
282
305
326
287
331
378
312
307
302
288
317
263
296
292
358
305
329
378
255
216
344
248
353
320
393
382
364
338
321
339
300
346
291
267
302
233
303
310
314
315
309
385
399
319
349
328
314
265
370
344
364
246
281
340
366
330
262
357
348
302
396
342
338
273
328
312
276
317
280
327
295
360
301
329
284
272
324
337
383
340
337
357
286
341
234
295
301
364
342
331
296
309
287
274
334
293
304
329
338
302
355
376
279
244
237
310
317
328
318
233
247
325
361
330
276
300
238
354
407
296
243
377
306
322
279
377
338
270
323
246
252
269
225
400
260
277
367
396
336
287
399
369
299
354
276
421
305
330
380
338
347
351
368
305
327
309
320
303
321
380
240
346
356
339
313
356
316
318
329
273
355
267
362
322
219
295
327
340
220
321
374
306
276
371
380
252
263
373
290
237
368
276
342
326
335
303
355
323
267
359
277
351
305
297
349
299
324
330
348
304
354
341
330
275
289
324
278
312
359
306
333
349
292
335
299
268
246
299
318
285
315
209
283
190
365
350
346
321
315
347
336
350
318
323
243
244
274
334
312
278
314
351
322
367
245
329
408
329
393
392
240
350
401
376
302
294
319
300
298
307
342
303
258
385
393
241
353
236
358
376
281
335
265
363
297
308
287
269
294
345
340
262
398
355
275
258
334
263
246
307
368
372
329
354
271
417
365
334
354
328
286
371
343
344
310
313
322
330
341
281
339
367
305
311
295
344
372
295
298
350
385
264
290
229
332
324
338
377
290
287
257
312
313
266
319
268
365
371
220
332
264
260
288
346
268
281
276
329
250
351
299
271
248
266
322
327
267
289
322
338
341
398
386
299
295
282
250
278
345
254
348
242
345
285
256
302
315
373
253
301
264
226
329
338
246
296
321
389
301
274
269
243
399
348
341
291
310
348
378
321
355
331
348
239
365
336
318
363
345
336
344
290
318
375
334
373
304
371
313
312
313
306
379
369
240
293
322
355
311
378
239
352
361
315
242
410
316
323
359
293
371
341
342
308
333
283
343
207
361
313
385
264
313
295
249
327
284
287
274
322
231
316
405
293
290
347
226
276
318
341
256
348
343
254
240
225
319
274
289
309
341
224
304
340
345
313
287
264
257
367
266
279
361
284
302
282
298
313
247
245
264
266
292
332
299
363
317
255
262
298
314
295
392
376
335
301
356
253
348
336
375
308
329
320
326
235
302
362
299
283
307
315
285
330
298
354
289
360
350
378
336
355
292
334
372
341
355
320
284
297
359
322
289
270
312
239
306
399
270
295
291
271
280
313
306
289
279
356
281
252
291
368
388
278
353
349
325
342
304
277
321
332
320
291
278
350
306
316
295
285
349
295
318
292
387
345
303
385
300
259
368
279
328
317
353
357
221
307
309
276
276
359
251
369
290
285
280
367
275
410
321
336
328
314
277
340
342
306
334
298
304
365
333
405
309
310
355
303
365
333
337
320
290
344
303
301
344
178
365
321
342
388
358
342
274
375
375
315
267
278
262
248
256
247
279
293
198
232
284
331
313
312
353
303
295
237
368
307
308
385
282
295
330
363
391
344
268
291
383
361
315
320
333
283
310
356
384
267
301
272
249
273
318
336
276
297
295
249
315
308
281
358
324
283
290
280
342
285
247
415
311
349
293
352
368
334
231
341
310
319
312
283
315
358
361
248
369
273
280
434
279
251
319
244
314
278
268
380
318
355
293
390
321
331
305
257
352
337
335
357
359
318
329
374
325
395
332
344
344
198
345
274
314
297
348
338
335
349
302
340
256
204
238
328
265
317
269
343
251
390
384
377
359
288
345
417
332
254
360
277
345
347
321
318
386
361
380
296
304
279
312
354
347
332
331
378
355
362
306
261
273
319
347
242
347
370
382
370
363
191
251
381
365
288
302
365
344
260
256
230
354
355
304
318
306
275
333
306
295
266
307
316
237
415
323
304
339
362
303
341
300
345
352
275
392
397
317
346
317
289
353
345
377
374
350
357
294
223
247
268
371
338
319
317
317
310
348
283
277
258
254
276
370
337
304
402
302
278
383
384
324
260
367
370
369
329
336
321
374
314
283
275
291
413
403
288
375
369
312
319
321
322
318
309
307
300
366
300
344
336
309
355
214
441
339
333
309
343
305
374
282
351
290
345
351
370
257
228
268
306
340
276
359
264
280
320
306
385
341
321
352
266
300
309
284
278
279
297
389
257
380
395
298
317
249
312
344
319
337
344
255
316
290
278
333
275
314
365
228
342
324
269
268
332
318
325
276
267
331
326
304
320
275
267
293
310
338
390
392
372
336
350
328
256
249
261
326
215
296
391
320
303
276
343
298
355
325
338
269
298
283
269
334
343
358
351
354
300
275
329
325
267
311
287
342
322
283
244
357
295
295
352
357
286
298
338
280
357
245
250
307
321
325
293
324
312
374
366
275
397
340
366
377
244
321
298
332
343
282
301
290
306
291
277
298
361
243
358
315
294
349
349
246
275
276
278
217
368
278
262
291
349
397
354
336
357
430
257
406
269
296
267
319
305
309
248
297
312
386
388
310
420
320
321
261
304
392
304
391
330
315
343
356
381
259
360
311
300
368
273
406
301
265
343
267
286
274
289
352
331
309
291
254
390
333
223
284
224
311
409
343
376
352
277
357
398
343
288
243
259
329
349
246
324
318
327
378
285
310
298
252
282
310
230
318
332
290
230
324
352
345
330
389
283
361
351
297
287
405
408
261
258
354
347
283
256
272
294
329
358
298
364
289
233
295
287
330
377
256
291
297
416
299
265
339
411
313
275
362
301
252
328
380
380
320
382
334
293
319
323
321
326
370
334
341
275
408
278
304
372
385
362
287
346
311
382
347
316
246
408
355
382
229
280
346
319
285
330
323
277
315
304
275
227
307
420
275
347
300
283
271
328
370
346
286
332
277
314
335
230
287
314
336
290
277
367
347
360
344
304
350
361
297
364
317
269
316
371
286
345
352
221
314
296
279
267
314
309
360
382
366
334
350
346
372
419
324
305
304
347
247
365
395
279
359
350
365
378
365
325
312
288
305
302
365
350
307
225
322
390
336
277
356
350
336
341
347
309
327
305
330
264
243
340
344
257
343
401
353
274
320
339
402
370
274
250
335
303
268
165
317
307
329
260
288
336
289
278
284
317
327
347
289
287
307
312
332
310
363
343
304
336
305
283
301
257
271
347
259
260
326
341
324
315
401
336
352
272
309
268
366
281
276
321
274
266
348
279
228
321
258
329
297
405
229
266
275
298
389
286
223
311
320
347
323
371
312
317
278
359
338
366
380
314
290
323
237
222
229
336
308
345
351
277
345
390
337
305
281
298
347
297
370
320
314
302
290
332
283
341
327
328
355
298
265
227
300
298
260
344
367
275
315
340
378
325
313
272
299
284
261
379
251
309
303
333
283
323
347
231
297
315
373
318
192
266
265
228
333
406
316
320
273
376
330
285
288
292
267
354
259
369
347
355
357
372
287
384
411
367
333
324
286
254
265
397
367
304
316
255
323
352
336
261
362
243
360
354
290
299
362
278
322
354
293
436
332
327
302
334
332
289
315
319
315
361
293
315
325
266
263
360
351
396
344
310
337
294
192
394
348
303
286
337
310
343
256
278
278
277
319
308
238
313
251
350
331
396
376
329
299
357
352
382
309
344
346
324
243
271
333
290
334
331
389
373
296
226
359
318
323
382
260
370
316
353
282
262
298
393
301
359
318
295
287
323
340
306
352
381
319
292
361
312
370
317
340
257
351
363
401
371
294
303
341
271
253
303
323
418
280
324
331
236
267
342
367
362
285
342
243
352
298
279
370
321
338
285
347
305
334
367
371
283
307
373
307
295
389
344
264
397
338
257
301
345
246
355
290
300
329
342
417
233
303
318
374
292
354
278
385
374
292
372
336
276
224
350
326
310
325
314
277
344
280
373
277
357
376
353
310
354
240
269
301
269
233
356
311
231
402
309
322
374
366
255
333
343
362
309
270
363
297
329
287
274
287
258
310
326
345
394
294
342
291
289
277
364
315
277
320
294
304
325
224
245
293
286
321
243
351
361
289
354
293
348
381
348
320
366
264
332
330
244
350
353
385
308
347
391
346
363
346
363
314
224
278
274
328
373
322
298
358
333
285
285
322
251
275
269
267
347
357
269
258
305
385
299
356
294
263
356
329
319
312
296
303
288
303
354
368
335
360
315
328
304
368
273
394
298
417
286
300
299
280
367
357
328
357
299
326
292
305
350
334
322
349
362
331
328
271
283
314
353
356
299
275
360
328
326
328
296
353
338
336
226
276
413
337
347
344
252
360
329
408
356
366
358
290
292
428
233
225
333
280
318
355
331
294
369
349
293
362
357
387
324
288
313
230
324
285
313
434
344
352
261
293
359
295
292
278
343
336
334
319
330
341
284
333
404
239
293
303
307
208
269
288
313
386
317
293
348
349
307
338
249
292
321
323
335
348
348
292
319
347
372
299
361
324
332
290
316
290
217
341
279
333
240
272
297
278
336
322
341
307
308
248
349
272
256
381
287
317
320
293
275
335
323
319
385
276
326
248
341
285
288
231
299
349
252
381
288
320
304
357
235
319
331
307
265
375
312
297
302
296
280
323
335
278
283
320
317
358
198
354
370
369
303
397
297
360
374
263
394
287
359
320
302
277
307
293
217
289
239
367
284
354
368
311
351
360
442
413
278
374
332
280
365
360
292
294
272
245
354
329
309
384
229
293
307
322
284
332
289
344
304
268
291
389
261
288
375
301
293
335
361
294
375
255
351
244
315
285
319
264
293
316
398
354
275
366
268
302
331
341
380
341
365
285
359
314
306
293
362
347
440
318
358
357
271
351
385
332
313
313
209
315
345
292
338
301
315
179
313
321
264
314
250
207
271
272
281
277
356
283
310
338
299
354
307
320
353
308
339
361
246
270
335
302
197
312
307
305
230
378
342
293
292
320
262
365
289
264
310
295
299
308
290
277
291
288
324
333
342
316
330
361
248
269
286
303
277
277
366
287
302
345
284
299
248
279
291
219
346
323
212
267
318
307
323
383
255
320
349
293
315
273
276
371
267
329
252
343
343
270
317
355
337
334
320
280
258
335
271
313
240
418
391
268
251
334
307
249
270
295
342
314
241
376
226
277
315
242
235
328
367
380
360
362
327
304
338
250
373
327
412
382
208
317
365
269
335
312
221
335
373
293
270
244
401
335
268
275
356
287
320
282
380
297
275
288
302
343
279
293
360
274
373
299
362
292
287
247
375
281
438
292
302
414
322
229
269
332
233
251
302
268
293
320
388
265
323
356
335
304
317
299
303
344
290
336
399
294
364
253
297
377
340
336
208
313
379
306
331
312
363
360
370
309
302
344
393
226
327
342
287
362
366
369
312
282
408
337
299
294
232
289
228
328
305
355
350
307
380
339
328
220
366
322
394
322
226
319
384
320
341
303
246
341
369
334
291
241
359
360
369
261
256
357
307
334
377
369
421
466
383
356
351
259
350
276
311
285
407
318
331
317
337
289
300
251
375
293
310
313
323
230
333
288
342
363
342
324
309
253
352
282
323
320
268
296
339
313
343
306
323
207
253
300
273
274
364
321
358
332
306
354
317
320
260
251
322
337
306
344
265
297
352
325
360
322
323
373
302
319
226
230
440
274
294
252
293
273
288
309
340
390
390
266
244
320
291
219
307
335
308
326
388
311
290
318
349
312
286
346
299
276
297
244
304
350
377
403
321
321
395
365
288
288
256
318
385
283
334
305
317
304
201
352
422
323
184
299
316
292
300
376
289
288
275
339
267
317
326
328
305
314
305
293
331
294
296
351
329
323
277
287
259
241
386
370
283
291
331
266
403
271
297
264
296
274
367
224
396
247
256
273
269
323
294
355
305
358
369
312
307
264
348
303
326
325
320
328
263
408
287
282
383
380
344
329
378
307
311
292
340
358
339
310
350
275
351
222
317
298
318
251
265
328
314
285
282
327
327
270
264
344
389
274
225
335
222
298
299
354
226
338
363
361
223
298
298
344
265
286
277
349
451
250
339
334
301
308
284
326
239
364
223
300
340
249
342
356
305
277
373
310
275
387
358
301
295
392
234
276
271
268
304
308
365
330
293
283
343
319
372
333
254
323
343
408
216
263
328
263
235
367
341
389
393
351
378
279
340
378
337
329
289
288
350
368
311
305
295
285
348
280
357
355
315
368
329
216
357
239
341
282
304
392
345
230
323
327
324
310
337
237
341
276
308
237
272
259
334
376
325
353
336
317
338
304
308
338
325
315
292
352
293
306
385
300
337
292
360
292
341
343
344
236
376
300
230
401
384
324
347
325
318
202
304
280
288
276
358
266
305
326
315
347
299
297
299
293
399
345
374
360
293
297
259
280
402
352
227
293
291
333
308
204
388
289
262
410
313
282
301
295
293
268
365
395
294
232
375
273
351
411
342
315
309
352
284
204
335
328
241
307
319
346
257
250
286
326
385
301
340
391
326
349
325
310
392
318
345
320
295
275
365
326
397
288
289
265
433
307
320
268
304
318
328
352
317
264
259
374
283
352
356
320
371
240
257
357
349
313
381
317
373
249
255
286
370
219
310
295
243
342
322
302
295
278
362
318
426
367
367
312
310
342
277
278
222
355
313
327
364
287
233
275
297
323
348
316
350
300
343
355
345
320
263
395
312
243
309
368
280
301
231
316
292
299
348
267
309
366
273
362
278
184
233
286
243
359
353
342
320
247
327
220
283
311
214
317
271
295
238
266
366
331
353
310
345
349
290
245
306
355
187
336
311
316
215
311
316
360
237
237
245
340
342
321
304
268
283
404
346
268
325
362
328
334
343
313
368
388
352
349
297
266
291
304
323
270
353
298
294
271
328
373
286
285
314
301
337
365
301
338
301
360
237
314
302
323
325
320
285
385
364
304
244
364
278
278
260
294
328
304
319
402
333
298
338
258
271
255
363
262
278
245
297
275
357
337
279
342
373
342
337
356
294
328
271
218
327
284
240
291
228
323
299
291
301
298
310
315
285
256
234
319
346
272
293
255
356
354
267
278
347
333
299
330
384
325
356
276
338
338
311
246
308
291
390
281
364
281
385
309
350
295
221
292
228
386
294
312
270
205
354
259
334
223
368
262
292
336
340
305
444
221
372
303
343
322
244
394
288
323
359
263
359
314
336
409
365
367
299
249
278
286
298
377
285
269
321
339
369
281
361
303
332
342
322
277
344
283
261
324
363
333
337
245
296
315
432
327
296
219
240
322
327
404
365
312
349
285
409
357
204
288
280
345
309
313
336
237
359
305
325
364
335
313
299
328
385
310
378
218
338
321
276
306
273
260
285
296
287
268
300
379
242
277
367
358
305
296
317
287
254
327
282
375
325
272
354
291
344
348
305
273
342
351
299
241
312
291
235
300
352
299
311
299
315
352
322
293
342
323
352
387
233
342
363
294
268
296
248
237
300
262
378
306
313
371
358
362
309
331
220
278
309
274
219
351
208
234
271
363
288
301
324
294
322
302
350
262
283
375
245
273
298
344
363
324
347
254
292
282
334
366
266
318
361
235
323
333
271
387
353
291
378
303
369
331
379
409
363
301
384
251
322
260
353
303
321
323
359
296
313
426
291
236
297
309
325
266
327
342
326
313
352
350
261
370
313
335
364
275
306
265
353
357
377
328
267
369
342
374
267
238
299
256
343
320
272
366
333
371
386
369
303
297
236
398
352
288
290
351
355
320
245
331
402
372
377
259
360
286
359
363
368
290
256
324
384
313
308
303
311
306
227
310
346
312
321
324
260
388
319
315
280
266
321
345
310
295
310
351
226
305
234
237
357
227
278
223
391
327
288
285
345
323
314
311
322
330
373
322
323
303
258
290
400
279
266
359
336
348
326
389
367
290
328
329
393
386
371
300
363
326
310
326
256
387
368
382
362
342
321
303
291
303
331
344
210
279
282
288
345
293
346
224
327
314
389
251
294
363
376
396
307
339
368
299
304
369
305
366
256
249
360
285
307
368
297
296
287
288
338
321
259
320
311
262
285
275
267
306
339
282
309
333
280
315
250
336
299
351
258
394
307
344
212
349
316
352
300
344
343
268
401
248
372
322
299
358
302
332
324
247
311
274
194
295
352
254
342
381
292
249
299
346
419
219
340
280
250
316
341
393
267
319
372
345
281
347
350
304
352
323
310
372
306
285
294
376
354
305
277
239
367
347
323
351
318
312
317
290
301
266
264
313
328
360
338
320
224
344
293
220
268
278
306
312
281
345
398
264
286
345
330
365
398
339
270
264
362
351
283
302
309
241
366
307
245
342
391
268
321
306
280
241
337
379
395
226
320
244
285
383
222
255
376
330
277
346
265
339
279
322
278
266
255
306
334
281
312
323
270
314
344
354
397
265
346
315
320
312
327
257
357
307
339
407
275
330
240
363
337
342
366
386
368
360
289
334
303
252
297
277
399
376
359
363
313
324
281
311
230
309
384
348
382
330
213
359
371
344
225
255
328
381
332
257
326
256
266
315
402
356
388
300
339
278
373
303
328
309
334
297
307
296
268
344
263
334
285
250
344
270
366
303
397
297
321
342
284
369
343
348
254
416
283
247
291
321
363
394
379
251
396
293
332
284
378
294
356
314
333
181
346
283
372
266
330
272
266
229
355
255
280
372
322
304
345
246
254
331
288
321
325
306
291
353
378
311
311
297
314
317
198
353
224
307
340
352
375
247
277
337
375
322
354
311
383
236
311
307
339
335
307
313
239
297
350
313
380
318
335
336
262
387
321
333
232
364
312
337
275
311
270
277
351
251
356
206
400
281
316
330
295
339
332
362
324
332
322
293
389
238
302
321
321
342
357
324
391
310
268
248
341
223
305
319
270
314
246
293
307
280
284
316
313
314
320
400
424
366
322
316
331
364
379
353
314
399
337
314
302
283
265
280
266
280
340
320
353
341
245
266
278
233
357
316
275
338
309
317
327
313
330
246
307
322
302
323
312
294
357
374
333
324
257
355
297
284
256
273
300
286
255
312
305
252
324
294
280
335
333
361
297
321
402
391
236
316
374
341
288
289
392
330
351
276
392
320
303
343
289
408
266
324
276
292
248
353
297
355
395
274
289
320
256
301
359
331
260
304
276
337
307
418
299
263
343
318
314
343
348
415
313
362
356
328
308
382
234
281
311
213
296
268
247
254
331
371
364
313
333
338
260
324
346
353
385
231
381
349
339
352
288
312
300
303
323
394
218
271
249
345
319
293
279
296
323
298
300
396
280
307
245
324
393
327
263
399
319
369
289
285
331
293
289
373
209
375
323
394
338
353
330
338
345
316
257
303
341
300
283
334
332
346
361
261
311
293
368
292
357
328
325
274
355
294
266
264
227
373
306
373
351
329
331
274
318
317
383
333
358
283
332
352
388
327
324
344
301
305
282
395
243
323
339
295
272
279
345
368
328
272
298
376
256
356
290
333
367
251
331
285
361
349
363
252
348
240
380
307
288
362
391
338
414
354
262
297
313
295
264
318
312
388
386
321
250
353
269
353
310
335
247
255
330
292
292
318
307
404
281
255
350
338
267
277
291
353
325
284
232
343
343
359
301
315
283
326
273
301
372
318
334
331
303
297
273
250
263
184
357
338
336
265
328
331
287
357
311
347
250
355
303
290
342
308
370
283
255
287
340
393
315
332
396
360
284
329
228
318
311
385
351
349
272
297
332
310
288
304
344
276
299
369
290
371
373
344
353
339
266
276
388
277
302
270
338
385
328
371
257
346
289
306
273
228
362
306
351
336
307
354
282
345
362
330
388
274
284
239
335
219
320
369
347
350
268
317
299
324
309
346
287
347
358
262
299
361
314
307
235
290
370
367
363
270
311
298
331
381
311
350
392
250
327
255
364
218
395
376
345
332
288
289
313
350
317
288
304
212
279
267
316
277
283
182
305
321
344
351
289
404
324
275
329
364
329
345
342
329
219
351
344
350
253
281
298
363
272
325
337
239
282
294
379
315
363
354
352
325
322
358
388
251
316
336
343
356
365
343
329
261
350
392
343
314
329
311
368
296
299
287
330
378
297
386
169
357
328
299
278
328
326
258
332
285
416
324
359
258
327
312
315
346
362
384
279
347
373
296
335
397
301
348
264
284
282
333
267
189
339
319
295
262
343
288
263
347
192
336
289
266
307
375
339
286
335
331
377
296
369
292
297
297
262
353
366
366
237
373
287
344
315
274
312
318
219
300
240
342
361
316
290
227
337
319
378
262
378
316
351
348
376
352
316
360
364
306
229
346
345
303
289
272
323
324
282
306
322
278
288
293
250
244
269
331
315
302
369
292
311
375
343
294
267
406
324
372
326
324
282
288
369
367
306
292
294
230
339
356
323
220
338
325
379
355
299
315
330
358
294
317
281
306
321
321
284
345
401
329
305
358
265
386
283
395
330
287
290
406
269
314
330
357
338
301
330
285
283
326
264
287
314
317
259
219
335
304
297
311
314
323
261
342
267
292
267
285
351
332
305
385
302
332
317
270
286
345
296
402
304
310
335
261
325
308
373
276
338
211
338
303
274
267
289
356
259
317
331
343
278
335
327
249
379
334
409
280
282
376
297
371
264
277
247
277
351
283
275
255
282
293
303
312
291
335
295
319
353
347
285
327
314
298
339
299
350
387
319
333
332
240
371
273
354
332
286
328
327
317
351
335
318
280
343
289
276
259
231
276
251
330
345
301
318
336
337
330
355
267
332
346
298
256
317
354
336
305
367
282
338
313
319
360
374
326
436
315
280
261
353
305
357
270
359
327
264
349
368
311
370
313
250
355
316
308
221
290
333
311
379
286
309
341
268
262
295
333
341
340
285
289
342
329
340
389
340
239
370
342
344
277
306
383
304
315
289
292
337
302
306
387
349
391
378
425
255
360
345
370
319
327
300
318
312
325
347
330
246
373
321
383
361
355
310
402
282
296
297
269
349
304
309
253
291
299
302
333
320
305
424
287
288
318
261
330
302
398
319
279
302
342
317
351
289
352
309
386
370
254
346
231
412
338
360
298
322
300
318
239
418
242
329
371
265
391
270
256
288
329
275
302
378
327
353
343
296
302
383
320
299
298
303
293
324
314
290
318
393
349
317
231
249
295
370
257
313
374
354
326
253
292
293
367
281
381
308
316
357
397
304
248
338
404
391
324
262
284
286
315
250
337
323
391
284
296
270
378
235
275
328
355
349
232
341
344
307
368
285
349
381
362
257
360
228
321
253
379
346
364
330
374
289
272
331
294
310
287
337
256
233
329
331
379
348
322
270
381
302
318
264
347
335
306
277
352
310
373
347
278
282
363
287
281
331
400
305
325
300
313
339
301
323
268
351
425
272
266
309
332
335
359
299
307
362
330
360
328
328
387
286
326
335
287
289
360
387
340
245
303
301
377
192
333
256
361
387
253
249
365
296
294
278
222
266
350
331
286
408
287
353
291
297
421
394
373
265
353
260
256
268
302
352
315
314
219
337
235
231
290
312
306
281
312
291
338
338
326
290
318
280
293
298
234
377
370
344
320
407
320
291
263
289
280
309
283
377
252
377
310
285
349
377
260
337
311
388
291
308
311
287
374
412
303
314
224
299
397
320
282
372
339
404
309
348
325
323
283
311
369
389
263
316
272
299
213
412
264
275
322
280
336
400
344
287
325
259
344
234
271
269
274
288
288
228
332
224
303
246
290
284
264
317
348
367
334
308
322
294
358
391
282
298
334
372
408
302
348
279
339
262
287
326
308
301
296
299
354
288
361
311
243
339
369
357
216
288
362
300
312
305
313
358
311
319
246
319
322
280
276
292
282
304
285
386
316
323
270
230
355
261
348
301
301
313
314
339
281
288
328
347
315
327
291
352
283
276
282
369
327
336
295
341
282
300
333
280
284
321
347
214
335
335
406
372
285
338
343
343
296
350
365
260
266
313
335
296
316
276
393
271
323
368
288
329
250
349
317
261
241
376
372
259
275
336
286
287
318
274
349
340
395
335
284
305
367
302
248
254
242
294
270
388
331
372
299
294
278
275
372
290
340
267
332
322
262
379
308
307
330
281
328
279
399
313
359
336
262
373
322
290
345
308
250
328
301
295
288
285
299
307
312
292
303
390
385
277
360
301
289
342
308
319
231
376
324
382
310
339
367
348
360
376
342
283
310
406
320
354
204
209
315
362
323
306
356
364
339
334
265
315
294
370
272
367
273
317
332
338
358
321
281
279
310
273
311
343
251
238
345
280
326
305
269
308
199
375
389
326
369
311
324
284
260
308
316
282
394
338
307
207
299
347
285
277
224
370
345
379
303
270
289
277
383
284
329
303
238
361
314
209
380
257
347
312
308
390
390
198
367
291
355
415
309
252
243
384
314
352
360
371
309
282
409
331
314
280
395
275
304
280
405
265
271
315
298
320
275
255
357
289
322
395
310
387
312
237
290
335
294
308
337
312
314
345
323
308
309
341
328
299
383
365
366
308
341
338
388
326
330
308
362
347
265
233
326
391
309
313
262
386
372
367
256
276
364
320
346
319
296
290
311
289
440
310
320
370
332
303
314
343
297
249
319
330
293
296
374
301
271
346
354
319
375
327
329
291
369
377
355
357
309
315
270
429
289
400
335
306
328
287
266
346
305
227
348
295
334
280
306
305
359
331
254
262
301
312
291
285
307
308
175
369
373
363
324
325
318
338
355
410
335
291
334
272
331
246
315
253
312
271
322
332
263
351
324
301
283
274
346
345
281
302
288
357
345
284
338
354
302
270
337
300
310
378
380
331
348
294
377
317
388
279
318
335
247
267
298
346
327
359
325
301
203
256
271
289
304
345
286
385
291
304
316
324
313
255
272
265
312
326
376
328
338
285
336
294
395
283
309
348
340
373
262
367
265
269
284
278
336
270
264
373
377
293
307
330
351
351
276
191
269
247
344
309
357
334
336
307
304
271
350
169
353
235
231
285
339
320
341
339
303
319
267
250
360
317
356
346
381
302
227
351
338
282
286
352
211
326
287
316
356
319
238
292
327
312
280
290
320
322
321
306
297
364
315
429
325
347
340
371
358
405
227
333
290
312
359
267
289
339
331
325
285
221
304
290
294
296
356
359
372
304
300
305
332
346
279
265
275
240
365
279
272
365
299
318
375
272
363
351
250
246
311
312
315
312
349
358
315
347
292
311
393
343
380
337
197
324
230
297
266
418
244
294
330
294
302
293
305
342
353
316
382
276
339
293
360
268
271
222
223
220
310
243
312
245
296
283
285
298
298
259
314
312
270
246
336
218
366
370
313
344
336
361
200
279
349
228
332
325
226
276
384
231
265
432
215
285
253
351
254
327
332
402
267
298
299
331
292
302
413
350
351
295
407
260
343
335
269
325
347
271
303
188
317
358
295
321
358
296
315
304
352
340
298
355
348
355
242
386
334
311
199
331
312
309
341
309
380
304
347
366
392
293
275
345
330
288
253
253
277
344
265
325
286
334
251
312
338
311
311
226
363
342
262
375
233
265
253
228
301
310
386
304
251
287
307
335
353
329
304
321
342
268
300
388
312
324
325
276
360
325
305
339
347
322
268
321
212
274
307
319
318
302
335
282
352
333
375
342
406
272
328
303
296
225
359
364
307
356
349
298
361
291
350
288
350
404
342
334
272
433
181
331
358
330
356
250
295
298
318
283
354
335
334
300
276
241
295
330
321
351
392
399
276
275
276
318
408
297
292
327
261
344
369
301
342
348
281
343
323
253
324
289
282
288
288
407
351
282
191
314
416
243
329
289
399
353
304
285
354
308
299
336
319
355
266
324
307
365
296
282
364
332
350
312
272
279
302
365
291
326
315
412
329
370
321
212
314
357
333
312
339
286
204
363
352
306
363
290
269
299
270
327
251
325
288
278
353
355
328
326
301
387
259
300
364
319
337
207
264
269
303
232
279
365
338
407
316
265
299
400
215
331
292
327
246
257
257
269
257
341
332
375
296
350
327
329
356
335
273
305
257
317
392
270
363
233
311
257
201
295
295
349
286
335
311
315
275
406
273
290
309
286
282
295
299
302
372
349
325
328
308
306
365
347
388
287
298
259
326
295
270
339
318
349
326
347
284
263
307
385
309
273
278
276
365
347
314
288
342
351
313
254
348
328
274
319
335
326
359
380
294
386
308
280
287
220
360
333
328
308
333
337
310
323
333
369
249
264
339
298
318
328
331
339
340
412
344
371
351
357
325
342
381
221
327
332
375
321
386
285
274
319
354
268
326
301
359
336
264
323
274
303
203
357
321
387
321
329
242
327
362
247
280
302
297
202
216
326
299
271
291
396
309
282
273
307
362
361
290
255
288
334
287
364
308
243
292
278
284
348
287
320
271
373
209
356
286
364
283
358
275
308
293
342
195
334
274
324
304
331
381
307
221
369
270
312
299
298
394
305
316
279
277
357
337
360
287
360
277
282
333
360
267
256
357
255
375
321
242
351
309
268
289
307
366
322
389
376
226
307
250
373
303
212
361
329
297
319
278
313
307
435
391
258
297
378
345
311
370
328
291
307
257
359
404
231
281
275
350
298
284
278
292
307
322
293
329
353
394
301
324
308
335
311
326
229
333
293
329
341
281
278
338
345
264
277
279
332
336
338
318
279
365
295
368
302
345
306
351
316
369
289
302
394
283
321
307
170
318
333
290
327
380
328
312
280
339
251
293
367
328
306
337
272
405
287
345
295
272
345
345
241
314
357
260
302
318
264
238
283
348
346
417
358
329
328
382
316
349
285
308
303
330
375
254
268
390
258
342
413
351
339
336
265
274
355
335
389
404
259
322
361
244
331
290
346
286
392
294
306
320
359
331
341
294
345
347
328
426
329
359
262
218
225
250
305
298
346
305
332
320
327
286
350
347
293
328
332
332
351
250
211
390
331
367
241
350
348
328
249
253
343
307
351
351
301
293
268
292
343
396
374
365
316
320
359
283
310
238
304
176
315
260
239
314
306
356
337
352
322
312
350
253
262
283
383
267
339
395
332
425
254
353
323
334
324
363
372
324
369
332
261
294
263
306
378
287
401
307
286
383
262
236
400
282
371
368
275
282
345
311
359
322
327
397
338
363
310
259
370
282
310
300
316
290
364
329
288
287
298
326
356
269
338
342
318
276
327
336
313
300
270
366
330
229
275
290
284
245
286
301
372
340
294
329
312
367
297
308
331
375
342
311
312
348
361
318
381
271
401
279
319
413
352
294
340
319
357
357
307
336
351
313
304
330
351
322
291
364
370
311
283
387
314
349
314
314
367
266
259
267
301
317
292
277
359
305
333
377
436
241
358
293
229
334
333
323
373
260
335
341
289
326
270
280
359
270
352
243
295
271
349
358
292
228
360
340
377
319
350
262
300
349
331
368
288
290
354
331
326
315
309
328
334
313
419
280
287
190
314
372
279
261
250
320
271
242
274
291
272
340
368
382
348
335
328
255
293
353
254
263
254
303
250
346
369
316
369
208
234
286
289
411
387
295
360
288
303
280
273
285
303
355
377
266
278
236
242
206
282
378
308
262
359
333
334
278
366
385
305
272
156
310
316
310
239
233
326
270
360
272
302
227
287
269
293
271
322
278
276
288
328
328
311
279
374
340
343
329
403
239
317
290
297
305
341
357
306
291
321
343
335
365
218
320
254
419
348
312
363
291
328
309
334
336
228
286
375
370
335
243
346
299
367
310
369
303
360
347
294
274
389
280
276
306
323
302
329
329
308
351
266
204
285
353
281
276
350
380
338
352
332
344
303
314
333
340
289
292
284
266
277
300
336
319
293
286
322
267
266
329
275
426
286
312
245
262
361
303
222
319
312
329
367
261
286
307
325
367
316
392
332
315
282
280
307
273
353
319
276
306
254
347
308
368
370
341
355
305
313
387
311
255
342
369
256
353
346
367
316
327
316
386
291
292
315
281
232
397
302
329
320
394
220
306
329
351
315
238
395
278
324
295
382
305
338
322
232
356
198
295
355
330
343
275
294
346
337
334
266
394
302
316
287
322
264
267
294
380
250
290
293
239
258
237
250
351
328
288
298
275
338
421
311
271
285
278
319
293
300
314
360
278
307
309
303
244
426
398
252
391
367
366
243
313
342
348
316
304
275
284
337
266
299
357
332
295
255
336
336
297
260
191
341
233
319
357
295
252
283
306
281
339
250
252
372
352
357
345
265
312
231
338
402
261
335
292
316
336
389
276
310
375
399
398
271
323
282
248
341
300
324
376
412
264
321
331
380
380
366
358
359
396
418
355
267
326
381
311
293
322
380
354
292
274
278
383
312
364
309
348
302
329
365
355
318
285
287
379
340
307
339
312
237
277
212
268
359
366
381
268
269
310
220
314
274
334
353
297
299
333
316
306
272
308
329
330
357
327
356
328
324
313
333
390
299
250
365
339
331
224
270
275
298
281
354
350
281
276
280
369
368
333
350
321
381
334
345
276
268
261
402
316
253
253
233
304
343
356
342
325
355
287
355
369
365
359
293
246
274
214
375
364
273
371
304
404
317
340
281
286
284
324
371
337
291
292
319
322
296
297
338
364
245
324
363
382
190
211
304
327
394
274
290
282
328
289
288
344
268
295
246
411
240
272
322
291
368
301
277
330
304
301
261
331
321
300
250
331
230
222
348
249
336
394
376
340
332
358
332
267
361
297
336
195
232
318
388
327
387
310
322
218
327
349
308
347
303
368
287
293
352
322
250
249
344
291
285
251
285
372
328
269
260
352
348
304
316
319
334
302
269
260
221
335
296
311
254
382
302
282
294
346
384
297
239
315
350
254
281
384
343
355
306
389
268
262
310
353
309
266
341
365
373
308
252
341
436
367
267
328
308
348
332
215
228
354
376
305
261
269
361
314
339
340
326
320
285
302
366
338
380
293
297
287
282
285
344
338
268
331
323
261
289
347
302
345
355
316
368
297
336
317
347
360
294
301
290
275
294
294
318
362
358
317
340
317
345
309
424
245
226
277
340
309
361
411
315
367
385
366
389
289
329
335
250
324
392
413
384
259
213
263
373
328
335
268
273
345
258
277
280
365
274
286
222
303
323
328
339
335
338
373
359
386
320
370
318
333
380
313
345
310
402
252
314
285
314
252
292
317
304
299
291
301
303
302
285
263
369
255
285
296
346
433
250
344
238
391
323
248
300
322
313
346
247
292
323
344
291
343
295
332
325
366
356
380
364
260
309
294
299
303
282
329
342
250
303
326
284
227
389
404
353
397
313
261
264
275
350
344
322
282
333
399
288
343
337
319
266
322
271
293
379
270
323
254
359
327
310
347
342
325
289
274
397
321
321
320
361
303
305
371
362
216
302
337
281
271
317
338
406
308
246
267
282
315
277
279
291
218
305
296
302
268
339
320
231
336
367
351
248
383
274
386
300
363
296
243
325
286
350
404
302
267
356
250
271
377
336
342
319
308
286
352
297
338
244
345
305
305
292
270
306
360
342
313
387
329
323
295
369
280
331
242
381
353
268
379
255
347
284
294
340
270
247
373
249
338
326
383
302
313
267
230
315
364
374
257
339
360
335
366
333
395
365
376
408
268
321
333
348
354
394
369
310
339
341
287
270
315
274
323
315
304
288
278
318
351
340
353
328
331
301
421
350
365
374
312
350
263
324
271
290
281
293
267
244
232
293
263
327
342
324
333
290
215
329
361
361
335
294
259
290
342
319
337
305
261
284
329
269
351
257
238
322
281
347
263
348
294
281
311
217
248
324
302
280
307
349
379
317
245
259
282
248
299
349
335
302
250
321
296
254
369
244
366
338
333
346
287
241
322
352
287
229
271
292
298
229
416
341
284
307
386
371
321
332
341
348
283
254
337
388
322
273
343
292
336
317
335
340
294
298
284
320
391
303
328
326
407
336
314
322
308
234
330
354
256
297
251
258
367
322
320
293
356
196
346
327
291
319
321
318
301
347
371
393
297
349
318
355
353
325
343
343
326
244
353
300
305
293
411
319
334
284
313
312
334
350
365
393
360
384
319
261
284
369
369
268
298
253
299
284
304
323
243
376
295
315
310
314
279
302
279
239
365
328
356
257
355
322
367
202
310
369
313
346
279
265
220
308
417
297
317
298
315
318
327
193
320
228
306
346
349
331
307
319
314
296
328
304
327
254
311
251
270
244
343
388
370
398
369
250
223
369
332
331
342
324
359
371
393
335
282
342
294
319
333
235
333
341
216
320
361
375
326
230
387
324
341
275
334
269
338
232
288
272
327
195
357
327
341
323
275
292
331
339
342
267
263
375
233
268
316
357
273
280
278
351
253
307
305
290
383
289
415
204
336
371
319
287
293
247
347
262
298
325
296
346
282
312
341
342
256
399
315
223
310
227
351
363
314
345
337
309
271
407
353
375
342
283
333
265
340
192
319
327
334
297
406
273
434
252
274
355
359
291
387
326
323
276
357
330
342
346
291
305
292
281
319
314
305
336
270
298
290
314
235
374
290
285
357
275
310
264
363
289
318
298
317
349
409
346
362
289
319
390
307
320
283
359
302
290
407
293
364
389
340
300
329
307
299
289
288
339
388
349
344
371
366
287
350
342
284
360
373
326
239
317
367
330
349
354
410
299
355
313
324
235
288
301
268
340
275
331
290
346
222
289
349
273
347
284
329
383
362
311
355
253
273
328
350
300
378
308
275
298
371
266
297
358
284
364
301
388
320
320
291
408
344
413
383
356
354
261
315
291
307
364
385
312
214
253
239
278
264
311
264
411
358
398
285
250
261
286
331
318
301
364
336
362
364
254
337
332
398
341
326
344
339
352
328
325
330
267
394
318
293
323
238
282
306
353
322
325
319
277
301
229
344
299
380
364
242
274
326
361
271
388
358
292
233
283
330
344
291
342
395
238
361
320
354
232
236
330
316
246
280
338
257
275
324
331
323
266
422
334
286
287
289
326
340
314
396
322
362
292
344
331
376
270
335
357
350
289
289
368
356
285
322
420
229
301
392
328
309
339
260
282
290
254
379
314
303
249
304
213
235
362
244
336
320
251
316
281
411
230
325
262
326
249
299
326
280
277
287
364
272
293
316
330
245
379
258
396
264
310
281
398
353
299
312
353
361
343
297
250
283
316
283
415
308
361
275
260
342
293
318
308
352
239
282
365
365
240
333
351
306
284
381
292
275
333
328
313
327
325
324
326
280
326
270
306
366
213
252
333
379
315
292
326
253
303
261
321
324
277
331
273
343
397
367
322
362
403
313
349
280
295
236
313
268
318
359
323
325
311
312
302
267
369
343
330
344
378
355
371
372
335
383
382
369
379
361
215
308
332
232
256
315
352
322
302
257
276
262
329
349
248
283
327
275
356
396
379
294
331
299
322
292
251
369
265
311
319
285
253
340
283
367
336
272
319
395
318
327
282
310
309
214
209
335
328
340
276
303
297
266
343
339
290
278
318
260
313
356
411
352
290
341
351
317
336
320
336
225
365
359
350
238
289
329
284
382
329
324
372
300
392
279
278
330
379
278
328
233
286
337
226
362
240
346
418
309
321
269
217
313
367
328
341
306
282
304
418
309
362
330
341
333
303
287
219
351
349
359
360
276
313
253
372
328
352
275
272
282
192
311
320
283
195
347
358
278
360
345
402
325
344
373
332
297
350
362
358
380
336
339
257
343
246
386
297
337
349
373
294
300
334
280
278
374
321
293
304
323
361
318
279
292
291
371
337
359
333
355
268
309
273
361
348
329
270
284
313
288
300
244
318
356
327
301
284
364
360
308
291
340
368
269
317
354
264
293
340
367
356
398
317
224
355
351
335
361
298
297
289
339
314
344
322
342
254
411
259
368
310
323
297
300
303
303
263
316
246
316
309
219
313
354
353
259
314
333
342
320
319
330
330
325
327
356
301
332
361
326
276
323
337
300
343
358
294
332
353
244
364
310
357
332
324
301
284
334
318
248
271
285
404
288
317
353
363
401
261
281
247
337
219
337
301
299
402
406
391
320
328
254
414
279
334
295
270
274
271
262
220
320
316
411
340
351
228
396
434
261
394
307
270
281
248
329
309
275
303
335
194
376
357
280
230
310
350
238
307
289
300
418
260
350
315
315
248
272
277
386
314
348
314
289
300
331
347
261
332
277
294
287
297
317
329
312
374
329
318
306
332
371
337
363
337
281
266
362
414
289
295
335
269
391
270
321
330
284
308
325
289
378
309
324
399
360
431
251
317
383
250
375
412
326
310
236
288
285
353
350
326
273
265
325
346
351
363
344
278
228
366
322
288
353
271
353
347
320
336
394
382
338
289
299
301
226
327
361
332
296
341
386
319
346
302
296
369
310
306
280
296
310
311
324
330
266
316
268
318
312
332
277
283
350
350
281
248
341
287
321
302
327
295
372
325
327
327
353
303
307
283
319
308
317
315
259
287
226
254
390
310
239
322
282
277
406
364
282
344
293
348
295
327
348
363
284
289
309
363
338
320
425
343
372
272
318
365
314
318
281
270
332
354
281
332
328
296
334
300
326
332
362
334
341
276
293
363
292
259
289
227
297
245
290
389
279
322
284
345
323
258
329
329
322
308
266
319
313
411
252
238
244
315
317
312
308
318
347
288
293
319
272
329
406
329
343
367
315
310
171
298
395
396
278
311
330
335
271
266
342
269
328
208
296
206
328
314
374
312
331
303
318
237
427
284
316
357
324
352
348
308
355
328
268
372
274
274
366
297
387
348
271
337
265
316
312
340
287
313
263
311
356
268
311
308
326
384
235
225
334
325
247
305
344
388
240
355
286
311
337
248
415
288
310
284
352
300
349
411
273
312
317
319
378
317
325
359
338
295
325
352
334
203
326
405
247
325
323
385
261
248
348
283
329
297
318
304
384
327
323
350
345
235
312
313
336
372
333
362
334
242
320
318
337
306
312
307
338
288
340
357
352
219
329
326
255
295
255
338
231
283
358
314
344
358
279
234
289
320
390
322
320
265
250
285
347
322
334
278
359
298
306
345
318
288
322
333
265
382
266
238
340
369
330
270
260
323
313
252
346
297
372
350
336
316
273
307
340
267
347
292
322
310
316
299
265
348
299
263
265
313
348
306
283
283
279
376
357
379
340
353
401
295
287
358
362
293
286
283
368
307
364
353
268
388
357
258
286
333
325
264
221
357
294
276
304
349
292
248
264
283
382
364
265
354
299
307
353
279
331
314
363
340
312
271
307
384
235
308
202
330
241
274
388
345
187
289
302
310
313
387
329
313
337
299
308
274
331
346
349
393
266
301
282
278
342
310
361
346
274
273
335
316
291
348
255
332
319
350
310
285
297
252
313
296
354
263
334
309
202
375
309
354
276
298
325
319
379
282
343
280
340
322
304
232
294
385
299
272
304
283
273
361
355
311
403
425
360
286
300
350
304
260
260
257
355
332
242
310
303
278
255
288
267
313
363
354
221
297
413
309
279
311
322
337
335
352
360
308
326
302
260
256
393
284
388
287
267
295
375
279
316
323
265
323
262
218
311
196
255
316
367
198
302
293
249
255
364
311
288
374
332
307
398
294
249
322
275
324
323
206
325
314
339
258
320
271
319
311
362
317
354
276
349
316
294
334
382
372
300
382
347
283
308
339
293
266
328
277
255
232
348
304
391
369
247
262
342
324
308
366
287
210
313
389
339
317
402
326
324
335
358
377
243
333
296
197
338
287
327
287
317
320
338
375
309
333
294
355
301
294
317
288
367
313
352
287
367
262
207
285
284
321
303
263
355
325
339
348
218
360
358
389
370
330
333
372
370
283
296
329
331
239
301
340
312
299
337
335
347
306
287
278
324
371
359
289
321
247
311
316
335
351
268
297
292
396
312
354
307
267
377
335
242
237
382
309
312
332
261
407
280
339
354
407
253
340
326
328
338
419
365
375
346
274
250
273
347
213
376
336
275
344
305
280
302
353
274
379
356
293
291
340
263
297
238
377
214
248
295
228
285
290
314
222
286
286
265
310
250
306
260
260
330
258
345
231
254
249
233
354
403
353
372
306
240
327
416
230
228
328
292
348
344
303
236
255
222
255
324
355
267
227
348
212
302
346
320
235
278
326
347
298
250
310
245
372
266
281
384
295
299
322
322
306
347
319
337
342
281
268
293
345
355
353
295
260
311
246
349
368
300
271
334
357
212
282
370
318
321
268
323
350
300
291
328
258
273
356
331
301
283
316
275
326
374
273
382
310
311
309
237
378
314
349
300
327
303
386
313
267
280
334
305
387
251
310
393
260
255
329
327
363
339
349
219
287
316
389
304
270
346
330
351
281
322
290
317
223
406
368
318
335
391
265
392
199
310
371
284
365
301
344
374
302
253
328
309
376
354
301
350
361
219
255
421
346
420
386
331
288
287
334
275
407
269
330
257
350
193
357
332
343
311
356
367
302
373
258
261
377
319
322
312
326
340
279
349
257
250
293
267
289
376
338
346
242
291
278
221
282
362
322
243
310
328
292
295
368
373
339
271
299
320
354
268
400
330
330
325
266
331
382
254
342
299
277
287
324
290
284
268
231
284
350
268
394
334
335
364
323
456
279
258
279
329
258
291
241
301
347
216
317
276
341
307
304
301
344
274
300
333
360
279
371
309
309
303
379
354
239
330
330
276
383
396
269
352
278
388
332
292
362
312
268
319
386
288
337
348
229
370
311
345
343
329
316
280
288
358
246
210
342
266
322
326
338
364
279
281
322
367
429
274
236
262
252
316
292
367
301
307
350
253
282
301
424
321
264
271
353
259
366
372
316
298
305
419
322
354
222
318
334
317
377
374
263
278
345
267
236
381
319
376
277
337
338
386
293
385
293
273
347
264
254
269
296
382
348
311
326
332
389
220
331
275
343
347
349
341
291
306
380
309
315
305
273
264
304
318
319
293
409
363
340
360
251
358
340
288
324
299
319
366
287
352
346
296
344
317
315
256
253
375
302
342
303
268
345
281
371
361
369
223
411
416
358
323
327
305
312
289
297
209
419
334
330
231
326
302
315
340
343
306
309
197
396
328
325
257
285
277
396
326
362
320
340
286
397
384
224
371
271
339
215
292
322
349
349
363
355
271
253
342
401
336
335
274
301
373
327
383
211
320
292
330
369
281
352
282
394
246
305
239
246
359
408
295
363
381
258
294
306
306
332
273
362
331
322
395
255
361
291
357
260
365
258
332
349
236
299
342
325
289
353
297
329
301
274
287
206
331
258
322
279
222
237
241
282
307
325
324
327
306
299
311
338
271
347
374
375
302
348
258
325
261
337
280
351
307
290
335
373
278
303
317
338
294
326
285
304
346
308
325
284
238
328
324
346
308
307
232
275
210
258
394
347
253
441
312
179
355
311
331
278
299
389
331
273
314
359
352
368
348
255
276
295
392
325
343
352
352
264
373
316
285
235
323
259
271
293
353
342
271
288
328
376
345
263
312
283
353
331
384
301
311
398
247
337
274
331
295
230
332
277
368
349
372
356
357
345
362
217
260
301
366
250
237
300
268
337
212
338
313
332
277
294
354
268
283
320
258
362
227
378
407
297
284
298
323
240
332
242
247
276
259
287
285
276
328
324
319
300
241
332
361
303
229
304
297
289
365
349
346
270
335
315
284
345
348
294
401
260
310
280
377
336
261
319
334
285
292
335
232
295
370
311
353
294
290
342
276
291
325
297
250
302
305
366
347
313
270
349
359
280
327
299
305
338
313
278
364
358
315
320
328
321
329
339
271
344
283
325
380
254
302
281
313
283
292
329
314
365
299
279
273
278
361
322
351
377
243
250
274
315
324
286
238
243
282
344
351
286
291
287
293
298
315
289
275
338
291
338
334
315
317
301
277
275
271
320
278
289
367
381
375
350
360
325
221
323
353
277
218
355
280
317
344
340
353
367
317
300
386
372
306
290
332
365
401
268
384
268
304
310
331
350
324
279
308
383
313
296
295
303
327
352
212
350
320
329
343
327
290
269
249
248
300
368
367
375
332
290
316
291
295
287
303
358
398
280
332
264
386
311
328
274
202
338
287
311
322
315
361
272
332
302
280
336
243
267
373
287
332
282
297
256
294
351
308
386
298
363
299
347
300
333
283
346
344
339
360
278
328
324
284
311
268
401
288
352
322
267
319
292
319
305
308
412
278
339
318
299
314
442
371
214
303
255
332
347
363
299
295
252
346
254
337
362
328
305
355
260
348
297
358
333
319
336
384
314
377
386
333
345
369
279
296
311
360
308
264
360
314
284
379
346
279
365
302
251
318
400
344
247
351
238
335
345
295
292
349
294
340
344
376
426
218
300
290
368
340
305
347
344
343
300
412
267
304
378
259
325
328
300
396
357
393
318
371
376
254
273
311
313
342
378
379
332
272
383
276
371
298
322
301
260
265
317
317
369
348
397
260
295
257
245
341
296
326
268
285
244
256
367
310
340
305
339
320
360
349
254
322
311
272
300
346
304
290
221
373
237
318
317
315
350
216
313
376
353
338
299
345
369
232
274
290
290
347
365
353
337
360
255
332
315
354
345
262
378
396
273
313
294
310
267
243
301
239
312
331
285
403
380
441
356
253
344
328
215
364
247
284
283
324
342
252
367
306
324
306
315
275
380
338
414
313
307
393
358
295
291
350
370
306
380
366
304
365
393
337
206
332
222
265
241
269
340
339
317
259
265
351
350
310
337
263
323
243
331
413
362
349
338
214
289
323
312
283
294
302
344
326
385
229
357
231
301
238
278
377
291
208
354
347
315
312
291
305
328
366
279
287
342
323
301
327
353
279
286
293
324
355
315
372
273
352
402
406
295
432
385
272
322
343
308
357
259
329
290
374
253
358
276
323
208
312
232
399
287
364
339
379
354
334
292
245
246
377
326
337
286
307
325
310
309
293
323
296
312
309
293
343
292
366
205
336
310
249
275
345
310
404
299
332
309
248
347
336
334
239
290
293
323
315
295
291
319
234
235
293
303
347
355
346
314
281
291
373
210
261
283
373
324
325
381
356
275
314
306
349
299
268
367
226
295
325
371
351
249
356
363
300
308
321
288
228
289
303
287
319
283
336
223
282
372
233
184
345
329
294
311
321
299
185
287
352
319
226
333
318
205
242
299
325
277
260
280
296
314
343
283
355
333
249
259
317
339
327
288
344
362
369
323
328
364
289
213
338
275
267
315
279
327
360
327
227
297
293
324
311
277
264
399
377
315
266
282
236
264
287
366
202
297
393
318
306
270
328
291
326
362
263
318
394
266
380
377
329
279
305
332
340
354
261
318
303
334
277
184
250
238
348
312
283
304
323
385
318
311
303
287
259
292
338
309
347
369
317
305
398
267
307
288
229
343
321
347
316
322
369
303
332
401
303
343
324
342
309
358
310
274
316
364
221
302
309
329
271
314
273
258
280
262
287
241
337
318
385
325
306
351
396
372
242
340
325
320
275
300
245
295
352
271
277
283
218
285
341
358
205
270
323
266
284
375
199
243
359
363
379
329
275
301
233
285
332
307
365
291
358
299
273
241
328
285
252
208
325
286
277
364
276
271
373
244
365
326
302
327
322
326
303
301
360
261
289
222
277
308
349
267
237
234
233
392
329
329
335
350
215
325
354
287
305
376
356
331
271
300
275
297
320
260
322
356
223
338
348
348
344
420
364
310
255
305
342
315
261
243
303
319
353
391
304
296
290
280
368
343
313
304
354
249
393
228
363
357
311
355
342
260
345
311
311
294
388
341
304
247
330
323
324
316
336
350
327
310
281
315
301
267
288
304
315
380
334
303
336
299
215
296
344
232
360
272
250
305
371
296
305
293
287
322
318
280
315
272
314
302
298
392
294
365
351
294
284
334
307
316
340
263
302
304
298
249
268
326
233
345
303
184
312
285
300
304
245
325
300
371
258
356
349
326
322
318
247
351
194
318
343
286
262
402
246
300
291
248
346
237
356
277
334
383
381
212
312
302
368
296
290
306
316
366
366
309
294
390
387
346
275
238
315
347
256
377
249
356
275
300
355
272
294
325
369
379
266
345
375
264
365
224
257
316
374
401
341
246
337
304
380
304
301
302
315
308
303
409
303
274
319
346
303
351
373
284
259
311
346
440
304
270
277
316
338
253
224
290
375
249
341
300
279
345
264
294
366
346
351
302
221
315
332
390
331
263
249
301
357
347
358
264
393
316
340
245
268
352
340
392
391
325
274
248
270
344
396
304
371
345
307
228
375
375
264
344
367
408
318
286
340
347
243
297
327
336
308
389
296
320
275
279
247
353
348
342
376
296
314
309
276
361
386
316
326
362
334
367
327
274
323
271
310
343
316
286
334
412
308
332
307
280
300
308
235
285
298
313
276
329
430
261
288
278
337
281
328
273
309
216
365
311
384
349
228
257
265
310
325
345
316
412
249
262
339
274
342
291
334
309
274
250
328
248
353
360
352
312
321
280
271
347
310
335
228
336
367
351
292
327
227
362
354
314
357
324
372
301
221
307
350
300
351
216
340
355
317
318
355
369
328
238
324
406
303
331
337
384
299
307
239
349
391
259
317
356
294
338
311
256
317
323
301
279
309
418
342
332
355
442
312
358
356
348
273
340
311
311
349
312
234
340
319
371
300
389
309
301
395
340
297
340
338
361
287
347
330
352
266
316
230
326
291
327
331
300
346
330
336
309
337
407
241
366
400
311
325
318
331
312
340
354
369
356
332
250
301
333
255
369
373
392
370
302
380
271
261
273
266
256
270
353
334
258
269
300
354
247
349
295
242
278
335
338
370
217
297
275
337
299
253
365
288
286
263
325
271
310
293
309
302
294
279
290
279
279
269
328
382
381
273
366
385
349
359
321
327
285
365
297
337
289
379
312
318
325
262
305
248
212
323
344
283
359
326
397
278
294
311
258
289
365
313
319
344
328
372
332
307
324
291
273
216
283
241
338
356
309
394
281
356
316
297
381
381
404
366
374
354
247
336
349
315
323
293
241
329
293
185
254
232
369
344
342
315
317
339
352
340
283
377
262
319
375
345
330
250
305
341
238
320
325
345
355
229
393
263
402
414
261
258
383
339
256
307
314
351
293
334
295
296
248
338
318
301
232
299
346
217
332
257
292
310
295
302
375
307
230
297
267
287
370
329
360
367
332
305
355
347
352
329
355
300
379
291
356
278
356
368
350
218
362
395
287
300
297
296
277
331
387
346
273
350
266
244
389
268
343
320
349
273
266
357
246
365
306
326
297
371
365
288
271
261
312
281
343
314
254
367
306
336
354
253
343
271
239
299
306
356
282
302
377
215
302
402
237
262
378
416
294
276
304
226
312
288
301
349
371
254
248
267
311
332
271
301
307
348
291
305
319
295
366
305
301
383
286
323
376
332
347
356
280
315
265
253
356
344
278
315
284
357
345
367
296
251
352
307
364
322
244
303
260
356
392
250
300
330
311
352
432
379
275
348
411
232
361
358
273
345
324
330
278
298
288
390
375
264
387
216
301
312
369
290
322
257
291
257
309
299
369
339
326
311
350
301
317
307
264
317
324
277
386
239
299
337
322
381
345
266
221
327
351
334
316
375
354
275
308
342
356
283
330
351
332
217
299
334
247
313
332
376
329
235
362
371
440
228
275
233
301
325
327
372
380
278
254
383
302
367
381
272
301
327
364
345
328
377
242
285
237
316
370
258
345
366
314
266
282
327
281
374
344
243
327
375
316
312
358
282
340
331
344
393
253
256
284
351
286
377
296
245
345
251
279
294
311
321
418
320
311
289
319
363
360
322
297
360
264
374
375
326
280
319
361
251
299
321
330
372
318
336
262
377
278
270
342
288
280
277
426
423
349
314
251
308
243
376
243
303
279
342
314
371
318
312
437
350
348
299
243
283
351
304
331
250
266
226
356
276
301
309
293
301
279
267
359
247
309
265
331
230
319
299
316
343
260
281
364
333
304
357
351
331
414
338
269
361
332
242
259
382
157
277
330
312
317
376
355
294
429
353
286
273
366
307
381
390
325
321
350
410
304
367
290
265
285
352
349
283
361
295
319
360
313
321
201
337
332
344
311
294
255
309
276
354
281
231
281
346
236
349
337
301
350
289
313
452
338
387
350
362
381
325
341
388
264
308
203
336
224
317
332
241
313
355
349
287
340
305
364
294
292
285
365
346
221
317
376
252
309
277
386
371
405
356
272
343
277
311
339
273
322
303
236
208
339
386
391
310
294
335
308
268
358
290
282
305
342
356
322
239
376
270
297
258
362
265
361
367
252
331
356
271
316
262
302
336
291
256
366
339
325
240
218
296
338
439
364
288
270
271
319
309
334
328
373
290
377
255
294
408
398
320
321
312
254
318
373
279
278
297
348
292
305
390
299
275
351
285
278
213
403
294
335
341
340
251
182
280
306
379
328
343
309
280
310
274
356
299
295
322
278
285
362
321
342
327
313
284
233
230
313
233
313
330
329
358
341
257
286
307
358
282
377
361
370
346
329
326
339
311
270
276
339
342
343
341
275
295
390
328
329
287
276
277
355
351
361
314
331
294
211
350
309
327
316
250
255
371
297
308
334
297
300
376
351
375
384
327
329
336
326
301
329
361
377
348
321
292
255
291
288
430
272
330
240
370
400
358
354
353
357
274
287
241
290
308
360
323
250
357
311
263
309
366
291
310
287
312
381
344
336
337
315
350
315
360
306
297
316
376
310
345
286
317
289
303
312
318
337
331
348
247
304
300
341
254
308
257
366
245
262
314
336
372
343
266
271
237
298
340
365
200
307
273
266
350
385
254
242
307
311
334
380
265
273
333
365
314
353
337
285
363
340
295
317
314
287
259
315
247
258
271
291
350
239
341
218
279
313
261
327
198
331
392
311
318
301
298
297
322
304
316
269
379
239
298
329
293
292
304
235
355
286
276
241
310
304
331
323
233
359
362
350
344
255
320
392
346
322
379
292
263
245
279
180
302
167
358
337
334
304
307
269
229
294
322
340
368
322
364
346
283
251
330
427
180
377
312
362
312
320
308
265
324
307
337
319
310
279
301
366
320
326
255
307
294
283
270
379
281
336
294
297
304
331
321
343
348
319
249
289
298
291
291
311
285
300
297
185
240
281
347
291
337
330
255
306
272
325
347
333
345
371
281
221
308
342
295
287
317
184
367
329
241
269
370
361
338
269
346
324
298
262
361
285
306
345
310
303
334
315
414
246
311
398
321
362
295
308
300
327
268
358
291
328
365
356
245
339
307
219
311
305
279
298
301
345
216
296
351
310
281
258
312
305
317
257
304
312
304
293
373
339
327
223
388
279
281
361
198
289
352
347
338
348
430
268
393
319
234
352
301
332
349
286
325
359
298
297
253
368
317
310
280
245
328
324
393
344
293
283
366
353
285
356
270
306
324
264
273
353
363
264
375
352
268
303
228
379
295
311
276
268
259
330
339
316
312
316
344
251
338
354
299
281
269
373
276
412
336
254
298
360
313
281
253
305
326
388
281
305
349
336
323
321
367
312
328
250
344
260
276
345
299
248
301
354
317
345
299
437
198
310
336
328
324
321
385
263
346
341
314
306
300
199
281
353
319
390
295
379
354
379
347
388
342
362
365
308
264
347
359
370
376
330
262
262
311
363
317
249
294
332
289
367
319
301
365
309
353
336
346
446
272
260
252
306
359
382
339
360
362
232
289
302
348
288
342
289
290
342
349
305
305
331
314
379
435
320
332
333
355
312
353
336
327
361
340
294
279
244
273
175
259
196
296
302
206
375
370
302
353
342
321
304
328
362
363
259
399
341
336
322
216
247
257
340
307
325
371
312
348
305
328
275
242
297
249
370
300
301
319
288
305
326
290
298
297
306
316
300
323
291
312
320
280
304
361
322
299
344
282
306
277
277
243
338
410
306
333
212
331
272
323
271
385
278
265
318
206
312
318
350
340
283
289
326
302
331
355
357
302
216
339
260
323
361
346
319
328
356
346
278
348
303
329
310
302
321
266
278
322
261
305
414
273
303
228
232
284
196
283
293
377
341
352
353
287
255
381
263
297
294
409
331
319
305
222
362
318
281
342
202
283
169
250
386
239
399
255
346
324
267
243
292
356
310
403
298
327
327
372
372
304
317
268
391
327
316
288
318
350
285
309
310
299
325
331
282
295
244
307
259
328
379
362
361
266
321
293
286
296
284
276
368
299
307
356
341
374
358
285
401
289
317
244
366
351
265
244
396
279
265
310
362
296
294
321
305
285
339
361
371
271
415
310
309
318
219
281
351
219
268
329
378
329
258
316
333
269
413
308
307
249
264
297
301
262
297
338
346
325
325
317
316
277
336
255
323
331
299
291
258
290
388
337
293
352
312
288
313
279
294
310
256
161
337
344
282
261
240
360
293
370
321
293
294
316
332
327
225
380
296
337
367
352
332
324
338
212
242
363
286
278
293
343
357
277
360
300
378
362
352
270
313
392
271
395
277
263
264
354
298
338
402
357
318
362
295
268
352
312
356
388
340
249
369
326
417
299
243
293
362
291
239
348
261
338
359
408
330
291
395
284
287
295
313
213
369
226
374
279
310
299
264
336
397
368
309
363
246
314
340
371
284
293
355
301
359
243
311
260
251
339
288
252
374
435
293
329
251
296
269
170
307
351
315
221
329
381
275
286
316
308
314
345
334
277
303
275
374
310
318
359
324
342
212
265
342
300
320
349
368
387
311
262
319
329
290
382
380
371
323
312
316
257
287
321
316
332
305
258
382
368
229
412
301
374
353
376
262
363
368
275
315
274
308
297
307
277
378
293
322
302
313
297
329
349
326
325
282
293
249
294
353
334
322
355
331
366
299
348
332
304
309
327
241
364
386
314
413
413
331
254
309
371
375
405
360
300
258
414
402
292
290
193
311
317
278
317
251
358
260
321
348
304
343
394
183
309
297
364
236
305
290
308
272
355
263
388
355
274
254
349
302
351
356
279
314
366
294
348
289
264
286
294
283
401
375
326
396
369
268
325
322
277
333
319
314
312
307
308
311
365
370
341
342
378
299
326
302
289
348
222
323
209
274
389
319
361
246
335
405
287
265
313
342
299
320
253
292
270
277
289
280
240
299
364
295
291
294
309
322
403
337
334
292
392
290
311
393
258
327
398
284
278
337
301
319
326
276
285
289
343
335
312
331
302
323
363
367
348
371
414
348
353
362
255
291
308
251
268
306
440
189
307
353
332
338
395
322
354
360
362
245
252
284
275
336
229
351
317
352
250
327
288
168
358
254
205
280
297
343
439
361
364
410
329
357
289
371
334
288
313
370
392
303
338
274
278
346
300
242
250
264
372
327
423
258
234
325
368
332
323
324
315
247
387
366
392
382
362
297
340
251
337
300
318
336
357
293
319
351
229
379
271
282
365
320
358
308
331
300
236
288
295
355
373
267
305
397
315
289
361
285
212
360
377
288
313
308
256
366
212
297
330
344
348
293
312
271
304
302
270
317
270
271
364
346
340
332
283
341
261
234
262
305
384
215
422
323
345
316
383
329
335
358
285
283
320
338
393
331
224
354
302
270
334
350
338
352
266
300
340
299
372
233
335
309
366
438
336
328
335
344
264
275
271
364
333
229
369
370
273
327
265
293
336
276
293
420
355
330
309
283
272
330
306
357
312
237
384
327
346
334
314
299
329
271
280
292
273
375
350
411
317
190
337
237
344
340
352
296
328
354
274
332
356
332
325
307
230
316
298
330
315
377
279
349
304
274
289
323
321
318
325
366
312
294
292
331
369
334
325
426
283
355
335
240
364
350
340
364
263
330
356
238
268
336
320
364
328
427
317
330
349
366
368
252
343
229
291
267
379
269
320
246
282
347
357
301
313
292
371
365
395
356
298
289
303
268
332
321
337
333
342
366
293
307
351
357
316
259
344
358
363
365
339
332
275
306
367
395
283
411
372
296
351
336
295
377
313
296
291
333
284
301
262
293
324
380
275
308
283
354
271
321
379
296
430
392
356
297
298
342
323
409
349
233
234
334
375
308
303
276
318
368
388
309
301
261
356
372
280
398
325
323
256
266
327
397
337
349
376
293
279
273
325
332
299
309
278
387
280
345
286
319
388
266
299
319
279
323
340
310
331
322
359
346
268
269
260
407
357
255
325
297
224
377
356
272
302
252
289
402
209
236
326
321
386
310
326
264
335
281
302
301
287
288
339
210
333
299
281
285
221
250
293
289
325
310
327
307
303
258
379
214
258
361
372
354
320
313
312
278
292
331
333
325
221
338
257
375
358
257
366
217
313
281
375
307
403
383
238
279
272
272
321
324
339
380
329
247
329
399
353
321
299
276
295
257
189
320
343
319
272
279
345
391
300
272
276
362
268
312
350
328
247
333
374
341
367
284
315
337
264
293
352
228
361
303
254
414
350
393
285
343
379
393
312
258
206
262
379
278
335
367
261
348
305
296
375
404
259
268
292
330
283
360
390
269
310
225
393
273
293
335
323
321
318
388
349
359
355
234
287
312
344
300
334
290
380
426
370
321
405
329
243
319
311
355
394
274
284
363
296
318
300
283
316
356
280
293
374
298
312
254
344
371
236
326
363
252
301
361
276
401
336
295
317
301
371
319
310
361
273
265
246
362
381
334
321
262
296
194
347
204
339
338
234
288
316
348
342
265
271
339
334
300
293
243
281
381
306
298
327
367
316
356
273
418
323
288
363
322
333
307
395
265
276
281
363
303
235
289
391
171
274
305
244
377
321
327
264
270
340
264
282
326
371
275
312
299
361
275
316
362
274
332
347
245
281
350
363
312
362
343
271
348
334
295
373
252
344
296
388
298
359
314
242
364
307
271
289
278
358
321
328
304
330
365
252
277
271
317
375
381
380
360
355
236
348
352
254
307
304
367
300
322
341
267
333
306
314
281
327
368
310
346
322
301
300
299
392
290
326
346
326
357
317
424
335
261
301
300
312
406
376
329
416
362
371
306
287
357
240
375
274
438
342
351
302
328
354
262
271
389
265
325
283
340
328
353
291
334
384
313
290
352
345
249
280
351
217
273
352
305
362
287
300
264
247
261
300
304
285
342
398
336
397
329
307
334
339
310
354
323
271
345
311
282
293
194
230
307
356
337
258
344
338
375
311
336
326
334
265
435
350
323
371
310
253
331
288
301
321
349
312
314
309
340
367
288
346
281
314
278
425
360
323
303
313
278
356
275
324
274
287
323
280
264
306
330
256
351
293
309
432
310
369
328
315
322
289
268
354
324
303
238
395
295
289
311
285
321
287
298
278
334
286
356
214
239
294
365
321
284
406
273
314
318
252
298
329
369
324
206
337
280
278
348
307
340
349
243
339
310
343
309
342
348
367
284
243
393
286
347
265
318
343
399
336
303
313
393
377
309
348
340
368
362
369
285
348
309
307
394
343
338
238
375
308
311
326
330
324
349
360
286
312
264
325
330
421
316
306
296
234
372
273
231
305
280
352
230
278
384
311
291
284
295
284
284
294
297
315
334
323
237
268
267
325
335
304
316
289
412
265
302
375
348
312
309
337
222
174
313
359
378
315
292
371
339
327
270
294
240
250
207
231
283
342
341
327
272
243
267
276
343
324
202
265
384
296
335
389
342
267
312
328
327
243
283
321
363
311
299
247
243
363
243
254
316
330
309
347
292
255
301
243
373
307
290
333
368
387
322
314
342
413
275
352
280
233
355
342
375
302
279
305
324
336
345
349
325
299
304
177
330
354
408
314
332
415
320
302
251
359
276
329
237
358
267
231
317
323
336
335
317
315
312
176
381
339
327
290
258
312
302
325
306
317
270
187
329
283
283
335
298
341
372
322
256
358
251
336
335
364
259
392
330
303
215
295
315
330
290
287
270
368
377
340
296
302
285
236
366
284
345
360
314
433
294
326
313
355
299
324
302
150
388
283
337
272
343
361
349
305
301
348
265
308
395
229
244
304
351
359
311
339
383
299
415
346
312
280
358
282
326
296
330
305
263
323
322
364
327
329
365
320
242
344
354
302
276
320
378
237
311
362
348
380
286
234
317
196
331
386
300
324
330
346
320
234
278
253
298
315
264
270
338
366
269
365
434
308
312
364
243
306
309
310
302
287
359
360
312
281
327
286
350
284
212
297
327
314
307
366
279
320
255
350
252
269
337
321
362
331
325
345
251
292
334
349
346
276
305
327
349
358
340
365
270
329
292
287
334
381
223
335
250
371
382
299
305
277
387
362
308
319
390
348
276
326
353
269
355
268
317
321
334
319
318
344
358
326
341
349
287
291
216
300
297
290
377
334
299
230
318
267
318
287
257
345
259
284
327
300
345
327
232
378
351
303
328
307
232
315
285
334
306
409
309
309
243
343
331
316
312
330
268
346
389
350
258
271
299
238
250
280
355
317
313
261
340
315
347
322
385
280
309
335
330
278
339
261
251
311
196
312
285
295
302
384
387
264
348
395
386
300
304
358
319
301
292
277
318
335
187
309
188
269
230
333
360
321
310
317
309
384
290
327
330
358
292
311
339
340
344
342
284
366
320
338
329
319
361
283
285
275
295
324
315
356
233
380
303
308
285
319
259
352
375
271
328
292
349
363
341
403
340
261
348
331
290
313
294
286
258
307
293
312
200
305
372
314
435
295
378
268
270
334
309
355
377
334
365
314
334
326
382
346
339
294
282
259
335
332
323
287
267
407
307
339
339
370
285
336
318
239
318
282
324
284
326
280
340
330
401
322
309
318
361
304
270
296
296
250
381
348
319
349
284
316
298
328
339
317
271
262
382
404
302
294
330
258
346
285
314
323
357
413
370
311
329
296
267
345
316
278
205
436
349
358
344
293
326
262
309
411
342
312
271
277
264
431
396
311
306
296
283
336
336
279
293
350
310
326
357
388
331
277
338
349
337
360
309
347
311
293
332
348
326
318
231
272
354
258
322
311
342
326
299
219
263
316
334
284
360
381
305
288
298
272
306
389
325
356
292
375
267
339
282
325
294
332
346
302
266
240
250
313
255
391
391
267
335
349
332
300
283
372
356
318
266
337
328
231
330
350
263
307
324
284
230
361
385
312
284
339
284
214
282
304
261
264
335
307
319
349
340
298
304
362
231
360
374
317
332
341
329
334
353
298
374
262
298
379
319
380
386
328
339
249
323
401
287
325
343
334
222
312
311
314
391
314
304
326
310
330
390
333
307
353
327
270
296
300
305
359
307
273
288
303
281
348
344
235
279
350
318
316
366
334
287
365
278
330
348
380
382
361
367
332
286
330
297
364
251
312
262
337
320
251
388
326
356
313
300
371
360
374
304
236
252
399
343
337
283
331
338
262
244
295
351
275
336
260
319
262
371
346
268
275
283
349
369
237
382
343
349
334
332
290
302
306
273
271
259
348
350
247
317
314
352
337
315
268
241
223
280
388
273
343
306
326
354
293
288
390
289
317
348
269
221
338
374
275
332
322
339
322
358
297
320
282
359
347
334
308
272
369
334
386
333
331
281
343
374
261
319
400
374
368
346
274
270
336
274
354
323
312
371
342
214
225
263
371
376
270
216
263
318
369
367
271
238
380
325
302
347
348
198
332
312
335
229
310
339
315
367
202
249
285
257
378
248
283
368
302
327
326
349
362
297
385
268
319
323
363
261
291
274
368
349
335
307
362
323
272
271
415
318
327
332
266
297
253
363
335
312
376
305
270
235
245
320
295
232
283
320
291
310
296
330
383
342
274
410
315
364
344
356
239
312
343
260
246
250
296
366
293
304
376
270
283
333
302
344
371
301
324
338
327
299
328
319
336
312
307
306
366
265
246
366
312
329
327
380
257
368
340
351
363
278
275
321
270
305
285
282
245
346
358
346
267
268
292
349
318
321
232
318
290
283
317
240
345
265
345
304
317
293
353
368
314
308
280
239
339
374
323
323
285
373
312
288
290
305
367
374
340
295
220
186
244
328
298
200
355
360
335
394
209
316
267
365
312
296
285
284
317
358
320
261
221
357
322
403
330
313
287
271
344
339
312
360
295
234
406
225
288
319
333
416
312
344
379
335
326
315
348
236
312
336
260
344
288
327
344
306
246
296
350
297
368
313
307
328
280
363
315
347
220
325
306
290
357
294
366
414
321
299
364
223
305
322
428
262
287
321
349
377
309
375
398
345
322
347
239
331
286
323
318
300
320
314
315
264
291
324
295
301
276
341
217
206
303
324
232
247
320
403
284
326
331
232
343
317
360
300
357
314
303
211
364
345
280
317
285
325
353
345
335
372
304
353
346
301
361
350
320
363
320
279
317
260
222
358
318
258
324
317
317
294
274
266
332
207
269
348
337
326
279
285
353
344
375
311
369
259
401
203
291
348
270
315
333
334
350
306
318
266
310
329
334
276
262
390
252
312
284
367
299
321
341
276
253
320
375
308
353
282
338
360
270
251
310
339
327
312
305
298
194
305
372
255
310
262
349
303
340
329
273
301
330
338
335
338
319
307
335
341
307
363
337
279
414
365
250
329
321
290
293
308
374
355
366
208
319
232
235
282
363
211
335
383
288
273
266
315
292
269
280
288
314
320
393
325
287
348
368
303
330
326
369
303
388
322
294
376
351
297
352
315
206
368
233
305
332
348
331
380
300
292
320
352
346
313
373
237
329
304
284
377
235
295
263
302
328
272
250
321
274
325
277
262
344
344
273
396
263
265
286
363
266
396
369
319
333
331
214
264
361
240
311
335
289
275
278
281
319
334
356
335
359
321
316
293
292
381
251
335
309
285
299
245
261
311
227
359
289
248
371
288
339
320
283
362
310
353
303
384
295
371
271
331
319
348
343
276
298
334
270
317
352
299
298
306
348
343
351
270
322
354
333
288
279
334
313
320
302
278
337
259
278
310
229
295
346
339
361
325
372
298
319
314
218
368
297
273
175
295
315
227
266
286
327
374
399
358
368
355
357
300
387
343
301
275
313
367
348
289
382
334
292
338
361
312
325
257
303
260
269
296
292
344
413
265
274
299
307
366
237
297
377
410
271
344
338
319
328
328
215
367
218
298
321
261
353
314
316
401
283
290
239
347
204
361
379
349
300
331
325
264
337
367
360
360
377
295
267
366
346
335
312
292
350
291
326
331
355
277
273
324
308
302
204
290
323
342
272
259
376
269
332
278
244
312
261
243
305
377
326
319
243
298
318
285
325
348
292
312
350
364
243
355
329
311
255
293
239
296
259
328
323
302
317
264
382
343
310
321
282
267
245
299
281
362
214
350
336
388
343
225
329
270
336
355
260
278
274
343
314
371
354
296
300
231
342
364
305
305
316
316
329
295
230
371
248
346
310
284
322
243
360
226
322
259
336
263
319
330
297
339
296
387
261
233
352
309
289
286
334
352
377
317
310
398
243
315
348
330
259
320
345
339
319
257
398
324
281
337
404
340
345
268
333
232
280
376
291
286
284
333
388
355
326
264
287
306
327
347
341
320
329
327
361
277
305
434
225
293
269
349
331
310
237
336
243
199
255
364
278
373
305
286
297
309
174
323
295
357
316
297
240
377
335
348
383
337
296
329
241
322
388
318
321
318
377
336
321
257
233
321
432
327
287
359
283
216
306
291
353
333
314
329
278
326
242
332
312
258
327
320
370
292
348
354
307
290
295
358
356
273
272
325
264
313
289
344
385
347
334
378
264
279
325
310
379
316
306
289
225
256
347
278
305
309
343
303
362
340
348
309
305
302
311
252
344
345
297
301
284
347
307
329
306
279
321
264
302
324
220
284
283
282
267
335
334
354
294
304
225
345
319
319
332
324
323
331
332
371
271
333
307
266
324
266
386
368
359
218
302
316
330
320
330
299
326
401
280
286
337
295
387
278
163
434
413
320
354
251
295
277
261
328
254
276
348
335
332
332
208
259
309
339
226
349
358
302
275
328
307
242
322
325
342
362
176
308
312
405
263
330
364
261
351
261
318
315
299
238
283
314
362
264
342
266
351
368
374
286
280
380
193
278
336
331
370
345
356
432
336
326
279
266
359
272
206
360
255
302
377
317
292
365
357
349
299
302
297
320
255
203
253
348
304
315
240
331
273
240
391
332
363
307
332
293
376
289
355
227
383
393
317
346
347
216
359
347
262
396
407
364
328
432
354
351
300
335
294
315
252
315
332
326
198
231
321
278
365
276
230
335
260
299
282
387
308
313
255
288
276
387
296
436
359
315
320
343
293
251
347
349
277
323
345
316
286
231
320
317
308
251
279
345
382
321
339
329
270
270
256
285
371
276
282
325
299
373
223
358
380
381
270
315
328
369
223
303
331
253
258
299
309
326
241
326
406
328
330
318
333
340
383
405
310
321
295
337
272
353
349
282
287
324
292
363
353
336
283
391
359
309
438
246
324
344
280
255
373
214
320
329
314
376
301
360
286
383
327
183
256
327
280
244
354
406
277
302
237
401
319
234
324
335
330
324
364
366
352
257
237
277
312
261
351
310
330
268
384
275
352
343
260
332
261
372
312
313
316
314
278
355
334
309
303
261
338
307
318
281
312
341
354
295
313
305
293
313
385
276
321
340
394
328
287
266
253
313
320
294
296
250
375
335
385
289
286
311
346
263
268
384
250
297
306
296
297
325
293
360
340
321
285
352
276
267
249
268
286
237
277
320
289
382
359
364
336
315
355
303
324
381
247
327
357
340
295
328
257
267
351
278
324
317
313
356
243
302
385
359
270
282
257
208
298
364
304
327
290
336
284
147
221
384
318
368
312
387
265
329
378
392
405
368
294
362
284
266
350
295
298
294
301
370
239
306
352
285
306
400
333
318
257
374
286
293
354
317
355
348
356
283
429
334
278
345
366
379
278
296
287
301
280
295
299
318
221
411
265
324
354
292
292
235
295
338
306
341
191
326
316
351
382
334
286
317
336
319
389
379
273
306
338
272
275
309
311
342
334
296
351
350
359
226
302
376
314
359
332
353
354
302
318
296
298
240
297
351
328
359
354
325
319
179
268
325
391
252
331
290
324
355
381
275
288
291
318
327
342
324
299
275
292
333
288
304
273
319
291
380
321
326
380
328
395
298
321
299
352
298
236
317
326
319
361
272
303
312
303
286
311
275
328
235
337
292
335
291
312
270
310
328
331
376
338
340
338
303
279
250
325
291
375
405
309
335
282
302
295
393
280
335
380
245
295
249
337
261
301
316
314
317
323
330
319
249
331
220
297
281
378
249
280
302
251
309
370
279
298
336
322
247
318
319
227
334
317
351
310
368
334
298
344
267
313
325
355
302
250
244
351
336
340
304
276
333
312
354
307
245
338
305
293
378
255
304
258
368
331
257
280
352
281
318
238
323
324
333
329
296
317
364
337
345
296
323
342
404
296
310
217
321
267
339
269
328
302
355
347
363
340
262
296
309
335
229
365
320
309
374
359
300
256
278
301
328
357
259
242
261
330
312
333
269
279
249
327
355
313
407
326
327
380
325
310
231
294
389
275
360
336
335
392
470
273
341
406
340
305
386
273
331
313
380
302
274
288
321
366
332
283
309
383
313
273
379
376
389
284
280
366
344
349
339
342
377
261
368
314
202
365
360
321
348
234
350
247
369
301
322
320
320
231
331
283
235
324
319
348
293
322
291
395
299
339
317
373
366
298
192
296
350
318
352
380
257
329
261
227
424
308
330
322
372
381
314
238
346
277
303
319
275
319
337
320
324
272
441
255
300
355
319
305
382
330
328
288
360
242
301
268
302
359
235
285
256
226
328
291
342
286
377
381
382
381
356
378
246
304
357
320
295
350
300
324
270
252
308
271
345
341
327
372
291
246
309
290
328
364
317
364
291
376
285
373
331
372
321
339
337
315
294
315
355
345
281
367
345
272
317
294
336
246
278
293
306
312
277
313
289
345
318
282
306
245
267
325
332
280
320
298
401
335
349
230
374
331
253
366
256
285
343
328
309
246
322
256
246
319
301
351
329
341
308
336
359
291
233
288
310
241
322
345
332
395
286
247
323
272
245
348
359
289
217
295
372
228
311
298
314
190
327
331
349
280
300
383
287
298
361
294
220
342
322
294
307
376
351
345
259
293
378
336
360
355
372
438
273
241
268
276
357
348
365
326
333
335
334
433
333
328
321
313
344
321
330
261
213
326
354
424
303
321
259
289
275
323
359
368
354
317
318
354
265
249
294
291
299
298
361
321
279
280
302
239
275
234
213
258
237
343
246
341
328
322
335
360
256
291
300
341
274
274
294
371
257
342
346
292
330
338
328
300
367
328
275
301
355
328
283
254
350
295
318
311
361
297
356
345
394
297
274
286
348
353
336
242
354
378
340
340
346
370
348
359
329
293
350
227
333
307
242
297
294
307
339
252
358
256
341
252
353
309
343
329
338
318
312
295
367
323
313
333
327
386
337
333
244
325
380
301
333
340
327
298
342
322
341
269
372
400
305
260
348
319
342
309
354
281
393
192
358
288
260
281
186
309
306
317
333
376
379
352
349
336
311
363
274
301
326
340
320
317
262
320
361
334
290
327
368
305
278
267
282
295
349
321
317
346
350
330
346
319
352
311
362
273
339
269
299
460
275
267
423
347
302
351
344
318
206
339
231
363
369
271
314
297
354
342
299
278
290
320
352
292
411
299
300
339
302
336
313
393
315
367
340
391
288
410
299
329
293
332
324
377
287
311
351
415
286
297
269
296
264
243
255
358
384
297
270
300
334
356
314
255
374
268
319
282
249
390
328
280
314
316
372
299
314
260
327
384
262
304
283
307
288
302
367
318
356
286
282
259
295
337
316
335
313
358
372
227
278
315
285
336
295
318
388
318
312
288
331
332
269
269
288
264
348
312
358
319
279
305
316
269
309
275
297
304
354
414
382
286
359
367
271
320
346
320
287
342
324
303
380
298
264
260
240
250
346
289
395
282
374
274
375
463
337
327
205
430
336
373
383
288
222
303
309
326
311
291
352
317
262
378
283
297
254
283
395
419
384
290
371
384
342
298
278
374
288
313
356
234
313
316
342
306
275
346
206
308
325
242
225
259
310
382
306
263
325
270
407
402
296
334
248
252
337
371
278
349
293
259
335
311
314
315
292
348
323
331
263
349
352
349
285
213
309
300
321
289
303
329
272
320
367
279
330
373
338
247
281
317
254
265
338
308
316
373
311
246
360
316
233
265
261
354
290
402
376
316
315
318
314
281
283
361
299
337
238
232
305
359
257
375
292
364
362
304
376
413
220
295
322
268
309
235
307
299
311
382
381
328
308
372
273
284
311
271
299
342
350
296
242
271
391
330
342
344
359
293
353
276
261
379
251
352
231
314
302
335
378
357
432
230
366
390
266
350
297
362
236
228
284
398
312
306
287
322
313
307
369
409
277
381
308
273
289
273
313
318
255
283
258
242
345
325
349
251
276
204
337
326
302
260
332
286
333
339
305
313
225
317
341
321
275
322
293
290
338
292
271
343
309
304
318
271
281
258
370
338
293
380
296
288
271
338
266
285
264
300
262
333
278
346
292
318
315
369
325
285
314
261
289
326
217
268
327
352
339
305
303
296
321
357
312
371
242
357
339
392
264
355
290
353
292
338
285
293
304
311
263
284
286
371
296
342
332
222
278
319
292
315
257
319
316
391
308
338
300
335
301
317
317
310
337
288
190
276
270
276
299
384
359
349
325
322
307
347
330
323
286
319
236
329
348
261
308
363
326
357
291
239
307
396
346
287
372
331
355
263
331
325
322
406
289
265
347
278
249
272
278
236
327
334
348
302
297
361
260
250
240
211
345
289
336
324
318
352
301
253
326
244
366
334
379
318
327
320
312
300
321
301
242
299
338
323
347
317
324
300
315
333
320
386
315
309
321
210
336
392
287
322
241
280
252
312
269
364
356
370
292
326
316
318
313
285
383
275
277
329
291
301
334
349
286
349
372
286
325
366
297
267
324
322
291
317
341
306
257
331
330
300
391
266
282
355
296
319
248
271
279
353
256
285
315
346
372
401
360
317
315
366
281
328
366
299
396
292
334
372
262
269
354
338
390
352
279
276
334
325
283
351
321
276
394
369
300
243
261
292
337
356
314
318
346
399
291
267
319
308
299
359
287
384
269
332
349
250
339
371
255
326
333
262
247
296
321
331
277
387
364
347
336
352
254
337
351
300
332
390
284
266
279
254
313
308
296
387
294
327
374
411
256
312
342
338
316
236
355
266
319
326
313
341
311
364
336
264
380
352
362
351
277
272
345
311
369
251
325
359
322
294
385
362
214
371
282
341
316
252
373
274
330
382
284
202
272
321
261
313
310
297
285
331
304
346
375
319
330
316
296
377
260
358
360
312
273
306
345
349
336
247
288
340
299
381
315
305
242
297
258
264
329
299
344
288
402
291
317
299
246
291
261
345
326
229
361
323
271
276
343
330
313
361
399
291
331
364
358
321
409
283
348
348
183
379
300
318
268
346
397
388
381
267
390
284
371
341
314
315
339
356
297
344
276
274
254
357
313
378
341
311
248
344
241
301
358
263
286
307
305
384
418
247
280
262
350
309
317
311
290
325
314
257
395
370
400
256
229
372
241
376
310
340
358
315
384
247
270
357
381
283
270
275
231
312
353
319
350
345
308
287
446
390
254
326
413
279
375
355
289
321
344
222
277
304
250
259
297
315
265
352
310
393
345
343
368
316
347
278
287
278
390
314
300
247
288
244
272
267
371
317
335
249
378
248
381
279
338
275
293
352
306
301
211
263
320
345
358
335
300
297
310
253
315
354
281
371
439
310
319
308
246
302
273
296
233
362
299
312
342
332
355
327
378
385
336
312
290
294
333
305
294
321
291
314
335
319
339
361
368
354
286
277
301
318
209
387
307
309
312
381
282
331
378
229
338
319
269
342
279
348
321
306
361
330
253
274
323
234
324
314
274
314
288
310
285
331
347
259
392
355
308
326
318
399
359
305
294
350
372
340
269
307
222
346
332
234
286
359
337
363
370
289
250
254
322
312
234
331
295
257
251
287
370
339
310
280
272
319
346
267
381
316
296
317
336
264
301
261
326
292
293
313
387
287
299
308
215
371
304
307
343
324
331
275
270
274
319
308
323
323
312
280
336
401
304
270
310
305
338
331
357
309
281
312
227
384
277
324
293
379
322
274
358
265
348
295
317
262
285
346
292
325
243
292
338
310
312
369
266
213
357
303
338
347
290
315
254
260
344
294
329
311
371
307
361
377
282
277
328
277
273
311
382
310
266
283
278
363
240
318
338
336
319
300
254
291
219
389
399
307
286
250
380
321
341
318
226
322
355
301
281
288
300
348
338
263
312
414
288
324
219
292
334
275
300
278
320
307
304
337
308
334
309
373
355
343
306
288
267
309
271
349
304
277
291
333
361
328
359
292
218
201
303
332
341
342
328
288
381
294
349
264
363
303
350
288
286
326
346
387
288
306
279
242
330
272
311
309
319
356
273
316
304
263
286
307
354
298
329
318
288
334
321
420
232
365
321
281
329
359
305
274
367
271
318
291
301
289
294
318
328
299
287
226
333
283
281
301
330
326
292
286
328
363
333
304
337
263
319
301
295
362
320
260
343
304
273
268
343
316
352
260
300
344
384
323
242
301
338
366
367
321
251
304
333
271
325
253
228
315
297
387
276
329
249
359
323
316
312
327
305
319
331
343
349
271
275
251
332
381
301
362
296
310
368
326
352
266
288
347
289
352
277
300
305
375
295
350
326
307
316
327
312
309
242
358
377
319
295
256
295
291
407
264
339
241
307
272
324
328
348
372
271
299
299
309
380
260
262
340
312
354
254
387
348
309
331
276
336
324
228
382
323
383
244
293
366
347
282
314
349
445
366
239
324
309
379
224
319
272
336
313
307
315
317
348
365
346
265
241
307
391
334
226
338
375
340
230
353
275
400
329
303
308
288
321
345
295
331
322
333
327
303
327
277
292
277
419
376
291
349
262
298
378
380
357
287
304
248
272
352
330
392
275
347
210
328
326
359
350
277
263
292
263
376
325
361
343
298
348
322
306
363
329
323
296
259
275
292
301
342
306
331
286
352
223
423
387
336
306
297
339
361
380
280
258
276
347
304
370
290
252
261
302
243
341
328
327
395
294
226
362
305
334
293
303
203
273
299
319
301
379
337
270
264
290
270
367
353
308
321
282
290
267
292
371
256
354
326
283
366
317
324
283
241
357
302
301
311
267
253
268
310
330
284
316
374
310
348
243
280
284
375
298
367
313
323
347
312
296
294
314
304
325
375
311
358
273
263
315
279
413
262
309
304
374
290
339
234
345
381
305
292
277
337
286
321
318
310
309
274
211
332
297
339
360
261
262
309
323
370
403
379
320
356
283
316
274
305
342
256
322
290
411
387
243
372
274
391
400
304
328
360
359
367
291
374
315
305
355
214
318
322
317
342
284
207
344
238
336
281
342
293
254
344
334
277
317
387
277
239
255
293
331
330
336
349
335
342
354
332
316
258
302
303
306
295
265
299
330
267
388
338
347
356
390
274
303
372
263
325
314
350
246
295
317
289
375
373
365
271
349
323
345
374
256
238
317
342
313
291
287
298
431
220
341
413
300
400
354
326
286
324
322
265
346
342
345
325
232
389
353
368
415
341
318
360
337
337
339
339
328
250
309
333
306
364
329
323
352
306
296
302
314
370
316
311
331
270
353
283
330
299
353
258
341
347
336
307
253
265
373
334
372
347
366
240
359
296
261
417
312
326
381
325
337
320
226
350
302
272
297
208
335
294
329
412
228
323
219
336
304
265
229
216
378
273
350
353
293
314
304
355
316
331
334
316
321
369
353
269
294
196
410
307
262
336
311
358
325
340
286
267
364
279
358
335
309
255
276
269
375
303
235
273
250
305
331
396
297
368
336
293
291
304
347
340
392
339
267
348
276
359
317
300
401
304
275
315
327
262
332
313
292
342
317
303
378
352
308
327
283
316
340
303
351
258
332
312
351
269
335
336
272
288
211
327
360
369
332
338
295
319
298
302
315
203
274
245
327
167
300
300
316
267
275
335
276
316
297
274
312
334
340
367
319
305
289
282
316
324
344
371
375
374
338
320
324
269
287
353
288
355
383
280
337
323
295
338
324
279
335
301
340
383
271
335
267
352
348
371
336
342
338
344
283
291
306
383
281
330
328
387
304
327
311
268
283
285
304
357
338
308
305
324
364
374
285
223
349
329
323
282
411
323
302
223
278
365
321
387
361
286
286
314
309
363
335
271
213
234
387
359
263
289
277
269
322
311
345
334
292
305
370
285
296
297
329
328
317
286
335
281
303
320
355
354
313
408
345
354
252
288
395
220
308
296
354
362
323
329
288
305
302
289
366
249
247
289
317
333
401
385
275
284
220
296
307
271
306
265
369
286
275
340
316
333
351
370
334
305
336
206
293
317
346
301
267
279
315
415
329
305
361
215
307
315
359
375
295
260
324
325
244
283
300
366
307
361
291
277
326
269
324
407
297
369
292
282
281
362
341
343
356
328
338
344
362
257
318
298
320
269
432
282
249
320
362
342
352
397
280
369
409
303
299
347
311
318
328
268
423
293
309
350
323
286
406
340
242
430
325
364
341
268
214
343
389
288
272
312
329
383
313
264
351
366
278
244
249
258
395
320
346
363
376
306
227
347
372
391
337
339
357
396
339
323
287
281
361
309
330
316
298
241
365
263
317
283
323
409
302
324
338
350
280
308
308
295
252
304
378
302
279
409
297
304
264
348
404
308
357
260
366
250
243
356
324
298
342
357
344
280
293
269
318
348
262
292
321
349
360
286
271
420
295
275
289
323
371
399
369
326
296
302
352
332
271
263
323
358
327
316
306
256
347
228
328
317
315
278
321
317
296
279
365
302
398
283
295
288
324
218
298
332
178
265
268
361
284
306
366
295
283
276
379
328
331
254
308
353
308
342
310
246
265
323
298
375
266
323
298
322
354
303
400
311
291
313
381
348
319
256
364
380
326
409
314
362
334
258
302
394
322
291
338
280
311
348
361
332
359
319
287
269
238
344
247
341
368
315
313
264
355
320
310
347
295
304
269
174
299
302
374
276
314
253
345
373
275
304
245
328
363
302
370
315
343
313
311
340
412
292
335
349
363
293
277
289
329
396
321
318
313
294
286
328
379
337
346
253
330
347
329
329
230
257
285
333
292
305
282
343
358
320
202
328
236
392
318
312
344
194
306
354
349
279
329
282
368
361
314
353
379
358
319
231
296
275
211
252
224
324
456
311
287
296
207
447
335
354
322
246
216
257
348
341
287
361
324
317
310
336
300
316
369
339
248
287
274
249
316
345
360
260
292
296
295
372
287
318
226
277
328
312
375
233
257
245
257
245
325
323
294
298
367
345
364
272
298
279
309
311
283
328
328
333
340
382
342
363
234
296
256
323
342
299
350
380
326
365
335
246
407
323
335
373
354
196
267
339
312
359
312
293
355
285
343
317
258
304
329
350
351
282
298
385
261
238
250
368
280
246
295
296
263
375
345
316
309
298
239
296
242
300
376
315
355
327
363
292
404
347
310
311
308
306
185
313
297
353
279
352
254
249
283
329
278
288
364
296
274
331
252
350
274
345
384
286
304
297
290
269
367
391
375
356
317
343
375
322
292
204
223
302
383
298
284
354
307
369
298
335
302
314
356
208
286
285
361
258
277
315
349
365
274
356
246
325
321
319
386
351
295
308
292
228
213
308
265
303
268
347
280
255
333
380
350
393
330
364
297
385
317
300
287
341
272
320
265
337
362
269
309
287
285
289
305
353
306
281
334
329
338
314
264
367
407
330
359
304
346
242
167
323
309
338
358
353
317
275
317
278
269
354
356
328
339
309
301
230
364
413
394
278
293
256
287
283
247
312
393
263
274
283
277
309
416
253
271
239
337
359
314
333
341
214
287
353
360
335
361
298
259
254
288
303
346
247
288
344
304
259
218
358
445
323
324
306
309
390
297
317
337
432
273
235
344
310
354
222
289
311
261
358
355
297
335
319
328
307
362
321
330
294
318
310
321
250
351
368
386
317
283
266
295
310
275
307
313
301
322
336
280
285
221
315
400
275
342
338
391
255
211
293
339
341
281
354
282
293
299
363
288
379
292
386
310
390
262
378
276
320
371
293
305
266
257
257
233
391
273
262
274
317
359
362
383
356
340
327
325
348
325
429
329
350
358
317
269
374
317
304
331
318
381
399
370
248
409
381
260
348
205
280
287
350
301
327
319
254
380
305
347
402
367
333
286
290
248
364
320
306
411
368
256
347
389
290
270
342
319
343
260
316
321
228
264
284
316
339
324
370
328
250
380
375
278
343
315
258
390
300
286
295
321
316
321
303
303
304
329
234
258
341
297
319
276
268
304
361
288
278
265
324
294
315
347
377
294
308
261
358
341
257
331
333
305
329
215
381
271
349
292
318
356
291
379
239
312
253
328
264
311
336
302
303
244
378
378
404
332
338
445
295
358
328
347
322
316
393
282
301
230
325
349
308
319
332
363
289
301
300
328
290
241
239
331
257
305
315
321
319
331
283
294
366
370
303
284
349
369
302
376
289
396
392
287
309
291
363
314
271
269
312
284
319
172
226
270
363
344
239
351
306
300
238
308
382
312
306
317
340
317
235
274
329
258
345
251
270
241
386
364
361
361
348
229
340
310
296
278
343
292
351
314
383
318
332
334
330
337
349
294
308
332
276
284
406
365
357
257
317
308
276
278
301
365
313
348
274
314
368
320
303
328
347
395
427
318
272
313
285
337
385
329
369
291
295
258
341
274
287
304
258
363
288
269
349
313
328
333
345
283
352
328
285
337
319
316
320
226
292
317
336
296
330
284
342
283
299
297
266
342
331
372
326
319
233
341
384
366
274
256
363
199
323
287
323
311
305
380
329
259
297
310
309
305
326
299
323
225
254
377
289
273
241
315
328
274
368
271
375
269
332
330
263
301
272
365
319
277
329
262
262
287
369
339
289
202
313
297
284
311
299
320
334
316
296
338
256
338
327
305
383
315
285
322
290
259
321
328
307
323
328
295
352
327
414
331
222
250
349
327
240
312
285
352
310
337
273
259
308
421
304
370
263
271
230
313
367
361
383
340
351
290
272
326
298
299
325
266
290
340
339
384
389
345
301
325
299
244
233
373
246
311
363
369
353
317
325
355
250
389
318
313
391
274
288
366
234
333
283
372
387
235
237
260
271
298
293
353
343
314
386
326
313
301
306
259
331
212
264
316
310
250
384
288
319
315
262
239
256
343
266
370
301
329
302
402
338
404
301
385
255
323
232
339
276
383
374
288
286
331
328
340
409
255
375
319
366
265
322
271
323
301
321
317
312
353
316
348
343
240
317
245
328
382
325
321
266
280
232
281
339
230
373
223
247
340
336
361
331
305
281
296
321
383
338
313
394
305
276
340
349
322
422
318
341
256
388
350
307
243
368
337
266
265
256
340
250
367
315
298
330
325
270
350
376
304
373
307
312
322
327
342
204
374
312
346
355
294
320
271
298
329
357
293
314
314
295
338
296
375
347
313
304
377
341
280
254
365
293
363
276
315
333
334
316
318
339
338
284
317
261
278
316
307
362
294
261
291
300
301
287
408
381
346
332
208
350
378
290
225
374
360
299
301
298
345
298
415
315
282
224
332
323
408
296
321
258
269
258
327
284
372
279
319
257
339
278
296
344
301
305
353
277
308
328
326
282
280
326
411
326
382
393
379
270
335
295
353
349
278
274
354
289
327
267
329
380
397
366
366
222
338
366
250
355
270
304
331
330
316
351
348
285
283
297
281
365
339
298
285
325
402
378
256
307
368
281
365
220
371
308
360
223
373
358
340
271
323
241
322
361
362
244
357
332
274
353
312
304
277
362
293
351
330
357
241
250
329
311
257
415
282
261
353
402
355
363
300
313
236
331
310
359
299
322
325
282
289
336
267
313
376
305
295
285
358
293
231
306
369
260
345
300
323
322
352
288
313
223
345
324
337
338
311
293
360
250
332
358
343
325
376
272
335
329
274
332
334
330
344
314
253
364
296
238
365
388
311
356
379
233
347
223
376
368
263
372
321
416
302
300
294
290
325
297
272
405
323
340
294
299
247
339
225
259
294
231
320
370
293
299
271
308
313
352
263
279
229
335
302
302
305
279
359
257
263
383
315
291
297
263
373
433
319
316
245
285
276
296
310
293
340
415
334
293
277
323
305
334
270
344
259
277
259
370
322
258
268
304
333
304
343
275
283
339
349
310
233
245
272
345
371
259
356
293
318
249
331
302
350
346
343
311
301
378
348
395
363
287
370
321
303
240
297
265
285
295
356
353
370
353
285
295
268
315
349
340
340
352
334
292
305
253
330
214
310
296
349
288
324
318
327
409
326
299
238
234
264
313
332
313
312
346
338
245
335
302
354
360
367
323
371
240
214
394
388
333
318
295
331
422
278
293
283
229
279
254
251
366
338
304
250
289
333
363
297
329
327
300
335
273
331
264
352
373
326
324
276
348
413
326
382
306
246
228
246
274
326
275
391
403
431
341
261
370
304
348
335
239
260
331
397
401
302
149
307
349
314
346
249
353
232
408
277
356
253
439
288
360
351
375
269
264
288
280
336
313
311
327
273
360
343
353
358
286
367
307
368
345
372
336
411
335
278
311
342
377
359
294
285
307
333
297
275
301
354
274
366
283
394
272
329
340
283
286
299
271
252
309
283
265
276
340
355
350
332
281
313
298
252
319
347
317
262
280
305
341
339
326
243
315
298
358
262
357
329
323
380
336
332
450
289
324
258
347
299
364
193
180
324
296
344
309
378
336
326
322
300
304
318
310
366
295
307
306
294
315
275
305
295
370
341
325
361
313
314
329
343
290
329
348
313
290
309
289
289
330
334
359
409
252
303
398
278
262
282
231
342
403
184
370
308
279
385
336
289
295
295
278
344
420
303
270
290
286
318
284
281
322
317
248
296
311
324
370
354
307
328
343
251
284
341
332
347
281
325
317
347
247
405
351
329
355
297
344
312
352
323
333
189
270
315
330
249
344
224
365
265
209
262
293
253
315
349
301
339
250
269
251
298
224
307
421
287
294
348
336
320
273
360
326
289
276
335
260
301
362
410
347
389
298
304
333
320
362
308
348
369
249
255
316
293
305
327
354
396
371
303
315
191
335
272
280
309
306
324
289
280
296
249
344
319
305
374
267
329
328
342
292
301
374
291
272
256
297
336
286
338
335
362
291
300
307
313
302
267
382
342
302
408
266
282
335
340
370
236
297
314
338
294
318
338
315
274
348
270
265
275
415
327
296
388
325
301
313
268
329
280
365
325
380
307
344
236
313
355
265
305
294
290
245
297
346
264
344
352
280
352
359
332
286
260
285
375
361
343
265
272
323
298
372
287
333
212
318
270
305
345
389
366
356
379
268
312
317
320
252
289
281
278
362
282
321
275
274
292
327
322
340
319
360
342
360
279
323
232
344
373
315
410
306
382
332
303
261
278
345
304
395
290
323
339
292
264
316
281
358
376
332
274
311
377
377
264
336
318
357
306
354
326
327
276
293
347
240
350
363
327
353
287
249
271
346
292
258
285
240
297
394
362
266
263
356
363
359
356
210
386
319
282
265
286
312
375
355
312
366
390
344
382
306
266
288
300
305
297
388
341
328
340
325
277
251
353
352
327
372
303
292
287
286
300
372
267
305
284
292
371
358
406
300
262
367
335
290
335
381
285
308
300
281
380
337
367
328
343
316
278
349
308
214
275
341
262
339
311
322
331
314
383
412
280
298
271
324
360
351
345
338
360
318
342
277
309
305
331
364
358
314
276
300
363
329
238
339
313
239
235
298
198
355
371
300
395
329
380
349
303
192
369
321
257
294
276
284
376
388
265
384
347
318
282
300
299
376
322
362
292
305
305
292
435
276
384
235
352
319
327
392
288
273
340
297
302
293
262
336
210
322
390
223
240
253
207
263
314
320
300
281
358
365
354
319
281
293
257
286
329
359
274
302
311
336
379
262
296
341
330
356
198
297
315
251
313
291
304
316
368
318
350
338
312
312
265
311
302
252
313
267
404
282
365
302
383
390
246
354
292
300
307
381
323
402
314
328
335
319
320
289
233
402
314
319
294
269
323
206
284
319
386
347
342
281
358
395
374
353
344
258
338
345
263
291
300
247
396
334
398
300
250
306
326
268
266
377
355
287
351
315
239
297
314
238
247
371
291
371
324
373
279
285
349
304
368
290
295
294
304
299
246
347
260
279
336
379
341
344
277
276
331
361
353
333
245
310
294
347
242
323
304
289
326
326
275
322
357
355
327
291
367
330
396
279
289
360
295
292
241
349
302
346
334
332
317
393
233
332
305
362
271
398
271
274
277
322
364
405
336
375
310
320
401
388
296
236
333
274
265
310
341
358
318
315
295
282
219
280
388
349
322
324
336
259
426
250
285
393
207
342
238
284
312
328
394
317
327
341
347
256
315
258
358
271
294
362
224
312
300
280
296
366
364
307
337
365
344
265
317
231
274
399
392
229
348
249
340
325
326
303
237
382
351
334
293
349
383
350
293
310
288
289
345
247
320
333
289
335
347
191
357
397
328
374
301
301
334
257
381
270
306
292
331
278
344
366
312
268
309
325
281
286
358
310
288
399
389
308
287
383
231
344
256
415
303
303
348
380
356
359
368
355
324
298
323
316
345
330
350
286
258
340
335
358
293
359
297
328
386
342
299
239
347
348
268
325
292
348
313
264
281
374
335
345
388
310
338
257
351
218
398
334
304
262
250
315
246
289
316
264
363
401
395
293
250
324
335
339
238
355
338
351
397
349
365
308
361
334
300
333
289
299
301
322
257
365
313
278
355
281
302
323
339
366
375
297
307
240
315
349
332
241
312
294
336
360
222
334
314
317
307
287
314
187
261
323
344
293
367
339
278
265
310
317
412
331
316
277
291
328
413
366
301
201
271
331
309
292
346
243
356
249
254
242
313
230
314
356
387
292
295
338
319
306
370
306
208
353
375
305
265
347
379
295
349
255
282
377
228
259
270
283
266
344
262
253
335
215
345
308
278
241
298
260
283
290
340
266
341
265
288
386
342
276
325
347
322
245
308
210
262
312
271
341
286
305
390
370
307
297
347
309
358
337
412
278
363
314
393
284
315
369
342
309
333
310
331
301
325
272
327
333
357
341
408
293
308
315
345
300
319
392
314
288
281
351
397
319
300
341
288
330
235
271
295
261
354
278
297
321
292
293
339
325
364
355
342
340
338
290
312
316
349
334
288
274
317
296
371
294
329
352
239
258
327
361
326
353
385
284
352
289
225
325
260
325
293
352
333
399
326
355
294
283
284
319
310
321
307
319
320
247
297
352
352
305
350
304
284
309
308
259
305
350
315
321
280
322
309
277
307
254
368
217
309
246
282
322
339
312
190
280
287
278
291
406
275
290
292
318
391
333
316
345
324
333
375
385
291
332
311
323
351
354
310
335
325
299
285
313
268
433
235
342
247
336
344
288
365
332
214
292
286
347
320
364
278
359
336
267
353
222
374
328
281
302
356
378
366
255
290
299
320
281
347
289
337
382
345
306
347
305
332
391
334
293
284
321
291
387
260
406
332
305
396
343
385
315
376
248
378
320
315
226
388
336
212
354
276
343
361
333
313
346
245
369
352
362
313
328
327
345
253
323
317
285
338
261
331
301
355
290
342
396
348
281
328
272
283
389
404
296
289
307
353
316
279
304
263
271
312
350
306
233
382
332
263
278
291
330
340
296
347
414
271
276
280
386
358
392
269
337
344
321
239
264
355
152
390
266
270
316
253
313
310
271
295
373
308
351
336
315
381
313
381
294
359
320
288
306
319
243
331
343
239
310
305
248
326
339
330
361
305
337
379
281
375
258
342
257
338
297
342
346
331
299
290
271
282
390
287
298
350
335
328
359
295
365
379
310
319
292
255
350
290
354
339
328
290
328
298
309
361
300
311
281
338
271
252
306
312
289
293
355
357
310
340
331
296
377
278
307
332
285
273
295
342
365
278
348
314
263
361
272
234
291
388
348
305
245
284
404
318
313
306
245
396
318
308
300
322
156
267
331
316
307
356
206
308
346
278
354
214
271
364
241
289
355
342
285
314
372
275
328
360
282
360
273
279
327
301
334
304
339
396
389
376
303
310
184
306
368
349
389
309
392
361
335
337
341
338
295
360
278
325
352
292
262
336
354
350
290
313
332
349
323
357
290
372
275
325
372
332
312
311
261
336
304
329
325
331
272
268
364
232
323
264
293
295
386
370
318
332
326
362
284
351
326
386
238
347
328
395
316
353
357
326
342
307
284
358
292
315
295
352
333
264
361
275
281
369
339
275
380
368
283
268
290
329
327
327
333
274
371
346
365
201
301
335
318
333
387
346
287
266
252
334
334
377
296
290
373
345
337
241
330
332
303
292
316
293
364
360
279
319
238
334
283
378
258
250
364
302
240
237
316
344
248
173
389
355
334
346
377
307
367
367
328
308
287
293
333
358
298
239
361
287
316
327
276
260
281
204
304
299
355
331
317
286
365
266
356
262
355
387
312
249
288
346
297
306
291
269
325
320
303
327
306
346
289
292
361
333
241
307
375
208
355
340
351
298
253
318
211
156
352
361
316
307
250
298
332
326
337
291
420
330
379
362
381
277
369
295
221
330
228
350
317
268
394
299
299
380
370
334
302
314
368
365
349
308
320
264
240
393
340
314
354
319
317
342
300
278
322
362
378
311
266
353
295
319
330
371
374
284
357
359
351
253
365
400
348
396
360
368
275
368
291
391
321
293
368
335
282
348
275
360
384
317
259
264
255
307
249
311
375
244
371
270
272
280
406
340
390
284
329
216
312
302
276
293
303
225
309
353
317
359
358
314
268
296
350
313
321
268
222
350
303
297
325
252
336
336
344
320
296
309
309
283
411
244
393
231
295
319
295
277
268
351
369
287
329
259
225
372
317
375
319
318
337
286
305
317
394
263
320
258
284
331
258
383
401
292
310
267
320
229
326
333
350
246
232
341
333
281
336
336
312
300
299
303
301
309
365
355
328
321
290
301
338
322
378
315
319
317
287
365
298
281
402
319
349
295
310
319
328
256
334
376
360
293
327
332
319
325
324
317
283
358
314
396
274
363
326
247
289
398
326
373
258
306
264
320
288
295
255
298
269
281
375
304
304
365
365
302
353
300
374
358
363
324
345
377
379
362
379
301
349
197
278
338
293
273
267
299
314
325
314
276
237
309
386
353
305
321
316
359
332
348
274
354
303
303
348
349
263
218
390
297
331
362
394
330
304
357
257
329
310
302
352
313
247
313
279
350
255
302
332
307
342
303
326
321
322
267
378
332
255
298
279
270
343
380
353
359
312
306
320
366
326
390
351
283
375
310
235
298
272
281
287
333
262
298
302
345
323
352
292
411
332
295
283
377
330
271
345
349
400
316
314
320
358
256
329
311
269
356
329
325
344
333
222
220
368
263
290
328
318
375
274
374
358
264
313
308
345
354
253
322
247
355
295
351
280
294
321
264
269
385
298
313
251
299
354
260
357
300
273
284
249
447
273
358
339
296
317
381
274
339
346
358
265
257
335
381
306
392
298
298
242
315
272
324
326
291
354
276
287
328
337
273
274
317
339
298
269
308
326
191
379
208
268
319
344
328
397
337
315
312
369
316
226
246
235
312
357
289
326
295
277
301
307
322
333
280
275
344
334
297
376
301
353
344
210
299
277
352
362
272
319
447
182
361
331
346
279
319
333
263
292
395
307
371
307
267
319
368
295
319
314
348
280
288
361
351
230
353
374
322
255
270
315
256
346
288
303
323
331
241
302
293
364
330
277
247
302
406
323
309
337
303
326
286
289
371
247
359
301
380
346
352
303
354
270
223
247
331
285
339
375
375
348
348
322
280
343
289
327
319
345
365
268
295
313
276
368
400
363
353
361
318
294
325
367
331
340
334
369
265
318
409
190
338
331
324
364
308
292
357
296
246
376
309
283
233
343
269
304
253
236
340
320
317
327
404
340
261
409
291
311
265
326
274
312
287
364
330
323
335
313
321
383
307
296
329
356
305
342
316
277
260
256
365
351
269
306
274
327
315
262
301
361
284
339
250
342
371
287
311
317
344
321
298
341
379
300
363
308
255
343
269
365
378
360
329
384
255
392
302
297
303
340
318
345
349
312
285
384
336
224
261
298
319
320
432
313
355
301
363
376
250
297
333
377
286
352
353
343
304
257
299
378
339
291
336
385
312
315
308
343
261
293
265
347
330
308
317
274
218
314
249
409
337
334
328
350
307
329
274
300
379
370
306
315
295
355
309
383
337
348
233
350
326
346
369
323
272
344
315
289
320
344
288
343
383
346
303
288
417
310
289
285
341
319
324
267
321
331
331
389
293
342
359
351
243
284
264
305
326
346
339
366
293
293
373
372
169
285
336
252
267
312
256
328
265
294
340
315
412
341
345
298
281
302
310
328
281
267
401
254
277
253
306
333
281
312
309
322
350
333
351
337
234
304
367
295
287
225
400
236
299
347
309
359
280
335
324
366
379
283
297
331
288
282
302
311
219
312
322
329
269
253
260
301
343
305
304
353
379
314
318
343
327
278
280
320
322
260
306
306
334
274
337
295
308
315
263
303
311
328
363
314
294
355
308
361
295
421
232
372
347
339
330
346
311
384
273
361
308
237
331
276
323
260
262
366
346
353
376
318
277
321
333
304
294
273
285
385
383
260
266
364
339
323
280
403
236
297
332
407
379
347
340
271
262
354
309
315
317
304
384
271
218
250
239
303
298
366
387
296
342
225
270
367
277
264
298
286
315
296
333
254
343
332
293
369
429
303
253
359
306
274
321
271
280
369
258
310
337
379
328
290
251
247
322
283
321
176
311
205
297
360
375
299
281
326
343
316
271
326
291
275
364
258
289
334
263
259
350
344
332
359
372
316
371
337
420
347
307
297
288
374
336
235
335
313
259
298
338
307
278
284
358
323
291
266
261
297
326
378
339
353
272
376
294
255
359
250
302
279
334
315
377
300
284
373
260
301
305
410
209
347
318
269
336
349
312
248
218
269
330
331
341
376
226
351
345
293
300
334
310
251
308
364
281
248
275
264
327
265
254
264
344
327
321
388
244
308
299
325
354
347
321
293
401
333
283
319
251
452
367
246
335
265
299
336
282
403
303
405
362
409
306
301
334
337
302
332
294
304
218
215
306
371
371
359
357
357
298
310
326
323
365
296
255
338
328
390
345
392
363
261
265
308
301
352
362
355
268
337
231
297
330
293
280
343
321
249
330
250
398
337
271
384
332
375
317
366
372
291
270
294
272
226
336
247
194
339
385
326
291
282
326
347
332
244
266
321
246
347
344
370
311
384
373
327
341
290
315
271
233
239
362
332
299
302
195
287
354
303
332
313
270
337
347
356
340
277
234
283
300
263
385
379
269
379
247
254
277
347
343
333
261
379
368
309
328
303
250
374
275
278
256
329
290
272
328
320
220
372
350
236
281
347
306
229
379
395
266
290
337
231
354
334
348
300
346
328
309
340
307
373
309
377
313
316
252
265
320
285
302
257
265
338
360
307
242
283
297
257
262
333
307
276
281
228
318
328
336
223
290
318
295
295
342
361
344
349
284
312
342
327
307
317
243
323
278
283
285
304
278
330
326
317
409
320
331
276
322
338
290
221
346
362
263
250
418
385
335
258
266
294
318
292
302
273
279
308
281
299
271
318
341
357
267
266
286
305
316
400
333
400
277
329
357
364
269
328
313
282
237
364
380
270
336
295
285
277
318
306
269
300
236
405
333
292
268
303
352
357
336
196
366
275
400
352
333
298
329
316
350
316
348
362
328
364
280
378
370
257
333
324
325
341
343
374
342
216
324
431
337
327
217
270
306
274
270
291
303
362
273
254
351
322
331
392
353
248
314
290
359
413
266
386
281
323
395
326
297
255
257
236
289
343
313
315
276
337
335
222
308
305
382
333
355
287
295
417
358
339
359
297
287
319
344
323
259
336
314
209
297
305
362
309
360
326
372
374
369
344
305
333
244
280
311
246
293
321
273
338
366
315
345
365
332
298
299
325
183
330
308
411
345
314
296
418
337
267
405
285
240
301
343
238
292
344
364
219
300
396
343
347
402
304
325
325
339
296
322
358
281
266
357
293
338
258
240
331
324
270
237
340
197
301
408
309
290
342
309
288
320
226
349
285
270
309
352
380
248
332
242
307
331
380
355
325
278
406
359
319
315
297
277
324
285
334
265
262
331
279
339
321
375
348
310
310
370
361
377
365
333
344
358
281
363
378
309
282
263
279
319
391
332
267
283
324
401
293
359
300
311
293
324
301
288
290
410
391
212
305
319
261
329
275
272
338
300
283
386
295
381
289
365
382
356
322
277
267
148
283
370
277
319
327
275
340
338
313
262
277
311
307
311
263
329
379
352
338
250
269
258
298
318
366
378
260
369
348
268
307
333
254
283
290
348
228
358
303
353
383
347
364
356
236
307
285
308
313
391
339
297
364
292
390
321
342
280
380
253
262
316
343
234
374
215
295
351
384
299
290
262
386
237
310
284
205
304
265
280
242
362
315
251
265
266
309
329
278
237
367
324
308
363
335
288
322
370
331
277
272
331
344
347
392
333
407
350
348
292
325
414
405
265
279
317
267
265
335
244
278
350
254
317
331
266
362
416
315
331
354
308
373
401
310
279
330
330
349
303
261
363
333
306
250
299
374
296
330
284
338
332
334
353
321
295
289
207
292
317
307
304
334
281
321
327
287
340
304
321
389
294
199
329
352
338
282
336
254
299
321
313
320
285
333
271
409
270
305
323
280
290
387
373
375
301
292
377
345
269
227
311
344
328
361
375
285
373
378
322
374
315
245
341
335
322
337
314
314
364
387
242
361
351
301
317
394
247
274
280
335
337
336
251
333
357
316
359
310
349
216
279
237
280
361
301
299
369
308
319
371
347
268
248
362
326
346
302
348
235
218
342
342
318
280
270
252
314
191
326
263
316
276
323
355
359
373
306
375
274
324
352
338
208
376
312
321
333
272
319
291
292
290
311
260
375
323
188
263
291
313
362
353
311
242
326
280
342
340
350
339
328
334
318
324
287
315
401
383
289
300
393
283
364
366
294
308
410
302
278
277
304
278
316
355
314
309
327
255
311
265
252
242
297
385
262
336
352
321
286
267
253
293
317
312
337
301
326
278
263
343
351
313
335
278
197
405
287
298
259
314
295
344
401
234
335
305
288
291
375
348
281
335
377
221
371
368
274
309
244
169
352
374
282
278
346
264
343
323
335
373
344
371
308
276
256
408
257
313
379
343
323
358
368
272
330
316
308
259
225
311
285
320
270
342
338
390
323
273
318
381
317
378
312
294
378
314
399
323
313
365
394
343
388
250
314
309
343
326
264
408
385
290
334
236
323
345
313
334
276
332
340
350
315
343
329
250
272
305
373
270
384
323
343
352
327
335
266
391
303
360
394
366
346
339
308
348
374
321
292
334
309
329
286
283
367
371
407
293
362
313
324
276
367
261
329
320
264
348
297
402
293
270
301
288
395
376
304
299
229
252
311
265
315
370
300
303
283
339
326
345
343
373
336
361
309
269
342
320
223
213
302
342
382
280
325
368
324
352
301
371
367
283
314
366
291
275
275
243
328
369
332
343
328
302
311
334
312
323
326
306
329
258
315
277
323
326
343
388
301
327
351
360
349
371
229
313
294
280
307
345
299
361
307
336
286
355
251
339
337
343
359
191
394
326
327
291
335
304
374
381
350
245
350
288
347
399
350
385
314
310
289
245
301
251
328
252
302
275
281
290
277
258
288
296
249
353
307
295
262
261
358
334
277
278
322
329
279
282
275
284
327
297
362
265
258
283
349
308
299
309
410
258
331
316
280
346
347
284
348
356
313
422
375
332
367
321
328
282
221
316
265
297
323
308
278
263
340
327
247
218
296
264
354
410
306
334
325
286
294
354
337
292
324
289
223
356
324
340
334
260
309
290
301
327
275
379
408
336
348
231
264
235
371
357
300
282
430
230
332
248
285
374
213
368
378
298
296
337
368
303
245
319
329
332
309
295
265
342
313
308
305
307
273
315
359
197
348
298
328
327
386
300
340
378
317
413
261
360
270
269
330
284
243
345
290
316
261
353
281
362
291
323
316
258
301
277
359
346
264
287
321
380
353
397
353
272
263
389
295
292
324
318
327
258
284
256
287
300
373
315
237
293
341
327
295
322
390
325
342
321
360
393
329
344
224
326
367
301
322
372
343
357
363
358
351
305
335
332
326
393
379
368
336
232
286
266
278
285
342
295
373
278
417
251
338
364
247
392
283
349
360
347
375
295
380
310
202
353
375
296
319
374
281
308
301
359
285
275
347
324
371
334
337
249
351
305
369
288
357
352
300
243
311
349
280
267
263
325
306
268
323
301
294
379
305
333
284
247
257
390
372
320
295
355
351
277
281
343
181
302
270
299
267
409
346
323
252
263
249
382
319
312
364
356
324
339
232
401
361
297
309
274
308
248
230
360
317
259
228
373
300
273
280
275
359
317
333
275
334
332
312
355
334
359
320
296
342
325
281
424
258
340
311
312
351
334
298
388
292
300
318
307
291
265
268
304
334
259
368
354
315
329
268
257
375
260
324
324
349
319
345
229
334
270
307
330
345
248
309
369
384
334
295
284
384
257
297
259
312
385
303
336
182
332
374
312
248
320
383
345
333
360
329
270
346
318
295
295
276
376
280
296
306
378
228
351
389
344
290
286
383
323
261
219
339
298
266
293
345
272
333
423
272
309
324
405
344
376
355
288
365
380
280
319
248
300
372
302
281
280
298
308
264
270
321
374
318
349
366
270
262
346
248
276
304
331
315
327
306
360
359
280
379
415
262
283
284
226
337
274
333
352
407
315
269
264
338
308
278
286
314
231
361
367
319
234
263
247
228
239
388
306
282
343
343
362
296
306
422
297
350
311
370
329
293
243
371
284
301
403
296
280
316
308
300
302
341
339
405
227
324
384
306
294
318
362
311
416
388
349
259
413
325
334
309
325
368
324
346
317
324
352
363
300
414
342
406
363
256
332
288
214
303
405
324
312
344
293
285
310
343
327
368
267
339
414
380
338
376
311
343
204
339
351
309
363
374
293
301
256
264
261
301
327
377
375
237
366
391
293
336
290
306
307
312
230
213
253
259
293
368
290
296
305
268
365
367
383
236
283
300
392
331
291
311
288
313
270
345
274
349
228
371
326
303
400
316
376
368
308
368
303
235
273
278
382
270
329
284
319
324
332
276
368
296
326
369
268
359
342
342
194
331
352
299
261
238
266
343
353
286
294
325
250
332
295
285
400
287
298
339
369
212
345
285
333
233
322
383
267
288
332
255
310
355
357
328
314
234
342
347
216
350
316
266
252
311
277
334
303
387
343
274
400
303
274
353
331
368
335
423
382
394
268
301
384
243
291
335
335
337
411
291
281
298
377
350
321
264
336
309
324
327
342
301
332
282
412
374
412
339
241
307
297
323
420
314
324
237
235
298
324
295
325
291
219
344
346
300
382
256
278
312
349
343
352
287
292
358
332
309
300
331
275
319
287
380
319
283
291
326
302
268
361
353
390
290
279
349
293
350
320
284
292
322
328
215
253
309
378
280
306
256
337
295
339
261
338
284
333
387
277
291
276
386
316
390
328
226
346
296
294
333
325
385
355
350
321
294
312
300
268
307
375
343
368
330
245
321
372
265
324
322
307
304
355
356
278
284
214
357
335
324
363
349
323
300
246
383
374
319
299
320
322
357
289
299
316
304
408
373
336
261
293
371
233
290
280
384
310
245
364
293
250
348
294
319
314
369
282
319
316
292
260
344
334
319
299
402
315
303
353
291
285
376
278
351
271
337
346
302
283
304
280
233
345
271
386
343
272
274
328
310
268
322
345
303
256
318
312
320
325
311
329
347
281
325
367
399
277
295
332
227
319
267
260
325
354
279
310
281
348
301
321
231
389
284
327
287
270
311
303
147
256
304
360
370
301
281
365
224
274
300
294
272
278
300
295
327
310
296
270
355
311
292
255
309
346
341
282
313
324
288
306
285
329
350
308
373
365
390
361
356
305
356
442
301
267
243
399
459
275
342
236
277
304
365
277
296
285
348
253
340
350
269
310
321
326
246
253
254
286
327
324
298
180
325
320
325
286
268
210
303
292
287
353
295
325
362
280
285
293
337
226
311
352
254
325
307
300
294
335
307
236
241
317
349
319
306
278
300
249
189
324
311
354
309
387
284
279
320
359
405
370
268
275
329
302
316
326
337
348
344
356
226
378
346
306
340
341
355
270
276
272
312
363
335
325
429
235
330
328
356
377
347
243
322
261
343
327
324
181
229
407
375
210
343
290
354
345
350
272
311
304
385
334
264
358
376
332
328
295
334
328
304
386
281
284
324
333
280
243
201
304
234
247
261
328
308
254
311
342
299
302
373
315
410
348
307
274
145
231
364
264
295
307
338
292
332
300
354
334
260
348
320
379
251
339
259
398
318
301
281
338
381
339
352
355
164
332
311
310
312
304
300
311
343
351
407
351
254
364
346
282
307
270
299
262
322
342
491
335
328
283
325
336
313
250
283
243
333
281
300
333
367
314
305
329
290
313
345
305
343
369
372
334
326
330
308
301
215
301
297
351
304
361
301
274
292
321
416
288
210
286
349
271
308
278
304
357
292
325
257
215
412
319
330
292
375
334
263
325
327
335
295
249
325
260
255
222
336
283
320
314
328
324
270
345
309
166
312
401
373
363
279
292
315
177
353
242
240
299
381
360
350
357
404
312
266
233
327
294
269
236
331
309
327
301
331
322
349
315
418
342
396
316
361
298
317
395
344
237
265
317
314
246
310
341
291
257
330
308
348
277
384
336
293
308
258
383
379
315
306
311
255
304
287
342
204
351
302
215
247
309
296
335
291
294
206
293
344
250
383
255
348
381
278
356
268
251
289
246
272
294
305
364
335
324
245
303
377
290
415
303
365
297
349
279
325
280
353
308
319
357
243
331
324
314
359
365
268
399
359
308
240
286
345
390
346
273
309
305
279
365
240
369
302
313
325
386
298
326
328
275
334
361
378
305
298
275
332
371
270
292
398
341
350
265
368
326
355
311
314
343
287
342
313
339
312
295
289
335
300
303
331
247
299
293
385
296
282
325
313
255
322
379
281
295
293
321
348
376
265
376
279
293
263
261
269
252
368
254
366
337
340
380
322
284
249
276
306
411
336
301
316
236
313
290
381
247
318
319
382
284
341
269
341
286
289
315
334
316
324
371
297
277
260
196
348
335
283
288
284
257
287
264
371
398
338
351
297
249
303
322
362
268
263
358
304
292
380
301
294
322
383
299
341
254
337
294
273
303
366
348
366
299
230
370
324
293
266
290
269
349
274
253
379
334
276
347
305
331
294
307
295
342
331
246
317
371
352
330
292
299
314
342
239
309
266
399
289
305
298
279
284
368
304
368
286
308
354
297
305
320
289
323
314
304
298
435
336
281
324
242
344
300
290
389
296
252
322
259
358
267
306
355
317
318
296
343
309
344
258
334
277
319
379
274
350
317
295
318
324
268
279
283
295
366
327
363
271
279
339
370
385
281
360
301
333
339
335
303
355
350
338
312
322
265
282
321
253
324
323
282
317
342
282
348
399
336
239
418
429
347
280
316
345
363
348
292
257
345
311
348
306
343
256
307
277
348
337
284
268
288
337
331
385
247
320
208
369
326
366
325
348
326
232
264
327
274
309
294
269
351
287
308
339
307
390
301
333
321
416
432
269
350
307
407
285
311
355
283
347
332
317
347
298
303
374
254
329
392
304
272
222
238
355
370
316
391
293
287
320
312
345
309
321
274
288
334
335
376
339
337
313
279
266
290
396
336
408
280
342
337
292
302
322
306
293
326
331
310
244
276
332
317
346
245
281
286
300
321
301
301
271
265
357
373
329
284
366
301
379
200
355
341
395
369
328
375
329
379
282
288
336
350
392
327
304
301
313
357
360
353
308
361
364
366
391
361
361
386
185
307
393
349
297
327
331
328
297
326
350
323
272
313
313
290
300
260
369
249
360
295
332
333
337
337
322
291
245
306
313
263
332
303
325
337
331
420
339
312
284
308
321
346
346
365
320
327
283
372
294
276
273
307
310
258
243
352
408
355
321
298
329
320
311
279
311
319
277
351
382
349
321
222
362
295
292
353
375
321
309
383
359
340
354
332
300
281
344
282
296
374
201
216
291
326
370
433
287
275
348
299
252
289
302
376
304
295
306
296
364
308
389
278
338
263
318
316
364
274
319
350
394
305
261
332
347
344
309
260
237
305
328
327
298
312
302
278
342
364
346
290
234
309
299
305
291
353
347
376
279
367
179
330
305
315
346
272
250
301
261
340
337
314
283
327
340
351
277
334
369
329
314
305
345
293
331
327
376
284
251
376
399
283
377
282
325
341
305
303
237
395
263
335
357
294
338
338
350
296
366
413
368
341
290
362
332
387
303
330
359
407
356
334
275
339
293
325
334
393
301
314
328
319
344
338
335
382
258
322
348
278
315
265
285
291
416
353
287
405
328
306
283
319
330
311
256
330
326
335
361
309
352
209
358
321
350
331
397
340
370
321
327
281
296
323
339
256
319
384
322
278
337
280
365
297
259
407
221
272
359
385
393
247
263
255
399
294
346
353
322
289
339
284
359
277
300
292
364
380
379
319
242
298
303
257
279
294
360
364
263
369
319
345
376
333
322
347
362
404
307
276
264
302
343
308
284
359
306
218
282
306
296
344
298
235
304
276
193
337
392
317
287
373
306
258
277
344
320
333
284
287
294
240
351
337
235
345
357
324
389
352
263
295
318
383
230
327
292
326
287
252
365
256
225
424
291
309
255
286
389
310
332
318
363
418
268
369
287
300
222
332
309
400
300
390
276
284
311
238
284
219
214
179
293
335
254
299
302
258
327
312
343
313
356
266
281
341
331
361
323
336
301
366
363
347
391
319
251
389
339
331
340
311
295
423
254
385
281
331
349
374
317
280
309
267
355
345
309
370
306
332
320
384
366
315
312
387
314
349
320
249
366
347
312
338
313
261
340
379
292
299
280
292
399
349
311
240
259
230
405
346
271
387
351
285
235
314
224
321
361
355
357
372
331
323
304
286
376
356
273
325
303
376
369
326
269
313
366
343
348
351
276
315
301
339
356
325
402
377
306
300
361
326
268
313
208
275
343
301
276
306
379
268
369
316
307
311
247
371
286
272
370
286
354
267
379
331
368
277
322
312
220
237
358
258
352
360
323
266
360
337
276
357
380
288
315
212
315
329
386
228
368
340
268
281
330
276
326
218
179
269
321
352
320
372
383
288
341
381
162
336
249
360
332
248
305
246
295
240
312
323
390
360
356
384
268
325
319
331
315
326
304
300
254
340
349
399
375
347
320
300
217
324
324
342
337
320
322
316
390
380
275
271
315
337
303
257
254
328
378
309
369
282
337
328
378
359
349
294
352
290
328
352
221
326
332
343
366
288
206
227
397
337
298
236
313
366
304
320
366
269
380
358
338
348
280
279
319
291
390
266
258
412
391
310
318
351
379
305
236
277
308
276
278
379
362
330
249
337
261
377
336
271
399
349
302
339
372
306
244
328
329
339
275
285
370
272
226
292
256
344
204
356
301
352
402
307
246
348
348
297
368
395
323
311
344
268
367
252
364
296
315
372
364
378
300
305
258
327
265
304
326
348
275
230
275
248
345
401
261
354
301
363
255
355
362
277
355
237
312
316
213
365
266
299
282
320
356
360
289
287
287
309
285
353
311
325
226
335
354
310
263
364
391
313
368
372
355
364
361
248
277
356
348
337
299
310
327
310
309
344
295
367
269
231
300
249
353
291
336
248
321
301
381
339
356
221
376
253
226
287
294
338
324
268
382
370
415
260
291
286
318
408
371
321
288
279
397
335
304
309
294
343
320
263
308
355
311
330
302
341
384
305
361
280
299
383
277
293
284
300
262
242
248
330
345
306
289
267
247
345
328
352
359
284
269
293
294
390
308
364
255
266
329
234
335
429
222
397
378
254
267
270
254
338
386
276
316
360
400
284
361
378
315
354
286
290
271
272
287
326
325
296
356
272
342
387
222
276
288
353
307
364
294
296
365
325
275
289
282
326
242
240
294
260
370
331
295
261
220
326
317
220
326
318
354
361
386
389
331
238
323
278
310
375
265
336
288
353
311
388
332
306
316
354
299
361
290
331
354
305
286
328
269
272
324
305
330
277
382
275
228
243
283
362
296
324
281
268
332
351
299
324
409
291
189
278
336
240
279
212
259
303
334
317
244
259
291
330
286
352
259
319
408
289
349
385
285
307
349
365
313
376
265
318
264
340
319
283
309
177
327
306
260
291
275
276
332
340
324
407
393
309
279
344
283
273
316
280
343
300
217
327
329
339
393
375
281
283
279
309
336
300
330
291
279
372
296
311
363
247
272
298
327
236
318
250
318
295
353
301
272
311
327
228
347
293
251
337
282
415
363
389
341
260
291
285
352
364
392
293
291
254
303
253
303
273
308
283
270
275
278
306
388
293
358
272
267
283
378
229
245
290
231
350
377
391
303
277
363
321
358
277
263
225
310
344
216
316
342
304
287
335
219
327
284
236
341
270
216
354
324
286
317
321
278
332
275
319
239
347
363
315
259
281
316
301
291
329
347
248
363
336
297
391
293
349
273
334
301
264
305
260
366
291
336
236
344
288
296
199
261
286
284
347
246
292
295
321
415
322
311
304
358
226
300
264
338
245
260
310
297
339
342
391
376
385
281
359
318
368
246
349
317
241
288
357
365
322
305
334
360
371
299
306
312
343
233
399
326
320
302
313
277
301
315
240
432
325
387
229
306
252
314
319
295
367
297
282
326
325
306
332
302
207
384
277
308
385
305
313
400
286
315
308
218
337
422
342
324
391
289
406
296
290
281
387
290
242
294
333
276
360
391
358
354
294
291
323
319
240
287
320
416
313
352
357
338
331
317
297
322
288
311
320
317
339
349
267
288
256
287
359
295
331
357
286
366
223
332
301
362
368
295
330
353
307
325
312
272
337
326
262
368
346
331
306
364
189
410
285
213
393
374
281
365
279
319
404
268
242
384
372
302
326
222
320
214
340
317
292
360
301
236
308
351
236
375
321
295
234
324
304
234
354
333
382
389
297
255
367
256
317
333
335
366
309
304
381
262
331
358
308
332
338
328
327
210
266
307
384
321
387
326
400
274
288
292
246
354
296
282
311
222
273
286
347
309
285
323
309
289
322
245
296
323
272
357
333
362
203
406
307
349
214
325
277
328
285
288
259
383
252
237
284
335
320
320
338
243
333
259
336
317
294
246
343
322
273
330
332
354
262
362
310
306
359
278
354
246
344
334
373
232
225
348
243
311
287
263
374
270
354
248
343
288
333
294
335
393
345
281
293
312
235
262
320
332
250
338
360
380
278
279
201
371
333
326
366
307
374
287
416
325
308
385
311
377
353
299
375
292
232
338
274
319
359
279
308
382
311
284
299
227
285
406
357
357
328
369
266
418
302
364
406
354
325
345
371
345
287
450
332
344
347
311
343
243
210
393
228
295
391
363
325
302
339
321
307
271
265
347
295
398
343
255
367
316
382
283
324
313
427
313
292
369
301
286
256
274
233
393
290
334
352
321
355
268
294
254
330
292
290
260
266
304
367
318
300
296
365
323
304
267
297
288
394
377
345
271
317
275
311
372
328
309
328
324
278
305
322
350
304
342
358
293
289
286
332
362
397
314
314
362
296
242
316
302
335
273
279
388
223
332
328
317
346
310
226
247
322
274
277
331
334
352
339
326
295
398
325
358
318
291
386
305
311
270
325
358
333
209
234
299
312
294
273
298
331
241
306
364
302
326
330
297
352
381
328
319
422
328
354
293
313
258
342
341
303
277
259
320
332
323
304
313
335
261
362
367
356
272
264
349
421
324
363
486
360
364
284
359
326
274
245
326
300
391
313
357
349
264
398
360
332
413
391
324
306
367
350
314
261
301
319
313
303
316
290
354
336
315
302
226
362
373
305
356
294
398
267
286
283
396
384
230
323
302
402
322
335
276
336
299
308
306
381
303
262
326
335
264
339
322
242
235
339
311
303
229
244
278
315
381
342
425
304
304
285
363
279
340
343
364
359
225
312
276
292
290
338
291
279
329
422
410
289
271
316
367
379
311
296
298
364
317
278
247
362
349
297
364
361
322
330
323
276
296
274
309
288
309
288
282
276
234
283
277
342
258
410
256
339
266
364
319
332
264
349
324
343
323
348
317
369
389
314
204
317
355
387
394
222
322
246
248
327
291
263
277
325
382
278
407
323
329
270
241
364
303
309
354
337
363
337
288
372
274
298
295
314
326
312
290
277
345
322
329
316
339
236
343
333
330
344
389
273
272
321
334
357
434
302
319
373
379
280
342
330
352
279
250
305
166
364
364
299
294
316
331
283
294
322
244
305
376
293
368
311
336
309
300
375
347
321
451
318
257
280
334
278
311
311
338
346
304
342
315
391
326
250
328
246
354
229
325
288
294
346
357
283
347
363
303
274
307
241
272
318
345
442
245
278
328
405
186
365
316
265
220
389
350
273
347
440
358
254
289
270
252
253
377
318
328
283
308
328
250
319
246
362
293
336
351
323
245
369
287
318
391
377
364
394
288
338
321
303
284
328
297
297
314
371
332
310
295
256
276
388
205
304
336
345
324
336
323
378
320
313
342
318
328
310
287
328
321
299
282
291
296
396
289
336
337
338
324
278
397
306
337
418
239
334
281
274
323
387
236
337
269
361
383
288
296
288
324
315
291
288
303
330
314
341
255
292
259
343
383
302
337
251
348
282
338
287
312
323
337
318
247
301
271
292
367
273
325
221
348
345
383
323
332
344
393
322
284
403
284
262
275
348
298
337
265
390
296
358
343
390
354
305
246
275
351
305
232
356
313
305
337
350
233
407
353
307
382
317
316
433
307
342
328
366
194
332
420
280
366
283
272
312
307
346
399
344
333
330
232
270
370
306
315
316
294
313
350
272
345
398
324
292
245
373
244
290
313
318
302
332
387
331
328
327
255
364
338
309
320
301
387
243
300
285
337
362
220
350
263
315
235
296
265
245
287
272
411
320
325
346
308
367
293
354
347
306
289
345
338
250
417
353
217
364
296
367
389
232
322
292
385
333
357
266
380
279
242
391
361
278
278
346
321
252
333
292
311
357
254
355
326
329
248
298
279
414
353
274
265
342
309
290
334
327
293
459
340
367
291
285
334
330
261
311
325
359
320
336
275
246
340
260
226
355
368
238
400
307
276
315
303
374
390
270
327
334
369
346
278
360
348
342
353
297
287
380
317
260
378
368
264
294
340
398
322
368
304
300
240
352
350
259
295
336
345
345
313
373
277
272
307
306
352
275
320
235
307
347
344
277
310
284
255
276
381
244
273
324
311
354
307
323
387
322
273
328
272
317
252
316
309
322
306
308
343
367
248
286
306
343
269
354
331
319
348
345
359
315
275
293
348
308
336
226
384
359
372
314
266
319
271
302
226
273
311
399
182
215
361
345
306
342
325
451
365
325
376
341
268
332
265
352
310
253
287
311
359
291
278
229
351
268
298
291
273
395
363
204
232
270
262
269
275
352
341
409
328
345
342
395
383
345
246
341
343
335
273
353
329
340
352
208
337
292
181
399
306
342
334
353
309
355
255
378
310
279
305
294
349
318
292
294
307
362
350
367
307
353
317
299
276
320
317
280
329
353
332
307
270
323
371
357
332
341
290
281
274
321
327
316
339
332
379
338
294
323
269
346
332
341
369
364
303
367
289
426
346
272
342
299
306
268
258
276
239
256
236
342
350
336
310
299
413
349
332
327
279
426
381
359
323
372
250
368
274
342
375
275
365
315
341
367
381
371
301
319
217
222
301
362
360
296
324
376
245
251
267
358
306
327
302
255
293
284
259
284
367
280
312
332
211
396
317
332
239
308
307
367
291
277
323
266
317
246
360
311
406
315
323
355
297
394
286
347
311
247
377
340
288
267
307
262
309
261
398
243
334
252
309
285
240
240
259
359
293
358
349
338
311
413
233
342
327
343
349
241
351
324
293
303
204
345
291
239
269
274
294
260
250
355
289
314
314
234
291
255
257
242
309
284
281
291
296
339
303
266
383
307
316
367
261
263
281
370
210
274
239
312
292
258
346
206
315
266
324
340
338
304
300
272
365
349
312
292
383
372
336
246
292
357
302
254
333
284
330
310
301
317
397
310
345
365
262
372
347
299
323
297
314
362
292
261
240
329
266
384
366
244
327
374
318
299
315
235
386
266
320
331
240
339
277
402
253
272
289
275
301
308
302
338
274
302
336
305
369
364
350
340
315
266
282
296
288
276
294
335
225
363
306
358
330
293
352
282
362
322
312
286
306
397
335
372
339
408
336
347
297
250
353
372
229
366
409
271
309
413
294
317
249
213
330
315
330
424
270
333
304
326
251
346
296
289
321
323
345
366
256
275
345
274
254
279
281
208
325
355
336
305
286
401
327
374
325
300
325
342
368
324
372
316
213
368
324
301
240
275
275
418
315
316
269
294
335
316
315
318
279
291
314
353
250
365
343
294
314
282
216
274
302
197
319
340
416
301
375
317
325
355
319
336
243
294
243
293
270
348
347
242
231
345
331
234
308
218
306
321
327
365
284
289
333
351
312
312
320
330
246
340
346
277
335
258
199
275
338
290
371
322
286
286
262
331
303
313
359
347
307
294
359
259
284
391
241
301
290
291
245
286
299
387
305
324
275
318
253
338
267
243
315
287
301
361
192
339
293
415
293
300
293
337
351
309
395
249
349
289
296
298
303
338
320
268
297
428
349
360
338
331
387
277
219
381
370
328
342
279
273
299
406
377
319
315
369
308
313
375
312
340
210
254
300
292
302
337
302
389
310
311
311
323
246
247
287
323
329
315
341
311
369
378
352
267
343
262
325
296
337
318
370
370
271
387
252
364
301
373
339
345
275
322
404
299
227
258
343
371
368
373
282
295
273
316
343
300
344
344
312
367
416
317
254
221
359
292
339
302
303
314
275
381
325
302
355
301
258
259
414
367
365
269
360
318
303
271
343
300
231
261
330
298
384
287
255
336
307
290
337
313
283
312
183
295
273
316
270
303
296
327
237
321
258
369
307
253
315
423
347
331
251
240
301
309
324
289
435
337
300
337
276
327
265
308
329
373
248
246
268
317
355
379
303
334
316
328
353
305
263
310
282
359
332
212
358
309
291
381
371
308
315
323
265
239
294
314
197
294
267
277
280
320
230
262
278
300
308
239
284
311
282
285
276
313
313
276
361
338
312
208
278
322
311
374
415
298
283
319
311
338
233
302
325
249
357
349
311
212
342
251
363
288
288
265
254
366
348
302
273
357
375
320
301
296
316
315
230
341
407
379
257
264
300
333
319
285
323
297
328
380
356
309
325
264
259
352
413
376
407
286
327
353
388
409
307
312
351
297
328
324
356
291
233
317
291
296
294
342
261
377
219
234
291
251
310
237
362
286
316
341
316
327
324
294
349
408
267
315
331
344
287
255
401
325
282
350
293
286
271
290
394
314
420
314
275
402
391
274
268
248
324
335
333
258
310
331
309
338
384
259
270
319
280
330
355
340
341
312
278
292
328
342
309
308
384
324
269
254
378
280
329
401
266
310
272
282
338
295
310
278
284
345
292
323
341
301
187
373
300
317
250
362
340
287
398
288
295
377
237
251
261
291
345
294
399
275
253
334
385
329
337
367
379
335
319
377
341
292
321
313
241
395
385
365
381
282
273
294
357
256
349
381
353
269
305
308
343
302
273
301
280
366
310
344
241
363
344
334
351
308
376
291
283
272
367
373
290
287
349
403
238
343
292
375
245
218
260
261
293
241
333
245
342
386
327
371
228
349
369
280
272
311
380
331
256
246
316
303
372
321
307
300
340
229
247
364
388
349
391
274
346
327
264
271
326
266
367
330
374
340
234
256
282
348
315
332
364
345
248
340
290
353
342
308
303
270
364
244
279
340
291
252
284
303
237
305
290
330
326
315
298
281
249
263
342
386
365
237
260
284
333
276
304
340
265
287
308
300
275
321
351
341
304
201
293
350
334
349
245
225
282
227
275
367
337
298
366
358
277
344
358
314
292
344
262
298
277
291
359
288
333
324
396
265
374
353
332
273
319
336
295
347
306
253
297
326
287
336
343
325
329
309
311
350
354
352
291
250
277
292
310
341
279
269
303
273
333
333
347
307
261
244
325
360
237
314
269
288
238
318
327
292
323
284
272
288
350
265
231
325
276
276
333
305
316
353
249
377
390
309
334
381
291
282
337
302
252
403
378
332
252
306
349
366
287
309
248
286
345
339
319
270
304
297
387
249
323
258
310
411
296
334
313
254
300
309
338
318
331
347
279
353
393
330
323
310
310
303
306
311
315
340
252
272
277
297
337
199
288
284
215
378
192
289
373
285
386
395
308
273
379
283
329
343
280
323
315
232
328
298
341
280
292
249
339
314
267
372
297
315
292
302
309
295
311
270
330
283
260
313
294
281
289
321
277
424
276
330
311
248
331
326
324
352
279
279
339
353
357
315
333
370
343
346
329
350
344
295
321
312
278
304
336
391
309
312
337
320
334
288
283
353
370
326
442
316
250
269
277
253
319
357
279
339
345
422
343
307
338
348
303
328
241
288
331
344
351
338
396
259
272
336
289
393
320
387
363
300
344
350
308
349
317
399
358
376
338
304
336
242
244
389
254
275
264
277
276
291
305
240
393
247
227
331
318
348
333
280
271
362
383
303
287
302
274
399
336
290
242
325
298
322
332
312
369
347
338
217
232
333
323
333
394
326
308
256
346
341
288
281
392
293
364
336
294
349
254
297
294
261
288
342
306
404
352
311
323
341
283
313
313
374
310
356
265
227
261
292
296
370
251
237
264
292
355
256
419
298
298
272
309
330
308
325
247
394
262
345
333
324
369
392
432
439
292
283
303
312
271
275
291
313
326
320
348
329
386
296
299
342
312
326
280
341
366
313
290
321
306
265
368
350
305
323
305
354
312
315
292
281
294
265
275
318
243
363
268
332
344
344
303
294
242
303
279
335
289
381
319
332
361
354
342
280
283
365
308
215
274
317
302
375
250
298
410
247
335
342
326
289
355
311
351
359
215
395
323
353
374
275
264
309
338
333
306
291
261
337
285
317
228
388
326
371
389
294
312
330
344
272
314
299
250
268
289
362
335
313
281
347
358
325
345
403
321
313
308
338
317
414
224
240
308
354
336
357
299
328
337
397
328
412
337
338
361
304
326
271
307
326
346
328
328
365
299
314
378
271
295
281
202
285
294
385
344
299
312
252
314
275
288
302
276
388
288
359
306
224
373
362
336
262
257
297
318
349
328
318
364
237
319
249
309
312
345
320
319
323
215
381
335
326
360
283
296
323
360
321
336
278
268
291
308
313
316
306
288
278
304
311
390
265
311
222
248
289
274
259
285
317
290
275
333
420
386
309
293
391
380
302
390
321
313
343
372
382
317
336
334
263
307
294
259
347
351
241
296
356
222
374
337
256
330
320
296
383
220
335
295
242
365
330
376
248
293
281
384
357
384
316
309
329
215
264
303
374
262
310
294
247
349
407
425
312
332
340
309
370
319
290
367
279
374
349
266
285
305
420
300
192
249
353
240
278
376
296
309
310
404
239
272
305
317
433
287
386
312
309
337
287
230
376
387
370
237
336
281
304
328
309
214
352
400
272
346
223
197
339
350
261
379
273
300
283
271
292
342
328
347
328
354
258
280
232
288
328
307
316
329
214
264
330
375
257
319
254
338
350
320
295
356
331
279
261
233
219
278
327
278
368
348
290
348
336
348
329
312
210
242
274
352
181
294
353
264
302
249
329
247
255
337
360
357
373
187
427
378
372
304
365
282
307
249
296
372
316
305
288
338
431
358
338
366
323
372
357
317
263
358
236
364
243
336
424
257
326
311
278
361
362
346
343
303
329
250
353
404
298
263
170
285
336
323
331
329
379
306
350
338
280
390
285
311
343
353
277
268
319
335
361
322
259
330
303
286
326
309
284
359
226
308
248
374
370
284
262
358
330
265
398
322
369
271
367
343
265
374
314
287
272
315
304
314
314
359
347
309
364
326
344
342
321
264
341
305
341
244
407
397
336
238
379
275
266
338
313
302
318
252
331
357
271
357
293
337
268
336
310
330
249
325
279
289
371
275
363
425
344
330
347
301
263
338
253
366
421
362
339
354
407
346
343
359
215
408
359
325
335
224
349
373
342
310
229
275
330
340
289
299
241
324
312
298
373
287
419
300
303
378
262
342
358
266
420
322
335
311
260
335
314
316
211
268
336
313
389
322
367
286
332
314
320
285
305
347
332
308
302
321
324
289
265
376
343
289
330
380
337
295
354
289
324
283
286
293
284
328
361
281
413
332
348
282
342
212
401
357
383
348
361
296
427
370
311
205
352
320
308
363
312
249
325
380
378
297
309
333
350
305
311
292
255
213
374
310
355
380
281
305
328
349
294
388
278
324
256
332
337
220
258
302
321
385
268
271
247
381
308
397
361
322
305
343
247
388
331
299
356
263
266
394
268
351
318
224
250
317
201
324
249
342
327
252
283
357
296
344
297
279
332
313
381
319
286
354
296
287
347
285
319
293
280
370
403
337
261
317
314
280
296
301
228
332
289
333
300
260
291
294
315
349
362
292
335
228
322
337
306
247
340
284
341
365
246
325
331
312
363
215
304
323
257
317
257
441
296
280
306
373
300
282
291
269
338
334
307
245
339
324
329
336
284
329
306
342
334
333
296
247
281
311
354
305
300
366
277
336
272
312
364
330
270
283
301
292
292
327
309
353
350
269
330
326
363
319
316
260
356
317
292
365
321
381
303
351
391
358
345
216
327
289
275
344
369
313
300
321
319
354
338
292
307
246
370
282
342
329
336
359
340
352
317
281
349
338
342
336
273
287
317
303
335
283
360
315
326
360
331
326
303
290
243
277
280
272
310
334
298
267
271
198
365
381
319
287
393
278
266
325
308
369
364
330
384
222
339
264
370
354
255
320
266
309
291
309
316
269
348
367
354
339
386
337
394
346
304
315
332
206
332
287
433
272
183
262
324
374
330
344
317
281
338
255
314
324
381
262
321
290
276
273
438
320
210
340
311
318
333
312
277
277
299
280
198
357
411
268
293
384
348
326
325
313
314
317
373
302
318
368
289
359
354
290
299
306
333
326
278
328
290
392
283
326
359
251
319
355
266
332
310
317
313
340
370
372
373
212
322
191
307
335
284
357
319
307
291
355
346
337
307
236
263
245
260
303
301
310
255
302
340
317
277
344
296
217
341
321
303
330
347
365
349
345
409
379
309
246
303
383
246
379
307
344
303
295
352
367
321
313
346
280
299
351
253
399
347
348
386
304
236
386
311
240
386
332
341
325
316
282
360
285
285
318
408
292
303
272
282
337
294
328
389
289
247
367
272
321
263
294
306
323
387
340
319
261
168
281
361
319
357
285
307
275
326
378
373
311
378
257
377
270
302
314
320
317
297
280
306
305
290
259
320
319
301
400
276
326
255
327
371
292
337
305
253
340
340
351
292
322
325
280
357
327
304
337
295
250
251
251
274
280
288
333
307
249
336
327
284
332
298
357
218
344
304
305
272
356
240
265
357
327
358
329
357
331
335
311
349
263
225
266
299
392
339
454
341
233
301
310
269
260
313
358
293
311
254
319
333
218
316
368
260
339
363
338
324
304
275
323
307
293
289
275
379
319
303
310
238
343
336
268
317
378
323
294
341
345
313
310
319
358
289
267
187
257
316
240
386
242
300
358
378
250
261
333
272
317
343
295
285
279
203
308
305
285
265
223
318
337
351
389
249
351
337
300
270
236
360
356
349
400
324
407
335
355
287
314
326
323
354
399
291
338
334
314
361
325
316
240
274
279
314
307
358
343
304
262
286
320
237
288
277
309
362
261
276
335
254
334
331
338
321
332
279
336
276
332
326
321
337
335
255
231
218
243
362
369
273
364
354
288
351
291
368
413
250
323
321
363
238
366
368
361
178
278
329
370
292
268
361
352
306
272
219
326
249
328
375
357
249
284
355
227
305
373
322
338
398
409
345
278
362
390
288
246
273
328
317
263
384
336
330
311
278
326
350
332
313
266
351
293
258
304
315
306
339
331
348
373
324
373
288
345
291
279
332
251
257
327
297
320
343
273
290
292
281
339
355
328
405
271
374
367
286
263
400
200
386
316
364
331
292
357
274
284
319
223
328
339
320
278
365
337
327
288
260
321
385
340
213
282
336
363
416
316
255
281
329
278
267
234
259
261
331
293
361
289
327
302
305
374
275
354
312
373
293
322
327
316
329
342
308
298
382
318
401
310
332
335
269
341
347
369
267
356
346
323
341
256
253
235
328
368
328
322
379
303
268
313
412
344
260
366
331
285
369
306
276
355
337
329
333
314
222
309
258
332
301
369
381
360
340
301
288
341
258
320
275
299
262
367
294
233
258
270
319
297
267
308
290
370
249
366
271
207
353
330
275
291
365
304
390
283
286
271
308
357
338
341
336
355
295
310
306
346
362
284
241
380
310
345
366
350
265
319
356
322
295
308
291
355
311
159
287
318
369
418
229
364
344
332
316
314
249
327
370
340
299
225
292
265
308
237
331
291
346
297
311
262
320
238
306
292
332
325
325
384
355
305
351
290
318
291
274
360
244
351
362
348
315
263
327
382
316
376
268
290
352
339
296
373
313
184
327
342
229
308
376
312
306
381
316
341
280
305
344
285
341
276
364
261
239
346
278
306
301
322
333
232
332
245
255
297
304
370
329
230
321
287
328
269
237
327
351
268
308
324
297
275
287
282
266
374
357
262
303
316
287
303
357
332
362
305
359
359
293
269
319
274
249
280
386
312
358
392
332
307
328
284
280
276
373
338
342
375
395
222
337
367
312
299
350
287
285
357
370
335
341
336
310
250
256
277
278
305
315
373
321
294
292
372
417
327
281
315
281
303
328
332
289
354
354
258
355
314
328
388
334
363
331
335
283
329
369
250
337
392
315
266
346
368
293
335
231
358
305
234
260
320
308
365
267
336
335
322
348
257
338
300
310
285
336
260
259
299
300
367
309
312
329
244
375
268
332
346
368
350
250
196
290
349
270
327
358
324
372
317
338
281
268
387
384
388
376
269
272
314
372
274
323
272
397
264
312
324
264
233
286
262
361
359
349
257
307
248
356
249
223
315
252
314
280
298
283
265
334
271
377
391
216
342
329
247
203
337
308
363
372
310
299
381
277
274
267
293
300
315
266
321
334
372
258
321
330
287
322
323
326
213
258
300
312
298
323
397
349
293
354
456
265
397
296
299
315
300
204
296
323
337
225
327
304
261
353
295
357
265
268
324
335
298
280
251
237
312
360
411
386
302
259
285
394
321
279
376
352
298
275
338
308
206
314
346
257
265
369
340
325
343
293
314
284
357
298
311
283
385
315
303
348
323
319
338
252
315
318
392
409
216
356
331
306
336
313
334
393
338
317
289
298
364
356
330
286
326
359
336
318
286
283
265
293
283
279
312
273
284
336
367
316
321
361
307
298
332
389
395
277
341
264
384
302
342
320
355
252
313
349
378
214
291
278
276
205
277
307
349
282
294
253
317
368
338
233
346
298
392
309
258
344
316
282
310
304
355
321
289
355
300
343
358
308
291
341
330
275
360
321
302
253
314
370
282
356
231
321
295
367
275
268
294
325
335
234
314
246
321
330
317
320
302
332
344
285
257
397
353
342
336
346
254
320
253
253
334
278
275
257
224
336
397
261
359
330
404
323
242
285
350
248
303
305
236
299
303
226
361
293
377
379
270
368
299
355
379
365
272
333
227
313
296
311
268
385
284
320
200
337
304
299
334
291
325
385
304
356
200
277
250
265
386
329
276
318
338
341
308
322
345
311
313
363
292
314
337
360
255
386
399
324
324
323
294
284
307
349
308
248
255
319
310
369
274
341
361
309
314
256
268
303
316
148
348
304
294
324
307
259
284
308
391
296
256
360
363
367
327
254
323
355
254
335
368
304
287
287
374
304
352
358
276
264
240
300
387
261
315
356
370
293
266
355
296
322
260
353
325
320
273
391
409
365
334
317
325
327
354
248
317
249
388
408
283
313
354
270
281
378
241
404
258
378
294
349
318
318
357
370
316
297
352
309
309
336
375
339
231
374
308
403
303
351
333
330
334
341
325
318
335
256
353
314
249
340
325
319
263
244
320
368
412
335
328
310
275
324
329
263
420
322
286
337
352
231
309
288
301
328
278
344
390
265
241
352
350
327
325
275
362
310
253
291
323
386
270
309
371
396
306
284
344
245
328
348
278
350
260
270
268
371
365
240
267
292
359
259
239
334
304
360
332
294
292
316
385
299
287
337
363
300
284
311
250
301
231
311
295
248
270
289
343
289
313
294
403
329
348
346
274
338
304
326
288
338
364
359
310
211
364
254
308
334
357
444
189
295
364
274
287
388
321
299
338
260
311
288
317
319
362
297
211
349
240
262
297
343
351
269
372
365
243
333
322
300
292
292
337
383
304
316
317
320
364
347
311
333
286
312
250
279
273
296
284
325
359
325
310
375
283
310
304
339
312
279
281
231
308
333
382
321
253
281
323
321
391
340
264
317
360
327
331
324
300
261
340
297
391
261
310
271
329
260
350
285
207
357
387
378
306
303
296
300
317
323
318
297
343
235
246
394
265
245
289
337
258
370
329
341
355
305
271
283
373
236
255
345
361
313
353
273
299
346
250
321
413
294
290
322
377
301
248
327
282
319
211
332
332
324
366
404
267
334
357
323
290
284
331
305
386
360
374
342
259
377
308
222
338
332
250
272
429
332
337
278
290
339
345
329
268
386
342
310
315
318
271
282
238
310
310
348
268
289
251
421
231
317
307
305
291
233
331
305
300
324
314
379
325
335
241
261
288
358
353
388
307
336
327
302
330
336
319
321
325
364
304
348
276
299
306
338
454
337
333
227
376
293
344
253
350
342
343
373
322
257
377
325
372
336
205
337
268
322
293
314
346
339
347
391
405
371
313
327
238
318
377
359
345
374
307
239
274
276
369
312
256
341
280
312
341
344
287
337
321
291
295
310
295
338
310
259
242
284
370
243
342
242
344
377
306
263
232
399
371
312
338
354
323
337
340
379
333
318
228
362
330
303
237
323
386
378
324
249
346
212
296
259
311
364
286
283
276
287
319
366
300
297
382
359
317
336
314
311
286
320
329
382
353
320
209
279
331
342
227
366
325
317
305
323
205
321
345
306
333
301
282
288
363
244
366
333
315
239
400
323
247
255
303
360
342
250
257
288
320
268
361
302
281
328
283
368
335
304
258
359
338
284
363
273
311
322
319
337
319
393
366
344
395
318
313
349
317
322
337
326
299
352
259
337
258
336
351
352
373
297
330
313
290
284
320
323
410
286
396
314
373
313
343
272
273
246
314
262
396
354
287
316
424
292
295
324
234
279
287
392
339
273
290
233
373
358
313
260
232
323
331
334
339
343
263
286
244
286
300
334
269
302
329
369
275
303
299
425
248
339
372
307
321
339
214
384
344
327
360
297
351
298
251
335
292
355
235
321
347
326
352
252
360
329
334
286
394
312
311
366
334
324
284
284
275
359
240
288
319
283
327
332
343
304
346
353
288
276
370
204
266
375
243
381
293
339
287
322
360
332
342
377
287
285
300
417
391
233
309
383
344
296
362
343
310
334
266
294
348
367
374
344
341
294
319
258
386
292
288
358
315
304
303
285
209
215
285
426
339
361
373
254
369
358
306
325
375
287
223
348
387
302
276
292
336
285
344
288
338
309
369
359
257
354
340
370
311
332
331
258
340
331
307
321
332
351
347
350
330
299
349
398
410
321
380
366
299
317
263
267
315
394
313
320
255
305
316
339
339
330
371
308
312
318
269
301
361
369
368
301
296
299
201
370
243
280
208
325
324
254
294
411
346
409
316
349
292
240
382
318
363
347
309
309
339
287
338
371
396
297
278
358
323
281
247
321
358
339
223
352
319
304
266
334
343
235
352
376
295
310
207
284
371
370
335
323
311
372
274
269
364
244
368
302
346
382
287
315
320
284
326
266
241
321
361
370
314
403
349
295
293
356
287
295
358
277
293
292
326
310
421
323
357
364
316
260
344
272
306
406
310
321
255
302
387
297
324
350
333
332
386
347
346
273
304
365
392
358
327
377
294
294
393
336
277
321
266
315
308
366
383
236
350
240
329
378
365
342
295
241
300
343
264
338
309
374
343
320
377
332
309
337
267
312
351
308
340
389
246
380
310
318
273
284
287
362
317
241
217
270
347
312
340
383
320
287
341
302
368
306
299
304
273
293
336
307
358
275
357
288
266
328
278
272
251
328
367
304
398
289
219
315
342
280
346
321
391
293
362
329
284
357
297
312
342
282
255
281
336
218
420
317
323
320
246
312
353
378
299
283
304
316
293
342
313
263
276
271
336
390
261
298
302
252
294
329
268
272
322
385
375
362
304
348
330
256
304
317
362
357
255
344
387
356
310
361
336
319
377
336
327
393
288
309
192
307
398
300
313
386
387
274
264
286
394
331
381
362
272
339
342
304
355
310
275
316
271
322
302
351
257
418
330
304
386
349
261
340
199
369
409
272
339
340
278
302
328
389
300
275
337
374
318
304
370
337
373
356
337
291
284
326
323
328
343
263
339
357
332
301
270
223
374
327
349
384
234
325
246
281
297
311
308
281
369
255
309
335
300
278
293
369
295
300
287
264
366
295
280
294
334
354
309
227
389
334
337
330
340
307
307
321
329
401
334
312
322
281
317
235
313
277
351
323
275
352
315
349
311
336
244
338
398
257
363
275
394
283
275
408
355
325
362
292
285
333
357
343
327
394
333
260
430
388
274
309
262
307
396
298
324
332
393
355
282
337
337
295
308
286
280
328
276
308
387
328
240
339
274
254
360
344
245
334
290
311
260
328
356
398
322
328
295
360
353
323
271
333
406
377
304
373
288
238
261
346
340
340
352
358
344
271
235
295
319
266
282
338
317
295
303
300
371
360
324
362
352
292
233
234
365
300
317
246
309
338
303
356
329
378
261
365
371
225
330
327
346
232
270
274
311
324
367
305
318
274
267
366
290
302
243
274
367
333
344
249
348
305
393
312
265
324
289
302
310
369
270
279
315
343
406
332
347
364
387
265
300
295
232
224
345
379
322
376
332
316
381
288
436
270
390
307
308
319
232
351
271
271
288
287
351
319
246
317
277
376
379
282
283
321
386
275
221
377
261
280
331
403
330
332
257
275
348
308
380
211
354
294
343
349
335
285
397
325
261
338
275
353
293
266
227
333
322
328
352
268
349
357
248
291
234
345
295
318
334
296
317
364
369
362
303
333
241
327
257
318
296
294
314
279
304
364
378
316
306
418
243
372
395
255
352
277
330
337
265
320
359
300
324
334
369
246
384
375
365
373
317
337
351
328
300
298
267
330
354
296
290
314
332
270
354
349
275
245
294
452
340
413
343
358
331
367
384
340
312
363
242
399
286
206
327
294
291
370
354
293
239
399
354
281
324
331
331
366
316
337
315
275
317
364
310
333
266
369
322
391
290
272
357
345
348
328
343
320
405
337
322
320
325
185
338
287
422
271
355
314
293
363
335
284
331
342
290
255
295
357
353
288
333
361
321
357
356
397
408
268
311
301
356
286
296
317
364
353
279
326
337
404
370
286
318
288
282
346
300
260
300
335
347
288
266
329
306
294
288
341
356
378
351
295
285
317
288
318
328
345
359
286
287
284
353
282
270
323
347
264
349
341
258
316
301
406
175
381
337
293
334
283
256
333
350
300
308
263
239
325
267
364
359
286
334
261
237
345
295
278
329
310
415
293
250
204
317
283
365
386
320
290
330
294
367
274
268
326
292
321
297
322
342
395
345
316
325
298
326
354
238
307
290
265
273
331
312
353
335
336
309
307
343
239
279
339
334
362
253
279
334
344
298
369
329
312
362
346
293
321
359
338
287
358
326
332
372
281
371
345
381
284
435
243
246
286
304
345
276
350
380
296
338
317
369
291
298
325
266
343
303
287
326
302
328
265
305
377
288
292
398
328
371
305
263
219
346
203
312
348
242
306
414
295
297
321
372
324
303
323
377
290
264
274
342
292
373
359
369
308
348
263
287
318
371
383
327
326
304
328
200
323
274
282
325
283
339
320
356
265
239
347
365
317
362
282
346
311
358
247
264
284
255
361
300
378
372
433
338
410
307
273
327
247
354
333
367
325
285
347
321
344
330
365
250
332
252
292
257
380
355
313
224
393
268
356
395
325
302
312
353
237
362
370
311
295
315
329
334
292
330
282
255
292
277
330
305
276
291
152
302
274
279
368
345
276
378
319
287
260
327
374
292
287
307
367
365
245
316
277
375
323
274
261
273
264
269
317
255
305
358
269
375
335
332
323
331
361
345
296
315
239
371
280
337
234
357
328
296
350
343
321
325
323
303
314
340
260
348
283
332
339
300
349
363
341
355
292
241
281
319
385
375
337
362
345
341
285
300
220
381
262
354
231
309
318
248
392
261
332
383
332
289
381
298
265
279
318
335
428
337
302
329
393
308
318
316
352
260
366
329
347
286
281
303
311
323
293
275
293
329
379
280
369
269
259
300
346
256
281
352
323
309
325
353
302
267
305
280
327
316
211
344
240
252
383
314
320
372
268
309
420
297
289
320
313
364
335
239
311
281
336
325
267
323
359
323
281
282
338
419
366
323
285
318
304
380
327
307
347
303
283
219
358
294
275
249
251
231
349
320
269
381
339
308
408
340
319
315
323
315
385
363
317
310
295
315
313
324
214
238
295
293
310
322
236
261
301
340
378
343
371
295
301
315
273
265
257
319
276
315
346
286
358
366
318
297
232
361
281
279
360
246
347
281
308
292
279
296
250
346
281
357
249
351
269
348
361
331
280
381
248
265
329
336
378
352
319
228
249
313
319
301
323
238
312
295
301
328
231
292
326
383
342
371
293
302
327
293
330
317
293
366
280
263
199
289
292
320
363
321
350
389
215
325
223
375
322
299
356
387
316
331
270
326
243
274
249
269
293
334
355
219
429
370
353
307
280
279
280
289
344
411
365
310
348
364
389
303
265
329
345
335
263
296
355
371
405
294
383
266
303
318
317
306
323
365
287
297
336
318
285
363
284
308
235
256
350
325
308
346
289
312
225
270
356
374
267
354
364
265
355
330
325
325
305
317
261
346
268
342
316
218
411
234
296
287
315
305
258
279
263
373
281
270
348
319
324
285
351
325
257
259
270
290
369
382
312
273
312
269
315
322
297
323
329
371
324
314
357
243
355
247
267
354
406
336
307
295
333
385
340
362
260
323
320
411
354
309
333
306
306
348
330
371
327
315
268
221
308
398
322
384
300
346
298
380
229
286
312
332
318
300
365
303
354
282
231
363
354
334
254
382
294
260
335
261
309
279
298
277
325
315
308
380
244
270
339
353
331
359
319
340
237
293
275
333
334
340
315
284
306
265
248
223
279
334
288
337
260
310
374
359
371
305
343
266
314
290
316
324
257
318
331
326
398
286
371
306
397
288
273
263
266
337
267
374
307
262
266
316
299
289
330
350
379
250
337
340
278
340
296
417
265
312
334
344
329
273
264
387
279
295
274
295
344
283
331
353
232
270
325
361
287
272
280
349
399
358
342
272
244
281
280
299
263
330
273
314
368
348
368
361
283
307
348
288
328
448
282
245
354
336
278
330
278
263
252
351
245
188
356
298
296
343
262
319
341
280
290
311
337
283
329
394
320
237
279
219
352
396
346
371
266
329
293
319
250
355
256
310
224
382
406
366
364
378
320
356
292
332
280
280
310
268
264
296
225
380
344
322
289
380
304
286
332
320
258
243
340
330
316
321
231
252
310
279
321
295
313
357
323
349
235
310
256
296
266
318
391
275
298
283
321
321
205
354
310
343
321
289
353
320
257
296
347
364
325
249
374
342
244
289
397
309
266
289
334
273
358
350
243
235
335
339
351
336
388
255
355
407
271
315
326
306
311
335
247
321
307
248
279
366
308
335
273
349
304
282
244
341
339
327
314
303
364
304
312
357
283
290
289
254
366
316
322
278
349
377
387
284
298
368
214
288
279
379
315
326
406
334
363
280
364
323
336
375
303
399
326
315
319
350
341
275
310
345
224
325
340
255
304
319
315
287
351
298
312
195
274
293
334
342
340
366
311
247
312
377
387
320
363
302
358
345
347
383
266
357
312
291
340
369
311
347
358
349
298
280
278
273
357
281
253
362
264
316
344
343
386
405
201
328
362
277
277
348
320
340
354
345
367
262
256
362
376
249
265
317
277
225
383
347
346
273
367
399
287
329
356
256
321
311
368
312
339
352
216
390
357
329
335
358
320
355
328
312
242
176
199
289
395
353
346
276
297
332
323
363
318
305
326
410
283
334
331
334
369
304
351
365
316
198
330
244
405
331
381
367
271
313
328
274
313
252
320
245
247
268
360
403
310
271
336
367
306
311
265
317
424
341
246
394
347
308
394
241
244
392
274
323
251
284
277
341
290
341
353
287
351
248
341
280
313
386
313
341
341
257
316
328
284
366
366
249
309
366
247
303
299
231
347
319
357
324
379
328
296
305
280
261
251
282
310
348
331
378
360
309
287
271
307
394
299
401
286
289
355
285
338
316
318
346
291
318
331
382
185
349
311
286
301
310
198
274
379
320
310
246
327
348
312
317
269
336
416
294
329
369
359
349
293
308
217
287
382
376
317
342
323
318
331
322
312
332
341
287
296
295
280
272
356
395
340
331
304
407
348
367
240
336
309
272
369
338
318
318
337
383
283
266
325
288
320
297
377
221
330
417
321
307
365
248
307
365
293
247
328
329
260
367
323
368
309
364
334
316
292
342
326
342
373
359
305
358
333
302
302
343
310
261
302
298
300
281
354
255
315
264
364
361
274
361
349
380
229
278
298
327
354
369
283
327
388
318
356
401
303
265
230
347
409
318
304
388
266
264
353
264
338
347
299
363
292
270
318
288
326
334
314
327
295
263
356
310
290
298
334
363
336
366
395
439
298
284
280
300
363
251
306
347
245
316
192
370
288
318
260
316
324
333
272
211
333
291
375
298
291
366
338
322
251
263
297
248
368
296
384
312
311
331
313
237
309
301
283
336
298
235
267
263
290
387
243
261
330
371
241
307
317
281
290
370
292
274
305
401
294
328
350
284
310
272
331
285
336
238
324
344
342
278
349
383
324
333
284
283
277
320
337
326
201
356
232
334
228
302
292
311
306
386
308
339
325
340
313
284
327
320
350
254
383
371
277
380
267
371
323
408
327
325
312
299
293
351
283
323
313
346
336
252
253
256
338
348
310
265
276
308
240
355
309
406
329
344
339
305
233
378
290
237
371
296
337
291
404
307
376
320
316
245
375
309
270
335
284
361
267
346
344
343
294
259
358
349
252
291
323
356
264
296
378
273
316
312
316
339
371
326
346
280
372
350
284
323
304
299
318
212
340
358
303
289
322
279
295
222
387
263
297
300
250
323
336
408
347
329
287
363
349
342
374
299
290
281
322
236
195
199
260
311
341
175
225
317
387
297
373
366
318
327
342
264
315
255
276
234
323
279
414
310
326
303
232
392
392
328
296
326
243
339
316
351
247
285
294
286
283
336
281
313
314
254
322
248
275
245
340
321
373
325
293
349
255
364
334
317
325
325
345
327
299
340
336
399
242
281
285
362
206
339
294
250
331
230
308
286
325
418
421
219
347
313
277
311
318
233
365
365
288
311
343
330
306
325
359
328
277
338
294
281
298
338
321
218
300
278
365
267
400
248
293
272
360
294
377
336
319
278
240
330
269
331
360
339
260
294
297
318
327
308
260
342
344
341
289
395
336
271
283
407
304
355
335
321
279
294
324
301
318
303
314
284
332
339
292
394
314
300
287
331
274
316
384
355
241
320
286
362
382
349
380
326
331
381
269
275
324
325
306
229
313
377
249
250
325
315
361
346
333
295
343
405
392
314
366
340
311
307
400
282
383
244
315
265
230
356
359
296
321
198
279
337
256
283
298
253
305
212
230
320
260
381
390
293
306
286
230
373
347
311
386
261
272
324
261
304
324
270
298
333
307
239
273
363
285
314
347
204
298
205
338
291
355
233
281
270
245
280
316
378
282
308
288
267
314
337
292
386
207
314
318
272
321
413
256
286
230
430
340
362
289
283
372
283
255
329
299
326
371
261
288
369
310
296
324
319
351
403
305
302
347
336
283
407
279
330
235
362
377
369
363
251
307
215
340
345
300
312
231
362
270
336
341
288
291
265
322
314
314
307
413
235
222
366
235
280
311
396
263
276
389
292
403
436
329
290
250
296
340
395
386
242
271
336
325
306
362
353
320
439
327
289
307
394
333
279
304
256
307
279
335
271
302
379
296
333
347
322
353
268
295
280
244
388
370
323
327
320
409
320
286
341
344
331
340
327
348
304
272
335
360
323
243
300
265
329
226
328
314
278
245
327
224
338
328
374
282
235
305
311
318
304
309
262
276
320
285
336
333
293
264
370
310
294
289
287
246
216
314
263
280
286
321
350
329
336
329
276
357
363
215
317
299
287
378
375
300
266
276
325
314
328
305
347
300
319
329
324
320
267
388
295
346
268
371
307
195
255
326
467
289
302
282
316
302
325
318
375
280
348
281
253
317
252
343
318
344
294
270
316
256
339
308
351
354
349
376
331
346
343
395
331
330
323
227
333
335
287
414
287
296
289
345
255
388
293
271
311
413
341
317
285
269
252
331
253
304
254
309
332
335
326
386
265
323
262
312
252
348
253
303
259
411
276
318
267
288
323
378
315
203
278
237
365
336
373
261
357
375
381
328
303
332
342
344
255
259
382
360
304
314
297
282
410
294
371
325
363
238
292
297
289
310
231
375
261
332
333
332
363
344
310
289
362
304
354
338
340
283
235
383
347
336
323
254
271
351
343
276
307
282
309
320
369
275
268
260
212
319
330
324
386
299
309
276
257
222
254
286
395
302
377
304
325
347
279
300
355
265
328
316
336
233
299
231
333
338
354
307
249
310
309
377
250
344
399
338
236
262
294
252
301
305
309
356
337
350
331
248
334
274
236
268
325
281
355
369
337
299
356
341
347
320
379
365
323
308
384
336
368
346
360
343
287
281
272
293
405
359
300
390
310
295
384
294
294
318
369
249
304
300
350
227
290
284
288
384
308
235
298
328
328
320
221
333
372
347
399
212
289
354
309
267
350
296
353
280
287
247
298
333
361
306
310
276
327
217
269
300
341
277
294
236
161
323
325
325
268
360
374
348
333
347
359
278
290
278
371
255
329
315
276
247
257
381
305
227
315
326
339
249
388
217
302
275
319
378
231
206
298
316
389
266
357
313
226
340
199
344
274
339
292
301
293
372
286
365
264
300
336
344
307
326
318
376
308
235
272
330
265
334
348
348
211
312
215
399
281
394
468
356
312
284
330
343
321
291
351
364
313
362
306
408
305
299
403
331
249
338
296
296
322
326
281
303
394
341
380
273
273
359
327
228
352
385
352
342
348
281
319
342
294
368
257
388
375
377
361
297
291
300
285
252
280
345
276
379
341
287
255
331
334
220
360
387
292
254
303
410
300
298
287
244
246
288
252
314
279
213
363
279
312
376
340
295
281
305
280
239
218
234
354
328
257
314
343
356
316
271
320
308
287
273
331
300
374
237
270
260
250
360
342
277
351
277
346
337
281
311
295
321
320
343
358
295
279
218
311
284
392
309
261
266
340
417
352
203
326
302
391
319
304
250
325
348
374
362
237
278
357
268
232
251
190
340
265
324
271
364
353
360
377
321
318
306
296
324
284
355
292
228
306
321
236
371
375
261
314
356
297
292
308
339
209
360
321
278
350
272
250
325
340
280
354
313
261
312
295
363
296
315
290
302
249
307
337
353
338
324
314
346
367
282
321
370
303
298
317
326
302
361
263
298
245
264
379
375
342
339
239
296
354
392
283
352
306
321
343
342
308
350
284
232
260
355
250
291
354
374
280
266
347
358
326
373
297
260
335
322
326
297
426
354
309
273
359
340
304
335
329
296
286
253
320
262
297
324
308
316
357
282
346
267
303
309
340
272
269
291
340
277
322
321
344
317
405
335
372
360
261
274
313
276
359
346
293
265
373
295
276
208
307
322
280
379
271
257
314
320
318
348
234
309
325
397
329
369
248
370
355
282
309
325
339
300
348
311
326
283
308
260
310
293
244
341
278
262
350
381
451
368
422
281
339
336
337
318
237
349
370
264
255
273
297
285
343
351
363
325
301
285
267
394
293
328
277
284
328
346
349
295
311
327
352
338
306
223
340
323
274
199
294
344
247
301
325
349
305
390
306
286
278
325
280
330
322
208
276
330
413
258
306
330
394
263
276
312
209
272
291
264
329
310
398
328
293
279
350
317
360
333
370
356
334
350
209
325
256
308
343
306
373
351
261
322
292
285
300
377
309
344
353
271
239
310
313
227
276
352
329
344
295
358
385
270
278
314
270
305
284
323
313
308
309
292
315
324
326
372
287
293
322
294
328
340
361
331
322
310
310
263
281
316
293
290
293
346
254
304
252
301
285
274
250
237
289
388
359
382
316
326
379
191
393
307
295
376
358
253
342
334
279
351
324
354
303
300
340
317
330
333
288
249
356
257
227
296
302
292
327
274
338
346
242
331
241
320
346
288
334
355
349
299
312
259
312
335
240
295
280
223
303
277
391
386
306
314
371
328
348
274
279
332
366
328
240
270
353
314
332
377
354
385
331
382
327
216
345
303
312
340
427
306
275
257
390
314
358
326
297
325
303
364
254
363
279
329
304
324
316
349
321
281
354
198
264
297
356
283
407
330
336
347
325
294
361
352
399
250
306
356
393
292
346
333
302
311
291
272
251
354
333
353
309
411
359
314
297
313
305
331
328
326
257
354
308
399
224
278
300
313
383
364
356
338
333
321
349
323
326
282
368
331
285
257
324
290
334
336
298
324
278
318
375
314
279
310
331
340
241
337
279
347
224
360
230
342
319
300
325
340
301
305
284
339
278
286
319
307
336
289
308
295
310
263
282
238
342
304
327
256
359
308
303
277
244
272
390
366
257
305
323
223
335
338
326
419
375
350
338
352
314
293
343
352
358
278
275
236
391
236
264
222
326
332
351
306
329
269
357
339
347
244
306
355
315
391
204
245
338
296
294
332
280
370
355
326
302
308
278
242
332
282
315
335
334
292
308
278
319
332
298
402
210
286
353
343
364
313
257
355
378
298
328
355
340
237
245
243
274
220
278
258
379
390
297
313
376
299
322
342
326
356
333
359
320
345
365
243
333
365
274
373
247
314
281
310
394
328
250
236
280
381
336
312
389
332
391
351
267
268
306
342
327
403
325
345
346
334
383
322
312
345
322
359
306
306
314
286
294
322
323
346
311
288
321
280
393
345
263
268
379
303
352
255
345
345
276
323
349
333
298
407
293
283
265
240
292
313
295
276
330
314
285
329
272
339
334
287
282
300
379
333
349
262
334
316
334
332
278
336
286
275
296
334
351
311
348
291
271
247
213
239
380
318
359
340
318
267
321
356
212
322
248
309
226
314
287
346
340
344
279
318
312
339
304
342
291
317
365
301
200
393
346
286
304
278
335
296
359
283
333
409
295
278
332
283
336
283
344
238
362
331
357
347
265
375
268
406
287
301
367
269
284
310
306
341
348
275
277
341
297
337
341
323
309
400
366
306
353
284
223
293
314
365
413
424
336
294
387
312
364
303
310
254
284
394
317
291
378
269
313
236
298
354
316
244
295
327
300
371
248
351
256
370
315
260
315
253
339
342
389
350
290
262
310
334
370
363
313
277
340
312
307
322
321
264
328
315
396
220
321
337
340
266
352
283
359
394
302
307
336
353
305
264
387
376
353
331
254
398
352
322
407
387
251
293
295
292
310
285
279
342
274
360
345
333
231
365
220
362
300
272
367
299
342
317
306
246
273
348
343
343
256
367
271
409
372
261
266
373
344
287
285
331
309
251
278
279
302
344
270
351
306
420
323
239
389
385
320
325
326
333
309
255
309
241
400
315
324
204
338
366
333
291
316
332
242
228
303
329
282
363
298
345
351
347
410
229
312
293
404
270
284
289
325
258
319
368
236
288
322
288
336
282
283
344
318
306
284
321
219
408
316
308
319
363
376
335
218
293
310
304
318
271
294
249
298
325
369
406
360
278
249
316
394
349
278
373
284
392
363
437
369
298
280
316
295
358
350
346
377
370
350
266
346
356
293
351
214
162
285
358
364
304
301
338
258
391
408
275
255
386
291
425
297
300
255
254
315
300
362
316
270
413
336
378
325
317
256
323
275
390
376
275
324
364
267
300
285
318
354
191
296
300
306
313
210
268
346
306
336
259
357
326
345
302
295
254
370
301
342
334
249
225
313
282
332
306
253
367
312
284
257
295
301
236
306
272
260
356
315
270
339
279
303
356
317
433
305
324
292
425
344
306
382
343
265
354
375
290
321
212
323
355
354
228
247
260
335
267
317
350
335
293
259
316
348
290
307
364
352
373
297
349
315
357
299
284
317
330
320
362
261
305
360
312
319
359
291
236
336
327
413
360
387
279
229
270
339
329
299
312
317
271
352
262
340
286
316
253
275
278
265
286
329
314
367
352
268
390
289
349
247
362
340
307
402
314
339
353
271
297
313
326
308
333
213
344
333
315
436
327
347
356
259
314
280
304
399
337
253
320
341
296
329
297
360
350
346
279
352
256
298
345
325
267
325
241
239
271
341
371
213
298
253
220
364
408
272
339
348
373
334
270
310
251
382
318
244
318
344
339
225
337
311
258
359
275
402
351
264
339
369
239
335
343
360
265
241
291
352
246
383
285
359
267
274
320
379
383
410
306
298
304
319
355
345
354
219
370
362
255
257
227
299
260
250
272
364
252
326
284
396
334
273
342
254
223
229
349
255
243
289
325
326
269
340
309
392
359
313
359
345
275
343
281
384
306
264
357
356
279
366
278
359
268
351
387
363
272
357
385
352
259
223
341
285
232
347
336
326
257
349
233
356
348
404
360
268
307
298
375
282
336
317
326
312
305
289
209
281
321
324
386
328
299
360
263
348
290
290
292
261
288
300
328
364
322
280
281
305
297
326
357
405
347
272
327
281
363
272
335
347
302
329
330
322
303
257
405
349
212
273
307
270
342
316
327
283
395
322
386
351
355
317
333
272
302
382
337
322
290
209
353
332
259
366
306
295
317
341
314
240
379
275
317
332
359
385
296
408
253
362
238
370
330
193
325
269
380
322
377
312
346
234
312
302
359
348
306
400
301
336
405
292
250
362
339
302
299
230
285
260
360
383
321
399
284
298
349
308
297
320
345
377
263
301
298
367
314
305
330
321
393
277
337
349
265
323
299
262
309
329
206
268
305
398
248
304
309
308
174
324
377
223
304
319
276
291
328
365
301
399
317
317
246
187
276
326
277
343
384
316
360
351
304
338
348
308
283
310
367
278
356
387
319
336
380
299
288
218
360
290
237
278
258
388
335
302
324
352
326
338
303
335
354
306
368
328
329
286
341
330
221
228
392
315
311
307
325
316
357
362
326
353
334
332
315
361
306
287
337
394
271
307
343
311
326
298
341
282
277
340
373
303
342
381
370
348
355
301
277
311
323
216
315
367
301
292
258
306
365
364
343
285
334
300
308
330
330
236
348
345
349
260
321
389
334
326
231
327
285
310
305
302
309
258
353
382
261
336
311
322
279
334
344
285
298
350
295
367
354
356
344
298
257
348
282
396
349
301
381
310
330
326
308
256
261
317
309
298
259
344
290
323
351
302
316
285
311
327
342
278
350
338
265
274
350
316
352
299
397
266
303
404
368
301
336
310
322
337
273
303
323
398
251
320
309
330
304
244
259
360
318
323
348
277
235
353
298
352
363
324
378
288
338
259
360
369
266
400
349
366
354
278
299
369
354
321
336
271
267
388
346
296
403
335
245
358
277
366
390
332
289
311
282
351
212
339
314
352
307
393
366
362
298
263
344
333
285
392
338
319
321
285
310
350
288
314
325
370
340
303
281
320
297
253
330
372
418
285
313
307
270
275
317
413
328
304
386
332
367
268
369
313
347
237
378
303
201
292
401
326
394
318
302
325
188
376
280
331
293
250
324
337
323
316
344
305
364
343
284
346
305
329
317
374
306
327
307
378
348
329
351
343
355
361
315
302
310
297
248
293
335
287
311
350
286
326
393
240
354
288
323
264
373
289
300
270
310
312
341
298
319
292
305
370
243
280
291
276
336
267
228
309
219
357
286
334
296
274
270
283
421
386
271
315
370
329
292
326
274
240
294
309
294
267
340
339
292
255
299
329
272
351
382
378
393
281
278
354
363
244
283
372
293
309
247
255
229
363
255
317
303
250
400
330
351
276
261
335
264
305
325
296
351
228
299
288
334
329
350
250
252
320
415
286
344
282
228
286
292
283
329
353
294
293
288
311
334
375
320
349
252
336
289
382
310
331
313
270
361
314
361
267
326
297
390
273
337
361
311
288
334
365
318
338
258
371
343
279
343
364
311
289
197
366
196
344
302
299
373
350
343
397
356
298
307
342
329
272
337
388
205
336
283
373
297
256
378
304
355
288
346
272
342
309
340
275
306
288
203
285
242
281
285
214
305
355
333
322
337
329
310
266
257
307
341
279
330
389
265
261
276
322
271
324
333
298
345
383
230
251
325
291
264
292
300
325
353
307
276
363
321
272
365
239
330
370
351
250
305
304
394
358
224
297
351
300
323
317
319
327
258
321
320
256
341
259
375
327
267
384
281
315
382
307
296
259
229
379
358
339
288
294
298
309
291
241
324
339
287
268
305
223
369
315
336
319
287
243
339
318
342
238
223
376
312
380
306
351
280
309
314
285
260
292
390
212
276
339
319
317
287
327
316
281
326
260
314
362
218
292
361
295
307
336
289
271
360
329
306
365
316
295
403
307
379
362
400
312
355
283
323
297
356
370
333
349
397
309
265
254
353
418
411
388
391
318
333
243
352
278
304
331
321
306
363
316
294
339
308
303
349
368
410
367
333
313
326
315
311
312
313
250
304
311
296
324
365
285
366
294
275
326
384
357
310
227
331
270
349
309
342
304
321
290
370
320
297
377
374
354
300
205
395
251
442
381
259
392
343
326
361
413
385
235
334
334
354
270
393
338
316
290
304
369
328
298
281
328
285
309
338
317
308
364
343
368
311
353
273
394
310
383
324
316
243
402
354
271
340
319
310
350
340
299
295
300
296
332
343
335
341
360
301
310
375
343
355
330
343
257
397
359
354
356
303
347
322
352
314
374
291
241
345
262
266
334
284
388
314
297
254
286
305
329
247
327
357
317
227
349
289
301
325
277
212
296
288
299
270
380
234
426
405
289
367
356
279
311
372
286
281
381
329
331
312
307
353
384
200
273
392
337
300
267
398
312
340
375
330
412
310
356
219
260
225
304
347
251
298
348
326
296
361
240
348
268
290
224
284
327
321
230
353
353
261
359
375
247
300
305
347
338
352
316
357
362
326
348
401
421
348
358
316
396
321
312
308
282
318
360
344
332
324
286
319
368
268
276
293
391
302
352
299
249
325
272
290
333
311
282
325
384
397
325
345
252
341
307
291
263
386
277
298
320
329
355
325
288
284
331
296
373
348
285
340
293
284
353
348
323
352
325
356
254
332
310
283
322
323
285
278
295
332
352
211
322
352
248
336
256
279
299
236
261
386
251
284
263
277
290
340
306
280
366
303
323
288
279
397
299
296
418
311
335
236
306
330
326
342
348
298
235
297
317
256
394
260
343
353
263
299
314
357
296
344
391
271
306
366
310
310
333
265
240
281
289
356
242
280
382
246
299
362
319
356
322
325
364
263
379
300
391
344
353
361
312
373
298
314
319
397
281
323
311
350
278
486
362
242
328
292
301
283
339
288
267
330
262
325
298
327
286
270
303
268
331
319
258
298
320
317
299
234
263
338
301
327
286
285
343
266
303
205
290
345
304
344
393
344
315
339
394
278
280
260
358
344
390
389
258
255
307
231
343
229
354
357
252
288
378
344
274
276
223
335
381
299
235
182
301
375
325
453
272
334
295
265
351
210
348
361
237
311
395
318
334
299
379
243
294
227
372
259
350
412
368
315
352
377
308
291
249
330
366
325
326
311
387
284
270
307
359
282
335
339
341
291
356
343
378
386
354
368
398
296
318
279
373
384
364
347
298
279
217
266
348
227
379
396
355
303
219
378
324
322
368
267
284
250
301
293
342
357
255
323
301
367
271
321
375
276
302
325
361
374
260
339
313
298
273
310
354
299
303
272
322
335
276
211
191
282
359
355
269
180
307
302
356
270
382
344
307
345
277
365
323
261
303
355
300
286
226
357
349
301
330
344
295
323
311
368
433
282
293
414
314
340
280
373
330
287
369
271
233
342
265
348
334
218
343
372
315
352
372
383
312
339
327
317
295
313
293
293
245
292
242
364
275
331
295
199
265
294
219
359
328
326
389
313
315
328
328
324
299
332
284
329
345
364
332
329
299
345
270
317
340
331
318
311
399
308
278
341
345
253
290
420
315
199
349
336
335
278
235
294
299
270
266
242
308
396
354
285
304
280
267
235
294
344
315
308
363
367
329
321
308
354
257
280
308
378
394
376
316
262
369
366
372
369
297
267
320
293
347
367
323
327
222
390
322
266
366
298
251
244
286
314
255
287
339
324
288
347
281
296
240
347
304
352
327
370
285
366
293
352
326
359
364
306
309
314
315
281
272
276
340
289
250
343
389
322
296
322
278
326
318
258
288
307
324
295
239
390
354
262
288
325
314
296
170
364
358
352
243
366
252
338
322
369
367
241
294
315
255
311
381
362
336
321
333
282
303
351
362
381
303
326
271
317
424
329
413
378
365
257
408
251
257
260
339
393
278
398
340
281
260
398
338
315
325
341
343
352
326
311
326
316
264
213
328
335
300
277
283
278
292
333
365
413
287
329
352
353
276
315
399
314
303
362
272
286
214
363
369
309
272
352
281
319
337
314
307
332
329
287
287
380
208
312
351
324
234
323
287
273
334
335
376
340
330
259
348
340
315
389
296
296
340
391
296
373
299
379
337
322
384
327
276
294
297
330
294
286
333
284
330
352
289
337
265
247
339
286
406
401
362
295
352
300
288
343
272
260
324
376
286
274
370
300
257
241
351
295
323
289
348
302
290
360
269
285
337
316
332
343
402
349
379
347
339
333
366
247
337
298
336
296
370
358
366
307
310
329
269
367
263
259
294
258
310
359
322
419
307
425
387
233
326
370
304
303
269
328
344
256
370
306
347
297
383
310
353
365
320
329
298
326
324
270
348
372
257
373
243
314
203
440
269
307
297
311
211
279
342
306
277
252
317
300
339
309
277
329
293
348
366
217
351
315
256
378
346
331
240
403
342
309
367
353
340
316
327
361
329
352
338
306
311
338
322
267
319
389
354
354
245
359
274
355
333
335
307
321
332
327
274
298
339
285
317
310
351
384
265
345
320
331
299
338
395
365
343
325
292
312
323
249
288
308
279
387
309
328
255
316
301
362
311
337
255
371
275
311
304
221
256
314
218
347
299
294
289
257
317
313
230
309
331
372
346
279
329
304
297
252
293
347
302
337
337
320
243
314
320
308
357
247
293
291
371
286
362
315
303
358
307
379
238
297
300
259
289
353
364
339
270
275
344
302
323
210
420
219
264
246
335
304
308
312
257
272
299
238
297
347
279
329
353
302
313
386
292
336
324
282
321
350
310
323
346
362
312
296
295
242
276
335
390
329
294
267
340
377
320
345
341
272
311
370
212
309
280
315
264
319
291
261
308
315
363
395
345
255
303
293
251
304
249
340
383
305
323
305
310
352
275
370
282
287
281
315
236
339
331
297
373
295
263
356
245
331
345
301
279
349
331
261
322
376
301
331
280
294
334
335
360
359
290
373
339
364
362
252
338
272
385
334
331
360
373
379
305
373
347
330
300
244
390
308
351
281
249
300
269
331
343
326
363
332
345
336
338
271
353
338
337
289
262
276
346
326
328
265
253
348
313
311
300
361
354
351
290
303
316
247
365
287
344
315
323
209
313
352
189
240
284
346
363
324
353
282
329
338
304
327
340
304
279
283
292
272
262
303
250
335
332
303
317
266
301
241
299
345
205
338
312
268
371
366
333
321
256
296
318
394
322
408
278
383
254
341
367
340
313
330
295
296
369
373
310
319
285
339
292
333
281
321
297
315
366
275
267
212
323
322
311
317
243
305
370
261
352
211
294
353
313
308
358
247
290
299
260
293
278
352
231
313
316
294
226
322
213
287
359
293
323
350
399
311
287
349
353
309
257
345
284
347
330
272
307
303
396
299
328
310
307
279
362
230
327
351
273
244
295
349
334
356
197
333
300
355
361
342
263
318
284
416
281
250
271
236
301
170
238
394
248
309
364
312
346
400
273
341
321
327
339
324
294
292
353
400
303
307
338
283
333
320
365
334
343
267
336
308
330
306
297
356
331
310
297
307
313
331
332
279
338
337
365
350
365
329
197
358
329
370
223
404
323
418
345
328
254
274
230
340
375
324
311
327
346
306
279
279
370
334
336
449
318
310
208
297
269
327
335
333
357
369
272
308
279
375
306
346
318
273
339
276
316
307
228
291
337
341
389
323
308
336
254
296
352
280
336
422
330
327
340
294
305
295
296
337
268
249
316
262
308
335
288
292
326
411
340
339
338
294
298
334
254
255
243
319
322
342
364
346
362
289
332
312
289
388
215
305
352
364
277
300
304
288
309
284
316
322
377
369
253
314
347
239
330
276
372
228
282
323
241
390
376
274
342
330
320
350
287
394
416
338
265
294
241
340
313
370
323
356
345
332
323
340
275
330
314
259
355
277
323
320
412
296
280
297
318
325
356
389
260
339
306
323
390
375
242
324
291
210
271
247
366
290
247
342
269
400
243
423
335
276
350
426
343
287
347
384
309
240
302
264
381
247
271
304
307
343
381
385
277
347
296
320
295
324
326
270
319
260
310
371
287
301
384
348
273
344
350
290
267
268
380
303
274
326
384
309
346
272
248
313
302
363
342
325
297
256
390
268
270
345
309
306
305
294
275
366
310
339
257
261
399
340
323
274
299
349
326
293
273
290
298
313
305
346
379
237
364
245
261
340
360
321
273
358
333
301
303
350
381
305
257
323
273
332
331
282
279
348
283
310
377
298
345
331
291
293
327
323
301
310
345
374
288
280
361
305
348
258
371
309
356
290
374
269
312
340
283
401
380
282
310
342
321
309
411
272
243
291
279
318
293
409
360
372
325
307
311
310
328
268
336
255
274
369
283
328
395
400
299
268
221
363
308
200
309
240
300
290
359
262
341
338
305
338
398
373
373
384
311
326
277
265
339
403
312
394
397
352
273
359
286
276
238
323
325
316
336
313
290
311
332
233
375
347
316
375
296
273
319
312
352
350
371
285
282
286
381
286
311
298
332
273
346
219
298
275
280
411
297
270
292
287
345
272
267
292
279
248
352
310
332
300
272
288
315
273
289
401
364
314
216
350
265
275
348
337
279
307
330
282
402
340
412
243
353
301
304
356
292
266
333
289
351
287
298
269
297
282
295
253
342
296
378
251
337
275
278
298
363
345
236
316
397
265
347
295
327
349
331
281
283
239
371
375
359
240
310
350
236
329
207
346
268
209
355
252
276
286
252
332
371
412
264
378
254
308
302
272
349
272
376
294
309
354
400
306
312
294
279
372
269
395
334
317
288
306
290
321
364
304
323
242
319
240
356
338
358
264
388
434
239
342
344
380
355
315
381
290
317
362
273
329
286
293
298
275
329
323
312
366
268
288
313
350
324
261
377
320
369
353
353
338
350
352
345
296
323
295
305
283
367
269
243
203
319
400
350
257
308
264
369
357
276
324
334
266
232
325
314
368
322
310
247
293
314
316
297
315
308
287
380
298
261
313
272
319
380
321
367
342
431
321
303
249
323
255
251
292
374
377
242
335
286
332
304
338
363
370
367
313
351
308
345
309
399
175
316
365
342
350
318
298
325
274
364
372
300
374
323
295
231
342
333
333
309
345
256
263
311
318
301
305
324
361
316
377
348
312
268
365
373
345
315
310
271
344
279
301
345
329
336
350
367
273
383
300
288
341
346
367
287
223
313
274
386
233
308
301
288
270
285
330
291
328
276
253
354
268
297
391
308
390
333
243
241
339
294
337
358
278
332
348
312
285
327
392
298
329
330
224
244
424
355
263
355
279
242
303
266
353
346
311
281
356
252
285
188
413
218
325
333
336
264
390
264
316
319
204
275
276
217
327
314
281
304
313
229
230
287
299
358
337
437
343
260
374
302
329
310
324
285
249
292
242
263
288
311
337
348
395
358
253
322
314
366
291
358
353
302
314
336
310
265
320
286
223
308
334
285
337
326
315
308
258
321
309
369
390
331
258
383
296
308
424
386
311
385
329
297
274
354
371
363
310
297
327
305
347
256
274
270
252
348
375
366
347
304
361
404
248
273
264
255
338
342
310
399
316
312
311
290
269
335
275
341
327
240
434
261
337
376
281
325
323
292
289
380
323
302
352
303
293
271
363
312
330
393
368
348
355
310
324
342
296
326
269
299
342
340
271
342
343
324
325
292
356
302
331
244
294
314
295
220
293
375
316
360
287
355
342
312
237
234
318
348
329
342
340
361
359
325
359
400
310
202
328
326
277
260
290
275
238
355
374
325
354
294
270
307
352
272
270
276
369
271
231
275
262
418
387
340
272
323
253
349
264
305
316
225
279
355
308
402
305
322
479
327
266
368
349
366
306
314
385
283
220
347
362
346
264
380
364
306
330
254
279
256
244
301
369
357
320
287
243
323
306
358
308
258
252
255
309
334
303
364
293
325
286
298
311
383
342
393
340
366
298
272
304
323
266
256
374
289
308
344
360
258
344
285
301
261
371
336
331
327
319
312
363
319
312
360
315
305
344
275
289
301
380
378
341
396
266
327
310
351
344
380
324
326
304
304
337
369
287
267
323
404
301
265
387
352
262
234
330
343
353
406
322
313
329
263
296
277
361
383
328
301
289
294
269
256
337
327
363
319
347
207
377
369
329
361
342
288
239
276
312
280
353
194
403
342
287
305
309
373
333
344
343
358
310
338
402
373
288
343
341
307
299
379
321
353
295
325
277
385
254
403
312
355
353
360
322
361
256
324
308
291
345
262
274
253
334
224
327
348
329
343
193
371
360
318
236
288
357
376
301
302
347
254
315
367
405
317
404
254
326
326
270
355
310
305
277
337
238
332
343
302
386
390
239
305
432
299
309
318
267
274
328
306
283
289
271
367
312
350
311
375
313
302
312
244
289
251
287
269
339
317
351
327
338
356
298
260
367
375
351
355
349
334
316
338
372
322
300
295
389
397
341
349
262
345
314
363
249
264
345
305
307
244
345
300
356
347
364
349
379
288
371
337
292
271
395
282
325
327
299
369
363
305
352
354
350
305
259
319
320
283
288
328
345
379
363
250
341
289
321
322
279
320
267
344
282
307
329
291
366
354
299
272
270
285
209
324
311
272
372
297
283
357
390
280
308
324
359
393
310
311
388
268
324
247
339
393
275
381
209
422
380
400
340
262
251
345
287
267
230
264
302
274
309
330
240
346
356
380
242
277
328
292
283
270
323
264
307
342
398
342
361
347
251
337
329
381
292
334
335
295
391
324
367
301
360
357
310
297
341
338
246
386
367
222
326
259
203
254
278
251
319
243
242
322
268
387
325
305
360
257
353
307
177
316
385
360
317
386
388
322
314
352
287
270
290
346
283
356
344
386
349
263
275
300
272
301
304
334
290
253
304
317
315
416
260
340
291
358
267
325
322
357
225
379
348
281
285
323
366
310
277
383
399
271
316
360
382
366
336
365
299
301
341
349
295
258
369
229
309
372
301
205
311
307
313
301
284
248
370
332
336
354
291
278
379
299
356
348
217
326
332
295
390
322
283
326
300
289
324
350
347
343
360
305
290
327
285
346
272
283
291
278
356
300
350
289
215
328
332
266
344
322
364
290
344
346
310
321
328
281
302
353
287
335
230
248
307
369
336
354
324
334
367
227
261
371
288
317
314
318
260
251
337
333
335
262
300
292
343
312
362
309
240
304
359
337
293
347
234
314
346
300
358
313
357
306
339
259
287
363
298
366
323
331
289
282
368
332
362
271
323
225
297
340
351
301
351
371
225
307
317
312
319
234
199
303
337
272
234
329
356
353
346
204
398
311
265
320
377
370
298
273
413
280
236
322
330
355
346
264
393
347
448
299
279
276
253
381
347
382
212
268
246
325
320
333
247
290
339
276
382
323
270
270
308
277
286
316
337
261
298
281
291
350
339
335
316
300
348
271
284
304
362
306
289
332
290
379
336
310
398
277
275
381
285
320
352
256
285
333
298
237
328
296
272
360
341
283
272
312
430
318
270
276
298
375
311
298
208
344
296
351
325
373
300
206
366
293
288
308
313
333
346
333
240
357
329
259
327
270
347
237
286
312
358
296
309
319
341
299
387
317
314
345
361
296
259
261
254
299
222
361
280
279
355
299
344
341
313
331
332
328
340
288
330
377
341
323
385
346
297
342
283
283
317
307
311
259
241
383
279
324
244
313
304
192
337
310
278
279
303
331
330
388
392
324
259
374
301
325
284
280
392
320
352
273
316
258
293
333
301
378
303
368
386
272
305
293
398
346
238
323
337
277
322
343
355
291
303
335
247
301
363
276
325
303
332
302
268
285
239
248
263
344
295
353
239
294
224
361
217
326
316
324
349
394
277
223
245
303
277
245
345
416
380
345
327
288
291
301
323
356
301
398
396
298
278
357
324
290
270
330
287
327
316
286
387
341
316
388
239
283
294
327
288
242
349
344
281
299
321
338
281
397
328
330
377
322
309
314
278
309
401
330
208
306
268
340
434
300
361
292
283
323
316
316
287
336
300
310
309
352
337
354
265
347
307
340
233
325
303
317
337
276
352
344
300
282
359
303
299
340
306
253
353
334
274
287
321
320
309
318
405
351
268
343
327
309
317
308
253
315
363
306
383
333
299
299
294
246
338
328
328
325
269
236
295
267
335
352
338
327
321
279
260
270
384
271
345
406
375
293
305
286
284
326
264
295
316
265
265
315
335
349
274
285
334
328
295
342
321
273
356
365
361
293
267
314
339
253
221
243
273
333
279
381
345
269
280
262
365
371
255
335
336
369
306
339
332
345
302
227
273
254
336
279
248
389
387
357
261
372
336
347
335
285
277
261
390
230
323
328
296
388
262
256
297
262
328
261
298
304
320
298
278
311
415
334
260
308
334
314
312
337
354
359
231
341
270
283
305
392
322
261
248
304
265
242
390
344
337
321
302
326
385
296
285
378
329
309
372
350
271
228
366
302
301
321
377
219
207
261
263
326
253
340
305
334
339
331
347
315
321
279
260
352
215
292
276
277
307
301
272
314
355
262
289
271
383
268
364
331
160
298
229
312
288
330
327
325
391
278
324
225
288
336
317
351
324
277
340
367
297
269
364
342
367
281
226
311
297
244
323
282
384
378
317
287
291
337
285
344
395
336
309
303
390
271
333
287
360
250
316
349
239
432
273
367
320
376
236
288
264
255
332
303
291
259
276
294
331
331
336
313
250
355
245
303
345
326
318
277
353
303
326
288
313
325
335
293
308
433
333
372
335
341
375
342
297
385
306
325
341
314
336
348
368
280
313
357
305
351
301
297
331
312
304
387
356
359
233
360
269
330
373
291
342
242
295
318
281
328
369
311
252
359
355
313
276
338
280
339
332
272
269
362
267
370
229
296
339
196
358
354
299
292
334
283
321
369
369
338
343
309
282
247
307
250
312
362
241
310
364
345
321
297
273
358
402
350
296
249
309
314
295
360
304
236
295
249
314
391
331
307
337
332
277
229
341
349
341
266
335
323
281
364
305
318
298
257
227
268
313
278
272
325
325
255
352
294
328
365
380
264
278
375
327
245
396
277
321
230
373
318
323
307
334
311
362
275
290
258
394
375
287
335
349
330
354
279
260
294
378
306
350
286
274
268
298
325
424
280
322
405
337
237
247
252
287
251
383
305
342
276
336
350
379
309
296
278
253
355
281
367
290
321
353
396
265
353
247
329
373
341
357
387
293
338
287
292
313
327
346
256
239
258
250
415
348
373
328
360
246
272
397
336
294
405
383
309
357
388
351
331
274
282
302
335
339
299
349
298
314
305
272
356
270
315
295
308
289
340
323
251
337
302
317
328
341
400
294
335
357
317
327
364
346
291
256
306
299
233
268
312
321
375
351
349
345
268
349
220
312
363
333
236
361
283
292
257
324
355
332
346
302
304
239
361
318
300
278
293
313
334
322
255
243
289
366
242
318
319
347
317
297
321
348
344
323
272
305
237
345
288
302
370
281
289
289
293
317
278
327
283
318
311
316
310
209
370
274
281
268
288
292
362
381
310
353
365
304
323
259
425
286
245
333
362
328
307
333
340
303
248
325
338
420
308
285
294
235
313
375
310
252
355
295
291
290
352
222
360
297
349
270
316
222
308
386
295
341
341
240
243
251
343
282
340
269
325
357
417
298
275
300
396
327
414
317
308
267
309
296
382
298
331
277
339
224
358
303
316
341
289
279
351
348
261
294
278
290
369
308
281
358
288
380
393
265
305
313
382
324
315
310
365
319
331
377
345
333
249
323
261
358
328
296
301
296
299
187
311
352
250
239
277
325
249
286
238
328
364
220
294
302
314
333
316
345
363
325
350
286
326
254
355
286
266
417
389
340
349
372
363
294
302
307
301
277
261
283
312
373
338
274
278
324
328
336
261
262
269
282
296
345
287
279
317
311
267
318
345
377
370
290
385
368
336
280
344
310
361
364
340
352
364
366
290
274
438
382
190
358
288
379
308
368
325
319
315
369
297
285
396
303
300
358
279
286
354
323
288
263
381
274
272
210
219
353
271
396
322
343
314
327
321
331
315
286
367
318
389
393
323
340
241
275
267
319
335
310
266
258
402
360
346
313
292
276
309
255
324
367
249
269
362
367
275
406
259
304
291
294
212
363
328
326
331
303
334
271
317
294
354
330
319
300
324
273
309
274
261
354
368
311
296
306
282
261
307
274
297
319
362
275
312
341
301
388
339
245
375
357
358
344
238
320
307
342
250
330
374
392
398
351
265
377
288
339
294
328
327
290
297
343
270
277
319
307
285
272
323
310
336
353
305
296
273
382
263
303
387
330
275
338
352
349
309
280
288
231
349
313
341
266
240
350
228
360
330
371
356
301
314
272
372
293
310
379
340
264
377
322
378
288
283
345
384
252
368
377
307
335
355
325
282
283
295
203
306
326
294
309
310
264
286
331
320
271
269
304
286
313
272
347
280
333
359
346
309
324
300
265
289
308
327
385
264
247
296
315
254
250
271
358
362
372
331
291
388
338
351
326
306
280
286
292
299
371
298
268
309
256
353
339
309
329
340
331
343
288
337
315
342
287
258
298
300
322
268
413
288
341
325
386
246
295
296
337
323
329
282
319
285
354
330
379
273
280
296
279
220
291
360
416
382
360
251
328
273
349
311
248
353
248
291
294
218
307
282
294
332
325
359
311
249
351
357
350
286
347
243
354
333
345
211
297
303
377
316
299
278
374
256
389
340
323
275
284
327
413
348
356
392
280
299
261
300
336
214
222
327
292
306
310
330
309
341
337
348
291
303
316
319
371
356
282
277
265
350
320
370
254
358
282
333
281
271
337
254
257
368
294
356
389
282
290
402
376
289
321
274
301
332
364
378
342
285
215
235
314
314
275
333
319
267
259
232
212
330
172
246
339
325
323
337
360
378
298
387
312
311
350
268
361
348
273
358
237
337
286
304
374
320
329
341
355
304
369
256
307
285
247
340
348
343
366
302
225
321
344
352
331
334
333
313
302
364
355
342
332
329
261
232
357
364
273
349
345
379
295
280
235
398
337
298
279
340
324
323
290
349
330
325
288
319
296
293
296
325
298
291
385
353
316
356
312
313
346
313
307
315
188
326
358
234
285
361
352
263
339
349
335
303
234
257
384
229
366
348
345
331
323
277
299
282
377
275
375
250
328
295
292
263
372
296
322
314
381
276
347
360
340
365
205
385
264
328
366
261
304
339
342
241
332
351
306
320
266
368
327
331
304
345
364
350
320
351
299
260
325
250
325
312
330
265
350
320
301
301
213
291
212
330
325
322
402
437
310
267
383
223
297
302
292
348
285
283
264
337
392
242
382
366
382
290
253
347
325
285
354
349
280
320
359
396
357
294
341
348
347
313
319
238
293
331
315
275
338
373
324
270
319
344
321
294
228
278
246
237
378
305
316
331
265
346
300
341
361
371
274
261
418
333
283
402
322
227
355
274
330
252
364
392
247
255
320
300
298
272
314
333
360
361
277
348
347
223
375
312
390
245
369
326
240
213
316
202
264
348
284
335
345
297
359
333
261
433
307
331
346
306
251
301
287
258
291
257
329
310
413
400
234
341
257
391
337
341
309
285
397
370
283
369
314
306
250
269
232
311
399
266
284
281
298
335
326
279
295
306
340
248
321
271
257
308
315
300
302
233
343
330
302
292
340
285
334
279
355
295
266
349
280
318
295
313
363
338
330
330
285
340
341
269
320
357
417
352
308
354
297
222
282
215
344
307
255
306
251
359
276
310
240
315
262
376
371
357
339
250
344
268
366
335
360
352
289
279
294
308
319
288
262
298
290
364
369
316
246
297
329
241
305
328
343
245
186
269
292
388
287
381
349
268
382
277
288
263
315
219
303
263
299
278
228
319
223
317
335
355
289
304
342
266
228
275
365
261
271
226
269
298
311
342
282
293
295
333
357
281
370
342
297
269
297
259
363
333
373
320
282
442
354
340
365
302
320
316
305
403
252
423
365
312
357
304
280
378
356
335
357
267
201
242
274
337
327
359
314
362
335
377
344
362
309
326
312
267
283
343
265
344
220
276
371
286
309
318
273
344
342
307
348
267
244
363
340
280
348
336
372
367
292
263
333
269
229
246
345
320
305
369
286
356
302
256
358
286
341
283
342
268
365
283
386
332
310
309
252
343
255
233
312
294
331
394
317
324
360
249
352
291
329
422
326
352
273
277
290
333
319
305
263
287
392
299
298
398
265
337
357
386
323
295
402
265
340
341
341
284
324
343
326
325
405
357
288
366
292
358
232
345
215
328
351
320
300
310
344
362
286
362
265
266
299
286
378
232
198
357
344
231
325
284
349
274
379
358
287
277
265
346
322
354
316
278
276
328
267
329
388
365
308
391
208
274
285
315
212
300
272
257
337
347
300
317
277
240
320
317
286
308
238
300
307
331
400
326
356
351
274
376
299
251
332
287
337
282
397
337
387
341
294
308
301
316
272
326
315
339
314
288
327
252
387
308
290
168
219
468
375
278
317
266
273
249
318
380
315
295
353
338
222
329
300
347
366
332
315
368
360
331
394
314
236
370
433
301
352
241
370
344
383
311
319
315
322
364
322
396
314
328
288
260
340
347
274
395
298
327
265
332
349
290
363
379
247
366
316
290
310
346
373
322
335
255
316
339
398
257
317
288
337
373
256
375
392
312
369
287
309
357
305
297
342
320
268
279
315
221
246
282
279
274
326
397
250
260
328
412
322
277
389
332
350
309
297
280
311
259
336
333
243
368
333
352
295
402
359
284
300
314
366
185
267
287
217
254
394
305
280
330
246
329
278
289
295
318
296
361
331
365
351
239
358
308
337
310
263
323
330
207
349
283
312
340
354
333
335
290
299
313
338
350
313
309
301
385
293
269
246
356
278
361
315
331
337
343
256
306
321
255
359
255
396
253
346
256
304
341
323
327
353
394
320
324
311
275
294
328
352
347
339
330
379
342
370
332
363
316
298
259
336
285
306
353
285
350
334
289
335
321
369
342
339
327
286
306
243
341
359
372
300
235
353
311
309
391
386
306
279
317
357
211
387
345
320
321
342
384
295
373
314
346
274
358
299
385
280
286
389
287
347
283
342
275
316
338
334
363
389
353
296
268
342
295
317
303
263
287
266
266
246
290
328
303
323
225
315
268
300
330
296
286
393
325
323
300
315
261
316
339
259
343
332
284
394
432
367
247
330
273
314
294
282
242
295
331
340
388
353
279
383
354
323
282
372
362
290
277
282
316
242
344
280
347
311
328
323
324
289
355
325
338
314
319
296
329
290
319
312
368
359
286
324
231
274
286
279
331
300
265
232
359
294
286
337
343
334
337
285
282
297
326
351
290
292
248
363
317
286
294
275
272
344
323
263
381
316
363
337
309
247
363
428
291
291
298
405
243
248
308
298
262
299
241
344
291
259
262
364
225
335
332
365
229
379
309
350
275
376
364
245
258
302
223
298
344
263
213
267
289
389
289
342
259
319
337
326
274
359
375
381
340
333
344
212
252
347
226
277
371
346
341
308
366
325
244
363
351
326
330
328
336
334
305
339
409
296
323
316
338
324
361
329
259
260
344
263
247
199
325
328
309
319
249
236
299
319
292
234
314
225
188
279
337
310
220
252
285
332
304
298
273
227
286
301
328
354
230
354
266
346
409
317
293
254
197
337
327
243
297
245
322
253
240
287
337
367
216
262
293
316
266
277
233
322
347
217
293
308
384
316
345
357
390
351
320
300
282
214
326
246
363
403
313
292
420
311
294
306
299
333
307
331
301
283
252
323
238
263
298
336
239
297
328
331
316
234
303
358
348
377
311
292
319
306
293
356
276
226
364
274
382
334
377
245
329
303
342
311
271
282
285
338
395
309
332
359
286
304
398
284
309
398
341
271
280
320
429
291
205
292
319
306
345
318
325
299
363
247
362
312
225
282
384
301
303
306
296
330
338
357
241
300
359
286
311
277
374
346
338
271
371
256
292
346
329
277
278
311
287
344
300
329
360
314
281
376
245
354
347
349
278
203
286
273
306
284
293
328
369
330
274
329
301
335
300
346
272
326
318
357
305
293
305
370
313
334
335
210
331
238
313
293
343
246
352
239
295
280
326
245
339
307
332
284
322
314
337
348
351
285
330
319
382
276
267
310
317
347
319
363
354
289
430
336
384
307
254
281
278
280
227
301
347
356
250
362
290
298
276
399
279
323
314
305
336
386
361
286
301
285
265
367
396
292
371
345
400
256
289
333
234
351
342
253
330
356
310
384
271
208
366
369
280
312
406
375
345
321
210
325
354
358
198
344
381
360
338
319
297
360
300
293
384
289
257
283
313
358
349
384
336
331
278
317
316
338
322
297
343
241
439
331
341
353
365
290
268
264
326
303
276
263
303
263
361
307
232
327
301
270
302
356
275
367
287
320
215
210
358
344
254
350
354
381
295
358
364
306
315
366
231
292
298
340
306
328
347
335
283
310
293
307
331
312
218
298
268
290
310
399
338
299
280
273
317
249
241
297
270
332
309
313
319
281
278
296
242
352
315
296
386
385
391
269
275
313
312
403
288
278
266
350
340
330
304
233
274
238
319
280
355
338
200
320
346
292
310
280
326
260
312
257
328
313
330
307
315
359
332
278
336
354
360
324
329
320
242
333
267
287
267
275
327
333
320
334
182
259
262
346
254
261
313
326
319
285
375
251
326
295
259
338
247
373
402
366
313
370
275
339
405
336
291
258
260
337
320
283
364
338
380
323
338
304
239
291
317
272
366
287
403
273
321
359
317
367
346
301
290
294
354
371
308
292
320
340
336
341
296
339
271
346
329
239
287
393
298
210
397
292
373
327
343
285
276
352
288
265
348
354
358
319
307
290
340
350
317
313
348
317
361
413
268
224
245
310
361
330
363
309
318
352
334
296
365
318
288
380
408
318
344
340
303
346
350
298
359
274
260
258
303
350
271
334
387
320
244
304
378
248
226
323
253
329
340
399
345
320
377
320
378
271
335
319
302
317
285
281
330
230
363
394
326
340
305
361
402
313
360
315
336
277
182
308
322
314
328
329
362
225
217
316
340
303
323
346
362
349
296
308
298
383
285
310
287
290
306
179
245
223
293
246
328
184
252
362
276
300
322
384
331
217
379
395
292
321
457
349
340
292
358
377
320
302
325
333
344
313
390
333
268
340
269
326
324
229
353
337
323
307
289
349
354
282
258
310
336
394
387
234
312
230
331
333
364
322
275
305
307
292
316
338
356
289
278
344
251
334
260
251
368
311
368
191
355
360
392
300
324
226
316
303
264
336
340
367
245
303
285
351
340
315
327
281
331
243
334
364
313
371
364
350
284
358
396
301
294
327
320
304
292
405
293
385
304
293
314
276
410
248
295
333
370
298
302
366
364
307
324
280
360
265
249
340
355
315
380
376
379
323
368
329
257
345
293
351
298
216
286
339
257
324
299
318
349
326
276
301
336
332
302
261
368
235
310
309
336
356
291
351
293
299
376
348
373
314
299
366
282
261
403
347
398
367
264
328
301
393
288
304
251
290
339
377
385
326
268
385
359
351
361
329
314
349
282
240
307
303
307
271
269
332
235
344
263
265
311
333
317
253
366
267
357
342
370
273
321
223
348
388
335
290
288
376
292
253
318
363
276
281
295
368
282
331
346
286
276
372
362
294
348
304
297
342
416
251
312
271
276
351
372
367
288
246
250
338
305
307
295
342
210
410
275
260
320
291
299
304
361
315
408
305
321
411
381
355
315
294
263
246
232
369
340
258
300
296
252
246
395
202
304
261
276
240
317
299
353
248
272
253
301
346
304
351
310
282
396
326
263
417
283
261
293
313
300
374
386
359
358
366
337
286
276
324
341
350
259
206
323
310
282
266
339
326
288
335
310
291
354
303
368
328
316
311
315
214
312
199
273
214
322
394
309
359
306
348
320
312
300
292
388
302
346
319
342
265
255
300
380
277
312
321
322
409
286
328
370
360
313
289
308
367
293
345
340
325
229
260
308
230
303
387
409
332
252
367
275
339
230
315
354
352
331
296
323
291
293
268
374
350
340
280
338
334
336
318
291
309
304
337
332
333
387
336
309
325
382
228
351
340
347
371
307
303
230
311
286
363
333
232
330
322
242
347
326
365
306
284
256
307
241
292
310
339
321
323
243
366
321
338
286
226
268
236
321
365
284
299
361
291
300
347
312
298
343
284
387
341
312
329
372
312
314
332
251
293
336
340
404
336
321
249
250
338
287
305
302
328
353
329
364
334
261
328
281
312
400
346
342
415
400
255
376
335
369
279
341
388
340
328
335
295
389
268
311
327
365
342
311
299
315
324
346
405
336
307
255
380
318
436
365
264
362
299
303
265
405
287
346
354
308
309
251
322
309
222
354
269
304
259
369
307
313
309
260
358
301
226
351
292
307
333
347
296
330
257
327
250
380
345
246
273
256
296
300
329
296
327
259
316
301
279
343
290
434
376
310
256
264
278
327
308
304
275
332
323
281
285
303
247
331
292
368
395
317
268
289
268
379
332
371
291
380
345
348
326
352
289
316
317
324
276
287
339
299
314
326
316
284
327
317
283
351
297
318
331
382
302
256
265
362
293
363
363
270
339
288
266
387
302
355
323
199
222
334
311
309
352
311
375
300
268
397
335
242
293
231
258
276
373
339
308
316
313
339
282
309
390
338
272
310
338
304
329
294
306
374
338
280
221
354
334
304
361
314
370
264
306
372
312
266
383
429
379
337
270
317
300
384
336
372
318
308
323
360
284
317
343
301
304
302
354
368
336
256
238
314
360
407
299
382
397
384
329
344
307
336
328
356
343
360
298
371
269
226
410
398
338
237
438
327
289
358
255
265
364
272
390
317
272
373
270
240
360
298
272
292
349
299
311
325
311
310
259
250
368
348
303
334
328
324
259
361
313
314
323
311
322
296
306
302
291
292
307
376
354
240
304
353
252
351
293
351
299
280
269
271
396
329
359
267
374
381
406
269
297
314
296
336
375
328
294
274
356
344
371
349
273
376
355
272
247
264
253
279
351
342
258
364
284
332
293
350
327
367
328
265
305
392
336
346
316
298
337
327
332
336
322
344
351
366
275
259
313
250
263
266
300
289
281
252
277
261
323
402
262
339
302
370
336
350
330
347
283
207
393
365
237
344
357
246
287
315
358
248
241
327
288
289
298
279
302
296
318
281
363
280
334
239
302
307
321
292
362
366
228
344
367
338
269
262
352
279
341
275
314
348
354
263
336
350
340
289
306
323
285
329
396
311
273
330
209
364
311
183
324
300
232
356
419
329
329
363
342
352
339
302
284
345
284
304
304
263
317
318
386
327
315
302
394
337
363
405
329
312
324
272
253
256
348
239
279
267
369
338
345
236
347
279
256
321
233
299
341
437
250
340
400
234
284
289
302
188
354
326
283
289
338
319
324
288
336
300
319
375
351
297
301
351
304
280
324
288
320
343
353
310
340
374
348
296
370
334
349
264
290
315
361
298
370
356
339
310
229
363
346
404
340
284
291
267
285
407
276
283
257
262
309
359
322
336
290
246
324
320
307
306
295
156
261
284
352
324
365
264
383
293
321
265
279
232
319
325
194
371
262
364
323
283
335
273
285
334
291
295
319
313
268
287
315
244
278
222
282
307
320
270
340
339
355
310
297
371
295
321
330
336
227
237
310
387
319
369
243
335
335
374
334
351
320
267
326
310
330
317
318
275
264
308
292
276
332
245
329
345
307
328
322
362
324
356
356
294
315
240
310
313
327
309
363
329
338
304
348
354
369
363
251
187
246
261
312
337
281
353
376
316
274
424
348
320
279
346
295
414
355
228
253
358
353
342
267
343
315
364
331
328
289
259
292
351
348
293
427
338
283
298
266
328
301
332
303
179
340
353
337
300
210
323
340
316
370
301
361
317
320
375
261
129
360
358
288
211
277
346
386
387
320
379
230
258
336
346
311
438
365
323
293
255
318
301
265
254
318
274
286
260
285
351
213
320
349
262
230
400
328
291
313
208
303
363
290
297
274
264
325
322
316
331
267
240
295
359
303
241
244
372
300
284
369
263
322
336
327
349
379
273
165
281
242
319
255
307
386
291
316
305
325
340
276
322
262
329
333
250
359
397
315
384
401
311
256
326
310
333
356
236
342
307
297
326
328
310
298
341
285
360
329
338
193
319
292
394
355
312
261
153
344
234
321
296
301
296
237
389
382
344
345
255
333
343
288
306
320
366
276
351
389
419
336
215
334
310
315
360
395
327
253
280
267
313
388
372
321
360
302
337
313
313
307
378
354
391
374
301
239
299
390
349
252
369
312
310
311
322
374
284
307
331
337
333
324
350
353
322
311
358
372
327
260
310
283
290
309
344
316
278
311
260
337
274
313
310
342
335
346
339
262
351
296
308
315
303
317
401
314
363
321
304
315
296
321
322
281
283
283
397
291
392
327
306
336
305
266
287
453
238
237
360
433
244
380
271
294
278
313
236
313
294
287
230
303
327
308
321
328
374
394
367
350
248
245
251
358
367
331
355
331
293
333
331
225
338
287
293
363
292
361
282
260
359
373
299
324
300
319
297
262
418
254
344
386
313
265
289
363
350
342
289
306
323
275
264
372
288
324
282
337
355
305
314
352
364
256
350
278
280
225
231
325
339
367
277
298
315
281
266
330
304
301
340
372
209
388
240
356
326
341
384
238
297
296
344
315
282
377
305
263
256
360
341
284
330
355
378
303
341
246
285
313
259
368
342
345
330
352
360
318
313
321
264
387
340
364
322
375
294
317
295
350
297
278
327
278
266
373
373
250
323
302
322
320
284
291
353
297
290
297
325
356
253
322
236
303
304
237
274
233
295
340
319
361
286
387
264
388
364
418
303
416
359
249
372
360
286
352
228
352
312
308
351
218
296
358
321
288
360
352
328
323
353
312
353
351
343
318
329
287
346
301
268
255
368
340
223
294
334
284
386
323
256
349
315
260
344
345
343
333
283
224
263
314
278
285
365
352
319
225
311
307
331
322
288
377
358
360
255
266
333
394
222
297
349
371
365
290
356
367
242
240
279
275
333
353
272
325
379
348
300
242
357
371
291
314
337
338
344
239
317
308
348
240
273
301
314
276
309
285
297
284
300
276
352
309
306
250
252
348
289
358
368
291
297
332
343
333
283
273
352
309
366
300
300
384
310
248
238
376
371
345
356
377
314
297
277
298
284
332
345
363
363
347
219
355
294
343
309
256
268
252
369
318
337
352
281
284
321
294
303
376
307
300
344
285
284
244
342
289
280
284
289
291
260
318
335
295
275
258
267
391
344
361
308
270
367
384
286
359
288
343
331
376
369
260
351
259
306
364
247
274
320
342
374
310
270
338
322
351
308
348
311
264
373
397
275
307
292
253
297
392
294
389
367
266
246
368
352
376
329
406
284
381
283
282
300
336
346
381
283
325
277
351
317
305
276
302
306
344
263
326
351
256
339
350
289
274
324
367
378
239
322
272
295
328
319
319
275
317
239
379
363
301
392
292
337
289
283
173
365
353
241
315
214
228
297
359
301
336
341
307
309
239
367
324
325
339
330
299
314
306
368
256
305
335
326
328
255
296
340
289
315
324
236
352
360
339
337
329
330
379
331
423
399
291
317
300
367
311
232
337
367
345
400
386
318
310
351
364
348
309
320
293
268
330
338
353
368
288
376
409
265
330
385
342
351
320
293
360
323
301
316
297
316
329
378
300
353
347
228
345
264
368
201
303
257
323
325
325
280
430
270
319
310
239
345
393
371
288
329
367
323
388
326
341
320
263
308
352
369
369
314
293
331
291
304
349
341
318
332
314
276
324
337
401
271
338
339
290
260
307
254
366
342
281
376
403
329
343
295
294
326
307
308
316
285
307
251
310
230
280
244
314
314
278
350
336
364
366
384
333
257
312
388
312
283
327
304
246
348
283
345
339
286
271
341
259
381
300
354
294
309
340
356
322
217
406
282
361
306
253
319
225
247
325
295
258
269
332
341
211
280
293
345
406
229
323
334
306
328
342
302
345
367
359
309
325
361
324
254
256
275
298
300
289
344
293
214
344
298
329
244
326
323
317
229
336
350
367
310
253
332
315
304
340
253
255
300
351
341
263
305
354
343
201
263
320
319
364
327
333
225
359
251
250
304
306
355
333
284
246
362
228
334
318
318
278
274
251
289
325
299
183
324
301
377
267
281
293
323
377
330
270
268
316
288
321
210
382
281
313
352
343
236
270
323
296
463
277
407
381
363
372
259
307
341
299
318
384
251
295
342
338
351
375
279
215
340
319
251
336
339
262
267
376
316
287
281
264
267
354
276
261
323
291
354
408
367
358
283
331
231
356
310
370
356
269
323
309
286
329
295
365
321
258
375
325
333
340
273
350
328
286
308
367
226
325
312
336
323
352
315
312
309
237
339
302
408
283
373
283
334
343
352
284
228
216
326
397
386
372
302
270
256
292
390
306
279
284
329
321
319
347
311
295
196
372
365
288
309
316
323
360
316
205
297
330
304
301
281
407
351
296
339
260
377
335
323
365
346
336
357
375
305
299
363
239
332
303
311
302
264
394
294
311
239
262
235
263
297
344
304
339
321
306
264
272
340
397
297
289
322
296
301
350
345
277
357
323
322
309
322
322
347
306
370
356
284
285
377
361
300
293
262
217
341
328
332
286
233
356
283
329
245
334
348
250
389
394
332
302
279
275
289
332
399
265
349
329
332
425
275
393
312
283
314
238
340
294
370
356
327
364
322
226
322
291
305
327
311
358
287
364
227
302
356
368
330
354
291
323
385
301
350
392
374
353
325
342
339
350
268
339
298
279
319
319
206
333
295
308
368
310
309
340
360
341
367
332
281
324
326
287
334
350
295
308
348
336
312
321
413
311
301
271
296
259
259
292
338
200
346
368
342
320
319
306
361
193
279
282
371
359
299
370
235
376
330
340
285
344
301
362
420
269
369
330
314
370
335
302
331
283
363
319
365
395
249
349
398
338
313
281
297
306
248
344
326
282
351
345
235
356
351
388
260
255
262
250
310
282
360
343
324
320
368
320
291
361
370
335
261
366
304
356
303
352
327
336
263
311
252
348
391
247
405
344
344
293
331
376
316
257
295
320
363
355
266
362
332
304
331
310
344
413
364
304
217
182
319
353
311
255
282
323
316
244
356
340
252
217
323
339
346
323
237
285
339
279
303
342
275
300
329
361
306
344
295
319
337
283
336
305
342
311
356
243
307
320
258
239
257
314
249
331
332
344
386
260
280
354
348
263
315
288
353
307
377
245
329
297
251
327
285
329
261
320
357
280
214
355
344
345
271
298
353
260
323
311
384
325
214
326
305
302
298
282
368
219
282
365
297
342
294
416
316
181
244
289
302
339
306
261
293
341
302
344
332
373
249
337
355
286
289
307
372
268
296
412
323
369
397
233
347
375
252
337
361
317
303
292
337
298
319
324
382
363
313
326
232
372
285
283
246
396
237
253
386
339
350
231
323
354
347
347
366
356
288
343
282
304
295
258
363
342
294
294
324
318
231
282
343
314
372
290
304
325
283
277
322
360
266
345
369
355
280
320
234
306
287
319
345
348
364
298
324
313
299
296
400
305
250
291
344
348
377
306
292
296
316
361
324
306
350
309
383
370
278
238
316
347
339
373
386
301
294
373
250
292
290
278
295
316
258
310
308
318
344
292
272
252
254
386
319
284
306
220
326
356
333
197
241
384
297
337
178
408
353
357
225
294
363
324
317
299
388
296
274
264
285
287
334
313
377
262
245
232
272
322
336
295
286
309
257
361
286
269
387
337
304
223
216
336
320
311
320
234
390
241
333
300
318
248
332
290
338
276
267
427
305
372
333
296
340
285
252
382
393
303
362
275
338
372
363
351
348
241
350
306
376
303
384
334
336
350
320
335
286
346
262
357
326
299
316
309
429
282
346
294
273
269
303
299
349
299
369
350
363
276
302
352
263
378
347
364
280
269
332
335
345
330
389
414
259
334
293
333
383
427
322
355
239
290
314
278
254
281
350
295
340
319
338
255
358
370
278
363
255
263
355
307
443
328
360
362
277
293
283
334
314
296
318
362
335
347
285
320
358
348
328
303
298
325
289
285
263
348
301
352
266
290
299
316
329
336
356
360
338
362
184
348
290
256
279
314
310
356
318
348
323
291
318
339
387
345
274
330
324
348
219
368
256
332
238
265
322
299
242
310
291
311
300
258
396
295
289
309
345
255
315
287
295
261
310
275
373
337
327
319
338
311
327
380
298
402
289
302
232
270
344
363
253
303
273
367
386
261
339
398
293
316
276
243
304
332
270
334
277
291
350
286
233
314
366
331
326
340
240
323
384
295
233
331
240
294
272
275
368
352
370
289
350
228
311
278
246
339
317
335
345
323
341
324
402
319
341
300
255
309
333
352
246
303
303
401
297
386
403
338
366
318
320
329
321
319
277
342
328
249
446
383
367
289
274
206
388
415
317
304
218
301
338
364
270
258
255
335
310
235
313
295
309
399
351
339
324
285
351
321
318
282
328
314
312
329
268
345
357
276
352
327
371
326
399
292
417
325
211
341
338
262
321
322
275
340
241
300
372
271
260
357
349
311
377
354
327
269
354
281
343
379
292
297
293
436
264
316
373
298
330
332
307
356
315
329
290
289
364
292
300
367
284
291
340
288
361
341
328
318
358
294
274
362
325
235
394
348
362
266
350
277
414
325
340
357
298
382
346
246
290
284
261
331
349
231
267
331
285
341
279
174
274
334
295
272
252
308
328
365
274
337
347
276
321
295
347
336
327
319
253
324
306
251
315
365
287
352
347
275
301
289
331
331
285
319
288
271
358
339
294
374
317
305
287
291
288
292
353
358
304
354
285
341
348
287
268
261
354
349
317
283
401
285
299
384
363
289
241
271
413
301
329
225
324
337
320
264
368
273
320
280
321
342
367
355
275
321
305
306
373
335
293
334
363
256
287
353
327
277
363
287
351
387
349
349
321
339
338
325
392
393
322
338
327
295
270
357
345
346
355
271
214
303
388
275
315
386
359
321
251
259
270
308
333
294
275
324
291
381
281
303
327
238
322
286
301
346
331
277
330
324
302
367
376
275
330
362
350
283
363
368
328
355
342
362
282
296
341
343
336
238
302
328
265
265
225
390
298
365
303
324
210
364
326
401
309
295
345
295
280
245
280
277
398
335
324
370
279
365
338
320
288
325
307
327
273
278
321
395
338
301
350
255
360
294
302
322
288
248
397
306
305
321
343
290
304
340
297
292
306
356
344
337
298
308
355
330
305
258
395
363
284
334
297
317
326
296
278
393
231
431
265
298
258
248
280
307
367
307
297
319
264
359
340
290
322
335
229
281
290
265
383
303
266
272
293
387
346
376
267
248
302
314
250
321
304
336
368
426
263
318
251
283
298
378
234
269
295
319
378
238
300
296
227
237
310
303
256
348
277
320
314
255
349
378
351
318
317
294
334
325
248
304
238
405
261
357
352
269
333
357
223
342
299
327
266
293
368
260
305
307
299
326
337
353
262
320
250
282
312
296
291
314
241
308
344
349
306
329
243
383
332
336
352
317
266
337
306
281
344
349
227
323
407
273
336
389
312
364
333
353
352
311
309
266
254
273
272
353
389
345
306
355
369
234
272
264
339
371
285
318
330
293
284
315
242
318
252
340
281
278
256
353
246
344
318
383
288
359
409
297
369
273
352
236
298
289
264
286
283
301
287
273
302
305
310
302
368
251
340
337
320
319
341
325
309
367
312
310
261
366
327
283
291
309
270
327
311
232
363
338
281
256
224
301
276
303
295
233
302
352
379
279
281
303
252
247
327
289
347
318
341
321
313
271
325
225
292
337
332
267
289
400
318
249
342
330
333
335
351
297
222
324
347
267
343
371
325
403
303
308
367
253
342
361
247
291
250
221
275
323
306
300
272
255
425
375
319
367
392
313
283
305
229
401
270
411
352
347
270
325
408
349
276
352
249
349
323
349
278
317
394
313
343
286
241
266
359
240
352
358
289
306
268
318
320
359
282
308
305
322
251
311
338
377
255
248
321
309
196
250
391
312
342
388
283
278
350
350
386
296
388
281
344
304
297
383
299
317
280
331
306
394
433
328
333
277
340
252
236
290
312
359
310
220
391
308
328
281
374
316
345
309
324
365
345
283
310
278
250
349
324
239
355
240
336
296
302
264
337
368
342
328
298
290
339
291
260
355
307
404
322
389
339
317
366
380
282
325
294
378
343
342
249
319
318
229
375
332
222
323
348
273
282
324
392
336
245
230
303
240
317
281
286
370
301
302
334
351
317
258
258
345
343
365
342
316
302
321
350
259
354
372
328
263
371
310
369
298
350
311
306
308
320
274
353
365
268
368
257
317
302
302
333
342
330
349
297
285
295
344
322
336
280
224
275
315
384
328
334
256
297
348
317
365
305
348
382
323
253
301
311
271
265
333
321
352
300
313
400
316
353
365
314
284
391
322
230
331
271
313
310
301
271
281
298
348
321
295
279
257
368
383
304
337
279
277
330
379
304
199
266
395
290
311
229
386
266
343
282
296
227
402
270
379
239
288
308
214
256
318
435
285
366
355
356
351
317
380
304
207
342
339
265
331
389
321
345
340
308
293
298
418
407
340
299
307
294
290
287
339
400
320
302
344
343
227
325
363
319
257
323
370
311
411
359
346
352
289
315
233
292
306
284
282
346
343
347
367
353
302
248
254
343
339
338
250
213
357
304
326
285
296
251
338
400
307
373
348
345
330
293
394
303
309
320
349
239
354
351
340
277
303
298
296
274
358
231
370
382
295
299
332
293
328
298
390
250
325
310
361
270
301
293
238
261
347
284
281
279
298
388
349
323
274
268
274
377
325
294
309
358
284
336
364
294
366
367
299
349
301
347
250
315
346
346
294
356
296
306
313
366
334
311
271
323
368
206
301
304
322
223
338
331
327
295
342
326
350
295
312
366
280
254
346
272
338
360
343
353
342
354
317
193
355
329
329
317
361
328
392
320
342
308
311
270
277
386
412
297
339
335
260
278
378
286
314
320
332
318
296
315
357
316
347
281
325
306
312
377
399
360
345
344
370
327
242
282
334
308
361
284
293
332
219
371
359
321
298
273
345
342
266
278
284
386
298
330
351
299
336
315
239
351
329
380
388
295
263
354
317
321
360
405
323
335
363
171
353
264
319
282
275
253
318
384
327
363
291
343
261
353
264
326
341
256
354
353
278
291
301
352
318
319
300
301
343
227
312
353
240
331
199
352
364
283
329
310
287
364
385
302
272
317
332
336
320
350
346
345
338
335
325
369
320
297
298
258
286
360
348
356
273
290
262
316
380
297
402
291
295
279
221
251
350
351
336
380
226
303
391
329
347
321
319
407
333
300
277
324
370
364
327
354
375
313
268
299
357
289
386
373
286
348
221
311
311
330
305
292
265
341
216
358
401
179
253
287
304
389
373
296
273
263
345
334
245
341
384
312
358
354
323
344
264
343
281
360
316
332
316
321
295
354
331
354
287
330
313
356
376
323
333
347
276
367
350
305
274
315
290
306
293
237
313
306
340
270
371
327
359
289
365
280
197
355
307
386
362
355
456
301
340
326
280
328
343
341
355
305
294
372
356
334
355
320
319
348
314
331
307
320
395
343
347
445
296
271
279
331
332
380
362
387
303
248
317
323
273
273
299
353
306
344
359
297
242
279
278
345
300
312
386
262
315
345
290
253
330
289
332
334
333
376
421
322
365
260
316
286
260
350
384
314
304
254
336
352
305
334
360
379
308
341
331
243
349
360
355
287
221
222
322
335
315
340
257
301
344
320
381
292
336
386
376
336
319
357
359
238
254
322
313
234
310
300
281
312
339
337
334
311
261
319
315
376
361
338
389
395
296
333
370
272
189
378
348
242
271
282
332
389
264
343
372
311
382
375
423
380
297
309
344
370
333
336
267
380
317
333
317
286
338
268
272
371
299
426
276
297
331
354
291
338
283
291
304
275
234
298
376
314
350
375
375
289
331
351
270
398
251
311
316
285
324
317
321
367
229
413
382
312
316
315
296
265
402
250
319
292
301
270
305
342
348
352
377
203
307
306
256
348
353
326
369
344
321
278
290
316
358
266
325
287
357
329
297
323
335
265
359
305
343
377
365
277
312
320
235
304
331
363
197
300
340
294
335
303
284
369
338
324
313
281
354
371
356
291
277
333
303
353
334
376
306
291
315
321
310
280
261
306
277
310
306
295
351
301
349
295
292
329
350
388
369
379
291
364
292
354
340
319
314
355
408
263
276
303
275
276
306
358
296
361
274
287
340
363
289
351
281
360
278
276
367
387
332
290
359
312
280
279
300
349
337
270
372
320
284
308
375
314
335
263
360
313
255
332
296
306
342
331
296
258
326
308
286
300
343
340
356
370
301
368
293
346
239
320
357
342
341
351
286
412
385
419
354
351
302
329
291
309
347
267
361
355
250
323
339
422
346
211
251
394
299
301
268
325
284
270
297
284
340
353
277
283
351
302
309
364
286
395
389
377
234
319
348
304
339
302
339
391
337
321
206
345
264
302
360
277
223
371
342
298
335
287
334
295
374
308
238
320
330
340
353
259
319
276
303
368
340
343
287
252
297
322
322
300
339
274
429
359
315
235
376
315
183
267
280
263
303
345
307
289
385
303
326
285
296
263
233
249
308
339
348
380
362
335
263
342
354
370
343
347
344
353
303
333
334
366
294
213
308
384
353
395
285
303
286
338
321
239
264
293
247
319
239
387
251
284
330
351
345
362
303
395
264
297
326
288
424
391
325
322
281
366
271
257
281
358
322
242
301
312
311
295
318
191
313
331
295
216
451
338
328
371
271
316
363
305
290
326
307
302
267
331
363
325
255
292
403
328
326
325
254
274
341
366
315
283
236
265
185
345
321
311
397
319
303
311
282
326
296
317
344
373
242
389
359
243
351
325
289
328
349
260
408
343
307
225
260
339
286
278
358
240
406
274
287
381
302
338
303
378
289
292
368
336
220
363
288
290
289
299
345
338
289
319
390
275
353
304
353
383
344
421
370
281
308
240
252
308
273
339
257
305
294
323
288
332
306
319
297
397
345
286
231
323
317
313
266
316
297
204
319
325
350
288
376
375
238
292
325
362
284
302
318
263
287
294
293
263
295
344
384
390
297
277
237
243
326
300
340
332
314
341
367
244
348
341
366
395
315
364
284
291
347
350
333
318
305
271
335
279
364
241
232
298
320
280
279
251
270
300
336
343
323
332
281
233
251
354
362
350
404
341
305
338
342
245
313
327
335
309
311
263
404
363
342
295
348
364
273
312
311
317
329
402
316
269
309
329
385
393
277
329
313
290
389
379
373
337
302
360
302
351
348
310
332
393
264
268
338
329
351
263
250
361
268
317
342
287
182
366
328
376
332
326
363
334
369
266
318
278
310
314
359
335
390
279
253
369
347
344
419
331
303
264
270
356
370
400
374
233
369
273
386
349
247
350
328
252
335
294
251
372
274
346
322
299
241
345
253
296
322
367
301
261
293
362
225
384
390
388
310
321
358
348
237
228
393
331
323
256
340
342
429
405
338
396
335
366
378
305
276
346
362
337
305
280
258
319
275
352
298
319
236
352
279
268
358
237
251
324
332
291
347
329
305
327
249
297
238
363
391
312
355
343
306
356
342
324
271
284
306
336
280
303
261
273
296
352
359
296
351
361
321
346
321
393
272
413
302
283
280
401
391
258
327
370
329
342
351
314
341
406
372
281
323
275
371
316
317
279
284
314
311
316
346
257
324
372
353
317
254
257
397
277
316
245
324
287
363
324
319
316
318
302
358
307
305
285
264
355
261
276
367
265
302
240
324
218
298
350
371
370
300
324
248
303
293
347
253
383
281
374
349
423
333
296
357
321
319
290
267
338
361
259
309
290
357
360
316
189
241
361
349
188
371
371
261
393
297
406
382
292
319
299
251
282
363
270
373
398
295
317
234
326
319
320
327
332
308
334
280
262
380
289
318
259
292
363
340
268
313
310
307
210
344
343
386
308
266
363
320
273
378
345
349
234
298
365
293
362
261
297
341
269
285
369
332
415
243
309
363
309
310
294
342
402
290
365
306
343
187
350
325
437
300
258
341
213
291
307
298
242
247
318
296
313
324
261
287
272
328
239
359
261
238
313
411
315
287
274
354
414
273
243
316
223
281
211
340
289
329
281
253
338
389
340
267
295
329
314
237
304
337
245
319
226
357
327
317
220
320
259
228
221
383
344
312
319
307
274
305
420
329
348
327
364
271
275
335
347
257
320
317
295
377
357
341
311
291
417
363
329
336
314
269
339
381
280
370
299
192
288
382
303
339
286
249
329
319
321
327
290
359
348
248
290
342
354
307
332
305
274
274
275
430
291
319
356
195
377
304
235
313
317
348
136
321
364
367
258
294
337
263
319
297
294
364
352
322
303
279
317
323
260
374
349
207
369
285
300
369
270
357
276
378
309
374
369
341
356
222
345
338
288
349
291
341
275
295
315
302
310
360
302
354
396
316
292
307
241
385
322
376
287
333
207
328
251
313
363
242
339
279
240
311
321
355
307
276
276
254
298
285
304
388
312
362
378
269
296
274
363
298
260
278
310
268
311
221
329
296
349
267
340
359
261
283
262
302
312
274
300
363
260
352
373
296
327
261
279
277
319
238
281
362
239
348
293
212
291
349
211
248
300
296
294
307
329
318
366
362
364
332
324
317
331
311
291
336
397
319
320
323
258
344
369
304
313
322
397
288
322
285
222
294
315
287
379
336
362
272
299
302
305
389
320
265
307
305
327
282
348
334
348
308
322
273
368
173
314
398
283
315
310
320
273
295
273
253
286
287
326
359
299
259
366
373
304
275
282
234
350
278
369
363
365
386
370
354
324
294
299
362
274
278
388
221
268
298
274
379
292
357
359
302
343
324
363
336
303
349
297
252
276
296
293
379
386
245
396
365
287
344
406
354
277
320
318
376
336
285
180
312
251
390
293
363
237
266
311
268
288
220
301
393
348
334
290
395
204
327
389
415
314
318
314
228
235
350
352
277
379
288
286
334
310
329
383
337
259
308
261
279
297
337
324
276
335
306
262
371
348
317
324
266
313
279
355
324
327
393
255
322
344
340
377
405
351
310
337
304
303
296
332
337
325
291
383
334
381
265
273
400
278
331
301
266
464
338
314
313
316
250
333
329
286
373
345
263
300
366
376
417
364
352
260
304
255
274
301
303
332
358
353
291
316
361
417
328
311
331
350
383
245
353
227
383
288
338
337
334
263
312
372
353
380
398
336
290
329
365
415
351
372
294
378
235
289
318
281
302
312
358
277
278
358
343
271
287
269
318
323
348
327
350
315
342
326
330
278
412
286
319
272
343
328
383
264
362
369
288
392
319
293
339
293
428
334
359
210
309
269
334
300
269
361
365
328
354
302
333
279
316
293
301
278
390
354
374
245
256
257
313
284
360
268
263
300
357
298
275
346
348
287
362
316
358
203
307
282
262
295
280
382
308
260
322
374
312
362
344
354
326
308
293
374
221
264
254
273
286
398
370
322
351
329
340
323
257
320
368
288
283
249
348
350
273
363
308
376
340
281
279
322
357
334
345
326
356
333
386
421
256
258
374
333
290
314
307
323
376
312
357
249
389
278
340
249
282
251
309
369
356
324
361
346
288
307
321
243
284
212
339
324
309
319
292
269
377
339
317
358
336
260
246
331
299
276
248
432
284
310
297
295
352
246
356
380
300
347
318
317
322
298
343
284
239
319
224
337
353
329
335
314
429
315
337
323
279
352
251
341
326
342
300
337
329
290
402
280
323
323
319
388
322
258
394
306
275
322
323
235
297
377
313
249
366
278
309
367
380
352
383
353
298
294
305
364
292
318
383
338
313
345
312
318
315
239
303
234
271
239
270
345
284
309
387
284
261
263
316
389
339
305
305
288
379
330
385
283
335
346
324
323
228
232
360
351
253
291
369
297
317
322
291
353
261
344
277
336
352
258
327
295
306
299
269
349
226
346
385
267
367
298
325
365
262
248
222
318
347
249
286
249
349
248
294
366
323
293
316
399
359
334
360
392
311
331
322
287
284
181
315
341
277
322
262
331
339
388
321
383
305
286
214
289
383
283
347
331
289
406
346
348
301
372
316
350
314
320
249
312
332
389
375
190
333
299
315
319
314
346
344
365
352
346
294
373
313
317
318
346
235
270
345
366
364
312
409
342
280
297
301
321
376
299
329
350
298
368
276
321
387
374
338
299
305
357
292
300
328
242
287
285
273
303
294
372
317
343
336
364
280
257
288
302
280
367
200
294
297
369
313
312
324
339
337
259
221
280
361
260
226
314
337
344
368
335
337
343
315
348
391
275
315
369
389
366
291
225
348
300
349
279
339
285
366
376
295
265
308
342
373
281
230
283
285
310
302
330
391
230
281
180
254
267
269
315
303
362
253
316
313
300
233
270
393
271
340
285
349
299
305
425
260
336
380
333
287
321
287
302
337
302
278
313
329
215
260
223
302
340
324
342
289
305
329
273
323
383
304
400
348
316
277
264
305
260
314
371
350
372
375
377
340
369
308
320
275
355
243
271
226
357
372
253
311
310
341
220
291
349
331
306
284
358
301
338
361
383
297
272
268
287
241
340
316
263
315
266
182
274
368
318
294
353
230
282
284
293
268
268
314
302
283
283
230
293
362
324
295
320
313
265
355
321
342
299
301
293
458
312
316
266
344
282
397
287
303
371
335
255
254
362
272
318
267
297
332
317
294
309
356
293
251
257
301
185
299
236
368
333
277
336
333
337
333
327
283
287
395
334
342
294
359
338
275
367
345
298
340
315
343
346
327
244
310
336
322
315
322
324
326
321
377
325
307
325
328
291
257
278
369
371
325
352
260
310
273
177
306
277
299
313
235
246
381
324
302
368
294
335
353
269
393
228
372
278
258
330
292
316
231
309
272
243
381
261
238
339
339
352
422
336
281
370
283
275
242
351
315
313
345
335
261
304
326
290
336
282
366
314
263
338
339
278
343
345
349
307
306
224
224
225
273
253
316
347
266
358
216
321
276
303
226
277
327
317
432
264
313
321
354
346
329
340
295
267
367
297
367
374
301
280
307
246
268
311
170
301
260
328
341
342
249
323
312
324
386
264
289
336
245
335
270
217
313
294
311
305
314
250
378
367
354
331
273
393
300
337
290
383
316
306
316
308
345
352
305
253
288
268
294
248
316
303
298
236
290
339
391
350
292
344
358
287
419
212
272
331
209
399
337
225
310
256
270
361
286
336
305
306
308
356
323
329
313
363
288
287
334
250
337
379
426
364
395
282
295
280
333
324
359
329
407
331
338
259
361
341
337
338
293
315
398
195
316
219
320
352
320
320
226
371
326
360
398
342
343
331
322
284
333
298
365
297
316
316
361
311
254
249
437
325
244
358
341
260
356
378
302
300
249
404
336
319
278
371
360
313
311
331
292
318
306
289
285
330
302
328
369
313
314
282
280
317
272
273
318
349
313
341
190
322
340
242
225
279
387
317
326
324
288
302
210
306
386
307
324
302
341
276
260
311
305
281
340
386
298
339
350
355
267
369
354
275
343
365
393
209
385
283
324
368
339
215
348
382
284
335
289
316
308
320
327
272
310
357
360
261
314
326
337
354
311
300
273
318
277
321
278
277
302
313
260
313
217
309
290
293
301
335
367
342
293
245
292
271
385
329
382
340
356
368
287
375
369
333
345
198
280
323
227
276
241
219
272
326
318
357
319
359
358
300
333
353
365
286
331
388
359
334
251
365
311
342
250
269
376
327
354
310
314
329
310
313
305
252
223
340
283
281
304
378
312
317
364
214
351
293
348
389
314
338
378
306
308
392
368
256
350
257
345
251
286
282
156
413
360
325
269
281
260
289
283
328
275
269
267
330
313
253
332
391
304
359
241
289
232
258
314
353
290
329
373
283
278
383
267
319
354
371
310
319
305
362
282
296
315
392
396
319
297
336
298
362
295
302
283
311
332
272
213
277
359
189
358
291
229
350
317
350
257
275
380
231
338
363
273
409
365
303
340
280
376
245
339
331
308
262
321
278
310
312
265
345
274
315
261
347
280
269
311
310
275
315
281
336
303
268
326
330
286
335
334
261
308
244
266
296
382
318
281
321
259
294
270
296
245
316
336
413
316
332
273
326
211
251
384
365
371
298
295
260
273
264
328
256
280
312
302
257
250
378
338
269
280
310
298
356
266
351
388
394
319
298
308
268
339
249
382
360
302
286
353
313
377
331
334
359
259
338
272
344
354
308
377
278
300
272
277
354
212
281
328
273
350
416
364
314
291
353
373
258
363
351
418
255
294
329
292
341
282
264
295
301
324
302
316
309
335
315
269
340
256
338
304
349
321
382
315
308
340
343
288
316
403
284
382
310
262
354
326
302
365
339
309
287
364
364
339
392
330
362
279
358
366
334
370
361
247
340
347
316
311
253
267
300
338
322
300
311
296
314
350
367
303
313
366
282
350
320
419
318
376
277
338
322
263
309
336
318
371
364
393
313
276
399
263
278
304
350
192
215
345
341
289
320
315
303
307
315
364
322
420
337
346
256
285
278
343
386
335
347
403
357
253
308
299
318
379
367
281
343
269
247
268
329
332
304
321
302
313
275
268
334
336
327
214
302
250
183
294
411
265
262
306
227
364
306
241
330
361
210
306
373
358
332
309
294
369
324
274
274
227
338
228
338
347
265
337
362
383
394
338
331
335
244
329
430
209
368
397
294
335
343
325
336
303
283
298
410
330
336
300
304
343
342
381
330
289
332
314
317
367
379
254
348
256
268
320
314
318
292
382
266
258
338
297
313
386
343
314
197
352
266
343
339
380
288
356
372
289
255
304
296
228
340
349
389
276
313
349
296
278
337
256
282
332
289
368
332
270
329
298
293
332
352
406
325
270
294
312
266
280
356
358
265
307
310
289
353
257
375
285
301
385
205
356
323
276
314
326
215
359
395
350
271
254
298
288
318
315
337
305
310
281
302
332
321
271
284
282
347
248
264
344
262
340
341
332
372
275
277
360
269
329
300
211
332
293
357
367
332
265
328
312
294
325
324
278
287
294
377
286
328
385
331
310
313
283
404
352
313
303
339
326
340
317
313
396
321
371
278
267
347
280
251
317
355
320
243
258
357
336
338
314
368
272
333
297
373
364
307
314
375
375
272
225
319
316
290
322
294
343
255
316
265
355
341
291
287
335
288
252
352
351
350
275
341
311
296
294
385
286
280
316
373
339
313
222
360
310
288
414
354
302
292
239
312
358
296
381
341
270
395
279
396
409
354
408
332
296
335
273
224
282
301
295
238
336
328
357
302
230
378
339
361
299
230
284
281
286
325
298
341
300
331
270
312
323
314
290
273
328
235
318
344
433
303
241
297
291
397
351
328
307
355
329
305
300
336
295
267
355
253
268
279
342
315
305
236
341
258
295
297
353
329
303
330
279
290
405
275
361
293
313
374
359
295
331
283
324
221
357
304
362
364
312
212
301
376
348
244
298
326
203
324
322
381
299
266
398
273
350
339
364
274
351
364
336
309
248
268
265
320
336
390
296
299
378
284
385
258
326
278
354
341
298
349
320
345
298
257
368
357
352
274
329
236
347
283
330
363
343
359
374
368
369
331
332
271
263
415
356
357
306
390
336
316
285
302
297
284
362
296
270
327
374
325
267
284
254
267
346
301
333
413
322
363
237
380
358
230
296
227
362
334
383
306
295
341
295
321
395
318
346
284
309
296
208
260
333
213
340
282
373
310
272
295
319
288
356
243
241
313
165
321
223
329
385
236
270
345
276
345
358
270
332
344
330
357
368
301
278
384
353
328
312
311
306
371
290
268
302
358
244
363
320
404
320
275
269
283
267
335
262
332
332
226
287
286
250
310
331
280
385
309
261
251
253
359
277
283
365
334
333
346
359
343
343
280
252
324
246
324
283
363
274
309
320
334
349
284
328
229
289
292
324
316
356
310
309
288
286
225
345
420
314
336
284
311
305
364
339
367
354
323
281
335
274
211
267
267
340
325
323
322
313
320
361
338
308
289
344
272
261
362
235
375
285
252
359
313
333
347
303
305
299
386
313
356
330
382
306
276
320
330
370
293
352
267
333
346
318
326
248
281
365
351
328
235
330
271
203
238
377
323
310
297
317
270
367
357
258
272
293
266
300
253
355
315
333
305
322
393
318
291
324
342
253
268
368
255
350
324
302
200
374
350
353
292
263
298
301
330
324
348
304
378
344
350
302
379
289
337
300
314
303
314
274
300
306
261
220
301
376
291
342
277
309
337
266
326
317
310
326
324
304
353
345
370
381
323
286
357
317
375
390
301
222
329
322
314
306
288
351
351
395
324
272
367
348
254
280
312
270
232
323
347
296
328
352
200
280
326
257
404
298
354
364
224
294
312
364
347
379
417
332
381
299
298
369
356
283
264
341
252
353
305
342
345
311
328
318
371
356
259
300
312
250
274
362
350
255
366
330
357
329
275
301
272
399
343
299
364
244
393
334
263
331
281
260
395
276
296
287
318
330
311
265
238
204
341
291
385
271
374
369
296
298
368
252
356
283
308
284
290
396
276
309
327
304
254
292
305
303
365
333
316
334
271
216
361
257
383
296
274
343
327
368
325
322
370
379
321
361
257
353
218
265
204
231
333
214
356
288
299
357
285
370
269
182
346
346
305
345
219
275
248
313
352
355
310
339
351
329
291
235
289
320
309
292
282
374
311
298
387
321
379
359
362
400
332
335
306
262
312
334
158
325
247
313
360
277
352
383
279
280
349
300
311
294
250
352
194
367
359
310
312
307
361
253
183
383
351
342
287
385
205
362
363
272
292
315
342
312
330
401
262
310
283
349
314
273
380
274
258
358
300
374
276
311
285
248
339
338
330
281
362
259
323
343
298
216
363
352
254
249
324
302
316
328
320
259
295
300
381
310
279
313
336
315
305
324
244
231
313
352
327
332
354
359
377
281
295
242
325
238
330
311
330
354
253
362
383
334
267
329
291
321
326
356
324
327
352
337
302
279
315
301
285
224
297
278
379
342
268
396
310
274
351
247
279
315
300
252
330
375
272
311
273
288
307
328
269
352
319
370
250
308
274
273
345
294
327
377
296
281
352
377
313
290
266
298
298
333
312
284
325
242
362
297
261
303
379
311
339
294
320
291
255
296
364
358
302
387
259
308
287
312
381
389
306
345
310
376
245
371
344
289
285
336
306
374
259
260
251
373
317
410
282
354
334
402
268
267
205
351
347
339
365
335
376
347
305
351
285
316
397
331
314
257
289
334
354
245
372
371
259
349
323
341
376
255
383
294
369
178
355
329
298
283
267
354
347
339
306
210
333
262
294
282
384
267
273
373
364
308
336
375
280
340
326
351
338
345
321
327
337
251
350
362
410
370
284
234
315
327
308
276
302
334
331
384
271
228
259
368
330
286
351
416
327
358
215
272
284
349
295
295
292
378
289
332
307
336
283
294
310
305
233
330
279
312
318
287
376
351
295
367
299
302
343
336
346
395
325
282
256
279
313
276
279
307
335
348
323
287
273
314
291
245
371
214
320
304
364
312
307
320
258
262
340
325
323
358
277
280
336
326
325
354
256
289
276
224
265
296
329
383
322
277
298
268
303
361
344
291
339
299
272
313
244
288
348
298
273
267
370
272
280
428
323
323
396
370
307
267
393
284
251
263
320
272
346
309
306
346
343
313
338
308
235
341
302
235
333
380
378
321
358
316
311
265
336
301
402
353
389
285
291
373
338
368
339
322
359
343
279
287
352
360
401
368
333
286
310
375
216
238
388
387
278
342
346
297
329
296
320
327
350
334
281
357
293
258
386
314
298
372
324
303
277
330
331
304
318
251
309
397
383
353
345
314
293
323
243
305
320
267
297
224
394
306
393
277
321
331
289
207
338
316
301
281
330
302
320
323
357
405
317
285
311
315
318
336
279
296
303
329
282
221
251
264
269
264
323
309
311
318
347
403
315
299
332
280
337
298
381
308
218
267
371
366
304
289
297
320
317
338
371
307
263
222
275
328
351
323
349
392
255
265
242
322
286
288
293
291
388
280
255
293
274
292
267
386
404
307
258
329
369
282
333
286
274
360
345
316
308
364
403
294
289
351
328
318
262
295
344
315
332
284
310
363
295
293
249
336
323
339
297
350
318
328
297
270
349
272
304
260
360
379
266
379
235
337
329
290
318
280
314
337
390
293
307
348
310
341
288
341
290
354
386
332
307
286
263
295
354
340
303
315
280
335
333
328
303
350
271
299
263
308
245
351
237
285
216
241
386
316
314
247
348
346
386
332
212
351
331
347
350
367
298
275
264
248
270
371
271
301
372
304
302
350
352
273
366
321
366
304
269
282
371
317
331
336
351
337
355
279
373
328
284
315
323
285
264
340
292
246
337
343
339
317
264
378
293
368
318
289
339
307
304
322
191
277
308
379
276
316
281
211
356
345
310
297
306
316
398
318
278
396
349
350
339
282
277
215
347
274
286
278
324
313
278
321
338
293
242
331
292
328
282
369
244
368
334
303
363
402
282
333
289
268
289
361
267
312
330
275
372
336
282
347
216
328
334
333
262
339
321
313
273
252
207
340
387
293
297
357
261
351
346
317
349
221
371
247
279
290
301
285
380
308
311
265
340
333
268
284
288
262
317
349
318
339
365
280
342
347
356
292
252
372
344
394
310
347
325
232
330
311
294
304
328
278
339
323
301
307
347
303
281
355
343
337
286
302
283
262
272
241
321
382
347
365
335
282
315
391
219
317
339
274
324
358
374
201
333
344
370
285
295
330
243
194
316
282
269
398
349
371
325
361
280
329
347
328
330
348
293
275
332
268
275
344
278
348
280
341
374
404
292
299
336
361
276
297
307
269
289
317
330
318
372
363
341
345
310
309
361
277
285
295
300
342
317
301
289
295
326
309
292
294
290
336
196
273
324
335
298
277
302
372
325
319
378
352
277
317
294
262
331
250
325
364
317
375
302
370
276
331
345
317
321
248
347
343
310
271
365
333
281
353
361
269
323
347
323
342
327
312
305
302
311
346
397
285
365
418
254
316
315
329
339
325
290
265
369
308
378
194
349
313
343
354
278
363
279
369
322
346
363
351
260
291
328
319
266
280
218
301
301
382
198
364
337
331
304
155
301
325
344
329
291
323
337
296
359
317
284
302
342
342
291
247
272
315
314
343
392
313
339
316
342
337
339
321
311
339
351
339
302
265
360
263
346
256
331
352
199
313
351
342
235
414
319
316
286
317
338
285
351
347
316
281
353
309
311
325
296
313
305
245
235
406
313
324
351
218
268
346
266
337
314
193
264
297
326
266
331
293
332
238
324
296
456
330
288
323
338
333
280
270
316
260
281
368
296
349
255
330
320
282
383
318
320
239
274
255
308
324
312
393
339
346
289
265
345
277
336
371
317
288
368
222
343
334
289
246
256
255
340
263
357
321
272
326
282
302
307
301
349
331
362
302
331
316
276
319
326
340
240
353
275
314
348
393
338
300
312
322
333
256
270
360
224
292
298
316
295
303
362
303
371
343
316
390
347
215
263
330
326
291
283
389
367
295
290
325
366
310
282
299
364
379
388
359
401
356
346
336
305
244
309
295
378
333
318
308
321
359
274
325
360
309
316
269
304
226
313
394
316
339
204
260
315
286
216
298
207
265
331
340
292
177
369
417
317
343
277
405
400
329
316
376
225
346
365
288
303
251
376
405
314
231
343
357
377
321
394
359
341
302
269
393
344
288
315
268
379
320
251
276
202
338
381
289
296
378
392
307
213
272
310
383
249
310
308
316
214
275
411
266
369
362
378
291
335
345
346
360
322
305
281
252
306
356
372
309
254
295
280
242
313
284
264
269
339
353
352
281
277
265
335
281
301
368
259
319
367
341
331
351
338
368
310
335
370
316
333
371
372
293
313
283
329
384
322
314
395
263
358
284
364
305
284
274
355
344
346
355
316
302
333
352
309
204
328
289
278
311
333
355
331
355
365
307
226
353
312
318
237
299
396
288
268
262
324
357
306
234
314
375
343
349
345
249
332
345
325
354
336
307
329
300
315
314
336
325
290
387
395
406
278
384
276
306
320
312
370
378
301
308
267
241
289
299
285
308
359
279
401
291
343
327
308
291
304
242
314
299
325
246
341
385
274
206
258
320
340
278
378
276
336
366
238
300
223
329
321
334
245
278
348
370
352
225
328
332
347
386
295
411
340
337
296
282
393
285
398
332
290
402
352
268
396
385
307
282
310
280
308
240
376
398
361
337
315
210
320
303
260
321
284
328
288
287
323
234
388
364
236
361
372
274
315
271
337
274
234
282
253
236
331
343
356
205
308
295
188
228
315
361
281
229
338
343
305
371
269
305
329
261
283
340
291
352
267
272
336
319
362
324
215
257
254
219
222
286
249
286
366
302
351
356
380
316
335
300
345
280
329
308
325
378
324
202
416
328
303
310
309
289
268
373
329
324
254
211
275
268
294
301
308
302
321
361
223
341
240
418
307
323
288
339
364
270
276
395
433
256
410
278
254
285
371
320
335
252
299
366
363
315
346
220
234
318
270
371
297
366
241
263
349
342
326
330
248
265
335
284
334
339
379
268
400
307
339
366
344
298
364
244
388
258
373
362
271
271
321
310
281
350
256
274
311
331
261
390
368
301
267
368
344
297
294
365
303
282
273
347
414
308
318
304
351
359
320
293
338
334
238
345
307
295
301
373
382
267
343
356
333
255
267
284
195
273
288
267
274
280
275
278
245
311
266
245
356
295
304
324
387
361
380
304
262
281
317
335
262
259
333
226
273
405
311
299
336
417
293
362
354
237
361
342
267
292
261
338
284
292
245
340
391
361
295
390
286
390
292
319
327
350
310
288
274
314
297
277
364
334
407
265
404
356
354
370
231
306
338
254
310
266
286
364
360
349
401
227
342
360
352
330
230
343
367
332
362
300
332
307
223
315
353
219
274
368
325
396
372
321
378
363
302
365
317
354
365
374
331
279
223
329
318
361
329
235
370
383
310
314
281
292
326
306
340
297
315
276
357
307
299
335
375
374
353
388
276
417
329
290
295
300
310
322
383
317
308
305
330
366
333
324
355
313
292
282
319
324
308
350
279
312
307
281
347
362
336
336
345
257
354
278
336
336
314
283
330
283
349
431
310
276
364
296
328
320
291
295
287
316
287
242
330
307
355
326
327
364
264
337
328
404
262
203
373
372
303
304
253
281
310
276
286
412
257
335
353
328
392
327
267
315
336
351
310
341
356
307
300
318
319
318
300
313
313
317
313
297
313
304
310
357
336
281
334
232
280
224
366
350
313
346
363
294
271
354
305
327
327
315
324
285
274
313
360
308
272
334
254
309
334
326
341
302
310
240
333
360
301
331
279
286
291
280
289
358
297
319
340
280
194
345
359
314
230
390
324
323
263
395
310
379
328
418
316
258
312
347
212
391
300
291
300
377
318
303
380
336
300
317
258
317
238
282
251
307
302
335
257
314
337
254
360
321
330
371
360
323
347
388
304
235
345
323
329
210
289
337
295
241
305
326
305
371
323
263
330
349
369
350
333
303
263
355
307
286
325
297
393
255
322
366
269
249
330
286
325
318
281
373
223
250
275
325
300
302
337
377
281
301
335
326
330
313
321
352
222
332
330
311
345
357
321
326
300
346
283
338
431
251
347
328
311
378
274
280
342
331
266
357
311
240
296
322
295
274
314
329
358
340
276
311
328
309
259
308
307
285
252
352
287
315
355
329
316
303
225
291
341
299
412
291
374
283
261
327
360
367
281
309
366
309
342
294
337
314
350
351
289
243
380
315
263
272
346
353
288
259
306
316
306
315
326
367
400
245
335
292
373
368
246
337
407
352
329
352
273
336
290
368
283
331
355
357
252
312
352
289
258
297
350
352
291
355
403
280
390
255
290
323
297
356
325
220
252
328
295
294
358
289
307
310
246
319
261
308
299
275
318
277
296
327
342
379
321
390
336
353
353
280
330
361
303
375
363
387
268
252
354
317
352
335
317
329
334
317
265
315
275
326
389
320
244
294
285
405
312
282
381
374
318
323
292
275
360
290
287
250
317
227
370
324
392
341
316
285
281
343
237
310
309
299
302
278
263
340
412
295
297
332
384
342
304
325
411
411
407
291
301
362
357
318
269
300
318
375
334
307
416
278
306
372
298
386
287
315
437
298
318
354
329
350
299
334
338
314
311
271
272
279
255
314
292
376
305
317
367
273
330
259
323
325
342
361
280
246
292
380
320
293
311
234
362
331
308
327
313
270
347
330
286
402
273
325
344
345
273
258
220
399
306
392
265
310
418
255
274
329
307
331
358
247
348
252
325
283
392
310
260
328
305
350
303
325
371
301
304
219
327
321
267
259
210
320
319
255
271
388
398
281
377
310
341
322
346
296
375
253
348
282
357
289
265
293
325
320
267
210
224
283
287
428
344
372
367
335
320
293
268
330
324
321
289
265
283
292
338
290
294
299
312
321
299
306
292
265
354
221
349
286
255
294
293
251
267
321
325
258
421
288
287
295
306
315
325
333
382
374
368
315
362
276
317
341
306
332
354
263
307
303
343
384
395
297
330
347
240
375
343
406
278
274
267
344
332
350
333
263
364
247
292
378
320
340
395
259
397
383
311
387
349
331
339
342
294
245
228
367
283
320
327
402
348
330
274
309
328
408
372
247
308
322
339
336
272
264
341
309
346
375
373
187
401
299
270
309
386
298
295
305
346
296
388
358
322
255
373
335
332
260
387
371
275
331
362
334
307
278
417
300
266
216
332
308
345
326
363
344
335
317
351
293
338
357
373
310
350
302
299
244
326
274
343
339
315
321
268
355
301
384
315
323
345
367
318
282
322
337
248
322
319
295
351
300
253
356
308
349
330
326
357
336
209
337
359
304
321
259
348
296
294
358
325
282
287
308
327
318
202
297
317
368
367
345
334
329
345
288
316
244
287
271
279
322
302
254
334
290
313
362
357
308
304
353
292
234
351
362
301
270
317
287
334
379
253
352
309
409
302
288
332
312
302
307
362
379
351
309
344
285
258
331
315
338
355
297
305
345
373
300
330
285
271
283
236
316
256
303
344
336
263
303
383
292
281
195
386
318
403
327
314
274
307
344
305
348
274
305
338
324
301
358
356
315
312
228
351
311
383
317
309
340
302
244
331
341
266
285
282
266
361
325
341
299
297
299
345
322
339
330
326
261
359
247
199
324
320
256
254
255
343
307
266
315
367
283
367
343
340
281
254
244
362
336
343
282
287
374
322
294
300
395
323
346
368
332
302
352
273
322
291
331
341
306
223
317
231
313
409
296
293
279
351
349
382
360
307
294
375
311
348
327
347
350
311
294
285
336
323
335
333
325
287
340
352
269
312
351
357
320
158
282
341
355
317
333
319
400
284
367
299
236
267
230
320
374
343
328
368
260
356
338
366
277
365
262
287
307
328
318
240
281
279
370
385
326
319
321
306
270
301
288
314
355
288
290
297
345
298
269
317
357
374
265
264
346
273
274
412
347
364
337
313
292
316
368
344
211
388
372
308
394
373
356
277
347
260
203
298
315
301
324
308
404
400
287
366
271
283
276
316
249
338
346
335
278
379
238
293
347
324
375
295
303
322
364
313
344
343
318
351
243
340
326
304
321
333
249
294
276
300
252
289
354
229
362
381
303
317
290
366
280
269
339
381
212
252
247
315
269
267
217
306
305
337
280
340
276
281
330
282
324
318
335
301
307
250
237
301
288
360
225
384
315
282
293
450
228
307
190
288
288
372
288
389
304
376
286
256
330
349
341
362
306
264
362
250
339
286
311
335
240
290
380
271
287
336
313
299
409
353
374
268
337
370
270
312
385
356
243
264
322
276
312
344
331
253
264
354
311
350
395
265
306
346
302
320
424
292
302
302
330
227
407
277
261
332
291
285
292
382
362
293
299
327
373
279
319
390
326
235
319
274
375
366
340
434
259
362
354
261
314
280
269
331
306
346
278
332
301
376
349
365
312
340
395
306
422
409
328
299
342
323
324
265
400
265
283
372
358
316
276
329
334
339
316
321
373
248
410
316
316
294
301
285
292
305
355
354
314
300
358
318
390
325
350
290
270
360
368
340
262
236
290
279
255
285
298
315
276
315
339
326
234
297
200
369
383
288
258
283
239
289
320
276
338
337
273
269
276
246
235
291
331
347
261
295
397
346
287
306
333
304
273
379
285
305
353
371
362
337
364
287
338
357
244
299
378
333
383
418
299
289
262
280
322
352
315
405
369
322
269
302
315
233
278
274
364
286
317
348
362
347
370
375
325
294
259
274
392
323
345
300
305
257
392
317
383
280
370
288
317
364
361
338
320
322
251
358
340
249
368
299
346
282
374
222
329
318
346
309
390
340
311
333
341
292
298
293
273
331
332
329
315
257
258
350
280
389
384
343
299
305
217
386
365
312
295
291
359
339
264
362
318
302
322
367
373
321
305
307
289
284
332
336
287
322
396
288
332
297
293
345
328
352
356
238
276
332
337
337
306
349
248
236
254
263
388
319
362
356
225
325
332
318
390
224
340
259
427
248
274
296
315
276
309
294
320
359
271
382
318
382
326
341
290
300
242
239
268
331
318
422
357
263
373
352
347
355
286
304
280
336
394
309
255
272
287
306
334
258
341
322
312
347
339
353
296
305
336
293
270
237
239
261
311
331
328
323
320
359
399
301
272
323
392
334
253
357
327
336
327
350
326
339
279
227
325
324
298
274
294
377
269
338
190
339
319
381
312
390
335
298
368
291
273
335
273
327
338
330
246
373
313
291
356
260
335
450
249
305
225
296
302
294
336
329
292
264
238
211
241
318
350
204
348
314
286
357
237
368
350
327
355
384
297
278
345
364
367
304
427
293
220
309
379
345
272
225
354
278
242
352
312
299
384
351
326
357
252
275
311
289
320
227
302
253
250
269
330
358
273
316
342
291
359
311
221
282
394
358
312
289
293
312
271
307
223
314
366
235
258
297
298
300
284
286
240
327
319
344
422
275
381
349
265
320
345
409
243
394
293
305
393
298
271
311
292
365
312
219
357
330
247
259
351
337
307
328
297
275
276
310
264
284
286
336
289
285
374
356
251
390
329
372
351
347
327
225
307
389
312
275
319
368
366
338
184
258
260
308
334
264
291
326
231
259
302
308
312
245
330
283
314
276
311
321
293
259
365
292
322
316
291
345
276
337
248
437
295
309
373
283
320
414
332
327
258
314
364
302
285
297
278
340
285
374
313
338
327
408
299
355
418
261
318
370
332
340
322
348
377
343
282
351
339
319
329
329
279
266
284
273
334
282
390
329
351
370
284
291
320
303
308
355
298
240
293
356
314
323
271
269
285
287
380
256
218
331
309
233
332
290
343
352
282
369
282
315
261
278
314
295
323
302
280
334
291
331
316
372
319
339
325
367
313
312
328
343
356
371
314
325
231
334
377
307
308
254
282
330
313
317
410
394
283
309
289
256
284
274
361
299
313
292
294
352
274
339
337
309
318
319
255
313
304
405
256
302
225
214
358
313
298
246
287
316
311
297
312
402
282
337
319
215
237
324
281
299
269
320
284
325
288
348
265
375
323
373
307
335
372
415
218
259
331
310
318
393
286
328
347
304
311
212
290
247
367
309
379
239
283
369
229
310
332
393
291
332
319
279
233
300
328
402
312
252
304
379
288
346
354
284
370
282
350
272
339
374
314
319
388
441
322
316
276
289
330
299
270
330
368
301
257
280
331
317
282
373
301
433
296
443
253
297
254
389
277
271
321
331
381
304
289
381
323
366
272
273
302
271
298
339
404
270
303
328
383
282
261
290
471
343
345
268
224
336
386
291
329
316
217
308
307
316
362
328
328
295
270
269
323
304
299
309
289
228
227
269
338
239
256
280
271
345
324
265
309
373
251
353
370
294
330
350
355
350
378
308
272
283
364
316
250
388
225
340
261
270
293
400
364
376
238
332
423
266
336
351
280
369
289
291
240
355
311
264
274
204
276
300
351
237
329
355
343
357
328
266
365
320
308
340
374
372
282
348
224
328
341
384
345
318
331
312
254
267
278
366
302
306
386
398
337
235
315
224
302
274
376
340
325
259
311
359
289
289
291
298
377
311
287
300
315
315
351
300
344
207
296
309
372
389
306
400
330
364
283
334
297
312
313
308
273
327
284
253
308
307
315
316
320
276
262
351
315
279
244
332
297
317
342
295
348
344
364
280
299
332
310
366
256
295
345
275
346
347
255
384
283
329
411
339
263
282
249
360
244
345
277
276
352
310
277
364
359
334
311
272
307
327
365
378
359
259
313
363
301
330
339
322
252
358
347
400
309
257
280
301
332
338
319
285
369
360
309
319
364
285
322
294
300
275
228
272
287
270
306
244
318
325
250
201
313
245
242
328
258
255
334
312
369
343
298
262
362
250
316
309
332
377
296
267
326
282
300
286
340
344
304
361
267
304
365
329
282
290
320
299
371
354
303
294
320
301
354
322
264
304
285
331
236
297
273
361
295
391
392
337
295
249
310
353
300
281
385
326
326
291
364
304
303
321
360
286
315
319
353
254
332
359
267
351
167
306
380
298
295
307
341
345
230
382
233
232
293
291
315
336
293
299
293
408
419
262
297
219
323
344
238
244
355
371
331
299
310
355
273
361
301
340
360
396
280
220
350
219
359
325
379
302
330
399
315
381
250
325
360
348
193
250
350
275
368
287
276
267
261
227
324
272
281
300
301
297
284
352
359
291
276
377
278
332
340
295
338
324
282
354
246
295
407
274
352
283
282
349
344
279
327
350
354
271
404
201
226
359
326
276
385
331
210
220
336
304
350
280
311
312
290
281
395
337
355
353
342
335
284
347
228
391
345
388
295
339
326
370
331
326
325
261
333
287
291
370
306
304
300
321
313
332
326
273
367
352
359
339
308
339
327
337
299
296
235
313
293
298
385
315
291
372
400
326
337
355
392
347
293
274
289
342
369
295
242
303
273
208
293
227
322
240
313
380
326
339
271
240
305
293
298
332
288
236
389
308
272
321
311
219
295
378
346
284
275
317
382
341
277
299
371
291
308
234
332
203
288
245
370
338
377
344
277
279
278
254
339
286
387
283
319
364
293
319
182
330
296
257
252
352
307
338
310
202
328
287
251
340
250
360
230
335
377
248
411
364
319
314
314
378
342
288
285
281
278
217
309
399
307
288
362
278
230
318
317
298
357
409
327
326
376
369
361
321
363
242
330
297
338
290
377
340
372
317
329
289
252
360
335
355
353
345
297
257
308
321
364
417
314
309
323
297
330
275
319
360
321
308
316
349
236
239
287
335
382
361
340
318
304
338
269
300
297
333
298
287
325
343
263
315
270
343
336
338
326
379
315
252
336
257
273
237
268
340
382
231
349
332
261
336
315
379
391
318
332
255
310
375
310
307
205
276
375
321
267
292
329
314
254
195
367
355
348
342
301
326
318
301
364
294
219
337
287
399
316
376
339
314
330
301
312
301
326
320
266
293
313
370
223
366
305
261
335
311
173
357
351
313
451
267
341
295
266
272
342
299
210
340
298
323
397
314
367
321
373
320
219
384
317
352
276
309
365
262
389
283
307
280
293
281
312
332
270
265
315
294
175
246
288
301
402
354
304
358
253
308
360
342
266
377
421
321
295
312
271
383
269
328
377
304
337
322
265
204
343
316
386
324
283
291
317
285
294
276
349
267
309
267
277
352
293
289
267
345
318
285
395
301
291
367
349
285
319
332
306
281
307
305
253
361
328
304
368
284
267
295
344
350
312
333
381
307
281
310
340
382
292
291
338
337
304
300
386
335
336
327
326
290
353
301
319
299
325
329
337
357
263
336
249
322
360
359
341
283
230
320
314
342
403
320
255
217
320
290
348
244
275
297
324
284
344
368
371
257
361
352
363
314
329
326
311
303
303
287
319
378
429
322
302
281
280
347
252
298
345
371
314
299
329
265
311
298
359
370
276
305
334
367
325
293
274
292
301
226
325
295
348
363
320
283
231
238
265
312
272
324
260
343
328
365
234
387
318
311
319
339
368
372
358
274
417
279
335
286
232
362
367
311
305
324
294
322
339
286
318
386
338
325
254
339
371
324
306
326
279
306
182
270
263
308
309
337
288
366
351
317
214
369
338
311
320
249
366
287
253
300
288
311
285
315
281
237
364
280
269
335
305
312
331
298
330
358
310
339
229
306
320
260
315
383
278
261
312
315
230
349
269
289
270
312
336
296
307
375
328
290
347
294
291
341
293
401
303
368
375
379
313
240
330
251
270
297
309
317
362
296
349
247
284
340
303
316
304
259
310
322
366
362
340
219
319
395
310
278
267
369
267
340
264
280
275
271
323
167
325
344
328
345
324
388
274
403
359
379
271
301
324
312
252
257
363
268
377
228
253
273
302
317
272
366
285
306
353
377
347
331
303
278
243
288
373
316
302
358
221
258
250
350
313
338
364
351
353
366
329
308
296
358
251
327
263
282
295
317
270
345
321
210
292
311
279
365
353
286
209
206
365
342
309
237
319
231
338
357
296
365
311
326
330
352
252
360
334
224
303
367
300
227
374
344
287
352
277
347
291
253
324
243
242
330
298
322
320
294
336
308
262
348
319
304
316
372
400
397
235
289
280
297
362
373
296
364
341
258
366
297
325
317
344
281
306
293
263
245
315
355
308
252
328
409
382
383
335
374
391
307
240
279
288
306
332
350
375
328
334
235
304
386
333
308
266
345
348
343
284
401
330
287
294
337
328
210
330
325
282
291
313
276
266
401
331
298
335
305
277
305
430
329
348
246
273
238
358
358
271
314
363
306
318
237
268
363
299
306
332
403
348
342
320
273
313
330
370
215
326
270
256
359
321
310
303
274
284
261
294
298
237
369
295
279
375
314
291
268
262
267
282
399
358
397
392
398
346
293
316
329
322
290
327
326
287
296
328
276
385
271
290
262
308
303
315
265
340
231
230
353
377
343
312
293
283
344
313
302
294
292
268
302
314
313
273
333
349
351
344
330
300
333
303
256
217
280
320
408
267
251
287
300
332
430
330
320
355
353
356
288
290
280
244
298
259
312
311
302
343
319
359
310
334
258
215
294
318
183
291
335
329
388
300
366
290
376
238
340
268
292
374
208
285
356
260
334
350
320
318
314
390
339
262
328
273
376
297
306
349
357
357
267
284
303
285
271
288
385
377
301
393
305
341
275
303
414
281
316
358
329
402
334
291
351
423
389
404
282
243
312
321
344
305
388
311
269
298
324
425
289
289
272
361
368
375
344
369
352
354
340
330
331
315
259
338
294
348
303
319
369
349
273
314
240
324
343
310
343
284
408
329
283
292
372
243
284
241
263
304
335
371
319
321
307
271
282
323
337
406
296
375
397
185
288
411
353
301
330
262
307
344
285
234
311
205
315
355
387
311
277
283
217
327
340
328
324
295
222
342
279
361
356
332
304
240
374
319
315
288
267
274
361
307
285
262
319
239
227
219
236
335
299
275
264
280
359
251
334
320
347
278
303
307
261
289
347
367
308
454
341
249
301
312
299
283
342
390
260
340
334
313
337
293
354
297
311
325
310
323
328
372
296
389
328
274
330
246
407
312
334
301
258
269
275
323
321
389
373
308
301
257
230
318
263
333
365
332
284
336
306
218
264
394
281
387
275
405
273
280
317
335
262
408
363
244
336
251
372
313
330
328
259
332
238
244
426
254
284
281
347
264
254
298
267
342
394
354
313
273
262
358
232
318
378
309
291
379
293
340
337
269
355
330
364
368
261
337
288
261
256
323
313
356
323
336
293
255
334
350
348
281
280
312
318
301
267
328
304
364
337
274
325
316
311
393
244
272
360
297
335
288
319
325
334
315
322
326
345
316
323
298
345
344
356
294
294
358
259
326
413
300
293
332
337
338
280
258
307
348
378
323
310
332
294
293
403
312
340
288
286
247
329
371
327
314
340
302
337
337
278
379
373
282
328
329
290
274
364
363
366
369
289
259
356
243
265
340
297
298
351
237
296
298
352
284
256
306
200
265
372
352
376
203
263
308
263
256
317
391
292
294
309
217
307
352
301
246
317
274
354
322
327
326
310
349
380
330
353
396
350
342
376
351
322
269
408
308
337
229
326
333
370
304
387
345
255
310
325
264
280
297
258
340
322
301
331
376
204
361
242
338
244
346
301
321
335
315
295
387
314
313
299
358
320
285
321
311
322
263
346
316
346
384
313
268
313
369
397
187
280
347
358
349
296
345
267
336
280
297
339
319
323
307
331
363
324
293
367
286
374
313
315
337
261
345
289
257
254
301
293
267
321
375
316
326
384
309
247
301
195
356
203
264
311
314
405
312
366
278
352
353
334
340
298
348
301
292
341
318
284
331
305
240
312
303
270
293
328
295
274
348
268
355
269
275
345
330
216
285
308
348
279
299
309
310
330
332
345
271
291
295
295
310
314
435
226
263
276
319
336
306
332
273
370
264
346
304
211
236
376
350
287
338
270
289
315
257
337
313
356
330
230
336
272
286
271
276
326
302
313
272
355
336
298
380
353
334
353
223
305
365
299
298
307
305
358
289
252
402
412
244
289
317
273
302
361
333
317
289
389
237
317
373
287
252
354
386
348
289
339
382
268
327
319
371
228
299
240
328
295
254
287
252
264
299
371
360
246
254
220
360
292
379
355
243
332
247
249
323
330
264
325
292
279
274
337
302
280
343
328
345
205
361
308
332
290
395
313
367
313
358
258
324
274
393
358
271
262
307
301
316
362
283
302
380
405
325
353
225
358
279
320
322
255
273
353
261
437
332
274
323
378
348
257
372
277
364
341
401
347
288
367
361
374
337
371
272
368
284
328
283
325
347
286
266
263
277
325
269
332
329
340
317
317
288
314
339
331
284
312
394
284
267
315
294
348
255
301
277
298
323
330
359
288
303
379
333
337
362
327
291
258
341
348
366
328
309
336
288
276
319
399
348
360
259
355
309
354
423
286
346
347
319
384
262
318
354
328
297
224
283
273
338
322
274
258
301
387
344
299
275
270
357
295
231
356
235
274
304
259
336
250
343
386
272
399
306
295
331
335
305
305
274
329
330
317
378
325
194
305
216
318
293
330
320
351
384
280
334
361
350
309
308
363
255
337
372
334
265
272
414
375
249
376
329
292
397
269
256
365
273
291
242
333
266
239
278
339
316
272
357
276
274
308
358
291
242
291
269
289
330
340
302
245
287
350
304
321
313
220
295
295
291
201
329
328
347
291
341
303
377
398
312
411
263
267
279
379
311
299
365
311
285
316
290
259
243
359
352
301
303
308
362
247
322
305
333
330
356
281
378
345
344
366
319
197
324
320
304
223
328
225
279
325
268
337
321
362
254
272
320
207
281
331
341
335
349
326
264
341
324
338
361
296
374
333
361
359
285
271
274
375
305
260
311
378
208
392
313
329
351
346
388
367
228
358
375
300
345
275
292
292
191
286
325
198
328
268
381
267
333
331
316
306
214
256
321
261
333
342
289
254
355
270
332
275
310
247
330
306
386
295
289
314
333
364
312
337
320
325
310
368
388
201
343
250
371
334
319
271
229
355
259
370
297
359
394
310
337
306
317
350
363
381
321
270
365
284
292
328
364
321
228
254
389
349
356
324
198
369
350
236
335
328
347
260
245
291
345
253
342
415
346
253
265
297
305
224
320
335
304
306
312
286
288
310
263
252
306
261
280
318
325
347
290
331
276
243
374
321
334
313
259
341
294
337
375
332
296
360
315
284
414
317
285
307
283
266
324
363
350
249
321
341
254
340
344
277
354
271
353
326
235
303
306
304
256
295
346
334
329
282
308
322
301
377
243
304
351
314
316
276
334
296
260
304
359
291
367
331
374
289
364
350
263
339
397
304
284
350
212
240
363
300
385
273
250
245
321
355
276
347
279
341
272
284
274
389
286
419
312
329
175
327
334
369
292
285
236
303
248
266
244
277
284
309
287
315
252
274
264
228
336
335
360
312
276
303
262
309
362
324
316
344
283
294
390
254
396
254
350
357
242
337
336
292
322
299
319
286
286
341
341
370
285
397
242
341
344
267
298
336
407
359
256
285
318
240
276
324
290
251
364
351
336
213
297
305
361
318
304
243
292
278
377
300
336
288
368
249
322
354
308
303
271
250
256
372
367
315
326
314
289
367
401
239
335
382
324
364
340
254
277
320
315
335
338
295
255
313
301
341
329
358
318
266
303
351
326
302
288
334
426
330
332
424
358
361
277
313
323
313
347
317
296
303
370
292
360
301
338
289
288
277
348
283
328
262
309
285
244
321
285
356
294
332
350
330
342
396
354
379
312
327
362
284
361
313
233
276
314
332
355
327
362
298
313
415
275
325
378
309
218
329
268
248
289
336
311
353
327
258
349
320
329
362
311
341
329
255
438
311
345
348
242
355
358
150
408
392
330
271
337
356
279
314
306
293
363
309
317
295
266
262
227
334
374
369
324
269
322
314
373
369
414
318
323
322
330
305
261
340
301
353
360
260
278
408
403
253
276
301
238
317
329
329
301
352
304
335
229
331
352
347
344
291
285
326
287
220
330
220
257
363
395
312
288
278
342
364
267
362
329
369
385
200
278
253
316
311
371
204
391
376
320
366
352
297
315
316
371
336
264
375
263
271
329
303
348
250
319
423
311
326
415
307
388
360
287
211
306
341
374
312
332
364
342
373
368
406
321
264
295
327
305
304
252
287
291
324
320
374
322
334
368
322
315
287
268
227
297
287
275
297
324
372
337
309
254
297
284
315
244
350
301
273
365
356
331
209
293
328
305
335
265
282
338
233
329
326
281
367
311
350
323
333
297
368
318
296
341
268
333
301
346
297
346
307
290
309
410
437
336
261
364
326
266
295
300
321
349
362
336
344
350
206
278
253
297
319
298
310
249
345
346
319
370
245
239
268
351
392
381
253
342
320
368
249
343
302
286
236
342
386
360
352
318
292
243
376
275
177
380
351
355
277
375
293
310
383
329
269
308
319
372
353
285
369
340
270
286
258
297
308
292
231
219
340
377
299
312
312
378
283
280
298
251
234
284
346
245
316
276
329
380
277
333
287
325
362
374
318
283
306
350
377
317
372
318
244
310
303
343
311
225
364
244
314
300
276
377
350
365
345
361
367
378
305
371
310
370
251
314
287
362
382
290
359
310
313
293
261
380
342
278
293
285
273
355
338
224
267
293
346
282
355
278
374
400
240
343
321
295
325
296
321
293
311
336
380
327
290
348
329
279
345
318
281
348
278
292
309
216
285
317
339
328
345
358
264
296
271
212
375
344
304
372
351
335
352
222
209
311
333
293
322
392
310
321
328
236
322
304
170
317
289
384
289
304
383
319
346
264
374
346
329
271
347
349
313
377
202
327
364
206
284
272
219
288
357
303
301
242
339
287
220
294
363
308
333
271
278
358
335
320
249
325
363
322
346
343
270
321
313
392
323
364
330
294
392
326
342
272
288
298
332
398
386
259
304
355
335
305
340
249
357
259
333
291
301
322
282
278
393
294
311
238
258
280
267
284
357
260
358
344
303
352
340
313
311
346
273
302
309
242
375
290
287
228
417
279
281
300
351
342
318
298
348
267
344
353
311
412
215
322
335
311
309
367
293
297
319
259
293
219
232
291
364
313
297
255
245
320
313
337
306
296
396
287
378
246
358
329
363
365
255
236
264
313
295
283
318
322
302
215
337
291
289
287
287
242
435
354
344
385
314
341
349
325
318
228
265
340
263
364
326
312
295
284
335
368
241
357
302
267
282
255
325
346
321
349
244
412
284
370
309
352
343
347
278
280
345
343
310
309
262
309
351
330
306
332
349
379
388
314
281
319
358
335
288
314
318
392
329
322
377
256
330
348
310
326
273
310
314
253
276
340
322
318
362
271
355
267
326
252
309
323
374
270
411
265
409
299
376
357
346
407
300
395
262
307
290
430
331
367
229
371
347
294
283
388
306
325
300
259
293
285
315
281
303
346
229
293
333
324
358
330
315
329
305
324
255
302
265
310
373
360
226
351
293
345
343
229
313
289
285
414
381
312
316
334
227
325
322
291
320
247
318
315
305
327
321
334
297
309
277
268
256
305
366
298
346
353
371
359
258
339
331
321
339
333
275
310
387
383
420
354
315
331
378
301
285
251
340
338
274
270
345
336
292
299
297
234
309
265
279
347
248
339
334
257
286
398
292
311
259
288
277
269
198
300
381
260
299
354
278
250
399
368
277
246
285
377
334
351
295
235
324
208
309
356
319
292
325
298
276
366
317
307
297
326
287
338
280
275
302
317
297
267
332
355
310
408
343
321
301
335
349
287
339
274
340
234
284
253
353
293
340
343
306
276
349
315
424
228
311
301
320
391
412
350
333
320
342
299
274
328
390
285
336
381
274
287
339
364
279
321
310
305
284
334
341
211
348
338
247
273
273
359
336
404
373
416
277
320
382
318
371
363
340
345
361
293
247
314
294
344
319
364
288
322
341
293
405
335
395
353
333
413
402
363
311
320
269
254
312
376
300
393
331
413
347
305
327
321
323
357
337
346
300
323
358
218
402
315
323
340
347
373
253
355
294
295
308
305
282
160
286
288
302
268
406
314
259
386
347
309
355
292
165
381
352
283
318
369
221
382
365
294
310
334
341
268
305
318
320
311
330
320
280
352
251
247
269
284
392
198
266
325
258
303
220
361
265
215
340
368
344
381
290
364
323
318
343
416
303
261
348
262
299
216
356
315
254
317
292
411
374
266
292
382
354
257
320
286
381
331
345
293
260
269
354
351
272
321
325
298
334
370
335
345
359
367
277
335
360
332
381
329
320
301
291
197
336
273
331
290
273
324
271
316
323
269
341
367
300
232
330
348
252
311
245
358
346
351
324
206
222
306
333
373
288
337
364
322
316
347
353
324
340
336
320
254
390
250
279
264
301
324
340
380
269
391
441
279
329
275
348
286
298
332
291
268
371
330
359
369
403
393
316
351
274
342
298
287
359
246
357
381
335
294
335
208
320
261
345
274
293
215
294
364
311
347
246
312
324
297
380
327
272
293
311
380
311
360
340
331
335
340
266
262
338
325
346
329
339
323
291
280
272
281
270
348
311
373
368
268
353
331
361
282
342
363
307
356
303
370
250
273
301
197
284
393
347
286
347
395
317
297
394
356
346
261
328
315
303
332
323
267
326
343
303
335
174
228
356
324
328
321
296
294
279
321
319
398
310
317
315
278
350
240
318
276
275
380
267
334
412
311
237
368
289
339
324
337
406
369
371
281
353
327
256
294
334
379
285
231
330
244
360
403
358
289
350
304
337
295
228
241
327
316
344
206
277
290
328
285
259
328
265
372
199
251
333
250
345
312
389
237
264
328
339
373
351
319
411
351
363
323
308
403
366
338
276
348
347
271
285
237
393
315
320
372
295
329
291
407
320
376
273
300
361
303
281
334
314
324
309
297
363
362
327
302
294
266
394
373
328
334
287
326
407
335
321
370
258
326
319
305
189
295
389
364
294
250
243
254
289
258
319
306
285
390
281
323
258
276
280
300
323
254
360
358
404
293
357
331
341
337
353
354
368
279
235
345
362
278
310
318
346
302
366
341
274
341
367
372
238
276
381
366
376
350
286
349
291
287
321
318
279
326
280
262
322
245
277
303
356
422
296
370
283
308
318
277
293
394
333
233
285
272
345
301
165
271
344
287
363
366
306
271
287
248
293
327
337
334
332
333
352
269
330
354
351
323
337
293
290
333
296
294
358
289
300
274
319
303
356
412
370
298
317
367
313
342
330
323
319
250
341
304
409
230
330
268
420
285
352
297
349
307
377
358
345
362
290
336
324
348
331
370
291
294
300
254
391
307
338
340
342
288
269
259
300
300
318
318
333
310
329
303
347
300
368
346
305
255
329
278
346
343
309
286
306
294
345
277
362
310
215
282
321
280
261
342
241
332
297
341
369
298
342
371
312
330
276
299
339
348
315
287
333
296
370
346
261
283
255
300
278
315
360
306
290
307
252
342
304
303
396
272
317
333
358
357
308
274
276
328
353
404
332
311
412
325
324
234
286
358
354
231
376
324
388
400
322
333
290
241
263
314
320
220
283
316
320
371
287
286
273
313
269
228
353
337
274
300
313
345
285
327
379
252
250
186
242
408
291
257
310
302
361
308
347
318
359
396
260
340
323
361
330
294
313
340
320
338
182
312
285
282
291
262
288
322
331
323
328
304
304
283
367
284
397
245
393
280
351
380
335
359
322
252
368
265
245
259
272
310
344
299
270
311
288
210
313
293
263
357
334
340
191
257
266
267
322
302
302
281
328
324
297
323
357
287
371
325
361
346
301
348
293
294
315
327
294
304
380
291
374
350
380
319
292
343
263
393
270
295
387
320
283
338
263
351
399
268
330
314
297
395
323
369
236
327
275
194
380
292
320
301
324
367
321
309
351
355
360
363
308
337
295
386
289
259
372
263
330
301
329
380
357
276
232
294
341
374
344
388
336
312
301
342
383
332
256
404
354
232
307
281
319
313
263
324
308
279
352
279
380
354
320
363
383
368
294
304
219
322
326
261
349
307
356
263
306
305
287
319
349
374
286
313
278
342
322
247
232
253
289
289
306
247
243
374
281
310
340
328
264
275
327
364
305
337
296
256
278
351
363
354
321
290
382
229
372
285
346
386
259
236
320
318
375
351
334
296
291
375
292
335
380
270
310
375
304
301
335
256
354
251
294
274
326
248
273
193
307
353
356
303
325
275
382
335
313
336
300
369
282
291
374
338
350
383
234
304
382
284
335
255
354
349
344
387
285
234
334
272
373
413
334
358
284
279
333
316
377
359
365
313
347
325
315
372
335
391
304
291
311
275
325
278
324
303
299
320
307
273
360
395
284
312
392
245
347
398
220
311
337
331
301
354
221
352
308
333
239
322
286
372
276
240
314
293
239
293
345
316
234
327
302
350
239
296
391
333
364
313
208
285
363
299
340
325
355
389
344
363
398
297
305
279
352
332
297
324
270
271
313
309
313
351
272
367
361
227
408
298
257
383
315
253
378
283
302
351
359
356
349
255
345
352
244
341
378
359
400
264
288
300
327
421
403
293
339
299
264
374
315
265
223
357
361
315
240
315
285
350
348
306
290
258
237
355
316
365
312
405
350
176
230
337
308
316
318
363
328
254
399
351
254
391
328
371
281
316
420
284
341
292
212
327
368
333
328
287
301
215
276
339
323
330
322
404
357
305
312
236
366
302
327
375
258
241
304
367
342
333
244
342
354
344
351
242
231
307
346
266
340
334
341
311
353
320
388
333
367
354
360
289
326
345
271
335
316
237
324
300
257
326
314
343
240
247
207
362
373
249
312
357
277
295
399
295
225
299
318
327
383
330
337
225
216
315
293
347
363
332
378
339
371
258
337
302
326
292
198
355
322
339
320
325
248
323
338
333
318
326
299
335
253
275
375
331
318
299
355
315
313
278
397
310
329
328
253
306
311
312
313
285
361
352
351
325
252
356
297
360
277
336
260
275
289
284
286
432
259
257
301
276
315
336
364
267
347
328
298
324
317
293
324
330
385
324
265
350
312
286
262
366
188
330
314
307
299
328
351
339
309
283
339
299
359
236
365
330
299
268
282
265
314
385
296
334
353
225
334
338
340
328
386
354
327
228
323
338
337
400
262
308
350
374
337
298
378
367
205
356
255
367
324
336
232
329
267
346
331
310
343
318
243
377
231
307
434
242
363
342
314
245
211
329
344
238
291
384
364
371
409
269
308
278
291
281
305
264
254
217
301
295
357
350
373
247
361
341
289
408
323
285
317
348
311
290
326
282
250
299
327
391
383
266
323
334
313
262
255
309
317
366
397
310
321
313
348
348
357
291
340
372
332
347
343
306
374
289
286
367
308
327
277
314
326
308
385
330
291
321
307
369
321
306
340
363
321
374
215
307
325
321
316
326
323
307
263
266
353
364
421
370
311
327
241
282
261
352
305
267
316
347
319
315
352
349
362
316
257
326
264
347
297
242
285
301
317
300
320
371
294
336
290
296
457
304
312
372
361
362
342
320
327
240
340
380
310
368
363
303
304
248
305
317
265
323
344
365
299
280
257
336
350
281
422
264
285
321
263
297
283
290
358
328
290
340
318
291
257
296
364
337
321
303
381
218
321
328
293
336
262
388
246
268
427
356
232
310
269
314
329
331
359
322
300
299
274
333
279
376
380
278
351
332
292
349
269
373
296
271
299
377
318
322
316
261
344
261
279
256
301
320
306
301
350
354
376
205
327
330
250
328
332
342
368
286
330
286
303
265
284
364
305
307
294
285
370
333
262
347
297
330
265
299
352
274
321
342
322
238
354
345
329
220
319
322
335
326
330
351
410
388
337
367
338
291
380
310
293
298
334
275
321
315
305
352
395
235
273
331
186
283
360
295
318
295
322
328
349
356
304
246
278
261
278
358
334
367
281
264
343
378
255
287
306
302
360
309
234
337
280
300
326
266
345
358
332
334
361
347
243
271
296
373
301
283
318
378
297
206
335
323
307
316
256
316
264
286
317
345
277
312
330
281
281
334
277
272
379
319
364
415
270
294
273
410
270
282
380
273
377
325
323
291
336
278
325
349
275
296
283
266
310
355
313
345
270
290
278
319
230
313
390
220
348
337
256
328
268
327
316
326
326
352
367
383
304
313
376
307
262
291
364
342
306
352
364
332
336
409
327
274
332
278
296
244
385
361
344
329
286
344
310
381
293
290
362
275
338
258
382
333
314
216
328
260
295
302
332
377
311
320
245
325
277
283
270
260
292
354
365
360
283
260
240
272
326
297
380
273
317
409
308
362
254
326
337
377
330
220
265
315
317
331
331
290
280
348
283
398
302
329
285
267
334
220
325
356
326
327
267
386
252
296
233
387
331
327
276
362
269
373
318
294
408
267
413
308
285
302
353
241
288
336
365
314
361
312
320
296
369
307
379
319
419
323
390
392
277
280
295
332
299
297
264
313
278
357
289
290
360
237
268
327
353
291
235
303
299
346
398
313
320
356
330
304
342
300
272
312
349
262
257
187
338
364
244
312
260
343
329
266
340
215
295
307
260
290
387
297
296
372
366
369
260
299
288
323
324
385
274
288
253
203
314
255
362
294
325
292
302
345
375
370
249
336
346
315
325
311
349
304
200
243
369
286
305
311
364
342
301
367
410
292
423
337
348
271
347
302
266
325
300
255
346
354
403
264
341
294
275
325
274
329
351
328
283
328
356
320
331
325
317
330
322
281
270
353
352
345
260
339
333
328
268
277
283
336
299
366
326
324
319
398
280
303
400
330
272
295
284
309
359
327
350
320
380
308
360
261
284
313
269
311
280
299
310
315
277
242
312
318
400
312
367
337
330
322
281
284
361
303
294
394
360
273
303
366
315
265
316
367
322
303
267
377
218
286
342
428
333
242
340
256
344
264
332
321
268
308
272
365
290
258
360
234
303
351
397
356
346
254
298
325
364
424
318
370
293
371
259
281
245
329
362
346
253
287
279
302
328
358
316
418
368
272
206
317
337
315
301
309
254
348
319
297
351
346
275
332
328
321
327
322
304
220
293
334
350
287
380
306
343
261
430
315
344
349
297
205
388
360
341
361
390
329
296
264
322
284
306
420
215
251
312
272
340
268
323
242
361
215
264
265
278
367
275
219
326
315
431
412
316
365
367
293
373
308
377
384
293
366
325
286
331
247
327
384
334
292
399
262
239
404
376
334
282
318
299
284
293
217
309
377
324
245
412
319
233
397
251
349
325
365
316
304
272
260
290
322
271
329
291
316
318
335
212
359
280
376
336
306
254
313
346
326
318
318
348
320
340
290
358
323
221
325
339
287
282
343
287
386
340
300
271
305
293
274
360
362
261
271
305
326
218
301
261
346
256
339
280
300
338
325
335
288
284
287
298
319
189
373
320
265
352
375
243
291
323
272
366
361
278
321
294
299
388
339
273
309
303
303
220
308
243
328
351
315
322
337
334
371
313
343
334
311
305
376
315
257
427
274
279
345
294
269
366
258
327
287
292
314
318
304
281
308
244
317
318
342
352
316
312
295
346
336
242
302
352
315
242
302
408
318
327
378
273
308
362
346
371
360
358
310
417
348
369
299
295
250
356
308
337
299
355
374
321
329
269
354
318
317
287
317
314
353
233
318
313
341
256
349
269
338
307
254
318
332
309
369
274
349
331
382
291
257
294
298
336
307
367
332
333
321
388
287
267
310
361
248
266
325
290
249
322
294
259
288
314
243
304
325
271
370
385
297
248
309
377
351
359
383
256
414
361
299
316
288
330
324
349
247
340
296
236
295
381
290
268
331
321
297
330
267
326
334
334
324
348
365
275
363
340
343
364
310
356
212
347
236
333
331
311
288
310
322
329
243
361
332
335
333
375
279
327
367
237
335
359
314
292
347
349
332
281
338
276
313
365
243
327
326
346
385
349
350
409
253
330
260
283
291
282
312
257
285
365
350
201
273
348
338
343
315
274
278
320
309
354
361
315
310
265
325
301
372
316
384
246
321
303
281
333
284
338
284
327
292
321
416
318
288
319
458
319
362
321
303
222
319
311
350
312
296
345
380
259
403
350
304
299
344
308
330
297
306
341
355
313
291
268
323
305
398
303
350
353
294
302
295
284
405
320
369
340
339
273
300
428
342
321
272
265
302
316
307
195
336
369
349
318
306
309
356
249
388
389
301
305
224
300
297
199
377
321
361
301
280
288
336
311
357
301
389
331
305
319
354
325
342
337
337
363
242
345
349
186
325
259
362
322
313
295
269
329
285
294
343
359
236
294
315
304
319
326
314
306
348
252
305
362
347
371
338
380
329
322
298
285
334
274
342
364
334
289
304
321
335
322
355
303
312
276
393
309
328
461
158
394
291
249
251
399
296
335
316
314
316
268
360
343
376
271
292
278
346
356
291
339
420
350
276
296
328
197
271
318
380
289
364
317
321
349
317
288
263
239
354
318
318
328
405
314
383
312
311
304
288
350
246
363
291
290
313
280
352
231
335
336
270
237
284
310
320
284
314
328
341
319
292
346
427
325
274
332
271
279
312
255
371
398
326
366
336
261
349
310
269
341
289
341
338
293
353
345
312
346
314
293
350
340
244
302
320
324
349
310
287
261
331
343
319
353
255
318
302
273
359
284
274
273
295
411
266
293
295
339
327
306
361
354
393
266
280
303
369
339
273
309
263
378
232
334
295
328
363
274
255
321
384
346
292
337
233
329
315
279
339
373
378
293
354
198
398
306
318
273
269
352
349
326
339
310
311
275
307
364
353
237
388
306
254
325
312
283
334
250
254
265
225
311
264
289
292
299
312
377
360
333
266
305
346
290
310
462
201
353
342
322
367
386
308
395
304
381
274
261
271
327
352
343
356
278
333
322
296
311
235
362
316
278
433
332
351
343
286
291
301
350
260
324
337
386
401
302
393
399
269
291
292
311
369
228
377
377
287
342
360
335
389
343
341
349
352
379
300
367
314
304
323
263
290
302
321
293
301
269
348
335
376
247
337
406
264
323
344
264
258
311
378
262
302
362
370
292
259
280
341
295
351
183
292
197
361
314
321
317
358
332
268
311
317
317
257
387
339
303
263
320
435
276
280
312
302
355
241
361
371
318
314
370
306
334
279
317
326
279
257
297
291
285
381
335
265
268
338
337
291
423
356
292
345
277
350
332
285
288
308
325
312
372
281
421
336
280
321
329
341
358
333
382
291
278
226
282
388
287
343
335
261
265
291
376
262
378
314
256
345
323
293
386
338
308
290
256
333
275
303
290
274
360
269
285
343
292
332
376
327
288
390
246
277
342
324
338
258
331
268
252
362
383
382
350
259
360
340
364
285
321
332
345
280
351
332
365
366
357
325
349
345
367
347
358
375
311
291
357
348
272
286
330
271
256
184
385
266
321
204
280
316
266
224
409
238
305
322
339
248
270
371
289
269
272
357
315
396
338
285
327
351
365
383
344
331
336
324
401
269
275
347
347
253
246
338
328
404
254
344
282
300
284
254
323
373
348
368
355
267
334
299
291
321
354
307
344
261
309
346
234
262
287
281
325
370
391
296
293
335
346
362
308
316
244
290
230
388
313
243
251
291
254
313
388
369
369
313
375
362
376
230
292
312
458
299
272
362
329
343
317
303
274
326
305
371
339
290
326
284
295
310
316
397
346
377
353
389
207
328
291
287
324
336
306
351
376
307
321
320
327
318
282
342
336
308
319
355
284
399
275
341
366
343
297
411
293
265
333
274
322
357
341
337
259
228
313
310
326
241
315
333
344
305
321
308
345
366
263
327
325
354
323
235
421
374
238
240
389
247
286
391
349
300
383
263
291
384
394
297
236
327
392
320
253
352
358
331
263
349
320
326
287
261
390
302
269
306
312
294
343
330
357
288
375
366
335
313
286
283
349
274
334
341
335
348
335
261
327
353
347
189
372
347
317
250
317
361
270
376
320
384
304
349
290
271
359
322
355
258
351
323
251
309
312
365
392
282
358
276
367
306
335
304
288
338
359
359
402
351
252
410
392
290
317
341
333
311
319
390
372
223
331
324
346
325
360
390
353
339
341
252
246
206
357
369
257
290
359
369
317
335
345
331
208
262
405
281
262
319
279
280
315
370
236
259
312
371
341
333
341
360
309
351
361
210
360
302
294
323
366
327
238
279
332
296
335
291
312
260
356
294
268
316
299
365
365
334
331
286
269
293
321
299
351
270
348
396
342
288
383
319
332
319
280
335
331
300
285
316
290
309
208
286
279
264
351
349
279
284
333
353
336
346
217
373
418
395
266
316
321
399
356
280
297
308
294
390
397
252
357
276
344
259
328
313
364
285
253
262
297
294
287
320
317
367
264
302
323
303
296
294
303
308
233
325
370
303
297
291
307
272
234
261
193
339
282
339
357
243
315
359
263
266
217
281
330
342
294
388
255
312
232
337
335
284
253
284
321
283
268
406
308
280
280
281
270
308
340
269
345
332
254
256
214
335
235
260
314
246
332
269
302
305
303
295
324
317
366
262
399
390
326
346
358
304
333
297
414
363
217
223
322
348
268
335
300
379
405
207
385
342
355
334
298
357
368
319
337
293
278
329
333
239
338
296
276
226
315
347
305
270
259
290
352
338
400
357
307
288
317
308
290
353
236
281
302
363
268
260
287
307
233
232
251
276
346
346
346
352
256
313
306
324
393
317
327
315
274
358
308
293
335
295
316
379
354
379
281
299
410
351
272
293
231
289
225
318
314
356
349
367
311
287
282
302
242
309
339
319
315
272
359
244
310
288
295
342
312
355
268
342
288
357
278
252
300
285
269
364
344
349
332
422
369
341
285
315
408
335
325
365
397
328
224
302
352
250
272
308
300
355
320
360
216
296
365
337
277
323
297
406
369
377
337
197
297
355
350
321
284
306
305
300
295
302
317
336
322
378
304
332
333
302
346
373
432
306
320
270
364
325
368
339
363
307
298
281
354
387
257
288
269
244
340
303
353
372
278
312
286
380
302
355
350
284
279
395
287
325
287
260
317
318
362
330
343
365
339
337
328
272
314
333
360
303
303
284
202
363
339
277
277
261
384
260
304
352
368
354
283
269
268
247
292
309
358
363
402
240
306
260
323
361
321
319
374
335
308
302
294
435
281
322
285
334
270
274
338
283
239
306
274
319
246
340
318
334
312
287
230
403
288
288
225
330
355
287
322
256
287
384
270
285
219
307
344
322
279
306
389
301
303
298
346
338
326
289
355
327
349
351
354
288
333
324
363
336
274
248
304
351
314
276
364
366
328
371
329
169
361
379
364
355
364
387
381
312
325
349
353
361
349
332
259
314
367
273
347
337
376
312
316
360
283
235
307
276
300
329
421
248
310
333
419
327
435
346
328
378
331
361
349
342
264
372
312
284
289
274
391
278
334
320
347
259
339
237
329
308
289
361
324
362
258
351
255
305
255
327
291
341
246
255
369
300
255
328
290
299
219
361
322
271
361
276
274
275
324
309
264
297
270
331
428
418
288
313
305
240
282
307
259
363
301
315
255
316
270
344
358
347
329
330
388
370
329
289
334
378
318
295
336
313
327
296
425
319
352
296
340
247
348
311
354
307
315
246
271
358
282
344
307
285
311
355
310
312
291
259
260
288
359
273
304
392
311
319
279
317
361
267
274
337
221
347
261
288
273
247
253
355
325
349
343
329
391
313
278
360
354
329
316
349
392
307
357
300
334
329
308
192
379
357
375
359
349
275
302
290
334
307
270
295
275
297
373
278
366
286
227
383
368
310
294
319
292
377
352
313
349
210
341
302
354
255
321
191
345
304
372
319
332
302
341
326
330
298
222
429
304
386
280
261
293
369
412
337
313
238
285
323
330
341
274
259
372
301
288
408
260
272
303
314
335
259
315
290
302
226
366
359
297
357
376
253
212
200
293
239
283
352
282
279
332
346
278
285
265
342
247
370
317
346
407
334
307
308
347
308
312
272
316
371
244
331
285
380
292
263
344
297
262
291
315
285
396
353
305
310
340
218
280
327
311
461
260
251
254
363
282
366
349
287
288
272
395
222
327
375
287
313
280
355
256
318
318
247
331
297
283
289
332
331
220
340
386
283
367
337
295
336
325
309
302
359
376
334
319
297
301
238
316
360
230
339
370
308
284
326
370
315
303
335
294
382
247
356
357
343
267
307
214
255
274
302
375
290
329
292
394
323
383
313
339
323
276
299
387
329
221
289
313
272
241
233
336
360
258
335
391
363
304
330
292
341
390
288
249
367
367
367
319
371
299
371
395
331
265
305
361
346
314
354
351
272
249
341
336
347
364
348
335
325
268
322
372
314
309
265
358
295
347
366
322
372
367
308
351
323
264
324
260
320
305
334
233
359
252
368
387
244
241
371
276
369
333
350
341
341
298
335
254
287
376
332
325
264
370
310
315
327
198
286
292
318
251
310
368
365
361
293
321
281
305
298
316
321
296
398
251
280
284
266
402
316
340
325
311
299
382
322
368
311
242
404
402
324
309
365
348
293
332
349
281
273
320
329
318
380
317
316
292
351
286
354
394
206
317
363
276
329
347
327
374
315
331
299
307
279
281
326
376
393
341
306
306
216
271
290
213
301
286
306
413
341
370
304
347
334
313
313
245
313
267
278
350
376
357
366
263
352
409
337
352
304
241
380
327
271
227
334
354
341
354
223
316
362
268
301
359
343
330
280
392
355
298
308
356
336
349
254
212
276
229
337
310
294
328
269
207
373
255
401
339
323
379
358
278
390
352
389
326
288
367
350
269
330
276
333
317
339
304
300
243
289
381
291
236
287
309
379
251
328
359
268
322
271
307
325
369
239
329
299
219
286
326
294
345
355
281
217
257
346
341
345
259
373
315
304
331
392
309
296
395
322
254
308
294
349
279
409
281
345
275
391
322
409
244
264
386
344
318
346
343
350
386
303
375
287
235
322
295
279
291
243
361
365
287
349
375
316
329
350
263
332
367
308
304
260
294
346
287
392
368
390
248
394
249
334
279
310
299
330
344
352
366
299
176
315
306
346
303
271
291
356
280
309
323
321
324
351
323
281
322
341
399
333
291
224
339
343
306
237
294
307
378
365
314
357
308
263
428
320
321
370
310
306
312
371
381
346
324
372
236
236
364
381
313
388
325
367
355
346
320
247
286
299
218
274
314
334
302
257
339
322
323
313
328
325
322
404
352
341
328
311
331
253
331
236
321
227
379
274
363
307
327
383
300
370
333
332
373
327
282
332
394
277
250
347
314
257
367
276
341
228
249
317
334
304
336
406
319
360
307
347
268
316
345
227
322
343
247
344
347
337
329
143
342
306
308
252
358
277
383
307
411
275
324
365
226
351
322
316
248
360
352
295
342
278
241
375
337
288
270
285
271
375
261
260
373
312
324
320
297
329
347
284
297
355
259
207
340
356
301
349
319
259
411
344
368
278
339
320
293
324
364
382
342
267
279
378
288
357
322
288
367
326
344
330
326
252
243
264
335
300
338
407
292
306
261
307
241
389
285
374
349
254
317
286
267
402
267
362
351
321
321
333
227
309
328
327
281
268
340
322
351
363
316
283
339
316
273
305
334
271
387
322
233
325
303
370
264
350
332
309
326
267
281
220
383
284
368
347
305
303
359
306
226
344
362
414
386
330
299
302
281
385
308
307
317
247
341
310
404
372
308
333
386
261
382
398
293
268
337
325
399
260
269
280
260
302
343
278
369
322
270
238
325
278
379
232
266
274
323
354
299
265
377
313
329
313
368
371
266
299
268
346
297
329
338
376
333
309
326
301
338
321
279
280
315
330
322
378
297
264
378
291
330
364
347
336
290
234
421
373
331
296
292
377
322
305
304
291
347
274
381
357
359
389
296
382
319
332
299
276
215
326
402
329
405
297
242
325
297
352
314
392
317
271
359
303
298
224
356
351
306
298
358
307
364
233
339
373
230
293
373
311
313
366
361
237
317
332
309
343
393
343
293
370
214
339
373
320
338
338
304
314
239
303
303
300
316
299
319
412
293
243
291
370
259
231
345
351
377
314
271
282
282
333
262
324
246
300
364
387
330
363
343
288
261
365
250
263
282
270
264
383
326
367
249
397
295
318
294
302
361
387
387
266
201
350
368
384
210
342
337
399
324
280
332
343
331
336
344
319
284
289
323
342
323
322
203
340
259
310
300
276
254
387
319
292
309
283
383
356
446
265
352
230
338
319
284
309
331
310
283
339
278
309
278
418
372
381
330
312
320
358
350
284
362
377
335
325
345
330
332
352
394
269
198
283
277
359
415
271
304
296
212
321
370
407
366
354
314
231
363
368
362
340
308
360
349
276
324
341
247
293
335
256
301
356
364
348
372
288
397
293
318
278
333
320
374
280
255
364
302
309
364
413
370
328
274
314
317
325
295
240
279
250
284
320
330
351
314
323
319
348
336
265
312
361
335
267
357
360
379
321
345
369
358
354
287
340
278
356
273
351
287
287
280
204
320
361
362
236
304
314
321
293
253
290
327
302
330
374
308
305
327
276
264
239
314
312
373
407
316
319
352
284
324
357
306
379
319
330
301
230
339
343
301
359
318
320
293
288
275
259
321
244
300
357
287
219
359
305
348
384
329
260
362
392
313
304
320
295
347
339
362
279
330
234
321
328
285
348
296
315
348
315
275
317
280
299
295
381
341
274
270
326
296
312
351
355
306
335
289
346
350
364
285
301
321
348
309
341
396
389
359
255
316
346
282
302
300
302
311
346
303
282
301
356
282
334
203
309
411
334
372
284
311
343
271
334
279
334
272
387
285
330
355
290
323
296
171
340
247
246
311
258
299
255
212
353
349
392
285
316
337
309
319
254
265
283
308
303
279
290
240
323
347
264
260
243
404
307
385
345
366
293
251
197
174
349
323
329
196
327
293
315
297
316
439
266
338
379
281
309
243
303
354
360
261
288
342
350
338
372
284
270
290
247
219
363
289
258
262
269
386
322
288
283
341
327
317
283
262
335
324
397
220
332
345
294
313
364
335
292
326
310
362
303
365
319
423
218
306
354
342
362
252
271
367
328
332
354
318
297
321
290
276
320
295
335
311
254
304
377
336
382
264
369
249
291
340
349
252
246
366
258
338
323
342
291
276
332
313
275
330
283
224
362
329
288
301
313
240
363
235
290
281
242
296
327
275
299
344
330
312
371
395
373
354
389
306
372
376
365
390
334
233
284
395
335
261
355
306
317
326
223
286
351
235
319
257
325
285
344
253
396
302
329
393
305
320
332
404
321
425
344
312
260
252
257
309
337
194
323
294
406
263
276
260
303
315
309
293
299
355
323
329
359
271
316
341
325
294
329
300
352
297
314
357
282
264
283
335
316
295
260
338
297
277
338
280
287
294
310
278
396
339
350
319
282
303
261
287
273
318
318
257
309
306
295
309
286
260
279
297
311
284
310
293
322
348
312
401
370
232
344
311
343
351
320
282
292
325
327
296
344
328
359
327
280
337
368
315
270
290
318
232
237
372
325
357
264
299
247
339
299
297
332
304
343
289
296
289
338
374
247
367
334
223
327
261
334
283
231
297
319
275
364
234
309
239
301
274
304
291
341
294
312
310
327
345
348
249
353
284
316
310
324
303
377
329
289
343
368
287
362
239
332
299
304
361
323
336
307
332
318
282
339
358
361
345
445
388
326
317
335
325
293
350
332
263
272
305
296
356
335
382
324
336
322
346
349
314
337
364
336
298
283
311
239
265
348
317
239
275
287
318
332
355
332
264
256
352
311
361
253
282
241
311
284
256
291
367
306
282
293
317
317
383
291
352
308
296
348
304
322
376
218
331
291
262
203
330
264
333
244
293
359
305
249
327
339
279
322
318
368
316
300
380
286
332
264
344
367
362
303
257
321
266
254
308
246
373
253
334
320
352
307
371
287
324
288
254
321
303
302
291
362
224
383
310
334
322
302
225
204
263
378
387
306
298
359
367
319
384
338
305
258
337
248
383
355
351
222
327
337
282
265
200
364
331
372
255
249
344
295
350
336
286
235
292
296
381
315
285
261
281
321
259
275
307
270
275
336
349
291
407
383
326
297
287
298
368
243
227
306
261
335
299
391
351
309
275
232
214
304
351
265
328
350
263
326
291
298
249
232
315
225
344
397
280
238
359
358
335
387
364
332
248
369
311
315
168
355
360
313
300
290
309
298
266
311
272
384
289
277
351
351
354
350
373
340
317
224
385
321
301
316
297
368
260
306
265
277
307
375
353
324
320
348
288
275
271
268
274
326
229
307
226
343
317
230
369
347
414
316
316
277
307
357
398
329
320
212
319
330
321
283
224
351
285
249
288
317
355
328
323
242
269
366
240
242
342
226
362
376
352
398
285
314
299
219
366
323
269
250
305
286
315
316
275
308
309
281
307
354
358
289
273
268
325
392
324
387
322
249
331
245
266
329
338
325
371
385
323
329
392
257
382
292
298
334
353
357
303
218
323
353
315
437
311
319
399
368
281
319
294
271
278
327
311
300
353
262
335
352
311
310
378
321
322
250
322
319
296
358
253
269
353
335
330
335
343
350
359
300
306
382
195
315
351
321
337
319
312
328
267
237
190
351
270
307
231
271
298
363
333
314
330
409
265
328
290
273
415
229
352
325
264
435
234
312
333
340
313
260
259
321
313
418
313
307
337
355
234
302
281
332
271
389
322
335
351
336
305
348
282
419
339
261
377
357
321
372
235
303
331
300
265
300
430
356
337
308
375
238
351
351
368
339
246
367
353
327
222
338
380
340
291
354
332
341
336
288
232
338
310
245
317
358
278
347
302
274
310
278
366
371
309
336
411
281
352
304
354
358
267
328
346
271
316
296
273
355
308
293
353
339
299
396
375
332
361
338
329
295
346
292
339
327
299
225
391
307
311
293
268
315
346
237
268
349
278
219
344
245
313
292
372
335
307
288
331
306
324
302
278
377
403
273
351
384
430
364
295
328
362
384
272
395
235
360
288
293
358
274
281
329
348
301
331
302
358
419
307
313
368
325
332
356
312
345
371
390
355
331
414
290
267
312
373
335
267
280
297
273
336
272
277
308
203
308
392
383
381
298
238
306
373
280
330
318
263
246
367
237
265
381
315
274
367
318
297
286
252
354
315
339
246
337
404
244
272
265
322
384
322
278
345
390
289
264
329
368
261
308
352
318
332
382
279
319
352
302
318
243
342
364
393
294
298
285
283
250
332
333
341
297
341
305
349
323
317
254
352
378
329
322
323
311
340
345
303
251
286
305
307
263
355
325
333
295
313
308
383
292
329
357
333
343
291
315
389
319
255
352
329
249
329
399
394
326
297
326
249
347
404
312
288
307
315
281
314
329
314
298
243
310
364
409
313
218
273
346
377
319
310
340
309
266
395
373
373
259
335
352
316
282
293
337
335
292
363
311
336
336
356
342
473
339
303
228
305
307
421
311
295
235
304
341
277
259
300
375
338
339
282
361
268
353
312
326
271
273
393
331
327
298
299
233
325
263
352
271
329
305
326
275
296
332
292
255
314
331
312
377
326
382
342
358
359
384
233
267
266
336
306
297
407
337
307
341
303
305
334
350
340
327
364
269
279
356
317
371
295
230
381
303
324
298
285
252
352
347
252
348
319
282
301
282
285
301
320
361
268
329
354
271
316
375
325
312
253
346
277
238
243
394
244
281
238
351
408
268
383
318
362
361
271
256
341
279
319
337
311
309
296
269
365
235
296
260
319
258
248
274
370
379
299
391
372
384
296
310
290
363
375
323
226
389
311
385
300
304
331
385
381
396
310
344
297
265
277
295
266
350
308
342
338
234
348
311
351
289
339
303
361
316
337
254
175
289
343
285
380
317
339
348
371
332
328
311
357
341
347
393
244
310
365
279
232
356
338
400
300
312
243
221
362
286
359
324
223
257
358
311
319
252
330
320
262
331
355
305
337
328
361
265
248
270
297
326
373
240
366
245
304
350
298
360
285
374
296
255
344
207
346
310
304
271
281
381
308
317
226
392
318
315
287
271
413
318
345
379
338
276
302
324
261
298
324
272
294
227
237
271
338
252
290
300
327
282
338
255
327
390
235
266
320
305
306
350
359
283
350
389
262
314
350
290
300
370
246
298
339
358
368
241
342
379
277
316
309
278
373
207
347
269
293
347
307
396
356
247
332
325
313
396
328
243
320
228
344
371
260
278
265
300
348
313
372
332
310
249
283
336
335
313
341
374
383
254
301
338
335
295
329
352
311
300
307
344
207
344
383
284
215
279
422
349
276
280
315
360
355
287
302
361
345
393
217
368
380
372
340
269
311
319
334
387
345
332
307
249
361
340
286
354
223
345
333
374
258
348
305
336
329
305
265
347
311
272
315
270
288
310
314
345
274
304
322
337
296
268
313
276
334
355
343
358
318
312
359
267
316
316
327
329
272
321
278
358
339
317
316
281
330
270
309
340
364
241
246
364
277
269
341
318
262
372
273
293
298
344
301
296
281
296
354
257
339
407
351
373
336
320
324
296
298
267
280
320
279
304
214
363
345
250
269
357
373
309
293
365
210
288
283
287
338
323
359
292
323
287
279
351
249
358
354
291
383
319
252
351
393
352
261
235
326
317
330
308
320
315
299
353
305
395
196
278
337
227
292
357
291
322
326
330
343
358
381
352
295
279
336
343
302
261
283
295
253
211
370
360
363
385
427
341
340
247
321
320
330
298
358
354
354
282
304
366
292
324
349
367
323
204
331
309
377
390
289
324
316
327
382
287
269
330
362
360
261
284
414
299
286
302
317
257
330
306
317
313
263
239
310
368
284
346
305
302
307
266
294
383
367
278
326
245
296
365
272
313
284
374
277
298
235
340
364
271
349
329
289
370
365
296
240
298
323
289
352
254
281
335
319
320
302
318
279
343
268
221
349
318
342
320
236
306
269
317
296
243
359
353
310
322
260
337
357
324
252
293
317
315
291
367
358
363
342
329
283
290
334
269
305
285
307
246
394
343
279
245
226
375
332
314
273
356
314
286
406
349
339
363
306
408
209
305
287
227
343
323
334
324
220
368
320
257
332
340
331
327
302
336
276
330
299
245
326
340
302
287
393
279
284
382
361
285
380
325
296
300
276
346
301
317
270
285
321
309
222
353
326
273
309
291
307
408
322
326
319
379
397
299
346
301
293
290
275
346
320
326
305
372
318
381
249
318
301
305
377
284
322
275
316
335
326
334
372
332
336
306
333
323
297
317
255
193
322
309
313
326
222
340
404
250
270
314
356
232
262
295
331
306
314
306
296
317
310
321
308
385
371
255
300
323
339
384
309
257
330
315
344
328
285
260
253
297
339
358
307
328
263
335
330
360
331
392
387
372
256
327
262
286
320
337
279
322
299
283
269
310
282
268
296
314
336
260
303
292
252
353
232
385
306
361
294
349
345
264
294
280
228
389
258
389
338
321
362
308
349
348
300
313
334
382
253
336
300
402
313
398
315
251
265
327
331
288
287
224
291
289
282
283
377
324
385
351
402
271
254
275
326
342
352
342
265
403
324
305
354
347
319
375
378
383
372
330
309
329
367
282
223
298
351
254
308
288
346
270
243
340
343
292
300
327
295
351
360
319
230
272
261
312
307
305
267
317
299
387
341
294
340
344
392
247
317
302
368
348
365
358
299
290
396
269
323
358
363
294
251
317
234
297
330
380
367
346
268
289
327
305
287
369
274
340
242
331
386
324
316
323
302
319
356
257
303
356
328
294
279
336
303
327
325
289
341
374
335
260
415
297
364
271
308
276
297
346
307
329
265
293
341
323
326
298
245
348
438
365
291
330
336
235
308
332
284
361
318
290
322
289
363
280
282
220
311
294
316
336
331
356
269
355
287
342
393
277
319
311
335
358
328
409
277
379
311
316
286
290
341
368
277
366
273
338
314
301
313
264
312
291
381
380
376
300
243
282
316
260
225
277
296
323
306
207
363
260
361
280
322
344
283
332
278
300
273
319
372
368
253
326
312
301
319
307
286
209
281
386
265
346
324
260
304
270
359
248
287
265
360
320
366
316
344
338
226
346
329
346
353
312
278
278
302
307
413
349
390
359
346
271
308
294
240
273
286
285
300
434
353
262
305
240
432
302
243
283
278
222
276
336
310
306
274
336
275
279
290
366
305
374
341
286
353
298
197
321
335
274
324
385
299
375
329
278
383
269
330
206
293
330
360
265
268
327
310
329
328
368
312
388
317
371
310
363
340
269
359
322
306
267
234
337
306
349
285
330
365
304
216
375
317
303
376
373
341
201
310
326
372
303
270
379
306
243
284
318
324
329
357
333
215
378
269
278
308
334
358
384
245
372
303
211
295
358
299
335
367
373
338
308
231
265
428
269
356
352
373
276
299
324
412
329
332
320
360
345
252
363
348
309
293
287
274
340
309
330
233
353
258
256
285
401
292
258
289
320
348
312
239
266
271
287
313
244
237
306
288
392
216
303
277
390
267
371
299
266
310
313
330
354
252
312
300
312
322
278
387
387
297
233
372
356
333
307
292
277
275
268
292
288
333
343
379
291
388
296
297
312
337
303
362
277
327
237
226
360
310
347
368
302
335
322
277
350
340
311
269
301
302
295
292
304
315
305
362
282
327
293
305
279
261
321
374
315
360
299
272
286
264
322
286
373
339
313
320
345
336
293
178
361
347
203
257
300
356
301
224
245
356
285
310
241
294
320
271
212
348
320
280
397
343
304
348
354
206
320
290
350
240
264
231
345
329
250
371
322
304
336
283
346
329
313
260
356
376
338
251
303
346
334
338
227
338
362
285
284
324
247
416
275
308
400
326
290
327
316
401
338
348
232
336
364
345
256
272
276
334
317
263
388
282
295
265
354
250
332
303
316
277
342
274
378
258
269
262
354
291
299
281
311
299
335
321
345
258
341
341
385
307
260
369
374
257
311
297
333
393
270
342
288
329
386
303
297
234
272
382
287
334
368
325
346
329
382
295
355
240
377
316
364
318
328
272
294
258
361
252
302
293
242
264
369
332
298
338
272
306
365
281
363
292
311
266
396
253
319
378
274
404
277
348
255
337
315
268
338
327
313
348
180
324
324
369
357
252
235
362
315
356
342
362
311
287
313
349
294
334
314
334
287
272
299
395
314
269
301
243
291
353
249
331
332
292
311
364
325
421
343
306
336
317
255
304
278
376
304
346
283
275
354
250
323
301
176
303
307
349
338
326
392
331
210
357
228
276
265
251
329
292
256
284
292
326
377
283
384
203
316
361
342
285
325
269
375
314
286
355
276
298
238
293
254
330
327
347
265
284
344
383
273
345
310
290
349
365
291
277
362
335
266
321
318
287
279
260
403
280
297
350
360
270
400
238
322
272
294
396
290
303
351
379
286
367
312
300
315
283
346
299
316
359
346
318
346
302
354
318
321
313
352
280
356
291
320
291
349
320
274
313
333
286
371
248
276
281
343
323
293
382
364
356
334
408
277
323
318
310
243
249
316
395
274
266
336
364
316
361
310
362
317
344
310
254
351
310
257
295
389
364
311
290
308
306
289
328
300
335
289
203
298
296
216
418
286
281
327
295
233
317
372
354
286
302
268
296
326
194
321
320
334
296
388
295
241
308
306
285
303
425
337
287
285
354
271
345
313
310
301
398
306
367
262
318
326
310
335
366
352
369
297
320
317
349
345
296
361
241
327
320
285
358
302
242
242
280
312
310
281
288
324
295
261
266
321
368
353
270
196
378
325
307
252
276
369
285
284
226
251
245
322
240
300
317
368
272
394
287
213
295
370
372
259
280
351
276
360
285
281
188
386
308
361
395
279
270
296
414
316
295
324
274
352
347
312
286
262
338
261
322
283
227
294
349
306
269
217
331
286
375
300
260
335
314
285
364
355
421
286
318
406
254
370
301
321
329
374
272
334
337
326
350
188
312
311
254
330
341
326
381
295
251
293
325
358
283
349
235
338
257
384
331
287
277
333
303
366
351
242
353
288
267
214
386
360
299
325
243
316
308
340
339
308
387
318
213
244
228
329
333
289
299
318
304
287
373
305
277
304
302
342
251
361
322
285
284
369
357
255
357
308
421
326
298
327
293
286
368
219
291
320
337
384
284
295
364
418
357
336
324
384
285
322
294
336
302
360
369
296
365
308
298
320
334
338
366
302
271
282
373
354
316
252
304
335
326
286
338
321
333
297
324
273
319
242
292
312
343
340
334
317
226
343
263
373
277
337
376
309
346
392
342
399
338
289
214
305
250
324
360
305
228
250
348
330
329
279
281
259
299
321
307
392
340
283
292
257
203
356
252
365
311
322
386
330
295
367
341
282
326
345
393
291
369
253
328
307
389
389
319
205
273
288
265
424
360
328
347
313
266
272
353
318
345
290
319
331
365
337
274
312
238
367
341
304
326
338
434
209
334
317
307
388
337
360
267
294
243
273
415
344
370
310
350
265
263
320
234
328
338
349
366
356
267
342
354
276
288
270
339
343
249
364
183
361
271
250
326
332
203
343
298
379
286
331
311
266
301
273
328
360
266
391
343
342
323
349
343
362
381
263
350
311
352
345
340
359
354
387
269
260
290
346
342
364
295
278
339
379
293
418
345
352
393
301
330
345
314
373
289
368
264
342
319
370
327
281
275
355
324
368
359
347
345
262
251
293
278
319
367
292
369
233
359
383
288
273
348
301
252
321
269
265
263
395
272
369
314
198
325
303
384
305
274
361
312
386
307
336
261
327
320
251
349
244
276
265
375
283
304
271
386
356
368
289
370
272
349
312
367
318
395
389
364
356
355
317
322
235
368
362
335
364
293
326
373
322
255
328
339
289
342
290
386
401
260
285
304
313
300
278
289
385
268
349
301
328
358
340
259
313
307
268
282
331
276
361
360
337
334
289
278
220
277
370
223
321
289
309
372
306
297
384
368
405
272
369
347
336
337
311
312
339
336
307
352
311
285
311
310
256
263
349
388
263
343
379
285
327
262
337
356
304
330
347
256
255
257
335
300
263
221
362
378
358
255
375
369
259
229
284
320
279
249
291
276
388
304
333
328
336
317
326
277
285
293
360
316
334
340
297
248
346
380
339
343
339
293
235
329
248
277
292
377
320
320
290
304
399
292
401
298
411
297
313
330
344
337
259
258
309
283
302
298
308
364
352
307
315
320
240
282
297
407
266
326
348
406
310
326
335
346
328
298
352
316
367
344
304
369
371
236
259
373
337
357
326
328
375
248
376
313
262
228
370
327
302
335
303
305
236
277
266
275
338
268
282
327
144
242
258
274
322
265
338
311
281
262
280
322
331
270
276
287
362
342
275
276
272
293
256
298
441
367
293
346
279
331
340
367
334
355
303
310
282
348
317
289
304
349
340
282
309
275
247
298
313
349
298
312
335
299
372
346
339
339
352
441
314
237
334
349
276
238
373
343
316
284
327
385
422
282
331
254
348
209
365
340
359
259
284
352
333
361
308
369
304
264
344
375
325
314
360
337
238
325
324
326
318
267
250
355
315
318
400
249
323
336
300
345
294
361
384
281
310
335
323
366
355
264
349
367
226
296
344
333
268
398
315
419
373
288
400
331
278
271
372
409
346
333
260
306
304
303
365
271
319
330
382
326
337
262
253
177
264
260
299
338
303
281
293
323
281
257
365
297
284
381
318
373
295
338
285
354
384
269
349
252
334
381
256
307
363
270
304
310
314
281
306
248
338
307
260
303
378
317
295
329
289
314
266
270
345
295
342
263
384
306
346
330
284
337
281
214
359
298
331
253
312
356
312
310
286
317
328
254
297
307
314
264
400
279
301
318
395
330
360
341
269
264
345
325
342
347
330
350
261
269
262
297
279
278
376
321
351
301
260
318
352
277
338
344
283
260
322
316
292
403
266
400
284
370
265
294
334
219
347
322
298
347
277
261
316
296
386
322
231
277
368
333
332
321
320
331
275
304
353
348
366
312
271
437
289
365
329
355
274
244
376
367
294
281
301
315
242
269
221
281
329
294
269
327
366
346
330
281
280
367
404
294
366
360
273
317
284
359
343
325
317
349
289
335
279
315
276
337
304
450
376
294
302
302
328
258
338
214
243
217
281
250
314
266
309
362
292
304
367
332
311
278
318
317
270
334
351
279
272
269
307
375
246
367
260
286
371
348
374
267
267
291
279
301
303
316
379
431
283
344
324
295
277
308
282
287
386
290
310
246
257
326
343
259
333
335
401
338
299
301
331
286
329
330
316
288
310
318
274
323
302
298
307
248
250
254
354
356
383
273
287
302
343
371
299
268
332
289
321
218
257
278
338
256
266
322
244
320
379
300
311
186
367
374
196
299
292
383
273
220
363
274
241
253
363
278
291
253
301
361
406
251
368
394
333
303
309
391
318
348
286
238
319
374
336
256
318
282
295
322
234
325
382
338
298
287
282
323
271
322
354
360
305
266
329
184
329
371
324
279
301
242
375
355
313
433
351
363
268
291
334
308
388
319
235
190
308
342
372
335
386
354
270
247
276
306
263
349
287
270
361
287
390
336
262
303
288
276
312
237
346
266
263
401
319
323
360
302
335
322
389
352
356
283
315
327
289
334
291
303
337
342
355
275
321
343
382
320
319
391
370
381
339
321
296
275
302
378
307
275
315
350
247
287
224
347
311
291
284
319
386
348
272
292
293
348
238
283
266
293
384
316
383
302
294
265
266
292
375
343
318
275
285
419
329
282
285
263
373
349
270
339
297
349
287
326
335
320
356
210
292
327
329
265
326
296
286
397
369
399
214
279
244
332
294
347
264
256
218
321
350
302
312
324
268
338
290
383
395
311
307
342
274
266
423
369
392
258
342
302
315
312
244
356
304
381
291
338
291
306
332
355
277
344
350
295
357
360
268
293
321
389
355
373
352
333
232
343
297
330
258
315
354
322
328
333
298
354
364
346
321
244
307
307
295
352
261
302
286
288
268
371
307
346
305
319
368
308
380
301
309
254
297
347
330
312
361
271
307
332
276
385
304
389
296
326
339
335
323
360
354
347
333
297
282
344
376
372
264
288
347
303
209
250
267
314
275
272
314
314
360
255
292
300
297
334
339
322
448
351
329
311
315
398
301
305
301
321
316
307
373
346
381
284
368
348
340
370
325
212
316
259
370
349
325
278
314
301
313
300
312
306
361
354
295
259
326
290
255
382
292
448
377
269
340
303
337
293
297
300
333
316
390
320
341
368
297
267
290
304
294
295
309
333
296
259
330
336
336
296
296
257
348
289
239
270
355
349
274
295
385
352
297
331
357
196
311
335
315
377
295
263
339
263
363
351
313
267
318
266
322
324
308
348
341
316
310
347
405
355
376
318
296
278
374
315
341
282
314
325
304
331
253
265
347
315
341
371
314
252
377
287
318
359
290
347
367
306
351
251
254
332
294
346
338
295
235
297
316
289
314
343
320
289
266
291
385
281
298
288
279
348
343
320
357
327
280
282
273
360
310
330
240
264
334
406
322
275
249
323
246
296
332
384
314
259
279
340
299
303
302
315
215
328
275
287
346
388
370
375
250
335
334
319
323
310
404
291
350
311
348
278
262
281
318
320
266
322
241
312
320
276
357
348
341
255
259
333
353
356
345
348
289
324
278
352
281
279
186
293
289
292
273
376
304
320
360
346
311
353
276
372
355
417
255
378
351
290
355
310
415
283
297
312
319
360
284
332
250
399
437
220
324
292
295
310
323
338
295
246
365
356
408
298
333
311
294
314
362
363
384
300
270
324
284
369
404
324
324
359
347
410
320
309
232
385
283
229
293
345
286
318
243
358
366
314
343
301
313
310
353
318
361
363
382
251
369
200
341
326
363
319
376
314
364
324
356
228
350
356
309
337
303
269
254
364
325
281
373
337
232
321
271
295
304
281
374
343
260
291
369
339
297
331
249
313
252
318
283
324
332
298
306
366
269
387
316
336
306
372
243
384
295
333
268
385
318
231
302
317
306
279
308
332
353
307
326
308
285
253
371
356
312
323
317
343
380
250
257
307
268
327
397
399
318
330
349
288
310
283
345
342
282
324
296
276
259
285
309
222
317
247
297
371
277
309
352
301
362
303
290
382
314
303
287
294
308
298
282
312
282
282
315
260
261
296
333
381
384
349
357
291
337
306
332
359
321
382
285
319
348
244
289
302
232
289
300
374
323
399
418
252
295
272
258
296
327
329
247
317
363
364
367
309
370
298
283
259
331
268
373
281
405
288
385
332
296
329
323
270
273
387
293
357
326
263
226
314
319
346
335
302
233
328
186
274
278
357
230
336
282
363
293
339
347
268
342
365
324
315
365
342
381
331
259
338
359
351
284
311
298
304
378
316
376
346
339
437
423
279
355
330
267
248
305
316
306
323
267
322
339
290
257
318
355
335
278
291
273
358
313
305
258
292
288
280
376
161
292
273
339
284
305
271
364
399
239
393
247
309
270
280
371
261
376
321
292
313
364
270
287
374
307
246
369
282
330
368
266
321
363
255
369
238
341
269
287
262
351
315
276
310
417
221
333
351
311
288
373
377
207
282
350
300
340
279
344
317
366
240
293
328
302
255
359
352
371
360
296
312
226
290
365
385
277
346
320
346
357
322
325
303
298
343
276
328
312
326
187
245
279
341
325
309
346
293
299
401
311
259
290
382
328
310
297
238
341
265
321
308
353
307
386
272
336
312
328
302
318
350
389
368
230
349
392
405
275
259
339
305
428
354
313
335
400
239
341
342
342
404
326
282
307
327
315
344
248
297
319
284
285
308
331
318
280
379
261
354
285
403
382
286
217
253
236
304
371
274
270
289
367
260
287
328
350
313
290
293
440
286
402
260
290
277
298
346
299
272
322
315
298
375
301
309
254
364
327
349
353
357
283
306
270
332
373
319
314
287
337
374
303
327
381
293
273
317
241
374
311
341
328
300
335
341
296
314
248
260
337
406
328
325
336
394
273
378
207
235
341
336
367
316
340
320
311
375
298
290
350
341
354
281
316
277
298
364
259
216
279
348
334
321
340
331
305
268
329
367
385
332
374
259
302
321
308
323
382
306
342
327
413
246
298
271
306
270
250
310
332
342
326
281
369
304
320
338
295
328
290
313
285
322
297
318
247
338
315
311
330
323
305
361
366
298
292
359
322
281
277
359
319
350
340
296
240
292
360
244
285
342
310
253
368
375
370
257
353
350
275
245
345
365
345
349
338
363
263
383
263
375
303
405
290
347
388
346
295
331
229
271
383
371
371
319
336
274
348
363
356
273
249
358
332
311
322
270
326
301
289
246
375
338
269
294
302
329
293
306
253
361
337
262
271
317
377
206
295
301
326
269
241
339
259
316
411
373
290
306
342
276
259
288
346
254
337
336
354
247
314
289
347
279
282
335
331
286
278
338
320
370
373
358
292
273
347
326
361
355
238
300
297
340
262
346
316
265
223
320
357
377
313
309
271
329
315
284
275
365
354
238
263
371
147
251
343
261
320
317
285
260
344
388
220
366
231
351
331
376
357
307
291
350
310
358
339
279
306
263
330
347
329
290
262
366
288
308
275
302
281
236
375
302
335
332
295
252
243
360
286
323
289
242
306
334
362
260
266
375
243
284
359
355
375
348
349
296
296
292
282
255
312
283
285
252
306
330
247
352
275
288
298
276
212
339
401
269
410
340
354
336
285
327
311
374
257
361
246
272
293
311
300
346
364
312
299
334
328
341
301
284
379
295
233
332
340
321
347
371
346
334
351
276
278
378
307
370
392
392
365
422
398
328
331
289
370
340
332
240
335
283
353
273
308
341
223
378
354
336
306
338
350
283
342
304
297
280
289
285
311
263
352
372
317
350
359
320
264
310
273
404
242
227
239
228
352
312
365
387
378
265
274
290
356
322
225
327
284
314
280
331
329
358
317
249
244
333
289
378
333
374
339
358
286
376
354
216
299
293
318
344
341
253
326
289
328
300
305
288
358
305
389
277
283
339
267
311
351
342
342
306
256
315
379
357
252
368
314
289
352
287
345
340
286
255
269
351
251
371
286
301
373
370
374
253
228
308
258
332
320
231
308
284
380
283
361
307
284
388
359
338
303
258
333
341
318
263
424
266
276
309
396
269
222
232
288
325
372
276
292
361
367
346
276
349
319
276
298
397
307
272
252
295
349
272
219
340
240
307
347
262
335
285
331
271
355
362
358
334
318
311
271
278
245
323
357
284
309
299
296
326
373
290
291
217
285
374
371
348
313
326
268
288
318
308
340
369
300
290
367
297
293
369
320
318
295
313
291
335
215
361
309
297
277
345
299
308
406
320
269
287
429
328
331
242
272
349
392
304
317
334
291
364
249
296
293
386
324
441
390
283
286
335
334
296
353
313
307
281
317
290
333
279
337
369
293
246
389
275
399
301
244
410
360
326
279
255
301
248
357
204
423
292
326
321
323
310
238
301
219
304
333
339
312
281
258
230
335
330
274
312
272
349
258
252
222
249
405
250
284
257
292
316
301
343
351
356
320
304
348
332
346
345
266
292
323
299
339
344
224
336
327
271
326
315
292
382
377
303
383
326
256
270
299
266
329
363
347
394
304
265
339
332
375
363
300
294
356
239
319
270
296
337
275
264
318
287
302
260
312
222
303
290
179
305
312
238
345
194
316
327
336
314
267
344
402
426
416
320
345
373
330
346
350
297
450
258
314
253
328
302
304
290
288
365
346
236
307
353
382
360
329
328
246
296
335
315
316
274
341
295
342
258
279
337
311
351
272
264
403
285
244
311
296
310
358
330
361
262
288
347
254
297
301
324
320
313
399
326
355
289
259
291
316
324
255
212
357
230
345
328
229
298
230
349
316
251
281
300
326
309
343
304
268
330
316
269
283
283
310
405
265
371
266
292
387
288
324
342
301
347
325
349
294
319
304
321
327
332
341
369
311
378
375
358
338
413
336
331
324
235
352
295
321
306
342
285
303
240
366
315
312
348
358
400
359
345
320
338
316
231
396
283
260
279
357
349
269
341
277
309
247
296
340
396
297
378
250
280
261
271
268
293
330
262
305
305
266
327
392
290
370
257
400
349
231
319
335
332
404
326
297
353
208
381
353
341
302
394
326
310
217
320
353
264
358
203
271
273
329
365
354
319
291
367
283
296
362
360
344
292
365
315
311
283
335
296
244
273
358
320
273
338
329
369
307
320
244
354
395
293
310
384
313
277
314
336
273
401
298
342
334
343
367
299
247
263
323
230
331
294
240
275
353
366
289
287
331
315
334
301
261
294
326
359
369
247
304
251
316
209
287
311
344
345
346
355
337
380
334
328
269
274
377
304
296
308
301
346
350
352
387
372
251
385
201
239
267
271
373
280
337
278
320
262
307
332
376
349
290
416
326
310
343
318
370
296
287
318
296
294
273
284
360
327
293
350
224
344
193
328
318
309
290
216
289
299
310
322
387
371
291
329
295
341
235
294
273
406
286
361
255
338
351
263
318
310
269
322
326
308
278
288
379
311
363
311
350
317
322
349
316
390
346
333
172
279
333
346
342
283
319
364
331
257
238
288
333
349
242
331
302
219
232
319
404
295
297
277
307
326
359
374
308
265
346
276
326
316
316
342
269
258
374
299
263
238
361
337
293
287
341
338
332
377
320
436
316
363
293
224
318
276
262
247
305
280
285
305
262
204
392
351
238
340
278
341
280
356
354
281
391
340
377
293
314
284
309
314
317
290
278
254
300
291
309
353
348
295
351
360
321
344
310
322
305
338
347
321
337
334
304
272
260
271
358
313
360
320
273
268
389
358
293
325
355
340
416
253
255
313
324
364
294
375
335
229
351
246
348
267
266
387
337
329
247
363
377
275
311
281
346
275
385
265
299
432
245
338
394
292
321
339
287
277
391
349
294
338
301
262
315
343
276
385
297
306
308
275
308
308
300
351
252
347
340
280
295
334
242
322
353
314
345
313
304
269
328
297
364
369
303
226
316
265
245
305
345
273
314
285
271
351
342
269
274
284
339
338
349
249
317
257
285
320
320
411
442
299
258
284
270
280
332
275
304
244
359
280
232
406
293
376
229
362
328
220
379
297
312
276
302
296
342
303
317
195
298
316
358
377
346
346
364
413
316
341
348
282
341
384
229
281
335
329
327
341
235
321
307
345
351
313
273
381
272
344
396
358
390
282
323
263
326
251
315
265
284
281
277
363
202
388
388
294
289
299
215
362
281
265
324
307
325
326
294
253
323
350
317
349
295
229
319
353
280
319
392
317
313
251
292
243
285
367
252
326
294
408
276
368
320
334
361
322
320
376
390
288
231
381
246
374
304
372
304
225
313
250
309
360
374
323
349
327
432
281
343
382
348
307
373
346
326
316
342
234
296
219
353
242
365
361
292
357
269
293
328
334
409
390
237
357
369
288
336
316
232
311
346
332
318
309
294
344
345
365
370
292
345
379
301
309
286
376
313
341
264
326
353
338
364
337
277
238
286
246
335
393
336
313
289
304
362
295
253
386
309
321
360
356
365
304
357
297
381
310
351
299
327
347
288
380
353
393
318
226
251
329
269
383
239
228
331
244
330
371
341
311
327
377
333
201
390
354
315
313
285
340
345
241
291
320
333
310
380
291
292
247
282
274
336
323
315
344
351
298
260
339
216
310
315
324
260
331
268
376
289
275
372
310
290
302
299
351
346
353
234
329
279
282
273
257
334
302
250
345
339
295
295
387
282
316
228
374
243
312
243
407
259
331
320
331
356
285
373
271
384
371
255
297
371
375
307
358
222
384
285
214
364
213
403
308
386
335
332
254
284
275
251
327
341
369
248
271
332
273
402
351
233
189
294
283
310
332
271
333
271
233
291
298
357
278
245
337
282
316
253
314
296
332
287
306
361
360
325
387
320
255
345
270
378
320
388
344
257
381
269
293
337
307
342
402
315
295
381
299
235
284
268
282
296
382
284
354
311
419
336
255
339
325
342
288
308
319
273
295
375
224
336
351
348
275
263
359
298
356
294
314
366
340
283
363
280
364
264
418
274
217
318
285
321
306
272
383
310
271
365
329
382
284
345
335
287
306
424
306
412
375
263
344
326
372
211
339
321
252
381
330
366
306
354
318
321
328
307
224
274
311
315
343
333
263
268
358
337
386
248
321
383
315
341
318
374
318
361
266
324
282
288
310
275
232
363
379
191
309
383
356
259
392
301
364
302
341
352
295
325
323
342
270
253
414
339
332
380
353
361
262
316
392
307
336
298
335
306
386
280
285
324
326
307
402
285
322
231
350
278
365
286
238
267
322
247
285
245
383
223
326
325
257
343
331
333
324
256
237
268
367
327
308
269
284
375
316
457
276
314
210
259
304
197
206
317
342
242
328
346
327
287
328
290
304
282
348
329
311
347
254
381
296
258
346
281
204
275
314
322
328
249
266
323
329
231
360
388
321
315
278
333
308
264
298
326
238
296
287
326
300
369
339
360
393
367
312
333
399
325
336
292
259
365
327
377
221
252
312
319
347
265
246
281
282
343
347
257
382
334
319
320
389
237
308
360
333
335
312
301
417
343
257
399
243
366
364
313
286
280
353
248
336
298
335
308
350
324
386
311
305
247
345
282
308
373
346
296
361
386
259
340
343
292
371
365
287
276
277
263
329
245
332
345
325
332
334
270
343
361
360
342
384
318
332
291
285
415
324
279
262
355
276
226
347
259
318
272
349
274
287
328
316
313
297
328
373
300
217
289
264
313
306
314
319
313
316
259
307
290
256
247
274
245
408
308
291
337
315
264
347
406
333
351
354
257
249
356
262
276
276
192
319
272
272
208
307
384
212
262
328
271
408
352
295
319
289
369
283
244
314
392
241
264
404
362
366
275
349
362
339
359
333
321
245
303
287
310
349
336
283
301
316
351
274
369
343
325
281
228
440
433
330
366
343
366
317
325
371
255
275
287
281
359
312
332
245
241
330
343
291
393
367
404
319
333
235
366
308
269
296
332
372
406
271
366
340
347
382
267
251
352
372
279
339
254
234
343
325
384
288
339
358
261
324
245
270
341
269
270
357
307
327
345
302
336
285
256
247
373
232
261
352
297
357
354
364
331
254
349
296
385
187
379
360
326
331
343
256
290
408
327
281
258
336
358
338
316
386
327
345
235
330
251
251
331
278
427
301
350
347
296
363
317
300
325
288
197
349
334
304
306
265
311
359
345
273
337
342
363
273
303
263
352
306
239
310
254
284
369
288
323
335
323
341
424
326
298
333
227
288
329
326
346
363
293
341
347
283
313
327
404
378
380
281
323
357
290
314
348
276
333
322
276
321
306
347
361
283
319
286
313
287
400
302
321
360
370
330
325
314
347
371
357
350
313
284
299
252
255
346
292
291
319
307
351
299
256
238
373
359
349
325
372
313
298
258
364
292
307
307
326
324
328
271
329
330
296
284
243
359
315
277
354
328
326
340
281
284
253
294
280
273
376
299
380
300
290
338
247
301
353
355
277
342
311
307
363
346
294
331
301
350
334
359
276
305
358
299
302
299
330
248
307
390
327
285
334
251
339
220
327
257
311
363
267
306
360
315
331
306
265
336
308
322
297
311
374
294
282
311
255
307
356
233
351
311
382
411
274
341
327
393
306
254
397
322
266
256
409
361
302
310
268
332
260
287
249
341
311
217
315
281
331
321
287
284
339
293
317
238
398
331
355
362
210
329
246
335
355
234
309
357
303
369
375
280
309
363
330
309
327
325
291
377
259
325
300
282
331
361
339
310
308
302
335
421
324
317
330
318
281
318
340
366
296
337
298
312
345
270
377
352
356
337
383
334
276
361
315
342
372
267
270
346
345
401
387
375
283
314
366
391
254
338
360
342
232
263
327
303
325
343
302
302
299
408
358
271
374
388
317
316
344
330
328
276
316
367
395
358
258
336
315
396
293
348
305
330
311
266
347
326
316
344
261
293
284
293
226
283
351
299
327
382
311
302
394
291
369
298
353
319
363
375
328
295
329
296
309
349
348
310
282
285
305
293
305
338
312
370
272
346
294
285
328
281
272
298
325
319
305
363
287
319
285
306
360
291
270
355
332
329
330
363
277
316
339
231
316
358
308
319
388
263
382
368
301
359
330
319
438
282
334
279
336
323
334
372
277
303
334
384
365
294
310
310
294
391
280
306
378
270
246
284
389
321
337
266
367
339
330
281
334
264
341
337
268
311
356
313
322
264
368
332
349
371
298
370
337
329
366
309
311
215
224
317
407
404
289
291
368
267
271
376
369
298
349
296
366
320
318
227
297
236
204
395
251
302
418
242
318
268
280
288
340
311
301
345
264
247
346
356
383
301
392
321
304
311
307
420
281
271
436
345
394
297
378
406
272
157
305
258
305
393
296
297
299
269
319
293
318
248
291
305
326
353
389
326
353
264
350
215
282
304
329
273
250
287
346
261
347
374
277
339
230
306
316
310
253
411
335
291
272
258
315
238
368
380
299
349
315
313
329
289
287
312
309
314
302
297
285
298
269
329
421
327
270
259
335
366
342
304
279
365
317
269
369
324
344
381
335
308
375
204
256
365
392
301
354
290
239
257
303
330
310
346
334
302
333
233
359
296
222
228
326
303
325
319
307
372
313
355
228
266
273
328
376
262
382
390
276
336
299
327
353
296
345
296
296
353
297
243
301
301
314
321
322
330
282
422
342
301
356
346
320
294
251
310
349
422
359
314
412
275
301
295
387
324
236
246
329
286
298
319
356
339
288
327
331
378
298
366
193
317
342
264
203
348
371
313
346
245
276
282
328
249
317
350
234
326
344
349
285
243
270
289
269
341
343
325
382
322
332
372
386
366
276
332
415
375
364
338
354
231
255
315
301
326
309
310
294
315
324
249
357
286
338
372
299
225
276
368
241
315
365
334
321
298
270
330
359
337
311
376
361
349
336
298
296
257
321
368
387
319
258
369
332
323
215
312
234
357
307
373
306
251
285
326
267
296
330
305
327
345
255
436
309
270
313
311
308
280
297
307
367
348
387
394
297
361
305
289
321
252
389
258
328
283
291
279
328
358
380
270
262
271
235
379
438
282
448
311
322
240
282
365
324
297
361
345
300
255
356
328
265
247
308
327
353
334
410
294
289
322
324
382
308
379
379
214
361
294
284
319
232
380
329
386
370
290
339
317
235
327
226
297
305
283
254
309
303
359
304
339
300
323
405
275
293
393
303
348
267
270
302
320
334
328
340
351
277
362
285
253
328
283
400
299
319
303
319
325
383
359
256
342
310
273
321
252
258
280
199
291
303
379
317
293
260
257
265
261
289
176
244
233
321
254
348
344
256
243
352
312
391
281
300
297
352
295
317
274
345
336
353
348
351
305
362
300
352
288
336
368
310
372
314
275
299
339
362
309
288
277
378
302
335
317
338
309
347
258
354
284
220
369
344
213
327
315
325
291
352
323
341
287
380
310
294
391
234
246
362
355
310
346
302
308
232
344
309
293
254
317
272
332
206
217
294
310
326
324
359
331
282
283
275
318
329
336
350
319
305
242
336
395
292
330
248
353
312
317
368
293
297
339
249
300
305
320
379
282
254
304
305
332
302
333
329
344
303
343
325
257
371
293
315
282
313
317
311
193
343
235
279
315
334
353
377
400
271
279
317
349
283
303
351
268
357
368
346
330
282
341
385
367
323
329
300
285
334
313
362
287
366
378
364
364
399
431
269
226
372
247
327
326
331
239
308
273
292
346
314
299
326
337
359
402
221
372
273
311
322
295
319
258
388
309
312
296
240
347
302
366
224
313
367
362
372
371
289
233
276
401
360
244
313
279
237
243
435
306
230
282
248
233
297
346
348
311
345
301
323
326
334
257
305
323
353
339
327
302
354
281
318
323
292
362
269
333
299
298
278
361
372
322
369
271
292
269
336
376
344
287
355
283
362
372
337
291
321
308
313
389
269
263
252
282
285
264
287
311
273
278
236
301
283
339
270
311
315
365
373
255
316
356
266
191
383
351
207
297
287
288
361
319
267
332
319
325
358
290
319
341
290
320
248
271
277
343
297
326
291
264
265
257
376
391
356
388
393
349
348
288
357
346
276
355
317
308
259
384
285
305
304
362
335
298
277
358
292
303
329
291
396
349
285
245
227
332
331
354
243
302
328
330
361
256
327
277
247
352
361
248
330
321
367
301
295
262
366
268
241
244
317
387
324
243
259
275
336
347
368
350
376
314
350
326
355
351
310
294
283
343
262
276
298
339
404
402
351
282
278
287
363
346
277
249
293
282
271
313
315
336
393
302
369
293
359
237
403
294
306
338
287
286
384
341
372
317
354
322
264
341
355
365
352
289
362
289
246
324
348
418
277
348
365
294
396
319
266
381
267
312
339
230
319
336
323
342
362
288
324
266
312
251
308
305
320
318
248
320
298
273
377
329
332
304
316
343
271
318
266
278
349
366
300
290
367
338
325
325
264
258
400
357
358
379
342
243
398
282
327
330
345
319
300
325
260
300
292
310
310
261
251
345
269
416
335
368
272
309
317
215
361
230
288
329
217
408
350
418
243
387
350
351
232
327
302
222
389
336
359
366
295
329
240
331
363
346
355
246
349
338
350
367
255
356
237
345
349
267
402
288
267
210
380
356
339
242
386
282
363
328
256
235
331
332
360
303
325
362
268
338
244
280
246
258
376
242
375
280
359
311
342
328
341
276
358
243
217
292
260
389
374
325
309
318
295
322
345
353
375
305
304
256
259
338
342
303
320
377
376
337
362
361
281
294
330
314
302
281
322
254
316
358
332
339
265
333
304
317
311
271
192
306
278
299
321
332
300
265
375
237
387
334
287
376
272
339
324
250
338
338
274
432
388
369
266
349
345
295
299
256
322
344
351
335
335
230
349
300
276
335
348
299
328
274
327
291
247
320
338
278
228
369
318
276
244
353
356
356
344
363
391
365
353
289
324
349
302
335
293
291
277
280
369
293
310
301
298
302
202
297
258
250
321
257
294
334
339
388
313
285
285
376
261
358
255
363
343
295
351
311
283
209
305
347
290
378
413
368
257
300
276
313
267
343
400
350
266
275
302
350
345
295
344
305
342
300
415
297
373
238
279
282
275
303
332
349
360
292
331
300
321
266
294
401
314
377
342
355
356
366
376
362
394
361
293
345
342
338
279
301
328
296
289
340
377
422
287
362
354
267
310
279
348
355
333
252
216
324
307
216
298
384
274
338
342
363
267
322
277
346
321
231
337
323
180
336
268
226
413
322
337
279
311
263
351
277
344
314
235
387
320
329
322
337
377
402
395
322
287
275
432
298
360
355
320
307
312
305
302
296
222
197
382
287
390
203
363
296
315
292
403
365
236
276
224
338
281
247
254
267
323
306
348
255
276
362
263
254
340
320
263
326
291
358
347
239
209
317
319
297
358
295
350
313
297
319
288
319
268
295
295
288
335
288
318
285
380
317
300
281
346
352
299
379
370
362
365
310
348
342
285
295
319
397
365
386
327
298
309
237
309
242
447
307
364
291
378
288
296
276
348
257
286
293
268
276
370
286
367
309
332
373
268
276
217
322
266
262
335
255
301
340
365
361
293
336
285
300
423
266
289
315
296
363
268
300
266
344
337
373
278
324
347
275
309
309
294
273
302
368
319
246
335
307
296
335
291
256
358
283
329
208
294
356
367
221
344
304
287
297
347
256
374
254
338
278
333
278
178
374
305
242
314
304
256
278
323
318
381
309
328
266
336
317
295
304
334
441
243
347
382
318
363
294
273
346
294
201
288
372
335
347
297
278
308
375
227
329
345
370
260
366
265
301
302
317
267
390
267
308
353
241
374
282
286
284
347
438
243
356
314
323
391
284
333
337
329
292
327
306
279
349
238
327
286
409
351
345
308
373
351
271
346
346
327
357
310
342
352
362
301
336
232
284
302
314
344
311
304
275
352
279
272
307
283
239
375
320
317
350
335
239
332
309
242
348
421
265
278
365
342
320
387
353
290
349
352
284
335
250
272
275
313
395
315
237
242
341
310
349
312
332
369
385
346
314
316
283
304
336
386
282
351
303
354
278
336
300
276
342
307
318
304
270
289
322
291
348
293
297
291
329
273
291
318
275
369
289
188
363
353
346
387
338
348
335
356
290
318
349
307
358
303
306
305
357
298
335
287
320
291
281
347
281
339
359
314
340
403
340
277
346
354
259
287
308
267
345
289
331
318
258
287
313
305
294
258
288
366
331
243
378
356
329
322
233
368
296
254
389
411
343
301
317
320
307
357
272
343
175
264
359
272
393
339
363
388
319
248
319
227
245
355
363
312
274
333
275
341
292
349
256
297
268
320
378
369
300
329
358
347
316
326
299
283
303
293
400
289
300
290
299
293
215
325
296
332
246
255
364
353
359
302
322
265
332
299
309
267
229
371
344
325
287
321
345
246
412
256
280
312
380
316
263
314
314
278
235
257
267
417
344
300
336
298
292
286
328
245
287
294
334
299
326
353
273
370
328
346
258
257
355
313
385
291
370
342
337
365
184
355
330
327
323
298
328
286
336
286
299
355
344
340
267
351
325
314
217
298
234
296
293
454
293
364
314
325
293
287
290
334
267
220
352
444
383
402
319
252
282
333
350
281
344
239
229
346
319
305
307
193
296
290
325
330
305
298
264
374
307
255
287
317
384
239
354
289
389
358
379
292
443
324
317
265
284
286
309
247
260
364
378
306
296
390
252
315
268
284
359
352
320
308
347
347
301
337
184
274
320
300
287
294
237
296
206
300
279
345
273
190
378
308
369
328
261
282
297
322
335
227
345
323
334
347
247
243
302
382
393
381
254
336
287
304
329
286
310
318
381
322
279
328
249
244
332
152
275
290
385
365
288
312
382
292
260
314
245
344
308
339
345
408
267
362
304
345
314
269
295
303
328
292
351
296
260
194
327
269
318
358
367
282
276
332
302
321
269
282
232
353
279
313
255
310
275
334
277
335
243
314
354
319
362
281
313
247
328
369
270
297
267
346
358
359
357
359
269
338
347
250
288
362
316
287
332
287
330
296
321
329
359
347
321
344
416
330
339
293
342
298
438
309
290
378
332
345
247
306
238
237
348
368
346
232
271
335
270
349
304
354
306
265
345
364
365
340
336
313
275
276
287
340
277
254
275
296
328
403
308
302
367
256
407
269
301
317
320
295
273
279
310
346
269
369
256
310
346
296
347
292
304
299
289
349
304
286
399
243
345
341
305
280
373
336
287
336
292
227
337
358
310
405
255
322
336
311
300
300
443
384
348
284
225
270
299
284
407
215
292
300
297
331
337
283
346
372
348
314
353
355
335
212
266
303
280
394
302
316
295
291
375
251
262
341
373
297
387
403
331
342
280
285
330
321
291
367
306
302
305
337
330
272
360
386
445
397
343
321
385
350
292
336
329
305
244
344
299
264
293
263
290
343
353
384
298
321
295
319
303
293
253
295
320
257
288
288
254
277
367
320
234
253
348
290
282
284
358
277
351
275
344
336
323
287
374
377
231
264
263
296
317
363
233
318
300
342
317
367
302
331
321
371
310
245
318
278
306
331
323
295
277
341
342
287
357
321
361
350
348
416
345
312
334
354
272
304
336
384
406
357
258
335
359
282
363
271
335
382
376
318
310
301
315
199
368
316
382
316
277
321
273
317
327
327
255
325
359
209
293
315
310
295
303
340
354
302
333
254
298
364
335
377
345
398
296
331
309
314
279
374
295
395
405
311
373
263
333
323
318
315
323
306
330
325
205
390
336
305
323
341
308
316
401
277
310
297
250
319
304
249
290
343
360
373
313
310
298
252
291
325
262
343
295
244
291
304
203
285
321
247
313
281
374
333
333
316
318
366
389
425
333
345
307
347
196
287
292
335
296
298
343
375
306
346
376
279
366
220
265
330
315
343
262
311
313
297
406
314
293
361
379
360
212
322
331
258
369
314
300
377
389
286
402
239
288
328
310
279
235
324
295
332
345
389
306
316
432
267
333
354
296
326
401
324
297
362
277
385
273
300
319
274
324
280
295
278
353
270
347
320
277
274
284
349
313
299
279
375
346
336
223
379
248
322
367
250
311
296
304
281
312
295
375
270
338
268
246
321
340
375
297
250
309
292
350
354
357
337
312
388
397
293
315
311
305
329
360
335
364
380
320
339
302
419
400
348
305
313
400
401
355
298
308
271
317
361
326
378
288
269
265
308
348
380
370
367
277
370
361
309
327
324
332
335
319
345
323
307
411
338
347
364
338
292
333
320
270
329
173
336
368
346
303
331
310
275
351
401
361
294
299
272
292
224
389
327
284
296
319
282
305
384
293
360
338
213
299
331
344
382
318
271
288
359
307
335
207
308
276
329
358
348
343
250
272
252
331
336
302
303
236
326
304
297
301
336
335
320
328
272
263
315
254
339
322
318
328
257
350
278
301
267
376
355
281
306
320
350
349
340
254
264
348
356
383
322
278
271
238
326
228
351
266
361
395
423
302
321
265
376
296
332
286
408
397
299
249
228
354
348
329
312
291
343
376
285
298
354
254
264
336
264
374
311
267
169
337
339
223
265
250
273
310
373
353
240
290
293
305
316
194
345
340
279
305
334
271
291
277
368
340
304
343
288
226
351
320
299
304
287
324
272
265
342
321
329
356
386
322
303
293
282
311
310
212
266
304
319
356
305
307
277
300
332
338
354
394
280
318
284
320
395
318
415
310
289
330
280
338
298
370
199
379
353
385
326
337
315
380
353
360
330
217
358
286
312
410
360
291
295
252
280
383
305
261
296
324
257
344
325
286
314
289
298
332
281
241
282
277
352
340
312
379
354
289
371
288
251
289
325
285
392
369
314
208
279
254
340
362
354
320
306
260
393
257
372
269
365
336
269
335
410
274
358
343
259
334
285
348
292
357
323
288
283
305
321
265
382
364
316
330
249
314
271
303
286
330
332
294
317
255
369
298
301
294
325
378
279
311
333
275
299
300
316
437
291
256
219
380
309
348
333
249
315
342
317
350
271
216
352
394
369
360
331
299
305
189
340
343
316
355
316
200
322
393
380
325
302
358
358
284
406
275
346
295
245
305
324
363
248
349
177
347
254
274
384
303
310
333
355
328
308
329
240
354
313
376
301
354
296
314
348
344
311
338
303
290
313
305
313
318
330
267
233
309
312
365
348
290
333
362
292
346
362
364
303
323
313
341
326
389
324
368
293
401
306
296
310
322
301
259
282
325
322
312
343
273
453
317
282
250
281
368
397
328
355
346
296
314
320
233
306
343
288
318
300
284
257
316
350
313
300
284
281
308
324
375
341
290
409
314
351
313
380
365
317
220
247
384
324
382
254
305
350
344
315
295
320
339
297
273
403
225
309
274
333
389
312
327
352
385
275
348
285
318
278
320
238
302
339
371
353
277
357
276
326
307
299
284
352
283
309
312
398
283
344
405
297
263
288
335
366
221
368
338
243
375
412
387
336
219
342
328
394
307
325
307
329
395
323
278
373
309
318
277
302
270
297
246
271
301
307
343
357
343
328
345
356
259
323
366
356
376
311
334
365
337
376
236
210
297
371
281
358
322
279
305
323
350
398
356
261
301
262
365
344
291
263
340
270
223
176
385
354
300
299
378
265
293
262
373
295
336
302
248
329
362
303
370
269
255
349
388
329
337
354
392
296
337
290
281
316
355
370
302
299
250
351
231
297
304
345
263
275
361
308
339
314
347
293
285
304
290
397
300
367
383
306
352
330
306
315
312
365
399
312
177
321
271
386
278
305
267
308
278
334
369
371
302
250
277
359
344
305
355
281
406
356
287
319
319
349
315
276
381
325
349
241
350
190
324
337
339
305
319
317
309
338
289
284
299
291
403
334
379
331
311
322
372
322
310
298
329
316
358
286
321
295
282
223
349
320
292
278
314
338
389
320
294
391
219
355
223
323
219
272
245
357
249
331
342
339
402
315
316
297
321
359
272
315
292
376
230
295
334
380
290
350
315
312
307
305
329
318
202
384
282
343
324
276
236
350
317
255
366
345
328
315
325
329
301
326
332
328
306
299
286
261
310
343
305
387
262
335
322
391
372
348
316
272
290
258
275
350
311
274
321
346
340
340
253
296
278
308
352
371
368
294
304
325
354
376
266
299
293
298
327
311
307
312
333
338
278
325
328
326
306
302
330
281
266
272
310
374
296
331
296
288
324
342
319
280
297
366
286
322
327
319
340
321
337
346
303
381
332
256
381
287
354
326
246
339
354
365
288
274
328
326
362
301
426
372
328
386
315
319
271
361
351
359
390
258
303
260
377
315
348
239
436
298
383
283
318
313
324
325
422
340
382
254
316
337
365
406
283
313
339
359
337
305
260
232
308
343
314
264
270
283
292
303
325
249
311
344
245
294
328
382
327
269
307
245
325
277
343
263
366
266
352
319
265
314
318
321
264
269
260
322
349
221
386
294
358
328
308
365
334
325
336
268
289
149
326
282
247
338
325
345
300
211
318
331
295
312
264
337
349
375
258
272
354
332
310
315
337
310
285
252
348
239
308
302
314
298
183
276
295
413
324
254
381
342
275
362
332
354
324
265
294
266
321
357
251
326
291
374
317
379
203
419
316
309
287
311
363
280
354
303
214
285
311
299
401
359
310
422
289
287
302
340
278
335
344
297
319
285
252
311
280
308
320
275
299
394
333
177
308
309
356
257
375
388
246
264
302
329
299
293
279
328
384
415
264
339
275
255
348
276
317
332
325
352
353
329
271
295
382
359
304
222
280
250
369
333
351
271
372
362
281
301
348
288
293
379
310
373
373
308
313
344
426
376
255
312
289
302
352
256
317
289
385
338
253
261
306
273
331
351
323
376
292
285
293
291
333
360
354
268
281
272
231
311
295
285
397
316
312
274
331
324
232
308
330
271
296
276
261
347
319
262
290
307
265
318
304
230
335
369
247
306
350
305
320
294
367
356
299
362
364
368
225
304
311
373
356
359
214
329
453
295
353
269
305
347
275
254
316
273
354
315
256
283
267
349
266
250
387
322
244
309
318
357
287
383
278
304
279
346
294
265
246
358
341
401
373
311
319
303
299
299
291
202
335
331
316
344
388
262
287
246
341
356
394
279
333
315
344
337
336
242
300
346
357
232
308
318
225
409
325
314
281
325
234
272
309
389
297
319
297
224
328
324
308
256
395
284
306
259
255
245
320
322
226
315
315
315
403
264
340
266
334
352
329
308
292
333
282
326
258
322
307
323
367
347
222
294
366
321
324
360
280
317
281
361
296
303
305
343
318
235
325
278
266
346
329
297
357
327
346
295
302
280
276
299
282
358
272
344
361
364
297
433
324
286
341
221
335
345
284
295
390
262
302
352
305
242
318
287
254
193
306
278
325
326
329
392
324
386
326
343
315
360
379
335
254
275
265
280
321
322
292
323
299
330
307
384
305
260
268
314
295
396
313
337
344
339
285
291
274
280
359
287
236
372
357
256
358
332
382
240
355
273
304
328
303
265
221
363
241
381
367
359
312
388
284
337
256
344
250
293
269
314
342
340
234
343
357
239
314
360
319
230
315
275
337
324
316
331
348
348
358
311
317
304
269
275
371
324
339
383
385
292
388
280
299
347
327
288
323
359
405
297
307
229
313
327
339
274
341
333
311
225
312
346
315
369
336
291
356
327
210
280
301
320
292
306
368
316
313
326
372
376
330
271
316
344
252
321
307
367
330
280
293
306
322
329
375
282
298
296
247
338
268
371
228
309
310
293
294
294
349
330
358
298
292
293
334
336
389
360
384
288
265
216
309
299
328
250
331
376
303
290
310
207
270
392
251
338
305
257
356
273
326
345
338
359
266
337
318
323
278
242
259
177
285
265
245
367
369
316
305
284
368
248
410
295
315
327
323
355
321
358
315
349
374
319
345
315
274
364
272
330
270
254
359
362
398
336
348
267
267
260
413
371
323
374
365
319
281
333
309
344
291
319
325
325
322
333
282
326
270
336
371
258
261
410
261
280
314
220
350
322
271
302
234
382
316
235
313
330
278
298
328
266
275
250
287
368
291
375
320
320
319
232
356
330
265
277
218
337
307
277
326
408
346
265
244
194
364
271
322
347
273
301
331
299
317
305
297
275
315
242
289
336
330
328
349
308
309
344
324
370
333
287
164
299
283
268
398
296
342
218
293
320
340
294
334
344
268
255
329
329
290
313
370
337
367
294
294
326
295
335
278
264
273
293
304
215
284
344
277
273
277
270
306
343
351
333
334
352
312
386
354
327
358
290
334
365
255
338
350
312
329
318
252
343
320
323
348
330
380
394
318
284
323
331
304
357
324
431
364
277
343
335
313
344
351
253
332
365
308
245
321
359
366
343
320
242
317
343
363
329
296
280
303
237
269
262
292
359
300
326
342
382
331
283
401
293
338
352
287
270
222
315
255
269
373
342
325
319
319
329
244
332
367
350
355
372
295
361
323
344
299
340
334
274
248
340
312
355
306
262
330
268
237
283
347
205
342
330
313
361
319
327
382
284
315
276
328
286
295
324
354
300
362
313
363
405
259
334
390
369
242
284
366
234
319
382
271
315
333
297
375
376
399
330
329
286
380
340
389
261
241
319
308
278
336
314
316
297
243
338
333
326
281
318
283
277
294
366
260
341
313
325
334
335
281
233
334
337
249
284
313
314
320
387
313
333
236
327
324
333
286
305
362
303
299
325
260
311
290
361
269
321
343
356
326
325
391
359
275
241
389
403
359
316
354
313
372
291
361
252
239
283
353
244
381
304
357
306
237
271
253
384
281
405
356
287
351
307
296
292
306
334
382
336
247
328
331
342
306
314
319
239
325
330
345
310
285
397
314
236
394
389
231
282
330
312
336
334
328
277
359
330
187
303
332
385
330
285
347
275
408
312
276
324
288
273
279
289
340
376
353
342
287
282
339
321
328
279
364
295
310
311
332
348
348
267
385
243
301
336
321
307
255
351
278
381
285
362
226
349
300
367
307
264
298
236
256
340
359
365
307
272
319
320
326
351
325
241
315
383
330
323
341
283
328
320
315
298
257
297
327
309
323
299
317
270
325
352
318
360
261
378
277
301
291
310
300
359
232
310
291
282
313
328
277
350
323
299
298
314
358
368
364
365
313
262
273
399
353
326
324
302
309
299
349
390
243
317
248
316
331
293
291
308
274
327
359
353
231
327
380
268
305
341
393
344
282
287
344
263
310
275
331
250
286
252
238
231
365
309
298
367
288
339
313
267
379
328
392
331
392
428
299
257
346
362
298
316
240
352
387
311
333
351
272
369
322
321
372
331
287
339
354
327
350
264
285
233
377
300
285
308
273
351
345
443
329
343
309
335
351
292
312
346
315
328
375
231
279
297
296
277
264
376
251
304
188
368
332
264
271
313
328
274
374
321
340
366
277
308
319
270
338
276
304
266
182
358
343
255
329
366
306
248
319
203
272
308
307
357
379
273
305
317
338
312
359
312
322
343
362
316
325
332
280
339
268
268
353
311
352
331
277
318
289
273
341
282
237
305
296
292
266
303
251
200
348
286
279
366
338
326
259
383
322
404
272
252
350
329
319
417
261
381
334
294
271
350
265
319
329
292
297
293
274
275
340
386
268
301
341
355
353
326
235
214
277
305
261
375
282
234
347
356
315
325
363
372
382
324
297
308
340
336
358
269
281
255
336
321
327
390
365
334
269
420
235
364
332
294
337
299
304
274
237
359
380
415
346
337
360
279
370
329
315
303
339
336
330
371
291
350
344
310
339
321
330
308
248
289
278
351
234
312
304
291
300
314
367
415
269
287
363
319
332
351
404
378
318
192
350
299
326
322
333
361
464
192
318
358
317
314
237
347
367
245
244
396
355
243
340
359
354
269
312
317
259
357
271
323
319
358
336
301
348
314
292
408
356
309
254
325
321
272
317
279
322
265
405
233
318
324
384
336
310
355
261
433
363
251
280
269
285
281
324
345
306
283
338
279
390
340
282
351
363
329
351
244
307
354
399
286
302
328
287
217
333
261
309
392
394
328
235
265
314
284
329
283
309
367
293
317
395
264
358
302
299
355
210
334
245
337
328
340
359
392
321
360
327
354
283
282
283
312
266
333
338
358
288
325
286
295
300
338
390
296
380
289
342
283
275
361
405
329
418
335
294
326
336
322
333
308
268
324
122
337
315
378
364
307
388
372
310
342
304
312
314
339
306
306
318
194
335
272
367
298
292
300
290
269
240
379
355
343
374
364
245
359
295
337
246
312
302
336
365
223
321
300
212
293
296
323
349
284
335
309
234
296
335
304
291
343
314
279
310
298
207
339
348
226
296
262
254
284
450
331
375
269
337
374
291
262
328
279
313
380
226
292
321
293
363
316
339
286
276
275
309
293
259
302
321
278
350
268
246
332
368
329
249
357
349
256
353
351
293
290
342
389
276
302
400
333
322
294
303
274
350
362
328
330
249
318
378
282
368
353
332
378
317
352
367
359
324
313
337
295
278
335
319
334
296
272
355
333
354
348
304
293
346
348
254
270
349
357
286
354
322
311
248
273
299
286
254
384
350
194
315
342
304
360
310
263
329
294
390
306
337
318
302
334
320
263
254
311
356
321
289
323
305
268
399
342
355
299
365
391
294
329
291
295
361
348
371
417
385
359
312
275
311
304
281
361
425
254
328
377
211
313
330
291
306
308
309
310
333
212
295
282
279
307
300
379
346
354
306
346
319
380
298
328
343
311
368
285
293
335
294
322
215
294
320
321
312
268
377
275
366
222
368
319
273
252
271
302
261
339
386
245
304
366
298
363
328
358
375
245
362
279
297
268
308
410
360
327
296
323
347
313
313
335
335
357
353
301
216
277
376
338
326
353
268
290
335
394
313
330
256
288
266
292
330
278
230
320
322
364
253
315
341
340
274
244
330
263
352
290
269
250
410
357
247
398
288
292
302
313
323
242
316
383
374
219
346
360
276
427
337
319
337
285
355
356
315
243
306
407
286
321
329
276
294
397
283
414
318
294
276
191
324
283
268
238
379
379
353
362
278
380
373
352
284
341
293
377
381
320
285
252
365
365
341
387
383
357
378
351
292
361
361
274
309
277
342
295
273
357
265
389
265
307
282
340
316
312
337
355
284
304
289
304
391
380
287
381
352
272
299
237
319
291
285
221
377
353
363
337
321
336
272
282
358
290
290
356
313
354
355
283
265
337
259
343
298
305
343
276
215
304
347
278
323
325
319
320
274
308
257
307
347
299
335
349
264
303
374
321
338
322
347
288
333
316
247
217
312
366
340
337
335
284
281
326
363
203
270
368
300
317
330
356
283
294
296
227
347
330
351
269
356
331
329
352
420
271
303
376
358
296
295
229
262
340
345
287
344
307
272
356
315
256
392
337
403
291
323
336
346
350
246
316
327
264
305
270
276
321
338
384
320
347
247
300
317
274
312
339
303
320
273
272
310
346
293
255
241
343
356
273
327
301
288
361
222
332
296
210
344
259
381
366
313
342
351
257
218
234
411
338
323
304
277
247
301
337
270
288
348
374
375
378
303
296
326
375
358
267
317
290
485
256
317
313
311
282
361
403
288
321
277
277
376
294
280
396
314
288
376
341
336
309
296
315
321
270
245
239
275
305
292
284
259
226
336
280
407
310
281
338
375
270
340
358
380
327
287
333
295
401
235
290
325
288
324
307
266
381
254
338
357
291
304
347
331
373
255
361
297
255
335
368
240
330
249
331
280
376
345
244
272
332
288
275
359
388
276
260
289
317
326
225
399
280
296
356
328
398
383
245
331
330
344
394
219
290
354
253
321
347
293
427
317
263
413
368
376
304
310
242
401
303
324
301
357
348
297
370
288
270
386
363
288
269
308
386
361
436
355
378
356
360
332
258
371
280
279
339
313
221
333
341
257
314
279
278
309
309
245
382
273
346
309
326
399
302
362
264
298
271
261
324
279
282
372
360
323
364
330
300
277
222
271
329
231
316
250
323
290
261
237
272
318
296
294
282
322
323
219
391
236
287
373
321
308
327
275
324
407
370
277
240
329
355
354
309
395
339
334
314
295
271
321
306
299
332
314
325
218
377
341
358
323
332
295
346
268
251
283
278
297
264
397
295
258
298
293
229
347
344
330
286
276
269
275
264
347
275
353
216
302
290
290
296
333
287
337
246
266
276
279
270
272
280
387
377
390
283
303
279
369
355
333
350
300
319
330
291
404
245
288
309
326
271
296
255
314
291
272
317
261
271
272
298
331
317
378
313
295
304
282
289
203
336
325
274
351
336
192
360
405
355
362
328
239
318
275
269
316
362
370
330
381
275
278
297
359
343
275
328
321
321
300
335
266
235
320
301
322
215
265
270
412
260
297
291
276
329
301
294
305
384
387
272
299
349
327
403
264
242
222
360
217
324
273
386
370
367
286
325
302
309
288
284
314
331
287
388
332
337
263
367
369
290
338
223
341
295
315
295
357
308
327
356
240
275
316
293
284
378
332
286
308
372
282
382
288
303
291
421
229
304
290
254
318
352
348
321
277
270
338
314
253
373
302
357
394
304
364
306
358
355
334
293
358
281
215
321
298
356
244
228
372
261
334
236
280
314
213
370
282
237
339
308
317
333
353
349
294
280
270
365
309
389
327
315
344
294
294
337
269
329
371
311
355
286
317
340
297
327
345
309
319
289
349
319
291
326
336
347
318
325
284
331
320
325
330
291
297
272
333
303
270
276
314
397
342
319
253
291
395
417
339
298
267
270
294
305
403
292
361
279
373
270
364
270
313
331
311
291
285
273
305
366
295
346
297
367
352
324
376
301
278
283
306
289
366
340
322
362
324
277
325
223
322
351
332
292
351
326
234
360
363
316
310
344
252
306
330
319
313
333
315
302
319
355
366
312
235
296
254
274
314
366
345
241
303
300
369
272
320
328
304
374
269
426
282
304
295
306
344
355
237
378
331
311
330
317
268
339
325
256
234
294
405
366
367
275
348
346
250
285
394
248
319
257
299
289
312
269
287
357
296
236
265
321
362
307
248
242
264
328
237
336
304
337
285
300
335
378
209
287
329
320
306
333
334
271
350
331
310
300
386
357
306
364
358
371
415
353
298
373
310
325
356
382
256
291
234
242
380
356
302
320
344
364
251
354
312
281
262
254
365
334
348
172
305
359
335
297
330
310
334
349
361
342
374
302
338
255
396
364
309
351
306
282
276
257
363
300
271
261
342
335
273
308
345
253
307
303
282
394
272
348
296
350
376
218
247
276
307
294
288
277
300
337
316
337
364
297
326
294
318
262
261
375
288
382
292
323
270
308
311
295
329
310
360
257
329
287
307
303
271
343
295
270
383
343
327
376
282
302
309
316
273
321
347
331
420
223
331
292
278
303
266
306
381
352
319
312
283
350
279
295
333
416
327
295
265
298
369
383
292
285
372
323
308
301
312
334
326
363
266
372
267
283
325
317
331
343
306
276
255
304
275
310
320
294
343
282
380
293
356
301
313
311
338
317
297
319
326
244
270
325
348
344
323
392
284
319
325
192
369
251
297
295
275
242
245
356
309
283
390
312
274
402
295
402
263
246
275
323
422
271
278
386
304
281
318
361
357
335
329
317
261
399
294
293
352
307
349
274
348
244
298
296
270
334
332
279
345
301
277
389
287
338
341
330
376
348
329
299
371
362
308
332
345
311
314
283
277
283
328
346
338
292
354
335
313
403
315
276
293
337
338
338
279
237
278
371
283
260
292
321
386
323
312
357
273
342
318
280
236
305
314
294
331
313
302
277
372
327
416
230
332
302
329
275
279
289
230
326
371
390
354
316
333
326
262
201
283
360
301
307
322
339
368
335
321
363
304
287
389
311
303
343
406
324
318
314
304
343
352
317
310
346
348
349
358
348
328
307
363
291
294
343
313
282
317
277
253
317
301
283
299
290
287
272
300
406
381
273
341
304
276
299
269
313
312
357
393
309
372
272
272
304
435
288
288
341
267
302
281
367
296
306
314
296
301
315
352
358
304
391
323
344
398
295
296
285
291
458
358
338
296
321
258
394
303
233
401
327
328
401
356
258
263
315
328
258
243
272
317
299
330
214
344
296
306
373
334
357
272
304
332
379
348
208
292
341
312
291
304
373
389
437
341
342
301
275
304
306
369
242
324
355
284
362
336
388
399
303
334
343
318
327
314
352
289
299
352
343
313
371
301
339
386
265
289
328
337
291
249
358
271
337
259
337
337
332
348
287
403
316
248
344
317
337
322
265
287
283
297
255
269
310
309
340
247
350
389
324
362
300
249
300
328
287
305
341
328
340
230
358
303
330
335
395
254
322
330
376
376
296
431
349
392
252
264
318
271
283
311
307
305
351
362
329
265
356
327
265
303
361
324
313
268
268
289
324
391
375
234
315
301
275
410
393
294
416
301
331
292
323
326
249
328
279
333
233
405
350
328
341
343
303
324
355
269
308
379
354
377
382
273
294
337
256
250
331
301
358
263
365
308
369
350
306
297
349
324
322
342
248
335
300
371
388
321
247
347
273
318
319
334
359
289
287
306
364
289
368
315
286
319
296
317
221
290
294
315
293
287
317
333
289
301
281
375
267
394
364
338
345
351
294
296
286
317
380
335
359
280
321
321
258
239
348
363
222
401
263
301
332
307
301
263
281
319
328
254
252
289
303
256
352
330
418
311
313
244
372
290
393
271
308
357
309
362
368
301
247
335
353
371
336
315
280
336
373
255
252
281
224
339
397
334
301
388
381
312
277
206
233
224
351
353
323
257
354
234
302
367
351
320
266
346
353
327
270
338
292
298
240
290
227
377
324
348
284
360
308
358
330
317
390
308
329
287
306
332
318
319
241
246
364
299
235
302
346
275
369
337
326
321
281
273
322
407
319
217
319
352
274
259
290
253
382
337
366
344
361
320
361
308
316
335
291
341
319
234
292
320
282
317
263
288
295
278
342
270
350
259
314
276
277
286
357
310
206
349
267
326
218
345
334
302
220
360
323
280
360
291
275
322
307
280
262
308
316
385
358
245
404
263
322
351
427
360
370
231
329
343
379
325
273
236
369
339
283
229
369
354
231
149
241
287
290
302
294
275
315
232
223
222
341
305
298
272
368
391
260
340
258
418
286
400
280
312
297
255
324
348
338
339
288
328
287
273
408
325
300
299
299
281
389
308
397
406
250
200
318
422
390
382
311
350
336
332
349
248
279
354
324
330
361
308
384
379
302
209
315
284
411
281
396
375
247
273
292
273
379
249
273
373
333
359
298
252
357
396
334
377
381
255
388
325
350
302
259
352
258
351
323
357
373
262
365
264
337
352
279
272
254
318
246
308
375
308
244
316
244
299
344
251
370
272
319
306
309
310
302
338
357
303
335
313
298
223
254
394
249
301
248
318
307
311
223
312
269
323
243
362
281
282
233
377
355
347
300
336
350
370
403
366
346
318
345
361
379
241
313
321
372
368
352
340
278
314
285
379
316
359
340
325
334
305
299
351
295
317
273
283
290
249
275
361
274
347
313
254
340
347
322
347
380
251
289
297
376
301
270
257
283
256
304
394
409
385
266
373
381
292
217
298
312
368
256
253
298
302
348
298
296
310
270
297
338
230
223
405
380
259
401
259
275
321
373
255
356
295
278
331
345
316
327
330
304
319
279
335
363
308
313
277
312
263
414
343
281
340
302
291
319
437
350
328
318
337
258
341
338
191
298
286
275
294
258
290
339
222
371
297
325
281
325
397
278
341
348
332
376
338
287
258
351
324
331
287
355
312
262
203
250
365
351
322
326
369
348
326
291
363
301
412
294
323
319
315
293
340
337
371
266
239
391
322
339
336
277
432
328
251
280
334
330
311
323
385
414
289
271
363
261
322
269
306
409
301
271
343
306
298
321
351
196
293
368
404
299
314
314
315
307
304
353
239
317
382
431
367
333
346
245
298
319
331
296
272
298
327
243
352
281
320
316
355
237
362
309
343
304
327
367
324
308
346
291
329
315
277
307
307
394
342
274
295
419
341
231
264
303
384
245
318
341
347
252
284
327
274
330
289
302
352
303
368
353
300
216
304
328
293
344
289
350
335
308
265
314
356
299
329
256
364
308
299
356
278
301
238
347
295
323
324
387
233
291
272
274
319
323
337
277
376
375
393
371
295
267
244
342
349
254
348
299
297
260
305
297
223
347
277
307
317
315
378
387
280
343
345
235
292
360
200
321
284
333
313
397
337
341
349
314
304
299
362
277
316
278
300
358
416
343
308
316
266
280
323
338
297
291
315
237
252
286
287
345
376
338
383
285
255
362
342
349
368
293
275
355
345
342
358
271
366
350
274
363
302
276
314
339
194
329
310
321
251
363
357
277
325
338
260
324
323
313
391
336
361
279
400
379
316
382
339
294
296
337
313
311
257
354
375
431
334
344
364
392
371
342
344
362
364
210
372
339
294
295
376
324
338
303
277
286
309
304
323
332
253
310
290
320
335
259
378
249
224
347
289
276
295
281
328
384
346
410
349
297
290
280
283
324
344
294
309
272
298
282
257
363
305
342
374
344
237
381
247
275
279
302
265
382
324
420
332
375
262
272
297
320
378
320
366
322
360
290
312
303
285
324
332
346
292
275
329
250
240
398
247
372
246
343
322
410
326
351
370
204
300
272
306
281
369
333
371
301
311
261
330
348
288
348
329
298
288
354
304
321
210
279
332
313
278
330
238
283
244
313
250
347
310
342
296
353
276
276
324
294
343
341
274
344
285
242
276
257
356
290
259
270
277
349
350
342
290
317
285
349
159
326
269
263
314
333
326
354
348
291
258
327
295
256
329
319
326
328
370
294
352
263
403
321
282
280
207
322
252
399
325
316
349
353
310
348
330
288
291
303
323
277
276
257
366
365
337
309
267
312
317
272
264
283
288
295
263
392
386
322
308
348
228
329
328
324
290
349
308
370
379
354
318
298
350
339
287
304
358
301
349
265
405
241
361
242
270
298
237
298
314
305
337
281
265
292
324
335
302
318
349
288
310
259
319
338
262
323
352
295
278
317
332
357
320
311
302
364
364
293
278
379
330
274
339
387
314
315
318
266
330
285
320
262
318
332
352
274
352
291
383
353
304
267
355
347
338
238
376
216
255
361
335
328
352
357
383
314
235
313
311
356
280
319
294
287
299
382
347
369
319
322
344
353
339
325
322
376
345
349
347
360
385
358
288
388
317
364
314
267
305
240
322
302
331
373
313
292
321
286
346
216
287
343
358
314
321
359
242
280
340
350
346
340
375
301
338
299
291
389
324
340
278
258
279
329
324
387
328
303
359
289
305
348
287
286
389
314
297
314
292
395
367
308
285
391
302
271
326
369
349
272
288
299
320
268
283
301
343
330
304
348
303
284
282
268
332
379
341
382
327
378
267
362
217
233
259
356
306
250
274
332
377
360
360
243
295
417
334
251
351
363
370
353
330
317
306
359
335
324
331
316
315
227
304
351
325
311
301
292
305
306
304
307
290
372
370
326
366
288
298
348
319
334
183
307
352
331
316
282
346
310
326
366
336
334
348
389
340
352
314
351
357
379
353
323
290
387
294
339
319
354
347
221
261
309
323
275
315
342
358
324
308
338
310
220
297
339
315
381
339
221
319
375
310
383
329
324
303
258
333
326
284
421
309
325
371
338
196
347
265
392
269
325
301
326
338
240
366
304
291
313
357
275
333
315
311
287
302
247
372
373
319
368
307
322
254
264
309
265
294
308
351
389
377
363
308
363
297
368
298
264
360
364
336
422
354
215
259
349
335
327
292
240
382
262
392
314
315
331
340
358
355
293
280
284
283
305
226
275
269
393
321
300
299
341
357
334
237
325
315
311
282
311
277
407
339
266
329
324
301
270
364
349
337
302
286
302
276
393
336
313
277
353
364
390
360
183
336
313
306
297
290
273
382
316
312
339
250
293
269
346
285
308
274
343
314
270
301
294
317
353
307
313
277
279
278
376
271
323
326
387
266
255
391
354
270
305
325
295
350
314
338
235
275
223
399
306
358
240
198
272
262
312
289
250
367
413
352
327
277
320
307
309
285
337
348
239
269
351
329
219
293
278
361
328
320
311
304
297
322
335
286
328
292
418
309
263
352
342
310
401
376
330
286
348
283
382
336
297
297
356
220
326
212
327
272
345
398
288
376
270
331
306
359
295
325
383
277
373
352
323
315
375
352
299
422
247
324
270
376
319
331
319
269
293
246
289
343
293
214
306
387
361
310
335
323
344
369
282
282
347
342
267
299
335
314
311
324
380
332
348
329
399
313
396
214
349
320
341
269
342
316
274
295
346
322
315
324
198
341
292
290
213
342
335
236
266
426
266
330
265
294
300
298
330
363
258
343
289
378
295
283
343
301
297
316
275
340
281
369
276
347
338
319
289
341
328
297
367
296
285
328
309
351
305
228
332
328
255
288
245
300
298
242
330
368
352
405
262
384
318
278
309
325
322
379
375
324
296
334
341
268
369
297
283
367
311
303
305
325
278
339
314
373
338
348
353
277
297
297
329
239
292
342
390
385
291
261
306
287
351
373
349
379
351
252
374
247
315
403
302
357
352
305
338
338
314
288
297
390
222
392
291
327
298
340
289
290
353
292
314
343
370
287
285
298
340
206
318
368
360
291
249
349
327
335
294
374
311
379
321
365
374
319
290
303
343
277
292
262
274
369
341
342
376
289
408
376
315
309
306
257
307
262
348
255
297
274
286
249
265
390
377
296
258
326
327
351
313
291
391
389
374
310
243
218
340
280
250
360
208
262
366
373
308
292
343
274
268
212
397
374
322
350
316
271
302
263
238
292
329
302
324
292
282
300
371
355
298
250
355
380
292
325
344
333
260
353
351
253
358
347
283
327
198
297
440
310
285
369
306
295
331
281
379
404
340
338
227
341
350
317
332
335
329
263
367
331
318
300
347
350
384
337
221
365
347
313
342
290
318
295
270
384
296
300
342
322
270
303
293
293
295
270
297
270
333
371
301
314
318
287
286
310
370
394
358
396
431
230
304
255
309
241
282
289
234
215
347
264
347
334
337
283
303
305
276
286
323
313
314
269
318
298
263
250
305
259
308
246
322
360
290
226
305
271
364
342
287
362
375
334
309
272
257
321
319
366
306
320
284
211
246
355
222
276
351
313
284
216
294
379
293
285
295
318
311
326
335
252
277
372
253
278
307
303
290
218
342
331
319
225
391
400
290
407
361
398
300
321
267
388
295
326
312
317
319
285
346
338
345
282
266
323
298
269
314
286
278
304
403
383
285
252
361
279
397
269
388
340
353
350
388
231
357
358
367
324
284
276
291
318
234
294
313
286
266
411
281
323
281
362
330
353
324
277
343
283
236
367
364
243
298
296
397
334
335
308
327
316
290
395
366
297
366
330
355
290
329
320
265
295
319
313
296
290
274
275
350
324
328
256
239
381
337
228
260
306
284
269
283
382
314
384
322
331
294
334
337
310
301
323
239
327
306
311
350
345
270
293
279
307
397
379
303
347
336
278
382
259
328
356
395
310
305
329
315
236
324
271
283
256
356
346
288
345
283
384
411
346
390
280
311
393
297
288
359
371
287
351
344
312
363
297
336
316
249
299
337
308
300
361
312
318
219
301
289
372
265
347
247
340
343
360
292
343
304
300
297
386
308
311
357
319
287
396
282
358
391
300
378
218
279
286
316
344
303
222
358
255
316
364
256
345
273
338
297
348
293
298
307
326
377
342
291
257
371
329
339
285
275
314
236
388
352
267
321
380
396
266
303
300
313
343
370
367
293
245
359
345
323
313
307
285
330
300
338
323
316
259
372
290
297
315
336
332
339
271
321
251
283
353
388
335
294
304
279
303
353
324
242
369
348
251
329
273
341
267
328
289
329
246
355
291
273
383
290
279
267
279
320
341
363
329
308
298
331
296
352
378
350
307
365
298
266
364
359
366
291
298
319
264
285
344
249
304
249
313
375
276
341
279
237
309
371
391
328
279
299
343
308
294
316
371
354
383
321
306
325
328
227
248
249
335
360
318
371
332
246
209
264
253
294
323
344
295
416
302
319
299
351
317
364
319
302
322
283
244
230
316
260
319
256
332
276
293
287
295
256
303
340
329
271
392
302
275
351
332
266
340
340
380
320
269
323
272
271
274
324
334
332
347
357
259
309
310
314
304
393
375
317
285
326
325
276
311
240
349
240
327
392
306
338
313
288
319
251
279
304
331
348
278
345
371
356
314
305
349
345
254
275
309
323
332
365
380
249
320
345
380
344
395
317
313
273
217
346
386
368
343
289
339
407
323
405
271
327
347
247
267
309
353
378
256
318
291
291
391
274
281
327
331
318
364
262
273
286
256
358
319
282
373
214
305
304
311
309
255
362
307
331
307
342
380
329
330
295
383
258
347
294
352
294
277
361
360
322
249
384
272
251
337
366
350
331
361
312
318
403
343
373
318
356
291
298
291
353
289
358
336
242
325
317
343
366
197
337
282
318
277
299
296
370
302
350
366
328
369
325
351
429
326
320
283
197
293
347
271
343
290
301
324
287
395
301
220
278
326
334
220
285
396
342
337
315
292
292
306
369
298
293
305
348
289
287
354
318
308
297
342
229
357
400
337
295
320
286
265
232
332
340
403
251
320
325
310
278
251
397
234
384
276
386
361
273
292
391
267
272
299
305
329
333
324
340
270
359
297
346
315
306
388
312
265
315
314
292
314
380
352
306
295
222
270
274
377
324
277
290
329
284
215
204
323
314
273
266
272
338
428
236
338
345
243
284
338
228
394
306
247
350
340
389
280
316
346
223
310
287
396
272
389
286
284
264
303
353
298
332
357
282
319
334
354
399
335
302
316
326
322
308
337
369
317
287
366
290
276
310
308
324
297
386
359
409
290
380
284
359
367
345
261
264
358
269
297
322
282
289
299
304
317
301
280
297
353
322
381
339
347
341
314
351
362
343
370
286
321
311
299
348
347
336
346
346
319
302
321
318
313
313
345
344
329
368
404
259
345
427
309
235
365
344
335
221
320
336
261
317
353
328
264
270
308
309
337
341
257
282
423
329
299
320
282
384
366
308
405
373
298
436
357
351
350
337
279
362
311
334
321
290
293
254
370
318
350
220
255
357
329
237
257
368
329
279
259
281
264
324
292
334
344
412
353
279
307
371
295
386
302
313
336
315
357
267
278
403
257
282
347
351
335
370
273
311
304
209
367
259
339
300
391
321
284
346
343
370
275
249
355
342
390
350
335
278
396
364
326
332
298
348
256
300
261
227
359
297
370
304
311
204
301
233
322
297
342
322
365
289
298
326
330
376
334
295
305
332
362
298
396
327
390
364
360
388
256
264
286
278
216
279
291
315
246
293
254
250
338
361
357
368
287
403
314
368
334
293
393
310
313
310
296
344
338
381
308
334
235
239
353
376
284
334
239
267
326
322
340
226
283
312
264
360
261
313
353
274
296
306
285
369
320
278
288
345
279
368
324
332
280
229
234
281
306
319
335
246
327
219
347
326
342
299
291
312
351
418
266
246
344
326
190
301
378
326
285
244
326
363
245
360
404
250
344
269
247
292
298
231
315
315
218
331
357
347
295
353
211
396
295
382
344
352
275
344
366
223
311
250
318
385
298
250
318
299
261
316
343
355
273
283
350
272
297
312
342
295
313
342
391
353
314
271
331
248
264
353
362
323
327
305
303
332
332
299
303
308
322
295
321
265
376
307
273
222
294
328
322
304
242
330
325
321
385
226
240
335
341
300
299
346
244
329
311
369
228
294
269
394
277
304
378
263
353
376
308
310
329
264
322
400
282
306
334
314
349
316
372
340
301
238
266
253
278
296
328
342
243
248
249
310
256
374
343
290
369
319
254
282
214
408
261
282
350
308
311
305
310
322
285
288
391
371
294
317
242
287
351
250
279
237
354
225
382
337
254
287
208
420
268
311
244
347
298
325
298
342
304
223
272
203
333
318
277
261
375
339
244
309
310
304
354
346
410
322
354
372
218
360
374
337
301
293
380
292
317
326
387
290
321
352
270
234
307
309
353
308
249
334
386
236
292
326
331
311
368
292
302
324
390
291
353
346
359
236
356
344
421
344
251
326
319
370
269
329
311
302
281
314
278
313
296
237
328
325
353
302
368
357
265
314
339
417
332
232
432
336
318
305
206
348
324
258
300
301
255
336
308
319
334
240
298
264
350
349
328
303
357
343
346
323
342
402
385
365
305
321
311
273
407
336
294
294
335
312
301
289
361
306
341
303
349
299
308
320
309
341
396
274
277
286
255
330
336
272
271
322
293
277
318
353
395
347
271
294
362
367
339
291
318
365
348
301
307
311
336
325
322
293
309
327
341
322
249
363
386
345
339
326
387
325
325
289
351
326
333
292
340
337
316
308
341
356
325
351
289
311
332
326
315
308
345
365
264
314
376
251
391
287
388
301
327
329
268
295
359
359
294
324
376
252
340
249
324
314
297
345
351
363
287
309
276
421
260
256
363
289
381
351
376
282
326
269
289
294
283
353
345
327
247
276
297
307
326
396
337
361
298
251
276
286
252
270
335
275
386
357
292
299
331
356
283
309
311
290
323
287
349
208
322
346
340
313
317
358
298
310
271
382
386
349
416
339
255
299
309
246
371
289
322
263
294
333
309
306
197
283
359
346
338
327
334
352
289
411
251
301
354
185
313
324
288
307
234
312
388
314
294
339
243
312
300
236
347
302
346
288
288
336
287
290
303
243
278
300
352
288
352
316
309
223
278
252
368
272
235
266
375
281
325
290
309
320
318
351
275
225
317
392
292
188
362
324
265
294
288
309
304
398
353
296
307
337
284
326
273
326
293
328
371
294
322
279
328
350
299
354
309
419
273
253
301
296
392
232
318
260
233
306
360
296
288
314
304
332
295
382
340
343
429
322
318
386
294
310
355
250
330
345
280
355
251
318
277
336
229
259
304
409
325
330
332
370
373
355
342
273
381
359
297
360
369
370
361
455
297
284
270
411
299
385
321
242
281
451
373
318
259
378
294
302
221
351
318
314
315
318
358
409
366
212
312
331
331
240
274
251
382
280
273
253
271
264
328
289
418
423
240
319
395
331
366
287
368
314
369
309
424
331
328
350
300
254
359
173
294
327
265
319
261
340
275
278
352
307
294
375
332
294
251
282
309
271
209
380
309
293
259
400
263
351
308
286
317
314
314
346
320
399
272
241
314
194
372
288
302
216
364
384
231
291
295
344
293
366
298
306
192
310
374
353
445
322
303
264
263
369
383
259
338
364
356
317
361
320
376
381
304
287
304
294
315
259
323
437
359
400
357
329
309
301
288
289
332
314
291
326
363
360
294
318
365
413
290
268
315
327
437
252
297
317
383
275
258
318
312
410
403
389
335
243
280
362
384
201
301
292
390
209
308
298
416
316
286
340
227
309
330
260
390
308
282
298
350
291
293
361
378
362
344
249
360
277
296
320
359
368
323
312
245
319
337
232
348
339
258
287
271
342
282
320
349
358
363
234
260
429
338
286
303
330
315
274
277
384
303
185
291
260
287
351
320
233
311
304
320
347
242
256
299
298
365
302
285
288
308
383
395
284
300
240
310
304
325
257
311
337
286
324
314
287
333
336
341
327
318
324
256
296
335
312
189
335
381
388
332
333
386
303
337
248
334
390
300
412
373
265
275
342
313
238
373
299
274
384
307
286
402
272
310
331
284
341
338
357
240
330
272
331
331
393
334
237
342
255
343
290
356
268
312
343
306
378
242
354
375
213
295
341
306
389
369
369
319
354
309
231
302
367
314
319
377
331
292
330
293
304
314
358
341
392
302
294
214
297
248
341
404
339
359
330
316
299
252
269
345
319
307
323
266
322
264
311
403
358
329
433
332
282
287
283
341
252
303
295
299
331
317
293
325
281
279
331
330
372
330
401
350
272
277
330
284
348
327
302
267
400
301
331
263
301
287
314
385
385
305
284
329
253
253
340
295
287
357
335
305
306
400
337
293
276
255
341
231
241
442
250
248
304
234
380
329
343
302
393
334
422
198
324
327
342
339
298
371
295
336
329
306
287
328
359
301
382
380
358
266
366
298
242
258
305
268
334
284
294
310
380
296
236
422
281
244
271
355
331
300
258
268
379
278
374
300
352
332
329
314
318
342
355
302
308
323
379
393
287
355
318
381
239
282
393
289
310
330
353
299
352
319
336
312
350
318
251
331
301
345
293
254
324
350
250
275
327
357
371
234
255
322
376
342
306
325
314
330
299
256
355
276
222
290
369
297
349
303
256
321
300
238
253
324
346
224
345
358
372
315
345
371
393
343
291
305
320
271
365
401
267
360
311
289
197
345
338
311
321
341
243
370
295
325
285
258
306
289
359
318
311
387
302
340
341
189
284
291
333
391
324
298
280
337
324
286
356
336
290
280
294
335
310
283
308
374
311
278
267
370
355
402
274
341
264
299
281
306
307
339
272
303
327
304
342
351
310
323
301
286
293
347
300
338
297
323
357
199
385
396
337
371
306
356
349
309
309
321
331
365
291
361
259
366
325
277
354
400
272
258
278
306
319
277
324
292
376
359
426
317
342
359
313
365
286
299
310
328
364
297
365
330
371
341
225
318
279
215
281
354
367
280
336
304
364
327
290
353
286
213
269
294
333
328
341
296
374
317
293
297
364
305
278
227
307
265
343
285
344
278
273
282
343
330
336
403
337
331
288
276
235
348
266
326
305
364
308
392
278
261
260
329
264
375
297
344
277
281
338
251
267
367
314
360
283
349
339
297
359
327
376
350
293
265
309
315
279
299
377
337
350
287
299
298
234
242
306
345
328
306
395
309
320
313
337
327
358
340
281
352
288
348
376
299
336
349
307
415
277
363
256
317
366
330
318
289
348
235
367
213
291
270
354
311
375
366
318
243
307
264
380
171
274
367
283
315
371
363
284
347
320
327
320
358
295
309
265
318
294
349
345
387
189
418
199
328
274
307
292
285
339
276
393
285
298
257
319
289
195
302
311
337
363
325
291
356
328
294
312
302
274
249
297
346
259
294
280
297
320
356
299
361
351
344
299
401
363
221
321
351
246
326
302
354
361
291
255
325
403
353
349
274
280
323
294
325
330
326
348
340
389
284
335
355
294
350
307
426
397
255
301
370
378
422
295
165
273
388
350
327
345
263
330
326
330
255
300
390
302
300
263
395
306
324
320
346
265
266
279
311
361
318
311
336
321
321
317
349
313
304
328
375
228
291
250
388
289
370
377
268
340
315
255
320
342
387
282
290
242
337
357
327
309
292
299
249
317
320
355
310
299
331
285
272
320
313
350
363
381
343
345
315
295
326
341
292
250
307
345
383
283
265
257
286
383
333
313
349
275
246
279
349
254
293
327
342
294
224
307
250
219
336
310
378
344
387
334
375
317
333
211
338
237
385
371
388
296
203
340
308
244
264
349
336
275
300
359
309
328
366
334
241
313
327
305
277
283
304
367
376
400
317
282
359
295
286
277
327
256
398
318
316
291
269
294
301
301
288
342
282
362
295
340
375
337
322
304
336
282
312
322
362
323
297
298
324
294
326
275
394
289
378
317
326
291
317
342
331
326
348
291
405
314
291
234
244
260
359
329
332
341
287
322
271
351
273
327
417
274
353
254
228
351
335
360
305
276
310
327
347
422
303
392
304
327
363
305
284
295
218
357
265
310
381
305
339
247
392
302
248
263
273
348
338
335
310
332
335
307
361
336
319
276
273
295
287
354
327
384
289
369
381
235
344
274
311
240
291
293
265
341
352
343
289
327
387
315
337
317
300
334
325
311
250
272
297
379
352
338
382
293
275
238
347
268
271
340
279
289
339
342
369
361
418
355
273
294
328
365
278
336
311
213
239
396
307
313
262
270
349
247
331
359
326
276
396
295
255
357
353
351
387
393
297
357
284
309
243
318
292
227
271
344
262
354
277
360
271
355
276
352
324
392
311
328
309
380
419
340
313
276
341
416
324
357
302
303
302
251
267
300
226
304
327
380
328
184
339
325
351
314
232
271
248
245
307
376
274
259
399
354
324
372
302
259
277
267
356
226
322
355
307
316
304
358
223
345
345
301
293
400
238
316
308
377
222
266
372
254
389
268
320
319
293
306
283
296
288
377
355
249
425
373
282
299
341
385
325
327
354
349
315
316
377
372
325
384
279
387
338
242
271
326
308
307
375
381
276
297
324
255
303
292
353
340
301
332
338
248
354
280
341
320
310
282
278
313
266
335
268
271
283
365
270
258
366
312
298
278
292
233
315
349
275
215
387
291
321
313
328
308
306
274
293
348
331
190
405
334
306
295
310
358
228
304
354
310
341
421
230
368
293
386
312
369
337
305
373
353
293
388
383
269
278
279
332
348
333
212
290
356
270
237
395
251
405
314
273
268
324
371
311
286
360
309
269
378
332
317
231
254
292
282
292
353
307
285
174
335
322
232
375
409
305
235
365
265
325
302
205
336
348
291
424
312
356
294
370
294
320
346
301
361
351
362
304
391
244
296
384
238
321
336
343
324
413
336
318
285
368
285
308
355
345
283
327
364
314
389
340
276
287
366
315
254
310
331
281
275
235
231
256
324
347
304
347
350
290
295
349
259
302
324
262
363
272
331
325
311
312
368
288
327
311
277
339
317
260
300
331
370
273
353
355
343
290
339
337
322
294
320
272
287
302
361
393
306
285
268
303
314
213
343
270
264
234
217
375
370
398
266
316
353
356
319
344
260
329
293
301
333
247
355
200
270
333
337
367
325
311
225
347
302
318
275
372
355
337
292
271
326
388
281
327
356
313
301
320
311
353
315
328
302
294
373
364
294
332
340
319
327
275
376
250
414
274
289
386
374
286
354
371
366
320
288
326
362
345
295
342
339
264
428
311
291
271
364
277
306
315
320
365
322
287
314
327
315
358
258
277
300
300
369
258
334
296
353
338
267
363
321
310
213
330
307
289
355
296
307
225
323
288
292
371
287
289
277
340
326
367
301
351
303
298
223
305
332
304
275
339
337
298
330
274
255
341
263
333
310
390
289
324
252
251
280
312
302
339
300
335
313
359
286
396
355
224
316
291
372
265
314
339
271
372
380
204
374
264
284
274
430
260
281
292
229
354
239
288
378
366
229
354
225
330
295
287
377
218
280
392
310
246
306
414
378
269
365
355
357
291
341
282
324
311
292
272
291
321
216
376
261
311
337
318
336
302
335
233
245
319
319
324
287
344
339
372
281
342
317
353
356
325
276
294
286
331
316
226
312
361
236
283
311
282
224
378
321
292
269
231
341
353
353
358
376
344
295
353
364
378
331
318
311
238
394
376
360
312
301
242
371
313
298
242
271
324
325
352
353
348
361
395
373
306
332
389
242
276
337
250
298
366
292
343
373
344
331
371
359
327
340
344
329
303
334
264
330
278
374
313
234
336
319
312
356
310
351
272
316
303
241
241
365
357
261
315
363
321
315
318
307
295
295
316
338
300
282
374
346
245
317
327
256
388
241
306
347
347
273
403
381
333
396
272
246
383
194
318
304
294
265
321
349
309
382
386
399
300
290
291
391
306
319
390
319
376
287
314
313
284
222
328
351
311
337
303
311
311
370
358
354
321
247
331
331
235
330
251
269
247
334
247
296
285
298
274
373
340
326
359
296
309
301
373
319
231
243
409
372
342
266
359
317
337
320
324
340
315
376
314
287
384
221
285
379
337
299
305
283
248
308
370
402
271
316
329
356
236
250
422
312
312
326
344
365
251
300
320
346
296
296
268
310
260
320
290
260
280
224
274
270
287
336
256
344
286
373
317
350
300
320
231
278
262
328
317
291
223
297
323
316
394
305
226
345
344
297
332
272
395
317
300
235
313
340
313
340
325
339
296
217
356
264
357
317
338
299
263
289
270
359
329
236
298
328
318
309
334
327
321
366
282
285
323
320
278
338
292
272
267
298
345
363
309
250
282
281
345
325
276
254
302
308
324
255
302
307
260
297
324
315
377
253
385
387
285
275
274
324
205
282
324
244
329
339
384
322
277
354
211
338
367
298
359
248
297
440
292
354
356
343
322
319
324
342
327
263
315
333
342
373
334
323
280
300
315
293
282
349
276
263
291
231
281
317
299
290
294
312
296
311
315
362
367
300
255
356
286
314
259
324
341
335
337
318
371
240
352
372
339
232
283
254
197
317
325
286
236
379
361
277
342
324
355
307
377
327
310
367
342
312
383
336
353
312
294
242
349
240
347
322
317
269
270
317
407
352
282
254
363
332
244
293
371
284
260
250
343
354
301
276
315
288
219
335
346
329
342
353
330
311
304
274
292
352
278
409
253
357
250
274
341
383
319
243
293
349
317
342
277
262
283
349
241
251
344
370
249
268
304
290
319
283
269
371
362
375
258
264
284
345
367
232
310
333
256
319
338
375
270
341
248
326
263
373
293
366
290
295
364
267
307
243
292
275
277
301
351
308
275
248
264
387
287
309
289
417
225
383
352
266
310
320
400
286
299
319
278
301
379
225
330
387
412
352
330
356
312
357
335
368
241
383
350
299
251
302
422
292
277
333
270
230
315
332
308
332
250
301
351
331
304
350
317
266
235
318
290
364
299
378
258
322
379
307
371
300
267
252
310
328
363
313
297
363
282
319
374
292
360
275
409
268
279
278
257
325
266
294
307
282
297
317
377
393
319
377
244
329
303
362
288
310
244
310
281
363
314
313
365
372
291
279
318
349
362
328
302
270
197
338
339
344
323
336
184
287
348
286
301
231
271
355
263
346
334
359
318
309
262
301
287
357
292
352
259
322
363
318
357
319
396
361
333
223
373
245
364
269
312
266
328
262
369
332
288
365
318
234
292
296
280
279
324
289
239
351
329
360
314
384
309
315
339
325
276
259
295
317
314
307
281
337
298
292
290
348
370
397
317
341
297
377
301
281
327
368
316
361
316
348
331
251
367
370
284
297
350
284
392
292
306
314
317
393
300
352
318
240
325
332
290
308
354
299
329
258
312
309
306
344
339
347
267
323
298
298
343
365
324
345
335
381
262
311
327
365
335
342
331
296
363
274
362
307
389
339
310
260
240
294
325
291
366
366
330
353
327
331
330
305
282
302
377
345
321
393
267
320
344
352
289
350
349
406
326
354
370
292
324
331
284
298
306
291
394
273
255
343
382
316
256
292
320
346
332
351
318
256
343
268
384
330
385
384
334
389
316
368
310
308
321
303
380
297
262
266
369
397
358
326
295
274
318
323
275
309
344
323
299
355
332
287
288
214
338
312
313
334
355
291
300
257
216
348
407
361
312
278
317
386
257
270
345
365
399
313
212
374
346
308
233
368
314
343
302
306
345
331
305
284
308
241
364
352
309
252
317
350
313
276
278
274
359
318
303
308
319
232
338
293
384
276
316
339
328
288
352
297
276
385
263
379
270
344
285
354
275
317
321
326
335
381
358
279
300
315
275
289
386
352
249
362
330
299
293
327
325
268
319
329
410
314
327
296
311
280
266
343
301
318
322
363
196
356
359
360
294
301
349
343
323
336
285
327
284
305
314
339
387
354
285
280
267
362
252
320
379
335
301
366
335
380
319
322
290
350
345
367
296
309
281
349
369
451
325
336
238
280
303
284
356
319
310
330
345
275
314
352
338
373
305
305
348
371
389
262
379
342
295
270
303
383
349
295
270
286
359
355
347
292
361
284
339
325
290
336
325
336
388
310
293
324
362
320
302
262
306
356
280
359
266
263
362
365
335
364
412
326
335
241
322
329
345
399
265
360
328
317
358
255
337
343
327
237
288
227
250
312
354
300
324
321
262
267
346
254
396
252
251
225
344
292
373
332
338
306
341
380
354
369
293
371
293
333
410
391
310
349
308
220
286
279
277
320
322
348
309
283
351
212
300
372
417
286
310
294
358
355
278
275
294
353
325
333
290
281
342
276
265
301
269
341
284
281
288
295
336
292
326
345
318
319
280
254
283
355
256
275
350
297
316
314
335
341
370
235
346
363
382
372
317
260
367
368
192
302
257
287
295
293
240
321
282
338
229
359
326
334
371
341
324
332
258
344
310
341
353
329
386
376
301
299
277
254
329
367
332
251
303
323
217
330
275
249
323
348
280
262
381
273
334
392
339
407
224
350
316
266
269
343
325
378
341
333
334
354
348
300
359
296
308
307
267
399
296
343
357
345
314
341
257
258
360
329
296
375
276
300
318
207
322
325
319
371
393
339
360
316
392
328
341
350
326
349
327
282
326
271
346
313
300
317
314
359
291
426
275
265
296
293
378
267
335
363
258
381
231
346
373
291
316
320
330
289
346
322
309
305
342
248
316
247
316
307
370
334
370
359
287
363
298
305
254
313
360
307
323
285
230
390
292
373
362
326
326
402
306
328
267
256
363
347
364
340
339
284
338
333
227
311
256
272
318
236
347
354
317
283
286
307
336
357
281
322
306
285
314
360
350
348
312
263
354
216
249
337
288
332
302
326
337
292
240
332
334
324
274
240
279
276
362
256
306
254
306
284
221
271
380
285
284
293
281
302
257
349
348
328
269
267
303
371
237
348
359
277
334
383
269
272
368
317
357
239
324
292
293
281
266
372
302
321
389
253
329
265
304
292
400
310
258
225
294
275
262
348
328
271
325
350
410
293
345
269
417
337
344
255
360
370
401
318
324
253
300
290
340
326
334
378
312
353
318
326
307
334
359
290
344
254
292
347
329
254
306
311
328
358
365
252
321
274
284
342
363
343
290
368
348
310
369
299
319
339
274
288
326
358
312
237
348
364
382
360
334
362
273
275
355
289
269
281
394
267
311
289
287
234
231
275
328
270
251
308
372
384
297
365
287
292
350
273
273
355
329
294
324
380
373
358
370
356
251
330
291
345
361
331
303
367
332
349
426
341
271
315
342
328
305
280
352
389
322
295
297
233
327
348
327
318
308
314
303
242
341
370
350
312
339
373
337
268
258
306
286
325
406
393
252
338
334
258
253
250
267
349
306
298
291
328
350
302
308
348
341
339
332
263
299
371
319
300
290
310
304
343
376
355
406
272
330
342
273
334
403
300
307
258
301
363
318
302
357
278
319
300
355
388
313
325
323
356
372
329
342
280
257
272
234
234
354
290
370
287
359
286
331
309
313
290
302
269
317
322
394
297
210
329
336
320
346
317
297
285
337
330
332
286
349
267
292
375
257
268
312
334
244
294
302
309
332
283
332
248
367
361
324
303
340
252
285
370
306
289
365
344
316
333
350
244
264
279
289
375
284
332
310
362
367
305
385
343
281
312
317
341
280
368
316
223
370
322
293
274
366
312
284
315
306
266
307
300
334
296
260
336
299
390
281
311
326
358
278
323
235
295
292
292
309
248
391
336
295
315
314
316
263
328
322
348
320
319
319
276
327
404
267
253
309
343
275
325
379
276
327
309
270
293
319
315
288
323
317
328
306
431
341
338
301
372
323
251
287
305
323
359
381
343
253
303
340
295
323
257
301
211
341
303
315
328
296
352
288
336
303
275
333
350
357
282
272
255
369
317
313
259
365
299
322
307
248
248
300
332
287
244
357
306
260
314
354
356
270
343
415
323
324
334
371
307
360
298
374
235
285
385
381
334
332
343
263
247
279
290
248
203
313
377
296
314
263
315
292
326
253
336
407
378
347
303
379
386
314
365
354
301
348
294
282
345
322
241
261
271
321
290
307
319
372
319
301
361
333
386
323
303
357
320
297
286
339
351
248
336
301
436
292
311
394
213
363
293
353
357
302
353
385
215
267
284
319
334
277
350
359
278
230
232
329
355
309
337
270
294
335
299
309
282
320
359
294
330
255
336
280
286
293
356
355
215
330
347
231
290
269
364
328
297
313
321
302
331
294
279
221
358
362
323
333
362
382
376
280
406
357
360
300
328
283
317
372
297
360
327
356
363
320
327
352
292
321
333
364
301
297
372
381
240
317
245
332
300
329
348
415
392
286
348
281
276
292
384
313
311
288
314
337
308
264
291
266
333
243
269
300
307
334
367
249
282
252
306
309
303
362
273
340
321
256
343
356
268
301
312
376
314
336
345
314
376
322
262
295
334
235
285
335
301
333
325
331
294
265
410
255
301
317
354
369
355
326
304
337
270
327
372
393
322
354
314
334
403
295
300
221
334
315
305
355
255
299
288
241
317
233
270
260
245
262
330
249
352
309
317
348
309
332
240
206
285
295
356
314
362
246
255
321
323
340
312
313
408
303
375
341
326
326
281
290
370
335
369
303
281
323
284
383
341
348
316
278
282
333
288
290
241
251
344
318
332
278
249
299
337
290
330
333
275
333
393
343
239
282
363
362
367
260
268
358
343
228
274
358
298
461
348
295
367
338
322
373
415
251
352
301
334
289
286
426
341
279
363
255
225
293
315
315
359
303
360
365
302
312
352
390
308
361
331
407
399
306
358
293
316
318
291
290
280
242
309
295
313
294
303
314
365
377
351
285
317
333
336
331
368
401
326
339
303
291
350
355
292
277
361
318
353
262
329
274
309
245
233
358
261
318
313
294
360
288
269
231
282
407
391
310
373
363
353
322
250
402
312
305
347
315
250
302
297
324
280
316
267
298
335
346
308
356
268
267
280
350
276
317
327
309
380
243
306
342
319
295
386
277
346
299
323
350
362
241
264
380
251
263
232
372
329
331
305
342
349
312
337
248
307
319
326
298
299
351
341
242
267
300
364
378
320
305
289
321
305
289
290
214
247
357
328
256
310
357
235
341
366
343
317
259
346
390
233
341
316
320
329
370
294
342
325
368
259
259
263
316
298
285
387
395
309
306
280
351
269
304
327
382
387
279
346
328
191
226
324
275
375
347
324
356
320
317
385
358
270
227
272
232
361
303
396
365
266
295
368
267
270
264
368
340
342
347
370
360
344
300
345
376
280
347
319
329
206
344
251
315
406
311
329
337
370
358
332
310
256
363
276
247
303
290
385
302
332
378
279
325
329
276
336
376
320
219
367
280
359
257
334
307
308
269
340
327
245
379
347
254
342
357
390
322
331
311
343
251
316
313
342
327
346
283
319
318
343
291
289
302
353
337
338
267
322
309
364
279
389
402
258
277
231
271
307
389
381
314
265
248
299
367
350
290
352
371
375
240
269
282
238
340
284
339
322
279
321
361
277
263
321
365
371
371
291
359
308
347
311
318
293
260
322
404
224
270
321
292
332
234
329
315
354
352
360
402
311
244
329
290
297
281
248
274
349
330
345
338
256
279
268
340
264
305
376
389
249
359
376
301
367
308
412
247
242
319
289
260
307
353
349
309
409
254
272
393
244
411
303
421
317
280
376
329
322
333
345
379
254
323
299
402
340
281
259
305
264
384
397
254
281
302
274
366
327
397
364
274
317
324
346
321
361
363
361
349
324
326
344
361
245
313
362
372
277
345
273
286
283
293
322
364
252
363
260
311
308
322
382
287
356
346
350
327
352
316
375
344
307
281
253
244
355
330
281
254
350
344
299
333
292
321
327
296
326
299
310
333
268
361
317
353
335
270
232
339
353
208
312
332
282
320
362
293
358
325
297
364
288
274
241
296
320
278
366
293
269
399
330
280
324
276
375
266
324
336
387
394
324
393
357
356
330
286
335
329
281
284
325
332
341
215
389
345
211
254
348
336
304
316
347
296
298
370
301
362
385
269
284
274
356
298
319
335
360
324
259
374
240
344
332
243
350
344
307
337
330
299
375
346
312
311
298
321
340
261
366
300
350
354
280
388
268
326
270
333
340
265
336
319
359
356
274
312
380
277
355
388
328
275
379
264
311
271
339
324
314
357
356
318
332
321
315
195
312
275
303
210
348
337
312
273
320
318
339
342
330
288
244
301
315
362
343
361
277
308
226
283
245
332
296
330
271
305
298
402
277
295
377
368
258
317
309
293
328
334
229
385
418
267
307
259
297
286
274
262
320
340
419
310
347
343
244
324
295
337
310
299
344
345
329
336
325
403
302
316
342
362
325
307
241
394
359
331
286
262
267
327
288
341
318
312
249
258
179
333
387
320
358
292
249
321
353
311
309
262
246
286
308
293
263
395
354
263
345
393
269
250
353
340
307
282
226
261
318
269
348
310
402
344
367
285
263
304
325
310
342
266
328
279
287
259
359
338
331
349
297
256
329
267
221
293
273
328
338
283
386
293
360
306
332
283
281
294
228
304
249
322
257
349
338
299
379
327
281
247
336
316
375
391
376
283
288
327
337
300
314
174
321
317
258
279
402
299
324
290
388
341
331
314
360
317
315
359
344
222
311
237
344
283
278
338
305
283
312
302
292
216
384
268
343
355
261
262
365
318
297
374
342
333
266
271
366
338
352
287
357
316
248
304
393
299
328
313
282
296
298
306
347
334
318
421
281
315
411
389
323
327
315
326
347
299
409
246
297
363
368
287
287
322
283
354
292
320
317
341
265
345
310
279
246
299
309
259
335
278
248
333
370
314
341
332
327
362
310
330
336
351
262
299
277
356
252
370
332
254
280
284
321
295
275
375
376
244
377
297
314
354
220
273
328
322
307
361
331
320
295
263
358
351
299
363
318
387
339
357
325
278
369
367
311
258
301
284
280
305
284
327
337
317
241
293
308
391
249
318
334
306
343
246
326
336
307
290
285
369
240
278
321
287
305
349
353
366
330
268
229
320
331
408
417
303
314
308
314
323
359
268
339
277
275
303
369
299
314
252
277
290
424
327
347
380
336
344
416
233
336
391
335
372
343
367
288
349
369
322
376
382
325
301
383
316
299
326
325
284
310
369
289
282
325
357
281
405
391
369
323
297
331
334
264
351
307
316
343
255
278
367
318
291
324
197
342
369
235
321
362
200
323
379
326
266
307
364
314
342
344
278
304
334
318
273
307
298
278
335
251
333
336
286
332
320
263
334
294
334
299
265
379
272
366
346
267
391
254
319
277
314
373
349
360
296
318
359
373
238
301
350
393
265
308
318
319
346
311
318
329
304
263
340
338
301
333
317
331
388
404
355
240
278
275
343
269
294
307
316
388
321
310
304
345
262
295
387
339
277
369
372
278
348
297
302
323
332
352
250
426
248
306
346
394
284
340
321
304
283
298
317
331
358
309
352
279
253
293
368
246
310
277
287
354
294
272
267
312
342
229
357
355
254
341
371
312
264
437
299
294
261
374
270
284
214
264
432
375
323
303
250
279
293
289
337
331
358
232
232
290
318
291
338
433
317
355
353
294
338
301
356
272
375
383
328
320
331
246
375
267
326
342
228
379
394
270
318
345
235
317
323
349
403
249
322
304
334
268
368
263
259
380
335
228
279
264
371
275
381
387
385
262
297
356
274
300
281
302
323
314
287
293
290
256
288
370
322
270
259
287
327
320
269
365
248
375
295
333
255
349
257
315
359
287
344
327
338
339
372
322
292
291
222
344
298
329
263
368
278
300
250
338
276
310
341
315
309
310
320
330
299
254
242
278
373
335
367
379
237
287
252
313
322
343
306
246
331
264
359
209
297
327
275
308
319
372
346
328
337
355
230
301
299
329
353
299
347
375
322
355
277
343
282
289
361
371
273
271
332
435
308
353
284
300
287
330
350
316
259
279
287
271
378
293
314
323
235
309
284
295
363
313
306
338
297
363
353
339
331
315
325
330
386
318
301
285
300
259
322
318
313
331
455
249
306
334
333
288
394
339
328
278
398
250
352
327
271
356
351
294
233
357
264
234
184
221
333
349
213
337
261
329
360
311
305
308
315
201
353
316
337
294
354
299
304
370
308
276
309
323
367
332
342
253
341
347
312
158
272
270
316
296
240
302
268
365
317
393
347
386
312
273
324
314
296
281
289
345
213
357
299
321
220
242
349
347
338
338
257
304
261
252
301
368
311
258
325
277
268
299
273
311
288
390
265
369
355
344
247
319
337
246
295
327
321
288
335
297
188
375
357
236
327
358
314
316
294
303
281
283
311
289
314
331
340
295
288
296
389
357
344
317
215
343
332
317
228
358
307
353
306
368
293
361
315
318
290
365
418
366
384
259
316
246
325
392
295
338
334
311
272
319
274
368
333
345
353
321
307
309
309
279
293
300
354
312
401
409
249
299
279
355
228
360
306
345
334
301
329
297
318
373
332
351
314
339
291
222
363
363
253
285
316
301
308
379
340
235
402
309
279
287
302
281
354
279
257
287
326
346
271
249
271
375
334
280
348
374
269
321
352
264
325
296
266
343
305
393
298
334
278
266
351
262
387
237
360
415
295
318
355
286
296
285
319
332
286
321
312
270
355
405
301
313
320
275
202
290
284
277
350
361
356
291
399
227
309
351
386
365
300
272
358
330
279
282
234
237
249
330
378
300
406
333
318
332
267
329
285
269
301
341
335
406
300
308
200
380
259
298
346
277
265
288
259
358
319
287
343
362
244
272
303
345
371
296
253
281
390
302
397
311
396
313
355
346
363
353
247
312
299
192
268
318
351
309
370
352
277
310
279
384
291
386
265
334
334
192
309
299
350
339
199
222
335
432
331
350
323
336
320
301
376
409
376
307
291
277
382
373
369
347
247
312
274
307
277
218
289
291
265
394
286
249
313
351
297
289
272
229
320
237
331
289
220
359
342
278
357
268
330
359
268
339
256
315
309
291
281
306
355
311
358
390
316
254
282
392
239
330
359
343
270
370
307
313
259
223
260
367
336
318
292
343
367
405
319
245
354
279
338
278
298
310
334
298
270
351
267
368
379
318
416
280
311
304
321
349
362
255
354
337
352
365
314
268
378
308
349
310
329
270
327
385
295
366
287
130
296
237
307
325
322
227
363
355
266
221
348
352
289
331
310
397
294
300
293
352
360
254
323
309
304
326
206
337
342
326
346
340
321
317
358
319
296
259
304
317
365
293
375
368
309
319
255
363
332
355
261
337
245
273
281
212
284
327
306
238
307
319
256
331
302
281
393
301
340
318
393
269
303
306
302
352
357
366
345
357
243
311
318
379
311
291
352
229
259
348
258
345
288
328
300
256
311
288
364
317
327
405
371
338
375
353
353
306
376
261
347
342
329
236
309
319
298
310
327
247
345
247
357
364
371
315
349
332
313
342
301
290
379
351
412
377
331
329
295
330
268
331
344
332
275
343
337
344
255
232
318
388
339
319
308
356
407
318
311
357
294
297
336
332
322
270
295
305
265
299
311
313
289
291
289
246
412
287
295
333
348
340
294
297
281
355
268
304
335
249
336
282
275
336
322
367
291
304
328
285
349
294
416
303
300
358
318
266
342
298
301
262
278
301
280
309
267
332
304
394
304
387
289
336
244
371
342
328
278
198
332
270
308
301
338
262
275
299
334
353
346
340
369
335
325
348
288
242
263
361
285
315
285
346
351
357
290
227
283
314
296
299
281
271
385
362
233
289
299
277
286
382
320
390
290
281
287
295
342
323
310
255
383
285
269
303
302
333
363
345
322
362
336
353
319
244
327
264
342
395
389
280
257
320
312
327
385
279
368
360
300
395
269
313
347
313
310
358
284
319
301
334
292
308
346
351
347
294
403
350
303
242
279
299
328
313
353
377
234
256
346
245
342
310
335
332
325
253
302
295
274
293
336
226
279
283
295
287
274
286
284
275
441
358
402
315
312
309
282
286
344
306
274
341
293
354
329
309
303
372
314
286
386
348
392
358
277
299
305
355
312
354
299
275
337
258
275
254
332
301
264
246
378
315
185
342
281
268
286
310
363
322
307
280
341
277
255
426
355
275
359
286
271
327
307
223
358
351
289
300
270
275
234
253
263
367
269
251
341
342
363
307
370
300
360
353
349
327
310
347
293
287
336
328
274
324
347
256
261
295
339
285
355
367
328
267
384
406
373
308
283
303
358
427
340
420
322
254
322
351
330
287
260
302
322
331
315
336
408
299
321
314
367
275
333
326
319
245
298
299
307
351
304
405
322
264
354
347
320
339
374
262
350
311
218
355
293
317
343
339
307
270
345
328
341
355
348
360
260
292
297
318
315
316
325
348
281
352
334
357
275
415
294
297
365
291
351
394
300
300
348
287
335
357
284
306
312
377
274
336
304
305
280
336
302
358
253
323
283
273
334
384
290
343
352
400
332
281
325
295
338
279
295
308
400
290
262
336
366
321
361
378
357
273
276
323
259
299
292
337
271
325
354
199
306
311
335
345
337
273
314
379
240
328
333
286
298
298
296
303
328
294
384
316
235
246
353
340
346
352
280
277
308
383
295
298
338
297
290
372
328
218
366
317
349
309
348
342
446
254
354
261
337
326
290
328
322
354
304
348
422
326
281
331
279
414
323
336
365
337
282
349
339
337
317
296
297
360
360
360
309
329
304
370
261
340
258
263
339
296
325
356
287
357
249
292
298
344
309
352
265
387
301
292
318
291
300
302
314
388
319
326
388
344
334
239
381
199
280
283
272
369
267
256
305
315
251
357
201
330
306
313
372
321
335
326
297
299
377
231
204
353
365
318
286
318
413
246
279
308
358
317
269
342
314
335
291
207
267
253
347
330
263
316
310
229
367
366
353
250
284
307
295
274
264
314
318
392
312
313
363
273
280
355
355
339
276
267
245
300
309
313
267
340
348
275
347
316
359
233
395
280
310
277
300
376
307
331
274
311
258
271
362
274
371
287
286
352
392
292
248
318
281
307
314
312
355
290
282
298
379
343
354
307
288
258
423
342
246
275
326
313
281
319
370
319
326
335
248
317
335
308
342
252
244
235
354
379
348
287
330
299
297
412
418
340
308
338
328
308
353
328
328
327
282
361
346
380
308
243
335
310
289
300
293
307
317
299
307
293
378
217
264
342
335
335
315
408
318
351
326
283
309
267
355
381
260
294
235
274
313
322
368
259
349
366
347
298
351
277
263
349
317
270
299
323
359
289
326
320
390
283
253
349
260
352
294
329
308
228
310
216
284
211
361
290
241
316
327
308
331
287
310
301
347
290
306
357
359
355
260
354
333
282
288
240
325
244
308
356
288
290
246
295
280
289
295
341
340
386
340
333
324
254
296
351
295
385
358
308
315
255
381
288
297
357
312
319
286
306
326
317
340
327
329
380
318
293
281
333
349
281
290
351
315
382
336
317
240
313
303
321
224
338
325
269
254
361
352
368
282
329
375
308
306
247
253
310
340
399
310
370
284
351
314
264
336
212
241
341
292
339
276
293
412
238
310
239
243
360
381
310
262
314
294
285
350
324
359
263
285
287
344
350
348
397
339
271
316
423
235
319
231
341
287
310
345
394
323
261
299
272
286
402
271
312
388
375
367
287
254
319
321
322
324
301
287
350
290
393
336
203
281
358
324
315
333
371
305
305
260
389
308
208
249
376
355
262
280
304
274
228
275
417
279
361
260
263
256
327
260
312
364
331
327
325
326
375
379
349
315
307
275
289
309
287
286
289
360
221
313
352
334
291
191
258
359
350
368
352
322
309
333
357
330
381
330
301
373
278
321
257
190
280
336
341
334
370
381
253
352
310
377
354
297
318
320
320
322
301
333
343
316
299
355
280
370
305
311
323
300
284
314
350
303
348
332
345
343
328
385
350
318
363
338
312
260
302
290
368
250
285
327
268
264
403
387
322
306
242
322
336
269
366
320
314
337
351
331
305
403
275
248
295
226
284
325
385
285
342
338
235
343
361
241
345
336
346
351
246
342
352
423
366
401
289
267
341
327
337
290
334
318
376
317
253
309
413
354
330
288
290
317
283
281
238
262
280
329
327
291
262
395
284
347
326
369
250
302
353
290
290
349
316
314
329
370
362
294
276
321
332
351
278
327
335
367
378
363
305
247
236
366
294
295
249
298
316
338
271
386
214
270
347
339
354
332
270
245
273
265
308
319
299
280
303
309
358
320
297
350
290
208
328
315
375
144
319
351
269
250
356
298
320
415
296
313
281
344
380
356
308
267
318
350
277
335
345
245
387
333
246
300
329
297
296
357
335
234
381
283
261
416
300
301
359
300
411
292
327
307
324
349
369
280
282
323
292
306
342
289
311
357
327
279
311
371
316
257
259
319
296
350
285
298
305
323
346
275
337
270
380
305
342
333
254
260
386
424
377
359
300
274
307
274
353
289
347
295
312
284
253
271
254
333
323
252
334
250
371
345
325
295
243
266
308
308
297
188
371
272
324
368
307
350
348
307
359
331
313
303
301
252
300
294
321
371
306
329
263
267
300
420
312
274
284
322
309
325
328
302
307
361
294
288
434
323
334
316
351
338
366
305
306
314
326
301
284
370
293
299
231
333
341
241
293
370
349
290
281
303
292
321
322
317
231
296
302
348
342
372
309
354
321
236
351
436
270
354
312
312
346
341
310
296
307
303
248
315
220
303
234
318
350
355
330
297
324
324
269
347
274
361
177
298
345
318
357
377
340
338
297
336
382
230
346
328
321
297
298
366
300
227
345
375
289
305
320
246
283
266
230
343
363
329
386
336
351
354
381
289
331
240
340
292
326
359
251
205
219
203
173
294
257
204
360
323
312
176
354
434
353
352
364
345
320
317
387
345
303
350
298
354
368
287
385
349
356
223
343
292
313
305
264
254
294
347
359
368
263
257
348
346
261
344
330
376
213
382
357
368
371
323
282
304
264
254
286
294
333
303
314
262
348
320
363
315
358
367
371
265
362
402
343
256
340
315
384
357
287
340
234
358
329
341
366
300
242
403
324
303
356
353
217
317
435
364
349
330
313
291
224
326
392
355
362
391
364
366
415
335
255
291
278
307
317
268
309
343
378
293
294
278
312
336
321
346
317
288
272
345
387
250
321
372
339
292
254
221
333
324
273
303
263
392
303
253
246
311
317
312
315
315
379
256
345
250
318
265
310
342
346
342
330
331
330
294
245
248
224
294
321
242
368
338
384
319
335
342
306
345
280
369
307
361
288
206
307
279
331
325
315
301
305
260
368
283
278
313
293
300
334
322
289
211
370
338
292
306
231
358
316
183
254
318
259
314
311
359
315
388
315
295
275
284
320
299
272
411
245
338
292
364
280
282
285
303
299
295
353
356
235
314
250
358
278
242
340
327
270
248
311
388
288
393
341
339
257
302
289
349
331
306
298
301
352
378
343
281
337
295
359
347
368
338
243
253
288
306
336
338
315
328
342
244
322
177
212
259
287
307
360
294
359
283
343
312
339
303
262
349
325
238
386
340
413
339
285
324
341
430
299
345
318
327
284
307
349
209
335
274
292
329
337
377
295
261
337
345
326
331
365
287
220
370
342
259
293
316
321
204
347
250
265
283
380
334
338
358
317
405
300
264
332
261
338
217
351
275
251
278
340
368
386
342
246
264
275
329
379
340
357
248
186
277
273
319
298
483
305
326
247
340
348
356
338
306
357
208
375
262
367
276
286
333
341
335
294
266
349
337
277
300
266
355
315
246
299
381
270
419
273
347
296
349
395
292
338
316
346
343
303
280
367
376
342
379
382
275
321
351
295
341
286
258
287
341
324
319
238
317
186
370
336
353
267
289
253
330
358
289
304
340
435
360
308
368
337
264
301
269
388
305
269
290
345
264
303
296
297
299
276
361
338
257
363
300
270
302
343
326
288
377
368
304
275
392
301
318
365
354
365
335
299
316
380
315
249
250
304
301
368
275
257
305
310
289
362
334
277
299
320
292
293
296
282
301
313
385
379
357
302
303
312
298
380
313
281
302
336
332
345
353
382
279
311
237
387
331
330
252
336
289
255
271
268
310
242
317
353
237
367
279
312
218
297
343
355
320
263
352
346
354
280
332
348
351
341
266
378
344
327
354
262
268
343
359
333
269
283
345
300
311
294
260
393
204
317
286
388
289
351
286
343
286
313
230
215
327
340
278
352
312
284
331
356
296
311
276
330
381
324
304
284
291
345
250
380
270
299
282
342
370
248
289
315
358
307
262
461
313
353
221
313
285
300
300
344
318
334
368
390
290
296
399
272
290
293
256
315
295
281
312
322
288
340
249
318
306
362
376
365
350
236
360
336
366
390
354
369
350
218
279
359
312
329
277
371
300
342
390
311
316
284
409
397
265
220
363
250
253
338
299
357
286
255
352
307
376
338
360
266
235
299
340
363
299
263
380
266
268
265
361
374
301
206
364
322
302
243
297
331
338
275
267
409
270
357
494
325
290
290
296
292
287
311
333
313
232
300
359
378
400
273
238
302
263
335
328
318
382
332
242
280
277
384
372
310
257
313
305
329
315
351
388
318
279
402
306
261
276
228
344
349
292
411
366
400
299
312
272
409
364
273
305
304
393
275
312
352
316
345
213
402
360
280
242
284
251
317
371
353
286
361
392
227
340
377
326
379
333
365
231
272
305
250
366
339
347
363
343
394
278
372
302
337
393
319
379
199
305
208
357
290
364
271
256
316
354
379
318
307
270
332
286
345
316
322
278
278
366
343
309
327
408
300
268
349
292
303
348
286
375
347
299
312
354
293
248
334
347
302
346
364
304
311
302
364
263
278
297
376
339
292
369
300
228
294
293
341
382
253
244
333
281
341
298
310
357
352
313
341
282
298
234
359
244
338
444
364
362
338
328
331
360
267
292
325
282
242
357
316
288
367
323
222
334
314
396
345
328
310
313
278
341
367
329
381
324
364
270
318
329
274
208
285
352
326
345
293
301
218
345
219
358
288
337
366
304
220
239
355
297
356
304
322
267
412
376
297
361
381
309
334
330
286
357
410
251
340
288
301
400
335
307
371
322
381
307
251
362
290
378
303
360
290
287
379
297
320
336
254
261
274
293
278
342
293
310
304
275
418
280
373
272
278
370
287
349
285
272
283
373
360
253
276
343
347
265
286
247
285
258
252
283
274
307
281
323
161
328
255
329
320
326
341
236
287
321
341
315
315
365
256
350
324
252
226
302
310
342
291
252
294
291
273
264
314
358
310
221
341
354
333
354
337
325
295
285
302
289
302
309
298
336
272
263
312
293
369
352
277
347
306
337
291
301
318
288
255
341
350
195
260
320
293
282
373
375
322
288
283
335
179
288
308
332
321
292
370
335
224
287
361
303
313
308
339
355
345
311
338
267
212
382
342
312
384
291
329
399
331
223
344
205
289
294
377
298
207
322
207
326
260
273
258
309
293
265
369
370
329
278
346
364
252
281
312
337
314
320
315
263
423
241
268
327
243
348
342
390
276
310
401
328
292
343
313
303
314
312
325
348
282
213
300
402
334
303
309
342
391
322
296
425
349
279
216
322
264
332
339
330
412
315
305
305
289
303
273
301
348
377
339
340
235
303
201
281
253
302
303
322
322
344
293
332
333
308
400
345
326
311
319
320
261
348
279
315
192
341
242
265
239
323
301
285
381
321
377
325
355
372
362
262
259
287
359
342
227
283
285
306
268
271
339
374
394
385
364
343
314
258
306
343
347
369
292
353
224
296
321
300
265
331
260
392
322
257
307
327
323
373
291
267
355
327
341
285
355
178
355
340
356
343
314
396
288
309
311
313
382
318
348
271
255
359
381
377
321
346
322
340
274
344
351
350
351
297
293
252
331
365
326
391
283
278
339
263
301
252
386
290
322
317
277
234
282
298
277
279
304
330
335
361
290
298
297
281
362
321
336
289
283
229
320
320
321
343
372
354
367
319
236
357
300
313
367
258
312
288
314
303
405
313
319
359
276
292
308
260
376
238
288
303
356
309
268
326
296
367
337
329
256
304
340
398
315
339
267
381
326
325
277
380
338
389
301
267
402
290
318
326
412
277
315
313
369
329
353
365
361
344
383
256
271
301
367
347
369
313
345
305
290
359
356
359
265
314
343
337
304
323
372
304
408
257
326
260
315
248
256
298
348
310
313
298
267
351
285
261
313
333
368
364
298
388
355
312
394
290
347
331
346
337
285
349
421
343
376
405
315
390
326
428
318
305
300
304
262
391
331
264
299
233
352
324
371
288
216
281
229
325
308
303
326
301
312
361
288
299
315
239
324
329
295
280
255
233
373
397
328
272
268
303
270
415
328
286
361
346
333
260
350
308
271
370
299
270
331
298
246
232
321
389
327
303
297
349
359
267
314
284
311
312
340
360
309
296
238
288
316
388
372
216
398
328
368
309
312
324
350
334
333
309
322
308
269
307
302
343
358
387
321
336
275
230
265
336
330
297
301
165
297
309
272
253
348
369
289
356
315
356
312
313
352
335
200
229
249
286
307
304
226
310
228
306
365
257
349
270
269
346
212
381
290
311
277
316
295
256
316
217
393
316
322
280
284
353
275
297
319
340
283
404
314
343
281
315
331
363
251
305
371
298
247
300
311
326
284
347
396
211
359
289
332
276
339
330
377
324
338
283
376
274
391
317
318
184
286
353
292
255
424
317
272
277
303
295
363
310
263
291
363
289
384
349
317
379
264
328
407
251
392
353
305
343
282
337
357
332
265
282
292
342
319
311
367
320
262
294
225
309
313
342
302
363
270
280
344
322
316
341
382
342
301
284
255
261
252
363
254
370
313
245
296
305
363
282
327
354
408
415
332
264
305
342
286
392
268
312
262
320
288
301
311
365
357
245
226
272
354
350
289
308
351
229
284
291
408
289
337
333
321
286
249
277
378
306
321
293
357
323
338
242
198
356
335
269
297
291
365
321
309
227
253
366
291
324
379
369
309
278
350
328
376
371
395
289
293
264
341
332
288
318
346
318
306
298
251
292
293
257
243
372
404
253
271
362
270
390
204
318
244
341
289
325
320
259
355
231
311
303
290
343
309
392
369
240
359
334
370
239
356
262
333
254
295
344
327
261
297
304
341
378
210
317
305
392
276
254
325
346
339
367
256
310
343
347
336
361
342
305
295
355
358
363
352
274
245
370
307
290
350
314
297
297
335
325
288
303
395
343
320
344
250
326
279
393
297
235
349
329
286
304
315
344
365
354
358
239
367
311
305
268
321
328
308
306
325
363
334
247
282
283
268
262
297
269
299
332
290
327
359
343
265
395
283
283
336
300
301
365
282
245
205
388
275
335
249
338
249
316
330
339
261
322
286
312
324
295
392
304
388
357
336
366
326
315
362
367
302
302
308
314
310
332
369
387
328
363
312
311
370
272
295
271
330
332
379
327
304
341
316
377
305
371
321
398
322
346
281
239
340
359
311
344
250
334
377
355
259
342
297
349
227
316
338
285
331
296
323
310
336
287
404
324
282
333
312
328
275
301
261
296
322
278
331
345
300
328
309
397
335
368
365
326
344
341
291
360
357
334
313
324
335
279
307
315
405
346
240
291
407
265
329
366
315
299
350
247
259
313
258
308
389
313
327
307
321
431
305
283
301
256
297
386
366
245
329
328
266
397
330
319
315
321
328
372
317
337
315
307
268
323
313
364
299
312
389
320
270
300
273
215
274
295
348
347
326
305
270
273
309
326
252
385
262
357
285
303
297
393
303
294
246
316
274
303
389
301
300
224
330
296
338
360
277
279
318
323
318
334
298
300
299
382
304
283
358
368
326
325
302
268
244
365
277
317
356
417
282
294
340
247
373
399
339
346
314
283
297
316
353
289
307
407
371
368
392
345
372
281
332
286
264
295
340
307
277
321
283
313
314
299
394
254
265
374
368
331
367
347
280
351
344
368
270
350
343
337
343
336
303
281
338
353
336
377
349
346
378
289
340
304
270
277
324
348
363
362
331
253
368
301
283
258
340
272
336
279
311
353
364
292
296
251
315
311
297
336
320
314
267
314
315
241
294
281
278
331
348
230
361
227
366
351
355
314
311
182
285
279
327
301
294
341
259
285
239
281
374
311
339
363
274
393
336
284
366
214
255
315
359
331
320
341
253
302
316
373
312
309
272
267
344
321
317
228
322
332
282
391
322
260
347
352
291
306
341
312
330
353
301
368
352
318
296
402
339
332
268
209
239
245
237
301
250
344
377
275
367
309
309
315
299
393
313
280
338
269
243
276
354
383
250
382
265
280
343
313
257
340
373
296
344
346
341
250
367
280
296
320
308
360
271
324
368
303
303
373
278
311
381
259
210
295
341
321
381
382
253
381
322
315
271
273
359
325
361
335
305
352
266
187
273
335
298
329
321
345
302
413
334
346
318
326
310
278
271
273
308
373
317
373
255
363
289
343
219
337
332
274
341
283
292
289
317
329
271
281
389
327
321
219
336
331
334
284
299
357
286
322
309
330
271
299
273
294
337
333
265
291
346
358
313
350
321
378
358
387
339
341
282
276
366
383
287
338
306
276
348
324
335
321
324
351
380
282
315
342
298
308
217
328
303
304
280
350
250
241
226
363
314
213
285
335
360
300
327
369
316
318
343
371
264
314
295
285
289
290
419
236
313
308
318
293
427
274
367
308
414
319
310
372
361
331
384
338
239
299
251
321
342
305
312
401
293
306
326
374
256
283
278
311
353
314
321
231
366
331
314
288
348
330
284
309
413
300
276
336
391
334
244
263
268
269
319
285
370
257
333
380
359
280
289
257
286
330
304
347
291
359
333
206
308
379
299
344
360
294
383
349
388
318
348
299
265
324
315
376
301
328
343
302
312
345
306
281
333
361
314
335
226
359
313
363
226
379
313
362
376
242
311
235
376
377
356
329
335
318
374
308
368
269
283
371
331
298
356
255
286
203
377
308
280
279
225
344
442
335
316
374
361
357
280
310
365
309
239
416
312
357
389
354
350
311
377
445
384
334
290
279
323
305
297
276
346
263
352
303
292
344
326
327
321
342
314
348
321
334
248
277
349
371
317
281
276
376
370
338
224
381
348
335
316
337
318
297
346
230
331
341
241
328
319
282
306
306
261
327
361
371
333
311
236
276
394
356
400
294
388
347
305
248
220
327
193
311
337
327
374
265
341
317
362
295
376
367
306
358
336
312
320
328
322
378
308
300
321
280
305
342
357
240
232
292
285
345
323
243
321
334
306
319
297
309
227
379
343
326
320
304
348
347
400
349
280
327
313
325
296
304
308
289
340
272
286
245
383
337
306
342
281
247
252
368
304
271
352
355
273
372
309
344
281
318
301
281
406
301
348
240
316
330
290
341
216
318
358
283
311
295
284
249
315
290
347
295
302
400
279
413
302
353
343
345
339
323
364
348
272
345
231
314
331
329
248
293
374
334
233
364
255
323
302
225
325
334
330
301
293
289
291
326
350
329
378
313
284
306
349
245
262
345
316
391
327
302
361
300
287
249
333
296
347
328
308
330
342
297
376
322
259
299
411
304
338
315
269
299
321
354
289
277
279
392
333
275
381
318
248
288
367
338
397
346
319
266
268
340
412
339
343
250
363
307
277
378
380
307
325
350
317
276
303
313
359
284
314
360
310
390
292
323
331
288
360
394
403
414
468
348
345
359
362
290
366
332
268
227
303
302
325
322
277
316
357
346
307
334
334
272
292
355
293
339
322
308
247
369
360
388
283
255
291
387
318
327
359
271
342
368
226
286
343
303
321
308
347
312
353
275
310
255
331
424
304
309
256
367
325
237
281
249
344
324
397
342
341
271
231
295
269
269
312
363
277
323
294
410
213
352
373
255
356
289
373
337
328
377
332
327
297
338
341
284
271
246
303
241
268
334
376
339
298
307
419
248
260
327
333
270
301
329
331
335
311
308
361
296
304
275
361
250
361
165
350
328
373
346
288
422
349
300
375
324
273
380
326
272
217
368
307
308
323
242
306
260
274
321
321
259
295
369
382
266
273
228
359
386
325
333
339
397
366
367
235
273
292
425
276
311
326
264
329
211
314
280
319
257
275
285
262
355
294
377
316
314
365
244
281
359
348
345
394
389
317
314
342
307
330
294
373
274
315
258
320
281
268
272
354
315
356
411
372
304
330
356
370
331
334
389
262
268
318
370
308
427
274
337
323
358
302
270
237
307
293
310
326
291
336
239
366
323
284
363
368
325
377
406
341
307
335
244
289
304
338
404
276
268
258
336
296
314
363
312
403
308
372
308
392
361
247
337
256
295
359
236
353
382
324
344
268
312
328
316
279
281
269
332
332
331
351
349
391
305
266
340
249
281
343
323
362
356
310
337
305
352
277
338
327
326
288
337
303
317
333
360
295
236
287
312
308
231
304
323
320
439
286
323
416
271
327
236
302
364
369
338
294
311
245
271
391
257
356
378
363
260
333
353
341
325
391
272
288
291
321
315
304
296
345
427
228
349
318
311
264
331
295
396
336
289
256
304
285
265
314
323
237
347
280
348
331
334
272
388
347
323
329
338
359
350
346
233
316
315
336
341
319
393
340
329
328
361
345
306
324
299
287
298
382
339
251
269
346
319
325
353
296
263
255
305
344
282
335
322
417
293
315
301
339
335
280
222
283
378
265
314
332
310
313
292
287
397
320
314
306
352
328
302
302
294
333
319
265
316
321
223
286
297
288
306
339
277
281
303
292
258
336
270
373
280
271
319
270
354
328
328
351
343
314
300
249
374
370
361
364
341
251
311
269
368
289
333
309
355
265
256
320
300
348
274
243
292
295
285
256
279
302
316
264
301
282
319
362
395
267
316
297
351
311
313
420
258
335
329
293
302
282
400
242
288
365
310
369
379
236
287
277
382
301
313
299
301
289
281
201
296
330
334
253
441
341
344
394
331
409
266
354
322
285
298
348
352
315
373
332
265
322
305
325
313
334
302
266
337
327
241
301
331
315
301
312
246
309
324
375
310
288
225
314
290
300
351
289
290
287
335
282
243
177
393
366
283
296
203
252
275
350
318
349
363
380
340
249
413
366
326
280
223
270
327
228
293
349
352
157
329
312
336
292
337
228
347
335
312
376
303
381
354
318
369
238
240
296
233
279
276
298
311
350
369
279
379
378
365
316
274
286
373
308
332
311
271
339
274
218
229
356
354
238
292
339
285
269
275
350
408
304
316
294
278
385
280
336
331
275
315
334
289
392
331
284
372
345
252
316
371
304
376
323
301
369
373
276
279
372
250
326
314
321
358
284
287
282
358
316
305
231
223
329
261
292
335
371
352
319
401
297
325
358
299
304
243
286
300
301
342
279
252
332
317
328
210
354
327
358
333
364
260
218
312
368
307
241
315
317
300
221
264
295
244
337
334
406
282
297
350
307
251
279
310
217
340
265
348
289
295
281
328
269
368
346
283
292
318
321
432
375
337
345
226
257
284
320
321
263
338
328
294
270
335
328
340
276
358
255
335
269
396
324
337
255
327
323
331
268
272
380
309
295
346
282
305
261
298
345
226
270
335
316
337
266
418
450
332
414
295
305
366
271
282
337
317
300
343
323
327
357
355
352
261
388
325
344
290
312
281
380
371
371
288
179
223
386
341
234
343
300
304
352
406
292
352
337
334
282
346
292
278
330
268
286
282
317
379
299
339
269
284
410
331
370
247
313
357
275
325
261
292
242
324
347
388
314
285
316
258
363
262
261
340
305
259
289
327
265
341
256
373
354
332
280
336
359
290
234
315
251
355
320
272
383
265
277
311
258
336
317
356
361
321
285
351
252
311
246
345
315
351
336
278
337
273
364
272
378
342
287
337
361
251
358
361
252
321
365
297
282
402
284
279
274
304
327
372
314
299
427
310
306
347
246
340
307
392
339
308
301
412
258
285
343
293
315
312
331
291
294
315
317
156
354
352
259
268
345
365
290
266
281
310
320
307
311
266
404
301
294
325
250
302
287
254
235
390
391
280
285
340
373
320
292
271
343
365
259
312
320
311
345
311
303
350
276
309
228
324
359
287
303
385
322
253
361
310
233
239
337
355
355
388
289
291
267
429
293
283
317
331
368
358
305
312
194
308
271
266
394
425
266
328
323
335
243
344
348
346
258
375
378
384
361
247
368
268
324
275
342
350
393
390
324
354
246
259
242
310
374
342
310
304
272
297
301
329
278
312
297
249
283
269
347
374
311
314
402
300
308
351
358
298
321
349
245
349
310
353
252
303
367
272
418
213
344
319
279
354
249
334
384
278
368
325
256
361
308
297
277
329
310
269
241
342
403
304
306
260
328
354
327
258
381
287
376
318
323
343
396
310
359
362
263
303
374
325
287
363
368
334
299
330
278
292
312
370
297
336
336
318
373
224
318
353
276
368
328
366
310
243
354
303
312
326
307
295
281
311
295
342
308
352
229
175
326
349
306
356
355
422
291
297
370
328
296
346
349
331
317
420
338
318
339
326
334
366
348
419
206
270
309
345
341
357
285
333
303
388
324
320
352
341
347
249
392
318
337
354
344
339
323
258
359
279
318
290
312
316
317
274
334
323
283
259
302
301
354
378
306
333
421
228
364
352
267
289
336
274
400
342
362
382
337
345
235
287
346
251
317
344
368
394
286
330
283
312
362
241
358
280
313
326
301
320
303
360
291
357
285
353
318
288
267
318
333
384
324
269
272
353
327
306
244
382
269
342
349
272
348
263
196
307
304
200
277
330
359
271
304
355
311
297
433
290
314
318
321
258
347
312
337
333
356
380
283
314
335
354
259
334
294
368
299
355
297
397
303
333
323
282
321
291
309
237
387
373
385
265
279
306
308
336
278
297
282
246
298
308
327
275
266
318
289
392
316
376
272
300
350
296
314
299
337
415
322
321
277
336
394
401
307
354
312
324
320
263
359
329
326
279
307
329
348
370
354
327
279
311
305
250
408
350
194
370
304
323
341
351
265
315
335
362
251
281
312
282
294
294
399
353
290
329
402
306
324
302
256
276
303
286
346
308
398
365
315
315
238
400
285
276
295
348
278
294
327
368
364
292
363
275
323
223
402
337
363
309
319
287
394
358
367
308
364
320
327
311
364
360
330
414
335
320
326
268
316
330
351
220
321
273
274
275
343
342
269
358
304
358
327
329
333
304
327
269
311
328
233
348
335
334
354
258
355
334
315
188
312
377
278
281
326
327
330
283
236
293
378
393
288
241
274
257
311
356
319
375
267
332
293
292
312
247
338
296
365
269
335
407
374
310
382
296
327
276
296
314
302
361
280
308
377
327
349
354
257
402
326
308
213
322
349
274
271
353
379
434
346
252
349
389
319
326
313
279
344
340
352
302
322
235
335
358
287
306
404
332
239
293
335
324
238
353
338
340
391
301
279
273
361
232
383
306
372
256
319
264
240
300
296
308
307
354
316
309
360
226
326
346
351
276
288
316
333
339
379
334
349
313
334
338
275
320
341
352
308
350
374
393
298
322
379
268
319
325
383
185
288
303
312
308
343
280
304
272
265
302
324
406
287
328
220
258
390
302
272
349
315
333
319
334
328
210
379
260
375
360
336
342
351
361
270
354
325
250
267
323
310
365
250
321
385
371
315
441
307
356
287
309
319
293
374
316
263
330
331
291
384
287
369
239
286
258
290
315
371
355
234
303
409
299
359
295
317
355
352
240
303
240
353
290
261
324
323
219
392
392
304
323
309
253
280
347
356
294
285
333
347
350
349
328
249
262
290
361
293
294
361
314
248
294
338
190
348
345
345
263
225
352
303
339
304
352
368
347
305
340
314
348
294
278
268
375
281
420
303
309
378
372
420
239
323
277
296
304
195
225
242
273
342
219
347
282
303
433
360
365
271
255
401
344
277
272
355
303
273
320
357
277
346
205
342
334
332
346
266
365
265
338
274
305
231
329
343
349
363
289
316
324
407
335
373
331
331
221
318
322
300
300
250
314
366
364
303
362
287
304
278
365
273
320
247
346
273
256
312
326
303
341
262
299
256
397
267
342
268
325
285
340
315
417
388
259
276
329
282
397
360
317
253
271
357
337
335
350
290
326
340
354
325
296
343
283
331
304
326
287
341
309
299
301
377
354
324
244
304
348
320
375
346
282
331
358
272
417
322
254
322
257
310
339
252
258
310
316
301
242
325
289
339
267
320
330
322
267
383
258
369
263
229
306
248
222
273
353
233
262
302
336
299
285
342
295
343
340
344
251
393
327
310
233
265
320
380
286
348
302
375
291
357
279
350
262
351
344
360
238
409
319
231
282
298
294
279
272
393
306
248
315
367
302
366
379
317
287
268
307
282
224
326
279
344
233
359
291
269
316
301
386
275
305
319
314
293
322
289
302
351
352
326
396
301
317
360
367
314
321
282
357
353
302
300
332
316
287
339
329
376
350
291
295
240
318
339
316
315
264
324
320
311
323
342
382
281
422
375
348
346
337
293
411
295
242
265
282
250
357
311
259
344
343
273
274
402
349
263
274
321
333
306
266
341
299
321
297
221
341
366
340
339
335
299
322
309
317
298
323
336
250
358
332
294
259
241
280
353
287
382
339
335
344
323
407
298
284
344
312
257
342
300
347
291
355
336
303
373
363
286
323
360
314
348
273
302
288
243
235
356
319
316
306
356
364
255
336
279
291
330
359
377
256
370
325
293
256
354
287
215
247
400
281
331
280
373
405
312
350
425
346
325
303
306
370
364
240
320
328
266
331
290
297
244
348
378
314
287
312
296
296
363
251
318
349
370
234
359
291
347
350
208
340
284
264
370
314
305
259
313
302
269
389
276
259
419
279
282
315
323
266
372
318
310
326
284
286
262
339
290
333
281
263
362
315
297
261
379
293
220
303
310
317
359
304
347
286
326
328
299
290
348
282
423
233
290
325
297
335
350
353
305
271
345
318
376
375
333
320
237
336
358
372
352
322
312
255
283
375
298
334
368
375
283
303
328
269
270
303
349
327
221
340
322
366
272
213
321
344
334
336
314
329
284
324
329
372
260
322
297
276
279
356
414
373
282
418
385
376
315
310
266
332
303
212
276
326
347
298
307
189
240
348
379
310
255
286
277
301
301
329
276
326
283
301
350
266
265
341
324
328
337
321
316
301
330
313
343
323
303
414
274
256
299
295
396
279
231
297
252
293
331
277
319
315
320
303
336
305
272
274
286
269
330
269
261
410
372
314
399
223
315
328
254
334
379
299
308
330
312
381
210
325
334
341
393
347
266
346
237
360
278
392
364
288
262
329
332
389
309
351
352
340
441
373
259
322
285
369
257
339
343
374
328
361
370
341
357
305
272
305
221
341
347
394
238
279
242
311
363
391
400
348
326
287
319
216
327
269
273
381
353
356
325
355
229
278
325
309
338
252
259
270
356
273
311
327
385
347
293
345
257
406
266
241
237
337
278
195
344
265
284
278
407
232
331
316
366
360
268
321
287
299
324
317
341
295
266
193
237
339
345
333
387
289
347
330
314
284
286
305
322
402
313
281
385
387
302
330
343
356
350
308
269
310
297
256
329
311
337
303
354
312
378
227
295
327
314
379
335
353
248
309
338
322
342
313
390
292
286
400
318
297
325
359
302
260
319
316
266
305
241
292
292
262
273
350
291
387
261
305
300
255
284
321
250
332
266
320
345
339
263
244
324
288
320
315
282
324
393
274
274
277
343
302
363
360
298
339
253
256
317
346
301
305
316
287
298
331
288
349
384
297
291
269
300
306
268
270
261
330
320
240
298
350
232
318
349
327
394
286
347
390
263
249
326
255
298
376
296
332
368
313
322
374
443
336
359
289
304
280
375
338
290
293
397
288
316
304
314
343
319
348
261
293
343
311
304
298
310
309
268
369
227
260
242
347
406
369
372
332
308
320
304
323
344
352
351
313
299
387
324
352
273
344
337
348
337
369
321
296
296
280
336
325
325
282
272
341
298
324
242
367
336
262
259
298
270
393
336
285
265
263
288
302
310
325
342
291
298
368
348
391
317
379
380
392
377
347
329
333
344
262
329
276
364
326
296
279
228
332
282
319
376
287
256
345
334
317
303
326
340
313
324
341
298
354
326
251
418
354
169
248
387
320
283
283
259
316
261
273
384
266
347
388
242
297
300
283
289
324
261
317
368
357
353
338
364
347
391
227
367
335
316
319
320
314
346
362
279
297
271
304
310
384
233
363
266
270
323
302
304
276
321
356
340
285
284
322
324
330
328
303
400
322
301
341
243
264
328
387
300
330
337
274
323
221
307
276
306
352
252
339
265
371
278
276
346
337
426
302
264
370
318
263
287
276
297
371
336
391
304
309
343
291
328
280
245
264
355
273
304
267
356
341
303
339
260
257
281
272
319
308
302
339
314
338
282
246
299
408
358
297
369
289
282
327
253
345
319
272
231
344
378
396
354
317
308
319
308
307
325
342
385
230
334
338
322
287
284
379
351
309
343
394
304
293
326
333
341
281
273
265
306
309
314
254
312
390
329
294
301
268
327
364
308
347
306
299
290
302
335
240
302
369
272
371
324
211
309
276
282
263
268
330
328
394
282
363
407
386
342
308
279
334
364
334
349
289
252
268
228
309
356
350
407
319
329
255
372
274
285
342
282
318
228
252
333
218
290
277
303
408
273
221
345
349
263
270
371
320
249
384
352
299
258
308
352
329
368
346
309
347
278
318
250
387
334
317
325
359
339
420
297
379
310
238
327
264
305
264
257
297
278
326
276
295
338
328
317
350
282
326
351
250
308
267
274
284
291
310
372
307
327
253
289
271
319
324
312
324
216
337
307
365
254
243
336
335
311
213
299
250
328
278
286
364
281
354
355
372
301
218
321
256
330
333
272
359
292
276
277
298
340
355
365
282
325
266
308
349
377
403
334
302
355
201
305
294
225
342
345
351
350
331
269
245
333
351
290
301
286
384
230
288
245
352
426
349
312
261
281
261
409
310
304
191
379
321
344
372
359
340
181
382
309
366
310
343
366
234
278
190
318
385
205
381
274
296
301
247
300
320
261
312
371
305
312
249
332
359
370
366
280
286
347
260
359
297
233
353
346
269
311
339
307
275
295
327
284
338
245
304
368
310
321
321
266
393
425
229
243
374
293
298
288
299
283
256
333
352
422
334
236
388
363
290
375
360
373
331
286
394
332
276
375
419
378
334
301
295
326
362
296
367
358
293
312
369
366
296
316
342
262
330
340
388
388
299
262
364
367
304
274
312
329
259
362
265
248
331
366
381
257
334
308
405
332
368
358
381
374
354
314
320
293
339
245
349
307
339
346
343
239
358
243
295
335
289
306
343
393
271
410
215
296
327
369
321
358
295
298
284
327
256
331
393
395
287
334
332
344
357
225
246
353
269
375
349
334
325
258
282
374
402
317
327
287
293
339
310
348
252
295
254
369
315
320
375
336
332
269
263
319
324
247
279
290
343
345
372
402
296
354
279
347
197
410
288
369
324
334
312
378
364
288
311
347
259
351
235
313
316
321
336
294
269
334
242
383
276
263
245
255
376
385
273
297
341
351
185
292
333
324
265
237
358
350
279
324
301
303
315
328
216
339
297
264
276
354
320
341
348
352
284
315
348
302
258
260
270
254
337
233
313
319
321
336
300
298
320
268
299
350
351
336
306
393
450
255
255
243
345
310
287
243
434
403
360
342
372
335
324
308
283
330
392
390
335
282
372
356
318
334
280
321
370
256
354
308
343
317
330
276
215
331
301
265
309
337
267
335
303
355
296
348
269
313
318
344
348
275
273
329
301
324
311
223
331
348
302
327
261
336
287
334
274
244
325
355
400
311
281
335
319
231
346
302
279
294
387
315
318
307
293
318
352
320
336
306
368
292
337
296
303
365
325
398
312
318
392
380
297
341
288
376
258
228
265
366
308
305
264
281
335
251
333
290
255
288
289
309
394
333
231
368
321
314
298
274
298
360
334
269
273
273
393
303
274
240
359
232
330
269
362
277
366
342
319
308
210
332
342
347
260
287
290
245
322
376
336
316
244
258
360
337
314
379
348
281
316
272
313
372
318
320
255
343
343
286
296
320
313
344
327
360
305
300
351
274
311
329
315
237
334
359
359
352
286
189
258
330
323
397
264
379
303
311
318
274
340
237
303
363
286
250
356
289
268
309
249
270
309
372
266
327
389
273
195
326
330
277
300
290
333
344
369
236
348
349
331
366
345
292
383
246
253
334
243
312
315
340
225
400
339
288
347
296
299
411
269
336
341
339
332
328
394
204
404
220
272
367
319
272
230
326
336
365
319
281
369
241
398
329
266
319
350
270
323
326
326
274
363
286
277
324
300
343
329
315
366
295
262
332
313
311
300
341
331
294
349
331
318
303
278
351
338
335
226
258
299
327
345
375
367
290
282
262
245
366
308
352
279
332
251
326
328
335
365
311
327
291
306
338
334
379
323
388
273
234
259
274
372
304
329
360
347
285
372
326
308
319
255
303
277
337
402
355
312
278
332
336
290
266
315
260
324
338
383
249
245
266
285
409
414
335
356
272
299
292
320
259
338
239
285
341
344
356
274
361
291
390
341
371
323
394
310
350
293
397
340
354
291
312
237
245
269
324
289
292
311
301
367
363
330
254
301
316
358
337
353
328
230
401
325
351
334
246
320
290
238
261
321
274
334
230
328
229
386
372
412
325
301
309
383
335
375
339
277
267
374
328
366
251
267
283
317
269
254
389
361
339
308
316
372
358
314
314
346
336
349
280
344
354
223
360
291
350
341
360
327
326
278
267
258
381
348
354
250
310
288
322
268
364
343
342
308
353
376
295
417
319
267
304
284
278
346
300
275
320
361
284
252
343
404
255
287
340
382
347
335
333
309
338
312
372
301
358
290
326
248
218
311
284
227
301
335
282
309
347
309
354
347
285
244
274
331
328
307
306
362
214
339
278
380
359
303
373
315
347
267
356
353
325
298
320
252
246
310
404
370
350
321
272
192
364
261
334
326
337
365
312
324
347
324
359
344
340
350
265
306
381
346
255
332
328
316
382
321
374
266
333
368
329
321
286
362
318
274
372
343
345
266
344
293
303
238
344
330
286
305
394
277
352
372
335
318
338
277
331
264
272
362
360
299
329
339
312
339
287
317
277
378
318
372
299
297
288
307
340
339
298
356
382
347
282
387
343
268
311
275
382
297
335
308
280
314
317
257
287
321
272
334
262
358
303
246
258
326
317
314
268
343
211
272
266
323
344
293
327
336
273
287
327
282
347
389
281
355
286
379
248
320
263
273
344
313
322
340
335
284
293
294
460
343
336
360
347
358
289
307
242
357
395
371
307
259
221
303
313
308
265
239
384
343
266
331
305
365
340
285
330
344
215
278
360
306
348
311
251
302
261
296
325
394
347
402
318
301
382
256
355
286
367
348
260
336
284
260
291
283
244
291
222
300
362
282
302
389
279
312
313
291
334
276
324
295
345
326
364
314
294
292
331
404
279
257
262
307
332
329
269
383
300
276
322
283
334
338
339
410
315
297
259
304
351
313
329
331
380
346
333
273
269
290
289
276
409
254
282
344
214
395
363
345
363
313
317
301
327
311
234
274
239
279
304
278
267
325
302
367
332
238
386
319
391
369
368
264
276
337
315
337
313
303
281
320
309
351
310
292
321
310
347
346
345
287
236
276
293
298
312
263
331
294
367
331
442
266
262
365
285
285
315
325
385
258
296
353
290
373
347
328
358
303
325
310
278
298
300
287
243
270
274
307
282
295
379
287
420
256
265
264
372
344
231
334
327
381
320
224
259
335
357
243
285
354
319
333
215
287
321
361
361
272
220
331
375
466
331
417
310
305
375
312
297
309
335
349
323
339
330
292
300
351
246
235
296
316
270
454
326
317
254
355
348
274
276
341
322
294
232
303
330
344
363
272
281
333
287
307
322
317
275
243
273
379
291
287
345
311
310
367
344
283
300
293
362
310
325
368
342
300
409
348
374
345
333
370
335
275
377
345
332
351
313
330
308
224
326
276
283
354
302
377
318
306
247
375
413
273
288
370
317
256
205
293
434
266
329
373
235
302
283
282
278
411
316
331
378
267
314
296
284
317
344
272
249
298
241
382
281
276
289
354
324
240
382
297
201
208
350
294
288
305
286
279
269
383
300
288
278
329
276
318
347
265
344
321
246
302
319
370
424
295
309
315
247
433
327
354
356
379
344
338
319
333
267
330
372
283
384
391
277
334
294
321
342
361
367
352
321
263
375
275
385
338
394
281
278
316
334
294
375
317
352
267
341
303
344
322
289
358
266
317
252
315
236
275
286
256
332
246
300
275
346
292
286
332
311
298
232
368
334
417
254
276
315
247
246
361
380
294
225
275
371
326
313
381
320
367
241
395
294
359
355
356
285
339
303
287
250
309
328
306
321
352
190
273
326
328
316
283
304
237
318
339
249
360
251
358
367
317
272
341
249
261
292
290
395
330
296
398
286
282
260
351
277
371
349
318
350
371
336
267
268
323
328
324
277
327
347
399
376
284
336
291
285
303
300
324
339
287
345
328
306
265
347
353
311
320
346
275
303
297
249
354
281
289
251
430
344
277
290
384
287
271
258
381
380
331
325
306
302
284
366
322
358
342
249
287
329
326
318
296
292
253
354
337
355
196
286
330
315
378
343
369
269
357
357
304
312
170
353
232
320
217
331
338
257
278
250
385
365
274
357
269
282
292
304
356
360
363
241
439
272
360
275
306
273
350
317
348
365
236
311
320
344
376
324
327
281
263
360
285
311
332
240
312
330
242
375
292
310
278
322
341
325
344
243
339
309
320
317
325
219
232
349
268
303
368
264
243
387
288
351
324
357
356
314
365
323
391
348
306
278
345
311
374
278
397
376
366
246
313
252
313
239
252
385
288
288
270
293
314
235
321
342
340
292
258
344
372
263
320
373
348
341
267
294
322
330
298
342
311
287
277
324
309
247
310
338
269
224
349
322
354
350
285
333
356
276
328
307
239
275
298
338
308
370
245
236
312
325
324
300
266
350
278
321
275
252
368
270
369
309
234
221
383
294
254
323
286
314
329
316
267
250
313
249
259
324
358
341
253
355
260
297
251
306
240
251
411
293
346
326
210
259
265
306
274
417
376
408
328
289
289
331
309
307
210
348
353
351
353
260
359
290
356
309
347
192
275
250
299
290
333
313
308
322
378
456
282
229
272
235
375
264
292
351
267
311
345
301
281
328
385
276
316
294
312
348
187
311
283
363
326
361
355
294
317
340
348
307
297
315
290
235
286
340
342
269
283
384
234
295
339
294
365
308
297
312
339
283
259
304
361
341
318
341
340
350
331
333
371
306
310
339
296
308
309
255
279
314
394
403
238
366
350
279
312
384
367
302
302
309
342
242
309
435
353
280
289
226
283
340
371
264
297
349
207
299
301
280
347
286
283
333
361
282
376
352
328
328
337
252
291
353
241
267
360
357
222
284
317
346
273
272
377
353
246
361
308
422
252
265
299
364
359
374
262
219
289
291
256
354
315
310
325
397
291
299
287
329
322
351
352
283
339
360
356
338
286
300
351
317
326
339
353
236
241
366
308
318
235
287
340
233
312
400
264
365
340
289
286
364
252
270
332
362
310
367
315
219
342
319
293
337
316
428
224
386
304
300
340
380
264
300
324
300
244
262
431
329
229
353
282
175
324
257
297
406
416
379
359
252
256
355
321
305
289
297
316
435
358
306
357
317
390
357
287
354
327
306
279
339
353
202
306
334
404
318
308
279
359
266
284
307
408
209
323
340
385
296
294
298
335
229
294
250
274
302
313
265
293
332
207
371
400
385
294
298
252
270
316
347
349
334
423
252
341
267
274
331
291
290
275
218
236
284
418
352
244
337
338
323
364
285
286
306
246
200
326
366
359
298
347
298
413
346
358
295
362
389
364
280
355
241
362
289
287
393
274
224
319
343
308
362
335
329
364
310
326
252
306
298
327
347
248
316
222
285
397
333
321
299
298
321
258
302
350
319
252
288
353
352
356
304
355
352
302
303
254
204
224
316
359
321
313
354
334
293
366
288
330
282
294
364
292
345
299
281
294
311
302
262
348
282
331
322
323
303
240
341
268
293
413
334
232
265
347
255
269
367
257
289
276
307
337
273
313
390
233
260
334
283
326
375
316
383
369
270
337
341
328
414
306
263
238
377
305
265
311
242
344
250
237
275
331
281
368
367
231
278
300
374
291
256
391
327
349
265
261
237
348
339
246
314
309
315
300
371
302
337
240
240
320
311
312
305
287
289
333
332
277
285
378
296
246
286
322
361
213
302
234
325
393
362
369
268
326
268
320
371
370
295
390
253
272
257
286
317
274
340
306
252
387
349
226
273
293
233
319
436
286
340
379
361
346
357
292
281
328
282
382
403
342
370
297
242
309
315
216
313
333
299
282
287
299
354
350
323
327
360
266
381
321
300
356
352
234
364
319
301
346
349
350
322
296
355
349
378
335
407
281
276
317
323
311
287
297
265
351
324
293
303
338
378
294
355
332
376
335
322
349
312
318
298
374
334
210
278
295
347
268
335
271
351
264
286
297
306
404
304
218
262
322
317
324
306
334
346
285
290
287
275
339
371
306
348
364
239
369
347
320
323
295
353
402
333
310
377
305
325
300
262
389
239
378
348
357
343
260
273
315
421
270
298
340
354
361
359
278
337
304
365
399
318
410
277
356
345
286
361
379
270
347
305
298
309
345
280
325
308
320
293
400
319
332
255
311
356
300
350
335
331
359
355
294
277
347
337
262
277
300
300
353
259
359
339
316
273
289
229
264
328
315
330
332
312
318
318
268
340
321
304
330
311
335
332
273
319
349
405
248
344
355
282
328
300
330
417
357
331
326
308
349
372
296
355
332
349
281
323
314
273
282
294
325
285
336
319
352
336
302
270
295
343
302
380
361
291
320
275
299
278
301
315
327
246
276
311
352
271
287
307
283
328
307
386
365
257
261
315
412
378
331
235
327
344
313
269
368
365
336
219
339
340
258
281
307
358
281
232
336
337
249
349
312
283
369
308
301
321
274
305
287
298
330
337
313
307
298
276
306
403
351
324
304
283
290
307
306
279
396
284
339
240
320
254
300
294
296
200
387
309
338
319
246
296
319
276
393
307
316
369
305
322
324
376
312
363
290
342
257
305
354
285
256
314
406
409
348
234
303
332
324
332
289
312
294
320
298
359
348
374
270
286
358
219
317
338
329
244
259
284
348
229
353
394
354
370
216
376
365
383
349
346
205
309
313
347
337
320
341
349
267
288
265
406
315
358
322
338
406
336
364
331
308
259
310
342
317
217
231
320
305
279
395
305
270
298
353
261
265
394
244
302
296
335
256
240
290
304
218
350
265
372
358
302
389
276
272
370
332
345
394
314
285
337
345
326
348
210
330
353
409
348
305
224
388
191
370
365
240
329
292
273
374
227
340
324
286
293
338
235
243
339
305
347
263
234
242
269
380
233
331
281
247
366
371
349
325
342
320
340
225
255
320
160
276
352
325
341
247
356
306
310
331
355
311
362
273
328
276
303
228
258
233
294
322
294
259
305
329
357
328
280
346
261
328
241
312
347
428
345
279
279
273
333
200
309
256
305
290
315
350
313
296
343
386
338
267
244
330
349
315
284
257
290
354
274
235
289
331
270
293
367
288
241
373
328
282
274
359
306
311
368
310
303
367
281
317
363
311
251
285
304
286
358
373
340
379
249
275
275
316
316
307
329
244
281
323
290
350
292
325
341
338
288
399
303
344
249
319
338
357
315
303
315
292
407
315
284
388
371
303
400
359
360
283
314
299
316
308
337
308
296
315
309
253
363
320
160
365
344
277
326
311
291
297
287
366
351
320
305
230
391
308
406
332
239
361
338
305
327
341
317
329
375
325
336
238
258
307
389
403
327
313
207
336
334
204
286
249
361
226
342
281
254
308
307
358
356
354
312
241
272
267
287
286
299
331
271
253
331
385
335
411
368
218
296
330
282
369
249
276
377
336
220
298
320
306
334
314
233
337
241
341
274
335
312
315
217
388
266
314
360
319
299
325
368
351
318
345
345
289
301
315
314
335
431
270
257
339
342
296
273
317
333
309
304
294
357
332
363
263
389
317
291
383
308
333
339
291
352
279
290
230
330
280
301
271
287
334
339
262
292
345
308
314
315
306
267
285
341
266
330
288
297
301
292
233
276
247
352
321
284
262
260
333
367
291
351
364
276
308
369
398
417
350
221
309
264
355
290
352
318
337
282
307
300
307
270
262
321
318
227
311
353
355
206
318
360
363
351
299
388
345
282
334
281
402
386
241
339
330
295
342
260
343
331
313
324
284
304
320
245
369
278
274
377
215
432
339
321
297
309
237
312
263
217
325
307
222
247
295
392
355
366
297
353
295
297
250
262
363
329
353
321
359
297
324
356
363
324
374
343
275
326
328
350
238
315
325
378
296
294
379
423
404
298
291
367
308
301
271
296
329
331
400
276
364
244
250
262
270
254
350
335
292
318
370
283
283
356
339
338
369
245
334
378
301
364
242
293
325
363
300
309
327
308
251
326
359
350
299
317
348
326
273
320
395
307
328
259
301
318
276
363
362
336
222
283
359
290
229
266
363
328
232
319
321
345
330
326
306
335
447
353
353
269
348
328
334
339
337
288
344
348
383
225
335
263
304
320
311
374
329
361
256
240
288
246
354
327
257
366
281
307
307
371
385
346
281
231
298
369
383
357
326
357
279
297
310
318
315
324
327
279
343
380
343
356
295
339
317
303
357
354
372
331
350
354
256
303
317
242
278
381
315
253
264
383
316
375
293
261
306
275
307
314
304
267
266
305
324
263
236
290
288
322
336
409
307
320
362
325
323
310
279
331
385
219
339
343
324
349
361
265
358
329
276
285
374
345
318
318
320
361
313
303
308
286
394
309
339
293
344
309
327
382
276
293
342
293
201
362
375
364
325
357
442
271
296
370
315
298
304
302
305
229
291
342
280
292
387
380
315
366
363
311
370
319
329
273
318
411
208
272
382
360
316
251
352
276
353
321
231
320
318
306
358
311
378
311
283
243
313
267
332
302
354
323
325
325
332
296
292
295
323
249
298
340
330
267
297
300
284
274
266
438
370
335
378
280
349
244
319
379
363
324
316
342
379
333
263
229
340
311
212
321
289
388
257
332
318
451
303
373
347
263
313
332
202
359
338
360
246
207
239
290
328
369
298
391
250
309
282
351
251
376
349
326
217
344
364
277
342
269
313
288
349
306
389
298
272
264
243
357
331
289
408
314
265
390
366
357
352
381
380
356
381
270
291
245
293
337
268
300
285
331
281
351
330
321
277
304
293
299
351
262
415
312
264
208
326
321
315
272
404
357
322
299
231
311
334
354
317
292
285
335
267
311
342
271
254
329
303
342
259
306
397
263
324
377
344
395
410
328
338
314
338
289
425
404
365
290
372
319
334
326
264
340
237
393
319
294
343
297
337
310
358
358
311
370
285
378
279
249
374
367
288
388
357
334
294
411
262
279
343
314
261
334
334
342
276
280
327
304
334
398
316
322
344
262
309
313
391
333
363
343
266
366
361
322
345
319
335
281
330
442
290
419
351
338
412
297
375
277
382
345
381
298
230
270
333
380
262
251
277
286
183
329
348
253
290
354
403
262
334
383
254
232
353
331
309
282
248
321
282
364
200
269
262
209
270
365
277
249
395
301
345
259
241
287
309
455
276
297
266
341
276
287
333
351
290
357
336
337
289
308
331
268
275
296
302
261
363
370
403
364
311
305
360
311
273
363
224
225
252
242
325
311
287
256
327
329
275
309
360
322
301
346
358
254
293
327
364
329
390
232
290
361
242
329
281
378
275
338
268
313
401
407
256
270
401
352
381
312
298
293
266
397
235
366
392
331
308
346
327
310
398
341
410
293
341
257
269
314
345
325
331
378
328
363
210
337
257
358
323
304
380
296
296
295
277
278
307
290
274
320
337
293
245
161
268
283
334
357
324
336
199
287
301
315
304
342
365
304
314
363
297
363
368
335
292
293
287
295
421
323
334
309
366
302
290
303
324
360
285
298
363
301
215
341
317
307
315
330
379
303
293
292
383
267
312
282
341
306
400
309
348
304
279
292
363
387
396
283
274
310
334
266
310
296
262
317
305
389
356
265
324
395
335
327
305
242
289
273
385
343
225
338
316
279
249
274
195
267
360
314
242
279
279
278
285
352
282
340
366
369
318
363
336
337
326
353
248
340
311
294
345
237
275
339
329
290
317
324
312
386
345
345
303
342
277
346
263
378
329
248
340
273
393
294
270
275
333
275
322
332
233
227
265
265
361
281
275
295
345
348
240
272
263
404
288
285
287
346
313
375
315
222
319
296
291
302
376
310
215
298
310
265
279
266
258
274
341
342
293
209
407
216
343
283
334
307
239
220
340
302
297
285
305
278
364
255
301
244
347
336
428
358
290
282
347
305
239
256
361
317
383
371
346
330
309
281
254
310
191
332
292
289
291
294
345
219
317
393
322
335
316
310
332
386
273
368
355
369
283
327
272
301
242
233
278
255
281
314
285
337
279
231
323
312
300
361
288
346
234
288
299
259
292
389
278
358
327
356
281
422
361
391
280
286
393
341
334
307
331
325
362
372
344
330
335
337
323
280
292
344
329
236
323
350
294
355
318
370
328
353
362
255
323
342
196
348
251
304
362
206
242
346
326
245
351
263
306
310
310
348
255
340
245
267
288
277
351
241
348
416
300
355
282
368
347
345
284
304
290
387
359
376
329
314
260
310
306
291
244
341
361
375
318
340
308
312
338
357
318
289
294
316
372
363
368
284
263
278
350
271
244
309
293
350
402
345
319
349
190
283
319
322
327
305
282
281
272
333
223
327
305
331
289
385
286
379
367
251
302
288
331
345
286
305
328
352
211
352
299
324
371
286
405
313
348
246
365
341
373
347
348
304
271
404
353
381
336
400
300
242
314
241
252
286
265
331
209
378
350
307
285
273
287
344
318
306
274
331
267
298
306
375
219
425
263
333
326
300
367
346
306
313
324
336
297
243
322
346
272
299
408
320
346
294
312
232
280
339
273
311
284
271
287
290
325
286
365
326
328
335
284
292
226
272
246
300
329
273
270
323
353
340
279
286
301
328
364
344
286
216
346
351
324
319
347
284
188
319
215
299
324
337
281
337
383
265
396
361
317
301
315
350
314
376
386
308
269
313
320
352
237
411
299
333
384
307
290
370
306
319
339
314
317
325
395
333
328
282
243
306
323
375
365
319
346
434
367
273
322
227
321
339
239
354
257
340
392
326
299
294
292
293
245
320
330
368
331
266
281
297
264
342
296
242
367
273
216
341
314
334
229
258
312
283
314
260
325
290
267
312
308
352
324
230
359
306
240
299
341
345
292
328
183
354
347
280
362
287
246
352
325
367
317
334
330
309
297
220
255
365
309
354
251
357
392
343
261
353
284
334
356
312
362
323
318
289
315
248
290
304
349
273
362
247
303
265
268
264
326
277
373
316
293
374
335
348
339
386
365
292
315
350
364
280
315
243
379
259
326
295
331
376
336
335
339
273
237
289
304
254
326
369
283
369
390
351
305
280
357
293
354
255
281
311
317
282
254
302
373
331
287
322
304
399
208
283
393
263
161
340
331
316
282
333
313
248
280
238
312
291
361
354
395
346
342
306
379
349
287
294
284
327
323
314
305
332
299
343
336
238
327
295
355
325
355
300
322
329
244
321
278
383
306
282
355
340
286
190
366
281
296
279
388
319
349
343
303
358
363
331
342
335
346
364
298
331
338
351
421
297
300
317
320
364
274
235
350
277
376
335
393
397
310
319
359
255
282
314
210
332
426
267
302
285
272
311
296
308
292
338
283
253
324
297
274
341
314
379
356
347
353
354
318
293
270
297
281
330
299
407
275
259
340
324
378
288
324
341
291
339
235
296
335
298
314
276
285
341
356
236
292
400
348
334
230
343
365
389
299
377
265
325
180
316
202
388
303
317
320
339
255
288
338
289
377
332
258
336
366
335
350
227
348
301
328
237
342
358
275
276
276
268
325
279
256
394
341
303
396
319
322
267
334
249
296
222
379
379
394
293
316
292
311
326
331
335
266
350
289
293
330
404
299
364
303
295
318
331
363
348
214
285
249
262
388
397
345
311
312
284
292
360
392
307
358
355
338
357
297
386
361
368
311
274
372
302
341
324
317
297
343
324
368
275
364
339
305
319
323
317
332
332
303
306
352
334
340
294
217
307
326
243
386
293
287
235
296
323
317
365
268
218
270
318
357
318
327
298
376
320
220
382
372
277
374
338
247
296
322
292
430
277
315
332
356
374
303
327
254
352
319
271
341
245
342
221
328
297
340
326
340
345
393
314
268
266
333
355
345
363
306
242
283
305
311
343
355
275
218
316
370
366
262
304
368
255
241
299
363
211
239
349
370
282
354
201
218
266
287
269
390
275
296
280
302
347
279
337
320
362
292
341
358
361
296
349
319
360
270
322
339
305
327
298
359
347
314
303
259
311
281
356
292
281
341
287
282
321
362
294
280
291
319
363
285
325
172
315
302
261
265
343
287
322
379
291
328
323
369
348
305
345
262
225
303
301
324
253
264
370
341
393
250
269
374
319
332
287
256
322
347
336
327
237
333
276
298
276
298
271
404
275
390
317
299
302
334
295
419
307
342
300
258
234
320
301
293
290
343
284
357
346
287
311
272
315
331
355
328
384
273
325
323
352
265
357
333
252
286
276
346
229
367
356
313
295
245
329
430
365
262
368
292
328
355
316
337
383
358
311
272
316
327
280
342
271
266
346
341
332
309
276
347
338
327
389
322
345
279
327
326
358
327
378
279
250
251
354
294
369
347
267
272
387
283
326
275
321
302
299
325
268
313
286
290
321
378
290
335
291
290
324
321
345
226
322
335
278
285
278
237
280
360
284
292
365
306
344
351
346
251
352
354
292
275
309
313
266
321
289
284
293
293
348
383
338
326
363
285
323
294
285
350
254
335
402
302
363
313
342
384
225
265
333
354
321
374
352
314
336
359
328
351
288
401
268
350
363
366
328
294
344
271
359
298
349
271
312
291
397
290
301
282
309
352
285
334
273
270
258
286
317
309
307
341
331
402
302
320
338
288
321
394
278
349
368
310
394
253
364
352
271
399
300
252
342
351
350
316
308
292
282
222
312
238
315
280
335
289
350
345
331
288
333
292
248
322
267
327
306
343
315
335
326
305
266
281
316
290
271
350
292
376
302
302
417
311
224
315
331
305
259
303
289
402
369
252
351
288
358
327
359
331
311
310
379
274
226
251
268
287
260
345
221
299
295
299
348
329
350
318
251
294
346
297
394
266
301
370
356
397
294
312
314
266
301
278
274
274
321
347
316
255
365
411
278
374
333
335
327
322
316
325
394
339
297
314
357
367
319
286
347
356
333
303
271
325
294
283
275
200
250
313
276
371
296
297
307
401
290
341
282
292
381
290
336
331
270
327
334
334
341
175
255
295
367
292
346
327
328
326
373
279
342
340
329
315
294
259
295
246
263
428
265
314
360
291
286
268
355
351
348
306
310
330
352
343
367
314
263
391
308
413
343
297
417
333
299
241
318
290
325
285
334
352
357
212
299
337
283
271
296
322
267
374
304
269
250
346
329
280
346
327
259
357
346
258
327
280
310
342
296
319
310
383
377
302
256
354
308
422
433
319
352
342
336
329
301
248
353
314
306
301
334
286
338
332
293
260
321
396
316
303
303
318
269
352
318
401
304
352
306
364
367
411
274
366
316
327
255
329
256
315
347
383
323
309
370
358
278
229
315
377
288
312
303
290
287
286
186
263
315
398
319
372
290
337
323
357
323
304
294
264
271
359
296
238
328
283
279
310
319
296
340
397
338
345
309
403
336
334
345
330
383
296
299
356
278
381
312
286
370
352
269
307
313
265
391
332
302
261
403
320
340
266
344
242
263
321
302
263
350
268
358
320
327
339
350
353
312
334
328
345
316
347
371
325
346
326
326
262
287
379
382
341
348
284
281
352
397
282
268
257
297
372
333
343
257
275
265
280
260
255
324
347
280
410
358
314
368
316
274
343
359
361
300
345
360
349
363
320
343
331
349
278
370
293
409
276
256
324
292
298
321
331
392
208
351
248
219
260
306
326
286
293
318
292
338
301
292
289
233
293
314
315
340
332
237
369
251
295
442
403
317
380
355
235
315
260
390
356
371
305
268
358
195
364
274
363
339
305
262
348
270
310
262
359
362
302
277
369
295
188
259
331
355
371
351
330
312
344
406
302
325
430
231
299
286
280
280
347
383
190
307
342
326
299
284
219
248
335
295
317
325
261
299
279
405
289
309
309
302
344
288
338
343
343
258
316
396
222
236
347
328
272
332
272
263
399
351
305
277
384
331
310
296
331
203
287
253
223
246
295
263
299
342
303
266
284
190
314
292
318
330
299
341
336
251
308
261
385
290
337
271
395
365
388
345
356
377
348
301
270
285
305
365
308
313
286
302
267
351
327
349
386
274
316
296
382
349
343
305
298
378
367
384
299
290
361
289
308
354
278
384
300
321
342
232
294
322
321
355
370
385
263
283
274
298
289
286
296
342
333
265
315
420
331
325
263
267
296
351
327
348
289
306
379
228
268
298
326
314
312
311
371
390
301
360
308
277
252
284
318
311
287
324
338
386
321
438
357
343
325
434
330
276
319
303
375
380
306
300
280
284
267
306
279
373
351
360
343
302
331
283
308
278
231
381
370
333
270
356
324
388
329
295
329
345
330
355
288
333
319
319
319
361
292
308
283
306
313
335
374
372
277
325
272
313
385
280
351
382
315
367
296
412
280
267
360
395
278
264
394
298
382
303
273
330
312
327
363
244
289
428
350
328
286
266
255
361
285
340
273
355
303
359
303
388
324
302
303
294
377
340
312
319
301
320
307
211
287
345
348
288
335
287
299
251
342
293
276
365
307
359
281
270
315
287
273
293
299
288
221
306
394
275
359
278
290
341
336
358
334
239
296
358
286
289
278
318
347
288
331
324
275
321
334
383
338
239
366
231
324
300
320
243
288
294
330
319
421
318
318
258
294
321
300
272
375
298
260
324
288
344
301
299
320
354
260
325
348
286
300
293
368
348
277
435
339
303
345
224
298
360
275
239
288
315
321
310
280
278
326
311
255
402
402
340
309
380
347
210
248
286
389
300
335
336
335
237
360
241
336
395
337
315
296
331
354
314
290
262
259
351
359
254
338
265
347
317
264
265
285
281
299
301
432
300
340
356
328
349
303
282
331
301
271
340
289
364
253
327
348
339
366
319
340
363
331
299
256
337
299
276
252
304
386
324
320
282
242
318
251
335
291
250
261
317
274
287
417
296
299
271
367
338
367
352
342
295
334
241
376
366
337
381
339
299
329
277
343
352
198
350
270
285
377
346
335
290
317
325
350
336
269
300
305
327
273
307
329
362
263
297
296
326
292
308
317
341
334
282
287
344
283
290
201
327
365
279
301
276
327
403
340
285
263
340
324
335
301
265
294
279
348
351
247
343
299
371
338
361
314
284
362
229
286
282
335
326
345
294
241
329
297
339
342
279
295
390
334
233
220
326
321
282
246
380
370
276
234
257
319
380
258
347
293
267
345
248
374
368
284
372
347
294
389
307
249
321
348
358
237
223
287
307
314
289
298
394
373
282
339
387
278
339
217
330
294
280
325
260
292
310
382
279
379
285
377
373
348
336
286
359
271
283
315
336
313
335
272
330
337
321
327
353
281
303
285
344
371
299
323
268
271
355
281
326
315
321
307
316
332
341
327
323
300
308
277
335
323
262
332
334
320
224
322
276
266
321
216
334
270
289
290
304
443
384
300
284
249
211
216
260
359
433
339
324
339
375
308
322
324
300
337
335
307
350
293
331
300
341
426
203
314
318
269
248
283
306
329
233
312
278
325
328
388
356
357
247
356
323
410
340
237
380
256
318
344
310
334
381
271
304
293
274
348
370
302
312
283
358
353
341
293
318
296
283
250
395
355
290
376
324
200
277
356
352
283
339
317
391
281
316
361
312
434
208
225
282
345
322
245
345
257
263
283
326
348
319
336
257
383
313
290
385
398
291
348
253
254
364
276
372
268
319
351
295
345
348
386
275
283
373
364
351
362
259
301
379
321
280
253
318
296
334
325
313
321
390
327
280
265
310
381
372
285
396
337
296
309
330
265
398
305
318
363
316
347
308
255
252
179
374
405
271
281
254
322
355
241
293
315
296
261
325
279
293
292
307
316
353
260
334
280
333
379
366
302
277
243
360
292
337
385
317
373
368
324
302
225
254
369
233
241
271
302
319
339
228
348
311
370
336
312
297
305
286
319
311
311
397
327
220
343
315
293
237
337
302
247
262
373
261
316
382
350
274
342
347
306
396
345
351
352
286
300
315
269
269
296
368
330
313
246
332
341
215
339
306
301
342
251
290
270
300
371
378
310
425
294
295
326
343
235
356
313
270
356
310
339
289
368
367
344
298
319
359
247
224
309
276
349
353
339
315
305
304
346
351
288
316
329
284
279
318
324
265
287
317
272
362
311
259
296
285
292
357
362
330
312
298
321
286
254
292
371
285
367
354
267
351
334
281
275
252
330
321
278
243
329
288
361
240
252
350
369
422
290
249
316
401
334
307
246
342
306
284
373
277
317
326
249
362
330
343
304
243
320
322
309
344
340
293
328
285
282
327
293
421
356
267
279
357
324
298
319
324
351
347
333
317
306
283
356
325
292
290
406
277
334
371
298
357
333
330
316
274
326
301
301
330
294
339
393
353
352
359
304
330
357
311
374
256
281
367
255
298
357
302
315
312
392
299
292
258
390
240
311
300
358
298
364
248
274
281
251
291
281
332
281
300
264
270
314
293
369
266
343
339
253
306
348
327
379
375
274
311
309
336
324
273
352
239
309
291
349
359
332
351
281
329
289
338
375
379
279
256
362
371
341
258
309
357
282
298
324
325
289
295
308
244
333
340
294
335
462
248
337
332
277
320
281
295
302
324
321
342
356
300
299
381
203
309
282
288
363
335
397
244
325
320
338
283
236
327
311
381
338
233
312
237
275
216
342
297
349
341
315
261
317
222
356
335
289
327
282
394
269
291
289
241
357
372
304
254
225
323
313
243
335
325
320
376
275
279
363
269
302
324
395
304
295
300
261
230
223
300
352
406
303
352
335
277
311
330
321
352
382
306
236
336
334
331
337
313
317
396
369
375
354
303
318
385
375
234
257
411
411
296
348
310
275
232
258
298
290
416
365
352
308
292
297
349
356
239
284
345
344
281
285
306
277
295
336
309
315
268
261
370
382
328
266
280
307
359
337
269
326
335
215
336
344
192
307
329
399
304
292
315
329
351
310
371
319
374
303
288
306
333
335
385
307
245
336
338
338
318
299
375
395
355
313
308
381
351
325
308
237
303
256
304
279
248
393
271
307
334
359
294
280
460
347
258
322
283
380
355
384
265
330
275
341
215
316
355
323
321
317
275
262
366
312
260
316
339
244
230
332
275
273
417
271
368
294
304
276
284
300
320
366
234
338
265
301
354
393
320
352
311
323
255
308
285
269
281
326
244
314
203
351
384
354
322
372
308
240
284
259
282
392
258
296
289
368
301
329
295
345
339
364
271
342
339
323
242
243
353
352
331
245
316
313
343
260
295
279
388
340
301
325
311
353
237
294
328
317
319
257
376
329
299
354
246
251
237
348
318
396
319
298
350
349
361
287
249
299
258
335
323
278
256
296
320
214
286
317
327
330
346
286
359
393
232
247
233
313
365
313
352
373
310
325
372
277
208
310
287
332
355
286
314
428
284
356
351
358
339
335
329
198
348
318
327
217
239
361
342
400
349
362
327
270
325
346
258
253
276
308
379
314
322
316
336
350
298
285
283
384
370
305
279
278
312
357
358
327
297
307
305
390
271
309
283
374
371
274
202
285
275
351
368
317
302
330
334
254
307
344
261
374
323
302
378
355
246
322
398
302
308
312
370
268
336
274
195
378
410
248
245
169
327
317
312
261
310
307
346
309
434
327
296
308
312
289
202
337
288
375
361
348
261
360
252
367
300
334
269
274
441
287
326
304
318
290
284
226
371
295
343
265
349
301
326
371
292
340
303
241
269
288
343
300
260
291
271
362
272
352
319
320
254
320
301
370
330
336
304
364
351
241
302
301
378
262
362
295
354
388
334
306
321
428
192
361
217
337
354
366
335
362
314
314
305
329
291
261
268
394
315
291
285
282
394
224
354
225
301
266
284
352
403
385
330
341
347
400
339
287
278
382
392
325
294
299
321
265
266
281
274
352
246
326
355
275
336
235
306
247
353
266
291
347
306
276
279
300
238
311
273
294
302
371
200
317
347
273
246
315
350
299
369
401
306
304
283
266
294
352
333
332
216
368
273
349
370
340
284
321
344
312
209
372
348
345
382
264
344
270
304
346
322
408
344
326
363
305
291
263
376
306
317
291
315
323
352
380
305
324
345
255
308
308
322
370
331
240
300
308
343
329
322
312
344
268
230
340
300
329
285
344
375
272
360
350
266
244
267
355
321
320
288
426
235
269
282
337
290
353
305
369
304
354
343
321
305
230
381
374
402
336
233
387
293
270
330
307
269
298
377
332
345
340
397
345
291
297
338
293
377
344
257
288
285
361
268
362
270
360
293
336
382
316
341
237
379
314
322
245
319
367
326
251
402
381
312
247
253
323
284
242
303
387
359
298
297
263
297
326
294
275
249
329
345
258
313
243
352
250
301
262
335
264
296
350
383
288
322
287
406
279
334
283
311
383
301
308
260
334
282
294
352
252
309
269
386
368
352
354
388
331
391
296
397
314
364
334
338
307
361
331
303
291
273
358
327
266
328
290
313
314
278
275
282
354
300
332
364
306
299
307
294
312
323
347
353
341
393
327
336
382
322
364
384
331
300
292
257
263
269
377
345
324
289
260
291
208
317
342
383
319
309
345
279
316
274
316
300
378
292
337
370
327
386
329
292
287
388
293
343
344
316
385
287
316
320
304
316
363
305
302
253
263
312
267
283
364
361
278
320
333
302
253
239
346
323
333
301
254
369
389
355
312
241
274
344
332
312
288
190
354
383
277
354
223
206
381
308
285
261
279
302
268
318
303
347
374
276
336
395
268
245
311
280
346
263
281
353
265
298
302
433
329
287
285
324
283
283
274
368
304
354
387
246
293
271
297
353
308
269
296
412
350
299
231
287
332
372
259
257
248
256
273
328
283
299
278
334
252
347
298
450
379
314
339
287
229
362
321
290
360
385
276
400
315
343
366
344
313
324
279
264
365
386
365
352
328
277
361
382
312
257
302
339
294
340
365
294
327
319
377
176
306
356
316
293
331
337
273
286
347
330
315
370
327
368
295
270
313
303
382
348
288
313
322
345
337
393
386
369
353
364
301
394
385
244
372
289
358
297
290
268
240
332
339
308
308
289
307
297
311
302
356
328
315
312
377
336
346
302
249
420
388
291
296
303
363
364
273
390
330
243
362
350
278
367
258
316
389
302
305
248
316
214
360
342
273
396
350
342
236
407
280
439
281
265
299
239
353
310
334
355
302
377
297
360
279
247
354
299
285
361
255
330
338
271
377
308
407
302
262
271
250
347
393
341
326
321
258
311
310
247
324
311
317
221
263
306
305
320
339
318
359
293
264
324
267
286
304
363
354
293
279
238
285
345
261
355
396
341
288
323
352
278
297
358
393
296
232
361
374
269
327
269
302
243
299
332
342
227
382
306
242
318
394
352
317
394
308
334
385
252
258
306
313
289
402
350
241
329
336
305
316
334
321
358
355
249
327
444
302
330
267
342
320
201
279
271
316
334
429
286
303
266
302
327
299
419
346
257
289
242
274
260
363
393
312
404
312
363
293
371
317
308
344
357
302
411
304
345
264
319
209
369
294
331
342
327
262
257
364
286
370
378
317
366
289
352
285
383
313
312
275
307
344
272
251
395
274
337
319
332
250
302
287
339
301
282
304
223
277
293
326
352
350
360
285
315
337
320
348
268
326
250
313
234
251
346
348
308
334
330
282
345
351
287
366
365
327
313
224
332
383
313
334
379
374
231
354
292
335
292
346
231
365
427
355
297
369
371
318
324
283
324
329
309
344
299
287
316
344
317
301
355
337
320
241
212
332
290
280
341
201
302
376
388
323
390
279
365
291
338
348
319
320
232
399
351
321
223
280
255
362
334
236
328
237
330
379
293
268
369
337
363
270
305
345
367
329
396
274
286
316
294
225
270
297
337
310
379
232
370
267
349
340
363
163
316
318
224
284
317
328
274
360
341
368
307
287
347
220
351
288
303
352
294
295
341
380
352
290
336
297
321
307
356
325
343
267
302
326
349
317
366
283
309
274
292
342
382
395
358
321
326
307
349
337
307
234
326
312
365
340
324
316
320
302
351
258
357
284
262
338
316
354
387
381
349
306
334
259
317
311
325
242
271
257
360
360
293
331
334
293
344
325
248
270
343
301
331
278
232
346
306
370
300
283
326
291
384
328
271
269
313
350
316
269
265
313
245
323
303
265
307
198
303
248
343
323
220
299
350
310
374
293
334
373
308
397
329
244
358
286
295
326
262
307
244
301
370
290
365
294
312
347
320
210
263
362
301
328
297
342
288
341
353
315
276
428
296
340
302
343
388
369
309
292
269
375
294
360
316
329
316
294
297
309
305
341
258
280
304
316
350
261
289
332
440
367
255
332
363
294
307
344
333
300
335
353
315
215
284
282
341
382
296
309
385
285
321
363
319
312
421
390
248
410
361
296
287
344
295
289
312
277
403
273
364
373
366
343
316
384
282
320
278
387
275
264
286
214
364
249
239
270
279
285
295
362
355
283
316
338
400
313
337
317
283
218
228
329
329
301
341
266
382
199
208
279
327
283
331
321
322
373
330
321
322
358
382
288
322
208
265
274
268
296
272
326
459
302
312
355
273
367
377
321
282
285
362
277
298
239
305
296
295
355
340
248
312
306
274
313
290
417
358
336
222
364
328
255
305
301
327
372
306
334
207
296
309
274
359
286
320
335
272
342
301
359
325
311
282
233
387
255
204
319
315
277
271
332
316
297
209
360
344
323
285
255
348
291
279
235
376
351
291
349
351
362
399
322
278
289
225
317
327
292
289
374
325
247
380
322
292
367
323
261
341
285
277
335
373
322
229
261
317
306
387
330
355
224
282
320
349
280
262
260
278
316
341
343
263
328
351
324
312
307
303
306
242
224
269
307
225
253
273
262
365
342
361
290
326
387
288
239
263
369
373
323
252
347
337
308
261
273
339
356
326
289
286
402
295
303
310
253
350
280
351
318
239
426
353
276
296
321
391
303
280
259
318
316
299
318
308
339
346
259
301
253
291
384
300
340
256
309
283
387
263
368
316
338
288
339
321
318
291
318
335
268
276
316
323
326
268
252
262
374
372
284
282
286
282
357
381
355
248
305
326
323
306
344
288
382
345
295
321
330
290
346
239
221
241
268
321
300
278
329
284
364
320
311
298
408
319
377
373
402
245
404
371
320
327
347
376
356
330
374
362
253
354
336
244
318
273
302
207
313
251
376
284
347
382
387
331
355
313
388
316
344
338
316
275
292
199
422
299
312
344
330
330
312
314
301
378
279
338
324
328
369
319
298
313
375
282
289
294
378
264
351
304
333
298
403
383
351
331
339
314
296
323
355
411
343
265
285
272
366
336
297
355
291
380
342
261
295
355
318
223
315
322
251
341
388
371
266
290
299
281
327
345
278
287
306
352
388
313
325
289
378
295
273
313
335
308
235
333
305
335
365
199
273
337
348
363
329
330
319
343
378
322
284
383
249
288
352
310
268
322
253
412
313
219
315
322
350
339
225
304
327
295
298
260
298
305
300
354
303
384
351
253
259
342
335
327
358
325
416
364
320
406
305
419
312
293
310
265
353
318
315
310
312
346
342
314
339
408
305
267
255
356
248
349
316
247
267
229
319
348
324
288
421
273
246
372
361
334
381
359
280
272
312
395
343
306
314
245
345
288
343
322
262
289
242
306
235
330
363
310
343
232
412
265
241
385
408
359
285
292
291
337
294
304
386
357
388
326
311
300
351
283
362
286
337
273
314
266
267
264
320
281
339
349
327
319
402
209
317
345
330
339
374
290
297
317
230
238
375
345
312
325
345
296
317
290
354
250
315
353
315
371
302
243
400
294
278
340
244
226
314
270
338
260
348
361
288
290
366
286
293
360
286
319
294
358
291
251
376
309
333
350
324
330
334
277
310
332
321
330
256
275
286
351
275
227
352
296
254
261
294
356
349
333
294
340
328
318
341
352
300
279
235
274
319
294
383
281
382
289
312
367
361
291
377
341
382
356
368
288
266
275
327
450
323
290
317
296
297
304
328
304
373
273
365
322
345
281
339
279
360
331
255
284
272
362
348
264
331
328
330
279
377
234
328
242
294
327
352
274
280
303
357
313
261
290
286
305
293
287
354
296
282
327
325
438
289
334
301
297
356
330
301
332
368
306
330
341
387
274
364
313
282
327
341
295
326
396
334
216
246
282
296
314
351
367
319
324
338
247
358
350
272
339
344
317
319
339
276
376
354
298
317
351
309
332
274
316
320
418
393
343
293
343
354
351
323
355
350
343
369
276
405
345
243
343
408
317
311
319
350
333
299
305
295
327
350
401
340
338
325
345
405
274
280
357
312
308
283
297
325
294
415
324
370
337
282
393
318
299
321
238
290
330
348
243
307
310
336
408
307
367
389
367
290
385
320
235
269
333
365
279
375
344
314
343
363
291
334
293
288
314
272
281
289
271
273
361
361
297
312
307
332
269
315
389
270
317
341
365
301
365
310
348
238
264
286
350
303
363
350
351
340
241
324
309
317
305
371
247
378
313
353
350
334
312
315
341
344
424
247
318
276
324
368
260
329
324
329
433
300
440
312
332
254
263
330
320
358
314
334
305
259
414
284
271
341
275
267
316
274
348
340
302
256
292
362
323
285
312
304
300
321
384
329
378
322
317
305
359
343
360
254
346
286
324
355
364
339
279
352
362
322
346
283
360
306
290
329
336
311
311
336
313
278
238
321
356
239
347
213
349
277
286
312
294
275
335
305
291
303
354
311
327
408
323
290
231
346
331
340
378
261
368
343
348
305
335
354
320
307
325
388
325
344
281
249
281
350
274
238
354
301
319
306
270
328
404
266
256
288
292
329
345
379
271
307
307
306
300
262
269
272
372
344
284
342
190
295
340
391
286
280
229
275
389
268
307
309
394
268
246
252
340
269
293
351
363
374
309
345
326
297
307
297
333
424
318
334
308
266
366
382
333
306
273
252
300
347
288
323
236
324
351
295
285
307
303
280
302
337
251
307
331
339
361
283
232
360
325
325
353
317
285
298
339
359
323
322
336
253
284
318
302
321
398
253
361
360
274
410
334
276
367
279
262
345
348
263
310
280
319
248
321
366
325
294
333
307
332
325
326
306
315
280
341
303
326
307
339
332
318
215
275
350
347
385
246
293
409
333
360
237
280
341
244
277
306
390
276
301
299
266
243
329
357
275
250
404
367
316
389
191
292
282
296
299
328
286
319
316
291
305
324
325
235
295
271
289
317
308
347
280
364
337
329
362
293
358
258
217
308
394
280
303
309
336
258
383
368
351
335
256
323
305
246
355
284
286
269
392
291
315
271
240
338
297
311
270
207
221
290
259
182
272
316
193
335
290
292
360
314
225
316
302
331
242
324
346
293
338
279
271
285
386
349
326
277
298
344
324
325
265
358
315
291
388
316
306
358
282
248
354
316
379
291
318
425
275
294
270
275
228
382
272
326
341
351
303
339
292
383
335
299
199
272
248
276
248
382
279
353
326
311
310
281
303
382
344
319
320
313
363
342
242
416
312
265
342
318
348
403
327
310
337
260
259
270
337
275
374
253
250
284
333
274
320
348
363
316
345
233
237
363
290
307
355
325
304
260
345
246
385
387
253
368
329
350
354
297
310
366
248
291
378
291
304
263
322
301
280
378
197
288
345
374
323
339
302
367
222
334
365
314
297
362
296
379
336
329
321
281
328
343
240
319
342
308
363
318
355
399
268
294
356
348
265
366
333
361
238
421
383
325
290
271
243
308
291
299
309
320
355
250
257
205
276
378
297
282
242
344
282
289
217
312
256
291
300
314
295
248
344
278
388
340
295
275
320
338
264
337
287
307
268
307
300
287
346
292
228
245
348
337
283
303
327
359
198
268
344
354
385
375
320
237
301
379
244
360
316
324
273
376
340
304
307
325
356
391
278
316
384
354
272
359
318
263
352
299
234
406
350
272
301
299
353
293
169
346
336
300
330
417
238
291
281
303
322
329
332
348
286
208
327
333
312
322
328
201
349
319
339
283
333
340
332
263
366
261
339
341
296
237
309
201
299
328
315
325
324
296
283
299
334
211
274
290
272
300
329
364
327
415
340
322
322
344
364
347
287
245
352
229
352
316
278
252
368
364
291
345
334
316
322
299
286
296
328
292
286
246
337
284
295
271
237
266
331
366
396
321
295
259
257
290
319
186
389
350
249
366
239
353
244
308
347
319
330
314
296
306
255
401
225
330
360
293
352
310
306
369
301
353
327
278
254
350
277
359
258
384
406
339
369
313
307
234
277
311
314
350
384
287
358
268
307
347
383
346
320
273
348
317
325
291
362
324
330
313
304
253
338
337
376
316
275
338
362
261
231
302
298
361
310
314
339
308
228
323
282
373
302
312
284
315
350
366
347
373
312
360
339
321
307
369
338
408
296
362
354
415
369
291
206
232
289
290
300
322
349
272
285
362
331
312
283
320
234
353
367
245
281
262
232
297
313
269
277
324
256
329
349
309
294
319
290
371
332
375
333
351
339
375
337
359
294
334
283
256
274
275
280
323
352
297
326
345
308
332
358
287
342
312
311
273
338
274
307
276
404
348
342
372
233
359
312
372
355
330
334
262
325
327
374
272
318
280
266
270
311
315
283
326
226
294
285
346
291
303
305
361
224
294
331
338
321
361
232
364
258
257
391
399
345
284
298
312
420
354
335
296
313
340
250
262
350
266
357
328
330
337
258
287
349
259
385
296
356
299
385
348
275
365
312
298
364
281
356
319
297
337
305
302
298
335
308
293
257
271
296
350
331
297
315
219
330
388
359
328
327
332
287
331
405
380
336
279
365
347
362
282
254
324
285
305
301
361
315
329
231
317
230
331
335
266
348
388
314
257
205
248
364
377
283
362
328
247
294
216
394
300
250
377
265
381
231
354
295
274
328
334
276
245
412
340
255
280
369
283
385
229
242
300
265
397
271
352
283
364
315
334
356
297
408
283
220
302
203
359
378
303
250
388
309
318
336
350
254
295
254
341
367
332
309
369
353
313
266
300
364
453
259
252
296
247
360
348
316
258
401
391
336
348
395
327
330
357
319
392
384
319
354
300
370
316
320
332
314
336
274
363
338
348
350
379
345
312
287
359
266
385
316
379
234
304
229
288
328
298
290
338
203
267
299
231
369
296
333
337
290
232
278
329
271
277
324
392
331
302
419
293
236
233
368
394
335
203
288
283
324
262
295
294
386
435
235
276
368
386
359
183
268
304
411
314
349
333
279
339
356
340
331
311
340
404
309
284
345
361
253
339
312
356
338
277
208
299
352
351
250
248
298
264
289
288
332
375
320
326
321
341
304
297
319
358
361
288
404
291
351
312
309
355
332
357
288
287
198
251
334
319
231
270
281
330
296
268
296
293
392
358
227
303
253
314
275
331
289
334
299
380
318
257
313
253
272
383
260
251
325
282
375
291
287
259
329
330
316
325
374
336
254
356
333
350
314
259
352
336
372
229
287
288
354
359
304
338
368
214
293
237
340
276
359
337
331
359
323
336
301
311
259
316
283
297
274
300
341
311
284
337
338
290
351
417
258
289
225
234
269
250
314
263
226
306
318
384
224
353
275
330
313
392
212
394
313
312
379
356
320
255
284
290
300
316
363
301
340
277
311
288
298
290
312
336
318
326
346
250
330
300
265
326
385
258
405
282
415
350
306
359
345
280
312
387
285
217
340
265
337
216
356
354
300
287
319
350
346
389
250
338
332
386
330
300
287
279
288
301
337
336
260
305
344
288
368
338
275
329
283
310
311
343
250
305
379
297
365
275
324
375
285
316
364
361
303
308
325
316
353
287
289
384
326
324
423
357
344
356
333
279
381
259
363
274
446
312
330
359
254
300
348
334
322
311
266
363
305
244
324
301
430
226
299
311
290
368
325
287
271
343
291
340
415
314
200
261
296
254
343
306
340
284
333
255
354
289
361
294
242
301
366
318
215
309
290
276
268
275
322
400
298
220
296
270
246
264
318
330
380
328
366
282
338
267
328
364
336
331
370
398
384
375
335
283
365
384
350
312
314
393
259
357
316
255
290
283
283
289
357
282
325
191
351
293
363
357
363
232
319
310
375
294
331
285
254
349
255
270
349
371
273
308
299
309
317
380
350
319
246
261
262
336
272
323
248
325
393
242
298
355
292
307
347
314
351
249
277
400
285
297
375
316
290
311
320
272
368
262
336
283
382
355
282
232
381
331
183
348
293
328
205
322
319
265
318
314
426
284
345
303
276
350
332
361
289
361
295
324
290
360
389
363
276
285
290
327
315
256
352
347
303
329
302
332
383
270
277
269
263
353
324
315
277
303
304
306
276
355
336
184
267
346
320
323
303
341
308
339
316
273
321
317
333
309
240
341
319
370
357
303
303
331
326
329
370
302
364
341
363
224
220
318
363
334
274
365
323
240
323
334
275
341
340
327
374
377
356
305
299
370
152
344
276
271
341
250
387
288
311
330
346
294
388
343
336
310
278
387
310
303
311
299
352
414
290
313
320
296
257
341
336
328
314
367
308
299
346
353
295
337
296
308
330
358
304
390
283
348
388
432
312
370
250
365
298
356
340
271
284
388
313
342
289
271
302
301
341
313
414
327
353
321
280
274
241
200
243
407
354
366
378
368
305
313
338
270
250
288
329
300
348
326
348
328
349
283
245
347
207
322
313
291
301
330
375
360
323
276
333
326
312
333
340
297
361
355
371
312
360
253
388
274
301
308
345
312
262
307
367
340
153
332
253
365
277
326
288
278
332
334
357
357
260
327
393
321
236
231
301
319
313
316
376
369
275
290
349
326
368
297
337
286
353
356
296
288
281
358
398
415
352
324
333
290
247
323
334
177
338
290
342
292
274
316
399
374
340
290
256
413
248
361
223
255
292
339
321
305
277
292
267
363
386
338
372
282
311
313
310
346
334
304
262
271
344
326
391
329
266
352
329
330
319
347
295
317
349
297
334
291
312
317
356
329
358
330
306
334
353
342
288
235
282
282
315
322
339
316
266
293
284
198
287
306
325
315
323
360
366
247
363
318
318
293
327
239
347
405
234
372
308
315
351
232
416
373
260
382
301
370
345
321
319
375
312
324
370
284
357
314
354
289
377
336
378
327
299
355
364
392
368
355
226
239
290
319
447
347
306
234
271
310
404
314
283
272
319
295
347
370
341
330
316
353
326
314
368
288
327
247
420
339
332
321
368
227
235
238
264
344
374
291
366
275
301
322
279
355
237
350
285
286
250
227
381
254
342
309
366
321
313
374
338
387
312
303
282
323
259
359
279
383
299
395
246
297
272
294
313
247
260
382
357
255
273
296
332
273
313
199
334
271
303
243
345
232
275
349
317
303
230
318
215
312
283
299
401
329
373
305
329
436
323
264
299
341
299
327
352
340
293
266
256
336
373
336
317
273
326
318
269
378
265
326
342
283
274
282
310
349
312
333
248
355
331
242
304
370
305
300
249
318
225
287
379
288
256
384
423
353
374
273
256
277
352
377
308
254
371
278
356
216
361
335
379
271
276
355
284
226
282
324
343
350
257
370
232
317
374
385
305
305
218
295
358
294
365
299
335
250
258
397
387
341
282
307
240
392
306
298
316
288
281
310
325
316
379
298
273
317
231
352
320
348
194
252
358
275
348
339
310
278
339
373
254
292
317
318
309
318
270
351
361
376
306
289
325
283
274
313
392
343
337
268
369
313
257
378
332
303
398
304
280
363
252
343
322
250
262
356
367
321
286
299
364
311
338
268
330
360
327
345
214
352
339
302
219
330
285
320
311
282
348
219
288
333
289
321
369
304
293
309
331
301
332
305
212
263
302
278
356
289
345
327
343
297
310
258
299
276
385
274
343
339
323
273
338
284
400
272
329
303
324
310
337
335
271
283
391
351
223
334
316
327
364
309
315
339
250
309
337
234
349
295
317
359
427
296
344
308
285
333
338
251
280
271
280
260
374
314
318
399
273
311
277
246
397
386
311
327
365
294
329
333
325
341
357
282
374
317
336
301
343
354
327
325
336
333
322
305
330
268
361
284
319
347
373
283
249
211
278
230
322
252
406
305
271
395
335
290
359
337
322
373
256
291
255
370
329
321
321
303
307
347
306
348
345
342
291
332
292
283
294
311
382
276
317
238
223
349
322
338
348
319
257
284
325
329
308
260
337
277
243
311
256
276
317
363
309
364
279
306
322
260
329
316
247
292
336
271
264
414
355
323
325
374
358
192
307
408
414
292
293
362
226
314
236
306
349
471
297
283
223
291
251
360
335
329
307
264
321
331
244
247
257
319
347
405
275
311
319
379
316
398
280
333
212
342
357
389
314
255
329
290
318
390
239
327
357
291
322
338
237
303
335
368
351
325
310
267
294
312
266
285
323
341
241
253
283
298
374
338
397
326
338
284
269
359
323
239
364
380
337
316
268
336
310
255
373
366
368
285
305
360
282
339
273
347
299
377
321
260
282
348
360
355
279
285
309
370
323
339
364
229
361
330
336
338
255
348
330
331
384
353
326
241
277
407
384
345
303
339
357
365
321
236
312
382
355
305
346
364
292
309
378
416
251
316
333
249
350
273
343
273
319
219
351
302
257
376
365
274
324
274
284
389
309
257
283
284
269
271
360
322
294
296
404
325
356
335
353
391
276
343
359
300
379
339
376
262
367
297
243
334
287
287
349
250
308
258
279
303
272
382
381
265
391
303
274
315
329
263
347
271
309
279
306
296
337
320
291
240
268
349
275
333
312
360
348
241
233
358
280
298
299
331
372
345
293
297
279
267
259
358
297
320
306
377
311
314
290
345
337
289
328
305
275
238
310
319
329
358
359
387
345
314
277
363
346
287
288
385
308
330
277
345
391
212
340
272
306
295
287
307
336
337
358
344
350
232
277
259
321
314
266
385
316
317
413
280
259
332
379
376
311
234
268
348
302
451
200
339
273
313
314
319
257
265
383
291
296
409
303
314
305
346
393
365
291
342
234
318
372
370
316
252
346
307
285
280
320
349
291
276
399
358
357
352
321
372
288
239
285
282
318
272
310
249
314
396
230
271
277
381
307
251
327
415
266
315
387
379
298
279
368
355
322
309
399
306
364
334
285
265
306
307
310
289
306
357
303
303
330
344
371
299
394
336
260
354
224
199
347
251
303
276
273
236
239
272
363
308
319
427
380
344
269
343
310
285
417
343
271
304
308
336
353
348
328
281
194
362
306
302
305
318
356
341
267
336
336
277
293
351
317
321
349
352
361
367
320
300
332
324
352
355
297
346
356
378
302
334
344
338
299
240
200
339
329
303
326
298
356
297
401
303
246
361
313
356
277
304
362
295
408
356
288
308
188
271
297
233
247
388
344
348
203
402
336
301
321
310
327
368
321
284
301
375
322
325
217
390
294
259
325
329
273
321
324
354
272
287
259
273
344
339
388
302
282
328
371
315
374
283
286
346
272
267
415
301
271
317
251
316
386
268
359
319
248
333
298
230
290
337
263
265
310
246
330
338
301
322
271
247
296
394
342
319
315
287
351
362
254
346
330
318
270
339
323
314
241
305
309
276
341
351
316
333
236
363
322
362
342
259
362
315
341
317
323
286
309
292
316
304
300
193
338
299
288
373
305
274
337
312
214
291
250
273
259
332
333
354
336
324
223
343
338
272
378
242
340
359
327
365
264
242
281
407
312
369
282
349
332
267
334
288
302
292
341
298
368
381
350
300
310
350
313
300
328
282
336
342
314
299
345
323
315
320
299
356
250
321
306
291
353
304
324
247
251
316
336
396
386
289
262
207
349
277
345
343
345
373
320
293
390
281
324
367
306
373
282
351
304
295
224
251
334
315
381
317
346
303
304
396
251
276
316
269
343
355
345
326
367
334
265
315
320
382
401
328
273
390
357
247
348
281
346
260
328
368
347
280
377
305
272
311
318
355
298
339
292
374
330
245
301
324
245
327
402
316
263
358
297
299
365
286
401
307
354
311
238
285
305
266
279
343
307
340
254
354
289
283
323
249
299
369
288
293
382
294
316
340
281
272
320
330
330
292
322
291
281
350
266
254
269
295
278
389
334
292
313
286
277
347
274
332
324
252
358
352
256
390
349
328
334
260
315
299
276
301
369
397
335
292
331
319
333
295
248
299
305
255
355
333
303
301
339
367
333
285
270
260
234
324
354
223
343
280
226
381
364
330
359
252
290
382
252
323
358
303
360
384
289
273
396
236
217
343
250
364
307
283
336
331
382
265
388
306
327
333
349
318
367
227
275
394
255
407
352
390
278
338
235
383
196
279
372
307
268
365
339
301
218
340
268
306
280
339
289
323
339
261
318
334
282
355
287
292
381
218
291
329
254
327
279
435
265
308
351
330
374
288
346
265
272
339
214
311
250
323
388
338
369
305
297
278
307
360
275
264
230
267
269
300
368
291
223
302
378
318
291
264
298
385
344
240
265
298
347
279
344
291
213
300
251
296
335
228
366
340
293
332
312
279
332
312
225
336
403
333
364
316
313
324
423
346
399
317
309
320
221
387
334
330
281
282
249
230
282
308
262
303
336
333
393
271
326
297
321
307
244
251
325
309
254
338
334
254
379
252
261
331
318
259
354
354
410
236
340
316
231
239
271
225
386
287
304
306
296
341
358
350
297
331
390
281
378
346
394
339
343
281
339
325
262
306
360
383
324
317
323
330
394
361
383
259
266
322
293
274
313
320
330
335
266
245
339
278
320
306
352
270
288
242
298
270
230
371
302
325
326
312
334
341
310
366
379
387
341
343
301
386
306
234
254
293
273
314
232
340
327
352
358
304
305
354
317
373
297
287
407
355
285
235
326
292
197
294
350
299
355
309
342
313
306
289
371
357
203
330
265
395
364
280
367
365
309
409
269
368
299
293
376
302
302
368
340
261
332
263
306
310
281
318
252
280
255
349
240
284
178
375
256
395
366
283
424
361
334
413
236
291
311
307
385
283
331
264
306
255
275
261
301
303
349
347
280
266
306
303
306
323
295
244
385
256
328
264
321
272
357
296
253
360
301
280
359
280
396
281
362
284
327
277
323
337
297
271
345
320
284
320
215
291
361
382
317
312
321
282
328
338
217
264
256
356
242
367
261
269
334
324
288
318
336
253
336
418
274
309
282
284
248
297
377
314
343
340
237
340
290
365
408
280
345
275
338
342
274
251
313
317
387
326
342
191
285
333
311
338
320
382
348
313
415
348
299
270
336
325
300
285
242
320
299
334
336
292
259
254
363
337
243
362
368
289
304
309
243
340
400
264
235
351
338
323
342
303
229
305
305
232
332
392
301
317
298
245
282
314
330
266
348
283
348
322
301
373
333
301
313
335
284
331
278
336
324
335
330
329
264
291
354
344
331
334
262
279
275
311
320
361
364
353
314
330
307
253
318
343
291
301
384
387
363
281
347
245
294
303
275
296
358
347
292
321
329
349
342
257
346
279
344
362
264
388
338
252
343
340
330
364
272
325
328
283
354
265
338
312
284
272
350
306
269
317
268
242
326
241
273
246
267
309
291
289
337
289
314
328
277
305
435
352
354
282
296
277
362
314
263
242
329
282
285
346
298
288
281
382
318
369
348
283
281
282
342
341
254
341
314
216
309
368
357
330
270
330
304
253
279
307
267
274
350
336
285
296
318
254
268
332
369
293
347
308
365
374
340
317
170
359
335
380
338
288
355
298
319
285
302
278
342
264
288
296
292
359
291
252
239
354
323
408
333
240
355
318
250
379
260
328
353
357
288
382
311
359
290
301
359
432
245
335
303
361
344
315
267
323
296
305
370
368
313
413
344
350
248
305
378
293
399
195
340
260
318
305
324
330
281
300
323
294
333
341
241
273
350
361
333
299
334
336
296
387
295
368
248
373
287
279
347
323
247
337
293
302
362
276
298
310
315
317
363
257
280
344
271
357
362
355
319
285
306
372
309
345
335
391
271
329
262
350
299
344
278
303
269
349
284
293
237
242
342
253
306
314
355
300
298
321
346
294
330
296
377
303
317
321
341
322
310
299
315
305
281
280
252
305
331
294
337
355
319
344
340
365
345
268
286
277
405
349
283
251
332
375
339
261
392
233
347
369
333
273
338
313
355
352
306
246
283
282
284
321
366
351
310
347
236
319
274
333
396
345
331
392
401
290
326
309
323
318
254
253
332
305
309
293
315
297
387
276
302
382
342
302
297
309
318
288
371
223
378
252
291
365
300
277
230
266
249
371
307
330
363
335
279
366
305
304
252
371
323
343
352
258
336
337
363
231
399
317
296
307
335
299
391
380
324
324
299
394
382
311
279
328
334
271
278
300
308
264
291
360
358
323
395
376
276
340
395
335
282
315
359
319
298
248
304
361
368
280
354
304
375
361
348
424
309
256
320
345
283
347
358
350
264
350
357
291
262
322
240
325
257
343
283
314
323
278
245
251
380
301
389
359
326
313
259
325
274
330
294
207
274
327
297
305
338
230
361
267
317
287
365
363
277
298
397
272
313
327
338
331
298
237
374
396
324
352
173
315
362
308
314
314
298
343
300
323
322
373
327
315
339
280
350
306
275
339
281
334
277
430
296
353
296
340
320
241
415
347
349
261
297
270
327
345
373
216
278
293
339
286
263
336
267
334
332
283
307
293
383
279
273
290
296
271
251
283
321
270
285
337
397
310
340
314
300
318
364
410
305
288
365
347
332
289
283
325
296
318
340
445
320
325
300
347
275
269
359
298
279
229
330
296
428
338
355
334
296
290
298
266
359
338
288
299
183
278
365
408
338
252
395
315
339
265
289
258
248
340
276
305
294
295
293
296
326
359
319
297
401
290
380
346
324
339
271
372
325
396
299
381
298
348
302
293
311
309
357
294
197
351
383
308
427
309
366
301
211
332
311
326
376
277
373
353
306
310
325
327
235
287
371
349
260
327
331
283
283
238
246
301
342
326
329
300
309
255
344
282
312
312
292
260
252
243
351
268
377
395
295
454
280
305
285
313
290
348
407
309
256
328
250
244
347
296
408
365
270
270
231
328
249
311
270
304
321
330
295
342
327
330
268
356
320
300
334
221
268
306
272
378
276
328
253
352
343
313
321
314
275
402
274
295
241
291
364
308
269
203
330
344
280
279
358
253
316
294
219
344
338
343
305
398
389
262
246
357
334
316
310
288
307
376
374
314
281
399
282
418
339
338
325
225
269
367
358
237
350
348
339
305
277
320
280
355
382
290
309
254
321
244
245
295
240
307
387
370
392
296
341
326
280
327
355
282
325
380
308
291
213
296
299
369
313
271
337
357
275
280
256
238
370
304
287
259
332
323
349
312
376
315
294
263
349
323
289
333
322
324
340
344
279
344
327
345
279
323
440
285
305
349
298
334
355
317
212
267
340
387
336
323
386
323
390
269
351
313
259
336
324
330
293
320
300
361
253
346
398
402
397
393
329
385
301
455
362
279
329
279
386
279
286
359
304
396
321
328
308
335
295
330
312
381
368
314
339
359
381
331
370
375
333
357
290
319
345
286
342
258
298
252
352
382
226
397
266
256
228
235
213
334
332
357
355
300
313
351
316
247
358
294
191
332
389
288
267
288
349
314
368
251
347
275
283
307
351
286
278
235
371
349
340
333
322
351
290
344
365
234
301
206
317
314
287
353
277
310
291
291
314
229
353
316
317
279
375
312
233
305
336
395
292
271
393
256
307
348
228
332
347
265
365
302
281
291
358
393
277
350
283
392
320
302
365
370
318
267
339
236
341
307
400
290
338
336
221
244
252
245
329
309
295
358
298
398
332
367
396
343
302
404
316
361
268
253
301
261
332
300
331
294
277
337
332
245
368
307
270
408
413
306
274
366
333
345
396
312
353
331
332
292
321
307
317
378
228
413
297
248
265
193
318
276
340
329
271
290
275
355
298
391
298
310
282
315
283
285
361
267
350
288
426
301
354
298
252
412
360
282
310
342
263
359
335
288
368
410
332
325
350
400
270
328
303
345
380
349
307
342
197
358
292
328
271
335
301
304
275
198
324
301
315
317
383
259
315
303
330
405
353
333
375
382
355
267
258
355
344
294
413
293
313
270
365
363
325
353
285
349
224
340
318
296
335
207
321
394
289
353
270
330
266
318
311
228
232
317
350
298
321
349
279
319
327
324
282
287
326
312
242
297
372
380
321
281
328
381
310
314
393
406
262
355
386
263
271
372
364
263
326
370
435
289
322
300
294
346
280
201
332
352
292
331
327
301
309
208
240
343
318
282
348
317
344
318
272
254
340
348
312
262
252
314
334
349
284
344
348
347
339
335
302
364
251
329
308
294
358
325
384
324
316
284
254
358
350
371
273
293
291
406
250
256
421
354
307
264
309
315
305
300
313
338
315
283
272
350
280
291
385
311
281
338
396
201
290
309
263
277
260
406
396
375
338
265
313
393
387
235
352
379
367
378
338
341
221
327
330
365
345
342
302
253
302
318
339
318
278
293
333
291
327
281
348
273
359
286
276
365
339
191
355
294
312
337
332
285
360
178
397
294
265
316
340
331
325
343
328
320
334
320
364
229
317
358
327
372
383
310
378
361
277
248
315
361
372
281
288
312
326
343
284
221
263
284
332
296
339
284
306
285
266
290
283
277
324
368
362
350
345
324
392
205
280
309
304
208
325
317
277
293
287
326
324
384
320
312
354
205
262
259
206
319
308
298
262
340
278
304
373
280
382
273
305
354
271
330
260
267
361
338
384
340
317
335
352
346
267
341
226
333
280
427
271
354
320
346
238
315
206
368
392
310
359
405
276
257
315
363
326
287
298
271
271
294
428
298
318
349
350
350
313
326
350
326
288
342
293
323
291
287
353
339
331
240
251
300
359
326
303
298
340
357
340
340
345
433
342
307
295
332
281
325
208
296
315
384
271
276
312
258
347
414
402
261
312
388
345
299
309
265
292
345
282
314
295
320
356
343
344
289
357
338
327
373
325
268
308
367
249
347
358
320
269
325
313
299
227
247
409
331
269
322
301
362
344
370
329
321
297
326
263
348
343
316
247
245
283
365
335
291
180
371
319
281
349
290
320
304
331
334
341
317
332
311
232
367
286
334
366
296
261
318
277
264
328
326
266
312
271
245
351
228
297
296
276
341
403
304
349
261
326
302
250
322
253
223
302
382
298
314
348
295
280
409
321
332
284
316
206
311
340
347
331
396
304
346
207
213
362
342
362
304
310
342
310
351
385
263
391
329
419
397
289
298
236
282
371
318
239
399
317
399
332
314
320
330
291
260
353
305
354
247
327
337
342
331
348
377
355
276
258
299
317
368
271
194
303
332
290
246
281
285
285
292
304
354
269
223
336
314
273
299
313
344
361
284
306
297
296
226
270
331
288
332
389
255
290
275
227
294
245
315
261
303
412
257
265
297
324
283
308
329
306
316
313
344
375
386
291
406
313
286
317
327
334
291
268
419
285
312
321
283
338
327
333
432
304
318
280
308
283
374
378
380
293
288
301
295
341
334
297
350
367
269
364
340
244
248
233
336
397
322
296
276
274
259
416
307
331
314
241
298
345
329
226
264
314
306
367
331
245
274
224
368
293
277
350
345
353
262
315
282
312
263
284
324
337
390
339
286
293
269
292
282
371
308
347
287
335
295
340
318
261
337
337
359
369
271
360
335
361
291
234
269
267
312
340
350
341
276
333
322
376
334
408
349
353
317
324
282
378
339
287
320
372
263
301
362
241
289
336
317
332
334
304
391
389
262
301
314
173
299
257
339
317
300
395
307
271
281
283
300
252
302
293
321
298
329
309
296
397
349
257
319
335
274
289
315
262
266
276
355
317
289
380
307
299
377
415
354
319
298
324
361
357
360
354
346
313
339
255
386
358
331
266
259
347
380
277
225
356
377
318
313
266
305
391
187
417
224
243
347
359
361
282
314
377
217
236
307
367
274
312
328
284
241
374
388
269
330
366
338
370
259
330
353
312
391
304
306
207
420
343
355
314
289
327
368
325
391
251
289
347
323
353
287
339
363
295
347
213
317
346
239
322
347
380
397
400
363
320
212
283
268
252
290
199
316
392
299
364
365
306
278
270
258
335
230
332
357
264
283
215
273
354
361
333
294
302
310
249
360
313
351
346
319
278
308
299
287
326
355
234
290
286
252
277
299
298
273
364
255
257
302
394
327
328
276
353
369
254
259
384
332
358
370
342
282
365
267
285
309
366
314
395
281
305
424
336
329
405
338
282
313
252
327
286
347
306
284
327
269
326
318
255
286
264
381
371
313
263
285
408
281
320
347
284
268
287
349
356
318
294
241
378
334
281
287
197
369
283
429
308
292
324
354
256
230
323
377
276
371
290
286
311
293
282
247
391
331
266
257
332
294
295
362
358
352
392
278
190
345
360
354
285
293
323
321
268
426
308
289
336
291
362
344
294
355
397
285
237
304
268
308
294
310
349
327
296
320
338
298
287
287
245
246
325
304
327
278
243
305
340
342
278
220
387
347
333
251
303
288
349
279
288
280
251
218
352
270
295
314
268
239
370
300
338
328
332
325
259
351
245
314
342
376
293
352
222
245
329
313
206
344
350
356
281
316
253
382
320
267
338
376
290
315
288
260
351
285
309
266
338
277
388
319
319
324
318
283
357
347
287
325
252
315
333
302
277
353
383
339
315
263
326
249
352
376
351
437
333
290
327
274
258
411
367
321
252
388
351
367
299
356
336
289
327
283
286
334
252
279
330
257
353
272
313
379
250
304
302
242
263
350
390
423
351
270
314
288
325
317
331
326
335
279
331
304
272
244
317
268
340
342
243
322
329
320
293
284
314
322
321
298
387
252
297
275
256
305
288
318
342
299
304
312
280
280
263
325
217
266
338
346
309
345
365
299
298
323
297
331
319
359
278
303
302
278
332
253
317
366
339
273
320
309
330
331
356
380
341
327
259
319
314
325
319
237
272
353
300
297
380
260
363
294
402
314
298
362
280
309
347
358
378
323
304
343
381
309
251
395
357
266
268
293
349
316
257
354
287
413
287
290
311
288
297
303
246
412
291
293
242
372
392
324
369
291
225
342
300
315
301
299
391
267
232
315
357
354
291
334
279
350
288
317
237
310
281
378
344
323
297
303
353
374
374
256
354
288
337
286
327
276
191
345
364
318
299
315
334
315
399
318
304
297
282
337
337
338
308
317
420
264
323
256
285
338
301
266
321
373
289
404
275
389
350
199
280
288
317
289
363
279
264
383
307
290
262
253
349
270
272
291
301
307
285
358
312
274
299
378
318
294
294
357
321
250
272
344
315
351
244
305
328
289
309
343
357
295
344
333
253
391
266
292
360
300
357
265
273
342
271
301
296
375
302
271
302
234
281
258
318
363
310
360
327
348
240
279
316
307
247
330
191
423
343
293
362
221
332
401
291
286
265
334
265
288
335
383
270
347
357
311
262
332
338
266
296
273
296
347
286
349
251
364
299
338
307
449
250
267
344
376
383
270
328
246
330
352
284
310
316
251
309
274
363
348
288
333
334
231
248
284
287
272
359
325
332
331
314
297
279
309
289
292
301
298
362
280
282
351
369
288
387
308
392
249
343
342
361
320
351
296
336
362
284
257
334
216
301
328
343
356
347
264
325
301
279
331
220
300
369
289
270
251
291
280
380
219
301
307
288
303
279
310
388
284
382
287
317
335
220
281
322
331
316
313
324
340
306
385
296
337
362
333
373
353
266
266
301
354
318
353
374
271
360
342
259
267
319
303
371
286
385
338
315
358
307
364
360
269
362
261
336
308
267
325
313
380
293
285
267
297
253
229
292
381
336
312
352
163
376
279
280
344
338
317
361
280
279
322
285
298
289
407
345
378
282
303
367
301
311
299
351
354
355
247
366
325
317
271
347
283
316
362
282
390
348
280
325
264
288
330
334
324
330
316
299
331
252
337
342
218
369
180
301
291
294
307
305
406
324
344
356
339
322
333
295
312
301
284
306
381
328
308
320
337
331
357
337
342
386
335
335
253
318
319
293
326
335
299
313
361
284
272
297
295
422
329
417
245
299
265
298
349
312
382
270
380
370
345
362
342
357
409
266
289
254
418
367
316
244
408
193
377
358
317
300
338
286
330
325
260
244
317
263
335
330
192
370
441
375
295
252
303
307
321
307
371
353
384
345
314
357
335
331
378
388
296
319
339
295
335
328
308
322
419
166
204
297
335
326
294
329
302
274
319
321
237
328
275
270
326
381
273
396
324
283
333
336
353
329
274
389
321
258
334
291
377
298
307
263
342
300
376
409
353
264
324
298
354
395
407
299
282
268
375
258
229
354
297
292
232
339
375
255
212
307
340
279
257
352
256
377
329
295
328
278
322
360
343
390
329
258
372
245
303
407
301
283
294
327
319
357
313
321
366
337
287
292
401
313
354
392
276
196
299
345
343
355
370
255
310
398
347
307
242
405
340
306
299
368
275
285
347
330
392
293
318
306
328
293
376
224
339
363
354
277
287
365
350
282
243
288
318
314
339
268
280
392
325
270
299
343
347
299
348
370
265
267
303
388
241
289
365
296
290
267
368
267
368
221
351
388
343
379
274
322
308
302
338
372
212
402
335
299
310
299
307
355
205
311
290
407
303
296
334
310
378
304
311
277
308
350
245
329
315
325
358
365
387
378
362
356
331
247
318
262
325
322
313
313
375
331
231
277
243
279
333
315
232
281
311
316
290
261
375
337
289
276
334
267
367
278
350
315
307
415
249
388
298
286
282
261
365
252
362
216
330
354
400
328
288
412
292
322
298
312
306
282
290
305
334
296
277
288
365
274
366
390
390
309
412
355
300
268
256
283
321
301
335
362
261
294
360
371
399
296
340
378
261
318
370
275
247
381
293
247
433
301
325
305
286
190
356
335
213
340
346
325
326
288
288
262
252
291
315
369
285
292
353
329
372
413
272
373
349
359
355
234
243
314
327
391
294
407
316
282
330
242
355
313
225
322
345
293
206
311
210
296
298
285
382
335
280
389
237
328
328
415
307
296
271
350
359
289
278
353
333
253
328
335
270
279
259
293
312
235
275
219
348
315
289
300
224
251
245
292
429
329
282
315
294
363
327
349
336
316
359
308
283
409
349
360
340
352
297
389
311
351
338
303
331
314
411
307
293
279
258
263
287
287
260
409
325
364
343
299
312
354
305
262
318
351
328
343
367
388
233
290
322
302
332
333
284
265
268
285
261
356
354
325
397
292
257
345
343
209
256
313
273
300
360
322
378
288
323
282
324
309
331
296
374
330
285
325
366
290
300
393
288
303
282
372
190
253
296
311
309
377
346
325
322
317
262
318
375
379
345
306
361
319
306
336
363
325
328
302
323
392
251
357
353
356
370
306
253
296
311
300
285
331
288
279
331
423
295
268
213
312
214
235
380
333
335
361
290
333
301
301
277
290
349
275
315
342
288
428
293
288
225
434
263
264
296
302
347
368
339
372
349
323
272
376
257
283
314
310
261
271
344
300
350
327
317
324
333
240
253
379
323
339
356
252
291
260
397
305
256
354
326
313
312
321
307
343
341
350
282
346
306
317
374
290
265
331
368
352
306
269
283
352
325
276
279
322
188
312
341
302
311
213
415
308
301
300
273
249
314
294
302
238
382
319
327
347
357
400
318
319
292
307
263
353
264
256
330
287
339
340
308
364
299
289
335
350
351
261
318
347
371
318
273
350
325
311
280
308
235
337
363
294
382
346
276
269
279
291
342
290
366
400
316
346
304
404
309
299
349
382
351
386
352
243
390
329
383
373
318
365
293
370
332
319
406
223
262
362
315
354
356
317
348
292
333
331
309
350
327
392
365
311
336
322
346
438
287
374
268
329
279
331
278
263
258
307
236
351
284
292
218
275
343
320
348
251
233
304
267
321
280
334
177
272
287
311
275
269
310
316
242
370
387
432
356
284
311
384
287
310
267
330
248
269
306
312
285
351
381
370
379
393
399
329
282
294
314
313
351
285
338
236
339
381
251
282
370
261
299
268
287
406
327
182
260
397
377
367
398
268
359
332
336
326
313
275
370
344
265
223
363
244
359
334
368
359
334
312
343
282
371
345
235
319
365
239
241
357
386
294
373
249
264
292
265
330
304
281
320
359
313
314
348
306
233
345
307
224
230
309
387
267
282
319
359
362
303
252
366
266
374
374
296
299
187
267
387
277
286
326
301
289
282
325
319
258
224
324
309
272
233
279
366
285
247
324
325
368
398
396
323
279
347
318
338
274
220
373
378
336
288
279
274
356
345
263
365
241
290
381
297
359
300
338
330
296
242
298
348
375
293
311
357
312
352
324
382
251
294
339
266
367
309
289
302
263
321
384
331
280
258
332
311
222
406
324
340
251
409
324
327
337
342
346
306
313
309
245
312
380
281
416
351
315
284
266
298
359
294
418
308
248
317
287
343
402
302
252
250
279
401
229
361
321
319
363
337
305
375
290
418
308
272
301
300
360
289
352
316
331
256
344
241
281
396
216
353
304
327
341
351
302
348
279
289
326
313
372
353
329
310
213
330
327
330
290
328
276
356
362
269
315
346
343
292
369
358
310
257
337
329
363
313
356
350
397
228
317
243
323
247
344
330
318
256
333
365
299
282
260
297
350
316
246
315
276
421
225
284
296
357
277
227
272
365
397
340
402
300
359
376
371
397
250
312
236
310
326
340
330
252
258
273
271
360
334
323
316
242
328
382
225
336
353
302
312
324
362
312
298
408
296
330
313
309
256
313
243
338
261
353
397
338
245
328
353
247
333
345
251
238
347
300
315
337
311
317
316
387
291
288
310
362
431
343
316
321
331
365
312
319
394
245
259
277
296
277
225
350
327
295
318
276
253
350
337
334
383
303
284
319
350
274
293
326
236
314
268
385
293
383
314
342
375
279
354
452
256
301
360
264
353
327
269
234
297
263
424
270
251
349
391
346
316
340
266
381
352
319
283
304
259
334
423
373
341
263
296
289
375
306
328
369
255
326
289
365
275
348
304
266
280
320
371
299
317
340
379
288
330
337
318
334
310
333
298
346
273
287
297
363
316
324
301
407
260
350
322
355
317
309
266
222
415
344
360
362
205
324
220
307
337
300
374
317
269
256
248
419
322
349
352
268
364
328
329
333
300
380
333
341
283
292
329
288
211
253
306
333
316
287
379
241
299
353
363
304
364
344
270
287
407
326
365
258
277
258
237
238
350
281
297
381
282
298
305
327
279
351
362
381
253
348
307
285
392
370
347
302
288
303
317
366
263
328
299
381
236
317
382
334
318
244
411
342
357
275
347
283
379
325
265
317
263
310
311
303
292
297
328
327
296
343
330
316
305
307
407
283
272
347
309
255
273
293
429
325
266
387
289
289
287
367
374
298
395
288
330
333
364
296
267
307
270
258
390
338
342
323
428
319
277
261
297
300
418
322
302
351
326
273
311
321
350
298
315
368
270
379
294
315
330
307
325
350
317
350
336
341
287
285
382
371
324
226
301
236
313
369
340
293
340
273
324
306
358
321
305
331
327
379
335
331
335
306
265
376
406
338
303
336
337
389
363
344
249
225
268
267
300
329
347
343
294
332
283
357
261
268
331
257
282
346
353
175
271
320
288
274
345
313
302
422
338
343
323
311
331
401
334
389
284
288
332
347
329
343
265
350
257
252
306
373
290
309
378
357
319
337
307
347
332
330
300
343
390
299
251
293
336
323
340
374
303
374
280
311
358
251
269
231
314
222
358
292
265
256
302
377
370
180
350
238
372
376
311
402
341
238
408
310
252
325
408
219
281
270
403
343
346
342
388
327
316
293
334
308
277
313
335
269
359
316
278
317
307
276
321
376
293
376
326
288
337
305
279
182
270
374
292
384
334
274
358
300
330
349
385
353
274
346
352
212
214
258
323
339
328
339
376
310
300
383
235
258
330
339
370
277
363
312
352
276
281
353
280
388
339
246
308
329
352
284
214
255
346
270
419
315
298
326
359
343
386
309
338
413
256
237
291
275
339
370
245
400
336
382
322
338
321
195
277
357
244
324
280
389
268
222
348
330
390
305
266
282
354
368
341
316
284
383
405
327
335
308
293
331
214
307
351
260
309
308
286
269
315
221
314
302
307
227
319
290
276
297
348
324
322
317
324
248
277
330
405
246
247
331
350
354
304
314
272
299
275
361
326
314
321
346
285
286
300
325
290
364
338
278
360
347
363
332
300
367
281
298
386
181
334
277
236
306
317
386
289
364
380
337
245
302
374
336
327
284
323
255
227
301
299
333
285
317
301
325
322
196
369
313
383
288
291
266
283
339
392
322
373
324
314
379
342
268
337
276
289
309
336
326
331
274
282
306
266
322
341
297
309
342
310
280
331
293
305
231
285
286
246
293
240
280
369
283
243
347
316
369
278
286
322
280
335
368
285
378
301
363
375
337
340
321
309
258
246
285
326
319
264
360
328
379
272
366
401
277
303
302
317
272
325
262
299
225
325
346
319
373
345
247
304
318
257
240
280
318
314
301
327
293
330
349
281
289
302
225
401
407
319
328
247
322
368
296
419
286
199
329
295
344
327
257
275
370
302
380
193
234
304
326
195
214
313
271
378
415
256
373
271
316
309
282
227
370
338
253
363
357
288
338
291
251
261
266
194
333
306
354
245
284
270
330
237
270
289
297
338
299
325
380
248
297
335
382
315
338
233
352
319
332
326
366
386
229
313
248
388
314
289
346
358
352
285
289
441
322
239
384
303
261
348
318
379
341
306
320
313
278
250
256
384
375
258
305
283
373
369
319
305
363
396
290
360
270
414
357
367
330
319
397
274
266
412
230
352
354
249
340
306
301
342
254
304
238
298
368
245
290
192
218
291
332
372
323
380
254
400
355
241
401
284
281
385
298
394
250
395
309
308
241
324
386
306
341
277
330
285
290
395
321
330
281
326
312
358
233
263
353
349
340
291
259
323
274
331
329
372
332
363
275
369
372
315
344
309
381
306
313
289
318
267
287
283
255
372
328
277
265
296
378
234
285
303
393
364
294
302
357
274
320
298
357
384
388
265
248
306
213
316
353
353
243
292
329
345
289
328
378
320
345
304
297
335
308
372
348
349
349
279
335
272
312
247
345
294
210
328
234
339
408
302
270
249
333
292
371
293
277
298
360
246
401
347
396
397
329
380
290
269
292
271
322
273
282
351
297
352
305
411
315
319
333
300
314
302
384
342
369
185
267
340
329
293
310
337
317
346
335
377
352
326
351
215
289
314
351
283
274
328
316
350
291
341
360
333
387
373
305
279
268
383
310
338
255
340
353
346
332
296
246
291
284
383
334
334
239
358
376
299
273
368
312
274
369
323
261
338
275
308
334
276
362
369
335
251
361
321
335
255
351
297
409
328
302
361
314
292
265
307
316
300
370
291
374
324
336
338
365
253
350
337
217
321
254
327
247
305
322
311
305
398
264
365
324
372
372
293
358
313
269
425
337
298
377
312
309
229
310
273
347
227
245
298
281
302
344
322
259
325
279
336
292
366
326
291
358
312
259
239
314
352
309
302
308
241
324
258
345
321
379
253
278
353
361
306
293
292
324
298
300
329
292
291
373
228
329
356
289
239
300
382
419
325
270
277
365
259
362
295
337
315
333
267
317
293
219
327
327
297
351
321
384
295
288
247
307
230
253
395
332
376
384
284
203
298
353
303
189
339
383
285
378
318
425
440
295
293
328
384
251
336
220
319
388
261
362
322
286
270
316
357
266
339
283
238
355
413
348
363
347
259
248
368
233
351
359
291
335
327
338
320
306
400
304
349
361
312
291
409
383
268
337
409
318
340
299
338
353
403
282
322
284
303
277
317
331
304
350
396
319
352
355
328
392
394
328
299
305
225
306
311
400
363
318
283
296
240
385
438
340
323
264
358
351
278
288
321
365
238
296
254
364
334
277
330
326
262
335
326
330
239
305
374
284
302
354
291
306
383
289
358
257
340
242
358
309
296
282
319
257
273
317
305
358
262
254
263
332
273
324
301
305
338
239
318
301
337
270
336
275
310
330
337
303
289
256
378
365
343
249
319
286
307
391
339
338
272
324
231
335
296
349
335
370
367
354
264
255
338
367
248
297
313
254
308
322
341
291
341
252
236
255
256
196
330
328
313
306
310
320
308
294
302
263
333
212
278
306
371
342
260
309
397
317
352
369
299
267
388
278
366
331
374
324
282
368
392
270
331
291
262
343
357
363
319
373
256
298
266
252
330
337
352
358
272
270
313
374
338
316
355
340
327
310
293
306
245
301
330
318
324
336
287
285
208
327
303
344
323
289
213
323
240
323
367
281
329
332
374
313
400
202
277
284
324
315
308
259
269
276
282
331
366
339
270
288
398
312
195
331
283
241
316
369
288
344
353
407
234
407
280
250
343
328
337
275
294
290
326
258
295
315
334
351
365
345
290
354
373
351
349
340
300
322
373
291
246
283
260
262
333
242
389
288
265
342
284
304
375
332
298
290
312
253
280
433
343
289
270
273
264
222
325
403
275
235
321
341
345
295
241
282
303
301
360
295
402
344
304
289
315
198
283
322
254
309
266
365
250
327
395
263
292
336
261
302
300
271
243
361
246
321
348
269
419
328
288
333
279
238
264
321
306
273
321
232
240
214
416
266
334
298
417
221
353
253
221
319
319
250
320
237
325
269
288
316
403
331
343
349
306
347
353
262
300
317
287
335
255
221
374
276
305
361
330
285
240
290
297
325
350
367
361
350
361
346
264
286
353
331
310
342
276
332
374
383
296
313
278
323
338
370
352
333
344
347
312
325
324
282
408
281
283
313
274
441
333
352
344
292
354
353
245
349
356
403
353
388
272
359
315
294
331
338
302
309
312
257
358
298
328
319
314
359
349
320
253
336
382
350
306
376
356
282
308
219
295
217
221
368
377
338
306
379
376
249
328
289
346
277
366
276
331
294
363
344
219
290
327
304
393
379
326
422
278
307
283
348
238
400
245
363
270
372
343
417
362
361
332
362
355
330
302
283
340
309
289
287
331
271
245
288
337
262
249
312
318
320
284
348
347
243
382
345
305
337
301
337
373
285
346
304
347
317
340
286
207
292
276
264
336
362
348
219
289
238
292
355
332
368
330
341
322
346
237
346
370
325
312
403
237
276
317
381
236
281
350
273
304
375
339
222
339
266
362
298
405
289
299
413
360
357
317
294
251
261
333
379
275
288
292
292
248
313
319
363
286
255
236
323
398
365
374
401
359
215
368
312
307
321
268
274
396
323
277
291
430
329
375
292
346
267
300
370
345
245
330
339
336
399
312
326
295
299
374
360
305
325
271
306
309
278
285
377
408
325
323
296
286
238
311
347
353
340
342
299
310
327
333
281
322
323
309
254
312
322
276
327
319
326
344
295
269
273
263
297
297
270
333
263
302
308
305
345
300
274
348
239
234
276
282
267
318
340
244
307
245
311
311
330
382
343
350
295
235
318
329
250
368
344
310
364
340
338
296
344
384
345
226
363
467
270
249
320
385
408
219
355
256
327
362
280
328
290
296
334
297
306
311
276
249
249
341
291
278
229
314
194
285
367
361
401
346
299
261
333
320
320
291
307
293
302
352
309
326
276
240
285
226
298
390
317
300
324
300
393
274
273
313
309
334
324
315
306
265
433
325
301
355
253
283
343
398
319
264
304
285
320
282
252
302
324
246
337
348
340
264
293
311
280
354
262
350
306
322
369
308
334
290
301
366
224
336
302
389
386
294
365
368
355
272
252
332
342
290
291
291
307
348
338
390
340
348
339
366
332
287
298
311
327
366
287
330
221
344
326
279
281
282
263
311
298
281
370
314
360
314
430
302
317
359
308
380
312
289
300
269
364
362
345
281
339
311
294
298
276
344
319
350
287
327
297
308
344
333
356
377
390
356
356
362
381
260
387
250
310
245
223
401
388
314
197
340
247
242
279
306
363
311
316
306
321
244
212
267
327
361
311
339
324
319
292
386
247
388
293
307
304
252
310
391
256
308
275
359
280
349
323
326
294
291
270
303
320
402
361
302
356
309
318
249
297
316
333
328
331
309
314
300
315
323
225
279
401
287
347
325
296
319
259
291
276
310
404
333
329
357
347
302
339
280
426
374
365
315
332
291
368
278
372
344
382
320
383
374
244
233
322
281
298
428
291
393
369
340
312
292
250
275
258
266
256
219
249
423
283
337
370
348
325
335
251
259
300
293
363
301
305
350
387
350
315
308
299
287
331
247
382
319
287
275
317
225
351
416
375
384
280
326
402
335
343
326
308
303
360
322
379
320
295
351
303
288
316
250
358
204
237
324
298
363
375
362
331
302
304
306
224
247
296
345
349
320
266
277
351
323
283
283
312
288
278
317
383
270
277
302
312
378
232
341
295
251
381
294
282
304
306
344
291
331
356
312
317
322
305
374
214
349
303
195
335
278
357
234
278
360
258
345
352
388
276
243
330
274
267
311
350
388
345
315
358
331
322
268
320
317
331
292
292
268
341
258
283
284
407
364
302
353
338
347
289
337
285
300
276
315
279
323
361
299
327
361
277
258
324
278
389
313
290
346
321
349
287
276
369
285
316
312
267
270
409
286
274
286
313
346
320
397
347
322
282
265
331
319
275
320
397
389
322
331
316
313
286
382
387
308
306
293
345
377
323
299
368
300
362
349
286
384
309
392
331
290
310
250
324
404
385
315
341
317
344
355
357
332
384
269
270
265
286
372
386
344
293
343
225
358
385
332
336
341
273
322
320
297
333
322
352
291
337
357
354
262
336
318
260
364
302
313
283
244
216
347
313
332
226
296
351
379
407
350
323
281
304
235
308
295
244
227
327
317
338
369
298
304
285
365
254
352
305
335
232
284
345
369
258
368
323
376
270
297
332
258
205
288
231
321
253
387
401
332
320
326
311
340
365
292
290
291
279
327
309
343
292
234
316
344
277
318
283
302
364
380
322
315
225
351
346
305
317
350
314
338
338
338
267
330
311
306
355
348
345
300
289
365
284
430
364
223
397
280
324
325
309
324
267
404
378
282
317
233
277
350
362
218
256
216
270
218
237
336
338
268
345
305
285
362
331
262
267
250
375
387
240
296
383
306
344
285
305
282
187
317
248
262
283
374
317
352
367
372
381
311
302
297
286
248
360
353
279
326
267
300
336
338
333
282
320
248
329
365
303
222
240
348
347
312
325
337
358
312
238
412
292
319
349
265
292
259
323
347
320
336
386
283
291
348
330
325
326
347
316
360
299
358
403
267
283
351
296
337
315
344
260
274
223
255
314
317
361
256
278
289
409
325
288
307
265
308
307
323
278
319
332
278
278
285
269
259
354
368
362
313
353
329
269
324
329
298
288
187
303
239
319
362
312
276
338
339
400
246
139
339
299
313
308
421
235
265
306
289
344
261
290
296
330
321
311
341
403
325
333
315
335
447
312
321
326
212
240
338
356
384
286
384
321
393
360
275
375
286
330
250
309
375
270
288
368
301
353
352
308
277
374
328
323
403
315
245
340
335
316
350
308
359
371
318
277
313
293
244
319
279
356
288
352
236
424
243
319
328
357
303
344
337
383
205
283
265
308
291
307
378
304
283
338
309
304
265
273
328
448
284
339
295
348
281
291
430
341
351
294
349
376
325
303
283
219
370
285
269
333
298
347
297
307
322
299
237
389
301
328
316
314
307
333
321
369
276
377
286
358
308
288
317
345
327
276
356
349
294
329
387
384
259
327
351
361
369
330
353
296
363
285
374
332
263
295
394
306
310
369
329
331
330
311
318
310
362
320
435
300
310
324
331
306
313
376
339
306
330
251
338
275
340
324
325
232
286
308
345
345
244
254
357
319
355
359
288
354
280
452
374
327
383
309
259
279
245
340
298
375
354
340
318
338
262
329
288
338
255
291
286
333
262
230
346
282
317
321
267
365
400
248
257
303
245
310
307
302
261
321
336
332
352
372
346
336
331
292
259
262
320
335
294
274
316
311
298
355
266
334
267
367
292
347
343
341
392
344
263
356
318
288
368
298
342
370
328
292
309
332
268
413
350
339
283
345
283
279
277
301
318
361
346
310
311
308
308
295
354
301
366
283
398
308
330
255
307
289
299
277
339
254
297
353
413
338
310
340
265
348
315
235
370
279
338
311
408
340
337
347
319
331
317
376
375
294
337
248
284
403
344
284
404
270
279
347
226
266
361
352
308
256
380
374
324
311
292
322
294
370
248
293
256
276
290
315
336
380
220
304
288
352
365
307
372
325
271
327
292
337
337
231
373
374
287
332
331
380
344
284
278
331
284
339
344
357
258
338
368
278
391
351
258
255
300
331
323
347
368
204
300
279
281
296
283
287
320
332
291
287
295
297
329
389
313
344
288
352
364
308
299
350
368
344
277
266
374
327
266
239
322
300
308
330
315
377
314
329
348
265
262
219
371
256
295
312
297
373
382
292
403
219
336
296
290
279
366
359
257
341
338
301
331
330
376
299
299
239
318
363
277
355
400
354
292
370
419
207
299
386
326
292
313
317
313
326
323
270
329
375
372
324
303
348
313
259
324
375
283
308
347
332
199
249
342
343
344
246
215
355
294
282
289
343
331
305
331
292
335
322
270
289
208
317
337
394
334
325
360
314
292
310
343
353
320
313
327
233
305
220
301
304
317
299
391
345
305
355
376
307
364
315
274
365
277
329
183
393
335
284
327
321
362
319
334
302
349
319
271
261
335
401
373
339
320
303
296
341
221
242
353
428
274
342
409
265
258
351
358
294
332
297
333
358
353
306
270
360
274
310
307
380
240
265
268
339
397
335
391
332
323
301
325
393
350
246
352
219
383
370
345
341
360
357
332
296
248
283
287
218
286
273
292
326
316
232
351
254
408
349
310
267
292
340
295
276
273
406
251
329
275
313
284
252
353
318
228
324
292
302
371
345
293
383
371
282
343
308
336
327
331
311
287
237
303
380
291
379
328
298
249
254
324
330
321
266
297
311
260
290
378
285
294
342
262
334
230
305
298
360
320
267
275
297
329
320
212
264
315
286
212
252
284
291
343
282
368
317
315
315
337
299
321
315
320
306
371
397
321
353
261
330
365
231
309
320
342
361
292
373
391
334
366
262
365
252
232
336
263
302
391
347
364
362
378
283
347
343
349
394
298
328
280
291
344
309
320
220
357
290
329
369
345
301
337
352
275
350
338
284
353
290
282
373
318
353
254
255
370
390
338
338
323
254
309
222
372
342
308
352
303
266
236
414
331
331
367
262
271
257
343
338
340
319
333
322
391
368
386
236
299
252
373
254
396
390
364
286
304
290
368
301
316
284
294
249
192
347
308
347
280
273
325
362
292
362
280
308
410
355
293
347
336
336
355
256
358
267
268
355
267
274
378
417
334
316
381
338
335
324
354
294
270
337
197
361
309
277
300
362
317
301
270
283
295
349
281
354
348
278
370
269
327
325
307
295
345
301
379
324
311
353
305
293
297
345
289
286
370
340
329
390
360
319
433
384
257
369
349
292
374
339
292
303
283
314
280
271
406
307
341
316
392
271
277
193
353
315
298
360
291
341
352
367
341
238
375
320
266
219
268
374
340
200
312
269
377
223
252
297
385
299
205
293
324
344
348
287
325
306
377
358
270
355
352
217
321
367
318
235
348
255
305
289
323
389
340
338
213
354
383
254
303
296
211
309
377
301
327
235
350
305
347
297
252
361
333
302
315
287
283
297
249
286
289
337
347
404
352
302
260
333
283
340
330
330
314
231
335
204
329
340
290
286
293
211
339
322
330
289
315
394
270
267
333
312
336
327
389
277
344
315
346
211
265
353
311
306
357
289
334
337
311
360
254
379
273
290
231
286
288
342
270
293
316
286
240
314
311
315
323
333
353
312
319
289
331
243
368
322
318
341
275
284
233
241
218
266
320
329
348
260
308
342
241
321
287
258
288
338
265
335
402
322
306
417
393
347
270
334
294
302
331
345
371
390
342
398
293
285
348
278
299
310
217
216
291
330
317
278
369
383
337
319
388
383
315
301
304
292
287
359
263
388
339
243
301
377
276
316
287
328
362
331
253
288
337
325
392
415
287
289
328
345
413
357
326
279
265
359
272
306
357
285
330
334
327
335
348
223
301
335
261
337
370
275
292
246
358
390
345
326
280
326
363
270
372
397
330
296
281
266
292
257
311
307
328
321
341
312
352
318
334
324
330
307
352
388
347
294
341
329
365
260
362
301
308
400
352
308
342
207
314
284
348
313
436
316
234
304
336
300
242
292
410
309
289
342
361
287
265
270
410
367
285
308
375
367
330
303
296
254
329
244
322
342
351
320
336
305
335
324
269
357
407
371
335
317
236
333
383
318
290
324
267
177
323
408
352
291
358
305
354
288
298
253
328
318
286
369
311
339
272
230
267
280
297
335
310
380
344
363
282
340
267
345
350
318
333
341
291
317
356
252
250
340
310
256
336
328
352
324
313
351
295
261
415
334
235
287
337
320
309
306
381
276
324
252
325
346
246
379
364
342
241
312
354
315
349
327
386
288
223
276
343
270
403
325
361
302
286
273
324
311
346
346
186
274
230
317
289
328
303
272
359
282
308
316
382
330
323
392
280
300
217
278
301
225
299
340
382
382
299
266
347
369
249
246
353
297
316
269
274
303
260
292
287
369
329
356
325
303
357
318
348
300
377
358
337
340
367
407
280
320
323
361
312
260
430
317
310
269
308
389
310
331
307
333
252
346
292
291
221
301
390
393
333
350
309
374
280
322
402
287
274
286
307
305
336
257
403
343
267
409
311
322
307
207
328
332
354
341
306
358
305
311
383
336
363
344
268
268
318
292
281
209
358
294
258
328
322
317
348
368
339
247
301
260
329
307
364
262
289
348
300
327
328
280
322
322
294
343
292
316
324
267
369
359
319
327
335
323
344
258
391
309
306
310
321
289
253
355
276
325
327
216
250
296
286
289
265
236
326
297
288
332
313
347
274
310
251
272
311
221
293
228
233
300
372
321
377
273
372
297
268
314
233
329
291
306
318
201
281
321
254
254
322
322
253
258
257
326
298
283
239
346
335
199
270
185
400
362
262
389
301
358
387
311
341
332
279
324
403
352
286
289
321
269
463
343
367
336
354
285
273
244
258
336
268
359
301
269
303
300
276
343
377
320
222
246
348
304
259
391
391
309
326
335
340
290
312
244
343
360
382
364
322
318
321
286
295
284
322
249
359
301
411
326
396
311
367
367
299
295
241
318
222
300
432
268
294
346
247
362
260
295
230
402
256
267
333
286
248
311
370
340
398
291
350
310
389
365
297
306
217
329
355
284
398
385
329
313
253
317
340
293
313
274
337
288
294
259
335
215
316
340
273
260
335
301
251
322
308
376
349
289
372
352
330
301
337
289
332
346
277
310
374
281
300
277
285
324
341
272
322
322
227
279
370
302
307
348
258
269
322
410
276
234
261
316
250
280
274
303
368
334
318
367
328
347
338
298
274
343
291
269
374
303
371
302
347
342
388
342
319
328
248
204
346
336
288
328
308
250
296
304
286
325
228
335
377
274
388
357
249
327
362
357
344
371
347
317
287
308
356
286
367
272
319
353
301
318
362
325
384
312
261
310
329
396
377
288
277
322
331
292
328
308
335
282
323
363
219
318
328
297
303
326
310
401
282
337
290
328
259
376
232
362
242
362
210
353
337
344
327
235
382
309
368
336
339
342
382
271
279
372
362
229
355
296
304
339
267
261
349
346
281
350
298
335
304
285
350
355
325
277
263
294
364
271
376
304
284
344
254
258
296
324
302
305
281
338
261
314
350
352
289
252
333
312
317
347
311
288
308
254
258
353
350
347
313
308
260
325
274
289
407
323
328
299
320
363
319
367
319
422
244
303
333
324
261
271
239
297
322
339
241
305
304
320
277
301
246
325
440
372
226
369
343
280
294
320
344
265
373
322
258
249
281
328
231
347
264
271
291
407
347
335
275
295
264
223
324
338
273
388
324
227
293
339
377
350
328
336
343
366
390
335
291
355
282
274
373
373
294
352
355
384
237
277
270
260
324
320
309
340
387
256
376
344
318
312
370
391
318
326
375
339
344
379
303
344
310
361
333
384
308
313
289
349
294
305
356
317
304
377
385
377
286
350
297
326
344
239
328
291
265
309
274
294
316
364
364
324
362
350
343
377
351
274
337
332
298
326
306
336
304
296
333
277
358
318
340
324
296
410
393
288
354
301
211
332
292
295
340
317
310
303
347
322
215
273
272
306
292
299
309
276
337
261
318
321
273
377
377
333
317
280
271
320
336
348
303
314
371
320
291
282
317
296
249
372
309
279
350
303
338
285
310
354
283
321
241
259
370
267
377
346
247
361
366
270
305
389
206
342
320
288
252
377
325
282
394
240
336
293
349
335
363
316
273
279
342
149
300
312
260
305
273
332
348
306
312
331
313
296
343
239
251
282
197
340
353
314
220
328
338
417
265
276
260
365
314
291
320
350
375
288
249
384
280
343
433
385
327
284
289
282
375
265
372
293
305
323
375
352
352
284
366
364
320
304
335
270
297
382
270
238
295
350
215
334
287
326
338
294
382
344
382
360
300
340
374
358
345
408
250
361
356
279
322
279
253
349
340
290
306
372
318
281
330
256
381
323
404
325
434
318
280
232
377
273
359
299
293
387
238
286
224
402
214
396
295
386
352
249
321
296
300
336
232
317
291
267
314
350
337
278
248
341
327
240
371
285
373
360
333
319
359
342
330
236
322
358
289
334
280
260
282
307
332
281
332
246
288
350
355
273
332
334
359
316
259
303
342
277
316
300
306
352
340
261
348
310
266
316
280
378
284
336
230
330
304
259
380
309
295
376
280
268
319
393
368
402
312
276
308
239
334
297
346
319
254
314
337
319
326
260
414
223
322
334
270
352
382
328
222
280
303
287
281
232
324
314
361
346
316
353
288
312
358
342
348
305
407
330
245
349
415
257
339
185
267
385
332
253
319
340
303
339
344
279
268
336
386
278
402
267
310
308
251
407
333
301
314
278
357
336
316
364
255
349
415
284
317
309
288
346
341
318
318
281
367
328
312
326
356
328
271
297
331
338
341
310
318
364
277
373
329
269
299
309
353
387
279
283
333
289
323
240
386
339
385
295
274
287
259
224
338
283
399
308
344
308
332
343
346
308
312
292
236
329
344
246
366
339
342
339
243
295
288
279
314
317
370
303
325
309
256
326
237
359
199
326
305
270
282
388
357
337
291
390
242
287
265
318
227
319
299
239
270
295
253
312
386
369
223
367
294
320
363
305
326
345
267
315
405
381
309
332
130
373
304
314
344
295
370
305
312
372
332
287
320
350
192
246
335
375
230
231
259
349
327
268
249
313
324
267
407
237
305
401
337
363
378
302
274
347
374
292
367
260
221
343
340
365
257
314
204
339
289
329
278
330
367
335
222
303
300
332
271
233
338
306
309
326
282
341
342
318
307
235
291
272
442
318
332
319
409
352
363
330
401
225
315
347
291
372
285
308
343
361
372
255
289
297
264
420
263
259
300
402
361
207
292
407
288
381
350
356
378
250
303
337
370
343
377
364
366
315
256
301
295
340
308
382
263
323
326
360
331
273
316
374
333
353
360
449
298
319
289
354
384
359
262
355
343
338
383
232
352
349
289
348
300
364
344
325
340
341
306
229
387
295
333
332
311
312
321
291
297
314
359
301
231
240
264
338
336
322
327
283
389
286
300
346
322
316
385
292
276
337
373
323
373
380
287
344
285
294
338
297
303
414
309
355
364
256
303
370
331
240
204
348
297
300
307
246
211
319
349
364
412
247
305
285
244
271
313
305
263
330
313
366
242
340
273
293
300
301
291
314
403
386
268
315
246
319
340
294
300
397
343
343
214
351
373
315
260
328
320
228
348
297
255
297
272
331
327
242
378
322
310
382
337
283
344
300
304
339
280
337
360
300
308
306
364
258
289
243
360
254
238
254
340
270
265
364
343
351
300
266
382
311
322
201
297
326
287
280
363
255
407
354
382
332
288
348
302
395
268
304
342
304
302
322
259
332
213
380
262
343
201
341
251
377
375
321
351
309
338
344
373
278
215
380
301
251
364
345
289
384
280
228
405
284
286
355
229
308
344
396
391
324
348
234
226
343
266
276
414
379
223
361
374
275
263
307
341
238
312
344
349
341
332
301
359
320
412
312
334
342
270
279
381
233
316
321
334
350
354
317
305
329
270
293
339
283
357
333
304
316
279
225
362
338
354
312
252
308
329
380
269
231
292
348
326
317
343
266
286
333
344
291
299
284
318
238
276
340
375
301
302
257
252
394
274
251
286
252
316
352
322
311
298
287
265
326
394
360
341
339
319
365
307
350
395
352
283
323
301
348
298
303
330
295
339
294
274
365
245
334
301
319
255
338
300
321
272
334
308
355
375
288
245
291
287
331
321
334
298
336
315
303
252
326
330
312
356
264
341
266
342
302
303
346
380
362
292
353
355
342
304
248
352
285
362
336
301
421
265
307
319
278
252
233
282
348
239
268
324
340
346
257
321
361
284
308
379
266
266
336
246
360
282
289
305
325
304
301
314
342
242
219
271
358
310
295
293
317
309
312
317
287
321
347
320
415
355
366
255
281
323
273
263
349
295
383
323
341
339
340
297
295
270
259
228
312
351
276
292
323
283
351
270
331
253
328
234
390
297
248
355
327
385
365
294
306
281
275
230
398
297
316
361
296
277
337
292
243
333
319
280
318
376
310
296
288
215
329
286
262
418
402
332
308
294
268
273
336
306
372
344
390
344
324
297
283
333
280
323
301
282
243
349
289
332
383
354
324
338
269
366
333
463
293
379
285
387
372
265
269
353
288
348
397
314
326
270
398
346
286
381
245
330
375
233
259
293
258
390
357
331
332
303
374
225
252
355
385
322
334
337
274
347
303
249
297
324
266
392
366
320
282
313
268
334
261
281
304
317
337
260
291
320
292
296
343
307
421
344
301
350
268
362
234
300
255
241
315
358
303
287
334
323
180
356
306
405
339
318
278
412
334
281
305
327
338
323
328
291
331
283
378
211
364
324
240
276
336
280
365
281
278
306
243
354
264
374
404
246
319
270
343
334
312
300
332
275
237
227
324
347
302
274
251
335
304
235
288
371
326
309
306
364
262
378
260
296
339
282
339
352
229
302
309
340
253
307
320
327
434
319
315
380
270
266
294
293
373
307
333
257
438
347
302
309
305
259
279
361
349
317
290
388
240
319
365
340
371
289
305
307
260
341
278
209
315
366
318
273
324
269
328
319
288
221
274
321
350
356
391
322
375
345
291
257
330
268
327
242
382
327
345
246
429
355
345
323
320
363
375
221
311
386
261
330
297
326
364
358
303
412
272
281
339
414
340
321
328
257
304
307
264
325
320
292
278
287
279
298
309
284
322
375
368
277
304
352
368
368
353
338
362
252
322
305
317
329
223
273
280
307
332
310
298
328
322
310
346
292
322
298
351
330
370
254
355
265
264
289
297
366
331
283
304
383
312
323
374
350
309
303
281
326
280
355
333
354
295
241
263
372
294
373
338
275
239
249
304
340
230
234
210
364
315
240
355
349
377
311
292
294
384
284
300
319
355
266
297
324
327
341
234
293
330
243
399
376
358
216
341
348
369
275
326
320
296
342
313
259
317
352
371
292
319
360
258
320
278
259
255
313
329
337
252
364
283
397
247
272
401
315
292
264
308
271
275
357
339
297
362
303
322
300
355
314
343
354
261
265
415
325
274
349
303
398
300
334
379
375
274
332
330
279
307
394
381
342
334
250
298
242
306
376
310
368
321
294
281
361
259
236
341
278
324
361
361
286
395
370
275
301
394
349
253
277
342
309
358
324
254
361
323
367
381
284
357
323
286
333
348
348
294
364
354
306
362
424
294
374
271
397
319
284
269
301
277
340
287
319
359
332
324
341
297
283
311
347
455
345
347
314
329
337
262
261
298
276
329
327
355
211
309
357
336
322
300
340
358
342
339
214
320
317
343
394
319
355
306
352
295
312
277
318
355
374
336
332
301
299
301
348
263
306
321
251
380
348
269
355
257
368
397
333
275
200
334
307
424
239
353
291
271
239
278
368
369
363
374
309
228
352
321
257
354
309
346
413
312
300
306
300
316
335
367
358
319
258
300
269
271
263
212
329
348
330
252
330
315
293
306
389
318
356
294
289
343
245
328
271
318
397
272
286
390
350
298
373
422
329
311
320
244
385
349
378
350
292
335
333
300
332
344
349
319
300
289
286
257
227
322
359
361
317
225
342
320
319
258
247
388
339
354
256
292
315
280
312
335
270
290
323
319
299
348
266
364
377
329
349
318
234
264
325
326
307
301
288
349
276
371
315
282
311
231
281
329
273
336
312
347
250
321
368
399
236
235
372
285
308
229
336
285
251
368
323
264
303
247
291
339
271
303
327
384
283
305
308
358
331
334
346
270
315
340
304
325
286
317
337
360
332
321
275
319
340
369
266
360
279
374
306
311
356
383
373
329
413
384
390
343
339
340
351
237
291
338
345
354
277
286
284
322
315
317
343
369
361
292
338
346
318
261
269
346
282
342
419
341
317
223
313
355
213
324
260
273
364
317
379
420
251
331
292
325
306
357
400
371
317
291
352
382
281
349
227
271
373
276
396
352
257
360
305
248
325
316
337
317
343
370
305
374
276
268
394
398
269
395
323
360
232
367
282
302
376
288
332
370
264
268
328
390
248
293
332
269
325
323
257
328
376
328
271
344
325
337
403
318
321
307
311
347
286
321
324
348
346
324
277
242
335
327
291
346
337
362
329
159
336
301
288
254
340
296
344
331
298
230
252
347
354
339
340
209
387
347
354
324
314
420
323
301
283
225
304
323
288
377
324
276
333
362
283
328
386
313
238
312
343
382
337
327
374
328
271
350
354
284
256
356
281
378
255
256
268
350
357
294
319
279
371
407
283
313
229
321
265
254
384
310
317
246
337
326
233
282
299
327
316
264
268
278
252
314
310
387
325
223
347
252
317
345
317
336
337
250
357
389
332
269
337
310
305
313
343
331
384
383
344
384
310
297
262
309
329
320
250
295
371
325
385
329
351
372
271
257
323
268
391
358
275
296
366
370
216
342
308
312
362
273
309
286
367
266
297
330
344
314
249
433
347
368
365
338
281
295
270
293
292
390
304
258
298
338
265
373
290
292
293
267
232
372
179
355
338
245
324
315
336
340
335
289
285
346
294
404
302
298
250
286
283
376
347
311
260
267
301
342
302
310
375
348
319
246
326
265
271
311
247
363
324
425
268
336
353
313
299
276
325
288
280
225
223
327
352
361
352
261
336
250
235
284
294
301
334
274
275
265
296
307
360
253
261
316
397
252
295
288
350
350
309
321
299
264
339
404
325
356
278
318
303
287
268
316
313
200
329
373
373
328
299
332
357
294
324
306
263
346
279
323
284
379
275
344
319
311
293
329
347
329
311
332
335
299
368
306
319
304
330
322
309
331
344
415
324
407
262
322
340
255
342
378
277
255
328
296
340
321
302
318
314
337
353
379
390
288
227
331
347
334
289
281
321
366
318
289
348
227
397
359
368
283
258
283
369
300
322
289
312
249
335
230
303
340
355
330
336
312
256
327
312
391
255
287
229
312
379
268
368
366
303
274
315
294
363
275
305
367
313
310
322
294
299
342
212
353
365
250
282
322
338
199
319
361
322
328
328
283
308
360
262
322
343
335
365
247
283
300
330
347
310
353
322
297
246
321
341
331
278
342
253
253
245
274
291
431
303
323
430
304
301
313
394
310
381
361
348
300
326
267
322
198
338
310
226
367
324
343
344
257
319
300
353
389
327
272
407
188
233
312
275
212
343
360
334
260
309
335
335
311
280
218
373
344
335
324
293
318
332
290
346
266
288
342
245
363
286
346
261
192
303
319
345
347
403
264
308
321
341
299
312
344
284
341
319
271
362
285
292
345
284
326
274
288
339
285
299
347
257
270
391
301
242
310
361
348
324
236
246
331
256
299
372
277
341
373
376
359
314
345
180
318
285
381
322
331
234
340
315
276
339
230
294
291
390
331
289
428
299
386
364
278
332
275
403
370
369
332
378
311
267
301
338
257
267
378
377
316
301
339
309
250
329
415
280
308
294
268
288
230
355
240
316
209
345
269
265
263
279
312
328
294
345
396
297
287
290
314
393
233
292
343
306
351
354
343
338
267
298
347
311
346
336
319
253
297
315
349
285
282
276
365
332
296
385
389
234
279
352
316
334
337
340
344
332
299
321
309
305
236
339
303
359
290
322
385
257
413
329
280
257
229
330
344
316
332
356
357
321
266
337
424
400
288
364
252
297
382
263
305
307
325
262
374
315
378
306
355
364
377
351
292
281
378
357
381
304
326
298
375
324
295
351
275
276
272
308
315
345
305
287
323
328
364
331
319
345
303
338
256
278
265
294
331
335
268
393
289
318
380
367
331
318
299
327
378
326
295
328
273
378
316
315
265
339
397
365
319
354
269
340
315
423
402
326
327
307
331
332
298
309
394
242
330
345
309
322
361
327
365
357
268
265
325
379
321
298
308
314
251
284
351
391
342
250
315
229
317
333
369
303
299
300
333
294
330
269
334
280
232
416
365
279
242
298
284
299
309
396
230
379
340
360
412
345
324
284
338
268
292
283
217
341
334
324
315
342
275
377
368
323
322
263
385
369
229
232
364
225
407
317
383
310
365
307
251
317
252
346
246
325
305
274
271
214
302
265
358
308
304
352
269
372
340
370
301
278
385
328
225
390
339
304
316
275
269
285
316
345
327
278
350
257
312
320
201
306
331
282
328
409
324
310
331
266
328
294
324
376
348
364
281
325
238
334
327
286
267
315
298
383
246
362
263
324
286
371
414
288
308
275
363
337
285
293
317
293
347
283
345
312
264
328
326
289
347
316
345
273
296
298
336
314
311
362
261
324
310
301
307
301
250
253
320
278
313
321
326
327
317
314
378
305
309
305
346
309
242
246
341
385
328
287
294
256
309
309
268
321
423
294
291
321
354
320
279
302
336
307
344
255
485
403
394
314
287
295
389
276
350
350
368
309
323
296
368
321
367
300
298
399
304
257
306
303
348
341
192
308
358
281
360
339
322
326
291
291
313
252
394
319
373
325
300
236
329
271
227
297
374
341
350
346
259
348
358
353
342
347
320
277
300
314
322
196
352
329
425
284
337
406
330
287
331
376
372
296
300
265
258
242
306
332
314
336
321
250
339
298
307
283
293
303
367
288
342
317
314
361
258
239
238
281
273
367
313
378
338
362
315
328
279
307
268
350
309
267
351
218
295
325
383
286
297
333
290
331
339
329
415
314
325
299
246
294
279
362
395
246
310
324
336
351
364
236
253
281
321
357
306
282
297
265
259
354
209
221
382
244
331
325
329
317
276
233
293
335
317
288
306
325
250
309
329
308
309
295
300
347
317
296
380
292
335
237
312
278
270
292
344
249
241
230
270
334
288
385
277
291
378
294
353
293
361
263
283
344
321
260
338
358
328
371
227
299
383
236
295
259
241
249
309
257
270
241
345
380
329
308
371
323
348
254
305
301
318
351
392
307
187
376
362
369
298
240
260
275
294
343
224
268
342
305
298
251
332
305
266
283
371
240
264
268
338
369
356
270
282
252
305
263
333
315
358
297
319
244
328
344
321
270
246
298
263
303
255
307
304
361
263
395
387
255
262
246
315
324
286
350
301
328
305
304
308
294
330
322
399
311
301
354
394
306
328
300
369
383
310
253
318
292
363
346
282
344
298
368
276
197
338
362
335
255
329
273
361
304
353
328
281
362
272
353
346
341
300
371
222
308
290
262
283
320
335
405
287
357
217
316
264
305
404
323
322
277
239
308
386
258
305
327
345
322
337
262
251
313
235
319
342
382
263
253
326
244
341
375
350
401
367
356
312
352
271
275
365
344
330
329
291
297
262
285
377
276
270
406
335
403
307
382
293
281
342
319
281
288
401
363
230
332
362
367
239
380
297
301
346
339
398
344
317
295
355
370
317
317
343
312
285
253
307
326
333
251
314
301
248
363
348
274
252
375
348
254
354
258
308
337
322
281
328
309
365
334
250
268
221
375
290
362
367
381
256
373
318
270
302
294
325
369
279
333
323
303
351
339
255
222
341
410
253
346
349
365
262
374
321
215
371
291
300
376
337
315
383
341
405
400
263
270
350
293
353
391
384
264
332
310
270
337
285
373
337
321
311
333
280
344
323
296
325
377
293
409
303
318
296
291
333
273
351
368
331
384
347
358
204
353
345
356
240
268
362
296
298
312
248
322
291
325
354
292
305
334
359
346
326
402
377
406
234
323
355
252
270
259
254
345
404
276
313
312
232
353
297
385
328
236
267
342
365
299
300
354
332
340
350
288
313
326
301
320
303
331
300
351
228
349
283
273
336
368
329
292
305
284
351
348
322
361
300
301
422
430
356
301
370
302
347
243
172
287
381
362
224
304
284
246
373
310
294
344
273
293
388
335
366
239
365
343
230
308
262
318
437
245
300
368
262
289
226
334
324
273
278
289
243
326
271
353
371
255
342
329
294
275
293
353
338
346
332
366
250
264
248
265
358
350
390
344
334
274
279
340
269
333
280
372
295
375
219
307
292
349
361
212
276
299
311
305
316
337
312
330
346
355
323
287
283
274
335
410
318
297
224
343
296
400
283
355
267
392
349
268
316
340
233
346
267
309
311
353
369
317
335
275
295
199
325
338
315
239
332
309
273
265
308
331
418
414
308
352
372
335
307
345
310
353
328
315
377
364
379
243
244
189
375
353
260
268
361
264
325
339
296
321
319
324
289
266
289
294
354
353
306
288
326
332
274
346
320
316
352
306
255
350
314
329
231
374
341
265
315
284
301
359
285
368
357
274
284
236
270
358
374
335
367
348
338
344
370
229
295
274
339
282
340
339
299
312
296
265
281
328
331
392
296
339
281
286
356
334
353
329
299
331
282
417
376
256
372
310
285
261
339
375
298
304
310
265
317
344
386
314
230
298
332
349
300
303
257
339
367
374
271
308
331
316
339
353
312
378
307
306
269
268
363
304
275
292
357
347
327
314
300
263
328
269
299
347
332
378
269
250
340
381
192
302
277
364
325
266
323
322
305
322
340
243
285
373
296
292
403
300
350
347
319
336
280
381
315
330
329
343
359
321
367
323
331
267
381
238
342
259
311
363
251
293
275
330
306
243
316
349
352
268
387
284
341
373
307
251
297
261
382
285
206
287
289
238
341
228
232
304
386
338
245
277
294
334
313
341
337
331
348
260
310
376
283
324
317
318
327
361
274
330
280
388
337
283
330
394
266
358
355
231
329
329
331
361
343
210
335
299
333
291
327
272
294
321
308
350
345
270
338
290
355
301
279
324
230
379
303
385
354
293
294
325
334
248
374
278
303
301
417
286
341
258
300
346
350
390
347
342
294
367
387
318
326
279
351
371
341
377
339
241
307
335
321
370
402
281
305
305
283
439
257
299
387
326
289
328
338
194
278
331
336
314
321
337
263
310
413
233
373
314
298
249
251
361
282
329
335
343
295
325
324
386
249
374
376
390
318
218
296
348
282
295
333
293
312
315
245
302
323
346
290
429
325
380
362
302
383
254
299
333
382
329
308
343
344
378
386
297
282
265
321
338
300
355
262
275
340
266
310
382
350
282
297
269
313
282
416
235
316
343
276
316
347
327
382
225
331
327
284
360
375
351
263
359
330
319
357
345
288
237
302
247
287
307
302
403
292
301
302
278
395
313
361
378
328
284
301
242
348
340
280
342
321
375
310
294
304
277
337
264
350
291
339
316
366
301
279
292
300
252
378
382
325
305
329
350
391
393
263
313
200
336
343
299
319
335
251
361
329
321
249
369
367
266
335
378
326
233
277
362
333
253
311
322
309
253
351
356
331
267
336
310
305
368
299
341
324
302
292
293
367
431
304
357
368
325
298
323
339
366
342
315
304
314
315
383
241
306
294
301
263
378
283
276
356
337
292
239
281
378
299
385
345
265
345
339
311
328
299
330
348
296
283
341
295
208
354
367
316
289
336
338
305
385
296
267
348
310
288
274
292
337
269
374
335
343
258
219
257
287
344
373
372
295
228
309
361
369
340
301
340
344
335
364
299
395
351
250
260
304
345
276
313
247
276
307
281
322
278
350
298
389
232
182
306
348
203
237
321
194
248
282
315
266
301
315
324
384
264
378
317
291
301
277
339
350
371
370
301
259
285
215
283
322
315
234
288
330
327
357
395
330
337
307
297
306
349
355
293
336
356
344
292
341
279
299
280
318
238
304
396
276
337
321
361
271
324
295
305
298
335
334
374
382
314
310
309
309
322
290
366
255
286
372
365
323
394
347
261
298
276
361
298
341
293
395
338
284
348
331
310
348
350
299
393
386
275
274
325
269
309
288
229
273
414
220
298
320
316
277
318
252
307
345
350
335
396
224
300
359
288
388
285
330
337
311
326
292
247
267
327
298
320
360
303
359
332
259
203
330
355
313
234
264
281
326
340
300
335
328
302
329
347
306
282
375
264
365
312
300
324
305
328
245
263
322
290
336
297
228
302
387
346
279
269
283
296
303
336
290
282
315
205
324
239
319
371
346
280
269
320
317
335
279
335
324
328
360
227
301
271
350
333
333
314
265
327
409
321
255
256
277
377
345
291
292
331
348
312
352
327
299
278
284
297
313
293
262
365
363
307
346
268
246
328
175
327
301
320
304
364
316
294
328
256
179
294
357
313
368
330
386
286
369
274
267
273
365
365
295
342
313
279
221
315
256
286
284
370
280
280
322
256
300
349
369
314
348
221
303
301
349
339
313
352
286
231
346
370
349
286
331
355
388
249
330
362
199
264
299
233
231
395
354
293
267
321
264
301
238
335
351
380
353
325
339
356
294
300
331
288
272
220
326
256
272
347
324
328
293
225
314
360
357
321
376
252
304
388
367
245
333
329
280
293
296
248
314
324
345
318
317
299
329
427
319
228
266
277
331
294
245
384
287
433
296
308
236
341
346
281
345
359
281
349
277
305
356
375
308
346
309
313
373
336
382
286
343
262
248
361
323
353
366
256
327
338
341
271
281
263
245
306
291
279
324
320
298
312
373
368
257
349
370
285
305
349
248
326
410
324
326
304
298
405
323
316
319
357
309
264
351
310
331
286
360
356
242
341
380
277
274
305
258
300
312
352
327
353
329
352
352
281
303
301
276
321
284
333
333
310
308
361
396
319
305
343
295
287
305
286
360
340
321
342
320
343
333
217
318
279
324
317
309
283
339
287
369
287
328
377
296
303
325
346
365
357
291
341
304
403
384
266
358
273
260
293
360
259
415
326
351
356
316
290
222
293
356
276
320
319
329
255
322
347
345
358
351
289
345
349
274
329
308
291
341
371
331
346
323
365
288
324
280
365
245
321
311
300
300
302
290
306
231
309
304
304
313
275
345
350
318
374
313
287
274
291
339
303
286
293
374
318
237
326
234
321
320
265
349
378
352
343
339
357
257
305
317
364
343
336
293
292
346
382
288
244
241
260
346
305
236
346
320
319
335
294
323
343
283
342
311
222
286
333
255
296
288
334
365
342
257
396
400
258
307
293
316
317
357
349
305
335
350
274
350
318
193
289
311
279
359
327
282
339
333
366
325
341
323
360
265
275
350
274
274
361
283
317
365
257
335
299
265
285
307
338
243
292
249
288
365
324
255
436
316
333
246
306
275
323
302
364
342
297
316
371
332
303
215
365
293
361
241
240
254
349
383
275
289
358
344
275
278
358
328
270
276
288
297
221
268
360
250
252
354
408
283
343
414
335
293
297
337
380
299
280
307
304
305
417
325
286
190
318
361
345
342
300
229
359
240
297
336
437
307
373
354
249
265
405
305
267
264
376
380
319
260
286
376
290
391
276
312
272
255
345
344
283
268
403
331
351
219
324
407
365
312
298
286
278
269
367
329
306
287
351
302
274
274
284
222
348
323
255
402
347
272
245
336
285
307
286
365
360
268
332
362
287
207
316
311
341
355
295
368
332
206
357
368
371
295
334
361
267
341
323
345
245
304
361
352
294
340
369
341
349
340
209
259
277
200
344
315
309
261
311
318
313
352
320
335
300
309
338
311
305
412
347
271
285
365
315
303
278
360
389
222
351
258
325
297
282
407
308
303
317
348
311
320
282
290
289
384
373
356
340
338
281
340
314
384
350
212
239
331
391
337
329
297
331
402
310
248
238
320
305
355
309
322
313
314
357
245
279
278
303
334
370
383
349
273
361
313
274
319
320
353
322
304
322
343
271
396
328
310
339
338
256
339
372
269
402
398
391
374
247
313
285
321
334
211
344
287
359
305
309
317
248
344
267
336
255
327
254
285
237
367
328
309
282
373
290
350
326
363
311
364
271
347
340
300
330
275
372
308
318
391
364
332
258
238
291
392
319
276
310
320
283
362
298
287
349
302
328
377
245
301
341
255
376
247
397
321
382
284
360
309
292
358
293
270
269
316
322
308
278
358
347
293
334
292
315
328
315
291
312
294
375
375
375
206
316
311
332
308
356
290
359
281
267
267
336
313
212
262
214
321
259
235
339
363
351
370
320
265
350
291
303
328
313
258
326
407
275
323
360
327
350
328
309
321
325
348
386
302
307
331
338
411
276
312
182
243
299
313
309
301
258
333
311
346
428
342
368
254
221
311
337
415
335
295
281
244
289
346
354
365
423
327
399
302
260
270
452
349
360
376
370
360
338
349
280
385
323
304
312
220
363
258
340
299
374
364
366
195
346
302
402
218
352
338
345
356
291
387
299
347
292
340
374
316
341
362
405
265
345
284
377
345
372
319
338
383
321
329
333
325
252
323
297
369
367
243
396
262
375
256
366
328
343
335
363
304
369
312
274
261
304
360
312
282
284
317
301
330
307
260
275
345
292
330
397
316
332
354
377
353
283
383
306
338
301
280
291
320
348
276
343
373
318
273
301
347
321
368
330
317
271
330
347
295
337
354
289
369
296
310
329
336
323
426
319
359
328
319
348
308
292
335
337
368
380
334
320
243
347
310
311
272
323
319
271
259
297
283
348
289
372
339
232
241
257
326
271
321
324
345
329
192
234
333
293
240
255
303
310
327
284
313
345
323
314
314
343
315
385
335
313
260
332
312
251
356
346
323
284
332
372
268
259
356
257
349
382
334
234
325
332
290
306
246
365
265
336
300
272
386
354
253
299
318
240
232
287
320
273
345
366
267
300
363
320
309
310
369
296
395
300
285
315
360
343
286
353
345
394
260
366
345
334
314
294
286
326
319
395
256
294
285
362
281
322
313
317
325
235
336
211
355
235
371
327
265
234
253
271
321
335
353
299
364
355
282
309
297
335
319
305
315
257
314
340
335
310
291
330
340
351
304
280
379
341
326
299
321
308
260
261
295
304
336
267
365
297
354
333
335
290
356
333
342
286
297
291
300
295
289
289
264
341
300
301
301
316
369
379
333
397
316
320
351
261
319
309
379
242
357
370
325
387
308
304
317
382
355
342
340
276
280
321
288
401
360
362
308
286
401
271
382
370
301
333
275
320
330
364
362
391
333
352
339
344
322
224
317
330
289
244
354
262
411
258
227
298
375
297
268
344
333
324
296
322
241
297
357
302
287
300
324
310
357
283
265
273
345
377
284
372
305
309
293
297
360
293
219
312
332
298
306
334
401
284
254
376
311
293
270
335
369
366
331
269
322
321
254
299
363
273
392
306
211
262
345
360
329
347
293
297
347
325
325
429
299
276
277
389
278
333
322
318
300
335
343
392
323
352
277
317
316
259
287
318
309
328
316
234
336
351
296
277
388
386
226
219
359
357
328
320
287
380
306
351
302
274
381
320
375
297
370
301
255
337
291
289
324
356
248
290
352
292
319
266
310
290
235
344
211
314
330
360
290
223
412
338
344
300
281
226
295
314
391
329
287
286
277
315
296
262
277
334
312
287
368
219
287
274
302
285
308
332
265
275
355
393
333
287
432
285
239
369
354
330
319
329
361
309
278
326
348
342
358
342
369
422
324
329
418
270
308
335
256
292
330
281
337
273
254
385
195
335
360
300
388
321
227
393
234
347
286
288
348
343
346
320
320
307
261
326
354
339
331
344
285
317
320
263
278
292
241
320
284
258
326
316
278
261
184
302
423
264
302
264
249
389
304
335
322
299
229
311
412
269
310
293
347
264
331
305
322
343
338
242
319
359
319
290
308
263
240
352
305
383
416
450
351
377
274
288
249
353
327
349
295
287
351
348
293
283
280
320
288
268
265
293
370
364
371
262
306
374
290
337
302
433
350
355
364
343
330
354
251
410
310
284
252
379
325
393
296
391
319
366
337
261
239
360
382
357
332
290
273
261
290
378
247
359
353
321
277
399
375
372
240
347
297
333
303
322
311
395
290
275
360
283
356
259
325
394
288
262
344
414
329
224
317
325
310
319
345
293
252
296
259
374
323
293
374
314
313
376
289
314
290
276
343
327
327
269
305
296
343
307
333
315
283
350
336
270
348
355
289
345
358
268
381
343
366
322
330
283
281
280
286
357
355
331
279
264
353
293
324
314
281
359
258
251
382
271
325
415
338
275
293
307
303
362
363
244
327
201
312
349
346
368
280
328
385
349
316
380
341
326
321
353
307
273
357
308
389
334
323
332
273
284
326
264
314
283
260
338
325
336
353
388
291
358
239
195
254
357
332
322
234
396
350
286
412
291
298
371
358
347
340
328
389
313
322
252
353
350
361
299
236
350
300
270
284
297
278
249
370
338
358
363
245
327
378
401
278
346
314
254
351
361
254
335
314
290
335
329
297
322
260
295
319
408
327
337
345
336
303
284
261
220
308
328
363
203
344
347
335
348
286
281
307
273
355
340
284
388
326
282
366
269
368
352
311
279
298
236
357
236
366
327
282
376
290
323
365
269
241
318
264
332
384
286
251
315
369
348
203
322
367
266
308
308
289
384
336
268
297
262
399
353
289
327
267
298
272
351
256
334
321
258
356
359
321
349
325
327
395
332
206
266
290
347
296
319
288
230
306
321
218
303
315
293
350
326
378
275
252
368
333
337
386
346
349
275
286
255
359
287
343
268
326
303
279
374
252
238
297
260
304
310
322
393
337
366
323
289
350
301
416
322
360
313
301
347
387
378
215
331
257
336
350
360
287
396
270
304
319
373
350
351
301
292
300
284
277
330
285
353
327
306
276
307
325
372
219
274
262
289
251
343
278
397
273
361
248
340
206
185
295
369
331
319
413
310
355
365
349
303
246
295
381
288
328
301
288
315
354
352
331
281
318
284
323
299
351
314
336
372
199
310
380
363
236
260
290
409
368
309
296
271
314
357
272
288
310
353
367
253
267
299
279
410
256
304
338
306
349
316
227
168
283
342
210
399
331
305
331
372
269
275
326
274
309
230
290
359
366
369
295
275
295
314
320
352
307
331
283
305
358
378
310
310
282
216
262
350
364
263
223
292
276
276
352
289
324
372
368
328
359
304
222
334
260
353
353
282
364
261
279
363
283
305
283
309
275
295
270
236
388
257
228
322
359
291
320
386
241
256
237
272
337
309
263
279
254
352
287
276
342
348
303
320
264
300
260
282
326
362
369
397
308
288
292
391
307
284
302
404
307
331
296
323
357
250
269
320
329
299
284
307
294
296
365
299
271
283
330
365
240
269
419
371
350
337
301
293
299
288
362
302
313
246
375
241
316
265
312
331
340
328
278
313
342
377
384
326
368
362
425
295
355
346
325
218
269
356
274
308
287
258
362
349
333
344
329
304
310
396
386
297
411
353
331
389
317
335
385
310
330
323
275
247
260
309
329
273
317
339
315
406
316
262
364
390
338
362
243
297
374
304
361
328
300
306
295
293
333
282
234
348
316
282
349
331
344
357
288
339
411
369
326
265
286
312
311
372
200
264
353
297
354
415
290
231
360
258
305
326
343
360
350
399
358
284
352
265
352
359
321
268
268
348
317
318
301
319
266
349
312
226
203
334
366
316
250
241
278
295
276
245
357
294
292
340
280
279
319
327
305
344
237
231
382
249
338
253
286
352
282
350
279
300
309
255
331
382
336
328
365
294
342
276
274
329
266
330
366
355
307
288
309
390
316
333
361
263
326
360
356
276
352
303
186
312
366
287
277
253
326
342
273
248
348
287
388
317
321
381
302
246
296
351
322
335
307
295
315
275
333
306
330
325
260
338
308
302
304
270
266
310
319
275
338
364
349
322
208
353
409
284
345
262
316
232
303
312
359
336
270
264
357
296
344
310
404
232
253
335
332
334
384
298
294
316
432
305
289
314
315
370
306
291
335
310
340
291
300
319
293
298
339
279
312
384
284
290
339
335
303
330
299
253
296
440
339
324
356
382
203
280
318
299
322
332
292
298
237
320
312
329
293
293
290
352
372
366
347
338
341
451
340
247
325
387
340
361
319
316
303
372
281
311
330
330
358
365
338
198
381
328
284
364
346
351
261
263
355
421
392
337
336
291
300
339
276
309
333
323
232
371
374
367
255
344
291
382
448
276
311
256
331
346
281
360
315
284
364
309
313
330
335
203
320
395
370
274
333
332
323
256
289
311
287
366
291
293
369
302
337
287
330
290
275
261
239
383
361
340
279
223
325
318
275
300
289
286
218
244
340
296
235
257
386
351
300
287
267
291
273
310
286
246
265
341
308
328
326
358
305
321
250
284
388
312
309
296
302
297
287
376
281
340
312
359
327
384
324
276
332
293
391
298
365
276
314
218
347
375
414
304
273
393
379
317
311
379
279
440
306
232
260
259
359
331
301
325
345
311
350
290
342
390
402
369
316
294
345
307
323
304
314
283
306
332
261
296
319
294
300
357
199
255
252
317
350
342
193
376
306
318
309
321
330
317
336
294
358
367
345
329
279
306
328
307
302
366
338
355
320
352
185
310
332
363
248
282
253
310
346
383
289
386
423
288
240
271
292
295
267
355
234
334
241
365
276
306
352
321
323
314
345
308
322
298
242
339
280
267
344
257
282
350
296
295
298
343
395
355
371
340
405
347
312
326
308
292
307
352
321
359
311
254
413
286
261
274
345
291
347
356
343
361
367
234
369
285
346
319
391
230
354
335
319
332
352
378
363
259
390
262
308
302
337
313
210
310
364
322
334
294
349
358
410
251
364
291
357
272
305
267
351
342
301
308
328
270
358
351
285
358
275
250
327
383
364
320
368
306
403
345
331
355
386
281
250
267
321
256
258
301
397
296
328
345
379
268
253
302
290
245
278
362
337
322
326
301
305
318
257
330
375
285
304
329
350
300
243
365
349
328
344
329
373
308
281
295
322
299
328
296
267
301
310
291
282
367
347
389
333
305
333
320
293
278
390
320
250
267
321
299
378
302
303
266
280
346
266
267
438
339
348
253
320
305
331
291
286
292
249
236
236
368
363
248
309
304
333
300
286
341
268
329
404
346
282
322
322
283
314
339
346
348
252
297
331
324
393
430
334
335
326
350
320
293
299
376
301
328
276
286
267
233
322
351
240
357
331
285
329
295
284
321
277
312
358
299
410
288
279
285
301
320
332
329
314
386
275
359
217
299
334
362
279
351
218
294
303
356
369
295
290
290
347
264
348
226
253
345
327
213
411
352
321
338
265
384
366
337
253
348
311
276
247
277
262
356
303
275
340
349
270
309
344
377
258
317
278
322
316
313
336
317
312
358
275
321
290
366
301
270
252
347
378
306
315
344
304
259
305
318
315
303
346
353
346
264
424
335
366
282
245
292
314
312
275
265
356
297
399
375
283
308
309
308
315
367
339
332
272
334
287
327
382
389
302
300
352
361
263
359
345
354
210
296
345
241
329
328
312
405
271
362
314
269
291
326
370
310
349
389
285
278
309
379
249
288
386
309
330
295
310
273
312
254
374
307
277
317
255
348
277
327
324
279
389
274
268
424
344
345
308
322
336
403
370
314
361
367
260
292
353
279
279
276
335
341
339
316
329
323
288
309
274
336
220
397
269
367
341
318
367
337
313
326
262
415
313
276
303
228
335
310
274
310
330
198
333
353
250
316
324
333
310
304
325
305
349
246
264
316
392
307
243
250
361
243
380
360
357
325
250
307
277
287
361
349
276
331
371
305
297
267
233
363
356
342
286
329
327
298
257
310
361
390
337
265
225
327
367
355
309
294
316
310
359
393
285
292
351
374
370
374
325
279
264
339
265
340
336
232
262
307
317
329
300
280
377
360
328
339
279
262
383
324
278
320
429
186
378
320
182
292
419
349
267
386
353
378
345
264
368
332
370
253
326
338
377
332
273
280
261
332
277
322
340
281
331
351
341
369
347
304
307
341
359
286
300
324
316
315
249
248
326
321
275
324
298
272
213
278
359
310
355
280
325
280
303
319
270
337
300
362
359
332
285
313
294
214
230
240
266
326
379
360
352
225
327
210
352
256
323
361
321
344
302
277
360
290
302
338
279
338
317
367
364
353
250
350
386
264
305
328
353
209
281
350
320
436
295
388
317
354
308
205
360
272
289
410
413
337
259
353
418
218
380
343
444
226
309
391
281
325
272
291
296
278
345
306
325
392
371
342
403
273
279
246
331
382
349
357
317
327
321
291
331
358
277
369
293
375
341
350
321
313
338
411
262
428
387
298
299
306
382
392
318
355
303
339
245
320
277
382
251
312
326
289
360
351
325
279
249
289
361
308
297
361
317
311
368
313
288
176
333
379
325
270
344
283
345
263
365
316
211
264
303
347
275
288
456
346
366
318
374
304
354
338
343
268
381
375
314
303
291
307
367
313
239
325
221
334
306
272
275
314
291
347
331
245
273
375
328
265
283
269
310
302
318
317
332
301
336
284
328
333
304
288
372
315
305
309
231
346
249
402
348
359
335
337
282
307
254
309
242
364
310
246
314
324
219
298
354
404
314
325
323
347
281
307
388
343
278
319
276
433
332
269
335
261
355
280
257
333
361
314
326
318
390
318
262
351
285
336
400
380
324
281
312
297
379
345
332
260
305
340
223
323
314
277
334
305
355
347
337
278
274
275
365
216
350
332
343
295
205
269
310
305
338
341
330
296
231
257
329
342
372
211
324
307
363
343
325
316
341
290
319
198
255
280
305
336
307
338
318
328
320
345
294
323
447
364
318
308
231
305
298
355
281
341
267
313
291
233
243
326
391
243
381
290
271
323
397
256
306
267
270
296
373
304
254
271
424
325
305
267
296
337
352
316
330
275
348
339
291
311
287
261
369
239
329
350
357
341
386
364
407
333
266
314
359
339
294
307
308
280
330
316
304
328
342
340
288
343
251
321
340
268
382
428
403
298
324
305
290
286
316
261
354
309
308
245
368
294
341
288
332
236
294
273
352
327
397
333
354
317
351
325
270
318
318
324
416
336
301
309
260
315
361
311
285
250
345
422
274
351
281
305
284
323
393
330
248
267
386
309
358
350
339
302
344
337
266
291
238
292
390
285
408
373
303
261
339
281
332
301
354
370
261
337
425
314
310
310
262
378
298
272
249
377
293
314
363
320
355
322
244
318
313
270
311
238
341
382
301
228
398
280
317
386
270
284
429
284
283
330
271
384
276
284
290
318
208
298
265
318
296
273
254
255
340
318
355
259
326
353
390
343
313
308
311
333
310
307
339
273
381
307
287
199
290
311
314
308
376
323
333
321
358
325
344
304
305
299
387
326
343
306
251
289
339
266
273
404
289
330
312
390
387
369
304
302
352
294
266
353
334
364
295
395
337
336
239
360
246
388
246
340
294
280
263
359
333
320
263
263
296
329
298
281
314
367
341
310
403
345
279
268
342
355
247
348
327
331
320
340
267
267
359
311
267
247
347
318
323
350
341
255
362
355
290
282
350
343
387
328
255
301
367
339
349
233
294
279
392
378
375
333
347
282
322
308
322
290
352
298
390
336
376
407
277
271
252
332
394
306
312
324
381
325
322
274
259
331
357
314
401
306
333
333
340
254
305
448
295
324
324
403
327
276
364
280
286
318
261
274
271
413
364
235
308
303
292
264
250
319
325
292
286
262
328
260
264
391
332
324
304
336
220
371
276
328
244
356
358
244
400
283
324
258
329
335
291
362
364
400
355
314
307
297
280
306
331
234
271
320
349
327
405
286
234
344
339
262
296
299
227
294
268
311
361
251
283
252
288
375
349
344
300
272
282
231
327
302
305
318
273
403
388
368
272
357
337
325
369
396
333
267
293
183
359
317
178
221
314
280
250
337
251
276
345
233
348
371
298
315
318
378
282
270
309
308
338
290
294
277
254
374
305
304
338
339
388
327
316
294
314
201
242
321
316
354
360
308
292
290
278
318
364
343
337
308
259
241
367
269
303
314
328
320
336
271
269
334
251
246
385
277
259
284
261
293
261
330
327
364
346
301
275
271
384
218
265
326
373
242
378
330
336
262
350
296
330
318
339
351
296
376
329
330
331
271
242
259
283
363
270
379
305
327
298
319
339
400
344
315
329
256
296
377
287
313
295
333
352
324
359
268
413
303
290
400
359
292
263
276
294
347
297
305
327
355
287
299
302
222
362
351
356
404
312
263
313
347
313
350
319
309
290
266
280
316
328
374
272
386
326
347
250
190
262
231
362
359
262
361
363
263
379
336
310
242
335
394
336
417
270
240
365
345
299
260
372
248
355
371
320
357
340
246
333
280
318
342
322
239
301
310
311
343
296
327
333
294
398
297
270
359
262
291
312
245
302
378
273
343
187
238
327
356
285
275
308
388
282
303
323
377
361
299
280
372
317
354
335
320
347
283
326
219
351
277
429
387
326
301
244
337
314
305
360
330
299
319
249
388
288
354
275
318
379
375
299
354
347
308
355
333
345
337
245
309
263
283
271
276
365
268
284
303
365
326
261
320
336
386
340
285
301
250
384
294
317
310
368
351
322
315
240
359
354
321
288
323
250
367
273
302
319
370
340
419
377
216
325
358
265
296
278
355
387
247
253
311
300
304
335
297
346
328
300
345
252
310
273
290
351
326
298
329
383
404
355
373
244
331
362
364
248
344
372
255
261
289
300
371
217
314
320
377
275
357
381
282
307
326
311
276
367
342
341
373
284
296
368
341
357
393
368
334
344
215
277
325
218
267
352
238
310
317
301
328
336
346
360
247
345
355
380
318
298
319
353
274
322
341
285
346
306
338
366
328
314
354
287
319
253
260
326
301
431
370
303
273
379
278
334
288
395
304
303
270
303
256
239
360
336
255
361
363
297
301
224
357
275
339
224
342
351
321
191
299
308
341
422
351
378
335
330
350
338
341
275
335
387
332
363
307
377
272
297
322
382
360
339
290
245
269
296
368
282
319
257
254
259
349
303
395
274
299
304
220
364
352
310
252
315
321
319
304
288
311
278
257
297
258
401
321
347
223
345
342
331
362
224
378
287
316
305
320
316
353
350
347
356
258
299
304
296
325
316
332
311
275
298
298
314
334
269
348
340
376
356
307
309
342
297
355
318
335
273
310
280
364
342
388
360
344
317
306
244
227
312
314
285
296
329
374
366
396
337
289
328
358
297
378
355
330
241
307
324
321
279
305
326
267
350
198
361
316
358
337
247
280
290
285
387
319
392
342
258
264
343
321
304
353
385
335
300
261
308
414
269
230
326
247
322
322
276
354
320
415
417
313
299
353
287
356
279
315
346
264
355
270
355
360
277
280
365
292
366
264
252
343
349
348
340
303
311
243
386
292
346
348
285
307
327
347
315
326
264
404
318
379
326
353
270
334
361
284
269
359
309
270
326
328
261
234
320
279
320
274
294
333
314
407
369
363
325
223
325
289
280
404
363
291
373
372
252
333
344
296
353
323
324
309
266
255
350
341
383
310
313
387
299
369
270
312
284
339
253
375
351
268
326
326
278
324
287
172
299
309
279
259
362
283
277
268
378
390
328
305
332
412
255
278
384
291
434
327
371
403
351
328
295
258
375
361
325
269
372
345
305
266
267
416
319
276
213
321
202
235
384
349
256
291
296
313
315
418
359
326
324
313
344
396
268
318
356
349
321
322
280
282
334
311
287
327
316
378
379
362
235
333
324
284
365
340
280
265
331
326
326
321
337
317
249
352
350
410
346
401
291
349
318
308
366
399
353
378
256
309
288
321
327
213
395
414
307
374
307
404
277
317
336
349
317
285
297
324
246
267
323
355
299
325
308
304
418
236
289
337
217
351
329
331
374
388
329
317
278
270
305
232
353
287
318
359
357
279
310
248
252
369
256
190
301
369
324
317
192
326
187
279
309
293
352
247
329
305
342
332
337
349
254
311
348
298
298
335
348
290
263
347
359
323
218
331
319
315
304
338
326
360
276
318
273
303
268
361
389
281
263
256
379
390
308
356
322
233
328
279
377
365
361
169
259
369
256
280
300
262
305
283
304
282
356
321
340
350
332
303
382
322
393
361
422
366
319
328
294
266
381
326
283
280
385
306
279
273
274
304
266
320
268
314
193
316
207
351
340
271
234
253
415
350
334
322
303
316
362
377
253
282
297
295
367
305
318
335
335
270
334
339
285
352
409
255
212
290
350
219
337
302
314
262
279
315
301
298
256
339
314
320
320
391
275
334
372
290
362
351
248
260
338
388
384
299
255
296
334
271
377
241
426
328
206
242
345
273
342
289
323
334
242
290
308
292
308
364
301
277
309
259
289
350
303
354
235
318
366
332
340
233
312
265
349
232
289
265
313
280
296
332
350
274
394
357
333
372
253
297
283
264
379
344
282
332
284
280
271
262
246
319
323
280
313
301
365
370
363
354
309
358
283
300
345
255
338
239
340
314
328
250
255
270
286
359
352
294
343
369
319
294
335
246
237
284
310
299
238
329
265
353
293
377
350
246
347
313
337
373
239
305
277
260
321
308
373
272
340
287
376
377
292
241
320
348
284
291
296
371
290
255
353
267
245
269
372
354
323
351
343
297
355
338
351
319
298
322
308
334
331
303
341
403
251
278
288
347
327
340
341
246
292
350
331
356
314
357
372
366
217
358
401
293
342
308
323
371
301
373
273
344
325
284
233
286
331
265
284
342
303
202
233
317
332
360
299
275
362
310
254
304
333
320
227
381
260
299
218
261
334
285
262
290
343
189
304
350
330
320
275
325
350
315
308
247
363
356
331
309
302
358
337
397
266
305
250
280
405
292
254
339
341
264
240
306
362
300
326
374
240
340
292
325
268
314
342
378
309
365
353
316
298
351
366
344
331
395
342
321
369
326
281
389
389
344
284
286
287
445
243
272
347
252
294
311
302
216
321
302
266
322
291
312
394
305
348
311
425
269
403
369
307
354
257
342
267
279
322
324
314
339
333
312
311
268
206
208
394
278
315
307
289
292
330
333
305
303
322
336
327
310
358
348
246
376
330
292
330
356
290
324
368
213
262
235
290
357
317
336
343
351
335
349
249
334
227
283
289
347
281
361
355
354
367
299
288
262
294
246
321
329
401
267
360
350
319
350
324
333
394
374
348
338
354
363
274
340
260
264
294
408
373
336
332
376
421
303
331
239
339
347
352
274
325
324
268
316
301
330
344
299
315
286
324
354
306
264
288
293
339
360
314
253
332
272
251
399
310
338
283
313
256
261
345
329
232
267
252
266
325
344
318
326
282
351
367
356
398
351
373
315
363
352
278
310
380
305
309
274
260
359
344
288
333
376
237
293
310
264
289
365
393
282
398
358
386
356
225
247
396
282
314
292
324
257
334
325
349
285
330
332
348
307
360
308
348
277
369
298
334
277
272
313
338
304
277
300
293
339
337
329
383
291
288
363
307
331
312
317
351
255
287
340
360
404
270
355
293
359
315
339
317
336
375
395
368
363
259
378
280
354
368
310
367
272
319
318
251
336
313
281
280
355
264
338
342
368
225
370
304
323
319
310
353
297
320
196
290
421
305
292
275
368
265
317
289
251
278
222
368
348
291
309
270
290
263
357
342
319
334
305
320
324
328
329
398
302
409
293
304
249
320
375
328
266
352
223
353
292
298
376
365
315
317
205
332
288
262
351
313
334
380
313
367
389
274
397
384
182
335
393
275
361
285
285
368
263
329
279
259
294
359
344
342
278
290
282
328
301
360
426
261
318
293
330
360
267
370
196
284
347
350
343
230
356
375
223
354
394
376
352
340
312
392
329
402
302
307
396
408
277
346
299
349
370
253
331
281
331
355
301
306
280
409
283
281
391
305
336
324
348
325
314
324
329
292
280
332
300
310
324
388
292
286
363
341
333
400
342
250
371
287
404
324
346
327
253
258
320
317
321
331
301
324
339
363
272
334
334
345
291
277
326
302
261
223
254
283
324
312
335
263
321
344
333
244
265
361
300
306
336
363
362
305
257
232
387
355
200
230
318
337
337
338
317
307
352
356
324
347
302
368
366
303
299
334
328
332
348
336
356
280
321
306
343
340
306
325
237
278
312
383
356
290
266
380
283
333
278
369
311
334
359
416
294
320
286
320
289
329
341
309
402
386
328
218
303
284
289
282
344
300
364
246
211
295
218
266
228
339
319
250
337
247
223
349
325
303
263
254
339
282
391
341
370
334
304
237
326
316
331
312
265
252
260
303
413
320
249
317
319
348
393
238
311
380
289
312
289
341
359
329
385
275
301
353
371
306
278
453
271
316
333
257
312
229
275
309
312
284
256
358
277
368
381
356
298
327
312
235
330
311
366
271
295
320
287
303
386
279
355
212
288
367
382
209
392
276
356
304
344
346
297
317
263
360
241
228
367
339
237
251
329
345
287
267
300
327
354
308
348
221
301
318
307
319
392
331
275
227
387
334
296
336
416
294
329
286
250
198
184
335
326
190
285
232
327
340
360
328
259
265
257
338
341
348
326
310
359
322
278
296
313
301
213
335
251
341
345
307
354
333
317
223
232
332
345
302
240
349
315
263
257
314
376
299
310
299
246
318
369
284
243
380
372
312
243
325
262
281
370
273
255
320
346
334
253
269
277
254
352
271
272
206
249
382
406
280
266
283
305
218
313
289
304
207
321
313
335
257
314
333
372
327
279
300
298
335
362
351
289
268
308
251
340
329
402
326
360
308
250
353
353
186
418
344
275
279
363
280
236
271
306
302
352
358
362
337
442
280
343
324
321
324
325
379
248
308
338
358
328
402
350
263
354
359
275
373
241
263
358
334
281
381
249
337
300
256
351
351
396
299
376
305
301
322
321
326
314
407
361
372
267
374
363
286
289
369
287
282
273
301
240
356
272
269
311
354
250
361
338
369
283
303
350
377
321
276
314
306
346
203
272
306
268
325
242
249
291
260
358
284
349
350
237
288
369
316
326
272
298
303
331
221
325
310
315
331
336
372
277
319
265
341
238
307
328
284
355
305
420
401
326
274
291
328
316
337
272
300
325
258
246
279
260
271
340
298
315
286
224
264
237
296
326
257
241
220
356
331
271
241
324
324
401
361
277
313
310
340
338
377
354
358
388
248
373
314
322
403
317
332
339
341
298
345
380
290
353
333
230
303
300
300
338
270
299
298
253
306
407
395
272
149
349
298
357
349
329
310
308
304
248
262
309
354
191
310
223
291
264
330
349
272
226
284
307
299
279
342
320
322
323
346
362
414
308
306
364
301
359
282
373
307
335
288
350
248
419
341
317
280
308
376
282
314
325
290
277
247
277
282
391
319
336
416
325
331
273
293
370
288
352
320
390
293
223
338
294
304
274
420
394
308
241
281
239
305
282
240
295
289
245
345
229
294
259
354
332
247
293
356
361
347
273
326
318
302
314
246
278
288
331
337
319
257
306
402
290
356
262
329
360
323
307
342
321
313
299
238
266
322
287
244
272
211
400
285
374
316
330
436
280
338
295
329
277
326
297
373
226
268
354
374
328
296
243
276
317
326
279
288
331
291
415
301
306
405
335
354
264
294
322
342
373
313
379
329
350
328
365
333
332
386
273
298
369
304
265
288
238
374
334
308
286
302
308
279
328
288
379
337
323
356
357
397
344
349
330
246
323
305
319
355
276
385
362
187
299
404
356
382
345
273
392
305
329
219
386
296
291
328
366
281
335
268
258
356
413
271
287
351
222
316
274
343
270
335
350
251
297
360
328
335
371
376
366
296
337
402
359
372
373
334
264
369
321
266
352
333
371
320
320
266
221
250
329
347
383
290
278
339
282
298
270
270
331
354
273
320
276
308
339
263
302
285
313
324
242
257
314
379
268
322
285
350
261
322
342
278
301
302
337
275
265
337
357
297
365
316
267
374
327
327
327
248
241
291
357
276
235
238
232
313
326
308
236
297
303
234
275
359
321
349
325
245
318
331
289
243
323
269
284
300
371
319
343
297
210
227
219
305
382
364
342
361
236
299
325
300
328
375
327
336
320
318
349
312
230
327
274
366
289
335
367
307
394
337
358
305
259
305
225
293
356
304
349
212
300
352
305
359
294
284
275
249
253
394
278
326
277
188
353
313
298
357
332
348
356
267
341
283
288
331
301
344
299
260
299
279
302
312
312
298
359
425
279
269
302
344
279
301
281
342
337
400
338
318
321
294
293
346
316
282
393
323
270
311
350
221
371
331
327
322
234
372
317
336
308
287
260
297
373
359
332
312
273
365
289
300
280
362
244
183
324
350
310
276
342
318
295
325
281
294
412
265
360
308
309
236
354
310
304
366
446
268
349
357
222
322
287
284
287
429
332
218
330
290
323
322
414
336
256
327
310
228
348
313
268
269
261
317
296
392
241
297
381
313
302
312
325
311
323
262
384
287
353
318
268
344
340
253
268
283
283
313
336
300
362
289
290
307
387
318
329
265
340
316
286
324
319
380
288
310
345
265
339
239
371
336
372
295
260
293
305
271
351
317
228
314
379
284
376
291
322
375
319
271
290
215
285
307
329
299
227
288
215
311
328
339
355
383
292
215
246
292
346
282
342
300
302
281
279
420
315
437
210
204
269
301
327
289
271
281
230
321
349
319
314
366
267
240
265
291
293
351
275
301
281
326
346
324
381
259
259
371
303
318
287
335
290
299
335
237
371
322
325
313
264
316
374
352
317
303
343
347
279
276
367
332
278
270
312
320
254
305
290
299
288
311
275
276
340
451
287
338
282
268
324
397
288
318
359
279
340
399
382
312
422
311
295
305
260
263
306
291
369
253
307
307
354
236
270
281
302
357
335
350
345
356
338
288
385
303
337
289
275
319
280
355
332
326
335
331
326
291
269
287
329
324
301
241
299
272
202
344
289
441
285
342
327
276
340
312
396
261
263
380
376
343
251
289
210
249
310
345
286
375
365
248
277
236
267
323
278
325
305
322
302
313
355
409
277
254
366
162
358
293
324
339
373
327
315
307
405
288
361
340
260
335
314
284
313
343
236
240
291
355
320
272
297
268
297
283
334
365
264
296
274
354
386
307
320
356
330
331
317
333
341
285
358
392
264
261
328
362
267
348
283
271
324
339
302
283
335
298
352
306
325
294
307
264
323
285
305
392
382
323
235
308
348
286
281
350
359
345
314
369
365
377
295
331
316
333
356
400
327
361
293
326
333
326
304
392
290
357
265
298
260
297
338
283
329
245
276
345
339
239
315
251
210
340
278
270
289
365
276
307
323
360
376
259
266
309
320
312
398
297
328
328
307
390
281
247
368
224
266
400
284
399
275
261
362
349
198
325
247
303
353
232
321
304
350
324
325
265
303
219
300
347
302
256
321
363
258
251
343
320
312
354
272
329
351
217
323
345
327
274
385
248
320
245
381
261
247
305
347
331
301
223
380
237
300
331
323
350
295
286
315
311
326
367
286
346
297
403
379
319
274
250
237
370
360
322
337
277
317
271
356
336
257
295
439
273
298
344
366
283
249
274
285
329
317
215
344
269
372
310
386
285
329
379
348
330
298
249
329
383
308
361
354
308
293
267
270
301
358
321
366
247
200
315
237
323
308
279
368
307
333
320
252
297
347
321
334
354
315
278
266
285
357
370
368
389
317
310
344
326
312
335
303
299
274
315
303
286
227
327
338
279
308
248
242
441
443
355
354
296
335
331
287
372
308
307
393
319
289
207
354
311
288
306
352
299
315
331
325
272
389
318
317
327
348
304
311
269
318
271
277
392
358
278
353
415
311
330
328
345
323
291
381
309
371
299
323
383
300
290
277
328
338
396
260
226
302
290
365
340
296
304
295
390
339
243
222
402
292
264
273
307
275
346
368
385
266
270
326
262
250
375
222
307
348
310
312
279
264
409
320
373
306
327
351
300
321
337
315
343
252
329
406
341
345
266
314
229
359
330
300
354
327
307
250
317
319
317
322
292
334
319
355
312
274
375
343
389
235
249
342
307
338
253
311
275
316
329
309
318
395
336
321
289
318
294
283
305
367
248
350
284
282
254
366
283
366
272
334
406
374
316
305
309
273
313
294
321
202
238
377
223
333
235
334
352
222
325
299
311
307
320
339
315
427
286
359
307
349
297
273
289
239
341
309
383
320
272
275
316
331
299
362
352
311
329
356
365
283
290
363
247
334
287
330
224
284
312
310
273
320
324
304
308
270
316
258
277
385
317
306
318
345
341
371
421
388
303
378
357
327
360
301
287
322
314
284
259
358
358
325
290
380
319
275
365
301
285
352
322
242
275
300
288
282
290
326
328
416
254
333
369
273
363
320
282
240
262
363
302
327
348
249
326
313
308
286
272
298
309
310
347
314
312
275
316
222
329
374
339
329
339
208
407
288
309
297
297
322
259
316
224
369
300
295
356
320
305
345
304
238
337
340
340
236
311
388
276
296
366
355
327
309
344
367
291
206
375
268
334
436
364
298
239
355
254
314
361
311
229
388
343
392
222
400
342
303
409
264
323
279
335
251
306
365
199
312
288
294
295
261
318
420
281
379
276
331
324
354
337
334
323
281
305
358
306
275
323
313
284
259
386
345
254
257
306
247
408
316
291
366
302
272
354
331
303
365
347
375
300
251
359
358
257
357
332
348
312
283
353
395
301
407
283
403
287
328
242
318
328
301
331
333
347
350
346
329
264
377
336
344
389
333
330
342
256
350
330
278
335
377
297
304
333
266
346
326
276
335
349
296
362
336
289
307
299
346
332
298
276
249
299
350
384
298
406
271
347
283
327
266
376
301
305
144
404
382
362
267
299
249
300
218
316
298
345
269
367
360
339
327
321
302
368
306
197
273
208
288
317
255
318
301
333
305
348
277
287
358
354
247
312
277
322
342
288
358
299
363
305
354
268
413
403
305
291
218
295
358
239
375
337
331
396
258
315
326
274
294
284
249
272
319
285
281
299
410
388
300
358
314
292
200
340
350
387
360
291
314
388
299
324
294
364
311
265
291
290
377
309
311
409
282
280
292
322
332
308
316
289
334
307
382
312
264
377
313
333
421
352
237
309
338
232
289
305
280
210
352
268
327
316
314
296
385
379
332
332
377
339
294
302
376
348
327
347
339
344
265
299
303
257
346
290
306
231
291
305
330
298
346
398
242
298
276
253
165
208
386
284
296
356
266
363
379
367
257
215
249
272
271
150
363
274
305
274
369
299
355
322
397
270
361
308
359
382
361
273
336
274
312
390
351
294
235
261
399
333
279
335
312
305
267
342
428
288
362
282
325
336
263
305
316
380
367
378
295
284
332
342
315
353
252
257
248
272
391
387
354
310
322
323
287
356
318
281
284
288
315
345
366
375
355
327
346
332
346
230
272
277
382
373
327
307
303
199
347
331
372
342
313
286
361
331
320
335
334
354
275
360
274
306
382
280
352
318
286
324
421
398
276
353
322
294
277
308
288
334
322
317
301
306
384
279
363
360
256
310
352
342
314
346
283
227
299
343
401
227
293
333
251
319
308
341
262
338
318
295
410
213
274
331
285
274
383
295
393
291
363
305
346
342
367
349
316
306
316
333
279
373
353
231
324
291
289
217
285
303
345
392
320
285
319
310
350
364
355
314
382
337
357
290
277
282
304
285
353
325
239
362
362
247
408
294
348
279
283
281
313
341
313
306
407
270
248
353
303
344
302
288
252
340
287
360
373
346
353
298
356
328
306
273
340
418
325
288
298
353
344
230
321
341
302
312
375
304
306
342
343
258
297
259
255
226
336
282
279
302
248
309
328
299
273
327
381
360
288
231
248
422
298
262
260
312
318
288
290
370
317
339
349
361
332
267
331
351
314
373
351
304
300
337
356
257
264
292
240
312
257
308
321
379
322
322
254
318
383
392
371
349
255
303
323
287
302
321
326
389
288
196
403
310
365
322
351
320
339
311
308
363
335
354
311
398
287
337
332
262
372
339
376
290
258
343
317
216
308
302
236
348
260
280
378
385
258
258
293
243
368
334
440
295
366
306
326
336
268
367
339
318
359
339
364
338
228
367
342
376
259
435
364
314
343
257
264
363
372
400
324
304
260
291
277
333
395
313
332
295
319
345
315
388
286
407
380
231
350
235
374
356
376
352
344
243
320
302
319
328
309
352
361
417
389
361
323
320
345
336
291
293
338
283
332
355
351
199
358
347
262
332
374
306
305
324
340
305
327
183
369
371
278
286
294
305
348
297
342
291
372
329
285
361
293
308
323
316
328
296
308
265
289
361
331
329
296
269
285
371
338
280
317
361
405
293
272
289
342
267
287
308
367
326
339
252
337
278
333
327
407
312
293
320
384
213
344
286
247
343
281
314
348
254
299
265
345
308
302
329
347
306
359
335
239
396
318
303
353
354
386
315
310
334
383
352
332
309
362
286
267
284
343
244
370
255
193
322
233
322
372
316
340
318
224
333
275
323
341
272
302
318
375
348
276
285
336
288
306
314
331
337
267
273
346
323
257
287
324
281
354
261
299
357
358
339
322
365
269
336
289
225
306
323
292
391
319
292
344
338
330
280
355
297
266
333
361
374
339
370
305
298
374
291
265
334
347
331
224
282
270
351
270
308
337
259
375
339
350
301
342
300
311
304
241
311
301
277
309
326
318
309
259
355
212
212
252
307
280
290
292
341
340
353
327
397
302
233
311
325
263
353
311
353
338
367
327
321
358
236
314
236
296
321
386
330
269
369
223
337
334
369
275
325
306
351
352
270
342
239
204
309
295
391
266
271
384
317
319
366
272
317
297
306
311
341
371
345
275
358
250
258
360
313
259
310
356
271
246
306
355
300
236
264
242
323
229
361
314
339
283
327
377
294
315
306
331
357
279
383
261
316
287
296
368
329
291
356
305
284
373
287
317
330
314
342
289
282
255
323
339
301
359
260
290
255
348
227
290
311
362
358
330
240
256
301
306
391
331
363
271
341
287
323
321
290
366
210
307
327
248
354
366
254
382
354
321
383
231
257
289
286
336
359
293
300
298
285
275
390
321
246
294
270
327
233
223
309
326
326
372
368
398
240
308
331
318
311
306
305
409
404
390
361
444
292
270
301
294
350
345
371
287
259
304
342
345
274
287
343
355
334
241
320
297
316
349
340
336
326
390
300
266
273
294
299
255
290
343
319
339
309
306
349
259
222
329
308
377
316
369
289
334
309
324
308
221
392
260
292
283
272
424
245
319
385
293
317
294
286
290
289
307
366
326
254
223
370
261
317
303
248
311
290
274
326
345
345
207
341
339
273
360
374
320
233
326
299
239
341
308
355
375
247
291
353
325
331
219
338
249
217
200
231
337
271
269
272
288
315
306
345
245
234
229
303
250
327
291
277
295
302
318
393
308
294
331
250
321
289
261
291
384
348
311
302
362
282
425
307
310
370
351
321
379
273
344
267
348
389
276
300
261
305
288
357
233
299
328
371
288
327
266
278
326
289
333
297
399
263
388
283
302
233
323
323
342
216
349
349
348
306
300
234
320
277
315
366
296
292
369
331
354
330
394
336
297
310
396
262
267
340
329
264
314
342
348
335
242
381
374
377
318
328
321
327
267
332
359
349
342
280
236
385
326
245
308
290
375
284
365
354
319
294
325
221
296
315
341
271
364
336
303
344
383
348
311
319
386
315
265
321
384
324
249
281
293
309
342
287
294
291
346
303
330
288
330
224
307
336
320
302
372
325
299
291
328
351
324
293
244
306
284
305
288
343
313
371
342
328
363
346
327
255
382
371
340
281
296
366
371
292
303
322
382
319
377
298
276
311
393
261
311
279
242
341
368
367
339
294
204
302
372
352
272
304
349
334
297
371
339
275
381
323
326
221
343
366
326
248
317
303
261
252
378
352
335
326
343
308
373
321
317
275
307
251
352
302
319
253
296
336
305
325
319
335
379
361
365
290
365
346
270
320
285
271
368
327
347
371
310
464
280
355
342
289
296
338
347
370
357
358
400
293
294
243
322
268
299
253
321
394
324
246
340
306
332
302
369
330
319
368
353
354
325
333
271
378
334
319
371
299
272
339
321
369
337
295
374
293
324
342
354
328
410
245
314
359
365
256
356
294
256
319
304
339
350
301
328
233
370
273
287
303
288
358
275
246
268
361
319
300
340
309
367
319
299
349
287
255
318
274
326
363
332
348
311
356
328
310
349
386
327
307
338
256
306
309
368
266
389
364
209
313
332
344
307
345
316
207
279
303
281
338
294
291
259
319
310
242
371
294
321
300
349
377
323
319
318
244
300
287
336
336
340
356
374
288
306
312
328
361
345
337
272
405
258
341
401
319
328
338
383
404
325
234
292
379
338
345
274
314
210
348
332
248
266
350
282
304
359
285
319
265
407
330
365
303
316
330
367
331
343
249
332
399
296
330
360
353
360
309
283
369
371
298
346
359
367
344
332
279
247
274
215
257
351
299
304
275
291
365
359
335
343
273
309
286
254
281
338
335
324
376
348
282
263
408
323
371
349
361
285
324
313
347
323
342
296
352
231
351
337
257
339
335
306
362
370
288
326
330
304
332
331
380
306
349
332
313
271
296
342
322
270
336
405
322
349
374
339
428
268
243
318
301
372
180
319
420
290
315
206
313
274
258
278
253
315
366
322
245
301
444
260
348
248
370
242
300
343
318
352
326
335
315
310
352
329
360
322
346
369
287
283
437
322
326
241
381
328
320
343
350
274
279
286
289
323
372
351
355
329
300
299
316
269
243
261
234
308
344
323
273
254
346
359
273
322
305
305
350
341
200
328
430
344
275
324
329
238
279
351
281
289
366
332
255
335
268
361
360
323
309
386
400
335
292
326
276
329
319
350
356
345
343
375
312
286
189
190
362
306
291
345
325
239
302
297
257
343
273
293
324
284
365
267
352
335
244
303
318
258
246
265
309
347
343
373
322
323
353
182
342
294
254
303
354
277
316
297
303
357
245
271
305
312
245
281
212
236
237
318
303
262
238
301
365
297
306
307
269
300
296
353
250
277
284
375
281
218
380
352
334
303
270
230
344
315
327
288
300
293
311
310
341
393
220
288
321
280
346
364
309
275
402
341
402
341
337
293
358
356
312
363
309
242
275
307
296
337
220
292
337
303
340
381
406
399
327
295
345
312
233
253
375
336
262
269
305
310
293
367
356
265
282
316
289
344
285
258
326
341
231
327
399
265
170
281
320
321
290
315
244
209
307
374
355
312
393
365
392
371
360
364
338
367
308
268
352
331
382
295
299
300
235
280
299
290
317
344
253
297
322
325
243
273
359
244
271
338
212
316
345
283
265
292
274
265
265
408
361
335
346
373
275
341
308
278
320
336
231
306
303
339
358
351
294
363
329
302
260
281
267
274
311
304
334
266
280
316
228
412
222
320
344
275
310
247
272
391
306
363
386
281
276
278
274
383
260
332
309
288
351
286
374
407
314
332
399
318
287
312
318
249
293
338
325
253
318
333
338
300
319
304
231
278
269
340
341
339
309
363
315
276
324
345
255
236
277
190
281
305
341
221
295
345
402
291
361
302
337
332
403
257
300
329
353
384
229
345
319
321
309
273
296
323
301
357
330
282
316
239
309
343
337
317
375
299
301
358
326
324
357
307
317
273
271
310
347
347
327
385
282
315
294
423
421
302
289
332
272
333
352
279
381
321
365
234
301
245
266
322
279
353
273
311
298
246
219
331
286
329
416
285
395
325
348
276
324
333
318
344
296
276
328
206
355
293
358
351
346
291
340
304
285
251
298
292
297
346
326
324
294
299
250
304
315
334
311
210
254
367
319
296
303
248
303
369
293
241
313
286
309
351
274
327
281
380
369
288
367
292
320
428
296
369
244
316
318
271
415
286
343
324
335
383
332
319
361
369
339
390
366
329
324
290
283
318
374
343
289
298
275
419
315
356
324
371
384
320
329
296
243
336
343
285
369
250
311
335
345
304
339
362
279
370
348
324
256
340
348
363
188
352
282
250
379
278
315
360
288
310
329
309
346
339
418
410
286
301
338
371
300
243
275
335
351
370
234
312
388
260
336
299
341
363
388
301
396
331
303
318
238
383
384
274
309
358
280
409
387
366
331
299
293
373
339
274
322
258
332
333
322
332
212
243
328
310
341
378
328
358
226
296
350
368
407
304
362
268
299
322
248
279
323
388
347
342
326
361
270
354
282
320
369
308
391
351
323
343
219
288
228
274
265
316
281
338
283
246
228
275
277
338
317
313
335
374
197
346
348
362
289
161
350
278
309
330
342
449
309
254
390
207
291
312
304
336
353
350
272
377
233
308
331
355
220
345
412
336
329
335
340
307
258
290
305
320
364
318
348
308
305
332
384
328
351
299
273
364
332
234
301
269
277
398
256
382
307
359
333
318
353
274
328
267
358
355
312
365
392
263
329
330
361
328
358
286
274
285
380
327
295
354
325
388
312
359
329
231
309
305
294
326
358
297
299
279
349
354
349
342
311
340
340
274
304
309
253
266
379
366
283
415
298
214
243
280
297
233
273
360
320
306
328
406
328
320
340
305
408
254
252
335
194
318
317
279
350
247
321
298
376
235
312
346
314
247
298
294
319
242
343
306
309
356
214
294
346
333
282
334
286
307
432
279
252
255
294
317
268
289
286
356
243
314
486
283
313
288
228
304
287
352
343
349
383
278
279
298
306
308
314
327
344
330
305
357
368
356
282
308
301
294
389
297
271
288
295
230
316
342
393
334
395
378
332
374
285
353
268
370
288
308
340
336
277
390
288
358
275
294
343
299
340
349
390
334
333
266
369
322
330
334
345
236
319
275
268
268
310
261
340
393
313
349
357
330
430
325
342
301
307
262
338
376
332
335
296
273
305
234
361
363
363
333
383
337
313
265
247
370
315
279
288
295
351
305
308
321
344
320
260
329
415
266
332
356
272
272
318
276
243
338
312
233
311
384
318
247
441
295
296
305
329
322
305
299
322
347
333
264
327
274
295
295
393
372
397
368
305
382
294
394
270
312
304
279
309
281
254
340
306
214
301
363
242
324
232
336
302
321
290
286
335
331
351
230
356
291
331
297
276
300
283
325
316
293
306
356
346
313
358
342
341
301
378
293
356
394
321
289
298
370
365
273
241
278
312
300
275
292
361
352
278
348
387
251
373
285
362
359
271
338
278
304
315
280
246
270
306
416
295
298
342
328
331
310
236
318
331
299
276
393
383
269
360
337
363
260
262
316
304
417
282
364
339
414
304
330
346
270
300
281
312
289
329
402
359
330
356
356
310
251
323
338
280
245
384
323
338
370
373
354
344
297
310
279
286
307
351
353
309
376
261
321
309
385
371
353
317
399
297
246
284
368
381
272
280
342
416
369
254
306
389
283
229
318
263
292
370
323
305
281
303
370
259
351
341
337
373
330
305
307
230
337
301
315
290
324
316
308
298
320
287
255
324
293
277
361
304
354
306
268
362
346
329
333
348
264
400
334
268
355
238
341
331
384
271
333
277
283
370
324
403
358
313
329
320
242
259
325
337
330
294
360
306
265
346
291
259
284
321
271
390
341
354
373
294
376
294
330
313
360
393
278
351
291
271
249
304
337
219
338
293
338
267
318
269
258
209
221
246
266
360
251
389
335
348
285
283
375
258
328
322
242
286
375
260
238
247
320
327
328
316
281
405
275
240
276
320
300
304
321
293
302
284
345
359
384
329
268
298
231
362
267
378
287
366
370
339
321
298
277
356
382
294
253
309
303
351
323
298
292
267
315
270
292
299
383
274
310
311
361
244
320
336
390
293
240
344
337
344
325
299
335
393
187
301
372
236
309
379
310
310
284
234
305
279
271
395
263
343
278
268
302
321
325
255
292
198
270
298
300
257
418
351
265
335
278
325
363
294
319
334
318
349
318
301
303
265
280
419
382
337
357
277
245
418
376
307
345
295
279
333
279
347
271
293
269
277
279
270
309
402
292
271
362
225
338
344
296
366
236
356
328
408
331
359
343
307
369
254
301
372
230
345
387
257
282
328
371
391
324
309
349
247
317
260
368
242
307
313
375
360
308
284
301
384
282
288
267
391
311
355
230
322
281
337
332
331
251
349
365
353
380
365
344
304
359
366
351
299
321
303
343
334
284
277
339
305
302
278
365
335
319
332
314
347
372
283
261
291
298
336
248
377
339
346
259
326
329
253
379
336
294
377
309
304
259
355
327
347
330
289
303
254
305
340
320
331
313
379
374
269
277
368
263
349
320
382
331
312
295
359
402
291
326
338
385
383
306
372
318
268
324
313
348
303
300
377
378
327
357
366
389
279
289
342
381
349
337
319
368
261
348
190
291
318
235
268
357
318
250
364
286
271
285
305
320
290
309
303
282
204
261
232
272
313
270
313
329
334
288
406
370
352
363
322
383
373
297
257
262
364
270
312
244
284
321
360
328
307
300
259
302
338
324
323
306
315
327
367
330
281
356
256
232
354
302
246
264
244
354
279
363
392
408
327
298
240
367
334
336
381
312
276
248
332
331
260
305
364
385
246
323
367
289
235
222
379
304
343
363
329
311
402
325
338
322
277
299
264
359
296
326
325
369
356
256
291
319
307
358
394
314
293
201
321
321
318
284
226
272
314
354
339
342
348
317
359
346
277
384
360
329
348
244
309
295
362
345
238
324
332
261
309
320
386
323
263
295
322
322
335
321
320
259
342
310
387
278
388
243
317
355
280
323
310
284
257
235
345
354
296
332
406
261
301
314
399
256
300
329
353
215
336
320
309
266
332
373
328
260
402
324
358
254
388
328
324
378
347
367
249
289
338
286
416
310
343
323
248
289
299
328
235
322
374
311
345
332
285
337
221
373
318
279
356
285
302
311
328
287
330
431
341
273
296
385
318
323
309
324
305
338
323
329
392
306
337
376
366
299
329
263
355
369
309
330
361
328
333
302
283
284
354
325
236
253
258
324
248
308
316
301
309
289
282
274
337
326
286
388
286
303
345
339
327
324
250
302
321
309
396
306
320
327
264
321
318
335
281
404
254
263
308
339
294
213
365
355
273
323
328
347
358
250
229
324
321
354
302
325
331
340
263
302
307
294
300
272
343
284
316
311
338
290
326
258
393
311
219
294
301
279
359
291
375
306
316
300
376
402
305
324
308
278
318
255
283
335
318
302
414
329
344
343
276
347
256
343
375
313
221
303
347
289
316
286
321
285
334
347
289
303
397
354
343
317
354
334
339
318
304
220
245
355
354
311
271
331
247
276
351
263
270
273
331
365
309
352
299
288
291
370
257
414
341
304
273
355
329
225
274
273
311
305
241
286
291
340
375
314
321
299
269
298
325
293
347
361
272
397
285
282
293
356
227
337
380
325
339
352
324
293
340
303
349
307
339
319
267
409
298
323
233
385
317
305
266
303
294
220
387
241
298
255
298
349
253
290
275
326
335
239
324
264
351
278
378
339
358
278
297
261
354
240
269
265
236
315
328
324
310
359
355
395
402
267
273
216
360
375
352
299
298
310
287
306
349
351
351
249
320
305
255
247
316
336
373
390
316
306
296
274
281
291
364
264
246
328
307
282
237
320
271
308
333
330
280
317
314
214
324
325
314
273
368
314
301
384
289
379
291
256
272
343
307
303
228
369
263
344
297
316
347
259
291
303
406
320
304
388
252
410
290
341
353
308
274
336
217
346
282
297
313
315
328
344
300
323
386
377
294
261
294
327
308
362
374
238
324
389
370
331
268
245
298
277
389
301
269
307
256
374
391
269
252
302
307
399
247
308
303
309
314
297
405
304
363
277
369
307
355
325
331
373
357
359
350
340
261
269
305
348
330
299
246
308
310
243
290
261
320
310
295
317
294
313
286
365
286
356
285
416
295
323
328
376
256
356
389
329
299
251
383
287
225
339
295
387
342
303
249
336
358
366
310
228
316
357
346
292
301
349
322
307
336
268
333
304
270
226
277
373
231
277
246
311
267
367
319
267
354
311
270
245
283
323
240
342
292
283
224
278
322
246
237
378
319
319
367
282
353
336
318
311
243
333
233
293
385
287
300
358
349
301
236
340
304
361
318
193
348
407
420
281
382
272
374
242
314
310
274
279
396
317
228
303
308
345
293
274
309
301
333
342
267
201
284
346
331
279
293
372
337
364
288
352
425
311
283
326
406
290
331
302
371
406
318
366
326
397
316
365
325
227
298
358
378
311
202
355
462
378
384
287
268
385
300
309
361
287
294
314
314
302
454
307
371
302
292
308
378
372
376
327
360
335
453
307
299
264
335
384
270
213
300
295
371
310
389
356
291
231
314
207
357
310
263
260
397
379
252
299
350
291
300
233
282
346
359
296
309
324
252
321
332
380
261
311
344
303
397
262
307
340
327
374
284
382
320
273
349
347
251
340
349
297
256
301
346
276
343
343
334
311
380
339
258
291
376
364
356
269
357
313
267
315
314
352
286
409
346
284
309
286
283
315
292
330
332
266
177
325
247
300
296
258
308
345
289
293
353
307
346
295
331
355
324
297
286
332
344
328
367
284
333
320
227
352
356
388
302
411
284
387
271
348
318
305
323
303
399
329
403
206
310
307
287
239
294
311
335
261
301
373
278
464
341
353
254
346
341
336
263
347
326
332
261
325
312
249
282
236
289
310
346
347
309
348
334
309
343
398
337
356
372
245
340
342
397
428
312
358
286
276
313
368
247
303
319
378
361
312
257
284
296
339
230
266
325
294
289
291
347
232
319
250
385
391
366
284
422
230
358
371
271
320
275
325
354
339
325
303
392
276
305
320
323
383
380
295
252
363
305
307
334
385
366
291
331
408
324
333
345
316
271
265
315
300
326
307
305
220
358
327
364
284
394
328
308
338
281
329
278
348
346
344
367
301
431
370
428
285
292
420
296
238
355
342
329
358
242
276
264
351
363
263
253
336
291
310
311
349
384
260
383
312
302
368
424
347
218
216
321
229
366
390
359
254
387
317
233
256
350
310
216
357
329
364
302
273
276
295
274
278
308
362
304
261
304
358
341
354
276
317
288
355
239
371
383
274
284
348
260
359
331
296
354
278
310
297
336
340
304
303
294
389
271
261
199
350
263
325
415
263
390
326
289
286
217
368
348
363
317
312
398
353
296
301
333
345
338
289
281
282
380
304
346
301
230
327
281
221
350
210
376
277
247
240
289
316
252
294
323
325
346
302
262
228
346
304
342
327
279
391
288
351
260
348
275
266
353
303
301
371
335
308
358
328
253
349
322
385
303
298
323
244
328
221
320
255
348
342
203
325
412
329
321
374
375
254
335
349
306
401
334
272
354
334
301
341
327
399
324
342
299
301
369
223
318
220
312
337
335
391
294
298
334
330
302
222
326
314
244
333
250
336
450
287
250
300
301
281
351
339
295
377
281
281
215
281
278
279
301
311
229
235
327
370
353
313
235
346
357
322
286
295
292
340
290
319
280
271
285
303
199
320
300
243
311
309
388
301
312
274
296
283
358
306
279
265
295
314
319
260
306
383
406
264
275
294
353
290
332
301
360
338
255
374
269
247
376
272
404
319
276
311
313
409
373
301
252
235
390
341
272
316
336
384
310
275
243
312
304
285
274
292
341
356
293
328
262
358
333
339
351
322
374
324
266
333
349
272
316
394
325
281
338
308
339
284
263
274
298
327
327
284
262
334
263
276
330
335
260
411
306
328
326
364
256
295
293
373
387
274
351
306
299
400
283
338
331
357
388
283
345
317
313
329
239
286
236
277
319
372
276
272
353
306
367
270
262
267
305
319
295
342
302
304
300
278
226
350
275
316
291
277
273
346
372
353
337
291
329
198
255
366
296
288
339
308
347
373
301
310
262
304
281
346
382
393
338
312
351
270
297
302
331
379
243
297
249
336
314
332
270
324
320
301
280
326
344
269
264
358
292
248
320
291
231
340
374
307
334
327
337
351
353
257
350
406
329
364
369
296
269
365
336
340
404
334
335
352
446
358
209
338
331
343
314
367
382
298
327
317
317
329
243
321
285
306
288
288
325
385
339
342
271
290
396
311
389
307
288
337
217
295
245
416
302
323
235
292
272
351
315
338
348
297
268
315
347
386
285
309
315
268
279
364
327
221
264
346
371
288
356
341
298
412
295
296
317
323
352
359
293
294
298
319
258
419
263
351
354
354
361
435
270
337
291
319
311
275
274
237
311
326
316
345
259
320
342
364
291
310
285
284
322
342
337
323
249
350
347
340
267
268
350
345
291
346
332
290
241
318
362
378
391
348
311
344
277
403
309
304
314
324
324
327
302
321
280
391
375
312
295
353
354
341
375
282
279
332
244
231
314
189
296
349
277
280
296
295
255
282
337
345
359
266
292
312
369
306
261
290
328
330
312
292
301
362
332
386
386
351
322
352
398
331
304
409
308
294
324
333
284
308
336
362
288
368
269
229
280
266
274
253
335
378
357
305
353
353
286
369
355
302
347
261
334
260
359
377
364
328
345
323
260
328
327
287
232
293
299
327
234
285
341
357
290
308
344
263
339
330
294
272
392
264
366
317
329
372
352
257
294
243
319
306
336
359
276
179
408
283
387
328
238
330
335
401
386
311
316
365
263
331
296
348
357
290
253
251
354
272
280
320
359
333
239
327
365
266
264
326
379
297
347
329
305
236
297
267
337
293
319
302
240
353
305
300
324
304
359
304
322
195
321
246
273
350
389
302
361
319
279
305
281
358
324
248
342
342
271
337
291
337
351
296
304
395
312
297
326
318
219
256
341
313
354
299
317
266
327
320
328
254
353
320
341
319
283
283
421
373
338
259
240
318
306
267
247
323
288
343
217
317
328
293
320
379
314
326
289
339
259
293
419
283
349
310
358
330
275
317
286
344
219
383
316
374
322
320
377
389
233
296
300
332
365
320
397
274
221
303
370
326
245
295
231
315
287
317
368
337
275
350
261
253
310
290
351
284
268
324
374
363
353
251
277
274
398
305
396
205
356
328
363
299
304
364
341
301
308
234
257
383
337
351
262
254
359
204
355
312
307
436
266
311
365
356
347
229
283
322
387
316
249
289
328
334
293
245
329
255
348
298
201
246
333
302
300
397
273
338
286
317
363
324
319
310
320
393
325
366
282
231
253
300
219
358
358
319
382
358
341
317
260
261
409
307
318
343
312
343
282
282
278
311
281
326
275
304
376
292
363
300
371
289
265
342
324
313
299
314
332
294
376
230
238
282
284
269
416
366
358
245
326
326
317
284
302
353
254
322
369
333
270
343
404
320
238
360
358
317
294
337
250
377
249
288
319
294
317
300
275
304
303
303
311
286
337
331
381
304
346
272
305
335
339
367
316
254
336
323
367
359
289
381
365
292
358
314
262
382
254
250
283
246
244
371
328
318
336
317
308
262
304
373
430
306
350
287
220
261
348
267
357
371
272
356
347
272
336
232
319
333
258
296
305
197
326
299
327
391
326
317
357
364
340
307
385
290
252
379
302
364
312
314
374
255
321
261
346
348
298
288
323
338
232
369
352
361
367
315
358
262
285
285
325
361
236
333
337
359
352
294
333
305
271
412
309
333
319
333
304
291
337
338
281
407
347
244
351
289
282
321
340
311
370
333
337
272
370
315
253
347
439
319
325
316
239
345
285
275
298
347
388
320
339
265
247
320
260
311
233
273
375
407
327
359
374
425
313
395
334
329
314
336
323
365
325
304
377
321
341
362
302
338
341
322
380
302
337
372
320
285
403
310
276
354
417
311
323
288
285
301
396
361
285
231
260
434
395
221
282
250
299
261
332
409
333
346
312
291
339
291
336
355
300
282
313
293
338
330
306
393
367
355
264
295
257
285
290
304
312
313
365
235
337
330
358
331
219
282
333
226
218
312
428
270
283
314
311
406
224
292
429
287
309
343
289
348
389
346
279
389
308
304
377
328
325
266
384
231
362
382
274
304
269
332
219
257
279
315
341
254
349
366
350
384
233
387
271
261
286
252
229
365
383
371
376
389
247
311
248
324
248
310
213
294
260
330
390
361
305
264
240
358
355
364
360
354
364
316
403
289
321
312
313
366
300
292
260
390
320
273
342
278
293
337
324
350
319
219
358
248
320
287
291
308
364
353
294
305
269
314
232
295
316
284
257
355
279
294
334
315
248
371
308
270
210
368
289
354
281
356
297
338
364
323
383
295
317
374
268
356
310
363
311
355
337
284
291
355
318
278
367
263
349
276
311
295
341
250
337
330
342
299
238
294
316
278
312
428
272
386
325
339
330
293
303
253
310
372
385
294
373
330
225
330
352
358
328
370
364
372
355
288
257
268
343
278
380
397
293
286
321
356
301
343
325
275
290
216
375
278
354
374
291
258
381
317
298
330
297
346
330
229
353
252
330
364
248
274
339
321
265
231
357
281
352
263
312
248
272
334
284
346
359
375
345
310
280
348
377
242
334
299
337
309
332
270
330
239
370
288
364
311
330
341
245
292
397
309
376
343
395
340
338
318
394
364
241
275
282
290
277
270
319
350
277
284
334
291
367
383
242
316
305
256
230
254
340
311
281
244
346
282
269
340
321
312
274
334
238
324
327
314
248
292
332
284
247
360
362
353
322
313
345
293
414
307
263
282
286
286
334
404
335
382
280
347
261
401
268
337
287
390
325
361
345
260
217
365
309
310
342
288
497
312
286
387
366
384
286
370
372
371
321
346
273
368
286
349
281
327
300
364
387
412
196
351
268
365
295
270
286
309
246
285
212
374
277
316
274
337
347
391
354
301
325
282
354
315
354
347
310
285
360
336
396
363
297
290
369
333
286
295
308
316
316
364
347
271
362
394
357
331
315
320
235
297
268
350
252
270
307
211
270
281
362
298
349
361
339
312
332
303
312
382
270
290
287
389
298
283
425
368
268
255
244
320
406
384
317
253
390
391
335
342
358
330
342
346
264
289
316
340
310
297
350
217
305
270
318
336
285
314
297
203
260
291
316
291
247
352
266
360
331
339
335
313
264
308
295
364
201
326
371
401
359
306
250
350
301
293
260
301
239
318
278
294
244
403
254
357
355
302
219
301
270
336
269
344
296
316
313
354
340
272
316
304
349
331
260
306
373
303
273
271
402
324
338
290
359
290
266
353
260
324
359
271
395
391
365
298
254
313
230
325
333
236
255
295
344
374
285
370
290
323
326
294
186
284
344
322
284
273
273
346
293
332
269
413
326
315
344
340
294
334
359
396
294
278
316
341
359
266
348
327
265
358
326
290
305
201
276
340
371
279
436
394
349
372
282
375
318
336
344
280
310
346
286
371
258
293
392
356
275
241
335
350
274
227
350
331
313
296
272
368
342
246
332
380
187
310
308
295
325
354
256
414
294
285
305
301
335
319
337
367
267
287
357
289
337
292
423
370
273
274
321
345
381
279
327
333
138
312
318
276
305
291
304
285
303
398
319
237
329
302
291
324
362
334
344
310
403
274
292
414
344
317
327
303
338
353
292
228
300
356
313
348
314
323
341
319
280
351
279
376
349
295
299
302
316
286
234
345
309
291
279
315
255
394
323
342
303
228
284
265
286
174
274
259
267
329
364
352
300
255
330
360
318
298
311
374
310
365
311
260
366
287
313
297
353
327
288
370
340
296
264
286
379
291
373
275
325
270
249
365
303
226
264
390
364
315
302
263
352
313
324
284
368
331
364
376
422
166
288
340
390
391
269
334
321
338
254
290
362
279
389
373
346
314
303
362
317
341
357
339
268
328
314
271
313
286
262
304
259
385
295
342
405
317
286
336
296
298
311
324
380
355
290
261
310
288
296
332
265
329
313
362
319
318
282
360
354
234
307
295
285
260
371
318
280
291
405
368
320
330
303
307
346
255
423
280
248
282
331
379
314
345
337
376
264
235
304
281
333
275
343
396
258
318
297
244
315
299
301
255
271
247
290
326
273
240
399
335
273
244
407
388
311
325
286
293
433
335
312
265
286
309
342
332
351
317
361
360
344
350
329
333
335
352
367
334
294
268
235
353
378
206
297
244
239
328
304
304
277
310
259
383
291
347
329
266
309
348
382
298
387
358
363
329
351
262
356
375
331
341
325
292
322
370
319
390
413
366
333
357
377
357
324
300
309
312
333
269
303
270
342
313
324
378
334
288
334
317
426
309
376
350
333
296
289
303
287
334
271
299
280
278
326
369
295
235
320
385
325
275
395
304
310
352
381
357
263
313
346
330
337
355
304
290
311
371
396
385
342
311
358
374
308
378
242
255
315
264
389
222
282
358
246
379
375
338
332
365
335
326
313
238
268
209
315
304
350
375
333
272
334
312
281
284
383
324
297
319
296
325
317
243
359
316
307
299
383
331
331
392
314
365
348
415
310
336
301
276
326
302
290
382
252
364
206
303
291
287
378
282
290
330
296
381
289
214
360
200
347
361
285
262
294
253
352
276
297
314
223
244
248
410
319
245
318
332
247
393
318
380
271
395
346
219
256
367
330
295
236
360
286
257
276
288
281
376
364
321
288
343
352
315
313
251
326
360
328
315
199
333
346
351
289
346
308
289
255
333
343
297
365
326
329
359
372
365
277
358
320
386
313
323
282
367
380
260
345
339
213
330
350
345
412
378
276
313
384
212
336
312
349
264
284
352
220
305
272
335
313
297
370
351
351
347
293
322
282
312
219
238
384
267
372
289
289
311
269
346
308
260
352
313
296
248
371
297
373
404
268
356
339
312
306
381
322
297
253
250
382
325
232
303
242
328
294
371
226
339
337
271
321
247
377
192
357
260
297
256
393
357
269
345
260
393
336
293
265
249
281
414
283
279
363
313
342
291
234
389
381
287
327
370
262
264
215
343
349
354
276
305
379
328
300
285
318
387
297
251
372
270
198
354
331
306
365
319
368
196
334
395
407
260
332
233
339
302
335
281
342
312
354
360
281
275
318
321
385
336
348
352
220
229
380
310
261
366
396
251
316
318
244
327
309
300
415
319
284
324
326
284
359
293
273
201
264
280
277
410
324
291
359
277
339
247
282
316
392
331
312
342
322
316
318
319
265
246
329
303
269
314
290
356
350
251
348
335
351
340
355
318
290
325
307
313
344
348
285
336
336
288
254
298
348
275
225
346
340
290
264
327
281
276
257
402
288
421
274
419
192
360
281
285
278
370
266
272
292
273
340
289
341
243
293
334
279
309
389
276
298
277
299
251
369
353
269
321
265
265
331
351
381
330
360
374
324
333
424
370
370
256
321
353
315
303
257
299
311
320
291
256
331
353
323
338
307
380
194
337
382
266
271
302
276
286
390
311
254
235
318
311
286
292
285
300
322
317
350
251
279
252
325
371
375
338
293
241
327
187
334
350
293
272
323
381
265
307
296
353
306
260
325
320
326
312
263
399
334
398
353
304
348
330
368
328
255
322
289
276
333
320
307
331
327
350
339
290
312
291
340
277
365
226
263
381
302
384
273
330
202
333
337
353
276
265
307
366
311
361
274
225
326
346
365
350
305
325
399
292
363
231
315
301
308
331
312
314
265
252
311
329
331
321
284
327
331
270
269
307
360
239
376
312
304
235
288
277
276
272
351
429
271
324
327
335
366
257
247
327
389
435
254
323
349
265
327
321
353
376
188
274
280
370
340
246
312
268
209
438
272
310
326
337
308
289
334
283
289
342
387
338
347
325
349
283
318
338
318
282
318
246
362
321
320
315
294
302
280
354
322
284
304
316
300
345
324
373
333
395
326
262
347
364
320
343
284
298
346
396
272
311
323
235
337
282
301
241
329
325
199
349
311
337
319
240
356
311
382
332
290
337
268
310
344
307
291
381
300
316
349
322
338
352
322
305
281
267
278
362
307
315
327
345
386
292
353
252
340
282
284
299
298
331
328
329
365
340
215
300
318
348
370
276
288
360
220
286
286
362
370
292
333
279
369
375
303
342
378
309
278
280
311
381
377
263
306
296
348
340
407
321
344
415
320
256
342
303
390
278
344
284
319
335
325
309
370
319
360
307
331
316
329
282
290
255
231
277
365
327
344
333
317
322
338
301
318
310
296
270
362
378
226
274
368
324
259
330
352
336
339
303
367
326
222
304
353
304
318
295
260
215
330
331
354
423
242
352
308
334
432
336
314
315
296
319
315
294
347
336
272
379
358
349
367
217
346
290
350
354
316
308
276
275
291
309
266
246
316
235
394
379
289
221
366
279
325
275
332
338
274
256
230
343
323
364
326
230
302
343
280
310
246
271
229
342
354
296
308
294
334
253
394
252
232
293
277
398
299
248
382
296
333
295
306
366
325
297
304
353
262
298
321
314
292
250
338
295
330
222
280
367
388
383
229
381
321
241
340
346
400
266
291
320
287
355
373
283
352
314
252
441
343
276
355
342
311
213
382
261
311
359
234
321
322
333
253
324
308
383
343
331
322
381
335
337
314
263
246
318
288
328
262
257
324
353
319
260
376
288
250
312
348
361
316
368
341
357
322
299
289
283
301
225
353
277
287
353
281
337
370
311
295
346
279
323
248
325
375
247
324
288
295
255
347
259
339
291
322
291
334
332
324
320
327
275
360
297
281
299
322
387
299
322
389
313
330
355
326
363
306
342
325
361
295
313
312
322
392
348
365
305
335
308
270
420
312
272
340
293
323
397
297
411
308
347
302
345
345
321
334
311
280
327
385
291
366
273
271
296
347
333
379
416
232
283
280
379
231
391
266
363
272
301
328
368
309
320
363
299
310
275
334
383
344
349
355
315
403
391
354
267
365
294
292
398
318
298
288
291
263
266
312
409
343
348
323
373
260
347
314
225
342
311
310
365
336
314
297
328
299
331
298
362
273
306
402
393
312
294
328
278
362
346
344
295
257
245
392
240
356
296
357
299
250
302
362
301
302
268
302
304
286
290
289
277
409
315
261
346
333
278
366
305
289
360
351
268
319
293
328
357
254
363
398
332
378
347
321
305
273
328
308
405
323
204
283
336
329
300
367
317
271
317
296
367
264
353
314
366
320
260
327
345
278
274
240
275
248
327
285
344
323
334
365
311
376
312
255
281
247
254
296
348
283
266
312
292
358
269
345
349
280
337
344
288
296
321
339
284
265
387
322
264
361
351
307
381
265
265
307
308
317
332
316
279
335
296
370
339
352
323
338
290
367
305
295
306
320
353
323
330
415
316
285
259
286
328
347
314
351
338
304
354
350
329
269
372
383
308
353
326
354
325
248
308
234
312
265
252
367
323
264
325
331
289
376
222
345
324
348
246
274
279
321
287
286
284
285
336
334
309
299
312
295
403
327
306
320
353
311
254
356
326
385
351
331
331
313
320
359
327
298
361
331
317
250
324
333
363
291
362
282
299
354
303
384
344
377
274
326
267
335
303
305
276
302
364
314
316
383
378
402
389
326
255
472
395
258
328
282
335
255
338
290
294
324
271
302
338
269
394
362
350
329
380
264
304
335
340
287
380
335
313
321
338
320
340
287
269
353
260
303
295
291
314
375
376
363
308
294
341
281
341
286
322
273
325
382
305
360
260
263
310
283
334
286
264
270
346
301
295
285
339
300
326
246
361
326
323
250
298
299
245
266
311
315
348
342
293
345
356
307
335
346
305
313
244
319
345
342
299
349
297
238
281
251
286
372
400
258
286
270
368
285
381
348
294
274
333
340
388
305
360
400
301
226
334
254
368
197
383
362
380
352
243
314
259
268
262
342
245
411
305
400
323
271
282
290
323
362
243
336
395
349
179
351
332
258
260
304
293
323
396
334
321
381
318
255
267
307
244
311
274
293
382
277
212
344
381
314
272
246
280
347
344
313
318
360
292
302
403
301
277
287
271
359
249
309
376
283
240
307
264
353
294
284
289
341
243
298
385
255
313
271
361
381
325
279
293
337
308
265
433
230
342
337
343
375
341
308
344
353
382
361
361
369
338
307
312
289
320
310
311
256
323
339
331
217
321
284
233
385
422
306
277
297
254
299
291
291
201
363
310
367
358
342
347
349
321
307
362
233
332
327
269
385
347
352
304
276
373
300
345
297
345
315
256
272
344
352
329
284
368
305
344
281
329
275
271
364
293
263
267
368
332
325
274
321
340
446
275
272
356
321
337
256
315
333
293
334
337
367
342
420
301
348
343
323
224
351
272
360
286
296
334
372
319
376
387
325
260
215
342
281
317
290
283
305
308
343
355
322
323
388
230
338
275
347
360
295
351
277
242
266
323
294
314
319
275
283
399
282
269
338
287
267
339
314
348
343
267
369
410
239
348
277
281
300
295
299
365
354
290
294
313
307
320
290
286
354
245
330
261
416
317
242
307
358
295
377
312
321
414
264
232
240
310
328
278
360
338
375
270
234
334
243
264
349
284
295
342
395
326
318
368
301
341
315
253
290
262
315
438
332
311
228
328
391
271
380
328
336
377
367
333
250
354
276
344
288
346
259
293
314
327
291
360
289
321
307
338
253
371
317
294
340
340
338
325
272
300
298
310
339
341
293
338
356
375
280
329
319
287
347
286
360
299
320
309
290
280
322
365
352
289
269
293
375
333
386
365
373
282
283
339
315
371
249
338
297
282
320
296
274
250
282
252
282
305
254
325
345
271
316
280
283
319
326
304
369
315
320
271
286
324
328
327
305
371
303
373
297
279
203
403
356
362
255
277
228
335
331
275
285
323
279
309
255
293
271
233
308
387
300
291
288
292
374
299
328
332
302
365
306
307
300
399
278
328
303
309
343
300
251
298
330
404
314
379
278
257
407
323
297
358
261
379
330
289
267
329
308
349
369
331
321
229
366
333
332
287
264
294
287
264
272
322
380
313
246
370
353
332
313
227
347
370
257
305
193
348
389
372
355
255
377
393
256
362
355
251
347
329
319
342
288
316
262
216
329
240
281
307
364
317
302
363
330
358
254
369
332
330
246
302
291
356
353
342
345
262
315
293
321
335
359
362
303
267
286
297
275
321
310
323
287
317
321
221
247
332
308
302
305
251
294
330
357
374
317
288
292
314
331
305
288
320
332
227
356
356
293
263
363
273
356
364
323
368
284
343
279
327
286
329
295
318
318
307
344
304
231
398
256
352
253
393
277
400
239
253
333
381
345
245
313
382
319
328
226
318
343
323
283
245
301
292
313
368
383
338
318
398
334
363
284
355
315
358
351
309
272
347
293
275
357
288
291
385
278
303
319
336
373
253
283
330
384
316
302
275
301
264
275
334
332
327
290
323
376
389
332
324
347
330
272
400
374
392
304
334
356
368
340
270
288
299
346
333
277
286
381
340
262
289
356
292
368
360
370
328
326
341
237
304
305
386
353
298
293
307
333
334
275
284
331
284
349
350
308
308
311
281
369
326
343
369
310
332
372
255
299
377
275
352
352
312
332
291
414
327
277
282
368
391
308
371
374
341
280
259
312
352
318
232
333
250
288
357
313
281
271
370
323
362
379
335
239
359
297
231
306
317
274
332
215
345
274
301
402
325
286
372
252
288
367
372
275
294
327
274
334
313
384
330
306
257
388
225
323
365
266
272
353
276
335
235
396
341
320
349
359
308
329
335
311
289
317
344
246
271
380
356
349
334
289
232
336
291
338
291
307
310
281
368
280
396
285
328
322
415
233
346
359
368
324
311
316
206
326
374
282
364
314
347
333
359
327
345
230
299
356
349
403
275
356
285
257
296
399
333
277
296
334
244
270
350
279
325
309
166
239
247
408
346
334
262
385
300
307
300
266
248
375
377
239
386
315
280
309
288
307
330
387
400
248
355
314
321
291
312
381
259
352
369
380
253
328
265
326
331
336
351
220
280
296
298
307
315
311
288
340
310
361
233
314
292
358
317
312
293
359
322
295
348
249
347
316
293
360
288
307
313
366
265
341
366
264
243
316
239
369
299
336
291
337
296
314
296
345
237
319
370
340
380
300
363
380
300
310
277
371
253
320
216
365
352
362
327
369
398
399
369
349
293
305
366
290
315
327
286
295
308
361
237
263
382
330
414
325
260
276
295
361
286
299
285
346
302
373
207
335
345
368
343
299
381
361
333
301
353
397
333
265
337
250
270
315
373
318
281
358
306
331
338
337
282
314
307
333
343
277
387
338
299
259
248
314
251
367
294
329
353
350
231
252
321
285
269
329
333
375
358
310
260
330
369
319
218
353
269
313
319
376
307
346
345
245
342
304
377
339
268
337
259
366
316
376
401
292
342
299
341
274
353
340
269
306
368
348
306
275
374
286
323
329
307
372
310
270
305
275
272
374
330
262
276
302
323
274
304
305
360
307
378
291
296
255
375
357
331
403
380
296
318
342
351
388
196
361
273
249
318
236
299
238
263
370
286
322
237
285
324
283
332
319
236
264
358
331
276
303
345
367
341
327
271
266
218
303
310
334
357
300
297
303
172
340
344
255
243
299
245
302
230
370
369
350
346
295
228
253
355
348
350
373
363
293
319
254
301
372
309
286
289
338
284
309
293
311
318
341
269
351
272
328
337
267
328
388
265
328
347
359
219
322
336
324
277
274
317
300
303
324
244
300
238
327
344
372
355
343
305
333
307
207
289
254
372
308
319
352
238
332
262
320
335
343
313
317
266
317
382
407
281
276
300
313
336
298
291
342
323
319
263
368
321
346
239
313
315
324
305
278
224
422
397
261
349
290
284
288
233
328
349
344
376
293
346
342
311
325
344
298
292
343
331
295
326
270
372
266
312
422
331
267
280
307
276
314
246
329
324
339
345
333
299
420
380
250
369
328
283
262
279
306
384
338
320
320
298
349
351
384
307
306
295
341
219
356
374
389
340
308
363
312
337
287
367
306
381
342
289
370
353
287
288
244
204
303
296
294
336
288
281
375
342
326
351
366
327
362
274
337
237
409
280
342
401
358
329
287
301
309
306
374
331
428
329
366
236
343
340
320
284
298
374
374
402
335
317
324
329
257
343
354
422
239
348
319
330
338
299
280
231
286
399
374
345
374
301
268
378
321
385
340
257
292
231
292
366
411
276
278
291
366
336
338
264
351
309
338
370
333
363
331
314
274
274
288
365
343
315
405
300
328
320
288
356
369
304
317
332
312
200
362
353
338
388
267
338
267
355
290
383
277
311
296
347
359
229
330
303
267
328
236
308
372
297
317
266
294
319
297
343
293
219
248
356
298
336
291
303
316
344
378
281
362
297
330
382
272
251
299
295
398
342
272
328
349
306
351
282
401
243
344
310
292
327
353
408
325
300
308
310
275
270
401
320
317
342
240
333
323
298
328
371
237
282
313
387
377
343
282
303
388
246
277
230
312
290
338
361
290
314
320
274
319
352
304
245
360
274
309
296
268
386
294
358
350
346
336
363
335
332
324
283
425
334
312
320
400
286
354
323
364
337
273
311
319
289
310
331
450
319
387
233
274
365
376
369
319
261
367
258
318
271
253
300
262
263
317
357
270
304
273
293
349
297
246
348
328
362
359
332
401
285
281
404
352
254
370
384
337
255
267
296
375
348
338
343
309
277
271
277
407
368
281
216
264
338
276
336
351
319
265
348
351
331
356
365
322
293
374
285
314
357
313
299
328
260
343
329
401
326
351
376
303
360
244
389
302
313
236
305
294
342
403
318
349
308
299
291
244
253
409
308
367
259
372
357
298
363
300
297
339
395
264
308
294
281
313
305
364
305
346
269
265
278
295
342
234
310
323
332
347
300
304
306
291
351
315
356
267
259
378
308
332
360
338
295
298
317
324
350
396
278
331
348
324
330
272
271
336
348
258
228
360
240
340
381
418
274
272
342
246
276
271
339
395
379
350
316
292
332
242
352
342
260
311
303
276
345
343
309
417
269
322
411
376
311
364
343
293
355
273
270
303
280
365
375
376
320
347
256
384
288
243
362
337
311
339
399
360
308
264
223
407
391
327
329
339
351
298
390
312
316
296
289
285
256
246
243
330
216
298
297
341
236
344
397
265
300
343
329
342
292
317
312
355
299
299
310
194
256
359
222
367
281
257
396
392
371
266
277
316
326
335
394
305
257
284
358
382
326
337
307
252
253
371
377
386
220
367
333
372
389
217
364
213
317
291
312
314
329
274
282
238
360
235
390
336
338
178
319
304
305
326
243
322
340
340
355
381
357
306
273
334
404
389
286
334
309
308
317
352
367
253
273
372
284
366
271
344
385
298
341
408
354
329
313
293
281
316
341
374
291
314
358
331
352
311
258
224
288
333
295
339
315
351
260
311
298
309
277
307
380
393
330
411
272
286
271
345
265
331
334
295
326
280
307
274
341
272
329
324
325
264
332
299
336
352
270
325
265
337
315
296
299
346
292
331
302
367
343
277
360
284
353
252
369
265
308
383
353
298
315
314
367
320
263
193
312
253
367
340
325
270
254
286
286
267
313
356
425
290
342
338
397
290
341
291
297
259
272
319
333
316
298
350
361
216
347
261
388
323
355
363
349
335
312
307
263
358
322
376
318
271
341
296
277
300
372
199
318
342
325
320
343
265
269
368
297
338
299
319
288
334
272
345
331
327
299
279
287
280
284
323
232
227
269
366
313
351
305
295
309
323
363
257
279
258
219
323
274
302
272
344
415
301
320
357
374
354
363
403
287
296
294
309
305
198
272
205
327
305
276
321
277
380
374
379
382
352
228
296
400
347
297
330
263
335
301
325
265
287
366
268
344
330
285
267
292
364
218
359
261
342
262
186
296
408
318
313
335
307
270
302
322
334
321
355
284
289
421
267
266
356
321
346
370
191
317
229
261
320
335
359
289
352
280
327
399
298
296
312
220
405
398
371
310
295
221
287
375
361
242
336
281
252
279
246
363
359
317
334
310
385
282
376
307
260
232
290
320
255
404
263
352
388
300
348
379
295
356
308
356
311
335
321
292
306
327
347
223
343
303
395
351
338
309
304
379
295
398
296
284
374
309
319
304
350
264
266
278
343
354
302
367
296
325
249
275
319
271
269
367
339
261
431
267
321
330
294
271
379
312
338
286
313
354
312
261
365
266
390
316
317
353
296
354
290
433
304
424
258
367
371
309
317
235
228
272
341
350
229
294
342
258
291
324
320
228
290
276
333
297
313
264
290
328
325
300
310
265
327
357
323
316
342
279
281
286
326
348
213
401
360
364
309
269
345
257
224
385
247
376
378
301
361
314
359
346
282
326
390
316
240
250
353
344
309
296
292
384
344
316
327
300
320
338
306
341
361
276
289
318
281
334
353
291
215
278
295
278
391
346
414
210
344
319
338
237
280
308
326
267
348
383
302
318
350
213
389
327
377
287
286
357
269
326
245
253
299
314
266
338
355
334
293
382
326
330
339
342
266
350
338
285
301
361
233
304
337
331
360
288
370
262
290
355
324
302
337
339
276
331
266
233
349
351
303
248
309
316
370
324
189
380
332
321
260
277
393
275
375
326
344
331
234
433
351
294
293
311
251
250
292
293
306
347
286
272
339
355
302
394
333
291
282
314
301
338
319
330
322
325
283
390
282
234
292
313
293
272
289
362
334
316
330
325
331
327
344
324
349
307
285
343
325
389
380
301
296
259
340
240
421
255
260
351
333
297
314
260
326
308
227
321
358
363
304
315
315
276
254
339
303
306
306
310
320
322
320
288
356
340
350
375
314
345
278
290
299
333
273
322
333
427
350
279
327
349
232
292
326
266
308
407
319
314
307
266
338
262
401
337
280
409
363
342
373
352
353
329
301
304
296
240
338
307
336
310
233
369
303
333
291
284
391
251
317
354
318
348
281
284
319
361
316
314
313
273
307
290
288
324
303
325
282
350
372
358
273
309
354
333
273
308
354
372
367
314
370
376
312
382
354
313
303
304
294
228
353
339
296
329
285
302
256
326
344
273
318
276
302
297
224
228
345
410
294
255
350
315
370
410
337
308
346
260
400
350
354
329
384
268
279
376
352
307
313
361
328
359
301
328
279
378
262
265
293
329
285
284
340
333
345
263
377
319
280
337
306
346
345
287
295
275
374
330
314
278
269
336
371
244
258
295
307
344
234
383
396
245
261
300
306
364
346
328
298
288
304
366
297
368
284
213
275
367
316
324
332
323
305
294
370
323
402
309
312
346
377
398
292
352
313
367
328
306
326
379
212
317
358
347
244
273
339
356
320
286
345
288
297
309
332
286
325
279
329
394
336
369
299
239
300
383
325
337
246
306
324
258
306
310
282
375
393
234
294
376
363
378
416
335
256
278
267
281
374
324
332
329
346
310
255
288
307
313
327
287
234
327
347
322
377
281
324
376
291
354
377
330
251
315
401
381
337
274
387
322
357
231
372
236
288
327
364
316
304
366
258
225
326
403
327
392
300
272
404
284
264
283
374
348
270
293
295
382
281
323
228
411
320
336
265
363
329
319
244
290
341
330
293
268
334
321
316
372
318
332
309
333
421
226
290
301
216
314
363
342
346
337
290
317
279
345
297
347
311
227
282
387
357
322
293
319
248
281
287
408
324
341
248
293
292
244
279
400
340
294
287
322
345
325
352
294
315
309
283
276
319
385
316
341
336
268
370
248
336
367
349
282
281
327
337
342
381
292
328
302
290
293
380
280
256
251
297
347
346
377
301
322
370
333
364
320
325
293
377
297
318
345
330
292
366
311
256
371
298
310
324
325
316
358
373
379
295
351
333
302
374
271
358
240
345
339
379
372
284
244
337
224
269
251
351
253
320
254
323
334
301
269
219
318
353
372
280
358
425
233
340
313
376
298
382
298
362
401
314
345
308
355
360
248
327
315
375
375
248
363
295
326
302
231
296
354
324
364
261
333
351
368
232
385
262
328
361
331
298
211
332
317
318
184
322
324
279
321
340
340
286
287
362
301
329
293
254
277
302
339
350
252
354
256
339
266
268
376
342
277
383
304
296
256
403
356
246
291
380
278
332
326
271
302
281
250
342
389
302
314
267
314
353
306
365
298
257
373
255
298
387
255
364
278
381
336
374
419
295
231
377
244
303
318
349
287
382
310
307
320
266
361
275
363
366
326
253
404
330
353
338
337
364
348
278
330
382
219
324
275
306
390
339
290
330
317
328
287
253
244
316
309
363
354
404
304
294
382
317
314
343
330
215
339
293
344
314
410
280
296
348
375
335
336
296
275
219
437
224
367
334
309
253
294
333
306
270
310
294
345
250
319
343
327
291
364
345
405
383
317
334
325
359
284
344
272
315
237
346
307
278
339
384
309
297
380
298
241
345
254
284
339
229
316
357
285
308
235
243
331
317
258
341
317
307
295
412
291
344
279
309
362
297
288
377
370
386
298
349
279
250
279
291
245
309
299
359
353
343
240
312
267
376
336
351
330
314
297
267
368
390
374
225
296
304
312
267
336
322
299
373
325
295
291
293
384
313
250
299
303
438
298
295
314
331
289
404
338
316
320
263
239
308
362
258
288
313
310
311
381
290
329
239
346
343
258
230
364
344
302
300
245
280
313
365
363
316
280
358
311
367
321
292
299
341
280
423
256
301
214
251
208
346
276
284
311
254
377
338
268
417
299
244
240
347
294
240
208
277
260
311
332
287
305
274
228
302
316
244
316
334
390
291
267
270
311
314
414
389
280
324
338
340
347
317
312
410
269
411
371
278
258
358
358
353
285
252
238
354
353
340
253
386
283
332
271
290
355
345
286
414
352
316
365
347
361
338
284
401
326
388
349
258
346
378
293
253
360
271
266
259
321
330
367
312
349
346
308
296
310
278
407
389
299
271
350
387
375
331
370
368
256
345
240
363
230
272
330
303
337
314
366
336
352
340
277
316
412
316
306
358
396
302
374
258
317
347
331
287
280
306
266
353
348
262
399
357
411
280
263
341
283
322
268
285
271
424
374
332
279
389
306
304
266
344
340
278
325
324
269
319
392
377
278
352
385
327
263
397
354
356
299
305
372
257
281
291
372
332
354
336
271
299
310
316
233
275
271
337
353
270
364
299
324
352
263
336
350
319
289
337
344
257
435
332
329
383
318
419
331
331
233
345
318
327
298
305
362
340
253
374
314
325
305
282
383
322
378
249
319
252
248
285
346
361
303
222
315
290
295
310
329
393
342
400
303
394
369
354
350
258
407
337
350
264
206
288
272
342
306
272
223
392
285
370
253
288
367
247
276
354
323
274
292
373
349
302
379
362
318
301
286
258
373
251
373
318
352
241
337
324
316
278
314
247
266
245
301
308
368
346
306
311
360
303
402
382
308
339
289
308
323
326
330
334
293
280
366
350
378
330
312
372
295
261
194
332
344
322
257
379
221
338
302
345
255
250
350
316
328
317
404
394
332
405
352
285
188
354
371
294
367
312
352
279
353
376
294
301
325
287
328
297
316
347
295
335
307
277
294
332
305
348
286
399
302
300
270
305
311
264
378
323
378
327
321
329
271
329
276
271
300
259
196
337
273
267
363
320
312
292
325
318
306
335
218
318
283
393
336
361
314
412
294
309
208
228
337
340
226
315
344
337
336
314
334
340
247
298
302
299
335
181
236
345
282
318
419
335
354
188
381
345
226
326
388
311
308
309
305
307
335
229
314
326
458
347
306
333
208
198
317
328
353
331
300
273
242
263
383
342
277
244
375
320
321
309
369
297
172
242
349
322
266
311
286
341
283
281
262
339
358
237
281
338
280
388
344
359
369
355
330
364
319
374
256
334
322
320
344
242
247
275
309
340
340
254
376
345
333
331
342
344
353
321
371
266
236
363
277
278
292
268
260
335
308
363
350
294
258
306
267
429
289
306
283
270
387
311
291
328
331
322
307
316
308
265
375
417
294
356
400
281
298
314
330
379
308
279
320
319
247
347
253
313
328
298
275
244
255
309
339
326
221
324
321
302
242
374
250
242
263
314
365
272
389
290
294
341
318
270
292
357
255
288
378
373
356
356
335
348
338
308
247
308
333
279
305
424
341
351
334
306
249
293
358
348
277
405
316
369
299
304
397
286
388
297
331
395
320
262
353
316
315
253
358
329
298
237
360
300
343
395
260
261
328
275
360
326
434
246
288
293
360
352
253
317
278
270
324
303
288
351
338
294
367
335
268
242
301
280
256
358
286
259
366
265
331
358
335
332
382
288
339
329
352
306
334
271
245
312
346
356
332
304
259
249
350
325
298
284
205
321
371
271
313
324
309
375
346
269
300
342
344
285
208
328
339
284
291
258
295
366
327
361
341
311
234
353
368
414
267
305
308
308
345
262
328
282
348
301
312
317
283
374
279
292
343
329
273
405
326
298
318
347
323
244
329
283
300
370
356
373
360
265
281
199
350
362
307
360
296
335
365
415
325
371
277
297
414
337
267
340
286
314
314
207
387
298
285
328
353
339
334
299
332
244
276
337
265
317
310
334
296
311
320
327
361
328
246
227
337
357
341
408
366
312
416
367
324
344
296
289
265
277
359
405
336
273
314
334
362
368
355
388
321
320
322
301
312
365
307
361
304
367
254
341
291
283
364
267
335
346
403
321
370
242
238
289
287
275
325
357
322
238
348
247
281
226
352
266
302
346
253
396
341
310
314
306
345
276
323
401
354
323
302
342
211
322
340
325
332
329
313
310
417
317
309
334
250
323
378
240
347
335
264
364
344
316
403
323
372
280
321
303
247
313
366
260
316
353
303
297
318
363
391
269
352
360
357
283
376
298
325
228
238
265
342
283
357
281
279
374
347
301
337
342
329
390
381
358
303
310
214
277
360
353
327
316
318
374
313
307
301
343
412
329
418
333
329
284
364
352
282
343
334
347
224
274
321
350
281
227
286
328
323
397
311
311
174
394
373
255
340
289
383
364
311
288
312
275
249
377
227
267
378
296
305
330
300
318
332
364
297
256
239
294
344
334
317
310
350
283
269
275
315
344
315
426
363
250
261
336
311
300
396
249
209
347
362
323
359
351
332
327
384
280
290
377
425
283
315
368
261
388
355
347
394
340
367
285
389
261
328
328
295
341
273
377
376
257
382
181
319
342
359
267
304
378
399
342
328
333
346
319
271
287
290
358
368
307
277
321
330
337
315
350
414
259
369
294
281
296
411
309
319
304
274
304
258
337
320
414
315
216
273
410
331
304
310
376
245
293
353
229
380
377
301
300
392
328
303
287
288
344
303
264
401
305
352
411
378
248
253
464
261
332
277
243
267
300
319
295
294
251
251
317
391
261
328
292
264
301
298
372
340
308
174
282
407
368
387
282
371
356
398
164
360
321
316
274
234
309
286
429
284
376
299
356
364
336
314
317
341
301
281
253
428
345
292
318
311
286
321
399
357
213
361
297
344
308
296
278
399
259
248
314
384
340
285
325
315
370
254
330
305
299
365
293
243
382
257
277
333
264
405
325
297
398
293
265
342
315
295
265
343
388
358
329
243
201
323
286
339
233
346
345
283
337
302
353
272
387
322
320
327
363
333
327
320
302
307
325
392
328
297
355
300
343
368
378
295
320
312
369
350
304
228
261
341
342
268
370
370
359
373
381
283
322
316
299
315
276
323
281
303
248
317
343
293
275
339
350
345
279
404
332
314
330
324
305
308
367
304
302
350
264
265
284
220
325
248
329
318
320
331
351
305
304
280
295
370
375
309
281
234
356
344
313
315
324
340
204
244
320
306
265
400
349
343
341
301
289
351
368
350
275
218
346
265
368
275
342
305
298
248
342
317
340
395
326
343
310
306
433
273
210
318
364
372
383
285
314
352
308
313
366
303
357
357
336
252
264
311
264
284
331
356
318
254
270
317
306
272
329
355
338
333
297
326
318
310
339
364
296
292
307
299
263
414
277
376
304
266
238
362
343
317
275
395
285
407
377
255
313
353
324
335
323
312
344
284
335
325
292
326
363
280
263
312
282
292
306
321
296
331
320
340
348
275
293
354
279
236
352
277
308
354
354
367
300
328
297
345
376
325
280
306
258
350
237
336
232
278
368
295
356
399
317
432
336
322
291
304
260
300
290
314
309
338
420
399
250
318
281
346
346
310
351
336
361
311
309
321
296
296
292
331
353
361
294
373
386
357
377
235
313
306
379
325
322
298
251
257
314
334
341
310
272
275
234
343
249
310
289
353
317
180
231
347
387
310
339
318
283
232
275
283
395
334
357
346
288
413
294
339
385
372
304
309
311
358
388
324
311
363
337
342
300
335
330
296
231
352
277
322
290
320
260
299
330
356
322
322
282
309
336
318
264
286
296
245
279
294
250
276
311
308
267
299
329
284
284
241
312
312
320
376
338
402
306
311
382
312
348
314
288
311
256
372
405
337
267
238
373
267
349
377
331
318
290
268
267
295
373
337
353
324
388
333
302
323
285
272
283
285
282
339
351
320
317
329
278
405
361
312
269
304
328
371
300
340
353
311
322
286
325
247
332
358
389
312
275
286
291
376
272
357
384
292
284
392
354
375
334
261
303
353
307
347
228
371
295
369
323
223
319
223
309
340
317
385
317
302
282
293
240
270
250
332
322
368
277
394
340
334
347
262
320
265
342
264
205
294
310
311
410
299
360
267
345
299
317
366
318
272
355
290
287
331
295
304
291
328
350
348
222
305
324
339
359
262
303
358
290
282
301
375
252
294
242
420
297
397
258
344
307
396
270
325
347
296
374
317
264
363
359
288
344
331
326
301
286
313
308
333
305
292
319
326
291
329
268
299
329
312
382
289
342
290
295
351
341
309
204
346
335
313
328
352
365
385
306
349
277
326
336
348
256
374
349
355
386
415
345
336
233
348
279
336
417
244
329
282
276
339
301
305
341
240
305
286
327
315
280
354
374
278
258
314
299
300
232
286
294
355
250
371
377
297
278
355
287
228
279
392
297
347
273
407
268
287
335
305
345
334
328
315
273
268
222
338
249
345
307
379
365
369
393
349
334
363
379
374
328
274
291
330
284
302
392
352
332
251
293
316
292
405
333
356
336
347
374
309
269
267
327
293
357
388
217
379
448
317
289
314
284
406
356
402
342
342
370
373
306
336
267
286
273
376
379
340
323
241
309
331
345
305
296
401
340
307
295
260
312
315
336
277
238
383
239
316
348
337
259
285
271
352
301
344
361
357
327
309
335
349
277
376
358
348
334
334
243
305
269
402
249
284
294
364
256
277
389
280
387
376
271
388
365
348
350
377
405
314
269
282
257
252
334
380
269
312
296
330
307
334
249
285
323
288
302
330
320
293
299
312
290
295
310
253
280
278
324
362
235
328
351
293
349
269
291
323
258
331
412
326
199
285
333
309
315
333
330
284
273
299
358
338
302
362
314
308
302
301
330
258
351
183
303
322
293
318
368
257
314
247
343
290
345
289
299
304
283
311
393
310
369
350
254
332
340
234
376
315
360
369
270
298
381
360
279
328
263
231
313
290
344
405
241
253
391
341
330
255
236
280
320
310
326
293
320
332
287
264
335
241
266
339
259
266
266
305
377
295
321
252
250
321
336
273
338
311
301
273
338
170
351
348
279
340
328
250
251
313
267
310
306
327
317
399
285
305
345
300
334
397
411
311
310
228
300
319
234
382
302
245
295
364
316
372
273
363
273
349
257
354
347
283
290
308
392
254
362
360
302
273
248
267
327
199
264
343
296
330
381
266
261
351
368
308
299
309
306
371
335
345
325
211
293
291
319
373
325
289
235
354
326
289
253
306
327
277
285
334
303
391
325
352
348
261
263
308
271
348
310
287
251
373
308
378
307
320
299
371
349
333
338
376
299
321
345
324
274
287
317
328
234
226
222
346
217
331
369
324
341
351
259
392
391
272
290
278
333
376
320
317
285
327
315
280
368
316
298
279
262
306
397
406
330
346
281
273
363
280
368
382
325
306
250
300
348
291
277
309
314
323
234
354
437
254
271
227
342
332
307
315
269
329
364
297
276
266
196
270
294
341
311
360
322
332
381
299
368
350
260
400
341
340
325
336
319
266
333
317
256
304
353
371
309
302
325
315
259
305
282
375
391
296
374
341
297
295
339
294
306
309
391
363
359
363
329
267
418
346
391
336
294
421
249
312
356
410
377
302
320
326
405
319
401
332
339
335
335
327
287
399
355
270
331
315
370
331
303
316
305
316
274
296
356
264
384
349
362
325
250
332
286
317
285
329
333
254
250
282
361
230
377
419
365
296
298
321
347
359
285
285
308
292
209
288
372
282
294
317
387
308
357
236
376
328
302
299
298
279
258
382
398
306
222
310
343
246
324
356
364
246
297
308
339
350
357
222
345
343
293
370
318
353
391
308
363
269
276
246
308
296
300
306
260
303
388
236
327
275
299
339
237
336
255
262
301
238
304
345
346
312
337
357
325
300
303
353
375
332
264
377
362
323
321
336
317
384
303
355
225
371
311
272
352
360
317
288
309
305
377
382
317
353
359
363
331
191
375
318
303
300
388
279
185
334
344
313
231
284
301
235
364
285
292
325
321
306
335
284
338
300
324
322
274
226
376
359
310
292
334
193
333
223
286
309
292
355
308
273
265
285
330
314
381
404
332
378
341
289
342
308
358
302
307
275
346
246
247
382
317
369
233
258
261
282
319
334
259
307
298
336
324
408
293
367
281
277
426
291
312
324
261
305
320
336
316
239
339
226
283
354
311
344
329
334
359
222
295
361
341
274
300
329
287
391
348
265
230
303
288
303
303
321
382
428
224
345
349
249
292
328
378
293
281
247
345
290
305
340
325
214
328
260
347
240
336
333
280
297
302
310
247
286
284
294
368
311
306
239
278
321
248
309
317
343
244
328
294
272
303
291
309
273
308
294
289
309
271
400
325
372
284
356
382
266
301
312
312
251
390
399
307
388
299
390
251
359
381
388
263
337
297
325
345
318
329
343
331
404
205
315
405
319
307
336
263
219
377
248
310
351
305
303
371
287
345
368
264
341
186
388
346
272
259
355
362
337
285
309
290
287
353
320
372
369
269
287
388
355
282
305
307
366
356
292
276
263
263
236
327
264
333
294
325
364
234
273
344
314
351
332
362
258
348
209
261
267
278
298
401
368
281
344
296
283
333
311
303
204
329
355
272
297
317
339
281
270
335
296
322
343
288
326
283
299
287
350
326
374
355
433
245
388
288
323
331
287
332
250
384
333
287
340
368
310
337
273
252
249
358
292
319
403
257
303
368
314
387
342
338
334
372
294
310
346
364
305
283
262
352
329
405
285
392
275
296
280
335
258
326
284
322
268
337
282
250
340
370
290
317
255
257
302
383
280
247
303
259
286
265
376
272
257
248
398
289
243
292
310
243
402
283
261
368
376
331
318
289
368
388
313
303
366
382
337
193
316
218
279
306
285
279
241
281
328
369
373
345
372
328
325
261
301
321
368
325
303
382
300
369
339
290
234
268
328
298
333
332
340
382
351
345
364
360
338
319
309
335
312
320
258
396
303
370
397
266
282
258
377
265
291
363
428
292
255
289
385
345
268
266
356
298
281
334
361
253
267
308
354
231
316
410
341
344
332
371
306
336
352
272
275
342
272
344
310
299
407
339
338
300
329
359
320
336
306
301
274
308
326
357
261
315
260
358
294
341
335
254
345
333
324
360
333
275
271
425
311
322
334
305
301
301
428
276
329
314
328
290
271
258
297
273
354
347
364
310
351
327
380
326
252
301
348
253
331
351
323
387
369
349
321
374
351
296
288
364
375
344
321
326
307
290
362
273
326
350
315
348
430
317
325
308
345
358
314
373
263
366
326
286
255
270
310
355
233
336
194
379
317
308
379
300
364
364
310
219
405
289
286
353
303
306
302
322
367
265
277
351
320
366
282
389
281
400
242
366
274
362
205
257
282
338
235
362
375
362
396
410
290
231
333
318
295
300
362
341
298
384
411
308
384
344
332
294
213
345
281
254
279
366
423
360
343
308
377
349
358
366
307
323
375
250
381
338
378
310
351
260
284
305
379
350
281
330
403
301
425
313
327
362
310
226
410
261
301
326
255
290
300
329
292
264
269
331
304
337
386
308
275
278
399
356
214
313
349
310
304
268
273
332
341
352
346
294
389
307
391
343
271
268
262
262
338
246
343
341
341
286
328
267
314
398
333
327
351
331
343
354
308
345
288
283
235
294
318
281
268
302
281
257
367
311
294
290
332
351
172
260
268
327
285
252
271
293
322
277
393
385
345
259
176
343
370
320
290
273
345
354
280
427
355
351
345
328
313
270
224
331
307
363
344
193
355
353
265
286
240
266
271
373
287
278
235
336
308
299
251
402
271
347
382
346
359
182
285
253
332
289
292
311
355
367
301
355
317
295
362
332
328
324
319
309
266
338
318
295
264
262
335
304
327
283
364
285
284
350
339
368
284
264
368
332
277
292
320
333
422
269
328
333
341
287
329
318
316
304
341
406
271
297
280
237
423
402
372
203
404
273
337
381
324
275
389
348
327
310
294
292
250
289
382
289
296
312
281
377
325
331
359
334
372
255
385
359
309
286
268
296
304
351
369
352
239
288
268
321
368
316
272
363
298
378
361
342
331
295
327
370
303
376
235
269
343
294
297
232
277
230
260
360
355
326
361
373
246
327
298
382
271
315
323
255
365
330
353
321
219
326
367
348
323
365
350
245
297
313
251
249
308
357
330
276
291
345
274
245
335
326
398
292
290
302
300
303
359
291
296
324
387
281
259
300
282
197
290
311
342
309
232
258
313
289
347
255
317
332
364
341
325
238
225
348
366
381
368
375
325
367
282
296
316
243
267
315
328
300
287
427
301
385
387
291
346
288
331
409
289
314
328
287
318
371
371
309
332
346
295
252
373
391
321
278
374
288
315
396
334
346
285
356
284
256
297
278
353
345
351
296
243
350
307
311
290
265
260
265
257
378
279
342
341
269
333
281
390
308
356
346
236
321
278
367
337
293
292
372
238
272
323
231
252
320
298
433
335
273
282
269
272
274
225
264
310
257
216
382
325
235
268
397
325
322
302
266
289
316
232
253
288
310
318
297
316
252
283
266
380
382
351
329
340
309
321
355
269
350
361
296
259
265
340
311
262
319
334
319
300
324
363
338
325
265
325
249
305
368
343
342
293
312
269
377
385
275
308
280
309
424
382
355
352
385
330
385
386
230
267
266
359
294
328
326
294
310
318
255
233
317
311
286
294
324
339
306
315
323
359
382
372
313
318
334
315
267
301
268
284
312
281
378
306
310
206
353
283
269
353
401
381
277
242
360
305
270
319
279
282
310
319
318
267
349
336
366
349
377
255
263
347
294
409
328
307
289
371
352
260
365
297
294
337
310
316
344
350
369
403
307
325
298
286
384
309
314
362
263
194
340
291
275
275
322
249
355
360
331
287
233
399
295
363
363
262
260
302
312
277
279
315
277
300
325
306
296
285
355
215
364
317
363
311
371
298
317
348
337
276
367
284
279
361
351
338
158
310
340
267
326
255
343
308
340
324
236
285
358
359
271
374
293
223
400
399
340
389
365
249
338
266
312
377
303
322
325
289
286
336
265
353
307
318
278
320
281
290
367
286
284
385
311
239
344
342
304
295
308
277
255
305
259
322
324
244
340
404
354
341
419
309
234
251
358
321
303
285
276
307
360
341
347
303
289
250
317
347
268
305
307
291
316
251
299
352
275
341
316
349
271
329
353
216
312
377
322
319
334
339
320
290
305
286
320
384
266
207
313
329
316
327
298
351
376
269
272
176
214
295
334
301
289
289
314
363
346
364
330
271
368
309
303
277
339
356
320
326
221
281
324
414
288
333
332
355
261
287
393
337
272
275
340
342
342
302
346
253
305
321
407
315
302
388
285
341
301
357
423
289
429
356
258
338
352
254
343
325
285
316
306
354
262
309
290
281
292
256
375
288
392
294
310
333
240
238
310
318
327
208
339
212
393
230
336
259
354
336
188
317
334
328
276
241
326
380
392
282
315
370
321
373
298
326
347
265
299
262
327
261
301
304
325
340
346
373
278
310
317
300
308
297
268
302
382
291
387
359
362
307
358
289
337
335
305
328
318
295
293
371
284
340
232
297
320
354
272
274
333
341
364
342
385
332
306
342
284
334
271
304
323
351
207
337
254
273
349
314
295
305
303
247
336
312
429
361
314
349
346
335
312
401
368
328
256
253
343
325
373
350
402
285
322
244
285
283
357
329
305
355
329
384
216
423
309
361
249
381
358
329
317
274
294
303
334
261
323
361
352
387
303
290
366
379
258
326
327
295
283
253
353
337
337
195
278
334
371
317
406
276
253
319
417
307
263
250
304
339
292
325
370
269
286
345
306
354
355
371
332
295
333
304
365
273
368
358
272
328
253
258
272
308
273
388
276
312
356
332
348
236
196
351
301
233
268
321
283
326
373
376
345
286
314
301
229
278
290
323
292
351
261
298
289
298
328
341
310
314
307
331
347
303
300
352
371
273
276
339
304
321
279
260
314
314
300
418
309
329
288
381
332
283
312
268
259
300
388
362
247
222
390
285
200
372
290
318
367
301
389
378
321
267
318
301
287
310
346
331
311
304
314
297
314
305
362
324
280
392
311
260
355
316
326
399
361
250
233
332
361
287
286
218
316
347
311
360
312
330
390
289
346
388
301
361
230
336
314
298
312
289
333
321
367
313
259
289
439
263
326
301
237
333
257
369
336
311
455
216
364
306
276
352
354
363
300
262
317
424
315
376
389
293
269
270
285
300
344
351
355
258
299
248
355
276
313
333
322
244
318
307
325
260
385
295
362
341
227
328
282
274
312
298
353
322
400
281
359
307
241
417
331
181
345
336
340
339
313
340
327
287
292
311
332
231
260
277
340
228
314
394
169
286
424
330
348
301
371
379
380
282
370
339
293
410
268
269
321
383
259
305
364
340
359
290
321
365
301
223
319
412
358
324
305
264
330
316
280
311
394
226
340
280
376
340
330
344
330
409
224
249
313
315
339
383
312
353
304
268
379
389
340
306
364
279
299
291
281
278
388
353
328
329
249
358
401
264
275
335
377
273
346
363
293
372
323
371
264
343
364
240
305
397
357
347
312
353
321
217
325
297
290
326
327
386
270
277
374
254
205
284
283
311
356
329
381
314
336
346
345
324
402
303
268
325
327
314
297
355
348
298
412
327
276
309
299
287
297
354
295
298
298
297
385
369
410
258
331
358
285
411
375
300
258
320
301
354
310
307
260
240
376
329
319
377
377
267
315
362
220
290
382
261
291
353
323
273
289
369
299
276
283
283
276
242
293
329
379
372
345
323
264
324
264
292
371
361
364
357
285
245
332
259
350
335
296
336
303
382
372
280
292
365
307
261
355
308
346
332
339
248
260
321
322
373
291
298
316
392
326
264
389
349
334
248
309
281
325
388
345
387
328
297
299
379
335
290
331
278
243
283
256
343
355
377
253
344
269
350
264
345
359
305
322
357
261
375
314
344
383
323
231
306
284
346
322
334
318
308
248
261
315
266
345
229
299
395
388
315
339
360
277
336
263
282
360
419
380
303
290
368
287
334
188
327
379
355
269
205
303
331
286
286
366
310
362
230
296
315
359
330
267
302
282
328
316
329
271
301
292
233
279
311
310
353
295
195
245
243
388
364
301
275
356
271
273
295
291
421
295
367
315
300
381
284
333
378
288
297
329
299
361
285
348
329
357
333
355
401
348
406
302
252
309
316
220
239
391
355
260
269
395
333
253
320
191
300
314
332
289
333
318
377
285
298
289
275
286
353
326
252
320
342
380
403
389
271
362
263
300
391
307
315
332
408
298
311
285
281
283
255
389
361
362
330
344
285
295
371
329
266
242
340
257
289
335
257
300
263
255
249
360
257
434
335
364
325
315
381
339
275
319
252
324
370
391
220
279
375
244
303
307
307
395
331
333
208
371
256
283
301
257
307
305
262
367
267
371
314
296
342
272
265
433
309
257
333
351
240
331
277
342
371
220
321
371
374
387
360
376
312
260
326
385
372
316
247
281
195
358
352
304
317
343
291
320
344
372
349
357
389
301
332
367
296
235
247
374
362
298
297
333
327
352
302
267
357
310
366
315
414
293
282
286
264
363
353
252
323
329
379
339
232
251
321
311
357
323
339
243
380
344
351
315
299
275
344
293
260
282
198
335
253
311
317
356
293
305
224
321
310
340
278
354
270
281
347
283
333
254
302
309
417
298
228
254
328
359
292
249
286
329
237
262
362
362
343
434
318
234
297
361
367
315
281
271
321
312
298
320
326
338
301
317
352
332
224
288
262
284
240
323
265
325
275
285
299
361
291
313
368
362
390
279
328
393
293
257
249
317
298
304
288
247
282
305
329
342
308
323
309
247
298
393
358
337
297
269
283
311
227
392
210
259
318
312
261
315
240
358
336
321
387
315
249
265
359
294
311
421
304
353
285
331
346
312
230
336
306
330
238
323
239
368
313
400
330
251
311
331
364
357
274
305
305
348
342
309
245
303
273
320
363
263
209
271
323
341
375
339
342
347
409
404
424
300
340
294
353
318
341
285
246
263
352
303
323
406
220
301
333
328
350
298
416
254
288
350
289
290
350
266
375
342
342
305
248
248
238
363
323
379
287
321
288
337
269
292
378
249
273
356
406
395
370
354
271
238
261
280
353
302
270
316
341
359
280
294
339
287
227
267
299
299
346
250
283
356
305
370
251
369
327
340
344
218
294
291
371
322
349
368
276
257
399
358
261
240
311
340
206
275
196
316
347
248
304
321
243
291
340
320
374
321
287
321
303
335
348
325
364
283
271
339
346
305
300
293
314
401
324
331
320
309
307
311
377
387
369
260
258
329
358
290
321
278
337
317
309
310
294
347
305
261
361
228
302
332
324
261
273
324
300
299
314
333
260
339
319
257
293
327
330
345
374
333
247
313
283
234
324
250
359
338
330
256
352
314
304
360
342
299
241
336
263
228
300
379
264
391
274
269
337
257
381
298
250
343
347
285
283
337
313
265
291
302
332
408
318
331
358
330
201
268
320
326
320
359
295
317
287
315
298
233
342
301
367
333
346
223
317
269
232
311
321
323
381
349
298
287
349
339
278
298
405
254
296
304
320
312
301
281
383
303
400
286
296
296
320
382
305
341
227
277
326
354
281
402
270
403
244
332
269
346
262
237
288
282
326
389
379
328
247
351
326
363
382
372
196
340
338
356
243
291
320
249
347
358
283
330
311
233
358
330
302
306
293
315
341
335
264
300
333
251
352
268
257
249
341
337
318
298
320
343
298
298
362
323
295
294
318
323
343
353
234
307
338
319
414
361
289
310
239
361
346
285
299
272
306
273
321
243
302
347
393
235
312
367
253
300
291
329
319
235
312
241
280
398
300
337
341
343
335
237
277
332
310
212
281
339
387
327
340
261
274
307
323
246
246
373
406
369
354
228
358
303
354
336
282
287
269
287
358
345
364
324
313
270
271
365
337
315
237
291
326
245
376
328
368
333
342
302
389
239
345
222
307
316
318
331
318
397
314
397
308
295
303
371
392
345
370
387
332
236
302
332
328
257
302
360
256
269
406
358
358
259
300
258
295
318
326
368
321
306
252
374
322
311
361
323
295
232
316
367
412
374
326
243
357
308
382
275
280
335
363
325
329
363
359
353
313
219
295
371
274
329
319
384
287
384
353
422
384
317
271
371
288
298
331
269
398
214
264
276
343
301
336
378
383
372
266
286
391
329
207
322
296
263
307
335
351
303
269
371
320
266
369
378
233
325
309
326
310
332
344
333
394
307
239
295
231
305
305
286
280
298
340
287
350
297
245
280
310
344
362
333
236
298
364
357
292
295
263
296
347
351
204
334
358
296
333
222
296
312
309
319
274
288
297
405
379
331
335
376
286
307
337
268
281
255
303
358
279
389
335
282
268
323
271
313
370
227
324
349
332
335
302
306
272
367
266
305
256
383
391
305
331
313
334
368
341
222
274
359
359
273
320
242
388
344
304
333
374
319
303
341
355
318
316
365
329
340
274
265
327
315
305
361
378
274
281
387
326
239
331
320
287
301
330
380
382
310
335
278
390
320
318
253
319
395
285
277
299
334
332
325
356
380
297
322
350
303
378
191
338
341
303
295
296
340
303
321
351
314
260
377
343
345
347
296
287
360
432
364
337
263
263
409
366
371
256
310
340
286
259
378
383
341
339
385
348
467
300
249
317
306
443
254
278
315
235
268
345
312
372
330
352
256
282
351
353
290
365
296
353
354
329
287
235
309
281
371
230
279
282
384
246
304
361
286
302
340
315
363
263
377
354
234
334
409
294
427
345
345
351
322
374
299
297
328
288
322
290
313
316
359
272
362
202
316
282
263
318
322
285
315
307
308
316
364
244
320
344
254
365
306
267
356
340
271
329
243
364
371
252
241
383
319
286
416
196
301
309
342
319
349
306
298
290
353
293
334
339
287
293
366
399
310
303
254
337
241
401
337
386
364
363
361
214
289
328
318
347
294
374
275
318
293
329
387
266
387
326
342
289
303
439
389
356
309
279
320
391
250
299
237
293
200
268
355
362
346
272
272
262
363
332
353
314
278
270
267
236
308
361
377
278
263
261
280
342
402
287
325
269
347
342
384
130
350
373
344
320
301
342
316
308
388
286
274
238
314
358
351
329
281
363
369
366
265
291
345
327
301
284
308
337
326
353
332
299
348
250
370
263
386
319
301
392
399
365
248
323
357
310
309
274
277
333
370
262
358
318
368
361
307
359
325
318
287
283
334
259
302
332
273
345
353
288
386
325
307
349
243
316
254
351
333
291
252
302
391
276
344
288
274
252
326
335
286
279
328
333
352
371
357
390
325
343
349
299
350
383
343
376
414
347
352
262
272
328
330
267
266
292
280
352
282
280
393
299
379
374
301
348
391
375
329
220
351
285
399
260
329
372
295
320
294
345
336
271
279
279
307
301
362
328
356
360
380
247
219
250
301
383
356
277
289
265
369
341
338
324
253
273
366
241
366
295
304
310
293
254
373
360
359
264
269
262
297
304
297
272
364
356
293
334
404
363
320
303
329
341
277
348
284
264
326
382
345
332
374
353
375
280
224
259
350
358
359
268
289
336
310
298
344
334
307
261
285
200
346
273
286
332
278
316
334
323
316
273
191
310
243
258
244
344
239
294
347
332
239
377
320
316
288
375
312
378
305
311
301
314
300
432
251
379
314
346
253
251
306
362
300
380
322
378
318
395
254
320
333
363
258
294
357
300
240
250
381
364
280
407
252
296
321
396
311
353
291
295
349
255
313
299
393
343
313
297
302
258
335
262
266
395
364
343
314
334
249
247
363
305
305
264
243
337
349
311
346
313
282
322
317
345
307
230
335
263
327
369
305
295
262
290
301
281
311
249
264
355
267
297
253
358
223
275
328
261
353
302
259
352
282
258
360
294
272
354
250
325
434
339
249
351
301
311
289
378
364
348
309
335
331
233
283
221
180
286
319
279
286
318
304
345
272
417
298
361
215
374
385
272
324
270
312
316
310
259
323
293
357
287
301
283
299
369
296
343
294
335
351
321
351
354
334
310
334
318
323
331
284
293
323
267
264
279
346
311
344
352
233
297
315
278
268
242
275
348
233
339
375
253
385
311
278
258
256
310
267
276
399
352
297
416
320
302
289
274
282
344
378
252
257
318
313
265
315
249
345
278
322
381
354
299
278
390
332
334
282
324
362
352
286
314
312
218
296
303
358
236
335
308
317
321
341
298
303
308
360
309
365
303
317
400
332
306
326
272
296
353
286
372
320
307
339
332
229
406
365
333
210
264
324
245
343
258
343
307
418
234
316
344
268
266
281
382
318
349
297
273
379
298
291
319
317
253
239
316
391
279
296
393
294
296
335
358
385
265
321
352
316
309
281
323
361
374
300
292
346
290
384
309
234
365
301
295
281
366
251
286
357
255
264
305
398
251
285
313
302
332
274
358
317
343
348
314
257
255
355
351
290
298
351
348
323
238
355
313
376
324
369
234
304
258
276
292
252
263
285
352
301
294
380
267
276
316
274
348
280
281
353
310
337
237
288
328
223
357
324
314
288
266
298
275
331
245
311
332
369
312
362
357
279
308
265
256
324
331
350
307
336
283
361
403
159
263
324
287
325
354
305
360
303
302
337
341
305
253
317
355
294
423
247
321
357
271
355
365
347
299
327
382
276
337
256
348
306
320
322
362
208
318
286
238
311
287
256
257
310
264
306
335
393
328
355
347
353
250
265
392
335
281
293
365
429
431
395
399
310
330
341
354
268
255
300
235
288
340
184
235
321
301
265
305
301
331
288
344
337
335
235
369
309
349
401
290
344
286
359
324
271
367
328
289
365
305
350
292
378
356
278
287
296
326
329
269
330
337
296
276
246
268
336
265
312
330
350
363
246
291
411
389
305
268
332
372
314
270
323
317
286
314
393
351
305
338
227
311
282
322
323
343
299
261
336
325
408
263
338
397
248
349
295
304
334
317
276
248
260
337
339
218
372
419
346
246
331
323
232
357
335
267
292
257
349
351
274
363
376
231
341
315
355
455
285
317
316
268
333
250
352
368
297
338
331
289
348
303
394
339
321
284
306
311
298
315
360
261
278
308
317
310
253
312
342
302
324
345
217
322
372
296
322
279
330
302
328
279
327
343
326
356
325
342
381
285
289
348
254
357
366
347
325
353
334
291
290
363
363
382
277
348
349
328
290
290
345
368
336
290
336
364
312
327
356
367
339
279
360
360
254
271
369
430
363
308
291
259
279
316
290
284
282
216
345
351
244
323
294
294
281
308
330
372
204
245
290
355
322
310
239
278
332
288
283
368
248
332
376
335
226
275
301
372
321
270
350
286
294
259
315
269
285
358
298
328
407
281
285
343
285
297
280
316
302
299
357
393
327
357
294
308
218
273
323
278
322
337
273
310
348
272
338
307
373
285
356
313
366
233
232
319
335
261
318
360
337
393
318
238
257
329
322
307
373
330
194
260
271
331
214
375
402
245
370
330
372
281
265
409
356
243
259
256
299
285
387
342
329
385
216
312
316
317
330
341
338
337
328
337
425
317
265
316
333
188
327
357
394
291
350
349
337
331
401
360
383
307
332
395
336
289
274
352
248
292
324
296
237
267
369
241
297
313
358
336
391
221
412
378
287
228
237
295
362
270
380
366
263
327
323
377
322
297
265
288
390
302
330
268
193
347
260
379
349
331
325
327
373
346
274
333
417
349
312
216
295
339
341
303
329
299
341
282
270
273
308
300
270
312
351
279
285
336
317
338
328
414
394
407
341
342
341
328
362
330
342
251
270
348
339
264
346
336
265
344
287
342
320
298
333
348
291
292
223
295
286
367
389
244
310
370
456
290
349
359
271
373
315
342
336
383
289
325
319
323
303
271
294
284
312
379
355
272
334
313
275
347
326
326
377
285
315
293
198
333
197
310
330
405
329
391
266
330
316
361
310
302
273
282
334
221
272
277
271
315
266
324
274
288
374
299
351
278
351
293
298
339
279
290
282
336
250
327
314
266
352
295
315
303
286
211
370
329
283
322
271
270
363
369
292
356
288
237
288
334
411
261
300
389
356
315
302
248
236
332
274
305
281
319
334
300
360
331
311
322
331
248
285
335
247
320
347
324
259
367
305
262
294
237
315
260
322
287
248
354
332
341
292
255
220
297
261
298
342
291
317
368
350
355
331
342
269
331
361
395
289
325
297
229
324
387
249
267
300
294
333
405
287
282
288
360
308
271
321
293
284
292
281
225
220
335
254
268
313
261
340
342
267
238
367
373
221
285
234
368
326
278
325
288
259
270
230
348
316
375
374
294
354
320
387
279
281
334
311
287
226
271
280
423
264
287
337
271
291
366
387
373
328
237
294
356
393
319
362
351
313
223
351
268
389
287
334
307
290
400
318
300
340
330
301
217
332
297
334
304
305
374
329
322
420
307
316
290
339
335
339
325
277
306
289
368
350
294
357
356
350
235
359
264
318
356
303
300
283
352
358
401
277
304
262
234
314
299
298
355
284
262
270
350
290
383
337
197
275
382
317
343
371
295
250
364
295
272
281
321
311
403
318
269
328
280
303
357
353
359
348
306
289
258
314
294
284
372
295
380
317
329
244
266
328
312
311
304
213
304
317
280
329
350
284
345
257
358
311
281
344
322
319
264
304
310
272
308
329
284
351
360
272
347
411
323
285
334
290
317
340
316
398
284
294
314
284
257
358
295
315
300
256
328
362
304
295
350
369
264
377
329
230
251
308
323
327
284
282
267
431
277
317
374
394
285
349
353
309
322
299
329
324
332
284
314
301
293
325
325
235
290
344
320
322
352
309
377
336
334
191
191
290
356
245
304
328
312
239
333
358
285
349
313
281
422
365
335
321
290
227
255
306
251
365
220
252
376
347
273
320
329
290
283
358
357
274
376
251
302
299
229
259
251
312
398
381
289
346
367
328
267
346
323
283
220
328
209
292
325
295
308
314
290
267
339
354
288
302
274
386
431
346
372
384
370
314
383
299
244
265
339
346
314
264
349
367
235
308
218
361
317
314
330
374
250
264
203
305
416
287
345
338
285
307
308
340
262
287
264
344
305
220
222
268
274
298
382
333
323
288
279
332
347
350
381
273
354
423
247
387
303
387
314
396
322
297
380
202
443
352
322
316
307
363
338
306
224
259
405
262
283
240
328
361
340
342
277
299
304
399
336
347
304
361
306
262
334
281
337
412
305
315
351
275
289
316
314
330
315
305
353
267
389
304
313
370
403
314
287
385
293
337
316
363
401
291
364
228
336
365
279
318
348
308
323
339
372
248
278
374
328
292
351
357
382
346
311
299
280
380
316
375
354
335
211
252
371
302
349
323
284
212
288
317
275
428
309
300
346
373
378
397
394
401
365
229
306
240
351
334
305
296
358
324
226
282
309
380
321
340
281
239
346
258
338
305
292
269
291
240
388
355
348
290
334
334
349
371
305
298
340
395
367
368
307
305
337
350
318
290
301
289
355
325
280
255
360
270
355
278
324
348
325
342
284
367
377
374
313
403
356
340
304
313
268
373
276
254
315
265
284
357
272
395
330
315
330
328
302
331
282
382
280
247
304
343
326
282
305
331
287
281
314
339
310
298
340
317
214
379
318
324
347
292
393
326
372
349
296
380
342
291
378
331
234
290
268
364
320
305
342
380
298
221
323
386
346
311
340
323
327
339
351
272
300
292
331
235
313
240
286
262
351
345
358
264
286
319
287
318
280
345
323
214
317
316
282
368
261
327
299
293
326
308
327
344
211
286
363
353
288
228
408
220
294
305
398
355
356
238
232
376
292
335
266
282
299
270
391
275
262
211
298
306
329
325
258
315
330
364
340
288
281
322
304
329
337
371
326
351
320
286
417
282
340
255
302
242
259
328
220
345
293
285
342
296
304
386
404
308
335
306
280
262
335
389
350
283
399
326
282
326
313
324
341
311
333
331
308
282
346
322
278
308
345
308
276
354
376
214
346
320
310
416
330
231
347
289
320
357
298
339
404
311
364
354
268
296
374
317
325
331
366
383
341
288
278
312
244
272
337
368
341
257
266
247
333
399
361
262
386
353
320
306
354
317
372
271
327
337
278
366
305
280
362
326
262
272
339
270
307
316
332
385
354
305
366
338
313
337
281
273
336
383
272
307
302
325
261
261
273
310
399
342
291
283
327
327
382
322
318
356
336
324
379
326
333
332
315
252
333
254
251
307
280
307
298
282
346
290
285
251
392
292
327
264
265
325
365
330
244
316
396
322
296
360
290
226
248
312
274
314
386
284
346
298
287
330
314
269
365
349
276
361
318
279
369
282
278
294
355
255
345
314
358
368
370
266
359
338
371
348
389
296
279
323
272
295
291
345
393
291
346
363
328
329
281
311
349
350
292
307
335
279
367
309
308
286
260
269
301
297
255
293
313
357
322
296
303
299
332
301
314
317
300
357
327
369
384
392
433
305
167
309
248
317
285
250
348
340
290
171
343
394
296
280
319
303
324
220
285
273
328
269
268
328
389
321
224
368
292
279
261
270
357
397
326
266
327
280
304
331
254
356
324
243
285
362
305
214
262
311
300
302
340
312
303
203
216
287
369
350
316
289
293
313
244
402
310
324
408
378
303
330
256
310
319
307
269
283
346
195
347
299
342
324
294
279
356
331
318
278
302
298
346
354
297
355
320
318
223
392
240
279
342
287
391
256
282
301
350
367
267
273
324
298
305
417
281
284
288
272
404
267
262
301
389
337
281
364
320
279
353
243
307
350
337
330
328
340
252
255
296
265
218
354
290
394
381
335
339
300
376
308
279
313
282
297
308
240
382
326
309
281
409
324
314
362
391
350
374
318
347
337
326
287
304
266
360
306
270
342
334
314
325
331
345
314
336
389
310
301
254
314
282
265
360
279
320
270
273
289
385
328
285
306
389
247
324
305
320
255
375
306
290
243
277
299
404
273
276
324
297
347
375
314
388
331
331
290
347
235
358
312
410
343
379
304
346
257
328
367
345
367
346
330
314
264
385
337
316
221
273
311
280
320
266
334
258
278
354
284
323
288
244
288
333
272
278
253
327
308
343
316
306
306
306
388
296
297
294
331
224
264
249
358
336
273
290
379
301
303
315
354
353
321
317
350
338
264
327
357
313
390
337
345
264
265
276
283
404
356
203
356
298
401
303
336
375
329
337
275
392
268
315
394
251
269
337
363
284
307
278
369
339
357
318
315
365
302
326
321
329
251
310
354
276
298
332
314
347
257
376
303
249
301
238
333
375
359
290
375
337
305
303
322
203
369
304
318
250
364
309
305
357
371
324
278
247
335
309
353
330
300
368
365
277
290
306
342
303
257
340
220
273
318
282
335
279
285
234
295
230
337
365
270
323
338
364
325
419
333
307
342
353
377
295
316
358
353
319
336
330
323
350
309
262
352
349
326
355
305
296
372
332
346
333
302
348
335
307
275
274
391
323
276
380
301
334
376
357
273
367
314
310
374
296
344
289
333
306
220
265
363
330
279
293
315
314
304
324
273
345
307
301
323
259
290
291
370
273
304
329
381
281
318
374
326
374
292
241
299
407
272
238
402
256
347
304
399
326
327
411
305
309
197
297
241
280
311
397
341
354
313
303
315
326
321
316
261
322
328
278
217
297
343
341
327
295
262
325
296
345
234
280
334
341
230
387
269
300
293
315
354
312
412
283
191
316
345
289
304
191
362
362
206
344
291
311
310
245
316
342
268
310
208
253
345
323
264
295
362
356
347
276
228
280
398
215
309
330
267
314
196
320
302
319
336
351
336
244
360
309
278
352
222
299
347
286
386
256
265
371
368
378
235
359
352
342
331
389
258
325
317
245
326
288
341
303
334
351
302
252
284
378
398
290
336
344
342
307
306
313
320
389
288
299
372
349
391
359
332
371
338
372
400
379
426
326
342
346
377
360
325
283
357
352
311
257
386
319
320
341
321
295
295
317
278
235
320
276
342
299
276
371
265
290
358
349
360
327
310
379
256
306
277
359
402
305
307
297
356
268
235
312
390
331
339
397
234
386
314
318
250
274
399
363
240
225
264
351
271
333
315
233
254
216
376
334
315
358
270
274
362
314
331
330
390
356
320
249
376
295
271
317
339
291
296
222
328
332
365
393
245
366
321
322
270
295
313
267
363
336
310
318
353
308
266
277
328
298
345
300
300
333
379
323
307
326
342
375
290
305
294
291
385
278
248
324
223
223
297
253
348
392
343
322
347
330
313
345
391
338
388
330
281
291
371
215
325
313
302
407
323
283
271
295
194
376
246
315
387
339
345
296
283
231
381
319
334
374
313
253
294
252
252
389
362
356
334
269
321
397
308
294
343
364
345
358
377
332
322
274
270
293
246
273
333
349
276
293
346
222
315
317
315
315
292
342
241
384
208
320
424
398
284
187
280
396
350
341
221
296
295
329
336
401
304
273
266
227
288
399
259
269
331
324
322
286
330
387
310
303
266
285
298
351
291
311
333
318
263
329
325
314
266
348
381
308
373
365
240
288
262
320
377
395
329
284
281
329
297
382
285
261
339
338
276
323
314
304
329
269
384
366
310
374
338
304
332
397
306
346
352
280
346
402
317
338
279
353
356
353
296
209
365
344
312
252
325
294
361
241
311
282
332
354
296
367
330
314
348
335
355
318
295
354
289
312
337
361
324
265
283
355
302
375
316
313
364
302
325
363
285
198
301
341
282
306
320
391
303
340
417
327
345
259
287
331
278
286
294
241
371
364
309
331
360
378
338
349
341
349
352
260
302
234
268
322
329
332
328
265
339
386
320
284
291
402
290
362
383
320
267
318
358
323
338
328
282
429
276
395
319
358
358
306
323
340
259
221
365
272
358
323
378
248
270
374
251
301
276
313
305
328
294
313
312
285
281
341
337
315
341
337
340
299
357
297
293
298
288
308
259
276
352
293
394
363
259
275
302
338
229
359
396
280
345
348
303
304
327
337
292
336
263
318
253
264
293
292
406
289
292
315
328
324
280
341
275
291
309
309
294
297
299
377
398
333
342
359
338
374
284
294
332
284
392
288
327
316
291
325
233
296
349
386
225
354
337
258
327
338
368
278
345
367
293
343
324
354
401
301
355
280
298
293
282
348
336
316
318
214
228
360
312
281
309
379
355
258
396
320
232
283
221
401
341
213
277
357
323
287
409
346
322
333
317
326
286
378
294
245
295
324
252
222
326
362
362
318
295
284
235
256
340
357
289
289
398
224
289
314
297
391
367
266
245
296
252
338
255
238
301
303
329
347
349
323
297
385
295
386
296
279
263
366
360
320
335
302
303
322
292
367
256
328
335
177
348
277
338
356
254
328
305
360
178
371
418
270
358
311
294
265
299
373
416
360
365
246
365
319
318
344
292
391
303
366
390
266
270
354
259
325
343
285
418
356
350
280
344
362
343
295
334
307
326
281
343
271
344
286
341
261
271
383
242
385
315
322
267
344
372
386
318
271
303
338
325
243
401
293
313
326
278
321
343
268
277
315
355
318
313
370
264
396
325
360
391
326
331
328
282
299
357
250
342
318
357
346
379
340
285
380
332
282
305
257
409
409
324
303
297
370
380
316
241
312
341
273
284
331
319
232
319
328
304
352
340
310
342
269
341
268
272
343
310
384
275
323
314
267
286
413
318
360
330
341
370
267
320
287
306
280
330
295
320
356
228
333
298
311
382
370
271
295
245
353
306
384
289
310
270
294
294
298
280
368
314
286
226
321
360
300
293
340
302
298
306
299
291
353
278
308
280
312
375
303
419
289
345
272
361
355
266
268
335
355
284
401
296
274
303
244
388
297
356
310
358
392
318
298
262
274
318
310
245
379
264
283
282
333
353
319
279
353
311
322
278
358
345
268
353
249
351
311
363
302
332
207
269
308
342
348
343
362
358
334
299
370
379
289
344
320
320
311
278
254
371
310
280
337
255
367
316
270
271
375
291
307
384
333
329
276
294
368
304
278
267
317
355
321
259
402
283
232
354
334
336
313
321
257
291
295
375
427
283
269
369
290
290
361
325
305
309
265
340
380
245
343
314
394
324
385
359
348
346
305
373
372
377
273
368
260
266
342
332
322
363
331
211
387
363
309
311
275
291
352
352
297
218
287
391
252
300
386
246
240
352
362
261
263
325
323
328
366
283
248
282
310
328
259
180
255
328
273
310
381
225
263
296
310
378
286
248
314
325
338
239
343
329
328
365
301
355
350
224
373
316
290
298
264
194
347
307
362
294
336
283
400
336
328
403
360
326
267
354
320
333
307
286
407
320
378
290
326
291
356
363
294
295
353
372
235
404
274
290
325
352
275
249
371
265
424
339
312
288
267
290
362
313
341
266
333
347
319
278
329
309
336
323
312
317
383
264
284
374
351
301
274
346
395
348
237
296
308
302
373
296
353
330
345
327
280
305
262
336
161
370
340
294
313
241
360
352
284
295
203
302
348
349
323
384
271
327
236
353
345
365
346
245
264
351
318
314
387
298
313
259
247
363
283
295
375
364
374
337
259
374
356
251
324
260
248
293
214
271
298
367
355
318
334
319
298
318
275
272
283
318
235
358
311
382
267
288
330
313
275
253
372
210
339
457
310
353
243
311
317
277
274
343
178
357
341
373
350
349
262
297
338
362
311
374
411
245
312
292
291
317
265
349
338
333
306
354
265
376
273
258
332
309
335
284
361
332
315
328
349
281
277
371
279
318
356
352
246
261
322
309
321
331
331
324
292
369
311
310
314
311
302
303
335
339
306
306
327
313
341
286
362
360
276
244
345
289
317
344
344
354
303
267
318
299
260
340
303
341
294
348
357
260
334
298
340
297
218
235
303
299
379
301
312
265
287
373
317
265
342
365
292
336
258
330
318
285
262
333
336
371
351
363
275
387
289
263
319
289
311
351
373
368
250
396
368
294
295
317
367
248
301
378
335
240
310
328
302
313
341
335
308
315
299
361
264
270
240
271
264
370
345
394
303
264
321
340
244
339
317
328
325
325
326
355
347
270
357
402
324
277
255
330
321
378
302
376
337
318
291
321
300
291
306
351
366
329
325
208
367
318
364
332
336
343
359
279
372
286
319
368
208
409
370
299
265
321
335
403
291
378
323
325
330
307
218
345
348
295
310
385
359
371
313
189
346
267
359
331
339
361
256
368
327
267
241
289
278
354
300
337
313
346
426
293
309
364
291
302
343
357
297
205
284
278
345
359
244
315
282
307
260
281
253
283
293
278
280
311
293
227
333
290
358
320
375
349
267
346
353
349
304
265
327
350
204
355
268
217
247
286
394
228
285
262
305
324
249
281
238
320
282
318
284
351
277
254
416
307
328
308
306
335
298
289
398
315
314
311
312
311
276
348
357
304
283
311
313
343
269
250
303
386
372
343
345
342
351
347
288
260
239
338
399
343
364
291
342
356
347
291
312
283
353
373
347
321
325
274
403
358
330
328
308
282
325
382
304
321
324
263
419
426
259
269
300
301
247
337
258
297
246
264
267
283
301
335
362
352
264
258
289
339
320
299
359
238
288
320
379
302
333
366
271
295
383
354
281
336
264
348
262
369
304
343
351
277
353
329
339
349
332
262
405
360
348
305
299
346
323
251
301
317
359
241
391
300
350
283
249
403
328
332
330
332
291
337
338
281
246
272
289
338
231
375
278
276
321
200
372
270
281
339
297
365
325
374
297
332
334
306
330
287
354
343
294
351
289
409
365
372
368
235
333
349
334
295
245
316
331
292
276
303
348
220
353
331
294
339
360
343
414
205
246
307
365
338
321
310
273
264
377
241
289
306
374
334
334
363
296
285
370
330
358
325
330
287
277
358
376
355
302
266
368
251
351
298
347
351
265
235
285
327
358
252
268
352
313
323
312
357
318
281
320
330
251
333
292
334
214
298
373
456
389
241
280
395
281
320
300
224
371
225
300
294
361
323
307
288
309
336
240
335
307
370
328
378
366
295
319
327
344
288
338
397
415
367
360
332
324
218
329
300
323
362
305
376
387
350
358
233
261
383
317
315
269
235
351
288
279
341
364
303
332
242
271
335
242
268
301
316
241
334
356
227
353
268
370
307
272
323
343
267
328
279
325
299
218
286
318
271
406
317
398
352
299
336
275
404
341
329
323
334
303
302
347
250
312
328
268
307
314
302
319
371
320
320
340
328
306
381
368
308
308
336
367
272
286
346
262
308
389
265
323
217
277
274
293
365
307
251
294
334
357
387
277
318
287
322
349
345
430
357
252
331
330
261
288
360
401
354
316
287
253
367
351
303
315
317
372
296
362
284
331
235
272
270
352
317
329
230
315
315
358
378
304
291
300
242
209
328
338
260
266
336
335
377
278
318
308
328
293
340
233
335
323
367
314
277
296
329
384
228
272
385
338
293
274
290
340
379
317
288
222
264
262
392
369
300
315
227
214
310
296
359
358
363
283
323
303
379
326
344
408
342
332
368
369
330
351
296
246
328
278
360
342
293
398
344
259
309
226
258
322
265
290
273
295
291
254
351
351
288
285
273
349
308
278
264
340
279
341
298
318
377
277
234
234
313
285
319
276
229
262
344
341
306
264
325
301
332
314
356
321
327
296
303
280
279
298
351
344
393
273
352
265
265
269
356
319
275
307
304
295
321
327
355
400
323
334
259
251
352
308
368
359
304
302
277
307
257
319
291
271
347
297
313
338
399
296
269
300
325
340
193
248
302
280
381
279
322
298
347
355
378
353
369
334
341
315
263
369
263
249
404
284
311
358
345
319
257
295
181
359
317
312
296
313
318
308
263
326
317
350
362
299
230
300
291
280
341
238
294
367
313
267
325
296
326
296
263
270
312
403
343
278
280
305
377
258
240
285
247
330
306
337
313
295
301
327
322
306
192
337
386
281
387
296
356
344
382
304
318
257
373
247
315
389
345
262
357
312
362
312
268
344
278
299
316
399
301
303
320
318
280
354
311
287
274
296
343
309
322
247
390
347
364
276
320
319
332
351
290
346
248
349
248
393
354
355
325
350
245
402
331
333
290
262
270
264
291
299
370
298
282
389
315
390
388
328
317
276
333
273
271
295
323
265
402
323
333
301
394
294
342
341
310
362
266
311
329
350
296
395
363
369
320
282
397
296
284
293
282
328
319
367
308
243
344
338
241
352
319
294
332
291
302
337
407
304
371
235
321
349
302
326
280
298
381
388
311
262
286
356
286
259
274
276
353
312
278
308
373
282
264
324
318
281
301
375
293
294
334
335
372
339
275
261
309
256
312
386
283
317
363
314
331
225
340
373
330
289
327
441
379
278
278
379
332
321
274
276
354
299
343
336
383
322
292
249
337
291
359
295
344
244
378
349
295
321
343
260
315
268
299
414
263
282
354
371
362
300
324
277
264
381
327
336
356
313
310
296
366
327
294
358
275
297
398
381
335
383
356
294
339
292
365
256
403
256
314
270
350
345
396
305
248
321
287
387
295
291
330
364
293
284
335
336
363
382
306
323
346
404
363
232
345
274
356
334
379
285
308
325
160
292
324
274
262
416
281
293
289
256
356
271
345
320
360
373
309
326
314
364
278
213
288
361
310
305
309
386
368
289
289
310
223
304
398
361
360
282
326
312
426
305
294
311
293
364
299
346
244
243
298
305
276
309
331
286
319
349
308
354
345
292
296
323
308
284
241
249
292
289
357
298
340
337
257
235
215
356
304
299
302
338
374
295
318
326
357
307
377
314
299
267
320
268
292
345
361
371
388
315
304
309
365
337
333
331
300
330
289
321
302
307
259
339
364
318
351
289
315
297
333
348
286
379
270
271
316
299
404
284
291
361
366
313
319
299
276
321
316
403
287
336
323
302
341
355
279
402
315
296
267
251
272
319
265
336
354
293
341
311
277
331
291
352
339
395
332
317
372
292
344
330
370
369
328
295
252
383
399
346
305
282
236
281
348
345
274
356
300
382
337
333
369
370
362
311
266
370
320
319
203
340
237
290
317
310
265
350
364
298
364
317
350
353
290
279
298
282
324
378
297
274
313
301
313
364
279
320
332
260
283
192
265
373
331
317
339
340
229
305
382
340
335
290
407
381
383
365
355
337
403
283
349
304
351
248
326
350
334
374
424
265
303
313
273
295
344
340
369
213
409
364
300
264
317
306
297
374
258
228
289
387
376
341
331
306
411
376
313
375
363
246
333
330
380
369
346
295
346
257
304
357
268
306
269
338
364
317
315
250
331
328
396
337
336
415
398
336
318
334
214
262
293
317
322
297
260
319
349
320
279
355
310
300
295
218
318
292
355
223
346
373
262
259
419
331
398
268
290
225
313
291
275
347
360
326
337
325
398
313
337
352
384
265
298
337
308
306
326
381
344
281
310
301
252
348
338
270
313
251
315
307
314
315
313
220
339
293
230
276
291
379
243
224
380
339
316
390
287
305
299
281
358
222
348
261
209
308
292
264
254
337
342
321
304
292
299
299
200
347
285
312
291
309
285
296
316
292
326
312
369
232
329
335
278
390
363
299
320
330
300
314
299
365
339
323
283
381
280
260
287
345
310
343
341
343
282
305
383
324
275
349
347
254
373
276
418
316
289
275
270
264
301
321
268
236
279
237
302
315
379
293
311
144
311
283
284
209
321
367
369
328
292
338
337
275
299
389
343
239
290
256
319
322
316
298
306
298
302
363
318
321
325
317
309
341
363
340
360
312
314
298
248
316
240
355
360
373
248
281
256
265
345
266
312
358
426
340
314
383
271
245
330
336
316
294
283
327
306
285
389
273
277
268
292
327
351
360
325
306
274
364
348
314
290
319
436
229
293
443
361
303
246
377
336
363
344
317
349
230
295
317
272
320
292
284
332
344
360
259
299
339
304
284
319
248
380
289
330
434
379
349
314
277
305
380
316
246
316
303
228
315
331
219
397
383
311
328
288
303
257
338
296
280
322
302
326
362
268
321
351
350
280
296
301
208
370
234
379
338
307
353
351
308
380
294
336
321
334
247
263
295
273
295
317
372
304
291
301
314
237
381
297
247
250
377
239
338
301
299
262
268
254
342
303
359
351
290
298
253
290
272
301
233
330
329
279
329
323
275
332
283
300
284
343
274
416
321
233
372
328
289
314
424
287
289
381
276
327
274
286
273
373
376
336
295
336
361
256
230
314
322
272
271
389
315
326
292
286
304
307
391
354
322
338
325
269
340
312
274
373
316
326
306
250
249
276
225
242
288
316
371
248
368
276
296
332
345
299
369
387
279
214
312
357
333
277
250
327
348
328
234
298
379
272
264
386
312
282
345
358
307
293
341
270
338
291
327
299
342
320
329
353
298
383
247
343
316
342
295
376
259
278
376
368
356
314
286
261
329
386
358
325
357
322
257
316
290
356
292
323
322
269
360
360
298
338
348
300
200
256
341
320
309
293
251
307
244
322
223
344
331
345
328
362
390
289
306
364
311
255
335
357
297
292
338
283
333
373
281
367
282
284
349
268
217
347
332
296
365
329
259
332
299
315
326
270
311
223
253
281
242
377
294
236
409
339
357
342
375
286
356
294
263
372
353
280
296
295
323
358
385
328
308
267
402
303
388
281
270
392
339
335
275
308
245
324
267
337
353
347
288
224
319
272
359
396
309
365
300
210
225
310
229
335
360
373
378
291
348
306
300
375
299
347
301
361
315
297
314
175
370
306
290
226
350
299
327
375
324
369
355
357
282
305
274
339
332
411
321
289
366
334
293
313
324
262
254
370
357
393
352
378
296
264
370
342
360
311
321
286
295
376
373
365
337
322
237
329
337
328
352
243
264
337
373
264
258
313
267
332
308
334
339
286
290
235
309
313
315
328
332
326
250
325
295
398
297
359
365
298
255
331
343
269
274
371
355
309
282
279
308
349
278
342
336
255
301
320
305
298
296
277
394
379
300
355
395
392
231
385
316
317
375
332
285
286
359
384
354
324
334
322
369
362
335
407
301
312
265
309
281
328
329
349
269
359
348
254
194
333
308
285
348
349
287
380
327
269
290
264
291
371
363
342
306
307
291
393
303
295
225
440
328
317
327
354
408
321
252
389
306
338
282
296
354
327
352
389
387
259
272
331
268
332
269
245
438
315
313
321
272
317
320
255
276
380
308
308
332
329
268
344
318
212
249
304
343
366
289
242
229
275
263
286
280
329
271
402
356
308
221
325
323
233
403
337
303
304
348
375
341
317
262
268
411
356
271
390
408
384
326
336
374
328
321
236
299
285
376
354
398
257
290
280
242
230
245
340
315
362
348
272
337
356
363
251
214
407
328
292
328
363
271
293
401
288
352
357
399
305
337
379
253
251
272
270
301
275
288
303
309
322
236
243
386
276
262
341
301
323
295
284
300
377
274
342
353
307
321
310
303
337
327
336
264
311
364
373
295
326
326
299
326
305
335
301
316
256
230
267
312
318
287
437
344
229
290
313
323
260
273
314
272
248
365
267
271
316
319
279
293
287
280
322
313
207
294
367
260
337
400
357
299
351
282
373
187
373
275
234
301
334
262
306
327
305
280
227
350
329
344
332
292
294
366
259
296
345
381
287
264
295
360
268
370
304
248
287
344
332
240
325
353
295
259
325
282
334
307
278
320
249
305
215
330
252
350
319
399
414
331
363
348
358
379
340
275
387
366
284
400
318
372
264
392
357
290
402
231
310
314
326
329
327
370
323
333
301
280
222
341
304
348
366
357
349
319
258
336
338
383
276
313
267
283
350
298
278
360
379
334
397
323
355
299
359
304
374
375
332
323
324
303
319
364
326
320
301
331
277
359
308
353
292
338
305
344
362
298
329
335
319
290
307
288
300
416
332
370
339
333
364
293
246
296
314
329
298
336
299
241
285
353
315
301
291
317
376
369
353
239
322
317
293
304
303
312
317
306
336
311
344
275
324
264
302
360
297
329
299
274
387
381
247
267
305
190
252
274
344
310
286
316
235
346
292
361
227
244
338
293
388
346
197
330
263
401
395
232
362
304
307
329
325
361
293
406
302
337
272
339
340
329
443
314
328
212
383
359
374
194
334
194
345
349
255
267
304
326
323
331
348
304
299
319
332
322
322
200
362
307
193
312
292
290
351
319
336
302
332
266
341
304
324
351
266
362
329
347
300
347
307
371
259
298
273
310
304
318
281
316
242
301
331
335
341
269
304
253
273
370
303
313
348
265
337
268
361
347
301
223
285
266
320
381
334
420
308
217
290
326
294
331
306
391
290
370
429
292
321
391
329
279
295
369
286
302
389
220
301
368
306
312
263
235
340
383
282
256
357
335
254
351
246
328
312
293
257
321
309
326
206
350
286
303
286
299
377
394
326
396
362
375
314
272
238
297
346
264
245
312
365
345
338
284
312
285
376
299
336
295
291
309
278
381
299
330
360
387
344
359
342
311
290
287
344
382
347
364
338
293
314
346
355
293
354
322
416
361
308
189
396
370
308
316
299
327
277
314
281
291
302
252
299
281
268
312
246
322
341
412
344
365
407
330
272
245
319
229
324
329
286
306
325
289
376
316
310
325
343
265
361
376
238
352
329
330
359
342
366
352
345
371
325
404
399
283
223
329
354
388
343
363
322
346
368
362
331
303
356
238
321
382
304
333
324
273
320
272
249
269
371
227
365
332
325
327
339
367
395
281
259
332
322
368
266
356
303
380
338
272
298
369
294
343
357
346
286
331
292
310
342
356
313
368
327
298
241
346
257
279
368
386
319
294
231
267
310
380
200
256
331
357
288
307
392
263
270
360
301
376
317
352
331
276
311
257
299
302
344
244
313
264
322
289
286
239
316
353
317
310
304
359
371
279
291
282
315
270
267
249
329
382
338
193
264
291
267
367
310
313
314
343
318
285
262
336
242
265
362
317
288
299
362
243
330
302
294
342
257
280
300
359
411
204
337
289
244
295
354
336
389
364
333
338
347
285
253
281
292
387
328
337
394
362
304
346
302
345
274
265
273
277
313
432
270
357
348
289
385
278
278
215
336
389
355
303
446
288
335
233
335
274
349
341
247
304
244
268
242
282
291
324
254
275
250
375
299
306
337
374
352
347
370
332
337
301
345
257
349
259
350
363
382
228
310
406
304
342
290
365
391
317
316
313
280
379
315
379
216
334
316
231
264
359
288
249
265
251
292
315
321
226
276
391
315
325
306
312
317
325
412
351
261
339
232
280
285
341
304
236
342
321
314
350
431
316
304
351
284
269
308
334
338
364
265
362
380
362
375
326
348
312
271
300
341
352
291
318
302
330
370
329
276
298
263
346
318
357
321
336
309
236
337
279
318
351
378
268
251
348
345
275
352
287
333
372
345
341
344
275
316
302
305
333
277
295
372
347
350
319
338
313
315
265
352
328
315
307
310
392
210
279
359
313
353
382
295
338
250
338
392
300
316
351
315
299
356
311
284
348
312
256
211
314
348
346
323
288
266
277
274
222
348
294
320
337
308
303
286
339
281
333
288
247
345
294
329
308
336
209
307
322
311
316
388
359
259
348
314
251
311
372
244
433
310
317
253
208
286
271
275
348
340
402
267
320
254
387
289
307
339
366
360
242
329
341
305
327
352
311
275
415
351
237
258
353
398
272
316
354
352
343
341
349
352
306
328
319
339
328
302
267
298
338
285
255
334
325
382
263
356
301
284
295
281
357
305
326
291
374
337
279
346
331
305
246
291
316
305
271
272
284
372
337
293
274
376
305
278
318
353
271
300
333
327
243
349
303
328
360
247
278
348
363
382
335
327
275
359
372
311
339
315
350
378
374
321
295
286
328
320
319
312
261
304
385
347
375
345
300
382
342
374
329
371
327
307
336
360
271
313
337
262
182
312
290
297
279
341
291
297
327
323
277
291
381
399
336
280
405
304
351
374
352
385
287
345
324
295
371
333
311
325
346
322
277
373
284
358
334
287
337
287
280
291
294
277
351
293
385
292
319
334
378
335
253
333
331
367
254
296
240
294
302
217
265
309
315
266
238
261
252
236
297
325
294
340
301
387
356
281
308
311
363
247
314
268
362
368
320
319
319
292
330
367
297
319
259
379
320
323
301
241
301
265
327
339
284
366
323
331
275
158
302
296
218
331
276
277
298
330
306
376
327
312
386
383
242
346
358
343
292
316
252
322
295
294
316
372
327
247
326
279
289
376
291
278
264
212
300
295
322
303
365
289
330
370
246
283
293
398
217
264
364
330
323
216
320
265
275
266
326
242
188
312
345
240
322
312
304
307
310
374
314
321
345
341
316
280
216
373
282
322
296
315
227
434
224
326
363
363
320
244
399
373
316
256
394
320
363
347
307
343
342
272
310
330
338
347
356
311
304
354
265
313
320
212
334
289
319
316
237
293
318
309
371
327
318
375
325
247
352
380
268
300
334
301
292
350
365
282
352
252
305
338
283
266
292
340
306
301
356
257
278
288
314
232
435
329
252
305
376
341
242
307
311
341
310
400
349
361
364
347
279
289
250
276
291
294
333
362
268
253
327
334
335
360
394
350
335
271
296
314
312
312
324
217
221
302
293
316
237
255
247
288
387
317
379
351
295
293
299
345
241
322
396
361
276
339
385
294
315
285
317
241
392
359
306
232
327
311
284
246
321
204
338
422
308
342
348
378
293
276
204
321
293
313
318
371
310
271
310
313
292
305
258
351
278
292
331
288
346
353
286
225
283
366
323
275
234
319
314
387
303
307
319
337
332
384
324
285
288
294
393
367
290
262
255
373
244
317
335
317
312
331
368
289
336
354
251
254
267
295
292
322
319
408
255
305
352
281
309
309
331
319
262
350
267
321
347
313
224
352
389
216
415
307
313
325
320
318
252
370
301
228
331
294
395
397
327
282
332
306
366
311
342
344
246
325
349
324
270
271
290
298
315
367
293
314
182
240
345
357
336
297
271
326
358
328
288
257
303
305
292
284
331
242
280
238
360
333
276
388
290
296
358
291
306
275
359
233
366
300
352
268
276
346
292
287
396
394
193
342
298
286
356
327
273
384
337
386
222
281
260
235
309
377
323
316
286
326
299
328
282
306
273
317
315
303
392
356
291
308
391
290
278
201
327
214
301
313
398
394
339
343
332
318
357
226
263
325
317
305
349
300
286
319
312
315
259
372
361
312
394
237
275
281
301
318
339
281
227
349
293
260
355
276
276
336
332
340
302
285
334
315
318
363
322
345
321
290
319
293
348
324
293
405
345
258
310
316
330
224
302
230
327
366
326
334
313
356
289
342
230
299
298
333
348
284
353
267
321
351
328
305
331
426
351
337
323
363
280
352
294
360
327
335
343
309
260
412
258
318
294
350
309
331
322
304
281
339
342
306
306
308
326
337
267
342
340
381
345
323
275
303
351
331
306
309
257
293
266
360
259
427
345
362
264
281
289
386
392
435
227
373
283
324
344
241
297
319
311
273
344
349
318
275
253
252
235
311
391
351
339
274
287
313
351
373
329
236
360
210
289
304
252
284
233
409
300
326
260
361
250
284
300
324
367
305
216
244
296
436
325
318
380
357
301
231
313
358
315
273
286
370
285
323
349
358
346
331
332
293
318
364
331
277
390
310
250
330
423
328
374
379
326
341
326
352
301
359
279
337
183
317
249
342
337
342
322
302
318
260
396
362
308
291
331
250
361
305
296
319
294
279
346
359
336
301
262
296
314
345
314
325
347
381
348
289
260
227
181
320
326
378
352
236
257
319
242
327
427
247
255
333
351
301
313
375
269
200
390
296
290
340
334
224
292
308
313
319
313
332
181
245
380
302
338
303
271
325
326
321
327
355
334
326
339
324
253
357
350
283
353
265
309
323
328
355
396
379
346
207
327
342
322
234
345
309
300
369
299
307
275
313
367
329
281
381
316
260
320
269
335
301
300
303
339
289
338
273
379
325
344
299
300
307
315
345
319
353
309
342
252
410
345
356
300
325
247
222
330
282
313
298
341
312
334
338
334
343
308
253
300
356
370
310
366
391
360
301
323
293
312
317
302
291
310
336
353
315
324
357
278
393
285
265
372
338
325
322
287
409
327
294
312
346
258
236
296
264
300
303
405
289
343
394
319
373
304
264
272
330
299
269
356
317
288
331
353
274
343
339
320
353
309
257
228
313
291
302
352
295
249
208
366
396
230
300
305
263
287
340
339
309
361
366
305
330
341
376
272
270
335
319
323
343
322
283
289
258
299
357
262
320
284
238
364
339
296
249
350
310
292
284
262
327
273
328
363
246
372
267
293
289
343
407
249
352
308
383
412
383
345
331
308
323
259
383
268
347
307
341
348
327
331
410
392
270
314
294
351
294
367
381
359
252
328
318
319
338
339
203
365
271
227
314
233
398
366
302
370
375
283
277
305
294
392
345
314
280
333
299
288
352
382
383
352
380
307
358
256
288
268
326
304
246
297
318
317
345
213
310
374
351
209
362
405
295
259
343
329
354
375
334
250
354
296
304
401
302
240
313
330
283
369
326
303
329
363
384
350
312
320
290
275
338
205
319
326
294
314
301
410
292
267
324
307
357
351
378
265
335
388
351
316
237
283
321
332
415
304
369
343
293
286
283
320
232
309
343
259
334
251
303
353
314
255
332
276
293
353
378
339
366
413
340
405
376
340
293
369
312
315
325
275
306
273
383
318
293
372
211
350
326
400
341
230
348
262
305
285
327
300
271
310
324
311
288
345
299
298
277
299
315
321
316
301
220
256
301
353
361
302
311
292
369
336
329
283
282
347
318
328
381
375
318
352
257
378
317
330
346
263
283
386
343
411
272
394
370
351
272
358
333
353
217
356
287
303
304
318
334
301
318
308
218
297
271
283
260
357
352
386
344
279
313
351
312
384
250
361
289
306
303
300
271
335
248
314
272
370
208
322
277
205
283
268
318
378
250
347
371
312
345
342
327
224
273
319
299
335
323
347
372
322
290
258
295
320
380
325
258
286
272
330
325
316
322
284
207
377
257
275
299
369
275
303
281
353
310
313
328
356
321
263
228
306
344
324
303
322
313
308
263
320
357
308
258
384
358
256
314
312
242
265
381
288
338
338
375
340
375
278
250
318
248
340
423
212
247
385
289
381
343
333
326
279
321
323
332
337
381
350
224
370
254
309
319
374
319
282
320
228
246
355
244
307
234
354
342
305
226
423
253
355
412
289
227
267
326
290
283
322
314
370
243
318
251
371
307
338
326
336
340
355
352
341
294
336
363
330
315
341
297
411
298
357
366
329
283
315
295
255
312
362
223
242
265
355
290
327
302
342
310
364
305
341
279
328
328
343
283
301
337
335
321
315
311
340
314
317
303
334
290
303
298
330
330
352
376
364
255
331
274
310
309
276
242
383
348
273
357
310
303
327
265
343
338
287
284
323
281
301
308
290
327
340
331
357
310
257
334
309
271
235
348
218
279
333
397
413
347
274
323
326
257
311
331
297
350
300
258
295
346
326
262
263
240
309
382
397
327
238
332
303
245
255
340
347
286
259
270
320
307
379
403
281
300
268
359
406
349
291
345
386
282
320
328
348
299
336
230
326
306
352
235
291
336
287
307
208
300
276
305
325
331
309
271
288
379
340
339
285
362
250
321
328
341
300
403
356
308
322
319
387
308
314
359
357
261
212
325
296
315
375
229
281
353
332
291
276
351
290
310
321
307
303
314
363
329
239
276
340
320
324
307
338
333
341
368
377
291
352
245
277
224
280
263
343
386
340
378
271
345
315
331
285
322
303
317
301
302
243
343
330
326
340
341
368
320
335
318
393
309
296
278
211
400
305
317
253
231
273
368
231
309
302
299
252
355
284
331
401
282
302
226
295
334
304
338
287
450
241
325
357
281
164
322
297
341
272
270
239
347
333
332
301
295
335
367
273
262
279
359
399
321
305
355
329
259
325
311
312
292
319
310
340
204
269
271
239
361
357
353
216
293
330
313
323
321
376
305
305
262
327
277
293
337
303
402
305
288
331
331
344
387
279
284
268
309
338
323
263
288
299
389
327
353
334
351
313
298
347
357
312
355
314
291
320
364
332
289
269
314
373
357
277
273
260
334
327
369
310
300
367
336
275
376
344
320
302
322
319
373
235
339
223
311
300
304
335
308
310
357
361
290
394
333
389
306
331
279
327
282
371
229
388
276
316
282
366
287
309
282
343
230
227
335
290
357
223
371
373
347
267
309
334
316
281
257
355
251
229
298
371
274
313
356
263
338
362
389
334
304
270
372
294
240
297
246
311
363
255
255
266
279
372
362
318
345
322
286
304
426
311
386
275
284
319
249
310
300
254
268
313
284
348
299
316
359
293
275
289
231
386
224
331
326
353
332
352
262
269
330
370
359
347
305
279
293
331
367
258
349
256
298
343
281
357
364
367
344
330
282
313
409
371
287
308
202
257
358
342
237
336
411
323
372
330
392
388
330
370
360
343
241
356
316
294
264
312
360
324
327
329
299
334
246
357
323
320
327
284
324
304
376
380
335
347
281
277
337
277
344
282
322
333
326
325
317
296
296
167
231
293
278
328
334
369
294
314
363
285
353
360
404
301
383
257
335
311
368
340
275
326
343
258
278
235
337
365
288
325
305
436
314
351
286
286
341
373
343
346
362
253
388
345
238
317
335
335
344
405
325
350
241
344
359
350
338
290
327
323
350
344
279
329
311
257
306
350
323
254
337
275
349
375
296
357
332
210
325
316
411
370
333
336
246
263
412
326
321
347
355
347
348
304
331
307
285
306
344
259
335
333
338
331
314
275
341
308
267
320
309
311
359
323
349
253
309
312
304
374
329
257
265
305
273
304
382
288
314
422
288
211
267
267
252
294
324
291
370
328
286
365
291
196
348
256
265
296
339
395
297
345
333
335
352
228
264
405
436
373
287
308
374
285
286
307
286
322
296
265
251
375
303
372
285
376
326
256
309
331
284
294
264
382
338
274
263
228
338
232
298
340
359
305
401
368
331
310
206
230
360
393
285
270
389
278
413
301
365
286
269
342
347
243
327
223
404
253
336
351
358
321
253
261
329
355
351
258
335
294
302
383
352
392
296
331
365
336
290
313
268
329
431
360
307
315
371
259
394
320
348
407
270
250
278
356
383
321
285
272
359
292
305
383
256
312
318
297
328
301
405
378
237
363
253
287
347
354
327
386
476
328
312
302
400
332
302
301
420
368
266
287
327
325
363
339
358
337
339
368
275
306
269
285
337
322
305
354
296
315
310
347
275
329
233
340
285
326
398
356
326
401
279
272
256
262
231
213
329
429
366
276
384
292
355
308
344
330
376
302
352
380
340
327
347
269
382
374
358
282
384
230
316
337
342
321
305
340
300
307
276
345
329
355
370
371
329
262
357
319
281
314
323
335
342
232
287
327
367
249
298
350
353
235
323
427
358
285
383
304
282
247
292
350
356
325
254
274
406
335
311
284
304
235
310
304
335
340
385
319
269
332
333
254
345
233
383
337
325
346
397
315
348
307
332
279
289
248
309
410
330
333
310
363
286
333
400
305
338
319
330
380
285
328
313
331
247
321
365
357
270
318
372
291
247
327
306
321
312
319
324
290
344
341
331
297
255
305
314
321
284
257
266
261
302
221
281
300
319
315
288
244
273
343
245
268
353
351
393
275
300
345
313
285
404
218
375
371
324
254
284
248
280
319
365
231
342
339
281
324
333
419
269
387
294
331
341
243
436
280
300
258
371
288
255
342
329
333
268
359
328
293
351
297
305
314
232
394
313
268
344
310
303
308
374
403
385
305
339
369
346
323
282
393
249
339
319
279
315
347
307
313
315
260
329
306
315
299
294
288
334
289
333
407
364
335
235
344
213
282
256
293
315
259
336
409
283
280
372
347
313
284
328
281
358
342
312
402
288
324
295
301
348
393
342
327
406
219
338
297
389
284
317
255
342
278
269
272
313
252
319
320
316
307
288
316
280
301
379
315
253
372
285
303
309
329
378
262
365
358
247
398
369
269
313
243
326
317
259
290
260
327
306
317
334
258
364
357
333
257
323
365
339
299
325
336
374
267
258
360
296
299
228
376
253
318
337
342
233
251
270
342
332
210
309
322
199
275
246
284
288
380
305
390
345
364
322
261
389
364
307
298
336
335
304
274
292
402
239
389
309
281
342
260
359
347
267
338
323
363
373
325
388
349
287
343
254
269
279
203
287
290
309
306
363
296
259
352
317
397
316
341
346
365
278
349
250
326
235
390
343
307
264
316
324
308
321
382
290
343
269
307
275
289
304
403
387
264
285
338
296
302
382
245
311
294
316
298
334
340
359
217
298
372
271
249
370
331
410
282
393
325
294
286
310
392
318
251
325
385
298
345
358
321
391
372
322
348
342
283
323
316
244
354
364
328
333
280
198
367
323
280
287
340
330
333
339
322
337
259
374
392
199
311
275
321
355
326
349
338
292
324
348
261
217
333
309
273
260
303
250
246
331
292
399
283
262
385
280
378
340
310
288
329
300
391
429
255
368
238
346
361
309
351
283
277
304
365
361
377
373
253
367
376
289
326
289
376
273
279
399
249
324
193
286
285
294
343
350
306
389
370
383
378
341
404
298
307
384
326
261
299
293
269
282
294
358
330
331
362
354
352
255
324
252
364
274
241
259
256
283
273
271
342
350
301
287
324
293
290
310
333
359
328
258
285
331
294
260
388
346
267
329
261
293
274
311
313
350
356
302
277
336
324
256
301
347
324
300
283
277
340
360
335
391
243
340
237
315
287
293
294
307
328
414
425
360
355
298
369
245
352
339
295
297
349
348
338
351
301
339
376
216
305
270
322
316
255
340
288
347
358
333
322
316
276
298
298
289
277
389
364
329
371
276
322
365
295
364
313
237
346
313
346
325
334
361
322
432
283
295
333
335
278
389
333
322
303
383
379
356
295
236
310
354
314
333
333
294
366
275
311
282
273
299
349
297
288
397
311
326
288
330
297
326
399
330
304
367
277
391
322
279
351
315
305
371
285
292
243
311
304
295
373
328
301
313
343
344
305
288
386
313
267
353
228
297
329
389
251
347
407
332
311
228
201
306
284
289
326
369
294
390
282
318
337
328
405
330
305
331
288
325
284
289
334
318
272
337
318
364
321
420
329
309
257
345
300
266
294
402
337
309
353
391
319
337
366
396
410
390
289
357
358
322
306
390
334
324
319
251
370
343
271
298
352
365
286
262
352
255
346
367
324
391
413
380
313
375
237
309
318
322
221
326
291
264
339
328
368
289
340
368
292
328
324
364
330
280
313
263
256
321
311
330
318
304
279
321
366
217
306
273
298
343
365
301
275
320
412
311
296
322
366
388
356
296
330
354
353
217
338
320
304
342
225
307
294
280
262
272
248
235
392
333
297
324
340
347
305
371
304
354
313
325
375
264
345
269
237
267
367
264
283
252
374
341
314
292
307
308
315
276
306
303
333
321
396
289
316
350
337
361
247
217
305
301
353
205
289
329
290
357
311
288
340
290
293
305
385
257
387
284
345
278
288
232
308
390
317
372
357
333
362
357
250
393
368
307
356
388
279
325
298
374
298
384
305
325
288
434
336
408
335
314
347
322
261
247
387
388
372
362
312
252
362
320
299
292
362
364
360
338
344
320
293
349
310
276
320
384
328
316
249
212
249
275
356
324
317
329
293
247
306
252
367
323
243
344
376
314
297
318
305
409
317
307
353
406
207
331
331
327
303
325
331
296
366
333
346
349
309
356
241
279
386
368
300
258
310
258
231
286
260
288
269
384
315
445
330
360
253
318
356
319
391
293
353
325
330
302
362
305
325
198
365
303
311
381
323
339
394
308
381
334
365
381
337
384
349
366
242
386
314
373
409
308
306
286
288
353
299
344
361
314
316
359
318
276
229
203
309
278
249
263
383
309
345
326
243
338
348
330
292
252
331
271
331
332
306
362
339
359
309
304
293
270
347
372
353
287
348
323
254
300
240
289
368
272
394
314
327
326
358
301
280
280
336
364
265
270
345
233
323
344
344
338
286
301
272
380
336
358
386
266
285
265
251
335
321
292
301
306
301
327
309
334
301
339
296
327
394
333
339
376
272
354
280
279
315
275
363
313
327
296
368
347
320
353
406
256
309
319
255
387
310
297
343
338
356
327
367
298
254
349
298
289
365
336
342
398
392
365
303
348
348
283
319
176
372
357
335
334
221
308
402
267
329
334
314
302
362
339
323
298
249
389
251
333
390
308
318
350
364
283
332
326
356
295
362
292
324
198
313
359
326
307
270
264
313
360
348
354
394
313
384
350
269
392
257
274
379
325
369
287
283
247
282
376
285
318
325
298
275
278
404
314
341
281
352
338
267
357
365
349
313
346
370
277
349
251
314
238
309
224
329
241
321
267
248
407
356
247
302
248
294
308
280
288
332
326
272
324
397
312
276
312
348
315
300
243
296
173
365
296
228
284
368
365
275
372
203
346
340
261
334
298
278
251
230
357
299
304
389
280
282
287
309
283
330
356
307
276
296
306
293
313
306
287
312
377
420
296
322
324
331
357
292
259
342
303
221
250
351
290
319
313
343
361
238
247
331
304
389
357
291
356
368
313
224
317
289
262
320
299
390
326
269
314
384
359
304
359
337
266
260
320
351
269
357
332
332
307
291
326
292
357
351
320
297
270
389
349
359
273
276
268
318
289
269
307
330
210
317
264
338
275
293
300
274
315
239
380
316
301
336
340
321
296
321
338
385
276
373
335
386
367
349
346
199
204
194
333
267
304
283
308
332
279
312
324
235
345
346
334
306
313
308
356
287
318
277
238
419
340
317
292
340
298
325
332
259
338
306
394
289
294
351
315
272
283
327
396
289
332
243
315
340
362
379
301
367
349
355
320
336
362
343
293
208
255
247
352
256
235
296
341
271
305
262
301
319
310
292
319
337
335
308
322
297
328
361
402
391
315
373
350
328
336
291
419
328
357
334
338
274
339
366
333
246
252
377
397
385
346
315
353
331
295
342
335
354
247
319
336
338
311
363
317
298
275
254
364
299
382
359
334
329
328
329
381
383
304
369
255
340
371
294
325
334
327
351
350
281
348
323
307
260
333
316
315
267
294
356
377
347
342
293
384
297
351
380
360
315
344
307
280
294
337
288
355
292
274
378
296
307
281
350
345
256
378
322
240
311
302
345
300
371
299
346
340
288
304
279
319
315
336
352
350
295
306
297
345
331
301
335
280
268
266
262
333
354
296
335
350
352
293
304
329
336
295
355
393
326
282
283
323
359
311
326
252
318
292
336
387
304
435
375
386
313
238
274
252
406
374
287
308
324
352
286
291
223
289
332
298
359
312
325
213
345
286
296
317
328
267
324
364
400
345
320
324
253
351
330
287
344
276
361
282
267
342
292
311
376
332
259
355
307
361
261
277
291
320
246
374
291
338
375
338
231
363
369
311
357
368
297
272
321
283
335
343
328
390
255
327
329
325
352
282
315
310
370
265
304
374
404
236
263
350
307
380
348
355
293
256
384
424
369
370
310
322
327
280
371
397
377
227
295
399
289
350
322
290
352
317
265
279
337
309
333
304
295
366
269
344
243
287
333
298
325
299
358
369
344
318
337
304
374
303
257
298
317
292
304
306
322
350
327
367
287
337
344
287
375
355
266
361
342
341
341
286
265
297
241
324
307
399
289
246
274
280
301
325
299
238
353
352
290
313
298
297
247
438
298
179
331
392
299
214
350
313
251
317
321
325
371
299
348
196
164
330
373
322
347
217
233
290
334
337
350
276
344
293
328
335
265
365
363
278
361
337
304
289
297
350
363
279
313
312
393
295
338
342
267
284
351
237
293
256
348
291
283
228
291
340
275
384
372
355
304
345
338
281
361
347
295
230
302
325
259
336
318
335
363
299
270
338
380
271
304
353
199
299
314
242
302
292
358
331
341
344
271
354
304
342
279
321
292
358
325
376
345
336
351
335
272
308
318
321
399
357
313
259
382
370
346
247
362
315
410
237
385
318
285
355
358
236
361
345
254
355
324
321
380
359
390
302
278
320
396
243
376
367
328
357
307
293
255
285
363
365
230
295
302
282
344
351
372
250
337
368
329
305
318
282
329
314
291
320
368
391
284
321
241
307
273
371
263
319
361
348
244
261
366
336
352
341
331
369
331
378
304
248
327
269
298
305
390
299
309
304
328
281
297
302
270
332
327
270
320
224
345
307
329
376
274
313
336
326
258
301
317
306
319
326
332
356
343
306
367
325
383
356
313
183
281
299
314
367
361
300
299
290
298
386
303
297
302
384
280
306
340
320
347
289
269
331
339
321
322
331
285
258
336
289
315
309
349
314
304
258
344
288
270
318
355
267
326
318
324
344
369
355
310
259
347
279
347
188
317
367
289
266
305
305
240
269
324
290
277
321
341
259
312
295
368
314
291
309
364
261
293
343
347
338
336
322
392
303
320
288
363
333
314
255
361
294
333
354
269
250
349
338
354
356
316
268
333
347
430
318
368
306
285
358
260
389
418
319
355
231
289
355
283
274
207
368
238
248
289
299
325
324
310
231
361
419
304
280
317
323
238
341
287
282
311
276
304
349
370
332
277
353
304
288
286
282
264
277
319
323
263
252
334
353
336
296
244
309
383
334
335
329
242
373
314
350
277
322
267
188
298
259
374
327
323
289
221
268
314
325
316
337
330
260
361
289
300
303
243
291
349
278
274
341
317
365
322
302
384
324
321
318
326
379
293
259
292
303
258
330
318
328
297
323
322
330
383
329
326
352
365
319
306
304
266
283
390
296
302
332
336
336
383
392
322
353
352
376
433
365
328
275
271
338
345
283
315
264
292
252
357
322
330
341
364
278
342
350
322
292
267
354
235
319
386
339
349
305
290
300
316
278
355
285
365
226
291
324
245
288
380
312
379
349
259
388
315
320
295
304
314
331
283
323
335
292
260
298
358
355
285
267
271
304
280
311
325
331
318
220
287
329
307
284
394
243
345
294
296
278
361
338
368
313
363
358
311
231
373
246
274
355
257
203
254
330
346
267
336
302
399
232
349
309
309
313
309
269
344
271
286
277
310
366
299
336
303
312
263
276
314
324
345
300
313
320
306
290
315
357
264
289
402
352
333
322
342
300
384
302
304
248
371
334
260
379
370
289
253
305
329
342
270
393
339
364
303
331
364
339
318
334
378
288
319
346
333
307
256
260
282
345
345
368
278
342
388
317
292
205
348
396
229
379
305
309
292
291
319
275
253
310
327
305
254
348
331
280
267
384
348
333
236
253
349
363
287
361
318
334
333
253
292
287
246
378
360
293
290
348
377
381
334
294
301
316
379
391
302
325
326
364
327
395
263
281
310
325
337
326
275
351
300
308
253
334
309
298
285
361
272
316
338
258
314
290
362
307
313
345
374
313
301
255
329
295
296
319
365
334
376
353
285
374
404
304
274
328
317
325
338
282
292
355
287
321
393
394
311
398
364
291
282
312
375
309
251
355
320
258
331
378
284
294
313
297
323
323
265
325
305
301
269
327
383
267
297
404
329
443
240
297
244
290
236
334
309
314
251
228
297
327
294
320
363
346
388
267
339
321
333
260
278
281
217
316
294
302
330
316
233
304
373
407
325
322
262
353
264
316
317
353
336
400
343
350
298
267
301
354
297
380
272
284
373
395
320
308
258
274
324
323
358
270
308
327
403
266
258
321
328
292
324
340
332
301
244
298
205
263
254
245
292
321
311
326
307
261
338
217
331
343
283
273
246
356
367
341
280
330
326
246
302
299
326
290
269
279
308
348
270
381
395
238
311
370
293
303
355
249
311
360
264
363
332
334
351
344
304
333
286
289
299
334
291
348
291
317
293
351
362
309
391
364
287
300
314
354
315
390
222
254
291
314
261
329
358
297
325
341
418
367
337
255
344
356
286
236
373
332
252
372
278
250
320
307
308
311
311
277
259
323
288
340
347
330
320
295
301
323
292
279
369
290
345
357
287
354
285
210
383
313
323
343
374
272
365
351
288
288
272
307
295
345
307
285
373
365
247
318
313
286
282
333
300
257
301
271
288
335
329
311
353
322
339
331
376
288
347
381
360
299
304
318
297
324
318
334
320
216
275
314
347
313
372
321
299
358
318
267
316
328
334
251
306
278
310
330
321
377
379
308
312
304
312
326
324
327
284
337
335
245
340
299
236
323
357
326
342
220
254
376
327
354
327
214
331
293
365
393
330
347
228
299
341
399
382
265
343
328
266
374
384
296
395
276
270
366
269
339
283
308
323
347
308
382
315
265
315
314
354
277
343
292
309
355
347
234
338
276
356
395
291
351
233
266
323
343
287
355
381
305
321
271
252
249
264
346
250
336
323
295
258
319
300
274
215
360
332
367
293
265
321
333
312
319
367
344
209
368
329
288
343
296
301
342
306
344
304
378
359
298
299
376
374
309
280
275
360
356
301
374
330
321
304
274
367
266
370
339
358
302
218
436
301
397
324
365
281
292
292
263
285
226
334
295
281
387
327
319
231
350
269
356
295
257
325
266
298
380
273
368
327
382
312
332
306
403
252
262
328
358
204
333
391
267
380
303
299
316
284
332
274
281
299
360
274
269
323
325
347
433
334
224
332
344
212
290
314
337
295
374
332
332
272
288
390
339
330
279
305
247
230
255
311
364
398
338
379
328
312
368
331
281
320
291
308
390
314
322
312
362
259
281
230
315
334
289
335
319
299
285
281
369
274
231
370
329
319
326
282
298
353
361
339
343
361
257
262
346
279
317
297
348
316
367
312
284
284
341
300
366
298
293
276
325
384
218
298
283
277
345
385
344
297
379
298
326
252
310
361
295
272
313
279
322
257
307
304
209
266
361
262
294
257
315
284
379
319
321
320
297
223
317
277
352
316
275
255
382
243
339
279
301
341
391
332
254
311
188
277
316
280
344
366
351
254
327
300
314
232
327
229
379
306
306
261
239
295
334
340
416
250
335
328
299
309
310
330
348
329
245
393
334
333
280
363
304
296
275
370
318
258
309
392
309
272
264
307
260
298
255
402
241
340
277
286
346
261
324
346
299
270
306
259
352
300
331
299
312
304
336
368
426
319
317
309
366
280
393
267
310
342
312
334
435
392
293
285
336
312
255
358
353
246
322
284
308
345
281
313
286
381
252
297
284
396
336
256
282
304
276
295
269
307
304
320
376
314
181
353
298
289
336
345
235
363
299
233
328
304
366
297
257
309
331
369
250
407
322
295
354
296
307
279
317
298
337
316
308
291
288
257
305
306
345
269
355
345
232
266
312
295
340
283
300
326
320
321
260
265
247
334
302
317
213
347
395
345
333
349
303
331
337
201
266
388
365
274
313
336
322
333
352
406
309
274
365
355
297
302
300
285
383
288
251
339
305
332
335
247
318
311
309
368
319
370
308
307
350
333
264
352
324
331
352
352
326
318
267
280
349
299
381
302
366
294
362
337
357
382
354
309
357
233
333
353
320
275
349
319
339
264
282
325
328
279
383
290
329
287
284
320
353
342
397
336
396
279
259
261
292
307
308
254
343
292
343
261
292
360
251
336
249
323
328
254
284
332
307
312
325
364
332
284
217
265
385
343
292
343
335
252
362
294
317
314
358
304
342
318
287
347
278
271
363
290
302
336
267
357
350
331
325
330
295
341
240
294
272
360
324
221
308
259
325
404
278
231
263
318
279
236
229
276
265
319
247
318
402
266
297
350
227
282
343
196
271
342
303
327
386
432
379
348
262
335
276
325
310
321
181
388
377
270
232
317
345
271
356
363
325
281
270
349
260
279
317
336
285
249
339
308
314
357
322
316
330
386
371
332
342
319
302
322
280
229
298
279
262
338
286
362
302
353
372
335
370
317
257
311
318
328
354
305
219
365
319
320
336
325
326
350
339
313
331
405
368
306
379
296
314
341
356
369
348
295
457
373
278
237
270
354
225
305
381
327
405
334
330
236
177
296
319
354
276
343
334
358
329
254
291
301
350
299
360
307
320
382
317
372
322
217
272
363
240
341
309
348
317
308
300
354
298
333
369
373
256
313
286
361
292
361
302
310
354
237
337
283
234
293
343
264
303
277
336
311
213
388
311
304
345
356
356
321
368
336
390
324
321
354
414
338
303
283
296
371
318
310
312
352
304
346
315
263
297
272
283
259
328
330
303
351
322
338
277
244
292
206
237
360
259
366
374
263
277
397
386
360
322
384
307
273
341
415
321
356
410
355
249
353
271
387
333
381
410
315
368
216
365
243
290
376
341
330
381
353
288
272
328
318
352
296
336
321
273
298
239
260
272
253
339
345
318
322
322
348
292
242
275
340
317
291
267
307
303
317
312
402
266
352
249
285
374
309
254
328
295
442
336
319
350
355
304
296
295
308
273
239
344
339
337
312
326
303
276
225
275
228
322
259
291
271
280
297
237
312
299
276
318
272
322
401
274
288
363
339
307
266
297
364
311
338
372
294
365
285
288
265
343
308
397
393
337
272
318
274
272
152
232
285
280
374
389
327
265
325
334
347
224
326
336
321
315
300
261
387
321
385
289
383
368
334
381
345
380
358
332
319
325
368
347
417
379
290
320
301
414
326
319
359
376
340
280
331
340
360
329
338
266
298
316
257
286
323
221
356
255
278
335
288
306
289
392
374
251
337
324
308
325
320
238
317
333
352
344
260
364
320
326
179
287
271
232
360
299
327
306
279
314
414
343
254
299
274
273
358
331
271
323
235
348
308
240
220
338
307
339
371
243
224
320
322
341
413
340
324
360
331
412
294
335
351
300
325
262
276
330
312
355
340
321
328
304
370
226
268
357
280
301
370
262
334
348
227
284
236
328
320
236
315
303
290
355
227
353
311
307
358
343
211
303
242
301
358
289
321
302
291
292
279
291
365
328
360
294
298
324
246
378
321
318
269
307
374
368
294
348
306
305
298
367
331
355
293
319
326
286
336
400
239
316
381
238
329
326
363
330
407
295
336
364
337
315
355
295
385
303
322
315
290
248
294
264
212
353
268
342
256
340
327
269
271
258
252
320
255
280
323
268
290
379
386
285
249
262
268
305
352
363
333
348
282
399
371
299
334
253
375
382
355
259
317
345
286
366
271
371
302
325
309
322
305
312
308
345
329
228
276
353
425
273
332
374
350
306
248
243
291
246
342
313
335
357
301
316
316
343
317
279
352
385
284
376
340
237
300
299
331
355
376
353
324
318
269
426
391
355
303
360
387
315
391
340
281
322
348
338
292
280
304
333
332
308
290
286
253
287
320
281
345
321
317
253
324
333
243
254
265
332
309
315
358
350
338
335
343
347
348
309
238
313
278
229
349
292
332
368
269
245
299
285
302
341
357
248
315
348
285
344
282
376
360
389
300
400
334
287
316
387
259
336
357
327
369
272
382
364
338
291
331
280
303
221
259
202
347
310
326
329
339
287
266
227
189
305
172
315
389
323
318
309
310
244
243
267
323
304
329
306
281
386
331
232
324
371
339
298
270
320
278
309
349
319
347
262
276
248
373
335
263
346
284
256
340
411
276
370
370
360
313
423
315
292
345
246
407
288
267
299
318
259
263
311
367
266
300
232
328
371
391
269
297
251
261
387
318
344
333
218
278
333
307
296
321
329
343
320
261
346
412
363
354
307
358
368
355
361
283
367
301
324
344
310
376
376
278
339
374
253
320
272
259
303
354
247
294
351
292
292
356
305
377
296
316
386
289
338
289
381
316
305
269
269
398
276
338
284
353
317
316
266
320
323
368
295
302
287
340
328
287
354
325
338
296
245
338
308
292
340
327
266
284
197
362
299
247
254
241
242
243
309
341
325
365
371
288
293
320
315
312
299
285
268
335
312
347
354
365
334
316
291
422
380
361
312
371
337
228
337
384
444
335
333
259
350
360
282
285
293
345
366
336
311
324
286
370
339
312
351
289
377
370
324
294
369
315
260
398
220
267
261
348
401
341
362
305
255
337
285
294
284
268
400
212
294
385
295
320
363
328
293
312
282
334
318
240
381
273
273
326
313
303
408
363
336
323
258
233
358
281
282
347
325
304
273
398
320
290
236
296
300
298
318
310
339
352
178
332
425
348
329
397
307
344
296
362
287
291
314
288
348
352
179
374
315
318
342
257
312
301
363
348
388
278
311
342
319
299
291
253
313
315
326
321
330
368
364
205
292
358
367
223
311
327
358
300
301
321
382
346
381
302
370
363
372
368
242
331
310
335
302
400
327
352
240
317
348
325
350
353
346
370
260
264
365
320
321
289
320
322
238
361
380
212
292
350
291
311
331
304
303
392
401
271
354
355
320
263
332
288
277
349
363
262
343
345
343
293
389
288
403
236
295
365
321
307
339
301
268
272
275
252
277
296
323
305
306
359
370
310
259
288
301
381
375
278
275
335
320
330
280
261
316
331
330
388
234
351
306
334
354
348
339
418
326
281
246
278
223
331
331
251
249
319
308
263
304
249
348
257
309
325
366
325
294
305
275
299
283
401
317
300
216
247
282
350
359
345
331
329
294
423
338
256
319
231
280
277
326
251
337
405
309
411
330
267
356
365
264
343
367
278
289
288
331
349
351
390
341
321
343
300
380
323
394
309
395
220
269
393
319
371
269
328
269
318
217
281
256
359
313
334
202
401
320
294
273
352
379
278
305
313
316
326
311
408
311
303
279
297
362
326
301
319
258
287
355
320
330
326
300
385
289
350
337
315
304
255
300
363
333
267
311
322
282
288
341
287
314
354
290
306
366
316
331
247
288
271
359
393
368
324
272
331
306
357
321
272
308
305
303
331
294
325
390
365
321
378
261
298
386
322
387
327
346
351
361
349
302
333
359
334
321
307
355
333
260
373
317
376
299
380
366
434
277
283
331
305
342
304
291
249
335
268
332
382
334
319
313
290
327
297
276
292
284
314
305
267
376
329
270
386
294
329
296
374
292
187
387
270
427
301
247
309
336
270
340
378
351
310
339
313
320
280
248
339
413
324
241
254
352
352
349
341
293
262
369
329
343
335
316
303
380
296
319
294
295
372
328
274
367
393
240
307
257
298
274
377
373
374
348
315
358
337
284
339
275
386
349
352
325
303
275
260
301
395
283
312
263
291
313
290
333
273
295
392
341
347
331
347
308
361
235
358
227
375
320
321
340
365
288
361
285
403
227
320
358
307
185
286
268
308
331
370
315
319
328
304
351
327
327
212
395
356
271
307
251
362
324
333
336
259
308
331
436
337
318
367
283
327
316
290
277
325
322
339
279
298
337
411
330
281
309
316
356
297
362
324
311
196
305
381
333
317
306
337
382
281
283
352
340
295
314
258
324
287
328
305
369
276
370
329
361
331
367
356
337
290
323
280
262
263
221
296
379
213
352
396
295
360
350
387
398
314
304
311
349
319
326
218
364
329
158
315
351
280
237
252
206
277
371
332
292
333
302
362
311
324
401
312
314
305
322
329
323
257
336
320
217
248
356
342
325
353
359
299
332
312
282
359
214
283
277
331
385
357
285
426
298
241
315
378
306
196
374
298
280
256
338
269
337
217
345
255
309
295
324
359
283
285
322
261
235
320
321
292
349
332
228
318
326
357
374
297
371
353
363
286
308
272
251
261
287
352
328
365
318
305
360
424
313
345
329
345
345
300
307
388
440
342
366
164
345
237
318
247
257
333
390
333
226
293
364
304
363
272
331
293
244
311
380
326
230
390
312
388
295
310
243
274
311
246
280
303
307
352
278
298
358
393
378
284
344
307
274
292
271
384
308
349
341
350
284
282
336
371
304
309
332
279
328
383
243
248
387
296
258
294
227
319
378
351
287
320
325
223
254
431
356
236
348
301
308
362
293
282
291
332
264
267
355
317
373
344
355
364
311
326
404
280
344
237
269
368
337
292
269
303
368
327
343
337
343
299
347
377
282
332
349
312
327
335
287
318
319
268
313
298
296
277
243
297
361
306
344
382
262
289
341
277
303
267
370
351
227
271
351
291
316
328
318
341
232
300
291
299
348
283
380
222
334
245
310
283
314
269
261
347
314
319
290
334
237
312
347
314
337
288
320
425
299
288
297
311
312
319
288
313
264
241
412
287
322
385
282
364
321
280
319
339
272
302
327
331
327
367
273
351
278
336
382
343
330
246
385
314
354
284
310
327
315
382
288
319
262
295
363
201
338
302
338
251
350
320
346
271
247
293
251
225
296
318
335
260
320
330
295
295
226
221
313
283
399
280
320
316
317
318
305
293
288
285
363
336
338
332
311
275
336
208
265
392
367
354
345
265
276
300
287
224
243
368
260
298
392
311
375
297
335
243
311
289
323
322
264
253
354
326
289
307
357
371
330
326
338
346
306
347
306
372
169
282
341
333
301
377
379
316
297
313
392
283
305
368
413
327
348
283
284
333
310
378
323
308
297
323
356
350
350
312
324
204
340
328
387
346
296
289
383
253
375
267
287
206
347
276
283
332
356
310
336
301
276
323
318
342
364
298
409
248
436
286
344
301
320
336
377
382
296
378
286
314
295
333
315
420
344
266
342
322
295
383
249
327
359
266
245
284
355
344
399
279
300
315
358
316
282
394
356
211
323
304
323
363
338
229
324
280
241
289
297
316
322
342
397
248
388
263
269
319
416
386
272
350
392
223
279
232
225
340
175
359
348
306
319
354
431
354
290
279
283
368
336
306
304
349
353
349
322
312
308
394
323
305
383
354
256
349
292
256
262
313
323
322
332
348
325
249
328
245
293
268
239
249
330
348
280
369
302
327
240
343
288
329
344
293
296
353
255
399
283
345
310
406
259
334
319
273
280
333
347
277
256
312
363
384
240
320
381
286
237
352
307
273
279
318
295
315
336
434
268
261
304
317
276
330
308
353
240
310
303
312
218
353
309
357
323
352
393
347
323
358
279
301
375
402
333
261
364
313
328
296
325
270
270
330
291
397
242
237
350
312
272
292
299
342
359
330
313
253
324
339
315
294
352
334
283
262
287
310
330
302
336
341
323
310
308
347
304
310
342
278
325
358
298
333
304
367
282
267
368
397
326
382
378
333
232
317
322
312
281
412
340
363
408
312
337
324
295
319
276
354
310
374
295
403
249
389
325
362
335
285
284
418
348
367
418
360
253
300
251
325
231
228
330
306
292
312
258
294
321
265
345
298
342
293
282
286
388
270
307
396
347
361
330
242
380
273
283
322
391
287
227
361
348
362
331
312
354
375
290
284
350
337
233
328
314
288
312
293
317
328
308
389
236
321
334
366
241
335
368
392
283
306
357
328
258
384
414
324
301
297
310
367
398
365
282
389
295
293
351
345
357
385
237
337
333
346
332
266
392
403
309
316
324
275
267
301
271
281
291
298
307
339
353
237
324
332
322
281
295
330
413
287
313
273
209
323
346
346
243
292
360
355
225
201
245
371
243
410
365
368
350
248
294
159
351
324
363
310
221
384
344
303
268
313
228
317
332
354
351
307
312
332
353
234
241
345
248
277
247
284
311
262
344
370
351
393
284
308
341
320
296
322
305
276
281
306
239
271
296
374
373
400
338
300
312
360
292
282
336
327
363
349
253
323
378
237
274
304
423
300
239
338
327
379
268
316
300
349
317
336
332
321
316
364
262
319
281
313
286
278
269
312
208
233
312
445
332
395
344
335
302
215
334
304
293
289
250
341
333
324
383
296
310
334
379
355
359
275
414
340
364
295
324
301
325
357
307
302
320
291
261
333
274
237
292
262
299
292
315
331
371
215
319
311
303
361
295
182
389
323
289
325
257
307
294
255
284
339
326
269
268
342
302
377
324
252
326
184
319
335
333
324
324
352
407
287
316
301
346
290
253
208
292
354
286
220
370
320
336
304
250
307
310
374
261
284
256
302
290
358
343
391
424
332
272
354
249
346
268
321
311
432
341
342
343
306
270
294
414
256
298
341
339
266
229
312
374
249
234
273
244
335
300
287
337
371
275
193
381
342
256
362
297
290
365
335
287
354
334
290
274
334
218
423
337
342
417
383
331
369
310
371
379
277
323
252
322
287
365
396
306
318
212
276
298
315
295
340
302
323
262
329
280
281
308
314
366
306
322
308
277
273
381
192
274
380
363
318
330
284
314
317
275
279
270
252
332
359
342
350
330
371
318
282
338
419
400
259
377
328
267
385
325
303
365
281
314
314
291
370
288
387
322
324
343
289
310
369
299
325
298
309
361
325
309
251
332
357
371
293
330
314
306
321
307
293
366
358
338
256
301
358
370
284
271
323
318
357
280
335
285
279
360
315
362
361
337
307
359
347
379
355
366
302
275
326
397
269
348
275
312
310
399
233
405
319
311
310
373
300
346
322
285
328
328
323
225
380
308
286
385
289
255
298
331
260
295
326
238
310
356
289
308
278
399
183
338
336
309
381
277
298
261
314
284
349
338
247
348
312
351
323
283
334
379
334
325
309
223
327
340
262
316
320
293
342
318
277
326
340
327
353
333
334
270
356
330
271
302
310
346
373
348
303
288
326
378
315
315
252
314
280
311
389
292
356
322
312
353
321
351
262
411
360
338
286
347
250
279
321
296
337
217
354
270
360
310
320
264
253
338
334
277
333
308
343
326
234
302
295
288
287
308
284
311
384
214
306
330
317
287
302
313
290
297
332
334
234
279
351
277
275
218
251
301
353
370
295
310
324
269
343
294
307
270
339
300
315
296
336
335
204
288
316
281
326
309
257
353
313
375
290
319
290
318
345
282
354
341
297
291
328
324
363
368
345
339
267
221
276
337
261
250
320
326
314
248
359
372
307
303
328
268
372
325
287
250
322
312
279
309
342
338
337
247
316
317
299
291
414
346
366
240
359
378
291
277
380
368
238
319
343
293
235
393
334
309
330
237
310
354
305
284
347
285
319
325
280
317
251
334
316
316
270
276
290
323
252
254
397
245
244
235
316
363
276
351
401
315
358
268
393
315
282
230
316
310
298
332
305
294
339
234
295
318
366
340
350
387
306
240
371
316
331
389
281
288
349
327
290
330
311
329
286
323
320
347
314
331
319
349
462
329
359
255
298
241
300
263
244
353
388
295
272
232
254
270
251
306
261
332
308
333
321
357
256
219
293
241
199
359
306
322
249
325
321
401
324
255
318
365
289
329
309
305
345
334
300
397
318
339
325
312
310
299
291
352
260
315
344
347
322
328
305
299
274
314
278
296
255
345
289
285
354
221
310
299
253
331
279
304
335
352
291
335
371
259
304
320
343
297
348
320
353
317
353
252
327
382
300
254
332
305
323
307
342
326
344
312
324
262
317
300
341
300
373
370
340
332
296
405
303
254
328
355
316
348
268
326
302
280
370
349
316
316
244
379
329
335
276
193
289
363
355
381
351
313
341
303
329
386
347
336
279
337
362
323
190
299
329
240
296
275
327
320
316
338
329
297
230
314
293
276
321
310
325
215
326
263
257
313
375
359
309
324
288
379
335
329
255
328
295
229
404
392
309
261
280
347
286
277
289
296
351
232
306
262
320
336
328
291
308
354
305
366
274
361
288
204
353
308
372
267
401
316
263
210
372
152
370
372
345
366
315
287
328
363
264
294
324
379
345
364
302
298
352
268
330
343
350
269
325
347
398
326
325
383
342
327
340
284
260
251
361
353
391
350
350
291
341
320
263
296
264
271
300
408
283
293
351
245
253
288
297
340
262
261
346
333
358
196
355
235
277
336
299
369
311
340
332
272
295
344
271
291
338
305
332
354
289
274
300
309
311
260
294
342
292
322
395
318
313
301
322
420
309
352
288
309
317
361
262
240
294
327
288
434
281
266
386
395
288
298
273
295
339
368
292
307
336
361
408
326
220
293
360
308
283
287
278
222
345
364
311
291
295
316
255
313
357
321
347
420
267
337
357
293
224
374
285
315
324
310
288
288
307
309
303
315
322
316
352
288
242
336
372
319
245
370
194
349
302
336
278
273
346
339
355
350
228
329
423
296
297
318
271
370
323
347
319
326
254
280
249
317
322
322
332
269
282
319
322
354
324
370
274
322
270
339
247
230
329
238
285
332
327
265
251
404
333
326
267
362
240
339
360
390
329
443
276
314
302
312
354
378
323
274
296
316
317
330
301
237
264
350
309
268
251
283
274
250
331
307
279
345
338
302
307
342
286
275
355
351
282
270
210
358
292
347
328
356
320
348
289
390
313
274
360
294
368
294
364
324
301
335
311
339
390
312
334
252
279
313
263
280
303
293
289
296
262
306
384
372
382
309
292
339
301
327
273
257
272
351
342
351
312
261
228
307
372
360
285
307
404
357
358
399
260
327
238
327
324
269
313
272
324
335
303
295
300
266
291
257
400
304
239
309
211
301
256
426
280
258
244
320
281
313
280
345
325
314
348
199
276
387
324
296
310
335
315
297
282
296
180
338
360
365
301
375
287
290
355
275
329
360
334
297
347
273
353
383
311
291
345
178
299
325
309
279
286
296
316
358
353
352
367
358
348
286
300
327
228
196
384
369
237
288
365
326
350
319
230
370
313
303
312
322
344
309
382
369
279
367
345
324
384
277
284
329
304
353
336
348
358
300
340
358
318
332
335
273
243
322
353
394
402
351
292
383
294
277
426
344
390
309
271
317
379
283
265
363
355
366
343
323
286
323
344
273
365
350
298
329
274
294
276
327
249
333
307
349
399
247
251
259
256
344
249
343
340
377
355
360
314
336
264
346
349
386
273
330
343
262
268
351
314
374
383
230
308
273
363
349
307
382
246
352
306
223
304
383
349
286
254
311
260
289
357
386
232
318
342
298
374
270
275
300
273
353
315
307
342
232
319
290
314
276
334
281
298
357
297
223
300
211
322
384
367
295
344
253
312
200
306
349
359
330
243
317
335
295
354
409
244
312
278
387
336
342
308
345
259
243
306
296
312
417
301
342
268
328
318
142
299
240
376
394
250
406
291
290
284
346
308
314
254
283
286
285
316
355
324
256
285
282
237
342
437
338
304
261
300
278
315
278
343
303
347
373
236
281
335
235
320
348
321
370
319
320
313
367
293
286
329
311
290
400
317
344
324
223
265
249
285
292
258
335
326
284
278
289
303
302
305
296
331
351
384
290
321
314
357
331
351
312
361
270
243
290
314
267
373
320
399
278
379
294
320
362
363
277
351
297
397
317
272
175
269
323
224
242
361
308
333
336
373
348
346
340
396
226
314
274
353
351
309
293
232
321
308
316
327
249
379
356
287
216
261
281
375
294
341
370
330
294
358
339
266
309
259
388
317
347
346
311
302
376
316
283
335
280
315
319
291
327
207
352
251
341
322
291
220
310
376
303
271
348
326
340
315
310
366
385
348
301
313
346
296
355
379
377
310
323
298
356
304
344
367
338
230
289
365
277
360
351
373
344
360
309
301
322
312
306
313
314
240
261
291
262
326
323
334
276
314
365
362
346
340
317
393
322
270
404
280
271
289
258
261
400
349
297
311
336
233
390
376
374
335
305
336
340
275
306
322
347
351
416
288
259
327
397
367
210
301
356
358
322
264
325
330
369
263
331
328
243
337
316
320
280
328
326
296
398
341
245
352
327
285
370
348
316
258
324
254
375
338
303
311
290
320
371
311
385
320
384
223
287
312
319
318
345
316
317
321
330
292
273
284
326
395
306
281
398
327
294
294
334
336
256
344
310
354
342
349
328
322
251
370
322
349
277
308
315
317
303
277
252
380
315
357
332
336
244
315
260
404
357
359
308
328
273
268
267
292
343
340
280
323
276
325
314
308
292
317
309
322
313
378
325
290
330
344
358
305
303
273
299
340
351
309
288
222
308
327
332
322
306
306
259
338
359
311
300
238
384
231
255
307
373
338
368
333
425
389
307
232
359
279
325
267
317
393
316
327
295
287
321
282
275
363
265
343
238
390
240
269
279
340
271
296
338
284
304
301
301
372
305
392
298
325
296
331
275
324
371
251
259
342
322
267
319
322
232
340
242
315
312
316
351
309
326
267
309
288
350
316
235
296
302
371
359
342
328
355
342
290
272
246
367
376
282
328
253
365
293
351
313
354
285
350
309
294
313
413
389
307
272
329
302
290
319
193
304
290
344
376
281
399
356
276
283
370
348
262
333
323
300
355
291
291
323
278
262
277
253
267
355
281
214
276
327
278
302
351
322
247
265
281
280
337
252
413
220
322
304
258
302
355
300
318
335
251
337
241
339
338
346
220
259
300
298
295
344
304
355
298
262
316
325
359
215
300
345
343
327
322
369
242
294
334
349
279
321
352
384
280
343
320
338
308
343
232
355
332
375
335
311
296
319
281
268
319
359
323
289
354
313
248
259
315
293
321
312
307
265
382
268
361
283
266
296
300
389
359
318
352
335
289
331
292
251
325
343
389
286
351
280
268
331
360
312
280
284
292
275
324
276
300
371
288
340
300
264
407
231
204
358
288
379
342
307
253
252
326
254
267
333
413
247
340
342
299
315
319
423
308
332
226
328
309
343
309
325
316
310
320
278
257
344
324
263
266
272
336
305
285
292
340
266
341
292
291
299
256
291
355
359
349
307
346
312
173
293
254
404
360
264
304
302
348
338
319
247
340
355
304
332
294
408
365
329
314
383
257
346
369
281
241
354
413
332
327
354
335
302
342
326
367
270
392
270
368
275
280
315
345
310
328
324
265
312
215
304
351
348
347
270
293
345
382
299
389
235
299
252
260
404
347
340
353
352
305
306
356
315
361
315
362
340
243
284
355
282
367
326
347
300
260
302
350
431
256
349
312
267
329
306
317
289
239
342
320
299
366
257
350
356
297
310
239
321
357
337
352
263
362
386
273
295
289
359
314
289
323
325
357
294
290
317
329
338
338
370
348
396
355
216
382
277
294
386
257
384
367
287
294
347
362
246
350
327
307
249
290
394
280
320
260
322
285
384
239
334
276
326
305
322
272
345
239
244
356
320
339
319
355
302
293
339
266
357
281
288
309
379
323
237
287
347
255
330
290
283
377
285
260
336
362
314
264
265
241
293
401
373
321
244
303
272
216
286
395
346
321
287
355
239
334
305
359
335
284
265
321
315
300
352
329
305
302
266
331
272
345
376
223
271
335
303
379
310
317
350
305
345
326
313
399
295
371
259
336
342
269
277
308
281
333
194
309
235
363
313
308
279
349
264
352
312
364
317
272
325
356
243
312
345
314
321
333
405
323
279
235
365
368
393
388
300
251
401
443
377
377
322
254
308
221
237
305
326
311
380
288
311
303
249
371
337
268
331
288
274
428
334
306
333
286
292
379
372
399
286
404
354
325
345
303
394
321
312
370
234
378
313
236
260
247
244
317
349
300
307
321
319
327
328
331
351
337
394
244
314
312
360
298
201
290
304
375
324
284
234
256
349
243
386
315
298
289
314
285
312
273
372
265
395
305
280
325
350
358
343
374
315
248
233
261
395
385
332
383
359
396
342
265
300
334
360
304
367
325
285
401
257
391
271
280
263
338
358
348
306
349
344
366
258
236
315
296
331
244
367
329
328
292
296
329
274
250
315
336
345
335
302
332
388
346
321
317
369
311
272
342
327
284
323
261
333
321
251
290
348
309
282
261
326
301
320
316
321
348
326
319
226
295
333
266
349
331
260
293
357
353
328
318
262
277
348
306
286
187
258
274
348
360
334
360
342
338
246
314
249
366
242
344
296
218
334
278
302
291
362
342
366
320
272
330
312
274
250
289
425
333
305
392
322
297
297
313
299
325
308
293
236
347
370
330
254
340
293
289
280
394
313
320
307
312
366
306
365
296
303
330
279
239
213
346
399
322
342
293
354
353
348
267
316
286
366
237
318
305
318
350
333
393
278
333
323
336
381
332
371
322
283
323
264
256
246
233
311
306
300
292
370
304
341
292
366
317
307
370
324
264
327
260
206
390
273
295
294
321
354
297
280
326
290
286
356
259
340
333
276
289
370
350
365
305
381
353
296
312
341
281
341
386
365
292
290
294
325
401
250
200
281
352
282
269
198
238
316
388
254
366
301
306
244
347
323
315
327
305
330
322
301
282
293
349
339
256
316
270
250
351
345
327
304
350
287
310
403
338
315
329
304
416
308
390
371
302
335
173
356
198
368
341
385
391
311
325
344
312
287
385
363
327
263
261
296
307
327
299
363
383
327
385
365
237
217
301
286
298
427
325
365
356
362
225
263
395
289
253
339
347
363
371
298
323
365
296
388
277
335
353
334
299
356
275
312
295
298
296
316
203
363
280
274
300
250
396
318
209
335
396
289
242
291
265
279
257
330
337
285
320
283
329
308
271
243
248
334
306
296
365
278
338
267
338
381
327
342
346
292
329
281
336
245
325
348
285
277
371
273
211
349
290
310
327
207
342
359
329
315
316
391
232
259
342
322
285
310
330
291
385
306
318
353
284
368
327
296
305
320
334
304
323
363
276
360
289
317
265
277
301
323
303
427
259
334
342
287
416
257
361
359
363
327
266
352
348
310
247
323
299
290
286
375
332
310
334
309
326
269
379
384
356
398
359
326
399
324
292
261
240
338
333
326
367
364
330
337
360
272
349
272
361
328
249
364
286
296
277
255
342
352
232
317
335
388
275
431
340
337
303
261
344
292
254
374
343
372
346
344
399
267
291
311
280
303
222
423
259
325
263
328
292
226
273
282
252
303
250
311
297
350
312
374
263
346
318
311
271
343
297
341
341
169
298
239
337
261
308
231
385
319
338
278
276
351
286
323
292
301
332
341
298
404
344
372
314
333
299
342
266
368
309
352
297
288
367
286
277
282
271
342
331
312
312
370
298
314
355
269
359
313
297
311
306
358
321
279
340
300
380
291
283
306
351
295
299
363
313
302
294
309
352
301
386
285
272
354
271
354
314
336
394
285
276
341
268
369
296
304
274
343
291
342
369
276
349
359
258
333
377
312
245
343
369
317
269
239
315
334
234
272
308
276
346
326
288
327
374
390
391
304
352
363
299
277
267
298
291
351
361
349
317
302
286
296
340
275
377
344
292
295
336
343
313
293
351
292
296
362
250
370
266
258
386
306
284
352
353
221
358
284
312
350
375
386
311
305
320
260
312
330
313
310
298
365
330
263
301
302
264
306
322
296
234
293
381
305
396
273
216
396
353
285
264
361
354
293
340
352
285
282
208
324
274
325
286
255
313
300
410
354
445
327
350
320
257
342
324
309
318
392
313
276
368
348
332
343
292
373
395
253
313
412
303
314
299
333
271
331
275
328
319
289
321
241
350
189
352
333
370
271
273
354
376
307
367
326
316
233
322
271
228
373
329
300
375
313
263
280
312
359
271
287
301
304
316
396
337
260
375
253
363
307
317
310
207
331
334
286
289
257
309
375
305
302
353
288
323
285
277
310
289
260
321
390
410
250
214
226
289
346
328
269
318
306
204
292
319
309
303
247
302
323
305
300
231
325
236
302
307
337
397
270
341
225
375
358
280
380
355
342
285
299
309
323
306
256
303
302
214
377
322
403
366
306
303
353
305
201
405
347
227
389
365
371
260
323
314
415
402
284
332
286
319
343
390
286
292
257
340
332
311
266
307
274
366
329
430
285
349
305
357
251
298
370
302
321
334
399
309
340
285
327
314
274
284
296
349
277
317
328
347
363
292
291
333
281
323
365
401
292
330
369
379
259
363
357
249
285
340
213
296
307
285
369
291
379
281
268
371
298
229
333
355
387
310
345
330
292
314
295
331
263
268
272
322
352
334
307
331
313
303
268
284
352
293
296
327
218
361
283
303
330
301
289
367
318
307
297
333
302
358
309
247
349
327
303
359
367
383
323
298
213
345
277
342
339
327
302
340
262
262
312
310
340
368
339
299
330
378
303
328
275
379
297
295
279
339
335
335
346
305
403
402
377
306
240
310
360
347
305
249
355
246
333
298
373
371
342
318
248
326
334
310
309
215
282
376
294
263
381
317
371
337
346
347
331
267
323
330
270
330
278
303
305
310
275
241
293
279
339
311
276
453
242
325
340
285
284
281
379
330
340
292
313
334
365
317
331
313
271
337
344
335
356
347
277
281
319
327
367
316
329
269
217
303
305
368
341
259
275
326
315
344
267
329
319
312
308
359
274
305
336
342
304
357
289
276
334
422
325
337
211
341
246
299
342
287
339
248
404
295
307
324
400
349
324
306
366
264
278
324
338
270
313
236
443
357
287
323
354
299
304
313
323
296
411
358
336
298
334
338
363
340
404
334
314
353
315
322
281
290
251
309
320
309
314
295
304
348
370
314
364
338
335
355
252
326
180
352
331
273
397
290
270
308
417
419
336
319
360
357
324
346
323
342
300
345
300
294
365
271
306
367
330
354
330
344
320
274
302
236
343
375
327
259
322
250
220
373
312
345
284
236
289
318
315
367
327
318
324
380
226
347
304
278
315
363
310
335
366
400
314
329
317
339
266
317
297
354
351
355
392
312
330
276
362
274
302
356
357
307
341
331
192
305
272
322
379
273
278
296
264
288
366
341
371
314
395
365
318
228
309
280
277
337
333
342
380
302
277
290
371
276
302
339
370
326
259
352
311
296
278
421
198
334
309
306
368
296
242
366
329
365
312
293
317
385
361
301
333
377
358
331
313
312
324
315
344
376
357
243
340
359
384
242
325
312
324
298
385
311
336
330
197
280
359
321
282
309
403
315
305
375
310
260
291
311
366
255
283
271
303
327
342
288
366
300
269
347
314
266
368
308
405
335
347
258
293
346
299
328
313
391
332
316
384
340
401
351
310
326
274
309
319
355
262
255
317
343
334
330
381
249
275
285
252
306
382
296
288
192
209
345
236
371
350
274
376
347
259
371
275
276
389
367
320
279
328
306
311
342
324
340
268
295
367
285
255
319
314
434
297
257
381
343
261
371
340
395
242
308
310
286
339
323
334
368
300
286
267
347
385
275
369
214
328
323
314
241
310
285
354
396
308
282
339
275
323
287
318
348
298
379
328
313
329
326
283
306
346
336
217
323
365
351
283
335
356
375
404
387
260
271
258
384
264
351
335
426
337
342
273
363
326
270
339
270
407
285
342
201
392
322
337
251
260
368
281
364
346
283
320
354
293
287
301
290
350
375
332
337
282
387
368
278
297
289
377
262
260
343
291
384
403
341
294
274
323
328
321
380
255
293
335
388
316
280
308
363
297
368
295
332
305
375
314
358
330
308
309
292
316
358
299
239
305
291
269
380
371
343
365
354
395
362
283
267
308
332
337
361
306
323
276
269
303
371
351
260
322
292
314
240
338
251
339
318
343
347
335
321
305
289
345
314
324
311
274
275
351
241
359
370
294
320
256
346
288
463
334
376
361
374
389
298
331
348
238
227
316
353
294
343
412
364
269
322
421
315
353
278
291
316
200
368
285
305
381
352
318
326
316
308
323
267
287
299
335
430
349
297
302
285
291
286
317
338
305
362
277
314
290
298
333
274
325
335
300
323
378
375
262
309
392
321
339
414
311
323
365
389
294
287
228
258
278
310
309
339
204
311
326
239
409
359
321
342
275
268
275
387
359
347
258
291
301
314
307
373
313
338
266
353
298
291
299
284
353
285
215
349
289
267
417
274
297
232
268
283
319
304
328
361
305
341
291
380
374
321
346
324
276
300
293
265
320
349
315
331
363
339
390
281
330
276
308
372
370
316
330
321
386
325
317
344
333
249
275
271
322
315
273
298
366
224
382
309
308
384
330
336
357
341
344
302
320
232
296
328
312
254
313
364
308
268
292
362
340
338
358
303
326
309
329
268
325
355
255
389
214
295
346
350
325
289
311
307
377
324
271
310
256
297
315
223
379
344
255
278
334
325
344
292
344
368
302
319
315
358
337
354
282
380
319
301
311
291
290
350
333
300
329
332
270
370
301
187
273
316
302
360
269
306
321
281
259
277
274
238
319
235
384
272
371
350
346
411
300
316
330
279
304
294
342
355
261
376
357
362
296
342
315
314
365
309
279
291
293
372
257
256
347
270
351
320
324
358
317
267
360
303
288
310
304
291
327
270
359
306
356
261
362
464
327
275
297
255
363
343
346
335
250
325
345
330
296
281
379
406
292
346
236
331
400
424
276
233
260
321
333
304
345
338
417
203
344
403
262
265
315
339
335
383
365
190
385
315
394
246
298
424
269
318
279
410
361
268
389
355
291
306
339
429
285
338
204
320
213
324
339
336
365
288
307
288
318
357
309
292
315
272
304
336
286
374
355
302
309
323
344
367
343
303
288
303
303
337
365
318
324
373
313
352
381
333
352
350
346
294
304
395
214
281
344
333
316
303
316
345
366
233
373
308
404
352
331
328
336
288
336
351
294
309
329
359
240
266
345
289
291
298
273
315
402
362
330
284
303
256
265
310
262
380
259
314
348
339
270
331
319
309
333
306
343
380
361
324
304
396
292
306
344
310
343
306
265
331
333
268
212
282
375
260
336
369
288
347
261
306
318
377
280
274
258
248
296
273
396
228
361
242
305
351
343
310
292
287
334
316
272
303
325
378
322
352
332
313
377
336
332
381
311
267
401
357
315
318
351
250
398
342
259
347
333
260
375
322
272
341
377
365
247
317
209
331
308
250
245
273
306
351
393
292
284
354
203
256
333
253
317
253
346
323
271
314
301
294
303
292
272
389
380
286
417
311
373
229
273
292
315
318
299
342
361
298
352
358
414
334
230
344
338
265
338
261
318
349
265
375
270
276
295
200
363
339
346
313
286
249
322
338
281
335
314
297
285
295
318
400
364
335
244
309
335
286
287
297
323
269
274
268
342
378
284
288
275
365
311
374
278
280
385
269
307
353
315
380
309
309
369
367
313
359
358
243
284
311
238
344
329
379
367
275
358
287
338
378
325
321
373
355
299
311
332
241
382
337
360
358
270
281
273
328
283
213
277
258
299
332
390
354
350
296
317
384
354
254
289
256
364
262
374
369
226
352
430
301
326
280
264
307
259
419
332
253
248
303
326
369
357
301
217
335
319
290
335
358
332
202
294
407
256
364
359
301
305
303
293
286
305
375
272
334
274
295
316
357
292
337
339
397
343
351
261
343
276
298
241
388
283
314
358
314
315
205
351
368
306
284
310
351
379
295
308
344
392
343
355
301
337
261
382
234
286
407
295
352
250
243
370
383
338
199
286
310
267
341
375
335
376
362
297
282
247
390
374
275
282
315
362
354
321
258
283
329
381
302
246
326
365
358
353
273
274
352
334
298
410
265
325
265
328
308
284
333
346
277
299
315
294
377
353
295
354
321
303
314
289
341
288
303
260
279
300
361
295
265
288
310
348
301
307
349
313
322
331
314
254
305
278
313
257
332
281
327
372
334
279
322
361
295
322
309
320
355
320
399
335
263
343
359
397
289
246
274
330
297
316
289
298
245
298
309
334
295
330
330
348
301
335
406
300
327
355
310
261
284
328
305
324
288
270
277
340
304
300
320
288
280
236
342
275
265
302
325
278
327
219
237
286
294
260
278
308
386
273
324
338
352
318
240
247
336
306
309
284
279
292
375
294
238
383
329
295
346
299
296
369
288
303
378
361
329
355
252
376
343
353
331
410
398
276
310
361
295
298
350
291
219
336
407
282
288
271
275
370
346
353
265
289
277
312
306
254
300
286
254
361
264
259
303
268
310
342
344
279
309
312
301
304
276
267
286
281
302
293
249
367
367
349
283
322
269
267
439
325
363
302
391
328
335
284
339
338
311
373
307
278
317
373
324
277
322
371
288
318
390
316
301
311
304
282
255
351
366
280
363
359
360
380
338
212
366
356
334
430
371
347
268
278
243
333
337
336
285
279
232
312
269
292
353
237
250
381
237
318
294
335
348
371
307
363
318
331
325
338
331
376
360
267
388
386
311
326
372
363
302
288
302
278
379
325
330
378
302
302
248
291
367
300
342
305
300
259
312
264
383
429
356
358
376
316
252
298
381
296
312
277
308
250
266
298
326
303
342
382
293
268
281
310
280
283
350
255
310
259
292
331
262
286
239
333
345
338
329
347
324
274
334
266
259
298
373
290
244
266
388
347
337
303
319
347
298
316
331
363
342
344
306
242
271
243
261
363
252
312
331
279
308
382
219
371
282
340
233
357
414
290
431
272
340
223
307
338
332
324
340
257
288
365
347
278
286
285
328
333
327
370
290
219
337
242
359
315
238
405
252
338
331
246
368
336
355
263
327
302
361
313
254
250
282
351
301
305
251
271
237
305
359
357
379
329
276
247
301
393
304
374
371
252
330
310
291
371
322
254
382
322
348
354
287
309
397
330
314
233
216
329
320
363
256
383
240
363
348
305
384
331
346
369
250
374
335
308
319
328
347
374
331
289
349
342
315
293
268
306
316
387
256
332
320
391
359
341
253
367
291
264
376
327
306
393
288
276
295
349
261
290
408
305
343
284
315
217
298
328
282
264
317
352
331
323
353
305
325
360
255
372
307
308
214
325
322
392
293
263
333
307
409
298
227
355
331
282
282
299
275
340
361
310
365
291
326
355
316
320
274
372
279
340
217
362
377
306
341
274
310
309
249
288
231
294
390
342
271
353
370
287
341
343
302
312
326
276
289
311
407
397
256
384
289
289
284
318
315
379
266
327
279
357
242
378
366
319
339
236
306
323
288
344
253
236
343
373
305
342
287
365
348
307
346
313
352
263
326
314
279
315
385
292
362
303
362
279
330
322
399
392
241
354
249
328
330
278
378
226
351
303
273
336
380
321
308
366
268
329
290
311
345
332
308
337
371
315
380
251
311
292
266
338
307
253
371
350
258
305
280
277
338
309
307
233
348
376
344
401
273
274
326
326
373
324
278
352
312
359
303
285
350
352
324
177
397
299
275
372
351
322
378
354
316
330
374
316
240
324
330
312
330
284
340
330
411
224
265
294
341
324
347
309
284
340
345
324
352
354
365
269
386
292
301
368
337
229
375
359
349
391
369
264
305
364
271
271
261
363
386
289
372
260
357
296
314
283
355
337
390
283
386
358
248
294
299
269
271
336
313
238
329
345
315
367
292
326
344
286
357
325
329
322
379
288
340
316
352
364
361
185
247
367
264
294
356
349
282
303
371
311
310
273
250
365
279
321
286
321
403
318
327
384
306
279
291
318
224
303
318
323
287
271
302
325
327
274
310
295
340
318
286
329
238
245
287
308
307
336
323
307
314
272
336
296
309
366
317
293
380
285
309
318
325
216
335
349
366
393
364
334
297
331
332
317
260
325
223
290
293
289
312
335
315
314
265
287
352
345
360
337
341
372
353
334
370
344
357
317
280
343
388
320
260
353
362
226
353
331
304
295
331
287
296
310
329
284
274
296
320
227
328
325
381
330
306
291
357
320
298
293
330
226
234
301
296
329
177
359
322
406
390
288
324
286
264
337
281
266
338
355
334
298
293
257
349
323
302
213
342
301
392
288
295
276
343
329
337
335
388
233
306
376
310
328
359
360
342
351
360
377
331
267
332
356
340
329
272
318
295
270
305
314
418
272
390
287
311
334
351
278
296
339
278
273
335
267
268
274
401
278
268
332
285
365
271
413
346
318
350
298
316
283
256
296
326
338
336
300
409
305
320
239
288
295
352
370
261
322
365
386
270
338
270
335
303
295
279
347
395
317
315
309
331
361
279
348
315
299
362
346
340
294
240
332
319
302
416
236
346
300
330
225
363
295
337
404
236
246
353
326
335
240
387
293
350
288
410
356
345
205
318
335
325
325
291
368
318
274
307
388
271
321
369
281
280
308
334
379
305
277
233
343
367
295
333
280
349
412
369
316
352
276
268
344
381
302
324
302
260
212
357
326
297
326
373
285
338
271
293
384
331
337
332
358
345
305
322
356
316
406
304
288
354
321
322
249
273
417
254
407
346
282
321
345
288
317
271
264
332
408
356
342
382
293
246
260
282
330
337
269
283
320
344
340
311
337
320
269
370
358
320
360
277
361
246
322
294
354
311
217
254
357
340
327
332
374
319
359
291
303
236
342
335
333
302
354
365
388
253
301
252
330
310
289
372
239
384
335
257
322
293
288
328
462
302
194
344
332
284
332
356
311
368
308
295
337
285
349
283
303
311
282
337
264
339
278
379
290
296
295
308
286
322
308
303
279
295
394
180
327
306
324
319
252
249
341
334
315
307
384
338
272
282
280
308
303
303
337
240
249
322
401
364
323
359
255
301
319
417
366
376
209
340
283
358
283
359
380
297
347
298
334
285
358
308
380
263
308
357
340
278
287
301
305
280
320
273
253
291
242
334
310
306
297
317
372
309
271
243
368
255
325
226
331
264
270
423
241
244
329
272
327
234
364
220
340
300
271
338
286
338
234
343
321
347
281
360
280
303
312
366
360
362
344
336
338
294
369
362
316
334
396
333
307
294
261
303
302
351
277
311
252
294
397
316
381
356
330
351
328
339
356
236
260
338
329
290
299
305
308
316
362
387
376
240
234
324
342
336
173
316
355
382
381
245
255
400
258
288
330
268
244
346
313
351
299
300
309
332
349
291
295
341
279
219
290
342
255
333
316
286
378
307
342
226
326
313
300
368
363
305
231
325
310
288
408
353
297
293
305
373
277
277
318
335
351
336
347
379
418
316
338
369
254
278
232
347
389
301
298
392
384
296
407
320
382
283
321
290
334
372
372
336
334
291
298
309
263
255
289
250
319
315
293
318
270
374
382
287
273
307
425
332
309
280
307
336
379
323
339
363
365
278
256
256
266
331
275
312
289
299
371
293
339
253
372
362
293
335
270
316
327
212
309
284
305
374
272
315
344
266
218
242
284
449
324
307
333
346
294
235
389
246
281
236
225
325
345
329
389
346
208
373
281
324
335
263
330
333
267
282
257
364
339
428
342
339
378
351
318
324
242
299
287
339
294
350
400
204
299
374
365
238
282
306
314
304
327
312
315
235
309
362
301
348
290
336
374
277
337
279
335
276
262
320
345
328
303
372
241
349
307
330
329
219
325
306
341
236
291
262
320
366
294
280
310
343
340
295
402
325
303
336
357
276
295
288
319
367
240
348
319
296
309
332
276
315
274
366
305
285
336
357
233
314
349
342
349
360
292
341
327
353
309
343
239
432
281
274
319
373
261
299
312
243
294
422
232
323
269
327
265
312
275
294
351
221
334
254
319
375
354
325
208
292
268
292
259
337
242
310
319
330
284
336
328
315
251
275
309
305
336
286
413
346
272
377
242
354
300
299
381
318
322
246
307
302
272
309
323
299
293
152
313
293
272
305
293
387
362
320
299
326
384
381
378
279
289
289
236
291
195
233
314
300
373
383
333
355
397
292
321
287
212
288
286
307
277
289
249
309
269
357
200
330
250
266
273
285
292
399
329
342
343
304
311
316
278
345
269
295
359
268
356
274
329
286
256
317
271
299
343
296
335
238
324
259
315
317
331
348
287
327
317
348
308
383
320
372
357
304
340
271
307
218
332
311
319
375
318
308
306
272
298
268
368
338
238
346
283
366
315
266
294
397
429
256
263
404
360
340
354
261
305
324
269
253
365
309
331
237
372
290
207
310
318
300
316
302
286
308
278
255
355
224
315
271
330
323
354
322
286
373
345
345
353
358
334
370
283
325
313
254
326
329
294
328
367
401
309
320
253
343
318
347
323
324
274
320
339
370
374
364
318
329
391
335
273
345
177
265
322
243
258
306
318
320
266
277
280
248
336
304
320
324
206
290
298
311
261
305
301
247
313
298
203
322
266
375
386
294
317
207
371
323
310
329
328
389
364
285
316
290
402
301
211
366
294
302
265
276
338
250
309
313
331
184
263
327
359
378
355
331
259
296
298
333
320
255
305
301
258
242
331
330
332
317
272
291
235
327
324
349
345
334
259
368
306
354
348
314
315
299
273
277
287
337
366
347
412
374
303
394
255
301
280
265
290
301
236
304
376
307
295
319
274
374
308
342
313
263
263
289
333
350
305
286
314
356
251
344
268
345
313
345
224
299
260
355
287
345
325
228
280
356
342
279
336
265
335
322
274
382
272
282
282
290
342
272
258
280
344
367
227
279
379
354
319
297
309
313
369
344
338
346
286
230
360
389
368
318
332
335
307
350
342
282
351
352
413
272
259
326
326
232
308
336
259
335
349
304
338
346
311
357
345
331
383
305
251
353
264
348
269
353
363
319
394
388
219
313
285
340
229
340
282
340
371
286
360
265
331
288
256
237
263
348
304
262
378
335
361
309
287
310
337
286
302
285
270
284
182
313
271
233
349
201
260
373
329
276
346
328
355
370
366
330
291
326
341
327
359
293
372
333
249
279
341
283
338
283
363
284
344
399
380
257
256
234
261
254
298
262
242
327
282
299
319
226
341
355
320
354
374
351
283
337
298
355
381
355
331
329
254
365
369
303
261
348
299
296
343
330
287
290
227
327
369
334
387
314
361
373
380
189
263
264
386
291
272
340
236
320
291
399
379
371
334
340
297
253
290
369
329
330
366
221
397
280
412
319
387
301
294
353
342
391
297
231
320
234
376
251
316
327
304
315
388
360
327
316
333
332
325
274
274
336
310
345
385
282
285
367
274
239
277
311
281
279
295
314
303
295
332
346
322
320
318
222
302
300
237
276
287
334
279
241
302
260
267
336
343
330
336
296
331
332
351
240
344
287
303
316
333
330
309
314
316
286
353
234
304
294
270
239
359
374
335
242
358
317
260
268
305
334
347
353
342
291
325
300
377
272
295
326
309
335
308
305
323
238
335
257
294
341
238
346
294
323
339
264
265
280
324
292
302
367
400
219
325
303
254
279
350
352
336
292
272
315
314
251
334
372
309
315
367
360
290
292
331
360
285
367
257
377
307
191
311
330
352
244
305
315
337
297
348
298
252
414
258
296
291
349
325
340
356
268
299
308
325
367
283
273
346
303
243
277
276
333
308
316
290
370
275
294
258
301
292
265
323
328
388
283
277
301
355
313
316
284
292
312
275
211
341
302
389
306
269
369
356
331
306
329
354
329
349
264
309
299
247
381
322
377
385
338
305
389
295
285
334
361
314
323
280
313
171
332
276
203
381
348
329
365
254
335
347
341
360
335
306
281
238
393
399
249
363
324
285
260
325
237
290
371
249
273
320
230
268
280
355
321
227
247
270
385
308
317
233
344
313
328
370
313
383
389
311
317
377
308
302
295
306
234
377
297
397
209
304
235
329
295
383
295
264
287
282
353
361
284
324
334
362
361
280
407
348
322
274
305
242
260
317
362
280
280
363
342
310
316
272
338
359
347
266
336
278
376
276
321
270
362
298
286
338
362
259
297
372
327
294
401
262
311
331
350
269
393
282
322
394
277
325
273
342
311
343
301
358
304
299
297
353
358
362
409
301
281
336
299
373
351
329
273
325
311
355
377
223
334
241
304
328
292
345
257
253
312
360
319
212
234
363
238
339
320
286
349
332
279
376
268
359
259
327
358
269
360
378
345
302
313
188
357
381
351
310
365
341
317
313
358
380
342
298
396
229
402
280
337
335
220
309
326
297
292
292
364
253
272
379
313
360
377
283
340
256
356
270
322
356
307
294
339
379
367
290
214
275
328
252
307
198
214
365
232
243
209
207
260
323
245
322
215
268
297
326
287
316
334
352
240
264
420
198
298
336
296
374
348
295
267
359
329
367
291
430
373
288
347
399
270
358
331
293
305
335
373
316
407
336
396
389
312
323
252
314
294
325
250
308
294
272
327
376
268
297
247
286
369
349
412
333
392
336
299
302
367
340
351
332
278
230
324
331
312
275
351
290
267
336
294
297
348
347
336
266
292
285
286
353
393
306
254
318
356
312
230
304
319
308
276
263
362
381
269
337
329
323
279
339
290
258
328
285
348
246
293
300
285
283
294
320
322
365
251
320
282
231
305
330
300
259
307
325
296
236
350
252
231
409
326
303
305
253
353
303
363
274
278
384
335
331
337
351
230
343
327
299
322
267
422
277
334
312
355
393
323
317
266
223
292
371
261
257
296
290
356
379
275
345
327
331
224
354
281
311
324
252
347
335
321
252
363
236
307
407
279
326
295
331
331
365
335
337
309
333
290
305
346
232
420
347
348
319
330
277
375
272
276
358
281
273
334
263
301
377
294
268
338
270
325
271
316
306
303
336
355
329
297
363
357
288
301
304
219
394
363
314
352
334
264
283
351
389
262
279
344
320
420
372
331
262
331
281
372
325
368
274
371
342
326
331
312
250
342
274
305
300
386
315
227
274
358
353
359
348
362
358
272
311
188
294
288
314
336
355
302
291
269
356
332
354
324
399
257
256
285
403
293
343
290
344
372
228
388
328
354
278
319
298
387
362
293
254
298
313
276
284
258
366
301
331
340
327
386
295
278
324
300
364
264
296
311
394
289
321
329
308
326
308
380
241
263
274
247
362
310
307
265
310
284
372
378
274
300
345
344
262
260
282
301
325
292
357
314
267
393
257
361
324
286
284
312
317
406
364
172
312
285
284
252
331
337
393
355
226
408
272
349
282
338
246
296
298
370
293
354
306
369
328
328
233
316
234
324
351
263
270
327
308
270
317
344
313
353
308
253
290
315
323
307
342
261
271
353
287
344
261
332
330
289
347
183
372
268
232
311
321
344
290
327
293
329
368
278
281
331
327
339
378
263
303
368
362
279
319
354
309
250
301
308
346
301
340
338
290
337
307
348
339
314
283
286
230
295
332
216
385
323
284
368
329
365
305
337
324
418
380
342
285
293
337
335
306
337
330
362
259
326
362
345
291
283
285
381
285
217
361
326
275
382
244
223
410
290
304
332
296
207
300
414
417
285
328
318
308
339
275
287
323
361
315
256
288
190
352
336
295
312
338
325
317
310
299
253
340
321
322
443
324
358
203
265
410
362
337
247
276
243
374
279
407
333
318
297
299
208
245
359
287
325
256
276
311
264
331
330
389
351
305
281
292
325
317
265
283
267
366
374
299
212
354
322
294
292
290
313
377
305
290
317
250
362
250
361
360
280
410
322
283
242
288
244
321
200
313
429
307
340
357
272
339
373
336
335
356
322
338
287
301
314
279
281
289
266
261
306
346
283
370
210
347
318
369
330
294
235
318
386
260
251
230
375
340
289
294
244
311
299
343
350
306
303
279
340
304
359
303
283
382
365
261
196
343
358
372
314
233
248
316
354
287
327
312
290
373
408
359
291
304
365
365
265
322
283
247
221
379
264
401
338
415
306
395
330
309
267
229
320
306
392
361
296
239
286
328
390
292
294
364
291
228
318
337
349
337
254
322
300
349
296
313
249
339
287
283
252
342
319
336
331
302
317
336
309
276
306
316
404
269
291
368
324
307
333
287
357
308
320
337
337
333
281
315
350
302
285
360
315
272
381
314
291
318
306
295
365
351
312
346
350
284
280
268
340
235
272
271
258
326
407
257
331
282
357
342
286
278
344
360
296
369
190
312
306
365
303
353
281
281
333
323
376
328
297
319
337
377
332
365
283
284
320
310
328
378
324
319
291
328
281
283
376
349
247
340
277
204
398
185
271
308
171
333
413
378
309
295
262
270
315
308
254
299
210
308
329
327
420
350
288
306
337
326
259
297
307
267
278
346
213
336
253
368
298
300
339
212
342
287
384
355
312
325
322
363
253
266
286
357
324
341
290
285
281
273
329
282
331
347
309
299
332
329
300
299
305
364
299
270
338
296
307
316
305
320
360
305
391
317
387
331
339
281
299
275
332
279
379
254
363
189
332
341
296
325
327
381
248
262
330
223
347
398
264
238
322
354
302
355
365
279
256
336
335
305
355
341
329
246
292
363
295
293
302
246
329
263
295
264
171
344
312
349
294
274
356
337
292
272
290
326
301
358
344
339
281
354
283
341
305
331
269
366
327
274
276
277
330
321
276
333
335
320
319
312
354
376
380
371
347
393
368
323
351
347
245
275
290
272
284
260
328
368
379
338
341
338
313
316
258
248
326
357
381
364
295
316
317
281
264
328
341
310
365
289
270
304
381
306
361
319
283
364
317
254
197
319
367
308
282
367
293
255
315
357
336
306
389
286
290
334
236
279
361
264
390
336
302
363
305
389
308
362
328
277
337
379
289
247
270
336
322
319
336
270
310
247
392
290
287
333
330
345
328
357
309
296
334
293
346
353
365
334
265
297
237
242
299
356
318
341
269
297
334
336
324
354
364
227
310
321
274
310
270
314
353
331
305
253
273
393
302
298
353
309
321
381
282
286
347
372
356
278
314
366
255
273
403
280
237
354
327
321
208
330
303
359
280
350
268
329
266
404
265
320
272
287
347
324
321
327
290
234
346
301
331
338
335
271
232
385
245
276
368
409
351
337
344
344
303
268
344
332
334
299
369
339
291
326
326
291
325
368
396
341
346
289
258
259
317
292
315
363
326
310
316
297
389
269
311
307
341
291
348
341
350
347
326
302
355
246
344
336
414
286
306
300
378
411
324
307
287
236
397
279
281
312
291
326
260
348
374
289
340
360
399
379
320
191
310
320
336
210
299
358
375
325
383
308
323
344
292
312
253
428
238
282
357
200
336
359
310
331
302
307
274
343
277
321
255
295
317
291
264
293
357
333
326
283
324
311
298
307
300
319
357
346
275
341
390
343
313
321
293
301
263
340
317
323
374
318
364
270
295
405
325
331
347
165
348
323
376
354
401
329
341
353
274
279
328
324
316
338
334
245
390
340
396
281
279
405
304
313
330
297
329
305
254
360
312
354
289
336
393
286
275
326
361
347
364
322
341
241
260
216
416
291
241
360
380
367
307
344
271
266
375
325
271
363
311
320
362
359
315
302
275
275
360
314
253
332
313
305
283
273
370
222
375
297
301
342
336
322
373
421
378
313
306
288
390
369
268
303
309
254
337
368
309
346
370
362
285
292
344
320
301
245
307
276
376
318
287
326
325
326
324
345
349
338
253
313
275
297
273
358
231
266
281
290
342
347
312
235
292
317
322
371
379
368
285
265
359
240
250
355
283
398
279
277
317
253
355
302
337
359
274
318
277
304
258
309
315
275
330
379
326
321
375
353
273
306
356
239
359
334
240
336
338
376
325
194
360
298
242
364
244
370
301
287
333
315
326
390
330
391
282
345
290
355
312
341
302
349
311
305
222
277
236
354
257
255
265
337
262
305
288
254
392
385
293
289
331
357
304
360
196
300
358
228
345
261
314
355
354
380
341
322
318
365
293
303
276
270
261
337
346
352
314
361
366
388
248
283
291
397
256
321
334
351
269
323
289
369
286
382
326
330
328
301
342
430
386
307
343
361
345
328
372
364
308
387
340
327
285
385
320
295
294
366
273
380
327
310
282
262
280
351
328
240
276
303
359
307
268
333
341
292
379
306
321
273
307
325
302
331
257
332
334
313
309
312
338
288
398
318
357
235
211
325
281
288
368
312
321
307
291
311
309
310
257
312
344
237
367
221
274
270
342
381
392
325
351
348
345
295
355
319
294
304
279
369
280
317
374
365
344
373
289
285
345
311
324
325
239
299
340
271
363
368
309
291
287
358
305
301
286
336
402
272
342
363
373
277
371
325
309
318
346
351
329
332
318
315
337
355
312
238
277
245
324
333
286
246
274
326
326
328
334
353
370
338
342
340
285
326
304
284
323
257
308
350
362
258
286
287
333
286
263
364
363
288
336
294
358
332
315
360
258
256
330
377
329
331
305
354
355
330
279
217
221
271
320
247
253
315
335
380
329
369
364
329
363
395
215
305
317
314
299
287
287
205
299
322
349
360
352
322
333
320
400
282
296
270
392
332
309
271
366
333
254
316
283
330
354
329
270
258
283
334
273
301
324
324
328
321
310
363
303
319
352
303
347
272
336
299
328
342
233
391
345
301
341
316
327
280
301
276
269
322
345
411
295
337
290
365
278
238
305
356
271
333
318
320
321
286
393
247
247
335
306
292
338
326
342
343
300
281
294
317
345
317
306
344
374
358
351
277
250
325
318
234
235
275
320
370
290
340
313
311
303
298
340
281
291
308
287
372
406
245
287
338
242
271
302
338
221
360
227
324
320
310
325
372
305
323
338
372
313
282
299
386
272
257
358
362
295
388
352
267
311
371
243
314
304
272
270
298
335
332
359
400
315
362
348
396
378
241
314
301
300
315
332
357
359
385
365
293
319
332
362
289
274
286
321
382
360
289
291
269
371
339
315
358
326
253
286
317
365
343
262
280
365
356
398
380
337
277
368
273
296
268
388
312
268
297
267
253
386
220
342
328
314
243
260
213
308
279
334
334
267
291
375
324
334
332
317
348
309
329
329
318
323
250
303
329
251
316
404
345
328
277
255
312
326
369
374
357
264
259
413
297
267
379
358
389
304
289
389
264
272
344
304
256
281
379
271
369
343
315
351
296
330
364
303
252
384
342
370
265
332
328
251
321
383
306
316
286
290
159
329
271
343
306
342
294
334
287
344
308
315
338
312
369
317
288
229
333
401
261
316
302
298
424
358
334
327
338
313
401
335
314
312
369
232
249
397
286
336
331
328
310
260
344
278
244
263
378
313
395
310
283
194
258
233
364
343
409
362
283
278
302
379
317
269
257
340
300
324
254
341
353
341
325
255
341
312
346
327
243
266
311
307
289
357
345
262
339
354
306
349
321
279
220
320
299
337
346
286
362
354
308
281
281
336
367
326
399
296
296
314
274
311
321
384
357
277
329
321
299
244
366
362
320
328
329
295
286
312
312
337
403
308
331
276
350
313
273
312
270
338
258
306
374
255
296
377
194
379
340
246
322
342
296
341
270
328
346
355
313
265
315
324
255
295
256
372
285
316
302
288
330
324
289
301
360
354
277
345
328
283
266
263
318
281
286
341
359
339
299
273
354
241
351
199
267
378
290
284
315
341
345
322
229
295
304
353
336
370
341
294
454
330
277
334
381
283
349
299
292
344
306
347
292
332
342
288
403
315
338
317
330
293
245
298
284
341
285
287
345
303
347
263
300
362
297
274
399
297
325
355
260
272
368
324
346
361
308
252
285
345
354
369
282
390
285
285
277
289
276
340
318
344
357
380
358
339
319
377
348
404
343
290
354
290
284
304
293
283
365
352
241
416
366
281
384
341
220
335
301
239
237
276
297
314
295
255
320
258
241
350
297
272
312
277
285
310
342
288
326
273
358
308
316
327
304
294
314
371
351
306
337
310
349
379
306
308
253
279
378
341
354
325
356
423
330
283
281
346
315
285
328
303
382
341
365
299
259
253
283
340
318
300
269
294
305
311
267
361
338
326
302
386
198
319
281
368
236
331
255
311
364
263
320
370
329
327
337
299
387
343
275
331
246
387
310
357
356
263
323
297
456
225
376
241
388
274
334
377
283
329
301
300
309
292
334
297
266
366
373
356
232
237
392
298
281
385
290
296
305
234
334
282
294
321
426
358
354
330
290
406
280
365
312
283
303
300
341
268
310
301
278
211
281
266
346
331
337
292
269
354
393
369
294
352
298
369
215
316
324
338
348
260
278
364
282
281
311
314
383
353
327
257
242
299
374
361
245
341
297
385
347
315
304
344
311
370
326
299
371
297
329
352
290
296
413
297
352
320
296
345
315
295
234
292
302
296
357
262
296
365
326
288
358
284
362
282
350
328
339
355
326
314
257
278
262
309
347
296
290
347
367
400
388
308
341
340
254
259
337
280
378
293
343
268
334
324
338
420
356
294
252
324
274
313
252
344
315
333
308
305
345
263
291
322
320
318
329
370
274
297
347
391
318
340
298
336
302
313
248
368
312
340
220
320
319
340
412
342
271
249
316
265
327
289
283
314
295
287
274
341
244
301
376
274
343
253
367
369
330
358
309
315
361
291
278
228
290
263
268
272
361
313
224
301
307
325
306
338
312
341
300
356
309
301
366
292
268
325
309
250
279
356
338
356
403
258
383
234
379
370
249
373
259
264
376
302
257
388
357
386
360
372
350
326
292
303
263
297
277
244
334
361
376
322
387
306
302
272
239
345
377
245
308
287
310
297
358
356
310
304
382
288
270
287
246
313
389
368
310
268
319
258
396
354
243
312
328
322
320
290
243
275
380
209
357
296
349
282
234
292
342
274
329
353
375
328
295
306
372
361
397
318
404
329
418
339
259
321
328
274
311
319
343
304
272
311
318
300
433
288
279
310
274
357
376
347
261
309
283
291
280
389
290
257
289
314
382
246
269
220
282
345
310
274
401
366
359
262
258
246
318
353
379
430
343
372
384
280
255
265
373
400
358
326
235
318
406
224
317
358
244
392
325
354
354
284
222
333
311
307
310
253
318
359
290
319
285
261
293
222
274
302
234
401
244
345
233
340
301
281
303
292
296
366
358
410
365
292
340
286
367
332
326
334
297
363
333
325
287
393
236
246
370
280
357
345
303
350
338
204
306
197
370
379
292
240
354
289
247
356
295
334
342
318
300
220
310
292
274
389
194
286
337
208
340
333
370
342
244
316
331
235
305
328
348
256
306
333
332
313
322
318
278
344
339
411
283
356
322
322
381
324
355
333
311
349
236
338
332
265
308
365
304
300
344
371
371
347
322
278
224
337
352
384
334
355
336
300
324
335
314
263
291
291
222
265
270
360
217
320
318
386
261
340
311
312
355
342
353
382
329
305
371
323
319
243
292
330
336
315
322
246
354
306
211
285
350
318
297
329
283
373
291
372
361
356
276
332
367
288
286
337
281
307
353
320
324
274
314
344
289
311
258
247
365
278
321
325
323
397
273
327
310
300
298
308
235
347
292
379
223
284
303
239
391
254
353
364
329
321
349
285
341
349
280
243
255
231
291
310
236
271
395
344
299
326
363
255
338
296
269
192
295
301
280
313
267
241
319
275
375
345
208
342
321
344
268
280
321
273
284
406
338
284
204
282
327
344
285
246
297
360
297
334
356
234
282
320
360
319
273
333
371
352
313
277
300
405
269
273
270
303
306
241
356
364
273
305
270
343
258
277
333
253
236
351
287
315
210
317
308
354
197
401
304
262
317
314
361
275
310
290
388
226
267
358
348
338
188
239
260
243
358
285
375
309
330
255
235
294
360
353
317
318
378
338
285
280
304
338
300
300
242
260
292
273
239
341
320
289
270
239
296
355
340
276
286
331
338
271
330
250
195
354
290
321
256
311
289
327
245
332
273
246
224
328
269
323
301
287
346
280
349
248
358
337
347
381
367
335
350
353
322
296
313
362
358
320
253
380
276
300
402
291
270
339
313
341
391
239
328
377
267
371
218
258
310
287
370
335
279
226
357
315
364
302
368
375
348
325
384
368
377
305
262
353
248
389
397
365
299
388
199
442
243
315
342
303
323
335
243
309
370
252
369
261
278
256
271
366
362
281
268
392
292
351
293
264
402
366
212
325
298
399
326
316
334
336
375
330
299
286
325
337
244
309
328
381
282
213
398
282
345
301
357
340
347
318
297
316
287
370
306
270
275
318
325
301
350
299
328
261
374
302
357
272
274
324
335
258
354
253
320
265
212
318
309
353
425
375
267
339
358
282
328
394
230
341
228
371
351
327
378
313
309
344
269
331
344
336
305
389
279
207
270
214
284
352
274
351
262
334
303
230
246
341
268
203
352
287
254
336
340
300
313
282
277
286
372
261
323
267
323
328
303
270
290
319
365
323
257
281
335
349
307
328
314
263
411
344
290
211
311
326
352
358
342
333
265
375
287
330
402
265
329
288
294
335
367
320
333
336
360
307
323
372
356
295
324
303
333
249
292
311
269
291
297
306
300
342
262
384
270
254
373
309
374
220
372
333
316
341
364
254
336
259
257
368
274
276
347
311
353
323
315
344
266
351
329
339
261
266
265
355
355
252
307
310
405
243
326
319
279
264
369
312
254
254
343
307
286
332
339
332
281
290
245
344
307
345
345
263
270
388
308
361
299
317
309
364
299
274
358
302
360
354
363
353
224
400
302
319
381
312
314
307
336
335
382
333
304
363
306
370
354
290
301
365
379
327
281
292
335
377
288
264
299
293
337
314
347
288
324
224
376
290
308
386
346
300
290
301
278
330
303
218
252
271
308
370
341
291
367
373
313
304
352
318
313
292
291
293
350
269
336
343
335
325
280
272
247
329
341
386
267
226
347
336
262
293
324
314
374
390
326
334
321
315
307
333
338
315
272
364
284
297
266
305
215
390
315
330
328
269
299
364
238
313
333
353
314
315
311
318
302
306
295
289
330
336
337
250
372
279
333
382
287
292
316
383
316
271
274
366
255
312
395
291
326
370
322
407
349
289
243
269
319
318
313
313
307
311
301
337
322
301
365
320
399
312
362
362
376
286
352
362
282
209
299
356
295
257
306
348
378
348
384
382
353
215
353
344
281
281
301
272
267
266
325
293
204
302
370
295
328
301
311
345
275
311
376
264
296
278
362
354
356
266
282
293
364
404
388
288
352
276
259
343
227
352
340
308
301
312
340
317
283
358
313
362
355
310
334
303
350
381
323
262
276
327
305
253
298
291
420
310
240
280
409
381
276
364
224
247
267
282
360
311
217
348
332
336
272
365
357
214
266
312
289
305
318
286
346
333
309
264
279
380
299
290
300
321
275
323
314
355
240
363
391
330
316
284
272
380
331
346
347
297
318
238
313
271
370
332
410
373
272
308
331
292
270
402
312
311
394
381
277
315
289
257
257
375
379
288
342
285
291
344
314
280
325
303
318
270
380
303
349
316
335
364
279
242
324
360
377
293
303
266
336
327
323
328
341
310
338
352
239
241
317
336
323
352
294
310
212
269
320
371
272
351
352
282
224
331
372
241
446
260
362
357
328
311
370
178
283
369
406
287
269
372
256
321
316
311
314
277
334
375
336
280
280
363
388
302
291
296
318
313
249
239
252
310
316
258
267
312
306
328
344
361
338
441
276
310
286
277
299
271
257
340
273
291
335
253
277
321
377
239
266
290
303
261
426
320
295
429
337
327
330
304
315
330
304
318
315
271
275
417
273
325
283
390
396
298
331
326
443
283
298
274
310
305
302
342
328
304
337
331
367
244
282
276
381
325
345
329
238
330
317
266
369
296
366
309
305
249
271
311
315
331
277
305
381
315
333
334
341
282
360
245
299
359
373
362
341
280
237
376
407
311
365
385
368
379
317
317
361
337
394
337
287
339
291
285
316
312
346
288
316
333
290
277
333
353
366
337
265
315
356
284
323
273
312
355
302
316
241
352
278
339
304
294
373
278
320
295
347
342
251
343
269
378
315
350
357
373
286
200
268
292
337
409
257
342
334
308
354
320
292
284
315
316
314
292
326
269
318
344
316
358
353
410
345
334
322
334
303
303
347
274
310
305
398
380
320
377
387
246
393
287
288
216
323
317
292
306
359
294
328
270
364
268
331
258
374
292
404
262
305
443
324
278
329
333
286
228
353
281
270
357
273
314
291
352
274
354
347
265
334
314
310
336
310
274
270
336
347
283
377
259
288
343
217
337
291
246
336
408
327
309
320
345
225
363
272
354
354
315
277
383
306
316
244
285
320
365
353
277
290
335
348
426
238
316
339
261
272
328
296
396
325
347
333
330
295
305
344
292
290
253
296
268
377
394
313
261
362
297
366
254
320
322
307
356
307
308
265
323
302
301
353
268
299
310
375
351
255
267
208
344
396
243
396
322
326
330
388
342
347
229
336
337
313
347
311
277
337
320
297
244
257
382
364
309
340
329
287
333
340
384
254
287
358
351
337
272
344
284
327
243
345
322
300
305
294
341
407
297
275
300
382
339
247
301
362
257
281
367
369
319
318
314
293
322
333
334
368
279
317
305
341
273
359
322
331
330
384
292
323
357
322
382
389
384
296
271
365
363
313
308
335
289
376
274
414
321
311
270
231
302
321
345
290
354
312
377
335
317
279
284
294
331
319
355
250
399
284
392
315
403
329
268
300
425
329
287
347
258
274
353
284
287
231
300
336
295
241
346
255
337
325
285
342
274
332
284
270
315
279
297
318
312
334
346
289
341
324
233
292
334
274
356
282
335
318
329
361
331
279
278
359
364
293
304
315
397
297
329
307
201
285
388
330
334
358
357
272
298
290
355
342
347
306
291
292
326
301
334
323
321
347
291
362
284
286
331
270
327
343
231
250
331
375
331
391
361
306
270
358
352
307
325
310
405
319
404
356
290
305
274
326
224
324
283
271
329
336
314
283
271
309
167
305
303
331
276
267
267
350
333
294
304
360
300
330
271
283
339
270
188
277
363
333
307
271
355
379
290
398
281
270
304
267
291
379
317
363
358
346
234
338
310
381
366
321
295
348
258
316
327
251
191
351
350
382
343
355
266
334
253
328
304
298
241
378
332
301
278
387
259
252
349
265
311
368
263
275
295
301
331
285
311
322
386
332
353
308
371
258
353
303
385
324
252
287
334
266
309
318
322
288
269
270
245
287
333
345
381
361
343
307
262
236
350
328
314
334
297
319
292
303
263
236
257
312
349
301
334
281
295
337
287
293
266
328
324
333
250
339
320
286
373
242
359
333
342
307
275
382
248
341
341
314
227
356
316
202
313
358
321
357
361
240
287
394
231
327
331
317
251
305
268
307
237
390
329
323
287
334
314
426
334
342
241
311
331
284
314
345
264
352
201
346
311
349
351
345
324
345
343
349
315
324
392
267
312
255
293
314
237
299
364
250
290
340
307
299
266
377
358
289
353
303
235
355
337
383
304
360
338
345
327
364
300
255
350
346
343
329
336
315
334
340
323
279
268
269
246
247
235
327
290
372
299
401
279
287
373
375
298
333
232
351
321
332
280
213
291
251
364
421
243
233
310
327
352
291
252
389
418
281
268
273
333
282
358
308
300
264
270
345
395
397
308
353
314
359
360
303
291
377
335
324
365
308
386
334
332
293
301
390
253
363
369
306
356
294
274
305
264
349
272
335
334
324
313
350
295
285
299
277
339
353
304
380
259
364
297
323
280
382
343
372
300
338
341
279
300
362
268
340
259
330
305
297
334
356
376
370
314
256
334
257
322
316
260
335
376
364
265
256
323
355
270
328
357
315
270
311
285
321
378
411
363
253
345
270
327
213
252
406
443
324
260
309
267
250
279
322
306
360
286
303
334
285
335
251
295
278
269
308
303
280
298
357
371
349
278
406
308
324
247
244
278
314
278
313
347
306
281
264
386
331
307
317
238
367
324
292
358
369
354
224
405
351
344
360
259
278
339
293
332
313
346
231
331
279
285
313
368
292
251
320
280
370
363
336
372
270
205
343
306
355
278
361
425
266
354
352
333
346
287
330
344
281
310
278
355
377
357
317
360
315
323
367
410
336
332
260
304
487
298
420
295
298
300
282
238
350
265
310
330
313
365
358
310
308
338
316
330
309
328
261
328
295
318
275
292
296
359
265
340
286
375
261
364
320
306
274
272
332
283
389
310
339
319
269
258
231
306
345
322
311
374
320
302
324
292
201
341
370
328
249
352
378
349
358
270
301
285
317
285
304
298
324
310
270
331
379
319
220
243
294
314
313
386
322
242
312
285
364
309
339
339
275
322
256
290
331
274
354
360
339
286
285
212
276
248
311
302
341
341
345
318
330
426
286
305
329
217
316
333
303
255
402
362
264
411
359
365
292
290
293
310
277
247
303
275
331
405
323
276
290
324
289
301
305
251
416
311
270
269
238
354
368
224
262
234
266
290
325
290
342
299
341
276
351
288
286
302
344
344
347
338
350
364
343
298
294
347
272
400
311
265
291
376
331
346
349
220
263
304
378
355
312
342
307
267
360
288
295
434
230
337
359
334
336
352
282
318
298
336
264
329
292
323
346
175
277
362
176
284
344
336
385
242
303
328
267
303
336
214
347
370
297
278
269
328
335
321
344
319
278
304
304
313
351
257
305
313
193
299
299
365
287
319
349
278
336
367
231
319
276
318
373
344
356
311
270
298
338
313
253
310
338
346
310
295
305
294
286
348
331
328
276
232
368
357
373
347
273
240
377
304
384
377
355
428
310
316
239
367
257
289
325
334
356
352
258
362
319
399
268
245
373
314
376
355
283
297
272
251
324
283
227
376
337
251
253
278
309
417
306
319
228
322
296
308
314
319
342
245
282
340
376
341
295
257
236
339
291
270
373
348
337
218
250
335
382
385
232
277
373
289
298
358
296
268
310
301
328
305
271
317
325
387
363
301
277
314
298
353
278
259
333
336
283
312
332
375
364
347
352
340
250
289
305
252
315
357
311
226
306
231
243
296
361
353
387
324
312
298
221
397
374
321
289
312
326
328
306
244
275
392
236
332
309
370
296
308
285
356
291
360
311
302
328
342
287
307
278
327
215
300
311
286
378
348
371
337
390
336
218
216
270
312
287
293
322
309
250
331
298
333
299
284
319
330
354
336
333
261
291
387
342
346
300
258
306
257
287
379
344
311
369
227
380
397
301
373
342
312
314
398
220
285
256
311
321
309
310
269
332
360
289
396
358
327
292
314
288
342
313
369
395
308
388
372
255
298
324
381
314
350
302
285
274
324
241
335
339
319
381
318
313
297
262
380
314
259
340
325
374
331
367
364
374
329
356
320
269
233
356
283
330
226
332
355
293
264
335
350
277
303
326
368
352
268
330
408
316
286
338
321
326
294
396
272
313
285
376
326
348
308
241
317
348
343
339
343
356
261
347
311
289
243
324
316
262
309
300
265
321
308
363
286
347
307
401
281
328
284
273
358
257
341
354
274
192
272
332
340
292
306
321
305
274
340
260
154
259
378
353
343
391
244
303
321
298
261
254
275
243
349
359
230
369
259
360
406
397
366
278
301
322
350
384
265
388
337
386
341
281
375
349
230
246
266
300
365
320
374
290
382
297
381
323
305
336
314
322
304
321
377
309
212
314
269
398
291
284
288
324
353
269
329
298
308
373
271
318
308
364
359
270
320
197
278
275
311
246
320
258
270
320
360
358
313
248
291
298
324
312
396
392
415
358
280
239
348
403
279
303
307
333
340
296
308
308
322
318
349
250
353
227
323
392
276
324
319
242
349
353
341
332
273
365
355
331
363
350
284
320
245
332
344
281
297
334
320
371
278
371
318
267
294
299
279
280
299
232
342
304
364
348
386
326
308
351
302
289
319
327
360
411
304
350
349
362
292
311
280
355
254
265
313
334
357
274
317
386
275
382
342
279
331
288
333
355
297
280
285
311
295
321
307
272
304
306
237
304
247
340
337
274
345
157
327
340
330
329
267
295
356
351
271
302
299
278
326
281
353
360
299
272
364
339
362
265
314
353
353
344
307
359
306
314
310
292
254
301
363
355
350
171
365
290
396
333
238
269
367
248
341
239
201
321
350
397
229
319
309
355
372
281
315
325
346
262
388
320
332
316
397
402
282
412
359
337
220
373
362
340
371
346
342
357
382
254
297
278
346
365
371
307
344
342
370
294
282
417
320
391
322
304
332
315
319
242
256
325
354
298
374
351
311
284
389
348
351
385
317
301
259
314
282
328
343
306
324
379
360
285
390
271
330
391
288
325
258
359
321
358
325
269
302
376
299
282
327
270
379
296
322
348
314
431
347
332
339
348
376
300
315
309
339
313
218
260
353
322
358
361
321
346
226
326
351
320
358
345
359
322
272
215
196
378
308
315
247
376
299
400
247
311
324
413
291
352
280
347
371
348
230
301
324
327
379
273
353
283
217
339
345
399
324
229
267
283
300
317
343
284
298
295
314
383
385
321
333
349
320
284
299
305
395
307
359
267
264
224
340
365
356
360
309
282
332
224
222
354
292
404
306
348
274
306
325
332
343
309
268
394
249
340
314
323
336
383
291
343
304
324
343
318
276
329
329
293
291
268
294
269
288
302
289
355
357
262
288
349
367
205
343
285
336
311
241
362
275
235
358
274
292
282
346
241
312
291
336
299
270
280
282
381
278
344
390
274
316
383
372
277
289
355
279
306
297
297
320
389
302
340
331
254
347
283
339
257
308
296
308
271
296
391
248
226
341
238
285
328
311
330
322
298
285
271
353
306
303
280
293
281
298
235
358
307
314
298
379
360
229
265
360
375
325
292
247
307
257
369
311
371
231
254
361
257
298
311
362
304
319
367
302
361
365
294
336
317
323
319
255
366
274
252
294
340
240
292
314
334
242
352
340
276
268
286
250
364
276
333
330
354
242
350
332
286
300
332
349
301
308
315
290
274
304
380
328
324
223
335
302
336
292
277
343
351
306
346
321
252
311
359
300
237
340
261
261
285
311
298
362
283
273
352
277
370
321
274
276
323
372
343
257
362
289
222
299
287
330
339
314
394
288
305
374
289
201
292
390
301
271
301
368
431
295
315
446
271
385
334
296
241
341
305
375
327
312
253
352
339
324
284
281
297
357
390
297
347
282
264
293
363
281
297
308
281
338
338
353
367
227
290
288
266
331
340
338
348
339
361
337
340
354
375
255
329
307
310
304
224
421
347
340
216
342
401
326
384
277
350
336
321
328
284
312
298
277
389
244
389
269
252
265
310
309
253
277
327
413
216
263
319
274
267
249
249
297
320
245
283
375
282
268
303
298
330
272
275
425
327
291
367
310
333
367
348
267
260
340
266
313
305
307
310
263
319
323
271
368
250
295
299
321
365
247
366
252
207
312
309
399
286
261
348
276
341
322
349
245
269
348
338
338
278
355
274
306
304
350
320
346
315
345
272
337
276
306
272
360
310
295
326
286
409
371
413
302
285
381
366
315
340
232
340
270
317
335
257
305
255
348
277
409
337
228
357
326
243
349
230
274
330
347
303
320
354
290
264
225
349
359
345
292
345
340
253
327
233
307
355
388
245
254
268
257
351
301
381
286
347
355
393
314
271
247
340
311
361
297
333
318
338
296
325
292
350
337
306
334
346
329
334
310
386
349
434
383
284
302
280
329
277
305
336
370
248
325
230
337
265
319
266
285
389
351
323
365
302
255
319
303
382
257
319
323
302
357
377
357
302
397
324
276
280
366
258
286
335
317
335
320
292
248
310
224
264
347
349
351
286
365
373
307
349
231
259
380
299
263
352
317
398
329
358
350
229
354
332
282
394
363
313
303
307
356
319
339
232
285
278
309
315
310
322
287
248
330
241
285
356
349
370
336
325
309
280
394
390
291
324
354
321
285
272
273
375
265
280
339
340
380
283
339
351
305
347
385
362
336
327
244
334
303
252
361
252
365
227
317
242
353
335
387
327
345
299
273
334
281
311
338
326
349
297
387
396
274
284
314
350
296
400
322
294
337
350
269
371
353
281
407
345
311
378
292
306
305
313
327
225
345
349
231
326
283
319
362
285
299
287
210
291
394
402
287
263
268
238
252
292
277
375
368
350
305
268
261
252
261
334
315
298
255
301
354
310
306
321
313
273
384
321
293
275
358
388
265
260
385
347
289
329
319
372
348
271
232
343
232
329
335
387
319
344
257
275
270
358
344
337
274
244
281
238
254
320
340
340
364
384
353
315
320
313
277
326
249
278
358
246
288
311
306
254
317
316
308
295
366
369
327
267
294
356
276
332
276
275
432
356
212
350
365
359
324
301
292
335
291
342
331
276
356
326
333
364
327
351
320
300
247
313
321
339
315
341
309
352
364
235
365
351
362
324
302
365
293
307
385
280
353
393
279
326
346
309
368
348
275
299
269
264
337
303
310
292
335
246
286
280
377
313
387
355
353
292
299
303
271
325
304
399
349
278
262
281
312
350
284
293
361
195
323
314
285
376
301
330
275
363
290
306
320
335
315
344
384
316
311
340
340
294
352
299
309
259
344
347
306
308
362
323
349
313
380
261
388
456
350
370
354
386
330
370
311
362
331
296
286
323
431
359
316
402
286
332
378
241
277
299
263
393
371
318
295
293
299
220
277
347
364
281
303
245
330
371
286
381
295
358
289
286
281
343
305
385
290
318
340
326
353
280
389
305
298
280
271
307
366
265
269
275
346
278
317
416
313
291
368
279
309
273
246
283
304
180
314
285
314
270
266
326
341
299
323
367
338
305
304
309
348
373
318
293
364
334
364
313
344
283
360
364
357
367
323
353
325
329
309
340
292
371
362
175
270
334
385
338
311
245
293
336
293
300
338
360
385
280
237
251
297
354
295
282
312
323
374
360
320
392
398
203
283
369
280
333
310
266
288
354
331
260
400
332
323
221
245
255
224
423
303
346
367
382
386
319
257
240
330
310
308
360
364
274
308
309
216
290
308
286
294
277
374
302
281
268
377
329
277
309
340
287
326
380
287
299
280
380
308
291
246
297
306
264
382
321
373
363
272
303
266
335
360
341
302
327
291
288
317
369
307
328
335
294
281
355
358
365
426
304
374
279
369
262
299
372
358
326
322
252
311
250
409
319
286
254
378
344
334
347
321
242
311
306
272
291
257
333
289
305
249
302
325
245
246
250
343
318
381
279
232
321
414
257
387
260
261
443
395
402
369
441
220
352
328
306
388
362
309
288
304
341
337
366
341
317
227
280
304
252
282
319
273
307
263
256
244
319
371
321
284
275
287
408
312
355
288
423
301
362
304
338
314
346
371
267
328
287
234
265
215
295
344
397
312
293
369
338
246
291
280
369
327
255
307
349
275
302
163
357
346
276
354
283
344
239
288
314
259
338
342
399
271
236
270
333
295
314
294
375
338
260
271
316
307
253
357
373
373
237
274
304
287
252
296
211
340
300
242
272
336
338
301
344
208
396
244
307
289
342
396
223
367
350
383
326
366
287
335
341
288
374
246
289
265
289
347
319
340
287
270
288
304
318
252
267
322
257
335
316
322
354
309
259
354
221
258
334
337
331
247
311
284
366
262
323
333
282
307
304
376
251
252
280
313
285
288
310
249
317
298
273
317
366
384
306
264
357
349
320
284
337
343
267
293
262
337
278
229
286
285
359
383
339
296
267
299
281
399
370
296
242
318
311
266
342
310
330
357
428
259
215
385
329
325
401
320
336
323
208
257
295
367
315
295
318
280
295
395
281
348
315
315
252
311
348
267
341
377
372
290
297
292
276
320
291
248
342
339
260
277
288
363
317
353
282
314
317
286
341
349
258
289
315
311
340
267
297
323
292
341
321
378
287
336
270
300
267
243
321
401
308
366
293
330
350
281
344
376
352
359
279
323
239
269
314
364
364
271
307
386
359
298
319
321
390
245
260
305
307
301
318
265
327
359
261
296
440
255
263
298
289
313
324
427
346
310
303
244
331
344
328
305
325
357
245
262
363
400
344
358
339
341
383
362
399
285
296
266
308
322
290
299
367
303
326
262
175
332
367
370
216
314
297
393
393
246
226
319
363
293
346
241
368
348
275
276
282
336
335
259
309
277
412
334
314
311
332
242
349
350
285
245
290
434
277
303
277
376
347
355
286
281
335
209
283
310
285
300
304
373
228
321
305
286
309
326
280
404
364
280
275
266
342
357
340
265
358
399
351
290
277
305
335
314
309
233
315
409
371
402
284
212
342
407
276
404
228
390
335
270
328
322
335
312
376
293
308
348
375
291
361
312
321
313
298
257
360
353
315
259
291
248
364
345
363
246
291
277
307
291
383
321
258
298
225
249
243
292
262
303
240
232
262
386
334
291
268
339
355
342
334
331
307
332
275
293
341
362
284
358
367
287
282
316
234
351
374
354
352
233
256
309
274
394
280
339
324
331
339
429
283
279
275
363
335
347
318
298
344
326
251
283
361
370
304
275
382
338
348
303
381
376
342
257
285
311
277
373
307
294
263
347
375
289
340
227
272
298
266
311
350
299
317
369
344
255
277
279
344
308
372
343
301
367
331
309
304
353
392
332
275
340
403
315
304
250
324
358
362
268
303
337
387
185
247
344
257
350
330
314
385
391
263
380
283
313
312
283
353
428
256
379
322
399
331
328
331
328
294
246
352
302
308
251
321
285
324
359
371
319
245
389
318
404
284
301
289
299
327
302
285
259
321
350
304
271
339
352
274
414
364
275
376
340
263
292
378
241
338
350
294
309
287
246
277
271
233
359
394
445
356
351
301
255
348
329
231
299
327
286
281
319
236
319
373
281
308
372
251
352
357
305
303
268
345
352
274
274
359
270
315
390
316
377
329
375
247
385
391
311
348
281
264
333
307
314
408
339
274
335
262
281
295
334
290
275
355
251
275
345
254
340
328
249
346
306
275
247
298
230
272
262
304
283
284
260
314
283
212
354
303
299
299
307
305
237
376
321
227
337
398
209
313
383
324
311
369
290
319
376
224
357
328
336
333
195
305
321
259
329
411
318
324
364
314
329
300
324
376
429
300
347
270
297
340
266
304
423
300
342
351
350
319
229
300
348
345
289
274
323
325
299
352
333
330
301
352
293
347
183
300
282
283
272
324
298
273
348
332
240
315
355
352
321
328
426
317
349
245
246
286
357
290
332
346
317
240
365
266
328
281
289
263
334
359
363
242
329
274
324
322
355
332
269
336
336
303
277
264
282
370
335
407
271
316
334
272
310
342
310
318
394
324
189
307
304
369
322
355
354
257
311
225
294
345
278
289
274
253
347
350
277
303
376
277
355
348
225
306
392
271
373
177
284
366
320
285
296
266
298
307
328
291
248
353
336
329
350
303
339
362
351
313
310
380
267
371
360
341
331
362
390
348
333
349
264
301
303
295
343
292
343
337
344
372
407
312
281
397
399
333
281
275
283
235
257
319
363
363
334
282
301
351
369
339
326
342
347
278
329
415
337
278
325
350
391
346
241
304
329
348
428
289
324
346
294
411
371
252
275
329
362
342
341
339
299
332
275
295
300
326
307
305
301
266
306
277
279
412
345
385
365
332
282
423
388
329
334
287
322
324
387
327
240
302
293
296
343
375
335
311
307
315
311
288
245
364
335
298
362
331
307
325
221
290
391
382
295
365
299
262
338
347
398
254
310
264
392
334
310
251
275
311
328
341
289
323
310
292
327
345
356
333
425
306
313
366
278
315
299
366
342
296
316
312
422
328
422
318
361
303
262
360
345
326
267
307
251
399
418
325
352
302
232
371
285
248
282
304
342
316
301
235
324
303
357
342
308
246
250
318
277
388
326
304
410
323
246
272
305
268
288
225
361
348
254
229
329
331
219
255
316
399
299
379
324
345
296
358
308
253
352
313
314
339
388
327
435
332
262
305
291
373
338
264
383
329
285
370
347
249
206
286
260
338
303
296
311
321
359
274
287
324
250
337
280
232
310
338
339
334
364
358
325
334
363
256
359
271
271
318
296
334
263
265
317
311
283
264
338
320
310
294
329
222
341
318
385
321
331
280
365
350
255
334
282
371
353
303
322
426
356
243
291
358
282
332
347
391
372
319
380
258
366
321
325
231
312
339
290
333
314
224
308
248
353
337
246
382
253
288
370
355
302
338
333
366
379
376
306
337
308
268
312
361
274
285
284
318
341
293
383
355
289
260
346
305
308
313
406
330
396
307
267
388
392
309
261
253
327
315
355
344
328
229
235
250
272
345
313
333
257
293
316
359
330
367
302
317
355
399
227
403
229
371
300
303
306
250
324
318
336
388
278
304
240
308
311
304
341
355
271
369
361
292
287
190
261
329
320
292
256
321
321
320
386
312
328
269
347
320
323
387
420
300
285
400
304
319
335
366
374
285
298
278
380
350
234
295
376
338
391
344
385
319
266
282
377
362
354
266
243
254
242
281
286
297
310
371
378
314
217
241
294
369
236
322
240
376
346
369
323
290
360
306
257
359
325
275
309
313
295
304
220
374
280
249
345
283
273
277
320
388
219
201
323
352
299
403
352
295
203
279
334
370
285
354
216
309
298
303
369
277
287
317
318
328
265
374
327
299
327
263
301
343
287
285
367
315
343
353
309
358
348
159
269
291
371
316
354
329
288
287
302
264
344
355
356
252
360
331
308
392
355
291
280
395
374
313
377
325
332
326
269
283
306
305
311
389
359
249
338
344
254
324
301
409
308
253
307
242
351
306
409
300
318
256
338
332
279
336
332
286
338
355
244
247
368
253
192
377
299
262
351
275
308
276
236
359
326
311
406
256
325
385
279
312
242
259
312
309
327
380
263
213
250
295
340
391
357
252
322
445
318
274
372
283
305
317
360
266
276
337
354
165
311
277
415
339
261
234
299
313
367
322
320
345
369
311
310
343
304
332
328
368
270
262
268
275
365
245
353
202
343
299
283
273
276
223
292
325
336
341
370
363
346
308
311
307
364
337
347
265
270
331
320
312
337
253
283
341
318
349
409
326
404
262
326
300
300
374
309
302
345
367
339
303
290
251
276
355
381
350
394
274
352
244
312
347
375
345
350
270
319
316
262
322
346
290
268
333
270
310
364
322
263
344
314
319
354
357
292
256
390
330
370
350
260
277
291
273
328
298
278
347
291
240
373
356
309
372
311
291
347
310
278
388
307
329
220
327
379
367
379
280
271
293
326
283
284
340
215
351
340
291
359
329
362
257
284
347
387
335
350
335
311
259
367
398
300
296
293
296
296
294
240
243
282
387
365
297
293
332
308
387
317
405
272
311
306
270
359
264
299
346
315
380
346
337
291
268
219
256
247
273
312
243
321
343
334
319
341
183
291
343
314
387
347
266
257
350
426
260
357
323
339
325
363
340
323
359
288
313
361
351
282
394
354
293
315
348
305
389
291
331
293
286
268
365
334
264
246
331
297
405
329
316
238
305
337
257
356
373
286
305
337
343
256
231
304
288
266
370
299
253
347
352
300
349
309
261
270
352
359
332
350
323
325
345
398
325
339
385
290
350
328
303
325
272
351
363
308
249
250
302
326
389
393
248
253
404
325
240
309
426
266
354
290
244
339
229
313
276
324
268
307
341
353
345
379
336
363
205
334
369
286
358
330
365
367
305
294
392
345
377
284
267
394
375
221
430
393
324
365
335
278
320
269
273
286
230
295
299
310
333
347
285
356
356
271
317
298
301
298
350
376
349
324
369
275
301
273
248
316
299
264
317
279
277
342
293
286
324
329
323
303
322
257
340
392
386
325
330
304
273
336
331
357
357
259
336
273
275
312
289
268
349
375
241
198
341
346
349
277
336
222
370
357
286
375
320
338
232
371
335
310
341
309
265
231
365
223
304
319
236
304
275
284
280
402
321
378
353
344
289
319
340
321
290
279
275
230
311
357
386
397
329
298
291
265
371
348
305
237
253
333
289
334
304
346
324
277
325
329
347
298
306
290
298
335
323
412
423
253
364
283
300
338
298
269
267
295
314
222
236
317
330
351
318
368
255
332
350
236
282
301
280
261
321
291
353
322
339
340
217
285
281
368
229
351
338
379
392
349
286
397
363
301
310
292
336
288
303
248
378
297
294
367
305
232
294
229
327
344
313
333
330
333
243
324
325
296
347
267
332
354
289
306
350
373
371
349
310
347
319
361
311
341
241
363
302
289
339
281
312
309
401
286
316
251
349
323
290
232
333
392
293
341
309
294
236
318
333
369
344
332
220
378
339
368
248
378
344
383
355
283
337
363
385
315
262
395
326
289
255
311
309
321
328
280
312
345
285
345
281
376
329
373
280
437
333
368
234
240
338
235
309
398
345
340
279
358
327
293
355
319
321
269
349
275
345
338
307
312
311
303
273
299
376
217
328
381
360
311
322
262
342
283
332
263
351
283
292
239
324
301
308
247
353
317
369
305
312
376
343
262
306
328
300
399
373
314
362
227
306
297
286
299
304
367
268
284
370
324
338
352
302
392
389
280
358
289
376
277
277
318
237
332
227
272
318
342
324
288
239
293
327
310
325
353
287
292
337
224
261
357
265
345
308
296
205
255
270
327
318
331
294
309
376
248
330
298
240
388
401
309
308
285
312
364
372
320
367
259
355
333
393
372
363
374
305
267
330
286
341
343
302
318
349
247
301
365
294
323
356
284
353
323
384
330
262
381
267
292
326
299
321
308
230
332
314
331
307
319
339
344
345
344
290
354
286
322
271
392
370
359
308
376
281
303
426
319
367
387
353
291
251
346
267
312
308
354
368
355
315
271
337
349
335
263
371
279
341
363
334
286
331
309
335
313
339
342
303
343
289
397
372
349
248
255
386
367
274
346
262
311
337
350
270
307
299
365
341
312
356
432
335
384
343
343
345
306
280
342
312
314
335
296
326
215
308
319
346
307
350
308
374
318
351
279
330
255
382
267
358
321
320
315
245
249
298
393
336
245
412
262
329
332
341
322
391
313
340
365
332
279
302
301
388
369
224
274
353
357
237
257
271
273
359
318
262
203
260
308
316
309
331
299
313
339
394
353
298
378
293
312
326
351
288
279
408
337
307
237
294
267
342
388
323
351
321
245
391
257
381
312
309
225
387
398
402
386
287
356
298
210
287
284
361
303
370
314
377
327
325
307
257
355
295
357
306
247
262
308
243
282
281
327
314
347
367
265
341
309
337
323
317
365
312
335
285
288
253
326
288
380
282
419
335
260
298
369
233
366
317
377
304
349
265
332
339
301
370
331
310
365
381
352
303
404
374
332
318
392
257
337
332
280
360
305
352
411
345
342
352
314
291
308
238
269
280
314
400
383
375
276
318
338
344
345
291
347
304
370
297
272
334
348
328
290
223
360
298
356
262
279
299
344
351
255
318
246
246
328
322
309
299
291
332
363
258
417
336
193
327
371
286
276
286
316
374
353
330
308
287
384
284
261
292
239
278
333
288
282
371
320
325
332
280
292
291
337
372
341
291
319
366
236
352
344
349
350
381
192
344
289
333
310
371
332
289
323
424
295
268
339
323
298
256
373
417
275
359
343
302
380
283
310
286
350
281
309
304
285
273
298
322
403
263
288
283
355
273
323
385
355
277
376
293
269
256
268
303
390
346
389
340
315
359
492
281
313
245
302
246
273
277
323
268
317
290
344
350
283
257
292
253
269
272
311
241
309
347
310
429
379
297
255
133
310
311
283
301
199
306
226
341
249
302
226
338
342
337
406
345
338
361
277
358
306
262
404
301
341
391
318
319
330
339
312
244
363
383
366
281
355
373
341
316
364
334
262
316
354
366
356
336
354
256
314
286
372
225
341
375
283
265
341
357
314
295
219
342
309
342
312
360
313
309
313
250
321
282
371
322
305
346
181
302
300
240
326
298
250
321
326
347
282
250
414
330
279
283
277
349
325
284
320
387
341
303
370
291
282
224
370
369
383
330
270
277
360
363
294
221
317
315
314
386
326
327
331
227
333
273
310
294
351
315
256
270
275
288
273
303
305
289
413
271
341
343
344
330
321
281
331
313
378
256
418
256
393
286
316
320
323
259
302
268
299
305
308
372
432
326
323
365
215
324
349
332
329
319
314
236
250
300
322
339
376
310
342
300
274
280
288
396
365
344
290
241
291
334
253
351
346
309
389
275
335
369
374
274
264
303
315
346
349
341
319
370
292
261
342
339
375
361
300
246
243
300
264
300
287
361
408
299
365
255
260
230
358
337
383
327
387
276
329
361
275
238
377
321
354
260
383
375
301
368
282
319
266
268
359
294
322
349
291
351
369
312
283
404
378
279
366
286
370
278
261
311
298
325
350
323
310
442
281
272
303
224
316
276
355
319
328
339
322
313
279
318
251
282
293
355
309
252
325
268
239
335
227
351
144
327
327
333
381
342
295
323
291
309
255
330
271
313
257
329
295
430
293
303
315
298
365
333
300
337
342
243
293
362
265
295
309
198
365
286
272
428
305
218
286
313
302
367
334
320
343
322
384
348
306
426
325
288
339
192
249
321
295
277
318
367
259
323
327
360
340
274
305
348
286
380
222
224
304
382
304
271
338
279
234
291
271
295
227
263
382
303
399
359
273
337
352
295
284
317
277
358
385
269
316
326
341
284
339
351
368
354
362
350
356
206
428
367
343
312
315
281
363
387
356
344
285
363
365
277
380
257
323
350
359
330
262
262
358
344
340
215
208
333
377
289
229
287
274
347
291
329
283
324
329
296
420
350
352
281
338
309
400
303
338
308
163
290
355
356
329
402
360
321
301
332
376
413
300
279
342
273
299
297
377
274
311
296
284
283
343
340
317
285
270
325
359
282
249
331
269
225
332
319
332
264
334
286
336
309
330
380
244
300
332
319
375
347
251
308
348
326
311
364
329
363
255
242
349
366
288
328
362
358
351
249
367
335
324
360
295
310
265
337
328
414
284
357
275
298
322
266
185
362
291
320
379
276
317
286
232
302
353
324
352
206
394
354
274
268
334
239
248
323
292
394
324
272
304
346
254
295
340
355
293
267
315
312
318
304
322
345
310
261
296
335
338
346
251
365
337
316
366
345
223
343
330
303
378
335
320
325
316
321
158
305
353
337
261
236
307
350
319
306
253
272
333
226
372
374
343
337
338
307
415
346
305
278
296
328
325
404
265
393
324
375
309
308
292
255
379
237
307
288
296
385
310
345
351
332
284
406
262
325
308
305
177
340
340
303
298
324
368
329
374
375
271
376
321
285
290
305
295
224
262
367
407
212
263
378
278
309
358
307
344
252
386
302
301
283
338
268
363
361
337
273
330
300
361
299
272
347
373
238
306
270
287
291
312
348
280
324
188
346
251
198
266
293
299
244
294
341
336
308
280
314
303
336
395
289
351
227
278
358
309
307
305
364
345
348
312
284
375
221
371
363
350
319
266
312
292
411
318
375
322
368
346
316
337
284
258
305
413
386
299
279
264
330
336
275
272
365
259
264
297
347
343
252
338
303
232
274
370
345
357
327
270
336
307
316
340
323
229
328
331
281
339
299
317
328
335
305
332
338
337
341
354
411
310
308
236
312
394
315
342
418
334
326
326
366
353
295
382
233
249
307
352
298
254
340
269
280
310
318
351
348
308
343
334
327
306
337
352
279
368
295
321
296
347
332
261
360
308
307
329
417
336
335
280
256
294
314
239
380
315
343
333
278
326
299
299
376
314
298
395
282
333
352
292
339
285
294
288
312
338
300
245
305
307
400
344
328
345
321
302
270
363
336
190
378
290
415
302
327
367
300
345
353
258
308
333
252
278
249
362
343
312
376
296
215
335
377
366
230
297
285
349
299
324
234
337
283
214
293
289
336
311
298
276
249
318
319
287
271
372
315
288
342
340
251
264
280
363
342
277
299
239
272
331
272
315
405
249
330
262
318
254
274
344
260
316
275
281
281
250
297
308
327
306
331
277
311
379
339
308
272
384
347
347
389
217
267
298
304
422
286
318
321
285
346
299
300
331
271
306
173
291
324
260
378
184
363
345
371
236
211
282
290
343
295
245
323
261
368
264
285
350
320
306
292
205
335
235
257
322
318
418
387
378
326
288
320
338
276
348
363
286
263
359
338
305
343
337
397
272
369
232
281
385
450
271
277
411
317
399
294
341
203
350
290
346
325
304
369
306
292
232
301
282
311
352
316
269
327
266
365
360
341
266
291
283
357
327
222
322
269
245
286
319
324
379
325
354
345
302
318
347
287
321
280
277
336
328
248
299
321
293
385
294
286
296
233
345
416
324
375
324
295
289
371
299
321
369
284
339
277
330
310
309
380
328
310
347
358
413
344
284
283
267
351
365
382
413
248
368
348
317
319
210
353
366
369
367
339
257
290
333
320
357
306
260
281
340
259
414
255
339
315
388
359
397
346
339
333
369
239
319
246
335
313
371
404
373
252
332
354
265
327
332
265
315
299
268
292
247
302
248
372
320
356
328
216
236
342
342
215
319
264
276
365
295
398
384
239
342
388
281
343
352
255
368
386
329
279
401
279
270
275
368
275
260
267
292
374
322
350
289
370
259
322
277
283
343
294
338
224
290
283
297
329
376
320
292
286
262
238
305
216
390
352
328
273
286
304
287
284
334
288
338
275
346
309
351
374
276
252
286
355
309
236
342
267
284
211
370
333
291
253
375
383
412
429
312
338
304
308
297
288
284
291
262
389
276
318
330
284
297
343
272
272
211
360
308
242
348
286
377
431
336
306
334
249
286
342
375
322
250
342
349
321
339
305
336
350
315
312
320
296
304
209
309
247
333
219
273
358
275
295
309
397
250
219
309
322
286
255
321
299
300
316
380
353
351
324
264
364
320
344
329
358
324
412
316
404
380
352
341
284
304
228
345
354
376
349
334
254
305
324
352
346
224
301
255
342
341
264
295
315
309
309
265
303
272
303
349
317
260
330
345
205
276
189
370
273
272
347
333
329
348
355
305
279
309
299
350
352
232
313
272
258
244
365
281
215
305
337
388
214
375
281
294
330
382
299
357
337
323
363
306
375
305
268
241
333
278
229
346
307
372
294
379
337
380
314
253
301
278
342
392
356
360
339
347
289
401
295
312
271
364
252
253
301
310
292
380
326
288
355
365
302
190
300
327
363
323
338
301
298
340
408
383
306
241
333
329
292
329
365
315
343
385
204
332
334
333
318
305
315
275
365
278
283
371
330
299
340
290
329
362
359
369
326
302
357
346
225
360
347
212
339
299
313
364
363
316
356
349
289
311
401
271
254
335
261
280
299
337
311
263
335
326
299
345
270
286
357
404
360
348
322
292
373
273
249
310
317
229
295
217
362
326
409
207
317
285
314
293
359
313
354
249
359
306
304
315
445
318
342
309
286
240
296
372
303
297
354
341
242
317
342
261
358
332
290
330
295
326
341
332
296
392
371
329
271
272
277
293
338
282
347
320
310
357
351
366
339
269
324
300
364
338
293
347
291
316
358
309
297
328
288
234
247
334
353
312
260
403
215
341
249
327
332
252
299
328
360
288
336
301
331
262
313
265
370
274
369
377
352
324
373
295
294
310
322
347
293
371
260
332
265
346
342
238
264
342
293
348
374
279
374
345
311
274
350
319
313
294
250
301
312
312
291
354
351
277
341
281
267
315
413
293
295
296
364
383
264
378
339
262
298
376
280
341
315
389
301
383
370
398
273
295
337
331
273
402
327
357
339
329
276
342
295
316
361
377
304
332
384
286
324
310
316
358
329
408
309
326
360
287
284
234
347
267
347
404
357
313
291
257
298
254
317
357
308
232
293
372
319
383
292
239
368
314
327
333
278
292
291
304
325
328
242
278
270
352
259
347
271
303
328
316
331
265
333
292
318
326
353
281
286
302
353
279
343
368
247
249
356
370
313
356
326
223
298
246
330
309
339
324
307
360
376
349
352
261
311
280
260
321
270
327
322
264
280
354
331
271
307
363
398
308
370
299
249
281
348
403
252
337
312
235
334
344
234
295
287
325
289
276
249
354
381
344
309
345
324
347
325
343
287
391
286
322
373
349
381
331
301
339
243
269
259
301
327
374
302
341
267
236
352
297
293
368
383
324
223
413
336
292
309
276
298
287
191
352
357
306
314
229
273
260
339
323
262
250
350
366
349
358
366
281
310
271
404
388
262
320
271
369
291
324
276
264
363
351
356
349
294
359
333
264
346
307
327
307
290
227
347
271
309
287
326
309
350
283
338
306
263
351
314
378
286
310
322
332
318
339
362
371
338
362
314
326
343
294
311
309
279
316
334
292
352
353
346
201
301
331
242
276
352
289
281
288
283
372
322
340
306
348
380
302
331
329
317
320
351
356
250
356
261
371
374
254
322
251
293
364
342
286
237
363
289
315
242
403
309
326
356
215
280
351
317
266
371
300
317
275
320
272
325
285
416
350
360
283
298
301
301
289
264
337
272
433
393
351
305
358
378
314
282
194
290
335
338
407
342
356
278
365
313
344
291
319
406
335
341
268
341
308
233
336
366
310
347
308
227
357
314
360
355
281
350
232
398
378
343
279
325
397
314
324
261
324
274
339
365
185
285
324
293
345
352
301
329
248
300
291
357
343
342
280
342
346
299
269
362
290
293
273
328
385
308
323
360
333
374
329
239
348
338
324
366
325
320
208
288
314
324
301
350
304
342
281
267
252
286
324
309
323
276
279
355
309
339
276
352
176
317
318
339
254
328
299
287
216
311
304
361
332
306
303
252
272
370
259
289
365
315
189
297
349
341
228
222
287
308
412
307
358
259
368
292
326
311
295
326
251
341
427
276
316
300
394
335
372
286
268
271
324
294
316
329
266
358
240
323
261
343
311
374
344
286
355
339
296
280
383
250
337
254
226
309
286
380
248
313
319
272
349
306
246
298
268
319
315
290
374
344
355
324
349
216
300
258
313
297
318
231
291
357
375
325
289
368
317
316
336
206
403
348
305
342
245
276
344
319
304
333
365
231
304
234
386
392
269
327
301
244
399
397
421
342
309
323
318
368
387
327
194
285
284
317
325
327
339
297
323
389
311
338
321
326
307
185
392
282
291
374
395
316
292
417
351
350
300
354
242
248
329
311
359
258
243
316
312
290
305
319
348
312
282
281
346
258
353
381
311
382
273
333
280
318
333
417
228
327
331
246
274
311
299
305
395
207
330
306
294
266
331
303
309
312
304
404
365
338
317
321
299
326
212
375
318
342
305
331
351
227
323
291
314
327
287
290
268
338
344
380
337
310
380
340
283
312
345
253
337
274
328
350
272
345
330
322
256
315
345
338
299
308
374
293
355
303
319
399
256
404
286
363
295
309
305
273
298
260
337
242
318
330
326
357
331
246
319
299
365
345
252
311
320
292
340
357
333
371
342
237
332
273
293
248
333
292
304
379
311
211
286
322
368
350
319
360
297
238
349
341
280
298
266
168
284
336
230
214
280
313
303
350
338
306
362
269
364
268
308
366
274
386
287
257
337
386
308
368
316
261
249
289
357
292
315
271
367
326
352
293
318
299
330
247
388
232
359
406
297
291
358
403
212
332
382
305
329
295
275
354
288
258
364
326
365
347
222
302
331
349
355
364
356
359
324
289
274
311
321
312
371
362
298
386
307
324
291
392
339
241
417
303
260
221
318
265
303
264
285
299
324
340
380
369
261
228
297
314
324
376
303
383
337
273
356
336
364
324
326
354
246
280
267
237
320
341
380
222
278
325
262
355
369
397
300
354
406
322
309
227
342
334
346
229
300
385
327
269
279
408
229
332
327
299
258
297
284
275
328
318
272
276
340
322
237
319
413
395
352
296
275
336
324
299
373
369
357
390
402
340
325
310
358
272
334
380
318
365
280
338
258
266
286
283
428
318
312
290
292
289
352
357
211
257
227
383
318
342
366
291
284
406
280
309
365
285
344
295
343
297
242
181
303
396
298
324
373
339
304
360
326
222
287
293
318
350
316
307
232
318
330
287
335
332
344
282
321
264
315
353
295
353
300
279
355
336
251
343
372
351
308
289
369
357
341
271
259
357
321
298
370
369
303
297
285
362
326
269
313
344
355
366
281
313
211
343
291
276
310
234
299
289
285
263
292
298
252
279
343
167
289
335
292
320
251
319
272
278
349
344
345
276
343
317
334
382
276
365
267
375
342
316
248
323
311
237
271
261
385
402
318
355
326
263
431
311
331
209
293
328
370
360
362
294
343
308
318
371
304
245
311
275
389
287
357
375
253
317
324
348
265
344
383
341
306
272
344
278
303
294
308
279
312
320
335
236
308
332
277
292
352
290
289
262
326
216
286
316
342
293
300
295
324
284
369
292
265
318
347
374
249
393
332
420
345
252
395
344
335
241
256
294
333
314
315
380
327
290
319
290
319
286
285
289
290
291
315
361
336
360
273
310
349
321
330
229
344
239
320
337
318
343
312
323
323
334
326
344
329
299
335
302
378
295
354
388
304
317
379
328
347
328
295
355
305
378
272
290
309
304
349
240
187
334
321
312
270
240
293
385
283
288
234
281
292
368
324
335
313
309
366
383
330
276
279
264
381
325
342
277
342
361
282
307
213
338
365
203
342
303
316
325
311
353
263
392
296
414
309
354
297
294
347
378
343
215
358
283
391
339
305
261
331
365
329
369
309
235
344
243
325
371
306
241
240
355
223
413
332
371
201
341
332
265
321
335
252
383
361
311
272
341
355
298
281
290
283
362
357
340
381
318
354
347
329
296
374
316
264
366
349
326
303
293
350
323
391
333
336
345
307
331
218
331
355
335
365
292
318
331
209
343
405
307
309
408
278
354
355
259
263
321
340
328
313
349
275
415
347
273
309
326
283
376
325
262
309
285
282
338
257
348
354
419
307
341
285
269
300
314
341
308
282
296
257
343
227
275
325
328
397
310
359
250
286
332
289
313
279
259
337
384
378
320
284
374
276
340
336
347
296
305
317
323
357
329
326
371
309
325
329
257
260
303
316
304
307
263
321
285
241
276
395
228
352
340
322
275
291
305
337
341
343
304
369
340
348
311
269
315
301
385
333
245
305
290
294
255
393
335
265
347
317
366
329
339
453
290
254
357
282
219
358
323
346
391
374
312
284
313
335
350
338
260
254
316
286
350
271
356
305
304
374
271
332
326
312
333
347
342
272
292
336
265
297
252
266
316
353
353
338
395
357
336
272
320
349
352
295
379
384
302
322
260
357
292
325
327
283
269
305
393
279
402
354
270
279
341
353
315
379
245
342
376
337
310
200
289
315
262
375
284
241
328
306
240
341
337
338
301
272
256
312
347
345
329
361
306
340
315
358
313
247
298
292
377
325
365
344
266
285
294
305
231
386
380
337
344
339
276
274
341
266
373
384
274
339
457
303
302
300
295
367
357
289
323
365
319
354
372
312
283
273
390
367
314
326
305
332
336
317
341
309
294
351
259
257
356
276
265
287
230
316
343
360
312
305
292
305
366
341
324
345
295
296
313
313
335
350
309
302
288
305
342
326
310
349
283
283
307
319
274
323
184
343
308
323
357
294
219
254
303
257
353
253
289
332
280
331
329
314
297
323
387
304
302
218
303
300
335
355
332
342
266
271
271
267
388
342
270
346
349
368
306
349
319
357
297
361
382
262
292
310
282
347
260
259
250
339
304
217
284
344
314
213
320
273
332
294
377
362
239
285
322
345
390
273
279
226
341
332
280
371
386
238
325
297
313
300
298
253
381
335
350
342
362
323
337
328
364
259
334
397
333
347
330
349
267
291
315
306
288
298
311
233
308
331
320
368
289
424
289
310
316
289
339
348
308
240
329
344
267
332
337
302
312
332
284
361
260
334
411
342
279
355
402
236
269
291
278
284
288
318
317
330
278
229
334
361
348
269
379
266
322
280
273
267
335
351
364
359
368
336
295
356
282
310
274
273
315
361
341
335
344
293
331
340
186
327
328
241
310
301
276
251
366
270
353
283
238
375
275
282
306
317
342
339
245
345
380
393
274
317
306
328
322
426
343
367
292
199
314
366
301
289
372
374
340
357
370
358
253
287
283
343
241
328
328
385
337
375
393
366
278
309
272
284
319
299
372
390
392
340
316
294
372
251
349
342
247
315
267
272
286
361
315
406
339
340
373
282
350
283
319
319
412
270
316
304
420
335
275
327
332
331
280
352
340
234
321
345
310
270
243
349
231
340
315
280
356
377
278
354
316
324
395
317
281
268
333
330
356
309
344
302
345
333
398
344
305
299
390
342
323
323
329
195
312
328
390
336
328
305
302
333
324
399
350
298
289
268
283
305
361
311
406
306
301
315
249
329
270
320
378
363
242
270
258
345
384
351
266
412
344
364
391
300
325
231
286
389
340
350
307
363
321
360
224
330
323
313
283
332
358
326
396
365
342
368
321
335
249
373
310
328
304
261
329
341
328
268
287
325
303
319
354
300
300
332
414
338
372
344
298
327
361
288
293
289
265
238
269
254
321
264
306
290
328
290
293
355
298
325
369
359
338
285
357
275
242
304
301
323
378
355
304
357
273
348
319
266
360
331
225
284
318
325
277
325
415
276
298
222
314
331
304
309
169
343
294
351
266
315
374
315
374
339
440
334
229
379
234
325
313
301
334
300
344
319
217
322
310
255
339
320
278
324
294
383
287
237
325
263
261
293
332
320
289
367
293
305
224
406
259
391
250
382
287
323
337
333
367
281
224
358
307
275
350
390
363
364
374
262
275
286
311
319
304
398
233
258
349
321
252
348
260
297
271
384
314
365
314
280
302
363
335
284
336
294
338
293
287
321
328
255
336
236
323
305
355
316
275
271
315
396
256
402
267
310
359
286
321
308
364
332
400
339
282
423
293
316
281
287
384
312
342
337
315
315
256
340
273
299
312
236
351
346
333
269
335
287
251
328
379
294
288
253
366
342
328
336
283
287
359
335
299
365
309
294
287
251
337
324
242
398
354
243
337
388
361
377
355
280
331
262
296
382
284
274
295
271
378
347
257
306
298
209
337
364
321
352
253
223
325
259
238
337
293
287
329
329
303
238
396
202
260
360
409
399
216
360
364
304
285
341
375
304
317
394
399
343
244
408
396
357
290
339
282
301
373
355
277
351
279
412
303
268
318
317
306
336
415
392
319
345
311
275
325
288
363
339
383
233
284
274
331
319
345
312
378
240
317
280
302
348
384
194
387
363
380
364
336
265
299
277
294
298
313
306
285
305
387
258
301
279
365
227
322
322
270
341
333
365
295
314
327
255
377
366
305
298
328
287
332
239
329
335
264
258
312
272
302
259
425
308
335
358
317
352
314
302
357
283
222
279
389
264
316
367
416
307
362
297
322
459
374
194
284
404
338
303
380
267
335
344
199
295
252
282
314
245
403
287
245
291
362
365
364
456
317
272
313
364
266
321
300
408
294
323
338
242
348
227
297
343
322
344
285
340
309
374
318
311
335
324
326
306
304
282
372
336
267
243
321
228
276
334
342
350
412
335
242
316
365
302
313
345
336
336
217
266
293
316
359
244
336
279
312
293
348
386
387
265
339
361
312
311
279
310
250
372
360
366
308
314
330
224
336
371
353
333
323
300
332
315
336
293
336
242
296
355
387
263
268
297
285
254
415
347
288
302
301
276
317
404
254
355
362
372
336
351
278
261
302
362
326
381
286
252
317
325
340
260
313
276
263
269
360
391
324
311
252
328
326
305
252
350
317
361
286
329
361
300
324
291
311
388
356
390
379
354
290
325
352
393
378
387
340
379
355
297
363
300
386
356
289
227
406
311
302
224
305
359
400
279
328
246
413
269
378
297
256
356
327
374
356
258
319
320
327
321
320
304
266
324
315
347
323
309
259
325
318
235
329
385
324
201
184
301
346
262
302
281
297
192
324
344
208
299
307
329
280
275
324
303
343
369
349
365
345
283
297
275
292
353
387
224
244
317
350
263
309
352
296
347
251
327
405
367
287
278
276
357
404
269
379
274
338
260
342
277
332
393
247
324
379
294
238
370
267
357
268
297
315
275
316
332
321
304
283
328
350
298
256
331
289
252
330
390
328
372
338
300
236
412
355
268
291
335
322
278
299
289
298
372
323
303
251
314
323
257
277
266
328
376
276
297
315
279
329
315
335
305
238
344
236
360
288
240
212
274
320
352
268
304
314
364
334
225
334
276
384
333
347
335
289
306
371
338
286
283
348
287
307
335
344
409
343
393
314
238
313
279
324
279
298
336
394
275
313
326
346
257
290
300
270
298
342
348
404
323
213
363
299
354
298
256
311
394
406
347
293
350
345
291
246
328
316
335
292
370
251
302
259
357
392
343
306
314
223
334
405
372
314
333
323
197
251
345
344
330
357
338
333
242
300
292
320
348
313
359
246
294
279
270
198
323
372
279
312
318
399
358
348
313
382
393
317
359
279
271
272
268
368
279
361
311
332
242
319
330
294
359
285
258
304
310
333
335
339
246
344
361
335
314
360
276
338
275
312
353
385
282
344
365
279
253
359
347
269
274
375
259
368
327
413
309
411
316
345
331
279
282
337
313
274
353
360
387
290
329
333
260
306
355
321
280
325
397
329
363
369
277
296
330
337
292
414
338
276
352
380
403
320
388
288
367
310
281
362
309
291
353
334
339
285
300
307
293
286
291
276
362
382
286
267
294
317
291
268
326
396
292
276
271
244
304
254
315
356
393
323
298
387
277
273
287
343
269
304
387
279
385
271
361
337
264
251
262
365
332
260
311
315
293
362
209
337
281
283
226
295
342
312
399
344
350
332
376
341
280
377
334
322
282
322
248
310
239
333
346
339
343
351
279
228
319
335
302
281
275
282
393
269
317
298
340
386
225
252
290
379
312
331
364
349
300
282
373
285
242
237
276
308
357
324
353
284
281
304
308
328
319
305
366
281
383
297
336
316
263
366
276
298
316
340
349
294
331
292
378
325
216
312
345
286
281
287
270
376
316
384
252
365
389
296
241
312
387
315
273
380
427
310
309
311
307
369
279
233
268
197
337
281
287
226
316
215
354
225
362
315
324
271
358
320
261
254
356
312
254
326
342
340
320
339
272
290
312
325
286
307
377
341
293
441
342
211
275
334
308
346
291
334
275
334
239
357
348
347
299
349
324
333
289
215
387
316
271
276
248
306
325
218
345
329
237
288
262
312
328
250
302
361
332
237
360
316
311
286
247
226
275
282
299
360
316
286
326
289
350
325
445
320
215
314
390
264
358
325
283
309
326
329
270
245
360
332
276
262
267
300
376
366
321
341
284
313
267
296
359
275
327
294
246
341
362
298
310
264
359
344
412
317
376
354
362
298
327
360
410
275
279
297
265
231
280
256
283
317
326
299
373
244
325
400
334
332
314
404
326
330
312
350
384
320
377
311
375
277
311
350
314
334
319
317
283
329
316
336
326
267
270
316
352
328
306
337
339
312
391
385
400
379
416
382
382
254
314
324
264
317
317
399
214
295
324
306
320
267
292
214
308
323
321
342
255
388
264
310
296
257
233
296
317
261
324
311
281
372
272
334
360
282
340
334
442
320
291
367
263
341
251
387
367
403
358
368
298
338
421
310
295
333
297
359
354
240
283
362
277
373
376
251
359
331
374
333
300
288
250
360
297
292
372
295
237
365
233
289
277
380
229
263
346
357
303
397
311
316
329
307
337
283
291
325
336
278
369
298
329
235
324
274
313
242
316
258
309
368
251
355
397
316
367
368
272
307
286
301
312
394
322
324
378
351
368
244
321
352
306
261
257
288
268
365
250
291
382
293
342
370
329
318
310
357
261
216
410
327
296
254
300
289
372
308
321
289
316
282
309
362
338
330
330
284
314
336
297
348
311
396
359
304
324
325
347
290
351
337
346
380
361
298
302
258
340
328
340
396
240
339
366
404
300
285
319
368
324
375
263
254
321
279
283
327
242
362
402
309
335
377
352
282
318
230
272
249
321
346
417
300
256
315
305
299
325
265
332
322
307
315
318
263
288
298
303
362
390
320
353
307
336
322
316
283
330
359
233
295
281
366
360
374
303
311
355
203
282
342
347
272
375
356
359
376
243
251
266
400
348
286
280
291
324
269
250
297
299
382
264
381
300
280
302
368
287
348
308
245
272
217
346
344
330
300
370
261
315
312
311
278
344
273
333
384
322
273
365
249
300
276
313
368
245
324
345
304
295
317
350
282
306
377
332
270
373
259
205
341
271
241
308
361
260
283
350
345
427
262
269
324
309
346
235
273
332
393
363
310
319
293
231
361
299
311
331
295
252
285
289
417
407
315
300
287
308
234
272
282
287
274
312
335
271
282
361
354
366
308
233
253
300
309
368
221
275
370
253
321
286
343
277
383
288
311
374
319
332
293
282
337
343
248
323
341
344
322
258
229
301
257
372
374
306
383
320
282
294
264
337
340
303
356
298
284
333
328
337
340
253
302
373
357
282
341
378
349
340
283
278
385
360
332
345
249
285
313
297
283
331
339
297
319
369
361
307
300
362
276
266
292
316
324
368
343
378
266
300
315
347
311
368
306
325
328
311
333
371
342
350
305
358
271
355
302
324
372
325
333
355
385
334
257
287
333
287
340
281
337
291
286
302
328
303
310
295
348
394
319
235
348
349
288
309
221
323
253
320
341
213
265
345
327
310
348
283
384
376
372
333
247
332
330
315
381
270
287
231
384
291
416
269
344
319
252
437
293
260
267
291
232
336
334
369
320
317
303
264
237
291
279
363
329
369
322
359
353
354
395
292
325
265
344
340
297
372
318
268
240
297
313
314
331
313
339
268
254
296
325
275
373
364
343
387
360
246
283
328
339
390
386
291
203
296
391
241
371
329
339
312
301
354
319
330
366
408
316
367
342
333
275
372
259
374
283
241
294
256
344
312
255
284
303
314
324
325
326
376
306
253
328
288
289
332
387
319
306
220
228
272
399
284
383
290
275
322
284
312
323
279
358
390
294
307
215
366
329
328
337
374
290
382
293
257
320
338
330
342
309
388
347
337
335
314
306
320
318
271
293
319
292
333
335
389
317
346
310
340
398
352
274
354
318
317
340
346
323
374
300
366
359
309
314
386
346
326
283
322
367
339
231
286
282
349
351
402
272
286
250
229
295
317
274
296
305
291
302
314
310
324
375
295
337
272
272
335
287
346
331
325
306
279
365
281
333
387
369
298
279
210
308
313
404
343
371
294
271
267
277
312
268
262
263
402
326
312
313
390
350
265
369
382
363
314
342
246
372
300
366
203
367
305
354
317
266
305
276
333
349
199
366
399
261
221
328
250
270
301
328
371
334
303
372
297
346
282
242
295
269
299
309
320
352
342
345
355
376
369
242
311
314
348
276
354
277
364
297
266
357
248
259
236
367
342
372
305
277
264
349
302
375
265
261
285
311
291
324
361
307
348
326
314
279
353
287
296
358
361
345
281
296
311
293
273
382
324
353
377
262
267
249
345
267
348
256
326
249
310
277
303
377
408
301
381
271
301
228
203
258
256
337
276
369
289
355
293
340
274
337
251
271
353
354
301
356
310
344
340
196
270
278
349
246
270
248
300
301
309
324
248
281
261
331
290
325
395
304
331
331
318
350
304
300
285
309
300
346
359
325
306
237
316
432
288
297
307
328
358
317
314
312
374
341
323
285
281
368
264
294
234
289
205
280
294
291
325
290
406
305
321
333
340
263
298
371
316
303
235
351
285
295
273
296
315
311
237
375
236
330
241
358
339
393
258
372
366
311
315
314
330
324
294
356
304
331
308
296
342
253
243
315
413
381
372
300
277
287
256
290
218
402
383
305
316
281
339
407
302
333
292
286
321
280
417
267
306
298
299
248
255
301
403
264
316
293
261
358
350
247
266
363
272
269
295
391
264
381
356
303
310
271
372
216
276
308
328
288
390
325
247
266
292
351
338
243
361
312
383
341
288
319
249
289
277
270
363
409
271
283
369
374
253
266
315
314
290
224
316
298
401
326
377
285
340
335
279
357
345
263
233
316
301
333
320
322
293
317
182
324
308
266
312
362
321
314
331
324
336
287
315
308
307
322
307
340
270
304
238
345
322
305
250
339
324
310
236
246
367
322
334
328
316
239
290
241
334
350
260
386
272
286
392
333
331
360
346
333
312
291
302
365
263
358
426
361
353
312
349
348
282
370
289
354
288
315
313
290
291
279
274
272
258
224
325
275
338
334
314
322
320
204
329
219
213
309
245
303
417
366
344
286
316
275
328
322
337
346
283
355
302
285
395
281
349
321
319
315
319
337
317
364
299
332
276
383
351
387
377
240
356
255
253
278
280
346
358
298
282
380
380
257
362
210
298
312
302
257
350
371
264
278
326
300
385
333
297
353
278
359
369
351
321
389
296
319
266
294
277
354
376
351
359
269
299
368
244
354
346
361
312
294
324
315
378
325
306
349
343
385
303
360
377
360
307
282
333
292
352
331
300
287
310
391
303
285
356
284
344
245
351
343
337
391
343
342
377
284
327
380
322
340
287
301
223
315
258
309
210
395
322
298
329
280
352
295
334
283
240
305
233
285
313
275
321
304
311
325
242
236
311
302
378
311
310
211
384
326
276
314
256
343
380
338
297
338
221
329
325
323
341
302
245
258
399
353
265
314
299
233
314
332
348
400
242
281
279
272
330
287
274
344
316
341
249
399
264
311
299
389
291
380
362
329
321
404
260
380
314
304
274
338
273
387
401
311
285
329
306
244
322
236
243
286
339
386
405
308
318
358
277
263
336
324
278
267
274
257
297
296
254
364
262
290
269
408
314
383
234
347
238
388
346
284
302
286
330
337
257
251
249
217
270
298
309
336
263
322
406
339
334
323
329
230
271
299
310
353
229
227
353
335
233
277
252
381
355
309
358
368
255
292
283
400
336
328
258
267
178
347
331
322
250
381
324
349
350
252
324
257
225
341
309
215
307
273
311
308
316
295
383
287
300
324
316
284
305
293
383
340
316
329
305
348
207
305
412
257
327
340
336
397
325
335
361
346
371
403
367
326
304
263
287
348
352
371
331
284
326
267
395
310
324
345
272
303
378
346
214
222
376
237
349
291
307
276
374
315
391
317
267
260
253
301
387
310
354
302
346
325
293
303
329
306
355
292
296
292
383
365
278
295
311
290
433
326
261
383
206
361
409
337
295
307
263
329
253
377
328
275
330
299
239
350
306
291
281
273
286
392
335
375
338
320
243
332
240
215
347
349
251
285
309
290
367
332
296
337
391
349
302
339
350
261
306
361
343
394
267
259
312
254
327
257
369
319
404
310
376
248
288
255
291
373
309
312
219
274
289
345
349
238
310
266
262
292
337
226
369
356
355
373
328
259
343
350
360
304
343
328
322
355
360
358
317
275
315
361
234
285
319
289
286
326
383
412
305
351
327
318
262
313
330
314
344
300
317
378
241
288
347
330
264
272
349
363
345
316
228
249
317
267
300
374
370
324
235
270
311
363
295
296
277
321
334
306
272
355
360
315
307
316
324
336
247
321
282
270
341
280
301
319
356
327
363
312
365
340
346
299
346
254
282
288
292
192
318
323
339
277
354
267
318
353
314
278
267
292
346
320
282
324
303
410
267
258
344
322
243
328
337
245
268
226
259
287
212
349
339
368
385
244
293
324
249
375
316
234
238
330
404
299
358
258
293
303
269
326
214
353
265
367
281
231
342
268
338
342
251
327
373
305
208
196
261
302
375
392
278
338
303
264
313
344
286
306
277
318
357
308
352
268
393
291
303
343
262
302
363
342
294
431
342
306
244
279
357
395
327
346
376
270
432
292
295
371
292
321
333
324
261
356
278
323
314
378
298
374
350
275
175
293
320
322
368
293
304
311
379
292
288
365
328
371
288
247
284
357
328
250
350
313
300
286
268
256
298
280
300
364
205
423
267
374
272
256
327
331
279
325
337
320
290
293
338
431
283
260
302
299
444
247
289
303
310
323
349
391
265
331
339
311
293
217
371
366
343
307
305
331
280
281
217
307
320
256
214
376
223
279
281
330
329
288
318
380
360
321
315
328
389
365
338
300
325
282
358
322
329
263
302
353
245
248
291
341
347
238
268
318
391
360
356
393
295
291
269
320
395
273
353
417
324
313
265
388
315
339
287
365
322
322
268
349
319
339
327
292
315
342
336
342
248
277
363
283
264
304
328
361
293
361
283
301
297
264
331
287
321
195
366
341
381
287
256
277
310
402
308
347
263
241
282
302
393
395
372
283
427
356
337
294
308
339
301
314
265
332
361
341
301
305
317
249
312
278
315
271
273
276
292
300
320
338
403
367
355
320
289
286
313
308
289
293
311
363
311
327
210
267
358
315
257
356
328
337
329
324
339
327
299
328
294
236
381
275
297
297
273
336
398
376
387
292
339
323
290
329
323
231
275
341
307
388
325
252
303
311
322
228
437
288
327
364
287
325
285
234
289
306
341
354
296
387
265
332
353
230
307
273
385
307
351
265
323
340
266
322
351
357
219
328
363
284
257
318
338
281
326
296
331
320
310
200
363
343
269
300
321
257
282
371
387
273
340
307
227
328
379
236
314
278
400
346
274
314
247
381
274
347
301
230
326
299
345
460
326
315
307
342
334
340
355
327
295
346
326
291
309
319
345
306
286
370
361
306
348
311
318
244
313
281
362
351
254
305
284
317
365
243
261
311
281
278
333
325
374
307
312
282
286
273
281
281
312
366
300
356
357
313
407
295
339
378
300
353
264
294
322
328
307
277
267
263
296
308
339
408
388
283
344
246
300
270
345
346
331
218
369
267
326
328
417
289
257
345
294
360
280
375
311
326
320
346
285
298
354
269
307
356
239
431
307
300
400
310
359
351
297
314
284
263
351
345
315
302
335
395
294
266
356
276
250
366
395
352
300
323
311
327
296
353
264
439
302
324
313
298
359
238
197
299
375
339
313
335
325
331
269
290
334
265
266
430
336
403
296
307
402
309
437
224
319
454
289
288
323
316
296
285
308
263
358
362
307
309
411
315
271
326
349
315
331
395
378
297
376
317
265
361
281
346
232
301
341
320
273
346
405
289
264
346
319
333
279
279
368
330
317
310
238
391
332
303
234
334
301
329
346
320
322
364
412
313
299
374
306
365
299
266
297
366
364
344
194
295
333
278
288
303
315
307
362
328
278
327
260
369
339
327
298
354
267
380
275
356
301
365
289
265
379
369
323
288
350
375
312
308
311
291
339
384
309
309
360
359
320
326
316
301
327
229
288
304
281
269
302
296
347
355
352
272
350
289
225
334
364
305
347
327
349
280
305
297
302
211
337
353
320
373
279
310
265
289
338
378
281
338
360
385
407
340
339
312
340
316
311
283
383
370
388
315
291
303
202
282
275
371
319
290
334
229
291
324
242
426
310
321
336
345
352
346
329
318
289
395
256
260
274
276
304
258
298
245
345
342
411
301
383
378
408
326
359
329
341
226
349
364
363
313
360
293
298
298
352
276
325
278
385
224
354
365
330
292
346
319
247
367
355
244
308
319
228
365
411
355
333
336
347
279
323
324
239
423
351
329
283
317
362
366
287
297
266
266
335
324
309
240
378
371
294
281
269
306
378
364
341
304
308
343
432
230
242
236
385
272
272
350
230
362
266
257
330
268
285
305
351
295
258
340
332
307
274
352
309
421
273
232
249
306
368
376
356
351
251
319
348
298
266
319
326
311
272
360
411
346
294
293
280
292
279
370
284
268
302
350
352
365
307
297
329
305
309
295
196
311
335
335
285
349
312
291
367
331
320
354
329
333
274
356
279
308
314
368
284
232
346
315
316
408
294
299
262
257
296
363
277
343
319
324
254
332
287
216
355
315
295
342
287
361
369
377
294
358
285
323
329
376
244
352
372
289
294
275
371
369
270
239
288
253
403
395
339
301
291
307
353
300
344
270
340
285
386
203
343
309
315
274
363
228
302
402
268
327
331
319
362
334
342
284
304
232
283
232
289
299
323
231
277
328
270
366
336
333
334
307
347
358
344
310
314
320
322
222
273
319
281
257
438
289
322
238
273
259
266
329
442
413
348
284
322
313
337
321
356
337
369
298
349
354
306
311
288
263
298
314
320
385
300
258
359
285
322
362
335
256
294
375
427
397
369
416
262
315
338
333
349
319
383
290
282
283
295
375
329
335
283
300
363
291
235
299
305
350
304
339
318
305
298
237
302
285
359
248
344
262
332
351
308
308
304
306
274
290
178
272
340
324
360
286
331
283
264
363
314
328
277
373
310
263
329
311
314
365
328
384
290
311
339
357
341
274
349
264
292
367
311
304
314
299
280
335
277
256
410
331
333
275
323
365
325
182
286
323
323
344
286
312
328
292
298
295
288
291
279
383
373
362
335
261
300
339
338
416
292
277
363
405
250
362
337
295
301
310
333
365
323
338
321
351
337
279
318
243
273
326
442
365
418
284
312
280
376
274
341
215
270
277
274
423
381
344
263
301
322
287
258
358
294
296
311
242
299
283
371
284
295
314
234
358
376
291
330
286
358
336
334
249
269
350
329
389
311
350
303
386
271
363
368
365
263
292
346
271
328
331
348
351
372
373
290
299
345
319
271
354
315
287
275
325
350
299
299
320
337
272
312
356
301
369
344
321
400
281
294
352
309
365
381
274
291
315
313
303
298
311
366
379
316
312
366
274
335
341
231
256
360
277
332
297
332
299
254
363
302
285
330
258
226
192
317
362
326
355
319
357
355
277
253
352
314
355
362
291
421
295
270
306
302
272
267
321
368
286
299
292
312
417
325
320
373
221
267
328
365
316
288
304
283
220
361
258
318
261
302
199
298
340
258
269
359
351
345
338
161
346
270
239
341
239
351
299
336
235
227
281
323
282
320
368
399
359
237
335
340
283
234
302
353
365
329
296
343
280
231
325
328
307
355
334
393
354
301
370
270
296
371
291
244
302
376
323
263
351
227
213
349
342
309
330
317
367
281
329
344
289
366
246
347
274
229
237
336
310
305
306
288
333
278
339
364
335
293
387
296
287
270
379
371
297
306
395
322
299
333
203
425
262
370
313
321
342
294
293
343
321
271
328
301
238
345
329
332
260
254
300
255
346
298
341
343
293
316
328
387
404
301
326
259
238
275
326
315
228
326
309
292
330
379
338
376
319
374
386
369
342
283
262
306
318
364
359
306
308
373
303
335
366
281
288
255
360
259
315
341
411
331
348
333
331
227
355
388
240
379
298
327
266
242
274
306
315
274
323
331
284
364
275
317
351
329
321
383
378
351
276
321
320
312
199
272
333
218
322
287
308
354
271
372
329
324
395
320
239
289
315
307
307
339
340
270
289
301
184
338
347
291
252
271
286
388
359
276
311
325
299
352
288
327
258
424
291
218
307
280
285
343
249
381
274
253
367
351
243
362
279
252
297
308
226
321
355
380
279
296
289
345
420
339
343
377
249
325
256
309
311
355
351
314
383
259
304
294
353
332
222
280
323
332
355
316
259
345
374
408
307
251
324
340
330
224
340
273
358
360
369
288
336
288
310
251
429
366
340
373
287
359
344
323
318
308
299
250
266
265
334
281
295
365
256
365
349
327
310
285
299
307
319
300
333
297
315
264
381
285
268
277
291
390
359
338
301
237
353
240
401
323
266
395
304
323
341
323
283
327
404
301
255
327
312
341
289
320
347
316
345
275
353
376
361
341
335
427
272
363
378
349
244
312
336
307
329
280
317
264
282
310
304
339
352
271
367
291
285
330
395
426
247
326
265
334
385
289
302
295
300
347
288
351
361
276
373
307
328
322
271
330
349
255
343
274
305
334
342
251
286
324
259
295
380
229
349
327
249
346
331
293
309
332
348
279
309
280
278
349
296
297
303
307
396
288
384
276
300
275
298
314
244
328
289
254
258
241
357
377
235
279
264
373
308
274
288
362
239
378
292
314
271
280
318
345
279
258
331
335
290
265
295
353
258
282
367
337
337
406
276
288
304
292
337
235
332
313
350
333
344
293
324
334
221
373
350
297
337
417
316
267
270
320
188
298
329
343
315
374
273
275
325
242
392
269
352
250
342
418
269
327
290
357
281
166
294
307
250
313
322
262
361
317
322
340
282
286
329
316
281
269
377
304
267
291
357
286
291
349
248
391
275
387
365
340
315
338
350
340
387
323
339
333
327
314
313
281
285
300
347
337
299
238
345
261
320
364
343
338
317
337
323
314
368
301
274
293
330
332
346
259
342
346
402
379
276
296
303
234
302
371
368
315
340
319
311
367
292
329
372
305
338
337
334
357
379
328
295
332
269
342
370
242
291
337
290
346
401
398
226
300
342
303
339
331
298
270
349
304
323
343
317
364
262
350
341
361
351
272
218
378
386
287
379
305
355
279
352
377
302
376
273
341
323
279
307
211
295
307
336
344
263
411
288
297
332
330
316
269
302
274
314
393
407
296
265
343
375
304
292
284
335
319
220
372
280
360
317
293
277
278
277
278
258
299
357
236
342
350
345
251
309
356
302
321
303
326
365
377
264
261
323
377
240
307
307
270
272
322
327
439
280
361
326
305
279
353
310
357
276
365
240
384
347
291
262
235
289
277
357
305
325
272
345
274
444
246
381
247
222
274
275
312
211
294
345
374
254
315
293
385
189
329
347
254
293
368
314
396
291
313
347
246
252
370
293
284
365
368
327
308
336
367
286
349
356
381
323
345
267
255
368
257
372
381
288
312
325
214
274
310
342
348
293
327
312
272
377
314
215
265
278
280
358
337
332
345
350
306
238
260
338
254
337
344
338
274
265
274
313
353
280
309
325
364
343
323
335
345
386
329
365
356
351
289
274
280
386
309
330
378
268
342
358
317
336
276
349
340
309
310
365
242
347
370
328
298
319
334
315
255
276
313
396
293
315
311
368
320
278
329
316
356
306
310
254
355
230
355
262
331
362
393
309
314
365
258
299
334
257
307
301
333
279
375
283
304
346
325
291
340
223
275
295
340
330
411
318
289
345
338
294
292
270
295
363
316
304
300
336
224
318
376
301
418
341
290
309
321
318
289
307
234
284
346
325
272
366
271
265
409
257
337
354
397
350
267
380
387
352
297
323
323
355
300
328
399
318
309
253
291
269
311
320
302
353
348
360
284
332
332
278
335
350
330
305
268
256
283
348
399
329
333
263
356
321
306
282
302
383
354
353
358
281
292
304
339
208
306
252
270
347
325
339
308
249
330
335
325
263
364
307
268
301
319
331
360
355
305
282
387
255
256
291
300
309
311
307
264
290
334
315
234
301
227
251
347
342
251
350
320
350
263
366
335
367
236
234
262
354
273
333
338
285
359
332
369
343
256
358
376
421
315
333
326
320
298
331
224
374
336
347
297
327
361
294
249
307
352
256
296
366
309
247
388
285
332
313
312
308
418
301
306
330
355
264
284
360
303
319
369
389
326
300
293
344
309
302
369
310
355
295
336
312
252
356
303
269
232
382
411
363
206
295
352
294
318
346
290
362
355
285
278
319
387
317
332
330
278
366
201
257
274
359
352
412
262
213
175
331
339
437
378
334
311
370
285
320
315
317
347
329
316
285
316
261
311
274
342
319
329
252
401
352
304
312
285
290
154
326
336
338
391
308
371
364
270
358
341
332
310
304
347
316
364
317
354
308
318
274
271
323
264
273
276
276
323
297
385
347
256
310
289
317
274
381
292
277
361
380
297
257
291
339
357
346
288
267
382
289
363
320
251
274
363
402
227
264
334
413
341
321
260
344
345
314
332
328
307
331
260
360
356
394
357
288
306
299
297
308
352
266
338
302
369
257
208
356
374
322
262
309
269
351
368
301
370
315
219
259
299
328
291
350
360
309
291
327
280
300
336
312
318
308
318
203
342
318
343
343
375
334
320
334
328
267
352
331
311
336
276
315
267
262
242
365
291
315
356
335
338
336
330
322
287
308
246
256
332
311
318
266
404
321
264
329
309
350
335
338
358
343
315
243
279
337
358
307
223
427
248
302
331
343
406
275
363
361
242
287
262
323
356
332
295
312
382
394
274
320
260
271
283
337
257
265
320
349
294
317
250
356
361
307
307
262
306
319
349
311
326
344
338
324
214
268
344
299
306
365
283
305
308
342
343
361
300
392
326
340
248
287
355
242
412
279
310
246
345
297
322
240
329
343
305
330
363
262
380
370
357
359
352
365
261
243
306
194
264
293
332
216
262
220
299
332
389
326
348
304
206
286
320
284
291
341
329
312
367
356
344
286
244
328
313
229
293
332
221
388
292
280
263
382
299
325
287
287
329
356
258
320
320
339
398
323
344
393
359
321
359
356
340
317
263
373
343
304
271
345
355
342
279
335
302
239
280
376
311
323
284
309
280
349
261
329
288
406
325
350
277
280
335
225
277
322
338
258
344
282
319
288
325
345
345
309
279
373
342
364
390
279
267
327
365
313
343
294
341
369
302
325
254
369
255
313
301
322
281
293
300
338
408
250
318
331
290
402
253
277
386
348
356
274
355
331
298
334
312
286
342
351
268
294
340
329
375
232
397
270
355
300
422
327
231
335
247
265
310
365
332
344
261
324
287
367
398
315
282
232
278
373
361
357
302
268
347
216
353
196
341
314
293
367
352
234
310
334
320
325
293
315
328
223
318
403
361
330
271
303
316
216
366
330
420
311
202
305
236
314
316
299
414
370
299
278
316
268
295
333
323
363
341
386
263
318
299
298
247
255
354
364
311
283
342
311
248
328
261
306
313
305
349
275
311
211
283
352
352
339
244
334
352
359
363
372
352
394
336
283
240
346
323
306
311
358
325
324
398
330
329
380
243
293
323
354
240
321
333
281
420
381
294
371
316
375
302
394
193
305
385
315
222
298
239
306
224
246
375
358
261
313
311
217
312
294
295
250
311
375
281
346
322
304
326
370
327
315
238
275
372
371
394
339
257
347
268
360
344
271
401
338
309
245
337
288
317
353
294
326
323
296
322
388
258
290
337
326
348
326
275
333
308
290
310
301
312
309
359
281
321
341
284
340
350
330
253
309
319
367
269
347
250
290
324
361
337
257
271
251
375
352
242
270
349
301
354
393
279
306
272
251
257
249
402
298
322
351
337
349
292
347
387
313
318
365
327
337
275
284
286
363
327
320
320
316
308
272
367
302
357
297
298
260
351
322
407
314
337
301
309
325
334
337
351
316
374
307
306
357
265
351
355
276
282
352
281
302
316
367
325
275
246
330
342
311
305
319
358
300
253
289
320
341
294
395
394
404
363
272
306
272
325
288
323
311
313
227
321
346
227
450
347
309
308
297
305
334
326
341
398
356
301
362
296
310
314
326
301
282
459
330
301
374
299
304
379
272
354
283
360
354
349
386
388
314
334
300
299
294
351
312
308
344
320
297
251
323
363
270
303
290
242
319
270
331
349
309
328
251
347
292
345
362
377
405
316
233
362
327
344
273
334
303
338
328
286
326
284
346
263
322
357
318
310
356
275
403
298
367
319
316
300
233
317
350
356
249
276
320
332
404
348
294
326
267
317
305
375
435
275
391
283
304
289
339
356
336
339
286
305
342
232
343
375
379
362
315
273
334
265
322
321
320
362
259
286
288
277
308
370
339
318
338
359
334
339
375
344
347
326
321
245
352
345
327
184
386
304
291
250
333
380
292
354
248
365
281
273
321
337
299
270
316
364
358
316
374
319
266
305
367
357
297
275
315
310
297
337
309
335
319
309
246
386
394
277
334
307
279
306
292
360
298
297
225
307
329
357
311
362
371
312
360
296
364
335
275
369
263
375
356
321
316
262
381
335
297
310
295
279
323
317
297
305
326
333
344
270
257
311
348
382
306
329
283
357
405
387
357
372
302
309
242
228
354
285
339
295
346
326
293
291
320
281
293
251
306
342
331
311
246
288
305
337
258
248
284
381
244
299
247
344
390
304
288
308
294
264
320
326
366
237
321
264
254
296
322
263
385
272
290
260
264
400
307
384
294
337
302
339
302
323
309
330
373
381
287
253
308
306
223
304
310
246
284
336
338
295
279
290
345
330
343
283
335
306
310
339
243
280
343
303
347
213
309
264
364
341
367
333
323
382
263
341
244
351
358
323
268
273
339
436
283
337
312
312
256
247
264
391
278
333
267
291
297
413
347
382
334
344
280
324
300
306
381
302
303
269
298
308
279
357
279
301
324
404
307
330
347
247
328
289
313
310
253
325
305
253
362
339
279
395
418
434
385
311
246
318
328
304
293
298
364
314
302
356
340
277
326
284
305
375
343
325
226
335
335
373
345
350
380
319
408
391
255
285
261
270
308
325
380
354
296
285
277
305
392
243
375
396
343
327
318
402
290
319
308
261
325
417
339
375
295
325
221
392
324
320
252
373
416
300
306
379
339
294
288
311
256
306
315
431
408
292
278
389
254
234
372
299
387
359
284
297
325
273
322
310
332
296
229
328
279
342
367
346
345
302
310
381
333
309
353
396
201
305
274
346
357
335
229
362
326
303
406
335
349
381
338
332
366
285
349
372
248
349
316
367
318
344
283
407
278
281
266
367
330
290
388
315
262
419
254
273
331
303
346
325
255
313
305
371
198
334
317
244
365
339
314
316
321
241
278
337
255
319
385
329
322
285
323
374
308
405
398
329
286
238
237
331
336
359
336
316
300
287
386
397
413
316
370
304
334
362
309
411
367
296
387
353
265
357
296
270
303
367
342
330
365
256
316
353
410
283
260
333
292
225
350
291
392
324
370
284
402
344
309
207
316
255
285
335
381
287
357
344
345
332
313
287
207
393
251
263
254
292
326
364
296
281
319
281
334
313
333
352
367
350
343
315
320
330
303
270
238
292
334
352
321
403
277
312
353
297
260
317
282
267
249
314
266
390
314
259
326
336
312
300
376
274
268
297
275
331
287
368
316
352
291
421
218
280
368
218
304
315
250
318
327
321
417
306
322
335
275
366
321
344
321
256
282
296
271
339
340
336
321
365
286
312
319
300
307
312
375
342
299
348
293
372
223
330
331
310
331
239
248
274
285
264
322
304
357
239
321
329
395
308
341
191
333
322
404
253
329
305
400
308
336
337
304
333
343
340
285
418
320
304
387
339
371
289
252
320
353
328
261
285
331
333
309
286
241
350
407
322
267
322
359
250
336
247
302
406
371
382
328
309
308
292
217
341
310
376
345
290
334
219
311
286
341
223
292
299
317
347
368
330
280
343
329
360
315
301
320
370
267
303
330
370
314
330
253
376
267
331
197
261
310
267
326
330
279
278
331
316
334
344
355
324
298
320
288
346
311
365
167
269
370
305
329
286
316
229
376
232
268
309
294
366
385
323
355
394
318
366
367
346
358
371
361
254
254
325
272
315
284
309
370
302
340
349
313
332
299
288
335
299
329
313
438
259
213
360
296
342
293
291
361
341
238
414
262
269
337
379
314
336
235
288
313
326
276
272
348
316
298
351
328
239
294
367
429
371
305
383
240
283
333
348
353
222
339
307
309
351
349
254
295
379
324
362
384
337
345
370
315
296
388
308
399
296
298
335
196
352
259
346
394
329
398
273
372
322
289
348
396
345
369
360
351
215
281
317
340
369
224
332
253
348
319
288
280
330
223
365
265
349
289
364
341
344
282
245
283
354
445
251
250
335
309
302
380
241
287
405
377
215
362
261
411
279
319
337
321
326
319
277
382
222
360
280
353
296
356
364
354
306
289
362
335
317
201
220
323
321
290
303
341
335
307
347
331
326
329
370
321
355
266
230
341
381
295
375
289
311
362
301
325
327
279
348
338
400
325
324
361
254
326
250
244
259
259
286
388
250
261
301
343
322
266
297
231
342
224
292
342
325
326
340
271
325
341
332
317
224
337
392
357
367
285
317
277
285
267
290
358
308
323
311
322
305
366
312
287
303
371
357
291
396
288
317
335
279
318
353
316
326
321
307
291
287
347
218
339
302
332
253
302
357
270
317
382
304
305
360
362
365
309
257
370
351
322
377
366
292
264
332
269
333
268
408
365
338
303
331
246
337
315
296
348
350
315
297
338
315
294
313
350
284
253
235
271
329
237
301
357
269
357
378
395
362
267
283
362
328
376
314
321
340
318
273
276
290
358
331
424
298
325
340
271
348
308
366
313
298
389
306
263
338
280
285
287
278
278
327
327
348
303
339
367
298
318
307
289
321
257
249
339
298
303
308
276
335
310
322
326
228
323
299
330
396
362
290
323
407
266
268
311
268
285
208
280
331
340
323
253
291
340
337
306
265
305
282
312
319
349
285
387
264
306
342
242
314
363
274
290
304
378
310
369
259
317
259
311
371
287
365
310
299
263
356
344
349
315
299
277
289
312
355
313
304
244
284
295
336
348
293
266
307
334
278
356
278
341
341
270
345
350
299
258
337
355
332
351
327
367
236
313
298
383
423
312
342
335
314
351
330
328
291
274
349
279
345
337
288
269
319
374
295
318
278
315
280
321
261
274
348
256
337
351
295
374
340
315
317
339
305
312
285
374
360
363
345
270
296
325
331
261
307
255
373
259
342
353
248
339
340
232
314
330
282
359
348
297
361
403
336
333
278
240
321
309
298
296
320
345
259
296
278
291
328
382
312
326
221
227
291
368
219
285
196
292
399
384
342
309
285
333
338
381
323
363
310
354
333
281
337
290
309
351
371
298
333
293
328
409
372
326
372
193
315
290
358
301
285
348
289
378
349
362
305
217
324
357
280
263
300
327
406
261
291
313
250
299
286
276
322
265
362
295
315
370
315
294
266
366
304
294
270
267
316
289
385
322
251
360
279
187
341
282
386
381
341
304
277
229
336
268
287
232
376
286
354
364
222
352
248
271
366
334
146
243
298
346
317
309
371
323
294
276
371
338
326
295
295
336
380
259
395
232
368
394
345
256
362
366
312
320
351
266
332
324
329
316
306
321
284
381
326
304
287
303
310
285
351
315
315
277
263
312
327
326
282
336
320
389
277
369
349
427
234
267
317
404
360
286
325
207
300
323
363
148
275
341
315
259
296
380
384
370
300
330
263
204
330
169
294
197
325
326
313
366
275
269
270
336
367
354
319
309
217
309
356
312
315
330
317
351
352
291
337
378
398
308
309
318
357
392
282
295
324
263
314
390
223
296
260
351
347
340
265
251
310
338
274
354
339
336
258
289
219
340
311
285
300
289
281
317
383
283
280
263
266
363
397
330
347
287
318
318
326
369
234
343
300
357
325
281
326
296
304
304
363
355
365
283
300
324
305
227
265
238
324
316
308
375
255
314
343
347
369
371
360
389
269
375
346
304
345
345
368
257
368
421
372
350
307
359
221
282
300
274
221
313
404
293
229
308
284
366
314
246
253
365
257
270
287
344
312
288
294
374
309
352
421
337
345
282
304
354
411
262
337
340
285
374
273
423
336
307
329
288
333
261
439
340
333
306
332
272
308
300
236
368
332
302
204
262
310
252
265
306
378
271
248
292
263
220
292
358
352
316
341
406
391
296
285
350
307
233
333
335
387
377
378
327
294
338
340
223
305
277
319
312
362
330
336
293
298
262
332
350
223
355
355
319
334
291
304
368
308
346
262
296
321
394
294
223
358
409
387
258
254
251
357
322
321
348
364
229
381
276
278
397
338
326
348
315
304
317
338
398
374
384
348
302
353
332
326
335
275
269
323
283
253
242
333
309
275
367
298
330
326
299
368
249
370
327
338
322
340
208
404
285
334
287
292
368
202
303
413
353
313
323
306
314
236
273
373
335
214
287
315
268
353
352
312
294
245
328
330
308
328
335
282
289
322
331
270
285
369
415
235
342
270
298
286
381
311
319
388
262
305
282
334
298
258
270
356
361
316
314
337
321
374
318
319
267
293
332
333
341
360
346
286
225
319
334
352
295
362
281
279
386
342
347
373
330
332
279
352
306
295
331
356
342
341
388
343
393
290
328
357
339
284
284
306
344
363
282
349
278
276
251
229
319
335
349
297
343
345
314
294
346
325
368
401
313
360
294
394
285
354
284
305
255
256
247
303
231
345
240
311
347
307
271
321
373
354
329
231
252
354
391
347
302
324
357
296
353
327
269
316
293
327
370
279
376
350
314
282
346
314
378
214
369
283
230
288
350
353
310
181
306
201
269
299
347
388
259
391
237
308
314
335
314
366
339
372
360
278
274
353
225
390
319
275
405
400
367
365
322
351
242
319
236
328
363
245
357
280
297
308
365
355
297
349
249
317
335
329
336
320
421
270
303
315
260
250
418
298
281
305
315
245
316
320
360
264
350
227
296
358
303
246
234
254
261
228
288
306
306
307
347
280
334
322
254
317
451
343
308
322
382
279
323
249
271
292
294
210
350
320
284
329
350
416
311
337
259
299
236
339
306
311
284
300
261
352
290
284
304
331
246
328
354
324
335
360
303
286
318
263
273
288
348
402
238
273
274
312
386
332
379
240
234
329
277
259
361
327
316
357
326
382
243
252
263
289
235
399
195
263
357
306
349
339
284
250
353
297
280
333
232
309
337
349
303
296
338
318
318
272
285
272
247
310
336
360
353
358
379
305
263
315
304
313
274
365
355
362
344
233
353
291
310
375
316
380
334
340
160
372
361
328
342
327
348
269
331
372
306
253
307
274
297
291
442
288
315
310
276
298
281
253
397
249
293
213
358
313
347
382
356
327
346
259
332
309
308
315
244
287
339
222
306
270
287
336
325
356
328
351
301
295
353
277
350
304
287
264
403
367
400
344
289
311
331
305
343
299
319
336
286
218
293
387
281
262
286
393
317
227
377
327
360
320
245
334
326
327
403
276
260
215
259
371
288
356
332
308
351
307
299
374
322
281
271
229
334
414
368
299
272
268
337
334
262
265
428
306
259
322
375
352
322
326
361
382
300
283
311
291
257
364
352
288
413
334
274
254
303
352
352
303
341
340
324
315
296
300
305
323
290
354
325
382
359
351
290
290
326
300
314
291
316
338
311
286
365
292
305
287
329
333
323
373
344
330
286
274
313
267
253
329
375
352
343
323
349
368
260
324
340
228
307
393
364
289
349
319
289
278
317
324
315
343
263
286
385
364
380
339
355
345
411
287
388
245
289
362
393
369
266
327
274
316
289
324
319
323
339
337
276
310
326
252
296
292
375
355
325
286
271
294
306
261
343
254
318
304
289
300
334
286
239
340
364
258
244
326
308
244
325
291
389
353
347
307
253
286
297
309
338
338
276
352
292
367
337
359
335
331
313
321
329
242
253
292
318
267
307
358
296
284
417
421
347
307
266
406
332
270
280
227
369
346
301
302
330
334
394
327
311
323
307
282
258
333
318
294
321
289
349
269
295
314
199
297
270
316
290
393
306
355
242
196
289
280
321
293
274
368
288
303
338
308
312
312
346
328
334
320
325
306
324
348
271
350
347
308
370
350
299
331
290
217
290
319
302
321
274
332
282
343
273
360
341
335
293
274
324
279
235
233
311
348
342
331
312
357
261
306
343
239
429
338
303
299
327
406
356
282
318
423
345
304
245
345
311
305
281
311
264
311
294
226
344
301
254
336
229
317
312
281
312
302
353
351
298
438
279
293
315
267
230
315
363
322
318
294
251
346
332
303
265
306
296
299
327
333
301
230
338
388
366
326
338
355
379
295
359
281
425
261
286
345
288
253
413
386
286
257
391
329
373
391
305
267
322
282
327
336
226
350
296
321
330
295
298
285
394
325
346
296
383
356
359
254
305
305
366
311
289
380
363
342
329
369
342
364
363
266
323
294
376
359
331
359
243
196
356
327
329
270
393
236
321
240
335
312
357
375
311
394
331
298
303
274
296
310
285
307
311
381
248
255
391
417
302
339
365
290
276
392
309
355
235
219
302
285
365
325
307
285
329
291
292
276
353
340
336
205
259
332
395
275
337
291
302
296
285
328
268
272
231
327
273
359
288
254
311
404
211
333
299
289
270
315
323
374
344
306
294
298
352
312
315
337
364
362
329
255
297
353
312
336
321
326
270
269
298
331
327
340
278
304
224
354
287
253
295
317
288
352
315
316
284
357
388
347
309
271
319
279
299
313
278
313
279
281
321
313
278
385
315
356
240
320
308
403
356
360
341
291
317
244
312
324
220
280
296
256
303
257
282
286
228
258
260
342
322
254
341
362
397
338
370
299
390
316
202
267
379
316
295
361
324
342
355
272
354
295
363
265
338
321
281
362
362
329
349
351
293
293
369
324
321
274
345
317
416
316
284
327
350
333
273
261
288
296
264
191
205
299
401
294
285
331
321
333
315
281
217
296
360
305
302
325
284
353
265
252
233
305
259
361
352
216
312
293
370
260
396
329
341
424
333
289
313
328
308
364
331
371
311
302
271
318
332
319
352
339
295
403
274
282
321
301
302
332
238
321
319
364
305
303
249
397
340
267
305
341
283
300
337
311
393
349
357
316
185
313
244
266
363
224
279
273
278
322
324
309
363
297
282
313
379
310
329
298
334
306
356
324
368
349
302
316
288
317
347
364
274
337
244
365
312
311
370
331
245
433
284
353
334
256
311
309
356
335
337
287
391
203
287
282
269
269
378
252
358
290
288
374
276
202
376
265
349
297
349
346
364
218
305
278
315
235
292
285
325
362
370
261
309
301
281
329
360
312
309
316
273
282
277
322
394
345
274
338
424
262
356
321
258
276
349
344
355
309
325
232
364
367
324
319
279
385
301
254
260
320
368
239
223
235
294
269
311
324
276
373
318
424
316
322
272
298
295
362
360
333
280
333
334
377
351
302
355
357
297
292
347
380
276
337
324
304
311
387
373
305
255
266
302
232
266
352
304
333
263
276
366
263
327
396
302
342
379
273
367
295
353
353
260
275
373
327
295
331
280
337
193
352
344
378
175
246
302
250
245
267
342
215
318
362
320
317
271
245
299
441
322
285
331
315
192
316
379
400
279
300
336
271
383
269
342
333
345
393
282
284
344
271
337
334
223
290
194
225
228
299
268
333
293
313
299
386
323
308
301
283
303
287
328
291
317
317
341
330
269
299
352
298
320
274
305
364
349
195
348
338
260
373
351
324
340
294
409
330
310
286
311
337
345
274
290
326
304
262
293
345
335
309
352
320
333
312
286
295
291
341
407
296
303
263
277
267
327
353
293
352
403
215
300
286
371
210
316
250
375
323
348
317
238
275
390
315
284
389
384
307
315
320
252
351
258
317
305
312
318
377
303
383
314
286
260
389
308
223
324
347
411
387
342
326
240
267
395
227
326
249
351
317
286
348
260
354
285
351
341
277
212
274
304
320
376
296
401
259
284
342
299
230
354
319
297
289
351
366
328
303
362
352
355
283
230
332
400
263
321
314
379
291
344
315
266
294
343
276
381
355
295
313
277
368
319
355
359
224
334
269
288
231
389
311
329
282
407
322
395
339
313
361
341
287
301
259
340
421
312
384
246
271
386
396
280
359
351
256
297
353
298
328
273
335
280
274
312
470
309
336
336
374
376
296
256
354
305
342
237
335
323
302
351
257
315
261
270
363
308
299
353
368
359
319
310
251
303
258
349
396
245
356
286
322
379
330
272
234
345
260
242
389
363
313
302
316
334
326
272
302
302
297
322
266
332
385
332
306
382
316
246
293
210
416
307
351
275
360
319
260
278
352
272
238
255
325
293
275
318
311
405
354
351
361
321
296
278
268
358
284
378
268
277
361
358
257
302
337
258
348
356
188
298
321
376
270
403
331
274
326
318
363
319
320
298
323
314
316
307
288
345
397
300
407
278
351
214
360
296
209
328
267
346
353
268
429
387
356
273
319
298
387
246
365
338
356
367
371
287
311
375
397
366
300
282
320
300
306
218
304
330
351
314
319
407
361
258
330
331
326
240
289
264
330
288
235
271
312
330
333
394
331
270
403
297
309
343
279
366
360
325
377
301
256
282
245
208
353
332
332
379
295
291
337
292
285
336
270
266
326
300
307
318
290
314
377
317
270
305
342
333
306
274
391
356
307
334
326
328
261
394
310
310
244
245
284
350
310
396
318
290
354
241
242
353
354
364
264
275
328
258
307
320
362
315
335
402
353
232
344
289
272
355
328
311
346
312
277
343
344
286
302
345
403
249
272
361
368
315
347
368
267
338
284
320
196
313
234
326
306
363
352
281
303
321
260
336
303
202
319
346
349
256
349
335
310
316
372
293
330
383
339
269
334
293
304
317
324
272
225
306
268
344
344
292
351
296
329
306
296
280
297
352
374
301
354
317
389
406
359
338
359
305
364
344
368
262
353
258
283
384
329
315
321
326
338
285
328
302
307
254
219
293
237
348
326
310
321
329
316
251
349
262
349
287
329
363
326
325
298
330
297
254
434
380
372
329
394
421
254
349
350
258
286
378
312
342
325
358
355
303
371
265
316
370
379
236
419
306
254
355
318
339
248
327
411
294
274
237
267
266
274
268
377
317
272
293
347
260
332
411
387
298
367
306
361
297
345
317
293
342
301
412
304
336
259
392
268
359
329
258
232
277
394
362
358
287
374
261
301
273
248
263
384
278
321
224
301
385
290
372
327
309
353
360
319
301
336
333
226
346
346
346
314
368
235
425
331
322
286
313
267
294
323
272
315
293
319
251
372
375
312
311
331
264
270
305
380
355
243
416
342
350
350
319
368
252
301
389
348
302
384
357
357
312
293
312
302
279
365
313
288
321
288
329
327
359
328
332
320
355
285
229
216
238
348
344
230
342
358
325
377
391
301
368
372
404
294
309
235
219
303
373
356
329
246
350
316
347
343
319
280
316
374
203
345
326
301
357
280
340
272
248
333
370
315
324
273
374
366
363
328
320
279
306
308
308
330
259
309
305
326
270
378
309
277
223
272
356
351
325
307
318
388
361
312
287
228
296
342
320
262
315
363
322
331
295
323
232
244
275
292
360
302
303
403
338
375
291
320
243
286
345
401
412
332
314
310
334
293
230
335
382
278
325
349
295
267
245
378
328
322
367
347
329
324
355
342
357
274
288
324
271
299
320
383
351
307
304
265
356
306
410
365
334
291
310
288
260
356
352
290
312
343
314
332
300
306
342
277
363
285
344
360
287
377
399
340
298
306
342
308
287
315
272
325
348
266
379
266
246
266
338
401
271
333
300
404
316
306
339
233
243
255
225
359
380
389
306
329
329
302
371
256
375
360
248
303
376
319
347
276
323
280
289
238
318
269
384
340
311
294
395
277
324
319
397
315
306
317
272
340
315
254
347
416
289
309
346
360
358
323
200
315
323
335
266
304
258
334
277
366
342
245
303
357
246
268
280
368
273
415
307
297
376
372
308
277
248
324
357
315
342
345
351
248
365
323
315
354
258
301
334
362
331
277
328
254
287
350
273
344
353
351
360
291
379
281
251
155
355
350
329
293
275
277
395
260
323
278
286
336
316
348
339
300
336
346
332
319
346
349
317
179
405
386
410
227
301
370
390
221
275
285
326
315
350
260
308
307
320
308
337
261
317
342
256
277
343
283
347
312
333
220
211
321
240
318
353
280
263
322
256
287
288
248
291
325
312
366
365
284
314
332
386
275
371
289
316
305
437
236
353
353
359
306
337
256
319
284
327
267
338
405
309
307
379
270
277
360
312
398
297
353
310
373
257
331
375
387
315
336
281
297
284
308
234
234
342
284
344
206
285
369
374
336
373
240
301
224
251
336
316
265
376
357
315
324
364
399
309
309
307
313
356
368
408
282
190
323
259
318
310
304
320
388
270
234
287
329
238
349
347
345
369
235
361
224
258
365
353
250
340
355
289
338
301
271
279
273
362
307
279
230
301
345
364
305
214
300
367
338
353
279
308
413
376
251
263
241
260
365
342
254
239
364
399
301
324
361
350
253
288
217
337
328
340
328
342
352
303
391
262
390
318
323
385
274
310
379
295
274
365
279
329
297
326
425
306
219
338
297
354
293
336
305
329
312
314
285
340
344
251
318
362
286
349
296
307
294
268
304
316
286
388
254
273
338
338
394
292
355
300
318
350
336
322
397
308
300
312
378
254
335
321
332
326
316
268
256
250
273
247
355
321
306
289
300
235
373
255
317
376
304
319
259
381
300
311
283
289
383
248
388
308
300
347
343
307
280
322
311
312
268
283
395
294
356
361
282
324
254
312
345
395
274
303
278
293
271
371
277
226
330
289
373
306
397
351
349
310
339
225
299
306
273
330
280
314
369
273
318
305
265
387
335
256
285
361
340
365
317
342
288
250
245
374
367
324
317
374
240
306
305
353
287
383
307
289
388
378
237
292
293
283
343
262
362
315
283
342
224
300
293
324
282
239
302
266
282
313
378
339
274
314
305
382
346
333
292
237
303
299
353
315
403
342
269
230
381
373
293
331
366
306
302
332
378
310
355
304
327
288
310
228
358
261
307
329
286
258
330
271
332
315
321
315
270
316
357
375
387
302
331
312
300
301
327
350
251
253
266
270
334
264
323
219
363
315
348
404
284
353
310
266
242
340
372
392
299
400
260
267
349
359
256
325
315
225
305
298
331
373
249
344
260
301
294
329
373
376
258
298
314
309
286
323
294
316
418
340
316
289
386
254
289
318
313
329
260
325
382
257
394
351
243
228
244
310
265
302
289
282
315
339
316
333
369
301
346
315
347
295
342
351
290
359
261
352
213
285
360
268
289
318
351
175
249
260
374
229
336
268
379
264
279
369
397
338
294
249
304
308
322
265
288
266
324
308
358
304
351
313
383
249
316
311
326
343
384
371
343
250
308
381
315
295
320
398
260
316
300
279
252
327
276
331
295
307
380
413
378
319
295
351
411
284
310
449
290
277
326
290
267
258
312
369
298
321
265
363
290
220
345
315
277
260
297
365
362
276
386
341
342
212
352
384
363
295
285
340
305
254
200
378
249
328
325
291
389
378
317
332
266
300
362
351
223
402
396
295
307
321
323
343
283
418
334
398
347
379
304
318
192
220
244
420
300
334
305
353
337
342
298
399
249
306
298
315
277
259
309
322
355
331
302
340
355
388
289
324
297
416
352
418
280
344
328
322
401
314
345
367
280
367
314
320
235
310
332
322
376
358
305
328
274
336
252
275
331
253
256
281
248
343
355
371
340
306
350
335
362
242
340
374
436
243
308
351
315
382
372
381
315
401
306
240
293
348
352
332
257
300
258
283
264
340
308
329
339
282
317
262
362
304
330
312
271
326
355
287
372
422
349
345
349
279
281
273
212
289
419
372
345
322
309
386
353
292
373
356
276
306
253
354
268
338
331
312
394
328
324
333
289
325
279
356
386
182
235
270
302
282
325
341
310
322
387
352
286
375
287
304
319
346
395
318
298
297
365
362
284
213
346
302
359
316
201
311
332
287
320
320
362
366
278
307
323
281
359
411
375
331
326
337
286
305
306
267
429
255
309
239
346
309
323
334
304
318
327
289
347
311
242
314
343
266
339
273
331
289
281
308
294
360
344
333
258
247
286
395
274
280
310
331
372
245
308
295
249
326
394
270
318
345
337
270
305
303
350
316
310
326
354
364
275
293
296
290
283
238
301
285
364
343
293
353
283
364
247
304
278
377
335
326
345
193
381
330
320
295
365
250
206
311
326
303
343
359
269
342
350
319
327
252
332
317
260
246
315
344
332
282
363
350
367
340
258
276
381
303
336
338
350
222
274
309
362
350
416
273
298
241
285
301
305
288
276
352
326
288
305
260
348
321
313
387
344
395
377
243
340
382
211
347
356
277
312
265
279
325
366
313
374
331
335
329
292
307
245
314
361
335
318
305
360
317
200
335
401
311
366
257
372
329
302
231
370
334
285
281
342
370
297
292
295
290
267
253
293
283
303
252
285
323
346
310
309
221
358
288
283
230
291
324
323
376
399
333
314
300
242
296
279
317
294
300
270
272
306
361
277
347
281
251
299
358
329
328
253
337
310
308
305
300
213
366
281
328
310
343
415
364
332
400
346
347
329
386
324
330
317
327
368
261
302
267
355
312
376
327
353
307
338
263
317
264
308
322
276
298
353
382
309
351
288
389
358
341
312
296
388
379
359
270
351
273
275
284
371
277
319
355
263
293
377
237
342
268
243
293
340
313
301
301
350
307
253
287
372
285
355
330
208
251
335
313
292
318
306
244
323
300
295
287
295
310
400
393
262
357
333
293
319
353
315
317
331
354
347
347
317
239
246
304
278
316
300
341
279
307
361
236
297
252
215
335
322
347
233
355
329
254
365
314
348
324
369
318
331
332
273
345
244
267
304
417
315
298
414
294
325
250
310
278
281
316
258
388
345
298
243
348
346
303
350
314
377
320
329
270
235
351
252
351
353
378
325
255
326
280
372
343
310
344
309
282
268
316
349
378
355
346
247
334
287
344
346
321
192
269
288
248
313
237
222
332
347
405
348
284
306
286
306
338
236
333
365
345
358
299
284
291
342
386
350
324
240
376
322
362
317
329
307
245
287
286
285
393
362
332
326
357
327
307
241
292
285
357
263
282
312
401
339
322
251
270
311
302
346
385
348
337
353
360
342
312
289
267
260
346
334
312
259
302
383
259
335
309
354
275
228
322
401
307
330
259
395
295
315
354
321
321
335
347
336
269
277
367
235
332
306
335
331
360
318
293
336
396
309
362
398
307
285
338
375
194
383
308
297
326
279
326
243
302
370
374
307
281
234
385
304
330
293
269
354
350
373
394
320
386
292
288
310
407
395
278
338
407
279
333
327
365
284
395
252
394
325
272
377
331
358
323
229
306
311
250
265
320
275
299
353
316
230
343
296
258
286
302
389
329
339
365
356
307
260
252
386
326
317
250
386
311
347
239
310
295
255
343
299
329
352
296
293
327
279
319
316
357
345
364
345
404
312
214
194
251
246
278
272
376
342
401
315
316
329
261
313
313
332
333
285
339
310
312
283
303
369
387
275
386
276
279
325
265
379
303
348
332
243
269
337
309
283
330
252
312
379
327
272
337
357
231
290
259
264
352
363
303
322
347
284
349
331
334
224
315
311
312
277
391
333
284
334
343
291
350
299
319
241
246
321
282
362
305
360
332
342
315
253
403
276
271
320
307
348
291
293
258
351
327
329
326
268
317
311
324
313
280
364
355
317
352
371
293
297
302
214
298
298
397
295
252
379
342
367
355
328
253
252
321
311
292
277
284
330
201
331
259
357
257
292
312
350
369
313
321
286
287
338
345
415
286
396
353
378
347
308
261
367
275
299
344
337
281
407
371
303
359
298
331
256
372
271
292
339
322
348
346
217
340
263
329
320
347
342
363
302
235
318
316
374
421
260
390
344
382
254
339
273
312
338
210
290
341
343
301
381
336
375
335
342
358
324
305
315
369
370
241
298
332
357
306
323
308
294
340
206
330
366
376
299
325
371
327
241
269
334
246
314
262
298
263
252
421
217
319
206
351
376
246
311
234
305
290
276
360
355
290
372
324
411
344
304
386
289
431
313
326
310
293
356
354
321
264
332
248
370
416
367
297
262
258
363
271
242
347
247
221
297
320
229
190
367
416
329
285
296
266
338
344
352
290
306
331
299
340
321
299
367
336
336
323
231
277
349
313
324
287
353
348
339
264
370
299
314
332
338
322
287
310
204
300
361
281
352
320
398
288
324
355
363
233
274
340
343
400
347
303
364
296
246
239
304
353
329
295
316
321
344
364
307
287
298
279
227
314
300
240
323
277
277
256
346
358
326
259
310
285
350
298
357
252
301
329
320
312
376
271
344
278
318
303
312
256
291
257
296
277
294
362
337
354
349
381
333
305
268
276
387
262
286
293
319
299
303
302
331
262
333
412
270
341
377
321
305
348
283
315
264
349
309
343
238
308
342
255
312
290
339
410
289
326
314
371
338
336
303
312
383
300
274
374
369
260
418
302
370
320
309
256
356
373
346
360
350
356
304
333
303
373
361
317
349
355
322
207
249
315
339
328
292
217
352
318
268
299
366
346
302
341
312
219
271
258
289
299
284
325
317
267
292
309
370
304
419
391
332
320
336
271
314
244
353
322
326
340
281
290
245
301
343
383
322
313
320
281
359
279
277
391
266
331
423
299
404
380
337
408
286
261
300
334
295
240
291
307
299
308
237
326
235
271
331
451
334
294
318
262
365
357
377
408
319
316
374
321
337
292
292
345
368
410
312
395
261
307
316
255
379
329
279
282
284
341
232
374
277
361
347
329
336
227
242
331
360
300
347
266
305
312
309
314
278
344
280
406
329
353
351
334
342
337
320
273
313
200
369
321
308
285
303
364
364
285
280
387
386
322
238
295
212
265
340
398
304
324
311
309
280
326
303
333
341
265
332
328
372
322
321
295
262
396
234
245
369
328
345
305
253
322
313
333
382
310
320
334
341
380
319
281
327
288
312
353
372
307
308
263
266
222
303
323
415
257
351
326
317
328
356
300
276
352
216
384
339
337
294
340
277
388
369
265
293
217
305
268
257
274
342
333
336
233
317
308
278
241
317
288
329
298
206
305
283
269
347
307
226
276
369
273
322
293
327
292
198
296
300
289
308
348
232
326
252
309
249
350
346
313
195
240
369
274
318
312
353
244
223
392
286
332
399
346
319
344
295
414
319
338
305
313
364
339
280
268
331
303
259
332
330
348
339
354
315
311
403
357
293
335
250
321
303
326
238
313
247
272
367
303
321
326
381
372
365
356
279
316
322
340
369
347
365
313
340
306
298
333
323
343
337
260
298
276
316
398
338
326
212
414
332
289
285
247
344
347
317
324
323
210
360
311
340
310
312
332
337
327
174
394
291
247
301
256
296
312
392
315
361
253
296
340
344
311
360
266
311
276
303
369
329
297
378
406
294
258
313
324
262
293
235
239
281
308
312
237
305
250
352
340
236
399
234
377
289
344
274
372
261
339
325
351
299
293
297
252
298
310
372
284
461
226
311
318
270
335
314
204
327
300
349
297
305
335
369
306
439
378
303
247
273
310
340
373
312
335
357
300
315
292
302
391
257
278
390
381
311
280
416
209
313
346
326
347
324
295
263
298
284
257
341
333
278
288
292
290
307
301
394
275
298
424
332
306
345
245
206
330
348
226
346
326
256
321
327
367
348
269
360
262
314
308
383
319
356
284
242
317
256
342
383
214
292
376
268
282
286
334
338
361
276
319
330
402
363
372
270
329
360
374
294
343
310
296
315
344
244
309
297
380
327
324
305
269
287
319
260
326
257
371
315
216
404
319
373
357
349
284
303
296
312
274
335
286
384
297
310
298
371
281
411
307
368
253
312
329
303
244
241
251
259
289
267
294
307
387
326
249
308
340
320
388
288
328
351
331
321
286
321
317
292
366
315
300
305
296
292
313
276
346
326
288
384
237
384
346
348
321
310
255
294
339
328
287
373
334
336
300
401
277
331
334
362
346
349
269
219
355
253
327
368
345
289
354
270
332
316
269
355
335
283
283
351
286
268
385
270
378
274
317
331
333
322
295
349
309
356
312
310
364
255
352
329
281
312
288
314
206
331
267
342
338
293
364
321
267
296
280
321
343
355
277
326
347
255
323
272
266
339
255
276
338
369
317
389
345
357
299
238
368
367
358
323
363
302
283
282
336
287
257
324
329
258
362
343
377
279
324
299
305
249
325
318
310
222
349
285
296
282
353
344
289
300
283
288
348
282
321
266
282
279
267
389
308
189
230
334
276
272
338
287
349
254
359
326
255
320
228
325
338
262
319
335
396
337
320
377
305
309
350
304
357
386
364
286
326
356
302
290
262
310
267
300
317
277
304
309
394
356
239
229
332
352
233
332
337
323
307
320
286
298
353
239
359
313
229
318
350
301
271
248
408
247
317
311
326
373
305
285
329
277
393
315
365
307
318
265
387
316
285
328
313
286
293
264
335
337
317
236
332
284
301
291
282
292
267
300
319
315
295
346
324
351
282
336
282
315
315
328
289
309
347
276
264
270
308
285
254
345
306
312
418
358
347
301
340
349
327
259
365
305
312
289
354
309
383
262
301
301
281
234
279
317
371
316
365
273
335
302
334
365
253
302
325
289
263
304
276
316
329
378
362
318
303
354
322
276
358
285
288
302
307
382
251
315
245
310
301
360
270
316
303
374
353
269
437
279
334
355
362
332
312
304
272
308
357
311
368
303
285
266
254
312
310
286
366
281
328
371
286
361
305
318
306
307
333
317
425
348
237
369
365
278
341
355
309
282
330
367
270
401
305
322
362
279
444
271
285
339
351
302
409
306
283
271
246
359
211
269
289
296
379
279
308
263
332
326
317
339
263
280
285
340
308
332
348
363
353
348
374
322
396
377
347
332
321
357
270
259
283
337
249
372
285
384
334
269
261
273
323
338
221
308
276
360
215
239
409
270
319
272
381
335
287
271
298
254
285
366
343
298
275
332
298
328
357
362
323
377
403
230
262
291
313
362
350
401
320
319
321
293
258
378
308
385
329
363
392
302
333
287
383
314
272
281
322
239
314
250
318
268
312
303
360
275
345
256
358
202
230
255
312
290
235
365
228
284
282
273
361
371
261
289
310
420
349
340
196
259
332
374
339
361
327
291
283
298
336
243
320
341
373
263
248
334
212
321
341
344
336
337
230
366
320
264
340
291
285
264
335
313
324
379
280
292
291
337
323
346
313
348
361
249
250
267
432
392
317
287
378
347
372
185
340
269
314
299
259
266
311
392
322
315
313
256
237
303
328
340
312
298
367
325
390
325
269
356
318
353
287
312
381
261
305
303
385
368
309
311
225
298
276
331
219
333
256
364
376
332
253
199
355
302
278
346
350
247
295
337
304
245
369
328
295
267
345
286
331
213
238
353
252
334
304
272
256
345
312
276
357
369
306
343
283
330
361
352
326
401
314
260
304
304
279
304
333
343
302
334
306
320
288
294
319
360
311
391
227
240
336
332
249
306
289
271
327
327
403
334
322
323
249
341
385
296
342
316
282
270
291
324
341
333
298
309
291
383
290
293
331
415
231
285
318
324
292
304
301
333
281
360
334
320
303
246
319
248
293
294
318
174
226
291
296
318
231
312
340
330
277
360
301
366
308
309
377
335
264
311
278
392
244
320
295
336
260
300
283
324
304
367
307
389
332
264
332
407
323
269
307
242
375
303
314
361
291
267
312
301
361
305
361
302
304
335
270
297
327
283
400
358
313
307
331
293
351
371
308
382
359
272
344
367
322
326
253
315
387
304
294
313
316
334
343
274
319
243
314
287
304
338
260
351
400
367
327
347
279
222
395
228
281
289
325
248
317
352
338
373
338
265
291
251
407
278
407
356
317
307
321
432
337
315
369
381
380
288
304
329
252
317
245
306
308
285
380
348
339
258
263
284
339
387
371
391
302
283
329
318
316
392
339
316
347
272
303
294
351
273
304
387
293
359
326
332
335
358
336
224
301
304
324
271
314
295
384
366
391
380
242
242
280
346
374
324
274
295
301
355
340
367
281
317
299
329
329
241
345
317
342
275
333
338
230
296
329
338
342
366
289
250
233
339
315
405
390
338
285
252
299
322
286
348
308
319
319
317
332
286
270
316
237
380
307
426
303
305
324
371
401
306
315
333
302
329
377
313
264
263
302
264
341
371
410
198
301
366
386
315
227
271
395
334
350
388
339
339
359
331
377
365
358
320
342
223
333
301
381
331
273
338
227
314
276
302
318
287
319
346
304
323
303
314
324
298
352
301
289
220
267
286
295
285
359
241
298
298
240
294
271
359
350
357
363
289
254
339
317
357
254
373
339
291
320
267
328
335
303
264
265
395
309
297
338
297
287
301
295
309
280
383
333
359
376
303
264
300
307
390
315
306
343
338
235
342
295
249
305
318
331
308
346
334
286
305
325
332
285
339
325
311
379
322
282
317
351
242
369
275
307
365
351
328
360
296
356
396
326
266
332
382
344
285
288
256
309
367
345
301
299
253
377
327
344
340
311
314
294
306
243
348
234
318
343
297
384
311
289
321
289
283
322
339
328
255
320
291
335
297
373
340
270
336
386
315
296
388
309
341
321
369
311
336
253
328
321
425
296
353
331
367
257
301
298
336
263
307
305
364
326
293
324
251
314
322
277
341
343
268
258
345
309
326
378
274
265
325
238
352
322
321
274
353
336
386
318
392
331
346
310
347
335
299
337
324
367
250
319
304
257
336
325
244
323
222
294
317
338
280
314
343
341
367
345
306
309
331
276
336
240
354
353
361
375
315
289
341
230
280
293
331
348
342
306
330
236
288
372
299
313
265
317
272
311
392
255
328
319
311
357
284
297
339
351
309
339
308
314
334
289
324
310
320
248
260
338
289
263
325
342
345
295
323
325
357
282
339
345
299
278
284
217
304
289
377
306
312
359
314
351
316
367
248
280
336
286
275
301
327
288
237
267
341
324
318
335
356
329
320
348
209
296
409
296
330
328
336
333
303
364
350
364
272
346
368
305
309
347
375
333
281
327
318
305
401
306
292
247
334
265
310
339
334
359
360
337
284
373
298
310
339
263
214
224
329
340
304
259
259
349
311
353
355
265
295
308
352
242
261
241
264
329
292
354
322
231
399
315
329
276
344
304
214
253
424
360
304
256
331
303
408
316
329
358
302
284
360
319
386
322
292
353
324
308
289
272
254
261
293
293
308
320
295
439
315
314
382
311
277
309
345
350
275
282
295
306
305
255
330
334
351
253
371
376
325
300
225
301
346
305
331
256
390
303
301
280
284
211
348
315
341
237
310
327
279
273
324
308
365
314
300
305
313
245
334
312
273
215
313
341
278
377
376
318
293
270
375
363
198
341
401
277
343
317
353
254
263
295
285
334
319
360
283
358
330
319
269
326
303
267
249
360
339
307
309
367
295
246
357
368
320
272
360
294
268
347
298
382
327
345
404
315
383
253
302
279
298
343
246
358
283
331
303
341
337
347
351
269
289
347
291
299
393
305
362
282
316
310
248
191
282
266
290
237
278
257
330
354
292
333
291
242
350
344
304
305
301
324
317
271
304
340
382
327
379
303
357
242
314
284
348
310
301
353
304
236
344
337
334
276
221
298
317
287
343
270
363
356
256
335
261
322
241
289
240
318
360
302
283
313
285
250
377
253
293
356
345
296
359
323
285
303
310
327
288
310
318
258
373
307
297
271
304
279
344
347
375
364
370
283
307
340
351
380
358
360
328
351
346
350
272
269
308
271
340
317
368
350
237
366
345
373
319
205
277
359
330
344
341
313
326
335
369
378
312
323
341
298
355
359
280
354
331
346
341
238
366
198
373
350
373
261
316
361
360
236
223
342
330
325
343
347
338
333
373
234
307
348
353
278
273
284
334
304
362
299
335
257
258
342
375
369
239
287
272
309
304
281
273
300
274
300
324
396
310
261
343
277
306
295
306
268
400
270
297
289
295
312
327
298
299
217
284
309
304
252
265
357
358
293
335
303
254
266
297
335
333
374
285
321
320
248
330
275
331
276
337
255
290
340
347
387
305
284
309
360
323
293
361
393
309
287
283
278
214
371
310
332
311
343
289
297
302
391
386
387
342
308
292
367
370
329
272
358
237
318
303
320
282
298
361
362
314
323
300
287
360
316
247
339
182
391
236
303
335
309
346
194
344
300
316
237
311
270
226
248
361
251
297
294
277
384
330
308
254
290
323
294
398
280
276
276
377
311
300
288
294
267
257
335
276
346
258
225
243
354
304
184
344
369
281
275
314
387
284
333
382
288
295
328
298
336
298
230
352
283
360
346
281
395
266
347
305
321
389
352
278
368
315
351
309
335
307
293
367
306
258
363
322
255
342
307
349
334
312
236
332
292
270
316
292
389
247
399
335
331
365
340
282
313
407
357
296
300
276
324
249
239
349
411
235
361
299
345
313
403
236
336
312
366
288
355
352
351
355
297
245
270
406
282
343
314
245
301
355
361
334
314
276
362
268
362
259
320
326
330
299
339
343
273
363
283
339
278
337
313
289
290
265
309
291
341
298
314
269
227
331
371
282
309
237
362
383
341
351
349
299
304
335
251
320
334
319
264
288
297
296
269
293
382
335
297
358
425
247
318
376
339
368
307
286
293
321
278
299
269
372
267
258
256
328
378
325
313
335
290
297
344
308
310
308
302
295
317
362
266
289
247
369
373
333
353
319
305
375
367
399
323
328
360
256
337
314
349
332
345
301
332
336
227
344
326
383
276
293
334
262
316
379
334
361
262
282
318
315
298
281
315
288
285
272
367
264
276
240
325
210
314
299
311
307
395
337
252
262
313
397
323
281
321
183
360
367
348
375
250
314
370
353
285
283
333
251
337
273
304
327
223
387
264
358
354
330
374
251
332
281
303
356
340
341
281
408
331
370
354
316
336
321
338
319
266
319
339
288
312
323
328
280
306
289
201
358
267
215
320
427
270
316
339
321
325
371
299
299
245
256
239
390
333
353
308
273
316
352
276
355
332
303
257
319
296
405
321
288
323
233
333
250
339
260
361
367
263
311
283
286
344
332
339
286
316
270
347
286
359
359
400
299
309
365
264
240
300
336
344
388
304
343
416
248
387
291
348
310
299
384
268
291
321
338
348
317
217
324
344
347
305
314
279
320
313
312
387
294
356
251
287
360
290
400
387
349
308
368
322
338
312
322
318
319
276
281
274
348
325
357
320
308
329
277
307
239
254
332
253
360
333
308
353
315
336
283
272
232
378
355
305
342
384
350
327
365
287
279
314
303
387
228
334
418
298
210
403
299
348
289
362
364
335
360
317
317
376
310
320
354
282
254
291
324
343
264
321
284
345
372
234
351
351
298
322
349
308
287
214
307
294
307
317
304
222
344
409
272
306
321
319
357
225
361
319
280
252
344
349
272
259
299
324
259
273
285
322
324
311
326
265
255
303
268
299
314
248
313
372
350
376
284
275
376
278
322
200
338
218
287
304
342
340
345
337
419
386
342
327
284
332
207
310
318
348
352
370
320
363
369
316
304
280
225
272
303
323
295
358
270
263
313
251
373
328
313
327
303
372
269
298
301
319
219
349
301
300
307
330
303
383
331
377
389
337
303
297
272
331
333
211
325
338
316
278
353
227
265
299
323
372
354
314
282
307
259
321
328
285
318
389
384
248
365
403
349
258
359
307
318
370
317
267
419
317
317
342
302
316
363
374
324
389
274
298
223
280
379
295
370
293
242
279
330
288
281
422
393
298
321
289
289
288
363
265
296
379
359
295
269
358
336
251
340
323
306
347
396
301
364
367
395
334
397
357
373
375
365
377
292
323
302
253
244
296
325
411
269
411
310
269
325
359
334
253
379
393
258
337
261
278
335
305
303
289
348
294
382
276
330
309
366
315
250
284
345
378
272
313
362
325
337
307
327
254
355
303
290
335
368
323
268
313
355
280
301
188
335
302
312
270
383
279
343
278
313
361
321
176
307
268
376
298
284
335
354
322
275
331
279
350
398
260
344
290
301
275
309
310
348
265
358
337
395
318
305
343
383
334
296
337
316
337
350
300
284
389
333
348
363
340
307
232
282
281
382
239
293
340
349
228
339
281
348
326
279
301
295
341
283
325
214
309
280
274
248
310
353
320
290
242
313
272
341
334
314
355
284
308
336
280
315
384
401
370
345
378
336
348
338
318
421
285
282
406
300
310
372
322
354
312
288
313
349
375
382
345
360
343
276
305
336
277
275
314
303
342
306
341
360
256
286
346
334
238
305
291
187
327
354
383
269
318
278
213
267
210
403
281
300
308
273
349
260
326
284
238
250
258
288
349
391
298
257
329
398
261
290
370
341
407
326
261
298
346
276
249
236
445
280
421
327
323
359
363
261
336
349
253
360
374
360
242
281
309
275
307
242
358
357
244
291
407
226
340
371
294
224
357
327
294
203
275
330
318
305
384
340
250
347
338
309
288
243
372
329
355
267
315
309
279
303
277
360
308
241
364
307
299
278
315
321
314
323
346
285
342
343
308
352
215
281
194
334
345
302
313
300
230
304
412
371
287
354
289
362
394
328
393
278
362
276
319
276
396
372
277
348
312
388
280
282
218
260
411
222
269
253
364
359
398
316
250
316
183
322
327
363
323
240
295
422
305
269
357
293
348
350
183
354
355
357
288
344
276
328
330
368
304
309
200
314
380
376
308
285
384
347
292
240
363
358
351
383
330
245
288
274
345
277
357
324
319
264
355
291
286
398
346
360
339
353
243
209
332
251
308
236
353
306
344
305
221
379
271
258
335
265
318
302
325
238
292
280
213
249
357
359
314
240
375
351
314
316
335
275
359
357
249
283
268
345
353
333
341
315
322
292
356
375
384
323
323
247
269
305
312
284
346
313
357
313
354
354
291
283
346
203
332
262
345
201
232
288
351
346
239
347
352
305
326
328
374
394
351
348
325
308
342
252
363
299
296
299
297
325
325
360
348
204
380
249
258
353
358
330
325
309
316
352
301
262
277
310
315
301
308
366
260
279
302
259
290
281
285
264
249
321
319
298
335
253
366
353
374
324
285
337
302
293
277
244
320
348
265
176
274
286
326
268
340
205
358
341
369
267
287
298
246
381
330
368
381
349
271
253
370
302
219
341
231
334
345
336
311
292
216
383
307
312
326
351
306
342
331
314
355
326
329
357
254
369
326
322
376
344
312
341
262
300
386
189
324
324
332
348
330
317
381
332
367
245
270
407
278
277
363
345
308
236
280
246
286
325
296
299
251
348
289
350
375
336
312
387
354
335
325
222
293
407
362
270
331
273
385
413
285
347
246
289
335
278
275
273
369
282
396
348
333
398
361
209
315
354
310
360
335
248
241
277
311
314
322
294
278
325
246
312
379
333
348
330
344
342
347
289
350
313
362
289
392
287
353
246
364
366
248
342
248
286
301
352
354
318
251
318
315
199
301
292
342
269
283
356
312
301
330
350
340
323
261
316
322
287
300
270
341
287
303
262
320
344
239
225
385
253
346
269
305
247
263
286
224
324
376
342
372
316
338
315
320
389
268
279
293
330
361
281
248
379
364
264
334
280
313
384
310
307
298
287
353
316
320
312
346
279
262
266
351
308
318
333
268
293
309
291
315
332
388
312
287
312
356
195
298
364
336
249
323
340
387
244
296
337
335
258
293
297
356
338
363
205
302
268
343
205
355
376
313
402
277
354
330
239
324
302
268
292
255
403
358
357
285
286
247
319
285
327
347
303
347
364
261
356
403
362
343
277
274
325
291
390
274
273
334
389
366
323
278
301
328
290
341
358
298
355
335
292
310
262
264
305
353
285
303
326
273
320
346
281
280
336
282
391
342
370
300
343
287
317
277
289
350
376
321
292
323
355
328
376
313
314
322
275
303
386
321
252
241
336
317
359
315
396
287
321
331
300
321
391
333
377
280
336
384
338
333
351
354
300
267
446
335
256
303
301
363
320
379
275
302
365
344
344
363
336
258
349
163
288
310
258
361
346
307
314
405
269
272
351
329
327
280
285
299
351
307
335
213
341
275
224
389
281
301
313
436
310
312
337
317
214
317
319
266
309
259
289
235
244
327
311
335
324
324
337
339
265
314
317
309
311
363
308
315
380
298
351
381
322
228
281
345
339
375
361
304
250
283
375
333
263
327
418
302
314
346
296
291
215
309
288
299
312
310
322
312
359
393
298
352
373
250
359
296
295
332
269
240
351
286
298
234
392
320
275
354
336
331
270
303
240
337
314
358
298
343
334
241
345
332
269
313
272
289
247
373
328
286
345
316
320
278
281
369
341
385
250
298
376
287
347
235
315
333
296
320
331
252
356
312
360
398
299
275
245
300
279
285
276
335
350
220
418
339
263
349
287
298
302
384
261
368
237
399
323
312
338
340
269
297
257
301
336
357
230
354
294
303
303
287
383
303
281
277
323
299
336
242
310
258
312
370
397
216
411
307
299
300
308
298
321
362
262
299
415
285
319
329
216
291
259
229
210
303
251
280
311
281
269
326
301
384
291
377
338
366
235
260
295
283
289
233
327
213
263
340
262
279
293
198
202
327
371
252
354
399
367
333
353
327
285
382
313
283
348
348
293
316
290
369
271
342
364
250
357
283
254
255
308
249
388
356
386
341
212
353
343
319
275
270
334
337
303
209
251
299
335
331
349
337
348
407
289
359
348
313
353
323
293
273
258
333
347
268
275
331
362
349
323
173
244
259
348
360
384
286
298
301
228
383
284
287
359
306
238
375
288
297
243
393
335
312
322
393
248
321
337
387
360
251
293
338
251
330
355
389
376
335
363
402
364
390
291
431
294
323
288
308
253
249
289
356
286
377
334
294
259
306
351
358
247
249
318
357
238
236
310
368
309
313
312
309
321
372
190
375
261
306
381
282
377
373
372
255
390
311
281
348
389
256
214
302
266
315
300
333
164
335
348
404
286
383
310
317
363
373
294
231
254
285
322
305
243
309
335
294
295
362
305
265
252
391
331
337
312
284
384
261
280
330
342
396
300
292
331
368
284
289
275
362
292
322
411
362
358
293
349
328
328
317
345
304
294
350
365
291
413
330
237
365
292
300
319
276
370
325
285
326
387
270
338
391
303
326
321
236
334
263
233
279
368
266
235
325
267
330
298
218
379
403
253
306
267
347
329
349
295
344
337
314
233
247
292
261
295
244
244
255
266
349
272
297
281
254
373
226
195
342
347
315
293
399
240
277
315
300
294
334
376
308
339
265
366
339
380
292
328
254
376
372
323
299
283
282
305
431
311
284
365
326
263
294
303
375
305
300
305
331
323
349
309
323
281
221
399
310
311
292
314
350
334
252
333
281
423
299
269
253
320
309
339
367
256
319
323
337
393
220
357
338
290
303
298
241
356
233
309
327
313
339
297
369
342
356
207
298
260
338
331
316
371
259
308
286
304
290
381
307
283
362
321
281
309
260
298
273
271
357
253
335
303
267
449
208
360
263
358
237
234
352
357
268
287
359
313
344
291
269
309
355
337
292
330
328
305
276
359
237
343
346
326
303
223
269
319
307
370
312
235
281
306
290
336
238
380
307
324
307
264
288
345
278
344
274
323
243
370
324
376
313
358
387
329
335
265
328
306
324
315
333
315
362
297
292
320
289
308
367
325
302
330
308
387
333
374
302
353
343
319
368
370
322
271
388
315
315
290
272
384
381
238
374
252
376
331
216
326
314
352
287
313
394
284
250
294
314
296
236
254
374
275
292
256
307
349
376
297
310
277
324
235
278
266
302
333
338
273
259
413
265
298
318
399
268
228
214
252
292
309
363
288
288
333
301
324
287
322
383
357
337
339
229
259
313
282
275
256
238
364
423
344
307
333
240
328
377
255
342
294
301
323
379
318
269
301
350
375
398
293
350
318
350
361
255
317
341
372
338
296
311
297
273
421
312
293
303
346
379
373
335
293
373
293
314
401
243
275
327
309
409
362
348
256
410
296
332
301
282
304
328
330
305
305
342
402
345
313
274
296
296
317
262
365
417
362
271
293
347
325
361
304
240
369
342
353
334
274
303
326
304
319
290
315
318
303
241
240
286
339
299
326
363
246
288
168
255
269
262
316
391
299
311
362
361
311
289
271
285
341
306
306
323
333
312
263
282
328
294
346
252
284
309
377
367
353
377
292
245
349
321
282
265
350
333
313
317
311
307
275
353
281
331
358
341
237
341
326
350
347
273
268
319
327
315
298
340
336
377
305
384
273
311
209
314
259
297
283
341
261
264
334
281
313
327
359
215
345
300
234
226
347
435
331
244
352
318
276
371
347
296
309
384
370
303
291
403
326
356
253
328
356
197
323
382
370
361
320
293
359
288
312
285
337
299
327
246
277
301
378
256
365
308
299
360
387
334
296
318
302
380
331
344
270
376
271
286
311
301
318
300
340
342
263
340
345
320
280
354
254
222
319
358
289
251
412
260
292
269
302
338
335
333
391
412
362
314
385
337
311
314
364
266
312
257
289
346
328
287
327
282
339
312
337
302
234
329
307
232
227
300
309
240
333
336
321
227
312
357
334
340
222
303
238
184
314
261
286
392
289
316
297
274
308
367
403
265
285
332
236
294
347
302
354
279
297
279
373
344
340
334
300
257
321
392
240
262
378
313
339
309
369
329
333
269
361
338
376
336
362
340
299
215
346
297
334
331
307
276
316
367
361
269
413
314
290
226
343
289
402
285
265
385
318
319
225
329
297
261
300
299
275
323
311
287
362
352
391
273
322
280
333
312
286
310
385
322
310
332
322
276
236
314
368
310
336
309
321
303
325
271
296
254
378
371
232
286
335
278
351
339
286
263
349
321
291
319
219
435
323
274
196
355
361
157
428
278
295
345
271
288
377
392
282
282
307
299
296
308
328
322
276
364
301
303
276
321
295
282
285
328
305
289
303
317
295
363
311
331
212
329
358
332
232
309
408
275
242
259
364
280
222
272
305
278
317
230
362
180
338
395
182
289
242
346
264
314
392
338
337
288
264
295
363
315
356
331
358
299
318
255
350
281
266
350
295
327
364
323
377
357
348
319
343
335
382
330
327
383
302
346
280
225
343
338
363
263
237
327
317
430
374
352
244
360
354
302
289
335
268
243
338
296
360
312
325
333
272
377
376
311
268
299
313
324
291
301
417
303
299
356
316
284
319
385
256
300
331
214
327
323
280
368
295
338
287
339
335
329
317
376
362
415
273
345
391
357
292
311
414
300
251
300
302
397
287
219
346
326
278
317
239
323
315
319
257
297
288
329
315
325
333
313
302
297
290
326
317
329
274
372
320
312
359
365
330
288
271
339
282
359
257
270
280
295
335
277
256
331
308
268
341
373
335
294
321
363
369
309
409
293
309
271
293
328
391
321
355
309
305
310
327
335
273
227
306
317
392
340
338
381
308
259
342
299
402
355
290
369
254
307
261
273
322
253
275
309
302
306
285
296
336
307
259
341
285
318
392
303
318
262
387
382
395
276
285
285
261
286
284
311
374
285
390
271
353
331
271
351
329
323
341
268
333
350
283
342
256
223
288
300
358
352
336
320
294
281
352
375
348
346
286
312
343
357
314
391
293
314
320
402
403
314
231
403
304
245
356
268
284
316
273
339
294
320
311
314
291
392
280
272
244
275
287
318
354
291
317
372
291
325
280
234
341
265
269
259
289
239
352
294
303
322
318
349
284
339
307
265
337
298
315
293
256
351
295
305
320
204
333
350
277
384
366
367
322
327
286
348
300
312
242
309
313
304
329
333
303
304
318
284
345
353
265
330
250
286
205
296
324
254
387
374
363
372
382
288
319
195
302
346
342
264
371
287
421
276
321
333
285
298
243
312
252
363
302
310
264
367
339
256
400
343
358
312
301
263
375
350
305
351
309
347
382
261
333
322
302
336
219
295
349
285
363
290
295
352
313
282
318
226
306
305
381
340
326
355
292
322
299
343
352
249
337
240
325
256
333
309
260
337
319
331
275
283
214
301
276
351
391
379
255
333
334
281
251
234
325
357
304
343
339
349
280
241
310
267
317
335
243
350
376
315
290
323
372
328
416
345
287
335
350
378
294
274
307
361
420
331
351
292
340
339
350
261
351
322
315
253
343
276
331
336
266
336
374
313
402
215
283
318
286
280
355
294
357
370
275
378
324
274
245
451
387
287
328
293
344
359
365
302
351
398
359
305
267
276
318
416
325
366
330
276
309
329
326
294
391
336
363
350
283
323
364
399
412
355
326
302
338
293
341
368
331
340
371
222
257
313
360
303
333
328
326
305
355
285
348
227
246
267
304
272
304
332
357
269
320
297
319
275
294
292
374
296
337
403
331
308
334
296
261
321
339
317
328
333
333
386
334
235
263
326
249
296
364
334
367
358
310
291
320
446
364
277
358
263
337
335
305
266
312
308
286
328
350
361
294
362
345
293
243
351
376
334
337
233
327
339
361
323
313
263
284
349
289
324
368
296
367
253
305
337
354
278
245
337
295
354
323
251
324
282
349
295
287
286
280
337
321
368
263
334
233
267
294
201
316
264
400
290
224
292
309
308
338
390
309
328
367
340
342
301
255
243
322
380
328
390
315
309
303
270
349
352
393
352
332
362
299
329
298
324
216
342
320
349
329
224
300
356
410
224
345
329
345
304
392
337
273
299
334
359
344
290
325
343
371
258
331
325
332
337
239
341
296
223
346
273
317
338
366
396
375
238
229
266
296
328
357
369
315
236
334
303
336
263
360
264
336
266
326
381
322
254
308
302
347
283
250
285
308
286
263
357
210
354
312
351
327
392
370
315
332
249
286
264
363
294
269
276
278
338
259
347
322
318
367
337
314
270
296
349
361
358
281
306
266
340
345
367
222
252
378
281
339
306
229
356
237
232
371
291
291
407
297
343
291
267
354
307
353
330
286
389
268
336
335
350
264
289
365
388
351
317
289
284
335
274
326
352
337
378
267
315
254
326
324
314
311
312
297
379
340
299
359
266
357
298
325
279
387
325
295
279
327
330
337
310
292
317
324
330
267
326
280
314
273
361
363
265
276
396
361
316
331
279
314
322
223
383
321
316
375
362
335
394
306
313
345
289
251
344
330
318
305
347
318
290
367
317
287
346
316
284
324
311
277
284
384
384
356
371
343
271
330
321
322
322
351
276
312
394
260
245
286
350
344
327
337
361
275
313
297
379
324
364
344
334
330
316
344
239
309
321
215
299
296
345
375
318
290
224
337
344
277
235
260
298
326
362
358
249
319
446
329
345
387
398
250
295
259
299
344
267
276
342
384
385
312
242
336
318
271
322
206
320
278
299
273
373
328
322
380
344
292
294
240
326
362
258
370
333
320
339
311
259
255
360
340
292
261
264
245
254
376
312
335
317
367
266
257
378
307
216
308
276
299
320
357
250
297
304
405
401
375
335
357
365
347
388
337
291
301
343
392
250
359
300
366
247
269
318
307
349
323
335
257
245
323
365
311
285
225
305
347
335
243
315
218
241
316
348
354
299
312
323
287
326
284
314
320
291
244
303
347
355
334
307
238
300
340
263
316
233
271
258
422
235
339
287
292
360
282
223
284
365
379
288
268
356
308
335
325
263
332
297
269
312
418
285
335
273
272
197
416
349
334
179
307
335
325
322
344
300
407
255
271
345
304
248
282
301
267
403
308
337
282
280
264
291
277
273
172
324
291
245
289
332
300
261
284
323
323
284
358
348
284
317
354
302
314
322
298
359
229
324
256
261
305
338
397
363
363
207
298
257
182
338
310
294
329
326
421
296
396
355
347
359
322
300
279
323
334
294
285
313
265
395
284
287
311
297
368
263
345
301
364
241
325
280
320
320
283
337
341
296
295
342
329
289
338
320
317
260
251
305
308
317
176
355
300
390
371
326
278
344
306
422
324
342
281
313
301
335
411
236
245
315
326
281
334
262
366
282
338
263
355
347
300
344
277
316
327
339
332
260
352
314
271
293
310
303
376
264
310
345
318
323
348
314
366
285
302
303
267
354
346
261
327
369
385
302
312
352
350
357
327
328
331
303
319
290
334
356
268
371
330
345
362
272
328
313
333
269
250
326
275
279
281
445
311
330
361
366
287
303
321
402
307
351
386
396
344
287
243
242
290
346
330
328
372
342
238
210
253
339
266
231
343
310
304
368
322
261
352
427
256
358
288
297
325
391
320
314
365
278
345
330
355
284
302
244
331
351
293
301
272
297
326
363
318
362
351
340
349
217
362
377
302
301
348
284
411
316
357
336
254
354
304
201
329
352
340
377
303
279
396
314
333
394
209
349
324
297
385
333
354
284
345
344
318
345
298
358
331
362
350
293
362
287
220
237
301
330
225
405
370
321
306
251
287
335
332
284
250
326
283
396
419
321
283
357
349
249
319
275
317
352
244
305
286
236
293
302
302
239
376
369
352
277
449
355
352
393
411
392
334
274
393
301
372
357
339
357
304
320
364
303
382
294
359
229
337
325
345
303
333
275
278
318
396
305
299
254
281
348
287
266
262
399
292
285
260
247
384
294
330
279
271
264
245
276
302
331
316
306
306
367
419
368
330
312
351
389
367
243
277
232
263
305
373
294
287
224
260
364
352
374
317
280
401
386
419
381
359
366
314
338
338
275
284
313
272
304
326
376
298
317
391
331
350
279
290
341
284
341
287
297
312
237
248
321
405
284
413
304
377
333
305
277
294
338
306
332
317
265
299
310
349
349
315
286
355
275
334
327
315
328
340
267
214
351
334
309
224
309
330
341
306
298
357
278
367
334
368
310
312
292
365
317
284
345
278
239
295
297
327
334
339
335
261
299
301
322
353
235
299
333
344
250
250
326
322
346
241
267
271
324
337
337
301
339
336
337
266
330
236
363
343
347
324
342
385
413
312
253
229
251
288
386
303
278
308
336
287
318
316
278
320
220
245
272
421
298
388
260
312
364
288
265
276
316
261
357
292
297
320
315
295
337
288
311
396
347
367
339
257
367
286
289
415
364
356
268
258
308
353
333
277
288
317
254
272
260
307
373
304
315
282
356
371
305
331
272
362
329
364
153
299
331
343
280
290
335
299
213
301
305
296
289
303
335
228
334
323
254
285
388
249
322
324
271
209
248
280
263
300
327
359
280
345
251
336
317
260
317
317
314
290
324
333
335
314
319
384
297
358
379
317
303
335
176
345
346
352
280
391
362
316
293
367
363
225
323
390
317
320
329
327
333
263
313
419
288
241
369
285
361
325
282
393
301
295
291
301
338
344
329
323
326
327
361
296
378
336
288
243
294
305
399
320
329
278
361
349
337
310
307
354
429
290
365
227
331
377
286
365
296
416
383
357
253
338
345
296
276
236
294
258
303
297
363
295
299
318
360
262
299
374
308
291
287
363
300
428
280
310
290
365
311
272
277
268
279
275
344
358
260
283
277
282
361
292
296
412
325
371
404
328
353
268
335
319
327
299
328
270
319
258
385
309
319
251
303
278
330
350
343
275
306
321
293
272
237
283
268
391
295
375
267
293
320
337
284
341
381
379
391
328
327
332
350
251
337
313
331
287
282
279
340
334
394
300
290
334
368
338
287
347
280
272
286
404
328
410
358
358
323
300
406
329
239
247
385
340
347
215
279
300
297
423
281
317
355
360
310
309
321
404
326
321
317
412
174
264
278
409
291
268
262
347
351
246
261
314
290
332
329
314
346
319
320
369
311
273
235
377
292
289
275
311
306
310
234
265
302
312
287
313
331
256
250
295
341
292
246
331
360
296
339
373
279
293
328
303
363
408
334
308
301
261
338
345
320
431
326
322
278
412
311
294
399
284
343
430
322
310
307
316
264
332
395
299
352
248
290
307
297
263
289
220
338
346
333
282
309
314
276
406
248
320
296
380
302
315
195
304
304
348
362
317
295
335
236
206
265
352
327
264
331
221
320
325
282
374
400
345
331
314
281
336
312
364
244
264
270
233
349
311
310
293
343
291
389
224
351
323
272
286
250
269
388
284
387
362
226
394
315
308
262
294
399
312
197
289
235
302
335
364
299
333
177
363
322
325
251
302
377
233
370
349
310
353
328
274
418
319
334
325
206
321
396
256
366
382
206
259
313
266
335
350
272
324
289
264
341
326
314
332
269
347
309
244
336
316
314
316
326
291
312
273
367
343
406
434
373
350
310
321
375
305
275
355
369
309
292
361
302
284
288
336
298
258
353
283
295
354
359
338
307
280
368
287
309
363
256
326
369
299
315
308
283
323
276
267
339
335
330
338
362
296
360
353
326
295
356
339
327
382
373
307
417
168
325
391
313
421
267
352
337
356
350
295
404
348
376
288
275
319
231
394
323
338
274
306
309
349
261
333
412
251
218
289
386
312
336
310
291
340
301
312
327
331
330
365
327
391
323
326
358
358
305
268
339
341
341
296
268
276
357
342
350
277
360
296
293
408
325
380
268
346
340
303
272
348
311
313
331
266
312
309
267
269
263
311
271
318
372
316
280
326
322
257
319
276
285
324
343
320
287
285
364
332
354
215
291
306
349
254
317
258
256
315
244
352
337
213
314
345
330
311
290
308
227
364
264
286
319
229
352
321
335
318
397
331
314
344
342
349
330
258
317
293
332
254
365
369
363
210
221
283
307
312
382
303
277
287
304
283
300
337
229
292
271
296
316
354
315
334
293
363
292
317
263
250
288
377
354
237
311
317
344
263
236
335
371
368
351
328
397
364
296
362
334
281
384
250
346
322
321
277
264
304
316
287
261
404
244
208
299
284
262
343
350
353
336
348
340
267
331
346
318
327
352
293
384
326
403
350
315
338
314
354
331
311
321
384
371
237
353
308
294
369
326
323
415
182
380
299
372
326
334
332
351
275
295
379
278
339
333
376
281
283
230
329
346
332
294
260
324
327
317
290
375
409
308
298
372
335
204
282
306
264
305
356
379
371
307
280
298
241
226
348
299
337
298
276
384
329
338
244
325
303
299
261
309
248
320
350
266
320
372
382
304
305
400
351
259
267
220
281
372
458
363
291
246
348
264
237
273
254
329
402
240
296
300
331
367
386
333
299
309
319
242
302
306
278
306
266
336
391
361
299
368
242
294
261
336
356
312
292
358
227
291
282
377
342
298
253
336
385
309
303
334
385
351
376
324
359
358
281
335
313
289
307
384
267
326
311
307
321
356
324
387
371
358
388
306
377
266
287
287
221
376
314
370
338
390
263
282
329
359
376
365
310
284
359
336
319
363
219
329
347
387
289
369
411
353
330
298
368
280
305
330
339
279
271
294
305
358
314
277
342
303
359
315
350
294
295
354
316
315
368
317
377
260
294
313
371
289
231
313
330
341
395
386
269
325
322
352
306
192
337
369
356
270
340
319
307
311
334
327
339
304
347
312
290
383
312
295
334
277
325
331
336
331
305
334
305
357
231
370
246
238
291
353
260
323
293
258
370
304
327
253
301
405
366
237
290
354
336
310
405
282
359
371
283
343
347
237
314
259
260
364
344
361
309
257
358
373
257
386
316
257
192
250
268
318
242
275
261
292
258
399
365
213
219
308
271
292
292
320
293
309
398
336
312
300
312
318
329
284
362
347
335
315
299
300
373
353
308
274
330
355
293
250
275
319
244
333
307
327
214
338
303
330
324
320
339
392
382
262
315
234
302
285
440
343
378
301
332
351
262
270
352
376
333
376
356
242
181
310
246
262
378
341
395
280
188
246
363
278
269
312
329
294
301
332
296
418
410
275
258
315
354
367
312
289
375
332
292
314
342
406
347
347
419
305
295
301
336
387
227
306
297
316
372
391
339
386
312
321
326
253
374
228
333
250
246
320
222
244
287
242
379
293
301
204
336
400
286
284
266
336
369
210
279
376
326
350
307
335
316
341
314
378
336
268
268
320
283
326
396
356
371
406
252
350
333
321
380
348
376
316
257
416
333
322
276
347
334
339
264
356
362
342
314
308
308
297
308
287
280
343
277
316
264
311
323
263
224
322
295
315
313
348
364
304
285
253
306
280
234
301
210
300
320
231
303
294
238
315
332
317
271
351
268
335
207
298
265
401
306
251
290
338
310
319
330
361
307
294
262
293
254
291
346
277
375
306
307
358
306
245
270
416
348
363
284
363
364
280
331
371
353
305
310
292
329
357
248
260
319
349
341
312
369
309
339
309
383
301
343
294
340
364
289
327
333
293
311
381
285
362
302
250
245
318
348
278
227
216
312
237
270
320
302
360
262
332
290
324
349
328
256
236
353
215
260
298
277
355
331
385
286
318
394
348
344
313
336
374
274
333
247
253
300
345
308
273
232
292
260
275
295
406
242
285
312
359
327
282
297
275
269
319
373
391
326
340
279
355
214
244
258
357
351
344
219
347
344
326
212
321
275
334
326
296
310
291
277
336
360
275
300
303
366
276
292
359
313
347
229
408
297
305
384
282
374
293
367
325
341
358
436
269
360
323
273
335
423
364
322
334
276
354
346
350
361
271
361
367
328
313
268
272
256
277
308
264
341
423
339
258
349
272
263
280
305
276
264
297
311
254
288
310
306
364
295
286
334
299
332
298
242
342
309
281
314
310
283
300
287
249
314
316
328
296
315
249
375
350
352
327
343
303
307
306
303
281
325
359
309
350
356
346
308
227
373
329
327
418
253
319
328
297
277
205
357
311
344
356
359
314
270
283
336
250
310
304
358
300
327
301
262
343
259
404
331
318
300
236
249
323
283
317
289
361
389
328
304
295
377
408
334
282
292
270
356
346
226
385
278
370
387
329
318
394
225
244
306
352
292
274
322
313
340
343
335
326
291
308
272
282
289
279
309
309
333
404
294
278
243
307
363
283
312
373
270
302
278
311
283
298
353
401
284
331
378
299
370
288
323
356
304
412
330
294
304
352
308
249
288
356
258
337
354
336
246
375
257
292
337
329
299
271
335
254
379
366
370
294
251
341
337
350
327
258
322
213
266
379
330
290
354
294
300
389
334
409
319
279
269
300
417
253
344
286
293
208
368
251
407
402
364
252
296
281
354
269
322
284
373
307
392
238
262
254
374
308
345
314
276
318
215
279
294
276
334
329
281
349
408
229
338
331
279
263
350
381
325
378
280
404
339
319
255
222
291
304
429
298
356
261
309
307
290
278
271
309
360
324
256
357
307
381
324
325
346
255
408
366
339
342
244
338
312
303
358
268
392
224
386
255
366
230
234
287
244
372
343
299
293
350
303
262
327
322
274
334
329
334
332
296
253
320
301
272
340
321
313
387
335
311
361
322
276
317
326
326
408
367
338
351
231
357
287
262
222
359
356
343
317
259
319
319
235
349
359
324
245
248
234
382
359
336
333
290
363
369
335
324
303
247
247
298
392
314
267
300
321
243
369
251
336
285
368
230
285
312
359
239
329
385
197
351
259
316
346
314
268
277
294
208
239
309
335
358
301
332
297
325
325
358
271
343
257
330
375
282
277
316
301
348
320
367
319
283
347
276
213
331
311
369
355
255
327
251
349
318
357
258
253
313
307
334
272
332
280
291
349
334
343
382
346
271
282
332
366
332
319
340
381
364
268
381
296
242
281
304
282
363
268
282
324
259
323
369
322
330
229
335
236
259
319
244
263
292
353
348
299
209
273
246
264
328
368
325
382
265
355
366
355
303
332
339
322
311
333
362
247
326
261
359
326
356
332
286
301
315
373
265
405
332
315
232
269
311
375
251
363
314
395
267
347
293
294
322
337
272
255
383
344
324
347
322
281
309
351
339
303
297
324
268
265
415
292
274
342
408
349
376
267
271
312
398
312
321
404
279
303
354
313
360
323
297
322
299
175
310
293
294
336
335
329
379
297
307
363
331
314
354
304
339
411
285
366
285
189
258
361
345
347
342
287
278
257
257
356
251
337
224
240
271
311
333
377
318
275
368
227
211
264
455
321
239
293
380
398
287
262
268
376
226
317
352
341
296
247
373
306
265
309
248
284
356
263
200
336
332
364
231
289
311
259
319
296
270
281
297
383
302
305
314
298
340
325
341
279
320
359
271
360
263
333
296
329
286
354
296
275
341
265
365
320
304
292
358
348
354
363
344
324
295
347
376
408
286
277
288
315
311
323
335
365
326
342
310
335
274
318
360
321
315
357
277
327
341
272
356
319
254
314
352
259
211
374
322
312
378
250
279
297
316
342
332
310
278
246
344
309
294
298
274
344
356
393
305
326
332
294
313
255
217
271
304
403
325
340
244
340
318
369
375
278
270
288
291
333
304
279
375
313
320
314
341
327
328
348
320
398
294
242
315
376
336
310
326
326
364
340
271
289
316
168
342
321
258
394
290
265
290
337
288
290
318
352
272
346
310
344
286
333
345
245
317
298
279
343
297
322
302
257
339
322
348
287
315
358
263
378
298
271
360
310
353
268
309
291
266
353
304
363
325
308
417
358
358
312
275
292
330
279
311
236
335
368
250
261
358
331
332
328
276
313
370
364
296
331
218
305
307
408
343
300
344
331
236
350
325
256
298
367
281
331
356
239
269
301
306
223
274
282
336
325
337
328
312
354
326
291
272
381
256
315
312
364
333
279
278
291
271
316
291
344
421
323
390
357
348
298
323
285
370
359
405
244
375
298
351
263
329
281
320
277
349
364
338
248
294
261
249
383
362
380
297
429
384
372
349
324
329
335
315
262
413
214
311
247
264
345
284
265
273
337
374
334
250
336
315
360
378
321
336
333
313
297
285
314
299
327
207
291
316
267
252
304
331
313
272
316
371
273
288
390
365
294
312
262
281
280
328
261
371
307
272
369
291
312
384
280
319
377
376
274
305
257
282
340
313
300
342
415
388
319
222
341
424
347
364
317
294
402
223
348
393
335
342
307
218
388
333
311
275
269
378
340
364
276
320
281
373
323
353
316
302
384
373
324
241
300
228
295
333
278
316
305
308
324
210
319
294
272
310
282
311
340
234
313
415
321
294
315
276
395
386
354
360
268
290
277
349
351
289
345
290
332
338
297
332
399
262
262
280
224
335
251
266
295
287
252
327
303
273
306
303
422
329
355
325
253
359
333
265
377
311
311
302
293
257
336
403
317
387
344
341
337
329
311
308
302
294
375
267
324
348
268
238
302
324
296
342
287
257
247
361
365
266
272
367
272
295
376
398
247
284
394
370
239
301
310
387
364
302
285
273
307
318
268
288
234
369
304
353
327
323
253
363
268
382
352
360
346
371
366
417
276
289
335
352
399
418
184
359
349
333
323
254
234
296
377
364
224
374
397
308
275
394
268
348
316
368
339
304
248
394
349
240
376
334
357
375
326
333
283
298
388
328
244
234
317
375
342
331
265
267
281
301
289
292
381
371
357
271
304
326
271
310
343
305
220
309
302
279
295
354
259
258
245
357
316
300
298
310
359
271
380
293
285
312
280
351
315
272
223
351
331
351
282
274
319
285
284
388
313
328
308
260
342
307
375
426
235
281
376
257
336
304
242
336
337
278
336
273
324
349
308
368
295
360
364
379
276
324
232
259
282
388
281
340
320
370
307
312
325
344
380
287
330
309
331
392
260
264
263
308
366
401
293
335
270
373
254
282
422
317
356
342
233
282
310
315
384
266
317
314
327
339
329
315
338
330
312
314
301
365
286
241
250
311
271
307
295
367
315
260
354
258
352
261
375
271
290
377
326
370
309
375
327
242
346
253
265
332
261
267
349
417
345
374
386
293
279
356
447
353
344
406
258
391
309
321
336
368
315
335
325
324
387
301
348
234
358
321
329
286
351
340
263
304
323
293
264
315
257
296
285
327
236
328
324
354
278
322
285
261
293
329
214
346
221
355
298
313
316
278
266
370
318
305
307
370
387
313
334
319
306
241
352
236
305
454
292
351
323
282
326
389
279
314
300
257
299
379
292
242
330
313
394
352
275
277
278
318
311
292
309
255
290
310
348
321
348
360
289
346
259
334
332
335
361
167
282
270
241
340
258
369
284
388
346
248
321
305
318
296
309
326
282
371
321
386
288
276
204
371
342
372
251
279
320
403
299
366
318
268
286
287
289
336
348
256
255
300
397
315
330
394
298
293
405
354
304
359
284
333
307
299
337
331
350
307
343
296
295
319
362
243
317
295
367
319
266
316
324
324
334
322
363
236
307
346
368
333
266
354
376
285
376
287
307
269
285
276
317
380
366
335
378
324
349
342
261
318
292
361
260
255
394
340
297
276
308
338
295
342
362
348
412
316
272
239
328
340
314
260
258
277
233
278
309
320
378
328
289
359
323
366
291
397
343
396
280
310
342
300
232
222
361
331
302
269
375
347
332
330
228
300
279
302
318
300
330
330
294
402
272
356
391
315
264
287
358
261
390
235
303
314
345
342
298
313
339
310
361
280
330
298
364
249
275
297
220
313
330
258
296
272
315
317
293
307
214
298
326
342
310
298
233
393
275
316
367
320
347
318
234
279
292
244
312
277
284
360
353
318
266
370
301
325
288
176
342
377
352
313
329
319
319
338
298
273
325
262
320
249
354
341
263
369
375
262
348
278
332
232
297
292
299
196
311
328
291
335
336
296
281
340
359
323
317
303
266
307
266
275
287
358
346
376
331
341
379
361
285
244
297
296
310
301
371
227
273
294
374
316
356
294
312
221
296
285
255
316
341
319
308
272
307
298
274
342
340
405
264
285
363
272
344
351
259
343
361
347
293
333
339
362
356
307
360
372
335
256
368
253
239
342
289
235
315
296
294
348
413
275
260
306
233
348
233
252
350
294
311
219
342
301
310
300
240
255
285
213
349
355
253
328
401
286
385
322
301
294
316
272
310
381
347
303
295
282
250
323
281
347
280
275
359
350
316
358
240
305
368
349
324
304
279
307
340
364
295
290
295
325
292
297
255
321
309
321
296
271
373
331
349
263
394
331
279
307
372
282
204
367
310
237
333
289
346
306
244
333
348
336
266
299
266
299
265
244
327
342
315
346
373
296
315
346
324
356
349
281
340
330
324
291
289
333
309
310
310
300
300
282
250
372
311
337
312
367
265
345
374
309
279
258
312
312
313
310
320
300
337
219
309
331
328
382
333
319
206
352
377
275
278
393
384
259
330
387
297
364
347
342
299
222
279
281
351
302
336
269
325
367
276
326
388
265
328
282
306
260
259
364
321
346
314
238
349
329
289
329
362
301
333
324
301
329
338
281
234
285
320
340
368
333
347
321
357
384
312
315
353
341
280
325
338
302
310
319
310
145
345
334
351
280
305
254
327
310
320
301
352
318
308
334
349
348
369
258
276
320
325
294
194
327
316
354
290
274
364
413
343
404
346
285
302
317
208
290
309
313
367
259
295
355
292
429
328
290
285
324
239
292
292
337
269
298
353
351
317
389
284
365
308
341
358
324
419
261
341
302
276
290
261
235
365
274
233
357
295
322
241
301
316
278
295
323
341
230
355
366
353
341
324
295
322
409
283
363
300
374
310
360
382
301
345
361
354
292
310
290
207
414
388
370
368
360
319
318
422
404
273
354
320
345
326
298
254
272
319
288
318
292
336
321
325
307
278
279
309
255
273
352
319
383
323
339
286
334
327
369
345
334
308
291
320
298
313
297
361
383
364
280
349
296
289
387
294
277
295
370
385
303
295
308
261
352
329
285
282
355
384
285
323
347
334
392
323
361
409
312
337
300
331
272
347
286
317
222
326
326
329
334
333
305
308
377
358
257
341
365
298
352
279
233
269
305
356
231
289
252
337
303
352
251
280
329
343
340
266
253
270
341
306
294
228
313
343
374
318
292
288
320
309
351
292
352
287
193
344
232
327
328
276
277
356
363
334
331
386
281
303
330
319
361
273
312
376
234
282
262
260
346
268
312
242
383
333
334
303
376
248
282
394
315
301
334
367
298
382
282
271
327
399
252
277
377
299
375
303
330
410
273
400
332
235
350
237
303
245
331
304
275
393
360
365
363
325
350
304
337
378
336
336
342
321
293
337
310
363
261
344
368
306
323
369
347
319
336
303
307
307
307
336
358
270
369
292
362
291
355
363
365
284
364
264
281
224
287
335
368
314
332
292
327
342
349
262
251
373
332
292
348
327
301
309
352
339
342
353
323
354
355
324
349
353
273
407
242
296
276
401
268
361
334
337
286
342
317
358
364
308
350
263
353
353
295
372
309
292
317
309
311
292
306
353
329
340
303
291
314
384
322
334
354
327
364
408
244
279
351
281
288
291
184
359
305
317
279
344
363
313
358
302
348
322
336
270
416
252
309
358
285
235
262
337
294
307
283
311
311
299
332
286
215
380
313
298
324
262
311
296
221
265
295
339
302
283
320
358
323
261
360
310
318
326
375
412
394
288
254
357
245
342
339
391
326
317
368
289
254
271
249
270
294
321
386
378
288
321
351
284
302
264
373
240
252
362
290
339
366
288
215
303
318
380
397
289
322
273
348
257
293
294
208
346
255
281
361
366
284
311
290
369
293
264
308
275
359
284
356
407
302
249
310
331
262
339
365
216
326
338
353
484
312
318
286
332
277
231
258
280
315
413
284
318
330
306
274
333
389
273
307
330
327
212
332
383
334
345
357
277
370
356
302
285
383
269
278
327
309
199
296
267
303
335
361
249
310
363
273
299
284
371
257
239
298
232
418
329
330
293
277
322
293
265
306
372
371
327
331
229
322
291
316
358
294
363
354
286
332
301
246
327
277
329
353
225
308
324
313
355
268
243
305
296
267
326
296
258
289
299
377
300
307
340
368
304
312
324
308
388
381
365
312
264
368
295
342
323
306
296
237
223
295
273
310
300
364
337
316
344
308
314
359
340
351
280
362
419
351
399
271
340
392
214
326
216
337
270
351
301
312
311
357
299
251
326
247
226
292
273
337
233
311
264
292
337
392
373
323
343
320
238
278
322
196
265
314
347
363
276
373
376
411
334
271
296
283
330
358
294
243
301
318
337
367
329
323
342
344
365
327
270
305
354
311
311
274
308
271
306
318
328
313
359
315
330
361
367
427
364
382
314
342
291
274
300
341
292
214
221
330
314
275
242
399
343
243
289
338
418
387
362
330
313
349
301
247
372
327
304
332
351
346
317
324
284
294
383
269
321
387
346
350
299
221
313
268
300
286
369
284
328
297
228
392
330
303
371
406
297
345
409
353
329
366
278
311
343
271
298
405
370
349
294
414
314
295
240
362
428
354
212
296
303
349
386
322
288
342
309
342
255
335
315
307
307
329
252
390
268
305
265
352
404
297
229
307
333
358
374
254
365
315
269
314
346
392
230
233
330
259
284
362
360
268
328
317
348
295
315
306
315
304
316
316
319
283
384
287
352
262
330
344
314
336
334
298
298
272
375
360
291
322
384
389
366
355
295
278
290
292
310
248
334
263
378
318
333
327
383
381
301
343
287
296
361
264
285
294
267
266
324
333
303
374
270
254
372
282
256
306
215
357
326
357
225
295
318
251
314
321
296
319
253
309
356
338
321
265
262
371
281
275
263
236
331
316
356
314
410
334
279
349
376
339
288
312
337
347
201
262
279
280
339
369
294
391
266
339
279
323
328
389
367
186
373
351
227
310
378
341
250
342
361
296
288
313
311
350
318
304
253
315
346
312
354
261
298
210
313
364
355
284
339
304
324
346
325
301
340
301
308
242
290
375
321
267
293
347
240
346
319
346
351
362
317
243
269
383
289
359
392
349
378
371
351
366
191
353
348
250
323
245
288
302
315
326
234
273
216
208
335
328
363
346
352
381
305
282
245
259
195
284
328
326
302
392
339
252
122
370
278
388
394
341
321
208
368
316
256
233
326
380
230
359
321
316
375
430
332
326
292
331
195
355
361
389
365
369
373
260
297
262
244
287
260
358
318
395
358
339
367
376
272
356
253
364
343
342
330
343
315
214
327
296
360
298
402
357
367
231
294
390
316
307
253
331
329
235
296
290
320
298
255
270
370
332
321
321
318
361
312
274
285
221
369
300
333
324
318
345
291
305
381
334
331
311
283
300
371
292
348
364
277
310
320
272
315
347
272
372
330
260
347
330
397
326
316
309
375
247
330
287
281
332
327
379
284
357
263
351
269
247
225
296
302
266
304
305
270
223
290
290
367
312
262
373
316
310
364
343
390
321
404
375
303
400
312
302
339
345
377
304
210
304
329
176
373
349
275
378
313
244
265
293
249
354
284
382
264
317
213
308
350
343
276
315
357
280
335
268
270
303
306
203
301
339
325
237
319
364
331
289
361
313
325
304
322
372
351
295
297
312
360
308
366
279
403
335
327
358
357
278
263
217
345
316
308
287
300
308
356
230
348
359
297
338
281
270
278
336
274
315
326
391
296
377
348
300
261
376
332
338
299
335
279
280
298
270
301
290
335
277
216
333
369
258
321
334
401
398
358
310
352
313
286
343
306
359
313
233
410
304
291
340
238
338
321
393
340
250
248
294
361
284
359
298
301
348
241
385
296
297
367
376
263
316
298
365
295
272
309
215
339
308
344
310
290
318
312
309
317
269
293
358
355
322
345
406
308
347
351
359
287
345
283
362
365
345
373
369
386
328
296
310
317
289
301
340
283
307
329
323
257
293
320
331
288
312
253
352
296
291
301
369
224
312
344
349
358
307
290
305
303
299
295
327
329
321
294
346
346
329
332
304
320
325
310
306
341
340
353
366
297
283
351
312
295
262
273
369
323
267
268
334
237
268
279
411
273
326
357
321
334
337
313
347
306
291
299
312
291
269
345
321
272
347
325
273
267
396
340
344
330
383
381
289
384
347
315
344
300
197
378
320
252
306
256
292
293
354
327
334
344
344
351
254
254
290
325
308
363
274
313
337
356
327
292
255
311
380
362
355
357
325
350
295
359
372
284
314
360
312
295
308
326
360
307
330
338
384
241
293
384
234
290
315
364
306
263
246
326
338
288
323
269
355
373
234
330
282
244
355
355
413
397
361
309
285
250
269
317
341
325
209
290
353
287
260
339
274
290
277
309
288
336
355
319
245
380
279
338
281
366
330
269
295
324
311
203
267
397
291
353
436
395
318
310
249
352
280
322
303
301
266
252
304
314
292
385
357
252
358
328
402
288
296
292
266
306
236
336
390
345
291
403
378
379
297
335
341
293
334
223
334
341
366
282
308
348
417
258
270
332
245
360
356
303
369
294
278
228
333
252
235
272
376
293
246
339
326
348
273
404
378
307
295
386
299
324
235
268
353
322
292
230
353
267
334
300
377
305
246
322
357
354
286
330
341
385
295
321
318
312
330
249
284
301
345
274
280
334
320
372
323
278
256
286
298
308
314
388
353
315
290
350
254
305
342
255
320
418
370
298
283
288
303
330
370
356
373
365
307
288
272
263
300
315
179
388
208
373
289
376
305
319
289
224
260
385
265
394
355
381
288
379
283
249
336
348
321
387
264
368
340
317
346
226
276
346
265
259
324
327
314
363
341
291
273
260
298
298
293
299
330
324
261
283
325
378
259
312
361
294
312
376
304
352
268
342
323
304
371
280
327
385
271
349
294
385
196
259
250
223
254
406
319
296
319
344
343
364
342
341
323
253
371
286
301
296
311
348
320
297
269
378
378
369
302
287
293
307
348
394
339
327
360
343
261
302
308
370
327
306
292
387
440
351
323
210
285
284
394
326
288
297
338
422
354
272
340
344
368
343
357
378
275
314
333
387
390
286
366
325
225
274
383
276
355
307
341
312
372
327
371
289
291
285
284
311
388
285
309
374
394
291
383
286
283
309
300
356
259
328
353
400
291
338
303
303
326
303
347
358
346
329
296
349
219
344
258
304
384
236
331
383
329
336
346
347
245
315
294
275
337
318
380
351
337
323
269
284
366
285
340
282
254
347
324
314
361
281
315
258
275
330
223
323
374
285
300
273
314
335
351
240
302
279
341
328
356
276
289
370
417
341
320
301
296
232
293
256
330
272
339
210
398
303
358
304
303
246
302
356
335
289
279
354
317
314
301
298
424
281
232
342
359
384
282
320
294
351
328
361
291
294
277
279
325
296
328
250
308
361
259
390
412
283
368
348
351
358
263
348
308
317
369
354
272
290
366
345
348
327
329
287
420
332
304
319
280
358
382
302
272
219
315
287
333
385
287
276
317
281
239
301
218
332
331
347
234
299
347
383
390
396
321
285
172
288
327
339
254
293
346
180
277
271
307
310
408
236
211
386
306
313
282
322
345
368
281
415
326
206
329
292
290
297
298
285
327
301
216
291
287
340
346
285
328
376
277
421
373
334
292
372
359
327
335
259
278
363
361
250
295
365
321
205
370
400
296
311
321
312
204
338
295
349
340
334
357
299
265
252
242
337
305
271
326
297
383
272
342
310
326
398
322
331
339
322
384
354
307
327
315
374
352
285
290
268
371
327
371
326
273
279
312
311
313
299
331
316
291
360
282
297
332
267
322
382
313
299
322
312
350
267
289
354
385
230
328
279
232
276
240
283
403
348
310
358
264
324
326
259
283
403
268
429
270
294
312
318
281
355
250
249
337
342
208
281
310
309
335
369
332
298
309
362
340
375
374
243
342
250
336
346
277
389
345
355
301
347
343
349
327
301
280
326
321
246
204
230
311
384
347
309
324
305
256
314
376
333
360
373
343
332
299
336
392
306
327
287
294
309
302
326
360
291
349
304
276
393
324
345
329
304
386
337
350
277
352
369
250
380
278
308
346
230
269
267
348
259
290
291
266
322
345
259
344
338
313
272
309
313
294
416
352
343
294
334
328
387
348
267
279
288
319
359
292
323
301
282
312
276
440
299
328
332
235
330
422
283
283
296
336
340
259
276
294
346
383
291
273
372
290
365
320
397
339
318
330
306
373
279
265
265
310
334
331
330
328
425
319
270
290
344
293
335
326
288
366
310
348
253
287
275
365
229
419
219
267
362
331
362
266
270
255
305
357
282
304
306
320
283
348
413
271
301
285
403
316
334
381
300
266
256
282
230
251
372
313
271
383
329
351
338
306
360
330
393
348
375
278
251
290
307
392
246
250
363
304
364
264
201
380
377
332
266
296
363
308
228
353
347
227
279
325
248
354
335
261
353
350
316
388
245
283
338
361
311
296
317
307
294
326
335
274
361
372
361
328
327
235
324
252
327
404
347
405
250
381
325
242
329
347
304
307
415
316
281
307
339
278
349
313
361
282
393
337
420
327
303
315
335
245
258
284
253
401
338
348
253
297
415
283
263
276
293
295
342
292
286
359
295
229
358
251
323
280
350
253
309
299
317
269
377
373
302
363
278
311
223
337
318
275
279
373
302
264
305
287
326
330
328
359
269
311
302
337
295
351
276
357
338
271
406
310
361
308
232
221
370
363
303
299
337
369
191
292
317
294
301
330
284
328
280
262
243
302
400
358
313
195
299
312
359
312
355
381
276
350
391
389
313
378
253
289
275
357
307
236
359
337
349
347
269
368
319
291
314
340
283
313
332
362
344
331
254
363
336
284
372
341
253
310
340
301
337
281
277
285
385
400
325
305
322
292
314
295
344
320
285
344
257
263
331
355
357
332
347
245
294
314
346
357
380
252
382
354
293
368
290
282
252
400
308
215
327
329
333
366
249
421
366
324
312
307
376
309
347
355
376
320
288
327
239
414
299
349
298
350
328
271
260
395
290
346
310
262
205
293
297
283
301
339
283
328
366
318
322
284
339
340
253
327
374
256
282
300
335
351
353
393
322
298
278
329
349
342
324
394
283
370
254
269
285
300
323
294
256
295
321
341
307
287
321
323
270
426
292
346
313
264
262
260
350
392
327
257
299
352
260
314
362
297
369
388
262
369
403
374
268
268
345
303
332
276
331
321
331
338
264
376
346
317
366
250
280
320
290
239
339
368
280
384
257
254
288
288
280
330
329
326
291
228
366
321
346
203
283
214
303
370
264
379
309
280
297
327
279
340
323
295
337
261
332
308
354
252
357
305
269
299
272
378
335
326
307
378
306
336
296
286
348
272
361
273
290
211
293
358
286
302
336
371
400
339
334
299
315
273
350
337
327
356
333
372
337
324
273
282
262
286
275
267
346
299
245
357
317
283
321
288
290
319
332
312
310
306
238
325
288
293
230
308
373
346
312
347
369
236
357
313
369
198
335
424
272
337
278
290
307
354
325
314
305
334
283
249
262
380
300
274
281
437
318
297
258
387
328
279
382
294
378
427
300
292
254
246
273
351
203
300
293
329
278
261
328
233
310
353
355
344
346
326
398
342
328
300
372
330
271
341
281
329
335
431
410
255
308
313
365
251
314
334
327
356
286
345
203
312
356
249
352
310
310
299
282
294
350
231
321
366
265
262
263
283
352
362
315
276
319
296
366
253
344
310
229
274
264
288
319
317
308
332
332
297
290
306
353
348
287
327
352
318
335
433
334
319
317
241
393
265
369
301
211
249
344
372
296
355
392
326
295
313
231
353
323
288
263
330
345
364
301
258
286
245
303
266
282
319
335
301
286
276
276
322
328
301
392
267
377
316
252
342
343
297
335
327
370
387
239
286
316
373
386
309
374
342
339
279
273
322
258
393
358
253
303
307
274
361
341
326
385
357
239
314
284
315
290
340
291
300
372
402
285
321
271
258
288
342
345
360
286
366
307
334
326
258
294
261
292
340
260
305
330
314
343
411
335
310
335
291
360
328
346
295
303
292
389
282
335
290
257
351
333
325
338
349
283
288
391
319
256
361
318
360
273
392
271
323
297
323
346
331
271
341
263
361
309
302
267
282
271
326
367
346
246
428
322
316
347
370
253
281
390
241
334
316
294
303
282
288
311
302
335
333
341
301
191
229
347
356
376
300
304
229
235
307
294
318
269
319
364
268
244
308
233
304
286
275
371
347
315
385
343
257
308
301
225
295
387
234
302
301
336
300
291
328
345
251
346
330
318
319
354
298
330
356
323
303
339
379
321
363
367
389
322
353
257
297
374
287
310
311
322
366
313
382
329
360
295
364
332
420
386
328
318
309
314
262
336
327
355
258
355
304
346
337
354
256
253
309
299
323
374
333
327
302
333
268
296
304
287
345
336
320
277
298
297
269
298
307
371
331
287
357
307
334
292
263
320
348
281
285
353
289
278
327
320
397
324
333
398
346
310
318
284
195
341
342
252
340
277
334
430
230
321
285
303
331
236
319
309
255
312
349
308
309
290
324
263
284
335
337
291
289
350
314
211
377
310
263
338
349
282
385
329
351
223
285
432
369
250
323
281
345
244
389
230
375
267
354
397
317
382
302
334
279
334
178
306
262
332
375
307
368
326
432
330
313
313
309
373
386
310
354
233
304
297
236
376
394
336
346
323
237
323
217
366
286
367
257
321
257
319
283
342
317
373
321
321
319
239
285
340
304
290
323
299
342
320
222
257
418
325
323
332
345
373
266
262
374
344
289
406
290
306
332
292
329
263
311
247
335
244
310
341
316
342
280
324
297
275
338
388
364
328
368
285
296
273
371
247
323
302
233
377
232
343
262
385
374
378
265
334
374
313
349
294
297
240
319
387
325
325
286
316
279
304
281
406
309
203
272
282
374
313
247
250
373
318
333
324
333
297
343
338
374
331
312
250
304
296
201
347
277
316
310
223
281
270
344
327
334
248
250
352
368
304
315
342
348
391
292
401
309
312
304
299
396
344
261
391
413
285
348
331
306
340
353
282
313
189
311
305
302
308
349
292
289
224
363
267
231
264
314
313
318
393
365
368
262
349
346
236
325
331
329
275
303
346
316
252
328
284
240
316
287
211
228
284
366
266
219
316
357
346
261
355
279
248
296
314
267
393
302
363
342
337
309
286
301
297
359
362
319
378
385
284
329
337
298
212
302
267
326
257
287
302
332
223
247
252
297
291
334
327
271
331
398
299
352
340
337
379
273
280
350
212
368
307
273
288
367
302
436
254
247
267
306
347
338
312
323
301
309
346
327
379
250
325
368
360
320
318
336
343
323
282
290
283
258
372
384
324
300
253
328
377
357
366
272
302
278
364
332
327
315
234
305
327
290
310
298
329
317
274
334
362
371
228
302
369
312
299
291
278
383
309
312
371
267
301
313
362
275
331
415
302
378
329
308
306
393
288
358
251
310
220
243
322
316
314
346
345
267
372
292
305
281
351
334
360
339
251
296
285
343
293
304
296
361
361
328
294
355
387
287
323
381
251
356
317
251
343
263
296
323
331
346
283
287
351
332
277
296
274
376
373
236
315
299
302
289
288
305
309
357
257
312
245
292
370
350
299
240
282
376
232
330
314
258
406
287
346
239
310
365
297
309
225
362
286
268
331
354
302
231
168
300
292
339
224
341
288
330
364
336
238
316
327
245
324
340
279
264
326
320
368
256
335
322
385
318
342
386
222
314
312
336
318
220
364
358
274
348
371
306
319
344
288
316
180
326
296
343
226
268
337
354
342
280
356
409
294
273
351
290
285
255
263
298
300
290
233
347
312
318
187
319
290
256
341
250
363
250
261
225
308
247
233
333
280
286
305
354
310
328
350
320
342
347
314
277
365
374
329
375
299
370
229
283
331
344
260
319
399
335
354
359
353
303
363
346
280
310
363
310
298
307
318
323
331
305
331
351
299
301
292
308
330
342
346
373
320
335
273
319
319
352
332
344
275
390
276
289
378
262
321
330
344
320
271
323
294
322
309
303
378
262
408
288
279
332
298
297
304
417
277
307
340
286
337
370
344
261
331
320
303
302
298
322
324
284
339
303
314
315
211
248
386
319
297
241
314
280
270
327
307
376
258
361
327
355
335
288
316
417
227
294
256
321
336
341
296
395
308
346
344
293
329
313
220
368
321
331
315
331
277
282
294
359
334
280
308
342
234
364
282
252
301
241
339
300
322
326
279
309
372
315
272
367
235
330
276
373
285
358
316
312
375
332
288
276
307
335
345
337
340
306
361
283
389
346
363
228
302
353
345
245
402
253
321
306
298
394
229
268
365
259
314
295
317
290
259
306
287
293
295
302
350
258
312
289
320
365
267
338
378
294
341
315
318
307
318
256
323
293
283
307
299
337
320
274
303
368
418
367
244
258
339
286
307
357
361
323
314
359
333
327
243
374
280
309
324
365
383
279
346
263
316
305
304
224
354
270
335
275
262
331
280
274
276
210
276
366
313
380
313
332
304
369
403
349
291
387
344
307
382
284
285
234
259
260
257
260
306
341
319
355
410
331
366
276
337
293
308
299
288
271
306
307
181
267
305
330
288
300
371
378
248
303
362
287
365
342
349
343
319
291
231
291
298
296
311
355
230
276
352
316
291
312
390
266
253
381
362
332
272
354
341
271
276
377
351
320
278
358
360
368
298
354
347
275
374
318
265
282
294
348
238
299
339
283
328
344
389
280
325
227
215
281
258
291
342
298
291
255
397
314
280
352
266
317
211
294
384
305
346
326
356
306
273
328
256
294
365
400
286
343
280
249
324
355
375
304
340
316
281
331
406
330
339
333
344
348
305
352
263
322
287
309
340
299
297
320
328
355
339
281
282
315
318
336
328
326
345
270
369
287
266
314
260
320
313
297
252
304
249
298
337
275
246
280
403
389
269
372
357
306
345
313
309
250
255
311
335
351
309
291
253
351
350
354
411
275
238
403
315
348
313
296
329
326
352
227
274
304
348
297
261
336
307
315
343
255
291
283
315
273
279
389
325
251
268
315
296
312
347
298
340
264
241
294
348
356
218
294
344
307
211
382
300
323
261
257
283
262
296
313
229
286
321
299
264
306
345
367
245
229
362
382
363
310
278
292
327
359
329
327
323
315
395
319
348
342
311
268
253
367
344
326
340
308
330
351
336
324
316
338
323
417
294
354
409
340
343
335
291
367
336
311
251
296
336
286
301
326
337
312
333
280
363
306
313
272
266
325
365
285
394
359
239
330
327
212
306
277
339
251
283
315
399
304
279
369
262
280
281
243
360
294
247
289
330
331
367
289
368
329
407
276
297
296
324
351
346
400
233
219
294
295
286
236
312
316
301
311
410
309
285
286
341
358
304
330
331
386
303
278
321
377
351
272
315
378
379
350
338
382
348
310
315
279
317
246
295
293
317
321
345
342
346
327
288
329
265
333
315
298
253
321
360
341
316
334
361
362
281
331
310
205
303
268
291
311
325
299
333
280
292
345
364
243
261
316
402
347
347
272
336
365
348
382
255
258
361
340
363
343
351
255
260
301
303
317
258
331
271
341
272
340
336
295
280
288
295
425
229
297
370
340
266
342
244
273
324
309
247
295
328
392
325
314
338
361
317
284
339
311
277
259
331
326
305
264
330
333
382
319
403
300
346
346
254
230
285
274
308
287
264
359
388
308
315
365
331
300
291
283
203
357
324
298
341
330
279
384
261
303
325
373
296
311
283
289
302
329
277
312
292
333
371
302
275
361
316
371
293
410
300
245
276
379
282
364
269
323
309
320
339
294
269
340
292
290
252
321
299
235
282
299
335
290
315
333
291
282
309
368
345
278
339
274
335
293
317
350
301
302
305
292
361
234
278
287
355
314
312
309
271
305
354
407
260
314
245
307
286
273
252
322
278
310
398
353
297
295
281
263
272
314
302
394
322
390
369
299
241
254
289
353
263
286
269
382
332
370
344
306
337
334
351
406
326
275
312
286
276
301
239
259
346
372
339
357
358
414
269
353
335
225
312
283
349
339
388
348
306
335
181
219
297
310
278
335
296
287
321
219
350
235
350
382
352
271
315
332
360
403
365
262
373
346
370
300
299
317
286
297
337
286
401
306
317
330
280
256
314
302
296
332
300
318
379
342
296
371
302
365
377
310
290
346
286
288
306
241
300
347
308
319
326
258
374
359
303
364
309
311
261
354
369
304
286
327
342
300
325
287
300
346
310
259
351
221
301
287
356
332
318
293
261
343
189
381
282
325
404
355
284
307
240
332
296
279
419
276
331
360
231
288
341
327
332
333
405
311
386
263
323
267
288
385
320
298
336
313
288
319
356
382
311
302
364
361
290
325
274
340
278
289
313
334
269
283
381
295
320
331
257
270
304
326
360
348
265
354
374
249
326
262
351
269
305
323
301
312
240
268
294
270
366
243
272
337
316
330
284
338
315
329
306
246
227
324
273
317
258
258
279
426
284
404
346
302
328
298
392
303
375
368
324
260
342
278
335
290
246
295
363
234
345
270
321
251
391
399
222
299
326
283
315
373
392
318
301
423
318
273
332
373
344
315
311
178
343
374
238
292
285
386
431
303
404
278
260
310
304
317
323
300
314
329
310
308
300
310
321
320
325
294
321
342
374
324
289
370
398
371
283
410
248
324
363
320
259
312
317
320
311
276
323
329
338
358
326
294
288
315
366
409
288
256
358
267
317
338
228
322
381
347
285
370
306
239
266
182
307
328
323
364
279
316
263
337
369
344
400
322
285
312
239
304
318
297
343
342
247
287
259
243
223
321
371
287
283
320
318
330
334
337
354
266
351
326
270
319
385
321
330
374
202
289
352
353
223
261
286
347
317
300
354
337
393
353
389
344
316
302
320
259
342
309
253
337
381
370
209
296
372
321
306
274
254
293
255
344
356
378
284
389
309
271
372
261
358
289
276
347
327
400
392
358
364
338
297
347
287
300
377
324
341
414
385
363
331
290
280
279
367
368
337
272
356
233
315
314
282
352
337
319
265
293
258
370
326
294
306
292
250
375
378
321
343
307
343
267
355
282
343
248
318
353
337
298
356
303
302
325
346
188
233
268
339
334
354
332
267
211
345
350
295
282
292
313
276
343
232
361
221
327
289
337
350
327
292
312
284
209
339
295
329
349
297
242
275
339
279
374
322
396
346
416
299
317
385
342
225
285
289
366
313
253
278
329
262
285
329
337
343
301
311
338
352
262
270
274
322
320
259
297
332
386
372
265
392
323
363
397
268
310
295
348
283
308
262
381
358
234
335
236
221
302
264
269
308
338
279
301
317
420
334
371
275
302
308
403
283
312
362
372
351
349
386
380
304
348
274
279
291
322
221
344
247
336
284
283
297
334
288
298
307
332
323
401
286
292
261
249
223
327
289
264
406
239
260
393
358
354
275
316
331
293
355
338
334
366
332
272
268
360
371
315
265
255
306
362
276
310
318
409
384
330
287
286
308
364
323
336
346
328
291
290
269
266
294
322
380
308
384
272
317
268
278
287
358
332
229
289
271
304
292
296
255
294
375
317
331
337
246
268
341
321
325
350
324
306
342
369
331
293
341
377
377
346
275
343
402
291
288
378
297
296
362
369
359
329
348
376
325
267
308
330
387
369
321
269
188
278
250
269
333
307
280
382
188
362
316
283
317
322
381
371
299
368
368
403
299
322
341
348
303
278
335
323
337
341
281
304
276
297
318
326
334
296
328
357
403
275
253
301
340
305
313
379
336
237
415
247
316
290
266
274
317
325
298
335
292
353
281
325
317
249
360
328
269
246
222
284
279
289
362
322
276
340
281
225
425
329
303
337
366
363
355
267
359
367
337
350
283
233
392
318
329
343
301
265
352
405
341
300
316
354
282
387
273
235
390
328
311
290
264
323
338
279
312
336
381
305
344
355
360
334
293
332
309
366
354
335
304
386
325
246
267
275
366
362
387
400
350
305
283
323
364
278
353
352
242
284
348
278
358
322
279
327
337
286
351
328
244
285
287
287
350
259
246
370
292
279
280
341
361
359
308
344
374
238
295
411
366
347
241
324
367
283
311
263
338
314
372
345
324
278
262
300
330
291
311
322
353
246
247
288
329
347
358
323
372
225
370
284
268
320
269
402
266
288
302
305
324
325
377
302
242
336
269
284
370
253
187
366
359
276
284
262
302
348
281
373
292
302
328
218
389
335
272
277
310
290
294
367
279
339
353
261
326
371
370
381
342
338
304
262
347
334
304
273
409
290
322
275
246
287
303
277
247
274
329
348
273
382
323
243
365
350
354
342
308
312
327
332
275
326
254
282
397
369
261
272
287
291
317
355
330
308
367
328
219
262
295
404
324
357
224
299
278
321
302
308
305
328
312
320
248
327
316
276
308
367
329
308
363
317
297
275
222
268
366
375
326
345
334
358
327
335
405
250
381
392
370
274
287
355
359
312
343
298
301
385
239
404
335
292
433
395
399
257
302
322
275
298
266
283
296
323
300
272
268
413
344
327
351
233
266
312
304
332
369
330
266
332
309
342
257
238
305
261
322
209
311
241
323
249
265
344
413
353
352
289
400
314
358
308
258
324
253
310
354
305
258
361
345
350
275
283
281
356
322
275
378
310
310
378
334
299
397
283
299
240
291
364
325
313
254
351
327
272
302
270
298
298
294
310
346
245
369
313
280
348
290
252
347
319
410
334
325
331
252
309
210
280
326
254
389
243
326
343
327
303
292
277
333
272
333
297
237
282
330
270
326
325
195
325
279
285
272
323
379
244
273
303
327
283
298
277
324
260
311
321
363
315
312
369
262
296
336
274
288
304
295
354
330
337
246
354
287
400
300
305
285
329
316
392
281
326
352
311
366
391
399
375
331
335
350
397
293
321
295
375
353
292
330
344
339
398
342
324
357
284
282
364
315
362
388
322
254
344
356
406
316
314
292
350
361
319
285
408
368
319
292
287
328
352
325
393
269
348
387
245
337
284
384
264
348
357
308
309
333
263
296
282
278
286
268
369
316
342
285
360
324
274
343
302
345
347
400
315
352
255
332
345
352
320
304
323
370
285
279
273
347
339
284
401
365
360
330
264
335
303
340
326
396
390
291
297
342
355
352
334
286
324
325
323
302
243
313
275
348
317
407
307
245
332
301
308
296
236
326
261
304
293
308
375
246
246
338
342
294
312
375
269
296
263
188
310
339
388
370
398
268
379
342
270
294
297
320
272
400
294
314
336
253
322
300
384
307
315
255
282
286
278
334
257
298
262
246
309
323
371
324
195
343
257
242
350
262
264
262
241
361
341
366
396
333
387
289
266
385
332
320
253
266
324
307
333
302
380
342
239
318
276
301
335
376
279
313
301
253
294
281
319
310
296
236
287
315
423
289
266
213
346
323
250
303
278
350
356
305
341
315
265
268
358
318
364
336
275
362
299
222
344
326
306
333
328
282
357
373
292
300
317
310
283
344
298
305
352
329
369
324
300
323
297
348
334
228
319
251
305
303
342
344
323
284
241
324
273
319
326
369
335
309
310
320
332
305
361
304
339
319
298
282
337
336
294
277
356
249
378
354
306
249
253
365
317
332
387
212
309
293
358
365
315
375
320
342
341
271
274
368
306
285
351
325
219
275
360
304
295
260
346
250
279
336
298
331
288
324
284
274
269
273
400
372
250
252
394
245
310
259
330
271
327
415
305
216
386
259
249
326
306
347
254
395
284
247
262
279
338
380
312
329
320
344
230
329
326
309
259
298
367
345
412
288
266
367
235
280
333
372
290
367
363
342
302
304
333
379
310
318
233
307
283
325
327
387
289
286
386
316
282
332
328
266
369
240
320
305
223
312
249
365
201
359
310
396
373
320
329
279
303
321
370
432
299
373
337
361
333
244
389
206
323
443
408
347
244
295
404
307
319
346
269
250
334
250
297
331
326
265
325
307
318
332
315
331
355
309
267
294
339
296
297
313
288
235
286
257
370
314
327
324
233
340
292
335
281
339
290
288
325
373
304
313
387
372
302
253
280
275
318
384
356
304
384
320
317
332
387
247
379
273
286
283
311
358
314
252
319
344
266
317
351
315
277
294
262
386
320
352
302
340
331
212
238
325
343
314
256
369
266
288
298
257
266
355
400
291
283
310
329
367
293
428
376
221
339
344
303
325
327
178
329
326
279
311
365
337
346
348
321
300
221
269
310
285
273
254
280
337
342
340
248
258
317
303
212
251
324
292
344
302
290
310
224
376
237
296
256
359
213
293
273
354
327
292
334
373
318
329
240
351
287
321
306
301
380
358
267
332
302
314
282
306
328
337
359
368
375
358
312
354
305
271
307
352
353
289
349
359
337
316
310
358
342
340
268
244
279
396
384
268
324
362
391
287
284
285
239
406
339
257
312
262
344
249
340
282
310
323
383
337
333
343
333
352
325
405
302
323
314
235
299
348
231
330
305
287
336
269
339
371
370
282
322
414
363
274
308
306
379
372
361
362
295
319
304
364
320
290
320
363
351
322
257
305
260
345
357
291
317
307
336
355
339
311
337
371
262
312
312
388
320
364
228
262
282
376
370
298
329
295
283
279
332
289
379
280
297
247
328
360
289
292
382
287
295
362
351
311
320
326
269
259
370
279
251
307
269
326
240
265
320
376
336
317
223
335
263
264
312
313
316
340
357
280
287
323
362
340
360
269
262
240
300
278
330
320
253
340
385
334
279
313
268
345
285
353
254
380
306
339
247
336
304
315
273
213
323
299
232
327
231
287
348
320
261
240
320
310
335
290
344
323
232
355
337
294
273
364
327
343
264
253
274
270
347
304
326
358
306
369
236
273
314
241
353
307
271
272
273
274
336
298
294
357
276
357
324
325
335
341
288
287
346
228
335
282
318
257
243
396
305
320
364
235
314
308
306
353
370
246
335
267
323
305
311
311
257
293
343
341
312
417
288
302
256
299
271
306
336
253
243
273
254
287
281
382
363
399
294
352
333
373
325
401
418
273
276
252
405
359
319
322
296
396
298
243
256
341
304
261
264
250
325
352
316
287
302
189
289
366
292
343
262
362
296
317
351
230
314
294
384
214
397
295
384
344
232
288
357
328
225
341
302
296
326
317
371
311
295
290
341
324
304
359
161
308
248
294
329
294
303
383
313
252
317
345
415
234
297
366
283
329
327
350
339
330
301
299
356
301
322
297
306
334
313
294
305
295
337
282
257
340
354
311
368
296
342
342
333
319
341
298
292
300
292
251
356
294
371
341
317
286
239
266
365
278
326
323
283
286
291
294
324
341
346
298
311
335
388
282
329
289
321
328
359
263
306
305
350
318
313
303
325
320
233
276
206
361
237
244
371
329
270
255
167
314
341
279
330
270
387
280
383
278
319
312
264
383
331
253
329
308
281
334
343
343
329
281
369
378
377
353
376
229
303
343
326
296
360
371
344
272
289
342
388
264
251
310
226
338
245
281
356
301
309
405
368
248
336
288
362
301
348
202
341
206
344
321
292
320
344
308
379
295
204
316
319
340
302
306
274
375
367
274
300
308
267
368
349
335
314
356
328
322
256
340
289
311
286
387
268
359
327
331
334
242
358
370
316
288
314
274
358
249
324
287
320
405
335
333
299
370
365
326
379
320
314
280
316
207
323
334
265
334
270
261
286
326
284
353
321
294
386
224
317
285
273
364
330
384
284
382
306
378
247
306
303
191
315
358
292
327
290
233
274
256
251
318
413
394
282
302
335
363
313
294
347
297
266
352
342
314
394
319
324
311
328
371
252
292
313
357
370
259
344
341
374
396
288
288
306
332
349
357
323
324
330
312
324
244
416
397
355
371
294
314
269
280
350
393
305
254
317
285
394
361
231
397
284
365
233
345
241
265
231
301
286
287
408
334
309
240
239
279
280
280
277
293
292
375
317
242
341
269
337
315
284
324
292
325
308
372
300
296
227
229
270
350
279
358
236
327
387
372
348
284
289
311
328
328
324
223
358
344
304
264
356
309
305
340
342
396
346
334
364
254
331
376
348
357
295
363
298
398
216
387
290
215
363
333
358
349
323
379
393
372
267
331
291
361
373
291
268
307
306
275
228
322
303
278
322
244
307
328
356
301
282
265
357
393
255
283
336
336
298
376
288
315
258
397
374
325
320
398
321
345
366
369
300
282
256
238
355
305
323
266
367
326
337
365
361
306
361
292
314
332
231
256
249
232
311
331
346
320
319
334
279
377
314
283
353
341
309
345
358
315
267
297
325
397
331
303
380
373
319
269
308
257
275
316
433
314
243
235
328
300
264
377
288
199
315
332
310
271
280
329
349
302
311
366
373
321
349
290
247
342
330
305
309
305
336
349
325
220
233
251
330
301
325
364
327
285
322
226
342
317
292
307
304
235
300
353
240
285
350
370
335
404
376
340
302
371
246
361
342
308
394
347
301
331
320
261
394
330
309
346
340
368
318
389
281
277
373
342
306
275
337
300
354
281
294
290
296
275
298
368
307
310
327
289
325
299
290
242
375
243
337
332
338
346
342
257
316
300
357
349
309
299
290
272
359
301
319
381
330
320
261
296
299
297
309
272
345
342
325
319
326
234
353
325
346
249
228
339
309
278
326
290
260
353
275
355
368
316
321
298
336
246
362
374
292
335
249
292
255
255
310
321
312
283
257
315
304
242
293
332
244
279
284
273
308
284
316
254
349
313
357
334
310
312
270
304
357
339
357
373
314
265
286
303
274
274
245
307
319
317
290
306
301
205
368
308
342
332
370
313
307
322
344
386
260
281
379
323
298
309
293
250
337
366
321
334
344
284
283
361
337
374
375
336
276
344
326
299
335
309
335
388
305
288
330
369
342
360
344
405
400
315
304
278
363
310
286
304
360
357
368
355
270
335
350
296
361
420
302
355
298
336
225
360
368
244
266
301
308
291
255
244
290
318
351
281
289
259
242
392
291
336
342
310
351
250
357
360
298
279
320
335
277
361
375
348
238
174
349
274
336
256
244
283
262
209
274
325
352
338
338
263
330
320
367
292
372
418
310
312
305
335
346
341
293
267
211
222
362
301
263
371
305
331
296
375
277
293
228
315
347
316
277
389
334
413
302
306
241
245
363
279
303
319
300
421
279
249
298
324
354
341
322
364
319
338
313
371
283
304
304
388
314
306
320
339
298
236
350
351
284
292
205
337
311
270
261
259
210
308
331
329
224
327
262
278
361
326
259
346
366
304
355
360
357
279
222
328
307
372
349
347
265
262
329
318
310
317
320
312
355
334
348
349
369
331
304
348
322
209
314
322
222
276
312
305
310
335
305
364
327
368
316
395
315
412
272
332
282
318
258
212
352
330
366
308
274
261
324
242
328
298
370
261
302
303
405
356
235
336
300
219
346
256
314
358
367
329
276
232
372
393
226
321
336
371
283
339
337
314
354
385
231
328
360
383
334
221
341
319
298
240
288
359
255
377
333
297
291
278
409
350
306
264
381
310
356
315
313
381
357
371
324
285
299
276
367
330
379
378
286
271
339
340
315
312
316
303
343
346
388
282
372
410
314
389
292
294
287
271
251
359
338
322
310
358
300
341
402
276
310
323
312
164
378
336
338
300
290
242
276
267
303
322
325
309
367
335
253
370
337
349
359
246
343
290
356
287
360
235
388
280
343
273
363
279
301
377
312
324
322
316
294
316
364
383
303
326
443
252
324
319
445
385
294
307
343
312
342
339
243
335
363
323
318
312
275
361
307
348
304
219
214
267
322
398
282
342
324
387
199
343
298
319
321
299
378
317
346
288
320
281
369
334
393
337
377
269
286
318
309
252
276
320
237
309
355
373
280
266
360
283
358
311
344
222
292
346
278
329
293
406
335
349
310
350
294
288
257
325
315
322
249
306
335
420
341
246
232
285
284
285
287
365
351
364
359
322
382
378
294
333
345
337
358
331
313
386
339
198
305
306
302
350
313
338
361
373
347
312
262
325
263
330
245
353
292
325
374
266
355
258
278
273
276
316
345
289
288
337
322
355
318
401
344
397
349
217
338
373
339
273
322
382
313
351
343
288
259
274
282
324
314
384
263
315
303
351
296
297
337
378
319
322
321
332
297
398
387
319
347
346
309
375
354
346
363
258
263
312
310
354
342
254
286
317
294
277
305
282
338
231
261
242
377
267
318
324
306
269
320
263
305
409
295
353
307
322
327
327
240
308
276
348
284
329
313
250
363
278
228
363
282
439
315
360
323
334
314
371
225
327
324
360
334
320
345
293
241
362
309
385
336
229
349
328
333
321
287
284
348
317
361
258
207
342
211
356
330
354
244
270
332
291
218
315
279
330
313
343
325
263
328
355
282
324
308
330
311
325
389
290
283
368
256
286
327
270
290
340
227
302
345
343
258
258
349
291
347
297
240
269
294
331
325
306
375
339
285
297
316
291
257
366
305
296
331
376
323
290
397
313
390
342
229
268
309
357
269
385
364
214
317
248
286
255
389
342
401
244
318
349
311
332
353
287
308
363
370
324
311
292
272
396
346
285
338
244
295
273
274
242
286
378
285
374
404
260
361
273
283
382
255
228
410
200
306
390
300
332
213
268
263
363
249
368
381
376
371
303
310
379
363
319
320
300
330
315
306
266
280
334
362
308
352
368
266
374
253
288
315
379
252
369
284
288
337
279
271
366
274
275
351
316
253
242
313
262
285
360
276
254
200
270
305
293
290
334
326
335
273
302
257
325
409
369
367
336
369
313
335
367
278
284
309
323
309
311
286
317
285
308
198
299
389
299
276
294
333
311
296
341
332
262
342
337
343
217
306
326
320
325
297
336
372
313
324
263
287
323
317
314
288
332
347
262
364
326
266
319
225
309
304
294
281
280
268
352
356
354
352
374
359
385
342
285
299
320
351
255
303
244
376
295
334
401
290
271
213
349
348
295
346
304
289
304
335
323
335
302
329
338
316
394
254
267
384
361
303
280
307
327
382
372
233
354
248
338
319
230
364
326
311
375
363
319
287
210
248
365
256
342
253
348
388
248
248
286
354
351
374
265
321
263
389
322
287
231
340
428
299
373
374
259
311
243
287
295
228
406
377
239
300
406
278
275
358
339
308
326
279
275
326
313
368
268
334
305
261
298
396
276
296
343
361
397
334
300
353
341
352
319
323
252
273
369
294
193
259
244
270
353
247
340
291
230
309
319
324
344
327
304
333
295
422
341
261
299
305
375
308
257
368
343
224
237
325
326
337
270
275
248
281
253
344
273
339
247
268
263
291
344
248
321
286
350
366
386
294
333
236
312
336
433
300
315
370
279
298
274
317
286
388
355
333
236
351
337
296
244
228
299
302
278
252
429
234
334
286
421
302
350
372
370
273
343
366
330
308
388
286
335
347
347
300
377
277
323
300
357
308
330
332
310
373
333
383
355
287
281
300
327
308
328
245
295
327
395
353
289
226
284
368
278
307
356
309
397
309
214
321
289
293
334
361
352
295
378
297
363
309
265
378
284
303
319
400
290
360
325
291
241
346
381
347
349
316
246
263
296
339
352
415
322
253
309
299
334
357
357
330
310
337
356
367
363
330
369
329
305
232
263
359
308
328
250
329
290
360
296
299
398
321
315
351
336
381
276
316
295
353
315
285
301
298
280
343
287
322
404
259
333
310
310
336
330
304
281
340
296
233
350
352
346
281
189
361
336
336
309
334
320
246
320
324
268
291
310
285
258
281
322
290
342
331
346
238
290
393
338
340
279
307
275
270
290
304
253
273
337
319
330
243
364
318
350
321
337
302
257
301
305
374
342
220
320
405
276
283
338
324
350
340
156
280
249
332
329
306
317
309
271
408
343
325
279
390
292
338
277
387
386
181
292
280
333
278
331
259
313
340
385
265
317
319
253
415
383
418
243
280
306
252
269
291
319
246
374
295
284
434
318
295
387
363
296
381
273
286
314
349
326
253
358
284
283
261
350
237
305
400
371
356
372
290
374
364
327
274
296
293
338
307
309
279
274
272
393
283
316
379
230
309
268
323
327
372
272
258
365
286
318
296
298
371
276
279
284
175
377
381
308
358
400
263
288
268
278
331
301
355
257
320
379
346
282
330
389
223
320
295
347
338
376
239
260
286
306
299
304
267
247
334
282
289
273
326
218
280
296
274
288
339
348
312
289
307
327
321
238
396
336
248
270
323
325
351
307
263
377
345
279
310
324
291
405
318
299
454
295
299
388
257
269
328
277
291
187
291
241
418
323
277
321
252
337
354
352
298
308
337
326
270
294
319
397
339
290
359
286
252
276
370
267
370
227
346
289
295
355
341
220
334
293
330
345
247
360
330
264
294
375
285
333
269
284
373
344
368
240
328
289
291
268
336
362
418
382
206
357
323
296
214
249
320
311
392
411
260
300
390
318
293
240
299
267
308
351
295
371
342
249
277
314
348
372
255
261
338
352
259
260
348
179
246
338
367
210
295
295
313
353
283
364
290
332
396
275
285
249
324
293
221
348
346
304
318
311
342
383
329
301
377
290
307
318
347
326
237
281
324
296
253
328
318
315
309
306
360
329
374
366
272
277
315
275
301
339
334
350
332
367
311
298
227
271
352
327
327
355
293
300
306
371
220
283
272
334
297
294
262
360
333
324
283
361
222
302
300
276
330
313
357
271
377
331
356
306
321
318
288
398
306
382
385
320
294
355
380
286
254
344
304
293
338
273
368
380
300
357
261
332
407
350
329
357
317
255
302
362
354
303
322
327
360
239
284
279
344
316
358
274
328
355
313
259
365
317
400
401
284
251
277
347
263
252
343
314
343
344
324
293
303
294
325
271
351
253
206
287
202
309
361
321
329
281
345
357
313
339
364
336
408
338
224
281
349
365
298
294
251
348
301
345
377
326
353
335
275
280
237
378
312
358
418
276
304
284
321
278
252
307
297
367
237
358
399
350
310
335
312
251
301
272
349
237
333
341
378
289
343
318
269
332
338
330
341
284
314
374
341
391
259
325
371
373
305
253
272
307
307
312
293
411
408
387
271
316
279
249
361
285
273
304
365
304
274
417
263
234
261
248
349
339
276
221
303
268
309
281
139
288
250
342
297
276
249
242
350
307
363
285
319
279
330
287
328
308
299
329
303
343
315
294
267
220
202
354
317
406
239
340
369
327
275
326
304
249
294
353
230
249
367
218
283
284
315
337
368
285
254
299
267
260
285
275
233
335
345
380
325
334
300
287
288
329
282
273
308
320
383
306
319
413
270
291
264
206
285
392
394
349
300
310
326
311
329
282
331
352
334
343
306
359
337
368
258
300
350
258
332
378
341
310
259
336
316
289
306
380
299
348
358
341
273
284
315
264
319
275
287
308
370
289
373
284
363
297
391
309
258
252
356
297
309
276
310
328
320
303
306
329
298
300
305
305
299
349
311
303
250
227
265
270
365
248
328
371
283
354
308
274
326
244
277
213
293
340
267
456
368
366
269
250
277
287
334
241
345
242
297
253
325
239
360
288
418
396
307
338
265
284
356
345
279
382
308
300
313
252
364
269
275
337
404
267
357
442
378
277
330
316
378
322
238
342
347
384
300
337
262
251
332
401
358
296
284
292
361
326
311
277
275
299
320
285
312
261
255
360
315
307
331
276
308
358
381
176
299
307
270
305
229
345
300
371
243
362
289
326
321
358
257
312
346
328
224
370
385
378
292
354
328
344
285
334
306
298
250
293
308
310
239
340
338
314
340
286
238
304
285
255
284
385
319
293
369
322
295
261
366
330
386
287
238
339
334
261
220
312
363
281
337
430
307
305
310
293
226
398
248
348
258
411
264
318
302
298
319
296
289
293
321
342
253
281
316
316
329
282
350
337
327
288
223
311
362
294
347
366
281
332
301
288
303
320
308
347
298
316
307
362
260
310
316
245
334
324
248
232
321
247
361
324
310
376
358
313
297
299
249
350
334
373
297
295
247
346
321
345
319
301
339
341
303
343
356
271
330
272
344
329
282
296
337
351
335
357
375
348
347
355
367
353
344
266
317
336
363
343
316
312
366
297
319
289
301
282
287
395
290
336
403
366
287
287
267
297
365
301
409
294
290
331
332
274
261
420
346
343
246
285
303
291
281
349
291
328
306
395
272
242
218
351
347
309
280
297
318
359
302
337
310
305
309
317
348
262
357
312
297
365
366
262
301
342
277
390
337
291
383
285
290
274
312
239
333
254
327
321
246
257
277
298
360
229
319
258
267
312
217
325
295
318
406
288
306
335
258
297
400
380
211
341
282
251
277
349
291
287
348
378
285
357
296
258
343
410
349
345
285
315
305
324
285
285
359
318
333
282
319
367
219
314
380
355
318
307
313
293
388
274
337
362
329
311
293
234
240
290
314
297
350
311
362
389
259
359
362
352
349
275
338
346
273
315
346
386
197
361
286
247
221
364
329
313
369
265
332
266
252
305
327
245
399
350
319
402
325
314
327
308
259
292
322
241
287
314
256
332
332
324
338
383
291
272
307
284
296
300
213
245
183
272
339
338
296
307
319
318
329
281
340
247
266
300
230
291
388
295
255
293
268
377
314
304
338
347
277
340
339
426
287
298
219
301
355
329
353
237
323
336
275
266
389
419
406
439
327
363
297
236
367
255
255
305
366
341
257
285
340
342
332
259
292
284
318
321
320
314
228
350
289
374
244
347
353
349
216
342
330
300
274
312
272
344
293
391
281
344
221
364
277
241
313
290
367
319
373
269
347
308
355
331
279
326
299
284
381
256
318
338
339
342
310
259
313
356
339
370
350
377
349
353
275
265
382
243
359
420
349
349
234
317
390
342
287
258
336
375
274
242
414
272
367
347
237
272
289
380
416
328
417
421
305
364
335
341
353
375
377
323
352
303
349
292
333
248
277
307
313
318
337
328
310
342
302
264
267
298
388
373
303
302
341
316
331
344
386
274
301
311
229
254
329
311
307
315
358
334
328
279
344
301
250
303
332
393
268
325
291
253
359
333
319
315
324
323
330
275
302
288
365
286
279
309
395
347
323
215
317
371
311
307
344
250
316
335
331
324
284
353
321
296
259
353
368
304
265
307
384
304
373
320
308
217
375
261
277
302
250
344
309
321
241
288
266
358
309
275
348
313
399
367
259
343
270
286
240
342
323
278
292
361
325
312
252
248
308
371
374
243
315
306
309
233
345
271
325
262
272
312
306
249
326
348
311
276
320
316
340
274
221
313
234
205
353
318
346
282
303
304
263
333
265
307
367
309
285
250
368
283
311
359
390
391
240
391
372
284
344
339
297
254
343
274
242
323
347
225
251
278
338
319
325
309
375
355
238
288
297
286
326
320
299
264
321
376
361
298
299
309
393
323
288
319
404
377
300
282
411
330
340
333
331
293
309
364
341
246
392
325
300
261
301
246
345
263
316
270
330
341
284
306
309
249
246
264
365
324
361
327
342
350
306
345
349
296
274
224
332
221
240
336
297
355
269
366
319
262
318
251
357
278
225
325
413
416
287
329
319
283
270
309
268
312
416
298
301
338
289
347
288
283
305
372
287
318
386
301
329
377
314
284
351
347
324
334
334
396
284
419
387
321
349
277
292
342
244
222
309
282
335
261
325
276
330
366
322
263
343
314
251
291
271
389
333
261
413
352
278
314
287
405
295
258
233
340
302
270
331
315
333
364
260
392
339
219
347
337
300
261
311
252
336
333
278
331
286
246
336
313
246
334
314
277
374
319
315
241
314
329
291
307
284
324
316
332
383
342
292
383
320
293
344
319
326
355
338
340
275
378
280
290
264
352
205
381
307
348
409
279
409
349
274
297
272
306
311
280
326
254
260
354
349
323
364
326
317
266
230
328
394
330
415
385
370
300
319
290
288
327
295
373
338
283
226
306
325
257
332
389
361
293
361
367
317
302
345
318
296
407
312
367
304
299
315
357
317
243
265
351
286
332
343
242
235
320
391
341
323
297
398
397
270
321
328
275
378
246
273
325
330
352
284
251
321
325
330
337
339
356
323
304
346
301
319
375
310
360
405
344
287
315
356
231
298
321
310
232
381
327
231
271
293
286
246
259
389
308
374
314
374
263
327
321
405
358
226
330
281
333
317
273
344
375
299
266
324
312
253
303
358
286
376
200
338
329
211
313
307
278
358
288
362
287
199
288
367
387
293
387
217
323
355
236
231
258
400
397
275
301
329
387
319
301
232
365
257
313
355
355
260
283
244
294
372
275
332
279
321
313
312
351
332
302
328
339
341
330
354
286
311
332
343
329
334
283
216
288
270
394
360
380
328
338
316
297
332
362
296
295
360
271
363
317
252
260
298
301
351
285
367
389
294
291
320
256
284
379
363
258
309
330
358
269
298
316
268
352
334
367
305
240
281
329
368
260
359
276
310
295
298
315
263
355
314
296
316
353
320
370
319
298
370
208
272
345
350
318
351
307
311
273
269
338
296
342
367
365
275
371
287
359
266
370
342
275
321
224
302
366
284
254
346
372
357
343
324
279
264
357
386
398
300
316
339
343
325
265
246
401
307
393
313
284
309
336
307
334
347
315
339
276
323
301
336
227
309
239
323
206
215
445
289
319
350
259
366
320
310
324
369
272
346
271
316
262
382
279
351
332
321
283
299
377
321
323
272
326
407
358
343
289
210
235
315
327
291
231
324
336
360
319
286
356
351
428
290
351
257
299
295
362
352
317
256
322
369
339
394
335
389
368
345
269
297
384
246
264
245
372
310
294
296
283
363
224
375
353
284
408
300
313
334
360
393
348
299
297
316
363
298
264
359
374
316
262
378
338
322
324
313
331
265
354
327
291
316
313
364
371
249
320
305
327
335
329
309
312
320
280
299
194
323
257
262
333
377
264
291
293
231
315
317
279
335
265
359
377
277
403
329
292
341
326
263
302
266
349
379
310
391
281
338
258
328
277
218
343
305
281
371
351
280
354
291
322
244
330
345
240
286
240
324
383
237
324
409
371
295
341
317
351
320
267
300
272
318
342
180
251
294
335
373
291
343
319
318
405
306
359
261
396
281
335
246
396
265
290
351
287
327
314
309
353
207
279
326
344
355
308
312
365
385
286
330
229
335
243
309
285
331
334
259
351
328
299
307
185
335
371
363
359
264
321
296
240
381
354
268
337
366
298
238
325
307
240
388
280
283
314
388
308
341
330
392
341
324
309
317
440
363
331
309
268
313
358
327
355
298
403
289
322
359
312
389
289
323
382
292
305
337
237
289
311
328
314
265
297
339
254
288
290
233
314
330
333
329
375
247
384
317
327
340
319
296
340
404
347
277
325
304
370
299
309
311
263
341
295
272
294
317
337
378
281
325
337
228
337
361
297
324
302
354
360
315
257
262
339
215
265
283
271
362
266
325
289
388
305
424
316
267
257
259
305
294
346
322
278
303
292
271
347
281
284
294
316
395
323
321
217
324
338
263
332
270
309
355
354
323
246
337
340
345
288
264
285
254
370
256
317
299
312
307
306
299
315
309
301
338
419
243
378
393
338
331
285
365
324
244
300
273
329
371
297
350
340
311
219
344
354
373
289
374
388
312
324
270
283
349
281
300
327
292
327
313
256
160
383
262
294
308
342
327
296
343
293
337
293
255
380
265
226
328
262
310
325
266
318
236
381
361
326
317
283
371
327
367
339
342
327
312
319
282
332
244
322
305
272
374
303
355
294
319
307
301
341
314
269
268
353
331
334
279
322
332
326
412
228
272
332
346
287
273
281
309
260
331
285
276
385
282
311
297
396
341
289
409
254
309
351
296
341
281
372
325
362
285
327
293
395
312
350
337
276
314
328
271
369
294
333
276
351
334
298
306
268
353
296
184
331
354
262
278
340
313
338
312
316
313
326
256
366
271
338
293
365
232
309
389
243
311
317
368
386
298
301
279
291
310
330
300
397
455
283
357
324
239
365
351
335
280
278
348
358
337
272
312
316
248
300
249
269
300
306
412
287
184
357
296
337
302
291
389
334
344
315
266
360
329
263
269
350
364
365
382
293
319
365
273
368
374
322
331
281
320
367
351
340
325
359
354
299
339
296
345
279
348
323
371
359
339
314
395
341
356
409
352
295
306
257
265
311
302
310
417
287
415
245
303
332
294
370
268
313
356
396
343
297
437
256
182
372
342
309
259
266
399
357
367
258
352
365
340
246
288
329
298
345
359
338
360
291
255
397
275
343
239
321
304
377
293
315
261
285
309
306
322
236
352
318
319
356
330
299
385
377
447
305
255
364
314
337
297
279
309
291
322
281
342
346
239
292
305
350
285
343
300
332
292
341
348
348
304
376
309
286
283
339
340
351
281
312
257
328
349
363
285
301
344
247
289
298
203
325
332
381
274
308
280
377
316
312
301
312
324
333
315
329
156
343
339
336
307
384
230
292
314
297
289
369
346
254
374
224
409
334
384
367
262
340
310
291
312
343
286
316
263
252
288
317
283
302
281
247
260
260
303
358
411
365
344
360
320
232
275
353
339
306
279
344
285
377
311
273
275
316
303
326
295
305
301
331
358
333
345
326
444
306
339
357
250
257
265
398
290
269
356
336
280
318
352
322
316
335
264
278
362
359
339
317
334
290
338
370
344
317
248
353
273
377
343
349
252
331
236
319
298
329
309
383
323
402
303
294
391
364
289
243
314
396
272
286
262
227
229
298
346
354
323
382
229
340
302
246
394
280
346
291
264
312
361
323
306
341
357
344
421
322
319
322
378
283
308
281
285
352
330
406
347
337
312
340
318
242
331
362
299
316
307
344
369
372
290
297
297
305
248
311
418
309
261
295
366
369
378
307
256
329
271
390
254
247
325
354
336
318
222
269
321
340
291
323
327
349
351
333
320
361
336
295
253
227
369
313
388
300
270
273
353
266
321
295
310
379
344
332
382
317
358
240
328
329
281
289
359
379
292
233
225
294
377
303
379
267
234
248
310
408
305
291
274
271
302
188
306
315
394
237
287
315
397
346
322
218
260
377
256
309
288
258
230
273
254
253
342
310
312
346
390
354
351
329
258
303
208
312
301
256
256
326
279
341
343
411
393
259
281
235
303
367
364
288
287
300
272
347
343
296
351
253
362
308
301
320
349
301
269
226
319
367
329
344
209
311
289
290
243
272
333
270
306
321
321
421
328
254
244
276
326
308
416
288
311
296
249
363
381
339
244
257
323
339
308
320
367
348
380
327
292
327
287
410
295
274
334
322
319
297
312
291
277
251
284
320
378
265
376
327
374
356
355
331
305
320
332
269
316
256
300
209
359
273
298
348
286
278
357
280
365
313
336
265
341
289
340
256
321
341
295
270
282
298
335
251
328
276
213
301
358
251
339
347
304
387
359
327
314
256
305
328
366
330
195
290
302
247
265
358
268
285
314
298
340
326
398
307
338
238
226
331
245
378
286
284
352
309
298
403
353
321
377
274
279
337
373
329
300
294
232
289
332
263
244
237
341
407
335
348
303
248
362
277
265
230
282
239
335
341
323
309
372
282
310
313
310
362
299
380
332
263
346
311
256
350
237
291
305
305
345
284
318
409
324
335
255
299
371
254
278
272
281
273
315
233
265
384
293
355
277
291
288
308
341
392
253
301
392
356
276
325
274
229
377
286
382
281
318
318
233
332
340
331
412
301
298
338
235
378
241
296
297
348
288
278
317
388
357
397
245
312
340
370
343
350
375
335
379
300
365
284
319
336
331
297
329
309
218
332
305
325
225
239
377
325
406
320
318
294
351
171
256
364
355
301
298
335
284
300
282
330
267
376
245
321
335
368
346
313
363
262
342
271
283
348
343
354
265
309
289
268
297
339
352
307
273
396
341
285
329
323
326
288
349
347
257
366
371
328
182
312
202
314
287
322
287
305
296
319
359
322
178
409
318
281
247
378
295
323
313
246
348
314
339
282
334
337
236
364
350
342
265
327
401
206
298
284
347
423
358
343
379
289
265
320
356
369
352
368
341
312
309
329
348
392
269
381
300
268
305
286
392
299
364
364
307
341
230
347
398
311
281
284
287
311
267
337
350
330
322
333
355
340
298
198
319
392
294
256
368
312
387
270
328
323
310
402
319
401
314
298
317
318
331
306
324
298
358
303
312
309
354
359
393
306
343
375
318
338
346
387
287
333
287
377
381
373
336
256
323
248
388
370
328
329
312
247
380
377
295
333
245
265
345
361
329
227
381
291
356
396
323
266
350
361
364
344
367
246
324
287
350
358
325
276
261
304
334
454
361
300
290
283
235
289
304
344
335
238
287
397
336
255
286
335
310
303
340
293
281
407
316
261
356
198
275
275
336
353
316
327
219
330
280
250
343
326
364
326
281
321
304
332
318
348
357
227
329
219
378
344
352
253
373
363
373
337
414
371
329
321
360
296
321
295
321
350
349
330
347
297
322
342
187
351
272
374
286
305
318
351
350
284
323
209
278
270
364
249
276
301
329
299
339
292
303
369
368
274
372
261
251
375
297
353
357
354
278
232
282
348
337
359
339
314
321
347
296
278
299
368
341
267
301
278
382
313
311
326
357
318
274
280
294
250
348
328
293
208
313
299
359
253
359
355
332
315
234
293
323
359
330
322
343
325
250
365
290
337
298
358
358
329
355
317
358
380
381
265
372
285
350
372
371
333
318
358
276
269
295
399
392
301
276
290
319
297
307
327
244
321
394
152
370
325
294
303
329
360
354
305
273
359
278
262
279
260
253
385
318
357
404
235
378
293
294
295
346
321
315
313
323
377
378
406
337
283
251
328
322
255
299
355
412
304
354
364
322
359
256
326
283
364
369
295
256
336
259
294
332
269
314
338
317
303
340
367
401
322
296
330
416
296
328
378
359
318
287
337
282
378
245
221
288
268
260
326
420
248
306
303
289
345
361
307
346
302
332
291
371
227
365
385
293
324
283
368
358
284
249
277
306
269
360
375
219
327
356
379
296
389
377
301
258
336
264
335
257
276
281
332
296
352
370
293
252
292
325
273
353
243
344
311
244
326
310
231
294
298
332
299
330
291
365
253
398
340
356
339
312
255
220
274
344
409
297
341
267
364
313
298
252
318
383
280
307
322
325
262
228
325
224
296
321
379
382
371
314
312
331
333
360
366
399
249
354
336
403
280
323
223
268
316
274
336
243
269
318
355
242
347
410
300
386
328
348
242
283
341
337
327
270
287
361
369
267
289
343
311
270
354
348
356
321
277
310
345
307
379
215
286
331
354
257
341
344
382
345
331
338
239
291
227
272
376
345
393
237
290
227
276
255
358
280
349
318
235
372
279
365
284
299
346
315
270
378
212
306
330
367
324
323
324
342
402
225
314
295
319
228
304
377
272
278
197
354
235
282
293
277
331
335
304
381
345
259
348
352
313
261
292
199
335
339
294
316
296
399
342
370
344
342
336
256
296
325
390
296
348
355
393
266
206
367
298
277
284
330
309
290
306
401
325
299
266
279
363
242
304
318
315
307
311
292
341
264
310
312
340
327
352
262
352
327
385
277
299
289
305
375
304
351
226
277
297
269
252
366
300
381
237
270
327
312
255
383
341
239
360
353
375
299
341
381
288
370
218
304
267
316
352
288
348
241
337
349
347
302
340
337
328
229
378
221
319
355
293
393
331
261
258
304
277
391
265
321
284
338
308
289
354
345
253
339
319
343
379
304
315
264
237
300
305
322
262
352
398
374
282
318
346
348
230
358
192
259
250
324
314
265
305
222
253
309
289
313
326
348
346
213
322
316
334
393
358
317
340
316
325
359
306
293
352
280
349
302
397
232
313
381
346
385
330
279
366
354
299
378
314
405
312
286
342
354
281
259
336
238
342
215
308
275
266
300
284
307
336
290
288
220
365
181
334
264
309
345
275
336
274
326
274
373
310
205
291
328
319
242
265
357
368
306
262
266
309
267
317
245
293
323
307
363
320
301
347
378
310
365
258
291
267
343
324
255
268
302
292
293
216
390
283
319
289
347
249
319
300
264
239
344
345
292
305
342
407
279
282
358
332
357
241
223
330
351
236
332
334
275
275
307
232
324
307
273
291
317
235
287
173
344
295
314
211
383
295
281
338
316
262
284
344
300
319
322
224
327
318
335
234
352
366
303
334
303
385
377
349
279
223
368
261
365
337
299
270
349
332
333
278
305
283
307
230
342
370
319
390
319
365
368
342
258
312
258
373
355
313
317
246
345
372
378
315
260
302
322
343
315
317
258
235
344
344
311
334
319
292
296
277
348
236
329
321
314
379
206
383
322
291
292
257
306
280
330
299
267
318
251
318
272
273
365
315
313
310
243
264
297
256
322
310
334
355
352
312
353
286
275
346
322
311
315
332
320
327
374
322
348
311
360
405
407
316
367
381
361
288
267
327
317
329
318
315
274
312
255
278
351
333
305
318
222
341
339
311
280
303
353
355
380
315
245
309
308
367
365
310
225
289
316
305
369
271
398
319
258
259
427
351
295
403
318
286
346
351
420
303
357
271
330
306
330
337
293
277
315
307
348
364
374
383
384
353
340
364
332
320
338
363
377
269
339
392
391
383
309
304
247
290
391
294
293
300
272
333
309
391
336
367
290
287
393
395
354
378
381
241
206
359
337
296
322
428
361
305
292
348
309
311
371
299
316
325
404
351
347
313
367
253
369
373
358
237
325
343
307
374
320
367
251
255
361
294
300
352
282
309
333
289
267
385
277
296
352
325
301
328
298
252
359
316
283
241
265
282
364
332
373
337
343
346
329
351
268
252
361
348
356
285
288
337
353
342
286
301
340
256
309
306
378
254
335
270
253
326
328
362
313
368
386
267
306
283
318
320
329
293
261
328
351
294
336
370
316
260
321
298
325
341
341
383
435
340
299
282
397
281
295
369
361
371
318
326
212
364
289
320
306
300
335
327
301
258
296
339
291
171
368
261
372
280
292
329
347
316
360
261
268
353
322
369
305
277
403
374
405
349
350
289
257
269
265
366
291
314
276
261
290
325
320
306
383
287
334
265
368
448
357
347
395
400
418
316
269
335
330
328
316
283
329
281
311
435
268
313
345
320
344
265
266
323
328
239
270
297
349
304
279
292
249
376
346
306
330
295
304
320
270
405
375
310
257
325
316
370
302
449
317
368
350
330
311
402
347
247
343
363
382
255
369
303
333
233
393
299
313
285
272
262
300
318
285
345
334
290
333
343
240
360
303
229
297
231
330
337
232
235
292
315
354
401
366
282
350
349
272
295
265
267
279
299
342
346
396
324
274
310
298
293
367
334
289
402
311
259
315
301
341
323
354
341
266
334
309
332
318
296
317
311
294
355
329
328
343
312
240
228
325
305
374
287
362
364
264
311
264
337
303
343
354
272
223
280
244
311
272
242
323
270
329
290
339
277
311
311
250
344
299
368
309
249
359
275
338
275
383
260
313
273
311
359
335
289
409
275
343
354
330
356
262
319
335
307
327
313
300
306
385
315
391
282
253
263
376
333
334
286
253
252
309
380
328
399
330
295
366
398
243
352
394
387
305
357
298
368
303
361
263
255
272
270
366
294
358
367
306
359
328
275
282
315
319
313
337
368
282
279
373
254
350
286
361
253
359
284
315
353
334
222
344
342
310
386
304
208
346
341
330
354
407
376
330
326
261
278
339
274
288
352
271
341
360
278
391
230
305
256
285
299
362
324
332
324
401
316
300
331
306
301
371
290
304
319
305
276
378
280
197
303
328
344
238
330
325
231
278
311
330
339
286
331
310
214
288
199
372
271
297
388
279
283
360
258
334
404
328
286
253
270
286
299
354
314
241
441
300
307
347
316
302
328
298
334
262
332
212
235
288
400
345
327
343
178
389
299
319
275
251
371
290
319
375
347
299
365
260
315
274
325
330
343
307
278
373
355
351
281
364
357
273
340
372
256
356
319
312
262
345
325
276
186
312
385
358
354
359
334
361
338
360
268
255
351
289
292
342
254
348
324
311
250
320
294
341
300
278
454
272
329
279
293
316
364
309
308
267
337
360
318
317
275
282
274
316
310
342
348
283
345
266
341
255
315
322
405
325
257
297
321
226
339
333
273
327
355
347
277
353
286
257
350
352
343
246
313
301
239
265
248
252
396
327
313
298
266
258
281
389
351
303
299
322
358
333
401
307
316
276
356
324
312
322
260
321
290
418
331
256
420
362
380
289
303
303
398
370
328
222
254
338
266
254
316
288
282
306
275
340
315
324
265
324
353
334
290
318
367
403
361
271
282
348
377
354
337
301
340
258
338
253
405
305
248
290
277
384
375
326
309
399
303
332
253
253
379
380
324
352
323
240
306
330
322
219
298
266
284
338
314
356
235
314
351
354
394
256
285
356
389
309
338
334
197
329
324
366
311
361
396
344
268
264
315
348
291
374
348
414
349
358
331
399
396
296
332
256
362
218
330
307
337
263
306
355
370
311
271
331
378
200
370
297
315
310
303
396
335
314
285
250
299
285
297
355
343
232
355
283
313
330
309
313
291
278
393
372
365
280
278
283
283
332
289
264
372
308
301
340
263
317
381
251
308
329
223
309
318
410
323
318
383
357
357
275
269
306
290
407
392
314
359
273
360
362
257
255
297
347
338
256
244
323
279
354
281
308
346
323
308
328
356
291
328
250
335
219
245
292
299
255
259
303
305
307
344
346
220
384
376
351
285
260
350
276
323
292
326
302
331
234
321
373
290
265
275
330
272
421
308
325
289
294
369
411
415
329
340
377
328
367
316
344
351
347
298
312
408
385
369
315
274
251
344
319
359
360
313
266
379
293
375
328
368
341
353
254
309
259
369
324
327
346
265
300
373
295
255
305
323
292
339
373
339
274
204
253
293
415
323
337
283
370
351
283
285
318
315
290
307
292
312
332
324
338
244
241
358
325
296
274
282
338
315
269
371
342
231
293
269
348
317
343
246
323
317
289
345
393
273
258
265
339
308
308
335
297
330
366
252
329
280
270
296
300
345
304
299
371
230
335
303
263
378
288
326
342
267
338
256
320
323
328
246
308
339
274
305
274
271
323
293
359
313
268
368
304
311
370
256
379
310
404
358
325
327
331
323
336
379
324
353
336
322
278
249
323
314
347
320
283
362
327
305
316
323
321
318
270
322
203
327
373
324
370
323
313
296
319
298
273
293
320
188
297
273
362
308
347
253
357
260
310
280
334
310
374
389
269
372
263
329
305
375
378
406
344
345
342
363
272
320
387
263
340
268
332
293
316
329
309
334
284
291
277
307
345
364
345
324
309
326
271
192
407
314
257
214
309
285
288
407
336
315
369
328
299
335
390
300
339
368
285
368
301
367
347
390
343
301
293
337
374
282
328
392
275
380
350
250
305
308
272
262
426
394
341
327
357
235
324
334
343
326
352
308
361
256
340
365
317
336
433
341
324
344
294
291
279
367
243
296
361
385
274
387
229
353
310
297
306
360
259
271
381
286
241
174
346
370
257
308
395
310
380
253
264
325
338
320
288
332
365
304
286
342
350
344
309
352
265
321
390
171
290
321
340
324
325
291
238
255
388
268
339
283
366
255
297
346
247
347
275
215
374
327
257
304
290
287
385
268
287
376
291
315
345
266
331
377
365
238
273
342
321
271
287
320
340
307
281
263
303
345
337
359
264
307
303
323
271
324
334
343
234
385
323
312
311
309
310
313
239
347
234
347
283
241
274
335
306
321
337
274
313
303
319
368
331
312
310
350
377
340
290
356
283
261
290
306
317
265
333
256
353
399
346
362
348
336
344
318
378
360
320
168
409
329
359
263
302
314
390
344
307
291
321
323
261
315
357
342
328
282
318
374
310
287
331
273
330
333
344
376
359
368
370
305
373
370
381
383
315
341
334
315
366
331
334
189
294
304
312
305
252
319
270
320
236
300
301
379
337
296
349
332
312
335
230
344
319
326
283
312
385
387
336
401
361
315
289
296
283
302
251
350
301
259
287
320
316
363
302
309
356
347
302
325
321
402
327
273
363
321
275
332
450
400
366
270
319
256
314
369
304
219
317
272
331
295
333
225
300
347
394
273
324
339
373
291
357
413
286
250
171
313
315
355
291
340
250
226
350
295
308
342
303
325
293
321
351
260
234
283
258
390
360
343
310
244
447
361
353
290
268
365
313
330
368
319
227
318
322
356
352
233
397
290
322
217
312
342
395
317
350
286
306
334
372
326
368
322
322
311
221
336
329
375
345
363
337
354
255
447
372
230
275
279
306
385
351
377
332
346
319
283
324
307
419
300
346
376
276
333
287
305
334
261
318
323
303
325
251
355
307
250
373
325
306
279
297
319
350
330
352
326
328
292
395
253
246
331
324
329
259
306
216
304
227
275
287
348
339
345
282
398
316
340
314
295
324
281
287
326
314
378
322
333
371
244
329
350
265
297
294
344
241
227
376
351
401
335
317
316
273
352
331
353
337
379
368
364
348
278
257
340
247
329
356
367
340
311
321
340
315
349
291
384
362
316
163
357
360
368
323
271
420
228
276
290
339
304
322
361
339
285
285
294
316
379
295
345
214
277
332
288
277
344
374
356
407
318
232
227
413
364
400
310
362
314
316
347
350
391
243
308
348
321
303
373
288
385
290
280
393
325
297
287
284
286
228
253
294
359
264
226
335
311
254
403
247
387
358
404
413
285
339
311
312
345
300
236
326
328
256
367
350
370
285
307
327
269
260
373
308
345
300
296
379
326
318
381
277
287
288
391
267
240
305
339
313
386
342
369
327
378
311
307
370
312
338
319
356
397
353
323
311
304
370
356
347
313
252
353
365
382
314
372
303
302
318
373
268
301
321
310
352
316
310
341
307
313
348
333
331
358
321
339
326
358
305
383
357
265
335
461
398
387
292
246
287
305
193
307
306
144
317
245
257
324
328
365
242
345
290
182
300
294
325
260
339
329
318
287
314
259
396
308
350
369
286
290
371
358
376
357
370
289
357
274
392
267
316
216
295
235
265
358
365
327
385
327
378
313
369
358
226
263
320
285
342
382
404
359
343
238
280
206
310
396
309
369
357
334
270
310
341
343
351
331
323
306
335
281
249
308
347
320
410
307
285
343
281
243
255
261
381
361
297
279
257
321
349
197
292
237
270
343
326
313
303
269
336
279
324
304
313
376
364
283
308
347
318
320
300
260
331
380
328
259
279
307
288
360
253
263
332
256
278
275
323
274
295
344
325
326
349
304
314
213
262
356
322
311
322
334
279
332
223
284
355
315
283
315
304
289
397
302
371
301
369
348
347
353
301
301
340
361
328
306
360
326
274
306
263
275
272
363
329
333
330
345
369
368
301
283
257
311
220
358
318
304
380
376
248
339
318
218
359
335
332
274
274
338
369
306
342
359
372
352
274
363
242
311
258
226
269
306
347
371
316
272
349
349
317
342
311
262
334
318
350
384
304
461
321
349
350
356
245
309
363
298
327
284
395
250
221
363
344
240
316
303
298
321
346
330
315
273
372
418
371
376
354
252
242
283
274
257
322
267
368
230
282
279
344
294
285
349
287
244
303
200
413
303
297
376
274
351
335
397
374
322
333
300
378
393
360
364
338
406
272
259
267
339
161
238
367
310
309
284
272
296
262
309
342
313
299
243
399
412
377
244
329
276
381
245
409
297
267
370
348
283
348
301
302
409
304
261
342
344
317
309
332
272
336
287
288
204
374
328
390
301
309
323
353
247
340
378
281
407
337
260
374
252
306
280
361
253
288
281
219
296
292
323
267
297
327
320
249
329
259
334
310
274
259
365
344
342
310
275
305
327
295
342
402
301
298
296
305
354
250
317
395
341
348
371
232
297
259
285
185
247
260
336
264
299
291
373
352
203
311
375
287
360
357
307
334
368
312
352
341
339
203
364
374
270
365
351
347
362
239
342
360
382
354
297
380
278
284
380
313
361
304
306
326
238
331
299
463
284
279
277
321
364
295
312
307
339
282
331
254
266
392
369
382
301
343
367
348
330
356
376
350
400
333
324
405
306
297
345
317
303
191
225
247
332
340
315
372
288
277
356
360
372
305
353
338
304
277
316
320
321
354
357
235
295
320
218
292
293
347
312
321
294
340
302
256
290
269
328
334
284
280
309
358
332
353
258
335
277
359
281
215
297
313
344
266
337
318
288
319
404
272
336
312
338
367
301
232
375
301
375
355
367
346
317
260
305
224
267
280
302
332
371
296
316
362
333
353
328
322
291
317
361
338
334
336
332
315
266
323
266
322
361
355
360
347
392
290
287
282
266
360
259
307
176
347
322
254
248
296
366
354
305
279
391
366
306
354
309
262
285
321
336
257
258
279
286
408
268
295
218
325
397
263
278
398
325
273
315
321
311
341
361
272
352
282
376
278
275
344
231
314
234
271
225
284
305
316
343
326
350
338
320
366
297
323
308
355
302
346
224
285
324
264
283
353
264
305
356
357
334
291
313
313
317
323
283
300
225
218
319
256
307
316
242
303
335
316
225
270
431
433
191
307
316
267
363
304
337
289
351
307
296
341
261
206
355
295
327
272
328
333
303
331
335
270
314
308
340
261
351
330
294
307
287
379
223
346
284
336
339
359
260
313
287
351
335
305
325
278
325
304
332
366
238
305
356
316
309
374
317
245
273
217
269
229
251
329
339
339
320
297
360
359
387
294
346
278
300
312
397
218
386
321
322
244
307
297
276
343
301
336
354
339
388
280
312
409
299
366
344
250
350
304
315
338
334
269
293
288
308
303
339
278
351
320
388
300
386
348
325
338
301
288
242
243
384
332
269
288
280
323
251
328
293
297
463
346
360
255
341
417
288
293
288
323
266
302
348
271
340
321
362
307
292
246
308
266
354
344
297
310
251
320
296
244
347
267
362
320
351
382
259
319
380
341
324
344
401
259
355
350
322
281
277
344
342
262
233
349
332
348
328
294
293
289
265
366
341
283
275
303
341
386
325
283
353
278
303
370
363
336
321
324
294
335
298
294
254
248
287
309
289
320
311
294
243
278
373
321
289
318
373
404
396
371
329
329
269
326
250
383
302
357
278
384
316
341
333
339
277
310
322
356
338
387
348
362
308
264
343
270
358
269
259
355
233
313
319
342
336
400
262
274
321
388
286
295
299
327
359
326
253
275
275
281
240
265
346
293
297
366
207
362
236
284
302
261
324
295
363
320
318
329
404
302
261
353
445
325
398
299
222
227
212
317
228
345
398
288
329
350
272
341
253
319
222
339
242
317
279
332
349
357
316
336
305
330
291
374
372
273
295
282
296
298
344
343
255
301
267
352
289
315
261
243
307
373
301
359
283
308
336
303
309
260
326
294
373
252
288
334
274
279
295
356
285
307
407
372
301
291
318
317
347
275
343
350
378
306
295
316
301
314
350
313
292
425
378
314
281
293
356
316
283
277
273
222
322
249
315
294
328
370
331
316
288
388
403
399
302
358
305
347
379
344
354
326
320
285
405
284
289
324
339
268
268
330
321
270
224
237
209
336
283
357
351
257
262
373
291
316
306
271
304
278
253
328
384
332
308
276
263
319
221
314
381
376
341
266
363
257
345
290
269
328
334
333
343
226
319
328
322
312
286
264
254
265
400
293
326
332
338
275
305
249
341
421
279
381
340
282
342
294
280
316
349
354
305
250
336
317
304
329
287
289
222
214
338
311
255
343
361
356
346
341
324
355
214
280
322
310
339
284
350
310
305
225
335
288
294
324
283
390
262
353
334
354
354
238
357
256
297
329
374
309
325
304
330
343
288
298
333
362
299
283
374
238
253
316
351
354
324
368
357
278
385
330
320
296
338
314
288
292
313
301
374
337
267
405
396
387
362
355
352
429
280
372
410
275
324
356
331
249
362
401
320
341
379
295
403
343
326
268
345
346
170
355
246
283
285
231
269
342
373
272
290
354
297
297
304
332
343
328
298
403
344
227
287
317
462
329
290
392
297
316
322
271
303
253
358
351
356
311
350
329
207
356
405
358
254
336
243
286
279
326
293
321
404
354
200
282
336
267
318
259
324
357
328
214
300
343
337
284
277
278
298
360
378
393
307
339
285
290
344
278
247
316
359
346
320
348
290
200
373
301
357
276
357
309
383
255
294
307
260
216
317
287
301
344
300
267
361
254
261
321
269
426
310
309
373
369
306
282
343
377
272
352
293
281
241
370
306
264
356
194
436
292
316
300
275
300
369
313
273
319
354
360
305
344
329
308
286
343
384
256
314
342
366
285
271
332
361
298
292
225
309
329
269
359
307
363
344
374
325
275
316
371
370
344
336
243
364
289
327
306
383
276
328
383
353
296
298
357
298
287
287
357
357
343
289
355
280
315
239
269
347
256
285
254
381
315
364
313
340
357
311
291
231
278
382
365
376
268
252
340
291
265
283
322
325
243
343
327
342
283
415
316
332
376
339
187
274
329
345
334
312
303
337
308
347
314
427
316
346
359
387
308
312
329
279
309
244
309
382
296
233
279
385
253
331
374
359
226
356
355
287
311
282
343
339
380
305
331
255
350
277
277
232
317
331
355
340
238
371
383
272
267
313
335
335
329
308
324
317
247
344
306
262
306
333
237
377
352
293
254
309
248
330
291
316
271
335
253
292
331
321
286
340
277
319
392
384
300
378
383
361
290
338
372
258
285
317
307
283
410
333
302
369
274
304
324
343
217
361
261
250
272
307
333
328
302
253
321
308
353
299
299
234
316
287
435
381
286
293
339
417
284
312
244
288
302
292
335
344
303
249
296
302
249
265
330
296
318
279
353
318
442
267
323
298
343
321
298
326
344
328
311
290
294
317
281
385
297
284
274
336
243
339
322
270
311
332
275
277
287
206
292
286
311
270
341
366
308
309
332
264
205
385
266
299
360
367
307
360
389
257
238
344
281
406
300
314
300
363
208
377
379
310
339
273
351
322
287
227
360
296
308
290
276
334
339
234
339
332
242
294
257
307
269
339
340
264
291
321
323
290
307
255
318
356
284
362
330
274
347
313
306
319
287
291
251
336
227
293
299
315
324
301
323
369
335
344
289
262
364
250
264
256
384
360
264
325
347
265
345
322
345
355
258
310
382
278
418
291
394
311
361
292
358
340
276
399
363
337
246
307
314
286
296
369
348
369
368
383
324
345
265
269
219
211
255
306
329
394
316
358
260
297
374
429
355
315
307
337
345
355
310
360
343
312
365
293
312
271
310
351
302
254
299
244
328
345
357
350
321
365
375
260
261
338
374
298
325
384
374
256
342
332
294
342
314
218
342
374
354
353
273
297
370
297
381
340
358
243
299
414
247
264
294
347
332
331
331
272
361
256
228
262
272
215
377
314
291
295
347
298
244
250
319
333
238
285
295
356
302
364
257
288
271
321
300
297
336
273
340
345
245
360
315
336
319
398
284
366
263
310
273
290
322
273
331
298
280
364
328
248
338
380
304
320
320
302
299
296
381
255
313
251
373
339
337
370
338
308
403
320
393
328
320
345
228
326
327
257
278
277
346
275
322
350
246
261
303
193
282
305
256
319
351
398
243
351
312
305
290
367
278
293
313
288
270
424
330
295
369
308
326
298
337
221
373
355
356
263
352
301
291
309
370
282
353
309
366
323
309
317
327
286
348
292
379
330
401
333
315
340
307
302
381
352
307
256
309
355
301
317
272
276
229
278
330
320
200
367
328
311
245
309
313
306
356
305
321
326
306
261
291
312
325
235
356
314
410
331
345
355
367
428
356
400
323
337
290
292
342
329
356
324
265
332
261
270
309
322
365
333
275
341
293
338
331
344
240
357
292
336
350
379
271
303
267
298
337
301
386
259
353
307
201
312
203
286
357
325
229
339
302
241
293
363
320
241
336
294
320
361
328
319
382
267
256
309
343
287
309
337
286
272
330
394
294
311
332
337
276
323
312
299
282
292
369
254
244
282
312
307
408
314
419
365
299
352
256
289
296
267
343
303
332
316
242
388
308
251
352
305
300
433
268
389
291
258
369
351
264
382
289
434
342
319
251
332
394
338
311
387
217
353
305
292
378
322
380
432
363
263
331
349
331
307
353
335
237
373
365
244
337
309
312
236
286
351
379
320
300
238
256
349
311
246
333
262
300
327
272
261
287
386
374
353
331
324
355
319
300
314
386
289
323
283
314
304
388
318
329
372
289
276
361
353
359
307
328
269
315
261
347
272
366
275
253
339
263
291
301
293
382
323
295
266
258
333
335
319
358
326
311
328
294
358
283
319
254
290
318
362
364
237
424
323
264
372
282
314
264
325
333
370
374
255
385
213
337
380
314
276
417
280
321
372
327
283
288
323
316
365
322
348
208
342
379
255
343
207
373
231
282
380
378
281
327
336
320
326
284
308
296
319
329
306
432
294
218
300
385
388
326
342
361
338
275
338
297
204
265
288
359
393
222
337
423
255
317
341
276
276
259
267
312
244
294
225
348
355
328
299
263
248
319
343
319
284
317
231
294
292
328
328
331
303
333
329
365
314
368
310
335
400
330
345
244
266
341
373
356
334
347
291
286
296
330
295
358
333
257
285
375
364
225
391
256
372
324
277
352
318
319
328
332
262
263
378
332
318
246
329
316
298
392
303
236
299
286
314
263
366
324
303
360
294
335
313
352
350
262
304
362
314
284
262
275
391
360
235
384
255
383
350
334
290
379
221
278
305
374
353
308
303
395
338
352
258
302
260
304
352
270
298
263
319
324
366
297
292
304
288
303
336
390
288
362
260
302
290
378
273
351
347
286
387
357
339
254
382
230
318
409
332
244
363
347
236
360
323
227
326
330
280
386
248
327
359
334
401
340
320
310
367
367
388
320
333
326
333
275
378
349
362
322
297
288
341
271
346
252
292
303
234
302
335
361
318
295
320
343
234
329
259
305
276
287
280
374
314
353
263
291
366
303
283
327
318
301
350
382
311
333
389
310
294
246
394
335
334
291
392
322
339
299
304
378
240
367
348
326
285
292
311
218
302
328
348
346
297
364
240
283
314
371
236
278
299
358
351
344
334
294
315
308
330
338
313
418
281
291
371
388
296
284
356
285
289
344
361
312
365
211
337
286
282
322
288
307
326
277
337
257
289
304
390
243
286
287
205
328
359
290
338
328
292
332
321
239
298
316
272
312
297
308
343
373
339
320
289
288
248
364
337
305
290
377
373
284
377
400
345
311
352
270
311
324
293
352
230
317
303
313
312
324
318
328
310
241
260
345
334
388
272
299
280
251
340
270
322
353
352
243
378
309
346
258
283
244
247
393
341
322
288
339
297
299
311
343
311
296
274
257
205
314
284
359
291
234
368
347
379
380
351
397
320
337
265
271
238
318
323
318
304
308
297
343
351
290
348
305
288
302
294
302
315
360
328
355
274
283
322
390
257
292
404
244
324
372
255
327
250
271
335
296
377
315
328
348
389
377
344
391
296
362
304
303
295
275
223
370
262
254
273
294
327
382
307
230
294
320
363
338
404
289
329
361
322
309
338
356
354
382
339
334
391
347
331
323
329
246
421
347
341
347
285
287
347
311
264
344
286
312
341
289
345
233
321
305
299
298
332
307
319
326
357
289
287
305
387
311
354
277
309
261
414
363
226
335
358
293
363
332
330
273
328
248
250
285
244
302
276
404
369
346
290
313
342
359
323
221
287
321
250
338
309
322
277
335
355
294
315
341
346
349
293
348
313
270
321
295
295
299
268
368
344
346
307
268
300
307
306
285
346
315
322
266
348
387
266
324
376
287
332
285
395
266
272
224
342
368
346
290
358
265
287
304
320
372
264
326
221
272
304
257
275
380
340
316
330
351
376
316
302
308
346
299
307
311
312
306
348
334
295
367
311
268
349
333
278
282
238
374
289
292
335
290
372
311
341
377
311
276
239
322
353
351
333
340
354
292
293
265
335
179
293
364
274
335
337
289
313
325
362
306
271
245
298
332
344
348
373
324
326
362
240
348
281
354
263
292
304
297
268
308
273
329
294
263
303
335
247
266
279
333
305
316
255
215
276
342
372
335
336
286
307
286
293
344
257
278
369
325
238
345
338
314
354
278
295
242
274
272
376
333
330
206
338
272
320
317
315
278
341
307
322
391
266
278
303
310
272
362
266
243
357
283
370
298
290
357
273
413
279
289
245
331
288
337
351
277
252
310
353
361
308
245
270
277
356
333
280
356
347
362
383
321
321
262
311
373
298
238
283
305
405
344
271
225
331
304
281
344
304
310
305
289
280
237
317
321
373
354
256
299
334
354
264
335
261
356
254
193
312
293
311
250
275
311
364
302
374
329
360
277
308
276
339
349
278
263
306
350
264
362
318
352
340
315
283
368
348
355
336
283
219
373
289
305
323
305
338
257
373
282
323
267
371
344
267
313
309
297
303
292
202
274
417
338
285
281
272
302
342
314
262
294
322
366
286
365
406
343
393
305
310
245
266
304
295
357
275
314
236
223
305
378
312
359
346
197
269
344
331
341
293
293
323
335
350
322
336
305
311
335
343
246
232
411
287
207
373
262
292
330
385
293
363
418
293
273
274
310
240
305
391
299
335
373
281
353
308
353
314
336
314
291
287
293
274
291
303
258
393
263
331
261
234
237
324
322
344
347
355
392
357
313
248
339
326
301
257
310
369
336
360
337
376
300
397
280
305
355
381
283
389
270
209
249
250
312
271
386
307
331
274
382
271
328
338
358
368
329
353
354
262
293
385
371
342
305
244
328
315
340
341
227
224
326
278
283
298
349
345
360
324
282
324
295
337
317
269
323
310
357
274
351
357
212
220
357
238
387
261
412
215
417
275
417
280
332
370
349
385
295
309
316
267
329
253
330
326
323
281
329
244
363
285
311
315
336
348
262
315
299
294
303
311
356
356
320
315
339
310
352
270
396
306
296
384
249
281
288
206
347
355
273
311
269
352
253
348
364
320
283
411
289
284
397
321
272
327
284
409
335
322
332
318
339
312
362
324
290
249
375
305
326
242
374
297
376
376
293
254
321
328
300
242
290
307
235
331
355
259
382
352
396
309
353
306
360
347
311
284
285
357
338
356
323
254
253
274
225
316
322
252
284
307
336
341
234
249
358
259
305
327
376
313
317
310
291
374
270
378
382
328
269
307
359
293
209
310
325
320
347
291
296
311
315
163
326
321
353
298
294
275
403
303
392
340
345
383
332
254
312
303
330
314
265
338
377
330
243
325
247
341
296
247
252
359
339
378
267
318
303
315
265
296
314
331
304
261
301
324
356
345
288
388
311
221
321
339
295
270
325
350
268
338
278
250
350
280
323
201
260
270
369
257
318
294
348
303
278
261
343
292
286
351
309
307
275
322
199
302
280
332
293
341
269
360
293
200
347
269
259
195
341
325
364
385
257
290
348
347
326
288
337
313
298
274
356
262
382
314
327
267
300
331
301
376
331
359
183
312
259
341
290
316
335
318
316
385
281
289
336
282
267
376
417
189
389
338
244
290
316
296
281
316
289
252
339
222
267
366
307
311
344
323
286
271
224
313
293
292
238
321
346
336
335
340
320
376
334
314
383
212
297
299
329
232
338
377
356
322
283
239
398
280
305
265
363
364
318
335
429
407
273
394
359
258
289
313
273
238
306
300
339
161
400
339
384
277
296
356
313
288
337
303
293
241
309
295
309
301
356
330
400
223
281
290
338
282
339
321
278
336
330
359
296
409
253
294
341
245
288
314
335
291
321
335
185
250
350
357
369
389
320
284
284
297
278
357
390
255
333
274
218
284
328
316
196
378
277
264
394
359
264
270
269
296
336
322
272
292
285
314
287
282
384
322
318
314
266
304
364
349
240
337
350
310
400
377
361
331
325
295
346
258
326
187
390
299
253
263
324
401
323
354
391
297
279
290
357
302
400
258
276
330
257
318
300
296
363
387
301
395
283
325
323
340
275
313
272
320
271
221
350
340
296
266
307
343
250
380
317
273
292
248
250
300
307
271
361
299
296
295
348
385
268
308
321
350
354
302
379
219
274
354
377
353
398
282
376
245
363
265
235
279
348
324
320
323
330
254
354
223
269
213
254
331
339
281
376
256
325
282
298
264
313
367
431
267
338
243
432
293
302
313
336
261
341
324
309
269
278
299
355
311
318
301
357
298
310
281
328
359
280
366
256
306
305
298
273
270
320
239
326
339
352
302
300
403
303
282
341
329
350
346
290
245
316
312
267
261
347
260
298
308
323
356
326
298
314
201
355
299
292
342
332
292
369
236
413
302
344
375
354
310
324
244
323
324
207
369
399
323
368
324
290
298
264
332
326
245
282
307
322
337
296
297
329
317
328
337
302
308
287
318
331
250
299
361
300
298
365
292
361
295
346
308
345
294
329
348
304
327
412
393
322
300
211
355
310
323
277
347
308
287
296
324
389
349
285
325
329
315
386
296
275
270
281
250
275
314
284
306
289
297
274
257
255
248
272
356
372
256
298
325
284
285
247
301
372
288
391
297
319
320
251
326
252
314
335
328
384
341
245
248
300
300
291
383
309
338
296
326
215
375
315
295
308
355
324
357
257
246
245
209
344
344
345
336
336
300
339
306
356
250
340
237
234
339
342
223
365
249
290
239
344
300
324
285
293
297
381
290
376
296
390
263
217
275
355
298
346
293
264
364
330
292
312
358
389
350
290
304
289
244
363
323
367
345
337
266
279
249
337
268
268
333
402
244
296
337
309
312
385
217
331
306
308
366
302
363
360
321
214
317
371
279
281
313
236
262
343
311
296
272
252
361
342
243
328
335
371
240
322
358
330
379
313
295
366
342
239
242
374
295
334
244
356
302
342
223
362
227
262
271
300
299
314
334
234
296
237
234
340
294
280
287
226
327
393
284
358
328
341
345
340
320
357
289
293
284
346
311
302
241
377
288
223
298
341
327
315
315
281
287
345
270
349
313
384
340
301
307
319
268
373
367
233
330
288
346
275
239
329
278
287
301
258
323
282
314
283
303
292
322
359
293
363
312
313
355
329
350
300
306
303
298
306
295
445
370
293
318
272
319
318
304
303
348
332
295
285
378
354
318
282
335
385
309
356
229
329
402
396
350
371
324
385
348
361
360
313
370
270
365
384
348
272
344
323
341
301
376
287
311
265
337
289
355
264
358
296
317
377
205
319
350
282
272
381
330
284
311
314
335
226
353
306
236
339
341
369
286
185
331
343
320
291
321
332
313
312
316
325
368
314
304
283
300
330
369
308
317
281
269
374
349
280
271
343
323
299
323
385
250
298
303
301
263
359
225
350
296
274
218
316
329
317
263
328
296
292
391
294
334
324
389
353
323
345
344
402
304
282
298
377
279
287
243
290
250
288
333
252
406
361
301
286
302
328
320
338
368
303
256
268
268
303
346
410
322
323
339
397
354
334
346
296
395
297
361
250
255
322
288
264
374
303
353
293
266
233
326
457
354
197
279
334
321
285
254
342
280
289
295
326
329
337
210
314
302
273
251
311
361
312
325
390
191
354
324
323
392
332
321
301
414
278
287
339
318
390
295
321
345
303
294
243
391
291
333
259
353
335
339
296
301
348
284
353
313
376
324
237
207
353
343
304
347
272
391
362
251
251
433
287
270
358
300
327
350
283
281
346
310
243
418
261
285
274
242
250
311
285
320
392
338
289
358
275
307
320
346
327
369
280
353
357
375
273
280
437
296
229
251
270
252
378
317
257
329
276
341
278
343
303
318
300
295
214
320
341
257
358
251
392
365
323
243
322
361
313
371
349
434
305
317
301
325
315
338
386
294
230
343
332
296
301
358
345
348
272
296
266
320
330
309
356
276
243
258
350
344
276
272
251
275
326
354
302
343
290
386
346
301
304
293
266
282
264
310
318
267
273
268
400
353
348
242
264
369
341
318
331
287
315
325
356
301
248
299
287
330
224
251
333
379
276
306
279
314
283
372
279
322
291
307
249
306
338
326
402
401
383
401
400
356
380
338
315
266
345
322
328
314
344
238
290
283
279
296
285
461
303
343
326
242
288
310
385
285
318
261
280
250
335
345
349
346
285
407
376
351
265
343
417
255
309
399
277
382
268
271
393
298
335
379
247
223
331
384
357
318
330
314
282
344
340
306
232
378
331
315
324
301
168
373
359
275
326
323
270
297
315
238
267
302
366
366
366
300
351
323
333
333
328
287
321
331
298
258
344
337
344
306
396
270
352
250
377
383
375
324
316
259
372
348
268
283
306
346
324
263
329
285
330
294
329
290
284
301
370
347
293
292
289
321
237
275
381
284
366
315
324
342
274
277
264
390
363
220
369
327
289
365
294
252
232
387
252
222
321
383
311
317
373
286
306
345
283
313
331
307
285
368
363
385
238
276
303
285
305
321
333
388
285
279
340
333
227
337
350
309
312
315
375
295
335
347
385
303
392
330
339
310
321
336
317
265
286
305
345
322
287
294
250
235
289
201
361
386
259
395
270
282
268
241
344
293
218
330
327
281
335
329
203
310
342
275
310
288
389
330
267
289
346
348
315
358
376
368
293
341
259
363
347
355
278
270
370
397
346
358
256
268
293
359
373
303
284
225
243
306
331
350
331
299
257
240
310
428
300
362
333
334
392
328
195
308
372
348
313
278
379
409
317
309
282
301
315
345
362
321
322
304
322
315
365
263
275
246
308
276
314
248
300
367
381
355
403
303
332
312
294
338
354
328
274
356
364
270
410
401
344
322
347
244
321
379
243
400
330
283
303
343
257
264
299
319
361
335
247
344
395
345
303
289
317
322
269
416
255
284
217
254
240
251
337
269
361
294
314
304
303
307
400
288
393
311
286
380
311
343
357
335
315
336
282
309
270
362
217
220
319
290
308
305
398
373
369
298
345
331
354
338
275
281
331
282
312
340
329
241
320
305
350
361
274
206
274
337
339
350
241
317
339
343
213
272
309
251
372
323
346
274
298
314
313
283
350
304
319
330
352
336
352
286
344
326
303
364
312
294
319
413
367
287
260
217
360
289
329
253
306
208
373
244
286
375
338
334
353
296
339
235
231
353
287
265
278
304
369
354
384
347
247
279
281
327
359
276
228
273
248
267
348
325
353
268
352
358
293
332
267
309
327
299
282
258
303
322
368
330
313
309
327
357
351
276
276
286
371
305
388
296
357
386
315
351
305
244
315
350
236
356
286
282
324
312
336
309
318
299
320
304
350
302
229
356
295
250
264
327
315
321
272
320
288
403
224
357
332
318
325
235
413
299
309
344
229
284
333
247
305
309
292
386
321
308
303
289
269
330
355
261
365
270
246
343
330
307
345
244
277
330
282
235
348
362
259
383
319
270
244
309
342
369
331
328
290
378
370
265
363
303
333
363
369
314
306
261
304
256
350
328
355
300
309
376
344
290
261
312
391
250
336
298
386
259
336
233
356
387
391
360
344
267
257
305
318
296
300
318
317
291
304
285
271
337
319
343
284
364
307
298
375
333
363
326
303
292
328
275
341
283
332
356
326
230
261
273
309
354
239
362
289
342
287
288
307
270
261
288
177
298
302
291
338
235
302
332
256
387
376
316
297
353
325
320
343
346
363
288
195
274
325
287
313
358
264
363
339
259
412
374
367
370
333
331
257
340
346
292
313
292
357
308
310
368
254
328
254
310
351
343
322
270
403
354
374
302
282
280
354
284
304
290
348
330
359
325
294
343
291
330
298
415
287
348
305
317
349
410
323
343
276
363
364
413
336
290
419
365
231
347
263
310
328
336
282
336
331
307
282
226
355
325
354
384
343
334
309
343
354
186
371
380
321
361
349
325
349
322
339
376
330
308
288
361
291
284
315
314
210
295
365
253
299
286
334
381
327
323
398
415
310
394
349
298
394
309
252
310
285
367
348
357
296
292
314
328
344
371
328
348
317
327
291
287
350
316
334
360
264
294
306
279
270
352
283
256
172
260
264
326
328
336
353
310
276
325
391
341
331
232
303
293
336
337
378
395
337
314
269
225
270
310
314
356
275
271
289
316
209
292
228
315
246
333
367
397
419
244
297
310
288
313
364
358
384
354
308
318
332
270
311
346
299
357
291
314
350
350
332
350
281
337
283
330
298
298
309
233
318
256
345
289
393
265
345
313
319
413
309
327
311
342
249
254
249
226
218
373
310
339
318
326
281
394
275
317
270
306
414
359
330
317
381
297
331
296
367
377
377
258
318
293
211
289
421
318
328
364
427
366
362
314
265
310
248
400
313
336
360
349
244
302
356
351
328
269
339
310
297
333
331
404
308
391
348
363
298
289
314
327
346
342
338
387
322
324
315
303
347
369
389
338
284
270
288
334
312
198
307
281
331
302
303
229
325
365
401
299
334
300
330
300
304
294
285
358
358
291
330
334
245
216
235
297
321
299
248
201
336
299
327
256
324
375
342
340
338
349
312
244
348
360
321
326
241
324
361
375
302
326
290
321
322
298
309
290
208
274
354
270
330
280
375
328
318
341
294
311
231
366
307
315
283
299
372
383
325
302
373
326
267
296
311
309
350
217
413
320
304
329
260
370
269
287
273
334
301
328
342
315
357
270
356
377
265
259
362
321
304
307
403
281
314
264
367
336
334
278
318
306
287
370
398
268
280
283
348
297
283
216
303
300
302
267
258
347
261
309
383
376
348
328
318
362
261
244
313
323
244
365
251
316
274
286
351
288
389
347
365
354
349
207
330
274
290
254
322
320
305
386
331
339
274
282
254
295
346
386
299
317
301
211
240
313
251
295
312
303
205
311
337
307
320
334
330
324
365
293
328
338
299
329
331
244
310
234
298
249
332
287
269
270
273
343
283
312
310
307
261
321
428
367
345
342
315
371
304
344
362
316
321
351
251
380
313
283
331
341
299
277
429
311
321
228
312
275
322
407
286
357
281
316
247
259
319
239
322
353
261
244
238
305
313
436
257
263
290
350
308
252
281
297
324
322
307
367
305
319
327
390
268
277
311
342
323
374
326
298
238
374
258
337
354
287
332
346
281
376
321
363
243
261
325
311
222
359
289
317
293
290
293
319
344
168
320
381
313
376
389
323
342
384
342
326
281
247
356
266
301
340
411
195
338
289
366
338
311
352
324
265
280
355
294
368
366
315
342
310
378
336
364
385
359
305
287
296
266
353
305
352
283
324
336
308
246
220
296
299
273
277
264
277
225
369
322
274
302
331
372
386
326
341
370
299
326
333
362
281
348
309
377
312
343
349
328
349
298
317
353
272
357
220
319
407
247
349
364
320
329
261
336
219
335
269
348
336
350
298
363
375
332
359
325
266
359
360
251
295
242
241
339
335
389
329
325
336
352
250
326
355
340
260
367
343
315
286
334
250
281
343
338
326
332
403
282
262
341
293
298
305
283
342
341
323
427
296
256
337
339
282
304
293
259
348
386
291
402
317
338
367
282
357
302
312
227
290
368
285
324
383
310
309
350
389
352
307
313
337
322
269
342
285
390
374
287
319
361
358
347
267
342
334
330
306
345
361
293
312
344
320
357
339
357
424
311
314
405
344
340
330
278
336
316
371
229
285
370
353
362
322
367
314
396
318
321
293
328
291
288
313
301
291
313
331
350
299
311
343
362
314
362
301
332
244
369
298
343
310
306
351
408
320
325
311
344
266
346
282
307
322
288
372
310
348
379
311
268
386
228
291
374
332
294
271
282
216
320
288
364
370
352
277
275
286
336
304
265
312
294
340
288
376
269
295
336
373
329
273
302
257
283
271
328
288
308
309
273
282
334
352
278
394
410
260
257
347
349
305
378
351
291
332
334
256
247
300
302
214
365
341
332
230
432
270
290
297
247
351
386
327
338
326
288
340
377
361
242
296
268
295
366
335
360
292
279
282
225
360
319
309
387
319
295
358
344
395
300
350
367
309
342
354
252
281
388
308
268
162
390
369
311
311
333
258
359
312
386
321
335
361
276
391
321
328
293
296
324
323
280
333
255
355
298
269
353
349
325
407
311
400
265
261
316
296
336
361
347
319
299
336
287
370
296
439
383
227
261
279
270
339
374
240
282
355
296
329
361
318
318
227
304
322
318
306
258
378
242
299
290
349
220
322
362
279
376
263
395
359
259
293
310
339
287
292
334
319
388
309
363
390
312
362
328
308
326
380
353
282
322
372
272
362
296
364
293
370
375
241
328
313
318
328
332
359
329
250
270
379
342
335
358
336
381
303
356
358
281
264
318
322
342
300
329
313
352
363
336
353
381
258
205
332
272
269
332
317
340
349
361
331
353
346
331
357
281
288
328
387
235
337
306
248
264
341
222
351
236
329
336
317
336
348
378
279
372
340
306
317
327
278
309
317
262
327
332
270
352
278
262
291
389
325
389
336
268
279
324
180
312
387
211
305
364
279
395
350
246
246
296
358
402
322
272
347
193
349
324
337
301
311
383
213
211
304
238
341
268
273
326
340
278
326
326
319
321
277
208
276
352
341
288
310
256
296
258
213
317
250
333
425
321
317
329
208
285
247
308
280
316
297
360
389
284
340
213
291
324
325
326
303
377
326
269
327
291
313
315
350
430
332
361
327
329
209
268
272
369
316
310
399
360
303
249
301
305
365
342
303
309
304
419
223
306
288
309
291
380
352
321
385
327
374
278
318
302
345
283
340
324
294
338
312
317
329
371
380
297
338
315
316
361
317
328
263
261
334
305
338
400
298
304
289
258
290
213
364
273
292
285
299
278
239
355
302
314
316
315
340
288
337
321
243
323
346
331
363
350
299
352
350
299
282
376
347
272
305
281
314
361
230
308
336
325
231
334
347
352
283
327
350
334
305
277
261
266
319
311
363
433
316
318
188
291
391
353
222
298
350
311
364
320
263
296
295
302
331
341
285
267
225
286
369
304
315
226
300
259
303
308
352
322
348
292
339
344
242
376
367
333
380
263
297
220
312
202
395
352
385
342
302
276
252
366
295
306
256
248
341
330
260
356
284
340
355
325
240
349
241
331
400
364
257
317
376
341
366
312
287
396
324
295
256
324
306
298
370
301
353
230
307
295
370
304
349
266
297
314
366
271
305
285
336
270
372
330
317
245
387
347
359
330
234
322
246
315
230
382
249
350
285
344
197
292
253
362
222
360
358
330
350
345
363
309
390
291
325
325
305
237
321
397
349
327
365
297
388
286
301
413
326
379
344
342
269
236
363
313
350
321
297
381
353
285
298
291
386
340
307
417
350
307
280
341
417
431
328
347
240
271
213
306
349
348
344
303
231
286
299
311
262
304
357
358
309
279
339
406
350
214
334
349
258
306
386
361
318
277
330
235
317
278
293
363
298
332
312
347
266
278
341
353
418
360
303
267
376
223
378
370
306
276
272
312
263
280
347
268
313
315
383
333
318
329
375
307
395
295
308
350
350
295
323
240
258
241
312
270
374
264
329
325
347
269
312
362
323
385
383
346
349
303
227
279
329
341
345
279
224
285
218
215
310
323
380
324
322
316
303
290
369
392
244
295
305
298
331
388
243
326
263
306
327
289
355
300
316
324
236
349
343
318
275
335
260
346
325
298
329
321
303
333
338
372
358
377
297
279
296
360
292
392
286
261
285
383
365
385
286
308
359
355
373
277
243
219
331
268
237
320
353
363
272
319
332
346
317
399
309
262
314
333
242
288
289
254
245
322
297
261
317
299
339
253
387
334
293
281
209
285
286
314
319
335
341
359
300
316
209
312
351
380
395
323
285
328
282
301
341
230
276
384
352
309
294
318
306
284
306
274
327
326
288
259
313
345
255
360
293
244
284
355
383
274
336
263
297
368
270
311
288
364
374
313
263
264
323
366
372
288
263
294
285
295
271
343
402
291
290
321
299
321
278
213
356
331
391
345
380
405
325
328
309
241
353
390
358
375
392
362
356
359
334
308
344
357
356
266
282
315
365
318
275
322
278
264
257
349
275
280
368
268
327
313
313
253
294
309
312
361
283
276
349
217
290
252
374
304
320
248
348
322
178
237
465
409
375
312
343
397
244
336
252
316
334
320
329
356
303
309
323
345
368
250
288
336
298
268
330
397
306
325
391
324
256
377
293
268
230
333
360
285
268
332
332
364
396
300
299
320
321
359
307
306
191
315
351
293
360
401
320
318
298
279
299
322
287
244
330
266
249
334
392
310
326
314
326
320
387
313
303
317
268
351
278
264
364
316
283
278
265
364
255
274
319
250
334
339
341
339
327
358
364
241
337
258
310
310
314
329
298
304
294
260
366
287
358
374
273
299
314
278
274
327
361
318
342
190
303
230
239
175
422
341
329
334
325
349
258
374
301
385
371
327
326
384
312
354
338
377
334
309
332
316
342
285
317
336
360
260
348
310
268
314
264
271
200
294
296
179
358
284
400
247
330
361
320
346
257
274
298
288
387
360
358
348
205
289
321
289
327
333
327
345
332
297
253
265
370
335
310
281
270
281
315
275
206
325
302
333
394
259
291
314
276
260
377
282
368
243
349
280
338
224
339
349
294
386
379
316
363
332
371
313
358
335
321
305
338
272
377
275
352
341
338
292
361
300
292
310
283
251
330
318
318
244
322
283
387
285
289
306
292
299
360
290
337
295
313
243
266
355
313
384
223
329
237
316
356
367
312
355
359
341
246
395
409
313
365
339
384
272
253
251
337
359
306
325
304
334
282
298
228
311
168
228
307
313
289
347
382
287
231
304
325
309
345
346
292
257
283
363
301
352
272
390
354
448
324
356
226
304
322
295
297
348
253
340
209
290
391
347
301
265
215
297
250
388
300
336
285
370
371
322
312
371
284
234
311
326
340
222
335
342
279
302
371
304
328
318
392
304
291
295
376
346
326
375
367
360
278
263
348
311
364
360
326
304
383
316
365
295
405
372
338
239
252
329
186
313
386
279
259
294
351
211
279
304
292
288
306
381
328
416
323
305
254
282
286
372
269
256
266
402
289
296
304
253
274
401
323
330
337
372
261
375
374
303
321
255
330
343
253
377
360
260
335
349
330
281
240
309
285
310
195
362
340
315
259
317
431
294
324
340
289
328
328
326
332
313
270
343
354
367
313
373
288
386
332
244
293
290
356
332
242
296
333
288
319
324
292
287
292
366
297
265
290
394
350
345
305
278
218
387
315
340
360
331
270
364
266
318
365
331
321
343
337
373
334
279
334
366
348
275
390
344
288
231
362
287
314
323
346
305
373
265
329
258
243
280
357
338
252
320
303
320
381
336
336
317
336
317
361
253
356
351
291
291
281
203
272
365
392
324
348
378
328
249
295
383
355
327
396
261
256
351
315
322
320
305
316
405
252
289
318
300
386
225
342
354
238
311
197
372
305
273
295
308
283
356
379
345
379
316
379
255
323
370
353
308
349
261
352
379
336
293
374
298
326
325
275
329
287
254
321
389
371
335
290
356
374
293
355
315
233
232
327
312
334
365
316
347
331
294
268
373
286
347
249
305
219
354
332
382
366
393
322
329
296
406
280
296
327
262
279
351
311
265
317
295
308
273
232
287
288
368
355
317
301
331
282
317
404
313
310
337
237
379
369
353
394
270
313
248
336
342
321
377
275
392
278
296
309
340
290
306
284
317
354
303
305
291
311
283
380
305
279
306
279
383
374
382
345
235
360
410
290
335
311
306
303
306
336
337
320
314
308
337
336
274
250
302
446
226
284
297
329
278
296
256
391
307
341
333
276
344
180
195
311
271
361
237
241
324
293
359
342
334
197
266
366
352
275
307
353
311
320
333
309
385
309
294
291
295
325
341
294
286
236
402
313
344
321
286
346
328
265
300
200
336
310
225
379
322
390
276
342
335
277
296
375
297
258
339
270
348
382
356
226
249
375
380
338
254
342
304
270
306
311
301
301
321
351
347
360
403
373
408
247
309
347
373
366
314
300
269
348
297
330
376
316
306
331
333
225
300
311
350
313
380
363
237
262
350
355
297
356
334
295
358
241
332
307
295
346
349
314
257
272
368
314
334
353
338
352
271
330
312
349
349
408
238
344
330
291
350
364
316
272
333
351
255
320
306
270
342
297
264
312
238
355
333
357
420
296
296
353
259
336
339
275
277
295
296
292
311
297
317
287
309
288
314
293
394
352
305
299
243
345
418
287
390
299
270
376
356
332
338
380
288
295
374
308
273
460
364
286
245
260
390
370
385
371
273
260
347
365
291
392
334
296
212
336
381
232
277
228
331
373
352
335
285
331
329
287
297
324
327
316
315
280
329
347
332
339
294
312
353
313
343
356
343
348
326
245
257
292
314
264
343
244
206
314
320
282
287
317
320
268
295
292
255
353
316
331
361
322
308
327
348
292
320
337
313
278
304
315
310
251
360
336
256
288
265
376
337
286
314
348
262
383
329
342
282
258
272
253
314
350
396
312
244
280
337
311
317
271
253
383
274
295
353
306
393
357
338
182
309
355
320
299
278
374
259
342
376
355
347
288
220
353
329
361
301
321
294
293
198
327
368
312
278
318
353
376
233
273
323
369
255
294
340
303
349
311
343
334
319
300
341
379
319
353
293
272
350
280
252
342
289
360
228
350
297
352
289
305
238
354
323
198
292
363
382
254
183
210
265
281
343
388
266
351
272
291
354
341
305
332
307
342
364
382
334
392
325
261
333
224
327
281
260
229
327
287
361
292
263
328
275
353
256
344
335
367
257
346
325
322
400
305
291
248
368
304
327
320
341
338
325
421
337
313
431
301
342
254
358
403
239
322
373
273
297
350
329
328
275
386
387
331
276
389
294
266
296
232
308
250
322
314
350
322
222
259
226
243
352
270
339
344
310
297
320
303
371
304
271
292
330
282
257
339
371
337
180
307
265
363
345
296
296
354
271
359
220
343
302
266
317
360
430
328
362
254
344
258
284
260
360
274
325
251
331
350
326
286
364
365
260
332
313
385
315
302
361
338
395
254
353
363
343
275
228
229
374
326
332
274
301
324
303
361
289
351
255
322
321
335
344
298
302
282
318
310
258
325
236
403
324
385
305
277
321
312
280
279
396
342
342
377
334
376
341
371
306
350
309
358
401
256
288
285
347
368
367
315
272
346
401
305
222
372
338
311
332
259
316
340
348
386
337
276
294
266
335
305
321
399
311
328
346
326
288
407
357
331
270
348
385
297
276
323
271
331
354
304
308
275
351
266
340
311
313
291
309
298
315
248
380
330
238
350
257
357
330
286
218
358
369
254
338
304
403
294
307
460
355
282
220
284
261
313
340
306
301
319
409
339
249
298
292
375
350
384
332
346
340
244
247
286
336
275
276
278
305
359
331
313
344
324
308
282
330
264
354
383
316
347
314
332
366
348
365
345
272
318
409
350
345
258
282
405
319
351
356
325
274
334
297
282
334
298
292
308
275
394
303
367
290
274
317
319
322
368
227
326
351
324
362
373
361
258
371
383
319
337
391
315
336
367
332
257
312
310
373
311
309
290
319
258
338
217
319
389
365
334
273
306
319
318
257
278
241
295
324
342
262
265
225
311
371
296
312
312
232
322
285
301
353
285
333
364
339
288
377
284
303
276
336
336
224
247
295
320
355
280
309
344
278
314
307
244
309
269
308
271
273
337
365
327
335
301
335
281
293
279
349
239
384
268
340
312
298
324
324
294
365
329
326
328
399
313
330
383
273
274
318
336
257
308
383
297
325
327
349
362
356
349
371
269
295
341
295
348
262
331
320
391
311
299
349
312
405
323
326
304
316
335
348
268
277
379
282
336
334
184
343
250
416
351
318
366
327
338
319
378
332
322
309
315
313
306
213
299
362
298
265
306
253
233
413
318
341
323
305
304
296
265
387
367
317
267
351
367
309
319
321
352
395
273
339
339
276
301
343
374
383
314
305
374
282
323
253
191
288
318
362
317
325
347
299
351
322
325
397
301
344
354
369
276
241
311
271
239
334
370
407
337
250
281
353
381
266
349
356
286
357
344
346
345
320
294
340
291
289
298
336
313
358
277
321
343
289
356
300
324
368
379
377
350
329
319
218
226
207
244
334
358
269
362
321
303
275
326
329
413
287
363
227
270
362
265
354
278
283
248
368
362
335
287
278
288
264
418
258
360
266
261
347
274
316
305
341
345
367
282
350
325
275
325
295
382
311
341
321
311
259
343
403
287
292
323
310
341
349
330
351
326
261
329
297
311
261
308
348
316
311
256
283
289
330
228
297
307
301
364
359
305
262
235
234
314
291
287
290
295
203
270
398
243
358
265
388
313
292
354
312
339
316
308
305
310
293
318
289
242
255
350
282
329
325
290
400
231
346
309
376
298
314
344
248
326
292
228
362
347
264
297
302
339
399
401
331
323
287
383
308
329
339
360
309
310
237
354
312
269
403
286
337
351
238
238
287
264
365
341
320
286
232
192
299
303
385
316
322
382
354
307
331
277
275
321
231
250
293
270
358
309
309
305
249
302
307
317
304
318
260
326
299
295
260
252
305
340
302
353
296
373
281
345
316
340
355
331
189
251
309
260
318
296
444
311
344
311
301
324
307
277
415
318
364
266
371
287
319
347
382
328
268
344
329
270
249
377
231
346
256
203
398
335
337
335
359
316
322
386
294
303
311
356
404
322
305
272
365
173
249
244
235
266
355
317
325
343
285
256
318
296
313
315
229
249
338
283
295
300
324
339
300
272
322
331
338
312
321
289
305
373
303
307
326
339
262
330
294
284
311
276
358
268
314
336
315
308
276
260
288
318
260
303
259
377
294
311
369
278
393
339
321
283
180
325
354
361
355
340
329
307
351
244
279
278
370
284
313
346
288
304
324
283
311
317
324
303
179
330
340
311
349
369
383
351
340
307
254
255
299
377
384
320
342
380
417
345
322
376
323
323
298
278
403
278
298
308
423
300
339
333
215
381
294
389
306
283
296
334
337
307
300
329
305
392
346
359
343
352
367
328
355
233
381
345
345
293
330
297
276
241
317
313
360
280
283
252
330
359
270
298
296
231
239
363
391
280
355
272
383
291
366
359
344
335
344
225
264
274
374
258
339
380
291
306
383
326
283
340
315
285
316
325
265
296
272
385
335
231
328
318
309
253
319
371
272
274
329
345
316
207
285
276
308
319
393
359
289
246
323
286
285
368
425
267
261
295
315
413
327
297
333
238
406
428
350
349
281
358
284
342
305
289
271
292
292
357
308
312
314
324
220
252
298
280
314
322
297
273
211
333
329
328
311
304
276
329
353
335
294
339
291
356
336
306
219
282
302
361
238
283
397
302
317
304
308
329
253
349
302
341
253
289
347
362
361
321
352
279
365
328
220
304
332
347
339
364
290
289
303
333
321
255
341
326
317
267
269
308
344
382
318
290
279
275
405
296
357
319
400
363
304
298
311
353
287
326
340
233
344
289
312
392
279
301
239
269
279
252
317
400
309
321
291
275
261
423
280
293
273
354
354
331
261
329
304
317
289
385
284
273
278
369
335
323
341
322
358
297
324
285
253
295
410
287
300
361
357
378
304
327
318
331
258
315
265
319
300
329
344
361
270
353
291
331
336
276
254
315
341
372
352
313
352
338
254
348
321
368
312
361
312
318
303
300
342
266
188
350
274
237
352
385
297
320
245
262
297
365
323
292
263
350
304
315
336
310
356
337
337
334
352
399
346
309
319
253
327
230
346
348
378
324
304
341
313
257
394
318
324
283
316
329
338
343
338
309
316
313
323
319
303
351
277
330
347
222
299
373
308
329
323
315
374
269
344
282
289
342
306
365
375
305
329
281
282
353
321
336
360
337
289
308
314
301
316
245
351
262
351
364
386
388
281
312
384
374
334
295
367
358
315
386
257
269
339
304
266
259
267
362
298
393
318
268
349
350
328
293
265
250
305
310
390
294
321
280
333
327
241
234
289
341
229
286
297
347
358
291
323
289
328
401
344
316
213
265
271
319
287
249
340
406
318
289
285
314
262
290
325
300
359
306
302
315
307
337
308
320
316
276
328
287
297
361
281
334
300
354
370
326
330
285
342
410
305
251
271
335
414
290
286
398
258
275
312
252
318
329
354
354
320
365
276
260
401
222
245
312
221
287
359
321
309
392
260
287
250
305
364
328
328
268
310
302
226
351
227
332
331
339
295
222
349
281
287
370
294
298
287
389
360
280
308
320
359
392
321
330
278
287
279
373
279
347
292
381
247
384
315
308
261
308
328
272
371
256
337
332
202
278
355
375
361
338
410
332
282
330
311
303
247
306
368
367
282
301
369
305
263
323
317
395
328
363
413
358
341
311
282
248
212
346
304
309
314
387
292
265
277
262
294
278
318
362
343
352
328
347
318
352
296
335
316
354
244
275
317
294
348
307
350
311
176
277
284
314
260
280
388
253
251
388
367
304
290
300
319
288
392
241
261
335
294
371
321
300
378
303
324
351
363
297
350
290
421
267
316
235
326
291
368
250
303
283
313
333
312
293
313
263
328
337
315
265
284
378
285
264
334
277
344
403
365
301
321
351
365
322
390
298
337
279
280
333
323
316
297
295
260
276
243
299
363
376
337
362
282
278
358
325
303
384
309
394
325
394
265
303
344
347
278
346
345
329
373
355
397
277
250
234
370
230
363
345
326
299
397
304
264
325
304
249
340
336
372
258
275
321
326
237
249
302
353
343
385
337
299
291
384
293
302
312
206
309
314
299
250
299
300
328
377
350
352
271
360
401
338
292
372
301
352
331
320
344
359
312
399
325
332
285
316
352
384
367
268
293
262
317
265
302
316
198
373
341
338
196
366
355
211
320
292
343
316
246
408
339
277
240
353
313
316
247
309
334
266
322
323
311
322
299
348
273
347
230
385
310
249
297
312
318
361
386
310
208
401
320
357
267
354
343
364
323
335
399
307
306
343
296
330
299
330
354
336
336
350
264
332
345
318
330
353
395
313
275
182
364
308
342
298
344
354
290
339
392
319
278
344
401
366
311
273
305
306
338
230
301
303
251
285
320
313
376
310
309
366
255
338
311
354
334
280
279
296
210
213
317
296
312
282
384
254
247
275
312
339
388
259
278
284
287
278
235
285
302
278
253
264
290
339
239
266
268
288
365
402
322
389
366
342
347
322
378
291
342
298
223
295
312
334
292
271
321
298
309
315
246
273
346
281
379
338
381
307
251
239
378
358
383
259
285
374
391
289
379
311
255
367
276
293
370
265
306
309
344
336
346
347
292
361
351
401
387
327
297
381
360
346
395
361
281
252
301
270
394
350
314
335
339
328
280
312
370
352
234
241
242
220
383
340
342
321
348
347
376
357
388
280
325
319
392
330
364
295
345
308
269
281
301
283
394
253
303
310
310
303
334
357
311
345
276
326
356
311
277
208
361
303
265
277
333
276
316
288
330
362
357
303
238
285
224
315
345
291
315
288
298
326
343
406
405
408
371
370
360
337
334
412
248
282
264
351
328
297
355
333
409
283
256
368
348
252
343
285
364
342
304
276
293
345
322
237
289
334
281
327
230
303
301
267
360
283
345
332
346
252
350
382
321
216
405
326
214
327
275
305
367
356
357
370
241
366
336
342
366
372
247
309
273
156
328
262
352
218
284
260
324
278
256
272
380
401
348
243
273
323
256
315
293
349
333
325
338
391
348
324
359
237
279
300
283
271
415
342
254
350
286
390
356
302
401
382
278
313
398
302
364
357
329
321
291
311
364
368
394
285
288
337
336
314
298
316
264
312
266
393
382
343
314
394
369
238
338
215
366
335
377
302
282
339
351
328
330
341
356
309
317
293
370
264
207
282
317
301
282
255
343
306
263
323
326
352
314
378
368
262
204
325
452
323
318
378
328
293
358
255
261
294
227
303
317
359
347
324
207
371
266
278
324
274
307
344
323
321
363
333
364
283
289
266
363
337
308
326
377
280
298
303
308
310
286
369
316
316
355
334
304
318
329
339
322
329
336
307
330
308
320
249
311
354
324
239
394
329
226
280
329
360
363
363
404
189
276
396
292
293
337
342
315
274
294
353
312
274
338
247
312
373
370
199
321
317
327
309
356
328
310
239
228
352
315
279
364
294
281
291
271
288
299
325
312
306
269
296
326
332
326
295
289
273
306
266
413
338
311
315
371
309
319
323
309
366
330
270
402
311
354
319
384
309
290
368
316
402
270
267
401
335
343
348
327
361
289
259
325
261
313
321
289
337
374
326
300
287
360
332
290
360
373
318
342
329
352
311
352
324
300
312
273
322
316
310
310
336
279
316
244
258
239
290
283
288
323
340
328
335
312
365
317
373
303
395
292
381
338
298
276
365
340
288
234
265
292
261
276
337
333
315
397
300
315
394
256
325
317
345
330
361
356
397
341
283
343
255
301
371
319
291
199
352
321
336
322
299
318
308
336
366
344
302
357
309
344
290
401
330
309
355
337
382
311
355
285
285
408
354
313
248
371
352
314
297
361
358
345
329
310
248
353
364
287
361
214
402
332
290
311
317
300
330
308
276
302
306
305
360
410
350
392
314
284
310
301
374
350
309
280
355
334
212
332
353
301
287
371
260
288
301
348
293
300
313
311
330
344
308
249
405
252
277
276
305
390
349
243
316
267
277
241
237
348
339
208
343
309
229
278
310
208
361
294
325
195
313
286
225
306
337
288
310
376
290
314
275
275
222
291
240
235
339
334
332
305
307
225
268
266
244
276
316
397
278
328
287
359
331
305
365
352
286
286
288
315
344
233
283
321
272
281
323
272
279
303
258
331
341
284
352
274
327
369
310
329
376
288
248
327
305
372
349
327
295
320
274
331
253
317
266
343
310
276
328
332
223
367
391
312
278
283
146
310
332
319
359
283
338
358
302
389
336
257
354
313
318
353
316
296
310
301
272
347
342
361
274
365
272
304
370
312
332
264
322
296
289
330
230
366
325
328
271
271
360
317
313
321
388
300
370
381
304
347
366
322
390
356
232
346
367
365
336
302
311
299
300
304
269
250
429
356
292
313
269
428
335
365
362
297
276
257
276
379
288
272
286
258
351
339
361
347
327
332
281
319
253
348
158
335
292
289
285
322
201
325
319
213
390
377
224
313
310
381
339
356
322
326
321
292
349
336
318
331
299
357
366
336
321
316
325
356
376
361
311
198
278
319
250
298
393
334
199
313
285
320
368
377
264
389
314
267
342
296
343
336
274
225
230
287
310
292
344
350
311
298
306
267
340
261
266
289
260
246
257
193
316
377
334
341
325
348
319
240
286
221
283
359
347
370
300
415
273
337
365
270
297
285
279
326
299
324
299
334
250
300
329
262
311
320
288
378
236
342
319
273
387
268
312
329
289
285
305
257
327
377
304
294
395
249
256
248
352
239
276
357
318
326
380
305
296
245
397
335
345
289
314
370
321
345
367
346
300
309
276
384
259
294
393
290
327
281
259
347
293
320
261
336
240
279
354
307
225
378
313
292
304
252
344
310
265
365
299
288
481
353
332
287
336
308
319
266
256
297
358
309
330
267
318
297
316
326
276
367
379
386
305
347
358
300
298
269
320
257
388
384
342
224
379
310
297
293
332
317
251
326
315
303
357
288
271
325
301
224
332
252
320
344
323
281
355
337
309
257
327
359
385
265
307
355
353
329
323
307
273
322
346
350
301
291
301
369
333
298
375
256
303
325
340
298
372
286
349
314
356
378
321
344
266
277
262
352
264
334
406
314
232
311
368
302
362
339
383
349
332
386
373
362
219
325
357
308
263
313
257
411
386
336
259
308
344
306
394
252
267
205
331
363
272
301
373
261
291
257
294
426
402
272
272
311
337
397
303
350
294
356
380
236
310
327
221
342
300
272
224
349
242
323
342
386
210
338
259
301
327
397
330
330
314
308
374
368
263
295
223
361
343
324
307
302
261
323
335
349
299
294
347
223
404
334
307
353
267
297
397
314
332
348
319
370
282
273
302
321
272
368
344
298
453
231
343
408
293
364
293
323
341
246
316
393
281
240
229
312
410
407
292
281
289
315
351
355
294
362
396
291
244
267
232
360
274
270
307
419
353
342
361
259
361
318
392
341
308
286
337
321
285
282
334
308
336
323
326
377
303
392
310
358
358
320
275
342
263
375
370
374
299
311
354
456
394
300
241
436
271
357
208
258
370
269
446
313
254
338
305
311
329
328
369
282
354
377
281
327
267
338
276
259
315
336
347
327
350
318
262
319
300
287
298
368
283
267
345
312
351
317
297
319
329
252
347
298
313
331
253
368
289
364
278
224
286
304
287
331
328
330
307
330
323
255
350
286
327
281
364
312
217
360
276
359
272
336
310
398
218
330
254
377
383
275
329
358
365
303
367
292
361
253
318
363
303
287
266
321
372
336
322
303
360
371
346
388
270
376
260
410
255
259
253
272
317
274
285
320
348
225
305
230
240
293
260
341
322
217
271
339
331
313
285
311
368
347
362
336
275
324
242
239
295
288
346
355
406
352
233
311
306
366
247
310
357
399
365
313
260
372
250
399
283
350
297
348
325
249
356
248
394
321
324
368
331
329
331
283
321
317
301
354
288
353
383
341
416
335
359
244
352
269
306
249
277
317
340
368
323
293
318
330
393
339
345
327
298
284
348
297
401
283
294
313
293
271
250
217
263
370
307
396
233
320
352
351
326
298
357
286
277
268
274
318
310
370
314
384
398
250
345
273
272
337
334
359
310
283
351
253
302
352
328
295
346
337
273
287
290
315
338
391
405
304
278
328
264
411
288
343
331
375
245
335
278
328
331
293
267
294
302
264
319
300
329
244
317
357
380
387
321
349
334
328
331
392
363
337
335
339
277
292
371
322
280
299
274
335
306
385
350
367
255
275
322
369
321
277
251
343
365
310
348
370
323
299
243
344
317
302
249
236
271
387
305
330
308
369
345
336
312
286
282
279
292
289
245
347
281
330
346
320
336
241
348
274
238
251
309
370
285
280
303
407
260
276
310
388
233
273
294
337
274
251
256
326
243
272
373
312
352
300
367
307
301
383
373
301
344
332
286
322
255
327
348
339
303
310
278
266
212
263
290
268
258
298
287
405
294
255
338
304
221
275
228
330
249
407
323
329
217
374
314
324
374
332
265
245
313
362
300
278
303
340
309
344
308
331
295
247
278
376
383
391
253
291
314
290
304
244
299
277
327
384
270
357
367
308
256
249
270
321
363
251
344
288
229
304
251
267
246
321
273
217
278
370
333
324
326
315
370
357
320
336
362
353
424
323
380
278
341
261
316
278
259
324
316
357
233
359
371
299
334
334
358
295
366
263
290
357
293
285
351
316
278
323
359
264
280
272
341
377
167
287
349
192
337
341
272
324
273
306
355
262
311
338
228
243
351
324
302
346
350
301
336
286
352
302
346
308
395
251
273
316
307
305
262
258
354
314
294
336
232
333
339
278
408
288
309
348
306
314
292
327
347
313
283
355
240
265
377
276
185
323
338
315
332
267
328
315
328
304
328
331
267
265
306
279
341
354
351
354
327
293
363
362
314
281
224
303
352
315
297
333
351
337
342
275
224
244
277
274
401
344
437
375
294
404
322
347
340
357
277
291
247
345
287
274
282
248
347
288
225
317
304
279
376
320
268
327
325
319
304
322
307
324
328
290
311
320
313
349
266
363
324
344
315
309
271
238
260
357
338
350
340
319
310
220
319
409
317
310
301
371
347
322
287
317
342
368
329
409
360
278
384
327
362
213
406
339
326
348
346
351
324
322
321
326
241
352
369
299
293
304
299
296
308
333
242
349
285
269
293
385
291
309
342
381
231
326
267
344
360
291
295
333
211
351
274
320
333
366
290
309
275
368
354
256
263
381
338
383
264
348
311
284
297
325
307
337
264
255
279
224
278
298
278
312
350
244
369
353
338
290
316
291
259
219
266
368
245
289
317
308
236
324
376
288
258
291
277
362
304
367
397
305
276
326
227
287
344
278
357
299
327
280
328
367
342
335
327
287
266
220
310
306
362
252
256
240
292
289
302
350
351
288
381
336
277
284
363
383
310
287
291
313
401
340
329
292
299
357
290
345
318
331
348
312
356
336
314
329
343
219
352
230
334
346
320
294
288
368
268
300
299
385
399
194
277
260
290
313
310
269
346
322
305
205
314
373
361
316
339
293
393
296
267
329
354
259
233
312
331
321
328
301
296
302
306
316
325
230
313
343
359
284
272
281
217
234
318
257
357
329
288
335
305
366
291
283
350
298
269
353
310
359
360
401
308
302
285
236
362
276
357
365
359
315
329
260
278
223
337
329
355
378
373
301
277
377
300
256
232
282
206
326
256
330
258
374
306
320
293
336
379
373
324
289
316
236
304
285
403
280
228
391
270
342
334
337
390
301
276
332
287
290
300
367
354
301
425
270
258
261
314
310
369
299
299
302
299
273
238
349
387
316
352
367
305
263
317
339
302
363
334
275
346
349
314
326
403
210
351
279
267
396
327
328
272
208
316
379
372
315
323
363
278
320
300
302
436
344
304
197
403
289
368
264
333
322
286
364
356
394
260
358
345
301
372
317
362
276
262
318
324
296
278
372
287
263
301
314
289
313
330
363
309
347
363
342
301
298
422
318
286
358
316
284
256
305
296
242
304
343
314
363
308
418
317
301
310
239
327
312
388
317
350
270
329
292
285
319
297
340
357
357
337
311
379
418
304
256
330
273
249
258
282
265
349
415
353
271
282
327
356
326
324
317
279
240
340
254
332
289
340
290
336
377
306
327
281
320
351
319
238
297
383
355
321
314
320
252
373
237
336
322
385
328
342
341
314
401
274
358
319
281
319
361
256
317
370
260
314
235
229
307
257
309
343
314
264
334
222
262
253
301
358
240
168
326
235
350
323
403
406
326
393
317
226
282
273
272
318
423
358
347
239
309
409
343
348
295
340
316
330
414
327
425
417
358
314
339
329
336
286
332
322
377
205
288
275
312
275
322
323
307
319
343
371
278
256
344
304
325
270
298
330
344
277
266
354
328
343
309
348
291
316
319
347
303
223
330
339
252
288
375
293
349
309
320
286
388
319
322
337
284
305
335
368
342
271
293
325
263
271
291
333
255
326
205
305
360
252
281
307
327
329
333
337
299
306
278
283
261
378
329
273
261
287
302
325
286
350
385
390
331
238
345
307
347
363
290
313
336
327
228
330
276
372
296
303
305
341
287
294
310
297
223
402
289
307
295
338
353
223
280
340
331
267
314
271
352
285
318
307
326
334
305
341
275
303
296
337
322
378
299
328
317
312
331
346
332
327
400
343
308
303
339
308
388
282
314
291
319
270
312
354
285
242
337
365
310
321
314
380
309
339
321
288
330
371
323
373
352
371
392
293
332
293
203
332
360
275
340
364
269
263
354
331
259
279
374
305
371
306
240
362
326
296
284
273
409
343
318
269
273
359
309
353
364
373
297
297
335
381
326
314
382
288
318
229
313
353
301
249
353
321
300
261
352
311
308
299
342
292
315
372
351
237
268
267
248
329
307
312
408
300
316
336
328
365
356
259
286
238
257
330
312
369
229
290
307
287
328
283
246
322
384
273
364
344
248
306
317
308
364
276
296
265
234
319
306
347
304
368
317
359
359
344
301
359
355
350
289
316
299
308
345
263
309
308
302
341
366
276
320
294
275
359
314
327
316
212
268
262
339
280
406
280
265
338
328
305
313
302
363
362
327
332
376
294
338
239
345
291
322
304
239
336
350
337
258
253
342
319
308
317
324
286
328
391
357
253
334
346
413
285
345
332
323
287
371
286
305
325
395
275
314
375
284
334
362
360
295
323
401
296
348
324
312
333
338
366
253
288
348
329
279
368
317
330
296
341
351
341
399
312
336
348
345
268
305
301
279
294
292
254
361
336
294
383
275
332
276
288
322
316
371
273
336
242
337
327
342
322
283
380
380
330
265
292
318
295
250
338
364
274
330
206
304
329
348
352
176
367
328
314
297
290
324
355
288
268
326
358
248
340
258
304
371
277
403
252
332
361
355
247
308
251
384
266
307
280
324
306
371
316
222
261
269
335
275
276
358
306
354
238
328
259
386
241
302
249
373
295
345
340
269
324
304
338
349
391
191
393
357
305
343
351
271
341
282
291
297
370
390
377
367
301
372
268
328
299
244
328
276
324
270
291
292
325
328
383
329
362
304
318
305
253
293
295
340
318
345
360
352
275
295
305
306
344
283
287
220
338
307
240
371
275
309
243
231
220
275
288
316
322
295
322
301
302
346
274
379
260
269
375
273
314
298
276
335
288
317
308
304
280
356
437
358
290
313
281
365
285
290
331
276
325
394
369
268
246
353
245
271
338
281
361
331
426
332
335
317
309
335
302
253
367
205
383
298
320
386
333
304
341
317
319
338
338
276
344
343
260
321
225
357
365
326
408
327
316
380
296
252
265
335
375
235
273
368
328
284
363
312
361
394
273
360
287
252
356
389
284
301
315
344
401
391
354
389
323
294
303
370
266
298
307
337
288
373
355
398
261
319
280
418
286
364
315
338
352
285
368
396
284
307
316
267
297
322
364
313
345
301
390
273
293
316
349
242
314
376
371
306
273
327
322
350
325
354
328
303
350
281
282
352
281
319
345
327
282
305
267
282
355
333
302
347
337
302
302
359
340
262
284
318
239
366
250
359
274
295
413
327
351
371
242
311
259
255
356
340
252
317
260
355
372
263
319
267
311
420
249
344
367
339
298
311
315
308
254
264
317
270
394
280
361
316
273
349
346
304
374
362
269
358
302
273
334
265
300
245
357
389
356
367
362
299
329
316
324
268
360
321
326
372
322
286
232
365
317
342
249
241
321
375
271
322
384
364
301
360
284
273
378
318
304
331
230
322
363
280
335
312
225
310
325
239
381
371
298
327
346
265
330
282
256
328
325
358
277
342
338
370
333
319
300
294
314
249
366
322
372
314
287
294
376
268
301
224
319
335
272
289
266
354
313
339
371
306
338
273
279
267
321
344
306
321
274
292
342
295
338
299
286
258
295
360
290
271
376
310
301
326
306
315
214
349
352
383
331
372
308
342
337
206
287
260
370
404
366
308
261
255
257
274
359
374
327
242
344
340
316
327
313
307
378
258
346
347
333
348
299
314
330
305
344
392
257
283
228
224
308
351
377
320
351
347
300
287
314
272
406
271
291
325
325
296
352
269
292
245
285
312
268
395
343
341
351
341
291
313
308
305
263
318
316
358
277
359
327
268
296
313
339
281
318
382
278
296
325
356
290
348
194
214
317
319
350
269
287
219
220
311
362
366
355
322
340
334
330
271
379
328
274
309
343
338
327
372
293
345
320
285
362
382
340
260
330
343
330
325
312
287
346
361
235
350
331
264
281
255
270
355
354
310
381
267
372
342
377
363
236
365
360
288
296
335
267
255
244
328
270
316
331
349
280
348
339
301
301
286
364
373
353
321
252
280
252
355
277
322
306
362
300
402
334
349
396
310
269
362
320
312
292
367
329
226
388
332
259
370
237
324
307
337
257
343
367
311
260
329
288
400
386
294
229
364
266
255
257
365
288
276
341
219
282
250
315
301
313
311
279
320
392
389
323
349
357
277
293
353
285
356
219
332
379
332
348
244
317
331
359
364
326
342
290
283
354
286
264
270
341
279
320
231
325
373
313
355
390
330
412
315
306
342
333
344
295
332
263
344
329
252
398
291
357
436
305
221
286
319
341
356
365
337
312
330
357
254
341
253
346
264
260
305
229
330
285
307
327
290
359
326
171
328
329
308
303
196
321
342
330
200
351
305
306
323
360
301
317
328
323
277
377
291
364
309
230
370
257
369
242
336
297
402
322
310
251
307
279
255
307
340
401
393
318
263
288
310
206
335
339
368
362
326
339
323
307
308
317
266
337
331
423
318
232
362
325
273
369
291
428
345
329
298
344
318
334
294
324
355
400
348
321
299
356
297
217
336
394
301
293
288
337
343
291
389
335
270
268
275
317
374
248
241
247
348
339
310
252
349
277
352
332
309
305
319
311
304
316
283
317
330
291
296
328
291
356
378
311
320
219
308
270
353
315
344
238
382
279
294
346
298
300
307
302
292
366
325
253
342
319
344
293
317
311
263
308
288
398
310
324
273
350
308
322
303
295
377
349
315
337
337
308
346
274
212
354
309
358
366
282
329
371
278
335
259
432
335
383
352
296
286
340
286
420
349
337
254
303
323
309
299
371
368
350
293
354
330
345
264
270
268
317
291
291
306
306
332
226
297
270
284
258
281
332
306
317
245
219
368
361
375
323
339
352
361
276
256
355
329
345
281
220
326
316
296
298
354
369
340
285
297
235
301
206
247
269
420
291
332
311
287
364
311
329
213
314
362
372
380
380
219
262
353
280
358
322
301
246
376
312
347
246
323
363
339
239
329
285
236
330
306
331
380
304
295
327
359
295
306
344
233
241
225
327
288
236
325
268
414
371
354
260
348
365
338
242
346
246
364
322
439
403
327
382
248
323
260
316
302
328
325
379
327
321
287
242
367
311
341
304
299
292
314
218
321
297
379
322
291
285
292
247
313
307
346
381
320
354
328
379
315
377
360
360
312
266
331
219
320
288
321
300
310
323
307
357
321
352
401
303
371
307
293
321
328
274
300
224
357
333
265
324
343
256
320
290
324
396
396
321
266
280
326
255
298
360
339
326
164
402
315
300
280
318
320
325
354
263
265
362
282
357
324
323
282
248
294
271
294
293
348
295
353
289
304
309
340
275
301
376
304
303
319
324
290
351
333
427
231
307
312
340
327
396
295
234
381
310
278
314
290
250
338
328
303
255
355
282
329
361
243
344
287
392
264
238
330
360
327
381
272
359
309
318
304
293
363
301
289
299
287
358
215
269
300
283
347
242
341
372
315
333
328
339
327
346
308
326
328
305
302
332
294
324
284
349
322
340
368
364
314
360
323
184
324
381
291
287
301
306
301
363
350
352
345
371
359
426
356
274
306
326
418
308
316
390
322
336
320
353
330
254
404
394
309
387
402
243
361
318
325
376
239
310
340
324
343
270
296
294
275
317
335
357
341
344
361
374
345
343
322
263
313
287
234
327
319
272
293
295
357
361
298
397
327
303
278
311
309
252
294
282
321
257
320
341
371
274
288
379
352
349
365
391
320
291
282
363
307
267
276
404
271
238
302
350
484
281
320
315
312
283
332
279
307
336
392
394
290
312
367
299
258
358
282
298
364
339
391
382
306
257
339
358
365
350
238
249
262
305
281
271
268
349
384
330
397
425
350
291
281
194
297
337
417
364
215
316
323
304
315
288
322
413
296
289
279
345
297
283
297
392
227
327
372
386
353
341
250
296
377
261
323
313
310
304
373
385
270
336
285
342
284
315
351
278
348
386
348
315
226
332
319
300
309
209
365
300
324
266
306
319
321
276
322
270
368
383
314
296
283
366
340
306
305
334
231
285
333
323
297
341
332
269
254
360
308
291
284
281
304
308
289
347
303
367
323
358
366
266
344
296
284
281
314
328
323
352
401
342
381
371
295
292
348
249
305
328
346
263
247
263
341
353
355
319
348
309
324
317
294
366
352
381
328
328
274
237
293
321
226
278
271
387
381
319
261
325
287
293
324
236
280
339
430
325
305
330
290
311
234
290
322
317
301
311
288
313
284
315
332
252
306
316
244
270
360
352
227
277
322
343
339
376
273
331
239
322
368
345
323
373
276
335
306
259
302
263
351
281
315
268
303
342
297
287
338
383
363
260
299
355
343
392
356
363
412
304
310
278
277
265
311
298
203
340
301
345
278
300
359
273
360
250
275
311
258
270
276
340
343
351
162
318
350
350
387
305
333
273
372
306
273
263
454
291
316
259
298
319
331
348
334
240
280
306
233
300
301
316
343
316
318
316
346
323
265
311
347
261
351
328
298
264
347
368
304
262
282
350
404
298
310
324
352
337
275
377
346
401
295
286
365
302
306
279
271
307
304
352
308
339
296
336
254
415
378
295
292
268
344
290
217
307
330
318
341
262
345
214
327
319
265
265
383
393
302
331
281
393
358
331
249
358
275
302
383
312
241
295
365
358
304
297
350
364
359
320
331
357
373
348
386
333
381
277
310
331
331
316
317
455
380
257
327
261
307
343
329
261
293
353
372
294
380
331
332
387
294
327
305
305
366
364
304
369
208
305
278
253
240
317
295
323
303
274
366
275
249
316
337
274
249
237
325
338
304
380
266
309
332
355
273
295
429
375
388
406
337
180
337
210
350
300
201
304
334
285
346
321
340
299
281
332
327
397
262
337
323
295
323
359
311
333
287
367
317
258
391
315
230
294
295
247
267
257
370
357
337
351
364
211
296
337
302
289
266
271
219
391
396
339
306
364
320
273
409
293
267
300
258
352
285
258
340
301
293
242
245
298
276
250
330
316
367
301
358
416
250
308
263
338
238
242
357
278
339
330
303
316
382
324
327
295
320
349
328
382
280
338
300
253
388
306
388
304
261
363
281
346
376
313
309
283
323
297
354
331
343
260
284
382
350
328
319
359
285
378
430
222
351
318
308
322
330
312
284
309
406
280
231
292
348
278
266
326
348
334
322
312
346
257
323
247
327
268
302
329
310
370
208
362
316
315
318
337
383
291
287
296
319
306
348
263
324
302
275
224
367
348
374
309
157
309
326
296
303
349
364
302
259
260
353
299
383
325
312
200
348
239
366
250
343
363
357
345
330
295
320
256
278
336
257
296
277
350
345
358
307
322
354
325
361
319
218
421
367
260
258
286
268
309
282
349
246
318
392
280
345
319
273
330
341
336
292
390
378
332
343
289
306
360
307
229
282
243
378
393
372
351
305
403
264
367
235
355
371
409
266
296
323
247
322
376
286
377
284
252
344
331
347
408
301
401
337
362
349
379
251
314
275
234
406
254
299
306
223
268
316
349
356
313
281
334
314
415
299
330
387
362
252
294
289
320
331
289
266
299
365
333
310
300
250
312
345
359
302
279
232
331
313
292
300
385
371
268
357
325
316
371
346
382
336
395
305
323
318
315
261
304
263
318
326
227
364
322
326
287
248
363
404
319
250
302
276
280
288
290
319
351
270
352
261
361
295
245
308
341
332
300
331
389
263
343
420
282
389
393
373
317
336
301
291
191
342
299
338
360
313
323
251
272
376
329
274
244
300
242
323
267
350
309
353
231
290
338
328
287
442
179
323
365
298
280
237
330
292
300
353
247
296
236
235
278
241
279
375
256
399
303
435
374
322
375
307
310
358
424
317
300
362
358
380
337
237
314
329
304
284
319
320
241
356
370
311
358
291
316
292
309
255
291
266
223
305
319
320
288
330
377
372
294
254
277
385
340
334
272
278
316
228
322
336
319
295
347
288
255
388
321
358
277
335
364
291
319
316
265
397
415
362
318
286
308
273
330
361
365
291
264
375
390
307
366
282
259
272
324
310
315
361
337
403
253
304
328
310
265
327
304
345
344
265
268
352
249
339
308
384
324
375
268
279
347
334
371
301
380
345
309
291
278
323
254
353
360
369
269
306
310
264
352
321
339
319
303
306
317
361
309
321
322
290
335
219
267
335
336
284
218
351
258
381
312
302
275
294
272
224
354
372
391
262
328
303
323
296
311
270
267
307
307
315
348
336
379
409
341
309
358
378
309
349
306
353
292
266
244
356
309
357
325
260
272
374
299
290
320
310
310
307
377
357
348
339
335
319
326
261
342
323
244
349
258
327
283
340
256
337
280
320
359
301
334
301
347
311
347
403
325
389
377
270
231
366
385
357
356
285
392
232
376
371
218
279
313
289
352
330
293
282
276
318
299
358
380
321
330
354
282
375
305
315
254
307
395
294
314
310
333
277
366
375
304
391
334
302
269
324
277
386
354
301
254
351
292
280
290
269
360
307
362
353
342
278
300
267
303
239
345
267
287
320
355
386
343
310
282
375
323
315
339
375
254
279
282
351
356
251
373
269
310
363
333
375
316
373
286
345
316
305
279
340
258
325
308
319
300
318
384
309
246
327
237
381
350
291
331
360
303
346
318
379
251
301
318
258
322
348
265
310
341
355
304
361
295
343
339
279
312
353
309
251
358
381
308
333
314
316
356
265
315
330
361
365
296
355
247
323
368
316
368
343
322
198
285
345
259
312
289
295
369
350
281
333
304
332
349
298
385
353
301
231
274
308
256
419
275
383
253
344
309
305
364
257
272
258
325
355
336
317
333
358
267
331
327
293
395
388
312
311
353
238
337
323
260
377
326
398
395
322
387
248
322
253
265
245
320
324
346
276
327
337
276
318
305
288
382
356
362
382
304
343
391
363
291
362
352
382
370
341
238
312
317
260
380
277
362
342
328
354
350
362
409
330
358
393
363
325
313
262
220
260
195
322
386
361
258
358
307
309
329
333
351
337
323
346
343
237
280
357
346
266
232
295
301
340
290
373
340
364
275
217
334
334
320
397
278
331
288
247
372
361
309
338
264
320
268
204
294
329
337
306
315
308
291
276
281
187
291
282
316
320
332
337
294
305
384
306
344
320
286
311
357
310
406
330
379
327
339
341
299
356
331
205
320
353
353
379
302
307
293
270
351
325
346
354
321
402
347
383
384
259
311
274
306
341
298
294
274
379
316
397
315
275
291
345
302
227
399
253
384
313
280
360
330
299
331
305
248
316
300
262
311
225
298
411
338
395
335
224
304
311
278
268
411
293
267
289
321
301
306
314
252
335
316
307
340
362
341
290
370
275
293
279
343
353
301
353
252
320
357
287
291
294
374
254
358
337
376
390
347
255
356
332
307
301
305
367
374
340
326
340
314
342
297
358
286
247
290
229
336
327
383
235
353
216
276
323
332
277
271
297
352
337
384
310
375
307
299
344
315
406
393
353
306
272
335
323
334
368
278
294
347
334
286
317
357
376
293
307
312
329
332
287
280
293
308
359
286
335
313
307
295
252
267
330
289
356
323
392
315
276
285
343
270
374
345
260
337
269
279
318
314
294
329
379
286
333
298
321
276
264
363
324
301
221
279
337
356
334
357
363
321
366
356
291
313
279
361
258
272
254
271
276
315
346
357
296
349
369
313
270
398
292
239
246
391
368
286
337
351
293
333
406
385
370
360
285
343
436
366
260
301
336
327
250
322
263
328
311
285
254
333
326
279
336
334
312
296
349
255
330
293
276
277
245
290
324
298
356
381
355
239
410
350
388
283
299
269
262
307
324
271
283
334
342
340
295
283
337
314
331
366
336
377
304
421
311
266
333
358
384
299
326
327
327
312
389
439
306
319
301
322
272
370
337
347
321
289
384
321
221
311
296
421
254
273
380
310
329
294
255
291
308
318
302
383
292
241
323
331
344
400
320
313
337
353
361
305
349
351
272
348
287
271
299
362
390
348
251
360
341
361
364
333
212
370
219
326
330
294
251
361
332
316
356
254
374
362
350
247
192
340
256
292
258
327
283
334
335
350
313
318
339
288
263
374
258
316
270
359
272
390
219
305
284
372
280
271
397
331
268
280
271
272
257
344
383
321
312
366
278
351
336
321
276
321
239
338
209
334
332
311
290
232
368
371
247
303
294
332
245
247
330
341
370
361
284
267
323
337
326
319
300
360
302
301
393
327
256
314
284
301
291
267
329
381
343
271
346
287
398
218
410
250
336
262
449
333
309
312
344
345
391
254
327
324
296
309
346
349
279
276
327
302
206
248
413
405
312
280
319
318
293
326
254
281
267
427
299
292
352
376
397
268
326
297
255
334
324
264
293
232
303
338
264
327
278
311
304
262
346
285
300
374
297
365
374
285
310
369
303
309
351
344
276
320
368
234
321
337
291
391
396
287
348
292
311
276
155
349
297
279
400
296
333
312
363
333
241
333
344
357
324
246
336
383
399
313
331
357
339
231
241
286
268
273
278
335
233
290
336
330
363
201
349
313
426
317
363
265
310
243
303
319
296
309
315
208
451
287
283
311
298
293
271
313
378
248
336
328
344
366
240
239
361
284
355
313
366
297
335
281
333
291
367
331
308
263
318
380
255
293
352
365
297
341
222
340
272
286
300
337
266
323
370
336
329
275
257
257
272
333
367
289
301
258
319
340
318
277
395
226
336
348
353
296
332
314
216
353
283
395
326
313
203
257
360
202
309
285
284
338
249
295
392
254
323
296
305
335
286
281
352
193
374
291
375
307
316
321
311
405
340
381
313
278
351
309
280
285
254
364
276
289
280
262
300
371
267
258
293
310
326
310
363
324
326
340
322
381
350
354
334
320
326
276
282
303
294
348
338
412
397
302
388
339
327
283
292
376
226
373
365
303
306
279
277
401
358
363
293
268
345
321
304
377
371
300
237
310
285
249
312
308
338
302
381
329
305
274
251
300
280
349
300
294
340
320
250
394
343
333
365
294
277
324
311
369
301
349
222
322
314
341
335
312
277
277
270
274
333
216
277
256
424
305
332
310
348
291
265
320
283
311
323
345
307
263
331
265
301
284
266
269
391
313
254
260
406
238
334
304
349
350
278
219
274
359
310
376
322
275
383
268
292
352
340
249
237
366
386
172
253
310
272
338
320
248
345
334
258
244
311
339
320
323
290
272
346
278
323
371
275
315
352
313
352
320
336
290
305
364
335
295
370
266
267
289
389
407
369
302
363
378
210
307
301
319
278
249
283
329
388
347
337
316
253
289
263
326
338
270
277
256
243
305
288
297
252
338
294
367
328
338
251
306
360
380
331
288
353
410
322
367
402
251
285
264
349
262
309
306
293
228
240
274
323
388
275
252
398
298
283
325
366
284
335
314
269
257
350
321
334
293
346
323
327
290
330
302
295
336
287
319
192
328
277
420
386
282
320
258
359
329
265
305
280
383
322
364
245
317
343
250
281
316
265
319
393
338
381
294
321
301
331
316
265
299
304
231
327
320
322
359
357
299
328
230
345
271
355
235
369
334
341
319
356
304
431
189
344
336
322
339
280
328
325
369
283
314
319
244
384
297
293
285
225
286
355
396
341
277
272
319
424
325
317
372
321
306
369
289
308
286
308
244
366
271
322
367
344
321
320
318
232
262
314
351
266
377
293
244
348
308
245
332
324
290
385
293
329
282
304
304
379
336
324
298
344
355
336
316
293
337
386
306
371
357
240
340
357
326
277
280
346
282
361
343
340
265
273
311
291
320
341
375
255
298
300
389
316
279
297
283
298
269
323
305
339
364
372
279
347
331
265
341
321
328
274
347
304
358
295
350
337
357
261
306
287
302
261
368
376
265
241
307
365
334
344
281
301
328
301
291
355
321
359
257
287
376
339
367
205
317
328
251
269
351
294
315
200
299
376
234
348
376
298
311
296
373
295
374
288
314
398
349
346
348
390
313
311
282
197
278
265
321
322
262
265
282
291
351
259
327
327
304
304
286
321
390
330
245
251
251
318
276
327
342
335
314
326
369
370
374
263
370
382
310
274
315
331
338
324
288
399
396
332
350
311
266
269
344
281
336
327
306
334
348
354
330
357
383
286
313
343
282
267
363
280
352
281
286
324
350
355
324
221
374
288
330
372
267
331
373
263
252
310
304
317
243
298
348
347
269
283
289
337
306
301
374
420
392
351
387
161
247
379
349
344
366
309
368
216
344
282
249
311
347
312
299
312
315
323
335
332
293
342
360
359
308
261
285
354
365
405
316
267
310
338
335
329
415
327
305
345
359
240
301
307
278
304
354
287
315
281
359
346
227
400
356
191
308
346
335
343
308
254
303
252
313
269
258
329
290
246
272
361
318
340
371
266
352
336
302
307
403
301
312
368
287
288
309
238
292
300
293
314
270
317
322
306
398
306
291
322
289
287
369
201
240
309
370
351
276
418
253
302
310
257
191
349
332
298
336
355
266
322
296
333
385
277
261
338
231
328
319
344
282
354
359
325
325
231
315
347
258
333
324
276
257
234
326
323
273
322
277
351
310
293
337
313
323
355
355
330
323
353
276
241
319
245
323
258
288
302
288
376
277
312
320
351
278
372
275
266
283
309
350
322
283
261
367
361
251
278
281
249
249
319
291
293
350
358
303
263
308
335
364
356
297
304
318
242
333
331
284
340
272
398
362
311
349
395
336
326
366
331
320
347
186
289
345
311
318
259
315
330
294
367
273
258
325
400
323
208
344
355
291
408
338
335
263
262
261
219
338
303
316
319
257
337
326
392
304
322
386
329
394
332
340
322
331
325
371
350
329
404
386
280
285
304
237
323
320
365
336
413
357
285
253
376
309
320
418
403
302
318
314
378
359
356
284
293
356
307
330
282
283
322
339
167
340
308
397
252
255
326
340
316
318
295
253
319
353
327
342
282
380
293
311
279
319
294
306
432
251
279
339
298
389
213
344
227
349
307
363
285
364
284
237
263
323
413
376
377
339
337
312
339
319
336
358
245
358
348
338
334
328
328
296
283
303
228
307
306
275
400
292
307
205
342
303
366
329
359
316
326
306
283
324
317
307
380
333
268
290
296
287
284
337
286
323
313
310
330
367
296
316
337
289
287
286
248
280
355
245
245
392
356
343
281
308
336
377
238
428
317
336
310
348
265
363
384
335
334
252
342
392
317
388
339
322
407
284
358
301
283
373
323
236
222
286
257
442
300
283
366
317
287
295
348
323
375
347
367
313
297
291
293
334
326
209
331
286
287
328
259
344
366
315
309
197
397
303
379
365
333
333
393
301
283
284
300
245
358
309
297
348
351
355
273
389
334
251
359
360
301
263
381
349
319
264
249
372
257
307
225
374
314
400
293
342
383
336
282
323
374
345
332
284
274
335
298
349
279
257
253
328
302
325
235
275
353
426
326
400
321
224
319
264
382
311
280
319
357
372
322
322
368
204
348
304
292
343
333
318
256
363
348
374
236
307
342
295
291
266
331
333
279
353
305
324
196
307
316
335
236
397
316
361
273
306
377
343
282
358
351
322
316
376
338
290
367
268
299
337
214
308
301
383
283
326
222
341
286
245
305
283
436
228
265
367
339
365
294
346
374
206
321
269
335
279
405
277
350
392
349
279
381
325
250
239
303
335
290
181
274
315
333
288
372
341
323
301
292
326
312
329
362
317
360
307
397
340
341
331
237
340
232
379
339
316
352
401
244
385
284
275
353
398
284
264
355
320
271
333
362
312
225
254
367
286
362
304
324
287
276
369
351
346
280
358
233
299
291
376
245
315
386
378
324
330
310
364
328
326
286
337
315
345
403
359
327
296
370
296
253
306
310
293
331
307
284
318
331
396
352
339
344
205
428
294
299
235
265
302
253
281
369
270
266
270
357
327
211
294
356
283
333
315
354
230
299
338
268
264
293
278
264
372
243
360
273
254
317
346
329
375
313
360
298
318
335
358
321
198
278
338
335
260
348
359
396
348
321
371
260
336
273
380
308
316
347
367
260
388
341
266
256
279
308
360
319
353
317
341
351
258
366
317
323
282
251
331
377
367
312
334
232
337
338
279
374
238
346
354
346
221
280
271
306
325
283
346
397
339
352
315
330
348
352
251
184
315
319
325
372
294
336
263
272
255
287
337
291
375
344
265
282
288
395
287
408
247
271
320
256
327
386
311
362
314
289
262
340
323
384
286
384
354
240
289
273
365
313
276
409
259
156
305
317
310
316
322
321
359
316
367
333
362
380
347
310
219
334
325
314
346
275
289
341
380
384
236
297
279
352
350
284
380
333
256
339
199
322
331
376
416
370
281
346
346
290
332
304
387
399
339
318
356
314
321
298
341
301
315
307
335
252
293
324
310
328
316
252
401
189
324
238
317
374
289
290
250
327
237
347
314
271
293
342
325
342
322
315
293
276
256
287
255
304
372
321
240
302
263
297
306
338
286
321
397
268
337
280
413
338
314
297
349
321
303
275
297
361
311
403
339
290
319
369
315
233
309
357
270
343
334
323
363
353
261
302
304
345
384
285
319
272
310
373
319
326
353
369
384
270
329
304
327
258
233
268
415
384
277
323
448
321
371
365
310
331
318
301
327
304
333
304
335
319
374
341
323
306
249
350
393
342
288
271
329
346
318
271
312
346
264
303
332
254
372
318
319
218
335
310
297
291
337
318
298
308
236
293
361
287
312
285
346
279
371
324
313
368
368
314
272
400
287
276
295
362
221
238
314
320
371
266
374
292
326
355
331
398
365
251
425
303
295
294
330
304
387
304
333
286
341
316
306
280
265
335
377
317
333
363
372
345
239
357
376
290
361
334
278
346
325
284
309
330
238
306
353
328
273
255
381
340
300
356
230
359
356
280
306
344
267
330
354
272
346
276
199
250
341
284
258
230
308
325
305
396
281
304
315
275
296
328
327
306
312
341
339
400
293
306
282
358
261
362
380
309
366
357
329
356
346
244
215
359
339
321
281
356
294
250
276
228
405
353
334
370
291
337
293
261
289
272
205
382
362
310
311
325
303
285
330
215
359
248
352
221
343
319
263
335
294
331
320
388
382
382
306
304
354
381
257
283
285
252
326
304
299
325
328
315
315
325
283
339
282
283
319
290
359
300
282
325
241
377
335
346
295
356
298
316
339
346
222
258
219
358
329
240
271
360
249
319
296
355
362
309
316
306
287
334
322
325
223
323
262
271
332
321
296
322
322
353
237
283
361
284
312
302
333
312
264
287
340
317
316
279
326
287
295
357
338
282
346
309
355
312
294
306
285
294
323
370
274
298
312
389
286
253
255
451
293
223
284
330
337
308
277
271
289
346
245
316
297
284
316
323
234
338
250
328
352
247
313
344
393
333
271
378
389
307
219
267
256
282
316
307
362
288
352
397
309
331
279
289
401
323
348
411
330
342
343
337
189
222
273
302
278
315
331
367
290
321
256
274
340
321
354
353
353
264
356
243
260
327
326
360
299
277
302
336
316
330
299
330
244
320
322
315
212
254
331
334
291
267
330
285
313
295
282
304
352
333
415
336
304
323
291
369
284
330
362
296
338
289
319
331
325
277
311
282
324
297
335
345
229
347
406
361
270
307
339
326
280
296
344
340
285
343
288
311
290
355
262
195
372
326
386
332
346
320
272
297
305
361
310
207
329
212
306
259
339
312
310
340
268
334
314
327
318
315
270
287
354
325
288
331
370
353
377
336
305
297
261
283
370
309
326
284
303
334
291
350
330
338
322
276
316
346
299
278
388
265
328
299
232
276
254
330
346
336
256
289
364
333
335
304
323
345
260
392
246
399
358
268
300
302
364
253
271
206
266
363
245
275
301
369
251
326
408
298
325
310
239
304
281
359
264
384
355
302
288
274
313
252
306
280
197
314
304
319
279
359
294
300
256
300
358
271
364
303
327
266
339
381
405
327
311
318
289
215
273
388
238
360
261
334
317
313
343
354
309
339
297
359
324
242
283
334
281
380
335
269
319
276
338
313
358
340
302
291
195
341
251
306
301
249
297
299
413
370
320
291
362
295
351
394
277
283
253
266
315
342
273
358
365
356
303
282
391
375
361
335
313
253
254
238
387
293
406
405
267
280
259
327
319
266
324
220
363
256
275
358
325
278
298
374
303
308
255
277
379
380
310
323
358
313
281
341
373
419
349
289
298
192
299
331
340
306
395
351
353
277
296
300
332
234
357
300
367
327
300
310
339
255
331
240
384
265
268
372
366
347
168
289
293
284
297
347
276
410
326
240
363
292
393
347
333
299
313
378
307
264
347
355
390
342
258
307
399
323
361
313
324
305
366
359
293
308
310
317
319
264
359
302
329
309
305
299
329
259
350
241
278
346
301
274
285
245
280
307
313
283
234
238
328
366
289
264
276
348
346
342
326
290
399
283
300
328
307
236
301
340
253
308
317
250
271
364
356
326
328
327
297
308
276
309
281
352
321
286
261
357
347
271
365
337
297
312
309
249
357
317
354
294
298
356
342
237
278
267
295
263
312
319
214
238
302
312
298
296
313
335
373
359
275
351
334
274
365
195
341
368
381
322
356
338
343
286
312
379
282
393
399
349
272
328
360
293
294
273
312
287
276
291
303
296
322
318
356
330
322
295
240
275
341
253
387
270
335
309
331
353
267
270
405
312
319
299
349
305
286
315
312
253
304
348
407
370
315
427
270
361
362
301
298
256
340
301
201
277
330
349
317
406
302
353
351
308
338
321
278
301
313
319
235
332
289
332
297
314
342
361
320
269
333
315
327
362
242
313
293
368
284
309
267
252
384
248
287
409
314
283
269
320
305
315
261
341
308
364
336
413
338
340
350
248
317
298
311
307
339
300
305
285
285
315
232
257
366
342
320
321
339
316
369
365
387
325
270
343
295
380
375
312
286
313
314
286
328
262
311
256
382
335
294
346
291
280
303
304
383
330
280
307
340
321
296
331
306
245
291
240
347
296
282
262
303
288
302
268
287
317
352
301
287
261
375
300
291
379
288
310
355
323
344
341
357
289
222
261
231
403
282
329
347
349
230
238
326
301
355
260
295
313
280
272
407
274
204
324
401
183
281
339
274
327
324
319
373
370
305
308
328
267
324
290
298
290
306
332
265
308
257
387
264
359
286
288
321
402
276
290
433
335
290
368
333
354
308
410
381
326
328
305
274
321
293
313
340
280
322
411
314
292
287
388
387
355
362
285
316
285
289
222
356
256
406
239
391
311
280
342
221
298
256
327
254
273
324
346
312
347
258
259
315
293
333
292
321
288
320
307
271
353
349
291
370
355
318
292
327
336
322
258
324
297
348
355
228
357
324
254
422
325
314
343
301
270
290
242
331
297
399
265
297
379
378
380
302
332
299
276
285
343
378
319
342
384
225
277
343
298
343
415
332
363
240
251
304
335
311
286
246
247
258
352
241
273
278
268
319
315
266
315
297
239
322
330
288
303
307
329
254
222
311
297
323
331
315
299
320
230
314
283
256
330
200
324
318
242
269
353
317
305
381
209
292
301
371
353
264
302
268
294
312
328
346
352
272
285
288
306
310
321
328
311
388
361
285
302
285
285
386
341
309
264
291
343
303
314
270
346
319
290
305
333
319
382
258
263
363
229
332
415
378
298
249
344
302
358
340
397
276
280
300
280
404
323
343
276
347
315
386
396
330
303
264
288
344
327
415
335
310
306
280
331
347
282
323
314
294
264
304
328
264
269
299
342
268
313
286
271
317
309
298
313
279
373
305
312
304
367
269
274
395
395
301
296
370
307
369
264
286
263
323
283
290
269
268
299
326
364
248
298
258
299
387
385
282
279
309
305
346
327
305
312
303
311
331
336
378
367
279
250
315
429
182
338
323
358
293
251
341
309
346
341
310
211
320
311
300
301
323
349
451
299
315
299
347
261
391
346
288
329
304
348
319
312
359
309
323
256
318
291
311
315
320
300
246
306
351
273
314
336
233
350
295
342
276
294
291
301
303
249
308
358
382
351
367
343
305
290
288
303
287
355
355
300
374
246
419
336
361
319
307
341
347
331
347
243
298
379
244
253
343
289
351
287
327
353
269
357
325
242
370
345
326
342
355
387
378
380
343
298
379
311
411
371
282
293
381
350
353
270
331
273
288
342
366
308
301
292
305
372
312
348
264
329
243
248
329
358
333
365
204
389
359
305
322
260
315
341
317
355
316
341
327
305
236
349
356
295
265
379
355
249
345
309
369
360
310
357
358
333
337
278
295
337
308
378
316
313
255
317
296
350
289
279
326
333
290
293
318
215
252
353
348
440
344
362
420
360
249
324
356
367
275
307
305
324
322
422
305
361
315
319
227
365
330
315
298
258
391
370
319
255
363
318
303
277
330
386
302
336
360
339
328
405
318
211
265
292
345
257
359
324
323
366
251
321
351
257
320
276
361
353
316
269
282
336
243
337
248
340
283
339
366
361
260
349
297
323
284
329
277
318
310
347
254
380
335
393
414
305
362
290
329
226
279
254
323
403
367
232
311
380
354
274
274
369
322
321
355
285
314
315
331
163
265
264
309
305
290
324
275
318
323
236
365
357
366
360
304
248
345
286
277
314
315
359
327
235
356
246
254
368
347
344
271
423
285
255
307
237
303
389
300
303
379
339
346
232
319
332
230
239
350
327
345
274
273
273
346
299
301
260
331
313
361
352
386
290
258
316
325
318
229
410
317
330
340
354
319
400
370
416
314
267
310
311
350
270
340
300
366
319
321
238
214
330
295
331
294
336
360
274
354
296
280
296
296
299
327
295
338
252
322
364
233
332
369
260
256
263
362
365
310
267
331
308
343
310
264
287
336
331
361
347
260
306
356
378
271
333
285
318
288
286
300
311
320
324
266
306
301
394
235
307
335
351
366
257
285
366
325
270
358
248
314
361
306
363
274
397
378
379
307
323
279
369
324
317
239
289
294
324
344
315
394
347
278
362
326
306
259
286
265
325
312
210
266
291
273
299
285
343
262
243
323
326
285
336
309
355
277
231
335
363
237
301
279
348
364
291
273
368
327
351
392
246
318
343
299
315
303
324
191
332
338
334
338
363
347
410
223
266
361
308
387
286
395
374
295
319
248
417
272
348
345
382
333
259
333
337
294
378
287
308
357
402
355
292
238
234
283
383
282
270
310
277
305
231
331
303
347
267
252
357
395
338
255
347
374
366
289
378
324
336
389
261
373
293
288
279
296
310
228
319
342
325
226
278
316
337
296
328
309
329
361
313
330
254
314
314
299
274
329
368
275
357
320
319
273
219
296
290
233
312
330
281
364
344
286
300
270
330
297
178
389
224
298
315
302
329
315
291
336
286
282
298
387
416
275
292
379
328
337
308
350
293
331
341
275
314
324
320
332
262
189
338
314
309
327
263
330
336
416
306
382
396
324
320
238
356
355
320
376
300
298
356
381
216
354
383
355
242
330
291
400
311
277
319
316
364
240
326
324
310
270
212
282
358
277
460
229
354
319
264
301
296
376
304
297
345
308
391
369
376
298
265
328
206
224
316
280
355
299
244
336
293
304
373
378
399
303
346
314
307
286
323
318
365
328
283
348
316
349
285
322
295
240
271
326
343
329
248
334
336
275
350
293
241
240
304
279
315
368
364
324
322
297
285
264
334
286
344
311
333
269
337
342
304
363
361
312
320
306
356
251
351
303
299
342
309
226
231
358
303
316
319
325
215
273
294
313
304
359
321
285
309
331
307
288
307
307
258
301
380
348
297
206
406
310
295
327
277
337
322
267
255
249
370
285
339
311
230
341
434
289
312
369
215
284
302
220
317
302
287
396
322
293
325
321
326
391
341
348
355
393
347
291
302
379
245
336
331
270
319
337
318
327
397
390
303
334
341
292
348
369
365
230
294
244
232
267
436
298
268
243
369
287
271
322
350
313
292
328
341
237
356
316
283
279
262
334
302
181
280
345
352
399
281
288
368
309
242
292
340
315
316
318
334
181
296
295
299
315
379
279
321
288
371
333
329
349
301
265
262
291
270
382
333
365
262
390
341
353
330
331
270
205
287
332
372
220
355
270
347
342
278
338
389
237
255
311
348
324
387
265
364
269
311
306
354
348
345
288
311
292
278
296
310
305
307
339
332
290
243
334
422
366
377
306
381
317
310
273
348
288
278
302
326
330
314
345
297
272
370
331
262
194
315
383
288
307
268
357
392
250
345
345
320
278
279
295
302
386
260
380
342
361
302
337
392
355
318
230
336
367
347
328
371
307
345
251
378
388
243
308
311
276
370
268
343
297
285
323
343
364
226
395
306
345
303
311
305
340
358
366
321
349
293
291
357
261
374
420
268
291
357
317
249
302
335
324
354
340
289
349
291
311
289
201
295
337
313
332
321
326
250
251
342
280
236
336
272
300
357
391
297
273
424
276
322
332
203
283
234
358
321
366
292
341
243
357
313
291
301
319
298
305
351
308
339
286
300
395
303
306
361
313
290
389
361
247
165
281
351
302
368
274
312
377
380
200
297
305
337
398
255
333
302
312
283
376
337
267
399
301
313
308
241
352
260
230
353
337
325
385
331
237
297
299
332
359
336
398
175
294
313
346
334
267
372
375
255
317
324
273
309
344
262
268
316
262
323
262
296
297
393
326
280
395
347
245
331
285
347
353
313
326
341
307
325
330
342
382
344
215
364
349
340
356
365
321
302
337
327
288
327
295
267
346
393
335
303
289
345
344
321
330
333
327
293
282
346
204
330
243
315
304
348
365
354
335
365
262
307
201
299
329
242
321
273
271
336
322
306
263
249
313
330
328
314
358
344
336
264
301
284
316
413
368
256
365
304
312
294
358
316
261
369
292
365
281
353
239
349
296
287
246
310
282
245
263
250
365
312
271
374
321
366
361
259
300
303
257
299
350
290
305
343
311
345
247
369
290
268
264
402
322
262
369
307
274
300
324
342
295
345
322
207
362
360
288
318
281
310
286
256
277
256
240
356
306
243
255
318
347
320
255
337
347
272
271
317
366
323
338
341
315
349
262
361
297
338
371
398
301
253
253
362
355
293
336
366
273
251
254
305
308
289
374
280
278
371
307
325
302
345
345
403
292
347
246
384
322
316
357
383
312
249
366
326
275
372
275
382
357
357
283
344
345
332
386
359
225
283
272
259
248
346
372
439
312
358
272
282
381
398
310
302
272
289
284
306
338
267
360
289
292
333
247
340
315
228
341
359
305
407
279
243
240
270
240
247
290
316
318
335
295
306
249
319
337
317
307
309
354
344
242
324
308
273
413
317
342
391
292
308
379
272
307
274
353
328
335
294
203
271
373
305
340
295
313
315
327
363
286
274
347
308
347
277
403
331
242
276
363
321
306
319
344
360
343
292
278
367
279
398
319
324
185
265
325
262
310
362
329
260
321
363
373
256
364
305
362
404
300
299
378
373
290
356
272
334
187
368
351
370
317
271
215
337
344
309
232
322
365
314
301
336
319
342
287
284
331
354
422
225
364
360
293
290
355
318
328
396
277
359
358
278
310
281
326
321
232
328
303
342
322
385
285
379
289
336
311
245
328
333
311
365
362
329
367
369
256
305
267
304
358
370
321
293
362
383
367
276
339
293
387
293
313
296
330
353
283
318
299
377
298
311
313
356
293
278
295
352
362
251
354
361
277
246
283
289
309
332
330
367
297
321
293
312
293
335
314
323
264
351
303
349
238
378
315
352
311
359
407
304
231
403
304
373
431
360
327
306
338
226
288
290
335
329
285
299
330
296
260
274
258
268
253
368
272
289
371
434
338
316
354
381
316
326
336
321
422
269
315
418
322
297
345
256
280
281
330
326
338
362
275
333
324
262
276
335
334
270
273
376
293
345
292
328
341
277
273
280
337
305
383
295
327
254
247
327
279
317
329
294
290
309
359
293
335
305
304
355
341
320
301
386
334
325
298
265
399
319
361
379
243
358
257
322
362
309
290
318
353
438
300
293
305
374
359
238
262
330
343
272
327
256
330
314
272
314
295
372
331
280
247
309
331
311
323
292
327
229
386
317
325
310
284
230
310
299
361
360
274
246
342
282
362
367
283
355
370
282
242
331
242
314
359
271
359
347
335
339
273
263
296
334
308
349
236
304
331
343
329
402
268
226
297
414
293
328
337
260
300
256
282
348
282
417
316
277
343
282
334
296
319
321
234
352
282
383
304
259
326
337
291
346
333
324
298
349
362
342
238
330
296
321
305
320
217
339
242
317
277
330
380
289
216
233
315
331
314
343
310
320
303
365
340
330
357
310
323
282
368
329
299
297
315
258
246
353
244
340
351
305
297
416
338
341
243
273
317
274
317
306
287
310
294
269
270
333
262
322
231
364
352
393
344
317
356
300
343
273
345
248
362
368
293
306
336
370
320
330
249
318
401
249
353
294
198
296
379
379
317
280
385
317
328
266
313
383
349
258
367
295
340
330
292
311
295
356
343
323
247
315
338
282
280
345
349
269
294
276
361
381
352
283
322
329
343
287
296
354
303
331
291
288
193
309
274
248
340
278
333
241
346
238
312
278
338
319
356
269
329
298
324
348
296
332
318
247
302
366
363
334
340
377
324
353
294
264
309
376
333
358
236
340
216
332
386
260
308
261
227
409
300
321
314
293
258
297
384
255
291
273
344
337
341
316
359
340
246
329
257
270
411
360
314
343
276
328
305
342
276
318
371
242
279
258
229
337
308
231
339
378
224
380
194
453
240
336
343
293
332
366
306
226
237
285
357
386
232
289
294
225
267
356
256
257
302
310
336
328
365
287
360
365
412
338
288
272
364
399
306
306
292
233
294
267
330
406
330
248
243
295
291
300
281
338
328
358
347
280
288
347
387
322
366
324
351
389
355
418
302
313
410
290
261
341
318
340
286
339
384
275
203
288
251
288
312
345
286
341
344
338
346
387
334
385
369
389
314
307
284
315
308
332
358
274
320
318
362
376
328
365
324
243
253
301
329
326
330
364
312
323
290
278
382
358
235
297
336
310
363
266
272
384
263
328
410
402
332
362
297
297
365
298
296
328
290
357
311
256
364
292
342
361
301
313
359
342
346
259
426
250
341
301
231
265
413
289
334
300
286
308
307
291
257
283
298
350
355
310
357
338
339
317
355
357
440
353
307
389
336
269
276
371
291
236
390
288
297
331
253
332
293
359
232
259
327
367
355
377
327
256
325
335
305
341
304
288
358
336
204
348
314
291
298
339
288
341
313
383
284
311
362
284
386
310
312
314
419
334
296
308
388
255
339
348
255
358
243
322
359
333
321
225
296
270
262
206
282
360
294
335
283
401
434
296
364
257
298
248
340
334
363
352
323
284
276
292
420
276
308
370
381
257
209
236
397
258
363
366
260
325
393
321
222
343
356
360
383
324
357
294
327
350
298
309
349
364
304
289
329
356
299
279
318
282
361
211
379
325
293
394
288
403
361
220
325
254
350
373
287
236
311
349
391
391
319
308
316
288
341
265
342
244
332
356
285
303
342
365
320
306
365
276
248
241
344
375
301
379
327
331
287
311
344
371
396
346
309
313
284
272
350
329
344
223
347
197
330
348
284
341
238
344
313
334
340
358
356
358
337
292
361
235
377
292
366
271
323
331
210
380
315
328
282
340
267
359
300
332
363
335
402
314
381
359
341
301
335
330
406
366
333
262
302
336
368
320
280
304
300
271
356
414
308
279
345
323
277
231
355
276
331
336
332
309
359
308
258
326
350
306
345
251
327
293
341
309
357
280
271
322
320
270
275
271
354
386
343
312
280
268
377
333
309
239
365
287
341
395
435
376
274
315
290
262
341
357
287
254
316
348
344
297
218
302
278
300
328
320
379
330
349
317
285
315
293
352
373
337
335
297
295
254
360
409
357
272
321
330
326
299
313
360
301
277
368
314
287
323
354
417
368
240
297
314
360
290
372
334
293
336
351
303
241
253
284
220
324
256
363
342
391
341
301
242
316
277
298
313
335
316
336
306
331
333
345
368
324
418
276
268
241
259
334
305
314
293
230
345
347
267
285
391
309
290
354
289
298
337
330
329
272
365
286
280
437
347
341
267
339
369
240
298
340
329
302
390
308
301
310
235
313
336
321
342
264
368
376
389
244
370
308
259
313
311
312
267
263
279
338
350
329
276
303
387
303
370
330
322
303
300
321
400
251
352
271
290
437
339
326
363
335
324
290
296
372
332
298
343
353
246
330
272
327
309
297
319
245
354
315
312
381
305
280
310
268
207
311
347
282
334
360
289
355
312
332
258
431
271
323
361
324
334
324
314
327
329
347
390
274
394
384
342
343
343
276
270
285
378
333
242
358
309
222
225
336
311
271
306
309
357
379
334
333
279
296
296
271
334
333
372
342
308
260
256
367
274
390
356
350
328
374
276
279
309
281
332
250
342
266
340
251
258
336
374
318
282
319
254
264
291
220
314
372
375
312
334
280
309
377
346
295
310
344
290
301
341
306
367
379
272
341
353
308
342
256
344
392
268
263
316
246
324
315
359
279
374
276
265
228
370
297
310
285
395
277
268
263
242
321
243
342
341
343
298
376
362
314
362
382
316
353
319
344
373
330
371
257
390
369
331
326
304
368
343
289
327
284
335
300
346
332
347
289
286
349
342
343
326
300
306
311
293
326
266
304
329
328
314
324
293
235
375
247
326
358
267
333
361
321
328
301
248
250
292
284
334
295
330
259
364
315
324
365
385
356
295
295
293
344
296
375
309
312
387
302
328
374
281
309
336
328
267
326
278
369
325
318
346
299
267
302
291
235
300
343
281
403
324
254
362
283
224
294
243
300
361
304
275
275
244
351
353
351
315
297
316
342
293
359
275
266
291
341
362
263
281
318
307
286
377
253
341
286
310
314
352
317
284
293
283
320
297
317
300
394
298
340
393
322
230
262
290
398
322
240
280
363
274
369
269
369
305
301
317
335
339
278
251
397
333
343
334
265
247
311
290
289
339
320
324
314
326
266
257
297
286
277
411
367
337
287
320
357
310
222
321
350
250
346
270
259
289
302
295
309
332
242
246
354
342
370
302
325
259
286
343
313
339
227
355
292
316
390
367
241
336
382
372
279
314
353
302
341
354
291
345
303
279
301
326
346
253
319
268
305
353
373
341
395
320
402
293
286
296
320
279
318
314
335
231
207
264
358
275
366
343
295
292
297
245
270
341
242
285
278
252
329
299
319
336
345
315
246
359
407
371
285
348
363
399
347
343
303
306
334
273
224
310
335
303
303
315
193
265
365
296
361
356
237
351
280
353
316
347
327
317
238
257
239
292
317
251
302
237
363
326
398
258
388
286
322
337
351
335
317
279
306
325
279
327
361
318
260
276
401
358
363
299
325
332
357
348
296
321
368
318
389
336
271
356
351
293
331
419
339
313
334
370
212
317
373
297
347
258
285
383
351
309
348
323
361
300
360
286
237
302
321
330
336
287
331
280
314
276
336
424
301
306
302
341
295
340
337
317
273
283
313
242
318
264
361
259
376
340
359
309
322
285
327
301
286
337
377
277
290
272
399
296
347
298
374
279
339
341
302
314
296
381
300
261
378
301
324
229
339
360
243
371
311
328
343
296
312
247
296
304
300
326
346
371
363
300
279
383
302
308
336
382
336
244
312
246
296
418
305
318
350
373
327
382
303
306
326
330
289
262
289
281
285
355
379
356
353
302
208
351
317
292
287
283
266
322
327
325
282
297
380
318
280
337
261
306
331
256
310
382
348
353
227
297
293
257
332
362
266
309
305
312
309
292
291
270
313
348
365
302
411
326
231
333
258
324
337
215
271
366
245
319
343
244
166
267
263
235
342
317
309
282
332
261
370
268
325
347
302
258
339
332
302
288
380
388
313
287
278
322
268
335
384
293
310
364
292
349
335
345
388
320
349
353
322
342
294
387
389
370
270
356
314
328
292
331
296
404
327
254
252
366
289
333
283
347
270
306
336
275
255
355
348
370
349
311
337
359
237
296
324
304
367
319
298
306
319
330
282
280
294
337
318
311
323
343
302
286
234
333
322
324
309
349
338
292
318
268
331
374
369
331
232
359
226
287
379
336
269
222
371
253
281
151
414
356
387
335
371
273
289
285
350
332
311
263
299
313
333
323
375
280
345
297
350
380
269
348
231
295
248
411
274
339
299
276
360
342
281
373
351
348
266
382
327
265
390
305
388
293
278
317
329
283
419
319
307
298
361
335
343
271
255
218
326
308
320
279
243
224
351
299
349
345
316
388
378
370
331
285
321
356
219
269
242
254
358
321
278
307
256
367
248
285
317
305
326
333
308
281
294
337
263
323
306
261
203
308
330
360
317
347
265
378
250
311
351
288
385
292
398
304
295
317
315
362
344
331
275
253
263
290
322
399
225
276
325
270
276
263
247
316
303
332
337
388
236
299
390
315
332
301
306
344
324
274
320
238
336
289
326
413
362
355
315
356
287
329
283
317
359
356
376
324
291
331
272
284
332
376
407
332
215
204
290
264
376
285
274
293
292
306
369
332
325
330
253
380
328
314
324
306
277
318
299
341
324
261
394
239
376
363
348
266
363
300
296
340
298
365
219
360
311
290
362
336
370
270
264
316
386
270
304
361
409
342
348
286
207
286
274
327
327
279
364
319
330
315
343
313
386
246
364
286
302
378
242
310
270
437
321
353
257
377
344
332
283
300
281
389
285
305
318
309
292
324
354
289
343
309
334
319
303
333
356
334
356
323
330
314
287
387
365
225
335
289
299
291
319
267
303
343
262
290
355
289
286
318
356
325
324
298
317
354
378
285
440
304
331
383
271
358
329
297
282
333
296
300
359
309
367
298
192
319
287
381
281
296
296
301
359
234
310
341
354
260
378
244
283
311
337
340
260
283
301
332
260
348
339
228
281
306
293
317
388
227
318
338
310
306
344
224
288
293
289
317
319
411
312
230
276
344
289
269
238
395
317
435
276
276
278
284
233
362
407
207
248
340
390
336
357
347
351
385
293
383
330
390
391
201
277
321
345
402
381
225
305
258
325
276
322
265
340
244
369
374
393
293
373
310
243
298
320
304
238
355
298
338
352
253
398
230
266
352
343
286
365
272
429
380
240
263
389
308
379
341
319
328
376
336
382
319
288
397
319
356
340
310
273
269
265
200
260
284
257
297
272
284
315
333
331
365
293
329
252
263
265
347
322
282
356
271
352
318
324
326
329
246
318
275
246
246
358
331
357
345
345
299
304
420
405
276
340
436
289
348
296
278
300
367
333
295
400
287
284
254
258
387
280
323
266
289
331
287
259
383
292
310
271
355
298
275
288
299
331
286
371
308
357
325
338
374
326
356
302
289
321
372
280
329
373
255
303
271
319
200
307
324
306
259
259
294
325
364
315
295
293
362
312
304
354
297
318
289
343
346
312
271
266
265
355
357
308
264
394
356
314
261
311
379
297
348
244
379
337
322
337
292
355
316
306
307
335
380
332
238
307
339
363
303
380
355
297
310
262
310
261
370
313
323
343
234
360
325
238
330
340
286
285
371
357
318
276
307
260
287
304
296
357
309
349
266
323
305
275
227
340
284
286
311
326
265
269
398
298
395
332
229
322
382
311
301
401
353
335
322
374
285
257
327
262
404
360
313
325
231
343
324
271
305
382
301
233
353
291
309
345
352
303
297
316
299
379
357
319
341
285
254
379
376
302
309
294
331
321
338
303
314
311
296
327
289
285
355
246
353
286
321
370
327
322
246
296
314
377
279
345
335
349
289
290
280
273
277
375
347
322
304
249
321
380
242
350
312
389
271
395
275
254
328
297
366
270
305
325
342
357
358
350
325
333
271
309
292
247
306
323
229
220
353
268
388
354
366
242
219
245
281
274
331
307
234
348
261
332
344
249
418
289
321
261
282
403
386
331
344
314
264
338
258
320
449
251
342
262
327
352
294
321
321
308
204
346
191
300
364
268
299
306
245
376
251
375
317
263
275
299
332
318
383
311
350
309
313
319
288
313
359
306
281
366
275
281
284
342
255
318
283
280
330
357
257
300
315
383
282
250
345
384
231
340
219
231
239
397
370
345
253
277
273
276
299
311
345
326
385
238
273
367
340
321
246
395
323
242
240
350
334
361
264
245
285
326
329
348
379
363
298
306
299
283
280
355
391
338
285
323
342
359
322
311
271
303
287
340
273
375
422
348
305
333
364
331
307
359
257
251
342
348
316
400
328
334
298
273
299
257
366
210
273
361
356
272
265
351
274
211
224
295
329
293
299
245
340
401
214
280
307
300
360
352
390
325
357
410
356
279
291
280
358
333
245
280
220
345
348
303
338
247
327
213
339
287
337
368
338
373
226
358
350
406
340
323
315
323
336
284
383
202
388
316
321
398
302
372
370
365
344
370
315
259
296
303
268
320
278
261
269
249
279
222
396
388
302
297
233
332
283
287
292
299
274
312
268
289
355
353
358
325
324
267
314
298
331
311
229
372
301
336
331
257
359
303
252
222
264
315
241
295
289
303
264
295
229
289
333
256
411
382
301
360
376
364
315
328
300
276
335
253
304
367
316
359
289
323
317
374
310
325
332
281
342
421
416
291
229
369
309
352
371
280
244
295
325
324
267
297
260
341
308
348
310
296
331
268
292
303
382
299
355
279
294
356
200
249
335
298
318
300
371
373
243
300
313
223
273
291
313
298
321
358
367
336
288
282
325
356
271
310
295
323
322
294
278
296
297
234
302
260
294
372
314
340
339
261
302
334
342
290
282
307
257
267
298
344
360
373
394
293
331
257
306
297
348
335
281
349
274
284
282
378
369
298
313
297
269
273
322
312
355
283
257
315
342
225
377
310
287
320
351
363
254
357
290
310
252
206
233
275
284
338
354
398
292
315
357
271
304
356
317
366
288
302
323
291
266
303
329
382
351
285
268
275
402
308
361
377
333
309
305
322
367
364
297
287
323
310
271
310
345
286
275
291
321
333
315
352
263
322
355
344
270
338
336
293
310
307
295
296
266
330
290
351
298
339
358
254
474
388
272
332
387
378
312
348
234
315
276
290
334
309
438
399
251
288
342
357
334
355
403
396
369
336
288
339
341
228
350
366
234
280
354
349
246
274
347
284
301
384
343
409
252
307
322
238
327
347
311
322
327
339
326
326
338
290
299
364
395
268
297
293
356
387
356
230
371
294
366
345
352
320
287
292
279
290
413
260
351
310
341
348
347
373
430
291
354
337
329
291
384
338
259
311
356
269
357
267
320
384
304
303
378
375
338
373
340
307
249
244
360
312
241
390
349
316
304
290
318
279
270
356
331
316
333
351
227
399
340
364
356
236
245
288
273
278
346
315
255
271
252
283
398
310
343
276
335
309
298
312
366
294
353
296
300
326
387
294
371
362
338
327
278
300
308
319
339
368
343
364
311
298
379
315
281
280
338
262
253
320
314
351
309
407
302
370
310
379
280
266
314
262
342
317
245
309
295
310
329
303
191
437
386
230
296
336
196
364
324
310
342
293
276
302
273
268
381
216
407
363
344
394
316
287
367
307
290
252
411
320
278
365
325
323
332
319
289
379
437
314
313
249
279
320
306
349
318
263
325
349
327
305
322
263
364
290
347
328
347
256
299
354
349
270
298
287
237
352
349
331
302
263
263
296
326
269
363
314
370
259
328
302
231
347
321
312
255
348
362
365
312
306
232
387
242
279
305
318
271
347
371
265
369
232
285
292
290
346
311
342
276
369
337
331
354
366
329
329
255
356
320
309
382
326
378
319
299
373
386
267
346
312
189
267
350
253
395
383
318
249
409
307
294
284
361
267
311
365
325
304
299
262
342
369
289
372
351
360
329
390
279
314
318
350
308
408
265
366
357
317
277
298
359
351
273
290
318
201
287
289
283
273
301
369
365
338
304
353
271
368
435
337
258
296
244
304
272
321
424
384
258
273
384
289
328
220
317
407
309
322
342
336
386
335
334
315
247
306
335
193
324
303
418
333
368
275
282
401
308
376
267
289
376
316
313
388
345
339
204
410
285
287
265
345
329
348
347
259
361
310
355
341
341
344
359
312
328
337
371
306
393
289
303
312
355
250
343
304
326
287
338
400
333
295
348
328
321
381
347
320
301
398
324
217
281
310
311
315
334
380
321
385
326
290
305
362
227
277
360
277
268
334
335
321
227
276
331
346
297
271
310
280
335
343
233
221
341
179
331
370
330
304
245
231
253
320
351
305
303
351
324
313
316
319
335
372
292
231
307
321
251
332
317
293
284
304
336
276
307
378
383
291
330
320
347
345
381
353
336
274
363
358
321
340
346
356
374
283
256
317
301
259
317
263
297
300
320
357
331
308
298
292
352
262
356
355
344
232
201
284
338
332
236
351
335
259
308
343
298
351
274
274
319
300
317
313
318
308
273
375
273
308
313
326
272
355
356
338
210
252
378
378
324
254
273
324
196
291
261
329
302
330
317
310
343
303
284
315
387
338
313
368
303
351
344
240
320
399
319
342
353
355
368
358
250
266
336
288
311
403
292
330
324
297
360
380
415
301
321
210
358
262
341
280
306
217
397
327
341
283
293
312
330
304
282
322
297
299
253
376
355
279
295
264
316
287
353
316
319
329
274
321
189
285
321
318
374
269
383
349
340
311
331
263
276
299
307
252
348
299
339
322
379
204
317
311
327
297
316
304
279
337
341
310
372
371
318
212
305
333
234
288
350
355
313
358
200
297
350
331
322
303
207
355
311
392
341
348
333
288
333
261
341
317
302
255
320
284
328
301
322
334
289
378
276
281
270
321
329
281
368
232
282
273
363
219
297
373
310
358
296
371
412
295
429
265
284
338
283
389
304
247
328
301
380
269
350
355
320
244
325
305
282
283
302
316
334
281
280
341
315
366
283
231
238
313
300
347
283
344
342
305
283
298
349
310
330
262
311
369
355
326
282
346
258
404
276
329
265
248
282
354
288
289
296
390
317
385
304
299
259
355
285
283
244
413
303
348
319
290
256
276
342
360
284
288
361
284
318
244
263
252
366
348
277
384
358
310
347
365
358
332
325
341
357
261
337
267
311
293
333
296
375
273
270
421
344
422
300
310
381
301
367
308
213
360
391
304
364
332
302
345
381
300
283
250
293
274
280
388
310
327
282
387
228
354
320
278
367
369
249
383
315
373
353
274
331
351
287
278
271
351
318
332
240
383
268
256
357
297
301
361
254
386
299
324
313
254
348
319
327
350
322
337
337
332
325
371
262
377
402
395
293
299
332
319
268
333
349
322
226
282
292
266
261
326
391
242
270
281
314
231
365
250
300
304
259
286
253
340
252
349
276
381
291
303
228
404
371
254
290
350
328
276
341
261
304
312
325
382
293
259
396
318
338
306
393
319
347
296
276
255
356
262
285
322
348
274
363
347
324
358
313
305
296
354
273
272
261
293
250
300
285
357
310
292
405
335
324
374
318
325
341
224
313
321
306
324
327
260
244
302
304
281
350
268
313
342
364
365
356
270
350
366
363
366
357
305
270
339
308
408
358
291
351
272
296
413
297
319
359
270
342
252
311
330
328
277
363
265
321
251
323
360
266
277
397
307
305
380
348
439
290
322
327
217
283
352
362
355
255
256
280
319
357
309
310
328
279
254
245
282
287
347
338
309
373
299
355
246
326
376
298
335
366
383
331
327
312
329
295
333
290
417
324
320
273
362
318
339
332
416
319
249
322
318
212
323
359
291
245
352
290
300
363
304
394
318
321
252
303
337
361
249
262
347
352
279
334
301
317
376
324
340
249
377
306
365
319
388
347
248
310
292
293
367
315
343
326
255
251
297
323
312
296
349
295
320
281
361
349
383
330
313
305
274
232
377
385
265
282
398
317
289
281
300
333
305
243
250
325
376
326
312
359
361
334
399
238
341
378
367
264
362
314
357
292
329
328
275
332
286
395
403
371
364
301
279
288
236
347
297
414
335
189
266
337
257
372
297
281
343
304
314
356
304
302
346
358
316
288
331
316
304
322
275
310
326
192
397
327
266
306
361
278
212
238
286
293
327
317
383
266
391
327
303
410
297
292
256
249
329
373
343
321
229
314
200
344
324
299
310
261
241
355
295
335
288
343
375
338
316
354
392
304
321
292
314
315
236
285
282
346
306
284
292
358
335
358
280
301
308
249
315
323
369
247
298
346
271
368
355
373
306
293
362
318
298
281
279
298
327
223
313
331
261
321
338
396
272
341
318
353
304
391
296
328
292
208
351
300
320
252
267
290
320
370
337
328
356
270
303
336
340
305
318
321
335
369
263
261
332
328
298
310
353
337
340
218
351
289
297
326
322
261
376
367
306
343
318
332
247
240
385
328
343
337
392
324
363
422
337
293
389
364
284
271
304
311
323
334
330
314
272
386
326
289
248
350
296
362
298
366
310
269
354
340
328
299
313
263
295
252
257
326
367
315
289
336
333
283
229
271
312
303
253
230
305
315
326
340
206
378
329
309
346
320
305
286
247
347
349
253
307
326
303
310
331
275
290
306
292
215
290
269
318
297
326
235
296
417
298
396
345
324
353
319
328
415
347
306
452
388
379
243
356
315
313
339
340
397
344
321
241
364
315
279
339
344
287
349
346
365
359
369
375
316
220
349
252
295
238
294
392
346
298
268
242
321
393
288
353
207
328
392
305
394
235
380
356
375
290
289
241
239
323
357
321
333
295
297
344
321
315
308
374
341
323
353
282
284
338
323
249
319
283
282
269
325
330
218
296
304
203
368
212
267
343
310
284
304
319
240
295
206
301
293
321
279
357
304
270
324
351
361
303
247
336
327
343
264
356
348
202
261
315
388
365
263
325
325
362
347
337
235
327
259
354
410
267
310
359
332
315
335
272
317
327
333
322
272
291
319
378
374
277
315
333
356
336
295
349
317
406
369
303
275
349
248
343
347
392
301
257
328
302
272
334
285
305
241
375
296
292
228
288
314
302
369
355
340
366
347
410
233
281
349
248
339
281
362
337
333
340
332
343
370
336
309
340
390
331
298
368
382
386
246
290
316
316
262
323
298
353
315
289
285
273
264
273
307
294
256
282
313
306
312
330
321
386
344
264
322
293
285
275
375
354
368
303
345
316
336
306
319
301
316
338
348
298
263
343
306
313
350
311
314
262
363
282
329
315
319
327
318
325
330
255
311
333
266
326
407
278
321
282
403
340
375
353
216
390
358
316
317
442
296
323
395
222
341
363
370
356
291
299
364
296
330
244
345
269
338
318
307
297
289
299
328
335
352
329
281
279
296
266
326
266
291
266
302
359
360
301
349
342
284
379
290
298
356
309
361
248
282
348
285
357
313
320
334
333
307
346
347
313
333
392
173
337
344
303
347
352
323
272
392
225
376
356
257
362
294
331
380
318
314
273
329
304
348
318
309
336
283
276
321
268
245
379
254
275
422
317
311
297
390
301
378
344
260
252
361
270
184
315
388
335
317
265
319
370
324
288
298
277
346
390
264
314
289
314
290
255
365
331
344
237
339
342
283
315
267
326
400
357
329
394
330
370
325
326
325
432
251
224
344
386
348
255
255
285
357
243
362
298
366
302
274
336
305
266
370
403
244
353
332
336
302
301
294
320
369
351
291
317
320
288
386
290
326
279
262
285
356
265
366
254
267
329
340
298
338
329
377
368
389
282
266
340
310
372
209
393
355
279
327
330
299
254
336
280
269
342
359
306
365
344
317
321
261
378
404
320
289
277
276
369
379
305
341
314
330
330
407
232
320
355
287
300
244
290
206
195
319
286
296
269
193
337
357
366
279
286
387
224
374
260
304
250
415
312
202
373
334
206
312
250
395
360
345
356
312
350
398
246
400
340
308
280
359
325
352
265
242
252
324
309
278
302
247
254
265
345
264
350
253
293
354
362
353
337
357
392
322
267
285
345
291
403
417
227
298
248
300
293
312
226
307
412
286
337
276
319
360
285
301
262
305
309
305
372
343
288
247
285
363
253
327
351
262
338
386
386
382
406
319
378
319
342
353
239
341
342
316
304
321
234
324
272
324
284
335
320
339
345
305
302
252
341
284
298
355
309
305
356
372
303
324
329
325
376
375
315
274
235
356
187
252
298
300
333
279
300
288
277
356
356
376
309
297
295
348
354
227
343
304
327
280
291
269
366
320
291
306
339
305
298
308
298
338
368
295
306
375
252
312
425
283
402
352
283
261
287
351
290
340
383
351
315
335
319
277
295
259
321
302
355
329
307
314
352
272
328
287
319
291
350
267
318
312
325
400
283
282
358
373
284
336
336
339
360
325
350
296
331
376
259
333
343
386
343
221
326
273
278
306
260
382
346
313
302
383
325
338
322
364
283
366
265
398
351
398
323
346
345
345
352
366
312
280
311
288
349
299
270
383
326
277
341
310
329
371
338
294
396
362
347
351
422
346
357
290
322
299
350
308
347
307
346
318
337
316
344
301
300
296
272
329
346
276
299
260
296
307
334
352
331
283
268
307
258
267
336
340
416
417
373
320
236
354
222
345
362
298
354
342
271
275
280
394
299
279
283
391
363
271
335
294
341
278
319
312
381
246
363
318
241
359
312
290
291
293
257
326
281
280
332
209
373
381
305
321
372
394
375
331
357
281
333
237
353
351
372
351
362
318
335
318
283
218
332
314
295
315
260
325
368
277
301
354
327
401
312
302
365
298
372
400
394
342
224
334
374
315
260
400
325
301
302
300
315
294
360
329
265
353
329
287
285
368
309
296
377
363
270
347
415
309
342
390
292
315
370
370
254
376
290
371
395
264
344
256
333
391
286
391
275
277
351
353
293
271
375
304
231
345
303
264
280
258
353
315
275
333
305
235
284
319
277
280
326
324
338
289
356
332
278
308
308
381
316
310
363
319
377
267
297
309
297
335
348
339
404
311
314
271
366
245
429
256
284
295
271
302
413
324
395
324
294
363
293
391
237
229
288
304
310
333
338
307
326
243
369
347
306
314
261
283
274
350
270
340
314
314
365
278
399
421
305
272
385
288
358
377
339
258
264
347
293
284
312
299
225
329
375
213
301
309
313
250
244
241
291
322
286
330
300
296
264
290
315
356
319
287
385
333
335
279
271
302
371
369
273
298
337
350
410
335
311
213
240
314
284
320
373
353
439
295
326
329
228
358
252
306
273
298
374
280
227
343
354
227
289
311
281
344
302
299
345
271
264
286
409
255
267
272
313
352
364
303
312
335
347
367
301
322
323
268
297
301
330
300
306
342
330
324
283
318
338
303
358
317
333
332
219
285
271
373
308
378
361
271
285
297
379
355
288
318
266
354
287
260
374
270
313
331
293
357
333
290
259
293
435
340
292
325
266
234
322
291
314
329
316
351
383
314
267
245
264
319
302
303
357
302
256
307
347
263
329
301
228
328
242
327
276
365
307
349
366
226
289
304
271
334
313
287
316
346
283
279
289
381
306
253
266
302
323
368
370
386
267
286
297
311
304
298
320
294
271
325
319
297
256
366
311
338
265
334
339
316
308
365
218
351
276
345
345
255
364
328
238
312
394
267
280
237
302
305
339
354
324
351
333
318
250
367
327
342
297
301
288
240
332
400
377
364
374
366
346
381
321
260
314
352
360
289
348
366
330
324
342
298
250
328
235
361
293
264
342
306
261
365
381
322
306
266
381
281
245
286
306
356
259
252
328
288
253
280
330
277
240
395
335
289
331
194
327
320
303
324
318
361
355
334
397
300
327
388
371
276
313
274
386
339
352
319
224
392
357
354
318
419
335
382
325
398
311
326
268
328
295
331
338
249
306
356
293
295
330
232
347
354
368
325
208
360
258
329
325
300
244
343
363
316
278
360
356
288
306
276
272
316
308
320
269
333
332
351
372
256
198
283
311
312
282
285
392
293
266
290
380
329
321
364
242
262
275
320
312
358
333
311
325
343
316
308
311
236
373
296
333
362
292
180
354
333
326
430
351
339
242
304
283
314
246
323
349
410
345
383
331
342
361
310
382
269
370
300
248
299
308
340
266
285
340
296
369
297
313
234
300
294
369
228
380
361
295
327
341
242
304
367
357
382
342
368
276
331
391
294
310
311
335
316
372
309
313
405
370
405
366
260
394
305
356
338
315
364
332
399
290
283
230
272
330
378
328
371
339
351
359
346
260
394
336
396
256
388
256
280
259
328
291
346
277
336
344
263
301
283
306
249
287
318
198
376
272
299
285
295
349
301
332
299
312
154
347
380
333
342
340
309
318
289
268
318
327
290
274
387
299
256
330
315
287
308
263
425
339
316
273
331
325
274
361
292
277
314
275
310
343
362
321
331
310
355
235
268
327
284
332
375
216
360
330
337
281
320
297
391
301
418
224
260
395
256
267
343
305
376
366
274
363
291
282
344
316
293
286
303
312
346
338
379
299
287
359
340
347
344
313
306
327
418
319
385
348
352
313
252
354
278
328
264
342
305
313
332
316
309
354
280
407
310
307
323
307
303
289
293
433
299
226
267
313
303
392
356
212
298
292
302
356
297
324
297
339
354
352
288
295
320
289
326
386
341
411
260
352
282
302
250
351
328
274
302
302
340
396
417
386
301
239
263
341
243
351
270
304
269
302
366
307
257
309
302
312
344
295
264
225
373
296
327
316
339
369
366
376
348
340
336
325
333
297
300
292
321
324
287
337
228
262
372
395
372
355
353
263
310
308
259
354
362
310
325
243
285
245
258
322
298
259
377
381
289
335
282
212
360
228
338
273
349
238
345
356
400
300
321
308
358
337
291
326
234
236
312
243
295
358
265
299
328
375
296
354
351
319
343
277
323
306
317
326
369
336
281
265
277
359
312
221
306
264
347
405
280
354
191
284
373
362
324
333
262
311
311
293
330
285
314
348
344
295
275
314
370
365
278
346
273
174
256
251
260
374
280
222
380
326
307
271
343
368
360
287
294
382
338
372
274
337
324
243
303
370
343
288
264
304
383
307
295
334
376
362
291
329
311
366
354
322
274
301
264
335
345
262
200
282
351
277
346
225
305
311
358
376
291
283
318
344
299
298
339
345
372
373
333
400
258
342
273
355
187
291
292
280
308
332
275
210
320
318
330
278
310
206
348
324
348
246
304
327
348
299
346
292
275
293
376
283
356
260
405
323
323
359
254
358
298
356
326
389
294
279
336
348
293
321
360
305
363
334
340
296
233
315
254
285
342
372
327
369
234
281
303
323
357
274
224
240
311
419
317
365
362
367
350
296
224
361
311
281
350
285
387
358
353
272
303
398
276
348
257
289
342
294
291
392
322
358
271
370
319
243
227
227
297
341
358
457
291
357
303
356
328
340
343
298
342
312
339
287
327
328
408
344
342
357
323
256
325
373
323
330
276
385
279
276
372
289
316
300
286
322
354
306
340
308
271
398
305
359
308
317
318
343
284
241
217
369
262
300
314
280
328
299
259
268
271
295
345
334
285
378
347
325
337
276
281
331
287
258
208
307
272
285
338
365
287
278
385
329
276
223
339
276
379
355
297
355
314
317
393
340
329
305
276
367
332
281
237
298
304
318
348
257
302
285
336
264
331
298
269
317
338
265
349
261
311
256
353
329
231
311
328
356
366
382
257
253
373
288
328
299
308
332
341
312
313
293
261
350
322
325
303
332
330
292
272
305
359
290
256
334
352
233
253
304
312
302
301
307
227
201
336
334
349
241
352
341
276
305
265
341
343
388
315
219
346
267
349
262
293
369
322
295
275
256
275
264
264
340
287
288
306
314
292
289
347
281
270
344
347
368
339
313
302
310
383
298
327
265
265
278
315
296
291
327
359
383
354
352
317
276
330
326
333
367
278
262
287
317
292
300
330
323
271
282
314
354
380
313
357
316
314
310
245
361
313
264
285
339
389
317
321
363
380
370
328
301
326
341
339
380
312
281
276
315
261
373
364
339
336
299
341
298
269
290
325
346
295
390
300
323
339
358
279
310
327
287
286
379
277
339
387
372
352
308
334
330
274
346
366
352
356
302
281
400
229
345
314
307
369
279
362
287
349
247
348
319
323
371
277
217
281
315
263
332
402
197
222
312
300
339
276
290
357
338
283
293
285
366
344
296
411
384
254
262
328
359
218
302
298
269
293
283
321
287
326
352
243
267
361
252
340
371
338
259
309
376
359
340
249
298
359
246
326
298
314
271
351
354
234
367
295
353
314
349
371
288
230
339
287
294
288
303
332
330
259
298
308
324
315
275
317
351
334
265
329
302
333
354
344
328
271
367
331
285
314
372
311
297
319
312
188
285
315
321
273
346
279
298
355
282
327
348
243
248
313
290
310
305
249
365
274
262
275
371
351
337
384
391
308
345
161
327
324
354
307
325
275
333
332
331
327
391
355
328
336
319
289
343
341
315
261
337
364
341
262
311
267
342
284
405
346
283
384
334
309
322
375
301
322
350
340
338
301
256
367
296
324
435
344
329
341
325
382
365
246
364
331
334
239
261
363
302
357
367
330
345
320
250
281
372
310
311
328
342
350
233
385
316
403
319
372
386
271
230
291
309
246
297
410
250
372
233
308
285
278
367
302
335
307
239
306
330
327
311
319
298
248
386
255
336
328
417
296
305
308
311
285
333
310
320
353
278
336
276
259
348
274
375
359
266
339
303
293
303
255
383
381
325
286
426
355
316
343
354
296
297
284
346
384
347
316
265
283
362
334
315
358
367
356
240
302
316
410
337
365
304
260
384
326
226
362
392
270
220
290
319
354
346
295
395
300
299
364
350
355
328
369
334
353
420
288
318
343
294
275
286
267
282
342
323
402
313
362
326
283
296
245
332
389
301
324
395
294
282
216
293
319
307
363
371
306
258
245
302
301
298
392
321
317
387
380
361
317
351
365
272
190
387
365
286
265
340
308
220
303
357
237
398
361
294
331
327
320
320
309
314
291
366
293
321
340
298
336
294
394
367
309
366
310
305
353
323
326
255
315
373
304
320
346
282
238
347
297
389
317
321
340
329
341
253
352
221
274
372
278
283
335
289
273
149
391
336
208
393
348
287
340
288
366
327
269
317
336
399
416
306
316
280
417
318
374
351
292
324
309
357
289
220
396
263
371
394
324
294
332
340
324
308
253
316
290
212
341
344
333
268
295
295
408
242
319
338
344
338
202
350
294
284
300
277
336
304
320
342
349
358
356
299
313
305
346
292
250
213
277
328
296
332
336
372
258
327
340
290
237
231
304
352
264
312
262
288
303
389
323
351
287
345
284
271
281
309
318
355
305
360
218
256
340
399
320
361
368
340
314
288
336
293
209
355
228
312
283
309
303
263
341
298
341
274
223
246
246
265
243
293
302
276
268
313
310
318
313
358
255
393
379
386
366
348
399
311
310
385
291
278
275
314
311
332
340
299
234
410
282
300
281
312
299
212
279
269
323
266
349
332
248
309
284
366
227
284
300
306
355
324
333
315
305
299
275
355
242
391
321
232
363
305
270
314
280
282
304
299
286
412
361
294
307
303
333
390
296
268
289
305
403
372
353
365
255
318
370
257
290
291
344
367
310
338
272
408
257
313
332
295
335
248
397
344
282
348
296
339
285
300
332
290
277
302
358
359
291
301
355
306
302
324
325
303
299
298
378
314
257
338
341
276
339
347
279
359
294
354
363
322
307
257
306
276
297
416
361
277
376
276
387
343
311
329
218
328
317
315
307
270
350
356
298
254
350
278
269
278
285
360
226
376
338
306
311
334
326
322
266
269
290
309
324
269
221
413
329
354
283
271
251
231
262
271
268
175
341
305
398
310
342
334
393
309
384
357
286
239
368
292
263
294
263
253
270
272
281
303
298
394
332
416
326
380
311
330
297
301
291
353
326
303
282
318
299
278
261
321
243
231
301
345
315
365
268
262
300
343
289
403
395
338
333
302
286
403
383
281
359
296
298
336
337
250
330
368
262
313
339
282
329
288
304
312
300
295
311
266
365
287
344
304
362
289
371
380
399
330
297
312
383
392
318
337
375
378
266
344
335
367
377
347
286
332
336
299
330
368
291
290
280
320
253
253
402
317
358
352
334
277
243
285
295
272
276
265
393
306
333
350
168
223
281
362
363
254
236
355
344
301
336
297
314
292
297
402
340
262
366
323
248
366
284
312
299
319
294
335
188
378
306
365
230
324
365
391
268
299
345
275
291
405
363
295
349
301
343
298
289
352
338
283
377
308
347
421
267
353
292
395
341
361
328
344
283
313
345
342
306
319
320
332
370
328
418
310
295
310
321
347
337
364
369
322
288
377
281
291
289
289
282
332
367
300
361
299
248
390
288
355
333
277
348
326
302
312
282
181
288
310
198
342
269
251
394
241
294
284
262
262
390
364
327
321
342
413
344
370
305
208
290
231
272
276
273
302
279
281
334
278
311
410
313
368
337
283
278
324
390
386
320
290
329
391
364
317
364
306
383
293
340
307
329
340
347
380
345
302
290
373
316
276
310
289
363
339
374
346
403
290
207
344
313
288
332
347
254
296
356
270
322
320
288
347
310
397
360
330
362
334
273
300
296
320
356
274
222
406
305
325
295
316
365
352
287
269
306
342
220
363
364
348
231
283
399
383
281
338
278
345
394
362
302
281
265
319
273
336
349
330
356
287
289
255
296
324
346
338
293
311
283
387
421
329
327
303
318
344
282
398
353
276
359
330
343
343
287
287
331
354
314
331
322
311
342
357
360
325
190
329
287
322
291
366
227
308
309
303
349
351
387
361
324
372
240
286
299
289
223
362
327
286
261
386
396
306
371
314
236
297
307
295
279
288
287
332
281
247
329
352
318
243
295
331
260
163
338
271
292
364
366
285
286
247
321
240
327
330
318
288
323
359
179
249
387
280
416
251
282
269
280
311
324
363
293
407
371
362
307
289
318
213
333
352
377
272
295
349
283
270
230
317
314
319
358
342
369
268
366
395
339
300
315
256
359
345
320
367
358
281
303
371
340
319
296
358
289
312
367
285
338
302
338
306
252
320
287
293
259
310
321
358
365
327
260
290
332
301
227
361
282
285
327
360
204
344
256
330
297
319
322
279
374
295
255
303
332
357
320
189
359
246
363
324
292
332
258
263
312
314
323
375
258
352
338
287
332
351
298
369
292
269
311
251
271
311
358
247
297
281
355
377
288
285
226
312
314
284
279
339
339
230
351
257
285
249
315
289
298
231
334
320
317
313
345
306
312
260
250
364
311
281
342
300
263
403
287
296
335
300
267
330
367
271
306
391
299
327
256
328
315
349
318
343
352
345
369
315
310
267
343
289
265
334
348
334
319
338
332
352
365
254
307
384
342
251
340
395
219
307
203
265
283
283
344
387
289
327
269
239
345
253
322
265
324
260
250
357
324
310
307
383
377
262
384
366
217
329
339
267
313
355
278
231
368
322
256
284
320
281
304
319
352
272
301
394
279
334
379
363
257
287
340
320
354
317
246
284
342
272
361
349
389
273
300
345
277
351
351
375
252
312
320
328
399
383
353
311
336
375
331
292
310
338
323
303
397
323
315
334
290
355
291
322
232
357
315
305
312
421
273
292
350
311
320
336
292
296
371
294
330
303
299
359
310
402
341
314
326
296
353
319
321
320
253
323
351
333
371
305
324
312
359
286
279
327
287
318
300
382
261
379
387
261
363
263
355
318
334
307
328
353
367
362
316
333
361
304
350
256
260
332
355
379
331
393
433
324
253
325
313
326
325
313
329
311
358
238
365
328
345
219
330
262
228
348
308
286
343
324
294
347
284
276
311
243
333
270
312
323
267
278
280
298
294
384
227
425
307
301
288
365
354
245
383
322
391
298
366
380
306
373
316
265
342
382
287
283
302
435
281
271
291
278
277
302
233
283
285
379
227
350
188
303
388
219
386
214
296
361
364
333
360
241
354
270
331
298
294
398
343
277
381
279
337
313
301
309
347
290
350
266
310
375
314
282
310
308
265
223
348
262
279
319
253
245
281
241
212
254
289
283
293
335
258
386
239
249
305
272
380
310
377
297
315
364
295
240
378
381
313
307
258
205
290
395
304
249
291
365
260
273
225
353
334
284
241
306
354
306
337
254
345
398
275
275
306
365
273
332
271
323
236
354
284
237
289
341
370
338
315
356
400
335
225
256
327
336
336
328
303
322
325
277
370
287
285
344
290
269
311
355
334
353
314
378
322
353
253
356
331
293
330
348
284
354
350
380
287
198
348
276
355
358
323
232
265
286
292
252
327
306
383
293
308
322
379
342
355
286
307
311
345
340
287
377
346
320
356
318
360
209
340
308
287
268
285
291
356
293
342
262
321
340
259
357
314
351
335
315
300
331
359
365
317
365
269
255
390
297
333
307
387
310
282
404
329
307
281
253
278
341
339
296
318
300
365
383
319
277
290
314
301
234
274
315
314
321
350
305
387
313
272
359
371
351
290
294
257
257
320
344
339
343
330
233
306
319
308
355
312
328
305
263
298
262
205
261
351
260
301
379
255
227
308
406
368
262
351
352
265
397
355
343
392
354
276
321
325
338
284
323
295
312
330
306
276
380
415
422
369
428
270
329
309
274
383
283
338
355
333
363
329
330
274
259
307
280
314
332
394
300
235
299
222
264
269
290
264
395
280
325
344
333
337
310
231
341
310
349
340
292
348
404
295
352
206
273
306
332
285
291
327
247
294
272
295
320
370
310
361
293
220
390
357
294
236
257
365
381
332
325
279
357
209
320
269
315
363
346
353
327
321
291
360
299
315
363
312
387
222
332
364
312
248
323
281
304
349
339
289
317
279
330
302
266
347
350
268
299
365
332
299
357
306
302
339
283
345
320
355
376
379
358
241
252
347
320
326
367
369
355
329
351
361
285
341
335
314
269
306
284
320
265
270
319
331
319
342
397
396
325
356
352
283
345
308
339
325
283
320
338
254
289
332
330
383
325
348
325
302
310
320
311
365
375
316
327
300
339
310
311
273
225
340
338
265
262
246
257
323
373
201
272
280
311
370
315
313
306
258
243
306
241
255
376
332
384
363
277
279
268
273
325
264
283
267
305
277
332
303
338
285
389
345
320
278
356
325
299
377
236
352
282
352
337
279
308
277
254
374
329
310
321
308
370
271
330
316
225
261
387
387
240
210
341
311
358
276
330
402
312
370
265
354
340
256
193
290
320
320
384
298
339
346
281
279
377
301
283
356
378
284
234
274
368
272
338
367
350
294
323
301
177
359
197
338
280
319
414
282
277
283
338
357
267
330
312
272
222
385
273
196
360
342
352
398
373
304
256
287
274
317
347
298
242
336
339
276
340
316
303
329
367
338
339
341
300
279
324
289
379
326
309
389
369
292
288
348
365
363
290
258
308
305
325
387
281
390
312
270
289
306
337
333
247
268
296
235
383
254
323
378
310
286
230
380
418
276
279
274
431
240
307
330
294
336
302
276
237
330
398
409
236
308
313
257
383
286
352
256
297
281
339
278
367
401
383
395
303
325
299
296
401
338
325
328
356
258
292
319
344
380
400
280
348
258
392
344
314
315
279
299
367
283
248
323
331
324
213
323
313
336
326
350
337
318
361
353
290
306
272
284
381
295
329
326
319
303
388
353
369
242
269
381
295
383
231
285
288
324
296
325
299
328
301
239
325
316
350
304
259
263
345
340
308
301
258
363
345
287
412
277
332
292
287
335
334
348
222
346
265
342
335
325
304
257
238
364
266
312
330
272
262
346
280
347
310
229
360
315
260
349
294
352
302
340
178
341
333
308
303
307
351
322
276
282
279
388
323
302
379
297
304
339
317
258
273
289
329
293
354
374
328
310
337
317
207
273
393
348
300
294
251
378
278
312
348
377
310
300
332
397
315
313
307
343
330
296
361
276
254
344
290
375
263
294
289
330
312
345
412
268
263
323
370
309
308
335
303
320
300
270
342
313
339
367
330
275
308
249
341
245
306
345
326
264
389
281
257
370
381
388
340
312
388
275
369
356
322
401
298
296
350
348
289
325
368
322
293
344
302
324
267
325
387
271
335
284
302
434
279
302
326
302
272
273
289
265
300
363
314
362
309
310
335
368
264
325
282
377
306
395
322
327
332
283
309
342
330
251
327
314
279
326
386
328
272
306
253
261
295
322
389
256
299
333
254
267
289
380
311
298
324
237
305
343
362
250
284
323
348
284
256
358
296
266
362
323
277
256
292
323
347
361
245
345
419
358
298
307
335
382
299
379
335
320
356
298
319
300
346
328
320
335
340
330
233
366
347
310
280
276
241
307
232
273
363
367
318
322
273
270
351
292
367
340
296
279
246
387
287
349
325
214
312
352
193
269
268
333
305
233
333
319
339
302
288
305
339
340
300
304
334
339
289
324
305
249
353
207
319
268
278
404
247
371
377
238
378
337
247
285
349
366
274
403
226
226
307
376
333
286
292
317
334
324
295
410
303
292
360
267
337
316
356
351
383
281
377
337
306
373
379
291
285
359
317
278
306
339
254
308
311
302
261
360
316
290
324
307
380
374
331
291
248
306
194
356
361
331
335
314
311
359
366
310
286
352
267
289
408
273
247
359
325
347
358
375
282
231
328
289
355
261
236
384
365
359
312
321
274
258
297
289
298
260
354
283
396
292
250
320
340
228
304
243
312
347
328
285
289
373
280
312
381
395
250
352
389
348
301
314
288
261
338
359
329
248
346
300
349
322
312
319
320
391
294
316
273
313
254
341
342
309
225
265
278
331
291
282
307
363
354
357
430
249
319
337
371
325
268
307
326
283
390
342
264
330
293
331
308
314
243
338
314
360
384
321
295
310
353
295
362
350
373
269
309
324
385
297
265
374
386
432
285
332
366
332
294
340
358
361
294
302
364
294
242
304
382
339
288
368
322
233
294
368
334
367
359
359
349
319
271
362
238
300
300
304
329
385
348
293
328
285
308
342
261
293
305
320
342
280
280
406
361
257
330
299
264
286
234
412
321
328
323
350
212
295
314
373
344
369
327
311
334
312
326
358
256
350
225
306
393
242
355
283
398
365
359
296
381
290
339
337
415
312
399
237
277
352
247
383
363
287
380
241
354
331
360
267
292
278
365
284
347
311
242
328
331
359
308
410
296
306
314
365
275
279
350
271
321
360
306
339
286
350
329
289
307
278
374
261
267
317
301
253
325
275
298
299
286
336
384
319
300
370
346
269
332
292
279
303
380
199
279
228
307
325
276
301
295
296
353
342
356
388
306
358
270
314
307
309
298
321
358
307
309
311
330
337
298
316
294
384
343
233
243
364
296
252
320
368
310
288
343
254
352
387
210
307
351
348
400
320
424
297
270
300
297
373
287
294
356
362
348
400
325
318
388
380
346
383
284
354
325
303
349
349
383
318
386
351
250
381
359
363
303
329
351
362
274
308
273
337
436
239
278
339
228
336
319
290
352
310
360
312
349
321
313
319
349
232
277
278
247
292
318
312
291
339
317
308
320
274
376
240
269
333
357
321
280
347
319
355
300
353
379
241
336
328
284
308
321
310
311
327
363
345
367
266
297
325
329
213
257
379
383
289
270
315
324
331
403
243
293
295
291
320
317
373
329
233
273
342
340
294
270
354
386
255
391
325
305
332
334
309
362
401
330
315
358
260
335
346
363
305
351
278
221
324
376
301
299
416
371
317
397
306
238
312
300
346
206
339
296
322
356
402
233
270
278
280
367
342
306
311
397
338
276
244
299
278
337
327
253
410
285
266
335
267
292
335
351
278
386
355
308
326
332
341
391
314
252
296
343
280
365
248
318
356
281
254
271
301
259
340
316
371
308
245
320
352
305
270
393
323
299
341
414
312
341
341
372
308
374
347
378
278
379
294
278
387
360
306
311
330
236
279
332
311
329
299
294
371
342
287
295
317
281
310
353
263
272
316
286
277
311
337
257
368
284
280
316
350
280
253
322
291
203
282
345
251
309
333
253
334
375
306
336
270
375
359
301
362
279
387
341
354
305
302
329
357
334
351
292
289
313
314
316
345
278
330
336
314
305
335
280
250
266
304
394
240
247
375
345
368
298
332
177
335
333
261
336
306
302
286
271
373
378
271
380
231
309
314
346
308
378
317
314
381
329
226
309
366
355
320
308
451
299
270
379
366
356
308
201
364
337
296
321
279
372
310
327
322
314
380
391
350
307
346
305
303
344
276
329
369
292
309
373
366
342
263
334
318
268
277
270
375
280
397
338
355
207
307
347
269
323
320
254
267
282
367
259
287
369
255
303
387
279
311
228
351
388
256
304
261
263
305
285
340
317
293
265
296
376
321
284
297
394
329
306
347
267
327
374
312
289
274
340
376
361
394
318
276
317
373
319
297
226
408
304
341
266
348
303
313
264
315
345
372
261
330
302
281
294
279
298
294
390
337
276
359
254
381
213
253
337
357
396
331
388
304
297
273
383
294
317
242
330
249
360
287
267
334
371
339
379
320
338
267
297
264
247
334
381
306
246
341
250
268
285
390
252
321
342
225
335
323
295
400
310
272
296
335
353
305
353
305
324
356
247
319
237
329
355
375
371
253
403
315
319
220
290
321
379
317
303
405
260
293
331
314
338
386
243
296
329
303
379
360
228
319
445
287
314
299
351
346
281
332
271
299
349
283
301
311
346
293
364
389
214
322
282
326
439
296
296
367
322
363
325
355
371
330
304
317
321
368
295
343
275
324
326
373
358
276
279
274
268
265
299
378
318
284
340
322
312
220
306
282
298
387
269
330
330
282
299
289
383
297
380
347
321
287
268
294
312
302
310
307
259
299
318
275
211
367
293
392
298
340
202
399
259
347
398
326
317
314
327
264
360
353
275
285
317
301
309
299
329
352
340
325
303
325
294
345
313
314
352
329
381
225
362
260
305
274
365
332
257
319
242
309
358
319
303
394
290
224
330
398
239
316
397
327
303
337
278
347
240
292
422
372
280
332
227
303
319
328
345
298
348
296
370
324
316
335
383
291
323
349
336
359
290
295
241
286
368
432
280
314
407
401
267
250
326
392
290
285
319
261
324
349
291
308
325
360
352
305
277
231
223
337
343
318
287
337
242
303
233
320
323
346
305
390
274
354
279
330
336
340
309
336
388
312
361
291
387
279
311
263
306
293
280
343
354
245
329
298
278
274
315
331
335
312
296
289
363
304
224
308
297
273
275
238
261
257
301
380
352
312
250
299
314
291
346
290
343
223
326
329
375
194
344
347
368
270
330
296
384
337
360
349
335
278
226
287
320
210
340
367
284
318
322
355
318
282
282
337
294
348
376
389
343
323
250
316
276
318
325
320
315
316
293
311
390
277
281
334
350
313
366
290
356
349
333
364
317
340
389
377
374
334
339
284
288
279
307
292
334
330
243
287
337
294
294
361
343
237
331
320
310
397
328
305
316
370
224
326
374
332
344
332
395
323
383
317
282
324
265
240
370
318
346
331
262
265
271
301
383
301
347
377
296
285
320
367
320
330
370
363
283
333
318
318
308
271
316
342
299
315
282
273
271
364
310
317
308
366
270
378
230
315
247
331
302
283
329
260
364
246
266
253
380
263
367
329
311
280
274
285
359
385
301
393
346
316
231
298
169
280
363
401
369
349
253
331
347
295
288
317
428
364
325
323
317
311
324
406
265
322
256
282
310
278
338
275
201
347
285
335
343
267
341
253
360
417
328
424
324
259
218
379
380
309
328
347
319
361
257
229
292
280
316
345
301
306
291
339
396
271
338
343
403
309
337
367
342
355
297
214
262
302
327
426
338
277
295
304
297
356
279
256
421
400
275
314
282
324
199
294
381
266
303
377
275
365
343
307
307
282
274
269
347
241
375
312
359
320
330
391
344
262
310
337
310
284
337
351
293
365
362
346
366
274
272
275
324
307
326
296
340
300
338
350
299
259
272
303
230
340
324
346
301
272
284
357
348
302
287
293
330
305
376
279
312
289
335
308
382
337
281
317
256
282
284
290
340
264
357
288
391
342
370
279
364
340
366
284
282
334
359
228
206
345
320
281
314
268
314
364
294
335
221
262
317
328
329
242
303
307
225
300
344
361
383
340
296
254
318
284
348
404
362
312
268
235
325
329
327
437
311
329
311
278
312
343
241
346
318
366
346
284
350
327
335
376
303
305
294
315
325
301
306
305
257
269
292
230
219
260
363
343
295
346
376
305
305
352
345
278
342
357
299
284
336
268
250
220
223
314
275
321
320
306
391
371
352
263
344
319
343
313
240
372
282
310
295
353
296
348
362
184
312
390
343
295
277
285
267
370
285
328
278
300
343
339
369
275
255
341
278
274
262
184
288
274
306
329
281
336
266
303
386
335
324
327
363
294
313
367
281
265
291
304
392
334
307
287
292
317
394
312
246
326
274
305
313
357
295
282
351
307
371
311
295
350
366
232
316
316
289
310
304
219
312
340
287
214
358
384
318
407
301
360
434
266
303
242
330
332
349
367
326
342
291
309
300
297
338
329
368
346
285
338
335
364
337
327
251
275
295
377
296
374
223
311
359
217
392
300
231
379
347
330
285
274
331
377
271
304
310
353
319
280
328
291
356
337
358
320
294
331
320
354
383
250
370
266
366
404
353
290
365
280
314
394
333
353
330
332
336
402
383
257
316
385
362
339
355
426
326
375
404
334
318
268
374
384
395
293
308
325
294
287
342
273
345
240
349
285
320
309
387
325
281
253
356
331
297
363
403
319
314
363
376
292
332
393
316
396
332
335
309
214
317
334
314
388
360
307
314
337
354
323
281
268
334
246
342
300
321
439
274
355
322
362
354
284
341
272
368
327
257
271
313
338
280
308
232
285
341
334
281
291
341
304
373
374
308
219
378
289
237
288
340
310
314
333
303
315
299
413
338
369
377
247
365
269
269
239
242
363
339
366
300
276
271
296
328
249
340
379
323
348
294
328
278
386
284
280
352
312
214
251
223
282
330
360
327
337
317
332
363
343
345
345
158
271
387
299
309
308
364
258
303
315
245
301
361
314
321
273
244
269
350
316
315
333
383
304
243
281
388
424
322
326
413
432
270
351
327
325
262
297
386
328
445
249
338
353
225
369
285
275
341
352
330
302
329
344
307
345
297
221
364
275
308
261
320
327
264
260
332
362
255
278
334
283
229
224
359
264
393
362
348
314
300
254
233
233
284
351
201
326
373
305
323
358
374
296
235
325
243
333
367
277
349
371
305
328
324
277
222
295
313
239
342
368
283
330
294
259
226
337
319
336
307
427
303
425
292
249
242
252
414
355
290
327
368
316
335
326
233
343
298
251
265
289
317
347
333
233
327
256
364
319
304
341
255
288
324
389
291
331
292
305
319
360
318
372
276
320
264
307
380
315
177
243
302
292
281
255
353
389
204
278
320
244
222
254
306
334
321
417
380
206
351
311
314
312
241
331
316
346
278
344
309
309
361
335
310
349
298
287
349
349
367
337
367
265
329
354
340
318
239
416
357
327
352
224
278
300
362
309
323
317
421
385
353
315
361
414
292
380
378
359
410
369
336
294
373
370
235
301
385
393
364
322
236
266
322
278
307
281
358
334
328
382
320
295
325
244
339
262
305
352
242
336
316
354
263
380
307
348
332
279
335
354
358
341
339
323
268
337
314
318
327
287
295
304
220
355
294
309
212
222
321
300
272
367
372
350
224
340
342
266
415
289
328
262
321
316
373
322
318
340
388
338
333
254
306
367
289
405
369
298
308
305
195
304
305
305
295
266
313
278
411
287
333
261
317
333
350
274
265
321
381
375
387
263
400
323
261
177
283
210
282
325
345
315
267
291
237
327
286
316
349
314
325
266
374
361
351
273
401
279
417
288
338
214
302
256
272
358
340
227
293
289
321
294
314
258
204
379
281
281
325
362
344
362
297
224
317
361
271
355
361
301
286
210
339
386
348
323
307
307
290
252
298
252
316
283
304
324
317
332
295
293
335
331
297
278
378
349
283
321
334
360
333
342
384
274
356
318
324
320
323
294
341
286
344
300
286
349
384
334
247
381
254
272
311
277
307
310
249
416
240
357
311
278
363
283
329
199
354
280
422
345
319
251
296
381
316
271
298
309
318
273
345
344
303
300
291
307
342
383
273
369
328
337
331
280
256
314
306
285
346
247
248
257
296
314
311
345
279
271
299
342
258
361
357
385
335
259
335
260
315
338
319
253
344
343
299
316
215
337
310
309
386
300
284
314
270
300
297
309
369
284
354
209
286
329
372
371
327
325
321
377
262
330
341
337
367
353
336
296
349
218
340
285
369
334
268
338
313
259
322
327
304
328
364
292
253
350
315
263
333
300
284
332
280
329
273
345
265
256
263
302
339
347
248
224
291
258
300
333
341
322
307
227
325
241
260
353
327
296
254
256
258
295
262
316
284
326
317
240
239
278
248
346
322
433
271
329
411
375
295
241
290
347
351
346
297
392
309
359
329
293
297
242
379
270
327
291
307
397
317
380
340
297
283
375
352
305
407
300
312
368
327
286
305
314
313
328
271
296
334
288
358
295
253
353
401
342
220
319
374
279
291
289
368
231
305
331
314
327
301
326
363
217
309
331
335
352
310
392
337
221
311
256
299
306
381
333
359
332
240
270
306
309
356
258
363
355
353
317
235
332
295
337
259
263
396
315
368
368
264
268
340
356
215
334
334
297
286
362
256
370
344
233
361
279
353
329
261
328
305
303
215
362
260
312
301
279
346
344
242
253
329
340
325
296
313
300
317
278
218
270
428
318
270
304
317
378
270
329
234
358
378
361
374
357
292
321
300
318
290
340
352
368
274
343
386
389
378
374
259
361
342
284
375
269
321
362
338
239
354
336
286
325
278
334
326
396
343
352
320
335
312
336
324
299
271
312
340
328
356
328
289
363
382
239
361
272
344
325
287
289
299
349
390
292
350
261
368
337
361
377
358
300
296
309
328
332
314
295
341
387
229
395
284
255
300
447
301
325
354
387
304
271
312
351
305
351
253
258
283
258
313
403
337
325
337
340
300
260
295
320
329
275
251
210
330
255
305
324
245
256
265
290
411
268
325
397
238
244
371
269
366
315
265
278
324
316
211
312
288
333
273
363
372
374
302
206
285
289
286
285
317
303
244
261
329
309
238
353
266
271
379
335
352
262
327
275
354
277
318
345
286
326
415
353
360
395
406
349
296
346
280
303
355
280
337
302
318
333
337
186
328
340
310
239
341
305
332
325
215
346
192
324
331
292
234
261
307
299
269
277
360
286
387
331
345
340
354
245
325
283
348
296
362
301
253
292
353
336
319
220
287
279
264
368
289
346
315
345
320
340
360
300
348
387
323
306
214
362
327
317
342
311
310
223
356
287
276
398
316
309
407
310
323
331
329
312
353
407
359
292
347
345
317
257
373
345
304
350
318
303
275
291
290
374
294
315
348
361
244
242
357
363
347
282
362
331
338
275
237
334
328
364
254
318
349
340
312
350
288
295
279
283
377
247
385
399
267
293
340
347
310
347
298
351
332
305
242
314
384
265
379
324
237
316
317
299
336
344
317
330
263
336
304
287
361
316
215
352
357
302
335
284
360
366
223
349
295
336
202
325
278
244
389
305
356
296
238
304
284
305
237
284
358
289
413
311
267
232
373
327
355
316
277
318
333
364
338
302
318
361
330
268
271
349
337
272
320
271
287
281
375
339
307
332
339
274
280
345
349
281
288
323
246
372
424
364
288
258
212
386
315
352
369
279
319
347
292
303
368
329
290
219
350
327
374
328
305
362
364
332
378
344
327
329
262
282
304
314
279
362
319
347
337
318
337
285
273
289
334
271
278
266
297
318
328
281
304
357
277
340
266
366
327
389
336
319
338
306
323
397
358
362
294
316
246
344
432
296
338
379
278
222
238
309
347
279
267
356
337
286
317
371
253
337
277
314
266
288
389
283
304
361
213
206
393
372
331
315
270
321
297
289
225
296
295
371
236
289
289
350
324
339
315
254
228
332
333
279
287
307
274
316
348
314
289
307
305
324
334
268
266
327
276
292
302
373
333
349
316
317
323
268
334
405
309
395
381
363
312
224
374
350
361
287
303
355
255
331
308
295
263
336
355
312
285
216
380
276
313
295
335
346
277
236
281
342
309
314
315
344
326
345
319
308
341
264
224
331
313
240
234
298
346
279
383
329
280
317
264
375
315
345
335
357
356
369
355
394
292
380
207
257
351
278
282
317
290
284
284
321
317
263
340
235
366
332
353
329
298
325
312
337
409
314
350
240
306
264
268
267
293
320
308
312
257
301
270
313
370
294
292
382
323
237
290
328
303
350
358
283
341
333
418
395
297
398
256
253
325
377
251
295
292
323
481
318
268
280
298
319
281
260
313
317
294
340
340
395
368
381
269
274
336
264
320
327
358
316
382
299
233
258
313
312
291
337
295
277
328
275
356
239
406
353
314
364
261
416
299
305
356
367
340
309
284
378
339
339
307
331
332
239
310
314
258
326
393
299
289
312
353
255
282
304
257
352
285
307
274
356
295
270
315
350
276
332
250
321
272
329
294
255
304
257
290
352
316
377
419
300
377
305
304
315
337
268
339
296
369
261
315
356
272
353
308
322
274
307
313
317
401
324
348
340
397
361
285
256
348
332
254
291
310
365
270
355
287
354
258
306
307
329
287
396
312
302
243
303
269
320
359
347
295
354
275
251
363
362
350
287
348
294
335
319
352
320
308
314
340
330
320
288
337
280
292
369
394
308
369
345
321
313
278
296
389
283
325
251
361
343
372
252
302
239
332
417
322
228
397
376
346
322
342
384
300
292
287
280
287
329
340
305
334
309
291
292
289
343
349
288
311
355
232
298
220
237
342
324
344
269
317
289
289
363
284
305
389
297
306
293
323
229
363
350
306
323
289
348
274
315
289
325
359
306
359
269
210
355
318
326
331
323
307
299
363
310
245
293
227
220
289
296
334
342
391
304
337
228
422
318
316
282
224
296
344
309
333
240
328
317
313
330
316
317
352
342
271
335
261
257
369
211
344
311
402
297
306
305
277
265
414
382
346
342
279
301
252
365
282
330
358
419
287
301
296
274
356
317
359
427
340
295
238
275
320
324
304
308
370
377
287
324
278
215
341
342
258
394
310
357
343
303
393
269
276
299
280
229
339
358
343
348
321
333
301
284
365
312
306
343
287
312
365
297
416
371
350
401
324
369
364
315
306
295
261
283
350
293
327
308
378
291
318
320
326
362
301
294
248
324
282
282
345
409
340
306
241
364
373
268
316
335
314
360
295
322
260
284
326
361
234
266
324
274
300
306
356
360
335
309
315
310
256
337
223
285
330
298
301
346
361
376
290
259
350
369
249
312
289
246
337
272
303
323
223
398
331
346
303
341
315
324
255
327
318
289
300
306
415
240
299
326
348
346
285
353
253
349
319
313
410
194
255
253
271
353
322
293
275
374
365
286
322
379
307
370
360
288
274
270
337
339
326
283
323
316
332
354
274
345
338
219
307
350
307
319
262
331
375
316
288
340
279
383
290
251
302
317
301
276
297
341
315
285
395
345
314
355
295
310
313
258
302
259
380
371
324
294
294
257
306
327
321
251
234
226
276
266
268
281
291
323
226
252
280
362
384
363
334
287
297
286
347
289
401
319
277
306
278
314
243
287
321
287
383
372
338
346
312
400
402
299
331
258
324
311
359
287
281
375
269
309
228
232
354
336
290
291
420
259
299
275
312
284
398
338
255
333
299
278
332
301
339
302
404
330
220
379
250
247
255
403
324
169
330
310
374
270
354
402
386
397
360
321
305
381
328
314
301
339
286
331
225
330
349
312
274
240
335
371
359
296
304
268
285
404
316
248
313
283
351
296
307
300
355
411
355
386
336
270
335
267
234
299
335
402
380
324
265
253
342
352
388
321
259
332
366
271
267
300
300
314
383
276
329
311
240
312
269
245
251
251
332
316
344
297
289
244
307
290
341
355
277
325
284
313
437
289
326
349
287
335
356
315
354
269
340
283
291
172
315
395
284
312
334
362
368
344
280
244
313
344
277
331
397
366
348
290
267
389
336
365
266
335
257
375
355
308
284
342
358
363
270
293
329
298
358
331
257
239
406
358
276
397
404
277
312
355
312
264
239
287
374
315
334
305
374
343
377
216
347
332
385
347
292
345
336
267
354
305
272
233
275
319
317
346
271
355
288
355
290
248
238
340
284
302
363
341
296
300
337
332
312
369
430
214
332
426
346
333
226
337
270
363
256
401
209
278
330
381
329
354
324
379
313
352
270
251
252
353
340
199
326
327
268
332
342
297
359
283
306
257
329
298
308
397
362
308
376
353
266
355
286
304
278
440
250
288
366
272
330
330
247
277
303
283
334
285
318
358
332
358
300
239
316
324
261
363
368
311
359
295
299
373
320
317
321
219
284
391
242
325
285
282
360
272
347
324
409
313
326
336
415
347
335
353
339
345
276
360
332
307
208
332
289
315
347
329
327
315
237
343
247
312
329
281
337
316
315
221
347
253
366
321
267
263
384
335
308
271
294
278
270
385
352
282
305
304
338
312
256
337
274
275
292
321
320
357
317
326
386
251
363
383
372
273
281
310
323
347
354
290
217
259
342
343
304
252
346
353
316
350
268
341
320
298
300
286
371
301
309
281
262
321
298
273
309
342
295
340
287
356
267
341
358
304
395
286
341
246
240
390
348
383
339
326
304
369
383
316
329
322
336
316
336
231
321
314
375
302
256
286
345
329
302
274
267
361
269
251
320
353
272
312
252
307
310
344
331
320
305
288
262
306
275
294
252
272
263
324
284
278
280
288
318
357
366
325
368
348
252
357
352
234
354
355
333
294
222
298
274
210
374
283
263
348
352
359
361
306
325
367
247
324
209
301
300
343
351
339
259
342
324
267
259
325
362
338
339
271
355
330
280
299
280
336
359
285
348
261
320
315
230
268
285
304
275
281
285
330
314
345
345
312
278
314
345
374
341
341
299
271
331
392
357
334
321
305
314
378
291
255
257
348
270
331
283
267
310
354
329
351
248
375
352
349
310
247
358
365
369
295
325
362
220
245
291
306
362
365
272
321
353
384
272
320
302
327
359
333
251
289
279
346
304
296
336
334
310
270
372
285
366
313
373
301
329
275
330
318
351
331
432
301
327
248
291
293
294
345
326
345
327
389
346
295
296
276
337
354
368
309
295
339
252
367
278
302
326
326
296
298
280
289
301
329
319
324
300
279
392
367
351
209
314
350
346
266
352
229
329
205
273
361
280
303
244
315
358
300
366
285
315
271
265
253
408
284
344
215
337
392
338
306
338
290
395
355
273
368
324
344
376
351
323
303
257
395
340
330
365
417
293
370
263
388
308
344
280
260
309
296
363
326
341
378
308
348
364
376
304
294
327
343
281
306
288
316
382
258
357
314
413
265
332
294
380
288
276
387
300
396
292
295
341
306
306
335
401
333
310
372
245
312
359
223
234
329
266
290
342
340
296
338
263
278
293
335
340
329
257
309
360
264
259
297
370
414
348
273
223
366
318
337
364
244
315
304
259
307
260
300
387
323
305
290
329
334
263
379
336
324
408
343
347
298
296
339
243
280
373
360
314
321
379
268
337
314
295
357
371
325
342
363
310
329
290
324
287
306
408
230
266
276
310
313
383
319
283
326
333
257
387
309
376
320
343
308
343
315
302
265
322
316
289
323
245
262
292
328
272
341
296
211
345
248
374
265
313
371
354
284
347
288
311
282
332
356
279
315
244
368
306
345
326
216
306
300
343
291
295
357
333
229
307
298
289
356
286
296
357
296
223
241
329
310
296
329
250
311
313
349
300
375
353
343
358
364
333
374
310
331
291
309
347
260
317
278
258
280
373
284
332
384
337
298
435
346
286
391
309
285
316
338
258
325
365
334
321
243
288
326
343
338
314
291
304
330
336
346
353
368
248
373
319
376
271
295
346
325
303
374
312
312
343
219
280
322
321
304
270
295
237
374
209
224
263
318
262
359
310
370
284
279
319
270
306
255
367
280
247
376
443
367
334
295
252
363
371
283
217
294
365
281
365
331
356
353
311
383
250
304
294
230
283
332
232
314
210
340
261
298
313
328
241
364
367
317
332
272
230
333
318
398
305
319
304
336
205
327
302
340
366
289
278
332
294
351
303
362
360
400
324
279
307
347
312
380
333
294
268
316
372
324
354
356
346
282
273
342
342
380
407
249
287
280
280
261
359
300
356
327
325
343
304
324
298
361
341
296
305
324
325
283
270
336
359
344
272
348
326
284
303
320
373
340
303
395
366
358
317
368
288
307
303
391
246
303
336
366
255
398
392
396
266
400
337
419
290
408
303
365
383
374
253
306
354
269
314
365
246
313
290
301
320
290
362
273
336
208
355
284
333
299
261
295
291
297
259
338
294
305
300
445
273
338
292
365
300
344
313
286
321
341
366
311
301
307
342
296
295
366
311
343
400
279
340
353
322
204
335
313
287
290
349
288
277
354
221
309
287
322
363
339
302
300
279
311
288
386
277
315
345
300
357
322
258
327
338
257
304
336
283
327
331
331
342
332
396
356
246
401
335
256
332
377
278
307
306
327
302
363
275
345
270
304
291
366
278
209
327
310
309
333
385
295
300
343
290
324
291
303
320
238
344
318
289
278
307
210
383
295
394
250
405
288
326
341
231
314
310
358
437
353
383
329
355
260
398
272
318
376
337
293
341
364
300
268
405
380
349
359
247
352
434
367
348
320
257
359
304
335
297
345
307
384
338
238
351
347
326
308
356
309
359
310
348
289
363
311
366
293
342
366
356
297
420
288
315
309
357
292
370
285
333
387
288
307
410
380
255
271
315
264
306
306
326
399
353
247
282
285
290
286
215
302
310
251
270
335
290
385
324
376
324
266
306
305
263
353
243
345
317
395
383
342
327
404
317
241
324
242
333
349
274
334
317
374
318
267
350
384
283
330
393
296
286
240
423
303
303
257
347
244
260
303
357
339
285
278
282
329
323
264
312
346
358
314
238
340
381
336
311
284
264
288
222
350
362
276
314
299
371
282
319
282
295
273
330
256
306
332
327
310
342
323
277
288
284
317
260
259
328
286
326
328
342
277
366
339
402
277
353
324
312
260
280
439
369
379
314
320
292
317
283
372
373
370
343
322
330
321
330
306
326
196
317
299
267
317
388
244
316
332
259
370
302
360
295
256
324
364
235
257
390
323
342
305
309
311
345
332
320
287
331
308
271
333
253
318
274
351
264
298
229
335
370
327
283
350
344
282
275
247
320
203
249
364
323
311
346
406
367
359
384
287
388
303
272
303
337
333
333
353
306
304
283
306
294
306
244
344
377
336
349
351
369
213
313
344
297
293
311
322
356
285
283
368
250
375
322
277
207
270
258
355
335
217
336
252
374
351
240
307
449
338
250
326
351
351
292
269
293
321
336
411
311
315
291
370
341
323
307
296
319
286
331
305
311
418
294
342
325
245
337
270
336
255
282
344
261
268
327
333
320
372
248
353
330
259
306
277
359
285
247
312
314
262
400
305
337
390
340
294
301
391
378
334
304
303
258
318
280
367
388
409
304
264
265
282
261
336
299
349
350
320
282
326
323
329
259
316
315
234
261
381
287
372
270
348
280
287
277
325
304
396
320
314
315
267
353
334
281
221
292
337
288
325
284
325
326
201
281
353
339
298
339
394
244
424
297
324
319
252
267
351
273
318
274
260
324
237
322
296
318
269
246
400
370
298
344
285
253
299
338
287
322
309
257
356
284
352
356
231
304
368
348
289
292
279
346
288
363
293
227
363
300
320
286
303
389
281
339
321
358
343
308
337
188
246
314
237
338
296
284
319
264
295
289
330
329
293
309
361
334
393
385
287
430
327
365
257
432
348
295
265
344
334
217
351
343
263
340
277
349
337
329
343
322
361
379
368
375
338
267
321
350
337
315
262
345
302
251
282
315
407
247
286
259
334
285
299
360
403
284
269
275
353
372
273
261
345
307
326
362
364
332
400
376
299
346
342
333
286
330
287
326
281
322
317
364
262
366
358
286
324
353
320
343
234
301
304
340
197
341
358
291
276
315
252
365
261
266
345
327
314
370
274
348
325
344
312
303
366
224
384
316
316
315
321
280
347
277
331
228
357
270
312
325
265
314
277
285
320
393
342
334
300
247
256
285
275
343
242
353
252
344
335
312
326
341
312
244
354
244
302
255
309
358
382
365
297
326
357
279
286
355
266
247
336
348
307
280
417
310
377
305
275
301
300
242
260
213
277
285
289
273
216
378
328
321
294
322
272
378
222
256
321
280
367
396
211
353
341
343
365
284
338
356
318
276
307
389
381
315
357
298
270
310
313
293
236
242
341
330
316
258
276
297
298
360
301
465
252
349
297
314
278
229
306
286
375
268
268
276
335
306
312
256
391
322
300
299
330
284
369
268
271
322
391
311
344
287
339
295
357
331
408
254
320
367
386
300
345
360
354
366
334
303
348
253
403
352
366
327
288
419
312
270
297
338
299
276
244
346
319
274
263
335
386
299
229
312
364
305
330
278
355
274
298
329
297
347
291
286
289
299
286
319
294
293
366
289
336
279
308
332
286
309
318
345
317
384
278
374
246
306
301
290
236
342
222
347
248
333
278
360
361
373
377
266
347
376
434
299
397
266
316
256
349
305
199
347
304
321
328
287
249
298
253
238
357
222
299
321
311
261
334
323
260
340
272
334
319
372
349
285
369
240
328
354
383
311
271
322
312
223
285
348
297
315
295
307
318
246
278
296
371
175
351
304
323
328
359
281
357
278
303
325
297
303
271
258
338
267
329
318
377
341
309
243
237
272
282
268
318
393
332
328
304
304
351
290
334
382
346
297
305
298
399
330
314
273
355
271
332
237
299
345
249
325
238
310
228
315
354
327
299
335
274
277
354
375
408
382
369
295
363
298
310
317
363
315
362
384
243
282
383
316
258
318
308
338
356
282
355
355
310
366
328
271
308
342
312
236
326
326
278
353
356
345
283
314
330
376
353
324
334
297
308
344
213
351
324
234
331
361
267
327
285
203
285
326
255
332
276
356
280
306
355
341
324
255
286
335
344
300
360
267
392
364
354
326
237
286
271
295
220
335
303
297
312
298
352
325
269
374
247
260
344
247
331
310
296
306
312
362
207
365
377
320
263
282
201
346
347
299
411
332
257
315
367
331
339
332
315
292
316
381
376
336
313
374
327
370
335
193
303
270
314
258
322
266
324
260
374
286
320
349
354
188
346
407
283
295
352
267
350
345
266
304
385
307
304
346
326
258
350
301
239
338
338
314
287
370
301
307
303
301
317
339
272
349
285
274
350
310
318
200
361
190
418
306
395
350
300
274
291
278
320
308
316
272
303
282
325
247
303
329
348
241
317
250
363
270
353
309
319
269
354
312
339
277
368
287
331
386
329
390
323
325
325
332
376
310
376
316
319
340
413
355
313
339
260
336
332
283
304
303
342
204
334
410
316
335
278
301
276
266
302
243
287
366
309
372
374
316
299
290
333
380
304
266
285
331
286
337
304
374
280
330
308
362
276
410
340
315
322
289
362
296
319
364
240
365
330
343
271
278
241
328
359
353
204
333
344
280
287
364
285
326
338
229
302
268
250
313
373
258
298
334
297
377
346
250
352
360
265
278
325
335
318
311
319
333
251
363
344
265
269
289
312
276
282
185
318
342
412
285
394
311
319
288
293
321
329
340
299
352
448
318
215
272
318
296
324
345
255
355
304
294
380
342
312
237
395
329
245
264
251
278
246
348
244
360
276
211
344
257
380
315
289
330
283
300
394
364
328
352
333
424
304
336
316
390
306
334
417
219
341
308
340
376
272
230
387
300
326
310
292
309
285
297
260
337
233
293
292
304
249
272
379
294
233
356
293
329
272
315
326
328
372
322
325
199
301
285
237
355
355
360
302
391
362
308
315
231
311
273
348
306
301
321
286
271
267
389
351
271
335
304
279
435
295
319
291
383
288
336
377
323
237
368
324
310
307
345
286
343
285
303
356
271
331
321
305
354
262
300
268
235
367
298
269
324
293
280
323
322
295
289
231
318
241
317
270
293
285
379
363
316
228
366
353
300
317
312
317
331
313
270
329
327
309
352
410
338
392
330
235
350
360
239
303
299
352
354
332
280
355
288
329
318
337
318
302
351
346
359
240
318
287
316
319
327
324
240
317
369
276
338
309
353
306
302
238
313
324
253
345
291
250
333
282
248
306
378
258
389
401
381
326
373
261
284
263
345
327
366
375
331
397
301
200
316
279
372
355
319
356
319
290
276
285
405
319
305
332
307
318
285
308
260
336
322
290
313
305
261
324
269
282
316
278
280
217
252
217
320
251
314
316
295
252
168
348
303
416
440
316
255
277
335
363
242
371
271
355
367
294
320
353
296
304
318
309
223
316
236
344
218
363
347
360
224
254
359
296
213
285
303
218
308
347
304
363
388
290
322
303
347
309
296
299
337
319
380
271
299
285
407
344
255
338
374
396
297
372
285
361
257
282
291
304
249
245
298
351
247
319
298
317
334
252
280
263
381
305
331
253
214
362
257
373
350
291
327
216
345
324
330
330
411
248
347
314
368
272
304
353
328
281
259
304
292
285
369
419
326
347
334
388
324
286
278
347
312
329
295
319
296
365
398
275
332
293
361
327
378
332
324
270
317
327
346
286
340
297
275
261
229
237
301
254
258
372
262
319
273
282
327
322
269
293
320
310
316
344
280
358
319
301
276
293
309
279
372
297
364
318
352
342
349
386
285
324
329
376
393
337
409
225
305
344
329
254
317
388
332
250
272
340
347
241
386
296
326
287
340
331
348
388
272
274
324
292
268
372
196
332
294
260
206
288
331
288
193
313
361
366
284
302
410
358
354
296
315
328
333
311
244
312
303
392
320
237
257
300
291
238
319
373
338
265
315
293
330
224
273
218
330
319
280
303
272
412
325
383
298
298
414
300
381
379
301
283
276
294
312
314
378
238
302
310
302
361
301
280
267
282
305
379
324
395
363
221
284
343
299
328
252
284
359
364
345
334
374
405
214
311
369
327
321
256
337
355
291
346
292
273
361
244
390
350
345
296
278
309
274
355
347
312
281
330
277
314
299
257
309
381
363
313
314
327
356
339
241
326
324
326
270
327
190
387
327
351
351
289
337
307
247
342
297
302
341
307
370
302
372
373
281
336
260
239
330
188
347
304
217
285
228
246
298
290
321
364
352
347
287
246
286
273
329
322
293
373
321
322
337
367
294
317
384
342
265
337
272
307
275
265
292
303
260
386
335
349
368
308
284
315
308
295
349
406
318
240
268
376
283
350
354
306
326
311
302
395
288
334
321
297
375
288
251
346
253
242
283
304
271
429
354
325
286
263
358
338
325
296
402
340
335
339
338
381
288
264
366
410
307
445
235
288
328
354
279
280
327
329
264
298
324
390
279
318
393
365
338
349
246
363
296
313
343
375
314
273
304
254
410
316
280
346
314
232
377
329
285
314
350
336
297
355
370
233
291
342
359
278
236
276
229
349
297
343
245
310
335
323
284
193
306
314
189
254
337
306
315
397
299
302
311
286
308
320
346
218
347
281
286
304
209
267
252
297
363
305
284
277
377
375
325
307
244
378
345
270
228
322
260
233
317
247
329
320
364
333
275
365
370
347
299
334
400
219
353
340
343
301
297
343
320
264
409
273
355
328
345
341
304
320
302
290
255
355
239
351
212
370
359
346
284
295
319
364
323
348
344
334
278
336
295
255
320
277
331
206
234
290
362
291
308
327
314
284
340
244
310
327
284
325
237
351
263
340
301
277
342
343
297
255
334
308
312
274
339
287
377
302
268
256
352
292
204
333
336
243
383
295
376
299
342
353
328
265
313
340
213
375
223
341
368
275
265
312
410
319
299
338
312
350
291
342
287
318
278
381
325
337
269
347
319
315
314
286
317
308
302
323
337
263
293
315
344
290
274
310
304
299
279
352
272
334
316
357
327
234
327
332
345
302
325
352
295
311
273
315
385
335
374
335
354
276
343
377
304
380
332
324
384
308
437
301
240
418
289
321
264
351
333
350
321
307
274
309
264
246
340
297
292
249
260
289
324
327
373
311
358
279
333
364
357
288
356
311
306
300
285
316
319
288
327
305
328
368
295
386
337
294
374
286
305
312
216
394
311
306
259
305
236
304
352
375
371
377
229
264
267
343
349
273
330
290
285
387
387
372
316
362
222
268
351
271
326
323
360
376
285
371
320
222
329
315
377
344
327
329
415
384
324
384
344
280
220
227
319
346
309
305
352
380
382
284
392
367
369
334
257
225
286
282
357
302
290
316
309
386
316
323
327
362
287
325
362
309
356
218
192
359
280
369
209
261
242
307
244
296
333
325
253
279
298
281
254
300
307
297
297
296
360
318
329
398
291
290
217
341
325
365
337
278
397
259
311
263
257
258
312
322
308
304
310
279
306
302
338
364
318
297
324
378
346
363
313
285
275
334
354
293
296
349
285
279
325
331
354
335
397
283
386
278
264
315
262
280
345
343
251
318
206
293
314
312
355
292
277
400
366
303
375
319
326
345
375
354
340
292
253
258
324
278
319
294
282
382
337
325
321
274
301
348
292
304
244
349
359
335
301
347
406
334
308
264
395
358
328
318
335
286
336
361
314
326
362
305
274
381
313
308
362
408
258
278
279
334
286
366
359
353
259
326
415
334
323
332
363
292
238
265
305
313
376
359
248
283
355
277
360
303
366
318
369
317
223
366
357
314
292
329
331
272
319
386
337
321
339
343
337
323
403
403
320
321
245
293
359
381
360
326
312
337
329
342
292
299
300
272
338
250
423
261
246
219
228
293
272
254
189
357
362
280
282
277
319
350
256
384
294
240
396
317
387
384
347
267
258
376
328
324
291
366
273
334
352
317
339
237
390
325
291
352
321
353
319
403
310
332
329
334
314
317
369
365
332
300
384
314
342
354
329
326
354
324
314
337
376
316
321
274
263
232
303
277
361
329
246
341
312
337
317
298
272
292
371
312
317
388
244
280
347
276
299
346
299
329
320
330
272
307
351
302
326
288
291
310
306
345
412
307
301
297
343
280
248
277
389
298
367
243
354
387
297
286
281
345
301
371
266
274
301
304
299
309
295
286
285
317
307
351
284
355
342
263
316
327
336
338
310
318
315
319
338
356
326
359
340
313
364
271
327
352
258
331
343
351
310
255
283
353
350
362
340
317
329
343
305
305
271
370
282
314
321
359
306
292
293
341
376
301
304
261
407
283
300
337
287
370
343
339
249
311
251
260
381
392
273
297
440
300
305
288
342
315
264
323
307
234
326
269
403
334
274
370
222
341
329
232
391
378
341
322
311
324
285
336
349
306
375
236
323
307
278
353
258
366
262
311
356
306
323
407
367
314
321
315
269
356
256
290
389
305
324
232
330
263
237
363
286
331
315
349
395
318
325
287
301
301
207
355
293
364
293
327
218
317
273
273
370
351
323
230
271
361
317
383
260
309
263
264
371
292
314
335
330
293
318
299
349
218
319
271
300
349
376
362
287
285
297
248
328
351
320
379
287
310
311
245
324
311
450
379
370
377
291
368
241
250
235
326
326
405
280
310
342
249
249
295
337
296
378
314
312
318
325
259
302
255
279
333
336
253
283
287
333
230
252
333
273
218
230
377
278
361
269
265
312
247
290
286
297
259
198
330
307
253
339
308
409
315
347
345
261
237
253
358
361
232
287
248
379
350
323
323
298
306
275
233
300
320
270
266
337
261
270
328
356
345
341
265
279
277
356
356
410
367
338
357
339
370
315
313
364
337
324
267
222
253
366
320
311
319
350
268
376
273
395
382
354
330
284
288
336
326
271
310
341
416
210
319
303
301
336
308
326
333
242
261
348
303
292
371
271
366
359
401
298
282
298
332
344
218
261
364
292
307
271
272
262
311
331
313
288
380
292
234
331
302
270
329
315
322
324
317
390
320
344
291
305
352
226
317
284
287
321
357
329
314
312
264
390
273
321
254
362
317
217
238
286
334
315
366
288
354
317
325
359
308
344
297
311
328
263
392
306
338
348
308
281
306
351
191
345
354
309
262
316
374
347
384
337
326
277
418
295
301
313
335
260
253
331
280
335
352
225
263
283
298
305
241
337
387
383
318
301
270
327
334
282
215
334
277
233
367
333
318
388
347
332
271
220
286
329
390
255
337
260
349
276
266
326
247
356
271
329
293
374
285
338
308
221
363
275
322
300
341
291
334
309
422
313
370
251
274
310
283
242
312
348
297
395
342
303
307
320
367
303
371
291
355
308
319
244
327
191
332
265
331
324
315
348
334
332
297
296
273
337
293
333
309
220
344
248
394
315
334
330
354
377
324
371
401
276
244
302
346
388
329
332
347
367
328
361
286
391
282
303
356
355
341
388
300
264
343
387
275
289
381
355
366
318
331
310
329
294
311
338
269
320
274
287
292
315
270
343
292
326
360
252
425
302
338
382
299
316
241
333
316
295
328
298
305
316
390
296
302
261
302
317
278
349
367
337
378
388
272
304
209
299
265
293
216
310
303
324
347
364
382
308
330
321
337
344
294
398
306
311
300
329
273
280
334
310
365
292
241
305
322
354
259
376
325
337
322
325
324
351
286
353
280
310
351
361
293
337
287
295
349
358
361
319
324
322
376
262
351
278
282
310
309
290
379
378
367
356
298
235
321
278
304
358
300
259
283
216
316
323
311
367
297
413
275
323
313
350
327
325
249
250
358
295
307
334
379
341
312
354
325
327
262
278
279
284
319
274
338
288
297
269
294
314
315
365
424
310
240
373
261
210
337
256
289
299
387
326
258
339
309
345
286
298
329
268
388
400
316
255
277
335
331
298
342
397
282
323
283
366
333
298
360
327
359
297
296
291
348
382
341
238
369
304
361
298
329
340
374
310
360
323
349
317
377
294
351
280
270
259
329
348
259
265
345
212
306
278
368
237
263
305
214
341
238
276
214
259
236
303
298
311
297
320
344
368
309
297
356
303
280
238
409
289
325
248
319
263
308
375
331
291
398
365
277
398
339
368
353
274
344
336
256
304
271
251
281
290
329
270
300
431
358
333
342
193
371
337
366
304
290
323
331
335
300
276
272
272
265
242
351
381
298
322
259
284
321
331
383
324
268
313
289
272
311
288
378
327
349
290
380
336
332
369
296
362
276
345
311
276
383
276
263
283
243
309
308
301
285
324
297
305
198
326
286
380
304
326
296
364
309
308
310
340
336
236
336
330
345
308
377
363
257
333
346
275
296
355
369
362
311
373
323
325
265
417
285
374
247
246
257
391
333
299
317
325
254
271
283
307
209
294
297
241
290
399
288
264
286
348
395
367
344
338
347
318
345
209
252
361
371
230
310
309
303
333
191
370
316
305
234
328
341
310
332
338
339
292
361
313
336
328
290
372
218
240
355
331
387
313
264
289
401
295
291
348
285
342
286
347
367
324
325
326
373
247
376
325
273
307
318
330
367
359
246
287
311
325
269
347
292
261
352
306
362
357
212
354
358
284
226
326
344
360
317
349
360
337
307
356
324
368
394
285
362
244
327
240
288
291
281
289
256
306
316
261
234
303
248
299
287
370
310
278
328
354
316
242
200
413
291
270
283
242
371
255
289
261
336
394
322
353
270
317
319
377
308
406
257
313
342
285
278
208
315
252
294
294
324
314
322
317
253
308
279
371
264
258
276
352
284
389
287
263
290
295
302
355
310
317
302
331
284
285
361
260
374
270
284
415
278
308
329
386
406
337
360
277
264
368
276
316
293
346
366
273
320
382
332
372
254
387
268
256
379
368
322
385
285
271
242
347
337
262
275
351
310
292
334
293
354
296
267
310
320
274
257
345
337
265
331
310
360
320
305
303
302
310
382
376
355
353
428
324
357
316
289
280
318
317
255
386
314
267
362
278
366
339
320
286
327
287
278
362
277
307
368
272
288
263
316
326
299
275
241
316
282
267
221
364
268
306
321
329
293
319
320
376
348
322
370
340
340
320
286
396
340
316
324
300
264
292
249
374
450
310
319
268
283
309
321
303
311
351
247
276
285
316
283
391
272
295
321
334
290
263
300
336
214
350
294
367
254
400
375
358
281
260
254
334
335
250
323
397
294
308
317
392
281
279
255
230
391
311
272
278
291
325
340
329
254
322
336
287
351
345
306
326
289
356
243
374
323
355
351
353
289
301
320
322
278
238
328
278
288
309
229
365
353
325
335
319
292
289
369
307
392
353
294
336
282
359
343
337
384
334
282
385
327
322
350
306
314
351
313
316
309
371
334
355
357
286
334
305
309
315
286
286
210
389
382
280
283
306
348
357
323
260
307
313
346
315
255
374
377
259
374
344
283
376
359
339
289
310
351
300
344
277
356
283
345
261
366
335
336
280
329
280
300
304
378
286
261
314
296
273
341
349
391
260
275
303
238
338
277
371
380
341
311
280
312
268
282
360
302
313
286
305
339
358
345
269
343
414
321
336
335
249
274
313
301
236
331
287
329
271
273
306
291
347
394
283
310
279
297
323
274
237
293
279
366
305
244
342
374
323
300
314
262
313
287
305
337
292
372
311
333
268
369
313
287
376
347
355
286
311
267
322
316
343
411
302
314
314
288
316
347
319
361
374
393
276
308
375
313
286
352
260
255
335
304
365
321
292
289
325
280
180
276
337
296
340
368
225
252
279
350
396
299
384
385
373
368
241
300
357
355
315
390
360
348
301
360
399
356
287
263
376
295
370
284
346
289
342
318
222
298
300
356
330
330
352
348
302
341
365
328
234
389
319
311
293
304
287
237
352
316
342
296
347
249
265
376
279
348
280
369
320
339
298
327
278
379
378
262
345
382
245
283
359
304
324
352
256
293
260
334
305
279
341
384
380
213
345
273
345
293
247
344
357
312
379
320
314
258
351
278
305
341
327
262
312
291
362
395
344
323
303
267
302
295
311
287
336
293
289
329
280
347
238
361
306
347
424
307
385
264
277
307
412
339
368
323
295
275
312
355
405
261
298
370
321
278
241
331
232
348
368
330
383
253
364
290
316
250
204
325
268
245
295
292
272
327
299
445
342
335
361
315
413
284
352
174
316
289
297
334
242
274
382
257
334
395
292
317
269
387
416
320
336
296
361
274
209
375
370
209
312
323
321
263
330
301
331
255
281
247
383
372
393
252
321
327
198
310
295
318
275
382
324
369
313
217
224
356
297
345
339
353
386
385
253
345
405
294
371
249
264
278
277
367
307
338
313
342
341
404
355
368
310
292
384
382
303
316
356
254
313
276
401
272
256
259
297
367
357
408
238
347
363
383
300
317
295
362
324
285
326
373
396
294
363
308
275
295
302
181
293
366
212
394
301
229
335
358
255
252
315
285
410
277
289
383
314
284
319
375
326
282
303
347
272
284
310
355
322
333
344
298
290
284
256
331
335
312
314
289
340
315
327
300
333
300
288
345
346
236
286
269
323
312
270
358
331
288
315
268
287
326
269
363
331
350
373
313
346
249
221
334
315
310
223
359
296
275
294
365
336
345
242
329
329
266
355
338
328
317
365
348
298
309
361
303
348
266
264
295
297
357
326
359
396
309
369
283
308
393
346
318
321
303
281
260
293
325
291
319
312
307
325
273
292
330
321
290
317
238
305
323
316
483
329
322
345
318
329
292
339
373
280
390
307
253
409
323
330
379
297
248
347
340
296
308
361
316
283
306
272
327
264
358
388
294
238
343
368
302
341
269
365
390
353
338
309
274
376
281
252
316
379
355
329
360
287
251
321
325
341
299
341
310
345
339
285
301
275
291
234
338
288
309
272
239
283
296
254
295
333
311
302
249
332
295
255
249
287
280
248
322
404
242
292
348
282
245
334
340
279
298
309
291
371
328
294
300
340
353
274
316
238
380
329
359
274
268
316
289
293
371
258
403
286
304
357
313
250
291
259
295
344
216
303
352
387
287
258
429
306
308
323
321
207
305
354
333
374
289
378
311
349
259
341
279
296
341
328
325
288
342
282
354
238
346
270
250
382
298
399
276
402
305
358
309
355
187
295
245
351
314
224
399
303
291
421
423
303
331
309
322
334
208
309
286
330
279
377
335
309
324
323
328
352
302
346
383
263
287
381
282
314
361
390
299
341
276
256
319
307
342
363
276
306
288
395
308
195
282
298
291
261
295
361
309
251
298
331
328
337
384
391
194
349
322
357
340
264
301
356
254
368
308
340
333
301
311
356
261
217
351
282
358
328
305
375
301
362
255
260
239
387
224
316
350
274
399
238
262
295
263
321
310
321
279
257
349
240
328
351
364
274
243
349
272
341
348
317
357
323
338
195
252
307
245
399
319
282
336
349
272
348
271
301
334
310
331
381
261
283
360
397
367
330
383
321
195
392
279
307
377
222
277
323
301
353
278
354
300
323
289
326
321
336
357
295
336
383
227
340
279
363
312
241
354
294
351
297
324
340
311
270
368
403
357
303
342
308
288
402
310
248
295
361
358
307
365
250
314
322
279
367
309
318
289
309
375
334
392
313
313
327
349
372
233
384
359
320
298
294
299
258
332
280
396
361
250
351
242
317
216
304
301
238
312
297
274
291
341
235
311
342
245
370
294
271
220
364
339
277
338
319
336
322
295
279
387
299
315
344
360
329
305
287
229
289
312
299
356
322
319
272
355
333
318
292
347
272
311
355
273
342
281
318
284
312
308
227
322
341
272
365
291
277
277
364
371
311
291
326
381
287
370
321
272
291
408
275
304
308
317
315
320
338
306
308
346
372
337
312
254
310
330
304
289
326
355
263
301
216
338
334
303
275
204
235
307
421
359
279
178
301
235
318
349
291
236
292
299
266
308
333
307
305
320
330
326
321
364
321
273
329
345
319
312
356
341
292
416
266
278
196
330
351
304
272
346
240
301
318
253
319
307
314
266
309
359
281
382
304
347
356
322
359
349
346
255
310
309
376
411
290
287
313
309
270
281
313
288
328
294
294
341
310
376
266
304
290
371
360
288
322
383
272
249
313
302
404
271
397
321
270
313
306
228
245
346
320
268
240
218
276
282
350
367
345
303
293
266
336
208
371
354
275
375
269
273
285
233
285
277
311
299
307
278
258
274
366
332
297
305
355
352
202
310
315
238
334
309
300
375
337
264
324
308
272
336
259
367
280
229
271
342
271
267
299
382
359
381
232
296
383
333
339
318
409
282
290
234
379
360
310
325
289
285
386
375
317
260
312
298
284
382
293
283
254
282
306
373
342
293
307
337
344
392
368
290
243
302
318
270
307
269
256
327
358
388
265
313
289
343
338
306
366
243
287
313
373
367
328
352
348
257
337
313
264
253
271
354
317
366
321
349
213
325
275
397
313
343
309
317
324
314
337
350
325
336
290
278
339
395
348
288
322
308
261
378
309
288
279
259
300
287
275
357
291
286
340
354
309
278
362
281
405
258
184
320
285
300
352
300
352
355
323
313
292
295
379
339
372
338
260
318
324
256
315
244
322
274
365
245
304
311
217
340
299
325
244
304
285
311
304
324
257
326
303
394
263
364
338
372
293
314
350
274
305
353
258
265
277
352
308
303
413
218
267
342
252
307
309
284
320
321
270
358
348
300
259
296
299
264
337
263
356
315
299
325
323
179
348
350
313
264
306
360
334
336
346
249
342
303
319
300
262
226
302
356
290
286
349
335
259
341
348
329
277
299
278
265
266
370
340
347
308
252
292
324
402
421
300
349
357
368
303
250
332
306
317
291
327
368
309
373
270
298
283
230
328
244
352
278
350
320
259
287
419
329
308
315
283
378
315
333
316
350
288
330
260
282
351
331
226
297
375
275
262
285
316
311
324
268
344
300
271
376
233
291
380
343
321
294
332
304
269
317
375
371
414
369
312
305
290
390
350
338
323
376
362
286
280
300
260
271
408
350
349
401
307
344
356
339
363
217
273
302
304
280
347
350
318
277
198
282
331
264
291
265
249
328
297
243
291
319
244
330
325
266
295
320
432
291
295
372
378
221
330
317
308
333
312
237
302
360
328
350
336
280
306
310
370
282
339
303
290
251
291
297
185
264
260
248
228
274
259
283
342
281
359
338
322
340
326
365
386
294
344
329
254
311
348
329
299
400
270
298
284
333
300
263
257
373
298
357
350
319
328
328
287
275
319
360
240
335
313
309
363
389
360
241
304
303
226
244
222
280
312
335
353
231
266
300
302
339
386
246
312
306
324
319
384
308
334
320
211
327
331
365
296
327
303
317
305
342
349
200
308
170
224
358
300
327
292
377
326
363
240
311
338
272
262
331
314
345
238
246
342
357
249
242
322
313
302
255
292
249
245
338
398
425
234
295
263
340
275
347
260
259
278
242
333
282
293
261
301
299
313
354
277
261
269
366
211
269
344
315
304
316
337
300
401
317
347
290
330
282
299
337
345
391
292
337
267
290
246
297
292
252
354
308
309
317
262
338
248
260
348
319
340
317
289
205
280
365
289
256
337
354
405
298
374
288
371
327
334
275
403
337
317
350
277
298
225
336
453
320
240
206
398
366
328
308
245
357
376
334
336
403
308
270
380
332
291
292
309
379
340
312
289
310
381
295
198
306
296
302
361
290
224
321
244
307
341
336
337
329
300
318
328
323
370
310
255
230
183
273
313
306
373
282
359
380
296
309
252
300
236
238
355
285
234
293
379
367
314
305
299
228
357
379
264
332
199
287
334
212
351
275
334
234
328
265
308
291
224
223
325
283
240
322
285
283
358
333
351
289
302
316
312
325
433
324
403
385
221
316
318
276
254
229
300
247
332
379
390
325
349
300
302
326
330
355
296
283
395
307
303
322
292
275
360
353
296
276
305
360
311
277
308
339
403
223
340
326
294
321
348
308
237
371
344
315
287
289
366
367
248
301
365
241
399
394
291
337
293
332
388
244
396
308
273
337
338
372
355
263
373
305
300
303
329
375
337
318
269
278
309
325
322
351
322
310
246
429
309
311
293
339
270
281
326
389
225
379
306
326
295
285
291
335
325
333
324
337
367
361
307
359
306
306
407
333
334
315
294
367
316
264
352
327
298
383
357
295
374
205
383
360
311
260
362
264
323
386
294
344
260
317
372
310
345
303
272
306
340
299
372
306
340
291
308
338
306
363
302
351
315
293
333
299
283
417
343
318
290
363
285
302
254
363
333
296
298
339
324
319
341
292
295
361
264
289
320
243
382
349
280
302
226
255
282
256
280
295
349
274
254
266
339
315
350
282
307
281
362
313
306
215
317
336
253
277
347
197
352
311
233
288
292
318
412
238
285
287
369
315
266
310
393
297
309
257
316
331
318
270
273
366
366
288
301
292
298
244
336
262
221
385
339
334
294
318
301
305
370
271
407
247
323
355
290
337
315
352
330
343
350
220
318
302
281
351
360
336
256
337
267
376
371
352
413
294
412
415
308
348
320
264
257
326
247
384
368
225
311
332
193
343
312
267
418
219
282
322
283
317
320
242
277
292
308
328
209
346
325
280
379
388
286
323
279
355
326
311
367
375
333
269
307
299
374
272
310
337
391
283
375
370
355
368
270
386
279
293
245
196
306
363
347
271
363
280
320
319
345
317
304
308
295
275
369
310
300
366
345
342
311
370
305
258
294
337
295
359
335
325
318
325
360
309
355
319
305
350
326
330
355
322
364
292
318
360
280
370
320
312
254
313
361
310
280
324
271
368
245
316
344
313
332
308
359
405
318
355
236
220
270
311
310
345
231
266
321
289
263
301
331
280
257
336
340
279
373
344
314
354
270
298
310
393
302
250
355
329
350
340
307
308
362
339
276
267
320
352
288
395
282
288
249
368
295
215
337
344
318
320
325
390
298
319
264
342
238
331
310
330
355
355
265
330
338
296
325
332
261
239
249
348
353
342
332
296
388
345
261
321
333
307
293
393
373
386
270
395
334
369
313
392
355
295
311
317
306
297
281
340
350
311
272
326
299
347
320
352
357
262
351
343
335
293
362
380
244
319
279
343
252
333
335
321
262
306
317
394
251
371
341
267
334
337
418
305
273
312
327
360
357
288
297
309
349
353
317
321
272
360
351
329
288
346
352
294
287
354
290
296
276
333
240
252
317
256
350
356
314
354
169
260
376
379
310
315
296
327
275
209
249
354
278
338
366
291
339
217
232
373
413
287
268
273
369
333
285
260
260
312
371
315
327
378
357
310
325
270
270
328
344
382
263
314
379
297
331
337
301
316
294
400
429
339
356
271
335
324
289
314
343
320
414
293
308
391
307
291
346
326
246
352
241
361
328
370
308
297
347
330
349
322
270
177
357
272
318
318
281
272
318
250
376
264
411
281
259
358
300
337
223
292
339
365
304
303
380
376
356
305
310
355
268
331
301
291
336
368
280
260
302
379
326
286
325
315
245
350
385
197
341
336
330
254
348
292
360
279
250
403
365
270
316
283
298
312
289
362
283
343
313
311
349
290
325
346
385
305
341
315
343
325
391
330
316
373
294
378
242
347
302
322
246
402
310
319
254
301
257
340
283
371
227
308
309
300
339
308
343
376
254
338
298
351
422
344
368
273
314
284
329
275
361
283
299
330
269
307
354
352
285
363
311
328
330
278
267
328
276
315
326
262
228
348
373
298
289
328
284
271
260
379
257
278
325
305
290
316
295
303
306
320
291
337
298
248
220
354
290
259
371
340
318
196
309
330
347
425
333
309
321
255
315
306
324
230
295
364
339
369
370
351
272
268
366
249
407
312
343
357
448
337
310
325
403
352
275
434
273
356
332
296
315
333
358
285
388
330
296
401
275
310
271
393
226
370
309
312
321
318
364
338
284
311
357
350
316
368
296
312
271
370
346
277
306
351
356
350
320
350
405
272
270
335
323
308
247
276
386
259
266
312
341
327
322
389
208
256
218
241
333
243
303
327
280
265
360
345
385
301
339
334
320
296
289
399
347
324
378
356
291
332
336
268
377
367
342
316
376
246
305
326
292
301
329
360
357
215
227
315
321
311
316
327
361
330
251
317
375
286
206
313
322
264
212
364
277
341
381
332
385
354
420
290
282
345
329
309
203
331
324
188
379
322
267
428
356
303
294
311
368
331
341
309
332
343
261
254
275
410
364
253
300
389
304
283
213
363
381
290
334
322
339
323
265
288
348
363
276
299
295
380
319
271
317
280
292
256
256
299
371
331
326
297
360
379
404
329
332
339
392
331
346
321
311
308
298
347
339
274
282
247
258
311
352
320
314
356
355
329
287
314
285
323
311
248
352
379
333
319
201
294
339
295
288
348
380
300
325
345
283
340
240
297
274
357
343
375
365
343
295
352
386
277
244
387
288
359
348
193
381
337
371
209
338
295
319
241
383
300
346
339
335
312
337
319
268
297
376
287
302
277
326
280
373
265
293
305
339
394
335
260
400
305
281
299
322
287
375
347
317
322
285
314
262
329
350
292
328
305
294
315
356
294
265
323
259
389
423
242
347
339
363
322
287
308
299
352
330
273
354
216
254
364
304
277
355
283
331
285
343
325
254
259
363
228
240
286
325
354
309
298
307
278
276
336
297
275
349
315
326
267
344
371
340
322
213
258
327
336
396
344
357
328
360
257
343
349
284
314
350
206
331
357
229
295
264
320
261
361
267
286
392
346
341
291
262
245
241
366
367
312
345
299
228
313
305
249
279
262
261
368
342
296
279
379
228
312
318
203
334
326
308
276
195
392
414
285
308
256
293
406
385
308
277
270
328
314
325
378
206
256
226
318
303
373
244
333
311
287
363
315
259
299
209
303
293
285
326
298
372
356
369
310
237
303
358
219
274
273
293
287
397
296
277
312
327
258
311
330
258
375
318
331
298
263
392
373
317
315
300
298
187
354
326
322
329
351
306
373
246
326
310
365
301
330
368
341
355
314
392
330
327
410
317
311
357
284
352
343
306
309
235
357
351
315
319
341
347
351
400
287
342
322
308
379
334
311
307
247
236
349
366
385
310
303
269
348
301
289
277
258
320
379
351
296
269
330
323
293
289
304
316
320
294
261
294
269
334
306
332
346
338
285
289
373
341
256
344
378
322
296
238
342
298
375
337
304
248
272
294
354
271
328
348
290
284
330
295
398
253
366
279
338
280
360
243
343
288
263
264
317
342
354
314
198
350
253
333
315
379
309
379
397
304
274
321
401
279
381
297
293
283
253
347
313
363
281
326
264
373
315
230
333
330
269
252
254
334
281
310
425
362
324
300
278
273
368
329
262
304
243
282
321
294
336
333
310
261
255
337
310
214
351
353
246
252
304
343
231
340
332
361
267
347
278
371
309
333
271
259
381
365
310
268
346
385
278
341
330
272
302
356
298
344
272
312
294
275
306
299
353
314
322
285
272
288
270
305
283
296
294
378
336
253
252
398
268
348
216
243
257
389
273
278
358
413
287
346
355
323
290
256
288
385
287
299
302
226
327
321
258
316
236
310
379
328
217
253
319
334
343
375
269
348
346
356
384
242
321
300
332
231
377
329
413
343
290
325
352
381
314
293
371
256
317
266
354
325
269
220
344
307
324
358
399
280
413
324
314
308
254
328
268
350
286
265
275
326
251
360
347
342
291
332
290
260
400
330
275
329
313
254
425
313
398
288
298
311
311
270
340
317
283
358
294
306
322
231
208
250
323
251
274
299
246
269
287
364
212
292
289
342
325
359
316
291
384
268
253
274
328
333
377
304
287
323
284
204
309
327
331
321
321
310
281
276
373
345
326
329
293
361
293
234
354
248
385
260
290
342
261
374
285
296
307
319
356
319
282
248
375
324
252
247
265
280
329
295
319
358
303
288
236
375
296
303
296
381
349
288
349
345
387
321
307
297
291
370
339
385
310
263
367
244
359
267
275
289
288
312
344
357
300
280
350
275
344
309
289
342
311
335
224
329
262
339
385
289
297
334
230
409
232
298
265
365
331
262
263
299
349
352
256
266
325
310
340
358
376
306
378
268
379
177
343
249
322
281
371
303
329
332
305
336
373
324
287
285
166
354
312
300
301
349
326
335
267
217
330
238
278
352
361
267
256
387
284
364
368
337
338
299
357
321
306
352
298
248
341
410
357
354
237
344
237
392
226
195
325
358
269
307
257
259
317
344
321
273
341
243
263
333
431
337
380
360
236
292
271
314
372
342
306
328
360
266
300
311
234
231
312
344
287
374
351
342
351
343
356
299
288
319
326
373
339
319
278
330
295
295
326
262
276
366
340
297
322
309
296
318
349
267
338
267
294
372
340
312
293
355
358
323
255
265
327
275
326
288
298
266
310
316
395
358
365
297
219
308
294
331
328
234
354
391
384
253
291
324
292
373
300
344
283
272
345
273
324
252
303
350
358
286
260
314
320
289
308
373
401
376
290
339
294
302
400
357
251
368
374
300
258
349
271
284
326
285
358
301
275
361
377
307
368
302
415
219
342
320
369
338
298
348
298
306
286
374
269
376
341
287
327
355
336
245
303
281
233
288
313
235
355
297
374
332
334
279
300
275
343
263
298
334
352
373
411
323
297
294
260
297
315
333
393
301
255
308
301
309
281
281
269
354
295
291
372
298
260
364
309
251
326
277
346
255
325
304
237
313
368
244
327
332
316
336
321
304
349
290
365
266
336
227
334
406
330
318
347
353
333
310
269
184
314
282
305
316
297
365
361
355
260
316
374
285
258
307
324
384
359
322
327
337
294
251
298
371
333
299
319
311
229
357
290
308
342
340
277
296
256
331
298
340
266
322
342
333
264
298
265
248
333
256
340
288
320
371
269
367
412
317
336
252
322
306
251
332
303
277
327
409
403
408
290
223
326
262
344
335
225
364
296
343
361
252
366
274
305
289
316
284
291
331
319
292
323
310
277
231
237
305
336
348
303
309
320
377
256
321
292
336
206
328
386
363
430
363
304
259
309
363
386
311
347
336
454
220
277
331
292
295
333
359
379
377
304
281
353
290
377
273
318
344
379
335
325
324
398
278
407
320
376
269
319
394
295
356
320
357
273
294
378
326
348
369
377
317
360
225
355
289
251
368
244
297
359
304
360
274
318
325
301
349
315
318
282
331
310
289
398
397
461
300
292
333
356
200
322
312
351
300
258
237
327
258
273
315
333
298
362
295
372
305
336
269
353
380
410
363
216
406
448
253
345
266
325
343
254
337
267
239
284
289
249
266
324
345
319
372
297
364
256
333
261
339
330
310
304
304
369
255
288
335
301
265
332
334
397
338
269
299
289
440
409
295
311
286
310
380
381
358
304
368
336
182
346
400
359
270
317
278
288
350
287
284
387
314
303
340
299
275
235
280
297
371
247
359
385
327
244
261
367
251
271
269
245
308
262
247
241
310
312
242
382
321
346
285
342
300
388
269
339
339
264
330
284
332
307
358
322
317
289
293
260
414
272
324
295
385
311
387
326
335
306
372
391
275
344
358
299
324
312
273
238
186
278
265
277
337
251
331
305
321
271
304
266
289
302
205
344
300
296
399
320
329
331
264
315
415
341
310
321
289
347
275
335
237
226
268
287
221
272
302
266
287
274
305
311
258
278
290
312
404
381
370
351
394
370
334
299
245
308
383
338
315
334
405
358
244
318
249
208
374
361
348
346
338
333
303
251
281
355
339
305
318
369
334
307
230
298
373
253
387
290
278
290
269
313
364
333
288
326
323
277
413
330
253
222
311
320
375
341
363
253
344
322
277
376
333
335
227
280
340
382
339
370
318
319
315
315
356
268
318
394
361
282
309
306
303
297
338
269
312
283
296
334
339
362
310
233
278
323
336
407
254
264
348
335
299
267
247
318
309
210
266
317
367
314
315
318
317
448
292
235
290
329
216
280
356
393
307
385
379
301
309
267
313
307
323
310
281
260
357
376
366
315
305
323
320
258
403
301
262
320
352
357
389
356
299
310
276
207
241
303
357
379
294
358
333
278
240
248
299
321
279
331
284
294
290
328
272
303
398
418
306
317
344
380
292
379
384
358
319
296
187
383
359
334
356
293
289
311
249
325
297
287
299
332
326
253
350
321
355
305
256
305
313
321
218
322
321
356
332
326
335
301
314
317
292
245
363
385
383
278
202
261
318
309
334
246
319
330
361
288
215
335
338
274
334
299
327
338
393
305
227
336
319
315
343
304
362
340
281
321
319
394
407
261
308
313
295
299
309
367
305
244
346
307
360
259
418
367
207
303
368
347
314
338
317
384
297
214
247
307
318
312
326
274
247
363
346
406
363
365
361
358
448
312
337
260
292
337
291
318
326
258
282
393
266
342
280
285
349
328
285
331
372
344
293
338
281
380
394
312
254
374
327
374
277
271
293
368
251
324
356
393
317
392
291
315
247
291
256
269
313
311
367
320
238
379
310
259
293
390
271
379
356
349
301
339
309
342
327
333
349
332
360
254
329
288
352
316
271
291
344
331
267
285
274
305
318
308
413
409
316
337
325
262
262
244
294
247
288
338
321
271
370
278
241
338
342
366
318
308
326
320
299
335
300
321
253
331
364
308
357
363
361
374
314
369
217
393
260
387
328
312
329
297
308
282
309
340
363
340
344
345
374
315
311
288
337
376
349
299
251
285
309
351
286
285
333
310
297
246
365
306
418
323
355
335
362
343
303
295
302
259
234
291
260
304
280
359
312
299
379
299
264
322
322
241
326
262
367
361
375
322
262
333
334
333
287
287
275
314
320
232
281
332
362
339
211
332
361
215
331
379
370
246
278
386
381
284
273
338
329
324
361
395
439
354
287
257
329
296
351
288
322
320
347
310
291
340
280
307
205
293
302
324
301
219
318
357
265
395
323
297
323
327
334
358
454
379
271
291
243
256
321
297
300
343
297
268
314
289
269
311
293
354
296
346
413
356
295
301
300
239
334
270
311
330
347
276
307
307
314
340
358
335
312
328
304
312
230
281
440
266
222
223
344
316
258
257
280
375
292
332
342
367
270
398
285
321
332
337
322
246
330
260
346
406
347
251
362
344
297
331
330
297
345
327
377
280
361
322
283
270
339
254
324
381
364
261
352
312
345
238
239
286
266
306
351
274
335
341
330
239
255
346
377
297
323
381
344
423
342
324
323
387
309
340
336
394
375
252
253
391
373
314
224
307
285
319
332
317
298
275
312
329
284
284
358
286
343
312
323
230
296
346
305
354
331
341
300
350
321
264
337
370
400
348
327
201
298
360
348
302
319
315
323
350
349
354
309
364
322
304
285
339
316
325
232
386
344
367
365
343
395
302
318
282
275
284
268
370
279
329
329
239
277
274
248
331
372
222
304
280
306
321
293
313
310
372
338
329
254
367
289
375
336
330
332
282
280
301
388
303
325
328
330
322
270
336
370
256
305
334
299
368
237
376
340
316
363
314
229
375
370
277
257
318
335
350
327
289
371
372
277
340
287
355
289
302
307
336
289
300
249
367
319
238
251
326
313
252
381
272
281
252
273
336
306
300
291
335
305
297
323
233
269
276
373
304
313
309
333
301
329
342
353
337
209
302
300
360
289
341
275
270
257
280
315
363
315
341
340
342
278
340
356
305
307
353
314
319
274
287
328
322
335
253
304
296
361
333
292
332
284
279
278
314
266
346
326
247
300
304
291
295
336
311
258
257
318
264
335
315
354
294
320
279
360
337
357
354
273
306
286
318
340
354
309
280
306
195
399
315
290
278
267
339
332
341
295
341
318
255
325
387
303
374
258
404
330
401
273
244
262
332
318
333
384
366
299
253
260
346
359
326
313
293
268
295
296
283
323
360
267
356
268
296
315
345
264
339
326
306
298
374
348
279
214
377
246
329
298
289
303
293
305
257
271
345
271
265
294
313
309
246
313
350
335
259
320
305
385
322
331
336
321
358
239
364
249
315
331
357
357
348
370
313
389
303
248
341
368
306
344
262
378
338
365
304
370
303
356
351
234
349
316
322
326
297
331
366
274
303
409
302
315
212
252
276
344
299
300
366
354
359
307
355
321
332
322
347
291
316
374
328
308
352
383
363
374
306
315
385
390
209
318
324
291
321
362
291
291
316
373
287
304
268
324
349
405
361
349
331
260
242
279
283
353
347
229
301
251
264
323
245
315
290
355
297
411
281
377
296
297
222
326
350
303
256
273
247
326
203
306
286
294
263
317
360
348
282
367
324
241
303
304
338
286
332
191
294
297
311
251
240
306
349
365
289
292
292
326
332
326
366
262
382
272
283
357
268
316
343
334
262
271
317
293
339
285
316
301
316
295
268
349
334
331
360
327
355
309
285
408
280
290
340
255
265
342
312
331
352
333
297
270
350
370
249
320
252
367
299
268
340
359
371
308
285
396
350
311
311
298
255
353
299
267
280
392
285
311
316
349
363
280
373
311
259
284
200
360
242
270
251
318
314
326
256
373
269
297
313
323
299
370
250
341
313
374
375
286
330
300
175
300
359
310
253
316
310
201
312
324
333
319
331
316
308
297
359
374
294
226
324
378
319
255
389
321
307
213
271
362
339
343
361
340
382
295
309
268
336
382
309
261
345
310
333
362
241
304
275
403
273
344
268
373
282
332
413
323
340
282
324
395
352
284
384
296
359
203
336
326
356
279
285
263
281
318
275
302
233
275
291
292
279
276
401
299
181
393
316
242
374
350
315
329
399
384
391
377
288
223
281
344
304
359
297
370
374
426
302
385
362
347
243
337
352
329
209
337
312
316
286
416
318
251
304
258
240
236
374
255
308
377
377
340
257
307
372
284
366
355
304
327
326
228
344
279
332
295
288
386
297
291
264
364
269
326
275
311
296
270
291
369
313
297
316
340
297
337
333
364
307
334
346
267
326
304
316
258
311
381
306
341
369
313
303
233
358
248
295
283
348
252
264
308
293
350
222
369
328
325
364
342
247
340
297
282
360
339
354
295
347
268
299
339
321
253
231
278
359
323
348
337
359
387
345
363
346
317
379
238
321
288
223
308
281
341
341
284
308
227
351
322
320
200
338
284
268
398
319
325
247
235
316
402
291
253
320
341
283
245
345
280
260
362
404
302
270
343
233
360
334
300
326
346
311
292
342
303
245
418
282
313
288
356
324
390
357
306
356
314
310
297
333
337
285
301
318
307
317
375
379
370
262
317
296
306
338
415
326
340
246
319
356
307
366
400
368
360
303
365
421
300
318
310
367
310
269
230
308
337
347
376
314
313
446
311
298
342
338
239
263
333
257
341
390
378
326
305
326
327
260
325
287
282
359
384
283
343
264
295
301
254
359
375
366
367
281
260
319
256
346
293
296
279
310
315
303
282
357
342
406
305
316
340
330
290
281
305
247
319
308
285
316
404
293
324
331
266
282
355
384
356
346
317
343
320
402
329
291
267
280
331
363
431
308
227
333
326
372
294
442
329
351
275
327
308
330
248
303
280
392
330
262
300
369
302
351
392
363
317
237
288
355
292
303
260
363
290
322
375
281
302
294
263
348
299
330
337
314
329
386
292
312
344
283
301
305
261
253
378
357
346
326
272
279
323
349
307
327
360
290
339
344
388
260
204
332
311
371
281
283
326
269
303
396
312
418
295
292
302
280
359
389
217
386
321
396
301
385
400
299
279
295
291
365
300
342
383
403
317
317
288
246
301
373
312
276
300
386
396
298
187
294
277
322
393
312
288
205
298
330
339
304
332
327
321
251
266
255
340
373
290
285
337
310
358
277
336
386
371
308
320
341
281
329
314
374
346
289
423
357
287
305
373
394
258
275
347
315
347
338
361
357
316
384
364
376
390
321
358
260
273
279
290
327
370
397
341
354
299
292
277
248
293
375
363
283
297
266
292
204
347
286
314
383
318
280
221
322
363
333
302
358
371
328
340
253
314
371
232
289
346
337
218
362
305
347
315
331
311
357
361
228
323
325
292
353
321
405
290
301
384
349
353
298
297
299
312
360
349
317
402
332
260
302
315
372
325
272
333
345
351
347
342
337
271
295
271
346
264
252
276
353
306
287
348
377
229
319
311
380
415
313
274
264
401
314
238
309
347
396
333
337
319
294
319
309
295
350
286
237
351
328
260
269
299
327
345
336
316
376
326
315
262
332
321
331
307
316
369
253
341
279
315
330
305
246
319
276
280
307
351
276
315
229
291
281
349
293
377
307
361
373
298
280
341
340
327
363
324
357
300
402
323
355
251
300
400
367
352
340
343
316
316
252
361
316
261
351
284
246
314
222
297
269
325
246
344
291
284
358
277
307
302
363
329
259
331
355
317
287
357
271
385
432
271
330
288
277
394
341
312
287
340
329
257
294
262
378
326
238
330
242
280
350
271
263
387
337
338
317
352
353
346
268
331
303
371
309
246
253
342
344
315
318
261
326
311
339
304
311
305
342
349
316
270
334
293
339
361
362
397
259
340
371
336
312
364
322
278
294
363
246
297
285
371
348
318
364
267
350
288
332
366
334
403
315
194
320
290
219
395
294
338
302
376
315
299
278
325
258
376
328
346
328
368
340
359
382
255
227
341
378
314
400
320
331
363
329
244
311
253
381
351
342
195
289
265
295
291
301
232
325
283
307
271
241
356
295
262
322
288
336
352
283
315
244
259
275
327
341
331
324
307
325
317
260
373
398
258
318
278
280
328
376
285
367
317
293
294
298
277
238
316
285
373
430
322
382
336
317
290
249
268
274
295
359
212
300
285
350
260
365
284
353
376
351
370
296
391
306
303
278
349
303
254
269
278
357
353
328
347
344
338
272
262
366
367
247
304
273
345
340
328
379
309
333
303
346
278
324
287
337
229
265
338
197
287
327
302
328
294
322
270
315
315
339
363
357
347
274
362
307
373
217
358
290
264
342
318
329
366
268
360
338
289
314
332
310
232
312
231
246
374
237
332
249
256
249
271
327
314
333
367
282
273
361
376
351
289
351
308
334
327
245
382
266
329
354
303
265
191
308
267
371
255
321
327
324
313
307
264
234
268
356
287
271
256
372
331
359
285
352
356
326
313
259
254
286
349
304
251
344
279
369
311
297
296
278
213
299
349
352
351
317
291
334
298
300
245
257
347
324
302
237
267
290
356
275
283
273
323
347
344
307
371
296
328
359
330
301
274
257
385
339
275
282
216
286
363
291
330
360
305
268
294
301
342
266
199
328
315
364
272
331
219
280
342
259
340
373
324
310
255
275
346
244
278
359
302
291
269
298
319
360
304
334
326
262
298
296
282
343
349
277
303
367
336
370
264
426
242
326
305
257
267
302
214
298
317
274
237
219
322
288
358
428
228
304
293
268
305
310
287
297
269
267
338
277
306
362
363
426
396
305
246
245
365
326
365
387
313
320
359
293
350
359
333
294
327
305
352
337
375
448
329
376
284
218
267
225
363
272
359
367
329
329
321
345
329
316
339
416
310
399
369
258
320
379
323
319
303
283
361
343
271
305
209
314
324
316
306
347
297
370
402
264
301
331
317
244
397
287
332
313
246
320
287
367
298
288
369
306
332
291
322
284
406
301
231
236
310
324
243
352
417
351
341
328
428
271
354
292
340
307
330
293
388
350
259
341
322
308
320
320
352
292
299
277
283
219
244
286
360
259
340
291
382
314
376
270
379
306
178
327
344
311
305
345
340
348
355
203
280
252
304
322
286
350
265
281
348
264
426
303
254
334
389
285
341
354
361
350
282
291
300
319
268
336
334
299
337
296
210
296
344
352
302
300
233
302
295
337
266
384
378
304
249
274
234
231
338
390
275
339
281
321
402
334
323
409
310
264
279
337
276
344
278
326
343
401
282
259
354
341
368
343
271
348
381
312
303
305
322
330
353
242
268
322
302
267
270
349
346
381
360
308
381
359
282
276
277
292
329
334
354
357
403
326
227
300
282
267
229
345
303
284
328
364
327
317
349
342
301
327
334
271
308
262
339
256
244
296
303
326
298
315
270
368
244
289
333
335
334
347
305
293
394
381
278
342
348
328
307
332
368
327
260
268
330
304
313
306
301
353
323
352
359
382
317
348
350
357
340
288
316
229
287
311
273
283
375
335
369
305
310
343
262
375
303
361
379
271
308
340
336
340
313
228
348
370
275
382
295
333
345
289
248
350
269
224
242
298
290
274
351
279
338
334
301
374
363
355
307
314
285
256
321
323
300
361
379
350
291
317
243
269
313
315
369
353
314
318
330
278
361
318
326
268
380
331
321
399
377
330
371
373
259
312
284
329
348
329
330
290
244
334
328
267
382
268
330
307
284
337
314
298
338
276
370
338
331
393
297
409
320
324
381
382
275
346
352
230
331
308
325
328
320
393
334
337
305
268
312
268
339
331
287
379
352
300
309
325
371
324
378
293
360
326
351
267
383
280
329
356
356
315
253
334
260
345
372
342
211
240
239
280
314
314
385
373
342
392
348
330
361
375
174
338
365
241
249
356
405
358
380
340
277
335
352
336
332
327
245
315
379
306
276
302
331
279
321
246
182
278
315
373
362
356
303
273
244
324
330
353
304
314
333
365
323
266
346
409
320
360
321
434
296
344
322
299
359
236
273
251
243
362
299
271
386
400
300
272
369
258
296
312
306
319
198
388
295
409
404
268
262
374
329
369
380
324
270
354
283
263
274
333
311
400
283
354
283
279
293
298
377
336
354
207
258
223
391
272
286
331
368
256
286
380
277
239
298
278
308
308
339
340
281
340
394
310
308
299
307
368
203
220
319
362
309
379
318
380
286
315
270
345
323
306
280
221
369
267
345
285
306
377
283
277
241
291
361
342
388
365
292
309
333
374
315
372
349
322
263
269
279
324
297
251
300
325
304
359
314
351
345
251
249
429
333
340
377
260
367
393
358
343
308
281
354
249
301
370
324
321
357
275
324
296
332
347
322
322
320
259
279
309
237
363
394
278
375
218
338
274
312
306
338
212
379
340
319
352
325
326
331
385
334
323
319
301
337
298
367
350
367
313
262
296
327
351
273
221
296
299
357
322
372
251
269
305
295
281
320
367
393
300
364
315
320
218
331
358
357
368
365
267
266
331
330
351
322
249
272
358
318
388
353
259
319
367
275
361
334
277
346
345
249
333
269
341
302
243
233
307
305
290
223
343
374
278
345
299
312
372
266
384
240
299
229
360
264
304
338
297
322
248
342
361
394
321
358
316
293
306
306
370
296
381
302
296
210
373
374
295
298
280
296
311
331
293
282
246
222
232
212
233
263
355
326
319
381
276
306
303
334
350
273
278
280
396
303
306
306
294
290
347
342
337
363
298
391
336
314
383
301
293
270
349
331
251
303
319
293
281
281
205
346
354
359
372
305
364
328
336
313
279
341
327
262
274
347
178
288
277
395
388
253
352
342
295
288
316
269
258
365
313
295
366
357
271
340
329
354
289
302
336
253
331
239
299
318
298
243
253
342
329
324
342
266
348
342
249
372
239
354
199
307
309
407
289
323
298
277
379
365
331
264
346
341
362
312
321
297
308
336
316
262
335
276
404
261
298
365
300
324
246
341
301
386
387
292
348
268
368
286
348
346
322
368
366
334
277
382
288
263
362
269
379
365
200
368
296
375
358
351
279
423
296
294
344
268
380
273
382
365
261
310
371
281
267
336
318
373
309
325
311
350
306
306
396
303
234
347
359
271
281
432
350
239
266
334
329
340
291
310
314
326
368
344
330
343
274
318
252
326
383
292
335
359
284
418
365
358
289
345
359
361
349
379
336
306
335
261
267
369
205
299
273
343
325
296
256
302
392
291
236
398
312
277
363
261
320
272
279
311
283
296
303
266
357
285
351
305
359
313
306
266
410
356
319
312
326
317
399
306
273
285
381
326
413
330
391
346
372
323
371
380
272
334
156
380
289
279
306
350
414
370
280
324
288
249
326
356
269
379
284
303
299
236
352
281
298
300
287
261
373
293
320
263
384
340
357
224
319
300
313
418
305
353
360
353
379
294
399
287
311
316
321
246
251
414
256
336
330
271
249
301
296
351
250
295
342
290
344
287
269
356
317
361
306
215
378
316
298
379
309
386
301
333
235
210
403
295
350
339
346
292
271
369
332
264
292
338
275
320
323
291
258
278
392
273
334
271
338
358
341
372
333
306
375
374
342
371
304
336
329
349
351
322
333
315
295
338
291
375
356
341
295
315
278
369
347
392
349
341
344
196
256
297
245
279
319
342
313
367
364
302
387
270
351
290
322
398
351
245
334
191
316
368
327
355
282
276
221
373
343
322
342
305
302
317
345
274
346
276
313
325
260
395
433
350
329
302
321
314
330
272
373
397
259
350
329
351
335
340
320
301
287
367
329
362
303
267
200
340
330
298
319
319
238
315
298
176
343
357
339
310
317
368
296
346
352
276
370
367
327
280
295
360
293
375
312
357
313
381
363
336
334
205
368
298
332
363
202
254
324
340
361
382
258
311
217
312
348
347
252
172
378
387
327
347
253
306
320
303
357
295
344
352
236
276
362
410
312
307
335
273
214
256
320
304
292
340
281
266
300
363
347
376
305
315
296
346
389
279
270
236
312
364
317
299
363
317
314
313
385
354
309
350
356
385
326
402
360
327
296
400
232
365
359
321
283
218
302
356
282
354
257
316
330
312
251
236
307
300
386
306
313
173
301
365
276
224
326
261
266
359
213
338
338
287
246
393
330
281
353
358
274
302
327
306
363
331
302
345
332
302
240
265
315
228
281
344
338
294
312
408
334
246
298
307
290
331
368
281
326
313
312
246
359
354
341
285
313
359
373
360
380
313
293
230
397
309
295
285
296
293
384
365
243
357
349
333
290
315
296
293
291
346
276
356
319
344
354
285
340
291
213
335
343
311
235
334
250
323
340
294
337
321
328
396
284
258
332
300
247
270
281
264
306
351
298
293
372
336
360
344
292
334
418
348
270
331
321
278
393
349
332
388
254
398
320
233
295
265
314
274
278
268
372
254
370
342
347
364
286
347
301
310
365
354
273
333
355
280
387
293
264
307
276
409
257
325
337
331
333
293
356
344
243
329
306
282
376
376
386
300
277
314
249
318
288
275
318
299
364
243
343
355
419
326
322
339
255
375
217
329
312
355
297
316
258
340
331
340
284
333
389
313
331
317
327
381
393
298
313
332
315
313
318
337
280
270
376
293
292
339
268
316
302
278
335
363
369
297
320
349
293
316
303
312
308
345
303
319
391
321
230
344
288
361
289
245
287
339
321
321
333
309
304
303
344
327
330
269
386
279
346
327
289
218
208
277
327
349
332
284
320
320
310
295
406
223
224
335
348
360
287
339
244
304
307
233
233
286
323
326
310
303
290
319
320
363
231
233
360
269
307
257
267
269
323
272
341
310
257
324
330
325
254
255
300
289
291
392
287
354
284
316
312
405
346
289
277
419
358
348
279
361
264
311
331
373
425
372
406
408
264
336
354
380
375
271
291
351
315
383
314
320
265
293
260
330
344
299
282
369
244
232
310
287
294
331
347
281
244
307
376
327
337
288
391
258
317
365
274
378
365
414
257
323
356
268
343
304
311
240
265
207
350
231
333
337
347
341
286
305
212
337
316
305
369
367
279
383
257
307
313
330
327
325
345
299
344
322
293
271
256
324
329
316
238
298
309
356
323
365
367
277
318
262
273
359
327
284
279
260
378
334
361
344
306
279
386
360
315
292
197
275
345
308
308
369
324
314
352
325
320
303
346
372
314
416
286
356
324
343
283
257
305
340
236
288
369
304
269
305
330
223
288
338
348
289
372
367
334
253
310
289
227
300
275
289
289
359
311
332
271
289
283
339
272
269
255
300
333
341
337
360
354
315
325
372
308
261
300
353
285
325
388
333
267
320
231
348
264
302
295
318
347
271
322
337
415
311
422
328
175
342
302
357
383
295
333
333
281
291
221
290
318
336
326
385
282
299
339
361
289
259
330
283
313
302
320
272
395
306
367
307
285
369
327
309
322
243
321
330
198
294
374
375
269
235
344
298
258
343
339
268
308
245
313
281
288
315
355
363
265
269
295
286
403
173
323
351
300
342
290
354
291
385
346
420
308
290
255
245
325
270
333
331
373
361
386
238
257
328
262
384
372
397
362
299
396
306
296
274
336
233
369
323
283
367
269
326
322
336
306
298
327
252
291
314
339
287
242
375
346
307
310
205
351
310
296
328
242
310
225
341
322
324
222
346
261
260
382
269
284
316
377
285
303
328
328
342
273
318
292
388
271
273
327
285
372
290
294
354
358
222
374
343
276
434
322
326
315
320
276
327
359
318
333
341
254
211
259
308
336
249
325
325
342
318
338
271
302
351
319
261
284
386
279
362
294
312
283
295
340
276
392
271
412
263
302
322
344
296
260
308
347
307
274
316
296
333
313
234
278
372
347
313
365
237
235
297
287
368
399
334
252
284
379
226
334
268
367
287
329
223
296
249
293
282
240
326
298
295
302
313
396
327
370
274
291
261
342
276
287
352
348
257
312
419
346
389
337
339
277
364
367
280
350
315
261
354
251
296
307
420
322
316
349
285
298
315
345
369
374
294
255
356
386
263
273
280
320
328
419
226
295
411
215
278
284
308
228
314
237
337
384
282
308
323
317
277
367
283
372
283
371
302
313
304
331
401
304
297
397
295
304
308
349
410
235
354
284
358
313
322
349
373
280
396
249
364
248
235
324
321
360
358
327
284
293
300
312
326
382
223
345
259
299
236
232
313
195
253
248
299
339
314
358
233
308
342
366
321
281
330
347
380
279
268
314
352
385
342
358
373
338
406
383
298
305
344
362
245
340
327
327
264
288
370
342
280
348
275
306
337
286
363
324
363
310
398
341
280
291
347
288
330
391
277
368
386
387
334
254
328
359
270
365
353
331
312
386
363
314
348
394
254
312
309
354
369
294
307
274
286
202
328
347
277
389
278
385
386
293
351
285
358
390
303
322
265
283
249
326
294
324
348
327
323
367
310
341
246
361
335
296
246
297
317
356
408
311
386
239
350
246
376
279
351
303
332
346
293
323
372
211
292
283
300
251
215
262
324
349
420
311
291
329
311
325
327
351
301
329
243
377
369
242
264
293
282
359
305
259
306
301
403
287
260
305
320
266
344
353
301
360
347
266
363
277
352
361
207
320
308
312
264
342
292
283
335
355
236
420
340
273
324
266
347
361
301
260
378
420
269
345
310
323
266
350
338
349
323
259
308
303
327
333
292
393
241
336
269
338
349
293
265
349
364
334
356
306
327
357
301
311
246
298
321
323
352
316
297
265
310
363
343
269
305
336
335
269
258
368
345
259
289
253
327
359
353
377
337
319
294
338
285
306
311
358
292
297
317
244
280
338
388
263
254
409
299
328
286
354
267
312
296
268
294
279
277
325
354
311
346
297
310
301
288
361
353
262
307
258
417
353
301
244
261
332
322
281
321
329
356
312
415
275
299
325
295
269
296
345
309
304
292
346
310
371
339
319
266
389
360
398
340
326
321
285
312
311
330
338
293
336
295
246
339
323
289
287
308
349
336
241
334
404
263
303
285
366
372
419
351
352
257
330
333
352
300
307
316
270
312
287
259
298
338
313
335
375
281
347
329
299
384
257
250
291
355
248
318
360
226
337
361
347
245
300
273
298
323
292
218
307
220
260
300
289
363
267
334
293
297
315
345
355
310
326
351
215
207
336
296
353
288
361
398
366
348
241
303
293
328
298
385
326
385
232
334
384
317
288
345
358
294
329
287
347
342
298
344
330
339
300
364
314
321
320
282
288
291
366
327
234
247
386
346
263
260
288
244
261
356
291
338
276
342
354
356
282
256
279
297
344
360
271
248
363
335
301
261
314
302
376
349
405
271
311
306
272
371
291
342
328
282
328
331
364
326
347
375
270
247
305
319
339
275
368
328
269
284
306
246
292
347
379
311
266
322
317
357
277
310
329
341
355
335
398
325
254
318
284
302
370
289
412
278
326
315
300
330
366
271
277
401
272
343
349
301
331
386
287
292
327
333
422
268
297
365
295
368
345
338
299
254
318
366
400
310
343
257
337
284
311
366
365
289
291
337
377
279
300
345
288
270
386
277
329
331
340
335
298
327
300
325
364
325
334
318
220
304
383
278
434
297
334
310
253
339
303
327
365
384
271
293
316
321
306
351
297
325
286
248
320
236
373
309
331
324
327
250
327
317
272
293
260
294
281
266
322
258
322
289
312
304
325
262
348
332
347
242
370
332
249
381
313
298
361
307
313
325
320
381
244
300
370
294
334
373
282
333
333
350
278
310
319
219
323
347
279
388
335
337
301
327
369
320
231
285
369
376
375
236
244
282
362
345
372
349
383
292
315
346
319
333
261
347
343
266
259
301
328
342
352
274
333
380
259
284
317
340
333
355
327
370
349
293
327
295
241
278
415
318
272
362
307
278
350
355
324
268
310
279
214
233
335
325
295
329
280
346
351
256
279
337
370
332
394
403
350
312
386
349
315
295
401
362
333
345
322
267
307
235
390
368
307
416
319
223
292
313
333
328
363
285
330
372
368
320
356
375
316
397
301
259
244
336
237
336
367
293
295
327
306
238
304
264
240
269
279
338
332
443
306
323
321
298
315
302
338
357
310
337
343
314
350
303
300
290
342
326
302
402
296
292
324
299
304
377
308
283
287
273
291
343
266
359
228
277
293
320
211
332
333
353
309
310
249
305
338
315
250
364
289
352
344
322
271
339
304
263
337
316
340
386
337
377
253
282
196
289
319
296
345
345
332
358
333
259
311
343
260
358
288
326
362
402
307
384
291
317
309
352
278
334
364
330
326
371
283
298
359
284
310
345
279
337
328
306
331
325
220
402
344
339
299
345
336
291
413
284
267
246
374
268
277
348
252
288
326
304
188
365
315
287
258
333
373
322
276
263
240
266
314
285
312
342
361
346
293
286
285
342
331
328
288
371
271
288
358
333
390
268
345
336
301
368
291
348
339
265
282
269
346
382
387
296
309
259
301
206
347
274
329
319
225
368
329
321
326
328
321
292
264
268
344
273
299
349
380
273
259
278
349
378
249
283
250
309
347
317
250
314
302
432
338
322
255
338
378
312
326
353
302
258
392
334
315
244
348
312
354
266
346
322
319
319
372
339
323
296
324
210
280
268
224
242
308
367
338
354
281
281
301
343
396
307
332
268
320
284
378
302
296
373
316
376
274
295
378
361
216
363
221
296
307
305
390
340
312
317
334
235
270
353
387
359
264
296
306
257
319
243
407
285
372
274
331
215
321
251
294
255
282
317
333
218
401
258
394
334
295
293
298
270
286
274
355
236
396
369
337
324
230
300
346
297
290
322
252
264
308
292
283
290
221
300
374
331
342
270
264
289
355
290
334
270
263
313
293
396
359
314
402
362
243
299
288
276
292
330
334
206
301
283
309
219
237
386
360
347
286
307
334
349
278
344
351
434
336
317
294
319
316
224
273
287
285
412
305
303
361
352
289
323
343
398
373
389
308
258
327
281
245
381
283
326
267
267
213
286
292
288
263
290
354
254
345
318
287
320
331
372
378
268
265
336
371
335
247
336
343
234
264
321
357
331
371
394
243
256
335
325
279
230
295
312
335
276
404
300
263
295
368
321
318
339
262
362
307
295
239
308
297
344
337
297
269
359
348
330
334
274
318
216
384
322
320
309
295
271
289
320
292
355
289
299
333
294
297
352
233
328
403
209
388
361
370
319
343
295
275
323
288
284
391
258
333
332
365
295
269
287
269
376
333
341
320
293
271
429
308
324
293
369
378
356
231
249
362
273
359
304
302
334
277
281
310
285
237
351
244
356
355
315
387
359
370
362
316
260
343
257
326
315
195
317
390
312
347
259
308
375
225
259
370
378
255
209
239
262
271
307
170
376
263
301
284
240
317
317
229
342
367
284
304
286
395
296
307
368
370
285
274
234
312
330
324
298
374
268
327
318
325
332
236
300
331
296
359
269
333
438
233
263
265
319
286
272
310
329
292
369
332
303
284
244
263
292
332
270
365
299
392
303
383
374
278
384
284
319
298
262
304
308
407
272
334
295
253
350
282
307
310
296
297
241
325
251
319
288
325
290
214
295
346
321
331
303
271
294
252
343
322
324
353
325
317
356
291
310
288
265
331
292
257
337
289
329
338
328
324
334
281
309
263
308
241
299
330
283
360
261
262
277
339
317
319
305
318
321
291
312
239
343
321
374
252
250
367
346
302
301
427
269
311
323
316
252
297
355
249
351
327
232
364
250
345
323
332
335
386
330
304
416
342
340
244
349
290
289
288
274
272
348
301
346
403
233
287
351
273
263
298
322
207
286
273
307
316
216
369
282
332
315
286
335
276
383
361
233
340
351
217
296
375
372
305
288
331
299
369
372
300
345
302
343
272
227
333
272
262
316
376
289
344
248
359
346
335
274
300
393
362
305
269
330
383
322
382
321
262
308
285
293
238
355
225
262
242
244
343
347
326
246
361
277
385
382
341
338
286
287
374
389
297
293
274
276
267
203
319
334
383
307
330
414
355
306
296
341
276
364
301
312
323
210
389
248
289
392
351
363
290
307
304
315
345
299
367
243
233
396
411
371
313
393
349
319
341
320
350
363
356
358
405
342
363
360
309
339
316
272
372
320
310
270
375
375
323
272
429
210
310
269
250
326
349
363
311
328
304
395
334
277
316
368
295
352
297
319
319
334
258
249
342
337
300
376
365
295
413
326
377
288
297
337
279
328
250
319
413
325
358
322
249
342
281
319
322
317
360
269
306
319
331
270
331
349
324
301
300
329
288
322
322
282
331
308
336
413
261
301
306
301
278
351
285
319
275
274
299
339
379
304
422
273
373
309
252
338
308
338
254
283
377
249
285
379
278
358
314
287
300
272
309
269
297
273
327
263
287
325
255
349
278
361
291
335
323
358
353
355
245
327
272
298
335
343
324
263
354
321
259
359
318
325
244
310
356
310
415
343
384
222
280
301
335
397
336
382
332
308
260
246
303
325
327
296
234
355
256
356
323
356
321
331
322
330
207
366
342
289
355
362
309
336
250
341
353
276
268
239
406
361
335
343
248
367
294
350
289
293
324
281
329
364
347
300
378
359
365
266
270
316
336
292
406
320
317
389
271
365
274
350
434
346
262
322
331
330
304
339
377
303
284
302
271
316
314
292
326
296
338
301
263
292
316
414
357
272
378
334
377
334
379
325
306
387
342
286
379
368
306
331
291
329
232
306
336
261
346
354
295
323
246
419
351
295
345
366
300
305
288
377
302
304
303
227
312
310
342
291
361
333
246
328
327
346
217
227
331
302
320
329
274
378
380
290
289
345
314
233
345
289
312
300
337
309
303
348
357
276
286
333
373
371
281
251
333
302
442
274
367
326
307
336
343
307
292
283
302
301
254
244
412
351
296
318
346
340
366
348
288
258
316
326
258
332
319
329
311
275
311
321
286
370
271
338
343
423
343
251
328
298
290
299
397
326
348
357
378
307
312
329
284
303
360
389
316
379
278
319
330
326
314
291
335
293
303
244
366
223
378
373
270
321
342
299
279
326
331
341
302
306
374
331
310
294
316
307
257
326
301
310
328
327
274
432
311
307
224
269
320
308
349
353
241
415
324
362
381
331
278
304
210
332
271
236
288
343
325
295
298
279
313
285
311
315
405
217
228
309
302
355
257
367
347
200
339
403
337
286
312
310
306
293
325
276
201
343
373
268
273
299
401
291
165
353
309
182
326
324
372
268
313
371
379
361
279
308
289
304
354
304
350
304
299
325
349
256
353
283
247
271
275
385
312
288
322
367
338
276
254
373
329
311
213
219
370
321
314
349
306
360
292
300
345
339
384
375
365
276
272
296
317
355
295
279
298
387
308
296
413
322
360
250
384
336
307
350
397
373
262
315
291
327
272
327
334
277
264
357
327
274
338
268
270
303
278
295
287
382
256
379
318
258
288
346
291
327
227
360
337
414
334
333
256
316
334
340
221
223
416
296
257
292
292
234
255
225
274
299
324
277
328
330
340
361
307
264
215
281
362
324
385
373
296
284
292
320
305
369
270
360
248
309
283
275
353
318
339
174
216
347
252
375
333
322
306
367
305
373
278
358
352
378
314
311
301
326
339
303
263
335
330
360
271
309
307
326
347
316
273
323
436
277
377
375
351
270
325
238
252
385
352
300
399
340
331
344
291
268
326
292
362
326
275
385
284
298
303
347
332
284
294
305
315
305
351
312
340
280
334
249
319
299
334
331
248
354
375
306
332
292
303
298
355
419
347
316
340
396
270
318
350
335
309
251
305
252
227
339
294
292
258
365
285
359
410
246
273
300
265
340
261
279
255
323
298
274
326
387
318
282
324
318
239
308
297
289
371
257
217
362
339
372
301
338
323
267
288
248
391
266
302
228
326
350
279
340
315
258
299
286
301
363
351
361
312
277
316
266
375
319
431
335
339
266
299
276
320
317
322
282
272
360
265
311
350
299
334
330
324
284
314
399
332
360
335
247
263
275
325
346
309
267
335
303
392
271
303
318
349
289
273
313
299
300
338
376
412
244
314
366
365
221
377
264
381
348
351
306
341
331
361
288
320
295
255
346
282
287
320
202
345
344
333
353
315
311
286
283
258
342
381
319
277
350
312
354
340
349
369
341
263
287
369
331
276
258
307
262
320
346
288
298
399
297
333
322
354
358
301
401
396
330
291
294
323
235
281
277
366
382
300
334
322
366
315
283
278
285
264
370
279
300
300
306
208
269
289
332
297
320
199
290
400
310
315
382
334
308
268
380
358
250
315
382
331
344
350
396
323
260
318
347
322
336
355
313
330
253
345
288
311
324
289
252
272
359
256
357
313
355
327
358
308
371
276
236
336
327
311
274
266
303
348
231
391
276
316
318
321
319
355
350
320
307
344
328
305
369
355
365
246
261
287
357
326
356
277
330
304
358
274
323
390
363
220
334
331
256
312
318
364
229
366
329
313
393
352
289
236
372
317
208
320
302
294
333
351
331
319
240
358
306
288
374
263
332
376
340
365
399
365
379
245
298
231
287
439
284
385
332
350
366
321
325
348
290
295
275
345
297
330
356
328
281
314
343
274
371
260
326
362
359
354
316
339
283
375
303
284
287
308
333
214
333
349
287
319
337
365
330
328
347
347
310
365
328
353
382
319
295
278
286
344
311
340
313
331
384
342
323
335
324
341
330
258
337
391
314
361
391
303
296
315
316
323
348
327
286
255
320
318
339
290
274
369
299
341
367
253
352
360
350
258
283
299
349
295
316
287
281
319
333
329
325
325
341
281
346
389
257
331
305
337
324
336
317
287
356
356
273
221
323
299
343
401
232
367
393
272
404
281
355
354
324
293
323
279
289
361
333
341
299
315
221
306
307
279
352
263
361
358
313
348
303
330
328
266
271
356
367
281
326
351
263
346
238
322
283
364
291
355
307
282
343
296
371
360
336
270
254
350
225
362
292
265
350
239
283
416
291
332
341
275
301
319
244
381
313
327
345
414
291
298
341
261
337
345
275
266
355
345
327
265
330
333
284
371
390
306
348
339
289
315
297
297
306
350
307
315
324
331
324
273
336
301
206
243
268
361
326
253
263
362
338
236
303
272
311
253
267
370
314
312
348
383
359
345
351
328
350
283
294
293
294
365
319
309
313
248
280
254
282
343
258
310
268
312
280
263
223
293
337
243
318
346
328
360
313
256
347
303
324
248
311
381
278
341
277
397
274
289
307
317
290
199
361
328
251
325
294
351
365
361
313
353
391
298
374
259
305
316
282
309
309
270
280
363
350
306
360
306
272
266
307
293
368
305
341
356
283
282
354
274
303
254
264
274
337
363
338
274
309
302
349
336
338
317
312
314
299
250
271
258
376
319
262
373
319
328
365
248
264
336
349
377
259
346
250
306
328
394
379
279
340
314
334
354
296
338
280
302
361
242
383
248
280
367
235
257
357
285
335
331
353
374
423
210
306
378
330
286
268
339
362
215
289
321
310
272
345
344
355
307
345
427
296
293
347
298
295
360
292
367
289
324
356
324
347
208
326
291
349
407
248
338
261
341
334
293
394
381
260
348
323
260
230
242
331
303
331
342
304
295
302
374
257
404
298
283
315
289
248
260
323
247
328
355
350
355
302
242
245
405
395
335
385
329
247
354
292
306
286
373
358
305
424
192
328
332
320
307
219
323
358
318
272
335
311
344
273
299
386
303
268
300
294
298
347
397
326
290
313
259
325
283
337
353
318
325
213
361
305
362
327
325
309
318
353
264
314
264
248
390
306
175
354
320
203
275
205
318
355
238
382
258
271
289
343
360
270
307
286
334
301
206
345
304
314
329
279
240
372
312
315
278
228
324
300
313
350
306
364
275
277
257
296
329
367
246
265
332
264
313
386
211
226
368
287
218
365
273
407
347
265
366
263
352
330
234
260
315
359
339
315
333
293
286
375
290
354
317
362
269
309
358
340
338
348
295
322
316
325
304
375
317
273
305
301
360
355
260
321
199
285
318
286
305
304
339
322
279
281
293
292
264
260
247
333
300
370
337
273
370
363
322
363
301
245
327
355
215
358
303
328
338
386
337
306
236
304
307
326
436
475
297
229
320
187
341
327
361
292
314
425
251
344
312
350
284
351
348
365
251
315
257
288
370
367
305
321
294
316
370
389
326
317
283
336
303
284
322
384
310
366
260
357
322
345
360
259
305
316
295
295
349
289
238
355
286
298
352
396
218
227
322
327
288
330
300
289
295
311
221
288
346
382
342
317
309
246
305
358
305
304
392
373
274
318
291
296
315
259
295
298
287
305
249
313
329
270
362
335
368
404
290
307
319
408
348
347
289
321
379
389
361
321
277
367
259
332
284
286
247
335
333
367
279
262
335
324
314
351
327
338
294
307
242
359
303
298
298
337
396
300
360
320
332
281
309
340
399
261
281
254
229
238
337
250
343
342
370
303
318
348
361
295
312
382
216
253
278
292
289
330
275
287
308
368
289
271
360
262
280
380
358
262
334
265
333
303
272
281
347
354
211
319
345
297
388
394
382
358
273
343
280
401
312
359
371
313
286
363
387
389
329
306
352
340
202
319
287
333
331
321
315
301
227
301
416
297
254
302
284
301
324
279
387
273
348
277
260
311
286
342
259
251
290
332
284
289
269
315
339
276
341
293
277
319
261
413
301
309
387
324
384
318
346
285
368
340
302
357
358
327
322
312
340
326
338
269
292
319
297
240
351
344
270
308
274
281
366
341
263
300
257
342
323
341
242
294
338
338
351
295
255
265
297
333
341
359
308
389
266
232
317
250
290
382
312
331
393
303
270
289
284
303
244
310
235
316
323
232
345
297
327
322
280
371
295
300
358
280
323
374
326
334
318
472
359
319
256
352
313
298
241
384
314
315
250
261
334
282
273
188
337
193
310
278
293
370
279
321
271
251
326
396
332
383
263
367
366
346
250
376
349
393
229
320
319
335
316
385
358
312
300
305
289
253
352
303
241
405
252
314
299
325
257
272
239
295
368
294
182
340
294
263
352
318
331
239
261
310
317
263
315
270
376
298
396
369
234
337
379
308
301
351
349
288
320
251
300
364
353
356
344
263
353
319
308
387
337
363
312
301
351
255
344
298
356
348
340
280
323
314
379
264
286
266
312
385
329
339
266
302
282
327
348
373
318
329
341
385
334
301
240
365
371
296
263
289
285
355
294
307
328
354
324
276
250
336
354
361
344
298
351
334
343
368
310
351
296
332
333
360
307
340
320
327
311
323
347
304
405
311
377
250
191
272
279
306
366
353
319
311
384
334
225
266
362
401
309
233
380
302
378
246
285
288
253
367
307
285
279
302
342
318
345
332
260
372
301
259
364
335
325
295
311
374
304
299
280
377
303
353
223
335
348
190
403
331
172
385
357
264
303
291
395
262
324
224
359
320
313
349
291
271
328
353
388
244
366
315
327
202
301
307
321
334
330
331
360
269
315
321
333
334
378
308
296
370
262
347
345
369
297
255
319
286
324
225
238
331
302
247
361
322
299
375
328
302
379
368
338
291
349
330
373
292
347
372
277
355
350
258
223
344
254
259
334
324
409
363
280
317
307
353
417
337
252
269
332
264
343
348
327
244
313
373
362
278
323
388
338
327
328
412
353
290
396
350
314
294
270
362
289
334
276
235
309
320
353
328
319
358
315
276
416
346
363
282
265
339
280
347
239
347
361
295
369
291
307
240
332
311
301
304
245
300
318
321
258
333
296
322
244
329
320
321
369
341
288
273
344
311
373
295
351
319
348
265
311
331
330
288
306
318
335
336
327
264
344
286
374
285
301
281
268
365
337
318
295
365
270
328
341
379
264
269
323
369
297
370
251
270
373
330
373
297
300
375
308
325
343
336
346
313
294
260
367
341
266
331
354
402
290
229
295
278
225
257
367
241
355
316
377
402
277
298
323
345
373
324
212
295
323
233
334
355
169
347
252
221
299
318
247
220
351
270
368
330
289
403
331
254
251
444
288
393
320
280
350
332
225
359
252
231
353
361
339
319
373
304
266
337
304
315
357
199
305
306
362
355
352
303
256
271
293
213
321
354
267
275
276
366
332
229
375
248
329
281
307
263
207
289
321
368
255
357
275
375
346
340
360
237
279
328
285
247
263
256
304
249
294
325
317
261
287
303
271
364
353
336
300
293
237
321
253
265
333
356
375
276
326
287
379
274
299
316
324
328
396
368
325
256
396
353
319
285
338
260
361
292
372
336
354
309
419
336
305
361
348
248
335
295
303
353
351
311
294
353
318
321
329
264
290
386
274
365
398
312
327
282
336
291
294
310
250
318
336
340
317
346
316
275
357
343
285
314
276
343
303
366
370
346
326
315
255
288
336
284
311
350
312
305
273
271
308
300
281
314
300
384
241
334
329
322
319
347
239
291
327
322
318
355
274
251
324
203
380
246
338
349
346
305
286
345
347
289
311
287
240
352
356
265
294
219
345
363
219
357
248
376
345
195
319
361
331
352
280
364
322
256
241
314
255
368
341
234
317
403
235
248
370
350
397
322
365
362
309
270
256
352
258
320
328
310
240
313
311
349
354
267
312
326
329
289
340
332
302
268
401
362
346
250
389
305
345
291
287
381
307
347
281
381
335
351
313
318
275
340
349
297
273
383
341
301
305
300
275
309
241
370
269
347
392
299
354
331
307
306
364
336
254
290
313
325
376
348
359
348
302
302
327
354
322
363
292
333
361
309
287
295
290
409
311
337
259
309
370
269
377
279
298
256
320
358
294
328
319
377
283
380
252
427
320
371
357
255
387
381
305
307
445
314
299
308
342
241
344
360
282
378
278
357
227
268
280
324
290
372
340
318
297
268
266
244
338
267
367
257
235
328
247
277
276
304
303
286
262
335
404
312
266
331
296
326
358
354
357
362
278
289
368
256
355
324
245
274
295
279
306
307
230
257
345
376
319
342
247
320
230
232
403
333
265
305
305
305
330
321
335
379
405
280
392
319
306
333
318
308
290
332
248
289
317
286
351
261
390
333
398
264
375
304
400
346
319
318
308
279
316
371
326
203
258
294
289
234
292
346
373
331
295
396
255
229
359
370
336
344
423
344
295
268
330
354
311
306
286
338
266
336
255
358
298
277
404
319
335
253
388
348
364
229
341
336
375
315
299
382
335
195
243
312
329
253
284
411
377
327
326
296
302
234
315
293
404
418
272
294
248
360
286
275
348
283
426
291
320
303
259
307
310
282
342
270
301
369
352
303
336
420
349
305
289
290
289
302
273
323
335
361
409
386
342
380
283
323
367
351
367
349
267
360
326
375
416
262
350
376
280
263
289
295
272
340
354
266
263
321
271
345
258
333
197
266
314
310
324
375
281
270
320
336
309
356
376
262
314
283
288
312
340
347
260
289
281
235
370
348
343
159
335
234
287
346
325
320
259
360
362
327
344
327
299
248
295
348
244
298
367
357
305
264
322
315
262
316
286
285
291
293
301
315
401
273
300
281
290
352
308
319
405
260
277
314
312
250
340
368
346
288
252
330
318
347
332
289
319
316
336
371
388
277
350
252
310
393
324
298
303
243
272
288
308
287
271
283
244
382
311
286
387
400
193
319
326
276
298
284
315
291
287
298
348
267
284
316
282
326
337
373
333
322
284
358
259
285
312
300
295
334
313
325
276
336
295
409
266
303
326
343
318
389
316
304
337
281
292
350
368
303
250
331
308
344
363
332
294
307
325
345
302
201
315
340
255
274
280
281
294
284
310
284
358
363
333
320
316
331
288
288
346
241
333
365
389
302
260
300
294
290
290
355
285
258
290
327
337
351
275
311
283
227
243
392
344
385
215
267
364
269
294
278
356
206
370
304
347
291
288
320
372
225
299
284
352
228
348
378
348
328
303
304
344
243
374
420
280
401
359
349
314
360
277
307
230
361
319
315
376
254
294
290
321
325
317
312
373
297
250
314
214
251
301
340
328
229
316
226
324
360
316
327
340
276
306
312
392
284
324
363
308
339
311
294
292
380
392
273
299
304
345
357
297
323
205
304
346
303
287
327
331
295
413
431
248
350
300
274
269
376
324
312
298
412
290
315
374
267
233
345
315
341
437
232
355
360
285
394
339
294
342
263
368
368
317
263
363
364
281
300
369
391
305
324
399
371
368
392
286
340
293
224
322
401
297
253
395
396
350
369
238
292
312
214
311
346
345
357
325
331
334
274
321
293
282
340
369
282
267
316
336
319
398
257
318
349
328
343
236
370
250
233
299
215
284
336
318
365
402
267
269
337
290
383
355
324
382
271
359
364
243
333
234
226
296
311
345
280
347
310
304
294
191
282
382
302
273
311
272
281
354
313
241
306
245
344
342
355
288
275
297
303
289
356
306
259
365
423
319
280
325
388
355
297
281
288
341
266
323
294
315
376
306
325
298
341
323
320
287
278
333
365
393
354
363
354
314
344
288
318
281
283
384
316
330
331
354
278
319
316
333
333
317
381
328
335
276
306
305
316
389
288
322
291
211
311
234
280
250
353
250
329
316
355
309
344
292
355
278
262
360
305
317
274
321
319
319
283
344
349
314
323
324
307
295
336
254
217
368
272
289
314
395
289
305
276
365
230
219
376
317
413
296
330
307
307
240
324
294
277
243
317
328
396
353
323
349
355
278
369
367
377
354
362
353
351
299
386
299
250
335
252
333
383
325
221
342
288
318
282
316
382
290
288
291
273
406
297
385
321
224
394
270
319
324
357
330
307
351
284
275
387
315
363
372
318
321
344
336
279
325
283
252
353
391
373
292
308
283
282
249
330
339
303
342
319
234
256
360
309
338
275
357
306
305
303
313
278
310
396
285
332
322
300
265
246
379
316
264
283
336
239
266
324
224
337
217
368
296
331
290
312
253
389
275
283
275
372
367
297
326
306
360
295
404
314
285
297
339
310
324
311
253
230
303
320
318
381
357
259
408
289
349
309
324
254
330
370
262
340
274
338
349
300
254
365
318
350
370
309
388
358
401
344
351
320
327
353
403
345
325
297
290
345
325
360
302
329
261
263
362
351
349
397
296
331
388
365
224
298
311
382
309
292
382
366
308
288
282
330
293
356
381
327
333
289
396
362
305
307
305
377
210
326
459
258
303
311
367
211
322
292
317
256
395
260
313
319
354
270
233
388
329
220
305
313
272
323
237
315
379
339
287
362
327
364
265
276
279
364
272
372
319
356
276
333
309
340
344
261
336
282
293
328
327
368
380
320
276
286
290
306
260
346
358
315
324
318
375
266
190
300
274
345
297
446
369
253
341
305
414
308
269
298
252
421
152
396
294
372
274
304
333
256
403
282
314
281
334
295
383
318
264
323
326
351
319
289
271
283
400
363
295
316
293
310
318
310
324
295
335
343
281
354
367
374
318
383
297
368
358
273
270
273
301
347
271
302
348
357
387
324
332
333
365
325
335
303
335
305
337
347
354
288
307
287
314
324
212
347
304
351
342
269
349
244
260
358
302
266
310
363
330
322
363
245
296
293
271
319
266
353
270
248
379
275
374
267
306
284
233
405
311
282
410
411
320
250
364
266
290
312
293
224
280
361
403
202
382
302
341
280
341
362
311
375
346
361
399
323
341
320
253
308
289
263
313
344
225
363
311
281
280
334
388
321
313
267
421
339
335
367
423
365
294
294
335
348
331
283
311
393
352
357
302
424
258
258
372
267
221
273
269
199
296
384
270
301
300
302
264
376
296
275
360
350
207
364
337
391
389
338
420
297
363
272
359
402
290
308
288
319
410
371
251
350
310
356
308
339
266
448
341
335
269
305
326
235
257
352
328
318
358
297
344
378
318
336
392
362
327
348
300
338
360
313
272
217
284
310
303
313
392
356
236
273
280
342
297
280
333
293
329
329
314
332
384
217
324
271
297
242
316
358
277
345
303
343
313
332
325
278
277
254
281
292
302
367
309
350
386
306
306
302
311
329
398
304
254
414
410
261
181
343
338
284
322
333
313
382
289
258
247
300
302
302
301
367
327
297
289
360
263
342
282
334
371
406
345
340
372
345
302
302
323
420
314
330
390
364
341
313
266
299
310
348
279
309
332
290
288
310
366
295
371
314
303
328
379
375
326
330
351
276
283
281
333
407
331
340
379
411
377
360
315
298
282
344
364
303
342
263
325
244
356
335
367
357
328
297
237
326
314
309
237
343
288
250
364
274
229
334
271
288
332
326
313
310
341
362
354
285
243
284
316
343
303
330
312
324
281
269
316
344
244
260
378
256
292
313
262
369
317
271
320
349
362
292
251
339
319
265
259
310
281
349
448
272
281
377
357
301
361
321
335
306
236
348
325
353
352
300
367
355
325
258
336
352
233
314
257
328
354
295
350
159
328
397
368
306
300
389
331
323
280
367
286
442
291
302
273
276
326
254
266
320
388
302
329
287
249
318
312
322
327
271
349
342
200
311
384
345
313
303
392
285
275
229
307
367
346
350
329
298
282
256
342
258
376
228
316
307
261
350
320
311
323
229
305
262
178
248
213
365
347
365
342
251
373
276
325
269
356
238
310
335
360
276
287
318
250
378
331
338
267
257
326
253
418
340
359
406
289
352
294
301
330
373
293
310
393
316
392
355
324
254
322
285
327
337
325
227
275
243
293
251
369
323
293
360
310
339
277
356
359
334
371
290
282
307
326
283
267
247
281
283
302
383
302
369
349
231
321
341
251
332
230
299
324
336
344
328
255
341
393
364
266
266
268
316
314
244
299
308
346
268
377
314
317
347
292
346
356
316
288
284
398
354
289
307
246
364
374
304
358
331
305
363
371
346
268
304
340
221
230
288
299
299
229
318
241
339
342
269
323
314
303
379
292
323
224
360
285
312
376
322
309
298
265
381
347
345
350
379
250
343
354
256
371
347
327
393
305
346
314
345
259
338
383
313
246
260
318
271
301
329
373
386
286
304
302
345
273
250
314
211
281
278
262
291
310
391
270
291
343
370
401
318
381
286
315
309
363
398
305
293
376
352
275
413
305
347
231
335
170
303
369
262
313
339
271
337
342
261
312
362
324
201
241
311
316
280
261
359
320
341
274
356
294
323
334
266
322
348
262
303
268
342
297
380
317
230
309
285
238
270
235
396
245
308
265
324
303
297
372
268
302
421
292
317
188
316
298
251
339
288
305
245
305
322
303
297
285
260
321
307
355
324
395
251
289
378
322
358
326
271
250
318
302
325
362
334
314
417
267
293
360
287
279
327
339
318
334
314
394
357
273
298
387
413
326
337
329
257
211
262
367
337
327
291
327
285
315
226
321
317
351
307
225
282
297
231
324
211
270
322
309
392
293
295
336
300
380
368
368
324
311
384
372
279
175
348
306
303
284
327
364
357
371
389
249
264
321
354
380
322
371
268
332
316
393
367
309
307
279
390
338
293
260
312
307
197
321
267
341
294
323
276
325
253
339
338
296
250
349
353
270
297
287
329
305
340
331
344
328
289
316
221
297
364
320
297
281
272
387
288
307
308
311
310
310
292
284
381
327
357
317
337
371
254
354
357
292
278
341
268
267
309
318
318
393
305
338
308
284
262
335
270
241
328
357
353
251
232
276
207
317
298
317
336
312
337
340
281
332
229
335
346
357
370
357
345
369
385
322
320
237
349
321
415
337
247
278
367
331
274
305
363
328
364
329
360
323
335
344
235
376
305
343
313
252
221
282
308
296
236
391
286
320
290
276
342
319
343
413
367
322
221
408
341
342
326
379
332
316
306
332
392
287
364
305
365
350
346
246
344
257
385
324
307
363
303
278
338
237
257
293
403
338
322
316
397
339
198
254
303
387
312
381
340
339
266
300
408
322
315
279
367
377
292
289
299
361
198
270
356
388
362
291
351
279
260
341
321
350
287
336
394
381
348
371
209
283
331
324
338
283
340
387
415
311
239
332
263
331
293
323
327
379
288
176
351
378
284
355
388
256
357
356
310
354
278
325
373
217
329
278
302
289
337
383
364
323
307
380
266
267
372
237
333
342
295
245
276
301
328
231
282
268
388
326
416
247
324
407
221
298
373
346
320
238
402
279
373
413
332
316
365
390
344
280
320
337
321
381
255
304
362
359
322
367
310
411
356
339
369
370
344
313
227
295
311
315
314
341
359
273
313
216
321
285
257
234
419
285
304
228
372
295
351
355
397
339
369
338
198
324
318
374
265
350
366
345
360
311
329
285
318
361
357
336
322
374
318
307
280
299
335
320
170
323
322
315
356
328
323
336
277
314
327
251
273
306
311
324
377
367
291
365
307
284
373
372
387
281
344
254
322
298
324
326
187
298
237
348
280
296
278
298
340
335
369
222
304
230
280
256
218
316
265
302
252
275
362
310
256
344
376
263
306
386
375
358
309
311
273
367
410
253
289
278
294
310
291
352
319
371
284
325
287
381
326
290
302
262
290
308
380
276
344
259
229
311
264
346
313
331
289
264
298
326
297
259
300
381
292
310
358
302
304
355
272
342
302
347
286
263
296
332
388
394
375
334
274
285
338
390
244
252
301
352
247
270
333
353
276
352
344
316
320
355
259
353
307
323
383
312
390
314
355
358
303
390
301
286
291
233
369
256
357
339
280
330
225
378
253
230
439
331
320
288
328
264
322
271
311
254
262
269
348
241
274
252
343
349
379
331
367
372
326
326
236
332
205
271
299
275
296
280
331
327
273
299
370
321
294
252
290
373
365
369
291
329
302
265
277
332
309
223
315
284
318
382
328
273
312
292
402
373
389
331
316
377
254
308
336
281
387
315
300
292
243
320
228
320
290
310
309
300
334
377
314
354
336
256
335
263
289
321
353
325
324
354
327
342
304
297
414
309
350
348
291
326
271
286
363
300
353
277
303
254
315
306
334
292
349
296
251
319
349
309
336
281
326
328
280
288
282
287
356
318
397
271
355
298
247
283
329
269
340
304
365
289
213
258
349
381
349
278
304
257
311
340
384
287
349
305
354
381
364
295
291
321
297
358
359
298
328
249
375
368
297
308
383
327
326
249
288
352
346
359
307
357
329
309
279
342
296
302
339
339
218
249
284
286
204
375
343
307
321
335
311
261
350
337
369
279
356
291
304
290
303
297
397
340
418
239
326
284
327
300
279
311
379
193
371
315
314
383
354
258
248
251
327
346
275
353
305
263
349
194
370
305
265
269
226
230
320
215
306
333
307
268
299
340
325
383
304
306
325
351
352
382
270
362
321
338
285
288
309
362
301
338
311
332
309
298
317
340
312
245
291
313
293
374
291
377
328
336
330
300
287
227
301
319
327
340
343
331
259
275
244
246
324
304
387
289
406
295
264
250
320
208
350
384
293
348
223
266
318
305
319
357
404
257
298
341
282
345
365
305
263
269
253
236
280
264
375
346
311
268
403
292
338
270
378
302
215
293
258
301
350
334
324
381
296
321
379
278
334
340
364
299
236
251
311
368
267
337
307
323
372
369
292
310
339
361
306
334
317
269
329
282
365
305
279
265
250
319
250
311
290
299
307
356
316
374
248
354
401
335
319
252
298
373
199
284
265
262
263
336
274
377
326
309
301
316
264
249
324
258
317
299
335
379
244
368
273
339
291
307
356
322
311
270
288
320
303
290
313
283
317
292
288
355
329
335
267
288
251
291
289
242
309
346
325
254
240
403
276
270
312
409
344
280
328
271
346
348
326
332
232
301
303
340
392
358
398
370
330
339
354
363
282
345
284
316
263
354
310
331
398
252
290
354
276
371
372
377
333
369
378
354
311
357
226
434
299
321
377
318
336
289
366
282
314
367
319
330
356
280
323
312
362
352
250
355
265
330
259
374
257
320
281
346
321
258
297
277
271
274
320
343
273
333
368
337
259
343
302
409
326
394
278
303
325
352
320
256
304
276
264
319
315
324
313
351
287
258
312
324
433
305
278
271
308
287
290
327
328
364
254
343
337
385
315
358
252
234
322
330
278
354
329
325
378
307
259
305
285
341
273
320
254
303
300
258
337
288
337
271
273
352
308
259
359
352
382
341
191
292
350
346
260
269
336
294
342
330
192
345
291
242
281
250
272
256
274
315
314
353
302
327
309
275
314
340
348
318
295
330
251
327
248
340
275
292
267
423
324
335
257
292
387
309
281
329
339
292
352
307
380
334
319
305
289
296
326
302
354
377
421
336
359
207
339
383
333
320
307
364
373
365
313
274
376
279
309
291
274
287
421
416
298
267
332
348
322
326
340
298
311
308
346
361
297
214
294
306
244
390
357
252
352
337
317
358
292
301
323
348
366
295
307
346
374
348
365
352
419
274
299
337
297
255
318
290
294
280
337
322
325
354
282
328
278
308
323
359
391
290
361
332
329
309
333
404
328
335
356
325
280
279
313
349
283
297
366
319
382
391
351
299
345
301
293
314
323
298
347
270
381
341
226
264
307
311
288
314
342
361
320
280
219
353
394
310
283
340
331
288
338
304
327
248
325
341
264
249
285
300
416
352
261
315
286
312
360
301
320
236
301
432
304
327
316
279
379
297
281
298
294
294
272
328
261
276
279
310
298
373
284
357
273
334
229
323
257
292
368
322
318
277
317
336
282
306
354
340
347
261
366
279
282
289
322
252
301
345
354
280
304
370
331
251
268
274
241
236
366
380
321
253
282
326
272
268
304
371
297
388
262
294
312
348
332
372
320
269
314
271
341
350
338
334
318
293
370
285
366
227
290
255
274
319
380
296
337
402
315
378
291
323
334
310
363
277
293
314
334
375
306
316
239
322
373
357
200
359
383
340
245
256
331
269
355
317
282
293
339
377
318
314
334
266
317
370
320
300
424
381
247
243
357
282
310
312
259
354
336
364
302
246
323
272
361
284
312
322
380
325
341
282
296
338
406
330
314
326
362
390
433
269
302
270
290
314
236
352
316
345
236
349
304
288
333
359
353
324
379
211
248
277
346
291
249
271
346
347
250
324
366
355
321
259
295
316
348
326
368
358
334
419
406
299
336
277
280
329
276
319
386
343
268
349
274
363
300
359
320
359
317
313
318
318
280
329
315
255
300
237
286
331
279
255
324
278
375
350
385
386
289
324
300
326
229
386
364
287
271
276
341
325
382
293
263
351
333
274
399
397
281
379
371
354
342
347
322
271
275
276
209
236
362
289
339
382
251
288
297
332
235
273
356
333
301
277
221
255
315
306
309
374
237
393
278
233
308
359
339
371
300
379
334
260
275
311
245
243
290
287
280
345
346
281
295
382
279
339
302
350
316
300
275
218
301
260
361
323
283
246
255
373
231
327
247
329
296
313
368
302
266
281
346
385
363
317
297
223
271
380
296
354
280
317
284
374
310
332
278
309
329
361
362
333
322
385
319
396
363
378
269
308
301
357
289
295
370
435
266
358
282
400
340
265
275
226
339
333
382
311
332
300
292
315
283
260
329
294
378
264
289
397
275
318
336
323
272
295
300
264
288
264
321
381
310
338
290
298
333
317
257
333
337
237
398
336
365
299
279
226
287
270
333
317
333
299
337
306
371
349
405
204
384
283
387
334
206
271
352
333
334
353
340
384
400
319
372
314
306
303
303
305
312
353
323
305
366
360
349
366
323
327
349
277
270
342
367
368
328
313
285
302
381
307
320
269
279
316
266
322
387
305
328
312
293
238
408
324
340
353
281
260
247
333
412
242
319
331
342
409
368
280
303
347
290
268
371
352
256
290
315
318
264
328
268
259
395
306
319
282
272
351
330
367
291
211
221
294
419
328
284
283
287
341
297
298
346
187
261
327
348
348
294
254
312
256
321
422
370
347
389
325
315
279
243
338
299
298
340
287
250
335
349
188
317
306
296
342
249
275
373
330
278
316
363
374
364
357
301
265
324
302
331
345
338
343
317
388
350
302
305
344
268
183
323
294
305
277
353
346
352
287
305
284
338
306
338
280
260
323
285
369
360
304
351
304
360
270
279
211
240
292
296
225
275
372
378
349
312
284
285
337
239
377
318
314
268
348
347
320
303
318
383
308
320
274
287
314
346
386
399
379
362
322
319
288
308
340
288
285
310
274
210
285
341
322
301
289
248
351
364
296
320
306
318
386
326
354
297
341
322
306
297
268
308
191
302
343
274
353
345
330
406
241
276
364
349
327
304
286
376
350
367
197
354
354
306
346
321
324
305
382
257
299
310
195
319
246
341
322
329
269
292
317
332
320
307
304
344
329
388
301
396
295
326
259
353
335
266
336
338
326
276
307
326
280
300
296
332
343
321
263
368
352
330
356
307
293
324
268
298
307
287
332
293
327
359
250
342
240
345
380
295
269
392
286
325
368
380
350
261
359
336
224
257
292
307
290
283
328
338
347
295
361
270
277
309
277
251
368
367
253
387
336
248
328
354
297
336
372
287
330
334
375
263
280
322
334
277
336
292
368
316
344
311
322
273
288
393
274
328
309
210
281
333
325
320
248
195
346
290
341
314
325
271
283
353
328
324
356
281
310
274
355
347
332
276
224
340
236
298
312
282
302
311
265
321
286
365
318
338
343
244
269
267
326
362
265
338
361
300
302
334
280
339
277
347
350
305
328
331
246
336
360
331
339
349
305
337
265
343
303
353
338
315
280
303
293
305
323
330
383
246
316
299
315
414
342
280
359
263
328
281
370
356
305
284
313
274
301
255
342
326
262
280
248
302
399
297
272
316
218
305
371
410
270
302
394
183
356
295
379
261
272
334
375
321
312
242
268
326
294
357
355
375
331
273
252
264
365
299
308
320
313
302
391
341
302
286
338
369
399
312
348
376
360
338
310
318
322
199
344
289
280
304
322
232
265
237
348
243
326
279
344
317
364
308
351
339
377
365
284
231
251
287
247
329
379
368
292
317
277
298
342
305
399
311
315
314
313
375
301
361
269
282
289
302
361
277
334
299
289
373
333
292
277
308
294
386
394
283
275
285
342
376
343
278
289
279
386
322
212
238
264
347
370
287
359
290
383
266
264
364
295
289
232
325
291
285
343
237
356
296
335
267
289
346
304
311
268
261
310
363
310
366
291
305
329
285
346
331
344
355
304
272
386
242
390
347
272
265
298
286
256
344
361
291
281
279
296
211
274
388
376
266
329
295
335
347
312
307
363
364
337
305
344
328
317
358
359
311
364
288
322
326
377
303
266
224
316
357
365
346
306
284
253
320
291
302
210
321
282
432
323
301
332
293
293
268
277
351
312
283
344
385
407
370
301
337
353
327
297
285
363
338
275
369
252
352
305
388
250
421
334
316
384
214
337
320
333
239
345
368
362
275
289
278
326
311
245
355
328
353
369
309
369
361
361
381
300
372
283
283
341
329
363
285
314
315
287
331
242
274
353
371
317
305
326
250
357
361
204
331
270
269
275
271
350
324
361
294
388
362
304
338
320
289
297
356
300
292
252
275
440
375
254
275
301
213
322
357
297
373
257
345
345
379
344
252
274
281
273
266
317
314
298
346
353
341
338
300
289
306
343
375
297
369
278
372
256
333
284
396
401
251
311
387
302
355
321
348
364
307
322
253
270
314
296
282
296
391
270
320
374
329
294
272
377
225
297
329
336
370
418
336
358
380
314
284
278
316
370
270
410
267
336
279
298
317
248
332
374
258
301
291
371
339
295
291
360
332
284
351
360
301
272
284
365
303
254
246
310
304
269
278
290
310
274
193
340
202
364
265
344
328
304
305
319
338
243
294
261
376
300
368
303
410
348
286
312
362
394
325
317
368
333
384
345
267
267
383
334
340
251
325
264
334
315
289
381
336
307
234
279
320
396
295
226
329
263
395
328
305
342
354
308
289
293
317
396
231
384
333
333
273
359
303
200
332
221
331
310
345
305
346
271
338
326
288
329
347
395
348
391
419
329
303
240
419
312
361
338
308
290
303
298
316
357
320
337
266
272
317
250
311
373
301
270
338
294
295
281
326
346
275
267
179
318
316
263
382
282
327
372
329
313
339
366
283
313
233
324
283
408
336
379
429
338
274
240
347
283
319
307
376
221
323
285
269
394
300
319
322
361
374
323
199
272
343
288
305
328
233
344
277
288
307
313
377
369
334
325
335
300
375
283
296
380
323
374
335
263
407
283
369
355
283
257
322
343
350
363
262
375
324
399
328
309
374
228
282
304
280
343
291
297
321
259
385
291
340
230
341
372
309
336
337
248
285
354
384
335
313
314
379
374
306
321
257
375
323
353
264
235
337
282
285
277
302
288
321
348
280
367
381
340
271
291
327
418
306
403
331
315
342
241
358
282
287
281
316
323
280
367
258
241
267
302
290
307
281
299
271
307
290
245
296
308
350
286
314
250
279
365
278
313
387
336
305
297
341
306
304
275
439
289
287
245
383
342
314
357
343
280
366
341
335
315
322
386
366
266
366
315
356
276
291
292
313
331
242
243
313
289
350
365
297
349
306
395
329
355
247
325
318
248
367
298
309
334
268
304
289
304
257
324
231
298
302
293
270
220
319
333
335
283
370
324
235
351
285
335
294
344
258
314
404
261
243
312
344
381
346
315
271
325
360
367
279
303
337
353
320
326
222
281
257
359
339
292
378
333
300
313
268
283
288
267
333
313
296
273
331
246
319
351
367
334
340
325
331
254
330
291
296
319
266
378
226
335
299
297
331
240
316
367
296
357
337
331
356
312
298
362
384
329
323
280
319
273
363
344
368
350
393
282
282
339
276
288
408
328
331
267
361
341
355
271
289
345
306
257
290
323
351
254
274
261
417
385
369
373
346
248
253
274
336
377
272
332
262
322
334
297
307
317
286
262
314
316
309
234
330
333
293
381
275
321
389
313
263
342
309
332
349
374
370
228
297
272
349
246
300
259
270
271
276
295
317
260
313
360
363
303
341
391
297
341
360
250
331
332
370
339
313
247
336
292
318
307
390
258
217
238
308
227
302
321
333
328
297
289
331
325
277
399
229
307
352
321
237
369
353
263
300
283
428
251
307
261
213
368
329
322
360
278
308
243
333
304
359
255
309
309
336
249
270
306
340
291
279
281
256
328
299
357
226
269
317
246
382
348
305
352
319
297
380
263
337
362
356
327
306
321
282
321
353
338
267
321
321
328
344
296
367
263
218
363
341
316
349
317
343
328
293
333
353
275
299
357
278
335
357
293
318
236
245
339
343
292
383
369
383
311
344
354
305
382
350
293
369
362
287
352
311
316
292
319
260
313
267
348
340
427
321
344
338
291
345
297
262
285
323
306
276
466
326
295
313
268
310
292
368
343
255
373
262
337
326
327
366
309
340
237
281
283
337
329
272
249
307
321
335
310
292
354
305
390
356
295
237
291
386
289
236
343
318
329
342
341
322
411
272
370
344
271
322
324
350
355
336
327
355
338
340
331
290
295
330
299
233
313
343
338
296
268
256
281
356
375
334
428
304
347
308
312
341
363
214
264
336
299
338
289
360
246
373
299
259
373
275
349
353
284
360
371
286
369
224
300
292
385
315
328
397
298
376
357
348
305
315
332
339
365
377
298
346
340
311
299
238
283
365
307
280
232
352
295
285
352
288
287
344
352
333
394
393
318
396
332
356
322
275
384
303
266
294
379
306
292
238
313
269
282
318
305
373
300
316
416
315
270
240
372
319
282
345
381
296
228
242
303
362
279
308
261
297
428
402
233
358
278
340
384
249
381
242
427
289
321
285
307
436
382
331
300
289
346
310
405
379
230
263
335
305
289
322
293
319
353
280
365
355
308
292
242
237
364
320
383
373
376
320
266
258
324
261
282
321
284
265
362
334
351
283
228
286
305
308
290
332
404
370
388
356
314
384
286
344
322
300
371
242
193
303
257
284
378
251
334
284
336
275
333
358
333
363
318
267
338
328
329
347
308
320
371
253
280
326
281
304
299
379
405
364
313
302
320
252
347
266
314
183
372
242
332
284
286
342
298
393
383
372
297
328
196
286
293
234
372
261
391
392
358
241
268
314
310
341
307
378
375
247
353
386
311
250
288
306
420
336
296
230
254
361
339
346
343
327
363
335
211
303
364
330
362
308
266
285
327
353
290
418
321
295
319
302
216
260
399
329
315
262
236
298
321
341
282
251
336
362
328
333
284
242
353
286
310
250
301
391
326
261
331
311
358
323
321
287
362
214
373
262
276
299
243
271
374
306
364
330
353
363
375
295
234
351
232
269
251
370
327
247
320
292
332
321
368
262
294
311
313
333
344
323
342
307
291
287
266
353
330
354
300
265
401
349
366
279
260
367
329
355
348
375
341
347
338
366
300
251
351
241
322
290
394
306
318
251
269
351
382
256
203
262
320
288
300
276
340
247
291
335
228
313
296
337
288
297
344
351
248
277
335
308
337
244
289
349
264
308
357
305
297
295
292
353
349
243
312
382
326
363
297
346
377
408
320
285
341
370
301
398
299
252
250
242
411
274
294
352
331
314
341
246
320
281
295
296
397
371
331
372
304
337
270
337
379
301
374
334
289
307
361
321
254
262
310
378
310
312
256
291
299
312
402
301
256
269
346
354
310
238
220
340
328
329
344
301
332
243
338
309
361
315
302
298
321
279
340
308
276
321
329
272
353
332
267
286
347
323
316
325
289
255
288
362
229
322
346
343
327
378
387
361
297
345
230
365
295
275
341
242
391
253
330
276
255
239
286
415
218
313
316
326
321
343
365
308
288
283
362
344
358
294
303
342
301
343
348
262
354
316
314
306
317
296
267
315
313
379
281
273
326
314
314
306
321
351
390
294
262
309
293
323
376
263
316
304
321
298
343
336
362
319
336
370
356
309
306
341
386
276
281
319
307
316
259
336
390
396
286
305
239
297
357
340
327
220
298
319
230
310
354
318
270
380
302
274
256
299
305
360
286
312
384
324
397
343
291
300
315
372
292
359
349
262
335
291
338
302
398
405
361
294
346
373
329
236
319
274
301
291
345
344
323
252
329
344
292
315
288
269
351
340
246
356
363
345
353
377
395
277
254
362
251
353
356
245
417
304
297
244
252
298
307
310
312
280
330
307
314
365
377
270
281
335
289
274
310
302
360
414
261
317
271
263
333
322
357
346
306
374
350
271
323
393
308
289
399
335
332
326
381
303
286
269
369
338
232
297
338
278
297
304
335
371
292
330
368
372
340
304
250
311
303
297
307
266
295
252
373
303
365
347
297
263
290
236
339
227
245
341
362
375
346
245
270
382
297
333
329
278
266
323
362
231
332
372
318
248
257
272
299
367
330
331
302
311
263
329
321
277
333
321
384
323
331
241
257
365
310
369
275
315
285
316
424
293
359
303
329
317
352
281
310
347
301
257
345
356
338
334
333
230
326
359
401
272
363
314
325
371
324
254
336
333
272
293
288
259
335
262
334
256
322
321
328
338
248
295
270
350
236
352
421
252
332
322
274
398
289
325
231
217
268
271
347
385
356
316
314
348
296
324
282
372
366
326
231
375
393
370
302
331
322
330
338
291
291
340
432
368
286
318
329
369
337
333
267
374
362
265
222
325
377
357
378
380
342
333
225
419
305
338
329
321
345
351
363
387
385
296
299
276
347
368
338
293
348
336
304
367
296
286
296
324
333
314
380
243
294
329
330
292
320
349
257
291
180
334
362
275
291
390
300
277
345
250
300
334
275
301
288
261
364
298
310
362
360
283
354
274
338
374
282
358
309
283
297
256
293
316
384
263
317
270
357
270
287
319
289
288
278
323
335
216
332
270
272
321
368
237
347
314
326
324
297
366
328
289
276
279
295
305
263
282
279
346
375
300
280
276
299
265
316
299
344
329
298
268
282
311
349
264
363
261
259
270
277
259
306
343
282
187
307
331
316
328
308
338
306
222
333
319
278
280
331
258
264
327
249
269
263
273
270
296
396
328
325
255
310
292
366
263
387
267
340
342
274
229
345
376
334
385
306
305
306
310
393
232
253
318
285
305
359
277
279
360
326
336
274
317
341
283
301
335
353
295
329
322
356
300
286
287
318
280
258
264
314
377
301
295
372
334
328
330
221
271
372
340
334
307
288
298
293
363
305
216
324
324
225
321
269
292
354
372
369
356
365
299
338
322
251
362
312
299
339
302
374
259
272
352
339
277
394
398
295
212
212
329
280
325
266
304
346
243
402
324
335
372
340
258
293
305
313
376
219
245
381
317
285
324
296
311
272
358
414
377
328
296
317
285
318
380
290
364
378
304
290
360
366
354
312
303
200
385
372
349
336
247
328
396
328
383
306
203
303
290
364
372
277
178
325
363
323
369
309
319
266
375
289
230
327
383
351
351
341
335
290
259
342
238
334
181
301
356
331
211
320
337
318
337
339
333
306
347
262
268
256
240
356
274
288
235
327
315
272
257
278
264
271
339
206
292
352
307
256
338
242
273
403
389
293
321
286
292
203
343
364
279
266
369
314
342
263
355
241
313
333
203
320
348
388
341
305
297
249
340
321
300
328
305
321
373
282
322
324
370
328
254
368
299
316
338
334
354
386
395
340
334
302
299
379
314
283
362
282
259
387
251
305
331
361
282
315
260
418
317
294
332
324
327
253
295
304
336
360
309
366
322
304
287
377
241
330
294
229
324
345
332
426
323
295
343
263
283
296
322
327
324
282
343
372
278
351
272
257
353
322
275
291
297
283
297
364
352
364
283
259
328
378
353
281
276
328
370
310
255
324
288
304
347
382
310
275
361
281
280
197
340
267
251
235
403
386
331
341
384
343
286
318
337
250
313
368
307
360
271
251
259
384
398
300
231
321
290
330
341
326
312
266
268
371
312
320
282
231
332
281
301
287
262
353
301
359
356
300
321
372
383
333
359
349
332
376
323
243
260
281
276
315
320
291
270
320
340
419
295
322
331
342
358
299
342
375
329
401
297
279
321
380
414
352
260
363
298
308
296
330
373
319
354
262
289
271
371
340
288
316
381
275
229
305
293
280
313
333
233
350
321
292
290
332
313
291
333
369
248
383
300
309
398
352
311
356
387
282
312
411
191
302
376
358
332
319
268
307
372
275
247
290
256
228
318
335
346
275
354
249
304
294
293
335
273
348
284
232
264
316
351
298
266
425
294
289
326
291
378
304
315
200
300
309
403
265
287
230
337
341
290
348
308
318
348
355
260
354
331
276
345
331
340
291
263
262
305
244
230
309
335
319
282
351
369
328
335
324
344
313
239
289
239
339
397
302
283
255
327
260
353
276
268
277
397
364
305
201
321
376
330
254
263
300
291
408
273
221
296
311
281
324
350
254
246
292
416
338
296
361
367
377
326
258
293
390
365
339
312
382
335
301
357
338
282
295
192
359
254
272
341
290
261
276
300
252
423
347
262
324
307
246
277
342
341
313
294
297
338
343
323
236
301
361
205
293
243
232
322
321
306
336
403
375
324
314
346
344
241
283
261
360
330
392
239
339
303
364
348
339
338
329
364
361
309
327
322
326
315
328
319
286
389
317
288
344
239
260
315
337
263
291
221
370
278
322
356
355
328
349
344
250
346
267
322
197
306
356
302
286
326
327
347
330
245
333
399
265
319
367
307
219
342
382
425
267
420
314
368
344
263
398
388
242
326
219
289
368
239
296
367
280
322
356
239
345
255
331
237
342
333
355
296
261
357
243
300
317
298
384
336
315
249
279
379
246
331
297
297
352
265
253
205
328
301
304
274
266
269
299
369
177
343
186
307
287
285
318
330
244
383
437
295
311
311
294
327
293
279
240
307
266
270
299
248
334
271
329
308
297
293
284
257
334
268
360
358
391
367
276
304
317
348
330
298
271
277
319
361
328
384
353
428
302
347
319
318
297
389
253
298
291
369
320
293
347
285
354
248
272
348
320
275
324
297
381
387
332
383
300
302
358
311
317
272
406
248
260
321
342
292
210
267
293
212
322
314
362
285
303
338
313
363
275
356
238
313
376
206
297
337
320
309
362
308
267
308
353
388
347
281
375
321
313
308
371
322
360
304
366
342
305
333
328
279
279
306
320
326
242
299
330
230
265
302
283
320
245
388
275
356
347
227
387
393
267
298
316
300
371
242
332
310
403
301
239
220
339
326
331
348
365
370
267
313
264
294
281
341
305
399
335
379
366
188
345
336
220
379
315
350
405
349
339
408
256
259
366
279
322
263
249
338
327
312
337
279
342
399
301
334
321
301
325
294
347
263
319
331
299
331
334
293
312
307
307
268
344
306
320
360
311
341
299
380
340
403
375
344
308
299
301
346
293
335
324
314
314
353
264
355
312
275
356
280
352
437
355
264
358
286
346
231
347
284
318
290
336
340
426
370
336
355
258
357
288
333
296
350
344
326
259
322
336
352
356
314
372
331
306
317
318
350
261
346
308
375
284
319
347
343
288
219
296
348
391
354
357
329
295
323
243
284
380
315
283
371
355
365
369
294
359
302
339
352
312
318
317
349
338
266
315
325
370
371
275
270
310
295
366
291
246
295
307
409
331
310
227
317
417
368
313
412
341
333
241
331
296
277
354
294
287
256
343
349
364
246
339
339
342
334
364
275
283
333
334
310
334
314
180
376
318
346
281
370
326
398
295
355
372
294
355
328
305
362
241
323
354
319
281
322
261
218
410
325
250
308
302
328
384
335
270
311
398
284
395
305
310
287
347
260
400
395
274
300
313
277
365
310
354
363
303
392
331
295
301
312
261
361
291
358
352
221
319
350
276
368
255
319
342
353
281
274
382
358
304
332
370
353
321
304
302
324
275
339
324
324
294
326
361
292
313
296
257
353
253
351
382
351
267
336
300
274
241
319
363
343
344
351
343
336
400
219
309
305
343
239
326
449
213
382
296
232
338
304
238
255
295
290
265
287
329
326
330
328
337
344
377
324
359
319
333
335
294
313
307
379
300
272
246
366
255
315
352
305
258
306
335
264
346
340
332
360
286
328
273
347
279
323
383
315
267
204
383
341
298
358
314
365
312
321
353
276
365
406
315
303
304
245
291
310
358
273
274
339
339
366
257
323
250
247
366
292
301
300
323
348
291
352
210
330
289
405
393
397
287
381
307
243
329
361
268
255
334
273
364
373
208
343
296
283
236
309
338
445
273
267
287
303
305
288
325
362
385
332
359
296
288
324
304
340
332
271
328
357
356
371
287
334
257
340
306
406
326
306
252
286
326
344
343
361
351
335
330
300
383
364
338
282
316
303
353
258
300
273
204
371
378
316
346
410
329
298
411
408
237
305
296
374
345
254
342
359
328
305
353
332
348
335
371
423
367
285
370
309
313
300
367
268
339
361
371
334
228
192
347
308
305
264
309
356
237
318
288
323
324
284
290
287
321
402
301
305
233
309
398
274
299
293
314
299
327
271
313
250
355
323
230
323
281
310
307
307
248
305
264
336
314
279
290
361
346
335
383
258
344
296
231
317
273
296
286
324
290
400
212
310
340
298
325
382
301
264
353
257
336
324
359
269
346
257
415
379
281
308
304
310
361
360
396
243
303
286
282
370
323
203
355
384
297
342
420
365
291
358
278
286
251
235
311
316
330
283
349
300
287
329
339
394
341
356
372
340
256
343
302
372
324
288
327
357
221
316
334
344
279
312
322
194
239
301
314
298
302
330
338
289
333
280
294
309
375
326
268
326
205
314
304
343
305
265
388
191
288
293
396
296
325
349
285
270
337
288
325
385
350
377
243
265
249
338
348
268
289
311
315
277
354
228
331
379
298
316
371
300
311
238
286
309
379
315
225
294
360
303
268
326
279
406
235
289
365
360
296
269
324
304
330
354
330
338
295
333
357
395
284
323
321
315
351
373
340
228
283
360
291
280
273
287
329
350
292
253
280
368
298
282
348
367
298
384
251
283
268
303
293
302
343
323
271
367
286
339
243
305
281
347
313
213
247
368
288
364
406
301
338
290
311
351
263
251
294
258
298
351
329
307
255
271
296
322
337
331
377
271
293
337
348
336
281
303
291
331
274
310
380
284
286
328
384
381
319
241
294
387
348
383
305
353
375
316
390
258
245
271
348
344
354
317
272
243
326
294
292
366
354
361
320
367
284
257
355
374
320
338
347
207
287
301
332
231
303
345
337
377
352
237
270
362
305
314
331
247
365
370
323
280
344
293
304
286
398
337
358
320
250
352
320
268
322
299
346
279
356
390
235
247
304
247
395
343
251
371
353
298
345
200
275
286
349
264
349
326
319
263
316
351
318
278
323
328
292
288
268
352
282
344
313
290
380
294
330
270
261
326
254
384
230
301
315
164
398
316
248
421
360
368
325
442
377
279
315
308
375
345
287
353
324
275
338
370
278
317
218
248
378
289
362
305
332
345
361
333
260
327
270
316
341
241
365
342
385
288
319
250
250
332
310
333
254
262
283
339
303
321
222
237
283
319
375
375
231
350
329
321
264
301
346
364
306
406
271
331
351
247
238
250
300
295
345
368
305
363
323
270
281
356
343
369
285
314
350
342
351
278
343
279
356
263
317
377
364
278
327
249
344
340
360
340
272
293
332
246
309
367
332
332
267
275
320
290
331
244
416
321
366
361
244
387
272
330
212
403
307
140
282
295
364
305
298
328
229
394
385
342
175
324
291
348
242
359
314
336
274
256
325
265
262
343
270
350
294
289
290
306
290
302
313
303
335
406
298
363
327
272
313
341
308
382
365
231
274
304
286
264
231
286
346
307
332
315
214
336
326
325
295
318
283
273
334
357
337
424
287
390
283
336
302
274
257
352
292
274
309
250
310
326
309
244
316
380
302
357
262
300
350
349
341
215
337
286
284
337
297
293
258
346
303
260
350
293
296
284
357
323
326
310
273
339
278
355
328
324
337
389
344
352
327
285
285
339
323
386
319
317
339
333
336
301
326
312
317
343
312
357
273
246
334
303
294
315
341
303
325
296
267
235
352
266
400
342
357
309
290
301
265
280
411
325
322
309
294
313
304
314
345
245
343
331
307
295
314
297
429
340
289
372
340
315
346
382
292
357
357
313
314
245
329
259
368
342
312
281
354
288
349
269
332
370
313
318
313
263
341
376
314
334
341
417
227
301
188
301
292
281
326
303
254
233
334
215
292
348
209
328
345
343
275
285
296
323
260
325
255
330
389
209
244
322
296
264
280
224
270
383
355
321
291
244
270
273
348
259
369
244
355
353
363
307
278
315
373
294
335
379
286
369
339
327
393
349
307
387
284
399
289
327
245
273
314
285
396
270
327
303
399
395
351
336
353
344
276
277
309
338
350
406
294
345
320
374
395
331
349
298
309
279
393
327
316
352
308
234
294
279
285
261
280
238
308
308
274
263
308
315
344
299
193
359
356
338
376
300
262
287
315
344
320
346
376
278
314
367
357
410
361
296
363
345
276
316
247
326
293
308
324
270
357
315
340
255
386
382
300
361
315
341
321
255
287
355
277
342
371
311
336
272
299
265
360
247
315
301
275
287
307
342
323
363
348
351
314
353
289
325
264
395
360
283
305
328
406
330
345
290
401
264
463
254
245
302
284
432
271
363
285
318
290
382
274
252
234
374
371
267
302
266
324
287
286
288
314
289
301
300
245
353
349
382
312
332
230
372
305
310
217
262
254
291
276
246
313
263
310
318
302
293
311
364
268
346
450
308
364
319
327
314
294
271
310
347
305
331
246
331
278
274
339
265
389
380
390
384
232
295
266
313
301
367
310
407
348
360
391
267
323
341
348
375
353
386
373
323
350
347
335
285
254
280
247
324
321
374
356
334
390
274
325
388
357
323
330
332
272
293
366
282
339
272
278
302
277
224
281
374
306
390
339
269
279
376
344
303
338
308
306
310
257
356
322
411
329
294
302
359
312
299
322
295
305
324
316
389
359
338
335
336
345
278
294
341
213
304
200
281
291
353
304
310
257
301
351
301
302
302
350
278
313
289
309
238
316
336
198
355
325
280
350
345
357
268
283
338
249
279
330
328
361
359
333
399
327
349
350
379
325
265
341
309
322
244
318
292
324
350
282
393
289
249
344
301
279
324
225
335
357
296
320
364
243
320
344
312
229
310
322
299
331
280
334
384
347
276
344
231
368
304
350
356
325
356
385
337
299
366
361
282
330
281
337
316
373
306
242
392
359
325
312
306
277
330
319
315
266
382
258
385
297
371
372
345
353
338
290
305
256
301
284
307
308
296
262
291
316
276
267
322
310
300
402
365
311
289
366
262
380
315
382
288
292
336
401
284
340
342
383
339
377
254
272
311
322
234
362
309
296
273
300
341
303
258
314
319
294
333
346
372
290
255
388
330
296
283
309
320
374
346
337
271
385
270
387
297
345
274
396
274
294
257
351
322
357
278
355
344
296
384
373
303
365
264
285
337
321
350
327
351
273
280
288
303
275
344
311
365
286
389
313
205
275
377
312
313
264
311
259
255
354
323
360
365
314
256
380
306
245
371
299
299
289
214
396
303
201
216
371
357
299
298
324
338
266
293
258
403
349
339
188
355
370
289
284
368
301
254
341
385
366
293
307
299
283
314
231
298
310
323
377
295
283
362
261
173
339
344
249
258
300
379
336
343
268
291
295
267
386
346
310
319
366
226
323
295
376
317
307
333
367
384
334
363
281
362
252
372
367
302
353
367
308
315
289
277
357
260
304
395
322
326
227
265
353
297
326
395
329
351
318
339
319
261
289
306
311
288
310
302
383
250
315
330
330
201
308
317
332
381
304
263
242
360
251
260
324
256
375
207
406
323
347
276
326
290
330
351
343
367
383
309
335
299
312
318
332
254
312
292
361
372
291
353
326
299
253
327
342
323
411
348
299
367
303
361
363
352
327
398
261
280
233
391
267
353
294
278
321
348
370
298
348
312
290
359
294
364
279
348
354
243
357
311
330
319
385
321
317
378
302
346
316
283
347
323
295
263
263
314
216
336
442
365
291
270
353
434
285
279
324
310
373
278
362
267
301
215
247
234
340
272
289
417
339
331
290
376
357
309
390
313
313
314
255
243
262
311
225
340
377
277
289
345
353
312
257
385
338
320
308
374
286
282
347
363
375
311
232
401
379
333
296
270
302
352
324
271
329
346
282
289
341
232
297
317
285
303
301
295
355
350
339
376
303
296
246
248
299
238
352
384
326
321
313
368
335
379
239
300
260
351
299
273
337
326
278
304
288
221
333
336
340
333
380
279
221
342
277
332
361
374
320
315
358
357
397
286
334
336
339
281
307
356
296
402
272
291
250
259
345
298
323
245
285
275
232
342
268
329
283
335
265
346
311
306
289
289
205
306
262
285
279
325
247
356
374
350
293
305
367
290
374
337
299
284
262
269
231
287
282
267
357
263
285
279
288
163
246
252
300
262
265
262
394
282
324
359
338
244
290
338
349
378
419
376
313
363
263
292
286
265
322
370
392
266
286
298
269
256
349
339
332
293
222
341
311
243
305
267
302
226
338
274
341
382
293
270
357
342
343
348
278
342
350
228
310
288
218
330
357
345
353
321
418
345
356
278
303
224
309
280
394
373
370
379
354
300
314
305
357
313
320
310
368
334
319
305
394
300
371
326
371
252
212
327
338
342
234
285
269
380
242
239
334
373
267
314
364
307
374
284
309
274
352
309
362
342
319
338
316
341
363
266
350
310
330
323
384
365
304
366
273
290
282
317
288
272
359
316
311
293
301
295
348
393
347
354
274
356
294
327
299
295
245
342
206
367
222
365
335
360
363
329
327
331
354
370
317
313
365
289
344
305
342
322
230
178
388
358
337
293
375
263
325
310
305
346
300
259
338
370
313
297
293
278
334
346
383
314
360
312
224
340
309
336
340
358
257
368
334
333
198
331
282
362
269
377
317
373
328
428
262
350
256
268
333
344
336
315
390
278
338
349
357
363
382
338
306
229
260
331
332
266
364
312
263
274
311
219
307
305
375
288
330
244
303
381
304
362
388
291
272
273
337
312
404
294
365
292
345
346
342
389
353
336
294
296
322
367
311
279
316
234
281
242
309
337
365
278
335
349
274
239
376
272
342
392
372
329
192
248
256
367
382
271
310
293
272
312
271
328
194
253
336
233
304
393
330
306
377
286
343
282
323
335
378
255
347
379
314
313
263
252
349
351
246
359
383
248
276
325
257
299
340
357
397
348
337
365
365
319
335
300
413
236
327
349
297
356
354
298
289
275
327
293
298
306
384
307
323
320
338
312
314
332
272
264
342
279
277
275
315
261
310
350
315
330
389
333
299
339
317
279
341
308
183
374
397
258
301
284
226
328
374
316
324
267
240
205
318
277
328
299
267
303
343
289
317
288
378
376
307
262
317
291
311
276
294
380
302
297
267
308
262
261
306
331
286
348
296
315
277
285
257
265
260
325
371
306
259
296
292
322
373
352
343
358
307
223
329
261
260
341
317
336
227
332
298
175
247
332
351
306
250
351
273
278
344
365
324
316
267
327
267
301
391
281
349
388
326
297
410
367
268
305
396
282
303
314
344
318
252
307
312
292
177
409
375
246
182
219
316
307
369
310
296
341
202
255
303
256
357
234
331
340
328
318
375
253
286
307
328
369
320
253
268
301
294
262
333
271
347
331
325
304
363
313
279
316
313
250
341
269
355
353
231
327
339
340
298
375
291
340
268
258
357
290
390
302
396
309
306
271
308
326
326
374
278
317
348
353
284
259
186
244
304
302
259
338
344
333
301
252
314
377
350
327
392
258
319
303
265
310
358
314
309
386
340
359
347
348
356
341
366
225
240
331
333
415
366
313
323
288
222
259
378
347
361
368
298
287
232
265
323
360
289
316
224
310
348
274
312
247
395
337
244
333
275
358
317
292
344
345
347
295
342
312
339
336
274
339
269
305
306
264
307
364
340
371
328
331
341
247
284
368
385
368
274
309
325
264
294
284
364
338
301
293
227
265
317
318
289
247
297
364
289
303
309
377
341
402
295
358
275
307
336
350
390
356
372
296
250
257
358
298
281
372
342
357
372
262
244
339
377
342
362
317
286
286
369
314
309
302
346
334
279
417
343
380
416
353
237
338
225
351
272
334
271
319
396
375
293
286
308
318
384
255
357
263
224
297
324
370
274
288
319
360
279
245
354
358
321
231
335
344
320
325
309
397
343
288
349
393
338
387
289
251
308
290
245
335
235
296
287
365
343
341
388
341
262
282
328
316
282
364
325
296
301
287
219
323
223
335
374
196
347
368
286
210
306
314
295
301
295
294
342
283
367
321
273
297
365
305
313
278
326
319
279
361
299
341
268
266
307
352
301
305
327
339
272
315
401
297
272
280
312
345
270
348
351
317
302
243
293
319
416
380
252
354
362
257
314
300
304
318
288
285
309
345
398
311
290
296
244
376
329
371
267
291
240
287
291
312
319
395
289
275
277
317
263
318
324
348
308
267
277
287
322
239
299
270
301
232
309
290
350
380
318
315
353
260
323
327
319
343
317
234
283
336
298
358
286
327
210
319
361
337
311
249
234
317
358
302
265
399
368
360
324
334
295
220
304
356
315
271
301
281
338
296
370
295
258
275
262
351
289
231
314
306
271
313
393
341
347
337
287
354
263
408
268
347
278
349
344
248
380
420
241
285
363
308
302
355
328
229
304
305
381
270
326
384
329
341
258
249
294
347
302
297
318
384
268
365
374
324
378
361
312
326
340
224
234
318
262
269
331
292
369
341
262
304
277
281
380
341
362
380
346
240
272
261
304
349
295
278
360
262
262
258
355
228
358
243
356
235
310
268
321
335
267
283
430
235
319
344
288
297
275
345
360
317
292
347
390
314
383
293
314
316
295
328
336
209
253
291
250
265
243
303
279
331
350
349
329
330
269
355
318
336
282
322
210
327
365
324
260
310
326
272
300
331
278
328
299
280
251
185
351
341
275
354
333
303
281
271
327
359
298
341
308
307
375
277
332
314
272
346
286
237
310
271
398
395
320
268
231
347
294
299
283
304
349
318
344
303
314
267
254
299
349
380
368
358
241
340
323
354
276
263
295
261
323
390
323
231
229
233
330
268
326
290
306
295
296
333
228
326
318
313
321
240
286
319
379
287
301
361
324
335
298
406
339
321
329
269
307
312
308
248
305
295
287
286
389
348
323
310
354
239
366
287
370
254
313
330
277
364
315
340
317
393
291
332
292
355
328
374
373
313
293
334
352
285
354
310
248
241
336
290
284
279
339
275
337
351
209
345
307
318
290
284
245
170
391
326
299
241
331
421
282
261
246
372
326
347
278
290
299
376
295
367
326
255
359
368
296
355
338
307
358
281
344
386
402
372
332
423
381
325
252
229
294
207
230
259
328
369
291
320
305
324
377
253
253
247
345
369
295
299
290
355
256
219
277
306
286
342
286
322
322
203
275
276
340
359
323
348
293
246
356
328
334
337
307
240
336
311
321
244
321
326
272
324
279
343
347
254
385
280
332
271
387
344
283
338
355
320
328
308
357
304
360
270
299
286
355
412
236
360
288
342
282
280
279
266
280
310
271
385
323
249
290
302
312
354
418
315
310
283
308
340
398
380
301
277
329
353
251
308
284
285
267
408
259
343
307
367
344
391
353
289
310
194
292
294
271
359
334
343
319
307
332
301
216
306
275
275
397
304
363
340
338
300
339
290
319
301
280
221
302
366
317
255
274
347
248
334
228
370
263
351
371
274
269
387
383
280
330
262
379
353
371
284
344
291
348
309
365
243
321
243
293
364
337
358
357
251
274
280
354
321
325
289
293
331
309
298
345
334
331
311
328
324
316
319
344
361
332
371
251
389
280
266
241
288
309
311
340
254
285
420
359
408
360
295
298
383
345
227
331
277
321
299
277
259
257
320
234
300
336
289
312
314
422
263
308
278
321
364
331
288
321
338
275
252
351
321
320
267
348
309
333
281
388
290
289
257
333
322
311
303
246
324
330
316
334
325
365
333
324
328
372
266
344
265
353
361
373
360
370
374
282
323
289
243
372
394
364
305
303
257
287
314
318
385
292
272
344
326
283
329
319
339
317
392
297
419
311
356
308
337
369
259
307
256
274
280
220
374
282
293
276
329
388
188
223
327
264
376
304
286
285
321
330
321
297
317
327
364
409
365
335
321
334
312
343
364
311
382
222
297
331
225
293
378
339
357
351
370
298
301
287
300
301
293
334
254
341
338
304
323
288
381
244
317
379
228
321
305
324
317
341
371
317
324
334
353
339
361
190
286
328
273
295
315
266
367
319
393
350
330
364
323
346
294
237
384
279
349
323
378
215
211
286
348
360
293
327
389
363
353
279
305
304
340
314
357
297
263
372
352
329
308
330
228
244
328
369
296
339
256
363
366
217
346
376
262
267
322
290
335
329
339
354
297
332
281
357
362
280
312
367
344
284
364
324
359
379
238
309
305
345
326
258
303
296
320
330
372
274
243
263
360
379
339
354
325
330
299
296
353
399
311
308
358
408
318
345
270
310
291
306
421
325
326
294
350
298
441
309
305
329
415
311
339
377
261
348
322
346
381
263
367
275
316
299
388
245
306
332
290
288
287
332
296
399
315
270
389
269
283
250
379
263
336
321
282
249
260
269
299
271
376
359
326
226
338
309
326
307
243
292
268
359
310
334
327
264
280
252
359
368
347
189
399
342
320
388
312
261
282
299
288
315
319
306
290
330
308
329
327
313
231
338
267
321
289
307
239
349
239
309
235
307
294
328
250
284
269
314
290
318
357
274
276
364
239
327
306
254
316
271
352
364
378
328
370
362
369
369
291
312
356
317
374
334
296
261
315
406
410
262
282
317
349
293
328
348
357
318
287
260
379
304
311
401
343
242
386
329
307
278
312
349
280
413
365
336
315
354
385
299
276
246
404
280
334
249
365
303
261
313
328
268
310
354
326
349
323
313
301
358
221
295
378
336
222
386
376
289
294
320
276
305
344
317
232
298
319
352
348
257
356
302
353
345
349
297
403
236
270
305
303
312
312
357
374
346
309
300
278
296
343
281
343
314
333
274
360
297
323
350
306
237
354
224
381
315
262
310
356
227
334
331
320
268
387
250
350
284
371
292
275
287
274
319
340
377
351
293
293
280
241
381
345
304
246
334
314
347
347
280
309
293
365
339
253
350
361
298
290
264
342
330
354
188
224
281
409
310
269
270
266
279
366
339
309
343
379
310
299
328
269
288
313
344
348
349
320
332
308
251
257
288
353
339
429
297
243
266
349
378
267
309
344
318
351
322
312
288
345
262
362
375
365
280
393
340
326
271
273
330
328
317
329
299
335
336
371
317
286
339
271
323
292
287
283
298
247
354
287
287
302
316
291
387
311
303
293
303
290
385
332
282
212
338
342
329
285
338
364
258
330
359
334
359
282
365
372
426
384
392
300
252
357
277
386
383
334
295
208
302
290
193
329
302
359
357
243
317
274
327
375
336
390
325
305
295
430
360
332
374
322
278
342
315
310
387
265
347
326
334
292
285
333
289
312
260
360
226
347
385
196
345
288
284
402
334
367
265
341
315
352
342
343
353
307
329
377
253
298
341
283
308
297
282
251
345
270
274
326
275
320
344
219
342
309
253
239
253
322
358
330
303
280
285
342
191
274
320
353
232
333
347
319
335
338
388
271
288
314
332
320
355
286
296
309
326
292
264
249
340
325
386
267
405
272
290
289
277
313
336
291
354
272
317
355
261
301
323
332
429
293
366
279
344
277
279
343
291
348
254
320
335
293
270
365
280
380
308
384
336
231
318
260
319
284
295
273
248
328
365
370
295
334
306
327
309
290
295
267
221
311
260
392
295
345
352
245
333
323
284
261
276
363
263
247
279
254
279
322
276
372
308
327
374
282
292
266
350
323
276
315
318
302
333
270
350
346
286
309
226
325
396
270
322
363
307
249
166
283
264
352
262
345
341
253
371
352
307
233
275
192
339
330
281
374
356
279
309
384
297
367
290
266
291
320
224
275
281
335
310
321
283
404
353
340
362
254
361
349
308
301
332
241
294
349
348
319
312
303
326
317
363
340
270
231
341
321
274
350
198
258
331
347
234
320
349
413
293
302
252
282
392
325
269
285
223
338
294
376
370
422
393
271
301
319
222
300
389
387
363
314
359
262
310
280
343
264
303
350
333
324
382
341
268
372
299
352
335
344
319
392
343
262
335
313
253
235
351
333
369
283
399
299
256
271
263
338
337
348
344
354
310
263
335
318
321
307
324
322
279
353
260
391
277
257
294
275
331
222
339
303
264
409
296
323
285
259
290
282
310
314
336
336
362
407
289
299
341
282
323
371
324
349
284
427
382
251
376
230
273
286
311
355
341
293
359
285
336
247
266
356
266
355
337
336
322
300
342
247
278
330
329
230
345
356
307
201
329
284
267
364
351
237
218
302
303
287
323
391
312
307
407
250
374
316
373
269
277
332
267
339
270
288
272
313
333
309
306
346
287
355
362
357
229
328
360
363
335
335
364
333
307
285
398
267
223
281
338
367
324
314
376
238
357
291
381
265
303
341
339
371
351
416
389
268
391
355
328
366
276
279
316
321
379
317
371
309
257
380
294
328
350
303
376
336
350
267
278
332
313
308
319
326
242
268
280
300
397
324
291
292
342
290
270
255
291
331
305
339
363
265
282
324
312
368
361
291
349
308
247
342
327
356
329
282
318
367
259
308
280
328
306
231
221
293
372
301
283
312
354
319
307
273
232
253
418
380
324
270
298
310
317
360
371
288
276
365
318
295
339
258
334
377
367
339
348
314
397
281
332
273
340
409
240
312
262
274
309
351
325
238
323
378
352
286
354
240
337
327
349
315
318
375
304
331
278
269
177
340
422
332
300
305
326
295
371
333
333
226
325
338
304
305
359
371
272
300
330
328
331
296
345
257
266
270
235
266
259
327
332
266
365
301
237
307
399
301
346
314
361
347
335
340
393
330
314
265
365
295
413
312
325
345
361
268
307
223
278
358
299
331
333
365
387
325
333
283
372
380
297
336
340
331
377
346
389
255
380
280
345
273
299
310
296
294
293
316
308
311
292
319
371
264
322
311
266
359
377
381
186
306
293
309
313
388
314
334
332
324
251
355
408
289
327
344
343
318
348
333
371
350
339
207
310
280
331
304
281
343
274
341
247
338
304
285
312
350
343
381
403
393
350
285
351
238
339
387
335
325
365
222
286
413
310
334
395
330
277
325
276
345
310
320
305
390
352
322
361
338
364
328
277
258
253
237
350
266
273
275
406
323
261
291
308
325
305
368
257
317
219
312
201
418
375
343
334
291
237
280
338
371
385
340
371
285
319
372
247
252
356
370
365
326
287
374
386
334
297
344
343
286
256
357
294
379
315
324
289
322
274
397
309
281
352
290
326
368
326
285
257
325
343
231
339
332
405
352
316
326
286
308
267
345
327
327
303
322
321
427
377
315
334
352
357
350
283
296
367
256
331
230
321
286
332
294
296
286
370
310
287
304
319
296
356
350
328
251
288
354
376
294
314
262
223
406
357
318
320
292
274
325
293
273
276
257
323
339
348
261
295
364
252
317
367
241
302
241
376
344
268
278
197
337
341
267
259
240
296
332
306
266
284
282
303
362
246
251
256
272
304
169
328
267
285
374
313
330
271
377
310
347
344
341
350
234
320
257
307
330
324
341
350
330
302
374
339
319
260
333
280
360
394
313
271
315
292
339
305
372
290
343
259
384
344
301
313
387
297
270
312
318
333
283
339
296
282
250
351
298
297
368
205
402
262
337
308
425
309
308
275
282
313
432
363
349
326
302
358
315
383
316
287
311
306
349
334
298
209
240
272
333
298
294
284
343
360
219
361
216
340
231
329
328
299
282
325
235
336
269
274
216
284
298
256
318
311
403
398
396
416
351
355
309
307
343
405
369
246
422
265
336
344
337
319
308
280
255
211
318
367
348
292
325
336
356
360
306
334
311
351
409
306
241
355
337
232
262
323
230
344
335
240
343
327
311
297
279
315
351
250
320
300
284
323
306
312
344
381
279
287
320
270
315
307
204
336
355
290
307
284
316
321
393
247
358
251
258
311
289
314
337
327
305
304
337
292
260
372
305
387
363
359
338
328
331
295
368
360
306
337
366
348
281
317
377
237
413
339
311
321
234
393
321
279
329
347
341
311
370
348
369
357
361
358
266
387
326
276
326
256
299
292
319
342
324
387
271
339
243
278
340
364
388
319
319
295
265
356
282
298
336
362
258
278
338
348
333
333
302
396
374
249
359
348
341
334
291
318
266
312
344
331
341
320
336
265
324
284
232
197
264
403
296
364
373
297
355
316
294
263
324
338
315
269
311
330
313
378
329
276
345
349
388
287
255
312
352
356
312
375
352
301
349
293
343
379
336
407
360
388
315
298
323
294
280
313
262
263
255
339
308
272
340
277
320
273
378
338
324
355
371
293
237
348
288
408
277
393
293
272
308
336
336
275
373
303
256
294
349
322
280
307
300
374
322
288
290
252
305
242
282
344
293
422
298
319
321
288
354
363
348
274
326
376
256
361
291
329
345
307
277
336
297
261
308
328
395
254
334
289
362
231
305
341
310
296
394
274
350
292
293
330
274
299
369
295
312
313
390
331
346
292
262
324
295
329
293
377
334
359
288
282
281
290
300
191
264
293
328
325
316
372
223
321
291
320
343
317
345
272
291
350
386
338
301
263
367
369
303
383
258
329
326
299
326
262
343
281
310
287
407
300
356
368
312
337
330
348
214
324
299
345
355
263
277
354
272
339
282
350
350
279
309
363
281
235
347
298
399
283
367
359
274
315
320
334
302
349
363
297
366
350
275
331
323
419
258
307
289
255
294
377
292
245
255
334
323
389
277
236
359
333
342
308
238
378
282
376
319
354
292
295
406
297
300
249
378
359
293
365
369
348
366
299
347
369
309
309
360
282
406
302
358
391
317
355
265
269
322
353
357
310
322
305
348
369
390
351
317
301
363
264
319
303
391
295
241
275
327
370
352
318
316
367
245
302
348
307
307
296
337
404
304
269
292
324
343
279
288
357
238
207
273
278
314
346
363
309
329
313
263
212
335
305
331
343
312
391
340
279
292
395
357
310
237
362
319
309
329
322
277
275
274
296
253
290
283
380
363
247
268
313
325
341
290
284
325
347
377
393
403
323
296
330
291
319
335
327
292
285
352
275
311
383
326
401
324
336
359
377
219
273
281
275
264
313
346
371
357
393
312
268
349
321
270
314
285
300
292
360
369
318
363
273
357
334
337
374
285
342
349
318
251
251
237
326
294
353
297
367
318
380
250
288
355
365
410
323
324
259
287
358
280
250
323
362
325
257
339
355
260
275
293
337
281
309
357
327
336
286
217
308
334
347
344
289
315
339
314
284
256
298
405
231
325
295
366
282
362
337
329
352
356
262
360
274
272
294
277
295
394
326
303
328
276
322
284
323
185
338
377
293
295
230
291
355
298
347
296
316
283
364
346
350
317
353
333
346
317
254
324
374
278
376
266
324
266
322
330
345
372
243
323
238
304
371
328
309
305
312
334
178
286
253
261
286
237
289
277
300
311
338
327
360
322
315
308
335
298
333
251
315
324
406
312
266
321
330
322
291
308
322
283
373
365
243
351
296
298
264
297
292
340
338
327
370
384
335
199
295
284
362
263
325
337
356
191
313
347
335
334
301
324
281
348
303
324
220
341
324
376
238
381
269
331
238
258
279
336
365
391
316
423
337
324
296
275
331
328
236
371
361
305
244
249
400
287
309
279
316
381
317
379
353
299
342
304
366
318
316
295
355
333
289
376
271
263
395
326
383
272
309
364
337
373
327
333
350
233
250
351
268
192
392
314
417
347
360
299
276
381
336
283
277
409
327
358
370
330
296
375
296
320
377
367
311
276
351
308
365
232
273
299
342
286
285
408
254
273
392
249
366
308
452
267
243
380
395
360
305
347
311
353
304
361
353
334
417
314
292
346
247
249
344
281
334
298
322
361
216
363
348
353
344
266
290
288
312
268
232
273
263
370
357
363
260
235
351
332
354
294
372
308
252
408
317
273
338
332
332
414
337
339
365
366
362
322
305
337
295
283
336
241
312
318
338
267
312
278
299
336
359
278
285
320
367
307
245
316
282
264
281
318
346
351
358
280
363
288
334
354
216
311
316
350
266
326
252
251
309
271
346
305
249
270
310
286
313
304
350
320
336
354
315
288
359
338
342
228
291
369
365
275
369
251
392
264
365
394
248
314
220
358
337
354
386
300
359
236
322
345
342
285
289
264
378
195
333
340
346
334
290
371
389
337
365
318
301
199
338
264
212
328
350
362
313
287
282
301
267
283
246
342
270
353
341
263
256
283
351
333
313
317
341
253
353
267
301
367
301
366
396
332
300
288
309
351
259
320
373
307
252
203
278
257
294
296
289
364
331
374
295
260
332
334
257
290
288
321
337
325
240
291
316
392
356
270
256
390
327
318
338
337
332
268
236
331
295
298
369
245
271
399
343
263
360
315
271
259
303
237
356
272
319
334
297
318
248
309
289
304
288
332
293
285
324
242
294
282
307
295
358
315
369
318
357
243
339
295
335
352
331
337
407
320
311
306
380
245
340
318
393
357
366
229
287
328
271
313
368
367
313
343
314
295
319
353
322
395
306
325
312
284
364
370
334
278
327
200
274
318
368
310
362
290
358
357
347
308
394
312
308
326
205
235
216
413
213
359
291
338
295
346
328
297
382
255
265
404
339
313
353
275
297
301
342
222
297
258
234
321
376
263
381
314
299
370
382
401
331
264
284
315
291
342
348
347
264
335
326
263
325
333
287
333
319
414
373
374
242
377
330
379
373
297
329
315
254
262
332
292
434
340
303
298
304
366
321
349
362
320
321
288
292
218
315
324
277
291
320
317
414
306
264
353
259
307
306
375
306
381
294
264
318
295
356
253
324
329
370
382
323
264
320
301
252
381
407
278
263
295
273
299
286
352
277
275
307
323
361
281
366
403
328
339
311
256
325
289
218
269
283
284
331
267
339
310
273
359
251
333
292
382
233
243
302
247
283
285
250
376
309
297
289
282
320
249
236
339
343
298
348
387
413
335
307
311
352
274
344
324
334
238
358
285
312
290
314
319
385
345
324
300
345
225
338
295
390
371
329
286
316
300
321
290
225
328
386
319
324
374
320
393
337
314
372
282
350
353
359
332
353
380
365
297
292
290
305
417
213
318
369
161
270
286
283
312
317
332
324
247
259
315
306
296
349
252
363
371
352
374
226
345
293
279
217
252
357
306
326
282
344
391
252
253
402
324
286
305
202
312
306
211
309
320
287
273
313
234
311
308
250
303
343
417
212
285
323
322
402
311
328
393
264
274
307
380
339
311
340
314
382
338
287
299
300
326
348
359
330
278
320
258
293
286
324
345
309
290
231
281
231
329
321
357
381
337
373
279
338
284
335
388
334
297
294
241
319
256
360
300
384
398
304
271
315
311
329
374
294
372
418
334
321
320
259
339
307
308
326
372
260
342
281
304
304
269
399
327
358
297
321
253
279
275
270
326
328
342
354
334
234
358
298
357
268
341
367
325
232
297
216
316
363
291
373
309
245
307
301
263
355
296
263
305
261
256
265
258
342
242
336
330
313
279
234
305
212
357
313
352
297
367
386
429
348
387
279
327
315
354
328
393
379
233
323
349
355
361
285
331
320
381
329
296
373
330
323
327
357
390
338
305
358
328
240
367
356
311
287
325
322
227
277
277
370
350
342
279
392
342
316
389
268
341
271
314
366
327
373
335
332
331
303
319
277
297
323
253
245
284
267
320
288
323
346
279
342
274
283
334
267
347
356
330
372
375
358
288
315
304
331
342
411
303
273
295
234
326
213
313
408
336
383
291
330
260
340
325
344
329
332
284
299
343
276
384
310
325
249
307
186
373
260
299
284
324
336
325
282
315
266
373
323
343
315
312
249
314
316
268
352
331
324
361
311
311
276
234
301
326
246
296
291
366
280
316
294
291
275
286
272
276
302
330
313
318
288
296
305
333
192
285
260
339
308
304
248
353
378
265
309
262
367
394
368
242
289
306
288
330
322
293
249
335
299
337
268
345
226
303
369
301
294
290
259
390
378
332
276
355
291
282
382
265
374
356
249
303
283
214
345
284
291
197
364
263
346
363
313
258
297
315
287
304
346
416
314
356
281
301
290
272
317
354
271
354
312
294
300
340
280
356
357
373
311
354
250
320
335
326
327
296
314
346
231
362
307
354
247
317
291
338
294
240
261
345
282
305
369
318
331
327
291
320
350
319
412
338
267
304
355
340
316
323
380
275
406
369
264
317
289
306
305
302
164
363
397
316
268
344
285
261
271
296
359
365
295
360
386
238
370
357
309
270
348
295
318
390
261
345
296
267
277
280
298
311
312
315
352
367
314
341
325
369
290
348
276
297
326
306
180
392
298
390
313
321
366
336
351
248
336
287
327
307
302
319
341
402
304
210
397
285
365
340
319
343
250
290
364
304
304
227
300
350
375
343
322
355
387
280
379
267
279
282
314
257
342
303
372
338
291
287
327
269
295
348
374
322
350
358
283
297
337
356
317
279
350
313
285
348
359
314
327
371
214
289
319
307
364
294
413
315
365
244
332
258
255
353
302
316
310
361
311
333
350
322
291
388
326
345
289
305
399
318
283
378
353
347
341
290
318
312
298
320
330
342
299
417
345
350
273
291
264
223
321
306
247
369
278
221
320
325
325
282
335
254
342
304
384
300
249
346
334
310
261
279
343
339
391
265
288
300
374
318
351
320
252
338
319
317
337
279
300
332
319
340
353
301
342
234
314
295
339
335
315
315
382
364
322
366
255
335
290
323
239
303
333
314
248
230
391
309
254
250
329
335
255
260
331
273
273
328
227
323
370
365
306
312
312
294
303
333
323
250
335
365
354
339
330
269
272
316
305
319
295
293
316
252
316
329
303
372
319
288
210
304
355
245
324
366
272
347
307
386
175
254
335
400
311
363
325
328
263
280
336
315
309
329
335
291
326
376
386
349
258
286
277
352
291
265
255
274
296
339
233
267
368
293
262
246
311
402
317
328
327
325
207
361
325
408
282
265
344
334
343
315
270
372
290
389
330
281
311
322
302
360
283
321
333
378
331
269
255
343
310
335
323
317
265
251
281
309
314
271
357
315
262
327
330
376
358
323
322
254
349
287
346
333
295
303
366
361
304
281
336
278
265
347
346
330
332
312
307
333
281
209
337
338
277
339
296
367
298
332
341
390
357
263
380
322
332
374
335
281
303
370
305
313
326
313
346
274
306
334
318
369
305
335
269
361
322
345
340
395
286
307
311
336
355
292
325
298
260
310
306
316
269
339
331
300
297
279
302
357
361
255
292
376
342
384
327
337
237
247
342
344
403
325
349
340
311
360
312
274
206
308
302
260
275
231
233
304
272
303
355
292
287
254
312
279
311
264
317
311
298
235
333
213
310
314
376
316
340
280
402
236
272
332
268
329
291
374
274
320
268
201
329
240
367
331
248
321
315
263
266
364
290
271
326
392
251
325
300
317
340
282
354
336
258
303
329
271
366
326
312
322
265
320
236
276
226
283
194
402
277
294
330
327
383
382
320
307
283
279
327
328
320
361
328
242
308
267
340
225
337
348
299
238
278
346
265
364
318
343
250
380
339
209
347
236
373
330
283
332
381
398
312
416
295
276
340
350
275
339
305
368
388
347
287
321
244
272
304
321
278
265
268
334
259
333
314
326
316
279
343
313
363
245
290
328
346
305
318
397
282
322
208
266
242
302
302
237
313
304
379
342
342
346
231
364
257
377
399
369
289
370
296
252
331
327
309
343
300
353
326
260
348
356
335
315
336
293
336
299
317
392
284
268
292
241
246
378
297
398
342
290
277
247
321
313
331
255
282
284
417
378
385
284
344
263
309
319
325
285
381
315
323
259
341
405
314
239
372
311
350
368
374
215
260
286
233
303
285
306
297
335
312
291
283
274
362
400
331
256
274
247
303
361
342
335
353
290
332
262
271
341
283
259
282
351
327
194
284
361
238
361
247
297
315
316
352
264
317
294
342
395
248
315
339
389
174
332
317
354
388
309
268
279
293
377
362
365
201
260
297
342
265
325
325
302
330
292
342
303
331
336
329
357
312
331
315
281
297
252
306
270
375
284
291
322
285
291
354
315
380
281
303
298
351
354
338
360
264
332
358
325
242
257
175
313
318
350
319
308
260
383
280
393
330
197
290
326
220
247
375
265
340
341
263
291
266
351
407
242
359
378
329
328
291
310
276
261
294
241
298
362
269
373
299
325
335
356
318
227
317
346
308
341
320
309
392
335
183
346
297
276
383
288
308
348
339
347
322
322
420
339
331
324
303
358
353
275
356
321
255
320
241
275
349
349
231
314
363
342
386
314
317
260
334
221
309
338
328
293
354
236
250
308
344
391
413
229
392
357
303
207
382
352
297
303
242
299
332
433
463
321
375
180
326
331
281
279
286
324
227
351
276
412
338
332
354
286
314
287
317
233
333
293
263
307
304
326
281
344
417
396
293
339
328
279
270
236
193
335
308
354
336
351
276
253
270
318
296
205
259
285
331
327
285
299
367
371
296
276
338
250
320
299
288
340
282
241
288
257
286
316
305
298
243
338
313
336
354
342
338
268
250
368
336
316
374
355
272
332
273
394
291
271
334
253
306
440
292
281
293
324
358
316
297
328
244
288
308
274
236
387
340
375
285
327
267
370
346
351
332
358
328
237
284
218
260
290
277
428
274
318
281
390
369
326
364
311
315
355
313
369
377
340
316
311
329
343
261
342
271
311
355
321
285
332
364
316
308
346
320
352
276
312
313
261
333
331
364
296
260
287
356
303
328
295
310
354
317
286
354
280
315
372
306
260
323
349
393
343
357
314
326
416
242
415
318
308
262
276
322
339
258
301
419
282
366
304
328
312
273
256
414
336
265
322
352
257
341
327
326
301
275
396
307
406
297
357
254
318
323
245
334
358
320
373
338
339
330
319
297
356
310
363
292
300
368
271
259
346
397
358
400
287
303
315
326
269
342
289
313
278
347
299
366
352
367
326
277
338
302
259
316
229
301
314
324
320
284
307
328
338
342
332
271
367
257
305
252
278
246
326
299
246
308
319
303
275
312
278
331
338
313
308
356
303
359
321
326
365
329
416
307
303
343
341
330
412
403
370
300
206
267
306
371
393
370
317
314
250
214
285
331
329
369
361
383
364
336
256
331
293
349
298
317
297
339
322
396
329
367
392
349
372
390
296
297
287
289
272
331
314
236
300
274
263
328
298
327
368
297
375
231
364
299
277
391
295
279
282
347
304
376
291
361
318
263
304
393
399
272
270
357
340
371
334
297
309
368
364
259
263
307
322
280
256
323
314
291
295
313
335
330
314
295
315
281
242
296
241
302
269
300
302
318
341
371
266
349
267
317
215
260
381
256
363
382
264
394
299
225
388
330
357
305
364
287
319
286
342
357
305
325
235
297
283
293
353
292
353
308
318
366
331
339
340
348
297
343
277
300
408
320
261
379
353
359
289
346
334
278
304
294
279
328
348
332
280
354
292
364
291
366
253
389
319
291
316
318
191
381
298
287
360
208
257
263
418
270
302
348
322
291
284
286
342
249
296
415
312
295
324
353
252
339
331
405
290
292
342
383
308
265
300
346
284
325
278
294
296
283
314
332
275
352
305
299
268
394
266
231
287
293
321
332
317
240
319
202
312
317
298
243
333
328
265
345
409
306
422
391
305
350
322
299
320
332
264
360
260
289
273
325
284
213
339
337
283
346
350
207
344
274
292
360
339
344
327
287
251
283
309
345
332
343
320
323
261
287
333
256
313
348
299
356
303
337
279
367
331
331
327
350
246
255
299
265
364
251
338
336
233
222
306
408
294
276
421
257
285
365
303
291
246
311
250
283
308
401
278
275
421
294
306
260
252
370
337
320
288
261
328
353
390
406
299
337
254
276
310
354
325
386
379
285
326
367
323
392
314
248
285
321
353
363
291
249
313
383
338
295
327
313
347
333
308
289
387
324
284
255
302
370
312
232
332
308
343
408
175
293
357
264
262
272
296
267
332
327
334
293
261
330
273
331
254
372
339
391
337
270
249
319
318
395
364
252
281
354
335
326
246
252
302
279
322
334
279
360
244
328
266
220
241
327
266
321
276
359
266
342
407
334
300
299
348
413
298
256
375
372
312
289
325
378
338
293
379
283
304
297
341
386
274
181
319
340
295
346
303
341
254
384
201
381
331
297
278
287
397
335
258
280
284
330
294
335
304
397
336
329
325
300
390
366
356
293
173
364
288
287
378
254
239
339
341
345
300
281
324
346
347
329
323
340
290
338
289
273
340
359
343
288
269
332
333
331
299
398
342
357
329
342
334
316
355
287
344
314
276
367
252
365
361
251
299
302
320
253
220
312
315
317
371
273
357
331
282
288
370
294
342
359
335
323
344
311
375
233
374
295
311
411
354
325
383
344
335
388
364
226
241
236
335
358
291
276
409
298
365
316
329
247
266
334
298
208
312
272
375
355
303
315
265
315
320
294
353
325
384
351
349
293
265
327
322
309
361
327
271
315
318
229
280
320
375
300
339
296
285
355
339
297
265
343
391
329
266
329
286
300
315
309
282
330
285
280
311
444
373
264
262
346
297
320
294
259
347
333
334
279
302
297
323
301
295
278
338
375
395
281
291
283
336
319
311
329
366
312
337
336
381
304
275
289
266
306
296
274
334
356
284
305
256
297
287
359
259
319
253
258
316
344
287
389
330
263
343
242
334
353
328
314
282
350
349
298
309
312
299
355
338
272
281
254
270
380
315
357
341
358
291
344
307
340
283
375
312
293
352
311
223
404
369
228
302
306
287
315
389
375
271
385
370
296
318
276
372
304
302
332
370
360
415
299
397
278
300
262
373
329
310
274
311
358
260
356
302
327
335
316
329
237
304
254
307
275
258
318
302
307
250
213
317
234
285
330
285
280
313
339
249
339
323
308
359
339
359
230
316
317
352
293
366
229
333
216
321
206
315
328
297
323
348
335
210
328
347
355
350
359
421
381
308
347
371
253
281
289
287
313
326
246
408
383
338
337
263
326
341
241
351
287
283
307
252
287
256
292
313
328
251
298
233
333
378
285
346
392
305
316
311
357
367
335
351
314
316
268
320
323
348
303
394
353
247
298
247
266
323
372
292
339
241
308
283
274
252
373
247
360
386
304
337
288
388
311
334
334
370
317
363
304
299
350
263
242
362
232
345
269
326
429
352
252
319
337
356
332
334
329
362
348
309
369
332
341
310
389
366
348
359
275
378
244
370
269
330
267
284
235
298
294
292
271
332
322
306
362
346
198
297
349
283
314
327
355
261
343
339
360
395
291
281
356
425
326
265
347
252
358
280
284
284
376
263
337
294
322
305
293
314
289
401
360
305
277
344
357
368
222
374
362
389
264
334
267
338
324
288
227
384
371
234
349
255
286
280
329
292
197
351
429
299
273
279
394
412
327
307
347
329
385
350
216
363
325
308
384
234
397
245
279
286
322
267
333
275
309
337
346
396
385
247
270
285
267
331
260
252
296
347
308
318
246
266
353
311
312
222
340
425
237
359
352
354
306
320
226
258
362
373
366
323
378
243
360
336
290
344
328
329
246
287
311
338
237
344
293
339
299
312
366
271
220
350
397
334
335
307
256
306
280
284
342
348
302
268
272
304
312
356
270
304
295
353
334
352
301
343
343
369
342
316
358
281
277
289
373
345
400
331
285
352
258
271
287
284
334
273
311
246
332
292
302
298
321
269
301
259
224
267
240
271
318
352
278
377
268
314
366
307
242
411
384
373
341
342
267
281
402
348
307
380
347
284
333
337
224
319
279
311
315
366
379
210
310
286
303
362
302
283
334
304
411
406
335
359
283
285
355
315
360
298
282
289
345
375
341
312
364
309
261
349
323
306
316
261
332
302
331
403
277
264
382
358
408
249
288
419
318
324
199
335
352
312
356
294
321
322
377
362
344
286
333
268
293
283
158
389
330
336
385
291
300
276
286
353
227
385
324
221
300
372
313
272
182
337
331
311
346
369
279
372
303
366
383
376
343
444
429
318
357
278
316
378
404
294
212
378
359
306
375
255
304
377
269
285
314
307
344
395
372
256
283
321
332
272
395
273
387
328
354
310
346
348
421
231
290
266
334
362
326
366
355
250
362
302
315
317
350
358
343
388
440
399
283
242
358
306
349
213
347
245
314
378
299
290
376
304
399
245
329
297
311
337
301
415
237
392
333
313
323
352
357
344
351
369
329
276
332
188
205
385
272
359
286
341
347
259
355
239
308
320
347
348
299
319
294
360
274
332
319
324
314
311
229
303
349
334
230
301
350
396
268
304
288
308
220
363
351
252
371
337
364
337
373
321
268
280
277
351
307
350
328
262
232
353
336
333
302
309
333
326
399
296
391
354
268
342
290
305
256
201
349
287
345
273
379
290
350
284
274
348
279
317
356
264
330
377
417
326
366
336
331
383
232
383
265
272
345
295
300
289
318
298
293
266
316
257
346
332
235
341
253
349
287
277
320
247
334
348
283
371
146
301
261
241
256
256
350
362
361
287
324
337
311
289
350
332
323
305
251
283
336
352
306
316
276
355
332
245
390
297
308
351
308
332
359
391
337
255
357
381
334
286
361
282
319
342
334
355
299
249
283
329
260
302
260
367
308
304
393
289
289
301
428
345
341
321
306
353
294
332
311
292
265
337
343
378
272
279
364
272
296
245
265
324
306
427
318
347
265
319
351
277
339
382
294
314
262
303
293
347
368
365
321
318
277
312
376
346
214
331
291
340
274
254
316
270
242
278
263
274
342
297
317
307
291
227
317
366
319
289
341
276
286
362
351
349
253
348
234
375
319
275
334
250
369
147
423
294
362
243
324
354
289
375
301
272
343
318
355
306
315
410
270
375
291
248
305
363
373
328
319
251
265
352
275
356
329
248
202
380
367
310
330
320
323
328
404
315
315
282
266
360
342
357
369
334
366
338
290
305
322
358
330
309
306
368
358
310
300
350
328
398
284
208
286
333
379
347
360
303
237
327
366
343
247
327
259
283
246
285
320
389
286
331
352
302
352
306
353
336
351
345
285
344
235
290
283
314
302
296
360
315
325
339
371
335
269
236
220
349
257
338
255
308
377
342
313
236
277
307
351
298
214
328
262
345
390
312
341
389
292
384
329
293
275
227
326
356
321
267
354
378
289
294
313
244
376
275
352
331
298
265
307
322
368
341
320
364
315
318
281
245
342
305
317
314
345
227
315
377
304
353
324
399
246
410
330
373
312
372
317
348
341
322
299
279
268
269
345
373
316
307
364
356
359
335
323
353
270
303
319
333
362
191
342
273
293
383
354
283
317
328
298
260
335
295
365
314
302
335
344
293
262
250
312
335
300
336
325
284
280
399
353
256
219
328
321
332
321
269
260
347
362
294
328
355
343
239
264
436
266
250
244
240
383
399
309
260
300
341
340
309
250
350
273
256
349
315
363
319
297
386
286
371
298
251
314
271
283
368
354
326
332
342
284
314
256
293
329
290
310
275
351
206
398
265
269
286
316
368
395
263
332
258
282
337
232
375
334
319
281
253
308
353
332
245
306
292
255
289
240
355
352
423
340
297
279
320
294
333
262
292
273
345
301
333
277
340
304
301
323
302
348
293
343
233
224
268
334
312
307
387
286
347
291
329
356
250
339
248
303
327
314
245
352
286
328
272
362
278
352
319
248
310
300
317
282
346
284
328
360
308
337
333
228
320
248
263
423
276
340
347
315
278
235
350
319
280
332
228
363
227
280
317
309
337
332
373
306
309
270
303
326
307
349
351
351
258
278
378
334
269
319
237
371
277
348
359
215
330
336
320
293
232
272
295
361
375
333
345
319
273
229
271
363
297
349
267
309
260
300
303
348
343
293
315
305
268
325
294
279
300
211
353
301
307
292
289
362
313
303
321
255
294
278
299
297
236
335
256
335
355
312
276
197
345
329
296
298
263
288
342
331
373
245
294
329
262
281
288
278
349
269
263
360
284
327
335
377
391
305
307
365
327
380
362
323
337
379
296
346
273
314
316
248
316
348
332
262
243
332
346
336
258
252
381
242
331
249
305
310
351
347
313
272
274
384
280
288
340
262
283
330
319
353
320
269
385
320
321
336
263
343
304
329
310
371
333
367
282
322
308
328
359
369
338
362
287
359
310
345
350
412
288
332
253
366
334
296
311
252
306
370
361
306
399
294
352
389
369
300
346
367
359
344
321
271
323
332
314
317
358
330
374
307
294
270
299
331
279
316
367
285
349
367
254
312
377
330
277
377
350
256
229
327
329
329
365
371
256
347
263
313
283
356
376
412
380
304
336
290
326
345
230
299
302
311
312
383
343
294
348
345
327
301
306
346
325
436
388
335
290
300
234
333
297
405
339
327
419
356
242
333
292
283
221
329
302
245
315
225
352
318
304
290
262
215
266
325
312
420
344
273
416
327
355
299
371
219
274
326
303
320
309
301
280
369
343
279
377
348
265
277
414
388
278
298
361
342
362
345
247
241
342
306
260
356
318
275
294
318
378
236
360
337
305
296
265
292
329
413
308
339
286
359
373
260
316
315
341
249
338
360
339
366
263
224
355
321
334
282
289
371
300
374
276
298
347
280
400
327
294
343
333
299
306
278
334
257
275
317
279
358
354
341
314
312
301
348
355
307
381
353
282
312
316
292
406
240
304
280
299
385
320
361
299
350
325
324
335
320
388
285
327
285
300
337
322
345
243
302
338
341
368
308
293
245
221
255
385
254
344
318
250
360
310
290
290
277
328
330
376
347
368
285
292
373
307
353
309
350
285
364
335
289
324
269
312
288
376
349
292
351
285
304
305
324
366
278
283
299
446
283
309
305
330
382
276
300
386
351
251
421
230
289
355
315
314
352
377
287
229
386
337
276
260
397
318
295
367
326
283
320
331
302
344
374
332
273
346
327
297
346
299
283
306
326
271
333
361
337
445
393
401
323
293
365
321
338
276
250
323
313
317
340
352
356
358
405
308
271
283
323
278
245
317
275
291
374
329
366
378
276
391
341
243
248
293
427
401
355
276
308
306
320
294
311
309
362
352
369
264
286
343
301
282
347
282
306
299
367
347
280
348
244
301
320
319
303
372
310
382
259
420
320
368
302
406
297
255
321
427
334
306
218
303
298
260
320
329
305
262
282
392
382
256
288
293
310
354
326
327
348
299
343
319
280
266
332
262
299
275
376
289
385
308
219
346
415
303
295
294
237
245
363
294
264
279
341
328
253
321
319
292
366
213
228
376
367
301
384
325
216
302
312
266
322
415
343
241
345
274
261
337
256
341
362
383
309
373
328
228
313
288
285
306
358
315
336
279
309
330
245
306
387
275
352
296
304
349
323
330
265
351
293
352
341
336
282
295
405
368
283
334
307
291
407
349
360
396
345
283
313
332
338
411
315
273
288
298
259
316
262
318
323
319
367
379
383
395
257
375
244
383
353
292
392
296
259
406
313
372
345
325
212
347
346
381
365
291
274
309
228
283
377
355
273
347
310
258
316
328
363
372
344
230
231
342
199
342
272
289
288
287
374
242
257
326
333
382
326
277
284
271
300
317
231
349
359
381
343
238
271
311
318
337
184
339
393
267
353
387
343
311
347
361
362
279
361
341
286
368
293
355
350
394
372
264
280
297
319
344
311
363
330
343
243
364
356
316
300
350
333
382
286
281
210
311
284
186
329
328
385
255
301
334
340
263
341
263
342
296
339
351
213
331
379
361
228
326
259
299
275
302
361
248
357
301
328
297
263
341
317
298
279
301
244
349
384
295
264
345
231
294
273
227
318
328
232
311
266
289
301
325
307
251
360
295
359
282
358
347
226
311
258
274
359
315
276
355
254
337
320
325
397
384
321
320
324
301
292
250
331
323
331
283
295
289
309
249
353
295
274
329
344
324
347
401
294
355
330
329
209
258
315
329
300
267
302
325
255
313
369
319
364
327
339
297
292
303
339
268
212
349
229
323
326
335
354
275
344
297
346
345
329
273
326
294
271
271
329
248
360
318
372
271
230
344
372
366
339
344
371
314
328
268
333
290
242
314
364
313
341
334
333
286
265
337
377
294
320
285
337
289
322
358
319
310
363
380
267
363
286
320
274
322
303
360
429
349
294
459
338
277
295
364
345
291
315
320
296
340
240
290
342
352
326
363
308
337
257
314
401
287
293
281
253
290
353
345
352
315
341
343
296
364
356
315
306
378
301
275
362
306
328
382
362
328
307
355
312
369
414
273
316
349
367
323
304
245
221
342
361
350
318
320
342
259
282
393
270
263
282
275
290
392
275
332
257
355
342
260
355
300
272
292
410
254
366
273
305
308
332
242
350
346
341
331
293
273
351
296
323
340
282
355
284
272
348
318
225
318
329
375
289
294
343
320
386
200
281
312
214
338
344
394
380
263
364
280
313
342
330
323
319
325
366
282
356
325
338
236
344
325
320
412
333
406
339
337
364
253
345
255
255
328
315
296
372
243
308
317
261
384
308
337
315
253
356
346
354
294
349
300
302
251
324
259
293
263
345
263
295
367
308
238
418
296
300
291
312
361
263
323
296
355
307
287
240
358
284
368
343
291
311
313
336
312
346
312
340
229
267
266
234
259
309
279
399
270
342
358
283
355
306
355
322
318
376
242
371
273
310
297
346
355
334
291
365
303
424
391
235
328
277
325
311
327
324
324
346
260
333
232
236
351
318
422
329
325
318
321
238
268
353
269
323
237
328
313
376
309
359
348
224
395
271
367
339
323
382
377
331
287
346
334
315
289
409
333
347
358
377
340
263
324
363
308
362
346
280
259
271
343
341
348
344
350
271
373
350
344
299
316
375
320
314
314
334
283
287
306
295
315
352
376
263
247
335
309
284
312
341
321
314
338
369
293
333
294
297
292
337
281
291
310
270
334
322
388
309
346
270
312
337
278
233
368
304
413
317
286
407
309
259
301
329
288
382
264
312
242
382
266
309
367
214
412
385
291
391
255
338
387
299
330
356
362
341
233
393
354
296
292
237
375
244
226
363
281
290
321
289
312
360
346
301
273
315
284
308
284
275
359
358
285
264
336
292
382
261
335
372
379
410
325
236
303
369
296
279
320
334
310
315
289
357
414
385
299
315
356
324
317
287
287
316
315
292
353
400
281
325
330
350
232
243
339
316
431
348
281
268
276
333
283
440
340
230
333
323
362
360
319
357
344
390
319
310
328
273
348
303
192
373
366
324
408
278
222
318
285
395
257
315
321
309
328
332
309
374
322
365
375
282
312
328
251
354
342
239
269
329
301
366
316
346
331
362
330
314
243
333
324
285
308
341
359
340
316
301
305
216
383
299
278
269
290
301
332
342
289
359
285
331
337
380
246
323
314
382
273
304
275
270
344
354
402
274
334
414
389
325
359
316
414
338
269
298
359
318
275
392
285
285
228
343
278
400
359
270
313
264
417
312
334
299
322
282
227
309
356
312
355
310
350
361
321
287
244
321
273
350
312
335
231
311
351
237
324
357
298
233
304
371
293
270
332
366
336
283
282
316
265
359
366
327
312
286
255
307
322
362
341
210
391
299
346
351
288
371
277
299
294
378
260
374
272
330
323
275
258
364
270
316
280
339
366
310
278
340
338
296
298
286
317
373
366
322
250
253
302
278
257
357
370
309
302
338
366
388
258
347
311
358
343
357
328
298
339
350
314
358
268
299
320
321
257
345
282
264
370
284
372
282
300
290
282
270
361
316
314
341
243
384
348
328
298
264
366
370
283
409
373
275
304
374
257
292
329
383
306
260
355
246
250
343
277
337
284
283
272
326
246
249
349
360
334
306
187
347
219
331
389
288
345
293
278
354
302
310
322
355
264
335
289
381
284
392
420
267
307
328
416
321
311
256
374
334
286
320
264
404
324
370
334
419
257
378
322
311
285
295
338
346
334
336
354
343
237
306
375
395
369
327
359
328
296
345
281
301
363
380
352
338
375
359
309
318
307
338
309
357
315
288
432
378
315
333
427
373
306
389
344
306
353
420
258
307
336
352
354
361
386
341
282
275
321
387
254
417
308
390
319
402
337
333
364
348
321
324
346
343
340
367
285
324
337
240
272
294
305
326
320
329
308
308
282
210
305
363
376
349
290
279
270
360
249
223
371
316
306
299
326
313
353
309
254
330
350
317
273
343
406
265
369
272
312
318
286
288
352
246
299
363
267
392
336
254
297
363
354
305
309
319
317
347
312
251
310
322
373
317
274
388
341
298
346
382
239
326
226
298
346
395
316
280
263
215
324
400
254
240
328
248
283
355
360
269
342
359
359
365
285
295
367
234
356
360
320
294
362
365
362
310
362
362
293
300
301
314
335
367
301
308
350
340
373
279
352
316
288
282
349
307
290
382
303
302
346
269
350
406
372
241
358
315
286
233
298
362
290
299
333
302
425
273
361
327
307
361
292
355
293
350
240
298
302
299
324
347
314
283
344
296
294
281
285
313
329
327
339
319
343
273
330
246
279
281
346
387
231
366
287
318
317
311
356
282
250
192
251
287
251
274
361
363
364
408
310
268
287
340
282
291
299
284
345
325
342
307
300
337
301
380
312
263
350
289
266
356
345
182
318
357
265
351
223
354
346
321
287
376
366
437
327
240
398
376
301
300
334
301
311
320
232
248
325
336
365
248
318
322
283
313
257
283
281
303
284
262
374
235
253
292
245
292
271
306
351
306
398
333
297
241
306
326
335
290
234
326
451
313
250
327
346
302
296
290
408
235
308
311
318
340
398
368
305
320
351
327
284
350
330
307
322
269
273
303
330
342
327
288
392
281
224
312
253
215
293
318
278
331
360
401
382
296
256
356
199
228
306
342
297
293
338
311
361
293
309
239
213
394
344
277
377
275
319
231
300
341
293
332
315
339
362
367
340
381
308
325
333
354
392
369
371
335
370
359
317
380
226
362
362
331
301
269
202
361
342
322
342
344
348
316
254
314
304
251
348
231
306
409
259
388
359
286
281
241
357
259
303
338
322
285
311
270
290
350
366
379
295
343
277
312
283
343
362
330
314
312
282
275
276
305
376
353
326
370
343
304
282
202
373
243
358
403
323
361
259
289
271
330
367
334
365
319
248
327
368
320
310
184
350
200
232
301
276
269
285
267
239
350
380
299
307
296
286
309
256
291
307
316
304
271
306
308
255
352
277
316
368
344
291
381
350
284
316
263
336
375
199
367
338
307
278
274
343
342
359
339
246
254
245
372
386
353
348
356
256
295
374
314
339
347
290
353
326
350
273
382
345
320
337
313
223
321
281
268
346
350
275
254
363
280
306
302
322
277
237
296
336
300
343
319
362
286
338
271
271
332
336
350
306
287
376
343
304
351
272
371
279
310
314
292
278
320
286
308
312
336
327
326
352
357
344
339
314
290
263
379
245
377
356
290
347
353
253
314
338
385
295
261
322
267
328
253
346
260
306
337
341
339
410
262
227
226
273
304
303
259
288
351
265
337
409
309
274
364
414
297
263
300
245
344
290
329
158
259
326
299
357
350
306
364
351
308
352
372
237
344
385
275
297
321
326
423
302
287
311
230
360
362
387
326
331
270
296
306
297
302
330
221
354
326
290
385
279
327
289
363
345
351
355
292
283
306
360
279
254
341
233
368
252
331
273
265
299
206
274
326
360
366
334
311
328
348
307
308
241
373
327
357
281
309
323
249
326
247
382
338
378
317
321
378
306
380
192
325
329
394
283
250
332
287
323
405
340
378
306
234
261
341
388
320
378
293
274
272
194
271
281
336
301
326
309
374
304
347
406
377
289
347
392
259
312
357
243
338
325
328
390
391
282
251
360
351
325
319
353
229
310
352
275
367
293
316
278
353
293
311
373
292
331
276
350
300
260
349
342
326
348
291
308
266
312
294
266
292
331
281
321
321
305
265
244
357
281
359
309
328
291
230
340
278
280
348
405
300
233
346
314
384
276
335
274
283
237
320
291
358
381
353
354
255
236
262
286
311
359
313
318
282
299
205
369
323
276
262
309
340
240
253
333
344
304
392
263
324
401
376
322
360
313
391
357
317
336
321
317
207
336
355
358
294
291
305
326
254
337
373
297
202
239
377
354
310
268
257
303
301
286
278
260
353
212
332
323
374
289
347
323
221
339
251
364
395
387
310
372
350
257
383
326
310
391
323
384
378
314
360
382
308
275
257
304
296
283
310
300
220
321
374
270
326
294
296
332
335
348
251
393
291
386
396
349
362
302
281
365
274
362
281
259
413
334
356
318
240
321
283
317
341
308
331
308
334
313
249
348
261
355
306
300
230
274
299
377
291
308
339
298
328
223
351
305
360
363
269
323
368
354
288
294
321
308
259
405
368
292
366
321
309
338
203
387
317
243
347
301
306
331
327
325
319
331
243
327
385
385
307
380
357
304
254
363
286
238
328
326
406
350
343
275
406
366
254
268
337
352
395
347
277
356
266
394
286
346
341
304
319
278
318
328
336
285
369
230
361
260
377
360
182
347
217
301
251
318
257
322
313
394
350
351
382
302
310
331
333
244
258
343
324
331
235
297
363
329
421
355
266
262
320
336
363
311
345
284
331
289
297
295
356
297
342
348
291
242
356
352
337
371
373
279
310
255
347
297
271
297
341
341
337
345
348
317
240
315
358
301
305
341
385
298
310
356
263
290
227
353
317
285
330
337
286
373
247
365
326
277
383
288
365
338
406
289
376
347
328
295
275
334
302
336
325
298
328
288
446
336
414
321
404
303
377
308
277
288
332
361
306
388
316
314
333
347
268
275
317
321
262
293
392
329
323
371
296
322
330
367
283
309
323
278
294
319
290
354
314
252
285
332
217
319
292
349
375
185
342
319
337
319
267
356
270
346
336
413
320
325
323
335
369
351
292
272
241
234
243
352
252
406
371
292
293
260
262
311
321
267
333
302
323
315
347
344
283
293
252
273
346
324
413
231
363
301
376
366
320
291
226
314
290
357
269
259
276
280
292
337
339
304
275
301
264
266
306
232
265
387
335
276
361
346
353
259
377
346
283
306
376
300
312
332
340
287
315
349
253
325
339
281
305
304
383
312
357
306
228
359
325
326
307
287
277
285
367
358
325
329
335
229
348
427
346
312
351
247
350
446
312
329
332
234
250
309
317
296
361
332
325
215
276
279
383
340
376
261
376
305
293
309
422
322
427
309
290
360
385
302
332
384
265
339
354
386
325
341
306
271
335
361
286
294
391
285
281
324
268
330
292
272
269
360
359
376
301
265
262
341
317
352
323
353
298
356
250
278
350
399
327
350
295
284
250
340
309
299
291
251
373
329
294
312
370
296
212
318
320
325
321
256
380
359
270
248
285
289
395
348
294
328
351
335
352
322
308
312
288
380
308
376
368
308
293
386
269
319
281
346
345
310
322
279
385
316
340
360
230
287
260
284
350
297
376
301
332
318
317
316
303
280
312
234
269
305
340
272
298
348
330
282
260
290
338
293
329
319
369
313
324
290
326
300
331
411
357
324
341
267
345
355
361
302
324
348
278
361
267
298
312
288
314
239
316
296
382
277
377
307
316
423
277
363
325
311
304
255
321
313
284
340
293
280
253
327
317
330
281
342
307
385
295
361
281
293
320
307
304
332
314
323
303
338
340
257
310
316
339
299
307
270
307
306
261
374
327
299
309
346
369
258
267
342
276
284
349
267
353
410
288
225
332
340
326
356
359
373
266
235
302
346
315
387
311
316
290
286
307
349
295
273
389
293
284
277
385
293
206
313
242
317
344
303
290
309
430
361
313
284
362
314
317
318
344
323
272
303
248
407
341
385
264
348
362
322
340
324
338
337
371
249
354
318
341
445
267
347
354
311
334
260
275
280
349
262
368
269
306
333
343
355
269
314
252
295
324
310
293
255
325
292
316
290
274
351
261
326
262
367
313
387
276
340
278
295
269
306
275
346
318
307
244
343
332
348
263
322
239
321
327
250
281
249
293
313
315
366
352
245
429
287
313
416
365
273
380
321
346
336
331
324
340
287
360
251
294
328
281
317
300
289
310
327
372
320
285
284
325
358
338
262
294
365
331
349
324
349
337
388
313
354
316
318
280
349
397
342
319
290
280
284
274
254
316
344
315
345
356
317
277
294
319
351
234
323
289
296
342
351
259
291
301
381
229
316
299
283
255
346
312
363
343
212
296
267
268
308
298
327
327
172
244
366
334
265
254
285
264
305
308
352
381
311
409
327
374
329
234
432
379
348
305
336
275
309
289
290
329
281
369
363
310
329
271
304
310
255
291
276
275
220
286
351
210
151
272
348
282
318
275
387
223
365
302
307
323
314
292
358
332
246
405
393
310
301
289
351
251
307
278
322
391
306
349
301
312
289
373
280
291
335
295
241
329
326
330
317
287
263
380
352
318
290
292
313
329
290
279
298
376
342
442
332
286
338
359
315
297
362
323
303
238
315
307
314
318
286
249
329
309
394
336
349
346
370
330
361
366
261
283
296
324
303
343
303
323
330
329
318
234
361
322
348
255
351
280
358
400
331
343
301
327
397
303
357
346
313
279
300
268
296
325
330
216
352
332
271
307
270
306
307
290
276
274
342
302
295
329
322
310
384
297
312
338
354
335
351
294
301
330
392
327
362
333
241
248
269
262
248
306
266
366
288
258
270
363
361
289
239
330
333
332
234
395
297
257
328
266
216
264
329
292
331
307
381
319
393
229
347
347
353
257
311
367
281
246
301
343
317
318
281
356
369
296
266
305
360
261
295
398
409
272
308
275
221
331
340
289
379
337
283
313
309
347
290
299
282
372
316
285
360
273
374
239
335
304
246
342
302
274
268
336
324
318
279
342
377
358
393
385
330
339
285
326
350
345
282
327
263
357
357
337
216
360
280
299
316
347
386
312
325
239
347
293
335
223
290
384
280
369
279
369
371
310
323
337
275
347
333
296
333
272
314
370
371
282
317
240
260
416
376
298
342
242
328
302
341
369
345
371
335
306
344
299
339
311
382
312
251
291
327
313
280
406
309
360
330
346
251
252
330
380
338
275
305
281
307
276
350
318
213
376
349
340
333
345
241
397
314
340
331
330
336
381
310
343
360
349
333
331
227
332
258
307
272
367
343
409
389
236
389
405
301
304
269
274
359
340
380
291
377
417
328
349
324
245
391
270
303
315
270
192
293
267
233
323
376
349
306
298
246
316
257
255
279
308
268
287
234
375
353
371
238
259
316
346
344
340
376
311
302
322
334
270
278
409
255
233
333
391
368
234
282
302
254
283
301
294
295
271
284
488
260
349
345
375
356
304
333
324
278
413
294
401
293
394
279
400
331
282
251
318
274
228
234
273
387
305
292
305
300
373
329
330
361
318
276
275
288
272
297
288
367
272
296
334
350
284
324
400
311
387
332
240
332
268
334
263
335
342
275
286
326
246
330
307
337
270
289
299
295
372
384
313
355
256
326
233
282
292
309
250
343
265
323
307
321
320
215
292
219
305
278
341
253
320
366
294
290
292
226
290
343
318
271
308
245
303
245
372
372
354
303
359
336
318
320
283
292
329
323
404
340
308
364
297
309
264
339
317
293
312
337
317
278
303
282
344
374
361
343
279
335
301
274
299
315
331
304
354
311
327
299
400
345
317
317
324
332
346
370
290
284
258
281
375
412
244
341
308
293
309
278
338
308
298
314
359
305
346
320
336
314
379
358
400
304
324
292
357
435
289
303
213
355
319
400
327
240
327
297
322
329
266
232
319
303
344
332
280
298
377
271
230
318
300
353
282
287
303
332
331
308
336
229
299
363
282
326
349
415
408
372
292
287
272
312
210
366
323
374
343
196
341
299
375
249
374
367
324
252
393
270
337
192
296
313
323
310
329
321
245
200
341
325
289
336
353
332
318
334
332
232
316
313
369
359
305
357
344
384
310
331
262
335
322
233
257
304
257
335
398
274
344
284
239
306
307
303
363
278
306
405
199
311
283
318
326
328
297
300
339
320
333
266
313
374
346
319
240
300
369
267
377
317
365
339
252
316
327
331
339
408
258
334
312
358
267
238
329
365
399
370
325
307
265
304
397
259
254
367
306
353
263
327
263
306
352
271
285
277
307
333
155
268
268
303
371
336
354
286
294
286
217
335
226
301
252
347
315
267
212
326
258
355
409
272
349
332
314
297
271
319
268
352
273
306
306
327
214
469
349
269
336
340
331
369
272
322
281
374
309
357
273
296
307
336
272
369
256
372
296
297
220
264
381
296
318
332
280
404
309
219
379
329
317
292
279
309
333
365
315
325
327
300
424
248
232
357
283
336
391
300
316
362
300
381
350
359
313
285
279
324
342
376
331
312
228
358
266
300
287
249
298
331
372
297
313
256
243
256
255
330
336
291
354
317
333
241
333
385
380
311
350
325
363
391
355
288
279
232
272
346
251
293
317
365
335
228
313
409
290
336
332
381
293
379
327
368
289
282
252
354
376
295
248
279
275
319
331
290
272
373
388
317
308
360
321
281
362
313
334
364
348
327
260
274
321
297
302
359
276
364
253
226
262
308
301
214
278
343
316
336
408
310
316
318
313
313
343
338
317
280
221
277
312
318
234
302
270
338
355
328
301
334
356
382
346
356
323
352
311
224
359
231
358
301
372
336
279
227
293
332
297
268
298
251
342
275
325
336
252
340
339
302
273
373
292
303
382
314
281
312
299
354
346
375
269
349
325
418
348
286
378
319
313
327
266
243
346
369
265
264
216
297
279
345
264
303
321
298
346
289
283
415
393
392
283
233
322
219
261
359
362
370
253
254
268
310
370
290
250
265
322
314
314
280
360
237
326
336
306
282
242
361
277
318
267
301
335
357
300
279
290
334
346
312
316
311
320
348
217
291
283
272
273
221
260
292
285
280
339
356
373
212
353
301
283
331
391
287
356
287
342
210
323
274
259
336
250
325
280
339
339
298
319
370
295
311
276
352
378
329
269
293
311
312
235
306
353
287
322
334
302
263
335
371
321
370
214
316
325
278
313
285
254
351
291
319
342
269
365
373
292
349
289
255
353
337
368
271
323
302
288
321
256
388
237
294
264
218
289
297
380
266
256
319
361
334
212
301
344
315
374
319
367
370
335
323
321
344
304
327
347
334
367
281
314
337
261
303
268
261
294
300
344
303
289
302
307
317
324
291
365
312
328
291
385
323
427
282
355
286
231
373
294
264
359
329
348
387
306
261
336
298
329
389
327
322
247
310
331
337
334
430
391
191
296
328
387
399
321
329
365
336
281
281
302
350
302
280
277
330
320
283
329
302
342
330
252
270
255
319
407
330
353
235
248
384
316
378
347
321
317
329
286
280
380
275
361
288
264
354
401
374
290
270
284
321
342
304
424
353
330
370
224
370
310
308
367
322
354
306
306
306
233
334
321
322
341
237
294
336
327
311
317
341
325
316
263
269
248
235
359
320
203
320
252
295
401
365
341
270
259
238
292
324
280
370
322
328
327
258
332
231
271
337
329
401
291
324
331
295
226
265
380
314
343
224
275
380
262
373
298
231
349
311
293
322
324
289
306
393
328
348
372
346
281
381
344
273
296
305
229
307
344
380
265
252
316
265
367
284
341
291
288
333
255
315
307
317
293
302
325
400
321
317
252
275
276
347
389
276
224
315
354
284
271
224
309
337
259
285
306
306
272
348
303
362
320
364
289
287
341
309
226
395
265
250
340
273
362
305
269
324
318
282
280
385
337
363
344
308
359
317
400
371
218
416
196
283
387
345
312
317
254
256
345
229
290
338
313
304
304
305
359
278
324
293
299
374
288
286
265
262
369
285
293
383
367
249
266
286
282
271
339
368
310
314
310
329
270
350
398
404
199
396
279
277
336
273
334
306
343
343
381
361
324
301
369
276
286
271
398
261
261
352
352
259
375
266
350
275
380
326
299
298
365
301
321
273
381
300
301
289
250
345
344
321
352
304
299
307
284
217
295
341
400
347
274
319
303
375
324
281
312
308
367
244
353
290
327
383
283
293
348
297
291
360
277
334
288
316
225
272
318
314
333
374
287
327
313
255
326
346
268
302
256
307
215
348
278
345
354
318
260
275
303
305
228
316
416
285
285
382
284
377
322
374
270
375
352
379
274
375
259
336
370
247
267
367
388
449
308
343
319
308
349
326
354
340
405
324
332
376
293
316
313
318
329
327
280
294
280
346
310
268
278
343
352
283
323
354
396
274
331
296
337
325
294
234
265
283
323
381
397
254
226
316
428
253
294
397
314
271
350
261
287
355
305
230
396
324
391
248
326
379
393
282
334
384
310
279
335
288
319
352
320
313
298
233
323
307
257
271
334
299
369
301
255
368
308
286
332
357
293
216
369
306
386
366
350
363
287
317
304
267
322
296
313
253
289
252
340
329
247
251
338
272
287
287
280
376
270
264
223
385
288
468
303
235
268
272
256
228
306
321
236
339
261
303
252
331
357
257
317
383
297
255
350
337
243
327
306
306
290
274
249
371
306
345
198
350
331
299
307
249
346
245
326
273
311
287
334
285
331
351
249
352
366
337
286
320
356
281
317
281
225
337
300
269
282
323
333
392
277
329
292
266
307
293
373
292
328
287
369
298
358
284
346
356
280
418
325
346
286
325
335
297
350
413
213
347
353
287
382
352
275
272
417
279
339
326
390
311
287
296
316
438
310
319
313
304
258
355
387
375
255
379
293
341
355
287
321
305
396
331
259
297
222
357
324
274
366
288
352
352
351
348
295
356
281
359
310
411
392
264
347
271
311
331
345
345
339
338
270
205
331
306
287
344
252
260
319
335
245
322
388
308
240
327
351
269
284
240
292
298
322
291
358
289
287
335
312
266
327
352
348
297
312
291
316
249
305
318
290
347
296
356
324
283
304
358
350
282
232
285
353
297
334
284
319
277
299
326
343
350
309
333
294
297
357
356
345
350
224
340
250
322
314
299
339
384
345
340
244
329
261
289
288
280
287
293
280
286
197
337
352
276
333
343
361
320
315
282
311
376
358
328
342
350
299
316
316
291
319
247
345
308
334
297
309
226
297
276
334
387
331
311
317
240
250
345
356
307
286
357
296
338
370
378
346
252
320
244
265
274
324
396
308
261
332
315
228
335
247
352
319
302
302
287
310
345
376
315
353
275
319
281
372
338
361
388
388
426
340
262
351
390
288
313
320
314
247
280
317
408
252
395
265
386
262
332
249
338
345
333
343
355
308
360
245
297
343
308
370
397
333
373
305
319
295
350
282
311
383
264
311
344
240
305
200
338
273
325
222
305
277
324
260
331
331
332
328
310
335
333
371
354
300
276
332
255
244
350
240
268
261
309
322
275
380
295
319
373
287
321
319
312
302
333
340
328
245
307
239
321
290
317
336
315
386
214
342
286
338
355
303
308
277
363
359
262
308
343
342
249
335
285
338
221
303
296
353
378
351
260
348
329
286
326
288
324
236
375
341
404
382
299
251
303
301
345
346
333
307
307
347
404
390
236
310
325
256
314
362
292
325
340
271
378
305
278
303
328
217
395
323
265
346
249
227
350
293
266
273
359
381
413
262
323
283
344
394
340
357
386
279
292
266
409
327
360
333
377
297
318
344
349
366
343
352
322
329
292
397
370
323
372
325
313
408
284
336
361
318
261
308
336
346
363
318
338
371
302
311
331
336
323
289
373
297
240
253
244
322
342
239
298
270
337
294
282
270
301
290
234
376
291
254
347
418
332
329
283
338
311
324
331
330
317
335
365
319
333
343
332
289
310
279
231
245
289
296
354
295
286
293
236
263
351
342
383
337
211
373
301
299
350
296
304
308
240
246
281
316
293
363
259
214
303
309
375
367
299
317
344
313
325
329
258
251
269
359
342
287
351
370
353
348
267
369
311
271
313
299
361
253
325
337
306
255
360
305
334
313
342
258
329
323
237
268
323
380
349
400
343
278
312
308
361
349
231
292
350
255
353
285
361
267
358
284
287
356
390
226
406
402
327
310
350
315
337
319
323
275
332
329
338
313
389
346
309
292
262
293
378
246
289
365
354
362
347
319
238
280
287
244
340
277
295
289
305
315
267
298
382
248
373
307
301
334
319
341
336
339
267
278
234
356
282
297
280
221
367
264
371
356
270
302
273
263
317
364
302
247
292
226
340
301
364
280
345
289
340
338
336
264
328
279
254
303
303
289
210
248
235
306
244
302
265
310
317
221
278
288
381
327
274
362
312
296
282
344
247
295
345
323
262
280
339
329
344
404
270
385
323
416
365
338
361
341
270
360
396
302
276
283
318
315
254
251
316
363
333
315
370
403
228
341
279
378
357
319
269
363
254
393
319
344
250
383
268
325
383
313
334
295
300
278
324
439
378
364
368
376
317
285
347
308
300
294
352
309
316
256
349
290
188
401
266
303
320
355
378
300
376
231
345
338
298
310
288
260
382
348
320
338
304
300
401
369
326
306
373
285
312
312
356
330
328
335
300
298
302
269
280
403
309
276
288
335
295
352
218
305
336
324
294
293
317
257
322
412
277
300
282
253
309
320
249
245
318
281
303
325
358
316
244
298
328
246
446
394
267
285
387
306
352
250
387
302
278
337
290
381
326
319
324
310
275
328
346
278
303
366
354
393
350
235
280
271
299
234
287
361
412
247
265
344
395
280
190
361
366
373
303
330
310
264
328
352
330
298
350
283
322
398
355
285
241
275
278
329
242
309
288
262
242
295
263
360
283
298
306
243
334
265
261
271
265
239
360
352
280
391
275
336
278
259
391
332
314
260
258
357
286
305
301
322
306
307
349
342
339
292
340
354
330
273
408
357
319
299
268
336
297
321
247
290
422
222
279
307
268
284
345
342
347
293
322
271
352
362
358
279
300
290
282
293
258
323
274
302
281
376
340
383
153
417
288
296
309
351
347
337
377
368
283
304
375
273
347
289
297
283
352
354
315
308
272
301
273
372
355
263
282
265
237
360
320
364
386
374
283
323
367
386
376
285
400
252
341
274
248
227
350
251
337
328
250
289
191
244
385
330
328
251
381
369
340
358
351
361
278
267
354
351
336
236
356
204
344
280
250
364
310
208
297
257
267
294
297
362
269
283
311
342
282
402
302
312
305
291
246
356
251
321
282
320
295
261
285
320
287
365
340
242
287
395
299
252
271
316
312
317
293
314
316
420
345
355
273
297
293
290
304
370
353
280
173
332
339
310
310
306
277
339
299
291
246
368
223
290
379
254
354
379
305
320
397
324
290
296
248
260
284
318
323
368
270
376
396
265
189
285
300
380
304
348
324
388
306
300
310
286
346
393
292
234
303
380
340
325
233
329
322
294
325
261
327
322
234
303
399
306
345
380
275
341
280
308
258
285
278
357
359
279
259
372
393
265
337
246
229
247
285
347
261
338
362
280
338
343
322
365
274
303
334
340
378
318
249
371
244
330
342
333
315
295
343
357
356
374
280
294
317
330
344
258
302
352
309
348
253
335
366
339
259
366
242
241
279
343
300
285
307
302
295
312
361
398
301
340
377
322
327
311
330
253
274
301
317
315
322
349
325
290
353
382
254
316
417
308
274
335
319
371
370
382
307
185
296
365
378
334
240
362
311
326
397
340
299
371
330
332
296
170
163
310
341
312
309
243
334
377
255
325
333
308
331
350
282
346
278
376
275
353
325
269
289
285
332
236
270
337
325
299
295
269
366
306
260
267
225
330
389
309
388
305
370
266
354
345
300
260
354
278
271
374
341
244
318
336
291
325
343
408
269
343
451
358
268
316
385
336
408
259
278
322
370
223
323
350
396
343
330
318
337
320
278
350
362
331
324
344
273
288
363
328
373
336
357
331
358
221
343
288
359
301
324
349
357
286
344
283
331
320
361
331
329
255
313
359
365
343
341
375
320
336
266
348
316
341
312
331
337
359
359
380
318
274
395
320
332
298
288
277
328
288
257
338
317
261
308
322
364
238
337
262
321
396
300
309
350
310
362
246
258
332
399
276
367
327
313
351
312
336
289
271
334
353
232
293
279
263
269
320
305
203
315
321
304
373
394
288
377
261
242
315
346
269
294
351
330
398
360
335
190
382
297
220
321
333
349
362
280
298
318
316
310
335
317
315
280
253
257
401
293
315
336
315
226
345
382
344
308
386
320
321
364
275
336
281
280
314
410
298
273
425
233
344
330
355
301
259
253
317
365
309
360
358
285
343
355
343
335
314
298
318
380
276
352
268
264
349
322
308
297
336
280
321
363
397
261
378
222
320
268
302
284
201
231
291
325
293
323
368
346
261
279
242
338
268
286
292
341
309
279
271
316
363
372
344
278
302
303
372
351
332
309
388
345
315
310
351
366
292
270
350
371
275
321
340
308
410
217
301
336
278
299
304
270
344
263
275
326
325
371
239
304
340
315
334
324
384
227
236
342
257
404
353
315
323
301
322
300
349
368
312
319
293
327
362
261
340
305
314
273
273
260
317
302
315
251
367
430
326
389
327
308
296
263
267
359
243
324
334
404
349
319
342
327
360
258
330
261
305
312
354
367
312
331
219
313
287
278
298
269
406
355
232
272
218
315
393
272
352
363
344
363
310
274
239
322
240
355
304
355
279
299
362
336
313
366
242
374
198
297
314
265
289
325
290
286
406
302
284
311
299
350
363
313
332
279
322
276
310
325
307
346
303
323
341
270
341
310
302
218
381
319
252
304
274
360
377
266
385
292
312
347
308
282
375
231
325
414
234
303
263
348
311
449
327
379
355
363
297
293
332
267
376
292
276
341
306
316
257
317
236
290
346
346
336
371
342
297
356
296
273
286
303
332
327
260
299
296
398
301
317
379
372
274
346
351
345
339
328
387
342
287
274
307
322
310
279
334
332
299
291
358
267
384
302
399
270
307
272
334
343
345
252
342
338
252
273
369
333
300
346
216
361
373
317
342
370
278
322
317
310
311
232
220
399
290
288
230
340
275
325
290
387
367
237
356
352
413
312
276
332
329
334
354
308
294
426
337
277
225
377
281
322
261
270
264
319
334
352
364
236
281
251
347
325
308
302
360
303
354
348
364
305
269
286
319
315
299
272
328
309
286
234
322
331
405
269
304
360
232
247
335
298
254
332
292
318
341
345
286
340
267
254
328
344
234
312
364
341
345
321
346
282
346
285
307
343
350
315
295
205
291
300
280
252
296
296
328
221
210
324
355
343
305
314
287
382
340
251
395
305
292
293
325
357
333
311
381
335
276
382
230
309
366
365
325
237
331
285
262
272
282
399
342
356
308
327
324
250
406
383
265
347
272
245
301
292
317
236
353
331
295
252
357
341
306
321
363
366
275
334
320
352
334
273
366
395
251
264
273
334
373
341
373
278
365
234
333
312
374
258
290
291
315
316
333
270
379
385
269
404
291
321
374
288
356
331
291
357
286
189
376
298
239
353
345
300
357
336
266
351
336
358
307
341
261
316
337
296
322
342
335
324
293
359
270
276
373
297
309
373
356
324
359
279
361
358
394
346
326
266
359
310
313
287
322
356
239
297
353
276
379
345
362
270
314
331
378
168
215
278
348
247
265
284
353
284
332
250
238
328
367
301
253
226
275
293
271
301
256
376
320
370
258
279
332
285
340
315
351
295
340
395
289
285
395
344
199
340
348
300
341
369
344
346
350
283
308
288
320
320
288
347
250
312
299
340
354
352
296
190
327
384
272
254
369
266
314
342
281
225
300
293
307
301
376
276
320
329
354
258
264
310
314
287
409
296
267
372
304
367
243
327
297
300
349
355
276
239
372
321
348
222
277
275
262
233
346
235
232
311
309
342
258
412
299
300
305
295
372
468
349
406
275
409
268
318
256
297
338
314
347
326
295
393
323
339
388
379
301
285
327
385
384
318
371
347
384
284
305
260
219
319
310
393
267
280
321
346
336
290
343
379
326
301
318
375
273
278
287
285
321
360
218
349
349
284
340
289
326
350
332
335
305
186
325
336
279
338
287
258
330
326
337
296
395
268
248
364
311
347
390
314
310
324
364
378
261
359
284
328
301
375
246
372
264
262
338
371
327
300
256
373
307
342
234
347
343
356
343
324
260
319
347
303
326
392
182
250
285
412
337
245
218
392
187
300
291
350
350
283
273
326
328
320
213
409
310
394
276
263
271
420
296
351
312
318
386
331
322
270
342
251
396
295
299
369
272
323
314
287
368
329
383
399
255
299
193
332
367
318
352
293
333
332
251
386
302
325
320
320
294
308
292
330
429
331
310
279
329
327
315
342
341
318
341
294
385
346
298
293
373
349
330
381
331
293
220
320
221
268
298
313
359
303
298
373
263
327
338
377
275
331
344
293
375
257
270
205
311
332
333
337
315
316
300
283
247
273
279
229
264
295
403
294
305
328
303
363
333
331
325
346
352
342
333
330
333
311
222
288
293
375
310
391
303
332
292
316
350
374
324
299
332
293
288
307
285
347
291
302
308
288
278
276
261
350
379
325
291
386
352
284
328
306
263
283
347
303
276
285
203
392
330
290
316
314
245
281
309
314
345
318
317
354
312
306
347
221
284
388
338
356
365
318
318
271
316
389
319
348
263
299
252
328
347
239
295
347
332
259
254
336
271
238
322
332
251
309
381
305
243
280
246
349
282
299
303
301
321
359
222
337
223
221
331
367
302
322
367
291
304
375
351
177
262
294
252
253
279
299
353
315
272
355
287
272
324
283
339
221
309
281
432
420
267
309
380
393
264
393
274
301
349
291
383
332
311
253
318
274
307
266
341
251
356
252
305
332
319
313
279
283
350
295
288
263
292
315
371
330
317
304
324
346
342
272
380
355
288
333
337
296
329
362
345
388
256
331
323
364
372
341
306
338
234
322
326
337
330
278
286
274
327
346
297
286
301
330
342
390
283
362
319
265
307
380
373
271
308
345
328
316
307
283
344
328
288
243
396
308
308
276
350
343
333
305
369
395
389
348
321
216
379
312
289
339
263
233
367
248
299
336
360
338
275
364
334
319
299
340
315
285
257
348
333
325
320
337
259
337
302
325
347
252
303
306
331
366
311
299
344
277
297
307
387
324
352
329
213
318
335
294
413
320
287
359
246
278
267
241
317
324
306
406
345
305
337
307
393
253
254
320
272
208
332
361
359
322
344
338
305
334
396
349
325
296
361
349
314
320
334
298
299
310
257
317
311
277
286
237
275
262
251
327
326
315
382
257
443
282
316
319
336
232
363
313
214
274
295
366
334
249
302
429
199
373
311
246
332
325
265
249
339
251
349
291
327
291
314
324
336
274
255
267
402
263
263
271
342
312
289
263
320
265
220
294
311
352
230
314
391
270
283
349
324
245
290
304
367
280
274
360
226
354
236
409
297
303
280
330
306
309
310
395
317
285
308
364
377
384
352
286
250
249
237
372
311
210
323
310
286
344
321
334
213
263
326
334
379
262
353
329
377
331
325
320
409
345
291
261
447
369
407
254
318
326
313
288
401
352
393
362
382
297
310
397
380
279
282
348
303
325
392
326
257
233
324
306
427
297
299
361
249
347
400
256
363
310
315
304
297
385
366
395
302
331
320
345
302
348
292
251
297
386
376
225
215
359
305
305
360
290
290
366
337
293
333
295
292
356
357
371
257
366
265
314
311
286
356
286
219
302
293
285
347
306
325
191
372
352
256
271
332
282
311
302
410
254
333
342
246
312
334
290
348
303
365
374
201
350
318
285
383
230
343
250
243
295
342
350
292
349
421
335
319
303
236
382
276
294
286
360
363
235
341
274
296
319
378
349
293
363
348
288
352
353
281
324
284
317
261
335
280
274
310
340
232
279
329
336
362
287
283
304
285
346
279
347
419
271
262
261
280
356
345
268
340
325
289
257
306
328
275
319
307
301
279
288
221
294
331
346
262
294
354
312
334
366
330
370
330
338
259
355
291
345
350
332
332
310
275
275
356
340
247
302
338
243
336
290
227
341
277
258
343
320
278
278
249
267
235
257
336
357
356
300
314
213
283
262
370
343
286
276
319
319
375
327
297
270
240
258
285
309
315
327
366
282
235
313
274
270
352
327
338
336
355
282
261
342
295
297
328
288
365
411
363
354
226
320
286
289
249
344
277
292
379
329
319
228
276
376
330
245
381
377
227
277
366
275
269
315
342
338
377
310
367
264
310
314
310
281
327
340
342
358
289
269
374
323
292
325
337
340
397
273
277
324
186
271
301
261
314
305
299
359
268
293
252
340
313
234
263
324
383
284
309
291
293
348
321
360
405
376
368
269
285
361
318
336
369
359
264
281
240
326
235
306
323
335
330
295
346
342
291
166
371
382
373
297
395
362
274
357
329
231
399
319
275
276
281
382
269
373
334
354
266
315
233
277
315
299
260
353
338
338
263
315
303
298
364
331
292
347
288
283
317
272
315
393
349
285
285
283
390
264
279
348
351
329
262
308
278
254
318
318
382
275
352
290
313
335
335
255
378
350
292
282
330
334
295
311
333
329
314
315
304
308
248
321
314
261
291
249
318
309
365
350
328
290
243
347
329
247
257
272
275
322
382
292
340
289
382
315
304
250
365
330
367
330
250
263
283
266
217
342
317
302
319
334
347
281
326
371
333
361
257
321
317
328
397
323
227
296
222
294
284
288
373
349
375
325
325
310
325
313
300
331
302
330
311
298
314
274
306
338
338
309
343
360
248
277
333
361
304
329
349
346
284
376
265
294
312
277
321
361
316
232
327
310
294
269
336
334
327
328
366
288
251
278
298
340
291
244
364
237
313
245
266
278
358
395
301
231
307
244
328
298
308
239
336
268
309
354
313
374
289
270
309
329
335
268
336
297
276
333
403
225
295
353
306
320
245
380
299
348
332
301
207
269
354
294
372
297
315
337
263
354
285
365
258
276
306
265
282
240
288
388
314
342
335
317
337
288
315
338
259
288
343
308
355
308
319
296
333
352
343
320
192
434
329
269
325
343
310
261
322
314
317
251
323
340
407
340
271
276
388
301
325
373
324
293
359
354
325
333
277
320
274
337
336
318
272
347
376
291
289
397
291
254
394
253
253
356
348
368
289
292
315
339
308
226
396
400
235
235
257
284
304
346
215
297
254
329
374
383
309
322
325
288
309
267
338
276
251
309
423
266
376
358
319
328
251
323
252
297
282
281
309
340
343
314
390
261
358
379
294
316
334
314
315
368
283
224
377
377
336
319
337
299
283
289
311
301
223
318
370
322
377
330
376
305
300
407
351
362
323
369
288
311
276
296
373
263
317
345
287
276
292
246
260
306
288
324
278
356
269
291
346
353
268
353
386
362
356
289
368
386
296
356
333
328
354
221
308
225
324
291
312
327
329
326
395
252
377
326
350
300
427
300
343
283
256
387
293
334
272
299
317
283
267
345
264
253
358
291
333
355
310
296
331
267
285
237
294
313
345
323
248
330
414
258
276
347
357
375
366
278
344
260
300
297
360
404
333
370
337
380
286
265
314
327
343
281
223
344
341
319
335
344
323
337
387
311
380
265
314
327
380
429
327
352
311
311
355
337
370
285
298
367
324
326
311
340
282
354
371
336
313
299
345
292
340
306
271
330
394
329
346
351
345
409
269
322
304
370
378
213
280
314
308
325
257
324
387
284
356
302
314
341
308
357
289
317
336
385
369
320
270
354
237
372
313
279
386
369
299
337
342
317
338
320
301
307
376
353
311
234
367
297
271
332
278
271
258
338
324
262
388
352
341
321
318
297
361
290
334
341
303
247
301
240
288
379
343
374
324
311
310
335
261
299
300
228
317
315
307
267
283
333
338
366
325
283
323
325
299
290
368
312
362
287
307
288
315
278
300
360
284
274
304
301
363
297
418
309
324
335
344
266
339
367
341
319
377
311
323
281
325
347
389
298
283
343
330
334
330
298
240
319
344
271
294
420
420
300
432
355
251
302
321
328
324
349
270
317
314
245
304
243
295
334
349
186
334
407
281
360
339
336
255
242
316
350
337
307
349
409
311
271
350
281
349
239
263
342
298
290
288
322
263
218
307
295
229
289
343
330
230
310
416
365
335
258
347
309
257
291
283
252
343
290
320
323
265
233
283
256
277
281
339
256
382
385
343
296
312
365
324
330
365
363
339
316
353
215
258
351
251
397
318
312
253
267
310
293
355
352
303
293
328
301
277
353
253
300
306
317
273
273
319
215
317
238
317
390
376
267
330
310
264
337
316
321
273
309
267
368
296
279
341
338
394
317
272
278
333
277
308
364
324
373
288
277
339
323
287
325
286
395
357
326
298
310
212
322
326
214
310
350
362
279
309
326
292
235
269
386
373
283
213
278
312
336
341
316
330
284
287
347
328
312
334
355
298
347
362
230
318
319
316
358
256
324
329
372
341
291
301
347
292
280
280
402
224
283
285
297
415
379
399
309
382
254
278
393
345
339
318
287
328
394
348
249
235
269
330
313
282
234
314
333
317
320
176
366
260
390
352
246
276
339
292
337
332
350
286
300
340
295
301
274
433
339
336
283
291
340
262
303
392
302
302
306
302
276
316
281
332
329
394
315
302
355
313
228
313
297
321
245
373
272
284
266
351
395
364
216
448
358
271
256
302
345
318
302
345
344
264
294
293
330
251
306
262
344
332
289
326
285
329
316
364
280
291
325
365
307
323
291
214
327
213
367
303
338
337
339
405
360
266
205
356
372
396
339
400
304
266
398
317
317
283
292
346
358
330
326
317
292
372
312
346
308
338
350
274
296
303
368
234
332
432
238
296
395
298
389
400
326
345
355
349
266
328
386
326
276
381
310
309
346
284
369
278
291
306
335
288
333
258
238
223
368
247
290
317
299
369
334
330
299
241
377
335
382
264
316
360
323
362
301
249
227
249
254
258
203
293
356
264
426
285
308
317
361
406
325
326
263
369
395
316
270
326
256
346
312
315
361
334
286
202
332
319
342
289
269
335
314
377
300
380
288
356
384
353
293
304
308
286
283
252
313
314
338
269
256
333
377
333
324
301
384
273
302
266
269
334
296
319
349
356
383
317
278
374
377
366
365
309
392
261
291
281
308
287
244
233
287
374
319
252
292
357
251
299
310
283
343
399
240
345
260
269
315
365
326
309
321
302
349
256
300
362
346
231
330
297
356
286
301
294
339
342
299
346
279
167
313
330
346
265
388
279
336
311
362
265
235
321
314
259
266
307
278
304
294
305
289
286
310
300
310
258
352
353
325
298
213
315
299
353
375
352
401
422
286
282
296
384
299
321
268
306
346
330
303
292
369
345
399
307
304
313
270
334
293
339
361
315
313
284
320
371
254
272
326
327
345
321
257
309
343
350
247
324
306
274
340
282
244
358
344
324
397
316
187
289
267
385
349
333
275
254
328
290
251
335
357
265
315
279
271
301
369
253
291
321
372
283
305
330
368
278
270
293
339
337
361
367
262
279
361
242
356
393
273
370
355
301
290
336
302
331
338
311
242
340
267
247
294
317
325
273
217
326
322
311
341
264
391
373
362
217
351
309
287
366
343
302
379
308
366
320
288
307
262
309
320
229
310
292
401
268
347
316
309
322
324
273
289
285
331
326
371
292
333
401
363
373
352
274
295
304
333
328
287
387
310
290
296
426
323
288
293
268
325
320
175
327
247
248
351
303
316
308
345
345
389
434
278
287
295
272
272
209
254
356
345
336
364
328
294
352
305
249
290
356
293
191
337
354
278
281
297
389
355
305
240
301
275
330
262
345
319
334
257
295
316
271
302
336
405
340
304
365
332
379
329
255
283
344
353
260
340
276
268
328
340
362
238
320
368
232
335
357
354
361
296
353
278
272
251
342
340
335
256
348
245
296
306
250
316
423
347
322
373
328
337
363
329
244
259
254
339
381
261
294
217
300
356
269
342
289
367
331
253
252
370
273
370
278
385
316
319
305
352
387
346
351
349
335
262
373
316
409
309
326
308
316
264
336
196
268
319
344
322
410
378
347
326
295
330
283
260
311
284
355
233
333
277
253
269
280
358
285
341
362
343
379
377
394
360
338
309
291
265
231
336
325
308
305
341
314
344
376
280
307
372
270
216
272
358
340
409
268
316
265
361
298
273
313
381
319
366
231
270
321
215
374
342
309
322
299
365
257
377
284
318
252
289
355
295
321
290
277
245
248
341
419
207
327
355
294
250
313
410
322
322
320
274
311
341
367
335
313
338
327
366
256
348
386
317
306
309
350
301
330
300
246
333
275
325
254
294
355
328
344
217
331
217
323
286
311
316
278
187
293
225
274
278
326
306
276
296
212
359
324
366
272
278
130
352
305
350
337
374
278
273
287
283
284
329
306
270
357
289
415
330
319
331
337
289
309
247
320
415
338
365
357
254
362
295
312
330
297
292
343
322
321
294
327
330
324
301
301
334
325
288
340
342
322
361
326
362
293
321
308
300
359
273
271
373
302
388
238
378
240
341
335
302
284
319
333
348
288
309
365
305
311
228
334
346
327
398
371
311
358
322
341
295
322
325
317
268
271
350
369
359
321
327
424
355
379
305
246
308
287
224
316
293
274
279
349
248
374
338
295
294
277
283
306
413
315
285
266
241
305
293
286
418
365
320
375
331
340
220
222
327
322
349
333
388
291
272
280
364
284
397
407
290
265
387
250
303
364
299
346
299
175
242
402
299
266
283
357
326
379
336
328
290
282
278
262
345
351
300
402
292
298
290
287
461
348
275
351
317
417
320
330
376
302
360
330
362
312
286
351
245
356
274
333
338
351
319
245
438
336
344
306
323
361
309
390
328
315
272
244
271
330
295
391
343
296
295
317
237
410
348
271
295
255
318
292
241
330
373
294
374
314
236
362
330
372
298
331
300
260
337
307
249
385
327
276
315
354
343
309
366
327
376
375
367
228
407
213
379
281
317
252
350
273
322
308
339
319
318
334
319
305
275
319
284
381
336
348
321
357
311
353
274
317
328
247
298
401
347
315
338
312
374
280
371
367
375
312
345
332
323
261
306
241
298
286
373
281
296
367
338
354
362
334
350
312
308
398
327
290
289
391
297
294
417
370
382
370
332
297
346
323
411
306
373
309
270
236
353
312
336
348
373
280
294
313
329
277
386
316
284
336
343
352
297
263
352
351
349
283
331
345
356
228
256
351
277
227
262
290
306
387
296
409
346
358
255
353
384
408
388
259
355
301
360
280
265
289
312
369
300
366
297
334
273
367
229
349
291
291
312
259
353
339
269
279
319
289
304
361
331
309
330
234
308
293
354
268
279
363
329
292
251
284
288
225
341
244
410
309
390
341
334
370
272
379
195
293
372
257
338
371
318
288
381
347
276
336
368
291
285
300
238
244
356
302
387
397
228
306
269
179
371
188
320
324
305
294
308
324
296
280
293
298
321
314
320
421
278
284
290
297
339
232
348
291
332
351
375
382
268
312
366
314
320
300
360
275
281
341
344
241
338
291
302
272
297
378
256
297
317
287
278
307
356
282
314
219
371
356
253
250
238
294
332
303
310
364
287
341
264
371
355
290
319
339
313
369
365
337
313
359
310
337
326
323
282
388
300
294
350
373
275
352
280
371
336
273
316
318
372
297
336
227
309
288
194
341
328
421
304
376
273
309
266
298
357
386
289
223
351
330
355
301
251
270
289
321
257
335
330
348
306
332
279
316
302
390
336
361
330
282
352
234
354
277
337
280
332
209
319
326
366
317
357
291
376
388
336
341
392
234
382
345
298
372
304
343
372
260
310
283
277
206
329
261
320
327
402
358
251
362
332
322
299
361
396
361
248
289
270
322
322
330
308
350
335
243
272
440
398
300
320
321
283
265
364
321
318
221
309
300
345
295
279
276
301
260
298
318
290
306
327
359
389
257
246
336
248
365
286
247
331
357
296
261
358
312
322
361
359
362
327
306
310
345
299
287
314
287
324
365
267
297
366
317
252
284
300
281
199
326
290
329
302
235
327
415
312
347
342
331
333
323
369
333
338
373
391
334
368
350
312
291
336
368
412
310
279
276
291
359
330
313
308
311
354
301
343
311
291
300
327
348
334
346
284
240
375
284
361
328
241
328
327
419
402
333
313
359
333
373
309
375
325
285
327
301
344
341
313
389
347
300
321
383
312
315
231
284
288
322
365
356
310
310
322
353
317
313
371
267
349
289
286
327
261
264
328
324
319
379
311
317
287
334
361
303
318
303
266
375
296
354
321
317
292
338
268
253
355
372
371
375
237
384
305
371
292
352
317
265
299
257
300
324
322
317
349
233
328
206
271
322
294
365
369
338
298
306
394
340
322
326
327
244
320
306
316
380
301
348
236
284
351
349
310
222
346
348
248
363
362
290
369
318
335
292
318
253
296
287
330
286
345
297
391
365
315
332
279
336
311
282
322
267
234
267
377
262
360
433
322
307
298
288
301
316
269
303
336
300
335
295
319
338
346
306
312
341
217
308
208
351
331
316
343
312
299
291
310
259
322
413
322
311
237
370
340
370
274
349
317
278
294
318
357
322
302
399
281
311
239
315
302
441
324
229
331
351
354
282
236
340
305
253
300
270
375
260
369
359
278
306
306
323
256
329
361
316
320
281
291
407
318
271
324
369
364
214
263
293
328
277
329
358
315
292
337
326
360
370
310
348
345
261
310
303
354
342
376
341
281
346
237
357
361
252
376
358
266
392
329
346
353
342
340
326
220
264
329
313
326
284
319
316
335
334
313
317
292
376
275
308
346
326
274
215
362
344
323
298
265
244
235
208
306
310
294
264
349
384
372
369
358
326
327
261
267
273
347
314
309
338
261
269
278
365
327
343
340
313
267
244
335
233
326
294
303
347
374
337
307
341
235
311
336
259
317
324
361
348
244
414
373
304
239
355
339
348
292
318
286
352
366
405
369
360
296
291
321
271
373
292
277
314
300
323
344
374
268
478
324
286
346
287
311
324
351
381
356
336
354
250
247
310
342
372
379
383
211
286
356
306
332
400
317
295
370
350
386
253
346
375
204
301
317
242
318
180
270
297
325
311
299
216
344
278
226
315
330
303
298
281
299
276
300
333
301
288
335
352
207
377
374
337
362
306
293
347
252
311
390
359
353
280
300
324
295
252
313
298
262
316
272
331
297
334
368
281
307
354
386
266
365
309
278
255
348
259
289
298
332
388
353
291
312
343
309
272
346
285
261
336
290
359
286
270
321
259
308
302
336
377
334
291
275
273
294
372
321
356
320
200
310
345
321
296
371
334
256
297
357
346
345
386
280
319
325
371
397
395
355
280
296
314
344
348
204
337
372
267
288
303
341
312
254
297
389
259
409
336
317
319
396
309
287
204
354
326
386
387
364
336
338
302
310
280
319
359
338
368
329
258
340
377
300
361
364
250
455
348
351
284
320
250
365
233
253
259
317
297
257
307
315
266
341
392
317
414
335
272
369
349
308
259
310
285
287
298
316
270
318
270
310
307
290
340
282
281
323
319
379
363
328
368
289
360
277
372
185
283
230
312
322
373
336
238
292
340
344
362
349
294
313
404
273
311
295
358
377
293
315
316
283
210
374
330
237
267
352
304
197
377
293
317
260
321
313
316
272
234
262
273
311
270
423
344
360
238
323
344
372
266
310
297
308
331
327
313
397
387
312
389
308
283
391
272
264
289
298
293
296
347
354
387
274
263
377
326
347
364
325
323
354
291
261
305
369
343
331
362
325
338
321
296
284
296
230
344
205
345
418
346
375
343
246
218
377
354
314
401
274
320
324
367
323
348
300
275
337
295
312
349
327
349
332
215
316
238
303
365
324
270
294
297
388
349
334
306
289
313
332
325
335
271
287
338
331
297
268
353
353
281
308
254
353
309
385
395
415
369
342
338
332
244
288
380
385
372
353
293
271
286
338
345
298
324
256
266
302
267
263
352
355
286
356
359
363
309
357
255
292
261
305
292
284
358
358
323
356
272
409
283
316
271
234
360
322
295
284
336
316
325
287
294
273
340
321
350
322
367
297
360
286
280
385
306
368
289
294
279
277
385
262
305
367
318
305
352
263
336
267
322
380
301
314
368
283
359
314
246
331
300
402
335
255
288
376
317
269
303
230
334
386
318
257
231
370
292
344
305
364
233
313
377
273
301
333
321
312
361
393
308
256
229
352
427
238
405
394
385
316
255
290
309
307
390
320
294
398
308
305
292
270
370
293
348
258
296
342
271
292
298
384
285
365
342
289
295
249
427
249
288
358
317
324
271
385
314
316
389
318
365
381
378
268
323
334
300
439
375
297
291
349
256
358
372
345
226
330
370
229
319
369
301
301
217
311
356
300
374
273
295
318
362
300
289
355
338
261
251
277
334
278
306
285
258
305
339
294
386
255
250
324
337
392
306
371
366
338
382
320
378
301
233
315
272
383
367
311
320
243
329
247
263
279
300
377
399
369
369
362
377
353
278
375
371
255
339
277
333
313
350
309
320
368
309
338
238
300
258
207
332
248
281
330
347
344
311
464
285
204
315
307
262
366
348
317
306
346
348
311
359
314
347
321
309
321
256
344
339
251
264
296
310
300
357
350
249
241
297
302
327
395
306
327
290
389
280
303
249
256
369
328
294
367
315
403
296
280
260
382
368
300
311
321
349
324
323
339
349
299
414
228
306
310
306
240
383
331
342
361
314
306
348
349
360
310
343
344
350
368
324
312
307
322
336
332
266
351
322
363
219
367
375
313
339
314
237
342
308
327
383
306
382
246
343
375
293
315
320
403
372
318
261
296
418
365
293
240
287
198
278
294
301
322
333
362
293
340
246
284
324
268
408
395
355
356
360
315
312
285
316
266
350
307
317
318
347
324
351
289
360
321
314
341
250
286
289
279
346
275
315
255
293
384
263
330
287
282
357
354
387
322
346
255
377
286
265
346
332
310
306
393
297
368
364
335
330
362
327
305
377
281
289
295
264
277
283
336
239
361
304
313
295
352
268
285
330
374
352
265
293
287
300
348
335
355
309
277
307
290
334
267
381
312
366
261
407
376
327
321
365
309
358
276
378
339
274
287
371
283
326
290
318
242
353
318
349
332
291
275
343
322
299
234
325
359
302
381
303
312
270
351
399
243
386
292
289
369
322
257
250
266
303
291
358
330
296
311
311
274
344
275
305
356
325
332
363
310
398
310
398
340
266
370
256
340
305
284
266
341
301
342
271
183
360
302
344
326
385
320
344
288
333
293
269
390
402
295
383
302
270
257
365
339
392
326
340
311
282
289
309
280
349
350
320
388
284
350
227
309
314
364
285
235
337
338
303
330
381
296
310
302
362
339
376
353
356
312
318
308
258
300
341
279
377
343
325
339
325
253
302
362
351
282
291
269
335
271
307
279
396
320
327
317
285
329
330
350
412
265
316
333
258
286
443
274
355
336
261
296
347
269
262
304
285
307
438
273
319
376
410
312
333
334
322
274
304
395
237
348
299
311
359
334
319
403
354
307
311
349
271
248
289
345
276
299
253
314
258
294
295
319
312
249
358
246
349
360
380
286
304
301
350
401
373
285
375
317
328
411
326
288
257
283
300
319
250
304
358
297
376
323
312
322
238
343
297
306
279
318
316
344
252
277
265
309
323
427
219
307
313
344
289
364
300
313
253
324
361
354
322
246
329
233
279
300
288
276
267
314
314
351
322
260
302
324
381
341
284
282
299
246
325
347
310
321
289
336
247
323
293
280
275
217
209
359
293
315
272
277
359
334
421
291
316
206
291
370
304
369
267
260
328
268
340
333
283
268
307
249
294
336
291
299
317
334
367
225
343
351
259
286
317
363
285
314
330
305
322
294
368
382
324
271
269
305
360
303
323
275
276
351
229
330
321
335
321
278
316
350
346
409
236
266
359
348
310
254
313
348
326
253
338
386
281
393
285
354
411
281
256
286
321
311
302
285
256
335
283
322
465
319
314
305
284
293
319
346
305
317
324
291
282
321
267
327
267
309
274
266
299
235
257
370
284
379
292
358
285
399
357
307
239
308
296
372
212
292
264
424
396
363
410
409
271
212
242
303
378
415
355
295
290
313
337
367
397
247
254
276
300
326
276
290
366
276
254
298
285
303
389
319
267
362
364
321
333
305
331
271
375
227
365
354
364
354
223
331
295
286
327
302
270
333
315
281
275
324
270
372
363
326
325
317
372
197
327
306
411
375
273
291
313
270
340
307
329
276
242
326
356
366
331
317
323
274
212
332
260
335
387
369
391
324
294
325
320
362
309
312
329
262
344
343
306
285
355
371
265
367
275
269
326
349
214
426
328
316
262
366
306
336
293
238
350
306
230
326
261
332
318
329
303
315
295
365
269
294
342
335
204
286
340
272
264
322
291
328
300
332
253
261
293
338
285
330
234
258
329
301
295
323
317
252
305
349
399
351
400
225
324
402
387
394
308
347
335
266
328
257
379
281
333
430
287
320
312
261
287
282
245
444
340
333
343
282
294
395
354
289
383
307
344
375
307
347
421
333
287
269
411
276
319
385
290
346
249
304
337
309
381
316
354
379
324
324
337
302
347
337
305
272
328
338
376
329
308
232
238
267
296
343
397
321
271
327
329
342
298
265
299
263
279
339
313
310
335
263
323
305
261
263
345
261
293
298
350
359
282
312
351
334
305
303
317
282
331
282
310
349
319
221
309
274
314
346
340
377
268
318
358
372
240
256
354
382
299
295
374
371
366
324
328
336
335
334
332
328
395
256
297
326
337
343
301
374
302
306
282
390
403
398
340
292
289
308
281
294
363
249
218
343
369
372
318
369
300
406
271
320
333
270
352
354
233
212
411
353
329
319
331
297
247
322
341
343
318
418
387
326
315
261
380
386
331
421
254
200
303
195
359
229
368
362
345
319
345
414
380
302
338
250
280
356
226
247
263
326
324
350
319
318
337
296
331
261
311
337
332
339
322
307
324
295
251
284
381
253
303
298
232
369
189
242
307
324
349
372
299
326
322
339
346
353
318
370
297
359
282
342
259
343
340
261
277
237
255
355
280
332
292
383
296
371
332
269
283
319
343
376
213
360
277
290
327
279
271
304
292
235
277
323
323
282
320
374
312
300
331
236
303
279
398
360
291
307
306
322
236
383
358
288
299
306
361
289
298
272
280
308
383
375
280
331
302
378
348
308
352
248
422
305
343
325
270
223
310
312
315
364
378
304
288
303
235
273
299
335
244
396
269
298
269
303
277
400
385
336
324
320
370
244
260
286
338
234
345
355
292
334
344
341
404
303
274
342
371
386
354
343
274
354
266
290
372
345
338
228
245
306
329
364
276
388
240
309
213
388
393
344
325
294
276
329
323
336
304
286
356
307
327
310
343
297
336
202
347
297
346
284
221
359
329
257
392
383
310
341
355
328
272
381
297
299
340
260
276
205
260
303
307
286
279
337
326
334
286
327
306
307
335
325
342
354
345
312
391
222
323
387
344
242
284
259
319
370
393
389
295
313
323
262
277
310
433
399
352
340
330
350
322
291
341
363
322
328
328
334
233
339
353
369
346
278
340
280
275
308
367
328
341
365
399
209
279
285
402
335
326
308
258
272
283
378
318
336
385
318
269
377
307
351
343
323
263
327
340
337
390
367
330
410
282
312
313
329
339
315
332
272
334
340
318
340
251
327
294
256
310
266
390
244
208
285
313
244
299
398
275
342
308
314
278
317
342
406
286
367
369
278
351
198
198
330
408
245
300
357
385
258
271
363
230
320
352
318
327
308
234
268
379
258
281
355
355
344
330
298
223
401
327
274
389
285
278
344
298
282
373
332
344
386
342
302
345
344
330
338
312
316
271
278
393
333
288
398
252
299
291
342
347
272
355
286
328
337
357
352
318
270
343
302
389
298
310
338
225
363
285
381
315
285
252
300
381
353
292
310
263
317
311
326
353
336
354
420
351
321
339
279
383
302
337
337
244
336
296
297
351
274
321
338
263
307
226
370
308
241
246
352
316
291
345
263
283
286
358
300
313
287
297
318
325
421
313
276
252
388
300
365
210
318
294
233
360
403
347
273
249
336
333
255
212
305
294
276
358
331
345
224
337
306
354
276
257
410
308
348
194
364
326
293
395
202
323
343
329
259
269
269
308
355
399
351
325
356
336
304
377
313
432
361
234
380
295
367
269
333
308
263
326
389
214
329
301
298
290
281
274
376
359
279
326
288
369
336
310
242
339
403
362
338
376
337
374
343
277
303
350
246
357
315
421
362
317
280
291
285
272
290
295
344
235
226
335
328
343
288
345
350
360
235
313
274
309
361
311
188
367
258
302
292
278
316
328
308
306
314
342
322
308
337
312
257
384
316
312
307
353
353
310
289
343
352
310
293
254
369
364
341
236
329
323
331
362
306
347
246
247
397
216
387
281
377
348
283
309
326
314
281
267
361
180
364
278
268
265
299
257
309
290
298
437
293
338
342
279
348
304
292
302
270
370
250
243
349
197
356
326
353
367
231
315
294
350
287
303
314
261
224
332
334
360
301
356
272
348
348
274
302
365
307
352
247
330
282
355
323
325
327
364
379
342
259
354
277
372
408
301
274
328
350
182
331
330
262
370
343
389
291
275
345
255
333
289
351
289
326
376
289
309
334
307
340
324
322
277
418
314
336
312
315
379
326
255
385
275
270
317
349
358
350
286
294
185
346
414
364
300
339
268
188
371
313
251
316
328
306
321
368
232
311
327
306
315
338
306
302
192
350
256
330
279
383
316
365
397
320
420
304
353
246
368
289
332
298
277
323
321
277
300
391
280
280
247
281
308
302
261
237
273
240
384
345
396
348
278
399
326
292
304
298
362
276
322
428
359
312
312
345
261
387
341
423
266
387
374
390
260
362
354
337
265
317
352
340
390
326
315
270
328
313
290
319
294
265
285
353
322
397
297
272
248
244
302
323
345
283
308
324
375
355
301
360
358
291
344
250
339
249
286
237
347
354
286
346
300
269
263
345
291
347
298
336
323
315
356
292
232
323
304
335
242
319
352
262
275
381
341
304
349
276
246
321
223
224
399
318
350
339
334
372
325
293
318
387
257
353
353
303
280
344
284
322
290
274
309
393
372
357
297
352
287
303
293
272
320
245
352
240
337
295
298
356
377
325
327
264
291
266
364
316
384
358
301
375
356
287
303
372
289
415
297
251
291
300
347
354
246
376
333
300
314
361
404
351
297
306
316
308
300
325
308
300
399
316
296
262
356
264
326
386
316
364
319
244
266
223
411
314
279
364
294
330
282
274
289
328
356
286
323
375
267
304
295
353
329
264
362
303
315
298
341
346
296
373
344
316
283
324
309
267
316
241
316
387
294
287
333
252
289
344
360
389
271
309
336
287
320
258
270
343
381
259
361
287
329
318
373
365
348
319
302
297
351
374
295
336
311
327
306
230
307
362
308
267
260
225
341
342
293
338
324
338
377
322
418
272
332
358
303
338
396
320
314
295
369
316
252
336
342
286
320
344
314
279
306
290
324
322
236
255
256
303
272
362
397
239
244
306
234
318
372
245
274
270
296
306
284
244
309
373
366
371
316
282
351
328
330
272
306
348
306
293
349
375
334
307
343
309
375
351
282
315
304
356
311
333
309
247
343
301
408
311
301
303
315
312
276
328
366
316
341
340
363
342
279
336
258
329
278
335
422
250
308
325
303
298
217
268
244
383
238
336
402
385
316
386
310
321
337
356
342
320
375
253
315
233
273
298
289
338
373
275
356
301
365
315
272
294
337
386
366
307
312
265
292
224
262
377
236
267
354
363
276
312
326
348
291
299
320
271
368
303
313
306
335
220
337
295
311
356
254
319
324
336
381
355
296
393
304
308
265
356
277
400
349
275
398
277
395
351
306
341
290
302
379
348
301
262
264
324
325
335
344
309
258
363
340
276
387
372
226
361
307
425
254
371
295
344
305
343
331
341
361
344
265
307
360
317
235
338
334
325
281
310
303
450
219
414
315
332
373
367
362
303
341
372
350
325
344
349
305
301
310
288
289
322
261
253
331
297
322
298
264
365
334
331
310
291
283
333
337
258
349
369
313
300
355
296
318
269
327
391
336
316
236
309
286
336
323
343
373
313
391
318
290
310
300
402
274
344
353
295
292
282
317
328
330
313
315
326
231
367
291
393
269
366
323
389
279
342
309
281
310
349
340
362
283
317
243
309
241
298
267
395
336
352
283
269
379
285
352
263
393
320
289
349
359
319
321
366
230
267
292
313
334
239
337
311
314
242
322
340
312
269
368
317
309
358
309
350
387
315
333
343
339
258
294
261
335
268
382
211
322
233
266
295
353
356
326
307
327
214
263
364
223
282
304
386
328
247
349
305
282
355
364
267
320
341
317
257
346
429
262
314
326
348
319
369
374
256
327
265
324
325
360
289
350
324
266
379
311
323
302
325
347
358
317
288
341
356
308
290
328
294
308
316
248
309
312
359
308
287
404
337
323
308
310
366
420
301
305
331
347
323
315
321
400
354
392
305
381
247
307
250
412
340
317
288
344
344
298
214
342
364
362
279
281
296
359
249
333
284
364
277
346
253
316
211
322
321
396
308
362
352
286
299
348
384
338
325
362
217
287
300
239
288
313
266
303
387
318
287
351
269
340
332
268
284
281
323
276
344
311
327
261
341
347
422
303
294
339
266
325
317
297
322
324
303
299
343
343
266
276
302
312
334
253
329
314
265
295
270
254
265
282
287
304
190
330
245
329
268
413
303
326
310
269
313
348
327
370
329
339
317
251
386
335
273
397
332
360
378
313
329
316
268
337
324
252
395
312
336
316
405
196
337
328
369
331
291
286
395
347
311
285
368
367
215
323
335
280
293
351
413
315
322
319
289
384
237
318
318
277
351
333
313
319
270
268
299
276
357
357
314
308
295
374
269
325
326
248
321
293
260
316
384
327
312
226
242
261
184
372
302
321
279
402
279
241
341
302
256
268
236
239
363
320
279
263
324
284
303
369
399
311
291
344
287
291
332
329
400
268
373
360
368
396
299
360
329
316
383
291
301
279
249
288
344
261
331
284
332
340
316
328
302
281
350
262
352
337
326
258
356
238
300
298
307
354
336
245
359
415
329
351
367
275
359
298
227
369
291
317
345
302
302
252
334
311
365
317
269
258
341
298
315
245
334
278
400
341
343
276
269
307
281
355
290
354
197
263
309
354
287
317
337
338
295
328
363
272
268
257
296
297
298
307
326
382
330
283
303
219
273
257
331
322
315
335
286
349
290
345
377
318
289
251
292
315
379
359
364
327
269
278
288
308
286
336
298
316
308
343
312
264
327
261
314
320
286
252
303
262
307
429
293
390
225
289
252
270
335
295
331
338
282
316
357
309
342
308
247
252
288
328
312
329
287
373
312
323
349
305
319
353
337
258
365
314
347
284
327
282
317
304
184
324
357
415
330
261
325
309
281
246
304
342
393
367
297
325
302
314
310
388
306
318
234
339
316
356
374
287
366
367
298
354
269
390
289
257
325
376
266
332
257
340
249
372
318
335
207
326
314
260
345
277
366
421
256
390
323
356
373
371
405
345
340
290
377
319
336
310
273
288
253
294
367
259
235
368
250
283
361
215
357
309
362
288
243
349
302
357
287
259
313
292
319
351
343
298
313
303
398
357
370
255
352
315
338
267
272
281
350
245
347
320
308
346
384
267
338
267
352
292
292
288
346
268
296
330
203
301
313
333
369
308
351
245
264
275
215
424
316
231
244
308
260
302
317
305
267
331
270
386
355
326
316
312
436
267
389
337
385
275
295
355
272
249
355
277
339
390
307
383
342
329
350
231
280
274
322
234
311
318
313
326
388
305
329
254
323
338
332
275
331
354
350
304
245
381
316
345
400
356
346
299
276
333
295
280
352
384
342
338
302
336
317
389
285
357
323
323
235
300
241
201
303
354
355
390
282
330
340
288
320
283
276
317
334
343
408
340
365
234
346
364
259
310
369
209
295
292
376
307
289
248
305
298
193
311
351
375
376
324
301
383
321
384
315
253
338
377
281
356
247
301
367
297
330
298
239
295
330
311
286
311
358
252
297
284
317
371
316
237
329
293
374
278
262
322
268
318
396
276
280
357
334
319
382
278
343
281
269
347
296
279
305
367
350
309
369
251
376
296
365
317
298
160
308
273
342
373
325
376
264
352
333
306
264
293
329
251
347
322
326
415
304
184
330
307
292
314
355
352
281
356
282
286
279
259
281
305
305
358
334
304
276
309
275
351
373
299
327
316
270
350
353
379
319
257
243
332
341
321
234
356
328
400
376
338
217
356
355
270
378
316
314
270
291
292
364
281
284
313
303
414
349
220
307
322
361
275
322
295
326
370
318
317
335
309
328
350
269
233
356
360
226
327
373
300
308
316
360
381
318
288
296
336
291
253
321
332
311
259
236
359
273
318
311
304
290
254
241
345
343
347
326
353
303
349
376
289
304
353
317
348
283
278
385
356
355
278
323
338
359
338
311
306
375
298
301
243
260
334
378
291
375
330
290
408
299
326
266
350
259
353
333
238
354
308
300
270
362
284
277
368
332
279
337
348
229
275
368
335
305
348
317
285
267
319
321
344
279
325
330
311
314
262
303
402
336
328
256
358
372
394
232
304
264
336
318
319
316
324
311
331
354
359
354
231
304
341
365
340
361
309
334
276
367
376
333
306
273
302
274
323
270
303
265
331
275
345
359
351
371
242
365
344
322
272
288
376
326
251
330
265
380
408
375
372
301
318
233
320
430
255
292
362
252
337
339
402
330
326
334
338
313
275
294
318
292
297
302
234
280
343
292
279
256
309
267
277
189
315
327
348
328
324
284
311
414
287
308
318
308
326
331
383
270
283
356
341
264
247
231
269
282
377
362
225
291
300
248
336
264
341
315
352
374
273
378
285
320
351
331
313
270
318
324
367
391
309
378
341
283
278
310
329
282
371
312
316
311
363
392
348
256
271
400
365
358
330
347
282
294
282
204
279
285
444
319
304
267
274
369
335
244
351
360
283
336
301
313
215
327
350
292
385
377
387
288
306
275
287
304
342
321
284
325
375
215
288
400
322
317
303
409
246
294
291
301
380
350
223
358
328
234
250
282
383
365
341
309
383
242
325
305
335
413
416
306
355
302
293
362
288
309
283
317
346
297
356
276
346
209
344
334
391
271
327
258
309
335
261
326
336
276
369
313
354
324
273
285
422
271
271
416
351
286
280
282
379
317
318
226
307
352
339
205
231
290
370
340
377
348
260
323
354
319
259
266
218
309
388
310
254
293
389
289
318
265
315
385
374
291
285
323
288
322
369
339
316
323
359
368
302
220
277
313
244
254
306
310
303
337
279
333
273
254
270
298
246
378
250
337
329
260
285
296
324
349
339
309
267
313
266
362
317
363
333
268
327
318
362
332
252
284
173
299
362
206
318
393
289
361
384
309
370
332
216
372
306
214
394
386
288
267
372
347
217
282
316
381
349
309
308
332
268
381
297
371
288
298
370
270
375
318
295
317
350
335
402
260
286
345
365
381
339
336
354
272
356
280
331
243
350
293
301
284
266
322
270
358
345
279
389
383
323
299
341
295
389
234
273
409
317
274
352
293
302
330
389
342
263
317
306
256
302
291
342
257
226
356
292
320
396
334
284
341
332
336
307
332
312
357
290
358
211
314
344
268
279
314
312
342
303
320
335
354
362
318
282
346
339
372
327
344
363
353
284
261
383
317
351
280
270
345
375
362
400
353
313
369
347
270
337
356
348
364
351
339
255
390
445
279
284
320
307
346
275
289
319
346
352
288
267
328
392
321
276
278
327
288
223
287
293
321
383
330
361
240
291
263
316
299
302
390
262
238
331
310
257
369
287
261
327
351
358
297
298
339
208
311
330
316
312
299
279
202
352
369
302
312
344
406
301
293
356
346
311
316
388
342
404
302
370
300
283
287
383
328
310
296
265
348
306
320
378
313
364
371
238
239
271
359
289
282
338
324
310
326
279
332
336
318
329
379
360
279
291
364
337
294
259
320
321
329
336
317
316
300
364
298
315
331
358
247
270
306
383
382
357
295
222
339
314
358
420
324
290
257
268
213
221
371
392
308
354
275
350
302
264
305
333
401
272
358
327
292
351
287
269
263
300
346
277
378
347
409
326
404
278
269
240
357
330
273
302
262
303
325
396
298
295
313
277
258
317
289
257
277
234
302
267
214
320
324
331
347
350
302
338
359
397
274
318
331
234
340
364
312
452
309
358
279
329
253
299
315
332
332
334
361
382
363
355
266
338
241
227
278
368
296
347
271
332
243
318
360
367
363
328
350
316
327
341
354
336
351
331
349
325
414
267
384
247
363
258
393
390
273
202
294
357
275
433
315
290
249
350
293
315
332
319
305
331
336
333
326
272
332
318
284
284
323
401
336
364
305
331
367
342
344
318
332
287
293
239
358
308
317
359
223
277
200
291
346
317
350
304
247
307
364
315
321
373
350
269
292
284
332
313
349
341
264
300
244
333
408
226
317
284
400
296
399
280
228
261
358
310
284
350
417
351
308
274
338
249
338
337
284
303
349
272
319
335
343
305
282
276
245
407
315
306
346
339
392
348
282
305
313
368
333
384
315
304
387
342
408
353
362
319
345
280
354
266
353
346
225
240
325
206
286
320
385
350
329
300
332
375
300
358
356
369
283
282
325
292
397
303
289
288
287
298
263
248
350
311
349
247
288
355
395
336
343
292
297
361
289
271
247
369
281
352
352
292
262
209
227
341
336
282
359
232
313
339
283
316
395
312
326
211
281
353
294
325
238
288
312
348
294
333
384
347
352
298
233
317
391
297
334
268
256
318
318
233
377
274
352
180
265
333
322
393
305
300
351
329
340
306
291
305
332
218
342
365
280
345
270
301
359
229
333
258
320
415
349
402
397
245
318
378
301
294
320
299
278
257
295
299
285
286
278
315
341
279
297
254
219
272
290
214
320
285
260
256
342
284
342
259
368
373
339
351
308
344
385
375
344
319
326
308
368
360
286
232
296
345
325
289
304
323
283
278
350
401
286
358
341
248
315
285
189
385
314
295
295
325
329
308
364
326
262
267
259
327
314
329
324
355
317
280
336
336
350
265
314
304
251
333
389
311
299
291
340
371
358
336
189
312
291
313
313
377
256
327
348
236
268
370
396
309
365
385
379
406
360
251
336
300
242
344
353
331
326
219
377
332
277
323
260
375
326
338
346
314
318
368
348
362
327
286
274
340
377
338
287
355
249
351
334
394
343
354
318
203
277
414
208
345
268
280
295
267
195
311
332
339
269
390
354
332
400
255
338
412
378
389
349
407
243
334
309
327
290
314
232
249
316
258
317
315
315
366
319
233
359
347
334
326
230
402
337
287
324
396
218
303
330
352
263
297
320
321
299
305
301
287
342
302
334
269
295
384
354
345
269
253
358
319
266
325
309
326
350
336
322
314
346
340
263
239
344
383
210
301
316
434
392
316
309
277
310
273
400
276
322
284
320
268
366
274
346
252
335
321
341
262
349
314
317
329
316
340
300
316
190
309
281
299
323
363
197
350
289
352
363
290
369
285
363
353
267
325
404
283
291
372
381
301
339
263
236
333
299
346
239
277
419
254
353
318
407
308
326
329
313
378
298
308
368
315
353
283
301
270
344
293
360
248
364
329
374
255
266
353
353
333
319
348
297
323
274
297
232
331
234
269
362
308
300
350
359
258
312
312
337
313
270
203
263
279
338
300
186
236
294
370
336
319
286
377
316
292
363
252
358
352
375
333
342
428
310
322
292
264
281
283
353
170
278
364
367
298
325
357
344
360
335
344
354
351
348
271
355
225
380
230
337
356
258
324
378
270
257
228
340
235
301
283
263
317
308
354
360
330
355
330
319
320
336
369
364
303
342
261
365
283
348
319
336
315
358
297
322
258
324
258
369
273
258
268
278
253
274
361
315
246
390
317
274
336
325
347
307
262
291
310
319
346
370
347
301
289
304
355
373
259
335
297
326
403
322
314
293
303
272
315
367
233
306
285
361
306
349
250
368
279
387
336
325
329
401
367
324
328
262
297
270
361
231
314
299
278
360
274
290
258
373
251
320
363
318
301
382
383
290
298
365
259
239
365
389
357
287
273
291
333
345
400
252
356
312
312
339
196
271
241
215
245
318
324
307
363
327
344
354
356
339
291
264
326
315
400
253
333
281
290
278
333
316
323
309
360
343
291
209
264
304
328
266
253
286
311
385
295
296
320
299
384
328
363
280
339
253
289
328
382
302
336
319
366
406
290
298
361
304
400
378
303
339
303
346
375
227
279
291
277
277
301
293
300
345
293
324
284
269
317
299
245
278
369
347
355
292
299
299
309
320
296
287
277
279
308
369
249
317
263
312
374
281
332
328
369
388
279
345
279
304
300
222
306
314
224
350
290
359
330
294
334
296
316
420
284
369
378
279
238
240
306
374
306
340
309
225
310
313
235
343
315
330
345
307
395
338
345
304
266
265
222
319
313
368
279
374
392
359
278
346
302
296
299
394
324
351
375
307
193
241
305
301
318
283
324
339
308
301
257
336
323
289
327
353
331
227
307
355
273
253
323
361
267
350
333
263
361
191
275
360
318
202
309
332
280
277
378
182
374
261
274
236
397
349
332
414
288
312
346
206
314
345
274
273
348
345
243
364
321
352
289
391
289
278
250
271
382
313
293
274
389
317
206
312
287
259
297
255
359
285
320
333
281
320
251
353
347
352
320
343
283
321
290
320
354
339
320
319
272
393
307
363
335
286
315
329
355
280
266
382
369
301
372
360
234
360
290
325
358
324
340
375
279
312
256
249
276
385
358
362
290
337
266
307
346
340
298
280
361
264
334
311
309
348
375
247
340
320
308
249
323
311
290
306
326
340
296
334
324
253
333
379
374
318
251
344
280
336
365
256
358
329
416
360
321
378
314
362
326
410
303
329
306
332
246
374
327
282
264
341
355
292
303
342
355
323
299
277
367
333
311
331
317
292
343
330
267
388
286
325
297
312
306
221
321
311
342
397
385
308
408
215
298
291
299
329
323
315
385
358
378
358
328
253
332
308
409
306
305
289
308
283
371
319
321
387
369
307
286
397
302
397
291
321
162
298
346
293
334
273
291
343
342
284
261
333
322
349
322
256
294
334
306
296
250
272
335
305
362
302
296
285
305
305
347
336
279
251
315
290
323
344
333
254
354
367
356
329
336
341
304
291
303
322
429
275
359
304
351
428
275
314
315
215
307
268
197
336
244
279
357
295
306
317
276
337
276
367
356
386
308
391
370
261
295
299
323
234
343
294
365
234
302
302
321
303
319
374
259
353
303
325
359
270
370
255
334
335
282
335
337
365
417
289
416
293
300
278
345
349
316
274
313
402
222
377
365
355
315
312
375
357
337
353
373
330
361
256
312
351
236
357
314
343
329
264
337
288
321
375
329
284
306
318
270
385
334
276
314
299
224
358
305
299
315
419
311
346
365
323
234
286
325
373
309
292
308
350
281
349
305
294
322
298
372
276
262
342
273
313
344
359
235
269
289
318
359
292
315
347
317
342
355
241
332
229
308
334
418
293
339
291
268
327
274
268
284
342
394
290
340
275
282
240
303
355
223
282
266
385
313
242
301
311
339
318
291
350
310
287
344
352
345
278
321
332
350
251
344
283
258
231
364
355
364
282
288
315
346
287
284
291
321
322
300
336
324
262
298
355
284
317
346
374
325
342
335
316
237
341
351
344
339
310
222
280
361
314
211
306
337
303
283
364
311
266
310
327
280
203
328
340
247
336
352
389
322
343
401
368
341
269
238
185
325
325
327
337
294
370
307
306
315
302
332
272
322
321
194
284
379
273
332
316
390
311
291
282
369
270
363
275
282
309
319
329
316
355
391
333
363
317
267
252
336
370
242
324
374
386
310
245
371
370
317
267
330
235
332
315
326
346
295
341
344
321
349
351
334
339
352
426
314
285
355
324
366
325
282
322
287
329
354
328
338
396
326
297
306
378
372
304
337
285
405
319
356
344
404
229
240
319
287
346
222
299
275
296
350
302
329
449
323
342
369
342
360
375
369
391
201
321
349
339
343
338
299
350
227
333
318
369
290
341
333
317
322
267
322
357
326
358
346
319
319
318
348
275
397
349
345
348
270
340
312
289
333
284
359
274
372
287
316
330
379
247
285
340
271
209
364
375
335
313
360
248
311
344
341
356
315
314
262
332
391
333
350
365
313
339
293
348
190
250
379
320
321
408
235
257
280
356
393
322
374
241
301
314
273
299
292
278
384
294
372
298
342
314
232
296
318
309
327
345
257
329
243
360
352
298
342
280
372
306
324
277
255
266
374
345
297
295
323
341
301
344
275
268
311
283
264
300
326
368
353
330
366
289
270
363
267
290
318
323
314
333
253
277
285
236
394
325
332
284
352
319
327
245
334
334
364
318
345
346
309
367
317
224
358
377
233
265
316
387
261
254
245
368
260
307
294
408
291
307
271
383
375
400
270
292
322
391
324
289
345
225
335
335
330
314
370
354
281
363
182
312
398
277
302
317
316
291
258
375
313
336
339
262
301
295
314
281
304
298
351
333
380
322
347
319
313
411
261
370
397
311
258
315
286
314
290
271
375
279
379
375
311
262
290
318
329
297
328
284
318
337
368
250
318
343
289
365
308
304
372
264
299
259
337
331
307
297
293
262
361
283
319
372
283
313
306
419
369
252
282
342
298
322
356
287
312
262
315
326
265
332
289
268
265
315
262
333
331
356
326
352
304
379
299
278
377
290
339
323
316
295
324
315
305
281
420
300
344
283
315
281
344
357
284
295
260
347
371
285
366
308
416
207
393
245
302
391
381
241
290
372
245
377
248
279
292
245
283
322
328
283
301
288
387
231
268
355
341
324
376
332
351
344
248
320
358
307
278
319
245
351
273
316
221
299
392
304
309
321
333
351
257
364
373
260
290
370
393
288
310
286
280
360
374
296
261
336
246
312
351
355
353
343
235
280
281
347
302
350
251
367
387
304
323
371
222
254
330
311
243
295
336
304
242
374
394
275
303
273
385
303
282
312
322
364
285
373
287
292
282
340
398
353
306
307
337
281
278
330
265
365
326
370
430
299
331
415
294
376
338
272
322
284
248
299
387
300
277
277
352
305
344
384
327
243
363
367
279
309
352
336
261
328
313
338
311
312
347
302
285
313
268
324
336
322
320
380
343
360
322
251
378
249
305
353
319
277
335
307
324
307
365
329
308
301
252
359
336
308
368
306
340
293
309
222
311
335
328
320
279
309
281
229
283
404
278
319
259
291
413
306
334
223
338
283
263
357
313
300
301
332
333
327
338
250
342
229
266
310
391
374
278
398
362
353
328
265
314
355
362
302
297
304
375
344
293
284
337
307
389
283
226
240
369
344
309
237
319
306
269
333
330
337
327
315
356
315
365
289
246
307
319
325
230
352
332
309
246
287
303
205
335
292
385
329
270
298
379
290
248
304
249
375
327
357
292
319
221
312
301
331
347
297
371
218
242
303
365
332
351
290
347
321
292
345
393
303
190
316
321
317
306
372
290
337
278
340
294
265
265
304
338
297
315
324
358
314
295
250
351
388
340
309
303
349
267
411
373
321
382
310
323
350
389
326
284
367
327
331
289
344
316
308
255
304
310
356
313
345
307
231
347
305
301
366
359
290
326
307
357
400
267
291
331
357
344
287
389
397
315
231
297
307
294
291
256
275
286
282
260
320
313
347
275
308
332
375
298
349
372
340
239
378
373
358
346
311
303
278
258
240
326
267
285
306
272
299
384
389
342
360
269
397
339
351
323
295
294
222
331
313
329
312
338
366
315
349
376
379
304
325
305
283
208
346
287
319
295
269
314
382
370
312
362
357
357
250
226
291
359
298
350
352
347
318
281
295
297
295
307
336
308
295
322
269
286
357
332
337
286
379
419
281
348
311
320
382
361
255
285
327
402
302
360
313
376
262
311
368
186
409
313
342
198
261
382
250
252
237
386
278
270
296
338
302
337
299
282
350
303
332
327
307
302
312
291
295
339
280
266
342
287
285
339
274
372
229
372
330
323
305
186
318
280
350
319
264
313
356
411
274
386
291
284
340
280
311
304
300
303
318
256
346
369
402
275
303
386
266
277
302
328
370
262
263
312
230
307
366
338
281
282
308
349
272
288
357
331
324
304
228
292
293
311
321
347
346
281
395
322
308
339
323
185
341
311
307
274
298
304
296
322
404
332
357
364
346
301
272
296
239
318
247
256
228
261
235
271
403
253
313
340
388
374
257
368
346
247
337
324
269
300
366
319
338
293
315
202
338
372
227
325
275
280
283
351
391
306
356
403
263
365
293
253
358
352
365
240
309
340
311
317
281
341
202
320
361
310
284
263
318
327
292
323
261
255
334
300
247
308
383
365
299
339
300
296
327
307
329
306
298
369
297
274
220
345
329
246
338
280
285
337
263
251
275
385
347
316
290
265
368
333
320
336
321
354
352
395
401
355
359
269
281
367
340
326
353
295
356
286
278
271
271
249
278
388
224
284
240
307
330
324
334
355
412
285
374
323
340
309
230
301
308
281
281
349
315
418
255
347
318
351
291
257
365
331
349
324
272
314
393
344
358
334
286
353
262
367
280
325
313
287
306
392
294
292
339
330
309
237
327
337
256
222
306
337
352
308
356
299
285
280
394
388
294
287
235
342
342
349
393
267
301
329
298
355
415
392
323
298
307
339
369
322
323
358
322
242
306
361
285
335
337
260
417
353
313
309
319
368
349
352
236
277
377
331
349
385
356
281
280
350
382
351
300
358
279
329
298
398
360
308
338
375
373
370
340
263
245
259
324
356
272
277
331
298
282
414
387
333
293
331
362
228
351
192
292
284
384
328
353
325
346
304
371
397
302
313
268
298
348
386
298
262
321
360
336
370
310
334
380
351
329
312
318
265
305
292
237
284
302
352
353
282
268
310
340
361
316
214
331
410
298
277
310
323
286
354
324
400
373
354
219
354
378
335
325
262
310
269
329
390
423
272
250
327
234
309
301
245
343
255
308
347
348
202
311
300
238
369
416
346
300
376
303
329
296
230
268
387
373
243
414
373
324
287
260
306
313
286
343
385
307
339
404
317
368
282
336
239
415
290
312
410
314
385
305
265
320
333
351
333
329
417
278
364
207
292
357
342
314
301
286
287
213
215
393
272
347
366
340
320
270
357
311
243
262
417
354
331
441
292
348
271
362
220
360
298
347
194
378
224
300
326
385
342
367
349
326
308
316
391
350
320
372
265
339
228
362
346
341
296
310
276
251
293
408
362
330
356
293
402
341
326
218
343
240
308
347
259
252
369
246
305
374
289
297
372
347
278
230
304
289
288
298
320
269
373
297
277
268
368
312
311
302
326
277
267
368
338
414
334
310
323
392
232
345
304
349
341
309
353
281
280
323
297
304
280
323
239
360
333
301
415
242
306
356
344
369
290
313
353
292
283
343
372
338
345
332
315
306
282
328
281
273
365
304
394
203
346
281
336
264
300
291
272
244
371
351
332
265
402
393
335
391
316
378
338
242
345
423
359
291
210
348
322
375
327
415
345
335
231
384
267
301
344
289
348
365
349
336
221
338
244
315
298
296
337
256
338
332
254
273
282
383
342
324
296
352
256
320
309
361
299
254
274
289
274
289
293
307
267
293
277
354
336
411
323
352
313
303
386
305
347
246
381
336
334
359
343
338
304
334
294
301
261
348
253
275
312
287
274
304
375
293
283
308
254
294
315
381
349
290
248
331
304
308
390
258
262
355
258
374
369
319
364
284
252
278
376
416
277
255
312
313
436
316
332
419
414
260
304
252
305
382
335
376
325
354
223
346
407
322
283
274
323
318
397
300
323
326
318
286
366
333
352
315
343
378
320
270
273
231
319
253
270
272
315
292
383
287
348
337
340
337
370
265
291
253
379
269
286
265
292
257
391
320
259
293
271
290
372
255
371
353
366
391
235
405
373
360
332
334
334
387
304
383
330
309
327
312
337
317
227
274
326
251
296
354
396
278
358
277
248
352
318
323
310
343
209
292
323
346
353
327
233
320
372
311
331
334
365
334
311
369
285
258
367
364
365
382
330
374
282
316
347
379
370
308
311
323
305
344
334
411
368
336
331
201
241
306
227
307
302
268
332
327
361
296
335
346
332
368
337
337
382
335
364
305
283
347
303
296
345
374
279
227
371
374
313
310
258
344
256
282
332
336
344
335
303
268
303
342
337
319
223
396
344
340
266
283
380
324
355
241
299
373
260
189
243
430
372
362
343
318
412
331
257
345
299
321
314
351
381
234
358
311
286
237
231
294
304
306
285
322
357
282
204
296
315
312
174
316
338
253
370
274
349
375
312
259
257
333
321
263
353
323
233
363
286
379
272
305
351
320
335
334
283
365
324
364
362
241
158
320
265
322
363
377
322
273
340
329
290
298
215
320
267
298
362
274
364
340
305
316
387
266
274
375
268
246
367
356
312
290
233
276
309
270
264
301
327
408
349
345
283
354
357
267
370
278
330
330
214
321
344
354
331
325
363
285
280
370
310
355
295
395
311
324
300
412
306
264
257
376
190
323
284
357
311
282
340
314
365
324
241
291
309
367
277
282
324
268
342
364
259
314
239
364
287
362
235
292
329
313
347
383
278
343
321
419
334
213
293
289
276
262
321
360
322
289
371
355
319
300
305
355
248
331
263
247
302
250
340
292
364
307
351
347
277
296
366
327
337
355
388
365
253
364
260
350
325
341
246
318
362
244
351
305
357
283
333
343
243
307
319
260
369
286
296
224
296
268
329
348
363
397
309
272
250
279
259
332
298
289
345
335
318
272
273
309
368
265
251
374
281
318
311
224
359
328
292
297
295
317
272
353
333
348
341
406
289
343
258
333
263
265
307
365
355
328
324
389
276
352
331
300
303
260
246
318
326
358
304
329
394
290
361
320
296
262
321
328
340
290
191
298
222
352
272
334
364
299
303
401
320
378
284
324
270
257
405
323
225
396
338
319
377
353
338
313
347
270
319
287
316
330
303
241
267
383
321
353
297
303
268
252
376
280
349
377
334
259
367
340
342
331
377
420
308
228
328
348
291
242
352
342
359
358
369
277
339
219
305
347
288
327
373
312
374
298
299
350
315
287
293
323
276
364
338
246
294
318
309
273
276
356
372
323
379
354
287
425
242
383
369
346
328
333
347
345
353
263
206
306
290
309
301
276
234
290
299
362
294
309
306
229
372
344
268
346
317
310
344
313
212
282
301
246
226
276
373
316
379
384
322
260
364
367
281
297
228
281
344
296
367
338
381
310
352
313
325
310
282
371
325
324
284
359
266
308
281
292
288
405
316
318
361
377
358
362
322
302
369
290
282
338
366
334
321
314
321
367
358
340
332
331
242
360
306
337
276
377
266
311
237
370
351
373
311
365
262
305
307
286
186
279
349
357
418
311
338
232
320
337
388
369
313
325
278
357
385
359
382
265
349
318
313
251
363
327
295
298
243
299
256
277
194
355
226
245
320
339
289
277
329
297
390
187
380
399
279
184
295
358
285
334
252
340
327
336
364
300
327
236
354
347
313
361
338
304
358
369
269
299
368
367
379
232
371
287
245
290
322
365
235
263
358
324
326
308
371
329
261
347
315
329
298
356
282
258
321
325
311
267
275
341
320
330
322
289
323
316
361
298
289
303
342
253
341
329
343
262
370
220
328
310
354
324
367
390
290
292
307
409
324
348
244
308
351
289
359
344
310
248
338
357
314
300
213
258
314
278
340
319
242
356
321
309
261
315
284
392
312
285
291
287
305
282
355
275
325
254
243
341
282
310
310
294
296
300
226
319
346
291
276
238
295
371
352
297
323
255
342
305
262
297
301
373
301
359
312
301
314
230
398
366
237
245
327
291
328
375
336
277
297
264
380
258
205
317
305
354
372
267
342
345
313
287
280
314
363
279
336
353
288
316
278
422
267
319
382
292
344
342
300
344
274
305
316
239
273
372
247
281
390
304
361
316
342
360
309
294
369
288
323
349
304
317
260
314
337
285
349
244
337
261
350
234
291
290
323
244
363
318
309
370
316
321
321
260
361
309
358
317
300
278
278
303
287
294
314
364
369
419
333
347
351
352
338
330
324
350
310
281
392
350
301
343
325
269
338
294
354
332
320
323
319
324
350
349
295
296
350
297
335
330
347
252
265
360
240
257
353
380
283
396
342
312
312
272
310
400
352
286
362
328
315
332
370
234
297
315
269
357
244
371
298
367
322
350
276
322
262
306
327
353
273
301
244
333
329
352
262
384
323
307
357
317
270
265
331
295
394
379
322
333
327
340
286
307
255
337
329
302
339
324
349
341
282
208
316
305
344
320
397
337
265
366
414
289
307
323
339
321
333
287
247
301
356
305
295
365
381
367
218
326
317
395
297
310
263
292
308
334
338
364
365
375
295
268
253
294
301
319
270
252
248
334
283
361
319
392
281
309
303
292
299
261
348
330
323
403
278
300
291
293
377
408
343
273
374
390
399
247
331
369
280
350
439
306
246
372
375
316
224
302
339
346
255
250
304
331
290
354
391
329
323
328
208
343
253
328
296
297
333
358
251
360
412
245
337
294
352
290
307
301
332
348
282
262
312
269
251
262
273
311
284
326
271
360
387
318
351
369
321
307
256
353
293
299
296
308
341
329
353
284
297
306
282
318
280
307
291
302
271
338
311
303
383
250
279
361
313
262
343
293
274
337
375
329
303
340
355
276
326
349
362
300
293
313
262
353
310
261
287
358
285
269
314
332
317
279
326
369
366
302
288
278
329
299
283
356
413
285
300
336
274
323
382
329
304
315
272
464
265
378
266
343
326
275
278
329
385
380
262
303
302
353
325
232
362
298
336
381
360
233
271
318
356
312
319
293
377
330
248
368
270
338
272
324
297
391
297
286
333
260
256
363
320
293
312
326
319
347
338
270
284
266
292
346
291
302
292
385
285
393
283
371
265
286
301
277
306
302
344
310
268
196
322
231
299
412
370
327
348
345
298
342
282
310
295
369
330
337
291
317
277
400
318
311
324
302
353
254
363
383
307
293
343
310
315
331
220
334
280
311
217
357
283
290
347
359
283
311
337
369
303
360
382
335
301
306
287
307
221
304
296
269
209
234
351
376
335
368
345
421
282
359
234
330
409
325
336
252
356
294
270
332
215
303
328
306
312
316
272
318
322
327
300
217
402
252
313
342
255
332
361
265
353
295
365
341
287
276
332
317
393
377
286
327
334
280
288
322
326
271
279
411
260
332
277
316
314
306
322
303
333
358
319
333
296
340
273
282
268
236
347
331
344
364
292
386
229
311
314
300
298
343
368
317
338
385
340
286
296
297
339
254
248
235
305
298
348
344
251
360
259
364
375
307
405
335
357
269
356
329
288
328
302
308
378
314
318
382
294
286
267
257
333
357
315
240
295
272
295
247
298
323
237
243
360
278
307
356
327
218
327
300
361
301
348
272
327
296
318
312
235
295
330
350
288
246
336
379
334
342
342
364
351
309
333
328
323
370
301
271
313
377
257
267
278
358
272
232
275
309
407
355
349
332
317
338
371
348
319
304
205
300
348
394
270
346
301
270
278
263
305
334
365
363
221
340
297
280
247
324
320
308
194
300
443
264
379
314
299
365
335
343
282
349
327
363
268
275
268
287
194
321
294
317
406
327
315
239
227
278
367
289
300
284
287
315
306
372
328
337
291
351
375
373
309
264
315
248
290
287
261
395
287
364
325
282
315
308
228
255
319
300
289
269
274
385
363
332
450
252
218
363
359
271
347
359
361
297
267
319
279
253
332
349
323
306
364
319
314
425
333
318
273
321
303
365
392
404
301
280
271
272
305
304
323
274
350
366
345
292
345
259
377
308
247
352
363
262
372
325
342
264
247
309
292
377
309
345
312
315
344
261
308
349
245
237
308
358
364
365
318
290
376
303
355
245
278
457
274
366
332
348
300
222
318
371
319
337
332
262
341
326
322
347
220
325
311
266
329
304
333
278
388
323
336
339
345
261
310
334
303
313
335
358
298
281
263
266
358
286
245
359
275
273
308
298
259
383
320
399
351
245
279
343
309
339
224
326
269
364
326
295
271
405
358
356
364
294
300
261
322
341
337
312
362
322
258
272
389
316
354
379
328
243
270
264
263
284
347
255
269
269
292
293
229
368
387
263
354
268
294
377
360
400
318
299
321
379
329
247
337
264
345
247
280
311
350
326
308
326
287
242
339
331
352
314
329
343
308
366
307
378
266
344
307
203
384
293
298
313
282
363
333
274
346
302
339
372
254
161
282
340
289
291
337
319
260
326
229
342
333
366
355
334
316
386
287
354
370
304
271
416
343
376
371
238
385
330
419
316
318
378
343
418
346
343
341
317
318
317
323
393
289
379
312
294
275
364
279
244
274
275
289
308
327
365
233
257
311
291
305
380
359
308
328
319
350
295
269
360
276
322
335
284
325
313
365
268
390
265
255
391
321
264
330
279
336
236
362
401
311
283
288
317
306
376
262
277
283
273
292
326
292
418
193
323
266
306
333
336
223
285
342
390
355
263
391
265
276
244
261
380
247
330
374
390
319
329
363
338
242
383
401
287
316
341
236
314
304
328
309
379
360
300
386
208
280
387
266
299
337
255
360
293
285
285
285
279
325
337
394
368
269
289
336
258
327
339
313
290
271
258
370
278
347
254
308
360
295
263
337
297
314
345
439
279
314
336
297
291
271
276
313
229
328
273
282
265
283
311
285
354
291
278
275
306
246
378
386
266
340
324
349
378
312
314
249
360
310
385
278
369
374
423
222
352
301
316
293
348
305
440
270
307
228
339
301
382
308
278
272
404
340
312
384
361
211
377
327
259
362
377
279
300
297
290
213
363
280
296
177
311
257
264
267
284
203
341
297
350
306
364
312
374
309
251
314
342
267
238
270
324
369
316
278
402
240
343
313
282
313
409
328
218
340
252
249
292
340
291
335
201
354
302
300
396
340
323
290
318
216
319
278
400
333
302
302
291
219
317
359
294
232
349
306
249
322
243
393
294
339
254
245
269
367
381
364
290
364
291
384
260
304
368
367
263
313
321
242
291
379
355
377
262
377
338
250
296
220
326
383
261
297
312
375
351
255
333
369
333
300
357
357
317
336
326
368
291
338
330
389
359
345
302
341
342
236
344
294
302
298
322
289
324
331
343
340
276
257
410
343
313
362
364
318
343
267
367
260
349
345
335
273
327
310
343
354
352
299
425
332
318
292
271
323
329
322
327
343
353
297
327
358
298
325
323
336
421
301
352
261
322
283
302
312
316
358
294
291
278
270
372
269
268
344
278
332
281
300
296
270
205
330
350
341
286
332
336
359
363
336
180
272
330
320
294
302
365
292
337
349
360
290
314
341
282
350
355
228
336
284
277
373
313
342
309
336
325
387
307
318
269
221
348
384
249
340
321
325
297
374
345
335
329
282
311
334
283
260
306
290
302
328
238
345
260
281
323
289
346
348
339
320
358
249
231
222
349
321
275
339
228
334
258
376
296
330
298
403
294
360
345
346
328
344
320
314
311
334
359
374
364
297
337
294
256
349
367
324
232
386
324
295
382
284
333
326
288
339
297
270
299
334
295
315
259
353
308
344
321
221
289
176
339
376
329
357
306
353
328
330
367
298
292
306
345
240
257
351
346
333
353
343
303
347
323
349
347
313
288
423
223
264
314
366
343
319
309
369
366
337
256
362
339
315
326
307
230
376
272
324
210
369
352
345
378
279
272
265
368
389
299
250
304
361
179
288
319
272
352
380
383
334
360
241
301
342
317
285
280
294
282
295
340
314
364
278
393
263
272
342
303
331
274
287
274
331
252
301
336
311
274
382
288
321
380
367
233
290
313
255
254
262
248
335
391
307
344
330
339
184
349
195
259
318
304
305
344
349
289
356
312
319
374
354
263
285
396
334
279
248
259
340
331
263
272
301
300
257
322
258
310
354
329
309
274
318
277
325
310
286
320
267
354
243
310
386
280
233
255
262
353
369
262
390
316
345
189
366
379
290
299
221
265
319
271
331
244
289
317
308
259
331
289
271
323
296
331
244
343
313
342
299
251
315
293
274
274
331
331
391
412
339
274
316
289
325
299
357
319
294
216
330
312
368
272
364
238
291
316
272
337
400
281
243
329
337
336
357
350
333
270
364
356
244
284
305
336
281
330
265
326
300
236
330
337
314
296
330
335
349
303
320
332
321
357
284
292
299
332
372
406
365
255
264
349
285
318
326
333
355
387
328
308
375
341
264
353
356
327
372
323
279
357
375
365
318
237
278
363
346
362
335
322
321
339
312
276
292
284
327
306
284
395
251
193
287
344
363
321
313
309
243
282
358
316
291
291
312
312
322
263
332
336
332
380
361
314
368
346
327
313
330
325
351
347
346
312
296
237
344
256
337
278
376
230
284
312
209
293
286
385
316
262
327
298
268
284
303
285
327
255
306
271
272
366
370
259
374
294
398
318
363
270
378
348
265
279
339
321
331
319
222
234
343
336
312
269
282
286
363
356
414
341
323
283
373
236
329
347
322
316
303
225
265
316
298
286
319
362
319
290
348
285
275
358
255
275
226
303
319
338
322
261
296
262
258
268
231
268
355
349
366
262
324
299
280
257
328
304
214
343
318
229
333
247
330
264
227
264
271
379
355
340
408
339
309
371
377
322
327
274
325
321
400
265
321
397
377
345
409
260
318
309
403
288
282
330
359
238
264
338
375
330
333
290
326
422
439
329
373
340
291
305
358
340
285
262
315
311
337
335
300
343
264
357
340
340
318
283
369
286
292
321
299
289
433
316
293
293
272
328
317
287
263
295
416
294
366
259
337
337
259
296
312
294
311
374
296
337
320
341
324
270
391
281
379
313
312
287
383
303
321
335
372
290
269
328
265
280
316
247
269
344
236
242
294
305
304
386
295
318
394
326
345
303
361
307
330
323
335
351
342
283
373
217
309
238
314
313
279
282
369
294
308
399
380
259
279
329
327
297
320
356
239
388
379
316
423
244
307
341
279
235
337
350
315
386
379
279
312
275
378
297
363
272
365
279
272
428
310
338
321
349
287
366
363
262
325
325
263
307
366
317
326
326
350
322
387
360
346
272
370
335
324
289
269
286
216
389
305
320
320
325
321
291
367
348
331
262
408
319
329
343
276
309
289
281
274
288
245
281
279
323
220
368
287
313
337
399
330
235
356
299
316
349
276
299
366
346
322
310
313
370
287
340
299
313
269
299
312
384
352
338
337
323
316
337
340
337
233
347
364
346
276
275
265
284
350
347
381
340
382
283
296
331
353
234
268
380
228
326
330
286
319
231
284
292
252
281
226
273
284
242
367
246
307
296
299
199
334
364
308
360
323
250
306
347
299
349
362
231
275
289
382
341
238
281
298
277
339
298
359
313
351
290
384
361
310
293
370
362
345
332
299
352
276
351
375
280
233
385
339
329
343
304
329
278
288
370
291
261
372
221
289
268
407
317
289
265
277
307
290
263
286
292
382
383
253
335
285
270
299
345
243
360
292
328
332
320
273
271
368
276
344
306
275
272
352
311
368
324
349
235
307
361
344
331
271
234
199
283
302
330
339
217
322
338
313
272
268
246
333
344
270
253
347
299
356
279
245
300
331
345
243
319
338
324
294
292
266
199
234
296
265
306
292
370
280
346
364
296
256
296
245
371
354
293
312
276
339
261
300
307
274
308
261
308
304
289
269
395
350
343
326
312
230
310
244
311
279
395
316
271
370
286
254
281
308
292
350
341
370
321
269
362
326
252
257
323
325
319
312
382
288
310
357
303
392
317
299
322
314
392
272
343
393
368
264
286
305
414
251
305
308
381
399
328
378
350
369
320
298
332
305
320
309
343
391
346
310
298
352
295
347
350
405
422
300
334
320
360
281
284
321
271
315
314
363
304
260
392
307
413
332
367
315
274
342
338
324
318
284
296
346
300
367
272
267
379
342
369
326
312
317
277
232
368
419
312
385
379
289
346
269
361
358
272
284
372
347
293
325
309
292
314
287
393
327
272
374
356
251
310
261
318
296
217
312
260
319
299
297
392
353
344
394
259
388
323
254
362
328
321
359
368
314
346
375
262
364
318
341
244
274
374
270
177
377
437
372
347
285
389
315
288
331
278
330
332
306
333
286
346
269
348
386
317
349
305
266
362
345
328
185
310
338
355
355
272
261
333
317
209
335
301
313
218
314
338
348
335
265
299
294
326
330
317
313
265
271
288
334
291
273
322
359
356
305
348
333
375
301
305
323
308
287
359
385
400
330
382
292
360
284
271
320
269
298
309
225
329
334
362
309
290
247
267
264
327
290
310
348
335
295
377
316
342
256
317
255
342
331
347
403
297
330
329
323
325
382
274
314
386
294
294
313
340
341
261
317
345
211
316
328
263
315
361
272
279
212
275
338
240
376
385
331
276
333
316
276
275
246
306
326
367
267
311
302
360
304
279
285
377
260
319
222
326
378
379
326
239
323
294
219
366
334
287
257
332
304
347
294
171
356
329
252
364
317
290
276
236
367
281
297
367
286
380
393
299
288
316
298
326
317
282
374
309
272
307
356
386
324
221
239
242
339
192
215
354
346
317
317
353
275
267
376
382
286
304
305
259
319
379
320
297
285
312
291
279
336
337
380
229
301
302
286
352
326
393
375
385
282
303
233
210
323
306
312
314
295
358
306
349
341
221
284
306
290
348
380
252
358
306
288
330
403
366
327
295
262
306
292
358
291
280
340
275
374
285
338
241
332
310
330
265
325
391
242
403
304
290
280
319
316
280
320
322
287
312
287
357
306
347
312
300
398
336
285
257
241
392
350
239
325
348
292
308
365
304
317
325
325
275
273
293
287
287
334
323
332
369
340
219
318
256
270
346
280
346
299
366
395
300
348
286
302
277
338
250
306
368
332
309
259
283
374
305
359
321
324
228
363
273
314
215
324
395
317
373
335
276
318
338
314
390
361
269
389
300
285
201
269
335
366
320
284
367
374
372
320
331
387
353
351
359
327
341
308
263
337
344
276
321
276
345
285
259
341
267
285
371
205
324
345
287
279
381
276
355
256
288
288
400
300
320
346
337
339
277
372
339
333
370
340
337
275
312
356
333
329
314
375
306
237
244
294
394
281
233
356
261
278
321
370
316
272
366
242
415
279
365
344
376
383
297
274
342
368
370
251
391
334
311
258
229
328
372
264
377
277
311
302
344
336
393
399
325
246
215
296
266
326
331
270
313
253
386
249
271
313
337
320
341
345
320
215
238
242
424
287
302
314
364
279
319
385
271
290
281
231
332
355
331
323
412
254
335
366
372
332
239
313
272
251
340
295
371
315
284
363
365
355
253
310
400
324
315
270
308
253
383
334
270
306
387
353
296
352
352
369
385
236
359
317
247
318
199
376
351
371
267
321
338
254
338
346
281
322
399
305
334
304
222
365
339
391
173
323
385
341
314
300
276
244
342
296
291
210
293
326
283
252
284
277
336
323
356
322
347
284
359
320
347
317
266
280
318
353
310
311
355
334
348
224
284
360
292
280
278
417
368
270
297
348
446
360
182
317
335
246
338
260
315
308
230
326
307
272
358
236
318
231
290
295
323
340
314
183
341
412
308
372
240
264
324
340
270
337
296
240
332
243
259
289
286
304
308
339
419
338
185
325
355
298
304
364
287
249
374
299
310
335
224
303
296
259
411
239
223
323
379
315
292
289
353
277
245
390
394
346
252
341
219
369
334
284
257
355
328
301
304
245
215
288
250
321
356
211
286
294
350
313
330
320
346
329
336
414
292
371
310
345
210
376
283
319
220
346
294
383
298
250
331
307
346
310
330
360
325
324
313
282
236
337
284
355
272
207
284
315
255
258
240
341
320
381
235
291
321
288
354
298
300
263
308
303
325
324
331
272
341
281
293
263
367
288
300
317
275
289
345
169
366
310
365
299
328
217
337
331
252
303
389
313
267
383
312
299
218
403
296
388
346
345
328
317
269
283
332
254
301
320
336
335
365
326
305
249
321
363
265
325
305
251
329
351
354
368
341
247
293
349
353
326
380
296
315
350
362
237
376
323
372
279
345
335
291
349
333
293
308
252
343
348
333
341
367
271
377
339
263
297
342
379
251
357
254
351
338
256
260
211
379
273
288
266
298
309
312
383
364
309
251
341
250
346
242
307
280
292
262
352
247
293
279
324
277
310
329
313
318
329
280
342
307
344
256
411
311
325
317
299
295
349
335
245
324
341
306
354
318
346
366
323
310
318
378
321
317
280
354
227
366
318
268
368
364
253
399
307
314
315
301
267
372
345
252
281
318
324
304
282
311
293
298
348
250
254
322
299
294
381
341
351
276
273
262
264
343
287
272
304
302
313
277
399
290
426
275
303
367
303
314
359
249
354
300
312
293
319
355
388
365
323
352
320
324
286
297
213
329
328
310
296
383
334
341
301
291
312
366
320
289
253
280
380
367
291
398
349
337
260
296
256
320
304
324
234
339
303
286
273
278
208
287
349
322
377
324
320
300
329
338
238
270
331
251
291
334
373
358
245
320
332
260
325
314
287
335
315
278
302
274
343
350
314
259
358
312
270
304
349
284
286
339
309
330
307
327
265
278
332
299
317
362
377
226
354
358
344
373
269
336
283
406
349
342
336
340
324
275
421
287
324
283
286
345
318
323
358
363
288
350
387
305
351
309
271
392
407
413
369
303
280
393
296
306
384
242
313
273
351
367
281
265
398
308
357
369
273
240
203
300
197
305
261
303
299
272
314
274
341
344
205
390
328
323
367
382
318
290
275
285
308
347
315
280
296
343
388
338
314
398
325
350
331
310
290
364
317
337
322
266
296
324
343
250
298
353
282
277
324
261
342
319
296
321
322
306
329
308
299
300
310
392
407
334
315
206
260
325
329
306
324
325
217
270
343
423
232
336
227
332
322
235
328
346
353
343
280
360
292
239
270
321
319
285
376
244
231
298
332
289
287
297
330
352
333
239
274
327
262
307
317
306
320
301
330
356
332
354
283
284
332
356
313
250
369
393
331
253
356
377
418
303
333
262
331
357
310
289
226
285
268
346
272
342
321
381
274
245
299
241
351
232
305
359
333
346
331
326
273
280
230
320
233
278
346
273
256
229
339
348
403
299
304
388
332
334
296
336
354
354
292
305
300
266
348
325
358
381
388
288
389
254
302
353
300
417
331
294
371
381
262
375
333
274
356
324
279
380
329
427
412
337
403
376
251
221
355
386
254
389
247
338
349
310
360
291
406
292
288
374
346
317
274
362
339
376
281
324
369
380
347
206
257
327
375
302
338
294
277
335
382
374
273
315
371
320
248
363
306
286
301
276
338
289
265
421
332
307
341
301
298
289
263
351
285
366
318
260
297
289
260
336
381
292
267
341
338
331
409
364
357
288
279
260
298
393
288
374
357
341
289
310
291
316
329
248
258
343
303
387
216
358
314
322
356
326
243
422
300
295
264
283
393
336
336
308
314
273
303
297
336
292
332
305
260
360
342
327
253
268
237
367
340
343
291
300
330
289
227
260
276
375
348
278
307
348
399
328
257
360
295
327
292
375
296
352
303
287
187
279
362
305
361
349
243
306
261
320
285
237
362
392
289
296
227
385
295
280
318
332
312
320
343
287
339
321
255
371
301
283
271
344
198
307
288
340
415
314
299
363
329
298
297
251
273
286
347
296
298
206
333
295
330
314
254
296
328
260
348
313
315
343
358
304
350
338
404
336
266
332
236
296
302
341
325
272
335
355
423
349
347
249
339
290
351
363
305
315
347
276
320
302
305
333
322
431
320
339
273
285
266
278
329
344
373
298
261
327
263
361
236
305
314
296
386
326
253
313
185
273
329
369
299
282
391
317
340
312
332
311
340
355
356
392
337
226
280
398
225
300
313
324
406
286
286
351
319
328
256
319
404
344
335
253
336
284
352
370
371
328
315
278
283
370
293
325
371
370
372
195
394
412
281
307
283
290
323
352
241
371
345
317
319
309
353
275
312
259
323
369
387
286
307
304
300
278
239
297
316
362
319
312
314
307
285
326
309
332
348
363
310
311
347
331
321
247
271
335
314
383
346
306
347
247
334
343
281
219
330
373
260
315
296
319
346
346
288
303
315
262
307
220
296
352
162
348
329
301
359
345
263
361
237
205
321
350
305
386
360
266
351
287
258
285
212
308
326
339
347
300
407
264
347
396
386
362
234
287
386
295
351
322
257
247
218
306
308
243
327
343
322
313
337
199
280
294
347
330
283
293
300
360
289
337
343
351
240
318
361
256
345
334
287
379
282
251
213
375
317
299
367
326
305
265
301
337
236
220
332
166
224
281
381
341
341
314
353
267
279
268
264
324
378
302
319
222
219
323
310
300
370
311
385
215
259
304
323
320
322
378
369
271
279
298
255
310
273
360
314
241
369
289
244
284
283
256
316
325
355
254
332
330
339
325
362
330
383
253
394
372
321
305
291
309
250
351
320
378
297
406
293
347
297
336
292
372
384
254
374
330
292
311
329
297
339
304
313
278
256
345
335
288
361
280
352
361
325
296
261
278
345
252
267
354
320
378
396
318
332
360
321
355
325
299
349
323
317
372
290
283
229
261
325
311
288
336
327
296
450
229
224
262
363
336
291
347
274
320
196
266
373
355
348
360
276
272
320
322
189
313
344
354
366
282
343
250
294
366
303
410
330
312
316
333
322
276
313
349
289
281
337
320
306
450
400
337
299
259
335
298
297
294
271
296
340
337
326
363
305
271
256
322
288
322
413
400
372
264
345
338
251
333
320
362
340
320
321
266
307
385
370
358
346
314
360
226
352
282
307
297
303
356
264
282
285
309
308
427
296
282
295
294
353
212
381
366
297
365
280
327
285
309
289
242
290
309
262
278
287
351
361
292
307
303
250
315
301
351
380
322
353
358
264
237
301
380
254
315
223
308
190
359
343
300
347
319
349
279
339
301
312
247
310
302
275
324
324
311
304
393
251
315
353
286
260
345
277
293
416
336
252
312
333
358
302
329
411
290
266
280
327
354
360
313
336
291
336
350
329
289
291
276
230
300
353
304
262
389
296
241
364
318
357
252
275
272
328
264
324
299
270
387
330
344
368
273
366
262
329
266
263
322
351
265
418
304
312
345
220
290
344
370
312
313
346
280
303
329
245
242
270
253
305
339
252
273
374
278
348
282
320
317
353
306
307
291
389
301
320
341
312
316
336
318
284
302
263
361
249
340
365
333
331
354
342
311
288
251
324
293
334
258
334
292
271
308
249
319
382
393
348
241
370
350
381
348
310
291
367
345
280
340
298
232
327
322
363
290
340
352
334
346
297
321
282
355
324
316
270
310
258
373
377
279
268
320
299
260
328
397
300
279
362
351
356
345
324
286
262
280
359
228
268
348
242
326
288
358
335
304
324
310
295
370
208
375
301
349
352
356
283
363
345
367
383
283
352
296
224
341
271
356
328
316
282
265
224
379
276
402
370
312
253
267
267
354
327
391
370
305
234
309
292
226
340
337
243
271
226
280
328
297
260
262
251
289
294
315
421
332
324
314
273
319
336
315
437
333
293
250
327
377
375
257
351
330
365
267
215
334
345
299
238
247
379
294
426
265
292
262
282
322
266
360
321
326
357
300
290
325
271
348
270
229
305
264
298
307
364
264
214
361
316
408
328
291
348
309
339
276
300
300
368
288
294
332
277
254
420
368
325
303
325
207
281
276
332
333
319
278
244
277
375
289
239
357
308
363
253
269
311
311
303
305
394
257
226
288
343
333
314
292
375
290
357
411
339
335
305
258
290
252
358
322
372
280
314
362
378
319
379
386
266
280
375
281
261
358
275
403
308
294
372
326
240
233
368
358
381
333
283
300
357
286
278
344
384
218
318
296
297
341
313
267
370
302
268
313
323
293
267
365
327
298
321
378
367
319
264
267
354
307
406
343
344
375
286
366
253
292
270
251
289
309
313
232
294
287
380
278
307
439
299
225
237
266
279
393
369
294
338
326
352
216
329
331
314
348
296
288
256
344
343
307
273
336
246
247
280
231
355
267
408
283
271
261
316
307
265
303
313
344
319
388
267
277
321
310
373
301
264
274
345
316
400
281
378
325
345
314
244
303
327
384
369
298
346
277
248
236
323
288
335
280
323
293
306
376
328
272
239
282
282
328
305
239
338
318
343
324
352
265
313
316
319
251
285
288
303
294
334
328
312
340
313
324
411
357
278
312
385
359
320
238
296
358
233
378
274
372
310
278
310
370
328
352
323
281
315
257
285
341
294
335
306
348
274
305
301
297
215
239
288
338
385
320
323
299
315
344
336
323
345
340
307
300
320
259
303
279
285
243
265
338
380
353
303
272
324
243
323
355
381
227
323
342
335
324
242
356
302
340
362
350
340
277
292
388
402
254
297
326
322
290
336
303
242
237
345
350
414
337
292
266
342
333
292
373
341
299
287
358
252
261
343
268
309
257
383
327
338
335
305
273
322
366
276
290
289
366
280
312
372
321
344
314
261
292
224
276
386
399
285
360
324
320
395
302
385
305
303
248
281
404
325
328
330
272
276
332
281
300
359
308
305
330
289
248
259
269
326
391
330
351
379
376
358
242
417
248
326
318
329
220
273
369
292
248
308
352
414
373
403
295
242
270
339
279
297
241
408
384
267
365
372
391
281
322
296
235
300
321
302
330
343
318
386
294
383
258
380
399
251
325
262
349
414
280
336
367
306
295
346
309
333
289
317
321
339
277
326
317
349
318
279
328
281
250
309
309
269
342
275
315
256
334
305
357
290
348
327
267
218
336
342
309
283
334
306
339
270
278
297
273
357
318
324
318
325
246
398
377
344
292
370
342
244
350
322
346
338
352
259
327
351
324
260
270
295
287
295
339
288
308
301
382
423
253
320
401
340
314
361
324
327
356
249
365
299
271
281
321
280
307
363
303
228
329
277
273
252
311
277
282
364
365
334
287
262
291
369
317
249
273
312
296
355
331
326
287
362
349
314
362
357
211
330
358
225
378
307
329
301
382
311
315
319
334
327
319
317
299
290
356
337
310
329
256
354
310
358
261
291
381
349
317
364
384
315
316
328
372
368
330
269
350
383
316
346
291
342
337
381
348
343
334
445
437
332
416
308
310
264
280
357
325
250
258
373
350
291
328
321
445
280
311
243
337
317
374
317
311
327
312
322
241
315
279
386
243
290
293
234
300
374
305
277
319
250
307
271
310
207
260
337
316
268
226
252
275
354
384
289
338
287
347
244
256
285
290
355
330
240
226
337
216
342
317
316
297
262
299
282
274
271
329
230
324
237
358
343
342
295
333
256
299
270
290
321
339
281
298
321
286
285
257
352
284
330
280
314
332
247
299
309
362
353
310
310
298
341
278
373
332
361
332
297
375
309
340
286
348
298
317
348
383
294
242
361
367
407
317
314
296
368
241
324
334
265
367
346
331
354
421
296
317
343
349
377
336
340
293
269
312
314
333
310
379
313
342
305
202
410
310
277
325
341
362
254
242
234
327
288
271
391
324
321
331
364
316
326
319
375
318
258
288
361
238
401
357
293
331
330
372
334
200
302
308
347
253
316
238
380
298
322
381
276
297
445
252
384
280
363
283
359
248
332
305
283
309
258
382
256
369
349
382
209
351
311
296
238
321
364
353
282
358
366
313
342
360
273
281
310
295
313
296
389
272
274
372
236
340
292
326
383
349
375
293
302
322
290
323
318
251
354
264
349
299
356
314
329
272
321
278
252
291
260
328
285
306
259
258
276
277
255
315
269
312
390
353
342
345
319
301
344
274
339
279
369
344
261
255
273
261
266
330
336
316
332
302
390
237
268
336
239
250
250
357
219
261
419
303
369
282
286
323
303
390
349
316
302
337
311
344
327
319
272
382
397
344
328
344
274
327
380
333
350
261
234
287
396
325
292
344
282
273
315
275
325
359
344
306
366
360
331
314
259
284
345
360
282
300
307
323
284
342
364
341
320
312
298
316
317
319
286
339
375
362
279
338
301
352
312
295
337
304
232
338
286
379
245
386
319
329
309
347
322
306
319
298
257
257
299
253
381
288
285
352
326
380
319
317
338
358
386
291
306
327
224
317
339
284
220
332
275
270
336
384
309
348
286
312
264
371
310
241
343
326
285
368
299
291
305
331
272
261
309
296
248
345
271
323
303
302
353
295
350
296
410
332
356
310
262
306
279
287
217
326
263
362
329
259
294
295
324
389
311
314
264
240
258
336
291
346
228
344
225
334
313
322
286
301
227
362
236
370
320
314
315
354
229
273
327
285
320
293
369
305
257
295
400
251
283
309
365
387
310
413
322
394
278
283
307
320
236
277
261
293
294
313
296
289
306
289
339
346
326
289
329
282
315
294
320
296
296
383
295
216
359
305
269
349
289
359
341
388
285
346
262
292
325
261
360
341
314
341
363
312
282
386
375
329
375
287
320
316
304
304
311
404
299
286
329
369
293
274
274
381
246
252
356
282
311
430
293
300
352
319
264
370
268
316
308
201
238
311
321
337
292
263
315
306
323
329
293
381
330
259
385
280
251
376
202
240
355
250
319
363
271
295
278
387
289
350
240
280
275
204
257
362
374
344
268
350
358
305
342
322
364
263
259
311
297
347
296
318
378
326
288
374
289
237
305
386
368
289
308
313
385
342
286
310
301
318
336
335
369
331
327
307
353
256
275
364
317
332
223
380
321
298
346
310
331
219
301
161
371
253
326
268
328
305
306
320
326
257
321
191
312
296
275
297
354
271
267
331
312
282
263
356
166
333
293
220
230
291
320
352
316
274
350
346
303
274
294
340
208
202
360
315
283
256
397
326
330
320
331
358
256
290
428
342
221
347
364
345
340
334
271
246
270
268
324
256
330
282
342
313
299
337
374
314
389
215
339
351
328
387
372
371
290
366
269
319
364
277
385
302
337
347
357
357
275
286
405
265
338
236
312
292
374
365
344
273
285
315
300
305
239
352
388
268
388
345
287
356
342
310
247
214
404
298
350
324
347
320
302
379
267
270
344
298
378
276
342
326
316
318
313
348
321
290
269
302
323
308
331
328
253
306
321
351
284
295
279
260
290
359
271
250
326
328
379
310
317
314
351
321
270
270
236
283
274
342
345
233
249
349
368
256
271
274
281
198
220
421
292
369
354
398
306
275
295
392
303
353
328
248
344
323
327
310
307
337
291
258
334
310
301
370
388
293
327
399
339
286
246
307
378
299
296
382
394
312
346
306
299
289
285
378
382
310
312
274
377
335
223
360
377
302
295
361
253
361
283
283
322
290
372
298
327
342
295
269
338
315
229
373
344
326
353
288
403
386
392
324
301
352
377
347
256
383
259
267
324
312
397
351
390
253
280
332
284
242
416
324
284
389
369
342
287
225
351
294
344
272
348
348
341
342
308
272
298
306
365
328
213
262
286
323
251
369
309
391
403
249
440
207
325
340
307
311
358
288
271
253
316
275
373
255
305
352
414
316
252
323
248
231
321
319
308
336
275
373
278
342
242
339
387
305
350
275
304
309
316
314
381
322
273
347
345
263
361
340
327
353
280
309
274
268
331
337
448
303
203
315
341
389
319
356
387
189
279
344
346
348
304
323
300
318
314
375
333
384
339
187
287
284
416
283
278
346
290
331
320
302
299
333
360
346
450
388
280
370
227
224
287
334
251
347
326
379
347
314
249
282
310
363
264
308
309
402
251
356
373
374
300
303
362
255
301
299
247
291
331
278
364
383
378
340
290
298
262
350
356
280
246
327
321
306
327
299
229
366
412
312
265
312
264
242
408
316
318
357
266
271
368
288
318
317
311
376
257
298
337
353
282
300
396
276
340
295
314
290
295
309
303
341
381
319
331
367
263
209
256
340
301
341
343
332
395
290
294
301
355
351
300
306
319
283
326
301
330
245
241
367
280
352
324
354
275
373
255
305
233
321
302
303
311
351
307
369
234
336
320
264
262
354
366
337
302
345
295
370
262
277
286
307
321
395
277
284
237
274
299
296
342
290
272
287
397
349
304
360
325
303
337
336
320
300
241
315
288
284
351
272
297
383
288
321
314
245
301
307
296
318
314
235
271
411
344
288
353
340
396
327
292
313
296
303
270
259
332
260
278
351
363
263
295
399
337
228
204
323
284
252
375
313
320
393
326
354
261
361
327
257
354
256
203
286
386
271
293
311
244
277
347
305
273
282
302
327
231
273
390
309
288
336
341
218
306
346
202
279
292
331
274
382
272
337
303
340
273
321
267
335
277
286
323
329
312
286
270
288
349
283
278
356
300
296
346
327
266
281
307
316
314
321
267
300
260
416
319
298
255
286
324
323
305
346
343
364
295
352
323
314
308
344
238
316
377
369
322
264
303
353
423
239
313
318
288
318
229
360
239
266
364
310
369
241
369
382
329
218
282
326
268
213
369
303
280
347
339
227
326
232
288
300
330
249
325
301
329
292
340
369
353
254
284
325
301
383
297
352
339
355
232
295
391
274
262
338
345
351
266
339
299
271
312
261
303
298
335
295
263
309
315
384
240
312
355
283
307
263
330
335
313
361
333
364
370
358
314
328
367
324
254
349
363
330
296
266
238
327
320
344
298
292
334
333
316
363
282
226
269
360
284
285
298
320
388
326
312
363
396
385
310
387
338
433
328
307
375
378
263
297
368
349
282
349
333
387
273
301
332
282
339
351
312
281
358
355
315
250
380
280
303
323
249
385
335
279
262
210
283
398
352
381
315
410
307
359
304
268
280
311
246
296
266
338
411
299
368
350
354
443
301
402
311
345
307
310
359
285
286
318
379
366
365
317
376
294
285
357
235
252
310
351
341
351
307
345
328
274
309
335
325
333
207
311
366
416
277
319
364
390
317
318
277
365
309
302
284
315
358
300
255
359
292
386
356
318
323
444
302
268
369
240
291
407
307
354
288
317
376
330
371
295
322
376
337
254
291
299
321
315
230
359
327
315
262
375
346
311
315
334
312
286
356
372
307
310
357
353
290
197
347
322
217
290
293
266
268
302
325
236
293
321
425
258
242
314
423
371
304
357
251
370
261
269
315
235
288
321
244
272
316
347
335
369
277
295
385
286
336
299
281
368
403
318
305
349
321
297
304
247
363
277
376
352
335
335
376
262
283
354
318
371
330
388
345
357
289
309
343
338
289
289
282
378
352
325
281
287
349
272
221
369
297
427
366
323
291
260
372
309
301
316
258
296
295
273
333
306
312
299
279
395
322
335
313
354
320
356
323
297
277
274
320
370
276
341
371
319
327
357
301
396
376
273
396
332
359
244
323
290
376
385
372
294
374
396
307
297
301
349
290
356
355
352
375
394
344
333
287
331
346
288
280
265
263
337
289
358
326
384
306
338
300
326
347
365
260
304
282
315
344
326
290
324
346
345
343
315
251
213
360
277
320
327
355
231
263
254
281
291
395
361
265
361
354
365
369
356
335
277
333
260
346
286
295
323
307
302
262
279
289
286
264
304
346
349
284
314
335
347
355
323
281
311
219
358
349
269
259
287
278
334
271
241
377
340
340
287
275
264
261
407
303
320
309
374
284
315
387
275
278
262
341
298
363
366
321
308
292
322
275
234
369
337
343
317
344
374
340
291
327
250
369
261
269
304
289
306
306
251
360
361
258
313
331
335
361
287
344
250
335
346
269
340
318
338
339
327
375
399
322
276
346
335
321
327
302
327
378
401
317
345
298
321
379
365
336
313
295
286
280
270
318
333
324
408
343
284
230
354
302
264
309
273
325
308
205
304
322
275
237
288
305
419
295
343
332
351
299
409
368
392
312
276
348
316
315
368
341
280
361
305
272
286
394
305
272
326
300
373
375
318
278
321
308
370
270
284
336
190
340
410
385
287
268
372
359
377
285
280
408
381
352
399
367
270
320
359
311
331
265
330
372
350
361
344
311
349
378
204
242
343
338
363
322
356
398
378
336
357
364
309
364
232
303
237
321
273
346
397
332
306
359
252
334
303
351
337
284
389
278
373
312
353
344
344
270
325
330
317
253
287
332
351
307
213
308
387
347
339
368
356
332
285
305
202
304
332
271
208
301
320
307
287
297
291
252
290
351
364
313
303
336
356
232
286
279
318
349
328
330
355
268
347
354
313
251
352
350
332
372
351
289
238
274
257
382
366
313
295
349
332
300
278
219
236
294
280
307
324
314
333
357
312
296
298
328
339
285
370
296
365
314
391
378
341
305
307
289
310
373
326
309
346
297
284
366
295
293
328
325
390
337
385
319
323
323
345
300
362
276
334
298
301
336
279
345
281
301
319
325
300
399
263
286
246
282
321
338
265
323
308
225
303
286
241
307
285
314
269
237
299
298
326
325
285
359
244
337
342
291
369
285
313
342
281
290
333
352
368
287
258
373
318
343
265
335
306
305
341
303
266
353
298
249
280
245
292
354
279
352
224
320
318
286
258
269
300
317
327
351
313
292
249
314
394
350
305
297
265
346
353
360
267
356
303
309
244
321
324
293
336
279
326
237
388
286
291
421
296
313
300
344
290
352
228
426
237
280
375
392
372
299
281
389
267
332
327
316
313
303
317
294
366
312
325
217
309
390
260
266
275
433
394
265
442
352
245
275
315
282
331
325
303
313
379
309
356
360
345
350
321
275
324
265
377
253
340
387
284
276
351
320
306
358
290
261
304
347
241
325
319
292
322
316
259
315
265
257
346
302
253
365
322
353
299
199
283
281
323
325
404
358
337
234
302
246
308
370
358
274
364
333
344
304
323
316
277
330
325
299
295
302
336
407
339
357
351
343
228
234
276
335
326
298
317
298
303
254
259
307
308
359
301
376
360
351
322
353
320
311
416
315
267
288
301
329
338
307
385
271
271
350
293
288
337
359
262
280
294
371
304
300
352
361
299
402
322
356
340
341
314
374
319
280
349
284
291
316
253
216
260
264
346
361
241
313
296
340
350
342
275
312
282
294
325
301
191
283
311
384
338
389
294
323
308
334
309
351
370
307
385
346
263
320
348
203
252
342
269
303
369
300
306
365
196
355
345
315
285
309
386
353
239
333
290
352
246
373
257
356
290
344
368
357
336
387
311
345
305
325
351
298
293
242
278
313
254
309
323
282
298
298
314
298
310
334
312
356
270
308
275
216
337
284
370
314
317
317
313
324
431
321
276
321
321
280
340
378
343
334
303
402
311
341
361
209
304
365
254
280
208
261
361
341
329
310
323
220
341
286
321
301
275
358
356
269
295
317
269
379
315
356
287
387
330
292
377
282
392
282
270
314
313
224
336
370
186
316
383
338
371
294
291
395
287
284
343
224
333
405
275
260
343
305
337
303
345
315
316
312
329
353
341
305
365
333
305
247
375
339
338
297
224
332
195
387
365
253
277
319
313
358
290
318
380
274
349
330
392
312
232
331
301
336
226
342
325
345
326
280
317
346
348
392
291
285
318
294
298
364
331
300
342
344
309
373
337
384
315
366
274
335
266
318
313
279
344
236
305
318
390
342
255
286
370
373
328
420
333
356
267
226
342
284
347
351
340
226
244
216
296
315
319
266
303
269
307
290
360
393
357
317
316
256
305
347
286
309
303
451
302
323
203
329
300
293
387
340
295
322
317
309
312
245
338
344
322
296
406
312
304
257
268
263
294
320
308
250
343
326
294
328
264
300
293
289
330
258
338
262
315
263
364
355
349
264
396
297
334
410
306
297
278
301
290
294
285
383
329
230
279
313
373
288
292
265
263
263
331
341
265
299
280
399
376
341
322
306
326
352
222
334
339
294
347
274
292
341
322
326
337
351
262
340
320
296
421
317
256
318
290
259
301
268
404
264
305
279
292
325
215
454
355
321
256
367
282
276
294
326
239
317
337
340
281
341
300
273
289
330
267
391
371
341
293
376
324
313
329
259
342
330
324
279
315
388
316
362
298
339
322
326
315
328
350
323
303
317
317
384
276
233
321
237
349
334
358
302
371
267
291
315
278
345
268
371
398
309
334
266
334
307
316
324
331
351
320
284
325
299
276
425
306
306
378
336
304
257
310
311
334
364
338
272
267
324
331
163
344
292
337
308
271
269
367
266
249
319
265
321
319
274
332
351
345
332
312
330
254
332
249
285
262
336
289
284
237
321
251
332
424
366
361
303
133
296
251
297
249
375
294
376
209
354
261
328
311
315
345
336
274
313
362
359
327
333
390
361
265
338
323
402
316
328
372
300
311
315
260
310
352
323
304
342
296
328
361
330
382
342
281
271
285
387
240
368
307
274
269
342
326
260
272
381
344
300
365
356
375
337
307
327
211
424
313
269
340
306
281
396
442
266
375
327
365
354
344
237
337
338
312
349
317
285
269
293
334
305
368
294
212
258
323
338
266
325
272
319
291
314
361
319
289
289
388
301
342
264
294
292
309
304
316
326
298
258
321
371
347
388
370
269
330
198
365
371
358
358
329
350
305
300
306
319
307
378
237
327
202
291
386
265
342
330
339
273
297
360
316
312
264
340
405
251
354
359
307
350
290
338
299
343
371
306
258
328
398
290
280
269
320
286
393
274
373
322
279
335
308
289
325
329
318
361
315
328
307
302
382
291
296
339
376
401
204
322
312
273
219
363
353
291
340
285
337
352
373
305
337
298
316
307
354
402
250
300
266
305
301
309
232
355
249
349
291
316
260
276
258
319
285
312
340
288
265
332
377
268
260
341
321
250
243
329
300
394
297
302
251
296
350
329
285
293
362
276
285
363
347
255
349
286
246
359
346
281
246
301
303
349
382
321
344
359
384
238
340
299
327
260
337
257
324
278
345
387
309
284
274
363
297
301
398
292
385
312
328
311
354
355
300
291
360
281
298
260
269
312
355
302
314
367
287
331
326
378
396
276
280
262
383
277
260
389
274
404
304
283
363
311
357
259
259
350
343
350
281
345
344
315
276
333
312
322
362
246
272
234
268
330
337
275
373
354
302
300
285
304
371
301
382
337
294
356
316
269
316
246
321
302
294
344
331
334
270
382
343
257
295
236
304
259
282
296
373
332
336
359
339
301
302
330
323
293
282
327
435
296
282
366
310
251
321
338
325
275
365
353
368
269
308
294
316
360
261
309
390
302
252
378
391
245
356
378
311
299
252
382
358
289
311
283
392
344
326
298
407
288
374
360
250
345
251
174
294
353
350
319
310
309
316
319
348
271
274
318
323
301
344
296
376
333
332
325
256
270
358
292
337
240
336
288
323
342
324
306
331
298
291
314
348
227
267
298
266
316
369
345
303
228
285
315
291
388
248
222
238
366
260
368
339
234
327
353
322
250
255
298
350
301
341
369
320
315
254
374
285
351
288
281
360
286
349
290
254
331
320
337
389
355
385
382
327
280
404
366
368
284
280
349
295
266
368
363
329
292
407
400
319
328
331
334
322
372
296
402
256
247
323
340
291
266
313
298
324
319
302
356
356
325
343
426
294
357
369
319
346
281
276
306
320
301
369
234
310
290
383
370
260
371
334
342
320
312
321
319
286
267
221
315
286
295
341
354
355
314
297
292
375
294
394
336
265
313
245
243
301
267
329
341
382
360
303
357
383
354
307
358
368
295
346
354
312
358
330
346
322
310
333
376
295
252
357
298
388
357
259
259
323
358
329
219
371
245
286
269
339
298
249
350
355
242
375
257
284
370
339
364
400
355
315
231
311
309
277
379
290
317
366
351
372
325
336
291
323
263
253
318
344
275
274
248
371
302
365
281
312
382
342
290
361
341
338
271
272
286
298
252
369
337
290
355
318
363
379
294
290
273
372
360
301
303
302
309
293
316
224
349
328
271
281
290
272
222
321
358
335
221
295
371
313
359
391
345
341
332
225
361
384
299
374
260
334
250
384
312
202
283
361
253
265
266
373
251
258
286
342
298
323
291
374
352
328
302
367
305
330
344
240
340
397
298
372
362
337
307
331
347
326
298
234
249
345
270
306
300
304
342
310
356
307
310
361
418
303
332
335
309
347
307
316
310
323
292
303
287
375
301
307
321
353
277
352
293
367
356
243
270
295
348
299
351
263
284
339
325
389
232
333
299
284
319
310
329
289
399
319
240
377
312
307
190
342
274
289
257
415
282
286
375
266
250
329
320
267
346
236
352
333
313
338
304
326
303
296
206
300
291
316
278
306
300
300
289
275
342
289
257
304
280
343
263
267
312
325
291
393
346
310
314
399
446
341
390
410
370
324
340
331
336
295
377
333
385
378
316
297
329
343
348
377
348
309
334
304
344
298
433
350
265
326
354
255
344
317
304
302
340
282
244
274
254
346
336
285
250
277
348
271
282
185
311
316
250
245
359
289
308
366
381
311
298
376
315
347
287
285
248
336
208
373
285
291
307
379
311
277
307
351
292
245
344
277
301
282
378
333
346
315
274
310
252
373
298
331
339
365
300
305
309
305
291
282
360
320
333
365
355
345
328
302
338
279
354
347
341
284
338
303
340
294
321
320
267
247
357
336
322
199
384
257
300
388
326
310
196
309
310
276
282
368
382
342
347
276
300
290
337
347
276
266
314
296
324
287
340
351
357
203
320
264
318
276
340
360
406
330
315
394
358
349
367
330
269
309
295
261
310
271
295
351
343
339
283
302
267
309
305
350
346
313
292
270
378
309
279
269
290
343
251
268
323
345
317
243
418
326
332
298
305
322
256
296
339
324
422
368
372
323
338
302
332
372
310
365
362
312
307
383
344
228
301
282
254
307
296
304
371
259
305
359
306
308
311
252
316
327
337
350
312
343
310
363
330
306
379
269
280
307
267
286
286
363
351
286
305
350
275
300
249
260
344
396
410
340
322
326
334
352
287
328
340
369
247
339
344
333
359
313
202
338
348
334
248
298
303
320
285
218
290
359
260
340
314
241
351
269
296
292
341
268
309
310
286
321
299
328
345
383
336
290
376
276
298
367
316
316
265
329
402
346
313
382
357
353
272
341
302
237
235
315
346
313
348
288
336
271
284
297
284
333
355
284
331
344
186
311
297
308
297
324
276
329
303
328
301
255
300
306
300
383
366
294
358
345
331
399
317
329
330
253
302
275
275
318
274
319
315
352
340
318
311
345
367
284
310
239
344
330
310
338
405
355
182
255
262
314
361
215
325
241
318
311
382
381
338
321
272
318
284
353
294
295
246
263
361
343
299
299
328
202
250
313
364
375
212
301
307
269
249
332
331
341
344
319
296
265
303
321
313
231
304
330
271
281
369
286
312
285
311
299
303
325
312
312
385
315
321
277
335
275
365
255
347
328
310
255
333
325
241
268
323
328
268
299
253
357
306
356
289
370
310
356
352
315
256
286
328
304
332
380
360
325
352
270
306
357
325
338
226
359
347
387
269
327
303
411
316
238
253
291
301
380
339
291
302
360
370
329
337
273
348
287
323
279
264
211
294
344
290
366
281
271
323
302
240
430
294
309
305
307
354
402
320
291
336
376
256
327
269
340
359
338
321
337
265
283
279
231
277
348
346
283
350
274
301
265
333
343
358
330
341
276
306
278
319
219
353
372
359
265
278
389
279
281
375
382
321
269
388
274
345
337
318
299
297
343
272
344
312
282
296
322
239
299
316
347
333
307
333
340
268
337
309
285
376
329
376
375
296
264
352
349
315
312
279
302
332
333
304
263
288
267
305
236
299
274
300
314
295
354
293
251
399
410
404
231
280
329
339
417
321
299
331
359
247
304
277
250
277
337
275
242
318
328
334
390
325
282
303
330
292
336
297
332
346
343
282
331
345
301
270
329
233
320
336
300
287
294
359
220
326
252
282
349
338
250
316
364
281
283
289
256
335
376
297
321
309
274
388
329
349
324
373
262
389
283
341
389
308
297
294
246
286
263
318
359
283
334
316
315
336
383
333
304
305
311
367
306
276
291
323
322
387
247
285
288
325
286
305
176
320
332
335
396
297
317
346
267
405
238
324
290
289
273
312
303
339
419
273
372
269
330
216
320
281
380
261
229
328
314
205
324
310
312
299
283
350
326
233
295
364
299
378
333
268
313
328
289
309
301
381
234
375
338
347
286
304
302
334
319
279
388
360
261
317
285
214
275
327
292
320
323
348
365
269
356
387
250
270
342
353
372
308
240
360
277
369
307
319
325
265
310
328
349
330
332
322
300
359
382
363
324
366
369
311
305
336
286
339
317
279
320
382
334
326
358
250
340
326
352
232
283
337
391
330
314
319
319
419
275
403
332
288
284
345
353
388
366
173
338
338
377
368
223
288
335
323
282
330
360
280
274
302
298
332
327
290
341
254
315
324
292
291
296
245
294
264
281
201
285
337
363
325
349
291
368
245
305
227
248
301
345
353
322
372
356
344
300
291
288
394
412
300
365
309
271
310
351
255
212
335
292
362
380
344
327
278
337
330
277
301
264
371
258
344
318
382
290
331
392
317
311
282
268
326
301
304
351
321
345
331
271
241
323
252
317
253
236
319
407
340
358
264
284
364
255
314
334
332
368
255
355
323
278
258
281
358
303
253
296
324
254
276
335
287
266
325
272
316
263
323
333
312
341
352
438
345
343
322
385
381
266
247
313
279
352
270
293
311
418
315
362
324
165
261
365
325
273
327
359
271
279
291
341
300
213
347
357
242
210
353
315
443
339
323
395
241
267
288
351
363
316
250
325
309
265
284
315
324
310
220
436
215
339
373
284
287
330
332
321
260
363
354
263
375
388
307
384
288
214
332
280
367
351
373
294
316
322
283
281
279
286
343
349
399
316
280
313
410
348
397
278
279
392
315
381
329
319
327
275
318
346
306
318
373
286
322
301
265
324
263
272
359
301
280
296
302
394
318
417
294
341
368
251
335
318
383
207
332
337
237
367
256
350
374
331
288
339
299
224
338
307
307
278
401
286
275
369
269
254
279
357
331
346
330
372
223
349
324
291
351
310
287
359
300
364
356
330
251
290
383
277
268
315
258
398
341
287
302
289
351
369
260
402
222
306
347
297
299
314
295
376
299
325
294
227
312
410
298
341
308
248
426
231
407
272
269
305
257
344
304
320
298
274
307
279
326
343
264
362
310
288
284
377
319
324
394
267
334
315
290
382
376
253
361
376
356
409
379
277
275
291
242
302
345
306
294
308
248
290
326
350
306
315
306
245
348
337
341
304
317
314
365
288
419
292
370
328
311
288
342
386
325
374
372
357
253
357
300
276
290
430
306
284
207
337
348
378
251
263
379
247
266
288
305
356
344
264
333
268
264
361
387
265
340
303
356
352
303
280
283
360
260
285
313
349
294
339
296
339
308
256
338
385
266
311
329
274
320
327
360
346
331
291
390
293
323
269
352
300
323
362
293
262
315
240
335
276
297
280
341
307
368
269
292
354
408
302
295
237
272
332
282
333
393
303
390
363
325
300
356
339
298
312
335
296
338
330
317
315
244
319
306
314
348
328
279
311
253
334
290
239
317
322
254
383
322
301
306
294
372
350
266
326
335
251
311
334
311
309
406
307
290
310
301
375
323
404
289
324
275
285
295
233
416
376
343
319
373
242
328
241
303
307
418
292
346
306
284
289
263
308
360
283
311
372
264
354
272
311
363
212
181
229
327
382
303
330
363
328
316
351
378
277
339
341
311
329
359
256
372
352
310
263
336
277
295
281
288
346
287
319
340
365
243
320
300
349
296
281
228
320
273
316
312
234
340
301
314
363
361
350
331
273
405
292
263
287
335
279
362
338
267
333
361
292
337
375
309
355
295
405
408
290
305
346
282
286
329
386
307
325
307
276
306
307
303
313
287
386
297
316
231
264
288
342
253
402
272
264
299
345
233
367
359
348
303
345
331
328
364
303
389
369
260
320
311
360
313
294
384
328
375
348
275
275
346
400
292
266
330
301
273
292
313
325
308
340
285
323
384
372
384
364
310
334
352
335
311
333
369
270
357
293
309
335
354
259
313
282
261
383
315
322
287
242
242
406
294
320
390
397
402
373
227
307
271
261
307
228
208
345
329
360
325
241
300
351
347
306
331
275
261
315
236
370
277
299
279
337
310
313
269
364
292
334
340
318
218
201
331
332
389
333
394
231
388
327
392
334
348
290
289
339
343
322
352
236
281
314
282
339
176
228
333
301
302
401
262
265
295
356
332
283
334
345
306
263
341
322
272
410
278
281
307
341
306
228
341
204
316
290
415
337
271
268
143
327
330
359
388
390
274
340
295
283
298
366
326
273
324
282
297
315
238
301
286
297
330
250
336
286
359
335
329
382
286
242
258
282
293
321
348
235
278
350
242
352
269
421
311
289
349
367
299
323
183
310
279
404
313
263
258
264
269
262
293
353
324
296
348
345
245
340
318
351
281
330
324
328
343
360
365
303
349
244
305
353
323
323
233
303
337
331
303
342
234
319
349
267
326
323
288
403
292
300
316
280
329
263
336
249
332
249
347
316
399
246
256
270
323
335
263
375
332
309
373
364
210
336
318
300
301
345
273
319
354
333
326
349
363
406
279
333
393
336
360
241
315
346
356
296
392
326
390
294
311
305
360
398
301
263
353
354
389
318
313
339
348
288
328
327
256
349
313
321
313
357
353
284
354
253
356
272
359
254
276
344
289
365
300
315
214
328
349
353
327
250
291
324
413
358
370
272
327
355
313
282
322
313
302
340
276
305
309
300
337
341
341
319
331
335
367
322
337
310
324
289
273
341
223
392
197
231
377
259
396
371
296
290
337
323
344
337
280
261
385
330
279
401
354
337
256
194
317
335
301
396
335
366
337
372
237
378
212
380
322
288
325
393
299
398
385
374
372
283
346
289
353
320
246
314
263
269
237
318
351
288
358
261
289
303
337
325
279
296
260
321
267
342
351
343
324
361
258
248
297
293
268
313
307
351
311
336
384
271
327
343
346
299
375
355
356
321
240
371
265
312
335
332
245
296
258
231
341
262
304
315
301
267
297
351
244
333
329
314
349
408
301
199
267
346
240
317
376
303
364
327
260
392
299
312
328
338
336
304
298
208
314
253
341
319
397
372
287
244
393
345
278
339
297
351
364
365
359
304
303
293
233
260
261
217
315
327
285
300
402
255
288
324
260
346
276
336
291
298
215
297
328
195
340
362
300
333
342
287
366
324
411
362
299
326
373
388
315
302
381
243
273
314
335
263
297
287
276
296
324
299
385
295
305
351
355
322
306
303
284
260
323
240
402
271
339
327
431
256
235
276
291
239
295
266
298
296
234
305
341
243
353
345
242
310
385
289
273
324
279
315
246
252
352
306
378
296
328
263
362
360
348
359
334
300
250
347
306
252
352
257
305
442
242
338
267
214
270
253
394
421
335
273
347
271
271
229
324
314
371
255
276
357
255
298
356
296
364
226
271
230
341
255
347
298
286
316
294
305
310
367
309
362
397
333
288
279
312
315
359
355
370
295
233
298
263
314
284
314
247
318
325
340
362
285
324
281
323
327
283
290
356
319
405
281
369
231
415
337
313
379
363
304
293
334
327
171
264
314
341
314
370
380
315
249
329
375
211
329
347
324
324
215
188
374
349
352
274
318
308
314
365
245
355
240
284
234
309
298
407
273
376
340
339
259
342
360
284
306
329
295
264
329
426
247
337
303
285
364
225
257
254
370
311
290
266
293
347
254
294
274
346
310
321
259
270
324
351
354
264
314
290
299
298
352
338
283
412
372
306
409
338
334
340
291
304
396
297
356
307
245
305
353
292
319
313
329
377
369
332
378
272
219
287
243
325
313
220
341
281
264
286
301
334
275
375
312
226
303
280
276
292
240
326
417
260
278
265
201
279
273
437
340
361
353
335
271
277
303
352
362
296
242
258
415
362
321
254
268
399
200
322
323
305
318
356
309
238
420
371
298
314
372
382
335
338
352
408
247
373
337
314
292
252
317
297
337
334
344
332
383
210
332
292
309
370
346
294
393
360
294
375
257
334
422
322
314
287
316
299
306
303
301
261
386
399
268
297
357
239
336
360
366
354
337
271
335
315
357
364
280
341
276
350
265
315
324
341
351
304
329
257
268
326
206
302
389
363
298
193
347
336
405
236
313
289
332
330
308
293
261
326
334
249
271
375
244
297
245
379
417
364
262
405
278
318
284
307
277
274
263
230
326
209
366
340
330
339
229
260
342
286
301
288
314
260
285
258
355
334
328
359
362
309
293
307
288
274
297
319
305
300
236
259
291
267
314
252
277
263
278
423
268
325
309
341
378
354
223
203
332
352
220
376
432
274
331
444
333
250
358
321
337
343
312
307
318
259
262
295
333
381
378
311
286
396
316
319
307
357
279
312
307
264
290
282
318
288
334
246
209
298
310
254
297
248
294
313
341
326
362
311
306
346
297
313
286
350
329
225
278
323
371
306
359
371
338
321
305
334
254
324
353
316
315
370
307
297
321
328
351
265
289
290
293
373
283
304
372
335
283
361
355
308
291
359
331
350
348
303
300
332
333
291
323
260
276
284
315
283
374
345
379
318
260
306
328
314
362
207
313
282
354
319
321
232
322
336
398
299
282
338
382
275
331
338
360
317
286
326
300
334
319
264
323
327
313
301
340
298
222
337
310
241
366
351
251
369
334
241
390
265
348
340
249
348
362
288
328
350
311
239
358
319
301
316
356
364
344
301
297
346
309
204
371
377
259
341
356
190
328
299
392
298
261
279
308
435
291
327
314
282
317
329
294
301
301
341
383
235
345
289
363
311
315
342
358
335
346
343
315
326
233
323
253
341
235
366
308
311
320
330
291
358
327
339
334
299
266
310
352
304
309
291
319
408
289
364
333
282
311
413
351
357
293
373
255
323
339
267
199
340
344
327
291
333
361
312
341
323
317
303
186
224
352
357
329
351
284
355
401
333
324
287
342
329
381
391
322
239
302
383
321
246
331
244
327
366
284
324
328
287
304
262
374
329
357
350
351
337
331
250
347
316
320
365
386
296
287
324
417
392
407
237
360
276
289
328
266
340
300
303
305
263
315
302
179
382
307
389
314
312
226
336
388
324
346
278
368
316
202
219
324
294
337
279
333
305
273
331
274
295
352
379
428
391
317
321
287
328
314
381
288
347
327
337
328
283
343
264
337
320
274
307
371
368
291
262
383
354
328
264
314
335
290
319
308
342
354
313
378
327
325
358
307
325
265
323
310
278
274
289
410
318
365
357
329
328
381
315
302
375
293
326
314
264
314
302
321
278
248
357
387
334
383
363
307
271
246
359
335
395
328
308
316
236
267
258
282
247
240
295
271
311
372
379
370
293
345
323
271
328
344
315
375
317
264
185
347
320
391
348
220
223
304
386
324
344
340
327
314
324
247
339
356
340
383
295
364
236
290
287
389
311
280
309
280
372
344
379
197
283
284
376
346
345
228
321
304
319
283
331
224
291
248
350
274
387
327
303
257
294
303
289
298
255
334
249
337
290
316
300
337
375
281
315
307
273
335
292
366
303
317
321
347
370
306
364
304
357
297
308
263
257
346
282
346
288
329
288
297
401
325
247
315
355
287
218
368
301
320
386
297
313
310
344
300
315
341
268
302
334
397
268
272
302
358
365
345
314
345
283
338
304
262
258
294
318
349
304
299
285
367
322
359
270
355
335
321
253
346
231
315
286
258
324
313
317
338
245
327
284
287
344
316
335
224
341
350
244
306
410
305
281
379
256
266
291
348
341
329
364
336
275
352
301
293
319
333
251
349
335
347
270
343
278
344
313
318
391
306
378
320
257
324
291
332
383
293
306
344
203
299
335
250
295
327
314
362
313
366
233
299
388
305
347
351
332
288
352
412
334
338
262
307
336
324
248
311
318
306
334
325
301
279
307
298
344
322
304
374
350
295
334
236
323
233
423
313
356
390
292
394
349
316
264
358
350
389
335
298
366
291
249
405
436
353
419
279
342
319
336
340
231
350
333
287
333
274
281
322
383
349
292
321
314
234
270
353
392
305
316
286
246
336
381
341
317
319
338
310
333
235
367
324
331
368
352
325
186
259
259
295
333
220
350
321
190
300
298
261
325
394
314
324
339
386
284
300
364
282
279
299
272
361
348
383
325
310
341
390
331
327
422
223
315
316
315
350
388
291
352
358
411
328
291
327
380
326
310
275
335
249
409
283
253
255
338
312
388
327
297
303
305
302
325
425
360
336
345
381
301
242
339
324
275
347
299
303
383
290
300
269
387
302
339
284
230
327
287
311
226
345
328
297
313
306
330
287
275
315
246
275
336
291
243
327
316
238
364
311
338
295
308
319
351
264
300
346
254
285
257
380
326
286
390
304
240
350
334
319
310
253
322
295
254
254
283
387
365
361
246
306
313
307
294
347
375
314
295
312
339
313
372
304
248
270
365
303
348
287
345
285
316
344
293
261
279
289
243
358
317
367
332
404
301
382
376
409
283
251
314
369
254
312
309
377
295
323
304
342
224
315
336
357
329
260
370
310
261
377
367
339
309
348
281
358
455
388
277
296
314
284
312
371
323
336
360
289
283
330
320
280
347
292
374
353
280
360
343
395
286
297
256
376
336
416
339
290
231
310
308
284
292
364
261
279
327
390
380
261
248
334
358
333
280
260
326
308
339
300
278
273
349
354
232
336
315
353
338
326
330
362
377
391
334
314
290
270
306
273
262
307
256
332
320
314
379
242
312
304
288
298
294
317
364
324
349
271
272
358
344
285
275
251
309
316
395
322
285
267
315
399
391
264
332
299
343
264
272
339
329
313
341
216
345
289
328
276
332
298
348
315
340
221
334
339
330
262
349
266
317
285
391
193
310
366
326
236
300
354
315
349
345
229
272
301
296
290
365
328
322
365
305
334
302
371
384
306
328
407
337
317
305
335
361
292
281
289
307
283
257
294
347
420
333
300
319
331
316
394
310
258
398
408
436
375
331
348
243
404
339
299
349
245
267
240
339
353
231
354
269
262
368
383
328
261
357
231
337
250
324
345
331
265
315
300
323
276
272
286
312
315
276
326
262
264
328
307
340
265
295
297
350
296
379
254
320
325
283
285
313
277
291
287
293
207
199
334
315
321
348
354
302
332
376
235
318
297
394
309
287
365
337
287
327
202
279
343
359
370
276
363
268
276
356
325
280
259
290
317
366
322
287
314
295
295
289
408
358
309
310
327
301
293
312
307
310
314
334
327
278
388
373
280
340
236
331
285
275
267
328
258
306
319
321
316
234
296
340
319
356
309
260
268
264
364
381
298
341
321
349
345
340
311
307
368
241
348
341
356
329
195
301
289
308
356
267
318
364
347
265
322
291
271
360
218
364
258
266
214
251
290
283
292
308
359
333
378
334
339
246
343
310
301
258
366
280
241
300
312
312
385
232
243
307
397
297
333
354
319
255
366
290
280
349
405
308
262
352
329
341
329
246
230
339
327
343
370
321
291
281
350
368
302
363
311
309
271
319
336
401
281
283
385
362
289
298
336
310
336
336
292
320
362
337
355
270
370
330
352
351
342
387
214
315
337
345
340
280
347
391
306
362
409
318
244
317
276
245
249
291
243
356
340
263
347
338
228
286
328
336
345
311
350
352
283
371
378
253
347
283
272
270
312
241
328
272
298
232
242
250
326
258
331
269
402
379
309
361
373
280
371
310
328
287
328
322
279
376
332
237
288
349
278
346
324
316
394
290
268
303
367
249
311
211
299
384
243
317
314
324
323
275
336
409
358
279
378
350
318
243
215
229
335
326
336
296
335
295
313
337
198
269
391
318
264
384
304
332
324
372
293
360
386
352
289
331
343
299
279
250
305
274
334
262
236
280
288
317
274
325
276
337
228
369
381
251
288
282
341
283
353
338
281
313
374
263
323
255
331
271
305
305
244
293
289
351
353
327
348
271
300
321
313
307
277
359
296
263
359
326
341
227
370
344
261
349
295
257
384
340
270
356
223
353
302
335
329
361
279
270
312
270
268
273
309
359
314
235
324
384
258
315
377
366
354
363
290
391
330
353
274
371
347
280
336
349
295
389
316
252
286
340
386
218
324
332
232
322
279
326
311
221
350
255
291
226
287
353
370
382
367
285
329
350
250
248
369
342
295
385
374
250
327
254
338
345
373
218
231
262
331
324
346
393
305
299
348
291
361
308
292
304
353
371
350
385
293
349
316
248
347
386
366
336
310
342
265
289
385
295
333
273
271
365
310
278
340
296
237
320
336
305
297
323
304
260
392
338
296
351
256
262
317
386
254
343
286
283
324
323
349
336
358
355
327
318
316
372
384
329
242
322
237
322
303
300
366
322
319
278
336
391
384
280
292
314
325
388
339
344
311
323
327
343
288
333
412
311
340
302
278
226
228
322
324
304
327
293
268
357
368
268
339
314
316
370
289
341
312
251
289
293
321
287
220
354
187
254
284
253
350
262
253
371
270
350
309
264
341
379
324
414
315
281
332
274
264
375
322
299
331
302
341
345
331
398
312
278
297
367
289
284
295
335
372
268
321
332
250
238
362
333
210
268
377
347
218
400
361
344
329
264
336
281
338
383
336
352
369
367
322
330
307
383
321
254
264
242
340
223
293
274
245
301
333
333
398
342
249
357
301
348
286
299
338
364
353
381
340
356
434
372
321
333
274
282
294
265
347
343
269
327
244
304
281
280
416
333
307
353
278
314
270
309
282
308
297
305
275
304
282
317
362
315
306
285
352
262
292
309
321
249
358
291
285
290
335
252
345
334
327
246
353
247
383
317
398
292
308
333
204
305
265
355
302
368
223
383
272
279
272
298
373
334
305
270
300
323
288
374
346
276
347
270
339
334
283
290
285
364
351
338
341
311
350
366
294
289
227
277
351
311
334
338
333
312
257
273
374
386
352
321
367
359
269
335
261
292
298
266
337
320
310
333
350
331
277
299
386
346
270
406
267
252
393
199
337
304
279
250
328
337
276
275
281
360
309
349
289
296
304
340
292
293
378
239
329
255
305
275
331
344
282
363
240
346
244
364
318
184
351
346
397
307
311
321
199
361
287
306
309
373
257
417
284
254
346
353
273
326
377
301
292
303
326
361
332
305
247
376
387
339
380
373
342
270
330
341
278
217
325
289
279
258
348
302
345
287
414
340
340
359
346
235
270
382
279
350
300
343
315
302
329
348
214
247
272
305
271
280
293
318
343
283
329
302
331
268
309
280
307
343
250
356
321
285
250
349
208
370
309
277
319
304
247
431
263
389
248
320
292
313
329
302
377
298
328
276
315
310
340
328
365
306
376
272
359
325
370
280
295
391
238
338
332
385
340
293
289
315
412
278
370
339
359
251
308
300
331
335
327
374
279
278
310
368
345
278
309
335
320
365
244
304
329
270
358
307
348
376
294
276
298
339
265
315
224
282
259
340
225
309
260
338
291
328
317
246
324
351
289
319
341
313
216
290
328
332
331
268
353
290
329
254
332
205
268
369
352
331
309
268
316
323
303
279
300
346
305
328
318
354
282
388
384
282
288
281
339
403
297
324
343
381
289
253
265
432
312
323
380
288
303
270
384
329
287
276
281
279
306
391
266
395
212
338
345
201
343
338
308
372
218
362
365
329
380
353
341
295
418
344
194
292
277
304
376
281
341
359
318
300
351
323
317
355
321
324
397
311
295
246
309
341
261
304
372
305
288
271
457
333
244
297
351
310
326
335
352
310
251
209
352
335
346
321
326
312
299
346
253
290
436
276
252
295
241
355
317
349
285
284
274
343
257
344
282
273
365
327
298
226
353
322
323
258
344
267
247
270
205
310
269
263
287
334
354
198
349
333
318
313
391
313
279
335
238
273
315
388
321
267
205
281
346
260
393
402
289
304
387
360
343
266
325
358
253
208
279
315
295
379
331
352
258
286
344
283
375
323
293
318
280
388
379
275
292
267
384
274
307
339
332
351
267
265
325
264
299
399
305
285
308
264
276
326
270
304
408
318
370
255
306
259
303
238
298
283
324
268
240
208
263
280
318
287
297
311
357
266
248
324
357
278
344
279
284
437
277
243
318
207
352
299
254
334
256
321
264
394
251
360
419
230
299
407
328
304
302
244
294
379
338
377
275
313
348
399
222
335
356
370
287
280
293
371
345
301
279
319
326
287
386
299
274
272
341
304
319
289
202
372
265
341
287
306
232
301
311
343
263
388
342
332
293
305
369
371
284
357
345
256
381
308
414
386
365
367
338
385
314
292
309
359
295
349
222
422
257
338
250
334
308
349
251
257
368
363
316
346
333
343
335
365
314
220
345
279
252
366
336
223
320
390
294
279
310
322
284
337
269
290
388
260
237
290
342
304
348
392
337
319
281
308
273
420
239
313
323
414
375
361
373
301
355
315
352
296
336
271
302
294
235
374
247
328
321
363
330
318
247
268
340
270
332
400
314
254
358
322
336
323
284
334
292
267
329
256
387
353
332
288
255
283
381
335
218
328
317
331
322
307
267
342
245
388
323
278
333
201
350
328
261
342
402
269
278
362
306
368
413
276
352
336
298
300
320
242
311
314
376
310
273
291
305
319
310
371
282
324
336
282
304
287
344
371
334
285
336
196
434
327
298
388
330
290
302
260
305
356
381
316
312
327
333
267
324
290
273
329
277
321
303
227
332
278
360
292
256
325
321
322
232
271
233
296
314
296
259
322
290
334
250
302
348
332
282
361
286
370
228
323
296
392
336
263
288
214
269
283
303
312
341
420
411
312
312
285
317
388
360
267
306
307
226
314
286
241
356
243
440
308
258
357
295
187
409
330
368
294
310
199
377
250
251
371
333
349
355
338
329
361
271
323
338
333
318
335
323
320
327
383
298
344
261
349
347
360
355
315
281
266
236
255
241
302
305
321
320
273
316
307
302
276
336
389
381
390
323
299
317
348
292
326
331
315
349
267
253
301
298
253
281
351
250
333
305
241
309
308
350
283
288
271
317
309
280
373
407
297
266
342
323
375
305
339
306
398
286
353
330
291
327
360
339
301
313
327
272
343
313
368
270
304
247
282
320
316
283
266
331
319
323
293
339
361
344
371
314
289
275
255
334
333
302
284
342
293
327
380
263
310
353
332
366
323
314
274
318
274
242
290
276
341
279
366
415
357
280
375
384
333
285
289
324
460
316
339
300
295
294
361
305
259
233
364
318
339
364
361
330
271
316
288
261
342
292
376
364
244
255
269
314
333
255
418
345
229
338
340
399
287
290
347
242
268
350
338
350
316
355
323
325
356
323
325
372
308
242
333
385
342
281
308
328
316
357
282
374
297
258
287
252
271
331
367
320
268
202
377
291
277
363
264
299
273
373
381
315
362
231
297
312
317
310
238
346
322
336
327
344
282
290
342
260
342
387
309
335
318
296
363
338
239
359
282
267
238
267
324
313
310
296
305
259
361
342
328
366
326
353
304
286
340
359
375
282
354
394
351
313
376
337
257
309
278
357
347
370
300
353
276
336
241
374
264
322
285
315
342
367
404
347
324
350
374
238
446
343
274
293
302
355
361
326
351
394
302
340
307
363
330
359
364
256
374
246
267
357
240
294
387
366
352
323
249
322
300
294
325
269
341
337
270
338
341
306
240
276
345
290
283
354
345
333
401
258
241
346
298
285
362
293
352
263
336
366
327
314
346
374
316
367
345
314
331
277
250
284
324
300
340
334
325
303
289
272
370
267
282
286
280
310
255
343
295
274
275
242
423
337
333
320
360
312
336
348
307
283
288
279
299
281
278
325
303
326
214
219
342
392
283
323
318
332
399
281
305
388
376
299
407
251
323
308
347
330
405
311
268
206
290
414
260
304
318
343
219
302
246
338
257
259
403
352
322
255
300
305
295
272
320
365
359
392
349
346
343
270
349
259
261
307
284
308
364
308
314
299
411
352
316
283
351
267
235
347
250
314
280
386
299
302
284
323
358
297
359
329
357
225
356
362
203
283
364
348
346
309
224
303
327
248
347
309
313
313
379
262
300
392
273
310
402
292
376
295
283
291
345
319
329
353
362
314
306
277
357
223
363
342
365
359
272
384
304
267
299
315
354
326
179
282
352
275
312
249
292
331
349
333
233
345
307
321
355
307
310
405
339
283
245
371
341
310
364
372
315
293
299
259
417
390
372
298
289
387
288
316
343
375
328
335
282
320
327
300
364
316
377
278
326
290
354
337
351
255
391
311
302
347
222
348
286
394
365
374
299
286
244
383
356
296
366
241
318
458
291
325
365
351
371
261
285
307
213
293
307
252
338
418
343
306
306
336
292
311
256
326
246
380
318
290
223
323
249
276
400
332
380
283
355
310
321
316
290
269
283
289
263
372
282
337
249
339
357
340
299
400
282
412
205
331
256
331
285
283
308
346
346
250
316
239
306
371
393
305
359
367
275
338
239
317
339
304
314
273
433
354
274
277
349
329
340
222
346
375
303
256
263
336
293
372
344
315
328
301
329
305
255
382
343
314
338
322
430
305
321
343
335
303
285
292
324
366
399
240
305
353
266
271
332
297
318
257
364
384
244
291
303
360
343
259
371
373
332
265
336
262
287
372
353
403
320
310
298
332
267
330
333
298
301
328
286
238
278
461
335
301
314
399
344
338
323
292
294
332
384
358
409
329
238
333
297
300
334
370
288
340
309
266
204
359
348
222
377
202
353
383
327
306
306
307
339
279
368
353
307
325
389
309
302
336
264
294
356
295
294
280
341
333
291
355
259
311
353
334
303
355
265
273
368
347
372
305
245
385
271
324
339
272
339
298
310
422
275
301
369
322
314
369
391
335
335
341
314
353
276
256
287
381
307
323
313
362
357
350
319
305
331
269
319
309
276
341
264
315
201
241
340
344
324
361
412
288
308
248
357
371
264
311
343
327
252
352
338
344
306
325
319
349
278
350
344
340
283
290
293
316
374
337
335
313
333
300
338
289
402
323
342
275
302
277
447
279
329
395
311
297
303
291
322
315
286
338
340
324
326
315
318
354
282
340
327
229
284
367
200
292
317
274
326
288
367
376
287
373
233
344
297
276
340
336
320
267
350
236
269
335
307
316
281
314
397
294
312
264
306
276
284
257
282
285
257
330
318
356
262
340
247
273
336
338
363
327
293
361
295
312
334
319
379
361
248
299
321
334
265
283
300
362
321
267
294
245
371
350
341
365
391
287
340
310
345
342
385
293
338
371
308
315
340
281
265
340
241
341
340
333
313
287
307
354
335
346
308
327
250
302
226
225
329
290
366
354
341
308
272
233
318
305
398
391
338
306
263
329
305
318
392
363
235
294
288
317
287
264
295
230
333
335
365
324
301
243
286
355
263
360
295
263
349
309
257
340
285
324
268
292
229
318
362
328
288
334
355
203
348
306
354
372
321
399
245
366
313
401
351
293
322
263
267
350
329
306
235
337
379
318
240
322
352
300
305
275
235
329
312
263
259
342
307
306
384
304
404
257
312
347
273
343
298
336
357
355
296
338
283
275
301
294
280
320
380
321
298
396
320
350
375
319
362
378
350
321
321
368
269
317
300
220
312
328
312
287
407
265
332
319
353
309
308
379
196
373
272
281
368
305
368
207
263
339
358
322
267
331
313
293
295
323
326
375
302
330
322
236
248
370
352
212
329
368
340
346
273
300
321
277
306
333
244
298
295
258
310
426
288
390
445
207
299
343
323
273
281
195
188
447
332
353
285
326
270
331
230
312
321
283
354
353
259
285
299
376
301
250
309
321
333
288
343
380
333
405
298
339
277
340
330
335
279
322
342
316
363
303
322
305
347
323
170
288
348
350
333
344
342
331
364
326
324
325
198
235
328
332
324
319
306
329
266
276
297
255
290
284
282
297
329
447
335
345
277
319
298
307
392
336
349
307
410
286
295
263
329
269
362
412
337
326
366
359
352
271
340
330
328
290
328
330
432
262
336
289
422
339
394
325
360
318
362
329
342
332
348
239
355
382
371
244
357
348
322
348
331
279
279
336
337
340
276
263
369
324
292
294
321
243
379
330
377
308
234
297
312
256
290
218
238
321
276
345
324
314
397
211
250
351
314
300
312
308
280
339
295
320
287
351
285
326
362
300
294
302
208
262
298
336
398
327
270
270
315
282
326
351
339
224
396
300
245
331
293
255
314
323
370
344
341
289
349
298
326
411
365
379
294
343
233
355
280
362
291
312
308
281
313
211
278
339
281
350
238
297
292
297
253
263
335
362
284
300
282
330
243
320
374
386
187
267
295
314
315
372
312
299
232
361
265
237
361
378
344
211
345
273
324
357
331
221
322
249
325
304
368
284
361
312
396
314
284
329
312
316
362
309
307
316
303
216
274
336
204
266
363
271
351
333
388
369
360
339
352
232
298
356
303
366
378
263
346
258
337
270
357
288
351
288
341
320
357
272
283
343
316
330
234
275
344
284
328
309
379
312
306
337
350
307
342
346
394
337
369
323
351
292
290
323
336
261
354
305
331
376
363
326
327
336
287
311
295
299
286
346
316
335
295
379
308
346
356
230
282
339
244
303
313
334
323
339
344
322
292
369
335
342
204
358
351
401
205
323
288
256
369
344
282
235
356
287
287
315
325
319
296
379
363
349
231
327
257
313
329
336
241
310
343
317
300
340
306
307
404
315
323
335
238
293
271
286
319
354
386
304
327
275
311
347
367
331
251
312
339
317
329
353
321
276
321
317
285
277
340
336
305
413
291
269
284
314
371
242
321
292
266
401
282
321
275
256
329
258
384
354
326
378
267
340
369
311
396
304
333
341
289
391
308
384
374
292
332
422
345
302
315
352
247
378
366
298
311
342
301
312
360
348
326
353
379
260
318
277
309
212
425
373
317
306
359
376
287
349
329
344
310
275
363
323
337
303
311
293
373
370
260
305
293
339
291
243
220
254
261
312
290
249
321
361
303
327
394
313
455
272
316
354
291
299
333
328
300
350
368
269
374
237
306
319
327
323
290
321
248
272
379
211
350
353
288
360
278
271
357
308
273
409
234
252
343
364
239
262
304
310
302
331
316
263
271
376
394
325
248
320
299
286
323
224
283
273
347
364
353
362
280
310
365
354
285
349
219
280
382
260
346
301
282
243
240
322
264
363
242
306
354
341
417
295
182
388
299
343
383
358
335
287
410
300
282
293
355
311
306
356
390
355
229
392
365
339
378
327
313
306
356
313
310
354
273
311
284
240
359
343
392
350
324
309
336
352
290
355
281
237
304
411
335
275
286
328
356
299
342
250
344
326
356
381
325
370
236
286
268
350
220
323
219
310
354
326
356
255
308
349
313
301
236
317
325
335
322
367
280
219
267
304
270
302
315
318
347
265
339
300
347
348
322
286
365
351
333
268
312
305
294
297
292
295
282
367
409
310
369
322
268
336
327
349
394
314
305
337
330
267
296
381
359
364
327
330
319
358
299
334
313
286
357
359
345
280
308
336
365
313
262
396
354
213
300
303
286
339
402
323
345
362
345
414
288
308
401
288
288
371
400
408
303
317
310
375
241
316
284
267
377
377
277
381
213
339
351
320
346
323
321
274
241
246
280
368
287
381
303
350
355
368
302
188
268
301
300
328
270
326
256
381
392
398
298
337
259
241
286
229
332
309
293
291
376
359
324
324
262
312
307
235
382
303
329
423
402
343
360
310
349
340
341
243
328
321
300
330
320
368
353
277
332
300
337
237
331
314
283
359
289
320
342
253
214
361
337
266
362
270
382
426
248
392
357
346
275
293
331
290
318
323
267
343
335
385
369
360
380
331
289
183
286
250
341
395
302
369
232
311
340
382
220
328
340
234
268
251
371
281
343
227
400
351
348
366
385
338
336
311
347
331
313
283
325
344
321
276
319
375
383
215
349
321
370
307
342
324
330
300
325
280
275
261
355
296
283
370
358
356
297
374
349
338
380
244
302
304
356
329
270
207
368
360
255
253
281
329
319
414
309
301
348
343
268
332
332
372
325
329
344
253
232
327
336
362
322
271
251
299
323
275
359
322
295
311
435
367
300
283
313
336
358
337
316
287
277
375
270
266
299
273
369
345
290
271
322
374
255
341
283
339
323
341
274
275
375
284
266
309
241
357
187
328
319
427
281
279
231
296
386
248
311
330
350
201
337
272
334
317
341
327
280
272
309
283
360
285
280
377
341
297
394
302
306
298
322
317
283
332
337
355
260
276
326
286
279
300
338
334
279
357
271
272
285
333
340
383
326
280
318
309
340
281
358
352
320
269
352
383
326
283
197
315
357
340
277
270
253
289
316
245
215
330
272
328
251
359
338
314
310
262
325
299
304
342
406
339
275
343
379
365
272
260
339
359
290
369
335
294
331
380
417
368
255
356
305
306
412
341
322
294
342
307
359
312
336
297
322
210
352
239
360
222
373
361
313
293
346
297
308
370
263
297
315
297
294
308
313
322
458
365
274
280
261
337
323
283
371
370
236
357
323
355
345
290
283
319
297
413
324
329
366
376
392
348
373
297
244
318
221
350
283
369
339
324
309
307
164
265
348
227
274
358
318
239
331
363
316
307
338
264
299
307
371
404
353
286
310
282
260
367
332
362
347
245
322
334
326
347
330
314
294
339
443
310
309
277
342
314
315
264
358
274
380
376
332
284
280
392
376
300
320
259
315
355
374
343
311
253
368
297
367
294
254
270
344
293
380
294
338
312
275
315
283
327
328
300
254
339
294
281
315
334
275
374
328
295
286
290
353
290
342
326
314
253
281
330
326
373
364
294
291
332
357
347
258
309
320
307
431
316
359
337
277
273
369
312
404
341
392
320
279
335
310
301
270
310
351
313
420
335
320
332
263
318
227
316
262
313
267
308
375
323
349
263
338
306
305
365
344
421
329
295
298
331
367
369
404
355
288
365
292
405
343
258
324
299
368
361
319
240
376
341
268
328
281
250
410
253
302
221
343
320
334
266
278
240
310
391
247
333
201
284
272
276
339
314
321
372
323
292
417
333
292
263
351
291
245
328
343
389
302
315
293
372
382
308
334
359
351
303
350
318
374
329
383
365
284
356
342
295
317
310
292
350
428
267
263
332
272
286
347
276
238
355
211
286
332
275
259
353
308
235
286
359
279
363
305
300
276
395
333
286
209
330
331
259
393
343
224
336
277
327
317
367
341
385
294
357
328
255
274
254
325
250
308
311
266
275
272
347
384
242
306
331
321
320
314
346
313
273
262
303
269
266
323
279
304
254
216
352
335
282
281
325
293
363
232
270
307
349
372
398
288
347
317
386
327
303
291
331
435
262
296
300
251
352
359
372
312
316
390
257
284
256
337
233
297
204
352
330
360
370
399
340
345
405
387
273
310
287
328
256
291
313
347
332
306
340
371
308
274
282
236
295
343
223
351
296
393
283
283
288
271
366
334
293
344
402
259
385
276
244
324
225
363
376
314
265
373
398
233
352
406
342
242
313
347
233
253
346
346
279
220
306
344
320
314
257
313
340
326
330
327
250
278
331
288
326
341
310
293
343
366
245
242
394
325
362
329
311
332
345
227
393
351
292
280
322
237
375
313
306
283
280
296
422
321
360
281
237
217
337
287
313
264
353
359
380
304
288
395
386
329
375
354
270
343
270
386
284
304
265
307
310
360
330
223
317
324
335
300
364
278
372
350
293
260
294
402
225
377
307
328
344
288
273
288
214
295
278
294
297
315
380
290
337
260
316
336
313
374
280
295
330
316
339
338
266
263
326
360
323
370
233
247
304
287
215
350
211
339
246
304
374
214
320
342
301
269
296
376
299
303
325
332
220
408
356
380
295
341
324
228
348
340
287
316
337
341
260
303
259
240
253
293
349
312
313
334
292
337
300
330
326
315
277
327
326
336
242
382
344
319
344
313
290
302
352
356
256
337
315
386
327
340
334
329
307
354
310
365
242
319
255
405
259
364
363
344
281
350
277
234
305
275
267
388
322
322
276
355
302
313
351
273
359
384
348
407
243
272
244
303
324
230
270
231
421
308
281
277
397
263
341
266
345
332
258
364
291
315
323
291
328
370
282
300
298
281
284
370
270
319
320
263
345
359
322
338
298
285
266
374
306
387
242
296
382
414
269
366
306
333
275
270
355
322
349
299
250
272
258
292
291
382
376
327
272
253
306
302
313
374
268
291
335
398
281
310
285
296
303
238
365
299
343
332
332
338
306
290
364
236
270
324
377
281
288
268
311
384
296
278
334
258
294
367
247
309
323
286
356
345
257
319
348
310
352
246
273
384
326
317
291
291
291
293
329
385
353
289
303
344
324
284
328
343
343
284
291
334
306
290
324
376
388
347
289
253
356
297
232
296
293
305
270
334
300
352
353
307
267
327
263
306
267
311
320
217
286
341
360
338
333
228
372
333
297
402
368
345
337
271
342
248
372
227
354
394
375
366
296
325
339
374
265
335
282
405
252
292
366
365
296
272
316
244
329
335
307
306
382
327
355
326
260
366
225
401
330
278
295
368
255
264
343
263
394
280
272
288
259
278
360
271
224
285
241
336
269
359
385
232
291
375
329
325
292
292
323
293
437
292
255
379
292
327
304
356
287
359
313
353
360
292
321
354
307
359
370
334
316
314
312
307
305
360
332
297
304
251
370
351
367
245
382
387
293
278
408
357
288
330
283
328
368
339
317
320
281
253
310
327
348
372
360
391
310
324
329
279
339
280
305
337
275
294
324
341
334
340
379
276
365
238
347
357
266
293
290
259
326
354
297
339
259
288
307
324
237
384
305
304
252
374
316
270
320
381
346
327
322
333
385
263
330
256
307
320
308
301
321
248
316
375
319
286
256
298
352
301
269
308
350
264
304
287
275
315
358
221
384
311
357
416
408
219
283
327
285
326
329
326
316
325
245
268
386
292
254
298
294
344
305
374
275
338
291
311
373
262
345
324
353
355
293
359
291
290
264
334
269
338
270
341
310
397
267
346
382
331
364
297
350
294
231
263
319
295
256
357
331
323
288
309
307
326
236
278
332
393
291
388
339
325
333
227
338
294
366
315
364
325
364
314
326
312
320
382
312
303
315
279
269
361
340
347
328
284
252
400
297
271
361
351
314
308
349
346
300
281
264
276
345
271
339
276
325
287
344
343
321
308
295
304
317
273
333
383
279
244
362
315
374
389
381
302
303
268
326
315
318
286
284
275
375
269
372
304
274
369
409
328
323
244
270
285
323
316
291
305
339
266
286
303
318
306
410
259
337
316
349
269
363
330
277
261
280
295
234
332
320
294
280
256
298
294
311
312
284
276
363
264
323
329
296
322
344
324
416
324
313
285
342
393
333
276
277
283
346
351
284
265
287
238
257
314
298
330
327
282
243
319
276
198
303
333
323
253
302
358
309
290
226
394
282
331
339
366
254
447
377
356
322
332
236
233
363
211
265
326
282
283
339
328
306
267
327
386
329
377
264
319
324
328
355
291
331
262
302
307
355
321
338
348
377
398
324
370
287
326
270
213
337
229
336
349
253
316
219
291
315
302
319
302
337
349
271
308
302
340
311
244
243
340
305
302
335
273
216
326
241
302
310
431
313
376
255
327
331
321
371
261
319
332
285
327
316
317
316
325
243
169
295
304
313
271
280
277
304
254
341
249
336
319
336
268
327
348
321
258
353
315
333
290
209
368
357
364
312
341
356
350
353
324
221
350
296
284
261
337
300
361
360
343
367
370
247
311
300
264
331
317
304
302
396
395
287
335
309
351
337
339
284
292
269
368
310
336
269
262
314
319
352
396
285
299
380
267
379
308
314
266
323
286
322
257
308
296
242
351
258
297
302
261
343
311
314
273
283
295
256
392
303
309
261
396
382
312
263
344
332
335
315
326
258
322
403
351
268
291
307
374
289
326
301
383
400
378
302
292
263
225
311
383
323
309
361
181
267
326
318
290
361
301
311
330
363
251
287
331
276
360
304
365
234
350
273
352
347
270
239
375
338
272
367
257
302
270
351
273
303
349
225
266
357
247
293
325
332
330
315
269
437
260
288
321
312
302
281
306
301
326
262
300
302
313
332
324
316
411
252
331
351
302
340
280
360
306
303
345
335
248
347
357
332
417
310
300
330
340
257
188
340
344
287
275
268
324
299
246
355
257
292
285
244
296
278
316
334
295
263
311
282
308
289
203
349
317
367
298
329
233
333
253
332
189
297
307
307
262
325
369
365
326
238
288
238
308
339
254
280
307
296
328
255
339
258
273
334
330
270
220
228
298
328
380
313
355
291
343
317
353
363
317
355
354
249
358
273
252
327
313
343
316
319
267
321
314
311
286
384
287
364
354
340
357
287
365
303
304
309
298
347
338
313
307
268
312
287
146
332
355
277
346
219
287
237
276
262
300
396
395
330
336
200
225
255
470
400
368
353
302
338
400
321
306
320
299
256
294
304
339
373
329
326
349
359
314
242
365
320
349
340
305
253
333
281
318
291
364
299
294
300
270
369
270
353
287
308
325
247
284
356
288
317
385
293
273
312
342
321
349
284
382
322
343
332
305
279
336
336
344
353
323
291
276
198
335
314
292
293
298
211
237
217
347
351
290
292
307
385
349
305
297
312
328
287
223
317
332
294
349
360
339
353
379
378
322
294
333
315
342
316
366
191
211
252
337
244
392
314
255
240
329
338
229
339
337
267
278
322
319
319
300
338
223
367
314
336
215
329
297
328
318
341
250
327
275
336
331
272
301
363
297
355
306
261
311
330
356
211
373
272
279
303
319
332
248
389
425
278
378
210
282
308
275
322
277
234
300
382
302
273
337
363
313
271
315
313
250
399
324
263
257
297
335
328
261
402
322
293
364
292
350
343
249
268
282
298
441
344
354
287
273
263
280
285
276
264
269
320
323
358
294
325
326
357
221
335
288
229
347
350
286
372
377
414
373
320
329
349
234
337
331
303
327
347
319
400
375
295
366
300
307
324
329
312
332
328
326
312
320
281
350
334
219
312
242
263
296
297
338
364
277
345
348
366
304
347
319
322
353
314
258
358
315
258
306
363
297
385
311
313
279
340
278
250
203
357
281
262
330
249
293
295
370
340
272
288
359
325
363
253
383
340
313
332
319
351
317
308
216
356
276
348
324
360
310
326
234
279
343
358
324
305
329
373
388
377
267
318
234
308
339
296
246
265
272
265
331
316
331
237
350
368
297
320
305
319
323
345
337
306
241
292
373
302
383
329
351
321
309
267
330
361
353
357
370
269
296
286
281
276
314
340
259
277
309
371
346
369
379
295
305
303
411
343
299
278
331
345
305
309
302
323
284
287
267
324
298
325
371
310
331
347
328
302
298
303
332
342
267
229
340
248
416
249
244
318
371
305
294
206
341
323
390
270
278
343
344
315
351
302
349
350
341
354
290
325
285
321
285
416
290
332
308
318
291
331
289
386
324
373
271
331
291
348
278
251
240
293
327
273
318
316
343
265
381
268
298
365
244
343
354
382
333
353
286
321
324
307
314
251
278
302
348
304
375
358
311
320
307
294
372
297
267
357
271
258
297
260
300
313
363
271
344
319
348
342
269
335
306
257
331
350
249
377
337
301
278
273
315
262
288
296
305
237
279
302
330
294
313
277
355
298
348
322
359
306
260
327
294
293
328
380
378
345
136
321
306
258
282
224
337
281
305
357
364
299
359
310
336
316
337
315
318
342
280
354
302
396
306
313
367
247
356
423
348
319
310
337
280
308
339
286
259
279
257
310
337
304
211
339
345
331
302
271
348
357
295
312
207
352
273
405
355
295
309
288
312
327
349
308
236
317
234
339
362
371
304
281
398
399
328
287
295
261
253
294
322
431
338
329
385
262
364
286
310
367
391
335
361
378
364
304
282
330
322
294
283
270
278
232
372
304
237
359
264
368
301
248
371
304
239
288
260
316
283
330
366
311
247
311
312
276
243
304
283
308
354
358
339
300
368
418
291
273
323
371
290
325
391
241
285
272
313
256
339
394
358
251
276
234
370
277
228
292
314
348
271
315
353
291
317
339
290
275
249
379
352
284
329
264
344
389
280
330
330
349
329
323
301
310
273
331
286
235
392
349
385
276
305
304
308
282
254
349
298
333
365
268
326
248
352
263
296
359
371
288
344
272
312
345
335
330
341
323
304
308
293
320
347
313
295
315
273
244
343
291
347
343
254
302
234
348
324
315
354
387
294
327
383
305
309
317
270
364
398
332
339
309
325
213
271
358
230
356
292
276
263
286
223
289
391
342
264
353
362
424
270
228
355
319
312
355
335
342
352
309
296
363
395
332
343
302
182
258
304
290
338
365
400
270
326
314
332
313
377
350
326
271
361
292
327
382
335
312
349
280
318
286
366
385
357
306
338
340
300
320
337
357
214
318
297
371
291
332
328
356
314
301
317
266
288
273
315
294
362
326
322
311
375
265
300
291
359
327
255
340
364
330
352
290
364
330
326
269
319
351
343
242
257
353
232
274
363
317
336
299
372
282
247
325
279
333
367
340
282
259
341
315
307
301
301
247
232
399
313
368
333
326
353
319
278
352
341
333
378
304
247
358
232
269
332
295
391
261
296
328
342
415
283
277
229
305
320
329
292
334
268
264
327
285
311
335
238
376
362
383
275
316
371
244
289
392
290
347
260
285
309
288
361
282
341
353
331
329
334
207
290
264
329
310
407
314
348
349
297
286
321
322
239
301
331
283
266
333
324
248
304
396
327
416
290
369
336
339
374
315
367
257
279
303
284
382
343
264
336
397
321
271
412
301
316
289
342
300
387
287
375
319
282
298
326
253
223
314
259
255
358
358
320
336
278
320
293
380
247
320
335
383
352
248
278
265
346
276
242
312
340
333
302
363
308
393
333
312
402
343
400
315
296
255
267
320
314
337
282
210
342
287
296
396
308
270
285
287
363
348
324
298
365
260
312
224
325
342
351
275
290
327
285
348
259
229
303
363
366
374
250
301
408
271
280
313
353
268
305
390
354
394
333
286
329
361
282
284
278
281
391
226
340
308
358
395
326
296
292
370
323
334
320
326
315
262
312
274
346
244
380
352
375
315
332
320
316
387
280
250
312
296
336
357
309
313
294
266
363
310
291
347
348
385
402
324
311
415
216
319
356
299
359
331
394
296
269
417
321
354
365
366
288
355
357
311
243
275
325
254
312
318
333
303
345
242
349
389
373
390
381
313
264
344
363
289
229
329
307
231
345
291
327
383
353
276
356
297
391
350
273
345
322
321
351
254
317
246
410
305
220
391
333
329
301
342
348
288
273
262
310
378
386
378
320
313
332
289
289
353
279
325
337
287
294
263
286
288
388
298
255
260
332
380
296
344
372
279
344
314
332
293
304
292
293
339
335
256
257
267
304
318
360
310
285
313
262
310
390
360
366
267
364
290
283
307
334
299
264
271
271
375
319
226
380
280
291
276
305
363
291
247
385
316
373
385
318
289
310
285
303
261
300
256
380
254
328
265
360
278
312
338
344
318
283
372
314
294
297
359
341
314
332
253
297
254
299
312
257
273
328
329
322
343
334
341
324
211
365
336
349
341
281
302
346
287
255
367
392
399
408
379
324
409
352
316
319
319
408
345
342
283
336
232
368
349
356
313
316
248
362
369
318
349
329
313
375
282
304
276
281
320
331
311
311
319
276
414
302
234
299
320
226
298
347
290
302
291
345
391
313
367
229
346
341
356
299
314
309
317
340
321
282
296
309
221
299
292
345
326
260
231
331
407
341
356
255
372
374
289
257
300
278
286
353
320
334
393
352
339
351
280
309
349
326
320
284
341
287
285
390
366
287
319
325
317
310
361
293
331
296
264
317
247
335
381
307
285
338
277
332
278
342
308
247
221
203
341
285
361
327
298
358
328
245
257
318
336
318
252
315
385
322
340
308
317
210
328
255
341
307
298
261
301
268
385
393
307
341
300
282
291
309
226
394
320
317
260
323
395
295
354
371
361
265
256
339
297
373
295
242
330
340
345
347
294
373
373
356
297
316
308
296
280
342
362
399
321
360
299
357
324
377
191
299
270
311
325
282
235
363
182
301
328
299
264
334
195
353
319
313
359
310
244
265
298
310
345
341
304
238
357
379
323
355
284
344
235
324
325
396
287
336
306
322
305
320
327
332
329
379
348
291
383
248
231
262
353
291
301
276
311
297
339
340
337
346
324
353
351
337
365
254
304
321
369
322
342
348
297
331
323
397
357
270
310
289
337
270
313
366
339
307
308
298
341
268
304
340
282
372
351
334
357
353
260
284
307
341
334
266
265
269
291
415
379
281
357
349
283
425
303
296
346
345
289
348
299
295
298
352
274
347
360
346
290
328
334
266
324
306
307
334
304
357
259
313
338
280
385
367
329
345
233
310
379
289
248
344
365
311
286
305
315
306
313
293
355
384
289
305
263
361
408
315
324
242
253
282
266
279
242
297
277
338
362
303
343
268
367
309
278
353
271
317
303
287
381
345
335
276
339
280
327
371
278
360
387
372
301
303
287
307
273
297
325
346
344
290
315
191
288
280
258
298
374
309
309
320
269
371
402
336
368
301
348
389
236
310
345
281
346
254
322
269
321
288
310
377
359
279
267
358
311
311
314
320
347
343
317
211
284
306
327
383
295
235
346
274
291
319
293
355
294
353
265
319
295
271
315
287
275
276
343
319
340
398
354
315
300
307
273
366
304
394
285
345
257
414
338
364
310
293
349
332
382
258
277
267
372
395
294
312
277
362
268
320
295
278
307
353
239
248
282
304
433
361
322
311
349
333
279
320
327
316
290
294
339
304
345
204
334
377
308
266
241
370
225
295
255
310
312
323
284
312
331
332
231
341
289
301
312
444
293
293
327
319
298
400
352
284
238
381
260
358
346
272
313
229
394
367
319
228
281
299
245
300
349
288
277
271
349
316
311
311
251
354
288
297
282
306
283
372
267
293
282
292
284
333
359
301
337
301
408
406
301
287
308
334
239
302
358
265
337
294
316
345
315
326
278
338
345
334
292
298
295
387
302
290
358
361
353
259
293
351
281
372
371
270
311
306
321
299
347
320
314
438
349
325
380
381
360
335
283
282
318
280
327
227
248
209
281
334
181
320
337
342
340
351
331
359
369
294
289
344
318
419
351
254
231
310
315
335
341
405
260
248
341
251
311
301
279
313
343
323
317
355
305
335
328
338
249
358
338
400
298
331
283
272
232
341
348
373
278
292
293
307
289
279
356
295
227
294
330
287
321
334
343
304
300
320
315
234
276
310
268
328
294
335
359
257
326
274
313
371
315
370
327
326
297
292
351
326
326
361
348
242
254
378
309
314
321
245
286
318
265
344
375
305
400
288
287
307
263
316
273
341
234
263
378
295
365
318
219
295
309
318
296
362
264
334
250
320
335
374
325
346
277
413
294
315
306
374
302
413
343
309
357
281
334
292
341
314
357
375
383
293
375
329
295
247
233
222
358
378
359
368
339
285
336
329
260
296
281
351
274
264
298
281
241
371
345
339
379
335
318
267
383
324
301
280
315
263
395
301
325
335
355
295
328
283
339
287
240
309
362
288
343
288
298
287
295
386
348
259
284
269
322
271
289
357
253
393
350
277
271
387
195
257
314
330
382
386
337
356
265
308
269
236
363
300
344
246
229
297
281
328
306
288
333
363
262
265
365
359
365
259
270
407
298
321
407
287
261
346
398
279
301
294
366
271
268
377
415
314
329
241
311
305
320
381
311
254
363
304
366
275
379
299
327
289
307
260
310
292
403
234
340
424
334
329
309
256
319
376
355
242
365
231
354
296
278
313
352
312
370
275
298
346
352
280
271
387
239
340
303
283
346
322
241
358
355
284
318
354
244
324
301
329
337
276
340
277
280
279
378
345
318
340
268
366
276
402
320
324
304
334
406
322
363
299
330
345
351
214
317
346
375
263
319
322
257
353
345
384
333
331
299
306
392
279
317
305
328
302
277
236
286
319
338
222
315
316
298
361
303
320
327
312
348
342
229
322
277
267
289
370
349
246
355
288
333
384
355
271
299
289
338
309
264
346
326
249
312
257
286
317
281
429
327
419
342
332
364
303
253
297
311
461
381
246
274
358
245
364
282
270
343
347
311
337
306
329
311
296
344
323
240
283
317
312
306
241
277
308
226
261
334
364
313
297
373
299
359
385
255
383
317
330
357
275
317
327
313
289
389
367
354
385
409
346
337
310
314
251
369
384
349
227
344
226
300
313
344
353
332
296
361
313
284
363
270
310
359
274
258
337
333
266
341
358
343
335
359
276
328
350
333
311
378
284
357
397
344
305
308
258
279
237
303
314
330
293
375
335
312
291
330
237
361
281
282
307
339
355
323
328
299
336
279
386
323
208
227
323
263
397
380
277
392
253
297
273
296
184
269
349
365
303
251
241
335
340
293
310
277
312
329
355
350
280
327
289
310
297
302
253
380
292
372
270
346
272
347
320
360
391
258
294
319
388
313
366
283
318
308
282
345
273
289
321
281
304
299
272
348
374
295
251
251
341
368
351
327
370
302
374
334
279
305
346
371
311
327
393
343
404
267
228
324
329
307
334
304
269
322
375
325
343
378
251
368
285
367
357
271
363
326
387
313
324
270
319
372
363
275
318
287
228
345
276
400
303
336
318
320
358
342
327
296
275
359
323
344
342
260
363
358
310
328
317
293
243
317
368
358
312
229
290
359
306
221
203
263
386
376
341
339
359
339
433
306
310
380
302
314
386
282
343
334
260
340
316
341
343
291
323
310
447
297
360
334
373
299
358
317
309
277
266
329
329
337
282
277
321
366
278
299
293
341
353
245
353
412
264
303
409
319
234
354
309
360
304
232
328
333
326
303
240
251
278
298
341
314
144
263
253
306
417
293
271
275
340
373
240
361
347
296
274
241
288
326
353
302
265
251
274
197
307
308
262
323
237
319
365
290
370
284
361
329
292
332
295
238
271
330
372
355
317
280
255
343
347
255
304
301
265
334
283
280
358
329
222
271
263
281
353
288
316
305
357
398
354
352
333
279
306
254
280
297
309
292
327
330
312
390
331
283
340
259
350
275
272
283
356
305
222
337
313
377
274
392
339
365
333
307
314
273
345
331
278
333
291
329
315
281
237
361
378
337
281
313
316
297
370
282
312
284
247
295
260
294
310
301
352
234
326
357
252
309
302
304
274
311
366
277
344
264
312
348
310
358
301
295
333
337
271
281
245
321
308
327
311
282
416
320
344
268
364
288
336
345
359
366
285
362
279
243
392
253
245
265
281
282
321
307
325
329
265
310
344
255
318
263
310
216
249
295
338
409
251
370
278
398
320
356
296
369
242
245
352
340
345
334
268
240
329
356
328
314
348
318
322
335
340
335
343
344
288
386
304
302
348
321
336
302
319
359
352
344
348
258
349
256
295
313
305
282
335
303
290
335
372
271
284
282
300
216
256
269
347
313
317
461
297
360
271
319
299
315
238
330
309
300
344
317
323
363
214
315
313
310
325
314
306
326
377
305
342
376
338
305
294
315
280
300
314
353
249
311
354
306
330
311
203
360
304
322
285
300
284
289
244
370
317
334
356
247
251
270
293
257
336
344
348
301
386
359
296
257
255
269
284
313
335
375
352
368
355
370
264
284
338
362
311
363
317
341
308
372
284
364
318
311
402
220
228
355
359
304
225
212
362
300
312
343
276
299
288
312
378
314
288
296
299
293
280
365
319
313
276
412
319
364
346
309
288
288
303
273
310
206
306
352
339
298
240
383
264
381
349
376
336
293
298
281
260
348
280
307
258
316
288
297
315
214
289
285
311
319
377
357
295
228
307
355
278
347
336
405
232
274
352
337
403
432
383
361
289
387
291
380
328
279
312
269
307
281
284
301
315
355
300
338
361
369
318
299
388
328
301
282
362
343
320
362
298
280
299
323
277
400
376
179
256
338
415
331
339
291
375
266
335
342
308
315
326
329
327
288
317
337
394
357
300
331
342
318
290
245
341
255
294
336
261
325
348
272
338
332
340
320
366
271
305
243
235
289
303
359
305
359
334
326
248
355
357
350
272
367
207
291
195
212
281
387
286
282
313
315
260
411
394
308
338
246
337
312
347
271
334
277
368
300
205
344
349
324
264
292
333
205
289
312
385
323
296
319
321
399
256
284
393
287
347
300
335
255
388
321
340
254
355
331
208
312
248
344
245
331
262
359
308
375
380
252
366
273
295
337
315
244
326
277
383
354
352
312
325
353
293
317
253
266
349
254
311
377
352
310
279
283
313
328
280
388
370
311
302
337
276
299
319
290
338
303
279
330
403
350
264
228
315
304
242
362
343
309
344
353
349
304
375
381
296
433
321
369
258
296
267
311
361
298
323
308
405
358
298
278
331
355
321
333
317
363
294
368
327
326
409
340
310
285
293
342
263
311
328
333
232
343
329
367
224
252
280
235
328
293
258
215
394
264
356
258
304
268
314
256
342
262
297
287
366
326
278
282
230
338
256
450
214
330
255
371
320
296
242
279
311
302
377
302
335
378
143
385
333
307
267
290
280
305
338
290
300
330
362
254
366
351
312
356
242
351
346
318
324
269
297
361
334
259
364
292
257
312
389
254
262
372
359
368
250
290
318
314
357
350
369
330
288
296
301
262
255
321
306
396
318
400
337
279
274
352
317
292
343
273
299
300
258
337
327
272
320
381
316
276
280
306
334
296
314
395
279
316
332
273
333
348
208
284
352
313
263
273
284
287
238
361
379
312
372
313
249
337
239
338
312
337
258
328
231
326
285
458
269
328
350
288
362
358
272
261
272
293
313
283
229
309
314
321
386
309
383
380
370
316
357
283
260
307
329
303
299
348
375
297
337
335
353
318
289
292
317
258
278
359
353
295
251
235
305
373
346
278
300
209
350
401
261
284
365
272
204
263
280
224
368
371
310
304
302
280
310
292
318
219
258
249
295
288
330
255
349
356
361
311
338
289
238
270
372
303
350
379
242
270
329
285
389
295
299
400
322
347
307
285
285
291
262
289
255
317
323
298
390
182
284
298
337
271
263
263
259
356
288
340
319
275
292
312
226
360
226
297
325
340
327
373
280
309
349
235
282
371
331
304
298
346
341
319
329
331
280
307
328
303
274
253
294
364
337
339
327
323
323
361
246
380
285
304
277
363
351
307
358
250
388
280
304
353
362
336
310
321
270
384
370
357
330
405
342
337
249
291
351
266
301
303
305
331
298
347
255
349
350
364
318
259
326
332
337
258
354
324
311
283
398
338
311
284
294
302
371
365
418
332
330
326
351
347
297
345
399
295
319
302
267
298
364
227
353
422
326
343
358
295
299
416
303
341
358
364
313
359
293
302
263
261
304
390
287
248
321
254
302
349
270
287
317
307
225
308
345
281
349
284
327
223
273
281
350
255
336
283
335
427
332
331
376
292
308
291
347
276
303
291
340
361
348
347
349
335
310
311
346
289
402
235
364
304
283
347
264
392
334
230
279
372
249
312
289
350
258
252
318
253
319
273
349
278
320
297
326
236
359
266
356
340
270
406
255
335
304
314
311
377
344
342
319
350
378
350
305
305
394
381
340
346
242
266
292
329
289
282
429
408
320
267
193
355
324
317
345
313
268
276
301
310
221
322
355
273
306
240
345
288
290
278
304
345
239
317
298
378
247
318
355
363
303
243
314
323
287
357
303
306
330
339
388
356
226
298
267
257
282
308
300
296
357
308
317
347
313
282
348
325
317
279
265
202
384
318
338
301
370
304
371
325
379
310
345
297
311
372
228
316
387
346
323
356
336
342
305
306
189
405
301
201
318
269
365
361
256
328
298
337
295
327
272
290
325
377
324
312
314
281
301
287
249
323
362
351
387
288
364
334
299
341
326
296
166
342
266
349
304
340
265
315
314
348
336
418
321
348
250
258
255
366
352
279
356
289
331
283
264
348
320
332
242
354
366
313
331
327
315
235
311
260
330
272
339
258
336
383
288
338
306
297
324
360
266
310
377
273
321
334
306
310
258
301
363
334
376
303
327
358
364
306
325
283
305
353
367
403
379
323
344
350
337
271
322
212
364
348
216
367
396
236
374
328
297
212
233
294
285
297
312
343
350
319
335
202
368
328
340
297
253
317
271
327
294
278
329
329
370
330
243
323
340
336
264
248
252
274
263
406
295
294
300
308
286
267
323
316
291
371
317
291
307
353
236
314
323
289
279
293
284
305
377
251
329
284
404
303
267
291
356
316
335
334
282
330
330
312
298
356
323
172
315
356
272
370
313
331
340
392
317
322
300
424
310
250
277
344
304
373
283
422
325
241
314
237
344
268
383
241
304
288
228
311
423
362
266
323
336
311
342
336
277
297
276
328
321
332
294
319
272
330
315
379
352
299
292
284
379
365
312
347
298
420
239
375
360
396
368
309
313
222
386
300
293
347
231
255
307
309
301
342
311
253
415
348
266
295
299
231
327
264
355
338
322
346
386
269
287
241
279
235
296
297
363
408
344
305
316
315
330
378
255
194
371
320
390
212
302
355
328
366
378
234
340
343
358
327
317
307
307
328
320
313
288
368
320
300
267
353
345
321
291
252
288
360
273
322
340
363
374
318
362
221
268
330
350
257
289
362
214
352
237
285
366
305
319
290
350
256
299
305
305
238
430
390
308
311
334
346
302
289
337
319
363
273
274
377
352
400
258
316
314
282
283
357
342
338
325
344
369
389
397
290
267
354
346
354
319
232
308
296
200
384
327
312
348
303
253
220
298
360
353
331
312
308
352
343
292
388
264
286
353
359
230
327
409
275
313
341
278
323
360
316
330
351
325
260
331
399
245
339
294
288
260
289
304
381
350
248
350
304
317
286
299
251
389
259
389
318
354
331
288
319
240
302
246
307
296
290
294
314
313
324
267
280
283
297
305
318
265
365
252
344
312
279
361
294
339
319
368
344
321
342
266
286
325
352
319
336
343
299
327
310
346
349
271
356
267
379
361
270
391
339
307
294
306
246
295
323
260
409
338
337
297
353
292
283
287
288
338
267
382
325
262
334
234
295
399
334
251
342
361
425
304
288
384
272
308
387
379
222
310
319
344
306
228
293
304
370
266
393
277
389
359
328
373
332
311
323
334
361
355
205
372
344
332
309
336
351
327
302
289
436
341
303
341
327
256
340
264
399
360
271
253
298
283
287
320
413
326
317
284
292
343
330
384
260
372
331
297
310
284
272
295
263
307
356
254
321
377
308
293
325
350
301
349
311
280
296
344
227
362
316
362
253
315
361
260
247
335
373
346
298
316
401
361
297
236
410
322
325
316
334
386
376
363
387
276
307
340
325
235
318
330
284
363
334
305
268
278
282
343
346
376
323
262
275
328
357
302
362
327
344
222
298
337
248
254
419
308
357
323
300
291
311
283
348
375
302
383
394
281
341
380
243
318
223
246
294
290
189
380
292
352
336
255
284
357
420
285
308
270
340
357
303
317
357
303
272
268
322
309
399
314
344
312
269
329
330
333
310
294
310
247
333
267
230
311
377
358
303
384
319
389
260
299
320
308
258
319
287
332
292
342
300
398
371
303
353
324
302
291
348
325
353
280
336
231
363
416
288
360
343
338
247
264
335
338
315
338
297
334
300
327
379
290
295
386
375
243
328
299
243
242
296
232
347
305
321
325
272
308
305
258
353
365
259
258
294
217
298
247
257
316
288
385
351
227
225
218
303
308
349
344
326
325
326
342
295
322
328
307
322
404
296
254
303
311
346
318
308
287
294
360
328
382
366
283
241
302
256
293
361
353
325
364
300
368
428
246
303
380
348
388
329
319
338
284
315
261
310
279
362
219
342
353
206
345
319
299
278
389
333
328
319
314
270
322
360
339
219
329
253
303
294
312
238
330
296
361
227
325
294
364
292
331
386
305
264
292
325
280
268
299
339
311
257
293
201
301
300
311
281
378
389
294
376
323
267
366
201
227
360
375
371
280
364
271
295
319
294
239
243
362
360
295
347
293
372
276
337
306
287
294
355
411
294
331
307
315
298
288
386
291
233
230
284
280
343
327
201
273
313
332
333
322
323
314
337
359
336
283
291
364
390
249
321
355
308
340
313
390
276
368
318
310
321
336
321
329
363
317
288
325
277
397
353
266
234
348
343
233
382
283
286
313
304
321
389
277
361
322
285
255
323
281
343
308
353
305
287
315
225
312
289
330
318
258
241
376
292
338
278
217
278
330
352
348
324
314
329
320
325
362
268
322
359
398
366
280
338
356
280
334
392
308
256
302
345
250
283
306
320
288
280
303
272
299
282
321
309
278
283
270
257
296
349
242
251
399
309
330
302
291
360
313
336
293
353
332
372
345
300
213
342
315
350
315
321
340
332
315
208
334
359
305
322
320
345
389
339
364
329
275
334
332
342
307
366
289
364
321
252
330
347
267
319
295
329
340
361
279
328
258
246
311
307
284
330
410
264
322
320
252
300
300
300
301
360
344
268
221
234
348
219
305
260
365
369
392
299
290
317
430
379
239
346
330
294
256
307
270
353
290
310
399
317
342
360
278
363
301
319
323
266
356
236
356
353
308
310
302
341
326
296
283
254
285
309
291
259
310
291
388
273
320
246
369
304
354
349
289
286
374
186
293
401
302
269
333
354
244
310
295
283
330
249
329
339
337
352
341
318
338
273
401
303
297
322
315
337
311
298
334
320
350
319
283
303
361
297
289
360
391
340
384
335
348
249
264
320
344
288
334
403
248
311
346
301
301
283
297
321
310
279
366
280
282
350
360
301
327
247
301
392
326
262
348
302
331
305
363
347
317
401
321
352
316
339
322
373
311
264
358
310
245
299
236
268
378
271
301
375
268
290
314
313
280
309
230
328
321
347
207
311
342
309
399
280
332
288
325
325
295
344
315
334
331
274
376
315
349
340
229
337
234
262
357
281
242
373
250
295
359
287
226
310
301
280
343
294
322
365
175
363
325
355
387
411
351
281
310
293
318
317
341
333
396
399
355
280
330
291
304
299
369
236
319
314
274
344
239
325
237
324
368
301
307
300
305
374
201
305
305
307
265
307
385
292
233
252
255
296
356
301
356
285
337
354
355
316
273
335
277
298
365
248
296
300
329
422
311
335
302
266
280
305
265
307
347
340
261
335
386
356
310
314
350
305
253
367
301
344
312
258
308
323
366
288
330
311
254
367
403
304
355
315
317
387
413
399
286
372
217
258
333
319
297
318
253
313
320
238
337
321
306
334
239
392
393
310
341
312
317
316
309
319
260
298
344
282
304
224
289
278
303
287
430
323
325
324
347
364
313
269
256
298
363
249
370
293
268
291
264
285
331
251
349
302
415
344
312
326
326
297
319
303
283
313
362
257
281
270
286
288
264
352
302
306
256
361
324
317
379
349
361
365
307
246
239
336
317
373
386
358
214
324
307
322
290
324
291
302
411
309
345
386
311
330
344
301
367
359
275
363
321
281
374
332
336
290
318
269
320
335
259
362
332
303
230
314
343
297
230
325
315
344
268
326
284
392
314
249
290
281
351
297
288
330
329
349
328
217
322
282
311
291
349
380
334
257
314
347
347
224
346
303
379
264
257
382
261
301
267
225
326
319
353
293
363
340
346
334
335
290
319
278
266
306
313
233
217
292
233
346
273
368
306
221
353
313
352
272
340
301
342
305
311
276
306
295
292
393
291
315
275
393
367
282
276
339
285
347
246
323
298
389
297
312
285
316
259
457
350
338
387
312
327
308
385
227
392
327
325
323
344
317
426
235
385
357
240
307
285
263
319
297
262
311
329
344
262
378
338
418
282
366
313
312
297
320
308
350
294
331
260
327
374
295
305
306
242
323
301
367
260
358
257
401
292
296
252
345
204
335
221
412
295
296
354
264
281
292
321
388
276
308
290
281
334
334
396
323
337
385
285
321
208
216
311
285
326
332
353
331
353
283
276
247
355
304
344
377
343
365
312
283
283
334
389
309
255
301
373
243
376
244
270
318
332
248
356
353
309
341
337
350
292
246
315
304
205
275
301
329
349
278
342
324
324
315
293
319
248
344
293
334
225
272
350
259
275
352
289
388
304
276
271
390
333
306
303
328
297
368
334
384
251
306
303
391
341
327
364
387
292
241
324
298
246
309
262
261
333
298
390
226
347
294
345
288
320
255
355
298
304
235
340
307
269
356
323
319
356
286
337
305
322
308
335
300
288
294
245
424
302
391
333
320
319
272
349
256
397
345
357
336
280
269
286
369
313
318
328
278
367
237
273
252
303
314
320
386
295
317
277
332
265
343
374
415
332
267
241
345
386
340
354
275
346
381
193
301
297
241
306
278
336
363
368
390
244
343
345
240
395
326
285
271
350
297
333
261
300
348
308
265
241
290
355
248
309
333
425
264
279
350
304
222
247
330
379
279
322
285
282
296
247
278
381
286
267
270
273
355
287
344
386
292
354
304
315
294
293
305
345
314
349
327
293
305
343
310
285
314
301
421
333
327
265
286
361
358
345
315
317
311
297
319
347
318
337
274
304
285
363
306
303
331
342
308
231
376
373
278
415
359
341
281
308
324
292
372
279
295
288
335
307
387
349
284
292
291
326
356
328
313
279
256
327
302
294
346
331
361
394
257
314
295
303
318
316
329
330
210
286
351
324
330
306
379
316
313
309
248
242
300
408
354
325
289
243
335
233
337
402
331
327
383
305
335
364
337
300
350
321
361
264
320
303
273
332
316
331
317
319
276
281
314
318
288
263
277
308
316
347
345
286
242
281
238
355
320
322
353
353
351
339
264
373
277
314
319
318
258
307
300
247
309
279
301
361
287
328
299
288
306
298
331
366
344
288
392
342
335
341
315
267
294
248
396
351
302
357
295
234
312
360
300
332
309
353
345
359
351
253
284
405
276
292
310
288
269
390
260
317
386
407
325
314
264
329
312
321
303
289
322
272
412
332
433
350
263
316
306
376
295
315
400
323
341
314
363
343
302
305
317
293
250
360
314
294
318
271
334
353
295
292
380
331
280
282
322
340
296
280
307
291
322
341
264
399
292
361
320
325
318
362
331
331
349
290
275
292
364
321
362
317
324
382
191
331
314
307
328
317
370
289
346
310
332
282
281
292
420
244
294
281
257
269
310
230
297
308
298
373
283
288
340
329
337
317
283
236
274
326
241
263
321
297
266
263
311
341
335
328
311
344
318
283
375
289
278
313
265
286
283
309
356
308
339
280
255
397
291
267
386
386
347
332
329
322
301
314
294
403
330
280
338
325
284
295
318
388
359
294
337
307
334
228
264
296
413
291
369
394
276
280
404
279
316
293
253
294
346
370
283
298
351
292
264
364
370
308
260
385
308
409
295
253
327
385
355
391
280
399
401
413
366
207
325
289
332
303
303
281
370
371
267
319
306
249
284
343
280
411
317
295
361
348
366
386
216
306
351
267
242
342
268
320
315
365
336
303
337
292
349
363
337
318
256
293
310
338
370
337
322
336
287
344
361
367
322
262
364
271
290
358
395
355
328
338
270
241
291
379
385
309
254
221
313
334
307
363
289
327
239
309
354
414
375
344
351
352
323
343
299
356
351
334
320
295
274
400
233
284
321
393
276
288
354
248
325
331
355
325
271
327
335
296
314
299
327
355
268
216
350
326
259
355
252
304
340
392
320
371
294
311
292
385
404
317
330
329
357
350
360
291
304
310
343
200
231
306
263
345
257
318
261
361
371
306
284
335
284
321
309
359
329
361
340
296
389
292
322
302
239
387
331
304
320
321
252
292
299
349
346
279
372
291
285
303
328
403
343
368
331
309
277
340
353
354
228
312
257
362
332
260
196
335
320
333
330
300
321
288
319
283
341
303
270
312
289
355
353
309
288
340
283
326
315
338
259
304
325
272
335
340
295
279
322
332
368
290
334
381
357
340
271
321
299
288
365
295
386
303
366
284
346
384
288
371
300
323
271
248
335
245
396
338
346
272
348
310
221
307
217
262
328
370
289
301
325
315
348
275
373
291
285
270
246
335
297
352
354
347
315
363
345
333
319
324
331
244
283
369
289
322
357
285
361
377
367
341
392
263
316
305
271
311
266
240
309
267
368
344
329
289
374
257
274
309
267
390
371
298
271
358
325
260
348
395
269
263
382
268
287
277
317
341
305
315
343
338
387
343
262
347
391
284
309
284
316
297
226
293
352
287
390
356
208
356
266
312
321
333
315
271
287
349
320
391
335
290
326
332
324
338
330
374
299
339
213
214
343
268
335
288
233
354
344
381
315
236
264
295
340
310
231
357
281
275
361
318
233
315
266
338
295
280
314
286
362
389
272
347
276
339
356
311
315
244
314
281
300
322
411
309
372
359
310
350
306
229
346
307
349
259
328
265
368
288
277
347
297
405
336
424
304
328
323
295
300
321
324
281
282
296
326
273
303
413
324
371
360
332
360
299
321
365
421
314
382
336
287
288
337
294
272
295
304
337
271
296
312
324
344
289
283
296
326
278
381
348
313
319
229
377
324
312
310
286
195
342
318
432
405
318
320
249
244
338
349
383
247
383
333
350
317
287
299
358
348
370
247
294
220
324
339
335
375
291
344
282
321
311
318
291
254
234
301
231
281
194
325
324
322
345
232
322
324
219
291
301
289
247
291
274
274
356
345
372
285
334
312
323
285
357
205
295
362
389
350
243
303
395
309
314
301
373
284
270
320
258
285
134
234
299
203
352
288
276
278
385
341
300
243
364
332
401
283
379
339
277
320
287
331
321
292
379
281
328
331
272
362
261
314
291
250
243
282
302
247
316
282
300
344
313
213
268
345
354
294
332
341
244
283
293
302
244
275
328
369
300
246
284
351
311
324
296
339
324
321
307
257
297
301
299
325
298
432
272
315
242
341
301
325
336
353
260
214
385
312
323
333
261
356
388
309
362
268
318
303
349
399
204
354
262
260
344
234
370
305
331
300
260
348
305
248
318
328
304
339
356
342
275
238
238
277
248
273
342
246
291
267
380
362
313
315
310
238
317
335
294
247
350
293
241
323
299
360
413
340
340
294
297
310
315
305
317
280
265
403
351
255
308
354
274
294
432
292
274
385
313
299
295
330
300
292
375
310
281
287
344
322
375
346
327
319
295
408
274
357
337
344
321
246
270
356
372
327
292
258
253
300
372
399
369
306
359
291
372
281
317
281
280
276
384
252
315
224
300
347
237
373
284
327
374
347
281
237
307
273
321
292
286
235
318
279
298
344
336
205
368
291
345
377
450
305
379
327
360
321
387
362
400
306
275
274
341
278
306
355
360
287
311
302
363
310
308
346
330
341
329
370
296
307
336
360
324
318
326
377
354
286
354
320
286
321
308
349
345
285
316
323
299
336
384
206
202
355
323
354
253
303
323
319
358
299
352
322
345
302
329
335
337
246
231
258
258
321
313
279
276
285
309
320
215
328
404
288
322
238
285
346
302
339
307
298
372
270
274
294
294
341
367
302
285
334
319
313
258
337
350
374
322
401
312
339
178
336
295
337
243
300
338
379
349
285
352
358
264
250
346
312
205
382
258
308
338
358
343
301
292
278
309
222
293
253
296
295
254
323
326
378
350
348
298
288
275
301
280
331
246
350
325
298
378
279
268
376
275
318
312
309
353
331
345
338
343
227
203
315
364
309
360
275
307
251
323
286
381
253
271
339
290
358
368
283
361
334
377
339
313
344
368
323
275
312
316
333
325
312
335
267
304
282
329
362
368
342
269
360
326
309
284
283
316
322
329
314
305
351
356
320
331
370
369
300
291
279
338
380
348
324
333
291
309
392
286
293
422
236
252
328
304
359
323
343
317
291
241
272
310
374
229
297
348
343
296
309
306
244
271
381
366
325
315
250
325
294
232
373
385
340
275
326
324
330
315
362
326
258
258
241
334
348
366
277
324
336
324
246
230
350
306
261
356
374
216
285
316
279
298
380
354
252
383
303
274
315
255
358
255
283
278
336
275
307
254
431
331
353
252
371
290
348
266
308
383
313
263
362
238
259
367
378
253
362
369
322
308
322
355
421
264
345
409
404
290
329
361
311
297
314
266
320
321
385
328
340
288
224
255
328
309
388
280
307
284
294
322
345
341
335
332
400
348
286
295
248
312
290
308
305
370
374
247
361
281
349
393
306
362
283
392
256
211
272
338
333
310
312
333
292
299
359
290
300
281
299
297
344
297
319
383
242
363
390
319
293
361
330
380
310
348
360
333
342
262
263
335
298
414
332
394
426
249
296
334
331
338
374
335
393
333
367
272
334
184
312
403
296
269
226
270
382
343
312
350
305
270
326
319
360
342
348
263
316
284
345
303
279
313
374
295
292
270
333
314
405
298
363
338
307
378
201
299
330
336
401
200
275
279
301
292
190
334
223
231
352
295
314
319
303
318
311
277
330
254
241
383
308
181
260
290
286
356
362
348
282
341
376
372
262
290
275
206
321
348
372
298
296
307
275
281
399
382
300
277
364
224
219
302
402
268
281
263
299
377
314
291
373
346
221
320
373
333
298
340
337
285
327
324
327
371
412
219
311
383
371
304
308
241
339
303
276
290
318
353
295
300
325
230
219
376
318
232
251
404
331
260
311
337
328
377
256
324
364
309
257
356
266
364
317
304
341
315
234
366
270
303
242
241
257
331
256
291
362
348
298
370
274
304
263
302
347
333
277
315
383
309
377
335
303
404
292
313
336
320
387
315
344
207
283
257
336
359
328
306
305
315
263
319
367
294
260
349
233
390
329
349
343
293
263
329
370
331
375
288
291
338
301
225
349
292
283
307
217
304
314
306
382
309
363
254
295
312
243
363
325
303
305
382
259
339
326
311
310
255
303
388
251
241
236
330
291
323
289
269
371
265
376
401
310
354
258
325
244
274
284
330
376
264
347
312
233
294
358
343
268
278
330
293
326
380
352
326
411
349
316
237
362
243
282
326
218
292
292
285
408
268
261
298
300
320
319
287
258
290
344
374
375
269
365
365
284
386
311
307
323
310
364
287
294
347
310
343
385
294
346
340
328
288
383
374
266
294
306
312
318
290
236
316
389
259
316
241
317
378
259
376
331
367
335
282
249
373
309
302
206
280
347
349
384
279
316
266
381
354
294
336
298
358
356
281
305
393
306
320
383
309
367
336
355
301
219
325
330
294
360
297
315
345
357
329
331
330
281
394
320
257
329
386
318
275
327
355
328
379
287
330
254
395
371
348
350
375
308
338
307
361
304
331
352
279
330
351
268
232
349
257
318
313
309
320
306
342
322
301
332
340
380
373
299
342
381
298
321
354
315
311
238
310
349
403
327
382
339
409
307
323
360
379
362
286
325
356
318
282
332
296
267
311
337
382
337
311
298
270
334
381
321
338
312
297
319
276
224
242
333
312
301
293
297
325
375
337
285
330
262
329
317
271
358
194
295
316
323
348
294
381
333
250
311
383
309
322
380
225
301
240
329
272
224
340
337
340
349
319
288
286
337
289
328
322
341
279
278
312
314
273
301
370
352
355
353
311
365
315
251
255
349
326
377
395
336
344
317
351
245
261
358
325
364
338
313
303
342
337
303
385
307
267
305
265
320
320
296
328
279
338
265
287
320
313
274
274
272
379
364
302
326
339
298
388
356
237
318
316
306
297
353
262
336
418
294
365
365
275
328
336
307
403
268
314
359
356
314
332
357
298
221
231
259
368
362
352
375
262
282
271
402
370
224
341
286
258
394
299
338
272
276
357
320
333
319
322
344
217
299
409
348
218
286
270
285
290
321
279
306
347
348
293
309
316
316
311
334
345
256
244
307
374
302
361
277
295
362
338
312
340
295
342
362
341
332
406
327
326
353
254
406
381
315
429
244
302
320
371
286
273
409
301
244
313
351
289
348
302
330
335
284
303
347
290
372
302
307
317
320
325
306
268
314
264
350
297
354
386
260
243
361
390
340
378
326
316
414
325
347
319
206
381
373
307
253
264
316
245
343
280
292
391
257
260
292
332
346
363
303
264
293
344
349
315
286
276
289
323
311
295
323
411
361
272
385
286
269
301
346
377
333
334
346
321
264
275
251
250
242
369
373
366
302
403
284
312
328
230
388
367
339
240
318
329
338
353
351
292
303
287
258
256
274
271
350
357
340
417
306
391
322
288
303
309
359
301
398
335
327
315
253
357
273
385
373
344
334
299
254
329
319
327
340
296
335
336
239
283
281
223
294
262
340
307
313
269
298
272
337
350
342
418
300
345
343
421
296
245
339
305
388
355
327
279
309
327
358
296
295
225
233
340
363
239
239
353
310
268
380
357
308
351
288
379
338
258
375
259
298
313
317
307
333
384
301
292
312
337
238
265
386
300
267
293
343
288
370
267
289
370
239
257
279
264
335
365
300
408
378
299
191
302
304
241
333
269
312
299
228
350
338
295
294
277
239
238
353
295
433
311
302
311
347
228
263
285
296
330
271
307
388
308
317
322
270
352
299
346
295
390
282
288
290
310
218
305
353
290
264
319
321
329
374
277
321
232
250
326
275
441
259
366
258
296
321
355
355
358
313
257
376
316
323
318
351
285
329
333
317
379
270
355
315
354
295
317
366
317
383
278
254
270
308
338
272
274
288
364
297
285
323
340
327
328
277
303
266
357
351
343
336
358
357
389
380
321
310
288
335
287
309
260
327
328
279
313
223
302
305
297
386
362
315
315
308
314
373
310
243
334
309
275
231
249
434
305
347
436
285
324
265
407
284
264
330
359
363
261
251
334
280
376
333
321
395
325
312
373
265
209
280
322
380
335
297
283
310
285
251
318
378
375
335
353
355
294
311
231
320
280
301
362
342
329
390
325
346
249
388
287
324
306
245
382
428
299
357
372
227
290
358
309
347
261
294
353
331
364
275
392
340
318
383
334
393
300
262
271
288
279
282
282
346
329
274
283
309
341
320
358
291
372
304
285
208
335
310
286
375
371
252
307
275
302
428
371
333
311
280
390
349
364
349
244
296
381
329
375
409
313
292
278
369
282
304
278
304
340
355
228
339
273
301
381
229
255
314
257
306
246
347
303
360
286
356
262
349
258
360
329
360
333
256
243
390
341
417
300
349
296
331
325
361
340
332
362
251
348
418
279
241
288
336
313
308
311
329
359
311
298
308
310
262
293
362
327
318
375
348
346
289
316
345
265
366
262
328
299
242
361
329
296
308
295
393
305
282
318
297
331
277
315
375
333
355
332
324
380
288
371
277
304
391
304
360
377
308
303
357
327
348
242
346
328
406
360
301
281
275
222
336
304
280
320
274
329
305
321
314
251
364
353
318
359
315
301
295
386
275
204
241
313
295
376
353
311
359
391
377
278
315
289
330
334
344
253
279
379
346
318
313
306
309
332
301
333
381
255
290
228
355
345
279
346
295
296
342
346
247
253
225
315
370
304
388
410
310
249
282
348
299
307
248
297
320
376
302
369
314
194
318
332
310
322
211
273
265
350
382
341
302
285
275
284
290
352
279
317
288
269
307
308
360
286
397
266
355
347
318
246
347
338
252
197
316
360
301
290
329
259
278
358
259
327
346
297
344
360
346
290
338
289
376
295
326
313
384
327
322
287
340
304
365
347
275
333
281
228
327
199
370
388
229
340
385
285
341
266
319
367
366
293
341
253
324
321
273
356
268
270
330
329
257
301
325
377
345
307
351
312
294
310
263
357
278
341
335
307
376
328
407
340
294
262
378
309
217
317
220
400
374
345
428
232
246
340
302
294
334
340
269
378
285
350
209
311
339
375
294
308
289
292
278
286
297
344
397
330
280
374
365
286
338
369
336
337
322
308
317
298
278
270
340
265
241
370
291
246
333
288
301
370
241
330
379
299
382
290
308
335
277
328
421
333
345
263
342
230
319
351
294
353
338
325
312
313
322
273
363
296
365
327
291
337
256
299
219
324
253
301
329
265
347
351
252
298
320
312
287
365
357
188
351
276
304
296
361
335
324
336
359
285
337
268
300
296
275
324
299
348
349
336
341
242
348
281
241
389
285
362
319
336
249
280
367
295
399
296
298
393
299
322
274
315
252
186
293
423
298
299
323
324
374
381
295
369
361
286
394
334
306
329
334
319
322
303
387
282
331
295
226
421
335
414
392
305
399
238
256
272
345
341
230
253
243
239
303
271
284
285
290
247
275
311
256
339
313
398
370
377
345
252
247
327
277
306
210
339
333
311
344
320
259
344
354
295
308
373
338
310
349
316
299
307
357
347
354
290
368
302
278
309
294
278
337
375
331
304
295
366
284
324
281
334
304
406
307
371
374
370
311
320
359
304
288
270
313
296
353
346
300
391
271
331
391
256
362
286
288
245
244
326
366
297
203
323
269
290
335
266
308
340
360
358
300
280
277
291
304
313
328
347
369
345
361
290
326
356
236
325
324
236
320
288
398
386
303
332
299
332
343
365
360
279
379
328
351
315
296
255
350
380
365
342
336
307
305
247
261
356
258
297
356
362
239
258
341
306
319
324
266
378
276
295
277
355
320
274
231
285
294
339
315
348
308
298
344
308
312
322
381
359
365
326
259
285
241
270
294
314
334
254
312
304
368
443
241
355
308
322
305
316
354
335
219
249
250
275
292
376
359
263
395
328
329
350
310
284
285
365
373
323
306
248
257
325
366
349
336
191
282
342
366
374
225
353
359
312
258
314
340
270
366
333
321
352
281
266
318
315
272
245
312
376
334
300
283
352
269
267
273
300
286
351
272
353
264
337
292
278
238
280
364
313
372
359
370
354
235
333
240
231
282
341
344
290
329
333
279
379
332
241
274
355
326
333
366
288
315
336
328
290
314
373
403
329
342
350
337
281
348
278
298
346
318
278
355
340
238
339
301
304
321
299
388
396
315
355
328
335
205
332
286
323
364
306
399
300
234
301
363
341
384
287
342
307
268
299
236
305
326
293
333
317
276
289
335
300
284
296
327
210
312
324
348
245
284
347
287
266
370
267
269
327
331
275
334
378
353
323
369
390
141
289
386
245
309
393
291
286
315
379
204
297
235
397
215
347
348
307
380
274
341
315
328
302
296
360
288
337
399
315
372
340
286
310
384
240
358
335
390
307
365
341
374
297
335
288
289
358
367
214
371
306
331
208
272
277
354
344
351
269
319
248
252
289
303
321
308
401
381
284
307
328
294
220
316
352
347
330
329
238
350
262
285
319
284
309
294
265
339
345
351
319
394
331
286
250
273
300
310
302
237
234
322
199
284
320
365
207
414
353
320
352
302
281
315
325
435
315
298
342
325
259
337
286
318
322
442
349
253
234
366
293
327
248
255
294
349
301
344
298
353
280
320
285
416
316
304
352
288
302
306
340
323
322
290
282
241
339
253
337
281
291
337
226
294
317
345
311
366
196
360
388
327
294
324
308
366
369
309
285
402
294
293
257
360
348
302
327
329
360
292
298
182
202
292
279
351
305
324
332
275
350
358
278
256
378
228
371
303
348
334
350
291
369
289
302
326
316
373
343
301
382
348
360
293
361
343
293
253
274
261
259
288
284
302
377
293
371
308
274
405
287
398
256
374
326
247
300
318
356
281
240
325
336
354
401
271
300
324
316
387
308
261
331
371
319
334
279
350
268
316
364
277
357
341
374
340
334
334
378
313
358
334
312
288
172
404
243
385
350
305
298
242
331
233
355
276
333
258
325
249
293
250
319
311
274
347
294
305
337
326
380
266
268
264
320
249
320
330
295
313
342
289
288
257
298
327
316
434
265
263
320
249
334
346
353
307
300
288
350
318
302
319
295
335
260
291
351
354
288
287
281
257
344
349
333
336
302
363
259
325
310
312
287
313
352
182
291
305
314
338
255
254
322
293
264
353
326
279
286
370
328
317
272
271
261
276
337
302
329
387
308
358
349
295
220
339
314
331
298
284
274
364
372
295
340
363
293
292
437
230
376
301
250
326
267
400
364
347
331
180
190
290
359
245
328
294
336
250
348
177
342
325
222
320
339
361
255
306
287
386
376
301
298
290
236
320
333
299
295
363
276
338
316
201
318
221
317
233
336
257
330
265
263
336
329
344
313
350
357
352
277
289
260
321
351
283
292
298
327
303
324
294
269
303
263
300
312
356
377
365
333
332
310
341
333
290
349
343
316
311
460
318
305
266
327
281
371
321
342
352
338
297
266
272
363
229
324
282
332
217
306
333
288
333
279
317
330
306
340
336
287
341
289
355
322
365
272
310
326
396
291
305
350
261
315
311
385
317
285
290
353
357
345
320
336
276
391
297
320
272
345
224
356
364
352
342
281
321
230
309
306
318
416
263
310
350
345
291
258
309
406
295
290
291
232
268
325
314
281
351
327
356
312
352
234
377
336
346
303
219
288
370
408
238
315
372
339
323
406
300
312
302
398
332
383
306
357
273
393
299
337
301
286
283
255
297
350
301
294
322
301
299
380
361
341
344
312
282
349
221
298
337
372
298
339
324
317
306
321
284
312
289
298
370
353
245
263
351
299
277
304
291
295
308
376
380
373
339
339
235
313
288
375
304
299
331
312
409
235
354
348
341
309
356
316
361
355
342
265
211
331
384
377
340
371
249
363
337
298
244
337
358
361
241
380
345
350
257
300
259
288
360
291
330
243
279
283
342
393
297
314
301
268
310
370
353
333
350
267
346
382
302
269
351
385
337
263
291
296
387
324
425
375
264
314
384
300
327
350
319
339
359
334
377
315
250
351
223
377
385
296
241
253
279
293
362
235
315
304
351
341
303
309
351
337
331
321
305
289
260
331
253
280
286
281
318
344
320
256
363
375
261
308
341
398
317
260
283
336
329
319
338
275
370
426
291
330
347
330
279
161
423
343
352
359
345
386
281
282
277
304
325
265
364
268
252
344
394
394
242
261
352
374
352
312
355
317
380
270
267
278
298
279
353
281
281
359
378
325
335
313
325
300
370
296
323
301
331
381
315
273
384
295
301
310
308
350
332
270
419
346
354
354
291
290
376
378
249
378
349
259
360
369
365
324
327
318
275
348
310
372
274
265
329
279
370
375
362
275
318
377
292
300
325
336
278
246
328
285
262
323
289
337
409
334
357
306
361
304
287
284
276
315
225
373
252
309
405
303
307
205
355
400
388
344
349
339
292
314
283
262
308
318
227
358
269
330
359
345
365
369
313
214
311
321
330
307
345
261
351
286
172
336
303
364
317
285
320
344
256
222
284
342
273
315
342
330
295
381
300
317
389
298
322
383
361
347
306
307
287
242
357
227
326
314
297
354
264
239
310
309
309
276
291
373
298
236
307
284
363
278
327
371
340
322
293
377
298
293
256
370
405
298
357
208
354
237
267
311
306
350
314
299
230
296
345
315
275
314
351
338
331
329
273
296
381
311
317
375
319
219
336
278
350
284
334
338
376
263
343
274
346
312
318
251
309
352
264
343
366
289
316
237
312
336
288
317
355
234
277
289
292
216
220
321
366
339
345
219
228
398
231
326
297
349
272
295
335
299
324
259
306
363
313
328
310
377
283
301
351
264
282
329
331
302
200
237
292
358
271
294
255
226
352
257
271
341
308
280
262
353
314
294
328
227
389
258
340
280
351
307
293
350
362
334
285
380
335
359
349
363
306
329
294
345
282
322
324
365
274
331
354
320
394
327
378
335
267
315
308
166
307
329
215
304
311
332
349
256
340
218
270
359
295
407
338
313
298
278
295
244
301
321
294
262
376
323
402
302
356
338
328
313
248
284
282
257
354
305
383
359
326
371
314
363
321
356
319
303
325
240
385
282
377
301
348
306
223
319
397
369
353
293
249
333
385
336
379
343
285
285
197
236
348
368
356
212
234
333
263
342
334
238
357
378
396
225
304
219
269
384
383
433
340
398
299
321
347
413
244
364
314
286
330
371
334
296
261
256
324
344
288
321
277
253
304
342
316
351
430
307
369
271
269
378
343
266
409
341
325
328
367
336
342
255
305
360
377
286
354
340
356
269
186
358
385
259
339
273
398
354
293
267
379
332
268
266
350
250
379
376
280
317
196
304
267
324
324
303
295
320
396
340
294
314
404
362
377
375
244
323
278
326
294
256
274
383
285
306
208
403
272
326
251
393
308
272
317
302
291
272
262
338
303
389
255
340
262
344
298
383
336
352
249
328
434
299
365
240
313
258
380
251
399
257
405
310
275
372
260
276
301
358
329
292
268
289
298
330
363
331
296
325
223
352
221
386
268
389
329
229
290
274
342
355
261
357
334
334
258
261
337
299
223
373
286
351
257
354
352
339
312
237
295
346
346
286
327
264
303
310
338
348
386
209
293
338
278
304
241
226
356
254
305
355
283
284
300
301
347
237
304
260
328
274
232
230
362
284
307
328
313
331
256
268
268
284
372
315
231
256
325
394
356
306
297
385
338
350
337
276
296
344
311
342
307
291
295
267
262
330
318
237
246
276
304
307
367
329
312
272
308
308
315
305
278
358
321
318
325
300
248
322
265
263
324
284
332
298
282
303
374
314
355
350
318
299
394
355
245
328
263
340
178
282
307
325
403
277
262
331
317
277
258
399
256
278
325
327
333
345
354
348
260
373
271
293
306
325
302
265
308
236
349
316
338
340
359
383
307
353
407
320
287
378
321
274
299
315
289
334
312
272
248
303
341
257
321
278
339
292
346
242
320
379
291
271
321
344
332
383
332
355
300
283
324
266
326
331
345
264
247
377
297
346
351
316
248
355
298
275
323
345
336
338
279
314
344
197
307
267
340
283
394
325
339
317
229
274
334
279
327
301
256
244
345
255
305
318
305
403
237
320
369
324
311
305
239
276
350
278
301
248
372
388
393
274
352
370
270
283
370
327
332
323
360
304
320
241
339
349
308
297
248
328
232
348
308
370
347
290
338
325
321
271
362
364
343
314
337
329
305
306
321
382
287
371
324
263
301
260
301
368
348
346
394
404
325
382
381
323
295
260
307
291
277
310
295
276
327
330
238
256
346
315
348
215
318
365
326
218
363
279
341
243
325
364
319
326
234
345
347
326
261
334
346
304
229
379
309
322
376
374
351
348
211
313
256
322
332
313
306
358
269
339
303
300
376
263
300
324
345
362
273
393
256
244
383
339
329
298
275
336
357
315
294
383
360
340
303
369
315
240
343
381
355
283
304
365
270
387
291
244
387
291
407
302
269
310
260
334
366
246
351
332
317
319
271
416
308
315
323
326
304
359
301
307
219
186
282
369
417
289
332
223
335
361
305
358
277
230
347
368
349
323
263
391
298
334
322
240
382
282
306
310
348
236
343
252
290
313
306
281
345
359
220
307
269
311
295
370
422
304
289
373
235
329
295
317
301
338
266
321
330
392
272
273
307
319
286
314
297
395
331
237
373
284
351
298
306
284
334
271
242
345
259
295
279
261
353
359
309
360
299
293
294
341
244
375
391
342
278
355
370
323
296
326
266
346
360
375
291
298
325
287
346
339
347
335
267
304
380
221
333
362
374
256
380
269
324
394
306
280
341
196
284
369
299
394
321
412
272
342
284
289
248
284
217
323
309
341
312
312
342
280
260
367
326
295
254
318
304
282
336
422
305
247
286
291
276
275
264
314
228
381
288
277
279
205
305
377
335
279
281
372
402
297
362
281
320
367
294
364
203
301
265
389
295
356
332
306
271
351
287
278
352
354
320
263
270
379
328
294
263
362
283
305
333
327
321
337
283
287
319
350
348
345
333
250
254
304
309
287
374
351
352
328
448
340
325
268
262
244
335
337
353
263
272
216
350
381
323
344
333
344
340
306
381
246
308
334
344
325
370
364
375
295
345
362
398
343
333
284
328
299
264
283
264
305
237
394
357
303
411
236
331
287
277
238
336
368
331
363
297
303
372
275
359
309
307
343
334
286
354
274
325
320
245
336
274
346
322
261
344
332
387
257
223
299
284
297
301
361
274
297
378
272
325
298
309
230
303
317
309
236
302
250
331
310
374
350
357
366
374
337
363
303
355
347
302
293
297
287
281
292
348
229
304
286
368
353
313
302
318
266
315
298
301
354
300
352
366
334
406
354
246
293
269
363
303
410
290
363
306
315
257
323
313
307
253
325
298
380
306
278
374
301
341
316
338
238
341
291
297
306
351
269
282
297
309
363
289
294
226
337
346
311
337
229
209
314
339
347
237
366
300
249
346
293
329
398
367
257
371
310
315
268
331
284
337
319
313
407
287
302
326
318
295
219
298
333
347
286
242
357
402
350
282
418
376
300
356
343
312
371
292
310
233
359
350
285
373
313
349
339
293
343
302
344
438
350
298
361
358
327
332
236
330
366
357
298
305
386
297
248
320
295
257
254
287
310
291
299
295
286
345
361
273
207
290
292
335
418
245
268
288
384
287
330
254
367
291
283
353
310
351
239
280
274
336
314
314
325
270
425
271
338
338
401
253
233
299
271
307
303
377
212
264
298
285
269
312
265
280
324
327
251
309
346
394
246
225
231
272
326
376
350
321
262
301
357
390
381
267
434
285
298
277
396
308
271
342
278
321
273
353
328
293
381
283
359
255
356
291
403
409
324
374
277
283
273
205
323
352
335
312
238
302
285
287
371
322
355
367
223
421
330
274
305
307
339
231
377
373
274
314
228
399
313
387
362
363
270
380
323
327
372
319
307
341
320
380
385
403
368
319
385
199
294
256
374
411
314
341
350
286
325
317
259
330
300
276
297
325
304
357
350
297
290
296
277
325
272
322
307
295
368
362
287
273
278
326
281
298
302
364
235
429
322
334
377
363
315
324
395
350
327
367
289
306
249
317
315
353
360
341
329
244
272
321
393
326
288
415
306
251
334
303
341
291
205
324
371
308
294
333
221
309
369
376
312
368
366
304
388
350
273
406
288
312
302
303
332
276
296
268
235
236
274
232
362
367
242
266
330
335
381
329
254
278
285
377
285
341
255
308
280
294
336
302
338
312
378
366
297
314
317
321
392
349
285
336
277
302
359
379
246
347
303
270
342
342
286
226
278
254
324
279
184
307
344
280
370
351
342
282
303
298
274
254
203
295
336
333
324
346
259
319
339
254
300
319
333
330
331
377
279
408
264
241
352
218
341
261
343
330
413
286
345
344
305
339
372
317
296
321
399
330
311
256
349
231
260
283
341
353
317
308
375
255
253
314
285
328
315
326
342
279
291
298
331
335
305
291
320
273
365
353
337
372
300
285
401
342
286
398
322
222
310
347
298
300
285
263
373
399
407
318
281
299
315
361
333
277
336
267
318
288
336
308
240
277
351
347
335
337
345
294
316
291
255
347
338
417
414
414
287
288
246
350
276
283
364
305
237
363
281
305
351
314
329
349
257
302
354
315
399
227
275
265
344
202
317
342
303
231
310
318
233
287
355
361
286
367
238
223
395
394
356
269
248
245
310
386
331
337
336
273
327
396
322
280
324
360
386
415
342
255
269
195
275
344
363
255
283
352
303
297
198
273
372
301
280
314
281
353
294
347
341
233
254
372
351
324
316
214
268
327
265
321
264
407
319
327
282
257
332
370
342
292
335
375
334
281
373
356
323
289
314
363
337
273
313
318
309
235
315
227
286
311
285
282
380
400
356
359
279
394
302
268
346
347
242
309
330
298
263
292
128
303
314
272
354
292
330
340
341
326
281
286
296
292
279
315
314
281
335
317
255
284
308
322
326
308
311
391
328
303
299
276
373
296
340
328
307
234
281
314
317
374
345
296
371
218
231
328
276
375
338
330
404
303
294
306
378
373
224
395
282
370
277
237
317
335
255
318
345
324
275
307
255
313
319
219
324
368
280
333
294
417
373
282
349
301
333
215
356
271
350
233
330
283
287
351
271
353
337
317
269
357
277
358
351
332
264
260
389
307
220
405
334
356
348
304
362
231
336
367
291
265
275
351
315
289
362
303
319
324
280
357
293
320
271
308
264
354
287
252
286
340
315
255
282
260
294
264
306
282
360
381
384
230
321
286
286
329
311
309
324
369
384
356
260
330
297
333
360
325
300
321
366
380
280
320
240
312
289
336
293
308
307
372
353
283
305
327
297
269
277
250
363
368
360
291
263
231
302
340
297
367
344
394
273
361
291
319
225
269
352
296
288
268
352
232
373
339
267
331
364
314
296
337
347
248
301
227
336
365
302
263
273
290
374
379
365
336
293
221
305
331
402
354
341
418
326
357
357
305
312
268
350
375
313
329
374
291
383
330
270
251
290
343
324
349
307
283
254
235
279
322
347
371
267
277
289
297
258
331
319
259
298
304
318
316
329
314
355
309
343
352
279
316
315
250
315
382
325
302
304
382
340
292
284
366
339
309
330
334
350
305
236
278
272
300
335
324
292
340
262
358
286
310
310
270
399
255
389
229
371
335
298
315
298
300
427
327
291
346
300
263
327
312
375
405
353
293
307
298
339
393
227
308
240
312
212
316
307
337
377
278
306
298
378
361
336
326
307
244
375
337
270
335
275
334
375
330
283
387
286
275
340
394
331
212
286
314
410
302
291
255
315
338
300
332
338
307
342
258
349
317
275
416
228
304
311
398
333
276
301
272
308
288
269
306
375
353
335
207
284
383
256
277
331
326
357
338
280
283
321
321
242
321
322
374
249
294
251
359
340
389
287
312
361
360
287
212
346
291
306
323
248
350
303
237
374
271
279
316
350
290
321
333
313
348
328
348
228
335
277
274
281
219
266
439
352
275
287
357
297
253
310
328
281
337
379
267
255
382
314
277
321
389
270
307
297
285
278
414
289
311
330
356
381
305
368
300
315
328
345
429
369
321
417
269
353
296
340
314
249
379
277
269
317
318
321
273
311
316
327
360
253
315
353
242
326
292
329
316
313
321
255
236
350
345
243
360
326
372
315
313
247
383
349
298
269
277
317
244
259
313
340
262
375
400
346
289
308
348
370
348
344
226
342
305
300
313
259
263
343
429
263
279
299
334
319
335
320
380
259
271
334
327
338
412
353
306
349
313
335
356
267
296
318
363
347
292
343
378
359
257
306
215
457
350
299
309
263
362
334
325
238
307
280
310
357
323
355
340
360
316
275
304
198
350
299
306
326
311
233
260
237
265
399
332
263
276
263
398
259
438
351
327
328
244
268
317
334
332
390
314
344
343
364
204
310
325
318
287
350
296
314
333
342
251
381
291
212
348
268
247
247
299
322
351
303
311
270
321
343
305
338
406
281
340
354
430
306
356
256
351
310
355
353
322
279
243
298
250
324
315
255
241
296
370
262
316
354
307
307
339
325
287
319
412
231
337
304
367
292
342
247
351
365
311
384
277
345
236
311
304
349
302
322
322
330
321
347
298
296
323
290
309
266
296
259
206
300
310
346
309
414
278
372
334
335
369
307
336
368
298
301
284
311
322
269
313
273
331
386
248
331
307
241
308
297
350
297
378
361
304
360
311
333
285
210
274
363
279
320
268
321
266
319
360
269
363
277
271
309
414
335
295
316
347
389
319
245
393
411
289
239
385
334
370
251
303
353
356
279
289
255
381
358
294
263
340
248
270
377
305
307
366
388
273
431
352
314
335
302
288
362
331
318
303
304
275
413
275
343
374
269
316
192
333
340
343
344
299
311
320
306
309
302
325
252
319
310
244
317
273
371
335
309
305
311
348
245
311
271
254
356
250
312
300
365
295
298
310
235
325
225
317
283
304
330
288
359
294
299
308
253
238
327
336
362
404
301
288
320
316
279
370
266
392
376
269
302
323
332
300
315
325
186
267
357
223
300
373
329
316
363
377
282
299
351
307
242
252
335
332
322
266
380
312
311
317
273
319
273
350
311
267
234
329
309
185
241
239
344
301
400
333
369
416
289
280
338
354
344
233
353
291
306
336
318
338
381
312
298
196
259
266
320
345
240
287
288
336
344
349
368
295
339
236
275
367
246
405
325
372
295
315
252
355
348
303
277
370
281
322
261
330
212
415
373
323
262
235
299
324
306
252
382
276
295
328
437
314
267
341
355
324
328
391
276
322
274
288
302
363
348
387
353
287
291
261
312
419
257
388
321
388
312
371
326
302
295
304
314
384
327
274
254
322
284
342
388
300
365
436
298
312
295
339
304
334
330
319
297
408
336
315
360
257
331
284
389
285
255
320
329
296
340
382
368
308
232
391
248
297
347
283
327
309
252
365
292
348
335
346
302
164
250
321
395
325
262
383
264
298
246
346
265
272
327
392
261
288
370
334
284
325
389
352
301
294
277
386
323
246
400
279
259
347
324
303
343
304
384
393
315
317
262
384
329
305
326
310
257
310
358
308
396
360
291
343
333
337
275
180
290
307
371
393
248
328
291
269
397
390
259
281
266
302
337
291
349
350
362
236
256
267
324
339
297
308
306
349
291
287
347
291
270
326
298
300
274
288
183
278
392
366
321
267
320
320
187
212
387
357
340
245
314
268
398
400
316
362
287
335
336
295
339
339
272
276
296
165
297
407
294
231
320
332
357
291
313
341
342
347
362
255
364
405
247
247
324
299
328
312
279
306
265
329
306
276
301
337
286
345
327
295
262
204
337
310
333
326
343
261
284
329
261
287
380
338
363
250
262
327
253
339
364
263
286
322
292
321
383
302
369
281
270
353
310
371
340
318
264
358
296
303
275
382
369
327
328
336
341
298
401
332
257
281
318
391
246
365
294
325
452
386
347
264
279
374
383
295
315
342
310
401
295
308
319
275
270
313
343
319
347
277
221
315
230
323
360
281
331
311
363
342
294
336
291
293
248
310
303
318
325
273
320
289
319
260
303
308
297
305
357
283
316
329
309
416
185
287
210
279
386
345
363
355
371
278
301
314
333
282
315
290
299
232
301
308
353
311
329
377
247
358
373
330
260
308
333
366
320
312
293
280
353
250
312
316
317
368
377
238
318
341
364
365
324
371
297
337
319
257
252
364
338
319
285
317
268
218
279
223
364
362
258
340
359
297
330
347
395
370
342
340
251
309
383
269
289
302
306
334
280
318
265
305
311
303
325
288
363
354
216
335
295
285
287
375
243
244
368
241
288
203
347
334
317
335
290
285
389
324
345
347
368
350
278
310
338
308
256
279
318
354
365
350
289
250
371
283
327
294
347
294
258
259
200
264
354
298
296
260
290
297
349
276
363
269
254
384
235
225
314
266
341
368
353
396
300
337
358
280
304
283
288
266
255
290
270
354
312
330
342
314
308
279
431
366
263
208
296
346
348
296
256
281
367
297
385
400
386
322
287
282
355
290
377
325
341
303
338
207
365
303
282
315
341
376
285
316
367
282
385
324
325
326
318
375
318
331
298
280
311
354
290
431
332
371
344
235
390
273
285
363
304
327
315
324
360
317
286
293
295
354
271
303
293
296
290
283
277
372
339
320
332
197
275
350
276
239
353
316
281
366
252
299
272
316
295
312
343
282
331
238
299
298
296
347
238
370
416
350
298
308
343
374
297
242
300
369
281
318
400
385
175
262
296
234
242
335
291
280
304
306
317
317
297
267
332
316
385
306
319
272
323
328
420
341
236
399
304
274
326
341
294
332
272
315
331
246
384
305
386
196
368
341
331
263
257
307
351
381
327
346
313
311
204
271
394
376
265
259
305
304
341
287
273
382
312
367
311
318
357
275
363
359
403
342
336
284
335
280
306
357
262
260
389
389
389
275
257
368
378
363
325
244
352
294
283
369
382
235
365
369
290
288
285
384
283
374
267
355
339
252
256
290
396
330
353
340
330
276
377
277
297
309
262
297
346
251
295
261
293
284
286
348
364
184
258
301
316
283
318
317
358
280
371
271
292
307
315
263
311
310
290
353
360
331
310
355
312
274
361
306
381
318
278
259
247
359
341
408
246
333
269
367
266
362
325
357
340
313
360
266
242
308
365
305
302
344
316
327
374
381
365
309
261
325
276
359
381
295
306
258
402
336
350
272
241
323
430
355
340
291
306
375
277
284
275
279
328
303
316
299
285
283
247
267
332
335
327
254
299
262
281
323
345
329
296
306
387
353
237
379
280
375
281
323
241
335
261
262
332
360
359
279
326
298
289
303
353
249
336
300
302
376
237
320
332
325
226
260
242
315
324
332
425
305
339
303
383
311
399
289
324
275
403
237
222
327
302
360
352
241
275
358
339
345
295
326
293
287
343
348
378
331
347
356
422
284
330
305
377
287
316
312
350
371
340
352
284
337
323
335
344
242
265
345
211
199
370
291
384
367
409
390
337
346
374
354
318
284
276
362
348
303
290
321
299
279
171
365
370
235
338
330
319
316
333
340
356
334
225
259
335
340
212
329
320
300
288
292
346
271
288
343
331
285
376
225
373
264
311
324
307
329
346
283
302
348
289
346
335
228
371
207
239
322
243
341
294
283
241
297
338
202
314
269
360
342
302
315
285
302
299
326
300
290
295
189
322
326
324
327
334
280
328
319
333
343
268
318
341
328
335
353
366
290
331
225
347
322
281
352
369
278
191
331
216
352
312
327
356
266
325
295
231
360
323
312
290
315
269
310
345
266
327
287
313
287
271
292
305
389
318
404
407
300
374
368
359
273
396
321
236
295
317
249
287
323
286
325
361
271
261
368
301
367
317
270
363
323
314
358
275
328
322
282
341
276
342
288
267
293
338
357
346
287
276
226
329
231
294
357
354
314
215
384
327
332
326
328
336
292
323
323
349
352
303
314
327
463
271
273
327
351
343
327
256
312
405
256
265
308
313
334
283
402
177
389
262
285
367
301
409
210
358
304
333
276
326
349
317
288
313
326
281
226
292
325
315
287
339
243
312
296
382
303
244
279
340
244
351
387
359
276
344
384
292
312
306
232
365
279
267
274
339
355
177
287
350
332
212
358
311
300
355
334
342
309
310
355
378
308
342
322
231
380
389
321
309
309
218
330
183
298
293
296
281
276
300
409
293
300
282
268
303
293
307
305
335
241
287
340
294
359
337
279
254
369
292
250
377
388
331
395
230
285
287
296
300
198
313
254
316
331
341
260
261
330
276
378
268
416
406
310
310
342
322
327
329
288
268
255
239
365
297
347
350
312
337
336
369
374
292
314
306
375
286
335
314
363
377
341
373
270
233
325
380
273
321
251
347
310
327
310
304
238
343
318
249
294
262
332
343
335
349
283
318
304
317
290
370
291
325
346
345
282
365
314
299
299
255
312
298
319
285
342
328
382
308
389
391
365
349
403
376
253
331
213
341
363
322
332
317
269
381
290
244
364
270
282
278
357
386
280
283
399
281
281
306
268
253
392
236
269
272
281
232
322
343
308
315
312
313
272
336
341
373
298
373
439
296
246
283
175
337
321
386
303
316
315
399
284
366
292
246
348
261
327
333
390
392
333
372
311
313
338
359
210
281
303
368
317
252
277
317
283
230
353
292
297
295
238
345
358
360
347
305
352
279
368
373
309
378
315
219
273
283
206
331
357
359
269
286
326
392
318
230
307
365
292
293
367
329
348
280
296
259
341
312
416
277
401
306
314
296
413
333
365
261
278
363
254
316
320
429
295
348
341
354
313
341
252
312
348
317
378
325
379
275
294
314
284
253
373
252
355
359
253
302
297
372
389
291
353
308
250
366
364
327
388
275
301
385
293
362
406
223
320
293
314
243
380
332
280
369
291
338
297
381
281
260
354
368
387
285
363
366
336
201
326
382
299
335
228
319
375
309
259
305
240
344
316
265
315
359
309
240
232
325
303
294
344
304
318
338
329
346
284
288
314
352
320
290
298
388
283
293
271
397
327
357
323
389
280
265
357
322
322
282
413
402
270
249
322
364
360
246
346
293
285
299
313
313
313
295
261
382
277
312
365
360
362
358
328
300
279
409
308
313
356
262
270
350
273
340
204
327
222
285
338
331
372
316
370
284
244
356
278
291
355
320
294
232
319
315
284
384
349
328
273
385
282
368
381
290
289
277
303
373
265
297
326
315
341
312
355
310
352
273
305
359
360
279
242
339
281
351
258
321
375
324
313
390
340
337
367
320
313
320
329
332
393
407
263
322
269
307
310
331
360
332
357
299
298
274
268
353
337
323
376
351
308
350
277
284
377
383
330
310
328
332
326
216
359
323
303
379
340
282
302
388
301
336
290
300
273
403
313
390
342
290
326
291
298
350
282
351
239
284
214
374
313
381
328
301
308
388
395
404
292
290
337
243
333
372
359
284
375
338
309
322
266
312
263
345
277
283
288
353
270
321
382
294
268
336
379
335
334
291
244
325
341
374
320
303
304
184
370
304
283
328
349
350
333
348
330
269
327
340
271
328
370
347
271
341
272
348
314
215
322
315
247
308
302
298
265
360
285
308
323
379
304
305
287
255
383
368
346
409
311
291
309
351
312
245
359
261
303
352
355
284
286
368
349
343
408
347
291
330
370
286
313
362
247
330
271
325
352
322
258
263
275
384
292
339
366
307
370
337
352
305
328
451
346
297
302
290
330
396
350
342
276
342
367
298
334
322
322
319
345
402
377
257
341
273
321
339
327
320
312
377
160
305
305
410
313
363
268
311
400
312
322
299
297
337
274
312
322
297
318
339
332
284
338
231
258
239
317
318
302
310
287
359
291
310
303
247
256
337
318
226
267
301
326
354
313
274
332
382
374
332
286
313
359
312
357
315
328
267
344
327
319
337
318
356
273
307
261
313
395
338
330
246
365
333
361
264
276
371
288
313
336
365
273
302
330
356
301
324
325
318
345
353
341
307
414
317
257
265
370
373
358
266
291
288
228
281
360
354
281
323
359
244
307
334
283
279
274
320
372
435
318
359
272
264
259
288
289
274
321
344
310
346
368
330
291
363
311
374
311
379
189
344
268
323
320
257
406
338
290
321
324
315
305
307
311
264
367
206
373
241
353
372
138
388
322
329
324
348
272
260
404
374
359
269
184
345
257
349
306
346
319
321
413
337
245
299
354
199
284
366
276
225
376
372
327
299
326
352
244
352
351
252
321
333
390
371
298
411
327
374
342
346
237
289
331
350
316
316
377
428
286
310
258
252
233
267
322
357
260
343
371
349
361
297
301
345
240
298
337
334
389
329
301
299
320
172
314
295
335
322
263
349
316
293
303
210
312
314
280
281
292
240
320
353
365
324
367
288
208
332
281
294
330
309
343
330
355
302
324
326
376
270
294
329
359
352
354
301
280
298
293
429
407
289
318
263
246
240
341
316
280
252
333
405
360
315
314
345
344
319
343
313
351
310
334
323
309
281
259
313
425
362
298
335
262
336
233
344
356
292
298
369
318
254
233
372
383
338
383
310
268
287
364
267
281
363
404
371
300
287
337
251
394
286
331
341
404
282
243
351
309
344
304
355
315
305
262
299
288
395
382
333
341
330
379
355
302
298
315
339
288
317
289
392
354
323
312
333
384
338
298
391
317
268
273
368
289
270
344
335
350
365
354
315
198
283
324
313
273
315
261
248
263
269
310
327
256
339
285
363
234
372
312
317
354
334
260
264
333
266
342
298
349
172
359
290
319
189
333
252
376
317
333
316
236
348
356
367
266
332
342
330
252
332
405
262
316
353
287
197
401
205
314
347
321
370
329
326
393
287
342
318
303
332
348
338
402
348
308
300
267
311
362
284
297
276
382
318
377
334
354
213
283
263
300
383
351
355
371
315
338
322
335
240
371
308
333
306
295
288
343
345
270
329
322
339
290
270
326
334
324
291
354
330
285
301
280
304
276
235
232
333
221
243
353
243
331
244
337
181
394
301
333
287
378
291
366
279
285
416
352
351
287
224
247
379
325
397
282
249
289
302
359
317
361
270
360
323
329
267
192
230
253
338
344
310
310
345
277
299
396
281
306
348
251
390
321
312
304
321
291
359
238
364
348
321
340
270
236
340
306
299
347
328
345
329
350
293
292
407
242
190
359
296
243
297
282
309
261
324
305
316
232
273
278
342
356
266
291
290
364
270
309
354
321
236
309
362
307
260
389
355
262
336
299
282
286
312
243
295
212
256
348
302
291
307
299
274
338
281
317
334
237
316
255
291
371
310
296
304
288
304
294
287
355
279
317
339
324
334
250
355
356
419
346
382
280
292
249
271
274
293
297
288
317
300
303
361
280
328
204
328
257
326
306
336
448
361
383
374
256
319
258
248
321
304
274
271
329
308
377
268
392
324
391
315
394
373
330
254
301
302
311
339
258
351
313
206
369
277
248
269
351
375
222
277
343
380
358
265
257
301
349
366
372
319
344
366
299
278
408
338
253
267
254
301
275
283
347
359
328
249
294
256
283
320
304
339
323
213
261
304
292
313
328
316
360
253
228
264
318
324
352
403
356
346
286
322
213
289
307
279
299
345
356
309
432
312
428
342
301
314
378
312
226
274
266
319
370
277
296
296
236
294
232
380
341
369
284
333
315
357
316
280
202
324
323
367
315
341
296
285
321
238
330
337
259
272
379
302
330
282
303
203
362
290
303
273
333
251
295
299
282
287
327
328
319
273
329
292
277
336
303
331
258
349
301
281
353
341
406
271
325
325
376
333
398
205
298
343
236
346
318
317
334
265
326
378
271
316
311
294
343
317
339
303
305
327
306
380
396
301
347
331
306
348
312
342
422
329
288
340
251
374
228
367
245
282
204
383
357
390
352
317
307
339
372
259
398
215
281
223
306
282
281
291
325
292
298
326
244
337
278
281
339
299
315
323
372
369
262
217
299
272
319
226
356
332
346
348
299
299
312
386
304
343
339
347
360
373
433
262
264
369
330
375
250
302
363
349
311
266
271
322
306
344
285
300
358
303
395
315
319
319
251
288
268
309
322
371
321
281
329
284
374
367
297
250
276
301
307
317
357
368
272
335
351
343
338
419
337
365
353
382
284
379
301
274
268
282
214
343
317
263
322
339
269
253
323
365
372
368
347
364
318
284
337
333
326
286
276
353
324
335
318
296
362
328
295
283
216
363
335
363
289
347
314
376
282
277
322
319
251
403
199
354
386
408
344
313
326
376
344
303
291
383
338
198
331
250
431
313
300
301
310
311
324
339
294
252
348
279
387
300
242
272
331
280
358
282
326
301
306
322
299
333
315
321
209
323
314
247
411
230
327
302
302
400
219
272
275
376
290
239
329
280
347
369
351
391
412
308
277
316
276
314
262
212
308
321
252
315
235
246
315
277
355
315
328
332
407
391
311
285
286
361
293
275
287
224
251
376
353
375
260
368
234
390
368
351
314
306
347
355
347
309
331
301
322
380
281
301
274
315
295
293
368
328
287
267
321
333
360
318
321
272
406
292
388
326
364
306
318
377
343
318
270
285
298
390
236
399
338
353
336
353
279
232
252
364
348
343
343
319
280
239
303
276
370
330
317
294
309
391
300
307
285
301
283
247
279
233
347
279
351
340
260
317
379
281
359
277
371
268
327
239
394
301
290
259
328
381
304
343
311
342
287
276
307
278
314
286
371
320
348
330
346
239
306
238
387
399
379
333
359
361
279
196
304
355
322
339
272
353
351
360
352
333
253
260
358
364
369
348
283
284
268
319
355
318
293
388
302
245
331
334
342
363
357
367
308
294
323
372
314
358
316
349
332
275
320
409
383
332
325
319
330
325
325
352
321
331
292
333
313
365
290
290
271
267
273
252
320
313
312
360
297
308
264
364
317
267
296
284
301
266
345
285
348
263
292
269
317
335
310
260
278
324
352
316
297
325
337
303
399
241
303
241
330
334
294
324
418
309
338
276
291
351
288
324
321
342
332
308
291
268
294
252
328
371
296
329
273
355
363
376
298
312
290
337
377
360
317
380
343
191
372
312
253
315
347
337
358
329
309
277
368
280
282
316
306
326
333
250
271
317
396
331
260
342
302
271
347
361
341
281
364
274
318
275
341
243
334
317
311
303
381
311
333
265
283
265
355
312
370
314
321
279
338
337
382
253
281
345
296
266
331
297
324
266
332
332
300
336
378
329
357
373
314
344
365
348
278
268
313
316
406
315
323
290
333
301
236
278
254
278
395
277
294
280
333
317
268
364
349
335
266
310
342
312
366
320
347
286
261
345
290
342
339
333
356
302
326
273
276
286
313
345
276
335
244
346
275
254
288
258
275
258
302
316
280
316
265
314
401
333
347
331
382
343
181
281
385
307
298
320
225
285
335
374
384
304
306
256
297
309
313
349
344
350
326
315
237
267
306
321
262
356
346
322
367
352
273
353
328
286
364
369
305
306
349
355
347
330
328
324
321
310
316
242
302
300
325
354
325
408
375
254
271
339
271
281
329
265
299
347
334
280
238
270
343
244
320
310
343
225
308
373
320
352
359
237
323
309
255
283
382
310
316
250
280
344
324
295
292
331
268
244
302
317
364
351
351
325
334
294
304
305
284
263
266
311
291
380
292
218
358
339
309
339
353
281
394
200
390
402
268
245
300
333
361
358
358
305
296
350
299
290
315
313
318
292
251
329
325
242
364
443
294
260
376
272
304
342
317
297
370
275
385
202
355
378
332
358
341
251
309
221
366
292
294
327
354
340
260
328
242
355
334
283
175
312
261
386
240
320
184
332
276
270
298
378
361
305
356
215
358
254
345
305
303
341
326
275
276
306
314
208
292
339
356
309
276
320
364
282
364
324
268
251
191
297
286
301
297
319
261
309
363
304
319
294
363
338
350
448
283
374
397
340
268
378
260
282
289
314
355
319
323
263
222
310
384
291
323
276
365
361
381
233
318
364
335
326
363
303
346
307
325
309
317
361
332
275
256
345
379
307
260
242
249
237
344
254
333
236
341
310
305
409
280
290
352
275
365
281
276
317
342
338
300
283
305
332
332
279
305
304
292
284
297
329
357
313
225
341
328
318
285
249
304
309
317
337
340
312
258
286
382
293
363
295
355
289
363
383
306
357
361
273
179
313
329
322
327
384
222
340
312
361
280
337
327
388
337
398
323
309
219
372
339
315
362
268
230
292
270
238
314
279
322
367
308
283
367
295
331
347
263
252
286
289
268
318
328
274
332
313
296
308
334
289
309
310
317
298
337
361
320
310
299
394
292
393
266
321
302
337
297
321
339
273
271
291
351
345
267
172
259
272
361
278
319
305
303
350
322
297
297
343
373
205
270
336
259
296
365
213
390
356
306
351
291
336
320
358
316
370
348
340
274
338
351
371
308
356
327
332
298
332
310
301
285
274
316
279
298
332
305
285
291
353
305
321
346
296
320
330
375
319
297
286
239
355
343
360
296
328
398
330
318
326
295
375
301
315
331
325
272
300
323
255
335
254
351
295
292
362
344
366
274
325
233
320
243
206
353
338
287
324
332
246
323
284
383
286
376
307
279
264
316
317
187
367
284
323
358
334
336
401
303
261
294
329
317
344
322
313
301
361
309
304
352
265
360
311
206
399
367
276
285
327
410
295
249
281
321
291
357
266
222
291
368
405
253
343
316
352
251
366
303
380
235
255
329
252
311
235
384
333
309
309
276
354
377
332
309
303
296
203
302
360
349
338
338
275
275
389
357
262
319
314
339
324
266
251
290
302
354
355
346
259
261
343
300
342
309
319
245
435
289
315
353
349
277
320
328
356
341
328
322
359
228
309
248
249
343
388
348
354
284
274
312
335
290
373
286
296
303
249
262
305
310
343
401
302
302
307
174
297
363
313
275
339
356
273
355
317
285
313
264
267
317
302
334
299
382
333
314
370
309
396
306
336
370
320
285
336
244
414
388
348
355
334
335
372
314
300
433
331
321
323
361
254
319
366
294
251
270
342
274
412
349
255
314
331
392
353
318
243
392
344
341
333
315
291
270
263
349
314
341
308
315
256
287
360
321
307
333
296
403
333
348
397
297
369
324
310
302
310
311
300
368
343
311
356
340
286
279
282
363
266
268
323
334
320
399
307
261
282
343
303
250
228
282
306
308
245
308
360
328
251
316
361
209
257
237
328
298
279
289
267
222
299
364
331
237
375
342
325
264
305
256
318
365
301
356
309
349
362
369
255
274
357
379
336
231
277
294
395
327
334
369
305
337
257
273
365
354
350
339
292
299
388
314
271
410
293
290
332
290
366
311
357
360
324
316
285
268
325
291
282
253
302
390
326
389
392
274
304
282
374
385
313
379
269
334
348
259
301
278
364
358
313
303
272
312
317
293
338
310
363
283
260
289
274
387
295
312
229
341
383
284
353
318
357
303
272
287
327
389
327
309
300
293
302
341
330
254
333
373
304
302
251
221
304
245
282
320
331
344
279
320
324
345
138
300
371
318
334
253
336
310
344
344
262
322
282
385
228
281
359
289
322
316
352
305
371
287
376
313
374
427
325
341
222
350
301
334
318
298
326
200
339
367
336
330
366
298
278
321
428
248
312
360
363
271
288
361
290
355
335
298
351
363
351
271
320
390
311
302
314
350
268
348
313
296
234
299
349
223
228
290
264
279
331
320
278
295
237
342
274
277
304
257
344
367
326
326
254
289
360
375
303
310
355
334
387
325
339
347
356
289
314
363
308
332
328
295
322
300
318
346
349
306
332
254
311
255
273
312
255
287
384
214
322
318
272
252
369
395
310
394
278
303
284
321
320
329
263
251
262
367
308
409
396
248
323
321
295
304
353
217
309
315
330
271
421
235
349
263
348
318
359
232
268
288
347
215
296
278
384
318
350
297
334
317
318
377
267
317
361
363
286
303
288
371
359
304
278
293
308
266
306
324
348
286
317
291
318
363
275
359
290
393
272
286
378
370
308
353
331
357
350
345
307
321
331
299
330
336
356
309
313
306
253
338
286
296
387
287
304
328
388
340
269
244
361
312
245
286
303
380
306
264
264
298
269
232
294
213
354
336
311
366
230
288
333
288
353
381
325
278
325
343
310
256
284
384
378
315
297
291
344
263
324
353
296
297
208
319
366
381
290
294
379
293
333
312
328
314
333
304
349
313
350
294
296
345
305
288
370
331
234
323
262
302
313
298
276
355
378
310
369
358
292
240
337
300
309
322
347
297
374
325
352
377
289
243
265
313
304
360
320
345
347
346
355
420
297
336
293
252
256
363
388
265
282
247
274
274
343
394
303
331
274
322
291
358
263
252
277
272
313
291
294
367
311
317
306
296
328
293
248
293
352
330
410
329
289
326
300
257
358
246
289
274
304
301
336
195
288
279
325
208
284
292
353
311
339
219
275
291
339
239
261
284
345
394
413
336
364
348
320
338
303
300
237
253
350
355
268
331
359
168
264
335
285
345
329
272
390
300
215
312
352
292
290
300
284
303
269
390
342
289
313
287
280
370
340
261
348
362
331
407
316
288
376
298
357
338
321
295
301
336
278
293
392
282
342
338
391
400
210
362
323
285
286
286
366
315
344
233
375
294
304
282
304
316
374
332
269
292
249
238
287
355
254
326
278
323
346
316
325
328
336
326
381
339
305
299
334
275
322
252
356
281
245
356
350
289
310
348
255
270
311
256
351
300
302
243
287
325
291
315
304
285
349
355
402
311
356
359
346
273
319
229
349
318
277
384
348
232
241
292
330
303
320
348
280
312
388
275
258
338
303
276
317
275
377
366
329
356
279
336
398
275
327
252
222
351
252
380
270
353
304
289
350
362
347
314
282
300
309
307
340
265
348
330
258
261
336
312
303
265
305
399
292
224
345
371
253
352
360
341
240
410
267
289
367
327
281
275
319
300
349
333
273
356
254
292
407
348
369
259
319
357
377
336
420
329
366
396
289
361
313
250
323
274
312
336
264
325
329
298
331
347
270
227
299
376
338
319
303
384
370
339
348
313
333
341
313
252
389
298
317
344
421
344
348
340
291
329
326
281
244
294
313
339
313
240
335
342
334
264
299
324
305
332
244
233
362
381
333
281
401
247
268
337
292
342
302
360
307
363
347
373
276
397
302
382
388
259
331
283
302
313
377
354
355
353
351
306
311
317
267
267
204
323
295
287
348
337
367
334
342
337
219
406
195
278
324
289
358
354
315
295
286
364
335
305
346
332
329
272
324
289
285
371
362
354
345
326
322
364
366
399
324
276
331
264
247
262
302
340
274
385
439
276
321
317
371
363
290
264
263
301
385
304
337
333
167
309
433
390
351
324
313
344
315
330
329
349
238
333
355
307
334
271
294
277
361
311
288
271
312
256
349
292
235
404
352
339
297
320
345
332
331
309
346
296
268
318
336
276
314
369
380
336
337
306
290
285
295
280
318
251
398
364
357
345
298
334
298
422
364
382
327
222
277
227
340
407
298
356
258
299
322
285
282
347
415
293
336
243
194
410
316
263
341
357
301
367
260
285
248
388
320
345
290
383
327
308
268
243
292
204
227
287
326
375
286
310
287
349
377
342
371
290
327
337
293
264
321
374
319
378
278
332
253
342
362
358
341
289
334
280
260
297
383
289
328
348
275
278
287
365
310
325
287
236
277
274
338
298
291
237
332
378
335
308
176
291
306
303
365
295
327
278
259
439
287
288
322
294
380
399
373
233
301
294
303
326
364
248
293
339
275
299
302
307
272
381
317
312
287
323
310
261
307
332
353
317
315
367
224
250
266
400
294
348
315
357
353
288
314
293
401
294
329
311
331
314
346
339
320
307
264
251
361
233
261
355
266
259
221
310
295
372
320
343
297
253
328
291
297
391
290
349
416
263
330
316
285
327
301
175
365
312
351
325
262
396
311
308
377
393
252
353
302
332
309
323
350
329
264
327
288
291
399
286
307
316
231
337
229
350
323
328
319
302
255
315
321
442
370
404
339
267
303
343
232
309
274
282
290
346
351
348
309
289
284
331
285
338
238
356
315
328
320
277
260
333
355
332
323
287
354
276
271
274
284
267
456
300
288
300
330
208
362
358
296
384
226
295
381
350
348
268
310
231
296
300
293
281
340
268
317
290
335
347
350
303
378
288
307
308
301
298
263
287
334
236
320
291
368
278
319
367
340
323
328
302
266
273
332
343
410
279
249
266
243
274
352
338
333
386
310
314
332
387
324
317
387
287
386
359
327
304
299
312
331
353
362
319
285
274
306
338
260
351
364
342
366
349
308
337
315
340
238
320
391
320
270
282
358
298
323
321
352
274
365
350
263
228
333
396
273
256
263
364
377
413
332
323
290
318
298
230
291
284
366
277
279
339
286
365
307
327
310
443
375
238
388
335
297
255
333
348
320
313
252
339
279
319
314
310
294
301
256
310
237
340
303
329
255
381
306
329
323
300
326
412
338
359
273
375
278
384
277
370
360
378
326
276
186
225
275
322
254
241
343
295
272
297
378
407
281
395
246
290
324
332
312
294
301
288
342
342
303
330
343
262
318
336
405
188
323
302
343
327
248
278
275
342
294
346
324
340
337
343
326
322
310
343
265
297
291
355
264
290
246
301
250
307
234
267
264
293
361
298
319
367
326
280
278
297
291
344
340
313
271
318
247
298
327
347
307
358
355
325
307
375
354
337
314
259
368
400
350
267
393
400
389
302
256
247
219
331
329
314
368
360
367
289
304
291
385
395
298
246
281
264
231
227
245
274
297
321
363
209
312
341
269
261
256
297
329
376
313
352
361
309
236
342
314
374
276
271
318
288
277
329
213
276
361
353
305
213
263
306
312
280
304
270
328
354
216
220
316
241
366
348
333
356
335
301
345
368
309
371
288
344
316
404
246
309
347
277
320
339
339
349
330
296
319
422
300
296
294
254
290
243
321
298
347
269
373
246
339
303
257
331
214
368
372
323
254
251
286
213
299
379
319
294
293
385
330
387
391
329
269
365
280
356
377
277
380
327
315
297
238
304
329
302
283
419
339
322
385
307
334
297
449
296
377
237
385
379
299
366
267
254
232
261
249
338
332
306
278
398
288
297
252
358
289
304
295
378
364
317
325
266
248
379
263
269
377
311
357
434
348
289
271
316
321
285
359
410
249
356
322
423
290
322
365
355
396
375
324
350
329
279
309
254
318
288
273
299
329
324
388
366
431
321
298
302
285
333
329
381
240
359
305
374
359
292
293
326
382
281
309
375
254
280
277
344
209
286
386
261
327
290
254
265
301
294
296
298
296
328
311
281
323
314
329
270
300
388
247
393
286
266
342
336
342
383
349
304
330
342
358
345
308
377
324
275
299
299
367
363
355
214
267
306
365
287
335
311
322
272
252
381
380
313
215
321
352
309
396
344
317
247
275
235
331
338
298
334
381
394
308
285
323
270
337
371
362
313
352
288
230
327
294
342
329
338
273
287
265
261
248
284
258
389
381
333
348
402
378
246
327
245
292
315
247
237
229
368
321
269
261
281
294
274
248
379
305
364
283
347
205
248
238
292
267
367
262
369
303
224
280
367
344
246
357
321
368
331
345
322
324
390
295
343
245
309
320
314
281
323
394
288
290
241
309
335
341
387
337
273
353
295
283
310
298
321
322
322
343
305
351
339
323
411
267
363
295
371
281
298
229
341
340
331
301
362
363
346
343
316
353
255
346
347
326
319
279
309
245
341
266
385
394
327
350
378
358
277
130
309
307
236
333
294
346
252
320
322
299
229
311
274
311
341
389
293
358
323
328
267
293
323
308
380
313
353
255
368
272
349
353
345
392
311
283
333
340
376
287
332
329
305
354
322
386
283
330
327
285
359
291
304
392
248
347
295
363
365
265
316
329
318
291
259
245
398
345
339
350
369
308
331
478
403
252
331
375
213
324
300
346
304
289
333
302
304
370
324
255
271
413
264
304
296
393
385
289
336
338
336
327
312
367
290
385
279
279
360
312
375
361
325
347
349
321
361
303
354
318
221
354
277
428
243
389
324
324
281
276
322
248
381
255
251
266
321
321
376
175
300
317
314
345
384
249
327
309
312
294
359
357
235
300
378
287
327
320
323
378
236
299
379
342
309
368
387
421
281
287
327
358
298
343
313
312
305
355
376
317
321
297
263
322
390
288
349
212
374
251
357
341
314
303
322
327
341
284
320
365
319
323
256
308
309
340
257
263
371
317
328
370
264
274
254
351
244
270
301
363
370
244
348
246
362
333
370
295
271
244
326
240
369
336
279
312
311
357
387
271
334
388
325
288
322
344
250
366
323
300
351
377
259
314
309
284
328
339
342
299
321
361
230
312
318
268
306
328
273
256
280
335
342
340
352
312
297
332
348
348
295
337
308
353
419
254
298
274
378
339
336
377
378
279
259
348
347
337
321
328
353
236
286
257
274
294
322
322
326
293
255
391
341
309
330
248
348
295
355
222
308
338
238
278
276
306
228
293
332
353
261
366
240
276
305
317
425
266
279
365
219
239
372
335
229
304
326
246
296
304
358
316
323
362
309
295
346
268
302
334
259
404
251
322
278
289
265
349
333
400
350
308
330
264
242
321
251
283
289
238
288
317
343
333
270
406
301
455
305
290
246
390
336
288
268
299
390
263
309
330
303
344
268
282
351
421
306
322
310
256
229
310
344
310
272
329
307
360
368
301
405
285
266
368
290
318
314
291
335
310
333
218
275
287
341
342
342
272
345
320
312
280
392
290
285
294
322
376
310
279
327
286
341
267
301
289
400
276
294
330
316
306
274
344
261
306
352
305
329
274
286
258
379
397
292
317
349
353
228
371
293
390
340
356
282
358
348
343
321
330
298
266
371
326
264
348
306
350
316
338
337
334
294
347
259
309
270
285
325
353
338
315
302
321
326
323
277
269
316
361
321
358
326
327
301
307
363
374
291
378
308
317
376
326
379
276
322
291
313
296
280
366
346
325
250
256
258
355
320
321
332
323
295
350
351
347
365
439
280
341
296
339
307
270
349
322
321
288
232
310
283
302
305
299
341
346
293
243
344
359
329
216
314
259
371
334
321
348
336
330
335
335
296
375
260
179
367
319
362
285
253
317
382
251
306
278
345
365
367
369
209
276
353
318
371
289
279
346
311
279
363
326
277
392
269
362
335
364
344
330
340
285
255
293
293
356
262
345
310
340
279
287
315
229
263
432
327
304
323
249
358
297
351
333
257
278
295
415
287
393
410
257
310
281
260
459
282
303
321
334
343
282
344
338
353
332
335
341
281
299
327
284
293
368
320
333
352
318
273
329
351
310
350
441
424
302
325
422
342
253
268
354
299
307
283
269
238
334
347
268
286
266
319
298
298
286
224
335
313
254
292
326
311
314
335
291
387
315
330
270
310
337
333
308
363
342
284
392
353
251
225
363
296
200
331
288
368
309
396
207
353
309
368
211
373
341
324
329
419
347
252
363
347
320
364
323
290
333
323
285
291
262
319
312
332
272
334
326
308
287
347
223
283
300
345
347
312
298
244
334
274
309
354
353
269
363
307
341
297
291
280
305
332
296
284
318
312
306
369
277
279
295
268
328
344
338
344
337
329
362
382
332
287
279
382
314
303
307
308
318
359
337
306
262
338
347
427
371
344
329
321
366
418
372
262
311
286
234
331
265
343
362
391
330
394
278
296
285
332
278
312
291
310
274
233
269
364
293
359
352
363
311
353
350
342
308
398
290
332
297
323
336
287
309
351
369
306
395
284
353
294
368
348
340
291
314
317
312
256
367
332
355
356
277
335
297
324
360
324
293
297
302
256
326
286
324
377
292
278
266
206
349
276
327
314
297
299
356
308
270
314
299
348
329
287
347
306
304
275
262
287
293
304
253
345
337
262
338
328
337
209
324
257
304
213
298
314
267
294
363
313
256
342
337
362
331
256
337
357
388
232
271
333
344
340
288
360
310
247
377
352
357
323
363
280
374
342
371
344
381
364
386
317
206
323
376
249
339
186
328
331
238
195
373
388
311
311
299
260
296
276
298
353
270
359
358
420
323
269
353
230
296
380
305
368
275
264
338
327
288
298
296
275
276
286
312
237
309
361
318
308
320
316
349
317
239
302
334
403
275
339
317
343
242
250
292
365
348
312
335
323
373
290
218
319
323
259
418
334
357
275
302
373
333
302
394
387
333
277
296
296
320
298
338
305
316
292
264
269
307
298
261
277
282
312
372
314
272
305
329
375
358
321
329
346
360
368
404
339
345
343
305
321
249
335
310
261
262
254
358
286
194
371
308
381
393
330
241
312
305
345
269
376
280
367
348
286
258
375
338
260
314
330
320
247
329
332
313
305
303
231
300
295
389
317
288
351
337
366
250
368
284
349
339
249
295
216
340
321
389
313
393
403
297
404
308
422
301
315
348
365
255
280
293
369
312
255
311
325
364
363
294
241
311
256
280
344
355
289
233
370
287
268
378
283
323
219
291
285
286
259
238
332
332
352
286
321
264
287
236
292
353
416
323
358
289
316
331
287
324
315
362
320
324
266
296
308
355
301
326
346
297
346
365
290
329
229
375
361
306
288
230
296
338
353
325
312
289
333
332
331
297
262
388
256
253
214
327
264
321
313
302
342
344
359
309
318
357
333
289
264
313
305
307
342
271
283
283
396
412
227
320
334
360
321
239
267
268
318
332
216
295
347
292
277
409
365
276
299
355
347
322
368
234
295
348
298
359
306
370
350
333
364
331
232
357
280
332
369
385
346
310
339
341
349
292
303
362
244
352
324
344
237
301
382
334
339
334
272
298
339
346
220
292
315
260
315
272
336
304
321
299
367
310
282
320
221
266
281
334
355
306
295
259
288
300
271
275
327
326
401
298
322
362
343
382
293
365
290
325
274
259
355
350
337
377
290
323
256
348
279
328
294
316
291
229
253
351
370
419
336
310
281
287
336
372
299
327
273
238
337
310
299
255
328
345
362
387
278
329
383
369
377
325
368
364
320
293
256
346
294
309
306
336
346
353
334
322
325
267
337
366
301
276
368
373
327
279
336
381
381
303
321
371
421
259
304
397
321
298
357
290
213
223
343
321
314
325
375
359
271
383
280
301
308
318
396
327
351
332
294
340
369
254
349
298
279
359
376
299
232
298
341
341
228
323
282
351
254
322
268
352
325
315
377
322
385
333
300
336
396
263
219
209
254
304
212
318
281
326
279
349
287
199
422
249
280
395
289
364
281
244
273
384
373
298
280
376
272
315
335
368
319
356
335
364
341
213
292
298
297
295
313
311
291
296
292
271
230
365
382
278
383
357
271
320
331
392
383
291
385
291
353
259
266
332
316
343
336
316
351
298
321
338
314
328
293
277
261
302
304
232
334
345
307
373
379
256
252
341
345
254
344
328
268
304
280
352
330
268
311
336
353
331
314
342
263
272
284
346
298
381
301
288
391
330
392
337
275
350
292
384
278
355
337
274
328
251
262
384
289
281
327
393
344
345
333
358
265
332
263
287
283
392
266
296
381
221
385
370
314
278
314
364
316
321
292
299
294
288
392
229
327
291
293
294
329
289
270
351
308
297
353
294
258
333
277
313
337
264
380
210
395
307
285
237
302
394
301
312
267
302
229
320
276
380
295
303
355
321
297
287
320
308
349
307
314
245
317
290
377
306
249
359
295
335
292
302
296
372
334
267
348
322
289
307
263
340
317
301
340
288
339
354
293
376
368
334
312
270
316
326
332
295
393
294
290
254
325
291
402
340
404
343
264
284
353
316
252
299
307
320
345
325
238
254
271
327
276
319
308
221
378
289
325
325
320
370
321
369
338
305
354
247
320
234
237
357
320
292
229
367
325
287
342
316
310
343
391
372
354
340
363
288
340
276
353
282
265
259
290
281
223
276
341
265
329
257
302
277
369
379
311
315
369
227
328
306
305
293
345
335
285
278
322
254
381
308
275
300
296
263
349
317
346
271
287
267
340
328
293
247
257
358
340
305
336
327
314
273
185
297
254
261
373
253
289
344
249
246
237
353
307
327
289
342
441
353
390
310
300
371
389
259
348
360
321
276
316
324
305
295
394
353
324
278
268
318
333
335
230
297
307
307
368
295
277
166
328
364
343
387
281
329
286
316
298
320
347
293
267
303
383
340
281
299
292
271
361
330
312
373
346
304
313
364
335
342
322
309
248
350
251
339
379
301
388
327
356
285
363
291
384
216
328
265
299
392
329
327
325
301
377
385
314
329
206
335
215
347
340
257
324
334
326
299
395
327
264
279
319
272
340
346
249
302
194
373
325
337
409
346
318
316
314
342
346
358
247
332
326
254
287
289
326
290
268
254
300
384
321
349
367
270
281
339
216
342
298
345
380
272
341
354
267
344
323
407
266
350
363
412
349
188
394
275
308
326
316
333
348
311
255
264
281
373
322
409
311
271
333
288
312
407
297
378
388
256
336
308
382
275
341
307
245
287
304
322
353
340
322
241
313
263
450
297
346
347
271
359
282
251
336
315
355
372
319
318
262
297
354
346
348
283
247
309
350
268
322
370
249
364
243
257
253
321
367
289
337
250
293
372
337
326
356
302
358
266
300
352
311
331
333
346
303
286
272
396
401
310
246
332
309
333
299
315
308
353
253
373
312
340
359
361
357
367
310
341
323
313
299
297
378
219
319
271
311
330
348
397
301
239
365
276
273
316
314
334
259
342
336
323
321
289
318
351
287
252
274
284
332
318
318
347
224
315
256
300
297
384
335
324
264
299
230
275
347
283
373
322
355
318
280
320
428
300
249
309
333
316
294
339
303
293
343
333
398
300
354
275
304
327
360
229
325
281
351
263
355
336
345
402
315
289
355
310
330
321
354
204
299
255
307
309
263
294
305
351
313
369
284
374
356
290
301
278
326
309
297
310
349
345
208
309
362
370
286
342
383
315
329
389
304
280
285
385
320
289
374
333
306
312
352
265
269
227
365
374
363
338
354
409
313
273
371
246
295
364
298
291
313
302
359
262
275
311
294
286
257
232
292
311
247
313
315
322
312
291
343
258
367
338
332
341
268
302
330
311
338
290
339
378
271
302
302
408
271
326
366
351
288
287
268
310
307
304
316
364
321
256
325
298
319
266
337
324
312
253
265
401
325
288
281
315
220
259
270
341
335
329
340
253
215
260
383
332
352
316
333
267
332
407
349
267
285
307
248
341
279
324
286
351
334
262
258
286
324
329
296
278
340
339
346
338
311
306
200
297
285
234
330
244
258
275
196
305
349
306
356
305
336
268
358
323
313
320
349
260
329
314
358
321
357
279
323
320
302
246
323
365
398
270
400
333
348
271
304
291
356
279
243
301
345
280
288
255
306
302
295
314
338
267
257
257
297
255
293
375
249
322
339
348
326
330
335
299
284
274
386
389
339
298
320
255
387
331
313
383
397
356
388
224
285
297
280
328
248
326
353
265
318
349
304
326
230
288
261
214
360
311
340
295
308
369
296
210
273
290
363
373
376
379
419
334
216
303
324
337
228
306
257
302
288
310
277
263
279
343
292
275
294
388
355
318
344
233
345
414
338
345
279
232
331
329
398
220
305
350
274
227
283
324
330
336
331
301
283
265
302
305
323
318
306
342
377
261
334
340
361
282
304
293
287
303
263
318
290
282
354
386
346
296
354
311
323
361
249
367
368
188
313
270
281
350
313
339
315
359
336
293
303
315
322
337
331
269
388
276
327
349
282
385
339
262
296
236
322
330
367
346
269
383
330
283
284
320
281
302
247
369
363
227
400
345
320
262
316
246
285
311
293
358
371
270
279
337
369
226
347
242
287
359
317
267
323
365
353
305
262
313
303
289
310
324
280
310
335
307
308
289
273
307
320
281
246
336
290
327
255
302
302
349
321
303
315
370
258
336
316
305
338
330
359
447
244
353
296
371
260
263
336
329
347
287
354
322
303
360
368
295
274
275
276
372
375
398
348
318
232
236
272
356
294
297
338
270
358
355
270
296
340
325
272
329
359
362
292
352
317
328
357
368
283
344
267
278
348
356
341
315
293
361
335
265
322
406
309
291
300
335
337
325
389
291
334
368
285
281
428
239
360
358
325
354
302
273
311
360
387
332
294
286
313
318
245
287
325
321
333
336
348
372
300
353
245
309
352
323
329
316
327
355
348
327
369
303
304
312
359
285
261
331
347
380
355
231
284
351
333
310
228
269
282
311
233
370
286
274
202
256
329
299
304
339
347
387
285
331
349
272
364
278
273
345
375
268
264
272
358
307
344
314
315
338
369
319
316
299
285
295
281
400
318
243
387
375
358
344
243
348
352
257
290
333
358
286
229
348
351
317
334
235
295
326
285
335
285
212
353
368
395
333
280
297
330
354
290
274
384
307
328
296
295
310
369
241
326
379
377
300
278
364
351
344
263
364
333
374
358
318
311
305
355
291
256
295
319
226
291
389
248
300
279
247
354
335
341
301
315
361
355
271
322
396
265
370
275
302
334
320
320
381
229
243
242
339
285
297
312
328
364
348
383
399
337
347
320
335
317
381
269
348
295
417
311
331
335
328
281
281
293
238
282
361
326
339
254
329
409
353
318
270
335
318
345
313
271
244
280
359
343
310
376
270
315
275
297
306
308
288
300
402
336
294
194
308
274
342
309
340
362
333
288
306
324
260
306
289
283
321
336
356
388
245
392
264
346
314
235
261
389
289
311
323
292
289
296
327
298
320
355
259
339
281
309
208
289
262
310
332
329
330
331
269
240
336
335
259
322
195
168
353
343
257
263
351
370
328
399
292
277
314
371
362
341
288
293
274
233
355
369
375
336
355
253
371
332
302
192
334
335
341
246
229
244
270
300
323
264
302
399
304
383
379
363
368
334
245
326
316
291
354
309
257
272
289
334
293
398
344
329
289
314
401
223
273
315
379
277
277
346
306
239
204
345
221
330
332
275
314
268
315
347
255
316
320
317
308
327
197
343
296
313
284
298
283
352
401
346
341
371
317
311
328
342
328
341
211
332
364
251
317
369
306
380
340
292
323
369
340
311
258
364
317
320
303
313
311
341
297
307
282
334
258
285
351
323
194
304
285
408
302
333
355
276
279
385
424
323
327
345
358
263
347
316
355
293
314
312
233
339
399
343
243
231
295
272
328
280
362
389
185
331
311
253
396
358
309
310
317
312
340
290
327
276
285
345
221
192
393
271
371
360
308
389
324
412
262
339
285
383
326
266
336
428
359
360
270
301
305
256
317
256
302
252
247
265
294
268
314
348
334
358
342
270
329
338
338
342
355
226
344
318
389
330
332
327
277
349
355
391
333
311
350
352
367
425
311
391
342
357
291
355
341
333
360
294
335
272
334
296
368
378
310
236
294
275
297
317
348
258
383
338
333
297
400
390
274
206
278
289
339
301
370
240
373
353
314
321
284
310
336
225
322
267
358
340
320
380
365
331
312
320
314
297
308
349
323
374
274
349
365
278
307
423
312
279
317
373
293
312
377
261
295
376
308
283
276
365
290
368
262
362
259
268
312
306
286
284
362
320
350
313
266
252
270
305
284
381
351
333
360
298
374
389
276
138
279
285
326
376
341
320
301
356
344
270
345
427
377
282
339
323
357
308
356
372
366
253
323
301
362
288
238
291
306
258
319
382
319
270
378
280
225
338
310
331
316
323
306
296
336
390
343
239
247
323
278
453
338
377
326
350
219
321
344
250
391
361
296
286
351
325
363
332
274
283
315
346
331
276
317
314
247
264
354
336
292
247
289
357
394
288
330
310
362
350
314
368
278
320
354
361
286
329
256
316
297
308
259
293
380
196
321
367
303
333
310
389
291
294
318
329
353
341
239
374
284
332
285
362
288
394
230
368
264
311
322
313
381
321
348
279
286
282
382
288
343
246
227
345
334
393
374
338
334
428
298
276
346
369
306
253
332
320
305
262
334
333
348
312
306
366
263
363
323
275
335
274
250
298
244
221
295
364
347
332
328
368
352
303
276
270
341
322
329
303
294
322
305
397
334
215
286
274
329
323
425
350
310
276
305
277
368
417
354
272
348
276
266
382
361
345
301
338
246
338
210
323
330
265
321
321
271
325
276
304
349
335
327
287
304
368
334
370
290
310
365
353
344
273
245
462
340
338
308
357
264
310
316
443
390
284
280
352
280
233
254
277
275
300
284
312
359
251
257
261
283
277
221
326
340
267
318
289
207
236
313
308
362
352
302
254
325
301
260
276
254
316
299
302
242
412
294
305
352
304
285
312
301
323
356
310
223
312
263
133
360
295
279
246
403
241
406
268
316
280
315
311
321
272
264
228
303
353
387
335
254
379
278
329
230
260
337
258
279
255
369
380
354
317
288
232
292
269
280
279
309
282
313
297
394
289
356
365
298
279
345
378
321
292
394
339
257
285
345
288
315
223
332
294
261
262
354
256
340
351
285
309
304
316
335
349
286
412
289
288
249
301
317
404
296
335
186
331
372
244
243
407
257
284
303
257
288
262
357
354
376
368
351
308
369
297
290
294
324
310
384
367
358
376
301
272
331
257
307
338
246
271
349
385
242
302
287
257
381
260
331
293
368
425
239
343
315
340
295
294
267
281
246
361
263
329
335
285
322
344
297
352
335
355
345
362
282
335
320
322
358
362
412
343
358
363
355
263
296
292
312
359
321
320
302
285
316
309
390
314
348
251
321
336
275
337
328
354
324
290
284
374
314
350
417
305
301
346
268
345
252
344
284
270
279
334
292
301
340
222
281
223
368
384
331
308
323
367
367
349
278
334
373
311
296
252
240
277
341
338
358
281
255
299
315
333
361
292
279
271
316
294
331
315
340
276
380
312
282
334
310
330
323
320
279
348
370
331
240
338
315
265
257
312
290
271
357
324
286
295
419
347
213
238
348
411
334
305
319
333
287
203
280
345
334
307
271
318
329
280
277
400
271
289
394
325
325
282
290
364
270
330
302
282
357
256
348
301
283
331
330
246
249
349
339
417
293
251
325
317
350
353
195
395
314
331
319
325
297
354
400
395
298
335
339
318
322
341
279
222
299
377
266
340
387
366
216
371
340
340
393
316
324
360
299
323
355
302
360
358
343
351
253
310
321
363
331
316
310
257
293
260
284
359
326
305
322
313
318
297
278
352
306
414
297
382
306
263
321
226
289
353
357
308
290
350
334
287
363
295
368
304
364
312
311
359
317
365
336
290
321
384
314
316
338
380
383
296
293
367
362
316
349
319
351
265
213
288
300
304
308
303
270
332
322
387
382
233
311
363
316
368
342
332
301
313
264
305
327
276
262
324
308
357
336
307
301
377
293
324
286
339
311
254
306
293
317
282
359
266
353
247
384
408
288
264
334
344
295
271
335
311
308
235
337
332
278
298
322
280
363
357
309
278
342
341
300
311
373
375
288
306
314
247
416
277
346
313
379
249
259
369
338
292
344
336
369
296
261
329
349
279
353
377
378
238
265
328
320
323
356
271
340
372
334
322
341
346
361
300
349
326
264
366
309
204
301
309
238
201
334
330
312
319
411
374
350
288
314
244
268
271
271
417
253
322
297
329
320
325
343
345
359
292
348
323
326
213
367
207
332
309
340
392
323
327
345
337
314
262
347
370
307
390
354
303
294
263
330
361
314
269
351
285
317
306
360
381
367
332
333
310
343
325
322
291
336
311
292
343
228
365
248
263
315
319
322
262
270
350
327
360
297
281
397
256
349
258
352
369
280
322
351
230
276
275
369
277
315
212
313
235
285
353
363
282
424
265
335
349
353
279
303
262
314
429
374
275
266
258
341
340
357
273
396
386
356
258
357
349
318
302
418
309
355
333
338
325
286
356
350
275
332
267
368
319
339
365
351
214
323
385
359
326
250
294
391
302
286
242
305
260
185
360
262
274
365
312
269
251
241
299
406
370
306
356
251
342
287
305
262
340
302
351
298
292
319
278
334
168
301
377
340
392
328
358
304
318
286
255
352
323
373
324
316
328
361
417
366
352
313
313
333
283
373
284
354
313
348
360
283
317
290
337
262
296
383
416
270
310
307
338
295
300
391
378
385
331
335
242
254
378
314
296
295
368
344
228
361
304
285
387
210
344
297
346
347
293
237
282
305
393
383
373
333
280
320
305
328
342
297
224
300
388
283
319
237
228
341
318
258
266
322
253
228
347
323
336
305
266
388
342
318
359
364
333
355
385
276
298
317
243
380
285
338
230
314
183
361
270
310
271
321
357
302
333
353
281
185
306
336
333
305
376
323
330
319
304
214
301
346
360
277
280
289
310
383
311
337
406
368
436
344
236
370
359
337
319
391
356
232
320
287
280
304
298
196
360
299
348
288
327
305
244
360
250
330
288
286
383
294
293
375
270
341
365
330
308
202
323
347
247
379
362
263
329
298
375
315
310
308
290
409
315
333
328
328
297
305
273
344
287
351
324
355
295
336
331
365
347
296
221
378
298
337
353
356
304
313
295
332
341
328
383
274
330
304
416
274
306
375
360
335
413
283
268
277
298
349
296
308
356
287
404
313
321
323
328
365
331
313
365
295
335
334
393
277
287
268
381
218
333
304
391
359
223
323
394
310
344
283
325
328
320
338
373
202
315
406
239
352
314
392
340
249
350
303
448
326
381
345
293
337
308
309
294
200
283
357
276
256
359
338
400
314
265
388
327
277
342
281
328
319
298
297
334
313
284
366
298
349
321
359
376
290
345
355
268
314
334
382
296
368
259
365
363
380
249
319
347
256
333
276
296
305
288
218
363
340
345
253
307
232
237
301
344
272
248
286
303
340
337
302
325
329
300
299
344
355
382
332
334
357
325
282
347
229
388
235
349
338
345
280
306
290
391
351
315
399
287
238
303
289
329
312
328
316
243
296
319
399
326
294
344
282
292
371
340
313
295
299
280
302
326
262
292
257
302
264
304
235
227
293
257
378
276
262
281
315
311
354
350
301
368
335
343
331
357
336
245
261
318
290
266
337
276
337
296
376
307
247
302
324
296
402
348
318
278
306
336
319
312
267
305
349
317
282
335
278
278
260
321
329
313
300
377
280
285
256
285
385
419
288
282
356
224
375
288
379
265
327
316
360
356
302
271
275
324
372
329
323
340
292
328
268
325
425
325
286
359
325
376
275
413
271
270
287
254
290
329
354
264
237
284
346
292
338
381
281
266
343
358
354
315
335
338
310
356
281
297
302
384
322
357
339
317
318
327
256
279
325
311
255
280
400
262
324
351
265
380
388
309
341
236
388
244
238
215
287
311
333
340
295
258
338
300
232
277
214
233
288
343
351
317
362
333
346
276
314
359
325
279
323
240
343
330
333
346
288
367
307
352
285
339
384
241
270
337
264
300
311
308
303
304
291
318
240
361
287
285
378
291
338
358
293
341
307
314
258
312
303
216
284
298
288
220
281
295
338
370
318
318
346
258
304
355
271
363
338
259
267
322
355
354
324
338
269
260
328
330
266
385
312
294
268
290
315
409
384
295
305
241
291
334
281
327
274
400
293
323
350
362
239
303
330
367
260
327
298
318
389
308
310
362
327
282
304
304
354
349
301
295
341
395
295
285
243
284
302
332
377
332
336
311
287
320
349
217
307
247
285
332
280
298
390
364
327
286
279
362
388
250
353
249
335
242
346
389
292
332
297
383
337
383
347
342
289
321
327
330
350
283
294
230
215
314
258
301
285
352
237
307
294
334
290
380
283
284
298
225
332
314
334
262
332
208
340
260
300
303
280
302
321
378
320
322
266
356
316
309
292
290
335
424
328
336
338
266
266
264
325
310
311
315
341
299
277
334
314
268
333
273
315
350
305
219
345
344
337
375
320
360
395
316
278
391
352
253
328
329
265
191
333
335
356
300
357
297
194
325
321
364
360
254
291
311
299
236
319
373
369
286
328
354
246
370
381
332
335
325
280
328
359
281
321
352
260
284
351
373
361
269
295
329
259
350
315
342
331
261
331
380
276
291
355
294
239
282
346
352
281
362
376
270
285
375
364
281
330
332
283
300
312
383
248
323
322
337
324
281
274
331
340
315
279
351
385
412
312
389
270
319
399
365
323
301
359
302
261
327
319
312
323
337
331
309
330
313
324
282
366
423
255
319
387
354
318
276
251
272
341
310
336
299
341
301
295
332
276
296
337
326
379
335
306
284
248
353
352
267
317
329
314
280
303
326
337
245
328
313
358
404
276
347
238
310
299
324
330
365
266
392
334
263
273
270
314
344
260
313
300
376
315
340
310
302
363
303
358
359
292
328
344
264
358
378
304
367
214
255
322
317
363
305
298
332
325
313
357
316
287
317
359
277
323
364
323
327
294
316
276
254
355
304
353
268
254
286
245
276
261
346
336
320
326
318
376
334
243
349
310
370
348
294
281
355
311
346
271
315
248
276
370
289
330
339
280
327
309
279
291
335
393
326
227
288
312
263
315
346
363
253
236
349
337
263
315
309
337
250
313
365
272
285
247
304
266
328
299
336
255
338
310
285
352
261
326
400
353
394
302
291
306
372
317
333
375
329
231
295
342
328
341
315
250
359
365
363
287
344
340
254
353
280
340
338
267
293
341
389
358
223
352
391
362
354
338
248
309
329
220
221
297
292
283
352
300
263
314
329
284
334
331
236
314
367
336
287
214
336
367
313
354
210
259
388
359
251
272
305
316
359
270
339
313
248
318
232
334
358
347
324
394
339
354
346
342
325
319
374
246
330
394
406
274
342
348
264
279
410
297
235
255
329
287
398
304
334
319
306
328
330
265
247
411
329
345
303
250
345
335
354
299
388
317
306
385
308
344
362
336
299
363
340
318
202
327
386
252
321
384
223
295
363
288
281
237
287
320
159
322
389
386
338
279
337
277
306
339
315
427
344
255
365
244
320
287
273
334
428
298
301
273
277
345
362
372
362
289
315
311
304
319
299
326
335
308
266
337
330
341
305
400
246
285
355
258
413
327
345
318
354
337
255
270
351
230
273
414
365
330
301
375
323
304
377
343
342
256
331
297
335
210
289
266
329
347
305
314
323
370
287
320
258
389
368
227
337
311
208
263
330
380
240
323
422
204
298
386
336
330
358
346
294
367
258
215
415
376
393
322
274
345
330
321
300
404
334
335
286
349
325
258
352
368
374
306
333
340
298
355
237
345
330
313
418
263
359
344
312
332
326
223
287
392
245
351
272
291
271
384
283
286
390
313
253
277
311
385
310
419
310
279
332
264
309
381
335
294
321
312
334
378
366
295
317
321
370
283
398
365
319
244
318
329
308
308
382
222
210
371
380
353
309
334
288
308
310
284
373
263
404
294
353
269
336
223
290
315
374
301
337
355
332
275
374
332
313
336
388
231
363
280
251
258
293
267
368
274
231
297
366
269
326
329
329
289
254
363
339
281
336
269
248
271
332
293
325
343
346
262
285
302
375
353
314
340
231
277
297
308
333
349
232
297
282
348
363
287
318
243
370
325
291
284
225
359
276
326
277
319
322
303
278
317
292
352
391
376
308
239
351
344
208
371
376
348
265
300
352
289
351
324
359
265
296
314
278
282
348
307
350
321
231
312
339
297
236
277
363
282
278
275
299
314
333
363
336
362
285
291
281
256
293
380
342
293
282
273
359
344
313
352
360
294
344
363
309
335
373
297
413
283
370
327
317
271
212
352
369
289
251
348
266
267
324
296
413
388
377
299
310
328
299
301
350
352
313
299
317
383
333
309
318
266
326
355
280
326
281
351
301
275
327
366
271
275
306
312
331
277
309
318
351
215
333
390
366
306
298
321
353
353
316
355
321
346
329
323
275
349
310
367
304
300
421
363
244
283
292
283
323
282
296
310
345
290
322
350
205
285
393
272
295
292
281
303
328
269
364
282
254
255
310
262
257
278
341
312
304
304
278
302
296
364
396
283
296
364
295
278
264
332
365
352
298
270
280
320
316
378
169
241
382
310
410
350
285
352
347
329
346
354
328
352
238
304
355
275
359
283
226
267
317
330
286
332
318
244
315
330
313
310
301
274
328
291
299
236
364
358
242
234
350
320
284
359
327
330
308
281
340
382
347
258
329
294
279
332
293
284
330
400
320
367
285
313
286
324
289
280
328
269
298
306
276
316
285
327
263
239
322
325
317
365
278
318
264
352
371
332
311
308
302
238
331
353
399
297
327
426
239
349
261
331
224
342
250
370
315
362
328
300
335
328
346
354
309
396
315
364
386
278
260
386
252
359
375
309
333
292
332
264
324
280
299
264
282
321
218
327
346
281
243
374
237
305
252
251
321
365
352
393
319
393
358
190
282
356
283
304
225
300
356
286
409
297
344
281
374
365
385
295
337
268
323
313
272
340
316
337
370
345
324
292
254
319
394
350
280
369
409
346
325
280
320
284
306
220
287
369
241
328
277
379
302
296
313
315
277
233
281
314
296
307
356
291
379
365
329
284
306
384
343
332
284
277
340
349
325
373
375
371
314
313
342
308
284
268
267
290
320
263
223
289
274
238
334
263
303
251
348
336
314
309
324
348
284
330
314
360
351
283
282
326
331
357
328
321
282
320
333
350
393
375
242
273
295
370
371
371
290
238
372
306
334
296
281
349
379
253
346
279
296
353
323
266
327
278
345
373
331
266
367
334
309
297
244
240
342
354
312
337
379
363
321
355
343
272
325
326
363
361
307
297
340
262
380
356
355
329
277
353
319
334
349
278
275
336
323
338
336
288
322
287
214
357
277
265
312
271
313
391
345
316
350
343
288
214
279
308
349
292
219
380
261
294
236
361
246
353
274
336
308
306
357
324
317
329
306
265
378
220
321
272
268
362
292
313
282
326
241
304
343
269
370
315
340
272
310
262
345
327
319
148
322
311
361
339
373
322
243
289
300
260
472
360
353
322
228
344
351
335
256
246
293
341
282
267
362
362
352
267
212
245
253
337
245
324
270
346
371
332
350
331
307
293
279
289
283
339
174
321
241
302
339
316
273
300
281
345
425
279
363
249
261
364
336
373
301
388
343
278
281
303
333
374
264
389
212
286
262
198
317
249
239
295
242
333
263
316
281
311
387
297
329
317
370
247
243
307
344
327
301
318
361
304
294
280
316
349
304
328
332
333
274
318
259
273
304
224
294
343
321
300
329
347
332
283
273
285
354
280
353
303
313
234
336
332
402
385
331
278
248
328
365
339
272
327
314
297
378
292
331
274
331
335
350
333
355
402
343
283
340
338
325
240
280
246
378
337
289
428
267
292
375
214
303
411
235
332
315
307
300
341
258
364
287
324
298
327
210
314
284
318
308
222
305
310
278
246
367
339
291
286
356
282
395
360
250
303
368
314
325
310
234
357
269
304
341
356
320
309
335
307
375
295
340
331
261
266
311
248
399
302
339
306
379
311
257
350
394
373
288
336
337
282
266
261
360
336
374
298
307
379
365
283
324
329
338
372
312
299
322
302
236
336
341
371
233
378
302
311
266
303
295
259
307
330
310
358
314
306
345
338
322
288
292
353
255
264
321
200
304
310
409
333
253
328
288
287
331
355
313
255
348
315
324
318
326
370
291
272
308
327
222
356
248
366
328
420
248
334
356
327
294
352
313
338
386
270
312
307
357
387
340
300
303
411
295
292
306
360
282
241
318
286
281
320
264
371
306
295
272
236
304
274
261
391
295
295
277
335
332
354
263
261
426
303
306
225
295
304
313
299
276
385
370
357
205
380
278
315
287
249
362
304
293
262
267
296
317
379
288
288
350
295
234
330
386
304
290
239
383
308
291
222
259
340
316
289
299
297
298
271
306
275
335
315
288
326
345
460
316
363
254
401
336
241
288
355
289
294
287
342
306
288
311
292
321
294
278
276
285
306
329
304
355
360
332
301
328
291
307
303
300
292
370
293
222
369
335
293
305
329
262
185
316
383
231
306
324
310
323
291
293
299
282
349
348
264
262
256
275
328
371
386
269
257
309
416
361
275
402
369
328
292
227
324
374
372
338
379
333
310
268
327
320
325
311
277
386
296
267
430
355
334
383
407
268
294
294
378
319
284
307
309
351
334
266
294
305
291
312
342
303
279
360
299
350
311
289
349
313
280
172
370
359
286
320
380
283
272
305
227
308
391
312
277
314
280
375
271
258
379
410
239
327
351
324
265
320
339
341
270
276
388
327
240
288
330
323
265
344
367
371
363
233
258
390
418
325
358
259
299
346
347
279
386
350
233
363
289
284
297
406
396
349
280
388
357
359
356
315
356
352
363
354
285
245
291
288
323
268
322
241
321
251
246
394
370
310
271
258
338
354
343
298
220
247
220
357
261
321
322
429
356
285
316
283
372
187
407
286
351
276
286
302
284
295
365
296
289
301
325
329
277
293
298
331
393
351
364
294
336
357
381
360
318
337
344
234
286
375
300
317
339
334
360
341
330
371
310
289
254
312
320
307
212
301
284
396
267
309
286
385
357
186
309
328
222
314
259
328
319
274
327
316
280
318
272
310
270
334
282
278
281
379
328
381
395
356
300
282
330
222
317
281
322
279
283
355
303
177
338
389
307
309
392
356
372
339
360
256
345
273
318
273
315
302
292
305
277
324
260
344
340
308
351
406
257
371
274
266
289
350
356
316
260
287
330
308
276
391
373
366
356
346
199
316
369
342
314
315
304
274
310
298
247
210
270
288
398
324
283
289
290
297
302
265
292
279
334
350
293
304
328
298
298
330
282
358
360
309
310
350
316
260
264
330
352
373
312
366
323
244
195
331
374
284
302
323
298
274
304
390
299
323
226
381
305
334
254
328
309
344
286
308
281
328
249
398
298
246
371
326
314
267
286
397
202
361
303
301
344
315
359
297
338
313
299
326
353
338
327
264
372
254
279
268
356
372
319
299
364
260
356
354
267
347
380
240
292
209
220
368
302
241
297
356
408
239
305
345
277
249
341
319
326
312
363
295
306
303
277
326
319
344
280
325
280
315
332
345
248
382
304
261
286
358
281
338
283
322
248
265
319
328
306
244
286
285
340
323
259
320
367
397
345
310
365
287
369
284
310
319
303
252
241
304
234
279
325
248
300
356
307
301
319
284
211
315
367
386
320
361
262
333
342
268
203
295
373
214
319
290
321
334
247
344
234
349
284
238
201
303
308
313
283
338
280
308
324
280
295
345
305
284
330
268
277
420
380
204
363
365
333
366
362
299
270
292
234
317
422
335
349
352
324
287
267
275
430
354
232
322
347
295
313
302
315
362
264
254
255
359
416
288
322
356
316
364
336
303
325
298
310
277
250
355
275
343
236
324
277
361
273
243
240
360
289
318
366
329
273
376
309
323
318
239
285
384
342
338
312
258
346
318
334
259
243
210
238
267
248
386
351
357
404
308
306
250
275
344
325
347
289
358
344
397
313
275
303
327
295
303
299
314
316
284
255
359
253
291
278
315
319
333
318
235
237
343
352
360
357
266
318
317
289
323
306
312
256
359
301
316
316
338
265
274
381
359
341
324
334
325
352
233
347
348
358
313
266
255
364
325
339
291
308
360
295
286
346
303
383
349
371
313
209
315
386
314
373
342
272
380
303
306
311
320
265
378
334
292
285
259
253
306
238
299
300
349
399
311
379
355
333
353
241
339
318
346
301
285
382
332
333
361
372
241
267
338
337
375
380
350
284
195
316
303
313
298
321
354
268
290
350
312
378
366
409
282
353
268
411
288
318
338
267
238
384
420
327
288
297
343
387
257
289
264
392
305
367
365
322
268
329
250
389
324
385
291
329
242
269
287
400
315
229
312
272
334
335
337
283
319
315
361
354
297
234
321
281
322
346
298
264
373
342
313
307
342
265
217
378
381
328
393
253
314
311
246
306
375
345
277
292
320
263
240
309
274
315
337
247
314
281
293
306
274
325
203
301
349
313
342
335
311
320
413
303
331
306
372
306
326
311
270
295
281
238
280
294
341
392
302
361
314
324
316
246
365
348
316
270
299
308
338
235
298
282
403
373
383
364
240
255
313
341
267
356
216
316
347
336
262
350
340
336
297
326
334
339
256
341
362
319
370
340
324
267
308
238
327
339
276
336
314
365
277
200
312
282
256
268
300
275
370
351
329
233
350
348
334
310
347
254
283
285
406
336
255
336
378
386
309
264
315
313
234
289
337
355
358
337
220
291
285
328
302
303
289
326
278
414
303
244
324
300
291
341
245
292
296
283
293
265
424
267
388
329
286
292
330
385
280
308
319
279
287
276
328
355
286
310
320
343
240
257
328
327
316
385
308
273
338
237
295
257
351
325
321
285
339
323
339
285
318
386
390
243
309
287
233
400
212
352
335
282
333
335
359
266
307
347
356
379
392
397
362
378
321
366
361
367
314
293
317
395
247
270
300
356
206
295
358
413
365
260
336
319
298
317
343
361
256
413
321
302
324
250
339
272
337
314
315
369
331
349
226
293
245
246
358
260
275
319
335
283
369
340
331
237
325
294
237
216
348
313
348
409
327
307
276
320
390
335
272
352
316
339
269
332
355
342
355
333
287
351
253
335
285
313
342
279
343
299
351
280
349
306
346
288
308
326
337
318
313
242
304
380
321
319
299
301
289
269
265
364
372
319
345
254
309
337
369
296
282
275
329
414
305
269
309
277
313
301
235
287
220
273
288
364
333
353
260
378
298
302
241
299
359
367
232
300
296
233
272
350
362
320
307
371
309
281
374
363
309
238
348
220
325
276
344
315
371
350
242
380
358
268
227
285
317
338
375
212
272
273
318
248
284
327
355
282
352
289
290
307
293
374
268
293
320
358
316
213
360
335
335
400
305
338
254
271
340
252
336
397
278
308
323
277
248
323
263
264
366
254
236
336
338
290
275
351
284
318
334
317
350
291
274
334
291
252
339
316
318
287
365
263
345
322
326
346
225
387
329
331
306
355
293
182
332
345
315
300
359
286
288
386
317
314
336
292
387
237
272
336
274
313
395
289
353
319
360
306
323
362
345
321
346
331
265
344
311
298
375
301
298
412
265
311
336
312
330
291
251
302
335
335
300
309
295
304
349
306
330
301
295
345
303
325
284
348
312
303
376
305
392
357
290
360
295
344
286
353
335
367
273
260
263
375
306
322
242
354
267
306
278
282
321
295
297
246
318
206
348
306
292
332
303
368
259
374
314
371
333
317
286
353
319
373
302
312
386
297
300
321
365
367
337
321
248
423
318
295
286
340
315
297
305
265
259
314
301
296
349
323
352
358
234
292
345
325
275
339
294
304
271
343
308
315
292
261
274
210
287
345
292
334
276
349
336
320
247
342
293
213
247
315
424
264
337
261
314
301
271
342
356
322
344
341
227
325
364
380
222
329
353
322
297
341
319
369
266
273
388
344
323
297
240
327
320
348
370
232
372
252
369
360
326
292
334
336
301
246
308
318
300
337
312
280
296
294
290
331
221
356
335
268
314
380
342
453
298
340
333
313
307
293
325
364
323
345
269
217
395
265
335
233
289
320
393
388
336
184
275
337
332
368
360
376
266
419
330
341
305
358
290
278
359
266
274
395
241
335
251
295
270
308
368
248
323
334
385
347
325
252
312
220
302
289
363
310
345
307
325
320
232
326
347
350
377
332
411
273
344
342
292
264
338
406
309
298
357
318
293
281
334
349
216
357
224
295
402
333
294
270
296
234
326
328
262
343
307
357
297
355
350
302
411
318
306
258
278
350
280
353
381
306
280
400
295
362
344
345
346
322
305
339
262
341
305
362
241
263
321
266
307
319
228
318
314
322
266
266
281
295
237
381
291
357
311
271
345
301
338
301
237
262
270
299
291
280
320
354
388
291
321
206
411
382
252
294
301
356
305
318
300
409
263
321
332
364
324
297
360
321
282
332
309
227
333
300
309
310
347
364
364
309
302
364
327
345
341
365
272
377
338
288
285
322
316
330
315
326
214
349
326
391
241
373
302
301
332
323
316
359
365
296
301
251
271
353
388
259
283
249
327
298
225
320
305
264
389
292
306
267
301
283
318
376
386
302
336
304
268
345
336
356
291
309
375
287
241
323
324
223
288
313
318
318
322
276
324
345
322
325
368
268
404
222
374
269
306
343
275
275
357
349
270
285
337
261
327
259
284
423
364
288
248
249
337
247
314
355
323
280
267
252
284
330
287
337
342
333
226
292
357
310
328
326
361
220
321
352
291
276
292
262
238
332
333
372
258
303
283
406
287
303
317
347
263
338
299
346
313
365
330
337
302
363
344
390
263
338
295
353
221
331
411
261
350
390
329
343
321
370
353
305
313
360
305
345
332
312
261
291
321
276
306
365
307
313
314
390
264
279
324
317
342
310
228
250
324
317
263
320
323
292
314
359
403
327
312
308
309
257
302
341
307
352
384
284
315
310
372
262
372
363
294
239
278
287
313
261
385
350
297
371
298
312
374
223
335
326
321
287
362
245
323
282
280
352
308
367
299
318
365
384
284
266
402
362
336
353
280
333
320
333
278
312
311
319
283
337
373
276
332
266
326
250
290
217
243
350
298
297
385
349
260
404
329
367
372
346
279
407
273
250
338
312
300
298
271
370
301
312
354
362
327
284
269
343
343
361
335
386
345
342
322
311
262
349
354
413
326
308
360
345
335
328
331
292
293
287
312
359
315
386
333
319
289
311
342
284
411
352
410
308
261
310
321
294
303
348
223
282
296
323
281
259
372
304
253
321
299
336
269
297
313
410
324
358
350
317
262
299
302
307
339
355
285
279
349
262
267
294
317
262
330
319
328
289
289
305
342
322
261
357
323
356
277
306
322
348
302
258
381
399
346
245
300
287
365
301
338
374
351
257
327
310
321
279
234
308
224
352
318
239
357
252
216
267
344
236
399
358
262
332
304
289
360
344
329
314
352
390
344
298
225
368
214
291
337
329
300
338
351
314
275
287
258
289
331
355
235
303
380
251
321
392
310
264
300
364
316
353
301
297
340
236
339
272
436
323
320
281
347
302
408
299
349
282
350
374
326
359
275
367
276
313
324
333
301
294
267
267
330
317
288
374
325
373
298
267
379
330
304
280
367
364
238
239
289
315
325
412
323
312
375
311
357
287
290
351
326
329
288
331
307
374
294
303
296
245
325
356
285
313
273
270
347
387
279
330
358
317
377
261
308
354
292
347
286
294
318
341
213
314
333
292
285
267
271
290
344
254
317
346
282
327
336
309
358
335
244
283
287
214
285
376
338
319
253
314
289
248
373
299
327
311
289
287
257
229
343
276
295
324
309
350
309
331
342
341
396
345
240
274
284
336
278
220
322
315
327
308
264
296
350
320
393
326
338
253
387
302
292
347
305
377
288
279
318
344
336
223
402
355
292
349
251
326
252
308
313
358
363
279
343
276
291
360
348
306
323
369
352
293
300
383
441
343
281
287
259
299
305
279
272
365
296
322
414
311
277
369
347
391
296
346
277
339
336
328
363
307
268
306
331
389
369
289
360
303
309
316
311
254
343
364
291
262
311
322
320
353
386
347
391
306
331
271
370
317
328
366
394
261
347
275
291
253
278
271
406
408
271
375
265
367
221
361
343
333
346
340
231
292
380
304
319
354
358
325
339
360
344
379
328
335
293
339
274
249
263
332
360
288
353
308
287
327
269
314
363
283
291
335
290
271
261
285
285
284
240
315
248
217
358
339
365
357
332
409
306
356
289
344
346
373
247
346
349
276
299
342
377
269
362
226
353
330
245
366
302
297
320
253
305
378
376
261
309
396
426
367
324
316
379
280
279
308
297
280
185
295
269
280
393
316
323
383
288
372
322
283
390
217
360
346
325
334
326
309
303
312
302
352
312
375
307
295
381
323
370
365
358
284
373
289
336
311
319
337
255
393
311
185
326
221
291
323
350
309
331
360
318
275
363
322
294
326
342
287
381
313
327
292
319
222
356
289
364
304
382
312
277
322
263
308
281
342
277
356
311
238
303
416
343
369
273
299
362
351
369
309
343
303
232
275
282
261
365
324
300
349
351
327
314
316
374
364
261
348
244
301
250
293
306
341
396
332
291
297
334
358
286
285
271
325
226
281
379
289
330
284
324
411
372
270
358
301
271
367
251
310
342
301
255
312
362
387
331
264
274
370
337
348
319
330
281
349
310
313
275
334
320
350
365
425
334
272
327
280
370
307
276
292
309
324
342
321
267
271
278
339
400
171
331
368
377
338
394
278
285
360
360
368
315
381
380
325
347
298
194
340
273
316
458
345
309
293
358
274
238
351
314
343
361
431
300
317
297
332
355
340
320
317
323
341
341
430
409
335
341
345
304
338
381
262
306
316
343
346
283
320
316
346
220
353
366
316
249
328
304
270
299
329
366
352
367
293
275
255
297
358
347
297
274
321
323
387
306
282
365
343
339
259
300
270
377
264
369
322
346
311
334
243
304
284
315
330
243
339
365
301
335
275
311
242
328
340
349
253
376
345
355
271
319
348
316
324
306
320
301
259
260
378
318
278
349
412
371
418
319
376
337
227
313
299
352
289
309
348
212
318
366
280
271
335
310
368
309
405
299
318
338
309
335
290
366
316
356
211
296
347
300
333
302
373
373
326
355
264
283
297
275
347
313
309
365
301
285
305
234
237
285
322
272
274
253
340
301
311
281
369
320
285
235
349
338
291
378
214
292
321
378
339
342
313
350
316
319
351
296
364
323
256
306
271
287
209
302
374
329
420
286
326
278
440
333
321
324
336
194
242
278
312
327
329
266
308
396
360
378
322
348
399
288
279
266
319
325
226
319
361
307
321
326
302
406
245
344
318
231
388
330
310
311
280
298
322
290
290
252
298
332
350
261
287
290
286
319
312
270
249
348
381
329
323
313
251
312
278
329
324
291
238
306
248
324
333
406
347
225
376
279
283
315
350
311
315
302
354
317
278
258
349
321
336
353
311
341
388
363
337
309
242
303
381
322
287
413
326
305
316
348
282
353
336
236
349
359
352
316
210
234
276
253
311
370
297
302
283
275
351
383
341
227
276
227
324
328
356
228
344
287
269
292
323
351
290
296
283
339
274
340
260
303
333
292
345
362
285
297
295
196
255
324
359
265
325
287
260
325
351
202
336
316
325
323
333
413
293
376
395
358
264
358
307
321
305
304
369
416
225
337
379
347
386
309
338
276
310
374
271
314
276
346
298
333
326
292
398
292
300
238
334
379
368
341
243
287
267
354
365
319
369
363
331
347
388
281
338
401
299
345
220
264
356
257
314
261
327
295
250
339
342
203
350
301
354
386
361
285
333
273
302
230
353
308
224
289
319
254
320
279
291
208
319
243
296
310
279
312
284
276
336
256
261
369
358
320
317
301
307
356
280
322
224
408
353
296
370
354
347
353
393
310
219
225
278
331
302
258
356
351
340
296
424
304
328
358
254
290
316
292
294
328
284
300
338
285
382
392
338
302
368
343
389
316
337
328
221
341
358
246
305
268
298
377
337
297
294
354
338
423
273
345
315
289
338
364
298
250
235
329
345
268
320
315
350
361
251
327
314
331
296
337
362
286
323
277
276
315
347
321
351
290
321
320
267
326
214
315
285
297
283
418
386
371
335
345
311
258
281
280
314
331
338
313
339
342
328
244
347
311
261
316
421
363
265
309
268
309
335
354
241
295
364
269
326
300
351
273
289
278
288
344
227
262
382
337
310
361
258
319
271
317
279
332
332
304
340
252
291
214
348
268
313
382
292
344
222
339
180
220
279
233
303
320
305
273
331
273
426
286
244
309
375
318
304
336
398
311
375
325
292
339
325
293
353
257
330
274
369
400
364
265
283
297
326
254
361
304
221
258
375
304
332
279
229
355
319
377
339
332
232
354
365
324
303
310
306
246
379
408
281
346
332
274
339
340
302
311
317
273
324
358
316
340
244
315
324
249
292
312
245
331
253
302
270
389
234
205
291
242
377
246
302
258
315
282
286
347
304
293
344
285
317
329
242
343
298
356
334
212
318
318
305
300
324
273
425
315
421
228
371
274
369
405
333
329
376
396
294
269
377
395
378
335
370
333
360
316
369
311
386
198
243
238
365
260
254
306
195
321
323
386
318
299
341
318
239
258
341
243
247
274
276
324
374
375
270
300
293
330
328
318
294
295
317
327
384
357
250
191
296
330
410
336
334
250
319
339
285
379
440
410
283
306
378
280
333
303
310
275
272
350
324
352
271
387
354
316
333
363
299
335
333
348
268
342
278
345
384
349
296
255
357
335
283
382
324
303
307
337
323
322
300
345
298
305
306
341
297
395
278
315
281
290
314
333
317
299
351
296
407
346
338
328
279
262
261
298
280
287
237
322
312
349
207
361
262
278
281
213
281
396
240
350
295
326
298
271
364
323
343
356
313
283
358
297
318
258
386
268
253
247
297
393
361
319
249
258
379
283
275
352
270
361
334
329
313
294
288
186
304
331
372
364
335
220
306
362
275
342
350
357
371
352
339
316
377
285
319
284
252
283
342
325
301
318
317
326
369
252
266
367
315
257
333
309
373
360
310
288
210
266
383
315
365
327
273
334
253
365
325
300
339
358
271
316
302
336
259
337
300
393
326
342
382
348
361
312
246
295
344
278
318
296
263
280
276
358
303
380
358
369
360
347
308
329
290
286
257
274
330
367
276
323
246
255
295
339
281
273
201
417
240
233
330
292
300
344
330
322
308
275
260
299
380
302
369
330
386
343
292
256
367
378
280
326
397
315
271
300
400
361
360
327
336
327
334
228
329
271
279
262
222
320
326
369
358
383
385
304
275
345
173
259
400
261
238
249
333
359
264
303
252
375
346
306
280
368
357
232
314
374
337
320
257
355
347
282
348
387
351
297
386
315
270
367
320
332
289
295
266
326
394
216
387
344
284
274
278
361
234
349
317
367
324
265
343
319
360
395
303
308
276
347
289
283
339
369
332
196
381
408
258
316
284
306
306
441
267
303
307
350
361
237
277
365
411
262
294
229
308
283
289
313
372
330
276
288
327
391
287
297
252
342
345
300
310
335
350
414
420
290
314
308
305
369
359
379
390
292
257
344
299
324
238
367
292
293
331
304
248
370
242
336
400
281
307
313
314
280
331
296
366
252
306
270
340
316
312
241
300
335
260
371
279
327
263
341
287
206
244
322
309
349
276
333
246
245
405
328
333
281
328
307
310
256
281
385
363
282
212
279
222
301
298
341
309
319
308
290
335
335
270
249
336
277
340
284
327
254
356
415
352
337
278
317
248
310
310
301
332
306
341
259
331
386
321
337
369
301
304
350
320
291
383
246
357
243
230
276
336
342
344
206
352
283
253
318
277
343
365
299
337
244
312
299
312
371
325
383
365
338
341
344
301
274
220
307
349
363
321
336
324
289
269
319
303
252
417
247
378
314
267
319
337
238
274
332
286
354
335
274
330
282
399
268
288
204
358
305
305
253
232
341
378
259
303
358
322
323
344
261
370
305
246
391
375
330
276
328
227
428
304
271
272
330
408
340
319
327
256
284
276
275
406
324
287
363
366
343
267
279
301
302
329
370
385
244
330
318
234
326
327
292
342
369
335
283
262
300
349
296
384
348
353
331
343
281
380
321
311
295
303
349
301
322
214
343
269
342
352
282
298
351
321
405
278
295
354
321
322
417
261
292
278
283
269
348
280
266
288
313
321
252
330
289
394
242
285
305
282
316
339
299
320
265
197
403
346
310
288
350
310
275
247
382
238
329
435
265
291
345
366
333
264
221
351
272
347
341
331
362
339
236
345
275
278
326
415
347
376
323
326
329
366
393
320
356
410
305
367
362
328
311
311
346
217
231
299
343
315
225
372
243
355
336
392
357
314
332
329
332
321
362
349
300
294
316
277
284
315
359
311
363
356
315
274
363
258
242
337
222
238
391
284
268
362
264
401
349
320
368
323
252
381
341
293
324
266
304
264
272
346
251
331
298
264
223
358
298
373
278
293
356
341
285
270
249
306
279
334
289
313
351
306
308
304
319
299
345
322
339
291
299
281
381
307
322
294
298
403
255
275
303
253
292
352
221
338
305
347
341
359
344
294
320
268
435
288
338
238
407
342
377
255
321
339
358
298
352
356
357
318
350
283
342
324
364
332
296
287
339
336
321
348
349
318
319
284
324
272
272
377
299
218
334
315
273
340
243
257
337
319
381
291
327
275
294
282
307
353
333
322
339
283
307
357
303
355
303
287
262
262
291
287
297
377
367
379
225
310
355
293
290
275
353
356
340
331
309
286
356
323
326
261
239
359
220
217
419
306
251
346
373
329
434
302
234
325
270
374
305
293
302
282
301
309
274
311
304
323
323
428
308
316
312
353
278
357
291
328
383
305
270
302
401
306
317
305
360
344
364
359
260
364
285
370
327
348
335
331
347
277
251
380
360
303
326
335
276
354
334
374
361
266
293
348
304
270
343
339
218
331
270
318
309
319
340
332
313
341
318
337
337
326
332
294
381
286
386
341
256
400
367
363
266
320
271
253
295
226
377
358
299
383
317
364
285
278
228
269
329
335
319
370
300
272
338
263
260
321
281
281
321
303
228
328
370
359
331
245
351
356
319
384
394
233
223
418
364
309
306
354
296
360
299
345
292
266
297
265
275
309
290
341
277
384
293
318
306
273
259
316
268
375
247
320
306
204
349
308
300
329
251
298
275
321
283
196
275
303
347
357
269
327
318
334
337
312
432
289
214
366
237
288
310
287
294
334
348
264
322
362
282
289
369
350
271
326
337
339
292
273
286
289
316
279
292
284
302
297
346
243
348
331
290
279
358
328
289
280
417
333
354
392
336
285
374
340
324
251
260
310
349
350
297
314
329
289
312
243
272
338
331
369
379
300
389
215
322
250
385
322
385
246
338
297
362
314
386
290
250
329
273
268
261
288
305
310
381
323
273
316
243
311
347
321
290
240
294
327
228
295
282
396
268
352
354
258
256
292
229
298
268
319
387
325
328
333
263
360
303
307
333
324
270
278
332
307
267
251
333
315
289
378
327
413
306
248
340
322
332
309
257
301
315
348
352
326
287
373
237
403
302
289
281
339
273
331
298
313
301
261
308
351
314
313
337
300
298
361
293
266
315
320
421
297
384
279
286
390
260
305
337
401
317
329
362
381
309
283
325
347
286
295
282
280
309
392
391
369
341
265
347
271
382
339
302
339
302
366
275
320
386
355
344
288
330
314
253
339
299
279
295
276
288
294
378
262
351
408
290
270
312
358
323
303
312
248
365
249
362
325
294
356
378
299
340
239
412
349
356
343
323
327
320
291
348
364
292
292
284
379
320
359
284
306
294
334
268
320
275
226
334
388
298
294
316
312
325
356
350
301
308
378
215
313
366
253
299
281
317
291
315
344
319
342
320
292
348
293
333
325
318
228
296
235
373
310
322
303
240
370
294
408
289
414
371
282
297
234
347
268
227
289
291
312
334
298
263
300
294
356
279
285
324
351
289
276
324
325
289
258
298
348
313
311
331
339
244
328
377
295
388
385
211
286
320
343
318
293
343
279
283
303
285
273
307
301
259
384
370
346
305
292
291
223
284
355
235
352
279
346
287
246
339
194
271
280
404
328
337
349
249
361
337
318
351
313
332
313
284
250
347
285
284
368
312
279
344
280
361
323
359
312
402
262
365
251
254
292
360
320
372
273
384
316
334
315
366
311
346
274
259
372
327
268
228
364
377
267
297
336
315
280
326
394
379
346
338
339
238
299
250
371
352
318
345
351
328
361
349
337
321
255
346
289
376
332
391
218
255
316
358
339
338
343
340
354
302
289
346
258
314
340
286
277
343
294
358
336
363
319
293
329
286
325
335
340
396
288
280
330
318
295
330
431
340
395
311
288
303
355
201
221
278
367
380
228
339
323
304
300
327
311
379
274
310
313
338
303
274
338
348
213
363
335
341
372
352
338
326
332
334
369
316
302
276
300
333
383
292
291
290
324
274
335
375
336
317
257
329
285
312
287
237
219
311
292
326
211
408
291
335
337
251
341
290
312
289
343
254
358
309
323
299
373
284
263
248
340
332
294
293
255
246
241
286
210
346
277
347
240
257
234
368
236
312
292
187
248
215
391
288
262
317
377
300
314
336
300
368
293
367
287
298
321
274
244
279
318
226
305
354
247
405
347
253
324
337
281
354
306
372
288
249
315
273
298
369
340
340
295
328
373
300
303
270
280
313
344
253
275
282
312
380
297
291
186
310
303
256
280
353
329
350
224
281
357
278
253
310
344
364
347
288
309
299
315
367
271
410
280
329
282
334
307
329
299
295
317
277
297
298
350
274
249
304
378
326
307
271
235
373
346
271
380
400
319
301
288
312
295
282
279
255
331
311
341
332
339
314
300
398
295
311
381
332
399
326
364
319
358
320
348
300
304
299
273
330
344
336
297
288
302
321
327
313
361
204
336
278
378
279
315
378
241
289
370
265
363
242
301
301
276
266
347
320
356
311
374
284
295
263
301
324
356
340
290
387
374
300
278
282
382
283
362
232
329
351
387
290
318
336
324
273
295
362
258
282
317
205
353
315
235
350
379
184
323
320
302
289
231
362
263
309
311
331
357
254
170
318
309
335
328
295
270
231
311
303
287
341
312
354
372
361
278
267
305
291
351
277
330
266
255
238
224
306
326
289
298
382
235
286
284
364
338
328
269
363
349
332
326
310
276
306
333
319
375
308
369
339
285
347
390
318
319
386
323
299
281
353
314
272
380
269
275
284
222
345
307
262
322
283
264
279
325
271
403
351
331
333
226
337
378
305
383
303
342
289
290
322
321
266
346
378
319
300
390
257
414
240
305
294
290
298
277
275
244
306
328
354
267
332
336
349
270
275
284
307
379
363
345
272
304
328
292
306
318
321
312
299
358
318
369
348
376
268
345
241
254
238
303
272
290
292
237
282
236
324
314
305
299
290
264
313
359
292
251
360
329
314
361
291
320
356
318
266
278
294
279
332
322
309
269
308
368
358
328
327
374
206
362
292
266
347
310
240
297
374
286
395
297
343
284
328
323
254
307
301
304
346
310
349
314
289
242
272
297
339
271
265
290
251
298
253
245
263
258
291
297
352
331
438
335
328
331
385
308
276
262
366
288
286
297
283
238
227
235
251
300
316
369
360
263
316
304
380
307
266
318
346
303
230
309
329
350
323
356
264
342
366
314
362
331
329
327
283
245
292
363
264
333
375
305
278
316
315
335
344
301
354
327
328
325
354
330
301
315
330
342
312
278
318
263
334
305
312
334
273
288
262
389
320
409
354
312
324
170
365
338
365
371
363
322
343
268
326
305
347
269
308
298
257
308
271
354
288
327
386
388
357
244
286
359
289
291
299
241
317
315
317
224
282
356
293
343
373
305
266
288
315
268
219
332
268
331
387
276
272
341
404
249
271
264
370
361
280
349
244
346
270
316
308
296
283
333
263
317
295
312
343
361
298
297
359
357
352
331
314
357
306
315
262
247
306
327
261
290
328
318
297
394
337
256
315
372
356
289
311
430
324
348
288
308
323
300
347
388
346
298
352
348
322
320
335
342
304
298
342
329
277
299
340
317
406
312
307
234
305
247
340
281
339
351
358
302
346
298
312
264
293
317
285
274
372
336
300
302
292
303
357
332
287
359
282
317
240
267
300
310
331
314
348
331
367
329
360
360
367
327
335
373
359
310
380
338
352
398
333
365
313
314
406
318
325
359
411
269
371
400
336
376
315
308
372
239
324
397
247
295
375
332
291
335
310
326
340
364
355
357
364
288
212
247
239
311
306
358
336
281
355
233
276
311
348
282
261
248
394
330
329
237
340
352
309
334
235
353
361
342
256
300
285
254
281
268
322
335
314
339
327
304
312
325
207
294
350
229
318
312
279
357
374
331
342
329
311
286
279
378
318
312
327
279
329
366
313
290
356
236
303
328
334
324
281
299
372
314
288
285
385
334
328
331
285
285
287
361
371
299
330
317
393
340
391
282
327
263
208
342
128
285
291
266
332
302
299
272
375
314
339
376
356
384
351
348
222
352
376
292
341
334
333
292
283
340
277
344
322
379
324
319
243
278
348
294
264
367
304
238
321
303
318
332
367
375
237
299
275
237
300
286
256
223
302
311
283
236
304
292
318
299
330
202
269
356
323
381
358
318
339
246
268
306
296
347
217
275
397
312
329
350
311
346
277
334
298
346
411
260
343
202
311
304
296
315
311
321
323
349
273
365
300
341
359
290
296
312
353
291
276
379
282
270
316
347
301
301
334
370
337
381
262
364
301
403
250
384
262
345
349
294
378
333
269
345
327
355
272
324
363
318
269
286
273
326
270
267
378
281
349
326
259
342
305
298
412
415
343
343
295
269
287
257
314
311
353
271
380
247
256
308
317
323
277
309
287
337
315
319
379
368
228
354
333
326
340
345
304
423
383
311
335
282
246
294
270
335
344
281
306
352
313
325
308
339
278
288
319
317
367
288
327
334
326
236
323
327
320
259
367
322
315
318
266
233
300
290
367
407
299
270
363
253
270
294
333
378
316
356
295
302
318
384
309
271
309
308
230
333
236
304
319
353
335
286
444
297
282
325
273
317
321
329
241
321
362
292
345
366
317
337
251
320
261
329
327
279
355
302
312
339
332
374
243
378
274
251
352
344
330
358
348
323
297
383
308
349
303
201
370
339
335
248
255
264
243
345
297
379
341
309
284
341
333
305
236
381
345
323
292
355
302
273
278
308
250
327
294
354
310
237
342
381
282
315
320
369
275
304
276
284
383
374
365
302
331
293
378
274
261
312
380
270
314
294
349
190
268
354
255
256
396
334
354
302
296
239
409
290
351
224
347
331
299
274
348
326
336
228
240
353
337
288
251
246
302
307
341
303
253
240
296
330
236
351
276
263
332
328
346
250
309
328
330
364
334
366
363
388
334
387
274
370
299
315
396
401
316
329
308
314
344
366
312
239
298
381
329
293
252
312
306
406
383
238
358
351
344
321
327
407
342
332
304
383
382
363
300
298
374
255
333
280
293
276
244
345
282
338
293
273
290
290
277
373
356
310
312
367
303
299
332
336
420
282
360
286
342
334
301
315
319
327
343
337
338
345
334
323
353
318
305
245
302
363
271
403
321
316
392
397
339
287
343
372
335
257
244
300
328
275
208
313
390
295
335
332
266
315
342
341
284
302
270
328
247
347
306
285
358
352
357
302
281
235
297
356
350
343
367
219
419
357
288
306
359
313
355
284
363
223
254
299
361
209
350
312
348
329
336
297
294
380
298
319
331
332
245
323
260
293
285
214
324
246
361
293
271
240
265
215
345
313
272
227
241
275
340
194
297
379
319
329
227
354
304
388
305
287
300
291
365
324
297
436
297
312
251
341
351
349
328
315
302
310
312
241
335
159
355
319
391
329
385
343
375
343
368
300
257
264
285
331
342
305
316
343
321
232
320
401
320
314
321
214
304
278
341
336
354
187
305
359
219
400
324
265
247
362
340
307
293
340
427
264
328
358
249
262
355
336
338
290
344
211
312
311
358
288
345
318
272
326
311
265
278
297
353
284
327
314
236
330
343
386
382
299
274
339
263
270
252
281
328
368
237
338
284
328
287
320
298
349
386
302
365
358
268
320
355
289
293
347
319
349
276
316
316
324
279
322
220
325
273
351
364
262
309
382
370
288
251
362
346
347
367
354
284
328
218
285
304
353
275
355
243
296
294
392
259
318
290
383
252
315
264
313
260
289
361
397
310
353
403
322
332
306
313
315
337
263
263
329
210
328
314
336
331
343
238
362
335
325
342
379
361
413
270
290
340
299
299
255
357
336
251
314
294
246
338
328
298
272
270
287
297
324
362
286
384
347
305
343
297
309
377
326
328
360
316
351
335
360
301
268
343
316
331
296
267
302
375
258
251
352
286
371
364
373
371
337
281
286
328
283
381
397
311
292
292
191
340
296
304
311
263
347
357
322
290
352
298
306
326
257
252
342
299
328
288
248
296
329
380
281
358
284
374
269
308
269
339
275
352
249
264
278
390
335
358
288
247
312
292
317
326
351
299
289
331
251
292
370
350
288
352
313
353
284
360
326
371
351
334
347
325
267
392
299
284
292
335
352
287
371
255
288
265
279
393
282
316
297
353
252
235
385
258
264
345
355
257
318
362
316
281
398
382
299
357
307
278
273
300
349
303
334
342
305
291
370
372
303
300
375
363
256
310
284
307
285
351
295
275
340
287
371
255
334
285
302
336
313
251
294
341
209
293
291
315
295
310
360
301
353
345
254
371
236
320
297
348
304
259
339
390
277
224
333
327
277
308
281
300
310
314
384
346
365
366
373
339
276
247
363
355
333
334
268
317
346
281
321
289
290
238
294
383
341
217
308
292
304
294
367
285
325
275
274
344
325
301
228
227
255
299
301
341
307
413
290
376
315
364
318
228
294
330
281
331
333
370
297
376
207
357
387
284
224
272
192
286
263
332
317
317
314
288
261
324
398
270
301
339
231
308
315
273
276
365
288
349
343
304
323
314
320
291
362
286
345
275
396
345
298
370
232
351
303
421
308
386
315
401
287
340
332
317
374
345
348
343
309
273
377
395
317
285
406
330
374
349
270
263
279
392
336
269
293
337
273
287
340
267
336
345
375
239
337
339
277
291
313
347
360
335
292
321
366
319
367
301
332
303
301
343
306
311
319
236
399
280
357
286
304
297
258
263
332
318
276
255
300
226
290
317
315
290
308
284
393
324
314
302
321
371
243
241
402
313
261
302
272
307
352
214
310
267
323
312
372
355
308
341
302
337
351
302
277
278
342
286
340
274
377
183
259
330
293
353
363
229
330
252
315
337
333
347
304
322
293
370
393
217
330
355
282
372
396
379
231
267
363
384
293
242
286
362
290
235
315
290
263
274
325
342
375
408
344
342
343
337
358
334
347
345
309
328
285
337
277
366
230
346
265
319
325
338
248
335
312
315
280
319
299
378
323
276
279
354
284
304
307
174
314
273
246
357
348
230
312
293
328
309
238
312
325
274
316
300
262
320
321
237
249
254
290
301
289
364
329
277
365
318
337
299
333
345
339
311
300
368
363
349
298
311
319
364
211
356
172
343
293
330
333
356
340
334
283
347
284
310
354
276
342
348
310
380
323
331
351
366
228
393
425
264
317
296
363
291
303
328
341
253
203
252
345
389
309
297
324
326
313
341
304
256
326
376
296
267
294
303
343
318
309
214
252
330
347
242
340
318
324
320
383
325
316
258
394
312
291
238
264
298
276
262
313
291
302
295
264
370
340
421
371
342
266
303
247
218
261
364
322
377
348
345
317
310
281
219
332
353
249
346
365
297
208
364
274
428
315
255
257
344
400
313
297
271
326
400
306
333
348
359
411
308
278
333
313
326
320
225
254
291
354
362
274
320
329
320
274
331
336
344
275
343
373
336
377
352
387
258
291
351
306
293
336
340
309
323
386
279
295
246
321
376
280
352
309
395
279
337
376
308
314
337
310
297
345
357
316
299
264
246
339
248
321
323
236
341
369
351
226
348
323
332
277
318
337
319
336
384
297
378
278
318
283
229
259
320
343
355
322
301
371
337
278
420
283
307
308
227
288
336
260
364
315
340
279
318
332
293
348
283
286
281
304
278
343
268
370
385
303
345
406
326
221
308
267
303
348
329
351
287
272
338
338
235
312
287
302
330
239
374
342
214
271
369
310
261
273
331
277
338
296
307
262
249
289
340
342
278
377
334
284
280
296
229
250
337
263
304
373
332
264
266
244
259
332
426
313
295
370
302
381
290
348
322
360
312
300
286
354
288
365
238
303
370
319
224
373
327
338
333
406
367
290
276
361
248
319
278
252
376
327
294
332
295
411
395
366
338
415
415
277
253
281
318
351
383
353
298
265
347
331
296
305
318
338
236
283
306
287
292
272
304
326
319
360
375
335
333
377
344
293
262
339
361
234
428
292
405
285
292
265
375
315
346
365
270
330
212
307
413
289
243
360
279
383
352
276
329
316
317
340
303
308
320
261
323
353
345
329
287
415
398
312
311
291
245
330
251
297
320
266
309
285
341
259
267
311
351
312
278
333
348
284
238
322
321
332
335
290
263
407
321
311
311
416
291
295
402
375
319
380
310
207
334
366
343
313
355
276
239
339
292
389
386
358
330
237
313
268
328
339
410
287
285
331
291
356
363
388
301
306
414
371
266
317
328
292
281
296
377
356
257
319
294
243
275
307
343
321
304
322
327
383
350
358
287
342
241
215
306
359
313
319
241
324
357
273
403
222
388
272
324
357
320
359
322
315
338
253
290
267
382
360
301
272
296
330
295
265
330
367
336
404
235
304
295
343
314
387
392
344
190
313
304
355
278
296
318
377
322
364
383
332
358
343
248
363
292
325
291
273
312
306
282
312
265
278
337
311
315
299
331
325
340
272
233
372
367
392
291
310
309
339
309
352
286
310
332
348
276
323
298
293
273
384
302
381
360
356
264
299
292
278
336
396
334
313
252
326
303
312
365
312
313
308
299
320
306
341
364
341
316
338
347
313
355
314
341
345
383
367
311
342
248
325
342
290
316
205
247
318
347
312
312
308
327
293
266
317
294
281
408
285
264
271
205
331
258
291
336
302
227
324
394
320
314
282
352
426
333
325
396
271
342
298
248
300
351
382
247
254
315
300
282
381
273
365
242
226
322
172
339
331
303
282
357
276
308
368
336
254
336
356
339
320
337
311
240
369
303
298
263
374
327
310
302
332
293
215
310
396
331
264
320
330
367
326
254
364
296
329
364
330
260
250
325
329
271
266
322
294
301
270
334
311
312
315
375
351
252
242
336
319
365
294
314
305
239
342
400
303
259
314
291
294
421
287
263
352
344
235
243
189
312
288
308
370
342
273
265
288
371
321
304
306
300
283
327
271
364
310
273
314
239
352
255
268
379
269
294
302
174
261
287
341
314
267
352
327
329
323
316
336
291
276
207
281
285
283
360
313
271
352
386
349
369
324
238
327
261
325
328
336
314
265
318
281
318
345
310
263
307
292
309
369
316
348
401
398
402
255
247
325
362
288
324
253
336
295
335
318
317
267
357
312
299
330
300
326
341
316
347
371
269
383
315
230
304
349
363
245
318
296
331
326
326
207
321
308
255
307
341
384
325
325
396
330
325
329
339
341
380
300
303
253
334
327
302
277
357
302
408
365
325
320
402
317
258
373
336
303
309
365
281
328
305
214
322
237
296
326
283
317
333
302
294
339
344
306
329
360
286
363
340
327
330
276
324
330
364
347
341
265
345
300
341
323
328
349
300
260
318
348
262
321
316
347
209
305
316
337
282
369
262
382
333
347
310
278
268
187
337
322
326
378
328
326
363
308
265
316
261
314
358
291
254
320
212
392
359
316
340
221
286
336
273
261
325
321
227
320
399
376
283
360
273
341
365
300
340
348
254
358
306
289
336
347
348
299
306
280
380
347
337
329
298
376
374
410
351
391
270
289
239
265
365
371
303
325
245
295
279
302
319
257
306
309
267
268
329
245
280
324
281
378
252
314
362
355
342
346
274
335
207
303
285
398
397
317
219
312
359
239
297
292
337
293
308
337
344
285
321
298
364
250
345
223
310
426
263
351
371
266
332
286
313
325
324
277
352
345
385
346
352
332
357
348
457
353
339
279
326
319
351
298
341
301
309
314
302
250
291
288
282
317
324
335
287
296
335
293
310
212
267
287
339
290
258
235
336
227
327
270
326
295
349
312
252
310
286
297
340
327
250
372
289
257
287
329
281
380
341
249
366
314
320
323
293
352
228
376
359
374
365
286
358
254
339
291
367
340
343
335
241
324
292
321
256
330
334
377
360
366
246
265
274
338
353
272
350
343
306
330
319
330
274
277
338
303
280
362
306
361
393
245
311
306
352
373
315
323
357
234
362
248
364
278
312
322
316
354
336
269
232
373
341
307
346
244
306
389
258
296
302
291
293
319
318
358
226
302
293
268
332
325
326
359
345
287
274
370
342
303
340
370
349
252
157
274
331
356
367
350
329
355
360
364
273
357
297
324
369
347
293
366
321
285
294
339
286
262
351
233
268
270
331
265
350
311
336
335
246
295
256
356
277
342
350
347
304
226
398
241
302
317
288
287
303
276
328
199
238
271
355
214
368
365
315
366
333
311
255
319
278
237
233
325
246
291
253
326
334
276
413
351
354
313
333
303
255
329
351
312
215
376
314
304
344
329
331
288
301
284
306
277
341
332
345
297
378
298
335
369
331
303
364
342
362
172
358
234
297
314
385
294
343
296
236
304
308
374
279
345
286
210
350
319
320
343
330
293
317
257
297
307
331
320
252
275
325
323
300
375
337
357
347
267
353
374
289
298
344
327
248
310
275
384
269
282
285
264
357
302
281
378
267
329
293
311
375
327
361
363
367
370
326
368
348
357
381
325
290
382
372
284
302
284
294
312
264
350
217
284
304
274
336
311
303
269
334
349
326
263
379
302
318
279
342
385
287
342
243
228
313
342
392
313
319
248
276
335
335
342
259
339
275
265
231
297
330
372
335
233
342
339
323
266
337
411
299
331
393
345
320
371
291
319
297
337
401
350
355
192
339
360
289
409
304
275
378
346
295
313
315
324
376
360
226
259
369
266
302
301
331
297
349
298
272
263
346
354
348
317
333
395
255
296
296
345
319
351
297
341
354
400
347
305
204
355
382
311
223
341
326
341
278
359
339
359
315
269
365
309
255
297
311
244
394
252
361
352
317
363
265
295
330
233
267
249
333
295
286
277
305
330
290
291
351
283
333
292
312
341
342
271
280
263
266
334
351
285
335
372
323
289
271
331
411
296
241
310
334
313
252
346
376
330
283
348
302
429
356
349
332
307
330
236
310
345
224
296
420
285
293
345
316
318
216
323
257
355
241
299
348
366
408
330
321
377
393
329
285
292
338
411
314
332
291
242
340
366
360
349
350
320
261
221
299
280
335
259
331
199
393
365
309
339
228
342
328
348
268
321
226
280
333
419
329
310
337
287
231
341
317
297
320
246
274
240
412
285
393
315
233
243
299
331
369
320
271
239
331
326
399
314
253
433
311
322
222
231
311
334
294
265
254
390
345
370
259
405
295
266
316
371
235
350
341
292
341
301
290
284
276
290
333
308
300
335
300
356
348
294
366
311
356
216
328
308
341
267
199
371
291
294
291
173
309
298
360
269
330
311
341
261
347
301
409
323
332
217
339
340
337
209
267
343
333
324
324
341
309
371
270
270
297
314
318
342
305
354
215
299
274
339
321
288
298
238
321
334
236
261
241
327
347
226
263
245
347
348
352
374
251
343
323
275
286
320
325
328
236
342
282
298
289
370
310
353
283
291
264
294
331
309
402
262
328
360
316
235
321
277
266
349
296
329
240
303
362
298
287
239
311
359
263
332
260
287
344
268
195
255
238
298
300
310
315
388
219
324
290
377
273
345
371
416
394
365
376
386
272
344
264
257
285
224
352
333
271
332
317
334
269
265
380
331
290
382
366
303
328
303
288
302
309
359
388
289
295
341
319
242
281
351
324
306
231
316
343
265
309
331
379
354
351
332
362
252
257
296
325
310
351
277
329
314
338
296
306
300
336
273
295
364
336
237
271
371
292
263
202
336
208
378
322
404
240
384
364
314
317
345
341
301
359
281
308
343
315
384
364
377
243
312
381
352
250
305
295
291
323
344
244
335
315
251
277
393
274
262
313
312
316
345
247
279
223
278
338
290
264
158
285
292
323
303
382
339
232
284
378
286
314
329
264
308
266
284
362
330
316
277
294
252
328
321
266
295
356
273
392
260
283
384
271
326
364
300
375
308
273
274
342
342
294
306
368
367
369
308
340
201
328
357
330
245
359
257
259
316
338
316
318
341
257
366
260
304
302
310
267
225
350
307
360
268
418
266
244
284
275
249
316
323
336
312
278
341
251
324
281
306
305
313
346
328
412
283
296
347
328
290
321
380
299
266
277
320
280
206
262
361
312
246
326
317
347
291
327
292
320
278
294
365
324
295
304
364
397
256
246
277
307
330
362
282
253
280
405
308
348
293
357
389
327
292
359
297
293
274
268
334
296
266
346
316
343
372
368
264
218
284
294
362
367
342
319
288
362
385
360
298
332
334
233
381
319
361
301
325
261
370
269
299
382
305
328
277
337
416
314
292
254
378
280
386
385
322
305
225
349
216
360
296
296
340
275
355
304
278
368
303
296
324
320
306
294
344
359
324
267
271
318
377
330
341
264
309
331
280
429
296
281
314
319
325
235
277
362
300
246
339
367
360
235
292
280
272
409
344
345
376
269
377
344
352
442
320
293
276
223
383
280
402
386
280
344
405
301
336
306
269
282
316
292
358
248
338
230
395
296
277
239
407
307
318
295
333
327
355
323
302
267
395
387
295
291
346
289
239
276
233
227
287
313
364
303
310
387
342
372
318
277
323
376
320
305
334
291
336
335
194
332
334
324
281
363
318
420
297
332
301
384
312
394
298
331
370
319
314
299
359
350
323
293
364
306
259
317
436
370
299
364
359
250
281
347
299
326
274
322
281
330
395
278
311
280
245
333
350
335
324
356
410
276
239
339
345
286
380
253
292
356
226
306
348
358
307
377
219
267
373
299
271
300
353
355
359
329
392
299
275
296
322
255
334
261
250
289
365
340
320
285
334
338
322
378
318
295
357
331
275
302
400
357
244
269
281
347
297
218
284
257
318
365
349
293
356
286
297
233
315
360
331
324
289
335
261
311
331
295
325
412
289
369
268
399
304
349
290
336
286
354
331
317
261
295
347
277
380
241
252
238
307
365
274
316
325
315
284
352
266
338
295
326
336
385
351
396
294
299
420
306
283
310
332
307
298
266
300
336
312
391
393
310
234
351
301
335
297
251
265
414
299
297
289
306
286
266
260
246
358
303
386
292
216
382
376
295
340
197
340
333
306
301
308
300
328
270
347
360
320
319
331
287
300
351
304
331
363
313
391
288
322
237
304
401
291
274
356
306
380
276
368
286
422
327
324
297
311
335
347
289
245
332
291
311
298
310
265
302
276
403
271
257
230
241
368
327
332
313
343
294
335
295
264
275
374
259
280
332
335
440
308
272
397
342
353
370
290
277
299
265
321
316
372
278
386
248
344
319
325
318
312
358
291
283
249
333
360
300
249
341
381
361
314
282
365
312
403
255
332
301
288
347
221
274
336
399
324
291
291
245
312
305
253
405
308
338
295
333
329
284
273
251
325
354
338
291
296
361
423
362
311
293
363
326
263
276
314
333
283
251
372
270
353
352
355
373
288
313
300
316
437
372
275
241
287
314
271
429
317
296
264
295
264
300
309
315
285
320
304
387
276
366
298
329
341
333
329
318
245
260
356
286
384
293
329
295
354
375
354
337
211
441
231
315
387
310
343
266
276
271
287
275
355
382
331
322
290
345
319
295
397
375
304
321
314
367
346
245
362
357
268
374
299
357
292
297
335
356
286
327
347
364
260
311
296
180
285
309
294
388
331
359
217
272
335
317
400
382
377
331
276
391
322
304
362
367
316
263
322
302
360
313
368
282
365
289
345
271
336
292
317
283
334
311
312
249
277
435
278
223
317
243
333
334
289
352
203
352
295
296
348
310
300
259
333
340
361
323
256
368
200
295
339
405
352
165
296
315
244
289
305
368
351
315
268
342
311
336
305
300
343
298
284
300
391
292
321
326
353
361
319
327
303
322
255
316
318
253
341
336
335
377
333
364
310
301
364
350
302
342
353
332
252
363
252
314
306
254
287
371
352
325
362
254
389
271
296
234
367
315
264
346
237
271
337
223
327
374
321
232
275
300
377
255
307
330
319
417
366
296
341
334
303
301
401
340
307
286
364
326
313
311
293
349
305
224
423
282
304
298
330
274
357
356
375
284
221
296
290
227
293
316
301
354
301
321
351
419
357
345
297
321
309
244
311
334
250
275
330
289
221
379
283
248
377
348
328
355
246
313
268
362
279
360
318
375
351
329
302
242
369
400
403
360
331
306
346
293
279
315
390
266
356
300
357
308
322
392
318
352
313
363
352
383
291
269
289
249
300
331
354
153
327
317
287
244
258
325
312
283
229
340
313
279
305
429
324
308
290
325
286
270
342
314
302
313
303
330
283
393
287
303
375
303
253
321
359
270
326
345
319
247
370
342
346
266
312
296
340
304
329
279
306
271
310
337
224
250
259
337
352
346
248
395
289
312
380
261
322
300
350
378
299
312
329
301
355
317
310
288
335
341
460
284
264
334
253
315
292
328
376
313
343
347
257
332
336
275
238
315
213
274
407
300
246
253
331
214
390
321
305
346
308
371
305
294
362
212
339
328
353
263
230
355
294
298
281
367
290
302
349
254
263
359
238
255
274
293
360
254
360
373
261
334
307
343
287
295
305
352
370
293
361
333
341
303
387
341
314
284
280
305
353
271
355
280
273
262
344
314
287
332
246
319
318
258
350
349
201
312
277
336
340
227
321
326
234
310
266
362
250
290
310
336
372
317
356
284
287
353
376
308
342
227
338
337
238
381
338
303
332
365
343
305
305
272
203
287
348
370
341
367
326
319
322
291
342
282
317
268
276
279
336
269
425
299
222
356
278
331
257
322
234
396
359
315
318
282
262
354
281
350
394
283
311
298
370
343
345
306
349
391
349
244
339
253
260
302
276
333
331
338
278
356
322
311
298
313
348
357
323
322
318
308
325
361
397
422
334
244
269
333
334
294
299
322
336
372
296
317
339
339
271
302
221
347
246
301
240
250
303
370
345
357
329
290
336
334
248
370
302
335
287
323
351
303
268
331
296
307
344
314
328
371
329
313
260
308
281
257
257
241
302
326
323
320
357
274
264
343
270
371
279
299
350
297
269
297
315
308
305
389
258
354
331
286
296
266
286
267
305
268
330
262
292
304
360
397
283
336
396
296
316
300
288
286
245
317
359
293
215
300
370
309
251
312
266
272
343
377
293
361
356
397
332
287
302
360
339
292
413
335
358
220
375
289
263
292
312
295
302
307
259
308
348
352
269
302
277
406
295
260
205
277
313
351
368
359
390
377
283
283
240
302
304
294
274
280
344
353
264
282
290
260
334
350
295
291
295
363
319
371
299
306
368
273
342
319
342
362
315
352
271
316
321
302
307
344
396
322
293
388
319
298
273
372
354
318
290
309
236
340
380
318
251
339
229
341
290
320
314
229
376
302
351
303
321
302
323
406
192
269
307
272
346
412
250
383
282
351
293
333
305
294
420
312
327
361
266
275
341
309
325
319
270
321
293
386
379
282
325
229
400
288
413
388
324
386
311
326
341
313
362
259
332
323
288
285
253
342
248
319
402
268
298
303
321
322
337
356
260
329
312
294
393
241
284
355
270
262
349
325
287
335
359
300
248
384
418
300
345
269
222
312
346
313
337
249
331
408
311
261
373
291
279
275
271
309
363
297
303
368
353
271
266
346
238
323
249
278
360
259
321
308
239
241
282
255
301
346
313
298
335
380
325
207
359
375
314
340
330
314
283
216
269
276
323
271
280
331
300
313
370
276
324
239
215
377
331
285
350
358
326
319
353
409
311
333
388
259
292
339
376
257
322
256
244
257
326
289
338
332
327
271
265
323
348
252
295
297
301
362
353
353
334
349
312
316
266
300
343
298
262
313
374
322
342
365
373
281
258
301
314
280
315
238
337
288
371
322
346
381
343
290
324
341
295
405
314
299
333
343
334
301
369
306
404
274
316
319
277
379
337
325
331
300
374
392
327
259
367
285
329
262
292
363
229
313
268
281
331
328
329
334
284
336
312
305
299
348
428
295
315
316
335
262
340
281
412
239
341
362
311
282
238
307
276
288
307
285
334
260
291
284
308
273
275
281
350
335
306
286
339
279
352
299
313
299
336
296
261
296
339
326
320
344
360
346
329
304
326
280
301
228
330
253
347
357
302
370
273
308
313
246
325
282
320
276
276
339
303
292
226
307
224
274
346
267
264
306
272
309
294
288
295
350
342
318
302
339
362
263
405
279
330
377
290
402
288
287
322
390
285
316
335
345
329
243
298
326
306
290
283
309
390
334
338
243
380
296
296
310
280
316
191
330
344
261
318
384
295
258
309
362
336
371
391
303
278
284
339
291
339
330
254
299
237
272
220
261
387
292
342
350
364
404
347
300
334
305
285
273
324
316
247
281
275
336
353
342
384
219
285
297
365
273
325
325
352
394
283
377
305
283
353
298
280
377
367
265
243
257
288
299
323
285
344
340
332
341
298
326
307
200
295
365
284
319
259
286
276
364
249
308
318
335
317
385
351
257
350
263
339
245
323
333
254
300
368
289
311
353
382
223
344
320
379
308
407
361
353
259
314
259
357
233
346
282
311
327
296
267
315
288
251
389
395
331
320
367
227
281
310
312
337
275
399
357
309
300
292
319
315
347
330
220
305
303
288
302
327
239
300
360
283
345
363
346
315
248
213
274
408
275
292
351
336
345
335
261
292
330
333
343
369
313
374
302
332
260
292
215
320
218
307
275
315
405
336
311
319
273
279
310
292
292
396
396
302
261
309
351
340
312
348
233
332
336
297
366
298
385
264
333
248
330
364
341
298
283
356
296
389
288
332
328
275
313
350
234
419
382
335
344
291
303
235
282
286
354
338
345
245
324
287
299
338
325
338
278
349
263
319
311
305
318
314
307
325
340
279
250
315
353
248
301
339
271
351
245
313
375
307
375
275
274
258
280
342
336
251
330
256
284
288
258
262
387
279
383
282
327
321
270
335
404
323
326
329
379
293
333
210
307
309
328
283
311
370
344
350
323
250
405
300
287
349
322
342
285
315
368
290
305
338
239
297
365
361
388
334
349
351
326
358
310
270
197
306
309
344
376
237
317
371
292
270
266
297
343
299
324
307
312
207
338
383
309
226
333
340
257
263
305
294
255
350
406
289
283
320
299
257
388
297
324
332
308
258
395
290
250
329
318
343
308
285
376
333
275
301
312
333
286
317
254
270
297
294
321
276
352
291
220
357
252
300
281
313
376
326
282
256
316
365
252
292
310
341
249
325
316
380
346
306
267
321
382
300
339
253
370
337
342
307
297
280
330
376
279
284
329
259
332
274
312
260
255
261
369
429
274
307
307
399
302
322
384
400
356
315
377
270
300
347
346
214
377
333
253
340
264
319
200
329
265
322
283
319
282
334
372
318
378
290
335
320
314
278
215
329
342
297
325
323
265
342
274
380
337
316
324
272
300
306
289
328
353
334
328
376
330
333
293
386
378
227
302
312
333
380
308
325
334
299
255
240
389
297
203
353
361
283
276
323
339
299
353
379
359
286
282
315
307
333
288
337
377
280
302
332
350
316
265
309
279
332
358
310
316
236
353
367
220
386
308
310
315
271
303
300
329
464
343
343
252
240
292
328
325
349
312
217
296
320
314
330
306
318
408
357
379
286
270
360
377
258
386
367
289
266
311
322
359
309
324
313
319
306
351
311
267
217
360
379
207
388
234
320
292
269
281
367
339
381
276
215
305
378
348
311
272
362
378
322
276
318
379
369
333
365
363
252
285
358
205
345
352
224
349
364
279
224
272
392
284
300
320
247
309
328
360
364
231
359
362
344
375
412
250
229
360
303
315
307
258
344
356
299
362
269
265
338
363
317
250
234
371
270
279
286
350
298
284
275
289
389
259
274
286
291
353
341
340
294
331
292
347
355
303
315
259
321
385
301
258
264
324
286
316
261
271
296
332
332
342
367
321
346
415
394
300
235
316
303
246
305
316
266
364
301
249
307
287
312
258
281
319
288
331
346
280
356
286
374
264
331
296
317
306
256
302
305
390
266
308
290
343
300
341
316
237
357
310
359
331
253
262
287
281
380
313
268
365
279
428
302
292
323
376
255
359
327
326
327
311
277
326
228
368
293
240
343
320
320
348
383
432
304
287
309
292
339
314
323
323
321
264
303
382
357
380
348
332
271
284
328
292
354
251
311
290
314
316
282
315
322
321
355
308
300
278
309
342
287
331
324
305
265
279
334
244
310
363
333
293
329
305
376
328
253
220
273
240
187
293
381
306
234
307
275
226
357
294
308
391
351
232
290
346
337
258
361
302
367
274
227
325
306
253
307
268
350
336
396
324
251
314
386
355
336
293
380
342
284
276
394
207
375
346
295
334
247
351
292
334
330
339
282
214
343
280
303
312
308
390
345
240
367
338
336
231
328
290
292
285
341
386
294
352
360
363
345
367
319
238
303
356
308
376
363
368
262
287
321
333
299
379
240
324
266
250
315
325
304
294
306
303
325
375
288
439
273
378
337
322
283
229
294
365
374
313
295
290
381
258
366
344
268
323
337
286
282
330
343
350
288
363
311
370
352
312
255
359
277
353
313
300
331
257
345
340
339
294
298
303
296
299
374
353
237
387
329
311
338
291
251
324
381
297
306
209
356
280
264
258
349
355
339
290
371
323
259
321
322
388
381
334
364
268
310
192
333
341
301
318
282
371
360
369
280
340
411
335
326
296
326
345
349
282
265
317
299
324
347
361
258
298
377
319
243
279
278
319
317
320
282
329
284
334
277
340
331
274
356
338
238
364
278
362
320
346
341
301
370
269
390
338
307
308
279
245
378
296
295
338
301
340
303
301
304
309
272
385
311
338
283
347
308
209
301
400
265
327
333
318
335
327
258
291
336
332
301
287
277
313
321
336
322
366
342
292
310
378
395
317
285
369
310
326
242
402
305
386
336
316
291
297
236
285
279
313
311
358
287
344
256
259
303
301
322
303
376
409
297
343
269
301
346
236
348
322
289
318
422
282
312
260
340
300
235
242
381
411
346
297
261
368
296
279
324
311
315
358
291
232
297
273
320
340
296
305
300
334
291
281
275
301
261
375
334
291
338
368
306
303
350
286
281
330
357
304
270
256
284
345
189
354
311
297
402
360
309
318
347
377
353
313
293
295
303
265
320
244
243
321
289
372
254
214
387
269
389
365
298
290
247
317
382
396
269
238
288
314
359
337
286
383
276
327
386
273
311
311
294
407
349
349
344
312
296
380
348
318
230
332
356
230
267
294
323
339
359
313
235
257
310
325
293
432
224
251
332
400
379
252
258
325
365
340
232
303
344
348
341
234
346
264
348
337
279
257
267
352
322
293
303
371
299
306
251
324
360
326
307
391
324
326
335
337
335
334
338
370
301
232
289
298
306
240
308
249
291
313
334
327
262
337
351
363
326
315
265
330
342
284
358
334
366
369
316
255
151
273
323
361
326
271
261
352
278
365
369
317
317
293
255
357
332
356
238
320
336
403
335
314
271
335
282
320
346
227
348
292
274
387
269
328
259
291
390
284
341
341
353
308
324
316
276
184
298
280
332
303
286
324
274
329
243
345
341
347
285
310
340
407
319
384
336
347
335
288
288
357
306
343
314
316
278
309
362
281
347
408
390
352
381
320
341
308
306
345
342
357
273
259
307
258
299
345
310
313
248
301
331
340
231
369
371
303
341
323
372
258
334
325
275
322
387
355
323
373
338
291
306
395
312
250
360
369
312
272
289
347
260
259
306
319
299
352
238
387
306
298
299
351
306
269
350
279
351
327
286
366
260
291
365
285
244
347
344
297
361
317
274
370
255
290
290
322
390
360
325
367
304
289
332
322
335
218
287
317
318
304
281
286
301
283
350
268
309
330
266
351
360
372
252
309
318
298
348
336
344
374
388
269
377
322
367
286
326
278
335
312
299
330
377
270
235
264
366
312
297
347
361
291
319
313
279
327
286
315
330
264
268
298
303
246
231
182
255
302
274
195
290
277
356
344
293
279
405
323
328
362
367
324
320
276
228
282
325
323
276
349
344
376
314
316
305
277
312
287
328
259
312
348
396
363
264
336
258
320
315
282
378
331
308
320
316
259
317
206
292
348
349
320
290
280
381
360
334
283
330
295
297
375
268
354
239
299
323
279
348
322
271
235
339
356
362
326
328
341
326
407
277
324
303
311
211
269
373
325
317
281
260
324
356
275
265
231
256
332
320
317
351
219
316
443
257
298
341
358
361
279
375
256
386
305
303
359
249
201
279
338
271
287
369
326
293
202
234
364
291
356
327
302
442
352
350
327
338
360
306
299
335
292
340
332
222
325
438
357
291
296
296
254
335
234
325
401
405
310
328
352
278
295
271
276
323
350
324
329
342
423
258
391
347
349
384
348
291
375
336
276
235
340
323
258
386
305
340
323
353
323
294
358
382
293
278
293
337
336
424
300
304
310
251
261
324
262
323
299
311
321
284
349
299
325
347
270
304
348
299
311
290
355
296
336
320
367
364
293
277
305
331
338
284
240
387
299
247
356
319
403
338
351
334
351
386
377
259
242
309
326
301
253
322
360
338
324
285
301
331
364
407
289
313
298
298
274
305
279
301
348
307
391
320
331
266
413
334
352
259
248
314
239
320
294
278
268
262
340
279
298
314
332
299
326
268
312
287
397
332
289
348
424
338
298
367
327
327
331
260
353
266
398
300
273
378
435
313
293
299
309
393
326
263
325
356
368
340
327
304
336
357
297
319
336
276
298
383
218
281
425
327
371
322
384
304
308
292
337
284
326
231
288
331
313
374
314
332
362
291
281
318
278
288
307
331
259
303
332
334
297
361
384
406
268
347
343
257
374
370
321
324
228
265
269
358
315
260
318
339
323
377
271
291
351
307
245
341
315
303
333
302
322
261
325
324
315
373
340
353
460
292
265
384
356
318
268
322
263
407
307
318
218
250
285
282
279
327
279
278
328
269
223
356
349
378
294
305
337
249
279
249
344
319
252
272
346
336
324
348
278
235
306
361
352
276
305
340
309
358
288
329
372
374
306
314
346
325
282
306
221
337
355
301
260
343
264
279
340
409
351
323
339
435
316
339
384
360
296
336
333
330
356
284
279
233
323
317
243
335
262
279
265
333
363
255
358
376
277
227
318
261
274
243
287
262
352
365
348
349
352
279
361
319
338
327
328
305
419
330
356
304
221
395
297
316
315
308
289
306
328
292
304
321
303
387
325
398
331
309
274
307
304
225
295
240
310
371
278
310
278
255
262
306
395
267
257
191
360
378
362
346
366
294
341
343
340
350
342
322
256
409
305
319
263
322
330
240
361
309
300
391
324
268
278
348
268
370
343
319
326
234
320
277
295
265
358
299
320
259
340
364
304
350
350
377
419
296
403
369
316
333
321
311
316
312
350
410
236
326
282
269
351
319
327
283
276
389
285
269
329
315
241
291
277
257
279
358
344
278
292
298
324
332
304
332
281
304
358
318
265
383
363
296
283
185
299
264
338
347
346
406
299
338
296
284
312
357
291
299
345
285
228
276
312
326
315
212
262
385
340
407
322
341
333
335
333
283
288
321
282
305
289
246
278
341
328
322
305
347
323
342
365
382
281
342
286
308
268
331
285
344
372
305
361
322
325
330
308
294
239
362
270
282
308
311
284
347
276
344
399
302
281
348
311
252
229
274
290
357
326
301
315
302
339
316
370
340
297
321
321
279
320
290
228
353
301
308
377
292
284
318
328
270
328
351
319
365
427
336
298
332
302
356
321
323
246
390
319
293
295
349
296
326
302
362
322
302
380
338
303
343
264
246
321
332
350
318
368
364
330
347
365
298
210
327
374
297
262
343
277
325
403
311
289
343
308
339
406
332
301
256
303
322
339
412
348
286
351
384
377
309
316
321
265
328
326
266
337
280
345
367
270
286
303
285
344
387
278
359
306
405
321
357
299
231
265
220
314
250
289
350
345
271
238
337
301
383
251
351
302
344
309
370
367
323
321
303
359
355
241
285
316
336
231
296
312
368
358
373
321
306
298
293
349
334
255
314
413
329
233
262
350
370
290
337
255
352
315
395
270
337
394
353
307
294
292
279
270
260
256
329
286
334
230
256
264
313
327
370
378
261
325
321
331
383
350
371
307
392
346
335
265
364
267
348
249
306
326
218
238
279
228
353
374
306
377
295
382
320
280
296
342
413
364
311
301
337
387
330
323
352
281
303
393
318
272
384
372
308
301
313
312
334
358
241
356
332
365
330
399
351
289
366
316
300
234
289
304
328
226
307
388
285
316
340
264
343
357
320
269
356
298
357
283
353
311
296
301
265
238
329
369
368
385
210
243
292
301
278
308
217
297
233
329
354
302
264
340
317
307
281
362
306
314
363
290
279
385
350
314
305
303
309
270
335
256
318
222
252
300
347
338
203
302
270
277
345
301
388
271
375
373
250
315
384
295
318
346
316
194
322
324
232
300
292
353
399
257
273
240
303
291
301
315
270
314
266
301
337
277
316
282
340
268
286
348
290
290
230
333
326
248
302
277
335
275
273
304
338
253
350
381
382
347
204
365
250
241
265
307
271
351
231
285
388
350
351
285
375
315
283
324
351
273
312
341
265
396
326
324
317
263
289
408
340
396
363
338
231
363
282
286
268
361
293
406
317
288
363
322
343
304
339
333
323
344
256
311
324
338
266
240
373
371
283
278
284
292
294
296
322
277
382
295
261
322
294
299
254
308
361
247
300
361
261
373
316
346
324
340
410
305
422
336
337
351
333
332
321
379
287
384
278
285
264
329
354
391
332
270
268
237
290
327
374
321
299
225
347
301
307
302
352
314
235
442
231
268
310
305
256
346
263
359
313
340
359
293
346
340
311
340
312
348
295
344
322
301
301
302
400
362
387
291
343
315
292
365
357
269
362
298
314
356
321
298
394
349
295
306
275
340
292
327
361
299
317
345
321
297
346
384
350
292
282
255
328
330
350
394
299
284
382
259
290
289
290
323
321
344
341
311
322
299
317
299
413
308
327
311
348
370
316
256
320
220
324
392
328
351
395
273
392
385
370
328
304
331
318
349
255
338
319
312
308
323
337
333
349
352
341
322
340
294
312
291
281
271
349
329
334
243
298
268
366
431
303
320
317
289
281
400
336
282
248
237
326
396
262
274
376
341
330
376
312
363
326
282
345
395
375
327
314
326
274
324
358
355
306
321
415
296
341
385
378
418
349
248
239
357
299
284
361
274
360
251
346
293
268
282
375
230
258
365
299
393
262
298
380
266
369
335
345
339
359
315
253
263
319
338
245
320
333
355
299
300
366
261
394
314
389
331
282
323
320
241
335
310
296
297
315
316
250
225
276
279
241
300
281
305
252
323
326
308
272
317
285
348
249
351
311
348
309
293
270
263
349
302
295
280
272
308
288
409
271
217
273
293
303
380
288
337
321
283
392
320
292
230
311
272
299
359
338
315
320
380
314
318
361
134
359
382
289
321
389
292
320
358
332
250
285
252
364
309
269
276
193
202
244
262
257
296
342
303
310
344
302
291
321
262
313
337
437
268
330
369
319
252
254
294
308
307
329
357
223
307
418
291
316
338
371
274
354
366
311
293
272
344
322
317
312
403
294
291
246
346
300
285
320
295
325
275
354
351
275
325
370
355
294
315
296
363
254
374
221
385
325
314
225
332
399
264
348
303
274
306
361
259
310
348
281
292
330
288
245
295
321
397
349
385
315
321
235
247
263
348
341
325
229
338
294
309
310
357
293
320
361
301
310
310
368
384
305
350
282
310
342
338
289
299
341
338
329
299
334
234
300
338
287
292
319
426
273
319
255
306
325
337
259
252
320
355
337
343
377
302
229
328
328
275
309
314
263
298
319
261
223
324
322
359
309
312
368
373
321
316
349
226
227
354
338
341
262
333
371
327
323
313
280
322
295
372
449
270
317
301
306
290
360
283
355
307
344
256
310
250
292
339
378
250
248
236
316
342
302
270
276
319
287
257
347
296
343
349
324
280
394
327
329
296
319
297
348
365
418
276
307
310
308
268
254
321
327
338
195
332
368
315
412
342
346
291
323
267
365
260
263
332
228
334
303
291
319
265
203
325
346
254
313
300
289
260
316
275
316
285
328
322
255
261
365
284
341
326
311
351
353
250
214
254
313
290
318
401
248
390
368
295
178
314
337
270
386
352
280
237
316
297
264
258
261
245
285
285
298
382
236
307
338
325
381
334
293
254
339
323
363
390
297
292
238
279
368
301
237
310
302
312
331
290
324
311
318
247
289
274
309
329
345
372
356
359
236
262
364
388
283
305
258
310
250
305
261
371
298
368
218
274
363
311
290
353
225
291
360
302
331
398
395
396
287
353
355
262
316
275
327
393
289
376
392
338
336
321
284
246
368
380
288
283
360
365
294
317
282
269
271
342
272
328
233
334
382
341
305
260
357
337
427
265
343
249
373
301
342
321
298
310
337
315
267
256
255
282
348
380
387
345
217
399
315
306
372
288
380
295
308
307
296
238
330
307
371
411
349
387
313
323
259
436
348
287
336
337
339
309
375
233
266
287
340
300
262
335
381
344
308
286
322
265
335
267
373
406
292
323
284
301
372
362
220
397
203
286
301
335
279
290
318
382
291
350
291
286
287
304
281
385
324
342
270
288
279
250
273
414
280
224
352
326
361
391
292
300
318
339
236
329
340
359
368
348
289
332
334
327
355
275
270
289
311
321
296
330
284
269
227
368
381
351
271
313
293
328
268
372
348
290
289
256
344
310
251
369
315
231
316
323
340
312
322
266
293
260
343
279
313
284
246
329
345
304
228
313
291
304
329
388
348
343
361
190
303
267
288
320
324
297
373
282
372
339
342
332
287
331
295
353
268
326
298
315
307
312
261
293
258
308
338
284
298
402
269
367
341
313
282
311
327
351
357
249
328
313
332
298
303
328
334
276
246
331
311
301
291
277
347
402
378
331
361
279
334
392
362
301
246
261
327
332
336
322
306
361
400
248
305
230
370
304
323
235
362
349
236
365
309
376
324
348
328
267
301
359
218
336
333
273
320
239
330
362
277
283
226
330
248
233
321
307
314
330
258
307
291
265
262
334
384
260
366
362
283
289
377
332
356
272
355
306
385
256
380
300
344
386
308
310
367
358
252
297
330
274
292
311
385
330
347
304
378
431
331
243
299
292
340
280
304
355
323
363
347
389
378
261
337
285
316
391
217
258
296
345
325
262
318
369
288
329
285
300
281
402
374
266
219
274
230
313
366
394
355
287
238
379
343
386
309
332
363
324
238
344
268
320
292
286
279
304
304
365
359
309
293
263
221
281
368
359
356
224
324
233
315
280
325
311
303
376
364
276
283
321
293
401
332
340
363
369
342
208
314
303
318
337
382
322
270
406
360
318
286
383
308
262
285
334
263
225
310
353
373
217
326
344
302
361
323
328
359
357
307
313
335
214
292
362
283
269
368
326
383
292
331
318
335
241
306
307
319
313
241
414
270
357
263
340
284
345
309
261
370
326
259
334
315
286
381
265
320
352
375
277
327
318
349
348
341
264
300
337
310
265
316
330
382
295
268
286
275
344
287
318
316
211
266
333
335
308
306
247
356
242
331
364
249
371
358
328
292
286
350
318
319
370
320
337
326
283
387
308
306
317
297
304
267
358
354
219
364
347
284
326
383
302
337
330
271
233
328
316
345
362
347
353
221
219
248
361
266
325
358
301
374
263
344
343
292
347
318
340
358
371
241
311
299
293
322
314
372
320
301
295
292
366
289
385
260
358
251
307
322
306
418
339
368
299
277
209
249
309
359
317
340
320
353
393
325
297
395
320
278
310
308
271
399
331
401
306
246
345
376
341
321
199
275
384
305
291
366
294
316
375
362
293
255
344
425
214
290
321
369
332
360
255
276
307
264
320
342
286
408
370
377
288
303
250
362
253
322
256
303
291
307
301
320
307
303
384
345
315
289
312
331
279
323
298
304
298
270
249
283
295
306
344
271
260
310
292
281
306
359
317
346
293
347
300
255
261
308
374
351
289
237
330
407
272
298
355
271
272
288
332
374
324
289
272
250
255
291
266
310
303
267
384
349
342
263
361
344
280
389
327
308
302
291
369
360
262
307
344
322
279
350
407
294
276
370
334
270
400
311
298
286
369
360
324
271
234
281
396
323
319
294
283
294
349
211
398
345
308
278
266
277
297
273
362
304
305
275
344
395
299
209
329
245
353
386
304
352
251
301
250
344
319
395
336
348
253
371
215
332
345
332
253
270
344
330
278
363
369
366
366
349
314
385
356
331
310
262
282
355
303
269
338
362
335
287
244
309
316
277
281
380
348
341
283
358
316
281
307
336
327
334
284
287
282
373
221
354
336
316
344
329
272
371
323
286
337
365
308
331
290
149
400
332
349
343
307
324
285
310
379
341
341
324
280
327
237
257
349
337
407
255
313
256
220
345
273
280
284
304
314
249
312
393
253
361
323
334
296
252
298
279
402
231
318
373
320
313
314
298
323
312
383
369
326
342
273
306
314
330
329
338
250
297
334
327
399
342
329
309
331
270
345
339
301
354
300
341
312
399
374
416
366
346
431
285
395
291
325
344
404
345
329
299
329
356
393
311
424
312
341
331
315
322
344
377
308
301
349
369
349
357
382
360
281
254
366
376
218
321
311
298
297
237
367
289
356
305
284
322
343
345
361
285
313
402
326
375
156
307
279
313
293
410
357
323
312
335
274
415
304
280
229
285
358
326
349
401
340
382
293
267
229
387
377
332
318
356
309
383
293
299
304
245
330
255
271
294
379
329
305
399
317
317
277
276
302
361
359
316
366
333
299
311
277
289
279
220
378
382
224
389
381
325
301
299
340
354
339
384
302
298
332
271
320
283
345
349
327
360
323
373
297
380
225
413
183
293
274
325
389
295
325
307
314
266
276
347
314
245
278
382
271
394
351
346
375
356
300
371
397
375
287
265
260
308
370
322
257
338
302
311
264
348
320
311
214
342
199
376
315
378
283
223
351
408
282
381
311
307
200
216
353
278
371
376
358
252
335
270
318
199
252
322
325
273
351
337
320
314
336
340
333
353
316
295
412
368
253
347
352
285
332
268
314
362
358
370
382
302
323
369
384
260
363
381
322
304
267
442
245
277
389
320
237
312
258
348
288
298
379
292
288
327
289
294
324
250
272
326
318
314
257
324
361
290
248
347
327
399
327
342
292
302
355
259
261
337
346
286
352
310
324
332
310
266
322
376
366
385
265
198
328
304
326
353
358
317
292
381
258
328
317
281
280
235
273
338
279
328
343
414
298
192
275
349
372
391
276
331
301
294
318
348
241
334
281
296
353
313
189
332
377
299
279
334
245
293
349
264
185
318
389
295
315
318
286
418
287
284
362
296
313
230
364
350
279
273
357
286
346
313
266
325
317
395
342
256
302
373
218
469
298
350
355
249
377
402
299
321
297
291
284
279
302
299
269
349
239
353
294
219
244
334
383
347
314
341
289
300
334
321
285
293
311
352
381
320
336
315
307
340
307
340
309
331
368
306
336
347
224
330
341
336
300
371
295
309
405
279
251
326
263
353
387
330
270
397
343
321
246
353
260
302
406
353
317
284
365
339
255
245
410
320
187
415
332
264
294
356
272
303
414
359
266
224
279
261
320
295
197
298
277
338
272
316
311
264
317
325
377
328
319
353
341
363
323
289
354
301
259
377
336
278
326
277
264
331
299
302
335
301
260
308
368
326
308
250
263
266
324
353
273
355
350
361
292
291
376
394
323
327
346
310
343
272
297
250
254
324
315
259
336
308
373
278
370
362
389
241
289
348
263
312
274
380
298
305
358
325
378
316
273
321
259
392
290
280
307
273
418
391
376
322
273
297
331
337
320
374
309
294
297
291
365
335
335
297
311
362
312
316
320
296
380
373
352
346
325
373
333
363
369
281
249
305
290
277
281
361
215
304
329
298
339
321
302
299
394
295
367
300
326
316
275
383
308
268
305
359
325
352
262
283
267
314
353
324
318
326
297
346
320
348
324
340
329
424
326
309
303
347
269
264
349
327
255
280
290
297
319
374
266
312
312
434
334
338
192
310
229
266
336
326
277
316
290
294
424
325
329
269
291
364
433
278
388
390
310
327
224
277
352
302
299
241
262
263
363
226
383
374
289
343
258
301
286
339
367
263
314
322
292
379
346
350
323
339
369
346
329
297
361
324
251
308
323
358
336
351
301
281
300
246
348
287
378
333
277
342
357
231
278
332
349
351
307
370
326
339
291
244
301
266
384
238
359
305
339
301
289
295
296
289
398
414
301
331
358
288
372
254
430
332
281
324
284
315
377
271
349
354
306
279
241
335
288
378
302
281
334
274
253
368
300
365
291
262
280
304
393
367
345
278
364
303
327
330
318
279
328
293
355
356
298
243
358
311
363
327
415
317
313
320
372
304
378
282
291
325
338
254
268
350
361
337
272
302
301
319
299
329
256
341
334
351
286
353
322
281
303
277
322
302
342
364
311
285
277
324
361
269
314
399
341
273
329
362
323
334
327
288
337
373
291
365
328
364
299
243
315
299
274
337
285
377
347
372
349
318
298
332
356
305
251
259
364
284
361
368
382
260
356
326
318
266
273
339
278
270
304
355
372
364
289
380
285
307
362
244
306
236
329
281
299
280
375
268
267
334
320
248
347
303
351
326
364
366
298
347
329
318
336
310
377
362
313
279
334
300
346
335
212
332
256
332
318
330
276
377
331
333
283
358
285
346
273
344
326
346
332
336
367
348
374
284
270
268
254
400
337
369
302
309
343
348
265
227
293
277
376
261
325
352
308
326
296
288
322
287
319
333
297
323
273
386
289
301
369
306
350
321
363
316
306
334
311
342
418
376
279
268
334
316
327
371
335
251
267
389
370
341
326
295
245
293
262
318
341
366
255
283
306
308
418
338
276
356
311
309
301
300
288
388
240
355
273
269
345
288
263
233
350
417
394
312
211
360
333
345
342
345
311
273
298
373
324
273
240
374
343
277
249
388
337
300
327
292
331
267
322
259
310
379
275
354
255
308
308
267
276
248
369
289
305
341
284
410
298
308
278
338
295
289
357
340
277
277
288
302
349
318
249
300
407
300
352
260
256
252
314
239
334
255
378
315
299
368
360
345
259
307
247
252
367
318
233
378
208
322
356
267
296
287
280
245
331
282
318
336
291
213
379
320
365
372
280
313
301
268
356
304
279
358
176
262
350
335
394
370
360
274
290
305
315
302
290
268
312
281
253
340
333
380
360
284
322
332
271
263
224
389
292
306
267
279
335
266
364
329
292
312
350
350
340
310
350
407
322
392
285
271
311
345
355
326
314
255
261
305
269
237
274
374
294
345
316
249
364
256
307
308
326
314
302
328
389
361
266
338
316
299
359
407
285
272
411
343
282
344
268
321
328
393
294
287
335
358
331
265
376
312
285
352
307
325
318
334
258
385
274
332
305
274
367
312
274
334
326
324
330
363
244
319
312
325
362
350
289
330
305
298
292
273
340
247
248
339
280
300
279
310
389
337
357
295
267
388
312
304
314
303
307
365
269
409
175
251
294
265
267
328
352
264
277
223
278
212
331
305
261
385
350
205
376
209
325
279
332
349
320
302
303
346
340
352
268
330
289
354
288
251
361
231
250
310
332
278
247
262
369
352
321
210
327
329
276
260
244
329
364
294
274
250
332
369
329
289
331
326
269
371
211
328
264
338
334
364
259
356
245
262
326
465
374
267
340
361
273
319
418
286
373
236
240
397
352
319
285
358
263
298
326
346
377
423
285
297
360
264
239
262
369
364
358
327
325
332
354
290
279
362
363
377
243
261
277
324
284
363
310
243
321
289
280
396
262
226
301
307
373
236
359
351
364
378
335
392
309
222
400
216
223
316
350
280
310
330
246
241
360
264
375
366
361
263
387
327
242
234
320
353
362
259
373
327
355
385
368
314
315
258
268
348
336
330
354
366
250
291
314
292
265
296
331
264
225
286
282
319
291
372
317
320
292
316
330
288
328
331
311
364
344
216
273
345
321
340
334
276
241
381
278
270
272
276
317
296
309
341
352
280
387
327
287
318
318
400
345
259
270
291
321
317
337
231
294
312
322
361
367
426
320
317
247
361
261
296
295
275
277
354
270
249
282
276
345
340
361
404
345
359
208
269
294
359
380
215
380
254
354
315
318
257
362
318
246
227
250
276
353
301
383
346
318
361
296
296
269
305
355
335
317
362
376
281
272
300
292
390
246
356
349
291
301
279
234
280
415
329
305
335
359
310
266
331
252
363
262
375
327
305
348
297
436
357
290
371
390
354
380
319
315
338
336
357
343
338
282
318
370
336
328
298
405
283
321
328
357
259
252
305
386
305
352
358
360
349
339
271
342
350
344
302
311
294
273
189
320
335
332
299
408
296
257
272
297
306
329
442
356
297
306
291
288
356
403
341
353
278
365
314
384
301
384
287
258
303
337
331
248
300
319
311
366
305
178
287
317
327
311
314
281
410
295
356
298
353
227
378
281
298
359
315
322
363
255
320
248
321
334
342
287
354
426
312
304
327
382
319
296
165
322
252
323
213
244
376
309
225
303
319
247
239
287
324
338
342
318
280
229
303
304
380
291
292
261
266
353
289
305
263
245
324
263
332
323
267
219
431
394
331
298
341
348
334
261
315
285
335
345
335
305
173
388
274
326
413
257
344
362
340
341
355
298
229
305
299
367
283
370
406
372
301
198
289
264
305
318
286
308
351
268
329
313
318
404
338
326
307
278
227
405
295
326
285
454
350
318
358
250
283
341
308
321
308
348
321
315
264
326
330
300
353
274
355
272
325
320
330
265
335
301
335
284
330
300
307
343
296
199
306
326
272
392
319
329
323
203
285
240
337
335
285
278
241
336
260
298
320
377
298
296
343
307
225
265
347
407
296
212
308
338
216
341
347
380
298
334
326
306
282
406
279
243
287
352
373
291
286
343
293
361
288
363
285
270
322
292
341
337
366
238
315
295
333
301
338
335
329
258
353
312
323
284
312
273
227
291
323
277
313
339
337
324
285
275
323
387
376
405
390
394
335
356
282
307
309
281
399
339
298
306
322
304
362
371
346
397
234
316
295
284
320
373
373
295
376
332
339
331
291
282
411
317
273
400
346
383
358
318
327
329
238
297
344
276
327
302
280
298
332
347
364
324
410
335
346
321
337
329
364
319
270
250
300
385
337
296
286
312
309
365
314
216
245
335
346
344
314
295
353
292
292
292
300
246
353
331
325
288
303
319
366
310
271
281
405
264
366
318
261
348
271
260
298
280
332
281
315
308
332
297
361
326
253
371
260
313
251
241
288
304
336
313
306
245
250
361
297
366
292
310
300
323
315
295
382
346
316
372
285
237
199
329
295
218
341
360
271
313
332
258
315
339
292
330
285
352
367
296
357
355
332
287
306
356
278
327
314
382
374
343
383
335
313
280
343
275
332
265
371
281
316
345
278
340
280
293
301
227
312
234
276
334
336
318
305
293
390
351
327
326
387
394
314
303
245
453
287
261
338
318
335
322
341
305
378
334
356
369
333
414
309
295
279
303
316
370
323
323
334
274
285
285
308
335
284
245
295
302
282
256
359
345
280
242
222
318
261
275
301
257
256
268
259
340
313
336
304
297
244
356
325
301
349
369
355
332
293
335
318
304
286
352
326
313
335
302
329
323
344
289
311
318
326
304
305
360
294
381
265
277
320
358
392
307
317
313
358
378
270
338
332
266
248
375
366
323
264
301
231
310
345
314
337
363
398
170
331
311
330
239
384
375
278
351
314
353
233
273
212
268
337
306
242
263
358
342
292
323
362
296
258
312
316
305
368
352
361
320
194
391
260
302
368
274
308
293
261
295
212
280
344
330
312
372
290
309
271
293
326
321
306
272
382
340
312
347
290
313
251
261
350
327
337
389
276
333
350
334
298
344
260
325
331
277
280
363
267
304
220
276
338
353
323
302
321
297
254
290
302
362
313
341
276
286
345
343
331
342
306
309
342
375
228
354
244
289
276
275
343
380
261
357
234
381
328
290
256
277
394
373
322
337
316
269
297
317
238
344
345
348
303
361
266
232
275
297
360
392
437
248
215
291
299
217
366
303
325
277
264
325
322
298
376
354
331
315
284
293
287
272
317
298
258
323
390
251
265
354
289
319
305
354
358
326
286
260
336
249
338
293
307
295
328
390
338
289
372
247
287
352
327
335
296
334
333
341
319
323
303
300
272
298
336
351
272
320
254
358
315
272
310
384
368
309
325
252
355
351
295
272
260
320
296
275
288
375
287
236
238
265
278
377
358
204
298
298
234
346
298
245
226
351
380
283
266
367
381
357
282
270
364
301
311
259
223
345
337
409
374
360
377
293
293
324
296
266
336
371
326
380
299
327
313
323
295
277
296
354
312
280
335
312
343
292
288
297
219
323
350
372
299
319
391
294
357
284
374
351
401
294
343
334
219
382
351
284
348
338
331
270
317
368
292
251
383
242
358
272
353
293
290
380
361
364
270
401
293
368
298
394
322
293
290
280
378
342
298
278
260
300
354
258
330
213
321
391
310
260
281
323
260
345
297
295
224
358
357
259
306
279
314
317
327
416
313
356
356
291
295
249
269
315
420
308
351
330
325
340
255
345
369
389
253
294
338
398
367
193
299
309
361
311
303
251
343
353
331
343
348
346
374
267
389
341
346
321
337
315
274
392
355
362
294
320
227
288
333
329
288
353
316
390
266
320
289
279
310
242
288
376
286
271
341
326
264
322
303
353
292
298
265
315
248
274
258
353
347
283
261
296
312
321
279
368
338
258
341
338
267
263
278
267
248
286
256
290
320
341
379
324
305
228
355
304
290
290
287
304
223
366
341
331
339
258
255
217
332
272
344
308
329
291
320
335
315
371
261
289
305
222
331
306
300
381
300
381
241
425
246
284
305
380
284
315
340
388
299
324
308
407
340
308
308
269
282
309
338
363
285
307
341
387
296
336
292
265
294
329
317
375
393
341
314
306
288
282
338
236
350
363
291
369
245
318
297
396
297
362
319
312
375
304
359
324
387
289
376
355
356
261
317
206
263
330
361
292
343
314
265
392
318
354
354
281
380
392
311
312
337
286
266
316
299
375
222
383
386
401
323
240
277
344
233
331
291
257
313
358
367
305
270
324
387
305
358
256
266
296
307
322
296
233
254
319
269
341
230
295
277
378
295
298
321
309
280
341
319
347
351
333
352
307
241
299
342
354
323
328
291
289
303
233
351
317
261
313
300
310
351
278
285
300
315
359
355
274
257
328
411
386
250
292
296
317
373
254
269
284
334
335
263
299
376
311
262
318
269
320
307
220
313
216
281
297
353
298
373
260
239
329
306
294
272
311
320
352
283
296
299
332
343
293
347
252
379
336
361
329
295
273
260
347
378
296
343
366
356
282
256
316
349
241
316
333
292
232
326
324
301
283
296
254
251
206
317
266
284
289
286
388
280
311
256
232
300
232
354
356
323
275
364
316
309
327
281
310
258
296
371
289
302
319
283
343
320
343
295
293
288
324
242
302
358
296
334
328
365
345
332
350
359
382
361
322
307
302
288
284
368
313
356
327
294
265
410
388
258
316
308
314
279
302
354
341
398
253
377
241
258
347
294
260
396
293
340
370
288
246
237
322
293
338
207
312
338
293
295
330
366
254
277
242
354
326
322
298
210
370
288
400
223
315
369
319
371
340
374
345
349
347
304
277
396
269
362
333
276
301
309
318
324
284
320
368
276
308
349
259
299
229
333
388
377
387
317
297
265
289
399
368
269
319
285
312
357
280
358
334
275
312
338
311
341
336
366
322
323
329
319
338
323
174
281
218
343
357
320
329
325
275
337
317
243
264
369
319
340
263
293
269
273
346
337
358
326
330
319
237
227
277
327
368
295
319
326
277
238
376
351
318
330
285
350
392
330
336
357
280
310
300
368
278
271
398
303
245
300
308
379
301
265
270
235
250
266
349
296
305
363
323
313
302
237
399
291
325
339
303
338
416
237
256
323
308
345
377
379
190
242
336
330
326
297
244
335
303
342
350
299
393
329
270
335
354
371
313
291
383
387
349
380
333
274
271
283
324
343
260
262
349
302
390
297
300
331
320
286
319
346
326
283
386
179
254
253
272
354
303
283
277
284
300
299
305
285
340
298
358
213
260
353
296
346
312
333
269
260
340
303
266
283
271
285
283
370
344
392
356
301
295
363
302
317
300
326
286
273
371
298
332
309
291
310
369
280
325
291
342
302
378
207
320
251
394
338
318
353
372
342
305
314
280
313
294
298
295
329
306
297
299
339
339
318
312
277
271
319
352
348
348
293
327
224
255
369
396
283
319
235
273
297
322
340
293
357
376
237
276
357
288
326
241
263
350
291
299
346
292
331
276
362
361
301
316
277
269
279
284
290
312
343
332
297
301
217
432
360
353
237
261
308
339
380
346
311
259
312
281
282
242
294
266
381
318
326
364
319
343
389
284
354
351
348
350
345
271
307
340
286
314
364
284
285
318
364
255
239
272
347
373
339
336
254
305
230
323
319
374
315
287
263
340
290
277
372
300
313
255
255
265
397
313
218
334
294
379
321
347
342
318
352
341
320
322
268
376
335
410
279
295
364
340
340
300
295
346
276
283
318
352
419
275
260
376
364
234
342
280
341
288
375
338
333
372
327
340
363
338
321
389
415
344
347
259
283
273
266
312
337
350
266
415
301
368
342
292
365
390
356
313
282
345
313
362
355
284
294
283
232
360
306
263
312
407
412
214
249
308
265
357
335
294
274
289
287
264
236
308
327
360
415
314
336
326
339
384
377
272
343
357
327
293
244
411
305
283
260
387
263
328
302
305
267
341
389
318
302
314
265
356
273
348
355
324
317
341
356
419
246
303
291
372
333
319
409
315
338
290
357
293
344
339
317
313
313
314
357
321
352
308
292
328
319
348
386
333
296
259
269
305
332
273
328
213
321
326
316
298
339
314
398
379
333
364
212
337
297
321
278
326
230
292
285
360
279
378
316
363
290
365
351
330
341
315
360
282
304
244
341
276
311
280
346
352
357
340
293
281
301
276
358
290
346
296
262
254
250
274
198
303
299
288
317
330
366
320
342
342
280
379
317
263
329
339
290
329
308
339
277
427
266
260
353
320
306
252
368
337
301
344
366
328
419
249
317
339
351
348
321
218
335
289
337
236
179
315
275
262
316
228
253
262
250
309
328
338
303
292
360
277
319
348
331
259
292
361
376
336
305
302
262
343
322
262
348
276
254
265
263
299
337
209
323
286
305
304
249
269
314
255
331
358
312
286
307
290
274
340
344
303
306
404
299
269
331
316
345
289
315
300
316
235
282
224
226
256
301
281
367
390
252
278
223
303
266
323
369
317
275
284
280
370
237
265
322
374
376
400
380
307
302
324
328
368
233
206
281
358
256
320
307
349
317
382
223
286
359
223
232
308
248
238
226
241
391
316
384
334
360
395
359
366
278
304
235
313
306
370
277
313
279
417
399
274
259
406
288
378
327
312
235
268
376
412
365
347
290
323
316
379
302
329
363
217
280
330
334
263
305
371
283
330
307
346
324
258
315
328
333
282
324
288
254
339
321
287
285
196
315
323
336
322
297
325
340
340
419
336
316
319
303
252
252
327
285
357
356
314
307
274
296
307
340
349
328
353
422
279
293
354
332
308
322
235
265
341
328
370
356
324
328
323
346
322
230
327
327
384
293
287
336
384
330
357
328
322
270
379
279
265
321
290
396
314
366
280
276
274
330
347
268
313
386
215
336
295
334
243
358
278
290
220
354
270
360
241
274
355
253
308
340
357
274
292
322
308
275
306
297
367
368
343
361
387
355
254
386
260
386
342
279
299
257
338
310
372
264
230
350
369
302
329
333
319
363
279
331
368
283
353
272
382
295
288
329
363
338
276
318
242
329
305
327
351
330
266
352
338
335
299
396
335
424
302
354
280
335
310
323
321
386
335
303
268
301
358
349
225
302
335
334
313
412
312
313
207
282
256
313
328
325
342
314
368
347
344
284
361
261
308
324
273
280
351
301
310
347
222
286
261
384
318
319
402
276
322
275
228
319
234
351
357
291
464
359
330
324
290
287
237
317
273
244
301
290
260
374
310
367
242
316
269
334
351
319
288
314
255
288
281
383
282
229
276
381
295
268
307
262
250
355
308
282
360
277
301
366
366
372
361
312
257
382
377
324
319
265
344
365
296
394
303
243
326
205
314
288
412
284
302
318
305
312
404
305
279
337
283
318
343
411
261
255
362
300
358
310
293
357
218
336
253
294
397
270
282
303
226
314
308
338
301
305
284
344
356
325
222
273
231
324
337
380
245
287
302
240
350
310
299
321
346
279
360
337
268
287
357
314
356
322
302
304
330
281
371
301
272
311
312
231
420
278
419
379
309
350
245
271
323
385
332
328
301
387
309
316
356
290
253
276
217
295
296
401
402
268
402
339
270
379
346
287
296
275
338
330
279
289
272
340
359
288
349
261
246
244
259
360
273
308
344
368
333
174
267
332
301
366
386
301
367
293
281
300
367
252
357
277
311
298
345
294
332
346
200
312
292
316
378
232
243
288
338
269
268
368
210
299
385
311
312
257
249
300
368
335
314
270
311
335
315
359
288
338
268
312
286
317
274
288
303
286
286
280
290
395
289
363
335
278
289
239
266
325
404
248
225
251
381
369
240
286
234
285
233
329
304
335
329
331
353
312
305
254
294
293
384
309
291
326
345
310
280
340
352
313
385
367
338
329
365
274
364
351
306
291
340
337
359
306
333
297
365
299
341
340
297
391
251
295
277
330
282
330
292
388
267
314
338
358
282
304
360
253
344
342
401
303
332
270
320
316
250
333
403
410
282
330
304
308
321
365
308
318
305
259
262
303
272
239
262
243
351
235
288
271
411
265
271
331
278
263
315
408
267
312
245
355
280
289
286
306
298
370
344
259
392
293
340
311
280
252
322
336
293
300
261
208
280
333
340
317
274
316
319
357
336
315
290
281
350
289
378
280
347
227
335
374
356
291
286
275
320
289
332
274
355
364
316
301
305
258
309
221
349
327
355
325
329
306
324
332
298
293
299
347
305
335
305
331
330
366
275
316
389
240
366
296
297
308
299
229
259
397
271
358
282
350
197
343
339
289
367
402
376
286
338
352
285
328
270
312
288
337
330
322
232
341
324
314
347
262
337
319
276
297
348
360
362
368
278
306
348
256
290
382
343
333
312
350
362
230
222
346
211
237
389
274
330
264
341
334
288
244
295
296
298
403
256
351
346
351
307
305
223
282
305
337
354
344
289
338
247
240
282
331
310
315
331
394
391
286
394
322
374
259
269
385
264
347
426
272
342
291
268
331
322
344
305
266
257
279
287
253
276
279
357
286
334
317
344
380
350
324
307
285
372
331
269
331
330
277
300
256
356
278
260
337
252
335
277
328
348
318
317
372
293
311
269
296
361
286
272
316
350
326
305
325
331
294
301
343
303
343
284
233
372
292
364
346
327
269
377
304
349
343
211
333
292
294
261
327
371
321
309
325
297
356
324
328
252
316
293
348
295
345
308
349
274
297
303
306
252
330
263
311
372
278
281
326
309
303
275
380
315
384
329
349
262
353
306
265
300
331
329
317
359
400
310
213
293
328
276
316
263
335
363
253
318
308
291
365
369
280
351
262
390
266
299
230
293
313
368
269
384
243
349
356
372
265
349
247
335
337
306
285
270
311
280
284
320
313
374
335
335
302
360
406
353
270
275
384
324
407
310
309
372
274
331
398
423
400
330
348
281
280
381
381
424
311
326
401
300
312
278
331
312
225
299
292
275
379
327
251
350
309
294
325
246
256
346
316
258
240
380
323
335
335
357
243
304
403
211
346
280
295
342
359
318
302
354
376
236
278
396
325
375
337
399
289
268
303
240
325
375
260
350
286
330
287
301
313
271
331
313
347
324
302
352
358
415
314
298
252
348
373
265
366
342
355
244
285
255
330
211
330
279
346
402
298
343
343
287
330
289
377
360
239
297
362
381
244
353
312
389
285
318
377
234
277
259
400
274
298
343
198
387
323
243
330
252
341
307
257
325
295
271
353
236
327
317
314
380
251
306
319
243
278
310
365
282
345
329
270
349
356
273
317
361
257
281
286
306
314
353
296
230
343
296
312
315
360
327
390
307
387
328
273
307
348
308
266
341
334
337
293
345
343
405
320
281
264
346
438
273
384
278
354
348
251
321
326
254
237
302
385
336
320
357
370
314
327
276
252
381
368
289
317
305
384
307
236
335
332
312
298
307
264
365
259
358
336
246
360
398
318
432
261
332
302
233
356
345
341
342
356
331
364
348
336
299
337
346
295
459
336
376
311
329
287
296
254
279
383
302
277
297
254
327
344
342
262
232
363
333
352
291
298
294
358
271
293
290
312
274
322
310
384
322
365
350
319
313
312
290
358
278
320
326
354
207
309
306
364
342
319
424
386
345
278
393
408
307
324
287
355
311
350
235
378
266
373
270
377
280
290
267
278
374
297
296
289
323
324
248
397
365
329
308
252
338
357
413
357
236
308
302
304
306
330
375
349
326
311
341
368
315
308
311
381
350
287
204
324
328
358
271
362
290
233
300
276
334
254
274
302
364
357
256
220
270
259
373
349
363
283
343
287
285
355
273
357
240
288
310
288
369
296
341
335
312
251
303
321
268
269
288
341
298
299
366
291
300
324
268
278
263
241
243
313
304
310
240
280
350
274
322
345
272
383
236
258
374
335
327
268
398
335
308
378
270
322
248
315
307
312
304
309
297
285
288
349
281
300
411
335
282
348
351
352
333
363
298
305
355
225
312
305
241
311
384
398
404
327
239
263
254
318
313
339
330
404
314
393
336
403
348
300
320
335
401
291
389
297
294
272
229
269
325
341
338
341
301
181
292
249
288
273
267
322
330
339
314
241
370
311
276
309
245
278
261
328
324
313
337
294
353
322
362
345
377
315
318
410
229
294
292
328
390
300
284
325
233
280
336
395
364
361
300
287
318
251
290
408
274
258
339
315
307
292
332
336
247
295
380
299
310
298
324
310
298
218
390
340
290
316
308
304
404
365
358
228
296
249
272
303
276
284
309
245
288
240
256
297
286
347
367
280
330
326
278
412
238
384
331
335
394
233
272
293
356
277
374
288
259
254
380
299
315
321
341
324
319
348
302
271
247
383
283
323
401
260
279
257
277
299
281
372
249
260
256
303
270
269
321
306
316
351
292
295
374
315
278
339
295
415
313
363
359
388
318
354
328
344
281
304
325
300
284
335
334
368
305
347
280
380
285
321
446
332
366
262
281
323
299
336
327
350
241
303
259
368
314
308
347
287
232
328
315
344
374
365
219
228
338
238
283
299
229
289
273
372
255
284
395
281
308
232
371
285
269
411
352
231
296
343
302
351
342
370
298
226
352
293
386
342
253
370
330
230
262
340
302
278
394
244
316
358
318
339
257
358
289
333
313
239
378
401
350
318
313
300
299
318
331
328
355
301
358
351
346
282
320
353
235
334
438
321
251
337
316
299
304
338
299
266
348
318
362
301
336
281
296
294
315
338
284
397
253
344
335
329
297
254
284
282
341
322
346
283
289
278
298
324
228
305
365
381
367
348
309
339
290
308
216
347
278
267
285
361
345
248
334
302
344
277
286
390
332
278
285
276
330
261
294
352
346
330
339
311
323
338
302
323
299
292
263
307
329
327
230
365
318
345
345
343
360
378
391
355
248
362
302
330
291
346
337
307
263
267
295
240
254
363
225
273
214
309
197
298
341
270
275
219
322
376
304
284
324
227
347
307
329
308
297
248
412
336
358
267
276
364
239
285
344
348
234
411
323
348
357
351
361
226
290
397
299
410
301
290
302
249
357
341
290
345
313
395
382
281
247
248
324
367
356
320
345
349
373
296
324
194
224
355
331
316
317
302
308
281
251
301
331
265
224
272
287
297
355
301
252
290
294
299
331
278
288
328
320
276
237
282
276
280
343
250
304
312
359
261
325
309
304
262
309
348
366
243
342
269
280
304
319
227
233
282
347
341
339
324
296
323
271
309
318
307
371
409
272
385
354
308
273
363
353
251
321
299
316
319
210
264
384
356
315
352
354
203
315
327
312
306
278
274
289
356
347
310
238
278
275
309
305
265
266
225
298
249
240
272
203
357
372
392
448
338
255
315
309
261
301
284
288
262
319
319
345
352
311
327
300
310
272
342
256
255
309
276
330
329
332
353
356
297
345
325
297
235
320
299
334
307
335
319
292
346
281
273
329
340
219
287
325
301
356
266
243
350
282
299
280
314
390
337
345
333
290
344
370
358
267
334
295
289
288
265
374
286
298
288
329
339
299
281
278
279
246
298
335
347
357
334
279
295
327
279
305
341
405
284
364
286
311
326
339
340
307
348
278
313
362
389
249
286
338
272
318
326
319
312
388
355
309
324
310
289
373
342
436
284
337
403
271
363
311
285
329
440
377
309
251
341
341
287
303
268
308
283
261
297
296
297
281
321
331
332
271
276
303
305
202
314
247
380
356
351
390
250
345
298
248
280
306
289
280
347
317
324
368
316
356
301
319
354
392
405
253
345
331
332
272
306
332
292
322
273
284
277
281
345
251
235
323
177
290
281
339
276
308
251
418
343
312
262
302
338
245
301
404
331
340
281
322
335
290
296
333
334
288
282
275
266
300
343
311
356
299
335
325
269
285
327
251
388
275
299
363
349
277
311
334
322
269
218
312
334
336
375
346
310
300
282
321
353
343
249
331
320
376
369
357
326
324
352
276
338
307
334
387
337
360
368
292
303
371
367
305
329
349
327
331
332
400
353
356
355
368
304
263
350
351
316
336
266
287
344
352
285
232
348
338
349
281
378
323
271
281
280
303
350
315
294
320
319
294
301
315
291
369
328
270
309
281
248
305
285
217
304
305
364
320
334
262
330
280
306
361
321
278
303
254
322
318
372
289
215
285
331
370
291
266
316
358
324
321
314
346
369
340
361
284
354
234
297
316
339
397
279
366
355
316
337
300
248
369
338
298
354
352
355
364
288
251
263
284
323
329
265
319
395
368
274
216
362
343
330
366
364
270
299
433
271
321
374
360
323
280
316
348
262
389
258
263
277
318
365
290
334
358
343
342
263
345
265
372
312
301
217
275
346
321
320
259
301
279
291
350
360
380
326
334
319
354
267
342
334
367
342
298
316
392
252
233
311
295
314
336
370
317
358
302
242
296
306
383
389
233
376
373
325
339
335
304
294
294
340
271
376
349
224
376
251
361
340
378
345
303
341
374
302
353
339
256
358
364
396
345
341
274
252
285
317
281
311
337
338
272
315
297
230
348
398
332
274
315
281
316
297
372
257
355
360
364
335
361
294
312
255
327
319
300
338
289
334
318
370
262
281
351
377
329
339
332
305
341
346
331
227
342
378
311
310
262
256
256
407
347
363
291
372
360
190
249
270
283
361
332
229
347
317
292
399
274
317
299
308
308
326
297
351
264
316
229
328
268
313
329
224
362
326
307
321
310
370
247
372
309
292
261
349
261
328
400
288
367
341
220
279
289
290
328
277
280
343
270
358
368
324
328
322
403
240
342
349
322
360
296
221
352
286
318
314
305
245
368
346
330
366
368
320
301
269
263
303
333
264
301
324
303
270
381
275
369
264
351
263
311
288
257
341
403
360
315
308
356
346
334
365
281
275
292
329
331
290
297
306
312
349
302
339
352
373
263
400
382
284
268
342
375
317
343
377
328
318
271
329
373
295
335
333
264
329
288
390
279
344
265
408
449
322
379
256
337
355
262
362
330
349
252
284
307
329
305
283
325
316
283
370
380
287
236
394
382
289
336
279
310
346
299
334
346
298
262
308
368
417
308
357
251
359
335
424
327
181
340
277
293
257
277
341
368
337
301
310
345
423
327
227
328
319
334
270
211
357
322
377
255
271
390
238
330
292
259
307
292
272
345
385
365
266
338
278
356
363
327
332
281
317
379
380
284
249
321
318
298
361
308
325
387
253
342
336
254
371
309
282
300
356
356
331
336
266
245
372
337
331
297
267
321
311
293
300
280
289
344
332
282
372
383
287
284
338
274
243
284
328
329
274
357
307
372
320
290
380
310
349
289
343
241
213
333
284
324
290
214
306
308
310
311
337
288
283
185
387
350
290
272
335
269
298
357
310
326
363
339
300
325
305
378
272
285
350
291
245
356
343
329
269
424
335
396
363
314
320
399
293
392
377
220
311
397
392
368
231
333
287
289
264
322
280
358
354
306
274
309
254
364
309
335
392
276
341
308
345
287
310
342
344
332
404
305
300
343
362
301
336
350
293
290
408
312
313
284
278
370
324
274
288
351
256
319
358
298
314
313
303
312
312
355
404
301
323
286
243
278
305
250
319
372
282
353
338
300
263
285
192
394
264
277
423
231
358
251
286
358
361
251
283
256
330
255
368
298
360
361
344
257
374
322
289
397
303
347
271
390
301
366
290
306
367
329
378
298
305
339
307
301
358
292
359
336
321
344
366
245
307
327
211
277
350
221
362
264
302
296
380
295
334
262
324
368
338
348
374
321
359
366
262
330
319
304
346
381
314
305
417
251
276
282
349
192
294
273
235
325
305
302
340
322
237
233
338
291
346
302
311
322
331
379
339
357
339
332
395
280
342
300
318
356
252
286
311
400
296
306
328
398
370
312
336
234
361
355
335
345
379
346
304
339
288
322
343
277
281
329
236
372
320
305
389
365
309
338
349
247
321
321
335
297
283
261
369
338
318
265
234
388
333
274
271
311
355
261
313
357
261
406
391
314
316
278
192
316
328
286
325
272
351
332
279
315
399
327
335
331
304
263
406
256
269
244
295
401
329
400
366
288
277
363
389
225
361
319
356
351
321
365
364
278
302
362
212
296
293
301
300
270
320
301
264
301
310
321
199
303
307
307
274
349
322
372
356
343
321
248
292
292
349
368
344
283
375
320
364
376
354
269
308
229
340
273
263
244
316
332
345
332
222
271
350
322
346
291
325
355
345
287
323
358
312
278
332
294
359
279
328
327
344
336
338
287
267
370
331
409
320
277
375
328
293
353
247
326
254
243
322
283
261
341
318
372
328
353
335
318
363
383
319
350
222
335
175
330
263
254
300
347
340
314
311
328
343
366
261
242
280
364
366
333
287
253
344
287
316
344
389
304
271
248
335
304
341
357
311
288
276
315
359
286
326
277
338
309
321
348
261
284
299
336
203
337
430
341
312
361
421
333
294
333
355
332
274
282
359
289
349
284
340
327
335
340
338
352
246
363
306
310
326
328
330
339
362
392
241
315
332
351
341
251
317
382
289
277
361
343
279
321
387
331
336
286
258
276
303
403
259
320
258
302
404
357
340
247
382
331
342
372
383
290
378
353
394
305
269
264
329
295
281
331
302
275
356
323
290
338
298
322
311
252
247
346
333
330
326
238
279
299
228
284
352
347
259
260
311
310
269
323
306
245
270
278
307
329
392
315
382
340
338
363
293
272
253
239
340
399
214
257
276
296
352
255
357
217
355
253
319
300
346
317
241
282
362
263
382
286
327
346
321
255
351
376
309
373
354
323
320
279
305
334
255
336
337
247
305
262
420
366
308
369
265
317
374
294
259
320
390
346
389
379
366
275
272
319
297
305
216
356
342
336
283
345
288
292
339
326
312
373
258
304
286
375
323
301
344
263
344
302
275
304
374
317
297
374
247
264
307
353
392
321
347
330
347
312
311
250
284
250
318
249
405
250
249
297
294
410
345
310
297
331
322
283
331
278
332
319
375
285
342
297
233
246
361
308
341
241
342
355
354
310
240
383
349
307
398
308
282
286
305
366
286
299
308
293
377
307
303
327
275
334
272
286
352
395
336
382
323
366
369
340
355
323
310
315
298
258
270
276
300
345
326
370
355
267
315
346
283
218
290
325
299
383
269
290
339
345
334
282
281
360
242
268
310
334
345
349
322
370
248
327
246
306
276
294
343
268
302
389
282
206
422
264
254
273
267
232
327
292
356
307
304
281
254
358
228
205
354
296
249
334
285
282
324
350
282
345
273
329
365
271
273
407
291
335
306
295
273
303
405
319
351
292
297
360
366
370
248
262
293
270
327
350
261
308
384
331
327
343
285
337
282
298
284
333
270
239
354
273
314
352
320
395
340
434
280
348
310
243
294
399
329
333
330
374
310
304
299
293
333
320
299
385
268
307
385
334
327
402
232
315
307
323
318
306
241
390
249
304
345
348
357
394
374
319
277
290
263
366
343
245
224
297
367
379
340
296
245
335
412
333
345
340
307
271
297
272
332
274
374
350
290
280
384
354
328
335
331
363
281
321
301
223
381
291
344
155
334
325
324
286
421
298
204
313
223
358
313
353
262
260
363
366
347
279
265
319
259
278
382
269
348
303
355
298
365
297
320
356
355
343
299
233
287
242
286
289
327
369
272
335
321
360
299
221
328
319
344
322
256
302
398
303
346
345
383
278
337
349
310
302
390
366
382
325
334
298
307
313
340
299
288
313
326
358
275
318
342
301
262
336
344
285
316
231
357
286
263
271
359
273
320
269
318
367
276
418
282
393
332
344
321
337
256
274
317
262
336
315
372
287
292
303
386
327
385
312
321
286
249
246
326
280
322
366
299
252
324
355
369
372
289
303
358
285
211
285
354
342
234
359
397
320
401
332
305
303
306
371
324
366
279
282
286
273
338
272
278
362
334
206
337
357
267
260
359
318
267
348
315
396
258
311
272
268
220
372
270
292
246
302
336
309
379
387
253
316
304
291
244
250
289
311
335
294
301
294
324
264
333
256
280
348
337
252
249
356
338
408
348
340
260
343
349
287
296
280
256
322
354
311
275
416
333
372
359
315
411
372
232
370
331
257
351
277
277
236
359
353
260
321
357
378
378
289
341
326
302
315
339
282
392
328
182
297
324
319
306
309
268
304
334
271
346
391
353
351
268
264
347
321
351
356
350
248
293
357
386
274
262
329
255
430
259
327
322
355
323
307
286
318
270
332
253
260
299
283
267
226
327
262
311
292
319
290
257
336
323
320
285
343
294
300
248
336
318
307
386
244
332
384
284
275
242
237
378
361
319
310
219
349
253
347
342
310
267
335
296
232
373
360
371
270
294
351
360
296
339
300
270
327
354
334
331
343
313
307
303
285
320
218
405
276
375
287
261
254
412
224
335
315
268
309
338
301
350
319
355
319
194
348
341
316
282
384
385
287
252
328
329
366
312
288
273
352
294
349
368
355
292
263
255
338
385
259
368
327
279
329
284
255
286
212
392
229
331
371
308
379
296
284
315
372
350
297
222
362
345
295
251
329
359
332
288
355
289
216
358
350
261
373
272
281
290
264
314
247
250
310
363
331
392
407
329
320
342
324
279
306
230
348
329
370
295
322
273
318
289
283
248
251
249
269
313
270
316
388
395
379
225
169
330
250
321
338
364
375
270
338
219
340
229
282
343
201
297
275
281
368
329
301
269
347
301
332
344
339
388
336
320
244
301
343
283
288
272
354
334
311
240
366
337
301
340
368
298
285
298
359
305
330
299
251
337
362
345
309
368
336
255
324
376
376
312
343
291
345
350
308
319
287
363
364
288
291
247
364
363
234
365
310
328
364
384
257
376
403
310
337
286
379
360
324
314
340
198
310
337
206
326
352
434
310
352
345
318
279
377
288
298
343
368
365
290
365
358
268
289
323
331
361
309
328
392
318
327
319
287
308
323
288
249
304
376
332
370
243
285
283
255
275
313
297
343
271
277
250
280
350
322
256
337
366
304
349
341
339
330
327
263
353
310
303
289
250
316
272
300
340
279
320
243
360
325
331
318
227
277
341
160
301
276
338
318
342
323
328
285
259
289
374
385
352
344
343
319
314
309
329
300
244
331
421
349
427
351
271
343
237
343
318
291
279
314
281
372
306
344
334
353
303
342
320
303
356
358
352
233
322
302
290
259
293
291
286
319
360
334
345
380
291
292
262
317
221
379
326
386
248
336
297
344
386
368
343
334
307
296
320
209
354
381
436
188
229
218
285
306
248
182
372
303
342
397
285
325
302
260
319
370
266
261
305
312
288
306
318
343
265
244
269
327
271
355
335
213
249
320
258
362
311
286
276
309
337
302
377
270
338
359
266
296
334
235
371
305
265
372
270
363
282
322
256
310
348
297
343
313
317
349
286
374
348
349
263
367
316
354
316
297
354
294
344
256
302
286
262
347
348
246
245
338
318
264
282
337
334
341
329
292
365
304
360
324
341
224
270
333
380
320
396
262
286
309
264
303
390
235
341
313
243
400
351
282
350
297
301
299
269
240
298
375
318
269
285
437
321
253
333
395
331
346
343
285
264
349
265
322
297
253
331
281
307
306
329
244
326
262
357
344
248
358
328
319
260
307
246
295
199
288
345
281
309
210
240
297
297
289
371
329
351
254
254
250
266
389
191
291
347
352
339
341
334
319
326
344
285
306
294
375
319
335
402
289
345
258
320
344
282
257
286
330
254
244
276
311
311
304
285
407
385
276
281
319
345
354
268
381
250
336
407
230
296
332
288
301
378
370
314
332
413
331
341
342
335
312
383
266
354
287
332
370
347
357
273
263
362
369
303
279
337
298
310
335
279
322
177
356
252
260
310
360
326
306
264
432
222
372
322
322
291
269
280
351
324
294
243
323
313
336
358
332
344
324
260
274
316
377
309
302
346
290
322
323
332
380
281
292
337
297
305
345
351
340
268
311
383
248
290
210
245
325
295
332
301
230
303
328
272
263
264
334
357
328
286
218
253
380
399
313
271
239
364
344
366
385
361
337
301
299
309
276
326
332
306
267
296
255
325
316
365
246
308
435
345
262
338
299
284
396
367
247
318
439
328
360
271
296
251
262
346
272
274
366
376
339
339
293
287
303
310
294
343
295
417
392
309
284
347
326
289
322
280
238
327
297
316
304
351
281
371
344
237
367
245
299
287
289
369
262
305
322
334
276
314
265
397
314
339
304
309
393
280
341
339
290
298
353
326
269
405
371
340
310
289
286
274
237
328
235
393
296
278
301
336
323
298
330
341
265
365
259
295
335
341
336
296
368
355
379
414
331
344
333
259
366
372
312
269
324
308
321
328
357
355
224
275
293
256
342
353
274
312
319
333
231
328
359
318
252
278
291
407
233
289
318
339
367
338
382
331
360
359
343
296
362
353
249
355
347
342
269
367
275
345
432
326
273
317
359
331
312
365
211
349
330
357
265
301
316
246
307
297
267
305
288
295
285
415
240
316
361
365
287
315
248
351
403
300
348
279
294
321
337
306
318
328
297
298
302
332
337
342
286
376
298
375
327
203
311
329
328
304
346
279
202
265
315
222
285
280
293
406
358
368
265
271
357
332
337
381
352
403
253
397
344
363
312
350
391
318
404
356
355
352
323
298
251
338
377
235
294
259
318
288
312
299
335
244
299
413
394
344
349
414
347
248
302
300
330
389
296
236
287
372
316
388
330
304
247
332
272
304
283
377
347
353
333
285
245
259
314
390
304
328
336
398
343
306
341
344
275
265
266
344
254
349
325
231
288
280
335
289
244
365
351
262
308
247
312
253
363
350
354
320
379
306
323
284
301
340
342
368
352
267
291
357
315
271
264
270
322
288
332
296
376
310
429
308
358
322
301
339
359
308
340
239
332
276
274
369
359
330
309
294
312
415
346
250
361
288
341
256
409
297
309
344
245
359
381
345
313
270
268
299
266
316
351
341
348
317
352
350
318
340
356
321
252
281
333
389
401
333
368
379
311
301
354
248
268
277
345
246
332
302
274
284
396
271
280
247
368
291
267
277
266
323
265
322
276
307
305
361
331
302
293
376
296
282
299
274
298
258
289
290
349
388
304
310
358
342
345
376
365
275
257
261
378
272
339
301
320
366
361
342
282
219
369
294
329
254
311
274
350
267
273
287
316
355
232
299
327
348
249
245
354
351
284
338
279
345
270
318
252
257
276
307
330
397
352
378
324
333
292
240
380
374
351
391
311
343
371
347
254
333
207
358
246
270
339
347
301
437
311
359
354
316
359
291
296
311
311
326
284
243
306
363
307
321
270
302
317
227
369
295
206
344
292
274
245
239
279
349
320
343
283
297
344
409
348
309
245
330
279
368
300
301
258
305
321
291
311
335
351
295
356
359
233
292
288
379
248
380
304
331
382
280
291
284
300
287
281
360
362
280
206
376
344
290
307
283
340
282
371
320
286
317
378
285
341
398
418
392
347
306
332
357
359
338
244
356
235
326
321
257
301
291
296
336
301
321
295
300
285
426
303
295
318
334
374
265
241
352
398
334
352
227
286
316
255
240
278
259
298
372
318
302
307
269
267
356
397
263
317
309
309
303
260
240
307
296
254
224
303
334
293
348
327
349
327
320
276
365
328
340
296
296
301
246
329
244
340
349
279
411
339
341
324
292
260
309
338
349
300
294
271
309
274
270
371
341
313
344
341
293
299
290
306
280
378
260
327
359
283
341
269
398
350
352
382
370
285
342
371
365
356
341
237
274
358
338
374
337
330
320
283
370
336
243
238
315
255
340
345
297
334
267
325
270
268
252
351
307
343
334
213
310
341
347
337
244
357
362
313
354
293
215
365
336
289
342
339
281
319
233
248
298
307
336
314
376
314
361
351
337
324
263
301
238
332
271
332
384
396
281
334
301
225
305
318
325
257
268
398
327
378
378
404
338
322
301
296
268
331
320
253
314
320
345
254
386
278
270
311
268
316
261
305
331
387
297
371
300
319
337
331
249
344
263
319
342
379
309
301
305
326
347
292
358
291
334
335
287
289
343
308
321
388
334
395
327
347
296
400
323
278
254
310
299
262
265
396
337
354
309
251
304
259
273
365
260
327
328
327
239
417
332
332
274
312
238
326
326
311
333
286
295
261
257
399
231
329
274
356
319
312
316
255
338
206
347
303
353
331
329
325
350
387
334
297
298
246
230
386
235
302
253
323
326
325
296
235
337
246
270
300
350
244
339
346
255
288
272
350
315
322
229
342
268
255
277
312
276
391
360
279
293
298
347
269
215
388
275
357
316
346
321
330
331
372
303
356
328
359
255
296
351
340
268
367
355
405
376
352
311
290
284
233
229
327
228
338
381
305
364
272
309
268
308
323
251
284
300
350
288
326
321
314
335
384
379
331
340
296
310
379
274
260
312
264
333
285
384
380
357
275
326
291
301
274
222
234
415
220
290
349
289
293
335
365
321
371
354
272
330
297
344
341
287
414
368
316
290
346
254
323
415
383
428
237
413
345
341
334
382
364
217
300
400
297
285
299
331
342
200
324
346
306
335
334
317
262
314
281
383
319
298
265
325
390
260
384
328
338
302
328
331
253
331
329
331
206
251
284
250
402
250
382
218
374
309
365
317
374
327
210
300
324
294
312
283
308
301
302
336
343
313
306
341
307
409
320
280
242
347
334
342
247
291
290
404
242
370
304
301
269
273
292
284
287
308
319
337
292
254
344
278
303
360
323
305
295
337
296
301
245
247
291
356
324
297
245
273
280
408
345
352
245
326
268
273
302
234
371
286
257
331
287
261
318
281
308
278
268
298
334
349
190
289
315
369
255
265
293
276
337
292
355
316
232
365
324
269
272
382
280
269
233
284
323
294
336
323
164
397
341
321
336
310
302
356
335
327
356
380
339
289
333
366
316
267
364
335
281
400
285
339
315
280
296
234
280
309
351
354
390
311
280
234
326
306
228
243
351
338
223
303
263
378
292
412
271
344
283
381
365
318
392
301
283
343
244
346
341
287
328
330
222
274
363
353
299
334
308
220
349
263
341
256
365
323
307
274
262
352
301
258
379
265
202
331
369
334
321
300
361
368
360
307
390
335
285
275
324
370
234
298
400
310
311
379
296
394
396
359
353
334
371
302
216
343
340
282
343
373
371
270
335
313
349
335
296
249
222
170
200
297
299
263
387
228
334
339
363
354
369
331
283
321
256
335
300
300
268
361
292
341
304
337
298
326
299
277
370
332
299
283
363
444
329
301
363
344
247
330
305
289
310
327
359
339
345
296
341
328
311
260
389
335
328
327
334
338
345
335
337
343
405
383
310
368
293
396
246
321
296
317
310
255
349
289
293
295
305
316
322
318
400
272
237
304
311
326
233
378
321
274
357
330
377
405
354
238
298
358
269
319
285
259
313
396
342
277
328
315
322
340
307
305
344
343
268
261
331
311
301
247
307
373
397
272
287
390
290
315
364
382
256
348
353
297
273
351
338
303
251
301
393
207
262
356
317
349
300
324
281
423
291
319
334
404
246
287
216
284
268
231
345
349
281
218
357
303
360
274
343
237
270
372
308
380
298
304
285
209
394
394
352
385
200
278
413
279
348
353
325
393
278
415
337
289
284
407
342
403
291
326
244
314
380
334
305
300
288
397
272
394
279
297
376
300
333
289
282
295
340
313
363
311
328
337
279
366
284
336
243
375
286
385
347
259
315
295
302
279
224
290
185
304
278
345
351
358
284
335
360
319
252
363
267
374
281
349
389
322
279
340
302
239
322
265
374
381
372
320
367
308
180
327
370
263
382
274
296
248
344
380
257
308
266
279
377
375
282
295
287
339
363
330
240
365
316
336
289
329
285
323
367
285
315
322
315
259
360
343
354
277
256
327
350
384
369
323
284
218
286
307
385
262
213
208
187
303
289
315
246
336
317
320
271
339
318
231
324
282
328
383
292
281
382
321
365
371
288
327
301
279
284
270
350
283
220
314
252
273
286
311
231
365
297
291
231
317
392
235
382
363
299
293
283
300
309
250
291
243
364
366
410
344
336
334
358
311
390
296
366
320
320
359
280
432
372
317
329
283
193
261
276
293
345
324
237
290
303
314
337
246
240
286
288
285
396
300
348
317
273
271
350
301
345
337
317
358
391
256
345
354
286
322
326
337
418
393
282
326
338
351
381
326
263
315
294
254
397
268
254
325
368
299
336
315
343
328
379
305
384
329
331
304
292
260
307
282
362
355
325
309
355
241
295
308
368
305
364
343
285
317
271
351
317
238
314
280
329
415
316
275
329
276
264
380
352
329
280
358
350
348
314
326
352
309
266
342
243
328
302
317
297
371
398
319
249
311
296
370
280
391
345
295
268
307
301
342
250
307
354
312
379
319
384
281
367
267
225
346
360
303
295
275
343
386
358
362
288
263
325
262
326
305
281
243
365
239
322
265
363
286
336
351
334
310
382
322
369
401
350
409
309
343
269
342
293
393
315
288
344
265
360
349
322
265
380
326
398
271
376
359
296
328
328
355
257
371
318
283
331
392
304
377
315
305
341
365
330
338
359
202
274
361
243
335
352
286
340
343
262
251
337
295
283
328
305
403
298
316
356
246
286
387
281
311
364
271
408
414
365
373
343
272
400
315
421
325
373
302
298
309
265
327
352
287
344
342
285
363
270
308
363
276
259
324
312
335
302
303
246
303
259
320
312
348
324
255
394
387
302
327
344
304
349
363
285
241
290
359
356
218
333
409
300
301
365
360
346
301
259
315
268
249
272
373
375
225
323
253
217
229
276
346
324
373
326
368
321
315
242
317
353
303
374
309
272
326
361
281
261
352
251
378
385
355
186
378
298
317
335
260
338
324
378
297
297
315
270
271
337
292
290
319
310
237
282
299
329
338
305
245
265
372
296
269
326
270
352
271
286
366
294
257
341
298
292
298
309
329
344
346
327
297
355
173
314
405
318
318
334
234
299
318
256
398
238
286
342
282
385
343
366
296
321
371
424
330
342
360
309
273
251
351
237
314
261
383
313
337
316
317
296
307
315
343
238
274
372
348
276
268
248
293
378
326
272
390
292
265
366
285
333
313
320
346
319
385
346
299
260
402
376
357
312
366
300
375
357
292
312
202
344
323
299
318
287
393
388
259
283
307
352
330
342
361
310
242
269
351
319
270
280
269
414
312
294
283
364
239
320
267
268
243
302
295
288
412
320
305
311
316
339
341
328
283
349
311
289
334
233
296
300
188
341
354
412
318
317
365
367
338
239
325
344
293
347
323
345
321
270
361
367
298
381
324
323
290
350
429
341
316
356
296
349
319
328
325
332
323
309
319
234
308
200
286
231
376
222
249
308
246
366
388
381
323
297
371
342
261
291
322
290
325
280
346
306
294
238
359
367
296
259
344
280
247
276
282
367
295
269
279
263
338
236
256
250
269
331
344
353
299
309
248
280
310
261
294
329
248
333
289
345
338
268
233
314
259
268
258
317
343
294
302
282
311
367
306
339
328
330
385
318
281
323
342
301
335
327
281
296
338
340
293
357
263
338
371
270
346
260
362
261
331
358
335
315
385
373
378
253
265
265
394
327
276
384
349
385
308
252
255
324
405
342
254
402
349
355
356
426
359
369
343
273
230
320
351
359
329
330
326
380
352
340
395
398
301
284
341
345
397
186
299
240
309
309
275
283
305
236
335
365
266
250
386
412
333
249
329
288
362
354
342
339
361
372
314
251
326
310
278
294
308
300
287
330
302
252
317
315
213
337
340
366
314
304
331
270
320
384
272
335
322
379
329
225
376
256
341
317
316
362
370
379
342
311
313
280
235
278
278
281
321
386
297
352
287
382
386
297
382
255
320
377
377
287
355
308
377
293
326
288
326
308
353
315
328
395
388
345
313
380
327
302
313
342
277
285
329
292
268
319
319
300
262
238
394
362
326
295
358
267
336
339
350
354
331
264
305
334
318
365
299
305
258
382
290
329
376
376
361
360
345
330
407
255
279
347
383
326
331
296
371
283
343
258
249
283
347
320
380
201
319
285
325
361
247
325
300
395
334
189
295
363
349
326
340
280
275
344
317
280
276
311
321
352
302
312
266
311
283
278
342
350
349
279
345
270
319
261
350
316
375
348
286
353
300
385
322
358
340
333
284
323
262
265
315
327
284
278
290
238
377
264
412
341
292
306
341
334
316
332
347
221
370
333
232
373
317
270
256
328
345
324
302
317
321
189
331
357
343
361
283
260
369
394
333
368
331
331
277
326
342
225
370
256
292
324
352
332
275
259
297
227
261
312
358
323
284
281
417
263
326
255
296
360
343
303
322
250
249
285
280
365
267
301
248
369
295
321
279
260
250
365
296
275
334
344
273
263
229
269
390
382
307
352
283
304
420
381
300
398
273
380
328
285
289
354
334
296
325
370
293
404
363
305
294
315
274
322
349
253
366
328
345
334
288
281
360
268
306
320
321
349
325
275
269
345
297
308
368
309
313
281
322
297
307
268
363
256
308
294
321
271
302
355
344
321
342
278
257
420
272
274
323
316
326
299
364
391
357
298
324
319
309
334
308
389
313
282
251
285
289
303
335
327
416
290
255
348
270
407
335
322
307
317
403
326
334
268
299
230
291
329
323
347
334
330
312
327
349
341
284
299
322
303
273
281
325
304
373
340
298
307
353
332
328
310
241
369
259
302
258
270
256
307
231
416
298
277
355
223
288
277
319
271
235
274
319
300
340
264
333
297
187
243
250
408
248
314
290
354
415
217
311
266
335
251
286
284
310
297
240
296
398
351
263
326
290
357
337
352
259
272
292
370
255
328
262
331
362
312
401
320
258
301
323
379
287
326
209
210
318
324
320
301
300
255
302
352
332
294
285
246
287
327
262
291
277
257
278
330
345
315
349
276
324
365
393
370
306
295
256
304
342
312
224
346
252
336
336
389
309
264
238
355
280
339
298
292
271
375
281
320
304
365
238
401
353
314
230
328
323
272
312
361
385
294
402
401
290
343
301
273
342
270
357
319
294
272
336
269
278
333
259
361
239
293
295
338
233
255
378
247
303
309
380
354
362
287
260
326
327
336
303
387
276
351
312
296
355
276
375
343
390
308
360
345
274
353
352
280
316
299
331
279
342
306
305
345
331
332
341
296
318
435
315
281
323
206
344
344
329
315
299
379
382
321
279
293
279
289
254
339
286
299
244
266
334
335
268
325
261
320
365
302
333
276
345
295
303
349
300
273
322
323
364
376
297
336
392
311
344
358
318
315
371
257
369
288
271
333
343
326
313
341
313
331
337
303
344
354
342
345
318
333
350
303
321
315
366
308
374
272
279
296
288
304
407
259
287
239
339
283
383
325
263
337
266
308
351
355
286
306
293
295
310
292
358
322
285
276
323
279
278
202
328
282
304
310
412
396
272
273
315
389
349
262
244
343
255
381
291
334
324
383
340
290
332
298
310
324
279
371
303
285
285
210
316
289
257
257
330
272
331
341
359
292
325
282
308
314
307
303
329
362
302
277
390
305
278
345
395
309
269
269
347
327
369
336
382
237
288
308
332
378
283
292
333
305
308
307
366
270
315
259
376
319
361
289
332
331
345
290
315
282
274
291
293
249
332
394
314
342
318
364
267
335
374
317
249
271
321
303
298
298
325
346
354
380
373
252
239
302
325
199
268
180
399
317
264
346
367
326
310
317
358
220
268
374
219
289
297
329
320
263
336
315
264
278
361
365
307
357
283
342
231
287
271
328
268
269
338
297
281
349
343
267
310
270
259
312
327
285
255
299
362
301
281
305
358
321
319
343
228
333
354
296
295
270
308
266
364
273
291
298
376
287
363
344
386
315
308
351
265
299
325
262
279
372
320
272
266
367
342
366
404
378
294
287
277
327
297
262
345
329
263
256
265
262
306
332
310
267
246
411
322
301
335
344
344
339
337
310
367
286
311
357
250
334
359
361
319
323
350
351
264
361
268
348
268
325
297
275
368
336
375
325
275
353
397
322
246
330
307
375
303
329
290
272
302
337
251
351
371
341
235
250
235
400
354
369
300
297
362
397
312
387
347
328
357
260
313
386
304
294
309
272
350
321
288
314
288
325
389
390
340
294
268
238
289
343
396
301
288
325
271
260
285
332
333
377
314
369
305
340
350
340
342
332
267
354
336
341
364
388
343
277
273
299
261
327
332
368
338
264
341
240
266
276
337
349
320
328
292
240
367
291
293
331
339
321
290
288
267
313
262
250
252
325
287
425
258
195
396
301
305
333
369
364
323
361
384
400
306
321
345
346
376
383
382
328
298
292
281
278
302
309
232
307
375
255
365
295
242
330
377
291
352
359
236
275
354
309
272
311
362
315
326
305
316
279
291
333
314
355
270
349
323
318
309
358
271
436
241
325
233
279
312
359
260
327
261
279
325
312
297
204
257
276
366
284
269
277
358
211
391
284
368
367
275
280
351
269
251
170
397
345
328
292
360
331
282
294
266
355
333
382
385
407
296
249
258
289
237
328
335
342
340
378
311
244
337
314
364
452
274
287
387
298
355
363
361
301
289
349
325
295
294
252
297
294
435
311
407
318
332
303
385
255
308
383
413
372
335
302
291
368
294
271
236
300
327
335
317
323
299
305
351
278
315
361
322
267
326
373
377
383
347
266
313
299
253
222
327
378
358
280
261
296
305
256
188
262
361
331
354
290
272
357
303
296
311
368
241
285
270
315
318
267
231
300
328
318
292
357
340
313
323
213
286
303
315
315
303
304
379
319
349
336
297
425
360
361
260
257
306
280
327
321
388
297
285
286
310
275
299
235
416
267
197
424
282
331
282
350
335
377
300
318
319
336
274
244
261
323
312
245
328
195
311
242
295
266
311
301
270
311
256
243
361
344
337
333
389
268
353
292
273
385
372
313
338
330
353
291
297
312
372
317
278
358
380
258
274
392
341
300
306
275
279
298
276
310
335
384
318
235
271
254
343
404
342
283
272
355
301
335
278
345
374
291
271
392
270
351
363
351
316
318
343
336
360
321
329
330
180
242
297
285
253
248
246
329
252
301
258
322
336
316
302
330
370
254
303
330
285
351
354
238
313
315
412
413
346
270
193
315
272
282
325
342
356
320
320
353
303
361
241
343
372
356
314
326
319
295
335
249
301
294
231
300
344
386
290
328
310
402
310
375
289
261
352
320
342
322
350
354
363
325
267
290
260
321
369
298
232
302
310
307
316
359
331
345
212
346
394
315
356
313
261
277
287
349
334
394
307
227
336
304
253
282
271
312
242
300
263
333
290
279
342
271
321
271
357
356
343
308
270
249
325
350
295
362
315
295
307
249
341
339
316
361
327
275
372
315
387
341
263
259
340
355
317
329
321
344
381
309
368
298
399
318
295
331
302
422
301
412
326
285
277
274
283
303
376
284
330
270
292
309
321
380
305
292
410
317
278
329
327
280
242
275
393
246
362
258
355
398
355
336
290
253
352
242
314
271
371
308
338
360
225
362
311
363
333
301
352
287
338
281
398
356
292
387
351
269
379
293
248
284
313
322
443
350
362
317
258
279
194
248
299
291
354
260
328
328
402
277
352
284
270
304
287
321
280
344
296
285
349
322
324
370
234
284
384
314
369
292
227
306
214
357
309
366
310
334
275
303
287
290
293
350
275
350
343
359
368
243
354
240
341
359
291
267
330
286
348
342
230
314
351
297
356
296
430
355
354
350
341
319
373
242
353
391
300
396
301
363
300
263
308
372
325
286
334
286
385
293
353
205
262
338
339
314
368
242
293
305
335
306
381
256
244
359
299
342
356
303
400
269
265
269
364
302
320
255
391
327
285
266
323
286
274
392
316
319
256
330
305
353
356
407
276
354
343
379
319
379
357
317
274
308
296
358
369
333
286
273
315
296
386
295
323
315
279
344
319
313
336
317
193
245
239
294
339
274
311
262
316
315
322
263
194
327
290
323
267
348
372
325
247
377
288
320
210
263
312
353
334
259
292
388
275
361
285
309
347
269
348
346
315
340
233
323
285
308
261
303
274
338
265
229
372
310
338
301
365
326
264
294
239
300
349
314
357
261
274
360
283
278
302
346
319
325
269
337
322
355
289
274
303
377
324
301
316
351
288
260
287
362
271
332
330
418
365
372
301
320
310
325
372
317
280
374
330
288
398
360
369
349
295
327
315
305
198
350
199
279
337
286
273
318
204
246
329
308
278
366
358
348
232
405
330
307
211
308
268
322
344
317
369
334
272
295
314
339
376
234
355
347
362
320
325
349
324
296
315
325
332
319
315
358
418
367
350
332
315
383
336
310
350
273
231
293
308
316
277
401
292
338
278
327
371
211
299
270
277
288
355
271
318
314
303
258
367
332
291
374
405
299
285
282
372
286
306
355
391
262
340
324
250
301
234
334
220
281
327
365
386
361
283
302
300
314
256
327
290
309
279
260
283
310
285
331
268
267
292
285
357
353
357
309
389
375
308
379
284
396
298
232
184
331
323
313
323
310
234
378
405
399
306
339
283
254
349
332
262
356
298
360
264
292
372
328
208
302
380
300
293
314
312
314
343
292
303
369
384
343
336
266
251
326
434
245
333
308
355
287
304
276
303
306
324
261
382
378
378
325
307
300
411
331
335
359
275
317
339
369
311
254
361
404
312
262
352
322
238
293
272
307
371
375
285
283
381
258
263
284
347
295
360
359
340
327
343
333
351
274
312
247
243
357
232
292
364
312
338
355
346
257
325
428
352
249
273
322
342
314
309
320
308
375
278
306
356
273
267
323
414
304
348
217
376
242
272
294
292
355
331
317
393
359
361
301
397
234
341
320
243
312
282
364
328
241
254
357
247
303
295
313
252
341
294
294
386
351
364
332
282
235
344
303
313
361
218
357
348
298
309
306
370
315
331
356
321
343
277
298
387
268
335
324
330
335
347
258
338
375
260
327
305
247
315
352
269
319
312
324
375
334
406
292
314
181
264
300
283
375
352
305
282
305
343
334
350
294
279
263
337
247
318
361
354
230
282
332
362
263
234
321
290
296
264
366
331
297
358
267
254
219
280
318
306
279
385
269
328
360
362
344
348
377
352
272
258
259
376
334
167
243
338
272
281
229
308
298
265
325
332
248
239
272
263
303
328
190
323
290
330
238
350
351
272
402
288
314
334
322
358
269
299
411
271
300
293
295
319
327
375
293
286
392
302
336
311
299
314
377
292
268
289
316
314
333
313
347
303
328
275
381
374
223
287
402
248
274
312
350
309
240
290
342
240
281
289
326
284
379
277
204
324
266
242
350
299
306
327
353
338
350
359
377
328
334
329
319
304
316
286
365
270
376
308
256
332
261
265
278
369
330
378
344
349
270
353
300
335
395
277
331
298
294
344
357
313
287
251
358
242
348
347
277
266
293
362
240
361
249
292
350
320
234
293
311
302
270
310
288
355
292
309
319
343
295
408
242
275
389
339
347
278
337
262
223
309
296
379
393
306
357
331
307
331
291
319
388
336
340
355
296
336
270
323
336
325
280
326
327
306
300
351
322
266
307
330
385
305
316
295
285
308
400
357
325
290
295
385
325
307
315
360
344
319
329
397
300
324
312
312
293
393
293
315
339
258
366
320
394
264
338
291
325
367
330
300
303
294
317
317
318
238
334
332
393
393
350
294
316
311
293
257
318
358
346
314
319
317
300
294
271
312
377
259
265
334
311
332
340
280
309
347
272
180
286
245
347
366
277
380
313
351
277
340
242
310
327
283
268
287
296
253
357
262
273
360
317
377
258
387
263
358
273
245
322
291
303
364
255
365
296
386
372
328
406
371
267
286
285
370
386
260
381
316
200
397
320
295
279
295
286
269
301
268
289
310
343
319
359
346
276
266
244
251
304
399
209
350
325
361
347
304
329
262
210
363
279
303
266
324
274
250
377
319
315
272
342
308
345
356
303
265
387
289
373
292
294
282
214
332
309
280
346
284
302
348
349
344
352
283
313
281
296
309
332
324
330
302
346
310
297
288
376
271
234
333
266
237
244
314
359
381
327
386
289
380
301
288
281
262
206
281
295
301
230
383
379
290
257
403
244
332
307
258
294
231
292
326
310
209
278
320
402
294
275
324
376
322
272
323
368
293
240
298
240
343
420
382
316
269
313
343
372
278
261
299
344
328
280
288
286
291
314
371
287
175
358
260
303
240
222
331
316
327
280
307
317
319
273
323
209
319
333
343
290
341
344
260
332
286
290
307
292
320
269
257
402
320
257
288
340
305
317
311
380
365
245
253
259
199
319
234
293
340
286
267
345
242
300
296
314
277
270
313
382
307
229
262
232
374
284
306
330
334
254
257
290
318
271
388
356
305
390
323
294
427
290
327
353
303
332
330
335
294
342
307
265
308
296
306
268
304
296
349
267
329
437
362
259
270
269
209
273
365
302
334
374
341
283
340
415
375
348
309
322
307
289
331
327
332
271
296
285
333
398
378
262
385
257
381
353
317
266
322
355
192
299
250
318
333
312
294
281
252
361
300
336
414
355
305
326
335
285
252
281
308
265
295
349
366
243
366
357
373
337
279
260
357
336
393
385
338
300
329
278
286
300
272
351
365
258
354
315
238
273
371
267
286
346
288
369
297
258
320
343
348
212
391
364
314
296
292
310
335
258
242
340
324
237
275
282
336
354
295
337
275
323
340
226
339
302
289
196
271
282
385
335
354
332
316
294
303
325
340
317
337
290
220
279
335
306
385
331
248
266
382
282
254
264
389
241
262
294
399
321
329
367
258
313
381
324
263
323
319
338
267
389
428
285
338
298
342
166
366
309
326
362
289
327
326
296
240
293
264
392
267
344
280
208
282
293
279
325
347
302
346
355
319
308
330
427
357
285
317
380
279
255
344
297
280
198
221
334
347
307
310
313
254
373
235
340
345
261
310
216
325
337
327
368
310
330
342
357
282
300
330
307
270
321
300
332
256
279
330
294
321
360
232
315
316
312
309
423
277
292
312
337
289
315
271
232
305
313
351
294
387
380
256
341
317
309
359
313
303
279
265
358
250
347
211
302
326
274
289
298
271
271
379
346
359
339
323
245
215
317
368
314
308
302
262
330
340
307
351
299
337
359
356
356
349
248
287
356
344
346
349
298
241
279
375
236
306
378
368
385
289
380
297
310
229
315
374
314
403
349
301
398
295
298
372
351
354
351
409
314
327
306
366
293
373
275
340
296
285
364
316
326
272
365
358
329
316
341
373
334
351
376
295
381
327
231
259
292
314
310
250
345
285
358
335
305
325
243
335
320
355
347
266
376
355
398
245
311
334
292
345
267
304
274
331
137
291
334
240
321
315
306
248
349
252
298
304
237
309
363
338
304
416
396
311
265
414
286
328
350
354
271
310
375
386
389
286
333
300
378
318
308
319
175
421
315
383
318
319
316
323
274
337
251
351
258
298
346
397
414
350
404
358
347
362
277
255
325
393
291
374
375
293
210
274
345
415
411
334
386
252
344
322
380
363
350
342
311
333
183
273
245
301
309
308
285
404
289
312
301
332
387
369
345
260
319
316
335
303
295
384
319
292
295
252
328
355
382
365
405
251
289
223
256
329
340
366
348
344
291
353
388
329
287
268
254
342
272
289
388
245
389
369
321
329
299
276
316
304
311
335
292
248
366
239
344
305
272
350
337
282
290
305
266
254
300
298
334
291
352
341
329
349
310
285
288
361
284
270
292
321
391
372
198
325
235
284
307
241
359
317
299
261
286
256
325
373
381
340
271
294
283
318
320
283
256
340
274
245
316
257
322
326
386
337
372
269
384
331
350
339
381
328
246
353
327
294
318
343
294
317
337
317
308
251
321
296
269
310
258
343
356
312
347
371
299
296
266
335
341
318
304
275
219
372
400
391
279
298
260
263
297
338
309
312
340
243
316
380
337
277
388
310
332
273
250
283
379
284
292
354
334
319
293
235
387
317
306
309
289
340
287
280
367
338
291
326
350
316
343
248
319
317
278
271
325
304
293
383
296
272
347
270
325
281
239
432
248
279
308
269
357
215
376
221
260
317
335
315
376
372
303
219
397
317
286
408
294
336
367
295
258
399
223
347
211
322
369
303
288
197
279
302
332
272
310
335
324
393
362
362
311
271
282
278
299
367
303
296
318
354
328
297
293
261
276
338
274
277
371
390
336
285
291
351
335
249
345
331
308
382
329
292
328
269
374
319
262
268
347
354
295
319
324
287
355
251
327
297
323
232
321
303
339
323
239
334
282
357
288
311
341
415
343
325
334
300
328
330
407
315
364
297
323
301
334
242
331
301
305
340
343
343
348
250
339
303
305
357
343
398
314
311
346
268
256
287
248
374
262
326
293
341
325
369
288
354
367
390
384
302
315
303
372
287
241
282
307
270
337
367
279
353
361
283
370
270
323
310
323
353
375
317
274
314
330
379
378
332
385
280
366
333
262
265
354
300
273
383
314
325
281
315
299
283
376
276
287
371
298
322
349
329
271
285
323
342
293
280
276
360
390
367
297
397
326
331
289
247
328
264
310
282
292
363
320
286
346
269
212
403
369
371
383
352
347
351
333
261
380
294
318
270
312
294
330
348
320
367
368
326
272
311
262
362
253
362
278
349
245
217
318
284
238
296
287
253
333
331
340
249
350
332
262
312
333
299
301
388
264
258
384
204
251
286
310
326
352
302
368
354
322
300
276
270
337
260
365
286
303
343
386
172
403
286
344
298
297
278
309
380
351
312
320
285
268
312
318
357
240
287
252
374
269
370
351
332
305
318
225
331
309
274
316
340
267
335
263
317
286
361
230
413
306
305
349
313
265
295
330
290
267
328
286
265
361
251
274
238
322
272
281
230
253
335
363
340
287
271
284
289
317
265
411
313
327
282
377
369
351
300
282
391
264
315
295
311
295
280
358
355
267
244
275
371
393
413
242
289
372
349
299
312
259
304
246
323
282
291
380
280
231
282
324
283
385
321
230
368
327
264
316
279
339
277
365
320
313
283
266
322
284
332
244
373
324
295
421
307
306
313
357
365
395
305
345
290
287
272
348
284
314
373
357
326
300
329
354
253
304
370
257
285
406
362
292
278
384
275
340
331
250
281
294
370
314
338
291
293
301
317
306
289
325
294
336
372
287
299
416
244
271
275
228
297
303
360
366
266
250
357
343
310
373
257
345
249
310
287
222
344
295
306
255
362
297
280
366
377
320
329
274
370
317
378
324
326
336
293
312
312
312
354
344
311
281
310
261
282
320
248
324
277
365
285
393
248
395
263
347
300
331
318
327
330
401
319
297
309
281
365
329
347
252
338
344
361
377
388
414
302
306
333
243
338
229
315
272
314
360
311
415
314
311
290
344
283
399
318
354
283
366
275
374
324
345
223
249
301
317
277
302
256
293
218
368
308
387
356
257
357
326
367
273
246
409
368
395
294
304
250
373
220
297
356
290
326
251
275
389
335
247
407
317
318
298
272
367
298
266
271
353
268
350
425
242
344
343
301
332
328
345
251
355
297
336
302
272
261
351
299
277
304
310
336
368
281
275
273
277
327
353
332
334
326
360
261
294
347
334
267
280
226
340
408
307
319
387
319
291
326
354
234
412
323
369
332
261
324
377
254
241
339
330
333
345
284
191
353
286
322
320
356
361
360
297
398
318
409
321
363
295
375
260
366
358
385
397
237
360
275
268
403
341
397
320
317
351
275
372
323
394
352
277
373
314
343
323
249
360
380
348
325
313
283
291
299
275
254
317
282
354
287
265
293
387
317
237
236
329
359
335
327
307
362
290
294
285
342
325
320
312
321
259
209
347
316
298
283
305
400
335
287
275
353
299
348
338
239
357
278
281
360
244
313
316
337
371
272
259
291
316
270
409
420
334
267
275
306
286
350
296
346
272
333
329
278
352
314
353
336
257
233
228
293
308
394
248
300
331
340
293
285
421
275
331
378
230
326
341
323
314
352
319
408
293
279
268
282
297
342
241
319
352
374
258
410
246
287
265
227
281
333
302
321
247
296
383
310
298
281
298
340
238
345
285
281
284
292
293
258
347
353
333
390
318
311
339
288
318
294
282
364
367
309
243
292
351
349
282
417
403
381
309
243
412
234
297
303
322
396
412
332
337
359
338
306
358
343
315
307
321
326
195
290
227
290
341
330
288
276
355
265
337
343
291
270
240
389
343
330
277
330
311
302
279
340
259
398
319
320
303
294
346
331
256
342
291
295
371
347
325
354
270
280
310
307
267
354
342
350
373
334
367
300
326
360
298
322
269
384
323
390
278
295
321
289
338
322
396
221
353
315
374
292
320
345
286
277
432
375
297
410
270
310
329
275
292
337
331
235
258
371
249
364
279
261
404
388
340
349
266
367
303
345
262
345
341
303
335
356
324
276
288
293
213
327
249
344
315
376
315
282
355
383
355
310
324
337
354
354
316
327
301
449
359
270
260
296
319
330
370
190
242
352
347
323
358
269
304
350
297
290
229
354
252
313
338
343
291
314
365
335
358
350
294
348
331
345
249
383
417
408
300
255
246
273
285
362
312
307
361
295
348
253
396
335
298
361
322
365
371
263
378
384
283
356
326
334
311
364
364
341
355
403
318
310
385
369
362
322
414
310
333
334
355
321
286
329
400
283
337
329
339
333
293
300
333
277
313
251
364
319
327
304
262
274
239
474
293
325
334
274
304
327
347
319
277
325
373
244
281
306
307
355
258
266
242
329
320
291
299
366
264
271
245
337
247
328
283
285
298
296
287
236
354
347
326
291
342
272
319
408
301
415
383
275
326
385
289
339
342
322
293
308
309
324
307
294
295
291
355
326
345
351
333
256
314
365
352
384
360
407
349
359
252
289
300
301
331
301
381
357
345
216
327
224
330
308
400
241
360
326
281
282
222
316
317
239
238
386
316
327
276
249
371
304
315
202
269
280
336
270
318
303
333
320
315
337
359
326
406
336
288
307
321
322
249
337
335
342
355
293
313
376
320
300
299
311
372
314
295
260
281
346
359
314
381
332
309
339
395
314
300
336
372
355
327
269
287
284
271
258
351
359
345
312
289
315
311
248
346
342
291
335
314
289
372
264
302
343
313
360
233
253
354
338
334
289
217
381
330
386
364
273
332
355
346
281
309
344
306
347
332
315
386
245
251
268
351
289
304
265
262
264
400
252
293
324
328
287
255
251
314
310
322
289
331
355
295
366
295
291
289
384
331
263
379
326
295
406
362
334
360
298
292
320
331
387
304
314
339
350
360
300
288
270
281
338
331
324
241
261
320
289
236
359
355
373
338
360
404
258
355
313
367
316
261
359
279
351
335
337
402
321
350
290
307
313
292
329
325
427
254
406
328
330
180
276
393
282
352
307
296
312
247
241
237
335
360
339
279
296
359
247
293
336
414
340
305
270
373
360
278
267
226
319
297
246
409
361
401
238
247
321
246
276
291
303
313
295
275
291
289
356
279
237
186
287
408
253
346
325
315
313
318
313
392
416
241
319
377
356
352
223
336
270
352
336
298
389
357
376
293
375
356
359
317
339
275
267
310
280
331
326
314
255
370
369
334
367
294
312
300
284
354
368
273
289
259
371
302
328
282
296
342
364
393
315
228
325
239
408
263
308
289
299
403
340
405
345
329
306
283
326
292
320
367
330
322
312
330
281
281
345
321
380
223
299
327
346
285
291
263
373
288
363
294
381
412
290
343
302
342
388
246
328
293
324
366
292
278
345
296
366
363
313
286
307
255
359
285
239
328
363
285
373
311
261
337
361
317
319
328
337
319
227
315
353
336
310
446
315
270
334
309
353
257
332
334
331
325
246
370
318
329
304
351
222
293
287
275
345
353
310
383
285
318
272
404
355
264
334
299
277
347
314
292
338
395
311
279
338
302
356
237
327
341
396
254
221
425
251
360
354
290
247
348
310
244
272
285
306
258
353
281
402
336
316
327
342
302
353
359
356
310
309
372
252
341
211
208
265
337
273
360
316
350
292
262
327
350
313
325
357
307
272
278
315
398
334
336
321
311
285
400
338
251
192
268
272
356
324
395
366
246
303
376
337
331
343
250
239
367
316
359
234
277
390
344
283
265
254
264
345
234
306
255
302
292
286
325
299
354
363
315
357
321
271
294
272
363
345
301
327
231
266
342
367
295
352
339
349
336
294
322
293
281
304
300
358
363
386
281
318
331
271
271
339
344
306
373
399
274
332
345
300
311
302
320
328
326
336
246
357
350
253
351
309
263
381
354
303
348
307
336
301
253
327
264
351
299
342
340
388
230
370
349
301
203
341
360
307
243
296
370
300
290
365
270
310
366
302
399
418
236
357
344
345
297
297
288
332
249
334
347
375
339
257
379
284
245
263
348
392
343
323
313
393
367
356
312
293
279
295
393
292
384
357
261
290
308
204
302
288
307
349
321
307
225
415
352
307
272
310
343
259
399
288
339
348
396
344
307
307
327
284
323
291
318
326
356
292
243
360
363
320
283
244
352
338
343
254
286
392
307
336
364
305
344
316
362
370
340
369
306
262
355
322
340
358
317
310
324
297
361
315
325
294
273
306
371
345
278
297
298
380
275
311
382
296
257
273
387
281
340
216
253
286
240
296
284
164
291
345
331
338
302
359
312
355
291
360
454
320
274
378
332
357
336
238
411
291
357
325
259
334
407
261
309
321
330
299
361
309
343
357
308
402
289
278
267
324
232
311
303
293
331
329
365
309
277
364
314
264
305
335
262
420
262
293
255
334
368
389
281
258
385
214
276
404
344
293
324
270
224
354
373
304
335
362
265
272
388
325
390
360
366
267
403
271
374
345
350
280
308
272
305
260
298
364
316
340
317
316
300
320
220
313
344
396
266
366
274
321
257
386
426
421
351
287
342
260
263
300
298
339
239
278
313
323
321
287
397
287
274
333
315
275
272
294
380
311
281
349
289
323
401
368
291
215
268
302
348
371
269
305
273
338
264
320
401
240
368
299
282
341
358
277
217
292
270
201
202
308
317
316
332
328
268
303
309
274
309
337
264
292
379
289
220
249
245
253
366
340
343
287
335
323
332
273
299
312
334
385
347
332
254
263
342
288
329
378
271
403
265
342
287
361
373
286
279
306
394
433
294
355
287
296
328
291
260
370
328
320
330
241
365
354
237
347
262
277
299
382
302
305
308
358
315
220
364
342
257
359
238
347
309
270
295
327
323
366
323
323
285
327
265
304
299
411
273
318
356
261
341
327
337
281
332
304
390
287
410
270
332
301
332
303
264
371
336
307
251
291
379
374
285
195
248
182
326
292
279
351
379
320
321
332
305
260
350
313
282
359
365
253
345
367
308
335
302
271
320
322
267
346
425
264
336
338
315
284
272
290
304
347
273
346
387
317
297
359
340
244
335
369
321
253
336
283
352
368
347
349
329
307
370
339
425
323
322
306
297
384
292
283
291
308
235
262
327
331
232
343
354
299
340
249
300
366
359
240
306
340
363
301
331
260
313
355
258
283
294
336
271
302
319
298
367
348
317
285
304
350
391
237
337
308
385
235
279
359
436
350
281
301
313
348
331
273
332
322
390
246
352
265
345
298
342
305
324
345
366
236
319
373
348
226
353
333
338
310
321
350
340
268
410
348
310
302
425
303
341
335
321
386
220
233
334
324
330
319
222
343
234
321
280
259
273
439
276
275
305
282
323
289
374
292
329
295
306
337
315
332
374
378
231
375
365
314
345
320
245
300
305
236
349
385
301
322
277
295
255
394
373
286
371
313
250
265
352
400
335
364
243
314
361
320
364
350
339
358
246
357
320
401
346
308
303
252
331
364
346
370
343
315
285
309
360
289
334
384
287
334
338
377
293
267
301
272
273
313
311
366
325
345
312
352
338
308
324
303
335
273
293
319
316
313
237
314
404
302
336
327
276
280
378
411
315
323
290
327
355
345
355
297
256
339
263
285
322
341
241
428
320
248
343
338
323
340
285
317
266
286
322
383
282
278
203
398
235
400
301
337
249
336
331
319
318
412
323
286
265
297
322
382
298
319
310
354
297
276
349
215
283
344
347
311
365
263
283
289
332
372
343
268
347
272
304
309
293
277
360
343
347
319
389
397
274
280
311
341
268
318
288
382
382
266
327
266
323
401
267
292
288
275
335
300
329
361
373
331
362
257
267
345
377
318
336
303
319
343
365
313
241
274
389
319
252
304
343
291
326
332
336
268
316
327
291
387
275
189
269
295
346
380
278
260
338
330
325
254
344
303
290
362
406
295
280
363
358
375
276
331
282
268
399
362
262
240
346
344
283
319
339
231
339
313
352
370
275
316
365
303
340
417
291
334
261
305
334
270
355
312
301
293
211
270
287
267
270
307
306
331
257
400
361
311
259
299
227
318
332
355
245
327
267
324
308
280
316
374
267
272
312
270
305
336
285
231
376
259
310
281
282
222
335
345
361
341
276
318
263
342
368
326
377
284
312
383
343
361
322
343
241
296
329
295
331
317
350
313
312
285
275
326
355
283
321
319
352
302
302
307
334
315
362
341
266
337
323
280
388
396
319
257
269
342
280
302
313
365
405
324
319
227
363
311
278
305
268
373
259
316
381
286
326
342
319
246
232
287
278
315
240
306
242
325
364
184
258
388
274
322
398
271
315
258
251
322
305
386
318
276
341
287
409
307
367
305
295
248
327
282
322
370
374
300
334
296
348
308
354
375
222
243
371
346
288
359
271
346
339
347
353
258
290
377
314
324
303
232
386
316
361
370
320
317
305
384
305
393
323
331
281
281
419
309
307
380
318
324
375
260
300
335
290
290
306
286
397
230
316
276
309
269
334
244
302
252
312
314
314
381
326
392
309
333
290
382
326
319
279
311
291
221
277
275
290
278
305
295
317
339
352
240
342
318
386
295
279
289
304
295
328
273
284
319
336
287
352
329
367
310
278
341
393
331
307
260
322
304
318
307
312
339
277
265
331
297
301
309
311
298
358
229
281
246
237
404
306
313
317
278
203
310
223
320
384
345
412
293
356
333
322
402
274
345
309
344
331
252
375
282
244
363
217
222
281
301
341
316
335
272
289
334
288
333
328
326
280
357
315
313
308
296
250
376
379
283
345
356
292
424
338
279
302
318
235
312
365
299
299
336
307
313
262
376
308
263
280
291
341
341
337
347
316
238
218
335
341
282
244
334
283
276
351
281
320
355
344
322
310
386
264
299
290
312
292
324
309
351
315
265
295
314
300
336
343
303
339
331
217
299
339
370
320
329
375
343
392
338
268
326
325
315
330
270
293
299
294
331
217
386
287
368
333
274
342
313
348
363
347
222
306
344
312
348
353
294
362
318
316
297
306
336
255
214
343
308
316
278
279
322
369
245
366
393
264
363
368
300
260
265
249
272
337
321
311
394
323
334
355
323
263
319
293
284
352
398
348
301
332
344
309
321
300
339
370
378
261
348
310
318
266
268
320
247
310
358
399
323
325
281
324
271
245
395
314
302
368
410
370
289
302
370
290
316
262
310
338
309
313
233
346
337
330
340
320
238
357
325
385
374
276
416
328
325
313
348
381
311
344
245
374
360
357
263
290
330
341
301
389
364
339
353
371
337
358
276
232
262
254
299
273
281
387
297
330
418
357
287
321
319
274
287
315
326
329
346
322
337
357
377
316
362
313
349
419
326
390
279
299
272
281
218
305
365
294
283
265
371
302
362
272
273
317
344
279
376
278
357
280
339
286
363
334
318
354
350
347
320
335
269
296
247
305
319
307
304
403
353
286
369
301
296
311
204
364
367
343
430
286
277
285
374
254
325
298
365
381
308
273
350
319
354
314
401
322
301
323
275
386
261
377
388
316
345
315
249
297
252
333
358
273
365
338
351
282
368
298
299
380
309
340
338
233
315
360
274
336
355
395
264
298
272
312
361
337
348
376
348
303
275
282
256
389
322
222
335
327
392
263
308
321
259
324
304
350
312
271
299
309
363
315
232
277
277
291
367
295
324
277
232
315
305
369
332
300
413
319
305
380
315
325
293
328
267
255
316
289
330
324
361
219
381
386
262
311
281
398
361
305
302
287
220
286
310
255
364
366
348
324
359
284
391
266
373
279
347
307
313
255
266
339
231
314
211
326
340
335
262
305
349
396
309
373
267
369
351
294
321
392
348
305
329
336
371
367
282
310
321
315
272
277
326
286
326
327
378
245
318
328
380
279
338
258
239
332
243
380
343
242
262
330
341
357
227
405
299
309
324
366
353
314
317
374
395
401
294
294
367
283
346
358
291
371
400
229
319
319
329
317
346
218
250
349
358
320
262
296
277
298
289
244
285
383
345
329
323
313
362
309
365
348
316
308
286
341
368
313
347
315
271
285
310
360
314
210
266
303
348
312
348
316
384
349
214
346
331
340
327
275
353
237
264
377
267
329
380
314
329
332
248
344
285
323
301
315
319
291
327
388
402
264
293
252
311
304
364
340
351
341
286
286
325
322
288
252
287
278
255
309
310
331
316
325
226
334
283
321
330
348
292
300
289
341
313
239
301
283
330
331
381
303
288
352
340
288
317
303
355
401
287
400
352
434
304
320
369
287
368
286
360
362
337
266
424
197
335
363
291
335
325
306
255
363
291
329
273
363
290
282
362
308
196
286
315
353
335
326
270
278
351
283
359
315
298
357
328
330
369
384
282
241
253
247
285
306
392
291
212
343
308
227
326
351
296
386
347
270
364
303
242
307
314
187
291
390
362
327
288
384
289
371
353
271
327
363
322
325
363
321
249
339
289
316
370
299
282
294
241
280
307
312
374
322
324
361
323
224
377
282
340
290
261
294
325
317
297
325
278
273
354
344
295
318
310
264
363
333
266
332
355
226
350
340
327
301
389
324
261
327
268
323
309
312
258
344
225
325
308
292
366
229
316
280
283
360
340
390
338
388
239
310
296
312
272
388
306
316
356
287
303
324
337
331
334
240
267
318
361
411
228
384
256
247
312
308
267
252
346
368
383
300
285
322
298
269
307
294
313
294
253
330
342
326
316
324
344
334
212
252
237
318
461
312
214
327
297
300
241
310
274
356
248
277
310
404
358
425
280
246
318
297
209
263
308
308
285
352
277
377
318
346
278
373
316
342
321
314
332
310
300
305
362
330
246
300
366
278
259
346
237
301
373
282
306
305
362
375
276
331
332
331
283
306
386
339
361
366
334
287
372
314
298
357
260
422
335
253
223
329
313
298
291
345
184
289
294
298
362
301
256
309
333
339
326
322
322
260
309
257
328
334
242
292
381
333
273
361
316
313
306
251
307
379
231
253
338
216
311
404
362
347
378
252
271
344
382
306
361
334
258
267
359
288
336
350
316
310
357
302
258
286
227
255
196
356
240
349
290
323
313
343
358
275
356
345
316
323
299
297
262
317
275
302
327
281
333
309
333
394
320
217
281
263
346
371
376
297
312
233
345
262
283
321
379
388
326
294
347
353
311
205
222
338
291
290
260
440
321
330
390
439
312
272
314
312
373
342
286
263
246
268
262
357
290
382
309
382
325
356
395
356
301
215
209
309
276
354
301
279
341
287
332
365
302
303
340
350
360
317
382
337
326
309
384
300
325
312
307
320
348
331
278
307
296
243
340
373
449
331
259
291
326
305
357
260
291
299
310
230
326
331
319
362
328
321
313
320
332
339
327
268
246
335
337
309
264
283
311
374
343
268
211
285
344
350
295
248
308
355
289
283
285
343
378
277
292
351
312
249
307
383
338
294
275
290
298
266
417
367
291
406
280
297
353
323
248
304
220
317
353
300
342
275
342
363
344
332
279
285
276
357
207
254
287
363
335
351
330
279
257
285
289
317
316
292
305
316
306
262
299
324
352
289
360
369
346
388
292
284
317
340
292
339
337
326
306
357
277
343
355
292
347
179
327
375
317
358
346
329
298
323
285
352
331
312
339
294
381
242
283
300
334
283
297
316
352
381
274
298
281
267
283
358
247
281
310
233
359
358
370
344
311
306
398
384
379
389
345
294
311
282
322
391
315
285
295
317
379
314
310
348
300
333
296
360
316
381
248
297
393
376
334
271
364
274
351
302
415
324
292
295
299
290
315
326
360
335
305
360
367
259
375
338
325
340
318
307
267
421
375
288
380
384
319
356
310
394
339
364
227
302
297
339
327
309
285
327
217
316
294
345
329
334
297
335
380
248
317
333
314
223
350
294
289
360
400
338
362
342
299
347
243
342
288
256
306
336
330
298
372
381
330
352
364
341
345
341
340
287
265
287
364
196
283
235
225
332
282
289
301
359
319
316
332
363
395
304
313
359
422
398
397
275
243
312
297
327
312
356
343
306
321
336
317
354
353
322
288
301
298
330
298
321
336
233
359
327
269
335
297
331
301
339
395
353
257
353
302
349
365
381
310
331
305
271
317
357
324
267
307
282
323
298
307
295
327
363
273
296
315
324
419
350
370
287
292
335
315
348
390
365
272
404
280
347
266
273
231
337
291
313
300
293
349
299
353
356
359
328
371
263
328
321
235
235
301
297
299
358
396
250
329
303
325
323
272
358
298
347
296
299
375
221
278
317
394
329
321
207
272
290
297
343
341
327
323
301
364
400
283
330
248
318
270
316
350
287
292
270
342
347
263
436
331
385
319
332
251
345
337
355
324
353
294
215
274
313
320
319
284
283
365
346
297
322
338
388
284
266
348
305
307
359
328
333
289
252
315
287
225
260
337
283
380
130
303
445
328
332
285
215
313
285
303
314
237
252
333
302
466
321
327
288
319
430
289
323
359
216
290
343
367
321
361
274
296
325
299
342
363
302
329
233
278
382
335
295
287
325
259
389
318
255
243
368
300
374
356
367
256
351
322
324
346
277
351
241
241
339
312
314
343
267
344
306
341
330
313
250
233
337
296
320
309
338
254
196
266
295
357
450
340
270
352
301
284
330
327
415
363
253
326
328
289
301
288
348
371
226
267
370
350
403
281
358
306
392
286
336
222
320
376
186
245
379
313
396
355
264
319
368
344
316
300
225
225
310
323
269
347
339
242
261
283
311
262
350
360
272
268
275
283
245
291
342
315
256
268
255
262
344
287
250
268
260
266
390
225
344
340
355
297
330
335
331
306
303
319
274
296
336
275
344
369
322
342
245
292
262
363
310
286
340
249
307
283
363
242
274
244
266
293
353
305
378
294
252
312
296
301
287
363
339
270
317
346
375
299
344
293
316
350
367
306
442
303
327
277
337
203
408
356
245
338
376
377
312
323
296
286
378
403
318
306
264
360
286
369
375
336
324
355
331
259
260
304
320
365
378
338
365
304
354
279
332
277
306
329
326
337
333
272
201
253
353
409
317
325
353
297
367
308
323
311
301
391
272
265
272
320
359
276
320
343
306
292
234
228
235
282
376
294
302
305
310
350
316
277
339
350
390
376
270
341
274
320
296
271
277
350
239
289
334
268
287
235
289
238
368
362
286
389
331
284
220
252
271
329
374
355
288
297
356
242
256
312
330
433
313
346
335
297
357
314
320
376
258
302
376
235
331
334
331
346
375
307
284
361
360
365
335
281
328
260
326
254
296
431
332
293
241
335
254
330
298
290
411
300
336
360
253
304
272
338
206
275
292
363
360
248
346
320
252
324
290
242
238
292
307
300
404
288
362
341
269
352
343
370
287
349
299
308
354
321
312
280
295
288
353
334
351
325
273
268
232
362
293
305
315
226
318
382
243
299
343
334
286
423
328
247
302
318
301
360
263
360
310
406
256
337
304
360
394
311
335
307
229
301
317
300
245
356
270
329
273
381
318
328
384
358
357
344
336
294
328
284
368
312
381
323
313
328
285
276
277
274
365
327
255
258
339
316
336
325
400
274
326
300
332
357
329
209
330
306
319
294
302
255
243
338
301
320
342
336
193
292
253
289
343
257
325
368
293
316
385
350
351
344
372
337
234
261
394
241
272
350
266
272
287
421
416
367
331
307
312
312
262
373
344
346
372
279
402
301
296
287
264
340
352
290
282
247
284
354
402
294
313
322
307
323
339
285
324
271
350
368
347
345
259
325
344
264
323
232
326
249
310
314
285
265
292
285
294
284
317
277
274
264
256
261
353
348
293
310
328
363
362
270
280
306
316
316
348
259
264
344
392
264
386
324
338
370
291
326
335
433
322
304
386
274
361
350
334
342
382
332
304
281
349
407
317
338
304
320
356
356
358
366
237
309
317
300
312
326
321
312
348
298
331
306
265
366
258
286
287
312
317
340
338
336
300
361
291
358
333
275
296
335
350
316
366
238
293
330
253
324
307
318
282
209
343
329
308
362
312
333
392
279
348
250
256
327
376
342
287
236
196
314
315
370
244
308
339
277
352
331
356
388
254
292
307
311
391
280
259
336
347
405
309
311
345
339
348
264
275
326
291
302
323
302
304
297
309
288
305
347
453
303
340
292
322
307
221
362
299
336
434
304
352
322
385
316
286
342
331
305
298
297
324
359
349
247
362
337
281
364
345
265
267
291
312
328
378
350
328
209
374
385
399
308
280
267
291
298
357
296
350
333
376
335
325
350
303
232
317
325
384
297
373
288
303
321
306
308
386
301
279
314
270
306
278
321
380
383
312
334
396
236
368
336
339
382
313
341
288
422
314
344
308
321
269
362
269
315
254
176
342
182
388
327
341
279
354
142
261
315
337
291
273
309
364
294
334
267
308
370
283
322
324
240
372
274
225
333
309
304
415
346
340
326
374
285
284
356
364
383
358
352
329
294
291
274
270
282
224
282
268
270
285
322
317
319
258
324
392
332
225
309
302
251
368
317
323
377
273
323
314
220
266
241
284
323
361
298
378
255
350
344
377
363
257
210
279
341
294
342
328
284
376
329
331
295
296
285
333
269
291
320
317
344
325
350
330
300
289
277
313
376
265
356
347
333
266
361
365
336
378
309
350
306
265
215
321
240
331
348
317
341
367
221
323
298
343
338
414
343
312
298
231
319
327
328
396
280
350
304
328
320
321
202
337
276
296
285
251
280
354
331
320
184
310
324
390
301
401
324
323
344
354
305
290
382
302
266
230
357
341
322
315
290
288
316
315
324
264
264
298
314
254
354
360
426
318
353
338
314
216
293
429
320
329
274
198
272
240
321
413
249
275
270
224
356
330
286
359
291
311
362
318
329
293
280
245
401
238
296
281
402
270
345
329
330
315
226
307
293
340
314
463
428
317
373
303
259
224
281
274
351
280
224
261
349
301
307
235
267
411
344
331
310
333
346
322
331
284
305
288
266
310
258
269
295
312
228
337
299
293
312
231
291
347
327
351
229
341
322
357
406
251
353
302
271
355
352
348
239
344
239
243
254
335
342
321
286
253
304
363
295
335
388
346
242
273
402
359
267
323
361
316
318
352
395
367
370
338
390
259
332
369
344
279
266
372
303
311
338
303
257
337
352
328
349
308
293
404
306
251
282
361
319
291
282
325
323
302
330
294
333
299
335
396
386
335
303
240
246
364
363
328
306
356
325
358
291
290
272
381
296
326
265
329
261
372
241
237
239
362
350
289
259
279
386
330
289
368
266
286
327
320
304
276
306
283
339
251
275
414
361
233
360
294
355
339
369
230
348
301
377
289
286
311
326
280
335
332
275
254
316
265
334
220
294
244
277
365
332
258
325
303
389
263
328
264
362
335
267
364
379
324
256
277
371
316
267
215
324
280
406
338
317
345
331
327
343
323
356
314
325
297
350
307
335
315
202
377
324
271
282
384
328
344
339
274
385
268
306
304
383
294
309
339
279
320
342
399
310
333
314
368
400
343
336
449
318
327
294
341
304
353
318
353
303
338
245
301
313
319
365
311
324
318
404
271
330
341
290
377
249
310
254
212
328
346
256
388
341
363
267
330
310
297
363
201
340
346
375
361
330
321
288
318
305
268
325
304
356
381
292
309
264
267
375
346
294
318
240
292
315
287
299
267
383
303
307
333
279
341
309
334
374
366
236
312
338
382
209
357
373
251
311
344
344
399
356
306
347
367
245
305
380
237
355
313
290
343
266
361
396
360
250
368
346
349
334
327
353
268
352
320
316
298
249
332
269
275
350
314
338
272
355
351
305
399
327
351
352
313
324
354
334
255
320
353
313
258
352
285
320
264
268
258
312
315
416
276
333
365
183
272
234
386
348
291
288
318
312
344
347
290
367
241
259
255
286
357
187
295
325
295
372
261
306
343
300
328
325
224
287
306
286
310
336
279
349
400
211
325
301
307
373
236
354
296
324
417
281
419
312
279
330
311
345
318
386
351
255
304
363
379
233
233
273
327
273
346
311
356
270
330
301
342
330
351
317
345
335
281
195
393
276
272
280
314
215
366
342
375
366
336
310
351
336
314
299
344
327
290
291
289
365
299
310
293
341
318
310
334
272
335
364
214
356
298
209
340
298
356
247
363
312
274
333
313
310
402
362
313
246
396
316
340
325
408
311
327
376
303
225
349
345
253
335
276
305
319
253
361
292
334
300
283
316
314
289
283
320
323
381
279
374
359
276
230
301
305
346
328
266
259
294
400
248
341
349
344
327
268
292
232
308
367
289
391
247
359
379
292
320
286
310
283
265
317
315
258
266
323
327
356
343
332
224
305
229
337
365
320
374
297
277
293
256
409
347
403
232
363
244
310
327
352
311
335
290
344
316
318
364
334
369
285
290
338
286
328
412
320
374
341
353
354
250
349
238
372
390
391
355
325
412
356
300
312
317
301
286
436
349
308
323
325
304
258
295
252
325
386
297
284
279
405
386
279
351
372
371
270
347
311
399
406
327
367
357
306
312
309
322
288
395
314
417
330
316
316
297
313
373
222
362
229
264
284
281
330
264
325
343
409
257
359
363
319
307
290
372
258
360
315
259
317
298
296
268
319
308
371
312
252
241
242
320
298
256
394
292
316
304
286
282
364
351
274
388
320
272
264
292
325
278
231
355
258
272
324
276
360
388
332
240
291
351
380
335
400
318
373
360
336
276
248
278
330
271
302
314
335
282
359
290
367
291
348
282
343
408
298
390
362
300
318
277
327
323
299
358
338
354
389
446
271
371
287
356
323
323
380
332
301
304
292
335
240
342
327
377
273
298
368
343
282
311
360
353
339
262
328
294
250
249
378
344
342
291
329
326
262
322
298
246
306
412
309
307
388
287
339
288
300
314
297
225
299
310
411
345
336
277
257
371
237
363
398
327
325
345
274
413
268
386
317
247
350
274
299
296
317
361
284
352
303
338
380
372
358
278
365
319
275
296
349
416
302
251
299
275
315
353
230
292
351
233
413
311
320
332
280
216
396
330
339
324
394
275
310
276
306
300
321
372
334
341
321
343
329
397
267
322
371
309
307
328
232
366
339
187
316
391
340
291
363
231
236
392
280
288
408
350
365
370
315
359
342
289
301
319
350
318
308
326
296
298
296
215
344
205
300
328
281
365
372
344
204
303
338
353
378
306
361
290
319
250
316
350
343
287
295
392
285
307
289
305
424
292
302
310
288
286
350
371
295
386
317
211
257
311
268
396
291
339
282
269
253
247
321
309
235
335
171
250
257
316
366
315
275
314
318
272
314
343
300
348
316
307
341
402
271
324
316
314
314
269
330
301
299
322
314
310
330
324
350
247
389
198
327
271
373
303
251
332
320
235
316
327
332
317
235
332
293
259
212
313
348
225
326
402
321
341
315
300
363
282
249
370
220
401
332
274
331
333
289
321
345
263
362
289
341
346
415
279
386
351
329
355
328
350
304
279
283
313
271
364
381
345
262
306
259
264
338
344
328
346
339
307
307
364
251
252
308
321
239
333
340
292
250
272
267
294
275
357
248
322
280
358
350
331
297
333
318
236
322
331
326
281
325
315
352
319
219
327
364
273
285
366
320
330
283
329
301
328
331
245
324
263
307
345
298
300
305
320
317
278
353
320
294
318
240
262
289
368
317
339
283
263
244
285
403
279
316
391
363
301
330
349
370
359
304
285
375
288
279
334
233
339
365
401
272
359
347
274
411
282
361
302
238
269
356
303
261
307
337
241
260
290
387
271
405
309
307
362
340
300
265
388
344
302
334
329
353
274
296
344
413
334
307
299
238
389
310
359
316
306
347
261
232
365
354
297
321
369
347
278
325
305
354
305
300
286
303
312
319
331
294
264
362
387
327
216
357
337
240
295
341
295
256
336
365
356
370
342
259
255
321
205
404
357
299
351
320
335
298
287
360
340
309
370
329
301
305
265
303
274
405
261
286
325
293
270
327
306
328
319
370
275
325
367
255
335
292
288
233
387
290
280
273
337
345
360
320
307
379
320
381
313
285
248
242
372
375
286
340
345
200
241
316
327
306
340
264
318
335
326
329
261
295
376
334
366
339
328
368
352
257
287
371
343
259
258
363
261
369
286
384
307
353
350
339
319
309
416
300
275
390
350
240
350
312
309
354
317
317
361
355
367
322
300
368
230
352
188
346
260
327
274
279
309
344
312
378
324
319
270
288
417
395
314
328
317
304
224
318
251
323
405
369
298
297
359
308
362
302
337
317
391
373
319
365
266
226
310
331
270
273
339
358
299
300
249
327
271
348
238
314
279
233
253
299
312
347
285
211
302
257
335
357
330
257
431
316
345
292
250
296
364
305
370
295
281
293
360
330
295
320
398
294
307
346
223
270
286
270
308
334
322
418
352
365
350
387
316
364
346
308
285
346
347
264
303
375
259
281
365
275
312
326
297
260
343
355
321
266
228
299
250
274
228
340
302
367
229
274
271
347
309
327
361
331
309
363
283
283
288
433
304
371
298
281
244
321
339
286
401
343
400
246
267
313
358
335
327
296
261
245
235
314
340
253
304
308
349
340
339
294
367
385
300
325
295
263
276
296
341
269
360
325
370
293
274
279
303
289
344
366
352
310
258
371
332
256
304
343
404
321
316
402
363
220
306
290
225
310
404
273
315
295
270
335
333
219
274
239
265
262
401
320
328
389
347
272
262
330
256
309
327
374
366
312
329
177
322
341
273
268
354
407
286
360
377
303
308
374
222
280
345
368
338
340
322
332
335
398
201
330
319
286
238
293
270
312
308
284
368
436
220
368
283
328
326
283
293
323
406
366
326
320
308
296
354
325
247
265
338
303
347
351
319
254
285
311
247
341
300
308
233
340
272
325
344
257
375
292
332
369
383
300
297
239
239
288
295
350
317
271
326
279
329
272
349
392
307
395
347
300
312
319
292
315
251
356
368
285
307
224
334
301
326
276
313
261
371
307
228
306
354
369
319
353
305
310
235
392
332
305
371
332
317
346
298
333
313
407
292
387
294
305
328
351
316
252
289
300
302
342
301
346
271
321
273
348
227
290
300
236
368
301
387
326
341
319
244
309
338
324
314
314
326
317
270
309
267
365
368
268
348
268
339
246
355
284
377
337
332
355
328
277
331
217
261
310
278
267
373
252
334
327
344
323
334
354
308
310
257
314
341
290
323
277
334
286
242
303
386
215
335
279
313
345
364
266
328
351
307
230
245
336
324
330
256
321
306
364
323
336
310
242
357
343
230
367
331
174
243
303
334
343
299
323
302
345
279
205
285
267
280
317
330
342
235
328
287
358
402
418
369
318
311
321
289
250
306
231
289
341
251
374
285
324
332
361
363
303
263
292
243
313
377
329
264
369
282
344
330
329
358
317
308
383
328
313
318
353
370
293
321
228
261
315
325
355
332
244
322
295
340
306
282
361
290
282
299
319
329
396
299
252
281
222
300
336
282
341
374
242
267
311
243
387
314
320
295
297
208
328
377
236
270
316
360
339
364
352
305
383
318
364
321
253
237
309
386
227
262
269
239
257
391
313
286
314
382
291
309
294
315
370
358
290
264
261
323
386
327
271
343
301
332
250
294
304
341
253
309
308
291
273
326
316
297
312
359
351
321
267
289
302
331
264
368
374
275
295
278
275
279
212
276
250
241
286
298
279
341
345
285
333
271
355
293
311
247
332
270
254
359
294
271
286
329
388
367
274
371
251
309
296
398
320
386
329
297
280
359
223
314
235
219
336
379
350
271
248
295
281
342
344
386
259
218
404
248
310
262
337
328
257
284
303
367
344
323
251
298
361
302
303
378
309
317
323
320
452
314
324
346
279
283
346
251
274
325
297
315
312
377
322
342
309
386
307
339
280
284
318
373
371
337
352
317
282
353
260
311
319
274
308
282
305
267
284
312
279
288
291
330
344
355
375
308
213
282
287
334
342
305
390
281
379
256
333
277
346
323
332
287
382
348
330
336
345
270
358
330
315
385
319
353
308
345
352
296
290
302
307
318
378
316
315
310
319
364
229
300
298
301
248
314
300
304
304
311
380
391
350
199
278
351
363
341
265
319
374
328
258
322
320
362
328
378
319
384
298
309
316
270
259
269
331
245
233
374
270
387
296
345
274
301
314
319
298
330
197
357
314
300
274
385
358
327
352
296
309
307
264
282
355
254
340
398
396
287
316
294
245
278
369
395
334
378
345
323
262
206
312
300
317
276
393
307
275
315
324
314
299
310
273
316
333
302
361
318
273
293
274
345
283
333
275
325
299
386
242
347
339
353
295
370
272
389
328
307
238
352
336
318
385
345
316
357
303
349
360
286
336
296
342
394
297
326
343
291
374
350
378
265
257
406
333
295
342
432
302
371
287
265
319
256
293
318
305
347
373
376
311
322
282
288
329
329
311
217
315
370
281
315
336
373
325
323
260
311
337
287
315
298
327
353
275
290
311
308
380
312
356
335
363
279
316
257
325
307
250
341
405
391
321
374
256
343
334
285
293
281
349
365
335
326
338
279
287
369
276
332
351
305
325
286
327
291
304
345
291
264
287
389
243
266
341
327
262
278
377
302
289
401
345
252
267
406
334
294
335
357
251
253
223
314
286
367
303
262
280
338
304
426
284
291
364
346
298
333
272
330
326
344
402
318
302
343
391
319
266
245
295
350
294
230
323
342
309
319
304
256
290
316
287
371
336
327
302
363
327
378
281
361
342
250
335
290
371
274
291
392
332
317
263
256
310
410
293
268
269
376
308
369
249
261
333
264
315
328
196
344
340
250
323
229
282
277
342
356
287
305
305
269
332
360
355
321
252
371
400
289
348
332
223
233
297
317
221
318
320
370
331
325
386
368
291
366
374
307
341
295
376
308
274
263
388
372
235
422
298
276
292
334
327
387
281
303
287
279
309
389
308
427
330
314
314
337
317
351
286
260
268
355
292
320
374
346
259
235
278
370
335
305
243
332
314
293
246
266
297
325
317
404
260
344
295
337
313
295
267
358
314
338
308
349
303
294
283
316
288
319
343
255
201
224
344
319
325
277
261
342
318
269
316
317
247
333
338
302
396
345
367
329
278
231
291
367
304
295
276
239
280
345
365
407
279
339
410
385
315
319
409
294
356
317
308
320
355
307
395
364
367
325
261
276
330
277
279
353
385
280
272
265
258
352
363
344
334
352
315
184
291
417
316
345
321
222
298
295
331
340
349
372
353
357
387
328
300
185
268
426
343
310
373
270
336
293
281
303
384
351
322
322
305
306
282
366
417
236
350
249
343
325
329
319
337
261
258
291
286
272
297
248
257
293
328
294
352
363
293
306
352
347
402
299
363
293
350
258
264
306
319
236
272
387
264
299
400
333
370
308
304
316
299
348
320
277
263
347
228
258
322
319
295
282
359
304
370
349
443
286
287
270
306
251
344
253
337
352
336
268
291
341
317
410
326
302
307
398
268
309
350
314
238
331
274
297
266
334
255
378
360
341
255
315
377
263
226
258
315
329
301
260
295
328
317
346
290
346
285
315
336
317
293
337
328
294
363
301
382
359
318
302
383
364
366
324
261
318
394
305
327
276
383
354
308
320
327
268
300
433
308
310
326
308
338
288
267
257
225
269
346
284
340
381
316
263
307
255
313
378
393
313
384
337
281
271
289
277
376
331
341
285
301
267
270
318
272
293
257
259
353
367
331
368
373
316
321
368
294
360
354
276
310
301
333
325
345
302
268
395
275
343
333
337
349
331
281
303
336
334
354
200
287
313
356
249
302
276
363
390
320
343
409
274
288
383
292
287
314
263
316
341
225
398
314
355
376
413
321
362
323
352
314
391
312
378
290
256
290
353
311
265
411
341
266
319
377
367
329
303
398
179
348
393
240
369
221
262
263
323
361
299
314
255
259
379
306
214
305
301
203
324
235
265
313
296
399
274
353
270
367
324
298
342
349
310
431
322
266
275
278
294
324
151
311
365
342
334
347
291
350
246
400
300
278
288
312
300
338
308
355
366
313
326
311
332
268
303
355
294
361
242
257
287
274
386
391
256
249
264
321
339
327
347
287
319
238
338
342
258
270
335
401
402
315
310
360
294
180
281
286
315
316
297
329
385
325
328
340
294
309
337
302
384
310
360
344
370
302
217
318
354
326
342
318
275
330
385
283
325
224
286
292
232
353
291
315
314
361
356
363
314
319
286
364
342
367
263
188
351
394
239
220
318
277
208
293
311
302
390
303
341
309
303
329
286
359
364
335
380
318
292
244
303
286
337
267
354
295
341
299
275
322
314
299
302
342
337
249
287
284
402
292
310
240
280
303
342
355
278
298
390
270
335
339
381
277
228
323
355
267
294
297
271
287
358
285
337
300
337
335
313
360
299
303
330
228
312
369
270
319
344
234
291
363
406
288
355
355
289
378
320
358
312
246
347
320
298
296
256
353
318
296
342
314
244
232
302
340
308
338
267
344
213
333
334
221
331
321
274
336
323
408
349
275
262
333
340
309
305
422
317
300
326
354
353
320
330
321
332
263
349
371
386
310
351
210
260
228
300
352
320
355
287
347
285
248
317
359
395
357
321
343
361
433
325
300
383
327
294
338
392
355
291
342
316
336
286
434
297
357
302
293
377
271
292
379
311
343
291
338
350
278
347
325
324
252
317
231
274
326
417
298
378
264
349
367
245
262
349
321
267
305
324
358
294
324
289
333
302
284
301
304
336
309
294
304
350
402
334
343
313
305
297
275
289
252
361
347
373
307
345
341
309
216
291
372
421
343
422
353
362
289
301
297
328
240
304
309
264
285
296
368
319
343
339
235
350
305
375
335
258
274
344
286
320
320
337
307
403
300
254
338
344
421
318
286
277
286
291
351
253
290
348
285
272
295
358
308
372
323
373
258
273
369
375
297
350
306
267
340
336
263
244
358
281
338
304
338
344
280
215
366
298
272
374
351
330
332
263
289
283
269
226
327
351
304
362
345
306
323
236
374
370
281
274
404
347
355
276
409
345
286
269
330
291
376
282
216
412
300
296
353
342
361
327
285
263
348
315
321
341
379
345
416
332
372
370
280
374
356
371
206
302
307
272
317
315
301
215
331
357
310
384
428
373
313
313
283
293
354
335
329
294
266
294
353
306
328
248
342
303
290
308
302
302
398
255
329
395
413
372
326
330
338
370
292
410
297
391
270
331
337
296
356
338
207
285
373
357
313
295
286
183
293
330
368
241
302
352
178
324
328
356
360
319
371
300
303
230
342
354
255
333
336
354
292
214
367
341
346
340
295
314
372
312
197
285
328
243
266
344
320
348
293
262
304
268
365
368
267
344
316
215
393
261
339
385
321
253
297
316
284
362
391
293
320
298
361
354
293
263
352
349
342
225
377
380
284
405
309
376
334
346
317
307
295
374
254
284
248
311
316
358
362
203
315
297
329
342
355
292
275
273
289
269
358
331
268
374
279
290
342
262
368
381
333
252
315
278
293
302
322
293
402
394
298
320
423
315
335
297
378
215
314
383
334
308
352
338
342
324
270
313
281
359
256
255
340
283
378
305
311
312
240
291
312
377
332
369
338
396
344
342
315
350
303
369
314
310
270
353
288
238
345
338
321
288
332
267
344
335
311
392
304
317
261
319
293
306
347
281
310
373
281
341
315
374
353
286
252
344
333
351
330
381
321
377
297
306
263
305
310
344
246
312
302
355
313
359
412
400
381
324
279
377
307
285
353
238
251
345
363
356
337
335
359
372
229
331
373
384
294
251
352
367
332
311
261
291
354
350
338
334
223
340
375
262
295
347
285
351
315
338
307
233
336
313
253
306
341
376
324
349
381
296
383
244
291
305
356
324
326
338
338
264
405
355
322
253
271
269
277
349
282
263
280
304
213
248
365
172
320
304
257
346
361
284
278
297
342
364
361
312
300
330
387
316
281
296
267
321
272
351
351
295
358
283
209
333
278
251
332
273
327
220
325
343
291
258
342
293
360
332
259
216
412
405
265
224
322
257
369
377
350
227
290
337
319
317
305
372
389
418
330
311
365
363
354
326
337
389
224
317
310
334
246
260
330
344
278
240
323
361
305
229
329
335
418
318
289
312
293
248
355
368
398
380
272
335
336
347
263
354
317
358
397
345
302
297
329
321
280
378
303
250
298
286
313
304
335
250
308
379
336
363
334
350
203
335
291
254
209
307
316
399
329
238
275
313
293
271
327
295
334
313
298
342
309
337
317
308
382
274
265
324
331
339
375
298
330
327
323
360
379
334
201
335
248
292
396
308
362
304
312
317
260
384
308
302
256
247
293
294
320
327
354
334
394
367
391
308
360
294
229
357
297
291
276
317
255
286
261
331
325
341
322
251
367
311
380
347
293
346
303
289
336
304
247
359
322
277
344
291
289
340
355
242
342
319
299
341
181
327
325
354
285
360
358
284
415
329
396
262
332
267
291
301
292
260
322
358
396
317
317
297
294
271
320
395
302
311
303
306
252
248
404
260
276
344
282
313
299
339
294
292
262
331
334
291
234
303
357
337
300
314
250
280
335
348
299
152
251
331
299
285
300
291
397
308
286
303
288
359
347
290
273
279
307
342
250
285
326
318
317
416
370
338
232
372
278
282
242
321
337
273
297
425
281
245
290
361
368
356
229
323
321
346
296
291
274
319
384
284
353
335
222
312
309
320
319
295
238
328
316
322
299
297
313
339
365
337
272
272
337
243
305
208
255
281
269
208
238
280
248
343
307
302
364
344
300
371
304
362
238
267
262
376
381
287
303
283
278
303
260
323
316
313
341
232
416
321
297
318
306
330
283
321
309
294
362
270
327
387
409
313
404
361
380
265
331
321
274
224
326
354
252
389
314
355
264
322
210
312
377
332
241
373
269
271
356
273
316
317
306
249
344
331
299
227
325
249
229
314
342
287
319
341
329
316
356
280
362
292
295
277
340
291
267
251
327
301
353
374
325
331
370
273
246
348
279
323
308
299
311
296
359
389
338
233
317
321
324
357
251
275
388
307
352
322
241
350
271
254
286
362
408
397
290
316
295
346
320
223
360
395
330
186
339
281
339
243
262
330
300
224
252
264
310
288
279
274
333
251
292
360
357
317
251
273
356
319
316
391
295
324
248
330
249
405
408
376
319
329
301
252
337
357
371
170
273
283
379
347
356
317
292
335
419
305
269
384
277
335
316
285
346
385
295
280
333
354
267
274
385
353
297
404
330
351
300
291
330
363
316
264
388
312
298
354
312
338
314
361
378
205
306
284
315
376
361
320
321
263
305
229
303
295
285
337
224
257
191
315
274
311
367
348
339
230
298
315
297
243
361
352
288
323
364
304
235
318
320
362
326
356
379
353
281
332
292
344
326
227
367
214
256
266
288
359
246
240
314
309
363
325
383
278
323
282
315
347
349
387
308
276
339
285
300
281
318
242
276
286
332
277
337
342
235
331
265
323
383
281
290
318
292
381
238
357
316
266
279
339
336
244
269
349
370
235
344
315
337
236
315
314
287
266
388
340
322
254
377
256
350
279
293
388
361
315
344
313
369
306
289
330
333
334
328
341
302
315
390
280
302
360
280
317
301
256
390
286
326
286
317
224
314
289
300
350
272
342
227
359
275
361
386
292
304
340
395
344
277
328
401
313
269
275
337
396
293
348
291
320
273
313
367
295
300
278
299
315
269
353
356
282
328
356
394
299
361
265
350
325
238
286
352
277
270
344
347
352
372
319
241
358
323
272
393
288
287
359
314
338
287
308
373
233
222
247
356
338
309
287
289
185
324
415
249
236
338
275
302
337
318
341
293
355
270
312
334
311
354
258
327
280
290
276
327
315
250
332
392
282
278
302
368
299
342
337
306
329
322
228
259
329
286
312
266
370
328
299
296
375
360
289
400
379
335
333
338
367
336
293
328
326
317
306
306
290
324
236
359
380
282
237
293
357
342
331
306
287
329
347
317
348
321
293
273
313
361
343
301
252
273
311
329
303
310
348
224
282
348
337
298
319
352
299
374
322
312
331
423
291
311
285
285
363
239
270
262
271
219
342
291
346
289
262
334
260
315
252
246
349
358
388
201
238
347
355
359
287
316
330
290
270
280
316
296
390
341
357
373
300
317
297
324
344
387
291
366
274
432
324
334
330
316
296
332
343
288
220
304
365
352
205
411
288
329
368
304
354
295
393
343
250
395
257
340
346
228
255
209
374
277
367
253
286
287
283
305
369
283
191
274
265
362
292
345
360
228
363
297
268
331
347
323
320
307
309
344
293
306
325
286
273
259
279
316
360
352
383
322
359
377
382
354
351
253
297
345
323
300
298
331
279
337
308
307
314
295
319
311
321
337
343
353
340
319
403
380
214
315
284
397
318
336
249
281
189
276
396
257
328
269
298
271
296
401
305
364
305
281
328
349
381
353
285
300
321
306
268
339
385
420
274
314
270
335
220
284
269
362
418
351
272
319
305
363
257
336
321
361
402
291
333
317
296
315
348
374
385
287
319
342
370
303
264
294
318
303
268
377
292
350
358
296
362
311
299
263
317
233
381
422
266
283
250
303
285
309
247
306
272
310
294
403
267
371
327
388
312
308
365
342
273
360
385
308
293
324
339
382
234
310
323
307
313
249
289
351
260
341
386
301
394
299
337
372
325
241
252
305
337
329
229
282
307
279
301
305
308
329
350
299
355
278
333
342
313
278
343
361
320
285
353
289
340
325
189
319
283
331
445
239
295
297
378
341
277
289
338
343
348
340
350
327
277
275
326
306
339
355
334
292
380
318
353
266
278
282
376
288
335
318
337
341
346
314
349
316
295
361
317
305
333
322
265
323
328
295
340
342
360
288
288
368
276
256
276
354
333
326
307
358
307
295
326
376
241
314
316
288
259
328
295
310
235
339
325
316
234
243
333
300
367
320
233
317
374
285
273
368
294
266
259
275
359
262
368
320
299
298
321
347
293
282
260
309
280
314
293
317
266
356
294
243
351
213
263
325
323
370
361
303
301
310
367
289
266
309
354
365
316
315
294
291
226
316
262
327
351
322
369
273
375
314
262
354
366
257
279
244
333
358
396
278
376
317
351
291
286
276
292
297
411
373
297
251
394
300
375
324
276
329
354
330
365
280
318
380
274
351
364
318
318
269
300
313
335
251
350
273
322
276
268
290
277
342
282
307
310
342
320
292
278
277
283
328
287
234
344
302
354
356
402
412
324
256
347
418
369
320
343
296
317
355
416
369
339
312
294
317
330
388
299
285
365
311
240
295
402
172
343
393
267
282
342
281
347
218
304
221
293
259
393
354
367
335
332
300
321
333
286
359
363
316
315
325
280
263
381
346
283
248
347
283
336
265
332
175
296
365
291
272
360
335
315
337
321
268
313
310
403
345
300
206
355
366
299
240
336
364
322
265
301
330
328
263
350
277
369
356
263
385
295
279
343
314
358
344
287
378
235
291
284
333
277
333
330
309
315
275
293
452
336
312
312
309
359
272
302
371
263
364
323
320
364
309
339
293
288
375
320
279
357
335
395
335
319
329
258
306
278
275
384
289
341
302
363
314
360
333
277
303
420
272
293
309
325
321
337
238
284
375
355
332
335
252
348
342
275
375
298
335
315
327
205
353
276
293
284
376
350
359
260
427
320
268
352
386
236
285
370
344
298
307
268
255
377
271
239
358
366
335
305
275
372
304
279
344
235
366
390
374
261
298
276
305
313
320
271
346
315
286
363
322
327
360
313
309
288
296
290
322
289
243
339
378
294
205
359
319
297
346
301
319
363
412
343
346
268
303
360
350
343
350
368
348
321
389
352
322
303
284
331
342
356
367
368
365
352
357
356
328
297
339
323
262
363
306
337
290
366
458
246
341
294
319
304
331
312
317
308
325
429
296
279
272
364
261
382
295
280
308
364
323
338
328
355
277
368
330
301
352
358
362
345
258
372
332
294
305
291
378
346
340
301
225
297
344
331
240
340
317
300
370
378
270
318
284
400
361
305
355
363
196
320
290
357
366
353
286
287
262
356
247
351
356
250
313
387
306
348
258
306
308
380
319
311
297
285
250
306
364
263
287
323
268
406
344
339
325
357
377
368
342
343
322
260
315
360
282
403
324
327
294
273
288
395
321
289
364
315
355
286
275
247
365
349
334
359
297
288
291
338
284
279
347
294
399
349
229
396
238
354
324
270
255
328
256
278
373
353
339
356
292
313
298
360
334
286
365
318
313
324
341
325
289
303
301
346
268
275
309
263
268
282
234
264
236
318
322
267
382
380
224
271
370
314
359
315
347
322
284
363
276
319
367
346
370
372
332
368
401
337
377
383
282
282
334
270
347
392
266
258
308
313
243
348
267
250
378
361
223
345
280
339
273
330
293
357
353
301
332
402
310
295
354
366
274
268
291
368
255
232
297
376
265
358
303
322
215
287
282
261
305
290
356
274
309
298
290
338
321
240
288
344
313
230
241
338
294
270
324
322
371
324
289
364
383
280
378
346
261
345
300
328
299
280
399
339
363
336
263
338
234
350
206
364
236
276
282
360
245
336
326
300
367
270
290
271
329
278
320
293
337
279
322
385
322
312
258
326
317
266
241
390
281
317
364
289
337
355
333
343
381
356
325
313
293
242
304
337
272
303
292
284
266
309
265
341
334
349
246
275
222
279
237
347
308
263
315
306
347
335
408
289
347
299
295
251
333
256
322
367
345
337
301
282
329
210
251
348
319
297
369
357
308
240
296
300
349
279
341
256
343
216
298
342
324
259
329
300
339
299
288
293
329
259
279
271
296
416
382
330
314
291
341
367
369
353
290
360
339
276
347
357
295
293
258
305
274
327
249
323
244
408
398
326
186
306
311
412
283
325
255
290
306
229
334
328
354
348
354
315
344
401
279
239
285
331
397
267
232
349
315
366
315
363
308
298
335
360
230
222
304
358
268
344
432
365
366
305
261
358
363
385
295
364
323
226
349
322
290
357
295
343
370
252
324
325
361
352
305
375
364
327
363
263
261
337
243
403
250
229
342
360
290
322
303
343
302
298
252
388
320
343
368
386
387
282
339
353
354
347
305
318
239
284
349
377
360
281
319
370
272
444
279
269
339
297
356
297
346
358
359
334
264
352
355
331
290
371
328
301
321
206
212
245
342
293
337
440
193
278
319
343
331
345
361
331
377
329
295
328
267
341
361
379
286
338
347
358
332
309
262
257
273
290
298
297
372
340
330
369
384
316
327
328
350
360
280
388
268
315
345
346
284
307
311
182
295
285
334
231
342
263
283
269
411
347
330
286
445
263
279
355
390
312
352
286
402
354
331
362
294
309
411
320
325
340
252
318
246
298
324
287
348
388
291
288
408
358
295
288
336
304
343
299
320
280
267
311
327
266
338
281
329
384
299
386
295
366
247
352
247
289
348
343
308
376
244
326
234
288
332
325
327
389
290
287
291
315
317
334
333
243
369
412
340
260
300
233
220
379
290
281
322
336
179
396
329
292
286
325
282
311
392
333
218
268
319
319
358
340
263
212
337
260
293
252
339
293
306
295
306
261
267
318
233
325
343
393
374
349
343
292
302
288
328
324
267
265
328
230
389
389
315
391
332
352
319
300
418
303
424
374
314
365
306
345
337
381
336
392
365
302
310
307
365
307
308
301
282
288
349
352
359
343
347
331
355
322
236
290
337
356
327
346
261
331
308
348
228
413
343
347
373
353
331
353
427
384
267
259
365
235
317
328
306
285
347
315
371
235
289
356
335
338
258
323
231
343
331
269
335
367
336
288
314
333
328
314
269
357
290
272
330
323
267
283
367
337
281
330
247
319
354
311
383
292
354
379
299
303
329
246
250
342
295
321
349
319
326
301
348
286
418
322
370
292
334
320
268
323
281
305
359
352
276
259
263
332
289
359
310
315
357
339
367
315
339
270
284
345
320
367
304
292
219
310
269
271
337
296
368
291
384
286
287
364
266
371
387
261
226
375
306
336
327
302
298
355
244
333
251
351
303
294
345
316
338
339
246
308
302
286
289
289
385
323
343
324
317
250
343
267
291
265
298
354
387
307
299
258
353
276
330
258
247
314
299
286
304
335
259
307
348
342
343
336
197
358
313
295
336
261
394
353
328
382
353
315
327
361
286
355
292
247
316
326
333
335
263
372
289
231
219
284
346
336
366
254
359
341
279
297
426
293
394
325
274
278
345
240
343
384
394
313
182
247
284
353
340
320
327
375
316
373
309
374
240
341
289
317
344
297
336
329
308
267
324
347
321
276
383
271
291
253
305
375
262
227
336
241
329
253
279
390
322
359
349
329
334
372
328
289
299
290
216
334
296
339
295
296
328
324
289
316
308
266
294
286
293
313
255
279
260
320
322
272
318
345
308
312
317
239
257
344
342
299
302
311
319
435
386
328
305
338
297
330
310
375
364
351
260
288
246
275
326
264
283
291
299
358
324
327
276
321
305
321
304
266
391
296
317
350
331
354
335
349
304
268
378
368
345
410
249
285
322
330
329
243
335
352
378
304
306
271
368
319
283
307
273
339
412
260
271
265
315
358
297
435
385
317
308
327
300
389
254
375
328
248
328
428
238
251
323
253
281
328
303
374
304
224
295
296
301
313
276
316
349
398
327
318
265
260
319
339
323
316
367
266
369
276
314
341
347
382
274
339
356
233
366
358
273
344
377
342
348
324
371
326
275
328
220
270
296
327
268
272
288
317
336
337
383
282
286
289
345
298
254
230
294
333
309
349
312
360
289
299
312
273
362
309
354
309
173
294
384
296
293
342
367
320
342
288
324
270
321
219
394
297
386
323
271
317
323
310
330
323
329
386
288
316
286
312
341
216
365
381
339
391
350
368
314
312
302
242
363
329
252
299
375
355
325
363
351
314
348
259
259
306
323
347
322
389
293
232
297
300
329
328
275
296
308
299
365
342
372
328
358
278
318
300
320
220
280
296
284
376
384
310
332
269
285
271
378
347
311
272
266
286
253
323
293
332
354
316
326
225
348
334
223
343
298
313
262
361
318
304
272
237
296
354
364
281
382
361
333
280
290
303
387
222
383
221
313
300
272
364
336
266
324
335
326
358
297
300
354
306
233
384
377
252
231
368
191
361
367
380
292
301
355
363
327
261
355
311
280
289
315
340
230
407
345
358
272
315
312
293
324
345
285
326
233
254
329
262
290
274
347
351
372
294
263
298
394
331
429
319
357
351
282
333
241
363
374
278
246
347
291
394
280
402
363
247
264
309
285
238
329
368
353
374
271
457
293
287
305
260
409
364
260
316
288
342
318
352
265
337
357
242
325
410
305
366
332
387
351
286
339
262
333
356
318
417
397
313
332
302
246
357
361
313
173
338
354
295
350
266
351
350
334
358
326
360
364
309
338
290
333
425
333
325
427
363
377
364
331
242
292
255
361
353
164
309
260
327
345
297
300
379
282
278
354
261
327
330
330
305
344
333
339
417
290
348
259
313
306
315
294
295
274
291
249
395
353
329
351
338
284
308
339
322
303
329
266
332
249
253
296
366
280
296
265
343
322
298
347
330
263
274
357
355
402
322
263
247
301
300
245
274
324
286
338
267
316
336
312
361
325
325
301
333
307
389
412
234
371
377
343
323
348
314
255
349
349
265
317
269
305
349
301
256
352
306
242
339
376
272
356
244
224
342
286
344
165
312
353
254
365
265
303
253
349
362
404
319
252
330
299
339
358
360
363
327
297
308
250
272
351
285
237
281
259
295
235
314
345
298
369
340
345
349
367
268
397
387
336
265
212
311
358
323
225
289
333
284
265
305
256
332
288
287
283
296
357
285
312
294
281
354
324
323
327
391
259
278
278
352
351
391
351
295
361
285
262
308
328
302
341
295
258
389
368
379
313
270
293
404
287
325
295
388
353
273
349
353
362
362
166
245
262
300
365
274
323
315
315
307
209
319
348
377
240
333
354
244
281
300
382
283
346
368
329
230
259
328
311
251
301
248
407
370
324
323
226
280
362
269
157
286
312
265
299
325
362
299
363
323
331
251
317
326
314
279
297
301
337
314
327
344
305
299
266
281
255
277
383
303
262
328
265
272
375
365
350
358
326
377
379
304
329
375
345
294
336
274
252
364
336
297
311
330
305
353
302
381
373
339
316
320
235
317
320
324
262
326
369
238
281
246
295
280
320
371
326
361
348
345
330
317
374
276
310
344
301
345
245
294
392
307
209
287
313
323
262
315
377
342
264
293
278
307
339
366
267
327
354
352
302
326
216
304
290
286
362
293
274
350
358
321
319
330
348
287
337
338
239
328
348
252
345
296
332
369
373
376
365
325
278
307
443
265
315
299
278
327
323
289
306
344
341
308
304
308
344
314
334
319
365
336
340
315
372
370
365
270
302
348
295
328
296
353
331
285
340
382
377
345
347
264
303
302
384
346
227
372
287
318
276
393
298
336
338
301
365
255
320
393
278
303
309
209
340
311
268
381
293
337
237
292
256
247
355
366
322
205
367
371
304
362
339
276
327
287
233
322
261
332
242
311
338
323
339
304
348
322
239
277
322
338
374
353
265
262
279
296
403
410
278
240
254
297
286
369
320
356
331
371
373
335
350
325
237
271
277
312
355
287
355
374
316
348
366
339
221
271
195
322
328
349
344
294
299
342
270
330
296
422
329
284
368
278
320
313
269
258
340
361
244
268
356
320
342
235
294
349
410
341
329
287
336
363
408
273
358
291
349
381
320
304
268
252
289
300
343
343
429
309
350
271
363
269
298
324
358
358
356
355
314
373
306
255
408
238
310
359
288
304
256
302
265
337
272
341
237
289
380
300
337
252
308
251
328
288
279
296
385
357
273
339
353
335
340
356
354
410
253
337
340
255
287
298
293
293
309
288
283
202
312
297
262
302
382
329
258
260
334
224
400
308
364
339
374
273
335
339
337
313
372
310
324
262
383
253
307
308
401
293
400
309
315
275
331
251
274
296
246
319
260
304
305
368
360
400
307
281
293
382
334
287
312
304
330
285
344
267
315
340
359
307
343
373
315
250
342
331
223
341
415
271
307
308
305
245
300
270
259
296
368
373
267
332
355
262
279
289
278
364
380
247
372
298
227
336
306
414
289
290
418
277
311
314
331
218
363
321
280
331
359
343
346
244
369
346
320
347
311
369
327
285
352
381
289
292
296
337
304
350
338
313
357
298
280
317
371
414
388
372
394
370
309
327
359
289
322
358
291
231
327
316
281
276
351
284
272
251
299
338
255
338
272
366
305
306
191
240
268
289
329
355
376
273
283
389
232
364
279
412
287
243
387
311
368
284
305
325
359
393
334
325
355
225
326
377
291
313
285
356
252
211
273
297
326
329
290
323
308
341
314
362
254
269
371
335
282
338
276
321
343
249
316
294
262
323
321
256
324
374
234
292
327
394
357
295
260
279
308
264
308
344
365
221
347
354
313
351
359
324
354
341
288
295
323
357
356
319
228
359
281
364
300
251
333
239
281
331
310
273
275
327
282
275
317
320
231
340
230
277
282
236
233
238
264
402
242
280
288
319
250
386
405
285
303
362
371
249
346
336
309
278
376
330
346
300
318
366
318
320
340
335
305
361
284
207
203
263
319
313
314
271
389
339
296
212
243
314
306
429
331
255
324
398
312
329
347
222
300
358
264
323
290
316
264
219
225
320
224
296
286
295
345
372
289
294
353
316
226
254
310
326
363
369
369
341
397
407
328
240
367
374
325
291
336
318
248
287
325
297
333
266
280
311
375
362
341
310
262
267
351
371
253
328
341
296
317
356
381
318
269
254
279
241
303
344
262
298
443
359
302
289
268
271
309
338
284
366
326
227
293
283
321
310
316
374
339
314
294
327
375
306
369
321
287
306
276
269
259
273
326
314
384
253
344
204
297
308
290
370
295
300
265
332
358
278
289
329
316
398
334
363
288
374
333
317
358
318
365
262
380
219
264
374
236
269
312
346
346
291
249
259
318
334
341
302
208
391
295
305
300
293
277
313
344
341
254
256
271
325
371
260
349
290
314
211
270
308
348
376
430
364
348
300
320
301
333
286
284
363
401
369
287
317
252
251
271
303
413
320
364
337
281
300
283
223
305
311
234
353
352
328
357
299
308
225
261
253
284
320
277
333
281
393
339
335
353
311
355
411
313
291
325
329
211
298
306
346
355
377
286
389
313
315
340
307
218
355
324
372
352
282
264
311
291
334
405
318
273
391
277
406
343
229
281
398
358
311
309
385
300
420
366
346
343
292
290
333
333
305
317
318
311
293
269
280
307
342
300
274
353
424
279
313
264
287
369
298
282
295
241
270
322
286
286
255
384
334
344
249
358
287
330
322
320
322
295
264
270
229
264
323
351
305
329
348
354
252
358
266
284
345
258
381
296
320
360
270
267
255
293
356
239
267
389
306
301
279
390
340
348
345
288
286
252
257
270
295
239
272
322
340
203
299
249
362
288
379
299
295
304
290
447
271
267
206
245
296
263
196
344
341
262
366
313
354
243
425
334
414
302
270
345
297
365
306
320
231
271
301
328
308
327
369
348
291
268
279
345
376
372
338
286
316
333
285
312
334
231
282
312
302
269
322
345
334
231
302
349
296
318
309
290
334
271
350
261
318
224
287
247
323
379
311
322
330
320
258
322
375
325
351
294
423
266
307
300
376
322
336
398
366
312
299
339
321
332
263
228
438
247
386
284
310
315
248
315
367
338
243
267
278
247
276
214
235
226
343
294
362
307
330
401
262
338
279
386
326
304
311
285
274
327
341
406
330
395
289
374
329
355
334
309
375
279
346
368
333
318
433
236
392
324
280
261
298
333
307
382
388
289
346
246
354
306
280
274
244
363
275
352
311
297
292
290
280
265
325
295
398
392
254
325
312
324
386
336
234
266
359
339
365
387
374
260
264
294
303
290
325
342
308
320
371
368
332
359
315
315
326
300
337
416
348
267
250
336
279
346
248
317
315
293
341
320
349
279
301
409
230
238
294
335
397
353
294
337
261
335
285
273
335
347
341
354
344
296
364
319
292
301
275
363
329
352
284
366
309
267
324
378
312
342
345
245
306
277
276
337
330
318
267
341
294
381
268
340
367
302
360
290
292
288
243
337
309
250
352
385
304
349
255
369
335
332
388
219
194
320
351
351
323
262
353
396
271
352
339
334
362
342
381
388
316
307
363
299
321
391
326
372
371
291
401
397
264
383
365
258
314
366
364
294
418
286
277
354
352
296
407
309
328
348
322
338
295
272
314
327
254
308
361
333
349
344
298
252
326
343
351
308
309
342
351
361
416
333
332
347
291
270
282
353
327
240
343
335
175
273
305
270
301
285
348
273
335
321
429
325
354
237
333
392
339
307
367
292
283
306
330
373
367
393
251
316
397
351
236
329
371
345
368
270
312
290
308
269
253
306
307
316
218
392
289
373
302
265
292
284
272
383
432
368
324
331
313
367
280
336
306
251
268
369
300
294
312
323
330
316
299
267
270
292
352
234
384
296
312
304
283
328
340
246
245
296
406
306
334
280
285
338
354
273
318
388
309
333
334
370
347
309
363
276
334
278
357
306
360
356
290
357
334
316
319
318
326
376
325
341
292
328
343
268
275
383
347
339
336
344
277
263
239
323
210
309
380
322
309
316
300
397
348
235
236
306
307
355
241
291
313
380
344
276
367
307
394
340
337
349
359
195
303
333
228
406
376
276
349
289
381
307
306
348
347
308
294
352
254
403
328
357
309
282
343
354
366
303
302
300
334
252
248
309
378
306
280
238
425
224
260
285
350
319
250
258
289
241
426
341
346
327
357
286
357
292
363
299
317
348
286
344
254
277
267
277
288
303
306
221
327
300
365
279
315
352
338
269
332
357
345
272
289
320
214
320
377
401
297
314
344
294
334
349
340
334
349
321
331
344
349
328
342
313
256
382
306
341
275
393
294
394
316
415
227
395
411
290
338
282
354
310
411
304
304
268
286
178
326
347
326
312
262
278
294
302
349
350
303
433
269
259
245
253
337
295
332
210
329
299
383
395
273
294
303
279
320
322
334
336
305
318
334
345
270
413
307
354
355
338
274
329
278
350
345
334
350
368
347
301
315
293
269
358
355
270
260
268
318
224
285
303
248
397
269
240
332
370
370
335
324
419
282
329
378
315
334
304
283
279
250
346
217
320
315
270
298
392
308
321
278
352
242
366
314
337
261
319
355
284
321
396
334
410
177
328
350
300
380
304
320
315
319
272
371
336
363
323
300
287
194
248
365
351
324
378
397
313
384
249
288
279
317
271
336
206
315
351
222
309
321
327
258
360
274
304
194
315
260
300
341
371
293
293
266
347
276
346
282
248
286
297
255
347
302
330
163
344
339
302
401
271
326
205
352
200
245
301
353
363
361
291
299
285
254
289
346
306
323
279
274
287
229
242
310
259
388
355
349
412
300
286
299
302
365
319
296
337
372
304
312
320
353
232
337
325
328
326
262
232
283
296
381
386
282
339
302
281
327
241
312
296
256
352
320
299
331
334
306
296
264
342
270
395
266
348
281
352
228
300
348
330
326
278
274
337
285
183
211
253
331
277
325
353
316
264
329
291
394
282
254
252
289
311
341
332
228
304
336
331
286
339
326
280
338
299
345
258
411
318
311
300
275
334
185
333
247
299
361
225
319
356
297
264
276
395
312
260
338
244
282
316
360
313
323
336
230
304
351
347
322
312
283
374
318
408
327
274
295
378
298
410
258
274
304
305
297
343
309
303
313
384
342
314
350
297
299
370
246
371
309
351
424
279
290
358
311
295
356
331
335
290
364
343
301
320
256
303
258
305
215
328
254
324
356
345
363
323
294
298
321
295
276
389
338
370
284
392
292
323
316
360
339
329
354
329
352
350
251
387
348
368
303
330
324
292
285
298
216
327
339
390
329
293
281
240
355
369
258
260
220
336
258
314
275
296
262
312
312
254
244
316
329
320
315
303
315
349
267
413
291
322
290
261
336
307
287
386
349
359
235
262
305
345
280
257
300
269
374
349
332
293
404
236
269
271
306
287
309
313
322
253
376
256
277
312
281
284
310
207
330
291
196
317
322
315
293
273
327
333
359
292
339
332
360
220
374
310
258
385
288
344
362
360
290
248
329
252
345
294
333
332
374
263
228
449
352
369
355
265
293
236
279
255
275
355
327
334
294
335
336
370
311
230
237
332
328
333
286
302
343
291
332
401
291
329
298
349
390
247
323
311
289
290
307
283
326
321
272
270
283
307
328
368
435
393
328
263
254
374
249
363
301
319
435
278
229
327
262
243
212
320
322
306
313
327
371
276
265
299
283
298
278
262
330
254
305
271
328
269
336
254
294
296
279
390
351
280
325
384
282
389
261
373
239
292
325
303
324
311
316
219
274
328
290
314
268
400
304
293
326
355
337
272
323
283
329
257
350
276
347
340
335
311
349
221
243
352
404
302
331
337
295
394
330
387
301
302
238
278
248
325
295
294
310
211
307
305
310
368
279
229
282
344
299
266
356
334
314
400
269
289
315
272
260
338
281
293
458
297
347
267
334
297
180
299
343
279
328
315
368
348
367
346
274
271
344
266
291
264
298
376
282
175
364
272
304
400
346
237
296
318
356
292
297
334
337
311
390
274
370
312
350
265
332
369
310
322
292
295
280
296
317
261
238
352
253
331
332
263
220
296
367
328
324
363
297
356
357
275
396
274
392
301
316
285
263
325
330
307
282
324
283
272
210
317
368
237
269
304
294
337
326
398
384
288
277
298
311
353
381
299
381
286
312
286
275
293
330
325
274
290
301
424
305
286
308
348
300
324
238
278
237
291
334
351
289
314
348
350
343
330
347
344
320
317
324
256
249
268
355
333
282
296
376
228
331
286
321
354
336
292
304
330
342
297
376
284
289
378
199
254
331
346
217
305
252
358
388
372
277
349
255
322
263
228
388
349
304
392
371
277
292
307
365
306
337
350
317
337
281
329
249
350
327
240
314
228
378
328
358
305
334
300
277
306
303
325
270
303
448
301
291
300
215
259
263
328
335
351
353
277
271
265
277
327
242
259
323
301
289
235
277
261
311
289
285
383
265
349
316
234
362
342
257
313
367
311
346
342
398
324
296
336
250
256
345
257
347
260
354
369
321
350
331
290
333
360
341
335
317
348
334
383
340
278
312
324
329
235
328
193
300
315
363
362
287
362
210
371
246
344
329
276
302
319
337
302
247
274
268
313
403
345
311
380
310
301
319
328
267
304
366
318
328
316
402
282
318
347
367
381
257
378
360
370
349
256
290
423
361
242
292
308
301
241
294
366
261
304
288
420
294
338
262
309
407
330
273
317
323
294
337
327
325
326
412
284
344
335
332
373
338
335
332
292
281
324
328
424
359
284
331
289
294
252
269
335
320
343
295
272
350
286
357
351
346
319
352
304
243
279
393
344
341
364
303
264
362
182
247
312
363
248
281
298
345
275
314
330
301
333
368
317
226
329
285
249
293
285
349
332
224
347
326
345
344
294
266
419
202
301
324
372
336
318
287
317
364
276
207
315
311
198
234
313
242
348
352
360
358
323
315
315
324
314
289
234
398
258
321
301
343
218
287
393
318
319
324
304
350
325
342
342
218
374
350
317
339
295
305
320
402
197
236
325
315
386
289
367
312
379
297
302
340
302
302
375
290
391
335
316
314
360
255
310
271
321
386
309
364
264
346
315
288
304
295
353
326
328
300
341
263
337
252
307
275
320
242
332
327
301
343
259
317
315
370
293
292
262
274
305
292
249
312
319
308
388
285
321
304
304
270
315
291
263
267
293
320
350
314
331
328
314
326
323
385
346
247
378
294
327
353
302
256
282
313
385
264
242
284
240
291
317
280
294
329
309
311
384
307
305
371
371
458
311
237
258
311
327
337
331
412
388
282
239
331
359
374
432
349
331
284
299
422
320
364
378
285
391
292
300
365
365
291
316
282
251
355
249
382
346
339
361
308
281
271
282
256
293
337
315
392
335
247
301
263
361
313
237
294
367
353
397
302
324
254
273
269
293
354
312
277
286
261
294
304
250
327
375
338
374
345
314
346
322
354
288
295
333
381
360
297
328
262
317
262
274
326
215
300
361
290
309
388
262
305
260
273
305
288
263
352
244
333
326
334
311
325
295
199
230
334
292
399
278
373
324
292
291
285
266
226
282
306
323
364
356
368
313
309
319
339
363
287
306
355
322
341
377
289
338
318
234
245
269
310
269
271
249
263
289
257
264
307
404
304
378
341
291
356
288
451
273
341
292
296
356
312
245
269
333
293
309
326
369
260
341
351
288
259
257
324
319
341
299
266
347
322
315
289
346
309
297
311
328
411
287
346
354
381
248
272
366
270
356
342
265
277
377
268
365
349
305
313
311
302
383
310
324
407
268
307
325
346
271
273
427
383
284
294
372
385
256
293
325
333
260
380
295
265
312
390
281
300
327
359
304
384
285
254
315
295
279
351
288
362
289
337
316
329
278
272
341
384
353
326
369
248
282
263
323
354
331
328
276
384
293
319
350
379
233
334
329
320
301
378
341
337
303
260
347
335
359
267
350
306
256
302
343
312
306
291
345
271
255
226
320
342
338
297
380
320
375
391
276
380
332
264
264
400
345
367
317
401
389
291
272
231
309
344
234
313
244
360
363
329
371
312
340
276
276
302
331
375
265
320
316
375
324
296
270
379
250
223
211
238
317
341
309
308
361
364
252
367
330
379
286
316
282
289
212
329
334
245
262
275
259
321
335
297
333
344
313
291
220
272
340
315
297
303
285
309
268
277
330
337
413
289
367
336
329
397
307
304
369
391
299
328
237
293
286
272
339
349
336
345
319
274
309
252
349
311
299
350
288
262
309
313
307
301
438
379
366
314
237
324
277
330
351
286
247
314
270
259
300
245
358
362
275
301
340
322
291
244
288
300
260
289
360
333
433
308
341
284
327
353
336
295
340
282
256
360
254
383
297
308
307
321
397
331
277
284
378
336
394
228
393
303
319
338
304
330
309
240
254
365
317
328
427
350
280
305
315
280
304
371
277
271
252
408
373
324
344
222
363
310
277
229
343
325
351
274
306
351
302
351
371
259
296
314
349
295
316
314
331
333
362
319
349
232
294
341
321
268
335
321
198
267
256
352
291
294
419
298
264
196
251
285
367
284
306
339
327
297
340
284
356
333
386
229
319
263
299
369
388
218
246
275
263
298
314
379
374
309
343
297
306
388
329
345
430
334
303
292
323
383
334
358
355
291
377
288
280
340
302
338
326
341
347
311
325
297
284
320
310
267
291
318
341
291
364
295
320
325
294
309
393
314
334
300
318
234
335
328
321
362
333
333
256
314
346
350
367
319
349
270
223
299
273
263
318
238
364
307
283
385
337
245
299
313
332
379
289
314
214
272
390
248
278
308
288
361
279
367
292
252
318
253
372
283
321
331
346
381
322
373
275
358
307
272
285
361
310
337
292
347
255
216
220
342
321
279
243
279
345
266
310
338
391
292
266
293
277
344
316
379
244
356
305
307
306
208
364
362
298
377
318
274
229
289
368
261
344
316
364
282
413
350
225
329
377
275
335
376
356
293
232
325
263
289
322
296
239
290
427
348
225
394
377
324
310
338
362
285
351
289
378
350
288
301
261
339
317
309
257
280
421
326
317
330
332
369
277
298
317
315
252
372
333
333
432
256
383
429
337
303
275
308
255
328
270
401
353
265
366
341
277
389
282
322
286
332
299
370
364
262
262
328
351
270
300
414
357
328
337
318
332
230
298
316
380
283
294
373
286
338
161
383
346
295
341
192
315
373
314
352
291
410
357
372
305
306
256
345
336
326
316
304
416
260
318
350
376
329
280
325
308
336
344
354
348
322
318
340
351
333
240
345
271
277
359
237
338
332
316
307
312
284
319
244
348
246
361
304
290
378
297
321
333
300
254
366
347
326
322
236
347
304
391
403
326
358
290
319
332
280
307
281
381
288
299
311
191
276
314
268
385
349
344
275
379
260
335
368
346
301
294
311
321
366
313
339
326
340
366
264
279
320
380
303
267
324
287
278
350
230
322
275
367
234
300
301
327
394
279
398
219
360
293
320
374
330
303
364
332
261
347
233
374
343
324
337
325
267
325
221
218
380
310
295
352
282
374
370
309
387
354
291
351
344
266
325
296
322
273
291
336
359
346
356
310
284
334
288
368
249
204
331
333
330
380
302
345
395
431
360
319
367
343
351
365
314
302
312
373
342
323
326
245
344
263
373
373
324
343
319
328
221
311
319
304
316
366
254
280
366
328
325
345
383
196
306
267
296
324
241
326
360
326
332
342
248
262
362
342
289
343
313
349
218
246
284
374
331
269
413
287
259
346
321
276
296
353
285
341
340
301
305
307
246
348
284
276
280
259
362
339
318
312
321
261
316
330
373
351
274
341
359
317
256
331
368
342
345
430
261
360
319
307
216
245
308
365
396
346
309
324
340
236
369
332
311
275
289
208
308
383
349
339
345
381
315
390
317
372
395
326
299
213
284
314
329
306
338
392
281
329
349
367
267
297
285
350
290
242
277
321
230
268
336
386
291
373
375
296
364
332
332
350
296
273
258
378
364
310
299
373
301
328
295
231
306
325
259
308
300
286
408
312
274
292
384
401
268
281
328
337
370
257
267
307
329
292
324
304
330
296
298
293
272
374
376
326
275
312
274
266
240
397
325
327
301
360
426
279
282
287
326
295
357
357
245
344
257
374
360
394
334
393
264
276
333
326
232
385
250
338
257
369
217
185
277
360
284
312
253
294
335
321
257
271
278
303
307
340
339
293
202
256
222
354
320
302
407
333
411
391
289
330
406
333
342
361
210
420
284
311
356
332
340
378
261
313
274
375
314
298
323
331
283
360
261
315
423
353
301
292
265
386
317
365
390
332
266
297
320
392
360
358
385
232
300
363
310
260
286
314
200
301
321
354
292
274
261
267
308
363
222
283
262
363
252
336
307
343
391
353
293
325
262
315
296
311
281
345
291
316
329
351
350
300
305
361
376
276
356
336
374
241
250
400
345
338
323
300
297
244
239
378
369
300
316
326
393
296
318
379
283
382
328
328
290
304
247
307
377
228
363
310
274
316
306
401
326
376
328
260
366
342
359
327
338
236
354
256
358
303
337
379
288
300
297
279
317
303
293
295
367
297
329
287
354
317
275
308
297
330
377
317
373
231
272
324
346
319
297
285
365
334
306
321
300
282
245
398
290
357
444
330
255
302
356
302
342
358
333
226
292
324
296
290
335
316
356
253
318
304
270
303
263
279
271
278
259
377
291
370
384
341
310
288
339
292
399
299
277
309
349
327
363
307
259
357
323
375
362
358
273
380
293
275
338
327
247
382
290
325
318
319
340
239
392
338
188
320
314
372
296
296
315
298
320
316
321
276
304
383
355
259
266
302
358
317
289
332
413
363
324
366
362
348
245
367
309
348
287
392
316
301
319
356
355
340
269
412
291
276
290
246
282
364
337
329
271
386
306
312
306
284
316
288
368
295
281
282
310
352
332
251
323
292
367
249
290
275
322
363
278
261
334
406
278
390
323
365
338
261
287
285
271
335
357
240
251
360
293
326
396
295
339
315
355
255
324
372
323
327
265
301
302
295
333
347
365
339
330
286
299
233
313
250
341
411
275
289
273
275
346
363
337
257
407
291
282
376
234
310
278
327
295
332
272
311
253
370
350
339
347
323
363
272
342
354
306
317
303
314
316
250
287
311
367
326
283
297
345
349
324
333
345
263
366
326
355
403
308
404
295
337
333
282
353
318
248
407
386
377
313
360
303
342
373
272
306
369
387
292
286
366
355
327
387
307
264
426
408
336
299
368
350
308
387
304
186
268
377
273
302
356
273
302
406
287
317
293
311
305
298
310
264
394
400
267
292
346
319
289
357
284
361
330
432
343
313
326
255
375
299
331
311
274
320
308
273
287
373
387
270
356
339
343
294
364
334
362
251
372
376
381
293
348
322
295
426
312
305
311
313
376
323
202
300
239
371
345
309
372
325
286
260
397
305
372
342
254
325
226
319
378
251
232
203
355
388
269
230
297
302
273
341
302
320
362
202
355
339
332
336
324
323
270
303
344
256
311
281
288
344
279
265
363
314
310
366
356
371
268
311
244
369
276
316
346
377
295
387
291
265
340
296
351
284
373
352
358
297
289
333
288
323
335
300
349
352
307
370
309
275
311
371
280
326
199
358
248
291
265
334
348
368
251
341
280
319
308
339
330
297
346
249
332
395
299
336
328
243
342
377
318
344
306
321
338
246
327
344
322
234
383
358
266
354
361
331
283
305
255
390
360
264
296
292
236
334
349
385
263
282
323
284
251
220
375
366
336
307
331
334
289
306
314
294
337
320
315
293
360
311
306
326
239
252
332
320
367
341
338
318
319
252
324
344
304
359
327
378
317
289
298
374
256
330
355
266
333
389
258
384
279
278
257
302
302
294
289
262
340
205
282
303
317
287
255
322
290
319
295
275
302
316
262
308
306
304
377
275
283
346
311
293
223
238
373
308
337
392
297
275
280
315
312
339
304
198
229
301
252
263
355
386
330
301
257
269
313
363
300
248
296
368
246
287
301
428
328
432
240
352
333
397
288
272
325
284
292
316
261
291
301
302
317
212
282
291
338
266
301
303
353
347
367
255
304
268
339
377
345
304
314
286
306
298
337
248
323
243
363
339
273
367
341
325
249
348
322
323
346
237
238
268
365
338
370
260
286
303
292
395
341
368
176
350
338
328
264
290
359
379
352
288
310
265
329
308
239
330
319
356
327
336
345
359
360
291
234
279
337
403
312
255
299
298
389
346
341
298
342
296
338
286
294
258
274
237
289
277
262
336
370
282
310
277
287
328
362
392
373
311
312
295
282
302
267
327
393
384
273
352
328
304
274
315
289
380
405
349
277
294
319
278
336
312
324
350
316
392
307
300
259
367
292
304
366
226
384
322
322
302
330
343
286
315
280
343
295
376
333
349
300
312
282
312
246
307
265
247
329
224
327
340
314
369
271
357
398
287
306
328
276
347
311
411
342
265
377
371
302
323
349
272
278
396
392
303
236
334
303
267
274
281
318
326
351
330
327
323
313
305
298
247
179
358
331
295
382
378
353
234
231
370
306
362
315
384
291
291
227
317
256
323
369
378
333
382
240
328
330
287
342
370
273
339
431
265
249
310
235
339
367
255
340
385
324
265
376
315
252
401
354
352
284
324
319
332
334
356
298
308
366
345
352
327
375
227
313
351
228
386
345
384
288
246
259
250
333
284
295
357
316
268
302
337
314
284
314
370
265
286
329
317
347
335
260
318
308
324
436
330
314
297
248
255
278
353
331
300
325
315
323
270
361
354
265
369
333
402
314
356
370
255
284
308
263
355
220
349
343
294
364
342
319
240
311
398
313
303
324
265
360
378
361
316
365
316
287
294
313
194
376
331
367
297
330
296
293
347
334
353
293
247
241
382
311
355
255
315
307
358
322
307
357
309
365
306
299
237
407
363
252
395
349
281
384
319
378
309
345
315
312
316
351
277
317
287
350
296
285
280
288
302
299
313
322
330
318
296
277
335
418
424
257
333
285
312
322
335
278
366
302
371
268
309
318
299
309
303
329
297
281
363
333
262
271
334
370
387
313
269
301
217
312
349
387
351
276
372
271
343
296
275
347
311
283
377
383
296
339
283
353
320
293
330
295
379
412
272
265
271
367
273
271
237
320
345
385
346
403
320
401
290
305
359
323
323
303
316
340
326
267
299
271
320
267
336
308
237
384
351
325
320
284
370
328
343
349
373
304
371
318
347
374
260
262
292
385
293
257
331
269
292
334
349
301
271
323
319
325
384
312
308
338
308
241
277
332
293
334
300
342
284
270
357
350
309
316
361
349
333
262
395
310
314
369
341
278
377
410
336
244
319
294
357
312
373
338
303
263
324
337
242
254
343
293
308
308
244
292
293
261
302
288
281
418
328
318
346
365
403
305
284
349
306
241
319
301
232
310
394
256
304
323
329
274
310
325
369
306
355
152
316
381
296
294
402
314
302
305
298
395
349
358
370
325
314
336
252
343
371
376
281
337
309
308
310
341
226
364
324
276
282
279
380
333
351
270
301
366
254
277
322
316
394
343
312
336
369
299
295
294
228
390
405
311
270
302
340
268
325
337
351
355
225
253
350
278
302
462
312
402
323
271
286
320
334
312
356
301
324
335
262
227
276
353
315
358
335
320
375
350
349
258
393
266
272
289
289
343
357
305
340
288
261
242
305
331
352
293
251
305
278
220
381
345
253
323
330
311
231
328
292
327
316
258
311
308
330
295
359
321
331
312
302
316
290
371
330
298
288
304
359
310
342
346
366
314
271
334
301
300
355
351
269
299
339
333
301
299
233
282
303
278
282
344
377
272
285
271
282
408
272
420
320
346
332
293
291
311
209
287
286
348
318
322
273
351
338
406
288
389
410
352
268
314
391
252
332
313
356
336
394
307
277
370
307
295
311
337
346
294
335
383
333
319
306
317
285
309
223
346
426
372
264
271
299
384
334
245
361
269
309
324
320
327
313
287
281
321
294
282
308
308
323
361
343
314
296
327
342
337
363
275
334
294
340
362
316
363
304
291
259
317
379
255
409
296
348
293
387
325
295
338
283
298
337
315
329
312
313
355
398
315
264
256
241
302
279
385
344
337
351
341
392
267
342
364
364
368
319
279
431
362
345
267
325
319
386
402
233
325
294
359
318
327
306
295
349
408
324
307
353
365
287
362
355
364
353
411
381
333
283
317
333
232
386
364
342
322
250
381
324
415
310
371
337
285
251
281
360
188
258
300
360
299
353
310
347
294
229
321
287
259
321
220
310
347
231
343
293
351
225
361
321
334
226
284
326
243
381
344
228
326
196
291
295
303
288
313
264
288
400
216
194
280
283
307
305
314
351
257
264
281
295
337
258
263
307
371
376
325
393
309
277
307
292
233
294
294
321
330
328
251
214
361
283
368
323
266
296
292
266
286
268
284
312
267
274
372
363
305
379
265
358
321
368
323
339
349
330
346
235
371
244
322
343
296
351
283
404
282
353
346
272
373
337
267
308
183
284
383
354
317
318
298
366
273
256
310
384
300
356
332
300
296
263
265
285
268
263
386
319
342
376
272
337
324
310
309
233
300
369
332
324
268
321
346
283
359
304
234
294
328
317
289
319
329
335
250
322
370
245
353
311
341
268
380
320
247
286
241
267
282
291
287
290
234
264
262
324
256
270
323
376
355
366
348
338
357
383
309
321
343
278
383
368
272
332
306
354
232
348
237
368
197
298
391
321
350
259
348
339
335
329
260
249
256
352
312
244
395
291
377
267
352
249
253
359
412
310
381
349
390
342
371
252
307
254
306
334
297
295
335
269
339
344
326
423
288
306
323
369
322
255
242
325
305
251
281
230
351
303
393
354
264
329
282
431
301
289
258
335
353
226
394
276
295
324
311
317
287
287
257
348
296
355
320
330
270
281
382
324
289
309
373
321
249
364
294
307
317
293
220
350
287
378
316
315
271
291
301
314
301
319
364
257
265
299
380
327
338
383
355
289
340
326
292
316
300
342
349
272
358
368
335
287
381
249
318
370
365
325
331
371
346
362
347
336
342
327
350
289
385
341
298
313
288
334
253
343
366
352
284
267
360
225
287
249
377
252
267
414
387
346
331
318
364
298
344
319
367
300
327
269
336
343
287
263
363
345
347
278
275
319
395
356
408
365
343
308
305
266
329
238
346
231
382
336
286
300
332
246
334
343
294
386
277
263
356
352
263
330
340
246
324
332
272
254
292
308
363
342
271
228
308
283
251
333
275
340
346
358
299
328
300
405
287
251
289
343
304
301
276
276
332
330
337
294
281
336
322
341
281
348
283
322
288
249
276
337
302
344
314
351
315
369
298
384
313
312
339
347
274
331
302
333
353
268
345
295
334
370
277
355
381
366
299
338
281
332
380
363
269
257
347
303
303
245
280
309
222
313
283
345
361
279
298
289
385
318
338
247
349
275
320
336
262
361
317
308
323
343
272
283
360
317
362
256
378
291
331
318
283
327
360
276
354
340
300
286
330
336
278
280
344
382
286
262
350
217
262
264
378
392
348
340
350
246
269
328
376
286
342
329
320
324
257
355
370
323
265
272
246
331
357
317
233
373
260
353
402
267
346
314
332
280
325
325
327
353
320
247
222
263
225
282
277
338
291
292
281
302
332
359
308
269
389
296
300
412
339
300
346
271
314
339
295
327
243
388
346
330
294
387
346
373
304
341
399
258
290
283
368
308
299
360
269
288
241
218
287
362
338
292
212
266
362
326
381
359
372
276
330
289
295
359
319
351
265
329
277
258
278
280
261
298
382
275
308
263
327
286
307
264
315
302
286
254
243
377
277
270
352
363
252
411
258
435
302
338
264
252
297
362
337
320
332
283
291
305
321
303
389
298
246
326
244
334
313
340
337
249
297
306
339
347
292
312
295
206
326
256
348
300
319
335
388
300
343
366
387
301
356
280
382
401
307
316
354
375
328
330
302
336
415
306
260
321
285
423
280
330
289
276
220
301
383
309
239
255
291
341
381
318
357
335
325
261
375
206
380
197
365
348
262
352
320
317
353
417
374
294
267
245
316
383
325
343
310
328
336
379
269
361
360
254
328
359
323
321
330
320
265
363
262
335
437
305
305
345
326
430
351
265
298
344
349
343
302
340
303
358
269
271
265
305
358
269
289
391
295
300
249
289
316
306
343
276
187
310
369
311
303
344
304
328
325
348
335
330
269
299
297
342
301
229
301
332
298
330
328
369
287
329
265
280
372
305
298
314
417
243
386
383
317
344
312
255
355
299
247
260
350
293
349
358
325
273
268
341
410
271
298
288
315
326
402
269
320
329
334
296
354
309
308
399
335
347
306
282
339
369
314
313
339
358
328
330
309
337
271
372
310
366
217
362
398
303
314
362
305
367
344
309
330
217
296
285
298
335
272
281
278
276
243
253
310
240
361
272
307
305
313
310
309
271
287
382
291
309
285
301
304
282
340
279
313
353
266
295
327
252
350
299
234
326
367
342
359
342
395
255
260
339
325
311
279
347
304
290
326
310
233
269
362
263
286
301
326
226
346
285
323
242
357
311
294
315
297
350
331
377
343
344
287
306
296
352
325
252
326
376
310
225
338
333
357
360
264
299
278
338
323
337
381
341
289
297
304
344
322
274
331
243
309
229
385
322
368
330
324
241
362
263
364
355
355
268
352
299
303
270
347
267
247
282
300
255
327
324
362
242
307
279
351
299
356
288
259
332
285
304
327
289
274
268
329
300
238
347
245
312
347
290
264
355
342
332
255
301
373
313
402
301
366
391
384
350
321
302
299
258
266
332
316
397
366
302
371
333
233
333
290
225
341
250
288
313
345
302
323
375
343
351
298
399
236
262
296
304
345
245
337
309
350
338
266
376
308
369
381
356
373
357
317
266
361
276
306
308
364
351
351
356
428
354
301
254
337
360
398
327
352
347
256
309
309
376
358
287
306
294
300
307
337
303
322
368
300
340
280
311
379
351
353
365
384
337
336
300
219
266
316
318
340
275
351
311
347
272
265
253
320
314
315
248
357
364
315
333
290
378
340
351
363
247
319
357
295
240
258
291
316
318
278
310
348
298
389
406
315
247
311
352
266
351
260
333
324
357
297
309
310
318
223
330
312
302
258
355
319
252
308
280
316
308
364
291
355
419
335
280
327
350
351
323
219
338
383
248
365
225
265
263
211
340
303
395
328
313
287
359
307
330
270
307
293
322
249
271
286
340
299
311
331
304
334
308
361
289
307
300
301
311
300
418
375
310
294
358
370
297
320
343
334
322
311
306
375
334
344
241
239
320
337
333
222
345
310
289
338
266
245
199
285
356
348
306
279
320
315
348
339
390
349
325
247
396
290
296
303
290
378
432
246
235
367
275
299
281
366
248
247
295
359
358
265
299
306
255
245
411
276
346
306
344
334
357
385
281
286
284
291
273
376
318
341
282
269
343
304
330
265
294
329
332
284
313
348
379
316
342
329
305
341
322
298
338
326
312
328
345
263
351
265
281
358
329
313
286
363
338
265
243
247
325
268
315
322
310
347
279
263
338
317
281
328
344
232
288
368
288
380
392
335
332
314
361
321
334
333
371
392
278
373
377
380
272
354
348
382
341
303
374
341
287
248
365
251
297
255
206
246
373
336
349
261
314
308
274
288
309
330
358
334
308
346
359
392
350
338
363
248
280
307
325
340
302
311
387
304
391
346
254
351
327
338
310
232
302
289
422
214
344
331
466
349
309
329
255
297
293
254
318
275
363
287
344
436
353
366
266
313
304
312
370
383
327
336
278
420
356
283
336
361
295
381
376
231
311
296
341
368
309
349
270
373
337
307
282
305
298
352
262
374
323
325
245
301
278
326
216
361
366
303
230
300
315
328
330
267
235
341
336
353
330
284
294
360
174
370
272
395
272
370
303
288
268
268
296
323
321
260
388
350
379
345
373
320
376
294
329
355
295
375
331
285
324
287
348
378
214
265
352
259
214
338
314
316
276
375
305
297
317
251
387
255
334
310
361
286
287
293
380
287
359
243
311
294
316
359
317
305
258
339
394
269
313
320
264
318
284
184
329
239
327
268
313
310
271
331
299
252
299
287
315
257
271
311
231
288
302
246
345
345
300
300
304
349
405
314
356
320
327
376
265
298
349
284
415
295
286
350
241
271
373
260
371
321
355
341
328
304
257
333
298
326
317
326
318
279
335
287
389
364
337
380
336
278
324
326
368
395
367
350
302
311
375
404
316
397
389
299
342
395
271
254
301
276
293
358
337
350
229
377
288
238
239
343
274
360
371
278
270
327
340
308
373
355
321
296
293
341
206
353
284
349
330
309
286
307
252
372
304
369
260
306
246
275
347
398
246
316
246
362
242
377
244
291
324
343
318
300
277
314
347
291
243
302
312
406
273
318
339
346
341
295
341
312
287
264
325
393
352
352
372
274
341
248
295
226
361
315
248
359
240
394
346
409
232
280
298
207
321
318
330
261
338
384
377
349
304
335
269
377
275
339
282
334
372
336
305
278
359
341
314
324
295
278
233
371
298
306
311
284
355
287
281
360
243
307
279
382
261
260
297
381
256
287
390
343
315
340
306
305
324
231
317
336
319
283
328
403
304
327
406
291
336
214
276
305
341
296
391
263
246
332
304
284
321
361
309
278
322
301
330
247
290
335
271
342
262
234
354
272
338
305
288
336
417
343
300
260
266
300
277
294
298
360
302
317
269
335
280
254
341
229
349
254
215
355
280
298
365
268
350
335
290
273
317
284
337
322
282
348
226
348
345
183
306
404
303
354
275
300
320
304
322
400
366
295
277
264
367
218
295
363
318
314
314
350
355
337
257
286
336
380
242
305
323
329
404
324
286
216
281
238
287
324
388
289
370
300
354
312
328
349
345
342
316
266
292
305
305
363
356
343
335
299
290
327
287
311
298
296
348
366
334
364
296
248
298
351
286
355
307
270
319
287
401
319
317
316
380
286
403
350
361
289
336
352
262
336
328
334
385
261
332
321
316
278
313
331
301
286
246
310
247
332
276
266
312
349
327
276
342
368
325
274
283
337
333
366
303
277
294
230
333
284
367
264
341
259
283
294
342
268
309
274
330
323
402
361
366
330
240
270
321
306
347
343
281
281
241
310
342
288
304
351
255
280
273
350
329
316
324
372
348
290
349
387
332
345
313
274
310
369
323
364
312
296
353
392
300
294
232
373
241
243
272
300
309
338
310
297
272
416
297
290
296
269
307
293
413
176
268
315
333
349
223
274
358
399
314
312
313
353
292
327
376
381
307
274
371
313
255
340
265
321
365
369
301
391
309
264
323
344
296
443
336
304
254
336
390
346
279
298
369
265
286
332
309
319
349
364
310
338
279
346
226
334
331
294
211
341
223
352
240
350
398
369
362
354
381
344
338
292
415
363
316
387
386
407
256
287
351
326
297
271
337
286
376
335
278
309
357
374
308
384
267
296
389
314
322
341
230
303
385
388
317
280
359
383
306
257
354
305
278
199
299
277
327
209
337
350
255
306
363
359
245
245
387
299
367
298
396
299
371
357
255
298
339
237
221
291
359
427
311
359
353
335
364
292
310
318
347
403
341
357
362
311
244
376
337
287
383
253
289
317
253
269
364
276
347
323
374
349
387
268
363
326
370
346
326
298
253
351
336
320
365
365
227
362
305
295
296
283
294
310
358
334
392
328
278
352
238
248
353
256
364
341
284
247
293
397
354
270
352
292
335
302
376
344
379
263
256
283
312
353
305
274
299
302
342
350
352
226
337
345
334
383
294
309
286
239
338
266
269
290
321
257
338
321
273
332
281
233
336
358
343
280
356
324
347
374
340
288
276
262
256
360
369
256
373
238
237
339
294
280
307
303
407
293
269
317
322
283
389
246
432
284
289
283
291
308
262
348
195
428
357
302
301
319
385
292
313
279
388
340
350
366
340
342
388
326
254
355
335
295
321
272
316
355
283
344
305
355
261
274
310
303
373
357
292
321
231
349
247
355
340
324
319
332
275
304
387
275
315
273
399
300
345
290
336
288
344
305
369
348
293
325
312
272
343
360
299
258
299
277
302
317
312
324
289
389
269
310
344
329
275
384
248
350
268
228
355
400
244
282
331
221
283
324
312
274
275
301
302
348
380
321
233
279
332
268
259
275
311
367
360
289
350
364
284
294
354
395
239
320
408
330
346
213
327
310
329
279
269
292
402
294
394
312
291
302
385
307
280
203
297
433
320
306
346
336
356
331
328
319
221
283
367
286
310
260
349
303
320
354
312
334
371
369
305
391
327
320
335
351
328
349
327
352
343
281
263
290
337
303
286
322
270
366
340
283
353
311
307
302
269
326
337
377
370
325
282
239
332
394
390
224
349
305
364
328
266
361
300
350
307
346
373
282
272
235
332
222
336
320
270
260
416
230
317
371
250
337
309
331
303
209
320
313
269
345
298
272
359
327
361
295
291
276
259
350
308
260
405
339
350
351
329
325
335
248
390
349
283
381
328
244
271
364
214
365
230
258
347
339
223
301
320
272
301
316
331
346
309
300
231
315
237
340
264
327
353
331
341
248
287
342
323
304
192
319
357
283
363
354
316
318
292
319
355
282
298
257
414
345
315
240
335
280
275
322
284
273
319
378
251
285
256
321
415
329
274
411
279
222
359
285
217
339
254
223
243
304
326
270
270
255
320
350
277
249
303
326
270
300
354
298
339
357
322
291
271
262
278
391
294
253
384
345
257
319
190
324
247
288
317
264
312
309
253
276
379
380
371
308
311
260
336
344
402
320
317
339
426
294
262
407
346
317
222
307
293
299
225
372
295
293
293
352
296
261
275
313
272
416
302
350
299
323
312
364
334
278
363
267
310
328
306
301
252
282
320
344
365
314
306
316
298
308
315
267
248
299
253
389
338
334
333
372
364
313
370
298
338
289
304
325
295
311
354
306
306
290
309
215
289
355
255
300
359
313
297
286
364
255
254
395
301
258
367
320
399
374
333
315
277
320
350
283
324
362
385
262
263
324
300
248
397
308
263
357
343
253
360
229
322
291
371
301
337
327
372
284
309
339
308
361
350
293
355
350
213
298
213
326
375
364
300
335
321
269
286
396
305
240
327
328
344
392
312
278
326
340
283
307
251
313
305
353
281
287
244
253
423
331
345
278
309
306
232
277
320
304
347
429
313
324
360
203
394
290
349
318
312
280
342
332
317
400
339
272
305
398
362
353
322
274
249
286
288
357
240
220
382
381
250
332
363
304
307
318
300
269
215
279
423
288
361
296
325
327
313
329
354
355
279
293
343
266
247
321
280
329
369
312
369
331
276
329
333
427
371
245
271
255
333
315
284
289
298
311
358
408
284
345
292
297
368
337
304
330
384
299
338
321
380
311
356
334
310
372
350
302
300
305
314
340
328
398
310
315
360
312
346
377
396
345
239
289
309
295
352
339
301
349
286
329
331
297
269
268
359
296
341
297
337
300
389
334
367
313
266
285
369
360
378
296
313
312
278
283
290
339
320
331
318
312
373
339
296
287
317
414
362
299
301
277
324
277
355
224
341
316
384
257
348
376
383
323
306
300
385
309
288
311
345
345
337
359
345
364
334
331
245
300
368
322
298
272
295
286
345
330
282
395
352
288
301
338
390
302
276
353
338
226
321
322
326
295
271
326
191
299
287
258
362
353
305
400
323
309
276
301
326
240
269
353
377
300
337
403
334
354
303
350
387
323
316
304
362
353
372
267
330
402
330
306
304
257
398
269
336
315
337
337
334
316
325
354
357
307
392
357
357
290
360
216
290
218
364
318
299
261
368
336
336
378
317
197
342
354
313
400
377
309
343
282
388
367
293
332
374
322
339
237
252
311
337
267
322
254
254
253
322
322
285
353
309
318
331
350
375
214
284
241
317
286
383
262
305
376
336
408
372
306
369
232
317
310
309
324
327
297
282
224
351
366
369
392
325
365
380
346
315
274
306
349
347
258
328
385
359
255
342
365
299
351
248
314
288
295
296
242
381
301
323
281
334
350
270
254
363
310
220
364
309
263
298
344
342
287
374
317
300
345
292
332
289
280
272
344
350
287
366
304
268
411
298
364
326
310
261
348
300
333
329
346
339
402
270
308
280
293
331
283
333
272
270
317
283
349
358
365
301
306
277
359
178
299
374
294
328
311
401
308
354
318
304
395
304
300
364
331
344
321
259
320
362
235
307
327
325
320
279
288
339
259
253
313
256
265
311
322
282
336
238
308
333
284
363
396
327
296
274
311
326
277
316
332
326
294
243
308
297
368
293
303
348
341
353
276
234
268
256
332
289
303
295
299
258
332
257
343
335
251
284
309
332
343
321
279
381
299
363
297
380
357
280
263
309
240
271
244
288
399
266
284
347
366
390
316
372
301
309
323
272
326
365
264
263
305
340
264
308
363
310
320
271
248
348
337
284
296
292
274
421
343
254
353
371
273
346
336
258
332
257
282
358
342
417
298
331
357
354
357
346
297
317
292
238
332
246
397
300
310
252
282
284
296
367
325
352
285
415
245
356
324
378
375
306
366
345
304
315
257
299
338
341
351
320
395
287
357
309
302
323
234
270
292
308
346
352
247
336
319
300
328
240
341
392
298
298
335
346
393
309
386
285
323
292
361
295
321
304
349
354
273
325
315
384
276
250
305
325
308
279
210
315
221
266
388
382
373
241
315
286
263
258
333
240
283
374
306
307
375
320
346
363
322
311
322
277
354
245
331
350
243
264
334
295
258
326
285
279
270
218
379
280
258
273
312
316
368
261
295
371
384
326
330
282
308
352
350
371
238
336
267
283
268
261
249
325
292
254
304
258
289
281
276
372
311
305
342
339
316
378
334
309
330
275
320
372
342
280
314
283
248
340
347
307
319
268
357
238
253
284
259
323
335
280
377
295
309
308
347
307
319
360
302
358
355
362
340
313
312
333
276
326
338
283
263
297
264
356
370
236
285
362
253
299
356
337
374
344
342
310
300
372
369
288
340
331
311
294
379
344
352
294
325
291
323
362
305
285
319
326
283
270
309
348
334
275
416
277
334
320
353
332
322
332
319
274
239
431
391
309
294
336
372
290
264
236
335
330
270
354
240
343
336
320
267
194
357
350
307
292
303
210
275
261
248
269
292
359
324
281
339
283
273
294
340
362
349
299
327
328
356
302
371
332
352
304
341
306
386
330
402
272
289
263
337
286
385
347
371
256
334
283
323
332
322
318
274
315
338
255
297
337
392
350
280
333
344
301
265
338
393
317
295
391
274
338
290
378
296
332
361
279
251
323
351
280
276
384
343
350
373
226
282
302
289
242
279
382
290
388
298
361
254
307
354
316
324
319
243
251
381
234
325
285
279
285
317
262
301
306
338
227
322
329
331
315
402
317
317
309
322
369
339
369
301
338
332
229
240
394
337
365
277
239
290
339
400
395
306
301
325
291
362
307
282
292
234
343
316
334
293
309
332
340
360
315
209
349
274
281
317
361
283
240
238
335
302
331
323
300
270
392
375
338
354
314
339
299
319
307
312
287
380
333
326
279
327
305
431
353
277
317
299
331
294
350
333
226
361
350
399
256
302
318
349
352
298
360
380
302
248
227
311
269
352
324
370
264
314
273
357
332
303
221
342
282
430
361
344
278
301
295
331
308
241
291
273
377
369
369
320
304
232
334
283
364
352
331
353
236
326
257
297
235
380
349
310
330
336
359
387
212
316
363
270
289
227
252
318
316
377
363
292
326
350
348
363
336
327
372
278
394
304
264
360
262
370
260
329
301
263
374
339
307
260
335
286
340
291
255
280
308
342
276
230
335
277
203
231
391
320
313
226
334
257
368
319
401
367
305
365
315
305
319
269
273
261
371
281
363
280
345
254
350
381
348
309
352
260
246
350
318
203
251
382
325
259
294
306
289
339
305
308
409
368
292
297
268
339
277
343
284
364
311
292
302
388
264
256
349
299
339
246
385
363
342
327
350
262
301
284
357
396
313
351
282
273
381
278
364
201
273
262
329
421
234
324
294
226
336
252
239
304
307
251
241
390
378
295
318
299
328
332
260
299
392
280
235
308
338
261
277
298
256
409
337
282
324
321
314
347
292
341
206
323
353
339
268
357
423
282
280
246
362
302
238
358
318
343
295
346
276
307
302
322
323
284
314
322
310
251
317
223
287
253
276
286
292
273
282
323
301
377
308
350
268
308
306
383
359
224
370
284
401
298
367
350
370
353
315
387
293
355
280
178
327
347
383
305
244
298
267
287
333
248
351
332
350
324
341
261
302
348
359
331
338
394
354
280
305
330
301
326
295
313
294
325
258
243
333
267
328
305
363
322
304
339
296
383
390
365
334
327
317
308
260
223
376
329
312
339
304
322
373
339
305
310
244
381
244
272
280
340
322
366
417
306
323
335
216
343
250
286
330
341
354
326
342
290
379
259
282
242
391
310
309
257
292
314
291
393
266
294
255
292
298
349
401
331
328
262
240
299
233
280
261
336
301
301
290
326
301
252
374
293
275
295
401
278
343
281
332
304
392
256
361
319
207
348
310
350
292
333
315
349
299
294
294
372
344
250
308
305
241
299
347
269
396
361
258
386
260
324
265
239
304
300
211
297
304
333
338
343
302
311
332
391
289
324
292
272
372
306
305
205
279
389
374
326
317
319
321
254
346
328
316
308
303
396
252
378
309
294
310
411
297
315
287
335
329
378
323
385
358
312
299
279
253
342
392
308
360
259
367
296
280
340
296
246
276
310
329
274
283
301
341
316
331
335
366
313
270
236
284
283
301
394
314
357
292
344
198
408
284
368
285
353
349
332
320
257
320
243
310
318
269
327
258
317
329
319
323
326
364
371
251
334
310
317
268
385
307
331
339
273
351
270
252
364
201
380
297
320
287
239
320
289
450
247
323
356
192
267
281
362
350
360
258
330
313
202
316
407
305
311
394
290
301
264
337
351
302
418
358
341
364
364
366
268
267
280
264
241
379
311
258
346
301
326
338
230
336
321
317
289
348
322
286
365
331
361
309
289
308
311
359
439
343
342
327
325
296
308
305
280
349
290
293
309
298
268
283
316
346
296
249
348
335
326
240
310
251
379
270
270
300
318
369
260
320
347
398
380
350
379
245
292
278
247
332
255
313
360
296
291
325
326
342
266
378
284
247
307
304
374
268
340
383
299
329
347
241
366
268
358
326
248
335
352
377
298
329
390
276
301
244
271
311
350
353
338
313
266
375
333
331
306
262
322
290
250
293
379
272
249
259
339
270
269
300
278
303
334
297
306
279
417
338
363
323
350
342
322
234
324
425
312
397
318
350
354
263
327
317
314
280
295
339
298
381
353
328
427
311
417
332
304
271
243
388
279
310
389
286
285
316
375
363
349
282
229
303
263
191
272
359
283
325
328
228
298
297
252
278
295
295
294
305
371
315
200
353
385
392
306
310
256
253
296
239
349
348
230
371
332
288
305
323
292
291
305
343
377
383
343
307
368
347
431
343
323
393
294
250
374
304
251
294
369
357
336
311
307
355
323
267
296
348
365
294
323
291
286
294
346
314
330
370
350
362
267
339
335
362
370
352
388
247
253
351
306
252
305
286
392
359
329
242
370
404
278
247
330
266
393
264
335
405
360
278
268
404
298
323
368
339
269
250
300
315
309
257
363
288
345
372
314
351
261
311
290
298
363
358
269
346
251
331
272
330
265
323
158
382
312
344
311
394
312
327
403
233
313
319
299
352
276
362
360
415
327
424
352
316
368
343
395
309
378
322
368
295
375
261
361
298
322
310
256
347
396
310
236
252
360
370
308
266
356
343
263
345
399
280
303
266
285
278
302
376
293
327
380
236
283
270
286
327
282
274
341
303
320
322
261
292
283
247
374
296
339
314
374
234
293
354
335
339
326
315
198
334
299
313
320
302
336
334
279
324
305
275
393
332
283
311
286
364
280
325
365
294
296
359
360
258
275
301
370
292
310
288
314
340
333
328
365
293
346
283
291
283
327
331
283
339
304
408
262
305
296
317
299
278
331
277
310
293
314
292
316
214
337
306
235
268
309
331
389
352
362
275
187
348
343
287
340
249
380
272
320
341
292
242
326
275
366
308
313
275
313
400
315
321
276
295
278
316
322
351
256
389
282
421
370
230
287
183
262
369
322
355
308
327
245
337
343
370
381
325
336
299
317
225
397
329
262
339
388
373
280
295
294
343
380
205
227
274
319
372
312
288
383
316
359
352
339
389
295
249
289
356
265
326
297
299
303
329
288
375
384
367
404
283
309
296
335
366
299
292
269
312
345
383
307
337
352
357
379
271
228
313
296
339
267
375
299
258
306
335
384
281
256
243
427
350
360
264
367
277
277
350
351
297
317
299
253
382
321
271
332
270
298
403
282
286
384
345
310
372
284
277
352
334
283
305
279
249
285
268
372
360
279
365
407
369
350
256
368
398
378
301
312
301
267
301
308
222
294
275
319
294
257
228
264
311
327
422
266
318
309
385
265
274
297
305
277
325
297
259
329
417
340
306
268
378
351
223
328
339
343
297
337
363
358
357
353
384
329
339
268
398
370
321
290
408
340
320
279
259
308
413
328
267
381
324
295
308
262
304
281
371
388
253
272
297
304
306
299
306
298
374
263
339
337
334
318
399
321
331
289
293
303
363
300
243
320
309
368
392
366
302
322
253
325
398
316
284
377
362
352
337
306
310
355
261
329
339
320
267
269
261
349
231
299
363
344
318
248
262
256
330
262
339
283
329
259
297
305
409
354
325
362
313
226
353
319
336
393
275
298
241
401
277
306
315
265
337
287
307
340
322
200
324
318
308
322
403
330
276
324
298
326
276
358
306
254
328
309
247
289
345
305
221
306
343
267
350
364
346
361
264
386
370
303
339
359
346
208
329
181
285
357
274
308
276
314
294
221
324
388
329
226
275
287
369
355
294
296
318
307
378
369
365
258
312
297
305
377
259
416
243
273
312
311
233
265
293
354
330
263
446
383
358
359
370
341
302
313
277
324
309
228
381
336
363
268
302
373
356
271
300
300
207
293
342
338
320
303
323
266
243
353
339
370
394
301
320
330
264
323
342
309
280
249
329
399
280
373
366
340
322
258
225
328
296
317
330
362
362
290
275
265
282
342
333
370
271
257
337
331
286
316
245
391
316
343
296
321
338
350
351
316
348
351
342
281
316
306
304
279
368
344
234
435
418
371
353
294
257
267
352
284
360
315
309
276
325
351
352
332
262
271
337
294
300
284
302
289
383
324
294
337
309
329
305
358
355
326
313
267
239
303
268
286
339
316
317
330
337
356
388
352
352
322
366
343
323
380
315
289
306
314
377
302
243
351
326
322
329
283
408
317
280
308
353
261
296
348
288
322
309
334
293
270
377
303
217
320
345
266
311
386
324
309
324
291
345
282
208
270
388
374
351
268
330
354
357
334
347
230
288
310
276
347
261
351
387
265
278
314
338
338
283
349
324
320
279
238
252
309
381
282
297
300
287
340
363
326
343
320
299
408
256
388
319
359
223
342
323
315
287
267
408
301
244
328
335
387
346
337
365
258
315
378
331
351
323
209
315
354
291
334
302
348
273
283
282
344
384
355
291
347
282
318
310
326
254
346
319
384
243
313
312
264
370
281
299
353
285
424
376
368
326
310
221
378
323
296
350
378
354
283
343
286
335
293
217
300
377
346
419
325
353
292
304
358
350
328
305
306
377
392
303
376
290
271
348
332
303
304
311
262
279
369
228
382
383
336
301
312
327
304
401
330
288
389
255
384
280
334
344
322
324
340
355
319
295
296
293
269
243
314
337
287
346
351
385
313
244
338
307
356
279
348
330
352
314
280
282
331
314
313
372
283
374
329
309
268
334
330
335
307
341
378
355
344
299
409
379
405
417
336
299
282
260
331
238
342
306
403
277
298
261
334
285
366
276
264
364
341
274
330
257
289
323
250
335
342
315
358
333
268
245
311
338
283
405
265
317
319
278
244
302
181
301
261
263
339
373
253
330
337
321
311
352
240
379
393
380
276
415
315
357
424
250
399
393
293
358
283
325
332
246
269
308
383
392
375
341
347
277
328
302
298
293
279
348
284
306
292
308
275
382
371
366
334
354
256
315
417
369
307
300
222
286
274
310
255
298
353
286
267
314
306
325
347
322
275
300
343
366
268
312
392
240
321
251
354
314
320
299
394
390
229
300
282
293
335
294
342
307
324
266
204
272
337
369
278
266
303
320
346
305
272
310
210
323
296
336
356
326
208
268
286
286
276
293
275
308
356
334
276
322
397
370
341
273
420
304
319
272
268
378
234
321
240
284
358
292
364
351
359
396
211
296
279
291
275
327
319
316
322
300
352
285
355
281
333
315
264
299
286
238
284
250
338
355
408
377
324
296
395
259
371
303
291
302
356
293
383
301
242
259
258
321
320
328
251
153
291
311
341
390
320
330
339
291
303
262
281
240
340
388
389
343
385
253
342
287
368
296
305
278
287
322
378
310
366
257
296
306
226
334
368
315
335
344
278
328
310
301
302
278
284
358
274
373
272
294
291
215
261
263
339
277
302
266
317
302
355
283
247
323
320
214
301
299
346
313
278
333
332
252
238
335
190
345
290
261
350
307
296
276
259
334
384
396
319
328
315
300
283
334
266
235
217
362
266
267
384
324
233
290
258
338
367
230
304
322
305
336
287
383
350
325
315
364
345
343
278
325
340
299
416
308
273
336
339
380
319
393
276
295
323
336
369
310
261
263
268
352
379
354
297
244
384
303
327
318
257
305
295
327
297
326
283
339
341
370
376
314
204
387
290
317
340
270
397
321
266
350
298
312
249
382
242
360
380
341
345
264
286
317
292
285
298
222
256
324
287
261
363
278
255
387
410
293
323
273
385
318
318
303
331
297
308
330
310
300
359
341
357
270
309
293
332
379
347
248
308
344
360
354
241
294
330
347
258
284
329
282
312
231
299
289
269
317
317
284
257
340
325
244
320
288
395
334
276
197
304
293
323
367
330
332
255
321
259
261
342
289
398
359
368
325
314
365
336
255
215
306
350
253
354
260
287
283
312
348
291
349
371
371
293
355
307
279
350
279
281
339
295
330
290
264
251
393
302
287
374
350
262
264
280
367
291
236
305
322
350
230
277
324
321
269
290
350
227
270
367
340
336
335
329
285
330
341
339
299
337
354
306
347
247
301
300
289
310
278
240
318
386
266
299
308
387
329
290
286
270
352
296
321
362
270
289
331
344
349
312
285
292
268
329
324
328
298
301
277
328
366
320
294
349
303
189
293
299
378
357
281
327
345
288
349
389
396
323
331
306
347
280
235
361
400
305
382
284
295
329
303
368
372
304
299
357
381
356
378
292
402
388
348
284
372
308
342
348
243
355
391
397
372
341
295
315
291
348
352
302
287
373
316
337
380
326
179
324
296
306
315
419
348
384
337
271
345
297
288
341
277
260
337
319
356
333
332
270
348
266
314
286
351
296
300
369
304
325
248
280
262
277
342
347
360
330
235
318
232
313
409
274
289
274
358
291
348
237
257
287
345
368
363
310
348
354
313
360
358
335
347
262
314
207
299
270
372
360
337
322
357
295
223
302
334
360
355
346
289
260
299
334
277
238
271
347
332
250
288
234
375
308
305
315
349
359
301
330
353
264
353
393
305
335
277
336
335
399
292
291
356
284
319
410
279
377
346
333
305
291
388
305
260
413
322
356
224
350
325
374
241
313
320
273
338
366
327
218
308
308
328
339
312
257
343
293
355
250
281
302
387
367
316
321
303
269
361
301
245
339
299
371
282
333
270
407
340
341
341
311
361
342
338
358
330
412
334
309
361
370
446
307
307
295
280
364
248
262
273
222
329
375
249
357
276
250
291
358
346
228
297
379
289
392
357
315
249
316
258
330
308
356
328
364
298
321
300
310
313
342
257
334
365
325
333
260
301
286
354
266
401
221
340
284
244
325
368
355
380
319
275
382
306
344
243
335
361
322
263
325
325
261
341
448
366
327
335
285
322
314
323
250
338
317
394
269
312
292
279
348
297
363
343
346
279
314
296
266
290
365
315
302
246
393
288
283
210
281
310
310
331
305
285
299
299
296
382
280
346
340
349
235
255
320
386
274
284
329
302
286
299
264
317
270
314
266
398
383
196
253
300
377
286
232
345
365
329
348
327
292
317
300
348
292
253
358
250
299
325
287
292
320
340
311
374
315
286
279
265
378
358
312
308
334
358
249
361
293
333
385
261
251
279
227
345
340
307
317
340
341
393
305
297
354
343
372
441
319
353
258
358
362
353
283
374
383
273
279
221
280
260
268
346
317
239
399
266
350
336
372
351
359
335
274
295
276
297
321
239
370
309
288
322
284
360
305
235
240
313
312
267
294
370
367
244
311
374
344
337
240
300
311
386
336
204
368
349
264
357
260
240
301
330
269
303
363
331
252
287
324
247
359
336
228
294
301
326
337
319
308
348
325
351
303
342
288
250
369
362
251
329
245
393
323
275
300
228
234
205
318
378
373
290
328
251
278
286
328
337
260
412
262
296
330
349
320
374
332
391
320
318
436
370
349
335
356
293
253
356
423
293
342
344
334
284
224
252
334
358
395
394
301
376
314
264
405
229
326
371
343
405
321
266
237
349
249
347
289
302
360
296
348
337
381
243
351
298
298
222
345
345
282
357
348
302
296
268
362
368
290
329
301
295
338
259
285
295
321
342
294
385
289
329
276
261
363
344
343
267
297
374
330
341
347
312
306
380
415
376
338
400
263
303
329
305
300
307
207
346
381
255
360
328
322
342
392
305
351
317
304
321
349
272
336
310
234
243
345
389
378
361
401
317
337
226
310
349
228
245
352
263
320
335
266
255
302
328
314
358
335
332
342
283
305
289
340
335
287
354
395
324
326
366
253
311
333
319
327
387
390
264
395
289
306
319
334
245
380
305
369
269
354
342
356
354
323
302
333
357
354
345
296
307
304
274
365
290
342
289
352
299
275
347
305
288
252
346
314
352
303
358
280
360
252
301
333
335
341
323
295
277
323
268
342
330
391
353
319
293
287
398
348
262
337
384
256
310
304
315
329
304
309
407
408
318
291
293
229
279
206
329
317
313
314
333
288
384
297
338
310
335
353
223
389
263
286
341
370
304
363
268
270
277
264
325
331
364
352
324
302
346
323
275
306
397
316
327
293
315
282
328
342
319
288
345
353
302
322
264
332
292
331
409
305
276
264
378
260
401
364
271
279
328
267
275
326
286
263
304
362
221
345
317
354
291
313
331
290
352
281
413
366
256
287
315
317
360
343
276
219
264
331
281
361
297
267
318
270
342
260
256
393
262
347
358
394
387
368
428
390
326
301
285
317
299
346
331
263
398
252
317
386
272
260
268
306
340
278
373
330
316
357
377
312
287
311
317
378
223
347
317
310
394
331
345
376
342
311
247
287
315
332
340
349
337
349
293
340
314
285
286
325
266
278
319
368
255
289
285
271
306
353
311
276
326
298
334
259
304
324
287
267
324
320
287
382
341
282
341
346
311
367
213
383
300
351
269
306
278
250
333
335
394
331
352
264
295
312
298
370
348
388
290
331
273
183
296
306
351
278
365
280
274
317
358
342
281
289
326
329
362
256
336
314
258
346
344
298
287
264
264
307
279
317
342
290
310
295
331
370
258
237
342
281
353
311
291
252
352
316
349
351
282
259
273
296
393
231
306
328
258
271
359
349
316
352
292
335
340
386
269
297
346
252
278
346
358
255
267
341
342
325
326
350
291
276
271
363
329
244
319
237
326
325
365
364
267
349
327
396
256
351
266
377
397
297
272
380
300
247
334
347
380
354
368
345
309
333
421
270
319
305
320
189
340
232
337
318
287
331
393
287
335
348
267
313
356
314
238
245
305
332
409
225
344
329
346
314
412
372
364
366
385
316
217
250
357
300
299
274
300
171
350
364
299
322
345
387
385
293
235
400
316
328
306
299
264
309
328
388
215
293
307
291
336
281
312
329
339
319
375
303
279
271
319
361
329
360
313
257
296
382
296
367
388
310
327
377
397
396
245
347
230
333
349
226
309
361
400
301
340
387
347
326
330
308
281
193
415
301
365
384
390
318
278
285
371
339
259
309
275
234
325
290
253
373
379
313
248
319
349
377
253
319
384
336
353
333
235
372
325
349
354
303
387
353
316
309
341
294
302
214
274
276
290
315
267
306
287
259
235
300
391
291
329
306
320
283
268
282
296
324
330
380
336
290
322
259
339
349
395
339
364
246
279
304
327
299
255
350
346
376
292
343
316
279
278
392
301
333
369
300
310
362
295
318
302
300
290
344
321
331
324
433
314
308
370
286
411
381
343
275
274
309
318
273
265
286
261
323
358
355
237
324
354
346
329
295
283
217
169
386
300
298
278
333
367
291
356
216
297
251
305
318
326
397
264
308
340
304
276
306
300
261
330
277
304
363
309
350
270
236
345
357
360
352
399
268
286
237
311
399
285
343
365
346
375
294
305
268
272
329
327
260
254
305
308
278
297
329
275
373
328
345
319
339
369
357
311
316
239
273
235
340
270
368
308
349
349
282
257
171
376
300
349
250
282
271
293
285
194
317
365
218
345
334
366
355
239
321
315
278
299
266
401
344
325
265
366
236
314
275
342
292
337
298
361
375
244
342
312
316
316
317
274
281
292
247
280
316
297
318
300
410
328
300
381
286
269
320
416
247
424
349
307
289
295
343
328
304
341
299
340
327
369
300
363
270
332
354
273
310
270
198
350
334
277
351
336
314
292
341
318
296
399
336
278
317
354
293
244
290
392
269
298
340
374
326
309
350
286
298
264
214
339
287
320
314
282
265
218
292
350
340
281
283
357
278
414
321
273
292
372
337
324
323
296
383
314
254
389
317
295
270
282
361
314
288
336
268
357
333
366
319
299
351
328
326
277
333
296
319
381
317
357
366
283
365
283
300
286
339
313
339
332
330
285
427
282
259
328
307
372
285
253
282
402
305
340
350
354
277
356
321
330
272
322
364
333
399
279
379
317
374
392
347
293
245
279
362
437
266
303
278
207
295
272
308
259
296
278
324
301
312
327
317
238
285
375
322
252
303
309
420
324
289
313
241
330
294
327
324
325
409
309
305
274
323
372
227
307
316
354
291
337
275
373
276
331
297
321
331
257
391
278
298
328
264
323
309
297
289
318
284
407
384
283
397
356
353
395
316
353
332
273
293
278
351
356
383
357
348
317
322
303
350
368
189
228
294
216
267
349
341
319
281
262
286
341
364
263
277
253
265
330
307
315
269
361
358
329
287
281
370
339
271
317
369
314
325
353
309
273
251
260
341
348
303
351
270
354
396
306
268
270
321
307
319
305
285
365
389
398
351
338
325
274
321
346
300
387
280
362
301
311
317
352
379
311
247
353
367
390
381
300
286
349
323
363
292
332
370
329
276
375
277
263
304
375
339
359
304
331
356
370
273
327
249
290
332
413
363
340
400
367
317
312
309
207
255
348
316
356
349
291
349
363
280
263
290
247
334
355
358
251
333
279
317
389
267
329
316
326
342
298
274
273
387
187
403
310
352
303
332
298
324
309
307
380
275
287
321
284
359
286
359
376
333
363
358
272
282
315
306
382
307
314
317
258
287
328
266
275
300
188
260
323
339
306
295
333
288
381
299
279
259
309
315
349
278
292
324
362
399
336
336
354
284
304
263
333
343
335
353
284
361
280
339
320
310
281
285
380
306
356
326
254
264
335
323
247
306
402
333
314
301
415
347
303
327
296
307
255
309
353
297
271
331
279
373
361
307
364
296
349
351
261
361
402
360
260
391
234
241
357
303
275
261
295
442
361
397
386
307
312
322
420
310
330
358
307
318
309
276
340
371
335
315
327
360
315
314
309
299
333
327
323
420
388
330
393
324
280
279
267
284
313
318
370
261
355
328
217
214
305
313
314
310
346
410
258
307
377
282
278
292
266
311
331
351
241
352
359
376
298
404
352
288
342
355
397
320
310
383
264
367
314
244
229
386
359
241
362
304
328
331
250
239
322
319
313
316
293
311
355
220
361
336
360
337
278
314
295
257
348
226
289
333
368
280
382
244
258
405
324
295
294
308
321
367
304
299
317
301
294
369
273
372
380
241
335
305
350
269
244
338
382
289
324
301
287
352
279
285
360
262
307
256
296
361
306
255
334
293
304
276
398
354
358
301
305
306
315
365
322
356
232
313
310
317
336
376
357
352
382
366
353
215
315
361
304
314
234
305
355
288
304
347
261
326
317
314
236
325
292
346
407
251
309
369
340
293
227
328
323
356
221
293
345
336
271
316
274
327
357
326
278
261
275
382
362
323
370
316
250
307
331
366
279
322
297
289
245
312
358
346
357
305
320
352
282
286
429
266
331
245
323
298
310
264
242
255
266
406
382
207
275
256
264
272
317
349
294
291
330
315
311
272
340
288
398
292
236
355
280
310
311
282
309
325
339
350
268
315
362
320
380
378
228
317
357
368
263
284
269
308
360
292
283
326
273
394
383
196
356
291
335
310
290
415
302
346
330
358
300
288
361
407
362
374
363
311
315
320
227
393
346
363
222
294
273
312
374
354
320
348
332
351
289
265
292
330
313
361
215
325
387
355
244
318
312
335
300
300
284
292
357
294
362
294
296
345
219
235
336
314
339
293
351
300
297
367
341
319
317
348
279
250
257
323
272
367
289
284
347
307
230
299
324
214
289
399
242
388
299
256
306
310
197
340
198
294
282
298
348
342
415
342
353
291
232
247
244
305
356
311
284
298
256
313
336
273
320
316
256
304
386
270
366
289
230
292
251
256
230
351
297
280
328
333
280
272
331
329
384
280
363
361
363
295
444
403
243
274
312
287
304
258
280
322
323
349
392
286
345
342
301
305
372
283
344
306
221
377
360
305
253
334
347
310
268
244
361
181
343
366
391
345
265
389
398
336
320
257
242
293
278
407
315
395
323
412
304
378
316
343
264
311
302
371
313
328
355
319
260
297
370
399
352
316
307
394
318
242
221
309
344
287
321
409
372
299
304
316
304
317
305
392
246
260
243
355
326
364
350
302
290
287
309
337
257
383
401
354
281
265
252
299
369
266
337
355
300
402
324
333
285
357
332
377
338
297
328
389
324
280
308
395
364
279
300
331
300
315
223
324
338
311
299
347
333
291
312
306
280
350
312
315
337
372
276
312
305
344
343
325
301
374
289
341
382
366
296
289
235
291
307
337
287
343
326
301
367
295
331
309
324
337
309
309
341
376
429
373
232
331
267
321
289
368
305
285
357
313
300
357
408
330
269
357
352
324
275
404
306
346
276
359
271
343
300
321
279
346
316
294
367
334
343
264
305
316
325
205
371
314
297
351
361
282
329
294
308
345
347
355
304
310
342
372
402
342
366
381
231
359
391
315
304
366
243
362
341
282
294
359
332
291
275
363
348
274
298
226
335
362
329
279
285
246
286
274
342
287
340
357
354
326
254
369
295
307
315
372
335
348
299
420
310
177
416
303
361
325
333
256
235
357
331
314
362
279
343
356
279
274
353
306
328
333
313
310
360
355
375
303
329
346
220
287
328
340
290
364
303
311
290
298
352
318
280
346
268
324
382
289
347
284
268
302
284
250
335
285
387
398
327
333
333
305
436
316
312
325
317
353
340
284
335
335
321
265
258
289
305
356
313
349
274
212
329
296
383
332
352
296
372
334
357
357
194
309
302
363
356
207
297
320
295
306
329
313
377
281
297
315
319
311
325
303
347
351
332
235
291
318
341
312
279
248
316
386
315
278
284
286
370
296
353
268
354
331
300
349
286
322
278
273
306
305
274
324
343
358
289
258
343
300
363
292
321
376
374
270
279
262
342
300
335
275
351
262
309
310
336
368
270
345
347
308
372
366
315
388
352
315
299
240
318
330
307
266
340
331
332
235
367
220
375
317
314
319
308
314
294
358
348
246
232
403
339
305
369
261
251
195
255
293
358
285
314
309
394
335
323
320
339
320
343
286
301
291
325
281
308
263
280
239
292
283
320
316
284
307
330
278
254
394
331
384
357
357
279
237
333
326
330
318
307
329
261
350
366
370
369
321
337
261
332
297
322
372
251
286
215
251
312
287
313
357
287
244
250
298
331
358
263
305
293
288
307
297
346
296
270
374
287
386
307
259
346
335
378
406
293
326
283
250
366
320
299
341
342
354
288
245
185
280
364
377
391
372
395
289
283
240
244
336
286
335
353
321
304
371
382
357
167
382
289
311
314
271
307
355
327
316
253
298
333
339
284
315
307
225
298
275
343
361
352
322
334
380
238
334
300
298
329
359
308
360
292
310
274
359
387
308
368
284
243
357
285
337
316
313
267
326
365
359
358
347
301
314
333
238
275
217
336
366
277
283
333
358
271
350
256
285
276
277
343
312
296
383
266
311
265
345
279
364
368
276
285
273
331
303
289
349
345
242
364
320
362
334
343
248
269
313
322
295
301
300
389
262
337
306
338
302
379
348
356
390
270
219
337
308
304
309
224
260
354
335
311
324
335
398
390
329
308
222
303
345
347
328
354
316
350
348
344
298
299
358
318
303
294
373
313
229
355
295
259
264
274
329
348
306
251
224
282
262
343
271
354
324
383
322
241
329
353
361
296
243
341
279
315
300
294
356
316
399
232
380
279
303
256
319
284
294
390
379
371
333
320
277
295
317
295
225
267
360
268
320
287
308
289
294
305
344
282
340
321
304
265
335
259
340
342
364
346
230
326
277
327
283
287
321
307
234
227
264
315
269
369
253
320
356
306
259
349
324
320
304
268
404
337
276
357
272
332
263
406
247
360
386
347
289
243
334
349
349
318
290
347
250
356
225
304
371
376
269
281
279
363
378
309
349
291
337
305
392
295
384
311
387
301
306
251
359
264
324
207
342
276
333
336
319
333
356
342
299
266
400
198
374
209
345
366
282
295
328
277
477
414
337
378
302
304
352
373
268
267
192
252
361
307
369
356
334
341
284
335
326
335
328
264
346
344
264
386
245
318
304
314
294
324
341
389
371
326
332
276
259
315
298
312
408
323
244
396
339
325
307
314
355
394
327
354
457
341
302
340
289
322
292
436
308
236
339
346
378
347
338
314
404
356
347
298
390
295
328
350
308
372
384
267
334
295
317
311
391
381
286
308
371
285
402
276
307
275
304
351
275
284
286
323
365
327
401
348
310
293
323
311
240
244
314
434
283
233
306
314
330
400
360
224
389
302
396
305
295
332
348
343
411
325
363
361
306
259
266
281
332
388
293
262
289
277
322
361
363
276
225
342
288
385
323
327
270
358
357
284
337
301
338
365
304
245
265
264
319
306
366
209
343
380
352
289
326
301
289
388
359
324
311
367
299
288
320
283
332
414
314
299
253
244
276
284
260
361
355
343
350
263
279
345
314
328
246
364
342
359
410
320
338
279
398
289
273
330
325
318
200
327
270
344
380
302
398
303
332
255
382
368
349
335
240
262
344
356
276
373
348
336
390
377
360
262
344
307
296
344
293
320
379
246
309
342
326
315
272
352
362
330
329
331
314
422
295
287
319
216
299
250
204
362
248
270
410
321
335
348
373
216
312
250
290
253
244
393
179
315
241
320
276
362
353
320
318
359
379
381
423
376
308
344
307
287
187
412
249
323
294
265
352
277
311
337
313
292
302
351
318
285
312
323
340
275
330
292
273
343
373
316
322
350
319
362
318
271
323
204
260
326
438
322
275
336
399
359
334
275
371
243
331
313
288
324
296
333
260
363
356
277
239
308
285
219
257
320
296
303
305
229
319
362
278
332
353
356
358
334
358
284
304
335
256
344
322
322
379
257
275
394
276
261
300
284
286
318
304
327
318
322
354
323
356
342
290
169
256
334
240
386
365
270
309
311
302
446
266
216
302
259
247
390
267
338
285
247
322
367
249
276
309
293
320
290
327
332
317
294
350
308
255
199
282
337
312
281
321
304
357
328
365
348
322
335
342
307
315
362
370
231
243
393
287
250
345
277
225
346
285
300
283
374
241
299
297
321
376
342
287
394
288
288
232
232
294
226
295
289
297
334
338
367
300
327
320
339
360
271
372
281
272
262
275
277
376
339
262
293
348
307
216
381
312
346
299
310
379
346
199
361
368
330
367
254
385
332
276
351
325
354
282
260
347
388
336
306
318
295
330
262
277
255
342
351
405
370
322
259
285
324
349
323
428
288
351
334
276
307
260
305
282
333
286
375
323
292
302
380
361
275
331
323
262
260
363
375
334
298
365
307
328
290
286
331
329
330
360
349
341
403
418
365
230
329
252
319
319
301
355
426
299
292
305
387
341
238
388
278
279
334
295
295
357
276
295
327
375
297
322
298
368
292
302
305
340
350
284
346
236
322
283
318
336
283
319
332
414
430
275
335
349
357
345
291
314
322
289
249
388
292
312
356
368
207
277
346
252
332
359
225
339
329
315
352
361
348
281
273
320
279
326
306
326
361
315
289
281
368
319
318
258
355
327
309
399
289
303
315
361
328
274
351
340
284
299
399
402
311
274
377
273
324
352
363
392
372
281
272
337
240
286
336
359
353
330
333
338
330
290
326
234
270
286
305
283
297
352
333
306
356
306
256
271
257
385
287
329
313
380
349
343
341
289
201
402
327
429
374
357
235
347
366
377
318
295
277
325
296
330
349
235
305
368
404
331
353
305
332
339
267
343
305
210
260
301
223
425
269
286
365
358
314
331
215
350
302
349
260
329
238
215
339
306
364
307
335
347
364
352
299
348
384
251
357
309
209
388
354
333
309
259
363
207
378
329
273
266
249
357
300
372
329
325
315
239
239
289
317
320
276
296
265
316
342
354
401
300
324
288
312
354
206
355
272
282
352
346
402
330
408
372
275
236
285
340
299
281
310
277
310
298
362
289
394
198
265
292
276
304
314
292
349
358
335
291
284
252
304
255
305
300
285
302
303
300
253
361
428
362
343
360
259
399
250
326
379
341
315
331
253
291
312
340
317
226
307
318
274
335
363
305
310
368
353
348
389
347
340
319
373
400
363
271
370
384
281
253
370
312
323
247
330
315
294
381
284
332
302
261
249
366
318
327
335
363
319
304
334
327
313
343
299
200
254
296
318
259
271
307
274
311
337
383
329
314
285
276
246
298
418
288
342
368
226
311
295
390
359
339
317
204
365
387
311
373
350
311
279
284
305
258
311
301
315
353
365
299
336
314
350
265
355
385
350
303
339
346
273
260
333
341
313
268
319
357
286
338
290
370
328
181
339
324
359
329
304
254
374
377
309
277
309
360
308
259
346
336
228
329
267
308
333
292
318
390
301
398
366
325
342
304
274
308
249
342
293
259
333
381
327
314
220
317
309
343
303
382
302
312
229
285
249
346
349
284
265
319
309
305
372
265
256
224
403
344
310
360
333
416
308
277
405
329
257
258
296
343
302
405
320
348
396
316
277
291
320
217
278
337
394
356
351
340
378
302
272
291
320
322
350
315
328
308
334
416
349
252
248
300
289
295
303
367
322
382
350
349
344
368
321
247
350
288
321
330
314
346
282
271
342
301
323
298
328
365
268
304
343
329
374
241
297
258
254
366
339
355
325
370
289
265
349
345
382
336
420
330
275
408
322
352
370
399
318
329
326
268
308
380
321
281
371
250
312
352
300
317
396
305
315
164
356
306
320
328
326
301
377
245
349
297
347
384
325
318
257
313
297
263
393
337
288
378
332
272
262
295
281
273
294
315
282
243
359
257
310
319
329
366
330
322
350
291
312
248
378
339
299
233
319
377
318
270
316
380
294
292
339
376
376
358
329
324
344
267
322
264
304
289
312
383
323
335
258
349
251
318
209
371
352
316
239
325
310
316
332
179
246
213
349
309
341
406
357
317
237
268
240
308
404
280
274
317
286
294
363
299
348
388
281
303
266
304
355
311
331
292
389
316
408
381
268
297
310
382
231
321
332
290
374
356
333
244
343
373
295
322
316
294
181
275
242
302
269
303
420
330
271
246
367
289
225
294
320
253
348
316
383
305
260
115
345
312
269
368
329
248
265
326
326
320
345
305
308
385
330
327
306
330
342
258
243
283
278
352
304
327
387
277
378
258
249
326
207
211
323
243
339
277
275
327
245
361
395
340
366
290
234
309
331
309
298
337
268
252
322
387
300
283
278
325
328
351
190
278
347
293
300
421
235
338
274
361
346
366
250
256
319
346
346
270
323
374
298
244
292
283
328
294
275
264
390
386
342
286
360
344
242
354
294
265
309
360
244
368
389
296
410
362
278
371
307
297
334
429
329
243
388
268
271
353
354
313
334
235
344
343
331
332
263
297
234
382
311
331
299
237
312
312
276
367
350
368
273
362
226
326
294
382
287
395
280
301
365
345
281
308
365
294
353
289
314
240
292
228
327
251
340
355
304
358
366
295
365
381
301
463
343
358
267
265
322
332
238
352
311
298
360
299
300
358
331
220
348
348
363
269
365
373
333
356
355
337
351
256
379
290
282
343
307
333
351
335
295
271
292
307
321
406
280
332
355
400
383
258
310
400
271
352
320
302
333
321
400
349
332
355
381
378
327
270
284
395
311
298
252
291
301
375
311
410
339
319
316
279
278
414
388
343
323
281
327
232
327
299
271
341
327
292
282
339
340
371
273
319
302
363
267
340
416
393
212
360
384
357
324
315
339
326
278
258
355
340
311
262
291
334
315
335
300
255
268
344
289
325
325
294
304
338
367
335
256
306
269
347
257
330
398
239
302
362
279
371
268
302
305
292
314
268
310
341
260
266
350
260
333
284
363
346
346
313
351
256
400
306
341
349
278
366
354
344
333
256
296
299
334
348
329
303
339
330
325
324
342
249
269
289
328
324
350
320
351
271
415
300
345
332
364
327
263
318
327
299
340
340
309
269
332
334
336
285
269
315
351
377
310
309
392
334
360
289
357
290
229
289
306
306
310
308
321
348
292
334
381
240
304
333
387
299
323
287
429
339
298
318
326
312
343
305
330
349
345
312
344
377
325
321
275
415
278
339
319
315
363
329
322
374
370
266
360
361
301
313
349
329
344
296
336
306
316
285
228
324
270
395
330
322
290
377
379
333
297
366
289
294
298
249
330
318
362
339
389
414
341
265
272
286
305
322
283
381
353
347
334
307
308
289
261
353
221
304
301
329
314
346
268
357
362
394
333
345
350
328
354
266
293
346
330
370
322
254
355
275
281
314
315
259
307
351
384
336
276
297
364
308
339
329
357
374
181
329
311
384
341
288
340
304
372
304
254
292
400
287
349
268
408
296
351
284
308
276
301
316
359
258
277
338
360
245
267
293
310
352
314
258
402
297
294
312
292
269
355
268
333
341
261
360
328
347
329
372
278
332
358
286
365
349
294
279
332
270
399
300
263
359
349
286
279
271
308
305
387
315
255
359
333
338
403
319
238
327
259
316
315
358
378
266
360
318
264
303
296
282
320
335
207
223
331
219
304
354
308
307
283
251
274
297
278
284
299
352
307
286
246
222
358
336
371
304
346
298
292
326
324
304
259
419
227
321
285
275
341
323
297
329
268
292
291
339
340
325
358
263
247
304
312
347
265
330
303
316
281
324
348
323
281
392
453
216
219
375
270
303
336
347
228
353
321
298
275
305
321
321
314
265
298
281
284
358
300
286
290
267
289
370
294
284
316
387
246
378
333
356
297
428
271
315
272
350
383
270
351
310
296
322
307
358
372
344
368
359
379
363
289
347
341
343
357
284
289
319
367
366
259
360
319
226
361
289
313
327
327
324
331
373
420
279
319
280
341
202
357
262
346
253
243
351
383
342
275
254
365
318
277
381
381
322
338
375
347
298
359
362
311
269
310
271
363
378
243
365
335
307
260
361
315
326
305
337
335
309
348
290
315
279
390
365
378
322
361
356
275
308
299
323
298
287
348
331
300
329
270
406
366
313
308
296
246
308
347
402
216
367
336
305
305
216
352
298
359
233
290
283
310
292
238
390
299
300
317
378
358
282
408
381
362
254
309
315
284
305
380
415
247
341
327
340
345
268
309
364
331
339
321
294
383
258
289
319
271
336
257
327
286
329
266
352
302
278
305
291
314
349
291
305
214
348
223
313
319
312
306
424
274
298
300
345
306
411
352
343
280
358
308
380
378
287
218
326
299
388
289
269
340
323
313
327
325
314
301
347
205
333
377
326
275
323
249
344
315
317
351
339
318
235
401
321
299
234
382
212
294
346
398
307
261
324
332
339
320
252
262
267
315
305
398
347
308
324
288
283
271
287
345
271
356
270
339
357
329
334
313
333
262
282
330
373
346
248
327
297
312
306
319
280
387
350
335
300
331
358
328
313
334
316
311
402
357
340
321
349
353
326
349
298
274
357
387
276
296
382
365
240
283
271
280
325
379
273
349
350
322
235
366
288
281
338
328
332
360
380
327
348
363
353
292
302
285
262
231
264
308
320
293
323
329
317
280
314
254
379
374
314
271
308
281
349
341
351
287
212
350
261
220
332
237
314
382
309
296
330
286
368
293
268
269
284
255
226
371
326
315
372
320
304
334
333
368
267
404
329
341
336
255
274
367
235
331
248
290
424
330
359
342
308
207
253
310
327
289
318
338
386
291
428
370
365
364
265
386
224
382
342
278
350
290
295
381
296
285
332
258
205
265
316
260
394
400
347
336
259
353
382
363
304
365
332
282
271
357
271
363
397
329
335
304
275
305
302
259
349
333
377
315
330
249
347
249
377
336
386
283
310
290
342
381
316
266
274
264
351
333
300
324
294
301
246
373
322
298
312
318
349
371
333
298
319
254
356
320
319
311
318
306
340
295
314
331
295
340
376
365
157
326
382
311
372
392
302
338
342
319
344
311
414
296
338
358
402
335
412
270
378
270
369
299
308
270
334
341
334
325
318
289
221
337
331
327
317
367
293
290
273
259
369
301
344
299
315
259
333
313
301
279
253
310
263
282
287
217
358
290
254
332
312
349
237
272
312
282
223
333
332
275
243
376
329
330
398
270
311
269
323
285
306
298
386
353
288
275
239
271
288
271
321
268
255
245
311
355
290
327
245
300
268
395
367
284
338
304
312
341
259
351
314
285
361
302
355
328
350
397
339
326
368
248
327
351
338
373
268
318
202
372
385
377
202
370
339
277
306
273
369
398
286
338
281
299
351
369
373
222
276
315
299
251
353
297
321
298
313
270
388
322
330
225
233
276
281
389
272
416
285
394
294
299
272
306
212
346
335
211
371
270
333
383
344
251
366
316
289
318
285
346
394
359
278
315
258
370
355
349
251
330
214
308
320
331
255
279
288
246
352
359
347
260
299
290
334
259
266
268
309
355
219
238
313
371
319
398
325
372
367
311
276
422
352
342
341
372
330
356
320
378
333
299
287
337
248
279
356
365
360
340
349
281
312
225
285
347
287
330
314
348
237
364
325
309
372
313
408
284
288
386
344
363
311
240
274
374
319
301
260
373
330
208
312
345
264
355
231
279
415
269
302
340
240
386
338
363
341
315
303
387
321
307
343
386
297
287
372
320
289
317
246
313
372
304
315
370
289
313
318
290
338
271
265
271
339
344
286
353
279
294
267
322
260
206
232
300
236
253
384
338
319
246
263
310
412
303
326
240
319
334
277
332
323
365
324
287
328
259
354
310
271
286
270
346
264
337
341
286
318
276
355
376
420
359
269
307
364
322
291
325
345
303
315
318
290
344
428
338
232
338
330
318
340
317
322
315
373
309
299
328
353
270
353
325
328
247
316
283
344
274
322
294
289
300
402
326
293
179
360
356
325
362
352
366
340
286
356
379
338
279
370
204
257
295
271
354
312
357
284
352
315
359
295
334
324
385
327
329
234
312
279
233
339
236
338
259
310
293
306
410
275
282
270
346
306
285
279
310
303
308
339
321
377
182
246
358
361
265
396
333
298
277
279
356
352
342
308
376
368
372
293
337
300
260
297
312
317
324
339
424
372
377
362
307
374
188
403
331
278
272
340
291
317
271
377
331
268
276
318
298
319
323
291
370
363
299
252
299
278
249
268
318
207
314
345
307
309
267
306
355
379
357
328
281
377
411
261
314
344
339
339
303
293
359
360
380
275
295
320
356
299
361
330
354
290
343
310
384
292
289
224
435
300
352
329
356
314
279
302
339
346
322
399
342
388
326
269
319
322
247
432
254
309
279
280
294
337
374
284
344
246
332
252
349
346
286
323
259
271
321
215
404
309
333
350
386
316
311
344
302
288
320
309
226
307
217
335
326
336
308
242
230
279
291
324
246
276
276
335
343
368
317
401
359
349
314
354
293
282
290
351
262
347
280
305
343
369
347
290
232
350
345
331
257
327
302
282
315
372
368
299
300
278
320
305
250
405
292
333
347
368
306
346
356
360
214
294
235
330
255
353
237
349
262
304
296
306
368
297
254
264
386
360
334
365
345
308
314
287
313
337
247
331
298
342
271
354
359
334
357
333
269
291
434
358
322
261
277
324
211
259
255
307
373
269
306
353
345
263
311
328
346
316
210
303
275
313
279
388
332
336
329
353
281
405
306
288
239
315
288
309
267
352
266
359
434
371
223
284
319
333
296
301
281
325
232
295
262
265
290
228
249
253
277
261
303
384
262
274
332
301
307
316
329
277
263
352
319
307
234
346
323
225
365
366
313
320
353
296
302
327
261
298
296
319
305
400
322
362
386
302
297
443
277
343
337
373
284
386
384
323
262
401
311
296
305
310
351
335
229
216
425
270
262
389
294
283
282
310
336
288
341
317
290
357
300
316
352
369
312
306
373
333
356
308
385
243
340
342
349
220
286
263
344
322
293
250
334
349
340
382
290
214
320
325
340
290
216
393
284
282
316
364
310
338
319
287
266
307
273
302
246
312
279
411
302
307
380
303
367
277
276
351
282
339
335
223
225
316
292
228
372
266
377
273
324
264
334
275
390
296
395
294
301
316
378
292
361
330
308
236
226
370
335
303
353
367
312
295
306
342
301
301
290
319
304
344
321
231
220
331
364
344
277
244
299
295
359
360
270
325
364
241
322
366
215
353
276
271
342
333
325
222
293
346
313
302
319
290
397
313
373
307
296
231
295
247
277
299
355
403
278
285
295
307
280
233
332
314
256
344
301
322
276
330
289
290
305
389
287
373
216
353
270
402
311
287
392
234
372
252
308
313
308
399
325
337
368
311
336
325
264
284
332
406
339
373
270
260
361
285
330
289
356
342
374
346
319
301
252
277
328
319
292
278
326
396
289
358
241
311
259
367
375
285
254
303
278
239
363
400
365
287
334
276
419
333
317
364
305
322
379
292
295
275
348
359
294
300
268
250
269
292
309
275
293
273
337
320
261
345
336
269
207
367
235
307
223
257
280
369
356
329
297
364
311
325
241
325
343
329
365
280
279
332
206
312
422
296
338
256
307
331
289
272
313
344
246
374
275
260
369
376
235
305
240
317
301
275
315
322
299
315
361
282
331
254
330
238
312
248
291
282
265
258
352
290
318
286
383
392
299
294
308
318
329
386
325
246
266
320
313
382
369
272
295
319
405
260
356
313
347
352
315
309
241
326
310
258
315
310
261
367
250
290
310
321
392
264
320
285
371
256
303
270
347
378
331
386
362
379
235
336
260
240
307
216
260
317
343
298
314
292
347
308
302
351
362
291
360
337
268
373
377
323
283
346
315
341
306
336
252
311
313
350
297
306
312
340
296
332
248
284
252
340
345
325
342
270
342
289
334
408
299
288
300
257
300
311
340
301
347
413
318
313
255
292
298
327
361
228
392
323
281
264
313
363
286
366
318
250
260
302
230
394
338
380
274
328
294
289
318
323
376
297
296
299
309
292
330
251
282
294
345
325
338
276
266
326
249
371
256
374
274
364
384
313
373
240
302
328
253
297
270
290
261
244
235
229
356
395
390
249
331
261
323
304
361
236
308
343
275
309
250
286
394
280
373
307
255
357
351
331
320
227
269
265
284
271
325
287
294
335
264
296
322
270
373
367
250
340
276
348
279
221
272
343
367
275
274
341
366
274
306
429
331
295
261
374
321
256
311
293
315
375
365
344
271
334
424
278
283
337
251
321
299
353
371
371
348
329
283
320
352
252
344
311
235
338
304
351
352
281
315
283
372
226
296
283
317
386
315
373
321
296
240
327
281
334
354
256
314
359
284
251
369
388
336
434
293
245
363
314
335
337
333
327
263
316
259
353
280
281
265
321
333
311
351
417
278
249
364
274
351
350
331
275
303
282
348
413
345
215
289
359
248
299
301
361
270
340
273
383
262
336
277
364
363
268
273
295
286
302
349
359
324
369
257
308
309
301
367
286
351
315
362
387
302
341
299
256
298
414
301
337
261
327
264
299
305
330
369
229
366
374
255
377
314
327
337
335
407
252
341
313
358
405
299
308
411
293
321
292
283
270
384
364
297
209
360
254
298
226
330
183
282
337
281
310
332
238
382
310
208
368
251
338
335
362
350
369
271
273
335
332
319
327
348
335
327
313
331
355
251
315
264
271
284
303
332
321
330
297
308
398
304
322
307
307
277
376
376
299
407
340
373
230
307
313
379
323
317
242
307
243
344
317
225
267
295
312
333
341
324
239
289
368
286
334
386
319
362
357
241
391
340
274
386
208
278
327
247
302
266
297
294
338
298
304
322
302
205
275
300
319
257
290
278
253
388
307
265
274
325
272
283
329
238
404
270
322
384
267
357
342
312
347
254
343
341
318
380
305
284
299
333
335
294
360
377
216
262
301
229
349
315
316
361
311
329
196
341
273
328
344
342
309
366
345
369
310
330
301
320
282
281
335
362
282
329
359
345
378
352
306
330
350
401
405
244
344
377
316
337
232
334
335
281
377
388
266
388
311
331
319
389
281
398
325
286
297
361
266
323
331
284
377
293
247
292
260
330
261
392
326
314
352
382
311
326
367
321
302
284
394
333
400
276
308
348
307
371
345
292
304
314
300
248
329
344
321
295
364
401
308
339
377
354
257
271
270
221
371
190
289
331
210
305
289
329
262
276
333
357
286
266
335
259
324
316
348
367
387
314
352
337
345
315
331
381
367
322
349
302
360
336
263
317
204
314
251
328
355
281
251
310
346
364
295
319
273
341
357
312
357
290
336
309
309
297
325
227
295
286
267
227
282
279
319
310
241
310
332
342
392
295
268
307
361
392
296
374
194
308
332
335
211
245
273
339
222
266
353
340
337
260
282
348
310
355
254
324
314
246
357
344
328
272
325
318
323
344
342
326
238
375
305
272
299
227
307
346
278
351
312
301
269
300
320
381
300
316
231
244
285
304
337
236
345
223
268
362
343
342
314
292
308
306
302
302
360
354
384
222
355
328
363
266
321
326
271
315
354
244
256
331
355
343
299
295
328
354
237
335
297
342
290
211
295
362
273
261
337
419
336
314
409
276
394
296
244
274
284
297
315
242
277
388
289
348
273
247
291
212
345
317
367
317
334
376
370
326
325
313
246
333
349
313
212
358
287
372
382
287
204
307
348
313
297
310
294
294
364
370
384
391
320
269
313
319
274
217
379
334
358
349
257
309
197
313
309
349
356
327
238
231
426
274
309
259
332
361
313
348
290
298
364
252
264
331
278
295
295
355
336
371
221
292
392
338
303
351
286
356
324
320
344
387
328
292
327
354
294
306
303
317
343
242
365
398
313
290
328
356
328
377
296
369
338
310
366
343
307
322
306
348
304
336
368
327
355
279
330
327
285
356
268
291
261
340
330
378
311
287
314
333
280
247
419
351
353
367
256
243
357
352
219
282
252
298
311
366
360
258
259
333
285
364
342
296
278
338
393
322
388
247
387
222
314
383
256
260
331
326
303
246
350
375
352
367
360
376
343
254
305
321
308
343
350
319
363
271
302
354
319
370
330
301
224
260
335
247
318
336
406
331
253
375
289
322
283
304
270
284
344
308
320
332
363
309
340
375
228
419
302
293
328
347
312
351
350
367
325
300
362
310
309
409
339
296
303
258
245
269
336
345
263
296
362
377
288
314
281
323
321
297
309
330
257
304
361
318
417
382
373
298
309
294
267
342
412
220
339
286
360
302
295
248
294
329
304
315
431
418
322
310
270
361
277
330
297
358
218
275
326
344
365
273
374
278
326
279
421
342
282
271
228
351
340
332
284
329
363
281
390
315
317
353
397
317
335
327
345
343
276
258
284
307
268
249
379
342
346
239
232
350
253
309
350
354
369
295
297
227
294
295
275
302
242
354
335
283
384
310
346
295
335
362
334
316
285
392
419
333
319
346
257
289
239
282
294
278
342
349
354
332
371
268
292
308
310
364
261
331
329
360
305
400
246
309
302
243
265
249
326
333
272
400
298
316
264
314
374
331
311
251
328
360
295
303
314
327
311
365
300
367
346
331
356
326
381
341
292
322
386
311
179
347
346
309
221
357
363
328
301
356
319
299
285
338
317
306
357
312
220
325
256
342
269
277
256
272
314
366
321
269
324
219
296
336
288
284
311
306
312
360
383
247
272
350
317
307
387
332
183
364
322
348
307
302
381
419
323
304
283
268
327
242
253
261
297
313
408
327
293
342
332
314
289
361
337
260
396
344
285
346
286
405
367
342
281
294
340
261
258
304
292
319
276
355
336
253
290
340
238
232
362
370
317
283
264
306
361
300
397
332
379
398
344
356
318
366
273
347
312
312
342
281
334
263
381
300
278
241
356
292
322
379
280
281
266
293
290
342
323
337
331
345
326
362
211
216
319
375
357
335
381
352
322
303
327
318
275
235
346
357
349
253
279
294
215
313
364
294
386
302
371
323
238
262
360
305
357
318
286
332
335
263
320
306
305
279
351
350
242
239
391
270
362
326
325
350
322
252
275
261
274
318
284
375
273
301
277
371
302
319
344
304
380
247
294
284
300
315
311
298
349
267
338
287
355
374
321
357
319
359
341
315
386
291
202
354
352
288
279
314
332
308
359
330
312
268
315
321
303
318
404
335
343
277
295
295
303
371
260
269
266
298
313
289
316
301
292
328
225
388
344
324
343
282
278
321
371
286
363
276
261
348
285
281
351
276
313
303
311
309
254
348
260
275
294
350
343
308
286
308
332
252
332
351
316
284
293
324
319
304
221
360
364
337
332
363
234
317
313
294
350
350
339
310
290
333
358
205
279
331
321
275
344
319
289
302
334
269
283
277
362
289
303
342
319
223
352
193
403
340
255
301
336
428
295
289
338
299
353
349
368
341
356
317
326
361
364
402
355
298
305
337
314
333
327
274
305
375
349
308
401
332
251
243
319
248
358
310
346
374
310
268
243
283
382
330
288
349
273
208
225
353
301
271
250
287
181
316
298
297
346
311
310
318
298
306
304
335
315
322
331
383
248
251
343
344
280
267
240
340
265
319
299
263
346
383
360
381
228
357
314
305
357
339
156
388
285
375
296
319
287
294
308
345
270
317
276
344
346
346
381
338
309
310
296
267
321
251
297
295
309
280
406
281
430
324
350
314
288
253
270
220
382
322
393
297
357
199
361
377
307
223
249
361
316
283
310
309
333
170
213
370
377
352
304
320
310
344
288
212
303
306
417
288
284
279
328
331
311
342
318
384
257
285
339
351
377
385
348
385
331
410
382
318
300
339
279
206
245
313
390
294
327
322
188
294
336
261
307
335
239
302
337
240
367
210
286
304
367
296
318
289
293
331
330
380
259
262
264
278
408
401
277
284
301
302
297
318
353
325
377
346
368
275
363
292
397
290
337
397
311
330
249
317
272
242
324
320
379
251
391
418
288
337
275
275
303
317
318
320
300
333
320
354
254
317
347
328
392
356
335
296
287
249
350
294
239
327
295
311
236
334
242
248
345
261
347
325
342
383
293
329
274
336
323
337
316
276
305
284
345
268
378
190
317
264
348
302
358
306
301
326
308
422
230
341
337
258
313
375
320
222
300
237
319
317
370
323
304
326
270
349
279
265
275
316
258
280
325
327
303
272
383
311
306
203
326
368
402
242
276
320
293
341
225
343
374
332
231
280
299
342
305
329
298
312
257
316
304
371
313
256
355
332
321
316
308
292
346
364
290
278
248
313
184
387
312
273
308
316
340
304
263
355
333
347
285
352
350
306
194
294
330
322
407
223
351
334
304
288
315
278
351
368
295
262
243
292
281
338
212
314
427
320
344
237
406
292
352
291
272
319
293
321
268
257
301
352
318
400
283
272
391
333
335
349
290
331
406
294
346
345
352
309
302
232
316
253
325
328
384
339
333
304
329
325
300
327
258
289
313
225
277
389
338
286
349
339
284
300
323
267
369
389
283
319
352
238
280
232
333
331
303
364
268
292
330
313
333
282
409
338
344
285
308
400
424
351
321
305
279
218
337
390
344
275
297
343
281
233
263
295
237
280
325
346
275
233
342
351
307
330
299
259
345
305
402
223
350
338
298
357
266
268
266
286
416
345
377
307
262
305
334
310
347
424
282
270
328
354
352
252
374
370
322
363
308
336
304
300
285
296
375
420
287
272
310
321
227
341
331
361
237
299
349
345
356
368
324
304
347
248
340
248
393
238
295
344
273
289
315
235
296
324
321
241
330
300
310
240
364
290
350
322
347
297
288
309
337
288
290
330
251
369
288
270
392
329
356
274
300
321
296
349
450
272
335
274
289
212
317
302
338
313
307
363
316
370
333
272
204
286
249
336
215
388
314
313
373
297
302
276
269
323
267
329
372
343
359
276
328
307
320
298
268
361
255
378
339
311
354
303
301
191
303
395
352
327
422
372
326
375
322
299
223
368
342
285
319
275
315
372
351
336
285
276
357
325
328
296
372
298
377
347
266
338
337
385
281
277
396
306
324
308
292
305
336
247
308
287
331
294
387
347
379
404
391
335
322
267
398
277
344
342
366
301
344
309
407
321
326
400
344
260
263
338
232
295
288
300
387
358
325
337
389
325
343
307
272
267
316
341
318
293
412
242
312
357
330
298
243
338
288
338
355
327
269
305
331
285
203
339
306
316
306
236
370
418
370
308
381
391
342
284
269
349
334
300
284
282
387
320
301
286
342
397
260
256
353
337
332
361
317
275
282
318
369
339
288
285
373
294
210
235
312
391
282
238
254
355
290
309
320
307
296
312
320
307
324
299
282
259
355
356
362
313
414
325
261
340
307
326
340
304
285
273
313
275
307
234
325
365
371
299
334
338
336
315
270
248
350
218
304
354
345
192
288
342
325
330
313
364
298
284
289
319
242
319
290
306
247
392
349
317
319
337
334
360
342
262
384
298
324
251
279
303
384
306
298
339
253
283
307
366
320
406
294
327
352
324
320
365
343
312
275
302
341
335
323
314
330
301
365
317
303
208
192
296
329
246
335
353
266
277
307
299
307
357
300
294
351
308
282
356
290
331
368
351
401
310
356
336
382
270
328
312
346
336
369
303
298
362
338
342
356
301
332
284
323
322
362
364
260
345
344
345
292
276
239
438
273
310
339
328
308
389
351
363
280
330
315
315
280
361
297
297
330
300
374
309
282
290
354
350
340
344
361
307
328
279
299
297
333
295
278
379
328
322
287
302
295
354
347
298
291
345
288
275
349
342
311
360
266
288
296
224
277
284
262
345
340
286
345
365
295
221
350
329
292
404
308
312
267
399
309
364
285
396
310
342
330
299
257
312
265
321
258
353
422
314
334
299
304
269
284
311
358
220
362
308
306
293
355
342
245
306
311
285
415
315
339
271
267
348
284
330
423
317
298
240
248
331
309
348
379
285
312
268
328
290
346
318
287
383
268
310
334
326
331
293
286
326
357
280
338
367
358
321
329
203
296
394
267
345
369
358
310
259
326
327
305
256
346
331
301
343
354
292
226
313
248
220
373
365
350
365
305
368
259
349
373
298
259
275
317
290
330
338
313
364
301
363
399
281
284
370
331
366
374
367
286
193
336
328
366
376
237
314
356
261
336
391
295
381
266
342
315
342
267
291
260
293
282
355
344
343
319
327
354
282
279
254
257
363
326
344
369
217
332
373
302
279
319
241
334
327
286
338
215
326
359
405
268
291
320
294
260
289
226
341
286
312
318
361
372
379
337
315
321
349
255
303
299
318
326
371
346
276
357
304
282
251
309
297
231
357
256
289
344
341
288
347
314
336
220
268
277
329
365
211
322
227
330
266
234
345
334
256
326
295
338
236
371
369
258
308
285
367
288
255
366
292
300
333
303
307
325
313
330
243
294
342
278
323
285
378
260
378
307
272
281
264
326
340
399
267
253
313
358
278
306
275
311
307
332
285
274
371
306
337
337
336
214
325
353
395
331
362
330
232
318
339
350
267
358
284
290
379
386
341
356
304
340
296
271
324
276
340
286
349
321
279
303
355
283
312
320
336
311
352
331
314
313
449
344
318
380
255
238
316
278
319
328
327
250
291
315
343
271
314
325
291
369
335
311
296
304
311
369
355
329
352
252
372
328
340
321
373
327
392
378
268
392
328
318
359
253
261
310
240
323
303
330
346
351
317
288
290
327
288
336
367
292
449
380
277
341
333
324
247
415
292
288
328
386
282
391
338
399
386
302
280
364
347
279
336
362
318
324
318
382
414
298
321
231
357
396
215
270
329
345
252
321
309
270
331
272
307
322
294
310
313
322
381
233
285
327
276
329
261
304
231
336
334
217
327
392
322
298
309
299
388
411
364
280
343
412
331
302
312
386
297
290
242
360
317
374
219
291
401
376
306
296
340
321
299
298
382
265
362
330
320
339
336
260
367
227
266
352
352
302
352
209
381
222
349
284
324
343
252
298
286
310
271
350
265
294
250
214
346
329
354
345
357
396
262
305
332
317
326
250
236
365
335
272
330
291
344
331
305
272
370
227
279
291
341
284
257
290
299
357
299
365
307
240
286
274
279
345
344
322
351
273
354
400
317
286
279
242
321
275
387
325
258
287
277
327
310
333
359
363
283
309
346
326
328
306
367
286
333
317
338
283
372
328
334
291
326
320
344
262
344
331
240
295
379
296
233
248
329
356
322
274
259
343
237
270
283
378
304
375
329
293
384
347
272
304
346
300
304
328
362
286
203
267
396
301
310
331
364
388
300
272
217
309
329
335
390
241
342
330
328
300
300
383
298
352
268
318
335
293
303
297
284
305
351
344
327
342
323
289
265
319
369
350
276
256
327
380
293
405
294
332
305
332
296
308
253
334
296
313
414
218
249
338
276
360
352
284
346
261
278
290
284
286
335
364
245
300
319
334
334
284
296
312
278
331
286
266
332
390
329
376
331
298
301
388
327
314
338
340
325
325
293
254
357
323
171
349
344
306
294
328
374
307
327
306
392
338
361
277
326
301
269
306
306
318
334
326
266
297
265
252
288
278
270
404
276
359
278
279
237
381
382
290
299
232
240
314
388
260
254
385
337
358
265
363
339
294
231
247
372
329
280
339
282
355
350
278
323
310
272
294
339
254
296
338
364
335
281
310
282
329
338
346
234
334
239
343
273
382
327
294
292
329
305
321
279
326
364
278
261
377
324
320
257
326
289
307
274
300
248
333
286
362
361
242
238
367
282
287
304
279
304
347
242
284
206
303
223
406
314
231
298
404
292
332
398
326
325
312
349
309
226
332
352
308
307
274
250
250
404
288
250
294
368
328
283
340
372
314
200
330
321
341
292
298
310
288
327
307
263
335
280
398
312
342
318
297
301
306
284
310
284
306
352
395
278
270
195
272
302
273
283
346
309
303
272
236
287
351
318
309
254
303
302
318
324
349
344
252
336
277
301
357
367
284
406
289
293
333
341
368
333
264
283
354
379
282
351
252
323
322
257
356
386
342
347
336
292
253
277
318
296
335
311
373
367
340
352
323
316
262
290
254
314
353
297
320
388
344
293
387
286
282
335
280
340
312
270
292
303
329
347
351
242
393
248
281
375
260
378
380
341
306
337
278
276
235
178
315
366
283
366
362
274
285
365
384
305
226
332
304
361
305
320
278
315
293
188
325
230
281
287
389
318
380
302
318
285
371
271
333
294
316
350
399
360
315
327
370
267
299
365
318
247
357
319
266
395
274
393
354
370
284
323
309
278
371
272
278
257
358
282
290
315
253
205
269
344
336
285
331
317
370
388
323
308
366
309
208
214
360
371
365
293
305
426
348
242
324
253
232
305
352
332
347
382
310
329
322
311
379
336
210
332
261
233
287
357
309
274
348
274
269
248
325
269
342
360
330
341
323
385
301
312
313
284
245
269
346
343
366
312
337
346
296
320
313
298
246
240
245
338
237
347
380
288
404
210
215
376
298
279
415
261
336
311
249
295
321
272
314
288
309
343
292
241
338
300
334
348
341
338
362
313
259
376
265
339
324
341
265
270
370
324
318
353
358
353
336
302
270
286
355
297
277
380
325
351
283
359
270
328
286
292
318
314
325
330
278
330
263
290
350
324
370
343
275
382
351
244
382
326
259
260
252
260
284
304
326
371
275
378
419
248
443
322
244
332
266
192
375
393
281
363
222
307
348
375
286
199
232
281
291
280
256
300
360
308
330
305
271
335
294
294
350
348
272
353
295
338
349
338
318
259
333
308
357
296
372
292
361
271
330
344
383
308
331
323
301
344
289
242
306
388
345
329
246
301
276
292
312
355
318
209
340
283
289
355
347
215
373
365
377
287
262
327
305
381
192
228
256
305
327
368
342
344
315
263
320
372
375
289
296
282
343
301
291
256
286
374
283
302
397
347
323
329
324
347
375
275
279
280
287
258
321
331
238
295
353
315
301
260
249
296
331
359
293
287
338
384
243
329
376
312
390
308
320
372
278
285
303
244
390
374
261
317
311
315
276
287
393
412
329
314
304
396
247
354
325
307
359
315
379
299
340
319
361
283
273
331
317
218
228
373
372
343
312
245
362
362
317
328
292
288
330
261
341
368
297
263
263
249
354
324
322
398
374
197
290
252
374
274
301
306
189
369
338
277
254
361
316
293
324
278
320
268
316
322
275
262
302
284
254
366
337
334
357
304
349
310
288
326
360
399
308
416
311
310
316
374
328
280
324
325
308
309
323
340
343
261
296
359
402
328
338
369
298
344
306
245
253
347
286
372
320
364
292
368
309
304
355
330
400
393
248
319
292
234
355
253
278
370
285
304
334
267
319
344
315
394
357
302
325
233
321
278
239
393
328
359
292
306
341
362
261
331
306
280
288
291
301
312
291
287
326
369
228
276
331
321
250
354
393
347
264
388
309
339
267
320
390
334
273
268
257
326
371
323
369
371
251
364
269
386
250
301
264
266
337
300
265
343
230
317
316
333
318
302
401
324
381
333
347
314
416
262
244
173
337
316
332
299
375
299
331
256
400
325
281
297
332
292
238
311
295
278
303
229
335
327
403
363
242
339
275
271
322
320
276
320
356
323
384
337
341
317
356
289
265
417
325
341
248
372
275
304
379
271
301
307
236
382
343
335
309
273
338
282
331
388
382
286
361
283
290
229
299
326
348
282
268
291
318
314
275
237
304
293
346
301
222
311
319
310
269
230
428
258
297
305
344
218
290
321
364
245
297
328
326
370
355
384
303
401
221
306
226
348
357
385
379
303
347
290
336
308
330
325
372
206
330
317
244
334
330
362
319
268
258
368
279
288
361
274
263
259
333
314
294
325
363
330
302
274
275
327
344
296
317
265
355
258
295
200
291
266
304
280
347
377
231
355
313
304
326
293
301
287
329
231
328
399
331
347
362
340
357
334
307
297
343
305
382
321
316
307
293
294
208
324
290
319
323
244
258
304
177
284
325
331
359
344
277
345
377
310
392
370
299
417
357
333
338
367
376
304
327
348
406
306
344
328
254
269
225
313
385
368
325
296
339
341
357
228
330
302
312
360
343
302
253
291
281
308
306
367
283
349
348
329
249
296
365
369
275
361
311
292
268
342
322
340
354
277
270
363
345
309
368
333
306
300
306
246
331
334
389
290
275
363
308
324
313
346
309
393
315
312
392
306
276
309
319
333
309
297
306
207
314
263
303
319
239
345
345
321
377
350
370
243
284
289
267
269
273
322
263
287
367
325
356
399
225
340
339
338
320
298
273
318
371
256
372
391
336
288
331
310
269
325
306
301
244
395
284
272
348
378
277
411
282
384
322
323
331
291
365
279
276
298
305
264
321
322
290
322
392
331
316
302
251
340
362
250
260
248
311
262
286
251
284
278
303
292
312
287
228
374
375
315
302
310
318
320
385
331
327
343
280
283
369
218
380
319
296
318
330
384
259
294
270
321
313
337
303
300
310
327
318
318
334
265
372
339
278
375
325
278
299
239
325
240
386
280
241
287
277
321
335
376
282
291
351
393
285
289
270
343
186
327
262
273
331
309
253
208
222
274
277
260
391
320
330
402
257
283
346
233
336
395
254
354
237
312
375
228
181
263
384
304
227
348
257
336
351
285
306
362
290
338
294
376
326
297
310
325
324
346
328
401
284
361
383
324
349
347
355
338
332
249
274
262
276
287
354
420
314
256
280
344
274
335
262
260
328
371
285
304
324
345
237
325
360
366
317
373
332
334
339
306
316
305
352
272
371
338
273
264
360
332
302
298
306
298
337
381
275
361
380
326
413
312
221
271
286
295
236
348
297
331
357
353
308
247
375
351
272
303
238
333
323
300
373
192
263
313
273
314
289
315
294
330
300
282
322
225
325
315
317
313
298
268
230
269
241
337
324
339
299
346
209
257
335
262
294
350
302
326
346
331
366
343
328
314
267
351
342
275
369
370
326
371
307
267
343
327
334
398
310
302
356
327
247
364
338
283
350
284
297
262
273
250
320
305
342
311
311
317
317
353
327
316
257
341
319
322
350
374
230
335
308
390
315
315
267
382
318
286
232
378
338
342
305
360
272
343
394
225
341
286
323
251
258
337
327
249
392
339
292
402
363
238
261
296
303
393
343
289
252
310
306
344
315
243
316
297
310
389
369
368
295
302
252
251
383
349
287
401
283
348
397
314
310
282
361
252
299
248
244
263
211
350
370
332
376
267
267
372
310
317
331
353
362
257
254
327
368
332
299
334
363
307
342
375
367
363
372
252
260
341
358
305
365
340
290
260
247
356
273
347
297
273
316
336
369
299
348
317
324
276
295
291
284
380
345
360
275
241
281
308
277
266
323
302
265
267
354
300
320
323
401
386
303
254
261
318
280
315
274
429
359
354
341
355
358
343
308
416
368
370
338
297
310
294
325
356
276
269
364
347
350
398
266
375
386
288
319
340
295
330
345
358
289
383
336
310
277
397
284
255
284
370
401
268
293
363
253
297
314
316
413
307
324
382
304
281
279
336
319
276
293
348
247
317
341
296
292
372
297
268
255
325
340
340
310
340
270
318
370
351
264
293
289
345
360
282
233
350
331
317
320
396
316
260
338
361
252
303
355
286
405
314
219
362
311
262
274
359
340
329
347
325
398
301
346
380
244
321
343
235
303
193
258
388
220
276
278
329
257
287
347
279
290
336
266
301
288
305
239
267
370
355
298
323
284
320
274
309
279
300
316
299
331
300
276
365
208
297
337
335
260
390
294
287
294
247
236
333
368
380
315
379
333
318
299
307
279
276
251
381
327
322
325
343
277
313
329
330
284
364
255
273
310
268
311
338
346
340
301
359
301
303
349
299
328
409
310
217
381
315
314
327
281
332
284
339
342
287
264
356
286
332
303
337
233
288
285
278
293
347
336
291
298
356
341
345
347
388
319
262
330
296
291
202
300
338
286
303
308
376
315
333
356
380
288
393
343
241
346
398
282
313
325
293
363
303
318
339
334
358
255
297
304
431
324
367
325
355
346
291
331
239
305
284
264
291
326
303
346
274
322
354
358
306
350
267
293
343
296
257
347
340
322
360
258
348
307
386
286
173
327
310
356
362
232
305
324
323
379
351
317
282
280
277
323
364
320
368
216
242
383
349
308
282
300
384
345
293
383
315
376
333
296
335
280
341
379
348
329
301
456
364
345
321
253
321
274
251
290
313
258
413
378
296
332
230
333
285
355
332
299
227
476
281
431
358
351
275
326
251
368
341
357
308
237
330
281
325
336
346
339
358
177
301
324
303
341
307
269
372
324
296
348
337
296
307
299
258
355
308
241
281
372
373
283
388
389
238
295
288
331
247
293
365
354
402
250
261
315
272
305
358
224
258
336
333
292
258
331
292
211
349
325
336
348
293
322
270
298
255
260
310
281
249
254
275
284
345
311
376
296
329
301
319
286
257
204
328
286
287
319
351
326
252
379
324
335
353
267
325
386
356
326
351
355
248
321
350
380
336
355
347
352
304
285
359
306
320
299
282
282
306
288
295
222
258
300
367
321
390
286
312
299
355
232
351
260
332
325
290
262
299
350
364
348
331
326
379
346
284
255
283
405
341
206
322
375
291
300
270
387
444
244
325
318
309
317
271
323
318
281
299
290
362
376
273
328
332
252
335
276
300
325
239
324
360
314
438
278
202
320
315
292
289
265
323
356
318
296
306
303
272
298
295
231
309
258
309
279
259
308
288
335
269
366
364
363
329
291
288
298
292
275
373
431
297
297
326
328
280
336
349
262
328
238
266
359
308
336
278
239
279
371
286
313
310
298
337
318
344
401
341
366
323
415
279
264
301
265
321
375
223
328
357
391
326
278
330
326
338
345
374
347
293
380
413
349
321
276
308
310
234
303
317
294
291
334
355
302
324
313
295
250
274
318
346
317
371
256
313
182
324
350
287
271
272
348
361
318
307
280
282
309
303
318
225
374
312
303
238
322
316
369
339
263
408
303
326
317
343
355
281
295
308
362
312
315
272
361
386
352
317
272
333
383
363
355
215
353
322
357
349
303
366
312
344
278
283
410
269
336
387
284
345
289
370
233
349
337
373
389
318
366
374
324
350
321
304
316
355
325
261
358
268
374
335
344
280
181
274
243
261
375
341
344
230
312
296
385
342
306
283
275
302
301
290
251
307
423
268
281
313
312
294
291
353
329
296
313
341
333
301
270
263
311
355
358
388
317
448
273
336
334
376
418
218
312
246
396
234
374
366
308
256
305
340
277
333
282
368
228
344
383
293
340
288
337
380
334
361
282
298
301
330
278
317
330
286
282
296
343
239
260
360
283
288
358
315
315
364
349
345
302
279
300
270
315
310
339
291
281
308
310
264
310
231
374
438
321
373
355
284
250
337
327
335
301
328
347
396
395
285
236
284
329
387
346
223
369
371
299
295
277
281
282
342
231
224
315
345
349
467
328
342
362
371
316
362
273
348
358
251
303
318
339
331
331
242
387
309
321
305
348
291
274
265
362
258
381
306
354
346
240
378
287
303
308
333
327
393
320
294
291
374
250
371
383
256
294
364
325
351
362
253
273
320
415
266
316
285
392
400
402
341
309
359
375
284
340
296
385
275
355
284
331
305
401
304
315
319
395
331
408
271
258
362
355
332
339
380
319
367
408
326
260
354
401
318
365
362
205
261
276
298
330
306
251
330
314
255
254
286
283
278
381
281
310
337
312
371
367
309
247
360
282
284
397
299
303
316
402
294
320
361
335
346
324
325
239
329
336
268
304
313
360
157
345
302
327
325
329
255
254
340
370
279
273
270
270
351
263
380
279
309
221
291
300
206
301
330
343
397
316
317
413
361
353
338
395
257
262
347
351
221
311
332
337
277
288
362
281
276
304
386
366
359
338
260
309
369
291
325
352
280
354
283
270
251
336
241
321
354
272
329
331
294
279
244
207
318
289
244
317
347
224
332
215
311
373
327
248
354
303
387
252
250
187
339
273
295
305
357
308
278
231
238
355
268
229
263
249
358
307
330
319
280
320
271
301
290
287
311
341
337
322
266
297
346
344
346
402
336
286
225
267
368
265
283
311
274
334
311
315
326
246
402
320
248
295
311
234
330
338
412
290
307
337
354
271
334
364
327
238
271
317
361
319
369
322
350
348
347
359
349
359
311
350
329
388
313
361
273
270
357
400
316
354
319
311
306
287
331
254
349
256
329
365
394
363
238
272
242
378
370
319
319
359
268
283
357
306
334
369
265
339
303
281
258
269
349
334
358
291
312
328
362
318
348
297
314
201
350
367
342
390
252
345
288
252
265
335
308
351
348
223
312
322
316
316
318
215
261
309
260
337
317
382
362
200
354
446
263
375
229
304
255
281
326
341
350
335
330
319
314
367
199
354
290
288
365
396
339
330
242
224
301
320
256
283
338
326
281
241
377
352
274
282
264
308
298
353
358
376
286
393
255
325
335
274
316
365
368
249
239
369
269
286
314
345
316
392
259
257
328
347
332
269
361
310
344
321
345
303
343
316
410
319
342
284
335
322
257
357
311
265
261
379
351
379
309
270
376
305
336
257
305
318
313
276
381
230
271
288
358
371
302
298
300
376
323
417
267
320
287
363
276
334
361
342
312
246
319
298
342
317
260
334
344
285
245
332
314
304
297
252
398
370
284
295
308
264
325
331
312
280
296
339
290
292
364
332
302
277
295
388
286
244
293
223
245
286
338
381
215
294
324
288
275
326
235
301
272
372
376
317
298
320
309
273
352
325
294
297
322
346
334
269
296
247
321
325
302
267
266
334
335
287
345
339
255
336
296
321
287
419
351
341
354
355
317
308
242
355
322
386
332
253
319
361
300
295
269
332
269
343
285
321
299
358
289
332
284
324
379
252
343
310
313
346
331
437
246
292
327
411
336
342
293
281
312
253
325
326
242
255
359
276
313
248
305
340
283
276
326
209
347
380
320
307
305
379
227
355
334
308
350
300
226
335
255
272
254
299
322
361
285
332
392
319
354
336
294
368
410
378
324
376
384
290
348
341
315
311
347
258
314
246
277
348
281
183
274
343
361
323
291
301
284
367
239
350
309
321
313
345
291
280
340
356
260
272
347
329
315
353
243
331
310
359
360
274
335
301
354
348
350
333
276
327
295
350
334
345
321
277
353
368
315
261
300
276
323
278
349
232
369
365
302
272
196
365
422
304
382
310
377
289
293
275
341
321
320
282
292
283
336
218
406
263
371
361
306
331
261
312
297
269
288
347
308
333
275
334
324
339
317
349
340
319
303
261
288
238
312
319
340
317
332
327
317
337
288
251
348
213
263
295
255
300
351
321
293
344
337
338
310
347
334
392
277
259
343
301
341
327
314
286
335
292
454
333
342
332
318
408
368
209
361
339
292
282
331
309
310
306
374
340
282
291
364
306
369
325
347
270
284
344
387
342
277
329
300
340
283
306
302
312
335
245
269
263
196
369
257
328
364
304
324
383
274
368
294
307
357
290
369
311
296
338
252
301
326
248
319
287
307
365
316
307
360
376
349
360
349
331
308
273
248
407
338
343
285
298
281
341
372
343
300
340
326
243
412
337
234
365
334
252
388
299
351
334
370
311
309
368
288
367
348
297
346
310
334
358
309
336
225
342
321
320
321
216
228
261
255
349
242
310
311
275
300
295
313
268
332
221
349
337
292
366
335
296
328
314
374
338
285
401
233
276
228
310
293
332
256
310
285
345
355
304
335
361
368
303
208
294
293
347
290
274
292
244
259
292
308
278
266
390
268
353
305
339
317
269
322
360
320
288
370
344
268
268
374
247
340
277
291
281
255
355
281
297
267
319
272
245
284
328
287
324
254
317
309
374
332
327
341
300
323
300
288
265
279
356
391
353
303
341
213
352
289
331
293
354
322
321
304
366
315
241
427
306
212
311
246
315
314
307
284
369
264
375
382
314
263
323
279
276
279
325
301
304
313
411
363
300
372
307
295
237
289
270
335
272
411
305
350
381
230
302
357
315
350
228
247
359
353
291
252
313
281
389
253
393
227
305
251
329
330
369
320
393
270
294
379
274
353
346
331
269
233
243
372
339
332
343
270
326
425
386
338
424
305
308
369
232
303
281
297
306
377
340
321
344
248
274
325
333
298
318
326
268
331
361
253
273
324
286
329
276
335
413
228
338
262
187
357
260
321
338
409
366
380
291
341
282
302
284
361
301
349
382
315
361
305
261
344
318
337
316
291
411
337
291
337
304
359
353
321
368
353
270
323
291
346
333
320
260
329
377
309
275
268
284
294
337
379
302
359
310
331
318
370
242
213
346
323
294
275
324
250
290
287
329
311
233
372
343
361
254
314
311
316
280
207
300
261
317
363
292
397
324
318
368
303
310
309
372
313
307
388
361
383
394
203
351
354
299
248
327
252
339
276
298
242
248
339
323
248
246
295
323
281
275
318
291
354
293
382
384
367
320
269
298
364
245
388
290
299
317
324
268
251
319
358
346
350
356
252
373
274
275
318
299
369
359
396
295
349
292
389
321
381
329
335
294
356
279
337
350
323
355
413
346
352
374
376
332
296
273
380
313
287
335
229
297
235
328
324
350
300
248
238
305
266
354
330
289
312
364
285
312
275
352
320
256
335
254
260
326
314
384
284
290
364
236
286
356
326
360
353
286
367
382
279
348
321
380
330
198
266
255
305
345
290
378
275
262
250
231
347
379
337
257
324
303
311
378
280
271
297
375
290
321
230
373
300
318
203
262
340
346
266
289
237
315
311
239
303
301
273
328
338
315
239
380
338
381
364
397
340
312
316
373
355
316
234
382
266
337
382
292
351
384
255
291
335
285
286
257
293
349
371
388
338
318
349
284
339
265
386
348
288
331
312
338
375
273
322
242
303
367
344
336
284
388
271
395
269
214
293
277
325
304
304
350
366
369
327
287
308
324
294
258
250
260
202
251
309
307
332
351
317
290
314
275
319
358
330
337
274
230
314
345
303
297
245
309
331
278
300
318
316
262
220
275
291
301
302
314
321
291
348
210
365
298
255
338
318
249
371
311
291
340
354
368
285
260
269
317
259
271
309
224
322
327
344
293
287
259
252
401
366
336
316
338
347
337
327
339
337
265
254
309
266
410
212
274
324
278
190
367
326
268
279
313
375
351
337
345
360
430
277
324
287
340
347
318
381
363
346
331
396
264
416
326
296
326
361
369
336
347
350
337
358
214
353
364
220
318
399
289
277
306
345
278
325
349
375
357
330
276
293
230
343
326
352
275
341
384
282
329
293
349
336
360
331
311
326
273
376
290
273
318
322
299
334
299
277
330
348
324
230
197
232
331
276
366
306
296
258
251
245
321
323
277
338
308
320
281
255
355
373
343
351
273
299
338
333
332
274
298
309
347
311
349
317
349
267
327
267
312
326
372
330
314
266
327
337
345
275
350
355
288
334
366
317
318
322
343
301
301
309
345
298
318
349
321
303
204
303
349
256
277
374
314
279
311
314
269
314
339
344
293
310
281
367
345
271
269
293
247
323
355
278
288
224
353
297
324
294
259
322
343
313
372
328
309
355
393
339
321
238
327
365
340
317
261
296
302
311
280
282
262
372
314
244
358
343
306
369
395
415
300
346
307
338
325
314
289
322
358
351
393
312
256
352
384
421
269
279
189
256
268
320
398
302
279
342
323
325
355
229
300
225
241
289
361
308
311
317
331
271
296
222
273
282
312
388
226
298
225
306
246
372
373
276
310
319
286
323
364
293
334
270
314
322
283
319
287
348
328
347
293
295
336
362
352
339
254
342
318
337
292
260
314
373
276
379
374
240
380
286
343
365
277
386
364
309
329
236
338
292
280
341
358
385
365
337
370
258
355
367
270
300
333
279
333
350
395
282
361
208
384
271
304
337
324
224
369
252
365
327
321
417
360
352
212
290
325
349
384
317
231
254
245
360
267
315
341
359
318
303
272
358
226
320
237
228
261
389
257
246
364
317
413
279
280
312
218
245
262
328
334
298
388
338
352
256
351
338
261
289
295
281
370
314
283
200
362
287
251
298
330
238
172
279
221
284
271
340
340
323
266
352
281
279
355
308
373
319
256
316
349
223
329
320
305
356
364
337
352
308
333
350
339
256
328
347
371
293
263
422
370
296
329
383
307
234
280
316
351
388
277
363
366
391
319
313
297
351
320
263
298
289
312
339
285
350
289
395
384
277
316
275
273
294
316
237
291
343
355
330
284
306
278
344
322
292
339
260
328
272
310
286
316
266
305
308
339
202
311
327
394
337
279
272
301
303
436
375
334
301
322
277
307
347
369
331
324
338
261
344
263
291
307
288
307
286
251
310
375
325
327
278
253
377
235
348
276
340
328
165
287
325
378
312
298
298
226
309
267
290
373
268
288
287
323
331
325
356
316
288
334
340
273
317
335
352
210
246
275
264
301
409
283
321
302
279
292
221
270
315
328
291
373
389
217
292
312
360
257
289
335
339
338
307
381
296
392
332
314
285
282
268
292
316
409
255
400
304
333
383
390
309
358
323
351
241
313
243
305
328
275
211
308
297
343
387
302
331
344
347
303
314
355
317
330
376
315
260
278
326
371
416
339
328
367
275
363
302
322
336
389
348
354
291
294
286
360
306
372
343
311
299
358
296
329
406
274
264
316
360
325
277
330
262
261
326
333
354
361
250
289
282
414
301
292
337
266
241
376
284
346
247
271
342
267
327
291
317
376
295
343
296
320
291
303
352
392
313
316
244
284
303
294
444
382
312
371
366
330
329
279
335
229
405
269
294
360
320
324
211
316
301
313
278
315
295
267
279
312
292
269
321
326
297
254
275
350
296
412
345
315
291
266
359
287
360
261
258
353
230
334
330
329
372
352
289
344
220
318
273
390
308
371
220
215
304
347
330
363
341
365
340
306
364
298
311
274
317
304
311
309
313
293
349
297
370
324
332
314
247
227
342
347
346
280
298
386
354
354
359
300
391
357
335
255
238
301
357
267
204
393
242
262
220
230
321
232
332
285
370
329
308
341
292
325
376
235
403
356
320
344
296
287
310
338
354
285
295
265
327
343
304
240
354
367
281
335
337
372
298
237
322
288
334
301
353
357
402
252
371
373
268
276
264
203
272
308
266
340
384
254
352
369
321
345
271
298
328
296
347
316
341
262
312
304
364
343
271
285
318
377
386
311
254
342
343
292
326
402
363
256
356
343
249
373
374
217
399
296
347
385
312
337
293
365
291
413
268
297
252
347
383
264
299
320
332
281
375
250
284
271
329
322
351
364
319
309
338
218
261
319
379
381
302
267
246
304
335
299
250
260
397
329
277
261
379
295
323
312
290
323
315
364
312
328
219
361
388
362
232
336
356
290
379
310
368
299
297
332
432
355
265
392
344
290
324
356
285
316
296
265
271
250
275
262
386
300
284
255
306
312
303
314
343
338
290
304
337
328
333
325
244
379
343
361
305
339
387
310
325
313
284
326
272
285
363
298
255
342
346
364
258
335
271
354
307
291
327
312
310
357
359
311
295
275
330
284
334
340
304
357
338
293
368
265
341
361
281
377
299
301
296
304
341
332
283
218
236
207
309
282
358
290
307
335
357
260
346
303
304
330
278
332
397
271
308
294
383
364
378
316
371
263
353
329
273
326
270
406
369
277
206
329
292
300
374
285
342
362
291
277
330
317
402
331
369
363
332
279
294
313
272
289
281
300
361
357
312
284
327
349
303
289
283
357
297
284
349
328
236
264
306
289
333
297
246
397
262
337
388
392
319
238
332
311
316
262
228
360
318
291
281
337
252
279
334
367
369
321
362
353
318
237
335
337
282
312
336
279
378
294
241
302
349
409
269
321
347
296
298
268
299
173
266
366
338
311
227
296
315
285
251
348
352
362
283
324
289
325
327
353
312
302
289
303
379
270
361
343
326
232
283
291
291
348
315
278
339
352
309
321
297
270
212
341
369
334
243
264
310
390
259
292
315
326
394
395
287
302
293
255
322
351
342
307
351
309
317
295
284
306
225
336
316
380
302
276
275
285
255
369
325
292
282
343
261
300
259
198
348
292
306
254
308
241
274
318
343
279
305
338
359
286
337
310
374
256
399
358
217
204
428
292
349
317
310
359
364
283
309
257
297
277
253
321
307
328
281
201
308
261
328
375
272
329
328
252
355
352
338
341
303
334
342
328
332
231
280
374
330
360
285
319
377
365
300
265
375
285
366
288
395
367
268
243
322
291
356
282
419
361
320
301
317
382
268
307
302
372
308
341
366
288
394
336
291
230
322
262
323
403
380
368
327
315
333
402
292
405
338
291
285
306
260
333
373
280
336
273
277
266
339
312
282
258
299
289
325
304
368
343
277
377
259
312
304
342
312
293
246
328
356
292
305
390
317
348
247
326
306
325
282
284
356
342
231
326
338
287
249
265
300
299
228
337
325
392
318
301
367
381
363
369
347
328
322
330
403
332
327
325
282
291
259
240
272
382
381
327
280
345
265
367
346
255
351
340
281
252
264
361
292
318
392
397
260
369
243
256
307
306
303
297
296
322
350
258
304
245
330
311
296
292
277
285
314
268
304
294
350
344
344
370
358
313
242
326
326
273
308
251
363
335
276
348
403
317
327
301
381
294
269
327
258
302
316
259
352
341
288
362
337
230
227
225
432
282
340
350
405
231
335
295
308
236
307
285
270
263
320
353
309
356
342
281
328
230
331
348
283
354
270
297
360
308
294
303
258
270
211
355
305
374
343
343
307
293
396
323
238
267
353
339
347
383
289
369
273
338
323
414
326
298
270
365
295
329
315
226
287
389
272
293
327
301
382
338
352
331
248
292
244
261
327
299
351
351
228
249
350
296
365
284
273
421
232
342
303
362
273
251
356
310
298
385
317
283
268
319
333
278
385
173
358
267
268
376
261
387
376
377
265
294
328
247
316
314
287
352
311
297
291
338
292
290
224
279
314
269
204
240
246
351
345
326
387
279
264
338
348
344
404
297
337
355
410
242
363
325
327
352
317
364
375
310
288
331
308
280
350
325
303
284
317
350
355
297
266
332
323
202
309
399
303
333
360
362
300
311
333
371
250
440
329
425
316
379
301
288
335
348
369
329
311
267
260
310
395
286
313
376
369
279
288
312
296
284
320
345
353
309
353
338
285
273
309
298
274
316
293
271
347
370
303
357
349
250
196
309
315
368
314
362
297
325
432
342
358
312
286
315
343
364
271
277
302
304
271
316
371
374
365
324
287
288
369
327
381
299
344
303
328
374
296
298
364
343
347
315
294
341
418
307
321
339
254
368
233
372
341
404
365
265
306
338
240
319
326
329
264
367
294
257
347
294
400
326
284
292
229
325
323
267
278
304
309
327
329
322
335
340
281
333
368
274
299
274
315
298
346
291
390
314
302
331
298
316
325
367
337
270
358
318
300
390
229
345
368
284
320
267
269
264
264
268
267
354
319
296
297
318
426
242
282
304
321
262
278
324
304
320
251
276
291
362
215
274
348
311
333
296
325
315
320
360
280
340
293
335
332
280
314
410
410
267
310
334
326
284
347
291
231
306
330
301
329
237
289
268
305
250
390
225
372
338
271
308
281
235
272
270
313
387
327
328
308
339
285
295
301
287
348
374
288
284
361
381
288
359
283
365
339
339
315
268
298
377
275
316
261
274
379
328
242
267
343
256
294
285
290
276
305
224
303
280
283
350
365
292
295
327
377
295
390
301
238
269
283
353
313
311
327
262
411
274
349
337
348
352
260
283
433
386
383
303
333
304
298
322
251
307
333
310
380
380
339
309
282
318
375
340
299
316
295
265
289
397
319
278
251
358
342
373
325
268
282
302
367
331
319
327
321
323
366
315
388
320
362
315
321
296
331
336
336
322
268
312
355
297
393
291
366
359
262
353
312
279
284
321
297
299
411
316
233
259
323
319
376
331
331
267
288
395
223
298
255
318
311
268
334
314
221
307
324
326
354
304
358
229
277
273
287
377
392
346
315
351
329
274
373
364
326
278
368
310
287
360
288
325
292
223
295
278
351
323
347
381
347
338
234
228
280
341
372
369
246
296
318
320
381
346
324
284
304
333
309
321
404
258
298
272
268
309
333
318
352
288
322
246
325
354
362
322
269
276
360
355
283
267
466
307
294
334
296
323
290
317
309
305
286
329
299
373
196
239
372
340
258
285
351
394
306
296
285
258
336
267
246
387
352
328
330
285
361
358
313
283
317
343
349
250
314
333
299
275
308
288
326
343
317
231
301
309
224
350
251
396
301
335
332
210
343
391
321
238
294
305
324
318
308
337
332
331
299
347
315
346
309
200
299
349
350
308
290
299
291
247
321
252
337
309
312
298
307
332
358
278
336
330
273
310
314
384
262
291
356
327
443
355
263
248
375
258
299
284
316
290
305
332
249
300
321
316
308
345
284
286
293
279
346
297
283
341
361
313
341
304
365
341
258
331
328
342
307
272
281
266
245
296
250
275
301
283
304
333
347
348
293
324
363
314
408
284
372
300
344
327
310
368
364
249
309
181
268
421
300
360
269
334
294
302
250
320
327
304
276
350
330
333
255
308
320
190
257
298
250
390
349
296
285
328
288
372
350
252
307
408
339
342
313
361
293
362
262
284
263
288
306
367
369
332
334
242
376
275
268
352
318
316
327
352
302
329
421
242
344
369
300
274
254
360
362
312
341
338
336
317
314
352
365
292
321
340
332
308
261
394
304
366
318
244
267
283
366
350
328
387
335
217
337
388
323
316
317
294
337
410
337
329
352
356
254
320
336
240
374
332
368
322
323
303
356
221
307
264
320
231
359
293
327
331
302
254
284
270
452
345
361
294
402
284
371
316
244
267
385
272
177
379
310
257
323
374
365
233
317
375
373
299
358
226
302
226
320
267
367
307
343
298
352
277
281
311
371
294
364
312
205
293
322
309
339
273
327
378
333
277
346
283
340
330
357
312
401
270
391
328
338
243
325
272
328
342
246
321
357
270
287
243
345
376
345
333
276
296
314
357
272
412
369
282
335
314
327
272
366
327
282
257
230
362
303
305
336
299
350
384
370
325
334
359
307
327
315
355
352
379
338
338
308
240
372
317
258
302
306
312
279
337
356
299
248
335
418
313
341
320
266
367
333
352
356
288
325
357
365
359
262
300
328
374
378
287
408
346
319
327
327
364
353
364
334
382
232
335
381
279
282
333
262
324
352
393
308
316
346
257
333
307
292
333
359
363
372
297
370
290
329
309
309
321
315
356
341
304
411
296
284
280
373
287
316
305
282
339
387
321
379
338
404
291
378
358
359
341
266
321
240
442
288
329
351
350
371
288
313
280
194
299
312
324
333
315
321
308
348
282
379
368
331
323
309
255
282
278
389
312
397
347
326
228
341
370
359
345
283
290
311
315
251
334
317
312
269
333
338
228
392
314
251
237
320
279
321
272
270
338
336
346
393
254
262
359
350
330
339
341
303
244
356
298
304
330
312
214
356
272
316
373
348
360
340
344
296
252
341
306
343
326
315
291
296
303
316
215
388
337
325
305
358
263
291
294
310
335
348
271
403
316
280
333
310
336
326
300
292
363
270
300
331
347
369
295
320
377
328
279
335
294
429
248
328
344
369
321
269
319
346
274
352
249
318
345
228
249
380
435
294
359
243
312
350
329
326
271
270
369
338
339
379
340
339
270
294
308
302
282
286
336
241
307
276
351
211
292
375
292
274
312
332
314
337
313
288
290
280
350
312
347
266
310
270
344
376
279
369
342
291
355
271
279
347
318
307
296
277
363
280
340
267
403
302
318
328
244
334
277
358
296
262
375
317
269
330
321
308
329
307
350
289
306
331
344
293
332
272
241
276
352
284
312
259
345
273
268
347
273
402
356
276
346
330
290
363
353
359
345
297
334
302
319
330
412
396
270
252
332
251
270
392
350
359
240
287
289
398
402
183
234
306
411
327
303
324
239
229
302
328
354
316
319
344
307
368
320
325
366
244
332
306
268
386
407
372
300
340
367
346
325
306
211
366
297
328
378
280
316
228
317
336
379
339
315
249
317
281
352
358
333
282
274
320
254
316
306
308
303
333
311
396
327
284
392
119
288
364
292
213
345
292
356
318
253
323
316
216
336
329
263
334
254
271
296
377
425
326
242
324
333
321
303
353
315
260
347
332
306
380
259
304
269
285
341
370
333
281
347
303
279
292
370
268
258
334
382
370
414
279
333
325
314
325
333
304
302
293
269
287
317
294
309
276
275
251
281
349
324
236
307
334
358
375
310
314
294
323
238
337
318
374
321
313
334
320
400
287
317
339
262
281
399
291
256
313
262
353
319
275
301
311
334
321
306
349
287
229
242
327
214
246
351
300
347
241
285
369
309
399
330
295
396
333
306
439
399
284
277
273
327
346
309
262
221
276
391
185
271
284
330
319
273
358
324
311
408
336
348
387
273
299
368
342
240
348
227
258
334
283
378
394
378
376
320
356
290
307
351
277
311
335
225
374
247
328
311
297
288
219
294
304
294
352
280
303
270
281
298
361
303
252
351
254
247
331
340
357
320
344
295
321
365
289
348
363
369
319
245
299
272
348
305
234
206
354
378
305
360
338
341
328
356
350
296
316
367
314
330
303
358
331
373
275
305
347
264
313
250
357
323
370
352
264
364
283
340
367
294
360
245
309
253
293
371
305
331
288
352
331
394
398
249
381
296
303
366
356
295
344
335
283
265
278
276
354
350
349
334
325
275
287
296
273
240
391
331
376
361
305
335
239
302
284
342
306
309
259
334
386
345
342
367
295
296
317
254
301
333
231
312
278
292
291
287
319
348
288
318
368
307
288
302
380
273
300
294
343
279
360
196
254
355
306
340
255
343
410
327
275
335
333
298
376
353
292
307
304
329
297
277
249
240
216
347
298
327
349
335
364
268
370
274
313
319
347
370
360
279
271
327
316
287
352
283
199
235
302
350
336
295
295
403
365
340
338
346
302
369
335
322
274
300
368
379
313
272
291
313
293
274
296
354
256
288
327
287
317
271
267
348
322
316
360
388
325
308
322
324
283
284
408
349
319
239
238
332
276
286
365
356
326
340
381
296
320
324
262
265
289
312
342
353
324
343
327
345
267
335
229
322
340
329
279
363
242
337
363
317
276
334
280
268
330
237
368
303
314
299
336
252
307
292
280
314
349
233
357
265
261
343
299
318
356
362
344
279
314
329
260
247
282
306
353
322
329
315
365
325
333
427
253
262
342
296
322
345
355
280
360
269
280
310
308
352
348
271
328
290
350
416
313
356
417
243
319
280
290
281
296
264
350
284
237
313
323
333
333
296
355
317
330
403
311
345
297
270
329
338
345
222
348
327
257
280
304
357
345
347
269
383
317
273
394
262
235
311
292
254
323
171
234
280
393
359
292
317
224
323
271
368
312
252
305
289
296
356
388
293
286
316
348
292
280
393
314
336
413
282
355
361
310
314
207
322
286
281
355
226
168
346
367
316
338
385
343
302
299
358
295
324
364
341
253
313
268
383
374
371
275
293
357
276
380
284
309
384
289
418
331
329
293
338
380
337
328
309
358
316
273
381
296
302
316
355
287
287
327
301
382
277
331
261
373
302
352
343
349
343
353
373
335
365
319
224
310
294
349
293
410
385
335
314
242
281
299
283
277
370
365
244
293
390
301
266
353
293
337
282
297
412
361
279
338
350
356
374
289
365
313
395
293
335
340
290
365
286
329
273
237
321
318
286
303
307
314
279
227
292
338
259
395
357
321
381
271
301
286
289
252
294
280
460
288
354
322
289
272
309
301
311
258
314
308
343
340
271
350
354
306
307
338
320
399
270
329
319
326
256
299
369
376
290
364
310
357
338
357
313
362
409
352
347
348
321
380
404
346
308
359
278
319
399
344
240
270
333
303
265
260
251
249
367
264
298
339
341
285
340
305
280
233
312
261
330
264
336
277
322
263
227
349
291
257
348
278
312
294
377
383
377
306
334
289
302
265
301
258
351
322
217
329
356
303
340
348
315
289
361
329
292
311
306
347
335
316
338
371
345
336
308
322
388
214
282
319
298
328
290
273
376
282
384
295
304
281
368
309
365
310
297
321
337
345
322
288
376
364
318
312
306
322
362
330
275
336
282
340
337
307
387
329
280
379
346
291
300
258
332
334
353
332
333
301
325
219
232
373
356
355
277
260
330
369
224
377
281
307
366
288
212
318
279
261
338
364
354
274
312
310
297
327
238
316
243
363
374
305
299
264
384
387
224
340
310
327
367
378
267
276
425
353
362
262
373
339
335
374
292
338
269
300
342
287
296
299
422
309
308
327
372
239
299
352
325
269
289
352
364
357
347
275
233
293
310
324
254
310
353
351
325
286
323
313
341
270
347
417
302
332
324
220
359
223
348
425
407
354
247
354
376
362
374
284
339
400
289
325
334
279
257
256
264
309
310
290
366
301
345
307
327
285
309
296
259
336
222
283
330
365
264
309
316
325
389
324
326
350
310
267
325
269
372
333
354
248
375
340
364
329
407
299
392
300
273
297
211
270
333
266
352
289
274
303
361
330
223
363
282
325
357
347
321
321
351
356
411
277
281
312
402
334
327
281
247
303
367
370
343
281
387
331
347
291
315
338
279
309
291
237
283
256
320
290
290
396
340
288
326
360
284
358
261
288
292
240
333
313
264
291
355
318
261
299
395
315
244
254
213
276
299
314
232
328
326
349
290
228
293
306
273
272
349
317
404
275
359
298
326
318
286
343
260
367
374
279
272
333
308
293
356
262
361
286
386
330
246
385
341
300
310
339
255
222
320
351
338
241
258
339
292
388
355
357
268
346
319
355
363
261
266
399
261
311
316
281
215
278
335
308
349
382
351
355
314
230
381
372
295
277
358
411
246
262
318
252
318
323
306
354
199
431
259
330
397
332
357
312
313
262
345
264
274
341
306
231
320
355
264
341
307
298
248
297
322
252
226
348
304
330
351
307
249
339
313
295
361
353
279
356
367
385
282
197
300
297
234
302
313
238
320
362
285
388
274
298
381
289
324
261
271
289
309
380
322
330
341
258
339
340
321
339
248
328
251
375
299
275
292
283
378
265
382
257
274
264
323
273
278
362
313
304
302
265
408
336
308
205
286
294
313
305
331
266
284
276
309
329
273
273
267
264
257
329
243
309
289
337
274
306
299
270
338
366
381
428
305
319
356
292
264
250
356
325
335
320
290
361
227
356
340
336
277
300
247
299
347
372
371
363
338
366
368
263
318
198
376
354
359
248
262
362
377
341
274
342
311
250
321
359
258
298
268
222
298
304
386
201
340
366
328
359
267
310
412
298
254
335
284
379
278
250
400
258
326
356
326
275
259
368
372
313
243
332
391
327
340
417
375
395
318
295
336
335
237
311
355
245
313
279
323
215
325
220
254
297
401
288
309
312
313
399
336
323
307
239
351
390
357
363
366
288
341
352
345
214
308
346
324
330
368
349
313
312
298
295
316
309
362
364
331
286
250
292
330
349
330
330
360
411
265
207
299
330
254
394
240
303
327
287
275
278
285
315
326
336
368
323
281
201
340
307
261
324
321
345
323
293
351
249
388
356
318
367
305
330
321
281
350
296
228
227
304
290
338
390
278
254
305
285
332
317
222
381
364
357
236
315
304
336
329
323
279
250
356
312
302
281
318
352
289
271
270
391
289
326
393
304
305
298
300
265
261
282
349
332
186
312
361
259
335
293
332
250
256
329
348
329
291
323
405
296
249
309
347
349
299
387
291
307
284
337
354
372
297
316
321
319
313
267
271
346
348
281
284
335
290
420
299
354
358
312
360
299
383
345
384
333
348
233
355
331
312
308
298
350
315
274
290
277
297
394
370
380
335
296
285
354
390
354
295
346
323
304
366
328
435
319
337
358
297
304
330
332
327
337
386
350
321
262
337
399
302
373
363
354
297
327
294
321
361
338
361
338
347
297
250
239
313
309
378
311
361
336
323
278
347
340
339
382
315
344
264
353
336
308
344
248
324
244
359
297
321
264
272
353
336
342
401
279
356
274
332
322
251
300
308
355
366
321
299
370
275
347
369
340
317
342
373
282
329
373
384
351
283
301
346
383
323
382
200
429
357
278
345
319
296
292
326
324
347
336
301
347
342
218
292
339
259
294
281
351
237
244
287
354
314
389
301
357
294
348
206
304
372
371
295
324
317
254
226
362
353
366
329
321
331
329
382
325
300
332
258
279
293
332
274
317
227
304
348
271
291
355
344
299
383
284
356
252
291
229
290
342
399
301
345
313
355
339
319
339
361
368
263
335
241
321
371
257
393
324
351
280
361
343
337
302
298
297
391
285
310
296
312
362
396
361
290
274
284
339
328
345
267
296
306
389
319
280
305
266
331
400
333
299
304
269
270
295
237
227
310
307
274
382
206
306
280
329
354
375
320
353
238
378
311
371
232
278
342
202
361
332
277
257
299
263
304
377
327
237
333
354
295
324
335
266
358
326
356
314
232
347
348
315
287
339
321
319
294
404
256
324
337
299
344
259
397
274
312
396
354
307
298
277
363
290
271
322
308
340
374
247
331
214
336
224
306
326
337
315
250
255
282
404
261
317
356
363
357
357
305
358
284
327
305
364
225
251
272
348
338
301
333
243
301
362
346
333
401
275
317
294
356
317
310
320
273
303
345
416
331
337
320
273
316
244
273
247
305
326
291
291
331
274
383
290
342
345
335
284
351
306
372
287
265
302
309
303
366
321
288
217
305
289
317
298
288
328
318
261
351
328
329
246
291
332
305
311
322
345
250
346
315
320
268
364
277
344
305
297
281
373
324
349
322
271
333
257
305
274
333
359
264
267
304
284
377
396
303
193
206
296
321
329
204
412
286
333
197
348
310
321
405
410
284
392
409
264
318
219
236
293
329
351
325
315
295
404
302
324
333
340
314
351
360
348
423
315
299
424
369
379
372
388
328
357
341
295
327
378
251
321
418
333
313
349
336
343
346
268
278
229
317
248
346
297
312
299
309
312
353
357
230
346
303
403
325
398
260
301
357
312
284
276
288
318
324
344
288
353
364
252
360
299
229
299
293
368
335
315
350
358
260
275
275
271
316
337
355
290
278
311
368
293
309
282
349
353
350
287
253
355
354
267
279
360
279
340
398
348
246
313
370
325
308
330
314
245
339
299
339
200
384
335
342
388
407
406
310
354
404
287
284
298
363
352
379
233
368
310
281
375
383
368
279
417
347
274
311
310
368
265
277
274
316
300
277
370
246
296
312
235
244
266
254
310
279
366
271
409
336
272
289
318
365
366
326
320
283
314
261
394
351
350
381
308
347
371
322
287
319
420
301
311
319
318
256
299
343
270
308
340
279
373
369
146
278
333
382
317
327
317
350
368
296
249
284
324
319
341
326
229
388
225
303
263
284
248
291
295
254
253
255
264
326
357
248
283
364
339
357
364
256
331
304
325
326
406
213
359
320
371
330
390
277
362
333
221
249
296
297
274
293
301
341
373
308
330
294
369
324
312
386
357
219
351
292
297
355
269
321
230
301
313
365
391
350
368
301
356
308
304
356
291
330
268
299
307
385
310
258
326
278
309
311
353
269
281
285
382
368
380
265
276
303
296
332
303
352
394
246
362
259
357
275
315
346
338
251
305
291
359
339
342
367
358
318
297
297
304
359
261
225
224
410
247
364
289
271
318
299
341
247
347
314
290
350
333
228
351
345
320
390
352
318
276
293
300
372
290
261
350
328
248
271
272
393
313
219
355
342
459
322
350
300
294
355
281
330
352
199
336
327
220
282
302
265
319
285
242
287
277
382
306
318
360
337
209
320
333
277
297
309
305
336
383
286
350
367
227
319
333
324
321
337
383
301
338
280
304
336
315
409
284
300
308
318
302
269
373
354
312
294
233
274
338
321
348
260
257
296
290
247
277
295
307
312
301
273
348
345
330
280
337
277
281
285
397
320
319
272
323
336
275
397
338
284
283
226
362
296
377
295
321
349
382
442
331
356
332
295
252
337
280
380
393
303
368
302
400
329
331
342
364
311
326
312
305
346
335
358
275
234
416
421
347
316
264
352
227
284
266
312
410
200
409
365
262
384
351
321
364
383
287
260
232
223
273
361
355
314
296
315
340
414
319
337
313
325
314
386
293
313
313
248
388
352
345
305
345
322
380
335
297
279
356
360
341
294
311
262
327
298
263
393
218
242
292
308
260
374
244
320
324
367
353
258
298
304
323
384
327
338
186
323
332
240
333
238
254
252
291
339
282
228
275
323
347
289
276
309
319
340
292
314
269
353
354
320
288
345
348
361
303
183
346
217
250
292
286
234
312
342
372
366
396
305
387
306
335
305
357
320
341
257
334
305
244
245
329
263
259
305
307
365
282
314
284
335
360
290
322
291
314
277
258
305
281
304
287
320
302
343
261
312
255
299
320
350
312
252
308
347
295
364
316
323
300
325
286
251
407
324
267
323
298
341
326
259
362
310
268
346
304
322
319
344
276
250
351
330
276
255
309
307
351
296
342
260
379
330
343
269
294
359
246
343
339
329
242
334
329
319
313
302
339
298
252
367
349
330
384
313
272
398
287
341
262
296
425
319
340
364
401
348
326
339
229
290
297
338
339
352
352
331
273
385
444
343
384
357
325
328
300
307
284
316
312
263
385
329
305
291
271
294
268
327
303
389
324
236
265
390
281
313
312
299
352
354
299
274
315
354
296
313
404
441
260
266
241
218
284
254
316
319
225
246
281
373
348
377
317
334
331
299
273
285
381
309
255
341
369
339
338
355
258
287
294
342
310
365
360
315
312
251
389
368
334
242
182
372
350
335
361
383
279
360
260
292
334
301
360
292
294
374
309
350
323
287
251
292
319
247
315
348
319
410
351
340
245
363
314
351
351
319
380
336
302
260
307
270
294
296
301
270
380
277
398
327
314
271
323
303
347
317
213
207
290
339
347
275
308
328
303
280
269
333
309
284
330
245
293
230
325
345
308
242
297
343
300
382
292
230
355
381
322
213
341
334
277
356
337
304
311
332
321
375
295
284
248
336
259
338
373
377
271
347
316
295
347
259
346
322
342
352
330
267
363
337
299
218
237
268
273
320
377
349
340
453
316
334
332
255
248
376
298
250
311
349
302
309
386
307
368
266
381
348
308
310
283
332
263
272
317
331
218
346
364
301
334
313
357
354
322
345
270
427
323
306
342
347
303
334
347
314
313
350
258
289
349
324
363
319
320
417
241
402
348
293
310
338
334
375
302
338
300
349
411
267
350
344
255
313
345
263
249
280
229
309
319
404
315
363
322
344
348
401
313
382
274
343
266
226
324
265
244
339
296
327
348
368
265
253
298
316
319
309
331
335
383
317
283
322
334
330
225
232
335
323
288
335
316
356
309
189
296
270
244
312
237
336
375
365
288
351
320
373
411
362
339
358
258
298
382
355
329
265
344
307
281
309
291
299
382
336
322
312
292
288
328
345
320
291
372
390
370
309
365
246
283
364
324
283
351
364
297
305
319
309
266
305
328
283
255
335
355
345
349
307
232
249
261
353
318
319
357
411
280
277
326
313
285
359
275
340
324
308
320
337
343
257
386
316
315
252
319
306
316
326
333
431
386
396
328
349
310
277
323
322
307
437
354
248
343
300
303
269
366
263
297
309
293
290
379
313
312
324
386
267
362
357
295
311
306
334
325
270
369
292
336
393
340
355
320
251
334
308
246
317
322
281
265
394
326
263
293
388
378
316
376
307
314
253
356
342
339
287
314
343
279
405
358
245
260
282
331
247
323
369
273
353
318
281
304
358
268
314
362
358
291
289
314
292
336
391
298
349
264
377
267
256
278
283
366
389
307
303
320
420
263
342
269
307
233
322
327
219
330
331
263
370
362
303
319
323
268
358
360
286
335
276
380
320
333
351
341
394
361
284
353
278
326
302
224
259
337
329
251
257
321
283
345
354
293
257
285
378
228
239
179
373
304
256
364
413
306
336
338
362
263
324
388
313
350
267
283
367
297
326
285
242
308
445
329
322
299
272
366
241
239
347
306
342
307
366
292
289
289
391
351
317
318
338
346
301
398
319
340
331
303
293
363
378
310
263
388
382
396
311
315
313
332
300
311
309
345
339
360
375
332
294
287
365
258
321
352
259
362
345
333
321
255
310
273
284
329
277
329
368
393
346
380
357
284
348
270
311
315
412
378
276
338
368
295
362
251
267
262
342
358
221
299
274
320
311
333
334
243
350
308
301
355
245
314
324
254
274
343
352
315
288
340
234
287
267
357
354
298
269
217
355
265
281
416
368
352
218
331
319
281
319
379
254
309
292
324
311
264
279
299
270
290
293
236
372
353
288
331
306
356
262
341
389
257
405
281
313
395
301
289
317
292
365
278
383
221
282
317
345
260
335
295
251
284
337
222
367
354
237
351
399
191
291
263
387
189
293
293
294
393
327
317
330
364
351
355
286
249
293
326
317
283
280
301
294
416
372
352
269
317
311
342
252
214
309
247
292
318
362
193
304
263
331
348
297
356
316
292
318
339
351
290
328
364
338
335
382
320
256
294
346
343
311
199
300
285
317
312
292
296
320
413
198
342
334
315
303
361
393
262
283
293
327
288
336
309
323
256
319
333
347
303
340
342
378
297
285
299
317
332
331
375
327
267
326
339
338
218
288
335
367
354
395
310
329
238
222
285
420
384
431
342
319
226
298
235
364
244
377
244
286
259
294
299
336
346
253
245
317
331
285
286
221
393
339
398
385
295
292
333
294
298
280
342
317
277
291
303
330
310
336
259
389
281
362
311
274
360
273
348
366
282
305
369
286
343
267
306
365
346
269
396
290
279
246
327
278
262
419
261
348
262
391
354
312
308
298
374
314
331
376
329
248
319
313
276
381
298
399
313
343
302
237
280
314
283
372
292
293
302
334
302
326
315
339
354
357
311
313
330
356
319
375
339
336
314
346
317
332
399
353
250
313
349
365
346
269
310
271
299
314
268
248
331
337
307
385
342
345
301
348
384
314
289
343
223
391
275
338
331
336
320
312
365
278
388
279
355
339
399
270
214
279
339
294
307
341
277
325
299
322
339
275
291
332
323
309
331
370
337
357
281
294
334
164
277
228
297
291
320
330
180
342
291
345
321
360
353
322
271
367
257
300
267
307
405
321
307
290
318
358
339
180
332
402
367
365
313
272
336
435
304
289
239
341
266
336
390
301
283
320
310
380
274
387
318
339
348
328
336
391
294
352
308
358
305
334
371
320
279
258
295
302
304
328
331
344
283
293
410
368
279
189
268
236
330
317
323
261
290
318
313
364
220
374
342
353
385
272
306
274
397
329
335
316
364
257
317
272
345
296
289
309
264
372
306
319
315
317
376
308
283
317
335
299
297
277
297
302
364
341
275
338
281
289
359
367
271
268
336
325
236
272
315
322
331
378
232
329
206
266
359
303
316
251
292
267
302
380
307
329
321
408
273
376
391
373
310
362
286
335
335
321
250
279
309
308
328
298
303
355
323
266
356
276
373
294
303
335
379
328
320
283
296
326
300
355
329
312
376
336
314
326
269
244
356
339
314
373
251
297
194
331
365
278
387
280
314
336
418
314
257
307
338
275
366
201
339
257
313
266
330
273
340
372
320
418
326
323
287
261
321
310
307
338
287
408
366
317
322
347
338
336
411
294
379
361
369
334
304
249
355
291
408
317
360
389
336
336
314
310
312
378
276
309
381
396
312
309
320
358
286
333
335
277
316
310
253
380
357
214
297
347
384
317
366
307
306
311
374
334
346
282
212
240
248
334
274
352
340
439
348
287
363
366
229
339
367
311
327
312
307
410
292
282
316
268
297
336
273
286
325
267
294
338
259
321
290
340
268
325
313
218
357
346
354
269
315
310
376
294
359
352
263
266
304
298
358
314
332
271
366
385
273
369
294
387
262
345
345
359
330
293
262
315
318
278
295
357
329
304
397
387
311
280
196
348
367
254
242
304
249
348
298
321
293
372
209
269
355
411
253
341
287
297
407
228
300
323
295
266
275
274
282
350
435
266
301
326
273
169
321
259
249
340
396
382
270
324
313
303
351
264
271
356
293
322
359
232
275
364
333
361
334
362
349
327
298
347
220
210
277
299
280
379
279
314
362
277
395
239
361
298
265
323
356
307
321
331
316
301
325
315
258
416
195
276
262
421
323
306
398
381
262
274
289
270
353
249
290
314
421
259
285
343
304
264
281
275
435
328
224
343
337
317
372
289
252
308
267
336
346
319
343
271
298
420
376
249
301
300
235
270
265
341
293
371
328
304
264
279
303
289
349
339
341
393
260
305
348
293
351
331
276
293
349
314
264
283
359
387
321
333
240
340
375
363
351
309
289
310
356
337
376
341
297
417
345
366
347
300
282
240
372
321
302
358
290
311
314
323
359
305
390
276
310
340
281
358
356
320
331
291
335
278
387
306
308
229
264
353
269
331
267
334
300
315
331
281
290
240
298
376
396
348
290
298
367
372
347
386
425
387
230
325
288
262
301
386
327
292
322
312
380
338
319
272
307
330
255
395
297
315
330
426
329
323
275
295
389
313
285
310
234
237
356
296
295
356
310
352
321
365
273
273
303
326
286
247
428
376
340
280
294
370
325
272
371
204
339
309
344
336
279
276
394
313
407
335
371
320
348
271
239
288
322
332
342
322
316
300
342
317
290
309
273
358
327
347
380
354
304
290
241
296
392
278
377
320
263
251
352
376
243
339
273
302
314
348
302
345
294
343
336
355
363
257
294
281
352
267
354
243
296
345
402
292
257
309
272
327
350
332
338
317
315
310
262
290
369
285
329
319
377
238
371
249
335
319
329
319
275
308
270
303
313
283
256
346
310
384
255
275
269
312
356
355
292
253
348
395
402
275
251
314
245
355
320
310
357
334
401
259
376
382
285
270
271
378
285
218
315
327
272
309
243
308
263
267
315
316
325
360
243
331
261
321
357
331
317
300
313
268
287
350
306
294
320
228
256
313
291
340
375
294
407
392
313
308
323
360
264
285
274
257
287
265
384
291
248
414
284
371
311
290
310
336
333
327
277
339
273
376
326
343
298
292
301
311
292
297
350
300
285
281
252
346
357
351
292
282
383
321
259
322
260
324
282
277
360
318
261
318
273
294
314
340
343
353
374
336
265
324
319
353
315
356
289
327
307
283
284
344
262
314
367
310
270
302
280
345
285
232
292
322
366
264
234
308
339
271
249
291
329
333
316
284
266
402
319
297
201
288
290
320
317
386
387
327
312
282
335
367
292
273
266
256
307
315
356
238
383
310
295
262
310
237
333
330
289
291
305
328
339
377
310
294
405
319
361
326
409
328
287
337
308
301
374
207
369
305
338
269
312
265
280
374
310
391
317
346
312
370
246
317
376
309
353
260
364
347
202
310
332
274
316
358
328
254
327
347
356
338
295
356
293
340
226
314
329
278
354
327
360
338
280
241
376
281
255
327
315
333
399
299
350
341
311
317
284
372
380
331
347
383
309
293
322
369
311
349
315
273
286
303
239
301
288
252
259
374
341
410
299
344
368
405
277
282
256
410
298
254
354
246
408
307
320
359
394
324
260
302
313
331
309
276
292
312
328
269
346
314
393
274
381
234
301
360
331
361
390
401
384
320
285
204
291
326
288
342
365
338
245
302
293
315
331
289
337
264
246
309
393
262
316
304
323
391
344
286
307
333
319
333
370
196
355
193
335
328
285
268
343
379
335
343
272
399
360
390
386
332
326
365
353
293
246
257
343
289
257
330
352
428
297
304
367
227
331
382
348
278
259
294
296
394
332
334
340
303
326
387
339
288
358
284
292
385
408
395
303
275
276
307
284
201
354
320
331
341
231
274
290
361
341
307
297
316
271
309
305
294
295
290
258
247
304
281
182
249
344
234
260
300
347
308
312
277
304
373
287
315
347
319
282
301
254
337
378
306
356
285
276
381
191
357
341
350
327
293
334
324
353
358
313
343
346
369
347
325
309
329
274
252
321
339
393
299
289
241
323
304
374
326
366
297
312
418
288
253
357
318
307
258
359
334
255
253
335
385
344
295
350
380
305
292
314
335
180
277
293
268
291
363
282
330
289
261
307
313
435
318
281
347
398
330
231
332
311
291
315
352
309
286
359
264
294
415
371
291
291
239
337
234
273
379
308
321
365
325
359
285
339
341
381
297
335
365
316
297
237
272
334
369
404
300
266
340
266
334
358
389
310
320
302
282
217
362
283
304
368
380
312
381
346
228
322
281
258
311
339
370
218
282
292
335
290
325
343
268
301
293
345
297
288
330
276
291
347
299
336
319
343
243
327
417
189
344
348
296
320
330
335
246
414
330
324
324
307
322
281
352
292
235
262
363
403
232
275
289
278
314
278
312
381
335
257
284
331
345
373
369
250
362
282
228
432
267
310
301
335
283
288
372
283
334
296
252
284
362
267
358
351
310
312
289
387
339
293
306
317
304
264
313
298
345
281
375
189
303
390
273
272
292
372
348
288
301
329
291
286
269
450
267
299
236
327
316
231
212
303
332
335
361
341
311
264
387
261
307
287
358
326
358
259
377
352
299
280
367
386
384
293
251
258
299
246
377
225
247
274
349
337
333
304
287
341
329
302
268
365
318
380
367
342
343
321
261
314
365
289
313
330
334
387
262
382
243
287
331
230
400
405
317
339
345
378
320
380
312
363
316
307
265
347
344
311
253
347
326
291
367
372
332
307
305
292
317
370
266
275
267
283
289
237
355
319
362
318
236
312
328
258
361
231
343
243
376
294
285
378
267
298
369
348
284
343
299
379
305
324
168
284
343
324
330
341
326
357
275
365
279
413
340
323
305
324
271
299
359
312
309
307
262
403
337
362
300
323
348
336
235
268
272
324
365
354
346
335
312
317
297
271
422
370
346
316
355
269
380
352
311
277
280
283
371
391
326
315
262
323
314
323
381
350
338
283
269
370
281
317
382
315
331
360
374
314
357
380
321
349
334
271
310
370
333
353
318
247
377
292
232
296
373
264
379
284
367
325
389
317
364
259
246
342
367
251
297
296
352
235
345
308
319
274
299
304
371
288
241
303
197
265
297
283
339
275
276
286
282
304
314
319
332
312
312
398
336
221
318
325
319
358
253
258
389
212
308
298
313
333
360
355
348
286
312
243
315
338
290
357
366
311
301
362
347
273
239
347
251
275
264
316
269
357
315
290
387
331
322
314
253
308
373
323
385
369
392
293
354
299
343
221
316
349
352
293
275
268
347
308
309
266
399
305
284
360
283
363
329
268
366
308
335
381
346
183
371
323
312
367
293
346
322
295
320
386
241
325
275
307
315
341
358
297
354
293
376
323
257
293
353
281
290
225
308
356
277
356
278
322
325
288
357
342
290
298
318
297
259
250
252
365
368
329
271
168
295
300
296
268
341
295
251
341
339
312
380
258
256
393
277
188
333
328
322
325
295
342
308
233
327
287
343
336
289
348
340
257
326
350
304
286
357
352
319
307
340
252
333
286
312
200
318
344
275
288
333
232
351
324
414
320
243
271
258
345
361
315
295
350
261
357
342
359
266
390
344
238
330
298
329
311
262
242
336
303
266
243
255
338
363
361
345
236
347
279
198
312
392
233
296
254
338
347
341
355
344
306
325
389
330
276
322
350
331
360
291
244
258
377
364
300
172
288
286
393
352
233
298
363
213
343
279
275
232
305
354
233
332
311
333
370
356
333
297
248
339
387
225
402
299
270
306
289
339
323
322
284
258
412
368
228
315
256
303
359
280
329
299
207
326
284
340
247
320
372
317
248
304
317
362
413
329
329
265
291
351
363
299
384
305
340
325
319
315
269
274
340
344
399
310
370
345
351
281
348
282
361
256
309
276
235
227
286
351
317
290
267
277
217
335
281
221
368
373
250
374
290
332
338
345
323
197
324
279
280
301
294
276
388
310
335
308
288
200
361
315
286
378
284
390
350
325
263
307
376
344
353
266
408
285
320
315
350
342
297
313
346
363
411
284
281
330
287
278
340
365
305
378
295
332
280
366
334
365
328
359
302
290
285
420
294
372
275
362
274
288
267
218
325
336
327
350
355
271
322
355
298
309
311
246
328
333
416
302
281
340
317
346
247
280
271
288
355
333
326
244
336
290
303
213
313
236
292
318
289
304
336
378
346
276
300
394
287
342
363
258
366
305
293
250
231
244
255
407
243
315
334
313
324
306
336
280
353
307
243
330
329
167
235
265
242
370
311
358
366
315
351
267
322
276
346
334
353
412
290
307
291
391
277
375
330
306
269
303
374
377
304
262
328
346
271
310
378
413
371
303
309
332
393
307
299
330
295
348
331
254
362
333
260
321
292
216
322
247
356
238
353
383
338
373
290
342
360
293
368
299
303
285
329
310
282
423
328
327
304
371
311
264
347
374
258
372
337
256
269
334
266
326
275
263
239
287
309
234
298
282
374
373
344
293
357
334
306
349
412
330
339
283
370
265
267
318
341
315
405
296
383
300
342
338
320
347
319
332
237
267
323
252
279
395
350
379
302
327
355
366
331
342
318
371
336
311
374
277
341
294
390
322
379
259
287
297
315
318
289
318
366
330
299
310
255
300
276
376
295
391
311
283
356
358
333
329
389
362
307
322
270
217
305
210
291
249
294
264
307
343
343
327
307
288
286
295
360
273
334
333
342
306
347
306
275
245
314
359
360
183
344
264
328
322
333
296
362
362
322
342
317
281
289
324
342
289
294
343
271
298
316
340
432
313
205
355
369
302
325
193
348
264
287
208
357
327
374
314
280
301
370
354
278
314
358
339
278
345
334
326
318
379
320
412
337
342
369
360
311
337
328
411
393
361
398
308
329
294
247
315
352
363
286
380
342
318
312
361
277
282
301
352
295
288
329
319
266
312
250
249
296
279
331
319
342
261
404
340
209
300
205
307
253
405
334
284
263
341
258
269
249
289
286
286
332
229
261
362
338
383
327
349
275
381
278
223
278
247
339
237
244
318
260
409
248
356
303
343
362
358
368
284
374
259
287
394
294
358
373
260
291
363
281
238
283
433
358
298
300
285
307
308
373
339
272
329
282
314
268
308
265
277
333
364
374
267
223
348
354
326
299
277
331
325
256
361
339
337
309
346
287
300
310
338
282
359
303
310
340
380
336
352
255
405
308
350
414
399
346
226
252
332
258
269
362
337
368
246
333
291
300
368
249
313
296
250
218
364
341
359
246
337
266
355
298
297
331
352
277
296
324
298
356
246
354
327
275
358
308
293
354
288
276
268
324
313
343
343
351
297
296
299
351
238
223
272
293
304
325
310
292
310
343
344
360
290
317
296
277
263
321
340
262
349
294
278
342
340
329
294
302
404
334
317
349
294
329
310
472
212
219
363
372
251
311
309
246
353
341
277
280
293
388
338
284
272
294
335
368
383
317
331
265
241
369
399
207
208
331
313
397
362
271
367
331
338
346
299
248
306
390
284
235
330
334
310
317
326
381
311
266
271
360
319
269
307
271
330
216
313
303
332
322
279
312
289
363
340
373
270
262
331
343
351
334
348
356
357
302
353
308
405
316
413
286
352
288
350
303
293
315
259
345
314
293
367
306
271
321
318
306
303
271
345
320
349
335
354
386
366
306
270
331
307
200
295
296
231
332
323
348
377
274
330
373
301
310
301
354
401
332
287
195
376
327
317
415
286
296
288
371
327
344
346
369
302
297
247
330
249
270
255
334
286
400
301
421
305
287
359
284
284
343
261
336
373
327
343
287
399
284
342
366
328
352
313
366
400
336
309
403
293
363
262
337
333
349
313
361
342
291
292
391
307
347
280
377
306
331
292
387
342
350
336
329
371
280
328
338
361
259
337
319
339
297
305
386
376
308
292
384
359
353
289
295
318
276
308
355
308
262
211
246
265
401
313
317
342
284
280
414
331
263
242
295
303
374
312
293
301
286
354
349
365
300
412
389
350
296
325
369
243
380
345
296
316
411
290
374
247
370
353
307
299
364
294
299
290
317
303
259
273
300
381
341
270
335
406
388
320
273
329
313
215
269
239
271
282
362
346
270
375
269
348
342
346
340
221
256
368
290
343
303
276
353
346
278
306
370
309
416
313
282
340
340
405
332
406
285
305
306
300
402
262
351
412
345
311
345
250
290
287
287
260
395
286
352
353
331
214
283
391
372
347
347
305
343
261
340
346
333
357
392
289
299
287
322
224
292
350
285
192
294
224
375
396
278
256
284
327
295
234
361
295
296
254
356
267
264
321
421
217
289
254
371
304
342
395
328
311
296
290
287
388
329
393
346
183
352
332
387
331
369
304
341
348
260
277
250
321
308
331
351
284
406
292
306
279
320
385
404
341
240
406
298
368
373
352
294
323
334
219
319
377
361
307
312
359
353
403
416
307
368
329
342
355
278
249
334
286
282
346
299
282
346
290
294
313
394
362
351
254
331
343
346
387
316
383
300
368
333
347
336
312
333
292
382
359
274
333
281
291
344
251
275
291
306
340
388
251
312
298
303
305
288
339
294
317
320
258
364
331
296
245
269
391
404
363
268
418
299
315
328
352
318
314
319
318
279
275
398
319
268
291
308
299
180
331
341
302
273
282
346
378
272
333
351
370
362
305
322
317
403
275
318
410
276
367
269
302
421
384
361
321
379
342
303
308
354
198
324
304
352
265
297
362
255
263
360
317
236
317
340
283
378
287
355
393
305
342
305
271
359
293
314
235
306
331
329
318
369
275
388
270
301
327
259
376
297
250
394
428
327
233
334
259
304
370
294
270
321
332
311
314
290
325
321
377
368
306
287
360
314
309
303
310
388
302
382
328
321
373
276
253
407
290
390
314
305
404
286
355
344
245
269
250
292
393
284
277
353
357
322
294
290
267
309
245
285
353
337
300
304
296
318
302
339
320
399
268
348
284
311
250
398
365
324
339
209
294
373
319
283
395
349
328
311
306
331
307
317
314
294
298
309
315
314
379
305
291
317
332
314
253
298
280
268
308
351
350
341
269
275
290
327
315
320
291
218
287
377
313
356
397
328
374
313
391
287
342
229
300
333
276
344
261
253
331
361
217
263
279
345
321
372
357
385
319
316
336
333
361
366
293
318
305
316
317
340
326
312
340
351
365
363
311
358
294
262
295
269
396
345
334
324
313
304
232
284
272
265
315
340
312
290
356
331
221
317
266
303
345
347
338
310
330
334
278
272
322
363
268
327
283
273
363
380
259
358
370
305
328
362
364
369
340
292
398
341
333
254
330
333
341
318
224
314
325
332
356
254
362
335
337
301
370
267
309
296
409
408
262
337
341
298
279
300
372
310
354
264
313
317
237
321
354
301
232
323
365
297
324
287
328
332
367
320
315
242
401
376
328
323
172
271
407
333
351
252
352
220
385
408
358
298
403
251
288
321
227
357
316
311
314
212
333
429
303
297
327
355
301
255
330
322
262
313
416
291
345
347
299
354
195
346
331
237
290
237
269
335
317
330
334
274
268
331
320
391
290
343
282
315
350
347
392
288
308
314
320
377
376
279
299
279
319
317
277
310
366
297
326
332
295
290
311
312
343
344
228
305
278
277
299
356
301
368
352
302
346
345
284
264
301
354
292
398
315
260
245
235
292
287
346
290
286
319
283
229
302
336
321
322
316
315
248
370
312
283
331
241
333
352
290
309
310
358
262
277
312
256
379
331
287
271
318
336
376
372
297
287
336
306
338
367
319
310
369
295
323
353
332
371
342
319
314
299
295
345
277
358
381
388
229
340
250
357
344
342
373
270
277
378
324
284
384
396
401
289
335
346
339
327
358
331
292
371
290
372
272
306
207
331
344
268
369
288
240
297
369
290
288
269
243
320
250
320
333
317
410
358
348
264
312
367
303
358
250
244
221
306
322
360
251
341
286
221
365
393
363
323
307
293
350
342
346
388
264
406
298
254
399
223
336
251
438
266
269
313
378
298
271
351
343
282
373
328
335
254
371
333
399
244
278
285
343
280
346
269
260
306
265
379
336
325
351
319
269
353
250
239
324
387
309
350
317
338
261
383
352
280
410
236
325
325
251
362
294
398
294
292
255
366
274
377
430
212
286
252
302
306
334
301
319
306
251
312
355
253
305
364
240
249
343
297
259
277
285
332
363
315
258
320
297
331
401
310
290
264
369
257
276
263
357
299
270
387
317
368
314
353
245
320
377
278
347
296
272
273
249
323
379
274
285
376
312
330
244
296
346
392
368
379
375
392
354
249
209
288
269
365
332
242
277
358
288
308
266
352
249
350
271
280
278
343
324
307
239
286
294
301
279
335
332
301
269
346
341
251
381
299
337
335
283
274
398
346
328
324
347
355
355
296
320
348
370
291
378
357
242
292
299
349
339
342
308
342
351
314
384
388
386
337
264
255
296
290
272
329
343
276
322
335
243
417
288
314
340
290
324
420
270
316
255
266
347
325
337
308
373
309
352
260
336
365
364
317
352
349
341
250
259
317
338
351
314
270
295
362
395
324
267
265
305
338
244
338
288
293
378
254
229
385
295
306
332
335
277
260
376
262
291
292
427
337
349
332
332
305
364
240
348
273
302
320
377
329
310
308
309
399
293
298
364
347
284
296
294
260
298
337
278
353
379
301
262
370
284
351
369
341
241
309
318
314
374
326
257
372
344
366
238
400
273
305
285
329
330
289
305
401
308
335
352
387
323
297
250
345
350
308
248
275
358
272
262
321
309
252
374
247
389
342
371
298
277
336
290
301
377
375
297
329
318
319
315
277
344
320
345
319
292
293
254
413
288
329
320
365
323
347
263
322
274
246
323
278
356
303
301
248
332
343
340
307
358
293
337
317
359
384
234
335
295
312
307
300
328
322
274
318
369
273
315
289
327
358
386
259
277
206
299
359
207
333
348
310
399
286
310
321
345
274
306
338
292
284
367
351
370
247
240
321
335
365
387
281
326
213
322
310
290
374
331
295
334
354
351
307
252
305
379
250
276
342
252
318
297
267
299
321
311
302
311
282
356
278
329
293
337
352
348
314
296
325
296
364
347
358
278
306
300
245
312
375
345
350
393
262
293
335
335
363
280
382
281
336
332
298
381
318
300
305
307
250
240
256
302
359
308
296
357
358
316
403
364
286
364
347
293
385
314
354
308
353
287
402
263
469
317
326
308
322
344
307
276
281
338
376
250
275
356
293
236
400
315
283
276
257
306
292
298
266
257
295
468
285
302
233
401
332
351
294
213
256
295
307
271
301
327
373
300
383
260
306
378
359
295
268
314
341
324
378
288
333
351
372
319
343
308
338
307
274
400
329
398
365
302
414
331
340
256
219
256
350
310
353
240
350
390
360
324
271
336
270
316
313
276
319
316
323
296
299
332
384
356
259
308
328
291
358
386
348
357
278
296
379
416
343
323
311
241
356
342
361
329
296
297
364
343
318
283
267
285
306
301
334
359
305
288
250
197
375
341
308
338
253
296
323
321
376
356
396
252
264
302
336
322
366
324
296
271
362
342
351
374
327
274
323
287
305
305
326
264
337
296
230
287
314
336
302
267
331
323
385
303
303
352
331
325
275
322
355
331
288
290
323
353
361
293
286
324
355
302
289
285
354
431
225
313
293
326
396
402
316
360
231
282
399
228
287
399
394
290
324
300
256
347
229
219
339
303
369
303
314
327
318
353
401
296
398
286
304
234
356
408
316
323
326
384
331
307
269
323
324
361
294
358
317
343
339
275
345
365
324
312
301
322
327
254
269
262
331
316
368
378
352
319
313
353
277
378
331
286
335
296
405
280
259
245
311
285
289
333
347
420
392
283
327
301
326
248
288
390
256
303
342
367
231
257
293
294
228
273
238
287
311
366
369
289
352
323
273
374
319
346
383
280
297
380
300
343
356
338
286
329
363
296
273
313
339
310
401
291
339
364
217
231
369
344
345
341
330
354
349
346
263
310
309
300
327
258
348
280
354
345
371
323
306
320
325
291
260
266
341
328
280
244
344
239
358
318
386
294
287
291
255
348
304
258
299
319
306
222
295
291
307
361
275
315
415
201
277
389
294
368
269
332
354
304
285
284
269
301
312
374
302
332
284
300
326
341
267
332
396
373
271
309
403
387
303
276
306
369
336
240
236
342
287
304
351
366
368
355
211
289
348
360
324
247
273
322
309
320
315
330
330
316
423
218
343
338
232
321
364
319
330
274
319
248
276
288
334
255
340
256
328
378
307
277
306
343
255
292
317
372
281
316
274
331
300
389
348
357
335
316
276
339
376
330
333
225
371
395
282
223
239
275
325
327
303
360
318
232
340
324
302
288
320
288
232
306
313
357
317
389
340
315
267
293
241
245
373
288
313
256
229
318
319
289
304
348
214
295
330
342
319
230
224
329
251
306
296
238
344
273
287
318
304
316
292
296
369
212
298
279
291
366
340
382
410
273
273
336
286
413
331
300
409
288
253
315
245
248
288
328
351
303
341
305
308
303
348
310
221
326
307
286
350
382
382
314
302
305
309
310
294
322
411
310
329
374
319
339
334
246
239
399
400
423
338
296
357
329
292
328
302
338
310
320
340
319
248
354
277
315
287
314
301
338
314
360
336
391
397
299
288
296
344
237
353
239
342
340
332
378
321
362
344
231
332
336
398
317
343
348
323
288
315
343
362
351
253
290
277
322
332
266
373
294
334
376
306
309
321
260
342
279
326
261
344
308
371
370
352
407
365
309
308
315
397
344
350
354
336
338
244
383
349
363
383
322
238
290
254
309
285
316
220
317
348
240
414
370
356
248
387
359
303
354
299
363
384
395
393
265
323
362
333
361
164
319
351
336
318
366
355
399
285
206
344
314
331
306
363
252
327
334
427
255
292
353
307
308
283
268
326
309
208
291
315
283
336
282
312
398
286
359
277
364
343
375
376
332
334
301
357
310
230
326
342
268
364
340
350
374
338
365
355
267
293
222
256
368
300
407
319
279
241
386
229
347
334
298
306
333
273
363
294
314
311
277
292
236
280
257
336
243
295
209
298
318
327
310
272
287
351
320
299
397
351
427
188
293
323
332
324
352
327
327
282
262
323
300
314
237
204
351
323
317
355
280
292
315
261
314
323
352
392
321
383
263
302
325
352
344
219
332
367
282
308
249
342
293
418
240
295
251
349
284
271
340
387
301
316
278
342
192
245
297
319
363
226
297
313
284
300
262
255
354
359
211
409
333
396
327
352
337
256
309
380
272
404
290
274
374
292
327
354
383
341
345
281
281
314
307
308
326
396
348
311
371
355
303
252
316
342
273
337
296
272
353
208
274
366
280
343
388
332
333
296
308
335
334
368
317
308
300
352
366
312
359
315
336
349
325
404
325
288
345
354
327
329
295
375
292
279
268
319
220
255
300
336
354
375
367
280
316
264
284
336
261
285
316
287
365
264
369
321
346
336
315
423
416
447
310
294
278
260
299
391
304
345
256
251
264
305
258
312
268
235
391
412
312
348
264
403
392
337
290
294
328
367
348
335
230
320
264
261
397
352
286
313
231
268
270
260
236
372
341
334
362
257
271
329
358
320
292
293
248
313
293
359
281
340
270
315
274
327
357
264
374
267
330
279
272
384
354
389
293
353
366
385
352
272
296
358
325
320
348
314
269
414
377
280
309
416
382
219
283
319
354
349
296
330
280
244
346
325
334
283
420
264
337
273
283
262
311
315
276
363
352
354
316
315
405
343
320
345
371
236
340
228
311
343
346
349
319
380
215
288
390
256
319
287
345
377
309
329
379
357
384
234
318
353
311
344
251
270
331
304
301
351
300
241
369
272
289
257
372
242
358
345
284
330
382
313
247
332
336
325
331
389
316
328
289
289
362
293
191
350
261
302
272
299
239
260
317
288
296
362
280
384
401
354
233
283
288
300
263
389
356
321
266
313
323
309
272
345
354
329
276
242
322
333
263
316
365
214
326
286
319
306
303
283
341
263
440
309
301
297
303
345
380
400
322
340
339
304
279
398
292
309
267
286
299
267
253
359
262
317
321
297
363
350
325
203
320
314
322
236
266
319
326
341
364
254
323
289
303
312
331
327
303
265
320
344
258
290
413
202
350
386
371
217
294
372
422
346
310
338
331
298
388
264
366
329
312
314
288
409
309
336
325
309
349
408
330
288
339
311
320
253
221
291
341
403
348
382
352
326
317
238
332
393
358
290
308
305
302
394
341
315
383
264
341
375
299
351
312
239
288
319
335
328
271
255
344
397
355
238
369
278
353
290
265
314
313
311
322
372
355
217
360
316
312
313
351
324
224
337
380
351
325
348
404
400
284
307
384
358
340
401
303
354
319
306
415
313
314
252
324
302
291
340
355
277
385
310
258
296
347
318
308
308
329
359
376
345
261
372
332
273
328
278
347
281
320
368
316
323
382
353
301
292
276
410
278
353
284
315
319
362
322
251
363
368
330
382
287
311
414
283
285
305
294
308
336
317
320
302
241
388
292
308
315
300
342
313
341
409
343
266
305
312
311
258
358
363
283
272
386
328
219
335
307
349
362
321
299
302
275
400
317
324
353
282
287
316
261
315
350
302
248
393
321
363
307
248
290
321
355
310
364
369
332
331
336
321
271
257
276
463
415
274
334
297
305
304
312
386
399
321
389
318
276
320
397
295
296
330
335
225
320
231
277
305
267
305
315
328
401
295
375
277
329
277
312
354
379
278
327
323
358
240
264
277
312
297
326
243
305
292
288
334
235
348
272
325
366
305
322
341
264
295
286
256
395
315
250
311
325
269
357
302
360
333
277
324
314
289
247
340
293
369
201
382
283
384
281
306
296
240
258
435
209
310
331
326
301
366
338
357
327
279
301
295
305
310
409
331
334
300
306
289
283
352
269
252
270
304
280
270
314
313
283
315
227
355
322
255
402
269
266
336
338
264
356
334
348
342
252
293
355
309
419
288
314
305
399
321
344
355
375
269
264
373
339
315
316
359
245
296
266
360
304
354
358
336
347
309
342
321
387
275
335
335
332
281
277
319
295
300
235
411
336
382
334
305
315
354
241
402
383
388
354
324
295
329
276
293
335
347
305
325
340
311
371
314
266
349
326
386
240
354
285
285
372
307
366
329
342
242
397
296
316
357
369
319
363
305
272
318
326
227
330
338
318
378
284
342
365
257
265
310
301
333
330
355
236
294
311
300
267
381
350
394
295
265
295
294
328
340
295
339
333
322
239
286
353
347
296
316
309
275
372
376
330
233
270
283
275
331
268
340
245
355
297
292
336
304
370
328
333
417
344
381
297
230
371
262
322
293
323
324
318
235
323
275
266
299
302
301
257
269
305
245
343
300
410
226
307
277
335
361
369
315
308
191
284
286
354
320
319
282
365
290
324
275
313
284
337
279
355
369
303
314
360
363
384
386
387
347
342
421
258
393
284
328
312
315
323
284
306
348
269
397
336
286
379
381
325
369
409
282
382
331
374
305
333
311
289
324
319
356
314
370
260
332
285
340
284
354
341
331
282
318
357
339
274
382
340
268
241
301
290
285
324
362
319
312
287
328
330
324
212
265
403
316
321
352
385
314
296
273
320
311
264
334
304
328
291
367
350
324
342
361
266
305
381
302
318
353
299
290
320
305
277
327
350
302
382
305
299
321
365
306
285
349
323
353
282
265
345
304
287
311
415
399
365
377
335
340
371
319
326
300
256
381
336
365
326
308
323
298
370
288
242
316
359
314
309
271
339
369
296
328
246
362
311
274
388
319
250
314
256
330
308
359
333
373
318
335
349
268
280
162
300
274
330
338
258
269
348
356
339
305
262
412
345
304
287
290
337
282
281
329
357
348
296
357
324
333
240
315
338
345
339
360
311
326
254
273
303
204
394
319
401
298
383
324
319
186
288
388
310
360
275
355
344
333
373
324
318
358
316
351
352
298
331
364
342
248
364
255
287
299
335
351
327
304
343
309
247
355
382
357
396
349
297
289
307
295
279
233
338
278
322
320
253
302
307
303
198
337
318
379
285
345
361
286
356
397
252
365
240
300
277
317
303
234
337
352
333
315
273
306
237
312
274
280
277
290
314
266
334
366
313
346
380
360
253
287
322
308
265
287
354
284
310
315
272
370
365
324
284
242
376
345
301
404
229
341
398
291
353
288
309
383
364
259
300
366
405
342
228
287
313
366
398
307
370
343
341
339
347
277
215
282
239
392
256
353
374
362
301
222
362
300
207
292
357
352
281
417
236
353
296
251
300
256
341
339
351
370
333
341
366
372
323
386
285
303
350
261
342
349
331
350
403
316
321
332
295
281
282
292
269
329
220
336
234
369
343
257
230
298
371
261
292
372
350
344
349
332
224
320
255
284
274
310
347
332
324
316
280
338
344
228
327
346
352
333
345
347
341
288
303
340
305
327
346
266
327
365
298
282
365
338
393
264
261
377
327
324
234
290
245
323
251
335
414
315
381
311
372
337
387
359
300
343
370
346
366
319
302
293
340
328
375
339
352
354
255
329
301
290
356
276
221
328
304
307
322
339
269
229
317
368
353
294
338
252
284
269
272
365
340
298
318
237
297
252
353
307
287
346
309
296
342
335
317
349
368
332
408
354
309
317
372
297
336
342
194
315
316
354
297
330
330
336
278
365
295
319
249
319
356
357
225
321
272
436
353
321
313
293
294
329
299
290
280
305
333
323
357
373
333
344
348
285
305
348
261
214
353
311
271
347
290
253
287
299
307
275
344
410
352
362
259
313
301
315
419
289
355
312
258
297
360
319
295
347
295
365
293
325
399
284
285
262
337
284
352
357
357
304
324
345
238
300
349
347
332
366
235
323
343
391
276
361
315
334
305
297
278
334
339
392
312
357
320
348
302
211
295
315
334
349
326
328
271
235
370
305
257
326
260
297
296
339
277
283
383
351
252
311
277
314
346
271
373
334
381
304
341
253
318
356
336
295
218
393
402
313
294
374
346
316
282
297
306
326
238
368
223
329
280
234
304
396
301
309
390
331
246
380
325
225
311
318
408
274
316
329
262
280
282
306
340
293
275
338
336
327
340
311
231
346
268
281
276
283
327
252
272
338
394
294
385
278
384
341
349
340
316
325
383
332
332
248
347
340
293
303
370
349
286
257
241
318
298
371
289
277
327
333
268
280
339
295
265
257
372
274
194
282
321
330
291
324
386
312
319
331
257
356
305
316
325
423
321
379
290
291
198
316
373
374
334
294
325
372
324
308
317
310
310
284
305
426
391
291
330
250
382
317
257
403
328
313
234
296
355
348
289
274
337
251
337
334
309
256
243
343
377
304
360
273
350
277
281
242
403
288
329
282
270
331
314
361
315
349
280
346
305
304
307
294
301
347
352
267
350
384
365
372
326
303
392
373
378
316
353
337
279
337
357
365
307
371
278
314
331
329
348
318
363
363
344
324
235
387
292
324
285
223
338
330
340
370
295
308
287
338
335
327
364
295
242
300
310
305
277
317
356
281
351
319
293
309
312
420
226
360
312
358
317
337
369
292
299
331
287
240
284
245
323
320
200
376
321
338
310
277
277
336
335
289
313
367
281
239
340
206
361
283
331
283
353
314
324
283
374
323
342
333
338
353
310
380
288
336
322
314
313
334
245
276
343
343
294
289
256
352
349
351
341
291
321
337
372
353
317
288
332
381
356
256
339
311
238
353
306
350
294
402
307
264
309
386
270
317
326
360
358
193
254
302
294
342
254
390
362
383
306
366
295
340
328
291
272
333
315
378
274
280
250
287
267
310
326
341
261
309
315
255
290
392
329
312
315
276
376
376
341
204
350
201
302
304
264
330
363
223
355
321
366
275
228
339
286
253
352
324
374
261
332
315
175
222
298
323
287
340
295
220
333
269
211
382
349
395
299
350
355
328
315
348
372
330
303
303
316
332
385
287
363
265
322
275
324
350
256
313
354
297
306
340
328
365
363
296
391
385
305
296
236
338
271
290
274
286
253
266
329
308
343
264
252
247
301
251
288
351
348
310
395
282
344
348
304
306
297
304
313
345
272
211
298
297
280
390
392
289
280
334
321
326
325
330
323
320
397
316
337
288
276
257
328
276
295
302
335
250
386
316
234
305
331
367
276
334
346
377
314
334
286
334
361
351
314
298
278
309
347
279
273
336
339
247
350
262
291
241
354
336
333
336
289
248
292
326
398
281
315
361
249
315
311
396
270
342
233
318
335
334
352
357
316
301
386
397
370
412
246
333
343
306
317
279
314
367
264
218
281
338
290
362
279
339
412
255
365
307
375
313
317
368
314
312
382
340
379
345
297
295
434
318
380
309
269
410
363
260
375
338
327
372
290
238
322
357
315
301
283
336
334
335
372
381
365
322
303
252
310
298
353
250
277
348
263
354
283
151
371
272
323
417
338
321
305
376
275
302
320
371
193
299
281
271
363
335
295
287
324
384
241
403
252
305
302
309
320
400
340
311
263
225
293
331
251
269
357
408
370
322
308
315
343
324
361
310
329
292
249
315
336
357
357
345
370
225
357
304
259
323
287
358
222
276
365
343
278
225
247
311
298
360
315
359
333
342
369
318
321
266
293
303
366
349
254
302
312
297
336
312
261
323
351
287
287
377
300
299
335
306
298
267
299
386
290
251
279
342
301
316
352
378
421
331
326
333
243
305
324
284
336
336
293
329
274
302
277
365
249
243
344
282
330
273
310
293
308
322
263
283
311
302
371
359
319
274
368
357
347
272
234
293
266
297
302
314
320
240
407
316
356
305
287
272
260
354
318
245
253
356
207
296
362
297
286
245
266
333
260
366
276
281
235
224
388
355
341
345
355
276
317
386
402
272
390
253
332
303
254
376
305
360
295
283
283
243
269
307
332
351
312
333
343
313
313
253
347
328
362
324
339
277
335
376
260
343
298
287
259
328
320
359
270
391
249
335
390
289
354
332
300
277
196
349
270
260
344
236
292
309
270
240
277
383
308
275
259
291
391
268
340
338
418
373
302
345
291
293
277
297
332
268
387
307
343
251
323
301
366
299
262
374
297
348
309
327
348
217
319
312
334
354
320
333
248
324
340
283
242
350
362
319
274
240
294
325
295
341
344
359
356
310
301
212
297
326
344
270
325
313
326
203
343
301
325
384
307
374
277
346
291
290
246
328
290
309
308
348
253
282
288
406
357
285
278
397
331
289
344
368
304
381
306
362
334
289
275
333
243
260
182
274
298
339
298
339
296
313
314
297
294
355
372
358
307
379
363
325
363
299
294
355
352
329
322
366
411
343
260
306
252
330
307
271
300
299
338
299
314
339
360
339
284
263
375
296
335
273
361
330
238
358
421
316
281
336
333
304
386
321
388
364
321
369
336
272
255
363
383
265
341
282
322
350
384
303
358
217
295
263
294
433
299
321
230
359
270
368
406
242
403
271
391
304
284
313
324
305
347
261
291
328
379
356
237
332
337
334
269
311
307
253
223
286
321
343
327
354
220
287
269
330
309
351
247
262
376
299
332
329
313
387
255
325
359
381
308
285
313
336
319
280
376
370
317
304
366
346
316
270
283
337
299
384
308
362
346
302
248
305
292
322
230
296
358
326
345
318
344
372
388
379
266
333
302
290
387
303
370
320
345
314
303
275
285
375
358
265
349
291
304
282
299
305
257
402
239
239
305
310
270
324
330
261
399
256
319
312
330
245
431
310
280
343
381
313
311
351
368
314
260
316
358
385
323
321
292
303
297
311
344
315
353
328
280
372
216
232
324
376
279
245
300
251
268
328
263
321
322
322
297
331
288
259
293
337
394
276
379
274
240
356
304
380
274
386
207
349
367
379
379
300
289
301
370
233
347
364
255
362
314
362
378
231
278
223
282
268
308
322
256
286
286
290
344
370
312
293
307
304
218
291
326
303
394
413
241
244
385
289
327
252
227
328
319
339
297
355
296
371
270
281
315
290
314
320
303
285
388
312
345
361
332
297
328
289
310
269
373
306
367
344
293
344
339
330
384
376
264
323
298
270
348
303
332
294
291
337
298
278
280
233
282
265
386
277
346
370
231
348
251
268
334
381
350
340
369
366
272
287
332
386
331
226
250
334
423
380
264
283
280
290
338
321
314
345
353
309
297
268
362
283
291
414
300
336
387
302
348
325
297
230
194
262
359
339
321
315
361
304
347
319
225
283
328
401
296
296
326
338
311
280
260
370
354
329
327
242
312
332
264
381
290
353
293
316
308
323
310
297
218
289
297
365
341
281
363
266
318
322
356
329
279
282
308
300
281
350
276
350
294
251
297
342
260
229
316
342
268
360
294
329
262
360
280
296
292
261
324
381
350
248
262
327
237
368
339
330
314
305
282
313
229
248
386
376
194
274
346
327
228
283
323
331
344
341
255
362
294
305
337
384
296
325
429
292
325
275
286
269
304
313
239
360
368
295
215
250
279
301
269
339
307
317
278
420
295
280
337
322
338
205
253
247
340
248
336
270
329
405
298
338
329
300
372
301
317
311
299
252
326
294
346
345
310
296
226
285
307
274
351
237
362
250
350
393
315
446
400
388
312
357
382
362
297
354
272
289
281
305
247
303
306
355
317
344
338
352
266
317
385
384
402
324
386
348
326
350
296
294
329
386
274
324
384
359
295
259
250
350
309
367
330
331
243
287
283
270
394
355
395
288
378
372
293
257
346
279
329
347
229
330
296
258
315
431
334
277
334
257
258
296
260
290
357
272
330
244
338
334
286
373
287
361
355
267
344
301
363
227
344
340
351
333
243
308
284
313
342
372
329
340
341
270
369
367
363
294
265
349
359
330
286
255
292
330
304
341
318
327
347
268
377
341
354
342
389
326
307
274
339
279
246
305
232
323
428
319
319
339
289
312
324
376
360
354
360
291
302
279
288
353
296
308
308
313
261
289
294
288
297
331
310
317
300
343
410
268
311
270
285
292
302
324
303
371
304
398
312
300
325
371
349
343
353
278
351
327
291
293
289
312
306
310
322
341
341
363
237
290
268
329
365
345
286
305
362
287
292
341
352
284
288
365
280
309
320
311
288
300
264
345
279
377
280
383
326
379
309
347
310
332
284
261
383
251
253
351
272
298
263
310
381
309
350
235
371
346
322
332
286
374
282
322
273
339
357
352
336
261
314
275
297
380
363
306
320
289
350
317
297
343
260
272
295
388
286
258
351
244
325
315
257
318
304
343
271
358
263
290
341
384
302
309
261
301
418
215
267
316
341
361
370
310
369
297
328
372
313
258
318
458
350
259
163
383
317
352
353
326
354
346
284
254
364
335
364
324
322
285
284
324
409
283
391
343
258
357
350
311
409
360
246
352
241
236
344
302
324
324
308
249
314
317
348
304
295
273
317
316
343
320
307
265
298
341
215
276
356
262
331
331
310
376
338
264
268
321
283
288
339
258
388
283
326
278
354
329
332
351
255
368
328
329
320
327
310
229
316
429
333
328
236
247
358
303
336
348
313
259
195
292
368
283
346
335
282
359
336
377
333
336
266
264
240
303
293
303
379
283
359
319
451
329
381
291
265
261
268
294
327
397
344
347
253
362
297
343
299
339
312
304
254
293
231
360
314
221
316
288
275
314
329
386
294
283
346
388
357
247
347
368
278
356
284
348
289
299
320
358
352
246
269
379
226
269
269
249
346
359
331
413
329
265
251
310
349
323
239
273
274
399
344
310
265
332
254
413
334
310
305
274
286
355
351
317
311
296
370
274
339
356
303
283
364
263
337
239
331
354
329
288
326
270
294
340
342
351
253
322
305
345
253
268
255
301
223
261
289
337
300
389
297
314
303
278
349
276
351
340
313
324
283
342
369
358
356
240
335
263
200
303
294
342
369
370
255
338
408
288
302
322
400
328
374
279
300
341
354
293
370
296
326
291
336
410
299
286
333
299
300
321
301
228
308
322
304
299
419
390
312
255
323
212
304
282
231
273
351
344
271
284
307
352
242
337
364
262
309
362
341
267
399
361
275
393
361
410
316
312
352
380
270
378
323
208
337
328
369
332
241
390
366
354
312
339
301
395
239
328
318
279
303
363
313
331
349
338
370
368
331
295
351
276
422
241
331
209
314
315
327
290
375
346
273
367
382
310
268
351
282
324
335
294
291
239
317
254
268
317
298
290
297
255
250
298
308
344
310
300
289
338
331
292
311
304
365
294
305
368
320
170
213
295
376
317
298
276
338
333
338
331
347
347
373
394
306
299
263
344
346
216
354
354
270
397
277
332
371
349
330
305
306
259
303
223
247
250
390
303
251
376
336
267
254
305
330
302
309
322
296
343
333
338
275
261
349
384
359
275
336
296
301
344
410
326
262
291
344
367
214
293
298
369
385
355
301
296
332
315
280
248
266
294
286
304
256
305
273
317
367
289
288
359
313
374
323
367
334
293
300
247
378
300
286
394
281
263
338
320
279
325
281
243
329
348
267
257
278
318
307
318
318
336
282
391
308
325
317
271
255
280
248
250
274
313
300
358
310
240
332
380
248
322
274
369
315
288
319
297
276
367
277
358
315
337
395
332
328
353
333
304
241
287
417
361
364
337
347
212
318
346
348
243
354
261
313
349
323
193
241
307
327
307
398
309
337
302
318
376
323
365
290
214
314
243
343
376
322
319
307
317
280
363
383
343
218
304
348
319
265
322
271
397
254
296
328
342
283
327
239
380
315
280
281
343
335
332
270
219
295
314
346
351
323
308
316
354
320
391
385
300
342
273
358
342
253
365
274
260
380
319
356
340
353
333
219
263
313
342
279
324
277
344
316
297
325
262
331
362
302
273
328
318
272
295
321
367
326
265
287
298
331
280
317
324
308
256
345
308
319
294
310
342
362
337
274
320
292
329
305
335
319
296
261
325
321
290
358
293
298
278
275
371
332
321
282
355
334
212
405
238
311
358
361
302
398
336
280
361
303
325
324
275
288
325
341
348
207
241
349
335
398
314
288
339
253
358
317
241
387
262
255
283
342
295
291
311
359
302
226
327
359
304
287
298
315
370
315
285
177
302
322
268
317
358
355
304
345
340
370
305
344
292
339
284
329
334
263
345
361
299
325
324
370
329
306
333
220
328
348
335
373
340
326
356
330
287
267
352
295
290
335
292
306
356
364
299
225
363
318
358
307
306
323
316
314
291
364
278
292
347
306
284
338
353
365
315
357
339
316
314
378
365
302
372
291
328
300
316
359
348
284
281
300
350
353
301
328
371
364
300
311
301
302
341
288
286
361
367
362
322
332
315
314
270
364
275
362
249
396
249
334
300
297
298
300
430
321
358
358
304
313
331
342
311
290
378
300
348
354
287
322
327
262
295
231
237
271
302
353
320
378
338
376
322
362
259
306
358
259
365
302
350
326
224
304
325
379
347
297
331
339
295
274
334
265
310
310
274
264
225
344
301
341
338
327
312
403
277
238
297
328
302
383
318
393
370
285
345
329
220
305
363
334
369
347
296
272
263
276
337
319
206
268
292
345
351
285
250
362
324
266
259
344
378
309
317
271
253
357
319
263
355
337
282
318
361
292
213
386
263
327
338
322
278
295
302
341
331
350
217
328
208
330
347
293
382
341
352
332
351
334
259
304
351
323
316
386
292
421
285
244
285
350
334
381
324
398
280
368
335
369
363
273
305
295
259
347
289
289
353
353
268
337
329
350
370
368
306
275
364
315
321
278
389
338
358
302
224
247
391
319
241
297
340
330
386
369
298
244
301
320
362
335
382
319
316
223
270
374
316
229
342
304
319
320
264
350
348
271
257
303
338
340
267
268
320
292
339
272
353
370
301
294
326
288
385
297
312
289
217
377
318
341
263
251
331
299
369
287
233
341
356
263
353
361
286
345
273
339
324
275
372
356
278
366
195
344
365
397
330
318
258
375
277
304
324
293
361
330
353
398
314
338
329
355
346
276
331
327
291
316
264
344
338
334
270
334
327
353
370
387
267
345
342
426
384
222
292
263
316
306
313
273
355
359
380
337
316
369
346
290
312
234
333
281
380
449
323
282
272
317
338
322
300
388
296
345
296
299
324
370
332
359
313
292
283
361
256
259
314
370
247
382
375
360
259
331
298
318
321
261
300
330
341
279
286
286
294
284
250
366
364
340
387
363
331
287
248
402
356
251
302
335
280
301
289
295
287
344
331
312
314
326
354
339
298
253
261
333
348
219
301
278
289
258
382
327
290
267
290
342
320
286
243
315
180
305
217
248
245
319
364
284
337
297
312
253
315
279
358
298
304
362
275
322
268
333
273
344
286
342
283
340
298
308
282
279
368
261
203
343
334
368
263
256
335
408
350
361
263
282
312
281
317
320
340
327
336
242
334
284
352
365
334
326
339
217
258
344
377
352
341
367
312
339
331
363
350
359
300
367
341
344
308
367
328
259
336
340
361
329
398
254
308
304
381
306
320
301
298
425
304
309
356
258
363
302
339
246
332
369
272
271
343
314
240
349
288
404
184
333
317
339
297
352
355
343
435
292
278
316
338
216
364
349
342
337
272
286
241
353
346
380
336
388
364
284
333
263
243
282
344
359
222
354
298
356
316
244
277
218
348
327
176
394
313
326
265
270
329
264
313
225
273
309
318
231
280
396
275
287
297
326
246
342
265
329
238
295
350
325
282
318
260
332
331
352
312
331
383
289
251
297
308
357
363
288
344
301
321
348
385
371
327
386
314
297
356
313
353
348
252
287
297
325
310
352
293
258
319
404
269
308
350
327
284
318
312
280
333
328
277
266
275
226
375
295
360
367
260
301
294
257
302
272
337
265
361
374
350
433
332
333
355
267
271
324
387
297
339
277
235
305
278
308
353
307
312
278
333
273
224
324
198
268
295
280
374
304
327
290
301
320
328
306
363
320
288
375
189
327
309
286
316
292
310
299
275
383
363
271
275
307
373
302
298
341
349
274
303
279
203
317
347
262
279
371
328
281
302
323
330
303
408
358
283
340
308
329
264
251
313
321
376
359
316
330
351
325
308
254
410
255
365
334
383
371
333
283
347
274
268
248
269
302
362
284
295
341
302
313
374
196
313
323
331
354
330
341
307
299
358
357
295
269
235
359
259
351
321
270
261
356
292
242
350
304
382
422
334
247
283
230
337
355
333
316
321
357
362
289
350
317
320
329
275
198
356
337
319
291
389
307
381
292
307
344
349
264
370
331
355
377
256
260
241
267
301
269
343
261
233
381
297
274
224
287
277
373
338
362
213
327
270
385
286
383
277
333
304
320
294
345
363
260
339
361
300
298
314
372
351
253
369
273
385
297
245
227
359
306
295
281
329
363
312
325
339
227
249
374
363
277
318
359
387
327
327
377
355
363
382
293
286
350
365
356
304
404
199
290
313
388
318
339
305
269
337
328
283
272
336
315
295
260
288
224
309
262
345
383
335
334
301
306
230
262
358
311
405
345
425
364
316
300
329
389
296
351
225
370
308
331
324
339
299
248
343
320
260
254
356
295
271
354
268
365
287
315
312
231
349
432
290
313
331
375
376
301
303
276
267
246
328
269
373
405
286
305
300
292
293
316
336
315
277
323
318
368
331
354
392
341
221
330
253
295
267
292
239
384
294
257
293
293
314
304
312
263
274
338
253
407
277
418
316
283
226
283
302
278
315
303
383
323
308
363
262
338
326
350
342
322
331
321
399
286
316
269
261
353
323
294
331
401
346
255
259
259
317
209
292
307
437
364
342
221
265
361
371
391
340
291
271
336
331
325
387
329
343
344
277
281
322
260
313
384
281
320
335
323
330
252
337
330
237
253
305
281
304
351
245
313
247
362
332
407
221
288
307
267
317
290
319
321
299
325
328
322
280
449
311
369
294
307
257
254
317
316
295
287
314
363
312
300
291
339
311
236
354
351
320
374
316
339
370
224
315
274
345
312
333
316
248
357
347
232
419
236
253
333
362
389
353
341
343
356
299
333
407
317
319
287
317
319
250
231
366
281
232
301
258
385
287
282
303
321
310
282
333
388
293
323
219
299
303
293
332
299
327
347
256
277
372
273
367
252
246
245
305
224
306
303
322
316
291
299
232
367
296
308
329
298
276
326
308
276
359
273
261
332
292
379
365
340
352
393
331
302
345
377
302
333
341
308
288
376
373
348
332
337
217
345
277
308
254
303
300
385
316
258
353
272
336
208
303
367
244
320
322
195
343
388
274
270
362
285
258
344
237
394
367
263
263
275
292
430
318
340
369
372
223
300
374
367
335
349
371
322
311
265
287
346
357
344
275
311
349
261
341
378
267
366
361
299
246
310
364
264
330
267
277
378
341
320
314
314
297
301
312
353
254
321
252
324
351
263
320
368
302
232
349
341
300
319
245
290
201
291
297
326
217
336
294
320
320
216
299
252
225
304
369
312
336
249
325
309
273
299
376
313
347
287
373
308
347
383
347
306
389
302
276
310
353
282
304
241
277
300
301
321
259
308
312
297
304
263
251
364
279
293
308
330
338
244
349
324
386
344
346
262
263
299
282
291
327
245
322
313
249
342
344
317
368
280
273
224
309
250
315
328
304
264
379
287
304
329
302
268
216
324
266
335
361
292
271
287
285
247
381
372
365
277
282
258
302
371
287
324
285
331
289
247
243
376
365
300
350
231
267
318
301
317
303
237
271
360
267
330
358
339
360
290
392
329
279
337
284
374
325
292
263
229
255
278
237
188
310
354
334
238
287
348
230
297
252
277
293
225
360
319
377
342
310
305
249
299
358
386
394
255
342
220
359
281
379
416
287
298
353
352
331
379
319
214
353
290
266
332
353
211
376
307
297
375
319
335
346
323
388
376
312
296
325
286
296
289
425
313
337
339
263
263
316
304
294
325
266
267
348
347
304
250
344
314
281
390
287
265
276
435
334
263
367
396
336
288
309
301
316
225
340
195
258
232
362
276
299
345
318
346
279
339
294
344
274
316
290
314
280
357
277
345
278
289
384
286
361
357
241
299
316
268
308
315
320
266
287
262
244
342
295
368
256
369
359
288
268
427
245
363
298
338
354
282
283
376
311
322
332
334
308
302
319
328
296
253
359
291
305
300
330
322
331
333
381
313
269
351
372
379
273
373
330
306
329
328
298
327
294
333
259
300
355
298
226
191
318
272
275
286
301
370
331
378
297
296
285
255
275
281
281
341
293
352
333
249
317
376
294
333
317
318
359
284
297
367
336
390
378
365
284
298
251
293
302
344
362
377
312
306
316
278
338
376
326
243
318
381
285
255
280
399
291
329
326
305
347
346
345
353
384
333
283
281
265
291
300
294
333
273
303
362
292
302
378
352
324
350
255
317
320
276
279
284
216
267
377
332
249
259
278
302
358
285
320
287
355
268
323
271
390
340
259
370
391
373
322
278
315
313
287
375
351
312
271
332
255
300
293
248
247
326
312
389
301
349
369
301
335
308
305
365
280
338
291
243
283
312
340
250
280
249
258
328
325
264
289
326
345
392
363
255
306
300
381
241
272
321
321
372
297
303
279
346
397
289
302
275
317
326
258
342
340
318
301
382
186
304
323
316
363
337
409
380
351
382
326
293
328
338
276
300
325
257
385
272
309
257
369
345
412
307
337
386
233
376
352
362
249
303
291
328
326
350
303
333
337
312
307
264
282
308
357
213
348
340
276
261
376
268
242
335
345
252
285
304
287
311
291
392
349
310
326
300
344
269
268
216
279
348
340
287
297
337
385
345
237
290
369
346
359
362
283
363
389
371
311
326
305
250
337
239
248
303
207
376
375
277
344
337
356
426
322
265
301
259
297
358
274
258
336
322
286
319
257
354
356
244
414
322
347
330
251
308
308
320
348
303
264
320
267
271
258
263
272
358
223
326
297
322
335
318
311
354
326
302
330
346
282
325
373
312
337
281
336
374
311
358
363
356
317
294
265
301
301
378
197
302
302
276
393
300
312
263
246
308
310
327
377
231
279
294
382
308
314
288
370
285
345
348
343
292
295
372
324
301
272
323
332
241
355
301
308
336
381
292
320
303
325
308
338
289
226
291
283
412
337
335
302
340
352
291
341
284
317
361
356
331
328
254
298
344
267
305
356
385
266
279
309
263
286
234
418
237
355
344
294
370
319
342
329
341
306
285
186
301
304
308
343
322
196
316
253
423
175
341
381
363
337
334
329
324
258
221
350
386
341
271
354
323
323
266
320
364
238
284
230
315
366
330
276
318
295
311
334
295
249
406
388
214
368
386
290
351
314
207
317
286
295
244
227
266
273
331
224
303
247
341
321
297
226
324
359
361
341
319
287
274
313
363
330
307
426
292
341
332
328
265
340
283
352
215
365
341
338
330
318
361
322
305
289
223
388
313
346
295
362
199
273
332
267
264
324
308
326
319
304
324
340
259
313
347
353
251
301
339
392
391
361
280
377
318
339
326
285
301
239
236
283
372
265
311
367
330
212
263
291
410
323
313
273
289
274
283
269
291
299
341
280
320
323
324
308
327
253
266
259
220
333
366
293
310
235
265
357
362
358
329
315
298
378
397
283
273
318
306
320
245
346
328
249
256
254
297
281
395
261
301
344
339
353
289
356
352
287
327
309
214
253
306
314
302
261
298
255
310
368
326
251
319
278
295
337
307
340
329
317
289
303
320
313
289
337
370
278
294
370
331
318
259
241
316
287
231
266
259
310
248
362
336
300
362
358
316
260
239
378
289
340
238
336
348
361
308
307
282
406
303
399
283
206
280
306
377
316
293
334
312
351
348
360
360
224
247
212
308
355
364
290
371
363
320
262
337
305
246
366
401
364
360
340
257
291
318
281
371
388
215
299
347
260
373
272
347
381
330
255
284
336
323
288
342
294
269
332
291
298
340
276
280
335
361
323
256
292
227
298
384
293
384
296
314
258
336
247
305
329
296
389
406
352
331
288
324
256
341
217
286
269
323
264
402
383
296
300
353
347
297
288
294
372
333
284
339
296
344
191
367
291
359
266
311
345
275
328
394
388
228
333
286
363
307
277
146
288
298
284
320
343
312
310
282
339
361
385
422
285
353
343
264
338
299
332
314
353
326
374
243
252
309
243
325
295
350
309
311
335
284
351
329
317
360
351
261
379
202
305
279
313
355
333
369
358
269
382
237
316
241
347
348
330
312
363
355
355
357
359
372
352
286
295
316
331
298
288
256
302
262
314
263
270
343
269
236
347
358
312
339
301
319
351
321
309
283
262
307
272
385
324
327
320
348
350
365
304
305
298
381
322
303
358
250
365
303
312
290
294
375
297
313
296
353
250
261
425
370
256
309
326
256
347
334
311
318
255
408
363
274
353
292
261
353
342
329
231
387
349
278
302
396
272
365
282
345
387
318
248
383
346
245
366
366
278
293
350
282
331
314
359
290
415
335
333
289
222
230
263
385
343
300
313
247
303
333
366
339
354
332
312
352
269
381
303
356
314
368
280
301
355
301
288
258
285
343
358
382
304
281
279
271
295
321
344
346
342
251
301
324
283
281
286
340
289
250
298
321
357
229
319
327
291
296
265
277
254
339
316
257
307
277
292
316
321
185
364
356
287
341
368
251
352
290
343
292
330
235
378
213
311
251
327
234
253
307
301
353
260
284
285
283
341
359
369
341
217
339
312
311
254
296
272
237
311
372
341
304
351
262
314
330
258
273
315
366
234
311
334
250
345
330
328
296
319
336
277
265
318
330
342
314
308
338
351
215
349
349
340
224
420
400
321
273
353
258
369
324
346
332
264
391
268
285
305
350
324
272
298
348
329
360
353
314
372
269
358
315
261
348
275
361
316
309
337
312
359
247
333
294
342
304
344
264
350
314
217
301
221
331
314
358
389
304
305
299
293
233
296
318
357
322
250
369
353
306
291
338
347
292
193
355
347
302
363
317
361
308
339
367
332
316
328
324
261
350
335
345
402
402
313
293
330
321
372
232
319
306
269
295
345
331
320
301
315
285
259
374
358
309
383
335
384
302
319
326
320
317
304
359
302
360
313
312
283
275
318
241
295
265
278
239
341
340
239
293
290
278
328
201
322
358
344
354
369
284
364
371
381
322
362
202
269
354
329
280
364
346
358
350
364
351
344
326
321
365
340
363
327
333
306
348
317
326
309
350
330
330
265
263
311
243
265
296
338
315
342
371
288
378
272
291
319
347
335
356
268
331
297
290
304
342
270
319
372
356
357
373
276
325
438
247
305
333
359
300
383
365
414
381
258
317
234
222
293
262
349
286
348
328
267
357
265
288
349
357
362
327
356
252
315
331
297
386
285
334
384
360
296
231
380
345
316
322
340
357
293
321
254
330
330
318
331
302
312
263
256
332
277
352
274
317
301
377
320
346
311
343
333
361
308
287
408
319
293
376
306
344
315
331
277
340
236
325
240
334
319
304
261
386
312
381
308
300
335
290
285
228
273
294
298
282
360
330
354
260
286
247
346
299
327
347
253
302
370
335
366
355
354
366
242
401
253
350
366
292
349
312
335
320
301
343
316
240
298
338
281
440
337
363
268
301
341
288
263
321
302
326
292
251
313
285
279
378
394
282
373
238
291
387
264
346
317
327
295
399
385
368
371
269
353
329
353
320
255
341
277
289
264
306
325
303
332
347
304
297
323
265
354
338
308
413
304
293
311
279
282
330
275
289
349
376
375
301
331
314
283
278
332
241
305
308
333
369
323
311
250
317
309
241
271
256
349
338
279
278
320
247
371
236
257
316
371
285
331
320
350
310
308
381
379
298
262
301
265
310
320
284
363
377
353
268
319
302
300
357
270
292
267
333
300
285
346
296
247
322
293
272
251
256
362
316
354
211
360
323
333
286
283
309
268
249
336
236
295
273
308
235
278
315
233
377
304
342
339
251
302
359
321
307
324
332
267
250
390
294
339
211
359
344
302
249
337
347
318
244
299
264
404
360
340
369
311
327
388
401
327
298
320
337
319
354
285
290
233
370
306
357
374
309
386
274
316
295
396
298
247
251
397
412
240
312
338
334
371
338
334
354
317
315
309
309
247
329
280
378
302
292
230
279
315
317
346
268
212
352
292
354
301
335
368
304
349
288
320
318
327
293
380
317
365
279
297
363
268
387
358
364
349
292
275
349
377
302
303
350
381
273
340
313
299
314
283
267
366
255
196
332
290
264
356
252
325
292
313
325
328
270
350
326
319
315
229
289
242
291
205
397
323
305
347
342
280
311
397
364
425
325
329
282
225
382
301
329
236
281
311
261
309
280
306
276
277
364
374
392
228
345
357
391
321
336
287
359
354
316
279
340
314
213
301
339
327
210
298
323
355
300
303
323
247
307
253
406
293
323
311
280
336
314
307
338
292
369
318
259
350
336
373
284
406
325
304
314
291
302
298
294
398
369
341
240
346
301
333
351
248
261
347
273
320
348
341
344
320
368
309
424
362
412
353
326
391
325
378
339
298
300
314
273
247
281
347
394
338
336
343
294
323
294
238
272
352
282
323
295
369
316
344
224
341
266
305
347
353
418
316
393
331
400
245
276
250
215
369
431
320
301
388
373
327
367
354
261
351
280
313
294
340
322
324
238
304
253
255
305
305
266
301
343
284
284
377
318
291
312
277
213
298
280
336
336
306
310
390
336
260
442
318
332
292
300
341
306
255
309
351
364
354
357
392
336
389
268
313
332
249
275
343
308
293
261
260
331
266
301
345
261
278
290
298
324
345
290
353
367
244
269
322
297
283
287
375
347
333
349
365
372
266
235
371
269
277
267
264
326
247
231
242
251
273
309
278
345
300
325
318
385
281
365
288
360
333
326
322
262
303
263
312
369
332
339
326
339
324
327
299
323
296
370
336
315
320
310
284
292
310
335
367
315
233
354
271
299
338
360
305
333
314
341
294
361
304
330
291
362
335
345
299
353
173
307
296
255
253
311
215
373
426
265
331
297
308
317
315
294
278
289
309
351
263
314
337
296
333
274
367
338
310
374
330
363
322
293
304
312
296
304
250
354
331
301
229
302
286
337
366
340
243
271
422
364
280
364
306
289
281
243
284
374
269
317
310
284
317
352
291
218
262
308
343
309
334
282
342
334
347
322
327
331
393
332
341
264
393
365
298
317
383
277
264
349
333
275
329
328
342
277
371
358
353
294
270
305
284
332
317
404
376
262
288
342
313
332
360
342
325
301
288
342
407
258
325
289
377
381
351
318
375
365
239
301
364
326
352
335
295
288
240
359
252
303
288
344
321
423
323
318
322
327
336
328
272
387
321
332
351
349
281
320
286
347
272
313
327
261
342
349
347
329
358
320
396
307
300
355
363
321
304
332
360
322
239
336
340
353
250
282
177
325
334
221
305
297
348
281
281
334
293
224
334
351
353
252
250
340
302
285
323
325
316
302
300
355
258
344
284
391
323
282
315
321
344
327
343
362
331
359
312
366
349
331
291
331
333
370
271
396
249
304
320
338
360
249
255
388
264
233
315
353
355
365
310
341
349
423
222
289
326
310
223
347
321
363
346
350
325
358
332
381
294
326
293
312
319
327
306
314
273
289
340
310
311
350
327
321
323
281
312
294
329
331
291
342
335
341
283
321
390
281
352
335
329
352
299
265
269
420
268
370
319
306
316
330
366
371
290
357
330
280
405
276
304
347
313
359
314
344
345
228
414
358
323
308
310
386
241
358
350
306
293
308
314
258
288
343
358
241
324
346
301
334
330
358
330
270
382
284
277
297
387
266
368
294
283
345
345
288
242
356
314
214
376
357
377
392
331
333
360
315
361
416
283
340
302
308
391
362
300
396
312
271
333
272
372
332
279
255
355
269
324
331
333
280
415
250
311
304
348
234
344
240
288
380
256
350
351
283
344
246
255
358
309
309
352
261
292
250
365
296
298
311
353
327
285
243
269
279
293
248
344
321
289
260
319
336
375
367
275
266
316
330
301
335
379
336
269
380
202
278
353
278
295
300
335
279
328
348
376
342
377
369
391
385
393
299
238
405
252
297
372
295
321
316
246
359
230
285
376
233
325
371
332
371
313
291
204
294
208
399
394
338
298
399
243
291
359
244
352
289
335
357
264
385
374
331
284
410
356
268
349
356
362
372
280
357
360
337
300
327
388
350
342
351
306
381
395
363
431
315
354
280
296
298
226
354
354
346
306
329
287
285
316
274
314
392
312
319
280
328
291
316
349
378
291
324
297
325
365
280
282
286
360
293
299
251
274
350
351
257
258
270
356
373
382
368
380
327
349
416
292
317
274
307
256
196
326
314
313
303
325
354
325
297
366
328
388
295
321
306
291
344
311
314
281
234
325
341
349
322
335
319
318
336
299
287
327
274
233
270
354
310
358
353
236
261
356
371
293
314
382
289
320
283
327
301
321
372
330
292
370
301
316
325
358
410
232
257
302
313
226
332
333
306
352
379
377
268
275
330
303
345
247
350
266
371
315
292
303
294
330
346
323
256
365
336
264
327
333
336
280
342
376
309
295
342
332
403
271
290
243
338
350
362
240
326
354
219
335
299
346
386
289
333
313
274
286
353
275
314
278
324
349
310
283
360
343
288
327
270
356
330
340
350
389
354
315
304
332
337
287
392
328
357
357
302
323
268
315
296
353
297
370
278
274
282
244
295
300
368
365
353
359
300
300
342
344
370
303
260
264
267
320
289
347
336
339
271
372
289
331
339
343
328
382
291
316
239
317
341
347
333
298
354
281
368
331
281
363
359
319
322
330
306
311
273
334
321
316
215
300
316
306
364
297
280
330
346
290
418
383
320
301
297
305
354
199
287
340
315
289
259
365
325
257
312
303
351
358
251
240
286
260
283
370
320
340
335
299
297
333
295
291
329
345
376
443
371
317
336
290
344
382
305
294
264
227
297
333
363
356
353
315
317
410
236
313
348
184
266
279
283
268
341
419
319
354
247
323
401
324
322
364
340
375
300
265
343
247
279
304
393
314
343
299
228
312
374
305
269
375
348
275
353
342
385
338
376
429
351
335
311
310
281
333
311
242
286
279
272
352
296
321
364
305
323
327
360
311
288
353
310
355
340
383
344
392
322
304
309
277
259
316
286
356
339
327
392
262
301
317
319
299
289
305
379
325
271
294
333
328
296
311
362
315
247
365
269
311
310
252
280
333
342
274
395
325
264
328
314
374
269
285
313
342
311
346
257
380
386
309
319
384
230
242
338
363
431
319
359
287
434
282
301
339
317
283
324
252
362
347
252
244
297
360
393
371
336
325
236
374
416
365
279
277
377
278
386
319
295
326
363
340
305
266
334
326
318
241
236
298
341
210
378
330
249
310
268
272
311
293
287
257
400
254
366
318
297
360
339
309
340
283
302
289
367
344
355
348
290
417
290
307
344
291
339
361
417
257
280
347
320
317
237
355
320
285
278
333
312
236
338
323
413
294
328
306
337
260
316
290
307
334
284
228
297
296
308
307
293
292
382
297
277
320
347
375
398
234
322
384
398
265
352
399
305
293
377
352
303
357
191
280
300
227
305
348
301
321
271
308
274
252
299
279
313
354
283
361
382
370
362
256
348
362
385
277
299
264
326
392
286
358
252
254
262
351
150
202
194
318
200
376
255
277
269
363
283
288
323
296
244
309
284
329
254
345
393
308
360
368
397
345
360
366
318
285
349
354
329
389
438
351
302
214
282
330
297
364
346
247
345
339
331
310
324
345
340
338
298
288
292
258
304
280
332
277
363
307
347
357
386
356
242
308
287
371
406
274
365
290
356
299
240
363
354
359
393
272
383
266
227
267
350
406
319
286
322
240
297
312
330
244
369
321
340
334
251
340
325
348
285
269
344
284
312
238
343
348
294
246
358
309
246
298
257
321
258
278
338
367
360
433
318
311
313
313
288
284
354
306
302
316
380
275
333
312
273
275
259
328
353
226
287
317
221
301
324
318
282
404
298
401
276
317
397
294
344
319
329
356
376
295
371
323
321
304
278
239
263
301
360
273
417
251
332
342
269
334
326
216
254
230
360
373
313
300
229
319
310
285
330
288
330
332
327
399
323
352
221
337
209
330
318
415
307
278
301
355
373
321
219
163
298
235
322
295
418
228
342
300
312
303
305
349
340
334
359
299
310
317
290
316
277
349
317
308
349
342
343
275
330
192
307
299
326
332
342
261
358
284
320
272
342
363
404
219
299
356
299
347
240
349
298
337
299
355
307
273
250
302
221
290
308
289
357
362
374
335
324
298
270
266
297
274
378
313
354
333
334
326
353
255
329
324
390
359
344
343
260
387
261
322
227
343
280
360
330
297
295
189
290
322
412
259
317
276
332
408
277
364
300
216
313
344
318
270
265
285
380
401
287
236
317
313
328
405
380
260
361
227
377
278
348
320
331
303
396
393
295
347
251
293
276
265
287
353
362
325
269
366
288
336
312
311
346
210
407
330
307
341
359
244
269
342
303
334
293
310
309
320
222
300
260
328
244
295
404
305
221
355
286
286
297
315
381
249
390
390
280
260
276
336
303
251
349
370
337
330
307
310
336
329
308
291
324
295
299
335
288
362
261
411
401
349
306
318
330
358
402
321
415
368
268
174
279
328
312
284
257
377
349
278
349
295
344
277
297
399
290
277
314
333
273
399
271
227
259
261
335
250
378
322
294
329
329
323
348
344
342
206
246
313
329
333
227
235
345
277
246
352
288
256
240
349
316
326
297
344
414
379
286
358
270
274
297
323
341
264
344
282
332
384
293
281
254
300
252
252
332
326
265
330
313
332
307
288
303
299
293
402
377
345
313
246
334
296
262
350
309
257
219
311
348
367
353
304
292
291
298
332
251
377
266
368
358
406
330
325
287
271
313
312
310
247
400
223
349
302
277
390
318
353
272
293
254
291
262
265
324
385
385
298
308
377
321
313
339
284
327
323
317
259
258
312
373
303
309
294
405
276
295
335
290
312
291
281
317
329
257
373
417
307
373
336
319
305
293
334
398
325
260
226
325
228
365
253
319
320
284
309
384
354
357
278
340
347
334
255
338
379
328
304
301
294
295
310
322
293
344
363
347
327
306
271
276
344
300
353
283
375
319
319
334
326
300
343
289
320
372
278
315
309
383
378
331
306
283
335
405
359
323
296
336
302
336
359
339
258
283
338
349
326
288
322
297
358
277
264
340
319
263
318
339
382
366
344
229
223
346
313
336
354
322
293
320
320
324
260
333
293
395
325
361
244
233
300
346
310
189
252
350
255
401
345
313
280
330
323
367
304
339
319
393
360
308
348
336
359
305
258
257
295
304
336
315
290
238
269
280
227
234
275
329
295
263
277
230
365
358
246
356
386
360
305
305
418
417
350
298
346
281
258
299
393
386
365
280
257
340
263
359
312
292
346
351
290
226
298
306
223
311
354
299
329
385
381
370
323
354
354
366
368
329
305
319
335
292
365
267
381
358
434
319
353
288
352
349
340
285
330
280
293
242
321
210
343
319
260
308
246
318
343
324
245
355
302
331
334
295
251
345
310
357
350
291
311
394
249
329
358
241
281
262
341
345
219
376
224
319
322
326
345
333
283
342
299
250
256
219
344
232
323
371
363
287
236
342
387
283
323
304
343
320
252
324
386
338
385
285
314
281
250
219
298
370
304
354
276
220
228
315
285
413
266
308
310
299
350
294
357
262
342
378
327
287
378
327
300
346
303
294
246
377
314
384
364
307
276
300
236
282
329
303
326
220
272
298
306
366
364
379
309
330
354
280
327
213
255
338
258
348
405
310
321
315
302
336
241
329
320
349
271
379
407
329
255
297
312
299
328
352
252
312
338
312
288
340
306
317
310
318
301
311
328
252
350
344
298
409
259
296
350
328
288
317
334
368
260
345
310
295
367
280
290
293
280
243
307
236
287
297
214
241
296
207
315
276
303
325
314
267
343
315
319
352
348
293
291
328
286
369
340
299
294
351
310
325
293
345
276
263
313
369
328
290
248
328
249
356
305
237
345
392
310
269
402
324
266
370
338
306
349
283
364
266
375
322
320
358
362
414
343
299
401
250
309
245
292
368
315
195
286
380
315
317
187
349
260
329
350
366
227
313
326
208
384
359
369
299
284
275
363
367
276
374
347
343
313
289
310
264
265
347
300
321
324
362
378
408
366
402
292
312
258
353
329
329
365
342
324
313
273
301
274
351
341
364
248
270
309
281
305
267
296
295
353
321
304
351
369
284
300
337
414
355
369
313
284
313
313
315
306
365
325
281
226
265
341
207
326
363
369
232
258
295
353
216
255
223
357
377
360
255
230
319
376
321
371
267
357
324
375
303
279
331
215
337
260
273
304
346
312
272
259
254
310
400
298
247
303
336
329
336
274
408
201
329
384
311
335
282
365
327
298
278
368
308
386
344
304
339
385
371
306
348
284
269
319
300
277
335
371
436
332
381
314
270
314
322
365
329
330
313
304
336
308
291
353
361
293
341
267
313
314
397
362
360
326
302
319
276
273
248
351
215
338
323
285
333
318
287
334
291
275
263
324
318
419
315
326
297
366
302
328
313
260
274
328
276
349
315
270
354
393
242
342
281
302
267
335
330
264
304
311
328
329
264
378
352
353
356
362
250
302
342
381
304
322
268
403
406
212
354
297
301
287
346
364
317
261
345
345
313
322
387
339
369
315
329
324
296
386
347
297
239
428
219
314
309
339
291
323
369
353
296
340
354
296
320
339
338
285
242
368
434
374
285
311
269
390
318
294
293
280
378
323
323
317
253
342
329
439
325
349
334
333
319
323
357
272
343
391
369
409
336
225
298
296
273
316
387
327
278
342
242
372
310
249
343
330
296
335
315
293
258
258
398
296
277
317
325
346
318
337
316
360
301
338
269
349
342
382
379
400
328
288
303
348
380
319
400
349
231
298
316
299
289
305
269
271
271
327
331
305
212
380
331
308
431
345
382
353
333
321
313
275
384
343
286
318
339
356
268
338
368
317
306
325
360
304
350
329
289
269
305
348
321
321
285
183
326
333
343
270
249
263
318
314
215
393
227
283
407
317
280
242
317
329
232
329
390
303
316
312
380
311
369
406
347
338
191
352
301
287
299
246
391
302
417
329
391
416
333
314
290
317
256
362
308
400
305
305
314
256
373
326
307
384
266
274
317
286
292
394
279
387
240
324
281
258
368
429
227
272
325
332
345
230
287
269
288
208
257
296
324
351
276
312
300
253
272
266
347
295
398
323
395
328
366
279
354
274
333
280
350
329
240
326
242
304
343
311
275
316
311
212
290
301
316
337
438
327
298
259
293
333
324
302
365
298
304
382
346
360
351
312
333
286
352
386
347
297
264
365
389
303
320
335
295
355
333
351
306
307
369
216
342
329
279
363
316
295
343
404
380
359
258
317
312
211
341
291
338
284
282
333
298
408
343
301
315
333
352
290
353
354
268
308
289
333
286
364
296
355
290
372
335
320
294
266
358
349
308
389
327
271
300
292
319
295
315
299
298
356
330
273
359
275
268
345
261
223
339
315
339
319
282
263
326
372
330
304
353
294
349
321
196
310
353
347
260
379
286
292
311
321
260
259
363
376
343
378
306
201
293
338
302
365
386
313
343
251
378
362
435
346
288
306
316
383
244
323
277
231
385
341
325
337
251
219
296
281
308
312
294
274
265
320
310
324
360
334
237
296
292
294
233
300
314
314
287
271
274
324
328
431
294
399
246
256
264
327
335
329
326
368
285
391
311
278
335
324
312
305
299
305
419
227
331
237
299
328
314
309
382
314
356
371
287
348
297
351
328
317
333
332
323
354
291
316
353
325
368
268
213
316
348
265
328
331
337
367
193
351
292
268
264
358
208
333
307
319
337
285
339
222
315
335
387
308
365
301
265
240
434
326
360
278
245
258
329
252
346
418
319
381
335
350
351
334
275
359
387
297
358
256
309
335
328
245
297
296
339
290
295
322
305
349
379
324
299
280
348
330
337
261
268
339
241
326
362
309
309
274
257
329
305
297
305
311
313
385
299
311
262
305
372
386
314
306
394
295
270
326
363
254
315
378
370
247
328
359
406
362
318
347
317
350
329
284
340
316
288
357
294
385
419
262
392
355
388
328
362
238
269
277
345
395
303
332
352
239
358
268
291
341
350
287
354
267
303
333
283
373
310
285
271
264
380
328
311
271
258
259
228
295
394
360
285
326
236
215
257
309
371
311
349
305
393
330
226
308
323
329
324
290
330
320
335
310
354
278
287
235
274
335
273
353
308
317
327
302
435
316
377
361
327
321
301
345
343
276
313
298
287
296
265
319
327
296
274
346
274
286
263
270
336
310
345
365
265
376
264
282
408
331
375
246
298
295
285
329
267
239
348
269
343
328
339
328
309
309
319
285
321
287
366
338
325
344
299
233
287
342
292
357
339
283
213
330
358
283
388
290
299
280
314
366
329
380
381
296
372
266
345
227
338
328
346
350
328
339
334
323
289
316
392
358
376
257
279
311
337
347
247
256
255
339
315
266
318
351
284
314
328
285
301
269
282
249
412
324
315
350
354
251
325
322
366
265
342
398
358
344
240
294
292
291
344
371
305
246
360
271
339
324
400
301
229
281
304
320
356
301
282
283
325
407
281
256
322
354
319
277
249
359
286
276
306
385
359
259
307
360
351
317
283
282
328
305
325
369
348
311
397
316
204
383
347
343
266
401
327
238
347
349
274
364
418
269
255
275
309
300
369
344
302
303
330
343
326
423
355
335
272
341
394
303
311
337
331
296
222
368
241
386
402
265
377
308
281
279
237
340
329
281
325
259
317
406
226
328
348
264
307
300
317
269
457
352
344
313
348
368
356
254
343
365
303
320
250
315
375
242
367
344
338
287
399
350
307
357
304
297
238
311
251
256
218
295
367
336
341
300
270
342
375
409
315
268
254
338
311
365
254
343
251
378
295
317
305
364
311
309
263
377
287
311
260
271
187
278
278
367
340
245
273
276
342
301
214
338
294
293
320
302
374
333
359
364
280
391
308
338
252
329
291
307
250
419
320
297
295
262
308
286
357
344
330
308
300
354
330
350
384
343
344
325
261
352
227
279
293
336
337
286
255
310
354
378
372
362
291
315
326
364
404
348
304
437
314
267
337
355
363
364
386
399
355
305
205
343
245
346
282
179
259
360
310
360
390
373
368
296
261
375
339
308
363
385
323
275
320
331
328
293
422
349
384
293
332
312
363
315
302
259
266
338
374
260
407
383
322
386
272
344
290
263
319
307
263
333
333
318
397
330
308
331
336
372
287
308
346
334
348
376
345
311
237
316
368
315
199
356
356
264
278
288
350
247
281
271
238
286
355
367
273
345
284
359
342
325
365
280
359
329
309
302
310
325
350
342
344
297
394
326
173
281
411
279
253
390
199
316
325
309
307
192
317
305
365
239
386
314
323
231
238
374
324
297
256
278
314
388
287
327
354
265
241
357
339
277
216
288
317
332
394
288
331
305
277
323
279
284
373
325
334
288
328
275
328
359
273
290
295
323
303
371
357
390
239
361
284
339
234
309
315
314
330
330
290
311
306
297
355
275
365
320
320
251
278
333
299
373
316
300
362
356
316
390
340
293
221
406
360
308
317
308
282
263
313
309
331
367
302
332
348
314
333
310
317
240
353
370
372
345
335
285
275
332
285
353
238
324
298
295
369
234
297
347
275
306
322
289
263
310
234
182
376
299
256
332
344
342
329
272
362
369
285
342
423
388
309
294
373
351
328
314
252
308
304
317
385
295
227
274
325
316
376
235
368
346
323
364
292
339
281
270
322
306
288
300
260
308
280
339
356
368
398
253
321
354
410
357
275
271
352
328
371
422
282
287
355
361
367
290
238
321
391
333
355
424
303
328
345
265
254
350
387
346
342
277
367
355
267
287
362
337
344
279
290
317
326
256
326
278
349
357
316
341
371
275
282
291
326
339
345
321
293
353
282
236
316
293
357
347
320
369
312
335
289
313
402
390
252
345
270
317
318
287
297
288
327
325
386
271
266
340
365
183
289
333
303
355
292
345
360
293
371
288
301
256
288
373
383
382
301
373
319
391
260
292
318
258
285
365
361
322
284
277
322
316
249
336
356
318
219
302
233
343
287
338
311
240
288
213
380
270
295
306
398
301
280
317
291
297
258
348
257
247
281
228
284
283
302
362
324
324
350
238
304
331
317
301
169
310
281
263
265
321
292
283
322
357
295
324
376
290
315
275
304
335
378
374
364
322
266
305
334
341
398
277
283
361
326
433
328
301
331
347
326
312
369
276
315
290
298
289
213
279
291
307
322
300
388
239
274
299
360
366
315
353
317
297
384
395
263
287
306
246
307
389
309
382
300
326
290
261
300
326
287
298
383
289
325
230
364
278
403
315
333
350
357
328
352
222
365
352
287
257
374
171
304
323
334
361
384
375
257
348
300
326
296
314
307
336
373
308
309
323
338
332
350
281
289
342
280
396
232
285
311
336
359
264
338
244
293
277
295
349
319
370
429
356
304
325
354
284
372
257
332
275
307
295
370
304
364
258
304
340
376
339
262
329
282
305
274
363
381
287
335
346
279
317
386
342
326
277
305
331
320
267
306
334
321
265
309
313
338
354
246
262
293
241
349
329
276
393
311
282
360
320
374
343
316
288
286
348
313
298
339
299
243
356
296
295
293
338
308
346
343
256
238
418
340
288
255
302
282
274
260
309
328
338
341
334
308
256
330
264
333
323
329
298
265
326
361
287
321
332
290
258
386
329
271
365
300
325
332
284
290
381
300
281
282
277
340
364
323
266
296
261
316
197
310
339
325
299
389
371
314
353
348
318
360
274
302
395
238
361
262
317
371
337
383
360
348
364
380
333
357
381
249
334
354
251
339
361
335
278
288
302
277
396
237
253
326
237
357
321
338
326
379
279
327
320
319
312
323
366
238
317
390
397
241
313
310
278
307
348
287
317
314
318
260
282
328
326
303
397
302
361
355
283
363
413
309
402
304
296
287
285
318
262
329
345
261
362
245
340
396
452
280
345
323
302
241
306
288
302
400
364
271
371
317
263
323
262
281
329
268
332
256
382
287
360
232
255
262
254
339
252
288
284
386
295
293
309
349
299
282
331
322
369
227
324
251
400
264
254
215
317
343
261
334
372
251
227
266
357
274
256
337
236
318
363
345
303
213
306
286
225
304
339
287
351
282
272
335
286
225
269
345
329
234
371
330
388
308
295
310
331
357
339
364
313
383
417
297
362
249
389
268
322
339
325
338
460
394
320
224
358
356
359
312
254
359
338
436
373
301
287
248
248
353
242
299
255
252
306
398
315
353
370
365
351
271
331
333
319
277
281
242
325
288
392
315
326
328
276
323
346
307
340
308
430
289
350
323
320
289
311
343
268
398
334
345
274
251
307
185
369
370
325
269
351
318
358
294
236
253
289
316
333
330
262
279
353
309
306
355
327
342
312
288
162
378
405
279
342
321
252
283
291
293
322
328
295
298
373
397
390
303
330
334
300
272
350
308
284
387
309
192
265
247
354
263
263
317
287
287
382
280
352
357
292
384
339
381
376
345
377
299
328
277
328
346
351
251
345
319
296
259
395
333
270
290
405
359
377
316
352
271
372
269
310
303
382
271
339
210
250
412
247
239
341
226
321
321
296
321
256
346
338
252
302
292
350
284
409
289
379
340
314
348
368
289
261
315
200
352
270
300
351
301
279
331
308
309
373
316
295
313
287
255
377
345
368
366
309
395
328
276
341
312
360
427
366
297
270
267
266
263
299
368
306
356
289
325
292
365
293
284
331
324
265
347
355
252
269
325
267
299
263
377
296
370
295
359
315
347
266
324
288
300
331
368
258
296
320
293
346
230
326
324
269
178
329
282
332
299
317
292
246
308
339
347
301
255
380
322
321
295
239
379
358
353
270
330
300
334
349
289
323
341
335
263
363
320
386
315
378
336
352
359
356
289
290
288
289
319
284
350
200
332
364
274
289
350
322
335
319
259
342
248
311
324
357
261
336
345
264
319
209
328
315
322
341
242
305
279
368
357
234
386
314
304
266
345
289
243
325
325
217
262
354
345
333
308
278
305
338
251
347
246
269
330
236
307
270
256
317
331
344
290
232
253
249
342
304
204
299
264
319
351
230
329
286
298
268
330
293
353
339
344
328
279
310
349
308
386
252
340
372
362
320
244
314
319
367
265
310
319
297
329
374
294
333
321
325
219
389
282
285
301
324
311
234
272
295
269
313
373
261
335
281
349
343
357
339
308
271
322
367
338
313
246
407
345
297
251
376
326
243
293
361
298
408
314
335
322
323
272
299
298
281
403
291
282
329
339
333
303
402
318
235
288
323
310
320
311
287
319
313
292
384
251
344
329
375
350
264
296
270
186
284
309
367
336
327
429
376
258
296
309
276
327
346
300
302
235
290
334
222
360
323
360
352
375
268
278
168
337
382
281
306
260
308
266
255
402
279
302
325
295
346
288
369
278
280
342
323
329
282
339
374
299
329
301
335
323
306
302
319
323
355
361
255
369
349
258
274
290
295
370
332
350
341
274
287
302
374
346
273
314
347
316
351
319
307
313
301
409
386
317
284
254
296
338
273
370
312
272
357
322
305
344
366
307
366
301
314
276
356
314
393
291
318
345
317
274
377
287
215
321
291
329
381
387
363
388
285
291
306
331
337
331
318
372
329
309
330
331
327
272
359
312
342
297
320
279
276
285
221
356
331
333
328
334
210
258
354
366
421
300
300
304
360
292
279
367
343
290
331
354
397
310
295
381
378
341
298
361
346
313
339
264
426
302
309
309
224
334
338
419
349
365
362
369
316
320
348
304
299
226
302
348
266
267
226
292
302
304
333
315
243
257
288
287
323
330
345
296
285
290
269
293
316
304
287
253
370
386
345
269
326
315
286
381
309
383
299
254
312
257
205
335
256
366
254
359
236
317
253
227
380
267
315
391
193
220
315
323
295
302
400
339
229
410
346
240
277
317
303
303
345
348
386
278
271
307
242
354
252
366
374
319
241
311
335
330
327
301
280
232
402
280
300
284
310
262
285
379
216
280
314
394
375
284
343
356
329
290
277
412
347
313
369
270
228
324
302
351
355
351
285
265
245
293
327
325
425
285
347
319
334
315
378
253
289
273
365
350
220
282
308
371
289
386
375
338
340
342
351
315
323
307
334
226
311
267
288
323
292
332
377
314
324
260
309
228
331
179
343
266
316
377
345
344
307
343
332
221
296
296
213
246
319
373
367
257
192
328
305
251
300
358
287
276
299
343
309
285
296
332
241
304
388
343
335
367
297
379
326
335
317
395
340
300
358
390
286
323
306
175
299
330
320
367
377
339
312
328
328
282
293
332
359
242
322
369
299
299
380
328
399
312
342
305
329
341
299
302
273
299
369
332
253
393
290
279
360
335
372
361
300
305
318
283
283
265
295
270
303
302
337
295
325
361
313
313
252
356
293
259
339
367
388
262
198
323
317
298
332
311
201
210
353
356
326
425
274
290
338
389
290
380
272
256
318
274
310
258
243
300
245
379
275
296
372
394
233
328
335
345
194
357
331
335
325
319
234
319
323
414
368
291
298
312
354
341
302
412
318
288
303
320
268
250
344
316
333
307
351
263
280
340
388
294
384
288
334
319
310
300
342
407
254
238
330
285
422
342
322
333
335
288
256
298
268
324
274
335
325
241
335
351
308
292
338
241
321
326
298
265
262
307
317
282
344
278
276
356
281
247
382
307
353
409
260
354
365
211
388
305
278
254
307
334
358
374
354
358
322
300
339
408
280
321
307
283
398
290
317
354
352
273
310
337
329
339
351
378
367
302
383
310
278
369
320
313
267
351
325
283
262
323
356
262
320
292
232
382
306
261
327
274
349
245
328
343
316
287
346
325
317
362
329
206
307
316
304
315
392
324
352
238
339
295
319
264
330
285
310
322
177
282
260
319
357
353
348
270
352
309
378
363
351
322
360
312
405
269
332
322
260
266
325
322
371
317
335
289
346
270
366
287
365
275
309
296
329
314
356
317
259
324
368
297
338
374
294
337
372
311
292
366
279
335
428
320
257
227
419
351
385
344
315
346
344
359
315
326
321
363
330
324
331
358
318
319
320
302
340
323
382
287
292
345
363
267
297
316
213
347
289
241
315
289
347
351
250
313
330
287
253
328
321
337
292
272
353
318
344
325
259
392
338
338
328
328
348
338
331
325
281
343
316
357
333
311
276
363
291
360
305
366
361
277
375
213
339
368
304
291
346
348
264
240
350
368
303
366
272
410
310
328
361
387
274
370
377
327
314
367
298
322
398
325
391
299
347
368
309
288
329
362
379
334
255
364
305
268
386
391
279
355
266
361
271
357
455
299
326
254
363
316
294
367
257
291
328
322
304
320
287
402
334
305
287
313
350
362
312
365
321
302
266
345
357
301
415
302
342
296
221
307
309
217
334
379
361
320
314
306
305
294
368
234
308
375
316
352
418
335
306
333
365
333
341
289
320
353
342
304
308
355
334
334
301
233
302
348
402
298
340
320
422
276
276
403
388
303
343
273
399
209
326
377
269
290
253
308
363
334
285
352
364
344
310
341
266
382
214
277
254
260
304
323
403
308
306
366
249
393
317
361
250
260
284
319
303
314
260
294
256
351
275
281
266
253
375
394
355
363
288
318
315
320
344
254
407
322
362
341
360
261
317
329
233
313
299
344
294
397
360
397
303
317
257
392
327
267
330
256
298
397
330
365
319
369
321
260
324
379
351
280
288
309
399
277
368
334
302
333
233
300
319
288
339
347
374
396
332
201
344
240
310
368
307
369
349
358
255
288
354
287
342
302
261
337
243
345
233
275
270
344
344
312
351
306
305
226
329
323
407
408
349
306
319
408
399
354
403
339
372
408
332
316
290
286
269
283
314
309
217
304
309
312
415
354
352
322
385
361
279
310
320
258
275
353
258
417
308
228
338
329
372
314
374
303
326
309
251
281
300
368
289
223
368
314
329
321
304
254
395
332
296
360
266
291
329
343
323
306
225
277
334
358
258
338
382
352
370
304
353
266
367
308
238
300
304
271
284
263
280
301
316
312
382
319
303
291
453
304
337
379
297
204
324
343
286
295
325
358
299
255
359
334
268
301
302
297
223
352
358
311
402
273
437
266
285
253
271
231
310
383
368
348
269
274
354
272
217
324
280
296
299
273
321
349
401
335
286
291
317
338
306
343
323
278
282
368
271
312
305
360
408
329
345
391
355
260
286
352
349
319
248
350
368
289
334
270
282
308
302
318
297
238
246
330
377
257
312
357
334
295
342
291
283
264
338
410
319
299
316
255
333
288
296
292
386
298
363
403
272
351
374
303
283
249
333
335
366
314
316
338
305
289
290
276
274
297
360
350
313
297
332
328
308
270
256
333
364
339
201
321
338
395
266
281
301
281
228
353
204
313
371
377
356
297
304
233
281
274
324
308
283
266
342
406
306
313
351
339
376
344
302
295
318
307
351
318
291
377
305
334
266
329
327
266
312
292
328
322
274
306
319
342
407
292
359
368
298
316
372
280
353
286
375
345
363
331
295
385
211
231
299
354
342
206
336
288
399
338
239
427
322
209
328
315
302
277
330
345
295
335
349
385
297
303
279
330
310
300
323
299
222
315
338
305
269
327
320
326
295
319
369
334
301
305
351
312
350
296
389
245
303
381
303
331
332
353
314
331
294
272
321
249
274
288
349
283
377
367
331
311
346
295
285
287
333
231
289
291
286
348
261
259
347
292
394
267
330
329
289
268
286
339
277
278
269
375
345
311
345
337
273
342
318
303
309
322
331
240
251
219
324
322
221
297
340
328
348
361
312
347
330
188
298
385
264
366
330
340
350
354
370
240
304
337
311
366
322
328
298
259
323
261
276
308
286
256
287
327
277
213
300
287
336
308
399
311
267
334
276
339
400
304
320
366
305
356
377
318
337
297
356
339
314
325
268
304
356
328
248
283
361
283
290
290
321
371
330
317
353
377
236
230
277
307
401
348
351
297
301
330
338
309
396
343
337
397
367
291
290
338
355
311
351
343
332
400
338
342
282
340
338
241
309
327
293
288
310
379
409
352
335
351
361
322
306
331
348
314
384
380
260
397
362
366
265
310
320
286
298
389
248
315
284
152
305
336
300
345
286
323
345
291
291
318
331
386
348
300
394
248
369
416
311
299
356
338
304
379
370
317
336
322
305
270
311
283
308
333
314
341
273
319
322
214
314
271
307
322
332
245
230
307
251
217
259
322
254
257
294
296
324
207
283
345
238
241
285
422
277
261
336
268
351
303
334
330
277
325
334
350
329
344
348
328
350
326
245
323
270
283
287
298
318
327
318
258
331
363
380
264
343
289
236
312
300
332
247
303
353
315
346
365
326
262
397
365
319
296
360
323
293
245
377
285
335
345
310
318
329
260
236
262
348
246
316
281
274
307
331
265
258
298
240
319
297
360
324
339
277
288
345
339
419
327
289
360
238
267
406
283
341
294
358
381
296
316
299
344
371
294
301
265
205
298
342
239
236
284
402
344
197
319
361
289
266
294
285
255
324
227
292
310
300
333
319
312
267
314
330
325
356
365
415
254
306
335
360
222
307
306
294
320
261
305
250
249
256
218
236
311
337
315
372
397
256
387
319
303
321
380
187
296
306
332
378
380
219
313
303
319
305
388
302
334
401
411
318
327
303
339
308
290
304
309
305
257
303
371
318
360
311
343
332
308
339
351
274
346
315
273
379
329
326
335
401
300
368
364
277
239
302
373
364
308
331
410
338
276
351
252
236
322
336
300
346
362
290
304
334
234
355
399
319
329
350
364
284
334
333
354
363
330
294
307
302
246
273
359
343
302
271
354
314
377
249
268
253
347
330
404
337
267
336
301
296
382
321
232
287
332
329
274
325
312
395
349
325
357
296
388
359
328
381
312
323
305
259
252
359
295
297
343
326
337
328
314
300
262
293
403
319
311
295
206
288
294
337
319
269
265
359
374
273
305
248
366
366
229
264
281
281
320
309
277
238
316
349
250
339
371
417
310
300
280
326
336
316
293
319
335
321
287
348
301
263
301
320
301
381
308
310
311
301
298
271
313
258
258
281
352
337
285
339
351
307
302
278
310
341
284
367
308
316
269
359
322
286
357
286
250
281
295
266
291
291
213
412
289
309
387
285
422
253
313
357
395
271
335
358
307
334
266
279
326
326
273
240
367
318
288
341
266
335
329
367
339
371
191
373
326
281
312
312
342
409
291
404
368
327
289
321
364
292
316
284
359
281
209
249
279
352
354
371
279
252
274
276
366
363
312
299
271
377
377
354
358
311
267
409
354
296
374
337
309
335
303
322
376
329
378
379
307
299
286
326
334
366
289
345
268
297
276
349
327
296
340
304
297
311
252
292
382
365
341
343
243
448
367
235
305
414
391
316
276
365
341
262
280
357
273
389
329
383
244
325
325
386
323
346
282
356
364
268
316
256
383
240
218
336
318
344
310
311
286
355
318
371
345
346
290
282
292
284
272
355
301
159
341
354
355
352
327
321
302
278
237
236
311
249
288
284
305
290
380
354
307
244
318
411
284
254
344
263
280
316
402
231
299
253
332
300
248
375
338
306
338
345
301
306
283
319
369
345
304
325
319
355
320
251
289
366
361
302
324
239
356
238
349
315
284
364
307
321
286
301
283
367
318
330
297
364
347
264
378
301
283
334
389
284
281
351
299
341
367
323
306
338
334
347
275
276
339
322
270
325
364
282
342
362
320
272
368
348
276
385
364
200
399
317
232
309
307
287
243
292
276
380
329
390
219
372
364
325
322
327
269
322
322
288
253
254
284
271
299
252
242
323
341
346
320
373
318
243
325
354
403
293
213
371
279
259
285
225
368
272
281
280
346
309
345
386
296
262
288
300
335
259
304
290
289
330
391
352
333
307
291
306
375
352
315
263
320
380
350
323
346
313
288
350
305
375
255
293
363
280
266
310
399
366
335
318
298
347
419
325
350
288
275
405
275
316
309
347
329
306
312
314
315
276
380
306
352
307
364
310
335
267
277
345
248
240
342
375
316
346
213
320
300
344
312
264
355
348
346
310
270
307
273
362
184
280
281
275
270
214
333
335
318
282
201
335
280
239
371
227
313
256
316
380
296
222
303
294
239
255
291
307
308
339
270
314
299
380
356
302
270
349
299
279
247
286
311
269
312
329
332
282
313
400
301
319
270
320
400
366
262
315
394
394
264
333
294
266
317
287
373
331
324
309
307
291
257
327
317
319
302
305
305
349
380
232
405
292
404
209
403
299
359
337
292
292
287
326
349
332
367
301
250
376
238
307
281
284
211
248
277
376
305
301
296
362
292
333
333
341
290
303
273
435
312
235
310
322
359
305
297
327
333
307
236
358
303
297
339
315
250
286
311
367
279
297
324
228
346
237
385
374
385
349
251
288
262
322
271
286
305
383
305
387
310
305
291
248
290
360
272
292
328
292
324
306
309
317
247
294
323
263
375
273
393
253
397
319
285
270
349
390
389
270
344
350
273
341
311
406
306
226
327
332
358
323
378
364
297
376
311
376
276
323
274
290
295
398
310
257
314
344
303
334
305
235
313
326
365
353
224
338
271
346
351
367
254
321
226
334
272
306
312
274
278
334
390
293
301
363
267
300
304
362
259
217
302
349
348
327
277
342
315
192
331
352
291
251
371
307
326
332
337
322
356
294
277
298
380
268
370
328
309
369
287
270
355
309
238
305
358
322
250
307
305
332
386
328
240
247
324
300
379
306
297
304
383
275
277
384
207
366
302
348
331
354
311
261
299
328
306
307
311
304
371
418
323
324
378
336
281
311
381
394
334
262
312
317
334
352
329
244
306
311
326
335
302
413
331
373
349
323
387
312
303
320
212
309
336
308
364
224
320
279
349
368
288
277
259
255
361
262
349
392
363
310
209
368
306
328
290
302
366
266
319
303
295
298
361
318
361
347
360
371
307
291
367
263
387
296
306
331
236
417
225
326
289
359
322
317
297
189
332
261
256
296
322
347
295
298
337
249
367
283
333
316
283
218
279
286
374
334
319
371
371
329
222
377
340
366
326
298
314
356
366
399
297
314
342
388
390
324
250
345
314
248
294
299
362
340
275
339
260
389
328
287
319
316
281
342
355
337
335
370
387
321
346
278
305
306
338
310
319
249
340
273
292
283
285
239
356
329
275
189
332
368
239
277
318
238
292
261
279
348
341
352
307
232
323
294
326
283
219
233
383
379
354
299
267
269
330
255
209
317
304
316
264
364
259
351
316
274
373
267
325
305
374
322
234
377
287
291
329
273
262
294
362
315
298
289
326
380
302
407
429
329
383
312
276
257
229
273
311
324
271
328
311
301
326
341
387
375
333
318
340
330
339
318
322
302
287
350
276
357
285
383
293
269
244
293
231
349
293
342
281
292
344
330
364
344
318
335
259
277
271
241
360
347
347
300
287
330
308
260
317
272
400
373
292
426
213
309
276
281
326
388
369
368
301
373
303
341
161
339
343
339
347
294
299
290
240
394
298
317
252
328
302
262
327
280
312
216
346
351
315
355
332
288
319
335
254
384
340
332
268
250
331
319
277
264
244
340
340
371
343
292
363
270
305
349
278
328
323
330
317
317
255
351
377
250
303
330
295
349
369
280
301
307
267
339
246
268
311
289
277
326
344
220
289
339
344
343
281
323
259
303
289
279
270
225
417
374
330
340
368
295
328
274
340
257
342
260
310
336
289
258
362
333
256
310
288
345
243
223
372
359
328
331
238
329
392
334
273
313
311
281
322
315
292
198
334
272
366
309
300
330
258
323
404
303
240
345
274
345
321
302
296
311
256
350
275
302
298
333
307
280
261
308
344
298
303
316
337
308
261
294
355
372
295
326
355
345
278
307
321
313
408
260
271
322
270
352
247
275
233
402
317
326
355
391
317
337
289
322
289
347
290
259
365
405
306
296
282
238
303
315
217
281
276
271
378
245
342
230
318
304
319
272
314
252
256
321
266
299
337
254
304
313
354
314
261
257
329
300
321
287
278
243
286
378
282
337
274
377
236
251
236
275
331
338
315
369
321
376
250
312
242
409
406
384
302
376
383
240
295
234
321
298
252
309
355
337
304
436
275
305
318
307
364
333
333
248
277
330
359
320
326
290
396
294
261
294
265
301
273
229
432
400
351
392
276
295
255
379
328
410
357
375
239
348
333
351
292
321
310
289
317
327
294
317
330
379
349
306
203
331
309
321
291
387
287
348
369
240
300
376
276
301
314
369
309
247
295
333
367
222
319
195
265
284
381
250
340
265
321
332
281
259
329
245
366
389
429
385
339
354
256
355
309
376
393
329
415
288
305
276
302
388
333
287
236
327
295
283
348
322
218
260
354
365
307
288
337
332
284
336
372
327
273
196
270
199
357
294
382
279
286
241
330
343
385
256
311
267
275
281
389
308
343
328
349
280
270
282
403
312
302
349
337
408
387
338
284
324
297
341
289
296
354
309
309
400
315
334
334
322
295
291
333
427
233
421
385
316
309
357
293
369
285
272
242
356
335
319
233
258
335
287
425
326
424
339
358
363
333
340
369
303
253
298
293
326
281
322
339
267
339
416
294
364
365
370
411
266
274
367
281
270
247
286
346
358
351
307
277
362
283
302
308
252
392
362
261
266
378
361
307
359
353
279
290
362
343
355
293
374
324
312
293
349
324
315
277
289
274
376
354
289
328
278
314
315
340
277
333
323
298
385
396
273
373
285
350
372
236
298
363
308
279
290
398
299
252
319
299
391
333
334
302
381
337
228
418
367
287
283
295
324
316
305
264
311
376
402
256
363
373
355
290
250
306
304
365
244
342
328
361
244
341
301
361
292
330
375
329
314
287
323
350
296
329
445
294
359
350
332
295
321
338
321
342
322
303
368
266
314
329
287
391
345
331
314
348
336
310
385
323
354
277
363
281
300
290
314
311
246
265
327
325
377
303
338
299
375
299
308
264
343
260
319
328
349
309
327
302
301
308
255
329
287
364
328
314
337
355
255
352
304
307
254
292
313
262
315
312
339
253
397
330
285
346
325
317
356
404
282
242
261
331
290
366
307
305
276
304
390
337
332
338
318
302
334
371
303
308
368
411
326
267
238
283
330
281
371
316
314
305
260
405
309
339
268
324
335
304
312
329
333
264
345
408
282
313
325
297
333
273
227
393
357
371
348
357
290
342
348
328
278
374
348
318
275
365
274
360
380
265
214
316
272
333
339
258
253
289
345
256
332
315
193
276
341
333
304
307
349
361
312
284
290
331
388
324
228
273
281
359
263
357
290
268
282
265
325
398
353
316
340
379
294
339
409
374
329
379
377
335
291
409
185
379
344
309
341
320
326
356
327
386
390
269
345
281
322
359
364
315
338
357
276
319
319
298
239
324
321
299
356
401
350
325
362
327
289
262
299
341
293
408
316
385
363
341
191
203
332
269
274
340
305
313
359
335
369
380
309
337
359
328
343
287
311
297
298
335
371
329
416
261
342
315
329
378
270
248
331
385
363
365
258
293
188
314
376
349
340
366
339
346
337
304
356
331
312
277
319
411
329
275
281
373
332
306
273
321
299
362
397
315
347
252
318
275
248
293
297
307
326
295
375
347
223
344
307
351
260
332
283
306
344
277
323
293
346
330
258
281
352
276
276
423
320
392
314
319
273
316
227
229
264
349
373
254
323
271
264
281
238
323
372
336
229
319
308
315
318
331
355
303
276
361
296
280
332
387
345
278
275
343
308
354
316
380
328
272
282
245
318
282
216
404
256
280
373
257
317
370
270
342
293
350
226
319
254
330
265
315
369
295
341
304
309
327
249
364
371
308
337
373
253
316
300
349
279
209
331
365
394
239
321
340
223
260
244
374
289
265
297
313
347
314
195
372
286
352
285
294
302
334
382
315
336
331
360
352
370
354
369
278
296
300
268
346
304
377
241
321
345
293
370
348
291
299
262
365
298
237
279
367
368
312
322
319
267
319
396
293
237
298
326
353
316
279
290
330
354
348
264
293
309
272
211
282
357
297
327
304
293
269
328
412
307
316
254
261
340
299
308
286
350
306
249
269
276
329
294
226
240
305
297
287
298
336
345
368
294
388
290
285
283
359
338
337
283
345
363
319
270
257
208
245
312
315
324
378
251
322
331
359
351
198
240
283
374
308
304
281
308
234
317
284
350
246
268
313
331
344
284
382
287
296
298
343
369
286
284
319
299
328
373
365
292
340
356
374
198
379
358
348
302
290
324
274
324
342
309
295
330
329
356
302
345
335
274
343
257
299
293
268
320
316
321
343
252
361
308
310
310
331
327
287
313
345
321
288
335
329
292
301
319
371
246
281
392
254
336
317
325
356
391
304
370
239
276
283
269
278
289
327
344
271
190
313
345
370
263
367
300
346
256
239
274
330
269
372
290
340
312
321
311
333
292
351
328
325
316
298
269
349
364
264
369
306
321
275
343
345
230
282
322
250
323
291
368
339
335
316
289
333
353
368
380
290
359
329
331
331
351
292
312
270
310
330
374
329
382
246
311
315
367
395
299
418
334
319
260
298
392
220
314
223
327
286
367
331
245
251
337
313
400
420
272
297
165
279
303
310
285
306
323
256
324
310
334
395
366
323
214
315
198
258
308
296
271
192
337
239
270
297
350
315
361
311
230
345
309
324
364
272
240
364
338
339
320
397
288
346
340
328
366
305
331
346
329
224
360
362
284
344
349
318
173
261
330
361
235
337
333
230
297
346
297
299
315
290
252
297
294
391
364
261
283
313
348
317
354
365
282
361
306
272
347
316
243
289
402
329
314
335
286
396
383
225
368
266
306
323
364
263
336
328
294
333
373
292
367
266
241
294
334
229
347
274
337
329
275
336
342
322
275
370
393
317
346
225
317
309
293
288
344
309
373
320
259
305
262
323
309
342
270
248
291
374
347
289
255
241
312
434
293
289
285
307
311
385
298
312
312
286
358
314
334
351
316
245
271
395
304
354
257
353
271
313
310
291
319
257
347
262
254
303
311
320
287
402
282
337
330
332
369
242
297
266
274
365
307
270
367
348
367
357
308
403
282
336
283
290
312
254
307
354
341
338
333
299
352
385
285
236
263
281
355
288
298
321
295
317
325
295
317
355
332
201
300
272
355
351
282
256
380
424
388
262
294
243
342
279
276
302
349
349
359
349
305
267
274
252
323
357
240
270
380
287
337
319
290
319
295
373
375
317
329
335
223
314
322
373
362
335
324
373
290
256
256
267
363
235
282
315
332
313
327
359
203
284
292
357
321
310
355
306
255
332
325
317
294
213
336
400
338
334
402
296
364
324
301
308
240
337
231
373
309
249
306
336
358
219
359
237
316
349
343
370
242
396
256
315
349
320
287
254
349
343
209
240
357
329
288
345
362
320
404
252
379
325
386
385
403
256
275
358
263
354
303
254
285
289
275
294
297
277
291
343
361
331
358
322
312
293
379
352
317
307
299
315
332
235
362
347
348
235
335
241
361
298
286
369
253
328
269
324
388
346
309
245
354
277
209
377
277
298
368
332
348
296
354
324
282
332
362
238
262
329
354
319
285
289
365
370
330
296
288
321
330
328
333
287
337
372
300
302
333
261
268
273
361
317
359
239
255
404
297
358
320
270
253
210
259
318
344
217
241
310
262
388
375
261
308
288
359
320
361
428
303
326
370
223
344
320
252
291
374
321
334
322
348
245
345
245
297
293
352
309
291
293
368
299
304
298
337
327
354
303
392
365
346
297
330
291
377
249
294
354
306
353
307
342
402
344
201
301
277
331
290
342
363
316
280
369
239
340
296
356
301
347
324
334
286
314
349
335
326
271
301
323
258
326
341
321
333
272
236
340
304
324
253
297
256
316
370
255
284
292
327
325
328
277
310
254
348
351
339
324
337
247
247
343
323
318
357
341
365
273
331
299
260
282
357
378
335
387
329
335
350
344
319
341
307
336
302
324
319
303
275
216
343
334
324
248
280
288
246
289
332
359
350
298
323
355
318
431
332
322
297
308
270
317
265
285
308
294
271
245
316
324
305
311
290
238
359
366
334
368
318
409
296
285
287
314
290
270
279
327
284
311
306
272
282
300
314
267
306
342
354
296
280
340
242
327
354
414
416
348
405
265
308
232
320
349
281
259
232
268
328
322
338
361
283
336
358
279
363
218
297
400
285
374
246
311
394
277
276
314
307
313
384
340
329
380
303
290
322
317
364
276
282
307
266
373
353
321
318
302
231
343
309
322
245
262
320
317
398
243
264
315
376
337
286
348
371
311
218
308
266
318
282
304
306
248
287
249
322
317
324
272
333
297
339
257
322
318
347
260
338
272
280
253
389
403
304
340
392
331
300
291
259
367
321
363
289
237
359
325
364
325
310
331
356
271
379
332
348
347
346
308
250
210
327
362
358
358
310
366
325
266
300
330
319
372
349
313
215
323
368
326
282
316
282
381
233
239
299
388
356
278
301
253
403
233
395
312
324
378
285
285
260
347
402
301
359
318
357
315
347
263
230
307
326
317
302
361
316
379
295
280
331
317
388
293
396
334
418
364
395
387
273
388
285
201
269
262
267
296
322
276
303
294
343
330
344
318
273
282
343
263
330
351
246
299
385
382
300
322
264
366
299
354
207
413
300
278
336
318
196
289
315
270
264
247
230
412
320
250
278
358
391
339
316
361
390
307
367
287
273
248
343
145
396
299
383
284
275
272
285
350
403
366
326
416
250
242
304
305
351
400
324
372
294
342
336
298
263
298
396
289
307
293
305
409
249
238
320
319
336
375
338
301
278
353
230
301
366
357
300
263
312
398
349
286
321
320
353
287
275
285
302
267
276
301
192
298
302
298
271
256
366
324
249
319
292
308
333
334
339
294
374
277
284
257
336
356
337
313
385
335
296
361
296
269
297
386
370
295
331
303
332
245
309
290
353
311
331
291
242
350
238
270
283
325
333
405
353
333
284
308
316
279
382
395
300
284
250
336
286
339
285
303
300
252
273
304
283
312
297
289
302
303
315
375
437
329
362
379
294
232
238
321
216
338
225
333
309
325
322
301
288
295
387
366
308
292
360
344
325
302
317
313
288
291
267
384
321
280
369
293
282
253
354
303
348
240
330
340
289
283
321
262
351
271
372
309
290
349
245
248
353
324
329
354
303
349
337
326
263
236
344
306
313
305
326
356
337
332
300
259
315
332
370
336
306
267
322
327
295
343
330
319
288
327
300
263
390
365
290
335
363
349
357
341
263
346
276
301
277
303
286
302
257
283
263
314
361
311
310
319
262
333
336
394
373
303
309
323
274
279
248
333
261
306
331
329
249
379
325
371
381
320
364
313
305
311
337
306
303
299
353
309
280
375
360
309
246
273
314
374
393
304
275
339
309
301
282
332
288
369
354
275
291
302
255
386
353
251
311
247
198
266
314
374
359
348
297
338
279
379
325
349
241
270
287
279
280
265
340
324
251
260
278
265
286
316
267
334
263
252
243
384
305
283
335
378
243
323
292
309
297
336
329
318
321
303
286
292
304
340
385
221
277
262
352
409
274
367
314
244
325
317
285
329
305
337
291
320
309
326
311
331
386
292
290
364
301
315
348
357
238
318
310
272
324
287
366
280
288
253
260
377
323
312
279
332
246
371
293
229
274
294
361
358
302
273
282
271
424
343
322
323
386
316
316
306
327
254
186
357
384
414
343
358
318
313
266
321
303
296
289
245
339
360
359
352
282
307
292
291
309
345
377
276
248
343
360
354
346
291
208
335
335
260
275
312
370
334
388
304
341
346
299
341
353
311
328
262
269
345
300
280
282
410
359
356
318
279
356
354
308
320
345
286
254
403
294
330
319
350
308
276
230
326
326
317
301
359
350
246
289
278
401
384
287
263
391
416
352
255
366
304
320
271
274
263
219
322
367
291
338
291
336
381
343
370
271
332
265
354
296
364
338
350
357
380
268
367
288
262
293
380
247
348
352
336
278
244
201
335
324
388
276
288
353
344
311
403
272
277
309
278
312
373
356
289
328
297
370
314
358
412
274
296
338
291
275
264
349
309
312
382
289
267
306
269
280
283
221
345
352
273
374
340
320
274
261
247
334
282
287
353
341
368
240
285
295
354
300
328
235
325
357
283
254
264
312
248
298
273
235
375
278
380
314
236
337
285
385
375
316
338
401
368
334
232
260
319
373
260
351
296
285
312
294
296
210
306
297
327
342
246
352
314
370
294
360
313
293
322
318
315
273
276
340
346
365
306
375
238
309
318
271
302
305
264
218
350
297
297
270
304
356
370
302
332
369
283
270
249
275
308
392
311
256
237
369
225
411
336
331
312
213
323
345
378
337
296
317
347
238
332
364
280
277
356
330
393
388
323
298
337
238
312
367
366
298
355
338
314
333
277
344
373
330
323
349
313
324
320
278
369
316
347
176
244
344
283
249
272
326
395
368
364
366
366
314
296
343
351
391
362
267
374
366
281
254
285
374
260
258
280
275
361
299
319
290
281
297
351
329
365
332
349
281
346
339
337
324
240
326
362
256
301
399
276
330
325
384
293
279
377
291
354
372
356
417
285
240
324
302
340
363
337
308
379
284
364
276
264
275
294
305
290
245
219
358
284
284
317
370
301
328
375
354
330
326
328
338
369
305
368
347
295
313
337
255
331
229
377
275
331
291
307
363
327
299
322
285
346
319
353
256
315
384
260
332
376
324
301
294
346
368
358
299
294
267
328
240
273
338
312
333
360
307
339
334
390
308
322
288
318
307
341
329
318
335
281
345
312
423
330
315
395
287
321
360
291
273
324
343
303
247
285
329
345
292
320
383
287
326
349
233
295
269
274
289
293
301
390
370
328
373
372
314
321
316
275
390
312
264
319
334
276
304
345
274
265
264
282
281
300
296
383
280
314
312
308
288
352
351
274
288
370
352
304
306
267
294
357
343
340
275
336
330
362
331
323
299
347
247
343
358
346
284
387
335
250
352
360
285
258
340
333
332
328
305
280
323
356
337
282
305
272
230
336
341
367
371
241
266
339
280
279
329
403
248
306
328
274
268
290
367
257
373
282
224
357
227
221
278
225
368
314
348
289
302
245
339
278
218
351
354
277
349
275
351
325
409
443
268
313
319
387
251
282
302
311
247
346
316
319
345
243
324
296
380
349
337
289
336
247
403
302
361
313
347
260
308
271
291
422
353
369
355
353
324
323
359
375
296
332
357
287
316
299
228
275
306
346
292
339
340
358
309
288
297
241
308
363
360
326
290
288
187
349
395
367
318
232
285
322
328
328
343
311
346
226
308
299
356
322
254
276
339
378
345
355
262
308
403
301
254
389
272
347
282
363
379
284
322
354
291
313
292
287
253
309
383
298
353
217
324
304
311
257
251
275
316
288
326
347
290
344
327
290
331
288
293
387
277
286
348
386
323
309
320
258
313
344
311
298
318
335
335
227
366
352
326
257
316
278
344
319
291
315
344
343
380
336
370
400
366
328
366
286
270
277
372
322
326
349
297
341
318
294
353
195
281
288
254
355
365
313
313
313
331
282
271
387
312
309
324
312
338
340
383
240
332
287
291
309
355
386
344
241
333
343
267
251
333
327
245
340
321
301
255
307
271
282
358
371
333
324
316
279
311
335
283
357
299
411
306
338
290
334
305
294
363
347
301
357
296
301
290
299
291
297
375
330
290
350
318
378
277
375
377
299
222
291
338
359
421
295
359
267
320
357
312
299
328
244
247
255
247
368
350
370
289
287
296
317
297
360
314
350
357
341
341
371
343
319
355
252
318
363
333
319
306
324
277
302
287
321
443
384
275
372
311
408
271
355
302
241
308
351
273
255
260
334
333
228
396
276
245
298
334
290
328
328
338
368
277
305
233
354
316
287
334
349
351
293
260
346
329
277
323
250
354
299
287
321
346
333
273
283
411
302
241
188
343
357
343
301
229
334
328
357
324
339
328
320
403
290
390
289
312
264
321
355
302
400
354
359
310
319
298
262
350
332
310
278
393
343
309
328
309
374
344
322
293
346
332
293
261
284
347
346
329
320
377
322
332
272
357
257
360
307
345
336
302
291
336
318
360
282
251
291
212
224
347
380
366
351
294
299
347
333
256
353
291
318
286
342
359
383
292
220
322
340
298
322
307
337
384
270
321
305
366
379
264
321
307
297
354
301
192
298
352
431
239
343
285
312
282
281
312
346
322
323
327
373
321
313
298
379
320
290
351
273
258
241
298
304
296
283
323
350
267
322
248
330
280
267
339
356
250
299
312
337
310
310
321
228
281
336
351
362
345
406
357
259
339
393
295
290
295
332
365
359
270
272
311
389
270
294
392
365
331
394
297
314
358
292
275
424
334
335
341
398
377
350
323
333
329
254
300
304
350
288
335
281
279
229
247
329
378
317
327
299
278
318
306
280
356
176
336
366
286
303
281
304
214
338
344
245
364
236
365
360
376
309
351
367
344
395
379
346
280
293
358
287
356
281
249
333
347
291
308
268
288
291
421
329
318
357
336
306
264
298
354
246
337
303
350
294
285
294
320
346
287
370
310
317
335
286
351
309
318
311
284
256
344
303
282
318
337
224
355
270
302
317
288
280
303
335
382
326
303
391
256
320
323
342
315
382
350
346
331
307
311
243
342
334
337
428
361
355
393
305
276
301
332
247
308
355
357
310
295
288
439
355
326
366
346
379
317
290
232
392
272
299
342
331
304
350
312
313
239
367
324
289
191
324
326
242
220
347
283
305
324
307
388
341
274
358
360
303
240
313
334
347
357
232
372
290
359
311
302
317
325
253
355
304
293
390
317
296
315
365
253
292
288
280
341
249
337
271
343
313
386
273
347
338
257
331
325
256
360
354
341
290
302
275
400
343
316
375
261
305
278
323
279
378
380
286
244
324
337
329
374
224
253
323
370
323
345
324
364
311
275
300
317
392
299
284
324
306
313
348
388
371
289
365
307
339
340
366
401
357
371
372
284
323
304
255
282
356
349
255
365
341
300
290
353
328
321
272
294
365
330
241
272
331
344
268
256
328
441
285
319
435
197
371
250
330
336
323
327
259
362
342
368
323
317
307
311
311
333
320
408
350
341
293
363
289
291
242
303
265
323
281
317
295
402
381
316
311
328
262
359
311
371
305
342
293
316
332
264
373
337
288
322
339
347
371
218
381
323
322
305
288
259
308
334
277
288
306
309
335
326
278
269
383
247
332
337
250
313
254
364
364
303
336
229
297
311
200
377
321
362
311
318
286
243
320
342
274
338
272
391
267
331
339
283
263
307
326
237
270
314
314
351
277
262
355
279
331
349
223
316
385
250
336
321
301
310
301
360
224
318
250
280
308
281
325
362
286
307
228
340
264
361
302
407
306
323
278
302
272
266
354
286
345
292
245
333
273
364
315
341
259
339
332
291
292
373
382
239
275
291
304
283
266
285
297
247
301
273
276
393
282
344
299
278
319
252
328
287
270
280
365
297
291
297
303
338
326
310
249
353
306
307
363
405
330
347
347
320
345
272
357
229
320
352
308
270
353
281
313
345
256
297
288
293
306
317
370
303
204
271
256
255
352
299
289
287
304
348
295
344
368
391
341
329
336
315
382
288
414
373
263
292
330
292
277
311
373
339
297
301
374
306
412
406
333
257
417
323
302
318
317
325
335
278
374
356
323
347
307
303
248
321
278
340
252
242
312
325
214
407
303
353
345
378
394
323
284
402
310
315
264
339
386
290
383
250
311
311
374
234
277
343
318
300
328
359
311
299
259
302
339
339
344
250
279
301
294
358
389
293
266
295
273
317
305
368
386
343
248
312
369
310
247
316
293
328
230
310
386
303
326
350
286
262
399
328
316
369
325
307
313
300
334
232
266
275
341
350
294
288
318
295
335
283
347
311
298
311
399
324
330
356
338
315
344
241
311
283
307
293
333
407
314
311
357
343
363
298
291
278
235
376
280
376
248
235
351
270
360
367
316
284
360
353
270
260
327
372
302
339
297
392
300
235
285
242
327
271
290
212
285
350
386
281
351
305
360
398
260
363
378
305
340
313
340
324
297
338
339
353
325
315
318
297
281
323
303
274
303
284
315
259
343
414
331
228
288
333
327
274
273
283
270
348
381
351
369
316
301
339
321
236
346
296
351
307
312
210
373
327
287
242
379
350
263
396
306
308
381
332
338
271
379
368
221
270
290
350
279
321
343
319
460
271
324
290
282
301
266
351
254
253
294
335
351
279
361
288
239
352
233
259
216
337
251
355
299
285
281
290
364
379
416
284
353
287
313
333
357
274
344
321
349
261
224
306
307
277
297
375
305
354
344
341
352
326
282
320
341
302
273
340
340
355
340
312
315
344
289
358
283
289
354
284
259
297
346
286
362
402
310
238
367
302
310
240
260
356
284
323
269
266
279
221
300
386
226
322
353
280
351
368
324
230
370
340
360
307
284
346
251
278
272
378
233
397
298
402
346
359
374
300
276
339
367
238
354
284
310
278
336
279
335
356
288
304
339
269
333
302
306
391
272
306
373
325
383
275
344
307
367
321
298
343
301
295
347
291
378
167
308
274
284
329
412
315
283
357
361
305
309
306
402
339
362
336
317
280
298
319
303
329
272
229
314
296
263
335
248
258
317
383
292
261
404
339
359
330
239
358
393
369
314
289
386
230
311
285
296
334
379
278
433
294
295
255
269
384
246
319
338
212
314
315
407
269
365
315
293
311
317
249
398
241
315
300
245
428
357
234
334
319
301
301
353
295
379
384
288
356
225
415
305
327
346
326
380
266
336
250
326
275
348
347
401
381
404
351
283
353
318
328
356
193
323
317
327
292
316
352
337
332
333
311
351
345
343
311
421
259
317
294
395
319
337
311
307
314
375
312
322
308
288
353
372
312
263
309
294
300
300
286
377
348
328
314
292
250
281
310
275
274
373
361
275
288
355
267
324
270
386
337
340
351
305
327
349
390
305
319
308
299
272
313
291
396
311
232
305
390
284
367
287
324
347
340
319
320
256
302
360
307
258
195
279
241
356
283
345
282
348
296
275
269
289
258
253
258
298
358
256
320
330
332
301
353
267
264
315
385
260
240
300
295
343
357
395
302
378
330
350
321
266
278
353
300
281
261
323
185
347
235
278
228
343
291
246
358
324
318
330
313
245
366
308
287
263
320
332
371
272
335
343
266
351
328
308
316
313
285
362
304
290
319
373
332
330
266
264
241
383
373
307
362
277
283
227
282
292
324
295
334
330
234
312
448
342
277
289
270
368
381
281
259
388
286
314
352
225
384
275
344
287
268
208
371
380
314
219
381
358
271
335
250
365
336
342
394
293
268
347
279
340
327
317
330
312
354
271
349
251
309
239
365
223
233
295
307
278
293
343
313
249
175
270
304
269
394
334
286
343
273
310
378
327
313
278
327
339
333
350
297
349
354
293
310
305
328
276
268
321
346
306
311
305
387
289
380
317
318
337
313
263
309
365
334
330
338
341
307
359
238
375
295
189
330
311
313
309
282
226
401
340
358
309
236
283
312
281
258
264
289
280
395
381
377
326
339
429
295
323
305
283
317
332
421
333
332
361
329
409
270
341
355
246
352
353
344
343
349
304
281
328
312
305
317
316
226
312
271
333
331
205
324
279
257
322
271
320
331
312
306
366
317
320
346
289
373
380
341
267
344
346
278
372
260
339
355
231
325
350
362
250
341
308
300
323
321
299
360
291
364
382
266
329
324
287
245
306
361
322
262
312
337
248
327
271
314
384
272
368
306
263
364
346
305
329
369
229
299
312
352
354
288
309
319
229
404
391
343
268
360
257
346
292
286
286
275
315
317
330
250
349
322
289
329
286
278
295
305
269
357
399
235
302
303
296
330
346
370
279
323
305
321
292
387
315
272
343
338
337
346
345
249
277
274
344
310
371
355
279
419
317
285
309
404
332
336
310
255
313
301
287
270
410
351
260
323
290
345
299
336
284
339
314
342
299
266
301
300
334
309
307
309
312
273
358
390
251
318
355
277
255
322
344
324
362
352
368
376
307
329
295
374
319
398
263
327
226
275
326
363
304
270
288
330
305
364
357
312
288
279
304
337
356
310
267
316
357
302
239
327
262
341
342
256
267
329
307
281
355
306
392
299
397
324
308
279
447
334
346
332
304
284
306
296
259
327
306
336
357
335
340
300
293
240
355
290
310
303
321
348
300
372
352
326
309
288
368
402
436
358
287
238
375
290
380
297
344
348
346
328
281
232
289
305
358
303
376
436
340
286
253
419
368
365
341
310
318
393
331
323
329
359
282
300
254
361
332
356
240
406
287
245
392
271
387
385
341
274
225
241
309
228
302
367
403
317
338
252
291
352
345
298
315
314
375
346
365
256
359
257
376
343
358
327
283
308
373
337
257
310
301
257
387
270
288
264
335
228
391
333
318
394
304
297
379
294
349
236
290
305
413
290
243
322
268
378
224
385
294
313
259
345
354
391
381
280
336
264
291
296
269
257
258
251
284
324
330
321
366
426
322
286
338
323
291
326
248
317
438
366
304
341
366
380
350
291
263
236
361
327
366
264
276
281
313
383
293
253
343
303
328
351
198
283
358
322
329
256
384
303
377
354
351
261
313
277
317
364
265
326
357
341
321
263
354
289
336
305
363
297
229
361
347
290
351
284
240
335
244
333
380
265
253
323
311
275
361
342
339
349
403
335
290
316
247
278
279
316
397
323
329
213
291
365
357
238
225
233
316
366
357
347
316
316
284
348
277
278
314
378
335
382
309
278
320
278
315
313
367
263
331
360
366
330
337
383
363
425
339
300
377
352
355
279
317
296
384
344
210
337
376
326
348
379
368
310
300
313
412
355
313
265
420
302
303
339
227
318
252
367
315
335
336
331
310
303
338
218
341
350
265
262
266
324
378
270
275
321
290
252
369
344
302
332
327
329
278
297
381
263
276
391
254
256
307
363
360
294
343
310
304
276
389
323
330
324
343
296
393
398
350
292
367
304
379
369
308
372
330
369
267
193
296
308
314
322
324
297
329
341
374
304
233
329
324
342
370
375
287
300
323
280
250
268
304
272
248
353
295
180
269
254
347
276
329
359
334
305
361
291
241
325
305
341
382
297
334
315
350
378
353
298
219
325
294
280
329
280
387
302
289
359
307
208
344
397
325
377
318
253
304
195
399
285
331
370
290
289
207
365
273
280
328
314
346
320
289
266
368
308
346
342
256
250
264
328
345
272
331
292
355
283
395
302
296
297
260
321
266
269
287
343
227
303
302
367
305
376
257
362
306
316
348
380
226
260
302
432
308
270
254
336
297
307
265
296
357
376
216
343
251
341
309
318
283
312
362
309
345
262
355
314
298
292
357
323
321
310
271
273
338
374
285
343
358
263
262
272
322
288
360
334
313
246
326
322
358
369
379
299
376
303
351
290
259
291
402
357
341
302
359
297
237
322
325
319
395
274
250
278
313
292
281
330
285
256
208
337
351
316
286
320
368
326
291
364
376
337
365
300
352
327
373
390
327
210
281
340
353
276
383
353
261
360
295
290
345
423
260
283
275
296
371
292
376
300
325
301
259
246
321
340
277
342
287
293
279
250
273
256
273
305
280
329
326
307
279
257
288
331
352
266
324
383
157
322
333
311
243
305
287
345
312
328
237
308
426
336
282
383
262
217
362
332
312
345
308
331
318
318
372
337
335
239
250
332
284
319
384
334
301
295
353
293
328
361
328
276
393
304
292
345
355
383
327
302
288
387
324
414
359
325
300
378
284
352
317
293
286
348
276
285
373
363
316
279
283
335
308
304
316
326
317
312
349
390
329
284
394
327
291
246
317
308
380
405
353
228
389
246
268
328
358
372
342
330
271
294
304
233
308
253
350
377
252
265
259
298
313
313
193
285
335
289
358
306
307
354
280
321
281
382
249
368
294
342
270
313
313
299
304
317
345
344
249
155
348
344
347
243
347
365
385
313
296
285
240
280
296
312
311
335
310
316
375
294
273
299
319
353
350
271
351
345
239
288
353
274
288
274
317
317
196
306
325
286
359
265
287
297
302
360
333
331
291
328
240
256
211
299
268
290
305
369
225
375
348
389
308
250
320
278
292
339
320
333
242
248
337
314
312
370
253
298
285
294
344
269
289
302
334
214
302
303
299
352
346
325
355
262
344
272
288
311
385
378
282
301
347
230
328
282
331
369
304
326
271
331
243
335
283
394
350
423
334
312
353
238
369
315
370
367
237
275
293
295
338
338
314
395
297
293
394
272
223
378
339
338
216
297
217
344
280
268
339
208
335
324
352
277
251
325
321
355
330
324
299
328
314
297
303
304
276
255
274
217
338
319
287
334
335
317
403
287
317
354
377
301
210
385
324
411
292
333
208
286
302
287
333
249
230
335
246
324
295
286
285
335
336
299
361
300
354
271
321
267
319
310
269
236
333
282
352
332
275
256
328
382
335
346
266
315
268
348
322
218
271
281
367
302
345
256
384
342
292
415
317
343
343
314
349
341
309
289
280
295
248
265
292
370
295
402
296
353
288
390
304
327
232
273
246
307
253
296
378
361
320
306
324
315
398
320
350
333
358
282
257
389
282
286
346
381
299
280
293
373
288
315
268
326
395
331
345
239
293
333
283
335
369
394
333
312
241
397
291
321
305
353
348
318
287
353
242
309
286
264
256
439
265
330
301
252
306
417
363
323
269
327
303
325
282
376
347
368
301
311
265
347
301
337
320
373
201
268
265
337
300
248
383
309
323
284
235
358
287
322
211
350
383
361
316
238
350
368
286
279
308
361
235
330
372
366
280
320
299
384
391
226
279
331
313
371
368
304
282
344
330
326
338
297
230
332
354
252
343
340
293
341
303
365
320
351
325
334
341
270
247
396
287
374
312
290
375
323
293
267
340
430
348
257
324
349
196
334
278
333
232
406
324
366
334
294
294
307
351
291
357
350
269
258
446
366
296
294
399
385
245
318
355
273
351
336
319
254
278
339
316
321
345
323
298
302
280
263
360
293
276
306
274
390
261
380
277
325
424
288
236
385
310
354
364
275
318
339
320
340
328
363
222
296
292
328
299
269
315
312
291
258
343
251
315
273
295
329
354
264
254
298
331
389
297
356
313
321
311
279
345
340
300
340
285
322
291
355
369
342
269
329
356
339
301
296
358
196
320
289
370
342
328
298
332
319
182
206
288
265
280
311
291
289
290
296
331
284
323
222
324
365
317
239
422
346
345
360
296
316
260
320
363
373
325
274
319
368
342
304
320
263
384
306
253
296
239
389
291
330
379
309
283
315
345
292
351
401
341
328
220
258
313
286
329
297
358
357
218
287
338
323
324
233
308
286
310
273
354
303
368
303
425
257
316
335
270
334
339
250
332
241
290
304
328
217
268
327
360
321
393
299
285
299
332
351
388
255
362
280
321
303
243
284
300
309
308
282
344
365
246
257
242
430
371
391
290
219
276
175
280
281
389
367
327
313
286
283
365
255
370
325
367
315
324
311
325
325
254
361
365
345
380
342
287
307
335
361
324
338
324
190
349
368
247
189
322
282
378
312
311
324
241
317
291
251
248
321
340
347
297
261
315
309
275
291
333
367
240
266
301
332
329
320
300
410
365
309
334
321
336
350
392
318
292
375
363
218
285
312
294
322
312
253
405
330
341
341
248
320
361
224
279
306
284
250
296
307
278
339
364
303
386
335
248
356
298
336
346
397
370
332
308
313
319
335
299
268
267
272
310
394
285
399
309
395
272
318
355
293
215
314
337
328
341
301
373
310
321
353
285
338
232
370
328
316
390
333
329
252
309
329
369
327
300
307
341
392
346
314
325
259
328
322
338
287
388
403
289
305
367
368
358
298
311
305
278
341
257
364
292
280
350
373
185
349
261
306
398
315
341
409
325
330
257
323
354
350
357
352
315
267
325
263
248
289
277
289
332
376
380
305
295
353
345
335
328
330
287
281
344
380
400
319
316
285
337
286
279
342
281
325
387
252
300
328
373
304
286
287
383
354
314
328
392
276
381
386
321
302
244
314
380
330
371
360
353
256
328
253
315
348
330
388
274
357
381
382
327
328
378
283
349
342
269
279
386
283
214
261
312
317
310
360
266
407
389
343
265
364
329
300
331
298
358
304
227
403
366
270
337
342
308
300
323
238
353
326
372
313
334
312
268
409
349
339
319
299
357
279
362
310
223
343
280
390
336
361
306
315
302
306
346
236
364
325
296
365
274
290
367
291
259
297
385
269
339
307
279
314
336
342
285
333
358
251
300
294
401
240
318
337
313
332
313
254
374
320
269
353
340
271
252
306
410
315
365
316
270
395
224
274
260
363
377
291
214
305
278
266
381
311
245
425
353
263
318
404
364
323
253
365
335
378
341
373
291
314
334
284
306
314
295
320
284
349
331
316
311
324
304
333
400
285
311
364
285
276
405
300
294
329
307
228
255
299
304
368
341
282
284
320
345
368
246
318
306
372
280
323
370
289
337
375
263
319
319
291
256
350
305
260
289
342
306
314
316
353
284
183
301
283
385
362
352
300
286
330
286
316
281
308
323
253
323
250
261
375
312
297
294
311
292
322
341
324
305
352
304
339
230
295
272
285
332
339
310
280
239
298
284
365
342
335
311
269
225
308
328
388
293
240
416
284
282
347
316
290
326
366
286
389
251
329
360
316
318
318
368
315
328
332
285
331
334
319
337
241
340
214
297
274
287
342
269
318
364
335
299
352
333
377
419
303
287
298
254
284
324
277
392
228
339
304
313
238
360
277
360
339
304
298
312
301
323
357
227
282
270
360
369
332
317
339
360
378
387
327
229
234
360
250
311
357
318
361
337
305
310
303
291
305
334
270
320
259
319
283
328
301
368
350
375
286
325
348
308
329
273
218
316
351
321
310
298
304
353
388
278
294
342
217
329
308
340
277
350
349
374
252
328
272
325
247
249
286
261
287
316
281
299
341
298
319
325
321
193
362
394
306
280
325
314
367
299
323
336
340
265
379
205
377
273
334
311
322
380
285
274
302
276
280
294
311
327
334
307
226
376
370
374
295
364
317
257
311
267
368
300
353
303
323
341
309
272
282
376
420
308
250
279
264
254
322
360
275
406
333
319
344
280
242
312
303
345
306
332
335
330
366
336
282
369
345
281
255
380
349
282
235
303
290
290
350
394
314
327
305
270
364
373
315
359
356
286
241
325
351
373
314
332
329
265
349
225
367
319
323
336
317
380
302
301
266
336
302
270
236
326
312
284
357
285
348
299
257
255
273
365
345
318
384
298
374
347
332
315
307
304
325
327
282
243
333
342
279
344
259
319
262
338
358
258
352
388
292
398
319
394
342
316
314
276
377
293
320
259
350
313
281
387
350
280
381
360
325
252
335
289
285
311
325
374
340
251
287
351
286
316
308
298
422
332
287
298
419
342
322
309
313
315
220
269
243
349
250
216
248
316
380
326
375
377
363
286
429
276
259
306
330
381
341
351
343
349
358
260
385
246
338
313
273
358
377
319
265
330
313
395
237
336
315
311
292
232
283
307
324
308
293
259
326
323
292
335
321
271
320
322
324
222
335
372
290
187
411
282
287
351
321
319
317
324
344
367
391
293
325
357
294
273
300
298
358
228
208
234
250
265
360
330
338
371
351
343
269
263
412
345
223
326
356
263
302
334
238
190
302
358
332
347
438
360
304
330
367
330
341
308
324
336
329
313
309
293
302
408
342
280
289
290
339
331
256
283
252
358
271
345
302
345
380
360
274
341
268
378
335
291
339
276
228
354
247
326
374
334
333
357
289
293
317
295
241
412
273
250
359
303
369
239
290
328
275
283
313
318
325
239
275
362
300
364
314
275
330
322
235
377
392
252
349
374
291
356
255
230
334
357
354
201
296
283
258
326
315
376
286
351
338
344
257
380
354
361
315
392
352
351
317
304
361
298
281
308
303
332
218
390
324
336
300
348
293
320
206
280
325
335
305
306
226
380
301
307
295
310
317
296
311
341
330
328
312
401
317
344
343
319
399
237
293
356
231
296
205
373
296
336
331
306
435
250
408
271
375
421
231
331
265
356
301
198
400
380
351
276
352
295
342
341
355
251
285
302
312
376
322
347
365
405
230
333
390
340
339
369
381
313
271
260
305
334
346
254
266
364
308
300
335
290
349
257
258
289
359
369
279
376
317
275
272
219
334
288
309
267
332
359
302
296
308
257
278
373
292
360
337
354
200
280
323
248
318
435
308
294
264
310
346
340
354
335
294
295
248
285
265
337
359
249
294
315
255
337
287
255
296
323
328
344
331
315
273
319
320
288
306
338
339
214
316
387
364
366
258
381
347
365
302
337
345
334
355
357
253
316
341
396
287
278
291
308
273
324
307
304
418
339
263
312
315
349
324
346
382
293
361
344
343
337
324
345
338
365
363
366
325
328
347
350
252
363
407
275
350
339
353
347
304
339
359
270
375
294
290
360
364
323
312
358
297
314
336
322
287
370
276
293
276
291
336
364
303
347
232
377
342
330
421
355
373
279
325
367
296
288
238
347
283
230
299
292
290
299
281
340
300
211
323
288
390
245
300
284
382
272
372
276
265
191
284
316
234
409
271
326
314
321
261
348
339
265
370
227
318
324
323
287
296
290
301
292
343
362
329
276
336
343
352
303
304
273
308
329
401
307
314
291
306
293
375
292
273
316
350
299
320
366
311
359
373
396
290
399
387
339
260
351
310
365
269
362
323
254
399
298
302
436
318
350
272
305
335
277
318
286
270
270
350
324
309
287
280
245
331
397
310
277
249
312
376
192
323
268
342
348
265
297
334
261
251
333
424
282
304
323
281
302
226
330
351
320
274
397
283
345
365
363
336
370
292
326
373
402
348
321
340
284
264
398
338
254
351
376
367
331
324
246
266
340
316
352
247
371
201
324
313
325
323
382
355
362
348
308
336
228
303
336
353
287
303
347
309
262
326
345
239
259
336
288
319
303
247
370
285
264
276
309
258
318
183
322
268
260
248
278
267
337
365
375
277
269
332
279
357
196
290
301
286
323
243
333
367
381
290
345
315
288
389
327
300
251
332
300
236
297
247
312
225
284
308
297
291
222
322
243
379
301
370
355
349
277
340
272
357
297
283
329
290
322
243
313
317
265
323
268
244
313
315
346
308
207
306
319
315
203
367
210
367
366
381
300
381
329
373
344
360
331
334
323
298
337
310
277
295
362
334
257
371
359
308
369
210
281
407
330
254
309
316
379
365
237
315
278
327
330
219
307
275
283
300
372
326
251
370
298
411
343
284
280
323
313
368
344
318
335
214
366
335
317
385
337
242
330
326
287
297
320
331
298
360
359
363
282
372
326
353
335
321
251
320
336
271
354
332
312
275
294
288
249
323
272
285
305
306
349
255
325
248
405
361
377
268
292
259
288
348
330
306
346
298
288
228
351
267
285
382
299
268
326
359
357
281
291
352
403
286
300
282
366
387
318
299
341
292
289
315
332
318
344
191
264
273
345
336
387
269
371
377
341
268
370
283
310
297
281
324
302
280
308
287
288
329
309
281
427
365
303
241
281
324
402
374
345
353
275
366
248
322
350
285
270
381
345
278
267
283
302
413
384
357
278
344
365
301
271
202
311
303
278
286
368
273
320
313
369
329
300
282
281
346
307
311
233
287
327
348
385
333
320
386
236
281
361
295
244
292
398
309
341
274
354
273
310
251
259
341
397
309
368
402
320
359
342
410
343
331
328
344
310
332
341
353
343
389
273
239
396
261
219
334
306
310
306
277
277
282
387
268
330
399
325
287
244
339
332
307
302
300
382
320
311
336
310
380
306
325
372
350
256
282
298
346
309
372
326
304
344
277
384
373
210
333
334
321
204
408
394
354
341
312
382
388
364
275
330
285
277
279
313
330
305
358
291
322
373
373
284
236
304
387
322
308
302
347
319
303
409
346
332
368
365
290
403
179
347
280
296
220
264
277
412
359
322
314
338
298
328
275
269
319
351
317
352
269
345
349
367
355
315
295
284
320
334
288
370
333
344
369
296
312
313
413
280
366
364
382
253
327
336
278
326
354
289
279
298
290
324
345
336
350
271
312
354
402
284
276
356
268
295
318
310
306
344
256
292
354
306
330
289
335
354
370
356
314
297
380
339
326
324
223
314
309
293
290
293
396
315
350
308
322
354
286
291
279
387
344
341
301
371
417
264
311
227
289
241
273
367
369
344
342
335
266
332
266
243
348
319
281
290
336
384
266
282
313
282
316
293
287
295
317
351
287
257
387
286
319
385
318
310
305
341
259
319
295
382
254
382
435
281
354
324
292
335
276
364
311
305
286
362
340
304
276
360
336
355
307
358
298
339
273
307
409
313
367
255
301
287
270
331
275
316
288
353
326
262
295
269
333
347
307
297
376
388
348
345
348
316
340
319
294
305
232
337
343
338
340
366
333
331
277
342
353
336
294
364
242
306
273
286
377
351
284
331
284
317
310
317
224
336
327
281
386
354
327
251
278
355
316
246
350
347
333
320
263
278
253
377
358
305
458
331
300
355
292
315
327
303
352
325
363
282
320
311
290
308
243
319
325
324
336
353
305
360
350
305
196
362
241
364
356
305
256
337
385
295
274
302
325
285
336
349
330
378
341
357
312
293
374
317
346
361
230
303
264
327
386
249
284
236
380
293
353
336
209
287
290
336
364
339
285
328
412
302
291
278
384
269
291
344
330
328
374
286
389
287
350
384
294
324
354
387
317
322
323
369
321
364
328
280
342
264
351
312
375
369
294
337
321
350
338
348
306
228
303
320
279
324
277
334
249
335
401
335
262
277
328
281
325
338
324
368
270
290
340
201
383
394
301
335
295
303
277
393
304
275
299
311
331
341
368
320
332
345
317
313
388
241
224
323
359
379
249
237
292
323
370
257
353
274
301
293
347
321
368
315
335
323
279
301
346
378
296
300
265
319
305
256
318
265
339
318
292
246
292
215
321
321
338
403
329
254
361
304
268
274
283
313
330
263
294
302
329
317
327
395
318
275
304
361
203
372
299
332
284
289
338
279
277
259
292
343
302
309
320
366
235
318
355
315
294
332
329
402
294
399
345
350
317
305
391
284
336
323
275
333
308
294
340
328
329
308
367
346
224
198
335
434
273
278
383
383
284
304
277
270
365
361
294
303
409
333
399
369
344
302
393
312
348
372
379
255
251
303
345
308
364
194
217
326
306
339
219
303
215
320
272
377
237
336
341
318
345
338
289
369
261
305
310
366
265
410
249
322
344
341
239
333
300
264
356
287
327
385
413
361
358
227
364
264
319
385
408
303
418
320
272
351
266
264
283
300
291
399
329
343
341
308
304
256
282
327
206
262
353
244
331
330
316
217
250
268
282
280
281
375
430
288
319
310
414
332
284
273
409
331
271
284
307
309
342
368
274
369
242
329
339
337
224
275
337
324
372
285
356
311
305
354
333
331
331
324
330
264
291
230
364
316
297
302
401
395
363
392
369
331
266
238
370
411
372
352
330
290
313
342
290
292
330
308
325
296
344
289
305
243
388
311
271
304
350
267
349
327
340
354
305
321
275
378
332
266
275
297
250
374
337
354
319
254
308
360
329
262
284
275
278
306
309
291
339
257
328
334
216
246
299
355
281
268
332
266
249
310
314
303
388
309
315
329
299
339
308
234
255
296
279
307
325
389
237
272
342
284
288
404
375
350
303
273
304
230
420
416
281
274
317
349
446
356
327
320
422
355
337
320
269
258
268
313
366
336
291
314
354
368
236
284
338
352
297
287
325
393
273
372
331
270
368
349
330
381
347
289
321
290
334
361
285
312
366
250
353
269
327
290
392
241
349
311
356
347
289
320
389
203
306
259
393
287
359
318
351
279
366
242
364
264
299
294
257
367
323
346
406
335
288
330
226
249
335
312
260
280
272
301
388
267
355
366
311
295
242
230
273
347
267
362
354
330
240
328
307
355
350
262
355
307
331
320
265
278
313
340
360
295
335
320
287
265
272
325
300
319
306
347
281
348
294
330
348
320
277
379
409
387
302
312
298
314
262
317
276
289
328
266
335
245
359
221
348
288
302
338
245
276
373
324
291
270
291
357
340
367
412
264
252
328
302
355
294
269
291
289
319
351
349
294
322
375
288
308
363
291
276
353
261
240
361
308
332
299
276
215
294
390
271
304
362
383
369
388
309
396
276
336
289
356
308
270
343
288
320
370
246
331
247
290
278
335
250
368
265
318
303
308
320
323
282
342
334
320
332
315
357
271
373
328
243
305
261
282
359
321
304
267
316
397
318
369
276
333
315
384
312
340
294
412
258
350
276
334
247
279
322
336
359
285
293
292
337
309
415
327
296
318
335
419
309
331
252
296
411
300
302
298
330
341
340
244
303
294
269
311
346
325
364
285
300
384
332
354
323
252
344
319
303
361
311
397
282
281
283
274
321
272
302
291
371
304
317
332
356
284
360
327
376
314
337
332
318
398
257
239
373
302
261
330
362
316
351
293
347
319
422
291
276
345
252
320
353
303
342
306
300
388
290
347
310
256
296
263
316
356
295
339
352
321
252
349
350
358
329
341
273
273
340
348
297
366
316
386
348
346
273
345
345
301
427
118
422
232
359
282
251
316
291
325
310
251
306
377
284
302
353
304
329
299
341
323
237
345
324
258
332
297
345
321
370
288
322
333
274
291
302
348
325
389
402
355
425
347
260
338
272
286
280
303
258
353
300
270
255
310
271
365
349
330
273
408
320
306
306
334
347
345
299
261
267
319
363
354
252
258
245
296
359
292
272
349
375
339
316
403
395
279
350
263
334
385
298
327
319
329
272
373
314
349
293
271
301
313
287
340
424
259
251
415
301
325
364
334
299
314
337
160
349
309
303
271
311
266
349
362
363
278
295
306
275
402
359
346
279
297
308
305
253
246
351
404
350
226
303
288
354
351
289
350
270
333
355
344
262
350
283
324
398
302
319
323
364
306
324
343
277
320
352
344
281
348
383
251
294
393
342
296
360
337
266
374
300
392
247
327
303
256
285
350
317
337
323
311
305
340
373
334
314
295
338
292
342
350
295
344
308
293
303
275
292
238
204
376
267
284
344
312
312
274
358
274
344
337
315
349
378
314
301
288
313
337
279
332
315
290
271
318
335
297
387
328
323
345
304
321
389
342
301
402
298
274
298
365
263
333
390
296
241
346
306
415
326
245
298
263
357
262
366
329
365
372
303
316
323
328
351
306
319
284
328
434
301
336
345
378
290
344
247
310
277
294
359
300
313
344
302
283
293
315
326
336
296
255
316
272
264
291
335
316
332
275
360
364
263
363
372
223
378
346
327
279
271
380
354
312
261
280
333
374
311
268
322
275
351
273
271
308
286
276
258
255
347
385
290
338
326
324
350
284
337
324
245
367
369
262
320
287
260
407
216
292
271
327
288
305
338
339
238
337
410
321
382
296
299
314
233
320
339
307
341
335
401
318
314
311
302
260
368
380
304
311
313
257
315
343
277
350
288
275
334
353
338
391
260
373
351
302
381
344
370
328
346
304
392
317
306
289
324
275
276
278
321
305
363
313
235
342
390
225
307
318
282
315
310
357
274
317
337
366
337
326
273
295
319
311
333
271
308
366
254
360
285
313
322
315
263
303
343
260
397
350
280
289
315
409
346
312
253
330
304
236
287
260
281
308
365
298
323
347
352
351
352
386
339
280
351
183
257
286
305
306
289
303
323
331
287
300
254
215
367
349
301
324
320
279
254
330
298
349
338
275
323
292
381
325
356
306
274
237
366
279
350
381
352
271
368
344
304
297
312
316
331
282
253
261
267
296
364
311
330
294
254
264
333
289
297
321
282
332
369
383
333
327
295
394
323
350
338
323
260
334
369
385
334
343
408
364
355
405
379
199
297
385
355
272
277
297
300
277
289
300
342
320
293
284
332
225
355
319
261
305
329
344
365
379
291
353
345
361
322
340
308
356
324
386
341
319
366
278
370
315
315
330
318
291
364
353
230
333
346
328
240
265
368
319
250
317
241
232
314
284
360
291
328
316
277
256
303
327
282
345
408
314
358
310
280
281
351
309
278
307
323
227
304
298
297
383
341
359
338
320
324
331
345
318
279
265
351
324
283
347
287
288
324
303
325
220
240
253
298
291
287
325
242
294
287
310
280
359
258
332
284
346
317
286
355
296
333
387
421
320
343
221
309
378
372
409
292
414
328
306
309
274
189
305
349
282
301
313
295
378
392
269
285
353
300
326
299
276
330
358
361
368
295
303
291
238
236
269
302
309
271
308
290
369
268
275
328
271
335
306
280
313
374
317
273
285
371
306
321
353
306
451
268
369
377
266
337
314
328
323
346
335
364
321
332
264
354
255
348
313
290
434
264
329
405
352
249
355
310
384
285
369
340
263
320
291
295
417
280
301
362
235
267
272
334
270
286
355
304
356
311
280
330
342
338
308
317
326
286
237
347
367
257
340
183
281
320
273
398
301
381
377
275
279
312
266
378
232
325
261
306
375
258
237
210
268
349
383
376
326
237
310
314
378
347
293
319
354
325
359
322
288
296
321
316
357
216
312
308
337
310
301
379
304
307
283
236
323
388
303
299
306
285
355
278
295
285
340
369
355
290
249
342
394
300
297
356
357
262
301
240
278
294
234
322
294
335
367
368
307
393
344
363
384
302
315
311
390
288
312
362
362
378
332
284
247
353
277
304
318
362
336
361
333
312
318
283
377
313
320
336
273
342
292
373
278
339
355
280
265
226
341
293
331
324
303
326
383
343
317
329
298
285
368
387
374
305
311
308
301
227
285
335
305
309
415
323
300
348
332
359
329
363
325
364
315
289
345
304
279
291
334
275
334
239
322
366
358
286
303
354
364
388
364
337
279
308
275
326
229
344
317
355
261
289
321
332
334
344
345
240
264
404
358
334
247
382
331
256
352
324
379
375
348
313
357
296
368
339
354
263
352
219
256
327
308
312
265
348
310
276
310
277
263
391
345
313
324
313
347
271
298
297
342
274
279
299
304
325
380
278
344
310
377
268
345
314
336
286
333
330
321
373
326
271
301
329
343
339
254
333
290
271
226
318
350
335
357
268
331
352
356
304
296
307
324
299
302
268
330
307
285
265
363
225
381
302
341
340
349
330
304
274
352
293
277
406
348
246
277
324
227
340
311
277
277
209
365
267
387
376
246
337
344
311
360
368
326
327
318
165
349
382
339
307
309
312
407
305
347
291
223
282
320
336
258
323
290
398
326
254
339
305
308
259
309
313
313
274
282
284
320
212
310
299
267
280
328
362
341
288
341
399
322
380
286
356
285
213
255
267
367
353
349
381
298
292
369
393
247
325
352
271
324
365
357
279
333
309
282
389
288
304
407
366
274
357
247
357
362
262
296
365
387
403
387
321
294
279
291
433
258
238
359
325
279
312
370
315
287
328
402
281
272
376
259
308
312
292
265
317
311
285
306
291
349
330
248
300
404
318
263
245
261
296
249
276
359
337
291
351
355
385
380
294
357
326
312
341
259
283
224
327
288
366
258
319
354
310
344
380
234
327
238
326
236
313
294
365
272
361
330
283
249
365
371
311
318
330
281
321
379
358
269
366
248
310
250
315
390
303
343
329
286
292
297
362
392
287
378
325
286
296
338
323
367
211
236
317
232
281
323
312
333
262
350
275
251
411
266
362
316
296
244
265
323
341
352
194
261
287
392
308
293
308
301
359
344
304
323
300
329
263
363
246
185
298
329
362
258
304
283
287
359
318
307
394
406
306
314
350
247
231
390
296
306
292
404
351
382
311
378
360
393
216
231
291
360
310
319
277
262
267
223
275
348
278
298
289
318
304
354
271
332
388
274
277
334
296
318
378
247
333
281
228
245
317
283
356
282
304
357
298
391
300
260
349
381
331
347
338
286
399
268
349
290
353
299
337
273
297
237
360
298
381
378
298
293
350
298
228
298
374
241
313
231
290
246
339
289
323
351
324
290
306
295
369
236
331
294
302
291
236
310
357
283
339
249
333
382
346
334
292
342
269
360
330
255
325
338
301
322
401
294
316
246
414
293
287
253
277
268
323
353
327
276
375
390
357
364
324
293
282
380
318
386
386
358
277
283
288
353
313
311
381
383
269
271
295
197
309
327
279
292
300
394
343
368
334
241
361
316
315
270
287
311
321
328
346
259
264
248
346
320
263
271
384
298
294
337
280
219
246
336
330
339
324
298
239
210
375
257
331
404
348
370
331
320
287
320
251
288
280
330
246
354
353
298
402
235
331
261
269
380
339
276
381
251
273
350
234
307
278
284
321
324
251
309
350
272
378
279
224
312
341
301
379
312
302
338
282
283
305
375
260
237
301
312
292
371
367
256
394
254
334
333
360
322
320
295
301
276
269
284
360
315
294
290
286
183
357
333
264
349
340
313
296
333
216
330
256
302
286
216
348
239
284
347
284
278
276
269
304
287
282
228
277
285
308
297
279
303
369
312
340
381
275
415
288
268
333
231
282
318
318
321
350
280
296
403
354
307
362
304
333
343
246
364
344
297
273
322
294
296
312
352
261
274
233
363
257
331
214
279
268
290
310
312
344
340
362
251
313
326
224
285
320
312
354
333
299
352
311
254
275
394
330
267
284
249
259
306
285
422
413
400
297
306
300
328
365
362
311
325
302
291
288
332
284
315
355
388
321
302
242
357
321
341
338
285
303
269
277
174
291
314
306
315
291
349
302
354
332
369
312
303
390
259
263
367
294
389
295
284
405
291
264
340
275
362
334
281
289
315
337
336
354
316
281
336
301
295
319
255
319
357
352
247
348
309
301
257
342
394
333
301
319
300
388
295
348
310
270
338
428
356
245
297
377
293
363
319
289
316
317
350
341
364
327
399
359
261
316
276
346
361
281
216
329
299
255
411
272
320
381
256
257
353
331
306
349
251
334
323
275
427
364
292
356
373
273
260
378
391
299
316
314
256
330
395
314
342
397
312
284
198
322
330
348
327
260
310
229
349
326
355
338
311
285
341
324
290
308
279
353
309
275
343
370
280
367
365
340
309
337
327
335
316
293
373
185
360
285
314
350
334
333
351
317
322
232
281
223
293
391
280
400
237
293
318
405
323
395
393
249
303
291
239
279
264
342
316
256
271
286
376
343
336
311
375
372
359
237
273
272
400
351
361
259
265
259
313
392
350
430
319
388
379
346
252
384
380
371
393
255
363
291
332
323
278
281
267
317
348
319
352
396
259
317
349
232
274
292
288
320
308
333
335
336
238
305
325
253
296
282
334
347
298
334
311
304
325
346
309
262
321
245
380
306
342
302
308
326
238
348
329
308
314
277
315
315
290
322
317
370
278
350
297
264
352
291
270
351
332
346
329
290
342
350
327
324
270
373
340
310
343
330
304
288
322
294
337
236
281
259
324
328
354
317
344
365
359
398
362
295
342
372
274
310
332
280
297
390
350
358
294
244
247
344
348
361
385
349
271
298
301
279
335
216
304
349
301
376
355
417
375
327
370
393
233
339
318
291
261
282
331
353
332
419
343
355
252
316
367
378
284
269
297
256
323
300
254
290
288
320
367
317
280
317
342
356
265
305
357
285
400
273
282
273
299
253
326
371
294
290
278
305
334
285
353
249
348
295
273
382
335
409
334
408
398
276
291
251
310
280
301
255
303
238
304
220
232
325
355
311
331
267
340
333
263
280
338
305
354
295
372
346
264
250
351
320
309
256
296
377
340
298
320
315
349
361
335
315
292
270
312
285
291
402
232
356
300
312
372
277
263
270
360
292
290
319
303
306
299
259
269
374
291
366
322
314
276
323
301
243
386
317
241
299
288
294
307
233
381
307
218
331
330
378
269
367
293
199
337
321
292
331
180
349
289
225
396
319
280
267
319
315
389
308
400
366
313
328
336
279
321
365
372
370
328
260
350
367
308
299
251
241
268
323
236
248
304
294
368
350
321
337
343
321
277
307
371
325
305
326
359
337
328
282
333
197
314
354
429
307
349
266
279
316
279
312
352
402
240
309
322
217
367
322
358
213
240
223
251
374
261
383
290
304
311
324
307
347
298
331
275
331
367
276
299
281
349
313
359
343
248
210
401
265
233
303
277
300
318
336
327
345
311
276
347
319
390
387
296
296
376
314
355
360
303
274
263
253
332
338
297
327
299
337
347
338
353
279
343
330
342
340
348
357
268
376
251
238
360
338
297
382
346
253
360
302
277
270
271
373
336
399
322
293
311
376
290
311
355
358
335
325
285
293
315
307
234
363
276
331
275
275
316
369
356
341
310
246
313
368
259
278
311
346
308
280
310
311
238
285
296
276
279
382
401
325
356
287
329
290
331
309
343
312
322
324
270
328
287
340
338
339
249
284
298
232
331
259
323
276
386
352
359
234
290
357
287
375
295
292
407
327
204
303
289
308
350
272
353
353
297
404
275
266
381
336
298
275
329
327
315
329
230
355
354
333
338
355
354
294
267
329
309
258
307
318
212
266
307
337
316
310
336
280
330
305
323
344
402
329
296
396
247
294
245
293
418
307
271
286
358
340
300
332
306
326
329
364
375
321
356
263
359
378
302
316
302
372
268
386
277
310
298
301
342
316
268
250
345
269
343
307
368
256
249
224
365
284
274
339
257
265
294
330
372
306
314
381
301
286
322
293
301
311
232
259
330
358
322
289
259
298
354
288
339
290
348
311
355
339
362
305
346
363
321
356
341
317
288
261
374
321
332
303
338
271
303
345
270
441
336
334
252
364
307
279
272
337
364
325
345
244
286
300
339
356
275
321
246
265
265
370
267
283
403
351
362
352
366
270
364
305
287
352
363
291
300
360
311
339
310
358
279
322
337
353
313
406
186
293
257
288
312
201
262
321
260
307
385
314
257
199
325
347
345
370
258
274
361
303
290
260
384
285
342
376
367
314
375
344
362
216
329
346
285
314
304
296
327
391
297
302
317
258
280
404
338
293
293
370
290
362
311
224
335
323
219
428
364
303
328
343
269
321
343
298
294
331
333
288
295
266
355
282
287
301
263
303
348
376
341
297
365
314
259
357
343
354
348
260
282
317
345
370
278
289
358
370
400
277
360
355
331
354
357
262
320
323
292
354
318
346
299
318
275
422
356
275
265
367
261
404
289
342
293
343
362
378
307
349
270
325
286
302
317
233
344
338
358
291
307
316
372
267
310
235
315
336
376
345
265
188
280
286
312
339
234
335
223
356
332
303
292
356
255
318
344
409
305
307
243
254
214
272
269
328
213
390
228
245
347
288
255
303
317
316
331
358
282
294
313
319
358
300
366
345
288
355
337
317
325
300
330
253
331
340
315
405
372
243
270
283
356
318
340
282
394
274
210
233
258
291
316
310
335
375
297
253
330
386
254
293
294
268
369
256
329
260
355
403
247
329
327
250
313
351
352
290
290
334
356
298
315
327
352
268
267
251
367
309
292
359
274
338
303
317
286
289
292
276
318
338
380
318
342
303
388
381
299
326
340
332
364
285
307
287
228
353
284
315
336
365
332
337
352
319
356
284
318
281
298
310
338
292
388
336
329
354
346
308
306
336
239
256
341
285
319
280
259
263
275
367
332
342
311
336
295
385
315
343
323
325
325
286
326
376
243
341
386
289
328
347
208
347
304
277
290
355
321
271
282
371
257
379
309
254
431
339
304
335
303
252
293
320
224
326
398
311
324
379
302
314
324
276
360
320
285
348
268
283
400
374
358
353
336
290
400
312
391
319
264
323
310
380
367
346
358
291
404
362
371
306
264
287
319
364
335
301
261
334
393
364
296
302
335
306
288
288
343
415
364
319
350
393
320
260
363
266
385
303
337
315
269
317
275
322
388
277
278
294
325
326
265
283
295
298
341
343
297
327
312
262
324
252
367
319
274
310
333
316
361
363
240
321
350
328
302
320
330
358
321
315
263
284
300
349
332
331
314
307
326
331
367
323
385
350
353
337
259
360
253
236
308
199
330
328
329
307
364
287
331
352
287
256
275
340
336
279
317
300
316
343
323
325
271
270
353
355
363
304
318
389
311
310
338
356
337
324
292
253
336
287
409
289
296
330
244
247
292
315
358
325
403
346
203
225
377
239
341
267
369
262
251
344
366
298
352
360
244
259
309
411
330
327
299
327
297
362
233
334
306
316
276
303
301
266
319
353
269
281
326
328
279
262
306
316
252
285
343
263
365
283
322
314
242
312
392
336
301
315
319
315
292
238
306
300
337
355
328
257
327
300
360
337
293
335
339
332
246
299
391
230
291
295
294
342
253
294
327
360
367
312
305
356
344
306
323
341
324
297
305
289
207
382
322
289
365
315
316
259
286
336
377
288
320
316
309
242
294
305
319
305
307
334
252
290
401
300
297
293
329
350
298
207
320
319
322
242
266
306
355
395
356
282
337
317
365
405
324
303
260
272
302
337
265
235
283
326
217
371
362
379
342
373
334
286
307
313
349
308
280
293
346
327
309
374
346
262
319
361
275
274
285
278
287
338
353
318
360
325
298
325
321
289
322
235
350
414
304
298
285
213
296
221
284
305
352
240
268
311
302
294
268
370
328
343
347
315
324
321
286
370
298
318
304
321
298
320
337
306
350
340
317
365
318
300
316
334
359
280
364
406
325
331
345
318
288
305
295
260
234
301
379
305
295
217
287
293
299
410
364
293
300
378
385
327
248
331
296
332
266
348
255
249
311
312
405
447
305
332
270
319
287
318
385
240
242
280
320
344
300
319
320
216
324
323
311
317
357
312
284
233
301
403
307
280
276
311
378
353
275
310
269
292
243
320
264
331
401
297
263
348
372
232
338
226
281
307
211
339
396
300
252
256
336
352
309
366
275
297
303
202
330
285
378
215
329
298
337
265
183
276
302
373
323
284
356
339
277
373
346
326
375
358
310
344
211
308
363
321
336
349
321
349
380
327
352
257
277
307
268
396
228
280
312
356
351
332
331
328
317
321
295
362
326
274
341
328
257
206
320
353
295
298
335
299
298
257
339
323
299
333
301
385
230
262
259
301
334
343
383
227
339
332
346
324
385
302
336
318
253
317
328
337
218
325
322
323
363
325
273
339
423
252
304
297
302
321
275
360
396
386
360
299
310
296
272
291
253
272
347
309
332
384
371
330
319
319
211
324
308
289
304
360
303
281
355
343
262
244
332
375
337
360
331
342
261
288
304
302
321
330
305
397
317
328
323
241
251
351
337
363
330
331
290
305
327
310
342
300
238
306
212
328
333
381
272
311
352
390
271
279
267
253
358
313
339
284
388
341
333
414
324
314
326
296
303
266
390
346
316
311
368
261
261
319
300
334
285
287
260
322
348
329
308
309
315
333
360
290
289
323
319
346
370
323
353
312
290
282
360
278
326
323
325
276
289
274
293
334
369
340
313
339
262
348
208
315
264
282
379
339
291
303
311
282
271
300
244
220
383
341
372
384
362
321
292
315
295
254
335
339
320
341
282
294
336
349
286
344
219
231
329
274
306
289
311
319
260
371
281
273
337
315
315
363
304
309
273
275
334
364
345
285
288
273
265
343
334
351
364
320
333
345
259
274
315
217
318
340
285
298
354
256
292
315
396
323
305
362
335
290
296
295
323
314
330
409
346
291
387
279
264
272
300
333
368
368
319
246
285
314
399
336
290
270
284
321
262
289
336
359
259
357
306
284
327
341
388
328
306
392
359
277
316
310
357
367
345
300
303
322
235
407
352
333
276
389
336
304
308
344
322
335
332
218
318
338
197
279
289
341
253
292
290
374
357
218
372
276
292
334
244
351
293
319
289
375
324
311
342
343
287
305
293
339
292
234
302
358
278
333
288
397
312
265
360
335
241
335
334
292
306
361
404
261
332
305
391
342
243
323
251
339
304
275
350
332
297
315
359
345
280
331
310
269
309
360
347
301
357
277
323
418
294
345
292
359
307
332
292
372
362
227
296
332
297
347
344
319
276
426
339
328
256
243
230
325
340
359
352
293
315
361
281
302
248
205
352
248
307
335
312
347
273
374
407
289
383
231
258
320
363
371
239
368
306
381
307
295
393
291
284
313
317
252
278
318
301
377
369
265
312
321
325
399
278
394
262
320
328
304
288
315
347
335
373
274
338
388
413
317
379
398
364
296
398
329
208
358
346
294
346
348
360
381
415
392
340
377
387
298
313
317
328
240
296
326
300
366
369
334
341
307
352
325
273
361
345
352
349
281
365
299
226
341
230
316
244
311
296
362
406
318
231
343
362
330
348
301
239
310
295
336
362
235
336
341
344
274
334
326
264
278
229
365
355
373
194
373
258
322
300
260
310
306
241
314
307
329
340
373
392
334
218
411
301
318
318
303
258
274
316
256
304
385
266
225
291
295
239
298
349
358
368
302
377
302
313
256
246
281
397
317
248
343
319
296
321
391
398
258
303
285
298
325
285
310
293
330
389
221
350
248
283
282
162
346
334
328
337
295
260
386
363
221
311
270
348
311
429
362
297
334
279
318
336
328
337
265
234
301
359
339
335
317
319
340
324
361
207
347
202
344
286
338
364
305
353
303
305
345
295
338
367
326
248
264
354
304
323
330
339
331
370
267
330
281
234
393
248
316
247
313
312
327
357
269
326
301
299
308
361
368
376
397
396
390
343
267
349
264
277
316
414
325
389
345
331
401
325
300
209
308
262
355
346
247
373
280
362
342
363
312
278
348
272
368
220
277
265
273
251
326
266
356
281
411
315
259
278
377
353
312
309
335
342
402
233
289
371
315
223
252
309
318
403
331
308
289
248
343
342
269
277
319
337
236
270
270
397
349
305
347
266
337
307
357
272
393
325
249
314
367
327
309
323
317
284
250
287
392
312
361
385
319
353
357
374
360
274
276
330
355
304
286
314
355
319
317
323
316
316
333
337
337
425
318
291
316
307
367
275
305
329
212
319
271
290
318
334
278
271
341
344
341
313
250
320
350
315
361
233
381
341
291
300
282
362
361
278
340
264
337
257
287
360
306
341
247
350
298
334
318
317
302
332
281
316
301
262
291
225
279
237
354
312
308
250
309
313
331
331
397
352
275
390
364
281
417
293
248
282
326
328
351
259
309
368
329
314
334
350
303
337
370
288
371
216
283
313
246
325
252
372
257
260
319
339
293
373
293
297
300
331
331
304
373
317
330
278
403
338
350
285
393
382
335
424
291
269
344
421
335
353
307
376
288
318
349
260
306
342
300
308
357
300
291
358
234
316
295
376
306
305
276
313
333
336
285
248
343
258
289
321
261
332
303
263
282
315
331
261
291
349
277
271
378
316
360
320
350
332
248
351
344
394
333
348
362
379
290
338
302
243
378
369
250
317
305
226
295
318
270
307
328
335
314
332
318
287
285
316
267
248
342
319
329
293
307
327
305
299
359
326
309
262
235
301
336
259
258
309
389
377
289
294
256
291
239
305
302
416
260
206
375
333
301
252
281
387
337
279
328
295
193
353
337
265
321
352
264
318
326
247
270
299
240
323
233
319
314
292
376
336
382
316
276
266
340
283
370
220
285
295
393
341
312
343
290
290
295
362
359
221
288
363
295
277
316
336
350
368
330
261
291
284
271
319
363
353
321
266
261
337
297
299
302
369
262
360
295
331
300
376
300
311
380
250
289
261
310
361
313
305
376
345
265
352
351
276
296
294
327
298
245
262
291
401
293
388
362
285
277
353
339
296
322
283
424
336
286
352
334
290
354
318
326
361
354
330
349
343
396
339
275
275
315
334
306
309
277
314
315
307
331
353
366
318
295
359
361
331
331
403
343
406
383
337
359
323
359
303
363
289
325
245
277
314
361
311
375
351
371
447
324
335
322
363
295
293
271
320
304
323
321
328
334
307
314
320
335
266
388
323
383
287
305
367
352
314
264
251
349
306
280
317
302
302
299
300
346
310
356
354
365
287
350
363
300
296
307
360
380
215
146
367
390
312
287
346
271
199
289
229
366
352
354
337
324
282
362
211
350
186
361
392
318
335
278
351
225
368
375
333
393
309
322
378
384
300
275
347
293
367
333
263
262
312
353
376
268
310
325
308
316
273
303
312
419
258
391
345
295
343
375
333
237
323
329
297
277
346
320
275
286
309
394
368
357
312
377
251
348
273
254
382
356
393
320
272
355
296
363
375
262
284
283
371
231
250
309
319
255
312
332
252
319
296
318
327
295
277
372
250
246
249
321
303
324
247
318
359
340
296
328
345
362
319
273
315
347
395
353
340
361
324
358
332
324
241
266
246
409
341
369
267
302
325
438
377
288
341
370
321
300
272
356
342
271
276
310
271
349
350
362
291
289
301
260
319
314
313
382
282
368
272
274
381
312
287
405
312
368
307
306
288
275
284
279
378
268
290
351
305
364
312
345
320
293
355
330
232
246
302
352
250
403
415
240
337
235
304
252
271
324
229
263
374
399
286
324
278
320
318
391
268
360
344
333
317
327
378
363
313
374
279
288
389
391
368
320
333
268
261
295
349
324
249
283
316
354
276
376
213
337
323
305
283
261
281
314
305
230
281
310
325
253
365
332
344
214
330
283
268
337
309
286
300
285
372
289
233
352
330
319
340
315
265
347
373
345
247
279
337
260
354
302
340
329
353
325
361
315
260
290
230
311
326
347
253
298
308
304
256
185
358
316
371
279
300
359
347
400
335
353
289
249
398
315
252
330
305
307
303
353
280
366
358
380
290
293
359
336
311
358
297
284
283
296
366
336
338
272
363
322
315
325
297
360
295
289
348
425
399
383
321
368
281
237
389
285
338
333
314
343
326
290
384
287
343
313
389
327
321
362
281
315
331
285
299
380
282
360
298
357
324
263
341
338
308
335
252
382
312
274
262
357
284
364
332
261
294
265
343
319
292
285
341
263
299
255
284
341
317
357
303
319
343
296
382
342
281
261
414
369
308
293
390
367
356
358
328
313
323
266
282
343
339
323
324
287
366
249
323
430
342
275
298
274
362
289
351
282
328
265
345
317
342
317
325
241
340
304
394
355
329
322
292
331
258
362
327
405
235
338
353
276
288
403
286
264
356
258
330
275
277
399
271
388
340
315
294
279
391
272
238
259
324
292
316
275
300
338
226
265
295
393
253
212
236
241
342
313
328
284
330
286
295
258
324
224
376
309
313
290
342
285
374
313
310
331
321
203
340
365
315
242
251
366
389
359
357
268
342
271
352
376
318
366
244
318
272
292
294
346
316
245
322
289
283
258
319
290
269
374
299
318
245
326
312
301
319
323
350
330
371
236
353
226
304
374
304
313
358
332
356
292
304
386
324
338
280
368
257
198
287
364
263
292
344
382
272
339
367
309
329
280
346
396
387
345
304
312
284
294
404
264
371
380
285
369
275
371
320
292
303
261
286
266
289
362
310
304
312
294
294
303
291
372
295
293
349
301
339
296
355
304
307
375
344
333
328
373
320
261
310
272
315
333
256
286
332
241
362
237
392
329
314
332
335
326
311
276
261
388
327
290
258
339
365
320
306
295
284
291
254
373
393
264
310
343
335
326
349
394
370
391
286
368
283
307
301
220
333
316
293
375
246
386
363
335
378
303
361
339
364
371
252
296
303
362
303
284
322
283
356
304
333
352
216
329
262
301
344
337
256
370
357
334
329
224
316
304
281
292
310
318
334
354
254
382
345
331
258
337
314
287
389
377
374
335
299
324
300
260
319
333
328
312
384
289
339
267
296
367
284
400
280
286
371
292
322
340
368
354
350
350
362
351
326
352
320
310
346
326
358
312
365
387
223
255
324
340
272
256
279
284
315
249
282
320
384
205
297
393
246
264
310
351
312
214
293
296
293
292
354
343
353
376
267
335
269
348
279
264
267
229
287
293
356
269
377
286
339
235
297
374
251
336
257
247
294
346
353
254
228
321
287
316
332
329
326
307
272
295
339
327
377
325
312
326
289
294
308
356
253
297
324
312
314
380
319
212
353
316
446
353
306
225
356
387
329
396
350
215
323
207
307
314
273
315
389
313
335
315
268
389
268
321
315
346
334
354
346
367
287
267
257
313
348
256
310
317
346
325
325
305
350
337
247
413
353
353
425
330
270
348
275
225
363
351
324
326
313
317
336
321
213
275
299
292
321
281
277
339
274
367
371
332
354
304
343
230
380
342
306
323
299
339
315
325
263
354
301
297
354
360
256
341
264
355
284
267
281
366
373
336
299
292
243
286
305
325
403
311
352
267
417
324
210
345
319
335
319
270
363
379
353
317
348
354
279
264
278
310
231
303
317
322
335
308
354
258
332
341
368
281
265
342
322
320
365
329
451
336
297
289
302
307
325
256
314
282
305
323
267
269
345
370
400
398
304
354
230
269
362
302
328
330
307
351
355
271
298
288
349
310
270
339
367
298
320
243
333
304
316
255
302
270
250
377
400
258
289
299
336
340
315
368
333
312
337
224
294
252
346
340
275
248
335
275
284
247
337
316
330
363
378
255
292
416
384
337
319
341
334
233
272
284
271
283
252
295
296
308
311
345
331
356
314
336
253
271
335
310
330
332
316
321
229
355
283
286
289
329
374
361
280
355
309
339
317
365
269
292
295
282
382
324
315
346
302
314
312
304
393
320
363
235
286
265
390
321
249
323
218
387
365
322
237
322
346
331
343
322
316
325
316
288
305
368
329
363
371
361
319
264
350
362
265
307
305
383
318
327
226
315
274
327
293
302
314
343
304
325
316
256
359
298
259
388
300
339
223
291
324
354
392
390
349
237
307
378
301
350
359
232
303
362
301
328
293
238
391
301
322
356
369
330
344
308
273
358
251
327
274
278
371
306
339
230
386
379
308
336
327
316
343
292
385
338
248
296
395
313
272
387
362
396
356
274
277
345
360
242
387
373
343
346
401
341
319
336
354
322
327
254
318
378
318
320
267
248
276
257
322
324
299
248
350
329
310
183
317
345
242
291
280
307
325
332
338
347
309
247
246
325
234
314
285
323
297
309
238
294
305
360
289
329
336
324
339
278
280
282
312
356
371
283
246
282
357
252
326
296
304
333
335
212
324
308
290
329
340
329
343
270
290
357
361
266
312
379
329
303
366
348
370
292
311
272
305
399
326
362
269
342
314
353
331
331
315
214
287
247
362
363
319
289
277
329
353
359
336
283
327
316
257
342
311
347
270
302
334
244
306
349
261
346
320
337
236
334
353
315
290
297
314
354
342
322
362
246
320
331
341
362
370
312
342
367
299
392
289
264
297
307
298
324
351
302
352
357
303
302
232
346
314
313
310
339
263
385
313
284
358
382
354
286
329
304
262
301
235
285
312
245
307
313
328
321
320
331
315
274
318
311
336
313
321
286
242
239
388
289
357
364
313
290
316
325
346
313
251
293
335
312
332
328
288
368
298
290
276
402
367
316
291
371
267
260
300
326
252
352
290
357
293
297
302
279
315
314
279
323
288
326
281
303
248
335
291
355
272
246
305
308
196
314
342
299
238
288
378
355
385
338
292
357
246
282
357
360
386
350
317
233
324
286
318
319
369
359
337
305
296
273
380
292
288
348
292
317
379
301
377
223
333
314
371
404
301
323
260
321
319
276
340
303
371
348
281
349
368
363
265
277
355
300
273
280
269
233
341
321
293
386
268
339
297
328
329
382
311
328
334
352
365
339
309
385
314
309
423
374
318
245
309
376
369
309
350
310
227
302
316
355
248
319
278
391
374
317
303
326
302
255
348
264
377
297
297
179
285
334
335
268
323
295
375
292
313
327
290
397
314
357
327
280
297
349
348
359
242
309
259
316
288
383
345
311
270
317
353
372
354
298
349
292
384
259
313
263
284
293
324
332
269
306
291
357
329
280
324
306
296
302
310
385
336
353
344
334
257
364
324
321
292
334
313
211
346
317
382
359
306
209
346
363
305
336
331
291
311
345
305
371
301
313
278
283
281
331
290
305
265
318
307
284
337
360
278
212
316
376
348
254
357
303
291
330
314
334
274
307
341
253
341
340
254
382
339
274
346
315
240
246
358
346
310
188
282
357
323
287
392
326
268
279
255
326
325
369
346
306
327
321
269
329
264
359
294
440
315
292
312
307
298
330
346
354
305
334
369
248
347
396
340
282
400
329
235
345
320
397
347
273
274
276
264
278
386
306
303
361
336
245
277
318
334
246
351
302
301
418
335
354
260
347
365
322
378
267
321
296
312
366
345
354
413
299
360
293
343
294
302
326
293
215
309
299
356
303
401
334
252
339
291
361
224
272
215
378
277
307
281
366
341
272
352
270
301
258
341
318
366
258
395
358
366
287
292
270
300
320
335
301
265
276
265
356
345
284
344
324
321
374
342
351
292
306
339
319
244
274
279
277
276
280
351
268
306
276
279
305
306
376
251
366
283
328
264
265
394
354
281
354
341
391
343
274
270
292
314
344
260
319
354
321
271
301
308
329
307
326
224
345
306
275
274
326
324
352
363
363
332
309
351
371
313
325
232
368
362
313
335
342
313
267
323
297
272
339
328
241
333
263
306
384
293
334
252
324
431
321
321
364
352
314
340
340
318
310
336
304
399
268
222
407
282
327
301
331
372
345
366
272
275
356
273
325
350
303
326
313
293
242
276
322
282
336
322
337
269
337
274
328
356
321
374
359
280
217
265
348
355
306
350
360
305
336
318
331
372
371
275
291
359
261
306
291
330
317
362
325
389
377
342
345
209
280
284
303
328
264
280
387
280
319
291
302
264
346
287
254
314
238
289
252
292
341
381
259
348
383
300
316
276
324
332
368
236
384
339
302
232
259
306
281
368
303
306
288
391
268
267
323
254
253
329
353
335
349
275
307
308
246
290
308
334
301
318
354
274
318
308
315
336
320
364
342
332
373
385
323
363
279
351
328
332
388
309
374
339
296
349
296
370
362
254
339
273
334
310
374
331
365
367
326
354
323
361
351
330
351
316
351
296
265
384
270
328
310
323
251
250
318
270
331
297
317
248
389
372
281
371
357
390
351
310
301
312
213
301
306
337
221
336
319
271
341
339
289
312
342
231
283
266
313
210
343
329
310
379
269
321
331
338
342
385
297
310
307
321
282
287
341
359
364
375
337
332
341
294
314
400
237
266
347
281
390
308
299
328
284
350
337
340
406
342
321
345
271
297
323
317
367
301
391
291
280
322
239
297
381
307
316
374
423
289
360
271
266
316
310
406
300
325
318
344
344
300
319
274
359
327
236
245
396
285
266
329
215
361
396
393
266
316
372
339
336
255
336
273
313
421
199
271
278
363
362
339
317
301
278
264
312
291
388
368
282
305
298
296
280
320
277
280
337
347
319
352
294
362
409
293
270
314
309
324
256
421
305
242
322
292
349
330
302
308
362
329
334
331
389
279
271
266
336
210
324
322
265
373
344
404
342
336
263
275
322
322
353
327
403
352
339
300
270
356
357
282
311
251
328
322
266
304
276
311
342
238
324
276
227
303
265
263
274
281
402
336
323
278
282
376
334
385
302
263
330
312
267
315
306
284
372
323
294
343
275
289
278
277
326
296
325
296
315
386
296
328
358
340
364
343
280
266
266
279
352
307
318
332
342
312
362
309
360
375
267
370
313
397
299
378
303
410
311
326
257
332
239
348
394
290
302
360
241
286
372
355
338
295
299
365
378
347
295
317
240
353
297
367
279
282
415
301
277
331
275
363
318
358
285
342
399
319
257
390
298
332
314
318
337
297
310
326
308
319
273
347
256
338
335
235
276
281
237
286
298
344
338
314
263
329
249
374
328
196
395
313
403
348
325
288
365
321
305
300
320
329
298
225
401
294
304
341
353
369
316
409
343
239
271
305
324
268
270
264
311
277
359
221
227
313
394
307
294
377
405
370
243
361
279
343
276
295
279
381
294
356
307
312
385
340
326
323
344
479
359
319
401
284
382
262
307
313
307
339
264
292
278
340
300
313
305
270
342
289
404
321
330
372
285
275
274
359
319
342
322
221
330
250
354
294
307
256
345
364
303
313
370
324
280
292
371
299
291
270
386
325
306
303
331
348
207
330
227
355
297
245
288
310
326
365
272
255
335
333
332
369
375
330
316
321
315
409
227
294
332
386
381
345
332
276
314
420
310
329
330
295
344
331
379
358
349
214
227
347
343
254
403
348
329
318
337
290
269
335
284
276
239
301
257
362
333
381
272
355
375
295
222
352
259
331
365
288
347
330
278
398
305
323
230
267
307
241
281
272
280
361
268
363
325
363
298
377
330
318
232
303
417
293
353
240
248
248
297
392
239
239
433
334
340
269
311
331
307
327
257
354
369
287
337
305
313
249
336
316
326
280
329
396
303
313
282
269
344
409
340
275
275
271
383
309
336
330
298
330
344
255
277
269
417
172
361
215
318
253
331
223
302
218
292
361
389
348
346
341
329
323
374
328
294
330
336
298
364
279
231
376
399
332
330
281
300
290
317
294
254
333
386
280
285
336
318
315
294
334
333
323
324
297
339
273
280
287
324
315
282
225
281
305
303
337
321
360
329
352
367
310
379
285
345
303
399
288
302
381
244
308
260
271
293
287
353
334
342
304
254
255
398
342
304
336
263
284
294
260
359
297
299
254
293
319
266
298
370
283
241
273
296
279
326
243
234
353
346
254
366
277
275
302
299
301
353
306
342
186
336
371
251
359
336
342
265
325
333
236
315
313
254
330
386
223
338
327
300
378
353
259
280
309
268
308
303
338
377
258
333
321
262
313
275
308
338
316
300
265
421
314
253
386
358
216
362
309
268
373
364
368
302
287
346
293
332
334
322
261
277
237
354
313
310
269
320
377
245
376
359
261
265
308
315
357
179
302
355
271
292
329
338
321
350
295
351
312
305
371
323
327
295
341
331
300
280
317
308
224
314
351
327
363
335
289
305
240
303
228
317
311
382
204
240
269
362
403
266
356
338
340
238
301
278
265
348
335
302
393
354
266
428
274
313
284
289
263
286
340
263
319
318
248
313
358
252
347
282
392
286
315
399
304
346
341
341
338
396
372
257
266
386
319
386
270
300
320
346
291
347
301
393
343
392
401
308
354
310
288
327
359
273
412
364
343
258
354
326
323
349
267
389
269
391
286
280
330
325
327
257
324
272
311
347
375
324
372
271
329
324
388
249
286
348
330
332
347
359
357
380
260
270
301
290
341
349
277
280
402
330
232
265
359
362
299
345
343
290
322
330
311
332
224
341
236
262
340
311
295
236
297
275
271
236
422
285
200
382
376
238
384
380
276
250
342
357
286
263
295
280
365
382
231
403
301
286
276
245
275
339
305
319
371
308
310
333
323
327
294
345
390
351
410
411
321
341
339
323
324
307
210
230
298
307
353
342
314
296
335
397
322
359
270
289
286
346
278
257
244
328
183
306
277
382
355
316
327
321
373
262
380
320
297
342
253
346
373
290
360
356
346
330
267
360
279
292
261
291
210
199
321
374
356
322
318
305
370
349
251
257
339
287
315
335
350
328
325
314
283
327
256
361
346
269
292
403
284
272
375
288
316
356
267
350
291
334
318
289
278
311
304
315
305
370
301
297
338
329
248
322
307
316
265
299
330
279
266
241
371
305
334
382
275
384
358
370
394
319
296
346
331
328
288
184
293
297
330
242
367
279
267
290
279
331
395
259
285
336
321
289
334
335
313
337
347
326
293
351
424
294
270
202
338
323
248
274
284
304
292
317
367
367
329
406
287
291
333
340
337
329
365
351
329
387
387
256
305
304
313
264
360
372
319
291
363
243
295
279
301
371
286
282
391
283
380
333
373
307
363
319
257
360
315
309
293
221
299
208
376
336
294
358
331
328
320
338
291
344
372
257
325
317
335
306
276
332
314
333
332
332
281
371
297
298
350
325
383
311
239
259
270
261
359
333
331
264
343
385
308
336
269
295
269
342
362
276
255
268
322
284
329
350
266
336
302
292
308
317
280
324
376
300
307
343
349
353
374
178
315
381
278
347
241
406
360
254
256
368
306
297
344
316
292
377
391
355
374
275
384
314
337
265
302
329
259
250
294
335
348
264
331
255
367
310
286
332
352
248
408
315
326
263
319
245
346
272
414
305
302
359
334
317
352
293
352
299
287
349
238
340
359
301
356
316
316
314
317
363
394
209
326
316
276
324
329
362
307
368
274
366
327
275
265
330
301
320
277
332
283
321
392
299
289
325
307
358
303
291
252
283
306
295
275
377
386
234
299
276
267
347
308
274
302
376
302
382
333
309
303
281
264
294
259
280
403
355
293
329
300
297
292
328
313
323
280
330
338
283
329
238
277
371
337
323
303
239
345
290
302
296
310
325
373
378
410
337
363
314
333
316
323
286
280
312
219
357
346
372
299
318
390
335
314
305
298
316
389
300
273
341
350
302
306
300
300
400
294
316
384
262
314
326
310
323
285
281
306
356
375
253
359
307
314
285
272
331
362
286
333
197
296
296
272
362
388
327
327
344
331
338
356
375
372
273
333
354
270
356
354
350
317
376
269
241
337
407
291
349
429
320
264
326
301
295
294
305
308
345
288
259
413
337
263
343
322
350
285
351
372
278
330
409
293
251
346
324
323
368
305
301
283
281
323
262
325
396
339
251
271
369
352
293
376
270
241
396
273
343
300
345
283
348
221
260
321
307
332
343
301
288
350
275
273
325
292
196
369
264
250
216
306
336
273
246
346
385
363
365
315
346
240
363
317
342
326
319
268
367
353
319
276
282
312
376
327
284
369
409
256
317
275
320
316
323
297
329
327
295
363
286
336
323
361
348
324
343
294
264
303
353
337
348
362
272
361
302
250
357
280
377
342
310
272
280
397
336
294
353
267
389
274
295
264
321
307
401
331
265
283
345
295
284
295
264
327
351
261
284
306
277
347
324
284
350
329
374
354
359
196
361
350
312
264
274
369
364
271
281
391
351
340
311
319
325
316
272
375
332
368
294
329
350
284
261
271
275
374
362
354
287
381
307
328
293
312
263
326
309
342
332
338
308
302
278
312
347
344
354
365
255
345
306
253
380
254
349
288
360
238
274
372
346
321
350
310
319
294
227
310
324
267
263
357
377
367
284
341
282
254
372
337
346
248
343
238
321
370
295
291
327
364
353
416
325
342
294
344
190
273
397
269
350
383
392
365
242
299
281
232
414
269
235
280
387
336
306
291
302
436
348
359
278
328
364
319
282
377
297
290
286
277
292
357
252
317
271
335
283
327
250
320
313
377
310
333
254
294
312
262
347
225
340
347
363
346
317
308
320
352
309
332
267
327
428
285
302
289
270
289
393
364
316
344
376
360
384
299
373
339
320
237
303
319
239
328
294
355
243
241
301
207
325
339
267
308
329
361
343
291
321
320
392
302
278
261
319
286
298
237
333
419
295
297
252
368
354
286
281
291
309
274
351
325
267
280
393
363
252
337
255
307
271
317
276
310
257
315
360
269
339
398
284
395
256
340
256
282
274
276
297
360
352
343
299
325
390
407
401
276
350
319
272
350
337
335
289
311
411
321
373
267
386
265
286
384
165
331
389
278
311
278
386
337
263
305
268
266
425
304
317
261
266
319
374
196
369
349
379
345
352
242
334
334
341
257
319
342
353
277
262
222
314
353
285
336
339
325
358
339
254
362
261
353
312
336
284
292
357
344
187
322
339
382
362
303
364
323
315
332
357
324
363
309
340
300
311
308
367
341
383
303
296
359
224
243
347
377
335
306
291
274
311
349
260
292
318
308
365
363
358
342
341
383
308
327
309
338
376
279
279
352
345
285
297
321
379
326
322
324
290
252
311
304
323
269
416
325
327
318
251
345
263
339
337
356
353
337
377
303
284
337
300
373
317
240
401
278
322
295
319
336
327
273
311
277
256
255
290
305
387
267
381
332
306
344
327
356
308
346
254
334
404
330
291
275
328
407
390
307
328
342
294
348
312
293
333
290
296
360
333
247
344
388
290
295
369
394
267
284
366
279
256
269
242
255
278
354
338
303
306
374
370
289
225
319
269
357
282
334
289
249
285
360
349
300
252
328
324
364
212
323
271
323
323
304
317
417
349
354
304
319
295
288
226
302
288
283
361
353
393
304
301
311
335
335
351
306
324
369
284
247
323
288
280
308
309
373
299
309
339
359
285
289
299
272
282
315
261
320
273
271
328
326
193
323
331
319
288
395
360
267
288
355
302
252
325
307
239
319
261
299
267
317
275
236
360
281
368
369
309
355
377
317
263
339
310
333
238
265
376
378
311
179
272
351
274
321
240
315
236
256
350
387
322
339
409
276
353
402
181
308
211
302
375
373
168
315
323
309
269
325
252
286
295
291
312
341
225
407
228
339
344
284
358
332
240
251
395
332
337
377
314
324
342
340
366
329
310
268
241
213
366
313
370
408
293
261
315
283
328
267
390
350
359
258
336
310
362
279
252
273
310
424
228
320
296
316
328
375
348
295
352
282
323
380
240
280
235
271
373
328
344
318
278
386
321
342
370
345
340
365
399
299
366
307
313
381
308
216
378
289
295
294
330
321
331
356
257
370
359
363
317
295
322
360
356
375
220
290
250
222
294
333
343
330
356
366
329
334
348
362
212
265
369
282
254
365
308
358
230
334
370
310
316
292
329
264
283
327
378
334
307
266
351
344
198
323
364
298
345
286
386
359
328
382
308
364
358
350
296
308
280
310
337
267
217
299
313
266
259
314
283
383
393
296
318
358
205
369
369
396
312
336
231
355
300
320
309
379
253
298
405
302
289
316
297
310
316
278
352
312
311
277
263
286
345
376
288
356
351
328
326
311
230
290
288
280
257
367
300
342
337
383
303
320
306
378
313
283
299
298
360
309
309
243
312
342
350
308
392
325
285
311
337
346
285
281
382
241
305
337
285
240
366
296
348
284
346
349
314
349
372
322
361
403
329
320
319
262
318
298
265
251
343
351
291
353
250
203
337
342
386
312
288
372
291
320
258
304
336
366
311
343
347
333
379
313
321
315
261
275
284
287
342
386
347
309
328
309
403
275
317
269
366
358
292
325
335
242
205
263
364
269
258
324
336
360
323
301
261
232
329
243
314
334
327
316
342
269
268
329
336
292
379
350
405
286
378
338
271
262
363
282
362
323
243
294
400
325
339
335
296
296
374
398
293
371
270
311
320
347
350
288
356
365
355
339
352
262
319
366
393
295
274
308
355
319
315
314
354
294
268
301
321
334
316
421
341
306
291
335
274
322
211
257
331
313
330
338
319
382
313
369
252
304
368
257
350
257
239
281
245
319
258
412
339
327
293
304
354
366
280
310
326
319
285
353
370
375
340
290
325
285
339
306
338
389
259
296
416
308
317
296
311
280
337
348
355
300
362
407
291
272
335
355
237
227
311
274
392
265
382
272
326
285
318
273
411
242
283
320
275
360
275
308
278
331
328
293
279
347
277
354
281
318
288
286
294
402
346
298
340
306
267
352
378
385
347
347
326
329
306
245
312
248
322
293
285
258
293
298
272
363
235
392
288
257
333
321
274
298
379
315
333
323
293
386
289
272
253
315
319
356
272
235
339
326
347
254
363
262
371
358
296
285
296
342
273
254
298
377
303
423
305
317
286
347
315
425
363
332
245
298
356
330
319
301
267
347
239
283
404
286
335
298
331
407
267
346
309
298
336
311
342
334
308
292
340
342
273
280
260
294
309
270
263
327
302
335
330
254
272
292
370
246
274
347
378
289
314
266
306
401
278
293
320
305
307
303
340
336
300
374
276
239
275
312
334
284
266
260
352
311
369
390
230
328
347
301
272
342
398
305
276
245
338
393
309
270
340
392
296
286
380
306
386
404
297
239
223
301
252
392
334
312
265
278
325
323
258
235
292
284
277
332
330
305
352
316
325
404
354
277
261
328
364
316
351
381
270
362
291
288
261
288
332
334
221
363
331
289
283
256
342
311
350
217
315
286
239
380
311
254
296
368
276
343
315
306
278
364
344
308
344
306
357
358
301
340
327
263
305
344
367
339
342
251
263
238
320
238
314
317
344
240
384
320
269
281
294
355
303
341
357
303
262
368
267
334
353
325
346
357
335
307
359
250
362
337
255
332
233
265
346
277
316
222
235
284
319
317
263
282
380
369
291
267
348
371
332
347
309
370
355
375
414
289
256
402
311
287
345
325
246
395
330
363
267
430
209
302
302
352
314
241
365
321
259
325
316
286
384
332
267
334
340
402
360
368
363
261
281
288
350
253
321
271
329
312
305
307
371
270
316
294
334
335
292
266
280
330
306
282
358
288
340
343
345
297
382
332
364
330
271
362
299
286
325
344
336
323
351
326
326
308
340
288
284
397
320
380
338
263
326
337
391
267
202
275
320
322
260
329
291
373
289
313
308
248
318
293
306
338
298
348
356
316
362
268
309
368
299
338
391
284
340
354
292
325
247
359
444
283
336
353
395
320
292
338
347
319
261
404
335
339
291
285
223
357
283
278
316
366
343
391
332
367
314
349
266
306
312
315
306
364
263
292
195
246
316
276
260
293
286
288
262
408
363
344
273
331
263
362
314
343
350
344
329
302
322
318
257
276
357
344
392
276
253
301
280
238
336
352
306
322
409
346
318
313
298
262
354
355
265
348
250
215
365
348
261
374
364
335
300
295
274
303
316
234
290
384
308
309
269
276
296
203
250
215
319
252
341
304
324
299
297
279
322
369
337
419
330
294
214
330
269
252
389
255
272
351
267
331
302
314
271
322
272
285
332
365
259
390
292
348
280
249
314
292
344
336
288
339
302
366
276
374
222
378
374
399
284
355
249
347
270
282
264
379
337
346
297
215
319
340
298
325
342
327
212
362
305
279
279
284
299
354
255
223
361
258
274
330
282
285
289
303
355
332
262
277
367
271
299
279
301
291
366
354
283
280
313
322
395
350
316
332
355
314
391
369
345
302
351
380
351
290
289
300
354
335
303
330
288
342
297
217
288
307
340
339
411
302
236
316
321
321
287
383
312
215
273
361
354
338
342
236
296
225
354
319
299
358
326
374
301
283
306
343
342
249
263
302
317
342
332
342
282
419
318
244
275
333
364
317
352
303
239
329
277
435
306
324
318
301
310
239
217
349
261
286
350
402
283
254
363
310
297
380
323
317
354
356
436
320
222
339
202
368
291
298
235
248
209
318
333
249
359
304
374
320
264
247
458
398
288
249
320
309
342
282
260
346
353
387
322
274
385
260
383
218
319
293
333
324
209
356
399
358
312
293
253
329
262
350
301
324
329
279
321
303
346
354
285
256
299
293
335
364
261
342
293
370
298
258
268
315
282
270
276
261
347
277
309
367
314
346
219
297
331
306
299
249
290
355
305
302
295
253
332
355
286
391
324
362
303
299
287
311
328
320
224
327
347
284
298
407
305
296
273
309
223
402
259
317
258
337
370
307
247
293
375
353
378
266
326
242
325
319
322
328
276
300
406
374
404
267
301
339
276
313
274
347
333
309
277
291
345
305
306
289
407
284
338
434
314
344
343
227
238
249
369
305
346
295
321
278
366
313
317
359
335
331
331
348
336
356
374
259
276
236
317
247
327
309
199
393
330
301
311
293
329
341
320
282
311
321
321
377
293
229
339
275
288
313
223
258
326
368
373
283
336
353
278
422
321
217
292
241
312
347
223
387
273
337
252
313
261
341
276
294
315
314
317
296
218
235
295
350
358
242
391
423
318
246
325
364
332
332
386
293
342
315
366
245
359
348
264
308
333
319
349
334
356
340
291
246
390
369
353
331
303
330
301
322
331
451
240
261
398
308
337
348
298
343
354
299
303
357
313
271
265
281
367
293
343
217
298
346
263
297
233
323
376
357
316
307
274
374
325
304
319
298
379
318
256
271
330
319
231
259
366
303
360
253
352
295
370
259
283
289
279
331
345
302
329
300
307
386
327
239
268
247
342
327
328
345
264
380
308
327
247
249
290
409
206
289
174
297
298
221
233
357
355
330
340
350
353
295
319
272
350
308
306
291
287
391
392
287
271
344
348
329
303
349
205
381
229
399
330
325
379
395
278
389
339
310
341
315
259
233
240
351
314
301
368
320
297
354
339
325
354
345
316
332
309
385
333
281
251
277
284
325
324
315
254
311
191
313
269
315
246
315
346
334
337
368
320
314
276
344
285
300
304
314
293
289
342
278
287
390
342
267
306
359
261
309
342
324
245
354
302
293
293
422
258
282
375
342
296
316
309
250
257
305
277
360
203
281
399
298
348
357
281
332
362
300
276
318
284
305
303
343
305
274
315
381
235
252
343
395
281
267
348
398
264
292
262
354
248
333
301
248
289
365
369
298
283
406
311
265
288
300
293
324
295
231
282
336
349
314
331
318
229
273
295
310
284
333
300
346
245
384
339
310
315
296
306
309
369
366
303
333
260
283
259
351
355
259
359
310
322
339
347
278
292
313
283
280
267
321
347
274
291
384
301
339
256
392
291
290
267
309
269
426
392
238
184
393
313
335
261
357
280
263
283
334
323
280
323
319
250
289
357
350
298
268
234
373
302
350
344
256
393
232
325
351
257
346
391
347
341
319
314
259
260
391
283
296
240
217
214
339
330
357
272
308
356
335
361
320
279
290
319
332
344
286
317
330
272
249
308
374
353
290
365
285
249
285
326
307
329
265
321
310
318
342
303
287
369
326
320
337
270
381
370
254
301
286
333
319
410
233
372
339
346
379
340
322
321
254
169
251
302
345
339
315
261
371
392
373
325
260
416
377
311
334
233
207
334
359
395
343
341
360
326
295
309
267
285
325
349
280
329
261
286
332
358
349
317
353
385
286
410
318
311
313
340
344
241
300
310
243
352
298
218
323
229
306
395
312
259
253
165
284
348
318
295
362
315
292
296
262
275
273
331
349
316
275
263
341
194
355
353
363
224
320
342
335
304
201
388
336
291
306
347
333
203
331
304
316
313
295
360
292
319
365
362
330
301
318
317
356
310
307
384
330
292
387
344
295
351
388
331
328
200
390
237
314
311
303
385
367
290
349
331
318
382
279
311
261
324
323
366
268
338
283
269
317
285
350
299
356
386
379
361
270
309
297
203
270
339
255
346
281
415
325
353
302
233
360
241
333
346
211
272
328
344
361
358
310
261
352
319
261
371
373
231
325
334
321
340
243
326
328
211
359
307
287
291
283
316
319
249
361
281
320
337
280
380
309
313
298
316
257
272
294
303
284
395
308
369
321
333
361
287
279
429
420
266
368
324
311
332
291
302
312
301
356
331
291
336
335
371
263
396
281
291
363
301
307
259
346
314
393
297
333
272
325
297
250
338
293
282
332
295
342
351
363
359
355
254
340
267
304
234
351
352
263
311
291
299
317
275
332
363
332
381
368
341
252
362
283
340
318
321
283
282
315
320
339
386
324
325
314
316
332
295
337
331
207
298
284
406
290
324
284
348
320
329
317
391
312
335
335
291
323
319
431
363
407
301
398
244
265
400
319
362
335
297
242
361
324
275
266
340
383
302
349
236
277
308
358
280
334
342
229
423
366
310
241
213
285
391
292
279
348
207
290
273
293
273
358
365
253
364
299
362
321
304
306
227
399
244
226
347
316
295
373
264
306
309
263
250
350
313
293
294
320
275
350
329
352
379
250
368
289
363
343
409
269
319
375
260
307
362
375
358
292
350
325
290
301
306
301
315
364
382
309
324
307
307
287
247
339
338
234
313
327
227
250
329
277
297
270
399
316
381
410
370
258
195
281
306
241
350
303
283
321
340
322
244
408
336
336
348
339
165
323
321
384
274
326
376
278
375
214
323
253
325
293
334
331
293
309
320
364
387
300
248
289
306
269
351
346
323
296
341
275
256
361
364
261
378
308
338
283
327
334
287
366
206
302
295
372
347
291
241
327
333
321
382
375
295
393
377
249
378
306
247
303
395
270
284
274
360
167
273
306
312
328
395
282
275
225
260
332
348
272
303
333
407
346
292
285
201
333
342
339
356
283
301
297
350
356
297
235
299
331
291
359
317
176
326
274
254
358
351
231
302
261
293
309
331
363
266
315
299
323
386
260
408
283
280
358
356
299
270
369
345
265
293
314
323
223
342
370
252
353
409
353
283
349
371
323
331
297
288
268
265
335
289
321
385
379
328
359
308
314
253
282
228
362
383
417
315
404
262
248
376
346
340
388
337
224
295
345
289
334
387
349
269
234
292
299
326
277
271
370
387
235
338
325
362
340
362
348
285
256
162
371
377
320
389
311
342
367
353
259
305
326
241
285
231
315
234
240
298
322
257
280
194
298
295
413
250
288
363
248
264
392
437
355
388
293
311
328
230
376
255
317
282
317
322
322
354
315
404
320
289
396
422
342
290
285
303
226
341
348
190
330
334
349
430
203
311
327
307
292
379
298
274
274
293
299
257
331
319
287
344
334
319
291
289
341
277
257
282
319
302
318
300
301
317
236
335
350
308
378
349
377
214
307
271
245
251
257
315
274
339
304
380
377
313
339
321
328
280
272
370
293
330
237
322
304
263
353
320
316
336
314
329
295
345
293
336
234
306
394
267
280
309
277
322
268
365
283
313
322
303
305
307
324
338
356
328
264
349
344
310
363
237
322
322
299
345
372
378
259
384
305
285
267
325
293
340
276
411
340
374
337
298
304
197
320
290
374
351
303
323
316
261
255
293
312
305
422
348
299
332
338
366
315
332
226
310
276
355
312
330
265
213
218
317
307
327
326
400
310
368
252
242
305
343
373
254
360
379
346
256
262
353
371
302
372
362
354
323
351
340
306
308
310
282
274
261
272
336
293
298
386
311
307
332
337
296
236
286
327
307
347
382
275
297
290
398
326
349
330
284
363
321
368
345
381
325
239
343
398
222
270
387
308
402
237
360
339
342
313
341
311
353
266
400
289
299
315
217
374
351
345
280
272
265
233
189
324
376
345
318
306
284
332
372
263
225
328
318
419
337
271
266
342
347
430
296
289
293
294
354
294
426
273
277
361
419
360
277
320
296
264
263
363
310
320
355
244
301
297
318
339
202
370
298
303
287
275
331
313
278
331
302
301
294
382
310
204
363
306
270
295
254
279
281
303
412
321
425
297
324
380
303
307
283
351
338
349
268
232
249
324
316
281
253
346
292
316
269
309
346
399
361
326
295
267
259
292
306
260
247
344
285
267
327
351
352
305
228
342
306
390
270
270
314
207
299
362
315
341
314
269
311
367
397
257
318
242
267
280
297
342
341
281
294
387
318
353
323
373
296
316
237
385
384
379
300
290
288
347
305
401
349
160
294
374
235
253
346
312
254
308
348
289
317
371
322
360
329
354
332
334
338
230
253
319
228
349
277
332
312
325
276
300
308
277
269
211
315
381
339
266
331
291
352
168
298
377
318
296
235
360
353
256
250
290
357
241
402
300
235
322
260
207
304
378
318
371
346
331
361
334
277
294
287
427
371
247
295
303
319
317
257
254
292
354
273
382
330
314
292
266
341
251
284
343
309
387
301
294
321
270
255
314
378
250
380
322
312
305
364
287
290
282
321
246
334
260
257
310
336
287
324
358
267
292
290
286
382
379
397
296
358
363
310
378
297
281
315
250
293
317
358
253
336
286
299
269
303
290
206
364
319
283
342
368
357
254
421
311
381
326
281
315
383
302
255
370
310
289
330
328
373
278
298
330
166
304
303
336
345
285
332
309
336
276
269
345
260
368
357
342
247
308
206
273
367
422
347
369
167
319
417
371
295
346
306
305
333
382
282
260
345
376
314
364
282
310
350
366
307
286
293
346
281
322
287
284
313
374
257
222
298
303
329
344
195
308
334
361
255
219
373
353
206
302
348
323
253
336
353
287
308
389
262
319
320
325
303
284
289
363
388
341
293
307
295
331
294
254
343
342
390
221
307
385
315
261
305
295
291
287
326
326
339
299
341
323
343
308
254
326
221
371
358
237
331
314
258
281
300
404
307
294
274
329
279
329
277
291
255
254
359
282
333
344
326
364
336
330
362
358
320
355
260
313
246
347
343
343
238
390
329
293
316
284
281
365
312
296
357
298
435
420
367
280
276
289
348
348
301
291
396
307
335
267
303
369
329
357
286
325
331
330
337
305
236
320
296
311
302
374
335
233
334
326
355
345
295
274
330
363
289
295
362
276
320
259
312
338
329
357
355
287
287
327
329
296
258
283
299
342
298
318
271
215
272
360
233
295
280
324
319
304
326
278
277
317
351
377
355
337
242
245
378
263
332
375
305
268
280
191
305
383
290
289
356
292
339
360
302
309
341
268
308
310
358
295
213
297
371
292
323
299
354
285
335
356
395
268
335
327
229
309
296
401
311
319
297
310
282
285
372
366
306
347
393
297
364
268
287
353
247
308
331
202
275
373
307
299
311
218
356
351
307
301
362
282
323
276
333
317
374
352
343
324
427
289
320
311
258
353
364
288
381
337
305
263
335
311
378
271
305
340
382
284
355
314
284
344
381
249
334
343
334
375
377
272
261
360
296
303
301
301
314
362
264
297
309
240
276
359
341
327
282
305
285
303
277
303
274
327
283
332
399
303
336
310
276
343
405
349
271
377
333
370
287
284
320
343
308
361
356
351
241
213
292
357
245
273
250
241
309
289
272
275
259
277
370
292
353
302
338
303
249
378
374
316
278
290
305
407
371
275
321
311
326
339
274
298
339
289
271
229
252
295
311
313
262
300
328
316
339
341
380
299
332
363
289
322
278
354
371
408
215
368
316
321
359
299
319
350
247
309
309
205
305
319
376
290
329
274
293
276
308
313
379
264
299
400
256
305
388
374
280
344
244
382
385
360
292
269
313
404
271
412
389
295
367
281
262
394
344
347
281
373
306
360
311
288
240
339
310
337
289
396
336
342
354
268
349
337
340
326
330
271
280
354
326
401
358
342
313
294
265
356
276
265
286
301
309
299
296
348
299
391
260
319
239
304
335
334
334
371
352
259
372
338
326
363
319
327
316
347
300
349
353
322
316
347
312
318
312
337
299
287
233
367
359
289
345
214
306
324
274
236
259
381
353
283
343
350
412
322
337
253
316
400
340
268
324
340
282
271
344
335
357
245
362
290
261
387
394
289
376
270
271
329
320
356
384
345
327
346
326
231
290
333
343
317
267
223
263
349
348
233
387
287
322
377
382
324
379
330
300
389
456
246
337
263
269
301
205
281
271
272
339
291
308
221
307
257
301
361
272
413
261
298
324
233
276
290
304
382
298
371
361
376
298
302
319
261
211
284
208
315
314
313
370
274
379
285
395
345
347
282
328
282
289
317
251
324
283
376
347
379
277
310
303
256
308
390
202
290
238
400
395
345
286
265
297
340
336
268
284
329
285
351
275
343
232
367
318
217
265
337
260
375
396
367
315
272
291
332
351
278
347
292
223
358
353
393
359
345
421
309
367
317
286
315
355
330
338
251
279
203
323
414
336
313
300
344
291
365
272
304
310
310
312
246
301
337
372
325
290
244
275
328
319
334
322
357
334
338
257
345
375
316
279
329
193
315
414
396
366
397
350
313
342
364
279
337
423
288
305
351
317
317
300
276
277
316
288
296
282
341
302
376
340
269
343
273
430
316
288
305
259
319
214
369
332
346
311
356
306
320
310
299
268
218
340
358
334
337
283
272
381
298
337
311
255
244
385
324
302
275
356
275
301
325
335
275
330
350
356
380
326
322
296
259
366
287
358
286
308
407
298
247
240
308
379
322
387
335
314
291
225
332
350
272
355
372
346
236
301
314
271
298
320
296
315
310
272
403
266
406
304
291
311
306
332
305
368
265
310
335
406
305
279
321
209
271
353
344
369
304
343
297
273
362
246
354
338
344
284
371
345
383
331
279
295
289
292
345
332
423
254
391
299
327
426
296
247
328
275
349
314
336
317
260
236
347
387
266
342
329
337
286
345
328
359
353
326
312
342
387
350
387
342
258
299
315
416
332
328
329
328
361
331
315
322
305
308
369
297
373
316
319
342
368
333
216
270
285
326
334
292
319
265
347
307
361
289
338
288
360
309
318
306
328
290
271
304
355
321
213
331
357
355
376
311
287
290
282
337
271
229
269
395
279
299
355
273
377
388
342
317
359
288
355
351
326
340
356
348
302
393
316
201
310
334
237
312
306
290
259
333
372
174
374
271
312
244
344
335
342
222
303
367
232
275
299
383
323
333
298
289
292
252
265
240
343
337
313
249
228
318
292
387
310
332
283
310
304
321
301
290
295
341
394
339
302
345
304
333
279
260
304
261
397
294
351
355
362
310
306
329
369
251
346
348
357
254
355
253
420
360
320
312
356
358
275
321
428
342
282
326
294
316
362
325
332
295
353
307
271
348
371
338
350
244
321
317
348
284
315
369
360
290
406
286
323
240
299
344
344
386
353
361
336
329
355
400
310
303
325
355
255
319
255
284
274
367
297
283
237
396
278
266
314
362
340
275
323
303
311
291
243
280
229
274
257
324
318
302
282
339
377
316
353
380
385
313
356
296
284
271
239
275
299
274
382
266
299
368
273
244
320
288
322
326
312
217
246
396
399
323
326
339
298
395
311
257
283
237
285
326
287
351
364
311
266
291
255
294
432
326
326
324
394
356
321
294
276
362
344
273
281
278
294
242
312
263
339
265
340
372
363
360
297
312
353
372
305
323
250
437
349
316
436
324
343
271
352
380
269
414
271
342
355
354
365
299
371
309
340
352
319
303
280
354
331
276
289
373
176
290
292
380
311
256
326
299
328
294
394
273
371
393
255
317
344
311
312
321
354
340
372
320
326
302
336
358
307
286
401
292
298
308
377
332
338
275
338
282
338
322
250
298
301
302
290
396
294
247
333
393
329
254
340
250
285
350
278
293
282
353
308
291
384
258
365
294
335
382
301
286
272
325
244
303
201
346
328
305
268
342
311
334
334
382
279
360
307
357
334
321
312
322
247
340
229
294
375
342
290
286
381
320
224
317
313
245
310
331
325
312
236
265
362
299
288
229
379
341
335
290
290
276
318
341
275
293
266
328
263
317
406
328
351
240
338
349
321
256
388
240
353
325
379
331
260
376
284
326
310
241
269
252
413
353
370
341
273
330
344
360
331
278
328
351
408
371
358
283
313
396
305
328
278
318
307
274
307
371
297
241
341
330
318
309
337
300
225
190
337
262
234
339
240
328
361
271
320
244
266
293
335
318
365
385
370
321
414
320
230
311
271
309
307
328
326
349
302
313
382
369
347
185
329
285
239
301
217
310
353
300
221
232
292
377
231
322
290
337
296
347
301
329
426
238
230
292
305
355
346
259
308
325
388
367
327
298
240
354
306
284
345
297
292
369
361
384
329
299
333
290
389
269
311
330
240
376
220
277
349
332
435
341
387
305
371
310
375
295
331
275
266
335
253
310
229
369
355
282
267
295
306
335
333
362
294
285
355
288
201
342
339
336
263
344
280
199
308
238
253
342
294
363
339
296
384
209
306
340
349
355
245
346
326
359
354
299
371
262
263
278
216
450
321
273
348
376
339
292
327
360
281
364
371
265
315
233
240
284
309
263
347
280
323
214
344
380
318
245
317
259
329
368
291
252
348
241
267
336
315
337
254
232
343
234
358
327
291
292
350
332
317
340
257
420
304
276
329
252
313
345
272
393
297
359
297
294
320
233
347
310
278
386
261
348
349
353
344
305
259
379
307
388
318
304
345
303
284
325
315
296
283
320
333
329
296
221
334
291
352
255
359
296
405
295
320
317
265
319
373
253
253
273
306
314
337
296
223
289
336
252
311
347
307
318
368
334
275
305
307
301
339
354
264
307
307
286
296
358
297
262
371
297
296
316
302
262
293
351
265
275
319
298
330
280
289
386
269
380
351
303
325
331
370
404
326
368
258
286
269
378
352
345
306
286
305
264
366
333
358
386
303
306
396
340
278
300
263
256
349
383
372
320
358
333
322
365
374
286
316
303
292
340
276
286
240
315
311
300
218
316
377
263
320
276
306
333
329
309
385
301
329
324
230
271
339
364
314
357
329
354
288
279
247
360
282
299
338
307
342
206
290
322
275
337
285
406
303
362
332
279
368
343
281
303
357
307
195
364
345
288
290
386
343
342
328
387
320
306
317
304
280
347
344
280
314
368
249
326
301
340
303
286
285
310
326
331
371
245
339
328
304
370
373
355
380
305
290
293
374
290
317
362
336
317
307
338
340
398
282
334
388
342
396
342
377
307
310
357
300
321
358
286
357
331
264
292
323
340
284
187
217
299
334
218
333
330
320
288
316
312
353
250
317
324
316
242
270
327
281
297
277
366
317
352
215
195
313
294
375
212
410
336
258
358
366
271
233
313
241
344
226
356
280
377
273
313
301
297
365
270
387
306
335
375
328
294
339
315
345
423
355
375
352
372
283
308
298
230
265
341
326
246
422
357
348
275
291
296
295
378
284
350
362
259
335
384
252
385
332
292
261
228
213
262
340
410
378
340
290
347
289
283
305
389
329
260
248
317
301
207
315
264
228
347
278
348
357
341
334
283
362
254
341
311
264
317
335
379
216
288
269
268
275
245
284
244
375
424
379
275
338
387
364
369
311
309
327
252
377
291
216
303
301
292
305
232
267
369
334
329
366
223
322
340
328
322
335
237
289
266
257
280
249
322
284
320
276
314
321
316
279
366
343
359
425
322
297
349
359
290
361
310
267
384
327
344
363
301
347
295
342
334
360
325
317
290
348
244
228
336
307
346
328
260
332
309
335
285
310
304
368
371
370
287
323
289
340
232
234
353
301
319
249
217
368
292
264
233
318
283
184
336
312
223
269
309
269
335
400
324
373
315
288
369
344
379
343
330
306
404
319
343
308
385
293
367
337
253
339
406
348
213
388
343
350
344
292
255
258
360
311
359
355
325
275
359
345
202
265
294
271
248
301
289
348
286
337
302
372
349
353
318
334
326
324
416
330
293
328
309
298
290
340
254
315
269
332
319
354
312
345
330
318
340
359
256
291
352
344
347
275
358
294
366
381
290
299
242
366
255
234
252
313
289
293
301
377
302
255
328
271
275
222
342
265
321
267
338
336
315
333
284
349
382
290
319
254
394
307
258
327
307
329
317
294
326
276
233
288
412
274
396
354
291
297
295
351
347
415
197
298
210
343
330
257
292
289
285
265
330
301
299
269
315
367
317
305
292
251
289
239
268
386
388
299
310
310
303
278
247
324
316
350
335
331
384
330
290
380
333
346
285
320
364
250
371
306
317
383
387
331
297
308
404
329
221
264
336
222
364
366
183
323
294
269
328
376
275
291
289
183
357
282
321
315
296
375
414
255
296
306
294
380
317
314
277
197
287
360
132
304
379
365
253
260
293
257
378
299
323
352
352
338
355
443
294
336
348
347
343
359
382
341
312
321
340
261
285
331
373
286
275
326
327
410
343
281
366
315
331
339
372
357
330
255
320
395
338
259
298
299
326
304
293
284
336
310
388
296
341
322
298
304
370
399
359
334
268
251
293
219
360
372
318
306
316
313
336
368
302
239
341
341
308
264
335
291
309
265
316
309
343
345
314
332
299
270
305
336
289
320
310
290
382
352
361
332
343
314
272
350
338
254
317
405
302
352
329
313
286
314
400
238
322
329
356
260
331
269
320
317
394
249
277
315
277
236
296
378
236
403
246
344
363
319
459
263
363
264
290
348
336
370
291
304
365
341
240
325
293
280
281
315
299
327
259
294
365
287
316
300
390
306
305
385
324
314
370
229
330
312
362
296
191
200
324
288
309
377
264
331
299
277
342
313
290
384
300
300
290
320
361
340
299
337
275
397
338
264
301
176
276
325
282
327
372
317
345
305
317
285
333
370
379
310
346
335
333
315
295
362
310
283
230
288
267
330
314
396
291
295
256
419
364
320
335
290
350
305
288
185
295
278
259
341
341
356
223
358
285
339
396
352
355
322
402
244
246
243
297
303
305
352
381
331
309
295
267
339
351
371
316
363
318
309
351
323
377
214
278
356
388
294
285
312
321
299
324
260
226
284
369
341
280
331
263
293
346
362
362
377
403
264
337
398
307
357
285
222
302
344
333
345
211
267
364
295
312
244
305
300
365
330
351
345
245
335
290
306
346
262
373
303
339
318
332
238
279
283
326
324
315
242
351
268
291
293
288
282
358
322
305
309
389
261
338
247
339
275
379
339
375
358
248
308
277
395
374
346
294
311
277
344
307
283
349
252
265
359
251
178
301
357
280
275
329
296
225
325
264
313
331
215
306
243
291
311
263
400
366
350
322
383
268
400
285
317
313
222
347
352
264
308
313
360
281
342
238
393
275
346
389
376
319
289
296
297
272
351
266
350
346
387
294
337
268
322
377
357
271
270
354
327
395
288
317
323
278
336
250
330
310
324
289
311
357
305
305
349
313
269
340
330
319
284
304
380
375
336
278
370
346
278
294
288
348
317
291
356
319
274
251
292
402
334
308
317
303
360
345
288
348
398
302
331
271
355
317
369
242
363
282
285
314
372
241
281
325
253
302
280
309
291
354
260
369
263
325
261
371
321
268
232
258
384
328
318
369
313
362
346
337
381
311
293
250
203
382
365
338
254
319
302
378
381
343
242
300
291
295
293
346
259
334
347
265
380
370
343
273
281
307
263
314
396
305
257
287
272
245
360
290
255
327
216
320
271
334
275
264
328
353
360
350
352
325
243
348
285
307
283
264
306
311
367
322
329
322
271
342
344
342
398
385
346
376
347
308
325
267
346
324
345
299
276
297
276
344
313
378
381
290
274
356
271
328
261
366
363
334
363
396
264
313
301
323
332
322
295
311
253
274
325
263
303
346
313
353
275
315
346
363
326
274
299
284
293
267
334
409
329
391
352
328
424
375
323
209
253
283
295
238
325
288
291
303
317
287
363
247
355
238
298
317
335
328
257
345
272
276
320
233
340
226
284
350
296
331
315
334
337
404
275
293
321
337
376
284
267
237
233
361
293
317
297
318
364
321
383
381
316
330
346
287
288
306
268
290
387
288
315
368
372
329
197
334
273
361
346
334
349
329
402
340
318
302
285
272
374
374
286
306
292
324
244
242
336
301
293
412
258
306
277
220
284
301
347
312
280
387
310
296
259
327
350
261
331
371
300
341
286
269
277
352
284
351
355
299
350
372
321
310
387
182
331
392
296
246
291
232
310
388
311
335
351
347
311
281
362
285
311
283
379
317
254
298
392
331
399
254
294
314
357
235
320
194
361
323
352
357
328
333
354
384
285
318
240
310
261
287
223
337
413
331
285
280
255
301
335
325
256
404
295
311
258
337
318
335
320
287
252
237
311
293
253
289
385
210
269
278
291
390
224
315
275
350
283
329
342
327
352
347
337
267
344
351
291
366
315
358
370
327
331
381
227
390
347
274
358
383
291
383
327
415
315
342
326
324
352
364
271
364
353
312
398
336
314
351
347
239
349
317
294
295
279
366
304
291
298
277
329
296
220
369
267
323
380
317
359
329
285
261
377
389
375
330
322
308
295
342
315
337
355
281
346
308
253
302
339
328
275
415
330
357
326
201
312
277
353
350
244
305
266
260
306
349
235
335
274
403
273
303
336
322
327
336
317
328
293
383
378
319
261
250
327
271
341
358
297
322
237
301
348
290
317
319
328
262
271
235
299
317
311
332
244
336
301
332
282
301
352
340
237
311
354
267
247
292
284
327
317
379
275
317
336
326
380
245
244
325
244
324
374
281
294
300
357
345
281
270
350
426
271
287
303
265
376
335
298
242
274
279
315
276
300
328
380
282
327
364
319
371
389
342
343
308
354
294
187
306
296
322
376
342
363
392
298
355
268
301
329
338
311
266
369
358
260
351
322
300
316
311
374
363
389
258
316
394
323
335
358
256
287
322
337
330
277
344
347
344
325
351
263
309
241
264
393
240
243
380
355
272
223
298
352
361
277
318
230
346
306
327
373
301
367
320
361
308
322
297
271
400
312
316
356
375
314
313
260
289
349
360
362
300
305
365
299
272
351
292
362
260
293
385
444
308
331
302
349
333
291
381
301
273
277
319
292
391
340
285
335
324
332
314
392
336
279
340
323
316
248
332
245
304
329
287
345
291
300
268
374
358
336
357
296
367
275
329
275
319
352
360
301
266
355
268
340
288
354
359
326
310
326
345
289
344
298
324
308
350
320
344
318
315
266
391
337
359
341
332
349
280
309
367
394
370
285
376
318
217
273
291
322
330
263
291
317
235
287
370
374
300
260
335
322
270
276
298
313
308
320
412
292
393
309
256
290
341
271
328
429
322
311
288
343
304
246
385
343
285
289
358
262
351
284
353
304
304
343
280
337
328
310
347
273
383
337
313
274
297
341
288
321
339
305
319
347
282
244
259
294
309
352
318
370
308
317
304
362
221
325
314
309
355
321
351
317
376
329
335
340
310
319
267
281
367
313
351
303
341
276
257
338
278
334
282
273
351
258
379
298
257
322
381
371
303
373
300
300
373
415
259
238
209
281
275
344
309
353
179
286
354
315
351
276
266
311
330
309
314
419
364
302
306
301
344
356
284
323
344
217
355
279
271
289
319
316
345
326
308
356
311
273
274
311
256
265
284
401
329
284
289
345
248
318
307
284
352
300
342
237
260
303
329
410
347
310
263
316
274
291
341
347
256
277
357
295
332
273
273
296
286
305
310
306
397
369
188
263
318
313
286
302
314
327
210
379
413
330
426
351
353
378
256
272
309
295
327
271
316
322
255
359
324
240
317
308
344
373
370
315
389
390
320
285
294
360
367
385
308
184
339
325
243
354
340
386
248
281
321
357
293
330
312
323
255
379
313
366
170
390
293
270
265
343
308
277
190
383
264
319
202
292
303
300
287
327
269
296
315
346
281
369
340
325
274
305
297
361
337
362
350
369
297
406
300
275
388
263
290
229
354
355
357
346
270
270
311
292
214
205
302
421
324
345
346
295
308
305
234
260
266
373
286
299
289
350
283
418
365
312
348
267
314
260
374
298
366
365
353
316
354
288
260
385
341
374
281
275
371
311
294
316
368
268
327
365
355
298
296
325
327
321
355
238
311
238
245
382
314
365
307
298
384
301
357
315
284
195
255
292
345
339
359
309
346
311
352
360
351
310
346
280
381
253
328
342
319
371
315
337
351
283
296
328
259
330
327
270
208
265
257
243
324
272
340
298
284
298
283
284
315
323
409
288
295
270
343
376
333
265
303
300
381
301
399
351
392
335
346
323
303
231
294
276
293
272
310
326
232
264
307
325
238
298
345
240
377
246
365
318
362
373
332
227
393
269
291
284
226
232
276
334
289
278
302
313
308
351
350
321
265
295
348
343
329
305
315
347
256
321
327
264
361
366
422
284
295
408
269
372
239
259
331
257
271
266
322
305
376
319
293
272
262
247
337
284
295
243
358
414
337
270
349
347
194
324
240
304
281
373
259
257
299
332
229
294
412
389
241
316
168
326
337
335
371
421
337
332
259
437
325
264
402
355
229
283
360
290
311
299
357
308
351
251
377
381
325
319
312
296
388
348
313
301
310
346
351
370
350
370
357
423
361
331
285
263
236
329
253
273
353
333
409
343
269
403
252
264
326
285
310
315
294
220
311
254
347
409
293
264
231
332
332
341
304
269
335
345
334
353
378
296
366
288
340
259
372
380
267
283
343
311
376
247
269
280
366
347
320
308
284
344
262
342
307
250
333
235
342
376
321
296
250
376
290
344
315
184
323
322
301
344
336
291
319
279
337
272
303
263
299
381
278
283
317
293
196
321
370
335
282
318
293
268
271
320
344
276
335
289
317
356
323
317
267
391
296
344
253
300
337
314
287
303
256
336
319
340
328
330
261
289
338
290
388
250
300
267
288
309
341
283
322
382
262
318
328
395
321
319
256
377
259
275
293
367
340
299
295
334
341
319
298
310
301
259
281
280
373
301
324
317
216
274
340
273
326
255
338
267
345
218
283
363
300
354
329
317
343
302
296
363
277
333
304
298
316
333
258
306
254
320
395
289
375
328
238
263
326
305
389
317
389
330
331
259
311
383
322
322
296
292
226
335
302
351
338
348
394
386
336
353
334
382
310
190
364
279
353
255
300
404
341
297
221
313
349
259
243
333
347
325
374
332
369
371
303
361
323
296
333
333
323
381
355
312
310
272
375
269
275
338
354
335
324
423
288
279
322
288
246
270
332
298
274
303
306
360
275
308
316
270
285
346
376
350
401
316
327
322
377
349
309
351
298
271
347
320
259
373
279
280
310
364
386
268
393
342
382
295
328
381
206
382
332
330
219
258
284
368
315
345
342
313
315
220
216
359
303
313
335
364
372
335
271
422
252
358
340
334
310
289
300
319
318
328
271
248
220
344
261
282
321
319
306
224
314
292
337
311
314
271
359
357
316
345
318
366
294
361
395
244
256
291
310
333
267
305
242
319
322
411
355
262
356
255
320
322
360
269
336
309
378
299
274
311
317
280
319
312
284
284
351
328
301
358
364
302
312
304
316
322
306
227
346
275
325
295
295
242
365
330
275
324
318
343
381
353
355
353
351
309
304
347
317
251
358
339
378
279
346
341
321
303
338
343
325
348
346
314
327
274
339
388
321
278
341
302
264
390
317
207
295
303
367
275
322
242
333
317
303
270
308
328
331
308
266
369
272
353
290
263
359
271
349
339
328
265
396
364
304
317
387
350
344
293
275
225
315
252
400
336
304
406
266
365
267
257
266
320
287
387
372
336
275
376
341
319
320
318
305
286
333
311
373
366
339
316
300
262
336
439
293
280
302
307
356
316
307
326
252
333
341
319
354
289
364
286
331
349
371
270
286
293
336
340
355
352
374
395
332
340
357
343
298
309
277
389
290
346
357
317
343
279
325
337
355
313
325
385
235
297
395
309
306
333
295
280
300
297
370
285
305
282
397
273
411
257
243
307
296
305
293
304
254
292
316
264
292
391
409
328
247
346
268
376
323
329
267
391
258
288
408
277
304
314
384
317
320
311
316
320
360
269
343
362
309
368
281
318
355
379
271
229
347
259
355
289
284
298
198
358
252
224
331
269
259
272
346
223
325
316
262
339
393
299
244
290
283
342
275
350
331
242
278
267
284
266
303
409
365
320
352
345
325
304
311
345
329
358
348
294
312
344
326
361
327
320
294
335
372
358
337
334
300
326
419
278
384
313
304
315
343
304
313
411
278
370
253
363
408
267
301
358
364
242
317
239
332
359
338
305
356
294
311
383
206
277
303
307
282
336
328
401
292
335
313
303
257
308
390
329
313
265
290
380
240
385
309
226
371
354
360
378
241
281
302
325
262
311
374
391
251
230
331
322
278
271
398
251
351
311
360
304
310
254
385
348
295
250
322
284
321
347
355
352
382
295
338
261
264
284
284
251
340
359
338
360
301
254
339
325
423
369
206
246
368
272
299
318
258
317
323
346
360
286
327
383
333
362
390
268
350
325
322
297
362
269
359
311
241
337
248
340
298
338
395
336
297
277
264
316
322
282
315
318
321
340
400
288
394
299
285
300
284
383
315
250
277
298
285
364
304
347
340
319
326
296
275
327
310
311
297
282
387
320
251
306
254
389
325
315
276
309
300
314
227
372
355
367
248
368
286
325
302
276
298
392
318
314
374
299
302
261
382
364
288
334
322
325
262
305
341
363
350
382
308
241
334
367
269
282
329
336
365
369
276
283
285
292
344
260
315
316
345
327
354
260
300
360
306
404
303
372
413
283
321
361
319
387
328
347
300
297
312
280
299
263
338
302
321
287
354
271
311
378
323
370
297
286
355
297
321
322
361
282
326
362
250
290
349
342
279
240
319
304
337
320
268
365
276
344
332
331
354
263
246
261
300
311
356
360
261
263
296
370
319
292
247
268
283
281
359
329
277
306
312
296
368
326
271
336
288
368
380
337
258
249
364
386
367
320
378
301
260
283
338
322
308
340
283
393
348
312
311
328
293
227
356
233
377
290
386
392
326
306
309
309
275
301
356
357
279
365
252
325
284
288
335
271
265
277
358
344
292
344
326
231
316
293
334
259
309
389
282
317
272
336
316
396
338
354
325
321
326
363
319
310
190
328
262
372
320
338
228
278
266
312
304
297
335
373
294
270
331
370
376
337
331
315
272
343
310
310
359
294
342
326
331
341
303
344
331
328
353
360
276
340
260
375
300
257
261
255
338
353
277
341
316
378
361
276
343
245
343
290
259
335
289
311
386
352
286
248
328
315
293
230
313
314
372
358
342
342
246
304
367
381
283
310
366
309
403
242
301
347
318
301
312
358
324
283
302
352
285
382
331
342
299
332
323
326
379
300
318
341
359
343
235
236
362
380
287
344
263
352
351
327
304
344
391
377
314
347
231
302
248
250
343
294
321
326
346
276
353
335
348
391
418
314
224
297
359
246
429
224
368
298
335
327
345
288
272
326
366
345
336
298
326
331
261
343
327
273
285
277
352
345
305
309
393
346
345
304
390
327
335
289
338
306
242
312
249
376
324
362
207
301
294
322
346
275
287
339
257
291
312
262
375
336
379
278
385
263
337
357
239
351
373
261
271
326
394
269
385
312
366
329
299
307
290
330
267
306
255
331
310
311
300
325
243
281
359
280
202
301
278
240
352
300
298
345
278
308
348
357
304
275
362
232
343
331
317
364
350
319
271
285
359
318
279
312
424
336
307
312
322
340
307
342
283
294
378
318
295
390
345
371
315
313
324
311
371
243
345
295
246
341
304
357
239
320
311
291
291
242
359
420
310
259
314
212
373
285
260
267
291
416
275
335
358
346
267
372
273
267
344
317
317
319
316
285
256
243
326
314
280
238
374
269
335
377
266
302
284
330
365
262
311
373
339
269
269
300
266
256
336
356
317
249
281
349
284
256
368
316
382
243
284
323
363
354
363
289
360
371
315
245
278
268
300
323
277
359
251
362
378
306
330
361
286
249
268
300
346
304
372
369
379
325
396
373
357
320
337
307
288
288
311
263
328
314
325
304
305
273
260
438
260
347
325
275
287
368
300
276
294
291
342
312
301
309
218
296
315
390
335
221
313
268
283
384
347
340
360
337
322
377
333
230
345
313
308
351
316
321
284
316
394
318
338
350
307
368
283
308
361
309
324
396
346
312
267
315
317
320
375
315
297
376
302
332
281
220
341
326
265
335
285
328
372
357
256
278
291
370
331
300
375
271
343
369
313
380
331
222
353
298
236
322
395
278
322
338
341
298
247
353
303
330
325
245
211
273
376
346
275
311
273
320
311
329
350
280
363
275
344
310
285
358
277
416
335
347
370
244
383
361
340
345
363
392
345
336
281
351
268
260
326
381
389
300
291
337
319
346
237
269
346
263
349
359
269
316
288
289
320
312
292
315
332
324
295
256
250
378
315
333
229
295
301
349
331
392
396
302
289
218
296
370
317
303
271
306
338
388
245
286
327
271
377
289
416
394
288
352
314
314
357
219
350
256
275
402
371
223
314
337
269
436
343
368
304
273
294
333
303
222
229
340
370
279
386
318
339
340
344
244
362
415
343
381
387
371
317
352
272
322
371
339
382
382
313
377
321
270
257
285
235
432
300
341
354
359
329
347
304
344
349
286
346
263
312
247
363
337
337
298
401
320
335
330
261
306
367
330
365
239
259
290
379
298
235
274
307
351
338
353
260
334
302
366
314
290
323
275
235
311
251
370
243
326
232
287
336
325
318
280
279
320
172
317
346
319
301
357
299
294
352
352
324
311
306
289
342
328
334
353
355
310
336
376
316
328
350
207
328
324
344
300
320
309
316
371
375
366
263
293
267
287
371
303
391
368
368
382
383
299
386
327
347
372
281
321
364
344
356
300
234
286
341
346
343
218
252
236
339
296
332
282
305
300
348
337
231
361
297
308
288
254
271
313
346
303
275
355
297
448
264
370
335
277
369
381
326
368
374
246
276
330
286
300
261
281
339
275
284
293
363
321
323
359
335
286
249
239
321
225
273
292
355
352
332
324
261
297
329
319
247
307
338
395
392
299
358
303
271
349
349
297
376
323
352
247
255
249
284
389
304
304
331
322
339
288
315
343
269
237
325
292
347
335
329
298
356
330
363
295
362
276
262
275
359
313
284
209
378
313
319
376
387
346
339
301
224
291
298
406
345
291
246
328
328
268
298
301
375
379
278
280
388
340
159
332
278
320
290
242
341
207
221
366
299
297
247
327
303
278
264
256
325
264
370
278
319
289
372
248
261
296
342
298
323
393
219
367
283
367
302
319
300
375
300
383
261
387
353
304
315
294
340
246
356
328
361
310
283
364
326
279
412
261
380
324
325
289
272
319
368
337
354
391
313
277
311
326
292
278
370
374
229
283
327
336
293
385
360
311
283
277
282
350
254
301
300
315
286
331
351
310
303
304
307
284
205
272
196
322
251
303
305
315
298
320
325
311
266
306
394
351
313
436
364
360
423
274
317
338
199
375
282
292
297
310
360
343
357
346
334
326
252
303
311
389
310
368
231
357
311
351
344
293
269
326
266
374
376
353
379
353
333
282
330
318
298
326
336
305
372
287
281
325
338
338
316
295
261
314
283
288
321
280
352
300
187
264
308
411
283
228
380
310
315
360
281
212
348
330
313
274
383
317
346
407
331
336
307
368
257
284
389
288
265
280
303
278
308
187
328
334
366
285
349
192
256
316
400
239
403
330
278
332
378
348
358
365
306
321
325
295
244
316
347
362
352
297
350
293
275
363
342
325
304
311
320
282
288
276
269
321
264
342
261
393
267
301
293
309
269
297
305
310
348
271
348
319
369
312
275
295
332
333
226
309
316
309
365
311
271
339
268
360
168
196
282
349
312
296
253
328
269
293
368
251
252
365
345
268
287
293
379
356
306
290
344
316
291
318
265
268
234
349
345
317
261
316
423
366
261
277
242
261
273
313
344
302
294
342
357
368
350
336
345
333
335
283
317
303
394
295
312
354
307
348
331
319
303
281
240
378
273
288
327
312
221
274
278
307
218
334
223
358
350
244
287
403
326
348
286
344
298
345
381
417
320
307
317
317
347
305
377
268
355
336
425
308
253
295
256
336
388
369
313
309
396
341
330
327
316
347
308
295
366
355
305
272
349
305
370
276
355
251
294
341
343
389
378
306
369
303
344
296
340
309
242
319
286
326
370
305
253
273
308
305
270
226
341
330
310
302
279
351
274
316
296
328
324
342
244
222
341
357
311
294
320
311
363
335
235
380
372
295
275
293
331
341
411
356
313
324
316
312
409
363
231
283
392
227
329
264
309
254
391
336
325
349
336
258
191
264
214
324
194
312
357
274
309
293
320
224
216
354
304
318
268
380
226
369
286
287
334
372
397
298
324
252
330
275
330
376
346
328
335
238
303
308
325
295
356
363
376
289
289
250
394
383
314
413
256
347
337
312
403
344
343
341
300
360
352
301
298
293
345
267
341
259
288
395
357
292
316
354
325
330
262
345
379
255
316
340
286
329
334
370
331
236
269
281
357
344
352
331
356
354
366
316
442
344
332
222
301
318
316
366
355
337
290
240
315
301
375
314
298
357
305
321
232
349
363
332
323
330
389
340
277
348
284
411
258
254
339
337
278
317
343
355
293
307
314
343
270
311
312
383
296
405
181
248
326
259
310
286
322
318
315
288
352
252
299
306
198
285
283
375
350
390
353
358
347
244
368
444
378
439
286
339
330
331
313
239
345
340
302
380
327
282
299
382
371
260
265
285
341
266
275
376
369
387
358
267
354
358
383
332
249
327
249
299
294
339
274
296
267
319
375
362
366
334
321
348
288
340
280
252
333
384
344
290
357
282
280
250
333
342
343
335
319
363
224
405
312
366
373
322
315
389
292
249
266
310
378
327
284
298
350
430
314
365
302
386
355
321
279
395
270
383
314
253
361
379
263
292
321
304
244
314
323
293
357
273
321
414
305
410
262
257
337
340
360
286
334
439
309
321
266
346
314
326
337
342
335
287
336
230
348
367
339
271
310
426
442
237
311
366
351
345
267
316
295
314
319
249
360
373
299
252
288
290
401
301
291
348
370
330
281
300
271
346
312
323
331
286
255
290
278
344
228
242
312
253
246
280
305
280
247
336
292
286
258
303
358
390
266
304
343
386
361
303
381
323
438
347
364
369
328
263
303
366
385
329
338
291
360
341
417
250
335
302
367
219
349
383
344
343
341
383
333
296
348
367
335
338
336
312
281
211
284
247
388
293
391
328
352
343
345
349
242
299
279
331
408
314
353
251
247
305
358
256
298
321
315
270
285
331
292
352
317
304
300
295
291
312
344
305
318
366
274
258
359
343
342
210
321
266
312
330
326
309
377
282
266
317
321
287
283
304
414
249
294
344
341
256
314
324
368
219
356
259
317
368
299
340
248
253
321
264
314
330
268
244
302
363
332
331
304
366
302
381
295
354
348
324
199
320
339
308
274
358
205
301
331
334
282
309
334
301
234
320
263
433
370
292
335
363
238
317
340
259
317
350
223
303
284
210
295
290
221
304
241
273
364
393
226
357
357
345
273
281
338
278
265
339
301
277
284
262
282
254
296
340
333
282
306
279
332
294
297
322
381
362
370
241
328
331
286
344
326
279
299
358
279
247
212
305
330
348
354
380
319
301
402
276
237
354
346
293
308
270
308
298
266
305
238
322
336
264
365
224
302
452
301
219
306
278
359
290
344
293
305
254
347
276
346
361
285
331
356
285
217
397
208
273
388
352
345
320
289
360
389
319
348
285
364
356
343
278
327
412
285
373
302
322
336
384
355
421
358
407
304
324
362
386
365
265
326
317
282
326
348
271
263
308
336
293
388
232
361
299
271
310
356
271
379
310
278
309
356
354
315
345
322
258
330
401
355
330
300
310
318
355
272
308
258
332
273
393
283
323
304
291
329
226
372
334
275
307
320
302
395
326
344
336
391
341
393
319
358
377
285
295
426
350
281
282
345
400
215
236
327
262
322
329
252
338
291
313
273
261
325
292
295
343
205
343
342
328
329
375
259
189
237
362
374
283
319
327
245
233
294
235
403
287
292
240
345
274
304
271
345
362
335
357
303
300
274
304
294
319
266
274
295
341
297
323
330
321
322
293
310
318
274
321
331
357
373
362
336
372
292
315
310
321
276
304
312
318
291
215
317
319
239
300
301
316
362
289
274
345
276
278
329
373
282
313
329
266
276
362
329
373
297
291
330
292
371
368
289
403
366
409
318
370
352
363
376
255
364
343
307
355
236
335
298
399
326
266
291
214
361
283
315
253
293
351
290
297
291
315
384
284
394
337
348
271
337
357
309
351
276
336
299
257
363
356
316
234
268
381
349
311
347
311
326
316
308
278
225
349
334
244
259
330
288
337
368
354
183
378
262
322
335
341
263
399
340
354
274
413
184
343
306
358
290
301
307
264
345
321
253
371
388
356
345
358
350
304
281
294
247
307
319
285
375
343
316
355
267
310
302
333
290
253
263
238
290
253
325
370
234
269
319
368
308
265
361
320
302
339
387
257
265
307
402
365
247
358
329
273
263
346
372
291
364
289
209
347
244
221
271
390
341
297
364
244
277
338
281
382
309
333
296
180
318
309
325
294
376
326
260
329
265
323
371
236
259
313
294
325
358
358
376
290
272
223
367
327
340
363
311
329
355
357
369
299
388
362
290
298
339
307
330
319
317
339
266
314
304
307
273
272
385
265
415
308
352
352
283
328
369
315
330
327
276
375
319
381
264
287
359
303
223
307
306
291
364
404
337
350
302
290
303
254
366
301
287
277
355
360
339
277
348
341
431
313
232
307
369
320
308
363
302
261
337
247
326
348
368
323
339
353
340
362
358
342
316
336
209
320
276
315
265
377
274
267
293
379
341
262
309
296
300
356
345
359
288
343
298
293
359
247
383
298
238
260
307
338
267
305
360
281
237
210
406
294
386
307
298
294
335
294
347
288
337
309
341
270
306
283
395
279
332
301
382
354
229
229
281
272
322
306
349
404
314
274
329
271
337
231
358
300
377
283
306
331
238
291
352
272
350
281
286
338
355
353
288
261
354
323
239
299
288
353
312
284
225
380
369
322
276
299
257
320
277
325
310
267
313
340
326
348
303
331
294
316
319
369
343
397
329
340
315
326
246
274
300
239
284
341
257
265
351
305
337
329
309
278
301
271
264
238
297
332
288
253
359
239
334
311
274
257
334
366
356
345
399
311
341
260
262
230
354
299
375
374
268
285
360
314
267
342
284
374
350
269
273
244
247
250
376
276
321
296
224
403
365
346
362
360
363
278
215
332
257
373
340
260
350
320
316
337
240
364
348
335
365
359
359
288
282
353
304
272
343
344
393
373
336
346
306
344
339
298
238
409
329
273
292
255
275
394
281
197
203
326
199
342
338
329
337
341
319
360
308
346
311
295
270
279
363
330
324
335
274
298
294
311
333
313
330
358
333
301
347
301
242
288
281
296
301
297
333
375
345
401
363
331
339
261
356
255
257
329
337
325
340
371
298
342
355
357
297
320
298
268
219
319
254
381
276
245
371
249
331
225
240
254
394
284
325
326
312
336
239
325
357
302
285
299
291
217
267
342
317
354
426
325
297
341
402
293
336
295
359
441
269
373
301
326
367
198
342
273
247
384
286
316
301
352
278
310
275
336
303
337
286
324
350
249
382
335
339
301
282
341
300
274
350
330
301
392
274
410
226
326
292
240
280
278
329
232
303
333
278
293
292
400
430
327
359
302
284
261
371
346
286
235
367
315
338
335
359
277
331
315
325
308
297
359
324
288
256
292
312
240
351
359
302
304
294
318
364
301
368
302
384
339
302
327
353
279
321
409
340
361
287
388
324
320
287
319
221
387
247
361
336
337
261
385
345
331
340
251
248
407
260
324
276
332
307
250
295
368
332
409
362
263
338
386
351
309
393
273
340
317
381
338
349
405
307
330
300
353
258
333
293
278
305
288
352
240
371
313
247
280
408
304
308
282
314
305
297
301
331
290
313
307
325
295
302
211
340
408
427
329
362
414
250
318
351
297
213
388
240
328
338
296
220
320
270
322
314
359
332
312
243
285
383
390
306
377
355
335
268
311
345
292
377
249
321
268
358
207
312
247
265
414
288
377
323
318
315
295
336
348
276
376
424
384
374
337
356
312
296
329
357
268
345
307
357
260
314
320
282
261
293
343
344
342
346
375
382
299
324
310
328
339
239
394
332
334
322
366
330
359
377
266
335
418
310
240
323
355
232
321
406
363
379
328
367
327
313
330
354
284
340
316
303
290
356
275
303
322
236
253
366
258
415
342
281
266
333
276
270
283
292
337
331
362
299
270
287
321
338
285
270
332
226
294
331
321
300
332
250
302
326
311
338
321
256
355
366
344
340
351
295
317
260
345
292
196
293
321
317
273
266
272
388
247
375
380
330
279
303
277
313
276
276
289
355
326
346
350
404
288
299
251
372
303
275
355
308
312
317
387
292
294
395
281
342
338
360
304
335
248
259
366
308
266
262
319
327
366
268
287
313
378
346
304
287
317
328
298
301
304
404
384
260
295
345
356
382
282
347
290
290
374
336
302
375
265
337
337
283
343
288
224
280
324
366
315
319
322
390
305
346
303
285
336
300
310
242
321
277
273
427
308
243
288
315
288
358
288
296
376
278
289
401
409
336
294
315
316
346
346
350
395
359
312
274
246
381
312
335
284
320
306
360
231
379
258
299
339
317
415
392
237
388
300
355
332
266
323
364
353
313
198
290
380
372
366
250
322
376
372
299
224
379
281
302
268
349
293
225
351
356
337
392
311
359
333
375
384
272
228
289
306
195
328
323
269
346
317
247
287
362
346
341
332
416
345
279
275
410
329
276
295
386
322
334
335
314
379
301
406
291
361
297
333
330
343
318
347
392
317
262
206
206
261
280
277
338
310
347
323
335
290
280
237
295
246
269
354
408
376
250
382
365
299
304
345
340
223
265
294
221
318
383
246
342
222
282
387
342
296
349
300
304
330
286
257
315
300
350
265
261
246
380
338
331
337
221
344
320
346
392
350
362
327
334
278
365
325
311
307
334
300
335
273
318
328
304
303
275
296
328
300
360
394
357
344
210
353
323
259
274
319
259
332
242
343
315
324
290
290
311
287
327
306
335
391
267
264
300
338
363
276
330
306
367
276
291
364
356
302
308
288
308
329
352
305
301
385
230
358
294
347
236
269
248
237
367
280
328
205
304
394
347
255
383
232
277
326
329
399
303
366
326
319
284
269
258
320
367
322
342
315
349
265
290
299
347
265
367
287
288
257
322
405
328
316
318
321
246
285
281
290
279
276
327
300
304
331
279
290
334
293
317
244
333
279
323
333
260
277
380
307
324
375
294
297
254
328
352
358
300
261
308
361
285
338
322
259
324
308
327
299
320
376
321
251
316
311
352
338
288
269
322
255
348
339
266
241
289
356
242
402
288
315
304
350
258
284
263
302
337
303
350
236
292
359
331
300
334
278
345
324
353
320
286
392
291
422
316
364
290
310
370
337
371
329
388
272
297
330
373
299
380
300
350
336
350
274
339
282
362
310
290
275
291
327
286
283
362
325
366
315
332
374
176
359
299
284
319
235
288
291
298
397
211
398
293
277
295
362
333
295
295
327
410
327
266
374
326
334
334
224
250
311
225
283
297
238
337
418
297
350
275
423
294
299
344
306
287
325
277
277
323
323
304
300
388
342
278
335
311
260
247
270
409
384
247
303
311
293
273
264
356
275
301
293
315
311
274
263
224
377
405
382
226
276
354
252
261
340
354
358
311
296
306
242
398
318
369
308
291
254
395
301
284
362
291
427
338
322
319
238
313
382
290
293
349
318
316
227
317
276
358
226
267
265
263
295
326
393
299
291
254
356
322
277
316
255
408
279
330
337
334
394
346
201
348
250
257
319
325
326
289
389
369
282
298
319
424
328
312
291
284
286
289
319
290
280
312
296
301
363
279
220
294
340
256
336
352
205
364
303
313
343
339
289
374
336
319
270
300
388
276
307
315
355
370
326
269
302
344
324
270
251
371
279
308
274
391
295
282
365
322
368
272
353
343
341
298
274
321
348
239
266
357
227
305
363
373
299
361
293
330
292
322
353
306
263
373
326
335
249
304
307
356
254
329
311
346
324
259
315
310
328
230
240
366
284
261
362
345
367
425
356
310
334
360
344
302
332
331
312
290
234
301
222
303
341
272
333
330
299
363
346
322
283
310
336
315
403
369
295
297
389
375
306
357
352
420
293
344
357
300
286
401
357
282
295
258
249
333
352
246
343
318
232
365
306
366
352
322
216
291
299
344
322
260
348
327
365
331
286
348
385
415
296
273
354
276
266
335
368
326
401
280
260
321
349
272
300
295
257
242
306
358
272
280
359
340
240
317
352
244
360
340
354
340
267
284
296
250
378
314
283
367
290
266
260
333
321
348
234
326
393
288
312
228
362
311
292
356
359
295
357
326
220
246
303
226
284
293
300
368
385
287
286
304
385
284
229
399
376
304
322
265
290
363
287
273
372
333
332
280
379
429
304
387
342
326
330
376
294
264
300
322
331
239
374
346
309
309
392
295
322
359
310
333
426
336
269
340
301
294
286
337
236
346
349
359
263
242
365
347
398
306
302
238
312
321
309
335
311
301
350
305
296
374
311
368
283
202
297
336
380
341
274
276
301
293
305
300
346
252
253
274
287
328
298
276
340
353
309
313
348
254
316
287
323
274
268
284
302
324
425
371
330
362
289
334
307
353
258
335
327
331
324
316
300
350
386
274
288
277
360
369
257
224
407
210
300
305
296
261
251
273
341
247
349
228
293
267
307
275
319
308
258
321
213
247
297
305
256
310
273
272
335
301
264
254
263
343
280
353
318
310
315
373
332
365
384
184
396
255
254
291
321
309
190
389
324
309
299
242
318
262
297
246
380
294
289
363
288
262
253
361
325
270
329
306
312
293
354
341
351
290
355
334
261
271
379
324
288
232
320
343
300
343
381
323
368
306
321
318
374
385
257
371
310
370
330
320
243
294
270
288
326
300
355
309
268
318
282
283
295
354
251
342
304
295
342
332
298
308
337
357
327
288
328
261
371
307
313
318
250
335
311
240
272
318
363
341
282
326
316
247
316
323
369
342
396
373
332
236
297
247
308
288
296
325
339
262
430
282
322
310
305
336
339
281
245
328
261
284
245
309
338
292
374
340
257
210
329
315
322
368
339
255
293
318
328
292
310
305
333
281
258
348
290
303
310
300
381
322
270
262
305
294
293
365
377
285
275
360
318
245
323
296
288
327
340
292
285
319
337
294
383
263
290
364
331
336
334
358
272
308
301
306
281
236
338
308
256
295
303
402
273
268
255
358
318
304
335
239
327
321
332
307
258
353
336
341
234
274
265
291
330
282
263
274
351
371
372
302
240
283
310
323
374
279
389
292
307
355
286
290
264
236
310
358
284
311
282
328
280
389
354
344
288
352
419
344
333
254
250
359
364
331
311
313
388
336
347
364
379
292
303
344
400
289
218
410
237
221
354
323
321
299
378
286
289
367
391
336
380
372
346
365
390
267
202
345
304
224
290
311
340
297
256
344
385
361
249
332
335
300
267
333
341
290
310
303
312
369
308
240
360
235
279
306
312
378
338
265
389
346
291
380
258
311
233
361
304
329
415
346
274
330
299
274
242
264
311
363
222
317
362
289
300
333
328
333
325
315
234
320
311
344
351
305
345
250
349
341
275
303
376
266
252
325
318
282
357
346
200
277
329
356
348
339
341
262
368
348
306
323
368
304
330
313
272
370
366
286
348
368
355
279
300
294
322
325
271
278
303
400
249
395
366
329
310
228
244
291
354
305
337
295
289
300
369
319
291
341
289
263
338
304
223
411
327
352
323
305
268
321
312
280
373
358
328
339
352
328
366
378
205
408
231
299
332
340
315
249
354
328
304
282
287
364
255
311
414
324
372
271
294
279
339
270
303
269
400
366
327
234
339
275
320
224
261
245
333
367
388
287
311
254
281
247
247
349
281
329
362
368
364
302
315
314
254
270
228
288
282
231
313
337
340
372
274
339
343
326
237
338
235
378
289
293
270
360
309
294
302
272
338
242
314
351
258
295
360
331
314
277
261
298
338
241
330
266
301
339
402
355
358
256
197
241
402
315
351
295
382
336
357
245
315
258
358
372
312
350
300
277
336
284
340
347
383
260
342
271
418
291
249
251
229
250
249
381
327
318
316
372
304
304
339
287
265
302
353
294
283
321
327
355
288
416
324
277
405
292
381
326
355
406
308
243
325
265
256
334
359
329
224
316
275
352
308
355
325
322
229
262
288
319
279
239
319
376
245
288
306
320
295
349
318
326
382
329
314
225
314
371
335
277
290
290
263
231
244
309
304
326
342
285
386
389
345
260
355
300
249
271
244
350
349
320
304
383
409
345
373
234
333
329
327
276
295
285
279
376
314
317
318
349
372
299
330
289
436
400
379
341
252
402
256
241
309
371
294
349
220
315
263
347
301
241
292
377
262
329
339
286
234
339
338
342
350
283
404
321
360
295
328
316
328
309
327
363
298
278
304
359
356
345
273
293
364
305
285
270
366
243
346
352
307
304
251
262
344
227
387
310
306
301
308
300
338
304
340
309
262
288
294
282
361
419
359
209
374
252
337
287
348
345
405
378
389
323
326
284
259
324
299
269
381
275
332
310
288
409
299
336
293
331
244
269
344
358
333
325
405
317
354
349
357
376
316
355
357
354
305
291
287
350
296
319
313
342
318
267
345
317
282
345
309
282
348
293
331
391
341
363
332
360
283
348
371
220
294
382
287
325
338
329
294
299
325
288
295
334
296
324
284
285
276
297
405
368
373
372
278
292
312
330
290
332
267
340
340
335
237
330
282
291
262
326
284
333
327
356
385
357
370
298
294
197
335
301
257
344
366
343
303
301
287
291
313
235
324
280
331
375
362
290
288
297
330
288
314
266
335
206
335
412
299
321
282
361
237
300
258
232
294
330
291
282
338
315
371
345
360
329
345
313
333
343
402
220
342
337
320
250
395
337
339
295
290
318
364
264
236
354
308
375
317
386
338
387
319
272
211
262
324
380
337
293
326
358
279
354
292
347
330
278
332
302
283
383
326
282
309
275
385
354
350
311
381
327
277
297
413
420
228
319
353
243
348
277
307
306
279
332
286
326
318
326
263
332
319
318
384
256
326
301
242
308
403
380
214
328
293
258
310
207
324
276
369
274
330
289
314
249
314
290
300
371
317
357
277
299
337
305
269
336
333
281
303
315
295
397
272
301
288
356
351
274
265
323
308
279
383
309
360
291
277
321
375
272
251
358
365
339
368
309
301
287
300
332
344
248
303
226
251
332
326
408
421
314
370
291
388
323
409
304
294
346
310
301
287
404
395
266
335
318
389
354
403
376
408
400
326
294
250
281
307
374
314
294
313
292
283
355
337
290
342
369
365
356
360
226
311
375
257
320
281
384
265
305
268
203
316
300
325
335
307
298
347
295
238
330
323
335
398
333
404
316
303
414
278
386
286
335
327
348
242
342
347
256
301
249
328
270
284
300
385
396
305
271
261
351
205
244
287
286
357
316
279
246
366
328
306
316
357
391
356
254
276
364
289
312
273
305
248
258
268
255
290
391
283
350
303
309
308
334
281
356
309
318
232
247
317
385
342
371
238
321
397
304
369
346
344
246
361
355
312
286
326
276
321
300
291
368
389
233
327
242
330
331
319
322
346
386
337
313
270
303
304
275
340
294
349
238
251
269
384
344
350
347
281
340
353
301
239
320
350
281
316
351
337
274
314
348
292
281
341
291
315
271
345
339
338
382
257
345
262
286
309
290
318
380
268
334
283
236
339
329
358
382
318
350
270
343
367
322
310
323
235
272
333
347
338
280
358
237
375
294
367
335
279
403
266
364
383
320
306
302
337
341
308
334
266
302
315
305
379
293
231
317
328
350
299
366
255
286
327
352
370
271
279
248
287
277
296
247
317
358
270
301
311
298
407
401
364
371
288
343
325
299
303
313
332
294
376
254
285
250
179
296
286
354
375
221
287
380
295
302
256
406
332
300
334
341
339
290
301
372
345
261
332
287
301
330
212
282
250
349
293
306
304
377
318
357
316
315
341
303
237
309
265
274
316
303
316
299
352
245
377
333
298
381
210
288
339
276
317
386
337
291
351
338
401
240
377
335
313
388
225
327
388
373
339
361
319
301
310
399
281
325
364
353
311
315
288
357
228
307
299
322
297
350
387
340
268
348
344
361
362
272
305
337
326
357
347
365
295
351
343
339
319
292
269
322
307
294
318
310
223
371
366
277
283
223
316
329
356
320
295
296
371
247
294
368
338
341
304
394
270
295
299
233
307
347
339
277
337
385
342
280
289
284
307
285
328
352
363
285
279
366
264
222
334
301
342
311
335
315
275
251
271
328
275
331
248
330
272
292
353
284
315
217
259
326
310
311
297
263
281
251
293
320
368
318
391
381
305
321
322
261
330
345
339
301
307
353
313
284
253
319
243
304
283
289
298
324
414
394
370
342
349
335
354
302
326
373
319
340
340
294
319
264
345
251
348
271
310
318
269
270
243
392
278
324
350
333
270
194
323
323
292
356
351
296
304
287
273
354
314
372
345
366
314
336
280
357
294
352
259
282
272
267
332
281
296
360
315
257
322
288
316
343
327
287
297
316
284
286
275
334
406
284
293
324
312
348
348
343
343
284
341
322
248
316
299
187
294
296
288
390
304
308
322
320
382
324
373
349
333
377
304
349
281
345
274
300
282
254
379
295
309
329
340
355
279
270
302
308
289
301
268
336
359
304
329
315
282
328
362
360
292
333
369
253
302
287
282
326
271
338
416
337
350
277
272
274
258
341
326
269
258
318
348
273
252
310
290
272
267
242
372
228
300
287
273
346
360
371
314
383
289
327
324
254
336
344
355
271
319
331
347
304
361
380
302
333
312
368
367
361
296
382
308
318
317
334
384
287
302
303
390
341
276
304
361
272
312
294
246
252
250
337
384
296
317
227
230
347
289
323
330
254
310
311
351
276
312
324
272
364
379
351
301
323
287
285
236
386
332
341
341
305
308
316
379
296
279
306
316
238
308
304
338
297
344
328
314
393
362
343
286
407
306
296
354
338
357
387
335
302
346
250
369
329
365
366
228
348
294
247
345
312
264
313
234
356
282
232
280
377
313
211
311
312
313
265
346
248
346
274
262
322
394
285
356
352
346
316
371
380
265
308
265
320
320
373
310
362
280
391
322
358
259
270
269
354
318
355
317
273
380
353
335
343
349
353
254
349
329
415
365
308
257
367
406
254
327
291
315
331
290
218
221
306
224
318
293
262
340
315
388
279
319
296
295
338
261
327
295
304
300
248
250
343
329
264
310
304
282
316
311
415
312
382
214
317
295
389
288
265
279
302
243
330
296
382
288
231
272
292
225
337
279
287
288
281
281
306
325
236
400
245
335
403
410
338
289
351
301
256
355
297
337
379
269
336
314
333
335
344
385
276
327
328
344
381
257
296
325
339
338
327
279
274
379
315
252
304
345
313
313
245
365
359
305
399
357
298
280
306
294
371
277
362
337
362
330
239
241
280
299
318
320
351
373
206
281
297
323
253
242
350
322
227
354
299
374
391
367
343
318
300
350
370
309
285
262
214
353
313
342
316
369
365
314
371
318
406
239
291
349
281
374
253
276
283
351
382
278
250
309
304
272
261
361
345
359
294
355
319
278
305
352
288
341
326
379
332
286
364
275
316
289
338
253
386
365
348
329
295
348
285
396
352
364
288
340
363
253
303
340
334
289
326
253
374
294
362
317
264
327
399
350
322
321
341
292
207
349
320
274
278
348
318
261
333
395
242
347
339
292
217
254
259
359
349
281
265
252
302
251
305
367
240
254
334
267
302
311
325
346
340
318
246
300
309
300
263
262
311
321
345
247
368
277
262
395
341
301
327
282
263
276
318
363
385
401
295
283
367
345
321
277
263
284
286
401
265
288
347
311
221
298
311
221
269
380
409
220
326
356
260
347
304
356
297
343
309
362
266
357
345
261
223
370
322
337
267
399
372
310
285
395
242
175
227
275
266
302
328
366
356
269
430
321
297
310
312
269
316
367
331
284
432
319
348
268
312
262
268
320
278
392
263
252
318
328
351
310
291
348
352
329
353
270
296
178
366
398
423
359
370
288
334
422
357
295
319
359
332
289
354
369
302
317
285
363
294
238
288
384
298
251
274
269
239
306
364
281
366
287
281
289
292
351
306
285
309
287
254
387
292
410
348
233
264
354
363
292
350
294
390
341
311
292
370
346
294
342
356
359
301
293
261
357
241
338
345
326
321
334
308
235
300
322
353
354
248
333
271
276
284
350
261
299
301
406
352
299
273
267
306
303
206
415
389
327
333
301
242
244
299
358
306
338
273
262
349
272
293
318
383
325
291
342
399
356
314
278
356
260
254
301
303
220
279
284
380
294
298
352
316
319
297
286
283
264
321
353
291
347
314
304
283
313
309
266
328
291
302
267
298
203
328
261
374
357
318
288
334
415
307
319
293
249
320
283
353
303
290
308
329
262
365
358
383
307
271
318
320
398
353
296
249
296
282
256
391
306
382
259
361
278
262
276
313
295
256
330
350
332
256
254
390
311
285
338
246
354
275
298
296
305
227
325
292
309
324
281
357
353
270
302
360
435
179
391
304
349
243
389
333
308
301
309
325
317
204
265
313
422
340
302
334
318
279
255
288
334
300
309
320
371
310
261
402
319
310
374
268
262
321
326
286
365
341
296
339
262
288
272
367
318
328
354
347
279
294
371
362
369
244
313
323
350
336
286
289
316
354
352
337
388
312
284
307
278
311
203
379
314
261
344
370
271
256
326
402
312
343
390
369
340
310
354
274
405
356
258
317
329
260
211
327
305
250
352
326
392
318
302
293
357
352
302
334
386
241
245
284
314
340
317
323
354
308
371
319
260
218
290
308
222
282
295
236
291
314
347
362
285
349
317
328
343
355
218
249
285
327
286
299
339
237
324
365
369
328
292
350
268
347
224
369
269
288
225
308
424
358
311
347
250
322
346
326
343
280
308
418
336
345
316
377
272
320
406
341
293
253
302
296
271
319
215
308
333
390
273
198
329
366
232
442
293
295
248
311
357
268
381
293
246
302
350
251
357
364
361
317
241
289
259
377
309
384
385
375
283
359
346
312
362
315
283
289
360
322
321
306
278
329
377
261
319
270
314
231
308
240
406
314
343
347
333
265
376
306
354
282
303
263
347
279
313
367
345
411
293
246
320
377
243
219
283
413
309
278
336
287
252
342
315
241
269
318
364
253
361
296
279
377
283
290
283
349
296
292
295
357
324
298
331
315
253
327
281
291
240
284
304
349
392
295
371
406
373
358
330
300
307
292
345
245
273
296
353
300
308
311
452
262
318
343
330
307
314
296
346
317
311
362
382
351
319
231
282
315
275
327
239
194
320
304
344
311
367
294
291
330
278
317
358
309
305
311
369
281
378
328
252
390
307
311
384
340
352
327
361
362
273
286
275
363
304
333
209
273
371
372
274
286
253
287
293
385
329
335
342
227
286
327
261
295
338
337
243
365
323
319
320
321
278
364
274
275
246
311
366
278
276
245
303
323
363
269
228
285
338
269
330
332
387
291
322
271
338
330
328
292
321
285
367
317
270
282
361
268
284
278
323
297
319
275
284
364
295
310
267
310
307
326
362
355
296
340
351
307
284
286
334
372
283
371
309
402
370
294
306
346
338
300
328
259
332
330
308
313
326
350
261
310
230
354
348
289
319
298
316
314
270
298
298
260
255
295
337
323
373
267
251
298
337
260
288
426
307
268
343
369
358
327
299
326
278
314
283
228
182
257
343
311
262
376
294
392
351
376
346
283
278
319
311
282
311
302
260
339
327
314
284
311
268
278
326
324
269
296
324
393
386
292
352
374
222
372
351
308
343
305
279
321
372
312
338
247
338
379
293
329
390
355
317
308
379
288
330
313
339
340
378
237
290
316
286
341
260
333
278
241
279
319
322
338
312
258
386
425
364
409
327
396
314
336
293
417
362
295
294
332
404
287
330
306
371
399
345
307
336
335
226
299
303
326
394
300
257
304
247
271
414
248
348
444
309
414
293
355
434
278
319
388
325
369
309
290
356
350
310
395
251
341
284
324
292
320
291
284
276
363
309
291
315
328
276
305
260
295
318
356
299
367
324
237
276
340
360
281
358
326
343
307
356
382
318
325
234
356
354
293
290
297
352
292
322
312
388
344
313
297
231
337
337
262
353
295
329
329
289
271
348
315
233
302
400
243
317
325
371
298
386
239
270
345
357
266
316
317
256
378
209
254
340
275
320
337
277
318
368
210
357
265
303
338
322
355
362
221
274
356
354
373
325
312
256
318
350
307
342
251
380
292
330
261
258
328
321
359
292
301
401
327
359
331
288
290
292
376
274
375
358
251
327
308
381
358
327
288
329
395
271
307
338
253
294
376
339
300
271
305
291
267
417
288
291
403
329
214
322
317
238
265
372
319
274
346
263
182
337
338
325
344
416
352
317
358
329
224
217
355
380
245
285
360
287
281
388
240
373
355
287
212
269
225
324
227
310
340
291
297
317
341
329
321
331
334
362
385
288
321
295
332
202
255
284
328
284
384
240
316
391
287
266
393
307
377
346
328
228
364
152
219
336
373
329
299
230
384
365
308
387
301
283
309
302
348
285
336
299
303
362
257
351
305
304
254
329
366
432
344
368
316
373
265
282
388
349
305
316
306
309
304
363
364
270
290
266
308
307
328
316
324
291
308
313
261
268
286
333
345
311
330
295
316
319
266
297
343
318
358
306
298
323
317
355
320
286
290
388
361
348
270
381
265
421
258
288
348
349
337
329
305
281
254
350
325
343
289
302
400
327
335
387
298
367
360
348
308
349
287
340
440
270
314
196
318
201
413
357
292
332
274
328
248
370
356
319
284
293
252
361
333
331
276
378
329
309
308
334
323
302
303
365
351
349
308
296
283
309
384
346
379
379
285
297
368
303
279
349
339
285
334
293
316
383
370
308
319
331
325
343
335
314
343
385
278
332
278
301
263
351
340
308
280
269
326
283
353
293
292
361
286
325
275
283
387
339
270
377
205
284
296
349
315
268
267
323
318
279
351
338
250
331
316
306
378
343
354
272
290
317
348
398
330
262
310
333
247
304
319
340
304
354
331
322
418
277
319
293
396
373
399
293
249
348
297
339
330
334
306
292
286
275
310
318
273
248
319
242
213
272
347
324
344
361
351
279
280
377
246
338
337
324
243
355
354
335
338
280
361
297
283
320
322
264
316
355
289
354
268
345
373
323
280
317
340
253
313
222
325
308
358
271
293
350
324
335
353
314
310
268
248
386
268
234
268
255
293
289
366
281
275
400
359
295
239
287
356
373
361
330
273
327
374
299
293
344
368
287
360
337
289
248
391
389
361
332
340
269
295
279
259
346
289
316
262
330
398
323
376
336
344
334
352
261
375
312
276
293
363
319
377
378
351
391
366
219
394
282
201
292
361
406
306
301
352
279
303
253
264
281
293
393
414
257
373
346
262
303
331
294
310
278
252
332
279
350
276
240
340
315
309
339
410
314
294
322
312
289
320
363
330
282
323
339
295
294
245
260
302
339
319
314
360
339
294
257
346
240
333
282
339
368
331
316
351
263
368
354
269
309
301
374
297
352
339
272
345
362
305
372
327
271
332
282
383
336
349
294
327
405
262
341
391
353
325
267
392
264
278
348
404
289
311
362
292
307
310
342
282
338
304
309
334
299
330
369
356
227
317
329
342
299
395
281
349
375
327
449
224
337
346
383
253
224
280
264
243
390
360
326
340
353
332
312
317
286
369
369
383
343
290
350
300
339
280
266
350
253
222
395
314
325
299
262
342
308
352
271
390
320
354
313
369
311
341
344
274
373
312
238
339
310
321
365
290
280
219
412
383
216
266
334
256
371
393
353
316
359
295
317
260
350
263
373
280
307
307
323
298
358
333
321
354
345
254
303
259
310
253
268
292
293
327
255
364
282
291
344
253
348
394
351
329
290
324
283
284
295
324
343
352
296
331
302
321
405
262
278
442
256
287
362
287
229
304
379
338
315
357
259
307
241
235
341
273
294
317
265
306
252
279
321
275
291
408
247
334
356
358
386
331
328
392
324
360
324
373
329
347
341
296
333
342
299
324
231
333
307
385
324
383
217
379
313
168
350
338
252
328
226
277
298
338
277
252
350
367
360
346
310
345
343
364
286
328
321
282
243
299
268
252
372
394
324
298
299
319
187
345
246
320
316
227
344
331
368
287
295
292
350
305
275
223
357
306
295
317
262
460
280
341
328
260
305
247
363
272
370
337
300
323
311
255
279
307
280
368
324
195
369
321
361
281
356
416
223
271
292
284
230
305
378
262
352
286
457
260
300
274
274
330
378
311
233
239
359
252
315
273
312
331
393
353
382
324
331
262
234
312
290
324
325
341
378
234
349
381
312
316
323
279
218
353
263
278
370
248
375
355
282
313
281
375
316
341
322
288
308
361
237
332
296
268
311
305
341
322
336
319
281
352
340
291
229
233
308
297
299
284
265
360
368
294
298
244
342
287
403
394
205
336
347
344
344
348
249
273
321
303
215
345
315
361
367
315
318
293
242
302
239
313
371
250
319
337
264
295
309
391
333
295
329
298
320
228
284
287
298
326
283
382
323
217
257
402
302
334
296
264
319
257
338
272
261
287
360
246
386
258
368
326
332
344
338
295
272
287
319
269
388
371
389
285
371
276
351
292
317
342
285
272
237
268
260
317
357
351
315
376
280
306
284
332
275
270
290
299
265
310
368
333
348
267
294
324
350
344
355
367
368
247
335
194
375
329
300
338
408
253
332
351
336
305
359
275
341
357
327
281
237
379
335
336
245
291
257
328
302
363
313
339
310
303
235
325
289
334
324
264
311
294
347
289
283
281
236
369
263
343
281
343
347
317
326
374
313
325
291
299
383
332
278
241
406
306
253
330
327
399
324
268
355
337
276
338
404
219
259
342
260
350
346
318
301
277
401
303
291
298
305
302
331
295
317
301
295
400
388
338
304
297
351
248
356
322
247
377
393
314
239
364
342
329
325
305
285
367
369
349
271
309
327
297
340
308
345
417
365
313
397
265
290
318
382
277
334
281
355
379
357
256
279
292
365
338
316
286
360
298
337
360
372
331
418
354
356
291
283
317
307
293
337
274
381
345
391
366
345
359
372
334
233
261
403
318
297
322
263
315
309
298
454
267
308
321
378
304
350
382
403
293
316
339
423
300
408
305
261
330
279
318
296
361
336
350
291
356
365
379
345
317
334
350
327
314
328
343
322
351
283
400
302
360
337
339
315
259
379
354
401
272
275
379
372
358
300
363
309
251
338
348
269
262
287
351
390
277
306
341
380
278
326
396
304
321
249
191
338
282
346
336
310
294
316
338
247
269
390
372
338
262
350
279
434
365
301
344
288
347
326
259
322
348
381
271
286
357
348
268
345
378
305
373
234
299
352
287
286
300
370
306
319
323
390
351
283
319
316
311
350
223
270
344
320
317
371
316
357
338
254
321
297
301
336
342
293
302
316
344
235
383
300
292
288
243
311
225
409
270
296
319
302
332
273
273
404
329
230
322
316
256
283
271
301
313
361
348
370
327
346
387
323
220
266
314
324
318
324
384
302
276
282
262
347
333
287
384
265
366
316
350
187
307
264
237
307
336
329
383
390
277
235
306
311
373
400
288
262
307
366
347
244
274
348
303
319
294
318
275
272
243
368
287
319
314
305
373
261
310
397
383
325
295
279
327
357
375
306
318
356
340
321
329
348
280
323
326
305
353
341
286
373
346
326
350
298
268
348
331
405
281
307
327
329
278
337
238
295
318
297
303
354
258
357
312
338
365
331
297
322
331
357
341
350
319
389
303
334
293
337
277
299
297
266
386
311
334
319
309
329
378
320
263
293
340
372
354
358
238
323
333
344
311
281
379
264
361
359
299
387
345
238
296
369
337
321
346
241
296
256
279
339
258
349
333
296
288
324
355
308
332
338
365
310
336
288
322
320
303
356
308
332
267
378
271
341
306
384
341
298
287
350
275
338
387
326
314
296
263
293
254
332
290
267
345
278
311
304
309
277
293
249
336
324
318
296
278
236
334
266
247
293
337
329
312
313
238
274
380
224
274
262
404
324
310
214
420
283
304
308
364
323
313
287
356
343
338
392
273
290
321
377
322
269
305
299
305
259
220
317
358
287
383
297
283
263
375
321
314
367
339
330
251
351
321
351
288
324
312
311
273
322
312
291
267
330
320
331
268
274
200
384
290
308
323
271
391
265
336
355
380
277
240
269
324
314
359
254
343
381
328
299
319
264
346
319
378
294
302
312
324
352
269
342
278
269
300
270
313
339
249
435
376
251
292
308
290
428
239
384
312
356
294
333
292
308
336
309
266
363
323
323
356
333
318
361
310
410
373
364
340
323
299
261
298
267
323
343
351
274
350
331
308
342
350
258
305
277
333
274
378
346
293
331
289
294
293
302
324
308
367
319
297
295
237
303
273
216
396
306
338
293
301
398
285
334
313
345
316
362
347
322
306
366
254
323
356
319
362
323
296
361
271
259
396
389
302
404
263
197
266
361
370
320
373
275
307
350
371
351
348
298
222
286
256
297
318
297
309
346
303
309
273
286
349
367
204
275
268
352
224
321
372
259
336
315
374
292
273
352
315
306
391
340
320
309
377
342
309
305
358
401
301
321
271
340
235
245
347
343
259
293
304
295
321
365
296
312
321
375
325
295
317
260
410
357
392
328
243
311
310
286
374
297
295
327
335
231
353
324
294
317
260
350
347
288
281
297
334
304
266
332
268
278
401
343
379
315
299
302
320
321
397
340
250
229
266
303
270
284
289
241
334
325
302
309
328
256
293
317
359
325
311
282
333
347
299
342
254
301
231
333
286
293
314
383
354
330
312
299
288
284
307
199
346
323
273
388
371
311
312
373
381
276
384
234
310
295
367
327
363
342
270
281
400
265
340
304
303
371
224
372
303
228
374
349
372
294
232
284
338
295
292
266
332
247
229
351
321
304
363
298
303
352
296
284
305
275
272
319
304
349
279
322
279
316
324
327
295
245
319
295
299
268
288
282
245
285
263
348
284
247
334
360
354
409
342
298
235
268
305
365
346
345
369
287
284
307
391
318
351
324
300
343
290
307
308
239
308
329
332
342
298
284
304
323
292
319
282
256
283
283
394
331
351
340
394
418
321
312
277
266
298
299
297
337
280
316
294
358
380
315
352
264
289
181
234
351
376
318
304
294
353
369
307
257
390
378
440
343
267
249
286
251
247
303
276
355
257
327
265
251
413
386
315
388
352
334
293
347
392
408
301
353
338
367
312
373
362
339
314
316
287
345
313
288
304
295
294
322
281
309
294
275
405
369
318
271
343
322
336
337
277
363
324
407
310
327
320
347
402
320
242
293
270
318
359
334
318
292
318
256
297
267
326
341
296
280
263
277
249
402
355
293
362
313
373
313
276
263
309
270
312
355
360
333
308
268
348
297
317
246
330
271
258
375
263
308
309
293
267
256
341
379
280
376
389
306
330
299
318
314
342
314
265
327
285
398
383
326
296
280
319
311
293
280
320
280
281
309
373
298
271
336
358
365
320
315
328
306
334
274
266
317
256
189
282
307
375
350
325
397
302
367
239
259
272
267
330
286
298
281
380
383
320
277
337
322
219
253
306
264
315
354
367
422
327
273
329
351
391
332
292
340
308
285
313
359
290
413
289
410
319
321
356
392
383
286
330
344
382
308
373
390
326
316
303
314
346
269
417
362
338
251
379
301
286
290
323
290
227
245
327
347
339
419
301
281
242
322
383
282
327
279
343
301
339
354
320
348
314
307
357
378
381
237
211
310
286
268
310
234
308
305
340
354
271
294
344
295
369
306
335
395
329
301
242
303
354
312
378
347
411
224
267
244
290
312
353
310
300
265
355
382
232
278
384
380
321
370
376
353
249
247
319
322
327
208
299
325
360
276
306
351
272
339
297
309
347
289
327
319
329
363
370
264
360
337
288
340
248
251
265
360
315
258
343
383
366
305
301
439
286
274
258
272
312
317
241
391
339
380
332
297
337
207
304
400
367
331
302
310
334
323
307
280
231
303
313
358
277
317
387
239
304
338
246
255
341
334
325
332
346
272
358
304
334
307
281
308
347
342
381
338
380
265
371
371
324
265
344
294
378
254
268
285
297
274
278
303
323
262
292
380
272
295
327
358
375
218
254
373
326
276
292
370
319
299
225
321
378
308
366
315
264
309
326
368
413
291
277
293
325
338
272
301
299
294
322
318
349
339
320
280
319
331
374
323
364
321
319
298
361
327
270
268
304
323
386
343
256
372
328
312
381
319
370
284
325
328
232
317
260
331
336
291
357
324
291
365
413
350
315
305
425
359
312
313
293
346
355
254
289
292
267
264
260
268
285
289
277
364
380
296
272
272
321
218
332
292
365
346
356
343
350
253
423
340
362
416
272
316
305
247
369
403
349
309
288
343
316
284
273
346
322
378
311
183
378
284
417
333
307
347
249
308
338
336
299
317
223
302
303
248
226
357
314
377
337
318
299
311
283
363
255
295
343
355
232
343
364
231
310
334
276
386
342
273
320
360
255
283
304
324
257
380
330
244
347
427
328
294
371
260
292
336
338
235
243
345
251
237
288
235
308
355
262
285
239
293
254
353
327
309
363
302
284
205
342
347
350
342
344
307
281
236
274
287
310
385
317
350
332
333
234
376
330
337
286
296
303
329
295
289
382
306
329
253
296
382
361
302
306
359
287
257
262
371
312
373
293
259
257
267
399
371
405
385
281
294
333
346
294
297
310
300
253
376
367
292
259
323
281
296
330
301
261
309
322
262
435
267
312
249
289
322
337
325
383
367
307
309
325
300
415
240
281
333
316
277
275
325
292
251
281
264
304
351
270
346
285
383
341
362
321
361
359
321
349
263
321
212
270
280
420
364
331
335
369
334
355
285
232
195
294
295
323
274
302
357
261
339
309
339
269
305
334
275
302
220
311
308
326
326
289
269
308
267
270
349
223
313
319
405
295
283
303
260
242
337
446
293
302
371
326
195
341
300
294
313
294
387
286
361
362
327
445
261
311
387
365
373
339
272
300
216
342
287
341
386
243
298
294
280
328
308
296
320
296
315
268
347
405
329
259
371
322
404
346
360
356
254
196
349
372
350
340
340
319
279
389
315
311
317
318
280
315
284
331
328
268
331
346
281
297
361
354
267
268
274
283
231
386
335
335
310
369
343
261
336
334
297
373
342
343
261
361
247
270
275
338
341
295
249
319
308
279
337
307
312
360
275
362
406
288
282
337
394
302
337
285
291
319
333
352
183
293
397
323
335
337
291
338
289
269
291
335
319
325
326
262
230
289
339
307
223
320
321
300
331
362
271
285
334
211
349
366
310
289
276
282
251
176
263
277
298
312
288
257
294
296
370
271
284
276
194
338
316
284
323
299
333
336
268
308
340
293
363
295
223
297
312
345
307
354
313
273
221
356
375
347
219
290
324
212
304
315
328
267
343
260
350
304
328
349
309
338
241
337
356
257
309
281
395
310
303
364
236
381
444
161
321
245
386
217
356
321
247
281
378
283
243
361
423
310
343
270
335
327
381
243
352
313
330
325
332
300
318
361
334
203
339
404
241
270
356
291
314
313
275
305
305
290
263
352
339
342
320
373
324
388
364
368
357
321
306
294
382
408
357
312
324
312
244
313
257
358
335
415
331
315
294
342
320
263
359
290
300
327
351
322
273
376
327
236
282
311
336
255
316
378
269
344
325
377
323
346
272
260
344
301
300
328
370
263
298
359
433
334
166
335
359
344
282
248
281
334
323
360
284
338
315
266
370
369
346
272
405
289
296
252
333
300
408
341
373
335
396
394
358
367
287
380
275
268
336
256
423
365
367
225
325
206
326
294
363
228
335
341
360
261
312
316
284
277
307
347
245
350
271
258
269
302
308
288
334
382
368
306
273
381
394
388
320
293
358
217
278
281
306
386
317
308
402
319
236
341
352
379
309
287
259
350
348
396
250
299
314
304
335
364
297
388
235
266
285
300
272
372
301
230
327
335
302
321
345
288
316
327
302
362
308
323
294
267
280
356
284
303
386
300
371
314
337
288
275
342
286
333
370
315
291
259
296
260
309
209
363
313
284
298
351
265
276
430
266
227
320
255
280
341
215
358
336
253
388
303
275
331
242
292
304
290
257
331
263
259
291
302
363
325
279
296
350
336
326
262
289
274
306
338
332
333
361
281
367
377
345
356
381
280
244
315
284
284
298
304
352
268
385
343
260
344
291
333
339
315
335
361
297
323
401
351
397
338
363
368
177
244
298
373
352
193
357
329
360
358
310
388
317
328
289
322
302
292
297
242
329
368
293
326
275
304
347
297
268
235
341
246
287
291
248
359
291
354
332
385
268
330
318
305
289
337
322
319
269
308
266
305
300
364
297
259
294
273
272
344
289
343
424
334
264
344
363
319
291
319
346
306
353
275
302
362
320
323
269
272
341
283
292
458
360
290
286
298
337
285
278
321
310
289
298
197
269
353
400
318
273
317
371
310
305
306
272
339
363
248
321
320
352
269
316
280
382
389
306
275
289
244
340
329
267
257
269
333
256
307
338
386
321
378
315
302
389
347
255
322
326
392
358
361
317
279
256
313
299
369
291
255
249
269
243
288
285
296
350
348
291
404
252
316
363
361
231
331
326
295
358
262
339
354
308
353
354
314
301
305
330
369
361
313
297
268
352
328
292
283
284
314
312
358
345
364
313
281
328
364
323
303
336
196
293
420
323
229
306
335
287
289
307
329
335
305
356
418
254
332
302
294
396
314
354
371
270
312
219
305
299
360
339
332
375
360
356
220
294
384
306
360
235
372
404
324
342
295
289
259
373
308
294
339
289
282
370
274
366
303
258
273
323
305
314
321
317
303
319
256
310
374
322
293
287
301
257
349
330
328
361
362
295
355
324
337
310
360
274
280
254
238
336
279
268
308
352
291
279
337
260
276
396
402
373
266
403
416
335
361
344
340
341
304
180
344
270
253
368
304
244
392
356
318
362
246
205
338
365
269
287
287
322
323
355
289
334
420
349
311
250
284
273
282
284
328
271
283
316
339
346
337
441
255
280
270
278
350
379
354
359
345
309
291
299
251
309
339
314
378
280
377
298
285
337
337
254
336
338
296
209
377
290
256
342
317
229
275
332
275
261
371
324
424
367
350
405
278
243
377
262
338
276
346
311
346
283
335
269
322
390
364
322
333
343
403
278
321
315
245
340
296
390
290
289
302
354
318
350
353
339
326
271
361
238
311
243
357
313
221
322
318
320
338
332
321
247
299
326
266
244
305
275
344
269
356
364
313
380
293
379
316
302
251
335
305
286
282
383
378
236
309
279
335
367
286
359
282
334
323
361
282
327
295
283
371
289
326
328
217
311
272
312
313
303
384
303
324
336
279
330
326
367
293
200
335
260
363
350
335
257
330
363
287
351
311
397
320
228
385
292
283
330
380
318
299
358
377
314
316
350
322
245
337
308
291
330
292
338
379
308
223
268
240
309
298
346
316
372
331
386
296
159
230
325
327
338
266
294
347
314
283
361
267
263
327
289
353
284
398
336
335
275
319
304
280
388
261
362
322
305
249
286
287
356
333
230
384
336
261
328
329
279
247
391
326
253
346
347
251
354
360
423
292
336
330
232
289
320
296
267
339
341
239
350
419
363
366
361
412
354
391
321
307
322
285
316
332
407
353
375
254
305
299
258
209
318
363
286
355
340
331
294
347
311
305
312
340
312
327
369
294
374
337
346
352
220
390
335
283
362
314
343
294
280
364
379
301
309
289
304
355
280
318
338
320
283
375
350
255
332
292
296
345
308
282
314
293
317
335
392
317
267
291
358
295
293
358
295
336
285
185
297
305
388
362
273
375
301
334
347
308
292
345
343
307
327
401
319
292
279
293
300
320
327
325
369
265
329
250
342
260
340
274
300
271
350
303
378
271
306
321
318
200
324
327
340
238
312
289
238
386
248
286
284
331
356
212
261
255
329
292
278
370
371
324
292
342
342
273
272
320
213
298
242
256
258
287
304
190
289
306
299
298
273
272
327
268
330
335
382
408
373
355
296
292
346
288
324
237
288
369
265
318
336
388
281
372
276
252
363
332
369
260
326
325
335
339
291
324
388
330
272
318
303
270
334
316
344
265
356
307
348
329
314
399
345
212
342
320
312
332
281
287
316
247
296
263
302
326
284
272
349
216
300
293
326
289
302
283
255
314
295
350
384
382
357
310
307
361
304
334
368
348
292
409
244
341
351
357
220
329
339
279
372
254
324
335
296
299
363
315
260
328
323
336
301
332
326
323
312
302
270
312
366
364
221
304
293
288
308
238
275
302
343
264
295
314
304
341
329
281
327
253
296
320
277
340
322
250
328
392
352
284
224
401
336
322
368
342
403
358
303
384
239
257
269
331
318
330
374
328
394
358
368
274
288
370
281
359
341
409
248
364
435
316
318
292
295
343
259
259
282
401
385
281
321
361
297
369
328
380
312
317
329
333
246
364
329
275
333
252
305
300
304
319
255
245
328
318
283
304
283
308
292
263
296
370
357
317
345
295
259
273
355
306
350
356
376
323
358
346
366
291
350
218
284
307
327
327
291
335
343
426
377
254
291
351
293
272
276
289
318
363
234
305
400
266
340
287
389
351
345
317
291
314
358
305
313
288
305
352
376
369
251
327
295
296
312
212
234
353
424
342
263
280
387
416
317
322
309
359
352
300
388
335
324
255
305
301
392
277
311
325
291
255
383
332
413
290
336
314
265
318
344
309
271
219
308
288
250
309
246
291
295
332
346
286
264
280
306
248
276
342
301
313
345
356
361
292
338
291
229
303
303
214
333
388
345
300
341
339
246
303
413
319
269
315
278
344
245
324
306
325
375
265
330
310
329
329
284
340
302
344
300
274
333
343
359
242
360
370
307
230
386
310
242
326
328
340
330
296
267
232
350
311
362
299
245
293
318
256
230
282
323
191
280
290
293
357
276
342
279
362
343
299
401
280
336
342
324
313
333
358
300
321
258
377
332
276
310
322
357
320
369
306
301
298
362
287
291
316
257
331
233
325
280
235
286
328
339
333
379
358
416
310
331
352
333
298
331
345
294
294
310
250
381
359
340
239
310
331
353
292
301
352
319
315
377
380
271
344
342
297
272
322
316
365
380
256
262
262
335
287
375
265
323
308
368
304
310
347
311
323
360
319
394
355
314
336
317
344
283
277
359
364
285
342
410
336
289
305
363
327
322
311
305
315
290
364
286
383
222
274
326
328
293
312
288
287
305
302
265
286
330
326
299
406
353
316
277
350
344
306
324
322
364
280
353
364
353
299
307
284
325
333
237
352
264
330
374
347
299
355
212
297
295
291
376
362
324
310
351
345
293
387
360
306
315
286
183
306
314
375
244
321
279
272
319
255
315
195
348
281
281
281
353
280
286
230
306
328
172
364
324
305
354
225
309
228
280
340
273
301
266
243
308
348
329
348
253
345
361
262
344
317
261
299
275
303
331
391
338
296
323
319
302
372
324
288
281
267
322
259
309
287
323
325
307
332
315
259
240
321
321
306
199
353
338
367
283
353
337
287
356
257
352
324
404
278
228
353
330
318
377
369
329
397
420
291
369
280
331
364
327
350
343
357
298
301
349
317
287
292
335
275
346
314
227
337
323
282
281
305
306
258
385
223
301
304
395
305
293
312
326
284
289
316
394
345
371
293
305
364
201
313
289
348
269
305
286
459
361
289
336
425
320
318
330
362
355
390
307
247
298
234
301
309
286
243
286
318
390
280
331
359
407
315
288
337
292
260
301
241
216
264
229
315
366
376
333
374
323
376
287
250
299
335
350
236
309
288
273
355
396
320
288
406
282
343
223
271
289
328
385
273
235
305
365
338
337
268
366
304
333
289
240
294
264
239
279
333
309
285
372
266
324
312
374
398
338
287
329
325
352
360
329
286
319
304
300
266
367
280
421
329
227
330
317
295
339
277
376
335
357
278
347
316
312
208
280
247
331
378
262
273
300
349
348
308
360
391
272
377
368
303
276
345
321
298
314
279
310
299
254
278
356
334
391
271
346
388
367
241
377
345
262
351
331
373
312
273
347
387
251
294
306
319
371
348
307
231
290
357
311
322
318
312
283
308
244
323
310
325
414
279
296
313
292
312
294
374
344
263
253
330
226
309
393
364
288
365
366
302
321
290
380
273
345
247
288
300
330
355
243
357
319
337
319
357
292
316
301
299
317
326
306
373
383
345
306
243
365
262
380
256
277
288
297
295
392
258
358
305
321
345
329
313
240
314
324
225
376
282
306
301
350
254
308
384
344
348
241
298
354
288
310
312
373
364
302
340
370
372
280
283
307
391
325
246
322
255
365
284
305
344
299
413
318
349
277
226
307
316
370
436
264
278
293
269
308
326
251
242
316
358
338
335
304
322
342
339
255
294
280
287
297
266
317
267
280
387
323
329
267
323
257
397
318
290
342
319
348
301
265
274
331
358
307
273
401
265
344
371
356
299
268
357
392
233
309
297
358
274
315
306
340
354
373
252
295
276
320
353
318
334
291
271
274
296
362
306
313
357
327
359
268
308
286
317
314
349
322
289
324
403
321
350
303
361
355
293
339
359
301
318
348
314
290
367
365
359
256
287
376
370
234
287
323
332
295
306
290
250
215
382
282
322
380
389
248
336
402
327
338
307
404
276
310
308
262
364
283
291
293
239
382
307
312
342
352
252
366
377
337
285
270
412
331
228
297
347
291
221
302
329
332
324
250
289
335
406
346
217
306
275
335
332
271
373
247
307
270
347
314
387
331
333
270
328
239
282
271
311
263
273
360
328
295
258
288
328
365
271
306
274
332
369
327
344
325
380
375
352
205
317
293
345
347
279
368
341
343
310
264
395
297
314
402
313
270
306
226
370
227
286
324
290
355
264
282
301
332
319
325
300
227
338
285
402
249
327
280
320
304
350
289
307
304
278
256
314
289
359
251
316
283
363
295
340
334
213
330
271
231
296
227
390
336
298
294
241
352
395
388
275
271
288
374
298
321
364
380
278
322
333
318
340
285
295
388
305
351
308
319
322
353
280
295
419
265
278
282
301
327
253
292
356
337
341
352
318
290
239
319
353
361
295
284
367
216
389
316
344
275
284
271
233
351
363
351
352
419
356
271
242
306
284
361
309
303
361
321
276
329
269
301
306
289
280
311
289
195
334
288
325
322
339
276
329
283
345
294
340
349
388
279
323
209
371
327
337
320
347
307
322
323
287
302
368
287
273
314
348
335
320
339
332
248
331
327
330
311
240
340
354
321
292
391
267
293
282
313
275
289
289
303
267
331
353
325
314
312
252
255
374
287
329
294
353
311
342
340
311
289
274
315
402
313
241
301
278
269
322
292
355
239
302
240
319
357
269
362
248
329
249
396
358
303
372
279
287
300
393
304
282
288
348
336
384
301
386
388
449
287
393
259
264
339
321
206
298
334
391
313
311
292
301
297
325
288
317
348
278
326
187
203
282
274
389
317
359
343
256
325
219
306
290
271
367
345
347
337
245
330
288
257
312
320
397
343
289
346
301
288
354
368
208
314
367
248
305
337
260
244
326
262
277
245
369
329
383
312
303
304
285
312
378
377
339
331
311
296
214
253
287
366
251
362
316
333
324
331
316
273
348
348
325
274
349
282
309
303
311
335
255
311
320
387
396
306
284
278
304
252
298
357
239
428
349
356
283
319
324
205
355
293
286
266
293
244
342
338
316
287
295
307
344
263
402
403
337
329
263
242
317
313
360
283
261
294
329
296
340
360
360
345
339
228
331
336
286
292
315
313
364
294
312
337
302
244
214
241
258
261
272
318
317
362
332
347
335
327
304
336
236
350
371
355
179
318
353
393
332
417
347
318
259
305
263
327
294
302
294
370
318
342
275
270
329
233
398
235
274
325
397
335
358
331
327
288
323
299
334
389
257
264
278
351
299
278
324
348
254
330
325
343
364
310
354
365
292
348
292
373
198
289
304
262
325
328
234
374
319
338
290
326
309
322
277
314
375
202
261
297
234
286
373
314
420
355
262
295
291
294
324
336
293
299
299
282
346
274
278
222
320
357
423
326
293
299
288
322
393
336
289
363
268
289
334
301
339
252
386
397
222
400
368
288
332
321
280
291
277
311
266
260
326
300
328
311
416
378
278
335
288
351
329
319
372
306
273
277
400
315
352
361
309
373
281
252
325
273
278
370
277
265
346
358
307
263
312
372
374
380
353
311
301
303
333
261
303
334
283
280
359
295
280
325
329
305
276
326
383
272
307
285
322
303
304
351
325
267
233
334
341
352
388
299
372
364
337
364
340
282
277
346
232
373
346
256
351
303
390
308
265
306
351
429
315
391
365
299
277
287
420
367
306
253
332
393
369
391
330
329
279
357
401
273
328
292
299
200
343
362
243
300
436
291
256
345
343
301
266
281
320
281
336
305
249
323
283
358
319
280
329
288
364
272
262
373
318
218
345
295
294
349
335
284
355
360
337
400
281
263
296
321
321
384
374
428
224
256
246
290
375
317
297
307
408
391
422
252
317
371
318
249
353
333
294
295
222
356
281
283
344
369
356
405
391
351
356
300
388
376
318
335
303
345
347
356
336
361
339
355
343
355
298
346
318
199
325
247
301
332
357
285
298
280
230
282
370
278
348
292
378
386
377
368
368
314
358
312
382
297
295
334
292
402
233
396
256
291
319
268
316
303
330
345
268
365
388
363
364
308
275
216
316
233
266
293
309
343
320
236
344
325
340
353
386
231
258
322
329
347
241
354
278
358
363
328
262
304
316
378
314
262
257
330
295
320
262
287
320
350
314
313
264
268
288
257
318
252
378
325
371
299
292
381
266
323
305
338
315
314
252
281
330
271
282
245
323
308
383
328
334
238
323
381
305
355
338
280
328
335
317
283
334
273
318
204
324
268
357
378
232
325
281
292
258
318
370
263
307
368
257
355
239
289
260
324
287
331
333
283
368
340
311
346
325
314
346
340
401
265
309
314
286
289
251
287
256
334
389
392
317
305
284
338
321
407
299
349
300
311
310
299
310
260
262
392
296
348
316
313
211
348
297
334
383
322
355
373
299
374
316
353
228
346
263
355
262
417
258
315
326
307
316
328
306
303
318
323
281
336
310
280
317
304
280
350
295
377
336
208
330
356
323
355
362
266
277
266
345
299
258
229
300
275
273
275
300
453
288
357
309
425
275
371
283
363
345
376
261
424
263
277
369
284
341
309
329
355
358
308
375
244
315
303
379
319
395
376
321
279
303
373
365
279
311
282
283
231
349
287
238
284
299
279
295
305
329
330
354
284
343
322
320
357
273
248
272
341
258
317
318
331
338
330
276
214
345
326
355
255
368
256
382
360
292
334
286
268
367
349
340
354
272
318
348
327
272
325
304
288
355
354
257
206
319
365
350
270
278
314
342
268
245
302
314
340
347
293
308
317
332
368
355
304
326
333
347
324
337
240
279
292
312
304
302
253
353
330
319
296
295
363
249
330
363
289
330
290
340
360
347
343
326
374
354
371
318
359
291
376
327
313
349
345
305
310
295
311
283
302
293
292
316
357
295
266
324
238
329
357
282
341
334
267
322
307
339
308
370
305
271
295
276
247
359
271
348
332
342
297
340
344
318
343
293
280
314
396
302
305
257
324
322
313
302
282
290
336
342
295
254
311
344
376
390
345
336
238
322
324
265
240
371
308
319
293
265
345
271
258
285
313
338
319
331
377
274
349
292
366
362
394
327
377
361
287
268
346
331
238
314
390
300
227
294
333
304
324
326
342
319
247
319
340
382
231
269
282
344
333
350
296
300
315
252
330
294
285
292
375
342
422
357
295
367
245
337
372
310
261
376
300
277
267
287
377
264
324
291
350
267
298
326
367
339
377
285
299
262
287
292
314
296
320
366
320
306
361
290
362
204
311
242
319
311
292
304
326
368
384
342
318
298
322
284
288
296
269
360
307
306
318
341
348
357
340
283
325
329
322
359
250
317
324
310
322
277
284
344
253
243
322
288
218
301
338
329
347
394
339
334
345
298
285
326
356
323
295
410
270
317
226
369
317
329
372
333
359
316
342
344
328
249
342
315
319
356
307
303
322
436
324
319
244
266
368
311
319
276
265
302
390
331
267
310
351
307
311
307
344
332
332
296
292
302
294
371
284
328
253
325
344
286
318
342
284
271
307
290
328
243
334
297
296
331
231
401
244
293
315
283
348
385
301
319
275
254
257
312
261
360
253
326
275
326
330
328
246
315
360
334
261
361
267
298
244
349
301
338
331
325
250
292
330
383
267
359
276
355
267
306
334
165
370
286
353
256
313
338
225
308
355
310
312
331
332
293
331
246
309
362
202
318
272
236
242
355
261
252
390
320
403
275
353
352
367
259
276
285
319
278
307
322
245
389
336
317
232
367
339
361
319
343
263
275
253
319
283
337
304
328
344
272
363
241
259
245
307
302
350
353
265
342
373
318
383
290
351
403
337
321
241
252
324
349
344
353
304
272
271
306
323
245
352
284
341
325
273
285
214
325
387
324
323
301
331
353
310
300
254
211
333
347
301
319
305
279
306
325
334
291
417
357
344
283
327
405
314
334
307
272
390
365
283
379
305
317
339
237
308
247
310
302
332
386
317
324
326
258
277
309
311
336
290
293
225
331
295
289
282
312
303
298
287
360
321
299
405
360
347
354
371
335
347
253
331
375
224
257
369
276
285
332
378
316
285
310
355
376
336
293
280
303
320
324
250
391
267
267
286
300
300
358
320
281
239
336
283
302
333
298
423
342
311
290
287
345
353
343
290
271
301
342
387
310
313
322
253
257
365
354
329
323
354
284
344
307
288
362
387
335
258
359
338
249
332
354
222
334
201
298
257
305
273
375
379
374
336
410
357
300
328
343
362
277
268
352
389
399
335
341
348
377
349
339
227
245
267
344
337
400
393
318
262
293
278
315
328
278
336
361
279
409
390
243
345
316
263
370
296
300
320
249
307
205
237
358
312
411
316
324
270
332
349
320
297
354
315
290
322
373
307
292
205
328
353
283
306
362
278
322
296
286
353
351
228
369
289
320
327
310
299
273
348
353
328
351
267
370
395
244
365
293
240
362
327
326
228
421
270
352
392
238
314
341
330
337
315
345
327
360
391
318
339
412
256
315
317
295
251
354
221
341
295
350
352
349
268
371
253
268
296
277
266
291
337
288
350
269
307
301
357
281
329
395
303
313
324
277
341
302
268
304
213
278
312
354
284
349
328
290
315
274
251
224
329
361
362
362
202
253
235
342
198
243
336
274
338
302
364
317
334
398
363
327
293
371
319
349
392
382
369
310
383
318
278
297
229
309
304
297
353
271
356
277
391
325
320
331
299
329
331
308
284
324
360
376
321
300
315
332
361
322
204
319
326
406
271
372
284
277
322
308
295
349
300
360
319
324
381
364
321
270
337
316
309
255
326
286
268
251
359
360
375
340
280
299
340
294
341
284
271
341
382
344
239
312
315
301
345
315
254
379
303
317
269
365
294
219
287
324
341
294
351
295
295
358
297
370
399
394
299
336
280
350
300
395
345
336
300
352
256
310
349
249
303
319
328
301
276
381
295
291
341
353
424
251
321
196
314
306
308
311
268
342
353
286
343
338
310
248
269
342
414
320
282
383
281
339
307
405
352
295
282
293
336
355
282
341
345
355
266
289
383
229
352
267
403
285
332
295
250
184
343
387
292
276
402
288
335
307
282
287
326
292
255
369
303
323
300
288
354
322
323
345
306
330
341
272
303
342
333
359
303
306
345
333
226
311
250
338
373
294
284
297
360
369
292
313
274
256
195
299
356
297
405
276
299
251
291
286
305
226
308
303
292
281
397
341
308
302
333
316
296
291
257
331
296
270
294
389
355
327
310
277
360
297
303
289
311
287
248
250
251
327
221
372
262
368
271
394
364
312
292
268
311
375
206
346
254
324
266
340
299
360
275
295
236
387
374
286
304
309
235
380
293
275
352
241
383
329
361
334
300
265
314
234
335
275
368
301
331
338
278
372
278
377
367
279
390
243
273
298
320
250
261
351
363
235
381
295
349
189
294
308
322
349
288
244
192
286
298
324
343
354
411
335
292
359
287
329
314
329
253
334
279
283
254
266
348
371
360
378
327
312
321
353
321
361
342
344
368
348
320
286
336
337
273
335
350
279
283
374
266
263
281
338
271
305
307
374
298
341
369
271
366
259
282
239
296
216
304
349
294
312
292
291
280
305
308
365
303
278
295
226
311
308
337
306
367
329
394
248
300
367
379
273
300
434
390
384
319
395
204
343
257
366
373
279
383
294
283
287
332
420
348
373
262
325
299
359
236
321
381
333
370
344
364
361
337
252
348
216
271
331
340
332
358
334
278
268
361
359
307
322
361
308
342
204
304
342
297
314
398
379
311
259
308
274
260
322
333
313
236
341
228
293
299
340
349
301
309
326
353
340
285
362
236
301
311
360
307
314
358
323
296
286
244
203
212
383
390
285
319
328
315
250
298
251
229
338
350
375
255
441
294
313
329
234
303
305
323
319
288
386
373
254
404
319
314
315
301
280
325
332
291
383
331
383
370
329
250
296
239
341
320
298
345
370
341
253
277
201
312
298
356
281
257
277
292
310
241
339
314
342
314
330
239
336
325
235
292
355
331
323
383
318
241
395
313
269
311
298
286
309
378
277
272
290
327
260
338
347
324
391
380
329
282
301
352
285
258
323
280
329
396
366
264
304
346
347
357
347
302
271
398
331
325
232
317
427
241
275
279
361
394
384
423
336
331
295
266
345
360
326
296
261
376
276
369
407
390
253
383
365
406
310
325
363
219
309
228
238
363
271
341
278
275
333
232
189
259
392
272
339
352
336
276
361
298
245
251
266
308
297
333
190
356
346
322
274
368
317
329
292
256
199
324
314
316
352
351
312
277
321
318
248
322
345
288
339
329
362
300
339
307
203
383
387
336
303
274
357
247
257
351
309
309
256
282
344
295
276
309
350
292
247
308
284
288
353
313
288
224
358
290
249
421
340
375
290
356
316
277
341
338
245
348
401
298
317
307
311
362
283
281
358
304
309
346
308
313
285
287
311
275
424
251
321
209
325
259
336
224
314
362
366
373
279
263
341
340
321
335
330
346
322
302
315
301
253
329
378
320
324
320
368
364
356
313
222
335
340
269
347
220
395
309
347
337
375
342
239
345
273
309
371
274
331
295
383
272
317
348
188
287
346
344
290
243
314
368
284
314
302
341
299
325
273
361
382
421
375
420
323
339
243
352
351
311
339
287
286
325
370
287
358
323
359
268
356
327
344
333
248
238
280
290
258
372
316
295
243
308
354
363
391
395
351
277
403
257
296
299
235
347
251
298
346
313
341
358
351
374
344
320
349
313
264
345
366
373
252
292
342
253
316
330
317
369
270
373
331
321
348
376
256
312
289
277
349
319
401
272
252
278
313
370
322
361
278
312
303
240
332
352
315
312
303
315
327
311
358
330
307
347
264
298
303
317
270
237
423
405
266
282
333
270
299
359
371
298
321
336
308
302
311
325
296
314
279
346
251
274
298
364
328
389
356
337
388
303
325
322
295
366
305
272
378
326
248
360
347
343
250
281
321
329
332
370
174
251
380
392
336
303
337
292
323
350
213
335
290
347
335
366
319
246
246
312
319
335
234
264
380
270
243
290
357
245
333
318
313
229
310
317
309
239
336
379
354
282
283
367
305
308
304
232
349
357
351
300
311
347
303
354
328
329
289
383
352
303
255
331
271
321
308
264
312
310
327
406
291
287
332
343
286
253
366
393
354
354
283
350
362
332
341
306
328
387
302
313
322
333
280
261
352
365
306
381
315
290
349
363
306
280
310
252
264
337
348
332
280
387
265
386
326
276
363
331
273
257
345
302
281
320
249
248
346
366
288
316
281
337
345
366
308
266
240
306
268
308
335
333
302
391
341
346
272
341
298
366
293
347
280
316
380
315
315
360
342
318
299
292
356
247
382
330
269
288
239
339
339
358
359
321
349
231
298
322
378
195
310
310
387
292
245
314
343
357
231
326
412
332
332
336
309
197
282
352
316
322
317
292
291
299
241
324
357
329
288
335
331
338
239
382
320
320
272
305
281
277
245
202
315
305
289
353
238
309
379
367
306
323
430
305
305
370
415
257
282
202
340
303
343
405
350
309
291
285
271
306
336
283
209
275
244
231
241
341
285
310
277
311
320
321
316
309
358
249
322
265
326
406
307
391
368
385
268
407
307
331
396
310
335
307
257
235
324
225
287
360
211
284
329
356
280
336
281
356
301
349
297
389
222
357
289
329
341
310
385
388
351
334
292
295
252
310
276
388
254
344
387
302
351
306
224
344
337
289
279
278
249
298
301
312
326
372
289
346
339
307
394
259
257
319
295
387
336
276
271
340
181
258
367
350
321
346
320
357
294
333
272
283
291
321
311
296
305
322
387
371
320
383
246
345
355
350
315
293
390
364
377
272
265
356
301
385
346
320
325
411
375
333
324
245
203
260
251
395
303
333
328
367
292
244
358
215
307
309
278
313
352
316
355
253
311
284
296
279
304
397
274
285
359
281
318
277
319
397
275
320
372
282
288
255
301
381
311
325
335
273
305
271
294
359
312
240
337
290
291
300
343
268
269
306
302
308
329
324
292
335
242
350
272
323
254
336
375
293
369
296
332
384
178
300
359
273
342
293
317
263
364
335
289
316
229
279
298
232
214
263
294
315
351
260
278
266
287
308
260
364
265
358
363
314
388
270
266
334
334
332
301
392
273
314
382
280
224
359
304
274
380
336
391
393
263
370
328
408
315
335
284
322
367
275
356
298
326
326
265
291
391
255
351
339
299
385
264
205
301
371
338
306
351
353
299
296
340
218
280
208
321
279
318
344
338
257
325
268
297
318
310
402
335
323
336
322
323
365
388
296
322
200
363
296
339
330
322
213
310
275
324
294
349
297
359
396
268
307
368
340
309
266
311
276
341
372
369
380
322
381
317
285
288
293
314
326
332
283
377
288
293
395
341
289
313
387
317
347
282
277
324
237
213
324
352
373
360
326
292
318
336
390
382
242
417
325
311
309
315
269
294
301
321
239
317
397
310
353
333
275
292
265
320
325
365
342
275
390
358
224
276
327
295
258
358
308
294
358
227
271
306
377
308
246
273
284
267
299
353
362
376
290
324
355
336
295
364
351
274
308
302
390
237
379
274
254
272
277
307
260
270
354
324
375
304
273
365
297
264
299
301
344
333
343
338
298
306
271
294
246
330
310
293
257
363
237
328
202
307
259
285
191
225
355
329
290
285
321
361
265
281
344
291
353
341
338
395
321
378
244
323
311
276
340
317
249
336
250
298
280
256
280
413
277
338
308
282
246
284
293
241
282
338
334
328
348
383
243
340
336
255
296
342
306
236
332
258
384
387
319
381
400
345
187
269
286
278
372
315
347
238
312
245
252
317
339
321
323
295
367
321
369
314
284
315
299
336
314
343
281
357
330
382
297
227
331
307
321
370
266
307
409
330
243
306
358
336
302
238
337
334
331
245
397
223
365
259
307
374
282
204
326
311
295
290
264
326
297
271
242
285
237
237
312
258
358
353
302
305
297
343
323
322
327
320
343
336
328
389
279
355
273
401
280
336
307
231
302
286
345
303
325
341
324
351
355
299
326
333
340
445
349
414
263
292
301
347
316
303
329
289
340
286
326
366
232
218
284
340
294
224
322
355
295
331
299
283
323
262
289
372
279
320
296
387
343
362
377
315
376
334
428
311
308
287
344
350
266
240
308
317
357
380
314
339
324
273
307
342
356
303
240
277
332
297
366
310
326
330
361
352
294
359
376
250
295
286
330
272
327
315
307
390
335
365
265
315
283
365
374
331
292
271
355
318
305
267
291
338
325
261
368
332
345
366
342
303
290
228
372
314
345
349
242
385
350
284
290
358
286
327
385
336
330
405
334
289
289
283
360
236
386
339
231
350
261
309
377
267
251
255
306
277
360
231
334
263
360
172
259
324
341
361
304
361
275
368
369
312
260
330
316
262
331
372
372
277
391
293
328
271
330
361
281
318
350
310
393
306
266
347
259
381
292
308
319
379
419
339
285
269
306
325
274
307
360
238
319
312
297
345
354
332
339
181
295
299
291
305
239
285
292
346
330
283
398
382
353
283
333
304
314
358
375
234
322
365
376
257
327
328
290
333
351
324
293
422
312
318
366
289
323
364
307
340
333
261
343
290
375
375
286
309
329
334
285
259
223
307
317
294
282
331
220
331
305
361
310
297
287
387
345
359
369
426
250
339
264
294
230
322
389
357
389
300
396
268
289
336
301
245
257
338
315
386
322
355
295
309
297
296
322
345
355
327
423
336
314
293
338
277
250
335
333
258
369
288
233
352
302
346
346
301
255
254
210
308
291
338
288
336
314
267
305
320
300
341
235
283
240
357
281
278
259
341
335
316
287
349
358
293
294
368
228
386
268
275
204
348
412
304
321
342
318
297
310
365
340
232
246
311
329
280
293
309
323
274
331
311
308
344
369
366
305
413
306
353
358
235
328
328
327
354
298
293
322
400
354
359
380
345
335
396
354
322
338
310
293
264
313
361
368
378
301
282
352
240
288
337
308
323
338
341
247
246
342
337
332
270
359
378
295
279
299
295
389
341
234
287
295
263
345
287
320
323
347
241
333
330
312
320
378
269
348
298
393
323
301
322
230
290
360
313
366
344
344
346
403
359
312
340
343
323
288
299
291
213
331
298
318
268
360
295
293
377
294
343
289
325
312
332
289
247
319
424
317
316
270
311
276
326
322
319
240
300
323
400
316
295
346
349
325
274
264
339
405
253
271
248
306
396
297
361
303
326
246
330
265
344
366
350
352
387
277
338
349
323
361
364
317
236
252
378
397
251
228
267
327
228
298
281
310
342
291
346
342
322
276
366
385
342
302
308
300
291
313
291
313
306
370
309
288
268
301
337
391
377
358
251
352
322
311
383
258
257
381
357
279
323
281
242
356
370
319
279
361
335
358
359
319
305
323
273
379
347
324
324
228
277
358
377
377
264
275
354
264
311
348
334
278
390
322
260
325
322
278
399
395
371
399
324
412
252
369
263
292
302
210
304
270
341
300
325
352
291
298
273
270
308
340
301
218
372
283
385
356
387
395
340
386
321
387
309
314
287
241
298
359
278
335
357
333
325
332
280
280
291
307
270
322
262
356
353
281
396
341
279
260
401
393
364
368
361
404
280
243
305
303
310
312
307
358
341
336
245
417
300
361
344
327
296
357
319
324
329
280
301
396
308
270
305
264
212
280
307
299
317
357
366
302
264
326
311
252
301
309
347
323
283
339
307
349
304
346
267
339
383
269
308
364
342
264
317
294
318
314
249
335
234
401
388
228
319
266
271
340
324
308
285
338
234
398
301
310
319
339
317
274
264
268
292
272
364
319
285
315
352
310
356
360
313
323
350
337
324
251
392
323
316
343
364
258
304
337
364
229
293
348
428
321
268
259
306
254
283
356
235
314
280
288
257
295
265
353
341
272
285
365
234
251
380
384
351
357
273
319
346
337
267
240
377
275
290
293
364
298
389
273
381
271
267
306
321
200
350
346
210
267
341
371
318
278
307
374
357
282
301
270
342
307
308
287
242
292
321
278
386
331
283
337
346
345
332
283
272
326
290
297
262
302
351
356
270
362
334
319
422
307
286
297
391
307
379
256
344
313
309
423
323
255
379
340
370
284
292
320
277
331
321
270
250
326
390
335
355
321
325
271
295
306
324
331
309
310
383
329
363
310
305
310
287
266
292
254
349
398
290
304
316
295
348
311
342
379
344
308
231
325
370
269
305
369
300
272
258
289
303
314
319
272
355
264
270
309
312
309
346
259
363
372
391
295
343
387
306
326
390
297
257
289
305
365
342
351
289
353
348
331
259
327
333
378
292
240
396
301
357
361
293
353
314
295
288
344
284
318
396
325
373
363
330
241
273
359
304
394
365
299
330
401
295
287
278
311
295
303
334
376
325
312
291
371
282
321
330
267
331
350
370
313
361
286
260
368
370
280
374
237
361
357
285
338
280
342
271
411
221
241
313
367
358
327
351
282
354
262
266
283
338
295
370
250
355
385
252
373
286
316
229
415
321
338
228
344
255
316
293
288
309
221
276
338
341
230
271
225
253
352
310
254
404
307
269
260
311
280
283
313
313
233
365
204
302
251
354
363
350
270
296
265
271
311
294
306
357
295
366
371
260
356
293
361
289
251
306
429
332
271
287
287
289
341
264
297
317
296
326
296
239
307
320
327
306
382
348
270
390
353
385
393
396
346
379
386
344
351
356
290
357
265
425
369
320
259
424
317
336
305
339
276
283
366
348
402
351
349
305
254
271
268
392
306
215
310
327
398
320
239
345
301
254
319
237
277
389
269
348
294
272
312
330
351
284
374
286
311
301
380
251
282
282
401
303
317
361
321
340
348
333
290
309
254
244
302
262
358
322
362
297
382
368
346
211
368
277
309
280
414
216
311
287
370
370
420
333
315
306
310
317
271
348
359
308
316
366
258
301
315
297
282
307
301
388
224
288
278
317
329
375
269
405
214
346
375
277
278
340
338
387
284
284
306
328
285
382
336
307
311
322
265
273
277
316
351
362
284
416
309
269
372
327
397
339
301
316
297
253
327
311
260
284
251
400
372
239
286
202
331
318
325
321
336
355
361
329
388
294
301
306
242
332
266
331
271
309
343
314
355
323
275
353
384
339
382
287
319
279
257
205
322
275
318
197
293
275
210
278
309
353
337
378
276
344
242
323
370
321
303
389
323
433
347
231
278
327
396
426
284
351
420
360
349
296
384
283
333
328
241
339
280
286
269
301
266
338
309
253
304
293
320
351
319
259
273
368
351
406
311
312
178
327
250
292
368
296
288
283
351
337
207
313
353
311
325
296
329
317
280
352
290
296
274
316
242
227
306
233
381
334
269
338
355
270
302
306
308
242
289
347
398
377
307
349
333
355
348
243
283
218
303
370
353
323
306
299
408
296
348
279
292
289
350
410
318
301
379
350
336
323
257
242
333
349
276
279
374
282
325
338
277
360
363
312
317
277
318
281
182
328
342
265
246
306
316
376
238
373
298
239
285
318
328
256
276
319
220
322
273
429
363
357
271
338
354
289
270
355
315
370
337
338
261
266
328
354
339
248
313
357
304
276
348
333
324
354
323
378
302
324
340
324
260
387
356
349
346
410
384
318
296
314
373
380
374
248
284
273
368
306
376
294
364
313
306
333
279
321
264
321
348
264
368
347
207
294
332
288
314
349
357
290
321
350
330
369
242
291
293
263
237
232
264
292
279
233
387
340
270
267
335
294
373
376
343
293
261
321
264
236
357
330
364
277
283
340
325
383
337
275
332
350
249
276
344
353
256
277
362
326
328
314
356
299
267
347
306
331
371
285
263
302
331
312
285
336
313
349
337
431
259
356
338
351
342
385
344
249
364
321
323
303
300
300
285
330
367
380
342
276
426
297
430
285
260
304
305
303
344
319
287
259
347
296
276
330
263
333
355
363
333
315
340
259
284
263
313
332
347
314
255
324
280
262
319
322
251
384
319
252
314
345
300
317
362
352
270
314
255
270
315
301
331
333
292
409
389
317
272
276
353
329
330
342
316
371
372
307
244
291
380
322
259
404
299
349
355
276
271
373
295
279
347
321
379
244
343
333
346
330
336
301
263
447
287
303
288
321
333
361
353
296
322
352
349
342
329
308
309
215
282
352
278
296
373
368
382
340
276
386
329
368
262
319
315
331
245
345
352
392
331
368
277
321
298
337
275
321
343
395
277
245
326
407
312
310
271
350
352
240
268
368
328
256
248
339
199
381
267
276
332
333
289
305
318
253
355
319
393
313
220
375
354
307
329
262
330
387
292
331
310
381
356
358
302
296
277
247
288
242
330
314
294
392
327
347
308
353
294
283
370
333
351
349
331
292
350
280
335
387
392
398
384
216
305
405
384
334
338
310
293
351
397
298
324
327
304
329
337
382
339
329
350
296
374
271
365
356
289
268
226
345
349
342
376
216
278
332
320
351
293
367
343
342
365
225
365
334
377
365
348
363
224
357
303
338
228
318
350
343
342
277
354
281
310
368
301
292
311
300
191
274
325
322
350
368
420
267
304
285
331
298
368
307
361
312
231
412
360
364
248
349
316
333
337
229
358
397
330
262
396
334
340
308
375
328
324
377
334
291
369
300
268
262
248
330
381
339
382
291
361
337
344
377
307
221
321
256
372
360
362
345
292
299
374
321
310
340
347
331
267
366
337
311
314
340
376
350
364
332
410
364
229
303
299
360
325
254
299
319
321
347
324
365
308
278
354
306
282
299
304
257
324
348
317
244
310
394
315
328
287
339
264
319
273
368
278
355
360
334
369
284
304
244
275
358
330
239
297
394
221
365
360
214
370
354
308
360
367
261
428
331
317
378
222
322
262
274
295
324
292
282
302
315
317
399
272
417
319
263
378
376
283
332
320
319
264
381
343
354
357
319
321
275
364
286
327
318
224
355
338
338
316
410
340
349
348
353
303
323
365
292
316
285
288
262
335
330
366
318
277
333
292
349
305
318
297
322
276
432
339
272
253
271
338
282
377
338
266
340
212
276
357
360
260
363
352
348
302
262
281
322
357
339
295
335
328
336
367
367
389
332
353
282
356
289
228
274
359
320
322
266
304
244
315
264
317
319
374
334
305
287
358
404
285
385
330
349
363
316
257
359
296
299
256
372
339
310
359
235
269
249
352
304
284
323
388
316
273
284
254
239
250
406
276
255
344
214
362
416
272
316
316
329
318
290
306
279
285
345
317
293
331
216
239
387
319
319
265
326
342
258
254
278
274
283
223
313
362
311
343
286
293
302
287
390
313
262
288
322
387
297
357
296
341
346
289
240
218
324
305
342
244
219
273
315
243
212
222
353
315
365
336
321
363
403
263
306
355
205
354
316
327
298
397
364
352
271
322
294
368
313
302
405
254
259
375
326
320
317
333
362
276
380
232
335
280
278
325
382
289
213
323
348
253
351
337
372
277
344
321
364
353
289
275
369
333
316
252
301
287
286
323
321
314
293
276
355
334
333
336
348
341
352
323
296
332
267
339
317
299
306
300
317
401
182
378
261
382
315
282
402
279
348
237
248
276
208
315
356
405
348
283
329
275
289
306
232
294
417
312
358
313
260
298
236
280
378
302
336
389
306
353
318
321
313
338
368
371
368
316
317
200
341
359
314
412
260
373
272
364
338
215
352
323
357
323
235
303
307
329
331
359
401
315
247
315
263
330
265
310
382
307
329
301
316
280
374
342
355
332
277
249
354
245
346
333
314
377
271
338
338
310
304
377
390
356
249
292
247
365
337
353
360
295
283
330
340
264
329
280
348
312
302
320
337
271
296
299
371
319
320
316
319
328
251
346
350
308
329
299
288
288
382
410
414
363
307
343
310
298
360
313
387
291
318
239
355
350
356
344
375
323
323
325
341
325
233
271
286
290
237
345
326
308
267
306
402
332
285
357
277
382
324
341
325
266
353
238
311
268
338
303
406
296
273
286
264
268
353
387
287
331
322
325
291
331
356
341
224
292
357
284
293
345
374
272
293
300
240
330
397
331
313
224
346
297
317
358
269
382
366
370
314
358
304
324
366
307
385
383
301
267
216
278
371
337
346
344
340
291
258
192
319
354
316
266
325
307
249
245
281
334
294
360
313
303
269
276
363
313
299
263
271
319
250
386
224
303
324
289
320
365
239
366
352
260
415
360
285
273
241
295
394
265
328
305
266
357
276
359
322
454
303
299
357
302
435
368
325
386
360
319
360
341
374
280
380
296
229
274
291
338
380
347
373
321
232
351
301
280
329
309
383
370
247
280
437
289
266
292
278
327
320
381
356
312
249
285
329
281
192
299
332
372
295
195
256
412
333
345
298
348
361
349
340
294
252
254
409
322
306
284
214
308
333
311
268
390
236
319
347
401
365
317
275
279
426
270
326
283
324
233
329
315
338
257
295
398
388
257
363
372
273
367
326
314
388
314
312
298
345
295
313
316
288
326
395
237
371
320
356
270
341
269
290
330
264
323
322
303
289
273
351
358
345
355
384
269
342
300
269
339
338
375
291
296
282
325
331
312
344
327
338
319
286
351
238
349
281
183
350
250
286
307
284
265
312
312
345
337
376
266
340
245
291
257
390
325
241
286
287
287
354
302
291
324
209
276
354
358
353
335
352
304
315
335
314
303
343
405
361
354
331
292
347
269
286
349
333
253
360
357
234
301
354
220
247
315
325
424
266
305
377
366
267
255
369
356
319
318
265
371
363
269
318
376
225
283
304
308
356
275
295
388
363
274
382
342
299
280
369
237
238
303
344
354
435
265
304
335
344
315
399
318
303
328
334
261
390
273
389
274
295
273
342
317
381
304
311
291
328
297
265
253
295
247
272
282
258
203
279
283
284
302
320
285
357
390
321
276
302
294
290
317
352
306
281
328
284
358
236
325
349
413
375
285
311
229
316
326
300
368
301
295
291
333
282
337
310
295
308
323
350
312
325
336
232
284
331
319
315
290
391
296
298
279
225
346
311
269
297
274
355
357
347
333
323
237
270
342
331
340
288
324
274
321
298
300
334
390
318
334
265
307
308
291
252
333
348
351
307
359
338
329
379
397
281
256
306
371
350
395
299
306
330
338
257
372
316
339
365
364
321
304
287
289
374
311
280
284
321
273
192
299
309
294
393
365
356
418
327
307
300
337
389
429
283
373
234
326
319
378
290
261
374
199
323
274
250
335
325
386
412
336
335
293
343
302
248
370
272
348
257
321
321
350
419
231
347
291
336
294
376
320
356
378
342
266
226
327
378
257
290
198
399
303
400
335
272
306
278
241
309
225
281
326
322
341
360
212
343
309
320
248
258
226
289
387
329
317
287
338
344
372
249
354
319
345
247
295
268
269
296
359
357
286
358
291
397
321
283
287
299
297
353
286
329
383
283
385
255
369
398
269
261
294
290
381
292
298
358
335
290
380
245
238
261
334
295
263
335
292
395
321
289
314
366
232
337
333
440
264
269
351
394
368
186
334
307
358
364
322
243
246
289
390
274
348
349
333
313
331
315
317
289
345
328
240
305
345
378
308
347
320
309
325
330
378
304
362
383
243
324
283
314
349
308
192
337
284
370
291
298
272
383
276
326
285
357
232
256
346
269
283
366
328
296
238
281
294
321
347
310
322
221
340
397
323
259
312
277
336
325
283
339
273
244
320
298
310
329
297
269
307
352
349
261
346
313
330
351
303
346
329
280
302
261
340
297
362
324
371
313
316
305
318
271
301
295
271
368
329
373
291
316
355
288
326
310
340
304
307
279
271
317
321
317
304
263
372
300
316
330
344
302
289
285
351
281
266
327
350
337
394
229
290
322
350
318
281
265
361
329
252
308
292
377
327
350
275
303
368
332
297
312
337
280
316
391
334
327
369
330
258
321
331
348
311
395
318
357
308
318
383
323
263
352
294
215
201
339
270
347
270
259
280
348
343
298
277
349
351
346
271
290
376
351
287
343
301
260
294
335
325
272
319
270
218
338
341
349
374
317
302
322
348
280
277
288
256
369
237
304
382
358
261
284
302
330
298
333
331
341
344
365
351
375
383
356
302
219
288
355
357
311
255
255
313
375
341
254
290
357
329
299
387
281
272
342
304
344
356
297
316
310
343
278
345
299
240
300
380
205
321
231
309
344
331
285
378
275
328
328
434
315
326
313
328
341
257
343
302
294
369
322
298
285
326
235
351
300
246
286
384
246
356
293
332
376
231
362
368
342
303
320
317
344
220
314
287
337
269
264
264
327
382
287
399
227
300
309
314
365
322
233
339
275
389
369
345
262
316
361
332
326
252
277
316
303
336
357
383
333
350
296
375
347
311
299
298
317
361
368
365
315
383
190
287
337
273
264
298
331
259
325
267
377
347
302
305
378
321
306
310
303
343
448
275
361
368
293
258
342
327
359
363
266
331
300
293
287
354
305
327
295
333
354
379
380
325
332
319
286
184
370
283
374
311
247
292
311
241
323
257
361
324
335
277
326
327
394
313
258
282
338
233
357
314
348
288
300
303
363
326
329
338
400
277
272
370
286
315
331
377
260
341
285
263
273
282
328
386
262
311
314
326
345
282
295
245
332
254
357
335
302
282
346
330
270
367
238
270
307
387
266
349
272
310
312
381
313
319
318
282
281
307
311
367
358
301
343
285
318
339
288
324
232
321
315
253
339
337
222
291
333
315
359
368
362
320
346
370
382
385
334
267
307
275
256
360
256
284
307
289
272
376
230
271
337
361
222
381
271
382
244
267
378
346
330
280
242
321
293
279
323
253
331
187
231
386
299
376
361
253
322
323
302
367
394
238
407
347
334
280
295
404
321
391
341
289
325
355
362
343
318
220
377
209
347
379
334
352
308
318
361
343
349
280
235
253
365
377
240
318
263
324
192
353
311
258
291
334
326
296
350
245
258
247
286
316
326
370
279
285
333
388
262
341
274
248
307
316
291
255
260
361
344
288
299
295
387
376
360
283
334
344
331
255
232
308
366
303
286
342
338
393
309
261
330
357
343
374
255
208
350
338
386
270
328
298
271
303
313
347
317
292
314
257
287
279
270
351
319
294
361
300
336
264
276
345
336
311
320
381
285
326
333
278
276
330
274
308
368
306
279
387
312
328
394
296
320
298
307
284
242
331
311
345
325
243
336
379
343
262
252
318
311
251
398
266
331
330
350
235
223
283
305
410
333
279
280
232
277
301
262
306
347
374
316
282
283
359
314
334
362
344
326
278
267
396
270
380
329
351
450
220
354
202
323
391
390
331
338
282
227
300
321
345
280
240
263
259
358
396
315
306
290
361
287
306
395
342
193
346
335
341
226
383
336
410
307
363
291
314
332
322
273
261
374
247
291
307
293
310
284
371
283
319
311
284
289
362
282
327
345
251
280
319
355
314
345
353
359
296
378
312
318
201
267
328
297
270
275
250
295
296
343
372
298
330
322
261
293
392
330
332
281
336
239
278
258
275
371
284
238
393
378
329
310
279
291
358
346
326
284
264
241
309
383
372
393
292
369
310
201
321
305
358
289
359
330
443
253
295
309
316
324
321
363
323
258
266
292
337
338
263
326
317
336
358
325
337
338
335
272
376
310
403
329
328
344
433
335
351
359
355
303
340
378
269
321
333
230
353
308
301
267
358
345
274
303
361
342
281
370
309
343
362
267
357
351
371
258
286
304
343
274
363
330
302
360
284
329
306
290
310
403
407
224
353
248
305
324
280
328
343
310
283
238
337
238
329
301
296
298
358
325
394
339
340
283
292
370
320
303
304
356
329
211
326
390
309
296
335
355
351
304
353
295
315
294
335
310
290
331
267
351
267
212
285
234
292
272
276
237
380
333
331
330
339
288
319
329
313
346
283
315
239
316
333
240
336
327
294
307
331
361
382
270
332
299
315
273
358
307
378
253
248
246
327
262
335
404
244
365
239
329
300
289
368
360
399
265
294
362
310
316
377
334
310
388
344
291
367
344
308
289
359
355
347
277
367
341
278
355
256
251
359
323
323
290
410
400
314
355
270
309
335
331
402
324
274
340
245
353
381
355
235
277
320
371
294
316
275
313
273
307
265
247
273
337
336
310
306
375
373
380
346
397
344
343
316
313
338
241
289
232
334
326
338
343
337
341
291
306
244
308
323
371
351
341
254
260
375
322
312
252
235
336
337
290
341
223
353
299
231
372
328
300
386
268
356
276
341
408
313
279
327
304
353
310
366
333
298
285
418
366
329
310
304
279
254
348
328
349
220
342
286
263
345
376
272
294
426
225
375
338
326
367
337
373
354
286
273
259
352
252
319
342
319
264
261
304
321
400
311
304
293
307
350
333
315
320
313
375
312
238
301
294
347
245
242
300
332
333
322
425
368
312
328
264
342
243
405
195
296
339
403
365
266
268
367
331
365
367
254
401
251
191
246
312
359
279
278
276
324
389
265
350
225
311
362
389
297
212
358
371
276
326
275
307
337
298
291
268
298
264
361
254
274
400
350
304
224
297
288
261
247
275
310
321
209
288
258
318
310
398
291
263
302
252
225
395
402
307
327
362
349
309
297
371
313
281
327
265
318
296
310
326
313
310
286
368
373
334
330
247
337
269
389
311
326
242
324
321
357
351
337
276
353
371
318
313
234
308
294
312
316
368
330
360
313
290
285
308
254
351
259
257
338
303
333
317
366
347
337
285
343
377
245
308
313
256
359
306
385
367
421
382
220
355
311
317
296
358
296
260
298
348
320
270
239
329
361
446
338
285
306
271
220
312
309
337
357
313
364
360
264
192
328
374
283
280
269
284
302
234
323
353
278
361
240
321
321
358
267
242
326
373
381
334
270
264
269
329
330
308
262
333
348
312
353
295
324
372
344
254
296
362
343
362
301
285
399
174
307
295
370
344
326
312
344
352
338
365
331
340
257
426
351
322
340
316
304
247
319
290
280
379
327
365
316
300
383
391
324
345
325
381
274
281
264
242
274
294
282
317
246
319
405
233
258
307
378
340
255
334
356
381
263
389
371
368
296
306
353
398
345
297
245
319
390
284
316
212
356
381
332
342
314
286
298
325
354
253
333
298
404
260
308
365
266
361
313
327
313
392
306
329
285
267
340
348
300
293
273
345
389
307
384
330
326
327
288
244
313
287
333
217
268
286
257
374
332
370
347
281
291
282
348
314
315
340
346
380
371
282
315
307
287
381
290
267
283
363
314
343
259
266
368
283
284
328
313
376
370
346
257
355
327
371
372
343
332
245
256
343
282
342
311
317
229
333
275
317
247
311
305
255
333
306
295
321
380
258
299
261
275
229
347
326
356
418
265
282
244
371
337
347
278
289
281
326
293
304
316
306
341
375
416
346
380
258
289
302
246
333
305
242
266
292
364
296
315
339
330
423
258
345
283
326
248
237
345
386
324
334
279
322
356
358
287
327
350
324
376
317
294
330
289
298
323
262
307
386
376
328
341
305
299
342
324
346
224
355
306
306
324
307
303
374
256
194
290
320
295
355
315
372
395
335
345
358
379
328
375
331
365
334
266
326
324
313
294
306
330
320
302
380
270
294
266
276
319
328
304
367
294
317
322
282
358
315
280
317
307
367
329
214
259
282
350
353
362
259
335
314
301
440
244
356
284
203
314
306
267
379
332
331
274
361
300
243
317
307
329
329
295
286
281
191
223
221
347
317
287
332
299
356
313
276
277
375
312
258
378
402
309
402
329
329
242
332
290
295
264
291
315
276
311
379
368
262
348
349
273
269
347
273
302
306
348
278
383
439
326
382
330
279
295
339
299
269
310
328
299
314
379
302
265
287
314
315
280
389
362
356
361
452
363
311
322
320
319
255
289
199
373
369
231
306
285
322
371
351
353
348
266
335
325
292
301
269
262
351
369
352
208
394
337
358
313
303
334
268
270
343
263
410
331
222
281
364
380
306
336
237
350
280
281
270
261
299
292
352
293
328
354
339
235
362
354
308
317
280
279
307
263
382
302
287
415
344
379
295
336
263
265
327
412
369
302
291
284
341
370
286
330
288
281
297
250
317
325
323
294
281
310
359
277
304
325
355
318
344
284
307
203
327
187
290
329
320
323
312
366
335
282
363
330
311
305
264
367
339
348
309
282
277
292
386
311
275
309
295
295
297
278
294
347
353
271
341
376
293
301
404
363
293
238
335
318
298
370
312
286
358
238
253
359
361
322
362
323
228
389
285
257
297
295
290
301
352
321
371
282
320
405
321
217
277
352
331
388
260
379
274
352
252
327
333
221
339
315
338
258
379
314
324
271
330
324
240
307
232
314
318
256
282
342
331
239
373
341
335
284
342
345
297
347
339
236
318
377
355
247
311
348
254
277
278
339
313
326
344
277
340
303
348
359
346
323
337
402
240
384
278
398
229
233
268
246
370
365
298
381
199
297
278
250
305
260
286
340
411
336
377
271
371
270
330
279
282
228
356
357
276
315
262
350
309
349
383
224
379
224
306
276
280
318
384
302
287
257
241
316
336
248
291
346
364
296
328
282
356
330
340
367
337
271
320
386
298
372
253
309
367
314
256
288
297
298
267
304
396
391
290
289
336
373
366
376
289
321
302
304
301
292
264
313
259
388
309
308
244
218
349
307
285
335
291
392
350
366
289
342
383
241
341
253
292
369
311
256
342
363
316
325
326
348
325
329
413
292
318
267
336
296
265
242
343
309
320
419
438
358
210
318
278
341
209
302
320
333
294
313
278
301
306
301
244
245
391
277
388
327
277
323
269
359
294
232
224
291
339
325
351
368
322
281
375
311
315
232
368
399
319
394
298
287
331
351
316
306
241
332
370
336
273
300
321
351
347
276
318
297
344
361
312
375
319
351
266
270
410
336
302
340
237
361
381
266
341
317
354
317
301
360
311
321
293
353
308
346
297
261
393
329
381
282
257
338
270
313
296
292
286
229
312
259
363
230
293
308
250
275
358
368
223
268
293
316
293
320
251
352
374
310
258
363
330
280
343
227
259
271
290
348
313
240
410
287
353
374
341
214
249
296
319
255
308
279
333
421
246
347
308
333
336
359
343
353
352
300
391
329
344
222
297
302
280
252
305
360
308
296
346
330
373
265
281
232
324
359
383
366
353
344
241
265
331
337
262
254
287
291
357
302
390
309
211
350
281
263
341
333
377
382
305
323
363
283
325
344
258
321
333
256
393
289
334
256
257
256
330
208
358
339
388
355
377
321
334
301
288
364
356
307
311
321
310
287
236
370
291
315
341
316
361
358
337
238
400
287
328
329
307
245
291
332
353
267
329
282
280
253
353
299
334
273
325
292
339
301
226
362
292
335
290
260
332
239
309
343
308
287
317
349
309
292
270
256
335
279
303
319
308
285
398
325
315
328
290
355
301
335
347
290
397
294
288
268
338
345
280
305
245
269
249
272
292
454
318
327
317
407
348
279
342
318
343
295
284
361
277
303
288
311
346
383
300
296
391
342
221
330
341
355
321
336
299
322
259
321
269
416
305
318
318
343
316
333
225
346
387
339
325
354
288
304
281
314
281
292
275
298
348
296
361
347
341
290
275
285
375
308
289
262
268
260
318
277
280
261
282
355
241
312
391
369
225
302
377
386
388
326
248
323
347
325
301
326
327
376
258
307
299
371
266
262
232
340
337
320
327
291
305
358
287
348
268
330
380
298
331
342
358
263
327
328
257
326
246
286
372
338
380
247
339
314
328
345
314
321
358
341
352
313
307
244
285
345
340
306
306
253
310
312
311
400
317
320
277
294
345
352
326
230
281
297
267
349
265
279
283
326
297
290
356
346
382
275
332
328
299
334
299
355
333
338
324
346
367
285
345
288
390
326
288
320
294
334
339
340
295
317
329
315
341
302
367
276
314
286
391
319
376
264
420
311
355
267
345
350
387
291
341
277
307
301
370
369
317
302
292
317
328
280
271
338
344
276
275
408
344
360
305
230
280
322
262
340
363
215
320
299
346
232
283
287
393
299
308
306
375
343
332
293
364
315
325
333
324
282
333
266
264
334
246
231
301
327
315
320
289
231
244
363
322
297
377
350
247
271
205
292
252
325
328
318
313
290
325
340
355
331
337
329
224
307
283
261
277
324
277
351
268
337
320
297
379
368
356
366
379
305
341
288
318
358
380
304
339
343
350
321
374
346
359
326
340
276
370
291
245
331
224
352
305
290
276
298
251
407
365
237
323
303
368
317
321
322
275
321
344
244
373
269
335
347
253
404
222
314
281
356
309
279
322
330
331
284
318
252
170
347
387
353
309
358
393
354
224
289
340
300
322
324
300
261
320
240
324
294
334
271
245
345
313
328
287
313
344
265
253
305
317
262
333
365
222
279
338
353
336
245
354
366
259
348
315
268
316
315
223
322
357
277
313
288
276
362
404
338
338
305
297
311
263
399
339
353
369
326
324
241
340
384
308
282
393
305
230
284
256
304
331
373
341
342
334
236
270
419
297
391
240
316
282
339
351
382
250
268
319
280
338
329
278
374
297
290
324
301
341
306
333
342
301
366
373
300
302
348
315
366
279
320
330
290
267
261
213
349
378
279
343
279
345
306
406
350
286
264
317
304
303
229
298
304
269
324
327
283
316
268
281
328
386
303
326
255
207
331
307
333
258
366
358
311
264
339
391
338
293
343
382
353
344
276
300
373
249
322
335
364
349
336
339
294
356
344
363
319
296
356
332
303
341
339
322
339
368
360
273
362
326
274
265
366
340
218
337
307
304
351
235
303
349
321
328
308
298
266
347
230
318
326
304
308
265
312
321
343
387
301
316
257
249
295
309
308
320
206
404
314
324
277
372
346
319
238
272
358
256
272
334
382
285
259
241
329
351
330
349
411
379
315
299
308
345
252
337
359
351
345
318
346
277
316
289
298
316
353
303
320
364
383
354
256
322
323
331
330
330
380
342
360
341
298
336
353
255
337
327
340
291
346
369
333
242
327
311
419
325
396
363
388
402
305
374
232
373
340
328
370
298
322
301
366
285
263
324
329
283
328
290
254
241
320
265
330
250
373
237
289
299
307
310
390
319
301
339
347
254
319
324
391
372
282
306
340
357
327
312
314
391
249
364
297
360
313
318
307
315
364
361
261
284
363
224
363
330
299
322
325
335
248
237
318
265
316
369
320
338
253
284
316
284
250
248
342
322
277
395
321
361
308
362
210
305
315
275
315
340
332
280
322
277
208
363
201
331
286
331
321
321
274
323
344
265
283
291
326
462
360
355
356
329
271
244
254
352
236
368
271
290
296
310
267
313
335
331
331
269
251
267
281
243
300
281
317
292
331
319
245
278
324
382
325
407
284
355
265
343
289
337
272
328
356
336
233
318
349
321
275
323
326
293
268
300
279
291
391
226
262
316
365
358
357
273
283
316
235
356
275
334
337
340
241
376
387
389
354
371
257
331
289
253
310
274
333
355
364
334
355
312
311
309
311
333
331
342
334
284
346
237
259
298
253
331
332
370
254
358
300
336
397
272
311
282
267
284
382
327
259
279
373
326
279
348
308
343
324
277
273
406
252
362
276
312
335
332
331
326
300
316
262
398
391
377
397
351
289
341
333
234
310
343
332
277
267
365
347
392
309
365
367
309
316
360
314
273
306
338
302
321
366
307
296
312
324
307
326
268
333
356
320
289
302
379
319
344
316
275
325
269
280
373
358
263
258
376
334
225
297
316
345
284
267
262
333
325
328
280
349
251
231
275
308
341
346
270
286
250
270
280
275
319
322
249
260
309
353
305
361
246
344
295
404
357
381
322
380
358
390
302
312
210
295
306
351
278
315
340
297
165
273
307
341
328
288
295
310
328
298
362
309
334
364
304
388
304
327
382
363
367
283
268
369
279
284
297
362
323
302
314
241
344
317
349
258
354
340
316
319
314
335
302
366
357
318
253
245
378
349
380
329
340
326
322
334
237
265
357
315
324
309
304
301
363
277
303
358
392
345
351
278
256
381
260
277
304
325
298
175
264
290
384
315
293
313
335
329
394
375
335
265
222
314
313
302
371
340
303
222
293
356
249
387
377
237
262
397
322
300
319
283
358
365
271
330
275
232
332
360
273
286
324
277
328
403
321
272
277
276
248
298
308
422
370
272
300
312
316
313
365
353
336
279
388
245
280
311
374
359
338
329
326
349
315
370
288
399
239
296
253
242
325
379
385
233
288
339
341
321
286
357
247
291
289
341
296
301
233
362
379
285
301
350
308
359
297
395
227
347
335
352
298
326
341
229
393
404
332
334
278
266
363
255
359
403
319
288
387
273
281
289
257
281
364
362
316
410
277
298
353
342
381
317
399
336
301
274
286
208
314
297
297
308
271
223
208
294
284
310
341
304
330
292
327
324
269
325
381
299
366
368
415
311
272
346
220
341
323
355
401
320
318
261
360
322
346
259
316
295
282
326
352
314
339
309
278
315
390
308
274
382
239
344
344
307
305
278
316
263
312
246
332
334
319
314
240
404
308
247
262
306
276
306
307
303
295
321
280
354
355
356
354
300
227
290
309
362
278
303
370
304
309
272
283
325
358
320
378
273
344
261
272
263
302
402
366
391
303
311
219
215
268
316
308
342
316
265
299
231
335
377
269
311
259
233
251
240
202
272
300
271
369
341
300
352
317
222
278
362
313
309
265
285
361
275
356
322
326
254
381
325
250
271
354
275
312
294
369
271
298
252
342
368
278
355
232
330
289
356
247
323
248
313
293
310
288
402
343
284
335
323
319
365
318
272
343
350
284
307
389
330
266
416
347
371
296
304
267
306
360
277
262
323
353
361
318
304
274
331
279
271
288
324
394
303
321
278
372
354
329
297
237
304
342
262
294
370
403
304
278
309
391
385
289
298
358
303
283
282
334
377
349
267
324
321
315
296
282
316
264
327
358
362
341
279
361
200
330
284
377
236
302
300
322
351
342
228
272
345
344
334
344
312
304
287
351
307
209
340
331
356
371
317
325
335
309
259
342
290
310
310
331
347
324
341
375
285
393
338
282
291
290
349
347
324
375
325
344
306
346
276
320
267
304
277
336
321
242
310
362
399
287
300
401
350
324
330
336
345
243
389
260
277
312
273
317
312
350
343
332
330
356
349
308
353
296
347
299
319
356
330
275
323
280
358
307
346
230
268
323
312
261
333
315
332
291
352
244
413
276
267
282
318
336
264
261
262
287
385
353
315
353
269
359
312
346
344
312
262
289
332
337
323
304
360
261
367
345
390
356
237
302
383
222
211
265
301
317
397
287
365
316
339
388
288
279
294
333
278
234
330
414
391
291
378
271
314
407
316
328
275
276
231
313
277
337
359
388
299
348
322
339
282
321
345
338
319
272
303
298
233
331
281
257
245
344
347
352
335
299
275
297
261
308
321
295
333
253
220
415
272
343
259
361
357
421
328
321
314
281
252
340
313
251
300
296
359
301
361
290
369
321
350
207
348
348
377
312
367
269
313
378
294
265
272
335
317
266
432
323
373
401
294
304
315
385
373
374
310
230
315
299
314
345
391
294
351
323
341
359
334
326
250
289
283
375
352
326
358
242
329
349
290
406
259
349
316
349
297
267
267
338
300
360
275
284
257
320
274
335
280
358
306
279
346
322
345
322
383
319
310
347
279
369
239
409
322
302
266
237
364
298
328
272
326
307
179
388
313
285
273
268
216
401
363
401
307
291
373
317
266
303
301
258
317
273
247
355
318
309
446
315
385
278
218
313
278
294
220
281
333
413
347
295
284
307
302
350
243
330
304
366
339
289
285
340
338
384
324
286
334
388
287
206
317
339
261
329
287
308
298
331
223
326
373
311
265
326
358
321
302
295
328
239
327
296
312
235
299
376
286
306
296
330
355
352
347
378
263
259
340
367
273
301
365
323
218
371
271
345
347
363
355
290
342
272
425
347
364
308
354
319
342
274
373
346
313
290
325
365
236
302
314
289
380
328
325
358
249
381
319
293
300
223
397
381
283
285
368
345
221
353
376
282
274
315
355
332
279
335
295
297
343
283
360
263
296
348
341
376
343
277
253
298
377
281
386
355
337
295
458
339
373
414
329
295
279
341
276
306
379
375
325
340
321
288
299
298
326
278
245
324
295
311
363
336
343
327
363
340
328
299
293
324
291
351
302
336
343
358
347
315
303
349
332
290
252
280
368
266
286
354
361
377
358
281
336
282
233
383
267
317
256
315
286
347
302
332
314
327
340
335
275
366
290
232
268
278
294
312
238
311
302
346
252
289
269
260
262
266
358
261
400
306
362
270
359
301
275
302
353
291
319
270
344
317
260
329
305
347
234
331
360
408
297
270
342
325
246
331
269
341
281
325
372
305
357
327
295
310
285
312
293
295
294
352
287
336
228
334
243
236
302
249
307
314
333
334
338
403
313
334
278
315
347
286
345
254
331
216
349
249
358
304
287
384
297
273
330
314
314
290
338
299
320
306
291
239
341
361
296
262
341
306
400
261
281
284
327
295
361
360
270
295
294
269
265
292
267
312
256
329
304
288
326
312
372
349
330
328
354
336
293
342
278
333
337
243
323
353
327
371
423
311
308
323
345
325
261
314
273
370
307
358
316
295
332
276
316
314
356
278
382
339
344
270
337
292
206
369
315
370
286
259
282
296
292
301
293
373
352
268
278
333
334
288
353
340
242
367
239
291
350
298
373
356
320
352
372
329
321
293
357
227
279
282
247
274
268
440
329
333
253
315
321
297
340
260
412
382
364
325
384
305
279
296
350
326
236
347
338
436
362
260
331
363
341
309
279
301
271
365
312
343
348
320
346
273
324
301
318
294
284
371
355
283
344
235
319
310
266
303
319
364
236
315
299
287
295
281
340
310
304
297
279
344
380
306
347
357
414
276
241
279
338
252
355
315
266
384
268
309
314
344
300
272
270
335
302
285
312
269
332
247
390
257
285
309
382
288
347
312
322
290
321
344
263
335
330
395
313
319
346
264
330
359
324
364
372
352
372
307
322
343
362
312
314
324
258
286
239
253
324
320
385
300
275
250
292
282
343
337
346
345
297
194
290
302
298
285
296
338
283
342
359
274
267
280
362
268
292
256
317
375
315
254
269
253
307
306
278
359
419
274
242
329
300
339
275
283
362
327
302
343
322
295
328
270
312
317
320
309
329
288
237
346
266
277
321
378
355
386
334
322
317
269
340
332
302
287
275
272
296
267
327
270
321
284
315
324
200
321
217
374
287
279
351
273
352
406
340
355
368
254
286
307
288
291
382
379
275
306
316
265
325
268
370
301
334
294
332
403
283
269
282
262
282
333
334
254
343
383
320
370
324
293
336
223
305
297
332
295
303
304
224
384
347
297
277
369
392
291
320
363
319
274
281
383
307
242
307
326
309
376
304
304
359
278
292
308
328
295
297
335
260
336
304
301
319
308
378
238
299
312
349
360
246
371
336
313
270
308
295
265
362
302
306
272
365
380
339
233
364
394
326
383
240
382
336
312
356
295
297
365
334
297
360
458
296
320
315
326
318
306
310
398
308
354
281
340
302
353
268
313
299
262
317
295
305
338
377
212
315
240
248
381
307
325
281
278
288
338
283
326
317
314
315
414
349
330
411
286
276
281
320
307
394
296
347
349
306
322
301
283
259
349
242
268
405
299
262
363
231
353
338
293
295
334
305
298
296
304
342
281
360
310
318
405
350
244
385
336
276
367
365
343
362
207
313
400
306
312
316
243
326
313
351
258
316
360
348
362
330
320
226
404
276
306
324
369
297
212
282
305
351
264
294
384
319
332
236
299
324
250
336
221
366
335
258
320
352
308
332
300
309
331
307
281
307
353
413
307
307
324
348
380
347
323
313
302
351
262
354
343
307
297
227
348
331
285
325
354
283
331
312
244
359
373
356
360
275
321
331
320
327
314
321
289
333
225
333
357
336
273
347
380
253
337
247
281
362
259
359
340
319
196
303
306
288
342
275
375
266
301
229
238
343
266
336
325
282
326
379
316
256
282
279
292
323
259
380
385
292
325
236
314
262
342
349
318
332
354
363
309
311
304
310
299
299
290
268
359
343
326
317
318
281
345
265
327
396
308
375
224
275
254
324
226
356
271
393
354
349
235
366
297
368
316
295
350
246
246
258
342
291
293
349
344
308
292
262
262
319
316
384
278
257
318
341
290
405
335
372
220
270
406
282
280
310
362
351
386
272
318
260
399
326
346
382
276
380
401
306
330
243
307
302
371
303
343
367
288
320
350
314
307
296
306
320
291
343
306
252
383
332
375
296
283
311
263
287
284
332
315
334
285
209
215
213
318
220
345
312
276
366
330
385
356
384
342
328
287
397
344
316
347
331
381
325
247
353
313
281
302
310
349
329
311
295
391
281
303
323
278
338
336
251
334
311
342
327
386
286
369
290
295
400
346
312
399
314
320
361
317
314
302
313
370
345
396
391
319
268
333
297
278
333
294
341
385
334
414
307
361
290
337
273
253
328
421
261
270
385
268
357
220
386
332
314
297
258
364
235
354
337
346
295
303
239
329
309
275
327
338
367
333
311
294
316
225
280
331
327
277
274
288
265
323
267
262
294
309
335
339
338
348
254
322
257
308
351
284
357
313
350
280
344
338
281
295
268
310
288
262
319
331
319
308
312
302
298
329
359
321
302
304
355
306
368
288
314
318
326
299
173
371
299
351
310
315
201
333
388
327
384
365
352
325
313
357
287
305
373
303
258
314
372
328
321
294
398
292
322
379
338
273
311
223
308
323
332
259
245
364
307
282
326
297
262
231
311
396
348
283
314
371
313
287
352
264
282
315
258
261
320
279
256
382
299
396
266
330
288
322
296
296
194
328
329
249
273
359
253
272
322
341
296
322
349
341
397
406
280
214
310
275
361
292
294
268
278
250
319
346
329
227
339
351
379
314
322
329
351
292
350
322
302
341
353
316
309
303
342
249
364
363
388
275
239
286
402
329
312
353
281
319
282
301
370
320
332
251
304
241
298
371
286
312
218
330
304
291
279
321
302
151
296
408
392
345
184
319
328
396
369
323
316
288
291
268
289
267
309
254
290
233
275
292
278
334
346
201
328
379
318
360
353
371
322
329
297
265
333
356
289
362
369
318
271
336
340
295
306
287
287
402
207
309
275
346
354
306
350
299
285
282
260
314
347
312
305
404
277
318
315
244
348
335
263
317
278
287
293
291
328
349
275
370
265
283
387
391
354
327
374
300
316
300
344
319
232
291
262
403
316
296
373
356
322
364
336
381
281
306
322
353
277
260
376
312
283
341
335
309
296
324
296
273
352
252
247
353
351
272
396
296
291
340
351
376
325
280
330
343
290
339
294
370
340
267
366
370
248
355
354
227
373
261
378
294
287
322
277
278
264
365
345
290
296
286
309
319
356
355
251
320
259
369
277
283
286
288
174
355
303
326
370
346
379
323
295
365
417
325
285
333
323
259
300
281
319
222
307
340
286
422
351
263
283
323
297
347
347
273
292
302
406
285
319
391
219
354
330
373
399
364
326
353
196
360
375
334
353
318
361
339
312
327
319
368
332
323
249
313
310
254
355
345
341
342
279
355
347
312
384
414
253
282
389
348
345
264
318
299
326
281
312
245
272
310
385
309
324
348
336
300
314
300
331
388
220
372
282
285
341
327
326
252
305
340
359
385
340
302
318
400
368
337
353
319
284
278
264
306
240
309
303
309
321
264
333
300
331
303
351
345
346
295
307
353
381
344
324
339
323
331
399
305
333
352
270
387
256
297
316
397
239
334
300
301
357
262
357
320
344
314
211
260
357
281
338
301
375
376
262
368
325
399
280
326
309
232
259
367
215
266
344
251
236
287
333
252
344
266
340
319
342
328
241
335
318
310
246
340
261
324
272
232
345
332
364
267
334
314
239
367
342
364
294
328
341
331
363
361
362
279
285
324
334
308
290
262
360
287
337
348
324
310
304
321
376
339
327
366
304
243
334
424
335
330
350
265
299
338
337
333
229
323
187
236
358
346
328
363
185
352
350
376
322
366
340
279
289
286
286
312
392
343
341
275
319
325
322
305
320
314
274
404
270
336
283
382
348
280
319
269
315
277
304
362
353
300
327
277
326
383
356
350
357
253
282
310
256
332
352
332
265
278
318
347
255
316
290
255
237
334
320
339
308
295
343
312
300
275
259
252
354
342
263
410
280
294
321
300
348
328
347
258
282
317
338
258
412
301
297
314
323
310
285
268
258
416
386
242
353
348
256
257
322
301
282
292
314
264
404
351
341
349
358
278
289
314
252
266
300
304
317
288
338
372
336
304
345
244
369
339
311
384
249
257
336
287
360
266
197
326
323
278
221
341
375
217
329
331
261
302
306
382
318
323
278
362
257
295
339
338
393
348
295
448
300
407
255
258
323
321
337
336
339
305
285
397
271
364
362
252
243
386
341
356
361
224
346
323
329
318
343
322
246
279
379
265
294
318
253
349
362
328
300
363
208
264
343
356
333
372
349
328
292
274
404
260
287
326
345
324
271
278
335
377
247
229
233
314
303
398
276
320
352
321
317
273
348
305
331
292
416
372
329
249
183
348
263
367
346
280
298
335
360
264
370
324
382
343
342
379
363
330
311
388
268
322
353
285
333
251
353
376
302
351
332
297
321
379
357
371
305
316
291
247
265
310
349
424
293
332
276
293
361
310
316
339
269
292
329
392
320
348
296
297
266
335
284
307
274
248
273
335
306
289
411
377
374
350
305
244
310
308
286
315
221
406
199
327
329
285
310
267
328
283
365
309
298
337
299
260
292
375
331
277
292
254
307
205
318
287
373
285
275
319
326
310
289
293
284
401
297
327
341
366
269
267
334
362
289
314
366
237
300
270
236
304
341
265
230
287
342
360
320
324
399
308
233
272
321
336
273
339
256
381
309
319
374
276
326
221
361
360
247
312
290
361
243
243
369
315
276
316
247
314
311
289
319
349
359
336
280
334
273
325
189
348
355
365
299
305
183
337
261
310
232
342
355
325
310
344
313
316
410
363
352
290
315
240
331
326
307
230
342
328
366
345
323
346
267
315
310
281
365
281
311
339
255
279
360
381
291
306
371
314
245
346
378
303
320
361
324
407
351
317
328
306
349
332
300
302
362
337
276
238
290
287
331
333
302
339
310
305
311
321
291
343
329
253
268
276
322
435
299
352
358
288
326
354
359
268
335
329
330
315
317
202
350
302
362
290
279
300
280
369
287
327
404
271
342
288
298
303
206
310
273
280
264
310
272
297
408
266
278
349
322
285
306
351
271
344
322
302
292
279
315
316
320
314
263
306
269
296
303
297
334
313
282
313
268
347
293
309
371
345
365
330
342
272
392
438
424
303
306
289
325
346
346
336
409
286
318
296
346
309
371
345
286
340
230
383
242
296
353
350
283
359
293
345
323
324
277
396
383
243
375
331
417
353
314
370
350
308
306
288
274
270
243
293
312
361
371
292
333
346
417
306
355
225
224
337
258
351
280
269
305
344
307
292
424
314
321
329
256
344
318
331
297
346
356
365
268
306
435
354
260
282
300
302
282
277
317
348
291
338
282
265
298
280
344
266
440
293
306
253
414
351
277
327
332
365
312
268
374
354
328
304
346
367
283
289
250
293
344
263
351
228
295
267
342
337
331
341
260
409
287
377
283
319
252
257
389
340
332
349
328
273
230
345
237
323
320
345
344
326
227
389
288
264
312
364
401
340
335
374
274
363
316
325
346
272
364
342
317
357
424
331
386
372
316
269
332
265
403
345
220
360
303
299
371
261
378
324
311
286
317
278
267
310
299
400
341
292
291
370
266
312
333
232
293
246
354
240
355
371
324
313
313
325
285
249
333
393
300
335
254
254
383
313
309
336
345
375
312
252
361
231
263
309
230
305
337
255
269
322
312
352
313
282
337
376
312
251
330
278
351
303
363
362
334
415
306
382
324
332
346
290
347
266
334
336
343
318
302
299
321
255
195
219
280
361
356
261
275
294
369
334
296
289
298
302
339
405
322
266
247
331
329
250
289
259
299
264
274
349
301
376
315
384
359
247
363
321
383
324
351
295
272
338
279
330
263
291
338
229
318
350
294
368
327
277
329
338
282
323
236
343
315
367
315
335
313
336
316
250
285
286
311
275
338
285
269
288
249
284
241
236
364
437
236
261
296
292
320
313
338
383
328
318
228
330
295
319
326
357
376
269
264
303
312
292
345
282
316
364
334
345
334
352
354
392
309
310
339
362
327
311
378
236
316
306
268
317
340
357
354
356
278
301
286
346
218
276
346
302
299
330
367
323
331
335
384
239
306
368
287
335
351
269
337
293
336
301
364
362
342
389
260
367
231
342
456
349
339
296
353
298
298
282
212
297
340
259
332
329
365
399
312
249
279
225
369
283
333
368
329
293
277
415
365
347
379
304
360
418
343
268
311
295
213
388
362
336
260
319
326
282
318
290
303
323
295
387
289
222
338
315
378
272
325
332
326
282
367
386
284
363
221
332
308
310
344
252
287
331
357
375
360
228
202
208
306
357
276
384
371
299
351
371
364
339
236
242
384
363
291
330
273
375
301
369
233
328
340
339
307
245
344
337
299
317
327
338
350
197
209
322
300
280
276
286
334
291
323
316
312
420
390
341
318
363
249
225
373
338
306
395
326
304
340
374
320
348
263
274
308
271
316
421
281
335
323
335
281
376
382
340
321
248
305
318
290
314
305
312
331
342
255
345
355
371
291
242
288
291
302
332
337
287
275
289
365
299
345
350
344
325
316
355
361
306
263
381
404
360
382
343
346
276
317
384
288
311
301
208
342
303
326
311
276
278
285
362
350
339
301
412
332
329
354
282
357
300
329
354
324
337
361
251
340
305
284
323
341
222
350
358
375
341
344
343
244
341
294
287
363
253
338
388
360
345
223
278
317
314
284
356
324
324
292
343
303
294
272
371
272
245
320
271
319
332
304
357
304
328
356
339
281
293
330
269
331
339
343
316
315
308
351
378
282
326
329
319
325
259
340
344
296
360
276
357
298
333
270
294
301
336
340
306
355
376
310
399
286
276
172
262
313
342
318
325
363
310
283
353
340
339
351
298
372
408
314
335
357
212
286
371
332
388
285
335
285
343
314
345
295
329
292
375
348
295
317
247
321
349
258
306
334
284
310
297
353
266
342
330
363
315
369
283
330
283
353
285
367
314
340
246
368
368
397
289
331
305
350
401
279
357
358
375
260
307
339
271
345
325
319
352
265
239
340
279
348
297
313
413
405
313
376
337
353
291
278
394
392
331
297
354
288
310
255
346
236
228
330
385
291
273
321
381
312
312
334
343
389
306
382
331
386
262
258
280
292
301
335
364
309
376
317
340
310
272
369
293
289
336
325
358
298
363
393
371
314
216
316
343
317
310
332
313
168
304
269
349
339
334
260
340
381
334
304
328
332
238
362
275
322
265
285
308
307
346
369
339
323
262
265
228
244
349
327
353
284
258
321
341
320
267
295
332
328
301
359
317
349
322
360
322
302
286
276
329
321
270
374
385
353
307
274
310
317
307
361
363
155
361
360
367
251
329
251
376
389
313
311
359
315
266
278
303
302
283
364
339
326
269
283
399
360
343
336
265
279
323
310
268
284
325
224
288
380
357
383
351
277
325
295
230
271
278
335
263
208
360
306
263
323
257
259
254
337
278
261
323
282
283
339
366
316
280
352
381
284
259
263
319
277
313
338
360
327
288
350
254
384
319
271
309
329
358
352
309
310
247
380
325
357
359
314
390
393
353
354
379
326
293
309
310
340
377
329
310
374
322
437
386
261
278
277
325
332
341
275
218
348
251
339
376
277
317
247
351
283
355
315
397
281
350
241
362
273
260
338
365
348
327
339
258
377
371
333
266
322
306
281
305
337
273
307
332
297
355
351
259
314
363
349
253
294
298
343
333
369
204
283
348
314
344
326
311
301
309
317
348
226
305
370
232
304
337
258
303
434
335
333
321
257
363
308
306
361
360
239
239
383
320
308
358
417
281
356
388
269
323
396
359
306
298
358
290
272
261
318
357
287
326
376
348
288
333
332
292
290
356
287
282
332
299
314
269
208
356
321
269
302
282
251
358
284
352
358
225
329
389
338
374
260
327
328
328
350
370
254
327
264
400
341
329
308
274
358
371
276
378
254
284
244
378
267
351
281
297
284
379
311
352
369
279
325
277
278
292
391
370
441
312
276
256
271
274
308
312
292
294
318
350
327
227
225
361
381
291
279
275
238
320
232
288
312
303
313
321
285
350
378
315
307
299
245
240
306
255
259
339
316
336
284
281
327
180
323
241
329
236
371
312
321
259
340
286
246
349
344
431
346
296
382
245
328
344
356
365
363
282
257
203
326
339
366
270
359
358
308
332
343
295
314
318
255
292
340
245
339
362
265
301
341
364
319
267
253
356
294
314
251
392
345
312
334
350
394
348
304
305
323
271
247
278
285
312
387
294
261
328
267
340
280
286
383
239
272
373
287
202
300
398
335
285
314
333
325
344
322
264
280
379
287
352
294
364
216
368
364
357
253
371
292
347
223
386
273
317
368
263
256
296
208
389
332
322
232
246
324
327
436
242
239
256
382
277
329
290
335
263
341
271
306
266
309
299
253
290
246
353
296
375
396
312
306
260
341
332
300
308
370
288
334
253
296
288
310
300
341
367
336
271
289
277
333
326
308
313
261
266
314
250
268
299
205
351
246
320
228
372
257
349
392
242
335
393
293
302
310
349
298
235
244
322
301
288
360
281
288
296
294
308
335
269
370
307
345
283
337
324
375
270
296
377
358
303
272
147
312
364
275
277
301
342
209
307
342
341
338
330
366
308
231
348
395
387
324
313
313
314
331
357
301
322
319
268
255
258
302
276
400
375
362
256
279
292
282
305
330
289
368
332
281
395
288
260
388
376
293
342
359
351
421
250
190
249
285
291
303
379
316
402
307
331
250
227
316
331
347
313
390
350
368
316
286
228
290
296
316
233
290
210
275
393
324
360
288
266
347
329
349
330
285
356
349
344
274
319
370
361
342
334
360
274
306
362
367
347
241
235
312
297
389
278
359
323
195
249
264
364
260
287
323
354
322
384
332
296
312
327
317
384
253
221
282
297
322
251
330
314
355
355
328
378
349
346
286
361
295
294
212
297
382
362
295
307
219
315
309
239
327
190
322
223
351
366
314
298
378
363
303
321
231
331
297
377
292
340
307
300
377
330
362
223
258
419
329
325
319
336
330
292
367
207
287
343
362
410
304
217
339
261
258
266
209
271
301
222
344
236
366
355
299
367
265
241
311
389
246
282
248
284
318
294
297
365
319
285
349
390
313
341
256
346
352
334
284
284
348
301
190
257
274
299
300
327
305
315
272
267
392
314
326
267
366
326
364
321
382
389
292
303
335
377
442
344
327
364
301
272
337
278
291
341
343
343
296
365
287
270
405
271
296
324
287
267
267
224
289
274
332
299
412
296
385
328
299
347
314
273
332
282
404
321
266
276
314
351
316
392
296
366
407
267
322
286
225
290
318
285
310
315
307
284
280
267
296
332
307
337
275
281
338
293
353
262
310
288
335
373
322
260
375
292
304
431
319
229
192
260
293
316
301
306
376
408
386
321
263
248
300
284
233
383
342
317
236
270
286
324
325
352
331
267
337
260
376
302
318
272
335
286
376
282
286
316
274
368
287
340
259
295
266
350
291
353
278
248
375
332
330
312
276
249
265
323
277
275
275
314
297
389
299
291
385
315
281
293
327
320
335
297
296
337
318
314
358
383
267
247
374
307
271
342
265
377
335
319
301
318
359
308
321
407
388
369
334
354
303
287
318
300
268
325
361
317
379
294
261
399
190
271
322
224
266
279
334
310
290
348
291
308
308
285
366
298
283
389
305
357
390
345
307
332
347
269
278
264
325
252
329
243
285
293
335
375
313
307
305
364
258
302
358
278
322
365
376
318
228
419
317
316
312
355
306
288
348
321
243
308
408
293
369
304
256
261
367
237
300
247
298
296
337
372
301
311
300
295
374
333
297
210
312
310
224
406
310
370
404
340
332
295
311
317
244
357
363
270
280
299
284
173
373
337
335
334
316
251
369
350
286
291
358
349
325
336
305
237
238
275
397
234
341
325
227
347
288
310
384
248
351
347
293
359
253
319
344
235
348
286
282
319
249
233
380
380
257
283
320
356
263
345
310
367
294
276
251
349
330
360
296
290
321
342
288
335
206
363
288
274
305
292
307
284
348
337
270
262
317
333
327
306
322
342
280
211
303
301
314
320
287
293
358
270
287
312
335
348
253
250
368
375
351
410
292
329
367
309
284
362
356
334
362
221
345
342
250
351
277
401
291
262
267
272
238
284
354
322
327
353
236
297
405
334
353
321
337
201
337
280
225
323
345
329
317
353
334
269
296
348
349
302
289
300
283
303
275
391
344
285
318
229
187
364
387
336
333
366
270
269
283
365
311
307
314
345
327
293
251
348
282
347
310
292
283
346
299
328
351
215
394
273
312
329
304
310
274
332
339
324
282
283
387
267
335
306
305
278
276
335
336
350
311
417
414
419
298
340
294
315
257
359
333
350
331
328
293
279
315
322
431
337
345
338
308
289
318
306
291
321
169
273
303
346
306
309
329
290
352
365
258
325
347
332
340
339
259
296
363
323
220
308
314
375
347
287
308
345
345
335
343
290
355
368
327
316
254
319
306
358
334
269
339
347
237
308
323
340
320
229
275
328
295
224
348
360
397
298
318
285
288
282
378
270
269
296
300
351
300
295
274
390
303
375
337
335
238
293
331
319
303
310
269
382
371
290
337
333
305
321
360
286
298
284
252
300
282
430
336
265
278
317
307
284
368
321
402
361
301
275
273
287
313
356
320
241
255
315
358
292
291
350
307
291
328
317
389
383
329
356
249
356
318
361
396
351
296
283
303
302
270
319
345
353
317
361
332
245
333
404
293
379
381
324
332
252
321
291
360
245
309
304
352
240
356
346
240
299
371
330
297
276
251
269
339
307
276
324
250
347
430
236
305
320
405
260
313
266
289
332
335
295
354
330
292
317
286
370
213
336
336
288
383
272
269
338
276
324
343
314
342
340
278
359
328
243
327
324
297
314
313
240
322
274
310
368
300
238
274
333
308
279
335
350
260
289
353
251
306
358
329
343
405
344
337
307
282
191
342
295
358
291
244
349
348
363
331
280
335
359
308
273
282
339
389
304
311
418
439
308
344
340
388
382
351
295
264
246
339
241
328
356
290
375
302
327
226
408
304
328
250
299
348
316
258
309
265
336
382
338
335
358
277
209
363
287
249
303
284
362
303
301
318
341
386
332
309
296
275
370
359
299
217
363
290
225
277
305
272
300
264
278
335
309
356
313
320
349
332
263
305
307
225
312
415
361
270
407
271
227
338
368
364
302
292
277
303
305
324
395
311
303
344
281
261
338
286
311
299
341
306
335
322
369
256
242
311
396
344
291
301
295
316
326
242
346
311
299
329
255
373
295
324
397
395
279
336
362
266
277
377
332
386
289
316
393
329
399
301
306
367
269
308
322
339
365
298
326
304
310
358
337
323
385
250
332
359
266
307
328
297
282
308
337
384
303
349
336
386
269
408
313
328
340
327
308
335
297
306
329
344
255
232
324
296
361
276
246
284
360
308
317
325
337
315
224
206
339
316
325
296
290
324
330
347
291
314
334
306
302
303
287
285
287
324
386
310
330
313
383
291
307
288
298
353
305
354
302
303
249
319
284
258
266
361
374
248
340
193
292
265
396
346
351
352
328
310
245
371
212
253
283
248
345
278
377
373
251
343
330
257
353
349
272
299
295
346
273
380
286
224
294
285
320
251
326
341
339
377
344
291
256
262
314
354
319
342
354
401
351
305
267
266
310
266
338
319
278
335
244
376
331
352
314
268
382
357
318
268
343
313
370
273
240
340
295
333
289
254
279
360
294
260
375
352
273
302
309
301
331
338
351
419
356
381
345
332
337
250
232
329
317
279
342
338
302
332
293
367
360
259
370
279
262
411
323
307
371
342
281
359
302
221
355
324
371
304
299
304
359
241
282
299
345
361
225
293
303
260
439
287
348
326
290
298
323
261
272
316
344
381
246
316
271
348
304
266
259
403
328
320
375
371
344
305
279
291
244
270
298
275
295
348
328
186
315
344
289
344
359
348
358
276
362
334
330
314
269
383
305
396
264
258
349
218
313
272
370
312
300
308
345
234
226
300
337
361
332
200
280
362
376
210
402
290
270
284
317
317
349
380
313
337
303
313
303
366
285
271
298
263
399
313
317
330
367
262
349
325
295
329
298
400
373
322
305
296
345
359
414
234
319
325
275
255
318
242
358
380
339
332
338
339
331
240
307
334
327
292
332
341
350
371
292
275
424
291
338
385
329
251
280
281
308
288
333
359
330
368
380
315
232
255
280
317
318
354
295
300
403
398
295
327
253
306
293
301
336
320
307
290
377
170
292
289
260
266
296
383
272
331
265
275
339
325
363
309
396
340
345
349
286
378
252
278
328
301
372
363
316
321
390
312
287
324
325
315
354
407
286
351
298
292
305
355
268
394
246
299
431
340
345
344
294
300
250
313
308
259
265
318
315
332
236
377
364
374
326
263
322
361
321
270
422
372
248
284
338
304
272
274
307
342
247
360
338
247
338
198
312
254
236
293
321
312
344
323
255
323
308
390
389
328
356
302
350
234
270
298
349
354
295
342
352
278
280
295
268
258
258
257
324
380
268
275
291
353
292
274
320
269
255
322
301
327
331
290
257
316
363
356
251
352
318
299
286
243
371
283
369
308
253
379
310
309
312
253
370
308
312
323
365
354
333
301
334
294
331
265
318
362
361
298
353
362
298
333
287
336
358
190
263
296
300
321
377
261
288
250
302
280
256
302
230
332
322
327
256
305
305
317
324
354
311
300
295
327
322
271
349
283
360
257
315
277
269
309
277
362
331
403
206
306
370
334
363
262
314
326
316
307
383
375
316
305
390
359
308
325
348
373
304
305
301
321
369
326
203
366
304
311
390
303
257
331
361
256
322
253
319
347
359
257
305
376
350
366
291
265
348
394
340
328
242
338
352
328
320
426
306
247
381
310
296
347
306
304
331
326
249
316
360
327
362
332
363
289
325
346
332
249
329
238
260
327
297
294
253
378
305
344
388
371
264
284
307
322
396
338
294
300
278
338
312
295
303
299
287
227
199
249
297
218
273
376
360
325
382
403
369
319
347
271
353
317
332
330
260
267
229
324
296
249
336
247
315
376
374
292
388
273
341
346
297
348
317
386
257
247
263
277
199
266
274
351
287
251
273
399
349
333
270
297
298
302
270
375
338
353
317
422
318
318
296
281
300
312
395
359
330
347
340
340
375
263
323
339
275
337
339
283
279
310
360
266
280
329
222
305
285
253
362
319
378
335
302
330
259
256
350
332
389
401
333
327
297
284
335
272
317
290
340
323
338
291
305
271
296
323
409
348
334
243
334
293
372
354
288
248
265
341
293
338
233
335
347
366
321
263
304
332
351
390
333
355
321
301
346
297
272
255
333
312
315
337
299
299
363
270
294
280
377
298
385
271
358
316
221
334
379
340
205
304
363
361
249
353
206
294
286
287
302
295
356
290
289
279
309
326
362
332
321
361
286
336
341
285
271
283
294
226
381
310
364
259
307
240
219
313
318
328
358
260
313
383
275
423
334
319
325
315
328
323
291
292
214
220
235
244
284
256
351
268
296
306
248
333
314
268
337
285
359
264
360
328
385
302
376
330
316
284
272
384
324
264
368
394
366
297
325
352
332
300
261
194
252
408
366
188
324
286
335
335
311
332
312
372
303
328
269
299
272
320
250
270
342
311
366
334
266
268
299
216
333
326
265
332
334
304
300
346
220
290
297
380
387
263
410
263
394
268
356
389
306
260
379
294
380
346
330
299
221
339
397
272
296
183
371
338
307
318
365
311
289
312
247
367
350
402
306
299
317
281
348
261
337
336
363
205
364
217
353
398
284
281
277
319
430
293
302
345
282
416
410
274
252
329
373
243
278
323
305
261
350
234
272
413
335
301
338
286
390
350
301
338
319
306
307
276
334
298
293
295
239
301
302
321
217
260
397
311
383
360
321
328
357
322
265
399
353
386
261
366
287
322
328
383
288
393
313
283
300
329
271
325
317
292
261
258
218
310
323
250
333
320
314
394
385
328
290
293
392
239
234
348
403
234
306
249
336
410
210
312
301
274
337
330
336
349
344
305
304
255
298
416
311
341
307
357
386
366
276
330
333
388
337
299
275
338
319
353
250
306
288
329
332
268
325
360
402
325
358
261
284
277
286
301
319
270
366
379
339
304
242
318
259
315
318
250
282
265
357
337
314
402
324
330
305
379
313
340
365
264
262
331
253
301
371
253
344
384
375
315
342
364
304
251
358
389
209
363
364
322
280
269
352
323
298
297
290
289
271
375
303
277
264
311
250
257
309
352
370
247
321
292
271
291
304
279
330
253
339
441
288
294
247
309
384
283
419
289
272
344
358
385
242
297
324
235
273
307
330
224
350
239
276
372
196
330
378
300
388
364
308
276
292
297
278
329
323
371
308
331
269
317
343
321
323
296
360
258
339
256
319
379
288
329
279
288
256
324
359
327
379
292
297
353
338
356
294
330
413
278
215
278
268
277
312
294
318
264
315
349
285
259
366
424
286
264
319
299
281
347
279
349
289
283
349
403
335
341
338
410
340
314
371
346
337
231
257
292
326
350
347
333
329
357
428
360
320
390
286
326
345
252
343
312
385
332
262
235
210
295
289
355
372
362
351
354
305
267
396
399
319
233
328
295
344
340
331
359
342
375
190
320
368
343
314
316
237
289
324
326
369
305
285
376
271
296
268
278
351
274
325
269
289
217
317
342
273
337
311
328
314
391
303
294
306
331
337
329
414
379
230
338
295
360
364
250
415
347
292
355
321
332
324
277
296
321
298
294
347
318
224
370
266
343
279
327
327
352
304
369
438
298
321
324
324
288
303
353
296
332
382
294
297
395
246
362
265
339
351
208
390
238
361
368
259
343
342
281
319
317
357
340
289
306
304
242
205
412
252
252
371
228
247
333
316
255
371
377
367
296
285
333
298
383
303
267
305
301
307
336
326
294
374
277
378
315
388
296
293
387
275
255
281
271
336
383
274
316
324
202
356
287
285
270
331
327
268
344
321
247
363
394
277
319
319
278
280
340
343
396
335
369
319
335
333
309
345
320
372
300
351
339
329
259
305
286
255
270
323
292
286
330
319
337
315
288
358
330
361
291
280
366
249
302
447
366
267
261
381
337
295
348
297
294
357
307
146
288
203
293
322
403
355
360
345
278
281
320
340
343
264
381
292
325
353
335
327
258
331
365
294
354
230
389
324
350
355
323
345
298
374
262
273
328
216
317
353
373
282
271
269
309
294
336
351
276
342
259
313
365
358
355
325
293
320
410
336
253
349
307
326
312
224
384
427
288
291
337
293
388
286
350
366
312
310
330
227
364
367
355
320
338
283
329
343
257
361
353
358
320
296
395
274
347
310
389
339
254
366
308
284
316
306
322
222
371
325
310
335
318
216
326
416
288
345
310
314
255
298
292
354
341
303
332
313
315
275
263
303
284
281
385
317
351
315
328
275
326
289
308
300
318
276
303
370
346
260
421
298
484
259
304
328
337
311
256
266
269
334
350
323
357
209
275
280
334
335
372
285
302
328
296
307
293
281
303
284
308
326
301
309
346
290
312
335
343
323
351
313
368
263
234
297
293
230
340
366
326
299
354
320
409
313
286
296
301
407
318
323
305
306
358
386
418
370
288
343
225
368
315
299
341
348
219
242
271
362
320
283
286
300
345
333
311
341
330
321
320
317
315
306
243
370
285
242
214
371
283
329
344
335
297
366
258
266
310
266
285
280
254
289
296
397
377
358
305
245
324
327
363
374
330
277
312
325
349
312
291
288
437
304
204
346
266
301
310
299
360
280
359
313
355
297
363
317
319
279
310
252
273
331
360
299
326
313
302
311
273
311
329
341
302
248
256
340
320
284
290
293
350
275
289
391
318
338
350
277
294
363
317
364
290
252
309
402
328
219
299
285
294
335
254
274
387
354
303
277
318
312
296
357
331
336
305
348
300
303
278
314
366
333
229
285
336
376
323
301
300
323
426
303
331
314
307
308
307
284
280
350
317
335
282
260
297
250
333
334
328
282
332
203
282
281
333
241
319
359
279
369
250
302
326
283
298
330
334
290
279
330
346
285
284
291
301
320
272
305
308
367
312
268
267
302
341
338
321
315
328
282
378
362
310
295
291
282
309
336
242
351
328
362
304
367
318
291
277
297
379
370
304
260
264
303
287
298
398
235
279
290
288
371
311
339
286
332
346
221
412
330
274
278
365
319
308
341
353
287
358
283
255
310
276
282
284
252
232
297
325
282
252
338
334
271
353
232
325
328
321
291
344
338
336
239
351
326
240
290
413
275
275
263
341
317
349
300
311
334
422
341
355
277
311
372
351
201
317
358
279
255
290
338
379
324
261
307
276
345
378
322
292
337
239
368
289
323
343
281
338
251
317
364
331
336
321
290
299
298
314
328
225
360
326
236
314
338
333
298
340
373
331
275
314
341
278
338
268
265
317
332
354
290
351
319
340
294
325
354
292
358
244
277
364
366
227
261
250
304
329
350
345
342
360
390
228
260
396
286
424
254
239
309
339
329
387
243
263
339
346
187
309
281
309
332
284
347
307
337
216
390
394
313
354
274
326
316
380
272
302
365
314
353
299
321
249
301
314
287
244
236
287
257
360
217
301
276
355
307
262
387
303
366
315
292
305
299
301
309
295
246
266
396
248
344
316
337
377
350
294
258
397
297
368
344
300
268
287
269
299
300
312
302
350
348
295
330
279
313
376
281
238
289
317
314
359
341
273
381
261
361
415
308
383
323
317
336
365
232
312
342
284
308
289
308
285
398
293
299
309
296
363
326
370
348
262
395
249
341
343
362
287
262
311
377
324
328
309
281
333
323
339
255
270
345
374
320
330
263
370
366
263
310
394
328
323
363
397
320
285
285
320
342
342
344
333
295
265
339
326
330
381
248
303
267
306
292
363
308
235
404
336
259
421
360
324
201
342
262
310
352
384
299
322
325
321
254
323
356
353
297
303
232
367
324
361
272
339
369
289
299
343
263
300
328
307
320
319
326
380
257
315
322
286
420
302
375
296
387
236
325
334
312
360
325
389
239
436
347
317
271
369
281
316
335
269
292
294
307
351
357
296
352
325
340
280
291
413
258
320
289
211
325
376
349
306
257
351
271
398
354
271
306
337
328
297
321
288
325
379
260
183
345
337
248
329
335
356
359
331
306
382
299
267
305
356
317
185
347
328
182
375
369
282
264
338
335
266
334
306
244
324
273
311
375
340
261
297
274
235
326
289
261
293
331
261
249
362
320
300
299
308
272
361
396
311
252
358
356
323
381
276
347
368
319
384
307
306
311
234
311
302
331
295
316
306
279
410
315
364
327
301
370
296
281
296
354
335
311
308
282
355
291
323
340
337
291
292
402
322
281
336
357
296
319
344
381
328
265
379
387
390
295
300
326
360
337
352
260
285
307
302
358
261
295
326
328
331
370
352
357
300
289
381
335
338
313
347
309
259
281
329
388
290
289
356
327
332
322
310
333
221
317
371
297
323
303
268
321
328
344
359
299
325
342
308
280
366
300
324
284
334
307
327
257
354
325
224
256
344
324
333
344
351
346
229
250
362
345
289
281
351
357
367
342
299
352
297
272
234
274
277
363
337
267
327
302
314
361
406
326
332
273
300
324
332
301
352
399
273
391
249
309
300
213
249
424
428
282
346
370
304
336
322
319
297
345
337
320
333
311
426
340
415
378
294
263
361
290
292
320
322
326
311
305
298
279
253
334
272
320
258
272
309
368
299
365
231
348
261
275
354
368
362
406
357
376
220
405
301
350
280
389
235
249
330
348
335
347
330
326
314
301
280
377
365
289
282
376
191
313
320
304
333
383
223
325
280
347
337
323
319
262
328
273
276
345
300
318
346
311
272
362
239
399
364
345
344
365
389
313
340
298
325
284
324
290
382
335
294
337
347
240
394
334
329
356
349
287
267
290
371
336
342
287
345
329
244
416
400
330
334
357
264
251
357
381
350
260
369
346
301
375
247
315
282
237
274
289
374
307
340
397
417
290
304
331
368
268
418
216
393
310
330
293
304
297
394
300
331
239
279
400
296
370
289
307
286
358
295
351
416
239
283
388
276
324
316
280
284
337
329
329
302
329
349
380
294
342
339
324
308
293
274
335
356
363
331
403
312
326
229
220
420
310
343
322
298
313
346
311
325
254
297
298
266
268
337
342
355
356
309
301
279
292
292
346
369
328
376
322
373
354
158
365
338
327
332
218
299
393
274
327
343
362
332
303
310
302
343
374
353
368
254
336
246
213
399
258
368
230
246
316
286
368
337
319
362
308
328
288
389
316
278
309
371
274
369
326
279
323
329
341
289
393
355
352
252
285
299
355
302
257
394
252
330
254
302
262
367
318
335
289
265
262
259
279
325
351
263
367
317
300
306
290
313
257
334
280
295
313
321
286
398
333
281
344
266
321
400
326
343
303
316
272
343
376
319
405
233
344
368
396
268
299
348
323
279
361
374
341
340
285
273
353
306
380
293
305
371
288
249
418
280
340
260
321
294
287
247
283
335
362
269
297
325
236
336
347
261
325
372
301
249
373
294
340
350
322
247
313
272
355
335
313
276
326
310
272
310
287
383
307
281
273
289
299
246
334
228
318
354
295
245
303
300
261
321
232
233
363
266
358
325
338
297
296
267
318
335
336
319
322
359
321
250
275
224
345
341
376
437
255
324
308
372
355
306
211
304
225
298
358
218
260
345
300
353
318
231
315
319
258
320
217
331
382
325
339
414
315
277
254
311
300
342
369
354
296
334
226
433
315
320
342
258
374
341
332
260
351
317
354
330
342
300
311
283
353
266
270
299
322
263
352
213
330
264
341
357
261
347
347
399
248
257
330
285
303
266
271
303
260
310
329
283
332
303
274
360
336
300
347
295
298
222
353
198
342
302
354
330
337
330
330
299
326
301
370
379
257
243
347
320
258
255
363
213
300
310
357
270
246
360
272
277
292
375
284
233
303
282
300
391
294
310
291
334
314
325
301
398
345
319
369
330
313
325
313
257
345
336
336
280
243
297
337
326
285
299
371
268
334
346
429
330
393
340
351
323
274
246
333
370
271
267
292
288
334
326
283
350
317
302
329
230
358
367
366
414
295
286
269
240
296
291
310
353
282
323
378
328
327
378
307
313
319
347
323
303
431
307
355
305
358
383
272
284
303
321
356
363
312
286
320
346
330
310
322
298
313
347
259
290
255
393
342
343
340
277
300
312
333
316
262
319
356
344
315
369
344
342
377
320
350
388
384
347
281
324
377
265
275
261
341
253
335
352
274
326
266
239
372
306
304
287
225
312
304
357
275
288
359
321
251
383
297
322
395
332
330
301
291
323
375
303
308
359
226
253
239
352
264
324
260
239
300
324
325
284
377
300
337
279
266
200
325
250
315
317
356
320
262
380
328
332
295
365
323
272
311
304
317
354
233
289
380
344
454
330
298
404
236
334
319
196
334
281
380
351
429
241
279
315
293
325
286
299
328
227
368
392
340
358
261
299
346
391
309
269
299
331
359
309
255
301
388
328
310
230
309
315
365
346
185
334
318
268
324
324
344
330
277
271
347
261
307
304
260
346
241
320
269
329
329
340
316
253
340
275
245
366
322
401
343
285
356
295
374
283
247
413
357
288
294
261
333
274
354
349
269
332
239
259
287
306
288
310
303
340
326
335
305
197
383
335
315
303
387
330
342
354
284
375
287
265
302
227
251
326
262
292
365
379
316
292
345
265
300
298
328
302
350
284
321
287
295
360
332
296
320
231
292
306
373
200
241
355
316
347
268
370
317
369
264
257
301
255
364
332
280
378
336
277
370
271
328
322
240
377
339
333
249
329
323
394
360
341
215
383
342
360
320
301
268
305
291
279
313
357
350
371
391
305
357
279
327
288
324
328
304
380
321
310
257
325
268
253
327
308
390
276
315
330
310
341
377
290
352
313
234
308
326
367
325
288
261
231
318
374
268
371
326
291
415
236
232
304
312
349
369
360
325
337
365
315
329
305
308
284
299
265
258
282
272
307
320
368
333
368
257
287
288
288
297
238
243
316
231
280
340
334
392
375
331
338
327
351
300
310
331
336
354
309
339
335
328
388
311
221
344
273
322
344
366
297
270
324
360
306
329
392
311
311
345
244
309
314
322
311
270
309
359
342
338
342
337
319
324
283
285
274
310
306
272
316
304
359
299
250
317
281
323
351
277
300
241
361
348
308
354
288
321
323
201
351
237
245
317
298
289
423
226
321
355
331
289
381
354
282
345
377
373
257
260
298
326
327
349
326
337
282
245
321
345
366
288
282
349
301
297
298
295
297
264
365
367
398
352
384
256
319
380
368
397
242
310
272
342
314
233
362
198
349
312
362
318
298
340
256
290
371
385
375
352
328
400
304
335
266
268
410
343
222
319
296
266
302
329
422
290
289
293
381
333
270
349
280
304
371
368
345
339
325
365
287
290
361
325
373
319
343
225
388
355
351
292
412
311
291
372
339
320
318
267
359
374
282
378
351
285
277
218
240
277
328
283
289
340
341
279
356
260
283
304
259
328
316
314
390
381
333
311
365
274
346
353
335
279
262
379
269
271
263
352
374
242
338
287
336
343
320
337
216
301
402
253
365
340
354
213
377
341
322
368
348
202
251
260
318
390
211
363
269
219
352
321
272
262
292
303
273
228
410
321
375
330
248
293
273
315
306
294
351
353
309
372
377
263
385
274
358
354
355
343
248
353
330
346
311
277
354
310
385
310
272
257
338
300
295
295
325
287
352
285
290
250
363
342
341
324
349
334
416
338
270
371
264
302
324
327
352
286
322
339
332
357
341
355
250
302
294
240
321
301
288
382
253
314
296
349
319
311
315
391
360
283
232
294
278
293
282
316
250
296
316
373
281
375
332
336
335
351
225
277
284
265
226
343
378
344
309
246
361
316
358
295
327
266
342
370
294
337
275
309
303
295
372
391
334
356
329
310
368
258
287
360
269
325
342
314
331
306
349
370
321
301
362
302
272
288
299
264
332
315
284
304
282
309
305
221
282
293
288
352
318
328
346
278
300
294
333
246
357
324
269
399
306
317
312
247
361
336
381
378
263
369
344
319
290
327
257
272
267
293
357
424
358
325
274
277
329
258
372
311
356
303
335
349
344
313
275
321
302
349
360
322
394
328
260
275
371
238
256
305
266
370
244
349
290
258
294
301
398
365
309
416
271
306
295
346
316
343
252
327
330
233
359
300
275
315
375
234
231
308
305
358
404
410
356
398
256
271
375
292
299
300
269
346
376
268
325
284
303
302
378
298
352
251
312
230
251
241
319
296
288
345
309
304
277
192
294
346
242
346
266
271
230
305
339
400
251
275
320
318
290
355
340
257
304
310
319
266
299
266
286
285
344
279
322
313
332
224
314
270
303
361
336
328
230
289
344
291
271
308
391
406
336
331
246
322
284
373
337
398
325
277
270
313
315
410
413
323
280
330
391
304
224
351
255
281
309
288
307
279
243
261
353
320
355
357
230
358
304
413
324
349
307
314
185
264
365
362
343
248
340
332
256
332
337
335
327
256
303
268
323
351
358
293
260
270
276
319
384
265
359
265
301
329
315
321
291
279
285
290
326
283
276
333
365
320
347
386
335
270
324
304
346
295
367
290
238
287
317
296
245
348
230
294
260
369
254
295
246
214
292
318
305
296
324
332
319
291
227
333
291
399
369
356
318
283
328
277
297
271
392
299
286
287
389
227
293
290
315
317
321
357
300
293
279
368
342
373
376
351
315
284
313
269
391
385
352
321
261
351
296
340
342
356
264
297
241
323
232
352
313
347
294
347
303
390
295
378
342
320
302
318
320
245
332
362
318
330
297
321
352
242
273
316
347
314
238
297
270
299
282
300
405
302
303
356
325
281
314
372
281
340
240
219
326
310
393
329
299
245
323
226
297
323
277
301
373
279
357
403
328
362
301
288
342
290
333
267
328
367
360
364
395
345
366
338
308
313
330
273
278
326
359
377
251
335
315
405
382
272
362
302
361
318
335
358
314
346
271
284
376
283
324
254
405
369
358
306
277
269
318
329
359
240
301
311
371
278
332
229
345
348
329
375
231
351
290
348
319
312
312
405
273
269
347
309
380
274
302
288
335
258
303
316
279
328
249
265
363
316
368
336
298
354
326
284
363
276
377
323
311
323
330
301
300
319
348
365
387
375
348
317
299
254
349
293
249
332
241
319
260
260
327
307
280
330
384
297
307
245
331
275
276
338
288
276
290
287
263
383
353
362
262
275
315
333
348
340
319
343
321
365
278
309
286
374
291
364
261
308
401
400
359
297
299
341
261
267
259
331
299
379
268
373
358
353
352
270
304
295
395
276
362
309
345
202
232
271
210
341
274
312
340
272
367
393
296
232
378
371
236
303
359
265
302
309
247
258
361
387
396
334
315
277
306
180
245
345
360
313
320
266
351
352
301
329
282
292
327
315
296
310
318
317
169
278
345
285
236
287
271
311
324
328
348
218
370
249
353
335
356
259
322
285
320
361
258
310
336
253
328
265
312
323
257
302
279
304
327
331
335
319
271
286
368
307
292
296
297
412
396
346
363
350
329
310
346
327
296
348
441
331
254
352
358
302
314
351
359
278
338
259
359
329
292
314
307
353
350
347
406
291
370
261
267
337
345
252
331
304
315
270
309
309
351
265
298
307
262
297
352
245
374
281
319
341
284
316
198
312
252
229
336
309
238
309
284
304
326
342
373
229
323
314
263
309
373
328
382
252
368
325
336
332
329
325
261
315
371
317
318
279
261
319
334
297
315
260
256
378
393
321
305
375
377
306
288
333
298
257
233
287
303
271
274
386
336
356
252
415
331
328
347
266
263
267
355
395
266
327
220
371
337
223
297
421
314
302
303
311
345
359
332
352
369
276
300
372
334
377
344
317
345
257
333
340
280
230
283
282
305
313
321
304
366
257
318
288
284
347
232
333
244
348
233
335
364
280
275
396
391
360
346
285
302
247
363
314
252
405
362
310
319
368
272
310
333
288
328
312
388
330
323
299
263
317
251
262
265
311
269
348
340
356
316
366
294
291
320
319
363
328
333
323
318
310
289
351
335
386
380
421
248
241
356
281
303
346
321
359
290
298
302
332
353
315
347
332
335
325
374
346
314
293
305
255
259
267
327
258
384
362
305
270
288
343
306
249
254
343
357
284
341
258
340
280
276
214
289
285
360
306
348
351
254
299
397
343
308
326
377
321
364
343
375
376
310
313
322
366
276
369
334
288
357
345
314
245
348
238
278
259
315
298
319
268
350
304
358
244
347
300
281
229
375
351
291
307
388
397
361
322
328
274
342
366
345
308
328
327
369
317
277
291
315
299
297
306
318
381
281
286
328
266
306
311
367
304
254
306
317
296
317
271
265
236
348
382
368
344
387
291
326
292
257
364
302
360
287
358
263
298
390
312
285
437
309
337
356
327
326
408
258
337
368
279
284
358
319
274
339
337
325
292
340
386
364
348
269
334
281
362
308
302
292
302
288
247
369
346
293
276
355
316
334
276
390
296
331
316
238
304
329
335
308
290
363
261
362
254
290
362
361
301
301
365
340
311
280
280
317
292
366
252
286
344
311
309
300
286
376
274
344
301
284
307
252
240
327
289
404
317
253
295
334
387
351
360
321
292
258
380
274
350
293
238
380
262
320
321
293
325
364
297
350
296
316
430
257
256
287
414
277
353
279
252
347
312
369
316
351
318
347
383
338
315
339
357
228
306
275
264
341
340
316
305
349
312
333
278
364
315
308
204
325
349
347
298
299
287
351
321
265
341
404
254
360
248
294
328
282
255
275
352
279
259
271
295
313
347
398
354
267
356
299
274
306
368
290
302
294
351
223
278
349
283
331
258
256
268
282
368
285
260
249
384
344
246
311
237
353
241
331
296
324
273
329
336
348
332
368
309
248
221
404
283
304
294
280
255
311
365
342
302
348
276
320
290
287
259
271
358
382
355
321
323
321
295
384
362
266
335
326
318
272
358
240
284
355
310
279
387
351
328
358
276
251
316
288
417
304
259
334
295
310
341
328
229
285
298
319
307
369
349
256
335
412
346
209
300
322
361
263
316
234
373
305
329
321
383
204
349
375
311
281
286
346
357
334
203
364
283
237
290
307
310
302
375
328
328
418
376
331
307
292
358
296
248
257
371
296
309
314
329
313
334
275
359
330
321
313
353
258
328
279
268
301
346
309
329
280
295
266
385
350
290
322
295
331
301
308
304
345
383
353
288
365
371
281
341
355
269
325
327
318
293
348
333
188
339
269
329
271
449
357
316
323
311
340
297
262
344
258
294
343
340
301
367
339
256
293
315
348
302
332
310
357
272
329
273
213
270
349
224
379
387
251
374
332
289
317
304
389
352
261
293
312
284
296
326
262
309
377
341
299
352
285
372
284
330
325
257
333
334
292
328
375
268
306
274
305
364
276
351
260
312
314
343
373
325
310
305
310
353
301
311
279
335
343
374
358
268
310
241
230
326
286
342
291
272
338
359
305
281
225
308
350
317
294
252
303
441
297
359
318
344
300
384
291
244
316
336
356
328
314
316
272
320
288
313
350
288
327
360
298
402
245
391
281
243
385
346
323
238
362
353
327
353
252
378
281
324
350
330
325
205
301
302
237
274
309
336
245
313
268
266
298
323
288
338
304
302
265
287
365
252
232
287
351
369
324
295
291
264
364
354
334
278
329
368
329
279
255
345
291
299
198
365
320
331
274
314
381
271
308
291
327
281
350
420
337
283
405
297
338
364
338
317
305
363
381
257
334
394
269
380
246
390
332
265
337
370
302
243
368
294
317
295
279
314
374
317
307
291
313
333
294
243
262
246
264
331
385
248
320
324
340
322
297
310
330
237
362
323
343
282
233
311
184
349
294
320
303
265
319
348
312
323
238
368
334
339
268
375
251
328
396
324
346
315
272
223
341
355
353
324
375
331
284
263
224
352
285
309
349
310
372
334
386
338
328
391
335
344
361
341
302
311
298
360
342
369
290
346
368
331
396
296
232
344
308
341
361
362
332
360
461
382
337
234
334
285
380
230
379
337
339
354
359
273
369
286
368
287
324
418
281
322
359
415
332
217
265
362
308
288
234
267
303
375
358
290
311
254
394
325
371
279
346
334
292
321
324
323
323
334
357
332
351
296
259
332
267
310
277
308
352
317
282
330
230
389
255
312
313
250
256
391
344
348
388
254
331
292
345
237
278
321
279
203
385
272
299
274
334
318
359
398
252
269
302
443
327
375
391
358
286
302
326
348
258
276
343
333
252
328
335
372
236
316
312
288
285
254
271
352
310
346
289
228
338
344
274
393
305
322
352
271
318
264
337
226
344
171
213
280
399
362
294
290
295
368
338
290
329
286
398
297
348
248
320
341
189
356
359
299
235
306
365
321
358
353
282
333
315
387
285
312
258
291
267
341
292
347
423
340
304
331
239
245
364
298
289
360
298
259
357
377
298
248
373
338
261
282
310
313
302
372
324
268
303
333
293
321
322
298
300
379
245
270
363
291
292
325
370
357
297
309
296
336
354
323
249
303
312
259
311
250
324
333
250
333
265
322
280
296
369
284
255
268
328
309
332
341
217
334
301
278
264
311
294
325
316
298
313
347
314
304
313
275
204
348
358
363
315
335
319
360
326
352
328
311
354
317
338
302
303
309
249
311
351
308
317
325
319
365
323
420
249
270
280
413
358
379
346
327
370
310
241
319
311
314
311
288
357
259
333
367
251
369
339
333
318
242
372
293
248
334
296
295
299
257
351
385
324
379
327
279
305
326
325
224
342
340
312
210
390
270
384
300
398
309
314
264
357
248
232
376
316
365
247
305
371
271
292
374
346
251
320
325
306
270
300
323
368
269
266
310
327
298
358
275
350
349
312
349
252
303
379
367
302
341
318
310
471
308
355
325
273
347
182
236
252
285
290
305
292
209
347
280
349
236
343
262
237
226
324
337
460
357
380
313
312
213
316
381
292
301
409
404
357
434
317
272
258
315
307
282
311
338
248
317
408
282
377
338
338
343
316
267
289
371
288
344
318
308
241
287
364
272
334
358
318
295
349
364
318
254
328
300
257
310
311
380
312
300
368
447
237
336
311
335
308
333
263
257
348
236
388
272
334
245
348
341
239
241
223
354
234
378
249
327
276
321
375
292
336
363
342
349
291
307
341
277
357
323
283
333
247
326
346
272
285
299
321
296
319
292
299
278
320
254
340
274
302
296
275
280
315
204
384
319
356
244
309
390
318
232
343
316
354
367
211
362
337
350
283
322
337
317
277
298
301
274
356
328
353
315
318
269
337
308
315
377
428
265
299
305
333
340
278
330
306
317
167
273
255
293
312
286
275
321
390
309
336
306
285
272
306
279
330
409
228
320
324
311
264
334
302
334
310
381
311
219
232
311
317
309
360
287
273
294
300
243
273
348
328
374
266
334
305
293
241
287
273
360
347
304
429
259
292
270
336
257
314
392
342
384
212
332
303
376
332
340
346
314
353
320
348
262
323
337
219
236
280
355
270
262
283
348
277
338
315
318
249
216
278
278
320
336
310
298
304
316
253
333
269
337
448
349
367
312
396
346
289
315
377
231
368
317
349
326
355
292
254
338
285
269
352
275
269
265
361
306
251
414
308
305
203
394
318
368
318
248
283
418
352
310
293
297
313
381
281
275
307
328
362
239
298
356
300
301
271
322
304
304
264
283
315
418
377
379
426
335
251
335
294
311
353
263
265
281
342
333
263
287
301
340
431
304
167
341
356
285
279
348
276
256
334
353
378
296
276
323
301
342
322
276
317
289
343
315
321
243
302
307
316
295
253
252
379
360
252
298
326
375
283
328
283
371
327
269
260
344
371
247
284
330
328
359
313
300
336
364
242
374
292
268
305
239
321
289
333
227
401
309
332
322
338
229
308
353
271
397
332
349
275
328
283
307
319
337
406
287
321
359
394
304
276
275
327
284
200
272
336
354
388
311
315
289
346
209
349
286
203
391
284
299
341
295
344
348
225
365
344
351
322
429
299
327
235
294
380
367
334
289
381
339
281
339
258
287
312
369
311
256
371
192
332
309
280
303
224
287
298
337
300
350
351
301
308
290
279
261
284
353
310
374
341
362
361
336
323
355
361
305
369
353
256
430
354
341
354
397
347
347
279
283
386
356
326
351
283
292
380
323
283
412
344
195
240
267
411
305
313
375
279
266
249
356
218
317
343
306
321
306
302
293
305
359
243
296
338
360
340
287
298
292
375
317
299
299
323
329
316
271
281
263
370
346
366
285
340
269
370
357
425
345
315
240
351
303
338
360
286
353
321
290
291
312
344
323
348
272
296
296
328
210
377
369
422
332
316
294
317
375
330
293
323
245
300
278
251
236
327
322
306
308
341
310
291
345
241
329
249
252
371
360
227
289
306
357
318
217
239
323
330
264
336
334
306
218
304
308
247
275
329
378
324
383
315
321
303
318
314
332
310
292
292
284
352
344
361
377
347
283
274
350
323
290
340
254
418
421
309
249
360
340
298
361
319
304
360
271
291
307
234
220
351
254
240
298
271
239
345
290
372
331
368
288
371
373
286
314
324
331
233
215
246
266
287
281
211
356
317
326
274
340
322
302
258
355
245
428
276
322
296
245
363
300
308
282
314
381
369
307
293
360
283
333
381
293
316
319
275
368
407
312
390
310
282
341
271
310
314
333
345
281
364
339
282
354
319
329
352
311
308
331
324
270
358
317
315
379
339
370
334
265
319
361
294
304
329
249
350
287
374
310
315
219
325
395
362
223
357
304
295
284
303
318
341
306
354
316
332
311
317
384
286
383
243
266
266
347
273
440
349
259
325
289
270
321
290
320
244
331
311
299
309
329
245
309
252
345
243
298
315
251
276
415
323
328
339
317
293
274
315
388
308
327
361
211
404
321
360
208
363
364
246
328
303
306
365
276
358
326
237
381
245
225
349
272
258
327
382
317
316
374
228
291
329
311
333
334
312
292
314
334
352
346
276
314
287
352
302
345
364
303
329
312
345
297
314
350
344
283
290
279
278
357
320
258
356
247
271
243
271
310
268
351
256
258
308
304
295
362
324
250
213
312
362
316
355
342
355
373
363
315
277
274
365
374
258
305
387
246
333
366
330
306
259
307
254
348
265
289
320
382
327
259
339
289
263
180
329
295
299
223
354
302
256
300
374
325
338
324
289
393
340
276
327
296
354
302
300
189
322
319
362
274
348
361
260
345
366
267
335
304
340
329
282
362
288
291
335
382
272
294
353
346
323
326
364
242
338
345
359
356
355
314
259
335
269
257
328
323
373
368
344
313
290
387
374
330
276
329
253
309
279
250
347
340
251
319
309
352
377
227
274
308
366
242
371
320
349
315
351
300
266
304
356
377
330
373
319
284
379
308
319
248
321
256
325
380
401
287
303
354
298
326
369
404
316
336
301
303
277
300
336
324
382
398
299
347
356
299
356
324
297
331
370
287
412
292
272
247
375
346
399
260
316
381
264
323
312
373
352
319
325
424
332
303
272
352
251
297
340
299
357
253
289
368
366
320
336
279
286
303
329
280
340
356
324
322
307
347
316
296
359
359
327
322
343
295
323
289
247
348
325
254
298
288
316
217
217
315
305
308
355
336
281
275
351
252
296
327
412
350
306
249
358
296
328
256
361
324
304
337
371
286
271
340
262
374
315
310
332
334
357
353
362
354
234
382
370
293
273
348
319
368
296
273
212
403
317
310
403
339
368
290
363
346
371
289
386
245
342
359
346
356
298
312
347
359
319
299
319
258
274
298
217
301
294
326
331
286
366
298
338
213
331
269
291
329
309
309
406
349
293
316
403
294
247
301
257
321
239
341
316
313
372
352
324
303
311
298
409
283
287
275
337
355
357
389
342
298
332
369
336
303
320
271
312
340
342
300
316
284
366
275
299
363
351
313
378
327
282
301
277
299
336
280
202
340
269
318
311
362
288
353
290
391
328
342
261
380
237
363
425
331
389
305
273
250
365
284
273
304
317
296
206
260
234
305
385
297
293
352
307
253
324
286
392
306
312
400
317
288
361
307
333
338
354
418
301
339
398
294
375
267
355
346
355
318
328
386
167
339
202
300
303
389
293
278
245
359
336
320
374
232
308
387
318
268
256
290
292
326
321
281
294
365
373
381
382
297
271
372
386
332
293
321
332
323
331
292
301
336
300
352
336
256
293
322
311
335
241
321
320
336
277
318
295
250
369
300
319
355
325
286
249
256
303
302
278
303
288
366
382
340
241
298
342
288
347
283
379
283
359
298
336
390
349
331
269
334
434
355
294
324
400
350
292
388
339
306
280
306
326
272
239
349
314
347
262
326
352
297
279
372
323
244
378
402
301
269
275
256
352
384
366
317
336
277
310
311
234
241
354
309
364
388
315
282
257
323
348
308
313
385
306
277
436
264
341
279
259
361
269
281
303
371
300
369
369
230
360
262
301
295
342
320
319
261
360
360
282
369
365
286
307
374
340
260
302
287
274
282
392
384
304
242
360
312
376
392
308
326
287
340
303
267
367
286
272
330
416
282
347
271
317
332
235
346
410
296
303
263
296
205
263
264
319
305
381
381
356
383
308
341
280
300
258
365
392
329
384
226
304
393
262
284
295
270
207
360
348
352
410
311
374
220
351
326
407
186
308
389
408
322
374
195
330
258
316
311
340
317
330
306
347
320
390
274
284
317
277
304
352
248
273
312
312
278
309
291
389
266
340
304
294
297
332
254
225
251
321
354
311
292
305
356
259
329
318
356
352
310
288
361
276
322
253
305
236
367
327
343
352
333
277
345
400
327
286
339
345
365
314
299
297
259
335
222
318
277
274
380
384
357
307
275
244
241
296
341
307
294
301
378
291
408
376
355
345
322
315
221
202
327
368
290
320
306
371
323
351
264
304
300
292
292
263
368
359
365
324
382
242
316
203
377
285
297
296
370
219
316
358
276
337
308
362
284
183
351
236
290
283
297
267
351
272
339
443
399
280
338
219
358
311
319
281
226
310
291
306
326
312
365
282
316
324
276
366
305
401
277
351
278
263
407
340
286
375
245
286
316
286
366
321
345
283
264
277
291
346
301
306
290
309
268
278
386
218
396
343
287
382
351
381
339
279
295
300
387
252
382
339
239
307
275
358
348
209
269
304
349
317
339
313
295
292
328
273
275
243
382
346
258
343
204
426
396
363
360
373
218
363
312
263
283
271
270
290
325
284
273
294
252
331
276
302
318
348
366
322
369
335
326
299
289
314
361
255
345
372
236
336
341
328
282
326
257
209
334
244
281
383
278
328
284
348
365
355
330
298
377
291
250
333
405
229
316
306
354
298
349
358
310
396
296
330
343
293
303
335
275
373
295
341
322
339
346
351
370
368
341
294
320
318
277
358
359
269
214
316
350
344
333
253
234
322
363
274
345
238
269
345
332
218
298
299
263
385
368
318
420
383
344
194
306
369
308
260
356
386
245
307
385
333
371
346
314
315
274
256
338
291
349
271
280
339
312
291
365
306
298
304
327
315
313
282
358
272
317
286
260
304
264
264
349
429
301
324
311
268
378
365
258
293
296
385
304
261
375
236
355
319
355
254
339
231
241
409
244
293
317
359
311
381
327
248
334
230
314
302
262
351
344
364
388
389
395
365
396
291
318
275
368
341
338
347
244
326
353
360
310
308
400
337
348
326
299
320
244
328
287
337
315
380
287
310
318
298
279
325
321
398
309
366
227
372
272
261
263
300
298
223
332
319
341
271
298
330
340
290
348
324
339
288
304
233
307
238
362
400
300
307
260
357
400
292
346
368
242
353
272
297
325
308
301
318
345
274
321
284
246
224
245
303
326
263
299
287
336
378
339
363
298
310
323
330
297
357
290
342
253
250
353
351
311
400
314
268
356
322
307
307
347
262
301
306
359
293
362
277
292
366
201
307
336
280
307
365
323
316
281
342
302
388
260
402
264
374
308
297
217
348
334
274
344
342
395
301
278
258
292
256
331
299
309
297
295
298
280
328
215
348
231
299
369
308
315
315
346
384
305
303
388
386
250
321
276
330
277
293
324
336
400
354
365
376
306
333
379
320
268
390
335
264
293
340
328
282
276
388
274
357
301
152
362
350
271
285
312
389
380
340
248
357
312
257
316
272
235
317
355
277
274
244
273
238
282
317
305
336
315
336
284
209
285
312
377
367
333
349
259
311
389
334
257
346
289
229
372
269
350
329
288
181
320
377
251
309
324
322
361
299
337
383
376
402
372
271
321
310
366
312
288
280
227
368
366
335
346
405
329
379
229
222
332
351
409
319
273
339
234
363
326
317
279
334
360
283
297
392
393
359
337
303
321
281
249
356
351
293
371
310
309
313
308
270
276
311
359
296
308
368
384
292
227
336
291
352
352
311
338
300
372
362
337
267
292
370
337
326
350
345
297
345
288
381
190
292
315
279
277
265
311
323
387
312
301
274
344
347
337
312
290
298
240
314
339
323
241
397
242
302
343
379
271
341
348
314
383
280
353
258
355
326
342
346
280
312
365
311
279
384
285
273
287
291
265
249
259
350
270
285
368
388
396
351
369
302
305
253
249
338
309
359
348
314
275
349
293
341
368
301
253
351
352
355
351
319
255
275
323
351
205
373
370
343
391
242
335
242
323
335
316
290
373
351
212
278
318
348
280
317
289
377
299
249
262
375
340
340
260
299
394
356
323
327
333
271
312
267
276
263
322
298
319
343
266
331
342
330
256
381
271
311
335
318
318
377
293
342
328
290
334
388
355
228
313
326
294
314
294
234
320
356
344
361
284
280
273
330
248
286
269
342
283
308
283
302
209
306
335
283
284
346
301
353
288
336
372
332
293
352
287
359
293
363
309
324
330
315
380
383
351
279
335
338
286
320
354
341
276
260
281
394
311
314
370
308
280
303
315
239
301
382
292
386
406
246
400
285
292
257
376
315
277
309
326
280
347
343
304
338
274
244
340
282
327
345
271
317
358
248
274
354
331
282
291
394
389
322
309
400
277
258
343
379
208
338
224
282
315
302
313
421
366
327
281
358
285
351
303
346
273
289
340
270
229
296
238
301
250
352
294
292
345
288
397
320
277
287
394
327
264
307
395
292
360
318
382
339
342
287
308
338
333
237
338
251
311
315
346
241
443
340
419
316
314
306
328
251
326
306
302
290
256
341
346
270
281
263
372
268
351
247
335
370
279
326
329
367
374
355
216
332
304
301
393
339
343
267
373
306
315
300
347
373
324
365
293
246
345
268
326
309
344
248
263
329
338
285
278
331
288
330
237
369
303
333
269
323
368
322
328
305
296
317
293
338
288
421
329
320
358
342
292
316
291
365
448
221
383
264
328
306
298
321
298
356
277
347
266
414
240
331
275
323
248
327
357
304
309
393
352
364
327
367
375
323
345
324
303
311
286
402
331
351
327
357
347
294
307
350
297
278
254
305
322
230
320
315
341
258
332
333
397
221
274
243
247
322
321
363
320
365
311
364
344
322
345
382
267
311
354
275
214
234
368
284
355
306
355
228
319
317
345
281
229
330
227
352
387
312
352
364
297
356
355
381
373
263
340
301
290
340
238
385
288
302
264
343
377
369
270
321
354
382
397
332
318
387
340
364
260
325
359
322
378
317
295
267
295
279
356
302
292
278
347
339
275
306
300
284
326
295
317
351
334
343
303
335
356
304
278
215
302
221
291
244
314
211
394
409
310
355
316
393
383
385
342
339
343
309
231
381
311
284
232
333
255
357
299
361
256
346
254
275
405
289
335
311
295
321
309
313
292
375
294
251
329
370
252
246
312
348
308
273
290
276
380
260
260
294
348
263
379
342
282
355
319
283
359
351
336
238
297
254
334
352
368
335
298
300
260
286
312
254
281
263
320
240
373
331
254
326
273
264
312
255
259
340
300
342
326
297
342
288
258
439
376
358
296
391
306
277
307
336
226
358
327
408
242
336
309
413
326
339
371
381
210
290
405
320
297
294
296
314
322
297
333
313
321
356
285
334
378
245
364
279
379
279
367
220
322
334
239
372
325
317
337
342
385
291
332
308
290
204
380
385
332
311
325
343
314
330
425
331
369
295
362
369
387
313
330
389
295
339
334
317
301
333
328
284
340
314
379
305
378
265
279
325
303
295
268
289
285
285
409
320
331
243
393
238
329
210
268
318
336
285
325
295
385
310
293
375
306
339
317
358
310
331
367
356
371
326
248
305
365
335
344
199
334
317
236
303
347
353
370
323
240
322
315
344
230
292
326
357
320
211
267
306
258
304
255
294
358
290
224
217
387
380
331
338
232
347
314
244
244
311
450
319
372
259
321
240
308
328
264
353
391
334
377
346
294
336
378
316
300
246
349
357
313
323
374
317
284
336
295
289
311
326
311
288
311
298
351
319
334
358
300
361
362
284
244
237
308
383
267
326
267
300
313
392
374
375
276
329
287
358
317
304
346
344
351
325
293
357
197
410
375
251
336
300
310
318
363
281
298
291
225
357
342
409
373
295
310
241
239
270
317
367
374
312
295
328
358
391
300
273
304
271
308
267
317
368
304
285
373
346
326
234
410
333
280
380
297
368
281
315
332
280
373
285
221
276
317
295
323
339
299
400
377
341
291
271
375
419
345
308
253
259
314
266
377
262
335
220
294
347
330
340
270
297
304
340
368
326
321
373
346
316
353
378
273
345
310
383
273
289
286
302
271
325
343
363
281
277
241
318
360
262
274
242
365
184
274
373
326
306
300
346
291
347
299
262
340
334
251
333
342
365
304
310
365
340
246
379
286
265
282
341
287
316
359
205
270
355
313
355
341
328
276
328
349
276
324
315
303
352
303
278
306
357
365
382
364
309
370
295
340
314
332
286
344
361
314
345
319
292
364
367
253
347
348
264
345
266
332
350
256
330
302
378
302
267
306
408
280
318
297
289
384
350
359
269
397
371
366
336
260
290
253
388
364
312
347
285
327
329
371
314
319
336
229
229
276
342
322
238
266
320
311
353
301
292
290
397
383
310
224
344
337
309
301
290
320
317
286
309
244
298
319
333
297
293
243
343
355
305
371
207
369
372
301
398
243
288
291
278
338
371
342
337
343
286
288
330
272
327
384
290
332
299
313
314
361
206
332
288
269
356
298
360
317
231
288
271
330
322
343
249
340
263
273
313
257
320
271
273
294
329
263
221
310
346
267
313
304
304
305
311
301
255
271
322
214
300
368
258
305
363
276
280
284
309
397
255
353
327
306
361
227
306
316
371
320
193
318
294
327
272
365
296
314
287
329
324
366
345
259
323
262
246
285
321
303
312
321
297
309
353
309
338
252
244
319
318
278
309
326
318
323
282
335
254
299
255
323
307
275
313
326
334
216
347
319
355
350
265
318
383
374
375
338
367
391
311
298
346
336
310
349
331
308
348
416
361
334
294
339
230
294
312
324
289
359
327
380
393
254
218
251
350
356
273
354
389
281
373
358
316
358
338
361
303
340
338
358
292
390
265
392
290
353
372
354
355
336
315
308
320
343
363
411
252
348
295
315
332
314
331
315
358
319
416
307
330
222
342
387
325
316
367
340
273
364
306
218
280
309
376
246
305
319
337
262
241
339
300
314
348
294
237
290
255
325
270
294
312
302
332
320
282
308
364
391
177
294
271
277
409
311
333
309
375
299
275
280
363
275
293
304
348
266
310
335
299
400
321
353
358
390
379
323
323
278
237
387
262
337
295
355
258
269
331
308
309
267
382
362
321
321
249
354
288
338
294
234
348
329
356
283
262
297
307
290
305
239
362
269
319
352
375
336
293
350
334
395
326
340
283
343
331
234
320
301
297
281
305
378
287
321
353
338
309
254
347
292
363
261
242
323
367
223
270
275
285
356
332
297
343
402
292
400
378
323
302
297
296
310
359
321
229
412
321
363
238
309
318
400
321
274
375
348
239
262
310
347
366
248
359
312
286
267
326
336
295
261
409
326
333
401
290
369
361
233
236
213
240
272
303
330
331
276
385
326
382
412
309
350
286
284
252
240
322
330
295
300
258
363
329
310
320
379
244
314
300
247
344
251
323
294
379
302
252
324
389
365
315
301
267
309
413
259
324
297
324
401
354
290
267
263
380
307
290
275
325
259
289
341
367
300
300
317
318
302
308
290
287
325
367
346
278
318
337
383
253
284
361
315
307
417
382
301
342
339
297
237
353
390
273
232
331
331
289
208
316
333
255
304
380
325
257
245
321
280
210
332
356
275
318
284
374
276
282
305
297
359
421
223
290
318
305
289
304
378
308
384
300
327
332
286
312
320
265
355
312
224
341
293
312
323
372
306
313
224
320
340
337
305
290
323
347
312
338
310
309
327
315
392
315
285
392
410
243
336
351
286
344
308
286
357
301
294
240
273
308
364
341
331
293
373
269
267
292
294
247
249
294
309
374
291
327
392
316
236
347
235
308
344
362
303
303
349
322
297
319
255
335
327
302
278
353
308
309
280
304
271
273
359
299
378
241
337
226
268
253
389
296
382
289
305
300
325
339
323
241
347
289
291
398
350
260
320
306
306
352
373
350
308
250
295
344
261
221
269
413
319
238
354
352
365
355
362
226
283
275
266
326
282
242
335
322
231
357
337
343
310
322
248
334
322
362
324
272
232
217
248
312
268
366
370
282
305
321
276
284
300
262
252
332
366
286
293
347
319
251
315
385
367
339
347
347
305
332
265
397
369
319
363
276
357
269
335
250
275
357
345
308
283
356
359
334
277
280
395
331
295
333
242
301
281
344
311
314
210
361
350
277
311
366
248
233
296
329
285
280
275
321
306
317
296
301
371
338
364
325
383
262
273
315
244
313
342
200
342
366
303
313
346
316
294
344
337
399
354
282
294
386
350
305
291
323
286
339
333
314
344
320
338
313
309
374
363
321
373
423
352
271
366
325
281
344
332
264
297
331
352
365
343
351
390
358
264
351
285
315
353
318
260
328
355
304
330
281
168
276
371
324
314
334
265
285
282
238
232
261
337
273
309
372
306
256
346
306
336
205
361
299
338
274
407
284
364
313
325
337
264
289
260
288
308
315
323
323
294
299
323
343
379
249
357
310
292
249
227
342
336
270
309
324
362
280
302
275
253
248
352
290
363
333
297
317
280
288
332
385
327
356
239
340
267
372
279
359
361
281
337
286
351
368
281
272
317
300
287
290
293
267
265
282
303
284
365
232
354
334
295
314
381
312
292
314
256
343
400
335
258
268
298
328
278
342
390
317
335
364
343
404
386
318
338
380
369
315
225
345
367
408
332
293
358
316
290
266
319
305
303
337
362
380
312
228
395
331
341
259
238
323
314
294
304
324
350
365
366
266
327
270
336
341
317
317
314
321
236
335
313
266
337
249
305
369
322
357
222
291
296
293
314
248
371
302
360
283
374
336
342
400
330
302
227
288
288
379
373
244
294
339
279
316
303
322
265
311
326
310
280
350
294
282
255
396
244
310
307
324
346
451
302
307
251
342
282
347
332
349
289
309
396
382
274
328
324
348
315
326
306
382
340
404
252
277
352
324
344
350
322
344
383
340
306
349
359
280
304
277
270
365
210
351
293
268
284
294
400
254
466
364
381
376
316
366
324
252
363
226
360
321
316
296
396
251
316
339
338
368
225
310
309
334
366
360
354
217
314
270
352
303
282
269
382
245
313
289
337
369
367
273
329
320
365
295
325
344
328
302
285
273
309
359
356
306
211
330
260
315
309
319
302
357
314
331
369
339
304
340
230
341
327
335
297
309
281
357
344
326
352
238
368
232
308
283
285
319
288
321
308
236
294
326
293
285
366
320
326
321
382
293
269
255
321
322
322
354
383
349
300
325
372
325
277
315
287
365
354
368
366
253
400
351
339
391
441
324
313
359
256
334
312
360
359
305
305
271
336
364
335
279
320
286
178
291
270
347
299
353
363
342
313
327
313
305
338
295
317
232
302
257
228
332
313
329
301
302
305
403
255
230
358
362
343
383
340
264
342
333
352
326
324
309
303
279
219
326
204
268
370
338
340
371
246
336
336
344
345
323
236
397
247
267
341
290
231
233
296
292
278
281
305
323
382
319
232
275
310
343
348
281
302
319
310
281
285
278
319
344
356
274
323
358
317
239
383
245
309
256
395
308
370
337
273
258
291
318
368
344
390
386
286
363
274
337
292
286
383
293
267
292
245
291
339
280
291
324
305
294
306
390
322
300
385
362
329
356
377
265
263
370
285
283
410
338
307
316
360
330
344
388
312
337
306
316
305
421
310
325
266
342
346
295
336
267
225
290
260
321
181
301
326
287
269
359
284
218
286
390
345
335
283
306
308
363
367
322
305
272
349
332
370
351
268
364
245
341
345
311
341
220
303
323
280
355
231
385
189
252
345
271
312
321
316
274
282
303
377
297
385
272
295
373
288
245
343
339
267
293
275
255
347
315
326
314
283
273
391
274
311
338
311
302
361
303
351
281
281
328
271
241
325
249
271
410
382
418
272
276
347
403
272
322
305
333
244
387
313
274
375
306
279
257
287
312
382
358
282
312
280
294
383
307
389
325
263
379
368
318
285
350
265
355
370
347
341
354
311
222
329
265
295
338
309
297
368
270
304
273
259
282
358
387
282
257
296
289
272
283
349
300
257
282
213
306
265
328
293
355
304
396
357
404
364
380
246
359
272
335
291
318
314
358
278
343
299
332
221
262
285
211
264
378
373
345
333
298
298
338
278
353
370
284
362
326
308
321
375
331
250
160
341
384
269
297
286
317
274
303
264
264
346
305
334
315
328
301
249
369
296
302
323
323
317
362
262
344
252
346
246
331
311
354
334
241
308
348
282
290
324
348
328
311
270
363
301
381
331
298
322
336
293
208
360
330
289
230
281
293
263
300
403
337
389
377
240
382
257
311
353
249
297
300
277
254
266
239
312
397
313
305
304
336
379
282
332
346
311
358
271
403
322
324
353
341
345
313
266
326
374
264
337
420
361
268
334
335
224
379
315
230
358
384
273
262
332
291
259
328
363
296
310
325
309
342
400
312
256
277
289
353
322
366
361
275
289
239
257
271
346
344
318
315
377
277
366
313
328
314
270
291
277
340
284
358
396
261
304
301
397
284
301
273
289
279
280
374
298
313
322
327
255
362
318
304
339
400
393
327
286
291
257
267
384
336
373
253
303
312
258
323
322
269
288
281
321
409
371
297
289
255
327
329
299
307
313
278
308
332
341
289
316
286
209
276
313
361
222
328
334
340
313
329
371
333
365
259
391
238
364
281
290
385
262
240
357
276
361
260
285
348
321
295
349
273
332
397
293
298
318
291
344
311
275
316
344
400
336
363
272
333
323
397
372
323
337
252
287
393
215
292
286
371
371
341
338
358
355
304
300
413
311
346
331
321
348
302
328
352
319
306
284
269
347
322
268
295
332
268
317
259
317
310
334
328
352
284
389
323
314
324
341
237
331
329
327
339
279
317
228
279
191
291
358
251
349
372
304
317
279
283
255
300
250
364
318
311
336
286
211
305
349
308
259
339
315
406
325
300
202
315
316
265
349
339
349
355
341
242
342
280
277
286
309
361
311
308
369
346
363
314
254
320
232
275
265
322
338
289
290
298
440
352
307
346
311
372
297
299
354
388
248
325
334
333
310
325
256
354
321
304
342
300
370
260
386
330
311
354
225
315
204
331
382
285
250
286
303
328
310
333
313
306
320
369
305
286
325
288
349
311
288
343
415
279
280
303
290
335
262
329
346
322
334
217
392
262
376
386
350
415
356
303
382
226
303
298
229
333
338
314
352
300
285
307
365
265
302
299
256
301
321
267
283
303
326
318
262
385
308
339
289
347
304
344
374
301
342
336
326
264
251
261
310
354
327
353
316
276
367
291
323
384
258
352
364
318
313
285
297
291
281
344
274
318
257
331
311
370
269
256
293
240
301
333
391
332
299
405
345
370
275
287
342
210
368
296
447
310
293
330
286
374
259
341
347
256
314
316
210
298
348
335
304
340
257
319
291
246
303
328
360
326
312
368
301
318
367
294
377
328
320
392
354
258
325
312
385
343
252
304
264
384
346
336
298
325
287
345
261
335
304
394
326
296
269
248
355
331
283
354
225
373
321
267
253
437
390
314
324
317
309
312
316
351
296
208
317
327
388
247
256
362
330
279
328
276
326
222
352
334
313
257
274
383
365
350
239
324
362
414
385
313
273
408
296
351
274
401
278
335
377
231
334
307
279
234
284
280
303
299
298
254
382
259
364
336
338
320
291
186
258
322
337
267
294
314
296
246
362
313
262
307
244
234
334
278
246
330
332
306
297
279
297
335
288
349
352
339
343
272
383
348
298
362
321
268
296
303
244
323
331
264
238
376
323
354
288
332
332
335
324
347
282
310
220
292
305
302
291
306
323
260
297
339
263
380
323
256
277
408
330
234
261
262
191
331
368
298
337
305
323
327
287
288
276
293
341
329
235
357
195
338
365
275
263
277
238
293
324
388
343
299
299
325
392
303
327
285
307
322
252
303
343
330
338
343
275
209
315
295
313
345
338
322
256
348
357
398
332
253
357
231
243
297
405
332
334
295
263
284
308
305
335
345
295
294
338
445
243
312
311
370
262
343
318
365
260
337
198
314
389
202
256
343
281
327
406
287
316
309
368
342
305
338
288
322
341
386
214
355
371
348
304
321
299
335
181
247
338
280
313
301
260
281
338
337
213
294
256
306
261
325
271
318
259
343
349
312
298
308
363
349
253
298
245
250
328
314
319
323
270
276
299
302
316
400
277
315
351
322
313
361
272
347
256
447
271
247
326
239
307
333
306
288
320
319
307
251
274
257
276
347
318
410
275
333
348
281
314
259
370
262
322
296
288
310
350
289
277
296
285
301
273
327
292
339
364
384
275
373
372
276
255
296
292
308
271
365
216
313
344
264
331
403
377
376
314
290
352
362
304
287
318
327
305
227
259
316
291
261
316
324
339
408
323
366
282
319
311
331
331
410
315
327
303
320
342
225
396
295
406
305
291
271
351
282
369
391
361
352
285
293
238
305
196
275
313
227
311
339
324
237
326
325
319
326
304
363
291
270
395
323
336
243
271
254
278
255
290
353
384
282
388
283
351
359
322
337
304
304
253
326
279
314
335
345
297
341
290
323
255
292
242
375
361
399
385
295
238
204
310
337
290
224
308
351
254
284
368
345
336
390
364
250
398
317
301
306
361
288
285
394
197
290
305
329
380
357
436
386
292
343
310
318
307
330
300
357
364
270
361
403
210
309
334
330
360
299
360
329
276
224
323
350
334
292
295
324
377
353
351
363
301
274
351
223
373
321
249
326
337
322
345
335
393
401
226
334
318
338
316
312
299
287
275
284
256
336
278
328
336
368
288
211
341
289
339
328
274
362
326
323
324
326
282
271
348
307
333
324
311
352
289
423
375
321
248
250
237
254
297
314
237
321
280
384
258
311
349
323
398
324
342
350
309
300
309
319
388
339
280
307
279
301
335
379
276
309
305
355
330
314
354
393
346
337
369
314
225
212
358
306
345
299
345
329
298
344
366
359
293
226
336
332
394
344
351
226
303
305
242
257
291
295
255
266
290
287
318
385
251
349
326
396
346
306
324
284
358
334
320
218
419
287
359
218
349
318
291
217
314
344
326
347
290
261
297
337
362
339
351
225
257
381
269
291
223
330
381
288
306
296
342
367
256
394
387
289
243
282
280
277
334
356
298
307
279
374
356
283
290
388
259
348
240
277
318
298
316
260
310
360
363
272
338
233
303
335
336
296
319
292
319
358
432
285
365
350
327
387
315
311
338
336
290
300
275
238
264
276
269
299
322
285
326
347
390
334
307
384
338
239
291
362
284
297
293
331
314
281
349
312
380
362
362
329
298
337
270
259
231
291
314
284
296
332
327
362
316
317
292
290
220
328
259
345
342
270
318
197
324
349
274
340
301
363
282
293
362
271
383
368
369
328
343
318
425
332
340
320
238
317
266
302
364
399
267
282
299
332
358
367
352
372
349
280
390
311
299
287
359
308
281
342
325
368
299
300
343
274
301
391
220
285
345
281
283
246
305
249
310
315
323
329
357
283
233
316
354
374
418
301
302
257
232
294
294
347
357
242
361
335
325
344
325
314
320
294
277
325
271
306
257
285
333
366
284
311
278
276
272
289
318
291
340
341
238
280
317
232
246
321
270
339
328
371
294
346
345
279
263
367
422
329
272
269
316
322
268
330
259
259
342
288
317
373
190
282
223
300
383
286
224
285
297
281
224
323
351
335
379
273
266
295
268
248
304
329
310
305
264
300
315
241
322
227
269
358
304
323
310
245
345
350
236
305
367
321
408
391
289
303
312
331
257
251
286
287
231
306
391
308
323
356
265
256
409
302
302
275
307
301
259
263
311
288
315
314
309
298
327
333
305
389
270
355
357
356
327
291
310
310
380
257
287
314
317
259
273
334
373
256
394
253
317
356
326
284
279
338
297
282
272
303
399
318
287
386
257
273
244
272
354
234
301
240
357
258
279
410
302
381
230
371
330
288
351
352
278
308
328
334
354
337
327
283
398
421
302
305
348
295
257
303
380
309
331
276
233
247
291
272
343
369
323
295
315
242
352
386
325
300
278
378
341
377
343
350
280
297
343
282
278
374
311
304
303
282
317
281
305
349
241
258
296
359
327
313
339
286
322
267
312
353
384
318
291
256
260
303
306
304
307
268
410
302
347
295
254
373
287
310
330
288
304
321
313
298
350
367
307
394
391
349
377
313
246
332
322
376
333
273
313
318
237
297
337
236
305
342
312
281
334
365
323
207
315
323
223
321
282
317
334
355
270
377
341
328
341
326
300
412
290
287
297
363
353
306
277
326
284
363
304
359
245
322
351
331
332
307
337
364
311
199
331
277
333
225
310
258
229
328
353
297
272
269
278
401
374
342
319
285
314
320
341
249
278
291
238
287
327
336
272
342
362
325
295
385
316
274
330
247
335
296
320
380
360
352
239
309
306
317
354
340
257
383
352
319
327
288
335
356
306
320
287
351
302
291
266
346
400
311
306
331
310
288
385
282
340
376
245
376
318
361
244
253
244
323
257
248
322
394
286
335
238
281
288
293
311
296
349
345
319
235
223
337
348
377
255
323
378
292
314
309
327
231
350
348
338
263
338
276
238
305
319
328
344
238
246
339
282
236
350
363
313
362
241
371
376
296
363
295
203
300
356
320
375
317
322
286
349
318
382
316
352
333
295
286
342
292
311
278
323
284
292
260
295
331
288
373
332
350
291
401
239
234
336
301
290
274
279
296
331
285
381
325
381
360
336
309
349
344
357
299
290
300
361
334
336
291
373
264
357
301
290
397
250
358
293
367
232
297
263
349
238
317
392
307
298
296
277
268
259
303
275
341
301
276
264
274
331
307
301
369
341
346
342
300
365
312
332
372
304
362
288
307
306
328
326
309
324
405
396
319
359
254
358
325
294
404
268
378
355
304
278
315
280
380
338
251
287
364
325
341
365
335
303
266
248
296
325
289
282
349
282
337
349
297
322
338
361
299
259
275
328
292
313
317
335
247
299
306
325
338
310
329
307
268
306
301
314
309
362
336
286
391
353
367
274
368
355
320
345
231
351
314
318
277
284
380
239
264
333
335
379
321
358
300
327
304
356
396
286
366
288
308
303
336
309
274
365
349
369
371
324
249
362
367
202
356
376
248
351
353
309
286
295
334
308
327
258
192
295
388
335
369
355
263
316
323
245
328
320
289
311
337
320
359
341
365
332
412
291
288
265
328
327
335
337
342
345
284
219
316
307
324
341
345
321
277
302
370
398
275
270
291
254
377
346
293
280
338
376
358
252
332
269
343
324
342
306
302
287
388
246
364
263
326
305
271
336
267
202
304
356
322
380
303
236
216
328
362
240
225
399
281
287
383
360
374
363
364
271
250
386
308
367
308
291
256
303
292
370
333
329
219
279
290
351
270
396
307
364
264
290
293
327
323
338
258
372
282
289
302
350
309
294
314
304
294
251
253
319
420
261
295
254
296
281
430
335
293
301
354
391
339
350
304
353
310
289
356
298
268
316
372
312
374
340
329
309
313
326
293
308
279
256
375
374
387
287
324
326
294
288
359
326
323
416
338
243
333
270
402
311
328
199
350
390
309
301
327
322
243
236
333
331
375
264
308
334
350
291
302
254
308
248
345
418
330
356
363
315
302
240
337
371
370
278
251
232
285
346
330
257
345
292
296
323
373
223
317
282
272
336
320
334
390
379
307
326
294
303
298
274
343
304
310
349
289
295
326
384
297
319
296
251
245
316
232
354
302
332
314
311
388
346
222
321
362
281
328
350
275
252
323
368
338
359
406
264
325
241
323
364
232
286
353
383
303
325
297
303
274
308
337
333
324
373
249
258
304
290
314
229
352
254
314
338
265
307
363
282
311
299
328
351
329
273
365
340
346
290
295
317
369
237
264
322
270
352
365
359
408
313
336
339
331
395
269
370
298
356
316
335
338
305
311
276
239
296
329
389
276
244
270
311
260
336
277
290
401
228
352
341
240
345
351
349
326
446
354
352
327
334
271
299
270
374
344
333
351
292
289
314
227
379
303
342
399
358
263
345
413
250
372
307
339
371
282
375
321
206
365
323
342
361
343
208
326
237
398
292
363
268
289
304
288
336
224
333
355
195
300
345
328
268
348
285
371
312
264
316
271
249
236
257
324
307
327
300
348
282
295
220
282
257
232
251
251
290
282
337
347
251
258
302
433
374
291
316
344
238
307
381
313
326
370
364
299
343
335
245
381
312
313
335
369
304
263
286
376
278
378
341
242
349
327
281
255
268
317
341
389
271
393
322
288
317
290
340
249
337
326
392
353
299
182
270
340
292
302
331
394
301
364
274
400
291
264
297
297
254
239
273
194
255
341
333
276
237
296
334
297
309
228
322
297
377
298
287
273
276
346
242
366
273
270
299
278
278
347
422
334
334
325
294
296
243
360
301
279
289
275
284
282
294
273
265
384
315
256
310
289
237
316
292
297
290
333
345
353
295
373
390
350
395
369
277
301
363
341
322
183
237
328
287
367
294
336
299
315
252
352
290
324
255
349
336
276
346
365
274
395
287
358
276
302
351
334
401
288
302
324
328
274
306
269
377
336
219
286
395
417
329
307
282
318
344
354
239
370
336
291
376
398
309
343
288
289
303
290
297
338
406
288
353
340
216
335
346
401
259
340
263
352
292
329
284
233
272
248
364
389
333
335
364
336
272
298
320
248
365
298
301
227
372
288
336
296
225
323
371
292
338
278
361
252
288
335
310
324
370
310
290
289
382
298
281
325
310
358
323
273
392
266
308
311
357
310
309
357
342
308
309
333
338
373
324
213
370
356
306
287
293
295
394
344
292
316
228
317
341
276
300
313
247
271
260
255
355
328
362
296
250
254
348
269
317
243
290
235
287
349
399
334
308
334
325
342
289
323
313
273
333
358
322
310
295
314
272
311
365
326
275
334
314
328
310
375
328
330
308
340
273
313
278
370
262
300
306
256
248
364
191
309
296
332
317
340
250
326
355
336
279
385
359
325
282
344
340
312
256
370
302
307
295
242
315
264
321
269
339
348
339
319
317
301
296
318
252
340
310
349
276
223
295
296
313
265
282
347
337
414
298
244
352
302
266
311
317
333
294
361
373
305
416
211
421
310
300
337
282
303
309
327
356
352
325
300
311
348
322
321
377
374
358
298
293
349
218
364
328
207
340
335
300
357
297
322
236
444
326
359
350
299
338
297
295
283
365
327
293
368
350
304
308
339
294
316
345
302
283
232
278
345
288
356
273
249
324
300
324
328
290
218
269
347
340
353
328
316
245
293
323
290
398
304
163
336
349
343
328
328
354
364
312
351
290
282
360
264
304
345
331
386
317
313
230
258
351
376
347
392
328
326
291
230
390
282
321
390
332
377
241
361
289
329
346
366
398
310
326
307
253
323
299
201
298
303
352
251
280
287
339
386
293
265
274
341
320
224
314
384
273
272
247
284
320
397
300
379
376
291
285
315
284
349
366
293
255
288
293
333
331
290
345
243
296
320
380
384
347
289
298
349
295
230
286
295
356
361
324
268
276
346
257
323
350
306
298
276
320
231
360
368
333
317
351
337
390
264
308
311
333
268
351
297
286
270
314
410
311
285
366
330
330
386
279
323
316
328
250
284
347
391
334
241
363
305
324
329
268
287
302
285
260
392
391
303
300
189
284
293
363
290
259
365
336
293
325
260
321
345
319
334
295
271
283
222
310
271
342
336
303
357
357
266
309
305
271
261
320
350
369
390
426
309
237
356
349
249
312
285
311
295
335
371
325
312
226
258
357
345
297
354
263
286
281
347
307
316
250
315
301
324
274
350
387
345
296
314
343
324
209
352
364
357
291
364
379
252
324
326
276
288
374
375
336
240
388
268
336
318
268
319
343
261
262
266
236
432
360
297
306
317
272
270
386
284
260
324
295
287
286
308
291
339
342
264
285
358
345
349
326
188
279
256
337
328
259
244
403
278
333
221
292
300
221
337
381
349
351
354
274
339
332
350
236
278
339
301
350
307
333
380
382
331
310
321
399
303
312
238
311
262
338
373
323
252
329
317
323
351
363
290
297
281
390
331
306
366
351
265
348
303
404
338
406
364
291
291
403
328
319
332
350
298
400
305
344
318
336
316
288
339
300
312
286
349
289
418
276
359
311
317
386
409
372
301
291
315
260
286
363
355
392
352
322
367
314
330
303
354
252
306
374
190
327
309
266
330
337
374
249
314
350
327
301
269
316
302
318
308
294
265
409
347
278
352
257
331
266
358
380
336
230
265
318
367
270
287
327
284
307
351
400
365
367
322
237
299
381
331
292
249
305
354
295
250
287
293
298
330
356
345
376
300
362
429
194
318
302
258
267
309
336
373
281
307
297
329
263
367
372
314
269
280
326
309
329
272
287
345
288
365
369
362
330
339
417
296
340
323
299
377
258
356
218
255
276
248
336
286
312
327
256
294
346
284
311
276
246
296
277
326
327
272
353
304
320
348
323
327
284
381
273
344
305
290
284
385
334
347
334
392
367
271
335
321
301
294
288
310
360
299
344
274
350
299
311
263
361
233
397
347
222
417
285
343
258
388
329
279
291
290
297
368
288
326
334
356
270
319
358
297
350
286
378
320
364
337
284
289
392
363
309
332
294
371
350
327
295
325
310
309
256
250
273
355
332
300
316
405
342
318
326
329
329
158
347
262
141
327
277
217
321
418
260
328
406
331
273
321
279
396
376
376
269
292
246
352
384
319
313
287
254
321
262
278
274
237
305
321
212
253
283
231
266
363
276
306
324
316
293
358
314
289
389
395
288
219
341
370
356
325
251
320
218
264
358
290
293
287
315
342
253
349
283
299
331
341
320
255
327
351
259
281
265
323
372
263
333
310
276
305
182
373
289
348
367
289
330
419
322
256
337
381
289
302
295
260
350
327
290
217
364
379
337
248
318
296
368
249
302
399
406
390
260
292
344
290
299
307
332
284
264
365
269
298
367
355
293
334
389
312
327
346
353
268
296
262
317
321
253
392
323
294
388
373
315
309
299
284
339
289
332
257
320
397
275
414
335
332
404
291
310
381
318
277
346
328
355
277
348
257
391
348
341
389
274
308
267
312
363
226
345
336
254
364
320
311
322
328
315
377
294
307
284
322
330
327
308
371
366
326
357
292
376
313
329
308
323
313
360
324
316
309
307
377
316
297
326
190
271
288
286
322
227
266
360
312
378
242
314
356
340
325
232
247
342
284
294
301
331
311
311
297
344
399
298
293
282
401
306
336
254
306
317
416
376
294
311
238
252
393
381
259
346
282
275
318
212
311
330
332
407
201
275
424
408
350
295
291
364
350
293
254
373
326
332
374
393
362
412
333
365
356
309
290
342
365
335
343
273
285
258
314
331
222
335
300
295
238
298
359
295
347
252
387
215
270
337
321
390
373
286
256
278
226
330
321
302
383
330
357
334
236
292
323
262
330
207
366
305
297
292
378
353
295
222
326
268
432
234
277
277
218
235
274
293
355
361
342
359
244
351
398
332
255
262
333
360
369
372
284
268
365
286
329
239
313
326
291
243
319
363
356
359
355
240
330
315
301
259
319
324
358
280
309
334
218
363
287
344
263
278
374
389
329
349
284
303
347
290
339
295
274
287
260
317
243
300
302
292
291
320
355
287
305
331
328
328
350
280
297
286
368
282
299
287
350
281
299
322
280
284
321
416
435
315
254
342
270
243
326
267
344
345
309
372
314
415
322
290
271
294
274
291
274
268
318
328
291
327
265
335
283
321
359
356
342
352
351
294
313
324
407
338
399
251
256
286
323
276
261
246
239
386
372
291
306
339
269
338
289
310
290
366
334
324
390
284
300
299
296
286
218
297
287
363
329
255
280
267
227
371
284
310
246
329
350
282
286
339
307
307
321
282
306
283
295
314
372
375
339
313
290
363
256
311
300
267
330
272
330
297
335
283
310
263
330
286
231
290
386
376
235
265
310
292
400
291
360
347
271
332
288
289
239
356
344
303
304
267
333
363
260
320
314
374
360
353
262
375
213
295
317
314
307
306
394
342
321
328
303
297
355
204
300
356
276
348
268
288
358
338
385
338
431
309
327
319
332
305
360
297
305
289
352
226
363
341
292
318
344
307
310
403
231
361
277
345
328
295
367
337
262
220
290
361
265
292
356
258
360
335
319
260
330
362
277
248
315
264
271
321
394
315
310
322
311
250
313
342
385
265
295
303
264
387
340
388
354
277
379
328
276
283
363
358
350
373
406
302
274
317
309
294
260
263
304
301
400
362
327
255
280
310
332
257
279
310
279
337
391
351
293
299
380
365
278
299
328
380
343
275
316
332
262
239
309
206
362
317
273
308
256
288
233
264
412
264
355
264
352
294
347
396
328
252
301
221
313
324
357
318
350
256
232
258
348
354
362
321
295
350
299
248
327
343
196
342
315
290
292
331
288
308
383
279
291
319
293
343
312
325
302
311
283
355
349
338
173
302
339
366
379
253
234
330
342
334
350
256
349
299
334
303
304
217
339
283
331
382
315
359
366
272
327
323
279
350
259
249
229
347
233
307
342
306
340
321
269
245
337
330
324
316
319
254
247
259
295
347
299
292
287
397
375
306
276
359
357
326
298
309
286
319
330
275
354
327
329
212
359
295
318
195
363
336
340
321
334
313
287
356
338
343
320
324
330
335
379
354
315
305
259
302
343
289
312
252
317
277
368
313
312
254
295
369
330
280
309
344
208
405
368
316
247
387
261
320
349
360
295
315
287
260
250
291
323
296
408
395
390
242
240
359
329
286
338
352
364
335
421
317
299
319
366
320
227
354
300
338
284
362
263
317
321
281
353
350
369
331
322
360
316
321
224
348
301
279
366
287
272
335
357
304
288
291
306
299
324
318
348
324
395
383
386
333
294
362
328
327
319
300
269
292
293
268
209
342
321
305
267
315
345
297
276
315
365
289
359
307
301
272
305
225
276
361
261
366
286
359
305
293
331
307
330
264
325
330
342
281
314
317
361
388
324
289
270
367
241
412
300
345
349
245
290
329
331
264
296
321
330
392
343
275
245
352
253
302
308
342
303
333
337
359
342
284
330
304
278
340
298
368
295
335
349
278
275
383
340
333
229
249
300
327
333
283
377
309
307
217
322
357
320
350
328
311
281
337
356
373
343
217
255
311
340
363
333
366
250
259
403
286
273
433
335
300
270
317
265
277
295
353
193
150
251
353
293
353
375
379
263
287
198
384
300
401
293
284
361
341
416
309
304
296
294
302
319
354
338
289
214
368
332
282
327
276
288
384
330
290
280
333
235
300
329
338
335
201
246
307
341
362
281
247
247
324
315
207
360
283
237
267
401
269
411
342
408
305
336
234
308
328
325
318
394
338
294
261
318
295
347
318
320
266
280
421
287
299
382
327
338
369
350
336
351
323
290
339
358
371
285
232
406
365
346
360
360
259
241
398
364
303
207
353
345
328
371
260
324
272
313
342
344
336
358
338
272
287
367
283
324
289
256
233
224
280
322
286
273
361
287
323
286
259
282
316
279
400
349
349
306
326
331
304
214
398
316
303
284
309
359
299
321
305
354
286
318
219
330
313
310
325
339
268
304
268
328
306
367
313
326
275
310
333
247
360
304
347
314
325
345
320
253
202
306
249
285
338
327
318
344
292
314
256
247
351
310
297
264
374
288
342
329
397
288
192
336
287
260
361
267
322
368
249
386
420
304
275
301
297
369
232
170
290
166
336
316
291
325
321
391
307
305
281
256
326
358
376
296
307
298
298
339
256
281
356
310
277
363
321
270
355
315
366
274
326
306
319
342
186
361
304
366
367
262
335
333
328
317
342
302
307
284
326
306
304
352
312
260
367
296
277
331
333
287
248
405
360
241
334
363
342
323
278
344
326
287
341
363
341
296
330
363
279
313
381
349
274
275
287
310
323
385
270
253
249
396
339
327
355
290
293
403
298
319
252
331
249
368
307
329
386
296
309
324
314
258
294
290
365
338
327
341
279
262
358
346
395
376
327
353
370
411
310
343
375
292
274
345
251
380
329
368
347
251
392
367
275
390
302
262
367
296
461
334
305
302
338
340
275
322
353
300
328
284
263
313
276
349
318
347
293
297
338
353
320
280
349
271
314
388
252
380
337
295
341
395
323
377
390
253
357
289
375
292
299
353
341
324
230
328
259
343
278
307
242
304
354
343
332
355
344
248
353
256
277
298
273
306
310
312
384
322
214
311
271
301
246
264
327
362
332
367
240
302
309
303
397
370
276
276
283
333
244
250
295
273
299
299
401
251
312
294
325
307
250
308
330
234
340
277
410
236
326
348
381
293
330
258
286
352
362
311
314
320
285
328
325
270
289
300
402
357
381
335
389
224
350
394
299
332
350
298
361
443
281
255
374
380
327
290
382
342
342
336
362
239
317
324
187
371
306
307
301
372
341
360
322
355
281
327
336
329
294
388
313
288
232
322
322
332
335
325
301
259
372
267
239
306
274
283
266
287
379
311
298
327
377
328
282
383
282
303
265
339
306
310
286
272
284
356
309
374
347
248
256
295
338
343
293
234
300
274
283
408
262
297
231
341
298
274
387
341
227
286
339
266
354
391
308
279
274
329
307
322
303
361
252
331
322
265
285
368
253
281
282
264
197
314
267
308
345
342
290
348
346
358
385
391
373
314
350
256
343
287
321
331
302
313
325
272
278
276
326
363
270
300
260
297
300
304
281
294
309
252
296
264
372
287
350
311
299
285
248
367
277
277
406
278
448
309
335
327
281
372
239
373
223
254
315
283
320
210
272
333
364
309
339
410
325
327
275
297
271
294
276
221
298
360
331
297
342
361
379
342
341
280
330
300
310
291
350
365
363
315
248
286
322
345
307
289
336
278
285
345
375
340
290
309
290
338
269
274
221
327
400
367
307
311
422
308
263
296
333
346
343
265
250
299
277
359
261
306
380
298
313
335
379
240
294
244
400
313
332
274
293
301
336
325
266
373
318
323
317
348
367
276
321
309
332
291
314
327
349
354
263
277
273
328
328
306
208
340
295
266
310
342
328
242
382
304
309
275
327
284
331
362
287
309
365
217
307
355
369
428
266
313
323
417
318
204
366
339
265
304
335
295
344
306
342
335
235
294
251
333
294
301
354
299
325
319
362
305
323
270
337
300
329
362
318
390
330
285
324
332
303
263
286
304
252
303
313
277
323
226
328
414
264
317
278
336
218
357
313
290
287
286
413
246
255
338
281
335
311
319
262
366
255
365
327
221
257
284
298
292
319
347
325
335
263
320
295
311
272
300
393
307
299
270
300
284
400
335
289
308
243
309
275
314
334
295
268
280
310
372
314
297
306
272
360
387
217
259
369
295
350
271
384
310
253
319
340
335
290
374
339
236
307
306
274
365
390
351
230
318
127
335
261
324
300
301
322
351
195
248
373
333
236
289
320
293
264
286
299
295
363
320
290
349
276
361
303
328
288
367
379
290
279
333
326
281
239
293
335
321
381
322
391
338
334
291
279
349
247
242
338
360
279
354
350
374
365
450
353
336
358
252
377
294
358
267
246
282
230
303
313
312
219
295
291
280
360
260
349
392
281
371
320
250
253
316
312
308
260
412
260
307
318
297
325
319
263
377
318
197
289
260
294
416
347
256
351
263
370
347
368
373
302
298
342
319
333
340
330
297
368
332
290
300
333
319
340
304
352
324
337
194
277
261
306
326
340
231
276
315
351
332
312
185
416
295
342
281
270
345
327
295
286
302
316
325
365
325
306
274
242
268
235
286
284
312
328
344
293
317
376
397
257
338
295
325
304
379
313
305
379
307
292
330
312
293
376
289
305
271
293
267
304
358
363
307
355
285
344
356
402
282
256
328
265
313
420
275
288
230
353
329
324
303
252
356
353
332
310
337
424
261
258
349
295
287
311
266
332
318
189
359
333
279
377
290
269
421
293
293
341
326
388
269
329
307
318
369
305
297
306
330
337
323
216
337
295
277
350
359
300
308
315
329
369
343
324
326
327
329
304
300
354
285
354
242
368
339
382
289
290
364
302
301
320
248
331
357
397
382
343
315
359
358
322
372
250
240
293
311
344
323
302
403
268
332
183
371
274
351
299
355
371
369
361
350
159
319
259
306
354
327
289
253
376
292
330
335
302
303
294
356
270
273
241
341
258
303
347
263
293
367
309
373
328
329
345
253
350
375
379
348
412
272
304
252
317
369
367
318
411
171
256
332
330
346
343
342
319
407
413
300
362
291
326
231
301
307
221
301
307
323
220
282
251
263
225
284
396
234
269
342
306
318
369
368
386
336
307
292
331
271
316
331
285
287
262
397
308
356
365
358
362
252
353
376
314
304
300
382
278
273
218
366
340
336
288
315
326
253
296
276
295
292
401
371
349
305
358
355
320
372
314
358
330
349
313
387
283
367
194
309
178
362
347
356
282
267
252
394
401
371
357
330
265
336
298
333
314
412
309
331
348
305
260
285
327
329
319
330
313
305
361
280
350
304
308
255
308
319
344
308
399
310
311
274
319
300
323
295
299
276
292
296
308
319
321
321
376
297
258
194
357
312
317
351
312
327
296
258
342
333
306
310
280
246
373
339
377
292
276
303
357
332
401
294
331
269
271
256
340
307
302
386
359
268
327
380
254
241
314
335
342
282
332
297
330
317
301
302
284
341
292
378
308
354
357
213
347
271
311
260
264
364
349
291
267
312
329
334
299
379
369
295
258
348
272
289
268
384
302
280
366
326
259
346
346
346
366
215
313
354
262
335
394
274
260
277
329
303
279
345
322
307
205
276
321
275
359
293
296
305
355
353
371
312
387
259
327
318
259
257
323
331
339
320
330
375
353
332
313
292
212
335
221
229
346
292
339
393
258
299
318
310
332
289
370
323
291
322
357
271
242
266
257
353
382
341
270
356
289
343
330
316
275
312
289
390
330
297
319
329
276
366
257
256
362
374
389
306
284
320
332
377
403
320
312
260
318
325
275
308
328
265
289
359
355
353
288
345
315
307
247
263
316
365
349
251
291
316
262
327
308
273
292
404
280
276
308
292
318
279
274
342
298
258
276
331
323
314
318
237
315
308
283
354
249
336
250
327
300
291
280
314
383
382
296
311
240
309
338
349
310
292
300
282
297
269
334
260
330
377
276
335
233
299
268
381
285
282
282
363
308
383
284
314
390
357
358
308
310
391
332
281
368
283
332
268
288
344
376
310
308
252
305
354
325
346
315
265
367
270
330
311
325
372
365
202
357
236
338
318
317
250
350
392
345
335
359
306
310
345
319
302
366
342
392
375
239
348
316
302
315
308
297
268
284
254
348
358
315
292
329
372
398
380
340
293
374
278
284
292
284
366
334
285
304
320
228
332
367
353
280
305
277
270
358
260
360
260
374
297
275
261
387
377
245
285
371
371
281
288
294
322
220
314
277
308
329
346
362
343
281
315
269
262
366
305
256
216
337
288
335
337
234
334
356
339
394
403
359
280
297
368
219
328
349
313
391
317
268
312
359
277
293
248
329
337
304
272
241
283
255
248
303
265
287
391
289
341
317
330
250
289
357
377
328
280
358
334
248
307
317
341
320
284
282
293
325
317
226
303
257
284
335
361
310
298
319
337
348
352
323
435
311
260
273
397
323
350
342
360
272
303
265
373
299
186
325
308
309
376
321
328
288
272
398
309
303
275
327
385
305
281
198
280
310
274
306
306
279
295
264
295
254
350
215
377
345
323
310
305
350
320
298
313
330
372
320
331
243
319
370
343
342
354
373
313
311
277
242
323
308
271
279
330
305
271
390
295
312
338
333
402
325
316
338
336
265
373
315
247
373
256
305
325
362
299
260
297
290
349
277
393
288
222
356
276
305
333
404
390
301
282
371
408
266
331
303
358
306
259
342
281
339
279
296
310
312
384
294
311
279
285
296
232
346
330
293
371
322
339
325
386
347
285
335
298
331
367
232
342
312
353
355
353
347
305
285
270
360
280
316
341
340
301
403
357
317
339
331
338
438
206
324
351
367
279
372
358
302
285
314
286
325
358
255
371
278
324
337
300
337
381
378
335
341
322
298
370
322
255
365
229
278
232
313
298
360
377
304
387
365
381
384
355
391
313
267
344
266
309
390
212
261
271
337
308
357
320
287
318
335
451
334
390
296
372
313
350
290
359
351
305
411
347
308
418
232
355
352
342
266
315
254
319
303
279
239
275
312
372
307
164
313
270
313
364
289
370
265
382
363
348
286
303
299
318
274
344
316
231
383
353
376
332
300
296
334
327
367
298
231
271
303
292
298
324
292
291
277
281
287
455
306
340
335
273
318
386
317
300
233
288
352
304
343
357
275
289
317
276
392
338
197
329
197
362
305
246
422
267
299
379
337
338
336
460
308
314
341
248
296
311
289
281
182
322
247
358
266
272
306
252
397
324
282
219
350
349
282
346
351
326
412
308
247
312
370
308
394
186
401
320
302
275
376
365
328
382
292
316
225
344
278
310
355
286
316
292
358
279
353
316
286
337
361
304
339
222
288
296
361
326
359
320
335
371
314
375
297
352
305
293
328
376
322
246
318
356
327
305
262
347
279
290
365
278
282
291
277
254
281
288
317
274
253
232
240
272
321
354
326
291
313
341
229
307
314
268
328
264
381
313
338
312
374
298
293
301
347
327
352
331
268
322
320
316
349
329
245
396
418
276
327
365
340
300
278
240
223
273
274
399
264
256
304
320
250
370
336
282
316
317
360
337
296
307
265
279
277
335
289
335
314
243
280
353
344
326
335
332
318
317
329
338
323
352
331
288
276
371
277
306
258
243
296
228
277
355
249
346
226
247
259
349
246
355
338
358
337
311
351
337
300
316
350
374
343
321
245
351
270
330
285
409
355
303
329
268
345
264
335
293
289
369
378
284
250
221
412
351
372
323
360
296
366
293
275
311
221
360
274
266
237
276
314
294
364
234
375
349
251
288
342
265
269
337
269
258
354
322
324
253
264
343
365
359
264
317
298
371
311
251
328
291
377
335
303
318
287
282
367
345
277
299
337
291
360
352
349
320
363
365
356
353
356
344
342
237
328
305
319
384
346
279
408
289
331
329
337
370
297
335
356
338
280
281
327
321
365
310
301
275
323
389
257
349
352
268
297
274
289
341
312
228
320
373
366
191
291
362
278
312
344
292
391
356
273
223
360
389
253
256
278
292
314
356
359
286
301
306
330
389
303
322
339
289
318
283
278
320
265
297
354
355
357
292
262
283
372
388
275
315
354
295
353
322
381
344
249
345
376
290
279
295
351
349
289
356
347
343
311
313
243
367
346
397
309
246
321
335
336
416
298
308
304
308
360
420
284
282
333
251
237
320
360
311
328
335
274
327
375
286
348
327
396
446
295
342
376
247
390
246
328
308
335
367
358
296
350
335
328
354
351
385
273
412
327
343
331
266
357
253
365
290
301
303
307
321
317
373
305
250
348
318
351
310
299
321
284
311
343
353
360
333
312
421
349
350
332
389
306
291
286
333
310
285
277
333
261
255
330
361
196
265
351
340
365
337
325
285
322
332
289
223
374
371
273
339
237
405
333
363
289
305
266
317
322
361
321
322
283
252
302
392
285
413
280
314
308
287
309
283
306
341
244
275
357
333
337
321
408
290
315
363
321
307
267
284
227
314
347
284
330
314
318
233
357
278
336
323
291
246
357
271
292
371
371
272
266
315
289
290
245
266
243
282
226
267
306
394
369
349
258
354
303
347
367
359
383
280
347
366
279
321
340
330
334
292
347
269
317
318
279
351
269
362
354
290
350
275
283
233
272
282
268
369
323
439
276
343
270
302
378
356
382
296
299
309
387
363
242
228
362
286
326
361
378
308
283
297
306
351
360
365
340
381
321
304
288
351
277
264
354
270
297
256
335
344
321
275
330
313
306
244
249
260
299
264
268
280
316
375
340
360
369
365
349
274
355
294
283
332
260
385
284
212
308
385
292
341
370
356
294
287
326
317
405
382
350
383
323
206
344
337
329
369
344
349
298
408
324
294
423
294
322
281
322
348
315
237
309
266
342
304
263
240
272
355
301
360
367
338
293
308
277
297
267
313
313
387
319
270
328
303
318
339
376
357
288
286
247
322
319
267
385
333
281
297
289
333
365
396
268
287
302
412
305
324
301
293
264
358
276
236
341
257
354
278
345
343
338
288
275
330
253
260
337
373
298
317
345
310
399
338
281
395
317
290
342
309
328
318
264
385
209
327
263
340
355
263
342
303
334
331
349
309
325
324
304
331
412
240
317
296
284
318
253
287
357
394
319
348
272
337
290
294
359
351
264
324
365
367
410
334
275
330
347
377
270
317
312
316
303
346
321
401
349
332
287
317
395
325
326
290
312
264
374
326
303
316
330
367
370
362
378
298
326
404
281
322
317
323
312
355
320
303
369
295
260
279
310
325
215
294
378
332
329
301
331
326
297
352
267
296
372
355
284
292
274
348
329
292
246
345
242
290
336
303
262
352
367
254
315
336
314
324
378
313
262
349
321
272
344
364
296
398
347
345
297
323
380
319
303
345
285
328
400
361
298
347
317
286
333
242
266
313
263
286
291
362
320
275
395
256
187
330
344
314
388
302
330
345
301
291
386
289
341
361
257
204
267
346
332
304
329
391
335
275
310
236
311
319
325
310
192
302
382
327
333
397
351
351
290
356
310
241
320
393
330
330
367
299
353
433
400
414
401
419
302
285
245
363
326
319
305
301
260
319
327
355
254
298
390
355
310
379
255
278
196
331
309
286
235
250
294
279
311
315
370
391
303
304
372
235
278
316
263
356
321
279
287
344
355
343
395
302
279
278
300
259
270
352
270
365
340
320
308
312
292
195
338
361
279
275
272
344
346
248
267
314
302
262
303
419
279
305
231
343
309
242
265
266
338
347
346
371
264
333
336
324
235
215
299
381
362
247
399
295
295
242
365
272
377
328
286
312
290
287
309
229
377
346
257
275
350
325
210
295
381
261
282
328
355
358
334
275
324
296
366
359
295
331
258
219
283
297
404
275
283
355
252
400
280
364
234
353
358
293
281
240
288
402
374
462
325
286
256
373
318
243
320
369
352
330
311
303
381
281
409
371
287
280
278
277
337
300
417
274
281
175
382
274
323
349
288
335
326
375
332
319
260
301
314
325
363
223
362
392
302
300
394
379
345
192
328
351
314
363
336
302
337
368
255
308
376
298
330
355
365
297
308
327
346
325
267
259
279
345
282
325
312
322
290
295
283
295
261
363
320
350
225
321
420
317
272
298
325
322
277
331
321
305
371
376
334
328
196
349
386
363
310
268
281
271
296
379
206
271
381
240
262
294
340
370
488
291
308
355
362
353
368
311
250
294
336
277
302
292
296
339
302
306
292
339
323
342
332
288
377
342
342
304
394
321
343
296
256
281
387
217
321
354
345
279
301
320
272
244
352
324
357
395
275
316
333
327
297
384
227
246
320
382
257
303
290
297
293
302
311
249
263
313
306
178
343
247
397
321
338
296
326
269
242
289
331
208
251
267
343
309
317
287
266
259
344
412
263
296
290
330
328
321
288
299
346
351
354
418
272
389
366
290
267
312
252
334
265
271
280
346
394
342
422
300
248
312
349
374
311
305
390
300
293
324
291
345
369
302
384
331
326
342
262
355
381
258
355
271
287
298
277
335
388
284
430
361
397
319
196
400
275
345
323
236
291
231
255
363
345
352
296
294
245
384
396
337
377
287
248
345
324
315
286
340
362
291
287
359
315
335
356
304
338
303
299
332
364
302
277
316
272
299
337
359
311
293
302
309
343
335
298
315
340
410
349
351
288
392
358
320
252
383
287
325
306
274
254
265
323
295
332
297
357
341
212
350
289
420
390
280
266
326
378
342
341
309
333
332
302
349
367
338
380
355
314
276
402
300
325
297
269
316
336
281
284
293
325
367
335
290
256
356
383
364
358
338
295
353
351
317
352
253
323
353
308
230
400
380
219
309
270
395
354
271
345
321
392
321
326
286
286
354
366
358
302
348
406
296
307
332
307
319
308
249
293
318
357
341
390
310
404
327
307
337
305
305
338
293
311
263
296
353
321
279
262
361
355
324
386
324
257
270
239
319
287
289
292
358
348
256
295
319
399
347
211
340
328
280
282
276
215
316
253
328
280
304
283
341
283
406
361
336
307
316
186
348
279
276
258
302
323
277
263
327
335
300
258
289
319
338
250
299
323
265
279
374
389
291
356
359
331
294
371
335
302
396
315
312
342
327
279
346
286
335
251
334
315
323
355
330
368
197
308
360
383
296
361
361
333
281
292
328
304
406
285
281
304
400
307
277
211
372
251
385
340
290
326
314
318
311
333
326
320
235
230
368
329
299
330
304
331
395
280
293
297
335
305
271
329
282
264
273
302
285
297
317
277
327
338
257
396
355
312
394
328
317
331
242
266
307
306
315
317
337
256
393
442
307
329
311
290
324
406
279
298
348
342
372
298
352
378
246
316
318
281
331
300
323
337
298
320
354
315
243
319
293
333
310
301
200
243
298
364
356
343
300
346
242
293
293
279
254
313
310
327
339
363
315
248
334
300
404
336
372
317
405
372
336
296
353
346
384
306
361
303
295
342
291
325
257
285
213
238
280
315
312
350
306
317
367
356
278
323
345
260
341
336
322
265
393
336
363
330
327
270
388
324
266
347
316
394
270
243
279
289
275
317
405
265
297
295
362
380
345
335
271
323
310
326
410
349
254
283
261
351
274
282
361
243
334
377
359
378
306
277
345
363
305
324
369
318
267
372
247
348
324
284
278
384
297
333
331
328
320
272
368
350
330
339
329
313
313
351
291
302
264
303
359
364
365
271
318
311
345
279
295
282
344
285
307
315
357
242
292
257
323
308
372
307
314
305
288
382
333
366
332
252
339
255
343
314
234
273
325
309
350
265
318
284
410
246
424
283
343
364
369
359
299
281
317
237
264
310
310
397
393
272
308
346
340
277
309
293
301
221
247
271
373
332
390
364
299
282
242
297
282
259
252
372
316
347
339
266
317
294
371
291
352
284
285
312
246
281
320
344
349
327
291
298
341
281
341
245
275
291
310
279
215
241
313
267
354
304
359
265
300
318
329
277
306
326
303
313
257
292
297
289
286
312
243
319
287
241
284
296
376
345
270
320
358
315
284
318
307
271
294
323
306
330
214
271
332
272
333
333
273
285
212
290
321
389
386
321
305
295
267
310
300
367
330
327
302
218
289
273
317
321
364
295
313
324
334
313
273
321
269
291
292
299
305
261
311
320
291
234
321
322
321
276
313
260
248
423
283
313
302
221
346
347
362
380
326
336
296
282
299
257
415
396
268
334
369
331
308
310
315
264
334
279
347
304
306
207
247
278
365
330
324
375
303
374
371
315
269
309
352
291
326
297
296
315
288
345
256
268
259
300
316
289
367
294
322
288
202
328
372
374
269
214
309
342
317
311
324
314
321
288
339
256
230
361
409
370
352
242
289
345
374
366
298
321
269
300
305
381
294
340
310
302
332
257
315
363
306
336
300
308
304
352
317
267
372
386
375
281
418
343
292
273
243
341
298
344
305
289
353
283
336
260
271
361
352
335
333
329
331
368
279
387
341
267
379
323
299
335
322
378
320
326
272
379
237
299
367
437
365
274
256
287
367
226
360
316
413
268
368
371
252
309
338
311
375
324
394
325
367
367
439
342
302
263
344
294
246
239
329
247
195
327
232
192
386
325
283
292
289
262
330
286
267
229
348
344
302
326
338
289
344
306
402
320
312
302
364
406
253
371
352
336
385
296
236
362
380
295
348
327
273
397
267
338
344
356
292
306
268
276
298
284
316
398
331
328
327
332
283
321
364
305
339
322
286
367
334
328
323
337
303
346
334
316
226
244
300
298
242
360
347
312
325
245
366
272
436
376
309
310
305
381
339
343
224
321
249
378
284
303
321
301
330
315
305
275
253
368
252
331
331
246
353
305
359
415
288
397
420
289
330
351
305
278
323
242
188
360
281
281
413
320
331
308
390
278
440
285
270
294
247
290
322
288
234
436
362
271
277
394
336
283
381
318
309
318
374
409
371
318
367
295
262
262
267
283
316
338
268
330
332
274
335
290
342
348
327
323
264
370
300
256
302
415
340
340
323
258
262
291
323
320
330
309
371
328
302
359
369
358
265
288
397
286
287
251
278
351
329
274
403
342
361
296
281
288
348
342
338
311
360
402
280
271
340
285
334
319
310
227
374
325
297
321
258
267
359
269
314
271
309
305
378
299
227
320
307
340
268
263
356
414
301
296
286
310
247
248
315
269
380
283
350
374
345
334
293
291
176
340
369
344
328
383
378
273
202
393
231
346
344
296
323
248
308
283
408
241
206
365
323
331
224
289
364
305
252
381
349
297
318
354
313
358
270
274
359
348
273
306
253
335
352
235
317
369
403
397
314
267
347
329
396
372
344
257
289
308
252
335
335
321
346
291
252
325
389
317
267
293
301
377
297
342
245
367
333
344
370
332
349
285
245
339
324
293
368
280
272
353
246
353
377
244
296
276
358
299
342
336
347
268
242
316
313
244
390
310
362
325
289
313
278
338
297
340
332
311
301
300
327
304
273
345
346
322
202
399
294
318
293
393
264
361
293
324
357
378
263
314
384
282
364
380
368
369
287
290
337
258
258
319
310
348
287
380
357
300
271
348
375
270
399
286
294
361
374
263
354
319
232
386
318
383
306
329
419
361
327
295
291
363
364
267
356
325
391
333
367
285
315
218
312
317
333
206
239
323
298
343
257
309
228
282
320
326
263
306
370
304
246
348
318
298
363
351
298
324
221
414
348
365
262
309
337
296
314
236
357
272
321
313
334
352
340
275
296
349
261
302
389
325
281
398
399
358
375
306
341
268
301
353
310
306
237
343
308
329
289
287
307
340
356
321
332
300
351
347
309
329
291
257
294
342
321
290
242
274
325
326
332
333
342
341
346
307
320
268
254
363
321
280
390
350
350
411
351
301
338
276
265
408
246
298
290
245
384
293
292
320
340
261
218
331
404
279
293
306
238
338
240
288
301
279
364
320
318
336
373
296
319
274
342
219
246
393
303
312
360
299
264
328
272
310
346
310
312
286
385
281
375
408
363
279
278
247
316
378
268
295
410
330
380
279
326
372
266
355
284
339
361
262
313
339
304
327
313
316
341
223
227
397
343
231
311
287
308
350
322
346
270
334
335
237
398
321
300
310
303
280
306
365
431
347
277
318
294
313
366
297
333
303
329
335
355
361
334
316
333
280
265
342
332
375
291
341
370
381
392
334
381
260
382
317
288
361
372
285
310
296
235
335
368
304
288
386
288
210
340
309
294
364
326
348
283
357
298
282
275
383
256
349
342
359
278
320
271
375
354
218
288
316
306
348
344
386
302
377
328
320
369
248
327
347
350
306
282
295
335
267
345
330
307
336
324
342
313
288
287
332
366
289
297
285
258
401
376
266
235
322
364
264
312
352
384
407
352
348
328
221
260
319
361
361
302
337
329
343
322
205
263
329
309
366
341
366
268
464
334
265
348
306
266
303
288
284
317
270
298
320
295
290
247
293
334
295
220
278
347
325
231
380
291
284
224
359
316
377
357
342
282
249
328
301
339
329
351
376
320
279
348
291
311
358
351
276
327
355
316
293
368
314
241
261
247
307
329
368
332
249
264
329
360
319
360
276
297
327
248
394
251
322
336
327
243
348
323
323
306
340
378
301
322
313
377
345
413
321
359
381
197
423
319
274
250
334
359
293
331
351
211
287
309
317
351
358
377
268
308
339
348
301
325
224
368
343
384
324
331
236
358
304
291
329
320
235
264
387
280
242
306
381
346
296
391
320
320
276
408
327
316
275
344
284
324
209
247
414
312
296
325
280
352
335
384
323
286
220
301
435
315
286
402
356
370
326
350
372
309
270
376
311
319
367
264
292
411
304
235
339
296
302
393
347
260
395
332
307
299
217
326
281
326
400
272
381
333
344
290
261
271
300
327
248
270
314
323
248
361
334
354
278
313
281
363
217
311
319
347
276
364
368
248
291
319
315
379
347
291
304
352
337
310
195
322
305
266
235
301
310
401
223
338
372
358
292
375
326
299
274
366
333
349
198
315
273
296
367
264
296
332
250
288
223
417
368
320
283
342
374
282
425
252
204
373
350
348
293
285
294
277
354
361
329
249
299
256
295
327
277
263
262
296
315
271
350
241
322
275
337
259
336
354
285
310
378
285
363
265
224
326
333
220
276
388
316
313
266
296
352
287
345
311
354
305
289
320
284
284
290
273
349
346
274
264
269
362
277
349
266
359
323
346
361
280
347
289
342
341
298
329
369
314
326
340
272
395
359
366
274
344
369
287
359
322
243
285
206
274
341
225
345
348
283
309
232
334
338
336
396
357
298
315
352
290
239
280
325
368
343
291
366
301
267
312
213
225
320
294
379
308
276
374
298
258
344
355
342
275
323
371
289
295
300
261
356
315
324
413
347
337
320
301
319
312
262
264
385
355
368
272
382
312
358
355
274
330
392
317
271
332
296
301
382
311
318
317
280
266
344
305
279
358
315
328
375
232
302
338
334
270
253
373
344
313
377
343
321
357
327
350
335
231
289
291
285
259
287
344
381
376
286
306
274
274
395
371
318
315
361
322
290
335
292
333
251
333
302
326
294
306
315
292
254
288
266
279
367
356
378
214
223
283
321
314
231
327
302
260
346
343
305
358
326
346
265
278
333
267
332
348
259
323
315
362
292
373
269
330
335
403
277
256
371
268
413
271
283
272
262
266
328
339
309
338
216
341
280
258
319
291
350
304
285
272
243
291
304
271
338
322
310
359
333
347
291
319
337
300
368
267
170
324
272
300
363
348
300
332
361
353
308
309
352
385
299
242
259
335
313
268
360
315
361
320
290
227
363
311
382
348
419
310
374
328
310
318
253
362
332
312
370
341
306
357
304
238
334
333
300
370
300
330
276
323
285
335
342
354
310
224
335
265
291
326
397
356
353
296
251
305
261
312
383
226
279
223
372
355
326
348
295
248
322
374
329
360
354
318
354
290
346
281
323
280
347
303
326
297
301
380
236
362
308
398
364
267
346
352
369
278
340
348
346
326
262
288
384
332
293
291
319
349
297
316
270
326
220
281
271
386
260
287
292
330
400
333
331
320
273
295
384
341
354
320
271
218
248
262
254
248
221
297
336
319
283
302
357
331
287
276
376
309
194
262
244
311
290
309
347
337
281
266
328
259
408
229
301
297
275
317
263
315
267
326
309
332
306
363
290
363
284
347
307
333
311
338
397
355
318
303
383
294
256
345
267
316
332
332
297
298
338
266
299
270
303
311
259
379
361
228
336
222
231
258
309
320
324
376
355
367
279
469
277
284
336
306
309
304
345
323
346
279
225
319
340
365
422
317
343
311
258
226
382
297
275
276
349
271
341
365
262
307
292
292
307
351
292
315
289
362
318
347
329
322
217
246
339
246
394
335
285
215
256
252
254
377
368
409
292
407
356
232
347
340
345
307
290
250
355
394
300
301
339
316
319
321
360
395
354
318
335
305
322
269
357
324
298
384
338
240
334
267
352
398
299
336
313
272
385
333
367
319
256
289
306
291
356
138
301
285
264
287
360
350
376
303
303
294
251
338
278
291
288
359
309
309
299
383
297
358
271
298
405
307
372
374
315
239
288
323
300
397
378
300
253
326
252
241
331
344
335
314
324
255
257
318
298
315
433
367
285
335
395
325
341
338
229
384
389
328
334
399
343
302
333
354
331
302
304
267
305
333
292
319
267
340
360
313
286
342
290
300
304
307
297
298
365
344
265
376
348
269
387
344
318
289
299
280
318
351
263
281
368
242
360
270
299
306
268
343
292
346
323
309
296
256
335
341
344
335
296
372
398
350
352
297
342
237
365
271
290
304
415
352
381
255
310
327
414
275
405
286
297
359
307
339
325
243
314
345
390
331
408
369
398
354
349
251
240
315
318
289
226
307
308
401
315
301
325
247
333
314
309
304
358
315
314
268
311
286
310
302
324
290
280
462
348
286
244
275
337
364
366
282
268
339
334
288
311
293
372
322
303
253
277
247
301
284
333
281
282
292
368
301
316
310
307
285
292
364
302
306
367
351
297
349
301
349
297
331
406
335
304
278
308
251
331
350
313
302
283
354
295
288
323
291
295
329
260
253
274
375
243
306
339
360
315
355
380
291
313
337
280
336
343
330
330
290
276
315
305
361
391
392
324
308
271
372
298
310
240
321
342
326
357
214
233
294
318
297
257
339
265
296
347
328
402
223
230
281
277
221
263
335
422
349
367
289
334
352
268
378
351
260
293
292
340
301
287
296
382
328
293
318
282
307
279
320
292
328
348
331
355
361
332
326
305
348
388
333
275
316
323
209
401
312
302
347
323
354
280
231
384
261
352
320
382
293
386
321
357
297
279
304
275
282
267
309
237
326
296
318
265
339
257
329
332
321
356
306
289
350
327
451
318
317
325
371
304
322
270
343
272
336
296
348
305
326
311
250
288
247
287
263
337
301
323
261
428
323
345
238
259
349
368
318
383
330
289
280
262
334
250
307
348
281
374
239
273
365
271
348
284
346
347
258
325
287
363
346
376
363
292
323
360
336
258
323
341
319
332
360
320
367
332
343
291
298
337
348
305
324
349
347
325
294
342
347
327
297
322
356
321
321
288
285
341
365
381
313
375
320
320
231
251
343
274
303
293
374
282
405
282
247
302
342
371
266
277
340
309
308
345
278
300
268
312
314
343
279
253
359
327
304
324
307
325
354
414
344
300
370
275
323
194
363
329
333
315
332
239
334
313
276
321
281
315
337
336
299
352
386
303
366
221
323
267
319
379
311
281
240
219
263
307
353
188
202
267
329
320
203
312
342
363
348
294
284
370
274
378
283
334
288
284
291
371
395
293
369
308
285
317
275
240
313
298
338
312
323
289
301
281
290
355
363
304
327
290
330
304
310
373
292
264
246
385
222
406
276
264
401
405
328
375
270
358
311
281
292
269
285
336
377
247
291
304
366
386
313
346
394
349
288
283
287
307
350
260
222
337
394
261
270
303
313
250
310
298
287
360
296
281
315
360
252
342
298
264
357
300
361
376
332
318
278
325
408
268
316
248
297
365
323
322
347
304
323
240
300
358
260
317
327
328
318
338
226
385
296
342
293
384
309
332
331
181
282
309
272
220
361
323
334
353
302
337
217
270
349
249
332
278
323
277
403
290
350
337
347
332
360
315
329
277
311
275
284
342
310
224
321
239
259
290
457
331
232
360
321
378
283
350
378
302
320
292
324
306
218
346
329
294
364
332
265
334
233
329
301
339
226
332
302
284
311
284
294
287
292
258
285
380
299
309
293
302
293
338
315
304
320
293
331
342
300
366
274
286
334
299
288
257
332
253
341
310
388
447
366
314
295
311
296
372
311
273
296
384
282
351
288
379
319
388
313
353
348
313
277
308
299
376
262
323
357
288
362
325
367
365
340
392
243
287
274
354
319
317
222
300
267
344
338
368
363
272
348
318
327
306
367
314
308
355
344
315
356
316
345
307
259
316
290
301
367
316
377
385
306
403
316
262
229
330
357
414
286
311
300
362
389
345
278
305
331
247
324
371
378
302
317
286
251
291
396
288
349
248
411
372
355
399
301
366
338
291
322
358
309
264
339
241
295
337
443
259
339
318
253
352
350
396
252
403
233
288
261
373
335
293
350
312
384
241
351
338
329
300
294
300
275
303
315
304
353
326
361
253
423
306
345
196
241
309
294
422
334
274
336
289
315
304
363
411
322
316
328
281
328
380
262
280
280
330
305
327
313
291
337
265
329
357
307
308
367
326
295
265
331
317
314
287
291
319
319
233
323
343
255
346
308
267
275
319
342
313
307
268
354
316
228
325
270
305
311
286
334
315
279
398
301
318
304
261
314
331
292
390
313
381
272
328
328
320
341
322
295
378
246
299
357
284
382
291
314
305
293
286
345
352
328
439
360
300
335
343
288
299
353
289
220
367
398
344
359
315
266
326
286
261
334
325
269
322
297
309
268
363
188
401
352
290
289
314
274
318
327
326
287
301
223
338
277
179
360
327
299
285
328
345
328
280
339
405
363
412
302
245
361
339
290
321
312
297
329
290
265
239
309
376
334
302
255
342
320
342
277
355
314
339
290
317
329
415
297
318
354
403
350
412
357
327
253
331
321
369
332
243
250
308
303
258
336
314
370
389
310
273
263
350
403
349
339
291
309
348
338
313
329
271
318
303
253
347
260
322
322
397
311
272
304
331
353
301
280
313
372
328
295
382
254
350
316
281
306
286
382
352
281
300
323
313
322
302
295
316
325
331
267
342
338
345
250
335
362
291
301
346
310
306
346
323
268
317
313
378
379
378
311
364
325
272
368
248
360
337
383
283
295
331
248
390
286
314
327
357
298
240
283
338
350
283
353
381
386
312
367
340
367
277
238
349
349
288
269
331
320
344
222
378
369
273
271
318
317
402
397
237
372
285
278
399
377
295
331
275
322
261
286
374
347
267
376
311
322
312
238
258
248
369
362
259
261
296
329
324
295
368
372
325
366
263
275
307
396
350
212
233
369
292
223
271
279
230
214
354
361
282
350
400
382
319
305
208
257
380
328
263
293
338
232
256
378
361
403
302
257
350
320
320
352
310
352
319
363
369
376
292
250
278
309
285
335
328
354
338
243
277
366
315
389
359
283
263
309
356
236
222
398
333
366
328
384
225
271
300
252
333
273
219
333
331
337
222
337
297
371
344
336
327
346
353
389
345
316
277
241
317
269
355
330
277
384
260
342
218
311
345
311
347
256
279
359
286
347
387
378
269
302
280
310
427
374
295
274
298
265
322
351
278
316
275
266
288
350
294
364
320
300
276
368
237
350
295
303
315
284
345
334
380
238
382
329
283
421
309
311
296
245
320
268
372
319
292
301
300
424
246
335
240
425
323
319
255
274
269
285
351
332
252
355
343
380
275
326
285
218
296
359
330
357
305
294
375
219
345
332
290
372
294
327
247
254
330
273
321
327
365
379
339
280
347
299
376
337
319
290
386
346
355
301
265
273
327
340
308
286
318
378
326
324
349
283
278
275
339
280
310
279
339
290
335
283
312
314
306
266
326
320
308
240
309
347
228
357
336
318
296
324
356
224
289
261
359
293
216
269
323
253
314
232
309
353
269
297
320
270
282
240
360
350
264
313
326
248
306
317
288
298
326
321
267
363
335
305
298
317
359
348
250
333
308
325
253
334
350
348
333
280
299
286
282
334
329
317
267
331
324
339
375
299
314
313
342
301
290
294
324
292
336
240
417
325
291
273
329
274
396
251
291
314
336
361
449
380
342
371
303
293
381
272
317
258
359
426
293
339
336
255
347
388
228
262
241
262
350
376
387
358
309
285
346
331
263
337
336
293
282
288
342
303
286
238
353
350
210
297
349
328
361
285
292
306
318
261
403
345
385
222
196
313
383
326
336
237
335
321
431
354
359
360
448
341
282
258
406
364
375
292
389
354
319
314
364
376
223
303
326
339
364
355
188
408
353
268
189
297
351
293
322
319
344
360
317
311
345
363
404
381
266
304
315
320
352
258
332
274
329
270
321
365
314
401
330
355
277
359
242
238
259
319
406
313
347
287
384
358
318
311
365
287
342
233
354
343
306
335
277
301
334
332
294
368
200
284
382
341
408
265
306
338
292
340
373
304
340
344
301
407
344
312
298
210
303
400
348
346
321
278
340
348
394
239
217
360
284
277
251
312
323
298
230
317
244
322
376
295
313
346
419
324
354
326
267
333
258
305
332
237
299
352
276
323
230
338
396
343
243
235
196
294
262
371
346
331
269
394
314
336
279
337
335
336
286
266
293
356
329
287
279
288
317
320
351
346
285
355
237
366
271
265
349
318
362
321
231
308
394
215
316
369
396
325
364
313
311
354
341
334
347
186
289
315
415
336
274
312
240
331
305
393
269
321
318
383
347
304
307
199
290
316
291
307
324
336
331
342
322
301
210
302
319
329
318
331
386
351
342
385
286
305
306
338
216
262
345
310
405
257
392
261
311
270
312
292
286
320
285
353
278
346
373
312
379
376
324
299
312
278
285
307
297
374
230
401
292
345
359
341
325
388
263
317
315
374
299
356
226
448
263
251
372
301
292
323
239
333
194
348
359
323
314
307
300
291
240
387
255
266
255
299
331
283
308
213
270
365
283
362
290
291
385
325
350
274
387
303
287
347
244
312
327
374
361
335
411
338
402
308
311
280
334
333
314
286
254
270
270
288
258
315
340
413
313
267
309
287
454
219
293
323
390
341
415
295
348
353
279
298
338
282
354
334
283
289
341
284
323
337
298
351
314
363
275
305
322
277
207
354
239
363
321
307
339
361
305
325
328
325
225
278
280
343
296
224
229
273
364
357
281
267
375
287
318
342
225
367
352
413
307
290
263
331
242
303
359
321
375
351
323
253
196
298
318
291
214
321
309
302
316
339
303
287
335
314
327
265
396
299
294
210
319
415
332
237
177
316
292
281
362
338
341
345
291
408
330
381
350
257
295
289
348
365
302
226
261
241
227
271
394
286
346
359
342
303
310
293
438
337
330
336
284
294
328
363
292
337
291
302
455
254
290
302
411
311
267
319
321
352
398
395
317
243
351
233
359
331
309
248
328
351
287
286
370
228
349
356
347
382
221
291
338
345
267
334
316
313
254
289
306
352
307
349
311
367
296
302
282
299
348
300
333
347
276
226
255
258
201
281
347
298
334
321
331
211
335
276
260
372
336
283
363
250
294
350
371
295
338
354
392
314
371
307
289
398
301
272
307
388
276
331
264
317
327
370
310
307
354
302
335
381
190
292
349
329
322
274
229
302
339
345
281
229
272
344
364
271
277
346
400
319
301
273
257
350
321
321
320
246
382
288
261
386
287
330
330
318
353
375
264
301
278
309
315
388
329
399
273
354
293
327
325
292
249
332
301
400
218
307
243
345
344
364
238
333
385
285
290
307
277
234
311
270
359
295
315
327
370
262
377
315
372
362
339
309
319
283
340
351
281
242
379
303
240
286
329
342
346
289
312
361
339
387
289
312
281
250
202
321
348
277
372
279
263
330
299
319
298
384
251
342
344
292
321
327
219
335
271
345
312
320
314
246
297
240
330
245
319
293
290
310
301
262
346
278
368
182
368
296
323
287
268
329
329
317
295
291
337
360
323
352
392
272
399
327
275
376
256
303
307
238
327
415
218
290
284
380
290
196
385
327
350
354
330
323
370
315
281
348
367
212
318
324
324
315
391
306
298
275
272
339
304
355
374
381
335
329
306
286
279
412
283
298
271
257
279
249
238
283
322
279
329
301
284
310
294
281
310
275
301
274
309
275
385
358
231
382
330
218
294
404
265
375
290
274
234
202
340
335
295
314
369
241
291
321
367
308
329
373
370
348
352
287
319
320
330
425
297
399
297
359
309
334
432
359
331
403
356
369
332
332
305
314
288
300
311
372
285
300
288
300
327
296
340
318
335
269
348
309
331
273
339
345
341
293
269
302
259
314
294
391
364
352
341
328
208
328
273
290
291
377
334
306
315
246
236
227
369
312
283
384
324
356
386
314
351
350
303
398
373
392
304
264
273
347
305
345
312
260
273
325
358
308
324
342
284
390
285
312
343
340
327
264
308
322
381
274
406
297
337
287
313
241
436
343
318
316
283
317
315
262
309
359
340
349
345
301
299
298
352
193
310
349
301
363
352
391
351
309
407
329
323
385
304
306
324
309
294
268
324
323
224
366
294
327
291
250
350
281
322
275
318
333
217
330
305
410
347
371
288
278
301
278
250
398
360
417
395
273
292
332
241
290
281
268
281
301
351
333
266
344
302
230
272
284
305
358
314
373
274
308
277
244
307
394
359
273
328
348
239
305
337
315
243
376
313
364
279
290
295
236
302
300
285
349
281
355
426
402
265
375
308
342
326
247
260
380
320
301
297
258
367
290
375
349
356
331
310
291
435
295
313
374
329
270
369
230
367
371
275
398
327
266
308
321
400
271
296
313
333
348
351
355
335
301
359
329
377
288
389
260
260
294
360
268
337
298
292
321
279
291
205
273
313
399
343
296
320
270
392
275
322
282
287
316
311
358
282
263
258
270
306
336
316
367
382
386
359
252
277
372
275
297
306
325
355
350
307
202
234
250
288
359
279
347
266
317
334
340
291
326
301
285
262
360
343
299
326
365
322
313
292
241
208
312
227
242
363
334
301
287
332
353
344
328
362
346
305
319
366
307
256
318
310
315
316
356
385
367
408
289
361
377
253
206
344
249
290
308
336
341
284
320
327
384
367
383
274
299
358
324
332
314
272
329
292
401
357
300
323
318
249
326
270
359
346
354
326
285
245
314
322
259
287
353
241
256
274
340
416
298
231
308
234
231
337
271
248
369
386
310
299
374
320
375
332
327
209
284
290
347
346
320
303
284
328
282
245
225
313
316
338
294
298
284
282
346
358
296
354
268
387
329
411
372
319
335
271
305
241
340
353
320
228
251
351
257
312
311
348
284
309
326
324
312
413
335
394
364
275
273
267
336
349
284
350
380
380
357
273
198
389
341
342
247
340
337
283
300
285
350
321
266
372
379
344
292
329
291
323
389
371
286
407
362
319
310
363
354
335
275
262
330
339
271
312
277
295
365
334
312
324
279
299
338
267
327
380
273
350
318
353
402
316
358
395
312
322
337
330
354
271
306
252
274
278
272
292
324
278
287
327
330
351
326
303
284
308
340
288
344
312
323
313
326
316
292
284
280
383
371
326
336
342
401
294
253
257
275
376
302
312
263
350
364
317
252
290
362
288
299
267
272
298
306
300
280
280
249
357
338
303
270
365
285
342
387
330
341
295
227
358
332
293
391
380
261
312
320
358
395
182
348
288
343
354
318
235
252
321
286
332
270
344
302
315
408
356
371
261
263
424
367
320
315
287
355
271
336
289
330
278
304
307
277
374
340
331
309
322
287
412
352
222
275
369
257
322
378
283
390
354
358
270
301
260
347
330
315
359
314
300
381
264
283
327
322
273
273
316
312
271
307
326
292
311
320
350
412
336
342
297
358
319
345
362
301
315
317
315
340
330
296
198
353
363
322
319
340
286
252
328
284
281
360
307
382
319
338
345
344
307
330
348
312
298
289
357
361
324
403
423
278
372
245
315
264
304
300
401
396
365
341
259
284
328
329
336
266
417
296
273
391
390
344
362
371
272
360
345
246
239
273
293
246
384
396
368
346
352
288
329
352
265
396
345
318
274
239
303
241
270
239
259
312
307
394
333
283
263
324
330
237
318
368
294
341
363
277
257
284
309
262
273
347
333
234
327
354
343
287
407
284
309
282
336
367
269
294
297
319
326
333
347
306
277
335
316
326
247
260
371
395
255
307
310
306
322
291
278
298
420
267
348
249
181
361
277
393
360
323
271
320
321
297
295
396
237
324
258
353
280
342
320
294
238
343
398
320
423
235
291
272
353
284
311
306
359
300
221
332
320
339
280
291
270
324
397
335
226
238
279
297
254
371
304
291
337
440
268
362
357
278
268
313
335
255
343
211
251
340
309
254
314
301
313
227
330
297
311
313
221
362
266
364
289
383
342
320
277
297
274
357
325
311
310
329
295
295
361
271
315
374
322
323
394
347
278
318
303
302
309
275
317
430
364
412
264
253
187
162
352
288
374
295
245
354
338
283
358
292
356
334
402
289
239
347
246
378
290
321
336
260
352
269
284
226
301
363
362
369
333
292
334
331
383
332
273
327
330
278
310
290
343
301
300
285
357
294
354
303
324
288
317
286
314
278
369
371
277
283
286
238
261
379
359
410
285
284
377
338
322
302
288
293
312
291
347
270
303
332
353
304
209
364
342
376
351
391
332
347
276
310
335
325
328
326
364
362
359
348
317
238
407
322
317
221
326
341
318
446
251
399
294
271
336
277
314
310
249
290
320
350
320
278
316
336
295
394
370
310
255
326
326
322
302
325
295
330
257
243
342
350
299
294
294
231
326
293
353
339
271
298
337
337
330
322
258
305
343
374
337
231
330
335
329
383
359
405
362
304
337
288
309
363
343
286
337
344
209
276
333
301
319
333
292
305
361
300
351
279
272
348
207
323
386
302
337
323
279
325
350
319
296
328
309
376
353
339
250
317
369
311
279
373
263
321
264
347
243
331
288
289
386
360
274
288
316
327
294
275
333
241
343
291
301
218
249
254
332
279
331
315
397
370
319
309
331
335
279
369
316
314
337
345
325
384
301
253
295
245
355
329
320
381
352
320
347
266
252
323
312
308
357
296
327
295
223
200
355
272
280
265
399
295
363
359
336
294
338
293
320
275
327
314
376
316
308
273
437
288
414
288
292
241
338
291
291
364
265
356
266
380
332
302
344
303
373
304
382
304
272
334
324
347
259
250
269
378
260
280
375
342
267
224
374
267
313
319
291
334
251
412
272
369
213
236
283
284
358
290
337
294
319
273
302
280
231
297
283
345
210
299
358
314
334
293
342
331
353
315
369
344
319
331
233
314
298
325
338
325
263
363
285
298
360
325
326
291
309
217
219
278
380
343
273
227
357
294
256
357
297
190
281
276
289
360
246
326
302
364
196
345
280
358
273
314
265
293
307
269
251
252
294
334
362
277
272
300
335
358
330
367
423
354
343
418
259
360
337
375
249
287
327
344
205
324
307
319
278
279
310
255
348
254
281
346
288
348
340
265
289
297
382
334
332
332
316
317
355
274
339
321
357
325
323
317
328
295
278
251
275
231
299
307
356
282
410
270
387
286
228
283
317
335
327
318
330
356
335
280
313
343
268
315
358
208
353
388
341
332
321
338
280
329
291
334
359
350
267
243
377
332
292
252
264
346
322
255
247
354
330
215
285
262
297
298
244
265
350
348
312
346
293
422
281
361
271
274
268
281
310
244
328
365
353
353
371
417
369
311
281
263
354
335
369
248
290
260
389
245
318
323
301
320
269
291
403
345
346
359
454
208
330
313
392
279
232
266
334
324
309
269
226
308
322
428
375
279
284
259
279
349
211
326
353
375
301
332
360
322
331
243
360
280
310
418
292
327
269
326
293
282
402
309
328
350
315
343
356
231
284
270
329
273
247
297
271
299
252
315
342
332
315
309
272
289
312
335
331
242
375
301
285
301
295
327
294
351
276
246
377
392
267
240
347
340
278
295
401
366
350
294
239
250
351
277
345
297
402
342
272
334
306
364
287
294
307
328
262
203
316
225
309
409
322
294
259
370
399
290
321
326
173
253
441
346
375
257
253
378
318
297
321
359
237
310
307
280
301
351
323
321
407
297
349
278
317
290
357
344
320
410
319
266
280
273
343
331
262
328
286
340
284
361
351
351
293
318
257
342
411
229
297
332
266
264
323
327
386
295
380
392
342
275
209
307
247
343
271
278
339
340
185
284
297
341
277
281
439
305
346
331
317
305
405
348
335
334
381
265
329
336
307
302
310
382
397
266
271
400
285
286
265
308
377
314
368
377
275
394
364
325
281
323
228
366
305
291
322
252
326
194
270
391
338
292
247
252
324
362
286
329
303
265
304
268
276
346
326
317
328
309
244
299
277
332
297
317
358
216
235
361
322
263
262
358
310
269
344
249
329
260
313
309
286
395
340
292
213
278
352
392
315
277
303
310
406
304
311
303
329
259
209
241
347
363
333
313
390
313
325
308
337
260
303
260
360
316
326
395
352
337
227
234
365
285
278
337
375
287
341
372
331
290
371
234
334
279
371
254
359
323
344
310
339
312
333
358
287
334
218
342
388
326
281
361
336
252
384
323
314
287
342
310
342
375
303
382
223
296
304
349
310
294
316
286
312
344
363
291
324
286
324
345
342
248
301
348
333
283
328
321
350
239
328
241
323
392
259
353
328
283
279
326
335
303
247
427
309
281
346
337
338
313
368
345
287
308
350
319
258
335
305
269
323
304
289
327
283
287
338
344
300
339
306
340
324
365
329
341
340
322
305
347
362
329
286
262
321
314
320
306
355
275
320
314
319
310
373
317
317
330
263
324
296
309
341
270
379
329
277
344
313
282
376
340
299
306
301
410
379
275
361
280
414
338
331
350
336
323
321
301
310
280
269
347
344
387
260
340
303
362
251
284
394
303
335
318
344
273
296
268
309
296
302
322
273
376
353
292
287
415
343
304
309
286
241
316
276
280
222
397
302
336
232
252
382
417
287
305
362
231
337
380
310
260
344
311
323
275
359
294
341
320
331
266
345
331
312
344
246
314
333
293
316
264
296
292
276
325
376
274
236
358
293
337
350
324
376
314
301
352
362
322
307
373
379
359
314
277
376
301
329
356
327
323
307
364
275
343
237
290
336
325
355
253
377
268
322
279
266
353
406
281
312
334
281
366
285
274
342
380
204
349
354
281
379
287
277
262
274
350
355
383
351
240
314
361
323
253
343
344
312
319
310
248
252
345
325
293
332
269
336
285
294
280
387
360
383
303
340
291
418
240
310
316
312
355
303
242
302
290
303
361
228
333
323
365
371
327
363
253
285
353
292
230
310
222
321
296
359
337
255
264
280
285
276
278
259
324
330
203
312
306
321
299
349
328
323
308
342
249
370
383
312
298
328
320
346
276
303
305
273
334
342
356
381
345
327
324
312
326
257
378
315
350
447
309
221
329
293
330
345
315
330
363
365
305
275
319
363
400
347
282
332
309
360
268
300
282
290
200
343
370
279
321
289
279
344
320
231
307
233
313
366
287
408
257
321
210
296
365
335
310
302
362
337
251
333
322
337
361
318
252
313
304
242
277
404
292
300
341
333
319
346
408
299
340
411
311
291
272
313
351
327
278
346
311
242
204
341
306
254
314
313
230
292
243
303
360
313
329
240
335
228
315
239
307
364
329
297
282
284
390
354
393
372
343
289
367
327
320
302
333
273
310
337
273
334
335
354
360
254
350
314
278
239
324
350
360
317
371
286
351
275
352
305
353
286
235
361
281
258
228
329
411
320
339
333
233
313
348
221
360
409
278
363
326
399
297
310
284
310
341
346
335
205
384
343
329
376
270
338
369
372
370
267
284
333
314
412
278
299
303
290
283
295
296
345
305
328
301
260
289
312
319
329
401
303
352
342
289
291
327
304
363
260
345
372
315
299
332
238
362
344
341
326
299
334
334
288
319
339
374
344
290
277
376
342
263
349
271
356
332
364
354
318
338
286
285
316
373
299
392
348
331
354
263
176
328
315
347
271
333
281
337
324
376
359
311
351
330
427
314
290
336
397
182
306
311
323
342
300
326
371
341
331
280
376
346
307
348
342
317
158
361
340
344
367
356
335
311
306
365
315
225
348
414
242
275
267
329
355
295
319
305
323
263
353
317
302
374
271
256
331
315
433
343
259
347
313
375
376
240
359
295
330
342
220
339
228
259
295
251
310
315
380
274
389
274
290
221
332
308
305
248
241
199
243
309
392
389
278
339
317
287
306
356
334
319
306
331
273
319
304
312
286
310
285
322
291
318
329
288
190
310
322
204
323
288
234
346
325
361
402
298
221
353
294
365
322
292
320
366
317
315
332
386
370
355
265
369
261
304
245
299
426
260
292
298
302
275
287
280
301
395
241
260
349
296
265
187
310
285
236
285
291
306
328
269
247
300
311
409
331
320
290
243
355
266
302
254
272
289
352
273
318
368
315
358
293
341
300
345
302
330
332
344
406
324
336
302
308
400
322
261
359
337
335
324
381
314
349
299
275
343
240
226
254
353
292
372
334
313
338
343
338
359
263
314
334
296
384
319
355
316
325
223
325
257
404
304
292
370
311
356
242
320
386
238
280
323
319
208
335
246
310
190
344
344
335
270
273
236
330
363
366
312
312
416
314
347
307
285
380
330
368
390
353
313
301
313
329
300
301
314
372
336
275
302
312
309
354
341
336
352
243
327
317
352
266
320
237
328
328
336
323
331
252
316
249
294
291
343
314
362
320
331
347
393
305
252
349
333
265
349
317
320
359
315
378
313
285
341
320
313
283
319
325
325
292
319
354
331
326
367
336
339
356
378
270
380
282
381
349
353
263
335
404
295
280
302
397
292
293
363
291
332
400
294
315
319
381
286
408
343
367
288
318
380
307
340
202
320
288
313
318
347
314
336
323
365
294
374
321
361
378
301
321
425
294
244
350
334
249
340
450
328
279
317
305
359
289
337
331
298
325
349
349
279
272
402
383
268
313
323
312
298
305
376
311
269
327
280
258
325
296
271
274
258
289
278
298
363
284
317
356
314
365
236
258
300
279
337
283
299
398
285
355
371
333
329
364
329
379
303
329
301
248
290
350
336
277
235
285
241
229
236
386
324
280
272
372
335
303
345
294
327
366
346
376
334
350
296
317
305
284
336
223
243
321
285
236
320
303
250
286
345
352
292
271
327
332
311
370
304
318
295
283
302
325
305
234
374
264
288
345
326
286
387
358
328
398
304
297
298
251
416
358
291
293
281
289
337
315
353
361
322
305
247
322
361
299
316
258
253
304
206
332
337
239
353
337
360
249
368
338
345
271
368
277
291
349
287
302
365
305
294
382
277
386
331
322
282
267
328
350
269
258
354
347
302
338
290
302
340
293
395
277
351
174
347
349
307
331
373
285
370
323
360
322
306
303
352
366
337
347
293
289
344
317
278
373
305
334
314
311
240
237
276
224
320
319
323
421
406
352
248
372
373
340
315
319
429
226
294
384
294
301
272
385
291
313
314
307
345
218
333
267
358
239
328
372
380
377
305
331
345
313
355
281
308
348
302
327
293
316
386
357
312
399
348
319
263
317
261
263
311
313
326
287
256
296
329
355
309
384
342
265
398
252
243
384
290
351
316
387
304
320
279
313
342
298
332
270
340
396
250
237
345
388
262
327
331
301
289
322
299
284
332
314
361
281
336
342
344
323
258
390
344
303
280
315
390
269
317
357
372
308
380
300
281
303
316
249
313
399
409
313
300
252
357
360
302
284
250
381
269
305
273
261
258
315
355
310
244
392
299
310
334
264
329
404
319
317
332
284
375
296
355
347
321
272
362
263
240
267
333
277
342
322
267
341
285
424
366
291
299
310
291
360
345
346
342
347
386
371
308
316
354
302
371
330
309
228
297
258
335
374
301
228
279
357
260
285
325
319
340
342
303
316
344
406
359
324
341
304
313
296
353
344
319
289
301
301
303
333
266
328
300
278
329
270
279
340
333
243
374
322
327
281
285
311
278
314
340
332
302
346
389
449
317
308
416
357
308
335
241
315
242
333
362
291
227
380
343
321
348
333
347
282
298
271
312
279
336
277
378
347
307
358
278
334
349
363
346
311
380
368
231
359
333
289
292
406
308
316
380
351
326
359
281
251
251
355
295
221
393
331
256
273
239
300
392
295
318
380
348
283
292
328
294
299
370
227
299
293
381
254
396
342
352
386
359
307
295
303
304
402
307
299
329
305
284
352
349
276
355
312
373
363
360
365
238
301
268
346
398
311
307
246
227
341
350
309
386
249
318
342
333
341
317
320
338
305
282
276
368
366
199
278
317
387
219
307
239
250
311
382
296
377
373
299
316
389
378
246
356
248
272
282
271
331
320
315
263
340
303
298
319
253
293
305
328
327
302
323
352
314
270
305
304
266
302
400
302
329
366
301
323
292
294
273
336
301
361
303
306
288
339
342
227
369
325
380
335
290
393
297
269
273
301
353
298
395
318
277
308
309
358
323
327
245
385
334
335
362
318
275
297
328
313
370
323
283
291
267
293
325
428
292
357
306
332
336
278
310
305
313
352
293
383
280
364
285
309
329
319
317
257
282
285
348
255
371
424
241
305
333
304
252
359
337
411
374
360
359
291
233
359
258
319
354
297
345
379
342
351
337
257
343
323
368
355
299
369
301
343
267
251
315
324
388
278
307
293
317
305
236
272
329
358
315
329
299
334
303
325
401
351
365
332
370
383
324
259
336
357
395
411
321
384
306
236
389
250
340
374
335
345
253
344
316
319
296
259
383
277
310
382
270
267
350
261
306
322
383
251
366
316
367
315
402
293
315
284
354
328
270
337
343
388
297
312
276
312
410
317
266
303
345
340
299
172
375
275
314
358
342
320
342
352
251
356
327
316
315
341
281
322
343
309
238
303
298
302
343
303
303
340
375
318
305
367
411
280
330
302
341
394
274
284
389
323
271
324
253
278
304
385
413
351
327
283
301
244
316
308
254
330
264
376
202
370
354
302
288
272
292
391
333
277
297
440
272
288
298
285
330
324
341
287
354
325
285
365
363
295
329
302
268
241
276
356
274
240
334
308
259
291
268
358
283
349
278
274
270
235
303
310
359
327
268
331
305
286
294
312
332
279
327
357
304
304
258
320
259
284
257
286
244
228
327
320
280
254
267
297
420
403
413
238
305
300
300
287
262
380
239
267
317
353
302
307
376
350
221
287
330
271
300
225
351
305
311
265
323
388
304
219
368
307
332
294
256
335
289
364
268
329
262
314
321
443
263
322
354
221
305
285
333
337
282
359
309
317
304
295
290
277
367
245
356
307
359
255
321
328
357
320
324
239
243
313
382
370
314
309
351
312
307
342
294
355
361
375
330
320
362
329
316
408
315
239
409
299
246
301
382
311
313
312
266
301
374
247
324
325
336
380
263
283
364
372
375
315
314
308
344
396
312
419
348
297
265
334
333
290
344
256
325
332
395
325
347
303
330
337
292
338
360
287
355
349
398
280
319
334
327
306
337
304
268
334
308
316
244
331
297
343
275
347
305
342
301
316
360
320
306
246
308
325
228
291
312
359
358
315
316
237
280
311
324
354
263
263
322
295
301
256
207
265
359
346
309
353
293
391
354
384
332
286
257
228
347
192
332
248
309
361
398
238
295
244
357
298
342
392
283
353
260
296
313
287
333
332
272
304
256
302
306
378
347
315
256
317
331
233
314
274
361
324
345
356
344
334
302
189
286
390
339
310
317
329
269
342
449
298
345
265
330
299
314
295
408
199
392
301
311
338
316
333
355
387
297
249
264
252
312
333
355
303
250
317
377
317
281
240
353
391
358
330
312
368
314
303
300
295
224
297
313
380
244
316
348
302
283
273
309
335
352
317
324
267
345
258
392
294
320
274
279
233
292
260
294
202
386
315
325
355
327
225
301
427
321
341
353
267
388
294
311
362
347
331
265
262
265
277
364
353
318
356
344
275
378
363
286
333
310
318
365
228
304
346
346
323
314
218
342
436
301
360
301
305
360
351
401
337
283
341
365
328
227
334
322
280
380
338
369
298
304
258
251
279
399
314
306
313
321
332
291
286
353
264
351
295
266
315
332
232
333
355
277
344
317
320
353
306
279
303
310
295
330
320
282
294
267
290
334
322
399
392
283
258
279
395
304
384
279
281
263
374
281
414
318
274
278
337
394
279
330
304
356
355
275
332
344
395
274
322
298
374
325
357
255
257
333
393
301
386
317
337
224
287
229
280
313
310
343
339
316
358
330
284
269
312
341
293
206
325
338
237
304
269
342
322
263
288
323
264
298
322
323
282
361
349
287
264
327
274
259
346
367
381
309
333
228
270
360
314
248
344
226
338
305
279
233
363
426
236
360
375
308
379
292
319
291
278
421
304
281
292
416
276
337
356
328
321
312
301
293
365
269
265
303
369
320
302
314
359
349
329
335
319
313
240
391
282
351
265
449
350
334
324
297
342
285
316
332
270
344
358
241
314
296
271
284
302
330
300
342
310
285
281
260
302
291
294
317
310
261
281
266
184
343
252
286
252
323
361
307
391
331
317
334
322
280
383
336
312
286
317
268
340
301
342
272
248
427
215
352
318
292
315
330
335
242
289
301
334
313
253
389
284
300
266
283
361
338
233
303
311
217
292
346
298
315
261
322
308
315
267
337
269
310
304
333
335
328
286
354
200
382
315
257
289
338
349
305
322
275
335
332
340
308
286
242
326
312
286
293
367
318
259
371
420
332
346
267
342
319
339
411
320
368
381
337
304
265
313
386
245
279
325
277
336
285
258
311
371
427
295
272
228
275
245
401
373
336
282
340
326
292
268
227
266
337
318
296
362
347
269
197
321
298
318
286
315
315
317
337
396
313
341
309
350
333
276
256
283
358
345
253
328
268
324
306
364
316
424
289
283
248
298
348
262
350
271
339
353
313
272
302
259
351
340
329
336
319
347
283
383
406
384
308
325
357
391
330
315
262
322
285
348
248
292
334
293
322
264
296
300
348
253
288
279
280
278
343
376
276
280
271
365
384
346
334
293
351
353
225
360
312
336
369
352
434
249
320
241
352
338
327
376
373
330
314
262
325
311
264
285
306
359
358
372
249
288
286
313
315
347
354
302
356
251
395
339
336
327
359
262
340
352
267
320
327
353
314
312
382
251
316
280
320
307
375
301
338
324
295
241
243
318
284
335
289
392
279
325
342
366
315
427
313
319
367
400
383
344
324
192
337
366
330
360
339
324
339
337
359
354
224
300
422
337
281
300
220
346
301
372
360
316
406
382
290
321
396
269
255
266
223
284
278
336
293
323
301
367
351
316
259
289
346
251
263
297
272
333
336
393
317
266
290
288
242
391
213
404
358
338
388
305
319
320
379
361
204
299
347
231
277
314
314
267
274
330
296
423
313
296
212
267
366
389
310
282
216
316
298
336
297
233
325
284
337
281
333
200
303
357
259
252
242
309
310
307
260
314
325
307
308
306
368
385
308
292
310
308
349
266
247
284
356
302
271
324
334
331
234
315
368
272
294
364
265
377
345
284
332
335
344
399
384
300
347
304
311
311
372
393
332
403
399
390
310
287
343
382
408
340
243
281
263
283
290
353
314
392
294
329
357
215
309
350
398
324
371
319
355
305
284
358
335
356
336
304
315
386
316
346
295
349
208
290
376
351
386
350
285
294
321
300
283
258
315
290
241
285
277
273
371
285
309
266
303
321
316
265
362
276
305
338
314
263
282
317
395
258
394
304
205
329
246
271
305
324
291
333
328
203
311
262
303
320
319
251
337
274
282
393
276
341
412
309
326
346
301
349
332
409
345
289
308
370
284
358
339
275
321
401
320
377
345
375
342
225
311
241
373
331
283
305
363
354
299
267
349
357
318
335
279
372
331
297
244
326
362
309
292
270
314
288
304
331
363
290
291
303
267
323
305
350
309
353
278
285
355
330
281
330
297
302
348
295
323
312
367
323
312
272
285
318
287
299
315
294
369
311
317
354
413
339
351
295
346
307
390
357
361
369
405
323
333
280
276
302
262
387
295
228
268
325
347
208
282
318
320
298
269
307
354
343
296
347
318
336
270
360
330
299
370
324
291
279
316
238
344
317
314
279
404
234
432
333
274
240
272
376
246
267
347
350
300
318
252
357
228
352
306
319
329
299
306
293
346
294
295
288
339
336
417
371
343
290
341
353
191
301
313
330
254
308
309
247
337
373
342
308
390
307
267
366
323
217
305
225
412
251
342
310
329
263
321
358
264
290
286
220
408
307
356
304
308
381
304
354
307
293
393
293
376
310
416
302
276
286
242
278
303
271
277
280
308
263
402
278
303
277
283
311
280
292
289
281
351
297
344
283
370
358
324
303
280
327
331
297
271
327
313
326
253
333
341
358
353
296
395
355
256
349
365
304
371
276
229
278
383
357
322
307
355
318
302
264
260
231
353
315
309
290
316
303
354
245
222
333
297
331
294
298
356
247
309
353
308
244
251
301
268
268
285
306
319
367
348
247
238
270
250
295
349
370
373
238
276
291
260
333
252
335
370
309
389
309
277
320
243
330
283
363
308
341
325
362
357
327
379
334
318
339
294
261
278
373
243
301
368
339
364
339
358
279
323
262
256
336
395
306
324
341
311
315
256
323
300
308
365
305
389
292
267
341
312
365
213
331
348
301
331
380
358
409
312
334
257
310
352
302
387
330
317
314
355
372
175
357
239
330
344
409
278
282
323
341
389
326
334
269
302
331
321
281
416
283
363
320
304
389
403
342
394
258
383
317
315
338
363
366
345
315
444
351
274
359
304
303
326
375
374
347
329
294
321
374
352
401
293
354
303
368
193
253
369
296
296
200
306
366
296
243
369
342
264
311
255
310
277
333
356
339
395
355
264
351
278
315
358
285
257
348
336
311
281
237
372
229
298
266
336
285
313
227
348
308
350
336
264
277
279
387
285
316
261
360
307
291
289
359
343
317
297
279
258
321
340
281
373
288
290
325
312
251
309
311
387
260
335
294
348
290
348
320
296
298
379
273
390
305
360
300
301
322
319
304
325
307
348
306
301
309
342
308
307
385
328
351
275
325
295
352
313
256
268
351
210
378
406
341
240
352
310
317
334
356
237
337
389
344
368
255
329
246
311
369
358
290
282
326
289
216
357
320
372
316
374
355
243
339
346
346
304
309
380
274
356
337
331
339
351
334
351
366
282
323
301
236
344
362
265
359
289
345
236
307
312
297
188
357
285
309
328
281
310
305
325
251
400
296
304
321
258
269
303
346
275
255
330
330
253
287
324
310
344
425
184
264
323
381
331
321
385
315
277
266
364
238
316
367
314
339
258
382
269
341
325
370
358
347
276
241
365
313
343
241
316
282
342
192
339
334
286
282
369
346
330
261
301
284
268
326
290
347
323
271
370
352
297
357
306
333
307
281
330
433
326
390
303
276
275
349
309
355
357
396
323
246
271
357
284
315
202
237
360
350
343
342
282
344
273
309
330
344
331
298
372
323
350
347
370
252
336
340
316
269
295
304
347
342
330
300
262
319
352
335
286
318
349
231
375
379
317
251
345
311
259
301
328
275
286
286
411
347
335
293
278
343
278
291
283
317
347
318
226
322
325
307
328
342
284
305
338
288
327
299
327
382
310
359
374
319
378
307
322
361
271
299
341
291
294
364
377
299
271
262
283
428
208
286
392
328
311
261
312
337
377
379
351
214
385
330
324
370
308
269
304
351
331
337
310
345
285
288
374
267
352
215
344
275
352
345
264
396
336
360
264
390
278
280
352
326
375
329
190
362
284
238
260
337
339
254
280
345
322
353
243
248
435
213
282
396
352
307
360
244
284
393
359
306
236
333
371
271
297
278
210
381
316
329
312
406
289
348
308
322
294
328
347
259
338
305
252
363
322
261
373
308
346
356
318
252
373
272
314
271
266
190
355
289
333
284
288
346
359
288
329
345
352
334
335
365
318
366
305
333
300
326
381
315
322
250
369
331
190
322
300
227
296
356
286
245
261
204
373
254
359
323
268
319
278
316
334
361
268
313
312
388
305
316
296
284
354
411
308
331
356
323
322
261
347
321
327
317
254
387
301
383
318
349
369
308
284
297
334
294
313
302
285
268
340
320
260
265
269
403
336
359
346
247
237
323
311
291
306
312
327
254
371
313
230
336
309
335
285
334
251
277
287
314
278
248
236
350
313
310
316
313
342
252
306
209
223
407
361
287
291
282
358
309
402
402
388
317
320
302
315
321
345
270
285
274
239
254
296
362
296
273
306
298
302
242
390
333
311
250
300
351
341
273
266
280
362
382
346
250
259
314
295
330
302
311
244
290
240
304
328
318
403
327
286
307
317
313
376
339
358
389
389
348
343
339
292
330
277
328
285
300
222
235
305
362
331
352
339
267
269
292
312
224
336
266
288
333
303
334
335
359
333
279
340
266
350
363
272
365
247
340
381
286
311
366
316
284
260
293
310
341
330
318
301
298
337
214
308
289
311
342
347
368
292
290
373
317
275
323
261
403
299
363
272
298
284
245
347
371
327
375
365
384
294
290
325
284
275
316
301
265
344
219
300
333
340
282
254
369
246
304
369
211
372
289
333
310
262
343
311
274
288
292
229
350
353
281
245
289
285
329
302
332
273
361
392
250
283
328
323
402
339
395
364
318
329
363
349
307
301
367
330
325
371
314
273
291
318
340
297
366
248
243
304
304
299
379
317
313
368
349
375
292
205
257
354
264
279
356
282
321
288
279
323
385
274
302
299
316
334
380
305
344
343
347
291
261
301
338
310
333
281
264
336
383
329
252
379
244
356
274
281
324
335
312
328
327
305
310
254
349
326
352
316
340
348
342
372
362
306
280
220
341
322
235
253
313
312
303
363
262
330
249
361
258
258
415
312
320
270
273
333
337
273
308
300
338
226
270
345
309
333
347
339
363
270
362
347
302
303
251
398
280
350
237
235
265
275
288
290
324
304
371
345
367
325
367
329
337
301
364
340
415
311
317
308
352
380
269
328
365
358
361
271
314
371
320
259
305
280
328
331
319
259
362
289
303
280
365
338
273
310
285
288
269
195
342
312
294
243
295
245
270
291
284
268
357
293
318
365
310
379
306
369
362
282
321
335
285
295
264
371
358
347
307
324
317
369
323
281
304
257
277
333
386
323
184
214
269
328
314
380
302
304
379
287
298
233
292
286
297
310
263
249
341
289
255
299
308
368
319
248
291
309
391
217
314
363
300
297
343
344
258
347
316
308
357
366
273
296
306
263
282
295
411
236
335
324
304
329
236
349
393
325
296
281
275
320
304
312
237
293
356
275
334
368
287
403
347
318
288
280
259
384
264
353
348
321
391
354
305
337
281
319
266
296
268
350
249
279
374
296
250
255
384
345
297
377
353
279
296
315
307
333
331
329
383
331
384
252
269
359
248
258
320
289
225
388
277
299
332
277
206
256
262
246
313
323
260
236
328
370
286
350
317
280
313
279
351
343
246
239
336
271
227
381
361
327
381
304
361
281
297
272
285
290
255
361
345
203
254
305
255
361
258
352
314
284
394
311
302
352
308
335
351
373
308
368
346
333
301
398
318
341
270
295
360
288
346
327
250
338
356
261
342
330
349
338
286
236
349
371
296
341
225
344
337
357
342
301
327
296
319
330
276
322
265
295
165
228
330
325
300
381
334
312
361
280
276
310
317
293
356
197
302
343
304
311
355
376
383
398
313
258
311
251
322
305
382
325
286
268
348
357
328
262
301
316
295
328
304
347
316
252
269
375
382
249
259
331
365
362
337
373
327
330
287
305
299
379
336
392
294
312
250
369
284
347
328
344
279
325
310
330
264
322
276
301
352
305
345
251
227
282
312
308
261
351
320
266
353
269
313
330
389
319
333
304
310
351
274
329
327
300
274
223
344
348
335
337
372
397
271
283
361
285
266
208
339
232
252
263
260
329
378
398
278
372
256
261
368
334
291
285
320
252
212
285
264
277
338
316
273
276
293
293
291
360
266
277
192
240
257
358
308
306
281
306
314
363
265
287
280
304
286
342
287
239
256
267
377
228
342
244
364
335
278
256
309
238
249
354
207
217
361
253
277
360
371
273
342
321
352
356
350
323
383
394
357
227
330
344
350
411
276
348
336
324
251
294
293
342
317
393
261
316
306
338
317
303
275
317
353
314
399
256
306
327
367
324
296
305
327
409
311
399
290
295
277
246
282
284
229
360
352
334
347
296
280
345
249
354
319
380
231
321
341
303
264
274
262
223
287
315
303
346
289
306
328
289
315
313
373
335
354
344
376
316
333
382
315
310
320
273
264
447
300
262
360
263
320
273
355
299
325
322
295
328
335
352
384
398
315
328
285
273
206
309
379
338
325
228
255
352
272
274
348
304
318
307
263
340
361
422
230
329
262
354
352
408
335
321
255
246
305
331
343
255
297
317
308
337
273
354
447
299
295
346
310
334
400
311
251
291
214
344
251
347
331
326
294
327
275
292
312
313
313
329
375
335
370
264
306
334
366
329
405
217
331
336
397
397
331
365
373
275
402
323
259
367
280
277
305
235
379
377
360
306
303
309
325
369
413
354
338
272
296
320
334
322
369
283
331
338
295
351
342
358
340
268
293
360
284
406
249
290
276
316
324
364
345
398
305
269
257
211
401
272
394
244
305
412
304
341
346
335
299
363
352
336
221
310
333
261
277
351
312
351
449
289
306
226
331
304
281
294
303
340
249
383
256
410
307
362
341
318
265
289
322
360
329
347
271
345
335
261
332
303
319
242
293
257
302
346
423
261
278
340
287
294
342
317
368
285
281
320
285
306
340
278
316
321
320
371
258
290
282
241
311
320
311
237
303
261
288
285
381
325
343
256
314
331
308
327
295
215
361
349
284
327
292
355
301
254
366
383
356
400
337
356
304
354
301
309
340
305
204
312
371
292
351
280
397
343
386
347
341
256
221
247
295
291
330
324
359
300
413
314
324
351
274
389
385
312
239
265
370
280
272
331
314
359
382
331
339
358
371
363
355
234
355
341
374
346
381
348
304
328
289
277
318
330
267
297
300
302
306
368
334
386
308
231
360
281
286
280
292
322
257
419
318
278
320
313
224
306
291
345
295
395
270
349
284
277
309
391
361
318
278
374
299
337
335
318
267
318
349
253
338
392
282
253
320
377
308
285
276
229
322
310
263
388
350
276
368
288
227
284
251
361
311
369
321
237
370
255
381
344
298
332
334
348
368
356
242
370
303
266
334
381
309
302
240
362
320
310
304
437
344
371
283
315
250
311
313
363
266
313
312
311
329
275
306
270
264
324
333
344
293
422
276
244
346
364
334
342
308
380
329
317
320
362
288
339
329
301
248
257
339
371
358
288
274
374
317
346
426
367
250
298
330
323
383
298
293
260
378
297
244
317
287
347
279
345
339
324
285
295
228
241
343
350
308
315
321
279
333
272
309
282
313
289
275
340
360
359
288
328
284
263
259
340
263
212
424
344
352
330
349
239
259
293
339
312
376
342
380
387
290
352
356
308
368
354
280
355
373
382
337
354
293
380
249
338
295
399
279
361
388
244
344
361
369
322
362
306
342
218
333
230
278
255
268
277
381
265
243
347
388
287
372
239
344
314
337
239
308
271
335
353
309
363
318
374
284
321
294
350
315
371
347
209
244
258
381
309
338
270
295
330
304
374
347
286
236
261
349
359
345
254
275
229
343
370
269
364
317
296
324
257
340
338
313
189
334
273
291
314
321
304
363
237
232
352
354
290
321
283
265
286
299
249
369
337
332
357
346
396
269
311
302
250
368
276
328
285
316
336
302
324
360
312
297
328
353
294
351
196
243
279
310
235
319
330
285
325
273
325
367
247
314
294
327
279
316
292
321
285
235
388
280
348
277
309
255
341
340
313
266
413
291
391
284
309
281
284
334
294
322
280
375
391
320
363
402
326
275
314
347
245
308
304
221
315
333
330
302
360
348
318
291
347
225
283
271
390
302
288
320
313
342
271
233
317
307
302
311
245
314
308
308
347
368
309
278
329
368
285
271
288
346
372
363
353
303
366
258
321
389
281
296
370
382
335
295
348
306
259
344
258
376
336
300
261
371
288
267
306
281
361
375
335
314
225
356
243
251
332
273
367
343
317
377
299
312
335
259
263
284
255
326
261
345
273
324
324
299
354
328
273
272
387
346
271
311
341
273
312
292
326
321
389
279
319
291
347
288
314
183
256
277
333
329
334
307
341
265
382
334
283
288
381
385
363
286
371
417
339
304
339
270
354
316
364
275
260
342
267
261
263
307
354
351
292
310
319
319
331
255
230
266
320
312
234
353
336
345
321
238
325
267
346
265
278
387
281
333
331
308
319
317
280
364
315
199
248
306
310
266
326
289
236
339
293
382
261
299
371
326
315
319
379
355
347
317
357
280
367
354
320
321
310
312
320
327
327
347
311
338
304
366
348
282
378
322
374
291
272
291
281
262
206
304
350
302
304
347
302
313
307
325
318
318
307
329
339
280
346
324
336
352
370
294
337
362
289
351
383
290
300
288
247
309
350
366
231
305
361
353
357
310
233
298
276
329
253
331
330
308
333
336
324
256
242
311
363
353
395
353
355
330
328
353
315
310
341
318
277
356
335
218
319
313
305
368
305
317
310
266
318
347
349
313
299
281
305
387
236
308
266
319
386
287
263
380
279
296
270
336
276
323
386
306
264
305
341
350
305
335
285
360
248
257
314
342
340
304
289
361
294
236
278
218
317
262
316
337
331
382
297
325
385
319
349
346
260
335
335
339
354
263
319
337
289
305
348
293
346
262
341
355
360
250
358
314
364
260
185
295
244
359
415
305
328
289
255
305
279
320
324
309
271
360
351
357
285
282
374
282
343
336
273
341
305
333
313
380
407
296
274
358
394
352
326
337
301
312
289
393
290
323
289
329
415
352
290
302
311
374
330
360
317
380
300
382
376
320
371
337
347
314
356
353
238
358
361
378
275
331
409
276
287
296
256
331
323
281
244
327
220
356
236
239
308
318
244
336
306
280
338
300
309
377
332
296
288
257
256
295
238
347
276
296
281
305
264
295
302
328
284
383
354
247
337
325
229
362
323
289
406
292
282
323
361
353
269
217
242
251
446
318
241
327
318
304
392
314
312
259
288
289
297
284
273
255
399
314
322
354
341
325
308
351
308
406
330
321
383
284
396
392
306
300
270
297
273
331
353
359
339
405
237
337
272
335
350
306
348
265
251
308
288
362
321
290
298
319
371
398
392
271
279
322
309
391
410
384
259
348
372
343
323
346
254
337
338
349
315
329
346
327
315
283
297
298
347
311
270
306
237
335
333
285
315
346
328
325
253
294
297
351
357
308
225
268
245
265
340
259
389
297
398
352
332
343
319
338
300
386
356
284
411
286
332
312
369
325
403
291
366
254
300
339
378
469
377
337
314
379
352
356
356
253
303
308
376
327
394
399
352
287
407
295
270
273
319
335
306
369
305
259
378
294
337
337
364
305
394
308
346
288
286
308
324
370
304
375
219
264
236
312
247
279
308
338
350
287
302
368
325
374
405
287
258
295
294
365
279
312
330
277
265
269
247
322
296
299
304
317
295
411
348
261
342
424
340
227
318
356
277
275
398
226
279
295
343
315
315
257
295
220
365
320
335
373
366
290
357
378
303
309
273
267
297
374
322
351
363
279
280
223
339
306
285
368
327
367
284
375
297
250
243
353
346
275
328
365
325
343
359
263
324
329
257
268
342
280
289
361
223
314
225
371
327
340
343
334
380
373
280
287
271
321
332
309
347
308
366
297
336
337
259
353
278
353
364
291
322
338
346
242
297
219
352
352
275
290
272
340
250
346
295
363
213
367
236
283
299
325
265
300
303
352
346
289
246
318
331
369
402
355
366
374
332
402
312
403
358
334
373
301
289
294
298
243
333
322
248
299
323
277
285
385
237
361
295
255
340
397
333
302
218
376
287
376
296
334
327
218
284
251
311
315
323
343
213
383
244
359
332
273
311
305
332
311
271
264
353
375
276
359
314
321
336
395
256
324
352
310
317
344
333
258
366
369
371
289
376
277
353
302
341
283
252
284
419
308
320
391
282
367
346
368
392
354
325
303
283
388
382
360
287
351
277
254
320
338
283
315
276
344
379
290
283
384
335
331
383
324
301
401
297
343
291
363
366
327
240
326
362
362
294
330
273
290
259
303
303
294
332
268
306
303
320
284
321
362
266
333
287
314
295
332
264
327
281
253
297
343
319
322
298
317
292
279
250
330
354
335
413
366
302
353
227
243
317
277
346
371
315
312
237
335
341
313
308
306
329
297
310
241
326
307
406
327
319
279
286
322
278
400
394
304
382
253
271
283
316
320
343
323
346
255
317
345
274
318
216
356
297
414
322
319
361
306
355
363
322
297
268
333
421
218
302
249
237
327
246
193
411
332
367
373
418
336
379
305
274
325
263
280
260
312
311
261
287
322
332
360
330
354
299
261
286
291
209
305
311
304
324
260
357
254
304
363
264
378
284
331
265
267
254
326
270
365
356
280
308
309
337
338
301
264
291
289
369
326
319
298
290
341
297
324
341
307
346
307
315
399
324
267
369
276
386
210
261
296
326
354
289
329
359
281
276
253
319
261
349
259
329
314
327
198
179
347
312
386
410
320
321
285
350
341
312
323
245
350
273
337
389
354
338
250
344
338
327
391
320
400
290
373
386
295
273
378
346
336
355
285
334
324
229
394
275
307
276
266
330
323
333
298
293
229
297
319
239
220
375
343
275
283
395
322
321
307
374
296
325
352
290
295
272
293
321
420
379
391
247
322
204
303
327
401
286
289
359
337
367
341
348
366
259
316
232
262
344
323
309
342
309
307
331
347
373
240
312
319
295
386
314
371
291
328
317
330
331
251
262
324
286
343
367
358
343
349
346
326
308
310
301
289
329
274
373
366
316
399
264
259
337
321
373
314
310
304
254
253
355
353
415
302
355
277
344
315
325
336
331
342
339
300
210
334
271
291
324
392
377
324
275
307
292
313
406
203
267
361
314
278
259
382
315
293
244
314
343
282
324
313
297
375
331
330
288
333
371
315
278
341
319
322
383
329
405
312
383
350
270
349
365
335
277
366
340
303
316
241
271
276
304
281
348
300
349
371
308
385
367
368
274
331
267
270
380
299
326
342
281
305
395
337
370
315
248
349
337
403
377
356
371
302
320
341
286
232
177
333
263
308
418
325
274
304
420
321
292
308
300
256
295
316
342
343
270
313
234
312
322
317
238
347
427
230
319
378
333
284
291
319
354
192
306
334
279
354
317
339
240
251
261
307
266
343
383
325
267
348
242
349
324
310
300
374
315
319
268
338
393
296
393
274
340
390
325
324
256
330
208
386
321
419
205
372
394
327
260
182
299
359
335
300
313
369
300
326
321
316
302
390
352
285
312
336
330
226
264
306
280
294
265
265
297
226
274
307
271
313
328
347
306
299
320
357
263
311
355
277
234
277
329
275
272
309
290
355
306
366
339
198
380
295
316
360
268
273
277
314
297
301
289
298
353
286
231
367
306
350
302
324
277
307
364
418
320
359
316
239
289
327
279
399
410
320
346
323
355
297
327
260
284
294
367
333
360
309
291
311
332
386
327
355
284
330
390
369
354
384
383
302
380
299
290
378
242
280
332
238
206
317
280
322
321
289
312
303
292
249
288
383
381
326
234
275
272
359
282
320
402
324
349
357
396
317
273
265
296
273
332
308
292
338
349
320
323
341
390
315
342
303
233
330
446
345
415
294
281
216
251
284
278
284
376
360
345
376
329
317
370
279
374
216
333
258
355
321
336
226
342
315
246
302
347
295
295
280
327
293
392
333
277
345
396
329
325
257
361
301
351
364
293
315
159
356
298
291
197
341
256
271
268
344
309
339
295
336
309
310
343
282
252
305
348
332
350
289
330
347
270
291
336
291
329
343
295
302
288
289
351
394
306
297
275
282
356
374
271
307
289
324
263
349
329
355
283
359
310
292
243
314
221
344
329
260
321
307
313
304
362
305
316
313
338
327
250
291
357
294
362
388
418
250
335
364
366
211
348
352
322
379
393
253
273
314
245
319
306
325
362
290
249
314
265
304
315
268
329
286
288
342
309
380
253
300
325
257
325
361
383
255
320
304
274
353
325
335
305
377
396
314
299
285
358
298
293
307
278
299
319
355
329
341
381
315
327
330
317
304
222
277
304
282
324
358
284
318
270
333
280
409
345
433
332
374
314
255
331
390
335
289
352
398
266
362
375
256
340
350
309
239
302
358
268
342
306
263
227
294
361
327
335
349
279
358
328
304
331
268
338
374
298
370
329
313
378
342
292
287
299
315
271
270
325
295
289
366
341
307
327
273
298
292
216
336
368
344
336
357
248
309
332
250
295
338
202
380
299
243
214
232
276
345
302
247
323
334
286
343
363
270
392
354
375
291
265
345
378
348
188
351
315
289
280
291
325
257
268
246
286
410
318
383
266
361
293
314
278
285
269
402
286
298
296
385
345
296
343
292
335
313
437
316
288
286
240
356
298
298
308
283
341
194
272
203
345
250
291
316
365
331
300
323
283
353
313
321
269
249
291
251
296
280
283
344
364
342
330
345
249
317
380
290
274
308
343
303
307
357
352
312
394
328
276
327
289
317
254
291
309
377
213
376
313
313
295
342
360
294
325
319
381
301
252
295
277
363
413
351
360
323
318
395
285
261
272
353
321
262
326
295
309
290
318
277
302
305
276
354
320
402
277
269
362
332
293
368
328
282
398
272
237
266
271
290
240
283
316
349
278
268
337
382
316
351
348
266
290
401
380
241
310
334
388
227
350
336
261
291
299
390
210
297
327
303
370
258
319
346
301
308
371
275
230
258
256
326
290
276
335
298
328
262
310
341
315
294
294
237
324
346
324
340
369
400
351
379
302
302
268
350
368
272
260
320
352
332
415
294
359
215
371
335
266
319
275
304
337
263
297
326
247
378
305
259
390
310
347
339
308
326
331
399
340
310
275
291
304
286
310
328
315
287
286
336
305
267
294
291
312
293
253
309
237
305
261
369
307
323
377
324
274
351
290
257
394
292
283
318
264
325
325
308
319
360
298
278
270
311
308
310
327
310
325
268
398
335
302
290
265
272
298
387
261
329
247
313
370
319
268
308
193
324
327
291
369
298
290
297
253
226
372
303
312
297
309
267
266
310
311
309
410
318
340
382
322
297
319
311
368
321
383
386
235
241
332
321
354
319
361
337
339
420
251
287
382
345
225
296
310
348
292
325
308
288
360
328
334
293
297
283
278
349
364
361
294
308
409
338
328
289
256
284
357
418
308
346
322
336
389
331
311
327
275
272
297
298
331
271
301
260
347
266
284
356
299
328
342
284
322
320
399
307
206
385
319
262
289
323
305
315
315
381
267
349
353
293
251
333
243
367
368
293
290
300
352
355
384
366
238
284
371
315
322
347
344
294
355
314
229
284
304
301
237
376
250
347
379
328
312
377
326
261
299
289
335
325
304
253
305
246
227
384
282
314
272
306
344
315
293
198
270
244
243
313
353
329
314
381
359
243
392
383
347
332
258
316
275
331
293
387
305
346
269
283
389
291
317
323
337
307
291
343
291
390
287
357
271
365
303
320
352
290
245
311
353
250
367
252
297
302
308
302
380
341
405
372
316
301
302
346
376
281
355
306
316
290
291
320
310
369
324
289
306
333
328
291
297
338
281
303
365
360
372
314
361
333
329
351
272
265
302
299
344
232
276
309
269
338
323
333
351
278
303
275
366
370
292
338
386
364
365
285
320
291
342
378
330
273
168
343
281
338
256
318
278
304
269
332
342
305
250
247
280
366
342
412
321
303
327
353
313
276
307
296
293
342
350
268
330
293
314
325
274
274
366
259
303
298
277
331
441
266
272
198
277
247
334
352
236
279
250
341
332
294
300
289
199
363
312
320
285
305
340
294
343
316
216
302
352
382
315
425
362
344
386
320
304
350
239
276
349
263
310
252
299
332
331
359
336
325
318
312
352
293
294
349
343
217
341
314
325
301
293
300
397
402
365
317
365
356
274
349
352
308
323
289
285
272
291
319
307
319
324
272
259
258
312
304
374
350
289
280
322
293
323
275
246
316
329
378
394
288
344
349
362
298
271
319
276
394
329
362
238
258
323
346
302
372
280
322
366
287
239
242
385
240
285
303
251
337
316
282
319
225
334
387
376
343
298
319
348
219
333
441
316
295
267
270
301
295
284
246
350
317
326
355
293
291
396
281
299
268
367
233
258
244
314
232
253
327
340
309
188
369
270
410
282
260
299
366
301
299
279
376
261
330
344
266
324
251
322
336
347
281
359
374
313
302
291
302
341
390
426
319
319
400
294
282
347
346
261
272
335
320
312
250
392
320
387
280
301
330
349
378
398
328
290
235
270
291
323
294
306
312
384
326
212
285
305
290
356
289
291
345
301
352
363
356
334
279
354
257
278
316
303
281
368
329
232
321
349
339
342
269
351
275
306
349
320
292
345
320
339
349
288
345
393
228
317
331
362
254
323
312
331
242
288
279
378
326
356
296
296
300
369
343
262
287
377
271
363
306
267
361
319
301
350
342
363
301
324
371
296
264
403
214
269
387
408
392
284
351
268
298
330
287
274
340
279
362
301
378
313
294
320
276
294
304
314
249
312
413
339
314
289
299
372
286
281
223
368
359
289
295
251
369
206
373
319
425
295
314
340
307
307
345
288
302
261
348
254
332
306
269
370
382
328
301
246
203
336
291
231
336
350
351
323
331
385
335
365
286
263
313
334
348
318
349
286
243
344
265
333
270
354
331
286
222
345
255
274
300
285
323
278
379
356
277
230
333
280
278
359
315
340
372
309
349
353
329
359
280
323
305
305
323
288
363
248
355
292
270
323
367
251
267
346
298
287
320
347
309
295
297
374
241
337
434
377
295
301
337
299
211
252
314
361
266
318
289
259
336
268
325
309
356
350
365
258
219
281
320
229
370
387
291
376
245
375
370
364
300
293
242
351
381
400
233
300
376
247
344
396
266
335
333
193
320
331
334
340
298
305
294
288
330
325
280
277
315
395
291
370
354
312
307
284
297
335
169
376
425
287
292
353
304
360
372
305
319
426
263
278
281
393
339
290
170
394
291
346
282
222
336
341
313
323
304
357
223
295
412
268
397
221
346
377
333
361
353
343
361
322
291
283
224
333
369
232
315
277
293
262
297
318
333
343
282
335
298
264
379
315
250
305
310
334
259
316
316
294
294
317
324
328
342
288
315
327
300
327
342
362
282
269
302
269
359
336
261
355
272
323
343
307
303
317
272
323
344
349
356
386
370
256
329
323
353
296
245
281
319
257
271
241
284
301
314
289
383
314
225
296
234
376
295
285
272
363
380
346
357
287
361
328
329
282
257
349
267
339
355
274
302
342
329
331
358
375
296
311
376
346
376
378
331
354
275
279
362
332
298
358
329
310
328
305
236
337
339
246
303
321
311
357
302
311
288
383
225
326
348
370
316
348
348
382
286
307
344
278
358
252
221
324
284
387
287
354
412
296
209
271
293
358
333
322
319
376
260
274
340
369
275
393
302
272
366
290
323
217
263
403
302
296
327
323
364
305
358
359
260
319
227
432
325
274
306
283
303
355
303
372
286
349
375
367
361
453
325
365
321
372
326
356
352
299
412
309
284
277
291
355
230
317
318
347
326
355
315
368
341
247
279
304
204
270
249
360
276
289
314
331
354
350
345
329
324
301
287
337
282
353
353
310
328
297
376
326
337
344
380
284
291
335
318
273
382
241
304
345
312
304
291
365
246
294
376
351
398
316
361
235
359
242
335
307
334
260
337
299
341
292
282
260
227
319
332
279
354
356
354
316
386
264
316
278
348
261
387
273
350
329
363
353
317
317
391
250
233
342
309
322
362
372
354
365
283
426
347
349
276
318
336
247
284
304
267
291
350
377
260
353
326
277
328
346
263
218
319
308
334
268
289
312
372
329
270
181
304
267
364
262
334
344
306
380
313
353
387
265
273
319
309
313
388
340
323
306
326
284
325
381
304
395
322
315
309
289
260
315
302
300
327
260
309
304
305
342
332
269
209
338
268
304
264
307
280
335
303
372
326
375
321
271
302
352
335
369
356
329
360
276
276
364
287
303
269
272
383
309
289
322
299
322
278
320
358
302
253
339
295
263
277
355
363
292
289
306
330
296
366
342
255
275
350
369
328
247
285
262
321
324
306
170
329
250
295
357
338
331
331
369
332
313
315
378
278
301
345
318
375
353
395
306
244
300
244
335
332
226
296
318
272
329
305
313
365
338
253
311
308
315
342
384
276
271
220
324
353
377
308
290
345
307
338
267
437
301
347
267
301
237
322
394
455
303
249
319
401
247
286
362
304
344
296
287
363
297
351
238
287
268
316
246
326
375
322
321
297
352
321
322
320
262
241
348
364
233
361
268
314
356
257
246
291
309
302
309
292
358
294
263
348
240
215
220
319
342
252
313
292
346
334
304
253
314
376
389
275
311
340
409
369
385
387
239
285
391
281
235
321
345
254
388
321
272
315
344
361
230
215
336
372
253
242
388
357
312
315
294
318
302
283
253
317
401
324
331
383
300
269
326
305
299
354
341
371
422
333
386
353
345
301
303
271
329
338
287
283
368
227
352
387
290
334
352
233
329
338
326
346
204
229
249
391
354
287
281
296
262
301
321
258
301
308
318
292
344
268
255
299
316
328
386
281
379
315
236
327
305
357
382
278
358
256
322
345
348
321
359
289
363
245
359
377
346
300
332
357
344
356
268
336
327
354
304
338
322
341
368
391
338
281
280
271
363
335
305
303
359
286
341
286
323
345
220
277
206
328
271
352
337
347
328
246
312
211
284
295
325
309
359
261
320
299
311
422
304
271
383
368
352
377
291
298
280
334
365
297
298
268
258
294
378
310
358
339
303
274
353
243
314
288
299
275
410
349
303
338
317
373
316
254
289
352
292
286
290
298
270
383
349
371
238
303
293
350
377
323
300
350
301
292
300
292
211
361
241
305
274
325
357
382
313
351
309
310
294
308
327
313
286
336
353
311
307
242
317
382
270
344
279
323
319
367
379
262
236
357
336
311
346
324
316
326
295
318
297
390
342
294
342
282
415
282
359
358
247
299
351
298
241
283
287
301
311
332
339
362
222
271
289
325
358
361
361
307
291
353
322
355
393
369
350
295
323
321
318
295
299
337
385
291
315
360
308
390
253
334
347
303
270
258
301
316
280
375
331
339
387
348
398
297
291
354
270
341
289
284
280
299
233
348
218
357
280
220
315
398
351
282
325
328
338
333
346
293
340
315
350
343
367
360
313
296
346
330
394
314
310
330
384
295
376
316
304
308
306
307
253
214
284
265
344
349
243
296
421
383
311
308
252
360
321
371
365
360
281
374
374
327
380
320
335
250
298
325
390
306
374
269
263
300
370
242
401
318
309
347
305
317
367
358
301
264
364
248
271
260
346
311
371
353
266
344
328
290
313
228
306
327
340
230
284
370
252
305
248
275
233
278
332
276
278
352
315
305
345
289
315
299
362
375
390
378
422
404
297
349
356
327
366
307
341
356
420
278
346
354
268
336
303
376
286
286
329
376
242
283
343
362
300
369
316
238
304
333
318
334
392
386
238
318
335
284
287
347
277
303
358
266
315
292
325
317
375
300
303
282
371
199
262
368
244
339
303
297
350
350
313
309
274
339
261
288
349
271
319
263
371
365
283
339
312
358
299
335
371
314
298
310
371
320
323
323
287
401
373
322
360
247
372
296
360
343
320
290
293
292
395
336
279
318
247
332
273
305
328
304
375
275
377
267
355
318
303
330
282
287
368
296
304
266
340
264
302
284
318
313
380
348
306
289
272
328
311
340
277
261
276
287
326
396
403
302
301
263
254
318
341
309
344
374
220
305
357
300
300
346
376
313
274
245
255
324
244
342
353
318
324
334
322
280
304
318
230
349
313
234
349
281
285
273
351
304
266
319
359
231
361
310
312
279
258
299
300
381
247
345
218
320
263
265
336
348
270
334
268
289
310
352
217
348
325
359
340
299
346
234
314
359
333
267
352
365
274
207
309
293
285
274
402
319
284
360
352
347
305
338
322
314
347
248
386
361
213
339
283
309
370
341
280
244
362
323
328
399
286
361
328
360
307
316
373
262
318
343
343
261
336
307
364
180
268
370
282
267
327
307
337
338
218
279
291
258
324
360
293
362
312
384
387
314
277
371
306
267
313
280
265
312
275
295
308
306
256
290
328
311
251
276
270
292
289
308
313
272
303
318
394
288
389
380
306
281
287
336
339
364
310
269
357
315
287
307
220
304
365
280
294
307
346
276
354
433
280
284
316
271
404
283
277
259
330
310
410
289
354
313
295
323
294
278
340
277
359
214
253
318
311
309
273
347
334
283
292
354
328
357
360
335
327
316
266
260
314
368
310
339
319
391
248
346
295
220
296
390
328
335
264
375
337
234
233
382
263
282
296
343
236
356
343
359
354
288
274
223
365
267
337
227
336
321
365
269
322
325
346
334
381
257
339
339
302
344
318
318
345
354
374
335
279
266
364
339
335
329
366
321
251
304
341
339
399
242
275
368
257
311
397
402
245
226
368
306
329
361
359
352
302
345
364
291
296
310
322
308
368
325
419
229
332
293
255
299
344
360
326
346
363
350
334
207
374
272
324
285
339
347
326
308
322
373
378
305
348
344
413
328
290
336
312
294
287
332
229
299
370
262
335
314
325
264
294
345
386
330
339
302
309
281
343
297
348
299
264
305
406
384
279
259
386
359
321
348
298
312
258
332
298
379
321
312
285
357
332
291
311
322
271
303
321
318
213
282
323
339
269
262
356
346
262
302
293
308
214
307
251
383
308
328
337
407
277
350
244
299
307
282
383
329
394
263
309
279
412
363
339
346
338
224
335
230
249
386
359
290
329
307
307
345
305
292
303
182
361
246
395
353
301
267
338
364
245
260
360
334
376
295
324
247
273
326
225
339
336
278
323
400
375
238
360
302
327
315
316
277
312
346
322
268
250
274
295
304
238
292
220
311
327
321
289
343
405
354
295
289
264
277
303
356
404
259
319
336
347
370
267
288
285
175
298
231
275
292
318
289
266
237
396
238
345
315
324
295
316
199
339
324
331
412
243
289
340
323
317
375
319
297
328
361
374
348
260
292
263
281
322
279
389
262
313
287
252
309
264
322
310
309
293
300
202
306
343
372
245
345
320
342
277
349
358
363
346
308
341
411
339
290
345
359
311
262
404
386
298
334
282
283
342
397
338
290
325
353
317
317
372
305
329
263
254
354
266
321
316
319
354
382
257
181
234
338
298
335
288
345
330
318
367
350
362
283
295
409
350
322
396
280
346
344
358
319
265
288
238
300
192
282
328
315
265
293
366
280
317
285
277
294
348
311
301
310
327
282
252
389
317
358
328
286
385
396
302
305
415
310
392
307
257
345
303
304
323
303
263
350
307
320
234
275
341
337
414
358
349
224
370
380
253
323
322
308
242
238
300
357
325
353
283
355
397
252
288
393
291
320
298
307
237
352
282
241
335
367
340
274
268
285
283
318
338
251
279
284
271
332
347
349
267
352
268
363
278
295
267
375
355
237
335
281
353
331
378
289
360
386
293
289
370
292
312
251
335
342
363
297
382
259
255
314
300
296
328
316
306
253
280
255
336
366
415
310
322
316
235
341
336
287
342
334
317
299
299
360
280
265
265
329
333
343
343
327
357
254
298
266
357
360
292
299
356
331
286
298
271
296
323
289
309
378
282
463
323
316
341
301
249
394
290
293
268
367
212
322
241
320
320
361
293
257
323
313
315
376
356
243
333
296
288
338
305
370
318
331
346
299
255
388
358
353
269
269
332
326
329
312
281
360
361
320
285
386
335
290
278
266
351
374
322
277
381
321
293
348
331
372
364
274
356
391
408
294
306
266
282
303
329
334
246
271
352
292
232
305
294
375
308
316
333
270
319
309
354
239
359
325
264
318
313
335
315
291
355
288
329
352
375
279
306
378
358
313
273
248
295
362
380
307
345
330
228
293
326
364
351
332
273
339
251
338
341
323
314
307
233
338
214
235
298
367
305
388
303
332
314
305
364
293
323
326
327
364
299
347
243
325
265
193
273
315
262
257
216
334
317
311
327
288
288
338
338
284
335
318
318
325
352
299
281
257
268
341
283
360
273
363
284
252
217
375
302
330
285
253
311
406
394
341
369
381
348
258
350
255
409
330
290
398
247
276
291
371
238
260
385
200
270
273
323
373
352
327
372
260
364
303
391
386
332
356
384
311
382
315
381
250
346
312
268
375
364
313
309
349
295
278
330
296
271
266
317
352
394
362
362
359
300
366
319
388
376
372
263
330
234
370
302
255
320
294
294
203
331
336
369
304
345
358
318
332
430
356
238
324
321
316
386
352
355
296
310
303
349
323
312
366
249
333
305
268
286
352
249
254
371
268
311
338
255
238
316
325
311
219
349
303
220
345
298
358
336
329
313
147
390
326
277
358
326
395
313
328
404
310
311
270
369
342
347
266
310
361
293
255
242
400
304
262
324
328
278
300
285
321
340
290
309
379
304
304
371
312
319
368
271
317
300
280
323
288
315
303
405
196
316
410
266
239
306
339
257
316
317
341
265
291
258
292
328
244
262
315
291
381
386
274
282
337
340
349
338
285
309
290
340
355
321
354
289
350
301
388
393
314
374
315
308
287
359
382
283
315
352
338
320
324
355
311
316
378
368
355
269
311
310
344
338
375
337
268
238
313
347
403
299
199
352
283
364
292
292
305
260
325
363
230
249
338
311
308
386
331
300
316
242
321
299
333
397
364
342
237
374
408
387
227
280
416
274
425
240
310
370
330
287
333
340
295
299
327
300
276
350
271
325
276
266
282
259
307
268
378
359
332
350
384
293
322
363
359
365
362
344
265
364
320
345
295
313
343
338
349
269
394
254
317
344
331
297
321
358
367
314
313
342
287
297
298
339
287
304
311
343
351
267
271
297
305
428
353
343
316
323
357
279
269
375
341
246
349
361
234
379
258
313
326
377
344
277
311
312
285
306
312
341
341
259
365
248
270
388
320
313
278
283
242
304
298
353
315
240
321
317
277
316
324
287
323
310
303
267
303
227
304
262
384
280
367
293
301
333
339
310
325
341
365
279
282
258
380
272
298
332
350
326
322
355
258
167
407
212
387
241
256
311
327
289
288
363
261
359
279
394
330
355
290
289
359
310
229
350
318
339
223
278
302
337
356
396
370
356
322
258
347
355
321
364
361
293
292
333
253
330
390
334
254
409
298
271
351
404
428
334
362
390
350
282
310
281
301
328
329
249
370
292
275
332
349
412
282
303
294
328
339
333
311
314
344
416
318
311
271
266
287
293
250
336
336
273
312
314
298
288
228
286
219
313
311
342
326
298
297
358
342
297
333
254
353
311
333
357
385
338
280
381
415
289
277
311
342
238
279
350
287
326
306
351
394
300
398
352
305
362
334
269
393
422
340
320
332
310
293
339
245
327
379
351
338
365
371
319
294
423
295
337
287
378
327
368
325
281
352
270
268
401
294
208
389
340
350
300
285
307
336
327
300
326
316
366
319
333
281
334
306
270
340
182
461
387
303
378
370
288
296
241
311
220
317
277
335
377
324
263
270
333
279
369
302
354
247
414
311
271
366
287
373
270
294
369
308
349
274
317
379
388
307
341
306
315
328
344
366
332
393
249
303
255
332
360
354
342
328
296
343
328
284
276
349
348
341
316
359
240
277
296
304
324
312
259
285
267
303
261
343
383
319
334
346
315
271
370
344
342
322
327
372
290
305
220
336
266
374
315
293
289
361
281
310
341
331
280
234
285
360
310
327
425
379
265
320
344
295
283
311
269
228
249
252
300
341
260
347
204
312
296
280
265
338
346
366
348
259
294
372
356
394
303
319
278
278
222
324
298
328
233
309
299
361
325
399
348
316
361
329
311
329
319
283
322
357
294
314
269
287
306
369
312
327
222
326
293
306
296
297
264
261
329
375
354
439
316
345
277
318
276
294
299
383
401
319
298
251
335
230
345
319
255
321
302
287
351
323
272
288
314
378
312
311
315
270
325
245
239
305
345
316
276
255
293
158
327
333
227
344
314
346
238
271
254
369
301
315
290
351
333
340
294
350
316
343
259
337
280
322
402
287
345
334
320
381
324
281
337
332
337
288
326
351
330
276
311
329
342
342
332
242
380
319
241
318
328
189
373
265
309
331
250
278
387
301
283
223
297
322
298
343
231
262
272
269
263
262
308
327
349
399
316
359
310
288
346
318
398
342
331
286
243
326
307
301
269
290
365
279
279
298
289
370
239
245
300
370
257
289
351
345
251
391
322
381
312
291
307
234
268
351
334
402
365
376
251
312
340
295
356
270
323
331
291
299
360
272
282
295
339
378
322
312
303
251
359
321
272
324
294
380
353
342
339
317
222
352
388
345
282
255
394
321
321
280
258
365
335
314
331
365
296
371
321
260
330
339
376
298
300
282
394
345
430
324
322
314
311
330
314
350
343
338
351
323
309
446
274
349
356
272
283
350
321
236
301
277
359
299
317
290
274
317
319
291
228
286
399
207
276
290
348
379
363
321
220
339
315
282
310
271
247
306
329
284
382
283
364
268
333
277
312
262
295
361
343
305
258
363
317
339
380
229
349
248
379
354
350
318
349
323
328
354
294
311
373
252
268
363
357
253
396
260
323
346
274
399
287
270
300
367
346
345
341
310
404
299
279
284
353
303
314
338
341
298
335
307
285
359
299
277
304
326
336
324
308
326
374
332
387
367
359
299
289
301
310
312
280
353
325
317
293
314
301
290
271
317
297
276
304
346
384
272
357
236
348
321
216
329
351
303
350
371
237
321
265
318
374
308
342
313
342
300
307
332
329
322
286
334
202
348
323
361
247
298
318
326
277
340
337
324
343
286
341
340
345
318
264
369
310
297
221
309
326
284
232
348
344
329
239
391
272
274
334
223
348
330
343
288
319
288
378
385
281
296
318
338
297
349
355
298
342
250
291
354
328
295
285
280
299
322
305
339
237
265
322
261
264
323
343
249
239
349
329
373
369
298
354
368
297
352
209
274
348
292
286
337
238
326
303
399
293
398
361
318
351
320
306
395
313
324
272
344
286
284
321
376
326
225
359
359
306
275
302
338
286
327
277
317
288
311
309
256
351
321
395
290
322
295
218
398
305
288
303
306
308
358
306
298
312
323
197
307
312
284
237
385
315
323
284
299
366
352
272
271
343
328
350
303
296
315
416
395
317
305
377
335
301
251
353
315
272
235
297
397
358
318
346
406
343
308
311
328
298
328
371
354
413
347
331
236
306
303
312
287
318
333
317
348
195
310
397
279
367
346
311
338
305
331
323
328
302
225
307
284
298
224
344
315
357
319
412
371
298
393
344
266
318
348
333
371
365
379
398
362
340
307
370
271
296
342
224
337
322
286
335
309
266
302
300
291
302
309
284
283
284
341
215
327
317
295
316
405
398
332
290
321
374
368
378
373
292
308
294
283
373
352
409
281
332
359
271
278
349
217
256
360
261
319
312
309
317
246
288
324
257
319
313
281
357
344
352
312
386
258
385
337
360
367
350
355
318
344
266
305
409
272
295
369
368
283
239
245
309
258
285
248
283
323
345
273
313
341
283
333
321
271
323
393
294
345
377
335
303
292
209
309
261
297
275
309
321
248
268
361
298
365
217
389
352
302
285
354
315
348
276
390
276
354
353
331
339
382
287
356
249
324
323
260
285
272
299
369
309
306
349
320
333
311
294
377
321
264
231
322
328
323
345
367
280
329
262
262
299
317
310
156
340
271
404
312
333
330
311
324
356
271
388
290
297
325
382
378
311
409
227
306
300
400
320
325
317
298
333
245
274
301
359
292
326
294
277
337
354
330
245
272
319
283
349
293
286
305
275
370
325
235
329
331
286
262
300
221
385
353
336
303
283
330
320
369
324
310
368
281
283
311
360
334
387
326
358
369
285
321
280
335
248
374
195
396
312
248
328
353
369
269
386
369
298
306
340
377
348
314
304
332
269
338
365
355
333
358
342
307
362
336
330
382
354
297
310
280
308
290
338
241
322
285
311
378
215
310
316
334
291
292
340
265
334
338
340
350
341
330
233
376
262
280
363
358
314
367
344
345
353
342
326
325
362
343
306
302
302
368
376
394
301
332
300
362
331
382
287
356
354
259
291
377
345
250
242
298
284
275
288
353
317
272
368
365
307
389
364
321
341
308
244
268
310
291
310
318
327
299
265
335
167
311
292
369
289
340
290
326
304
285
246
312
299
231
343
307
250
317
303
342
362
294
319
307
324
386
390
333
231
335
325
360
294
343
295
236
324
411
313
369
299
328
289
337
320
320
257
282
268
326
332
343
302
367
264
338
246
300
296
349
392
336
332
255
262
398
317
264
306
253
368
265
362
258
359
371
269
293
235
289
279
335
353
323
286
401
356
271
312
232
256
249
290
187
266
300
311
301
296
336
243
303
247
391
368
288
337
346
345
240
360
385
211
257
309
369
375
374
297
300
403
364
315
303
355
286
290
279
313
351
314
339
341
333
349
359
355
340
365
334
323
316
288
325
196
305
299
360
415
191
307
280
263
357
321
320
276
293
375
346
277
401
326
335
280
217
261
291
325
336
339
281
376
296
378
297
344
344
307
422
262
364
340
278
296
287
332
279
261
322
326
354
327
339
291
328
239
365
310
307
274
302
306
307
291
299
322
331
341
316
237
320
327
255
268
304
378
278
331
349
299
330
282
274
347
279
341
239
238
345
359
317
285
285
405
354
345
381
336
310
249
334
315
282
359
307
299
347
321
346
301
246
360
366
296
347
436
215
334
306
289
392
330
351
321
311
309
328
273
315
321
320
299
305
310
353
355
233
314
364
216
269
283
340
364
283
297
299
329
302
226
395
278
381
359
337
353
328
325
228
395
288
260
306
390
333
328
361
233
256
334
307
282
300
297
216
227
386
317
305
293
348
288
293
196
272
253
300
261
255
275
275
273
357
227
390
367
291
341
330
278
341
252
236
226
308
269
292
378
279
266
328
391
292
339
364
359
336
316
360
295
255
368
332
356
339
297
370
275
352
298
290
353
231
265
290
322
342
275
357
302
330
286
354
262
324
288
279
305
310
311
303
332
347
305
312
383
334
264
328
259
399
329
322
403
361
349
303
321
337
296
371
272
339
372
402
316
377
311
385
296
289
332
313
359
370
293
318
241
260
313
330
340
357
327
347
291
262
307
352
296
292
378
288
230
315
326
349
305
347
335
348
328
341
341
295
393
289
364
327
321
370
281
284
257
361
288
328
316
391
309
305
358
355
274
264
253
249
307
354
309
277
374
343
362
309
256
263
345
282
334
399
324
264
363
284
269
306
383
305
322
265
291
291
341
320
380
384
346
305
363
317
276
386
354
282
283
256
254
305
265
253
299
342
305
302
337
266
215
355
301
317
342
331
298
263
274
293
329
313
280
331
308
372
325
312
384
302
309
278
391
280
273
299
267
346
283
348
375
254
333
221
262
313
310
357
276
252
302
340
311
329
313
325
326
258
371
304
260
192
370
287
359
402
290
340
359
364
371
305
257
262
321
270
325
347
247
299
236
213
274
299
394
337
375
390
358
263
254
379
385
292
308
311
345
299
222
296
378
445
334
303
274
283
319
293
295
294
350
239
368
319
281
380
236
313
291
305
326
319
285
398
259
264
349
299
280
301
367
242
306
314
350
268
345
216
280
282
316
368
389
345
297
318
295
284
348
292
312
321
242
332
323
357
251
364
297
281
219
275
266
280
319
367
283
313
349
375
320
306
322
296
260
313
353
360
313
296
273
341
312
315
291
281
287
299
339
226
300
344
275
316
314
280
332
380
396
350
314
342
317
344
306
363
265
230
354
352
374
260
303
429
311
316
263
242
321
370
316
351
289
363
358
329
393
277
329
243
287
391
257
280
379
363
331
290
330
297
356
265
323
384
239
236
252
228
299
306
287
252
301
411
245
214
322
349
356
291
339
287
355
329
273
390
264
316
299
321
326
411
342
335
320
358
266
340
385
280
349
303
315
355
297
245
276
300
322
320
234
303
263
264
345
328
330
330
376
335
389
302
333
335
341
285
350
334
316
391
252
294
316
371
308
355
326
322
353
377
381
264
314
366
265
370
269
275
312
288
359
353
233
336
274
223
331
312
249
264
349
364
321
271
267
330
382
273
313
320
315
202
357
272
375
275
389
302
236
394
215
261
309
341
321
376
237
330
276
311
308
309
276
320
383
368
351
311
339
423
391
254
300
345
316
334
337
285
312
367
355
358
331
297
335
280
348
258
326
333
354
301
331
348
326
289
316
321
349
248
422
311
314
404
387
323
278
348
278
326
304
213
303
299
224
330
335
336
352
367
337
241
268
357
325
355
262
291
304
293
367
278
270
330
315
298
298
282
340
346
337
391
307
305
244
273
355
186
263
360
374
293
337
375
301
250
407
339
246
366
304
369
337
335
409
376
332
282
286
309
344
317
275
329
330
376
324
303
289
273
286
353
270
329
406
302
305
344
232
235
295
341
296
246
350
312
338
372
377
273
358
324
362
377
228
315
432
354
171
318
232
334
246
260
333
309
362
287
350
327
318
379
284
396
297
334
365
346
243
388
287
374
328
231
284
305
354
363
294
263
308
359
377
297
350
320
339
281
269
408
281
310
266
329
338
375
164
301
327
342
341
375
301
385
340
286
344
341
383
290
243
305
334
271
300
380
335
338
347
274
359
389
374
282
316
325
294
242
232
327
387
252
275
271
324
266
334
289
233
300
300
297
333
336
290
228
294
179
242
277
322
285
297
362
299
279
222
288
319
261
245
217
347
307
307
325
385
342
262
265
235
325
326
322
360
327
313
353
308
314
252
254
314
234
331
308
389
336
345
327
325
326
306
333
289
234
286
322
323
340
326
273
315
303
335
316
297
269
340
277
295
328
320
364
398
301
341
371
324
289
298
330
397
363
337
249
319
273
283
365
296
202
341
314
339
356
430
285
307
337
301
342
324
312
359
416
368
298
275
356
319
365
293
387
366
298
303
327
247
348
270
372
357
243
394
256
359
268
349
299
308
282
336
321
395
342
244
244
334
371
329
264
345
302
295
313
365
311
340
201
322
339
301
288
332
289
320
264
356
345
339
358
373
345
366
297
312
384
293
310
412
342
346
367
301
377
321
322
298
402
265
323
306
283
266
376
391
309
350
285
381
338
372
240
336
366
324
368
315
212
290
281
325
284
318
294
328
360
291
359
330
277
407
321
313
329
295
206
313
332
316
350
302
236
282
242
281
303
388
387
282
273
420
363
337
293
288
312
265
255
260
390
439
391
357
315
337
165
344
276
252
317
316
281
364
333
391
330
253
345
347
255
293
296
297
368
283
328
291
336
341
265
345
306
265
335
309
257
323
399
248
300
271
310
350
312
302
395
331
351
341
317
331
320
317
361
311
231
331
301
298
342
289
277
371
328
284
305
311
331
310
248
338
322
247
292
397
299
337
370
341
281
267
322
302
244
287
278
277
368
299
308
355
232
290
264
311
329
281
370
302
358
202
362
268
249
327
368
330
366
308
361
283
234
337
256
308
265
277
236
246
328
315
380
353
309
315
325
376
337
343
329
305
272
279
306
392
332
325
443
346
314
232
320
343
352
272
260
254
370
297
349
277
268
325
308
318
307
355
196
278
287
317
348
329
353
296
277
273
280
391
264
342
234
332
306
344
178
283
352
334
276
342
228
359
298
327
325
272
234
222
344
287
375
310
309
339
292
363
253
358
349
361
300
369
266
369
376
306
353
326
250
288
317
296
338
264
343
337
253
300
285
311
392
296
306
329
307
308
346
277
261
353
296
366
217
352
356
330
333
356
332
326
252
208
325
342
294
370
354
273
302
272
289
296
306
300
315
345
321
369
256
298
363
276
406
300
367
351
245
285
319
340
347
342
400
300
269
295
291
264
293
316
318
269
319
384
353
327
351
389
305
273
306
277
356
290
351
214
307
248
309
312
245
332
317
177
340
312
311
373
371
233
308
250
379
297
332
354
361
313
334
307
276
337
293
346
259
328
310
343
332
371
327
299
299
337
335
307
338
321
356
351
322
374
307
271
330
271
325
288
312
276
263
332
319
304
281
288
329
389
290
344
284
313
277
257
301
365
342
264
340
348
303
381
273
332
353
259
401
359
362
248
261
365
400
306
346
299
268
259
192
359
334
236
335
339
338
305
287
291
367
355
303
353
362
341
297
328
341
170
364
276
345
351
363
338
270
342
355
239
271
300
322
338
325
316
426
391
374
319
405
273
309
368
274
331
323
352
245
283
320
318
364
370
345
313
318
386
343
241
355
225
304
314
306
299
353
275
326
364
306
249
387
329
321
387
314
329
345
248
273
300
297
376
380
294
208
276
269
304
340
350
318
301
306
301
282
312
336
262
378
361
310
262
242
306
335
309
230
322
395
278
270
354
312
327
340
400
277
354
285
393
330
357
312
257
260
317
347
356
301
290
312
298
314
415
300
225
298
276
324
331
335
320
345
347
213
291
347
288
348
302
297
296
340
361
306
379
349
235
323
283
423
307
340
290
308
265
321
318
328
302
369
250
325
279
364
337
346
349
278
300
281
326
362
339
333
349
316
387
246
387
255
308
317
328
314
362
260
369
410
269
307
297
362
407
319
257
340
257
316
295
367
362
360
259
303
374
270
349
330
354
305
289
264
371
256
311
365
304
317
332
297
333
320
268
331
242
248
282
313
344
381
358
279
274
274
365
248
287
298
345
251
393
245
367
267
278
401
362
335
338
354
307
310
294
326
327
315
302
388
335
419
333
294
367
323
274
421
366
408
328
343
301
310
397
406
297
271
380
311
230
302
246
334
312
332
318
212
375
229
278
345
379
291
351
236
357
317
336
260
328
301
231
325
319
283
380
341
291
318
309
324
305
326
399
291
345
229
401
378
299
292
314
311
351
317
247
282
259
382
303
314
285
334
318
286
304
358
282
347
300
304
296
359
242
258
409
326
355
338
363
322
319
318
340
277
331
299
350
300
378
304
384
364
319
279
318
316
288
314
251
328
294
346
278
234
375
342
332
248
315
324
254
352
189
358
257
303
326
279
329
388
340
306
306
271
314
403
258
292
359
283
281
356
345
248
332
455
285
250
305
254
321
332
362
287
357
318
341
301
308
247
345
276
274
320
317
291
316
252
331
321
383
357
287
310
332
332
250
360
334
291
309
311
268
313
302
277
242
392
294
319
368
321
357
311
344
342
302
267
295
340
286
320
350
334
350
332
404
317
335
232
265
368
368
270
277
337
363
273
297
334
338
262
316
360
383
307
463
289
345
280
325
295
273
356
371
325
304
314
355
269
364
357
284
269
337
279
307
365
378
300
260
271
275
312
253
384
268
351
348
364
341
276
329
312
321
324
325
350
375
301
208
320
330
330
389
368
400
260
352
279
313
303
343
340
340
330
337
337
328
285
354
352
325
263
362
312
361
335
352
356
299
357
336
309
299
306
269
360
404
315
287
290
303
318
324
276
400
335
304
306
366
241
297
358
270
260
333
292
341
349
341
278
332
379
292
368
294
385
326
323
311
293
315
290
345
307
330
348
344
325
388
370
324
375
333
295
337
287
363
271
293
275
306
323
285
291
287
338
354
333
290
286
286
249
373
337
248
284
321
294
274
313
277
412
368
314
309
426
250
335
256
322
333
370
326
328
287
376
263
412
353
282
281
350
330
304
290
257
379
292
306
313
352
303
305
345
289
306
274
337
313
346
277
287
305
393
312
361
289
273
321
311
352
285
328
301
294
365
359
339
367
215
269
366
360
317
397
313
294
377
284
352
269
339
316
323
305
285
411
277
358
290
384
337
395
328
273
308
346
337
341
285
280
372
275
274
336
330
361
309
375
290
332
207
337
286
302
286
324
355
271
295
308
290
393
320
426
243
373
334
348
293
349
404
278
415
298
343
316
372
257
380
295
246
340
293
319
360
306
278
310
251
392
311
344
342
295
319
288
312
336
304
269
300
350
241
312
362
312
258
321
268
343
318
189
277
239
267
344
207
293
337
349
284
350
228
262
313
381
271
266
315
342
299
282
338
307
315
360
272
263
335
299
278
355
196
309
195
326
340
344
320
291
300
355
314
352
320
336
262
346
250
407
349
342
315
342
320
218
256
241
279
393
324
377
330
328
333
349
321
300
319
328
340
310
221
189
291
293
275
314
335
351
398
224
349
311
302
281
388
270
368
248
324
281
332
313
371
285
255
344
364
324
281
355
246
305
328
361
364
275
414
286
195
306
250
292
341
249
327
425
327
258
315
363
377
290
232
309
329
340
313
334
298
307
353
380
325
304
309
283
330
338
281
304
316
269
291
362
316
349
268
284
318
276
386
355
284
289
272
285
277
354
312
355
287
332
322
287
251
263
348
351
381
336
246
289
326
340
325
376
363
341
310
276
309
259
253
262
348
345
225
301
297
318
288
300
271
281
353
332
372
314
375
335
316
260
330
386
215
376
231
363
363
290
335
243
319
390
291
266
253
228
266
342
220
363
345
391
376
307
395
379
371
281
260
382
318
307
260
371
345
344
353
277
360
403
292
300
384
222
315
328
326
350
295
287
229
274
332
312
328
359
322
291
445
280
324
323
312
323
298
340
266
311
357
285
312
340
266
349
362
263
326
291
307
248
216
318
287
312
325
346
371
323
315
346
306
299
231
338
341
360
302
327
340
321
289
390
369
361
262
266
355
343
364
322
351
336
348
394
355
395
303
333
313
350
352
380
319
263
299
266
301
359
332
236
343
312
289
318
368
347
222
388
317
354
264
255
343
334
349
354
341
333
246
373
258
353
332
337
228
321
291
346
334
348
278
320
346
359
285
369
284
384
272
386
351
357
347
273
247
291
352
299
324
370
370
327
295
290
320
211
287
355
347
311
329
317
342
331
354
246
269
342
273
242
354
270
224
306
335
378
287
324
241
353
300
262
384
366
279
304
344
422
335
358
283
334
377
379
382
360
302
350
287
336
340
289
300
187
338
287
272
313
302
338
289
322
358
301
297
233
382
302
191
349
324
356
328
362
269
348
272
363
300
273
316
237
321
244
375
387
287
317
308
265
219
310
341
264
346
339
337
322
263
347
322
347
257
277
202
261
234
373
283
264
283
223
308
329
311
364
360
320
335
275
301
299
304
318
222
336
302
310
313
303
300
312
305
323
288
324
360
268
390
291
258
298
352
283
371
294
209
291
329
260
337
378
415
327
316
262
208
290
247
264
313
298
315
298
245
301
361
313
290
264
323
264
336
313
331
352
328
327
330
291
361
268
309
293
293
326
334
328
373
390
370
337
359
264
251
286
234
175
351
363
306
287
296
290
265
381
306
364
365
352
355
311
371
332
299
266
246
295
275
354
363
297
334
328
315
335
344
291
305
380
326
311
235
364
330
376
299
348
326
333
344
348
261
369
371
357
343
378
366
330
314
273
388
285
290
298
316
304
329
273
252
294
297
345
366
322
316
314
317
307
298
335
302
304
404
300
255
351
342
292
212
327
297
320
253
358
274
270
297
351
316
323
406
288
268
369
301
351
284
280
334
342
327
288
311
309
274
357
277
335
268
280
299
358
302
363
285
284
399
241
339
382
260
348
316
300
303
371
343
220
399
287
417
249
357
330
417
237
329
400
380
363
330
328
343
236
326
312
341
319
211
288
295
285
323
292
309
344
243
285
329
298
294
299
358
323
292
318
337
352
324
261
262
372
340
308
379
348
336
311
211
306
249
361
306
269
272
289
228
286
326
387
346
337
353
380
316
363
322
346
316
320
337
313
334
376
259
273
286
349
354
223
315
376
356
322
262
395
386
306
289
290
299
305
411
311
287
224
282
265
263
381
296
398
385
360
371
362
294
351
262
312
375
304
293
236
318
351
310
281
259
256
358
341
333
365
218
350
416
320
276
336
330
335
381
349
394
316
280
244
292
269
336
296
318
248
348
386
360
164
290
273
277
289
312
281
314
323
229
303
328
356
291
337
323
298
277
320
309
369
362
294
344
335
374
302
237
310
317
314
233
313
261
316
332
282
327
302
385
378
273
322
217
395
376
247
357
326
346
395
328
319
384
329
357
319
323
302
325
244
401
391
323
387
370
289
361
278
321
316
302
324
270
271
282
362
317
282
365
255
354
215
303
289
241
325
351
244
361
350
273
318
400
296
318
341
317
258
287
375
322
391
298
278
236
233
375
294
395
321
275
333
311
312
321
265
294
358
333
267
359
297
367
364
358
337
262
341
355
344
422
228
343
279
352
256
377
329
241
186
306
294
293
315
309
298
234
240
371
355
346
377
210
277
343
353
333
293
336
283
272
340
243
346
399
328
370
362
269
265
329
315
320
344
293
344
372
377
319
259
221
342
338
345
206
278
343
288
263
346
314
247
322
249
268
269
278
369
384
286
316
272
321
310
306
296
345
381
350
334
379
309
356
298
381
352
273
284
332
365
328
336
234
271
305
343
240
327
372
274
244
278
364
369
311
347
330
322
300
378
304
294
296
435
302
258
278
373
300
297
297
321
341
318
265
259
373
345
347
314
289
383
346
324
384
321
293
279
295
277
321
292
298
319
329
322
337
311
300
294
280
336
302
311
374
438
408
400
311
321
374
302
338
357
257
362
301
313
305
379
228
317
300
365
315
307
342
331
341
285
289
320
209
257
327
322
301
311
337
290
307
277
337
275
283
253
290
373
320
334
293
261
325
332
268
359
212
309
321
383
380
358
232
254
336
294
276
367
346
314
282
315
311
309
318
362
400
336
333
265
295
352
357
345
306
357
383
283
390
259
344
215
275
333
267
269
362
346
367
315
323
249
321
314
356
309
312
360
343
303
394
329
329
308
334
337
275
358
347
307
319
352
282
267
285
273
326
324
308
319
266
271
287
305
362
306
318
336
301
332
381
312
315
329
363
321
275
355
335
380
248
336
356
272
303
314
357
337
307
349
387
299
352
352
270
269
276
361
296
309
295
325
297
313
243
212
297
271
224
325
447
245
382
259
292
392
328
316
307
299
329
236
310
272
375
386
344
319
335
305
384
296
279
319
324
318
400
353
355
348
313
333
358
365
225
282
349
281
311
378
247
257
343
304
347
283
304
316
318
287
306
301
323
350
220
306
324
292
329
265
354
350
280
380
341
223
343
263
286
256
316
249
344
269
391
317
362
352
284
330
300
272
258
365
367
312
313
311
281
305
253
324
342
366
298
369
285
273
291
303
356
313
248
262
336
327
311
295
295
284
347
296
387
402
355
352
292
338
291
240
331
367
363
268
361
328
313
285
226
354
333
231
347
178
284
346
296
288
408
253
283
291
328
345
263
240
216
318
307
386
345
343
309
314
273
365
391
370
329
319
313
285
331
393
386
261
295
386
326
324
264
311
345
322
328
320
407
418
256
190
357
265
298
347
271
341
388
343
402
268
343
338
272
302
251
254
264
346
346
344
325
317
258
321
297
286
364
234
298
330
379
322
325
321
301
290
386
292
336
305
311
325
299
375
260
395
286
324
310
228
257
311
218
267
377
343
305
338
301
280
385
278
352
310
378
321
229
312
288
310
368
311
412
274
322
386
319
265
257
226
287
321
340
376
355
274
270
298
360
366
373
335
319
261
394
296
316
284
344
362
246
338
322
353
347
294
237
321
334
305
321
342
314
288
359
288
234
237
296
324
287
378
271
339
338
244
351
368
290
300
353
363
273
320
207
266
312
318
356
395
356
395
326
364
390
311
256
262
354
341
313
420
337
294
390
273
329
370
287
326
330
268
371
336
384
368
371
350
298
347
351
320
330
298
325
222
316
271
307
352
387
418
315
319
350
389
305
322
292
363
346
455
254
313
326
291
275
316
266
359
381
275
295
365
382
261
304
302
278
358
361
375
349
264
384
397
282
316
227
283
281
282
337
344
283
178
211
300
330
308
244
355
280
318
206
343
362
197
291
291
214
257
352
328
379
238
371
366
269
342
312
311
347
262
307
363
312
336
325
294
317
298
329
390
334
305
311
250
341
346
317
295
298
222
362
336
262
275
378
344
244
312
267
280
378
268
369
344
314
330
339
266
329
248
350
364
380
313
349
309
333
267
313
397
315
262
342
339
232
281
282
308
324
278
273
362
242
324
248
273
305
360
289
292
355
344
372
280
358
300
240
333
302
279
353
270
379
223
240
283
371
332
244
333
291
310
337
257
354
255
280
387
318
317
322
326
290
348
344
293
378
304
335
328
364
340
350
295
336
340
366
377
254
366
309
301
295
323
346
351
337
221
382
270
223
365
294
334
319
385
360
342
309
300
234
253
254
294
387
296
314
321
300
344
313
296
253
289
358
295
330
252
222
319
263
355
279
320
348
285
321
311
345
325
366
369
383
345
414
256
385
288
330
326
304
283
349
276
324
326
349
341
308
395
319
331
280
363
306
290
373
296
341
358
281
298
289
336
368
344
325
326
356
337
283
296
310
292
317
272
375
282
311
300
253
302
287
304
365
323
282
372
365
325
313
398
330
313
299
240
333
318
245
407
347
300
311
319
396
289
310
344
269
306
291
363
368
253
266
332
347
305
292
329
291
305
228
240
268
355
322
377
275
330
301
277
362
381
249
362
303
285
298
344
230
336
281
366
170
341
290
243
303
278
369
236
319
282
281
421
333
279
298
315
275
281
352
295
299
363
358
415
349
291
367
294
332
355
282
321
251
326
329
315
317
327
372
312
292
336
374
254
304
320
343
356
342
287
287
303
248
361
282
245
307
385
385
361
272
293
358
341
249
333
263
393
256
382
255
186
355
325
367
308
253
325
346
323
332
372
352
306
337
363
283
236
356
363
296
344
279
317
352
363
298
290
349
337
360
259
335
298
282
332
349
277
311
313
356
377
270
308
361
299
273
307
325
316
324
354
385
258
335
344
315
339
268
302
320
329
414
389
309
356
310
369
327
350
342
345
334
269
350
358
251
330
313
212
323
273
356
346
339
233
291
342
258
376
260
354
316
331
301
269
291
249
296
449
254
351
312
302
322
302
379
301
340
396
310
293
336
337
265
292
288
350
353
333
295
332
357
283
336
307
316
299
364
371
311
309
249
343
275
355
344
318
257
258
318
297
346
305
261
360
335
266
337
303
338
291
343
369
350
291
329
345
322
399
323
283
254
391
293
383
262
330
279
336
337
336
301
297
347
315
342
352
324
288
290
320
263
401
340
320
277
422
389
320
359
369
331
292
307
253
271
316
309
302
309
361
288
418
374
259
380
370
294
347
320
346
373
360
304
325
273
339
372
305
302
271
357
269
389
363
248
275
286
302
290
389
361
374
355
250
272
301
371
266
295
349
316
375
267
374
282
430
261
346
310
344
239
400
309
262
357
263
259
249
310
253
228
218
254
279
359
307
224
370
332
269
277
241
353
255
353
325
327
417
333
328
351
309
267
291
365
336
310
377
362
371
406
300
286
323
295
321
368
327
323
292
366
287
263
313
347
289
335
359
269
356
341
386
323
318
388
340
316
298
337
321
309
334
288
286
252
330
326
354
332
307
386
395
419
289
349
294
299
359
339
256
292
391
271
278
307
357
300
318
256
351
399
370
255
331
321
281
296
304
248
244
280
353
245
352
333
325
360
349
264
178
316
384
253
354
295
296
331
243
287
342
282
225
331
268
260
366
414
291
352
237
352
222
329
278
284
303
276
335
320
255
317
310
354
295
409
317
315
332
312
325
292
335
288
352
289
349
345
402
252
329
291
226
315
342
374
340
447
286
309
313
261
360
356
305
257
280
381
316
308
330
311
352
270
247
321
362
194
373
350
355
326
265
210
393
364
317
369
256
314
309
355
333
273
213
245
317
332
320
401
306
300
327
329
336
357
317
280
301
217
361
269
326
361
289
294
299
360
317
332
319
292
276
363
212
323
335
370
305
306
300
351
325
342
285
352
354
328
273
220
296
344
324
343
316
299
280
356
334
258
343
408
408
300
283
340
402
272
368
275
181
312
308
299
294
340
282
338
268
281
281
313
281
355
277
244
330
360
336
186
207
303
265
360
272
261
348
299
252
249
313
364
367
273
310
218
361
236
298
347
370
346
295
367
290
343
283
373
328
286
301
328
376
295
337
317
302
292
356
288
280
325
263
323
372
246
390
354
320
342
297
421
371
319
278
327
238
299
318
356
290
266
294
280
334
357
335
273
307
230
341
417
365
230
348
260
323
256
296
375
295
359
366
376
231
310
298
278
251
356
378
285
338
295
295
321
315
272
321
394
283
340
295
309
301
334
213
248
343
348
258
341
325
330
385
386
310
274
267
324
309
312
374
348
360
369
338
324
284
234
326
218
207
227
329
390
285
245
349
303
319
373
293
334
256
293
351
192
388
342
305
308
396
368
257
389
297
387
287
368
354
408
312
248
332
322
393
354
373
301
290
254
296
364
366
315
286
410
304
277
382
378
285
264
337
295
326
290
274
335
304
342
291
287
378
303
277
329
297
202
300
311
427
304
318
367
316
286
316
294
222
410
250
316
246
289
200
310
344
334
200
433
311
332
361
362
400
280
324
361
288
284
295
259
290
326
303
381
262
374
340
342
317
314
274
297
283
329
278
372
328
333
321
274
299
293
282
259
358
229
287
251
299
288
280
295
231
384
264
319
258
338
346
383
282
280
334
390
299
293
374
343
390
260
335
337
355
298
316
323
336
350
300
306
314
364
266
306
345
371
338
280
269
312
339
278
353
304
352
300
339
354
356
305
282
295
333
342
329
389
250
290
345
281
201
328
249
305
376
401
328
288
312
401
364
390
306
270
372
384
397
304
256
321
343
396
271
382
298
254
269
282
374
315
317
309
227
303
365
353
316
317
260
414
280
292
246
288
369
374
317
258
316
324
264
325
304
282
373
255
344
355
251
292
370
338
371
336
278
380
282
350
227
315
332
364
322
291
364
331
391
307
297
355
279
333
307
264
306
374
251
238
343
297
329
306
299
308
328
295
251
286
319
389
231
233
310
260
278
366
375
276
320
283
369
311
356
317
339
266
310
275
349
392
330
360
297
301
369
323
376
282
311
297
327
296
300
409
293
306
294
344
396
370
314
289
242
242
318
271
287
341
303
313
266
262
180
254
312
338
292
318
323
353
250
347
313
266
308
271
322
290
372
343
274
343
270
362
277
367
414
364
297
367
366
360
297
363
327
269
270
200
398
263
279
284
301
343
323
301
270
278
331
338
349
229
358
425
396
316
302
272
312
307
296
327
347
285
239
299
319
326
365
387
402
329
326
386
281
320
312
315
324
262
267
362
305
327
259
338
389
264
245
313
247
258
342
274
367
341
238
280
359
295
358
320
397
314
298
334
300
288
406
317
285
302
323
284
328
304
247
336
318
377
330
349
314
319
238
276
399
313
316
305
236
375
318
348
210
364
243
227
346
383
274
231
276
351
213
392
292
418
292
333
314
372
341
269
316
327
334
353
339
307
333
351
301
318
308
326
378
362
330
275
258
259
318
342
335
248
358
319
270
257
329
250
333
287
287
288
333
376
255
233
328
340
340
319
370
299
340
299
232
396
317
316
321
220
294
311
257
290
383
286
271
345
384
325
339
305
426
364
339
320
272
327
358
252
370
379
378
304
354
313
353
321
245
374
236
390
281
299
281
290
292
342
399
321
265
311
262
298
278
317
328
311
268
271
297
247
292
424
349
266
306
289
281
252
318
365
271
302
334
342
338
351
297
274
387
342
284
305
354
351
389
351
323
314
335
335
370
313
278
361
283
291
347
299
243
275
315
305
366
299
315
346
299
279
343
307
383
251
293
251
279
272
309
359
263
372
293
313
332
285
237
407
249
350
347
290
296
325
300
384
245
339
306
302
299
379
287
263
334
281
292
306
298
311
268
195
319
294
400
348
336
255
259
225
286
338
218
292
321
274
287
282
278
351
371
314
346
266
352
365
336
288
348
299
212
312
359
241
298
251
292
326
310
396
271
285
387
333
283
336
351
263
369
357
270
371
243
336
272
282
380
303
351
351
232
348
277
378
362
349
272
287
301
338
342
341
265
413
357
332
276
328
337
303
271
265
323
387
257
303
281
312
324
295
276
397
351
320
348
343
311
255
251
279
298
352
333
293
286
281
242
308
256
266
266
383
343
366
326
316
328
334
307
345
362
352
303
269
297
315
362
337
368
349
314
225
328
267
296
291
316
308
302
335
337
347
282
317
279
318
296
404
352
299
298
230
284
354
316
320
311
331
283
291
356
343
345
245
240
376
308
284
345
314
347
380
324
315
253
362
351
335
333
318
305
389
335
267
246
315
307
232
329
359
253
305
358
320
306
315
267
254
373
312
322
364
334
352
230
303
426
348
302
348
326
273
258
311
333
290
398
318
256
291
206
265
353
373
250
394
295
380
307
325
348
325
316
286
339
307
335
224
324
315
277
364
359
319
243
336
242
249
354
388
289
289
340
276
225
402
326
285
242
318
329
253
261
293
396
295
334
330
367
345
362
314
326
296
454
362
329
362
354
275
308
336
325
315
234
341
327
347
383
278
368
271
367
311
262
327
330
308
409
291
381
355
382
291
232
288
354
372
294
366
338
301
301
313
301
419
329
340
248
286
269
339
308
338
288
316
230
338
270
322
364
338
321
318
361
260
333
293
280
365
382
333
317
330
271
316
375
286
328
410
353
337
368
300
278
308
312
271
349
321
284
225
303
338
305
265
366
246
364
303
373
345
342
302
359
318
327
306
311
294
360
369
297
332
336
353
294
351
367
354
305
295
327
271
308
307
250
302
263
376
307
333
301
291
249
334
296
320
280
283
459
374
353
323
348
359
346
380
323
321
264
256
240
380
359
314
354
291
389
290
362
358
332
266
337
306
289
271
334
347
283
286
308
352
342
348
329
340
318
240
305
346
321
300
327
280
387
393
345
348
253
334
381
327
302
327
354
295
276
345
354
303
344
298
336
257
302
303
290
373
240
221
346
301
298
378
315
386
333
298
339
342
379
336
257
347
340
299
322
280
318
407
328
303
343
339
324
393
355
387
320
356
270
379
346
271
322
206
309
310
249
362
286
326
325
291
300
365
336
246
291
347
374
403
304
343
219
302
278
384
266
317
339
287
315
352
230
251
301
283
293
238
392
312
324
198
325
311
294
344
347
278
356
350
299
352
350
225
252
318
431
315
309
363
261
254
350
281
330
333
320
325
261
374
309
341
207
344
388
280
233
328
373
275
305
369
310
295
352
394
274
292
326
322
321
352
366
315
344
394
384
328
271
334
300
333
334
321
316
354
371
306
276
330
309
271
324
275
293
333
360
335
329
231
386
308
341
350
362
319
361
376
342
281
344
361
409
259
249
248
293
341
318
329
306
313
321
398
356
291
273
331
348
287
294
318
381
391
338
325
271
322
259
420
339
395
352
278
256
322
340
265
263
297
254
331
322
345
333
324
367
276
312
235
332
315
292
299
367
272
335
376
365
235
415
326
317
282
294
357
155
304
357
377
339
335
320
309
391
388
258
344
338
265
420
286
355
275
280
317
302
337
249
320
255
368
278
298
333
423
309
403
323
339
345
314
286
286
270
324
365
304
317
318
266
241
305
327
315
354
320
401
261
250
254
361
261
233
363
377
244
242
220
300
333
283
311
283
262
330
291
368
238
277
316
316
379
355
326
342
337
340
285
334
313
336
314
341
305
282
374
318
269
276
272
373
244
321
320
364
342
291
351
344
354
315
313
341
344
289
353
251
322
355
359
388
309
346
305
307
351
339
329
364
325
263
331
384
250
308
325
363
362
331
238
282
359
305
180
339
288
295
262
392
313
272
376
280
351
273
277
313
294
335
379
258
281
366
264
295
258
251
359
325
309
357
318
265
270
289
291
327
373
387
319
296
308
332
264
293
281
234
303
235
370
354
256
363
312
351
220
287
282
262
296
364
307
294
306
370
265
285
304
255
308
300
396
346
375
340
277
276
324
335
348
260
313
271
389
310
281
238
323
352
376
186
442
341
375
319
359
267
279
342
404
383
251
304
321
338
306
321
291
318
355
372
290
277
212
237
282
295
308
304
374
316
319
376
316
271
407
273
294
307
374
256
308
355
314
362
364
350
282
376
387
256
366
295
371
268
224
325
329
337
308
323
267
319
222
279
333
347
341
248
314
257
322
261
301
291
389
369
292
297
339
257
253
377
377
339
357
321
275
265
308
305
294
306
327
310
337
348
313
237
378
333
383
249
341
364
233
351
223
302
255
317
270
360
348
365
381
256
386
291
360
312
407
240
301
355
275
351
377
332
236
355
355
321
355
338
324
337
307
329
378
350
288
315
292
360
281
326
398
333
279
342
333
292
357
386
215
306
302
317
309
377
305
361
309
296
323
237
251
323
309
270
347
265
295
337
294
322
223
292
259
282
271
205
299
389
253
408
381
304
263
336
338
315
369
341
395
352
277
260
384
360
284
259
314
416
272
354
288
346
391
354
262
355
277
312
294
239
300
250
399
381
323
362
292
237
251
290
423
335
274
298
297
255
323
414
289
398
365
341
393
278
291
400
358
362
340
348
336
308
321
342
279
311
269
315
380
324
268
309
313
327
269
386
364
369
278
347
342
364
347
318
278
313
338
236
295
387
343
325
324
305
326
346
269
359
307
423
287
274
249
353
360
280
296
261
277
300
164
299
350
330
287
258
220
329
304
231
267
337
296
329
375
294
308
299
362
325
351
256
307
299
284
280
333
266
326
249
274
408
358
320
277
329
338
300
356
323
390
326
263
342
262
339
376
387
248
293
269
334
296
281
246
291
355
329
322
346
321
363
332
290
318
335
253
380
285
261
347
308
289
332
451
377
328
326
340
294
225
308
302
310
316
285
391
287
385
283
355
364
366
312
287
310
284
384
299
305
325
296
303
258
266
330
261
253
341
338
355
314
303
390
312
328
289
306
394
292
342
325
387
276
301
292
269
292
299
324
229
282
354
262
252
247
339
370
362
359
324
280
274
313
281
365
262
306
307
277
237
261
255
320
326
319
273
327
294
304
332
244
309
268
329
343
352
325
326
241
219
327
359
323
297
255
387
362
254
329
345
318
189
301
313
363
278
422
251
367
348
342
311
311
387
331
342
329
225
330
348
302
364
262
320
336
366
264
349
345
325
269
291
252
329
318
354
336
322
227
373
281
288
225
345
368
307
392
381
290
381
305
384
410
324
432
312
300
299
249
228
301
381
252
211
258
320
300
394
347
367
313
302
322
309
351
286
242
254
326
343
211
356
286
272
324
326
311
272
302
297
346
338
223
339
282
363
282
212
329
359
287
337
282
377
203
316
350
314
368
274
268
284
306
245
284
393
281
276
266
287
276
346
385
265
277
321
354
308
390
283
260
357
320
253
306
292
342
384
246
313
369
275
344
388
306
273
374
260
283
303
295
336
314
296
342
337
383
260
289
275
259
343
277
371
290
302
284
351
180
312
287
324
329
237
368
408
285
382
283
288
389
355
307
359
219
277
396
243
334
351
337
248
290
317
417
325
327
384
304
373
250
428
312
286
334
266
338
307
344
283
290
371
307
351
351
384
264
288
323
295
319
314
342
343
330
289
329
340
289
333
278
353
387
322
288
303
350
294
317
342
377
326
332
407
271
292
345
370
369
291
317
359
351
289
319
293
330
328
287
377
333
359
394
287
351
291
309
315
262
323
360
276
248
348
227
323
209
396
270
412
322
365
359
376
304
342
361
234
315
342
254
304
306
350
382
373
325
283
306
321
307
303
322
362
342
216
321
300
309
305
296
318
313
365
316
347
342
326
281
287
300
378
292
319
215
216
374
340
306
292
268
360
366
332
267
317
368
376
310
281
320
303
298
343
284
330
333
314
363
325
340
302
189
353
275
305
307
239
360
362
307
188
327
232
368
360
242
366
315
318
257
296
351
326
437
328
248
323
206
383
299
258
323
345
318
333
322
306
242
275
324
374
270
298
245
269
303
379
342
353
301
365
289
328
321
272
268
329
384
274
334
361
357
345
349
293
334
415
284
394
316
336
201
360
371
238
254
359
294
304
350
253
358
288
289
272
168
344
300
246
296
311
317
257
369
337
282
334
365
324
380
362
316
299
245
230
366
361
355
311
327
333
411
373
365
388
295
314
266
356
342
366
283
339
358
374
239
338
238
348
238
250
423
361
239
354
269
331
322
228
400
297
313
274
387
310
313
314
253
254
258
243
332
240
383
277
353
366
384
318
295
313
335
297
432
354
303
270
299
292
294
300
312
292
334
334
361
338
199
257
275
231
354
253
314
294
322
321
331
376
224
390
349
336
333
385
290
349
296
323
301
319
333
297
297
349
359
302
416
279
254
292
354
265
431
285
325
280
317
342
337
384
319
278
350
247
248
187
337
364
385
392
304
414
292
296
332
349
281
282
338
328
345
261
357
290
336
360
316
311
363
346
373
283
289
358
353
331
411
347
335
271
328
301
261
334
309
313
228
392
354
284
268
403
338
358
411
369
253
327
364
211
307
318
280
283
328
299
294
332
311
263
311
297
225
234
253
371
294
236
340
391
278
369
330
343
295
273
251
374
338
353
241
339
280
260
313
295
362
286
301
322
316
324
264
334
314
327
343
368
269
303
362
326
369
376
298
286
271
388
300
285
330
322
315
296
394
365
365
357
330
221
283
273
313
291
263
326
323
265
221
320
276
269
261
296
231
322
321
260
341
281
339
372
243
267
306
283
305
361
302
369
347
304
252
287
297
302
322
350
294
399
328
382
260
381
291
228
244
346
335
344
399
308
335
349
333
265
341
369
264
333
236
314
360
358
357
334
293
316
291
411
308
260
365
281
339
273
373
298
203
242
317
349
349
369
342
254
327
282
286
308
253
238
252
313
368
263
341
356
319
403
276
276
268
257
311
314
322
293
270
309
347
266
291
345
296
340
398
341
285
345
353
327
332
350
226
275
355
265
336
294
378
283
337
298
205
300
338
314
291
361
304
402
355
355
236
320
329
308
312
396
247
253
296
332
387
328
306
385
424
298
310
364
320
319
331
316
312
373
290
366
318
255
300
371
350
280
416
421
286
362
310
270
311
246
390
273
352
367
323
345
301
341
343
300
354
305
354
292
369
324
352
326
302
345
336
349
346
293
313
362
385
287
334
374
339
317
276
260
328
235
288
334
261
260
336
314
333
335
337
327
308
321
336
255
283
424
325
237
363
302
248
328
360
327
315
364
391
386
309
313
264
232
308
287
342
355
348
361
328
304
274
370
340
307
294
387
301
215
313
270
270
308
304
208
344
241
267
322
259
392
349
372
360
257
288
317
280
276
330
293
249
373
343
302
306
280
300
296
340
311
380
384
469
268
338
329
289
289
364
269
320
343
396
366
343
357
361
320
235
291
315
345
282
278
362
204
309
385
320
321
301
387
360
314
354
297
308
218
362
366
294
310
360
274
338
350
303
311
343
292
305
254
349
280
331
308
313
339
263
328
274
359
282
298
327
287
319
294
322
366
310
380
356
299
318
333
357
278
330
323
346
389
319
267
211
221
259
376
355
284
275
341
319
299
365
325
259
249
278
362
304
328
291
304
280
359
322
324
283
282
324
378
316
309
371
418
301
266
328
230
290
347
284
314
284
275
263
356
318
361
271
244
335
347
304
301
297
300
297
313
350
264
438
338
348
335
366
245
304
260
381
233
424
319
322
335
368
282
271
378
371
341
329
183
363
264
296
282
298
331
374
314
300
346
328
316
336
299
300
321
329
337
340
299
353
391
366
270
395
360
376
277
271
270
329
319
328
273
267
306
317
381
312
272
241
287
274
369
288
241
277
308
308
281
336
265
262
296
268
279
377
378
353
356
339
266
349
366
339
355
334
359
301
309
354
345
277
352
328
271
302
289
342
277
285
353
439
362
270
333
326
266
292
379
329
266
304
253
294
334
322
320
383
290
349
328
343
279
272
308
393
295
406
291
368
322
290
255
306
332
358
348
287
348
348
340
301
298
329
295
270
385
308
236
193
324
298
308
395
384
355
297
356
368
240
312
325
330
278
435
295
257
291
200
324
285
294
340
239
394
250
328
261
368
265
301
338
281
264
392
189
393
348
381
433
235
299
320
375
350
309
380
306
336
376
250
312
295
402
308
293
325
313
338
360
240
294
342
313
237
300
312
278
357
316
304
232
339
384
285
273
301
294
338
328
343
339
331
362
343
363
313
317
294
322
311
361
337
369
294
352
254
398
341
309
323
316
337
359
266
305
322
305
297
381
343
262
327
209
336
373
317
235
300
371
205
230
286
282
314
354
294
334
295
314
289
253
320
336
328
332
302
402
288
327
347
262
307
292
271
322
336
316
294
289
400
318
271
299
354
338
219
342
329
329
308
303
389
377
273
360
350
326
295
247
338
384
226
283
274
229
346
303
362
228
347
367
398
259
293
334
288
375
329
353
334
348
195
328
262
344
359
354
401
345
305
328
369
276
365
384
295
282
347
267
225
335
320
330
225
295
337
299
376
372
378
321
271
289
343
348
394
311
366
311
375
270
361
289
274
370
250
195
305
323
255
245
206
346
361
333
377
319
272
317
311
314
314
334
268
237
332
341
339
290
295
362
272
362
316
315
351
308
306
265
341
300
346
315
286
414
305
356
287
313
333
244
277
332
314
329
357
252
319
280
341
277
290
348
324
402
272
245
386
396
320
299
324
308
395
329
290
400
335
366
352
436
346
310
294
380
255
321
345
274
380
281
360
260
325
258
332
297
298
364
294
255
222
282
268
358
348
360
358
241
290
327
289
283
332
289
293
314
270
248
303
281
240
306
336
262
356
333
387
329
306
303
285
288
371
285
290
299
342
349
282
376
339
316
365
305
265
289
353
325
372
203
275
331
269
374
330
347
334
263
324
365
278
311
205
329
337
321
331
346
328
355
371
413
312
354
299
361
365
333
326
304
290
331
303
362
323
292
362
290
420
312
272
304
240
278
348
225
282
294
295
304
319
336
394
347
261
251
285
331
398
284
312
329
290
336
352
324
341
310
380
342
294
268
324
224
300
357
288
267
337
320
307
305
345
309
307
324
341
401
380
286
410
241
298
390
346
362
326
299
253
377
276
290
283
343
302
320
303
371
282
343
352
265
286
276
287
309
264
313
253
421
250
272
334
324
227
268
335
247
244
172
408
331
330
369
400
303
319
298
354
313
310
375
298
291
391
332
258
226
340
380
354
350
340
257
341
297
306
384
292
310
246
319
317
331
266
357
302
354
231
177
378
298
343
269
321
356
307
209
304
328
384
349
286
239
301
243
303
302
283
319
263
303
292
326
347
396
229
336
390
347
325
352
389
323
297
347
355
301
239
307
337
278
348
326
351
274
273
347
330
291
280
278
258
340
314
255
274
262
330
420
356
332
286
382
347
419
300
296
250
328
292
325
401
313
348
342
373
333
298
307
266
329
368
317
276
311
360
364
215
305
307
345
306
217
332
357
364
336
272
347
249
343
426
321
334
303
333
299
343
297
315
349
402
278
264
255
332
424
270
356
273
299
292
227
392
300
341
325
356
356
239
256
339
284
341
335
370
349
340
296
389
374
305
421
227
290
382
395
319
275
299
367
347
297
364
324
317
310
244
261
357
267
287
283
282
323
334
254
289
244
199
348
386
279
291
319
304
293
340
306
292
372
320
297
254
312
347
380
335
310
238
316
325
314
346
305
326
357
299
311
260
304
345
326
261
369
299
269
278
376
267
270
328
316
290
277
385
321
389
358
311
361
301
343
365
361
341
336
358
297
320
256
323
311
385
392
317
282
329
325
358
386
362
279
290
313
197
411
215
348
240
234
291
210
403
265
399
402
299
288
305
365
328
246
268
367
351
350
324
331
261
196
252
342
311
317
278
345
342
269
349
308
348
357
374
306
298
315
347
331
257
249
299
257
298
323
351
329
279
276
317
277
250
312
270
441
303
336
393
307
313
308
244
266
280
340
339
338
302
309
240
332
278
312
283
316
265
296
300
260
369
321
296
236
353
346
251
291
293
286
364
346
278
366
297
286
388
361
356
332
328
234
361
400
323
241
357
297
248
283
315
320
289
296
312
263
274
277
340
352
267
336
237
344
358
296
307
333
180
195
314
300
306
279
327
277
368
253
359
291
332
321
330
326
285
332
362
260
300
347
333
286
318
325
265
301
354
340
254
322
284
340
277
323
352
356
316
372
344
331
378
294
334
332
353
320
319
267
318
395
355
357
308
248
278
200
338
313
212
295
373
248
384
341
273
312
404
378
282
291
275
379
337
334
285
326
315
290
279
335
301
251
306
312
233
370
318
274
318
354
296
417
341
387
366
300
343
350
269
320
329
332
373
311
337
357
242
384
348
312
308
311
339
344
397
330
241
287
332
259
273
423
403
233
386
303
331
255
284
326
401
335
293
296
297
259
228
309
236
331
332
367
316
275
381
372
266
318
351
273
285
365
284
217
267
238
225
316
216
318
326
335
271
446
342
391
287
352
328
253
306
374
392
290
377
281
296
327
320
333
292
301
348
319
297
270
370
330
406
287
319
312
347
327
364
238
290
294
280
302
261
320
303
358
282
321
394
344
349
367
365
345
375
370
258
372
326
244
315
331
317
268
364
290
338
355
286
276
276
334
346
321
260
301
321
343
309
296
294
312
290
292
267
359
392
197
254
344
247
222
310
313
368
288
256
412
249
278
380
340
357
360
282
382
294
396
380
389
306
277
319
334
314
370
338
209
381
395
276
323
275
352
350
398
368
290
352
262
278
379
401
311
341
284
316
272
322
320
307
283
301
284
299
288
278
353
310
398
326
331
378
295
291
360
354
293
308
399
318
323
362
325
396
304
304
291
317
325
377
353
294
311
292
356
322
246
298
291
315
324
314
333
294
300
325
366
339
307
352
323
232
314
339
363
305
358
326
279
349
359
295
362
323
316
304
253
273
371
330
351
308
325
310
349
333
344
303
301
346
256
352
338
275
278
356
311
310
267
380
406
273
355
318
258
372
323
268
297
320
359
284
332
331
288
320
376
333
283
338
314
280
302
347
260
353
243
380
332
381
278
332
266
331
274
297
307
336
361
390
312
352
300
376
309
250
264
276
299
293
346
332
423
376
324
282
353
318
186
276
333
273
369
324
339
315
283
395
314
317
280
325
207
325
307
257
279
236
312
326
281
316
234
281
350
372
268
351
306
336
275
323
330
235
320
406
238
366
316
290
302
344
280
256
291
295
314
267
302
290
312
340
354
395
380
273
314
251
306
345
248
375
328
363
351
288
374
363
350
354
298
394
313
338
271
360
284
358
310
366
439
354
345
343
293
249
303
398
280
264
361
368
374
284
260
326
337
324
347
290
308
288
336
291
323
344
303
277
281
271
325
344
366
352
356
289
349
278
360
333
289
397
280
329
297
306
328
330
332
292
280
319
404
307
322
276
312
262
292
249
250
278
313
347
378
372
384
269
307
368
271
332
368
291
265
301
344
328
249
246
303
301
310
308
246
373
254
279
290
327
290
356
338
324
231
349
343
248
331
314
253
310
325
368
350
319
205
258
353
332
336
385
295
367
328
264
301
408
330
259
299
318
313
213
357
346
286
336
303
191
312
382
263
389
366
399
349
329
408
302
330
333
282
378
274
234
344
256
297
301
302
392
259
451
352
299
271
322
376
387
310
323
352
325
329
273
313
333
400
306
312
340
312
378
335
336
235
257
307
256
409
371
342
232
296
348
325
368
323
348
312
361
287
345
311
353
254
324
285
315
323
319
307
297
297
282
258
336
261
342
255
316
266
263
271
328
293
319
236
198
380
254
378
273
289
280
191
349
338
375
329
336
304
306
350
296
241
347
327
298
314
269
320
342
360
333
205
259
320
272
354
319
360
376
335
250
290
304
276
290
258
324
340
269
313
291
306
272
351
309
325
298
260
292
307
347
270
388
347
280
346
397
297
280
274
284
345
265
363
230
341
371
314
402
264
357
342
360
349
348
326
330
324
345
301
330
347
368
418
300
371
292
300
270
315
323
377
351
368
323
278
306
314
303
230
276
339
328
295
299
312
350
349
350
327
345
346
348
344
341
299
245
221
350
262
202
230
213
406
340
385
328
352
321
339
320
314
365
433
410
172
334
311
309
301
220
286
295
404
260
342
368
266
306
239
286
237
278
286
317
241
301
335
348
300
264
336
266
365
317
390
333
320
272
281
254
330
252
340
319
310
339
344
402
304
347
324
318
305
317
337
409
326
312
387
276
348
334
310
339
311
378
375
339
283
278
342
306
341
283
356
286
290
299
239
368
301
326
287
375
303
346
305
355
309
300
301
288
309
294
263
322
368
292
325
270
371
354
264
323
341
417
331
337
356
371
300
330
339
295
265
305
304
256
291
257
312
347
345
244
297
308
336
302
307
379
396
300
236
353
308
341
375
358
272
287
368
314
320
349
282
378
353
295
290
278
324
316
327
307
385
348
277
342
326
290
336
351
290
380
316
332
275
386
310
297
294
321
316
392
331
377
338
276
315
283
243
350
291
300
266
355
293
316
274
331
269
303
380
324
218
303
310
292
312
263
353
415
345
317
359
310
318
373
342
361
357
231
338
288
252
265
335
356
330
378
258
254
283
289
285
305
356
323
293
334
350
264
312
382
291
241
272
300
363
359
294
399
341
265
267
288
310
330
420
271
265
369
387
368
328
328
386
245
278
351
295
370
387
336
280
333
337
293
287
346
299
322
407
346
290
376
167
173
336
317
353
327
332
266
299
413
338
262
323
246
299
343
286
265
385
306
311
234
327
290
368
336
330
282
327
337
386
307
359
372
263
407
368
268
216
303
309
371
331
342
297
294
302
411
322
373
378
365
354
291
280
317
249
321
351
349
314
350
297
264
205
325
301
333
296
338
397
290
229
379
243
356
263
327
385
397
398
260
392
273
378
232
235
327
301
334
353
315
304
340
358
335
261
339
298
309
326
299
232
322
313
313
273
240
412
377
289
325
352
241
347
307
323
237
331
248
262
298
349
320
336
325
296
364
319
374
281
395
314
321
314
359
390
241
345
251
263
298
326
320
317
258
306
369
331
350
245
278
307
310
337
347
322
338
311
339
328
288
337
346
300
349
309
368
381
323
299
364
294
267
289
356
314
308
296
308
283
351
193
333
320
262
351
309
381
368
318
262
242
252
309
263
361
285
245
305
382
252
323
387
296
288
212
313
276
202
296
289
263
304
337
374
411
337
380
307
351
360
306
339
321
306
266
264
421
321
346
307
314
237
355
356
300
264
375
298
420
301
384
327
306
352
349
255
315
314
376
369
298
268
322
319
303
374
403
208
358
263
247
247
336
355
351
298
321
260
289
365
326
295
404
298
308
313
372
410
376
183
320
294
264
291
265
369
365
280
333
256
352
273
194
304
290
317
370
284
324
379
321
359
244
319
305
305
335
372
385
357
349
313
201
327
379
349
352
293
379
368
334
310
361
243
301
314
238
375
381
260
341
251
278
240
293
324
319
309
326
317
347
248
306
298
274
281
313
300
327
296
260
283
304
338
315
308
320
344
365
373
314
467
233
368
318
332
416
351
360
359
342
336
349
286
377
378
331
363
299
267
316
294
334
321
333
364
224
319
305
297
347
269
373
261
352
237
423
364
303
298
323
334
239
389
232
361
348
279
352
296
309
342
430
419
294
360
238
336
379
275
289
230
363
260
364
321
254
343
236
350
337
257
351
306
306
322
334
342
266
346
323
254
300
364
307
244
412
314
285
301
295
310
401
307
324
274
302
419
319
327
318
302
269
373
368
396
366
391
253
309
299
311
274
383
298
194
385
346
254
281
292
382
266
386
337
352
315
315
338
322
247
232
316
339
336
278
301
266
245
318
279
246
341
281
270
194
366
326
324
292
347
358
381
334
349
297
364
253
320
305
260
276
222
315
344
314
343
332
356
212
343
301
401
347
248
366
327
228
407
344
295
267
235
307
294
263
310
261
382
224
321
348
312
263
417
321
357
280
272
230
349
300
325
319
271
302
352
309
259
265
332
370
281
369
293
296
348
339
401
280
413
339
258
215
340
386
289
309
318
418
365
342
281
313
295
350
308
282
303
316
332
318
282
295
290
279
273
267
279
345
356
336
331
264
275
323
339
325
329
394
260
256
300
360
372
354
324
302
270
301
363
371
291
360
367
260
331
273
315
370
350
366
281
333
396
351
353
382
311
237
275
315
338
255
346
253
344
255
315
277
367
261
264
340
378
360
309
394
308
295
308
344
316
361
239
341
271
262
362
344
321
410
290
296
265
314
350
353
309
358
292
330
322
306
288
254
211
197
351
367
301
309
327
432
359
322
249
267
334
339
324
358
265
300
298
407
316
381
361
286
370
246
342
320
389
313
358
289
355
306
224
182
341
392
345
364
293
344
321
333
384
362
304
380
300
232
328
361
382
302
267
296
247
272
377
341
234
317
286
260
286
411
326
360
321
347
381
290
301
236
314
218
238
423
316
355
381
319
340
236
252
300
299
359
229
373
285
389
254
277
292
313
319
220
323
284
317
331
370
283
199
267
331
297
264
365
298
281
328
246
324
336
290
357
299
383
385
351
302
238
417
365
255
299
310
270
311
333
274
275
264
338
368
241
285
319
287
363
390
310
293
235
338
298
296
284
241
356
325
332
331
241
371
346
294
300
406
364
264
327
234
367
325
336
343
324
377
311
308
229
301
265
334
344
351
197
257
297
239
346
269
350
316
322
278
284
292
235
329
321
284
304
343
304
332
232
339
303
292
361
319
282
286
379
268
376
294
280
298
335
335
317
374
278
238
356
344
256
274
305
354
419
245
364
360
243
347
373
305
357
284
280
311
273
320
288
328
199
348
340
240
284
374
367
284
346
383
338
300
252
382
329
272
350
312
272
340
229
259
343
303
301
395
357
245
247
215
281
312
338
269
373
316
364
283
347
238
315
323
348
252
270
296
353
451
307
268
355
390
256
327
243
312
325
302
387
293
317
305
230
325
331
262
270
343
234
259
329
350
312
356
272
308
353
301
301
367
261
301
321
334
316
358
293
365
366
343
320
264
348
340
415
362
350
284
347
266
309
326
335
269
330
369
329
338
220
339
332
374
337
303
281
329
333
343
339
270
355
303
242
367
310
277
361
255
302
341
314
361
309
297
359
295
292
343
314
252
275
293
340
297
365
236
325
296
347
336
336
279
333
322
275
348
337
254
314
308
312
271
309
334
350
368
265
256
344
292
250
306
340
308
281
271
285
249
335
237
230
330
388
301
222
287
312
275
332
332
393
311
315
304
317
414
315
295
328
313
281
294
350
274
354
255
313
340
304
319
287
308
287
336
365
289
308
322
316
321
240
388
235
284
321
308
323
323
363
387
354
345
328
346
335
294
326
303
235
282
316
264
254
294
327
301
359
210
307
354
321
271
344
287
379
313
340
265
304
371
276
428
318
348
290
313
324
288
351
305
335
394
349
266
327
282
288
370
325
247
258
329
377
271
263
350
259
352
208
360
330
278
300
255
344
359
366
317
330
287
398
225
261
256
281
271
362
362
339
377
258
264
275
339
369
274
324
248
356
264
379
352
350
307
305
356
224
390
326
319
277
364
321
347
304
302
347
363
279
325
324
253
298
311
388
237
339
288
399
329
375
338
221
334
346
335
316
353
249
411
439
348
350
376
306
332
342
337
318
311
325
308
298
264
339
265
282
419
394
290
344
285
332
324
339
288
330
323
300
317
308
286
330
285
332
314
326
449
297
367
307
248
280
366
289
334
280
309
352
353
278
285
348
351
372
322
316
364
306
338
299
306
286
276
312
326
241
300
372
324
369
337
304
371
334
333
290
336
308
246
292
279
354
352
389
247
345
302
205
280
264
308
266
330
276
332
263
338
302
169
277
265
376
321
261
349
305
230
360
288
314
357
310
306
253
333
267
308
286
353
386
366
223
181
308
343
276
305
356
328
305
287
288
308
318
310
309
281
254
290
381
221
367
342
314
370
333
238
249
316
320
285
307
231
314
350
338
311
334
325
375
298
275
274
328
401
360
304
307
338
320
314
273
364
279
289
254
311
304
356
361
347
337
230
238
278
375
203
351
340
326
303
250
318
316
210
315
263
397
270
354
338
368
362
396
395
355
375
371
296
356
309
287
317
315
277
344
338
368
245
356
317
367
370
289
363
328
378
324
244
316
245
304
282
327
303
313
312
313
310
284
253
351
380
365
331
300
256
356
308
369
316
300
299
344
304
319
308
280
293
317
300
342
343
308
244
285
326
356
290
338
287
242
376
327
268
236
417
357
323
278
407
325
333
280
289
285
306
283
270
233
382
275
235
286
258
335
340
361
271
276
265
291
278
311
319
219
279
329
332
236
316
359
314
208
364
271
330
361
355
298
301
339
314
349
303
274
373
351
354
338
303
295
286
401
309
314
310
239
345
252
305
268
262
300
304
378
246
322
315
178
359
326
272
290
276
346
346
315
312
296
335
335
300
395
356
349
228
309
253
304
311
450
313
270
390
289
361
313
302
305
249
326
292
278
381
367
318
320
257
311
318
309
244
351
319
376
294
296
343
309
307
416
267
365
329
324
325
377
371
305
215
433
436
392
337
309
303
385
351
280
206
298
342
338
272
318
271
320
376
316
348
379
333
289
326
417
302
337
327
315
350
326
340
383
290
364
390
365
335
294
269
265
295
262
374
331
274
349
263
290
323
334
370
306
231
304
271
298
350
295
295
278
373
348
252
291
318
302
329
401
313
310
255
301
337
280
323
428
327
326
300
305
319
299
379
360
307
242
332
286
277
324
375
331
343
307
340
298
311
368
285
369
396
369
354
306
330
266
285
323
254
290
375
333
367
348
291
336
359
341
350
327
321
203
399
240
325
357
313
342
317
320
337
251
310
319
342
275
318
318
221
353
372
286
330
261
375
402
314
344
298
202
264
304
376
288
380
296
389
302
372
269
348
289
309
374
322
261
344
301
342
366
265
346
324
347
262
339
375
308
333
370
279
366
393
290
373
225
330
231
366
282
362
371
182
369
351
275
259
306
317
336
339
254
283
187
246
269
327
279
307
301
360
244
260
233
354
290
355
313
308
304
360
373
357
324
285
398
331
373
324
363
306
310
306
347
284
315
417
284
257
338
361
226
302
269
388
356
356
405
362
228
315
305
301
210
250
302
344
242
290
217
277
305
351
270
302
317
382
295
366
245
335
249
319
216
318
338
289
286
350
322
304
303
255
268
329
363
324
269
351
344
301
339
299
207
309
330
378
335
346
312
331
353
296
260
298
298
348
325
278
349
312
340
404
291
329
360
265
398
258
270
308
285
302
372
311
221
358
316
394
248
259
257
416
333
324
318
296
270
267
331
324
200
365
267
326
365
256
314
278
306
341
271
388
349
275
309
277
278
286
335
371
303
345
409
353
312
222
295
303
385
344
287
343
270
281
335
334
216
246
350
345
320
390
311
313
350
288
248
288
333
346
272
370
359
295
368
309
250
346
270
284
281
261
304
306
386
358
316
386
275
266
227
358
355
313
284
326
323
367
284
318
310
227
280
300
342
304
236
376
263
272
333
293
236
289
385
246
328
297
342
278
275
336
282
289
288
314
319
337
303
340
306
260
284
356
312
320
284
342
310
288
312
306
318
357
307
365
308
377
308
332
264
258
427
252
287
307
379
277
336
312
310
310
247
319
384
289
319
289
271
297
345
272
320
325
397
281
215
384
246
255
306
303
294
353
295
325
269
305
299
312
223
308
377
285
291
304
272
323
340
364
253
341
315
353
337
285
307
348
300
281
304
322
310
342
374
368
322
339
350
317
245
260
278
329
267
282
323
337
321
311
317
224
256
307
313
228
350
314
261
284
319
351
306
356
318
388
353
364
323
335
362
284
383
301
354
307
298
304
361
196
332
324
386
387
332
363
327
347
232
267
353
281
401
300
294
319
368
310
327
301
408
325
306
274
377
380
306
335
387
284
230
232
285
263
340
377
315
351
290
343
341
336
300
314
367
363
382
316
289
258
388
255
320
307
415
282
292
307
322
302
303
344
320
362
235
286
305
252
317
322
339
361
319
271
331
311
283
318
371
282
371
240
361
312
323
259
364
361
354
297
284
299
305
324
407
402
284
398
281
301
315
268
317
369
298
321
261
303
330
333
286
284
297
300
333
424
296
423
329
295
299
318
354
303
330
391
260
228
265
346
329
283
404
326
313
265
263
283
378
306
275
308
354
305
283
301
291
306
314
423
296
331
322
300
310
287
376
237
319
261
253
314
322
277
275
296
298
256
342
303
306
358
404
299
245
365
358
380
295
322
339
257
273
261
292
380
315
286
186
285
362
243
352
342
327
295
338
262
279
332
337
333
230
339
280
317
291
270
268
311
350
356
291
278
249
366
190
420
277
356
356
282
363
321
336
318
354
414
187
354
367
351
330
299
376
299
364
306
267
299
331
309
314
257
437
275
280
325
292
292
378
234
307
232
302
306
321
362
353
262
253
337
255
342
260
269
290
247
330
343
243
296
252
310
262
339
325
347
273
303
293
305
327
278
363
237
326
282
311
362
300
331
350
334
352
319
278
263
376
275
217
334
300
353
226
359
339
316
311
272
261
331
383
303
287
229
303
306
288
320
267
386
378
335
244
392
313
323
314
342
379
278
318
323
339
308
300
221
314
282
257
381
310
356
344
323
291
320
291
290
364
265
277
260
332
373
341
368
325
301
319
311
301
315
305
289
253
266
353
378
322
353
311
328
239
280
277
294
338
375
358
318
383
341
375
336
304
337
249
339
332
352
300
274
297
405
339
244
247
290
204
284
404
394
283
273
334
304
329
232
386
286
272
301
331
306
315
317
326
344
375
349
380
279
345
354
312
302
314
325
286
270
350
366
308
318
318
267
328
285
346
334
348
353
397
273
351
309
344
361
357
275
313
234
349
290
324
322
333
255
269
258
361
330
326
339
284
382
335
272
385
371
254
266
398
346
232
335
353
275
406
313
202
334
392
294
280
269
227
287
343
227
256
300
265
350
347
257
325
363
334
283
324
401
321
282
266
250
306
397
272
326
257
259
344
327
336
249
296
366
334
346
369
244
280
267
314
261
273
289
318
300
343
279
328
277
284
260
306
314
174
388
326
346
292
375
362
358
332
298
344
335
295
359
244
329
345
287
280
270
346
267
300
387
358
228
249
312
289
364
349
408
395
318
330
352
335
281
358
384
245
287
317
272
287
421
379
314
271
319
384
262
331
238
311
285
326
355
457
340
308
360
331
265
382
309
288
327
328
364
338
307
298
382
330
292
380
403
339
401
363
268
303
310
462
360
307
350
365
407
284
253
254
298
413
299
311
219
310
344
267
347
340
230
318
401
264
376
308
300
343
379
304
338
265
219
339
346
290
254
248
329
370
280
352
269
303
327
252
365
342
353
367
312
330
408
300
309
356
241
270
329
358
322
270
350
286
337
367
313
287
335
302
303
331
335
321
282
310
346
365
232
279
353
217
326
288
281
379
290
176
321
297
300
240
288
276
387
333
289
327
253
332
293
254
371
268
295
311
378
368
347
330
261
326
325
311
263
374
322
285
291
349
311
271
331
347
270
328
257
324
302
398
247
334
222
341
304
270
351
292
265
268
289
370
426
293
271
401
338
310
256
285
324
318
314
381
393
339
273
315
310
281
296
396
300
216
308
165
330
242
300
382
230
315
336
296
249
375
414
384
288
240
379
283
311
336
390
236
302
317
349
292
213
292
323
205
394
300
324
251
311
359
250
283
331
333
340
250
341
340
321
283
258
252
279
252
340
408
331
315
372
331
279
259
273
271
273
327
370
300
315
346
342
244
303
346
322
310
276
336
378
337
341
281
246
323
320
247
306
340
301
348
269
349
380
339
283
383
319
377
392
350
397
296
313
360
265
353
293
341
241
351
333
362
367
303
338
335
266
363
335
309
264
337
377
308
311
391
291
271
358
345
304
273
269
304
231
260
272
305
297
359
252
296
345
276
392
370
358
288
325
304
316
313
292
416
308
374
308
380
347
329
279
286
304
314
288
340
312
235
305
313
345
395
428
309
300
295
392
304
399
285
366
269
318
276
341
370
307
284
336
372
310
276
340
262
375
388
322
344
372
397
252
284
300
380
351
325
302
324
349
325
334
274
285
327
221
327
294
305
301
381
302
346
355
292
311
359
287
330
359
366
310
322
286
320
341
340
362
451
202
339
283
297
328
306
299
313
256
297
247
272
271
312
252
239
285
292
376
289
381
322
316
264
351
389
358
401
296
307
268
418
377
383
292
316
281
375
351
324
291
278
279
305
257
308
297
339
329
347
350
308
290
308
320
326
372
209
337
331
307
286
265
368
304
337
271
263
308
359
371
387
312
341
301
306
360
307
234
311
275
305
311
321
321
200
277
263
382
295
317
355
284
324
336
341
317
233
355
285
388
296
398
202
330
315
392
349
339
249
334
306
338
308
288
297
265
345
400
356
430
192
384
334
220
316
317
323
286
285
227
340
316
351
363
291
291
347
261
356
271
225
332
255
298
299
280
240
395
341
348
363
325
249
319
292
315
200
338
373
294
297
354
325
286
247
315
328
302
321
323
273
311
288
217
329
388
238
417
324
422
336
255
338
348
303
281
352
343
350
401
302
281
367
414
271
355
331
302
325
364
281
331
340
221
396
293
301
274
278
304
235
395
310
337
314
301
275
388
314
368
285
293
372
361
355
364
285
326
392
355
344
253
351
370
393
349
371
286
342
304
267
275
318
285
309
290
357
285
286
280
360
344
287
339
322
315
321
418
312
399
391
324
413
173
367
211
300
287
244
310
292
321
311
363
369
285
250
284
285
388
257
360
385
350
374
308
303
298
327
329
374
327
286
396
272
298
363
335
316
310
343
238
390
338
344
378
276
257
312
300
317
295
288
298
368
337
349
317
298
324
188
398
269
370
264
243
287
341
347
376
359
280
390
364
299
342
340
250
220
336
311
292
312
298
380
352
258
315
258
271
335
257
286
280
264
347
314
303
320
283
353
283
354
318
283
397
353
339
261
338
319
313
311
327
346
305
236
334
279
329
324
326
374
381
235
224
364
321
319
276
350
362
327
331
319
341
314
302
355
284
274
267
328
359
327
320
387
333
335
223
407
269
424
300
273
269
335
322
286
265
387
276
356
346
300
324
326
385
254
380
311
306
299
255
301
352
308
394
297
314
388
336
302
276
323
261
333
283
308
325
286
241
392
335
332
360
273
435
329
309
367
300
229
379
254
324
315
328
401
303
305
287
332
268
357
320
310
373
265
321
305
224
374
305
303
416
439
276
373
345
357
331
285
331
373
240
310
298
262
310
263
360
281
289
334
298
288
389
314
259
311
315
290
361
288
313
316
383
309
295
306
239
271
389
379
265
337
329
265
265
331
269
293
293
321
335
276
296
352
349
327
288
355
318
294
337
332
378
275
193
324
341
330
354
360
264
380
312
337
384
334
271
283
387
386
313
327
319
282
242
316
362
381
309
280
281
349
378
254
313
253
282
355
307
224
246
282
315
299
357
337
300
353
306
349
290
290
297
283
335
332
331
271
232
297
349
262
371
347
325
313
374
229
343
311
231
278
336
313
324
306
321
399
294
281
301
363
260
306
277
326
359
377
287
222
291
266
297
392
369
241
305
345
348
355
320
248
284
316
309
318
358
284
354
239
288
362
345
327
401
381
302
341
295
392
284
296
325
342
268
255
381
411
295
368
295
286
313
259
418
350
301
298
342
304
360
245
328
388
314
378
290
425
300
325
289
356
326
321
328
275
292
342
279
273
357
337
265
289
323
338
377
301
346
427
313
373
205
344
243
225
362
326
357
391
333
344
334
306
427
321
275
329
255
234
335
345
336
362
281
213
286
254
258
305
403
375
272
284
300
320
301
302
318
362
358
250
315
342
327
266
312
250
334
331
279
362
386
319
299
327
358
305
263
260
314
333
302
333
337
313
366
287
330
336
264
296
315
339
312
350
338
384
309
310
292
244
273
306
363
360
302
302
349
297
283
341
277
320
360
358
317
343
358
304
337
396
302
329
390
308
221
332
324
322
296
317
298
330
296
382
270
280
300
290
230
282
368
278
342
365
306
343
423
288
280
331
299
370
308
374
280
341
410
336
323
341
241
316
333
297
374
353
365
271
302
374
319
348
331
374
381
363
238
332
256
283
370
297
323
327
354
308
314
408
245
332
360
334
383
228
295
299
266
296
400
267
249
412
356
293
315
280
299
369
343
250
289
326
306
327
315
358
281
300
340
337
281
446
268
395
396
335
328
301
319
323
306
387
302
403
270
354
271
317
358
207
277
416
273
365
323
378
328
306
309
249
283
307
411
401
266
326
281
330
341
391
359
332
349
257
356
263
255
317
306
290
325
325
367
351
350
292
364
349
316
146
299
341
294
396
324
377
223
282
415
389
310
308
381
284
328
317
328
336
340
350
283
352
358
302
285
377
274
240
226
380
355
357
368
226
364
338
363
311
292
254
306
308
291
331
346
398
325
295
332
299
366
302
306
264
322
355
352
240
318
342
337
253
320
262
328
342
417
310
232
345
269
253
317
293
279
227
404
323
380
272
396
362
318
254
328
302
354
315
335
245
292
281
367
295
314
298
314
269
350
303
391
396
339
307
350
277
300
321
269
330
400
348
308
439
282
281
254
293
320
280
313
237
352
243
271
294
295
335
303
373
339
274
320
389
257
434
410
353
293
252
300
288
295
307
307
365
329
378
286
222
297
345
226
297
370
334
358
403
249
241
253
347
309
276
343
325
322
191
321
351
355
291
336
267
371
258
330
311
279
344
326
358
268
265
382
291
202
391
331
296
334
314
248
371
277
362
306
380
296
301
265
250
320
382
236
340
342
261
361
317
253
331
366
263
332
314
319
271
337
342
344
265
360
314
335
367
301
307
357
324
278
304
363
357
237
303
345
326
363
276
281
355
283
340
296
283
307
293
300
266
383
353
288
299
263
288
262
377
237
275
294
292
338
353
305
284
306
232
206
339
395
397
363
345
260
305
301
370
320
266
251
230
357
405
313
357
341
304
239
288
350
337
287
348
300
286
291
372
287
337
367
274
361
245
322
417
330
300
420
247
304
310
389
256
317
330
300
350
352
309
411
216
383
373
305
349
297
326
249
392
376
355
300
273
246
376
255
240
362
326
273
325
257
336
202
276
309
268
314
416
367
261
263
282
317
280
322
348
292
336
243
328
369
361
339
368
383
321
383
295
416
337
338
340
316
299
254
336
323
381
337
364
298
357
311
379
373
344
302
355
268
340
337
389
270
365
324
308
296
328
379
401
322
344
281
315
352
207
330
353
321
335
309
362
304
354
342
409
305
275
283
334
355
393
315
397
347
338
321
315
251
313
278
283
239
371
277
340
310
279
325
305
309
280
264
331
349
431
359
342
297
261
294
280
356
394
297
271
366
298
371
356
285
293
400
362
358
230
434
333
346
376
323
294
404
343
272
277
360
210
377
279
342
306
302
300
315
351
296
358
268
339
317
269
344
309
330
292
257
306
293
328
299
350
329
312
261
320
314
227
346
292
262
396
319
329
345
340
339
384
336
348
380
323
337
277
291
310
330
366
315
365
342
333
352
302
389
269
335
383
374
351
316
361
317
330
418
316
344
284
304
263
354
369
254
240
283
424
388
399
310
340
394
279
280
281
357
264
322
329
272
369
366
302
318
367
357
365
396
314
287
291
393
379
378
369
290
226
371
280
289
343
361
296
369
239
294
316
341
252
308
356
340
321
347
336
238
311
286
333
342
342
280
308
294
325
321
397
323
363
339
367
323
313
356
426
314
287
330
337
392
346
250
324
353
344
346
292
303
328
322
347
301
353
364
418
344
313
301
376
271
359
201
327
311
313
299
373
347
300
316
324
289
287
347
242
318
310
281
268
320
316
328
332
370
251
274
344
312
386
346
316
329
284
335
387
351
259
299
396
317
228
303
355
211
361
245
341
242
364
330
279
288
294
317
333
297
285
258
326
309
342
251
242
360
325
259
296
299
365
338
351
363
331
352
371
308
269
265
265
406
357
216
323
275
306
316
249
342
253
377
346
369
327
356
206
322
265
353
418
303
306
285
235
356
396
359
405
221
238
411
278
317
184
313
295
338
323
253
330
336
271
293
305
356
341
314
311
306
360
321
248
266
296
305
328
357
228
289
335
330
286
295
273
291
350
386
271
297
256
290
355
240
355
370
312
411
293
266
265
259
377
386
251
232
310
366
300
275
289
349
277
356
349
315
271
381
348
262
365
333
329
331
237
361
324
340
237
329
300
391
354
229
200
385
275
229
216
298
262
315
333
296
352
378
246
292
233
269
300
332
367
236
363
232
343
357
294
251
329
369
274
335
224
277
262
329
294
282
296
262
343
341
344
299
341
288
336
398
312
311
354
277
314
285
332
255
339
397
337
377
223
305
400
286
284
350
286
256
344
236
280
280
321
274
232
362
303
348
249
343
353
213
340
310
374
267
315
259
307
282
341
261
300
259
313
222
317
305
246
299
266
341
284
336
373
341
222
386
316
259
312
343
321
309
264
463
278
315
292
319
309
289
267
340
267
267
328
380
271
368
314
343
336
282
363
208
345
327
293
304
293
339
348
316
306
379
318
362
384
261
332
376
344
364
320
351
311
284
336
281
284
305
405
305
239
337
335
342
303
344
249
330
226
345
347
329
286
347
423
317
268
319
260
326
331
298
272
284
340
297
369
373
315
368
329
270
307
422
299
261
341
344
330
295
236
341
326
273
366
264
339
326
356
273
302
273
261
401
319
328
339
397
313
333
354
282
222
261
362
298
398
250
300
368
276
341
313
356
290
404
359
273
254
336
280
399
292
223
260
277
335
250
332
344
254
261
334
378
297
284
307
272
259
398
341
342
263
298
232
320
351
279
366
255
372
395
323
350
272
317
323
318
349
375
321
320
362
368
280
378
279
328
380
327
337
296
317
365
330
340
299
268
336
368
289
361
233
292
358
353
272
185
351
316
320
355
284
405
341
249
250
285
415
362
288
244
383
375
291
322
266
273
299
226
321
348
339
254
273
211
233
326
345
232
246
365
387
373
374
290
339
361
339
327
272
337
343
345
331
248
277
388
292
315
326
299
345
332
340
375
353
352
253
391
380
244
239
315
276
357
334
328
348
364
369
298
304
363
341
278
344
317
247
341
264
413
303
242
233
278
238
334
299
311
286
216
337
227
247
307
333
358
395
349
264
323
301
336
369
334
354
316
389
330
315
351
402
315
332
300
316
309
286
276
255
357
259
304
334
377
301
326
283
389
268
242
302
390
356
393
317
329
302
333
269
358
341
232
282
341
321
323
305
339
295
252
236
329
312
357
295
266
319
312
274
355
312
337
350
265
297
285
333
363
305
299
409
280
308
346
227
373
369
278
186
350
285
298
251
328
292
302
401
327
342
271
248
252
316
337
360
271
384
328
349
257
269
300
261
330
269
261
322
263
324
222
294
387
295
228
375
373
290
223
263
265
285
412
408
322
316
243
350
295
350
358
315
344
257
343
315
251
344
263
312
288
292
355
354
344
304
313
354
305
416
215
317
272
354
342
299
375
319
344
317
359
326
331
335
340
327
321
352
280
300
328
276
279
272
239
377
264
332
257
325
302
361
270
261
289
272
286
271
225
284
416
324
395
268
364
316
343
261
304
390
364
295
319
403
335
317
387
166
181
291
253
329
349
365
294
353
219
329
289
268
358
314
323
252
273
284
292
337
270
334
317
252
267
241
367
364
340
353
297
275
302
269
298
275
293
322
224
347
348
285
390
302
296
360
271
289
362
262
291
244
311
392
266
332
262
384
348
305
332
264
359
377
305
291
321
295
304
401
281
363
381
395
328
360
284
299
320
316
384
323
335
333
257
337
292
350
310
345
265
300
362
357
303
361
394
309
259
313
337
274
290
189
260
353
376
309
299
350
316
308
298
240
383
355
267
343
295
292
302
275
313
317
280
375
278
349
330
340
277
361
276
379
311
372
293
317
323
362
311
243
282
351
353
312
320
370
294
249
260
308
265
306
286
307
306
277
220
301
268
381
344
268
334
280
328
270
280
345
322
303
296
296
309
355
368
315
307
288
315
346
303
364
368
226
288
322
315
416
359
299
304
303
261
290
346
360
328
361
274
351
313
331
320
428
329
302
331
396
209
264
417
376
291
357
350
274
339
333
296
341
307
341
444
285
339
300
294
272
351
319
335
309
309
318
333
292
375
319
261
394
324
298
228
226
307
245
376
327
325
351
339
287
274
313
321
272
395
273
289
339
377
367
221
250
315
367
308
306
326
279
284
257
263
324
335
299
227
232
318
344
314
450
418
279
341
317
296
288
286
236
347
374
326
327
295
285
334
309
314
305
354
265
291
267
279
271
263
298
309
280
297
370
257
368
335
295
298
279
280
293
303
312
301
299
317
327
290
251
375
366
383
326
413
345
300
331
314
301
311
287
300
283
292
399
340
360
349
290
266
290
269
307
246
379
350
321
307
373
331
320
326
334
263
387
304
300
277
250
329
370
366
406
333
269
362
380
323
297
291
266
337
337
303
244
253
241
296
320
334
254
304
298
359
284
302
326
280
344
354
274
197
238
362
406
229
214
289
293
292
292
389
304
304
253
299
327
261
383
384
235
444
346
325
390
315
190
286
311
351
273
286
278
282
275
302
269
259
268
320
305
287
346
269
243
266
344
275
279
370
321
353
338
291
266
319
316
292
309
365
355
294
199
339
298
195
326
349
314
298
274
284
385
355
325
325
326
266
339
266
316
315
310
281
293
240
251
291
346
338
343
286
256
201
309
352
338
323
284
257
339
332
276
275
334
282
287
270
290
278
337
342
367
287
258
344
301
313
325
324
405
312
339
392
368
368
286
227
385
355
300
309
303
342
272
285
276
296
371
375
334
352
245
330
276
307
421
325
345
255
342
314
367
294
273
311
281
391
342
363
267
322
361
395
350
268
359
274
284
332
370
384
358
318
214
324
303
358
278
262
345
329
292
373
346
278
367
371
341
348
379
262
270
276
264
340
343
312
295
293
311
285
271
402
346
193
298
319
300
288
313
283
320
334
300
232
211
307
288
347
290
273
278
398
264
378
324
345
349
305
295
232
283
311
289
330
307
304
325
297
329
326
267
276
348
311
324
293
369
367
275
392
262
265
282
259
329
280
320
312
335
270
344
242
316
364
328
316
315
296
339
239
363
394
335
374
316
307
290
286
191
278
319
340
376
320
402
329
344
372
286
314
392
342
280
382
290
382
330
252
318
374
290
217
326
296
377
257
280
337
297
266
343
334
349
288
324
423
251
258
346
332
261
280
273
378
338
341
336
317
323
326
360
228
327
315
323
290
340
255
309
292
290
335
314
329
328
239
275
363
180
257
353
379
328
322
338
360
289
241
334
264
281
303
251
190
319
270
280
336
374
308
316
310
341
309
310
337
358
275
353
355
315
421
333
333
228
302
297
354
363
369
333
319
266
335
387
310
307
313
278
256
358
287
248
318
298
304
314
236
317
355
361
335
367
289
309
232
298
334
309
298
372
285
314
327
347
259
344
394
284
300
339
259
282
369
310
358
292
310
352
356
277
284
278
322
402
281
298
400
367
284
313
255
276
346
249
284
271
332
302
332
304
327
293
250
324
267
305
201
243
284
293
212
301
272
313
339
284
283
279
299
338
329
311
301
366
283
268
391
306
335
340
352
316
358
348
293
266
373
341
335
387
275
283
326
352
363
363
246
365
293
310
310
363
347
288
282
388
292
349
458
308
366
334
236
358
282
367
280
279
350
299
312
293
279
373
185
310
401
302
280
244
372
298
320
403
357
287
383
334
334
299
350
373
288
231
342
286
371
323
391
347
402
357
297
277
332
304
270
368
233
285
292
291
310
404
343
326
229
336
317
344
389
390
318
301
332
295
274
338
292
316
276
310
317
336
270
318
356
356
314
328
312
285
396
348
321
266
349
308
304
270
265
370
301
337
331
265
307
275
377
276
313
268
267
297
322
306
297
336
318
362
261
257
270
393
339
326
318
307
314
310
380
314
294
336
340
277
348
346
322
280
369
367
311
259
353
357
290
271
310
348
351
390
290
317
325
323
272
285
279
251
290
334
287
424
356
309
238
303
285
287
224
283
346
316
299
309
275
342
341
356
302
221
278
330
367
345
353
346
277
294
333
301
385
243
372
364
306
284
245
272
302
270
357
357
344
354
274
395
392
343
286
271
353
365
268
382
263
296
323
257
301
317
369
277
325
265
284
369
381
280
281
330
244
340
312
345
281
293
360
336
263
251
298
362
260
254
308
342
348
303
313
397
284
248
371
249
325
304
294
322
225
313
311
345
349
377
323
426
276
250
346
301
301
323
405
335
341
277
327
379
345
366
319
350
308
314
274
390
378
377
338
396
295
308
357
306
326
320
323
368
294
268
389
355
297
301
290
310
294
341
294
345
268
305
304
329
277
280
324
382
367
238
345
304
290
365
419
386
347
298
342
301
368
324
303
291
340
360
347
349
313
338
337
301
303
384
296
307
322
316
362
316
296
398
335
291
341
357
331
313
252
325
345
330
209
283
350
299
331
329
282
361
292
380
263
258
391
303
292
313
330
369
293
303
323
342
236
319
361
229
383
296
335
340
301
281
254
246
239
294
312
293
341
332
381
330
240
385
336
350
349
328
237
347
359
318
268
354
208
332
354
322
328
349
426
243
357
264
343
338
349
285
305
329
319
287
292
350
198
373
312
368
291
334
348
247
307
306
353
292
288
331
333
283
340
269
323
352
301
290
331
365
347
289
380
339
307
310
277
312
281
226
277
338
316
289
286
244
226
187
325
316
373
300
338
372
295
328
267
418
305
282
322
262
297
372
369
334
286
314
319
263
364
326
333
335
369
236
349
278
301
334
275
208
362
331
297
300
353
273
282
375
276
349
268
293
256
370
381
248
316
382
392
358
253
298
328
407
340
245
354
333
388
305
331
317
293
343
299
340
352
281
319
436
258
273
285
313
349
289
287
308
369
313
393
354
227
288
300
352
346
306
294
302
248
360
286
287
353
344
363
320
350
314
270
396
314
364
296
301
216
376
305
313
340
351
347
399
315
306
277
336
294
378
369
419
340
304
366
275
293
311
331
338
313
339
416
312
200
316
323
272
343
239
298
251
285
300
321
283
332
358
350
288
172
329
371
302
301
340
318
362
264
298
326
296
350
294
305
379
336
246
362
349
317
344
319
309
255
401
352
305
248
237
310
301
299
373
349
297
313
363
285
328
315
258
231
352
271
306
275
370
336
270
334
300
332
288
285
307
359
379
262
306
379
312
369
315
261
360
346
276
310
276
357
268
324
352
283
246
289
288
329
305
258
286
314
305
327
436
349
270
335
270
211
286
357
300
290
340
422
338
337
386
324
296
353
322
213
310
360
289
327
260
305
320
265
404
297
292
243
227
338
377
293
351
302
329
320
351
401
358
226
338
318
355
295
326
238
334
282
283
369
331
365
310
241
288
326
266
309
370
345
279
271
385
369
371
405
278
343
272
391
354
360
305
323
385
295
309
246
303
368
328
290
270
327
350
289
276
326
294
287
305
322
287
285
246
399
267
325
276
334
303
232
277
247
315
464
290
259
268
361
320
326
257
358
387
335
302
312
314
318
374
355
342
311
239
322
372
341
385
327
347
383
344
335
318
329
284
330
319
307
288
318
287
366
269
297
262
258
324
296
255
257
338
302
351
315
357
333
347
291
235
336
293
299
299
254
294
306
357
313
272
263
387
243
313
297
310
311
284
368
362
290
352
272
275
188
358
329
352
287
355
350
205
361
288
331
317
316
292
319
270
281
288
327
313
365
415
271
331
391
286
262
345
339
304
271
332
281
317
275
371
339
283
249
270
269
331
335
321
362
310
272
232
338
311
293
330
335
263
223
340
399
274
308
330
243
385
345
411
234
343
369
348
298
365
300
302
330
386
286
276
278
334
334
252
320
437
299
300
324
311
331
300
338
334
345
353
303
367
356
291
235
359
280
309
332
339
304
369
256
313
380
334
301
251
391
369
312
360
236
234
343
332
409
337
325
321
291
282
323
333
256
343
334
359
273
261
289
233
344
292
232
354
336
299
355
316
324
225
375
363
384
340
356
299
280
283
334
261
224
259
321
324
377
309
287
349
324
303
358
314
292
280
344
331
283
347
311
344
379
344
311
307
389
329
402
380
318
335
299
320
317
340
404
294
294
272
372
361
335
250
363
337
261
347
288
346
361
257
282
388
234
387
263
270
286
262
334
271
342
357
338
270
315
293
270
334
349
301
326
290
349
345
263
297
283
271
289
282
348
359
353
395
255
328
326
335
392
321
315
239
226
319
300
323
256
319
334
244
221
380
278
355
308
348
300
389
295
280
363
356
377
317
320
277
278
302
393
323
237
333
379
322
227
318
272
356
334
321
316
352
326
297
244
312
290
383
295
341
323
380
290
310
295
356
241
245
247
262
351
319
239
302
300
288
269
256
380
282
387
318
329
349
263
296
293
355
341
338
332
284
332
350
318
333
326
254
201
360
336
365
258
377
246
298
369
340
323
261
267
249
299
331
289
314
263
379
301
325
361
303
297
258
259
347
324
318
193
256
261
375
368
283
300
251
352
355
369
342
334
284
332
313
307
362
332
264
273
390
311
294
296
314
358
366
361
305
281
384
291
256
301
426
299
361
274
265
340
253
287
267
263
325
345
269
379
275
322
223
289
325
341
312
287
343
337
311
351
323
402
362
305
313
329
357
264
386
372
381
248
262
305
335
339
355
375
331
223
268
309
330
217
277
294
375
304
302
290
268
338
328
210
239
358
271
256
323
352
338
288
372
238
330
363
350
201
255
318
224
304
351
403
275
286
315
187
305
328
290
369
309
266
368
349
373
345
382
315
326
287
190
298
378
300
349
437
295
361
387
272
258
348
315
293
237
359
362
398
309
307
262
330
282
285
178
319
358
374
251
295
339
291
384
287
270
275
318
319
274
308
329
316
351
346
255
324
370
287
290
297
240
302
392
348
389
275
304
352
398
322
337
343
298
388
299
296
331
290
358
308
267
269
257
238
322
289
282
315
332
230
376
311
323
338
300
289
262
307
325
259
331
314
282
296
344
281
394
343
339
244
345
300
364
352
274
274
388
259
354
309
340
354
322
297
276
197
329
320
349
304
255
256
272
358
319
261
369
335
277
296
346
304
382
351
343
314
329
246
318
208
334
348
318
295
265
284
315
295
337
328
257
345
292
349
256
373
367
297
331
292
243
293
330
336
293
254
307
302
335
301
333
206
391
281
308
328
342
316
308
299
393
362
383
279
309
288
373
258
331
242
310
351
307
274
381
367
378
230
289
291
267
253
319
373
221
344
404
385
360
327
393
390
402
421
352
259
311
274
371
207
306
321
401
305
241
322
322
285
320
257
338
379
314
342
324
391
338
326
321
275
337
289
238
325
320
229
371
327
412
332
338
295
311
282
400
340
308
368
267
425
328
257
329
340
397
314
303
275
301
305
341
259
294
296
274
262
311
319
304
319
283
285
298
393
357
292
288
329
387
273
306
298
269
377
252
287
284
286
388
265
332
351
231
254
389
343
259
211
264
198
296
284
320
318
291
313
303
347
346
267
304
344
244
364
375
342
361
347
320
351
337
380
271
329
226
224
316
351
413
314
322
302
345
246
297
386
321
310
329
349
230
310
234
403
275
332
317
342
291
261
346
261
339
263
341
346
354
357
338
356
339
324
387
263
278
296
316
301
282
228
298
310
257
256
276
300
330
278
324
344
328
378
304
290
256
311
316
306
242
399
272
324
264
342
346
304
323
227
309
315
237
377
368
316
277
242
272
291
315
365
373
262
292
209
314
234
301
298
311
241
309
326
252
337
319
264
336
347
324
290
293
277
293
292
335
272
284
363
339
299
302
394
278
339
342
277
262
383
328
283
338
304
278
345
248
361
253
277
275
262
357
372
289
272
327
310
289
266
314
333
373
351
400
335
322
390
289
259
317
365
322
335
352
332
339
297
296
310
290
303
328
436
245
383
348
285
328
378
308
301
329
305
171
308
334
330
321
389
271
285
382
303
355
434
281
380
337
331
330
317
243
212
346
309
345
369
269
400
228
297
392
257
340
327
357
314
299
339
354
255
285
311
297
359
253
364
334
310
324
268
312
289
378
282
253
287
236
356
350
340
272
357
324
248
344
358
450
265
336
335
283
342
332
332
351
399
297
333
306
347
307
247
273
376
293
286
276
358
357
360
258
339
303
297
329
323
316
320
253
319
337
290
344
304
351
352
318
295
293
326
380
305
240
274
253
276
370
265
306
395
271
275
278
292
305
350
249
275
372
252
278
298
326
261
254
284
315
336
380
270
375
329
349
258
270
315
309
306
348
375
290
278
242
342
287
397
358
336
347
348
284
276
363
362
279
212
345
308
359
369
298
319
318
350
365
313
310
308
318
331
288
281
264
439
302
262
290
293
338
279
346
316
346
276
274
313
307
389
328
297
278
294
380
268
300
215
341
294
312
284
349
348
238
351
268
327
349
251
317
287
325
355
282
356
279
284
264
331
301
319
243
346
251
348
306
307
355
258
246
304
263
382
316
319
360
321
279
369
399
186
308
380
346
220
298
382
253
334
308
281
311
295
278
284
262
271
306
361
349
255
402
280
364
357
292
334
273
332
274
397
297
428
227
342
262
257
303
271
288
412
329
270
310
295
344
257
406
322
267
345
423
305
311
295
344
343
213
244
335
389
393
326
307
384
359
351
283
340
302
266
321
256
315
262
289
287
293
316
359
379
363
352
303
336
366
359
296
256
329
384
328
293
275
265
308
326
300
319
332
272
384
343
262
331
385
274
317
355
381
318
336
371
400
198
385
342
371
414
370
317
378
343
357
324
274
261
369
302
249
323
340
328
213
255
388
325
372
339
283
317
318
311
320
259
334
338
410
348
340
206
331
385
317
303
300
276
311
308
293
263
264
301
309
263
383
204
279
310
356
290
359
263
349
371
238
293
336
340
312
347
353
356
306
332
399
350
324
293
290
328
313
321
277
271
311
368
351
347
305
375
394
314
370
305
289
318
285
296
330
313
286
266
290
317
351
211
285
231
276
400
348
230
347
305
343
303
318
300
383
275
402
322
298
308
280
221
274
234
308
294
374
307
295
232
336
276
423
360
221
300
333
366
309
301
230
280
319
397
382
364
339
244
288
209
301
203
379
251
398
334
343
365
331
252
270
310
400
345
357
254
298
288
342
281
342
330
372
304
287
260
357
377
375
348
264
318
373
289
444
291
342
254
351
398
275
332
311
301
352
335
383
279
240
368
207
351
345
350
393
230
251
416
310
327
312
276
268
318
347
318
248
349
346
284
341
205
315
381
336
399
294
214
397
319
274
335
344
229
374
292
267
252
324
267
308
242
382
386
293
334
279
324
297
246
410
337
331
297
359
289
400
277
330
254
324
321
363
296
301
332
295
314
292
323
289
318
334
296
323
247
282
365
364
313
274
275
308
371
398
268
242
287
337
360
357
315
331
291
283
356
336
265
211
396
366
310
332
278
370
345
314
221
266
316
285
286
282
213
278
268
328
304
231
252
279
405
359
306
314
331
252
463
296
315
368
342
315
357
310
322
306
343
317
397
215
288
332
279
261
257
350
232
287
273
314
336
363
325
203
254
280
292
406
314
360
346
249
309
287
356
301
236
365
380
296
384
303
416
320
263
333
300
396
327
302
325
280
276
382
300
373
302
363
327
306
249
202
380
278
268
394
414
370
314
289
275
416
340
298
364
301
281
410
329
305
342
340
306
259
397
341
321
369
274
229
336
274
345
331
376
294
370
346
379
285
285
287
228
298
286
276
243
361
312
368
319
356
348
332
341
274
347
285
289
241
291
405
362
280
277
252
311
382
332
372
257
227
293
384
355
203
322
263
379
327
347
290
246
288
336
356
257
289
316
313
295
231
292
331
284
292
344
375
324
383
327
256
272
275
385
306
341
286
245
300
242
365
255
314
315
282
328
227
279
369
312
289
271
335
347
324
369
283
417
397
370
299
336
286
288
338
314
264
291
305
304
299
293
272
307
301
287
375
369
221
306
288
376
368
394
311
315
305
302
351
326
327
227
250
332
336
313
346
248
364
301
345
274
254
375
347
314
323
257
318
339
357
280
345
412
317
303
355
341
317
327
295
328
336
285
334
327
296
266
282
342
285
261
266
306
367
290
284
230
378
318
324
334
342
301
316
247
284
301
257
272
260
336
299
342
359
231
277
377
330
267
324
347
314
359
340
292
271
355
324
301
237
307
225
368
275
355
288
263
277
265
273
290
342
347
289
296
326
308
345
355
256
400
295
375
317
331
348
294
330
291
294
325
369
341
368
362
352
358
330
296
334
343
374
299
294
310
401
319
353
353
349
287
297
270
359
286
294
245
366
277
302
326
287
274
307
372
228
247
341
270
326
371
311
339
421
260
323
246
372
327
364
261
278
268
264
356
342
323
270
334
286
423
447
364
233
291
321
356
340
252
302
328
260
296
231
343
375
356
311
371
236
285
369
294
279
297
258
329
337
387
366
299
313
288
278
331
374
263
320
316
292
337
317
291
352
347
353
289
322
218
338
371
281
309
290
337
316
320
345
361
342
274
326
317
322
209
303
249
261
373
399
329
334
215
225
396
332
316
334
296
374
353
304
294
268
271
287
303
293
354
354
319
379
354
352
260
346
257
338
245
340
324
364
352
268
305
307
302
340
355
282
358
309
361
348
347
361
261
263
263
316
274
278
320
299
311
385
327
323
356
268
327
315
346
336
334
264
295
277
281
375
330
287
294
373
294
309
346
368
345
367
402
311
338
350
312
337
318
243
373
361
317
399
330
308
204
284
323
350
304
363
297
287
329
250
301
390
306
376
289
251
317
289
354
336
320
304
246
270
371
335
327
307
289
267
255
363
316
306
352
308
318
276
308
256
276
366
334
299
337
302
374
267
313
292
273
301
393
336
308
247
266
341
318
290
311
347
260
335
404
318
351
373
350
300
300
296
388
271
343
313
293
257
369
221
227
338
323
319
344
346
245
276
302
358
366
294
333
259
263
296
350
321
369
318
293
321
335
300
330
309
245
302
247
355
279
329
299
265
288
351
372
267
298
308
330
341
322
361
256
294
267
368
320
323
300
281
368
293
405
274
324
302
315
327
348
322
340
230
284
292
406
314
241
318
304
315
324
339
314
301
326
279
302
354
237
395
303
311
263
251
252
300
326
301
319
338
331
325
327
238
334
335
234
376
356
362
298
267
349
416
342
414
409
281
313
269
355
271
333
322
310
271
256
269
323
253
355
296
326
248
276
276
368
424
348
281
317
297
301
360
281
285
230
290
272
282
292
317
344
345
267
264
281
307
322
339
287
371
267
283
347
371
302
356
238
321
302
344
301
305
333
250
328
369
330
287
299
276
400
362
293
257
370
405
276
313
218
309
287
303
402
216
324
299
311
390
275
284
344
365
289
300
374
277
266
363
257
256
323
345
307
314
317
395
311
365
313
359
303
295
357
258
306
308
382
288
261
312
302
280
297
196
356
343
368
266
264
251
354
352
374
259
253
254
328
426
341
404
376
321
316
310
349
262
300
372
370
315
339
292
363
373
356
366
277
301
290
348
316
363
318
388
365
329
307
231
384
295
267
354
341
312
270
305
291
301
276
380
330
390
352
325
312
326
362
290
382
271
303
312
329
325
247
326
281
318
262
264
273
268
358
354
400
309
241
337
269
340
409
395
288
282
315
256
266
356
340
279
301
334
295
405
207
413
312
328
362
283
253
319
366
386
345
269
323
253
361
335
279
279
285
326
358
333
286
250
344
333
368
350
326
291
282
281
313
351
357
369
213
326
278
342
380
274
318
412
285
278
357
364
376
362
256
294
304
352
374
309
347
292
327
282
342
324
380
254
252
297
258
272
288
300
313
280
290
243
227
349
317
290
290
353
304
319
298
339
354
253
434
372
372
257
335
324
254
284
301
292
386
255
283
314
372
305
393
308
269
394
248
271
323
270
324
317
391
316
400
285
216
304
370
358
299
277
281
392
325
368
250
213
347
346
316
323
252
314
332
304
323
238
298
340
371
335
318
309
315
285
283
361
371
336
332
263
265
388
335
361
258
303
328
321
338
318
322
338
272
223
297
376
373
226
295
277
316
330
330
345
245
404
301
377
312
351
307
324
315
359
297
241
335
312
231
292
367
367
291
329
331
337
309
337
293
383
334
339
300
302
326
282
243
264
365
309
415
294
297
371
379
360
287
339
289
319
315
265
289
303
218
371
272
315
339
400
286
327
277
361
313
261
335
314
286
339
273
355
252
294
315
299
345
314
382
252
304
319
331
320
253
245
309
311
261
347
316
264
314
391
359
297
353
344
283
239
325
328
278
352
352
287
266
310
297
287
394
365
315
324
327
328
365
331
327
341
282
334
220
341
392
283
273
399
241
280
339
310
329
398
423
330
304
240
293
381
330
326
289
343
280
281
313
322
300
274
414
353
322
256
271
392
163
248
316
319
302
330
281
211
286
337
291
302
313
341
311
267
378
375
339
271
402
374
328
317
328
381
410
297
261
319
288
327
323
364
317
336
290
286
315
313
368
265
333
247
286
396
330
401
324
335
301
250
357
171
246
368
313
340
261
296
248
257
378
335
299
310
359
379
353
295
281
313
298
301
247
312
279
349
330
270
352
330
365
282
347
358
267
323
289
328
236
323
336
328
325
265
433
329
315
309
265
346
286
284
218
433
265
381
367
297
300
358
384
252
354
334
394
263
319
280
339
317
317
351
246
392
387
329
261
301
316
391
295
281
349
339
376
211
374
240
328
332
307
321
310
320
246
387
331
337
280
316
278
335
366
334
348
378
367
379
349
288
243
287
290
239
413
300
356
280
285
300
342
347
313
364
354
304
342
354
267
348
349
276
323
362
374
347
320
345
337
348
301
268
304
367
363
340
294
284
244
318
349
317
303
289
238
305
231
373
383
290
308
360
299
257
310
327
410
259
330
338
272
352
299
309
291
278
249
285
355
252
368
254
348
341
374
282
350
327
304
328
296
361
288
278
335
359
328
276
259
297
316
300
301
345
303
235
265
406
272
291
338
364
369
349
279
328
351
304
409
289
357
232
314
376
333
288
365
343
266
291
327
325
320
346
298
307
323
323
341
280
320
368
253
300
309
345
320
305
303
350
329
240
311
269
278
360
306
355
285
291
361
333
350
319
377
330
213
266
299
369
295
337
344
254
262
312
317
444
305
273
288
262
316
234
364
360
255
338
364
322
280
365
283
280
348
331
309
356
291
260
342
342
301
299
244
339
289
334
289
349
206
276
227
322
312
290
356
345
271
303
258
168
271
316
334
358
320
312
326
378
270
304
290
229
366
314
287
337
346
214
348
344
295
313
322
251
334
400
322
414
269
337
305
364
308
282
339
394
324
281
363
275
335
292
258
292
251
342
272
231
266
332
257
320
313
379
370
305
264
373
320
248
291
270
346
280
366
361
359
264
275
295
310
351
316
361
419
329
330
322
292
300
361
334
384
256
337
289
361
276
305
409
272
327
284
349
366
265
360
273
367
298
302
280
334
226
326
413
307
285
307
358
348
368
300
197
187
265
291
313
340
342
313
281
223
345
205
337
333
312
305
320
350
339
230
326
349
310
334
303
290
246
361
333
316
321
336
287
277
241
289
358
303
386
225
312
341
271
294
341
307
365
326
395
242
311
354
336
334
357
308
325
295
284
295
362
376
399
287
266
286
355
303
283
281
410
325
233
302
353
318
316
388
331
253
223
336
396
337
355
301
344
258
315
279
259
275
302
312
354
315
293
248
236
334
311
311
293
292
310
224
252
281
280
310
367
377
326
297
259
271
359
277
256
316
271
264
270
309
343
356
339
379
345
236
342
294
295
318
409
285
370
375
284
272
375
224
288
281
338
315
303
251
283
279
331
355
387
278
365
363
396
340
263
291
268
304
349
395
261
330
271
312
363
312
336
397
274
349
231
312
323
347
320
322
299
315
291
335
308
381
311
286
314
319
329
292
265
258
315
252
350
366
302
343
375
295
308
269
295
350
293
366
338
353
267
354
285
357
217
308
256
321
349
344
346
350
347
287
306
275
309
292
297
294
333
358
384
246
307
329
426
331
283
292
390
322
290
300
354
324
379
309
354
268
345
298
296
286
318
392
378
353
248
307
259
307
408
307
346
246
233
320
373
205
360
277
339
255
306
391
309
353
362
298
364
309
270
264
298
332
356
285
299
356
308
249
338
336
309
336
280
419
323
407
295
322
252
304
256
253
214
259
384
282
305
273
327
327
269
275
295
277
278
329
359
280
380
387
279
331
335
390
290
299
272
310
226
377
307
329
356
337
230
293
327
345
289
301
261
213
348
282
385
341
381
363
357
305
259
357
341
302
256
309
339
302
357
298
290
324
265
324
248
318
317
369
368
349
317
328
331
318
341
334
358
234
292
305
392
391
332
393
292
298
253
392
344
216
287
332
343
319
404
324
247
269
367
193
310
313
336
398
271
372
313
261
386
386
262
311
334
341
316
358
337
315
405
361
358
302
352
345
340
377
344
380
341
304
281
366
298
250
337
316
296
250
364
349
352
247
255
307
398
325
389
267
283
307
341
311
321
316
302
357
361
273
336
299
236
339
301
196
299
368
338
279
317
321
344
301
318
374
259
287
427
256
382
277
307
376
282
312
320
311
292
318
345
287
291
373
385
405
373
275
382
397
298
324
307
285
334
305
282
311
284
352
319
320
253
249
351
302
343
349
271
326
385
378
333
236
327
253
270
387
319
234
348
276
341
377
369
366
346
372
351
275
367
251
339
360
258
291
310
393
340
335
322
304
246
332
380
356
281
315
359
272
317
264
306
376
329
247
371
323
395
358
277
315
271
284
332
302
394
249
171
334
311
267
326
311
252
308
313
352
323
253
302
340
309
380
360
267
226
287
291
330
390
282
327
317
321
317
350
360
258
341
256
367
313
314
291
275
324
302
296
274
332
326
359
338
286
304
345
251
326
265
317
384
335
311
294
295
283
307
278
288
335
350
315
375
262
416
301
279
321
278
327
311
335
293
333
387
294
306
283
391
350
324
270
304
292
321
357
371
343
315
296
272
343
409
292
246
335
210
247
312
292
333
261
385
365
270
305
336
371
393
288
355
332
356
292
360
365
271
384
366
350
259
284
307
327
270
336
350
317
227
388
298
236
331
407
296
279
378
261
319
347
324
309
369
316
377
264
354
315
291
312
303
271
278
321
297
292
286
286
364
306
209
247
315
264
281
220
387
405
290
381
362
264
313
229
380
366
337
319
299
310
287
264
286
294
291
367
222
278
239
270
339
257
345
265
286
194
439
313
317
298
274
409
297
342
373
252
303
266
279
323
292
287
347
314
284
376
364
276
374
328
311
348
333
399
314
330
318
252
328
288
298
319
336
283
248
333
257
391
209
320
300
346
302
266
292
301
303
385
297
289
362
347
306
320
320
307
239
316
257
322
338
272
325
423
275
313
302
336
341
301
336
312
258
332
322
251
339
393
317
326
253
284
377
375
355
281
321
276
344
294
372
250
340
277
321
288
341
278
298
353
395
283
313
341
332
182
240
409
258
304
334
399
342
298
362
359
359
290
329
314
275
340
312
327
319
362
235
359
319
310
333
406
379
303
330
279
283
428
210
259
306
421
321
331
327
386
374
213
240
259
232
314
287
335
380
297
370
272
279
391
325
226
308
322
353
299
215
357
326
349
411
296
215
274
310
312
238
316
340
364
311
306
253
339
313
315
253
257
265
418
280
223
276
236
346
208
323
338
336
320
341
343
359
312
359
315
299
373
257
360
347
332
329
338
291
336
322
290
316
302
276
333
240
263
349
385
346
364
335
296
276
273
399
388
357
260
297
336
352
329
383
310
307
313
330
368
317
267
283
339
254
341
314
304
299
327
232
288
302
365
245
350
202
240
359
254
317
268
305
350
275
300
331
332
334
281
250
302
213
350
334
356
278
393
341
247
360
396
307
398
249
300
303
364
332
397
338
388
333
279
278
348
299
318
344
291
276
342
316
317
344
328
316
380
362
330
331
287
318
336
342
317
352
326
403
373
310
266
322
280
257
309
346
243
217
284
274
338
373
264
247
384
337
318
308
340
335
297
348
274
244
409
326
302
198
336
355
351
292
283
243
262
353
242
359
213
328
326
324
342
304
384
317
287
230
224
318
336
340
342
301
308
321
302
322
297
267
325
315
283
312
209
306
300
351
258
328
439
299
335
345
189
347
327
289
419
322
266
334
323
286
276
349
313
361
329
313
337
235
376
274
291
296
271
347
277
380
243
309
279
246
272
259
321
328
310
349
301
265
352
308
285
290
308
356
364
325
316
255
318
346
344
342
313
393
356
278
278
312
246
394
325
345
325
347
334
305
325
306
369
324
316
413
368
334
314
359
313
352
279
363
271
249
290
306
372
307
253
254
300
278
345
305
309
239
290
235
288
326
323
287
341
352
334
356
287
285
396
320
283
273
400
309
297
396
342
280
298
231
244
312
339
239
371
347
271
280
267
370
319
333
269
327
282
331
268
282
373
250
322
276
314
287
330
234
322
342
333
275
440
241
387
246
345
288
345
387
254
324
350
266
354
337
274
338
310
246
325
332
238
389
260
328
308
361
285
287
336
336
313
335
235
348
362
349
371
254
266
324
309
396
316
318
339
276
349
339
304
359
329
342
307
281
420
272
353
292
343
273
306
259
370
325
297
268
287
346
302
335
284
341
366
356
286
354
312
335
329
342
377
315
239
367
334
378
320
319
360
335
347
278
348
334
280
329
225
307
294
330
343
306
326
482
360
277
280
334
351
364
242
346
342
293
362
304
306
339
301
284
322
336
303
221
334
240
303
332
230
279
321
298
348
242
351
314
386
328
311
297
358
385
287
321
254
289
361
322
259
324
348
342
317
334
332
320
363
299
394
336
353
402
293
260
247
322
364
356
351
324
299
292
358
418
300
329
285
353
362
374
367
319
368
306
239
289
294
337
386
343
359
368
298
216
228
332
289
249
198
352
392
304
277
354
284
244
233
318
312
362
349
335
289
358
375
323
316
335
290
388
316
371
304
247
333
362
310
284
244
234
332
359
261
285
318
374
244
340
254
370
344
420
311
302
309
357
385
289
319
359
310
324
276
375
303
258
279
359
347
304
395
276
365
320
339
354
362
366
338
285
267
311
327
331
296
339
258
396
323
263
366
360
305
339
225
340
335
306
376
321
388
320
284
381
278
300
392
221
362
283
313
318
300
304
242
316
322
242
381
273
331
342
357
345
173
317
263
350
364
296
326
231
329
310
327
310
366
269
329
334
368
291
232
358
349
350
319
295
271
301
354
324
301
293
324
309
330
388
349
263
249
279
338
325
313
375
306
204
296
341
363
278
360
299
278
360
365
262
383
377
316
341
342
303
327
331
339
304
375
331
340
305
240
325
384
334
322
355
307
360
242
292
285
341
317
246
308
302
287
306
330
313
360
323
349
235
342
324
268
325
296
336
310
393
252
281
332
287
385
234
345
329
302
392
246
308
283
364
281
325
313
408
306
378
329
278
395
288
322
303
303
365
298
271
356
281
353
364
302
291
275
393
384
268
287
429
268
341
288
380
307
321
343
261
348
347
353
369
334
218
260
281
322
290
310
348
367
289
302
317
455
319
375
371
273
320
308
298
307
308
369
351
286
310
307
332
282
387
254
367
301
443
252
391
410
269
309
288
398
304
335
362
305
210
291
347
350
341
298
347
280
308
411
306
412
325
367
326
415
368
324
299
310
372
299
378
392
297
390
298
377
328
309
321
257
301
262
300
288
351
301
323
322
314
228
298
377
344
200
385
327
362
297
336
329
283
259
333
297
264
235
234
312
332
316
332
367
266
291
252
295
354
349
329
344
270
315
280
209
300
317
352
383
325
307
286
228
396
353
304
362
276
319
320
289
348
267
324
283
264
348
272
315
365
291
378
278
305
325
367
269
271
358
290
317
279
328
311
325
354
285
376
354
267
329
331
382
303
296
305
371
289
317
322
326
334
297
397
324
343
270
339
329
269
422
302
320
365
362
288
342
286
319
292
347
264
284
366
389
302
358
352
323
390
291
353
291
221
284
367
365
282
283
312
369
405
310
253
245
301
299
266
327
378
272
275
347
370
279
323
306
308
342
248
338
427
328
252
287
336
349
331
346
369
232
278
392
322
291
302
326
266
269
291
298
336
355
346
323
256
293
352
342
289
266
276
273
302
331
320
357
212
357
205
266
271
230
252
344
327
309
226
268
286
302
373
344
330
322
352
327
353
256
288
360
314
338
355
309
309
340
338
327
315
266
264
211
353
289
291
415
312
314
343
365
265
303
357
312
314
303
318
210
274
354
312
311
304
336
216
299
329
286
337
288
300
388
362
284
368
423
296
367
296
311
311
316
267
283
308
343
330
414
331
343
344
312
360
318
213
358
253
254
364
342
347
196
240
380
273
348
353
267
337
281
344
331
346
342
288
317
330
347
380
366
327
349
326
280
353
305
403
317
354
328
273
296
321
241
351
262
322
265
316
221
260
342
323
298
292
321
323
340
348
358
322
366
212
314
356
344
352
343
333
351
340
306
370
416
290
276
321
315
328
285
252
243
261
325
316
373
359
320
306
316
259
283
358
281
390
326
255
354
293
292
273
302
399
319
337
290
315
332
204
365
347
312
326
368
153
249
342
419
340
250
266
373
319
256
378
331
309
220
338
292
324
328
287
322
302
275
208
344
302
310
270
230
344
237
362
362
336
345
363
290
309
331
293
342
368
257
256
291
327
334
267
248
309
318
363
353
287
373
336
273
336
249
329
298
396
261
335
318
331
259
349
298
298
291
349
384
245
316
317
429
292
369
334
357
224
295
375
394
269
296
278
336
349
294
246
233
360
356
341
357
270
294
261
278
358
344
297
313
354
308
316
312
322
227
380
459
321
312
337
374
351
304
294
371
310
334
352
320
311
312
271
362
376
350
379
292
343
353
298
258
232
336
373
400
325
343
308
344
224
313
377
332
279
281
287
356
306
342
309
212
336
331
355
261
341
354
347
403
321
295
356
329
278
282
299
415
375
305
350
344
313
225
356
373
282
318
293
317
374
275
265
285
364
293
330
335
365
346
343
245
258
315
312
359
325
371
393
308
349
319
383
358
254
377
279
379
409
216
296
379
348
196
311
277
378
340
334
308
306
347
231
304
342
311
330
278
335
310
329
351
272
376
368
327
366
313
289
317
359
297
244
300
287
315
351
306
320
257
293
324
358
348
273
325
340
304
344
287
284
367
291
380
303
274
316
290
347
352
285
254
318
361
295
261
318
291
264
273
391
247
304
317
234
288
331
328
310
319
307
239
367
357
261
343
261
301
355
311
333
301
348
394
357
266
398
383
286
203
296
291
322
339
328
308
303
325
314
327
333
278
319
360
335
347
298
424
403
292
226
309
274
290
313
282
320
335
300
308
314
306
285
358
269
281
365
381
396
306
270
358
360
278
277
365
338
351
337
255
202
383
278
383
355
324
305
278
361
353
272
371
324
305
314
286
361
290
331
266
277
259
318
366
343
316
295
266
356
282
276
369
350
336
357
361
336
302
293
320
279
298
351
311
333
332
343
355
323
270
312
335
357
318
347
313
361
276
376
328
380
335
313
376
389
335
275
372
314
363
390
302
284
398
337
336
352
263
310
323
328
348
318
316
245
291
290
253
293
322
312
360
317
320
336
310
312
316
353
368
321
334
251
348
276
283
269
313
321
285
294
326
296
340
371
287
329
253
333
378
310
283
324
339
333
284
384
314
247
341
332
365
330
311
334
283
317
376
280
307
288
256
348
312
357
255
303
319
383
259
363
367
244
277
358
351
394
295
321
343
305
309
232
390
280
341
311
322
340
357
345
218
246
305
257
269
378
249
325
270
338
280
289
356
302
324
319
333
315
246
374
336
355
294
390
342
293
317
394
253
312
313
377
335
313
346
293
342
231
330
300
264
213
367
301
225
322
290
288
274
258
319
316
356
284
314
228
370
308
240
303
378
286
343
304
341
343
335
259
360
328
350
381
303
277
292
298
267
300
334
344
316
307
257
274
350
289
278
313
287
322
224
326
281
295
286
372
328
316
266
398
291
260
350
337
231
308
341
357
349
282
283
256
340
293
278
209
379
436
284
283
296
347
252
271
303
208
290
289
370
285
309
292
287
314
262
327
240
245
341
352
263
352
286
328
327
318
294
338
328
339
373
297
386
349
331
391
347
292
227
242
403
246
323
289
271
320
279
356
357
342
378
381
331
221
325
333
235
269
330
307
303
316
294
354
322
307
263
292
312
388
270
280
310
271
302
290
219
278
349
329
312
263
358
295
406
366
340
367
309
326
276
401
252
276
269
373
317
269
276
241
416
338
321
237
260
357
365
295
406
397
258
258
270
259
249
334
260
358
354
314
310
288
236
345
344
354
338
250
324
345
254
365
330
263
373
246
326
281
326
250
258
293
403
300
353
329
379
293
246
352
306
260
343
281
349
314
304
303
296
314
323
298
368
333
308
217
311
304
264
264
305
350
254
242
221
320
310
354
283
357
262
290
331
272
270
236
254
330
276
324
304
230
339
300
316
329
320
309
323
301
341
298
334
306
374
296
264
318
348
315
303
290
285
285
334
346
299
379
370
339
348
327
331
353
328
238
362
388
292
332
330
291
331
234
274
352
348
302
301
285
315
328
209
324
366
232
334
404
214
341
359
360
373
426
261
315
378
263
423
368
284
301
353
337
340
325
328
382
346
273
344
313
281
296
399
332
298
272
327
267
282
357
248
224
378
289
293
276
301
292
284
301
277
343
369
331
375
277
282
243
349
292
226
338
323
300
242
332
328
325
389
367
309
317
275
332
338
235
283
311
349
230
326
347
310
332
370
326
218
362
300
308
360
353
299
311
208
271
245
330
322
316
326
283
332
334
390
324
293
265
289
336
166
319
307
287
256
340
436
229
305
224
369
369
280
278
246
360
258
394
344
251
320
338
359
334
285
277
365
336
328
334
268
401
291
307
276
344
333
269
316
274
334
384
318
328
376
329
364
343
314
291
372
333
397
353
350
336
268
267
352
257
288
267
345
219
318
352
267
344
284
356
328
357
319
314
302
269
275
321
356
294
388
235
278
337
279
228
313
353
383
376
350
304
334
382
355
257
384
367
400
362
303
349
337
243
349
338
263
278
369
322
350
331
279
281
324
301
345
359
290
311
257
340
360
303
324
275
328
254
294
352
337
378
315
288
251
348
330
289
303
294
237
216
290
321
375
344
378
368
286
349
292
214
323
226
382
379
295
231
310
350
298
306
294
214
365
308
358
339
309
364
265
256
240
256
258
343
289
298
317
342
272
334
332
342
332
338
306
206
305
293
285
300
360
318
298
245
322
294
357
273
295
343
339
247
268
337
257
332
329
322
372
321
286
269
316
302
338
351
295
241
260
294
335
338
267
345
286
372
325
373
308
298
321
280
387
397
347
364
233
346
407
366
288
383
355
318
289
332
281
282
262
256
378
330
355
365
366
210
349
376
368
291
339
312
337
337
344
249
314
425
357
294
234
327
300
313
339
335
237
265
282
376
370
309
278
254
346
303
310
292
256
249
360
246
281
357
381
277
351
312
330
338
335
192
333
307
274
258
315
322
375
322
274
365
402
363
254
271
267
253
409
365
293
328
293
264
350
276
244
303
366
398
394
365
252
294
268
258
272
362
295
297
283
294
293
336
225
330
258
250
329
322
319
294
285
238
277
348
343
349
312
320
272
290
317
352
315
237
364
336
266
304
378
361
339
363
309
368
282
344
266
340
298
327
296
336
318
288
379
326
338
261
217
437
353
334
326
299
344
269
349
330
319
350
305
283
302
290
277
349
395
288
348
312
317
323
327
274
363
233
305
416
304
309
346
312
299
297
267
316
304
355
304
238
321
302
236
324
302
312
295
233
385
212
385
334
301
354
368
412
335
335
286
326
310
413
262
354
319
286
366
368
275
227
322
232
332
262
319
343
304
312
301
323
291
264
359
347
313
340
306
298
256
323
322
351
399
309
352
326
240
387
258
276
350
406
351
365
393
371
368
305
298
355
382
339
262
368
307
327
334
323
356
363
276
283
339
396
373
345
253
239
324
316
300
294
342
348
244
240
256
378
415
301
362
221
304
290
316
336
225
280
335
286
334
281
360
321
343
246
317
366
293
326
309
342
297
333
296
364
304
285
353
284
357
307
319
348
334
298
280
289
305
310
336
354
282
352
298
335
319
209
277
280
320
339
340
274
362
258
313
350
327
292
333
288
315
395
323
270
241
270
372
305
332
283
348
343
375
335
213
334
355
287
343
291
330
287
359
237
369
386
311
227
297
351
263
271
320
356
411
397
358
322
289
371
347
373
320
273
236
395
284
363
359
285
331
354
338
363
222
271
332
342
261
366
341
365
401
356
295
312
246
286
294
396
353
308
369
254
319
286
319
307
344
430
296
343
366
330
342
263
353
284
346
282
299
220
353
303
351
320
265
321
271
237
320
315
337
345
282
333
320
283
388
348
311
282
282
374
381
292
354
340
255
306
328
321
308
421
313
287
283
356
274
313
324
316
348
327
332
344
340
368
369
387
235
245
308
316
374
330
354
327
259
323
315
280
353
308
318
396
330
270
361
323
366
272
289
305
299
324
343
331
357
317
267
261
282
329
306
382
302
308
277
299
358
347
314
431
281
262
272
439
354
308
285
351
286
336
319
227
357
278
335
203
303
351
388
307
322
314
239
384
349
364
256
364
264
349
335
300
293
323
352
273
238
273
251
337
262
280
261
343
340
303
306
254
395
215
325
271
358
350
274
328
365
350
261
229
304
355
335
327
360
352
407
324
358
287
232
313
316
235
349
376
337
278
390
291
256
293
324
266
357
311
340
269
313
364
351
317
379
317
361
315
422
294
331
251
376
287
349
312
284
300
229
306
298
294
329
303
364
311
314
320
298
298
348
217
248
299
308
319
298
287
352
443
336
305
261
311
347
328
370
364
273
328
324
238
291
303
380
333
235
338
364
409
326
303
326
321
348
339
281
342
343
368
332
241
343
330
307
251
348
320
271
373
402
348
324
339
292
329
287
369
285
389
360
267
334
297
324
271
328
306
409
393
350
296
301
381
307
333
215
351
331
345
276
259
361
398
318
333
275
329
318
230
292
374
269
304
276
323
368
230
301
316
262
334
246
214
322
284
302
314
284
333
304
362
353
361
379
383
246
350
335
333
346
349
331
325
384
395
351
245
260
279
316
406
291
406
323
343
331
364
281
353
382
310
313
300
375
340
383
365
329
303
193
366
261
311
297
367
322
318
383
295
307
377
401
354
293
363
263
295
249
221
276
298
379
347
289
331
353
284
299
333
282
267
351
230
262
286
296
317
304
332
326
224
235
319
273
280
368
323
327
341
278
289
295
318
216
357
319
323
376
364
261
348
300
300
325
271
364
331
284
299
295
329
273
258
385
386
430
319
257
262
308
288
315
274
276
260
261
335
341
303
340
315
294
312
304
341
335
292
271
382
230
312
372
330
350
300
275
315
357
306
262
277
340
264
425
418
315
338
224
369
302
342
395
346
258
330
392
274
367
300
347
391
293
316
261
328
352
325
334
259
338
296
294
285
243
277
372
342
273
379
297
327
359
299
304
290
402
301
261
269
302
308
299
357
305
310
349
303
347
303
417
199
285
277
422
365
307
347
316
289
288
294
295
300
330
275
299
266
293
289
371
288
321
405
246
396
383
318
387
315
250
319
327
350
393
316
356
286
341
418
313
335
266
303
310
335
264
375
296
287
367
316
331
335
301
326
222
276
299
285
303
297
226
317
391
261
342
361
358
268
336
283
358
310
256
292
270
342
261
244
297
242
321
257
382
300
266
330
283
329
364
335
322
303
281
385
297
284
388
279
356
292
211
325
266
327
309
343
274
408
350
377
327
348
263
344
443
257
341
272
355
287
340
292
305
321
328
306
282
207
343
296
346
315
342
332
381
276
336
356
290
286
281
346
341
341
310
315
310
283
380
348
272
313
303
331
293
307
324
306
323
378
258
397
338
318
323
329
394
282
313
197
268
244
367
260
360
265
322
349
296
274
341
349
313
347
331
310
371
337
336
347
289
221
293
312
268
329
361
302
322
317
323
329
382
369
324
254
326
351
374
317
309
239
271
401
373
285
274
304
344
244
296
355
344
321
215
292
352
379
320
353
331
261
302
336
287
293
365
311
292
342
293
277
367
296
303
363
354
347
256
260
382
403
342
329
296
306
430
321
309
327
310
356
326
275
321
364
360
337
304
187
336
291
277
342
247
371
300
209
266
293
298
291
336
318
296
350
337
288
339
264
277
323
303
270
421
344
279
345
268
254
207
304
322
387
301
292
337
389
350
301
349
317
369
312
376
280
328
312
271
338
287
267
276
293
298
320
338
341
318
285
348
279
341
228
277
195
369
357
331
315
280
367
275
286
342
341
312
270
296
375
346
343
352
268
334
398
270
342
298
302
353
365
353
330
321
349
263
336
259
302
330
268
314
373
333
278
301
402
368
272
242
344
296
329
358
263
325
299
439
324
290
278
405
254
330
294
376
276
247
325
305
279
309
298
330
336
262
311
320
266
298
316
321
289
292
251
169
351
338
353
312
386
317
313
289
312
331
290
345
318
263
426
327
304
384
348
319
336
421
218
314
259
370
321
351
285
205
276
338
361
237
302
330
320
193
280
360
264
347
290
346
354
347
292
294
328
329
327
398
340
382
347
282
370
355
273
319
235
298
310
423
285
290
348
306
357
328
260
393
313
266
291
251
356
299
300
323
358
368
339
265
269
251
344
372
290
339
293
288
360
325
224
349
336
322
276
279
406
332
277
299
337
293
350
301
333
360
353
350
256
309
270
327
359
200
338
269
323
370
348
312
340
332
300
196
306
317
306
347
303
241
378
356
297
244
283
264
349
272
302
376
331
298
356
278
325
365
304
312
279
326
281
350
266
251
240
384
272
263
329
294
322
382
344
291
360
297
382
316
335
388
352
329
214
335
283
285
270
299
270
289
278
274
322
343
275
304
258
335
296
288
256
259
248
362
327
341
322
339
364
277
375
343
392
319
300
304
291
367
372
251
326
330
342
299
353
276
338
260
328
334
276
217
279
356
327
376
293
256
364
365
325
326
226
373
359
307
272
332
357
331
306
281
363
351
294
295
238
355
391
322
277
271
288
317
363
361
302
247
235
360
307
292
314
370
321
271
269
322
273
238
293
398
331
256
339
366
365
236
359
218
351
362
321
293
372
275
315
342
367
255
350
234
338
353
346
285
324
351
299
322
296
259
406
261
309
324
302
357
289
285
279
327
373
373
255
258
302
362
309
233
383
359
332
306
277
283
247
277
361
273
307
356
349
355
301
312
287
317
308
285
335
271
346
396
336
291
359
310
304
353
296
261
382
362
316
394
357
343
249
312
301
225
343
263
369
385
348
298
378
301
296
339
362
266
357
358
293
377
307
325
281
253
335
280
320
294
387
315
283
324
280
273
358
310
298
319
343
303
389
309
251
365
287
345
349
284
373
335
360
247
324
289
359
251
398
386
251
349
247
315
351
349
277
300
287
331
318
285
316
282
300
211
327
224
267
333
415
293
297
316
375
359
380
377
242
334
333
245
329
341
286
373
337
242
260
326
298
315
300
347
373
359
283
338
282
349
350
315
302
324
405
239
294
270
357
344
264
244
296
343
358
243
278
297
347
353
359
243
322
332
336
350
320
343
257
251
310
301
307
322
357
297
267
388
264
312
416
347
332
285
302
300
261
189
346
384
331
410
294
307
266
260
244
289
267
241
386
342
311
273
293
329
299
359
381
346
294
321
359
288
293
334
397
299
227
410
248
306
287
269
264
331
279
319
274
283
356
257
291
416
336
297
259
257
311
291
278
280
289
284
254
335
319
293
355
247
288
255
281
263
298
251
288
334
329
306
344
330
261
298
308
305
401
357
357
351
264
336
367
290
336
380
304
351
363
279
307
300
323
211
294
322
314
309
323
326
303
325
337
326
296
268
320
295
365
265
255
308
294
340
276
376
207
271
327
265
299
323
306
268
329
262
351
296
236
280
288
337
317
327
349
310
325
327
351
395
342
292
404
385
266
415
338
420
253
245
327
338
392
254
314
366
316
346
372
281
251
287
268
346
283
295
306
271
370
293
285
285
249
365
269
291
250
275
246
320
315
395
381
336
319
322
286
348
285
366
329
270
274
291
345
358
316
368
411
340
270
348
325
350
332
338
345
295
332
312
304
333
315
301
367
264
286
376
346
273
222
319
335
228
288
272
378
387
286
270
287
326
217
344
284
357
315
346
194
317
334
376
388
330
251
307
252
394
339
145
402
326
225
313
319
287
309
351
277
375
392
312
312
402
283
274
297
374
321
257
215
372
263
281
360
318
266
362
302
313
335
345
358
238
294
294
257
319
314
242
358
256
379
305
306
426
299
247
324
256
254
299
316
326
314
336
253
289
359
344
377
314
292
309
351
351
253
387
359
355
278
321
355
334
279
277
270
295
365
311
249
236
319
233
328
330
315
243
331
305
326
275
300
362
322
340
345
350
330
355
300
373
346
359
254
319
363
325
329
271
302
304
299
294
334
350
362
314
344
287
350
352
328
335
330
237
238
240
324
369
370
319
351
209
339
270
315
320
296
315
334
325
286
372
316
316
297
365
361
370
382
364
303
341
304
256
292
286
356
266
333
294
326
371
310
317
307
295
345
245
308
326
325
444
300
273
347
333
272
392
292
266
323
294
314
381
330
339
283
302
330
303
317
316
239
241
346
208
297
240
271
247
330
353
279
296
268
285
399
326
216
376
243
368
314
317
364
307
282
380
408
304
267
352
395
343
314
288
313
356
241
243
319
336
354
328
316
432
344
406
249
335
344
331
376
327
266
320
297
337
308
323
371
261
323
343
293
286
323
342
312
348
289
410
315
260
298
377
293
277
299
262
264
415
399
292
333
340
355
291
362
300
287
304
173
326
328
357
340
279
274
289
288
363
268
375
327
300
399
316
361
351
375
310
358
327
259
305
295
299
363
345
372
297
348
330
281
316
291
210
366
376
330
379
363
279
326
331
291
291
361
320
264
263
325
280
287
263
324
418
292
332
323
307
320
309
285
268
321
321
337
343
376
308
333
361
381
420
345
341
322
299
278
289
225
291
326
320
269
289
352
295
207
329
286
280
313
319
331
306
313
288
232
273
274
391
254
272
358
289
392
326
288
299
312
258
370
298
334
279
371
266
298
339
291
379
322
335
338
335
299
258
343
346
353
292
351
255
272
361
354
360
246
285
318
292
387
269
309
268
366
366
277
280
286
340
397
357
269
349
315
351
339
342
279
340
325
295
307
333
353
362
350
289
356
361
256
353
353
337
236
307
308
350
375
256
354
348
346
317
327
386
366
294
250
342
234
309
307
313
320
317
378
287
365
322
339
326
315
316
364
290
334
326
297
297
277
219
323
390
288
322
387
405
296
267
391
335
326
307
321
252
331
218
329
366
295
307
253
309
252
349
258
333
296
257
338
380
345
342
299
336
350
275
264
401
303
360
284
241
262
266
322
338
278
271
280
350
420
296
248
189
249
323
339
401
290
339
276
289
235
341
250
338
373
423
344
302
327
242
303
371
296
295
274
359
334
318
357
235
342
300
304
329
336
360
329
376
288
338
367
350
225
299
273
315
376
337
278
352
195
304
379
371
322
357
383
299
286
308
353
335
354
330
345
254
344
347
249
346
286
335
295
317
169
276
377
269
359
278
231
348
359
323
317
373
280
318
302
323
399
281
254
321
312
324
308
347
367
322
266
360
370
292
317
370
333
368
276
350
328
323
293
264
367
268
336
272
257
289
337
320
324
381
220
199
294
252
366
407
312
366
332
274
309
300
309
319
341
308
294
342
312
301
268
317
244
352
330
309
241
350
349
329
397
295
263
286
313
322
357
384
272
288
238
242
296
326
385
264
318
219
290
292
372
323
332
272
252
290
355
298
288
263
256
253
310
298
226
307
315
311
299
391
294
361
354
322
279
268
324
404
321
396
343
288
205
284
300
198
343
323
334
382
429
326
317
376
304
417
244
261
291
425
293
267
325
297
380
348
294
391
338
265
327
369
352
358
317
369
344
273
288
283
311
313
278
395
339
277
316
253
345
295
318
364
326
328
256
241
354
271
341
343
299
305
254
318
303
264
259
318
320
278
225
268
349
315
323
311
329
267
355
338
286
373
319
330
405
356
270
337
349
307
320
312
321
335
394
235
379
277
298
249
306
430
387
374
285
314
372
192
357
310
325
320
386
263
360
324
311
247
272
354
350
342
323
306
300
303
324
321
287
302
342
328
413
362
372
324
285
328
363
330
310
253
283
270
269
282
288
384
280
328
352
307
360
277
418
257
259
245
361
215
359
285
353
287
346
329
366
342
371
352
328
250
271
288
240
362
335
392
395
265
315
276
329
364
263
303
327
295
229
345
277
223
293
284
286
343
334
339
314
393
293
248
302
337
375
323
294
319
314
324
279
256
297
213
322
285
291
391
306
339
373
246
292
345
325
307
313
318
415
365
348
330
298
247
265
309
337
289
291
277
327
248
411
282
290
325
377
339
367
333
288
276
392
335
422
275
281
257
340
242
263
388
295
272
257
291
287
231
301
346
373
319
296
244
270
314
320
385
337
375
294
306
332
307
300
364
244
258
364
390
354
305
310
326
328
348
307
314
350
229
286
310
340
299
370
383
259
364
303
392
280
243
352
242
324
329
351
226
323
279
307
345
278
255
278
345
238
267
358
331
318
274
291
347
294
345
324
226
381
339
333
311
295
370
254
302
358
346
350
221
399
335
295
330
256
287
216
347
294
267
417
325
429
304
325
339
297
271
349
236
280
261
368
303
276
362
353
385
301
328
340
348
352
302
322
320
255
344
318
331
261
251
285
357
309
257
303
334
357
413
268
376
331
322
323
363
312
278
339
298
347
278
312
329
328
220
398
299
264
382
318
342
330
286
278
349
242
283
303
289
298
295
361
256
362
370
281
260
337
415
310
320
346
338
318
255
371
384
335
385
245
285
281
345
334
310
363
254
389
250
292
325
307
364
327
303
366
237
265
363
357
277
318
278
331
268
306
316
240
316
341
289
284
361
285
306
320
311
330
402
297
286
341
352
257
304
406
269
345
300
290
361
369
366
381
335
388
258
325
330
338
307
257
316
259
350
303
308
314
368
285
284
263
335
318
326
313
248
384
259
330
295
365
268
324
373
335
259
398
330
278
286
312
324
319
314
290
291
372
269
302
343
248
337
348
275
286
318
336
326
315
308
322
409
327
261
264
331
281
349
221
313
371
394
317
268
459
345
332
344
367
363
354
351
319
333
336
338
265
282
340
351
314
329
294
303
334
340
296
332
291
217
328
264
332
317
287
240
371
263
338
309
242
283
347
293
343
382
237
332
319
354
344
339
214
351
360
309
325
312
293
388
308
369
353
346
331
333
298
240
258
320
330
298
277
354
374
281
318
295
365
316
261
307
270
211
284
379
273
275
329
260
345
292
315
261
304
317
350
369
334
296
276
295
349
373
331
288
253
232
282
304
323
252
370
334
223
289
302
270
316
286
318
305
348
311
372
325
386
227
323
241
219
231
269
421
361
363
305
333
329
282
316
344
356
353
341
343
318
336
247
284
300
310
293
321
237
362
225
354
320
270
323
298
276
274
367
272
295
353
345
376
383
245
297
331
293
278
245
313
315
327
360
328
358
268
343
270
343
336
291
356
310
291
306
329
264
328
315
203
219
297
278
353
325
302
292
359
243
304
263
321
305
295
318
296
365
294
344
295
336
412
292
248
276
321
352
355
360
309
366
355
258
433
276
334
273
292
225
355
351
333
296
359
362
299
366
341
273
296
292
356
345
282
249
347
253
318
354
280
361
307
191
318
274
284
329
345
277
367
328
303
316
406
329
308
346
238
240
267
298
344
172
267
268
283
334
329
387
306
404
278
370
365
371
302
410
355
317
337
294
296
304
323
299
353
272
302
334
297
318
239
294
188
384
246
363
247
280
410
349
292
390
244
304
308
303
379
264
238
265
261
231
376
312
338
403
336
318
256
298
356
358
269
342
276
350
349
357
340
322
260
266
306
340
272
350
261
290
328
394
284
364
284
322
261
285
279
339
353
314
312
358
271
287
279
239
315
347
335
343
290
271
352
341
353
283
289
328
346
246
366
334
320
335
328
334
284
379
321
282
341
313
309
318
394
343
326
283
312
287
331
298
312
394
304
245
374
320
318
301
345
324
281
301
310
332
296
270
302
307
275
330
221
351
347
360
244
264
334
350
329
327
294
340
354
323
341
289
350
277
283
259
382
291
334
360
325
313
254
275
300
326
298
278
306
321
328
364
368
382
331
353
301
299
371
283
297
322
293
260
322
367
351
275
358
287
279
273
319
308
344
259
323
327
320
358
279
294
240
305
304
337
285
276
289
277
348
328
331
264
325
372
277
311
297
260
246
259
352
305
357
340
339
337
271
346
441
359
352
331
296
250
324
315
292
358
228
209
322
277
381
270
299
276
295
371
327
284
239
384
255
291
291
359
258
373
382
309
291
343
292
289
348
316
225
307
414
322
303
333
296
279
265
295
363
268
265
219
347
342
308
309
309
345
323
305
268
317
284
251
249
325
228
296
307
334
344
232
392
338
367
282
259
313
280
326
278
310
366
333
311
290
305
304
295
340
333
427
309
269
327
372
300
301
321
338
332
291
246
349
296
347
326
356
292
373
362
394
340
341
260
339
308
284
374
310
363
263
296
203
363
353
329
441
311
370
289
280
226
388
263
276
251
311
344
311
316
294
310
297
363
303
354
325
312
377
293
267
335
389
290
283
252
219
366
251
255
302
299
357
390
284
303
265
271
308
314
360
307
305
309
371
356
336
322
309
190
309
267
314
231
408
199
305
285
340
421
319
367
353
330
275
266
337
367
356
235
323
327
388
300
331
369
265
327
301
295
313
297
220
329
348
333
375
342
344
319
207
333
381
314
289
333
225
281
377
274
300
311
278
323
351
343
346
286
354
339
215
344
357
343
259
302
301
384
311
395
279
267
335
237
343
242
363
372
371
302
409
318
274
365
287
302
313
284
310
327
336
327
317
342
337
314
277
346
324
234
329
345
283
262
272
360
222
309
272
302
246
305
296
295
275
344
211
318
337
337
324
399
328
257
295
379
333
330
296
337
350
355
267
251
302
323
334
292
360
354
272
303
299
288
325
240
299
314
353
266
346
262
391
328
385
351
355
345
330
355
239
281
324
346
273
399
267
323
355
321
230
306
203
231
253
418
259
296
317
313
277
310
266
287
306
324
289
302
277
307
264
391
335
349
306
323
315
369
370
233
349
362
412
342
308
399
301
339
360
260
296
314
253
311
263
323
306
416
307
298
359
229
355
336
270
342
356
299
294
352
350
279
338
302
222
409
282
307
320
344
311
276
309
264
269
286
351
327
391
321
315
305
307
355
263
253
272
259
355
309
391
328
314
386
333
258
295
334
297
322
387
331
362
324
257
242
301
319
322
349
355
299
362
343
328
306
320
335
322
270
363
233
311
323
376
276
306
230
363
327
320
367
334
305
244
268
324
358
345
336
400
325
288
267
294
304
266
331
352
326
246
279
348
362
276
259
320
369
332
353
283
367
321
223
192
190
288
280
266
289
207
313
380
297
296
395
258
183
279
335
253
271
344
345
319
315
308
316
248
305
275
324
367
362
280
292
348
351
361
315
440
318
280
288
303
387
407
358
385
208
224
347
337
309
260
271
296
339
319
290
319
317
249
276
289
266
255
329
281
295
295
213
309
309
258
311
233
306
350
317
266
405
338
352
333
290
402
337
351
333
358
374
307
296
286
371
226
217
258
304
317
396
342
207
285
391
412
268
346
274
252
255
412
307
298
287
298
377
359
346
258
354
416
260
369
321
291
258
347
357
328
273
337
391
254
358
355
398
372
286
323
323
333
328
341
303
375
254
308
361
282
342
333
294
385
338
341
302
320
281
292
364
361
292
345
263
307
286
263
351
357
383
372
309
344
320
378
318
341
339
291
304
321
301
363
328
227
325
261
376
335
329
276
378
370
315
350
305
372
369
259
280
388
249
383
305
296
244
281
399
377
322
295
321
389
261
333
322
330
314
305
332
273
405
274
334
365
340
346
268
356
337
235
294
260
287
335
321
344
274
298
305
302
204
293
275
290
268
357
365
356
268
290
350
359
345
327
352
308
293
304
285
332
349
305
345
265
317
364
357
286
306
301
315
332
396
287
413
324
307
312
238
311
397
396
313
326
399
314
354
353
293
354
384
339
313
341
226
321
303
364
367
324
291
305
354
283
250
242
271
325
312
383
337
322
359
275
277
376
219
313
340
343
369
332
283
398
293
336
372
332
368
339
263
296
382
281
286
294
312
313
301
344
235
246
308
327
301
237
293
391
279
402
394
271
271
380
336
373
265
347
308
216
318
302
302
362
269
271
274
327
294
306
232
272
309
295
373
267
228
472
306
337
268
362
247
270
317
310
377
301
247
382
308
263
382
339
294
335
335
217
312
350
309
344
286
332
360
294
310
308
362
311
393
296
293
277
322
332
311
257
286
320
365
273
343
381
356
303
341
375
308
277
377
258
272
315
275
335
333
229
347
284
285
334
250
373
348
271
371
332
308
312
265
362
349
383
311
350
269
277
251
334
281
239
413
303
309
322
245
272
416
331
358
305
337
304
261
358
352
328
301
352
374
307
388
244
314
283
314
289
397
366
327
339
411
321
332
332
330
300
321
257
379
341
329
298
319
243
319
318
346
293
271
320
361
396
307
342
375
240
405
317
313
339
378
275
368
308
270
318
338
345
288
324
354
399
288
329
303
297
217
317
383
306
368
314
372
225
352
322
396
257
309
255
310
353
300
263
369
288
340
332
346
341
349
287
337
347
338
305
322
231
386
381
250
328
370
349
348
290
347
285
347
410
414
253
318
268
385
314
378
307
333
331
249
312
252
273
369
310
276
327
393
315
354
265
211
414
364
282
346
335
349
256
320
333
158
327
336
299
247
335
323
274
257
388
349
312
394
323
291
307
274
343
331
331
262
324
246
374
370
277
332
345
281
354
254
392
364
323
327
293
324
400
306
373
258
297
255
252
307
271
362
295
404
349
315
343
297
334
284
302
381
329
318
328
282
283
343
331
398
320
258
220
270
313
306
228
289
257
257
325
291
351
355
237
290
332
328
343
315
321
343
306
470
315
333
297
248
249
311
317
317
315
317
301
301
239
348
211
296
376
246
334
269
383
331
313
394
327
351
321
342
346
343
298
278
295
352
250
359
323
321
327
356
280
280
306
269
295
380
319
365
233
326
350
263
257
291
328
293
239
264
288
320
302
352
394
316
414
307
361
339
336
340
353
304
330
314
309
224
303
342
310
307
302
319
277
378
391
302
309
331
306
356
315
252
263
297
342
369
309
280
273
306
347
378
263
302
326
333
329
265
377
353
303
309
267
278
210
228
308
358
397
326
403
318
285
271
260
330
306
397
304
289
349
253
364
351
315
231
367
333
342
379
264
397
349
376
350
289
334
307
330
389
322
340
247
263
330
295
376
299
316
366
319
273
256
255
299
333
249
349
294
277
307
323
354
294
355
241
314
267
241
256
352
402
372
328
319
318
324
295
344
330
279
326
330
393
315
236
348
384
286
358
322
311
317
314
297
261
295
275
224
265
258
309
377
311
330
206
324
327
341
271
353
231
336
358
282
305
337
379
296
372
254
397
320
353
342
280
255
324
329
334
323
304
290
304
353
312
393
306
308
325
338
287
337
343
260
238
405
287
310
208
313
346
365
319
335
324
285
326
398
278
374
395
280
368
295
250
308
291
299
358
331
337
257
305
310
338
385
363
268
311
309
339
338
256
322
283
276
288
317
410
245
298
335
327
289
272
317
367
320
299
394
311
280
317
257
406
271
373
364
375
341
311
305
313
211
375
322
379
310
324
285
276
370
314
306
324
236
377
230
281
296
268
371
275
338
312
347
312
296
376
387
377
365
310
251
304
316
335
267
332
351
370
386
264
312
388
325
362
275
378
219
276
306
222
320
373
284
298
347
332
249
269
292
263
286
282
250
381
322
318
395
366
234
331
327
284
192
393
203
355
303
299
289
293
287
316
309
231
221
324
252
366
351
344
350
356
307
337
324
256
326
275
274
318
358
328
337
315
294
349
302
357
320
326
244
356
337
274
289
246
356
266
331
245
355
443
287
308
292
287
368
332
317
353
403
314
269
349
316
353
331
241
278
258
343
265
333
312
371
301
266
297
335
342
339
297
293
286
294
353
297
288
309
318
368
278
344
294
298
343
286
292
291
365
327
404
323
303
345
278
356
341
400
302
323
364
276
325
254
348
236
271
382
301
264
332
346
371
313
357
341
296
298
343
288
354
288
328
315
251
244
311
358
327
267
301
353
345
326
353
263
354
336
445
404
368
319
190
320
384
263
306
346
342
332
365
340
300
301
399
244
269
292
340
258
376
263
316
299
328
290
229
335
277
310
404
296
360
344
320
326
346
262
323
321
356
284
294
290
288
333
389
368
266
253
361
314
371
346
365
283
331
377
312
241
283
284
357
348
279
441
340
371
279
289
300
280
339
351
289
310
294
386
316
322
319
272
344
340
317
301
300
205
302
276
278
330
313
292
302
319
290
348
281
290
290
334
297
371
250
259
324
332
329
404
339
287
373
294
294
296
359
346
311
330
334
302
217
371
281
337
369
363
297
271
333
262
310
299
335
295
348
311
335
260
407
311
308
368
277
288
239
369
267
397
351
320
323
294
318
298
334
286
247
346
319
241
347
365
325
270
278
326
339
324
339
275
305
379
322
287
413
327
376
260
325
276
293
309
297
282
257
323
318
349
295
352
298
319
358
286
331
271
347
318
311
262
370
342
303
253
356
308
400
322
355
409
294
372
325
283
332
306
344
314
306
308
339
319
296
320
245
283
280
267
350
291
323
254
270
258
296
272
381
286
438
293
304
269
204
308
321
375
244
413
383
226
276
235
367
278
262
293
292
274
288
324
308
325
323
334
268
325
344
308
369
302
307
378
297
233
279
307
315
333
268
331
269
358
249
305
328
317
369
356
327
326
302
271
357
355
390
245
306
359
264
303
321
291
383
294
344
363
353
301
332
360
324
263
322
323
311
355
251
332
242
329
288
300
315
239
335
320
296
329
275
359
314
274
270
326
302
290
342
355
285
358
418
361
377
416
326
305
312
304
370
366
356
329
280
301
291
347
361
332
314
377
221
296
227
283
259
372
319
330
341
378
403
267
377
345
237
295
337
308
298
264
304
238
346
243
307
256
330
228
422
318
280
345
332
361
297
305
321
305
288
279
319
331
319
317
377
299
338
283
279
206
305
300
257
293
400
248
264
308
311
405
344
312
388
353
318
291
342
416
346
262
273
267
381
320
234
367
199
282
327
306
249
340
297
257
390
263
329
305
340
267
339
331
234
389
308
350
251
261
283
287
384
360
332
313
242
316
347
367
324
270
225
313
281
266
314
379
332
338
376
384
314
393
307
279
273
372
388
324
340
354
289
342
244
320
324
344
276
249
367
279
363
258
306
282
292
321
236
330
300
257
402
254
323
363
347
308
273
215
440
255
326
293
338
381
310
319
318
299
295
329
367
267
298
210
301
333
302
335
262
368
374
297
381
302
317
318
323
421
332
275
293
312
292
228
319
255
224
317
324
385
300
346
304
362
424
322
281
204
365
264
338
274
311
292
296
351
337
290
312
264
288
372
299
319
389
358
365
393
305
272
394
327
247
329
284
199
349
366
281
347
293
214
231
310
342
286
338
310
321
350
291
230
311
290
296
352
281
328
327
244
331
336
289
332
428
337
312
398
323
323
286
329
334
344
320
343
288
365
340
295
353
276
300
246
277
348
352
293
345
268
312
328
280
347
319
338
247
300
341
245
406
382
314
298
377
298
287
304
362
331
280
311
293
282
338
334
317
371
267
275
265
392
392
314
395
317
358
290
320
345
372
334
288
288
328
308
310
265
262
260
292
385
316
355
319
398
333
197
252
309
292
402
329
338
386
283
256
317
280
229
389
333
327
282
245
304
270
378
309
309
335
339
269
342
336
334
343
343
337
402
267
339
232
330
334
282
287
384
291
298
371
322
317
318
278
278
342
353
278
374
311
304
288
300
305
221
301
317
318
367
271
353
346
222
294
334
315
278
387
343
253
334
291
225
338
356
343
341
306
288
363
308
396
305
333
331
337
314
341
313
317
335
354
292
331
291
388
345
306
272
368
361
322
341
336
324
326
273
292
298
353
288
379
311
283
267
316
294
329
242
245
295
347
314
340
301
343
302
426
289
382
249
322
218
327
268
343
350
291
380
309
335
344
271
372
284
361
315
369
207
312
349
284
282
269
363
324
300
320
298
239
374
286
334
321
309
356
336
320
351
349
315
322
262
245
285
256
297
339
290
311
279
294
248
201
379
293
425
296
371
260
284
307
290
352
316
321
301
329
193
324
258
243
350
288
297
271
288
247
306
368
231
351
389
271
367
279
306
252
262
216
239
325
361
365
310
282
282
300
298
332
297
313
206
292
317
223
400
294
355
316
314
295
284
380
315
311
219
281
317
368
346
353
402
377
365
325
398
290
288
302
389
350
245
262
256
272
183
263
277
345
264
293
319
341
338
355
364
352
372
304
278
310
222
296
342
310
145
264
251
336
335
275
291
266
304
234
373
327
306
330
336
300
266
258
331
312
364
223
334
294
374
323
356
327
331
309
270
334
279
318
460
314
297
360
215
296
350
277
330
326
333
319
362
367
316
353
285
332
370
268
275
299
285
281
365
367
300
261
335
337
292
341
338
328
327
315
274
277
329
310
321
321
319
352
317
260
300
327
281
191
432
376
324
364
330
232
234
263
355
345
336
248
270
277
311
409
322
303
328
326
310
356
333
268
295
360
259
372
283
313
371
310
341
339
366
323
330
262
239
286
311
291
303
323
322
315
318
311
378
382
358
315
264
268
296
331
318
305
271
350
332
379
367
330
253
328
314
348
405
404
367
357
285
278
307
336
342
270
320
243
245
313
310
341
409
264
301
343
308
351
350
265
323
296
333
290
317
366
349
328
332
306
332
352
367
303
353
257
353
353
289
322
343
317
227
350
262
283
233
356
343
304
330
207
223
321
327
337
220
198
279
301
291
270
391
319
319
242
270
301
381
315
261
321
208
345
323
339
347
368
325
301
349
268
338
287
337
335
262
347
348
314
257
343
360
324
283
308
299
321
325
340
342
257
391
356
340
356
251
259
300
285
333
321
383
315
308
350
325
320
332
334
280
316
335
323
403
286
288
297
366
361
284
280
301
266
311
335
406
282
277
346
270
312
333
397
295
278
339
269
381
338
323
316
332
282
263
307
291
361
304
288
280
282
383
258
379
389
373
341
273
314
342
257
318
326
369
310
317
308
276
338
329
348
367
380
266
323
353
291
373
365
302
356
336
298
374
350
269
304
267
312
288
374
290
326
319
335
285
296
416
302
383
288
366
278
268
321
318
334
325
275
308
304
336
252
278
357
280
352
235
343
318
312
215
335
318
338
245
260
350
316
292
327
222
367
355
328
385
375
321
303
300
308
289
327
281
315
291
305
277
353
279
272
299
334
303
337
268
250
252
271
315
383
334
321
306
278
344
373
383
254
263
352
301
297
292
398
351
319
267
223
278
340
379
272
342
353
369
378
246
286
282
357
290
258
336
295
296
284
365
348
248
298
339
307
294
338
283
320
403
323
314
332
379
315
302
312
299
295
256
318
358
243
307
339
328
246
313
317
372
377
338
294
395
262
334
355
359
217
255
320
329
289
344
270
294
350
350
304
303
317
320
275
203
365
272
221
302
332
275
341
274
319
317
355
325
312
305
351
249
269
269
303
321
305
278
313
318
260
312
334
376
308
293
269
364
330
261
300
256
353
269
226
325
357
301
234
364
299
347
377
404
344
303
404
350
233
290
311
394
374
331
272
383
259
276
301
250
392
288
336
279
384
357
328
230
278
246
242
367
315
403
367
345
306
408
329
259
283
302
221
299
321
342
258
340
432
312
326
284
205
341
298
349
300
270
410
263
383
333
263
312
377
297
317
289
323
346
299
315
294
372
261
370
315
384
339
305
346
336
324
331
330
252
263
347
350
387
338
329
330
229
355
371
286
174
299
316
233
354
281
318
387
267
363
243
311
355
375
284
369
332
307
309
358
268
287
278
312
382
325
299
270
232
317
342
353
342
316
354
294
331
227
403
344
303
376
340
402
214
307
315
296
370
331
358
286
245
300
302
339
347
266
369
319
314
307
335
393
269
339
264
303
372
407
309
272
359
394
306
304
340
278
220
333
175
347
335
316
328
226
360
313
315
274
320
337
398
302
239
368
375
325
368
239
371
326
361
388
294
379
215
302
328
351
285
354
291
414
287
367
318
357
346
374
391
328
329
306
356
310
333
323
284
293
286
299
333
325
260
343
313
299
247
325
346
290
339
368
237
339
375
330
304
315
340
317
276
275
236
286
345
261
220
308
302
268
273
268
285
271
226
355
245
285
243
303
317
281
320
383
314
298
350
322
394
316
364
285
397
299
327
318
266
364
235
340
351
291
261
238
363
263
299
302
322
439
317
342
312
254
268
285
376
338
364
373
372
301
383
282
322
402
257
305
305
233
357
409
316
328
367
290
310
307
258
336
313
342
331
256
360
339
285
283
355
257
334
286
402
371
311
398
281
324
375
293
349
324
332
286
307
341
367
259
284
300
393
260
286
317
356
254
279
315
293
324
363
324
297
303
337
381
248
360
423
320
268
264
213
329
286
360
315
349
324
318
276
302
311
295
300
392
326
247
330
336
322
371
328
334
359
358
387
352
265
302
338
282
355
274
295
308
237
340
283
304
305
333
376
268
294
257
328
361
262
414
310
328
378
398
313
368
380
374
314
312
346
323
331
326
323
273
286
374
331
277
403
311
307
283
311
351
322
310
345
212
392
348
392
290
419
302
244
241
308
359
279
249
368
278
329
324
323
245
287
290
322
275
358
242
353
333
326
379
298
338
302
373
387
286
338
339
265
292
298
346
331
320
311
243
365
295
313
333
229
383
323
257
314
301
381
337
354
352
352
284
401
316
286
249
253
320
358
291
301
300
256
309
354
313
271
232
294
340
359
298
310
243
356
371
259
333
245
291
373
279
344
268
322
358
314
297
275
279
349
267
246
306
305
315
262
292
350
400
346
360
311
262
227
280
250
378
233
308
213
349
318
291
263
293
268
306
243
379
366
245
380
308
252
378
311
309
296
298
359
385
242
349
300
405
312
323
349
352
308
425
256
276
305
323
399
263
302
345
360
364
360
331
348
383
314
267
315
275
286
354
361
378
299
284
403
275
286
283
395
302
231
332
286
262
386
364
238
347
322
277
380
284
323
308
238
340
393
334
326
270
303
316
290
356
261
295
268
299
189
311
389
314
351
383
339
331
285
308
259
384
309
285
369
335
337
389
333
345
219
319
339
353
359
269
319
337
363
327
201
350
351
278
322
276
355
358
331
319
341
275
313
372
356
315
316
311
310
331
329
299
289
258
341
353
339
341
344
392
334
313
308
328
259
304
351
325
328
270
364
406
347
337
362
403
247
321
247
220
346
321
341
361
260
229
300
384
304
367
356
344
363
266
285
268
403
373
310
290
281
291
255
296
346
361
295
350
334
323
354
277
244
369
230
333
310
247
307
393
297
268
304
273
405
247
384
275
368
299
275
390
311
379
346
274
316
276
294
328
322
302
384
386
287
304
283
348
375
348
374
386
293
308
248
342
188
280
302
343
316
337
285
329
264
376
272
349
258
346
291
355
250
278
383
312
303
359
355
398
219
319
312
334
320
243
329
286
383
206
307
340
283
397
377
308
229
303
346
298
316
329
330
336
300
348
341
352
255
276
212
300
329
357
298
334
322
412
335
379
315
280
322
335
287
333
361
307
315
248
293
326
288
261
335
285
337
400
310
289
345
389
392
297
277
195
356
258
361
341
304
324
298
323
344
363
280
340
345
323
344
258
408
278
308
314
315
305
349
338
295
199
286
339
342
340
250
309
321
363
300
265
340
309
381
320
270
335
282
231
301
308
341
325
336
400
287
260
297
390
323
277
305
334
346
283
228
284
325
331
313
243
321
277
328
286
255
357
302
279
327
396
397
319
399
343
295
350
276
246
280
292
373
267
335
288
335
418
339
291
335
259
250
312
241
321
361
362
360
310
270
335
345
365
389
326
337
296
319
249
338
232
260
287
298
285
291
322
328
329
356
339
228
383
329
343
250
308
282
304
311
329
357
296
362
341
328
344
326
289
286
295
387
354
302
297
256
350
372
308
349
329
298
335
250
353
290
306
333
351
298
276
314
316
224
317
264
293
301
262
365
336
283
331
286
209
351
323
287
262
383
379
272
315
308
338
284
352
363
276
275
296
266
313
306
312
319
340
337
371
293
384
330
269
364
253
370
345
318
346
346
357
262
260
330
323
412
353
277
288
303
220
366
255
349
406
301
335
368
303
302
301
280
341
397
219
260
318
280
373
320
304
199
315
357
360
353
325
325
331
319
384
316
267
330
324
337
320
266
262
340
377
225
348
360
293
383
240
321
271
353
349
313
326
353
287
257
272
340
303
341
264
330
324
257
302
273
283
358
342
312
298
366
420
287
259
306
342
282
276
278
314
273
305
410
270
271
299
253
389
263
300
299
327
283
290
283
309
340
385
322
367
299
273
297
369
362
316
344
289
329
340
317
346
238
284
362
260
392
302
355
392
313
325
327
292
283
291
276
268
357
261
291
310
358
322
242
183
415
394
299
312
316
351
290
363
295
366
300
340
340
332
290
301
272
293
301
252
271
357
334
236
294
262
412
344
323
325
335
289
328
425
314
240
305
297
254
334
355
304
351
342
354
342
344
303
278
381
337
323
351
281
364
283
291
339
190
308
315
313
296
347
338
320
418
318
320
223
279
294
367
364
269
320
268
282
218
414
424
268
354
340
323
267
325
294
296
303
346
274
404
287
340
370
239
318
342
315
299
252
316
367
294
280
261
380
387
355
321
272
298
307
317
247
262
331
368
282
352
242
318
371
404
345
354
297
369
340
374
247
260
261
390
312
376
299
342
307
306
270
299
303
306
332
290
304
265
402
366
293
342
304
243
272
361
367
305
292
231
194
347
290
250
243
266
320
313
336
290
389
245
248
324
241
393
395
345
303
302
327
387
338
355
253
285
348
301
292
307
312
280
289
397
354
273
349
325
279
344
324
218
302
383
295
297
357
257
344
323
327
325
296
318
309
381
293
266
337
330
254
269
359
367
369
300
269
320
304
290
367
372
288
347
339
303
307
247
268
311
321
294
305
344
272
339
330
406
390
317
353
293
365
325
287
256
347
349
331
309
280
287
342
312
242
209
211
302
317
370
311
331
342
348
359
342
342
365
269
297
357
361
228
318
319
378
300
272
369
314
268
287
374
283
312
334
308
283
341
325
330
273
281
283
325
207
334
310
322
281
250
324
306
314
333
245
308
309
251
301
315
314
308
231
347
340
277
306
330
318
363
247
343
342
323
396
294
249
333
321
297
324
413
387
388
276
343
289
260
336
297
290
339
335
346
226
285
356
348
246
298
342
318
251
320
274
268
313
273
362
358
271
309
315
371
348
261
261
295
332
370
287
283
358
253
425
350
293
382
236
335
359
234
322
342
369
317
300
281
257
302
393
384
383
350
270
321
298
338
311
314
267
285
377
327
260
318
326
367
325
364
255
338
343
331
389
380
350
321
374
339
371
322
327
308
329
390
315
279
373
289
313
354
277
334
355
317
337
272
344
255
301
239
341
332
254
412
329
364
266
234
305
322
374
254
304
309
278
323
320
254
252
411
282
262
197
232
271
408
269
378
333
278
290
348
292
284
325
244
317
357
308
374
263
343
289
250
375
306
303
286
370
320
245
274
385
327
230
191
327
373
362
293
286
381
408
348
240
330
296
264
361
334
387
286
308
301
295
331
397
379
343
331
287
341
343
329
297
331
295
346
359
321
284
242
288
323
349
288
350
270
324
309
349
337
350
360
312
392
393
335
278
296
265
296
343
249
303
382
325
278
347
277
340
294
300
268
364
227
240
369
317
378
340
289
313
364
322
416
360
333
302
280
344
307
297
323
294
212
309
386
320
338
264
339
283
153
297
306
285
281
328
292
285
380
383
360
328
267
293
263
310
274
317
255
293
341
312
339
275
325
342
318
369
315
257
284
374
336
370
358
307
361
350
237
368
341
305
305
327
395
320
310
288
308
373
294
369
294
338
328
362
318
363
307
214
279
312
303
323
280
325
353
339
323
381
271
293
298
247
297
318
348
254
395
296
338
341
295
271
421
294
258
323
317
292
374
317
345
268
280
295
350
413
289
355
367
304
346
345
278
283
328
279
287
282
357
288
229
327
310
319
381
237
353
303
263
233
304
323
332
364
332
350
303
247
294
241
352
355
295
326
299
302
356
360
346
300
332
341
197
263
291
347
336
359
314
265
340
364
241
265
318
337
284
306
250
270
358
275
363
324
307
294
297
265
337
317
327
281
324
369
380
317
253
324
318
300
348
321
334
287
355
331
236
258
243
286
333
259
344
340
361
285
310
273
307
309
207
277
365
292
448
382
374
344
335
404
327
316
354
388
298
253
274
262
376
352
230
283
297
265
322
335
288
291
314
308
231
307
234
273
302
298
352
338
296
309
254
363
293
331
388
312
355
282
233
268
276
333
309
337
369
297
327
295
346
320
289
242
276
242
315
332
273
328
319
288
325
378
335
326
243
346
299
325
355
316
316
258
401
246
314
283
313
298
272
257
408
309
324
291
213
281
368
335
341
370
290
288
317
335
344
293
414
281
304
405
365
357
363
365
272
300
290
327
380
299
261
306
329
310
266
316
266
318
308
269
269
216
291
370
296
203
369
272
398
342
376
303
297
318
374
210
372
323
399
327
281
254
350
347
303
389
292
308
324
318
330
366
276
345
243
406
260
328
239
272
358
237
236
265
447
331
319
313
270
270
307
236
354
354
295
302
305
285
333
361
314
279
360
287
266
231
364
322
330
376
356
294
292
280
307
371
247
358
390
312
308
203
310
351
296
312
299
323
351
283
294
279
284
294
321
364
385
277
346
254
323
298
345
378
368
242
375
290
293
313
337
354
348
277
332
221
277
327
260
274
365
247
330
273
247
393
245
318
270
331
275
379
372
320
302
334
290
345
362
250
301
245
336
306
308
270
311
273
334
287
342
321
337
276
307
324
339
288
353
302
314
261
223
333
241
293
211
255
291
290
287
324
277
331
403
322
350
362
239
248
289
321
355
285
379
335
292
278
318
332
370
333
248
316
411
237
267
335
381
379
260
344
333
330
396
369
284
259
295
237
373
366
375
254
280
289
301
315
323
307
345
324
376
258
293
280
278
259
381
308
306
363
391
321
276
377
333
281
336
286
328
362
349
263
280
276
362
309
317
384
390
354
357
379
321
200
349
296
293
301
263
263
292
410
335
271
283
328
283
343
278
354
333
303
313
300
289
378
284
195
356
246
333
385
301
283
277
347
305
256
340
328
348
338
342
253
304
255
334
225
297
303
380
321
333
222
330
277
348
326
291
295
338
321
289
259
346
332
321
356
277
268
233
340
312
351
277
335
337
305
293
273
310
257
241
403
410
347
277
381
385
273
251
288
283
395
272
310
270
320
364
280
268
423
341
296
246
345
331
339
269
298
323
350
284
323
256
318
368
304
359
319
323
369
297
425
320
322
367
270
264
274
327
440
335
387
327
331
290
307
338
340
259
304
332
281
340
272
280
281
313
309
308
212
354
346
298
306
268
237
342
320
261
318
240
357
325
260
330
274
312
266
277
361
310
255
312
329
349
283
277
277
332
289
268
337
289
294
273
288
253
280
282
287
329
380
336
250
304
302
317
282
302
244
345
317
348
257
302
268
379
286
337
294
320
292
326
315
278
386
246
343
315
389
338
311
308
320
275
341
315
370
283
329
398
338
221
299
324
269
342
241
243
366
299
395
309
401
277
321
269
297
321
324
359
354
356
302
346
336
326
328
353
325
299
397
266
341
327
368
289
326
242
385
426
333
291
319
365
345
333
290
390
305
339
321
376
281
276
227
332
342
288
323
300
377
296
346
343
400
268
355
365
319
323
293
315
301
266
412
336
345
241
327
335
312
248
320
264
370
347
239
253
264
281
343
305
292
293
326
355
198
321
327
319
330
419
370
384
327
256
324
291
321
259
313
285
288
274
270
273
329
366
352
367
342
313
269
303
275
255
252
361
324
203
366
343
316
280
250
294
268
315
344
334
319
255
317
265
287
295
306
275
302
306
362
317
363
357
282
294
348
338
269
380
319
330
307
256
228
316
282
328
319
294
226
337
337
277
373
204
379
288
337
306
298
375
289
429
280
296
290
257
307
326
353
313
368
315
223
262
261
246
326
321
363
281
337
288
334
262
247
304
318
380
286
275
307
317
335
264
403
396
301
397
372
352
254
359
392
328
339
355
285
273
350
300
364
261
332
289
300
287
359
246
275
317
357
330
340
333
363
327
345
359
372
315
323
332
333
312
322
324
301
252
305
335
321
343
319
301
327
296
330
303
327
349
371
273
387
360
319
297
409
273
370
282
284
343
306
324
317
295
253
358
389
330
315
282
272
188
349
327
330
381
323
370
266
388
346
283
353
291
324
272
291
245
264
294
305
290
208
349
378
324
316
318
335
344
292
304
358
403
249
341
384
283
298
298
281
352
355
210
322
381
294
282
370
282
414
354
287
310
324
328
360
276
342
357
337
395
403
344
253
322
328
333
315
361
338
338
249
274
289
353
303
292
349
287
356
326
286
375
386
242
306
268
270
313
235
217
289
284
323
285
224
301
294
243
274
300
233
305
380
309
341
251
295
295
297
283
318
328
302
291
280
276
332
271
291
399
283
275
361
404
318
365
266
205
333
321
210
275
399
331
384
248
296
336
332
306
303
395
417
294
362
284
327
311
339
358
308
327
338
368
321
349
295
350
292
255
297
306
325
310
328
320
321
271
283
230
298
333
315
321
325
434
344
384
243
354
275
349
326
346
263
289
373
409
298
366
340
339
270
376
397
319
355
359
180
356
317
370
360
328
332
305
298
337
332
356
256
271
294
341
234
335
305
310
320
256
256
319
316
346
332
294
353
335
315
260
286
357
336
315
356
310
283
290
371
364
327
275
321
277
373
310
372
311
210
377
363
345
226
248
369
334
277
314
360
287
266
322
367
393
302
342
345
356
330
348
293
295
347
258
236
280
383
344
292
323
267
306
302
266
347
371
390
266
285
294
333
325
404
317
344
314
391
343
292
347
266
321
289
246
359
401
289
347
337
315
325
275
289
274
358
378
351
372
365
295
357
250
349
255
266
247
300
316
280
327
288
375
276
334
372
299
289
245
310
321
259
341
344
245
330
201
383
272
294
376
318
295
325
326
330
244
338
252
352
346
381
349
216
297
229
261
331
353
256
359
333
245
256
289
337
329
351
351
335
315
328
382
467
364
352
259
369
302
338
241
274
387
308
223
383
317
314
352
319
262
253
241
318
322
277
297
331
255
276
315
345
325
317
254
335
361
410
351
313
356
309
337
279
356
322
328
338
319
290
239
285
354
425
416
311
317
300
397
360
347
287
360
311
288
363
279
293
386
358
246
400
336
363
280
351
314
238
272
253
324
292
339
271
337
346
294
261
270
326
339
340
408
341
297
399
390
284
337
409
356
440
324
260
337
341
332
276
330
259
394
345
182
285
399
313
388
273
388
366
328
293
327
344
356
309
286
328
273
260
321
388
349
306
382
301
373
337
342
281
314
226
375
317
372
209
330
309
273
340
310
348
286
309
333
325
296
305
335
322
296
270
343
364
355
245
270
259
300
320
319
271
340
309
344
325
174
191
287
389
306
383
349
325
264
297
310
266
286
298
300
298
325
276
357
276
266
346
323
294
320
331
343
314
289
338
312
337
307
372
335
405
268
317
273
299
377
357
361
265
303
304
380
322
244
207
298
323
281
347
318
257
351
273
371
303
252
333
192
316
286
281
270
333
323
320
368
216
356
302
246
265
231
243
311
311
331
309
275
312
322
305
322
324
259
368
354
367
348
299
292
353
273
241
250
221
298
344
363
400
271
282
323
251
350
338
352
333
308
378
247
290
331
372
396
306
360
392
300
350
276
363
300
379
348
200
304
340
328
262
343
304
335
326
354
341
294
317
330
260
269
265
331
382
319
359
337
221
317
280
316
304
329
292
353
274
317
316
345
271
246
319
263
273
284
314
284
276
369
279
389
273
292
257
366
274
357
324
278
290
272
305
380
339
300
200
356
355
227
254
360
318
294
322
247
407
314
297
388
274
304
269
314
323
213
344
312
282
297
281
289
270
321
283
290
312
263
325
325
293
333
322
400
300
260
288
270
288
380
369
303
339
338
386
259
341
334
369
301
279
295
332
297
315
295
307
302
280
326
252
321
338
317
366
348
311
354
306
287
340
248
286
313
338
371
298
318
322
343
387
373
350
318
245
293
305
340
424
245
308
330
317
311
354
295
341
334
308
268
425
249
257
322
333
351
288
398
326
299
275
294
324
336
340
325
307
271
291
358
318
334
330
302
320
317
301
340
345
379
360
299
277
298
326
282
329
360
337
276
293
310
321
396
282
276
316
268
339
326
298
334
303
205
332
378
322
240
294
371
360
285
372
239
403
360
406
251
297
268
317
319
300
380
267
289
313
335
256
245
336
326
350
322
286
346
295
314
306
328
295
297
280
371
317
292
313
294
351
296
266
379
312
342
192
297
340
294
286
298
332
337
290
274
310
236
347
308
313
326
249
222
272
222
435
319
286
267
300
287
352
381
271
253
324
384
275
322
313
381
283
336
274
368
332
286
195
324
298
337
304
243
331
298
379
275
324
298
372
262
261
313
252
234
325
291
256
347
365
291
315
358
363
346
315
262
312
346
335
327
345
287
336
361
311
271
338
258
280
303
284
284
227
299
255
280
345
262
228
341
340
315
293
305
376
382
349
348
338
279
340
345
351
361
316
350
339
349
215
334
258
352
379
257
306
334
340
405
275
296
371
317
371
299
262
329
332
298
283
328
279
433
268
343
377
283
377
290
323
245
356
305
267
285
337
315
364
231
271
269
289
272
283
274
363
285
276
384
353
382
303
363
373
290
357
231
241
399
365
256
394
340
323
310
323
263
214
337
367
353
251
424
379
348
351
368
267
285
333
318
361
318
337
325
308
296
253
302
225
293
294
373
295
384
375
273
340
320
278
360
313
270
330
328
367
283
352
210
236
279
366
305
292
411
339
360
313
262
282
316
372
322
227
290
404
395
319
412
323
326
369
214
288
267
319
317
375
315
316
292
225
227
304
332
186
346
293
376
371
380
292
305
328
420
294
314
213
320
328
330
369
328
370
280
257
353
372
308
350
328
218
363
391
388
336
251
335
327
368
305
250
313
356
384
284
342
183
308
318
347
346
290
337
416
211
365
388
367
234
366
288
361
396
287
354
384
307
265
319
271
293
339
331
278
305
223
239
399
254
313
326
355
361
295
373
305
266
353
410
239
320
331
326
268
223
353
330
365
391
404
282
361
372
220
347
309
309
205
320
357
291
343
275
335
304
334
323
279
328
369
266
287
271
291
355
354
362
356
320
279
326
399
280
300
319
307
300
355
285
264
339
243
232
304
282
363
238
309
266
275
282
330
227
265
319
341
291
265
273
329
314
308
324
280
299
386
277
246
282
365
346
445
270
266
259
312
432
326
260
290
302
353
330
331
375
315
280
298
356
371
373
209
347
287
295
314
250
360
386
297
312
262
369
334
347
281
345
357
431
332
352
278
235
276
340
234
275
354
298
322
360
260
194
306
360
287
356
317
272
304
301
307
349
346
363
346
266
286
313
247
268
347
357
266
372
330
349
270
333
455
322
310
236
318
340
337
357
359
317
268
302
293
239
303
297
335
340
284
314
350
321
192
305
290
342
353
210
312
361
279
299
401
380
347
314
357
308
262
261
351
390
380
324
336
296
295
361
346
263
328
296
317
242
306
296
302
333
323
459
332
322
281
255
311
329
331
227
251
365
306
284
363
226
347
317
339
338
353
239
338
344
286
330
286
304
330
392
348
281
397
300
314
275
293
369
369
317
332
277
361
353
298
284
316
247
293
287
321
313
283
284
305
339
246
350
368
249
321
314
286
196
358
252
317
289
297
237
380
298
332
267
340
273
301
277
348
201
346
309
300
223
330
257
357
298
264
319
362
298
277
315
360
324
358
286
268
287
293
260
237
338
408
366
300
264
285
300
317
310
239
319
325
351
318
421
271
319
308
347
259
302
290
345
248
339
334
257
332
266
259
285
245
279
353
259
292
386
256
247
293
353
332
328
380
366
284
343
327
369
371
325
372
292
285
298
330
258
263
253
324
296
298
351
402
416
277
337
297
325
350
408
350
298
314
381
357
399
325
296
286
288
255
295
347
364
328
281
316
345
296
286
412
213
309
372
325
311
230
407
291
329
271
281
276
360
278
233
283
317
356
299
368
311
351
355
329
323
309
307
261
297
326
348
288
312
290
245
352
285
363
308
253
338
298
278
323
321
332
287
358
225
335
335
365
332
368
294
264
320
298
260
325
355
340
348
364
258
401
268
268
318
397
337
326
338
342
288
344
339
310
315
364
275
325
284
204
278
320
251
361
315
292
265
310
336
300
347
325
321
291
326
286
311
325
347
334
293
269
367
266
318
373
412
198
314
298
242
270
257
334
250
364
290
267
331
308
310
321
309
380
309
269
332
209
254
208
315
351
304
321
286
312
327
329
326
311
244
281
279
240
270
335
353
401
310
312
303
296
337
335
329
255
186
290
247
447
356
373
172
293
250
301
316
335
235
287
324
273
326
329
307
327
328
234
372
366
352
350
275
293
268
257
331
310
356
314
358
309
378
303
338
238
317
395
278
396
230
301
351
302
344
355
264
346
334
279
203
302
348
346
343
282
330
374
335
304
244
311
318
325
314
266
266
326
300
326
298
331
289
300
348
332
352
271
362
341
309
346
328
405
280
306
282
327
271
362
368
213
297
290
367
289
290
307
356
276
262
401
229
328
230
282
350
342
318
320
361
356
320
218
386
403
359
334
293
252
273
384
389
274
274
354
346
307
349
316
359
317
294
338
281
358
298
304
237
363
330
357
296
311
259
303
256
333
336
308
319
295
285
328
304
285
293
337
326
279
231
317
387
378
364
388
355
394
303
447
358
303
268
341
388
339
297
278
275
371
291
336
378
317
361
351
311
302
374
325
270
269
381
322
402
365
314
334
337
270
229
370
332
286
320
245
329
187
403
305
325
297
363
317
304
338
320
316
317
227
260
304
198
283
324
343
234
323
280
262
318
348
370
241
303
287
287
295
334
368
307
348
338
344
442
324
360
335
235
284
287
286
318
297
284
262
296
344
356
266
226
334
251
269
328
324
342
369
299
318
321
294
296
361
358
219
363
255
279
355
351
326
286
379
392
265
306
318
335
306
319
328
360
281
308
294
355
407
378
373
275
258
252
284
305
348
350
335
263
340
358
282
343
323
335
280
248
315
307
221
195
355
250
374
321
246
341
257
319
283
279
421
404
379
294
291
296
320
299
354
328
329
328
326
265
344
330
374
340
373
315
232
350
206
319
316
351
237
339
298
257
294
311
351
248
315
312
350
294
398
380
242
298
318
361
309
344
256
274
299
305
312
359
309
261
401
373
310
355
250
346
344
236
421
322
303
297
281
332
368
249
304
318
404
353
399
344
392
302
396
375
220
320
391
259
328
220
314
404
359
304
307
355
309
305
341
365
304
333
345
260
212
279
355
315
362
364
346
368
339
353
302
347
352
301
334
313
247
301
345
279
327
263
288
324
290
279
242
309
204
295
271
334
252
221
307
369
378
354
219
361
284
260
174
284
282
351
335
361
370
294
295
381
342
303
245
234
306
300
316
242
367
318
309
315
339
342
382
387
242
382
291
337
312
295
283
349
326
288
260
235
321
357
366
258
291
338
314
235
295
334
327
281
359
391
347
346
294
403
276
265
280
395
369
283
328
348
253
265
272
368
344
323
326
402
356
356
323
278
329
279
252
300
320
299
370
276
335
267
327
349
342
305
258
305
320
309
258
293
263
343
288
292
240
268
281
275
405
235
318
286
312
390
307
385
393
343
315
264
350
370
284
222
277
331
283
299
328
418
383
243
364
318
350
388
327
338
309
316
344
264
323
260
339
270
318
229
366
213
351
364
321
353
255
202
257
328
332
341
320
289
290
383
302
326
294
241
323
272
298
355
267
364
266
316
226
294
319
285
316
247
327
341
391
315
326
345
265
284
302
360
373
265
302
302
349
361
290
359
323
339
335
319
285
348
299
277
370
293
355
325
246
410
286
328
291
339
232
263
335
216
237
324
354
295
355
301
253
296
280
264
323
300
348
268
372
375
340
338
352
255
374
259
375
381
226
363
346
361
258
312
267
368
257
271
328
306
273
303
290
349
303
253
328
204
321
366
258
346
303
301
278
369
341
338
296
335
347
323
363
317
288
356
362
329
369
337
367
329
298
285
273
309
339
320
252
364
324
296
387
376
394
276
311
282
244
348
284
270
326
371
263
355
334
228
313
255
319
364
353
284
247
320
324
336
230
355
353
393
300
327
286
341
376
268
347
263
307
345
350
265
325
322
305
398
351
288
367
319
348
294
381
330
344
280
355
317
261
335
260
275
311
372
361
342
285
260
269
401
264
325
285
335
401
339
289
264
319
344
332
292
236
360
368
339
212
320
303
365
358
408
338
348
366
304
259
266
248
399
291
282
235
322
337
334
329
335
411
293
316
312
319
282
258
293
323
351
289
315
298
222
300
299
330
367
311
281
321
289
311
336
320
302
250
253
280
301
248
315
273
379
294
377
244
332
318
345
310
351
356
363
350
299
302
293
325
225
278
298
213
278
323
396
348
296
381
331
335
325
349
336
293
338
351
337
355
359
345
368
355
298
336
301
267
330
276
291
403
338
326
358
335
349
320
231
270
339
368
264
345
382
383
259
275
350
368
319
342
342
357
298
335
319
283
328
407
303
274
262
285
370
301
371
296
265
308
317
337
336
356
252
305
310
421
280
294
249
339
269
318
324
339
310
328
277
278
329
238
283
321
300
344
272
299
264
261
285
389
264
298
377
352
341
294
275
342
357
322
241
368
286
378
305
336
231
419
331
290
309
316
314
355
323
293
269
376
305
314
408
361
278
248
264
345
312
294
359
273
268
243
296
300
292
310
348
395
404
331
279
340
302
321
247
271
230
369
219
405
195
291
321
367
329
373
279
338
321
385
288
271
376
267
346
337
309
329
355
374
282
323
315
246
347
240
382
332
325
302
393
273
309
268
349
261
368
376
336
349
345
337
273
278
256
327
271
328
394
246
289
330
323
288
403
265
296
409
272
318
344
296
292
286
307
323
272
316
290
272
345
335
368
328
293
351
336
385
316
315
296
318
269
275
408
317
314
350
261
354
380
269
353
312
275
318
301
267
341
323
418
297
239
280
281
376
303
294
290
353
342
285
339
312
330
309
315
308
272
241
296
291
240
390
334
340
245
230
365
262
411
277
346
333
330
213
334
290
344
402
386
323
326
394
299
323
298
345
291
342
322
272
266
299
361
307
292
377
380
347
317
362
390
369
249
287
353
266
339
341
349
366
275
309
264
273
360
354
283
299
278
220
353
337
268
301
355
317
357
419
349
235
221
334
363
375
352
286
293
293
309
302
286
271
345
324
312
321
283
343
361
314
317
318
342
272
378
296
340
317
352
276
251
313
303
294
296
339
289
277
426
350
277
349
282
342
306
367
321
293
341
319
348
309
316
193
283
362
282
310
318
358
294
329
319
191
268
303
393
315
325
273
327
271
321
262
325
352
278
333
325
295
372
389
308
357
337
298
388
350
265
360
273
371
270
361
319
369
310
356
269
337
307
358
304
388
297
272
302
298
258
349
385
290
280
341
281
295
315
327
231
316
240
368
341
352
319
280
334
294
295
245
316
351
221
341
339
299
321
324
353
411
273
327
253
342
286
223
303
284
376
337
338
222
336
357
289
328
294
350
215
305
304
349
382
233
368
209
328
340
251
340
289
339
348
283
293
268
336
321
358
334
380
246
316
290
223
338
313
277
275
273
349
244
306
344
281
307
326
395
270
277
314
312
307
269
246
358
265
349
272
312
274
299
269
279
298
314
235
292
383
228
411
307
268
268
228
339
317
284
367
353
357
334
400
261
337
343
282
306
351
301
288
380
333
323
333
243
369
352
323
384
268
264
301
279
239
297
319
305
203
309
276
261
389
284
281
224
310
348
336
266
291
269
335
365
380
360
299
354
259
347
302
405
342
327
273
351
294
323
340
278
259
285
258
295
322
290
313
342
309
282
375
273
303
327
305
421
240
271
283
288
303
373
385
238
370
308
254
303
278
255
291
390
370
315
272
320
349
375
283
269
310
270
189
390
265
269
358
362
318
315
261
309
376
333
359
310
327
410
340
307
325
288
325
298
309
292
325
390
336
371
294
260
337
230
376
289
334
424
308
336
212
344
294
367
341
351
338
268
337
363
269
298
314
377
238
332
308
285
333
373
292
357
294
289
295
281
349
357
363
328
340
365
243
380
314
248
365
403
290
326
418
275
324
300
336
318
245
281
243
274
384
292
330
351
284
295
277
392
323
249
268
308
295
356
316
298
331
319
219
316
312
430
315
283
248
354
318
399
266
331
369
403
316
275
298
331
279
352
313
291
320
287
274
253
308
365
335
321
278
363
251
319
338
233
278
290
394
232
331
324
306
397
267
247
308
331
224
417
274
321
396
312
313
357
311
330
407
311
352
336
395
369
285
356
297
361
373
353
273
372
324
276
373
292
328
292
325
271
408
309
314
312
342
245
326
330
337
289
369
315
298
321
387
260
256
337
339
325
251
340
298
295
252
275
262
317
303
243
311
325
250
370
281
341
370
373
330
276
255
233
326
372
355
294
260
289
353
269
355
375
312
277
284
286
328
295
297
367
318
306
307
335
402
392
382
282
372
345
335
349
287
306
312
263
378
344
273
349
278
388
406
280
370
322
414
383
341
303
399
308
254
279
313
181
271
318
291
343
339
306
318
363
346
286
402
325
342
346
326
314
253
286
280
387
387
212
367
283
288
275
294
256
297
302
340
325
276
361
323
327
233
408
288
294
312
293
314
299
336
269
386
272
381
352
313
407
324
280
270
265
327
400
381
377
305
374
261
250
343
350
344
308
308
378
358
312
281
275
293
335
274
329
357
285
247
345
379
187
336
285
314
283
293
304
336
268
303
292
335
238
351
381
215
258
266
351
382
230
341
256
304
360
306
274
354
276
362
317
361
375
317
328
316
329
291
297
307
232
307
422
306
326
361
360
314
398
329
293
250
270
311
226
283
307
333
329
252
361
366
274
245
336
228
250
350
350
272
360
281
359
398
243
328
229
368
282
336
239
313
321
272
290
298
362
380
319
249
334
341
395
296
345
271
327
331
331
230
293
278
323
345
367
216
234
357
362
313
375
295
344
320
275
316
211
319
293
276
318
321
394
312
328
299
286
244
278
308
292
322
383
291
347
383
286
321
348
301
244
348
328
252
225
388
286
374
274
303
261
316
408
302
323
366
355
279
323
324
341
357
309
353
335
366
353
273
364
343
320
312
312
341
309
264
307
277
329
261
311
241
343
303
270
321
302
358
304
264
318
355
291
353
351
355
301
313
257
306
267
220
326
285
232
273
328
366
356
325
259
352
218
353
343
339
299
308
278
277
285
404
350
321
315
316
295
293
359
330
289
236
307
220
289
251
281
264
326
241
295
299
350
304
265
306
334
384
360
315
388
363
185
279
359
337
355
325
238
248
316
248
348
351
313
305
338
337
426
217
201
363
395
372
264
269
356
360
363
337
253
386
323
349
373
230
345
348
285
349
270
261
387
299
233
293
243
283
264
342
297
357
322
310
300
283
336
265
414
293
270
366
286
267
316
304
283
350
286
337
283
312
402
275
276
325
327
320
315
370
311
349
266
339
311
271
299
349
329
315
222
340
306
304
409
295
218
364
273
251
393
354
225
308
295
279
312
354
423
239
326
248
302
358
312
289
299
295
311
330
323
296
295
353
269
324
246
384
356
294
325
342
391
303
381
292
373
226
315
380
329
370
224
288
294
290
290
317
283
345
303
288
284
292
404
173
317
239
340
354
377
390
271
376
244
236
289
265
328
290
324
339
352
313
221
378
346
338
338
337
337
322
313
394
319
310
349
371
412
310
333
354
288
293
312
374
317
314
416
258
260
250
353
339
322
288
256
296
268
347
253
344
382
340
286
260
314
323
395
316
320
288
306
378
337
370
302
336
354
244
303
338
357
304
325
265
405
183
395
258
417
331
271
357
398
274
331
317
249
339
361
309
263
261
294
300
335
270
308
332
269
310
359
305
272
334
312
279
378
355
336
256
297
253
315
315
326
380
274
324
291
257
337
286
317
358
327
315
369
295
330
290
333
317
377
334
299
306
328
334
285
366
319
311
314
365
316
349
279
295
337
281
337
322
210
301
367
240
377
396
345
304
292
279
326
325
306
300
254
284
239
272
257
316
322
306
292
259
272
356
267
319
273
269
302
321
337
340
268
355
260
274
304
370
370
297
308
351
358
387
216
345
322
358
316
314
331
348
322
310
348
273
293
389
295
323
365
312
260
270
350
305
314
343
432
351
295
376
310
305
332
318
281
315
274
276
334
289
350
272
266
371
382
230
324
240
269
342
316
296
268
397
275
294
396
279
282
383
301
331
421
348
342
245
276
287
338
307
352
305
243
271
304
294
315
323
362
313
334
333
219
321
359
311
263
236
229
291
367
325
303
373
365
363
296
359
361
405
363
299
366
316
339
329
344
388
336
271
314
318
379
339
329
370
288
304
295
307
348
338
295
288
401
276
299
223
264
327
238
301
348
378
316
298
378
293
285
299
316
295
375
326
215
310
253
389
336
326
331
312
330
361
350
259
371
330
289
292
299
373
367
309
317
325
270
318
292
288
365
330
293
311
332
342
335
324
243
361
288
292
318
290
262
380
309
275
305
337
277
284
242
334
311
314
385
340
323
329
291
242
314
293
357
319
341
307
294
347
286
273
297
310
248
435
331
261
233
401
339
386
229
308
251
240
377
367
293
339
386
376
305
303
307
355
362
469
311
251
338
270
388
257
360
323
255
304
235
291
314
345
309
328
290
257
303
342
375
331
381
329
272
285
356
325
389
285
296
221
359
337
345
366
422
306
328
266
386
303
316
366
286
432
241
366
338
329
333
317
320
268
275
312
350
341
293
404
310
326
387
324
308
271
289
281
324
272
291
376
279
272
306
312
262
316
285
296
350
336
283
303
282
363
321
238
239
330
275
214
234
312
312
294
238
254
345
336
309
317
300
304
296
305
248
357
287
356
277
234
286
266
363
391
341
373
261
258
283
322
384
350
306
239
322
265
361
368
377
350
286
256
278
313
417
340
267
264
310
344
302
273
432
267
261
415
302
308
348
302
342
355
268
311
259
233
250
405
344
311
236
241
328
327
296
352
378
303
297
279
297
323
287
257
313
345
246
307
330
320
332
253
302
311
417
334
250
320
298
273
341
348
373
163
299
361
270
290
227
303
286
365
354
354
303
373
283
379
380
401
273
376
334
295
326
374
280
309
358
254
288
243
347
337
419
330
361
380
233
348
394
240
296
298
294
252
300
391
409
360
292
371
360
315
302
341
334
413
239
370
283
368
358
343
332
368
363
236
347
349
297
244
319
356
293
341
276
308
364
280
272
368
340
335
319
291
369
287
316
358
253
373
277
391
192
409
209
370
356
323
371
367
328
406
371
305
342
355
331
293
288
353
325
248
343
335
256
334
310
286
324
188
297
365
378
306
285
317
242
328
294
318
335
339
336
248
341
375
297
329
397
284
303
327
287
327
370
305
318
358
335
311
366
304
422
326
347
389
382
316
310
348
328
340
306
350
351
271
321
171
309
323
335
415
382
254
290
321
182
360
216
325
336
288
247
338
376
359
300
306
303
268
365
328
243
248
347
226
268
404
328
331
306
369
290
321
300
390
295
330
287
298
319
262
319
298
313
321
298
393
315
328
366
310
315
221
250
264
297
365
250
330
327
204
355
356
276
352
376
329
347
256
328
336
318
325
286
266
270
230
344
249
304
343
310
256
289
320
347
365
286
241
301
329
333
386
282
314
390
356
336
267
279
312
290
288
338
305
305
338
314
325
334
251
326
384
264
256
405
268
265
308
255
272
356
269
271
408
275
363
296
326
395
308
321
298
281
266
342
283
337
246
296
291
265
336
310
243
337
268
342
360
330
313
331
274
373
220
439
383
339
278
262
419
251
256
288
350
310
321
261
262
428
367
323
274
392
343
293
301
342
330
285
257
268
327
352
285
301
272
302
313
373
367
320
265
250
260
271
347
287
356
332
380
326
319
362
361
323
382
299
299
344
304
322
346
368
293
364
254
281
345
300
326
349
299
275
391
279
351
316
310
293
347
322
347
397
370
324
297
336
240
359
298
317
383
276
377
309
302
324
315
376
338
289
260
264
286
303
297
373
352
158
269
370
356
341
388
318
334
213
297
367
277
358
301
380
275
296
321
362
313
312
335
357
366
373
248
327
251
306
286
336
286
290
368
387
391
209
262
368
294
321
227
310
323
358
249
239
275
291
329
284
326
367
276
222
300
284
350
215
333
298
258
271
354
330
393
322
354
271
288
347
257
319
284
281
387
260
293
312
298
371
372
376
326
305
336
279
338
286
281
417
391
262
288
343
302
338
276
322
358
265
384
338
376
252
404
313
259
312
310
221
306
384
347
361
275
316
354
329
283
329
338
347
279
229
386
257
340
325
240
407
350
326
280
263
223
358
378
309
253
288
299
312
335
284
347
299
315
312
302
335
326
419
267
297
339
296
365
287
259
368
366
296
351
312
346
342
370
284
310
360
329
237
348
349
373
347
275
319
330
269
390
341
226
252
347
387
354
373
302
329
261
254
319
278
371
261
271
344
313
363
311
309
359
289
332
264
329
320
274
320
303
365
297
323
308
338
375
344
331
351
225
363
371
275
321
254
284
321
340
319
337
389
314
414
328
425
314
329
341
332
337
358
279
342
328
368
351
283
334
263
317
299
281
326
331
261
300
390
281
250
321
244
312
357
350
326
326
330
367
411
340
325
264
323
296
246
354
344
286
378
343
316
285
278
311
237
334
316
313
264
271
352
287
284
440
286
263
193
372
393
332
244
352
330
330
327
353
273
253
246
304
355
224
346
302
352
324
372
339
365
364
358
342
303
301
340
315
364
342
300
356
244
147
296
301
292
317
389
260
303
363
349
278
300
271
401
341
337
352
283
281
313
308
278
307
332
323
330
248
371
413
407
363
228
305
353
335
288
267
322
288
383
281
335
330
357
233
298
381
325
402
284
310
326
359
288
332
314
227
256
295
340
387
329
287
317
290
378
280
371
284
329
347
291
349
263
304
300
388
365
352
285
291
437
302
293
365
296
271
280
327
317
286
354
268
290
356
293
361
288
243
308
276
357
398
299
309
418
325
366
337
308
275
300
324
340
323
363
356
348
345
319
314
331
265
330
313
320
245
226
281
246
383
250
239
266
270
378
266
320
346
409
372
323
273
263
316
239
371
344
343
261
320
241
292
338
261
352
312
344
262
333
245
319
308
299
162
339
240
259
349
352
269
318
364
362
282
229
309
327
365
349
360
331
332
297
258
330
373
331
374
348
280
317
273
310
367
246
344
313
364
327
324
360
289
249
279
321
322
254
274
319
384
350
321
247
254
346
424
258
281
327
341
200
369
233
302
350
363
313
235
294
318
396
300
306
275
400
307
332
295
438
309
347
382
309
374
302
346
325
252
334
301
270
294
303
349
358
345
362
269
320
290
298
270
257
323
318
301
243
299
275
302
355
261
228
350
261
297
284
307
273
311
271
166
342
300
335
286
298
284
315
251
263
305
316
281
324
254
354
273
298
354
283
254
386
341
372
245
319
343
344
334
347
351
330
329
330
254
320
348
278
344
285
339
337
333
236
312
371
383
325
317
298
259
334
306
368
260
362
377
356
336
367
385
284
365
300
366
379
340
343
334
238
292
379
360
404
395
283
328
380
306
364
393
320
408
274
293
325
346
266
266
338
328
345
295
319
272
288
341
338
352
253
345
343
281
347
288
305
298
292
302
398
393
380
219
337
288
343
281
358
321
383
286
352
304
256
318
346
371
357
336
286
351
307
261
282
390
329
371
351
340
293
375
325
353
325
376
280
377
311
281
282
383
314
291
356
290
308
265
319
292
375
263
351
274
388
312
324
310
224
380
391
286
268
350
306
281
263
369
308
318
338
351
329
304
372
338
286
272
289
279
219
361
307
304
414
304
369
339
248
317
356
282
360
341
321
331
329
321
331
315
342
381
376
311
373
318
276
374
302
244
278
407
266
251
271
297
284
367
385
322
334
318
272
360
355
337
405
335
365
438
337
304
232
360
368
337
309
222
295
385
351
410
381
267
326
281
278
348
307
319
283
260
386
313
303
349
271
267
337
323
339
388
374
282
351
233
373
307
283
358
334
258
317
310
411
263
319
310
302
408
322
291
354
199
351
358
295
316
345
346
328
318
272
395
370
348
313
275
386
377
335
280
287
365
272
363
338
310
313
284
353
297
274
303
346
398
306
322
320
348
384
364
249
333
320
318
321
335
309
275
283
304
407
296
257
344
325
304
298
227
327
309
324
242
292
303
358
299
325
359
335
309
346
297
297
322
350
362
304
247
273
258
298
311
276
342
348
358
343
298
345
313
246
322
333
388
386
334
350
388
325
333
259
277
355
353
291
341
309
344
359
323
285
258
332
299
220
288
253
368
196
303
308
298
265
354
356
301
280
297
310
317
301
369
324
332
320
328
278
275
266
351
376
363
323
377
324
378
308
274
296
296
363
323
281
287
340
264
354
318
370
304
342
270
320
326
343
286
236
262
305
336
301
347
273
328
323
397
358
293
290
384
281
349
230
336
286
339
278
317
386
232
301
277
306
320
300
347
416
249
307
386
253
267
255
365
344
405
349
306
334
301
354
315
316
321
414
235
320
305
314
321
325
281
366
326
309
319
342
317
318
301
376
247
277
367
327
336
338
270
399
296
281
282
291
276
275
335
238
289
340
323
347
228
331
235
334
385
345
308
287
233
293
409
277
273
270
318
365
416
365
261
378
315
334
354
302
333
331
342
228
307
357
274
352
323
309
328
390
276
286
336
334
342
357
341
334
344
338
276
325
354
368
337
337
271
257
302
224
370
241
302
372
276
266
323
297
328
262
319
383
330
259
375
277
272
319
322
315
322
377
315
281
257
291
261
370
348
309
308
359
337
312
365
308
375
340
280
337
265
325
349
286
227
320
243
308
396
344
332
369
300
308
356
392
335
303
346
267
299
318
286
326
289
320
350
314
311
366
270
250
364
327
351
320
341
242
278
384
313
362
304
276
279
258
314
303
329
316
292
368
299
361
235
303
335
263
402
389
283
195
330
356
331
311
296
286
299
380
279
296
330
329
348
299
279
259
377
371
384
373
314
296
295
322
227
322
314
348
364
327
311
322
342
328
260
350
298
276
344
357
301
238
319
309
291
241
305
314
337
295
316
358
296
309
362
233
318
363
378
368
313
279
298
274
339
333
312
318
316
282
296
331
320
236
322
297
298
355
345
289
312
240
283
286
222
364
330
261
308
347
260
291
256
299
340
313
396
312
346
424
324
354
347
352
257
316
381
316
334
293
366
241
288
240
295
328
202
289
290
355
217
244
240
321
291
335
334
310
347
271
287
331
273
400
387
418
256
378
273
319
311
251
352
250
259
346
348
317
268
357
388
358
356
376
316
343
265
244
240
326
300
304
334
319
352
334
349
373
344
302
328
320
354
331
329
345
322
192
301
298
322
193
326
311
237
302
294
389
208
340
342
309
334
358
302
340
385
298
413
328
301
355
342
366
316
314
320
373
246
338
340
311
308
368
307
330
285
329
340
340
317
296
326
397
275
323
317
366
338
269
275
349
335
297
311
337
353
263
328
316
241
379
415
296
280
242
366
341
238
347
304
323
321
352
321
362
369
301
334
363
346
299
327
317
314
321
254
379
341
250
293
374
331
289
392
311
303
276
213
289
289
225
321
307
314
397
362
305
307
238
283
320
338
270
369
320
378
343
261
311
378
398
322
366
269
274
374
430
317
281
311
275
286
289
333
382
266
294
360
348
291
384
298
301
297
350
306
343
296
317
295
319
318
331
321
279
387
367
346
284
274
315
297
354
340
297
283
336
217
288
319
339
329
280
337
290
247
343
355
215
372
358
326
335
380
321
363
310
261
249
257
322
311
218
260
313
370
297
227
263
384
278
380
277
312
361
362
356
379
381
298
300
281
384
300
387
288
293
221
320
304
229
312
299
226
302
313
405
362
318
292
348
318
368
303
259
209
283
340
332
285
403
338
353
311
298
278
321
388
278
337
339
335
335
314
288
313
309
350
316
371
291
288
327
369
251
302
311
242
308
353
256
347
239
380
275
305
261
332
321
314
319
360
279
364
354
313
266
264
387
345
320
314
266
237
307
335
291
318
200
285
355
318
309
294
349
360
343
264
248
257
263
271
325
319
309
352
308
261
394
199
351
257
300
312
210
321
343
309
304
277
300
304
374
273
292
246
353
253
313
357
235
366
240
350
388
347
253
289
394
308
341
339
327
326
368
245
305
331
351
365
268
397
404
249
362
344
336
387
339
363
373
307
312
398
305
298
309
368
271
304
272
336
246
356
394
357
284
370
342
294
249
301
347
399
254
343
329
293
351
328
291
341
257
322
320
307
301
340
335
346
302
313
364
322
260
326
258
330
268
249
262
336
345
359
317
349
311
336
268
270
311
417
323
324
378
207
290
353
369
216
283
394
375
301
346
311
296
275
256
382
264
276
303
366
315
277
282
312
249
309
237
317
298
264
298
337
212
375
387
346
287
309
350
384
349
356
324
288
279
354
344
238
274
235
254
332
277
386
229
337
307
230
309
251
263
361
336
307
265
237
315
290
268
325
328
314
304
340
352
339
312
395
311
310
253
354
327
332
268
320
396
293
308
319
324
325
253
262
326
293
256
368
278
286
383
277
344
352
323
327
332
178
304
329
236
314
335
322
290
353
313
376
272
326
330
267
193
341
258
370
275
148
283
356
326
282
367
310
338
291
355
317
320
329
396
299
322
313
338
296
236
294
285
227
291
292
213
283
316
332
398
311
310
261
332
362
280
324
324
280
366
260
299
360
362
287
288
315
298
308
316
268
332
235
320
365
182
324
372
340
267
297
341
339
334
313
295
347
278
285
334
309
314
321
331
294
255
306
347
343
367
278
354
279
403
354
310
333
360
337
301
246
387
310
286
255
301
300
277
273
332
213
320
360
300
344
294
265
308
258
312
341
282
294
333
312
319
206
364
317
335
276
320
395
341
223
286
250
241
348
354
351
290
266
344
277
268
326
400
338
264
398
386
338
250
299
315
344
308
308
311
325
356
412
317
390
313
416
292
237
288
403
292
251
313
307
238
353
314
288
337
270
309
344
352
317
351
251
378
299
282
337
275
374
278
279
295
320
284
298
332
334
303
240
269
321
271
309
293
335
295
337
282
320
276
375
253
295
328
285
345
323
359
313
330
295
238
356
382
330
344
302
312
317
350
399
317
368
281
308
307
385
308
299
260
378
261
276
341
293
280
305
279
268
241
309
343
258
324
323
402
332
313
324
336
325
414
333
336
276
313
339
361
349
381
349
274
388
328
350
366
314
241
321
346
266
277
415
382
316
271
330
319
352
307
244
333
304
379
307
313
293
331
355
325
214
345
403
367
333
351
303
363
327
294
231
250
331
320
352
369
348
241
313
286
285
324
382
320
355
338
275
340
274
271
209
271
272
251
288
270
326
308
406
279
348
264
349
334
261
274
264
301
361
291
380
300
301
249
317
340
262
221
252
333
327
261
280
230
329
300
238
350
243
298
289
355
336
325
300
259
289
275
330
303
348
369
297
206
303
303
315
335
359
297
289
344
345
333
340
266
341
371
360
240
308
312
337
268
371
329
303
321
314
314
277
356
307
287
297
320
284
377
319
352
259
265
344
337
303
312
257
340
204
274
286
266
286
295
279
343
325
355
318
273
415
357
262
467
315
324
353
318
330
358
328
323
376
305
351
284
375
334
396
331
319
211
198
377
242
322
271
320
323
355
338
294
232
339
308
268
282
308
381
313
371
243
292
324
356
333
346
172
343
320
284
309
269
326
303
310
359
392
343
318
345
252
318
278
312
286
305
304
355
333
274
400
406
298
348
211
370
397
261
295
361
283
203
316
391
330
312
346
300
290
354
278
262
270
319
283
386
374
315
285
297
332
326
306
319
306
369
255
264
327
348
310
317
262
365
276
376
335
280
312
245
260
370
374
382
352
308
322
326
348
292
305
289
290
337
257
321
364
322
291
364
331
359
289
300
368
306
342
322
297
343
286
283
372
290
311
307
264
294
347
320
230
306
309
293
327
304
393
262
354
300
384
377
324
242
318
332
250
300
328
371
392
338
344
394
325
320
273
313
391
289
293
356
308
313
263
301
319
264
252
288
275
288
340
209
309
279
282
336
337
266
392
298
270
259
381
353
296
327
294
354
364
331
293
310
342
314
338
355
414
280
238
285
321
345
372
300
297
364
282
275
357
393
293
319
258
351
371
288
303
279
334
262
289
344
356
278
321
390
284
334
317
378
341
251
371
307
310
234
291
353
281
240
298
302
277
218
391
337
318
358
253
299
239
419
407
298
363
323
258
385
248
319
330
380
366
284
297
342
253
278
342
398
446
248
362
370
383
329
341
261
360
283
355
278
314
218
353
349
299
293
363
418
342
272
334
210
285
274
342
363
349
324
416
343
351
334
396
357
307
244
269
337
311
306
384
328
322
252
308
314
371
272
293
301
336
327
308
395
363
313
323
299
273
351
404
379
376
337
286
334
261
296
316
299
212
240
267
321
352
273
280
328
345
372
341
312
276
306
321
329
362
324
245
306
260
286
321
365
290
384
298
243
275
340
332
347
397
312
197
281
353
255
273
393
287
277
298
349
401
299
333
362
304
384
360
356
378
364
261
404
341
289
337
278
265
318
259
292
253
330
248
246
323
296
307
330
349
279
293
342
367
275
306
333
236
310
317
325
256
355
345
271
377
257
398
379
339
385
386
318
335
251
313
347
300
255
311
263
333
422
318
322
318
338
265
227
365
368
339
332
333
296
360
294
335
351
241
350
351
343
271
264
325
300
392
381
267
291
350
358
312
342
321
332
413
240
265
252
374
369
304
326
336
339
327
313
363
347
308
307
315
341
273
325
204
386
291
261
320
326
286
337
315
304
249
264
351
278
253
297
351
308
318
324
345
319
307
256
289
348
368
285
365
323
352
330
322
206
381
267
335
369
313
238
385
333
370
327
353
294
281
353
359
314
340
289
346
299
369
297
353
253
303
311
364
312
293
333
279
312
308
326
282
353
270
333
323
297
290
287
222
269
354
328
320
296
212
304
258
264
365
228
394
395
342
325
308
359
340
313
292
339
267
244
262
289
410
283
336
274
259
305
307
345
320
259
327
391
280
372
306
346
338
328
381
369
343
339
399
319
279
357
237
300
264
280
274
290
383
378
301
366
219
296
382
306
299
321
345
376
374
282
250
352
323
400
282
311
303
260
353
283
337
293
294
328
270
358
306
334
360
302
292
356
335
321
272
161
364
345
392
353
341
348
345
354
333
255
286
260
302
238
299
315
299
339
353
277
286
323
281
307
252
300
334
287
389
409
334
322
382
361
245
278
250
363
325
391
260
245
293
306
374
307
315
212
347
350
271
319
278
373
372
245
343
231
345
297
309
353
248
294
283
282
340
362
352
288
333
342
288
278
392
425
227
315
337
337
285
295
275
220
303
321
315
352
304
307
328
247
352
272
352
314
362
292
313
315
367
319
310
368
338
357
436
344
342
375
295
340
382
275
365
281
154
310
309
271
355
276
302
295
346
245
291
332
359
359
278
272
367
224
345
346
280
212
324
331
375
263
317
341
293
353
393
207
352
362
406
238
331
304
252
344
265
271
311
347
334
292
282
344
312
347
353
277
377
291
324
291
341
316
306
290
345
314
327
302
356
340
296
313
304
277
302
316
353
381
380
241
323
376
367
373
298
316
349
348
317
278
324
344
303
287
366
336
357
332
309
280
376
338
303
334
307
327
286
342
302
344
321
322
377
272
360
339
242
236
359
301
355
344
357
289
328
307
434
346
319
352
383
300
307
365
335
247
356
268
251
214
412
329
294
329
307
324
282
306
324
317
380
379
300
315
227
248
229
328
313
270
291
330
322
295
361
336
360
369
255
273
291
272
267
335
325
330
410
279
319
340
333
297
339
376
244
335
283
347
399
325
309
351
304
287
195
273
390
340
289
364
318
317
404
255
422
338
361
312
329
317
317
308
378
312
335
255
322
266
302
307
280
273
313
310
284
301
294
316
227
300
234
307
392
289
318
298
263
402
286
215
321
376
299
274
267
311
285
304
353
290
437
268
341
280
337
367
282
363
260
371
291
325
292
339
277
275
293
276
321
355
323
358
342
299
313
361
281
372
375
350
309
366
380
258
293
352
345
307
216
284
287
313
304
321
240
294
261
291
257
315
331
204
281
338
350
372
326
310
267
316
341
395
363
335
403
282
341
354
292
322
305
296
360
349
297
352
393
307
257
349
317
252
358
323
301
284
247
286
301
295
412
301
401
243
383
388
362
371
354
372
360
298
359
271
261
368
309
378
412
387
352
222
333
255
303
317
239
270
307
343
333
278
243
258
344
393
334
334
280
371
325
328
269
271
243
318
369
310
257
200
304
314
311
364
308
236
315
279
230
333
242
283
346
396
319
317
284
327
355
294
307
343
430
371
255
328
350
317
356
295
271
336
357
324
296
247
300
346
247
304
333
250
304
349
318
293
340
330
324
299
363
348
279
378
298
307
386
261
288
319
320
366
394
375
347
260
259
329
362
343
287
425
323
271
374
327
346
283
363
258
330
330
263
333
333
288
346
328
308
376
279
346
279
262
250
282
375
333
327
310
380
278
326
275
297
326
322
297
318
344
278
370
246
312
292
296
266
374
322
307
308
299
351
331
264
322
308
320
280
306
375
243
307
292
373
326
300
348
370
305
283
317
321
232
302
309
342
390
295
343
358
282
389
283
338
310
413
231
337
334
261
336
359
292
291
295
317
285
279
295
325
319
419
341
361
226
312
242
391
309
307
277
333
310
306
297
245
343
308
353
357
321
318
326
324
304
258
366
320
329
297
344
325
280
314
303
282
335
313
284
353
302
288
307
314
216
364
391
299
277
266
309
262
292
316
305
309
384
270
318
281
287
384
217
360
348
352
356
264
299
331
292
305
334
389
372
340
299
396
330
282
301
400
329
199
320
241
268
300
333
275
311
266
345
290
360
249
251
330
311
336
313
335
324
333
345
321
235
288
333
345
372
284
371
318
365
375
344
308
268
242
333
307
394
303
218
280
200
379
331
379
341
331
290
288
343
301
347
313
265
319
263
266
352
365
320
353
287
247
310
347
292
297
285
371
333
334
329
292
312
329
266
312
361
324
298
264
303
403
308
352
342
360
295
316
288
261
341
265
370
342
396
290
362
404
299
316
228
292
347
337
206
379
344
303
265
327
231
275
376
280
334
329
287
250
305
327
308
293
327
287
332
279
285
411
207
388
262
249
285
307
306
278
281
369
249
258
362
254
408
248
330
278
366
334
361
401
276
304
268
360
283
303
435
285
340
317
237
377
285
301
263
279
309
349
259
303
351
275
369
248
444
283
279
305
331
279
324
327
297
402
299
350
354
306
345
352
306
279
305
300
369
330
248
342
299
373
287
247
377
313
374
405
329
330
341
250
360
342
282
276
333
298
243
348
354
397
298
322
324
298
302
334
261
299
352
231
296
247
351
306
343
394
332
301
358
234
321
263
326
294
299
338
277
373
355
309
309
291
272
298
264
391
279
240
332
293
318
292
375
411
311
282
361
349
332
292
353
311
394
209
290
312
319
306
322
267
368
365
306
233
255
408
317
321
308
426
333
329
326
327
334
278
391
326
287
324
351
334
382
330
348
316
310
317
288
357
297
387
390
311
280
393
295
236
336
382
346
282
284
344
298
299
308
320
411
292
313
294
302
275
322
340
322
325
355
301
311
292
287
273
345
343
296
329
323
297
320
286
259
337
294
299
308
416
359
334
326
280
358
292
290
348
340
284
354
245
329
314
304
295
313
392
275
262
326
333
299
324
271
399
322
294
342
309
292
331
218
371
298
275
363
324
331
299
286
343
355
310
342
331
238
330
333
291
396
240
303
330
359
279
291
380
328
261
294
291
307
325
335
323
366
329
267
281
327
340
384
303
315
268
327
337
283
301
343
311
320
276
368
286
309
328
393
352
255
286
268
271
366
364
239
378
353
325
242
350
325
267
369
356
301
315
292
310
223
337
394
293
321
298
350
192
296
316
232
377
353
303
357
371
310
374
298
330
308
329
274
361
308
272
324
352
241
361
403
350
383
306
321
298
307
251
438
343
261
283
284
296
340
280
383
310
350
336
195
316
286
417
333
330
389
233
289
205
378
226
314
307
255
272
304
297
359
261
325
318
237
342
383
259
290
235
342
338
338
276
261
392
311
339
319
367
342
312
278
339
372
325
339
298
366
364
250
347
362
319
263
304
227
280
300
326
335
343
305
386
270
298
301
272
258
224
286
288
294
326
274
267
264
309
364
362
356
340
282
228
331
366
299
276
356
322
326
333
287
366
357
291
292
350
318
341
279
291
322
304
370
312
315
313
352
298
366
320
220
325
321
309
301
361
241
287
318
384
338
335
349
297
263
314
312
335
306
335
315
332
316
320
278
291
306
390
328
421
213
287
298
274
364
280
318
313
302
296
286
289
251
408
388
306
346
261
324
305
369
297
385
357
337
355
297
281
333
257
302
302
303
306
333
324
199
330
348
358
345
367
327
304
353
301
285
347
271
285
364
422
332
324
314
261
267
317
353
284
352
278
365
380
276
260
250
296
297
314
348
299
272
312
321
255
338
426
283
334
340
273
330
336
286
321
271
304
217
302
311
321
371
325
291
373
257
327
378
315
340
194
316
326
307
301
231
281
302
311
370
373
326
340
317
306
274
312
255
260
279
309
341
384
346
367
404
258
324
326
298
291
336
283
267
316
356
311
282
343
215
318
277
243
338
324
312
365
294
288
329
322
270
328
329
336
318
313
307
286
277
326
312
342
332
264
303
260
292
280
371
317
283
326
360
292
292
271
246
318
294
277
327
268
246
403
409
366
331
344
283
340
341
371
341
303
400
268
278
313
202
292
359
253
322
336
281
345
313
249
299
283
293
258
335
312
296
275
341
301
327
414
265
345
278
358
287
387
245
280
381
298
264
338
281
300
367
274
206
277
278
300
335
340
351
301
274
275
298
264
312
340
283
301
186
348
231
328
291
256
262
263
308
310
341
290
300
299
288
290
240
246
308
306
306
374
325
333
295
306
352
332
274
278
239
327
305
294
396
317
317
390
334
264
358
365
292
195
274
282
187
357
328
330
359
289
360
321
295
353
409
356
320
337
224
305
264
262
345
258
373
339
326
310
285
319
261
283
290
259
249
320
295
297
327
328
326
295
319
331
302
395
244
228
315
335
277
281
291
365
350
294
354
391
327
378
403
304
289
323
273
282
256
292
316
219
342
227
355
300
387
313
362
257
295
312
336
253
245
238
347
323
270
365
293
334
245
385
279
296
299
310
373
343
371
335
295
323
299
285
289
406
339
198
350
334
260
401
314
362
251
234
252
351
318
267
336
315
273
352
294
349
286
255
332
206
344
374
182
401
310
325
327
289
322
350
337
310
254
280
325
361
370
324
315
353
332
285
343
347
389
316
249
285
331
288
304
305
228
359
352
296
297
258
357
338
365
227
267
340
378
377
298
350
322
306
169
308
335
319
316
313
363
326
343
376
357
235
371
318
349
271
312
245
299
357
356
273
297
306
360
290
244
311
310
288
261
271
307
347
317
395
312
376
373
294
327
283
254
279
417
284
293
326
278
222
312
289
332
390
309
343
342
309
250
373
272
371
341
251
271
329
301
336
369
310
321
325
285
405
353
347
322
290
278
389
254
369
258
311
301
254
221
286
321
369
269
386
304
313
359
284
301
334
291
299
253
284
291
295
294
405
385
239
309
364
287
378
330
403
273
236
338
324
278
308
284
286
358
328
334
385
252
344
270
254
277
273
252
436
309
375
326
234
289
395
300
320
260
307
231
318
311
343
277
255
440
329
363
311
291
317
272
313
341
291
324
328
293
308
323
335
341
325
277
309
207
343
287
373
270
251
325
314
325
295
310
311
300
317
374
270
285
258
342
362
304
281
399
301
300
310
345
308
375
365
264
268
434
347
230
356
322
308
373
414
316
353
299
297
344
267
310
272
238
402
342
351
305
306
298
197
410
352
294
239
324
245
372
276
288
271
293
269
304
380
292
240
321
327
263
279
301
306
366
318
330
313
352
305
282
320
307
272
315
333
314
361
353
320
369
259
296
295
350
360
308
309
358
289
329
382
308
287
294
344
341
365
395
334
319
373
299
458
322
337
271
374
282
228
344
283
280
343
355
284
325
319
276
336
298
377
252
330
307
248
382
329
232
190
327
297
332
383
352
362
294
273
344
272
335
202
319
257
297
241
283
316
219
353
289
416
295
321
376
291
321
334
316
339
371
291
297
250
288
254
318
341
317
400
314
271
376
373
298
241
249
335
307
365
272
261
277
304
253
289
356
375
407
251
332
274
343
291
272
348
356
386
262
257
337
330
288
379
319
230
250
313
331
347
305
236
376
274
239
362
337
265
351
360
348
392
322
305
260
281
345
289
276
339
301
340
328
291
339
323
303
367
306
260
265
306
297
409
312
314
270
291
394
361
385
344
331
348
309
375
292
412
343
375
367
320
354
373
258
315
293
287
343
264
406
359
356
320
312
342
292
303
276
356
302
318
321
386
367
313
268
326
314
281
307
310
277
362
305
290
221
293
300
332
355
268
350
252
296
357
326
355
326
357
346
210
267
380
358
338
323
271
334
348
353
417
273
296
348
352
306
272
358
265
307
249
317
244
277
302
312
367
268
341
289
288
280
347
355
372
394
296
302
318
336
298
309
264
334
245
318
276
309
249
283
301
319
314
256
314
290
382
270
274
346
342
355
289
371
369
316
271
341
268
279
321
219
301
184
332
283
315
289
313
289
287
218
384
310
288
326
369
326
294
251
369
240
292
322
284
310
339
387
233
385
276
369
261
269
231
281
358
380
285
289
171
337
308
240
384
313
335
302
270
293
405
240
300
300
349
227
300
269
385
358
252
238
289
158
366
369
356
266
369
302
237
280
316
179
292
266
263
284
327
333
370
357
317
335
305
307
281
364
352
260
393
285
333
396
317
272
367
374
368
287
334
278
285
336
345
286
348
250
328
352
299
250
341
256
333
240
324
361
226
391
309
347
323
418
286
372
266
330
338
269
280
360
256
375
275
312
315
289
261
271
365
394
368
346
277
250
319
358
331
344
290
355
320
305
259
320
316
303
284
293
305
327
311
365
369
288
352
346
346
318
287
351
239
326
235
370
333
249
277
320
354
301
316
272
286
303
307
318
248
347
211
386
249
224
334
364
274
394
304
291
325
291
312
380
335
389
300
373
312
310
280
343
303
288
309
285
351
249
367
365
340
243
245
240
344
247
343
355
240
293
303
309
296
323
275
369
298
345
313
272
284
320
313
317
356
277
303
346
231
391
381
292
348
247
350
370
398
395
265
281
311
326
245
375
318
353
254
343
313
314
308
323
352
292
417
359
302
299
323
337
353
302
337
329
349
319
329
374
253
252
372
272
334
318
349
314
325
362
229
330
353
321
350
370
366
285
351
312
272
351
367
338
293
306
365
270
389
298
325
341
373
332
263
338
276
328
238
303
326
328
289
335
377
294
337
305
247
416
315
312
338
389
382
339
313
392
428
306
333
385
347
262
374
253
315
278
298
324
274
372
262
377
311
270
296
309
392
332
382
199
282
307
276
293
363
300
368
234
282
244
348
309
251
285
216
242
271
270
337
322
307
307
327
364
359
271
268
275
293
313
294
315
243
282
319
327
327
311
295
266
309
266
343
276
243
321
315
324
353
275
299
279
315
317
355
253
353
354
393
272
355
303
358
332
163
285
362
210
332
410
283
304
310
303
349
367
353
371
381
362
284
388
337
270
299
307
314
345
317
310
342
350
357
256
390
282
333
360
372
311
307
305
317
338
302
262
273
236
336
358
263
179
387
220
320
312
360
320
290
276
300
279
333
249
316
363
267
367
358
308
283
269
336
275
310
373
274
296
345
249
350
370
331
347
260
347
337
288
357
317
212
384
321
318
288
391
367
289
300
262
358
330
334
382
356
273
300
260
272
328
269
338
392
235
273
334
283
363
368
349
265
350
267
277
316
336
351
289
330
338
323
328
423
272
346
379
308
322
222
352
304
264
290
301
297
265
356
290
312
301
341
269
358
290
272
297
292
237
297
242
304
267
226
296
286
285
286
263
320
370
320
352
371
322
292
239
289
294
296
266
343
367
303
213
276
367
298
241
296
338
282
300
330
271
214
280
317
274
402
214
374
252
354
335
352
316
344
241
364
299
292
249
311
222
304
238
343
331
316
296
319
259
403
308
314
353
235
234
318
238
366
240
276
346
275
294
355
305
345
217
348
365
354
262
229
278
272
269
251
392
318
313
300
365
317
378
363
304
284
332
310
335
318
253
330
279
327
293
294
304
292
250
377
343
290
327
306
286
391
381
296
327
292
257
366
415
356
345
376
277
319
326
321
308
355
243
291
315
337
221
155
318
265
367
364
382
313
330
321
269
363
342
304
297
266
253
330
321
323
351
290
296
249
335
248
364
347
291
297
297
363
317
321
301
255
306
308
379
351
300
351
370
379
267
345
268
270
299
344
258
293
296
343
308
291
280
338
328
282
380
361
289
308
399
393
310
258
353
336
143
267
358
318
309
235
271
342
299
333
340
352
317
388
233
348
360
331
404
303
354
338
266
309
336
252
282
381
289
286
288
342
294
310
365
342
304
356
307
174
356
262
354
317
256
377
251
263
316
252
356
386
309
309
303
269
243
326
297
292
304
322
327
416
296
349
283
363
370
278
225
378
377
332
391
319
363
256
346
345
330
229
325
302
290
313
290
278
358
356
300
361
303
235
368
297
335
337
377
283
319
233
331
347
286
263
293
238
344
299
328
343
356
267
322
314
342
281
268
321
303
280
346
363
382
334
390
364
329
336
303
303
251
312
287
339
214
304
389
305
266
263
311
354
354
274
314
290
253
288
282
289
336
321
335
289
286
356
334
466
346
301
365
303
208
376
275
335
312
325
365
394
261
382
327
333
445
322
413
266
238
399
407
348
419
284
379
318
335
360
372
360
303
383
329
339
359
352
362
336
365
283
417
315
310
273
312
270
311
297
356
391
341
321
300
293
412
319
386
330
296
294
299
323
354
365
318
384
294
266
315
228
207
250
378
320
354
226
358
350
285
331
282
260
268
318
306
355
315
253
277
299
320
337
325
348
292
398
327
223
352
362
391
329
310
398
319
301
208
290
302
303
229
297
391
332
356
353
276
288
266
295
377
285
273
310
362
349
279
255
310
329
271
314
384
390
323
211
335
391
321
276
377
347
286
356
314
294
237
369
327
324
296
337
279
311
299
284
299
365
301
342
206
314
342
297
405
350
307
306
355
328
307
376
341
371
280
377
292
337
316
317
305
275
295
230
345
283
301
286
354
287
251
321
254
255
387
294
374
298
383
357
302
303
298
306
317
371
355
296
313
278
337
302
329
375
327
207
325
328
296
306
250
329
334
324
188
319
323
262
322
237
312
343
258
287
354
255
261
358
313
303
266
260
244
348
387
322
350
247
333
384
319
366
315
255
309
253
278
279
344
285
308
358
258
309
373
326
401
306
274
421
237
309
329
378
355
328
350
324
293
250
242
327
308
301
323
297
331
283
371
437
306
287
260
301
371
324
285
345
280
331
263
348
254
336
370
314
341
242
276
284
257
237
361
317
318
334
366
313
350
358
361
307
297
325
295
265
371
339
297
190
314
323
253
339
245
362
326
266
355
337
249
301
323
340
290
410
302
275
390
272
383
294
379
285
298
262
310
364
325
357
253
325
358
319
317
309
324
314
313
275
312
351
299
219
314
276
377
311
346
298
289
376
257
318
300
297
287
315
296
377
297
356
357
237
275
379
305
324
333
398
338
287
351
300
318
257
375
328
301
258
402
344
291
362
391
381
286
292
325
310
325
292
294
269
299
344
372
389
290
351
221
352
255
213
342
322
360
358
282
324
226
338
329
339
342
379
358
296
301
317
286
358
351
390
393
251
327
290
396
325
345
330
392
240
334
312
317
325
276
277
318
292
310
241
301
305
364
318
202
227
379
348
272
331
366
403
321
285
327
305
285
307
336
301
244
266
317
361
267
303
362
361
320
333
270
297
274
290
278
312
369
357
374
341
394
325
338
310
336
387
239
342
277
352
341
256
303
334
374
281
241
361
277
321
292
228
252
371
315
413
308
292
328
323
285
338
332
311
342
316
341
245
244
287
310
290
251
228
315
321
285
332
325
280
381
372
262
270
345
290
337
321
356
198
354
344
330
313
338
282
390
329
365
370
203
324
248
259
271
358
298
293
303
321
337
350
311
313
361
274
271
297
279
417
325
365
315
272
321
355
337
287
366
334
304
303
261
389
381
375
237
230
319
279
318
342
219
269
399
305
196
277
280
311
319
344
354
332
231
355
374
358
326
297
267
400
240
378
372
260
364
309
297
362
348
291
334
319
375
296
245
333
321
364
333
284
308
212
297
266
273
285
302
271
305
327
292
346
332
346
369
276
296
380
327
380
305
306
327
322
354
297
309
294
256
267
374
334
299
345
282
281
385
221
260
322
284
313
271
314
343
273
403
277
338
304
355
332
247
282
349
326
324
290
285
334
286
324
235
284
399
267
305
376
375
373
351
356
315
344
361
248
319
312
345
257
350
320
269
314
281
262
317
351
381
320
324
310
334
349
293
295
284
300
252
328
365
369
346
316
268
237
254
428
201
359
327
386
339
323
361
281
259
311
316
407
293
314
299
296
337
386
387
327
365
360
352
321
319
385
317
370
390
298
376
388
245
380
276
401
343
334
310
397
398
372
399
311
301
260
333
255
308
252
346
401
364
313
305
317
293
409
351
301
280
287
408
331
258
414
365
305
308
321
280
294
338
282
370
298
276
329
311
317
364
309
267
386
285
271
339
292
264
331
342
294
317
284
357
373
371
352
317
269
362
347
303
249
343
324
327
309
318
287
296
314
288
261
309
258
412
407
262
344
371
271
291
382
349
235
338
390
283
242
318
242
285
297
320
312
341
307
208
402
357
325
326
306
308
272
334
259
250
306
289
328
322
361
312
374
445
312
387
302
282
350
232
133
432
329
239
264
350
263
390
413
251
274
387
362
229
310
391
305
291
318
324
267
295
331
330
300
350
326
251
307
334
297
365
317
365
318
325
252
272
258
315
271
274
258
244
326
300
294
277
252
263
288
337
328
314
353
271
370
273
331
239
320
333
324
369
322
330
330
357
386
386
371
340
335
322
358
309
254
377
376
288
359
337
247
279
301
280
316
362
252
315
260
370
349
332
326
334
358
265
304
349
307
341
331
312
331
258
442
274
407
319
292
310
242
299
288
301
314
338
232
286
351
289
269
311
302
377
319
359
304
323
248
362
292
338
395
261
297
356
214
229
256
394
325
407
286
311
281
315
325
320
329
243
228
258
401
218
262
254
312
275
343
261
369
319
236
306
320
312
293
394
360
271
347
306
345
326
258
367
369
330
282
290
213
293
228
257
352
306
313
339
355
411
321
316
329
341
333
327
386
293
343
415
281
246
306
338
269
289
319
297
281
367
361
348
311
271
260
255
299
321
379
345
348
328
207
320
283
356
301
310
227
365
284
362
355
314
293
335
326
284
305
338
209
302
413
286
363
260
273
254
368
311
311
290
363
282
286
387
305
276
282
350
324
272
380
352
347
369
285
309
358
279
295
325
325
317
330
286
433
287
263
335
272
301
351
270
331
283
338
254
381
233
287
278
285
267
337
331
352
307
258
334
333
313
329
348
372
339
305
361
364
173
303
328
295
262
353
336
305
344
217
368
364
398
298
243
325
298
216
284
401
346
229
371
285
382
274
279
270
304
282
276
369
322
406
319
281
298
372
358
342
249
399
310
242
238
321
285
324
391
275
298
232
394
310
302
336
334
312
343
361
337
310
302
355
293
375
242
332
254
327
327
207
244
265
248
287
410
337
258
286
371
374
307
328
398
322
332
312
288
292
306
356
311
323
325
350
357
290
315
412
289
255
293
320
328
310
287
367
295
357
325
406
303
322
305
266
278
296
317
378
364
343
307
285
309
275
370
304
332
334
316
320
282
326
245
324
342
320
374
222
277
267
369
353
357
363
288
349
321
246
295
336
346
318
329
321
349
327
366
288
324
397
291
273
370
337
348
301
274
258
313
370
291
203
408
305
314
387
336
307
298
292
243
384
333
304
329
274
330
345
285
286
260
327
255
406
314
359
267
297
315
316
337
245
391
392
298
293
311
316
326
357
316
339
338
292
311
322
218
289
374
275
389
307
260
339
303
263
317
329
295
345
284
315
275
312
348
243
335
240
228
275
334
370
278
277
360
286
249
337
304
345
325
306
408
290
243
278
312
301
227
281
384
357
223
336
267
243
319
317
322
254
296
354
360
296
344
253
331
292
371
375
359
330
333
263
325
336
351
346
346
262
304
281
331
348
292
370
263
304
319
302
297
290
249
326
372
323
255
315
339
327
302
243
325
349
264
263
285
339
240
300
369
284
274
230
329
314
347
328
403
260
342
339
330
322
307
339
300
310
334
232
330
361
334
273
340
335
265
299
272
309
219
324
310
331
361
280
351
323
343
367
258
331
333
304
343
375
334
294
304
321
271
303
349
314
377
319
372
332
285
311
281
285
239
187
342
378
322
326
322
255
338
206
357
241
336
400
345
332
265
324
318
288
299
315
331
344
320
350
244
343
370
231
298
293
408
383
296
343
399
344
270
281
306
262
295
361
384
347
276
324
347
364
346
223
344
279
370
256
371
350
253
243
262
358
273
233
292
363
370
237
256
312
327
254
331
320
364
308
287
263
322
334
349
348
294
326
306
332
322
360
260
276
359
349
343
330
249
332
350
350
305
315
255
366
397
371
323
358
320
304
373
237
292
327
271
379
334
288
395
409
311
342
289
332
318
305
319
309
379
311
326
327
361
416
325
331
348
361
327
323
302
246
329
266
399
366
373
330
259
311
281
261
319
311
390
344
283
368
263
281
264
321
343
364
328
330
320
349
285
368
246
362
357
319
192
337
364
296
351
360
338
324
332
247
260
299
399
309
307
268
337
310
311
355
369
287
346
321
342
253
397
385
328
340
248
284
337
346
275
370
376
307
350
307
294
285
349
325
286
280
339
320
365
372
174
360
381
318
314
343
350
335
315
341
244
312
266
336
323
320
291
245
293
299
343
282
282
315
356
300
375
314
293
305
322
219
315
356
366
291
350
379
307
284
247
287
360
314
289
326
327
365
413
372
327
331
272
369
396
326
302
421
293
380
288
317
391
252
320
276
321
310
352
204
264
250
342
295
385
237
362
256
298
318
367
397
315
309
361
362
327
310
279
299
341
268
274
297
365
150
292
315
303
339
262
343
390
338
318
342
177
359
296
311
326
331
238
328
374
352
352
240
323
299
319
337
269
328
338
295
399
305
291
265
332
329
290
291
287
297
282
247
383
275
288
297
222
386
368
287
332
257
323
354
351
304
236
386
307
309
330
219
245
305
300
334
231
310
343
267
317
270
265
315
284
310
342
355
276
386
340
306
324
371
339
252
370
260
371
303
367
326
264
281
312
288
288
332
316
368
380
296
301
322
329
314
309
231
207
368
278
303
362
311
311
296
402
342
249
295
404
315
345
223
317
291
375
384
304
378
291
364
383
337
325
330
385
332
292
289
339
209
360
346
374
358
325
271
280
272
311
351
350
288
252
253
376
352
410
352
287
355
337
346
285
275
237
222
377
280
274
326
384
242
349
271
233
338
331
216
316
279
287
306
318
368
325
293
281
268
312
300
314
270
265
353
373
267
359
312
275
274
305
339
265
335
235
348
354
334
285
321
330
273
339
221
301
332
338
294
293
203
289
312
321
393
369
344
308
362
368
405
294
340
374
236
291
342
307
262
279
323
256
282
248
300
303
310
312
358
361
343
330
375
294
265
365
354
283
311
313
316
315
326
309
368
350
384
377
332
331
227
281
339
361
269
396
250
354
262
280
323
307
318
254
314
358
268
322
324
343
279
226
216
297
299
292
368
288
353
318
283
372
270
294
214
366
331
286
320
349
184
420
361
357
215
351
329
319
286
261
338
331
322
286
292
347
369
250
283
337
330
375
305
312
307
293
266
381
240
347
263
309
376
305
394
322
311
287
417
327
243
340
394
358
249
356
370
341
335
310
356
287
260
364
317
381
298
334
270
336
341
378
252
315
376
348
293
302
328
417
286
374
369
285
350
377
286
359
313
297
336
356
325
376
274
305
312
326
315
305
310
310
315
229
300
280
352
371
229
310
254
291
297
411
323
289
305
376
307
263
310
302
228
317
303
345
379
337
281
325
343
340
317
212
371
340
283
262
325
321
368
298
359
272
274
201
319
342
306
273
320
279
287
281
363
315
245
323
340
256
290
340
387
255
403
285
255
316
333
336
370
365
373
372
339
207
359
334
354
343
294
325
228
268
261
242
355
276
247
337
301
352
263
253
382
356
331
310
381
363
347
315
325
354
266
346
296
272
294
348
306
283
331
331
290
334
288
308
340
270
273
336
303
274
297
246
305
288
277
327
360
335
323
334
402
400
373
365
292
324
319
231
299
372
259
224
242
291
319
334
343
324
365
343
332
349
280
260
355
414
319
296
277
318
365
339
357
326
291
322
315
373
186
357
261
310
301
285
326
269
359
279
344
399
313
253
327
321
342
254
332
309
308
362
312
341
345
388
342
389
357
274
228
290
314
219
298
286
357
384
215
365
267
364
359
264
348
327
362
328
394
300
331
308
287
345
384
378
304
259
293
299
326
291
383
233
345
337
318
236
294
233
336
387
390
393
303
313
325
252
305
289
353
281
249
276
355
387
349
325
316
380
334
361
236
324
311
340
315
272
350
346
341
349
359
267
302
266
392
282
247
321
309
374
382
335
345
279
353
344
351
302
199
406
310
289
368
327
295
404
206
364
396
313
314
268
368
272
331
397
316
311
316
341
304
273
385
331
312
305
281
273
312
418
356
271
375
372
351
290
377
279
284
314
322
290
358
311
350
362
316
328
371
255
359
309
266
315
309
319
312
238
344
348
336
306
270
241
331
364
325
336
319
275
320
293
282
365
299
158
271
336
257
369
343
229
337
244
351
252
312
335
303
369
281
372
328
296
304
321
241
280
336
386
240
254
340
248
279
396
287
308
304
359
346
272
319
411
337
279
359
353
334
297
337
327
357
362
299
322
208
273
208
375
369
284
292
374
365
330
338
370
345
333
375
323
299
235
388
374
364
312
306
274
360
265
329
299
251
277
327
223
309
283
262
373
222
421
356
287
321
273
344
301
243
336
301
383
290
285
298
268
334
351
330
398
296
300
278
329
405
299
386
265
298
303
336
295
352
334
397
321
336
346
259
304
291
318
351
266
309
300
332
335
330
231
418
289
300
287
316
324
277
303
289
349
290
369
339
355
347
320
217
393
351
373
280
377
304
294
362
287
288
287
286
241
263
310
293
308
337
360
322
386
288
371
395
314
361
348
390
226
275
295
328
375
302
334
225
274
313
334
269
271
202
248
325
366
337
243
235
366
308
334
338
305
400
325
315
319
363
341
300
369
304
305
346
327
435
324
273
332
422
289
340
386
230
332
277
330
365
251
335
330
344
275
303
370
288
289
306
316
328
337
273
291
290
251
356
312
324
339
345
343
317
322
357
375
258
372
357
244
218
242
274
376
352
308
258
339
386
312
359
319
374
328
257
286
342
373
218
318
273
269
288
365
343
283
363
299
292
287
207
327
241
247
368
352
364
321
416
265
306
292
297
353
321
335
242
345
281
259
214
316
348
364
269
384
289
304
329
400
352
349
323
342
316
337
274
340
208
354
330
335
340
308
327
327
291
345
284
342
354
263
340
296
344
407
335
335
297
327
246
352
321
266
288
292
357
260
384
342
232
263
312
284
350
343
327
452
376
333
321
359
320
328
321
269
307
364
356
235
392
337
273
329
291
323
303
367
323
304
354
339
371
247
249
342
330
280
316
321
281
326
318
331
368
309
325
305
346
291
384
283
241
284
299
330
236
318
285
299
373
254
291
344
316
344
344
351
337
339
390
328
322
343
353
279
329
356
375
310
261
293
360
265
335
364
375
275
313
318
285
301
308
388
212
307
278
334
362
278
302
368
345
302
390
345
320
284
312
317
316
404
281
274
312
278
351
295
318
348
313
285
298
373
370
364
351
302
320
330
326
325
319
320
320
271
333
293
304
312
330
325
350
279
326
321
294
331
279
342
356
430
324
347
389
349
357
353
335
304
279
338
354
362
306
264
326
355
231
357
398
348
310
298
399
332
291
232
322
278
322
311
349
296
354
313
312
337
319
339
357
307
300
371
306
327
260
412
329
353
328
287
279
271
322
312
333
257
346
394
329
341
254
322
272
337
287
332
312
283
372
280
248
314
370
313
368
402
293
326
338
293
283
375
271
381
338
354
311
313
227
354
305
388
388
346
210
318
322
248
350
286
349
336
304
304
299
313
244
376
371
359
356
284
350
320
326
338
320
284
363
315
283
305
309
255
337
274
237
338
352
314
371
321
331
294
217
233
298
327
256
327
261
329
352
283
352
342
333
306
314
389
297
362
333
306
270
381
264
292
313
323
309
322
330
412
296
278
316
263
286
300
360
332
350
262
362
360
284
231
292
314
342
386
284
334
281
373
294
236
283
294
354
394
316
323
270
320
275
294
351
279
245
364
321
215
309
301
254
365
385
270
312
280
365
287
247
337
226
332
371
301
354
225
266
308
299
324
380
260
255
299
345
430
287
252
336
341
279
318
317
232
305
299
322
288
398
308
381
312
339
403
336
381
384
197
258
264
321
318
341
363
232
328
386
232
286
323
328
377
285
309
301
309
322
336
330
268
305
302
274
248
273
336
318
406
258
320
387
378
347
343
282
245
331
203
301
342
338
257
312
333
325
330
317
313
313
345
320
267
364
389
270
337
254
374
283
286
364
347
187
324
311
219
265
407
369
306
317
335
355
290
361
370
255
292
339
322
351
364
264
355
250
258
300
356
330
261
222
357
285
309
271
310
259
230
306
261
331
398
337
287
271
342
283
257
349
340
373
346
261
358
265
284
338
260
356
358
236
270
319
317
297
298
382
346
262
319
385
326
361
376
201
272
327
361
306
356
346
296
354
305
359
262
283
367
325
348
328
285
309
289
270
310
333
350
391
271
220
234
275
307
336
289
305
290
378
306
299
338
309
243
338
340
345
226
245
400
246
280
288
276
332
328
396
213
306
344
272
346
283
286
320
287
332
310
298
306
287
210
252
293
298
345
399
289
290
346
336
256
281
220
314
316
311
324
317
349
300
319
327
316
331
354
377
263
234
307
285
345
276
253
342
275
414
336
322
225
277
345
360
370
275
273
321
297
336
349
325
255
317
384
364
310
325
253
305
265
403
285
319
347
354
383
330
336
265
272
277
263
376
291
324
340
285
346
330
362
252
302
249
283
329
258
343
318
373
322
345
246
269
355
392
261
277
339
383
317
299
308
329
327
224
303
346
291
316
328
335
304
413
309
301
261
343
278
403
323
277
353
247
394
302
313
324
272
369
357
261
324
309
247
383
347
358
277
360
221
319
278
253
261
431
245
268
338
325
250
320
358
326
236
274
202
359
300
363
247
328
365
226
423
349
312
346
251
326
343
301
288
339
311
238
407
300
346
266
300
337
310
320
276
376
204
278
301
309
307
318
272
250
328
262
326
318
305
292
403
293
341
308
362
306
358
379
354
302
349
353
300
224
314
361
319
275
317
355
318
291
366
318
301
330
278
386
311
371
346
341
261
406
365
325
253
264
273
369
386
292
266
304
325
365
311
291
303
343
349
325
323
346
330
333
348
290
264
291
375
208
317
325
299
362
294
304
394
385
267
315
329
355
355
341
326
312
259
329
316
308
363
335
282
284
321
301
293
283
326
311
312
314
353
351
268
241
343
378
291
367
314
229
217
244
220
362
357
191
376
374
338
320
346
258
341
340
276
235
284
247
311
241
297
301
277
374
282
240
328
293
323
354
340
293
316
359
344
367
315
357
341
284
340
328
314
340
280
212
388
335
337
343
303
336
232
338
232
235
261
285
224
318
281
351
287
241
272
292
359
252
379
306
288
313
310
303
268
343
354
269
374
370
276
374
355
388
411
313
372
330
345
400
413
283
291
372
362
303
324
275
237
279
313
292
328
308
292
272
333
366
340
286
362
384
273
400
205
310
298
373
288
266
250
304
370
232
267
324
344
339
352
426
364
387
342
395
280
453
334
335
333
318
388
387
311
348
282
275
248
265
326
286
301
331
309
239
347
352
314
386
358
306
329
348
270
351
273
283
306
361
291
293
364
307
288
281
253
335
304
323
279
292
355
379
321
247
266
296
296
233
380
316
361
306
333
328
361
371
280
369
307
273
319
277
331
290
299
299
295
291
370
272
258
376
374
326
333
306
299
250
373
414
359
324
321
278
374
298
224
302
349
323
363
267
321
319
277
328
288
327
301
392
322
340
311
381
335
353
350
282
338
240
302
287
380
335
352
364
303
236
322
334
317
369
291
262
355
366
321
342
317
295
378
272
392
304
325
222
246
291
231
373
237
304
386
356
337
267
299
290
377
229
287
297
314
248
269
239
264
273
300
355
252
291
372
331
270
365
329
309
350
329
285
249
306
328
387
291
296
281
267
274
284
301
260
310
311
325
272
350
360
332
286
281
353
267
241
334
273
289
345
350
325
323
313
324
331
296
262
288
369
390
278
303
342
366
416
298
420
288
362
337
283
276
325
337
296
308
199
386
289
276
365
245
318
261
386
280
365
344
242
239
349
263
313
316
217
297
242
254
253
303
287
259
307
280
248
382
274
275
313
350
314
325
300
358
276
317
368
353
313
236
307
394
279
382
300
311
339
371
275
367
333
292
264
428
368
341
284
341
347
392
323
327
275
255
274
376
356
260
381
335
230
309
351
331
316
285
287
273
374
247
235
356
313
235
352
276
328
362
312
298
331
325
304
266
334
284
335
282
335
269
365
352
321
221
293
321
358
230
282
371
329
415
306
375
352
372
301
265
297
279
280
358
332
327
308
333
282
319
342
285
381
323
265
278
285
272
342
357
343
278
318
331
335
322
297
286
265
264
332
334
302
337
326
343
369
278
356
377
349
332
283
328
314
330
307
408
335
334
369
273
276
247
265
266
309
319
303
300
333
314
338
328
329
455
325
352
333
405
263
269
273
286
356
353
346
342
236
307
360
418
305
334
321
308
368
414
262
281
367
334
341
317
333
349
257
307
333
322
291
310
373
341
337
306
280
307
289
342
354
300
398
331
272
368
289
281
295
300
301
274
318
289
291
318
334
340
324
251
307
387
285
294
211
376
294
271
337
332
243
368
280
351
302
302
342
271
375
322
405
272
355
309
372
369
341
332
347
333
355
282
346
327
366
343
296
367
271
280
304
390
310
291
311
340
295
234
312
366
306
319
288
388
312
295
291
270
368
323
274
286
278
237
239
265
326
356
300
389
299
330
329
351
302
337
322
342
347
379
351
274
417
306
279
369
302
280
308
335
358
389
227
303
278
340
285
278
252
356
312
369
365
331
314
372
320
314
298
353
266
307
284
367
338
348
369
334
284
363
264
361
306
254
335
327
337
274
275
169
269
363
339
331
375
255
299
342
333
364
262
310
242
371
246
357
306
387
376
365
286
277
272
309
291
362
309
416
312
284
323
384
306
301
318
340
271
292
237
369
379
297
302
301
262
256
329
347
304
308
269
262
342
366
369
304
322
354
296
376
307
356
292
247
345
269
315
342
263
290
299
299
336
327
305
323
436
329
319
357
320
318
333
261
383
334
292
331
339
286
332
386
359
307
250
330
257
269
313
367
344
336
269
298
332
280
186
286
293
397
197
230
374
314
327
313
278
313
311
282
318
338
262
213
362
319
357
350
346
351
382
282
270
341
339
404
332
324
353
376
277
318
284
263
284
357
378
332
261
368
246
322
369
302
315
264
310
340
300
305
295
238
298
315
259
354
234
282
226
315
274
338
309
275
348
330
405
371
279
307
281
236
348
289
349
356
325
264
372
292
313
337
284
337
385
366
257
202
418
332
341
360
236
337
348
333
398
306
344
345
289
247
224
314
286
371
313
303
207
244
257
352
315
331
175
249
317
272
343
284
339
317
337
385
322
312
221
290
290
324
352
289
228
252
322
309
302
264
244
329
414
256
359
360
297
344
307
235
303
322
384
269
307
221
357
344
383
325
324
284
230
254
301
340
330
320
311
283
277
294
301
279
273
354
370
301
325
322
290
267
287
288
299
411
280
364
356
270
285
371
290
265
309
335
253
283
273
297
332
304
271
331
275
331
239
295
333
286
312
335
344
302
233
305
287
271
329
309
344
288
354
310
336
285
344
259
296
361
360
340
364
365
283
227
388
368
276
301
262
257
335
335
348
289
299
295
309
355
346
403
350
357
312
315
347
362
238
337
425
383
238
332
255
293
327
320
312
292
349
314
391
337
412
290
344
359
414
312
304
292
313
371
331
286
299
361
331
306
343
335
285
340
276
376
360
255
252
289
363
362
268
293
291
336
325
334
351
323
260
331
295
368
257
287
315
250
372
306
313
327
324
338
313
282
283
271
267
359
241
359
248
309
376
270
336
350
331
332
202
401
331
316
347
300
318
387
339
361
369
265
412
308
278
215
325
404
271
290
296
288
234
318
259
351
307
311
326
285
291
363
321
339
330
302
343
227
282
342
355
306
354
297
364
302
377
293
295
267
329
345
296
267
313
390
328
312
283
292
318
325
241
324
252
266
305
342
332
343
289
328
271
344
272
331
305
297
378
405
430
308
257
289
309
292
294
301
242
299
302
368
298
324
417
334
338
299
296
280
287
287
317
350
207
457
320
255
316
338
367
340
365
353
331
282
390
383
367
399
266
340
297
359
306
318
345
277
261
309
308
367
294
367
341
294
285
327
381
262
342
289
264
314
257
355
261
289
326
380
314
327
332
303
302
273
351
300
261
229
354
286
298
289
344
295
327
314
362
311
269
327
285
281
386
347
244
398
322
342
265
277
388
368
328
266
340
276
303
333
264
348
360
337
292
260
345
309
274
341
324
229
296
279
285
239
329
335
282
309
255
289
236
353
327
257
337
330
355
363
290
251
412
299
313
337
343
310
329
242
292
254
292
365
372
228
311
342
387
305
316
360
325
330
286
327
287
253
296
322
382
344
389
362
345
347
292
372
294
238
315
354
375
270
311
358
295
358
354
254
302
338
260
330
263
316
322
319
326
257
332
333
359
274
343
312
364
231
359
257
345
268
224
390
231
331
305
280
305
366
353
342
292
301
295
385
275
268
357
339
286
368
261
329
307
297
347
321
294
255
295
328
333
403
255
265
339
398
232
330
368
224
373
295
306
237
200
312
318
327
293
229
252
244
370
299
411
346
358
348
331
385
400
382
331
312
384
303
320
336
340
350
247
318
355
299
297
329
254
340
277
324
318
347
396
284
422
344
401
298
345
266
257
343
334
390
311
299
275
239
290
263
279
305
301
284
310
275
280
293
384
302
303
352
253
365
326
299
211
335
316
256
366
290
365
322
287
352
308
343
383
342
346
353
263
302
294
291
356
328
248
244
354
334
243
267
282
368
285
216
354
257
245
287
290
357
332
340
272
335
268
339
321
420
322
324
332
336
282
346
336
282
294
295
234
393
407
394
305
313
294
331
296
353
272
333
273
345
379
269
363
292
274
320
335
339
343
377
301
305
397
325
309
282
293
275
320
273
294
334
319
350
400
256
357
330
309
279
280
309
272
366
364
377
377
304
338
390
328
324
359
396
284
301
320
362
309
274
292
289
299
270
350
367
338
313
327
312
371
353
344
312
344
330
305
358
301
362
354
271
292
345
269
303
290
277
277
363
268
332
317
312
259
370
369
262
305
231
290
353
339
310
269
249
320
374
291
234
287
299
324
323
294
323
326
389
311
342
340
262
358
307
346
281
355
355
323
284
332
271
367
311
345
359
236
360
324
357
336
320
268
325
382
274
291
340
349
308
397
364
328
360
264
331
356
316
358
291
289
354
366
366
370
269
260
283
264
330
217
297
227
278
278
332
348
271
286
340
323
322
370
345
324
262
246
327
327
294
326
314
206
274
333
307
353
342
361
313
419
232
300
370
239
291
346
339
375
364
381
324
343
380
361
342
328
343
304
255
320
299
303
302
342
319
336
335
299
396
161
266
309
334
310
324
398
321
384
305
259
252
287
320
315
258
367
367
420
344
291
290
345
259
210
323
299
270
324
273
276
337
361
293
319
249
256
265
238
257
372
316
369
351
356
330
312
288
313
333
247
312
304
292
343
287
304
328
332
308
360
296
273
287
363
258
335
303
323
291
396
338
376
338
267
254
319
264
363
290
318
214
345
396
218
283
391
348
409
319
358
324
303
341
360
321
332
262
247
308
373
319
383
239
233
337
251
321
421
343
338
371
319
393
350
300
362
359
343
382
266
350
254
334
328
347
335
302
267
298
326
263
324
247
349
328
242
300
378
322
232
227
274
286
304
299
361
343
266
320
359
353
267
421
260
284
277
266
298
360
310
376
328
349
334
367
363
283
268
303
220
374
308
361
278
353
264
394
361
243
380
357
350
312
345
379
305
377
301
376
316
308
298
352
323
321
255
340
284
286
266
316
317
253
300
384
345
322
350
328
296
373
290
282
344
313
336
365
358
367
369
391
340
311
356
320
378
269
242
350
357
369
298
256
372
326
283
345
327
280
326
275
420
325
310
267
339
345
313
321
344
288
362
313
334
308
267
236
350
319
371
184
367
290
269
300
315
278
317
260
268
407
356
277
342
292
303
280
367
339
229
218
320
371
364
243
251
338
323
343
328
302
376
362
219
347
327
374
390
328
308
326
424
299
258
318
332
397
332
386
300
241
323
309
356
325
254
302
364
341
256
341
436
337
282
381
400
267
334
373
363
303
310
320
265
308
321
262
278
394
231
332
339
267
232
355
324
280
280
258
341
225
267
313
289
269
325
261
313
403
372
319
301
318
273
355
315
223
318
262
244
307
212
264
248
324
332
303
291
345
273
371
323
319
272
338
301
333
315
272
252
304
364
379
342
350
364
365
261
255
340
362
306
310
270
284
298
311
234
332
322
364
218
278
378
358
363
255
253
241
290
345
311
344
265
311
340
299
325
391
382
346
350
377
260
317
226
349
304
343
369
221
342
309
313
256
286
300
268
352
277
322
206
301
318
391
280
242
314
215
346
371
217
290
373
314
278
316
309
349
328
377
371
289
301
247
277
245
322
387
350
271
267
298
265
404
320
264
384
372
335
332
270
368
206
350
238
305
324
367
383
292
330
304
387
258
366
340
262
326
279
319
292
264
253
329
277
346
326
352
318
273
389
303
239
333
274
319
243
333
227
317
339
316
267
287
363
370
373
358
327
334
308
353
281
328
360
381
308
343
339
310
280
384
345
405
325
331
181
354
229
352
314
340
351
398
319
413
291
315
331
296
363
303
409
351
237
309
215
298
318
296
332
276
356
286
411
314
288
320
299
240
309
268
248
295
316
351
371
334
298
323
298
247
285
344
283
325
374
311
358
288
231
281
364
310
417
356
370
239
260
326
307
344
302
263
333
310
236
330
252
277
399
322
291
321
382
272
372
296
249
315
336
272
241
319
329
316
281
325
366
296
322
262
345
308
406
312
366
326
313
221
395
366
287
268
301
288
301
393
329
379
281
270
380
333
360
306
306
265
349
293
400
410
293
358
279
391
276
253
267
322
292
396
347
348
301
338
312
319
342
353
392
325
347
273
362
211
336
333
275
340
332
284
302
308
316
238
341
371
333
345
298
298
313
321
307
368
315
357
315
285
338
334
315
296
412
260
249
348
304
315
344
286
336
267
320
328
374
324
306
287
207
262
264
250
275
337
298
296
327
291
402
332
295
270
306
383
320
398
308
263
320
280
264
265
237
315
332
244
241
371
291
389
268
389
308
372
228
270
372
347
362
358
379
241
312
391
275
305
352
351
319
341
275
362
352
336
361
358
320
354
284
325
340
369
293
281
238
253
338
314
371
229
274
265
278
348
372
307
383
308
368
224
302
391
355
303
271
285
313
234
312
297
292
231
286
381
308
373
283
366
298
314
342
366
317
319
291
295
336
286
372
317
298
253
377
323
275
248
357
343
328
357
391
329
365
244
236
242
321
284
374
222
329
296
384
396
275
326
319
300
297
353
288
324
350
330
281
323
320
266
325
238
365
303
320
268
289
325
347
256
325
352
335
366
314
345
333
281
339
351
326
357
361
248
363
283
259
217
188
336
237
384
328
280
303
344
259
417
315
408
273
358
294
366
384
268
317
264
301
330
385
273
251
328
322
270
403
360
371
286
333
311
288
293
324
335
273
254
310
349
273
343
211
285
260
383
208
284
289
237
296
402
250
237
318
351
385
224
366
334
275
351
326
312
273
366
417
283
324
244
259
339
327
281
274
268
290
263
385
301
264
263
339
310
182
305
294
376
314
315
351
366
401
354
281
321
350
275
221
302
389
259
336
273
299
299
333
263
284
402
304
325
373
345
258
338
340
392
297
339
297
269
313
336
241
365
303
331
336
306
268
273
339
332
296
330
385
281
399
355
316
336
277
254
375
355
318
261
302
302
329
299
390
264
348
294
293
264
254
339
243
340
267
330
339
366
321
294
322
253
333
369
275
343
233
311
242
317
378
295
295
320
402
323
344
369
423
306
318
342
239
348
332
304
301
313
406
358
282
324
295
319
405
333
324
275
382
348
318
261
326
330
268
356
245
305
238
305
332
237
321
374
278
304
351
268
278
409
363
281
313
306
373
272
303
298
298
295
318
360
342
375
282
215
353
303
263
367
292
384
372
289
317
333
312
270
339
371
325
281
338
348
334
296
342
261
294
331
339
302
332
348
341
274
262
384
334
241
240
315
283
311
323
288
316
389
329
201
311
259
335
341
295
359
241
323
316
338
236
339
332
384
307
307
412
384
319
343
287
404
386
267
347
299
269
296
283
352
320
307
385
407
303
427
201
300
301
270
364
244
345
308
202
329
388
288
356
276
339
306
297
330
317
331
281
276
343
402
288
374
354
287
272
296
310
311
221
269
288
267
289
365
353
400
315
331
331
294
297
328
387
311
291
396
262
318
303
355
300
300
283
249
265
236
306
365
257
233
377
299
332
322
255
278
269
316
233
281
285
274
349
308
308
283
313
410
327
287
301
371
338
341
309
311
355
306
291
257
214
262
316
349
332
373
361
335
259
360
330
284
238
406
323
353
380
294
319
292
359
300
284
318
302
302
389
305
283
342
285
328
399
311
306
327
262
364
357
294
333
294
291
253
339
334
319
265
267
326
289
339
362
303
311
233
261
331
354
293
351
302
328
347
278
362
331
363
294
312
287
283
304
304
330
334
390
328
334
391
341
246
263
373
309
321
337
354
208
255
322
406
337
343
291
461
240
338
320
315
304
304
373
219
255
365
329
241
363
303
324
333
287
316
354
271
379
352
309
316
240
386
362
341
296
273
289
332
323
332
311
255
324
324
315
286
342
363
265
404
236
287
293
380
354
374
286
347
244
318
304
324
268
325
265
347
374
327
338
326
280
377
380
395
379
343
376
290
339
354
337
286
299
335
321
277
310
266
315
296
227
276
287
403
322
271
377
323
311
325
291
345
291
351
300
368
373
315
266
239
285
313
378
319
358
375
328
389
375
313
299
334
290
353
292
281
286
297
349
258
320
279
305
365
302
284
386
308
314
296
221
325
284
368
302
318
324
268
314
399
232
292
270
406
371
340
306
289
302
361
352
342
246
338
312
328
336
338
337
309
286
273
281
282
339
313
261
302
324
372
305
305
270
330
349
294
231
292
341
303
301
327
375
307
249
396
304
308
229
355
261
258
378
340
162
341
343
212
286
370
270
315
313
395
336
284
359
339
362
356
291
340
306
386
390
424
289
213
330
338
295
350
199
334
323
312
350
290
376
301
331
359
351
288
334
309
312
313
369
371
232
302
347
325
281
394
341
392
316
357
345
352
184
251
300
336
323
320
361
300
358
333
336
311
325
378
334
296
350
317
282
354
349
344
311
313
273
318
352
312
391
283
331
254
349
324
302
342
355
382
260
390
342
404
270
352
232
372
291
347
320
305
278
366
233
311
333
312
237
300
259
323
348
277
322
345
293
335
339
369
241
281
360
289
280
239
411
317
237
308
371
231
354
390
318
329
335
318
350
240
352
302
345
302
334
368
376
381
307
394
389
356
328
266
278
380
313
346
262
367
328
370
366
228
312
326
314
326
333
288
407
307
304
266
323
340
362
330
326
322
349
286
291
294
329
329
252
221
370
323
358
261
257
340
305
307
403
350
354
374
330
336
333
342
297
334
292
291
359
289
339
218
305
419
332
326
340
393
304
290
354
329
337
247
364
315
369
307
277
281
294
313
362
329
350
327
363
337
313
338
362
270
313
282
270
342
297
395
354
346
309
367
352
312
341
348
357
300
326
391
336
297
360
341
294
239
324
298
252
325
370
350
326
239
285
311
349
363
368
260
291
258
354
392
347
318
306
317
320
369
366
264
287
327
288
277
313
347
302
313
360
379
362
362
335
274
339
337
316
319
335
266
230
234
297
260
318
391
388
391
413
227
286
378
322
252
335
349
287
258
352
295
343
332
333
308
326
282
335
272
318
295
375
358
257
266
368
350
285
318
242
294
297
297
399
360
335
295
318
347
315
353
368
335
366
378
307
307
288
291
290
270
371
357
309
270
301
272
284
239
247
358
321
376
303
277
376
355
276
282
386
262
294
301
284
376
361
313
323
343
261
293
323
337
375
272
314
328
311
329
329
269
362
337
327
287
337
333
271
370
309
337
314
290
335
342
245
305
305
284
392
387
334
343
298
216
257
333
330
379
282
412
282
266
413
381
314
376
382
286
338
289
376
317
212
341
417
321
290
337
357
296
319
401
330
333
305
356
386
401
354
244
234
236
307
350
300
367
307
332
321
275
298
336
257
343
338
289
303
358
320
315
329
315
297
339
368
334
358
339
335
395
351
338
277
296
278
325
323
264
364
326
321
366
342
385
299
299
365
341
244
335
270
243
261
356
330
263
347
342
308
262
362
281
323
386
289
332
330
285
255
367
243
310
391
299
319
384
263
236
311
329
342
231
307
274
300
276
393
329
258
293
305
327
331
336
247
256
293
295
248
348
265
302
349
363
279
374
371
360
337
320
251
277
257
351
318
315
317
291
329
309
371
308
308
296
353
361
334
334
246
287
272
417
267
272
410
323
348
261
280
252
322
246
267
310
382
371
303
346
170
406
345
325
311
317
285
332
347
309
205
380
244
260
299
290
295
320
355
358
327
373
407
322
316
326
374
399
361
346
320
344
273
329
353
296
357
280
305
388
254
282
308
226
347
326
315
257
309
256
341
303
336
359
381
403
317
256
244
376
282
272
365
334
349
292
295
318
385
294
302
280
321
257
245
318
306
369
382
355
303
316
276
345
216
340
259
329
212
306
383
323
339
347
357
349
327
341
252
375
265
367
409
343
251
238
249
388
322
233
324
322
360
324
271
344
299
291
326
335
350
313
350
269
299
319
304
294
381
270
237
382
240
297
381
354
317
355
260
297
346
380
337
311
294
271
249
336
219
359
376
429
299
279
370
356
368
311
321
205
262
371
272
267
300
304
354
332
312
375
300
276
331
343
407
310
333
303
344
236
319
286
393
334
372
357
253
313
278
374
286
294
270
276
313
370
309
287
348
338
368
373
312
324
305
289
316
258
297
367
328
293
299
308
327
292
282
329
346
386
306
344
323
292
309
313
257
310
257
297
287
340
346
367
313
319
324
312
456
302
303
264
304
284
311
338
250
241
260
313
267
286
271
250
320
287
373
239
308
405
305
275
287
253
254
351
280
320
289
330
258
330
193
319
273
340
346
280
321
310
313
328
256
346
308
370
324
274
279
330
334
304
297
347
332
304
280
373
315
225
398
293
308
250
370
350
315
386
304
312
327
300
204
311
311
363
342
305
359
318
319
304
237
294
359
304
354
344
331
373
252
407
321
292
340
312
415
306
296
280
360
261
334
302
330
312
355
347
204
338
322
299
360
360
292
399
309
308
225
352
301
394
321
302
291
384
284
288
326
243
265
370
280
385
226
315
309
305
333
381
310
300
261
340
257
335
298
272
319
257
384
369
332
297
341
346
348
339
374
367
350
340
332
326
378
355
304
376
315
330
295
299
253
312
283
222
350
270
302
340
355
303
320
410
270
328
321
396
328
305
262
361
290
416
199
316
331
342
305
356
305
211
342
288
289
262
338
317
215
331
326
397
356
386
289
359
387
329
339
356
325
287
367
269
409
335
396
247
298
308
341
351
342
270
309
308
382
336
328
385
335
302
350
318
334
336
411
238
324
322
295
232
310
368
340
316
278
377
378
249
304
344
316
280
268
253
281
329
373
310
248
299
254
235
322
259
201
283
331
303
285
209
289
322
264
350
309
326
325
276
210
287
394
289
392
361
362
319
284
344
211
342
241
312
308
331
316
400
344
357
332
264
348
384
403
331
338
218
347
269
189
374
392
269
320
258
261
275
339
365
316
314
342
269
388
277
293
293
306
336
328
344
328
289
374
284
345
276
344
352
219
277
337
325
297
266
340
277
317
245
325
388
342
265
323
273
351
339
281
308
294
279
343
377
295
374
392
335
255
316
338
359
303
356
296
268
290
311
354
338
262
296
253
362
349
338
361
364
258
294
296
281
358
329
335
296
323
332
344
329
373
421
267
315
299
336
282
351
415
364
399
281
272
363
302
353
313
328
366
325
304
352
295
277
350
277
358
329
307
407
367
271
306
326
288
264
341
256
316
213
342
403
406
325
266
341
331
387
378
337
407
220
307
423
350
396
311
263
306
275
256
219
339
236
305
360
269
281
321
294
213
256
302
333
317
280
375
276
318
372
259
306
371
224
299
308
267
271
370
270
354
359
279
291
343
335
247
274
329
213
322
296
284
363
359
264
342
362
243
297
305
341
225
369
251
319
310
352
336
373
334
381
229
328
289
294
298
270
318
286
205
333
315
383
305
289
296
383
269
418
332
315
296
338
316
342
312
287
316
269
358
323
367
349
326
353
374
376
277
280
336
207
335
384
366
330
355
333
284
243
282
393
330
274
288
250
337
335
314
389
273
368
330
293
356
388
296
220
393
241
284
306
360
418
371
341
189
380
289
309
365
197
277
324
403
269
249
362
357
381
345
449
221
294
339
277
293
338
296
319
291
317
304
337
402
334
277
350
332
274
363
305
295
311
298
410
206
246
348
344
279
251
400
344
289
329
347
275
321
258
272
299
329
364
330
306
262
282
337
338
261
379
264
302
352
292
282
286
339
335
303
284
373
327
274
253
308
291
278
296
264
299
381
279
299
301
197
302
281
318
283
338
246
329
320
341
274
389
327
288
302
314
322
338
333
343
345
338
259
326
365
332
264
286
328
277
298
322
373
320
356
313
308
350
306
289
344
328
244
374
254
223
375
351
262
411
341
318
346
279
276
345
330
303
334
364
329
195
215
299
293
261
320
276
342
365
306
307
310
345
284
340
327
329
271
315
361
259
251
278
354
351
339
307
388
337
272
237
211
373
423
336
354
297
372
365
336
166
303
280
311
312
341
324
298
235
348
300
318
291
352
297
339
360
354
417
297
294
321
315
352
357
288
251
277
345
310
313
411
280
355
307
269
288
335
225
280
330
241
312
346
213
332
334
256
277
356
352
371
340
233
308
413
275
304
294
363
246
281
307
390
273
334
287
356
360
263
307
363
312
315
339
241
333
363
336
370
315
257
330
332
424
326
331
272
287
328
257
248
284
262
283
314
347
320
322
250
322
316
379
348
364
320
356
364
219
343
392
283
313
239
311
221
317
300
315
377
317
287
250
303
188
293
305
280
365
311
268
274
215
373
246
213
267
314
296
305
410
272
319
290
309
346
301
359
316
326
274
336
359
249
267
341
312
367
308
347
346
313
366
227
354
279
278
343
343
376
281
350
319
376
214
302
321
419
338
319
359
315
351
390
292
324
329
322
254
320
318
281
351
327
384
306
293
367
362
254
405
397
299
340
332
374
359
264
329
240
418
337
316
295
316
250
335
352
246
350
338
296
306
369
357
325
367
338
330
357
297
345
297
357
311
358
325
328
287
399
346
348
278
288
316
309
363
363
333
322
306
291
364
308
351
268
396
338
323
372
375
306
330
328
341
267
381
270
378
353
267
236
331
382
288
266
328
335
325
308
323
286
339
317
318
372
355
360
408
369
341
330
256
333
343
335
311
348
323
232
312
300
341
293
227
283
317
235
346
295
282
358
291
322
265
382
250
289
304
353
311
354
332
243
311
235
306
232
307
265
286
314
364
305
291
328
345
317
361
318
300
326
290
175
283
321
288
321
309
283
407
396
267
203
348
292
288
245
258
324
362
227
356
333
276
386
247
252
269
356
337
311
303
311
300
277
393
294
171
350
328
384
293
320
257
233
299
331
328
222
309
242
345
379
245
319
363
288
374
366
302
363
295
331
338
376
292
255
397
374
350
380
289
274
318
359
349
359
266
305
285
319
381
327
351
215
343
295
362
284
374
380
343
343
248
308
328
344
251
262
199
247
394
246
323
330
312
251
379
376
296
337
305
286
232
270
339
331
293
300
332
374
334
278
362
298
227
395
332
259
292
274
381
354
336
393
382
291
371
348
372
308
267
381
309
367
305
334
338
382
353
296
266
326
377
277
291
244
303
270
319
382
250
260
364
338
281
373
362
382
338
217
267
348
264
408
289
273
282
342
338
435
312
341
386
261
326
329
289
292
245
405
346
318
250
288
293
394
359
327
284
326
352
322
253
342
305
324
285
300
275
377
244
367
273
307
297
305
319
298
324
360
228
382
288
343
350
216
354
399
313
330
328
276
289
334
361
292
305
328
348
341
353
309
337
393
353
325
233
358
283
288
192
349
283
289
260
293
280
324
260
305
366
275
291
319
304
391
307
407
305
310
325
440
247
320
328
302
309
326
316
375
383
342
324
242
335
379
308
323
358
431
262
403
307
302
308
265
260
340
285
329
360
302
332
348
329
202
301
320
370
322
285
339
283
309
337
248
338
359
242
259
311
316
353
368
347
287
369
305
334
396
265
297
367
334
291
298
263
285
276
301
212
337
296
339
301
321
272
388
306
309
292
288
354
431
305
267
345
289
318
266
296
225
289
249
362
353
341
321
338
348
294
313
390
386
241
312
342
360
285
299
334
386
338
309
383
308
335
329
329
355
365
294
401
308
416
276
333
299
289
244
313
348
338
333
356
290
241
337
332
405
341
382
316
305
264
370
350
301
233
278
328
340
320
247
359
310
262
292
338
219
357
286
317
269
342
402
360
324
306
346
226
318
242
323
379
340
272
318
427
265
303
321
329
303
376
343
395
315
387
341
311
325
368
266
255
264
347
293
299
295
297
331
254
334
263
230
345
266
352
211
272
252
314
327
364
292
272
204
298
352
341
369
357
219
282
363
276
355
200
339
315
336
259
308
334
262
360
339
314
307
320
300
371
313
310
285
279
317
336
313
261
228
268
246
414
358
299
337
337
253
341
284
354
266
342
309
367
328
369
225
303
327
318
340
296
309
324
311
327
271
355
314
368
358
382
285
258
280
335
333
321
271
246
389
328
330
370
332
239
321
314
298
227
350
298
249
340
388
321
334
292
282
324
300
357
333
348
223
256
325
350
337
375
293
255
306
360
309
363
351
300
322
218
331
293
375
340
338
288
322
382
427
305
329
314
344
368
317
267
257
317
271
292
336
261
313
271
242
360
361
246
313
369
374
277
257
308
188
273
268
381
357
311
319
318
258
374
269
415
297
287
405
314
318
360
288
322
302
323
312
323
379
237
270
296
339
303
310
322
342
267
405
352
305
263
317
332
269
338
364
344
372
284
302
338
313
291
334
271
318
307
320
366
333
300
306
346
354
361
311
400
281
344
282
377
347
270
391
291
339
285
322
288
351
361
276
330
300
215
340
296
374
309
275
328
342
315
385
255
397
376
355
303
304
292
313
314
384
435
299
267
347
279
331
338
290
390
307
371
308
345
453
280
350
332
245
304
329
320
409
289
243
332
257
197
350
355
236
299
291
305
315
327
270
306
197
287
365
310
297
342
325
281
248
270
307
274
234
353
295
276
385
265
332
269
302
370
307
302
273
315
334
351
314
278
412
355
348
374
318
234
341
317
300
246
309
357
378
242
304
250
377
307
325
258
358
322
288
311
307
297
293
321
309
288
286
312
276
281
164
300
279
298
340
344
334
348
303
248
356
249
237
350
311
367
386
376
303
396
345
219
288
280
297
338
309
395
400
323
243
342
333
307
239
281
341
354
368
268
357
379
257
373
323
303
357
343
318
337
312
294
340
306
378
306
297
318
364
320
396
337
254
347
333
338
299
303
221
186
386
302
270
273
355
262
321
379
294
333
246
229
394
284
342
310
322
316
225
343
313
329
368
378
331
290
287
371
285
269
368
355
285
394
349
347
405
346
334
294
250
331
278
328
267
308
310
344
271
315
285
441
377
347
292
387
334
329
326
357
269
293
350
302
306
272
342
290
227
378
336
345
255
355
284
282
283
256
233
328
290
280
220
377
339
348
333
304
321
325
224
316
352
281
360
272
355
312
292
376
386
354
346
333
289
257
316
291
396
368
339
332
378
373
300
290
261
270
285
265
316
299
239
379
346
334
351
357
339
418
337
342
297
354
293
327
352
295
319
309
297
353
322
407
388
229
339
303
318
306
270
302
315
266
279
434
292
295
303
263
223
247
302
278
243
284
373
378
322
300
356
234
352
255
312
371
307
369
327
358
289
297
265
314
356
356
292
361
309
291
278
325
297
346
285
229
427
282
361
254
362
293
304
330
307
313
307
298
287
312
305
247
323
332
332
361
316
297
307
348
325
355
280
299
350
381
339
378
276
322
349
294
396
263
330
349
293
349
287
360
274
309
288
409
257
321
371
276
452
304
315
262
307
330
381
309
310
256
283
356
292
191
294
351
289
320
352
288
248
277
333
339
348
245
275
312
344
310
347
376
333
377
307
351
353
294
306
322
259
355
314
370
374
411
321
350
276
303
293
286
315
322
245
355
242
296
320
366
361
325
348
260
324
310
267
272
286
387
306
376
320
217
271
372
265
345
230
360
274
329
415
299
297
319
320
296
351
299
363
280
249
363
302
301
350
271
356
311
238
332
314
261
314
386
369
310
279
286
274
332
337
282
328
345
345
363
314
289
354
319
261
320
349
322
332
300
381
368
364
389
242
290
363
353
325
345
266
391
357
236
271
363
249
306
247
243
276
350
398
325
279
285
304
245
324
289
328
348
296
325
309
307
356
397
358
242
402
364
309
369
326
357
310
225
311
306
299
368
363
265
315
328
404
342
225
332
298
268
299
279
341
358
317
337
336
312
427
296
373
208
323
294
301
257
317
297
227
285
359
300
323
333
247
240
221
290
347
235
358
426
338
301
367
302
364
360
385
318
290
284
330
331
224
298
367
291
284
308
297
326
313
358
296
376
354
291
305
319
278
329
351
286
336
331
341
373
298
383
251
367
309
305
317
355
268
305
326
363
348
365
313
346
323
312
317
295
318
279
273
356
210
339
274
331
332
343
329
338
363
350
150
286
317
317
304
239
329
319
299
278
282
244
353
323
332
332
342
429
354
295
350
260
346
377
247
325
350
353
357
312
240
258
335
327
313
299
364
382
306
348
318
265
261
288
349
260
267
320
280
342
312
331
293
408
377
335
359
334
287
331
292
349
309
362
310
291
242
318
338
244
318
213
332
280
360
390
272
296
318
345
332
245
375
304
360
300
316
425
309
369
347
288
311
330
291
389
281
317
354
318
230
273
280
275
310
241
351
346
296
426
250
319
304
337
303
413
322
320
299
307
314
265
308
314
362
340
332
301
316
245
370
322
357
341
318
295
261
229
366
255
284
340
366
263
308
343
336
275
321
306
352
342
386
386
296
299
308
240
288
306
286
313
297
355
387
255
383
232
335
354
275
345
253
414
274
292
313
306
295
365
375
307
283
391
296
317
371
270
275
334
336
396
295
318
295
247
340
351
312
356
355
260
333
317
326
364
217
311
305
309
324
336
364
307
351
271
359
365
301
223
347
339
280
293
341
403
354
303
341
355
304
341
275
355
322
301
333
307
255
326
335
281
278
315
200
366
357
268
287
289
298
316
334
353
323
302
285
317
346
278
335
319
297
289
267
362
382
262
300
297
391
230
343
290
288
307
303
286
322
311
352
337
426
266
293
290
324
303
313
284
281
378
327
307
307
362
350
302
356
338
322
296
315
344
306
347
354
332
259
361
329
339
290
294
306
311
351
294
295
270
377
313
361
252
242
333
374
373
370
293
369
367
256
277
354
284
372
397
313
266
345
270
414
273
388
345
297
338
297
346
279
307
299
268
226
313
277
393
327
400
172
335
312
325
343
294
335
386
302
372
358
318
221
376
385
317
317
351
291
364
312
264
330
362
376
283
319
310
300
290
327
296
314
303
247
319
370
214
305
297
286
323
340
248
313
273
322
268
350
366
198
311
289
269
251
305
373
364
308
205
309
280
332
255
336
391
261
311
311
255
287
354
385
270
361
366
256
353
359
292
348
274
365
344
379
359
384
272
239
240
317
363
270
289
323
213
326
387
336
312
338
310
331
335
345
420
341
374
206
316
240
354
222
338
299
253
344
319
366
272
259
295
317
242
273
275
327
347
360
369
357
388
277
346
394
338
360
304
354
315
188
351
330
237
274
277
301
309
300
308
248
311
279
359
275
236
303
245
240
335
347
207
288
337
294
294
280
400
308
300
260
329
309
211
286
285
276
289
216
309
268
324
308
366
332
278
354
335
410
261
340
336
328
377
280
307
378
391
299
324
294
386
357
323
331
301
375
371
291
316
333
382
255
327
283
313
292
308
285
360
354
367
323
296
293
350
354
391
295
311
324
238
370
320
266
230
308
326
361
265
310
330
299
279
355
385
323
366
293
356
322
265
281
326
264
283
283
314
305
328
349
219
262
430
356
303
332
281
394
353
324
395
299
304
317
260
353
299
366
370
303
342
284
269
373
250
401
293
307
235
281
325
276
288
264
295
291
284
292
321
331
378
307
322
306
326
343
322
317
316
298
315
351
274
386
339
325
335
306
273
282
367
352
388
364
324
192
336
331
296
312
328
362
364
265
327
362
316
264
391
298
265
360
296
454
322
350
367
332
360
293
365
362
403
339
234
309
271
280
360
324
333
342
238
178
317
307
262
276
381
357
281
311
353
385
259
251
305
335
329
318
352
382
343
377
284
363
284
295
362
323
237
276
247
276
393
293
333
403
356
361
349
282
368
316
268
361
307
313
282
283
287
294
225
325
312
321
266
262
232
317
326
315
254
372
365
401
398
339
365
332
320
259
309
293
345
274
263
323
378
320
380
265
256
347
333
327
313
305
328
318
295
319
347
310
336
238
281
357
371
284
297
323
278
399
350
367
257
315
263
402
351
381
257
269
351
406
334
319
222
228
297
367
216
397
343
406
375
301
320
309
314
369
298
288
285
274
296
363
310
254
360
323
313
365
361
364
226
225
307
303
336
342
387
340
347
404
330
317
380
280
265
313
290
269
342
382
329
257
299
315
267
385
346
211
323
273
254
284
363
303
265
323
288
178
310
327
407
357
237
341
327
217
284
303
272
378
244
276
350
281
241
391
336
327
413
247
302
316
267
317
385
266
301
293
430
321
296
272
209
360
360
276
287
365
376
335
276
300
267
250
315
346
338
318
268
328
298
297
293
302
348
225
263
293
250
219
348
333
340
284
301
300
260
307
283
347
279
284
337
361
279
383
309
395
205
285
418
310
257
335
273
333
367
333
363
257
354
351
322
265
352
239
388
367
335
305
335
257
315
269
306
241
281
308
288
266
389
270
309
271
309
249
262
381
278
333
290
259
328
311
343
358
298
321
241
290
293
361
383
255
327
318
307
373
236
283
294
310
293
284
293
315
332
328
380
328
298
285
250
323
288
278
244
290
285
295
365
306
320
325
279
266
356
310
307
396
266
347
308
305
309
208
330
328
328
316
307
339
311
358
266
244
280
367
271
389
303
265
269
316
399
299
327
376
342
335
341
323
303
343
325
352
387
278
336
359
305
292
400
373
295
364
345
311
281
326
372
375
296
285
356
306
382
282
255
361
253
373
363
249
334
338
299
331
373
343
252
254
244
260
282
379
361
336
317
378
434
362
315
267
304
354
332
312
338
186
317
353
352
429
310
298
300
371
319
227
271
272
380
302
327
245
300
378
303
213
392
270
384
350
311
381
279
233
282
167
283
394
299
289
264
299
304
288
280
301
319
316
342
346
403
277
225
362
329
283
340
320
228
345
265
320
312
331
252
288
313
339
386
302
296
273
366
328
312
316
340
304
258
288
345
262
310
321
273
315
309
310
314
332
318
341
404
300
297
246
326
298
283
287
252
337
287
297
332
370
312
358
362
275
254
291
398
335
288
271
282
299
358
303
280
281
347
346
271
322
351
345
347
315
223
309
358
309
268
313
280
387
330
318
290
329
310
326
401
270
355
370
247
326
252
344
313
359
344
312
305
342
300
290
346
323
352
398
275
322
390
275
320
305
348
325
208
304
257
278
248
312
371
332
319
300
369
325
306
313
320
304
310
252
334
362
302
325
333
335
350
385
317
254
349
302
349
355
329
330
340
299
311
361
394
300
338
286
313
334
338
377
374
338
358
358
286
297
383
303
396
391
345
258
296
204
391
285
340
370
313
310
272
288
280
284
338
419
323
357
311
254
333
415
317
388
259
253
246
308
251
329
406
196
271
270
273
352
356
242
359
299
374
259
261
368
299
309
302
317
304
242
302
336
235
246
305
230
330
272
250
398
297
351
278
311
298
261
273
336
304
292
302
280
358
391
315
335
252
249
316
334
309
351
321
252
325
239
255
290
327
356
334
300
223
359
342
365
327
293
363
367
378
359
362
324
305
297
327
325
348
312
273
258
395
285
307
315
301
341
343
379
346
415
302
301
259
320
243
368
390
306
345
306
308
233
282
274
300
327
268
259
348
306
406
368
248
319
405
286
272
291
315
334
291
394
344
416
401
249
309
384
339
272
312
324
257
319
246
291
240
279
378
323
372
344
365
302
241
284
321
286
298
280
300
303
255
287
224
359
283
246
323
297
329
335
363
252
322
369
301
288
297
334
390
312
270
364
295
377
380
335
360
344
365
251
374
281
310
351
335
373
289
355
339
243
247
339
277
303
289
285
267
318
302
319
326
327
342
241
288
319
382
318
130
367
394
287
292
296
299
312
321
330
304
315
265
265
307
253
330
320
272
351
306
276
402
263
318
354
263
312
357
327
283
344
332
344
276
336
287
315
322
243
255
400
410
319
412
216
283
280
343
334
353
206
352
249
355
256
269
303
356
330
314
233
288
337
345
330
239
271
288
244
392
349
238
329
303
329
387
317
235
284
323
403
342
340
336
197
376
260
311
267
353
226
338
359
320
353
355
271
368
283
315
315
256
363
391
373
368
316
261
325
372
405
311
316
366
357
305
320
281
262
351
254
336
274
312
257
342
302
379
324
262
339
333
328
317
308
340
263
320
331
267
334
256
284
339
282
284
245
296
288
295
315
395
320
350
327
338
337
330
285
336
346
284
347
326
277
390
321
271
309
318
347
261
369
281
336
386
330
339
355
301
267
319
335
304
309
353
366
273
313
392
251
292
269
330
382
359
264
276
293
227
377
247
343
347
292
310
396
303
241
241
280
333
300
320
302
336
380
240
318
315
323
354
353
378
314
282
437
267
236
367
400
305
257
255
340
379
294
275
338
354
300
419
373
376
314
390
222
334
297
330
356
288
329
362
348
336
345
372
359
370
317
293
358
314
307
302
263
278
346
352
282
304
306
286
305
273
301
278
369
305
351
295
393
274
245
269
243
288
280
323
298
332
267
293
260
345
367
319
387
389
357
291
295
310
238
288
252
260
305
257
325
339
331
332
331
299
351
345
312
303
295
367
306
399
390
361
257
269
396
248
307
333
351
239
387
239
277
321
322
342
269
355
281
365
196
353
349
376
278
292
282
318
309
303
379
282
333
366
316
326
335
370
336
384
266
291
244
327
315
343
336
342
299
300
331
242
372
241
403
274
359
306
320
294
336
362
372
245
351
354
258
304
406
364
350
314
365
307
249
279
295
304
351
385
347
347
352
345
349
326
334
304
397
331
208
328
248
357
332
328
395
310
305
394
274
325
272
256
322
299
332
274
308
275
321
332
355
266
342
380
235
351
285
362
277
350
331
289
319
368
327
294
252
368
385
379
315
333
281
295
307
300
294
275
236
338
312
355
324
278
285
287
309
402
319
277
341
356
267
347
233
313
271
306
385
278
306
336
285
263
388
330
304
343
382
238
343
203
339
310
325
293
351
291
330
249
351
253
262
371
269
283
306
311
267
363
358
343
314
212
269
296
355
324
389
305
324
349
327
331
290
370
340
305
199
301
261
347
351
317
275
246
294
374
281
273
286
295
376
352
268
323
353
303
300
292
294
426
275
337
332
263
348
276
345
364
373
337
275
280
363
385
340
245
328
345
315
368
360
260
314
304
346
371
235
352
244
385
201
294
305
260
359
294
256
320
256
378
307
353
209
335
366
296
330
300
261
345
334
378
293
302
287
296
282
349
289
370
296
339
306
340
291
313
341
345
296
333
241
325
323
362
323
300
353
267
252
324
297
341
433
340
325
308
333
352
284
201
365
372
247
320
417
297
228
337
383
352
345
384
388
371
290
361
331
308
366
335
295
243
336
345
259
286
330
406
363
324
297
260
261
378
314
299
345
285
269
321
318
293
296
366
271
265
215
368
350
332
333
383
333
235
358
382
391
376
310
355
273
371
278
360
317
294
275
347
277
239
329
269
304
285
324
278
278
326
372
302
339
390
317
279
295
370
305
291
217
241
291
346
210
258
317
227
265
279
307
399
359
356
298
292
296
255
273
286
309
298
328
259
370
274
331
352
304
288
309
300
307
372
292
357
307
322
316
357
255
327
266
301
330
413
300
262
322
404
317
367
289
272
336
380
323
390
262
315
333
314
300
319
233
272
339
265
350
350
248
248
345
272
317
273
270
296
315
329
319
298
292
320
316
365
314
334
356
244
218
334
358
337
267
258
270
230
254
376
300
250
274
219
363
329
287
298
346
372
322
391
295
236
355
403
359
286
226
294
233
251
296
347
310
279
315
257
347
280
304
341
300
334
305
301
278
267
285
330
241
302
331
276
336
319
349
316
264
270
326
273
268
366
339
345
390
343
254
327
271
281
273
316
408
231
311
264
318
281
351
248
355
305
293
284
301
364
319
283
382
275
335
301
344
348
310
373
270
286
372
369
279
358
337
384
287
252
296
274
278
338
309
302
357
405
457
343
271
293
293
346
356
283
316
340
234
297
293
266
315
347
318
237
383
288
351
327
301
376
357
284
260
316
310
316
383
410
351
317
374
279
222
291
188
355
398
278
290
288
303
369
274
329
316
355
339
222
345
312
359
397
215
275
340
406
317
204
409
220
322
340
323
218
339
270
374
319
277
351
349
337
323
372
341
347
321
265
347
287
283
364
293
280
400
351
316
203
263
342
328
243
330
277
285
320
305
364
307
310
354
406
371
320
284
256
340
265
340
326
347
313
264
349
288
251
343
304
301
404
263
286
371
276
304
297
360
378
426
161
333
262
328
296
232
283
317
286
302
294
232
274
347
283
343
388
315
307
251
341
260
366
276
243
402
357
383
265
245
352
321
308
244
329
359
425
317
370
239
324
294
351
272
336
299
373
268
387
366
330
287
284
311
354
368
337
347
366
325
370
339
300
355
280
284
254
357
216
334
360
318
241
285
362
273
312
298
362
312
334
356
320
359
249
291
389
279
341
318
275
284
374
361
282
377
389
224
331
249
255
317
330
322
338
355
379
339
300
293
385
302
447
275
286
279
197
350
323
349
309
379
337
285
352
273
312
355
426
318
362
329
319
349
276
216
279
377
364
253
294
391
359
291
326
272
313
291
323
359
349
293
256
394
297
348
344
334
354
235
351
311
364
256
315
238
336
277
254
316
315
276
387
367
379
340
254
339
268
258
334
309
368
308
233
230
250
325
334
342
292
378
274
285
330
410
383
321
378
244
409
359
297
341
331
347
323
365
199
326
353
415
345
357
334
334
323
347
250
331
267
330
279
330
296
314
358
261
254
368
317
360
386
156
389
363
227
271
318
354
411
334
326
305
327
296
326
261
290
380
307
241
337
311
273
344
256
330
327
285
329
360
317
387
277
220
358
345
375
338
290
308
275
261
264
255
298
299
267
278
278
404
331
300
324
270
325
384
310
348
302
276
267
389
306
277
351
287
335
252
246
265
324
327
307
417
395
290
297
413
314
386
329
251
338
303
304
269
318
423
300
330
299
293
266
389
313
338
313
329
286
326
337
367
305
264
342
291
322
377
374
322
299
337
290
376
266
245
333
330
328
260
284
332
353
329
355
283
280
204
330
291
317
329
307
302
312
339
316
299
311
332
265
326
348
351
286
383
328
228
261
333
272
254
336
314
273
327
351
372
318
313
245
373
287
337
411
304
331
285
291
313
348
207
243
313
378
365
330
388
292
334
305
310
376
334
210
356
247
252
339
320
284
337
333
254
371
272
343
309
312
325
375
274
373
336
296
286
261
409
337
381
288
353
400
299
293
319
233
297
306
395
322
287
352
406
295
368
352
319
351
325
316
235
258
332
338
378
261
315
351
392
320
348
305
261
370
367
338
372
302
340
270
268
300
340
256
339
357
324
216
306
309
354
314
282
318
296
368
322
323
304
259
364
263
344
385
371
275
292
332
354
284
311
330
305
330
422
359
365
400
317
353
243
229
285
264
389
260
344
276
426
335
260
336
276
250
371
321
326
223
282
246
314
326
303
392
359
282
321
374
282
313
304
333
322
349
386
357
221
237
333
226
304
352
295
327
325
329
301
382
377
309
408
334
280
319
204
301
385
410
286
333
304
322
319
356
383
353
296
296
353
294
286
293
287
316
289
278
279
291
361
326
361
354
319
353
345
218
336
385
324
291
269
338
362
329
247
349
385
352
253
345
290
326
239
306
304
360
329
235
380
275
355
214
378
329
330
317
339
317
331
319
274
265
323
276
259
368
274
280
335
362
237
279
237
390
212
251
270
352
264
322
337
292
318
374
344
312
312
295
280
416
277
278
299
329
340
334
361
366
276
343
287
291
380
292
342
348
381
332
211
282
363
329
310
402
373
388
308
323
257
303
326
329
253
366
311
331
349
388
265
421
339
373
362
300
333
262
381
319
342
262
291
265
341
296
346
359
355
203
291
320
341
351
318
336
273
332
303
265
333
319
263
332
266
234
378
258
382
295
261
339
285
279
298
348
313
324
361
365
291
327
305
344
344
315
336
348
338
339
355
257
260
262
277
242
258
447
289
218
363
324
383
300
316
303
369
332
303
321
238
240
334
318
370
315
260
414
296
288
336
331
247
331
289
376
266
325
337
305
316
243
267
302
377
345
184
343
426
328
279
350
249
339
257
258
283
293
246
280
349
346
285
259
336
384
245
262
238
333
238
336
329
337
316
274
325
259
313
236
262
268
242
376
367
390
318
313
431
366
316
366
290
252
317
244
293
245
336
225
341
286
260
258
333
213
334
306
408
349
311
354
295
352
328
234
279
318
282
375
273
244
459
278
239
368
314
265
304
323
323
364
413
367
264
309
265
257
276
334
247
366
227
385
282
263
293
353
342
284
310
366
308
262
388
336
357
221
317
274
319
339
327
290
374
354
343
289
321
317
268
342
319
277
271
274
411
170
260
325
329
275
337
342
340
347
293
323
307
302
344
284
403
315
407
311
308
385
297
349
234
256
263
234
289
319
335
423
256
322
363
393
404
285
378
245
303
299
355
370
370
321
335
329
291
336
280
359
376
314
247
390
311
341
287
313
353
298
364
318
281
256
332
282
299
255
261
376
300
395
297
288
315
343
347
265
267
322
233
249
326
321
393
345
300
337
296
281
263
329
338
286
354
247
384
274
300
289
310
338
302
319
312
334
211
223
306
339
231
300
364
335
395
340
290
320
271
389
292
258
291
285
407
364
339
243
214
347
300
302
328
257
247
292
297
315
333
352
303
347
288
317
335
421
353
250
327
359
277
391
317
324
305
348
339
331
370
273
308
305
317
325
404
363
342
334
274
274
294
338
330
315
345
295
320
278
384
301
240
336
296
310
276
374
293
341
322
251
331
362
326
348
339
338
256
308
316
307
298
291
407
296
336
366
329
318
340
331
330
313
337
296
359
324
330
260
310
380
180
294
312
222
303
296
270
368
389
320
280
281
262
310
330
412
342
368
324
358
365
347
339
353
348
344
292
347
356
339
392
251
415
302
322
256
347
316
372
313
337
325
279
314
269
357
289
294
260
291
323
317
359
207
332
361
319
306
257
310
253
357
285
374
401
304
312
305
343
303
298
285
360
278
209
360
339
340
307
367
296
351
323
286
315
404
324
250
394
245
227
347
331
263
334
252
268
368
359
275
386
326
310
309
315
344
401
281
307
371
322
297
321
367
345
351
331
358
307
347
315
326
383
359
223
379
282
342
245
332
248
243
353
377
320
247
374
334
334
347
287
317
323
329
377
357
333
357
250
337
269
341
361
292
366
320
362
269
336
271
266
304
311
303
344
354
304
336
374
319
323
284
303
336
314
311
302
439
290
356
368
272
250
355
397
304
266
354
345
352
319
342
302
306
299
324
270
375
300
336
320
292
237
344
256
289
361
348
369
302
278
319
346
305
293
362
327
321
385
276
267
243
343
215
332
236
347
397
372
296
372
241
348
329
353
313
244
301
322
346
264
372
245
270
278
291
257
392
329
299
266
293
319
248
352
369
307
284
296
342
260
385
369
253
316
344
293
323
313
406
351
286
322
340
305
355
263
308
311
307
341
204
313
308
319
292
357
345
325
248
302
274
292
287
298
330
295
336
296
315
345
283
287
333
340
347
268
243
322
277
338
308
308
295
359
353
298
260
238
310
303
206
330
303
301
395
335
294
273
290
312
268
345
309
295
350
247
384
312
323
329
316
283
196
320
346
374
263
269
372
275
387
340
355
249
293
329
327
171
360
334
284
324
303
332
303
268
302
317
272
358
284
275
345
342
253
362
300
393
383
322
350
334
242
389
363
251
309
350
282
333
311
286
342
299
299
340
254
217
269
293
298
366
346
340
331
316
380
287
353
336
298
347
391
330
288
277
359
225
345
329
425
327
353
339
331
321
380
315
235
309
312
308
376
384
339
375
276
214
299
432
285
342
268
256
375
309
339
302
296
285
275
384
358
316
292
271
286
375
308
329
304
255
392
267
350
301
313
335
308
373
280
303
353
366
326
310
387
339
375
335
302
293
343
334
307
311
314
346
322
328
393
393
311
315
348
350
310
367
385
350
313
359
363
295
251
309
368
240
303
361
313
322
220
350
252
290
317
253
250
366
290
349
291
331
389
328
246
323
333
265
334
266
308
303
343
327
380
399
337
323
328
333
392
246
269
296
247
308
310
287
301
276
284
298
269
310
328
360
266
318
330
308
309
363
260
387
296
343
274
274
290
335
313
322
266
323
321
332
285
299
301
342
384
325
327
360
267
271
346
314
362
307
292
329
234
267
331
316
212
357
261
281
338
256
395
325
218
306
283
316
323
378
357
359
300
285
300
272
350
318
326
371
311
338
340
354
296
284
271
277
271
279
323
304
298
303
247
364
356
353
329
380
278
306
335
308
262
413
265
183
346
300
301
294
282
375
315
331
286
285
299
298
246
346
316
340
302
276
346
274
275
336
255
304
277
263
283
360
299
337
257
289
309
246
290
352
355
323
291
283
386
317
408
340
321
377
319
266
297
316
377
292
276
363
361
346
288
280
355
287
306
387
185
369
302
317
404
236
232
344
252
299
393
270
298
330
362
304
262
351
216
309
372
259
292
291
275
323
284
253
372
293
370
366
353
374
313
254
291
364
321
283
296
328
335
343
289
375
339
404
311
307
372
276
287
377
299
331
265
311
283
326
343
334
288
361
332
315
326
345
351
242
339
289
387
366
287
396
263
364
267
379
266
274
291
346
226
339
329
295
238
276
301
157
321
307
294
276
307
347
287
377
308
336
316
252
307
317
326
347
380
343
390
330
383
333
302
356
336
364
342
336
357
343
319
371
352
297
352
316
332
352
303
306
314
285
269
261
223
322
311
300
255
295
294
339
367
363
400
387
175
287
316
335
288
392
302
316
363
329
319
267
313
274
289
353
314
331
324
370
345
326
319
279
326
309
283
298
320
304
248
283
271
317
273
340
369
315
262
329
410
342
290
306
326
267
257
360
347
363
308
183
231
384
382
332
220
350
302
230
330
295
322
249
271
378
299
325
335
352
311
243
310
367
265
310
288
365
295
341
299
333
353
270
388
356
272
291
383
327
284
312
365
365
358
351
366
288
291
231
261
339
326
278
257
253
311
310
368
372
291
311
303
291
248
317
345
288
303
344
276
312
332
295
376
301
273
359
298
359
309
388
324
312
335
328
311
277
362
358
302
365
328
306
246
326
369
283
358
279
312
356
379
260
306
269
366
299
366
436
290
277
415
266
219
334
371
377
297
281
288
353
376
302
292
282
370
348
333
328
269
367
265
326
237
309
252
270
336
322
302
322
291
291
317
200
345
326
368
315
250
286
343
280
140
301
290
295
325
288
338
346
251
291
245
293
339
306
319
300
289
255
281
382
288
369
192
302
350
261
314
343
283
328
257
322
383
304
328
297
374
221
353
313
243
252
325
324
379
343
301
235
263
360
221
276
238
311
291
324
321
280
374
288
347
288
336
267
307
279
403
304
328
325
288
366
290
277
238
272
320
245
310
310
367
354
216
286
346
340
338
316
284
340
408
280
346
365
360
369
326
386
285
342
331
360
224
386
328
348
328
188
351
350
239
361
349
247
308
201
328
317
290
385
327
284
355
357
292
282
336
317
365
331
295
331
248
334
334
293
237
251
312
317
371
306
285
292
237
232
232
321
255
304
243
341
277
379
254
219
222
378
269
305
267
311
267
250
265
310
350
292
306
289
263
296
381
233
311
376
296
286
293
316
364
408
350
293
313
268
367
322
298
297
248
361
294
278
259
339
278
389
433
254
311
351
324
280
388
304
311
284
342
273
288
392
343
372
291
240
304
296
251
208
268
365
264
220
365
284
285
310
366
288
357
306
288
313
350
382
336
311
282
291
408
234
272
304
245
326
317
271
287
429
348
288
328
326
343
170
234
247
372
319
324
337
312
275
330
252
280
299
286
316
241
316
308
310
291
353
368
317
369
360
390
343
331
312
280
345
251
337
354
286
304
337
309
332
307
375
336
365
343
246
394
362
326
210
311
301
314
267
289
349
356
378
326
351
407
317
229
310
298
364
381
313
349
365
344
323
308
301
346
309
360
315
331
341
301
350
360
344
313
276
325
278
360
308
324
402
308
253
339
349
302
371
299
305
291
233
390
315
351
358
344
198
327
295
289
370
281
338
318
347
262
315
295
362
361
266
287
260
298
378
303
331
239
300
377
326
350
257
308
262
330
300
284
262
389
273
296
291
289
307
336
341
350
280
288
372
333
344
285
340
325
334
306
242
288
319
297
286
244
307
303
313
296
266
340
346
298
340
322
339
236
330
300
329
307
279
319
315
340
325
329
363
388
322
283
201
305
326
318
311
284
329
316
315
210
305
366
323
352
233
293
305
284
258
292
311
283
360
220
278
380
327
263
319
370
359
356
265
370
327
351
301
247
269
282
412
339
330
381
406
355
254
255
271
346
353
262
336
309
243
294
285
195
305
247
288
303
251
344
246
304
375
304
312
292
346
273
290
249
278
408
329
402
390
270
332
354
273
292
300
283
222
362
293
370
327
240
356
308
353
268
226
216
333
279
297
322
353
360
345
283
235
314
267
266
281
302
250
229
339
264
336
345
284
328
381
301
318
287
361
258
361
336
259
354
431
262
302
315
319
357
294
362
348
283
324
326
269
345
286
317
318
427
294
232
341
363
357
301
390
293
391
329
310
393
309
270
324
334
369
343
358
337
318
333
318
335
270
329
304
315
343
343
312
360
300
279
261
303
392
287
316
368
276
361
306
251
261
353
319
265
287
239
351
243
342
231
212
282
269
261
277
256
336
318
316
347
317
289
242
256
295
336
289
294
325
371
252
231
323
342
391
340
322
342
351
344
367
331
336
326
354
329
237
247
307
297
327
317
353
356
292
303
285
292
297
351
327
357
344
309
261
369
279
321
232
327
352
305
329
354
308
240
294
252
269
327
300
322
234
322
292
360
396
291
320
378
274
296
258
330
266
340
315
321
350
225
321
313
362
315
291
348
377
196
321
327
383
350
332
295
356
320
323
331
274
306
344
305
341
334
310
331
237
322
335
355
340
288
334
346
231
302
380
306
387
342
306
383
309
280
272
330
321
338
292
268
370
339
352
333
300
340
357
315
276
333
369
316
319
319
317
345
306
211
233
278
263
347
249
325
284
251
282
315
344
263
319
288
333
326
259
311
344
225
335
378
407
300
348
344
340
227
332
378
285
335
354
297
316
393
309
347
332
363
357
332
265
291
223
333
345
254
422
353
314
211
337
321
299
361
253
392
289
330
254
353
325
281
278
284
359
400
321
331
247
314
359
307
301
360
315
303
291
339
319
364
432
372
356
332
363
238
308
253
336
288
306
296
365
329
283
333
379
291
292
286
247
221
351
335
316
274
320
283
359
308
286
254
358
294
349
347
268
333
271
358
331
336
230
262
351
274
263
344
298
331
289
305
375
338
353
301
345
396
334
319
290
344
318
327
336
242
299
313
266
379
296
338
249
325
311
258
292
257
253
322
377
282
295
409
251
290
249
335
314
287
343
290
297
313
316
260
386
288
376
332
353
432
304
318
362
413
416
297
384
324
318
365
268
273
321
338
338
305
245
373
367
285
285
319
317
371
347
296
337
236
311
344
392
460
404
337
255
355
295
224
323
229
265
325
283
254
283
371
301
337
336
318
365
297
324
345
325
317
319
364
274
298
353
309
234
323
262
273
372
385
288
287
355
341
357
275
381
306
247
319
340
328
249
269
276
282
292
336
243
267
304
366
307
355
358
278
289
333
294
276
384
280
331
312
298
409
353
306
301
310
335
305
317
293
269
324
397
297
300
424
230
252
251
397
368
406
296
313
263
287
365
238
291
302
287
382
320
316
301
345
307
255
330
354
371
314
309
383
234
313
365
333
238
276
272
289
344
256
290
314
277
218
339
285
354
252
387
347
299
327
366
317
378
362
323
289
282
291
334
351
256
295
316
321
332
354
279
275
373
274
282
258
335
377
394
323
315
332
309
300
381
292
292
345
328
362
281
372
311
281
280
228
247
329
295
283
341
286
295
391
305
296
297
379
349
297
332
293
308
368
353
338
368
435
333
379
362
374
345
248
342
346
331
293
365
318
394
286
332
243
357
377
346
365
344
300
343
310
391
310
281
266
360
318
376
301
268
335
347
366
288
306
423
361
314
375
316
343
318
331
346
321
380
278
368
330
396
338
297
324
343
280
308
320
355
318
304
233
338
390
344
282
319
374
310
307
313
336
365
359
247
272
309
294
306
334
356
303
223
357
336
363
310
345
285
264
309
326
345
357
308
293
352
326
346
341
343
284
325
307
200
292
307
337
232
325
309
292
320
365
302
338
292
348
322
311
322
379
389
280
262
283
337
338
332
329
252
336
276
261
344
335
305
238
232
337
391
395
198
292
301
331
328
263
241
313
322
276
356
222
387
356
269
358
348
411
380
243
379
276
334
352
315
351
217
297
330
327
322
337
265
251
325
302
319
288
280
274
308
346
359
301
325
303
269
270
203
261
339
252
323
285
362
272
302
352
292
349
365
300
332
349
205
332
285
294
234
231
340
342
334
332
351
298
344
367
333
291
299
321
275
318
349
438
335
288
373
364
327
387
312
302
348
278
360
368
203
274
293
285
293
288
192
322
290
354
333
314
300
289
300
334
286
368
279
327
313
365
273
371
319
355
251
367
313
353
305
268
303
339
332
330
402
379
318
326
269
426
390
304
357
277
362
239
315
307
342
354
402
352
316
234
332
370
257
351
382
320
338
333
287
291
357
368
331
313
321
306
395
319
358
276
389
326
335
327
314
369
284
335
305
258
334
340
354
293
291
323
264
317
254
364
341
289
301
243
367
364
277
318
251
316
302
276
380
293
310
300
287
320
284
245
312
311
346
307
296
346
320
374
272
339
354
316
261
315
337
241
375
227
304
305
344
331
343
328
222
258
339
212
288
252
393
387
383
242
313
350
289
308
267
246
282
312
314
389
371
219
301
259
367
300
385
341
292
316
397
264
236
337
283
320
312
412
281
322
276
402
331
369
380
268
290
290
268
386
285
339
330
286
255
192
280
363
321
258
366
301
342
294
230
273
377
322
320
369
379
281
245
392
273
315
328
287
324
282
335
317
254
388
349
256
300
284
357
311
360
313
326
309
216
257
335
395
278
266
288
278
297
320
281
321
260
262
398
371
256
389
289
306
344
324
340
323
332
294
263
342
317
373
372
347
278
300
310
316
273
307
367
278
302
341
338
252
285
353
293
333
358
250
304
338
319
371
261
337
365
267
244
309
257
302
296
341
356
223
271
356
304
314
263
375
250
269
291
295
305
287
357
258
347
233
327
308
337
252
301
317
365
313
308
261
317
314
312
262
355
357
329
326
289
367
293
364
290
252
244
274
322
283
335
275
341
229
256
382
295
377
290
311
366
256
340
330
389
239
346
267
287
219
326
292
264
307
370
305
314
338
310
260
280
290
233
321
314
405
328
239
356
157
391
280
292
225
309
383
317
303
293
332
358
379
318
357
338
286
270
323
397
337
294
311
295
352
286
316
272
321
298
282
296
346
230
247
378
398
328
296
387
343
351
338
321
376
313
279
269
266
372
264
308
398
325
351
324
364
334
334
244
324
321
331
272
378
308
301
325
402
298
359
307
348
382
359
271
254
298
393
339
385
384
328
348
295
269
272
379
348
296
241
263
324
308
227
369
253
326
287
271
313
297
294
302
261
334
269
328
336
261
319
272
291
289
320
284
234
276
311
268
306
223
279
250
306
224
376
246
317
274
388
272
324
311
344
338
305
305
381
338
390
291
397
234
359
241
275
360
251
387
308
287
387
317
286
259
303
319
226
310
257
259
338
318
254
294
271
335
278
255
276
265
317
330
368
288
343
353
349
266
399
223
270
300
356
401
247
350
381
289
279
342
364
282
259
333
272
266
423
256
243
330
365
289
305
370
348
324
264
342
241
306
394
328
278
232
316
361
330
368
327
348
259
268
254
359
378
306
347
266
356
306
330
272
339
324
313
344
246
289
370
313
325
298
254
275
285
398
366
351
304
378
339
309
284
332
264
284
295
294
214
348
273
326
377
311
317
337
355
281
344
300
304
292
316
395
251
286
324
265
235
313
360
335
398
237
289
342
324
273
379
282
417
310
347
293
256
284
329
303
305
306
347
272
309
395
359
347
376
309
281
253
252
360
393
311
360
232
314
340
295
295
371
329
355
329
255
275
280
364
481
323
415
322
311
298
322
238
358
283
360
209
316
322
248
403
253
362
368
359
291
311
285
311
366
280
318
271
296
411
269
385
319
337
302
366
354
367
330
259
259
317
230
250
320
338
312
232
347
293
238
304
257
290
273
316
299
352
339
340
331
309
296
341
409
372
287
394
302
374
320
241
417
276
281
400
353
304
317
298
292
273
293
239
258
386
322
311
321
363
282
318
275
266
399
243
346
309
283
292
266
365
357
334
227
284
309
325
252
367
319
259
373
356
244
258
329
183
279
287
336
235
274
327
301
265
305
227
346
369
330
320
354
346
350
325
318
359
302
267
355
250
292
321
328
344
333
228
307
322
331
376
307
273
382
264
294
240
279
360
285
296
321
290
276
248
331
319
345
245
334
238
342
350
384
347
313
299
276
244
342
321
254
385
327
373
312
296
350
318
306
338
362
323
276
346
269
337
351
287
336
300
256
318
398
296
372
351
345
252
257
311
253
288
248
276
279
292
285
309
300
275
260
345
280
276
311
294
309
355
290
361
342
375
289
283
334
209
318
346
328
331
318
378
390
316
295
293
340
317
353
352
301
380
254
340
259
352
339
254
351
392
318
306
304
337
268
328
309
277
343
311
298
345
338
310
352
324
270
265
292
415
296
385
331
346
216
300
324
329
304
312
378
211
324
299
315
272
362
310
272
302
266
265
398
279
358
424
286
334
329
346
341
265
343
356
396
332
407
307
345
275
288
301
212
283
399
329
332
281
304
377
347
333
374
354
403
381
290
216
390
397
325
301
380
353
264
314
281
342
324
249
352
411
259
319
380
354
307
253
316
266
366
283
375
269
298
344
250
268
363
416
334
359
303
288
295
326
373
250
301
305
314
180
290
339
277
381
272
302
357
267
359
349
320
356
320
366
350
287
346
304
315
293
251
310
272
332
334
320
349
317
277
326
290
302
360
309
389
334
303
346
266
298
269
319
287
325
412
293
343
326
261
354
268
344
342
234
278
360
301
288
256
364
362
273
255
223
267
323
290
338
295
311
372
317
295
360
321
284
284
209
325
385
292
336
239
364
356
358
353
365
358
389
240
306
318
253
319
324
290
319
248
246
314
287
377
222
385
358
327
342
335
326
328
288
279
295
232
287
197
283
215
318
316
355
328
296
308
339
324
383
251
304
336
382
277
337
369
344
333
270
274
291
336
300
326
341
321
298
243
283
338
372
311
310
352
228
319
310
365
305
311
355
328
321
324
345
258
338
316
336
364
220
423
307
278
330
370
227
371
207
355
307
366
273
360
280
361
242
320
300
330
322
308
292
331
277
233
362
264
293
221
261
309
210
323
335
346
339
322
323
332
258
264
343
293
420
268
302
393
407
287
389
318
294
239
361
288
402
366
358
333
290
422
305
302
305
298
311
330
249
369
259
285
327
331
296
316
235
347
350
268
380
302
346
255
292
290
279
402
223
274
281
395
345
308
302
246
271
398
286
402
333
267
316
262
333
365
271
344
302
303
305
378
334
288
325
351
264
340
277
240
277
313
255
310
296
378
298
348
277
222
329
291
280
298
287
280
359
277
323
330
296
266
298
260
352
329
387
441
298
333
378
327
332
300
363
307
367
285
277
321
387
215
288
400
314
340
377
274
303
340
309
348
322
253
339
290
271
364
244
322
324
394
332
290
275
264
318
232
272
247
328
334
231
220
438
296
289
316
249
372
330
335
351
315
292
306
240
332
284
271
234
241
293
322
273
288
243
348
294
334
264
407
223
278
322
327
330
241
339
277
319
281
335
341
305
346
225
283
273
343
334
346
329
280
261
379
265
283
370
238
318
411
279
264
294
209
272
185
325
287
312
275
248
264
323
365
360
375
221
321
315
375
370
372
367
312
258
289
221
358
233
267
306
338
307
345
380
327
399
205
372
269
319
285
306
287
291
310
334
326
275
228
375
355
276
375
374
297
325
347
294
241
316
327
327
353
327
241
341
303
287
285
288
278
329
228
278
367
297
314
296
315
328
290
267
331
279
311
325
238
270
316
338
263
340
373
301
285
290
284
248
224
392
296
267
341
320
298
331
368
268
375
320
303
351
229
279
306
377
317
392
257
370
357
287
237
245
366
366
290
314
307
290
361
318
390
304
350
296
302
289
420
326
323
271
265
245
277
340
349
330
305
339
253
253
320
259
300
270
320
267
370
262
293
369
291
375
280
277
314
387
363
360
263
312
346
392
259
379
268
322
369
265
326
343
319
363
361
330
365
249
267
319
273
340
355
241
254
305
323
408
315
371
262
347
283
301
292
200
285
343
231
294
338
353
328
424
285
299
287
336
348
223
343
260
342
329
342
345
317
269
275
307
327
303
414
252
374
330
290
324
322
306
335
360
368
284
327
287
265
350
296
266
353
340
340
380
385
293
337
336
333
258
283
373
263
347
353
389
284
303
328
228
350
259
262
347
406
282
379
328
281
341
269
363
237
338
304
298
351
302
371
348
331
326
297
346
412
295
371
292
314
367
331
290
335
255
285
321
371
300
358
372
298
334
332
401
348
327
294
305
364
298
271
247
338
312
353
369
267
300
312
298
281
400
324
334
245
358
188
279
320
410
340
402
363
301
245
341
208
307
280
377
287
337
398
346
258
232
370
370
405
377
357
371
353
293
268
335
334
335
295
260
331
333
372
239
388
325
298
334
285
322
326
362
265
256
334
319
319
404
254
325
330
303
382
359
289
347
319
359
309
347
294
331
334
295
322
248
324
316
348
320
358
251
298
371
403
396
371
367
305
328
318
396
381
307
290
255
319
287
337
281
328
291
325
270
233
377
185
277
289
226
379
300
283
246
312
345
251
271
360
306
312
342
291
306
378
239
355
287
398
214
360
395
365
304
305
297
235
279
257
271
337
256
286
321
272
293
289
329
316
375
367
337
309
276
265
315
332
312
229
374
300
298
344
243
381
307
258
371
403
367
342
371
270
348
391
279
262
312
346
306
288
300
322
319
279
352
329
267
326
323
321
330
318
315
379
398
236
360
264
334
327
287
402
268
284
272
294
352
320
203
401
290
328
297
354
354
423
288
294
306
377
237
318
294
233
335
381
246
384
331
345
253
288
324
318
265
331
349
274
298
308
344
272
273
309
306
319
351
338
290
350
321
289
276
293
267
243
275
329
255
346
311
339
320
294
388
287
307
323
303
314
282
238
241
354
265
334
338
278
265
315
299
340
360
275
309
306
227
321
311
319
358
336
342
401
269
317
373
286
253
253
214
354
322
306
263
202
258
321
400
312
302
261
326
263
369
265
350
360
306
308
298
335
338
271
278
328
305
347
299
379
393
386
331
347
290
313
246
334
412
298
348
334
270
351
314
345
324
347
369
370
352
306
356
255
330
255
402
298
415
340
394
351
314
227
322
271
383
250
198
283
269
353
298
299
352
359
274
380
334
367
344
315
309
342
300
271
268
312
267
409
299
362
323
338
318
353
313
223
270
398
309
315
309
277
251
336
255
250
333
313
321
335
249
362
328
296
300
328
230
238
305
276
331
354
375
359
284
323
310
358
295
253
302
304
364
333
296
366
291
311
300
232
279
313
308
359
267
295
235
258
215
296
344
339
324
292
336
324
244
296
353
343
292
270
303
297
291
284
284
354
298
345
272
306
289
352
322
302
330
281
347
314
307
332
388
355
251
293
294
297
299
332
321
315
319
313
343
267
334
327
285
340
346
296
269
320
424
244
354
331
346
316
319
321
325
366
334
356
324
219
331
344
259
168
263
336
338
289
344
342
293
231
363
361
304
320
337
284
345
391
257
399
272
345
341
331
329
362
372
307
404
331
301
407
271
275
366
281
218
261
363
326
338
317
278
394
409
296
253
394
327
283
324
332
436
320
372
308
368
298
324
250
383
337
295
371
267
291
316
365
302
309
320
402
335
401
320
284
321
332
275
278
307
386
254
345
261
404
335
276
245
234
279
251
354
280
260
364
261
340
290
234
348
360
439
244
315
425
288
309
317
300
348
355
303
344
271
361
354
311
255
371
379
266
316
402
238
362
330
359
201
343
333
309
334
406
296
378
266
294
290
343
357
317
284
292
373
225
356
270
294
360
330
386
394
267
269
339
316
319
313
382
243
221
302
389
235
338
286
256
360
377
258
359
311
350
343
286
371
272
351
329
306
309
396
330
277
349
313
358
262
348
289
289
310
280
369
319
357
362
298
260
423
272
328
301
310
355
306
328
370
336
255
287
373
273
254
237
289
318
241
353
385
317
282
259
285
277
399
325
305
300
351
271
339
384
364
386
316
313
290
342
285
288
340
343
296
301
370
302
339
328
349
329
314
362
328
302
265
368
249
351
379
300
394
276
363
325
356
298
311
297
291
275
416
248
225
259
328
288
324
261
386
299
297
368
381
302
316
363
286
316
329
297
325
236
254
340
434
354
370
275
286
328
335
329
302
295
259
294
262
400
216
335
281
386
349
284
306
259
329
366
364
295
337
351
308
329
367
300
306
287
308
228
380
260
324
350
379
279
327
296
390
378
335
268
295
333
343
247
311
270
275
322
369
291
277
311
303
306
367
294
341
222
292
300
315
274
302
321
228
354
382
327
290
415
368
255
290
359
359
203
357
329
272
185
214
365
303
283
383
310
396
346
351
394
308
407
266
282
287
257
328
324
240
250
301
283
392
393
245
422
353
338
237
384
327
256
306
312
314
241
344
336
315
367
371
351
340
279
272
291
341
299
334
345
346
332
288
277
314
344
338
333
336
309
287
387
319
334
323
316
320
353
327
325
330
298
294
316
271
230
254
229
320
327
308
293
246
268
367
359
371
331
366
360
315
308
258
356
372
313
249
337
350
309
320
338
273
373
323
303
304
326
339
353
248
296
406
288
324
392
289
316
286
319
256
378
259
340
362
262
363
334
326
291
338
261
315
299
267
277
254
281
316
193
345
355
387
254
266
322
374
192
365
286
401
341
311
355
248
303
252
376
321
426
281
388
350
323
337
218
374
392
289
390
300
351
330
322
378
275
332
323
354
437
337
311
330
267
359
199
264
281
318
348
291
278
264
269
354
365
373
158
331
347
324
375
430
314
337
240
337
253
309
239
267
310
339
287
274
353
313
319
275
338
351
287
315
310
322
314
287
328
308
291
291
325
340
316
334
246
292
310
291
248
249
238
355
300
423
323
270
290
297
307
337
309
310
362
370
332
252
411
343
372
361
391
339
380
402
336
345
371
282
270
303
327
378
312
352
260
280
276
281
298
353
347
314
287
318
336
353
422
238
301
343
340
257
232
273
350
210
278
361
287
352
335
292
306
271
319
416
315
311
383
343
300
257
341
399
307
217
252
309
365
382
317
240
323
303
391
354
248
348
317
325
306
333
312
350
374
308
361
348
372
343
370
308
262
238
347
374
302
338
356
335
259
263
271
356
191
328
382
370
361
344
293
242
382
343
286
306
286
285
363
332
324
366
338
249
271
317
292
315
285
254
286
219
292
308
199
293
187
331
300
286
201
306
359
264
299
290
350
387
292
301
275
377
312
296
286
323
350
325
365
295
388
318
261
307
383
340
288
351
257
280
269
295
305
313
329
345
310
330
278
319
302
383
275
301
327
245
337
353
357
366
275
292
316
374
331
261
272
283
357
284
377
181
372
301
307
296
328
242
292
292
266
326
212
305
297
321
329
230
355
347
286
409
349
350
335
299
301
276
310
254
302
357
302
366
357
333
262
328
344
375
340
399
282
306
222
260
300
269
344
308
300
268
317
323
280
379
260
344
372
294
385
218
319
299
330
332
352
321
271
304
344
331
261
229
291
284
287
223
348
376
244
331
340
271
351
321
323
246
342
323
275
343
332
342
220
333
339
327
286
284
236
250
306
358
360
304
288
342
241
265
355
340
251
272
340
193
373
350
318
343
298
350
387
273
359
389
243
293
243
299
323
270
294
377
277
378
260
368
213
250
348
336
367
273
270
327
349
347
318
305
291
307
401
275
351
328
361
409
328
373
277
378
367
294
306
341
341
371
327
352
314
376
297
318
357
398
223
368
264
301
338
303
314
353
368
260
308
273
204
369
311
262
174
331
423
295
355
332
268
350
308
337
271
312
269
333
265
361
293
290
279
296
381
252
258
283
397
323
394
324
307
336
345
383
343
281
343
350
307
381
291
287
354
304
313
297
371
300
330
329
354
289
260
287
341
278
385
359
308
252
375
326
333
357
219
260
304
342
367
236
330
369
443
262
366
358
296
266
386
325
255
335
379
385
264
217
329
353
177
345
250
319
380
369
387
297
347
362
291
336
379
263
298
219
295
281
267
315
226
318
234
296
252
303
248
389
354
393
356
368
280
288
288
236
311
317
296
335
392
273
313
319
263
204
279
272
314
329
398
357
256
331
337
269
289
391
314
324
340
442
338
367
315
255
319
466
313
308
333
399
312
307
333
261
324
264
326
338
320
394
325
340
247
419
373
291
282
316
234
289
269
355
344
308
302
362
330
346
348
325
301
306
338
332
347
268
262
378
330
273
341
305
393
300
319
255
349
322
368
342
285
347
321
301
248
331
353
306
323
334
368
264
283
335
328
240
350
332
249
334
364
305
272
319
327
381
276
307
298
377
379
325
316
357
375
351
295
383
349
306
388
329
256
375
301
333
230
351
330
364
339
278
345
278
326
241
317
230
320
298
325
342
300
290
307
351
278
247
398
315
278
317
294
324
279
363
351
364
214
406
347
252
360
355
335
379
311
370
253
353
304
380
325
247
311
366
254
319
254
312
306
383
323
360
311
285
322
306
338
330
304
324
297
308
316
215
358
322
345
227
306
334
289
324
339
299
311
299
314
273
273
294
342
351
251
309
290
374
325
302
308
312
341
347
328
304
293
325
333
241
345
326
320
274
365
354
294
342
356
332
248
318
335
296
296
271
291
354
270
267
313
370
229
339
280
335
189
372
317
395
347
209
322
311
323
340
289
288
277
335
347
331
348
381
355
321
269
372
277
402
403
380
371
328
325
271
321
225
364
314
326
229
296
324
296
323
367
315
386
367
401
267
339
369
266
291
343
356
329
334
342
349
391
326
379
287
250
265
326
215
330
261
301
301
286
277
310
301
360
303
305
321
283
351
263
270
332
320
387
325
284
298
229
391
264
414
331
240
299
339
310
237
389
255
237
350
244
317
297
389
278
330
333
349
313
336
372
277
319
237
302
278
334
286
384
242
353
311
375
307
239
276
286
380
309
303
257
358
357
317
279
340
334
250
330
374
395
308
297
310
316
276
413
285
348
328
323
316
351
275
232
367
269
256
342
302
286
325
318
323
267
280
283
319
283
296
297
300
364
388
305
338
405
316
224
315
256
382
379
288
277
337
250
295
297
290
264
338
328
279
236
276
291
431
330
359
320
349
367
308
300
313
380
272
292
315
242
221
263
279
303
327
362
338
316
328
325
383
282
279
378
323
231
342
348
236
321
324
356
310
228
322
281
398
324
274
268
317
285
275
309
396
344
366
388
267
311
264
277
348
385
272
316
344
354
335
332
272
292
341
320
287
250
325
332
309
295
300
308
308
328
262
361
328
265
402
292
327
259
315
355
334
268
244
297
284
295
312
314
339
293
324
284
266
325
325
307
352
357
289
337
313
271
294
361
329
385
312
259
321
300
305
349
251
279
303
416
352
301
339
336
399
324
338
281
290
283
395
251
287
347
343
298
278
371
337
330
340
303
191
285
201
295
240
310
276
324
326
299
264
263
289
290
316
315
265
373
379
306
320
287
314
364
417
269
323
354
304
254
354
320
262
315
321
322
357
276
349
287
291
372
320
312
409
319
342
383
306
368
289
243
281
306
373
253
316
362
364
285
359
321
268
399
264
293
254
346
351
345
360
240
346
274
354
338
240
341
251
386
325
290
326
316
243
353
298
302
398
345
329
315
246
334
310
263
318
309
278
402
360
323
248
359
273
312
404
314
351
245
258
241
294
293
288
263
281
362
382
261
307
339
323
309
361
291
263
345
284
368
317
334
307
333
352
293
229
249
279
264
290
338
350
304
253
322
283
238
296
347
308
311
244
226
259
325
346
355
405
375
293
325
300
325
238
334
385
391
408
379
257
348
281
336
367
396
343
327
311
349
299
374
401
294
358
339
273
319
385
371
258
357
291
291
265
321
273
280
347
360
346
267
382
266
312
356
277
297
341
276
384
289
274
344
304
377
323
376
279
282
288
300
316
302
300
237
359
305
294
355
367
382
307
258
273
245
268
319
351
212
339
392
334
391
296
280
371
309
291
324
271
363
227
285
404
292
328
306
306
370
331
235
357
293
272
244
406
345
303
333
343
284
302
346
295
315
310
346
411
351
256
300
412
334
230
296
253
349
382
356
261
299
282
284
332
350
300
293
217
299
312
331
257
365
293
300
367
311
295
334
375
377
349
329
313
313
325
284
265
385
323
239
349
339
373
339
326
326
251
406
365
312
228
346
280
322
289
313
276
317
307
273
305
331
305
340
242
255
354
284
313
328
322
359
372
336
298
336
253
302
394
280
320
320
351
301
290
320
308
346
401
290
354
356
378
208
321
283
336
373
303
420
317
363
232
367
332
297
351
245
333
284
275
384
353
352
392
276
335
272
268
344
329
318
303
252
273
339
337
326
343
417
392
394
319
341
341
370
385
294
318
380
305
302
368
234
381
312
330
323
312
329
316
299
317
295
313
320
272
347
269
338
367
294
418
304
333
318
226
315
311
253
251
320
369
239
266
395
236
308
222
351
345
317
318
305
271
389
296
350
359
300
268
296
402
310
256
356
272
405
328
258
323
253
282
297
272
314
283
306
300
263
241
286
304
310
318
334
270
245
341
365
284
237
296
326
332
321
322
286
381
351
288
282
217
266
346
328
261
308
249
333
297
269
286
270
352
211
305
247
381
338
229
282
257
271
340
289
257
371
280
232
364
222
366
316
333
347
347
362
322
268
346
225
272
442
340
300
337
339
382
383
320
290
251
246
339
313
233
279
306
334
333
225
354
326
302
260
245
328
191
371
309
335
305
312
314
270
316
335
261
370
281
344
302
342
343
382
357
336
380
331
371
320
327
276
320
316
337
222
349
308
378
290
336
218
335
222
321
353
251
309
359
322
359
292
256
259
354
291
355
341
369
294
340
353
407
327
305
246
295
312
279
431
257
302
247
375
368
304
403
261
352
324
279
346
305
228
325
303
314
253
295
243
385
358
275
317
343
213
252
365
300
345
372
261
333
367
300
252
285
373
358
330
395
320
273
291
390
389
349
285
358
321
353
348
364
334
263
357
297
314
303
317
316
291
346
287
292
240
336
255
314
345
343
298
246
319
365
348
362
197
276
277
367
324
344
321
361
308
265
292
289
320
276
406
293
285
396
338
258
284
333
362
274
314
324
279
302
328
350
336
225
319
287
341
358
318
362
321
300
304
290
315
324
276
314
335
163
298
335
360
297
357
320
243
321
315
276
281
296
331
366
298
338
284
260
268
264
309
396
417
353
315
245
252
256
323
322
373
308
320
352
322
351
370
276
315
342
341
348
362
345
246
267
272
330
303
355
278
324
370
312
371
328
361
356
349
296
259
404
308
359
251
327
349
382
223
261
245
265
326
303
289
296
395
265
343
282
285
309
372
407
329
340
310
282
333
334
373
366
324
358
292
336
300
299
421
367
309
242
303
291
311
369
390
325
339
351
270
281
333
340
348
303
224
258
299
305
328
266
318
361
317
272
260
360
349
300
334
277
333
291
306
266
318
206
226
309
343
287
294
382
321
259
341
329
349
257
281
302
261
245
304
285
260
325
324
305
223
203
235
299
277
355
380
263
377
271
307
386
315
340
340
348
329
279
372
342
268
246
330
414
383
372
323
329
341
345
345
306
279
332
359
317
314
340
344
239
390
327
260
358
341
360
294
330
211
250
289
174
298
300
301
275
335
252
325
323
318
398
284
396
352
349
313
308
330
227
322
347
233
308
265
346
336
312
341
350
301
336
318
318
342
278
297
286
292
332
257
300
310
306
254
339
323
300
356
195
277
399
318
262
314
303
398
277
309
384
392
357
319
342
281
342
380
341
337
273
354
322
357
341
369
266
274
375
342
313
300
392
315
290
410
276
296
315
336
392
401
319
386
242
254
351
177
257
298
336
296
283
373
341
364
294
349
275
276
323
322
373
305
314
359
362
358
372
399
301
263
375
335
245
320
357
349
286
294
276
281
342
295
394
413
340
283
408
304
310
227
356
313
266
322
304
330
258
298
310
295
270
416
313
282
316
362
323
277
286
286
340
258
244
340
400
295
296
309
297
305
278
376
329
292
311
201
311
274
343
340
338
338
267
292
315
330
361
387
178
349
348
324
342
290
324
235
298
268
264
305
253
398
344
303
257
228
240
387
269
282
187
348
228
341
293
338
360
283
291
394
236
352
320
208
293
249
225
299
374
248
275
264
381
333
335
347
295
309
324
357
406
287
373
337
382
236
277
365
263
319
200
273
310
335
347
346
407
303
330
402
263
317
255
288
287
244
317
304
244
326
301
304
370
294
375
205
279
359
355
378
273
353
346
322
362
316
284
329
335
391
353
346
313
346
343
373
292
340
333
371
242
326
331
247
375
241
325
374
275
278
383
282
278
397
395
298
255
294
271
319
303
385
367
271
266
306
350
320
391
330
280
402
317
329
323
262
367
283
370
278
334
308
304
268
257
310
316
306
353
382
305
296
289
357
259
219
292
282
241
331
302
311
365
339
333
363
323
338
360
323
380
287
290
255
276
363
389
364
251
309
376
252
350
331
272
264
389
250
364
321
304
329
305
348
362
386
263
302
300
385
297
357
262
374
266
353
378
287
322
324
363
319
383
182
364
320
277
257
326
353
305
212
318
388
322
311
278
292
382
275
330
284
291
310
338
306
271
283
328
341
376
319
418
343
368
327
354
327
296
354
354
407
315
302
304
302
303
410
314
267
351
285
309
346
264
214
380
390
365
322
408
210
405
314
314
318
315
258
265
304
348
258
307
314
343
304
331
284
326
264
245
366
261
325
359
164
328
219
239
303
394
366
295
327
320
297
273
289
356
335
278
363
312
298
429
397
384
307
311
310
294
353
219
293
302
314
313
240
332
301
276
306
326
392
226
336
298
206
382
304
382
314
295
335
303
256
239
244
408
364
335
225
277
354
283
248
338
292
227
340
301
338
296
309
272
313
280
294
343
268
257
360
353
304
322
235
351
331
274
350
262
339
313
331
273
347
301
281
300
399
358
281
328
322
279
319
376
404
331
325
297
319
258
389
252
266
350
319
360
331
281
294
242
404
357
359
322
183
250
310
323
233
332
359
295
280
352
233
243
314
321
316
414
256
330
258
188
371
347
287
195
353
297
265
265
307
322
339
286
281
380
315
317
310
320
326
263
289
320
357
383
262
308
403
301
274
302
300
277
258
325
327
283
333
277
260
274
313
367
343
340
328
359
312
248
336
363
388
365
295
306
257
370
422
271
344
263
374
344
345
299
322
353
325
291
283
297
264
356
325
267
267
302
370
312
326
349
259
336
354
322
283
310
324
337
308
245
235
293
316
301
336
279
346
345
312
302
410
346
301
298
383
299
392
387
332
328
276
331
268
291
294
334
246
316
333
296
302
303
304
330
342
307
245
257
299
341
256
388
316
353
285
386
400
354
336
257
355
317
391
347
373
286
320
310
351
412
350
294
370
178
329
325
365
246
373
330
286
275
263
274
337
279
347
279
342
334
376
409
286
200
312
327
324
370
308
371
286
326
299
264
389
331
413
328
312
367
320
340
305
341
289
322
282
362
232
303
305
218
244
215
296
348
327
341
260
312
321
275
326
346
298
305
377
261
333
323
286
334
365
288
210
318
265
380
342
272
280
386
290
279
243
310
300
327
364
350
371
301
288
273
258
325
266
363
305
307
360
239
260
272
300
271
351
330
321
281
277
336
306
380
343
311
322
412
345
278
350
340
276
338
262
355
366
331
397
347
310
370
316
342
291
370
354
254
330
341
267
399
272
348
390
402
237
269
320
340
292
241
303
378
274
330
354
338
318
368
316
269
377
402
261
294
262
229
336
317
271
387
255
308
363
322
311
282
336
283
273
242
320
328
278
294
254
344
328
358
371
349
203
369
246
238
372
317
314
392
276
330
272
351
347
318
316
268
280
263
284
244
303
263
263
243
288
346
251
274
270
253
374
353
317
260
385
387
315
223
335
255
336
289
277
361
320
324
273
296
330
247
397
293
271
220
275
356
365
388
346
330
304
265
227
308
314
287
270
397
319
292
265
334
244
269
299
269
370
301
344
293
238
318
252
312
308
316
318
284
294
350
305
340
295
340
415
382
325
241
337
281
283
345
291
354
275
264
360
220
294
351
233
308
285
339
280
332
329
291
359
300
385
337
248
319
330
319
395
283
329
351
347
297
340
222
350
318
295
281
351
280
230
378
274
317
313
308
373
370
294
226
385
248
293
322
301
357
302
361
266
383
291
326
357
323
299
320
353
357
359
305
357
284
203
318
331
307
276
259
270
275
378
311
291
317
242
427
316
269
301
257
344
315
273
359
294
330
327
319
369
379
188
328
423
357
278
382
282
324
358
369
361
231
304
315
346
258
337
292
285
308
297
343
185
404
335
371
319
319
340
280
302
244
327
406
400
273
288
373
407
343
302
356
338
269
284
406
297
205
262
213
436
319
378
301
345
405
352
275
379
356
325
377
291
360
358
330
323
291
359
262
278
332
290
322
293
338
288
353
365
346
316
329
289
318
368
267
282
382
272
315
318
336
262
355
299
347
291
352
312
299
332
368
349
300
258
281
330
422
372
425
272
297
321
357
309
360
296
262
328
336
331
311
313
281
287
240
215
349
321
298
339
356
238
233
328
316
385
303
309
366
302
312
280
317
325
331
316
243
340
331
326
354
298
349
311
269
301
298
272
312
409
281
287
265
332
299
330
370
389
291
294
293
294
348
281
293
352
298
388
294
270
283
357
347
343
356
322
222
300
307
361
281
286
336
323
320
286
374
317
255
300
331
326
247
396
248
315
315
337
259
359
407
261
311
318
293
307
293
276
238
301
335
284
318
300
344
282
317
263
313
366
321
297
353
364
376
276
317
342
304
297
303
370
281
242
310
337
306
356
289
330
270
267
329
321
310
257
334
316
336
228
277
341
321
340
253
319
231
373
246
338
390
405
341
248
246
344
357
346
412
382
284
292
336
330
327
320
270
306
332
337
227
311
295
336
284
397
323
345
332
227
367
282
298
336
287
309
214
299
263
340
340
291
311
248
334
362
332
355
364
372
425
354
378
353
320
413
309
247
314
206
308
303
301
263
271
345
360
295
302
276
261
342
218
258
375
277
313
358
276
389
340
278
382
387
246
218
365
332
382
386
372
346
310
321
326
274
356
297
307
322
263
370
277
347
352
337
359
352
330
191
287
324
325
243
280
412
383
364
366
358
331
271
286
397
265
258
334
253
344
264
268
310
313
327
298
403
326
283
299
276
285
328
397
293
286
292
287
328
357
278
343
286
368
351
337
298
336
322
395
349
289
307
372
329
245
351
317
325
269
311
396
379
406
293
351
315
363
307
319
306
316
375
360
356
314
301
370
348
362
222
383
249
327
307
340
319
323
241
380
292
321
410
389
276
288
358
352
324
312
325
339
335
273
318
259
323
352
259
297
301
288
365
300
282
301
305
313
362
303
340
319
285
269
344
275
243
234
240
293
298
304
344
219
374
335
334
370
368
336
290
274
259
316
384
399
299
441
346
257
314
359
344
315
356
305
288
319
288
279
309
297
211
301
356
312
369
301
361
387
252
347
282
257
319
415
323
347
315
370
308
284
302
323
347
242
309
367
359
297
344
377
300
225
331
253
412
324
311
320
297
312
342
335
296
287
364
342
238
335
314
298
239
346
178
273
359
388
251
394
365
306
289
313
312
309
315
277
358
277
324
256
343
337
215
293
285
339
297
351
368
328
310
259
424
289
333
332
329
232
264
242
361
336
298
301
290
307
263
344
377
292
345
329
298
297
318
364
257
302
267
300
291
385
236
320
270
313
307
288
253
298
284
261
337
252
304
312
332
336
252
276
344
324
337
265
366
313
321
376
376
255
352
361
288
355
315
367
281
280
215
349
406
386
334
281
222
320
344
277
273
243
320
256
304
268
333
237
320
326
263
336
304
341
243
269
400
322
277
326
341
326
313
308
288
342
338
360
286
296
283
294
308
318
281
370
385
309
297
295
373
362
282
300
355
379
324
346
404
366
309
333
292
368
327
298
275
367
285
301
308
286
225
323
362
383
365
381
321
377
263
281
253
289
363
399
303
276
313
339
248
361
235
312
339
297
372
234
327
313
286
339
302
236
347
280
307
288
343
370
337
324
264
282
310
234
289
346
243
274
326
307
256
325
426
316
351
334
339
265
311
254
313
335
301
276
349
332
284
310
335
275
289
228
246
372
380
311
299
329
257
211
318
249
259
316
284
262
338
201
241
263
268
275
276
276
295
298
248
310
311
331
301
322
256
323
348
270
359
313
258
333
313
320
355
349
335
308
244
303
253
322
377
312
279
309
325
259
419
316
355
265
293
382
292
300
357
342
376
319
305
339
266
301
353
369
361
281
268
370
413
303
374
268
291
331
349
322
321
286
382
293
396
304
347
324
322
338
341
282
229
280
385
294
351
323
241
331
283
240
334
200
298
316
315
397
326
310
388
309
289
283
448
332
380
296
319
314
286
250
313
431
277
336
295
306
317
314
319
248
301
317
306
298
314
262
334
296
304
293
234
228
391
334
263
320
378
442
319
274
232
256
264
300
339
343
300
381
317
313
355
326
307
270
392
301
297
298
255
360
300
337
300
355
319
289
306
400
408
276
332
289
275
317
327
277
311
266
317
302
347
331
238
330
264
317
322
309
272
250
284
312
323
357
302
264
354
334
433
353
379
385
320
286
363
352
278
378
287
286
353
319
345
331
348
252
344
327
371
392
294
353
356
333
307
332
244
313
179
399
382
323
356
283
358
277
367
374
309
258
287
356
320
303
330
276
324
364
387
287
260
310
348
247
382
337
325
306
323
302
239
224
298
316
294
267
361
251
346
287
323
295
286
336
305
268
336
371
340
288
450
249
264
298
288
333
348
265
336
337
324
392
315
314
298
342
277
242
351
309
261
301
372
192
350
367
275
270
319
211
344
298
266
375
312
302
240
326
290
255
349
372
357
336
391
395
271
388
229
298
337
330
223
261
363
366
254
310
340
323
342
373
310
347
337
357
259
332
257
284
211
321
277
333
317
377
241
311
353
306
252
289
328
391
322
314
310
325
272
275
269
282
378
347
302
308
303
238
315
288
303
347
295
396
165
312
282
289
270
282
345
355
336
275
271
368
248
367
247
268
442
353
329
260
411
214
346
286
253
331
369
284
371
332
278
305
381
263
319
347
270
395
399
284
429
351
324
336
294
307
292
259
306
408
338
323
316
370
294
333
366
254
227
342
252
300
311
311
207
336
383
302
358
221
344
262
368
318
278
318
285
262
373
298
337
323
296
294
301
359
332
315
263
324
317
195
310
387
278
263
286
327
340
359
321
231
269
323
297
337
240
364
316
303
255
358
299
321
298
353
343
295
366
370
306
236
359
332
437
303
284
317
314
379
347
259
398
334
251
291
303
346
295
273
325
302
337
335
314
324
347
377
132
327
366
287
351
358
289
292
290
325
360
387
227
318
339
310
292
218
271
278
262
273
313
283
336
267
324
365
312
340
362
363
287
326
413
294
286
353
352
312
261
269
311
279
270
325
367
260
339
317
363
286
246
284
361
218
283
302
295
236
329
394
234
275
282
269
322
252
331
368
314
358
338
334
284
297
280
390
294
298
351
288
268
325
345
348
205
349
404
242
250
334
372
384
367
294
335
257
315
285
320
424
284
380
390
318
353
280
306
384
371
335
274
309
411
309
282
269
343
341
323
346
301
265
386
401
317
279
294
289
310
307
323
328
313
328
421
294
284
286
362
312
259
363
377
340
341
343
287
396
280
260
337
303
343
306
342
310
322
376
270
326
337
324
331
303
322
354
333
429
322
292
375
270
328
313
340
341
316
357
266
211
215
337
262
258
260
339
320
292
406
311
315
300
323
354
322
317
354
333
339
368
368
268
339
321
295
321
278
296
324
259
390
288
272
266
341
282
359
292
346
383
364
325
294
241
348
326
308
381
343
313
304
310
314
353
372
210
350
397
364
330
248
319
314
315
372
302
252
269
291
295
344
308
317
272
410
342
312
315
340
296
333
355
243
331
359
301
292
373
248
367
337
348
307
327
363
305
324
285
319
309
269
371
372
361
319
284
332
292
376
322
317
257
261
354
321
327
359
311
354
287
296
332
376
266
336
349
354
278
361
406
258
370
318
338
327
307
396
336
220
388
291
250
306
254
290
299
285
329
286
327
407
308
306
293
301
258
324
359
335
306
383
338
253
390
326
301
316
325
281
272
316
264
343
309
232
345
347
364
303
313
277
259
325
254
290
286
371
346
337
243
277
269
329
277
201
332
339
335
215
309
259
343
353
305
305
306
307
394
285
377
261
347
294
317
336
205
251
317
306
319
356
345
303
262
225
356
332
270
322
331
276
303
311
299
352
374
321
247
331
359
331
376
338
320
381
279
338
320
425
311
379
304
333
363
332
326
307
292
378
306
314
310
298
274
307
228
340
284
239
327
243
280
295
325
331
273
402
333
344
301
349
221
399
435
275
342
307
316
355
323
294
205
372
247
221
381
290
309
319
288
313
315
330
303
251
307
259
385
249
355
241
339
384
324
237
313
297
315
328
333
283
273
305
236
339
297
301
319
323
340
295
262
316
391
371
331
290
296
345
275
341
298
386
320
280
226
338
266
395
328
268
364
333
255
306
250
349
363
292
314
317
345
323
265
268
355
228
343
262
236
292
351
278
321
344
372
277
341
295
384
349
379
348
371
304
364
275
262
274
289
319
406
394
335
280
316
342
288
269
309
375
325
292
299
315
313
400
281
289
390
379
197
323
357
363
335
232
347
300
281
380
265
340
299
345
341
287
391
358
322
309
326
316
336
361
339
384
275
281
343
313
313
298
323
192
241
339
270
287
274
305
293
254
321
301
315
282
336
248
383
332
344
277
187
307
349
389
275
325
327
286
286
283
233
280
288
286
409
240
329
249
340
346
340
214
348
265
331
310
285
300
301
303
228
345
329
336
319
327
184
365
365
327
203
416
310
215
349
219
279
355
275
259
333
289
267
301
279
270
360
406
300
267
251
318
330
311
241
336
292
278
310
315
338
259
259
242
331
339
322
303
252
327
244
353
375
380
318
378
230
297
338
330
321
299
400
330
310
373
407
324
299
325
196
235
270
322
323
385
346
240
269
297
360
365
344
252
274
305
229
334
278
249
301
281
278
347
348
408
329
306
332
320
344
371
346
408
332
254
251
335
354
331
251
367
329
277
287
251
322
358
312
304
268
362
331
254
251
323
312
362
369
339
312
327
278
291
275
363
313
318
288
292
235
345
281
253
282
352
317
384
298
327
292
261
346
373
294
349
344
270
417
308
297
290
230
361
352
288
302
268
353
305
331
311
242
286
314
268
345
413
236
352
376
284
273
321
297
348
324
313
375
342
236
309
242
322
327
313
345
374
287
263
343
301
364
275
284
253
373
315
366
369
351
351
294
262
394
370
294
289
281
253
315
301
352
396
328
310
276
238
292
289
321
318
319
379
312
366
317
261
255
354
320
365
367
272
287
327
313
356
254
402
360
257
348
345
341
322
356
287
347
318
363
424
354
361
333
335
293
273
328
342
311
330
275
381
346
199
303
345
332
323
298
302
289
306
320
322
355
391
323
375
278
358
359
276
252
299
171
324
343
358
319
299
252
308
300
390
283
326
218
330
292
394
283
290
382
296
283
277
335
337
308
328
333
360
381
330
301
299
263
279
328
303
297
316
285
300
315
311
325
310
344
263
335
366
389
366
329
355
379
296
235
347
280
356
281
287
421
336
330
217
369
377
352
355
366
323
325
312
289
328
400
331
251
388
304
275
310
413
380
359
357
340
347
254
313
286
277
251
313
383
295
393
340
303
397
342
262
309
247
320
286
337
293
363
309
299
327
304
339
358
272
264
338
388
268
341
385
292
332
341
297
288
330
240
332
283
348
293
250
374
276
298
316
361
340
318
383
289
312
403
316
301
335
339
276
301
368
348
284
355
295
234
318
370
277
351
290
262
372
319
272
319
274
325
292
271
403
333
225
276
247
319
251
353
391
234
321
246
371
315
277
371
337
305
308
343
306
251
274
221
389
280
306
352
324
217
282
227
286
327
318
318
302
331
280
370
308
392
229
416
408
346
367
323
343
284
309
351
270
414
249
330
256
318
237
324
370
275
219
366
333
242
291
349
277
345
334
313
333
280
372
332
326
337
328
302
352
303
257
300
273
364
352
311
331
349
335
315
364
284
290
307
292
332
261
272
335
284
311
301
322
273
329
350
363
313
337
250
301
285
291
318
332
259
328
338
364
335
305
301
266
317
299
339
332
239
303
342
298
304
354
265
245
289
305
368
256
332
307
329
255
284
315
360
275
344
347
293
297
326
289
325
346
300
300
326
321
356
330
278
242
209
385
334
315
233
222
381
264
305
302
354
298
365
297
344
330
316
371
385
261
303
315
343
358
284
355
302
350
281
387
418
309
264
352
306
154
338
342
322
382
302
299
310
353
244
303
281
257
347
314
310
223
329
326
271
325
227
369
342
387
352
236
285
367
285
327
286
336
253
255
400
291
254
261
333
319
365
314
273
317
288
276
310
313
311
348
299
314
341
232
321
317
346
307
286
310
321
319
307
302
306
232
300
274
279
339
330
321
253
352
280
284
443
359
353
305
356
317
310
375
363
257
330
347
347
335
288
308
304
322
299
327
284
327
294
268
279
326
347
382
346
298
274
266
260
261
396
300
347
274
345
340
290
287
348
333
291
300
286
266
317
294
324
289
268
288
333
308
330
355
352
333
281
251
329
283
366
325
281
313
243
388
297
332
310
342
348
402
371
356
358
368
283
353
294
322
343
279
327
368
361
306
339
367
342
348
292
368
415
264
277
427
349
317
271
340
278
327
295
329
354
280
259
367
313
295
323
325
310
300
310
330
347
339
355
328
272
322
234
371
348
347
306
355
312
288
308
285
324
359
363
319
217
305
371
343
323
280
283
284
327
254
364
218
248
292
299
284
306
334
308
308
271
312
245
301
351
267
329
370
292
291
341
287
397
301
331
357
330
351
317
305
312
401
296
298
321
354
266
256
316
264
302
332
265
331
396
199
350
225
332
242
316
287
358
268
363
306
323
390
399
322
266
285
330
291
362
323
390
274
262
364
329
228
344
331
307
300
287
333
275
366
324
278
283
385
268
271
293
333
344
303
341
330
412
347
321
197
312
268
241
257
295
350
320
369
355
315
281
306
333
365
197
282
310
325
308
306
322
306
326
234
391
334
306
323
290
297
331
364
342
347
368
260
301
327
312
291
278
323
383
305
413
339
264
330
268
397
334
249
284
301
385
265
352
206
369
364
291
270
200
256
345
298
314
399
389
348
356
345
286
340
276
381
341
293
266
258
268
306
279
311
360
267
368
306
250
365
294
275
253
339
382
229
342
249
372
314
288
318
305
313
350
252
234
409
305
260
263
321
314
184
270
306
391
388
320
230
309
363
383
266
351
285
332
304
384
257
299
339
342
383
383
318
296
375
377
315
298
297
316
222
398
293
342
338
356
295
294
219
291
293
291
268
348
276
340
267
369
324
382
282
291
327
301
336
374
382
317
330
354
314
305
236
391
317
274
245
293
318
369
337
428
296
344
355
321
338
239
341
286
376
292
354
306
285
394
348
296
283
320
305
352
262
333
294
346
395
257
305
333
329
381
293
289
339
379
319
364
347
277
273
300
398
224
388
269
267
304
356
223
306
290
254
325
359
324
247
309
292
418
325
356
361
304
299
325
235
282
316
344
310
296
325
354
274
287
290
326
335
334
283
300
338
347
328
290
385
343
346
356
289
303
380
260
353
320
360
357
372
259
323
285
278
329
336
355
315
363
274
241
249
234
445
263
340
302
363
391
369
293
355
340
321
245
226
306
360
364
345
325
310
315
350
298
295
328
360
260
358
298
344
335
312
352
291
322
281
293
299
330
371
347
401
278
406
286
278
308
349
281
266
347
298
340
277
319
339
311
312
345
328
345
359
282
262
408
344
250
267
352
396
334
373
295
303
328
333
293
340
389
224
278
343
389
239
334
321
347
333
340
354
325
302
328
306
337
345
274
269
319
297
282
277
358
259
316
327
318
303
320
217
312
324
336
318
285
382
289
307
328
328
274
423
353
364
319
337
329
283
251
331
277
369
358
288
351
333
304
330
242
226
338
341
288
356
204
269
308
366
331
317
285
312
270
327
264
280
271
395
304
249
262
281
246
405
269
360
274
314
341
337
273
291
334
241
307
407
365
322
288
317
326
395
393
350
276
337
313
344
399
314
327
269
352
235
296
263
267
300
321
299
365
325
330
349
368
336
326
325
343
370
303
359
149
245
302
341
337
219
345
358
303
264
281
288
322
405
344
317
309
301
302
346
329
301
265
380
297
363
384
354
304
377
273
351
324
235
383
315
342
403
314
335
191
397
302
286
311
373
341
373
338
362
322
298
275
364
261
373
297
377
319
262
322
266
306
302
349
352
383
230
196
400
280
335
247
346
252
313
338
287
280
273
318
285
295
344
187
414
314
280
280
241
335
334
318
214
272
344
272
325
306
328
308
332
242
353
323
302
345
320
311
379
331
285
443
234
376
375
259
353
288
297
335
404
415
241
374
356
412
317
283
269
327
415
297
348
349
279
292
369
375
323
260
373
248
363
363
291
322
317
300
277
324
313
344
257
260
340
336
276
284
297
253
293
294
273
290
396
338
271
306
225
330
256
308
271
317
349
347
300
270
325
332
349
280
314
355
335
265
296
357
371
230
138
302
326
230
377
321
363
409
275
299
267
372
291
287
264
293
314
276
303
268
314
264
282
354
287
396
264
375
264
282
380
278
332
270
340
383
246
344
317
265
246
321
343
321
322
317
307
310
317
262
256
252
330
303
330
338
272
362
230
347
328
380
299
218
304
271
383
273
279
273
288
329
368
347
300
341
359
337
311
281
329
351
347
333
322
304
390
304
374
230
278
308
277
352
312
343
282
308
308
371
322
366
297
414
305
311
313
234
289
338
242
344
295
251
327
214
370
348
314
268
306
345
317
341
299
328
291
266
290
384
259
301
356
317
317
275
390
317
298
296
300
289
309
390
231
352
341
342
241
263
366
348
271
345
418
321
250
277
327
321
201
381
416
384
258
274
330
395
318
400
337
319
304
373
321
338
338
371
298
312
310
313
339
299
279
358
376
294
260
371
281
307
195
370
294
311
251
309
403
385
278
286
345
307
262
302
382
328
344
327
288
254
382
335
324
314
329
255
337
323
311
308
333
382
320
383
380
348
262
358
273
386
347
309
408
256
224
281
363
329
372
333
231
266
312
401
337
239
229
296
329
354
345
381
296
290
282
275
330
331
255
366
365
272
257
309
350
281
395
381
329
270
298
348
296
270
352
342
318
337
280
330
295
324
280
291
363
315
356
421
308
293
344
315
321
266
404
307
213
269
321
301
323
342
283
268
350
255
287
272
347
404
265
373
302
323
313
283
369
230
336
397
292
354
303
336
408
269
300
317
240
287
357
334
301
296
274
354
266
378
339
332
273
283
289
286
305
254
307
351
303
277
342
318
188
321
287
200
308
258
268
323
330
288
334
300
374
293
330
418
319
383
251
280
313
265
295
297
375
338
336
276
320
313
337
278
314
364
287
325
354
295
318
256
390
336
290
353
236
260
362
360
307
259
318
281
304
255
331
324
386
333
328
291
355
321
353
311
343
260
352
341
295
378
223
318
360
234
327
265
403
344
348
278
359
282
320
337
331
293
343
357
285
379
341
283
277
271
283
325
383
278
334
285
341
251
275
333
313
369
232
319
389
275
299
233
301
338
348
305
338
356
268
257
295
331
367
221
312
328
330
224
257
318
258
334
283
316
343
221
308
350
350
321
431
419
340
285
315
315
341
334
192
359
260
294
283
324
282
294
377
316
283
336
301
318
361
278
350
319
293
266
352
392
266
295
380
314
218
333
352
289
266
347
341
318
321
333
273
314
235
362
355
331
305
315
316
368
281
272
324
321
364
295
335
359
322
235
354
346
239
268
364
335
319
239
330
332
281
348
252
311
307
321
333
330
289
349
351
353
212
326
317
377
296
208
332
231
318
235
381
388
310
374
370
341
336
279
317
356
274
271
266
348
273
375
298
284
320
351
331
319
349
366
264
294
361
349
391
341
343
291
216
356
339
311
334
256
362
351
456
326
351
284
331
268
326
292
370
349
309
336
322
380
336
262
419
296
321
343
342
330
337
298
345
368
317
269
375
324
361
357
318
283
311
302
314
311
294
310
335
305
243
316
340
334
338
355
329
326
288
305
318
252
342
424
320
345
232
251
408
322
277
323
350
247
429
302
271
363
344
384
250
356
351
330
387
334
300
276
347
401
262
332
331
353
305
304
390
317
307
292
312
309
384
280
301
383
259
352
341
240
267
266
386
275
385
289
328
271
278
322
255
295
283
280
317
292
335
275
275
405
292
312
310
345
277
281
250
306
333
336
358
245
314
248
355
347
319
360
349
303
416
382
254
319
311
318
346
287
234
379
259
316
326
281
344
283
332
333
328
292
302
277
284
316
314
251
303
288
412
350
270
206
272
270
270
314
351
346
314
394
340
363
373
306
325
281
360
389
310
283
337
224
236
314
308
270
347
339
323
356
284
342
303
349
377
272
336
208
287
300
416
336
341
371
364
368
267
343
300
273
211
287
323
391
302
242
305
202
353
288
338
323
396
331
291
263
219
219
326
250
326
225
308
326
272
266
286
284
381
331
372
327
335
310
283
326
372
348
412
319
305
301
319
308
347
389
306
338
262
372
307
317
305
325
320
348
301
334
318
247
296
253
332
336
246
265
233
338
307
348
254
257
330
256
329
305
295
292
315
282
282
344
303
312
320
366
326
387
344
335
336
327
355
317
332
278
354
341
271
329
308
305
387
324
240
331
253
339
268
273
222
333
356
247
297
260
262
305
356
318
367
302
318
342
299
246
284
327
354
308
374
306
295
246
264
242
349
375
319
258
328
242
329
310
344
222
270
354
302
299
307
282
266
271
247
339
227
283
265
391
278
291
345
287
363
395
281
401
270
322
378
294
303
292
375
378
323
379
326
272
310
308
314
329
355
204
319
323
343
332
286
316
292
340
251
329
313
343
386
316
358
223
370
245
341
246
400
199
273
306
315
308
373
293
268
314
380
272
300
350
292
322
275
210
312
276
369
292
252
341
346
368
314
378
339
294
288
293
353
329
377
288
337
317
322
347
332
278
269
222
347
342
300
269
222
279
325
357
326
308
286
282
303
366
302
302
331
289
273
306
377
357
199
294
296
250
311
306
332
293
351
286
329
363
326
291
302
306
384
273
355
367
349
290
310
302
255
350
311
386
263
357
340
369
329
265
324
315
289
373
346
315
345
335
313
287
239
291
275
387
319
328
383
288
284
341
363
297
350
213
358
244
316
293
271
313
281
207
305
361
371
357
323
383
273
247
243
316
320
328
344
335
255
317
268
313
326
313
397
381
377
320
303
370
258
350
381
352
385
333
356
337
413
427
308
283
293
270
331
330
301
313
349
329
302
322
210
381
335
260
219
258
284
290
333
245
312
380
368
331
275
217
303
372
297
346
313
350
317
240
346
251
321
381
319
346
339
282
297
272
313
391
344
311
384
347
338
330
380
319
266
326
364
260
295
318
314
407
279
354
373
362
281
355
254
305
280
225
397
282
345
347
359
269
271
243
289
275
353
261
279
340
287
280
299
322
400
301
342
304
381
351
252
278
296
323
269
270
328
312
283
338
356
316
331
224
276
402
331
371
340
345
271
289
358
377
352
298
308
393
383
368
355
298
288
317
337
285
281
286
346
285
393
358
335
302
330
319
312
330
242
280
293
350
362
326
267
212
332
316
367
359
326
280
298
368
316
312
272
314
345
159
263
283
293
287
305
349
254
332
361
231
327
316
374
346
320
346
296
278
314
253
249
325
358
379
280
313
262
358
300
401
313
247
351
321
347
340
294
283
380
312
274
307
340
257
314
377
276
324
285
333
309
380
279
346
273
288
334
315
280
352
295
277
281
335
292
286
302
310
380
369
329
203
348
308
328
257
340
270
289
197
347
370
271
276
258
239
261
342
276
373
350
298
193
370
327
287
283
313
317
216
278
283
293
307
314
389
323
299
303
234
236
306
327
262
318
403
387
368
315
288
325
371
293
353
244
336
299
288
293
282
283
360
343
285
285
304
242
289
357
274
293
321
216
359
275
280
224
308
277
376
328
305
335
254
338
284
208
358
277
362
311
318
375
305
316
309
294
283
333
278
379
348
296
227
292
279
296
312
344
256
306
299
336
279
268
268
343
306
300
282
328
374
339
349
314
310
249
349
354
324
352
281
316
339
294
270
258
309
335
231
250
376
395
293
334
342
283
323
325
319
230
310
277
294
319
410
415
334
326
274
221
293
362
312
367
342
333
412
277
366
297
213
329
250
363
349
292
283
363
343
358
374
289
306
198
360
275
220
325
327
326
289
324
394
349
337
351
311
242
349
272
356
393
305
259
230
268
266
213
265
314
252
367
374
393
327
322
270
268
335
280
293
328
323
310
298
310
292
250
372
201
353
234
386
333
349
339
262
291
340
346
324
237
365
302
336
335
291
262
312
384
305
289
339
354
314
290
283
408
348
350
356
230
253
333
241
266
222
355
290
284
302
230
383
289
256
319
339
279
329
344
372
366
320
309
266
318
323
330
312
307
306
247
281
351
324
224
385
316
382
343
320
314
373
320
317
257
347
224
344
344
301
316
318
296
378
288
404
300
369
303
354
355
354
371
329
367
172
306
326
324
349
328
319
286
318
324
314
416
314
410
348
317
265
288
312
409
298
383
304
405
268
322
337
318
230
381
296
280
312
273
291
247
243
296
286
394
304
425
300
321
332
358
351
384
336
314
400
390
272
305
299
346
252
277
400
326
304
319
315
279
258
277
242
402
300
276
317
363
286
432
246
252
300
311
353
287
293
308
350
255
277
220
288
244
328
320
296
296
310
319
304
377
257
291
376
321
278
281
373
349
283
298
418
337
299
271
327
261
426
345
339
326
356
351
322
305
340
324
317
378
357
304
363
290
336
314
292
274
310
289
260
325
361
351
339
357
275
295
250
359
278
309
327
355
364
242
385
324
284
330
382
246
338
272
257
327
276
340
296
257
266
240
323
356
321
285
366
272
384
330
253
386
371
261
348
338
308
335
294
277
243
345
391
316
358
387
349
370
310
274
310
323
290
283
278
258
324
374
226
257
290
305
342
267
331
329
307
245
338
408
337
252
297
293
379
363
205
263
280
311
331
314
346
288
327
300
293
333
422
303
301
404
362
337
294
349
307
346
264
263
288
297
312
323
355
344
269
292
227
244
403
299
345
298
303
307
258
329
327
297
341
312
326
305
341
296
227
316
372
389
285
329
305
354
301
342
272
363
302
298
338
349
241
334
217
311
215
276
309
302
277
306
284
364
328
377
357
384
292
309
316
340
295
298
354
321
344
326
395
278
330
252
413
298
336
328
303
315
201
363
261
321
314
359
336
322
336
335
336
313
327
313
305
276
286
241
285
350
339
351
294
358
350
305
293
404
269
352
254
308
378
300
338
392
264
295
280
279
343
287
261
398
281
292
213
338
255
391
358
270
381
363
293
234
276
310
392
316
263
258
265
279
369
376
281
367
370
275
301
392
366
294
282
348
264
328
372
335
252
249
312
359
395
319
376
280
312
224
307
340
353
282
260
250
289
370
165
313
405
296
300
342
242
339
386
401
291
334
373
314
319
392
341
350
354
386
272
339
233
304
344
270
402
318
306
289
301
318
346
298
320
324
258
354
218
345
305
351
357
332
343
356
394
287
222
311
214
328
314
324
315
328
292
274
324
297
298
269
377
286
345
375
311
282
336
326
143
288
297
344
375
276
272
273
268
319
294
367
282
247
284
240
306
270
269
329
283
249
324
327
424
394
360
308
341
394
271
292
252
245
338
339
257
293
359
309
337
365
368
309
406
373
318
282
343
332
253
312
297
352
320
347
278
295
256
304
240
219
307
298
288
305
308
347
384
317
308
329
396
354
346
404
216
293
311
319
289
324
317
244
352
299
363
372
334
401
307
368
367
366
244
352
381
330
234
285
278
269
353
202
340
304
388
223
416
339
303
352
242
263
205
217
365
284
331
262
421
253
289
257
309
214
285
277
306
371
321
332
324
272
306
350
291
353
312
273
311
311
384
381
368
330
284
322
323
381
285
288
324
313
347
281
256
369
294
337
380
214
272
329
213
295
348
352
238
406
253
380
383
308
257
232
276
316
294
334
277
289
327
397
387
259
265
303
339
311
301
285
323
295
294
269
380
239
285
270
324
312
273
317
298
273
338
287
335
209
259
254
287
393
285
337
164
274
309
273
284
288
220
295
365
307
313
313
275
352
299
273
372
306
374
363
245
349
320
318
360
213
315
328
304
333
344
402
226
241
344
372
264
321
320
285
406
285
284
279
273
254
369
320
365
230
276
298
357
276
277
303
276
310
386
342
305
342
266
292
246
337
370
292
391
364
281
318
379
294
349
256
283
321
339
327
336
394
306
328
296
379
326
316
312
353
266
374
297
354
350
338
265
347
332
395
318
347
355
226
301
302
266
353
276
351
281
311
337
362
329
309
352
308
267
325
275
285
348
259
334
246
299
334
272
350
234
310
342
348
291
316
331
301
291
328
416
246
309
316
248
308
313
313
398
246
255
345
336
340
361
243
235
241
358
341
223
288
335
345
287
319
409
308
327
263
334
350
296
268
265
284
278
282
303
291
216
268
348
372
297
321
423
310
282
350
267
337
331
286
305
335
266
283
325
350
369
288
323
318
332
316
358
309
352
287
276
336
355
283
378
275
305
359
320
295
285
317
300
390
359
327
396
307
323
361
337
343
298
307
294
263
346
345
354
357
405
338
355
365
345
350
207
386
378
246
262
407
259
381
332
272
357
390
231
285
296
359
314
288
309
287
319
358
308
370
244
355
318
317
261
352
298
291
390
323
366
275
181
320
346
300
309
288
290
361
364
314
363
368
292
276
291
313
274
346
351
303
385
298
356
310
326
358
281
305
299
278
338
389
279
253
300
267
362
285
230
298
302
390
285
347
370
292
266
382
280
311
382
336
325
308
378
256
304
330
293
320
361
379
333
340
315
309
397
359
416
316
338
341
330
354
323
342
237
326
243
388
300
385
307
291
299
285
350
349
249
351
270
319
285
397
308
352
275
300
327
319
254
353
389
273
329
273
298
324
260
276
339
377
375
320
345
280
323
355
251
279
247
272
392
290
321
342
343
409
423
348
296
297
275
363
261
296
357
244
378
310
325
377
315
325
287
406
268
391
331
337
281
299
251
327
410
359
245
311
255
228
308
241
342
212
316
322
325
224
251
280
278
317
281
343
299
320
272
322
355
330
356
358
332
321
313
278
320
362
356
351
344
326
301
368
321
302
251
347
298
321
319
329
248
328
378
292
263
322
368
350
305
299
349
292
275
335
340
253
343
333
335
268
291
334
412
333
289
393
343
318
376
232
333
342
334
239
346
290
336
315
356
240
323
299
291
334
334
337
238
275
275
300
273
350
321
366
306
305
299
344
298
290
271
292
283
373
271
352
187
326
374
332
271
345
337
217
304
249
271
286
406
317
320
388
271
361
313
359
305
412
374
276
302
312
355
309
205
285
345
299
289
355
298
284
301
302
323
362
308
290
316
258
384
298
359
330
332
295
347
281
321
312
253
276
278
354
269
297
336
317
315
395
291
357
352
355
299
336
256
317
349
236
262
348
306
412
327
242
313
250
381
270
268
367
292
307
265
285
276
297
305
316
363
258
290
245
303
296
282
398
307
402
353
238
339
361
198
280
331
288
334
328
266
272
306
329
237
363
257
302
296
293
383
424
340
281
281
359
307
269
389
340
349
357
322
310
317
223
373
338
284
215
331
333
344
338
340
274
316
314
265
281
282
317
279
304
371
249
365
284
346
309
304
305
331
347
317
387
281
301
313
309
273
283
326
312
345
378
361
377
293
317
285
225
278
294
311
367
289
305
368
312
366
307
257
326
318
304
375
378
373
265
248
340
192
236
385
317
272
302
330
342
284
307
313
277
211
348
291
253
319
330
266
353
316
260
346
280
355
232
355
354
309
315
340
296
306
355
402
288
319
378
315
365
234
339
359
250
354
368
319
358
283
418
285
324
269
264
277
284
204
226
380
352
344
272
326
289
325
278
309
274
269
174
361
347
306
395
324
337
286
327
278
359
288
384
341
279
315
325
269
324
311
378
280
308
197
343
359
271
257
269
282
244
357
347
245
280
316
240
340
301
306
285
359
353
328
309
335
252
249
280
306
266
356
287
210
302
198
285
333
342
337
257
316
285
371
353
266
326
290
367
335
315
296
348
257
372
311
313
208
339
257
309
326
228
276
335
276
242
324
246
358
341
339
293
309
326
317
348
287
281
257
316
275
339
251
287
252
366
309
292
267
379
274
250
353
326
271
268
359
244
273
352
321
360
330
400
297
347
347
258
372
335
302
329
194
354
399
280
289
299
365
374
278
338
333
287
311
317
268
289
266
280
307
299
363
292
292
331
314
240
259
313
359
355
270
316
289
417
272
323
344
338
360
373
329
325
335
267
309
353
293
314
323
263
309
287
249
331
356
334
320
287
279
183
352
342
316
322
241
275
304
244
358
340
277
269
352
270
299
308
301
306
305
394
308
307
332
399
233
411
285
366
274
450
289
308
245
365
377
347
373
383
289
218
280
354
324
337
339
333
320
325
318
316
318
285
329
349
337
314
357
304
367
314
274
225
263
294
300
328
299
286
262
359
311
265
217
295
299
349
273
435
343
302
333
322
279
307
382
369
367
367
349
298
254
306
322
345
301
250
278
256
378
249
337
411
302
258
322
312
360
359
317
345
347
346
288
197
365
353
357
306
348
391
335
208
292
341
344
252
290
269
320
291
362
313
292
424
373
454
320
378
332
257
396
369
353
378
311
304
344
364
350
356
358
340
326
245
257
307
239
256
325
210
378
333
278
321
220
353
247
394
376
329
274
272
282
320
343
316
254
266
344
290
396
331
260
386
387
279
303
249
349
292
348
385
284
318
299
333
271
290
300
283
320
327
245
318
296
311
340
384
346
306
267
383
315
318
366
328
291
380
315
393
363
304
337
288
330
289
244
383
381
244
330
312
305
351
297
291
318
363
308
373
377
256
348
340
277
319
300
313
261
266
320
273
284
248
327
360
244
286
349
397
335
334
246
351
332
347
231
317
296
273
258
314
388
281
278
338
317
345
251
330
319
276
250
341
289
354
244
337
328
258
337
249
413
266
372
299
301
338
307
323
302
284
322
281
252
326
275
340
284
358
339
324
323
310
260
353
368
274
315
287
314
315
381
344
222
283
411
367
338
265
364
295
291
325
305
386
287
363
290
223
355
247
328
307
323
358
332
293
322
361
245
275
271
270
342
297
309
326
273
344
319
333
381
327
316
323
381
310
343
299
339
282
323
308
301
376
302
280
290
370
292
322
348
278
284
305
342
266
256
353
348
410
256
268
282
282
305
299
255
317
305
388
314
318
309
258
363
331
274
316
323
265
330
222
279
256
303
291
293
277
347
277
345
302
389
312
303
367
249
352
388
378
266
317
317
303
334
322
392
337
291
364
306
371
364
266
300
222
351
327
325
214
356
289
267
280
319
341
330
313
286
233
280
328
334
408
336
320
320
281
377
391
262
274
227
331
301
239
338
385
323
335
285
376
330
353
180
365
294
339
328
360
366
276
339
427
357
281
311
310
253
353
268
334
334
275
244
359
315
304
296
302
256
336
191
287
313
338
343
311
250
324
268
254
374
329
393
336
384
281
288
318
335
300
417
351
311
236
310
357
240
339
377
350
368
144
269
358
257
339
279
368
306
278
314
369
234
308
401
408
219
335
300
290
368
371
373
357
227
332
285
257
332
405
254
293
316
299
270
347
325
296
252
320
215
343
354
265
291
331
309
412
359
270
330
369
314
276
380
375
314
314
220
318
264
412
321
315
348
292
339
345
312
252
312
378
408
370
277
396
358
404
348
310
314
331
309
309
321
367
283
367
314
240
327
239
240
317
313
284
340
270
295
417
309
333
346
347
261
275
353
358
338
301
342
295
254
247
318
230
275
307
374
341
275
267
323
318
405
339
241
343
311
315
413
249
394
344
331
354
259
310
327
377
291
374
304
313
301
344
362
348
268
362
261
343
365
384
293
324
365
374
348
229
328
332
339
329
259
290
365
333
288
406
286
311
322
355
282
372
356
312
288
364
253
322
290
360
196
313
308
357
358
315
369
298
328
262
301
317
348
382
356
251
400
307
370
275
408
292
260
325
215
297
288
343
304
221
301
365
329
291
264
208
405
316
250
314
276
255
328
263
318
291
256
358
293
315
318
362
347
346
313
333
372
269
270
322
296
259
293
231
279
244
302
255
327
253
274
317
321
351
275
287
312
393
375
252
320
318
261
278
338
228
318
233
351
322
299
349
231
352
301
221
193
274
270
262
234
283
366
383
384
268
313
307
365
384
337
278
308
350
322
314
238
357
342
331
343
293
367
304
283
279
309
355
293
271
288
351
362
403
407
244
309
312
344
277
333
360
302
265
286
269
344
334
235
348
406
274
344
284
244
316
260
293
392
339
306
406
238
347
244
283
315
224
300
249
360
366
306
280
343
241
405
303
311
259
320
311
390
246
352
336
345
296
226
269
288
267
342
270
225
289
288
256
327
320
301
278
325
289
334
338
320
242
273
257
261
330
345
344
313
255
295
328
398
289
294
297
215
398
372
417
362
233
308
260
268
317
318
239
310
362
345
329
238
335
330
351
279
362
285
282
356
317
321
334
305
318
386
407
286
203
242
210
314
295
236
349
391
227
332
308
356
318
309
253
326
322
259
337
284
322
273
294
326
328
327
329
264
381
255
314
324
332
370
271
287
385
365
297
346
230
318
292
257
282
372
267
313
240
339
303
278
282
335
293
220
368
343
258
332
318
271
307
272
352
333
352
307
295
304
326
325
375
261
384
378
308
307
369
247
299
325
292
391
356
301
227
330
269
322
353
335
258
386
365
316
368
392
296
266
315
267
269
358
278
300
325
287
433
345
189
302
289
301
328
258
366
396
306
270
304
301
334
376
336
314
397
305
380
399
319
207
391
269
291
302
265
320
331
324
262
326
312
284
308
352
342
356
318
319
376
258
309
382
353
360
314
371
285
297
327
391
237
297
418
339
402
233
282
378
340
343
304
298
211
328
286
354
374
270
338
338
301
312
275
365
295
294
282
354
315
406
312
361
302
297
318
332
316
287
394
276
372
329
377
326
303
338
306
329
308
358
291
366
304
283
264
263
379
365
304
286
367
280
326
298
266
302
302
315
315
223
306
312
350
327
393
256
328
350
338
311
416
288
403
221
262
326
354
226
325
322
354
279
289
337
390
327
281
377
347
320
276
352
310
298
299
352
392
354
335
345
288
330
298
270
412
374
308
233
226
341
303
339
274
191
352
378
284
322
295
346
349
318
267
286
337
361
269
262
365
384
274
324
242
269
245
345
292
365
272
269
308
307
373
336
258
348
344
304
340
363
293
336
308
328
321
309
314
334
334
346
256
316
332
300
375
280
322
341
269
378
380
254
336
301
291
381
286
256
406
299
261
289
308
304
290
306
236
258
308
373
315
313
319
342
284
377
292
215
279
324
357
366
349
335
326
301
279
282
315
422
269
331
335
329
349
307
345
288
338
256
371
277
296
273
325
360
267
291
340
401
318
392
340
243
297
394
302
304
328
264
337
448
356
263
300
182
384
328
341
341
353
248
358
298
302
277
354
360
265
328
325
314
326
291
236
328
202
317
211
319
411
336
289
354
297
329
302
239
331
320
290
288
267
350
306
347
323
220
338
247
308
255
326
347
221
244
286
301
292
290
323
325
301
288
305
233
330
276
275
233
334
341
371
295
329
313
309
310
339
376
347
321
342
339
328
396
317
339
357
230
405
295
276
363
266
274
307
293
253
351
282
327
289
346
337
401
303
287
348
391
319
343
270
285
344
323
272
340
366
291
395
330
404
280
330
320
333
323
237
301
420
330
370
255
280
312
298
401
276
317
335
288
255
311
276
374
330
335
344
408
388
389
228
302
328
301
302
374
299
271
355
278
320
375
319
358
225
290
263
394
334
392
354
301
404
306
262
266
286
306
283
269
284
228
344
379
418
340
311
329
288
290
393
355
291
265
345
300
310
372
336
274
342
268
372
229
330
211
333
289
316
252
349
330
331
297
354
324
325
223
291
320
288
419
375
316
311
247
299
321
236
353
270
313
350
333
371
287
296
362
335
225
276
298
316
310
289
270
429
325
346
369
374
380
333
325
373
347
300
289
296
265
306
344
324
347
286
364
302
311
232
308
320
317
351
284
308
274
373
272
282
364
382
287
322
332
271
252
303
319
339
295
279
338
201
282
309
331
225
322
253
359
347
391
269
309
328
219
264
339
321
331
321
366
327
371
318
354
354
363
370
407
282
401
343
247
319
175
327
282
345
327
296
369
330
259
322
378
308
291
270
325
382
322
247
287
235
358
301
355
231
274
251
324
343
300
355
334
290
311
248
323
329
319
283
332
246
330
310
289
371
397
349
367
397
373
351
311
342
342
325
372
349
400
315
335
287
299
298
374
336
304
317
344
386
374
379
274
299
312
335
302
293
335
320
253
329
230
337
263
332
350
408
332
353
355
355
379
342
281
287
252
239
286
343
262
325
312
296
253
239
339
342
369
311
299
309
393
279
312
371
316
184
262
252
275
365
294
390
289
333
379
306
282
339
376
383
379
386
333
386
371
309
401
344
272
365
365
300
279
337
273
310
370
302
288
269
307
281
226
258
368
279
293
298
342
369
299
353
313
369
320
254
301
245
303
285
296
303
332
319
285
297
247
374
321
411
348
339
368
359
330
243
317
263
231
338
299
345
256
295
248
431
382
251
225
282
287
201
345
309
271
315
299
303
325
386
368
314
319
323
333
369
290
351
374
257
247
339
257
355
256
319
326
412
308
242
304
401
346
317
287
334
334
327
326
321
339
276
245
360
330
261
323
249
288
354
283
297
368
354
289
363
354
272
337
349
320
330
308
312
310
356
315
262
335
327
312
337
249
298
382
248
320
326
335
226
296
374
287
388
372
321
308
322
326
335
290
282
373
342
295
289
302
344
295
280
312
295
231
344
342
286
310
377
281
303
305
260
262
273
291
308
301
325
404
264
293
315
375
307
323
326
297
295
325
207
329
351
393
305
274
311
331
255
320
391
347
287
257
283
406
343
393
318
370
275
281
349
317
248
328
343
267
369
288
337
332
223
331
388
347
342
326
253
305
384
338
336
300
361
333
259
337
328
230
300
317
272
377
356
335
299
295
271
318
329
331
294
317
275
332
303
310
322
330
274
366
302
334
319
348
313
348
403
316
279
285
310
368
334
274
298
279
242
363
392
260
373
341
249
330
321
320
390
259
369
303
314
334
367
337
273
281
300
330
295
384
384
353
318
346
286
346
313
336
333
261
359
296
359
353
368
330
352
345
397
350
329
307
246
300
339
287
376
291
338
274
303
337
381
379
329
293
281
335
341
242
321
320
353
244
363
325
311
260
270
270
380
307
314
320
295
358
374
309
392
271
299
272
349
220
350
343
258
364
354
368
360
382
345
317
271
333
273
300
380
373
345
313
225
325
281
343
305
197
355
268
347
324
264
326
339
338
278
277
351
221
239
316
249
360
284
349
346
333
370
319
344
304
325
421
333
295
328
418
317
346
391
315
211
312
311
260
418
373
347
378
346
312
373
385
335
387
332
361
418
335
217
330
303
330
352
287
247
415
400
293
301
258
335
243
316
276
256
275
272
297
305
271
281
334
312
288
302
362
359
319
244
276
282
263
312
283
334
288
365
329
291
346
313
210
378
329
327
315
403
279
315
275
282
288
285
377
261
305
328
382
301
193
395
265
287
305
280
275
392
248
392
330
296
327
282
360
337
309
318
325
276
309
286
291
346
328
266
354
202
320
232
374
303
405
293
250
259
369
317
329
306
345
288
354
320
293
338
362
319
391
360
327
291
355
240
330
323
334
277
286
299
320
348
314
295
352
316
308
300
206
253
212
185
267
321
330
291
363
257
407
248
349
413
272
326
249
250
383
355
373
302
320
299
297
365
280
345
305
359
291
352
302
352
283
284
255
218
341
264
345
322
276
361
324
307
298
371
299
305
356
332
262
345
329
319
352
324
320
296
305
328
342
336
234
338
309
338
284
335
365
293
330
312
358
335
284
311
336
390
331
306
349
300
349
345
366
329
322
324
282
332
364
424
220
341
374
348
383
343
348
331
361
342
356
319
285
299
345
304
271
345
312
376
301
419
323
300
324
277
319
267
317
306
315
276
248
289
275
215
252
317
344
319
324
263
284
389
266
378
334
350
316
296
274
341
251
307
255
329
315
337
366
300
244
278
287
416
262
362
319
344
340
326
388
247
272
290
329
300
193
343
401
324
258
334
305
346
261
319
285
300
290
291
307
285
281
317
352
265
252
282
323
307
408
272
297
317
350
319
342
377
331
336
302
332
247
286
329
351
389
234
315
316
281
315
391
327
336
345
353
286
293
343
336
371
321
296
335
378
308
294
294
328
464
357
277
317
306
308
352
334
266
387
273
307
299
236
377
343
415
317
305
306
351
283
299
276
260
290
288
335
281
395
344
319
367
383
397
312
379
216
329
259
352
343
320
334
277
359
282
287
297
308
320
341
289
374
386
297
387
337
322
305
256
244
265
315
355
329
355
310
330
357
337
333
407
316
277
249
317
315
336
285
316
306
271
363
361
261
358
362
357
259
379
318
335
243
372
399
336
351
299
272
267
279
267
325
404
258
260
242
333
416
357
229
309
392
298
338
327
308
387
236
331
343
290
270
366
344
330
401
345
305
338
319
198
257
375
317
373
379
341
325
335
282
300
275
304
219
367
307
283
337
355
242
343
329
304
270
378
283
296
314
280
229
363
321
263
369
268
370
277
380
382
260
430
347
337
231
283
394
313
390
335
333
231
315
326
310
312
308
317
364
271
371
276
306
303
377
298
313
337
392
304
303
374
347
389
348
370
236
267
348
353
277
214
279
362
367
317
348
308
341
388
281
278
377
294
311
410
353
320
270
278
281
396
403
269
311
388
314
322
327
386
360
283
393
335
273
317
266
330
320
321
293
311
274
362
378
395
340
285
393
278
296
342
284
321
332
388
298
354
305
389
264
275
291
391
316
274
342
323
314
279
361
344
282
358
294
253
295
367
341
362
309
264
301
290
396
318
328
298
336
328
281
387
364
341
251
360
262
267
328
264
340
249
357
343
235
250
291
374
363
317
362
256
335
340
306
243
261
303
384
263
369
310
281
369
302
315
258
312
350
256
263
234
278
298
344
225
233
323
299
323
286
377
423
311
382
355
287
256
329
236
287
335
310
275
257
293
355
345
309
285
305
280
370
271
252
316
467
326
248
299
322
371
289
376
314
348
265
353
303
293
336
281
348
273
364
275
314
343
311
321
237
265
309
295
288
318
359
382
306
274
235
333
321
327
358
280
330
326
327
270
355
360
354
367
304
348
264
313
317
311
432
271
369
342
322
331
285
367
318
380
332
336
269
367
322
346
283
290
372
319
342
311
311
343
283
406
300
280
229
349
277
327
321
304
332
340
351
320
356
342
273
273
279
367
302
369
364
401
256
281
293
297
229
271
399
394
314
325
271
306
364
360
384
304
230
297
316
378
334
372
345
300
315
308
331
368
348
283
285
348
321
306
342
318
229
333
261
350
295
353
319
230
325
317
384
359
275
371
330
380
299
327
346
306
269
322
280
335
370
273
282
377
345
243
343
348
334
205
245
275
234
202
324
335
328
308
406
311
294
370
328
317
290
281
303
297
249
296
280
330
235
329
317
377
344
300
356
367
390
293
291
312
278
324
305
341
312
359
384
225
334
324
364
332
289
351
316
330
322
310
282
365
267
239
325
289
287
325
307
265
321
375
302
321
338
372
292
252
283
322
255
343
199
351
305
290
276
281
373
349
238
314
375
325
319
273
311
278
340
397
243
305
412
332
395
303
281
366
318
270
352
290
273
388
323
401
314
406
185
345
302
361
367
343
294
237
325
275
266
242
282
343
294
325
280
360
306
315
279
339
314
339
318
331
374
268
346
333
315
331
347
306
320
381
299
281
293
366
313
346
329
291
352
303
413
328
359
256
335
218
324
300
399
327
371
374
373
309
313
334
320
266
402
338
339
304
322
265
328
285
336
290
385
315
291
292
313
201
315
306
295
183
383
214
331
376
331
410
302
271
284
349
268
381
243
276
298
277
368
260
270
339
256
306
348
329
372
345
292
266
379
331
298
309
359
273
295
328
266
373
349
368
380
403
216
270
366
344
318
296
354
380
323
320
299
225
222
354
280
369
358
330
250
350
280
347
274
348
337
246
281
311
209
326
310
306
354
312
280
246
320
322
300
286
320
343
309
297
262
331
338
291
324
389
351
236
356
323
312
349
313
366
291
340
301
331
292
283
302
236
300
313
431
342
303
248
349
308
305
300
296
225
333
357
300
347
341
240
368
291
250
274
229
232
298
336
312
309
351
339
302
354
334
336
265
356
352
319
360
279
321
239
335
365
289
350
381
226
359
348
281
326
310
336
273
217
306
352
333
240
298
310
297
328
381
326
224
334
304
344
325
305
350
353
300
260
284
342
355
364
359
380
293
295
396
382
392
340
296
318
263
275
206
333
301
302
270
292
325
270
308
295
335
271
373
298
285
344
279
233
265
302
405
311
344
308
293
345
315
355
290
312
284
266
308
322
295
379
222
244
294
362
247
249
363
296
403
272
293
291
368
265
358
364
326
312
338
292
313
300
307
277
357
377
288
392
292
345
364
342
253
331
331
372
249
256
263
285
294
313
257
280
318
308
373
286
308
276
274
259
344
351
385
267
292
309
325
377
313
351
301
250
319
309
327
361
332
326
327
293
361
348
254
314
236
391
241
314
332
263
216
303
293
337
287
284
276
361
342
273
342
317
319
348
390
316
399
352
341
341
333
338
288
393
320
360
284
333
335
245
318
306
318
454
354
282
312
319
339
340
279
326
294
298
303
308
306
374
335
402
279
278
351
269
393
276
352
278
347
306
234
284
339
342
354
257
306
415
321
297
214
324
328
330
343
304
320
354
312
396
264
363
268
334
302
321
317
213
365
355
344
320
198
301
309
321
314
330
392
318
296
238
230
267
285
253
258
297
333
340
378
363
352
326
212
345
308
343
418
306
328
256
297
393
344
327
357
338
346
357
321
304
308
331
285
324
353
305
261
306
266
290
286
349
369
344
248
357
312
300
381
350
267
348
287
348
319
328
346
229
248
306
317
339
309
301
342
413
363
257
280
318
232
305
362
326
305
374
283
254
285
270
282
273
333
317
369
322
327
279
259
285
311
343
238
346
345
269
281
410
343
283
331
316
304
282
279
328
298
371
295
277
390
303
295
368
227
209
260
341
351
348
352
357
331
294
281
317
317
326
335
337
388
348
279
344
278
308
318
318
362
351
352
325
321
293
292
218
299
333
312
325
390
364
378
261
298
342
339
354
398
275
355
329
339
354
306
390
305
319
302
350
369
308
288
341
330
255
306
319
335
295
343
340
380
299
365
360
335
306
382
336
347
340
235
391
314
323
284
327
278
317
358
325
214
278
258
331
301
347
280
306
295
385
367
204
251
360
294
347
368
271
230
307
306
249
275
257
337
252
349
300
297
280
252
315
307
329
326
273
291
290
375
274
320
376
310
356
292
264
366
339
252
199
309
343
250
282
352
272
392
350
263
208
345
383
246
359
312
265
325
324
358
309
269
276
321
255
336
258
346
337
339
289
352
408
308
323
307
325
325
312
349
326
323
292
371
303
395
424
322
340
320
306
272
288
365
311
321
349
289
248
353
411
326
311
307
275
323
349
267
286
359
270
287
261
387
342
291
269
299
241
261
338
363
373
246
303
359
261
293
327
317
238
291
329
324
234
312
225
205
232
311
393
392
324
308
340
257
374
311
322
341
349
312
321
265
385
304
304
272
342
259
304
317
320
289
240
280
368
255
378
317
308
336
321
286
309
292
241
303
316
299
243
366
303
358
332
342
303
296
358
296
251
324
304
437
269
393
374
332
292
315
355
338
335
272
314
318
259
399
296
309
363
340
422
307
361
242
318
275
294
300
384
270
299
290
327
400
323
295
314
278
311
337
262
354
296
316
265
305
270
241
334
339
283
347
372
349
362
324
283
335
258
250
396
284
340
298
325
320
273
210
294
330
282
345
271
308
409
325
294
336
287
354
385
405
244
343
311
283
296
337
316
334
248
277
351
336
339
390
304
376
374
297
225
248
327
304
260
338
319
321
374
309
356
291
353
185
329
331
339
277
313
338
238
236
326
318
286
276
302
322
251
362
331
307
334
380
349
318
286
295
311
304
303
261
301
308
352
352
355
296
312
270
256
271
226
329
328
309
265
239
340
283
330
290
296
318
312
279
282
293
393
294
201
325
358
344
265
325
280
329
384
292
306
213
340
250
312
298
223
382
341
375
341
285
325
326
364
394
320
317
333
273
341
347
319
279
349
310
326
308
348
364
286
350
243
227
216
329
312
244
353
346
348
351
283
342
377
278
345
272
274
263
324
287
309
324
334
394
345
354
339
328
292
270
345
305
357
261
281
317
244
381
305
267
320
338
392
285
314
404
251
327
317
302
345
213
300
342
269
363
329
269
365
275
408
397
301
324
343
321
257
264
385
331
323
345
378
219
260
266
304
308
347
283
358
310
372
303
322
287
359
402
320
311
257
294
336
335
286
328
326
352
317
360
381
301
365
289
312
298
293
312
272
320
322
305
328
275
329
390
338
337
295
347
313
276
371
317
370
364
262
267
343
295
290
363
396
214
343
208
289
348
283
240
270
333
229
286
317
309
310
284
219
358
376
261
374
278
362
380
298
332
353
356
292
272
317
277
334
338
333
322
332
300
347
305
291
268
345
287
325
323
318
299
302
262
250
322
331
362
381
325
263
266
348
219
300
301
280
294
410
327
286
282
289
286
320
282
314
383
306
226
332
397
303
327
292
315
336
227
417
354
333
307
240
303
338
364
352
270
300
306
305
387
251
347
372
278
291
197
268
219
315
312
363
292
303
370
304
266
384
225
304
284
391
354
225
348
282
295
327
289
361
329
205
305
280
315
360
266
275
367
349
307
271
298
409
330
334
460
300
340
308
458
314
367
294
326
261
320
292
338
258
281
283
329
330
401
272
320
415
293
234
335
322
310
281
336
257
301
397
282
309
365
420
372
298
388
332
307
272
278
324
293
289
280
320
369
319
230
297
330
279
322
304
284
328
275
261
267
308
294
275
323
385
332
341
193
318
304
304
326
239
314
359
263
277
320
331
332
317
297
339
348
212
269
263
370
368
348
325
261
313
360
351
355
339
258
239
335
400
301
317
304
335
291
278
300
264
349
318
301
315
278
369
347
365
225
313
399
369
265
315
338
309
344
228
368
384
346
337
380
285
290
377
290
366
274
377
388
289
324
404
341
315
356
330
208
299
343
368
409
297
281
288
346
279
281
313
306
363
281
220
282
226
342
381
346
264
354
304
303
295
198
370
316
291
390
319
370
377
341
316
371
369
340
308
321
311
270
342
298
287
303
334
254
264
260
285
397
399
305
269
300
361
268
198
316
242
328
296
365
383
333
351
223
245
275
342
270
337
191
380
361
269
347
364
311
280
196
282
297
303
360
315
335
305
295
421
355
378
383
353
372
290
302
339
327
294
304
296
253
265
279
306
261
359
331
262
442
396
208
334
311
317
311
376
301
268
377
311
301
205
324
307
264
255
312
401
344
326
348
330
311
303
316
281
361
364
242
298
285
403
357
290
314
328
353
341
288
274
377
356
295
348
377
300
301
345
261
344
317
360
360
285
335
347
224
317
390
271
295
377
301
367
389
293
309
322
271
302
402
296
259
260
284
315
294
325
308
342
384
352
278
263
358
311
386
350
277
331
338
304
357
330
287
271
246
388
284
312
307
345
319
303
356
326
281
381
322
358
278
301
319
252
277
319
376
341
265
362
300
396
275
334
310
328
377
296
226
304
338
336
405
290
300
306
287
348
299
332
304
341
376
342
357
320
359
276
366
328
351
330
393
257
283
272
238
383
333
315
247
336
346
343
307
287
301
340
337
375
360
398
364
328
326
334
286
301
394
371
359
340
353
364
277
242
329
285
232
275
334
337
292
386
244
298
289
261
264
383
320
307
344
345
373
308
312
354
310
333
288
278
256
283
292
341
281
357
351
375
335
377
361
274
391
291
373
321
282
293
378
338
385
321
347
350
267
368
349
283
347
263
265
341
341
362
395
354
320
242
321
274
376
257
262
305
292
274
285
280
274
307
345
366
264
286
293
308
330
329
309
243
349
253
327
311
336
285
326
306
239
348
290
363
278
298
299
336
394
293
406
231
316
311
300
292
256
325
320
323
231
402
348
289
338
352
325
213
351
372
264
323
280
217
301
300
298
375
301
339
301
274
321
312
348
226
351
314
313
330
336
248
276
332
344
254
306
359
327
291
338
301
337
265
364
408
349
265
361
369
352
268
283
210
368
276
378
348
385
349
296
311
228
293
325
265
227
345
257
245
328
318
389
361
316
330
300
360
333
354
361
356
310
377
314
313
320
316
240
368
282
287
289
349
285
407
331
301
291
239
329
192
183
338
335
344
231
260
302
327
284
344
414
257
302
303
257
313
329
417
323
237
309
324
246
424
360
335
340
361
300
266
291
331
299
337
190
269
307
297
323
385
346
313
365
358
303
182
361
347
243
316
325
304
384
293
307
257
377
310
241
286
333
263
271
316
324
377
388
321
310
339
375
314
304
390
331
323
220
332
296
398
277
338
314
347
294
304
282
263
284
319
358
330
342
234
372
350
293
249
391
318
251
290
299
306
340
259
283
308
316
294
348
382
268
319
220
306
375
265
330
325
274
311
301
247
357
343
310
303
374
329
321
199
291
315
381
358
239
317
279
327
293
217
353
355
272
249
322
338
341
321
302
335
303
360
343
314
324
390
336
329
322
338
226
297
371
324
298
230
355
273
302
267
259
313
378
299
322
289
337
276
296
287
299
190
314
279
245
307
367
314
344
288
337
312
290
326
255
350
292
360
301
239
286
322
299
308
346
377
267
342
357
318
251
349
329
238
275
280
292
332
201
362
377
318
368
324
313
382
352
308
384
372
310
342
314
343
280
257
366
253
300
317
290
364
383
318
363
287
295
309
339
369
353
362
362
220
294
290
328
277
367
286
277
382
222
346
357
290
377
380
284
304
356
264
313
300
265
293
281
429
265
292
306
300
236
219
255
381
273
279
343
256
305
300
299
322
322
264
276
297
272
313
389
373
315
308
330
279
321
277
306
354
280
292
275
291
364
336
347
406
258
405
291
336
272
356
304
300
340
313
274
338
299
342
381
284
238
385
212
289
218
216
303
285
291
334
335
378
314
333
333
364
372
438
340
357
346
259
351
293
302
302
314
366
359
299
337
293
253
290
292
246
287
362
375
346
302
274
278
325
242
225
297
267
312
359
324
315
335
296
392
328
321
370
351
355
284
392
332
355
401
294
304
289
342
390
294
357
305
315
284
331
335
301
351
204
239
341
335
327
237
326
280
353
268
359
234
306
354
250
308
318
326
263
327
238
331
242
352
347
287
378
358
309
333
364
346
312
275
264
361
307
302
376
334
244
261
252
392
361
333
358
351
345
310
286
231
273
330
332
393
292
359
300
334
374
327
278
367
291
345
313
299
205
337
310
252
357
305
293
223
233
426
372
326
353
286
349
350
300
291
280
325
305
321
362
445
338
327
297
371
273
310
354
346
263
331
451
258
326
348
258
351
296
381
224
340
344
372
418
384
313
382
263
246
291
268
255
329
268
249
394
368
352
347
327
345
215
330
323
332
318
398
326
299
266
323
424
314
323
395
229
397
352
376
298
274
299
323
270
297
308
303
327
354
317
360
245
356
270
375
318
309
281
271
320
360
282
321
232
340
337
323
404
320
285
185
314
361
330
319
311
307
273
315
285
386
261
303
326
369
393
275
361
298
345
370
288
339
264
318
289
292
384
297
382
333
368
295
290
307
330
340
287
319
316
150
288
322
377
269
313
378
325
310
237
247
302
331
331
358
336
297
211
283
344
215
401
339
310
279
339
366
354
347
333
363
278
361
304
300
376
291
318
338
353
370
308
278
342
320
346
310
284
365
332
328
332
318
337
273
325
307
360
373
336
301
270
329
376
350
333
348
306
320
332
254
279
341
308
350
378
321
367
296
243
364
325
321
291
256
300
337
300
285
340
260
331
305
273
308
271
235
350
310
325
403
337
273
268
273
330
334
305
279
365
369
296
320
177
370
346
330
336
260
381
392
343
309
355
302
313
312
289
296
284
250
347
385
334
360
271
331
324
284
325
299
268
291
282
311
354
326
290
359
238
346
425
324
357
341
327
238
298
282
252
348
375
354
349
248
251
314
339
254
315
337
310
273
283
328
330
350
295
268
364
309
264
295
339
409
252
393
378
299
265
323
272
321
313
379
366
335
341
367
337
337
293
395
375
312
324
254
322
287
309
285
231
311
412
239
392
243
285
319
328
283
399
342
293
407
248
396
344
293
314
281
256
313
388
313
287
243
264
361
292
325
285
382
289
360
333
318
317
313
347
363
326
389
306
273
327
354
304
350
416
317
350
342
256
347
254
309
294
362
303
364
382
317
368
278
348
301
252
246
309
317
294
309
383
308
316
265
335
284
329
305
252
305
345
309
239
286
370
288
276
291
286
391
385
324
296
296
296
340
307
229
310
293
351
312
320
400
280
379
241
311
361
236
300
315
321
317
294
353
310
307
309
312
378
288
281
286
368
362
236
303
377
333
276
340
251
327
316
345
401
314
271
314
286
317
334
385
297
354
326
264
367
261
273
316
347
356
293
332
366
335
425
316
350
303
358
276
348
328
333
297
245
252
260
348
402
284
345
268
289
375
302
363
350
212
325
242
336
338
451
296
250
323
321
297
275
255
289
325
321
316
341
254
241
351
356
288
344
247
313
331
304
272
250
358
337
350
326
193
330
269
339
275
337
289
304
344
347
330
332
348
226
360
275
286
246
319
319
362
320
267
390
295
332
368
354
314
379
372
210
296
324
376
273
409
287
312
340
315
273
207
343
360
351
244
272
305
269
416
308
346
314
257
373
361
360
296
317
307
398
372
283
344
261
304
408
335
312
283
330
320
269
317
316
284
334
231
286
278
357
331
379
295
230
336
251
412
281
366
297
437
301
353
251
242
306
390
317
321
322
311
338
271
273
311
285
330
246
246
356
315
360
345
361
387
246
312
327
378
245
386
378
235
350
256
347
346
319
291
310
275
310
248
238
385
306
347
310
351
293
286
337
367
272
343
300
274
294
313
255
305
317
286
377
294
305
283
311
305
289
258
386
266
366
354
328
304
351
240
323
307
242
307
333
320
369
306
421
285
286
281
308
269
333
373
342
370
275
356
246
219
302
337
331
316
362
311
247
323
372
353
271
368
354
323
342
344
359
300
335
300
335
371
362
321
268
363
345
278
291
372
242
276
303
401
356
242
345
314
371
280
326
359
380
332
360
325
412
281
280
303
419
340
298
324
403
292
267
302
367
292
288
362
294
337
277
296
349
329
353
270
322
286
323
314
340
275
286
278
212
267
337
352
343
309
280
361
335
379
299
296
355
369
247
266
302
259
307
272
182
406
276
282
374
312
336
276
305
333
252
397
326
303
309
294
262
363
290
263
228
235
256
232
248
298
430
283
403
374
269
251
315
382
324
295
338
388
287
313
346
267
407
375
428
316
333
392
410
301
304
370
187
289
299
314
299
304
316
328
278
307
261
321
363
328
283
296
397
319
373
293
256
331
230
298
302
300
304
305
249
267
306
235
385
380
297
287
334
379
280
305
318
369
292
295
274
420
301
307
378
361
327
382
353
350
295
272
323
380
251
293
334
333
370
207
357
311
285
285
277
338
329
335
343
287
325
224
267
276
321
291
298
344
349
235
223
322
329
302
337
346
328
332
285
264
220
284
282
350
274
359
312
319
270
320
391
285
311
349
332
273
305
427
319
295
334
274
252
340
291
268
315
248
245
356
281
278
318
370
317
300
351
290
370
304
337
372
260
292
348
362
250
270
275
341
314
330
284
316
296
271
315
344
273
264
325
343
297
315
268
403
328
295
236
269
361
248
292
259
324
339
272
371
334
290
322
351
309
314
321
303
270
282
299
333
350
334
259
346
344
383
362
340
259
286
316
256
297
202
374
365
222
243
352
335
206
327
329
298
225
207
369
326
306
316
281
262
312
314
264
298
293
326
317
288
346
328
316
391
259
285
272
298
295
305
260
343
359
282
355
330
369
368
283
368
355
234
265
286
304
335
345
305
276
292
230
271
242
319
346
364
289
325
343
215
315
282
264
327
360
361
402
354
304
282
293
284
327
343
351
280
355
338
361
294
284
341
314
369
311
264
342
251
243
305
320
351
325
340
348
301
324
331
311
293
282
346
278
388
351
233
265
212
319
305
297
376
337
312
322
392
309
239
378
253
322
304
244
319
338
288
341
348
307
246
333
381
281
271
361
305
333
311
335
346
306
289
321
369
278
348
334
281
308
403
371
259
291
355
337
310
279
362
304
343
375
269
311
280
282
407
316
290
291
332
332
279
356
308
263
310
324
230
329
314
296
374
254
319
330
392
384
219
374
315
226
342
365
271
363
369
257
307
341
376
264
278
273
296
266
317
279
303
291
330
277
347
332
294
372
305
310
390
298
328
260
325
260
306
320
280
311
233
345
314
298
348
343
259
250
352
327
273
243
335
280
258
259
259
256
360
236
258
278
249
268
345
283
292
323
260
238
384
290
346
310
372
312
256
196
274
352
298
268
409
279
380
279
290
297
316
268
329
311
291
327
289
298
277
373
297
303
310
313
243
260
356
329
306
322
315
335
259
320
341
338
320
262
264
302
329
304
256
340
327
354
378
294
253
308
166
300
394
340
287
267
310
310
325
261
336
318
309
380
341
375
278
330
334
338
265
327
264
337
250
346
353
274
371
289
304
384
339
355
248
329
317
282
414
262
327
307
327
335
314
257
303
300
330
352
211
339
338
283
412
267
292
317
320
313
311
297
209
220
346
343
317
356
358
312
335
273
318
262
335
337
334
321
268
295
310
380
287
308
328
380
366
325
353
298
338
339
275
236
375
363
286
382
308
238
283
292
342
331
292
280
311
258
304
364
295
256
352
295
333
296
305
264
332
331
287
321
202
249
353
383
263
357
332
268
296
335
322
289
358
362
303
321
336
194
294
301
246
279
251
325
365
336
213
295
346
301
266
310
231
329
333
343
341
304
312
302
307
345
250
328
260
338
276
322
299
292
264
265
354
383
328
276
344
366
360
333
386
280
291
347
350
268
295
311
354
367
355
318
364
359
322
351
314
274
282
257
287
300
343
291
332
305
342
297
415
405
279
301
380
372
256
273
352
264
335
314
260
301
320
310
261
304
300
279
365
227
383
355
274
253
309
338
293
281
310
308
279
311
365
173
180
291
319
344
311
318
376
349
374
373
341
360
332
326
321
333
333
306
291
265
301
296
325
301
429
338
284
341
239
210
333
316
368
307
333
336
300
368
377
385
325
354
278
381
323
376
219
376
345
361
260
262
283
347
386
379
373
381
248
273
275
359
274
323
272
312
396
332
223
391
353
355
373
358
306
366
294
279
316
339
358
285
323
361
340
306
318
298
283
361
337
257
342
249
312
292
289
280
308
333
263
293
340
177
279
318
245
350
347
250
303
281
209
372
260
256
284
300
271
291
365
407
336
392
299
287
317
300
348
354
319
267
371
316
404
315
417
396
319
226
323
320
297
216
319
288
282
266
350
293
309
297
269
233
256
365
272
231
368
272
312
226
383
365
288
320
360
268
380
269
385
366
264
372
213
309
304
259
218
395
197
291
393
327
437
327
272
329
394
327
297
337
291
286
305
278
295
245
394
397
306
337
360
337
315
290
368
378
288
317
396
312
295
248
310
274
346
296
352
290
338
271
325
300
340
257
310
406
337
212
269
376
237
332
343
292
365
368
283
312
312
347
345
284
334
327
296
343
408
351
357
268
346
349
316
248
308
388
365
314
324
295
388
285
324
307
384
291
259
284
335
258
372
320
322
324
346
288
307
332
279
360
361
345
341
241
364
270
299
309
275
309
368
208
295
342
317
275
231
280
212
386
339
353
253
345
383
348
303
385
343
312
295
257
303
327
280
372
354
316
285
352
340
307
343
359
317
309
351
356
332
268
314
263
342
324
303
313
304
436
230
281
334
301
259
266
290
330
359
343
291
372
308
327
293
365
330
268
363
377
272
301
354
344
331
244
248
338
265
371
338
370
324
289
281
331
339
333
382
309
279
316
253
370
313
335
254
303
297
338
275
298
344
324
321
324
260
369
332
298
323
362
332
290
388
262
265
261
331
258
305
348
283
292
333
271
208
321
278
279
335
328
340
350
343
191
284
334
309
346
241
290
292
298
379
321
262
331
301
345
312
306
353
287
337
319
261
265
357
350
338
274
279
320
375
283
303
328
285
358
299
331
272
306
299
293
373
317
351
314
228
321
291
419
318
234
338
343
291
303
339
247
296
258
318
301
349
274
367
340
292
388
322
366
434
291
281
368
354
294
349
396
299
343
232
328
318
266
309
314
293
383
219
356
313
283
334
321
299
294
299
331
291
345
372
365
308
328
340
229
308
363
339
322
267
326
317
331
328
324
305
389
358
330
271
332
313
361
213
327
379
328
294
249
256
260
327
258
342
367
325
265
351
346
281
210
314
368
289
310
277
376
279
274
317
347
287
297
364
326
369
288
300
342
304
328
277
298
344
289
342
331
342
261
329
280
332
294
325
386
298
268
396
314
354
272
340
282
284
279
404
255
293
276
259
290
253
357
332
391
291
303
324
342
316
282
321
338
267
275
262
288
234
392
281
331
254
278
294
303
341
323
308
226
367
350
289
302
309
281
282
306
404
308
312
317
375
319
326
335
363
264
443
356
273
359
299
338
349
260
269
192
356
312
295
275
279
365
252
315
228
324
348
290
270
241
245
354
264
411
240
257
350
238
341
360
279
398
308
262
251
297
321
354
348
369
311
330
381
303
298
307
314
362
367
363
351
359
303
255
300
347
370
252
246
366
323
339
269
358
374
259
302
307
291
324
309
310
241
287
415
225
244
331
302
403
313
338
383
320
270
280
313
301
284
347
326
234
319
329
264
246
369
361
230
439
323
304
334
355
276
342
271
315
405
261
233
318
333
313
334
338
241
309
198
303
276
257
291
300
330
266
367
311
329
308
268
321
248
341
368
221
322
403
269
330
371
320
345
292
253
262
308
348
354
315
312
366
301
274
305
259
311
300
331
291
290
305
411
230
333
297
195
322
334
310
341
290
269
382
338
333
308
333
318
312
309
316
278
364
278
327
299
375
425
313
412
386
304
316
241
328
318
357
267
361
302
307
355
362
289
240
335
288
354
263
300
297
282
282
338
315
305
296
330
321
312
277
368
310
217
313
392
317
305
338
324
234
326
304
287
311
366
348
227
366
350
289
286
303
288
322
334
369
386
381
277
328
284
321
289
334
332
281
352
290
290
299
276
350
359
286
334
414
286
290
366
265
371
333
369
303
354
273
231
304
296
323
303
342
310
352
374
374
286
361
296
256
327
342
341
393
318
354
254
334
338
269
364
251
304
324
333
298
287
256
308
358
369
297
305
290
273
402
327
263
241
305
300
237
295
291
281
407
373
320
312
281
286
351
329
285
251
347
372
235
326
278
226
311
308
268
353
329
399
395
352
220
271
270
307
390
329
263
230
281
405
357
331
217
337
254
317
309
323
283
334
256
275
378
402
249
268
369
285
337
336
317
386
245
353
304
304
311
270
342
338
330
316
291
295
268
312
346
291
279
255
353
264
400
289
319
365
323
340
360
366
394
325
334
360
309
267
333
332
305
306
398
309
291
328
332
221
353
296
302
354
273
319
315
332
259
277
328
381
305
417
332
252
382
313
309
293
378
271
283
320
401
278
347
320
342
371
368
340
250
312
341
329
346
278
330
274
242
350
343
303
359
342
299
357
296
357
240
267
337
263
359
261
347
345
326
323
374
300
252
380
335
358
334
319
311
331
361
294
422
347
325
276
307
335
298
350
310
318
325
308
303
383
301
352
366
304
271
280
330
388
256
261
334
327
296
330
283
312
259
338
313
369
360
306
273
365
253
354
291
368
308
281
322
262
305
300
320
285
379
343
350
307
291
315
289
296
281
262
269
314
365
258
317
365
331
334
342
290
346
298
339
223
356
400
354
293
350
426
330
239
204
314
287
252
319
259
340
332
280
281
314
290
404
322
267
325
331
254
284
299
309
314
331
338
335
270
345
359
260
326
329
287
325
347
365
362
347
363
282
334
365
300
367
410
348
287
372
327
310
335
247
352
308
365
289
329
342
219
288
262
306
315
353
325
304
352
362
282
358
339
362
274
317
275
279
433
392
282
307
358
240
323
268
355
305
242
381
323
310
326
278
285
232
315
341
315
310
295
329
373
360
363
294
319
343
274
313
295
293
226
280
313
248
311
270
264
269
395
329
289
346
411
336
277
366
338
231
269
295
295
387
319
381
300
364
333
380
282
322
331
275
235
380
280
315
300
283
323
432
295
390
352
250
364
278
300
259
310
369
328
301
230
324
298
309
364
271
324
391
352
325
363
318
376
369
326
377
367
395
323
341
324
363
329
286
292
220
257
267
262
274
297
326
369
240
410
341
298
300
290
369
326
309
319
300
347
367
328
322
344
382
324
272
284
305
273
235
327
254
396
303
246
255
370
349
367
300
263
340
268
314
310
369
254
367
374
296
277
284
333
365
250
376
264
258
361
233
285
339
268
363
333
260
223
336
407
381
357
249
314
351
284
370
371
291
287
330
311
312
314
267
346
337
354
250
291
321
285
359
291
310
299
302
383
341
349
348
311
296
270
242
260
350
289
234
388
322
374
311
236
270
351
336
335
256
326
296
261
322
392
273
254
397
310
267
300
447
393
309
373
312
337
368
301
313
251
290
293
276
276
334
281
288
346
365
371
298
292
327
364
349
343
360
284
352
296
426
270
313
368
333
268
267
315
363
344
306
307
266
339
331
359
318
361
246
372
310
345
184
327
294
360
274
224
327
344
266
330
346
272
318
343
347
337
329
331
364
397
342
393
251
379
280
380
332
337
305
371
352
317
330
337
343
376
398
355
368
295
281
292
309
251
230
323
323
371
300
295
211
308
286
291
289
321
325
316
315
276
352
341
322
353
328
259
282
339
306
375
241
366
413
282
236
309
341
282
375
307
281
268
293
274
289
237
347
347
315
329
268
332
346
392
261
243
332
363
355
267
316
363
343
394
237
344
345
299
325
351
311
181
349
393
383
276
322
277
218
290
366
344
280
346
288
284
355
282
354
317
305
211
349
353
368
272
276
321
299
309
356
361
348
351
243
357
354
280
319
403
359
292
296
356
328
293
285
322
310
365
381
376
403
253
327
323
261
249
331
313
323
353
344
285
282
356
361
294
359
270
357
300
305
349
405
306
368
292
333
280
314
308
315
282
346
263
380
340
398
237
306
317
253
340
327
329
332
231
263
272
341
326
342
257
312
248
320
233
194
339
331
256
381
280
291
267
317
256
333
261
313
329
362
247
260
294
293
291
345
271
252
368
373
326
384
319
307
257
285
346
362
286
330
288
312
301
282
279
292
347
318
276
202
326
331
378
392
340
270
257
338
252
292
295
320
319
290
329
382
274
354
296
355
339
354
340
372
337
273
339
377
262
335
341
281
320
285
323
271
336
315
316
334
290
402
327
309
366
342
389
283
270
422
277
314
343
344
262
293
346
339
384
236
273
337
248
343
234
391
356
303
337
289
329
250
274
363
346
300
246
252
307
351
361
288
314
230
233
322
382
337
276
333
323
346
330
325
365
259
369
326
350
363
252
320
308
307
308
372
260
377
345
363
299
330
311
386
341
319
343
332
305
258
268
277
318
253
322
305
375
309
346
371
291
318
359
347
344
301
365
365
307
300
279
311
220
379
311
277
237
283
301
309
299
263
319
380
236
246
272
287
282
319
346
278
343
402
291
302
331
395
323
268
326
346
278
338
376
305
253
270
246
316
357
320
351
299
287
335
360
275
262
285
220
325
384
297
303
292
275
355
304
328
339
316
253
319
345
348
327
337
268
296
368
243
354
369
259
249
363
294
269
393
296
247
275
336
237
336
356
431
356
392
246
297
355
290
333
375
372
256
351
365
264
346
241
308
317
309
287
272
344
281
285
383
266
317
207
335
310
232
340
370
396
263
329
326
335
345
320
248
285
304
305
272
293
351
330
225
329
330
348
238
312
305
353
382
216
331
360
367
301
297
362
295
271
387
261
313
294
382
373
316
381
312
356
306
330
283
316
268
279
258
297
236
343
280
353
285
299
307
391
273
249
343
284
348
267
285
228
240
312
235
312
287
319
365
293
244
349
357
328
278
328
304
381
349
274
400
286
305
290
296
327
253
368
348
359
359
337
304
416
366
332
304
332
292
265
310
304
376
325
373
350
299
281
265
382
346
226
350
276
256
321
290
366
380
343
221
343
371
323
226
337
357
334
292
343
213
374
253
342
295
338
295
376
345
371
228
287
362
290
426
296
358
341
262
306
230
310
402
361
327
329
278
395
281
376
337
258
407
242
367
294
302
306
268
233
236
351
326
274
338
292
239
302
327
287
410
341
287
433
281
400
221
295
320
336
288
316
334
309
311
375
250
390
282
317
269
348
333
323
355
253
326
264
218
295
281
374
295
386
288
404
285
282
343
333
282
372
289
356
280
378
324
312
355
399
303
380
177
287
350
354
342
322
291
366
338
289
235
312
313
373
310
336
363
335
271
300
283
298
294
340
362
295
341
289
316
263
344
365
379
278
287
355
387
318
411
282
300
337
299
303
370
301
294
342
294
336
312
302
294
300
348
312
344
348
385
297
293
233
310
293
283
301
431
304
380
284
313
370
380
309
278
324
285
405
335
301
359
280
319
326
371
333
403
323
355
364
320
267
272
352
242
330
259
250
330
332
270
341
331
309
279
365
298
282
322
377
235
338
355
321
333
306
304
279
277
303
356
256
290
404
373
245
299
265
286
280
335
327
364
350
416
326
372
311
297
303
288
323
396
296
323
212
345
348
365
296
322
217
361
286
326
372
376
346
295
261
376
301
295
342
280
255
265
352
320
334
370
235
278
251
263
322
226
314
300
340
273
365
255
355
215
375
385
299
279
312
270
362
343
325
368
318
353
272
305
259
388
350
298
324
277
274
230
212
266
274
329
329
356
344
300
318
358
260
337
282
343
253
349
319
309
348
305
350
305
300
280
282
378
343
272
346
331
340
269
269
271
264
362
358
271
274
384
391
410
283
381
323
329
205
353
290
362
387
305
278
357
331
351
353
312
343
292
291
270
362
347
357
217
281
227
339
297
335
314
318
341
262
314
401
290
382
289
262
223
283
271
302
294
238
236
320
234
256
284
310
303
294
380
336
357
293
382
262
325
275
284
271
387
331
301
345
387
357
249
342
280
339
354
311
323
396
396
355
379
321
311
348
297
315
361
260
329
347
337
378
324
348
327
331
243
203
348
295
361
312
307
274
266
349
353
328
220
346
237
334
257
321
322
313
302
306
309
323
336
281
367
350
311
290
339
317
238
342
261
386
337
357
292
275
210
374
353
360
268
331
276
349
333
278
372
387
266
296
232
324
345
324
372
299
374
243
331
309
291
332
338
234
299
311
299
282
275
300
375
346
350
376
290
393
292
303
328
299
361
340
249
247
241
376
366
360
290
388
264
300
290
240
347
310
363
334
232
350
287
341
324
356
288
283
286
345
386
354
332
298
329
244
351
240
378
341
318
268
374
264
373
336
344
340
279
282
291
315
344
295
301
308
284
364
298
269
231
318
338
216
468
254
311
345
292
293
304
294
324
287
387
233
335
336
309
321
312
236
303
300
284
357
367
351
268
233
378
354
253
330
340
397
337
263
393
251
300
349
311
252
382
349
244
331
284
360
281
374
355
361
351
348
303
291
339
224
300
264
355
429
235
350
315
311
335
345
383
375
253
401
228
347
364
363
317
324
271
314
392
279
227
306
266
271
375
317
392
348
360
302
288
264
299
343
348
281
331
346
313
249
318
218
262
288
316
316
287
237
355
282
238
331
255
256
294
369
365
278
287
355
347
279
248
300
349
394
369
332
234
304
320
333
269
208
362
320
267
346
383
287
264
369
374
370
291
363
328
308
175
315
336
436
377
335
276
360
376
295
270
254
248
299
320
319
305
394
276
267
294
315
306
332
299
292
305
222
411
363
258
298
254
254
305
275
327
360
394
434
356
336
392
367
335
359
386
278
314
347
343
307
351
324
342
299
257
307
293
302
329
254
303
303
343
331
303
373
310
353
311
328
387
285
375
280
406
264
391
268
228
214
340
342
399
362
289
351
404
282
342
342
277
295
316
293
264
341
288
314
290
352
386
373
330
312
307
333
211
336
257
380
278
252
250
269
313
350
355
295
291
300
353
328
296
348
309
290
303
272
393
377
289
330
313
290
400
337
288
336
322
323
342
324
349
299
371
332
318
345
323
300
343
310
239
361
252
358
264
259
305
259
352
349
302
304
316
359
288
360
322
292
306
315
335
367
257
281
360
327
333
371
271
261
320
286
327
328
328
289
335
314
337
402
303
341
317
347
258
199
261
323
249
285
282
236
201
262
264
292
323
292
322
335
321
333
320
235
326
342
336
333
261
316
305
266
361
346
251
366
299
317
356
285
386
335
368
308
273
341
313
320
228
301
332
276
329
289
367
360
309
338
287
299
342
395
360
407
246
253
275
335
234
322
308
291
363
252
221
293
318
270
289
238
231
327
388
358
312
275
389
315
297
357
283
307
314
280
328
345
310
348
356
316
301
261
301
341
204
353
236
350
321
332
269
334
358
312
354
303
286
279
213
296
363
242
216
348
317
337
399
304
323
350
261
344
242
282
308
196
322
285
343
355
328
320
288
341
329
293
402
313
304
329
256
351
274
349
246
264
327
327
317
252
284
225
338
282
281
345
303
256
341
234
425
382
283
319
263
249
305
321
334
313
228
251
243
223
377
357
272
266
262
335
347
441
241
250
324
287
362
356
327
266
328
363
350
314
316
282
335
279
316
323
323
278
333
277
318
315
329
234
281
325
311
381
356
346
248
319
367
314
336
306
269
313
310
364
305
275
361
321
275
264
393
360
258
341
304
365
340
368
331
298
218
305
243
279
228
295
302
292
357
322
210
305
290
384
335
259
286
332
317
382
366
340
216
294
356
303
287
354
273
360
369
327
245
342
310
355
346
325
290
258
309
211
401
324
325
336
288
335
339
410
301
336
369
273
301
294
323
361
283
318
244
281
371
365
279
284
373
299
369
314
244
267
278
336
293
327
362
400
304
251
282
284
328
314
248
347
276
330
263
381
370
362
299
315
366
319
277
325
301
393
331
371
250
376
327
326
357
271
326
308
321
284
357
306
205
257
270
321
331
317
335
350
279
322
297
397
191
365
306
313
324
194
299
363
253
341
370
344
342
357
324
316
373
277
280
351
357
361
308
345
251
273
317
281
284
258
339
379
299
217
372
243
360
285
291
388
298
352
289
308
319
223
333
305
296
342
301
336
328
345
317
419
311
298
327
259
383
374
351
304
338
293
295
429
361
290
359
292
296
377
367
275
301
283
309
360
361
273
295
322
340
261
413
348
308
310
329
334
306
317
321
323
273
324
354
375
338
323
220
327
318
259
334
417
302
383
307
235
310
254
278
336
269
331
353
380
291
189
372
344
263
286
362
312
334
312
197
238
288
364
312
285
296
347
341
342
324
253
294
341
337
350
365
364
319
299
416
310
353
231
313
415
403
331
284
296
317
302
384
332
397
358
263
247
238
379
312
363
310
277
342
352
301
290
259
322
246
317
289
267
322
397
293
319
299
249
317
312
247
299
320
319
320
327
309
309
317
275
367
251
217
303
348
276
323
372
307
283
373
288
350
372
313
281
361
356
298
325
351
299
311
350
299
274
368
300
323
335
265
306
355
345
370
240
397
316
272
315
349
336
302
291
373
327
331
289
359
250
300
337
388
324
284
291
353
270
263
386
342
331
355
313
427
279
261
343
268
335
370
383
354
340
343
291
317
394
287
266
371
257
250
269
270
309
372
318
281
319
295
323
221
358
345
287
325
333
284
252
243
300
291
241
290
337
335
259
350
275
232
337
373
366
360
352
306
299
340
296
339
305
321
310
295
372
244
345
321
296
405
301
304
357
322
370
311
303
300
346
440
287
282
293
304
264
333
268
319
329
298
371
366
302
305
310
308
183
255
225
345
273
387
363
264
340
319
372
203
270
424
322
358
353
257
321
407
297
283
317
348
324
323
327
267
292
352
392
319
403
273
319
289
275
271
322
379
263
412
305
329
363
319
297
301
241
312
304
344
344
255
349
321
326
346
370
260
349
369
267
295
251
312
332
313
356
294
244
316
230
262
257
359
293
256
297
262
314
251
238
308
335
291
262
278
340
360
226
322
299
354
297
374
348
373
344
327
274
250
374
328
307
305
387
262
334
320
346
322
274
338
225
325
235
239
282
267
291
349
300
213
354
304
306
350
320
334
357
298
342
301
291
351
388
220
374
269
275
345
267
301
399
324
391
299
286
283
308
284
275
295
344
334
282
363
199
378
386
281
362
258
304
256
302
282
384
212
369
290
252
342
377
297
276
331
315
360
241
356
286
375
304
319
204
258
306
296
378
327
308
287
225
341
362
368
430
218
282
301
313
338
303
368
328
310
279
274
350
290
365
284
275
290
336
289
278
308
382
225
341
329
299
237
323
360
372
305
303
342
288
325
263
286
355
272
295
349
346
188
347
324
252
322
330
353
239
347
307
334
252
299
322
251
329
319
315
364
355
287
398
302
341
336
357
209
219
331
247
344
288
359
323
330
326
338
368
312
342
335
323
305
252
358
324
261
271
336
332
354
372
267
263
325
284
356
267
268
348
183
358
271
317
247
323
234
335
272
372
328
216
269
307
313
305
346
288
266
359
274
347
322
362
289
305
331
289
251
228
356
335
322
324
388
287
254
308
385
342
251
358
338
326
227
247
302
328
330
278
264
389
267
372
338
240
298
208
316
368
328
311
357
385
374
221
420
387
296
303
300
317
310
424
336
250
224
316
325
375
349
359
350
265
338
334
327
321
380
317
350
302
322
252
343
328
332
305
319
296
354
351
314
343
242
255
414
314
384
319
361
342
278
345
337
278
241
330
276
348
302
405
424
347
408
258
297
398
349
330
283
284
203
356
275
274
250
334
275
359
349
365
289
305
335
227
415
349
349
249
213
294
285
268
319
327
366
277
220
298
320
364
353
369
358
277
201
237
310
304
292
207
280
366
339
298
173
308
298
384
295
320
319
341
287
359
365
367
384
340
298
346
241
362
292
321
344
314
336
355
284
295
322
345
363
318
396
293
342
270
371
304
362
281
348
332
315
385
320
392
348
274
291
393
274
337
285
388
333
369
289
357
370
329
336
237
357
328
421
375
338
270
275
268
355
354
317
355
380
333
337
331
302
309
295
269
351
317
263
250
320
390
265
343
304
333
365
271
329
316
335
300
348
315
234
366
281
296
218
402
268
358
251
355
309
223
359
279
293
346
325
407
360
308
355
287
357
291
269
267
290
320
262
287
300
319
285
253
304
276
340
406
313
396
366
273
285
328
273
357
363
362
287
371
319
376
401
263
398
294
336
325
342
305
329
314
240
225
374
261
311
284
391
320
299
280
411
273
359
227
379
237
348
378
332
288
219
368
282
328
333
340
270
241
399
373
320
295
255
281
303
304
312
354
350
344
349
305
393
282
345
257
338
335
256
346
315
297
258
275
346
309
322
315
281
240
336
278
325
259
343
349
332
379
294
336
391
351
341
231
280
290
301
305
280
344
279
244
294
397
311
298
319
270
296
417
370
383
222
299
352
310
369
311
341
366
310
329
272
335
264
339
346
343
335
367
252
413
299
375
363
345
328
346
248
389
306
395
364
277
297
386
311
309
329
341
300
334
353
295
335
316
307
290
323
338
215
265
260
340
339
230
286
304
243
344
296
315
335
298
304
293
341
276
282
316
281
276
313
344
280
316
342
270
350
248
224
318
343
400
281
366
329
328
382
320
329
328
296
287
334
330
281
303
234
346
359
256
332
383
294
341
295
312
346
270
287
357
274
308
248
294
351
317
274
252
263
247
304
368
310
404
223
374
322
254
409
330
335
386
313
331
328
371
372
382
321
373
302
408
268
266
275
370
387
275
298
357
257
273
285
357
320
318
313
353
351
229
267
263
326
297
318
284
267
399
307
350
300
238
322
365
298
337
277
302
249
316
297
351
265
274
249
335
359
304
351
363
339
291
324
295
412
325
300
314
291
275
347
375
302
363
346
369
296
304
320
311
324
230
284
334
335
270
327
375
314
337
365
352
303
288
259
304
285
244
360
373
272
405
307
267
236
368
268
313
336
407
256
329
406
457
369
267
357
262
208
278
309
344
323
304
340
374
330
340
382
217
377
430
339
362
324
272
307
309
348
215
283
332
307
295
374
307
253
303
295
270
295
231
373
252
401
358
269
404
251
356
281
308
334
357
302
217
236
285
361
339
361
328
368
288
314
365
277
225
291
242
349
380
333
351
304
296
324
277
262
379
338
349
289
255
277
323
331
331
386
318
331
330
365
307
321
265
271
320
310
292
278
363
295
362
339
438
276
323
260
341
357
284
291
400
335
278
375
272
262
350
343
276
317
339
276
334
315
293
327
351
235
265
394
357
302
340
346
317
330
287
306
307
294
295
324
369
323
277
248
270
390
295
234
339
327
341
308
276
300
287
321
300
404
255
229
343
297
296
276
339
337
231
300
254
378
262
381
289
320
287
313
245
221
351
343
299
280
296
267
371
254
364
274
328
263
275
349
283
344
281
332
319
376
279
325
252
289
337
237
319
331
290
315
285
281
385
281
235
308
369
261
326
328
265
250
369
351
347
333
265
274
374
331
293
314
349
297
338
360
244
300
327
353
375
347
373
273
364
380
228
290
289
171
239
403
309
341
242
327
324
369
369
259
373
347
241
323
385
321
318
237
349
315
362
356
266
221
279
342
268
338
248
347
315
286
325
308
360
285
326
315
336
396
381
345
272
275
283
372
307
281
348
320
306
325
295
273
361
315
370
231
380
277
358
426
404
292
327
220
376
302
358
316
288
357
430
344
330
378
322
351
328
390
304
239
249
278
310
232
323
363
315
268
299
318
234
252
337
287
307
273
237
228
335
318
316
347
286
334
230
347
293
272
314
349
262
324
299
335
280
330
313
341
316
355
340
260
289
224
353
280
244
371
373
326
230
287
309
285
337
352
307
386
325
304
343
290
271
314
343
310
308
302
377
346
344
387
321
335
270
316
339
357
370
301
309
308
339
336
367
261
265
362
318
325
267
339
333
325
351
381
313
323
359
348
341
331
351
336
309
344
356
353
267
375
241
375
316
326
289
273
371
284
261
357
376
301
319
335
345
377
356
356
246
385
282
268
297
324
291
311
349
215
252
257
304
277
338
407
419
350
390
329
311
408
325
324
340
232
350
268
345
317
244
337
386
301
305
326
311
240
272
300
315
366
276
304
343
290
338
221
326
362
279
375
293
279
402
285
332
320
392
251
326
375
370
302
328
249
321
295
245
229
410
263
354
281
267
341
293
306
290
330
297
239
344
373
376
354
377
297
256
379
279
290
425
277
384
280
218
333
345
309
337
402
254
357
269
388
320
348
313
247
309
365
285
346
297
358
319
309
331
327
325
323
335
326
390
365
298
325
307
235
277
286
277
243
344
327
311
295
272
346
227
371
354
333
297
355
255
288
290
332
309
283
382
308
272
310
302
315
322
303
298
341
346
358
260
273
303
276
332
356
360
260
296
337
298
299
264
396
311
301
307
355
317
320
384
299
344
373
330
330
317
346
325
390
312
332
304
318
279
309
268
346
260
238
347
376
319
342
312
379
380
345
338
384
311
321
291
326
273
349
221
383
393
306
325
354
273
356
299
376
397
320
331
292
366
243
311
372
363
353
372
322
315
330
322
317
390
421
286
306
354
299
266
298
348
357
334
342
326
202
293
269
332
376
295
326
310
252
369
242
260
296
310
324
358
349
312
334
331
390
294
287
338
232
341
392
331
332
331
273
376
313
265
241
307
336
337
270
252
338
336
360
382
375
354
329
322
284
286
271
381
342
339
303
256
291
409
370
379
319
328
333
284
258
291
271
300
293
356
376
291
399
197
289
347
322
315
356
312
340
334
275
382
376
388
289
294
306
309
327
337
336
394
322
333
372
354
304
370
346
319
288
261
258
260
280
305
337
203
264
259
335
225
332
276
351
323
367
300
326
346
359
305
367
430
332
233
389
261
353
306
355
272
316
351
320
335
263
273
230
351
284
226
269
320
336
335
322
361
386
329
262
350
345
222
367
307
378
294
321
382
368
306
301
312
319
402
365
340
347
351
332
323
293
391
356
254
371
343
293
307
294
263
355
361
341
328
304
386
242
276
340
290
222
329
321
305
318
308
385
377
337
267
378
279
281
343
286
284
294
286
356
305
274
306
327
270
330
239
256
249
311
371
323
273
288
337
324
393
259
273
290
335
361
335
247
289
307
346
305
292
332
353
339
279
338
250
361
280
364
390
375
365
287
258
380
367
308
293
296
259
342
342
382
301
238
330
314
310
274
314
321
299
299
290
404
361
328
326
368
353
299
267
301
326
292
266
317
319
265
371
299
266
298
307
373
310
287
338
295
332
354
363
346
325
328
257
297
352
407
299
338
346
295
385
345
362
354
311
309
217
310
301
265
355
347
314
295
325
228
318
347
360
309
392
260
431
253
297
301
326
359
334
278
246
424
321
375
333
386
393
337
315
269
330
368
287
284
314
365
297
326
357
306
246
329
312
301
347
376
292
320
314
351
371
296
287
291
338
268
300
339
315
381
249
337
260
323
299
307
265
350
332
320
342
343
291
410
349
335
337
319
263
271
309
299
244
305
273
221
355
346
246
344
352
319
352
291
289
253
309
215
356
307
321
355
295
306
324
275
331
393
389
248
306
309
291
358
384
397
341
362
307
262
319
313
302
349
311
339
380
320
385
361
305
356
370
317
278
372
306
305
379
368
273
300
286
300
240
337
289
309
255
338
282
360
289
337
308
300
366
325
228
221
274
291
366
271
366
319
352
282
276
324
272
284
379
323
365
317
354
352
357
340
327
320
350
320
225
303
380
299
299
361
345
342
163
326
326
316
319
228
323
237
275
371
343
300
348
319
348
318
389
227
330
270
282
277
244
279
367
304
360
299
381
268
333
297
323
305
284
310
305
397
357
280
277
288
284
250
338
277
282
289
335
319
280
363
291
388
275
376
408
222
293
297
281
317
352
295
371
302
350
351
265
322
237
269
314
236
331
279
335
313
305
355
353
345
279
344
280
311
348
264
299
315
298
374
272
290
305
329
302
274
312
370
328
306
304
340
299
267
292
358
317
297
318
307
285
355
375
379
361
320
289
342
273
224
266
441
400
268
392
239
333
323
376
326
312
241
322
336
272
237
359
339
222
266
280
330
262
360
352
268
318
269
367
273
339
285
323
310
304
337
288
275
288
376
251
462
321
287
389
319
357
296
355
332
301
341
264
344
282
347
325
288
249
300
410
257
377
321
350
311
297
327
397
278
309
385
307
390
339
361
304
349
348
415
205
403
387
343
252
362
308
317
272
410
276
286
352
291
209
280
243
375
293
386
297
355
243
302
401
305
312
216
310
327
294
295
281
345
170
314
362
391
351
338
307
347
311
246
260
330
247
263
242
277
262
241
338
326
317
300
376
320
259
307
334
336
325
369
281
228
314
299
283
362
333
229
312
398
331
346
385
269
316
315
297
248
340
293
318
280
272
379
345
255
345
310
345
338
339
299
295
244
337
314
334
320
315
324
238
280
358
312
420
362
396
291
305
392
305
281
365
386
326
326
246
292
357
241
291
325
315
280
313
330
281
340
390
327
270
282
399
360
291
278
285
310
276
377
288
283
356
374
389
282
237
261
252
374
376
168
316
336
395
396
273
374
319
340
347
294
249
294
220
313
255
341
427
406
386
270
359
260
278
292
343
306
353
255
247
318
300
292
293
204
288
294
402
366
404
386
342
320
270
213
350
288
369
311
308
456
309
334
295
296
261
319
381
243
287
297
231
374
308
323
338
333
356
319
303
295
373
263
386
285
335
308
407
357
312
313
273
340
319
258
268
261
320
311
321
252
271
374
289
288
354
315
216
269
322
320
335
379
298
348
278
296
354
240
313
371
371
310
390
386
284
282
324
314
268
337
271
295
337
356
283
311
280
268
296
293
326
249
313
407
248
308
292
264
287
316
353
304
297
357
350
366
224
274
239
330
290
325
319
292
288
384
316
303
285
256
272
389
307
255
286
326
378
295
364
326
298
412
266
331
319
424
351
294
303
393
243
346
357
346
276
267
319
254
349
363
288
321
374
314
327
324
332
379
303
315
353
316
290
283
301
289
296
341
248
304
320
234
315
341
355
333
393
266
363
410
326
296
347
379
394
364
294
371
296
307
328
334
333
297
357
298
250
325
403
346
324
311
308
292
349
307
309
379
306
325
230
312
264
324
339
271
308
280
305
375
279
391
251
333
296
263
287
246
308
324
378
374
313
295
287
386
314
275
364
422
231
366
272
316
303
267
309
312
300
385
280
312
321
365
252
292
244
387
247
322
298
314
338
295
388
235
305
230
359
378
215
361
369
372
303
176
277
285
407
323
279
323
369
358
324
288
377
328
332
293
386
303
286
322
255
329
334
274
313
293
335
273
326
215
269
301
325
371
335
309
349
293
351
336
287
353
341
322
289
350
302
280
321
282
281
342
290
325
361
342
286
356
314
304
313
289
231
286
357
337
391
374
266
243
333
333
318
381
255
264
233
308
303
298
342
273
303
260
254
328
250
359
335
318
293
344
340
302
379
294
341
257
437
356
283
367
316
412
401
224
381
376
386
229
380
268
339
289
302
355
265
304
338
317
312
292
344
277
334
383
383
336
317
276
319
291
239
256
283
231
406
297
329
288
367
371
294
287
316
291
275
278
305
373
357
348
266
246
294
155
322
312
280
326
352
299
338
356
289
363
329
233
262
341
401
293
256
330
370
303
367
319
269
359
272
381
375
327
292
307
369
347
315
283
319
273
374
356
288
321
252
360
250
285
385
243
283
314
303
348
293
268
420
313
290
221
297
324
258
295
366
285
270
284
260
264
391
292
297
267
336
304
296
345
322
374
302
253
258
349
302
303
365
357
361
326
344
247
332
242
397
347
310
420
311
263
283
314
258
313
394
357
278
197
348
377
351
319
371
349
266
391
220
284
406
358
322
345
335
274
305
292
335
271
329
347
289
252
288
375
340
299
294
317
343
329
335
215
292
299
415
338
334
342
364
291
294
269
283
364
342
300
372
281
259
326
235
364
342
328
291
348
308
333
301
289
339
337
311
325
270
398
362
370
348
356
302
304
318
356
356
310
294
264
352
265
427
326
288
333
295
274
287
410
247
361
361
283
304
372
399
306
357
331
301
355
385
275
376
346
256
349
390
305
369
344
384
304
256
287
369
366
264
369
337
232
351
261
225
384
379
315
315
342
322
311
359
272
255
251
369
342
315
335
282
322
294
337
335
322
320
367
246
255
300
383
304
374
290
301
363
238
259
337
347
304
268
344
303
247
253
234
227
347
351
352
357
200
309
382
415
357
365
312
273
255
346
408
375
305
293
286
311
280
361
328
228
316
337
388
292
301
360
295
297
345
358
291
327
252
335
289
363
315
271
335
288
262
243
349
261
307
297
336
309
375
289
299
290
372
358
368
350
270
268
357
275
256
281
333
303
280
272
329
264
387
350
283
330
351
296
297
319
252
252
350
302
260
262
266
347
305
340
262
290
257
339
353
354
266
294
279
323
325
257
290
380
391
313
314
320
357
374
295
393
309
376
326
283
290
271
355
273
252
322
346
330
225
317
265
271
343
291
320
307
304
306
277
388
300
341
234
385
321
319
299
347
353
272
228
304
300
349
228
259
334
235
293
274
260
296
309
228
359
280
305
387
271
313
339
348
346
263
272
292
230
347
295
284
315
373
290
412
312
309
296
297
258
293
354
361
274
319
258
322
269
298
401
292
277
315
287
262
321
351
309
377
285
278
279
332
339
274
325
276
283
294
332
293
259
361
362
314
336
309
359
313
275
377
276
390
331
331
270
296
347
379
343
327
299
319
239
360
333
247
335
332
294
369
331
233
366
298
331
267
335
327
255
247
371
270
285
364
354
308
349
250
302
351
312
356
314
310
344
257
267
339
364
259
298
333
348
341
343
312
225
415
308
373
340
212
311
337
234
320
321
290
329
308
268
276
270
346
361
314
244
371
320
269
291
348
300
339
308
311
284
328
323
289
310
327
337
333
308
349
292
218
248
381
324
418
282
360
298
308
320
257
295
310
262
273
347
350
291
321
288
343
304
327
275
391
296
251
284
274
280
325
288
325
247
277
330
272
332
392
287
345
344
333
285
398
348
282
268
313
318
308
282
315
329
348
372
302
329
354
358
281
336
322
298
337
261
227
228
271
316
324
302
252
200
337
359
381
312
288
301
363
304
270
347
321
319
350
335
255
261
307
319
257
330
312
328
339
375
236
281
275
342
326
236
380
279
301
336
347
307
268
319
340
329
272
296
291
278
314
301
363
300
240
293
368
324
284
301
373
262
292
297
325
247
333
304
306
285
315
419
312
227
269
313
336
326
299
260
388
333
292
344
330
323
290
276
291
290
326
339
348
266
319
357
348
342
312
323
286
246
283
308
354
299
356
306
304
347
418
319
396
408
342
229
336
316
311
323
348
269
269
338
373
344
381
275
292
313
317
344
296
336
382
349
397
258
304
379
407
397
316
310
326
412
374
340
219
284
336
344
169
318
325
322
321
276
336
342
373
336
318
407
339
316
333
290
241
361
332
251
280
286
360
201
305
284
381
295
290
389
364
293
390
240
299
280
355
399
376
278
364
352
254
335
246
302
307
324
342
321
279
279
248
225
322
286
253
228
385
346
330
296
306
197
307
355
374
334
248
328
249
367
340
365
324
351
343
262
306
235
355
258
339
345
334
264
327
323
331
308
340
373
367
351
290
291
354
323
307
351
312
348
339
289
264
260
312
281
317
307
334
377
333
360
238
321
330
283
329
300
249
341
357
328
351
303
301
269
312
295
324
259
299
391
283
198
269
324
268
313
243
354
259
380
383
256
249
344
283
370
302
232
289
350
230
367
302
403
325
328
291
269
344
306
290
297
328
206
290
358
275
346
324
243
292
320
314
283
288
354
444
262
345
312
299
338
273
298
323
236
306
304
331
405
288
328
328
314
283
275
238
282
245
248
309
316
298
306
243
254
233
258
328
341
337
308
258
260
297
360
312
358
276
372
298
235
357
322
375
290
378
289
367
367
281
330
359
323
369
329
291
287
340
363
317
279
310
292
383
290
342
280
306
305
276
286
296
250
224
314
271
396
354
381
238
363
369
311
327
254
298
274
368
301
341
324
292
331
315
273
309
348
308
335
334
343
283
369
284
323
245
375
255
284
297
271
288
335
340
335
356
331
386
280
322
216
338
316
327
340
263
305
251
217
283
344
335
290
243
287
329
345
313
346
337
313
344
258
247
403
304
239
298
384
335
312
282
368
288
254
168
311
294
305
313
309
354
313
348
325
275
196
366
343
252
392
308
350
267
340
318
334
369
308
392
327
297
325
300
308
352
337
391
299
412
257
303
385
253
315
208
231
160
340
305
414
317
340
346
316
424
354
279
317
266
263
336
323
322
342
347
367
301
241
300
330
301
304
325
202
300
360
286
262
316
318
284
329
261
297
263
312
280
391
357
216
348
348
251
335
301
362
370
326
292
326
303
304
315
305
272
273
285
356
338
230
281
319
335
393
324
342
348
352
361
316
290
339
339
291
274
375
309
319
314
360
413
391
257
237
246
334
341
332
358
325
321
297
283
409
291
255
348
228
345
306
342
358
263
224
341
291
399
332
285
179
339
305
313
312
288
357
355
221
356
414
282
343
409
324
398
317
280
317
263
258
288
250
258
367
301
333
342
267
328
223
276
287
295
282
270
235
307
300
370
333
254
357
294
292
361
389
358
351
259
371
323
323
369
309
287
308
319
251
337
306
211
330
315
355
317
332
242
358
321
373
329
381
446
395
372
253
279
326
398
325
306
280
291
397
299
282
287
383
354
369
351
303
347
287
336
321
331
257
404
318
279
304
285
308
292
362
323
279
217
371
279
265
397
352
391
355
377
284
307
236
307
331
349
327
337
283
202
309
353
353
319
346
361
272
324
358
365
301
345
262
364
375
389
357
335
398
354
346
378
327
328
375
366
351
294
294
314
323
377
345
353
336
273
331
307
359
228
282
227
398
290
301
309
346
300
283
384
354
276
284
341
311
322
295
370
285
359
362
283
322
279
300
248
363
394
318
320
322
337
297
294
240
277
234
340
224
289
333
348
295
375
367
254
247
352
317
341
381
317
305
368
371
314
333
230
308
271
336
314
310
261
300
388
305
331
271
293
266
285
211
246
320
305
279
335
265
343
327
312
326
277
317
368
312
345
388
316
355
258
268
371
288
323
211
315
272
318
296
317
260
338
303
362
253
326
340
339
345
260
258
391
372
368
250
283
338
377
382
326
336
332
340
357
337
305
237
286
355
368
313
379
266
327
302
284
348
298
366
315
329
302
224
337
289
306
250
256
328
294
335
416
320
366
195
361
270
328
306
328
382
343
357
346
306
321
346
278
272
300
261
319
277
363
343
297
304
311
194
288
338
376
326
322
304
236
325
287
259
312
313
369
290
260
369
251
295
256
326
330
296
355
305
301
367
295
354
322
270
285
324
300
356
247
236
306
290
375
362
303
304
261
357
338
315
274
283
404
233
281
364
294
412
308
252
323
268
260
328
369
263
340
281
302
295
380
382
311
328
343
256
353
350
237
314
229
305
330
282
371
316
344
342
273
270
265
366
337
254
332
350
314
335
405
372
403
334
340
195
353
302
314
263
342
268
322
197
289
363
373
275
281
323
322
331
341
281
301
282
214
312
291
295
415
287
339
290
348
376
340
302
355
243
316
321
321
361
270
290
333
331
313
328
269
283
346
389
338
317
322
322
378
319
346
229
311
309
247
407
284
272
320
285
296
323
285
299
383
302
312
350
359
353
316
340
403
313
338
352
359
323
352
339
350
300
360
347
261
291
311
277
331
291
199
304
351
295
357
304
314
319
310
369
353
353
345
363
316
321
353
330
449
315
352
269
348
214
329
321
365
309
346
341
330
389
278
348
336
296
272
399
371
314
314
342
336
355
277
220
343
233
346
304
298
311
363
378
309
308
299
320
323
242
306
351
289
284
304
349
340
285
350
307
301
276
305
304
369
185
272
358
305
335
335
371
263
320
342
354
291
361
425
307
310
248
312
319
284
277
332
343
358
256
358
255
360
312
303
146
218
301
311
345
347
342
306
305
232
330
248
343
318
267
267
355
241
300
351
281
227
287
265
317
259
315
467
312
315
295
315
279
320
274
354
287
298
340
314
176
353
405
295
331
330
345
287
338
326
190
356
325
238
301
248
390
273
270
303
270
267
347
310
353
269
369
388
353
329
250
268
317
325
317
364
320
293
285
307
329
326
333
281
333
373
366
395
349
397
389
400
343
255
303
331
341
364
382
372
398
306
293
268
215
404
246
267
318
313
232
291
342
300
334
342
327
264
359
302
242
325
305
355
349
405
341
298
250
355
414
323
336
279
352
256
280
338
339
243
345
312
323
302
289
225
360
294
289
372
374
333
336
323
291
410
358
344
341
334
287
351
359
333
378
217
231
274
311
362
404
252
334
327
331
310
357
236
242
348
370
261
225
336
368
367
278
338
338
362
299
343
368
266
355
314
318
314
202
297
289
344
328
351
314
360
306
262
326
270
292
251
302
253
242
312
263
313
277
332
344
243
340
311
254
358
300
394
405
272
332
294
188
311
375
310
376
338
356
307
216
328
320
377
308
329
328
346
409
302
390
272
320
322
358
322
391
329
336
284
343
333
348
305
318
298
341
308
270
313
284
310
263
306
277
293
352
320
288
339
341
338
277
355
302
296
260
223
304
315
427
366
232
326
349
331
334
306
254
268
271
260
364
378
344
237
282
301
334
305
252
398
288
306
324
329
273
302
294
377
330
271
324
283
233
309
319
336
304
265
301
318
271
308
271
265
310
316
327
352
264
337
425
306
404
398
309
349
337
250
310
265
303
258
377
310
302
367
382
238
297
280
307
363
278
290
300
321
304
296
327
290
335
315
329
263
336
313
282
343
265
307
342
288
232
278
237
267
343
336
345
336
350
332
298
324
347
356
276
311
319
340
401
319
259
352
407
263
325
279
360
279
325
315
317
311
268
354
353
261
309
302
273
256
335
287
256
347
362
269
280
344
363
380
256
284
303
287
310
315
274
221
299
264
213
305
132
263
278
196
268
312
260
295
310
319
294
310
234
335
316
289
281
260
294
402
370
350
288
334
330
352
268
255
336
320
335
342
316
301
273
359
255
320
300
262
396
377
348
371
311
283
274
277
317
347
194
391
232
359
222
315
288
317
325
326
359
335
173
306
354
330
330
300
345
270
280
344
254
251
320
204
240
373
190
393
297
362
323
352
354
380
314
232
302
314
307
227
316
294
341
274
224
341
386
335
334
316
321
285
283
315
261
319
326
308
272
371
381
243
372
324
279
300
381
260
356
325
369
330
362
321
317
320
289
383
246
279
316
306
321
345
387
401
256
332
252
365
386
198
365
349
302
366
237
357
223
346
268
264
394
333
284
353
415
383
225
343
337
307
281
309
342
247
402
364
232
312
244
406
355
267
293
327
365
368
304
291
312
341
286
288
393
218
328
280
240
335
337
282
307
224
367
333
290
245
280
340
256
434
253
274
340
315
359
303
316
320
302
290
269
365
390
272
322
350
341
331
267
364
325
359
318
277
373
312
237
358
322
330
307
259
297
279
316
377
319
243
295
239
226
239
271
368
276
290
240
340
368
334
382
271
344
301
329
382
305
288
285
236
265
225
261
294
293
292
288
246
333
312
347
300
291
332
246
341
252
395
206
311
363
268
317
318
340
327
217
391
375
298
318
331
316
230
283
308
312
297
300
331
309
247
269
307
281
250
308
271
331
297
304
264
292
374
363
307
266
262
467
349
345
272
295
312
311
296
270
314
300
341
328
315
238
307
215
181
373
338
304
235
308
317
283
329
347
394
367
300
359
419
350
243
284
246
276
265
307
296
308
299
170
273
276
313
282
316
276
299
232
361
271
338
402
341
312
363
349
366
329
258
295
319
298
366
288
282
195
286
254
382
305
306
367
276
296
357
324
324
317
280
318
319
320
413
342
325
348
340
343
328
379
332
290
325
283
383
404
310
289
342
313
335
316
288
272
318
279
359
340
290
325
288
337
340
330
268
315
340
273
362
351
298
319
347
280
266
331
392
340
269
292
216
369
365
339
239
352
171
284
185
333
251
340
323
374
287
328
279
265
331
213
294
376
368
311
278
309
324
278
312
231
351
311
284
373
336
273
407
290
277
289
286
273
337
260
365
320
402
322
343
316
374
378
360
325
335
250
344
359
245
337
310
296
314
343
283
325
313
375
344
296
394
361
306
365
366
291
305
289
376
288
337
335
331
346
340
331
253
281
363
296
330
368
363
294
283
323
316
313
352
353
323
314
338
358
262
236
424
368
313
295
380
236
373
299
335
350
330
392
364
316
237
359
266
219
365
329
331
294
359
346
307
326
338
408
226
369
327
317
314
271
237
288
305
369
292
297
247
276
355
364
326
306
340
300
306
251
292
368
311
277
319
315
343
360
325
377
315
313
373
315
299
357
262
199
373
360
365
326
345
355
330
233
283
303
281
319
303
283
329
310
278
361
308
400
332
296
291
368
274
265
241
272
328
296
366
333
277
339
299
275
285
284
372
326
311
299
378
339
350
372
292
274
260
334
311
337
346
317
295
325
263
310
309
389
341
324
372
310
258
347
301
287
266
352
298
308
308
355
314
321
303
338
314
348
326
248
300
318
333
334
337
288
201
373
302
418
300
274
345
353
294
314
293
247
288
323
268
250
344
370
415
290
315
357
265
354
254
337
312
351
320
232
354
373
369
389
303
327
282
346
333
302
382
375
338
291
289
311
269
273
381
248
262
267
299
303
295
302
298
274
341
333
262
303
309
314
271
294
395
376
303
381
332
254
323
306
372
241
406
347
311
326
295
282
358
244
286
301
289
312
257
383
339
333
305
287
285
330
293
248
349
350
250
373
334
300
368
311
337
242
379
314
305
321
385
404
344
317
395
289
318
258
319
310
411
365
324
327
364
328
285
343
370
300
319
359
385
251
243
339
342
245
360
338
326
279
263
342
319
327
265
321
308
293
342
300
325
302
288
359
349
359
394
330
303
356
345
320
274
348
249
331
386
374
265
344
287
285
380
288
294
247
358
301
283
318
346
238
287
249
333
283
312
271
325
387
278
391
355
341
357
296
271
335
314
374
342
329
337
312
249
286
386
301
361
408
349
388
328
381
278
377
225
301
282
334
317
289
323
339
388
396
266
327
307
363
282
343
252
292
292
319
312
351
366
380
338
292
346
336
277
316
279
262
405
348
273
311
269
323
322
353
344
305
262
312
318
323
370
301
398
414
330
350
352
295
338
356
226
349
332
391
296
291
309
353
317
309
290
353
388
355
219
235
237
369
389
346
326
342
306
310
379
328
347
269
290
319
305
188
293
328
282
351
367
320
379
318
244
270
333
351
278
368
338
306
280
362
343
386
388
327
269
345
341
264
342
236
291
269
365
260
342
346
328
344
311
362
331
239
368
378
298
351
374
312
327
349
332
351
325
173
311
344
343
299
309
292
279
327
362
455
364
359
309
283
205
369
366
293
268
233
276
293
303
368
356
319
302
335
366
386
370
292
266
343
366
289
370
349
262
402
309
373
240
304
281
321
300
355
303
295
339
258
364
287
340
350
272
391
361
311
343
301
331
332
245
288
310
311
364
416
314
335
314
422
309
320
391
263
319
348
236
284
299
319
265
287
300
263
391
313
233
226
290
314
277
346
346
266
310
377
289
309
305
347
299
287
379
348
320
296
287
326
363
332
314
329
325
401
291
229
284
337
225
354
290
380
364
306
347
264
393
306
246
315
271
329
276
286
405
374
293
289
280
302
311
294
276
275
308
259
387
319
305
303
305
345
277
325
412
295
290
300
230
310
268
353
242
344
335
280
295
265
321
202
288
303
355
270
355
348
373
324
306
335
279
217
233
337
273
243
341
340
322
310
320
305
331
343
355
364
266
370
314
353
288
318
345
313
278
258
301
255
340
299
239
351
281
302
369
283
338
286
242
322
299
303
345
311
279
302
295
324
367
300
354
183
292
292
384
253
354
376
368
240
241
336
333
348
291
235
256
306
310
342
215
305
350
384
273
269
295
330
369
334
295
364
369
303
240
292
313
366
288
296
322
347
429
324
313
323
268
325
291
349
265
318
336
258
311
323
315
364
302
309
298
337
311
298
307
301
405
330
305
298
287
307
347
359
302
278
259
343
326
392
324
396
259
282
223
320
264
360
295
231
305
325
372
262
358
365
355
351
276
265
326
370
417
244
324
321
300
282
320
385
382
225
274
340
395
326
319
370
316
274
351
267
314
264
376
364
275
327
239
333
376
345
313
336
336
300
326
326
268
353
385
378
226
183
378
310
292
348
336
339
342
297
407
308
285
240
315
337
288
290
326
260
330
254
242
353
309
252
343
325
379
304
248
359
303
353
307
316
366
275
341
301
312
413
234
343
359
267
321
258
273
413
310
319
285
351
354
290
326
261
230
227
309
395
340
329
261
305
374
337
351
375
310
421
285
262
346
356
325
317
410
274
361
263
369
336
332
313
212
304
357
340
320
277
395
311
215
328
286
352
266
324
364
371
324
338
314
275
321
372
289
376
314
357
344
378
329
287
310
261
269
325
337
295
270
314
273
277
396
207
230
390
275
326
262
283
310
317
278
295
287
317
291
366
282
369
298
333
351
403
329
378
246
409
346
321
298
368
254
325
357
309
356
341
351
402
326
313
232
306
226
307
281
360
305
331
282
382
333
354
291
328
293
311
282
323
315
336
326
400
297
279
236
319
359
244
325
329
380
289
374
350
331
258
304
334
361
301
242
257
331
299
217
247
270
403
340
353
367
323
238
262
308
352
352
322
347
259
329
259
381
279
342
317
233
334
359
209
357
306
323
330
337
338
363
311
308
314
332
409
342
350
359
265
403
326
322
321
262
256
255
338
302
280
294
322
365
244
338
409
347
318
346
286
318
336
353
303
345
293
304
327
309
325
372
309
301
281
297
399
337
305
322
339
343
300
269
278
242
259
265
298
315
250
306
322
348
335
384
394
338
297
288
355
296
400
425
317
266
337
327
320
280
276
334
303
271
397
377
309
343
320
336
262
273
385
307
370
287
346
346
267
268
262
387
355
338
234
315
298
329
290
340
345
326
250
352
382
370
313
283
298
347
218
286
282
295
335
301
341
326
282
361
333
356
351
370
270
332
209
338
393
346
281
305
302
322
264
241
348
340
309
365
370
214
291
332
229
272
221
343
329
296
333
320
175
402
384
246
342
318
298
347
263
275
290
256
326
234
281
308
266
347
314
327
353
291
220
245
293
339
256
179
363
305
261
329
339
368
356
359
341
248
224
312
340
379
376
363
343
309
306
373
258
274
363
280
345
301
379
273
353
275
380
268
246
284
399
302
295
345
340
344
277
295
321
292
350
279
376
284
253
227
343
306
306
344
371
383
340
317
338
371
317
385
365
367
324
345
368
371
363
256
309
251
255
263
345
302
360
224
312
300
324
391
240
336
288
324
341
343
273
367
339
271
287
319
322
252
418
380
333
264
327
308
234
324
375
212
320
360
330
241
276
257
301
307
254
225
376
283
352
271
360
329
307
331
329
317
265
369
313
314
274
367
219
292
264
308
336
375
270
304
329
226
319
301
303
247
306
300
261
386
310
244
269
332
367
384
274
304
351
259
343
328
330
299
300
328
239
264
344
392
286
374
334
319
306
343
343
354
387
282
317
383
288
281
292
292
326
363
324
247
354
316
361
283
288
292
306
229
356
342
372
374
383
323
345
249
339
300
318
361
296
259
270
324
291
290
319
358
358
248
271
317
293
349
321
276
311
292
275
280
307
308
300
320
300
245
375
260
309
254
390
297
346
388
263
367
359
262
394
314
263
392
371
265
379
239
361
259
275
415
333
272
331
300
308
352
272
211
337
349
338
325
338
406
356
309
294
341
353
373
361
248
259
363
390
355
381
359
315
353
330
224
377
230
313
350
284
387
341
287
369
301
329
277
300
298
228
306
299
312
372
330
341
333
319
302
341
286
294
298
335
300
274
288
248
190
305
348
300
316
319
261
344
286
326
341
337
357
338
382
273
328
219
317
351
318
332
348
271
280
362
304
265
322
262
242
366
267
418
260
370
331
274
346
329
328
269
309
327
301
355
375
352
288
297
315
366
279
352
290
277
330
358
254
322
266
352
302
272
253
326
262
332
270
299
288
317
338
217
310
361
264
313
389
295
259
321
272
262
288
343
296
317
337
309
290
365
284
340
303
285
344
329
233
255
299
317
307
303
281
279
261
311
442
297
316
227
288
263
356
288
294
436
349
266
354
308
318
397
265
376
258
288
358
290
363
369
300
331
281
328
287
340
326
378
354
320
293
302
290
253
393
308
322
291
330
370
309
316
252
262
402
369
344
322
304
374
319
363
305
342
266
337
334
406
353
281
319
348
297
332
321
288
333
310
340
287
331
292
214
283
328
363
328
344
323
316
385
275
355
285
335
434
354
291
310
349
378
397
306
297
341
361
340
294
279
272
296
250
333
358
315
301
365
299
291
279
319
337
365
340
248
361
375
323
297
409
202
295
228
255
340
316
264
315
310
320
260
363
355
339
329
314
297
329
280
325
313
245
349
338
363
399
313
338
397
391
311
283
274
353
306
168
327
388
333
385
302
298
296
345
313
318
351
284
308
357
332
360
208
309
346
315
306
328
328
313
294
312
317
265
341
327
335
324
304
299
372
284
307
281
406
252
404
245
322
357
328
352
300
311
377
304
308
327
299
361
301
286
338
362
195
328
392
369
407
181
226
273
324
329
364
326
301
358
344
281
322
336
323
402
348
377
368
265
301
287
313
339
311
316
306
341
281
280
345
316
289
417
295
289
312
450
235
279
386
337
307
266
172
343
333
339
334
337
261
348
342
310
389
347
379
218
318
317
309
302
313
306
260
322
268
358
279
334
325
333
266
310
334
264
330
293
240
327
386
361
257
337
373
304
335
312
350
287
261
313
251
329
270
301
238
387
337
361
322
304
297
291
202
364
324
412
317
353
368
421
343
343
357
348
267
335
281
276
381
304
411
282
243
379
308
333
295
333
396
349
290
362
313
329
285
392
353
375
352
291
294
346
323
359
334
322
297
334
133
302
374
289
314
281
354
333
373
287
319
318
404
349
327
293
323
351
260
229
321
376
383
263
299
361
357
311
365
342
400
330
288
279
343
315
282
351
253
338
391
288
278
311
298
191
315
263
242
338
342
274
362
346
295
340
276
337
381
283
432
316
265
309
311
329
309
378
346
302
228
270
317
259
344
333
346
338
347
238
351
337
324
366
368
388
381
378
334
297
376
284
308
360
325
233
342
323
249
274
386
341
376
336
260
222
320
269
252
283
334
333
316
369
338
307
299
336
326
272
261
273
304
306
382
321
346
322
349
293
219
335
329
303
312
320
312
366
295
229
310
158
292
368
308
295
276
358
253
283
309
327
370
244
304
331
219
346
269
276
290
305
283
353
298
366
307
372
307
268
375
358
182
237
387
296
330
297
314
200
265
362
386
333
337
353
299
268
227
395
307
307
353
271
296
269
299
289
320
338
385
296
345
398
367
367
355
309
310
216
311
261
309
389
270
232
334
253
311
302
318
349
338
344
329
305
302
324
291
252
355
277
315
283
304
268
297
365
347
292
293
309
337
199
361
311
243
236
339
251
305
353
361
287
313
325
359
294
370
212
294
294
394
315
329
324
231
385
288
284
355
317
261
283
348
276
323
347
309
378
303
336
296
260
371
375
266
290
306
335
211
337
338
328
319
291
343
285
263
329
323
235
434
444
304
358
273
338
358
265
299
247
320
328
330
298
315
232
284
318
283
338
300
232
248
354
320
361
338
307
379
281
361
324
342
283
363
409
283
372
312
285
241
281
344
302
266
229
324
312
327
366
297
230
341
285
336
357
333
277
317
381
324
413
270
236
338
349
311
362
319
310
359
320
375
288
393
282
308
341
266
324
315
319
298
317
360
373
275
209
276
350
270
357
265
378
380
324
281
272
386
318
384
290
330
334
347
335
272
266
283
335
326
335
326
354
386
299
307
269
353
266
324
253
268
367
223
241
271
319
334
349
391
325
212
310
314
275
357
290
338
302
313
340
262
239
374
206
284
383
315
232
289
281
327
244
366
301
399
340
279
337
327
326
352
323
336
352
298
284
392
282
275
279
364
296
264
394
369
361
354
315
264
308
363
367
306
232
289
370
302
371
290
321
359
396
302
246
322
361
364
278
253
306
343
250
294
303
309
345
312
290
267
321
330
347
303
383
345
295
253
354
314
415
256
347
326
349
247
362
289
304
328
358
281
320
382
329
311
298
358
274
271
362
332
302
292
428
305
278
355
405
363
291
290
345
276
315
307
398
317
377
307
338
307
311
334
290
278
289
241
304
362
348
340
362
361
347
345
395
340
392
375
309
271
299
295
234
265
424
224
348
273
354
281
369
336
302
352
231
293
306
287
402
360
316
381
342
252
373
275
325
259
264
295
376
327
270
283
402
330
283
339
326
222
320
313
325
337
322
361
291
331
377
287
300
258
284
343
266
340
272
391
346
312
301
366
344
307
323
268
309
345
367
279
276
342
251
327
277
300
349
325
280
408
398
325
291
316
226
366
267
276
213
335
318
310
306
364
316
352
390
340
317
375
296
345
335
315
347
241
267
342
278
319
361
306
283
344
334
318
281
332
305
286
383
279
360
227
334
256
273
430
394
383
367
382
305
345
277
319
362
279
271
320
286
281
292
360
324
286
328
408
302
302
275
322
329
322
233
267
232
302
364
397
290
276
334
326
250
372
328
348
367
278
276
355
256
282
346
265
324
308
335
322
317
308
353
420
318
335
256
296
321
308
412
313
273
312
304
306
288
328
221
346
353
298
279
290
280
308
357
322
334
307
313
331
216
237
345
369
302
290
301
306
386
262
332
324
295
269
336
293
271
321
371
387
333
406
293
377
374
257
234
318
280
337
283
300
301
302
392
291
319
330
318
359
394
338
323
306
300
279
355
362
263
298
373
341
378
343
390
245
322
399
309
255
337
259
316
339
284
375
335
365
412
280
292
298
284
347
309
307
296
362
303
315
331
311
334
283
265
282
294
337
208
249
324
401
337
292
324
333
243
317
328
252
298
352
404
290
212
301
345
340
354
389
330
322
371
255
332
368
379
420
270
253
366
367
269
248
315
363
288
300
385
230
253
262
227
353
313
283
311
318
336
328
244
346
369
322
313
225
296
296
355
286
360
275
271
282
277
318
329
288
368
321
294
367
312
303
213
260
377
264
252
354
307
329
306
324
387
344
349
243
364
370
384
362
379
259
336
378
290
322
301
368
320
358
402
266
348
377
316
285
312
341
285
297
318
340
431
203
333
245
401
346
311
316
229
322
360
419
378
343
334
309
278
265
393
309
243
292
347
263
309
341
297
350
192
323
298
280
286
358
309
369
265
324
379
342
312
325
235
259
331
378
316
257
389
312
323
333
340
305
256
219
334
343
308
361
300
409
306
304
346
354
316
293
369
358
253
292
307
271
353
352
302
391
278
349
329
366
298
316
418
301
305
340
322
346
300
288
264
354
336
363
304
267
369
278
282
316
332
254
362
300
361
274
340
208
241
267
362
330
306
273
353
314
329
349
329
245
346
323
298
309
344
361
324
381
275
324
285
257
351
311
329
339
301
346
229
280
366
346
337
314
328
326
391
285
393
357
289
289
229
269
273
217
254
335
296
293
314
303
281
283
285
327
271
336
280
313
297
300
353
359
328
406
350
304
248
401
277
335
269
239
406
229
295
271
226
305
333
227
270
347
265
281
320
329
351
334
368
289
371
336
247
282
373
330
258
299
294
411
291
273
240
403
312
289
356
286
277
299
342
317
335
362
276
312
328
317
308
365
293
407
383
290
304
358
314
371
340
347
422
281
270
292
270
230
312
351
281
353
372
319
303
306
268
319
312
364
309
307
285
389
280
389
312
312
299
310
273
260
327
310
362
251
367
273
331
269
349
323
330
316
251
313
274
366
265
321
291
436
306
288
327
280
214
333
331
313
332
254
377
277
336
326
284
292
314
287
267
319
336
297
371
293
303
348
328
215
305
283
326
315
285
294
350
295
348
389
337
329
318
289
240
289
374
283
339
262
233
306
329
275
374
311
297
361
354
338
337
326
290
295
384
267
306
306
327
233
311
156
268
309
279
377
295
352
296
418
238
315
371
360
339
334
332
370
345
242
371
294
369
250
263
299
236
251
319
315
244
350
288
361
313
327
329
312
239
315
330
319
280
340
305
323
375
374
310
283
316
322
309
316
323
349
299
347
293
371
268
402
361
364
286
250
273
346
383
348
292
231
406
382
275
267
314
349
294
365
377
322
281
311
372
314
273
353
317
305
300
365
385
320
293
286
378
270
215
314
377
360
306
325
314
261
349
270
332
392
341
337
316
331
332
332
337
339
274
320
384
319
295
153
295
300
318
447
349
374
349
305
251
323
330
326
281
298
308
328
369
270
353
295
339
435
265
293
375
327
266
324
362
280
329
285
276
375
266
291
278
380
370
317
346
275
382
348
422
312
331
313
273
431
335
302
297
360
315
290
385
377
313
271
254
310
335
267
219
333
352
310
290
370
274
371
291
387
310
375
361
373
328
385
243
297
323
313
317
294
406
356
238
277
200
293
362
288
336
356
370
319
349
290
275
342
332
318
339
275
394
320
274
335
299
371
359
347
256
332
321
292
312
378
302
340
383
285
244
344
384
297
299
249
273
377
261
374
245
283
300
357
288
356
341
306
297
269
237
388
288
280
247
243
307
314
420
346
383
338
363
363
271
306
299
303
365
354
392
328
270
266
321
360
241
329
204
370
233
337
351
277
250
299
329
342
308
266
294
379
294
285
239
354
341
277
334
369
254
239
286
336
304
332
345
210
337
372
280
312
375
242
250
262
363
331
290
399
301
329
357
285
200
256
382
270
385
307
309
301
368
310
267
305
323
270
293
324
326
296
340
365
316
271
270
267
305
287
286
295
241
298
337
319
293
268
333
367
305
246
394
305
363
295
375
339
250
378
326
296
340
343
299
352
268
336
392
380
295
280
372
256
367
246
296
336
351
296
299
342
327
381
224
298
332
286
344
273
300
335
386
356
361
330
272
333
345
359
296
256
358
339
240
347
276
327
248
294
322
361
333
184
285
339
295
283
277
347
368
286
292
300
262
316
376
332
345
243
391
305
310
298
302
335
329
361
273
380
265
346
363
276
293
351
278
278
291
325
316
335
340
280
295
308
297
319
308
226
337
249
299
380
235
290
333
296
383
314
263
279
301
398
264
354
255
320
334
302
307
365
274
383
270
331
339
301
407
288
379
363
317
230
358
300
318
278
233
299
348
354
328
299
369
241
368
252
288
353
288
247
290
279
249
207
277
390
281
265
193
354
293
291
282
287
344
315
362
328
386
348
311
281
391
236
372
318
336
348
338
383
297
304
345
278
407
331
438
329
336
316
344
341
341
303
314
372
300
333
334
284
263
285
290
265
377
331
317
342
275
324
368
301
336
344
271
333
320
339
299
273
316
321
303
285
321
293
287
319
270
310
348
384
299
326
304
283
325
273
340
263
325
366
313
276
270
280
270
335
330
326
293
378
274
322
312
372
390
239
334
404
390
316
330
273
291
250
400
291
309
325
289
345
253
277
317
247
285
376
337
332
365
217
346
354
340
293
240
227
285
343
405
276
343
361
330
325
290
286
356
326
245
304
323
376
313
376
310
332
398
316
364
275
329
240
356
332
316
315
402
244
317
364
317
301
311
358
246
323
371
362
326
277
353
341
305
189
263
352
349
341
412
334
270
399
318
340
364
285
334
346
322
267
274
378
229
400
386
245
270
337
254
305
348
318
257
276
331
363
236
245
262
345
273
261
330
236
309
340
248
309
361
367
343
351
280
284
347
353
279
333
305
346
240
375
261
282
373
332
262
343
323
334
345
368
267
328
316
417
254
306
301
208
445
222
311
333
354
367
320
286
331
222
351
303
298
321
331
268
310
289
337
314
303
320
367
338
384
257
329
275
252
376
265
310
371
293
275
259
283
327
225
275
381
282
278
315
314
349
264
284
263
344
292
294
327
274
315
322
326
260
336
236
383
305
291
393
310
344
262
222
325
326
292
226
318
283
340
227
315
379
298
420
337
309
289
269
362
325
246
317
304
256
293
300
338
340
315
284
264
301
304
326
341
291
370
272
312
293
296
258
294
349
342
264
345
350
385
307
395
404
291
292
331
310
290
345
344
289
355
313
282
268
236
390
300
327
267
298
317
255
427
305
341
324
266
263
273
323
295
302
368
390
413
352
360
307
329
389
352
325
263
277
449
333
348
258
317
336
342
353
331
328
274
389
246
381
320
273
336
310
377
369
313
310
400
274
407
404
245
370
309
352
274
337
326
243
306
336
233
250
265
232
336
312
369
355
274
279
322
254
354
288
310
337
332
288
309
362
306
283
331
334
252
303
379
303
365
248
307
331
275
358
319
280
369
383
361
260
351
269
362
287
332
330
266
335
285
356
384
332
330
278
322
345
343
326
370
296
265
278
243
283
298
381
270
302
319
379
310
343
214
243
370
308
276
338
308
259
410
299
385
323
391
347
302
295
324
338
332
318
297
278
266
304
275
287
340
344
311
239
294
366
400
327
353
360
376
290
343
209
259
315
355
375
338
262
282
266
298
292
351
404
372
316
372
312
306
389
263
290
275
329
382
258
365
334
323
262
335
321
359
238
326
294
299
253
318
261
367
300
290
303
314
334
281
273
318
325
266
278
342
372
323
374
321
297
353
340
316
304
388
344
255
286
340
315
351
276
280
330
351
235
264
327
293
250
268
350
358
308
250
264
329
348
228
337
229
289
356
288
332
282
364
301
332
220
296
321
317
330
325
304
337
261
341
295
259
358
284
364
313
374
315
306
344
346
319
278
371
289
297
331
271
286
382
334
247
318
338
341
338
294
210
332
339
302
392
280
272
234
316
302
288
376
329
278
362
367
349
342
315
364
308
363
312
317
297
283
301
290
428
376
277
313
330
332
338
235
339
348
306
305
330
285
275
358
323
280
334
383
242
313
314
329
253
294
355
316
302
340
289
316
464
224
317
407
268
327
277
323
274
304
345
331
281
325
353
280
313
348
391
228
292
400
331
279
341
317
351
170
279
365
231
314
377
306
323
335
280
263
304
294
265
381
381
344
311
336
274
358
374
353
376
286
303
350
370
312
289
267
259
280
272
301
389
382
228
353
287
310
307
295
348
271
329
356
282
362
383
253
311
381
353
349
344
246
253
292
368
264
274
333
286
398
325
347
239
295
335
245
291
200
196
343
313
223
344
300
192
310
329
291
304
274
277
328
374
303
353
348
319
287
308
376
270
322
268
268
288
286
306
340
333
380
286
316
337
331
270
279
273
314
227
358
374
391
324
283
284
275
346
325
328
343
368
242
319
235
326
286
296
248
356
231
285
288
335
295
365
316
283
340
358
299
357
425
352
287
317
318
326
295
371
277
268
373
349
372
206
301
246
257
299
299
238
357
334
350
288
353
196
306
247
400
299
340
342
293
281
239
383
273
307
338
391
348
304
348
338
372
297
321
339
327
283
356
394
289
238
269
329
261
334
296
263
296
321
269
301
398
244
261
253
280
270
340
358
218
288
208
356
344
301
318
361
366
323
351
272
370
379
364
370
399
362
308
314
343
340
284
318
287
354
274
315
277
353
368
350
312
219
312
357
330
233
317
344
318
346
306
319
297
285
242
314
308
328
349
322
329
287
280
311
330
272
255
290
231
300
340
278
289
303
371
333
363
341
320
396
381
372
237
284
289
328
248
338
351
345
313
288
319
227
434
342
333
265
423
353
313
351
357
282
340
397
337
337
317
306
243
203
302
290
305
320
314
179
315
248
328
297
361
261
362
281
300
319
275
248
312
278
341
230
214
291
341
290
307
331
374
338
303
316
293
315
327
400
297
289
387
337
288
363
245
316
264
250
242
360
315
290
309
275
280
405
307
296
312
288
392
383
316
243
346
272
338
343
281
389
232
397
373
276
320
320
337
301
351
318
303
376
237
315
328
306
314
341
322
325
312
376
348
336
291
259
371
344
290
290
370
290
280
257
327
248
268
311
384
292
365
254
252
337
314
320
304
335
320
264
372
337
396
319
295
284
310
268
303
273
338
343
281
334
465
249
298
350
290
324
354
302
380
298
292
271
329
375
412
342
312
335
339
320
290
346
340
356
363
317
331
288
298
302
316
238
307
294
308
233
308
237
249
340
273
393
303
297
311
385
309
284
263
309
340
388
289
298
278
270
364
254
349
241
297
272
350
304
357
271
375
227
314
268
345
320
365
274
329
398
376
295
342
312
332
298
288
251
297
323
273
387
359
271
313
302
244
356
353
218
381
373
340
306
296
409
246
263
299
321
214
374
352
260
271
271
344
314
348
273
187
324
309
290
332
264
252
246
266
412
275
303
325
324
325
393
344
262
276
228
368
345
216
291
342
381
291
348
299
374
349
271
295
240
302
366
394
313
301
333
356
283
369
314
302
297
381
333
372
339
336
332
259
351
306
276
312
336
374
349
250
333
357
304
336
266
283
367
314
301
239
316
309
295
197
220
255
316
304
289
280
301
409
294
245
324
301
382
353
312
263
317
238
358
279
329
355
299
342
310
356
185
301
372
209
245
267
282
373
350
259
359
292
346
398
327
386
246
289
312
332
389
278
272
386
257
340
352
353
368
282
352
302
434
401
321
314
246
386
366
367
319
284
281
314
290
317
358
294
346
291
303
336
279
387
381
248
338
242
296
252
329
328
341
366
319
362
379
225
280
430
278
302
367
266
303
307
400
227
391
321
354
335
303
310
371
332
348
364
394
354
245
301
395
298
347
329
276
335
303
276
278
328
374
307
323
287
376
351
370
339
275
300
326
288
288
337
291
335
369
389
299
225
354
266
317
299
294
353
351
296
293
291
316
360
331
318
338
253
230
268
334
304
326
242
289
300
318
362
328
394
315
177
272
326
308
321
292
256
338
337
366
380
316
199
352
294
312
259
386
277
283
220
385
253
279
306
269
352
263
362
269
369
389
307
359
308
301
284
324
292
375
349
258
383
336
354
290
425
356
218
294
351
322
327
319
364
290
296
303
344
314
361
282
365
373
338
344
373
340
309
255
366
293
336
358
305
399
345
394
325
315
308
369
292
250
333
409
348
275
351
303
310
275
356
355
329
372
367
303
261
315
297
338
317
344
315
331
286
325
288
345
311
263
243
223
316
311
395
297
319
347
303
243
282
319
291
313
272
229
393
309
365
267
346
306
288
337
312
288
300
289
391
367
328
364
367
299
387
211
370
310
270
321
395
325
338
418
296
325
432
273
305
315
325
297
399
254
309
392
313
360
359
322
277
309
313
333
329
336
370
300
295
377
329
292
264
277
293
288
320
316
256
325
296
351
288
273
306
277
345
286
339
382
285
330
293
350
235
265
425
350
327
286
291
327
395
311
370
365
222
319
272
246
360
333
320
261
258
278
271
297
245
261
274
196
399
224
228
311
352
271
308
355
354
312
263
349
311
296
345
318
350
345
300
344
213
252
331
322
289
263
327
351
202
317
338
325
282
316
332
329
252
237
305
324
302
265
293
392
264
312
349
318
321
306
271
303
332
222
295
386
376
281
281
255
277
293
290
404
290
283
324
304
254
335
319
323
245
361
349
366
295
297
334
364
326
267
315
352
258
272
262
325
288
410
255
330
355
322
275
278
311
347
305
400
378
240
349
313
302
302
278
271
347
303
337
257
262
301
276
332
312
355
357
417
336
350
334
313
288
371
362
373
323
325
227
325
306
280
340
253
415
289
290
284
364
378
277
289
279
260
254
350
410
283
323
471
389
306
277
361
251
362
239
359
322
279
310
343
314
310
309
233
371
313
336
354
308
262
321
290
319
257
301
403
351
237
304
357
258
321
285
359
340
330
350
374
392
233
336
147
304
315
300
275
358
256
335
258
289
297
321
350
352
374
384
239
284
297
373
386
287
388
345
298
272
356
285
336
321
420
270
327
334
322
305
248
341
289
366
368
381
361
305
303
346
420
302
245
349
294
307
274
409
384
344
377
335
307
341
280
324
310
371
324
298
200
320
334
291
356
282
337
304
251
315
350
302
297
290
334
320
329
405
347
382
275
307
248
214
322
335
309
386
330
315
294
382
313
335
248
339
293
309
382
356
352
292
305
255
250
327
367
313
343
378
352
314
368
305
265
287
272
353
302
263
315
291
376
349
317
367
283
313
234
337
343
278
242
315
314
261
322
379
267
301
390
410
327
347
343
369
312
381
301
324
329
357
278
271
284
343
342
376
326
276
271
270
381
325
218
286
321
296
305
301
388
394
285
318
340
363
227
306
355
333
322
261
408
241
352
281
368
272
373
289
328
335
354
352
280
360
338
402
388
279
331
372
326
253
295
328
383
312
281
267
413
377
308
292
270
342
243
318
338
316
373
288
389
285
169
265
277
237
326
391
351
280
363
364
240
342
259
325
395
277
354
266
295
291
297
401
344
298
269
289
350
329
315
298
321
292
353
306
309
331
378
334
371
384
345
360
304
275
274
342
308
358
355
331
313
299
362
350
299
328
374
350
305
222
246
301
298
291
230
228
334
265
367
321
275
322
269
320
313
303
371
285
351
357
352
380
338
353
321
307
266
297
236
293
270
285
344
378
256
339
326
357
277
375
252
329
239
211
329
205
371
296
428
294
316
354
344
313
382
314
347
305
275
376
283
306
370
396
245
309
320
291
296
292
299
378
258
295
369
331
361
381
366
290
355
405
288
291
279
319
253
204
261
277
341
306
329
346
304
263
315
332
283
315
388
264
363
251
362
333
375
279
235
342
298
371
286
239
310
251
286
296
275
285
356
367
365
265
306
330
365
327
268
362
323
307
175
262
289
284
248
320
310
269
367
276
324
412
353
371
323
296
344
321
238
206
347
324
342
293
287
248
253
320
313
236
335
297
327
315
301
240
335
349
344
383
356
338
211
255
380
323
341
302
333
301
205
308
377
267
373
277
258
407
315
390
357
246
304
298
276
353
286
344
273
334
361
345
266
304
330
351
291
343
334
305
285
263
290
290
369
367
300
304
252
284
378
290
313
383
402
336
242
253
235
356
209
334
271
294
295
386
299
335
299
302
364
262
412
358
294
350
386
299
302
281
404
367
360
338
248
374
288
312
312
388
354
317
283
285
283
325
197
321
336
328
277
361
353
324
295
298
334
414
305
342
403
308
255
360
332
339
374
294
333
389
264
429
332
321
325
315
332
348
344
284
237
389
295
308
350
307
349
313
239
302
344
335
402
333
208
332
333
266
404
292
295
325
326
269
385
312
245
358
356
295
295
358
307
395
289
244
280
266
321
358
339
326
282
245
339
392
300
226
282
273
332
388
320
269
254
256
356
308
232
297
310
242
327
264
340
360
375
280
315
406
322
373
355
280
200
335
302
318
339
384
253
288
337
284
313
315
381
228
285
348
400
258
299
261
299
244
358
296
285
373
348
356
388
363
344
359
290
254
247
298
304
269
317
278
248
329
312
359
336
373
267
328
281
364
376
358
350
325
261
350
320
318
307
275
373
268
303
361
322
360
326
328
334
336
386
302
356
276
314
295
313
291
313
255
223
299
248
330
329
291
295
351
274
308
284
342
325
362
290
267
407
266
314
274
403
205
314
366
254
307
346
352
365
325
320
405
360
375
353
361
237
288
314
260
329
337
393
334
278
389
309
346
318
325
344
310
285
328
319
395
245
255
407
348
364
352
376
354
332
310
237
260
324
310
295
283
234
255
350
315
257
289
316
313
266
326
334
343
299
422
315
289
344
227
284
356
335
389
353
262
235
337
306
345
410
263
389
391
225
343
253
303
336
352
294
274
297
374
250
256
361
346
378
283
272
343
303
292
390
410
390
336
389
278
386
311
316
290
343
392
285
282
341
350
303
379
314
307
336
365
323
311
342
379
294
281
341
359
347
257
363
316
316
263
244
340
307
342
306
293
298
298
297
293
308
250
341
307
284
265
276
276
290
360
262
342
269
215
329
285
318
413
283
356
280
255
238
375
317
355
403
328
368
339
281
329
355
341
299
357
354
315
323
245
313
351
367
321
302
345
277
287
341
241
367
314
337
330
305
351
322
246
288
306
344
214
302
336
329
317
324
284
312
277
235
332
348
307
394
263
276
283
282
196
395
261
373
310
389
310
331
364
282
246
289
310
305
288
294
366
356
351
312
319
292
259
341
311
219
294
266
287
387
302
308
311
351
321
310
333
331
338
313
295
348
317
287
328
323
386
326
311
335
291
350
276
289
371
342
299
275
235
231
241
367
327
404
312
326
261
362
408
313
331
280
277
358
317
353
250
372
297
259
264
272
327
283
286
340
333
276
291
334
233
271
311
354
364
316
314
346
312
250
272
258
367
343
209
319
305
367
350
290
258
308
289
350
294
332
325
235
410
345
348
418
392
270
323
256
189
287
293
273
298
348
267
383
328
358
327
322
243
338
338
340
375
360
296
378
323
368
302
263
291
383
280
330
327
314
348
244
315
268
293
334
380
229
315
393
404
295
317
317
365
375
231
304
327
303
328
249
255
270
352
284
313
341
378
312
272
396
355
320
286
342
322
276
317
364
308
259
311
280
284
315
343
345
319
308
305
378
302
318
306
331
313
324
267
416
241
373
360
301
366
320
349
294
264
317
281
332
305
337
308
354
344
321
160
257
248
252
285
342
283
315
311
398
365
335
366
297
273
343
325
318
279
380
343
325
281
301
369
309
276
312
218
345
273
303
349
328
262
355
369
308
292
375
334
270
311
269
388
355
272
242
321
410
304
322
399
321
313
220
327
385
273
400
259
304
320
312
301
293
285
239
270
315
349
257
285
322
332
334
284
352
313
376
309
322
318
287
360
270
338
318
270
288
237
360
362
305
322
258
237
289
326
342
291
392
255
313
296
293
352
375
339
360
304
265
391
407
343
393
373
300
342
279
353
306
271
272
335
301
258
298
309
408
293
335
339
291
256
304
331
298
251
283
319
307
203
360
310
377
373
383
299
326
329
360
347
318
314
275
361
383
351
240
352
282
334
385
328
323
317
288
339
274
244
265
255
318
359
280
361
324
310
414
380
272
372
347
304
336
307
321
218
270
313
240
257
279
260
325
279
324
363
390
334
305
275
344
343
367
329
303
365
323
319
336
358
331
260
336
281
287
280
321
271
341
309
308
359
297
323
284
359
282
306
351
283
265
385
314
281
244
295
352
366
315
286
359
307
324
289
359
319
329
324
244
408
279
347
341
338
320
333
310
327
303
300
297
332
298
243
336
314
231
421
254
257
313
331
260
345
332
300
371
371
218
305
370
277
300
328
244
297
333
361
347
264
347
330
213
364
303
411
307
340
332
305
256
226
361
346
358
345
239
309
332
318
353
361
357
326
266
382
311
295
221
281
366
248
354
264
412
338
379
359
339
262
262
330
310
355
241
289
329
286
380
272
310
301
298
359
343
255
242
381
366
353
349
267
240
332
283
291
330
258
322
322
303
345
321
246
281
307
319
398
331
247
343
312
334
272
328
333
338
369
356
370
339
336
346
296
318
306
351
330
354
309
311
289
353
331
279
338
309
348
286
291
304
293
361
287
370
375
319
220
346
436
357
315
307
272
426
281
369
312
252
313
245
269
270
359
265
295
311
334
384
282
318
245
222
285
256
364
288
328
354
293
242
335
297
331
265
228
361
356
362
264
309
367
307
284
397
248
249
315
212
281
194
270
319
310
294
279
327
224
327
279
308
288
376
287
406
386
294
317
315
310
309
347
330
281
281
262
236
364
286
392
346
213
218
385
319
387
333
344
333
343
268
235
299
328
330
256
310
281
349
346
290
315
270
348
330
314
225
276
306
355
263
334
332
228
233
287
261
304
328
268
388
338
322
263
236
315
395
311
334
303
243
288
338
315
295
299
365
307
161
241
318
323
346
246
291
265
265
384
338
323
319
366
298
288
422
280
337
304
376
225
257
297
326
281
303
264
320
322
356
273
316
276
262
354
259
322
277
322
428
306
273
290
374
300
310
334
233
377
335
332
321
361
385
323
349
310
220
398
296
239
358
350
293
353
348
356
322
350
335
263
304
268
378
255
284
319
318
287
304
317
281
251
282
252
369
318
238
366
254
334
387
241
409
327
288
393
272
255
322
288
259
368
278
266
293
275
336
287
373
304
263
262
296
353
263
332
374
215
256
313
285
279
283
351
288
289
352
272
336
359
276
292
220
364
290
320
234
248
330
275
306
310
365
264
287
230
311
297
231
207
345
406
299
243
319
264
303
301
325
242
289
366
360
395
391
359
364
334
298
266
284
308
296
302
330
294
400
379
341
310
291
332
333
269
325
348
303
339
275
248
314
339
294
348
300
272
220
342
397
292
292
411
265
275
285
275
322
319
239
374
303
333
326
375
280
327
354
351
239
342
428
382
357
320
363
408
337
303
300
322
344
379
323
363
238
326
277
274
239
266
160
385
238
253
277
273
375
365
326
212
346
274
330
305
384
350
305
338
291
321
369
211
394
361
346
250
242
329
282
378
338
363
291
297
243
344
323
260
267
360
319
326
304
204
374
359
321
302
328
282
333
295
311
274
295
308
262
338
365
376
326
293
293
277
270
325
288
341
248
326
217
400
286
317
293
287
270
399
331
312
300
285
330
168
328
318
311
378
356
231
338
369
312
295
328
265
375
325
253
317
345
337
345
349
329
283
329
311
287
355
234
331
268
336
313
297
295
319
304
285
393
200
364
294
369
306
288
319
324
229
275
229
245
370
316
334
309
295
297
250
352
293
291
282
369
383
256
361
280
312
299
417
374
369
327
295
308
343
302
337
308
245
315
387
333
345
324
269
397
272
303
307
392
303
339
317
275
290
203
284
371
321
342
360
254
294
270
306
364
328
255
363
343
394
268
261
366
227
289
272
314
369
330
303
300
312
322
324
270
330
323
369
381
283
338
312
354
285
301
252
215
341
343
376
298
400
381
282
288
343
364
283
352
371
250
293
302
359
299
380
319
305
297
274
245
308
354
281
277
426
222
210
269
279
329
272
336
331
338
245
278
320
280
384
322
308
318
337
386
298
285
317
289
305
289
315
303
276
350
317
329
425
315
244
300
285
376
343
395
336
269
363
317
298
384
301
303
303
355
368
349
244
362
241
368
315
337
327
275
258
281
341
311
234
299
356
237
279
306
286
337
280
231
372
260
419
203
379
356
256
335
339
301
281
371
338
315
348
390
340
351
328
277
318
348
226
388
364
290
260
302
311
305
292
281
432
299
322
375
328
234
273
375
314
325
361
367
330
304
281
371
302
314
285
389
326
297
421
336
316
144
256
313
345
313
321
356
351
357
314
234
320
269
397
330
312
313
343
323
246
352
315
355
228
239
361
295
291
308
385
341
363
303
427
308
327
373
272
385
273
306
347
316
387
316
233
356
239
328
290
334
359
326
290
381
339
326
334
392
296
260
328
324
324
337
327
216
279
213
246
306
382
351
212
251
352
257
293
327
394
295
290
349
346
347
360
338
323
362
388
349
315
316
365
294
370
209
311
350
414
334
334
373
317
290
317
398
307
307
346
404
349
370
315
387
308
375
354
398
203
300
336
309
356
279
307
331
333
240
280
263
331
357
240
299
331
404
366
338
332
285
270
318
364
344
316
331
340
372
319
332
369
318
348
363
273
254
297
256
248
305
328
303
270
235
324
319
298
325
279
323
319
329
352
381
215
379
356
330
343
373
305
307
349
352
362
278
334
333
360
281
298
332
275
324
397
283
374
258
377
343
306
367
328
305
399
339
365
262
337
318
311
340
329
272
336
327
319
320
266
309
247
410
327
299
237
341
337
250
386
355
381
286
310
347
303
348
353
337
328
281
298
253
345
260
266
337
271
310
260
279
346
314
352
363
270
391
315
309
289
317
392
324
320
359
298
321
413
317
315
300
351
318
355
310
317
307
321
292
308
363
245
372
318
293
348
261
356
311
243
326
263
346
346
406
302
274
310
341
327
333
279
362
318
263
303
249
313
286
279
398
275
350
302
222
313
226
372
310
308
387
297
243
326
344
296
258
261
344
315
274
291
247
327
371
368
396
357
336
321
304
321
272
381
314
246
282
287
312
279
331
305
340
385
311
297
387
375
330
369
376
302
331
331
251
250
281
380
377
345
353
247
286
222
266
307
278
267
309
308
260
308
248
262
323
258
384
377
301
349
314
202
358
357
375
323
223
346
317
328
357
347
256
317
425
393
320
384
301
286
247
357
316
317
296
321
321
275
366
337
309
436
380
289
260
276
281
349
339
317
241
338
351
336
259
324
301
310
283
302
284
295
337
355
390
234
344
360
301
306
279
256
283
346
317
262
315
354
319
220
374
247
322
326
311
331
319
306
355
305
339
201
278
349
324
340
353
342
317
287
205
281
397
375
301
259
306
254
370
341
312
372
235
374
352
369
307
309
452
370
362
217
313
340
203
272
347
343
373
314
286
326
360
282
357
336
383
315
356
369
334
337
282
358
374
250
223
383
331
220
303
275
287
231
279
356
267
321
289
335
191
371
278
312
290
270
305
371
337
309
325
316
236
344
348
289
215
227
393
322
290
278
374
321
300
315
381
283
334
316
344
351
330
363
301
385
326
280
296
317
315
246
389
255
342
264
310
305
386
319
340
324
299
313
304
375
236
260
280
254
257
264
296
314
392
272
220
356
243
361
284
355
315
292
341
317
296
340
269
300
299
276
332
305
232
387
335
334
311
379
256
362
318
326
325
248
336
323
368
357
458
262
333
279
322
314
275
335
238
260
338
257
348
357
308
314
323
244
355
319
256
254
244
398
366
285
296
250
364
318
320
303
205
448
336
354
368
278
360
295
380
311
306
357
377
364
303
245
343
262
332
319
360
417
285
379
385
281
316
362
284
362
319
321
408
302
282
276
381
347
318
213
337
298
311
341
332
340
274
329
327
239
338
347
296
295
335
335
329
283
321
320
325
272
366
325
315
320
259
376
284
330
391
324
326
308
300
329
362
227
366
339
280
320
334
336
271
314
313
404
308
336
347
284
396
376
309
340
341
357
350
286
274
258
354
301
327
325
317
305
288
350
313
258
229
387
265
322
390
279
206
300
414
221
375
283
310
214
324
358
334
256
232
320
267
336
227
341
383
297
290
369
284
327
370
306
311
393
315
329
317
317
345
331
396
293
367
289
331
363
369
344
355
275
300
323
337
250
354
286
267
331
333
318
328
363
286
344
266
334
346
309
365
377
231
396
317
326
282
318
378
364
285
384
261
319
304
340
355
321
281
357
300
331
339
289
283
316
298
283
298
387
296
379
373
367
346
358
305
346
315
315
322
339
272
330
277
293
253
339
310
301
252
387
229
348
306
311
364
312
357
264
263
239
320
355
386
293
286
302
275
300
374
311
252
393
365
323
366
375
301
353
317
288
369
385
291
340
265
379
375
285
297
272
348
285
389
316
338
356
316
250
317
330
381
291
307
246
354
286
217
348
318
254
279
330
192
344
301
299
333
331
297
352
391
248
203
256
316
264
308
264
393
349
340
387
346
304
345
185
271
394
335
258
261
358
342
321
383
337
299
343
318
201
308
342
198
298
334
326
336
342
263
317
293
243
316
299
315
334
325
317
367
333
292
288
324
359
330
385
277
252
303
331
284
313
337
298
221
341
321
278
405
308
279
303
309
294
366
371
317
246
356
339
337
279
359
264
278
307
294
334
316
374
265
310
278
254
289
323
233
371
349
364
275
287
348
213
309
338
302
266
307
327
338
350
326
352
234
314
358
340
334
324
287
331
278
274
303
237
298
280
268
312
337
321
403
198
318
271
298
234
365
329
301
363
307
302
237
301
354
319
392
344
354
333
280
254
321
331
335
322
272
321
292
312
193
339
295
262
309
265
299
290
304
341
277
265
295
328
270
327
315
389
386
367
305
275
356
357
305
399
356
296
352
284
313
337
177
371
354
306
275
291
342
341
380
233
316
298
378
333
290
352
303
325
292
310
366
390
233
284
375
287
339
306
426
261
304
361
336
323
355
310
274
254
351
352
328
315
329
248
369
276
294
265
277
395
356
291
378
333
353
350
310
332
356
288
290
305
383
305
295
385
321
334
311
388
251
234
315
304
252
326
296
245
237
269
285
372
264
322
340
274
279
343
269
344
329
338
290
288
332
339
331
276
336
363
358
246
355
374
255
396
321
272
321
274
310
293
307
279
276
331
291
283
379
298
274
253
357
318
351
300
345
257
249
397
308
253
344
365
391
342
360
297
303
376
240
365
338
404
339
333
336
331
333
292
306
278
343
353
295
366
345
261
348
351
353
276
231
267
400
291
323
326
304
212
312
301
378
371
367
330
307
382
314
307
345
271
340
271
341
364
222
338
354
316
277
348
289
307
314
250
266
345
317
310
311
310
342
336
291
316
376
341
409
347
263
281
222
222
310
286
292
276
401
364
300
338
306
265
414
362
338
336
250
386
292
349
368
277
290
319
219
321
321
323
389
287
329
303
298
263
261
192
279
220
280
358
398
284
279
363
203
379
297
332
331
327
233
378
328
268
389
300
282
380
297
312
299
300
349
226
321
254
299
211
325
303
288
312
268
247
310
328
266
359
363
345
377
279
275
370
279
345
285
375
258
344
259
368
255
291
359
377
318
313
314
339
296
234
302
310
339
336
263
330
284
319
288
340
301
249
327
363
365
328
366
351
333
254
297
364
304
316
322
239
365
287
289
352
374
411
301
313
305
355
290
212
376
180
348
247
380
346
367
268
378
381
314
386
342
316
292
357
362
322
328
323
178
352
374
248
368
400
281
270
294
250
322
360
239
366
330
366
302
287
254
252
227
272
348
336
239
359
255
350
399
275
375
301
354
234
277
263
314
288
300
306
429
297
353
232
337
290
396
309
340
334
319
385
262
290
358
334
320
350
298
244
313
359
259
270
265
278
301
237
265
317
299
367
330
295
205
385
287
333
303
238
343
293
387
224
338
307
317
336
403
379
338
313
305
332
320
409
206
318
311
370
296
282
308
369
314
265
312
313
258
282
312
326
315
276
256
306
278
299
365
246
249
237
277
328
407
303
298
281
341
352
292
350
249
261
338
305
363
332
298
258
344
339
282
345
282
320
313
361
285
326
276
363
381
352
298
276
321
330
350
312
389
317
380
328
332
343
270
275
277
272
212
275
317
279
289
305
341
333
342
315
357
313
324
247
296
292
349
310
288
303
381
305
341
261
358
303
308
298
210
269
343
219
288
234
331
372
275
262
297
258
299
273
306
330
260
374
303
335
306
339
289
320
348
306
171
369
290
308
326
254
329
232
358
326
273
305
353
338
345
311
267
340
330
291
334
408
300
358
288
359
285
288
355
296
346
292
270
298
293
321
312
369
305
268
275
353
361
259
337
328
431
287
306
354
243
296
361
286
362
316
303
371
380
380
303
352
371
285
273
344
323
350
379
320
323
306
321
225
328
359
263
335
258
270
369
274
300
312
195
291
387
308
302
377
317
359
363
318
330
235
325
323
428
366
390
227
287
376
360
287
297
243
287
287
325
247
304
346
318
284
375
319
377
317
311
228
354
323
374
300
323
386
234
258
297
372
245
303
314
293
371
296
404
345
357
400
275
317
401
326
298
339
368
269
309
315
314
339
233
394
267
364
308
341
292
321
361
297
323
281
429
310
294
383
319
348
315
324
359
295
290
283
309
317
217
270
371
318
241
274
369
256
241
343
269
329
224
347
276
236
291
322
256
275
317
350
286
303
315
344
357
259
412
298
251
343
372
341
257
283
389
303
324
360
372
274
282
277
230
349
223
290
353
303
317
284
326
248
344
199
259
309
266
389
320
396
292
343
355
278
344
265
375
411
305
344
244
285
234
242
359
348
355
309
354
325
335
336
316
314
362
229
328
346
332
359
280
412
294
328
315
289
334
340
280
335
304
364
240
319
317
265
363
330
285
264
273
340
355
195
326
325
298
308
297
283
313
310
265
316
385
329
312
333
352
303
230
337
239
374
250
331
300
342
293
375
300
307
296
355
320
311
320
212
288
347
266
311
265
318
372
303
265
217
380
383
383
401
328
262
273
247
378
301
357
368
295
249
285
338
336
378
394
370
250
328
335
290
352
229
354
329
330
287
260
345
344
305
403
369
394
371
320
304
277
264
316
260
385
276
375
330
381
347
309
286
241
310
311
314
327
397
262
326
297
273
342
306
394
357
349
275
442
362
259
380
315
319
269
347
290
277
251
313
276
379
377
295
320
381
165
300
333
350
339
310
307
403
285
340
267
273
304
291
312
385
332
305
280
228
266
383
278
366
357
335
278
316
347
385
356
341
209
346
354
343
358
377
367
316
348
285
356
286
357
313
301
362
282
299
275
304
293
296
301
305
332
331
340
330
332
315
319
301
284
222
348
319
353
326
306
312
369
349
367
314
363
275
261
281
367
295
333
308
324
363
277
366
333
311
280
327
340
184
343
290
338
316
340
324
312
307
332
308
319
325
379
300
330
356
297
357
281
296
387
256
280
270
258
329
331
261
299
393
333
266
263
283
264
287
299
385
326
328
342
387
290
437
216
336
332
268
316
327
271
298
319
322
322
349
331
348
330
343
330
281
381
376
346
323
298
295
307
357
334
359
264
249
387
330
297
358
275
380
270
357
269
163
294
292
254
309
352
280
300
305
320
338
319
319
293
344
324
312
293
293
318
331
211
326
366
225
324
296
284
306
174
298
305
278
319
309
336
362
276
250
372
358
276
306
339
304
313
433
388
268
223
318
384
321
358
358
342
271
392
287
311
340
301
316
237
342
193
363
283
343
302
390
385
344
295
298
288
304
269
322
285
236
359
352
365
272
303
441
310
248
336
361
269
344
285
291
233
346
342
357
285
312
329
348
337
346
299
286
313
326
255
316
285
378
313
280
232
221
391
295
340
311
429
346
229
261
357
352
305
299
414
380
331
332
364
322
299
305
307
351
342
339
302
309
340
329
316
359
329
177
300
365
266
283
369
341
351
335
318
279
337
316
348
328
337
375
293
301
380
262
358
348
340
352
297
200
293
308
293
282
213
334
296
276
385
271
245
276
318
341
289
367
285
307
229
359
321
422
267
387
281
286
297
259
258
416
250
408
326
311
292
296
340
327
375
308
310
274
274
256
289
324
347
376
289
301
308
233
362
242
330
282
283
367
352
263
204
287
279
307
340
255
233
311
347
376
374
301
270
406
276
348
266
292
398
389
321
322
328
296
302
244
229
403
366
381
332
277
321
258
294
340
374
313
343
389
354
358
280
265
282
297
259
293
268
293
390
281
356
372
325
337
387
353
353
226
372
309
334
281
379
252
396
355
279
242
361
269
255
244
344
368
361
354
311
255
281
271
359
308
384
319
318
247
293
259
406
370
270
306
278
376
312
312
375
261
273
392
351
358
359
343
332
230
306
287
351
264
223
399
298
255
299
332
279
364
406
354
323
326
230
367
369
270
350
270
390
272
337
324
248
267
259
369
372
286
368
381
357
346
279
305
320
314
317
258
378
288
378
324
269
269
172
357
215
319
370
308
294
261
370
373
350
310
251
242
334
339
346
308
307
379
298
330
298
387
328
328
351
360
287
394
360
276
328
402
343
305
357
347
329
388
354
328
303
340
294
397
352
345
258
303
311
311
279
270
258
330
336
305
326
312
361
368
358
281
284
284
368
283
239
274
316
381
339
302
310
321
278
336
358
339
275
362
284
326
304
300
349
254
294
355
299
378
315
317
281
361
245
380
255
301
305
348
305
371
337
395
368
390
327
366
238
313
272
339
366
338
408
228
230
366
302
296
285
352
245
292
360
223
318
334
359
278
318
352
355
246
324
347
239
286
300
311
380
294
310
234
313
301
285
329
295
247
339
261
327
265
307
387
337
288
315
257
267
287
376
255
303
334
329
304
340
298
349
275
254
287
265
249
341
255
383
367
382
351
345
306
337
359
269
388
267
304
323
283
260
344
384
329
295
363
277
303
325
298
279
369
279
310
261
405
264
364
290
333
280
343
320
342
337
272
355
330
337
283
353
258
268
248
248
242
328
308
255
265
283
288
276
331
310
384
360
273
360
310
358
330
288
348
247
278
336
330
274
280
212
284
218
347
228
295
356
338
333
369
292
292
291
367
225
285
271
322
356
361
353
342
321
321
346
243
389
372
325
287
327
332
337
355
287
344
258
278
345
342
296
313
359
293
290
382
347
289
273
298
350
294
287
354
288
267
290
349
251
304
288
378
350
332
379
382
342
355
227
269
308
297
261
286
321
246
355
289
302
377
297
354
410
296
318
290
358
344
331
330
296
279
320
278
259
357
376
413
341
304
251
386
356
377
332
396
350
352
430
311
329
231
327
320
255
302
259
345
350
352
347
278
378
287
271
214
298
409
309
312
232
315
229
324
375
347
257
411
241
320
359
219
234
363
303
249
372
261
381
351
373
318
342
295
316
329
324
350
345
320
289
280
305
337
332
306
258
319
395
334
357
321
325
254
349
289
349
328
361
331
294
263
350
396
362
324
366
390
311
228
269
301
326
304
265
286
337
269
322
369
274
265
301
386
229
230
367
267
261
337
393
271
349
318
319
244
308
292
314
358
313
185
259
258
350
337
368
294
381
420
308
454
333
302
299
348
330
312
394
269
389
317
307
335
355
273
352
293
312
309
321
315
356
339
347
285
286
350
305
307
277
315
344
343
287
303
382
334
336
364
385
332
250
363
364
296
323
369
335
375
307
264
271
243
365
273
297
366
229
217
336
302
390
357
241
342
337
303
378
262
269
219
266
311
255
272
272
285
361
269
383
310
342
338
379
327
315
429
312
303
378
359
242
280
350
282
275
311
325
358
338
332
319
270
319
349
292
357
359
354
313
320
298
292
281
323
310
342
287
344
303
277
256
309
320
369
273
411
346
278
296
292
280
391
319
358
389
380
345
371
284
341
305
347
276
329
306
202
330
352
340
290
341
382
285
250
317
280
337
317
273
355
244
316
273
266
355
338
348
331
341
380
262
247
338
287
279
393
330
289
359
264
366
236
402
315
301
329
305
247
262
362
298
260
288
281
336
368
253
236
298
273
317
346
390
275
305
206
315
317
291
248
239
355
307
372
407
300
268
275
401
303
313
381
299
359
322
366
356
376
338
211
305
327
284
257
367
318
319
255
201
292
340
278
234
410
328
362
393
209
311
324
301
287
349
280
346
369
348
391
256
362
386
315
356
294
344
292
383
306
301
324
365
252
345
355
315
295
342
315
333
298
373
320
319
310
346
334
303
266
270
307
259
301
275
327
309
368
335
314
325
339
333
316
259
281
289
331
341
343
277
355
281
306
282
394
263
360
341
281
322
297
274
351
364
274
282
346
336
321
249
283
270
379
265
327
326
260
265
242
358
404
294
379
289
335
245
270
262
384
294
308
326
278
287
294
279
347
321
246
322
236
338
296
286
363
342
326
293
311
333
288
303
343
276
329
411
336
327
298
323
332
299
268
345
296
323
291
324
324
215
304
319
306
336
319
310
326
335
246
306
220
281
323
323
334
284
267
331
369
219
299
343
318
278
425
360
332
356
277
380
314
301
358
254
334
273
358
305
291
276
205
255
356
359
287
414
320
297
305
247
332
271
297
315
290
270
368
343
275
315
252
250
338
302
380
380
303
361
338
282
311
397
335
305
287
341
366
376
235
287
262
304
273
288
382
303
299
284
332
259
305
264
277
300
255
321
443
322
260
331
327
298
392
315
341
287
313
325
277
289
257
308
333
306
326
343
328
330
321
294
341
287
289
326
254
345
323
346
279
308
340
318
280
295
250
339
323
278
319
345
328
272
244
382
294
361
355
269
322
291
315
373
270
301
330
320
284
328
278
377
220
316
229
218
328
276
248
334
343
167
320
242
314
270
309
255
361
315
382
283
258
239
268
312
263
360
227
296
321
296
272
321
307
327
316
320
295
308
388
315
263
328
298
354
331
355
290
396
355
370
271
316
397
343
248
354
337
357
312
269
313
268
342
272
222
282
297
286
324
334
303
330
210
353
352
294
320
308
301
217
357
299
241
388
417
306
289
279
353
269
313
254
284
327
285
307
309
360
301
262
278
263
306
295
379
307
273
356
344
285
316
306
368
318
262
200
293
273
328
281
403
295
227
294
322
360
328
398
290
282
329
353
328
326
326
333
386
275
322
370
286
280
352
299
383
324
264
287
272
290
289
352
334
322
334
254
319
335
347
326
294
348
314
272
263
288
327
180
377
308
335
225
201
409
372
277
291
269
341
396
339
298
353
386
343
302
321
281
274
339
264
358
333
252
395
326
290
318
386
354
326
321
343
307
329
302
350
327
299
249
296
269
298
298
207
321
283
338
384
302
283
260
344
320
246
276
267
243
319
380
226
286
335
354
353
320
264
346
371
241
322
293
312
305
236
336
323
303
320
382
302
309
363
311
301
256
403
352
336
387
396
377
323
282
352
303
360
281
302
353
277
300
333
258
406
305
276
271
265
351
286
398
289
266
334
283
357
293
365
373
297
335
317
397
306
394
322
349
380
376
293
316
353
330
312
268
322
391
373
374
249
236
258
327
314
311
376
309
340
221
304
345
405
292
357
368
185
361
314
314
384
291
290
293
247
235
266
308
346
270
316
268
330
345
252
239
328
335
302
287
364
377
192
228
353
348
266
295
243
372
253
335
357
329
316
308
384
315
298
362
289
322
314
338
350
269
334
306
329
411
334
174
309
268
249
302
371
313
334
292
346
341
346
421
268
367
356
290
357
310
279
304
306
291
282
292
328
304
241
321
305
328
281
287
285
247
364
284
268
288
244
276
340
324
398
298
347
352
273
323
302
381
318
323
374
307
347
289
258
332
302
290
267
296
334
294
264
261
312
363
279
261
337
341
271
333
368
336
361
254
303
246
326
312
325
307
255
301
294
244
356
356
314
236
266
269
350
239
260
311
380
387
206
353
336
210
368
326
268
380
374
316
354
382
291
346
290
242
315
324
305
349
261
333
321
297
361
409
222
307
269
300
266
299
297
246
361
312
283
407
308
342
279
339
281
345
312
366
375
333
257
390
285
356
295
255
363
245
255
295
377
339
287
304
231
344
352
339
334
357
323
319
285
290
276
296
243
323
332
305
223
282
356
351
306
311
354
324
259
308
363
300
372
363
308
273
356
322
230
298
313
280
273
314
373
268
291
298
288
368
293
351
305
311
335
369
401
294
245
378
270
375
325
375
326
365
278
336
268
375
258
286
337
284
293
306
295
203
266
272
279
306
361
356
337
349
404
364
260
350
289
298
339
309
196
298
302
382
253
352
359
302
429
327
346
321
336
359
334
277
348
393
318
375
322
346
334
240
313
257
331
312
305
332
282
320
350
294
306
356
264
219
304
371
275
288
234
291
333
357
318
359
275
234
296
423
303
250
281
334
322
313
362
190
338
275
204
336
351
321
336
302
231
297
373
339
281
262
308
357
262
302
286
290
286
364
338
351
341
209
235
361
265
350
332
343
270
366
300
302
294
330
324
239
348
267
275
207
232
376
390
355
392
328
350
292
360
299
367
289
228
338
318
360
323
223
291
328
287
341
315
405
278
267
326
358
204
313
309
306
292
297
335
244
355
302
270
331
244
241
313
282
271
289
383
405
286
327
437
308
339
214
375
294
212
345
294
238
379
280
354
353
320
399
273
336
329
341
341
271
290
335
365
340
393
302
237
304
360
431
342
282
344
354
281
268
346
345
257
348
252
282
317
207
255
277
310
363
310
357
351
283
381
356
202
335
384
314
301
282
261
367
273
248
363
402
360
299
344
307
248
366
323
382
245
343
341
264
377
356
304
278
342
382
207
386
331
315
313
292
278
295
323
320
322
363
312
316
301
327
336
294
385
316
277
277
348
288
383
267
345
321
405
349
201
313
342
361
364
313
228
295
257
372
325
329
304
257
331
243
254
370
225
332
244
273
335
355
365
328
346
321
377
352
364
334
321
282
294
326
304
279
352
251
353
254
340
339
338
333
383
288
338
323
295
287
387
337
224
363
306
323
357
353
275
276
236
291
391
330
312
402
260
324
267
270
320
333
289
356
333
307
294
365
347
295
364
384
228
300
304
309
357
285
339
317
238
322
255
265
333
324
295
270
351
326
262
239
323
245
371
290
297
301
336
333
349
288
379
266
353
268
348
353
403
287
372
287
357
333
344
309
226
341
377
366
336
255
267
389
325
378
295
398
357
329
289
372
351
380
333
309
314
258
338
401
321
352
329
357
422
381
308
339
287
390
333
274
328
331
289
381
382
419
355
382
288
402
324
242
282
326
319
311
260
298
323
321
187
281
261
280
380
319
286
332
347
317
355
308
370
248
287
246
241
298
343
238
263
288
264
291
391
286
326
385
326
288
303
319
373
309
342
280
351
353
245
283
350
354
293
358
379
288
355
351
311
332
319
307
285
318
268
298
173
377
308
391
348
250
318
306
309
244
258
220
305
370
306
306
277
312
336
221
270
310
372
261
272
247
306
287
270
344
256
339
318
314
257
318
290
302
244
350
384
308
322
342
274
323
297
343
367
326
308
320
302
332
365
367
282
391
299
342
356
307
270
375
325
370
348
274
314
271
249
279
284
285
380
292
294
265
362
356
319
214
347
469
314
397
337
331
294
299
322
325
293
244
385
265
371
322
301
352
220
360
407
266
266
363
332
277
274
281
307
359
239
328
312
271
343
310
321
389
454
297
298
339
283
389
273
354
249
220
318
269
316
370
322
335
248
301
367
392
318
278
268
270
349
342
235
306
321
338
325
319
318
288
356
372
292
266
330
301
247
291
369
333
344
353
321
318
256
297
232
383
305
275
296
340
312
257
298
350
334
359
327
284
337
361
268
345
259
418
293
307
358
294
227
334
311
316
242
347
287
288
288
372
308
330
352
272
365
267
380
328
343
404
259
338
278
323
322
367
272
340
286
301
285
327
352
283
277
356
284
349
326
367
327
364
313
348
358
211
362
355
314
255
259
321
257
258
292
389
294
370
331
247
265
281
258
293
305
288
316
243
325
298
320
264
354
284
327
286
240
282
273
378
271
273
280
282
298
345
296
335
326
274
352
332
276
303
311
326
448
302
300
273
402
281
320
312
322
380
361
277
305
320
305
353
346
347
347
251
296
316
336
283
303
336
362
301
296
255
418
329
241
296
307
303
315
379
286
349
268
371
321
281
305
299
260
355
331
338
316
324
320
318
232
360
335
390
281
298
268
287
340
328
306
237
240
351
286
334
331
315
259
288
329
286
289
308
302
300
371
384
205
332
279
316
335
404
321
316
369
410
301
284
344
358
313
327
326
272
320
290
361
292
286
237
311
278
349
332
276
363
288
321
320
352
254
321
329
198
284
327
289
246
360
344
367
274
298
316
337
251
250
255
305
290
240
298
292
413
267
346
320
284
283
335
276
433
276
347
339
216
315
345
323
400
269
384
378
383
279
232
346
331
371
255
340
269
348
407
241
342
295
276
314
344
324
420
312
362
392
399
402
300
299
300
300
315
320
300
294
290
329
352
310
322
351
312
323
317
324
332
271
308
392
286
263
320
283
315
307
336
322
334
281
279
312
396
347
280
309
384
256
270
263
323
355
289
313
307
331
350
306
296
290
323
246
378
289
381
302
387
337
348
378
355
372
272
361
248
188
226
344
322
365
339
250
218
269
287
265
353
371
377
321
335
317
335
345
316
264
315
280
377
322
268
331
313
349
261
267
314
220
311
275
350
276
311
267
335
245
346
277
234
253
275
324
192
302
294
355
358
244
273
311
334
275
254
295
347
371
349
272
328
303
319
271
295
247
389
322
290
294
325
379
344
328
266
358
332
332
230
334
322
272
319
358
321
200
321
346
346
357
312
323
300
270
341
318
323
352
315
269
315
339
308
332
351
266
363
303
315
321
333
368
320
363
383
301
310
332
333
362
296
308
324
196
374
264
342
357
397
317
379
337
339
281
278
346
283
304
349
281
357
242
266
334
346
318
316
252
360
319
337
304
296
297
270
359
317
333
341
262
322
248
262
315
300
265
293
329
279
265
316
305
347
225
328
363
359
216
360
318
292
360
321
281
320
330
288
314
300
301
265
324
351
324
282
288
398
331
299
254
379
326
280
255
295
326
281
321
331
370
297
244
374
312
322
333
336
349
377
289
337
310
304
301
239
356
379
339
350
379
256
306
338
302
358
309
265
343
370
308
379
291
263
284
268
324
350
297
388
329
304
334
342
365
276
391
286
283
367
293
294
232
395
305
281
340
272
372
305
316
349
301
331
345
301
343
380
375
355
335
325
336
326
326
311
319
283
305
266
280
296
264
298
307
364
336
311
266
254
324
266
232
278
272
276
236
275
259
255
307
354
269
293
267
280
335
294
295
309
299
242
261
375
323
354
305
272
348
353
294
289
287
341
302
339
291
361
281
340
268
270
274
380
398
225
353
303
274
331
338
340
351
356
272
388
299
202
367
285
282
278
311
307
305
285
352
332
330
349
333
301
267
267
257
289
310
340
307
275
343
205
288
312
277
316
298
411
243
314
283
298
354
320
234
359
324
368
358
364
218
280
415
240
279
300
347
341
318
347
289
258
286
344
289
363
346
360
283
261
282
226
316
369
299
317
301
238
277
329
190
351
258
340
360
312
327
308
330
325
314
285
337
311
273
351
288
282
266
284
259
259
296
338
309
324
273
315
307
385
335
230
282
246
304
261
269
286
296
263
250
353
340
352
363
293
346
282
331
393
279
274
332
316
327
308
289
225
352
386
284
315
306
364
316
318
279
324
318
286
364
258
232
374
352
350
333
286
257
282
378
290
362
299
289
368
362
353
340
298
353
338
314
357
315
382
234
346
351
357
271
375
311
299
363
252
379
256
393
228
294
365
348
336
369
268
284
241
385
333
380
333
282
338
305
363
291
276
357
301
337
321
343
309
284
299
331
366
298
311
277
368
307
356
302
317
329
303
272
304
285
431
381
293
281
332
385
317
292
305
329
394
281
415
264
313
279
382
267
350
320
331
318
264
322
296
386
420
337
362
302
307
270
354
308
376
319
296
322
302
297
318
347
357
205
406
333
310
368
378
314
263
373
296
353
336
313
313
342
325
337
341
314
386
341
313
288
313
285
296
412
258
343
309
311
327
335
312
274
300
206
266
381
392
318
359
263
391
253
372
303
299
242
300
313
324
296
228
335
276
286
339
341
306
319
339
332
353
304
308
366
361
302
401
274
312
284
382
265
367
327
259
409
365
298
380
364
259
270
341
327
300
349
300
283
310
303
244
239
378
358
331
277
289
313
310
331
321
346
316
359
359
310
282
281
298
280
362
315
402
274
401
316
289
263
345
331
334
325
274
393
309
344
245
351
318
310
261
282
357
344
335
390
303
298
317
355
330
363
331
267
353
305
337
316
340
351
338
324
353
305
290
370
254
401
344
386
319
297
279
232
231
235
389
335
248
310
319
376
304
185
319
365
240
335
404
278
264
300
399
251
314
265
415
336
297
339
276
363
352
435
330
299
295
351
409
212
317
386
327
360
415
299
233
310
302
309
251
356
341
381
259
317
238
358
314
335
248
310
311
314
289
375
332
382
292
236
342
252
263
350
390
270
307
290
401
267
280
359
392
298
299
307
321
318
363
374
391
354
344
359
288
296
325
337
374
291
371
295
323
413
346
274
362
324
329
307
296
371
380
264
359
329
308
362
319
295
251
307
264
333
333
345
267
278
362
356
280
271
310
305
287
334
284
320
255
316
369
303
325
329
239
377
289
406
365
217
279
351
329
299
363
291
253
293
292
331
277
252
278
294
275
326
284
406
327
326
257
305
334
262
299
329
216
318
325
260
268
297
311
315
297
305
372
301
288
328
264
281
287
264
352
243
334
303
320
322
298
211
280
247
225
308
348
303
326
270
381
348
362
296
395
299
349
346
409
246
402
347
359
413
400
274
257
348
358
352
280
378
352
290
332
322
258
253
283
327
322
385
378
277
374
331
322
251
300
394
313
365
313
350
328
200
245
348
352
379
363
381
391
312
338
284
276
250
306
236
331
356
330
277
425
370
301
300
387
378
323
310
298
328
316
281
375
350
301
334
347
349
292
345
373
292
237
229
301
290
309
299
238
293
312
285
341
318
295
261
300
270
308
339
378
307
340
307
410
323
303
418
253
276
264
334
323
280
310
207
333
284
254
280
346
233
337
309
404
320
370
303
227
309
372
315
292
301
298
295
324
386
438
312
350
252
270
286
345
363
380
260
356
271
225
318
380
302
390
272
385
306
301
306
360
323
376
339
348
328
299
266
270
304
350
268
258
314
258
243
271
331
376
285
320
397
332
254
299
239
267
419
271
340
288
277
304
323
259
338
290
254
361
248
304
336
329
350
346
284
274
308
315
462
308
257
363
262
302
224
286
310
374
315
352
422
307
305
252
267
271
242
256
302
297
285
352
276
367
333
228
355
269
380
316
334
309
400
327
332
337
333
345
331
238
315
341
358
238
283
206
385
308
300
273
319
316
328
293
347
294
310
394
263
263
248
329
353
359
317
351
298
290
354
288
301
298
257
292
304
323
354
301
254
287
237
290
321
332
357
306
399
339
308
339
305
279
245
385
328
271
292
307
357
323
281
297
350
369
232
289
329
336
341
255
334
349
330
352
218
294
237
290
370
331
364
279
370
263
294
291
325
320
314
357
370
387
332
271
241
364
355
296
361
337
331
310
328
369
300
235
279
424
298
292
294
338
321
331
287
318
309
284
332
316
248
290
216
303
328
343
375
339
316
344
340
231
363
237
269
299
362
309
345
338
294
310
272
342
372
299
343
337
297
359
271
310
221
340
364
370
318
303
316
299
253
367
337
314
309
382
366
266
371
333
310
311
356
341
301
304
412
330
364
234
279
301
436
348
389
385
342
306
275
261
317
310
282
264
278
319
390
385
320
354
306
211
261
290
328
337
266
338
312
306
348
326
354
351
362
271
272
269
390
227
379
299
356
293
306
379
303
335
294
338
256
349
319
252
356
349
216
352
322
287
294
341
266
275
272
385
352
288
372
371
267
278
278
321
293
282
355
308
361
299
319
255
210
311
366
277
301
309
367
312
344
350
309
235
328
331
392
315
281
306
351
231
269
340
314
365
336
279
280
286
285
271
332
270
327
417
340
269
293
362
299
342
211
281
291
306
343
322
318
306
320
300
268
289
320
320
351
290
273
318
393
325
347
354
382
271
307
397
326
317
314
264
320
303
369
339
333
296
297
308
391
228
321
382
399
256
317
257
292
226
348
238
340
369
265
268
320
418
317
363
254
358
304
251
362
376
293
281
378
286
364
255
347
303
314
379
289
301
322
324
238
294
357
366
320
352
245
345
323
399
277
271
426
256
285
321
325
286
318
332
275
319
326
326
252
306
367
363
280
302
329
338
330
322
336
311
271
289
333
323
279
383
325
266
245
320
346
367
305
285
276
318
349
365
268
430
330
289
313
211
347
338
227
348
299
277
337
340
305
252
280
313
289
311
238
331
300
396
341
252
316
244
322
278
244
241
312
306
289
262
321
324
300
235
292
311
346
295
304
310
287
328
303
363
367
394
310
397
237
331
318
210
256
323
373
346
328
317
335
293
206
210
415
291
349
321
314
265
341
316
299
325
327
262
404
307
294
307
370
396
225
361
254
199
259
361
233
201
292
331
253
391
234
293
284
324
312
367
311
261
320
290
321
238
322
329
317
250
351
291
321
384
381
271
329
294
324
298
235
309
258
311
384
290
262
320
276
345
301
299
294
388
361
251
287
289
222
279
313
317
322
300
411
279
379
307
283
393
289
363
357
265
307
287
337
205
349
310
278
329
339
337
303
302
293
278
341
306
319
276
347
428
381
369
331
363
342
303
355
340
240
317
288
349
332
332
304
353
296
253
283
292
363
358
330
348
341
348
302
382
298
340
269
318
352
332
191
296
278
364
273
281
287
306
296
363
342
324
290
312
322
303
297
308
343
316
342
374
307
183
297
294
272
331
283
322
395
368
182
359
370
378
352
368
416
259
307
366
236
429
317
277
342
355
338
369
345
291
325
287
256
351
253
365
231
342
335
306
317
251
326
311
265
342
285
304
309
306
383
333
334
314
316
264
265
314
366
340
356
344
332
369
312
274
327
318
218
344
324
312
282
272
278
343
305
328
351
254
250
393
314
308
299
286
331
312
291
385
333
292
395
337
380
366
316
389
300
329
300
306
315
292
278
299
286
356
378
278
270
338
259
277
306
294
355
356
299
324
335
265
335
342
352
323
336
212
322
351
306
317
320
234
325
297
340
282
322
336
272
263
301
374
301
356
302
293
385
296
411
309
240
390
310
339
366
331
311
315
379
310
263
339
318
362
342
326
337
348
361
288
365
338
401
275
312
319
321
283
342
256
272
251
346
305
389
267
337
237
334
369
283
294
276
221
336
314
388
343
336
283
307
359
334
352
351
284
369
338
279
315
288
349
307
356
319
381
307
313
282
383
325
360
285
405
374
244
327
262
348
361
368
386
358
340
349
353
304
353
272
338
282
306
303
333
302
244
344
412
259
354
203
346
394
215
274
291
247
383
279
307
291
278
292
280
324
274
271
330
310
271
283
314
253
361
325
350
272
289
255
362
301
239
249
297
315
364
231
307
286
356
302
334
306
349
260
259
232
311
300
237
302
279
319
243
341
359
257
350
265
362
422
299
309
327
308
259
335
339
354
285
364
373
305
260
377
396
290
345
293
214
285
353
313
291
356
272
367
260
304
300
325
355
279
326
243
348
300
294
355
282
320
312
377
304
273
323
279
350
287
323
248
354
320
309
303
318
330
264
289
414
252
335
276
316
301
342
255
360
353
356
350
342
319
277
266
281
270
308
344
315
287
219
242
340
378
267
313
292
323
305
265
345
361
279
370
279
322
368
306
282
334
315
294
232
435
238
263
368
278
317
301
338
318
401
380
351
302
290
295
362
368
349
298
313
322
326
287
279
281
331
355
269
285
305
339
341
287
311
381
341
304
269
314
320
288
258
273
248
263
397
338
416
318
335
375
260
272
274
296
221
276
275
279
291
303
321
374
254
298
424
356
312
348
295
338
351
335
284
293
338
209
316
273
360
305
278
228
259
240
247
328
349
324
368
346
329
403
328
388
248
392
384
301
310
268
259
285
291
225
285
307
351
395
315
381
304
317
313
292
302
269
305
309
341
327
369
249
315
372
270
267
409
355
344
345
243
363
298
300
253
381
246
393
302
396
238
401
335
252
386
385
393
355
191
344
352
321
261
282
244
294
337
419
312
366
326
346
345
297
266
321
391
238
367
268
243
279
286
279
306
292
284
344
275
233
334
222
339
410
402
309
257
326
332
334
316
281
312
370
303
279
298
280
360
338
374
305
307
317
219
222
268
309
261
351
222
390
305
345
285
246
347
217
305
259
340
317
341
277
352
244
221
348
281
365
329
277
318
288
302
338
339
295
346
324
291
358
360
308
406
344
339
309
267
277
301
330
337
303
216
298
293
348
295
387
268
341
285
339
306
317
326
330
308
274
345
289
298
335
347
321
358
261
287
351
299
315
240
337
318
335
283
288
385
375
303
279
310
314
315
333
387
279
266
313
326
273
363
335
389
256
392
368
285
403
275
377
280
296
395
315
287
227
332
356
250
338
350
317
286
305
412
284
251
299
318
314
354
372
252
354
287
318
244
323
328
367
266
299
342
304
208
350
306
235
344
288
254
300
327
247
294
300
340
341
319
289
371
284
368
253
152
302
269
345
350
327
382
384
371
369
369
250
306
243
302
301
368
298
321
392
347
362
326
295
316
289
349
281
333
389
336
359
258
288
252
335
324
374
270
296
266
313
313
324
379
303
408
341
353
394
338
342
325
326
338
330
405
254
221
322
325
294
368
345
363
283
302
317
345
226
359
388
323
354
224
391
280
253
273
341
282
311
344
323
271
355
408
263
350
402
321
300
308
289
321
270
287
298
307
290
216
249
330
335
326
281
245
339
257
351
303
405
289
294
236
309
383
223
348
415
335
354
316
266
377
313
312
291
251
350
338
334
338
270
328
310
245
344
325
337
371
312
375
235
336
356
287
260
257
352
346
359
357
296
267
275
349
342
292
246
263
385
360
246
343
262
292
354
336
325
298
303
377
381
276
325
318
298
258
425
339
311
349
335
273
382
320
286
323
307
352
322
307
337
214
230
223
384
311
285
327
319
282
302
346
291
368
281
404
307
346
301
332
420
264
276
304
400
294
300
262
278
388
284
335
311
293
253
357
317
291
298
316
294
351
334
259
326
355
270
306
287
278
272
307
265
319
315
275
276
336
394
370
399
408
355
319
346
351
307
362
309
291
290
293
328
317
356
310
273
265
313
390
294
332
277
322
337
337
358
414
273
233
278
424
306
308
280
357
333
384
353
279
281
358
329
309
336
364
274
320
301
266
313
417
301
267
331
301
237
300
323
286
291
258
386
299
300
280
392
347
333
273
279
348
272
331
383
312
275
299
273
398
395
294
270
298
324
360
346
387
213
275
376
370
414
381
367
328
351
397
382
352
379
274
305
281
215
323
270
294
319
366
318
360
325
264
361
324
355
307
290
255
316
335
297
335
267
388
345
300
410
304
310
292
366
283
339
248
223
263
327
258
329
294
255
323
285
328
318
347
281
304
286
368
346
390
328
285
341
347
275
327
283
362
355
289
370
284
301
396
261
350
309
303
308
326
248
266
302
312
282
306
302
312
304
288
314
291
214
276
330
251
344
243
285
297
341
398
324
329
281
251
340
226
288
326
311
310
245
370
236
212
330
344
342
255
284
366
340
313
322
331
319
344
257
299
338
341
286
337
357
383
345
293
307
344
268
340
296
321
300
294
260
299
315
266
265
296
379
318
336
368
357
247
351
326
338
314
358
289
368
345
292
312
327
355
317
274
319
327
229
329
352
365
307
322
294
253
332
297
393
242
299
285
279
341
319
333
293
365
273
349
299
324
301
312
286
219
252
359
298
305
372
332
318
343
309
335
278
278
292
290
345
298
342
237
324
365
354
281
255
392
263
350
333
290
362
280
359
356
336
266
283
367
282
352
290
256
345
304
345
269
316
267
289
273
215
327
307
202
293
351
249
270
378
258
353
338
258
297
261
332
264
320
334
378
443
280
240
314
268
368
267
247
339
410
276
268
336
253
298
354
291
294
307
282
358
285
277
336
321
355
336
261
306
295
276
308
268
265
255
329
299
311
263
404
254
301
248
311
256
260
340
259
324
341
282
381
264
256
270
366
393
313
331
292
389
321
268
325
335
403
355
339
332
279
355
357
249
311
361
309
335
357
357
307
342
333
234
291
322
312
415
333
381
293
335
291
293
364
339
320
404
286
300
373
308
289
324
307
298
358
395
310
360
321
265
354
433
332
306
206
244
291
276
290
288
284
316
358
282
298
305
276
420
320
389
380
380
275
325
294
242
345
306
315
288
240
341
276
334
302
306
321
246
330
263
343
342
273
349
339
363
320
310
316
282
292
280
171
315
320
296
442
386
269
281
290
325
282
299
420
270
344
295
315
280
362
247
377
296
290
318
298
312
344
266
287
376
279
231
332
336
297
345
278
258
355
330
331
282
294
295
315
303
347
303
251
208
323
337
371
303
291
354
313
322
353
322
341
270
293
287
354
285
316
319
301
311
337
301
307
296
306
380
335
246
321
297
316
308
320
293
245
344
311
227
362
324
297
369
321
270
383
286
367
258
299
290
416
338
359
347
265
292
349
276
312
222
300
348
310
251
298
277
319
372
386
378
381
282
268
226
289
291
353
225
280
301
398
327
306
293
283
335
321
369
363
395
335
272
321
339
282
344
349
294
342
344
265
367
304
254
207
389
291
383
343
327
309
378
311
364
334
345
339
221
347
307
315
309
230
357
240
320
416
358
290
383
239
279
273
295
336
278
288
220
249
332
286
255
214
313
273
288
297
396
239
312
344
307
290
292
300
322
287
311
270
305
305
310
329
317
349
329
342
307
367
331
404
288
277
306
260
360
190
365
327
317
300
269
247
268
340
283
396
244
360
271
312
311
219
217
405
309
325
303
337
299
309
310
235
380
339
331
343
358
297
321
304
323
283
348
259
301
318
345
314
323
260
255
316
302
330
336
310
362
345
289
296
437
221
371
371
321
204
227
348
306
312
300
285
345
363
313
345
306
354
323
322
297
271
297
299
328
363
345
412
395
264
261
251
354
295
321
333
351
305
368
336
283
313
323
280
289
354
287
393
349
214
277
305
325
310
392
262
348
352
386
354
323
290
302
370
346
351
317
346
258
364
329
301
293
283
277
280
294
388
319
344
337
204
350
231
384
333
335
294
313
354
252
351
286
255
385
290
359
370
323
293
326
358
301
365
328
281
239
303
278
386
327
301
296
400
280
357
325
235
351
334
329
293
292
308
247
282
367
366
308
261
306
238
307
372
392
312
328
316
390
337
342
297
362
183
363
350
382
359
334
288
355
417
249
234
354
320
340
385
368
326
303
249
333
239
319
330
285
311
349
316
301
342
357
285
307
267
239
270
331
344
340
359
301
375
389
337
270
285
392
318
322
307
331
303
272
321
314
313
380
328
251
302
280
273
337
264
342
349
327
308
266
310
289
364
281
355
274
334
264
309
343
300
344
204
362
239
365
238
367
327
287
271
353
371
253
259
342
331
277
307
351
320
317
318
314
397
268
274
358
273
398
369
307
309
368
301
291
336
330
297
351
354
334
316
316
337
275
267
333
289
386
298
267
370
347
246
308
336
335
315
442
309
292
362
316
310
347
309
367
321
297
203
411
312
285
241
311
351
281
356
321
396
323
365
377
318
297
327
374
307
340
289
292
309
389
418
286
303
262
361
376
208
340
305
351
363
297
308
307
301
380
255
301
269
363
293
241
360
291
398
298
268
332
321
265
225
327
324
312
300
270
252
322
299
287
356
342
310
336
331
330
342
354
264
309
347
292
364
386
261
345
350
352
289
295
346
334
354
299
301
388
358
243
230
315
276
365
266
253
363
278
302
362
332
367
389
301
254
290
228
326
284
266
253
242
343
386
356
311
331
296
312
274
320
388
297
322
306
295
344
326
343
318
267
314
253
318
303
240
287
322
331
319
329
338
312
318
358
383
338
350
276
312
381
358
283
297
261
295
344
325
273
310
335
355
348
366
325
373
274
340
254
317
345
219
384
305
255
302
301
379
355
451
358
410
328
355
315
352
264
332
295
380
264
324
299
346
325
234
317
269
431
252
320
299
339
229
275
350
348
306
306
278
308
358
381
281
264
321
324
330
309
315
353
353
338
272
348
384
236
281
343
226
349
339
334
308
306
324
291
320
384
299
220
387
324
343
284
346
258
337
285
292
272
313
398
282
285
304
291
315
296
276
345
291
262
365
368
296
365
260
307
271
337
375
375
294
362
320
339
376
402
331
280
272
306
211
394
327
331
241
267
313
288
283
341
245
302
346
254
335
392
242
247
247
289
312
322
384
300
245
318
325
233
358
328
274
325
256
266
333
347
291
330
272
276
427
310
287
304
299
350
318
250
244
296
285
243
349
337
312
299
338
318
361
286
262
280
359
281
274
330
346
351
342
279
308
274
269
312
321
300
288
284
248
323
342
291
327
327
288
322
375
265
398
257
352
342
270
376
307
345
309
274
306
335
246
331
286
285
311
242
350
269
405
329
266
267
310
395
276
342
314
289
356
269
359
324
306
387
284
342
349
385
316
312
267
246
358
370
299
256
295
300
297
366
340
364
299
333
299
398
338
356
294
303
214
350
284
394
352
329
277
367
284
307
338
278
291
399
312
321
314
304
371
356
348
270
299
337
331
360
333
365
282
276
370
364
325
243
252
351
375
340
251
372
267
310
251
345
303
389
291
385
270
322
332
266
326
364
345
331
352
317
315
360
303
343
293
309
346
297
314
384
245
256
355
346
356
250
265
304
292
298
337
417
233
277
369
381
336
345
283
336
300
338
302
249
293
222
198
339
411
235
348
302
274
313
346
339
245
261
377
400
379
311
344
253
305
264
316
349
315
340
298
343
399
355
278
261
262
244
389
313
281
336
277
340
237
369
250
318
339
325
384
322
275
302
283
333
241
351
384
276
301
409
268
398
374
244
242
328
262
266
329
361
304
357
335
362
324
262
268
268
335
331
312
311
330
353
287
402
354
245
379
374
275
390
270
398
316
354
262
346
322
362
297
297
354
314
328
422
256
320
290
281
226
342
220
350
343
349
321
380
324
346
365
335
245
358
353
318
304
356
325
367
307
251
336
362
371
258
375
358
267
335
283
351
272
316
328
306
284
326
327
304
272
368
272
259
246
269
320
321
279
239
340
307
241
302
350
259
275
396
324
333
327
317
386
349
300
262
378
322
295
240
314
260
314
304
325
337
323
277
375
318
329
332
316
386
313
352
311
277
189
245
320
400
341
323
326
319
330
375
265
324
288
307
383
267
364
340
268
315
240
298
362
310
294
343
362
281
349
287
330
319
347
240
302
304
300
350
299
285
274
357
297
309
382
250
334
340
326
296
336
252
300
354
322
290
322
343
256
377
365
263
263
278
313
322
362
343
364
349
297
302
210
332
262
251
328
316
388
352
293
316
315
284
354
338
337
366
276
260
315
281
324
296
275
265
407
316
320
333
295
354
258
285
365
315
361
255
370
297
346
331
396
321
338
304
379
323
297
344
238
312
312
331
328
415
345
293
295
359
287
370
302
286
351
276
320
356
363
284
312
202
382
326
289
256
302
288
360
256
358
273
274
228
304
316
329
324
267
326
374
275
267
373
309
332
320
289
266
332
298
304
345
273
302
290
305
345
362
328
355
355
278
267
304
307
324
415
274
338
391
320
357
284
360
278
375
344
302
280
335
344
332
303
328
308
363
264
292
273
322
207
211
374
299
335
376
283
299
366
240
347
310
301
301
294
298
301
312
356
269
312
273
329
317
256
297
398
326
284
315
321
210
240
285
345
269
311
277
281
244
332
307
281
292
365
272
331
217
234
258
308
336
361
279
276
253
282
316
330
327
381
330
370
370
322
260
348
336
370
319
321
320
333
324
216
329
289
291
362
302
249
361
300
377
386
313
376
278
302
273
328
289
355
297
297
364
360
248
317
318
350
350
374
324
257
320
346
284
243
276
361
315
320
372
324
295
309
309
317
327
395
285
255
321
355
301
329
249
312
273
285
285
276
339
287
328
333
257
302
276
285
347
282
258
362
324
296
406
270
273
296
287
309
336
279
343
312
267
298
349
356
325
347
280
345
201
335
338
375
297
316
324
322
334
272
373
293
243
319
330
314
397
363
248
282
305
339
272
388
369
335
385
342
359
278
320
284
366
336
328
274
285
326
352
233
276
300
358
229
380
325
268
331
265
315
272
347
274
306
289
323
400
283
335
319
345
281
304
297
263
282
332
299
265
352
315
271
307
309
374
342
307
348
348
297
318
308
313
378
287
329
244
368
414
256
331
345
351
321
302
323
236
300
344
321
289
311
330
399
341
225
397
303
297
326
268
328
354
333
393
383
259
302
344
372
349
341
342
317
402
288
277
231
317
303
343
279
306
320
219
309
290
374
276
309
370
291
306
389
321
254
298
257
328
295
343
334
243
270
279
328
295
357
321
277
383
376
348
207
292
307
280
258
361
270
363
372
366
241
196
293
246
290
272
315
396
229
350
288
329
307
460
382
342
288
286
208
290
313
321
319
195
316
296
326
321
327
338
280
328
366
235
315
296
316
293
346
272
304
370
357
239
364
367
303
349
295
336
342
266
374
387
294
363
282
293
367
330
361
348
411
356
355
250
375
343
299
284
257
203
389
299
263
313
340
343
270
271
304
304
350
299
236
356
329
314
412
349
351
248
322
277
306
273
284
288
293
309
369
318
337
332
281
317
299
248
236
340
298
364
380
286
317
355
285
222
379
263
274
320
280
284
310
306
345
308
279
300
375
307
386
377
263
290
304
326
347
332
294
288
329
271
234
321
330
309
183
219
368
393
330
295
372
284
381
241
284
247
373
338
314
360
304
298
284
259
306
367
392
319
317
295
291
355
327
331
322
285
308
258
378
377
361
285
315
389
281
331
262
307
375
332
309
367
331
329
368
265
308
332
326
258
222
273
321
370
338
331
333
380
352
302
371
282
287
315
354
290
370
350
335
375
329
276
309
360
231
246
256
288
192
318
351
270
288
370
314
338
343
328
269
291
279
272
301
408
306
277
379
318
332
314
368
251
292
378
283
294
298
354
301
322
416
277
330
310
346
317
282
290
321
284
377
306
291
331
270
293
262
348
218
359
367
300
323
366
248
277
202
311
312
345
313
266
306
350
292
325
340
389
317
264
338
319
239
301
324
312
379
282
207
240
251
317
319
374
362
309
323
311
314
322
248
310
307
300
316
352
312
273
335
272
315
338
400
386
392
204
334
278
356
259
320
334
341
296
257
301
312
321
318
227
239
299
321
276
281
258
354
340
334
317
341
232
284
268
310
333
295
320
302
320
147
348
326
265
220
363
388
354
263
222
249
247
361
378
309
343
355
273
346
340
349
408
302
337
250
267
275
262
249
224
225
308
291
335
257
332
340
340
328
342
388
356
330
289
330
280
313
271
342
353
286
309
234
372
295
343
318
212
346
310
336
322
359
344
306
388
356
276
263
328
297
354
299
325
346
299
290
246
388
355
294
396
342
362
422
303
375
335
355
257
344
383
271
349
290
383
296
291
353
356
349
299
324
387
333
279
339
260
322
338
368
322
334
306
259
271
276
313
309
356
329
318
354
377
293
281
365
344
295
308
323
252
277
281
308
282
252
298
319
277
275
373
324
323
265
322
333
207
238
340
334
330
326
264
304
335
199
366
353
370
281
356
295
277
334
342
319
306
242
280
276
312
336
283
356
375
289
371
253
335
354
310
373
403
323
327
387
239
287
354
245
350
376
269
379
321
301
325
242
306
274
245
344
280
241
376
320
281
305
318
308
301
326
328
356
301
317
355
321
335
230
318
361
277
369
313
312
333
303
274
385
161
365
337
366
300
258
354
361
257
293
348
426
387
334
289
342
206
369
289
334
293
268
237
239
298
307
272
265
358
324
310
323
252
281
348
300
334
316
308
319
405
291
317
291
374
278
293
342
308
316
337
325
299
248
344
357
323
311
248
316
353
280
284
330
341
298
347
286
359
315
313
278
326
250
243
330
299
340
315
253
235
395
325
389
334
309
352
341
257
368
361
319
307
350
357
321
293
321
366
324
260
308
297
396
389
284
343
341
272
285
268
349
266
336
372
346
325
351
235
250
333
361
388
338
348
272
276
316
279
401
313
339
383
334
348
322
334
362
279
243
311
360
339
224
371
331
293
309
344
262
312
344
333
345
304
305
295
353
258
351
319
328
294
341
283
304
295
341
384
413
385
191
340
349
293
254
259
471
390
308
301
341
248
321
336
367
335
285
392
343
333
253
356
332
296
367
253
337
326
374
303
318
303
301
252
289
297
234
231
371
318
270
302
335
294
256
338
357
326
316
274
310
350
352
317
272
369
320
341
276
251
298
310
267
306
329
240
378
352
291
290
303
242
293
325
338
273
328
240
331
257
325
226
264
304
282
361
382
359
276
380
375
281
287
336
285
383
257
316
388
301
297
304
261
284
269
301
242
281
319
390
446
370
363
365
319
331
330
234
308
351
299
320
291
342
413
288
375
312
285
196
244
327
277
361
358
337
354
303
338
282
311
253
366
303
310
347
281
373
264
315
378
274
356
307
279
392
362
259
237
305
339
324
249
346
310
315
272
357
277
360
316
314
276
349
358
272
324
299
358
363
268
394
381
281
368
317
278
279
266
349
385
311
338
312
320
331
304
177
303
368
267
334
309
288
231
343
325
278
279
241
376
318
367
261
205
254
374
330
341
340
285
408
288
336
305
341
335
346
287
248
343
307
285
296
302
363
391
305
302
239
239
287
274
339
279
284
337
259
275
248
285
311
323
321
274
255
261
306
331
301
300
307
186
297
392
253
261
287
250
282
300
318
346
270
338
330
320
283
277
329
301
307
326
238
311
317
338
343
328
269
299
259
359
327
362
387
291
264
335
350
313
281
287
302
254
368
244
319
306
277
271
343
294
363
276
231
367
425
343
397
321
318
237
392
317
338
282
307
262
361
355
299
256
371
232
369
336
447
364
337
318
315
332
292
301
364
265
311
365
334
314
255
350
302
323
365
351
365
267
310
310
254
298
231
295
368
307
310
326
333
356
272
249
341
285
305
345
337
345
334
280
231
354
333
228
333
234
351
311
343
335
339
334
263
316
301
243
284
300
385
374
320
296
336
261
327
319
274
306
324
253
347
279
311
232
298
348
239
344
303
334
359
368
390
343
387
319
273
300
353
324
280
340
238
314
323
292
287
417
312
315
357
306
296
354
330
330
297
330
271
387
332
333
314
281
368
257
313
259
333
286
340
283
323
339
228
318
262
363
289
350
388
303
310
281
391
334
322
365
310
400
336
343
348
347
325
245
324
320
350
327
281
440
276
383
225
351
293
274
338
230
223
269
307
263
351
382
280
323
330
261
392
304
331
287
343
284
353
288
394
236
340
294
299
295
304
293
371
259
343
345
284
322
278
318
396
319
325
339
295
354
296
355
324
326
327
294
331
277
333
289
274
251
321
325
321
262
274
311
303
266
369
281
351
275
254
377
297
339
383
280
298
238
198
298
333
318
340
318
317
308
335
377
372
281
365
301
395
317
304
294
218
351
217
300
422
281
348
338
310
258
318
374
244
303
337
384
314
320
335
353
331
356
335
397
261
304
328
337
280
347
276
423
368
301
277
300
336
368
273
357
394
370
333
296
342
389
335
221
310
270
356
358
341
237
361
293
316
286
304
328
274
364
168
355
380
328
307
330
323
270
240
310
326
284
288
266
260
344
301
336
427
261
337
331
346
215
254
325
341
390
319
233
244
397
290
359
381
311
296
271
354
266
360
371
337
313
277
262
351
271
311
320
242
365
348
341
399
318
233
307
193
352
399
301
339
345
315
296
285
355
290
301
343
234
278
272
330
274
300
257
344
363
348
298
358
313
275
349
299
307
308
246
378
382
288
304
291
271
309
240
306
279
246
257
312
294
335
347
265
400
365
356
328
304
339
314
312
389
326
287
238
337
320
388
329
253
243
330
318
381
326
257
297
318
354
314
309
368
306
326
205
271
267
224
272
330
235
254
331
269
253
344
229
323
320
330
395
328
324
356
332
296
264
284
278
337
388
323
359
359
334
308
343
232
289
225
301
282
269
337
366
277
320
254
344
319
314
429
288
338
376
344
301
270
347
259
331
278
344
276
299
314
306
298
316
279
376
234
371
273
383
300
243
329
333
244
310
261
261
317
336
311
344
310
369
375
320
277
217
412
359
334
329
419
298
312
366
316
332
406
344
280
224
311
266
286
326
308
246
273
284
335
256
299
278
268
278
293
263
305
340
316
298
354
351
241
325
343
346
335
319
319
289
375
344
257
340
259
362
334
406
321
263
401
247
225
345
327
302
268
293
290
321
353
338
386
326
252
391
331
377
287
346
342
334
341
333
277
301
304
301
286
369
316
289
257
286
270
362
283
362
366
325
303
391
345
341
371
337
283
363
306
358
269
294
348
386
256
223
319
356
329
330
305
295
376
392
259
284
401
371
347
359
271
219
283
261
315
369
327
337
240
298
233
367
286
332
307
332
380
341
314
324
227
325
299
302
358
276
246
352
339
326
230
280
303
314
249
372
344
343
397
353
317
238
327
316
421
347
290
318
300
354
304
364
380
368
398
363
344
273
290
309
276
390
333
297
301
308
304
275
251
319
295
320
329
281
325
361
353
243
327
351
396
270
306
315
317
375
383
315
382
229
364
349
333
340
322
324
271
366
341
309
354
288
345
319
358
381
311
282
317
301
362
357
320
353
303
268
309
333
249
311
236
305
278
400
310
311
332
245
376
277
339
289
327
411
336
329
308
296
264
312
317
341
212
328
234
337
282
387
347
353
340
301
307
367
296
358
351
291
379
282
307
336
314
304
349
297
278
247
237
306
324
318
319
222
318
305
338
420
232
280
287
430
328
283
318
366
200
280
313
383
346
239
250
380
328
340
361
415
347
375
368
288
331
372
339
330
286
260
252
273
303
344
313
307
278
300
296
275
295
276
316
239
371
394
333
243
320
332
395
364
347
310
309
321
280
283
295
329
286
368
377
295
309
291
318
329
295
273
386
303
370
358
349
287
350
247
322
293
300
340
378
314
297
382
312
329
286
364
271
256
287
356
293
330
365
335
318
330
363
314
278
273
274
259
231
283
341
315
348
274
266
299
239
299
361
374
369
251
245
410
331
342
362
215
272
278
214
348
289
337
363
348
362
338
383
316
278
346
319
308
301
294
243
294
365
301
363
284
301
283
348
333
350
351
313
288
238
332
340
266
347
307
318
315
346
284
225
265
260
274
356
380
282
377
344
359
351
226
301
265
236
310
310
308
248
332
324
285
369
257
277
262
327
346
288
251
299
368
273
281
316
325
384
277
321
308
287
323
348
284
326
316
297
289
394
327
301
287
305
328
319
348
290
343
408
325
262
263
305
291
343
294
306
313
389
327
278
274
330
360
405
311
295
275
355
325
371
368
279
341
330
337
412
327
297
322
262
303
298
344
261
376
356
290
231
323
294
248
296
329
337
325
265
336
337
284
296
297
342
420
289
358
374
298
298
390
361
270
290
272
302
207
274
363
238
322
263
313
366
357
213
315
329
276
345
273
260
302
369
371
224
338
278
249
312
397
332
301
209
334
372
259
270
256
280
280
305
282
298
284
303
306
273
316
285
358
314
306
339
365
278
330
256
222
317
358
286
360
300
299
341
289
228
401
434
238
342
357
334
334
280
308
312
369
366
334
377
306
308
320
359
410
361
253
319
315
299
365
349
256
350
318
325
329
252
338
262
297
293
243
266
281
348
328
367
360
352
370
391
276
386
265
359
373
358
416
235
392
275
379
322
228
343
234
262
322
309
296
362
281
219
344
338
292
331
318
268
286
316
305
323
396
276
332
324
363
289
319
327
377
279
299
232
272
358
281
321
333
306
274
246
323
348
301
355
250
282
298
304
360
390
363
302
308
373
270
242
352
287
196
349
312
274
290
371
328
318
248
246
297
339
342
265
334
220
278
363
265
395
273
326
314
295
291
242
320
276
379
393
353
358
320
330
221
227
340
254
379
322
279
371
351
337
265
286
354
196
298
223
375
383
287
264
309
402
386
281
282
367
369
324
340
374
305
265
398
257
314
363
262
335
340
413
286
384
356
297
272
260
232
407
310
221
273
307
290
256
309
344
295
266
273
372
358
268
323
372
308
269
296
309
380
345
366
217
254
297
354
199
274
355
196
279
399
367
304
315
328
336
259
264
317
314
315
367
350
291
349
284
308
333
313
332
312
297
266
244
330
340
365
350
414
309
267
292
350
235
332
312
256
340
310
381
309
320
306
297
309
322
374
314
360
290
299
307
326
354
358
264
263
377
232
283
325
353
290
300
259
368
315
311
271
270
376
350
298
293
289
391
283
309
338
378
292
235
310
317
274
349
321
276
271
391
314
281
340
336
312
328
292
331
365
261
300
289
247
307
349
296
327
374
307
238
281
272
340
318
336
300
297
257
325
274
305
251
336
393
307
261
274
313
370
322
315
312
333
227
284
279
274
268
329
324
409
283
272
391
448
315
280
338
263
314
353
263
386
268
265
305
272
314
260
369
412
294
346
301
357
346
282
309
328
370
282
351
279
313
223
151
333
320
269
289
311
375
265
375
362
243
277
333
295
443
326
344
338
367
296
328
330
321
268
315
258
243
345
277
401
288
343
311
256
375
274
275
353
272
280
312
314
319
330
384
363
330
341
246
328
314
425
328
255
410
255
331
241
341
346
346
308
306
330
347
251
246
261
267
320
311
276
387
331
293
375
313
259
317
285
296
293
296
366
351
378
339
341
212
326
327
285
367
320
274
219
322
342
297
379
311
417
268
266
335
297
321
297
401
318
344
294
351
293
314
369
309
344
333
319
303
285
361
335
353
326
352
311
222
376
362
363
317
265
228
288
303
327
263
308
404
296
324
312
296
292
270
319
289
322
350
198
296
395
298
237
286
332
247
313
300
303
328
308
350
354
279
359
337
300
303
297
320
342
273
246
360
258
392
256
304
246
303
238
338
276
398
311
309
318
276
278
306
292
395
399
381
261
219
303
278
254
354
194
270
286
378
332
373
390
298
219
342
347
341
384
287
360
251
267
303
248
298
295
374
367
262
257
318
255
317
320
341
300
279
342
360
302
258
287
316
322
353
292
298
334
283
339
354
323
292
349
250
338
263
194
280
255
377
301
384
280
257
308
286
200
372
308
245
302
372
309
353
217
333
279
353
322
349
368
300
239
339
233
365
355
363
293
268
391
331
329
216
301
297
264
318
316
319
378
301
350
300
432
357
301
266
262
335
313
309
353
170
339
367
268
338
266
388
256
371
301
363
390
302
336
328
367
286
368
303
281
282
369
455
363
279
373
367
346
297
283
266
338
309
319
372
368
411
316
320
331
384
245
270
228
204
320
332
373
261
370
288
287
366
337
271
386
337
363
333
270
319
380
239
426
290
296
272
326
293
248
296
254
343
311
247
382
304
301
332
332
290
305
364
319
273
333
304
328
354
307
352
327
265
317
247
249
367
288
248
314
304
308
284
340
266
342
301
288
273
357
322
318
228
300
380
359
316
265
344
419
238
352
270
317
310
343
380
350
387
295
323
241
306
239
257
310
317
255
299
337
356
357
251
287
305
253
362
369
330
285
260
347
328
352
369
284
354
310
404
344
282
322
363
361
297
335
343
355
298
286
350
366
282
307
329
287
275
258
237
320
327
278
338
339
369
365
222
313
237
278
312
337
321
284
317
269
294
337
379
236
255
306
385
253
367
359
395
279
379
298
247
299
334
295
321
299
354
253
335
253
361
259
372
273
313
248
232
270
371
305
310
328
310
385
291
285
284
365
319
255
291
288
293
347
358
276
336
299
290
256
236
279
329
378
338
326
289
250
387
379
305
343
348
310
265
272
312
296
346
365
235
307
268
373
287
304
321
215
348
353
385
332
329
295
289
240
285
248
321
301
360
364
318
256
345
345
232
320
396
309
274
277
266
227
188
340
390
296
326
255
288
296
300
268
341
383
297
271
355
299
278
283
322
305
309
265
380
204
264
283
384
356
251
260
340
267
308
389
316
271
324
222
348
387
309
298
358
333
382
289
336
367
294
267
345
227
297
309
373
315
318
307
247
353
340
286
299
345
327
403
377
354
373
280
399
318
366
317
342
332
321
252
380
315
338
280
311
352
346
315
346
293
248
351
297
295
334
325
329
248
321
286
355
268
332
295
343
318
303
309
264
280
196
317
237
322
372
306
262
273
305
345
298
351
322
173
324
300
270
373
302
337
322
308
293
295
303
312
375
296
364
295
248
289
321
351
217
351
320
301
259
279
300
335
414
325
335
290
258
300
318
316
259
374
310
366
358
313
253
369
309
340
375
356
230
399
331
264
286
265
318
221
298
311
390
229
332
227
319
226
251
279
315
321
327
371
291
352
305
249
305
247
310
361
363
399
359
269
293
336
242
313
295
285
381
292
350
302
323
396
251
364
308
289
248
322
292
286
278
329
377
366
336
317
343
286
273
310
290
406
339
350
348
316
343
290
370
307
306
314
378
332
346
250
377
314
358
222
314
361
254
342
283
233
378
325
287
292
368
340
288
311
349
379
337
338
316
237
383
395
335
273
326
388
241
349
348
242
282
361
373
353
313
257
356
365
297
333
285
286
263
345
409
352
412
366
329
374
344
256
300
254
333
312
252
319
360
424
292
264
371
290
257
313
313
265
275
347
272
372
311
299
430
269
290
342
374
267
352
346
319
321
335
377
302
296
254
348
361
272
344
377
290
252
216
299
270
374
339
347
312
299
299
297
265
357
392
306
250
382
355
263
370
388
319
361
367
321
342
301
228
383
309
286
306
282
314
261
245
313
285
260
326
257
284
251
348
245
288
330
339
308
293
364
326
224
358
266
270
284
263
382
348
284
308
264
411
342
278
350
274
326
378
317
379
304
361
335
295
262
268
346
330
308
357
290
359
341
227
301
405
360
327
333
266
217
364
273
253
307
311
253
357
314
319
277
317
265
301
336
352
363
288
324
296
345
220
258
320
285
312
256
370
278
247
221
309
365
322
331
301
369
398
252
307
357
334
267
301
326
310
296
337
279
203
391
331
321
241
333
394
383
340
302
351
255
297
395
335
345
361
301
277
331
364
314
324
289
386
347
340
310
286
356
313
324
290
295
365
346
281
399
373
305
346
296
331
218
261
210
266
368
260
302
356
409
234
376
326
262
267
269
259
225
360
363
252
249
324
286
403
255
390
312
317
352
248
287
312
334
304
336
352
391
343
275
317
384
344
342
295
268
307
254
326
345
234
272
272
281
278
382
289
305
333
330
395
314
286
353
286
324
202
317
317
309
266
349
226
337
264
311
332
324
337
270
197
357
351
294
375
316
321
356
304
277
338
272
395
307
217
293
288
256
302
186
268
261
376
355
315
287
307
385
394
345
346
275
231
389
287
258
336
303
361
315
367
370
367
343
287
396
339
377
320
257
340
311
269
314
379
310
277
288
341
321
310
243
345
320
343
303
418
288
358
335
311
357
313
258
273
301
228
266
319
340
247
329
284
354
297
348
298
248
387
313
346
282
325
313
283
250
279
311
400
304
220
286
329
330
413
318
245
272
355
275
282
330
369
303
388
311
308
335
252
331
319
304
293
351
241
327
301
332
310
261
349
308
369
304
319
239
313
311
266
353
311
326
236
243
313
251
244
340
363
351
277
325
295
281
317
336
247
284
307
383
303
332
295
370
268
317
341
283
320
267
253
327
281
405
331
332
362
347
333
221
335
298
333
352
299
419
359
351
279
323
372
294
318
302
273
227
295
287
353
332
293
327
357
298
305
378
337
408
324
394
277
255
396
305
319
295
261
355
326
327
352
296
460
419
320
267
312
318
347
294
225
333
314
255
282
403
339
281
256
301
221
309
271
280
336
259
294
388
316
243
323
354
444
318
292
330
319
335
273
309
342
267
362
249
365
312
307
247
320
310
319
223
333
351
294
264
293
353
281
310
339
274
297
305
305
342
387
348
344
319
258
300
223
330
405
314
248
397
274
296
361
319
291
306
351
207
313
350
300
311
296
268
308
284
326
269
189
272
311
396
315
345
334
369
360
267
327
293
409
306
288
321
247
347
260
330
296
353
285
329
283
249
251
323
341
318
208
415
290
385
349
259
321
310
362
360
310
309
233
223
277
376
304
259
345
381
346
261
298
178
357
334
292
296
300
263
278
254
334
267
305
227
291
325
312
342
306
299
395
300
351
275
255
323
343
393
252
340
280
374
277
377
344
414
246
220
353
303
339
397
319
371
322
324
414
227
320
353
281
318
345
400
284
315
342
252
323
296
341
263
321
283
337
214
283
392
323
281
325
289
317
354
297
333
222
171
257
319
331
215
285
257
297
329
405
363
297
286
279
280
330
267
319
285
271
293
409
416
358
300
368
286
380
330
313
340
241
359
289
267
347
337
283
248
300
290
284
327
345
322
336
274
318
351
326
312
272
283
291
337
301
280
345
247
263
312
249
324
354
243
318
329
264
274
404
230
298
319
204
317
380
289
389
292
348
269
303
355
262
316
263
311
294
267
298
372
254
357
293
290
286
386
286
368
328
366
342
367
276
315
301
384
252
271
242
219
319
402
333
336
299
283
356
335
358
246
403
307
295
352
275
301
397
363
376
403
182
314
278
228
372
340
318
302
303
291
249
339
302
344
292
400
323
265
264
418
309
328
337
349
315
321
395
304
273
375
275
350
246
389
364
240
258
302
304
311
237
221
371
340
283
318
281
331
327
305
206
318
285
416
254
340
316
369
325
328
367
348
348
284
333
259
401
358
384
402
336
251
344
327
288
413
272
230
255
308
354
366
295
256
355
328
302
226
269
262
325
285
282
353
338
266
278
256
286
304
396
372
264
347
290
345
341
295
308
314
282
367
305
254
363
359
308
315
339
308
300
342
342
358
297
258
338
308
232
305
296
348
365
342
348
409
309
326
291
319
267
400
313
245
295
333
303
334
350
320
327
360
338
301
332
315
363
268
285
333
307
325
287
251
259
198
294
342
278
366
328
300
282
269
332
305
272
208
292
259
308
274
286
333
347
316
344
339
304
303
283
269
250
351
350
261
273
258
305
349
380
334
368
359
362
319
123
271
254
301
339
277
171
306
329
347
244
313
326
331
231
263
278
293
311
304
370
283
324
277
302
267
345
356
208
396
266
334
321
310
308
295
290
366
315
360
407
367
319
307
277
316
323
320
401
317
299
299
320
359
313
309
297
401
322
268
326
220
324
319
301
337
326
301
285
283
318
250
292
296
362
350
339
361
375
299
312
299
301
389
269
339
359
364
327
268
352
223
332
205
348
201
355
280
347
274
443
278
383
354
315
312
365
314
288
313
264
298
356
359
241
366
314
339
321
332
304
335
370
343
311
338
322
331
203
294
346
274
313
345
393
317
303
287
327
347
325
384
276
290
244
292
362
275
332
273
272
224
251
327
328
199
313
291
317
366
371
305
355
314
310
286
265
339
289
353
294
351
303
319
309
361
313
310
367
295
305
353
299
283
279
341
421
282
336
305
423
362
259
367
275
316
302
324
291
343
294
330
269
317
273
282
249
176
331
379
407
340
339
326
288
360
360
316
213
371
343
218
267
323
396
301
257
281
400
241
374
365
372
390
275
346
255
295
298
232
220
290
356
287
372
394
364
261
271
334
295
408
350
268
311
334
315
380
334
362
299
278
219
240
254
313
420
263
350
316
302
338
373
259
351
369
338
275
367
310
292
341
352
355
281
341
389
283
321
312
322
317
354
266
287
260
315
309
356
358
322
359
347
246
314
223
332
328
291
343
387
333
311
273
300
421
273
345
256
298
296
246
203
371
318
421
344
315
290
376
403
344
316
312
288
409
354
366
324
359
340
294
302
279
346
379
318
260
336
317
302
321
342
282
307
338
390
354
352
339
368
293
329
308
344
317
272
249
351
331
314
347
283
302
293
268
365
370
339
342
263
315
316
256
269
324
252
304
440
342
214
268
313
302
397
365
346
314
282
280
289
256
295
334
350
224
297
311
361
372
326
364
349
371
324
325
318
383
328
293
405
303
301
274
354
325
363
309
403
340
278
360
320
281
341
305
288
389
366
319
356
381
327
297
326
255
359
334
217
299
329
315
418
333
409
335
293
278
347
294
304
272
364
302
301
321
275
351
279
292
341
304
329
284
304
263
227
301
386
322
211
263
385
322
280
246
308
291
380
310
327
306
279
273
281
278
373
282
286
297
276
377
342
231
298
383
346
310
276
394
338
292
302
317
365
321
407
333
275
330
350
311
197
260
291
301
255
305
292
303
334
332
289
314
307
266
339
328
277
354
295
342
421
324
332
350
297
200
368
295
392
235
300
330
301
320
343
369
233
323
308
257
332
299
382
355
314
295
267
356
312
331
340
225
322
381
311
377
348
186
250
282
336
277
323
319
315
326
344
355
318
333
282
273
269
319
315
306
301
255
325
302
302
360
345
317
305
395
348
320
279
314
301
363
256
272
313
338
324
390
323
372
300
300
296
296
175
333
336
307
281
332
285
265
336
345
376
378
227
332
324
331
373
280
326
299
256
326
264
236
385
347
323
222
323
357
325
221
292
345
312
296
257
276
304
342
347
372
372
305
339
280
305
339
350
396
345
353
360
342
305
302
337
336
335
291
263
275
268
232
295
339
295
343
270
275
330
347
287
388
340
320
284
357
307
333
384
231
269
387
345
303
317
294
308
258
344
357
367
322
376
343
269
298
299
354
263
291
337
336
364
331
413
294
318
234
305
366
361
376
312
347
334
348
215
299
278
320
371
294
326
261
304
288
389
313
239
370
332
286
346
347
354
253
407
265
411
301
467
268
304
349
298
318
284
286
346
397
295
393
318
289
238
379
288
273
407
383
330
341
247
307
324
210
316
319
308
260
263
314
306
303
330
311
333
363
318
270
383
357
228
266
241
334
367
330
320
343
275
321
340
412
299
328
340
334
313
266
272
297
388
364
372
317
308
334
315
350
233
351
325
382
290
293
269
348
361
348
265
261
406
302
342
412
317
365
405
213
334
260
316
275
327
313
236
329
384
308
330
355
214
323
247
376
267
338
331
387
358
344
348
362
322
363
296
403
345
260
332
284
181
172
294
419
228
340
316
218
295
257
391
337
392
232
313
304
241
224
362
263
360
346
348
288
268
395
381
266
204
292
313
353
408
307
250
330
370
334
246
312
285
321
308
243
421
299
349
363
343
319
269
301
290
341
367
257
222
256
305
370
290
326
354
352
282
380
369
279
309
368
269
312
416
289
291
273
326
282
389
432
303
355
322
317
392
298
279
361
326
296
306
272
368
262
305
313
262
285
332
348
325
288
296
389
349
348
347
330
371
309
385
352
326
350
317
250
314
403
373
298
268
326
312
259
284
301
296
344
291
301
350
329
332
391
375
362
239
292
389
310
266
319
309
233
324
305
310
367
290
276
326
308
377
364
357
228
307
350
323
364
298
306
409
248
349
240
384
324
334
361
361
348
302
375
323
298
269
286
295
290
342
350
343
425
359
287
300
243
402
340
355
271
426
284
332
428
195
373
335
350
422
282
346
327
365
296
255
276
319
326
298
333
327
254
284
276
235
309
310
238
306
339
236
268
319
298
347
372
345
282
272
315
235
307
280
374
306
359
373
289
359
229
317
375
347
361
251
314
305
349
297
288
421
305
384
351
240
279
272
349
397
326
298
394
381
438
340
258
310
323
279
316
325
249
264
273
379
357
210
303
292
289
243
332
344
339
340
293
204
296
251
307
314
423
354
359
317
345
280
295
283
354
350
262
324
328
320
270
289
323
279
242
307
297
317
378
288
236
266
287
269
308
315
336
362
261
406
363
307
338
366
273
325
218
262
369
263
313
347
306
324
335
310
376
347
259
266
364
336
342
254
304
308
194
329
318
276
311
307
298
342
290
370
246
282
297
210
349
377
293
311
344
366
326
302
310
269
315
373
324
345
228
327
283
283
342
349
383
339
345
354
357
340
310
328
326
328
369
314
340
353
379
291
271
334
370
341
378
265
379
366
309
336
234
333
328
322
338
315
256
358
273
305
299
321
291
261
397
252
348
336
299
375
285
270
317
304
239
304
349
323
326
371
340
323
341
279
302
270
279
341
172
274
346
297
360
357
372
298
346
325
298
323
411
261
320
363
359
249
302
299
312
356
317
223
300
312
276
339
371
396
347
367
335
259
331
369
281
230
331
267
280
297
290
261
350
315
360
321
340
368
337
253
292
328
225
311
265
355
304
387
307
289
391
354
267
294
374
378
292
328
322
312
341
289
325
232
252
174
215
333
230
296
327
336
273
233
341
370
305
361
323
342
310
286
302
373
337
348
303
289
273
331
352
352
331
246
451
223
334
297
323
279
316
316
339
305
341
316
372
346
269
350
281
341
315
272
311
261
354
339
267
250
419
376
371
352
266
320
322
268
268
236
321
399
297
233
275
365
247
294
317
360
275
296
292
300
260
326
363
291
321
346
328
350
252
281
270
261
325
325
268
273
364
380
253
328
333
299
297
305
301
328
305
345
228
398
267
289
402
340
239
304
353
328
337
318
333
354
301
386
315
310
295
288
289
251
324
304
311
341
285
256
430
334
357
347
304
379
254
278
239
288
392
304
320
308
295
283
219
289
362
372
324
313
313
281
293
269
438
413
322
286
260
284
311
296
270
352
298
254
250
258
339
377
269
287
327
379
322
326
384
309
306
342
417
410
189
329
357
379
343
312
350
283
280
288
295
317
327
256
270
243
369
312
271
320
277
250
253
325
232
288
332
345
274
395
314
269
330
389
329
292
321
362
352
305
364
275
319
201
336
314
355
286
299
253
342
326
272
372
300
301
396
300
282
303
319
312
398
308
285
356
274
312
339
382
329
307
203
352
328
311
276
269
237
339
282
289
376
328
298
299
290
208
372
357
370
295
322
345
314
362
305
296
394
272
234
313
349
337
257
360
365
303
317
285
227
322
341
227
303
344
382
424
387
329
354
302
291
244
290
390
358
267
344
363
292
250
314
356
243
267
332
347
330
252
407
328
348
314
343
326
245
340
220
295
296
297
367
355
338
331
280
297
310
388
283
303
214
345
340
301
279
365
306
405
318
359
328
357
332
335
291
338
237
371
331
327
366
343
384
253
300
397
400
295
319
301
394
352
318
324
305
327
370
271
335
316
378
332
262
389
288
270
318
381
304
273
346
270
316
388
339
308
258
364
265
327
386
356
400
347
401
356
287
257
352
323
283
393
257
318
317
251
293
323
285
281
282
371
332
280
287
357
263
323
337
342
306
332
383
222
283
269
228
262
309
322
375
339
329
327
291
351
375
355
359
374
321
260
389
277
286
282
301
347
325
327
290
307
258
273
351
408
279
317
349
248
350
219
360
357
269
375
283
379
305
349
333
387
347
402
332
350
257
287
397
412
354
344
295
277
322
372
375
247
330
325
188
372
265
346
317
255
255
342
339
312
274
306
385
365
332
376
299
247
249
359
365
373
275
434
341
336
293
313
262
392
264
280
350
292
266
349
323
299
323
339
416
335
313
342
251
349
354
267
348
333
260
309
217
300
322
287
266
298
278
310
331
352
352
325
320
329
338
304
252
364
329
350
291
400
327
310
359
297
322
312
302
352
298
382
343
282
273
317
314
303
304
353
322
219
308
252
338
405
364
297
289
373
248
305
273
326
320
342
394
315
326
299
230
260
246
247
292
363
342
254
421
311
383
359
278
301
304
305
339
322
312
330
353
221
286
276
214
324
348
312
344
241
230
198
293
294
264
360
323
279
358
373
337
244
340
237
336
260
318
363
303
383
378
332
299
324
286
346
294
277
371
279
389
279
307
355
366
296
305
305
285
328
285
264
433
308
378
326
275
261
320
319
314
308
285
343
321
302
296
233
254
339
272
324
398
376
391
354
290
276
295
205
266
379
290
257
382
324
340
286
292
349
354
317
378
304
350
356
282
312
338
307
345
342
332
346
310
276
281
346
376
289
356
354
283
272
282
381
362
303
313
363
211
326
264
280
360
365
334
332
283
309
304
241
311
256
387
369
404
297
293
311
387
312
341
364
330
291
324
397
216
341
364
331
311
300
301
380
275
252
366
383
366
401
336
304
274
233
244
380
272
292
324
224
382
352
384
293
389
288
362
387
349
362
369
343
323
306
253
342
328
348
324
333
364
287
296
350
363
320
237
337
273
337
250
364
358
423
262
324
352
290
257
362
385
315
266
345
264
388
314
349
366
322
318
312
370
344
274
251
344
234
324
261
322
285
369
384
341
323
316
321
299
290
345
253
411
303
326
264
321
297
302
366
325
292
247
333
339
309
255
292
311
279
272
221
349
378
272
328
326
226
247
276
279
311
349
375
382
282
437
314
212
310
364
362
295
361
346
244
376
278
307
398
356
302
283
287
380
355
253
389
290
316
266
322
394
276
290
277
284
318
323
354
251
244
347
299
365
286
356
282
344
360
346
331
326
255
328
275
292
340
346
299
360
302
302
317
243
371
292
269
243
340
378
242
353
271
328
374
309
416
347
283
342
252
361
266
323
327
324
315
315
261
339
330
280
391
327
289
297
308
224
276
341
376
315
149
268
339
262
357
324
328
353
298
310
309
349
331
390
332
388
351
375
290
309
289
306
223
295
358
269
348
349
276
334
359
233
278
348
340
275
292
387
229
352
264
253
378
219
318
331
280
316
307
353
332
328
283
316
356
334
303
279
305
274
327
320
342
249
336
263
313
315
348
209
351
274
304
317
265
313
366
272
322
284
328
304
358
276
257
262
338
332
306
217
356
298
346
275
279
334
327
358
341
306
239
323
273
288
331
326
321
269
311
308
335
286
292
344
262
387
358
303
373
295
380
308
243
290
348
356
371
276
283
317
363
328
301
286
335
357
282
293
311
337
320
393
392
327
230
325
344
318
307
273
341
280
210
305
351
228
318
413
280
320
355
291
366
300
224
354
338
260
360
319
307
409
408
278
321
278
304
372
270
303
294
329
292
312
302
375
333
317
399
298
313
347
288
365
299
369
317
310
252
311
327
306
362
345
273
260
407
322
311
318
272
333
350
327
216
273
274
365
264
344
347
287
362
234
266
317
268
316
317
178
298
297
416
351
303
279
363
312
370
289
312
256
353
264
306
248
348
380
235
373
330
291
389
352
302
306
269
342
344
371
336
350
359
284
308
403
312
291
253
318
351
356
301
320
284
318
238
310
310
415
284
322
263
383
273
415
353
253
347
372
364
327
321
298
223
299
267
274
364
347
382
361
355
284
329
291
312
323
339
328
326
290
345
288
349
270
318
359
405
281
301
261
383
325
243
328
385
306
325
300
419
322
382
328
337
340
275
299
304
323
302
344
242
305
358
297
344
356
314
345
323
234
275
287
315
360
345
302
312
240
234
365
388
310
334
396
361
361
352
375
269
329
326
274
341
268
357
362
341
306
318
340
319
345
300
318
359
304
362
414
335
335
327
280
347
322
307
315
263
239
286
353
361
330
288
311
338
296
301
376
318
381
257
345
336
326
309
327
298
357
294
310
221
289
367
346
328
295
276
379
253
298
300
324
345
319
349
375
240
390
309
265
325
363
345
292
289
274
260
265
348
328
297
377
293
291
348
339
318
266
294
338
279
412
310
407
345
352
258
361
385
286
300
380
398
356
265
282
287
320
243
369
284
368
313
363
259
315
328
345
345
374
369
300
265
359
282
308
318
242
390
370
400
309
326
381
355
296
341
329
325
332
335
263
256
370
352
315
354
367
299
316
262
381
330
306
288
341
391
334
329
384
377
321
326
306
319
255
266
220
362
353
256
324
276
311
310
287
276
348
368
285
202
364
399
356
344
269
258
337
371
355
372
280
319
296
262
256
263
272
189
346
338
314
385
344
347
413
352
302
361
273
304
238
303
400
290
281
351
291
355
324
222
346
301
295
349
281
311
261
270
344
301
273
335
345
326
232
311
302
230
259
344
283
375
404
309
362
331
314
284
309
327
315
298
294
285
374
327
348
344
248
203
357
280
360
340
245
425
294
354
256
358
290
366
246
311
263
258
312
304
369
230
276
277
312
279
276
325
282
312
291
273
305
242
301
308
331
298
279
303
378
297
347
321
336
349
290
346
412
303
281
329
306
339
326
286
286
351
311
328
269
252
290
298
350
344
279
228
330
281
315
328
261
309
360
348
322
333
377
258
272
382
354
390
312
321
295
345
389
313
223
381
288
352
327
332
297
255
292
345
304
338
315
306
319
383
349
358
311
278
298
325
347
390
303
330
267
294
402
337
312
324
349
303
277
310
335
336
281
310
333
361
339
287
255
326
310
311
343
357
320
382
343
299
268
312
335
377
287
205
242
357
359
364
333
399
265
341
342
328
321
307
337
227
310
280
294
346
284
358
279
261
279
256
274
299
373
285
296
347
412
295
359
367
328
293
282
285
367
268
320
365
297
291
318
289
297
354
359
241
253
332
303
275
293
311
306
373
297
326
299
283
410
332
342
334
357
317
273
304
310
314
360
391
306
341
390
240
363
270
309
278
260
338
278
190
279
305
288
353
262
334
337
315
311
347
204
268
402
336
322
296
384
223
323
356
226
302
261
294
196
361
358
349
286
308
307
322
355
255
340
261
373
320
264
267
298
344
340
309
273
355
351
325
376
393
346
334
314
319
411
319
229
281
375
301
256
289
332
321
374
316
293
273
286
392
286
347
386
314
329
344
277
346
343
371
348
341
232
361
317
290
395
351
363
283
377
266
296
267
295
328
251
278
319
282
317
410
248
354
314
312
332
252
347
339
275
366
337
328
332
311
255
318
308
299
295
280
296
296
349
324
337
326
307
209
389
318
288
350
320
234
294
327
358
305
270
374
357
310
385
285
306
393
334
349
421
368
320
235
351
328
267
312
345
294
345
329
314
288
315
274
270
338
322
256
348
304
291
268
293
354
314
270
315
244
340
379
298
389
339
288
215
323
382
224
338
285
357
303
314
353
349
356
353
273
283
343
300
334
282
338
365
400
374
320
291
286
263
334
341
354
334
295
266
258
309
266
268
289
309
228
359
316
329
307
372
327
335
327
323
237
293
285
294
321
238
335
283
318
342
372
197
274
384
309
395
320
306
340
322
350
365
353
306
332
317
296
342
342
323
341
329
296
337
342
276
364
321
300
322
309
308
385
326
259
390
371
277
323
242
293
278
382
295
301
349
373
289
398
293
293
265
331
323
310
367
346
317
244
293
244
328
294
294
290
334
346
280
300
277
317
375
281
355
255
290
286
269
313
317
387
277
313
306
367
314
327
325
320
258
320
333
356
392
167
203
201
363
334
259
340
261
328
342
354
261
258
347
281
405
335
215
280
302
272
312
388
338
268
356
359
261
311
243
370
324
269
357
388
247
234
444
330
245
214
392
354
292
262
332
371
260
330
315
305
309
321
311
333
300
359
345
295
301
280
330
253
249
304
268
295
279
305
287
344
291
287
299
260
308
366
225
255
277
343
238
328
239
299
281
287
303
363
261
328
346
288
325
272
351
327
261
319
321
381
290
318
330
355
297
329
336
365
347
326
291
259
326
257
331
283
300
285
218
265
346
324
294
336
275
349
352
231
367
352
314
278
369
314
342
267
239
265
304
276
325
349
252
293
241
427
321
320
280
255
354
283
358
319
257
350
283
345
212
271
328
269
300
254
294
409
314
268
315
305
357
405
328
297
323
285
272
309
366
278
308
370
282
334
366
281
236
285
391
259
254
278
303
225
309
347
292
354
341
364
310
346
259
219
323
259
325
310
373
291
333
314
325
379
394
269
370
329
256
319
299
229
327
343
266
399
375
347
270
320
329
266
292
286
304
283
398
315
333
363
299
265
338
364
295
317
348
272
353
303
252
330
318
352
361
283
286
329
313
183
291
373
355
302
404
329
303
306
334
368
357
351
317
252
326
310
336
211
285
408
305
269
317
291
315
292
306
330
362
355
358
381
214
347
403
315
307
398
260
280
355
426
285
348
393
237
349
308
333
310
333
361
251
318
331
322
286
362
376
373
285
327
272
326
385
346
280
205
254
280
333
350
285
294
400
332
332
298
283
395
395
314
295
322
391
281
221
328
373
274
353
237
426
297
370
346
349
252
313
328
338
327
263
345
282
281
364
350
364
346
301
304
242
379
297
299
364
308
288
295
338
302
320
229
285
330
320
348
353
340
247
283
319
398
295
341
341
322
214
332
338
356
278
419
301
287
375
250
282
328
260
290
362
287
256
279
250
337
327
401
339
361
342
314
274
328
344
339
337
277
336
289
346
300
328
303
297
334
310
280
261
302
390
340
332
333
332
288
257
258
287
309
279
286
336
242
290
217
379
332
330
302
328
311
286
266
360
316
410
273
243
354
325
258
282
359
325
355
225
347
292
289
326
339
327
359
293
358
283
291
234
346
265
338
297
290
355
325
301
318
384
337
254
323
359
249
211
352
271
306
322
291
305
261
391
320
358
304
332
291
298
339
332
332
264
291
249
283
326
344
204
268
304
276
302
317
291
368
377
319
160
301
340
358
271
305
264
338
345
244
296
360
386
303
330
291
319
317
350
277
251
264
286
272
339
284
331
310
336
288
284
323
248
353
341
308
297
276
374
370
276
327
324
267
288
341
326
383
252
411
286
305
375
273
391
348
250
298
281
327
359
312
330
381
285
311
385
269
281
313
374
301
343
275
277
312
346
233
256
359
383
324
372
361
317
302
347
215
286
254
288
318
340
400
276
362
376
351
271
409
312
330
291
313
316
395
317
305
330
378
307
379
379
303
296
302
326
321
353
322
289
315
349
233
329
346
335
320
295
270
300
268
332
326
326
280
303
264
258
338
296
273
319
277
319
329
293
321
362
359
345
313
331
336
307
270
299
292
295
292
268
343
335
332
255
309
357
345
270
329
320
312
321
363
303
345
375
386
259
241
368
365
281
339
333
358
397
310
332
298
302
291
333
327
285
345
337
320
344
313
326
247
357
284
349
393
332
376
336
286
332
267
294
398
347
315
247
288
358
345
348
252
285
334
391
351
271
293
272
316
331
356
285
343
312
295
332
371
335
277
203
328
381
368
357
351
391
346
307
337
312
320
297
342
334
275
245
215
286
319
341
297
228
297
290
230
341
290
290
329
336
313
336
371
281
347
305
314
214
290
341
198
337
309
295
325
313
346
275
292
304
267
243
324
335
247
300
295
321
432
350
299
262
308
325
316
327
283
331
348
256
315
329
364
299
247
345
314
300
268
304
332
315
335
297
358
391
331
332
286
296
301
323
323
332
383
247
299
353
301
334
387
303
279
286
281
296
296
268
254
355
346
286
284
249
417
349
342
340
272
312
316
333
273
246
251
320
282
381
359
298
296
295
408
319
288
294
338
345
345
344
247
361
325
284
363
407
249
232
343
278
349
308
365
282
251
258
294
316
304
305
284
403
262
345
345
286
425
385
328
213
304
322
324
336
383
377
311
328
222
314
300
387
296
288
408
302
240
275
352
284
356
381
317
398
238
337
334
377
344
365
304
330
349
358
292
308
351
374
309
321
282
234
276
235
275
349
348
213
395
339
370
320
308
350
280
317
294
313
274
291
310
320
342
294
324
355
354
286
395
264
326
377
312
313
317
274
375
246
371
269
281
255
279
305
231
290
314
372
397
199
328
382
240
258
278
388
292
335
342
343
399
257
334
235
397
263
321
347
224
329
295
295
347
379
229
358
287
412
292
266
236
384
288
292
317
325
299
283
260
261
344
327
270
343
363
293
327
255
287
275
341
382
370
303
303
348
331
332
305
338
333
397
304
273
330
331
286
329
311
387
358
259
294
309
258
389
207
337
348
292
264
389
270
207
378
366
348
316
313
320
379
342
231
352
296
270
245
328
248
333
303
374
254
322
315
289
286
400
292
248
250
290
295
325
359
348
224
311
318
313
300
372
254
335
373
306
281
322
297
358
335
302
259
316
299
317
296
355
294
351
360
276
309
357
269
411
266
381
311
300
334
254
274
326
335
271
357
266
312
297
359
270
311
370
378
349
268
316
294
319
249
357
368
302
320
280
278
332
328
296
371
351
276
375
318
322
346
275
313
343
360
266
281
310
389
261
344
317
304
310
352
329
332
287
328
343
274
368
340
351
333
347
340
289
325
369
361
329
253
250
277
279
326
332
343
261
260
335
226
380
237
297
307
268
262
325
279
252
341
303
304
314
333
309
308
302
270
272
280
357
313
285
334
329
306
312
354
273
285
300
351
340
240
357
305
295
314
359
297
242
300
342
318
331
344
309
314
378
301
334
336
276
386
352
367
215
380
383
300
261
348
296
345
270
354
382
248
246
325
285
369
277
259
307
332
267
334
324
363
337
295
316
386
260
350
304
448
291
394
297
310
271
346
275
307
293
397
351
355
361
365
344
295
429
332
284
369
318
292
315
362
207
304
241
238
225
231
298
324
291
365
351
270
337
301
341
289
370
252
309
336
264
354
313
351
287
346
305
314
249
268
397
315
303
328
289
297
247
249
348
264
361
336
209
356
298
361
342
306
303
334
305
314
365
325
286
311
289
319
301
291
237
345
256
314
354
294
293
299
318
346
332
305
339
300
277
314
332
278
386
289
322
345
321
371
269
287
247
380
442
251
263
326
381
292
250
352
345
346
324
343
268
347
294
378
333
372
323
354
353
355
310
208
278
369
310
391
269
295
303
338
312
381
284
198
414
335
336
262
284
339
336
328
265
232
199
314
286
293
265
303
397
385
351
283
326
310
299
384
365
266
376
323
259
292
394
339
333
336
431
282
321
376
386
289
350
298
311
337
360
326
400
352
336
301
343
346
282
371
290
368
348
357
315
348
378
289
343
332
333
280
307
275
343
301
360
335
267
266
397
393
350
380
299
300
335
333
384
312
338
281
260
289
324
293
283
266
252
368
296
383
254
332
303
354
256
327
397
303
275
400
301
343
286
375
339
339
366
262
351
262
334
297
341
306
356
224
333
316
310
249
218
275
316
338
169
321
280
367
346
304
346
265
232
365
267
306
292
296
393
357
361
338
313
246
352
258
292
334
221
349
277
271
377
313
326
340
283
300
298
295
307
292
289
281
298
282
289
258
234
365
308
289
343
287
266
325
343
296
281
357
351
368
319
350
207
352
306
258
313
334
344
317
255
281
292
372
350
258
336
311
236
363
378
303
345
364
379
249
289
355
341
341
259
328
373
293
316
316
311
269
393
301
353
377
287
293
365
277
345
332
329
315
404
326
287
240
280
317
361
304
283
319
272
368
316
344
402
384
315
280
284
234
304
278
351
355
296
300
302
343
292
240
382
368
283
379
345
231
307
344
303
314
326
366
278
342
237
328
326
362
237
297
370
318
408
339
312
280
316
336
287
338
241
446
368
353
370
343
318
348
255
329
310
249
390
327
336
329
232
244
269
398
227
399
385
301
375
387
350
303
301
408
341
267
294
377
333
330
341
280
296
323
389
326
244
250
330
305
422
338
362
286
234
305
347
298
364
375
320
297
330
309
305
280
429
324
303
338
294
385
267
314
377
305
297
377
267
227
260
298
261
162
290
295
334
274
313
258
274
255
315
341
369
312
283
307
386
288
328
310
290
262
346
299
290
259
238
293
315
335
249
361
354
344
268
358
321
321
298
320
304
370
344
310
227
421
332
374
341
302
337
254
242
343
357
334
333
337
302
362
376
322
341
266
340
333
275
291
373
260
267
279
309
284
341
352
312
240
367
238
324
323
228
227
273
298
323
260
358
271
393
364
291
271
312
292
337
343
276
245
285
263
272
360
299
334
291
277
293
308
337
334
265
258
310
314
247
289
321
258
363
346
337
293
269
352
314
251
422
336
286
379
276
258
351
348
340
318
410
298
295
298
315
269
341
306
280
389
305
354
318
330
154
326
295
333
318
307
266
278
341
304
330
286
326
300
289
247
366
384
355
344
328
241
302
380
309
239
330
257
312
352
290
297
404
394
304
273
378
352
329
288
340
339
340
312
268
377
307
298
302
339
402
357
322
308
353
344
294
292
358
273
435
331
311
236
337
340
346
322
263
327
245
346
283
316
237
307
235
382
335
287
290
358
282
308
254
291
240
235
331
407
321
285
359
324
351
252
292
239
344
321
282
352
384
358
299
236
229
263
379
304
362
344
336
285
350
267
266
258
370
347
280
313
357
221
269
203
269
351
334
318
316
228
378
288
327
292
326
313
326
359
356
291
325
261
311
303
244
351
264
360
294
284
267
334
351
362
205
247
333
314
263
337
303
380
342
261
261
329
341
340
278
410
403
392
275
290
340
280
307
364
393
349
306
326
271
301
302
294
275
214
396
280
262
362
295
311
270
357
339
273
273
297
338
225
342
330
273
379
262
276
298
316
408
293
310
292
282
356
270
332
283
224
332
300
309
369
366
342
250
306
271
287
263
341
288
266
337
343
336
274
263
375
388
367
287
268
287
355
317
309
298
424
276
312
289
349
230
293
267
355
316
343
303
354
272
335
279
296
366
326
328
333
268
322
301
331
353
391
324
351
349
354
340
362
251
297
310
376
362
349
332
259
353
276
351
286
273
286
328
354
312
260
274
338
328
309
280
338
361
252
286
306
389
360
319
379
345
275
324
278
348
360
318
312
346
347
349
369
309
295
318
341
309
244
294
311
307
285
287
232
339
331
274
246
301
286
318
266
302
308
294
355
310
299
355
311
293
295
306
299
337
280
315
301
318
328
287
302
302
277
350
297
380
341
314
334
311
279
251
334
344
298
298
303
312
334
295
300
327
291
213
298
314
337
328
319
307
310
322
405
253
353
362
388
280
268
276
297
345
365
278
262
319
322
402
381
362
326
308
334
295
359
303
329
323
254
230
284
333
240
373
350
274
317
247
309
285
255
273
252
305
312
328
274
334
384
321
321
273
283
386
186
354
299
336
289
328
336
327
326
294
208
382
264
303
409
366
302
272
340
352
294
292
221
335
248
401
375
217
306
353
353
309
290
298
264
354
363
244
275
296
309
368
292
323
263
309
241
300
342
271
322
265
279
396
302
378
298
340
306
262
348
350
391
333
282
353
230
306
274
297
260
308
328
332
321
182
402
314
221
338
401
286
296
361
365
351
274
291
249
308
331
366
368
264
349
292
340
372
360
354
293
356
397
237
294
295
354
287
395
381
293
226
242
289
284
349
304
375
371
299
282
235
327
309
357
317
221
283
279
381
332
345
287
374
306
340
322
296
310
328
275
324
396
352
349
398
372
303
331
337
345
269
309
203
292
261
364
311
343
364
273
290
298
314
278
303
338
416
297
361
374
340
236
293
316
326
245
346
396
303
270
316
320
332
285
333
312
256
262
235
340
331
334
323
326
256
321
389
292
351
344
273
325
300
343
291
366
315
352
256
349
341
355
293
284
330
382
307
429
321
324
290
295
377
255
295
311
282
362
311
297
332
270
364
362
356
276
284
307
340
370
324
287
374
243
219
306
307
326
348
356
284
338
338
285
381
267
344
318
273
391
320
356
297
333
297
262
268
331
301
389
301
369
254
378
296
269
280
297
271
319
349
350
306
317
294
310
264
379
308
362
334
364
315
297
450
307
232
292
350
298
290
274
303
335
258
315
221
342
316
297
427
328
289
348
410
299
340
293
296
239
284
307
237
297
314
369
240
327
331
410
290
268
237
267
300
239
296
333
333
347
383
299
303
288
249
290
296
256
230
328
363
331
366
267
263
223
276
358
318
249
380
269
354
292
314
402
329
366
302
339
318
264
305
396
380
257
344
297
279
336
368
220
328
245
315
285
304
316
276
286
156
339
306
335
253
360
305
363
331
200
300
327
270
376
336
299
292
260
264
297
344
383
282
337
250
232
348
289
380
283
346
231
381
316
290
335
308
329
318
293
338
315
391
328
329
208
325
344
284
293
317
397
303
303
268
255
412
295
286
407
301
287
310
216
272
331
314
357
237
314
245
261
352
332
357
290
275
278
295
273
397
356
354
310
287
369
377
311
281
321
229
224
339
260
312
299
311
350
287
371
348
355
304
336
301
272
264
281
304
294
323
364
259
251
285
297
261
243
367
268
321
287
307
213
337
342
363
294
333
289
303
309
248
295
384
338
300
295
323
438
268
306
382
375
338
328
161
308
308
349
338
286
246
356
274
310
272
318
268
225
262
290
257
371
334
308
301
285
252
376
285
297
298
320
389
278
385
313
317
321
267
367
303
274
349
303
324
284
300
303
326
260
356
304
280
313
359
356
317
427
314
315
318
312
340
339
340
340
321
359
306
195
411
275
322
339
221
240
329
264
351
260
348
357
344
314
287
404
383
313
339
357
307
330
396
340
363
359
302
316
351
251
309
343
326
309
359
386
283
249
302
278
336
205
293
336
260
302
285
335
313
279
292
264
370
339
382
310
262
355
383
363
321
272
326
301
269
253
317
301
297
312
380
366
318
348
269
310
291
316
353
230
214
301
289
387
358
404
349
295
364
303
337
353
318
421
279
370
359
330
274
315
265
334
283
339
332
304
318
222
330
309
359
300
337
321
268
373
311
313
313
260
421
348
258
310
336
272
372
399
372
175
235
350
362
325
245
276
375
284
364
266
384
362
350
348
313
324
302
342
314
370
319
333
394
276
326
297
290
282
230
238
377
326
280
333
404
305
319
402
257
290
304
298
276
259
306
314
240
316
263
344
347
308
185
340
394
364
320
327
321
327
361
258
323
336
310
311
264
309
320
374
295
218
390
265
334
250
314
285
332
358
279
335
275
314
337
293
333
284
293
299
321
251
306
284
329
331
225
261
341
367
296
263
275
399
291
312
282
248
354
250
336
277
327
330
300
348
313
373
348
239
289
298
296
263
381
271
374
273
360
333
339
278
325
271
319
308
267
356
295
303
256
384
362
346
275
346
348
319
255
339
339
293
326
245
311
348
357
348
192
340
324
309
290
334
309
342
349
325
305
259
353
342
317
349
413
324
401
226
277
379
351
239
348
261
285
268
298
382
284
316
306
346
277
339
358
332
306
343
276
307
370
321
285
354
351
290
279
298
315
290
252
338
346
304
305
347
339
327
275
284
289
306
278
271
285
335
349
335
291
341
321
339
306
346
281
342
306
257
347
335
335
263
272
308
318
348
335
252
309
306
272
207
337
320
254
196
281
372
203
282
290
249
331
308
292
206
313
290
293
294
337
316
337
263
283
304
309
296
276
294
376
335
323
322
302
347
364
337
320
274
256
309
365
226
304
321
273
389
365
278
319
316
348
240
343
276
252
350
364
333
353
370
365
390
340
305
307
350
351
369
270
354
283
334
379
233
290
329
300
321
280
271
302
290
359
255
349
333
333
352
310
324
243
337
299
287
351
304
361
279
370
329
334
213
302
382
316
312
241
314
339
319
372
333
298
283
316
297
311
251
339
346
255
285
317
334
232
353
407
300
245
311
424
268
320
412
273
272
314
306
227
388
283
320
357
358
328
290
361
340
392
395
283
306
378
307
296
291
367
366
417
281
301
307
290
254
268
291
225
273
310
349
328
340
324
302
348
267
349
318
345
289
342
291
328
339
315
313
307
249
298
349
232
274
299
410
324
223
382
435
338
354
358
240
367
378
285
327
330
252
263
338
370
292
338
305
389
255
268
303
330
200
316
294
330
303
302
335
270
337
313
387
321
253
363
357
314
349
368
383
341
300
283
290
290
355
364
339
272
287
355
271
305
337
258
408
291
279
207
311
312
288
270
181
319
350
333
293
358
310
276
233
313
313
271
312
271
287
252
338
352
318
335
318
347
337
326
342
394
327
355
246
208
303
356
379
307
333
256
317
351
346
317
272
327
351
328
315
273
297
242
222
311
293
261
364
340
344
315
301
303
289
264
253
265
402
216
236
341
301
360
295
218
238
328
369
252
341
318
304
312
361
364
313
453
358
298
331
370
380
369
226
279
310
347
238
322
360
333
271
209
235
386
344
264
294
356
398
314
327
252
311
359
298
253
352
367
326
319
373
383
377
288
312
339
291
259
294
276
352
228
317
325
396
283
314
289
279
272
280
248
298
301
289
438
349
277
301
331
330
299
296
271
266
295
345
354
268
275
266
314
261
298
324
350
245
309
249
264
273
257
385
312
289
349
345
315
336
397
310
371
402
322
277
242
348
338
395
397
289
267
346
241
361
312
262
307
343
357
298
300
345
313
398
286
372
326
351
385
264
376
297
269
359
338
342
282
334
302
315
347
363
316
313
369
276
227
313
383
256
295
302
285
345
332
296
240
312
247
319
194
369
350
273
294
403
288
397
309
279
283
278
324
356
358
305
326
369
371
366
305
268
323
335
350
345
246
344
269
291
311
328
383
279
348
356
245
347
245
351
383
323
263
200
378
312
274
370
329
201
321
308
343
288
376
344
251
373
303
291
245
331
311
299
370
322
297
278
301
292
389
276
314
300
306
244
315
364
298
338
297
316
333
277
290
297
255
332
238
308
276
279
305
331
317
382
349
355
243
357
282
362
306
215
361
321
313
326
278
326
218
362
286
319
273
327
370
311
309
357
304
286
315
264
325
381
329
305
310
294
339
252
327
292
322
238
340
341
260
356
353
316
232
356
324
290
215
271
270
314
241
301
257
327
365
358
279
351
292
393
353
355
358
375
325
349
340
319
311
393
278
374
273
313
349
389
333
288
334
346
348
328
303
255
320
262
301
298
367
379
315
284
359
246
303
359
376
308
369
313
322
371
324
340
333
329
308
419
341
333
404
305
338
349
303
349
305
292
286
330
289
387
235
280
317
310
292
302
263
374
356
342
408
301
336
369
351
385
307
334
313
266
373
298
306
260
317
249
290
301
275
304
221
378
314
395
227
385
232
287
237
292
308
229
322
296
226
318
289
247
277
307
283
313
377
274
271
332
269
368
223
259
375
223
220
295
323
356
331
332
285
277
355
283
308
296
343
326
318
247
260
336
304
202
249
372
347
300
250
306
329
224
356
366
306
242
283
373
369
317
312
292
331
326
274
304
299
361
341
322
245
361
270
311
316
277
294
297
311
331
328
310
337
352
337
267
306
333
360
328
308
317
337
325
330
264
292
339
336
275
371
324
257
351
241
234
312
267
247
377
370
227
321
367
282
241
374
332
309
298
281
288
329
360
328
358
252
324
331
393
366
319
361
253
242
342
319
289
278
278
326
219
210
358
280
336
314
326
285
196
355
389
345
312
291
355
321
285
322
316
341
299
330
373
234
305
307
280
353
272
302
388
323
364
262
259
334
265
317
282
343
266
259
351
322
391
351
284
219
360
270
260
323
368
297
349
321
315
392
338
263
337
319
328
392
361
315
352
307
357
318
324
362
255
322
374
338
297
315
305
315
345
297
338
306
297
324
344
391
207
409
360
233
380
293
433
293
424
339
371
346
367
318
278
312
325
331
333
340
330
315
220
241
365
352
288
337
364
372
325
244
273
332
335
413
366
410
350
268
316
373
220
266
356
287
410
355
379
307
271
322
318
213
301
297
306
355
316
335
244
292
325
237
290
285
310
371
270
298
279
353
325
342
347
325
344
285
343
234
351
285
366
380
298
322
328
326
198
342
276
279
276
281
270
359
247
298
309
267
292
343
285
311
265
312
363
294
256
459
301
345
365
314
326
372
321
288
308
372
248
292
332
324
306
330
280
317
350
365
352
336
323
253
301
234
303
257
277
290
301
253
337
298
319
397
335
252
287
350
363
322
374
319
332
352
354
317
342
353
346
356
283
262
352
405
320
365
232
326
331
315
313
315
285
315
211
277
354
185
288
339
244
319
311
377
372
356
285
325
234
261
375
263
313
340
360
362
341
303
210
352
294
354
341
304
307
276
362
370
387
387
317
257
287
309
341
320
343
328
351
369
391
387
335
307
342
289
284
387
340
313
345
349
321
310
285
352
306
313
337
291
272
322
312
280
298
329
307
318
267
351
345
303
304
253
287
314
311
308
295
294
322
317
308
404
377
357
245
225
304
304
359
293
270
311
304
359
242
381
312
311
297
329
307
391
256
368
288
312
280
202
345
377
290
321
334
328
333
319
292
332
286
361
337
354
338
294
270
238
358
337
251
257
357
343
361
321
277
254
265
371
310
273
346
341
365
322
354
285
336
281
310
270
230
230
302
300
377
333
306
286
329
293
263
355
393
291
360
376
295
276
320
316
342
300
381
327
349
329
344
279
333
267
290
329
276
368
284
334
326
283
317
307
366
403
330
340
309
262
282
363
305
345
313
307
333
304
263
380
395
325
332
328
280
351
288
312
315
362
240
325
266
406
341
303
305
378
316
321
301
286
331
269
320
325
300
300
374
275
342
219
202
274
304
304
300
271
345
319
278
378
326
304
241
342
313
265
263
352
288
311
290
310
315
300
286
363
295
308
299
293
339
253
322
211
347
309
304
342
363
309
299
301
313
295
330
368
250
291
304
333
354
292
349
283
240
313
355
252
261
325
293
296
359
279
318
328
352
316
373
314
299
374
291
287
339
267
277
299
315
347
364
256
324
274
288
335
283
318
375
304
261
299
323
335
368
381
279
271
376
324
295
330
281
355
307
282
240
297
323
322
325
288
349
432
311
369
258
343
320
225
272
310
294
368
308
279
363
358
353
295
384
300
327
210
350
361
290
263
356
303
339
321
288
278
318
299
331
320
322
286
317
290
301
326
375
305
347
358
314
306
221
324
280
353
317
355
207
379
364
360
313
323
357
358
315
405
382
295
299
340
306
285
354
331
202
360
260
272
345
307
315
336
313
326
335
319
337
380
335
290
358
309
330
336
312
294
297
357
278
282
334
336
241
290
305
379
247
335
261
341
333
222
268
287
374
351
380
310
259
262
299
301
260
367
306
350
299
287
290
326
332
302
354
346
324
370
336
260
245
302
267
277
313
308
290
346
383
309
316
396
385
227
365
249
293
345
348
306
314
404
374
350
330
314
311
303
314
280
393
313
332
245
335
333
337
271
421
398
327
361
332
332
308
385
292
347
334
332
268
357
321
284
341
323
292
279
320
284
345
309
288
316
316
292
306
346
338
271
253
321
213
282
291
335
297
325
359
344
289
408
268
336
324
335
330
344
324
299
238
388
272
387
226
288
282
359
274
261
362
275
252
278
284
238
321
281
323
288
304
283
252
188
301
294
274
213
332
314
396
333
301
157
357
231
360
328
221
340
261
315
334
307
274
310
295
307
409
394
290
312
320
388
271
286
300
302
357
351
325
341
315
378
356
306
266
300
328
311
235
289
326
343
321
214
420
306
340
260
363
372
394
307
261
407
327
284
317
294
325
303
375
316
278
303
328
251
215
347
297
304
275
254
275
283
271
360
335
356
255
254
336
264
362
280
359
253
290
296
329
351
389
308
215
315
308
312
303
303
319
355
358
283
276
275
335
404
277
324
360
395
231
309
356
289
323
311
267
285
265
249
310
253
328
271
245
346
308
287
397
377
329
316
373
258
242
389
344
297
292
257
347
383
316
276
347
321
325
341
341
334
234
238
346
317
337
271
350
283
263
377
243
315
285
327
293
274
306
335
296
284
279
324
321
295
371
280
364
352
316
360
273
360
398
348
326
326
312
339
346
314
314
281
352
321
334
329
259
334
306
332
284
327
325
336
207
308
290
372
268
370
331
270
320
329
403
310
291
334
297
383
407
386
340
285
268
319
288
342
310
305
277
291
277
263
356
320
310
280
274
315
414
381
338
330
360
337
256
348
335
305
297
216
298
362
318
308
333
334
322
374
371
289
252
367
238
280
389
354
277
258
299
319
288
313
336
315
244
315
330
369
322
320
359
327
328
268
421
410
369
350
296
242
324
417
347
315
240
326
353
306
313
442
341
382
250
378
331
316
426
372
376
270
243
365
353
295
321
313
333
324
264
351
295
377
320
241
286
294
219
390
359
330
227
368
420
321
294
376
355
312
334
274
288
294
285
277
269
255
254
233
311
341
319
273
326
253
288
323
357
309
267
334
218
344
317
377
266
295
328
346
305
344
250
358
250
272
277
311
312
279
229
320
340
359
254
315
333
395
348
332
275
318
264
320
318
360
343
275
401
366
318
314
264
369
324
351
295
350
373
232
342
294
286
319
256
358
382
341
290
319
281
368
340
314
347
278
342
265
292
298
403
271
359
349
290
277
392
306
339
334
335
309
287
350
332
376
237
318
351
315
359
332
324
377
317
364
333
367
297
299
317
321
343
407
330
346
323
385
290
348
291
327
333
294
274
378
365
327
330
321
271
387
339
364
306
379
231
319
365
318
242
284
185
335
344
351
358
344
321
284
273
276
274
342
303
250
215
382
225
301
331
280
334
284
367
347
339
338
184
348
307
382
312
338
252
365
406
340
310
369
294
341
334
408
293
308
301
340
304
270
374
308
390
369
292
319
312
323
305
323
249
311
306
397
324
301
259
367
327
336
266
262
361
329
350
257
378
288
344
321
320
288
270
327
344
385
261
248
269
397
300
334
371
281
325
295
298
296
385
289
288
373
237
212
308
315
324
236
364
319
418
268
318
356
291
343
369
283
326
323
299
308
337
283
262
343
342
306
368
301
349
358
300
347
279
329
276
301
317
289
327
264
332
398
329
245
279
350
263
339
284
245
344
316
318
271
320
320
286
310
281
346
455
269
256
343
335
265
372
363
322
295
324
324
313
320
320
292
278
288
375
312
340
327
340
385
349
295
345
309
371
361
250
318
334
345
302
306
356
319
281
296
346
331
343
340
275
345
342
254
271
333
313
303
407
358
261
299
323
330
379
272
341
260
332
320
278
218
319
335
298
273
341
300
361
425
335
414
351
388
339
333
246
293
297
312
297
321
388
371
299
369
333
246
346
361
264
288
346
268
337
325
330
303
352
342
423
289
288
379
339
394
343
271
373
330
267
278
324
323
319
251
431
430
370
229
375
292
341
357
264
360
367
318
229
310
326
269
346
318
363
306
345
265
264
319
360
317
265
274
293
287
326
315
332
323
201
363
329
293
282
308
382
322
242
233
401
294
334
325
260
326
342
295
331
313
213
313
399
220
288
244
306
347
328
209
306
343
272
301
344
270
345
241
315
354
274
326
261
372
292
338
348
349
260
348
337
204
296
325
308
297
235
262
433
294
327
339
400
381
305
331
382
235
300
315
331
285
287
281
363
317
405
317
411
376
309
297
319
295
311
330
373
325
260
330
303
286
318
332
399
361
264
302
340
293
315
359
373
372
348
213
292
276
349
289
388
338
299
267
329
305
385
366
297
321
337
344
322
280
332
306
369
332
278
283
371
385
304
320
373
397
290
295
380
282
324
343
323
263
289
337
368
364
308
316
241
311
362
370
322
322
243
442
362
426
335
350
334
364
363
319
281
326
252
337
339
276
280
345
197
320
340
371
365
256
307
252
325
374
362
328
389
330
383
368
312
391
275
426
355
312
249
214
342
422
316
379
325
350
304
329
320
318
398
255
302
296
254
274
267
367
307
400
301
249
326
363
259
239
315
351
411
255
373
361
317
330
355
292
274
293
273
284
259
316
315
228
351
282
375
282
343
347
414
314
331
284
390
327
290
286
247
288
246
294
335
341
342
363
310
339
326
302
359
231
385
306
289
393
325
315
465
318
276
368
320
307
284
297
308
266
378
312
330
395
353
340
380
294
364
339
280
361
282
300
336
355
317
354
257
373
309
351
244
299
330
343
277
350
339
276
343
316
342
352
375
283
256
313
236
358
313
324
327
339
324
289
286
314
337
376
360
340
385
372
395
435
306
302
322
232
309
308
350
286
289
298
256
372
319
212
301
282
309
311
348
341
338
335
329
331
230
357
317
304
357
240
297
284
262
346
320
342
303
375
304
329
352
360
340
373
258
217
335
366
297
284
347
265
275
356
255
267
302
326
375
290
297
413
303
307
331
354
315
396
295
399
380
303
368
394
285
358
361
338
244
313
341
358
247
337
309
263
316
281
366
354
291
399
386
298
347
305
349
353
317
299
330
288
336
309
295
330
256
343
253
314
315
305
326
233
333
396
386
323
366
298
356
299
321
247
311
294
269
274
269
296
319
314
343
267
247
317
309
312
307
321
319
292
369
296
303
345
344
251
331
271
367
385
348
348
268
260
334
351
287
291
392
352
368
255
301
335
330
292
306
379
338
288
343
342
293
367
309
294
426
316
333
365
233
392
297
332
332
309
303
381
302
353
339
330
348
352
347
297
320
373
269
358
250
333
298
311
356
284
368
307
210
284
334
326
336
278
268
382
298
316
351
354
351
237
299
357
299
372
283
364
355
231
304
255
329
361
311
389
327
312
351
258
281
315
267
313
330
287
265
310
320
296
248
336
220
318
278
303
253
381
303
238
345
273
308
340
312
384
269
348
397
362
334
331
278
274
305
280
314
298
267
326
214
351
288
250
318
338
407
337
260
268
283
334
249
328
344
318
274
289
282
273
384
349
298
359
262
403
365
387
377
328
310
377
305
377
357
338
338
333
377
308
301
317
363
303
233
373
361
314
266
236
290
329
330
326
326
358
301
374
293
295
219
309
310
291
364
406
356
327
299
357
375
279
219
313
362
287
242
357
305
334
284
274
377
386
246
347
272
395
322
237
382
336
343
365
253
438
334
296
290
341
393
312
307
311
334
352
295
327
342
238
436
342
278
285
370
339
368
393
326
258
308
311
297
384
285
299
329
382
370
309
276
313
289
364
365
254
291
364
206
215
306
325
305
303
293
223
316
307
328
359
296
240
311
375
356
342
236
290
381
238
380
385
219
311
241
306
249
333
319
338
248
257
321
336
311
392
345
341
359
307
277
300
300
348
322
355
328
313
297
345
219
276
324
371
304
298
181
298
329
299
299
363
281
266
272
402
347
269
292
273
386
275
371
267
346
328
324
282
325
296
294
325
289
288
268
230
367
368
300
267
248
351
280
195
326
350
400
232
353
243
344
367
305
300
259
404
267
321
330
381
368
245
311
322
255
327
353
275
316
364
335
268
331
243
334
246
307
343
325
363
346
311
291
259
381
299
284
343
355
354
394
271
348
295
315
248
406
334
229
268
266
325
304
340
323
337
297
330
283
355
283
333
212
277
310
296
356
311
348
360
295
229
311
364
330
379
232
279
273
286
268
284
327
337
312
282
383
387
222
340
323
331
323
288
300
351
346
309
291
352
250
290
317
316
351
389
299
297
394
326
302
290
347
305
336
346
263
226
358
294
374
315
350
340
342
269
307
352
265
388
323
306
228
326
354
343
345
323
305
385
310
301
321
343
267
373
317
328
406
313
279
302
236
288
274
270
267
355
358
234
281
398
359
305
285
224
325
315
332
298
308
320
332
356
307
343
299
278
274
327
241
304
313
369
299
309
388
295
273
377
278
201
371
365
303
275
350
242
268
355
359
343
355
263
317
370
289
308
361
261
278
280
249
329
289
285
303
243
321
341
260
271
274
354
287
246
331
227
364
386
335
255
270
277
367
321
381
336
328
250
262
370
299
307
403
326
373
377
268
354
357
332
313
368
331
348
307
305
257
304
332
276
341
272
292
296
329
299
272
303
278
272
211
225
337
385
245
298
371
262
268
331
293
371
302
374
289
350
327
245
281
337
242
282
354
311
343
250
361
343
352
335
246
275
213
315
315
394
350
345
396
352
334
330
350
273
306
323
405
297
320
245
384
319
317
347
306
335
283
338
306
290
335
291
315
338
347
341
274
254
278
371
269
366
281
372
289
364
362
274
284
312
360
263
223
350
296
325
215
313
308
388
281
383
286
333
328
306
314
315
389
300
324
307
251
316
345
337
330
318
342
347
465
328
305
285
326
374
273
225
373
304
349
331
340
296
317
252
332
309
389
300
367
309
308
303
257
347
312
335
344
326
349
345
368
348
393
303
284
259
263
305
276
290
278
295
308
248
327
232
332
330
340
274
249
360
283
276
396
316
301
361
330
379
313
345
345
293
295
326
279
323
308
298
340
325
276
283
397
354
337
346
349
355
342
217
327
301
295
273
239
413
403
305
260
285
354
353
257
293
338
402
339
268
293
272
272
347
343
219
341
265
373
316
288
266
307
287
339
290
254
348
358
240
314
243
374
288
329
302
278
323
320
350
292
263
393
326
269
367
359
365
365
285
309
357
271
359
359
304
392
322
270
307
352
332
357
372
326
257
348
351
268
306
262
319
360
314
310
254
265
370
289
326
268
321
246
269
315
326
395
322
329
281
337
269
292
207
321
317
348
338
381
369
361
318
325
395
380
324
283
280
309
277
316
269
413
316
218
217
309
297
260
378
282
296
376
333
293
304
320
432
353
340
325
271
289
351
217
274
285
342
319
284
319
291
378
359
372
307
237
333
386
387
228
319
345
298
311
380
312
349
363
288
249
342
305
311
348
298
253
324
336
269
394
267
281
268
295
265
325
296
350
319
316
339
364
326
310
343
358
272
261
375
242
296
238
280
285
258
235
300
318
315
284
232
385
247
329
369
298
374
337
286
367
269
289
295
303
321
289
265
335
341
390
242
288
345
266
307
287
301
257
308
302
371
317
349
193
304
291
370
275
326
400
353
301
444
381
290
239
328
327
362
372
340
328
302
340
214
363
363
290
335
350
377
280
288
298
277
384
311
329
248
338
313
231
342
357
219
338
343
383
292
318
385
277
386
348
424
323
288
237
339
323
315
347
315
326
303
287
319
282
280
380
330
354
375
275
367
314
268
285
362
318
338
311
274
300
321
303
248
299
291
295
285
307
324
338
312
316
280
302
234
389
335
327
268
258
328
307
303
274
265
301
328
347
369
231
230
355
327
344
292
266
271
391
330
288
324
372
322
439
220
337
313
304
334
328
295
354
337
359
305
300
286
346
277
382
271
299
284
299
331
318
214
337
322
305
263
263
348
267
396
357
292
406
351
344
347
319
356
298
371
349
248
344
282
312
236
293
384
357
280
264
301
273
345
291
369
341
265
357
245
307
340
311
265
299
327
319
256
299
301
324
314
295
269
270
310
220
380
306
365
335
393
308
326
338
380
320
259
288
285
332
286
221
275
339
356
317
368
350
384
310
347
277
296
308
278
281
300
378
345
275
297
308
313
270
265
313
362
348
284
393
321
307
349
343
331
331
325
288
304
270
395
284
327
355
329
226
289
233
352
292
289
275
326
394
396
274
463
390
212
277
395
293
222
321
225
321
336
283
269
324
281
275
407
266
298
352
283
291
344
270
338
365
308
356
391
331
312
276
297
295
342
250
337
276
287
250
296
284
318
365
287
306
320
353
337
294
359
448
340
338
273
321
360
312
230
254
244
400
335
324
312
289
238
355
290
197
342
343
352
185
351
360
315
324
318
335
342
418
308
288
371
388
308
333
352
286
356
356
354
331
272
330
336
345
353
388
350
299
385
214
302
272
331
351
375
295
307
363
355
370
324
265
358
254
328
290
260
350
337
336
394
270
334
368
371
345
281
358
310
297
292
326
293
315
320
310
335
288
219
327
304
347
296
340
236
323
298
331
304
305
364
343
298
386
293
291
308
358
245
319
310
311
275
239
272
384
268
303
334
233
292
319
333
302
228
438
317
328
359
283
385
354
313
348
320
327
300
357
277
318
230
252
340
320
388
361
400
295
375
324
352
324
261
322
328
353
330
262
298
327
405
310
338
365
326
213
299
314
284
384
270
383
271
299
263
303
285
239
245
380
311
315
345
378
238
323
330
356
311
427
200
343
228
295
334
342
348
369
314
357
261
322
287
344
342
300
339
287
291
327
339
300
251
289
239
314
375
272
214
320
258
330
412
377
306
274
237
402
307
353
235
284
272
295
284
273
286
312
369
318
311
286
314
212
308
332
306
353
296
314
385
349
361
311
281
383
325
267
301
298
283
312
340
328
363
315
315
374
269
229
296
313
329
263
355
345
248
267
244
310
333
264
326
246
278
246
316
322
324
267
377
284
349
250
342
353
327
258
288
367
316
286
399
403
364
404
268
349
302
302
323
327
386
339
369
368
395
402
214
310
380
308
282
241
318
355
396
314
327
307
270
339
283
255
313
274
331
202
264
283
328
378
328
339
318
302
350
327
328
316
357
373
321
326
264
339
274
311
311
255
246
341
414
191
287
376
335
312
283
304
230
381
308
210
321
355
300
332
346
302
235
299
383
349
262
317
327
329
253
299
307
333
219
347
291
261
329
339
324
352
289
288
318
292
374
346
240
307
328
226
281
343
281
367
292
289
260
266
361
348
343
314
302
308
292
374
299
281
387
277
244
266
335
308
281
340
273
312
366
397
241
295
299
314
329
378
236
289
316
315
303
313
314
311
282
334
350
324
323
297
317
217
232
359
260
346
371
317
359
368
387
298
323
414
244
317
348
299
270
357
309
222
359
259
340
294
232
307
380
404
370
318
425
404
313
251
325
255
377
326
265
270
317
278
348
303
357
338
354
315
330
324
272
357
313
334
309
247
403
393
372
378
332
313
232
314
362
377
225
273
260
354
240
309
314
244
290
286
268
377
236
319
333
383
231
323
344
355
232
412
416
363
349
301
306
272
325
260
363
357
339
316
350
193
335
275
339
360
305
251
287
237
313
294
199
392
277
281
295
334
376
312
276
240
392
290
399
310
351
318
223
381
329
381
381
294
229
303
288
362
338
366
330
285
356
251
375
319
354
297
322
324
282
273
318
355
278
324
243
283
240
309
273
393
372
268
302
380
381
353
369
312
375
339
344
371
287
283
351
303
242
214
376
278
368
307
376
300
267
346
343
393
403
360
390
275
378
262
339
211
351
259
343
271
250
305
351
333
377
359
251
293
273
237
330
353
333
317
337
400
260
360
337
366
351
259
399
303
320
319
290
287
338
335
261
382
249
370
229
323
267
315
361
295
291
356
319
350
296
288
386
371
307
228
340
276
375
259
296
291
304
307
354
286
301
282
304
276
350
383
367
342
254
304
308
402
358
264
357
352
330
304
263
320
296
264
335
312
235
309
286
366
337
317
345
294
394
411
313
301
327
269
274
399
341
438
344
281
332
370
368
320
247
361
286
279
327
302
286
336
300
286
345
275
275
262
291
385
376
349
337
228
385
331
355
326
289
265
329
267
258
291
403
346
316
329
272
261
341
338
291
368
289
354
316
365
354
319
284
244
331
393
384
389
263
304
355
237
300
246
274
381
298
238
348
345
324
294
282
357
366
308
340
261
334
421
373
272
354
357
359
280
329
434
308
245
340
305
264
382
213
327
317
350
294
372
419
288
299
285
361
205
272
325
329
355
274
361
258
215
241
375
325
339
294
262
346
334
330
382
358
320
298
347
325
352
302
327
286
311
320
297
340
315
368
332
356
304
315
345
331
270
369
289
353
299
276
419
292
318
301
293
370
251
311
256
329
318
277
374
233
279
358
330
277
317
283
246
314
416
369
374
312
296
310
271
340
349
313
347
384
312
339
275
318
220
313
267
301
388
367
293
335
255
301
335
239
286
298
286
351
237
304
346
231
374
332
413
301
263
350
366
310
330
358
232
217
257
332
323
285
310
399
376
323
338
314
352
388
368
272
333
262
274
337
349
385
345
276
234
332
268
255
208
316
367
261
314
296
348
265
261
293
268
377
337
344
324
347
327
303
413
384
315
261
344
303
341
282
295
286
198
324
330
429
251
379
381
300
270
303
316
349
400
398
271
331
290
384
351
355
255
409
342
318
351
325
290
268
346
357
346
305
335
292
260
346
209
379
305
371
341
311
331
373
338
351
341
288
323
329
359
394
383
337
245
313
371
297
318
321
336
257
316
292
294
336
337
299
350
330
263
201
327
322
359
294
262
315
366
310
281
352
284
295
294
349
280
297
348
321
283
392
303
354
348
366
268
331
326
322
340
270
311
215
225
331
280
284
344
343
228
234
336
308
323
348
345
340
329
338
337
375
369
294
292
384
328
274
340
296
437
232
354
294
263
317
426
309
330
258
280
306
344
309
241
321
361
260
314
314
353
349
266
362
362
251
315
277
259
286
367
349
352
269
238
319
307
346
231
300
335
364
280
393
350
274
315
376
294
266
319
281
323
293
262
340
353
362
303
295
255
304
217
334
388
354
363
348
341
228
399
353
276
213
328
328
320
310
358
390
299
340
288
269
188
297
234
363
302
317
323
304
383
314
370
359
206
214
326
361
291
202
285
273
282
322
400
251
307
208
285
321
276
386
239
313
307
362
373
291
359
287
243
360
335
383
356
326
351
261
403
271
175
282
354
289
290
321
369
286
270
319
354
333
321
313
289
348
327
310
278
279
338
253
364
370
267
344
281
277
385
398
385
264
311
209
260
320
364
264
316
349
338
272
258
318
334
303
302
323
389
319
330
362
277
304
317
288
312
313
348
359
376
283
331
315
342
370
245
301
318
303
289
363
280
297
326
358
261
287
395
231
262
321
299
311
340
289
211
411
319
418
288
248
382
286
313
311
296
325
369
321
297
279
311
381
348
249
374
264
310
360
247
335
362
335
304
387
291
376
433
248
308
262
307
369
313
281
315
229
321
240
210
306
267
224
274
428
315
367
352
349
322
371
227
241
278
324
332
275
300
319
339
331
296
293
270
352
291
351
325
292
291
267
295
326
340
340
300
395
317
296
354
336
336
343
343
257
413
404
276
267
336
336
307
367
258
276
232
308
209
328
394
304
342
310
284
335
325
341
370
457
300
261
275
257
316
316
357
400
326
368
336
301
356
274
360
370
410
342
282
339
268
322
304
258
279
285
311
427
319
289
340
274
322
403
276
267
379
361
325
283
297
265
366
373
279
365
241
269
278
314
428
318
301
234
368
278
368
358
324
340
280
258
279
308
361
353
383
420
274
282
304
237
290
287
379
383
371
308
293
299
341
269
401
392
264
249
327
291
371
322
272
376
334
428
388
301
250
332
278
289
361
287
317
375
273
274
301
298
298
334
325
306
378
367
354
372
325
321
390
340
363
320
275
273
370
289
343
403
282
272
343
313
288
327
266
228
348
333
350
308
405
336
239
237
273
394
268
325
356
373
237
295
316
397
283
277
325
329
405
373
251
287
303
354
291
341
267
314
354
190
319
356
297
350
308
335
318
326
270
304
332
230
366
259
301
359
338
243
293
279
351
369
308
241
338
255
298
307
245
311
339
286
315
399
338
299
306
332
336
339
314
345
379
299
301
228
280
260
375
297
305
321
293
375
310
381
258
275
306
243
272
312
315
357
249
372
314
278
274
291
237
262
370
281
375
288
357
298
279
340
228
330
335
354
324
298
354
365
393
354
358
257
313
391
304
294
345
271
283
341
352
309
306
325
280
355
334
332
286
357
227
344
231
319
266
339
271
357
299
345
288
266
231
327
288
306
260
258
350
213
302
353
235
234
288
307
363
430
345
328
270
332
295
339
305
260
367
276
418
332
294
319
282
350
373
381
332
230
285
364
306
339
240
386
334
405
309
303
274
268
313
330
326
272
274
359
291
344
331
313
295
327
380
302
309
312
270
329
387
272
329
283
332
276
348
389
303
240
292
288
314
327
377
327
335
271
358
385
274
320
296
250
274
315
377
288
336
317
329
377
288
267
271
355
378
342
286
343
367
310
286
349
249
284
395
298
317
334
273
312
351
223
276
270
312
292
307
320
341
329
377
358
403
340
292
279
347
261
313
270
343
389
330
342
393
272
290
382
329
294
270
301
333
307
288
212
404
322
371
345
295
337
316
271
383
331
314
252
260
304
322
337
323
256
275
351
404
344
376
279
305
310
350
353
298
341
249
249
352
335
271
378
371
299
315
345
347
227
373
292
270
247
266
279
308
313
281
331
382
346
334
352
350
232
293
332
349
302
313
280
313
298
316
367
361
338
257
259
323
392
286
237
357
342
365
360
341
284
318
265
346
398
439
336
286
368
225
324
243
252
300
275
313
292
330
306
379
295
347
281
327
290
255
290
414
323
349
344
261
264
275
374
302
265
290
352
345
370
299
368
314
309
325
306
260
313
347
394
310
318
230
286
333
407
356
290
363
321
303
370
284
292
332
308
387
337
240
374
280
382
378
228
335
266
205
382
383
354
364
336
307
291
295
338
301
315
386
336
317
300
346
362
316
364
379
314
309
311
335
311
358
390
362
392
278
345
414
336
302
277
296
252
381
401
317
263
337
261
286
294
304
320
366
333
269
298
285
373
358
233
365
299
321
355
417
333
258
397
360
287
348
319
319
280
327
212
310
432
300
293
337
307
298
380
277
321
237
328
428
381
284
368
311
327
338
343
312
247
385
377
263
282
325
289
260
272
347
270
269
329
417
319
317
350
374
303
293
332
341
249
335
310
296
352
291
306
318
284
275
328
317
371
276
285
322
301
271
349
274
289
308
219
293
271
315
353
297
332
312
295
342
314
304
315
353
329
316
383
211
370
310
323
355
301
343
335
305
299
265
286
330
380
265
339
381
405
293
270
375
263
352
302
343
347
299
196
334
262
275
320
341
269
351
284
294
318
319
289
283
320
281
309
304
372
278
327
336
255
325
323
321
338
346
285
392
312
341
345
251
334
240
252
377
324
320
313
307
327
367
254
311
396
261
331
322
391
287
314
290
297
300
299
327
283
316
321
313
230
367
272
340
314
307
374
348
317
300
324
351
379
322
255
231
380
387
330
301
307
287
275
331
330
318
304
275
244
328
289
299
302
314
299
345
401
274
238
332
302
250
306
458
310
246
364
353
324
217
305
306
343
335
275
279
238
322
339
235
337
278
363
279
354
359
362
340
309
336
272
349
276
303
335
351
268
257
304
342
297
306
291
404
345
382
348
421
244
401
298
356
294
279
288
276
287
333
301
373
321
342
323
360
297
325
254
324
303
404
346
293
319
355
217
306
327
318
351
267
303
323
283
331
346
356
192
270
439
280
293
330
339
339
224
316
315
316
312
375
341
348
291
292
358
286
350
243
382
270
319
265
326
363
342
283
438
263
326
340
291
386
276
366
226
319
287
257
328
255
338
307
372
203
327
255
235
312
327
280
336
375
322
336
304
307
335
294
269
322
320
368
326
298
239
259
377
379
276
365
295
273
331
362
356
283
257
376
380
364
342
370
296
314
346
363
320
332
327
361
389
372
347
341
364
306
309
345
386
351
352
321
330
360
287
290
330
258
328
227
350
294
380
338
322
331
302
318
300
345
350
242
365
160
275
375
392
324
420
379
273
380
362
357
389
244
405
297
342
343
284
357
286
264
290
356
321
322
293
297
296
317
317
382
343
301
280
291
315
424
324
320
330
257
319
317
308
267
379
303
327
361
357
330
260
248
350
318
380
381
337
294
310
320
423
365
285
304
287
280
248
359
342
354
345
288
309
274
382
366
367
305
396
318
327
330
297
208
283
301
398
384
274
323
324
371
338
319
338
339
289
283
378
354
350
337
334
381
363
314
309
289
356
422
285
347
348
341
302
377
326
266
282
317
325
279
294
259
351
293
228
297
289
268
257
279
242
330
307
301
429
286
368
231
348
283
345
299
274
312
351
283
317
361
364
257
309
363
304
285
262
241
356
379
286
268
210
297
370
390
325
392
317
420
411
336
383
378
203
253
239
361
366
296
323
303
337
332
389
327
317
333
322
297
327
273
375
273
336
312
297
444
210
306
296
250
268
258
335
322
304
409
340
314
350
268
296
344
297
390
333
292
355
320
338
326
429
383
342
295
308
257
365
370
416
339
335
289
263
307
337
351
317
279
309
339
358
252
405
388
342
327
210
348
374
341
355
287
345
341
219
335
362
359
338
221
330
343
388
337
377
264
353
413
269
285
302
329
326
306
286
271
270
227
356
244
302
283
391
339
246
338
423
354
346
388
281
345
310
389
251
356
377
305
263
377
301
224
335
331
323
283
280
355
271
354
331
293
266
334
295
346
254
298
340
275
366
331
260
342
350
343
329
303
237
301
265
294
280
316
320
273
388
319
377
348
369
238
334
210
330
280
363
323
323
310
290
287
276
317
342
330
304
378
278
330
222
286
297
365
290
352
233
249
263
312
251
246
252
253
315
247
339
320
298
329
244
210
314
292
357
366
294
256
313
299
313
344
352
279
293
231
278
281
294
246
305
409
347
272
258
301
357
334
365
241
255
285
392
276
272
214
300
317
321
326
324
324
303
309
300
359
316
324
277
358
298
307
275
312
315
301
305
295
387
393
323
319
271
373
373
261
361
309
289
264
245
325
309
299
339
296
252
248
310
272
333
309
324
333
326
369
298
302
321
296
316
378
331
287
268
303
350
231
343
260
293
270
301
388
346
311
319
311
292
331
327
310
268
292
368
302
244
375
270
201
351
217
268
241
269
307
305
276
246
269
326
260
376
332
297
307
341
326
265
345
264
252
290
319
311
326
270
414
393
258
242
376
383
373
310
258
369
260
360
384
380
368
334
353
323
321
259
348
311
327
303
328
278
324
343
367
385
311
291
336
390
397
368
299
270
325
285
293
302
266
283
377
331
206
311
316
289
358
334
313
310
306
330
330
373
374
234
347
270
280
314
263
345
288
320
319
313
336
361
318
423
410
184
326
367
285
335
273
397
329
351
308
350
295
272
292
293
351
351
322
369
270
270
349
281
314
307
316
346
391
265
388
289
370
304
278
387
344
314
294
304
286
299
291
364
258
246
285
318
340
329
386
329
386
316
381
401
272
316
338
251
330
368
315
275
329
312
358
283
394
371
293
251
379
326
381
299
268
361
356
321
361
371
365
225
221
404
275
268
365
349
359
172
369
313
319
259
310
331
355
362
314
325
311
323
350
291
318
328
305
315
293
210
231
319
228
276
327
299
281
304
329
335
327
280
330
328
280
348
309
307
300
305
340
382
224
403
319
348
249
244
385
307
378
310
391
330
301
320
265
321
324
306
327
322
281
297
364
377
237
361
256
284
270
300
237
262
336
203
301
330
356
257
320
378
251
328
377
310
372
379
249
278
219
192
361
344
259
291
335
364
292
348
260
307
317
290
328
322
327
410
360
322
235
390
328
260
337
333
377
347
305
265
373
303
311
232
266
359
263
281
287
289
218
273
256
341
307
296
345
365
265
331
287
375
230
318
294
230
388
309
327
300
281
252
297
307
330
409
294
366
343
351
292
354
337
370
304
392
310
311
262
373
274
352
228
287
304
215
272
223
292
367
273
282
405
298
308
320
270
376
346
263
359
362
291
278
343
263
327
296
353
290
306
310
310
295
326
310
363
296
247
329
260
397
253
377
341
310
355
319
294
243
305
327
346
315
359
335
342
350
359
260
333
270
286
329
345
316
256
375
256
358
275
382
363
333
385
284
234
333
327
284
266
307
294
314
310
264
257
299
411
298
225
320
399
263
247
328
323
328
294
265
335
385
318
333
300
299
298
291
295
377
269
312
329
390
241
295
236
266
277
359
279
307
312
391
279
337
269
330
301
294
303
322
258
315
255
364
258
263
300
382
389
331
311
324
349
306
318
366
298
358
282
382
250
358
290
335
328
394
322
305
312
321
359
244
337
305
350
276
272
257
355
291
224
397
327
358
340
254
286
330
345
297
397
270
304
395
336
280
354
294
346
336
357
332
385
314
316
326
317
235
272
370
322
284
282
291
348
319
312
387
247
419
370
382
226
357
378
390
302
275
353
312
301
323
318
327
349
341
340
372
419
288
372
282
329
343
280
303
354
317
286
334
348
379
321
339
312
269
358
304
354
366
313
314
364
269
307
255
347
324
347
246
322
301
379
287
423
312
295
377
345
287
308
315
234
315
335
323
370
375
303
296
253
351
262
384
377
338
375
306
352
270
316
325
276
254
283
337
291
351
359
296
310
299
353
326
338
352
298
281
313
304
310
329
365
305
267
283
387
312
350
301
362
378
298
281
278
240
315
320
291
299
307
303
261
344
324
389
290
322
319
321
346
388
333
338
260
316
288
301
226
332
347
296
270
255
245
339
326
383
337
271
374
295
279
321
285
319
389
320
325
320
252
369
302
332
301
288
387
332
294
217
368
346
284
368
381
372
265
260
297
323
301
342
420
301
236
256
263
341
275
304
230
302
298
216
378
318
288
250
267
391
271
305
254
266
332
354
368
330
282
322
276
320
320
381
209
288
367
350
368
347
265
259
322
357
342
293
323
320
261
351
275
312
400
282
352
334
309
350
224
406
269
367
323
201
307
339
224
362
273
253
371
273
199
271
246
319
244
389
331
331
309
329
317
264
371
260
328
308
294
337
308
267
341
312
359
312
329
338
335
354
299
334
294
314
370
308
289
310
398
364
322
278
352
328
272
321
303
292
344
306
305
329
239
352
215
264
274
375
322
323
323
250
334
268
334
319
325
324
237
315
283
224
328
285
294
266
360
314
291
275
337
316
304
328
398
286
336
349
299
325
357
279
363
300
244
295
392
317
401
244
321
230
286
327
316
227
298
292
361
291
387
334
367
298
354
368
322
317
356
329
232
328
378
377
278
330
284
272
305
318
337
291
321
308
222
364
271
387
371
287
371
319
360
335
353
367
296
276
386
286
340
382
305
341
309
315
312
267
320
302
352
292
367
253
357
406
245
265
322
283
342
255
371
358
313
422
329
265
411
313
261
337
287
289
286
317
378
335
351
333
300
334
261
368
364
344
322
373
321
318
325
280
331
362
312
344
354
219
286
362
288
375
307
321
361
361
395
306
240
298
311
262
305
345
395
335
337
278
351
294
382
370
304
348
311
389
345
392
374
321
324
300
335
307
314
276
355
288
272
311
289
325
321
297
304
340
383
332
334
274
281
373
270
257
326
356
356
384
283
342
317
352
290
347
330
364
350
324
324
216
295
407
345
374
299
254
348
283
333
398
345
322
365
299
369
317
325
272
283
206
224
303
298
287
377
231
332
200
279
339
363
301
300
354
290
292
315
299
282
235
380
337
379
309
357
333
334
298
358
280
254
332
290
261
294
290
208
344
353
306
339
288
340
326
277
240
319
343
269
324
358
223
303
314
379
297
342
294
412
327
256
345
323
336
301
310
298
261
243
315
288
306
279
271
343
307
306
372
286
393
338
249
325
299
216
277
363
343
338
354
284
281
277
257
310
380
306
248
241
310
288
287
309
265
325
316
288
295
310
349
262
233
293
292
309
274
347
387
300
292
285
265
270
231
310
326
209
258
270
286
378
398
356
339
331
267
363
318
375
323
308
286
395
313
236
332
340
259
324
396
261
291
354
289
332
366
270
345
276
294
351
300
293
347
369
230
317
257
327
239
366
267
361
325
329
280
264
347
393
346
325
312
324
266
397
342
322
310
350
260
310
362
321
305
339
333
221
342
335
355
337
332
271
244
383
354
318
369
345
232
316
348
221
409
335
358
347
288
408
363
286
323
311
259
342
336
334
359
279
309
372
288
407
306
365
327
339
412
353
256
290
292
387
338
279
347
375
279
334
383
286
361
337
249
384
310
330
260
356
327
290
299
357
174
277
415
276
257
341
357
376
320
363
264
266
305
257
349
338
344
311
289
310
328
300
423
263
342
315
330
338
271
332
283
372
350
368
232
331
356
280
262
309
292
316
271
376
365
380
361
289
266
284
392
339
287
319
350
262
295
314
258
378
298
301
286
348
324
327
411
391
359
291
330
292
366
317
380
236
286
252
342
304
334
397
322
342
246
263
307
361
362
328
365
284
326
352
286
303
344
420
339
272
389
287
305
337
285
364
343
355
355
398
240
351
355
373
314
325
346
268
336
311
349
290
372
391
316
277
261
331
323
327
326
285
367
302
292
275
357
285
300
316
334
254
344
380
264
342
222
381
346
315
208
277
331
279
345
322
313
299
340
317
331
278
319
337
357
355
292
266
338
366
280
353
314
271
296
353
251
330
270
368
295
415
345
299
205
326
374
335
225
303
288
369
376
333
271
344
322
157
209
375
345
389
292
256
321
291
319
311
346
306
252
326
272
432
251
344
341
216
253
318
230
339
406
294
301
214
292
306
210
373
317
301
209
190
310
317
265
334
343
304
267
370
337
317
422
400
279
300
282
372
377
250
331
270
328
365
304
327
361
370
267
345
304
400
319
288
309
311
300
378
320
280
276
331
323
250
249
351
347
329
360
394
370
300
282
332
361
365
349
303
300
258
404
344
236
342
340
346
303
316
417
240
344
306
251
285
287
352
223
341
375
398
349
361
351
407
309
267
295
233
329
375
338
301
359
330
341
259
220
309
313
341
257
293
347
301
247
273
303
308
354
251
242
335
335
325
351
339
304
294
364
315
325
276
281
231
360
350
409
392
240
311
284
337
337
275
309
379
223
266
301
325
362
325
399
301
288
298
301
326
293
329
291
343
337
349
359
373
221
349
297
328
313
387
290
382
343
280
301
317
335
276
313
335
220
313
283
395
400
317
309
381
278
315
254
343
283
301
275
304
342
282
277
342
349
262
319
371
288
304
287
248
331
418
349
312
332
313
362
359
359
267
408
367
244
319
349
242
400
333
325
374
336
228
234
370
269
367
336
366
356
225
357
388
304
348
359
205
282
374
282
286
229
242
313
338
382
288
323
322
297
321
399
204
352
308
281
246
351
298
401
320
275
307
274
306
281
326
241
282
261
384
335
405
394
243
344
314
345
301
358
394
347
239
361
348
309
287
294
360
310
345
252
316
296
292
314
375
341
325
325
303
226
282
270
298
249
292
291
309
341
322
354
270
254
361
320
359
337
269
324
355
386
314
355
268
407
304
333
353
321
351
321
343
358
375
377
401
230
355
343
264
334
319
347
305
245
302
399
307
287
325
267
377
316
303
329
297
337
372
286
404
302
322
384
330
327
345
359
290
314
272
248
363
357
350
340
298
346
292
286
283
270
265
266
376
357
288
307
381
239
400
314
249
336
361
359
295
371
308
265
248
274
271
356
353
323
326
338
335
367
347
260
372
270
274
282
329
327
332
261
315
380
314
322
206
353
243
324
304
305
318
250
318
285
269
266
226
318
308
328
334
275
383
251
219
360
256
255
355
319
315
305
368
219
236
288
342
350
334
394
251
349
377
183
352
311
329
331
383
370
361
301
341
352
344
343
312
298
352
421
292
345
318
234
229
378
335
281
329
305
275
305
247
207
296
354
346
344
380
311
373
328
345
291
256
276
370
337
346
273
419
300
353
273
229
367
239
319
379
362
348
278
234
327
383
279
139
361
313
239
329
344
254
256
323
375
312
350
309
291
388
250
185
369
314
338
383
302
286
302
245
298
337
424
291
292
314
305
311
311
274
327
424
321
171
315
323
374
297
300
315
297
318
361
339
311
383
262
313
277
275
323
315
311
302
298
317
343
240
330
394
386
288
391
307
363
283
351
335
353
282
341
244
387
344
264
333
240
354
299
328
323
336
337
303
421
368
361
379
362
224
221
320
340
373
298
295
362
394
265
307
328
315
262
312
350
337
276
304
335
349
347
266
358
211
368
308
292
301
358
365
378
301
323
392
339
355
275
250
300
334
260
366
303
323
289
283
316
370
378
311
338
262
337
325
380
320
334
338
292
310
296
291
299
320
277
349
312
261
328
253
310
291
352
283
372
352
366
385
348
343
282
291
324
258
376
297
317
310
361
270
354
289
293
284
376
307
334
354
281
358
313
234
374
283
293
386
250
380
345
297
342
353
281
313
332
337
315
332
246
361
311
396
308
325
234
331
382
344
356
334
314
301
443
350
403
216
227
274
361
386
350
276
335
238
275
310
350
260
413
309
276
271
354
289
342
326
312
331
241
362
294
286
385
398
275
301
332
277
306
292
243
342
299
256
248
295
319
240
321
348
328
265
319
254
279
328
402
361
339
357
341
256
371
295
354
358
302
364
249
292
294
315
274
299
220
351
321
244
288
320
286
259
288
364
235
360
283
353
317
286
268
287
363
336
276
272
257
346
267
267
272
308
243
261
360
247
308
320
303
331
343
387
270
330
198
384
356
347
329
241
272
285
330
318
275
334
313
303
288
301
348
297
384
349
320
321
381
292
307
317
294
343
313
317
325
294
347
332
391
390
276
354
340
212
306
323
279
235
342
273
380
301
356
319
360
271
391
342
322
319
242
351
264
257
269
340
264
343
327
199
320
300
335
334
358
279
254
436
338
258
224
228
286
300
384
334
288
288
438
364
355
330
338
406
305
347
268
317
361
395
305
364
218
327
350
333
329
266
270
292
344
346
270
307
266
320
279
271
357
211
240
302
241
358
290
275
339
366
232
331
292
296
258
336
246
316
279
297
303
378
256
334
353
271
323
374
392
266
266
422
307
299
260
349
296
335
353
282
275
327
275
337
258
307
352
315
297
328
339
236
315
387
403
295
239
306
335
356
304
343
265
267
358
298
362
361
291
315
305
353
381
260
304
241
338
325
320
348
321
270
280
271
370
330
358
270
315
297
321
263
380
348
308
332
346
282
387
314
370
265
278
272
289
290
328
209
252
319
296
304
345
220
275
283
369
312
380
167
368
310
279
306
283
269
292
367
335
314
246
341
307
324
292
256
296
338
175
303
261
375
268
302
288
311
375
340
325
366
313
309
318
323
320
302
305
319
314
361
292
227
277
297
261
272
350
282
236
327
207
289
300
392
316
290
373
340
367
208
326
320
328
288
278
331
302
417
372
340
364
259
370
338
347
388
266
292
296
318
290
286
366
266
316
295
347
322
295
323
328
334
357
280
326
367
370
330
248
398
259
261
261
342
299
326
319
357
344
378
251
320
316
406
389
332
383
255
358
351
308
306
421
349
330
273
331
294
336
306
373
381
365
249
322
292
322
351
280
221
355
122
363
334
287
268
245
350
344
338
352
345
290
285
347
303
296
317
310
325
371
327
358
286
323
248
330
362
340
309
384
354
412
341
296
291
334
270
269
271
284
341
329
275
292
262
350
212
313
308
255
341
262
311
229
234
369
213
324
305
339
306
279
322
315
312
238
317
312
378
348
345
378
307
303
338
313
357
331
284
358
401
273
294
310
288
297
416
213
325
362
272
393
275
284
388
368
278
311
351
311
279
325
319
364
267
282
305
302
327
363
313
280
294
300
322
314
284
319
282
374
327
232
286
311
339
264
273
393
292
364
280
324
262
253
332
315
288
412
295
252
307
360
322
210
356
351
386
286
360
424
299
306
312
332
333
363
331
332
205
378
252
355
384
400
343
410
294
307
344
339
299
279
292
337
296
345
291
332
404
288
289
348
293
310
391
261
303
268
331
385
240
322
202
284
349
310
321
296
302
295
326
247
333
348
304
348
273
357
289
273
270
235
380
300
199
277
346
378
329
262
253
357
177
294
219
276
301
339
310
321
300
280
378
311
326
331
301
359
317
335
346
225
327
364
275
317
383
258
344
297
332
385
299
343
351
385
369
332
298
299
328
286
327
350
323
256
384
290
295
271
292
332
364
284
312
214
336
337
357
343
301
379
353
314
327
221
281
312
337
309
339
240
332
358
349
348
313
311
397
327
381
257
358
252
330
312
331
305
315
376
387
267
343
271
335
332
288
316
395
310
270
305
283
309
327
337
368
238
302
366
317
327
299
279
353
333
269
286
323
320
393
321
310
322
241
321
404
324
373
382
301
326
299
351
340
375
327
344
268
375
323
305
329
365
332
304
263
355
378
330
325
374
272
314
252
345
238
164
339
316
277
265
375
307
387
315
297
359
321
338
369
271
356
290
403
248
336
370
366
302
356
257
361
306
275
353
261
376
357
260
290
258
315
336
346
305
264
223
351
279
252
350
328
314
361
328
302
388
282
372
342
352
288
311
358
378
314
342
308
317
264
259
363
305
360
311
240
362
224
367
349
303
281
327
389
351
379
274
334
318
397
325
298
337
263
297
378
332
355
354
307
258
266
341
365
306
354
345
290
394
289
326
343
281
252
335
270
261
215
323
376
312
356
286
333
299
352
342
293
295
333
306
366
258
353
357
347
276
221
374
318
339
347
292
277
258
302
339
286
283
350
300
310
363
336
335
353
357
263
341
301
270
314
308
350
329
347
323
352
301
244
271
332
321
305
297
225
293
297
350
350
288
278
293
377
285
304
340
321
278
355
248
347
299
353
353
289
270
325
349
360
268
340
298
312
331
354
301
270
385
220
271
336
274
298
342
420
248
358
256
255
314
329
336
375
339
260
373
369
343
307
284
420
350
297
284
344
284
309
268
291
385
247
299
223
239
403
337
271
362
381
392
333
210
279
286
339
335
340
398
339
313
270
392
217
392
256
292
294
262
314
242
312
336
313
319
318
350
254
304
297
363
361
339
306
342
328
335
312
235
384
334
334
335
337
272
293
320
342
314
217
318
322
236
283
356
308
267
290
229
295
328
285
271
310
379
350
248
264
291
307
334
236
226
248
292
336
287
372
335
308
367
409
356
293
326
245
262
332
324
276
241
325
277
291
391
314
328
269
378
328
298
320
303
286
339
288
271
321
288
225
353
340
384
216
383
251
322
348
251
337
349
381
431
292
218
336
378
249
212
350
268
274
371
313
302
288
315
265
299
306
285
322
419
366
242
248
408
271
309
354
348
378
274
322
308
280
241
397
336
342
286
402
360
350
371
278
333
325
350
280
288
385
304
231
251
317
274
382
271
321
328
248
272
319
271
279
298
330
344
325
315
262
345
327
358
242
372
421
360
211
369
320
281
313
361
371
227
256
312
328
283
352
359
263
373
339
310
372
387
386
329
287
341
273
341
313
296
287
304
320
220
280
348
361
282
347
299
283
328
286
377
340
315
332
280
247
308
371
272
310
337
331
263
298
323
337
360
357
300
214
310
270
360
291
338
368
287
368
339
293
349
381
261
314
325
320
367
319
383
325
210
349
367
263
338
359
289
323
243
354
255
342
326
343
310
341
376
393
309
292
256
336
335
315
365
312
326
319
320
300
292
297
317
312
256
384
275
292
373
347
356
381
331
304
349
343
391
274
310
311
370
231
407
278
312
295
321
350
254
254
300
299
277
338
276
352
354
293
328
318
304
365
299
301
390
260
305
323
325
318
338
286
328
369
306
321
325
353
355
399
346
273
301
297
312
343
238
351
323
238
335
353
274
354
390
348
296
317
291
336
309
286
334
348
230
283
295
322
287
226
364
230
281
258
297
342
383
302
304
349
344
315
327
318
321
260
361
388
267
284
315
375
363
352
236
386
210
250
404
256
228
309
380
252
274
395
348
317
322
298
361
383
315
366
375
340
276
331
343
341
347
287
267
325
325
238
256
336
222
313
319
383
349
252
215
360
285
356
380
349
345
309
340
307
260
332
284
270
304
351
232
353
308
356
317
313
261
303
333
336
373
321
315
301
307
311
310
278
359
278
371
361
279
347
312
301
298
384
320
322
327
353
275
303
312
329
225
363
342
329
323
318
355
298
393
330
275
327
346
410
343
349
363
280
355
327
323
268
369
305
298
333
364
362
320
244
318
316
330
326
374
251
321
326
361
297
286
327
388
411
459
256
267
392
262
311
283
388
353
259
326
283
338
297
335
263
354
239
276
321
318
336
318
324
309
181
356
331
303
336
364
340
280
345
300
297
310
331
250
265
378
296
286
314
353
250
354
331
309
226
372
360
302
336
359
321
357
326
394
259
326
377
382
327
339
380
362
343
370
347
242
267
267
335
230
300
385
229
219
372
290
255
291
310
306
337
415
332
353
346
344
286
309
293
399
245
288
321
264
313
287
319
323
387
362
307
259
330
255
277
368
221
285
404
318
345
351
336
297
400
280
357
281
386
336
407
329
293
283
303
308
364
358
317
261
360
373
241
202
381
309
322
323
321
255
376
328
385
316
303
382
394
372
210
276
376
345
278
329
251
275
243
298
322
341
240
217
320
343
292
280
252
351
378
396
395
352
274
346
358
324
314
339
315
342
333
203
286
294
316
328
250
312
273
353
306
349
364
412
312
380
309
240
349
349
247
393
299
338
389
339
417
324
357
301
299
329
350
348
375
194
344
343
268
302
375
351
357
355
331
339
305
265
368
286
331
272
277
288
399
347
300
271
404
281
285
246
397
315
332
342
317
296
316
308
342
343
296
258
333
331
357
369
304
279
355
305
241
303
338
311
374
348
329
340
228
236
403
245
266
322
255
344
312
265
306
288
275
333
400
271
353
302
291
314
355
347
352
394
280
296
266
326
248
353
333
296
292
323
256
320
299
263
350
389
264
212
302
295
378
333
347
251
404
358
321
327
238
317
310
287
315
322
332
401
332
301
317
309
241
252
324
446
290
253
341
335
420
332
292
338
307
370
310
391
357
243
222
295
291
253
289
174
291
305
287
288
261
318
248
333
233
325
378
320
255
290
334
245
282
258
298
251
381
374
400
381
248
319
255
305
334
308
352
334
346
311
399
258
347
277
305
289
314
316
253
210
420
363
373
341
320
282
249
339
321
254
329
242
329
397
203
338
321
318
280
250
328
261
265
361
353
346
292
325
358
327
294
365
338
322
292
300
345
339
303
276
358
358
326
340
299
299
287
332
279
300
223
365
339
332
313
275
241
302
290
313
290
240
352
369
380
348
276
257
258
335
359
359
278
277
303
334
347
235
322
344
390
321
307
342
312
227
275
298
343
370
246
323
333
226
433
199
320
342
394
331
280
270
323
405
265
355
354
356
335
345
277
342
325
290
315
335
300
313
320
278
235
301
320
304
289
213
270
288
332
275
330
271
296
323
328
218
268
238
358
374
316
352
252
294
280
363
368
278
288
383
393
332
353
300
249
283
360
357
360
305
334
317
319
303
255
335
266
358
299
296
358
328
309
371
289
310
322
372
328
282
357
300
336
309
349
322
271
313
226
240
402
265
397
284
343
271
261
248
300
273
367
365
303
381
282
287
330
377
329
257
373
318
285
313
352
359
370
353
370
322
341
214
325
257
352
354
314
258
343
297
318
312
245
380
305
301
303
307
261
351
372
267
288
347
339
276
307
329
292
366
310
364
344
379
316
268
277
328
317
407
392
309
330
294
283
388
291
297
390
224
345
279
331
370
357
311
359
344
294
296
331
241
313
249
356
247
298
308
303
390
346
215
307
341
272
347
351
371
327
295
353
339
316
364
331
289
370
407
303
388
340
371
266
344
328
236
313
314
282
280
362
324
313
296
365
322
379
353
359
378
264
286
261
404
337
297
313
316
331
347
292
327
360
310
322
250
297
362
327
331
303
289
329
307
316
313
370
282
325
358
321
307
292
333
320
333
322
292
313
285
244
333
331
328
312
323
338
369
344
351
278
320
342
339
283
291
286
341
309
293
325
360
272
286
277
358
316
309
160
304
328
286
380
289
311
317
346
381
295
351
369
362
366
266
320
344
358
274
301
292
235
338
421
366
265
263
305
359
297
407
392
329
267
353
295
308
399
276
345
272
284
210
253
351
284
366
330
270
339
328
361
317
275
384
376
306
315
388
258
281
295
279
324
378
384
322
266
290
252
363
295
212
309
304
311
284
436
371
331
342
341
234
268
248
320
282
344
325
294
335
334
385
271
246
426
288
345
330
396
306
301
381
202
342
313
371
309
346
368
296
300
207
320
347
369
315
349
310
296
307
249
305
369
341
243
312
337
323
319
342
252
256
387
331
353
247
335
270
307
229
330
296
348
327
323
308
294
330
367
379
304
322
296
364
286
279
322
368
351
316
363
275
280
310
316
342
384
404
324
395
289
239
348
342
283
339
266
265
373
314
268
277
322
327
224
386
272
328
385
317
281
230
309
287
235
348
292
308
360
332
323
329
368
418
382
270
350
324
423
372
275
313
332
293
363
412
398
358
277
334
309
307
300
291
352
349
258
340
320
358
295
367
342
367
313
296
329
250
310
303
277
227
371
343
321
347
322
267
358
315
289
305
329
354
250
310
340
326
381
315
361
302
342
324
291
358
328
322
404
299
365
289
314
335
338
319
329
289
232
254
348
360
286
278
261
357
266
328
311
340
344
343
352
352
198
297
298
290
282
336
273
328
303
297
342
398
276
388
383
243
294
345
295
348
282
347
288
340
273
347
279
271
366
333
350
362
378
370
307
335
307
310
300
424
294
305
290
337
337
253
342
301
276
265
382
281
247
305
269
315
234
330
314
326
298
327
241
279
313
213
353
352
321
320
317
405
339
294
316
301
287
435
352
318
389
298
324
350
313
368
395
314
338
293
359
229
322
332
298
315
313
347
373
354
308
281
386
324
235
283
371
302
314
262
331
326
318
377
295
246
329
336
292
285
346
324
336
271
315
354
236
237
337
279
343
283
321
330
311
263
301
394
314
292
327
249
285
268
285
360
312
356
339
301
319
284
362
321
364
304
340
314
281
326
220
276
402
255
340
360
338
353
301
281
292
311
358
328
356
310
339
162
366
376
284
248
332
316
316
319
190
356
283
270
313
220
326
340
360
313
305
363
340
301
325
277
351
350
359
328
312
303
353
293
308
283
288
345
314
357
317
294
318
352
351
329
326
227
307
203
355
317
377
353
339
207
293
400
284
258
290
349
314
228
348
323
300
288
328
198
244
290
336
296
282
343
347
362
251
248
291
340
324
279
321
295
396
348
300
310
306
328
347
212
351
328
332
273
348
292
406
282
301
326
343
313
383
296
260
324
299
314
288
229
367
328
350
294
288
261
357
370
398
313
267
355
304
211
249
271
317
280
263
324
307
314
313
296
319
337
242
286
250
293
219
266
270
358
329
298
344
391
355
262
225
396
327
367
272
299
288
331
324
281
226
303
374
325
329
295
278
360
290
303
315
301
387
380
337
322
420
385
349
274
282
321
291
250
373
344
407
331
204
273
360
309
275
317
244
313
296
314
400
320
270
318
316
284
304
283
335
258
363
375
336
333
271
336
283
319
319
322
344
353
287
268
305
355
313
367
347
344
349
357
352
418
358
288
323
270
301
276
209
277
267
368
375
311
323
276
357
381
266
285
334
250
349
277
268
356
297
309
308
349
389
362
335
292
267
330
317
284
261
344
211
228
262
371
287
346
241
253
309
369
387
392
343
282
246
371
310
327
283
284
277
416
312
236
312
324
327
387
265
302
296
302
295
338
321
323
311
216
338
271
313
327
351
214
294
214
356
304
318
325
356
327
245
321
368
370
367
271
271
378
339
233
326
394
328
319
317
300
331
245
280
261
239
243
294
353
379
290
292
288
340
383
327
274
269
278
259
354
314
388
323
260
259
237
334
328
374
307
244
322
335
226
384
301
330
293
327
313
278
323
378
275
349
194
306
340
391
313
330
307
387
335
311
287
236
337
293
360
304
377
392
315
355
331
309
322
272
366
387
320
291
285
336
297
274
349
369
307
351
329
292
338
296
288
343
298
273
322
333
292
300
216
287
319
350
316
367
384
345
343
344
360
304
328
325
383
327
305
362
277
315
321
330
356
348
270
290
371
295
410
331
137
294
252
252
293
398
307
315
326
340
209
331
369
287
304
320
298
353
324
313
249
307
389
380
323
268
348
377
291
278
366
340
297
348
272
292
270
357
265
308
249
295
325
296
285
215
313
329
315
244
343
310
274
410
304
363
348
339
285
246
277
262
319
324
334
334
305
257
301
332
325
268
295
297
372
287
397
354
320
340
280
265
206
333
263
318
354
386
336
287
269
362
327
352
329
289
303
296
382
360
314
332
314
317
340
307
345
313
350
341
308
336
328
311
252
342
285
261
375
276
292
345
322
264
233
334
281
278
289
283
291
327
296
277
270
276
377
369
265
262
303
379
306
285
266
360
258
364
360
328
301
357
400
313
328
344
343
311
265
266
379
311
230
348
357
294
350
301
284
342
351
354
343
317
292
263
334
314
201
319
282
310
371
377
415
237
342
291
332
304
340
288
290
359
291
268
347
393
252
261
350
370
298
254
332
266
341
347
354
315
260
300
374
355
299
209
364
337
345
307
289
353
389
277
292
387
330
412
323
330
264
333
332
350
327
395
370
329
291
306
303
353
256
258
327
349
271
347
311
395
308
247
282
343
316
236
269
285
343
355
306
363
352
322
326
287
323
282
300
281
257
363
285
265
285
257
419
352
248
355
235
272
322
262
364
289
282
380
300
325
333
345
395
337
394
377
348
267
316
363
301
228
294
299
351
402
335
300
242
345
263
327
382
321
349
327
335
290
292
345
381
353
253
248
290
279
399
348
262
350
320
325
274
217
305
303
239
336
308
294
368
311
278
311
250
338
261
313
294
295
257
311
290
304
394
311
219
373
344
326
332
323
297
306
345
295
330
281
331
332
277
283
284
392
298
303
327
352
358
276
306
275
365
258
362
299
301
301
374
288
350
286
283
311
330
322
247
310
324
283
328
296
278
395
327
290
444
357
272
336
217
329
259
309
312
303
333
183
337
240
309
317
368
209
302
313
368
342
293
341
266
281
398
327
300
320
324
321
370
244
269
351
314
283
321
319
271
296
329
316
275
283
258
283
359
327
313
362
376
306
301
341
379
321
291
371
313
337
373
325
345
410
271
240
325
333
347
242
376
369
383
340
382
376
304
323
349
307
303
290
317
289
319
322
337
227
365
303
318
312
285
321
324
335
318
316
290
303
326
299
338
424
288
308
314
341
317
317
265
359
357
329
361
357
283
218
317
269
317
259
344
271
363
206
284
285
313
295
332
293
360
266
345
380
350
401
316
376
276
406
274
301
299
315
301
330
342
267
306
231
251
292
364
295
247
305
249
342
369
270
371
336
274
223
421
336
291
273
262
356
259
339
282
312
308
333
301
343
348
363
284
377
311
336
324
290
318
390
327
287
364
319
330
336
346
348
346
365
345
301
349
315
298
297
239
308
287
241
317
359
337
360
384
320
344
318
277
343
349
257
325
234
298
339
254
260
241
379
341
321
254
362
300
224
404
334
239
251
292
318
324
334
300
283
328
337
237
222
349
299
318
341
272
264
353
344
274
389
341
280
267
351
303
286
229
272
302
255
350
393
371
248
292
217
316
425
314
312
379
268
283
323
261
344
232
267
310
378
282
253
365
334
291
296
272
349
294
460
312
289
326
263
347
321
329
335
329
288
329
282
272
326
342
323
345
337
380
386
342
312
279
287
301
337
317
294
283
338
327
317
356
252
371
325
374
271
242
324
336
231
219
257
283
263
311
299
374
257
433
277
263
328
312
318
427
275
308
316
417
354
323
283
298
295
392
266
333
379
260
326
337
302
284
271
321
343
329
356
292
369
305
336
284
401
326
352
304
386
378
281
412
275
271
279
369
352
351
331
351
365
263
365
268
231
275
257
287
225
363
325
388
375
405
347
336
360
309
304
371
308
320
346
275
342
410
314
328
314
289
307
248
293
280
275
282
300
316
339
378
334
308
259
384
342
320
308
286
289
322
270
258
291
297
339
327
316
333
337
311
390
353
248
250
268
347
316
299
227
265
320
320
358
369
373
384
266
321
325
345
361
315
327
346
370
288
235
280
254
252
281
282
298
297
305
321
315
240
302
328
347
268
333
403
329
273
311
351
287
300
349
267
387
311
270
306
325
285
304
310
318
265
312
308
335
340
237
274
287
279
351
348
387
408
348
273
300
316
374
408
328
270
210
225
341
307
357
251
346
341
340
327
350
269
317
321
344
367
307
376
295
242
328
389
300
279
309
289
300
295
360
393
299
265
337
229
352
319
359
311
332
374
274
337
382
237
283
380
312
316
319
320
276
343
329
345
316
254
318
344
371
299
343
338
278
259
347
301
381
364
260
330
306
368
208
338
270
350
290
376
311
293
271
330
406
268
333
358
398
339
343
252
355
360
306
365
322
379
340
302
323
293
284
179
293
293
364
334
338
372
279
352
319
237
227
370
326
298
334
352
269
360
250
311
259
253
226
315
285
341
308
331
295
281
344
332
329
316
331
316
268
296
271
375
343
362
238
348
344
310
301
399
286
341
328
400
298
369
382
322
402
246
259
322
313
348
324
307
339
306
319
396
256
319
278
255
335
393
296
329
253
295
426
327
306
222
379
273
329
342
349
238
293
359
365
328
286
322
299
306
383
355
332
312
340
285
297
319
318
301
293
324
207
282
378
270
399
301
307
331
290
289
401
339
311
347
250
310
352
327
322
331
215
330
351
283
344
375
333
285
363
321
353
352
295
375
301
289
298
366
297
306
258
372
316
373
270
265
283
221
203
347
312
350
275
345
277
360
392
314
263
321
331
302
297
331
330
390
274
357
326
266
276
279
285
298
252
298
339
299
273
389
214
257
263
341
282
284
318
350
255
280
275
339
337
277
348
282
334
379
342
379
314
359
287
352
391
339
335
248
348
310
274
290
425
283
338
269
323
310
344
370
335
320
313
355
300
273
211
343
349
231
272
292
321
370
352
298
279
363
304
341
255
316
322
342
325
278
347
361
264
312
355
278
288
326
363
365
233
366
350
296
257
305
289
311
290
343
301
259
240
293
418
328
266
365
349
340
330
335
389
236
360
353
294
315
288
309
280
359
249
329
323
316
398
383
253
353
306
323
270
364
293
356
238
288
294
269
344
295
308
336
313
319
352
357
330
365
311
384
259
301
364
275
346
259
318
363
312
302
305
240
324
355
348
325
296
300
311
359
240
263
314
292
334
322
351
220
277
306
291
346
241
275
331
303
243
297
322
345
319
309
346
290
398
269
276
288
291
350
287
367
395
235
288
327
289
289
332
381
303
299
196
295
315
342
326
300
296
319
306
289
379
300
232
343
394
286
348
382
299
270
288
263
314
376
283
302
313
354
296
348
260
277
259
294
246
298
378
303
305
293
289
294
227
391
330
339
297
354
308
303
260
347
407
264
253
369
287
218
209
398
384
304
349
421
334
295
305
324
278
379
343
268
330
368
296
327
364
310
315
257
279
295
352
277
363
349
338
363
344
361
341
314
280
256
344
335
289
265
289
312
321
308
338
377
305
383
296
336
242
312
353
388
347
333
373
296
264
359
213
363
358
282
384
350
213
311
305
306
295
335
272
313
285
286
376
275
293
358
319
323
371
355
358
361
342
311
370
295
238
278
257
152
315
292
255
275
418
335
339
256
370
357
293
366
319
314
299
302
348
318
293
362
357
295
354
306
314
285
325
302
258
342
294
295
322
343
245
357
293
353
388
276
354
298
313
255
292
302
331
327
327
273
359
302
239
383
354
260
340
246
328
244
272
256
314
336
306
292
329
255
384
293
305
283
299
333
337
270
341
335
343
300
348
308
296
291
314
251
368
377
345
280
344
368
328
221
330
278
246
289
362
321
305
338
294
328
331
304
372
344
319
338
399
252
296
313
347
286
336
330
311
336
382
364
283
354
396
310
267
354
330
309
362
318
233
368
323
289
328
270
319
357
334
321
392
375
262
371
404
296
352
363
352
342
331
293
315
284
346
325
341
333
269
348
335
313
307
368
359
389
256
327
277
366
317
330
349
387
312
274
311
355
271
306
332
210
382
395
337
364
308
327
287
269
383
349
286
283
302
367
269
428
268
343
356
330
349
325
366
319
386
344
281
331
372
280
255
217
357
367
281
324
279
348
320
395
314
334
274
386
321
276
276
327
250
355
362
314
294
305
293
387
229
279
308
250
280
250
324
296
319
324
375
266
338
356
229
360
247
393
372
287
318
389
278
406
322
404
294
274
349
363
374
307
269
332
282
364
316
311
367
313
360
371
334
338
270
350
345
288
405
301
307
371
381
354
375
301
399
296
314
301
312
282
254
340
301
242
302
344
291
259
249
352
282
314
355
284
354
290
258
342
272
241
446
312
332
267
403
373
312
209
318
287
302
354
375
317
314
376
311
303
297
295
359
260
374
316
268
349
251
250
297
319
304
244
339
353
291
385
282
260
313
285
332
395
311
403
286
335
351
375
236
317
273
344
323
320
328
303
362
207
317
308
330
195
258
356
279
214
332
399
317
283
295
302
335
247
324
292
318
309
382
276
242
360
343
318
313
341
232
262
257
316
322
396
288
338
291
316
279
317
283
308
239
271
377
308
339
325
338
431
293
355
366
276
362
289
296
369
271
263
389
362
236
351
376
329
317
258
329
342
335
328
304
407
360
268
291
294
353
232
323
350
307
311
218
339
325
339
321
311
411
365
314
262
316
203
334
366
332
335
374
334
311
342
322
271
391
218
196
341
251
339
316
330
269
322
287
273
353
319
331
288
338
258
310
240
337
306
314
402
286
319
319
285
247
356
355
258
295
364
302
361
333
301
315
207
350
349
281
247
382
274
417
291
281
317
240
269
248
326
362
284
274
258
334
233
282
359
250
244
219
339
316
307
324
239
360
356
248
276
307
351
266
353
251
252
224
331
364
271
308
292
318
375
361
323
381
320
392
281
315
361
277
316
278
311
428
287
307
400
329
317
351
273
377
336
343
244
301
299
273
263
361
225
297
407
293
287
322
299
344
309
287
347
292
376
303
279
273
357
335
311
237
256
315
315
323
260
300
320
285
375
307
328
236
363
327
348
412
284
261
328
279
255
293
296
343
316
247
418
375
350
373
289
279
299
323
310
365
283
366
324
376
329
343
270
266
315
320
372
308
385
386
321
303
391
364
260
291
263
223
330
254
368
345
344
378
322
324
390
214
363
324
301
372
378
314
332
316
309
361
294
298
381
367
262
354
285
324
390
321
283
305
257
342
331
292
341
292
310
337
315
329
303
393
278
290
352
300
427
284
328
344
393
350
415
382
261
303
333
356
355
245
309
291
387
262
318
311
315
299
380
336
303
273
300
373
238
284
358
330
262
331
269
355
358
332
286
330
322
259
324
326
237
242
378
327
307
302
345
270
338
306
345
341
306
291
290
326
312
317
369
385
334
342
327
299
329
388
346
271
333
283
241
276
393
294
269
319
205
424
329
250
371
358
446
344
282
353
330
327
367
323
356
321
312
325
293
388
419
307
258
311
215
384
327
403
307
234
256
414
259
290
287
262
309
259
322
334
314
268
312
354
286
414
256
251
343
320
388
392
334
367
306
323
307
270
382
320
276
291
314
331
331
370
307
292
317
319
308
351
329
340
332
324
382
317
331
292
286
264
323
326
318
249
222
332
295
283
350
319
330
327
296
379
273
229
225
294
289
446
323
308
327
271
287
275
318
237
284
253
298
267
276
321
304
245
302
302
215
305
338
329
322
283
319
325
300
248
294
319
298
379
391
305
311
346
272
357
290
237
257
261
370
366
309
342
356
352
222
341
330
299
349
259
308
400
302
245
252
304
277
292
294
295
291
328
268
341
374
321
352
321
344
311
332
331
293
274
275
238
345
327
311
294
340
342
340
323
254
311
346
317
319
351
254
393
330
252
305
251
305
284
320
314
290
329
385
369
350
390
327
309
291
392
259
358
287
350
282
324
428
335
312
305
239
373
374
272
244
300
349
325
278
343
273
408
357
298
321
376
317
369
318
305
267
337
348
322
375
290
262
312
347
335
354
384
286
264
341
311
360
293
333
314
392
305
350
288
346
310
369
345
374
360
339
303
376
262
370
356
328
296
376
286
309
311
323
338
306
394
257
197
387
299
428
314
294
169
342
266
397
310
256
328
356
287
331
306
365
392
280
282
344
365
305
275
225
232
314
291
413
314
291
330
342
320
307
281
292
371
312
300
346
357
282
242
289
269
319
305
244
230
319
325
393
207
313
335
338
231
287
370
305
317
340
301
374
308
246
254
265
349
361
287
253
327
342
208
375
349
233
265
287
282
273
306
299
323
321
379
312
355
287
260
354
301
279
288
312
336
370
274
393
341
280
286
319
276
336
316
396
278
321
300
299
262
280
293
292
357
275
295
431
332
266
329
340
332
285
272
372
266
339
367
278
388
281
313
309
291
374
362
300
378
271
270
275
230
316
369
307
350
303
346
337
364
363
346
251
322
329
284
319
333
353
324
249
342
361
264
343
294
317
374
326
388
348
251
322
365
339
350
389
331
320
337
240
249
313
270
296
228
298
336
310
358
233
288
256
326
313
374
301
252
319
367
318
377
437
304
251
316
351
235
301
378
356
273
346
327
330
258
332
344
333
244
341
323
388
244
337
328
302
294
262
323
444
331
342
318
302
280
247
356
274
333
306
310
319
351
348
358
273
346
217
334
276
342
305
355
338
231
343
282
230
317
278
319
334
322
348
370
314
247
334
290
377
299
304
377
340
332
280
341
313
333
334
321
393
244
219
235
275
250
315
304
379
278
345
309
372
217
242
361
329
385
361
303
327
259
291
328
289
286
301
359
300
358
276
292
289
423
345
322
345
315
406
317
334
303
311
318
258
161
297
210
332
362
279
353
399
355
275
318
292
376
321
264
346
363
203
344
330
286
244
327
407
306
347
240
383
365
327
328
315
351
361
234
328
360
325
308
323
229
301
374
311
278
326
273
381
325
400
292
320
310
360
312
327
340
313
325
340
309
350
243
283
368
281
269
400
359
332
312
263
337
316
392
355
290
296
311
375
352
358
348
251
353
328
339
366
331
312
334
329
350
303
296
337
195
317
282
398
311
213
269
374
296
269
363
343
385
363
274
325
316
318
322
269
363
320
337
293
295
302
386
354
339
367
366
350
276
282
369
335
382
337
261
347
326
260
297
312
379
242
355
410
362
295
367
342
291
306
254
241
292
273
323
317
276
286
299
387
314
339
246
350
280
372
320
315
366
380
325
350
325
219
345
305
367
352
316
278
336
400
374
237
367
315
296
381
331
284
313
305
281
279
358
262
304
334
384
276
361
243
356
316
321
294
298
279
242
256
307
287
317
255
314
347
261
323
327
321
216
348
348
318
299
308
277
289
330
378
330
252
387
257
386
245
351
291
310
298
330
232
362
293
303
322
293
290
324
302
275
266
309
322
310
246
349
376
305
316
247
255
311
313
336
323
257
221
370
236
317
310
304
298
325
388
296
303
376
289
236
271
297
306
319
327
354
303
283
278
358
304
384
309
283
248
309
285
323
293
319
263
398
346
364
236
252
321
326
306
263
201
343
322
347
252
298
307
338
307
373
316
260
289
299
385
345
271
312
210
312
257
316
366
308
272
272
317
220
338
261
319
311
205
353
249
359
337
348
219
318
255
308
363
345
296
209
410
240
291
380
327
399
291
346
363
304
370
317
274
377
314
300
217
324
300
298
259
372
306
321
339
317
288
344
411
386
242
285
341
307
321
296
357
308
333
412
237
384
299
233
298
240
373
232
353
343
249
285
292
260
331
339
418
294
299
297
368
327
302
321
297
356
364
249
366
341
234
344
304
357
328
319
295
356
291
314
243
378
348
353
302
278
334
337
313
354
266
343
360
304
345
332
411
351
280
391
303
328
305
280
335
307
329
302
387
320
383
268
389
171
300
331
266
313
310
325
327
319
351
300
319
323
289
197
346
317
288
311
327
399
342
272
349
297
339
313
285
340
293
212
316
338
302
251
273
344
318
346
330
273
368
287
353
281
333
232
343
442
326
373
351
299
167
281
342
234
377
238
344
337
357
272
380
330
304
325
256
337
279
342
284
360
313
357
377
288
290
307
272
317
257
284
374
292
385
309
368
308
275
223
296
248
301
292
290
288
308
369
327
330
367
321
344
307
365
357
269
363
305
374
314
288
351
271
298
290
334
311
361
322
278
346
293
323
286
310
298
319
340
356
275
353
309
398
344
366
323
353
329
287
326
340
318
336
270
305
274
269
352
270
365
352
302
331
318
316
358
288
370
278
359
294
353
348
345
197
389
331
272
430
224
329
340
374
281
300
318
263
307
422
194
300
300
301
274
350
306
236
368
324
354
271
366
196
342
362
313
316
365
352
314
345
343
265
365
385
347
310
316
310
221
341
236
244
305
337
347
322
348
287
331
260
281
241
272
348
277
356
273
339
268
343
355
333
329
325
314
320
422
378
289
310
327
295
329
311
243
265
306
282
300
357
362
353
330
321
359
236
259
389
333
366
321
250
355
389
349
311
276
338
282
244
271
323
310
349
318
315
304
328
242
284
272
349
312
326
307
278
297
394
244
297
294
284
230
327
409
354
196
354
293
289
304
368
335
316
288
399
301
315
349
401
365
313
277
233
304
262
324
341
289
346
378
303
315
367
355
305
368
340
307
342
271
305
269
259
333
303
311
287
307
318
377
364
246
351
358
204
351
347
253
261
325
370
327
337
347
283
247
303
230
291
273
269
380
348
332
252
233
357
235
326
368
377
337
302
252
395
287
351
340
281
329
308
347
261
295
192
305
220
319
334
355
286
234
267
296
383
309
330
345
322
389
269
315
350
322
331
336
278
314
286
301
293
304
313
297
336
315
360
343
249
262
363
255
295
356
357
353
278
290
362
383
331
310
380
358
293
386
286
339
261
279
283
278
351
319
304
342
293
262
257
321
294
327
402
328
337
361
291
167
293
378
288
298
275
304
234
302
318
303
309
268
351
357
265
364
298
391
400
371
376
333
308
317
240
326
304
297
308
317
331
284
379
381
295
317
298
311
248
298
295
349
333
343
344
369
296
286
272
254
265
356
260
227
385
318
289
319
282
311
360
351
446
263
237
337
312
296
292
357
327
296
332
336
320
313
233
338
365
238
326
310
339
333
338
321
352
397
290
362
353
337
270
378
291
303
275
259
338
274
295
297
250
337
243
298
306
217
341
371
342
341
258
272
363
340
350
378
318
299
278
316
266
296
311
314
232
217
288
307
280
313
397
259
400
384
312
363
335
411
297
290
293
353
323
283
362
354
311
352
267
287
321
288
321
380
354
212
322
404
395
254
321
326
417
374
242
378
220
303
325
322
299
321
383
314
293
300
342
327
304
313
309
310
316
401
270
252
318
272
312
321
351
338
321
338
324
368
275
279
333
269
306
353
327
348
313
287
309
346
313
295
273
321
354
262
286
307
265
333
296
355
349
351
427
333
393
319
334
226
368
397
314
264
329
325
258
368
342
381
334
366
304
394
272
279
326
243
335
332
290
266
327
350
250
363
308
204
395
373
290
343
299
356
282
333
351
358
278
383
316
293
281
201
247
230
391
344
276
309
210
295
293
282
354
241
335
355
302
280
372
330
332
294
300
374
355
312
339
374
318
350
248
304
314
330
268
335
333
306
398
304
330
204
337
343
280
303
328
287
366
403
306
296
249
344
325
332
323
268
325
362
320
297
238
318
364
258
314
224
366
315
282
273
325
316
289
242
275
292
304
344
355
309
341
367
338
310
336
356
264
357
303
362
311
257
323
320
280
365
264
338
279
293
274
327
271
292
310
302
386
310
281
358
380
370
319
260
277
244
304
338
285
243
327
410
375
372
337
271
328
260
319
298
320
294
393
417
267
299
169
334
282
254
303
243
316
281
284
251
295
383
243
300
340
299
366
250
258
291
352
355
225
323
281
215
287
375
315
273
260
285
307
352
265
282
292
246
291
320
301
340
373
372
284
269
219
311
340
349
377
410
208
305
275
374
379
348
417
351
313
331
339
338
284
307
331
230
292
332
363
247
348
400
354
321
348
255
343
368
371
287
330
382
313
287
295
292
366
323
329
249
355
335
294
334
288
282
345
231
300
386
401
289
332
255
301
336
311
326
361
358
342
315
289
322
297
255
277
234
338
301
403
429
325
304
311
339
328
230
355
314
348
317
305
385
314
342
383
322
305
326
378
358
348
242
359
315
311
309
266
314
324
372
218
292
346
305
354
332
241
277
318
287
219
313
306
322
276
361
298
384
221
361
315
311
366
348
407
343
351
309
348
243
321
313
300
296
365
280
297
270
342
333
389
368
225
299
345
345
361
285
277
290
296
241
340
334
334
326
268
255
227
314
349
343
342
318
315
235
304
322
364
281
294
352
283
353
276
343
347
361
251
352
359
274
424
373
274
384
294
330
330
275
297
273
295
311
353
384
341
428
295
333
279
386
323
360
251
186
339
362
317
310
260
306
298
249
341
276
367
354
313
270
348
337
324
348
277
390
308
381
287
308
340
324
317
336
322
346
340
277
335
233
326
311
264
339
338
331
400
346
218
249
263
284
379
331
308
312
403
360
314
399
274
282
361
299
258
257
241
329
334
287
216
351
336
267
334
279
252
289
348
317
362
345
333
293
295
406
372
257
288
306
355
318
336
270
228
367
270
313
383
309
323
298
312
352
296
316
338
393
297
374
311
250
258
270
302
291
401
297
318
379
255
339
260
329
340
310
330
390
312
369
402
281
256
328
284
312
394
292
313
317
290
297
310
292
270
401
335
280
303
313
299
319
295
366
312
329
280
318
366
371
270
284
415
407
358
330
332
345
371
303
335
209
298
316
307
265
301
296
339
364
301
337
322
353
294
353
314
285
325
379
226
357
371
284
327
297
296
279
326
289
305
289
371
321
237
305
295
231
349
439
263
324
346
339
272
335
302
245
349
262
333
381
370
301
261
334
395
375
309
295
257
391
283
344
316
305
340
337
357
281
355
328
344
249
239
288
326
285
300
298
267
342
276
268
289
368
297
337
295
395
335
351
371
336
302
368
248
367
352
249
307
371
308
358
292
374
375
244
295
351
342
258
317
311
391
322
336
312
272
348
321
313
264
382
259
344
329
261
345
242
266
297
265
339
300
281
267
298
360
356
307
303
344
267
256
326
290
236
311
267
390
224
297
262
262
249
302
324
317
322
303
342
205
273
315
243
314
284
387
358
286
354
344
270
345
267
326
330
279
246
300
301
235
250
292
330
299
303
320
336
324
272
226
270
287
286
293
323
324
292
341
258
347
253
298
278
322
340
373
329
363
255
280
183
326
264
296
287
301
383
280
341
380
355
338
389
371
358
393
352
347
355
319
407
285
293
277
311
320
309
361
370
324
353
265
246
251
282
135
364
327
278
390
287
375
363
309
279
310
316
294
302
382
373
308
405
283
242
370
271
376
335
346
350
332
295
313
332
265
288
352
311
343
203
283
262
275
348
300
433
310
272
314
309
360
202
368
338
345
320
366
278
286
308
303
339
361
360
267
308
295
328
347
369
394
324
365
264
286
347
393
264
347
236
342
313
404
271
362
337
335
361
293
263
404
370
321
342
272
283
214
275
343
350
305
287
353
293
371
293
266
242
363
276
371
386
241
332
320
327
340
326
274
322
355
370
340
371
359
300
368
244
339
318
309
310
369
310
398
361
348
340
340
384
247
275
343
267
245
303
360
348
368
303
270
323
373
221
387
313
357
348
302
394
184
305
357
355
244
371
296
365
293
330
326
355
312
260
218
228
351
359
331
308
278
261
326
337
300
267
296
261
355
322
321
227
334
258
197
256
319
345
309
282
362
343
284
248
308
294
301
364
324
305
341
329
267
330
333
371
311
345
306
346
254
361
212
387
348
263
347
330
320
202
299
305
349
339
306
368
341
334
367
309
325
391
318
330
291
327
324
297
263
304
382
320
337
359
283
341
223
250
227
314
338
283
329
402
331
397
261
351
343
307
258
319
298
302
339
274
343
326
391
359
309
303
250
255
350
290
381
310
279
275
261
313
320
275
231
315
375
342
343
293
284
269
317
358
287
240
421
303
295
308
397
367
401
314
326
264
328
360
320
330
341
288
306
342
336
370
330
329
265
302
382
361
273
371
356
305
292
266
261
312
313
335
356
170
234
376
354
332
349
329
355
187
352
333
352
345
338
345
287
241
281
256
317
291
350
311
297
304
302
292
319
365
322
338
316
374
354
374
297
370
276
292
240
430
337
347
332
416
372
224
356
302
396
350
330
265
292
312
237
293
283
402
256
342
312
329
307
319
315
408
307
318
337
260
336
308
265
307
274
261
309
391
265
246
369
336
382
266
318
357
358
316
363
321
338
316
225
320
329
297
269
311
366
306
363
342
354
297
273
292
301
354
258
310
334
356
254
313
339
324
281
369
344
384
374
319
377
246
289
289
346
296
322
314
336
318
311
347
310
330
375
232
302
289
345
349
343
288
329
275
295
332
262
319
341
341
318
324
302
396
375
257
365
320
358
364
275
250
316
335
282
229
357
366
317
262
363
340
282
391
374
275
231
339
332
383
309
376
295
296
306
299
356
340
302
309
272
302
251
252
205
391
337
285
223
296
369
291
274
235
290
383
314
322
287
284
368
300
372
280
343
289
284
302
306
295
269
338
283
253
319
329
259
325
320
325
278
289
239
371
358
282
264
257
363
315
402
374
275
413
271
302
279
363
330
290
304
294
286
387
399
335
336
331
285
252
415
299
356
303
309
294
266
295
303
303
340
311
307
332
298
361
336
323
361
271
357
307
369
335
316
305
312
285
360
302
290
333
358
293
287
338
299
279
272
237
347
368
268
366
408
308
266
322
338
297
311
371
355
381
340
299
269
205
398
305
364
315
263
338
376
290
287
356
330
402
280
297
318
361
247
349
360
264
276
333
380
305
321
339
293
294
372
327
296
258
302
339
292
310
383
285
254
282
396
353
357
239
281
339
304
342
386
314
255
354
258
370
294
249
365
290
324
358
371
290
243
316
301
298
332
388
303
322
353
331
313
320
327
289
328
350
293
270
255
259
366
345
303
274
299
312
258
198
265
223
254
253
340
267
323
298
360
281
368
275
284
337
346
277
306
334
338
310
444
328
309
272
344
354
290
297
339
380
251
372
333
348
313
321
356
280
352
350
327
390
257
301
392
314
328
362
250
365
385
293
384
257
249
320
360
317
266
366
307
315
313
276
406
358
242
319
373
288
278
270
345
281
373
362
216
291
330
340
200
295
322
313
287
385
356
298
261
306
332
437
348
284
275
298
299
409
265
216
321
313
305
265
346
347
349
353
298
275
334
292
285
383
316
356
332
322
372
323
338
263
294
305
295
288
254
305
315
263
341
327
381
350
313
296
262
323
347
287
211
367
279
387
288
311
325
267
253
219
353
267
268
360
317
295
284
362
334
350
276
306
236
346
401
320
373
299
278
376
362
208
280
319
264
290
286
375
363
270
333
273
319
333
368
239
238
352
233
316
375
258
366
371
301
338
217
340
264
320
283
322
301
331
380
350
256
370
213
276
342
337
387
269
343
239
354
325
286
399
285
271
323
349
306
256
278
356
293
302
314
273
272
405
397
386
300
374
285
268
391
212
265
254
387
388
249
256
355
375
217
269
309
349
358
242
263
342
336
311
242
323
266
369
356
171
343
290
252
388
324
337
355
310
355
387
352
368
245
298
281
364
325
355
347
351
234
238
322
374
347
243
207
312
362
278
340
340
333
369
304
285
322
367
365
329
338
346
298
268
382
291
373
262
287
360
320
234
346
365
316
369
388
365
319
450
380
250
313
312
368
280
306
255
236
314
317
254
282
318
314
235
297
377
286
307
296
318
365
258
293
332
344
332
312
280
371
306
360
361
336
280
317
402
320
277
350
358
401
298
377
330
246
281
300
364
284
286
396
360
331
416
348
324
254
299
371
304
380
297
318
231
325
266
270
277
329
270
281
331
303
326
275
265
349
331
231
212
340
309
336
395
319
251
303
283
322
309
360
372
325
362
324
348
363
274
300
335
293
221
350
330
381
247
350
369
314
348
343
343
336
364
259
315
262
350
313
177
362
351
292
326
209
362
358
331
306
342
288
331
326
314
344
300
279
276
337
272
274
219
330
254
259
203
333
335
260
304
277
322
310
332
318
349
318
299
265
367
330
205
337
370
336
285
284
291
366
304
311
234
289
340
318
377
432
322
237
197
348
322
291
263
272
292
330
354
289
314
255
292
300
292
302
386
226
264
362
218
326
207
364
324
367
300
415
297
280
320
407
350
287
292
336
356
282
351
331
265
331
331
287
365
331
381
331
231
209
365
275
352
309
316
343
324
325
371
313
323
219
272
280
357
290
377
274
299
253
323
335
309
334
317
249
344
373
345
255
301
381
269
330
252
318
265
294
216
378
349
348
343
344
331
282
322
279
255
222
364
264
270
208
335
274
395
294
350
315
280
338
284
309
373
223
392
372
317
339
353
341
330
338
349
298
262
268
266
389
281
303
347
315
389
362
343
296
355
276
307
243
363
303
305
335
277
278
304
281
229
309
238
315
274
298
332
301
318
330
366
315
301
279
314
333
297
246
409
343
364
344
332
336
368
357
285
312
298
298
354
225
324
280
245
334
289
289
339
278
298
348
287
317
341
374
264
256
328
307
272
236
241
330
284
255
346
351
269
283
375
345
285
349
329
390
321
318
268
377
277
340
311
294
272
342
306
244
304
313
319
398
398
318
330
294
235
335
295
353
267
309
304
323
338
343
295
265
291
322
381
302
302
248
350
347
336
382
226
220
260
352
274
355
376
272
349
309
350
300
308
294
343
266
267
290
342
353
373
270
300
314
321
354
337
274
258
309
304
336
229
309
366
342
364
291
232
212
355
288
369
287
286
263
359
266
320
337
366
325
289
248
285
304
248
290
304
233
388
246
290
289
329
235
357
311
376
325
331
292
373
388
384
368
383
254
278
303
340
296
390
307
301
370
254
290
273
313
306
296
231
376
297
233
337
313
344
344
382
274
304
332
354
301
341
296
289
326
345
275
290
319
372
353
264
354
241
356
300
310
280
323
299
292
263
360
320
362
379
283
208
283
384
311
284
310
322
228
292
328
373
311
349
290
264
244
346
330
315
296
307
350
321
381
336
423
187
325
339
289
267
270
229
339
337
271
337
306
319
242
364
322
388
264
358
300
401
346
282
333
349
327
343
270
332
358
283
316
340
274
354
336
388
335
291
272
384
275
298
327
378
315
343
408
238
248
230
264
341
398
242
305
307
434
315
328
298
226
244
374
281
352
349
248
242
277
296
327
332
297
314
352
256
312
364
353
261
358
264
346
310
316
334
323
301
284
279
305
347
315
348
255
281
279
268
227
256
328
360
314
371
368
261
264
328
182
269
374
300
246
242
302
366
290
327
327
364
290
379
312
332
267
340
286
337
371
307
382
410
315
327
363
367
207
315
299
367
241
408
340
294
338
306
351
302
251
366
275
336
389
350
421
330
340
329
328
258
279
349
334
303
351
273
232
329
292
256
332
387
354
328
333
212
259
294
352
292
339
381
265
294
228
322
344
334
382
319
288
332
358
220
369
338
285
358
291
345
316
335
386
291
340
273
334
345
277
297
303
335
359
322
326
337
306
278
423
354
222
286
303
331
360
410
293
305
288
314
259
257
351
293
240
279
344
289
287
327
358
290
320
303
360
311
267
313
369
251
289
348
321
297
346
345
305
323
296
345
346
333
352
213
365
290
310
360
190
237
352
273
319
283
322
250
341
323
354
291
366
266
360
346
356
245
388
324
361
389
351
304
334
336
310
344
329
358
322
346
297
345
393
284
366
284
345
442
280
331
330
379
241
214
322
278
337
239
238
342
358
332
352
318
299
365
277
383
334
276
291
322
243
368
329
277
254
315
250
221
324
304
303
315
379
416
247
351
346
334
274
285
398
232
267
341
397
314
345
323
394
259
229
307
297
277
313
260
304
335
294
341
291
294
356
290
382
388
362
396
307
253
306
365
246
247
305
252
186
182
301
252
249
308
259
324
368
317
338
301
308
233
298
252
320
291
299
323
311
273
339
341
351
331
313
332
250
260
322
308
288
285
415
216
272
322
338
368
400
359
336
403
354
238
286
340
366
300
393
333
311
364
275
314
334
375
269
402
292
385
322
367
377
303
297
339
263
275
328
250
228
290
278
307
192
283
260
392
286
305
211
292
285
337
366
323
305
324
379
306
301
415
216
289
349
309
427
304
238
386
260
282
294
270
283
294
385
291
269
285
278
302
338
325
312
289
369
316
281
331
319
269
335
229
345
223
332
286
309
297
372
368
350
341
360
244
341
283
310
282
315
277
336
304
281
326
264
382
349
360
349
313
365
318
228
367
390
173
336
368
254
367
293
246
234
263
169
300
349
287
403
343
356
302
238
300
288
414
320
337
268
317
289
282
313
318
351
345
363
360
344
313
306
346
283
316
313
323
355
236
342
334
318
302
276
377
273
263
331
272
388
320
312
286
327
332
338
311
326
333
322
292
302
329
354
342
292
387
355
366
229
394
357
339
306
338
306
305
366
307
308
365
310
270
335
367
330
315
321
371
307
265
351
261
348
293
364
373
269
254
334
348
290
296
302
367
269
358
367
288
335
345
300
380
267
276
222
317
298
317
297
403
320
282
367
327
299
347
299
243
305
418
340
307
385
353
337
300
323
262
366
330
304
377
382
291
342
255
344
346
341
248
313
304
339
327
248
215
315
308
329
357
319
253
202
386
333
347
259
271
219
301
330
347
212
296
352
300
304
423
335
298
246
300
272
269
361
309
327
225
405
350
347
319
338
197
385
324
321
309
359
324
283
347
305
297
300
253
360
325
413
337
319
396
418
375
302
283
302
363
354
319
330
313
346
230
358
349
252
337
300
360
307
231
281
310
332
310
302
370
395
367
225
362
307
419
324
372
213
301
300
332
287
372
357
399
328
292
381
260
278
336
308
299
394
337
325
368
214
361
359
326
300
318
358
285
357
338
301
354
307
291
275
284
328
333
409
358
243
277
258
348
303
282
356
323
315
257
306
317
241
348
309
333
279
217
248
291
411
320
274
283
266
302
309
252
219
348
316
445
197
317
345
282
342
318
256
368
293
288
337
235
317
357
346
368
341
260
322
300
333
258
293
307
312
312
284
321
361
378
310
320
337
371
272
291
269
370
266
287
235
326
360
315
234
319
365
398
283
318
242
280
338
386
313
277
319
315
299
265
378
258
239
326
378
274
331
339
319
334
354
321
340
361
244
344
350
318
391
332
349
306
355
254
389
260
319
312
312
383
263
278
294
274
303
283
362
341
313
405
291
329
285
326
323
352
261
307
368
310
372
361
238
313
320
251
323
342
363
357
266
384
295
294
292
295
290
331
304
325
334
389
358
270
365
202
326
306
272
294
310
300
350
315
261
357
254
313
299
233
345
255
316
310
344
245
375
313
313
291
362
366
242
287
328
315
364
259
380
276
277
269
306
274
318
289
265
362
317
303
281
352
257
297
318
252
379
268
272
333
326
345
285
286
323
380
364
356
351
319
312
359
279
253
367
285
339
354
236
364
344
382
351
315
326
349
309
260
269
317
406
247
350
299
268
360
289
238
301
318
351
266
303
306
228
377
313
368
315
235
250
376
290
363
265
210
362
307
329
283
335
335
348
259
351
324
314
363
207
371
310
236
364
332
290
287
292
334
334
394
335
335
348
279
366
369
268
237
385
302
348
318
311
341
350
216
329
326
301
338
312
234
316
305
308
286
292
279
343
348
303
298
389
370
340
230
265
274
317
286
272
351
366
343
325
297
248
245
318
337
341
274
292
333
290
326
221
322
352
300
330
315
214
293
300
327
307
219
341
415
293
306
315
354
352
303
254
305
339
363
359
313
386
358
368
308
273
197
321
323
339
300
258
344
308
293
248
330
396
324
315
255
236
340
380
306
316
271
284
217
370
322
309
338
356
358
356
325
271
333
341
307
296
263
199
248
277
358
350
276
315
310
301
332
366
318
240
261
309
329
315
215
326
313
271
393
286
291
324
248
304
245
302
341
393
314
342
325
325
290
309
288
360
267
280
299
369
300
378
271
341
314
323
352
313
277
333
360
328
246
315
328
323
332
259
310
280
304
278
365
327
289
314
257
375
277
362
337
276
260
324
324
357
318
304
310
413
314
318
295
371
273
351
316
310
336
241
298
274
304
310
294
261
342
347
261
394
348
220
302
305
301
253
360
363
323
356
332
361
330
309
374
351
302
323
276
292
343
292
348
348
338
339
280
350
340
385
309
349
319
416
298
335
311
291
339
378
333
316
425
366
296
340
368
269
305
259
383
309
310
332
280
333
318
304
386
354
319
327
290
279
292
313
257
383
329
342
373
328
324
374
383
299
340
335
238
390
368
337
317
322
326
360
226
287
312
294
311
347
310
323
285
299
304
282
343
324
337
324
302
368
272
291
291
270
316
373
288
379
375
318
233
313
387
346
310
341
314
295
273
384
280
397
268
326
318
338
316
260
188
355
300
358
386
401
374
303
267
235
352
310
366
369
292
350
255
336
292
339
293
263
311
257
250
296
336
346
276
332
322
356
363
376
336
286
374
314
308
408
358
311
334
327
339
397
349
310
356
317
380
381
331
327
338
379
296
417
278
377
340
312
319
281
360
349
300
279
380
305
303
342
384
375
335
253
333
350
305
275
327
298
354
357
262
340
297
287
397
389
219
315
320
363
396
323
316
375
261
352
318
285
296
317
323
337
315
306
348
254
345
324
318
313
358
312
351
322
259
312
311
370
351
300
306
386
364
359
293
308
361
225
299
326
303
284
328
323
329
301
290
253
344
323
309
275
249
195
324
280
324
310
357
341
277
328
352
296
379
256
217
354
369
293
266
334
311
337
311
350
289
250
297
336
288
291
259
292
280
310
367
343
345
146
343
343
390
249
346
245
303
323
306
342
356
355
293
349
319
305
287
375
356
330
317
263
272
277
367
310
268
402
313
281
320
297
368
247
310
217
288
359
327
394
298
268
338
303
352
372
312
262
348
292
360
250
329
327
242
274
223
316
385
241
366
361
386
314
245
356
259
371
364
338
342
288
305
269
287
356
307
233
265
312
389
307
329
286
281
200
299
324
403
367
419
268
270
353
283
300
294
281
290
336
210
286
332
380
317
304
296
274
268
319
290
302
284
317
341
352
361
313
322
297
285
322
367
357
323
215
359
253
371
308
244
273
335
343
355
288
374
340
332
317
287
283
387
313
392
276
283
333
309
353
358
205
243
349
263
217
333
344
355
346
388
290
314
367
329
323
258
358
315
335
223
404
322
277
422
356
342
286
323
340
308
300
314
309
278
315
322
361
316
297
287
360
331
318
344
322
324
331
336
258
333
237
346
281
231
309
293
349
370
319
218
276
307
375
278
292
268
385
329
392
278
280
280
304
326
351
259
316
279
343
338
331
344
323
371
344
328
363
236
347
290
333
293
388
361
276
283
332
281
304
292
286
366
370
321
250
243
223
419
396
213
396
321
361
295
367
324
313
340
218
331
340
284
303
332
336
254
294
294
314
331
295
402
332
366
238
308
309
334
351
357
306
344
226
393
352
240
331
363
400
336
298
295
319
325
316
298
305
344
365
316
292
329
346
285
288
315
327
347
308
288
241
292
327
369
364
359
335
293
348
264
336
400
328
384
353
306
317
184
196
357
299
325
267
362
294
303
297
306
305
333
343
259
228
315
337
276
309
283
267
306
258
323
317
307
298
342
296
237
356
235
314
349
292
282
284
240
381
351
284
336
320
403
331
325
211
385
358
398
395
300
284
302
364
241
367
310
292
226
296
413
296
297
306
326
359
249
249
408
371
396
244
303
261
313
316
312
324
380
292
342
291
387
347
346
264
296
301
400
287
343
376
308
276
361
343
291
340
279
254
307
306
280
316
289
256
332
331
278
312
304
335
284
386
295
331
285
344
257
318
336
361
353
315
318
280
337
349
345
270
281
332
287
382
256
352
292
317
236
370
302
286
336
323
337
336
368
346
402
268
310
336
352
257
276
391
264
301
311
342
328
277
310
330
305
360
284
297
298
346
242
309
221
259
290
361
274
279
306
308
415
316
304
201
259
319
290
324
304
389
352
288
288
283
344
329
320
319
229
326
197
260
288
299
286
252
365
293
304
361
347
180
347
332
308
301
307
276
301
303
290
328
406
347
311
333
351
342
269
293
249
252
276
256
341
317
252
174
317
273
370
328
288
240
259
325
320
343
305
268
303
330
300
292
265
410
417
299
264
262
252
378
287
327
331
255
286
190
313
342
378
317
333
230
267
268
271
267
376
299
330
254
299
362
307
336
347
305
288
363
184
290
316
346
387
289
347
325
279
362
339
310
244
336
247
264
270
362
378
288
325
373
219
333
211
267
305
272
345
338
318
293
360
334
241
359
410
394
270
278
286
309
334
356
237
291
251
382
321
303
349
300
366
310
283
434
351
302
288
311
338
373
239
358
330
307
278
298
356
298
259
382
349
308
305
227
261
359
323
293
354
332
285
373
296
301
367
296
361
339
337
320
302
337
325
245
314
362
263
292
305
334
246
326
308
312
356
261
436
367
323
345
262
294
323
319
248
266
339
382
304
327
328
319
359
378
315
218
331
285
277
258
402
367
304
316
265
288
310
362
319
352
286
223
244
314
224
382
333
255
336
337
356
327
318
367
263
353
326
226
394
282
356
227
311
331
267
319
320
357
277
372
260
322
287
213
277
279
280
306
257
375
345
410
377
279
306
321
301
350
255
354
311
271
315
305
298
254
339
236
308
359
360
365
322
241
365
227
219
384
335
391
319
286
337
310
351
332
301
320
407
288
299
305
355
301
301
246
250
240
278
331
309
368
242
250
315
325
296
352
338
361
408
277
326
272
335
320
292
261
354
304
288
301
366
252
328
383
335
287
314
357
324
295
337
340
346
375
218
323
336
250
296
301
295
378
283
286
251
347
327
303
382
341
363
318
295
279
306
312
382
360
346
327
332
413
292
261
362
342
340
318
272
237
292
344
303
307
287
390
236
361
407
293
320
251
297
334
353
319
239
238
325
266
358
289
321
388
272
329
306
365
356
331
381
288
370
321
357
380
324
355
291
352
353
384
270
318
366
278
358
330
303
296
371
232
311
272
321
307
308
277
407
370
353
337
407
270
302
288
333
296
304
369
248
288
312
375
337
300
357
298
393
325
309
305
261
334
330
377
303
210
354
320
236
299
337
294
366
275
337
261
343
312
359
371
235
262
377
344
355
413
325
279
237
312
253
335
374
284
346
357
255
364
329
420
317
368
174
289
328
328
306
415
333
346
347
230
315
343
305
282
332
389
280
270
356
349
296
335
347
332
314
378
313
411
304
390
267
329
359
394
293
294
328
238
344
277
275
293
303
318
225
380
230
380
284
307
356
261
329
189
293
312
271
312
365
273
373
275
358
309
352
329
366
355
313
288
279
283
306
307
343
287
367
351
336
388
328
321
303
387
334
312
296
306
339
300
241
385
302
350
346
382
374
349
288
313
344
319
372
269
274
255
329
361
271
327
379
327
324
284
356
346
345
349
304
300
272
298
273
329
273
319
331
372
297
308
318
304
393
398
296
362
251
327
417
250
289
356
281
255
390
329
285
223
374
377
317
282
311
375
345
292
416
355
282
230
292
259
277
247
312
304
328
282
305
336
265
239
379
313
291
327
251
354
188
367
314
405
286
331
294
264
276
330
347
311
312
246
366
324
308
249
238
328
377
368
275
302
327
320
381
285
384
392
255
345
253
294
317
364
264
317
360
300
348
302
363
252
359
326
164
302
226
339
347
374
317
392
290
290
323
344
271
385
332
329
311
290
268
330
346
321
251
282
299
350
300
283
291
276
297
323
339
320
331
405
385
330
351
418
246
318
318
265
318
363
233
301
270
361
310
359
341
321
293
235
223
269
280
400
275
349
298
361
314
352
320
352
296
338
312
319
306
339
357
254
340
303
324
345
327
314
303
310
356
268
314
326
328
347
304
299
359
349
319
272
314
262
273
278
356
346
301
299
350
301
330
400
372
294
321
286
367
344
343
286
321
245
352
342
329
372
284
348
272
321
270
354
312
352
288
412
303
311
360
356
310
363
329
312
358
289
305
302
309
307
253
355
328
376
399
399
246
338
301
360
221
200
348
262
360
369
299
429
360
374
260
351
335
224
315
284
206
343
301
232
261
347
376
281
390
267
379
324
287
302
296
348
317
339
306
304
384
275
316
261
348
254
273
339
286
264
318
384
344
292
254
312
276
288
291
244
335
339
366
370
349
351
311
319
260
320
381
337
374
270
348
306
344
320
335
367
314
279
409
339
246
318
283
274
340
286
375
312
299
374
369
357
270
321
288
333
272
325
292
231
305
312
297
295
317
253
263
311
273
206
298
267
310
299
350
359
273
302
366
352
329
265
309
272
302
355
307
286
362
295
350
326
345
280
278
325
314
243
173
323
294
322
342
406
288
397
363
292
301
372
317
336
249
312
361
336
314
311
303
280
345
310
321
240
265
272
266
358
288
264
270
352
427
430
256
304
363
304
297
283
296
299
352
335
368
269
319
293
329
357
382
305
329
293
208
337
268
297
303
298
299
289
306
334
315
324
272
262
306
326
366
367
382
296
317
337
246
356
365
282
301
340
348
268
189
392
336
345
273
342
433
351
324
334
328
268
399
283
312
364
358
382
314
259
316
387
344
355
275
285
299
275
341
346
241
313
373
360
312
376
273
376
280
328
330
327
335
298
362
277
276
306
342
269
305
329
395
219
271
286
303
340
330
244
253
289
405
373
221
269
256
320
358
362
357
346
366
334
338
311
267
292
343
298
316
316
271
350
308
332
221
272
409
341
333
236
326
298
342
327
353
368
330
310
299
352
359
334
278
321
315
325
364
356
344
433
390
274
311
322
251
352
312
313
336
309
354
325
229
301
259
300
254
351
275
433
279
311
283
289
342
312
320
291
326
366
397
379
369
286
302
332
304
378
301
281
350
322
271
360
238
193
270
333
367
394
346
403
344
319
389
330
306
340
317
370
316
268
269
267
375
271
313
277
353
290
220
409
349
292
353
290
331
279
309
321
198
294
349
207
296
333
309
282
307
265
379
336
364
353
283
275
317
310
323
283
334
288
279
257
380
310
356
351
346
353
279
324
310
293
232
346
244
328
345
349
358
256
308
345
302
344
268
351
339
327
222
365
321
351
288
349
294
321
363
388
337
403
268
269
299
313
304
271
290
264
301
279
333
316
346
375
349
263
339
270
282
266
294
276
324
309
247
317
345
286
331
276
257
382
337
313
409
318
258
333
334
290
288
370
297
311
251
266
307
302
265
308
363
353
320
244
297
347
370
387
422
185
320
319
268
261
308
363
276
322
257
378
365
339
348
303
330
260
282
345
286
392
296
348
346
285
330
356
288
259
268
425
330
378
420
227
226
355
335
353
250
351
356
288
340
374
291
308
311
301
379
197
339
293
200
333
435
332
316
354
366
301
324
293
413
308
253
351
331
293
263
290
313
280
255
255
327
264
337
277
270
308
253
349
360
309
290
228
365
304
358
317
297
302
225
370
314
322
340
308
396
337
325
280
273
290
328
289
316
306
320
300
235
286
236
275
292
269
352
254
346
316
357
322
330
389
263
324
356
338
320
235
332
373
285
238
344
275
311
347
339
354
200
305
412
386
318
318
252
327
369
205
309
383
320
371
372
312
279
347
309
276
322
401
349
304
322
236
388
225
349
315
362
289
261
370
345
280
381
349
308
298
385
317
262
313
324
293
232
272
275
260
279
257
354
317
374
314
450
301
397
355
411
350
317
278
314
356
336
321
315
311
314
331
373
348
298
288
234
346
311
245
326
234
313
286
315
352
302
346
368
401
328
145
253
345
337
342
279
347
354
260
282
309
282
292
288
372
253
345
290
307
209
379
255
302
276
299
346
332
246
277
305
287
219
350
368
373
277
241
254
344
316
330
281
312
349
328
320
301
393
297
297
330
331
379
248
258
297
337
293
354
377
328
286
324
286
353
300
354
321
228
259
332
280
374
282
334
286
332
274
258
293
298
308
345
298
334
369
356
289
354
318
372
293
340
231
303
250
323
354
304
366
303
278
292
311
331
318
438
382
292
353
303
270
344
275
281
354
362
342
377
290
274
342
318
411
360
343
215
331
303
360
322
275
359
303
317
383
302
328
304
338
305
326
343
304
238
295
297
277
208
243
309
299
300
330
377
359
280
315
368
320
341
184
380
331
369
258
287
379
249
302
310
372
312
266
346
272
264
326
287
283
373
312
305
295
298
304
274
216
334
368
299
257
315
306
335
329
328
343
250
309
342
272
294
347
318
313
315
419
310
329
315
288
355
310
302
359
317
304
253
355
342
270
259
278
293
280
350
395
267
328
265
350
312
241
272
254
281
395
263
308
321
369
318
312
294
284
344
303
351
367
228
341
239
298
310
323
238
315
384
298
287
379
281
297
316
303
281
251
325
368
281
301
257
296
301
338
336
339
300
334
391
365
355
273
275
242
342
282
343
338
337
344
233
304
345
310
327
351
332
307
337
310
281
319
233
396
260
275
359
392
249
337
300
339
364
378
355
366
285
344
278
282
321
303
365
293
362
250
311
293
339
305
342
306
357
268
273
320
285
336
262
229
262
334
299
300
335
295
361
355
333
387
354
444
300
295
325
336
392
272
289
335
261
395
280
322
317
308
388
291
288
323
355
410
348
285
319
248
225
307
320
294
280
372
335
273
335
253
280
267
287
262
283
295
310
326
374
298
318
328
290
400
322
270
307
229
293
274
248
198
241
327
216
406
258
352
301
320
345
337
325
256
309
278
332
252
248
330
316
332
394
271
297
298
289
212
380
310
273
262
332
338
373
285
321
358
338
251
353
289
332
353
359
278
387
400
303
277
264
350
282
251
347
290
265
348
440
393
268
308
306
319
301
323
312
268
247
301
243
330
341
241
399
326
414
329
244
341
197
364
288
353
290
315
250
242
300
402
279
288
322
291
239
267
162
317
383
286
326
275
329
306
262
362
288
370
369
293
383
282
300
335
334
367
304
296
349
345
327
342
312
330
349
271
281
359
360
312
255
276
257
317
363
347
251
338
367
317
289
308
342
333
310
303
265
324
333
252
341
323
340
377
306
304
292
279
364
399
303
324
408
295
368
302
372
300
306
290
298
251
358
276
363
299
324
325
364
318
173
339
371
359
298
269
293
386
308
285
250
244
304
380
365
204
361
242
218
377
254
349
293
260
353
291
313
305
248
365
334
298
360
289
406
355
346
273
346
366
341
322
328
412
342
335
280
263
292
307
367
338
321
299
344
254
306
288
389
364
368
331
297
406
297
307
355
320
304
347
379
393
274
201
339
312
238
363
315
434
272
352
381
264
306
297
331
313
289
320
282
272
402
438
386
297
241
328
279
276
293
314
335
276
377
250
349
297
313
267
302
330
269
318
268
300
261
241
307
303
357
360
248
312
341
362
406
385
328
304
311
367
230
268
328
280
308
346
361
198
262
302
327
296
308
262
413
371
262
305
256
286
338
331
373
315
316
322
354
271
258
337
390
266
249
326
364
378
299
265
321
365
298
249
350
348
301
342
332
312
238
336
210
288
281
304
358
245
262
312
331
340
298
404
350
374
347
345
272
285
312
371
292
325
274
307
313
330
296
302
351
384
289
254
311
319
300
342
315
245
408
368
334
387
339
230
260
322
367
279
281
356
335
320
262
296
307
277
331
252
282
320
312
265
314
316
320
355
308
342
281
361
320
402
324
356
365
289
273
317
241
372
323
289
311
337
300
269
302
306
354
251
244
337
314
270
320
309
343
231
312
311
389
202
397
361
344
240
338
353
346
376
307
319
313
275
243
298
255
310
301
354
264
288
333
314
369
266
326
361
310
324
365
336
310
329
301
381
210
307
298
287
267
325
349
346
350
380
292
337
374
335
346
301
190
272
394
331
325
328
326
309
325
314
310
344
291
347
370
335
332
377
411
374
277
406
387
299
356
328
268
327
364
289
238
324
383
326
303
333
391
351
354
311
363
336
276
202
288
235
312
330
289
272
339
313
303
200
383
342
334
247
294
354
313
369
342
313
387
336
315
327
208
385
312
350
289
285
344
341
358
241
359
308
309
204
321
330
352
259
256
315
278
275
348
355
391
317
368
323
308
341
173
330
353
341
389
357
328
338
343
353
298
317
312
282
296
367
329
271
339
398
267
334
307
331
284
293
320
389
334
302
197
334
370
389
307
243
281
367
348
303
362
325
338
370
316
258
286
286
248
360
280
269
299
363
254
309
324
269
358
281
244
329
359
305
294
285
348
330
317
339
335
379
271
312
355
285
265
331
348
322
328
430
255
300
348
321
314
365
346
269
320
312
244
374
318
313
356
293
354
252
317
277
402
276
259
359
348
293
326
341
287
340
213
330
324
370
313
361
331
395
309
346
388
362
286
224
253
267
397
338
306
291
330
412
284
320
333
326
294
354
277
313
340
374
326
389
345
362
323
334
337
279
309
280
366
317
314
275
246
293
285
302
353
247
354
321
335
354
241
389
243
299
248
324
309
307
285
347
305
271
247
315
297
214
417
308
321
306
328
294
317
352
286
388
348
332
347
307
308
344
320
338
331
370
334
388
278
386
313
337
342
329
291
285
362
353
328
422
374
271
319
329
315
263
271
255
283
329
369
246
334
328
266
325
374
279
282
354
319
296
289
373
246
304
315
404
358
286
273
246
345
346
316
284
340
362
317
328
331
308
327
392
334
297
342
313
301
279
315
309
335
287
348
359
287
300
399
337
267
238
421
307
279
366
348
332
293
347
327
312
358
246
284
299
240
320
304
263
338
309
372
326
339
319
303
389
319
220
318
325
305
405
328
312
361
238
329
314
348
364
359
343
336
331
257
231
344
374
323
208
317
367
372
360
330
346
377
277
359
325
382
321
262
363
336
388
372
218
253
339
285
367
294
313
245
307
312
334
376
306
346
252
291
300
328
340
327
345
358
318
194
330
319
249
323
373
373
290
305
318
389
271
274
300
398
342
394
302
335
315
242
387
276
271
286
331
323
239
271
325
353
276
288
326
303
350
324
249
337
333
336
324
271
340
219
259
269
314
341
264
295
284
348
359
294
357
352
302
408
297
301
304
406
331
290
337
253
398
245
380
352
329
358
334
288
335
307
279
339
298
348
287
395
350
282
300
377
302
337
304
328
322
318
358
277
326
348
259
304
355
258
312
241
391
325
366
293
326
321
312
303
362
424
251
269
236
351
337
297
282
351
363
400
291
307
290
339
309
299
333
409
330
350
361
358
308
369
333
311
346
241
312
309
368
349
330
335
305
278
275
261
309
296
364
277
315
360
323
394
314
312
358
380
340
312
299
250
311
323
295
300
267
231
280
326
342
210
286
306
305
298
368
343
295
323
348
305
357
315
320
338
265
320
355
362
384
325
355
314
316
314
222
352
381
294
264
349
328
288
361
206
310
314
309
377
234
205
348
317
317
360
314
271
274
346
344
235
317
250
267
337
368
250
255
267
297
294
371
331
340
292
322
217
350
256
320
316
354
314
363
307
372
263
277
387
325
298
358
306
239
378
281
310
353
305
354
378
284
306
339
328
325
338
318
313
299
310
418
318
293
264
357
346
300
380
338
321
344
260
350
286
346
362
328
377
341
328
276
371
328
335
264
319
361
420
360
304
344
291
237
308
338
279
275
345
327
343
314
349
289
215
247
312
380
296
318
256
260
303
382
282
312
390
263
289
312
312
274
319
313
361
293
418
308
360
306
347
313
339
298
325
405
382
420
332
376
315
329
251
330
280
303
293
320
305
295
347
294
288
317
292
312
319
371
336
372
330
272
384
347
355
359
352
284
331
365
283
374
380
407
296
366
296
268
337
364
339
299
279
434
325
388
307
321
389
267
329
357
264
261
375
297
307
363
337
328
367
277
283
291
409
338
250
392
281
356
319
340
254
307
338
338
380
240
226
285
369
321
273
361
284
248
316
337
357
322
360
328
331
389
347
392
324
325
247
365
374
305
366
325
324
245
354
282
309
220
261
357
378
275
316
338
289
315
354
318
245
279
332
316
243
314
252
271
318
375
331
302
356
345
300
258
309
253
329
348
310
288
354
264
263
332
351
345
268
351
374
350
310
295
324
315
312
370
354
342
242
289
382
273
380
320
314
336
393
291
247
368
303
361
236
345
309
357
347
312
214
319
272
238
359
320
231
230
317
348
244
318
315
408
258
253
388
304
259
269
352
281
337
314
284
333
276
263
351
260
338
311
390
301
333
368
317
272
247
272
399
325
346
327
352
320
326
274
308
278
307
365
368
292
285
301
356
309
349
329
277
341
343
293
264
378
297
335
353
368
333
272
288
288
322
332
239
310
309
259
263
327
376
242
305
312
264
268
299
279
360
279
309
295
298
278
299
239
326
260
292
251
308
304
316
323
369
308
331
370
280
356
260
326
335
306
355
343
275
346
346
358
311
283
335
239
254
369
322
318
266
329
279
355
260
402
348
294
336
317
306
366
364
234
285
291
251
292
348
286
253
210
352
340
278
385
360
283
353
324
317
282
317
284
292
269
327
373
324
333
395
334
288
367
323
343
328
284
321
300
342
410
325
306
267
321
328
250
345
339
308
313
319
291
306
274
282
296
335
284
354
238
297
401
332
282
280
276
269
382
353
310
290
272
260
388
328
317
312
361
339
239
300
327
268
311
282
291
330
260
382
243
327
369
311
317
310
376
238
364
199
361
372
282
234
338
329
305
341
341
324
360
280
379
390
332
317
375
273
353
321
210
321
353
346
346
347
354
249
279
311
359
371
310
407
302
297
221
390
236
334
282
273
292
283
327
357
338
404
317
365
354
289
342
303
207
310
354
291
252
267
285
393
268
333
375
324
375
352
242
295
258
313
272
297
314
302
269
375
244
248
296
344
337
266
327
317
394
237
221
331
365
304
374
311
402
347
312
336
289
340
267
359
379
236
361
371
237
334
355
357
267
273
349
306
346
248
212
362
339
335
292
290
346
336
310
311
379
324
242
352
372
280
202
280
312
301
238
369
384
196
279
244
318
395
328
272
320
288
350
332
275
305
311
296
299
334
302
359
321
302
343
318
297
314
327
309
310
333
293
339
306
302
257
320
315
282
324
284
359
383
314
268
340
353
353
232
276
318
276
226
329
262
261
293
265
407
290
343
253
315
403
358
337
395
324
297
361
364
308
327
335
288
378
318
375
353
348
372
238
327
386
247
338
291
296
346
331
382
259
374
260
240
314
353
403
363
306
339
392
304
305
340
300
299
257
280
290
327
314
278
369
272
347
349
310
220
383
295
324
356
273
262
328
279
256
302
402
309
351
300
304
351
395
306
300
250
332
379
296
323
302
362
288
265
321
349
338
225
316
363
315
361
313
283
267
332
348
322
299
385
378
317
383
269
255
286
282
281
302
238
341
315
302
378
361
240
296
258
319
370
239
330
345
314
358
325
327
253
331
247
313
319
380
306
329
366
317
321
366
343
202
353
341
285
349
277
219
369
347
321
377
349
345
262
296
418
279
317
252
335
327
360
253
340
285
300
370
313
244
297
271
358
301
332
309
363
373
313
295
316
351
277
332
369
293
322
317
393
241
335
283
324
318
334
360
356
320
323
337
350
343
283
271
322
395
260
348
350
328
334
384
275
364
358
253
277
308
268
302
348
286
314
300
233
321
370
333
261
336
240
278
318
397
275
283
261
318
292
252
312
362
313
324
275
300
308
270
398
336
293
251
356
273
299
283
292
342
318
344
294
267
267
320
321
371
299
339
313
368
353
321
252
289
326
229
367
316
306
336
297
261
358
344
299
284
301
305
327
377
242
361
273
347
318
334
304
309
370
193
264
371
323
329
276
316
262
251
309
308
269
346
311
319
318
364
342
273
356
316
339
274
317
300
271
322
327
264
304
335
327
376
411
316
354
357
318
377
357
330
242
295
217
336
325
338
255
327
257
332
347
292
389
389
358
404
375
324
346
333
319
257
293
382
327
369
290
358
290
344
309
276
420
266
264
362
279
329
215
334
231
314
332
271
376
373
365
298
374
399
307
217
347
362
423
328
333
325
256
291
239
314
283
291
353
296
352
276
323
309
239
369
352
312
348
281
340
269
302
324
304
340
406
319
371
419
306
307
348
326
352
350
315
291
355
360
358
272
312
325
268
320
307
294
266
376
273
321
362
261
312
409
366
351
347
432
307
349
292
274
323
325
335
285
327
329
280
325
334
317
306
314
333
300
347
241
265
278
302
371
329
333
386
346
297
302
331
328
340
236
274
313
319
364
388
335
351
299
340
308
354
351
314
330
407
314
249
333
315
288
345
351
362
293
368
310
355
359
239
281
314
316
271
262
383
280
334
314
306
362
295
324
311
320
324
208
296
317
378
304
276
371
321
272
344
348
300
274
332
215
278
254
264
382
370
372
316
319
381
232
359
320
342
306
338
315
353
322
220
313
325
323
285
297
316
376
350
320
340
296
318
290
255
254
297
303
235
360
332
191
341
344
333
371
212
262
357
290
348
206
383
387
303
379
314
279
255
330
282
283
376
363
389
360
333
315
278
263
327
363
331
312
332
296
303
255
342
316
293
338
308
394
388
182
375
293
421
299
314
287
251
284
306
271
258
339
348
358
348
245
305
320
313
327
344
319
335
308
330
352
318
363
319
302
287
347
306
307
281
293
295
316
343
276
365
346
348
304
254
303
241
335
312
340
353
344
275
274
255
363
301
344
340
366
316
369
248
373
335
203
385
298
328
338
332
273
240
375
291
334
276
315
364
347
324
350
240
263
271
269
246
335
278
408
215
205
249
153
301
278
283
314
219
357
347
205
342
383
320
298
284
349
308
314
349
336
322
284
283
232
219
321
277
277
349
294
310
314
321
153
366
256
314
271
289
371
339
305
372
279
329
322
316
298
323
343
334
282
300
291
280
353
370
392
320
265
346
395
248
287
362
357
251
328
416
286
260
359
372
330
364
277
299
358
281
304
271
241
319
325
350
247
226
317
311
296
360
300
317
299
238
299
254
326
381
298
283
297
368
305
317
315
271
325
341
353
318
351
338
283
300
365
330
271
332
243
286
369
335
366
337
312
302
309
299
337
348
330
307
305
401
396
337
291
358
276
248
383
256
371
287
293
325
360
309
388
276
342
312
275
376
275
331
305
246
276
357
297
343
304
289
316
342
320
420
306
313
230
349
368
324
304
324
382
287
300
267
326
261
312
353
369
261
333
322
294
320
282
358
282
296
385
309
227
300
330
371
367
361
324
307
290
318
317
320
333
206
355
353
346
264
328
336
295
370
361
290
372
296
296
370
326
342
325
281
360
359
366
325
375
265
420
390
405
266
268
355
380
306
322
375
381
324
297
245
313
312
351
326
264
317
294
360
312
330
282
304
269
333
378
354
292
334
305
363
377
353
327
355
277
360
340
380
386
249
361
251
278
265
376
316
250
409
336
346
308
290
342
337
249
379
252
319
395
270
386
278
354
304
342
322
297
348
290
347
334
233
304
367
321
323
357
392
222
308
374
349
242
376
337
340
242
208
305
289
322
321
338
344
266
382
216
393
325
293
399
376
289
314
342
345
317
307
354
401
351
308
221
401
371
342
281
179
371
269
412
280
293
386
329
353
400
295
318
358
381
231
421
337
262
244
342
310
433
230
211
341
320
291
297
296
358
300
298
358
364
366
338
353
326
353
293
317
405
272
248
269
315
359
300
330
286
375
388
256
268
279
354
309
347
329
311
363
311
361
315
299
367
352
223
310
402
251
290
311
337
295
325
407
249
294
250
368
381
312
391
328
401
341
272
260
316
386
266
356
362
357
261
337
348
323
271
268
325
336
301
362
332
362
324
329
352
362
331
333
338
336
288
354
329
226
310
323
343
231
280
349
317
402
319
357
380
291
296
337
357
380
280
356
309
318
378
270
299
286
338
349
323
247
258
321
362
280
319
330
311
304
292
373
326
337
328
431
314
316
299
349
364
260
257
353
375
296
255
330
381
247
323
352
304
358
313
368
266
316
258
293
258
308
219
301
291
245
289
294
253
279
285
327
258
305
375
350
309
315
328
300
361
241
360
332
290
327
378
356
338
353
332
412
356
337
396
308
291
254
338
312
323
326
329
237
317
339
250
303
261
296
276
299
277
314
301
245
320
332
350
368
302
386
265
403
292
354
282
286
269
263
318
415
246
260
319
272
233
223
290
320
328
386
323
334
292
276
324
304
349
336
263
336
314
294
332
312
243
341
289
354
289
310
359
348
301
350
405
261
341
301
390
335
368
222
320
322
461
318
335
259
313
333
264
297
305
304
319
325
336
356
395
353
350
314
269
241
371
331
317
247
291
338
301
370
340
324
318
334
323
255
338
385
271
298
226
256
216
213
310
326
317
302
280
264
381
359
348
278
335
306
400
238
300
362
276
332
299
317
346
296
311
238
345
282
306
360
301
264
249
276
360
308
305
300
262
328
383
413
318
361
387
343
361
388
329
298
377
298
308
395
345
289
295
320
356
332
317
295
364
407
377
287
359
251
407
278
357
294
345
303
352
337
351
324
266
378
246
281
255
324
264
225
270
268
321
329
336
347
257
319
400
316
302
333
348
379
234
340
303
289
318
323
341
389
291
258
276
293
364
309
298
354
320
380
343
356
323
357
255
309
238
259
252
321
254
329
353
335
265
206
335
297
290
274
397
265
280
244
321
247
244
373
224
284
341
248
203
263
277
378
321
364
352
255
310
272
314
320
273
245
283
303
241
286
313
299
253
366
290
243
345
306
300
352
278
308
267
414
369
223
292
341
328
314
279
345
289
377
235
359
269
247
329
296
344
372
301
350
320
356
333
338
252
193
309
331
396
347
387
303
250
254
283
280
350
342
301
391
317
318
373
357
349
322
359
351
358
285
325
305
236
365
298
378
352
310
273
309
275
312
324
302
302
328
354
349
337
291
354
214
279
234
326
233
253
298
328
263
320
259
368
288
319
341
371
353
327
290
303
290
303
283
327
315
351
276
196
355
336
317
301
330
346
376
376
311
383
391
233
358
200
207
365
323
242
295
365
355
420
303
328
298
248
285
422
275
300
295
352
339
368
332
315
267
321
288
355
261
294
424
318
308
274
263
304
397
316
320
347
367
313
297
245
369
320
352
384
210
290
279
315
285
328
329
371
318
301
346
354
270
322
259
316
305
344
199
318
259
396
318
353
288
302
288
308
291
315
377
272
286
321
296
346
287
281
251
350
251
300
335
254
346
341
282
327
228
324
280
290
334
408
353
277
351
367
286
307
343
242
447
325
341
348
319
325
281
367
393
384
276
392
286
278
303
329
303
346
401
353
353
271
365
328
296
301
320
264
313
356
267
334
322
344
274
308
333
271
359
290
301
351
323
353
305
318
371
349
357
233
292
247
356
264
297
340
298
309
297
381
345
363
387
373
217
376
268
350
323
294
323
286
369
304
231
320
263
306
320
326
324
316
265
202
289
288
337
280
341
351
309
290
330
269
287
271
267
331
324
317
283
306
268
293
368
291
384
251
253
292
323
276
359
288
304
214
272
345
427
323
356
286
385
423
385
217
324
277
235
304
300
225
243
280
329
301
291
135
324
355
293
270
306
311
320
254
341
378
275
322
330
266
341
335
378
340
397
255
376
323
205
384
262
389
375
287
334
313
375
248
388
284
315
366
325
331
255
369
336
364
318
297
342
291
354
273
267
349
371
222
356
263
321
333
422
257
373
292
337
333
273
383
255
242
359
319
326
301
344
262
358
294
334
331
404
291
306
341
355
305
287
373
360
304
347
309
338
319
358
384
312
286
327
376
232
262
345
327
296
367
374
274
299
352
344
262
270
269
365
356
369
332
326
328
330
347
341
324
276
343
284
296
369
295
381
369
321
357
391
280
305
329
273
360
363
294
329
314
377
322
368
409
290
271
308
343
310
335
323
381
226
314
323
287
215
301
309
318
365
319
402
288
319
259
243
298
333
229
319
346
233
334
308
258
269
335
340
281
281
345
427
385
265
317
324
348
260
275
347
260
364
277
342
307
320
326
234
323
406
254
350
400
312
323
354
406
309
310
354
278
260
355
347
289
300
314
323
293
288
338
248
350
262
306
278
316
263
377
370
293
278
383
330
370
314
366
324
355
286
242
233
263
283
290
364
280
153
357
333
283
303
309
316
289
342
326
348
366
355
265
279
305
344
299
261
326
357
327
346
285
367
325
240
290
366
267
329
388
367
262
264
356
316
272
281
331
271
320
349
330
325
306
250
340
330
327
280
199
275
259
324
324
318
272
353
356
326
349
322
270
261
335
237
280
373
310
296
272
341
242
289
292
340
352
325
298
329
326
419
256
366
340
271
290
324
341
360
365
368
354
327
359
348
342
282
350
211
388
308
260
359
331
347
275
324
335
339
282
354
258
279
348
333
294
327
291
335
314
326
347
250
372
265
320
313
342
310
373
251
289
294
355
316
321
289
337
355
278
349
369
287
304
242
295
370
339
304
312
282
246
246
326
287
335
334
299
380
289
374
429
305
238
304
357
343
260
317
268
305
346
252
356
338
342
429
222
251
299
267
204
337
268
238
364
278
302
359
359
274
282
292
307
336
294
288
332
307
343
277
251
317
297
321
351
289
260
348
281
301
326
374
296
259
324
223
352
359
307
289
333
300
315
338
221
284
276
336
275
337
361
267
236
243
367
302
340
373
338
362
341
325
361
318
341
249
320
318
317
362
381
335
251
294
347
451
294
295
260
276
314
332
307
359
241
288
202
335
343
287
332
277
379
341
319
324
312
418
358
273
369
364
349
342
327
289
260
355
317
386
279
303
267
325
377
289
309
336
355
255
297
321
317
269
321
300
269
295
327
333
269
321
274
352
304
338
354
321
344
253
425
256
319
365
286
295
406
324
278
319
307
275
303
307
296
289
324
264
290
378
423
392
344
283
321
390
349
184
382
292
337
383
271
242
336
358
345
281
286
252
315
269
324
313
293
335
384
351
311
315
322
337
348
346
336
368
244
327
382
350
412
337
310
336
299
274
258
293
298
302
353
349
371
283
193
273
323
309
345
356
260
372
297
257
307
363
295
296
284
254
348
263
336
246
281
346
340
319
276
301
310
332
272
260
298
288
289
324
334
310
309
285
304
445
354
257
326
326
299
352
336
259
390
237
289
276
360
281
424
409
296
332
370
348
337
370
343
395
240
367
348
328
350
287
324
316
291
393
278
347
221
304
363
370
295
308
240
300
284
395
322
279
282
337
330
332
259
371
293
382
289
436
246
348
360
298
270
346
344
410
338
303
296
259
353
300
346
361
254
326
364
284
401
355
357
364
298
322
372
338
351
339
388
278
339
305
355
362
348
345
252
211
321
319
327
274
315
327
334
298
341
312
411
288
314
294
275
272
373
381
333
325
319
365
361
393
275
314
328
333
305
261
275
305
254
321
279
281
236
355
350
258
304
272
272
262
279
365
220
272
316
370
321
347
287
396
343
294
370
303
254
298
258
359
241
342
248
316
313
398
341
268
304
375
231
347
336
361
363
279
348
380
278
326
293
367
236
335
203
270
314
299
328
340
371
303
339
276
340
319
259
310
306
267
270
315
343
278
362
237
331
251
309
330
393
254
260
263
383
349
347
285
229
314
320
380
267
314
322
223
350
374
356
259
350
236
289
336
338
363
311
354
338
289
292
305
233
296
327
327
358
336
298
339
291
309
287
359
381
287
278
220
356
315
288
260
321
340
322
227
323
307
358
278
309
263
263
294
266
271
357
373
294
337
368
330
294
330
269
310
336
366
353
289
277
379
346
342
283
233
325
258
319
295
340
276
354
361
272
274
200
300
352
321
335
311
279
361
311
340
335
354
300
321
298
316
371
342
334
334
192
310
356
294
353
320
291
387
270
351
283
355
338
328
298
331
245
352
319
356
351
395
379
349
243
279
347
377
310
314
364
172
270
343
291
345
341
287
358
360
238
362
182
301
263
295
304
257
279
326
301
341
240
263
257
332
323
308
344
324
288
252
364
298
370
286
318
378
302
291
356
350
339
272
385
299
415
368
378
322
275
372
314
314
261
279
335
357
356
296
321
382
248
330
292
315
267
390
310
359
294
329
325
284
354
260
332
311
293
325
302
296
348
284
256
229
313
202
343
302
343
340
375
380
315
227
309
360
330
313
251
312
183
380
357
374
364
301
302
304
382
305
316
320
287
291
278
296
379
380
317
341
299
317
289
270
233
360
375
235
333
309
326
371
326
367
381
269
245
334
253
331
311
295
357
302
287
328
365
298
330
284
220
234
310
309
286
335
291
334
305
266
268
293
380
265
360
302
397
287
355
333
266
193
284
341
313
275
336
343
333
333
277
322
363
339
341
250
311
313
295
334
279
267
364
290
354
255
334
287
372
363
205
316
346
299
287
338
391
314
367
352
327
347
350
342
334
363
336
254
273
286
298
327
328
354
189
344
300
357
377
316
269
396
252
277
305
372
258
313
335
392
313
400
221
367
386
353
340
362
247
316
252
297
371
370
337
342
334
272
360
326
255
336
332
245
334
244
312
336
331
321
366
364
331
262
369
323
366
294
299
290
276
234
333
368
322
354
378
413
283
301
388
295
344
304
306
310
333
253
326
340
340
306
284
396
254
283
337
335
274
352
318
299
353
339
310
418
322
387
254
238
327
232
351
361
307
288
344
312
318
332
293
301
377
245
287
327
328
358
325
322
262
352
362
274
326
331
217
274
313
256
268
352
337
355
246
307
340
341
317
370
334
281
296
278
263
335
308
297
239
382
346
267
275
223
263
383
316
276
196
447
245
260
300
409
327
303
274
398
246
322
333
251
349
322
207
240
317
352
362
267
305
293
345
368
307
313
282
284
303
326
297
269
269
278
316
339
303
331
365
279
341
368
344
267
288
293
293
293
313
233
332
259
213
265
327
394
321
343
420
354
330
311
358
219
365
363
267
296
370
321
238
335
308
329
265
295
374
245
279
381
284
357
370
304
257
347
289
325
296
292
300
289
359
343
320
363
285
346
294
226
319
355
321
344
319
284
361
335
256
342
297
281
402
324
338
300
335
352
378
223
425
265
366
400
281
354
301
343
350
276
305
299
188
438
317
243
379
313
221
323
272
300
358
324
336
296
377
295
331
368
368
357
320
331
294
312
325
383
396
280
353
351
321
351
341
297
260
307
252
384
355
294
339
277
223
259
309
354
280
268
393
273
263
251
241
355
282
329
304
315
283
228
343
379
290
293
389
242
270
280
314
326
345
409
310
348
251
337
276
277
365
318
369
263
267
312
382
368
303
244
352
290
283
225
285
362
350
301
273
339
331
349
434
283
339
332
399
252
338
320
403
261
329
329
330
342
280
275
361
355
235
328
347
306
335
365
421
323
345
399
284
228
310
342
297
356
268
309
273
288
273
275
282
254
357
376
334
331
299
300
306
325
280
283
289
356
370
308
278
338
305
290
251
344
352
295
309
282
302
310
324
315
375
364
258
301
320
375
281
390
340
234
380
431
275
369
326
297
313
288
387
323
350
368
328
351
267
268
310
391
235
344
285
250
391
255
269
349
333
336
345
342
269
290
227
340
290
305
348
284
298
283
350
252
373
367
298
341
252
298
246
357
162
290
383
279
327
256
374
320
268
345
399
340
333
422
345
296
323
376
437
342
290
309
373
336
260
242
259
380
304
318
275
318
377
385
362
330
281
306
267
343
336
292
286
236
317
335
349
302
366
293
331
275
339
368
342
288
308
289
354
236
335
318
417
313
348
276
299
264
301
300
273
280
343
294
228
402
376
253
328
347
362
353
312
356
282
370
404
297
320
357
306
245
392
345
398
255
339
369
247
346
259
218
298
303
285
329
297
363
237
315
323
312
351
254
311
319
380
349
373
380
258
325
317
297
260
312
301
365
327
249
268
265
334
305
316
293
306
312
307
313
378
303
263
266
310
315
239
359
361
325
317
280
343
272
394
361
399
370
324
369
285
285
377
205
348
339
319
191
289
341
303
241
294
322
359
209
363
311
274
282
274
381
351
366
340
301
341
310
358
342
371
316
279
279
335
328
271
285
360
342
305
358
367
318
255
315
311
227
345
254
277
317
320
305
371
299
256
257
304
258
344
245
319
318
263
298
331
375
348
377
322
253
353
337
316
288
376
362
305
259
291
416
305
303
338
310
339
363
281
325
275
347
306
265
324
264
291
331
360
236
320
305
348
342
271
249
349
223
238
351
311
308
303
309
373
401
314
325
368
330
311
338
283
250
344
279
261
323
384
314
342
307
291
341
330
327
215
252
342
276
358
254
339
322
240
346
300
368
259
293
319
358
273
398
413
306
348
389
310
313
343
384
364
315
330
372
287
250
341
342
318
333
369
263
337
233
273
265
253
257
284
339
310
328
244
395
371
377
324
342
245
239
348
293
343
301
314
275
337
302
293
264
305
321
240
353
366
248
299
296
319
293
351
262
316
290
364
391
307
344
320
304
363
230
314
331
394
340
264
238
270
336
299
305
211
321
338
209
415
271
319
297
313
360
353
338
312
364
337
332
351
310
334
421
323
329
374
290
337
252
313
332
258
292
346
211
273
358
377
415
305
245
259
232
310
320
298
164
396
351
251
226
360
315
258
321
330
270
242
238
335
336
269
371
375
226
323
300
348
259
321
358
243
291
340
330
282
410
370
362
318
339
347
273
268
265
347
276
339
281
303
216
287
262
282
228
305
325
313
396
303
245
241
335
280
251
282
383
231
187
326
377
272
316
303
272
348
304
269
288
270
360
324
259
253
263
232
300
277
346
367
278
316
347
345
189
395
308
359
263
318
263
332
321
390
264
305
395
302
254
298
325
318
318
298
315
303
376
275
292
276
227
314
239
305
333
277
415
357
352
282
354
337
270
303
295
352
366
374
372
312
377
320
342
306
345
387
307
299
338
291
346
300
323
338
310
329
321
329
261
329
326
294
368
229
368
256
312
399
310
357
346
345
327
330
330
263
300
274
292
235
314
312
220
307
311
301
347
376
177
292
227
352
262
226
303
382
245
377
287
310
332
274
264
225
361
291
230
281
379
368
327
311
237
259
321
342
374
264
235
286
311
359
368
290
300
348
309
351
208
286
311
262
295
299
304
331
296
389
360
289
403
355
357
317
238
304
347
308
294
285
283
330
221
318
294
306
350
322
375
313
327
272
324
319
316
340
350
351
341
268
325
273
356
364
338
272
245
318
263
234
379
397
275
297
335
260
379
316
245
278
334
343
364
320
261
308
298
230
367
285
316
379
331
336
244
322
290
339
356
283
289
339
380
310
321
371
380
328
264
244
319
239
258
308
336
340
323
266
303
308
288
369
295
320
332
273
286
269
352
326
338
353
337
285
349
398
330
323
340
370
228
250
347
276
276
316
304
317
250
336
307
335
341
356
362
225
329
262
319
340
290
285
370
284
301
275
293
300
337
297
318
328
318
347
244
256
318
268
269
278
362
279
324
377
272
284
319
259
259
298
355
221
321
297
272
343
365
383
220
260
315
261
251
231
300
237
309
303
283
265
352
197
351
424
334
340
347
289
301
380
254
338
315
373
333
276
280
268
307
370
288
279
345
312
325
366
251
300
309
371
363
333
376
180
349
302
271
359
326
244
310
253
350
274
347
343
346
324
337
369
337
327
321
308
366
313
303
325
205
367
345
307
331
273
240
305
242
199
348
329
261
333
341
324
250
311
324
366
341
254
312
360
351
330
369
339
334
255
326
279
303
329
309
349
296
262
208
384
374
364
270
303
334
295
239
273
234
272
326
279
354
334
221
394
295
358
261
323
284
402
239
334
299
290
378
366
357
420
346
254
329
289
272
268
318
328
328
287
373
243
346
328
288
295
341
317
338
314
308
249
308
257
281
263
353
337
293
320
238
327
314
345
332
328
335
339
287
225
248
365
323
350
334
348
306
423
347
236
347
285
282
267
205
334
317
381
283
331
235
225
295
306
359
302
286
369
276
317
307
251
353
355
346
413
283
278
324
328
357
306
286
345
329
258
347
254
350
354
318
342
315
256
402
346
346
271
321
342
295
329
379
383
323
357
315
380
324
375
311
210
317
323
337
385
355
253
313
361
353
266
313
277
263
220
222
295
313
255
356
342
330
332
408
393
323
414
355
245
297
271
344
324
285
315
302
367
270
325
402
301
302
288
380
243
342
319
352
208
290
350
285
293
254
271
353
288
302
318
314
325
248
259
270
331
277
358
263
322
284
335
351
365
307
327
213
331
337
322
284
262
320
267
317
378
297
347
305
350
245
385
320
350
383
375
356
397
236
356
262
207
346
312
336
342
319
310
310
355
326
271
331
340
222
286
259
314
366
292
379
270
350
340
382
347
242
215
306
345
363
296
302
306
375
266
334
379
304
277
379
288
393
394
315
325
245
341
284
404
250
390
335
354
335
392
320
354
303
310
342
298
296
357
333
362
382
358
354
327
265
323
366
265
324
289
280
305
299
124
313
360
292
322
346
227
326
311
297
363
367
375
274
369
303
386
394
303
223
259
348
288
249
245
413
278
349
265
315
263
352
261
279
397
324
319
299
295
279
383
249
352
274
244
243
361
341
331
357
303
348
305
300
292
216
333
388
311
311
345
313
354
257
323
376
363
417
336
329
227
279
366
309
197
256
347
389
313
328
254
287
411
304
294
333
302
315
218
410
245
341
382
305
316
378
317
318
365
312
277
331
326
333
346
210
341
376
310
324
340
278
295
310
300
297
277
341
271
351
291
315
304
357
284
373
303
373
311
307
404
299
327
353
292
382
317
268
354
314
351
337
286
287
306
309
411
243
310
318
279
285
281
292
344
300
341
245
264
333
308
254
279
383
285
363
351
333
357
222
292
368
256
320
359
372
339
310
294
288
293
282
346
355
343
349
270
297
291
304
299
315
236
376
300
267
254
334
330
342
339
366
339
374
287
317
351
337
311
352
342
338
383
336
377
321
315
349
300
437
292
293
317
287
234
274
377
308
287
372
328
285
306
289
356
233
310
322
288
340
359
314
318
318
314
265
361
436
248
221
251
314
319
320
304
311
309
303
372
273
347
306
368
338
359
385
336
301
302
303
272
264
301
260
169
329
338
310
280
248
228
346
276
341
345
242
381
257
314
321
277
349
323
339
342
327
240
309
280
238
283
337
342
265
283
301
294
275
281
292
237
342
292
338
276
284
377
275
357
376
359
282
283
328
321
315
313
318
255
331
221
263
242
335
349
211
270
248
350
324
293
354
333
268
301
347
261
375
351
342
402
276
308
297
311
261
290
318
263
257
284
388
301
339
235
367
241
391
363
316
365
288
270
336
241
308
276
333
245
396
371
220
288
244
340
334
222
274
379
323
298
303
326
332
338
275
332
258
328
272
357
284
340
326
341
275
333
345
384
333
256
329
295
359
327
262
232
367
258
311
246
332
293
310
344
247
292
348
368
311
320
324
297
289
373
297
223
323
228
323
385
309
275
322
348
325
321
338
336
303
305
251
332
296
230
251
205
348
300
312
294
301
286
331
239
308
334
332
353
317
332
285
408
330
278
376
310
296
202
279
251
340
323
287
275
333
340
284
321
366
294
357
302
255
335
266
281
320
277
367
360
360
318
288
340
348
340
316
276
236
288
232
435
291
381
329
315
309
322
275
372
308
307
345
345
307
307
395
316
341
307
372
306
349
399
376
272
335
382
387
365
343
362
335
261
286
251
256
390
289
335
219
283
292
377
327
246
259
363
360
251
282
352
314
363
349
335
386
282
307
263
292
371
347
261
369
320
262
321
347
352
291
379
297
341
358
289
267
342
267
372
312
381
306
332
230
274
301
364
281
272
314
330
343
357
284
321
345
244
407
289
264
334
298
321
366
367
382
232
341
325
356
394
250
291
289
306
261
369
358
314
318
349
360
312
391
336
280
390
276
441
384
346
346
267
290
311
386
217
313
336
220
277
350
334
365
387
265
239
295
356
281
248
342
375
253
394
326
335
326
397
307
383
268
287
253
364
262
309
253
261
308
295
311
316
284
388
361
253
356
318
357
340
249
322
334
285
319
266
315
288
320
316
388
410
414
250
278
319
382
347
335
345
326
274
350
259
287
347
279
323
294
324
314
276
338
327
357
248
293
259
299
274
362
380
361
257
269
366
372
358
308
368
300
278
226
287
296
299
317
247
290
337
300
415
288
283
300
232
326
323
340
297
284
366
256
317
297
371
270
338
359
320
290
274
313
309
328
409
314
337
342
346
308
334
299
320
337
401
385
288
336
333
333
347
277
308
298
345
412
318
378
247
315
370
294
351
265
242
275
304
300
281
361
385
397
354
371
340
315
318
367
316
334
250
392
311
320
269
320
335
269
374
346
291
276
389
396
281
341
307
343
221
342
319
370
272
382
294
365
232
355
361
309
335
361
312
410
313
368
265
318
287
261
344
277
319
426
383
331
344
331
293
295
293
280
304
298
401
327
336
323
213
309
385
366
339
275
255
273
257
320
288
346
319
265
294
365
413
247
281
252
289
310
360
336
354
374
266
282
271
283
347
387
325
343
307
402
288
259
364
306
399
253
361
309
325
349
293
306
376
339
352
263
322
256
423
306
300
341
327
228
361
339
374
366
310
306
271
269
297
379
318
366
290
349
368
304
297
279
253
274
395
244
320
250
333
302
287
268
216
361
280
304
293
231
366
297
300
274
350
383
293
364
305
282
294
395
327
290
333
326
208
340
378
283
311
249
346
336
334
306
352
287
296
262
364
336
292
274
278
327
334
312
325
353
274
385
272
333
365
379
269
251
395
324
298
317
305
342
352
312
342
287
368
350
287
329
234
297
341
350
312
363
342
321
393
332
339
404
392
290
370
339
446
336
336
203
327
348
286
322
295
201
327
364
310
306
315
255
338
252
284
320
328
257
407
289
342
298
336
311
343
347
387
316
240
338
314
267
297
357
345
467
253
292
249
259
363
346
378
406
385
386
251
294
285
391
336
320
276
331
384
338
348
318
287
275
311
334
304
291
329
243
314
295
284
264
297
318
325
377
281
311
324
417
308
239
309
297
197
374
275
351
417
365
294
222
309
327
287
323
405
234
279
351
308
314
336
368
343
280
290
332
228
372
364
370
326
347
292
339
311
251
280
316
361
296
326
321
289
285
336
316
329
390
358
305
299
277
227
272
429
369
265
311
262
299
367
277
322
290
277
279
269
297
325
332
281
327
332
246
425
239
244
348
239
350
355
288
398
308
286
274
300
245
305
275
259
324
292
306
335
291
319
282
335
254
240
319
355
380
333
325
427
375
424
337
353
233
335
324
245
391
258
381
269
331
316
393
307
286
308
282
353
329
362
315
266
335
275
307
302
281
283
375
304
271
262
353
297
282
383
345
321
365
339
311
351
363
363
356
310
382
326
360
350
244
369
334
339
289
318
278
261
210
331
322
353
333
286
240
300
239
250
375
327
285
310
290
356
260
333
312
357
338
234
297
354
312
303
311
327
302
223
327
402
289
385
303
351
282
307
391
309
346
334
361
314
260
259
357
300
279
271
349
284
389
334
275
288
277
241
271
317
331
338
313
383
279
326
342
347
373
287
367
347
337
325
342
283
287
385
324
315
360
307
247
248
231
357
322
301
294
357
334
238
297
309
312
378
342
305
403
329
376
299
309
372
333
364
327
303
285
298
291
280
446
304
329
338
264
319
458
300
267
271
299
261
308
286
260
261
390
374
338
326
303
383
364
328
328
386
291
329
343
329
308
299
365
272
356
317
307
266
309
337
333
407
349
248
436
342
366
243
376
304
349
320
338
350
335
322
345
315
239
282
385
360
277
315
322
320
390
331
275
379
313
333
271
428
285
324
349
371
346
291
283
385
366
230
475
234
300
354
315
325
360
312
315
331
403
192
390
266
276
380
288
277
322
323
392
329
273
372
333
314
260
235
228
311
348
323
302
279
359
299
312
267
372
385
256
291
338
264
351
244
263
220
373
291
372
292
367
317
209
242
334
310
275
389
392
304
236
223
385
431
342
313
326
333
344
289
324
325
312
402
362
302
370
249
317
364
338
318
361
307
271
310
297
374
259
319
402
391
283
233
332
299
354
285
315
314
255
360
304
368
306
384
336
381
359
231
304
373
326
303
282
367
257
309
304
303
307
304
333
293
290
239
309
252
398
187
337
351
330
397
383
293
331
433
374
316
336
314
263
292
270
338
331
430
260
323
341
259
313
342
334
336
274
242
333
360
214
332
412
360
323
338
352
200
265
310
333
329
296
262
349
256
254
316
339
247
352
338
344
334
373
353
281
354
355
296
297
325
344
379
287
299
406
341
310
403
263
280
266
301
405
370
257
340
341
413
319
367
310
361
312
369
366
291
296
332
300
341
369
303
237
281
387
331
347
327
309
319
376
227
309
261
318
297
283
374
331
356
396
355
329
299
359
324
338
354
297
337
389
306
263
294
270
284
345
350
336
350
296
341
330
384
237
306
313
296
273
357
242
247
324
332
364
415
314
300
312
369
250
320
323
296
359
368
362
368
378
381
230
292
334
271
230
308
354
263
324
324
368
407
353
262
273
327
185
289
327
302
354
304
282
388
381
267
333
323
317
243
243
249
378
292
418
253
256
292
259
279
313
346
257
339
360
371
375
307
268
350
257
336
251
246
407
283
324
310
217
318
332
322
319
337
273
333
272
322
233
314
366
215
269
308
330
343
300
360
371
336
286
258
282
342
341
289
249
268
362
352
255
363
310
327
259
388
271
404
348
294
274
346
235
232
281
263
344
228
317
243
325
405
394
298
261
299
320
313
313
358
314
395
415
285
302
332
335
356
267
344
277
370
330
340
320
316
327
266
296
336
327
231
256
310
302
271
370
319
351
310
398
329
307
347
356
373
313
288
329
268
254
309
310
310
272
195
348
304
283
335
370
341
325
300
290
440
346
267
229
294
291
300
208
317
371
326
288
292
279
269
290
403
363
301
300
380
340
316
383
412
286
341
264
267
360
369
398
324
313
357
335
322
279
360
312
242
347
381
285
289
311
355
382
239
385
217
361
372
275
276
304
335
348
296
281
367
328
261
317
314
348
306
260
275
343
281
380
313
332
299
317
246
340
289
321
295
302
377
417
289
351
257
433
347
283
322
279
322
273
288
396
308
286
302
346
291
359
276
228
321
249
294
248
238
355
330
284
284
347
367
258
331
349
339
246
331
232
247
342
315
337
337
318
371
312
272
259
276
319
376
340
304
321
335
335
293
370
330
351
322
290
393
336
304
271
405
328
298
288
247
348
296
308
373
313
408
317
307
301
340
364
322
423
284
310
300
337
317
252
296
261
340
313
302
317
287
324
329
331
237
326
269
296
333
275
277
277
334
310
297
282
366
266
317
319
339
306
327
308
320
263
290
293
246
314
315
228
255
381
302
333
340
324
326
266
331
285
274
278
281
330
327
279
323
252
346
338
264
354
266
368
399
302
367
370
337
287
351
326
297
378
325
328
379
341
312
357
383
274
361
232
297
322
299
297
306
258
312
325
342
304
330
247
382
337
327
355
378
368
368
359
338
346
333
426
343
367
316
327
200
336
251
351
360
368
387
306
330
330
311
298
337
284
342
288
397
323
379
337
309
291
205
307
326
217
329
292
264
275
412
297
285
307
360
282
301
344
323
323
322
393
365
278
331
257
323
313
278
219
275
389
290
388
341
364
331
354
310
303
338
315
319
328
315
381
338
227
224
316
360
286
352
276
346
287
251
345
322
271
389
328
277
276
310
261
335
355
298
372
330
253
321
386
342
291
217
300
294
279
336
375
384
351
309
257
454
301
350
282
321
368
292
368
378
313
391
369
334
312
286
288
343
371
391
330
339
296
277
270
371
307
352
305
332
375
293
282
334
280
277
256
391
291
388
273
234
292
328
287
360
268
272
347
305
338
255
340
342
343
275
308
306
349
245
338
384
330
342
322
310
215
284
286
291
241
297
290
365
346
392
325
346
339
284
294
320
312
290
318
341
229
352
297
269
321
282
255
263
335
244
229
314
306
276
298
285
267
370
336
329
306
407
335
269
320
368
268
363
293
329
313
302
395
327
190
353
343
299
275
331
273
235
398
396
346
309
354
278
327
310
368
347
363
179
306
258
291
269
296
357
290
297
339
296
286
275
283
371
316
307
342
315
362
297
294
313
319
390
361
305
236
371
310
314
260
258
320
271
245
386
332
311
262
271
225
309
249
324
333
324
207
320
322
360
278
334
220
301
305
297
294
292
312
421
353
359
362
330
311
355
213
349
263
366
312
284
335
284
249
274
343
376
330
378
312
357
275
345
334
370
259
221
359
334
368
345
271
337
238
231
381
293
269
290
404
304
211
381
352
363
269
333
303
347
352
335
295
364
300
358
360
341
320
260
279
288
361
267
299
367
226
364
309
298
203
384
328
350
336
332
258
301
341
294
301
292
286
361
214
256
350
325
329
391
345
283
364
297
339
339
316
361
299
355
281
291
265
224
316
298
298
324
362
308
289
321
274
226
320
343
338
320
271
324
255
285
312
326
382
304
302
324
390
275
238
382
341
335
209
289
320
315
336
303
318
220
326
243
276
309
328
277
382
291
339
315
297
276
333
266
344
350
244
332
269
303
344
262
311
263
255
318
332
294
315
395
273
261
261
326
318
371
345
315
323
285
343
350
345
330
322
330
279
246
269
266
363
345
341
291
296
278
259
350
336
284
301
279
299
309
345
305
370
264
258
315
352
301
275
279
291
311
224
374
309
323
327
357
361
321
303
340
317
312
307
350
357
301
344
345
237
279
302
384
270
270
321
282
324
267
325
336
335
301
305
362
347
305
284
298
250
357
313
351
314
315
271
230
221
238
387
379
266
291
334
288
314
277
232
325
274
312
328
345
270
311
290
326
313
331
343
342
359
424
396
355
346
282
276
370
294
282
214
259
338
383
372
385
264
316
288
325
257
373
288
356
328
334
321
271
328
281
294
257
321
336
366
350
220
386
248
371
328
336
385
365
244
268
253
393
308
377
303
312
269
358
305
301
374
299
361
366
357
325
277
306
338
351
342
343
309
279
316
307
360
317
286
357
243
252
352
258
363
315
329
233
267
217
229
298
334
278
315
289
361
383
288
330
323
250
335
324
321
367
248
318
263
309
306
323
404
290
311
367
308
258
353
338
320
285
326
272
318
369
330
332
270
269
231
397
328
242
375
336
331
357
306
316
356
354
249
341
358
361
259
300
323
293
232
364
315
253
308
347
371
380
397
263
365
389
353
260
293
319
283
127
365
393
318
310
350
324
330
372
217
208
375
250
259
323
398
309
240
359
245
382
300
305
294
264
352
338
276
276
323
332
311
341
349
320
229
328
338
268
360
356
303
354
303
319
178
291
227
351
283
332
233
317
345
216
315
279
312
350
171
300
316
274
396
353
354
367
295
302
285
381
257
297
322
268
285
338
313
268
267
304
327
314
271
341
382
323
402
283
306
261
234
322
350
327
347
311
247
295
392
372
331
312
355
314
326
384
382
365
272
322
282
294
383
269
374
274
304
370
258
255
291
328
357
398
325
320
272
364
297
328
284
279
353
292
325
244
299
232
271
284
282
320
333
277
300
331
212
335
386
314
344
291
195
387
358
341
302
343
356
326
378
325
285
284
343
329
284
361
322
228
245
298
318
310
273
366
349
335
249
326
268
343
279
299
361
326
255
343
292
377
387
375
293
359
397
338
286
316
279
278
353
241
357
388
298
383
328
310
293
397
344
286
338
306
373
322
272
328
352
276
280
362
355
265
389
352
363
371
309
310
316
282
381
383
343
257
339
283
305
336
315
330
300
328
202
284
413
334
326
347
262
378
262
306
332
372
241
399
343
383
413
314
292
359
349
356
256
344
356
323
397
398
218
346
253
302
341
282
250
270
310
265
352
346
323
268
373
344
346
304
312
345
286
304
359
238
392
332
261
269
240
331
268
356
311
344
268
361
283
334
308
370
352
309
387
332
200
375
314
273
287
370
263
300
303
324
285
307
290
308
400
324
367
373
379
290
298
369
359
300
275
420
306
355
273
263
305
325
305
392
395
275
300
292
373
288
283
348
329
397
286
273
330
244
381
287
333
292
294
358
266
382
247
369
280
290
435
338
235
244
379
295
236
355
349
347
315
330
322
344
331
264
299
324
393
328
293
337
265
392
333
319
350
341
370
334
346
265
305
274
360
358
262
308
357
329
330
250
348
295
342
300
334
325
355
332
304
300
272
313
372
261
368
378
403
307
258
374
291
359
359
347
299
298
293
311
313
304
278
269
327
347
370
188
314
341
357
373
366
314
370
368
202
361
333
314
366
315
383
347
292
365
385
311
320
334
281
297
392
328
375
385
325
292
329
352
341
295
333
293
213
334
342
323
280
305
345
326
327
336
371
350
407
327
326
336
299
259
350
381
297
372
307
308
340
388
265
291
273
280
401
283
294
340
346
312
389
370
299
377
356
303
355
335
281
330
324
246
356
270
316
293
312
349
309
340
326
319
368
342
357
356
366
381
275
381
312
258
234
299
251
347
340
289
347
363
305
352
379
315
341
257
320
252
348
233
332
265
301
338
280
343
337
316
339
366
322
294
240
318
359
348
380
330
346
218
327
376
346
303
295
233
384
299
262
233
253
317
303
351
357
340
282
355
276
365
365
277
308
315
376
277
258
326
320
343
348
347
216
326
301
302
301
285
310
365
319
284
293
276
364
318
285
267
272
317
396
382
335
390
336
244
361
249
311
356
312
322
285
316
316
211
357
284
355
308
327
338
356
332
333
279
250
352
355
395
350
270
242
335
275
332
374
414
305
335
399
341
302
329
278
321
297
381
357
324
317
284
315
286
259
349
317
321
388
326
394
366
300
340
331
361
326
371
347
353
406
293
244
356
349
366
374
268
312
293
311
255
334
355
352
268
311
340
299
299
327
289
276
318
273
382
392
254
359
280
268
321
278
340
320
336
251
326
261
297
306
321
318
321
345
335
295
284
287
355
338
200
297
310
362
294
329
300
283
322
193
351
299
316
385
422
344
304
360
369
340
249
296
259
275
255
226
366
294
241
246
433
261
203
293
337
320
323
310
368
287
336
245
304
298
312
374
388
339
304
246
247
254
211
316
357
371
315
347
304
271
237
339
268
395
302
368
291
348
369
251
344
351
320
375
340
332
314
317
324
320
354
298
361
323
327
284
337
394
324
296
364
407
288
378
319
301
227
314
306
335
398
263
285
374
306
342
384
318
289
410
345
325
323
302
300
379
325
396
299
370
244
332
216
208
296
249
353
303
327
353
314
333
242
257
350
352
357
297
348
201
329
295
287
340
237
349
309
272
293
398
246
291
245
278
308
316
287
305
267
275
337
308
360
316
333
319
347
269
273
294
286
282
270
319
273
290
323
291
341
302
360
250
414
326
386
350
348
342
262
342
408
329
365
291
292
214
311
261
331
259
251
365
303
353
294
402
303
289
290
252
285
283
305
287
328
263
344
300
337
376
285
386
325
308
343
290
321
293
293
339
321
250
327
288
350
229
349
376
331
261
253
230
349
293
312
383
195
355
346
358
307
269
311
336
276
371
279
342
307
292
343
376
313
278
331
368
326
319
335
392
264
313
349
335
297
312
284
320
324
306
318
235
353
385
364
366
389
306
256
255
334
269
305
392
375
320
301
302
277
366
247
391
310
371
290
320
287
321
295
314
335
296
353
317
308
357
323
292
298
304
283
327
323
347
295
259
309
318
355
284
215
369
196
382
306
295
344
420
392
329
320
389
377
345
381
204
337
294
343
259
295
380
398
349
343
229
282
265
332
386
395
282
351
292
273
294
329
329
386
310
310
300
315
308
258
341
289
327
346
269
251
309
351
278
244
302
337
254
281
249
372
270
254
334
273
295
299
360
233
284
308
365
345
260
364
375
277
292
357
343
381
349
288
372
366
277
329
291
304
314
258
270
382
308
299
331
222
381
353
281
303
288
313
299
289
270
370
283
375
370
294
245
216
233
315
273
399
300
244
268
163
345
258
310
372
397
300
324
280
292
313
289
285
356
366
333
355
317
307
363
342
409
294
324
398
304
310
334
350
384
325
354
289
338
294
281
290
293
363
335
443
383
299
406
320
329
318
297
359
299
379
341
321
378
263
374
367
325
313
301
384
259
254
271
354
321
318
375
294
336
332
285
275
366
370
330
333
341
407
434
293
330
215
192
215
292
362
379
333
367
255
235
342
339
332
420
327
357
345
274
315
356
254
336
287
291
295
320
313
369
373
284
323
342
369
364
370
321
343
331
373
214
334
353
338
324
270
314
225
282
329
290
240
280
275
271
276
262
288
276
314
356
294
271
360
284
368
267
356
347
217
304
289
222
378
353
380
383
217
324
359
314
333
359
312
267
286
298
276
289
322
337
283
262
331
260
241
370
311
284
306
272
404
338
381
298
236
304
274
295
231
263
308
322
402
298
299
238
317
273
373
323
264
316
296
269
364
301
252
359
269
330
307
365
370
293
265
348
383
349
373
303
340
379
294
307
302
296
254
364
251
266
343
349
196
304
321
369
301
304
246
282
336
261
313
281
332
359
324
406
323
320
316
361
404
363
330
276
317
310
237
292
296
283
278
234
353
242
293
343
334
336
292
347
366
357
276
307
312
368
227
337
269
308
291
309
338
298
344
378
310
273
304
361
362
372
264
284
336
267
309
283
322
313
230
342
313
341
319
308
323
338
330
330
284
347
286
269
299
189
380
319
259
348
311
346
375
379
296
350
347
369
341
336
340
368
372
289
368
389
392
337
364
326
368
315
301
333
318
300
326
348
281
304
342
352
345
387
227
332
391
304
338
267
229
284
360
376
334
313
361
400
270
378
376
260
381
300
322
339
285
281
360
284
326
296
342
344
247
339
348
321
234
285
260
286
306
255
335
371
304
302
262
313
258
319
300
245
322
287
294
339
307
273
250
301
302
297
278
267
291
262
308
299
355
235
358
333
313
366
336
309
295
265
355
344
393
244
305
352
316
361
273
309
361
250
323
336
306
346
279
309
284
346
340
279
260
329
294
296
274
367
294
312
302
291
352
359
261
337
251
387
319
356
316
362
342
308
362
332
311
259
296
315
309
365
401
372
347
237
253
371
364
281
374
388
351
343
310
279
401
334
302
382
360
373
275
309
374
282
349
289
288
259
329
281
292
357
267
286
359
335
303
363
266
262
359
328
330
285
278
344
326
279
355
262
276
317
283
308
320
326
337
279
303
281
325
285
284
300
264
279
299
288
268
290
318
301
334
323
306
326
334
270
263
302
354
303
322
360
328
412
357
309
271
337
287
386
382
335
281
378
327
332
337
277
312
352
295
331
301
328
301
299
373
402
270
321
339
287
378
387
280
330
306
257
353
351
298
256
331
340
281
274
326
192
330
289
283
269
283
268
283
389
298
274
361
246
322
261
272
286
356
350
325
339
340
383
333
343
314
343
270
235
414
355
351
334
275
302
328
392
316
312
340
284
321
322
256
336
367
303
340
394
308
324
370
240
290
279
356
259
336
286
367
324
250
303
335
234
293
254
322
362
367
332
271
360
346
314
401
345
356
267
366
330
325
302
296
191
318
322
306
303
345
297
293
292
270
332
302
311
330
327
363
286
324
312
236
323
312
339
312
371
361
311
355
296
314
358
263
353
300
301
315
265
389
262
255
334
257
335
349
320
344
283
343
344
301
348
339
422
216
308
337
297
337
341
296
313
331
316
386
253
292
300
426
234
305
245
265
281
350
258
320
348
257
310
227
296
305
351
380
251
246
270
302
270
295
265
340
389
356
355
344
280
247
366
268
301
284
242
227
365
337
247
294
333
318
395
303
293
271
315
250
316
297
319
394
404
392
247
229
288
319
268
288
239
315
293
266
255
295
369
294
332
303
332
285
271
226
302
314
372
312
396
285
366
313
262
327
333
301
217
279
336
209
289
190
324
310
354
293
354
315
241
339
305
324
315
327
375
294
342
331
334
251
324
326
316
188
295
305
337
240
308
330
324
269
279
320
312
375
330
338
278
216
306
268
227
198
336
299
366
315
331
342
294
289
309
309
375
308
273
427
385
338
256
338
356
236
360
296
345
337
305
333
307
325
293
294
238
318
371
341
298
314
373
360
317
318
329
272
341
323
350
317
266
331
337
330
363
372
309
321
280
281
347
298
315
349
271
389
325
274
388
314
252
349
350
331
316
324
355
301
312
392
324
275
245
281
313
419
334
330
258
354
311
400
257
323
358
342
266
342
275
313
359
296
359
340
354
259
295
421
398
291
227
332
344
259
351
303
295
342
317
277
313
332
242
330
300
302
313
319
360
263
363
345
283
315
271
282
328
320
325
293
346
249
396
301
238
323
299
294
294
314
409
305
367
310
264
336
342
355
291
286
351
398
313
382
318
259
290
281
351
347
267
333
264
332
294
296
325
246
307
329
271
311
297
342
362
347
264
338
283
241
218
254
296
343
315
426
314
397
387
319
263
315
279
355
361
338
292
317
332
336
279
339
364
309
320
328
280
410
340
306
377
318
262
296
329
361
219
260
355
312
365
296
395
230
357
332
240
375
359
340
238
317
323
260
265
397
261
311
382
369
328
375
364
236
307
271
335
282
275
426
294
350
346
345
353
291
242
332
415
261
286
397
281
247
320
279
370
230
342
298
353
365
232
322
281
364
243
339
214
316
366
370
290
244
284
276
249
291
302
316
264
355
396
244
315
390
349
277
315
305
304
303
332
349
323
340
279
267
325
237
261
403
371
266
352
387
288
337
372
277
276
212
280
333
293
300
273
360
291
284
326
312
249
294
263
366
334
305
360
326
335
301
376
392
282
324
246
341
394
282
367
288
325
323
263
311
294
328
304
347
317
341
332
345
282
350
344
298
247
331
278
301
221
354
248
325
257
344
306
208
339
370
318
274
289
361
344
265
361
382
309
366
198
319
266
311
340
388
324
374
342
299
339
365
283
271
321
357
282
253
341
309
344
374
369
296
320
301
280
321
334
258
298
331
289
357
254
342
401
317
309
328
233
336
328
296
327
359
311
299
276
336
317
320
371
331
362
328
270
313
271
304
364
278
292
358
329
369
262
345
404
347
281
410
418
332
307
298
293
317
189
341
314
312
278
331
344
371
366
308
273
255
315
263
261
191
208
290
348
276
298
400
258
266
355
223
314
268
278
358
329
320
396
322
333
262
328
346
313
251
280
316
363
279
307
376
361
281
348
335
326
163
362
361
279
275
315
295
298
257
241
297
327
375
322
299
339
322
317
293
289
356
304
326
310
320
300
289
355
314
322
264
316
338
354
336
261
297
278
312
336
308
346
340
395
384
278
313
359
330
250
324
315
425
257
309
337
255
245
278
268
386
394
265
321
309
382
276
410
319
277
333
298
212
305
347
337
297
313
382
321
309
282
385
306
362
285
343
348
225
251
254
335
285
367
347
351
288
332
304
271
371
335
329
302
293
350
286
315
262
354
289
360
273
293
324
294
270
244
302
336
339
378
348
292
288
323
267
192
234
227
278
317
408
305
338
339
290
253
310
294
280
262
347
261
270
289
337
249
230
315
289
272
396
200
274
193
366
304
268
340
327
363
343
371
330
283
361
293
325
249
342
315
331
432
343
311
340
359
331
322
349
314
308
320
228
362
279
275
305
351
257
293
298
314
310
380
357
243
332
333
307
344
406
223
188
286
333
403
316
272
282
369
309
294
333
319
396
228
330
358
256
378
403
338
241
311
272
343
261
355
353
329
338
387
286
339
290
257
404
348
287
329
305
374
335
286
224
299
271
301
338
381
390
322
333
375
349
278
326
324
336
370
287
395
277
261
318
318
328
355
348
222
313
291
315
272
303
307
240
372
329
357
315
300
338
295
311
313
316
252
286
349
270
310
370
281
323
334
337
353
330
368
349
342
288
294
322
316
371
355
303
260
259
281
311
342
344
323
344
341
367
290
295
335
312
418
228
288
289
406
266
361
302
346
327
365
383
278
284
309
384
337
289
378
364
310
318
318
335
302
316
340
348
299
345
277
279
284
269
360
338
312
314
342
321
302
321
329
292
346
314
261
343
369
327
272
297
324
337
269
275
356
306
355
344
307
372
292
372
299
376
264
302
297
245
263
321
264
404
289
371
265
308
270
310
332
320
306
329
321
347
359
350
291
317
268
415
309
366
286
283
338
321
367
308
412
325
288
344
258
307
203
337
298
422
336
273
369
228
311
334
379
278
303
404
307
273
329
315
291
361
303
385
273
320
267
256
362
330
346
291
385
344
319
310
350
316
339
297
299
210
220
363
320
296
298
304
352
308
311
350
328
379
326
325
377
305
313
325
278
325
363
364
422
345
317
324
287
311
310
270
348
281
297
326
301
322
341
366
344
385
271
327
214
343
347
253
276
329
310
360
209
277
257
294
355
328
291
239
341
305
245
318
254
220
359
262
301
345
261
330
262
304
369
312
354
356
275
344
225
262
343
272
342
333
318
353
390
283
340
352
344
324
309
328
352
315
332
307
283
347
314
277
311
230
230
346
395
288
324
300
344
371
247
301
266
361
350
355
318
336
284
291
305
231
337
259
326
335
326
247
291
324
249
432
301
296
260
280
325
246
273
333
313
356
358
359
258
333
316
295
385
409
303
277
255
364
443
240
303
326
327
335
364
346
315
386
325
289
325
412
291
396
305
334
331
273
308
297
349
348
313
263
343
423
345
273
340
332
263
347
336
316
363
335
265
385
320
361
266
308
236
304
332
321
332
358
356
384
301
360
297
436
311
347
281
376
392
252
382
330
247
343
330
295
316
253
252
393
396
337
302
333
336
340
322
397
302
318
282
297
248
246
335
284
309
361
330
352
353
255
329
331
324
308
303
261
339
336
395
290
340
322
282
298
344
269
306
331
362
300
338
356
352
287
350
319
430
266
311
275
279
331
327
344
287
285
292
314
285
318
375
265
292
289
293
325
306
241
356
342
245
313
327
341
236
328
310
278
328
258
375
233
334
273
330
359
301
283
340
321
321
302
293
320
371
249
300
384
291
297
288
372
341
330
316
311
264
267
301
225
343
280
289
139
317
222
185
280
301
270
310
270
315
283
337
260
385
342
297
362
273
295
346
361
309
342
335
275
211
235
337
350
250
315
348
314
341
378
241
355
331
340
352
319
252
259
285
268
280
311
353
386
352
258
312
294
284
355
358
287
352
343
296
322
327
298
319
353
271
351
239
323
364
310
266
312
291
385
324
276
277
388
261
310
304
336
267
325
395
320
300
329
325
346
365
434
298
306
352
302
359
341
261
333
348
338
303
290
358
294
371
275
350
230
362
295
348
274
401
378
261
321
261
296
293
367
316
349
242
352
299
277
320
360
299
329
329
283
304
299
390
339
221
267
283
263
367
334
326
268
318
326
273
289
318
376
305
291
394
379
331
333
287
261
405
339
350
354
271
320
331
329
363
307
375
279
297
343
301
335
378
297
252
284
347
361
249
350
311
351
301
342
343
298
342
298
321
389
273
313
289
386
377
336
332
336
343
317
340
330
342
301
269
242
304
248
331
279
273
307
288
368
273
280
286
341
377
379
291
277
335
308
341
381
335
372
291
315
307
348
263
260
276
257
364
188
264
348
356
294
386
235
361
260
427
350
274
357
438
282
360
301
326
402
343
410
332
272
291
292
320
355
262
346
275
387
366
287
346
330
361
349
381
319
284
365
331
221
358
204
337
339
335
313
209
257
307
289
269
172
295
285
291
287
335
336
395
263
349
317
318
295
318
304
380
242
411
280
317
309
305
183
343
306
352
318
266
236
265
253
291
292
313
327
354
354
337
309
269
373
398
354
350
318
281
321
356
342
296
308
311
333
336
335
310
326
388
267
326
285
330
293
234
297
352
300
367
330
254
354
351
386
262
279
383
287
354
318
312
302
259
241
303
246
355
357
327
324
326
263
347
318
359
278
393
332
310
342
324
328
328
285
308
378
376
324
310
236
227
357
296
241
299
300
297
288
375
278
307
280
287
347
297
275
246
307
307
315
352
293
302
366
299
279
317
307
317
381
278
278
328
315
346
272
339
365
182
268
319
233
298
387
320
320
278
328
295
361
339
363
322
372
285
314
320
366
360
327
369
363
349
389
317
349
286
362
225
375
325
284
373
328
341
345
351
386
261
347
355
398
224
297
272
382
245
305
292
279
359
261
414
312
347
284
221
280
275
219
287
339
240
300
361
271
355
263
397
211
299
393
340
392
288
269
272
205
312
266
357
343
280
267
351
322
273
351
310
290
341
332
264
335
272
375
329
356
390
381
409
238
334
368
346
362
347
383
280
343
233
298
312
391
375
301
343
393
294
315
282
330
285
299
363
274
294
303
333
319
288
258
301
202
287
306
316
276
313
308
333
310
271
298
307
349
293
310
311
264
281
301
373
323
381
311
291
302
367
354
319
312
385
299
375
376
182
273
310
320
328
349
354
298
333
366
343
341
216
286
350
315
341
325
259
320
304
292
288
358
284
332
347
361
255
343
288
296
209
276
374
324
369
364
387
322
322
350
308
335
267
283
324
283
226
294
243
316
283
332
284
290
374
281
256
300
250
333
312
303
326
355
283
374
372
382
272
241
318
342
254
294
228
380
376
293
340
356
267
267
325
271
415
253
327
322
364
339
255
292
280
366
281
286
331
319
266
304
249
363
356
360
335
387
383
317
428
272
254
391
416
324
357
350
300
413
317
367
397
363
313
405
332
289
356
231
347
213
333
357
375
303
283
244
365
340
293
334
336
331
339
332
413
327
309
311
353
233
316
280
325
362
329
229
373
292
290
355
342
333
337
284
299
310
298
353
290
280
340
306
347
379
307
285
360
223
341
286
318
286
354
192
377
268
362
355
241
288
335
370
327
312
348
332
272
281
356
218
401
376
267
324
319
253
328
368
225
291
315
292
325
237
235
286
316
342
419
349
359
392
289
191
309
279
336
298
327
230
376
366
317
294
328
284
363
360
348
240
317
282
261
209
356
310
297
283
332
394
357
211
409
312
306
353
244
235
361
313
294
327
337
431
308
241
339
272
376
321
313
330
341
280
339
359
311
364
385
429
312
256
391
307
298
261
285
301
249
298
356
339
320
354
280
264
371
356
197
354
284
359
407
340
345
314
320
351
349
240
371
317
296
344
336
323
353
266
211
281
341
314
300
321
365
259
361
353
399
372
354
300
262
288
270
351
251
309
362
277
351
348
323
329
365
326
329
307
322
301
299
372
314
322
314
306
298
266
252
267
296
351
280
298
399
294
386
366
331
363
320
379
312
346
269
303
258
314
298
396
285
383
285
277
298
333
275
241
296
230
280
348
326
245
350
288
255
285
318
308
368
337
337
322
326
288
292
248
314
278
380
252
308
300
287
276
333
258
287
365
423
250
296
284
311
359
251
334
314
302
315
263
197
291
338
376
299
353
278
269
317
326
362
288
374
260
391
277
272
261
185
321
309
415
320
286
236
284
352
356
302
323
238
277
274
327
320
287
261
329
335
236
222
382
361
327
264
265
332
349
345
327
179
356
326
293
373
341
296
279
381
343
268
318
349
280
310
248
329
349
340
298
339
313
275
359
235
343
333
253
362
392
281
347
374
354
351
351
292
320
364
317
415
229
324
321
300
361
342
298
299
330
328
253
330
263
240
293
272
291
322
279
344
330
303
267
314
342
351
342
423
312
219
367
352
384
369
306
261
297
315
373
373
304
322
406
371
295
246
284
343
316
281
383
272
306
326
285
331
399
309
320
318
326
376
238
319
300
305
343
261
331
262
317
313
276
357
308
307
369
311
317
334
373
348
319
368
368
308
307
283
273
319
262
327
330
333
293
350
333
324
373
344
293
312
381
283
300
318
325
250
398
407
327
292
265
333
270
325
232
389
314
296
324
296
294
408
298
202
370
386
271
290
353
315
345
274
333
288
253
308
280
371
321
307
389
314
321
309
316
279
234
305
426
311
243
327
241
343
320
370
299
318
343
303
322
303
308
313
277
239
298
299
222
258
336
318
323
318
344
293
325
272
370
351
309
233
269
195
303
319
292
354
337
311
415
315
308
279
251
317
282
361
322
338
354
260
242
307
325
332
378
318
319
323
332
277
347
285
284
229
326
353
353
346
408
286
269
372
357
353
382
348
327
315
349
415
266
372
330
326
410
245
361
300
318
327
354
366
279
356
310
378
337
319
328
392
348
259
352
273
295
322
285
325
263
305
345
331
307
327
307
329
312
312
303
230
368
318
260
305
289
277
258
256
281
376
204
268
272
309
316
381
364
321
315
372
335
307
306
308
316
288
314
331
361
275
421
362
303
267
307
256
350
337
319
303
362
196
321
382
315
309
328
288
230
167
316
297
257
243
330
314
365
250
278
312
381
282
393
279
379
321
329
326
291
374
362
241
280
319
258
315
431
366
293
282
372
350
334
263
281
380
315
305
339
307
344
192
354
340
354
278
293
374
308
300
413
385
240
280
347
310
353
425
341
270
352
270
346
216
423
372
303
339
333
338
322
312
371
291
354
328
332
301
304
366
364
299
284
354
326
322
238
327
383
319
337
294
400
285
293
312
279
259
334
326
305
405
239
254
354
221
299
356
290
286
296
327
233
331
345
339
323
345
311
264
273
346
287
350
282
248
330
342
340
260
318
257
207
305
347
289
388
361
325
310
407
374
326
347
334
334
333
215
330
383
292
334
315
353
267
320
385
253
271
422
356
323
286
306
327
308
352
289
244
381
285
266
300
376
269
340
331
350
347
381
270
308
305
258
359
384
290
257
316
312
262
395
305
290
219
262
351
306
343
360
361
270
400
321
322
334
348
255
373
256
389
329
255
339
197
369
260
324
309
359
341
338
212
311
342
383
300
300
251
334
352
208
335
385
326
338
346
241
293
276
303
354
385
345
286
300
285
304
374
305
233
275
176
364
323
350
353
351
379
306
309
325
348
369
297
311
310
354
271
367
394
314
287
251
305
334
392
385
362
328
298
415
328
298
335
223
360
288
267
302
263
374
288
289
311
324
405
337
244
227
264
342
198
345
279
255
327
259
285
212
365
331
280
360
324
265
265
382
350
353
374
354
310
290
312
311
282
236
322
294
390
335
258
298
294
382
212
290
320
293
325
314
367
276
304
367
328
336
333
285
335
336
377
328
393
283
272
390
315
341
305
295
338
325
316
337
332
318
322
332
273
359
355
343
273
268
280
349
271
348
276
354
329
356
289
414
295
286
362
289
328
352
363
368
261
326
335
380
282
328
302
331
306
307
335
340
369
306
319
221
263
243
291
323
264
334
271
328
311
342
316
353
293
288
335
311
247
279
302
352
285
271
351
289
335
284
243
334
378
372
273
308
293
289
317
270
347
250
355
257
314
360
287
328
301
316
327
200
387
264
314
374
311
342
219
343
274
337
322
233
333
333
357
356
283
307
301
373
276
354
274
335
288
329
277
425
366
335
297
269
271
356
339
314
349
331
312
382
310
333
362
334
314
303
412
285
344
345
307
376
276
265
386
333
338
314
355
263
402
389
288
249
376
334
275
289
338
270
344
367
247
231
302
314
280
335
291
331
332
304
297
332
339
318
373
338
351
344
327
370
337
300
343
257
332
284
313
361
338
383
316
402
350
263
366
312
276
355
316
251
274
298
334
362
333
271
314
243
303
267
310
304
303
222
280
219
275
301
375
306
339
268
311
263
248
377
388
266
322
355
336
324
301
414
327
389
254
208
282
287
290
308
227
258
347
358
308
290
264
373
257
295
225
311
300
310
294
332
303
318
285
349
274
292
244
226
317
351
249
352
288
349
338
323
249
340
343
332
276
344
345
382
249
264
359
310
402
321
285
351
293
291
370
284
319
329
225
292
387
320
329
254
298
334
354
299
292
328
258
257
295
367
308
307
333
342
227
275
348
266
308
313
274
326
356
405
335
402
273
319
307
374
327
284
275
317
293
359
289
304
270
271
274
274
290
349
320
351
316
358
277
386
315
345
357
304
352
241
345
339
363
281
321
346
249
381
232
302
314
281
356
325
298
308
324
323
262
247
284
273
333
285
326
311
235
344
289
290
317
289
342
333
258
200
314
270
337
335
351
288
314
232
279
332
376
286
242
257
306
228
310
308
386
304
325
338
280
335
311
272
337
330
264
308
252
289
368
294
323
362
351
295
384
293
392
314
371
289
343
358
303
280
244
306
273
382
378
361
319
281
287
362
312
314
326
292
335
252
325
350
393
304
244
283
404
364
379
262
299
272
253
316
361
327
422
274
263
372
327
296
338
302
313
231
271
285
296
317
326
285
330
277
357
293
276
338
356
352
334
348
301
267
331
334
256
236
193
345
318
349
406
341
275
403
242
253
309
397
303
441
309
301
314
283
333
428
285
458
245
265
303
290
380
340
291
290
288
337
351
271
260
301
354
335
302
315
318
345
292
340
357
298
318
351
226
291
336
291
256
267
292
338
292
264
315
317
385
297
299
348
259
241
319
312
367
240
289
261
280
287
348
384
278
311
306
351
269
294
332
327
323
326
348
311
320
194
415
294
257
366
284
366
389
312
422
326
254
305
267
300
306
340
311
362
298
328
322
248
306
278
403
331
323
279
334
356
286
328
343
279
362
399
285
216
357
295
270
282
358
281
273
291
301
291
332
297
361
348
365
257
354
314
284
373
314
339
238
385
226
314
315
244
306
376
337
365
386
273
338
322
261
332
302
359
363
324
214
266
267
275
277
361
312
333
347
291
351
268
303
277
228
276
327
335
336
271
302
272
289
331
310
402
289
288
312
349
264
325
357
341
364
277
345
304
209
426
339
327
288
236
199
235
300
380
287
342
384
392
191
299
336
359
326
306
359
331
323
380
316
328
289
262
313
291
406
348
290
270
296
335
360
326
256
340
292
300
234
301
300
339
310
312
341
316
293
310
303
288
453
397
236
321
346
361
252
219
380
345
293
344
408
328
221
294
316
326
330
302
291
341
279
314
335
304
344
306
340
328
280
227
332
293
363
288
294
320
300
373
226
303
375
378
308
335
325
303
363
238
294
370
423
276
282
318
323
353
235
309
360
370
286
274
274
324
322
377
370
278
240
328
280
314
304
396
340
281
312
306
331
294
357
343
330
266
352
337
383
295
338
287
339
326
319
261
356
376
315
240
286
359
230
306
328
358
301
239
177
283
302
382
343
338
296
314
279
347
271
408
283
364
261
380
333
313
299
274
313
286
287
290
302
219
395
313
280
313
361
312
229
352
385
334
342
386
262
286
332
334
312
224
320
314
313
339
334
423
293
258
329
340
337
216
249
224
343
295
307
236
323
311
277
332
282
329
329
350
286
282
380
288
311
300
254
287
341
335
232
346
273
287
286
205
291
305
289
371
309
322
293
334
282
349
265
356
337
359
358
384
304
291
284
360
288
263
286
324
291
287
343
244
273
348
286
363
325
328
334
328
272
321
377
281
269
280
341
285
355
350
193
233
252
328
323
269
345
342
312
299
289
314
326
357
325
368
253
322
374
365
345
342
227
312
347
332
292
324
295
383
382
261
304
365
369
376
359
393
329
379
395
278
316
394
253
376
331
327
402
332
369
284
337
332
336
219
352
328
385
299
337
359
330
309
207
242
327
338
341
339
398
346
262
326
286
304
320
351
302
371
207
250
242
277
340
268
321
316
342
310
356
331
337
270
308
302
197
274
273
342
311
338
332
281
300
261
351
243
343
345
326
315
265
297
322
314
348
345
318
363
368
309
291
371
436
259
323
263
330
368
356
384
295
367
332
366
272
356
366
279
334
290
314
393
318
289
225
152
279
360
339
348
322
320
404
265
242
174
313
310
309
386
325
236
360
278
257
245
286
315
295
243
345
319
304
326
258
260
287
268
306
362
306
234
362
329
342
283
264
379
322
313
360
283
240
331
314
367
255
331
297
327
217
281
292
352
286
348
277
371
241
383
297
418
362
238
289
351
377
296
295
379
354
313
282
350
240
311
279
410
358
348
266
360
271
333
311
297
317
391
320
346
302
368
297
246
384
358
325
326
230
349
329
331
330
357
283
231
334
318
378
254
301
321
365
256
260
323
351
284
297
328
289
222
263
351
369
332
257
293
291
310
269
320
391
332
180
333
275
300
364
267
341
302
333
354
336
286
285
346
300
347
311
222
327
305
363
315
300
259
267
424
372
357
334
325
326
355
322
367
235
306
358
337
280
319
291
326
335
370
308
307
351
281
320
291
364
357
330
273
296
304
296
334
248
330
286
297
345
349
357
249
261
385
371
333
286
201
258
261
249
299
283
283
334
314
299
317
339
326
256
319
265
257
298
292
284
366
368
328
320
267
332
347
298
223
316
298
291
303
359
344
329
261
275
354
408
292
303
278
263
260
263
302
298
285
386
338
281
303
304
272
337
435
386
258
337
295
268
289
281
303
207
307
277
340
255
264
304
322
353
322
344
330
327
300
345
282
280
265
366
386
265
356
286
406
304
321
347
302
356
318
272
349
307
337
350
299
393
284
379
354
308
340
305
301
326
338
335
269
302
259
302
321
307
287
310
400
287
344
297
358
356
358
315
373
270
309
321
332
369
370
302
398
360
306
393
329
287
342
268
376
293
228
377
285
297
380
331
341
317
324
369
385
435
322
315
312
352
342
334
328
355
387
306
350
295
285
330
322
356
339
304
320
363
331
356
335
323
328
284
308
300
246
323
316
349
390
293
324
335
342
300
311
365
304
349
309
233
331
293
380
321
386
356
348
343
346
268
248
373
305
222
302
354
418
351
361
332
333
369
361
340
345
282
309
377
304
342
332
332
280
305
355
305
344
368
350
297
268
337
297
336
338
313
232
340
339
329
292
254
396
255
322
340
345
293
373
293
353
304
274
231
318
362
395
331
325
354
302
327
291
356
206
250
264
289
353
271
380
321
264
310
393
323
287
310
352
314
324
367
290
402
298
339
247
296
340
336
280
279
276
358
236
366
336
345
358
265
301
367
303
324
281
336
313
336
283
328
388
275
380
335
316
344
283
374
348
244
310
265
409
362
337
343
339
327
267
281
319
241
359
347
324
405
332
250
353
242
247
318
302
298
334
254
263
335
285
300
260
294
263
347
324
383
315
375
301
347
347
341
295
302
327
280
354
307
302
272
391
272
374
303
367
290
354
319
245
327
352
328
359
313
383
432
290
310
269
269
293
287
390
326
329
291
373
325
262
300
352
327
343
257
325
331
279
389
220
278
271
348
331
299
269
279
292
398
279
279
308
239
304
364
284
312
263
297
318
273
287
280
400
342
341
191
338
304
333
331
277
302
329
385
324
372
352
342
296
299
301
316
298
313
319
269
335
269
215
311
275
302
320
302
304
311
321
374
265
308
354
282
344
221
381
238
305
331
338
303
292
310
320
284
309
325
280
320
299
335
371
271
346
223
339
252
290
368
262
256
314
273
246
293
238
286
305
301
300
325
329
362
320
342
259
275
325
380
280
327
341
376
354
397
260
259
363
278
350
369
293
309
340
369
302
282
388
322
314
348
364
361
355
302
309
307
331
252
378
240
352
293
316
295
288
382
313
323
382
256
261
289
318
395
340
323
312
294
255
332
301
265
342
389
404
355
328
323
276
331
339
306
307
349
369
397
247
373
254
288
275
326
284
328
370
337
328
307
403
370
329
374
298
195
288
308
262
287
340
384
343
284
319
304
346
250
388
349
267
384
296
280
313
236
318
301
265
372
340
321
355
363
356
288
411
382
226
363
293
295
262
364
339
313
335
352
307
244
323
336
323
300
327
266
265
366
312
313
199
259
286
311
403
285
299
267
373
302
355
325
308
259
331
323
302
411
323
224
321
339
299
311
334
274
268
348
359
332
324
288
270
335
319
267
214
357
359
270
280
324
345
287
255
310
334
295
284
310
378
402
378
374
377
349
317
263
354
293
365
348
269
315
268
282
274
377
260
321
279
374
295
351
261
330
272
365
309
315
302
272
292
366
388
277
282
396
358
296
303
298
283
304
372
243
346
328
203
302
346
373
294
292
393
317
362
361
357
280
199
318
291
351
303
338
271
331
305
348
279
316
322
347
284
296
315
273
349
317
315
385
286
420
363
277
217
256
205
344
364
353
408
208
269
264
237
345
345
378
322
254
318
261
355
252
330
357
345
317
361
287
310
301
381
258
228
241
311
308
388
273
262
319
413
408
223
336
308
260
377
344
305
338
299
300
295
317
330
349
316
311
386
343
343
337
328
362
395
343
363
306
314
365
358
338
247
302
312
321
286
289
305
344
395
340
334
281
312
310
416
413
363
230
329
399
313
246
368
248
343
278
331
329
314
345
311
346
276
405
380
313
309
270
314
276
264
300
314
276
334
300
351
304
377
312
341
213
381
273
320
329
318
268
305
320
324
327
289
341
340
358
307
317
372
324
248
226
371
314
231
319
246
248
248
265
401
315
352
264
303
350
252
254
345
207
285
327
278
237
322
242
326
303
289
231
362
287
319
325
283
321
343
323
244
310
252
316
295
322
266
283
279
374
330
334
326
364
301
303
275
358
340
283
310
351
332
384
286
304
232
306
368
248
324
354
268
385
266
264
372
370
373
288
319
251
350
249
373
347
269
325
212
301
308
301
254
355
323
288
288
370
285
285
321
275
379
226
379
313
249
324
275
293
341
221
279
262
314
281
249
258
315
289
375
288
354
317
327
300
313
308
359
270
307
428
363
244
320
347
357
359
350
354
257
329
296
293
273
310
258
336
318
273
294
301
375
254
285
255
342
359
289
316
363
262
359
317
309
348
346
262
345
282
331
320
278
357
268
395
329
285
356
306
200
352
260
375
243
322
284
262
316
312
284
294
308
324
317
307
272
284
297
279
347
252
269
274
393
274
342
228
299
340
347
387
315
318
334
336
345
301
275
358
312
326
286
333
402
333
262
300
355
352
361
328
403
330
253
365
265
401
329
215
296
356
328
262
292
305
344
351
249
314
348
310
333
353
345
271
294
341
269
339
361
299
274
304
342
280
289
320
319
282
313
346
274
303
288
317
323
346
191
314
296
362
314
365
229
278
254
306
267
270
313
288
395
293
415
222
306
341
348
318
265
228
366
364
316
225
280
342
307
361
305
287
282
266
349
312
336
355
335
320
364
353
314
346
259
378
288
342
308
343
266
297
270
305
299
370
241
388
309
347
346
329
345
322
371
346
288
330
362
413
310
171
333
262
329
335
322
349
301
323
369
329
312
283
287
331
314
292
241
358
329
403
314
300
402
262
323
298
250
333
288
328
326
364
385
320
249
267
274
240
327
289
368
274
302
259
326
272
258
286
354
348
353
403
348
327
291
335
337
206
275
190
394
306
338
229
254
304
379
402
320
289
297
397
290
337
375
309
301
235
271
282
365
337
326
282
290
320
281
289
283
307
288
276
292
271
296
334
306
289
284
209
271
395
329
360
354
380
319
299
296
254
307
278
332
383
363
226
277
384
252
295
320
357
348
307
261
340
355
266
314
351
331
294
252
396
323
274
371
292
259
276
283
305
322
294
268
394
354
363
279
364
316
296
342
228
291
297
313
282
337
296
220
323
321
314
346
248
348
356
388
252
307
280
264
362
366
333
347
282
322
344
270
280
342
310
255
275
340
365
389
331
250
267
309
371
253
324
344
294
295
285
311
269
333
297
360
276
249
308
320
270
253
288
317
382
344
326
308
272
321
294
352
292
303
363
258
366
274
356
378
349
297
297
388
338
236
306
337
372
267
305
278
304
334
304
337
246
324
249
360
309
316
297
355
275
312
255
339
357
354
341
283
274
309
191
271
228
278
336
349
364
273
305
346
342
315
399
281
315
310
355
354
323
352
409
389
316
348
202
332
260
234
305
348
393
338
264
299
322
294
349
307
369
358
241
222
328
265
253
280
381
419
333
303
277
356
367
262
378
236
290
315
325
326
358
240
296
223
294
288
346
343
304
246
327
291
315
254
320
250
295
359
337
247
268
418
331
300
367
348
307
276
301
203
253
264
342
288
291
299
305
316
351
350
315
350
309
267
250
244
303
322
280
294
321
361
314
289
380
264
325
348
317
352
242
336
270
298
303
259
332
351
382
312
293
387
331
315
286
303
344
395
353
295
383
388
367
224
244
327
307
225
273
221
295
341
360
336
321
275
309
326
366
331
280
319
397
255
361
395
282
364
173
213
344
291
358
224
302
384
372
266
282
333
400
299
306
331
344
255
206
273
394
348
346
329
318
329
331
293
348
403
256
319
314
332
314
356
337
326
313
257
292
328
350
395
241
249
325
343
305
333
294
260
355
379
297
310
296
327
331
309
243
249
391
368
325
345
277
343
317
284
282
319
275
332
427
287
306
351
318
344
259
327
329
375
264
375
341
385
297
340
329
329
337
316
366
287
363
296
376
275
291
310
337
260
328
189
344
313
291
288
350
325
250
326
367
313
215
323
329
319
252
334
275
316
192
369
385
305
345
290
270
291
396
329
286
387
284
336
319
377
335
234
225
334
299
316
346
331
274
332
368
272
286
369
318
293
328
381
385
353
274
323
306
298
393
376
353
320
383
327
297
353
297
303
394
342
376
299
351
354
357
268
288
282
287
280
303
314
380
230
346
394
275
304
319
210
344
341
247
276
298
361
247
316
313
306
306
370
286
296
344
331
311
321
298
328
326
342
276
294
319
392
318
314
243
247
326
233
307
357
286
381
306
298
404
357
265
419
309
319
411
311
310
264
310
347
316
369
319
343
349
339
313
326
298
261
368
278
295
230
293
385
373
286
341
269
402
361
272
276
353
294
324
299
268
384
222
221
268
241
379
389
288
283
319
340
274
344
287
322
263
255
321
361
344
258
315
285
263
363
243
191
348
295
307
366
248
307
260
290
333
355
278
333
307
357
316
267
217
235
265
311
268
301
354
374
329
376
361
401
301
307
351
336
288
308
309
322
344
327
270
272
300
366
327
285
354
320
335
395
365
365
324
353
388
384
283
318
280
365
381
341
356
313
362
367
301
381
294
355
311
264
316
380
269
343
257
318
332
325
302
331
336
323
296
344
365
325
393
303
252
352
268
313
217
292
304
349
235
304
297
250
233
292
312
391
394
372
254
272
332
323
348
339
225
370
335
281
284
349
332
359
268
376
381
315
347
354
315
296
274
339
288
343
234
374
293
308
321
335
345
210
306
350
323
368
301
205
313
310
349
360
347
330
351
270
374
338
338
366
297
233
322
280
344
338
368
324
292
276
301
293
284
322
315
321
357
324
346
353
342
345
333
301
319
283
364
339
283
416
324
312
315
385
287
235
336
328
303
371
299
344
354
368
276
293
257
391
375
305
281
362
250
369
371
356
243
324
389
338
338
290
338
350
342
260
331
299
306
340
341
285
257
298
292
291
331
395
324
374
245
229
340
374
262
337
326
353
354
340
379
340
409
297
315
401
263
278
300
310
399
326
315
360
323
326
230
214
323
328
318
335
269
341
347
325
340
291
341
269
259
295
229
272
353
259
217
283
296
238
269
246
368
277
270
340
299
288
311
276
322
286
296
341
341
308
317
354
303
339
293
360
275
346
337
390
330
269
274
246
310
327
361
324
253
342
307
298
279
347
296
293
196
312
270
265
305
260
349
301
330
342
334
258
245
269
398
295
396
323
354
350
355
400
258
329
263
412
367
396
349
214
309
333
358
288
225
318
308
408
311
287
340
288
255
401
361
314
266
317
345
337
335
351
298
377
244
291
364
284
398
273
354
294
281
304
228
336
299
337
328
239
375
388
286
284
282
300
262
368
267
362
354
294
359
248
322
416
329
291
286
325
394
301
317
289
251
361
287
327
277
334
311
279
341
360
319
270
304
386
332
274
250
300
274
365
253
306
320
289
233
314
440
278
308
224
306
280
296
360
184
279
317
218
270
305
242
319
283
298
313
285
284
310
259
251
242
370
269
343
324
421
290
300
309
396
232
235
305
329
402
309
365
328
362
320
387
329
330
366
464
318
401
336
290
305
320
312
415
283
292
384
379
363
259
284
344
353
378
283
381
322
248
405
365
262
216
256
357
259
333
283
304
286
321
330
306
277
316
241
300
322
298
290
228
317
288
269
385
226
318
369
323
307
307
376
443
296
273
198
299
256
341
234
306
305
359
334
313
392
286
279
235
328
247
335
299
255
275
345
405
278
286
276
340
326
281
383
323
390
330
371
411
330
297
250
267
309
341
384
251
339
337
303
317
281
239
340
305
336
270
356
336
299
293
334
381
344
365
356
299
410
284
325
269
234
270
329
347
343
339
276
359
356
364
318
384
280
320
349
311
287
296
318
313
287
372
294
297
275
310
414
377
332
337
349
247
373
368
289
362
306
304
346
296
313
383
304
348
401
281
303
295
349
313
330
215
302
333
325
280
305
271
327
336
326
279
244
267
315
324
362
306
287
308
231
363
374
303
352
361
257
350
304
331
281
377
345
212
444
422
347
227
364
347
358
326
270
419
318
342
349
311
363
239
289
329
321
292
375
316
312
302
344
282
292
328
381
381
383
289
328
365
306
284
313
376
258
365
292
334
342
275
291
363
317
323
359
296
335
229
341
307
244
350
283
341
281
317
352
416
300
366
295
366
278
277
305
312
291
308
346
275
277
406
287
348
336
294
352
386
321
375
284
272
281
328
220
321
365
384
344
334
263
260
333
294
316
333
330
363
276
194
237
322
392
385
273
343
334
339
300
349
359
302
318
360
344
273
269
303
319
320
310
253
313
429
355
374
269
398
238
268
334
345
279
374
326
253
373
270
303
269
326
287
417
353
297
307
313
278
252
312
301
371
347
292
324
334
372
318
382
296
266
336
353
318
347
377
379
303
323
363
246
367
341
354
309
323
377
389
361
403
405
276
284
278
278
399
288
390
259
344
342
315
360
253
201
319
345
321
290
342
276
330
341
358
274
266
268
327
226
331
253
283
303
336
337
257
355
256
347
219
356
321
399
283
309
282
209
311
371
336
255
337
229
284
331
260
223
342
339
401
286
356
274
363
271
321
301
330
366
324
305
286
269
322
335
395
361
289
293
336
359
235
219
325
389
266
349
331
349
335
219
334
363
295
415
318
282
276
310
299
344
337
338
364
255
326
325
356
283
312
385
241
327
305
358
284
319
336
307
325
323
223
354
297
267
249
313
295
406
231
212
316
273
278
260
286
330
349
241
334
348
278
268
375
328
253
277
340
320
405
348
304
320
346
341
295
344
418
334
315
225
321
341
199
426
316
318
311
182
337
318
294
294
334
322
306
304
383
235
246
317
382
236
303
310
303
302
374
337
339
292
335
323
200
383
416
331
302
334
360
267
318
255
343
239
308
303
303
344
371
355
343
356
368
293
295
352
328
369
279
368
217
280
297
189
259
354
319
307
272
345
309
400
328
361
309
266
362
351
338
300
297
346
288
400
264
278
237
279
259
330
360
326
388
338
271
307
283
376
339
327
354
358
328
256
302
347
363
378
271
274
272
341
383
372
340
279
275
328
290
341
254
297
306
235
351
314
252
381
285
308
281
303
337
288
295
343
361
271
276
283
337
343
275
305
306
219
340
255
373
371
347
294
316
271
349
257
315
377
357
292
297
311
337
258
248
315
296
294
295
334
271
318
333
281
303
307
280
300
329
390
340
234
366
299
336
269
282
289
341
262
331
359
353
225
392
295
339
315
255
309
358
389
316
271
336
280
310
310
279
342
212
310
291
398
325
369
392
368
349
279
267
309
313
363
315
237
324
283
360
371
324
255
329
340
252
354
359
385
335
301
318
254
252
280
261
373
358
276
383
293
292
304
330
240
295
324
320
257
281
299
395
344
349
324
269
371
346
315
420
296
389
344
297
382
361
298
314
230
304
344
264
255
288
337
302
435
358
367
291
384
309
337
364
272
322
387
360
344
356
374
328
368
314
347
313
339
311
242
252
338
398
286
281
278
368
369
216
276
227
297
334
281
322
317
252
276
349
244
258
305
352
223
321
328
276
290
352
399
332
258
330
391
349
451
330
269
284
294
249
311
272
316
354
371
286
282
299
245
239
276
351
308
295
313
331
379
336
324
387
375
269
333
362
346
332
260
293
322
365
327
274
272
398
400
304
318
227
240
215
232
305
388
344
271
338
268
245
363
288
290
325
319
298
309
249
283
334
261
372
341
320
328
286
268
328
335
301
280
299
303
282
294
286
327
269
360
334
366
325
323
389
373
235
314
351
383
279
311
282
401
319
334
323
291
249
304
270
293
329
291
299
275
368
267
273
319
302
336
333
391
308
278
210
267
318
235
335
264
336
309
289
362
282
267
345
282
312
362
293
354
327
315
333
294
381
219
331
293
301
380
330
274
425
329
343
368
365
247
265
296
380
368
280
298
378
332
323
336
307
371
327
270
313
373
355
349
331
290
233
264
381
283
386
267
388
352
286
294
392
339
299
333
327
349
275
333
313
295
321
354
308
253
275
340
284
287
399
318
294
300
334
287
365
374
286
345
273
241
327
400
329
302
248
287
278
252
287
215
318
257
308
267
362
344
278
320
378
296
397
347
411
403
308
305
295
253
447
274
337
327
322
335
346
350
412
238
306
414
271
258
321
325
273
309
315
356
357
316
273
400
341
273
340
303
316
282
338
329
381
279
267
336
255
339
255
371
245
295
345
283
312
346
302
281
317
352
322
359
315
210
289
354
348
309
309
296
429
337
382
259
324
283
349
353
394
378
312
400
297
311
339
313
255
373
303
288
304
367
332
315
302
384
338
316
322
337
286
307
274
322
331
286
273
338
314
374
225
311
242
370
301
328
274
341
355
314
305
271
354
334
319
347
400
313
330
313
304
308
286
428
305
359
324
410
244
295
414
291
348
295
384
304
251
330
302
255
241
258
292
304
300
368
315
297
400
311
243
323
315
302
299
351
296
266
398
324
307
325
341
310
308
340
249
326
314
320
347
213
232
299
284
243
301
361
282
339
371
309
266
269
288
394
357
361
363
360
237
316
351
352
306
319
308
298
317
353
358
369
314
351
309
412
329
244
364
381
350
340
248
266
321
272
388
341
276
278
218
292
264
304
328
346
337
375
331
388
355
298
197
257
338
337
323
266
228
279
338
260
296
313
332
377
357
207
291
356
298
269
288
343
340
309
291
285
241
351
335
362
362
273
339
362
233
342
255
269
381
276
307
263
345
356
359
335
307
362
308
374
371
352
258
257
351
321
311
294
300
336
370
319
264
266
333
219
316
328
310
243
338
322
341
267
326
358
274
339
328
370
370
264
331
249
333
369
335
312
339
351
330
259
321
375
236
363
392
282
302
284
351
278
292
306
352
333
261
383
326
313
373
380
377
315
336
404
342
276
234
281
211
341
306
342
341
317
247
258
367
271
353
238
328
216
364
283
237
304
226
261
317
294
366
268
348
387
299
292
348
349
321
296
345
279
305
316
293
317
331
283
272
275
314
287
318
269
300
301
296
320
368
296
233
280
361
368
347
296
332
264
296
241
338
352
400
375
257
372
266
300
250
335
334
331
244
189
249
280
341
306
312
318
309
393
336
324
313
343
379
276
332
408
331
316
382
285
360
293
323
355
266
249
356
284
340
270
273
231
308
327
355
414
340
301
366
276
273
293
200
291
343
301
294
227
300
305
272
303
339
339
349
302
334
402
343
376
332
262
361
314
318
318
326
351
294
316
361
327
356
350
242
311
312
420
320
266
303
359
315
369
354
297
370
344
343
380
216
333
254
274
396
324
262
354
361
359
308
351
277
357
322
318
295
252
397
368
310
346
281
221
245
283
382
385
327
275
293
263
296
270
271
299
334
365
359
339
303
327
304
347
395
210
377
348
294
325
397
277
291
317
283
283
224
359
263
306
298
380
348
306
205
239
307
327
378
388
355
243
284
278
326
215
364
308
271
296
303
323
279
279
301
341
269
359
337
298
318
232
366
337
235
282
332
327
321
332
337
297
284
420
256
357
339
259
421
313
331
234
393
273
342
245
344
370
356
373
287
317
335
219
306
189
308
268
310
273
235
248
325
283
268
310
280
259
304
316
312
332
327
304
295
348
275
209
221
318
415
285
335
253
343
322
269
292
389
393
301
406
314
302
447
340
321
344
289
214
348
319
310
367
220
297
237
337
298
351
247
323
411
305
345
299
328
336
354
308
331
247
313
296
359
357
352
282
240
276
273
295
219
279
346
287
317
320
299
271
292
251
351
252
355
293
268
321
387
301
297
329
259
349
298
257
316
300
327
387
361
274
317
243
262
274
248
298
277
382
345
408
299
323
295
313
294
333
393
270
256
309
274
348
308
292
263
364
324
352
240
321
307
374
404
305
331
286
288
357
314
277
320
335
287
276
296
321
292
361
384
252
376
335
380
409
354
282
375
222
334
302
205
354
250
301
348
293
355
356
326
328
274
425
303
282
322
301
355
357
351
366
347
329
332
339
357
294
321
298
241
364
392
306
328
378
383
420
310
414
319
336
331
360
258
331
281
376
288
274
400
350
391
280
391
342
368
287
282
320
290
337
404
178
366
380
399
355
401
234
294
348
295
243
245
291
286
266
334
329
296
255
339
265
289
293
261
336
332
365
360
309
350
314
413
311
338
319
365
405
247
336
291
337
414
298
306
210
306
318
372
264
375
265
324
287
344
288
291
355
310
288
319
272
340
310
305
360
321
298
406
347
287
346
376
302
310
342
402
380
261
354
304
371
275
285
269
325
333
355
350
298
299
355
303
359
400
356
426
310
246
339
315
247
268
317
217
329
291
260
285
338
333
428
341
246
382
315
231
316
282
293
298
277
275
253
313
169
294
383
327
310
346
278
363
336
275
270
336
301
320
285
330
273
324
375
308
216
278
296
310
327
269
395
263
325
315
305
265
279
245
326
275
353
300
332
280
247
320
319
333
275
230
321
331
295
361
284
343
330
277
269
303
391
383
377
356
329
313
340
288
392
400
236
350
358
257
268
375
292
344
317
293
427
255
273
394
328
299
327
387
300
372
308
340
317
342
370
301
253
329
360
313
284
341
296
315
313
328
327
265
347
345
392
391
338
259
320
457
329
274
375
296
352
413
343
386
355
317
250
283
390
290
393
262
229
372
215
251
257
333
283
322
299
323
446
302
334
334
339
284
362
344
319
293
298
292
344
245
291
241
316
318
302
248
303
225
228
332
424
306
337
346
286
225
391
323
266
320
287
344
281
321
256
258
350
360
257
376
247
231
249
316
236
293
327
358
385
305
314
330
355
326
370
303
358
316
295
379
357
365
265
305
305
328
370
278
277
300
318
232
318
322
315
393
382
355
272
319
309
301
290
328
354
288
327
330
250
332
346
302
249
297
256
238
277
301
320
377
378
341
289
352
320
344
316
327
309
291
306
300
259
279
332
252
227
352
311
336
316
296
392
359
339
333
342
352
318
358
309
275
293
347
287
322
294
376
271
375
285
323
269
246
280
329
344
259
272
303
350
306
292
311
308
323
370
264
359
376
339
327
399
327
410
260
349
314
282
334
343
286
290
336
354
335
349
264
412
344
406
286
370
319
378
343
269
262
298
332
326
293
364
252
330
324
339
297
317
281
352
307
368
312
353
313
312
341
335
291
344
330
267
219
372
274
341
298
394
339
328
265
302
354
222
253
326
356
333
363
300
350
268
251
289
309
210
316
254
340
295
360
236
360
369
263
306
310
301
288
335
264
365
376
242
333
225
300
288
304
329
366
306
310
350
254
388
347
241
315
303
194
331
311
309
339
353
340
361
331
338
286
315
337
384
341
283
398
196
272
285
341
294
257
332
296
310
250
295
226
366
291
346
297
389
357
347
349
311
222
311
384
223
361
325
308
401
321
311
288
243
315
356
347
300
319
311
304
266
210
330
342
311
326
304
342
290
260
214
404
341
277
317
308
393
299
315
383
310
337
270
283
266
347
332
322
279
323
315
333
269
301
316
378
245
236
346
300
294
292
318
319
250
378
271
383
317
341
334
255
339
423
355
251
307
326
289
335
311
276
301
348
345
276
355
349
319
283
420
300
282
195
379
276
300
323
274
256
437
355
360
292
262
303
310
300
359
276
350
319
337
291
341
291
384
325
354
316
281
327
372
257
322
298
281
309
334
314
318
359
303
299
369
265
405
285
290
375
361
254
314
344
379
345
268
343
317
284
249
309
313
330
347
295
312
340
386
325
280
384
380
318
268
315
247
296
376
355
295
320
305
291
276
379
416
339
367
282
259
284
307
336
342
309
324
319
222
301
371
252
296
321
327
365
372
284
307
305
236
305
246
303
302
299
346
301
344
229
209
363
225
224
336
274
270
276
297
327
229
241
316
358
324
303
255
363
322
306
304
365
294
397
388
358
267
251
284
312
232
373
378
306
266
241
408
270
262
171
304
244
321
199
321
312
245
225
324
258
326
262
286
359
289
311
288
266
296
343
344
361
346
301
268
259
306
316
335
266
334
305
355
234
247
216
230
235
342
272
295
293
244
342
277
277
338
273
338
195
256
272
280
362
300
385
305
337
349
298
333
239
272
362
311
406
340
319
417
285
298
287
351
315
254
280
257
357
366
330
253
385
371
298
290
300
301
324
281
388
354
212
354
358
323
376
353
337
345
317
287
304
293
223
287
304
293
354
359
347
320
319
254
285
326
369
336
322
343
280
298
361
242
351
347
279
355
330
248
365
303
264
311
280
210
266
337
330
308
340
352
187
291
276
294
396
256
353
295
344
244
244
324
358
273
303
319
359
325
317
330
302
323
274
314
371
341
316
328
344
332
336
247
331
327
333
404
294
292
316
313
333
263
245
399
309
300
290
290
258
306
299
362
261
402
294
290
315
388
332
290
361
275
270
286
281
305
320
309
323
290
328
332
282
306
239
349
255
256
373
275
292
395
296
383
359
362
390
286
369
331
323
341
295
338
375
353
305
220
318
342
263
360
311
353
279
369
340
354
342
257
362
316
326
350
319
335
335
321
251
365
324
331
275
309
302
218
342
267
352
315
305
377
371
294
318
337
267
320
322
293
341
379
261
365
387
282
385
323
314
254
378
309
238
305
263
355
314
312
332
403
377
393
328
298
330
416
381
210
311
300
289
341
300
349
292
327
323
336
305
242
338
263
298
318
351
424
275
264
275
363
345
290
343
344
344
367
356
252
247
330
256
335
338
236
358
361
305
325
357
253
313
294
383
277
380
339
267
246
330
348
298
319
269
320
331
253
250
325
352
299
283
259
316
284
367
265
313
276
346
356
286
314
321
366
296
249
347
381
297
297
413
227
259
333
260
298
298
270
257
291
306
359
293
252
361
308
254
329
342
267
308
360
293
322
332
379
300
311
363
284
313
264
331
300
351
376
239
294
221
282
347
320
281
268
288
243
326
389
347
313
383
252
318
294
288
291
319
333
336
329
376
226
301
224
262
384
308
303
328
280
282
286
304
347
284
397
335
310
314
215
316
310
324
249
354
325
288
293
359
322
327
317
348
317
240
280
354
283
336
342
267
297
339
288
327
331
415
316
297
303
351
352
389
302
318
316
376
290
288
302
322
319
324
296
340
353
245
356
275
375
354
315
334
338
346
312
321
319
306
321
374
268
372
286
296
336
306
192
405
350
353
286
330
268
279
336
257
349
315
361
302
355
293
379
337
325
328
397
342
315
345
408
300
379
337
353
365
309
303
337
292
329
311
351
361
221
336
369
293
362
315
311
282
356
331
360
260
263
222
323
268
338
283
322
332
356
223
290
281
281
288
248
275
253
336
286
413
323
411
369
308
319
308
371
404
289
308
321
304
265
272
332
290
392
378
309
286
316
317
342
379
317
299
390
238
291
323
323
284
238
316
252
276
256
348
316
248
366
303
309
357
253
388
281
316
285
243
402
359
307
359
288
288
350
297
312
290
316
318
231
338
343
324
297
275
353
338
283
369
328
319
243
311
303
298
335
294
287
326
322
345
275
323
315
425
278
335
335
341
358
317
314
328
314
315
333
297
316
319
254
309
319
338
329
357
314
321
351
356
355
329
370
308
393
274
305
347
262
318
315
305
275
296
348
346
351
315
284
292
288
311
320
298
270
318
266
364
326
313
339
284
316
351
243
384
321
287
338
382
332
275
256
317
350
265
254
334
338
355
261
286
292
377
348
299
305
222
308
216
279
390
324
332
325
239
359
312
311
313
332
312
293
264
335
302
349
339
286
333
230
363
299
318
354
326
288
381
301
274
261
233
327
366
322
340
391
325
350
334
320
325
378
294
328
347
375
315
303
331
373
348
325
259
348
396
299
311
327
236
228
297
336
340
346
297
329
340
298
284
277
264
249
275
417
319
348
341
319
218
337
292
336
295
356
197
235
212
355
336
276
273
326
299
361
414
245
349
277
365
291
243
295
308
338
334
329
347
301
277
305
278
237
375
259
342
336
315
328
327
318
380
263
328
278
360
276
358
283
432
315
346
294
359
349
329
325
417
358
291
285
391
350
341
307
237
297
248
376
277
348
339
318
363
344
343
269
301
259
252
311
337
220
266
297
280
169
354
406
372
367
278
286
283
344
291
337
230
285
264
380
337
331
337
349
286
354
310
363
294
370
285
340
290
307
366
274
328
221
293
284
331
349
321
380
330
371
283
287
276
286
275
300
291
325
313
337
366
301
362
255
311
293
384
285
321
268
374
277
349
230
350
404
280
305
308
325
365
305
313
307
383
334
311
373
414
264
270
342
353
278
357
359
248
355
396
267
384
290
308
392
352
284
310
307
315
365
373
257
303
372
318
290
262
267
322
357
339
303
342
388
381
273
360
287
316
313
322
322
232
327
316
364
320
254
292
304
262
345
365
322
287
302
366
368
323
320
220
347
232
284
259
208
333
252
282
264
341
303
348
319
214
344
325
365
368
356
369
346
303
300
277
373
335
224
315
349
292
300
300
350
349
297
322
323
352
295
363
300
348
322
356
237
308
332
316
304
283
300
279
316
256
340
314
333
320
334
250
327
276
298
342
301
378
336
389
305
369
360
346
326
262
369
355
371
322
331
391
314
320
315
319
280
316
250
314
273
296
384
382
306
340
339
259
284
287
304
299
340
329
205
298
327
392
291
300
339
309
261
278
348
353
358
306
364
302
294
266
297
283
249
312
271
453
320
268
271
397
341
265
331
415
367
292
314
335
315
258
351
348
329
250
353
325
300
312
333
269
371
288
393
421
322
357
331
323
340
338
296
379
316
297
325
286
269
340
329
369
323
334
289
277
270
331
213
379
219
275
307
262
332
342
219
350
296
335
320
319
302
247
295
263
287
301
356
294
363
273
327
334
309
310
297
260
358
272
310
352
253
240
296
358
250
308
339
336
349
363
318
214
344
287
263
262
375
332
254
275
339
261
345
320
311
309
272
323
260
382
232
306
286
327
318
261
348
332
351
325
348
249
297
324
283
294
361
365
292
361
346
263
238
350
284
330
284
316
314
281
290
357
244
337
197
416
309
260
285
275
338
287
267
343
294
361
382
295
363
362
305
295
334
235
378
279
287
314
319
325
286
353
314
317
289
273
314
304
342
326
297
352
379
325
392
219
307
264
335
229
305
281
366
243
363
298
420
275
331
246
356
198
272
422
362
393
330
283
229
302
331
324
253
336
344
218
331
269
349
320
313
321
396
238
337
259
351
333
200
331
351
324
273
275
340
207
317
362
214
365
349
352
317
287
405
295
319
316
287
384
338
368
339
347
318
388
285
262
246
281
220
303
347
276
319
366
275
232
300
245
434
278
333
349
311
345
285
372
322
316
276
258
355
337
379
336
277
324
234
340
315
248
375
197
259
255
316
364
303
262
252
259
367
331
411
312
272
330
311
292
335
365
415
363
323
300
327
249
368
280
353
281
305
333
271
362
284
214
345
355
255
349
313
318
252
324
270
352
244
369
280
300
260
343
337
348
345
358
321
234
346
279
257
301
377
381
245
277
321
273
245
410
273
256
336
353
295
251
295
331
416
290
295
305
252
303
413
336
332
287
307
325
303
278
327
287
269
264
364
304
327
314
273
374
320
329
294
387
372
298
318
254
310
262
363
294
340
349
359
346
270
213
349
304
324
275
322
403
264
311
390
322
360
294
276
343
364
283
375
292
291
285
316
399
339
320
346
296
267
344
352
375
352
384
334
351
330
258
390
234
383
298
346
313
400
322
379
246
246
230
295
297
233
282
280
336
271
332
360
233
264
214
325
282
256
196
274
242
334
334
338
365
331
285
351
305
307
275
325
373
308
223
278
417
277
375
310
338
361
265
250
377
357
360
395
387
407
306
357
265
305
367
277
281
283
275
284
350
354
250
297
295
351
428
291
351
380
320
308
296
319
378
264
266
320
354
226
281
327
274
312
241
261
383
282
292
250
303
369
257
275
328
314
344
259
372
272
331
247
331
335
270
335
283
317
302
311
269
357
317
350
223
283
375
357
386
330
384
382
369
417
231
300
261
356
374
312
348
301
313
286
304
314
305
374
375
390
341
273
352
356
258
256
405
380
211
344
298
238
257
363
346
372
357
379
256
255
315
307
287
398
246
343
335
362
338
327
306
340
279
359
260
339
341
288
312
267
315
313
343
372
369
277
282
350
328
335
318
321
422
422
293
372
325
275
278
286
299
255
300
290
300
267
344
322
291
251
375
295
220
272
257
314
334
341
291
325
352
298
311
212
310
357
361
398
348
329
312
316
310
329
319
325
311
268
369
378
294
313
284
254
256
319
253
315
308
334
336
367
388
434
277
270
368
334
307
278
252
353
385
331
309
254
314
229
364
322
304
334
369
282
358
324
346
384
378
342
317
361
378
327
343
261
304
357
346
350
291
310
242
325
298
298
331
315
265
307
346
289
319
313
402
259
345
373
321
332
337
272
407
386
350
272
324
287
295
356
412
258
218
236
311
392
325
365
380
292
324
255
323
400
254
247
306
335
247
287
274
325
253
264
311
319
314
373
210
373
263
305
345
309
363
353
355
360
359
363
239
297
272
319
352
303
300
304
306
324
398
327
368
314
312
212
312
373
301
316
286
328
302
237
298
353
284
276
296
391
353
315
286
362
277
337
349
291
321
338
317
271
268
344
289
348
257
348
299
361
294
305
239
347
261
370
290
334
277
354
367
407
298
300
342
321
312
357
298
331
283
245
374
227
332
350
382
281
392
394
298
386
330
325
311
345
325
356
315
381
404
363
282
293
344
263
418
261
331
244
301
324
339
374
220
366
353
266
286
265
275
349
360
368
263
363
341
346
260
262
344
263
361
366
356
301
272
311
289
347
344
327
338
370
318
320
390
372
291
316
323
365
336
364
318
358
274
353
313
310
297
294
272
369
383
367
358
258
283
284
311
325
304
285
302
244
312
313
236
298
448
312
262
352
386
359
323
273
360
295
338
318
277
314
294
337
344
376
350
294
370
340
248
262
319
270
305
296
325
378
267
235
308
363
351
364
260
336
413
247
364
334
269
279
363
351
336
342
340
310
261
273
274
374
343
339
345
302
386
315
291
304
273
302
305
277
259
370
327
388
270
349
324
361
248
359
291
219
346
240
263
332
265
310
228
263
348
376
338
281
249
310
324
267
214
336
326
264
336
325
384
267
305
238
301
365
252
303
404
326
264
297
285
332
316
339
326
336
320
362
307
388
336
266
208
334
400
313
328
329
358
373
311
310
303
334
311
254
352
387
308
296
264
239
321
321
312
330
322
374
315
247
280
313
326
306
401
250
307
297
354
297
266
349
288
363
299
334
319
278
268
338
338
309
245
266
299
334
360
242
311
295
311
308
290
288
336
381
285
292
262
385
260
298
302
365
297
366
307
271
422
250
323
334
231
182
306
314
298
281
391
341
264
334
329
337
338
299
376
353
391
323
312
335
247
308
381
398
338
327
297
338
293
339
282
276
371
339
248
318
320
371
321
409
271
269
331
231
316
350
286
348
301
277
348
331
261
387
279
310
349
265
272
319
382
295
284
336
392
313
336
400
285
286
241
357
384
390
372
217
287
274
275
342
336
330
316
337
308
382
307
315
382
359
245
326
291
260
355
263
312
295
303
300
345
306
303
397
376
322
339
336
367
271
312
263
319
271
253
258
254
271
255
341
280
360
323
361
337
291
274
273
357
384
347
287
329
313
303
297
322
264
276
237
299
349
333
276
369
282
321
287
329
268
354
364
386
291
254
273
325
329
225
367
351
336
341
329
306
265
340
281
318
280
316
291
309
352
296
347
309
303
352
366
257
268
323
266
361
362
297
376
314
295
342
372
309
387
364
326
286
303
275
322
382
314
396
298
306
332
374
295
335
305
268
305
286
369
238
351
327
320
266
232
341
335
374
345
242
394
327
340
290
232
357
265
237
311
381
265
341
369
332
313
272
306
388
348
344
374
251
386
318
233
282
268
387
335
306
312
184
326
361
271
225
266
379
265
262
245
275
258
343
294
272
263
311
241
290
296
227
283
347
290
345
301
330
358
386
306
312
342
334
268
314
373
327
325
337
343
306
301
359
324
260
365
308
309
279
403
360
342
303
319
259
289
264
258
310
328
300
356
373
372
305
330
271
272
313
223
294
316
358
302
348
278
274
389
366
368
339
364
353
334
339
265
310
275
350
360
317
353
303
302
321
277
307
363
250
235
363
170
286
234
327
377
306
344
326
271
315
298
334
352
323
341
342
363
325
275
307
291
343
302
376
319
269
370
234
327
333
341
326
390
286
270
326
300
284
323
330
325
329
374
371
222
360
281
279
343
294
340
241
305
334
381
286
289
322
392
331
367
292
318
308
311
392
309
315
414
377
266
246
241
310
304
327
320
341
207
327
419
204
380
339
356
236
319
263
261
292
342
320
339
285
398
362
309
312
293
327
431
308
334
330
326
368
241
374
299
316
270
379
342
212
328
271
262
365
298
288
291
370
220
346
331
289
247
297
364
292
295
303
297
364
321
266
299
205
328
343
327
383
347
326
269
367
316
308
304
369
343
338
337
293
354
340
271
319
351
305
269
286
275
373
246
338
309
324
300
344
319
321
289
327
285
291
300
240
350
322
312
267
321
293
361
276
400
328
288
304
334
294
277
302
352
325
361
295
334
318
368
300
371
320
316
301
316
286
341
337
323
339
274
234
328
312
282
398
312
396
354
405
340
353
368
296
284
358
294
343
310
313
366
336
235
325
368
357
382
391
317
405
307
269
319
300
358
256
409
336
330
373
275
315
336
365
271
307
266
362
329
346
356
288
267
205
351
344
276
409
359
321
312
270
354
283
349
371
371
312
283
404
282
232
361
333
317
305
353
315
296
321
322
336
330
351
323
310
410
355
278
278
362
348
301
282
313
357
326
231
316
335
302
330
382
376
291
290
254
316
299
269
281
239
337
334
332
251
318
311
277
286
363
280
294
332
310
334
333
316
251
390
373
324
263
321
260
272
362
326
251
380
335
305
266
296
350
279
345
284
248
382
372
371
321
249
321
318
307
264
339
302
345
335
197
299
362
334
330
320
261
330
304
288
300
256
348
376
333
360
337
393
305
376
361
342
356
306
259
335
304
292
309
302
356
331
298
311
310
397
337
351
298
318
181
293
369
236
277
345
286
292
310
247
310
266
252
315
337
300
295
331
313
282
281
276
365
323
309
305
303
247
303
246
322
336
294
277
268
327
194
340
289
281
263
366
310
262
316
319
333
363
323
326
288
310
356
343
357
284
295
403
291
309
293
293
300
243
255
223
284
285
282
281
342
281
309
310
354
343
306
267
267
303
352
251
308
262
354
317
314
285
352
366
364
413
344
259
306
364
288
291
301
338
340
353
330
350
324
363
273
210
390
301
207
296
326
309
318
262
351
252
261
338
300
388
334
273
365
325
371
339
330
316
252
297
319
374
401
393
273
268
361
306
367
272
401
331
329
261
219
301
277
279
345
288
376
242
285
340
371
282
334
299
286
289
315
314
292
224
288
264
322
312
361
291
343
339
360
291
366
270
250
345
405
276
323
251
323
249
361
288
290
295
335
284
412
355
318
314
368
213
328
299
397
313
366
299
336
226
318
265
321
271
269
299
206
339
260
339
242
392
305
370
284
401
284
351
340
288
363
274
377
190
298
363
213
274
401
381
368
309
313
325
271
240
315
278
306
312
282
307
273
324
266
312
293
300
330
323
283
372
317
290
282
332
434
287
341
352
272
383
211
290
370
247
292
292
373
353
408
335
313
361
195
392
362
278
360
324
239
319
400
347
330
331
271
366
256
335
320
249
335
412
294
338
273
323
294
351
431
241
328
324
238
195
307
366
275
256
373
360
249
277
279
321
328
320
320
272
344
303
287
317
381
356
277
246
301
328
419
335
272
290
373
256
292
354
379
304
351
212
329
359
351
319
433
288
293
328
361
299
298
283
214
243
326
288
301
281
240
297
266
356
328
278
300
303
322
309
350
319
407
278
422
297
343
199
306
264
348
301
362
328
334
319
352
303
250
312
320
238
281
260
322
274
389
266
200
330
293
399
347
320
350
300
319
345
364
355
296
377
345
395
311
287
325
251
365
301
376
294
382
275
378
364
289
245
312
299
308
226
263
289
267
269
364
290
303
300
330
305
291
330
257
294
329
297
271
260
283
413
291
405
286
361
331
305
273
343
262
213
334
333
290
332
408
355
345
343
341
246
345
350
305
383
338
328
264
255
364
331
281
328
341
271
310
274
273
305
270
241
327
323
246
343
198
299
287
267
377
260
318
267
387
286
294
413
293
312
368
196
326
359
244
352
256
384
408
326
291
330
322
244
352
367
354
378
273
239
328
309
315
268
308
315
330
271
343
311
331
260
354
371
366
301
252
262
331
328
327
254
215
381
301
335
241
337
268
293
332
337
354
343
278
300
320
332
329
330
279
358
419
344
288
309
299
336
324
251
306
242
301
337
319
414
268
362
347
336
287
259
423
282
303
369
315
273
263
389
365
263
281
268
323
287
398
326
357
303
307
309
374
392
279
301
291
181
340
398
240
283
332
374
337
209
263
287
313
317
377
346
320
249
220
398
295
357
285
370
274
260
353
282
339
268
350
300
367
351
313
303
350
348
252
358
299
328
317
246
316
367
252
362
391
294
315
387
320
290
264
238
343
226
355
308
235
293
314
263
255
288
317
349
323
377
278
294
216
265
306
367
362
359
261
318
360
253
310
337
359
280
244
259
374
285
336
332
358
415
321
383
326
221
373
318
301
394
246
234
329
289
285
237
331
340
347
259
324
279
374
380
281
311
320
375
319
297
309
250
366
311
320
250
302
382
309
353
248
322
358
320
287
303
368
333
258
306
288
271
305
256
252
224
337
354
276
268
374
356
327
320
283
394
315
338
328
302
381
332
330
319
341
264
328
223
305
291
367
349
246
296
359
392
346
311
293
307
313
361
396
335
282
335
336
284
326
360
320
338
294
334
338
345
407
331
357
296
320
313
387
300
284
378
367
359
295
353
279
276
299
282
327
330
317
300
379
377
338
340
270
308
299
291
228
319
336
174
265
376
217
319
333
249
302
354
345
384
342
259
349
336
310
322
292
317
352
330
287
325
324
317
316
378
241
328
253
331
397
342
367
378
390
380
335
275
279
355
300
332
357
363
247
389
368
354
252
277
364
304
261
282
348
327
309
360
245
254
309
367
294
288
358
340
313
300
306
269
328
438
325
294
342
311
253
225
380
317
303
314
287
377
333
314
360
268
304
239
375
314
331
277
286
287
362
355
325
306
244
433
324
307
268
326
320
297
288
345
216
320
214
289
326
288
390
260
285
362
284
358
306
279
355
295
315
295
357
225
383
296
325
371
389
297
284
317
363
345
307
306
304
178
333
405
374
303
318
378
328
271
363
370
312
352
288
342
353
320
309
315
315
298
348
314
317
258
346
292
371
348
295
287
371
320
393
291
390
211
283
355
304
281
276
378
340
332
328
288
315
402
307
285
303
400
370
334
312
253
333
401
301
340
336
331
384
331
367
297
333
259
322
347
270
277
303
273
327
359
345
340
355
354
374
306
298
362
343
262
370
262
275
314
298
313
358
295
356
305
276
329
302
276
351
256
280
351
286
345
281
280
299
335
299
330
287
398
227
323
383
372
327
326
359
348
300
278
324
352
261
263
343
351
283
277
299
292
278
411
318
327
322
345
252
327
359
344
354
311
280
286
294
199
350
435
247
295
314
336
347
348
299
300
302
340
295
277
267
320
359
341
351
312
368
306
247
318
340
317
255
388
385
304
347
360
274
280
382
270
377
372
284
349
369
285
357
322
261
335
278
255
277
317
301
379
263
278
240
291
337
267
336
358
327
297
274
308
355
324
325
367
254
364
279
241
316
286
370
345
309
250
317
347
317
317
335
228
309
326
269
345
300
372
316
300
389
307
297
285
400
301
354
389
322
248
285
402
322
275
295
326
354
326
271
322
392
321
365
206
350
336
312
335
307
294
354
244
360
343
388
364
359
341
329
283
301
363
236
283
318
266
339
326
345
327
317
341
363
358
305
292
317
328
252
378
289
357
329
388
320
320
265
340
271
400
373
374
353
268
278
397
392
361
299
279
302
226
333
329
307
339
332
329
329
362
352
421
332
288
334
323
273
384
270
393
359
342
306
350
328
369
338
313
332
325
300
318
336
388
288
231
283
268
318
311
383
278
272
345
319
275
281
306
324
306
359
340
296
364
279
313
288
330
327
348
319
297
290
249
307
353
307
361
257
265
423
269
274
365
358
302
346
282
254
357
319
268
269
323
277
243
338
242
279
289
368
272
332
376
360
405
341
319
268
253
280
308
417
354
287
269
362
255
329
346
302
379
360
344
300
279
260
340
284
336
285
350
346
394
338
331
347
293
322
255
297
355
220
214
240
328
318
358
371
323
306
306
357
315
254
344
373
346
347
288
348
397
350
273
281
344
307
329
338
291
349
243
317
281
329
341
352
360
353
366
315
268
350
330
294
390
397
318
302
346
270
250
330
313
311
347
209
291
368
387
340
290
316
315
235
319
269
290
270
277
308
327
325
298
398
281
306
340
295
383
377
300
300
343
323
243
374
263
327
370
378
259
355
317
383
325
352
379
335
332
422
332
275
300
326
216
318
317
313
345
297
344
352
366
256
250
321
334
329
326
270
358
247
364
284
358
371
235
333
290
240
369
352
345
269
428
357
322
327
263
336
329
362
324
344
382
315
306
233
359
251
278
283
394
346
331
317
326
330
274
331
366
322
306
340
292
249
301
287
325
341
338
349
345
302
269
311
303
295
361
268
325
296
303
369
403
258
324
384
343
331
335
335
268
299
247
340
318
279
324
308
346
269
362
317
365
229
312
282
344
334
313
388
376
302
319
243
343
227
283
317
283
331
286
250
308
378
384
329
324
362
297
358
262
325
360
244
238
287
308
359
325
345
342
306
274
365
275
225
354
259
352
293
266
305
343
290
384
299
333
359
299
347
266
258
302
354
258
276
350
297
255
305
284
314
261
249
332
298
305
332
287
371
341
341
327
228
353
340
275
283
315
290
373
253
306
337
290
290
304
335
312
357
307
339
273
239
290
229
318
369
251
323
315
267
331
272
295
224
329
360
342
371
325
332
349
309
344
306
301
263
377
266
310
330
266
315
303
360
371
319
278
350
344
334
291
313
364
335
278
435
306
318
384
267
285
250
306
334
329
302
374
284
247
237
258
397
323
346
319
286
297
330
385
326
377
287
332
372
334
350
379
303
307
307
324
314
307
340
346
267
315
321
254
293
381
318
276
344
327
325
320
350
360
286
356
328
380
310
330
277
317
314
256
320
278
323
332
249
306
387
266
352
354
367
374
343
278
328
235
210
355
376
355
347
324
318
292
369
267
322
338
318
253
348
257
291
192
325
313
310
335
261
395
309
194
277
271
367
344
343
329
372
275
314
340
249
327
345
352
221
215
294
278
340
277
365
293
306
369
314
315
267
298
280
243
292
332
318
293
391
226
210
411
307
227
310
245
282
286
345
317
319
379
319
319
258
340
339
285
304
406
310
283
314
322
294
336
243
289
318
359
330
385
317
249
291
294
312
261
304
350
350
317
279
341
265
298
349
324
256
318
342
274
299
362
294
364
249
223
307
350
337
269
299
384
325
336
327
378
264
283
357
289
279
255
294
390
239
311
250
333
257
280
287
254
267
258
294
381
307
279
393
339
371
355
284
350
329
308
277
269
314
309
347
359
301
372
313
395
308
428
268
363
287
246
269
356
298
262
381
293
335
322
319
319
355
347
268
303
325
202
228
302
281
387
402
339
330
276
323
306
275
298
341
338
302
341
328
296
309
239
229
351
303
290
316
382
279
345
303
340
386
363
337
240
322
304
289
189
368
356
307
308
327
281
323
326
320
307
352
326
388
276
384
321
290
294
319
294
343
247
319
254
251
268
276
378
246
326
385
403
305
271
278
337
298
359
339
314
336
382
342
359
367
346
364
311
245
380
308
267
339
386
316
360
355
274
340
282
338
298
364
277
317
405
325
271
342
304
265
285
360
320
407
316
352
353
347
172
327
385
329
337
377
307
236
293
360
402
411
310
320
302
332
346
379
287
287
333
357
304
376
370
292
334
363
268
341
304
311
317
377
276
312
307
286
281
353
319
368
294
328
288
245
371
318
257
263
369
314
333
308
269
368
283
280
366
300
268
385
330
330
312
254
316
331
265
356
288
307
320
313
367
332
314
335
369
301
185
377
254
287
381
346
329
296
365
277
327
335
225
372
325
329
331
313
268
224
305
306
347
293
323
373
256
349
359
330
291
295
303
364
379
317
276
279
293
341
365
312
348
328
270
400
276
263
244
226
319
282
331
275
247
310
271
288
288
256
394
320
272
293
330
242
281
302
297
269
318
274
252
284
411
321
338
314
294
230
416
349
263
298
230
307
331
286
261
289
253
384
330
386
272
328
349
234
353
346
301
283
275
300
396
380
373
380
265
288
284
279
366
375
303
353
416
268
271
289
388
347
268
284
293
334
278
244
282
259
380
374
332
251
253
347
314
357
344
225
325
351
271
292
333
285
247
358
227
333
255
393
242
307
331
400
260
375
304
297
202
321
217
340
293
288
317
304
333
338
301
427
331
311
295
331
344
307
299
316
323
266
274
363
277
297
275
329
345
297
363
340
253
321
289
309
309
376
393
343
303
233
241
288
339
262
327
322
334
381
320
337
284
367
275
306
292
260
300
236
316
358
236
234
344
365
254
343
256
330
362
294
346
328
339
273
329
328
334
228
318
303
352
305
360
376
397
255
355
315
288
323
281
320
369
336
331
301
298
312
349
284
285
385
193
223
324
275
329
360
269
363
336
261
370
291
255
250
338
320
381
316
338
264
312
269
300
349
268
381
353
242
274
369
309
309
352
340
350
346
331
320
291
236
316
308
338
300
337
290
305
309
372
397
301
385
331
258
283
328
318
279
365
240
341
343
239
384
331
332
374
377
290
264
397
355
303
355
283
336
268
338
297
359
319
319
255
320
319
383
430
275
283
265
296
297
324
349
278
289
284
377
305
376
246
251
242
363
316
354
326
330
336
346
283
325
373
352
275
350
270
344
285
233
337
308
300
351
333
274
413
302
374
322
301
290
345
314
315
277
282
359
321
311
307
365
361
329
343
286
318
308
320
231
386
311
306
407
322
340
267
380
360
330
229
310
311
346
386
281
287
275
356
196
280
357
292
335
309
387
280
326
360
331
308
305
250
294
306
405
432
409
303
280
312
333
369
267
253
408
322
312
318
272
258
300
392
302
332
206
289
348
261
268
322
366
272
296
346
361
333
262
304
257
267
282
334
311
329
394
342
403
322
282
355
292
420
363
240
320
325
305
292
243
410
368
325
300
380
308
329
396
329
350
373
364
252
230
261
361
271
217
280
239
308
379
214
383
314
243
340
346
286
239
297
401
358
316
298
332
351
301
316
354
294
233
389
315
331
270
330
301
347
428
332
417
292
301
374
273
292
286
412
337
284
310
292
429
371
341
288
285
408
336
329
279
340
333
341
271
272
292
286
311
364
244
327
318
306
376
297
367
346
370
268
334
285
330
394
324
336
347
304
348
344
350
278
379
267
305
269
372
299
289
232
409
312
317
338
321
215
351
359
316
262
341
396
306
322
253
201
348
283
367
275
344
272
364
258
285
363
280
310
269
284
360
368
270
289
262
269
314
303
345
281
295
378
205
244
258
372
360
315
285
360
372
267
287
309
347
289
342
323
282
282
351
310
331
324
335
282
343
335
344
280
332
315
330
326
305
302
255
323
325
296
313
364
272
261
354
382
307
340
347
314
329
316
279
294
310
305
276
276
351
343
364
323
315
286
310
347
229
365
354
279
299
295
296
296
313
319
363
350
257
228
275
312
351
302
329
328
363
374
332
278
284
357
291
262
302
304
322
364
359
333
305
370
386
355
339
296
364
356
340
289
344
330
249
291
341
391
267
315
385
368
340
338
259
356
307
280
266
424
258
338
296
267
277
268
280
325
337
265
299
238
373
322
295
314
295
359
289
388
293
351
378
354
300
262
370
292
299
278
313
255
335
383
313
326
261
324
417
323
391
329
338
338
376
331
350
321
342
363
394
290
250
363
328
312
272
301
342
394
320
357
378
254
424
349
418
373
388
300
300
323
287
309
334
346
340
309
332
285
388
347
283
368
311
278
330
359
418
338
274
239
398
317
309
403
251
357
260
292
339
303
311
313
350
299
297
314
342
327
345
317
291
324
316
288
286
203
295
397
283
275
253
253
321
268
322
298
334
284
342
375
333
370
334
353
349
307
277
256
322
324
269
325
302
322
330
240
453
329
303
313
356
313
304
322
314
191
291
299
345
359
365
280
336
403
293
334
281
313
300
291
234
299
322
359
200
319
389
295
294
365
361
324
319
315
344
276
358
361
314
224
324
314
246
385
282
299
293
343
246
333
357
331
260
305
273
259
276
367
325
300
227
268
326
322
276
345
273
276
341
330
306
344
357
266
275
374
287
316
337
258
300
349
337
255
273
322
368
259
306
350
329
278
298
318
325
331
363
340
304
267
330
300
349
350
353
436
214
270
327
323
368
396
300
347
271
345
324
290
318
258
276
241
317
275
331
364
318
334
365
281
332
340
297
239
327
325
240
314
336
310
346
263
250
344
402
344
240
310
307
309
377
285
289
381
319
371
287
255
299
349
399
231
353
297
308
324
350
330
280
344
355
368
350
324
372
273
326
320
273
347
378
306
314
320
324
337
289
339
267
376
342
387
360
309
349
218
293
273
345
354
271
324
296
338
346
300
319
319
296
358
260
334
277
354
267
218
326
270
306
308
305
280
381
316
325
327
283
318
345
272
307
315
346
263
406
324
379
310
218
335
196
297
325
350
299
321
315
240
317
340
389
316
395
305
327
360
314
325
276
315
272
251
323
388
283
303
277
308
395
298
419
228
355
261
261
277
328
263
328
278
304
197
261
311
292
291
365
280
293
333
282
320
224
318
350
406
254
369
297
368
294
384
376
278
303
310
326
339
367
341
354
360
225
304
337
296
336
301
299
336
331
205
301
372
256
275
283
315
322
371
365
272
305
324
307
353
311
353
318
350
291
243
300
393
365
305
323
247
315
297
273
338
289
342
379
243
334
371
359
324
389
338
345
283
418
292
275
297
297
317
332
356
312
309
275
289
340
265
326
275
310
316
208
308
311
343
334
316
385
307
318
310
385
301
328
310
394
269
298
252
380
373
349
354
348
276
310
253
312
246
318
339
321
249
296
317
330
313
323
314
359
319
322
280
239
360
356
330
302
317
327
342
378
278
201
331
297
255
283
281
295
307
266
319
447
319
235
341
356
331
358
324
246
354
265
281
393
326
272
310
353
368
298
309
349
282
370
395
300
310
315
253
381
440
295
295
257
329
211
425
247
279
414
257
338
297
318
275
311
345
303
403
353
268
296
309
291
188
354
289
253
269
195
228
327
374
337
283
304
311
363
271
237
331
332
333
373
361
322
312
293
333
337
356
247
280
359
361
298
379
247
321
372
244
340
265
271
356
371
341
348
272
332
311
253
343
330
325
281
332
292
369
397
348
355
270
252
312
258
351
334
313
237
359
330
299
312
305
293
337
228
309
309
335
300
314
351
316
293
323
364
337
391
325
303
379
351
339
310
305
359
217
286
344
380
255
307
292
262
278
277
335
326
326
330
283
336
339
365
282
269
322
263
286
320
384
300
334
397
314
270
391
386
342
358
301
276
343
336
332
327
298
300
303
341
211
347
343
395
365
420
359
327
285
311
301
295
380
349
311
367
357
295
335
332
329
262
239
309
362
269
307
336
319
283
334
310
265
333
268
300
355
222
306
311
363
313
287
328
248
350
343
288
316
379
373
297
250
325
405
303
333
349
303
340
305
325
314
318
331
349
248
341
354
294
291
355
406
309
298
220
261
302
305
287
307
356
364
356
367
342
324
337
290
404
333
309
295
387
381
281
321
356
282
313
359
320
296
267
367
401
302
319
325
332
366
314
360
386
395
347
254
389
322
295
321
315
323
284
348
327
346
339
312
241
296
417
325
351
342
320
332
390
266
318
257
318
292
338
348
330
361
328
369
382
351
326
297
313
411
193
316
364
360
322
371
336
338
270
331
315
327
313
293
342
328
336
276
246
311
344
358
335
288
357
286
283
300
376
394
335
361
339
330
336
305
366
345
301
367
287
346
347
243
167
304
296
361
364
343
364
396
326
348
327
287
262
354
339
294
332
257
214
332
298
365
193
315
316
377
404
236
301
302
284
328
362
348
339
218
330
362
256
248
296
276
297
266
259
200
342
263
301
294
321
321
250
285
304
405
318
358
294
327
343
341
280
322
267
321
268
323
239
396
336
376
376
322
208
408
222
238
325
317
248
248
227
245
375
265
193
282
270
276
330
310
375
250
296
301
311
354
210
321
289
324
357
341
311
239
354
243
356
337
266
200
272
369
353
336
296
303
282
318
312
299
363
309
277
299
385
287
324
276
278
326
310
303
366
332
362
337
383
303
389
332
242
357
294
293
354
329
313
318
353
300
228
357
403
347
344
297
366
321
355
312
325
301
326
286
262
340
357
308
337
174
314
224
336
353
252
340
228
300
316
283
306
324
340
332
231
399
315
370
285
277
321
273
297
321
417
336
386
308
336
314
360
363
255
270
278
356
355
346
302
319
254
364
357
341
309
277
405
384
342
283
315
339
308
318
358
365
321
267
328
310
231
264
333
397
320
291
302
255
371
260
240
315
331
335
332
331
293
364
256
322
320
294
391
310
324
364
377
281
272
366
264
307
304
270
280
231
295
323
307
287
362
236
329
368
221
373
323
328
307
315
318
315
281
353
253
285
261
287
271
258
291
347
337
261
311
289
271
322
258
355
307
406
236
403
340
345
301
348
323
285
400
389
324
342
279
378
326
297
297
270
327
315
239
289
295
376
330
254
328
267
316
390
224
314
293
330
291
265
309
325
272
368
324
319
362
277
359
360
353
348
420
260
348
293
312
364
311
257
313
339
320
309
231
326
349
246
385
317
259
312
276
341
374
299
367
288
295
347
297
287
290
381
352
211
270
319
254
331
359
291
297
342
276
309
412
296
299
399
270
378
272
276
330
431
390
363
345
374
314
352
355
348
293
315
240
274
379
282
315
340
340
283
330
232
306
318
383
248
258
323
383
379
278
289
295
257
279
229
339
360
213
325
347
258
260
306
243
351
412
354
432
324
235
310
309
275
370
365
324
337
334
318
294
287
347
357
227
312
346
304
261
342
392
276
357
318
343
291
336
299
311
274
256
329
318
276
325
209
288
293
344
295
330
347
298
252
325
330
306
358
373
299
281
322
336
316
302
229
306
368
364
291
252
395
280
265
360
344
307
289
329
322
299
241
286
336
322
329
248
316
217
306
313
292
340
314
359
274
230
284
348
293
357
332
393
313
349
305
299
320
349
287
292
326
320
185
236
343
314
385
406
342
352
337
341
385
333
380
296
361
372
291
330
388
296
293
323
294
298
393
372
409
307
345
303
380
308
352
292
311
361
237
347
385
364
377
256
372
401
341
330
301
331
272
256
384
346
334
312
260
281
326
340
360
350
314
338
388
261
319
287
316
274
380
227
290
310
309
272
327
303
353
320
339
352
367
329
377
365
305
413
268
296
326
376
402
368
352
269
334
320
359
380
346
286
270
274
288
365
271
328
268
296
259
330
332
320
326
215
290
225
373
254
218
366
340
246
354
397
306
298
298
296
297
295
370
366
295
296
300
293
284
373
393
359
352
356
224
326
367
230
338
257
356
327
244
264
357
293
357
330
329
326
295
329
351
275
372
333
349
268
291
275
377
339
342
222
357
289
339
358
296
239
323
339
305
260
331
330
341
332
205
314
255
400
275
319
372
270
316
324
354
375
425
258
319
332
315
305
337
342
304
329
250
332
315
297
392
365
242
365
211
382
346
342
275
328
356
253
307
317
334
304
290
353
242
305
328
284
350
337
331
288
327
289
323
289
277
401
295
319
274
318
318
314
317
294
285
307
242
296
268
340
273
384
295
373
362
250
308
339
269
346
318
311
294
378
354
260
327
337
346
339
307
339
388
329
307
364
304
266
288
336
386
290
397
297
331
294
301
304
322
310
338
294
384
326
285
320
285
292
326
238
297
309
322
358
330
197
315
317
333
370
318
273
292
291
356
376
298
198
361
268
376
327
305
370
390
362
310
311
281
277
360
292
353
373
314
343
317
283
245
339
380
352
413
304
324
284
354
339
303
338
321
374
320
339
355
309
337
293
283
256
345
264
288
283
321
322
258
326
209
296
317
399
347
318
267
323
318
255
283
273
299
395
309
293
326
280
278
367
299
361
293
312
340
369
307
275
260
240
336
277
357
310
358
327
286
283
356
252
307
335
323
282
220
371
230
330
320
204
336
340
296
295
360
250
355
325
316
352
262
276
305
239
301
257
262
282
290
250
371
217
333
387
249
322
361
238
307
312
301
245
279
269
349
338
231
299
311
258
315
315
286
289
347
336
323
323
266
309
319
307
338
314
227
365
346
284
358
302
244
287
316
281
351
391
389
375
328
328
387
334
268
224
298
336
280
320
365
348
208
341
418
300
309
286
365
282
240
261
312
354
391
348
279
214
341
346
369
367
466
226
318
341
385
379
332
258
300
372
276
343
383
273
256
248
273
266
338
322
230
276
326
306
304
270
269
357
358
380
322
303
318
332
277
329
387
337
353
317
277
338
289
346
429
273
378
296
241
336
304
278
387
261
333
376
305
318
317
315
335
277
344
300
284
405
358
281
325
188
213
308
307
366
237
306
288
285
284
368
291
306
232
330
247
379
291
306
355
357
422
296
315
405
345
304
305
397
346
277
286
332
378
370
304
344
323
225
349
331
359
310
308
294
272
280
290
314
315
299
403
351
251
336
304
231
396
361
394
269
279
321
260
395
341
342
273
274
218
298
321
366
290
339
362
328
275
321
361
282
271
407
250
226
324
321
264
384
245
305
340
324
336
360
268
197
348
320
413
404
338
429
303
317
210
381
299
290
266
327
375
380
283
329
290
221
349
222
256
206
272
288
295
304
257
329
252
319
327
316
338
266
297
329
282
341
363
334
319
301
340
277
393
238
301
322
392
376
259
339
417
335
396
376
272
353
330
307
301
300
306
329
326
333
345
361
268
302
287
264
415
303
291
232
343
290
276
264
247
384
291
265
241
309
340
344
264
336
359
285
325
335
289
335
347
217
345
392
256
212
256
334
325
307
239
283
339
277
289
405
285
285
360
258
279
339
338
314
263
352
246
333
335
285
339
276
240
310
309
291
330
317
332
324
344
268
190
297
405
335
301
285
381
371
337
351
367
296
297
228
263
294
347
258
320
366
372
290
332
312
281
287
261
360
294
301
331
231
335
271
304
220
318
372
275
219
274
323
293
260
406
356
244
245
291
340
320
374
319
335
214
358
277
353
386
337
264
322
384
387
292
302
277
280
305
245
227
327
252
313
358
373
308
313
356
389
216
240
420
249
268
240
341
297
324
270
336
365
304
417
339
251
345
344
317
258
371
348
399
338
361
366
318
211
324
329
287
325
382
249
295
314
261
261
314
287
338
384
328
353
394
286
352
331
369
368
368
274
278
337
333
327
381
322
324
296
350
255
324
323
281
370
282
371
192
333
214
326
280
355
282
363
249
344
299
303
278
347
319
289
349
305
263
341
330
312
320
335
340
290
346
324
264
263
324
319
286
313
239
360
322
299
346
367
367
265
314
295
338
251
286
274
277
348
234
278
298
292
308
237
317
376
303
283
330
331
318
283
272
291
278
316
337
356
404
266
316
236
316
215
343
286
404
349
259
329
304
301
303
360
244
233
306
283
373
353
278
309
295
302
304
202
264
283
300
313
270
309
331
268
290
339
330
281
412
303
307
406
342
361
311
293
290
342
274
336
348
326
352
386
296
287
325
269
214
334
277
305
288
307
262
340
305
270
378
315
320
357
285
363
319
322
214
290
231
315
370
311
334
393
345
272
261
358
336
326
284
295
304
280
352
334
225
313
275
265
289
412
294
263
315
297
221
313
368
380
327
255
273
243
341
331
412
375
259
311
278
251
361
374
303
223
281
305
257
314
273
282
255
300
291
355
317
380
349
350
259
281
353
272
278
273
307
402
260
292
376
354
268
309
349
314
352
294
195
227
357
303
301
316
308
352
378
280
314
344
234
337
329
355
319
287
308
385
264
252
360
260
357
344
260
280
335
315
296
246
314
321
331
330
253
310
257
346
322
328
323
382
250
334
202
417
283
384
322
359
357
316
337
351
355
207
288
286
324
291
251
317
318
292
295
283
292
338
338
306
308
378
256
289
285
296
361
280
304
357
327
349
312
312
285
239
291
324
310
326
398
335
281
324
290
272
368
324
274
310
267
286
259
319
273
408
332
289
279
290
344
346
348
329
296
382
303
286
339
357
323
251
336
196
330
260
338
239
335
294
377
297
335
333
355
361
285
330
295
382
318
300
357
273
330
279
351
267
226
296
265
374
287
375
266
372
400
345
332
295
287
307
232
297
334
368
337
280
327
287
364
259
272
285
337
343
320
302
359
323
371
333
324
289
393
364
269
235
358
428
278
386
319
270
338
324
267
256
277
301
381
299
248
312
336
236
280
253
289
341
331
337
333
370
249
298
351
227
305
383
305
317
227
294
350
330
350
342
314
308
330
323
209
356
392
342
352
297
367
324
404
326
391
346
233
295
315
294
330
286
334
424
380
268
339
234
378
256
341
254
249
278
263
278
327
318
252
331
265
321
253
314
270
321
337
403
368
336
373
296
342
329
209
299
325
340
273
310
376
385
348
230
395
346
336
350
182
302
322
358
195
252
268
227
360
283
322
352
330
314
383
338
357
223
338
367
339
251
414
248
387
270
311
430
314
284
329
307
354
383
329
243
378
308
242
261
242
298
291
367
334
328
262
248
394
345
352
314
375
333
362
369
301
249
325
326
290
312
309
335
232
342
278
338
300
311
240
320
250
200
365
304
323
379
275
313
234
344
297
316
261
296
301
307
314
310
317
350
330
311
308
348
359
316
377
321
368
229
296
299
411
344
291
331
356
269
323
372
356
316
364
240
331
311
309
293
365
365
395
230
424
322
345
339
324
388
397
267
291
293
366
302
290
224
291
292
298
278
230
329
291
324
301
325
311
315
355
289
348
272
337
280
331
334
281
291
252
260
246
293
299
350
251
373
222
170
227
352
349
298
290
337
293
253
282
347
338
329
308
244
327
313
400
289
285
333
292
276
275
385
272
375
281
406
326
370
295
291
343
341
306
289
307
248
324
403
303
400
333
374
239
285
327
308
362
315
299
338
284
322
322
269
283
290
373
319
243
325
320
315
330
311
305
329
281
364
307
340
372
335
251
386
367
326
247
307
334
345
223
328
244
307
359
241
381
286
344
277
234
305
354
303
316
338
298
333
407
265
329
367
391
351
356
351
382
280
312
288
318
336
317
280
403
375
291
372
299
323
345
379
327
359
298
299
432
353
295
362
308
301
271
416
313
260
268
366
343
335
234
361
388
247
338
331
376
334
383
325
311
376
314
394
290
344
297
246
319
259
252
328
345
302
295
297
230
288
288
371
327
283
275
375
314
285
332
315
338
322
312
338
330
306
355
398
238
336
311
229
312
338
316
346
341
305
303
234
349
328
248
333
366
335
360
349
378
403
233
316
248
323
322
358
387
206
384
351
287
243
271
332
369
328
320
302
358
288
336
260
242
336
269
229
319
304
249
293
338
288
418
367
332
296
323
310
315
338
272
239
284
316
249
352
273
260
353
327
356
367
381
347
344
304
339
288
318
378
331
263
223
293
284
248
360
341
317
270
324
326
392
315
260
284
319
245
391
247
349
307
369
306
308
277
295
278
379
384
326
378
338
262
326
324
350
370
385
351
313
333
293
320
347
367
320
338
292
251
340
390
230
371
370
373
274
340
293
273
293
338
346
256
244
200
321
328
312
363
327
338
263
362
262
298
288
375
320
349
315
357
356
304
352
341
343
341
324
281
310
274
386
310
290
343
304
342
269
372
270
341
350
329
327
265
256
289
282
361
310
307
315
310
325
296
247
273
256
371
310
292
328
327
302
304
250
292
226
334
325
251
201
301
414
324
325
322
281
298
344
343
307
351
249
229
308
286
350
310
291
313
290
325
324
388
319
355
315
227
382
365
308
284
355
262
229
370
348
335
252
311
286
306
221
345
233
283
411
407
350
304
323
253
268
302
301
229
248
269
332
313
284
318
275
324
290
309
394
326
335
309
278
368
329
346
288
308
230
326
287
358
241
279
361
386
310
341
358
311
323
292
342
368
294
315
282
346
346
321
304
318
304
397
306
353
412
325
318
317
251
288
305
334
354
295
305
325
238
338
295
281
330
286
302
343
290
346
315
375
399
339
227
330
243
297
259
410
365
190
270
336
286
309
319
339
217
270
304
351
264
297
302
305
331
388
299
299
292
313
342
341
319
332
250
315
317
306
306
276
323
360
273
381
325
316
325
256
274
340
381
279
341
243
389
312
286
325
262
334
327
280
326
360
308
367
281
362
375
339
358
370
381
361
319
305
358
342
313
392
325
315
243
333
327
284
314
356
273
362
333
347
350
232
265
303
321
336
294
245
376
238
307
303
402
274
326
261
284
278
364
325
296
322
361
280
324
281
252
205
350
315
311
387
322
395
223
406
331
354
294
283
291
258
333
312
322
295
222
339
278
284
308
264
277
312
412
297
320
276
341
332
326
303
285
218
277
301
339
342
285
403
354
318
332
343
345
362
324
319
295
372
282
401
274
292
318
287
312
344
282
356
318
272
272
276
287
298
271
330
277
384
268
362
311
313
351
238
298
323
294
324
344
376
375
369
278
271
354
305
322
313
256
394
288
307
238
384
266
297
341
183
282
299
288
334
312
358
383
337
302
278
312
250
343
362
241
307
390
361
378
306
319
399
307
236
251
199
344
351
305
294
234
293
407
367
287
261
269
338
284
396
293
301
300
402
251
299
317
381
325
369
331
364
264
312
258
293
322
242
284
260
373
356
352
384
325
339
328
262
352
336
378
320
342
360
278
356
354
310
284
309
350
351
346
382
291
344
390
288
313
285
353
287
310
347
297
358
265
268
243
269
312
372
368
275
317
240
219
324
439
356
315
251
328
316
339
267
244
351
355
397
308
326
410
308
270
298
258
399
323
397
302
354
275
383
227
355
279
364
314
326
305
259
315
367
392
318
332
335
337
273
293
305
331
313
278
305
315
270
329
280
248
297
348
285
334
353
289
313
286
320
345
383
344
297
352
255
375
358
312
254
290
330
301
198
362
302
343
343
283
377
351
351
279
318
307
342
340
300
321
311
314
310
323
323
215
288
295
344
252
279
341
277
306
373
260
289
248
311
332
378
329
367
366
318
324
285
300
356
323
244
224
332
305
340
270
293
319
315
344
345
289
337
283
320
336
245
313
311
297
319
308
310
313
303
315
232
377
362
320
318
243
308
331
284
331
407
288
308
360
327
305
407
353
286
319
301
339
282
358
231
288
262
335
382
320
289
332
325
404
283
265
313
358
284
336
384
314
224
375
329
363
312
364
323
210
332
294
329
339
296
306
229
370
339
324
244
301
246
272
354
311
284
416
287
369
321
252
332
319
348
321
271
354
334
343
258
360
347
306
269
370
330
352
236
253
343
332
343
248
323
334
328
302
271
367
259
317
307
329
346
297
294
343
374
260
260
357
338
270
392
366
384
305
260
350
243
334
296
314
354
291
372
279
286
303
384
316
303
363
338
316
409
310
279
350
330
287
297
299
373
361
303
262
329
429
266
262
261
307
310
317
270
401
329
322
290
268
313
296
324
254
305
263
243
347
293
263
338
340
332
379
349
338
263
337
279
354
253
339
250
414
325
305
269
272
331
320
354
321
348
353
286
276
330
338
355
322
244
273
316
255
362
338
303
365
221
321
377
322
292
286
302
361
293
340
264
418
260
273
347
375
403
329
291
348
278
242
324
317
358
285
272
200
364
371
385
330
263
287
373
371
316
322
348
292
301
325
397
316
275
231
350
344
351
351
332
327
275
254
307
307
356
332
347
203
382
311
295
351
287
312
265
308
310
411
329
311
275
319
334
283
309
236
302
288
337
285
267
306
370
320
289
260
247
277
169
250
312
272
344
325
307
312
235
327
275
291
288
399
342
325
275
370
242
290
295
324
283
317
316
285
295
290
307
317
350
332
333
294
319
313
380
255
288
374
364
320
304
255
358
297
283
273
273
301
335
367
321
272
414
366
343
368
383
293
377
280
342
298
282
358
312
352
302
246
251
283
296
328
358
363
295
267
326
348
233
309
339
303
297
380
274
280
314
257
363
404
326
327
289
260
332
299
346
260
335
371
286
270
306
254
269
242
348
302
362
377
343
363
333
308
278
277
296
339
244
294
273
288
362
298
238
318
341
289
210
360
267
359
300
337
237
206
380
396
338
357
356
335
340
302
260
275
297
354
375
367
297
227
334
356
357
315
277
277
374
327
374
368
311
378
293
343
286
254
304
377
421
331
311
296
251
358
295
298
320
339
302
315
339
234
242
319
345
346
281
257
273
308
325
301
237
305
240
362
237
294
357
258
308
303
296
303
216
285
378
287
311
280
308
335
344
318
361
332
395
280
320
281
313
379
354
284
350
335
228
363
387
311
185
257
350
232
333
325
410
352
278
306
244
331
335
218
309
315
308
409
355
309
366
323
271
354
320
302
339
315
327
204
309
263
352
308
323
319
320
294
317
339
293
256
250
339
305
323
283
297
237
363
272
360
323
303
377
323
312
313
305
371
295
361
293
281
239
326
349
329
305
240
338
256
297
395
389
380
290
363
322
188
300
353
400
274
243
356
302
285
296
323
276
440
274
324
307
393
280
321
313
279
340
328
321
312
332
377
345
326
319
355
238
288
339
368
317
298
359
313
389
388
373
246
231
317
327
339
343
349
232
298
322
352
314
365
274
372
343
299
264
342
293
299
338
356
301
342
262
349
345
321
357
405
243
260
299
348
318
385
256
245
318
242
308
347
297
346
332
380
336
349
330
285
321
299
307
300
296
318
379
363
332
281
199
304
276
373
302
388
373
215
366
351
209
331
268
339
359
334
307
320
316
274
289
430
331
291
398
252
293
311
339
385
309
308
308
313
342
318
291
297
267
247
222
322
376
322
230
309
264
287
282
368
342
204
373
301
268
359
308
311
326
246
240
448
320
349
313
370
332
269
258
291
299
313
300
392
305
301
322
293
402
338
327
246
406
279
260
355
336
363
280
285
247
214
273
273
258
331
292
319
342
330
279
300
274
245
264
365
318
337
251
366
282
378
356
267
329
410
331
388
354
335
353
387
387
306
377
323
309
358
304
327
369
379
261
277
319
247
319
269
305
289
278
318
286
397
429
253
338
310
340
325
290
307
270
249
326
285
242
290
288
301
362
299
292
346
260
308
278
298
314
248
221
344
268
388
378
321
285
287
332
302
266
232
341
210
248
331
369
379
302
349
332
381
260
402
301
306
368
331
251
301
399
331
368
169
252
325
341
419
228
259
223
320
316
359
232
333
268
335
381
333
292
319
383
251
303
287
260
300
319
375
319
314
293
366
306
304
306
323
375
331
273
285
301
238
357
355
370
283
420
243
392
393
321
341
389
311
374
263
411
404
307
223
287
345
320
244
306
322
247
284
297
242
313
397
326
364
281
297
286
353
389
424
312
325
281
297
302
408
314
306
386
296
335
352
371
306
317
300
339
262
331
424
246
363
306
324
332
265
404
329
296
280
370
280
343
303
327
354
329
264
386
291
331
335
353
276
334
330
253
330
316
344
268
373
299
270
386
280
293
376
334
352
298
255
227
355
301
407
355
306
343
361
313
265
393
311
314
256
248
283
249
326
335
296
327
323
320
279
318
324
284
381
256
305
344
336
286
372
300
257
258
345
258
227
302
240
245
223
375
262
331
360
334
310
329
297
337
318
264
285
386
364
349
307
292
293
380
339
237
279
295
333
268
281
329
369
327
303
261
339
255
273
296
252
335
296
322
382
395
322
335
317
298
269
245
389
229
320
366
257
302
294
373
267
366
378
250
386
355
267
291
360
351
303
323
192
387
387
231
295
367
261
224
347
328
344
228
389
310
295
312
374
268
290
270
314
273
305
334
263
349
321
314
284
299
298
202
386
306
280
299
258
288
385
370
254
307
302
321
223
281
336
306
283
355
410
398
382
267
264
264
257
330
275
254
295
266
282
286
412
258
288
303
320
310
409
222
368
376
258
345
272
328
312
333
390
323
307
252
334
366
303
363
362
249
187
286
334
340
285
318
317
376
305
341
264
302
255
346
366
344
301
263
338
298
339
383
335
246
237
403
331
286
284
377
302
356
339
288
320
372
332
333
261
313
276
331
290
262
330
335
302
285
278
266
268
294
360
328
236
301
366
326
226
327
351
326
298
345
169
278
308
384
289
338
252
325
372
280
293
314
296
323
268
323
335
376
382
298
331
272
289
279
341
352
249
316
291
376
305
307
254
370
362
344
361
320
391
369
259
351
314
320
332
361
359
338
246
291
367
355
369
256
252
260
257
348
331
330
285
323
313
270
343
262
327
341
276
311
270
290
389
329
302
322
372
270
326
284
341
348
277
246
334
275
343
264
281
315
317
292
264
400
287
356
294
410
369
394
398
252
227
346
317
287
320
380
314
307
341
367
246
335
247
248
384
280
258
200
316
275
358
232
320
274
332
286
286
267
386
268
264
331
371
323
317
353
285
345
294
362
296
305
349
307
388
258
397
251
278
301
260
279
281
332
285
286
282
293
354
311
294
346
312
389
331
322
340
245
264
335
372
366
227
254
272
354
328
357
284
256
340
364
258
318
363
325
397
279
308
328
355
266
286
373
370
350
319
388
315
357
352
256
205
365
350
354
392
382
322
323
256
383
413
300
370
286
318
300
299
366
339
390
280
395
252
293
306
286
297
289
310
286
349
232
351
327
398
327
313
364
276
386
375
364
285
321
247
294
300
314
367
270
327
288
385
188
348
381
348
343
275
331
330
349
344
263
346
318
324
317
306
278
347
321
353
337
240
383
270
351
281
380
257
287
308
348
324
319
284
362
295
358
318
376
290
271
290
308
244
295
370
303
288
293
300
360
358
347
215
395
359
300
235
394
273
247
296
336
286
405
265
227
266
354
376
333
383
328
279
293
317
333
368
325
294
282
380
362
386
322
285
238
251
340
333
366
314
325
342
376
402
323
313
283
369
344
340
370
323
333
316
295
238
329
319
356
362
330
312
339
301
214
286
282
320
334
225
353
309
310
279
290
292
326
316
295
254
364
344
292
314
391
357
394
327
370
265
275
248
376
334
398
276
379
377
253
333
327
414
305
334
316
340
398
285
273
349
366
288
310
348
387
227
349
321
356
324
342
337
329
367
301
343
312
314
237
296
294
220
286
285
337
326
244
316
310
323
344
300
362
331
248
366
232
290
302
387
366
268
332
326
379
281
356
247
337
311
299
347
313
394
281
337
251
325
257
386
356
400
323
323
380
334
307
335
321
215
348
295
316
398
282
338
276
355
373
289
313
385
371
336
404
324
264
309
283
303
290
306
304
238
328
297
354
363
330
318
339
317
314
225
250
276
294
316
351
318
310
277
350
346
302
350
269
259
257
304
345
340
347
371
292
367
375
344
325
299
290
324
250
299
323
309
358
319
370
348
392
284
294
295
303
326
351
339
290
303
323
294
323
333
252
240
364
356
298
379
269
394
336
296
379
333
279
348
291
317
315
308
340
304
222
382
312
301
271
389
333
371
293
227
296
318
235
311
290
254
300
355
329
363
366
299
353
249
228
315
318
290
310
289
335
376
334
403
372
387
318
330
266
295
401
374
368
267
322
376
275
261
351
283
376
288
239
297
323
250
314
296
302
266
375
285
307
378
318
299
262
313
294
371
293
324
291
335
380
325
333
254
342
324
355
327
349
310
314
301
328
320
262
336
257
307
363
312
334
277
279
305
356
405
245
341
275
422
327
338
324
377
303
293
277
284
374
388
281
299
359
289
346
274
371
371
314
305
261
272
325
264
389
341
318
295
315
367
326
321
287
313
284
331
397
328
334
315
260
318
321
343
266
283
345
332
346
358
299
307
331
286
362
294
302
343
353
215
353
237
321
338
317
297
287
321
318
379
421
293
316
304
231
306
367
269
387
310
306
419
257
318
195
271
301
322
262
280
299
265
266
332
232
291
234
241
282
318
358
359
309
421
299
327
388
366
286
354
331
255
295
250
412
373
249
340
301
367
275
319
244
386
375
328
244
256
318
275
308
315
325
333
326
269
236
286
298
363
374
345
305
283
267
332
212
305
356
286
304
235
236
256
265
412
304
339
330
289
312
365
304
292
287
281
250
335
392
360
278
332
337
324
253
303
324
248
319
305
305
264
425
276
381
272
370
347
312
301
306
318
407
346
377
421
323
335
328
363
295
324
316
303
223
349
325
321
320
355
281
350
355
294
222
423
343
311
279
290
329
301
411
316
344
367
272
375
400
323
332
267
378
359
284
310
285
283
239
335
322
277
358
397
308
355
310
280
315
296
359
253
304
370
316
355
266
375
308
272
264
317
281
427
305
412
297
367
339
301
362
294
297
322
325
306
283
280
291
311
366
353
355
352
332
364
310
346
362
393
276
244
339
298
198
247
354
311
394
296
297
233
325
390
266
321
332
361
354
306
300
293
361
295
278
336
347
261
345
314
361
396
319
234
341
309
355
262
300
356
367
250
300
437
324
386
268
369
327
285
348
273
260
352
284
348
387
324
207
318
297
306
370
322
201
183
316
267
322
340
338
233
287
299
355
355
374
295
272
296
342
350
270
308
325
362
275
237
278
283
368
278
329
382
313
318
300
295
323
313
359
324
331
387
271
277
309
357
296
297
315
300
376
300
337
346
387
289
294
378
303
287
353
336
362
267
248
344
248
260
410
256
353
346
302
303
267
308
332
378
378
251
371
343
353
358
284
338
331
308
291
306
275
333
331
259
383
300
281
316
312
261
363
331
340
372
290
355
371
242
235
332
321
305
346
250
248
336
306
373
249
369
275
333
328
303
379
342
344
370
318
302
340
304
349
296
237
323
352
305
264
244
269
278
319
377
297
266
289
405
369
394
312
316
359
282
330
358
281
307
340
297
308
332
259
277
285
307
366
300
270
411
300
377
307
332
252
282
353
335
288
378
309
295
300
310
330
349
327
408
309
309
328
340
298
328
355
311
229
387
339
325
291
361
261
314
285
355
342
267
329
325
319
338
351
255
283
298
340
343
232
317
362
273
348
313
355
320
342
373
383
325
358
420
267
408
275
396
326
277
329
340
309
367
321
281
343
374
323
294
335
393
322
374
328
279
326
373
290
396
406
283
355
305
328
314
319
258
384
342
259
367
270
277
270
254
384
298
250
273
332
258
225
363
367
314
363
342
355
229
309
322
206
291
307
331
245
361
259
318
283
311
348
313
343
348
390
352
243
283
385
319
298
360
314
304
383
350
273
321
309
291
341
343
264
359
263
258
368
382
259
291
291
313
392
306
318
292
350
386
301
302
316
319
306
267
306
375
245
229
316
318
365
337
353
310
292
302
265
277
301
316
311
298
265
232
296
343
332
381
327
337
322
275
239
284
318
398
349
258
308
355
271
349
286
273
257
307
306
172
393
347
321
377
296
352
359
327
283
248
248
274
322
284
310
263
296
337
343
290
383
336
387
242
328
336
287
227
267
313
346
262
305
354
175
284
346
341
259
233
404
344
316
299
339
236
305
315
356
364
325
293
357
240
162
275
301
257
271
317
437
375
340
294
192
300
320
305
295
290
386
299
304
295
289
375
249
274
294
257
375
349
383
352
329
342
321
258
291
214
337
310
345
209
402
250
322
260
297
303
275
320
319
373
283
355
304
250
379
317
331
359
323
272
275
295
208
298
380
281
265
259
306
320
315
297
330
273
329
239
262
204
382
352
309
286
310
378
400
419
254
292
309
369
348
293
358
298
325
320
272
280
339
318
325
323
321
333
319
380
293
271
317
244
360
348
357
270
293
280
354
271
302
368
360
348
362
403
357
344
303
376
297
252
264
373
197
290
292
275
291
323
369
370
312
337
338
382
355
260
384
293
296
226
346
360
279
274
361
252
306
260
334
362
336
322
369
387
388
309
339
390
282
347
314
372
384
254
364
383
220
265
284
347
300
300
314
325
348
278
319
386
364
359
370
269
310
322
348
319
357
267
324
331
314
358
299
370
306
247
343
302
304
423
237
324
328
393
292
318
370
361
314
259
373
378
400
297
380
404
275
256
328
307
342
308
342
303
307
358
344
280
343
322
317
235
259
337
353
226
292
361
353
349
290
360
340
331
282
332
285
274
300
359
350
257
181
346
344
310
344
390
314
263
314
337
282
298
288
356
347
356
314
383
331
338
312
367
336
312
353
211
304
316
368
315
352
263
330
322
324
306
356
379
315
264
341
302
295
279
288
382
314
251
329
289
273
342
253
265
274
315
246
263
357
255
263
301
417
371
298
299
405
213
332
232
307
326
333
341
285
362
232
329
308
260
260
353
332
297
345
255
350
362
293
314
292
338
227
338
330
258
278
278
277
364
342
375
389
271
187
253
390
412
292
230
343
333
320
220
289
299
363
239
264
367
292
353
308
280
243
256
274
366
322
286
377
324
402
308
396
391
363
218
269
264
320
237
389
316
293
307
325
294
404
298
319
319
307
262
364
339
244
341
261
256
330
333
389
305
339
259
310
335
405
288
289
390
351
315
262
341
311
198
319
209
384
314
324
355
302
323
285
333
308
314
321
346
347
293
311
276
308
328
319
297
361
312
331
306
305
305
386
303
305
327
301
300
288
339
303
325
403
379
450
325
365
154
321
364
334
343
261
318
323
268
287
318
287
299
274
329
294
358
285
347
353
311
246
278
363
313
352
319
293
386
255
230
384
253
284
308
324
333
358
283
277
328
361
437
239
273
275
325
354
331
397
389
348
312
299
352
254
256
339
260
310
346
360
235
285
319
230
344
335
296
314
352
361
321
221
344
286
334
323
316
351
288
361
275
290
285
281
294
326
299
330
282
311
347
285
275
297
288
280
270
311
241
296
328
258
276
294
254
294
331
276
314
356
260
370
294
296
273
296
317
336
295
378
264
280
342
407
387
176
206
214
271
260
255
350
225
279
358
294
313
250
332
346
348
344
240
320
278
306
379
336
243
252
325
286
305
384
331
296
380
372
340
210
305
362
350
337
338
340
364
348
356
281
289
299
273
293
349
259
290
329
244
347
333
296
288
227
323
306
329
357
335
209
316
292
258
314
277
351
293
425
293
281
282
303
326
309
333
413
370
339
329
248
362
287
362
329
288
334
244
259
308
291
363
359
269
262
306
298
341
358
299
253
344
363
333
343
291
327
366
341
250
378
386
338
272
350
355
324
278
279
314
296
280
325
345
331
343
335
225
253
375
280
372
287
352
299
401
312
336
352
309
243
251
345
298
317
285
287
300
339
400
262
321
327
376
282
311
354
344
327
355
272
384
298
254
313
373
360
313
354
305
349
301
320
339
354
325
310
236
362
308
245
357
229
299
348
371
344
329
329
277
365
247
316
297
374
388
252
274
338
267
314
280
295
382
284
359
308
365
382
355
285
295
360
317
357
317
296
336
361
295
384
228
323
375
316
369
331
399
298
313
420
290
278
299
312
320
353
294
344
371
174
304
310
277
339
337
328
286
375
309
282
287
330
293
349
305
355
255
288
358
374
312
371
337
342
318
317
313
350
308
326
276
329
356
353
333
326
358
374
254
254
313
315
410
334
330
294
182
306
238
288
336
324
358
352
331
338
357
318
270
324
337
227
291
262
252
366
383
378
348
319
311
415
255
291
350
331
305
345
285
326
357
302
286
344
275
332
331
284
249
292
291
320
327
341
293
260
318
283
287
282
362
182
310
328
314
350
337
293
392
298
394
267
319
334
294
319
318
274
322
317
263
355
214
399
242
217
330
333
333
337
329
349
287
343
269
365
357
303
304
339
184
295
259
206
322
342
298
275
280
351
327
329
350
263
244
307
286
322
349
319
251
333
288
368
277
225
357
295
295
290
365
272
281
287
367
309
303
284
397
331
319
281
298
327
382
272
363
257
326
399
290
300
349
344
324
377
322
301
345
270
347
318
277
303
287
283
265
274
312
311
364
395
354
402
441
304
382
250
297
310
299
301
352
282
301
428
332
327
297
369
260
316
224
303
285
360
370
356
345
312
368
290
341
313
363
392
329
372
346
343
246
384
370
329
293
414
334
385
327
407
346
205
322
332
360
267
330
289
311
295
373
316
216
288
314
324
253
317
411
432
368
382
335
281
358
387
260
274
364
329
318
331
303
327
358
366
345
307
292
330
240
378
331
262
228
401
265
293
357
384
316
321
343
352
334
284
294
311
319
344
309
331
270
270
331
357
336
323
205
296
296
286
331
353
315
355
329
285
382
346
320
355
366
303
326
270
356
246
250
333
280
261
300
352
284
280
359
274
320
340
312
335
266
299
327
332
351
393
249
340
345
387
323
281
299
365
330
291
394
230
380
291
363
311
321
198
335
325
346
315
237
314
310
390
341
298
250
309
395
322
310
309
289
301
290
297
380
355
263
324
334
354
280
321
293
284
342
298
302
291
312
339
346
376
301
418
337
321
321
389
253
335
401
393
269
352
346
274
270
240
223
261
320
315
305
290
314
295
389
315
291
273
204
281
313
289
384
258
249
369
269
312
320
306
241
320
249
284
371
347
198
342
341
226
309
316
252
382
396
283
263
342
311
382
246
309
306
307
336
358
304
231
383
243
344
247
316
261
306
310
368
293
395
302
406
374
251
307
368
318
274
302
291
352
367
361
301
399
336
347
353
292
316
278
271
287
304
309
441
266
295
269
235
299
264
284
323
300
345
372
298
372
336
387
344
233
358
282
326
315
320
374
350
301
322
277
353
281
292
328
320
325
437
335
272
296
298
302
220
253
317
252
386
261
330
329
263
321
337
342
261
390
354
327
362
294
368
306
277
283
350
338
253
400
265
290
342
252
343
324
281
336
260
276
406
361
375
291
344
323
348
342
380
295
282
284
331
269
305
262
326
303
246
387
377
336
301
301
320
284
342
307
377
309
298
269
418
331
326
417
449
356
337
424
233
258
279
350
339
375
350
334
336
303
344
305
334
391
393
372
351
299
329
401
345
265
233
306
349
311
315
384
287
324
306
293
316
281
463
350
341
270
302
397
344
341
292
364
311
350
322
323
290
335
376
273
342
397
284
338
334
316
242
295
292
284
354
328
289
374
341
336
290
378
313
384
216
334
261
329
230
325
281
339
341
365
375
352
210
323
305
285
269
282
354
427
346
347
391
334
322
335
364
312
329
305
435
302
305
343
353
301
251
371
358
350
290
241
332
323
309
419
437
372
308
286
304
214
346
329
297
255
302
270
325
258
328
341
294
282
324
368
281
362
359
225
371
326
308
402
321
333
302
325
348
285
245
215
350
254
278
313
369
409
340
291
182
356
343
294
307
260
310
189
331
219
314
337
185
327
309
296
326
277
324
335
374
376
349
380
303
303
348
297
302
308
304
304
337
282
297
299
349
287
260
345
336
270
316
202
403
324
339
299
343
307
233
294
313
232
324
332
343
351
326
285
360
307
279
277
332
273
310
353
218
374
367
243
275
346
307
354
253
284
330
362
363
331
268
335
302
292
344
319
349
230
351
276
290
314
351
322
328
308
325
340
256
268
304
329
258
343
373
282
301
253
252
362
287
283
276
403
316
344
356
358
293
280
327
315
368
237
303
366
299
373
353
318
370
279
384
223
299
320
366
308
326
305
272
363
353
343
339
301
289
296
374
308
282
259
305
309
311
244
343
392
355
348
305
301
312
339
289
315
320
281
370
359
279
306
296
318
289
354
368
295
356
300
328
317
356
340
400
283
350
340
265
398
299
254
349
280
284
265
284
357
390
242
347
322
341
330
334
265
384
319
305
241
308
333
286
254
334
312
265
302
338
378
281
288
292
235
252
318
306
372
303
288
285
324
302
346
295
410
349
342
189
397
342
349
277
298
334
231
280
273
201
281
336
254
358
263
289
298
418
311
276
184
369
296
310
393
334
373
247
334
317
316
264
290
332
287
321
316
312
342
321
392
356
342
331
292
283
379
336
330
316
397
262
339
345
280
240
338
287
299
354
310
252
274
342
332
288
306
308
303
247
417
296
305
188
342
267
329
270
341
314
311
322
281
339
265
355
269
301
271
225
416
340
339
309
347
213
284
287
318
298
356
285
307
372
312
272
365
347
266
364
301
301
367
292
377
287
315
265
175
391
326
315
258
338
409
340
289
393
318
352
280
394
310
241
372
283
271
223
368
329
356
330
297
312
360
330
228
314
398
246
342
340
334
346
358
326
327
285
277
326
267
277
257
306
284
294
395
321
314
301
393
387
370
253
303
312
223
304
323
278
300
346
280
277
419
383
315
328
293
254
379
303
260
398
278
344
341
326
358
233
287
257
290
273
320
343
354
349
333
321
270
338
354
336
321
348
294
410
216
332
301
329
285
395
283
340
180
254
307
213
386
320
277
308
275
283
236
354
290
334
313
338
258
261
368
274
338
298
265
276
354
256
358
333
321
336
278
295
257
229
305
301
281
251
286
374
310
286
321
240
315
328
276
364
258
361
316
243
333
404
340
280
384
375
363
277
297
385
290
308
317
320
235
343
327
305
325
285
315
287
387
317
349
237
272
355
341
360
344
320
336
329
342
312
364
275
260
257
245
347
257
242
307
343
323
266
408
295
319
352
327
288
339
233
225
320
313
314
340
316
278
326
282
304
290
374
331
339
371
328
303
364
333
270
335
248
311
308
297
266
327
345
194
326
317
368
284
228
277
289
268
387
355
354
389
356
299
220
365
235
310
329
381
346
315
373
329
287
253
245
318
263
330
345
315
325
355
284
203
343
389
362
328
318
270
396
376
374
342
356
357
299
340
376
323
384
303
335
207
370
325
294
316
418
335
298
365
241
391
323
324
345
278
308
360
333
368
264
181
366
255
303
257
373
161
397
272
394
328
261
338
398
322
246
308
257
344
330
391
337
275
337
335
341
309
267
341
398
322
282
343
280
328
309
331
336
338
336
334
381
290
296
352
352
305
397
323
244
350
332
367
291
384
321
186
355
287
268
397
293
293
301
386
310
342
339
215
308
239
370
286
312
305
308
346
234
342
371
237
386
292
291
298
325
427
335
292
179
290
242
354
290
275
365
278
271
420
275
322
190
329
290
379
307
290
255
309
390
230
268
287
383
362
317
235
325
367
322
273
330
354
239
266
342
361
334
247
244
363
311
351
272
366
306
398
315
292
362
250
240
294
363
278
260
321
312
385
326
354
329
293
312
257
234
309
330
315
315
239
253
311
307
341
202
324
340
343
306
336
404
333
357
286
295
330
315
340
337
369
380
338
377
339
306
350
236
265
288
377
262
288
336
394
365
357
298
315
254
363
326
222
310
292
286
303
345
222
349
307
289
309
385
284
395
331
235
325
318
288
259
399
295
322
255
328
307
340
290
317
314
347
313
318
306
362
291
328
306
355
383
378
296
326
375
364
399
248
408
378
291
313
266
353
367
368
374
326
286
287
294
331
351
377
338
266
268
304
328
321
284
342
314
346
251
324
287
270
274
304
316
407
256
375
374
340
355
319
295
357
363
288
325
263
279
282
289
326
260
226
297
309
342
384
379
247
334
301
319
283
330
314
383
320
242
375
306
358
365
269
370
259
290
272
345
267
313
348
250
227
343
306
359
270
328
346
373
257
323
278
382
371
278
344
321
355
291
373
358
331
327
316
335
397
371
344
250
349
310
330
356
317
354
249
203
383
271
359
333
216
314
308
193
353
169
338
357
310
312
294
300
331
357
282
234
300
351
259
377
397
348
321
320
310
262
334
354
305
342
263
293
335
375
308
350
411
331
310
266
336
372
326
274
333
378
355
353
319
353
295
306
305
356
329
285
286
277
297
314
325
255
309
350
313
287
277
323
270
324
353
272
238
319
290
269
339
253
385
235
317
324
334
302
354
426
339
292
306
272
330
295
282
287
299
320
339
290
248
323
307
251
303
341
297
260
374
326
321
378
279
349
320
342
374
301
288
326
329
347
346
317
369
320
307
268
253
309
295
388
216
335
337
355
342
320
287
291
343
286
312
360
339
368
309
357
337
285
222
368
302
275
362
332
343
339
309
327
300
329
332
223
261
310
329
326
253
333
321
286
254
246
305
319
303
314
315
308
356
385
308
297
307
334
274
327
369
326
335
346
291
323
268
304
292
305
330
311
311
330
273
239
333
237
391
281
311
377
360
359
213
305
390
278
307
196
298
317
359
356
299
346
339
284
399
320
269
261
351
368
345
292
336
330
354
329
331
336
338
385
304
286
402
231
331
302
341
282
416
416
323
302
390
321
312
430
269
256
298
351
345
271
332
327
363
280
366
287
334
262
293
341
311
259
344
315
329
295
416
295
263
339
374
304
292
307
338
241
338
337
296
267
302
385
311
226
276
350
304
325
301
354
339
250
338
315
314
265
329
278
470
345
327
234
316
324
314
235
328
312
396
334
315
371
304
254
243
371
352
257
286
268
341
331
347
371
323
389
327
272
274
356
266
359
334
310
313
272
254
359
361
357
364
301
266
367
272
305
331
323
306
359
335
339
327
335
264
324
370
389
289
329
341
260
310
290
285
269
279
331
224
329
378
347
277
349
312
321
352
278
212
295
331
390
368
270
370
316
241
337
280
268
326
290
336
308
257
271
275
276
312
309
324
302
309
316
239
229
372
356
335
282
293
332
315
306
321
295
382
360
323
335
258
372
334
338
304
291
318
373
290
369
372
242
372
344
319
322
381
346
356
271
347
228
281
352
296
294
289
294
335
279
322
366
382
242
306
294
277
266
314
337
217
315
378
355
341
318
230
333
337
365
319
366
317
334
274
328
373
315
374
350
329
278
336
296
247
384
383
257
298
328
246
378
290
371
293
293
266
331
265
356
278
244
233
337
287
341
285
348
311
261
307
255
338
352
330
343
325
362
236
325
373
342
274
331
327
237
285
360
357
356
309
336
313
317
360
293
393
442
323
355
330
357
345
281
300
362
360
245
328
269
303
329
308
281
280
340
361
272
327
339
356
340
335
280
375
316
352
301
332
233
363
335
394
309
269
380
264
304
296
304
399
281
303
272
294
282
291
304
319
273
366
311
321
220
319
341
378
282
397
301
326
294
289
225
253
262
268
322
357
229
284
329
230
355
295
328
289
165
384
360
261
372
371
317
347
294
277
353
317
371
329
392
305
337
333
310
298
335
310
214
303
336
331
344
324
334
367
396
330
278
304
362
312
275
343
290
261
260
333
336
280
321
297
322
316
320
364
328
304
352
268
326
353
339
357
272
406
358
291
267
265
325
325
331
266
300
368
411
308
357
334
300
313
354
270
301
325
282
229
347
338
227
328
357
262
348
332
276
301
333
369
343
284
343
291
305
309
279
322
323
232
305
223
341
351
313
331
378
385
312
356
325
298
399
386
353
332
307
352
406
307
359
311
349
331
290
273
313
274
336
324
248
288
391
251
275
339
349
353
288
331
332
350
318
287
286
368
382
357
306
363
373
301
227
347
327
345
261
374
317
413
362
251
342
332
292
329
353
351
279
389
266
322
335
321
263
338
292
303
262
320
296
361
340
304
308
348
385
262
233
322
300
291
312
318
348
284
321
333
299
371
336
284
276
254
300
299
321
252
273
322
269
314
297
318
346
320
293
341
330
275
365
388
343
366
275
220
346
373
282
309
315
271
314
301
271
320
298
335
279
382
228
237
241
391
328
313
308
311
342
349
278
285
210
268
304
308
412
369
326
373
286
351
229
332
331
340
269
275
358
301
323
315
321
287
333
334
218
336
337
365
286
268
317
269
324
291
330
302
343
284
351
364
323
343
264
280
213
346
254
337
354
399
302
283
305
322
361
284
330
374
246
378
303
278
313
237
275
418
320
291
298
326
213
252
352
307
263
299
322
245
273
340
377
327
331
313
397
273
391
300
290
362
249
364
310
342
332
330
255
338
357
333
268
284
320
255
302
292
325
335
314
232
271
358
274
293
300
364
246
309
371
338
366
286
291
332
326
357
273
257
341
307
311
351
274
324
331
379
269
314
351
306
302
415
315
361
279
259
286
311
270
363
329
312
343
236
341
404
445
310
315
354
313
321
345
269
296
334
292
367
289
419
281
340
377
293
273
314
284
299
260
272
229
337
255
300
333
310
285
359
379
347
384
282
358
241
351
368
235
248
373
346
319
274
284
291
329
261
342
325
283
336
265
264
309
291
344
314
230
378
269
318
297
329
278
345
301
416
235
319
289
336
382
321
261
298
319
393
244
253
294
286
290
366
259
282
333
251
294
352
280
278
276
253
311
277
356
296
281
366
366
326
298
310
263
241
312
217
399
292
303
349
241
371
281
305
362
348
323
324
321
349
339
339
232
235
261
322
318
235
311
294
318
329
329
365
273
310
249
312
266
247
321
309
321
281
346
356
345
292
303
346
391
343
271
272
363
326
323
226
243
371
323
277
346
358
322
281
316
331
245
376
385
312
258
337
416
407
350
324
333
386
351
288
258
319
331
263
280
357
289
311
242
300
301
262
355
302
315
294
387
330
345
424
322
332
353
260
317
305
231
275
293
321
274
332
388
328
294
307
373
265
312
393
276
274
379
310
370
243
318
360
272
287
220
295
294
348
356
318
322
278
284
254
382
377
394
277
261
323
277
318
323
377
306
281
255
316
326
334
332
354
348
277
283
355
334
179
288
272
361
312
342
370
298
315
275
206
357
289
315
350
410
330
318
293
297
253
365
172
324
332
331
387
344
362
298
299
304
220
346
267
351
364
307
234
346
288
293
280
419
398
289
371
353
336
418
288
359
285
261
376
267
335
333
317
366
270
287
330
340
392
270
286
325
311
324
212
312
274
352
293
285
279
327
289
216
340
385
245
251
385
421
346
283
347
300
222
347
217
338
292
298
272
276
358
395
312
365
364
281
330
293
321
223
354
342
330
322
260
335
328
316
323
206
267
352
315
375
355
350
296
311
329
339
281
276
419
318
324
203
328
300
298
362
326
330
245
333
291
345
392
309
310
268
327
277
291
402
329
365
387
308
397
365
350
370
295
380
349
260
354
302
389
367
347
307
362
329
357
297
197
351
241
421
229
356
342
364
306
345
301
309
312
297
332
293
263
282
336
407
310
294
288
285
379
271
345
334
340
253
326
353
314
377
298
345
339
279
354
271
353
321
303
386
294
284
272
262
246
343
285
333
240
373
218
261
341
360
385
367
354
284
288
292
354
274
285
346
431
312
398
259
286
318
292
259
324
217
286
334
339
264
291
309
345
315
349
304
281
296
359
338
378
358
375
329
299
265
320
264
331
272
285
309
309
280
324
285
286
349
335
381
410
290
399
327
329
269
218
315
313
210
353
266
276
275
293
295
333
336
407
399
359
313
366
318
284
208
249
327
323
306
309
301
299
250
251
338
259
338
315
229
299
389
362
189
378
331
261
354
314
272
302
432
387
326
290
320
320
267
356
272
323
312
350
291
270
261
283
271
247
221
347
322
164
275
253
263
337
294
318
334
269
260
368
320
225
249
351
297
279
222
325
374
356
304
260
333
369
288
240
237
380
326
422
303
246
290
330
392
341
322
223
272
305
301
323
328
254
374
283
277
346
372
327
266
401
327
285
264
293
302
401
292
386
316
298
256
360
319
298
346
314
305
328
257
283
357
357
325
337
331
347
292
336
244
331
317
243
354
212
326
260
335
325
217
394
330
286
247
215
228
317
350
306
325
369
361
250
257
358
308
259
341
218
323
295
280
259
322
413
312
261
345
336
377
301
296
233
371
286
330
380
301
388
259
241
258
323
305
320
260
349
389
335
288
394
358
340
298
387
362
329
363
340
281
284
329
304
374
320
327
348
289
304
318
378
263
357
373
281
324
312
271
275
416
301
195
327
333
249
351
351
299
310
191
381
297
296
354
326
256
331
276
359
317
334
331
322
342
294
337
307
293
319
311
368
362
282
303
347
299
269
361
329
331
301
326
380
323
316
388
371
307
339
257
305
305
373
342
363
282
336
373
312
324
336
383
281
331
345
347
304
364
321
313
326
312
378
341
304
281
336
326
343
365
221
276
317
380
341
316
302
313
297
311
225
260
197
295
254
319
310
236
305
278
348
320
368
336
368
289
348
283
342
203
233
399
329
349
404
291
316
311
332
388
307
279
247
262
295
339
338
364
280
381
295
333
254
386
303
270
377
306
280
235
305
338
382
456
374
339
386
295
223
324
374
293
322
323
335
321
341
398
293
285
328
284
258
314
284
265
332
278
238
323
289
318
367
317
275
268
309
314
272
354
247
347
403
304
264
302
362
398
325
379
346
353
363
317
290
269
317
324
333
304
315
291
298
260
313
341
267
398
308
294
285
367
343
299
271
385
284
341
286
331
366
357
266
365
313
319
356
264
261
302
291
338
305
328
366
291
314
352
322
406
376
351
332
342
347
318
246
367
387
295
307
264
270
220
338
347
389
332
373
372
308
289
335
320
350
355
385
335
375
257
284
391
342
345
342
387
345
276
322
250
286
288
300
246
308
339
326
317
383
294
270
298
334
251
314
320
215
322
307
277
342
337
289
306
423
293
356
320
220
266
279
264
335
273
291
307
247
318
323
273
345
349
275
280
334
341
240
307
243
253
317
275
313
289
349
399
303
373
293
311
265
354
293
295
347
321
321
347
351
344
301
267
418
370
301
298
334
398
360
402
251
298
283
326
317
276
314
304
300
204
274
299
313
352
212
260
233
285
331
330
359
365
325
268
390
286
400
395
395
316
335
322
363
390
254
328
281
306
251
299
289
394
303
337
272
395
297
330
334
348
310
331
303
255
293
368
292
334
358
331
382
355
311
298
332
316
225
410
317
241
336
336
300
269
286
251
197
425
228
361
232
313
293
276
330
314
376
317
179
195
323
388
308
394
320
320
278
318
378
290
309
340
308
309
326
262
304
330
352
324
306
333
300
256
363
349
253
361
221
361
295
296
309
341
281
270
325
331
261
233
337
329
339
300
321
300
320
360
322
278
401
358
357
324
276
291
310
323
359
312
277
323
357
304
384
334
303
380
306
262
331
411
299
301
290
315
405
287
353
355
324
397
301
308
375
370
287
272
374
283
286
312
371
298
352
325
262
334
342
310
318
255
349
364
256
384
274
268
342
326
313
408
333
332
271
313
295
379
438
289
362
314
351
342
381
291
364
282
203
364
284
304
331
265
230
292
338
331
303
354
391
355
287
335
229
319
302
250
385
335
312
261
284
234
368
276
424
294
308
360
336
251
312
329
315
286
343
287
366
385
417
381
305
258
342
320
317
321
379
318
298
332
345
317
248
305
255
291
281
314
317
331
271
342
332
350
343
334
328
384
339
282
351
229
328
289
297
343
340
287
326
377
363
275
294
289
368
350
325
314
225
270
239
332
269
373
306
330
265
301
252
261
287
409
346
355
364
381
281
384
280
381
303
335
315
241
253
312
275
300
287
221
405
306
283
276
307
325
364
294
292
290
256
269
286
226
293
318
337
179
291
268
356
378
316
378
329
382
330
300
331
234
383
241
374
348
281
343
365
318
343
279
397
316
314
302
318
305
312
302
320
319
254
369
340
276
330
321
325
312
356
219
321
322
262
362
263
379
322
301
323
385
344
304
270
331
298
207
324
271
259
239
319
288
287
295
353
356
303
222
272
305
219
299
414
290
347
327
266
355
379
245
360
332
294
352
282
280
287
272
333
290
272
337
345
317
253
277
353
357
314
377
310
311
259
258
287
250
180
275
270
276
372
281
343
375
354
327
298
248
303
342
298
390
358
342
390
347
216
428
335
277
287
278
312
311
352
307
271
279
296
346
259
359
284
382
253
352
310
317
357
360
329
365
254
298
321
337
322
355
315
375
353
334
292
328
336
241
367
343
333
339
260
311
315
354
257
335
263
294
319
334
303
265
262
334
293
250
351
410
295
270
300
329
283
242
335
365
428
232
255
327
347
340
234
339
354
362
397
343
340
298
311
312
293
362
364
292
296
297
301
283
236
256
357
343
338
328
333
370
356
282
325
350
330
378
428
264
356
278
243
377
319
382
348
239
398
248
347
349
324
395
301
335
335
266
343
322
303
319
268
231
272
344
294
367
295
340
288
381
371
318
338
362
314
301
348
397
193
333
350
300
317
297
320
338
313
320
339
323
265
348
317
279
382
188
341
294
248
301
373
288
299
402
292
343
263
314
345
263
288
357
260
342
282
260
322
314
278
230
275
313
365
298
337
403
259
321
266
262
290
284
307
291
328
205
327
276
312
249
349
310
267
270
243
364
277
246
394
373
316
302
301
269
336
310
292
283
365
321
385
277
350
346
358
383
293
364
321
250
362
374
304
310
370
350
305
356
244
309
255
314
286
344
289
270
322
353
433
305
389
368
326
303
310
308
328
318
328
339
257
281
309
296
338
354
286
281
289
294
284
276
368
342
395
329
348
365
374
363
344
347
298
323
327
301
270
368
341
413
387
285
275
305
341
336
266
302
401
403
398
336
304
267
340
314
235
376
290
341
282
358
285
298
332
243
382
365
331
377
388
322
256
292
339
327
338
343
321
281
332
267
299
344
360
335
340
337
355
254
317
368
207
292
298
289
350
334
304
334
292
299
309
407
254
202
286
302
322
328
319
390
338
347
405
245
307
353
232
319
336
245
288
266
277
330
240
290
223
299
264
248
219
219
274
319
351
278
293
342
278
335
283
298
320
300
333
282
287
365
345
288
263
335
357
283
286
396
321
363
249
358
280
414
251
335
328
308
316
318
306
364
327
347
310
322
301
301
338
300
351
314
338
312
368
267
322
317
346
315
289
273
281
332
298
238
304
323
287
314
334
292
288
314
296
235
373
287
388
341
266
314
273
336
321
335
391
392
386
279
275
236
226
253
221
305
224
355
388
296
245
276
308
319
290
395
349
357
330
201
374
245
306
286
320
337
309
320
351
278
413
261
338
226
238
310
303
332
251
261
382
339
359
216
273
300
287
311
397
325
380
345
310
332
311
296
374
391
366
271
335
260
229
317
293
366
353
283
367
365
253
339
388
352
333
284
291
322
343
249
148
363
399
263
334
280
377
333
336
266
302
345
342
297
334
274
208
413
325
337
378
213
332
344
324
237
338
391
347
390
274
310
274
274
313
324
338
302
356
380
349
310
350
334
378
377
387
296
255
356
335
293
329
313
290
264
358
249
334
314
375
327
381
310
263
316
327
280
343
234
296
257
248
357
344
227
301
357
252
397
344
287
341
327
324
249
298
339
295
382
380
301
318
261
343
325
322
275
325
350
311
301
335
262
305
383
304
349
199
328
340
343
251
339
326
230
313
357
296
315
394
309
305
362
328
338
379
358
336
272
367
279
335
332
300
399
358
414
230
275
316
374
325
335
371
341
311
346
298
350
282
308
343
320
350
388
361
340
239
322
365
306
297
260
314
303
362
344
330
270
362
253
315
224
336
252
269
281
303
318
324
241
338
211
309
242
341
360
389
364
278
208
284
342
364
286
269
265
345
366
267
388
208
281
315
337
351
394
381
272
275
311
324
366
250
267
302
321
287
349
345
236
355
336
214
297
357
334
305
265
219
284
376
235
311
278
310
344
298
208
355
256
294
331
404
286
334
297
300
243
318
303
283
200
400
317
321
258
295
286
288
313
331
318
247
248
266
287
337
333
315
338
301
318
299
344
298
326
273
375
268
333
370
238
314
288
310
291
374
275
239
345
276
344
323
256
343
346
263
274
319
287
244
250
395
315
391
311
363
358
381
245
288
300
276
356
320
390
291
331
374
291
331
269
337
388
413
332
315
397
310
220
395
304
331
283
231
347
339
392
295
358
368
279
327
284
321
338
307
333
310
369
337
365
394
205
226
363
325
375
347
261
223
298
321
320
310
334
357
399
302
328
289
307
356
342
247
270
301
248
325
328
288
306
236
273
291
328
326
243
301
271
293
343
358
337
262
262
317
326
359
255
266
325
239
321
321
272
288
262
382
341
335
358
324
341
283
314
308
331
340
264
312
299
311
323
314
305
343
382
333
339
377
304
297
294
348
266
317
386
347
348
432
330
275
293
267
426
282
254
365
301
353
342
310
268
328
348
365
364
332
358
343
262
356
299
357
305
330
372
262
314
271
175
339
362
313
318
313
335
324
336
305
283
403
396
314
307
273
348
364
286
399
284
305
279
291
234
190
387
290
277
332
303
264
316
331
282
345
334
439
245
327
321
244
349
322
301
313
304
291
266
285
303
340
348
270
300
390
308
326
299
265
245
328
317
398
273
338
330
257
320
357
387
279
335
249
316
404
346
330
365
296
294
288
259
254
364
274
308
344
220
368
280
248
333
321
386
246
201
397
363
324
391
379
340
373
344
332
332
249
319
217
379
340
346
271
208
312
271
307
281
288
327
360
301
338
382
296
297
352
368
263
267
321
340
219
339
281
251
265
297
285
259
361
391
299
395
350
235
328
349
246
284
270
316
317
330
315
298
216
376
236
325
307
363
357
200
336
242
415
287
359
283
318
320
290
279
385
314
335
320
316
275
373
203
397
448
327
345
248
355
238
295
330
264
343
341
342
303
320
293
323
330
336
268
354
310
285
316
247
290
213
288
320
252
248
353
337
339
268
377
292
364
295
378
323
236
229
367
332
299
290
288
312
295
404
320
245
323
336
386
346
286
344
261
292
315
390
375
359
285
263
391
309
293
386
401
331
316
336
357
281
236
208
325
312
342
323
348
351
268
349
305
259
369
268
238
295
406
222
343
259
350
354
379
324
285
282
240
322
282
315
372
279
249
292
353
329
322
348
290
262
278
276
373
387
276
360
325
314
377
322
262
212
331
314
332
367
341
313
294
250
368
334
265
359
383
311
370
270
354
268
278
260
341
272
293
304
345
292
350
364
238
327
364
279
322
251
283
322
332
308
337
328
321
364
279
294
339
275
283
243
342
255
399
434
272
346
313
344
178
299
330
352
328
336
327
152
320
277
252
252
352
336
340
247
229
266
242
282
304
385
246
341
337
308
349
290
320
277
386
303
378
292
355
304
321
261
378
405
328
238
341
376
306
307
309
376
275
350
359
380
322
297
342
344
324
276
290
229
351
345
217
353
303
348
267
353
270
250
337
316
289
279
391
329
337
305
243
344
306
383
353
298
360
324
365
397
316
354
314
276
306
381
317
348
272
294
276
330
225
327
260
302
376
343
338
339
324
344
293
377
376
330
382
366
288
295
291
352
371
295
322
337
354
354
318
294
341
344
344
372
256
281
323
248
258
348
334
334
361
383
307
361
285
301
342
271
255
239
293
297
357
328
310
419
343
377
209
297
312
233
256
376
259
314
304
331
304
246
319
335
361
295
337
296
381
230
322
325
376
402
337
350
278
319
304
297
260
290
335
368
331
289
324
346
365
343
338
384
281
351
291
269
397
314
374
288
303
242
360
344
337
283
335
346
320
248
370
410
364
266
315
334
269
283
338
392
298
319
332
291
294
306
307
312
236
203
305
290
315
289
343
337
220
266
303
362
335
305
176
323
300
333
374
246
362
316
389
383
304
348
290
369
316
281
349
438
388
350
311
315
302
371
374
358
373
314
277
210
314
349
293
359
408
339
312
415
290
309
333
283
252
284
299
320
300
329
359
256
404
359
352
321
252
360
186
337
370
354
305
309
330
359
232
208
381
316
259
441
277
416
301
378
232
275
259
339
270
420
309
317
327
259
396
401
367
310
354
277
332
296
285
363
341
342
361
289
279
245
355
342
343
361
318
330
319
309
328
342
319
279
362
235
289
313
272
376
306
348
301
364
256
325
271
323
320
274
345
337
253
389
335
257
352
258
394
378
411
357
206
335
286
250
304
352
389
411
376
328
339
375
273
290
326
378
257
199
283
282
314
380
307
314
306
320
373
346
236
241
305
295
327
344
227
311
333
232
261
376
352
285
296
333
374
325
365
303
323
340
275
388
359
349
316
246
320
324
225
307
273
234
428
372
362
363
367
270
259
317
368
339
368
298
270
351
304
366
284
328
309
369
273
319
325
334
363
349
377
265
298
347
287
332
330
352
277
309
346
342
289
277
381
258
287
309
291
320
366
247
249
316
268
378
341
327
294
296
344
278
306
286
407
251
318
358
272
316
264
351
433
312
295
354
386
296
286
357
335
283
314
223
235
322
300
294
352
238
307
294
350
317
292
333
271
309
320
312
268
364
285
346
365
344
139
329
353
289
323
348
309
307
316
216
361
340
300
290
265
323
290
334
419
329
285
331
359
336
332
303
324
347
314
292
311
392
350
338
307
333
298
286
294
366
238
300
276
285
269
301
245
302
308
359
244
295
281
319
360
368
291
354
268
364
288
360
252
396
342
281
277
259
344
368
313
261
426
353
303
316
356
380
265
316
366
383
324
270
276
316
360
305
279
369
270
228
336
194
354
274
293
317
347
363
259
335
293
348
308
360
306
270
325
336
286
299
313
259
320
269
288
348
285
381
331
333
308
368
283
342
295
322
323
265
343
322
358
340
294
292
352
312
259
323
405
224
395
328
334
339
295
308
241
322
351
326
242
343
240
288
362
310
317
261
250
295
269
318
251
347
371
300
360
349
348
325
281
373
338
377
306
265
318
353
345
362
289
277
307
358
371
279
240
365
315
286
370
249
323
306
387
306
315
308
368
384
250
269
284
236
324
367
371
295
371
325
317
336
332
266
324
324
357
247
362
233
328
287
371
302
387
302
260
364
286
356
278
258
364
341
396
330
294
350
369
285
342
255
319
376
277
307
374
276
250
327
259
356
288
325
351
347
335
377
241
317
310
305
286
346
307
353
310
268
294
249
247
325
265
268
351
269
314
355
285
266
308
244
333
359
344
300
222
291
372
278
316
266
273
311
264
308
273
319
233
272
286
320
280
294
191
255
280
351
392
326
320
322
290
335
356
404
370
311
310
362
344
245
293
380
339
260
324
284
274
323
385
347
364
325
294
231
272
281
195
306
232
287
324
357
273
373
319
383
336
369
383
328
317
281
331
358
332
376
352
360
268
338
307
315
333
220
205
249
340
286
233
255
242
336
304
309
233
404
329
393
308
393
305
342
304
337
298
320
220
292
277
332
251
353
344
348
297
309
275
318
257
273
339
377
356
335
262
346
347
403
271
301
287
388
301
318
274
349
361
286
304
269
334
262
371
280
276
317
349
350
349
259
333
297
264
367
300
273
315
352
338
255
279
365
317
291
344
327
306
336
238
284
278
298
261
260
392
250
359
383
343
317
387
354
298
344
345
395
313
260
307
260
278
277
270
303
283
322
296
375
320
288
288
354
256
247
374
254
305
327
379
338
348
260
359
294
315
378
281
363
359
276
302
354
330
290
329
268
311
250
311
287
230
324
233
322
311
295
272
278
313
339
337
370
254
360
350
344
396
363
413
360
356
320
311
336
351
315
235
367
359
212
367
264
357
346
368
272
339
303
238
372
298
356
363
315
339
392
363
292
293
270
346
327
321
305
290
320
333
355
319
348
301
312
251
252
304
323
267
304
393
312
340
312
249
197
325
275
342
380
332
292
331
258
412
315
327
279
262
297
339
349
296
353
234
270
324
234
201
282
296
333
320
348
265
314
346
309
270
363
345
284
321
251
348
276
349
283
269
284
319
321
279
244
395
365
389
362
358
329
345
359
284
257
316
348
289
316
268
338
254
333
304
294
226
276
272
331
375
224
244
337
416
278
232
309
266
295
312
409
335
320
315
300
281
321
377
341
282
360
230
376
375
379
289
318
327
272
293
227
374
326
345
265
344
405
337
171
267
261
356
316
310
362
370
308
332
340
344
360
290
220
256
284
363
288
288
250
252
233
335
276
245
349
380
277
325
395
313
277
331
299
362
326
292
307
315
292
305
306
193
254
360
248
333
326
324
302
260
258
254
355
366
261
324
323
300
299
276
289
329
276
327
349
301
289
297
283
334
335
301
247
306
208
342
257
289
329
369
256
288
340
331
295
281
330
304
329
292
267
257
251
301
285
396
329
269
232
349
332
387
329
340
318
300
300
262
336
402
294
370
309
317
325
303
311
326
392
267
309
254
293
310
382
366
323
327
310
290
219
367
400
266
260
346
247
240
409
351
351
307
312
365
285
299
319
333
347
349
331
290
294
398
253
280
241
254
334
280
387
292
365
376
348
310
297
361
269
294
324
359
259
320
256
351
254
334
366
355
352
242
278
331
272
352
317
324
370
328
308
277
354
325
381
348
406
246
235
255
256
223
312
320
269
325
381
185
321
265
270
317
299
392
232
290
260
347
322
284
244
232
266
358
351
295
377
301
197
333
349
276
282
310
330
278
324
342
346
368
336
285
315
324
322
290
284
246
257
254
305
349
362
260
305
252
451
243
340
365
323
385
364
283
232
361
305
336
377
298
282
395
358
340
339
332
328
299
299
221
330
248
341
374
208
271
282
337
283
294
301
318
322
305
281
318
266
312
274
300
229
255
247
271
348
314
296
360
305
286
302
337
326
360
368
311
311
337
261
283
216
357
322
250
307
207
308
400
339
283
362
423
274
339
335
256
322
278
352
297
325
350
343
351
258
296
304
363
345
325
300
350
315
317
359
365
266
309
274
347
321
333
372
262
327
305
304
253
351
306
308
331
297
396
350
306
403
360
340
426
240
353
303
255
268
263
277
321
275
339
350
347
339
375
363
405
365
282
308
317
326
307
305
382
371
317
367
347
343
311
289
251
277
337
370
281
320
353
292
373
279
308
285
366
407
343
288
331
366
294
367
291
360
337
337
310
308
301
303
309
291
371
347
264
337
274
364
236
337
294
365
414
343
257
379
323
321
306
332
286
317
279
339
311
360
364
305
346
398
314
258
303
325
344
266
401
299
302
338
310
356
268
341
277
259
366
354
292
229
320
371
238
354
276
298
278
355
266
312
327
299
319
327
325
303
325
377
254
335
340
322
370
293
297
425
311
283
370
220
346
297
327
250
396
307
242
332
317
239
341
199
304
357
293
408
331
303
405
319
293
331
315
363
309
282
317
289
375
343
272
297
283
388
229
307
268
317
309
223
291
260
296
331
317
312
313
369
329
395
337
302
319
369
312
293
331
283
273
310
280
379
319
289
339
305
327
370
221
258
308
314
221
367
222
376
311
405
315
351
340
227
309
361
287
206
349
266
300
280
419
271
299
394
324
297
284
389
264
258
360
276
319
222
218
350
286
216
319
256
244
365
320
262
304
277
358
334
403
324
347
279
343
275
348
320
363
330
366
265
327
305
336
338
336
362
305
269
351
324
311
390
388
320
281
373
346
314
334
301
372
325
385
359
331
328
250
343
332
279
330
291
290
290
390
360
257
328
351
299
239
243
300
338
346
322
297
245
278
256
346
309
380
215
386
315
314
254
294
362
276
345
255
325
278
270
322
375
352
268
366
386
232
383
326
303
307
237
336
310
349
295
374
357
194
362
313
317
368
354
336
402
320
184
222
334
329
364
335
256
269
303
313
319
357
361
336
344
240
315
324
263
350
352
256
300
362
424
311
383
296
306
321
332
335
310
345
354
382
261
395
342
325
301
301
369
327
294
361
348
351
400
405
301
288
268
378
308
314
393
382
304
355
336
287
377
386
203
324
251
335
326
294
327
208
296
294
365
327
284
320
282
297
328
244
253
322
274
293
359
364
382
271
230
290
382
405
362
357
291
355
365
352
324
297
332
247
292
348
347
276
312
377
352
317
339
290
322
280
318
296
322
360
281
310
299
407
297
292
363
387
315
304
365
344
220
411
335
320
425
288
318
330
368
383
249
286
304
287
287
171
318
278
278
325
341
295
330
308
362
326
280
280
213
344
288
249
287
404
406
311
334
282
320
183
211
329
298
289
241
380
322
395
247
378
356
390
388
371
294
224
332
264
258
348
268
316
369
298
311
344
266
365
262
261
312
269
286
267
372
237
277
299
399
340
333
365
353
307
337
224
363
339
279
320
343
352
290
256
305
342
356
326
281
328
344
253
361
305
364
369
352
289
314
342
266
225
249
311
272
383
388
343
332
306
330
354
317
353
307
347
343
280
284
316
292
302
299
322
298
331
362
334
307
318
270
302
354
327
287
288
340
261
361
328
317
242
328
323
282
277
332
363
304
436
325
317
301
295
295
358
293
297
277
312
380
293
357
358
274
317
292
300
349
287
286
263
282
328
345
312
340
330
312
338
337
314
270
274
296
270
310
343
315
246
341
307
346
312
316
310
329
258
311
315
307
339
362
358
342
326
345
247
316
333
234
292
412
337
327
343
236
315
324
379
381
322
374
239
199
343
316
299
396
347
374
305
366
285
300
288
278
307
256
312
342
330
334
302
298
307
261
317
354
268
303
375
323
274
333
283
298
283
313
364
249
325
267
327
225
302
280
252
205
240
261
297
328
323
338
325
284
333
291
301
333
240
363
337
318
326
231
285
368
307
304
353
346
300
324
294
329
300
328
319
380
366
304
347
334
268
210
355
394
358
368
293
257
247
321
304
256
367
259
272
301
341
289
292
271
328
317
289
379
337
328
355
316
269
225
327
252
273
333
233
357
315
332
316
342
292
266
248
379
328
310
320
300
317
389
319
277
329
413
386
323
335
358
273
326
284
328
398
317
326
293
240
353
411
286
347
334
285
347
273
345
308
305
382
252
308
292
265
328
330
355
325
307
263
288
374
307
290
259
350
319
344
331
383
385
295
369
401
355
252
268
327
271
342
319
292
270
284
294
367
234
345
298
388
360
352
310
394
348
316
284
298
345
219
364
322
289
323
334
293
344
362
278
351
221
316
346
402
237
306
339
307
299
324
337
349
343
258
387
291
218
316
266
284
275
324
298
319
277
347
232
389
263
308
350
302
335
241
320
275
306
380
215
365
283
306
364
257
273
378
338
296
311
333
207
335
280
290
327
390
297
325
264
200
256
283
287
344
408
318
346
368
273
277
284
295
345
358
322
298
309
266
301
244
296
273
335
275
338
297
314
396
287
304
332
300
331
296
313
302
409
315
285
321
200
322
340
333
342
316
284
285
350
316
237
343
279
348
318
361
348
362
259
276
284
305
324
247
339
354
320
263
355
383
298
381
323
353
290
332
315
317
281
392
293
361
337
305
388
411
326
326
383
250
294
319
362
370
336
361
360
310
330
333
304
263
339
357
285
327
326
384
246
263
322
260
329
376
382
277
383
397
325
297
360
362
306
262
374
275
334
418
353
358
308
304
322
279
384
299
271
353
321
300
385
269
332
300
361
323
357
251
304
331
313
286
307
265
374
380
289
261
302
399
294
300
320
339
332
243
335
317
310
314
338
315
298
308
205
347
417
276
243
297
243
366
351
371
281
412
325
293
346
327
312
283
242
442
297
325
359
337
270
272
306
311
318
277
349
313
376
284
291
285
225
420
300
271
374
302
415
314
324
325
419
286
378
363
289
250
341
264
339
257
245
332
273
352
324
348
253
261
328
361
239
285
315
322
357
220
344
317
292
195
311
397
292
285
416
263
266
335
361
310
320
243
425
310
320
282
327
291
362
358
324
343
254
292
325
341
278
258
286
353
344
369
321
307
274
334
184
275
272
265
305
393
284
299
399
377
322
306
303
368
372
317
340
275
213
304
320
359
283
324
291
351
342
278
282
331
305
346
263
357
320
254
343
294
305
299
267
324
371
333
208
306
268
310
300
469
334
332
279
369
315
355
339
359
320
294
364
332
308
302
329
290
293
292
348
327
283
397
288
314
273
291
268
332
324
366
367
271
295
260
353
295
353
337
297
375
291
328
401
321
303
354
293
385
287
342
316
321
377
344
338
360
238
302
284
318
283
228
330
379
301
322
365
264
372
287
283
301
274
404
281
350
372
277
351
287
345
289
277
323
268
315
300
312
334
319
269
335
351
278
326
263
226
295
322
368
264
250
300
268
333
316
392
276
266
304
221
350
267
351
331
302
347
270
268
270
371
374
271
331
331
362
323
288
277
353
325
350
273
306
174
268
340
360
320
290
309
363
297
401
293
235
376
279
246
324
238
318
323
398
304
312
281
277
322
301
372
329
336
274
363
275
308
377
322
374
325
336
282
367
196
246
298
341
266
354
318
336
311
262
299
325
373
384
262
242
361
340
388
325
365
336
276
281
344
417
364
297
316
296
341
320
289
344
383
304
317
367
351
280
245
268
299
357
302
296
336
327
365
294
348
351
401
294
352
360
325
268
354
349
302
300
306
345
335
277
331
275
291
310
319
301
345
275
307
330
395
371
353
301
228
328
283
248
316
310
285
303
307
315
292
358
351
333
305
303
319
228
312
308
334
334
348
334
362
296
314
313
356
324
319
290
350
252
353
379
213
354
354
345
211
335
349
351
321
314
288
319
291
299
290
322
275
371
310
393
266
316
291
271
270
353
337
243
277
255
221
342
415
233
300
302
250
313
287
405
310
435
288
300
314
295
304
300
327
250
225
312
369
282
242
354
274
306
311
345
308
262
303
314
324
322
300
389
356
262
279
329
267
265
291
340
259
326
295
344
244
276
283
303
338
322
238
312
374
318
248
363
342
322
300
325
312
289
279
372
338
274
318
284
330
364
344
275
338
332
291
273
282
325
286
254
227
321
234
395
267
326
292
329
301
311
346
423
270
231
296
294
247
330
350
251
339
355
293
303
306
337
315
356
227
345
346
331
229
291
313
392
244
308
300
281
366
315
320
342
278
301
320
242
311
392
352
339
398
348
209
260
338
240
334
268
343
311
315
282
379
303
338
331
339
316
328
207
275
253
335
273
321
323
277
239
193
322
373
281
332
293
291
232
333
250
329
318
267
318
305
388
272
352
416
320
243
353
321
342
323
324
325
357
284
308
272
342
281
347
385
337
302
309
327
285
326
328
350
269
281
308
309
269
319
378
280
286
310
250
343
387
336
321
353
357
323
339
258
298
308
264
282
324
259
356
272
327
346
314
295
258
404
323
311
353
361
268
255
269
325
304
321
343
273
313
303
366
330
345
294
340
326
307
324
416
336
279
301
300
329
324
321
317
363
292
294
311
335
322
361
328
305
314
317
365
286
280
269
383
283
293
296
291
355
272
342
245
321
391
310
296
304
282
234
382
284
319
442
274
400
237
380
315
333
296
376
277
311
275
330
325
252
299
279
343
303
371
287
351
382
361
325
201
273
276
295
292
310
367
341
313
281
285
215
390
268
306
295
346
356
360
302
298
231
339
205
373
328
315
391
330
322
320
249
325
361
319
279
307
371
292
333
362
280
329
308
312
313
283
324
299
368
271
314
391
295
241
336
354
309
262
314
323
240
280
297
287
405
284
302
310
290
313
301
320
304
294
320
356
327
265
247
363
323
322
341
265
278
274
317
175
283
216
293
308
321
386
265
404
402
294
214
337
352
292
388
357
297
247
367
366
298
301
360
278
344
393
349
312
266
300
341
313
313
236
340
331
272
294
249
313
251
461
302
242
288
280
290
314
295
265
195
374
278
249
305
341
351
370
332
392
333
267
319
364
314
372
328
294
356
355
299
368
246
231
284
309
280
314
319
283
349
306
249
309
370
315
303
310
301
322
264
373
278
363
364
309
338
305
290
288
353
428
245
342
258
258
367
334
307
343
288
321
352
324
323
319
314
263
230
348
377
332
324
383
304
281
296
268
344
312
320
364
316
305
291
221
310
344
246
322
345
297
393
322
433
297
316
326
315
334
371
296
333
296
284
302
284
372
257
331
286
312
264
267
336
281
329
314
332
323
292
341
309
251
283
256
327
374
339
281
362
316
351
336
283
278
331
368
315
284
288
288
357
290
299
296
313
245
274
370
360
257
423
342
306
258
229
231
360
384
396
290
389
327
320
296
432
291
347
329
382
402
272
328
353
322
308
332
366
298
331
326
295
258
306
288
395
220
316
314
350
239
290
287
216
259
362
267
319
389
334
341
332
324
267
290
358
212
391
320
358
294
299
351
267
344
362
252
298
378
356
296
298
375
249
302
333
340
245
344
315
383
309
235
274
332
351
394
358
291
315
248
206
325
306
374
269
358
274
255
408
299
342
314
265
263
407
233
282
265
361
376
324
271
276
347
308
318
372
294
353
278
323
305
278
319
344
308
258
266
304
349
313
311
229
370
350
264
332
348
285
260
348
351
209
271
328
314
230
326
319
339
286
332
288
300
335
317
274
378
354
328
329
270
280
327
302
399
345
304
250
268
300
282
345
263
337
294
225
308
245
270
306
387
346
284
369
279
315
322
358
328
268
299
314
341
390
233
376
297
295
418
270
276
287
272
338
321
334
311
295
326
262
273
298
361
324
298
308
356
342
334
329
362
264
319
310
320
284
377
358
262
311
385
380
333
323
317
353
297
401
398
331
332
302
302
384
309
238
242
352
296
333
342
283
319
331
306
275
345
322
240
330
425
373
234
296
405
264
295
350
319
295
342
295
373
334
331
308
321
257
287
352
247
283
334
250
341
356
294
358
382
277
335
302
345
347
318
283
312
373
324
218
232
260
332
322
300
283
349
290
305
324
336
221
307
323
266
371
282
359
257
282
347
275
265
340
374
333
343
381
331
309
299
295
342
299
313
255
343
271
330
307
220
267
313
355
340
330
344
241
275
313
314
263
337
308
305
279
285
352
326
319
313
337
329
383
295
349
305
192
328
284
360
275
336
282
384
301
399
355
342
299
346
326
273
310
332
305
183
261
342
392
359
313
363
342
367
287
351
310
404
251
331
280
286
324
326
322
263
358
385
288
283
307
214
274
309
406
270
331
292
378
333
378
316
345
328
281
273
303
258
302
322
293
302
321
200
315
318
289
261
366
353
272
298
285
260
319
276
322
324
327
258
324
309
318
316
321
277
337
337
222
324
333
308
237
403
263
338
316
289
307
297
363
352
219
324
357
237
320
244
228
338
375
284
296
296
304
325
390
300
252
360
299
303
366
327
305
272
351
347
221
354
307
233
313
369
268
241
332
351
286
346
347
270
318
385
292
288
330
347
298
338
302
331
291
293
249
383
332
349
227
392
310
277
299
356
311
312
314
294
325
292
289
296
382
267
335
293
362
393
378
353
322
332
374
287
369
386
374
287
287
310
317
251
331
307
381
237
344
363
268
327
343
377
335
311
278
329
354
366
338
264
352
283
271
267
310
425
242
262
388
338
309
344
320
240
363
279
270
329
294
235
335
227
381
294
306
377
290
317
242
272
334
394
349
281
314
246
357
301
324
349
339
262
342
401
326
335
273
325
272
292
316
258
295
295
328
240
315
345
229
306
290
367
322
369
371
286
343
317
357
345
341
329
296
407
313
317
300
298
364
314
333
293
392
317
305
418
292
321
285
366
328
415
296
290
305
359
266
360
244
286
328
315
268
258
273
307
249
291
340
341
261
341
373
312
256
404
364
298
280
276
270
332
239
306
345
379
362
305
283
228
345
341
342
289
280
206
354
311
340
298
330
326
323
309
363
326
325
294
293
369
303
352
353
279
254
341
363
290
275
363
294
244
291
312
274
382
301
315
263
374
341
444
329
330
234
292
226
357
286
379
363
369
364
315
311
300
357
243
343
317
347
344
308
280
240
333
304
394
317
355
322
355
246
325
299
331
389
236
292
202
309
308
305
394
314
345
258
353
305
323
314
311
321
315
349
276
377
327
262
304
363
378
299
401
372
290
331
270
283
267
284
284
304
319
242
298
371
396
285
354
298
305
269
275
313
355
403
351
196
357
305
410
290
297
336
315
299
328
280
280
261
280
273
283
224
268
326
320
296
351
363
316
303
306
309
321
285
253
218
322
336
312
285
344
342
357
244
302
289
389
335
349
286
317
330
261
292
353
356
306
267
365
338
283
399
350
283
339
315
358
365
357
265
298
346
240
301
316
381
285
284
249
293
268
282
295
318
283
315
285
264
414
369
238
349
276
264
344
320
295
280
315
207
300
313
236
296
309
351
316
218
333
352
258
260
335
321
275
308
358
248
358
265
284
250
395
334
327
289
315
385
352
388
343
373
290
396
282
375
334
384
325
386
288
306
317
339
193
373
265
317
314
303
335
240
304
270
358
314
336
356
417
278
268
364
261
340
365
201
307
313
400
264
300
334
380
281
272
287
335
326
305
327
261
292
242
283
378
312
367
259
307
291
345
217
305
281
255
254
299
306
278
328
337
388
268
332
317
395
349
328
308
250
297
250
241
373
297
371
230
370
305
359
336
395
289
408
295
285
306
329
344
301
259
319
309
339
322
361
319
342
323
350
364
293
373
350
340
328
287
360
324
320
229
342
369
287
301
340
323
398
348
330
299
293
246
307
380
324
256
324
352
326
242
298
324
295
293
359
278
328
276
239
209
345
262
366
352
293
349
275
320
304
329
302
257
330
256
361
304
291
288
329
341
381
317
283
302
322
390
301
292
332
281
336
324
374
290
385
339
352
310
313
383
248
372
331
277
234
315
353
283
287
299
357
299
317
356
297
298
230
349
349
256
282
388
349
351
366
336
358
263
324
329
299
321
296
361
260
288
370
321
333
280
299
319
328
306
340
374
389
340
253
347
272
207
319
300
402
327
283
291
294
349
304
411
282
256
228
374
258
288
376
298
231
366
360
308
323
280
273
338
370
245
269
375
343
341
230
311
344
271
350
344
240
313
344
373
323
285
406
287
344
293
270
318
293
317
273
294
359
343
284
341
251
341
370
330
282
280
222
320
321
260
272
297
295
303
305
253
360
398
337
285
277
342
325
270
324
230
319
334
250
215
370
242
258
291
330
293
347
419
326
256
313
347
281
343
368
281
342
416
231
359
252
306
371
372
253
304
385
286
377
232
376
354
274
335
285
320
286
251
266
325
341
296
325
260
303
313
270
269
323
365
383
287
361
346
338
386
285
348
275
424
289
308
337
279
320
324
328
320
357
313
299
297
332
312
282
310
312
380
385
332
346
324
358
355
341
314
316
409
283
265
337
328
304
347
359
320
317
293
310
304
305
397
270
328
354
284
291
271
305
267
338
371
335
311
339
380
349
331
300
325
218
318
284
297
309
333
342
351
264
230
247
308
360
253
356
248
234
332
349
250
345
337
326
301
332
340
245
390
311
357
358
231
257
372
289
294
357
317
412
305
331
360
263
340
323
230
320
310
389
376
328
265
308
288
380
315
284
303
286
235
269
257
321
377
211
382
337
334
326
349
360
314
338
289
290
315
384
342
338
338
290
341
313
324
339
269
429
325
375
310
285
345
328
329
323
340
310
281
290
305
277
324
275
334
287
360
273
347
315
302
370
393
376
376
295
256
322
370
198
331
276
304
310
272
377
300
306
290
244
251
361
255
298
285
356
267
318
363
333
332
367
358
259
373
303
346
330
357
329
393
292
365
346
325
272
273
306
277
357
328
207
309
304
309
321
361
248
242
388
333
254
328
334
230
265
290
285
276
304
366
289
299
351
348
326
288
294
313
230
251
292
398
410
234
270
292
378
309
296
324
271
304
361
299
358
381
371
296
291
313
332
360
316
339
295
407
354
302
253
295
345
322
241
332
372
328
264
308
338
438
212
313
279
270
265
236
365
335
278
283
271
354
256
265
366
307
355
337
308
354
341
335
356
285
316
315
295
362
380
361
251
279
317
255
337
298
292
331
307
315
324
357
365
318
307
389
271
301
276
349
303
320
418
292
321
423
311
318
280
299
307
355
330
319
261
410
350
312
285
313
343
317
260
277
388
291
226
252
298
327
221
227
316
375
408
340
291
326
353
331
374
297
365
331
350
338
419
242
379
276
313
328
348
291
274
268
342
394
380
254
416
305
360
328
249
298
340
302
316
287
386
301
383
275
296
332
339
391
292
259
320
366
298
308
370
361
248
291
233
347
253
328
257
364
251
335
341
360
340
352
322
391
400
236
456
312
290
231
320
352
255
292
337
357
288
314
356
372
258
352
384
275
283
278
387
287
288
327
319
255
325
338
403
343
345
367
305
228
356
385
289
363
415
246
292
356
282
297
289
368
353
278
292
363
333
401
347
274
280
290
349
295
374
339
270
338
286
312
320
340
370
298
301
280
291
309
326
346
336
296
346
311
382
343
309
384
303
305
338
321
306
256
308
307
264
263
352
230
341
314
347
321
282
387
393
216
353
305
350
281
359
311
407
342
378
253
323
340
352
397
348
324
279
305
306
316
239
295
293
292
407
398
244
312
258
251
380
297
262
331
297
356
360
343
290
330
253
315
353
278
361
266
297
359
302
398
382
362
265
293
285
351
322
331
239
314
300
341
331
315
308
300
341
385
373
386
300
381
256
368
332
302
327
329
347
284
366
325
385
284
399
371
339
250
346
293
238
290
244
318
380
374
328
319
281
311
341
306
404
352
367
251
340
262
307
339
282
355
276
354
382
347
384
269
346
274
323
308
331
274
348
357
296
320
300
414
313
345
345
328
317
350
269
347
231
241
383
359
310
321
335
295
352
303
320
247
297
272
274
398
344
353
337
306
272
342
376
351
297
381
336
324
318
323
318
313
263
309
332
346
352
370
379
321
365
315
261
317
353
252
357
268
347
280
333
393
395
370
344
323
367
367
253
312
272
263
321
281
338
326
272
285
312
382
269
349
299
321
356
320
356
307
333
349
293
358
370
356
244
264
311
261
281
317
275
283
307
334
334
366
338
287
434
367
316
270
351
354
278
275
310
387
281
364
397
315
383
248
247
315
256
268
342
274
411
329
298
361
253
239
387
244
322
306
256
310
366
272
202
326
204
384
319
289
353
324
345
346
352
278
367
285
272
160
386
276
329
294
339
314
351
315
364
275
315
337
270
289
345
330
278
317
234
222
254
358
249
307
297
325
265
301
287
270
357
343
250
345
335
288
346
309
381
332
242
293
376
324
295
294
301
304
318
288
323
257
313
324
331
311
369
321
347
326
329
368
239
369
255
298
331
269
347
304
328
324
295
330
317
253
335
255
331
358
356
284
352
331
318
345
308
388
328
374
312
224
258
271
302
339
314
349
358
372
360
315
295
297
383
336
340
252
341
229
302
325
256
350
334
393
302
335
244
243
305
288
362
380
349
324
359
332
232
315
331
226
314
278
321
319
355
227
344
289
333
294
246
239
236
251
354
337
334
194
359
265
336
384
245
351
369
321
298
359
354
255
222
249
357
253
296
350
281
342
338
375
261
331
295
303
272
355
354
268
336
314
297
370
341
360
320
296
324
258
274
345
353
286
333
288
330
255
309
324
241
303
402
288
300
360
303
363
355
358
427
351
166
354
213
274
301
316
323
215
331
339
272
314
406
346
331
291
326
368
314
296
258
335
355
258
336
396
324
318
276
297
317
341
260
278
373
343
340
263
299
327
262
346
282
270
398
346
381
376
341
347
271
312
305
363
318
302
291
359
321
264
294
323
311
319
330
319
320
377
333
327
291
346
342
342
353
289
239
272
309
330
245
282
273
287
292
391
353
300
235
375
226
319
309
340
323
352
359
346
310
222
307
351
400
285
371
303
346
362
351
272
308
400
253
271
287
338
341
301
367
259
268
377
362
254
270
257
343
359
359
267
412
231
346
342
318
356
238
228
379
279
350
318
308
385
294
333
353
279
368
288
349
237
271
199
286
342
309
316
312
338
359
305
274
420
248
331
339
358
264
296
251
372
292
259
263
347
389
322
319
335
273
368
265
327
284
262
360
358
269
209
304
308
328
287
275
383
286
263
201
432
342
349
295
347
274
280
204
314
254
250
326
194
308
388
313
361
277
301
352
310
309
368
297
330
296
312
319
263
318
306
327
295
320
388
350
361
334
270
277
302
341
354
268
289
247
303
337
287
295
322
373
268
278
338
227
198
296
301
300
300
194
323
387
283
266
344
294
354
276
377
335
406
342
353
292
363
288
388
299
249
356
280
326
291
273
357
296
292
324
324
238
360
370
327
296
364
376
284
339
349
357
246
288
310
255
335
271
322
329
319
311
347
354
369
258
346
314
292
319
417
301
282
441
279
299
328
329
336
354
243
241
339
251
368
390
292
320
368
458
339
334
381
340
360
344
287
335
361
344
294
302
350
333
327
286
339
252
343
282
328
365
272
309
259
285
253
317
222
266
291
327
250
312
303
342
300
316
279
326
393
346
305
346
329
289
325
292
222
254
276
345
380
290
304
256
273
374
320
281
260
268
314
335
336
344
267
287
369
325
333
256
387
297
270
300
289
332
302
324
346
344
359
358
340
332
354
335
268
337
268
317
311
297
370
307
358
237
251
272
312
302
408
292
229
275
261
304
278
278
298
310
310
311
387
248
305
338
297
300
256
321
292
340
325
318
299
329
392
275
289
380
385
276
389
337
292
273
283
299
367
387
294
314
225
352
384
345
261
293
236
320
259
282
295
430
307
352
313
222
324
312
410
332
322
339
287
292
294
259
396
358
332
408
307
329
346
283
311
266
335
321
323
372
249
331
357
319
267
292
298
252
382
328
310
368
396
310
272
258
291
296
287
325
321
317
398
265
339
337
310
273
313
308
395
388
279
295
293
289
334
302
331
227
349
379
272
394
344
388
272
271
265
292
326
307
330
243
318
421
313
281
306
310
292
374
314
407
280
297
370
318
402
313
335
334
310
253
319
259
317
333
291
346
251
345
294
244
334
400
315
267
293
345
308
392
387
214
366
360
341
326
372
253
280
343
335
300
293
302
379
334
270
346
373
350
298
281
295
359
233
370
376
243
304
354
348
380
309
290
321
330
219
346
281
265
305
258
331
325
306
268
284
327
377
318
361
450
258
342
224
251
272
385
224
357
331
297
295
387
277
314
336
272
344
299
282
319
272
293
354
299
280
304
288
294
259
269
326
303
337
383
351
321
307
278
303
324
374
301
315
304
287
274
355
181
388
392
297
283
310
338
322
340
295
272
353
401
291
320
310
370
257
260
320
371
355
306
352
339
332
307
250
351
317
294
298
311
273
391
295
332
302
308
310
310
373
301
393
322
355
307
400
365
327
281
347
338
277
416
295
350
321
316
306
399
284
388
418
277
278
385
359
280
242
407
318
336
316
276
260
336
323
264
319
381
355
279
298
298
254
285
302
327
362
249
271
346
309
322
317
296
312
391
366
357
257
309
262
316
317
349
393
344
353
338
215
275
316
339
296
297
344
277
247
358
357
307
316
325
366
333
283
337
317
359
408
310
342
326
331
322
267
300
226
338
327
345
400
292
399
303
280
325
205
346
288
325
346
272
330
325
300
326
393
263
303
387
355
376
353
275
337
353
312
366
360
286
251
417
407
315
285
308
350
278
329
309
301
282
334
355
341
252
348
257
296
269
260
344
326
309
348
358
354
326
358
282
416
392
316
213
357
311
242
246
347
313
313
346
395
336
301
356
332
353
355
361
236
319
335
304
355
403
357
328
370
278
302
267
346
383
396
324
278
366
299
281
294
306
318
418
342
363
335
342
303
366
399
267
290
411
354
344
337
290
436
345
242
309
320
304
283
340
391
320
308
300
237
341
306
376
298
331
335
349
339
335
348
298
273
347
300
362
333
310
318
370
357
345
297
378
331
259
385
229
350
302
361
322
335
221
335
340
329
312
326
312
266
237
387
348
301
293
362
215
329
334
212
327
292
234
364
304
339
279
365
318
338
332
278
247
330
271
344
291
392
391
289
301
322
302
356
282
355
384
339
343
269
284
341
266
294
300
300
323
366
263
388
260
387
384
337
378
292
276
331
319
302
274
377
268
274
296
263
301
286
311
299
293
323
348
331
274
335
284
333
309
333
284
340
287
336
347
340
281
343
268
333
333
312
363
340
347
272
294
341
418
324
406
276
319
319
349
344
277
329
298
295
338
326
385
307
310
312
327
358
395
392
284
249
353
257
258
361
309
378
372
265
242
340
353
289
331
320
185
329
268
339
318
330
314
361
260
345
282
364
324
277
287
361
318
204
226
358
419
221
263
270
324
331
345
264
414
324
404
299
338
276
412
280
231
327
263
358
319
305
347
324
362
257
303
297
326
358
263
271
287
251
313
335
359
299
355
253
347
298
394
292
338
259
296
303
316
305
299
304
359
288
222
274
312
320
333
281
280
267
291
312
249
294
280
291
275
219
346
272
301
324
289
292
273
252
379
343
276
272
301
273
334
393
403
385
355
313
301
307
313
297
334
311
241
328
363
346
349
309
331
323
324
280
401
259
325
310
361
382
304
373
242
252
378
271
291
299
347
412
264
265
276
367
311
374
290
339
286
393
378
271
352
317
327
390
336
289
298
286
352
314
321
300
329
325
305
352
285
302
334
346
351
306
277
305
334
389
302
318
339
305
247
259
299
305
346
310
309
300
267
286
330
290
245
367
254
283
344
289
288
406
322
299
307
239
315
221
326
354
314
367
318
333
355
289
311
284
305
350
311
327
286
313
336
389
374
412
323
361
294
264
346
280
353
262
200
358
240
294
370
274
310
402
331
268
254
270
298
243
291
310
299
279
263
284
342
220
257
329
300
281
369
321
324
347
364
231
299
278
288
342
268
323
350
376
250
311
410
350
374
312
349
298
310
399
318
247
326
357
320
296
377
261
383
366
309
263
262
343
345
356
292
305
314
321
402
253
295
296
304
381
303
307
251
312
317
364
345
304
355
343
342
283
253
300
286
314
287
300
341
294
279
344
311
307
392
320
271
318
338
425
279
280
244
328
305
282
331
410
285
316
290
298
287
376
395
328
355
310
349
307
314
300
363
330
284
308
353
360
273
351
341
241
313
273
280
329
303
314
398
295
293
267
340
268
327
387
374
346
322
324
332
322
257
314
291
332
357
389
291
348
302
258
270
396
318
314
257
321
298
288
285
320
277
294
296
350
293
341
295
277
374
346
326
338
306
239
402
334
238
343
274
276
252
225
280
353
258
300
305
268
355
411
355
310
316
335
334
329
284
340
333
277
303
355
323
347
313
321
357
271
279
325
331
378
300
255
383
360
268
288
264
286
313
375
298
315
246
210
293
267
429
367
239
385
300
420
285
293
406
261
317
408
302
270
281
294
299
293
330
323
315
333
339
364
296
278
418
384
291
416
267
394
340
342
278
347
289
331
230
327
383
318
294
288
297
283
315
365
318
283
317
350
325
365
300
326
280
287
326
363
294
325
251
268
303
246
345
285
338
278
297
323
368
279
292
275
322
276
395
349
374
325
280
280
314
225
408
315
290
299
274
380
396
230
309
233
278
261
327
274
337
335
331
257
345
305
281
342
281
322
375
340
397
351
308
323
313
349
353
338
363
259
339
275
365
254
267
365
324
303
324
344
371
403
270
245
331
339
361
272
394
360
309
241
351
429
362
319
346
322
261
308
246
333
310
370
330
326
236
349
325
413
364
369
341
301
310
282
373
331
315
278
360
332
338
364
329
315
413
343
369
250
363
353
299
333
374
317
345
333
284
264
358
304
333
327
272
325
377
324
327
267
297
298
315
304
298
317
243
329
290
251
290
305
338
283
339
307
361
296
382
268
343
384
338
278
272
349
295
176
288
253
312
230
316
325
315
346
274
205
331
347
411
330
333
359
382
223
256
367
328
311
319
284
413
349
358
274
318
336
228
308
333
232
342
341
252
332
252
276
299
373
374
343
324
316
353
334
323
315
225
291
404
285
365
333
342
349
341
196
226
299
369
272
286
364
318
400
325
235
347
338
212
199
257
294
315
231
289
339
296
255
413
272
232
335
314
261
282
343
343
316
309
179
277
341
404
286
255
288
375
317
285
286
348
253
311
327
392
214
390
309
269
317
287
367
279
273
377
317
232
298
369
319
308
328
333
330
343
274
325
303
294
367
337
231
267
292
335
358
324
290
308
266
345
331
384
272
379
365
311
283
337
307
375
336
409
298
324
389
272
297
310
294
255
275
351
265
246
360
232
357
325
300
388
317
364
322
339
291
272
243
318
354
370
247
298
340
274
230
265
333
352
288
332
267
309
204
304
309
355
309
283
286
301
342
299
326
250
330
318
344
324
273
394
335
384
376
304
300
293
299
299
299
293
301
271
364
397
324
307
299
285
253
246
336
232
272
320
375
415
345
368
313
321
304
278
360
319
332
232
328
307
340
288
284
316
287
269
320
376
287
316
381
340
296
365
353
307
308
398
358
239
300
372
321
244
301
288
361
399
408
329
300
285
286
329
257
415
267
316
295
355
295
292
354
274
284
307
178
244
291
307
361
325
322
273
321
421
378
331
364
311
361
344
285
392
287
258
272
250
297
250
339
349
302
316
208
390
275
318
328
330
288
375
359
273
324
269
274
348
333
287
338
379
326
359
287
343
268
335
242
311
302
262
347
352
376
383
335
275
304
298
273
430
338
269
372
299
332
295
295
339
318
278
355
284
244
336
331
324
338
344
381
264
201
397
302
283
407
354
345
305
345
361
285
316
261
262
276
311
336
334
295
325
324
363
304
301
272
329
274
297
281
361
222
308
211
290
350
347
262
315
350
309
304
242
234
292
290
240
315
216
347
279
347
322
273
335
344
311
356
266
261
245
302
328
292
388
425
322
316
338
348
394
301
359
316
312
343
300
386
371
318
299
287
293
290
325
330
325
308
248
247
293
270
242
185
206
320
317
335
251
348
366
271
343
351
250
327
332
277
275
262
327
354
266
288
301
278
278
302
304
346
242
326
301
361
330
329
294
324
271
341
304
302
303
404
235
374
271
366
271
296
414
299
347
311
289
245
293
325
340
342
347
301
224
280
327
333
348
297
329
323
229
362
347
299
344
426
324
265
206
275
375
273
297
270
305
346
338
353
381
251
283
306
287
309
345
223
251
280
279
293
384
292
273
286
351
376
315
316
319
271
249
306
358
290
305
319
444
371
369
332
337
305
273
237
352
270
251
293
294
329
290
283
328
354
325
245
315
321
313
248
242
292
362
324
338
263
357
222
392
345
298
318
374
394
285
330
356
310
311
328
390
310
276
265
274
264
399
371
279
342
309
255
316
311
389
335
279
387
367
350
286
226
294
325
279
416
261
292
336
348
274
272
261
275
334
240
248
238
360
307
319
274
316
297
311
343
318
368
312
306
315
287
364
247
286
318
312
346
276
340
333
395
288
343
353
330
323
339
266
314
249
367
387
363
354
333
351
244
264
363
323
391
318
371
389
321
289
211
273
373
228
312
307
366
313
366
324
315
318
309
317
326
269
335
362
361
342
312
301
310
355
332
330
382
256
341
373
381
290
240
307
327
255
272
273
331
292
295
357
347
301
369
310
365
327
293
335
236
382
263
289
230
343
422
302
308
316
333
333
336
307
335
347
318
276
392
340
287
360
383
331
310
324
394
283
359
258
319
351
269
333
350
259
307
318
301
350
226
356
351
356
325
316
295
235
305
350
283
260
243
280
218
308
280
307
363
349
338
267
250
264
281
306
338
347
238
331
278
350
272
361
345
255
393
325
287
248
371
349
322
299
335
306
328
322
359
193
281
363
303
375
341
360
263
245
373
393
272
266
210
313
253
344
364
342
239
310
273
314
258
362
320
252
295
275
339
367
369
343
264
377
316
270
411
281
345
336
349
355
307
310
334
239
319
340
242
238
287
373
304
278
275
388
329
304
287
358
299
320
355
318
267
371
363
226
323
353
326
328
323
307
273
367
358
314
327
286
375
275
304
324
368
276
249
259
212
315
290
337
321
352
329
312
286
279
359
309
363
269
341
284
380
328
360
394
379
345
312
378
330
302
284
342
251
284
285
429
224
292
331
330
294
282
337
401
260
285
278
262
238
331
348
398
344
327
245
275
347
325
356
324
377
278
382
265
299
258
354
389
308
346
296
260
218
380
239
333
309
307
335
318
292
324
273
290
320
308
342
408
218
314
306
287
322
260
419
312
295
343
377
222
404
367
340
285
304
307
315
313
359
301
341
365
313
352
330
264
321
278
301
318
237
261
391
299
325
338
336
271
374
255
316
340
296
274
332
293
329
280
326
304
306
258
332
249
213
309
299
196
290
283
295
278
335
266
250
326
326
306
377
337
231
228
365
267
377
347
325
300
282
375
277
338
244
250
276
265
387
316
290
330
388
362
272
300
235
354
346
204
260
376
351
370
287
295
300
283
293
213
376
342
286
292
245
278
299
367
320
322
356
318
304
321
349
259
270
348
352
320
257
229
324
242
329
312
348
347
255
392
298
309
270
338
292
321
266
302
353
238
298
366
287
316
351
316
314
341
397
343
409
255
254
204
318
325
353
253
373
317
320
236
322
275
245
326
245
313
433
345
213
306
366
348
376
280
343
291
311
307
318
369
327
337
261
336
373
349
343
289
267
375
347
346
337
304
247
357
303
271
245
335
328
317
374
291
312
348
308
316
299
367
282
261
277
369
300
255
306
310
261
214
339
285
311
265
370
303
216
287
310
318
364
375
273
347
344
329
289
288
246
340
239
310
307
273
355
343
308
341
281
311
322
318
350
242
351
246
341
316
325
411
276
316
285
309
307
301
359
296
282
361
336
364
320
273
306
292
285
231
340
306
286
316
260
273
320
291
290
306
285
326
377
301
318
211
295
256
406
279
381
297
276
272
381
325
346
237
298
275
341
279
319
220
262
393
252
283
323
309
311
291
277
318
275
365
303
338
252
263
227
420
354
323
293
308
303
342
354
337
366
343
326
353
251
287
272
246
316
318
317
300
287
388
311
261
252
403
330
346
299
361
345
298
314
355
300
332
287
306
290
310
229
321
241
321
329
333
370
204
205
423
424
370
293
209
325
281
304
346
335
364
321
319
377
251
356
278
421
294
270
241
331
334
328
306
310
282
259
372
304
356
296
314
349
388
287
356
324
348
256
286
337
286
327
250
348
304
358
295
327
177
369
406
335
273
331
334
361
298
341
206
221
406
318
313
356
308
258
348
340
362
344
339
260
236
313
391
316
359
225
272
267
259
270
291
317
256
381
279
285
345
303
356
276
313
305
336
331
382
315
329
349
361
316
326
269
328
425
279
285
330
335
327
333
414
242
387
341
350
352
395
407
351
298
363
266
353
299
358
252
285
392
232
364
346
192
317
347
312
419
281
350
337
315
281
247
376
355
255
310
373
396
364
367
296
389
276
276
358
328
314
268
295
340
203
236
384
359
322
362
354
390
411
357
305
220
253
257
328
299
317
305
366
337
358
324
227
365
417
281
275
325
302
326
354
349
285
341
347
279
273
313
338
332
324
338
309
347
329
370
303
283
249
328
350
309
304
342
404
315
291
314
378
291
254
359
244
275
241
323
359
298
323
299
331
398
216
311
238
343
350
331
330
203
331
321
307
343
294
296
296
393
315
295
207
348
363
339
238
283
339
376
384
311
281
320
268
387
346
227
300
328
370
279
356
254
375
374
305
309
379
400
303
307
276
332
314
274
315
401
288
361
344
282
277
349
371
265
317
311
296
340
284
342
333
313
361
370
317
282
317
313
318
234
317
269
343
355
330
321
255
376
284
356
293
268
311
336
230
399
304
313
334
261
268
267
237
246
315
395
328
333
276
370
324
354
401
263
320
364
372
251
262
340
267
295
336
236
283
377
244
354
377
360
268
313
262
292
364
301
330
295
356
358
286
215
327
257
277
269
299
310
252
378
228
277
271
342
294
371
416
386
369
314
330
265
333
308
237
353
251
245
302
320
291
378
257
306
320
340
254
295
286
314
303
248
336
322
301
376
274
293
322
325
293
351
336
344
313
318
250
333
245
319
322
308
274
345
265
282
296
362
339
330
315
315
273
301
303
340
332
365
312
321
331
290
280
393
314
262
315
280
281
372
304
282
372
383
313
258
369
317
334
279
298
335
260
212
341
334
308
349
304
279
277
359
277
357
257
347
356
306
328
254
417
431
341
296
293
341
375
321
273
272
280
322
341
351
257
302
315
411
375
346
342
236
270
298
305
344
313
268
330
203
359
251
299
419
317
337
294
256
311
281
311
320
332
411
340
296
305
370
308
286
388
324
294
321
298
275
305
388
261
312
332
328
304
332
323
311
342
284
333
374
324
316
236
235
233
201
272
231
267
449
345
291
290
294
313
277
334
416
237
302
251
283
278
350
325
313
273
362
343
277
316
280
390
332
343
266
268
292
324
295
335
367
399
293
363
359
250
292
286
340
270
306
329
335
365
315
273
366
363
311
360
332
293
323
377
314
325
302
418
264
297
268
352
330
301
263
264
279
306
231
397
317
301
338
345
283
327
267
260
346
329
254
331
352
234
329
323
343
406
385
212
269
333
373
321
253
284
306
272
231
276
361
385
310
359
228
370
294
291
376
259
335
347
329
245
321
340
328
350
279
293
294
292
311
365
273
243
331
274
285
295
369
261
328
340
281
318
376
359
285
328
449
298
367
310
282
305
246
271
320
311
364
295
231
311
294
314
329
332
274
364
340
360
313
305
296
269
326
382
295
352
309
367
256
326
280
300
294
310
368
344
261
341
267
390
324
300
402
358
341
339
317
316
292
371
351
236
347
299
356
355
328
269
295
318
309
238
365
363
318
303
318
320
259
313
286
315
234
344
392
386
283
368
284
318
363
293
279
293
336
347
311
280
356
360
298
272
338
267
322
222
365
307
297
290
297
300
351
275
333
204
308
347
288
363
267
364
301
290
314
293
290
278
325
268
398
396
264
264
280
323
336
265
355
223
329
344
319
333
311
307
318
260
291
296
337
317
309
271
300
350
337
283
310
319
310
335
375
339
189
315
288
273
304
314
313
382
309
252
297
379
285
335
305
371
332
297
402
301
343
281
308
299
303
310
270
312
316
332
325
311
344
313
311
303
323
299
362
357
353
345
402
260
418
414
411
275
345
290
284
311
386
279
321
350
394
320
287
337
365
239
391
337
240
300
277
276
361
260
357
275
450
318
313
343
359
405
303
338
347
339
271
284
388
350
323
180
261
325
228
211
274
304
176
348
258
292
280
327
243
288
337
330
345
384
253
324
206
370
359
244
310
245
264
292
245
315
199
341
314
253
412
333
348
248
315
310
336
264
345
258
344
295
239
288
319
294
291
333
365
381
332
347
276
306
330
251
360
311
279
295
321
351
284
347
360
350
398
319
321
428
320
314
333
247
254
314
284
384
301
389
356
357
413
221
389
363
309
271
335
301
347
298
298
421
244
350
366
314
324
353
273
316
334
309
274
322
315
284
368
325
337
283
366
354
322
277
317
259
271
376
349
346
365
388
434
317
319
370
313
351
288
303
256
288
284
322
406
303
350
296
382
219
316
335
325
268
283
250
313
297
252
347
295
380
255
274
284
330
385
225
342
304
351
348
361
341
307
276
236
318
401
315
326
288
299
321
328
401
290
222
301
394
215
339
268
387
354
416
364
289
345
335
304
316
355
320
244
291
386
266
206
333
289
367
363
339
256
359
385
368
343
344
299
320
289
313
385
341
313
381
311
254
304
286
296
285
303
234
310
378
278
333
296
321
362
301
336
333
333
291
379
300
274
402
325
366
308
312
342
276
358
325
287
343
366
324
313
283
315
379
293
287
268
301
319
299
311
276
332
257
354
308
243
237
344
405
312
249
298
378
334
337
330
366
338
352
329
354
343
261
253
274
259
319
241
286
253
381
261
301
344
329
337
362
394
341
353
311
317
294
371
346
253
341
197
308
280
341
249
318
343
275
300
354
306
265
327
291
273
288
329
245
321
309
385
355
385
250
231
282
312
365
378
301
339
375
298
281
294
344
293
264
296
334
361
336
295
315
382
293
391
374
349
350
275
299
291
329
349
362
393
318
234
422
370
223
393
305
289
295
259
372
260
344
291
309
360
299
334
223
293
233
268
354
352
327
299
317
309
273
430
343
309
298
292
389
342
259
298
342
364
310
339
315
344
324
300
316
285
300
365
367
282
292
342
354
424
317
305
266
334
312
363
303
292
337
351
273
312
282
251
368
349
386
268
296
256
282
193
302
242
282
327
229
340
313
265
316
314
319
295
293
304
233
274
285
317
336
269
360
342
321
356
355
299
263
349
313
231
387
362
320
283
353
362
399
313
187
319
332
329
386
357
352
269
311
393
316
265
344
318
339
288
304
325
270
373
275
347
350
336
292
311
336
274
342
373
261
353
321
408
303
319
316
380
256
340
371
323
346
332
356
300
315
301
280
377
378
332
271
290
298
334
264
309
302
306
315
299
377
267
271
363
306
261
290
279
263
344
314
263
283
310
239
261
246
433
356
360
263
368
334
294
301
276
259
305
306
360
312
296
272
298
303
350
331
335
270
313
374
306
312
251
246
389
298
382
303
333
313
254
384
252
377
296
395
313
280
312
297
334
272
262
271
349
325
411
405
268
358
306
325
300
359
236
346
266
291
360
290
299
307
357
320
285
396
243
313
432
317
300
276
271
308
302
321
317
270
275
288
302
288
419
278
328
286
313
377
339
335
345
198
301
222
279
345
353
230
288
313
246
386
224
390
295
357
348
317
322
319
309
362
299
319
344
366
273
288
299
348
307
274
301
379
231
278
364
340
315
313
322
272
349
322
295
344
403
378
305
297
287
291
278
361
311
362
294
314
362
330
254
312
296
241
353
348
317
326
315
285
361
313
265
314
294
318
257
258
287
296
349
344
381
351
184
299
289
241
368
307
339
259
315
337
265
319
339
293
312
357
305
303
350
226
264
291
298
338
268
364
281
295
308
300
319
308
236
304
326
312
360
258
255
319
300
330
271
393
344
305
308
336
361
343
222
308
335
282
311
279
304
260
291
255
274
379
246
348
248
311
300
312
317
303
273
261
331
283
206
290
334
320
253
319
336
281
328
301
338
273
285
317
294
377
283
229
237
339
327
317
334
252
312
248
314
238
316
364
298
392
312
213
330
320
354
357
349
286
268
216
315
321
327
312
350
328
338
348
258
295
366
270
317
263
373
249
336
340
251
268
298
231
295
382
333
377
403
324
376
352
298
369
293
370
318
299
291
320
326
335
321
329
298
276
360
217
382
309
359
413
347
342
317
341
323
347
268
307
231
341
267
354
323
339
328
303
283
382
321
259
330
373
307
184
259
350
302
343
305
293
334
310
350
367
352
250
352
318
334
220
338
381
328
333
352
296
285
333
383
352
393
291
211
368
323
309
280
305
306
246
323
265
309
372
296
342
290
290
238
340
240
232
369
306
283
265
263
268
361
234
253
300
251
334
280
324
382
310
323
265
276
370
298
360
296
322
328
310
309
254
234
289
375
298
249
345
323
389
272
344
336
381
283
389
332
359
293
324
366
326
385
364
325
259
244
320
417
332
202
372
360
279
373
249
322
294
361
325
355
273
332
330
354
278
358
296
327
329
292
352
342
376
288
313
309
289
321
332
297
363
316
315
286
402
285
309
284
308
277
239
312
360
349
336
329
375
353
308
361
370
380
316
266
308
392
351
292
366
360
352
285
321
324
295
281
285
334
298
300
283
328
269
359
305
285
337
316
309
292
303
310
361
302
313
384
399
312
243
391
299
285
267
284
343
298
312
344
327
303
329
238
278
194
283
322
240
275
281
307
308
261
294
277
308
428
356
187
306
240
299
334
289
363
277
303
346
353
303
356
345
356
301
300
272
313
378
374
306
364
275
305
315
321
303
325
346
358
401
288
353
318
321
346
326
296
328
323
261
306
375
362
303
301
243
262
312
295
285
276
307
401
311
346
328
344
318
367
340
359
385
328
295
318
346
317
318
289
311
390
355
266
292
391
260
305
287
301
300
269
368
422
312
276
297
337
357
294
339
380
354
397
303
322
331
279
301
355
348
295
331
364
257
341
361
302
319
255
264
321
324
392
280
383
264
313
352
311
208
349
326
250
323
371
305
325
400
299
378
325
198
331
278
352
327
329
309
249
305
353
307
288
362
347
265
276
310
229
347
334
272
325
297
336
257
379
310
318
320
297
285
321
355
310
384
362
309
286
312
286
356
288
362
281
284
380
386
329
310
310
362
314
277
221
303
245
265
291
284
350
277
343
345
352
327
358
312
295
357
347
333
331
382
345
173
287
347
421
356
387
231
281
273
354
365
364
414
318
249
372
340
238
327
368
315
286
283
306
386
389
318
379
223
264
353
329
330
249
408
395
321
401
342
329
327
297
361
304
350
308
310
393
337
388
332
301
348
353
273
340
248
314
378
306
309
251
253
257
263
366
366
304
273
301
349
337
321
431
251
388
378
277
270
294
430
331
290
244
248
346
299
336
328
355
307
234
372
304
322
347
317
374
378
248
330
336
300
393
315
271
319
421
343
365
295
345
290
338
434
230
296
368
343
244
330
342
380
372
297
308
340
275
265
322
308
296
259
262
383
306
331
368
238
236
355
264
269
317
349
345
355
320
310
300
272
339
345
272
358
316
372
346
346
324
289
343
274
302
319
350
340
313
316
316
299
322
375
299
276
311
311
375
298
348
280
277
327
331
332
325
323
350
315
233
307
291
341
289
289
266
306
280
272
296
303
295
278
323
334
319
357
370
307
297
323
328
297
349
308
309
221
245
382
378
387
303
347
253
380
300
243
293
296
318
289
282
242
275
305
350
268
382
366
356
265
302
334
298
407
372
315
202
323
304
285
295
333
406
330
330
312
306
344
307
289
262
261
282
284
320
292
352
362
323
289
312
381
203
316
374
322
263
297
293
321
245
237
263
277
406
283
293
282
284
419
245
230
300
329
336
306
413
319
360
300
268
318
255
331
280
288
295
305
266
319
271
307
301
324
278
402
362
289
328
337
376
348
263
361
348
341
336
283
338
333
322
280
316
344
279
260
289
290
357
260
340
301
390
309
310
216
326
321
228
264
315
326
339
354
238
284
338
348
259
327
334
317
331
270
304
334
208
350
274
393
327
296
220
264
262
339
321
298
208
292
290
336
221
250
308
265
404
274
300
292
322
345
254
370
263
350
492
240
311
264
284
226
339
355
258
298
389
351
370
377
342
380
260
268
293
242
331
402
292
338
273
266
326
300
344
315
421
329
366
260
250
317
244
315
379
342
322
381
329
385
260
331
297
378
314
286
323
280
290
291
303
361
231
280
346
369
290
372
354
353
366
337
332
341
321
228
317
335
256
341
262
273
299
363
287
329
337
353
284
381
342
350
310
249
372
333
344
379
306
207
305
271
286
316
275
347
334
301
286
276
306
287
296
319
375
321
385
318
411
353
333
333
334
281
286
380
357
293
341
262
336
328
256
376
329
377
354
374
365
370
357
283
263
376
292
362
393
322
319
347
295
269
295
221
358
346
324
365
259
218
286
270
319
289
192
245
275
374
321
308
312
291
266
295
303
296
257
289
349
275
384
288
328
268
275
305
256
374
352
318
327
322
302
355
350
279
401
342
320
306
417
298
346
313
337
263
314
331
292
412
439
377
291
377
364
345
332
313
311
332
315
276
308
317
281
322
303
311
337
316
342
348
332
268
220
342
296
362
275
311
309
283
337
380
305
273
327
337
321
378
292
323
315
356
406
269
316
365
273
312
248
317
323
281
369
303
312
248
251
278
328
281
215
335
330
290
340
323
269
347
323
322
336
326
291
351
407
329
269
307
360
320
364
358
243
314
273
235
298
288
377
292
337
318
285
400
331
328
315
389
229
306
376
290
345
328
302
337
339
255
279
336
322
325
268
340
291
324
335
329
353
329
326
327
355
399
377
284
371
384
372
329
331
291
221
366
313
304
330
297
248
282
277
314
313
324
328
336
251
249
359
312
308
280
300
372
348
416
248
319
250
363
358
328
259
350
313
307
317
321
347
335
325
291
248
343
262
229
291
316
380
324
359
357
284
338
326
250
339
360
313
298
325
313
399
246
307
364
274
368
306
319
346
336
332
311
197
325
328
312
343
375
268
349
353
355
254
370
241
296
329
356
343
340
340
346
243
321
337
320
329
287
322
332
310
359
385
367
353
312
322
303
298
331
335
321
400
293
372
361
187
302
260
348
298
358
283
374
294
267
377
326
276
274
335
307
286
347
294
353
365
328
317
351
236
364
314
276
332
369
293
318
308
250
342
244
301
377
372
327
270
204
344
323
313
254
374
349
292
275
312
349
386
330
342
252
218
242
267
315
339
288
347
341
349
259
392
255
232
270
360
365
251
329
327
322
305
283
327
310
323
297
287
354
360
296
302
371
340
335
254
377
287
384
302
284
312
351
237
418
226
287
372
288
336
351
292
357
300
365
311
321
356
308
330
335
296
317
363
228
369
329
273
336
330
376
256
379
322
343
282
266
292
309
321
313
298
249
290
302
318
315
382
328
398
302
324
371
337
278
311
375
301
268
279
328
399
253
355
253
322
309
328
217
290
345
177
348
305
239
358
379
339
359
312
269
295
309
279
284
370
293
322
294
370
346
257
292
307
304
226
311
292
314
345
349
296
332
270
262
327
314
334
358
283
274
370
322
302
276
352
308
227
372
356
308
375
339
287
337
286
338
296
345
268
316
272
227
256
372
378
317
345
272
372
340
303
250
298
330
329
328
360
222
233
363
364
332
229
300
361
280
250
322
241
272
268
282
283
295
294
351
313
294
294
366
297
346
313
269
322
272
341
324
326
216
278
338
353
312
398
389
317
325
271
322
311
373
309
262
344
324
371
328
286
263
305
361
284
290
276
271
383
331
348
274
349
264
253
345
248
327
325
284
337
360
243
284
286
300
225
288
255
274
221
383
301
266
294
394
270
345
347
392
408
354
323
329
313
236
304
320
360
294
368
264
343
351
310
256
268
254
272
363
324
293
364
169
373
401
357
336
367
310
313
301
282
354
319
279
269
335
251
315
243
386
324
266
330
337
298
368
322
261
337
336
333
276
334
290
334
235
330
301
268
314
271
253
262
355
328
390
330
382
291
390
331
311
263
281
317
233
313
254
215
243
319
385
328
290
269
361
370
235
299
325
248
398
340
327
288
360
373
242
305
306
361
272
341
251
318
270
335
275
243
358
293
320
270
281
316
325
312
298
258
323
237
257
334
325
329
285
305
251
329
358
272
352
385
346
209
398
275
382
295
301
236
314
315
279
307
276
290
269
345
284
340
296
312
400
322
315
244
399
252
308
381
291
321
275
352
264
277
231
378
288
316
261
286
317
293
310
363
264
283
311
327
250
378
357
365
331
327
289
308
309
340
341
307
316
325
372
313
390
279
337
210
267
361
318
291
317
323
373
301
191
192
323
333
294
246
301
250
300
294
287
293
258
371
232
397
258
377
393
264
331
373
272
378
299
270
302
297
327
380
409
398
236
255
343
321
344
342
258
347
366
277
331
268
193
266
276
267
216
286
320
236
333
312
352
211
240
356
369
306
310
342
301
298
417
244
337
346
295
339
358
346
294
271
325
354
309
374
325
271
357
324
330
356
302
286
274
382
302
319
285
325
378
335
270
364
319
328
332
330
274
323
320
345
401
281
310
241
369
334
319
288
292
292
297
367
328
318
194
308
313
353
356
205
317
198
273
389
304
327
350
291
305
322
382
302
281
233
316
273
364
311
295
343
264
362
293
325
345
392
243
278
281
360
340
308
329
322
351
289
343
227
365
299
404
233
294
293
278
344
184
302
274
282
278
315
316
308
271
315
326
300
360
414
330
246
370
351
291
371
311
367
322
326
289
284
227
400
323
314
259
247
290
326
402
268
358
337
260
360
291
277
285
380
292
347
311
314
358
324
201
288
254
267
338
372
353
308
361
339
221
385
285
301
381
407
299
341
297
260
297
297
315
357
310
337
388
265
276
316
308
297
233
327
312
296
348
362
314
260
280
345
388
313
271
422
311
261
256
345
404
290
203
310
279
288
298
327
294
369
320
318
346
364
370
316
305
321
299
378
281
285
334
236
302
304
328
297
317
316
289
334
371
359
312
323
323
280
368
350
260
349
277
278
374
342
332
349
230
344
321
353
314
236
379
280
320
325
293
259
308
295
295
242
308
285
331
375
314
306
303
283
342
335
347
374
335
372
354
385
307
299
319
279
334
327
324
266
190
380
326
348
260
214
350
323
358
362
300
283
342
420
339
273
404
335
392
333
361
189
298
384
362
313
339
250
305
308
328
340
356
274
293
336
266
334
276
351
282
387
296
408
295
297
243
310
273
316
321
287
225
300
367
290
258
379
325
290
372
381
353
462
279
336
274
286
369
305
228
296
335
315
293
275
316
248
285
280
291
312
269
342
337
283
268
307
327
340
360
332
290
281
334
320
360
325
381
272
314
294
323
343
322
363
293
283
328
298
305
352
308
367
304
328
371
261
265
271
288
311
231
300
375
274
282
296
299
328
318
330
315
291
309
276
244
276
334
220
354
342
245
287
220
317
289
244
283
375
250
306
281
302
287
331
317
321
331
267
251
360
289
346
336
308
394
343
349
372
257
322
335
343
191
375
311
386
256
292
317
348
258
330
294
326
348
299
258
272
303
255
270
402
344
335
312
243
327
371
343
350
294
290
314
248
276
349
230
291
307
393
262
318
271
386
338
286
308
311
277
327
332
369
263
320
359
265
302
330
256
410
339
383
311
348
283
340
292
299
303
386
325
347
321
361
338
278
359
312
300
319
363
305
258
332
297
255
343
268
220
324
374
340
350
334
383
271
364
362
345
295
293
331
336
283
372
323
363
282
333
326
329
323
317
316
272
346
311
313
292
411
313
243
307
326
268
339
314
371
277
336
366
341
170
277
342
300
310
219
344
344
390
352
269
338
248
289
213
320
346
314
338
275
343
381
288
336
330
293
239
394
419
228
272
319
300
348
367
336
319
397
372
310
321
331
354
312
267
361
363
363
290
377
311
213
252
293
290
355
311
253
316
333
288
390
265
280
332
269
283
305
294
333
398
339
275
335
315
420
313
273
304
279
341
315
260
314
296
323
301
319
284
317
318
336
301
254
224
346
235
323
298
283
260
306
308
281
349
363
339
268
323
350
256
334
293
308
386
358
293
369
306
283
346
353
243
298
361
244
320
257
185
261
325
291
332
263
353
269
271
305
302
339
358
361
327
372
284
295
390
386
321
357
307
349
328
343
352
332
340
218
385
299
264
321
324
359
215
264
348
261
306
238
256
290
302
353
369
303
322
367
303
329
319
400
301
355
245
209
337
280
297
339
341
339
240
307
310
252
346
355
382
302
293
277
304
337
308
309
307
330
293
333
319
366
324
351
354
342
361
332
286
313
362
312
294
382
346
387
364
311
250
287
283
306
336
336
371
366
285
274
351
296
342
398
321
339
302
323
353
324
333
389
372
318
353
344
295
288
354
241
253
378
302
288
309
285
310
309
229
314
326
315
304
321
364
355
248
258
305
332
319
394
346
311
301
297
266
427
335
289
299
266
289
341
259
262
378
334
267
405
380
294
276
363
297
206
344
302
322
315
373
270
399
224
315
328
253
262
343
270
315
354
333
326
226
268
292
352
390
375
360
316
317
421
260
268
307
301
330
385
380
279
260
182
274
379
336
347
265
230
270
255
245
317
368
398
316
333
385
371
345
291
335
310
292
362
329
318
317
333
365
368
342
444
264
298
255
349
379
270
276
293
360
326
375
339
343
286
323
353
298
234
372
345
312
381
370
353
320
315
312
341
354
311
234
331
398
301
284
330
313
313
295
268
249
377
294
385
305
390
280
287
374
345
332
282
316
288
285
365
308
342
272
339
261
282
285
271
283
326
329
249
317
331
309
307
321
375
320
309
274
353
354
258
327
357
267
263
245
388
278
331
355
299
282
269
285
277
247
269
252
245
342
276
279
349
248
271
276
315
313
318
339
298
313
400
319
272
334
274
265
385
272
315
412
347
327
305
321
251
294
272
343
304
279
371
260
387
225
278
309
269
325
322
294
276
344
333
317
403
323
277
358
318
312
307
302
334
374
369
332
324
233
309
313
325
353
303
308
301
266
314
218
274
331
353
288
333
327
317
286
292
302
386
298
366
290
328
294
383
371
370
312
311
358
276
307
213
256
371
246
347
273
328
331
280
310
248
284
289
300
414
382
354
338
387
324
332
301
339
302
339
293
285
364
340
392
380
329
340
288
280
247
294
332
235
309
338
308
295
335
343
308
310
339
314
366
316
178
304
350
328
332
297
313
307
356
315
329
286
260
304
378
252
317
361
341
330
312
286
334
283
282
250
297
363
337
267
193
321
329
375
347
373
320
172
320
294
328
347
279
294
304
270
346
388
320
359
305
348
304
320
301
401
309
296
294
304
312
242
316
313
342
291
322
361
346
345
297
350
333
278
367
354
255
350
280
243
436
359
288
262
309
292
344
277
273
262
348
324
323
237
339
241
299
331
311
382
319
384
338
322
273
357
293
353
254
312
308
356
265
268
283
303
360
313
380
297
384
270
238
296
279
335
274
287
315
332
357
292
253
241
284
316
334
242
261
386
342
349
341
339
383
285
325
422
333
357
253
363
372
292
260
265
245
329
311
400
314
371
337
275
287
389
289
213
318
384
226
335
314
288
368
294
351
261
368
256
314
291
231
227
305
272
325
389
314
371
289
316
336
362
395
293
367
348
343
287
315
318
319
204
324
282
291
361
359
294
327
255
417
331
342
260
298
269
293
290
264
271
338
305
361
358
342
310
355
281
288
267
373
268
243
330
381
362
290
277
322
266
300
324
290
303
363
333
297
212
355
268
288
287
348
209
330
352
315
352
359
247
313
277
350
364
384
315
216
308
294
304
299
333
286
300
279
269
312
255
281
291
306
293
339
315
213
352
331
303
399
373
303
393
334
308
328
276
264
370
343
297
312
256
369
333
316
314
352
359
356
364
404
356
310
351
280
215
236
322
335
305
313
251
288
336
300
275
318
281
267
287
350
267
316
279
261
305
331
338
342
296
356
380
327
367
420
387
272
294
258
333
383
338
369
251
299
336
322
256
379
311
312
354
389
346
354
311
291
309
368
318
324
385
242
281
306
330
356
256
262
266
275
351
292
220
302
299
345
223
256
283
295
303
369
329
294
392
204
337
292
352
255
344
300
303
253
337
253
335
307
290
331
316
326
339
237
305
320
279
277
362
291
338
265
321
294
347
284
400
280
333
368
340
379
295
374
364
350
245
334
402
330
342
304
296
291
359
340
387
285
407
347
255
248
229
278
306
339
275
297
275
253
313
286
309
350
372
372
282
338
224
286
309
298
353
316
383
261
333
340
345
320
345
209
380
399
380
243
249
301
371
284
331
352
318
260
346
324
300
300
332
302
306
254
275
296
313
297
403
301
278
251
287
312
301
376
311
327
363
347
380
376
285
319
318
293
318
314
333
303
402
291
278
275
212
269
308
328
337
306
260
263
301
260
267
261
334
307
237
352
255
327
349
368
424
271
382
298
367
322
358
281
350
257
322
300
240
266
306
268
353
390
384
316
318
274
363
306
340
281
345
349
316
350
395
296
333
292
270
277
299
338
345
374
289
339
356
321
288
267
353
319
307
257
299
260
321
257
302
271
344
301
363
318
281
305
400
273
319
303
372
331
236
391
340
252
293
296
366
320
293
303
281
214
334
294
311
338
366
287
344
297
258
309
321
318
330
343
270
325
292
352
311
332
327
357
278
368
327
339
270
299
272
324
290
267
290
252
283
321
284
172
357
349
331
302
326
415
317
330
363
282
368
305
369
311
320
278
229
404
362
379
351
371
283
322
290
323
335
328
316
273
328
231
354
417
315
237
384
304
382
295
272
436
358
301
297
337
280
313
217
285
303
350
313
278
249
415
284
334
268
255
279
265
391
259
360
299
253
286
343
309
217
327
409
265
411
292
308
290
383
310
329
369
242
311
347
330
254
317
330
272
261
332
348
345
372
317
268
339
230
279
360
318
320
278
243
368
274
327
309
327
327
328
319
383
289
312
279
359
278
299
332
336
349
249
329
343
296
384
349
274
324
209
371
298
405
369
314
397
289
285
314
305
302
344
336
268
263
285
319
373
293
302
274
326
290
292
302
274
285
353
338
228
300
297
293
255
249
310
340
353
381
346
330
294
384
280
262
281
345
326
244
262
308
298
335
379
302
364
295
321
297
377
327
348
338
307
223
312
308
255
224
378
346
389
339
335
336
296
341
322
305
362
342
272
328
301
348
304
279
283
255
317
261
390
337
353
336
303
363
281
386
329
264
264
289
275
304
269
318
349
406
418
272
326
341
317
344
372
304
303
330
375
304
291
374
355
286
332
302
369
299
358
327
311
235
401
361
259
339
325
323
255
215
275
298
309
314
326
321
300
302
322
264
341
421
320
300
227
324
245
303
321
303
375
299
238
290
281
391
302
306
311
292
350
335
278
321
316
315
265
259
355
368
334
332
270
297
320
271
378
345
409
351
277
360
346
342
351
250
307
370
367
281
384
328
253
291
290
366
327
325
325
315
330
248
306
376
305
338
215
276
368
349
269
311
365
232
248
279
326
316
292
404
307
281
337
298
379
301
352
347
314
328
282
309
283
368
247
307
269
336
316
345
247
270
388
312
378
259
376
254
255
394
283
334
349
293
293
338
408
376
276
300
336
361
353
282
290
311
297
330
322
338
322
341
359
391
277
270
376
305
294
305
256
405
329
278
311
290
433
285
405
355
297
291
266
337
388
270
280
370
324
301
310
288
287
281
270
307
220
337
349
393
305
272
347
330
354
199
369
296
279
282
315
419
326
284
300
305
282
329
249
301
314
300
295
357
340
372
303
332
381
257
325
300
367
315
383
376
268
217
342
340
389
273
334
299
274
300
310
286
338
318
345
342
394
303
292
364
315
344
285
311
299
293
312
286
271
329
355
260
422
307
230
261
287
335
314
330
331
349
354
322
293
312
210
317
270
325
367
300
384
306
344
280
366
360
316
319
325
260
235
307
330
398
189
345
299
257
321
262
300
324
286
317
381
262
332
311
305
278
354
277
379
245
261
343
261
268
243
338
326
254
250
313
304
301
331
293
288
390
256
311
427
356
336
304
345
272
288
257
262
243
281
352
343
293
308
339
285
342
359
301
351
367
327
385
287
305
260
299
344
326
313
288
381
299
300
320
203
327
269
303
323
295
376
299
256
248
318
333
262
314
349
333
334
298
231
299
347
262
321
360
249
290
301
305
359
349
312
339
310
362
391
294
301
299
302
390
248
339
209
322
247
334
373
255
365
240
327
291
330
275
286
359
255
372
322
303
302
320
274
242
339
281
318
299
292
329
245
308
332
254
372
351
319
342
247
318
356
312
323
282
257
307
271
262
333
326
231
330
348
368
349
350
369
394
397
296
298
410
317
335
389
260
327
281
254
396
319
345
311
269
286
367
311
379
174
286
337
265
270
319
347
336
334
245
308
320
321
295
315
372
331
348
324
353
371
316
234
310
346
262
340
289
355
271
310
277
292
243
317
273
395
250
292
243
274
281
349
364
329
319
331
369
276
256
286
356
266
280
402
244
307
354
308
359
286
294
342
339
369
357
314
324
369
373
373
276
403
240
281
308
333
273
338
292
277
243
316
292
300
371
314
284
304
300
303
421
248
315
330
325
254
391
327
336
357
239
307
385
307
341
331
223
341
365
328
332
342
288
294
344
302
324
260
373
287
321
334
288
311
346
409
364
299
287
395
358
338
266
358
291
321
251
358
350
297
398
421
346
371
235
303
242
364
298
367
322
331
332
295
282
371
290
298
392
415
381
303
438
356
361
259
207
297
350
237
310
344
344
297
249
272
308
223
270
251
352
401
300
287
302
382
297
330
342
286
389
324
304
337
345
362
426
260
330
307
244
385
318
277
320
338
238
367
286
297
260
295
319
276
356
321
322
365
330
332
303
367
346
332
271
266
208
352
285
318
298
346
290
307
347
383
234
287
260
224
273
380
348
334
310
330
244
338
343
346
361
348
316
248
278
252
277
277
384
342
315
255
319
323
316
251
323
221
269
237
380
293
324
312
350
377
269
247
398
364
394
310
252
347
344
257
236
288
376
354
292
381
282
275
325
202
278
253
388
249
358
346
268
306
274
318
355
312
309
347
357
298
251
320
333
317
265
383
312
228
301
282
378
307
306
286
290
370
313
340
281
280
287
333
378
324
382
236
286
316
302
364
308
289
322
334
334
325
360
363
292
302
291
358
348
153
278
327
346
290
245
288
301
305
300
301
363
306
336
291
314
375
239
283
309
284
376
333
271
346
321
297
350
383
216
341
370
198
272
239
270
318
317
313
320
305
349
341
342
307
290
358
334
303
402
325
260
336
317
342
343
420
360
291
346
315
318
319
339
409
399
274
271
299
358
303
205
331
334
307
339
312
295
265
353
330
368
320
294
296
338
315
316
254
291
349
184
277
308
315
225
254
338
325
300
243
364
258
300
390
262
309
237
315
350
303
229
345
395
271
322
223
292
229
270
337
361
310
320
331
369
336
321
289
300
254
314
308
391
265
301
394
316
315
362
333
343
376
266
424
261
294
325
281
340
369
334
343
258
337
321
361
339
295
240
229
367
279
406
264
310
408
234
291
238
328
289
287
287
296
240
349
319
342
306
247
335
259
337
334
336
350
325
304
328
428
376
376
291
315
239
381
376
334
300
385
301
321
267
353
342
348
333
369
314
323
304
292
318
299
302
371
271
269
215
400
341
371
294
216
306
297
288
329
349
303
265
337
343
254
319
296
378
319
286
295
332
320
332
325
329
261
312
341
332
309
275
323
256
340
319
297
317
282
330
256
398
281
246
330
262
263
295
356
318
321
260
365
351
358
279
361
329
304
256
334
196
333
317
292
381
258
373
321
326
348
312
380
281
287
323
258
210
345
324
292
362
327
292
343
252
284
278
348
328
304
303
382
360
246
311
367
352
372
347
293
367
325
256
223
283
312
312
321
256
236
383
331
323
358
312
349
306
382
260
293
361
308
315
296
336
338
285
322
351
341
316
305
349
324
279
282
292
329
258
386
342
300
262
346
338
229
339
309
344
354
286
339
295
294
283
403
222
262
340
259
275
418
298
247
225
362
361
299
278
327
359
364
342
281
276
345
279
356
435
321
303
279
339
430
359
281
398
231
352
255
301
341
332
180
361
376
262
286
290
214
259
294
321
308
353
374
271
263
242
306
264
383
304
314
428
291
343
297
332
331
256
398
322
319
317
346
211
330
349
312
353
352
220
343
231
262
328
271
304
315
284
301
375
312
303
238
351
262
311
344
264
312
272
345
326
261
293
254
242
288
325
349
274
361
242
328
235
261
313
262
245
300
332
308
300
253
300
392
320
281
270
355
309
329
270
304
410
286
401
277
327
327
367
328
317
285
307
371
315
306
288
317
254
258
331
360
346
351
287
250
316
319
320
288
309
372
302
227
330
239
358
256
314
385
310
302
244
277
358
328
342
337
306
238
311
320
314
355
278
246
302
344
322
340
321
248
326
384
182
359
344
358
308
308
290
392
413
295
290
312
289
320
283
304
293
323
327
418
352
371
291
333
319
319
278
261
245
296
285
320
327
415
307
285
300
332
377
323
387
281
340
356
292
306
282
342
342
333
320
360
360
329
283
319
401
288
405
382
250
337
316
347
217
322
328
350
408
244
380
292
274
322
269
355
287
253
287
241
317
338
266
369
263
323
291
304
215
328
354
318
276
313
352
323
333
386
315
258
370
367
320
377
317
353
331
345
307
329
350
378
259
333
255
376
309
338
262
289
301
326
252
405
359
328
344
306
358
316
293
357
244
297
308
381
335
387
335
319
392
357
319
318
326
252
296
337
434
231
385
419
236
328
291
289
334
303
365
253
307
257
345
306
265
317
285
295
346
353
322
356
268
333
237
324
328
332
351
238
388
287
284
283
275
311
238
373
298
341
338
364
240
320
325
316
356
359
269
331
201
275
328
349
275
292
395
334
354
302
351
341
365
352
293
321
349
206
427
347
365
286
298
255
225
325
302
282
310
193
349
314
292
313
396
312
274
280
298
364
269
259
349
331
336
322
337
279
362
239
294
297
383
283
336
303
236
331
338
328
415
277
338
244
240
349
337
284
267
399
283
292
292
244
319
342
347
247
328
337
318
367
331
323
331
357
326
351
294
317
374
283
316
259
383
326
316
322
355
261
372
328
353
383
421
300
335
289
271
276
266
292
356
301
360
252
335
334
330
376
257
287
278
262
261
335
280
280
250
332
356
309
326
401
377
354
341
348
296
213
376
316
330
261
265
333
316
342
362
262
260
370
286
269
372
329
369
372
400
273
328
285
327
244
340
347
328
248
365
308
296
303
371
305
296
335
347
355
255
321
318
327
283
355
322
315
294
322
292
370
272
331
299
334
337
307
306
343
306
390
273
214
294
308
307
228
318
309
377
317
309
301
295
307
301
327
295
316
352
305
270
279
275
328
314
298
332
333
247
289
285
321
321
329
333
260
369
294
297
314
359
402
230
349
257
306
389
300
179
319
356
324
308
280
338
353
244
306
319
316
322
391
264
334
403
297
301
256
351
345
261
270
260
257
303
355
396
268
300
339
378
361
433
280
183
270
305
351
325
404
315
194
271
420
300
317
335
347
294
302
286
243
260
343
309
340
410
298
287
288
333
337
311
313
273
333
365
340
288
253
373
342
254
352
347
352
323
327
351
372
303
290
296
285
339
344
353
369
330
298
344
291
301
261
317
356
255
378
339
305
307
291
369
234
383
358
278
304
253
348
316
295
336
358
254
333
336
385
322
315
287
311
322
300
316
330
314
312
337
347
271
324
410
354
308
356
342
318
411
335
322
260
314
419
281
290
301
334
389
319
300
326
230
308
347
266
339
347
277
287
248
301
358
317
281
280
287
305
289
290
404
340
327
302
314
235
341
285
363
375
271
255
238
345
333
263
261
299
262
391
341
221
302
339
311
319
373
267
189
391
353
363
320
316
357
210
225
335
289
333
353
266
256
315
304
271
356
317
365
348
255
316
315
360
351
364
306
336
346
320
400
368
366
272
259
304
340
288
310
255
323
297
289
319
419
312
300
241
304
323
335
362
380
347
219
340
349
334
328
335
345
329
317
297
373
389
361
303
296
330
290
352
310
344
343
345
307
319
241
295
291
316
313
310
280
193
313
357
288
314
286
330
227
364
306
280
365
321
327
294
340
352
272
282
326
281
312
358
367
367
350
300
248
303
330
262
345
327
361
268
395
339
363
304
338
288
331
316
383
324
315
377
334
335
341
285
270
294
266
318
381
321
380
398
363
294
241
335
356
330
385
337
210
347
328
264
318
297
319
234
308
354
407
345
369
332
319
325
405
323
273
257
365
199
309
299
395
308
288
361
258
228
302
389
315
297
221
324
307
356
283
296
363
362
244
244
357
329
341
344
291
276
282
277
386
322
244
341
318
284
347
273
299
317
381
325
214
355
299
343
315
358
338
271
340
276
257
303
307
321
326
297
345
352
317
349
334
360
293
306
357
379
263
333
263
299
385
355
322
242
282
329
271
336
361
223
258
297
217
217
307
345
373
364
306
267
382
353
295
307
342
333
314
360
264
318
359
360
302
326
298
376
288
239
416
340
282
276
312
235
266
387
281
206
247
389
266
410
316
306
315
289
299
271
227
359
333
358
320
329
318
231
350
238
295
395
271
353
225
325
374
313
313
264
380
315
330
231
339
371
290
326
318
283
282
313
345
341
309
265
411
306
327
322
294
302
368
268
299
311
307
273
299
236
307
286
233
248
290
281
322
309
251
364
321
288
338
276
282
266
335
256
339
293
346
367
363
359
344
323
330
258
331
360
246
273
326
325
306
268
320
271
304
328
379
331
312
331
304
289
286
340
352
312
345
319
283
222
306
358
334
331
235
251
301
316
275
246
263
285
319
292
313
287
279
321
334
366
383
287
325
253
385
305
318
336
323
380
328
304
276
342
346
365
329
352
345
349
369
276
314
338
303
270
308
273
241
368
245
270
296
309
378
259
304
288
389
326
274
342
370
351
341
345
314
314
307
290
371
295
328
324
325
344
309
274
394
381
344
294
364
363
333
407
296
291
310
285
255
312
345
335
331
330
301
373
305
307
317
338
273
291
271
269
280
325
358
292
365
305
300
374
284
349
322
257
343
319
386
325
295
297
350
243
373
293
326
297
285
335
243
336
245
323
302
298
348
356
230
308
345
360
332
390
383
242
340
350
382
310
340
271
326
391
379
263
325
350
289
316
338
390
299
288
256
325
344
278
295
302
305
316
353
353
299
281
390
269
251
348
316
349
299
250
412
264
291
307
365
303
352
297
303
366
278
320
316
287
291
271
306
349
348
313
249
330
356
331
274
354
424
311
257
274
301
334
342
199
294
324
266
336
319
339
365
336
408
361
336
303
363
311
356
257
291
252
339
338
338
320
418
280
274
259
344
321
295
264
302
207
331
392
316
311
305
320
322
293
288
318
313
343
356
252
341
249
348
422
222
392
341
386
362
337
402
288
225
318
330
297
325
290
340
266
349
360
241
288
297
195
324
290
284
290
315
356
286
261
250
318
266
375
333
359
345
317
310
264
291
280
346
366
389
344
331
363
339
335
290
288
313
333
307
285
407
326
169
409
329
357
354
253
321
294
270
237
364
410
342
287
377
301
278
356
270
362
340
381
216
423
340
253
287
340
285
274
381
304
263
212
287
324
330
350
325
278
345
304
260
388
290
337
368
263
241
331
403
367
277
304
379
284
302
298
293
273
232
247
313
227
326
368
292
258
367
371
321
363
340
315
347
356
365
352
273
342
317
221
337
303
355
282
369
283
237
303
365
290
383
379
341
294
286
287
304
278
328
374
298
327
308
285
321
278
312
303
315
295
285
354
237
362
257
313
328
362
228
315
305
352
361
362
381
256
322
266
264
349
323
329
358
280
335
333
354
285
300
308
347
256
269
377
268
409
328
272
326
388
374
247
350
227
335
381
363
323
369
358
260
342
384
306
291
288
281
405
290
374
350
382
240
262
315
386
313
347
278
408
314
292
320
314
325
295
251
292
326
303
315
261
352
308
261
339
322
325
337
357
306
328
354
335
413
293
377
254
365
325
247
242
293
272
292
295
183
324
294
328
220
257
341
291
391
292
355
322
329
364
314
359
405
293
290
357
381
280
307
327
350
242
388
332
310
262
342
336
284
341
318
326
392
294
376
347
289
287
376
311
357
315
313
327
311
269
258
297
333
231
279
268
364
324
284
287
396
250
277
370
333
379
376
311
261
319
301
314
284
302
389
333
335
282
322
323
219
379
320
228
342
308
325
355
375
319
281
280
367
288
342
293
331
333
317
352
268
284
333
348
337
303
358
373
327
363
269
254
294
251
333
305
283
302
341
368
370
370
281
294
341
373
262
276
326
215
291
388
395
287
274
395
281
368
391
239
311
321
325
336
268
281
376
377
343
335
324
297
290
300
350
400
253
351
386
318
322
280
269
384
276
303
212
268
339
343
263
384
317
245
317
318
256
270
330
330
340
278
293
286
291
385
269
212
299
327
294
391
271
375
408
255
341
268
334
250
280
298
271
351
325
263
322
270
329
348
242
325
379
274
324
337
323
287
288
253
311
294
315
374
304
352
324
314
356
299
278
308
330
305
307
365
270
358
341
371
272
258
363
282
348
296
271
386
350
340
345
258
409
235
361
308
334
288
299
380
336
377
378
342
373
225
338
319
363
310
326
327
323
342
322
290
332
331
318
316
307
303
333
308
316
259
339
322
403
349
308
258
303
381
196
315
208
303
216
414
312
323
265
375
306
353
390
392
310
365
334
223
285
272
360
313
372
363
354
332
240
288
342
278
288
315
367
304
275
367
376
333
358
300
323
355
344
251
306
371
349
280
327
382
371
324
384
384
267
422
372
299
291
321
347
310
293
328
308
292
349
403
325
266
263
249
362
240
305
358
355
273
361
310
334
238
317
246
339
380
277
355
371
248
324
283
262
346
297
357
307
273
322
317
376
312
285
272
296
342
267
286
250
333
266
250
339
301
296
392
376
402
331
257
343
340
254
330
269
317
300
305
320
303
312
294
324
356
296
349
264
279
292
332
292
309
390
255
333
304
310
200
403
335
238
313
350
328
320
280
310
356
357
327
306
307
255
240
247
358
307
336
242
318
258
324
293
317
382
334
334
347
294
339
372
243
306
367
328
354
311
373
303
375
279
307
311
354
244
271
335
393
322
298
312
317
260
293
384
244
255
316
228
303
314
384
341
358
303
331
355
297
325
261
356
344
314
347
342
370
361
360
316
309
347
326
254
362
286
344
371
375
332
349
315
302
330
343
338
329
335
353
311
297
315
259
365
335
237
279
336
326
326
360
279
270
384
268
238
336
337
326
318
270
264
230
297
304
257
355
326
299
334
308
337
336
325
278
308
291
387
282
377
313
266
247
310
279
289
372
328
266
288
290
296
327
340
278
291
361
280
271
275
347
309
324
311
235
301
286
366
315
394
360
319
320
307
302
283
317
373
386
272
292
285
310
328
337
351
319
338
370
308
323
310
399
285
271
226
277
323
333
287
343
315
305
340
361
333
318
313
178
302
318
304
336
272
329
394
377
332
237
359
267
345
314
289
351
254
270
332
343
281
371
286
250
361
281
313
291
255
309
283
304
344
335
363
336
356
182
325
292
377
374
340
357
339
277
274
267
278
288
219
254
284
243
330
233
355
367
245
353
365
372
372
375
289
243
289
335
302
327
411
326
290
346
345
327
282
441
316
290
364
265
251
352
297
262
386
309
271
304
291
291
330
229
313
370
314
301
222
350
351
327
335
319
345
279
241
312
422
319
331
357
358
283
417
257
349
283
359
194
339
334
316
303
309
387
355
263
261
358
305
266
345
341
306
247
286
316
264
309
336
284
323
356
299
283
330
401
314
262
276
386
416
282
376
330
316
401
303
306
349
326
256
305
260
333
278
310
355
306
305
262
294
279
253
326
224
309
320
282
359
363
299
294
374
257
251
342
276
305
357
297
262
381
275
259
338
335
371
348
337
326
308
359
299
361
381
367
387
350
334
333
326
323
327
290
392
294
292
316
235
284
297
307
378
283
229
299
278
345
261
334
289
211
247
276
278
238
301
304
407
352
250
252
377
310
340
308
384
250
257
283
301
264
268
357
215
238
247
251
236
262
303
341
314
254
222
279
287
302
356
334
377
309
273
408
354
246
306
299
296
378
351
295
343
273
304
290
305
314
286
332
287
229
290
298
241
368
279
353
261
291
350
248
277
268
329
354
256
288
282
313
334
348
386
270
365
269
276
316
294
298
228
316
350
365
306
258
273
307
334
292
295
309
313
313
387
244
300
383
326
301
306
327
334
310
313
312
284
405
339
282
269
304
340
365
280
413
345
244
356
265
286
312
354
388
385
285
306
390
278
294
304
304
285
235
267
350
282
300
417
306
306
385
385
251
299
336
353
322
238
343
289
265
328
331
329
313
218
333
331
227
267
272
367
352
277
359
347
309
361
306
243
219
298
294
195
301
293
288
311
382
322
336
344
346
235
326
263
370
291
324
339
268
342
217
336
431
265
320
360
337
335
320
325
333
340
334
302
351
308
387
280
351
283
302
322
307
233
291
335
373
329
363
341
358
278
345
275
311
283
364
282
276
327
313
331
229
288
238
234
273
249
318
294
399
339
293
341
291
305
276
325
279
324
308
343
318
397
362
329
415
333
307
317
302
368
415
278
309
329
281
355
350
372
307
329
287
261
285
330
344
385
286
326
304
367
369
300
343
298
297
284
381
313
356
318
377
257
370
255
354
347
318
345
311
317
320
337
356
328
309
292
237
284
342
311
262
363
323
361
324
339
324
326
358
252
284
348
406
274
369
331
232
324
294
346
359
355
279
347
348
299
275
281
307
343
330
322
224
263
283
364
253
324
348
290
316
300
368
320
333
166
291
271
371
385
262
389
248
273
292
434
378
372
252
300
330
338
374
304
292
284
261
335
333
330
364
356
356
349
235
253
382
340
328
298
259
322
348
301
239
256
355
278
262
363
267
330
306
349
307
355
251
358
290
401
335
276
259
369
386
386
297
308
250
364
298
323
327
308
300
347
297
362
297
372
352
241
314
269
287
367
338
359
296
271
352
271
275
237
345
360
300
322
377
302
419
232
333
280
304
386
316
246
372
234
297
187
310
347
285
274
287
313
280
296
319
301
301
251
331
338
307
240
352
347
251
277
381
243
343
274
338
295
306
325
313
281
325
320
277
223
333
292
303
305
285
287
350
303
332
369
316
372
318
290
395
220
269
243
335
276
352
265
282
361
311
334
265
361
342
296
303
278
297
311
281
235
340
387
334
334
295
307
281
210
334
269
336
258
309
261
247
308
314
365
305
350
325
381
312
324
358
309
300
344
347
390
233
349
281
252
412
298
334
333
337
352
275
365
347
305
281
307
251
351
362
312
335
299
315
329
298
344
349
273
306
342
349
290
348
303
296
333
421
286
391
257
347
318
323
282
268
271
319
283
300
303
370
346
295
374
302
226
275
284
299
320
311
311
318
391
347
317
388
288
373
311
294
293
329
369
403
336
251
354
263
319
326
342
228
393
287
367
306
318
354
336
256
381
285
318
290
294
309
299
303
325
335
251
285
347
295
332
331
299
292
329
308
350
321
313
392
399
375
303
332
355
291
331
268
362
338
344
304
321
351
345
304
293
336
303
420
313
368
261
279
242
380
344
382
309
252
338
268
315
313
343
252
282
351
306
368
285
315
370
252
342
329
339
352
333
314
327
374
298
325
286
263
384
284
314
296
311
359
341
197
304
286
310
381
274
350
366
299
297
258
319
365
370
272
335
324
330
328
412
268
324
261
336
330
362
424
342
335
257
261
369
200
276
268
209
319
302
372
303
229
373
268
287
298
176
323
313
275
208
347
339
287
305
333
333
347
328
325
345
279
297
370
278
320
320
292
371
289
318
288
315
396
334
347
320
320
394
329
315
272
311
236
350
402
301
248
245
307
276
333
390
241
375
310
271
348
303
357
254
313
264
302
339
268
321
354
363
262
452
274
362
363
288
267
269
304
379
328
368
270
259
317
237
246
269
314
246
356
278
297
260
232
339
286
335
364
387
306
290
311
242
361
290
263
328
301
268
342
306
315
358
292
293
339
278
353
344
334
264
232
340
284
358
328
295
308
358
323
295
385
316
253
362
273
309
307
249
385
323
324
358
379
235
308
317
272
390
278
318
296
255
285
341
243
328
243
277
302
294
295
288
340
326
267
355
350
304
330
292
265
254
357
317
289
342
245
340
290
329
320
326
265
314
335
404
348
239
262
334
301
270
308
328
261
235
358
343
388
331
277
395
337
308
343
319
300
261
311
288
344
275
322
401
298
243
328
327
305
386
253
359
311
279
224
318
354
295
348
340
271
272
344
290
265
245
345
312
347
345
297
329
329
290
308
329
251
321
345
398
333
259
336
302
304
366
253
312
355
325
311
370
225
290
208
329
338
262
357
360
285
389
320
295
325
259
325
320
403
268
346
391
283
292
358
278
375
357
335
264
267
338
242
292
280
367
341
329
337
230
391
321
319
268
349
285
178
328
405
314
310
241
376
360
337
320
293
352
349
318
287
359
274
307
337
270
295
260
393
326
340
424
269
308
307
302
368
331
378
357
278
395
349
371
359
356
315
295
340
318
371
294
386
325
334
378
363
364
378
295
332
356
223
333
360
348
267
301
351
256
243
326
386
274
297
289
341
330
287
365
369
281
310
378
296
363
319
328
253
257
350
291
255
336
371
277
331
321
346
313
271
267
349
269
367
288
275
244
318
399
357
283
346
309
333
354
283
376
367
215
317
264
356
262
261
361
374
237
294
287
275
313
414
321
366
217
292
273
361
279
252
285
310
328
293
291
386
256
323
316
367
299
369
318
337
369
321
361
328
404
364
273
394
322
360
303
295
325
290
310
352
276
362
382
374
245
357
361
362
212
273
377
427
237
297
303
324
327
295
328
422
381
299
311
353
275
352
287
340
315
313
346
324
340
315
307
386
362
340
273
218
181
301
323
317
322
313
293
258
349
325
296
360
395
264
308
327
306
315
294
370
407
325
262
293
362
375
371
383
345
276
362
303
349
343
317
308
308
373
261
282
249
297
269
370
328
356
280
348
299
344
321
318
390
253
275
249
264
253
243
322
275
351
301
386
334
295
301
214
330
392
342
347
296
350
227
362
327
355
425
264
379
442
301
252
366
295
391
327
305
267
276
300
332
334
343
289
324
386
372
329
297
379
286
266
315
183
262
322
286
376
371
341
379
286
327
339
337
374
260
292
361
335
339
349
272
341
315
354
301
345
319
273
295
278
295
339
322
289
257
353
336
274
394
248
382
393
346
345
367
379
360
349
304
325
304
304
375
266
372
259
295
381
316
298
299
333
285
277
350
271
253
248
340
291
344
401
288
286
322
313
290
254
225
280
278
363
305
264
331
373
318
352
342
388
327
322
281
374
290
275
340
258
322
314
315
396
338
339
272
215
408
346
312
301
300
336
365
329
380
221
338
377
260
272
340
287
234
239
342
252
287
290
356
286
290
362
374
278
304
337
363
354
309
297
313
254
260
348
313
363
352
310
301
369
320
328
261
295
406
333
342
279
304
339
382
300
248
353
360
333
261
314
331
317
382
341
360
279
330
328
330
257
257
241
356
295
304
357
230
328
264
345
280
356
307
406
409
312
348
203
320
347
319
343
281
353
302
274
263
325
285
339
273
283
281
336
210
316
233
278
292
326
309
365
321
272
368
256
360
366
322
352
342
323
316
293
235
377
255
328
316
287
253
361
310
299
369
311
296
292
277
289
361
309
316
325
209
284
337
305
315
419
288
304
298
269
372
256
340
291
324
311
327
386
298
367
296
347
301
330
320
263
215
350
311
303
365
315
303
250
269
249
368
293
347
302
293
342
332
356
326
338
345
345
321
312
310
311
288
267
261
334
277
372
333
277
362
312
324
374
343
306
203
324
251
251
281
280
257
237
297
288
275
384
290
328
311
353
249
356
330
370
309
300
297
316
271
326
283
317
269
328
306
273
260
354
301
346
302
307
274
381
291
344
257
429
264
277
259
321
249
328
332
286
314
364
298
311
429
324
303
282
351
300
302
216
321
368
352
314
344
374
285
316
326
343
321
247
365
309
345
292
342
329
361
369
342
258
283
288
383
351
304
249
333
272
370
369
333
330
326
310
375
287
194
297
266
266
369
365
316
381
321
312
340
328
399
371
286
283
308
260
395
242
304
333
234
350
352
333
343
251
363
318
390
271
341
300
381
364
330
295
324
348
310
321
330
360
372
302
319
310
355
382
307
284
336
251
305
343
281
295
309
300
381
368
311
394
367
373
373
357
356
302
297
303
338
320
233
299
252
305
321
398
349
377
279
291
347
294
317
392
363
337
288
361
334
272
350
286
247
339
327
295
267
272
309
349
295
334
258
328
309
319
314
325
264
330
338
307
327
290
420
332
330
239
363
330
308
295
359
379
306
361
258
218
408
326
200
310
288
317
341
345
296
276
367
284
305
369
307
304
335
363
325
260
307
259
339
334
326
307
275
352
244
295
387
341
252
304
304
325
321
348
313
302
228
211
275
387
320
299
386
356
398
235
328
368
340
355
298
313
286
359
397
353
361
330
338
371
270
409
373
329
270
318
364
346
281
316
355
320
340
315
319
308
319
366
374
284
258
276
346
241
313
303
316
374
333
393
302
356
281
321
347
340
330
359
229
342
405
347
324
276
365
234
248
219
344
265
337
297
293
194
279
256
339
284
330
298
233
312
279
219
298
314
230
317
301
325
330
322
239
314
298
355
266
294
353
293
347
369
303
380
334
241
261
268
305
297
276
249
310
325
309
304
326
310
265
329
301
278
345
336
278
362
294
355
320
328
245
217
326
238
355
328
312
211
281
300
334
377
239
345
286
327
296
370
292
374
345
267
295
291
333
319
337
322
328
260
255
300
374
355
366
303
305
307
327
323
359
322
287
246
252
354
338
291
284
296
264
304
389
368
342
383
302
299
326
337
309
260
259
277
207
306
336
237
294
295
332
420
322
273
285
337
354
250
355
355
326
339
302
415
334
289
310
461
299
326
294
335
298
272
336
246
348
346
303
299
293
241
349
348
292
354
350
377
317
289
299
261
318
293
301
314
317
230
358
304
383
313
261
418
292
323
403
356
253
310
333
387
315
361
303
329
354
321
362
291
311
275
325
343
346
325
318
270
273
301
305
317
326
358
298
275
313
257
336
378
249
247
223
407
318
300
315
331
400
292
309
321
255
324
256
263
342
290
310
295
324
320
275
366
318
371
268
272
313
365
291
303
368
359
352
292
412
335
219
374
311
328
324
285
289
250
284
408
306
392
293
218
314
299
309
294
339
396
334
302
326
320
345
247
195
323
328
274
275
275
297
298
224
383
299
286
377
339
368
321
290
291
294
260
288
321
240
294
377
239
351
336
279
331
281
205
345
240
303
364
277
361
219
314
324
360
294
322
344
311
304
313
340
292
396
343
276
315
293
371
318
277
263
348
324
249
394
265
332
267
375
376
245
210
368
315
325
371
318
328
265
257
300
254
304
314
319
277
261
311
232
323
233
231
390
303
328
236
365
319
337
376
321
247
276
181
285
388
228
357
291
345
336
322
373
344
310
242
285
333
317
287
270
313
253
385
253
313
333
241
216
303
315
318
234
273
243
231
288
260
288
289
360
288
296
281
308
315
271
354
302
383
308
307
368
304
320
253
361
309
259
309
333
399
277
246
241
245
329
281
387
348
285
371
276
251
392
224
347
262
281
238
295
347
342
324
336
286
353
273
324
332
304
284
266
302
290
362
314
379
319
312
366
329
275
353
296
255
322
328
340
238
390
368
406
349
280
356
279
345
293
280
374
359
373
312
214
200
353
218
296
285
317
310
302
325
337
313
300
284
293
311
302
344
357
345
230
265
262
322
314
358
311
270
248
253
324
305
324
324
215
260
300
277
338
365
337
382
275
260
397
369
281
286
284
289
420
335
309
272
322
309
278
326
256
393
264
365
264
246
288
308
292
302
281
304
274
402
311
322
236
258
348
372
388
233
324
262
362
341
381
325
266
338
276
240
441
347
361
377
302
320
433
317
329
278
233
328
313
360
331
336
282
307
371
338
341
305
291
354
328
240
283
289
339
238
364
320
353
296
343
335
356
348
377
330
366
342
302
345
310
303
303
297
259
369
380
261
322
299
343
312
412
304
324
289
384
290
284
322
348
332
366
311
301
297
364
294
296
256
351
355
269
305
370
395
255
266
249
390
318
418
342
339
308
244
283
333
284
359
399
360
272
271
230
377
338
253
317
257
247
377
333
294
395
285
374
378
323
321
279
301
362
280
347
246
322
273
329
330
304
331
316
339
327
302
381
192
263
242
300
303
315
333
338
270
314
349
301
354
350
341
348
321
338
242
223
354
313
389
368
308
352
317
335
390
413
333
291
306
333
281
309
297
310
368
291
288
321
266
224
371
242
375
324
321
374
344
362
353
314
335
353
259
324
375
363
312
313
326
257
312
318
263
384
253
278
374
282
258
331
298
342
343
249
301
338
381
329
382
314
329
303
226
295
314
342
263
349
286
256
377
248
252
303
318
268
321
300
314
278
317
252
377
326
322
269
262
334
344
348
359
304
271
361
318
360
376
286
304
296
184
327
324
337
369
351
325
342
357
326
320
323
339
332
324
402
294
254
306
265
312
344
343
308
278
307
327
313
310
281
343
377
313
258
254
268
376
287
299
340
332
349
352
303
284
353
309
373
250
375
306
321
329
270
306
313
300
294
331
307
407
312
345
301
343
215
245
313
310
273
290
289
318
295
379
399
271
367
353
345
306
414
295
282
344
318
377
375
345
265
323
321
282
279
256
261
255
377
287
335
344
305
260
318
282
315
329
343
295
363
337
290
383
216
342
311
289
382
258
377
357
370
357
330
295
381
263
382
316
237
342
365
345
327
329
329
353
326
283
329
360
381
273
373
362
339
346
401
312
298
344
292
316
286
369
319
330
252
272
277
368
291
310
314
243
366
239
246
303
322
345
254
250
336
282
297
305
366
304
352
307
315
365
357
246
392
335
292
311
249
378
257
286
271
315
274
331
338
325
265
384
317
307
273
326
338
288
293
360
346
261
338
337
394
288
342
316
332
256
312
303
265
238
302
365
344
334
231
332
366
304
325
332
312
261
216
340
309
329
270
303
339
279
266
303
316
262
404
256
270
245
389
309
340
313
327
285
247
399
226
272
290
363
285
355
344
268
355
335
353
310
357
274
334
284
242
340
331
317
359
340
304
313
381
234
336
356
349
312
293
322
323
350
275
288
327
322
330
253
328
379
309
293
361
349
243
332
223
286
391
316
337
316
269
338
394
276
331
375
374
374
213
314
277
269
313
309
287
329
256
305
340
373
255
359
288
317
331
276
286
351
219
309
300
381
367
273
327
326
285
300
363
277
259
318
365
267
300
400
316
259
256
391
303
331
284
280
309
284
316
320
283
349
337
353
386
338
278
377
384
294
249
161
312
368
339
297
372
304
258
367
273
360
335
295
333
287
357
289
262
287
296
301
308
310
407
315
328
341
345
320
319
303
321
350
364
337
297
326
327
258
276
337
378
306
245
267
292
372
299
294
306
319
285
354
353
274
389
370
343
326
344
341
305
313
399
338
300
294
338
344
333
297
383
330
336
261
353
316
322
272
301
288
323
336
289
374
356
353
315
338
385
315
215
363
358
358
355
349
266
231
306
315
325
210
334
277
398
320
358
255
295
340
315
338
332
301
341
349
313
321
339
302
380
358
205
319
221
349
385
390
320
338
255
338
354
323
283
235
285
383
267
332
346
321
313
357
433
285
347
259
306
353
312
319
294
287
255
370
313
359
375
357
262
338
319
386
261
362
263
323
292
331
358
255
264
285
317
330
295
289
290
335
304
367
317
376
316
370
304
279
264
285
305
219
304
299
397
311
334
273
257
377
330
292
291
299
265
343
308
307
292
318
312
272
321
334
268
316
353
310
309
308
335
350
317
283
292
259
365
259
371
387
355
333
372
333
247
289
348
319
219
284
309
201
302
354
217
323
341
247
339
415
243
288
335
349
343
251
300
313
313
316
299
376
292
286
272
364
413
350
374
288
359
262
327
276
409
328
322
365
245
304
382
304
331
330
315
272
292
273
357
290
274
366
269
281
337
398
284
370
363
338
278
341
302
308
344
325
297
358
336
382
284
292
368
358
321
410
372
239
376
342
361
337
328
278
292
342
294
302
363
315
284
312
352
306
315
314
326
386
381
332
358
256
293
394
414
321
372
328
345
257
314
328
275
297
292
332
292
292
326
271
378
248
341
305
288
279
324
294
350
270
313
334
299
293
296
339
274
250
290
248
319
361
318
318
268
270
296
297
256
305
398
283
293
323
289
340
344
253
328
296
317
319
277
255
287
276
323
351
348
286
284
338
269
261
272
231
201
405
261
344
346
328
366
336
283
269
331
235
307
238
352
354
386
459
262
265
272
266
330
302
332
318
315
282
309
251
303
285
259
350
323
318
334
410
339
385
288
333
356
358
306
379
284
327
322
366
243
365
276
296
408
271
374
322
329
278
321
307
376
258
331
266
335
277
332
348
347
288
326
337
285
333
364
269
212
227
354
341
367
345
355
241
313
366
295
381
276
250
330
310
277
352
460
282
335
243
280
369
304
285
343
341
340
396
350
294
360
331
323
286
293
293
304
275
367
318
284
310
360
355
340
282
274
286
293
328
173
314
261
376
342
388
320
279
269
346
250
343
340
333
315
389
336
322
280
365
365
313
351
367
349
273
299
353
255
204
309
367
275
308
277
285
383
247
390
342
314
325
269
374
314
368
299
213
397
321
321
333
300
269
387
251
306
317
357
329
348
358
265
335
258
201
383
328
367
285
321
340
322
296
341
377
364
254
285
294
198
408
258
354
307
347
416
312
347
301
372
293
257
252
284
319
416
340
352
372
341
240
257
359
309
322
301
337
311
382
330
271
369
351
336
181
286
291
331
400
324
339
328
257
311
334
340
261
280
330
215
376
340
350
272
415
314
355
315
250
344
284
307
364
338
299
322
326
260
320
306
319
291
270
200
308
291
273
311
333
256
276
308
380
241
327
381
263
279
251
255
348
319
302
305
255
372
297
300
308
382
294
396
323
259
224
281
268
293
308
337
331
290
207
243
299
266
232
328
341
369
315
311
329
271
319
286
281
405
318
322
348
276
403
338
292
317
297
257
318
289
364
322
356
385
381
248
277
323
303
318
340
337
261
349
361
308
305
310
333
312
328
314
330
398
347
342
279
368
356
342
374
251
252
379
351
286
307
240
298
368
286
298
273
348
388
321
277
274
339
252
330
288
303
337
255
301
306
328
217
315
289
407
339
286
218
239
327
334
369
323
423
331
335
361
351
337
242
272
275
304
267
332
377
456
358
335
303
355
290
343
398
263
310
363
390
236
302
403
297
382
340
292
237
325
365
338
367
238
257
377
311
379
280
322
379
267
400
271
280
374
392
396
207
345
268
294
327
392
267
385
299
376
300
240
325
322
306
404
298
323
325
356
344
306
321
349
349
342
363
310
284
233
412
320
275
306
331
293
301
346
373
304
399
348
349
358
285
248
325
360
404
301
307
298
294
232
423
275
311
341
358
360
332
279
277
373
237
335
288
298
327
262
366
357
241
214
285
292
312
294
303
314
319
369
312
334
338
330
394
335
443
383
300
265
313
367
342
295
349
283
199
272
369
373
310
303
284
328
345
325
268
282
313
343
358
334
284
350
334
276
265
295
303
340
307
309
332
288
309
317
338
342
296
368
313
382
378
290
350
317
294
306
311
335
271
381
369
321
323
294
358
297
363
382
333
280
268
283
305
274
287
371
343
377
317
307
379
349
325
303
210
389
315
350
287
264
353
371
416
311
229
308
324
251
365
247
346
331
308
314
304
346
282
378
284
316
328
243
326
303
396
239
415
269
307
369
232
219
356
298
332
257
306
269
390
311
327
313
307
256
305
290
365
331
285
361
308
340
310
387
222
265
350
276
329
360
331
208
301
276
360
317
309
332
298
321
338
355
296
329
278
300
260
352
326
326
294
256
273
302
297
408
278
276
329
295
322
330
341
263
295
306
342
322
289
282
334
264
307
321
331
367
349
359
322
403
321
291
209
313
290
333
401
353
328
332
352
366
348
315
233
283
292
318
318
260
312
296
262
356
274
311
414
394
247
321
304
274
329
280
324
365
355
263
245
410
401
257
376
365
287
364
300
322
299
280
305
338
309
284
359
319
233
338
333
221
255
297
436
344
346
270
343
336
374
307
345
342
308
256
304
351
333
278
342
319
308
304
262
386
273
294
340
285
301
363
358
277
354
284
319
322
336
350
208
383
267
264
328
333
302
291
321
178
362
366
407
322
335
269
248
367
383
288
261
285
287
285
287
280
318
385
257
295
343
356
331
328
288
270
251
300
334
318
328
341
265
346
317
310
299
273
326
305
296
354
243
371
281
295
301
369
304
344
382
363
259
334
319
300
339
340
284
371
200
350
364
372
280
319
319
306
340
396
349
234
324
271
345
365
251
311
309
282
362
375
276
322
349
338
357
262
398
300
366
302
298
318
342
337
399
345
255
317
373
284
316
260
381
309
283
309
249
263
329
340
314
299
253
313
261
284
266
348
253
258
318
341
360
355
314
305
331
366
297
338
305
236
405
334
361
183
279
332
246
256
302
357
334
367
315
324
303
366
311
285
321
370
297
360
288
328
288
405
325
334
282
351
260
340
233
339
351
303
284
294
262
302
215
242
234
313
310
344
307
312
288
311
258
309
344
352
401
312
270
303
286
320
325
284
313
301
238
241
327
317
250
255
271
346
344
291
379
296
345
368
320
307
302
323
341
329
320
326
369
241
294
330
285
342
319
270
309
300
302
390
266
318
319
356
253
304
272
362
328
339
332
298
274
305
385
297
355
372
371
356
287
221
299
264
362
275
351
272
359
386
220
294
296
331
282
378
295
386
277
362
297
284
284
345
339
352
237
314
331
368
457
303
287
291
246
204
309
241
315
283
281
356
395
278
296
311
334
337
324
288
264
314
240
274
314
289
307
407
306
379
258
285
326
357
181
320
327
323
328
322
340
361
261
285
280
296
374
260
288
389
292
333
368
335
389
368
328
374
380
309
217
315
282
312
318
323
308
347
343
348
290
324
331
350
343
309
417
389
276
422
376
353
293
213
333
278
327
282
320
342
300
371
386
351
370
266
291
295
271
335
341
235
375
353
342
408
282
352
331
278
369
367
357
320
301
323
290
242
323
311
280
206
208
290
295
385
371
232
325
237
304
343
318
263
265
289
286
236
337
350
345
311
241
386
313
331
292
307
233
329
408
355
344
308
304
309
341
348
347
301
331
298
336
337
297
209
279
380
340
281
324
435
264
343
279
342
280
282
357
405
337
301
297
337
357
245
366
301
325
335
278
311
338
355
335
307
362
378
230
271
292
410
378
322
338
404
306
263
378
228
265
339
282
396
285
316
338
339
320
293
320
302
300
308
254
313
269
326
310
265
398
229
392
205
344
378
320
337
376
332
369
343
269
276
302
350
308
296
425
332
339
354
319
361
296
382
338
311
333
320
275
271
352
266
267
243
245
341
305
335
382
357
365
317
270
419
268
332
339
316
266
284
250
267
332
285
296
310
334
234
348
303
270
334
283
316
318
312
287
370
334
297
299
333
281
342
307
462
374
302
299
331
300
350
371
388
288
282
297
313
275
382
347
319
273
308
317
401
244
315
323
414
270
369
269
279
366
343
340
354
397
285
400
339
375
295
349
320
279
294
300
253
355
391
360
328
345
364
335
253
304
351
308
296
278
396
275
332
322
372
301
399
318
364
287
231
301
234
265
248
330
347
310
289
357
408
323
314
352
272
347
200
337
302
332
317
297
308
287
210
313
288
316
316
245
344
324
335
319
305
303
307
246
361
279
358
259
305
227
328
316
254
331
331
321
259
330
387
296
342
273
366
299
268
313
279
349
264
355
325
316
340
364
339
368
371
237
342
329
303
371
355
303
321
300
357
283
380
305
397
341
283
354
339
335
248
386
330
308
350
320
335
300
323
244
253
342
349
383
392
337
227
252
311
363
328
325
263
353
348
217
330
275
395
294
299
304
313
282
332
333
295
275
284
346
281
294
303
355
325
361
328
343
343
300
282
281
335
321
377
369
320
339
282
369
300
371
279
290
345
349
349
285
332
270
370
394
318
313
233
288
351
273
289
213
390
341
274
322
395
349
307
301
252
312
353
301
357
359
343
243
317
326
385
265
318
314
340
288
301
289
401
290
320
312
287
302
354
373
405
320
358
297
319
309
316
326
216
405
332
326
314
255
309
287
331
258
331
282
263
266
363
297
273
334
250
222
338
278
285
360
325
311
299
356
315
335
366
296
210
325
266
332
308
243
290
263
340
296
339
277
377
369
323
270
250
381
316
354
298
210
271
255
273
289
316
324
372
349
270
350
347
265
334
323
274
330
208
260
366
322
380
334
263
356
337
333
283
196
343
329
266
366
361
331
305
316
380
376
293
322
361
330
307
259
340
334
353
303
352
328
277
385
371
375
168
315
317
290
308
300
377
291
271
242
286
340
332
269
352
186
239
280
326
338
234
315
201
272
270
336
229
264
297
332
299
333
306
308
355
374
282
310
290
292
287
269
314
297
403
298
335
361
265
333
236
382
378
304
290
334
365
349
354
247
335
360
362
319
348
262
317
207
310
335
326
255
313
285
328
245
306
372
384
372
337
418
353
255
264
351
424
371
383
279
321
320
307
328
340
369
306
334
392
379
339
279
277
291
305
382
356
297
257
266
336
308
334
271
402
359
324
307
259
366
332
230
326
347
242
377
344
276
397
317
348
381
326
320
302
353
299
392
364
293
203
331
257
267
276
321
317
361
341
370
245
370
289
332
310
278
326
313
235
275
338
257
328
269
344
345
304
392
228
355
369
347
323
340
261
248
404
350
320
267
240
339
314
334
281
380
368
348
337
358
239
348
307
374
290
363
349
248
275
251
349
358
250
312
378
305
354
379
371
302
335
332
361
267
277
329
314
249
247
339
318
367
324
319
335
240
324
337
337
272
314
321
343
245
348
391
275
387
283
320
150
317
283
344
315
303
261
336
367
202
264
281
200
408
391
291
350
356
328
317
413
255
267
332
333
330
253
310
386
327
319
338
325
305
298
341
367
295
360
284
293
216
245
282
307
300
293
337
382
287
292
369
344
298
288
393
247
374
298
356
315
337
292
284
349
287
366
289
367
272
374
354
319
290
229
247
260
312
398
260
300
262
373
351
278
249
287
336
281
377
310
335
318
416
419
322
356
329
287
281
254
305
340
293
302
339
293
270
263
372
299
261
308
358
341
325
339
378
331
353
351
296
266
246
302
315
378
225
317
296
369
261
343
214
309
313
284
309
367
403
337
282
268
288
232
368
332
306
316
330
322
290
299
319
261
295
295
320
340
427
271
340
309
250
266
302
337
313
359
308
350
261
299
278
238
401
306
365
240
370
379
348
371
251
249
389
377
258
343
283
233
312
305
308
362
329
312
418
307
341
353
251
253
223
262
325
317
280
281
234
246
305
215
316
341
341
391
338
345
277
282
386
317
249
333
345
363
395
360
337
331
327
377
281
256
354
320
372
336
277
314
321
336
275
322
290
294
278
317
273
289
276
247
302
285
329
366
368
378
334
298
300
282
326
324
318
348
333
348
273
350
366
352
275
381
295
258
277
351
281
248
329
327
228
382
248
306
352
349
305
346
317
277
239
377
305
339
257
358
343
293
309
375
351
344
209
299
381
325
325
377
311
224
308
324
301
285
334
390
378
344
338
251
383
297
276
301
240
370
280
302
289
348
402
348
344
329
337
327
249
371
217
291
295
302
248
323
307
247
335
251
311
278
376
306
358
350
304
365
276
360
280
374
334
359
242
317
326
349
312
265
369
349
397
289
331
321
306
260
266
273
318
325
357
376
277
246
266
375
366
326
356
328
339
262
266
333
266
350
323
347
352
285
237
263
368
372
233
322
333
302
385
267
275
248
237
284
240
347
415
329
327
376
168
343
336
324
261
335
339
267
278
359
335
374
318
293
295
271
277
262
329
349
356
332
255
352
266
318
337
346
239
384
220
346
300
278
359
334
369
390
303
301
302
253
357
216
419
342
281
302
355
344
402
258
303
327
301
309
366
229
301
311
361
203
374
285
311
234
435
266
309
275
368
271
310
328
247
317
331
304
356
334
275
310
327
341
322
334
218
278
284
234
313
277
381
314
312
302
372
325
430
309
266
331
351
281
343
322
250
359
319
270
301
407
344
342
395
215
311
314
325
343
299
326
393
334
254
317
371
278
347
319
357
334
287
333
358
334
388
236
310
275
272
328
282
342
341
293
351
367
324
327
313
315
355
282
343
325
374
362
377
277
351
348
288
239
340
295
340
259
294
251
363
247
352
308
296
275
260
372
378
324
332
322
273
297
252
391
311
217
305
328
356
325
342
301
348
255
266
337
293
353
320
355
262
310
244
283
395
232
289
264
363
348
275
236
340
265
339
271
346
347
251
270
312
342
307
308
336
316
384
334
329
326
326
352
304
275
332
397
290
354
302
340
286
359
364
241
267
330
344
249
285
328
360
256
320
311
307
339
321
278
399
309
341
416
344
331
286
333
274
252
374
340
416
352
328
259
276
327
305
296
249
352
268
356
347
299
276
368
303
349
325
280
307
325
247
362
255
358
320
345
343
287
256
362
378
258
299
301
340
388
411
358
284
333
337
285
264
355
359
400
293
345
355
309
316
294
336
403
206
306
277
297
327
249
318
339
305
305
337
254
349
326
290
301
171
265
308
353
314
309
318
278
292
386
262
272
327
317
343
313
311
402
337
286
367
327
262
321
316
278
206
334
297
323
240
280
402
353
312
252
330
210
327
347
288
304
367
331
287
338
264
343
372
280
356
277
353
378
325
279
277
333
219
291
284
314
286
280
354
312
362
309
295
275
317
328
354
271
346
317
337
294
302
273
355
363
342
306
275
267
391
302
319
373
380
322
221
271
262
313
338
308
410
302
363
389
352
338
376
239
302
398
261
309
330
345
324
296
341
296
321
310
324
248
291
313
239
305
361
374
327
264
213
303
384
371
276
337
257
306
409
310
299
323
278
242
315
288
291
289
261
357
297
322
321
319
200
304
271
249
329
263
318
373
410
300
361
278
358
350
310
339
338
379
343
298
324
278
275
196
300
373
315
273
376
350
279
320
352
295
350
323
302
271
373
339
357
283
242
303
371
291
273
261
340
221
278
342
281
266
357
312
353
258
326
357
371
447
279
348
230
399
308
250
235
401
322
346
234
346
243
326
244
330
333
317
342
306
352
258
346
321
275
278
293
357
200
340
292
335
317
287
354
319
396
260
281
296
324
351
241
269
349
289
378
253
282
189
308
377
353
285
375
303
332
290
264
306
228
272
266
276
340
343
311
242
293
325
261
282
275
264
303
311
293
380
352
320
271
242
321
302
320
343
249
320
305
306
265
336
271
338
303
355
327
306
263
352
303
274
226
310
295
311
348
333
290
343
346
372
328
318
368
339
369
348
331
387
290
336
321
337
320
365
347
256
309
322
310
309
335
302
336
371
284
270
272
321
355
320
338
384
372
401
343
280
237
301
289
311
321
376
302
393
302
359
296
270
270
333
265
330
315
408
339
322
376
343
281
322
362
324
278
387
307
265
311
204
276
294
274
302
375
275
329
322
235
317
330
321
260
410
334
284
332
239
368
266
274
353
331
338
290
312
314
268
322
248
297
234
344
213
333
343
330
336
278
287
301
319
353
302
242
322
358
314
324
315
242
241
326
281
280
301
254
333
318
268
284
379
326
363
351
360
363
277
398
330
314
287
369
348
350
258
247
295
347
295
342
323
328
438
330
326
342
303
335
245
325
342
270
278
343
349
292
254
375
309
387
407
233
327
373
385
332
363
332
307
368
279
424
373
274
334
272
351
381
323
371
344
311
319
366
319
295
349
281
325
299
308
263
371
371
400
206
283
354
308
302
302
268
314
213
308
231
365
312
333
280
316
328
322
279
314
378
276
301
338
360
272
227
269
319
291
244
309
324
284
295
277
274
288
261
318
228
377
308
339
344
412
333
341
312
254
348
375
300
341
247
267
292
311
351
277
379
234
263
373
304
366
342
283
353
295
252
292
310
358
275
368
372
297
368
367
409
247
274
266
368
385
290
293
315
336
316
398
276
314
309
338
244
323
304
320
323
285
275
308
415
324
302
177
366
314
375
320
353
353
304
426
312
321
314
313
296
398
391
299
296
231
292
287
257
294
327
411
300
251
266
292
332
228
312
296
342
319
339
360
298
351
317
321
315
321
254
371
286
280
338
343
428
356
324
273
331
330
338
342
395
315
329
330
326
268
289
253
245
304
245
267
282
326
269
313
325
320
297
298
257
276
335
260
301
341
192
267
303
312
266
276
313
265
288
316
307
344
286
233
294
321
280
208
335
312
304
280
358
230
370
303
262
189
309
244
386
346
228
396
322
323
250
366
234
294
358
281
381
346
300
271
272
301
298
349
329
306
320
381
269
319
286
313
359
346
356
324
299
377
288
334
312
341
335
301
277
310
412
357
331
322
234
302
345
349
326
354
355
327
372
316
348
294
270
332
356
338
401
339
363
260
363
408
313
289
350
266
318
332
314
334
337
300
269
287
308
364
301
311
290
219
340
368
313
217
340
344
317
309
284
327
347
332
357
317
282
322
337
318
260
271
303
262
334
260
274
301
330
224
383
226
286
258
355
283
249
334
302
361
250
335
358
298
300
313
342
355
274
302
263
283
286
326
279
228
277
299
328
333
320
422
324
338
313
231
356
323
420
255
222
387
340
388
257
339
274
239
339
261
334
258
286
265
247
235
325
315
263
195
316
333
356
245
353
306
354
284
334
335
360
369
320
388
359
304
330
269
199
279
303
294
260
316
238
396
285
364
367
249
267
312
356
312
271
386
322
325
222
327
228
292
245
302
366
353
241
359
284
316
339
336
367
306
384
298
361
300
334
293
333
269
265
363
295
257
335
271
349
263
453
357
279
319
361
372
345
329
291
340
298
345
293
265
352
318
278
244
365
371
412
349
266
246
275
356
386
326
406
234
401
354
351
310
384
351
288
350
297
299
251
338
345
355
336
378
266
373
356
405
324
275
259
228
342
331
304
305
341
316
225
298
284
286
308
276
315
317
331
269
341
268
280
369
295
331
297
311
347
326
309
276
214
293
361
254
344
401
290
310
270
337
335
362
335
268
225
290
264
321
224
280
246
297
312
318
341
342
303
290
399
404
330
250
341
367
262
302
358
408
306
222
352
282
336
338
271
401
311
235
377
301
427
412
326
337
338
298
339
257
299
295
382
302
361
273
311
280
385
331
415
243
372
355
264
336
333
335
348
280
265
293
294
233
225
245
370
339
299
322
337
325
318
391
292
343
307
337
331
355
347
339
284
262
321
342
326
242
249
296
319
288
376
318
310
317
310
393
338
395
291
438
293
322
238
370
230
349
260
316
303
316
353
409
175
273
386
213
325
358
280
259
274
300
291
303
325
322
322
338
302
270
241
313
258
292
302
349
237
330
358
349
322
353
325
372
239
267
331
362
293
361
317
333
391
322
335
375
329
395
308
300
322
306
268
316
270
324
363
269
315
218
286
326
256
350
314
292
303
433
259
370
271
298
388
413
299
349
371
374
226
385
324
328
301
326
341
265
217
322
338
381
322
289
349
349
344
233
342
275
287
247
328
405
273
282
352
273
355
295
347
290
304
372
321
256
284
279
323
367
291
311
355
323
354
368
346
229
255
200
361
232
304
359
368
356
273
337
330
340
348
277
318
193
230
312
238
344
301
360
310
358
315
341
295
261
326
282
280
288
309
328
324
338
335
257
336
271
293
387
380
272
356
333
279
352
313
310
344
297
323
334
331
212
374
359
282
305
314
341
378
372
306
358
297
266
322
323
255
310
378
241
295
285
285
389
358
353
388
336
336
328
384
284
317
273
357
286
323
302
272
204
288
339
391
344
337
305
294
353
202
347
410
322
352
310
349
307
284
330
335
395
271
299
308
326
309
292
278
330
349
314
420
285
310
264
323
260
172
325
285
376
313
293
319
349
306
324
224
349
309
341
247
292
250
340
373
403
364
222
310
387
292
327
384
207
285
370
370
312
274
309
248
305
294
274
306
315
332
326
272
350
295
371
353
301
246
292
287
336
310
335
287
285
322
398
313
286
294
342
304
358
296
291
258
287
290
323
266
313
350
317
354
343
341
390
260
280
354
296
412
283
297
253
337
267
360
345
347
285
306
368
330
286
281
328
346
296
303
414
341
242
252
320
293
359
317
387
298
418
331
343
362
248
344
323
383
327
362
275
369
323
335
327
342
308
226
407
322
330
289
292
313
301
261
322
326
304
308
376
301
319
327
318
391
320
336
341
336
373
306
246
352
348
246
361
290
315
371
319
310
320
327
243
344
328
344
295
348
282
244
370
300
360
335
293
395
236
356
276
393
333
231
343
315
268
274
342
276
252
309
290
381
275
226
318
325
353
364
315
295
365
296
345
260
316
356
284
314
361
255
323
395
294
271
301
339
376
370
318
284
322
264
333
323
374
234
279
314
301
301
390
258
262
268
255
329
329
231
248
383
323
338
187
282
285
390
344
357
377
323
335
458
285
317
259
334
332
341
304
312
242
262
329
407
388
243
308
382
326
291
271
273
327
303
266
326
276
314
313
283
338
332
354
276
375
340
290
404
341
273
315
402
297
306
325
287
383
312
294
298
336
376
310
313
320
394
353
382
329
279
268
339
262
282
212
360
286
355
423
248
351
306
293
296
266
333
348
316
278
347
304
384
353
303
311
339
287
359
268
302
324
340
338
317
256
275
356
318
318
301
375
376
356
346
258
263
313
268
381
393
355
297
248
351
292
305
330
366
353
297
284
309
387
340
325
352
358
307
371
267
205
290
305
311
334
302
274
322
303
306
370
222
403
347
329
381
337
393
350
308
348
270
272
238
345
273
276
303
326
316
329
290
369
307
337
254
307
225
229
314
345
297
360
278
355
310
212
285
244
338
340
328
325
305
263
341
322
279
302
239
331
328
379
375
352
343
321
423
392
333
291
355
298
368
375
277
272
354
287
385
291
333
358
350
225
329
353
301
300
270
311
294
294
379
326
353
226
321
291
304
396
299
249
304
227
358
307
326
329
299
272
404
321
291
411
350
239
292
305
337
239
305
273
338
356
384
281
276
241
304
403
274
341
320
304
315
350
248
293
298
313
319
293
263
375
314
281
356
293
328
318
341
302
305
295
354
366
298
335
304
373
301
261
338
257
260
317
352
246
322
312
265
234
370
357
314
232
311
249
387
351
361
390
346
378
279
322
327
287
364
320
376
421
395
245
309
375
372
233
338
294
361
353
345
317
346
255
357
313
227
340
219
355
338
337
319
275
335
264
374
282
333
309
362
319
318
325
327
265
410
290
374
344
272
327
348
347
305
319
328
322
312
347
345
285
351
279
311
347
313
344
356
366
343
318
284
351
389
382
281
266
280
341
393
370
306
246
274
300
270
381
266
242
271
327
286
410
379
301
285
236
262
313
266
286
284
396
337
323
344
300
322
343
343
257
251
310
277
304
402
246
336
341
359
253
326
345
222
340
336
280
332
387
274
304
370
341
339
331
350
303
305
314
431
319
299
329
350
347
250
293
252
344
361
336
335
327
314
291
306
378
402
365
306
296
301
264
285
332
329
244
361
269
187
299
306
290
311
271
314
318
312
242
361
324
264
406
347
263
291
291
301
331
329
259
411
335
254
302
346
327
321
337
399
228
300
301
310
340
235
379
337
340
355
325
258
250
307
328
393
265
392
336
388
390
333
208
365
288
356
392
265
340
274
327
236
226
326
274
315
338
299
302
340
323
250
315
217
266
327
323
275
286
356
206
318
369
319
323
329
275
297
337
340
351
348
341
292
307
257
417
348
318
281
269
243
323
279
280
290
342
336
282
236
327
308
293
333
270
353
330
212
380
330
292
351
352
354
352
275
321
359
290
390
299
345
411
296
295
297
353
311
349
281
366
330
362
353
284
320
331
282
341
205
311
342
329
289
343
309
294
272
305
290
342
283
321
358
337
330
307
305
303
272
363
313
302
283
375
263
285
258
316
331
412
310
273
326
378
335
285
265
331
335
363
327
280
318
303
425
307
327
299
294
366
302
346
273
360
264
329
372
331
361
286
316
338
306
332
293
271
342
332
357
317
240
293
323
238
212
338
267
333
374
252
395
328
283
355
280
396
276
358
352
326
344
315
344
353
295
314
300
330
289
272
298
379
334
351
281
305
227
289
280
282
333
212
370
281
356
312
271
259
361
345
340
262
336
232
299
306
281
236
379
255
220
393
348
383
302
264
395
256
229
252
357
296
386
375
270
377
350
301
279
339
289
284
341
351
302
269
316
277
325
305
349
342
298
326
330
294
333
308
322
288
288
353
325
337
329
335
361
320
340
313
353
347
368
316
358
272
315
357
276
410
274
325
362
326
271
361
353
296
295
334
356
334
292
395
359
274
307
326
354
317
367
307
365
290
213
286
322
367
300
248
265
283
289
328
344
328
317
275
292
331
329
317
336
347
350
294
325
388
284
260
381
315
390
355
323
350
259
427
403
320
271
297
291
293
351
375
291
396
296
296
317
336
247
292
401
311
293
301
361
351
269
262
219
358
328
371
261
302
294
333
271
318
279
359
366
337
303
279
353
332
268
328
252
374
320
328
240
353
292
302
327
311
372
315
335
309
297
274
282
328
286
322
284
259
281
301
298
318
311
354
388
336
290
364
322
358
350
302
305
401
323
318
274
296
270
310
231
370
384
318
270
312
279
315
326
348
313
284
206
321
322
313
267
295
339
361
401
265
326
399
329
323
264
385
302
275
298
273
317
309
307
324
341
266
362
235
298
305
269
346
308
301
298
340
303
272
315
326
311
287
335
380
290
385
258
265
357
337
285
250
301
359
353
279
388
314
375
321
354
320
333
194
350
326
345
349
277
302
370
274
221
332
307
322
216
396
284
248
297
283
382
257
267
364
351
334
305
194
271
337
326
344
333
368
309
323
339
317
315
281
251
320
422
265
276
261
310
295
300
280
317
320
336
288
354
393
302
294
359
302
339
274
338
334
366
268
361
372
366
322
365
325
298
331
315
327
324
313
293
366
254
342
335
295
288
245
240
373
346
317
325
302
351
341
322
295
357
353
261
392
340
299
361
304
295
245
231
304
408
367
350
304
260
273
282
406
312
290
374
352
374
287
320
387
283
365
242
393
408
325
317
286
267
259
327
326
333
362
294
356
302
323
254
296
288
284
330
374
328
355
306
294
400
335
206
364
420
269
338
372
296
365
282
348
331
238
349
360
354
352
387
376
222
268
412
327
257
292
348
308
345
276
259
386
301
285
334
312
316
290
300
338
224
294
298
233
379
317
259
344
388
337
375
266
313
335
405
326
228
285
374
312
396
268
327
285
322
356
320
374
357
355
345
290
339
299
228
381
321
316
273
324
258
307
338
330
266
312
325
311
319
317
265
318
294
362
350
320
229
329
361
269
327
246
310
359
249
405
375
380
217
315
332
289
277
282
363
321
313
338
355
282
355
371
345
302
395
333
383
272
315
296
354
250
296
273
337
379
265
352
267
226
371
477
308
323
326
317
273
304
359
359
333
357
375
302
297
291
332
345
345
407
270
310
303
271
310
279
314
303
196
368
299
267
279
382
310
384
348
328
334
337
327
323
332
365
305
334
266
361
330
295
258
311
234
260
266
315
353
275
355
328
358
330
396
355
324
360
300
311
375
285
341
282
302
334
401
226
310
282
255
396
409
303
301
364
259
389
286
340
275
298
307
337
319
350
344
327
272
250
266
365
308
311
274
311
298
290
304
277
353
317
296
301
345
350
331
359
279
376
328
366
343
334
312
350
342
298
275
390
287
332
330
335
356
302
289
319
339
320
333
306
244
384
264
273
352
318
294
362
299
308
217
273
340
335
264
380
315
374
282
340
311
311
361
315
318
322
284
331
279
275
279
307
321
345
388
273
312
296
349
291
333
272
325
280
289
299
333
348
289
339
347
360
319
215
266
269
309
271
319
265
327
355
352
304
348
347
298
358
250
321
333
396
372
327
298
256
298
312
296
250
336
304
265
346
346
353
349
386
260
267
348
262
288
350
412
342
324
361
271
273
256
334
349
261
302
304
319
337
303
269
324
290
241
350
315
366
306
302
297
341
359
413
256
355
382
351
340
307
268
284
293
277
371
309
360
273
361
243
356
277
327
332
338
337
297
281
294
284
331
304
302
246
351
313
370
313
365
308
307
316
214
284
350
355
271
297
322
316
365
358
363
369
258
301
378
373
358
268
258
323
386
315
322
331
368
384
386
326
347
303
296
233
260
331
286
233
198
327
287
384
305
275
324
315
349
274
320
299
436
361
359
415
349
301
299
367
317
352
355
296
232
384
324
283
368
341
333
282
288
272
390
331
332
279
271
325
349
363
306
285
376
356
285
307
274
351
422
361
357
284
285
285
253
271
321
298
364
272
365
248
321
278
362
297
297
360
242
354
384
344
330
302
306
263
250
332
305
377
253
298
402
325
307
285
274
298
260
322
322
249
295
284
326
334
308
285
295
296
391
371
328
373
317
345
255
353
323
342
265
377
301
359
291
353
310
414
366
292
373
243
319
290
316
300
371
295
254
365
354
207
265
368
259
276
285
307
281
301
337
281
210
299
342
260
316
303
303
384
332
379
279
293
327
255
338
299
350
250
288
340
262
341
364
313
358
274
332
236
351
254
250
360
362
369
297
252
271
318
259
293
319
283
277
364
310
302
290
363
318
291
254
295
301
362
352
380
301
309
309
286
312
318
238
301
336
264
392
362
329
219
312
332
332
253
398
291
353
368
354
351
307
278
196
258
235
262
312
302
313
362
321
307
251
383
242
304
270
258
321
230
264
227
334
361
327
349
278
369
342
260
249
263
311
382
328
307
339
191
358
333
293
259
343
317
248
414
322
307
389
284
340
311
384
336
391
306
360
332
301
326
271
364
379
324
282
340
344
398
344
261
264
300
220
272
298
358
291
352
329
368
348
283
382
358
239
313
344
392
356
358
336
333
299
332
333
388
319
371
231
278
347
312
282
366
336
396
309
288
360
267
339
384
368
366
229
354
322
332
327
292
307
422
303
309
259
367
228
313
359
374
263
315
393
339
287
329
300
312
322
427
336
412
249
281
391
298
365
356
289
340
323
315
355
270
404
346
303
275
309
313
320
318
322
295
227
234
269
304
284
388
277
351
289
422
364
344
356
309
300
360
213
331
281
285
351
283
310
289
370
348
370
215
307
336
273
330
388
339
428
330
286
307
270
287
299
279
266
322
360
343
378
424
357
289
300
329
326
326
338
212
312
320
348
368
338
281
282
306
304
236
247
249
322
315
366
337
332
375
336
336
309
300
324
373
285
337
327
351
326
346
289
334
263
335
241
310
382
318
283
310
322
312
280
346
293
257
310
374
294
336
275
284
315
299
287
315
238
339
352
294
385
273
346
314
293
303
291
279
273
315
329
329
300
204
354
334
252
348
328
318
240
196
339
294
301
227
298
348
349
323
288
337
249
347
284
423
315
382
312
359
290
285
339
293
419
390
301
260
228
281
373
315
307
305
279
307
380
288
246
205
326
255
290
265
311
290
351
319
338
364
306
362
328
292
347
269
322
407
326
338
391
305
299
279
330
245
327
432
336
249
299
384
318
346
297
337
317
246
288
364
316
360
328
286
218
366
388
365
281
290
259
324
348
346
291
275
354
277
334
370
403
344
296
293
333
372
352
362
360
213
313
312
312
403
343
336
305
291
299
334
273
215
336
260
359
343
335
287
242
371
301
339
333
285
317
254
269
321
377
287
297
230
325
286
329
283
320
290
336
320
313
201
379
361
323
305
271
386
399
284
305
294
362
333
435
360
204
358
312
345
255
290
391
317
279
323
313
320
273
358
269
217
381
300
329
320
272
354
343
327
328
336
312
355
367
400
284
274
318
308
277
323
364
325
361
286
357
333
305
315
315
272
321
351
379
304
314
295
367
277
311
275
324
340
280
353
291
369
296
193
266
323
340
375
344
276
304
297
223
300
368
346
235
341
383
274
294
364
317
311
406
269
286
295
298
256
334
252
259
345
379
304
300
372
400
274
347
286
302
275
318
336
334
318
240
318
306
270
364
315
352
312
343
369
271
347
304
341
249
280
399
334
304
314
374
386
316
269
260
309
373
307
245
345
396
320
246
261
331
311
264
260
354
322
372
304
284
412
338
334
374
348
335
222
321
420
278
293
360
259
286
298
350
326
265
362
347
286
261
404
258
378
329
278
339
334
393
270
310
383
252
268
352
323
279
304
323
307
360
246
402
320
246
315
307
293
372
382
302
370
318
301
363
261
345
333
258
408
312
309
372
324
345
354
405
220
303
280
303
234
291
312
233
419
341
284
262
318
260
360
367
323
295
383
373
313
316
311
287
246
322
253
308
310
284
313
347
278
352
296
250
340
345
246
281
241
383
322
355
314
343
249
367
358
240
316
374
407
299
367
311
325
294
359
338
427
361
376
205
300
366
334
329
309
352
323
399
287
295
263
365
348
319
297
294
398
357
277
298
369
302
295
300
277
374
295
285
329
349
377
314
315
228
342
277
325
334
323
366
324
349
330
302
289
343
296
308
447
331
262
299
309
269
317
333
326
334
406
306
335
328
334
281
272
305
295
267
208
322
314
364
214
374
355
311
308
332
276
355
319
345
308
387
227
212
279
347
317
429
319
266
352
298
297
342
292
353
312
406
373
334
352
264
336
250
386
325
334
319
309
348
293
298
364
362
336
227
324
268
368
416
324
383
327
360
346
245
370
278
340
379
292
297
317
319
275
350
236
340
317
316
316
253
272
364
329
364
321
385
298
252
249
314
304
327
289
446
333
326
301
271
291
271
341
266
324
260
391
378
377
285
360
344
295
291
326
305
324
340
311
369
329
218
321
356
321
405
230
350
291
308
312
244
291
240
335
258
271
317
345
288
245
238
302
309
277
237
332
380
389
317
361
377
354
318
331
284
263
218
312
313
260
288
259
380
288
356
269
253
294
343
338
353
350
302
298
238
253
230
265
283
300
336
302
336
307
333
351
215
312
315
350
337
340
323
236
334
329
318
289
323
368
270
364
390
352
373
212
334
268
314
312
349
303
355
263
289
312
356
358
319
391
373
348
312
302
427
354
316
323
285
302
306
277
320
288
433
315
297
305
237
229
339
333
342
308
281
291
253
372
307
287
287
345
255
343
270
444
363
215
278
383
310
263
291
306
362
208
333
271
358
404
339
299
351
358
380
312
319
231
289
277
269
322
334
313
300
311
300
287
220
369
307
325
397
359
299
346
298
343
304
240
404
278
332
293
334
325
331
337
322
296
337
256
329
316
331
346
387
357
305
289
288
335
269
357
339
269
295
273
259
311
388
352
384
431
252
266
240
298
350
300
344
265
318
248
326
283
326
395
285
348
300
373
279
244
314
348
275
313
329
328
321
326
260
280
255
344
276
327
338
337
272
324
381
298
317
253
329
341
254
354
344
383
362
320
316
342
338
421
438
348
286
340
184
298
318
295
337
287
246
336
302
319
314
353
294
309
218
289
303
320
328
323
363
177
368
369
198
232
364
316
334
239
302
201
297
264
307
337
380
310
341
325
336
278
349
324
314
284
283
260
279
253
363
366
331
234
255
350
324
274
336
342
288
272
264
214
328
271
392
333
256
325
371
378
316
376
317
317
301
276
232
359
352
369
302
375
366
237
371
269
357
300
275
356
349
382
326
357
236
318
380
335
261
342
309
330
310
280
297
303
407
322
284
291
258
314
261
343
285
192
279
268
331
312
292
296
305
193
393
293
294
305
292
309
271
273
364
365
331
235
275
250
370
261
336
306
325
292
269
316
305
338
339
300
324
250
357
366
378
295
320
358
228
324
325
292
307
311
353
333
301
311
327
367
434
302
319
265
256
211
296
376
220
309
355
360
370
281
306
344
376
313
306
350
334
269
392
285
339
362
303
276
294
339
324
388
250
344
328
301
219
293
373
360
386
360
300
319
278
255
283
231
246
320
346
316
267
229
285
333
314
315
305
297
335
226
312
350
331
340
352
351
280
343
348
207
370
378
357
338
306
293
393
312
304
272
343
315
286
273
318
297
367
345
240
365
377
329
312
340
344
261
216
299
314
347
343
402
288
227
294
272
355
364
287
277
274
346
330
317
227
354
312
373
275
351
291
251
366
337
377
368
310
368
310
203
419
381
277
338
336
307
301
308
186
200
173
295
323
353
236
333
396
271
305
284
387
331
378
258
300
370
294
297
345
316
343
295
231
258
291
271
289
327
350
324
339
373
347
334
335
327
243
308
297
231
254
440
306
312
314
386
263
393
299
348
343
369
289
325
313
312
349
325
289
318
267
334
256
250
315
324
239
390
242
375
340
318
326
312
278
350
304
356
332
299
332
279
307
290
284
307
217
362
379
279
376
285
281
333
330
291
376
281
358
265
385
292
239
301
245
351
343
283
307
267
299
351
326
270
369
340
304
337
319
363
312
348
288
287
344
314
254
261
327
267
375
274
302
283
316
350
272
225
344
366
354
331
263
363
300
292
327
335
351
254
294
323
287
283
308
229
258
331
297
303
354
365
256
313
300
376
289
360
347
283
253
284
241
152
369
265
353
265
254
214
338
405
282
340
356
370
319
322
333
295
336
297
372
301
344
354
307
324
301
227
382
288
352
341
327
317
405
263
332
353
312
361
283
357
354
343
324
268
285
274
247
285
376
302
305
404
327
354
333
244
369
356
349
257
281
300
262
281
320
311
241
257
336
278
321
385
356
381
372
333
257
378
231
297
362
385
308
282
307
333
275
361
328
309
324
272
288
296
334
265
342
276
345
333
313
338
340
329
307
284
325
342
313
252
271
236
337
379
331
346
294
277
273
311
275
296
313
391
269
291
274
320
385
236
323
256
319
285
256
304
181
394
309
320
272
324
288
300
329
267
287
317
319
352
325
309
358
342
260
364
340
343
370
367
227
291
324
302
369
321
307
269
254
315
263
300
315
328
329
282
300
380
295
354
280
307
299
315
347
174
343
436
317
288
316
275
273
357
284
395
305
268
384
277
263
333
311
333
340
285
352
334
382
341
402
369
340
319
287
307
332
354
333
387
342
214
282
273
292
274
413
404
335
324
434
293
425
288
344
354
327
356
323
311
363
304
285
240
326
276
258
317
271
283
246
329
334
280
322
334
310
335
262
279
327
297
359
295
249
321
332
261
315
276
357
314
386
334
223
287
422
361
361
392
296
292
299
260
354
358
280
347
343
331
274
398
289
290
322
367
203
260
312
301
313
216
349
304
329
334
337
285
329
327
345
331
341
300
397
294
343
275
342
225
257
348
354
378
271
313
297
276
352
315
300
352
339
307
295
325
356
332
354
317
349
307
254
253
320
297
235
258
292
361
323
351
341
368
356
389
341
249
307
302
342
375
335
389
386
357
322
289
313
356
260
340
378
399
330
349
328
374
356
321
332
348
254
387
270
289
340
360
340
396
240
315
244
307
346
246
222
261
290
393
359
277
336
275
367
280
258
309
271
376
366
276
254
289
330
272
312
284
243
205
349
320
376
223
351
244
376
340
299
281
382
293
398
296
304
371
316
311
316
323
329
389
269
240
249
219
250
347
428
372
296
244
401
333
267
299
307
278
337
334
402
362
358
243
327
284
332
404
275
269
340
377
251
380
261
309
359
278
200
375
418
327
263
373
344
332
342
345
256
323
298
232
366
312
343
389
313
369
387
365
316
325
333
313
375
297
310
369
269
293
323
265
290
302
355
301
320
348
344
302
236
250
333
343
335
312
315
340
279
293
328
303
292
224
324
294
268
360
268
305
306
247
347
307
296
284
219
333
310
359
279
406
330
374
301
318
271
289
340
371
304
339
384
304
215
292
378
299
350
350
299
256
295
312
307
366
320
325
210
337
281
354
333
347
261
326
378
356
349
337
347
280
372
327
328
357
297
396
338
272
255
334
347
361
338
326
383
255
351
308
342
231
219
326
229
329
303
347
348
297
393
297
220
344
303
317
310
313
341
347
356
317
369
399
291
269
359
267
350
323
364
230
352
335
310
278
172
308
332
346
355
358
408
374
346
276
343
289
317
349
331
315
338
286
302
271
258
311
302
382
281
362
328
304
258
380
357
343
358
355
239
353
234
393
346
306
301
241
318
342
368
328
315
362
303
357
357
332
270
284
281
322
339
277
286
375
223
353
338
291
278
183
344
356
326
264
322
281
257
287
391
306
321
267
374
342
326
282
313
251
310
270
273
282
337
296
288
285
353
372
307
322
381
286
362
283
318
269
334
234
251
368
370
240
319
344
195
266
362
266
284
264
275
355
311
317
241
323
296
289
348
339
293
336
308
286
331
309
296
272
353
244
312
285
363
346
331
325
371
190
324
363
323
252
368
355
294
289
352
340
366
242
271
304
385
195
259
346
324
316
377
318
328
365
334
331
348
270
286
307
352
293
320
313
322
358
234
367
358
319
407
428
294
209
377
345
359
340
247
263
403
220
313
347
325
344
288
327
297
355
231
324
377
299
259
353
328
256
332
309
332
309
246
409
305
420
312
362
323
281
290
361
353
340
253
304
349
339
342
376
377
316
286
372
279
308
318
292
361
329
269
327
312
308
302
238
300
374
237
274
309
359
371
283
325
324
303
322
263
332
274
309
359
382
353
361
393
369
296
274
319
285
303
369
294
284
326
358
272
301
423
302
354
319
303
385
298
316
333
341
213
351
234
315
315
280
289
284
267
291
308
273
344
289
322
230
369
334
289
415
328
360
413
280
359
235
316
259
258
434
342
222
362
298
312
286
356
292
322
318
275
347
338
350
348
284
309
290
298
376
260
276
360
329
333
289
333
353
357
362
330
281
359
293
279
407
292
270
364
295
319
328
265
377
313
365
325
258
274
339
406
250
307
243
334
280
375
230
315
425
281
176
305
341
363
267
346
243
371
344
355
278
351
324
353
265
303
302
324
266
256
284
252
332
285
315
355
260
388
297
373
285
297
413
324
329
371
237
272
353
360
298
283
300
315
232
338
376
321
372
294
354
320
305
274
342
335
318
343
269
310
312
368
296
302
371
272
259
321
311
391
318
377
348
336
344
348
316
286
324
340
316
340
262
347
295
304
345
320
310
295
264
377
362
291
258
278
388
266
334
382
288
233
291
246
313
276
307
368
382
260
276
351
324
343
289
286
313
247
322
313
368
401
326
295
367
344
378
284
311
338
284
259
264
295
280
411
369
372
279
317
344
276
375
337
288
265
338
215
285
282
320
316
334
323
284
317
400
274
352
336
304
267
352
280
274
335
252
254
302
322
335
205
299
390
263
327
400
327
335
248
309
366
258
403
288
266
389
426
344
253
325
296
386
221
345
281
304
270
321
308
295
248
318
302
456
317
279
381
303
293
316
331
293
341
258
359
331
159
279
299
226
356
356
316
422
296
249
308
344
193
398
293
335
309
326
327
225
372
321
329
300
322
347
347
357
214
230
351
350
266
283
342
306
337
289
247
315
376
276
263
232
290
347
315
320
328
302
301
322
320
303
288
319
344
250
323
300
392
280
282
401
252
430
342
349
327
367
352
327
324
228
366
312
354
266
298
317
293
278
249
338
240
358
310
346
314
276
294
409
409
291
324
316
299
295
365
300
398
269
321
276
293
314
328
288
317
235
366
387
351
329
363
265
312
315
313
292
337
329
281
381
312
280
294
344
364
314
354
367
274
329
247
328
324
276
343
345
342
265
287
294
347
275
316
382
409
351
313
278
335
333
318
360
390
363
279
329
350
277
341
319
259
336
330
295
326
315
221
300
286
308
380
414
330
310
328
255
255
317
350
343
338
203
323
287
274
333
323
290
339
358
364
373
328
268
283
293
294
363
385
346
346
330
324
267
370
306
306
269
291
265
293
373
370
304
363
333
273
330
348
260
226
301
355
373
362
248
342
271
320
358
279
363
342
336
298
236
315
337
302
323
310
286
319
372
336
258
306
290
303
289
365
297
314
396
354
358
245
261
246
300
327
315
336
272
261
307
289
284
325
217
354
345
393
268
304
348
332
234
350
345
330
362
323
280
345
293
286
315
417
296
247
340
283
318
261
250
349
207
348
193
368
290
301
322
314
401
320
332
331
370
355
259
336
331
356
336
366
265
362
318
315
314
291
335
214
307
297
313
329
339
425
323
291
358
331
315
271
318
383
328
273
360
316
233
346
328
372
224
310
307
297
370
381
317
254
320
277
286
335
270
303
313
334
306
236
391
319
318
245
264
271
279
260
294
314
195
289
369
362
294
299
302
269
382
324
325
403
259
312
358
283
316
305
319
246
305
292
340
311
294
298
349
347
361
278
343
268
283
284
343
326
266
262
263
272
350
315
292
275
292
337
279
301
309
221
326
285
302
260
359
320
263
257
356
301
370
313
272
245
195
259
292
322
293
381
292
267
279
386
376
277
304
286
354
281
280
398
340
266
352
325
351
294
251
251
354
311
334
273
292
338
345
283
294
311
228
299
348
304
380
255
334
269
282
325
403
284
300
291
328
288
360
232
381
315
307
234
282
313
288
262
290
234
310
327
280
200
269
279
379
305
364
360
356
286
357
287
257
236
341
277
236
332
424
327
405
349
258
322
330
343
333
328
217
328
401
215
297
275
327
322
365
377
292
323
291
269
295
322
281
302
303
362
331
320
294
395
325
324
355
321
262
293
295
368
313
281
295
235
348
302
269
312
283
340
254
249
350
419
318
291
249
368
300
277
293
364
350
229
277
193
297
242
311
302
309
299
203
277
280
318
265
291
325
312
271
356
327
368
334
367
319
298
303
337
339
275
313
283
307
276
341
404
324
352
308
311
419
358
362
287
325
363
272
301
292
341
353
338
350
316
317
340
327
266
353
268
302
262
332
290
324
267
264
330
346
352
337
308
333
323
283
342
340
369
370
408
274
351
305
250
225
336
312
317
294
378
306
368
290
421
333
331
350
326
379
339
328
309
307
364
290
327
356
292
285
258
312
284
259
282
283
373
296
318
251
352
290
228
316
327
290
312
265
247
343
314
308
354
344
421
237
325
321
385
315
325
331
404
358
325
284
331
301
316
376
288
340
291
318
300
380
317
334
343
327
263
319
297
298
349
253
336
345
309
333
380
264
321
275
287
348
335
310
396
326
336
307
321
267
286
307
252
336
332
292
260
281
290
302
379
301
378
279
313
324
340
249
318
384
365
368
305
263
333
355
238
392
246
276
332
261
318
306
311
261
255
268
348
270
288
282
320
291
247
267
373
334
320
298
182
414
307
302
290
358
344
408
272
298
347
353
254
268
278
350
367
349
300
301
369
340
356
351
287
347
319
358
224
331
315
317
384
372
414
280
405
280
338
375
300
270
331
338
262
355
337
343
245
310
296
404
279
262
188
323
363
352
242
278
316
319
250
287
341
348
307
389
298
332
335
342
272
336
314
321
309
275
305
285
324
343
328
346
344
344
294
325
350
365
355
370
305
314
330
313
249
328
256
312
370
302
308
361
288
426
327
266
431
321
413
283
305
245
365
336
264
408
339
320
300
297
365
319
318
391
262
295
318
291
323
369
294
221
284
287
318
339
318
313
361
372
312
337
276
277
228
366
261
308
241
348
251
385
360
325
269
329
277
319
387
299
358
205
323
256
249
312
359
230
387
305
280
266
332
315
297
314
324
383
352
366
338
313
267
314
284
378
288
290
298
314
277
223
284
322
291
364
282
309
324
374
258
403
283
350
417
315
317
347
276
210
344
360
359
385
308
345
346
324
367
373
331
359
243
374
266
230
220
336
274
298
277
313
380
307
337
301
301
292
303
347
329
339
277
377
358
363
390
257
349
402
356
260
290
337
248
247
329
332
323
265
288
291
278
311
386
246
336
304
361
315
386
327
324
316
331
240
383
345
400
273
281
287
408
260
362
289
369
381
316
331
293
300
255
271
261
319
263
342
374
336
320
345
365
308
329
286
290
350
332
278
306
245
354
327
342
361
380
339
336
295
310
372
284
308
287
335
296
254
368
252
272
356
271
274
335
348
335
341
327
361
355
303
279
349
201
311
300
302
312
286
320
308
278
314
323
335
346
368
345
289
315
374
378
264
329
240
299
208
289
257
357
335
309
290
335
292
348
382
387
358
333
256
314
369
305
436
339
330
350
334
368
328
296
346
343
310
282
314
343
319
239
266
387
405
284
206
302
321
328
337
330
340
399
359
301
293
286
246
276
327
338
316
321
288
322
397
278
224
278
331
323
281
308
204
286
378
392
309
409
288
326
302
355
349
324
325
401
338
337
339
333
274
381
267
275
270
364
419
326
326
279
205
343
343
333
305
295
283
272
264
316
292
301
338
224
286
340
325
311
268
280
246
320
345
306
261
430
307
295
296
359
313
269
353
332
315
308
307
241
339
252
300
315
313
391
390
278
281
355
267
226
367
295
298
331
282
388
325
322
346
348
300
292
279
327
277
292
278
321
363
329
285
320
345
419
344
352
326
390
338
296
352
320
333
253
424
347
312
288
282
308
267
356
329
298
296
196
275
238
278
316
286
400
369
366
286
286
233
289
327
340
350
317
334
326
368
299
340
327
394
293
399
283
351
376
302
327
341
305
273
333
318
305
343
269
352
298
274
294
379
266
307
319
298
345
403
354
383
351
309
303
315
225
340
338
278
331
324
328
292
332
318
285
305
343
334
329
334
307
444
389
387
256
324
327
352
307
344
317
286
350
298
274
283
296
418
304
304
355
281
338
256
367
369
332
283
283
292
275
380
294
311
376
319
278
326
197
259
296
347
337
295
365
278
268
303
293
453
297
271
341
331
330
284
356
319
315
357
260
281
299
323
299
223
275
299
265
328
303
346
407
259
297
273
317
268
247
356
320
352
377
216
315
297
243
343
339
253
372
306
288
327
407
320
319
304
303
311
299
319
274
372
356
373
311
307
296
365
370
258
409
292
202
381
273
368
369
281
319
372
363
370
312
328
303
371
343
363
361
268
281
279
261
303
329
280
202
347
311
235
405
360
312
302
287
341
399
306
323
310
318
378
434
295
354
306
398
322
331
295
332
332
340
333
307
326
321
245
381
280
364
351
251
347
322
249
269
297
217
320
313
299
378
326
350
325
284
349
289
259
325
303
359
318
257
237
270
267
342
344
303
381
288
327
329
333
335
339
380
359
303
323
307
301
361
294
309
269
322
278
347
384
347
278
322
308
271
263
385
304
296
226
294
291
377
362
296
257
353
254
364
353
281
384
244
310
282
335
297
252
229
332
195
313
313
338
329
324
231
235
369
316
334
301
329
322
308
307
323
384
294
361
292
330
311
286
349
342
328
316
293
330
257
239
318
381
319
360
388
314
306
362
287
235
262
270
327
339
335
277
371
300
312
342
388
407
240
395
359
225
393
283
290
364
315
322
385
319
382
347
340
386
361
318
300
333
376
333
343
294
310
325
258
383
264
228
327
355
284
321
348
318
289
342
283
355
373
296
311
334
351
318
393
304
260
324
329
295
238
312
307
275
350
293
361
336
350
328
347
305
305
322
261
272
295
300
381
282
319
369
263
170
319
313
366
261
296
315
327
331
319
329
272
194
255
394
379
256
334
276
371
301
350
290
285
408
301
306
360
387
357
422
357
297
378
376
388
224
334
275
344
373
357
278
350
275
302
340
335
407
335
353
275
281
341
341
254
254
236
268
352
336
325
348
341
300
340
321
310
302
302
295
314
348
315
255
205
365
210
331
359
261
395
310
268
319
280
320
351
393
251
341
256
269
326
377
309
317
281
414
331
353
331
307
276
315
332
277
308
291
243
357
303
296
311
280
321
268
330
320
325
349
382
302
285
291
248
319
306
316
325
286
321
339
306
324
303
239
315
301
279
343
322
249
339
373
239
331
347
316
304
326
337
303
359
311
294
341
350
356
322
379
299
337
208
336
309
314
262
350
419
356
263
318
295
276
216
235
317
332
207
348
291
343
245
297
295
315
330
333
301
348
262
250
332
430
230
267
291
347
327
305
396
323
361
294
333
271
305
357
288
345
382
303
294
358
325
321
297
295
314
297
348
404
386
334
391
312
267
262
401
246
256
276
358
290
370
353
365
297
276
271
301
281
277
333
320
369
250
314
292
361
279
350
295
315
288
338
321
284
309
306
355
328
340
276
365
317
377
339
332
270
228
311
240
357
344
357
339
369
368
243
293
291
350
358
324
295
320
288
265
298
247
306
369
332
292
446
337
345
229
368
329
286
297
369
331
359
347
362
268
183
294
301
338
283
338
351
305
348
325
249
307
382
339
284
291
312
289
348
343
320
330
345
293
309
317
350
356
279
285
333
301
259
234
359
373
342
311
348
384
319
387
414
314
285
369
359
347
282
381
275
235
392
199
378
280
264
312
326
224
341
388
365
365
389
354
301
249
310
314
326
346
317
295
320
369
249
282
333
347
335
312
307
348
198
367
303
375
346
399
378
345
360
324
374
370
344
320
242
265
308
359
322
322
361
312
282
302
297
273
285
299
355
323
362
254
304
274
296
283
308
296
344
339
320
284
275
409
359
277
320
366
264
339
236
310
311
335
316
371
279
369
313
276
354
354
301
264
296
311
216
385
301
256
340
394
287
284
313
376
407
291
252
307
249
342
322
232
298
373
360
304
295
272
230
322
204
309
323
279
340
324
299
336
276
315
322
299
369
338
350
308
324
310
377
275
298
344
317
394
271
330
334
289
344
396
333
348
227
286
353
347
293
235
360
313
287
352
309
291
309
282
268
306
302
352
326
328
363
278
323
326
299
238
323
372
332
249
334
334
316
369
257
329
339
356
251
302
275
307
277
377
316
347
269
354
329
311
280
292
290
296
322
252
331
290
276
261
308
291
299
296
318
313
281
266
283
331
344
349
365
316
320
306
302
344
313
329
280
322
366
289
296
387
312
393
261
331
302
275
265
281
192
310
343
369
339
290
230
224
314
330
262
343
290
306
335
358
330
338
289
326
393
253
341
322
355
261
344
261
335
304
405
248
345
384
365
301
269
346
347
290
386
343
309
337
309
288
363
297
300
360
288
235
332
294
259
397
288
305
332
377
318
288
242
375
278
242
286
273
273
367
309
265
301
347
258
357
345
366
339
366
310
356
289
343
249
320
311
293
373
372
267
340
332
364
327
255
294
364
291
316
295
334
312
281
317
366
233
351
272
296
383
313
339
300
278
314
340
251
339
351
327
286
333
336
342
316
320
301
301
257
276
335
304
365
324
344
373
346
329
208
301
315
338
358
331
298
406
279
355
357
239
322
280
278
419
397
334
295
355
304
298
284
264
258
270
254
285
350
257
260
330
224
334
321
325
259
372
337
337
327
381
222
349
355
261
322
333
332
387
403
282
254
378
287
281
356
406
323
356
308
405
285
378
275
318
291
329
266
260
333
347
362
313
326
318
305
340
263
231
299
291
320
223
351
360
249
276
246
328
320
255
268
258
331
299
322
317
316
323
352
368
328
370
251
326
362
237
273
345
303
336
300
310
285
259
281
269
397
268
344
261
316
301
259
390
299
358
298
241
316
247
286
277
326
335
308
336
219
304
297
371
171
282
413
255
331
353
272
248
320
332
386
280
323
342
355
309
328
390
369
341
286
324
238
326
319
344
248
322
363
384
263
313
348
227
338
329
191
300
271
224
272
317
321
200
238
391
272
364
270
320
263
338
318
240
308
310
341
357
328
311
359
300
351
269
272
385
211
290
229
311
313
281
385
367
271
315
321
326
306
301
268
333
276
352
247
278
308
288
301
329
364
253
287
310
390
371
250
287
205
289
330
230
290
337
373
228
301
317
293
336
257
284
342
231
349
303
260
334
342
272
320
251
286
343
265
234
301
314
310
384
283
266
285
243
317
406
333
350
292
316
305
366
285
269
353
245
397
338
288
369
327
230
322
268
298
309
228
318
364
296
245
305
341
327
321
308
306
352
346
351
364
300
306
308
320
296
365
379
282
262
361
309
306
308
362
287
300
329
371
334
382
356
256
373
267
308
287
346
372
358
326
333
330
370
313
349
305
261
216
278
325
344
302
255
312
410
270
280
281
266
345
333
263
254
270
317
225
257
288
350
324
282
268
295
263
317
328
300
371
249
365
223
288
321
364
375
422
323
312
274
388
253
345
350
284
317
303
302
334
228
326
317
267
309
226
348
247
348
342
289
326
277
268
197
362
321
330
343
376
311
345
317
283
310
270
318
289
189
325
393
351
286
335
290
413
397
301
251
389
358
338
205
356
315
372
378
439
315
279
310
387
404
217
293
331
287
358
338
341
253
246
288
309
419
288
327
227
350
311
341
305
314
326
233
303
292
316
321
264
334
370
342
368
329
277
303
388
305
310
336
283
370
287
335
330
300
397
361
300
294
390
326
330
270
355
316
347
317
316
266
362
247
266
296
321
280
342
268
287
194
326
258
395
301
294
317
299
307
329
308
346
367
338
278
371
257
320
350
350
316
307
251
386
308
303
305
216
280
263
289
287
286
289
318
326
369
267
345
376
358
352
376
265
362
313
333
379
321
308
291
271
395
403
281
320
352
304
351
309
332
266
264
278
357
288
353
353
380
267
276
343
304
331
341
302
281
378
396
264
337
369
246
307
289
291
286
320
244
305
284
315
347
276
298
347
347
337
297
265
298
298
298
275
359
324
360
292
321
236
313
305
338
270
343
265
253
288
234
314
339
248
376
277
299
273
390
289
267
322
260
343
291
361
297
340
273
379
334
354
398
305
220
367
276
243
280
378
261
312
377
351
273
275
300
336
259
318
324
274
292
349
275
286
281
363
352
274
300
310
321
277
391
351
270
259
301
231
403
264
259
357
335
330
324
281
348
388
229
277
264
249
302
253
323
285
316
363
378
366
224
366
302
315
355
344
316
281
319
264
427
292
251
301
343
358
329
320
343
312
240
235
324
305
289
340
361
236
312
263
387
263
324
356
313
268
357
375
253
245
292
319
248
301
272
332
299
223
325
340
283
310
303
298
255
422
245
387
306
257
317
327
334
307
355
280
351
287
263
313
274
302
337
246
324
252
297
309
319
320
340
320
296
403
335
309
248
286
297
362
355
378
394
322
376
370
316
339
239
308
301
367
377
296
366
292
337
343
287
343
371
294
319
262
296
409
332
261
282
375
328
282
228
316
402
320
295
295
268
262
356
399
263
366
362
282
233
327
239
323
262
268
331
262
245
307
327
333
361
335
285
365
343
360
386
375
324
239
318
325
318
315
238
328
355
340
302
297
308
370
347
361
322
336
289
324
287
379
312
246
324
281
322
276
318
182
248
354
377
336
335
298
333
179
360
292
344
275
347
270
285
270
188
301
398
303
336
419
320
373
292
296
310
354
234
288
285
257
372
319
250
311
329
265
352
348
327
340
232
379
326
324
334
256
298
281
345
318
304
317
316
270
299
317
391
340
334
426
303
285
363
337
336
243
222
292
275
352
371
288
338
322
380
403
321
371
272
262
338
270
323
331
345
362
376
308
346
267
392
321
372
290
345
328
309
326
302
289
303
297
302
350
334
313
338
283
253
285
341
313
364
288
284
297
332
287
288
423
268
370
343
326
312
340
338
234
294
243
340
359
377
313
350
324
292
299
285
376
322
329
329
401
330
298
219
302
344
338
294
308
248
325
294
373
368
323
306
234
328
322
338
283
372
385
364
405
277
290
322
333
341
370
288
353
296
350
263
289
262
218
357
283
298
324
275
290
326
286
310
333
330
290
278
341
308
295
369
293
320
206
280
384
332
352
331
276
298
321
235
327
333
287
323
259
390
327
260
213
394
259
293
275
320
313
317
346
294
289
346
325
316
295
266
355
321
273
396
213
283
310
268
284
390
296
277
294
265
284
308
345
369
246
287
296
374
371
342
340
329
316
286
340
282
397
376
363
421
282
277
357
363
345
324
326
276
389
317
312
348
319
207
316
285
311
361
386
374
341
218
262
327
286
266
320
357
231
322
363
282
318
258
282
315
301
376
395
312
237
242
297
384
303
351
309
354
315
272
327
315
309
341
338
358
304
280
386
393
307
339
364
399
309
315
245
363
307
356
324
326
354
338
277
264
267
267
304
373
281
311
340
335
259
394
368
280
251
290
281
344
366
274
364
418
326
180
356
319
336
280
341
329
331
305
278
234
403
352
268
351
282
283
324
261
440
254
312
312
318
244
323
326
379
279
254
407
242
357
315
305
317
404
314
347
319
287
321
328
344
289
344
298
275
311
360
331
329
288
306
305
355
348
308
335
325
308
221
358
279
365
289
253
244
274
283
313
289
351
282
276
311
319
344
326
441
349
213
314
358
266
278
292
316
305
245
232
308
285
339
376
355
323
336
359
309
336
309
421
313
225
276
301
277
245
414
315
309
358
393
208
261
261
352
386
309
294
278
333
318
345
327
321
376
339
393
275
380
345
380
196
316
342
331
291
337
307
343
373
364
301
343
280
322
290
309
366
361
240
345
369
311
334
342
316
313
335
358
346
262
307
316
288
300
359
354
364
253
319
228
350
368
301
412
266
200
283
404
263
226
328
295
325
242
343
351
408
252
320
315
354
260
359
317
345
260
316
318
241
237
385
321
346
343
298
337
266
342
360
316
355
287
260
292
321
288
246
313
330
289
311
346
379
290
320
339
306
341
314
310
238
351
311
325
279
392
229
319
361
344
294
262
376
324
281
389
311
373
236
286
280
307
336
384
327
374
323
321
301
270
357
274
292
339
370
351
312
359
276
324
376
334
269
316
303
336
323
326
313
321
318
263
323
261
264
380
265
315
363
318
253
280
345
241
358
301
325
370
250
331
400
314
300
339
347
335
294
330
259
238
295
292
322
323
296
330
285
331
273
308
339
333
357
311
271
207
272
295
317
344
266
305
297
293
299
347
256
232
433
294
316
241
240
376
330
260
317
263
200
314
295
321
277
286
240
287
321
262
317
324
273
296
354
366
374
318
284
394
252
365
283
300
300
263
345
260
368
373
265
370
306
357
246
258
231
403
304
427
317
335
266
417
297
302
297
251
212
325
269
343
267
320
352
220
290
262
264
338
351
325
409
365
387
232
335
314
321
259
234
329
317
275
299
283
358
329
287
299
380
271
264
255
369
265
305
351
268
278
296
331
318
331
270
304
254
348
357
355
362
292
360
308
356
300
256
316
291
388
262
304
363
253
269
232
358
291
372
210
231
292
325
271
358
293
343
295
351
309
363
382
270
284
283
305
309
282
328
342
222
286
258
389
269
381
366
301
216
242
226
337
328
361
299
337
376
298
280
320
381
361
276
289
311
366
354
350
322
299
400
297
296
355
287
261
282
292
251
302
267
267
276
304
337
328
360
363
357
211
305
335
319
345
297
296
287
355
306
295
298
304
347
333
340
266
392
276
400
356
291
327
299
333
255
261
295
312
281
252
426
246
259
328
326
408
307
361
326
368
319
258
241
323
370
346
366
308
257
337
297
340
321
351
233
342
213
308
307
230
294
365
302
327
376
315
304
240
360
327
297
338
314
283
400
308
304
258
354
298
302
267
296
389
349
344
309
326
294
292
271
298
352
343
259
246
290
317
337
305
261
289
256
350
307
157
317
282
282
284
345
306
360
250
266
365
304
352
361
229
260
345
344
299
334
348
301
290
320
430
219
276
302
341
307
326
279
261
318
342
356
366
315
345
312
345
313
311
336
336
334
385
329
277
247
340
327
399
304
236
338
272
282
250
325
303
298
369
344
240
366
339
318
387
357
287
299
281
266
389
280
331
343
265
271
405
391
287
349
324
286
349
334
349
362
329
358
322
407
241
229
286
340
272
357
302
198
367
352
260
368
379
345
318
334
321
286
253
255
366
287
363
398
259
345
388
382
196
370
309
332
346
240
290
368
375
341
247
286
364
282
390
338
380
278
222
350
329
318
334
263
288
289
362
271
334
320
290
262
378
354
289
290
354
383
366
275
344
302
284
267
359
247
250
334
213
299
282
283
319
318
337
330
313
307
302
286
335
270
356
314
277
353
284
225
335
295
406
343
401
307
343
357
324
389
328
322
387
352
256
320
387
270
410
360
364
326
319
292
387
263
271
317
291
385
407
343
318
336
360
352
407
367
185
320
251
366
292
288
347
250
318
311
322
255
318
316
314
280
283
234
361
289
253
348
212
295
344
239
317
387
330
233
322
338
300
323
331
358
291
318
339
290
351
331
207
340
349
276
344
329
359
343
267
346
291
280
271
338
266
305
327
350
296
325
252
335
230
282
391
310
265
292
330
296
334
264
307
289
341
296
341
321
329
343
314
251
323
316
347
337
373
352
320
288
240
435
306
332
305
286
276
402
308
321
323
368
272
327
380
346
347
254
371
376
353
333
307
348
289
269
272
335
320
356
292
329
253
327
259
279
337
296
330
324
308
266
309
359
281
390
399
252
354
303
373
381
259
339
384
355
237
368
286
310
334
296
387
343
313
336
247
297
360
348
379
242
333
320
320
380
247
298
326
366
299
279
275
358
385
259
346
432
395
278
358
415
342
374
330
299
351
363
390
301
371
260
316
297
422
294
373
327
215
320
315
412
304
236
328
372
302
333
325
264
290
321
373
331
313
253
305
399
278
320
375
300
369
365
400
378
291
308
372
334
340
370
376
311
322
339
323
271
366
254
287
309
352
390
345
367
291
305
270
243
263
434
309
279
368
234
353
309
347
272
285
321
315
360
240
308
320
317
297
312
264
409
365
321
340
358
346
293
370
290
378
348
380
345
322
239
215
312
301
356
273
312
245
363
284
320
284
289
286
277
294
316
345
313
364
445
293
368
293
363
295
391
360
390
321
254
383
403
286
286
288
363
324
282
335
302
381
292
259
311
247
306
288
315
286
232
386
337
252
322
294
400
357
394
248
339
365
358
391
391
292
315
374
210
327
319
307
328
292
299
330
322
371
276
366
334
246
387
292
182
346
327
333
315
344
272
309
244
306
281
294
285
358
347
379
256
312
356
312
384
413
290
384
285
335
329
276
303
321
375
391
352
324
356
293
297
286
332
389
329
281
284
326
292
248
303
333
230
304
288
304
284
316
308
401
334
408
303
356
421
316
381
276
393
310
380
328
332
340
262
271
289
205
281
269
354
268
319
312
309
245
298
295
303
208
384
372
277
348
338
304
292
275
345
299
319
353
310
329
351
236
329
254
272
280
321
348
289
315
344
300
342
228
329
273
342
263
306
292
242
259
325
252
316
268
319
266
365
359
232
303
277
415
273
396
319
232
337
273
323
288
240
272
297
260
342
238
269
272
255
256
300
290
395
351
407
365
300
311
318
289
320
238
305
377
321
287
289
288
318
353
142
326
311
256
294
355
306
317
297
321
279
323
360
350
320
257
308
379
307
258
329
334
314
348
283
246
350
302
342
331
263
355
249
291
344
378
329
297
355
269
266
261
287
283
322
269
420
349
409
267
311
299
319
286
300
209
275
362
290
404
273
437
284
253
405
266
380
299
353
357
293
253
293
310
365
242
173
344
341
420
350
234
361
280
217
400
259
324
325
304
320
351
330
237
274
337
382
378
260
284
297
410
287
340
337
330
296
372
388
256
321
294
307
335
313
305
299
266
356
306
361
340
242
241
310
332
362
326
300
330
327
374
311
311
252
357
297
296
281
324
317
290
268
373
318
286
307
360
331
275
284
292
418
273
277
255
308
244
337
331
275
345
321
279
360
362
290
329
380
341
296
301
268
302
376
243
325
289
258
290
313
306
379
349
276
340
318
279
297
338
261
312
273
236
388
407
403
251
264
268
317
261
318
291
291
321
361
308
287
386
311
235
267
317
358
304
289
353
326
369
308
344
354
306
411
326
315
270
255
362
354
273
254
274
273
281
231
300
420
305
324
284
360
329
317
356
327
331
418
302
304
323
264
273
300
231
337
345
337
404
315
319
328
329
286
254
305
248
298
317
255
303
376
312
307
376
311
343
365
347
295
290
372
333
224
370
310
293
349
412
334
359
325
339
301
331
310
288
391
232
321
358
342
391
316
341
307
344
286
347
363
307
278
337
332
280
270
289
362
360
299
268
331
362
379
345
284
302
351
286
246
384
327
293
395
352
351
344
291
330
292
258
275
315
324
322
406
308
296
356
221
268
344
343
325
274
292
229
274
271
272
382
319
232
270
287
347
366
254
316
365
315
327
383
259
370
323
372
255
324
236
334
387
339
317
242
310
281
300
351
375
318
340
208
292
338
319
329
313
348
353
353
287
360
351
356
225
355
341
350
301
354
343
294
260
353
379
369
352
306
261
280
330
398
344
363
295
311
378
339
318
347
367
346
281
293
289
359
244
323
351
294
311
384
274
292
280
266
281
350
392
413
296
306
306
356
308
323
396
358
325
312
371
317
293
263
286
338
294
255
254
242
343
407
305
298
365
243
313
395
352
328
259
355
261
288
335
394
272
432
282
353
330
320
267
314
380
374
272
338
328
312
378
372
363
392
319
398
334
365
337
334
313
273
338
370
355
304
314
324
267
344
265
307
326
376
247
327
266
315
337
284
308
358
290
319
354
393
232
322
259
195
275
368
277
348
327
285
318
344
387
298
324
298
354
253
322
291
321
272
298
315
348
319
311
283
310
237
341
316
394
257
361
361
333
331
302
265
347
172
268
175
415
409
336
288
231
372
345
414
362
348
325
362
253
228
308
321
298
320
264
258
362
337
282
348
376
293
314
319
355
330
312
248
362
340
363
363
402
347
302
334
321
302
353
328
329
308
309
344
260
245
338
353
311
327
297
302
238
282
351
220
285
371
217
363
313
317
310
290
311
279
324
352
307
361
306
417
320
225
381
295
292
383
334
296
263
309
320
260
325
279
301
343
317
332
301
342
369
308
372
236
297
359
303
322
327
337
329
307
243
340
356
316
322
292
356
230
312
349
331
274
296
362
308
261
249
361
292
273
385
301
386
375
218
313
254
293
396
295
275
260
336
291
344
297
223
299
294
285
450
201
254
283
372
332
390
362
306
324
287
272
421
305
341
375
319
353
295
297
304
304
291
294
295
277
326
238
257
350
273
229
265
343
271
327
229
331
242
327
280
342
289
225
249
284
188
312
305
282
382
332
374
340
399
303
363
378
316
309
247
325
333
344
283
263
330
365
322
315
383
213
203
371
378
315
217
366
293
364
277
393
311
302
336
345
315
318
332
359
317
306
303
215
309
363
340
287
300
335
252
307
327
288
326
356
310
337
363
393
337
302
343
258
304
289
286
258
362
393
331
325
356
340
363
403
303
298
344
213
248
261
410
332
371
380
308
342
321
343
324
286
305
330
404
306
279
301
380
349
252
365
322
315
345
295
369
322
316
386
325
346
344
355
399
261
243
190
322
259
302
348
290
309
455
339
324
326
355
301
342
311
268
316
333
361
288
266
368
302
317
329
268
309
207
369
284
299
361
335
337
375
342
263
328
360
255
327
332
296
294
253
325
293
302
341
264
339
273
314
440
313
261
323
335
319
348
187
297
289
287
354
280
349
342
343
324
377
321
274
311
357
285
323
362
271
294
233
296
389
312
353
285
353
307
316
261
301
266
307
315
282
248
263
341
275
319
331
206
314
232
371
323
275
385
253
315
317
348
241
386
404
368
350
343
256
270
335
277
309
354
265
290
266
304
360
383
363
305
375
363
311
289
310
324
288
342
241
420
325
365
369
330
342
364
233
346
291
287
293
337
357
390
311
329
291
321
273
359
306
370
354
344
220
326
341
298
311
318
294
246
253
201
293
366
323
342
273
283
257
291
317
333
325
369
366
272
288
303
251
357
324
277
277
316
278
318
299
283
404
303
297
334
304
289
342
266
280
269
309
336
309
325
319
309
400
299
293
272
317
346
334
344
301
266
319
298
319
375
296
260
348
343
327
409
350
262
305
274
276
341
362
236
294
331
239
292
326
295
378
328
439
349
172
338
303
466
272
259
306
332
301
301
265
277
379
361
323
400
338
344
352
218
324
369
320
213
362
267
333
335
311
438
302
325
335
307
240
245
304
319
316
317
228
261
265
392
411
298
293
271
318
323
306
288
342
254
258
287
273
356
324
309
272
260
260
252
341
374
226
206
251
297
292
380
378
341
288
302
248
303
349
257
243
300
247
369
311
350
385
306
274
330
260
283
358
356
308
323
253
287
293
283
330
283
279
314
329
292
321
339
403
267
395
274
252
324
275
299
356
358
329
349
263
257
275
274
302
356
334
310
284
322
293
325
303
242
321
345
281
354
245
366
252
292
266
402
242
335
283
264
383
353
367
280
268
310
230
275
283
339
350
319
378
367
263
341
251
336
277
326
218
318
360
271
280
364
327
333
274
353
326
203
325
232
259
255
341
318
386
363
316
362
300
272
355
296
329
310
330
300
305
337
320
338
261
357
302
314
315
345
336
271
361
252
350
305
349
297
440
228
266
381
287
430
338
348
336
335
273
279
352
359
375
259
313
266
366
262
297
346
215
316
350
335
266
416
386
229
353
289
245
297
272
226
350
428
339
359
315
294
297
347
254
264
332
247
293
323
411
295
307
353
380
308
339
311
354
326
270
334
331
307
413
243
319
318
305
217
320
294
286
297
397
352
253
302
359
367
374
334
277
243
369
330
347
337
254
333
253
343
320
335
276
342
324
327
302
272
244
349
264
304
274
297
327
321
360
272
320
278
258
350
330
303
300
292
303
355
219
317
291
343
321
323
366
361
287
289
358
339
333
309
346
333
340
267
285
322
245
389
224
370
281
372
294
392
398
258
340
328
332
317
303
314
284
261
278
321
373
324
336
331
276
333
315
275
280
316
371
370
339
297
331
372
280
324
328
331
261
267
351
274
268
266
277
298
393
350
256
339
336
339
200
399
379
354
273
296
377
407
301
330
353
323
257
339
349
347
286
332
310
259
331
241
255
269
332
296
346
302
404
229
249
338
421
337
360
289
243
334
312
287
321
303
251
320
250
330
312
333
307
254
237
251
360
329
247
365
288
384
317
256
354
397
338
341
287
319
303
346
249
297
324
342
293
378
320
356
274
301
376
287
310
356
280
307
319
340
244
302
347
246
295
341
262
292
293
392
345
358
411
364
342
346
347
326
342
258
208
365
325
262
262
316
381
282
334
298
331
262
281
349
283
362
360
307
344
249
333
372
313
366
280
223
337
347
314
378
405
311
346
339
254
338
356
372
358
324
269
310
378
311
281
358
281
375
378
345
343
265
376
284
374
303
225
328
295
315
278
298
301
333
283
308
319
317
268
267
241
330
322
261
369
334
318
304
273
288
313
236
315
320
354
329
331
293
260
397
276
287
380
332
278
275
306
358
362
158
341
269
310
306
322
285
317
302
296
292
395
310
307
330
336
370
343
336
291
270
280
348
246
300
295
285
340
311
292
311
298
384
294
354
373
252
327
318
286
295
241
301
362
296
264
340
329
302
396
303
288
353
362
323
253
370
278
319
384
349
305
367
298
358
331
295
301
319
314
272
332
353
351
299
223
280
292
286
319
294
298
347
283
303
297
360
359
398
250
273
358
335
302
281
346
329
307
290
335
373
299
272
370
365
245
319
294
281
299
367
379
312
271
309
274
400
318
266
243
361
279
297
304
346
323
301
332
321
319
355
459
396
389
351
338
228
245
257
309
378
326
312
342
275
367
301
278
330
392
327
314
366
250
305
234
298
295
355
309
257
362
290
254
269
362
252
245
351
329
257
300
327
291
248
339
361
292
326
316
379
344
384
313
203
311
296
383
414
290
317
256
383
254
315
325
246
314
371
308
357
324
283
254
287
368
260
311
295
313
351
309
350
353
338
351
374
267
330
325
298
265
322
338
238
281
279
301
342
306
329
350
315
240
373
315
237
365
451
326
333
355
337
261
344
248
383
338
267
359
337
281
282
335
280
269
310
342
260
325
328
354
298
301
344
317
315
330
340
334
326
226
278
344
330
254
319
215
325
278
272
392
272
311
345
352
349
278
287
248
309
296
384
336
331
283
344
321
303
311
366
256
332
320
304
294
246
388
366
303
313
294
341
357
259
435
300
314
312
278
346
332
363
261
354
244
256
275
360
325
383
390
321
306
314
366
294
282
388
289
295
379
318
325
203
353
341
254
312
384
338
199
351
271
359
311
266
321
277
248
277
264
361
308
414
232
362
335
330
307
299
357
350
315
316
238
387
350
213
248
317
345
300
229
269
301
365
300
373
286
383
354
386
314
335
366
364
358
339
371
266
314
323
265
286
351
328
333
360
385
395
335
278
359
312
348
363
233
311
333
295
292
313
301
372
400
291
405
276
249
279
296
330
366
308
169
326
309
330
248
377
399
364
312
278
291
307
315
352
342
394
324
245
307
369
296
379
263
245
303
228
295
312
333
292
317
303
307
329
313
324
299
227
316
315
335
210
331
294
268
381
345
306
350
374
328
389
315
304
297
237
281
249
256
350
285
330
361
271
338
366
319
285
232
292
316
292
267
286
294
364
216
316
328
380
373
311
355
323
276
309
319
314
276
279
387
270
300
285
317
231
320
311
281
296
353
275
307
341
310
308
286
316
284
241
251
310
326
364
312
357
210
256
349
273
225
369
361
379
297
315
359
261
354
231
389
297
267
297
274
359
287
314
330
247
326
361
344
270
330
301
282
305
428
228
254
358
308
261
335
305
333
298
361
349
403
310
326
275
352
351
362
209
260
272
330
341
225
282
336
268
310
337
294
249
311
341
333
265
329
300
315
276
363
365
323
314
304
360
336
378
286
310
271
297
323
247
312
335
357
296
337
319
295
361
304
327
195
327
306
287
331
275
178
287
300
324
333
275
348
260
322
250
300
329
301
334
333
244
309
437
347
302
283
270
316
271
227
202
243
284
315
320
317
329
283
366
275
252
316
250
267
301
301
349
290
261
318
245
305
297
252
314
339
292
324
326
394
322
342
256
321
361
313
215
309
357
379
300
305
256
232
273
297
375
339
366
369
299
277
323
291
279
248
225
310
277
317
262
369
285
318
258
300
294
296
285
368
297
344
300
365
305
321
337
311
284
249
323
297
262
307
376
232
353
309
310
379
310
349
208
291
406
287
342
306
265
293
304
280
275
323
341
325
239
330
354
335
255
287
317
297
312
307
323
331
387
323
256
249
299
348
285
369
333
247
269
374
347
262
273
245
302
361
287
344
284
381
341
431
277
299
266
345
266
304
251
289
242
357
359
383
311
286
374
245
269
322
272
319
237
306
336
375
275
345
392
324
326
365
306
270
273
392
288
309
301
339
317
297
279
309
316
305
196
331
246
360
315
273
364
230
291
278
308
334
257
250
295
324
336
321
333
304
303
345
225
365
334
354
234
327
367
267
410
302
303
352
367
333
336
360
416
378
359
309
235
361
245
291
336
283
268
333
344
364
363
337
345
291
249
355
319
296
395
401
292
299
343
271
339
306
299
299
219
353
308
214
306
341
292
242
314
299
331
261
275
239
272
313
308
305
285
359
319
329
317
326
346
189
332
320
309
263
313
355
319
387
322
328
252
301
322
317
328
289
273
320
305
307
260
249
271
264
325
296
242
258
375
290
297
349
384
355
354
276
338
278
344
312
378
277
322
226
346
301
384
388
298
211
369
323
309
410
347
295
244
333
384
351
194
360
233
270
257
380
330
273
335
411
253
305
369
261
295
316
325
291
324
348
293
255
249
408
345
432
380
269
300
218
374
326
377
331
204
330
372
238
286
350
220
403
280
409
297
311
291
245
310
338
311
351
319
401
312
330
273
250
348
280
271
411
413
277
320
302
271
318
349
218
264
340
323
318
328
295
279
288
345
374
289
266
303
326
334
308
311
290
295
286
301
320
334
289
341
190
300
299
302
315
277
298
289
402
304
330
342
321
357
347
370
330
293
366
313
305
258
319
276
377
408
340
350
294
251
309
346
278
255
311
367
361
242
286
327
305
342
300
418
332
302
441
303
317
282
317
304
350
263
309
312
336
236
338
324
346
309
401
345
323
300
329
333
349
336
251
235
312
341
288
277
267
443
334
348
315
372
305
357
307
269
298
235
268
290
380
339
249
335
279
415
316
331
236
317
308
324
274
407
293
264
293
356
284
234
294
279
286
364
261
331
312
354
252
344
421
310
353
395
243
240
328
343
318
220
303
266
330
291
384
301
349
357
313
368
328
340
251
291
328
299
295
378
312
383
263
345
255
366
273
341
316
328
239
260
382
400
354
314
313
299
362
338
248
326
324
350
372
339
333
312
394
371
256
400
317
292
307
308
345
355
283
369
317
335
292
374
400
356
245
347
343
303
261
289
274
371
346
389
381
297
310
295
264
318
303
289
299
260
334
359
280
293
288
365
326
341
337
368
318
292
278
281
350
329
338
329
257
402
271
310
348
414
330
318
234
324
284
324
292
263
200
318
308
309
253
291
392
235
219
297
309
312
282
283
295
316
366
272
412
361
359
355
334
348
320
371
275
304
312
340
307
259
220
319
286
349
328
397
337
379
352
302
349
374
351
308
350
370
351
360
306
296
314
239
331
358
388
311
323
381
303
323
334
320
333
346
344
279
212
247
281
347
400
293
263
320
262
297
347
311
243
316
368
311
377
265
281
226
278
287
287
266
298
255
338
327
362
294
313
256
339
305
276
296
387
319
305
351
313
345
356
376
310
215
270
369
264
272
231
229
269
303
268
300
402
379
347
292
318
294
367
343
315
266
248
361
333
311
340
286
242
372
379
286
267
297
339
280
247
349
300
234
370
318
322
259
306
266
377
368
429
251
338
319
333
361
327
365
304
315
301
326
276
355
331
352
320
274
246
387
289
357
263
361
273
283
250
346
264
363
343
269
341
332
339
327
327
338
388
371
315
313
329
359
280
270
318
381
344
298
363
290
248
336
300
342
285
411
304
322
296
311
302
288
354
349
340
225
358
272
309
366
326
304
294
260
361
318
323
326
378
402
340
355
337
311
305
296
380
365
327
392
283
243
336
276
317
277
331
340
376
329
356
283
332
324
250
260
289
386
306
373
262
293
419
295
357
219
292
285
254
341
396
248
271
259
314
248
252
326
288
363
314
328
285
331
366
333
267
347
277
356
249
332
325
291
291
462
394
337
276
303
271
396
389
269
310
283
300
329
398
234
319
353
330
314
331
331
331
275
297
311
337
327
323
309
327
246
342
334
363
360
322
354
337
326
302
348
365
344
302
216
291
287
269
369
268
298
206
335
342
327
277
237
284
267
267
309
275
270
306
313
283
205
311
299
370
315
298
320
300
359
255
324
296
329
275
413
294
335
299
344
268
321
269
301
339
281
274
381
254
235
293
390
307
343
253
304
270
336
299
339
370
305
296
338
297
330
389
305
296
243
344
285
322
278
345
338
418
299
370
270
278
312
329
286
231
347
294
371
298
218
350
288
343
289
331
227
339
268
278
317
363
323
283
297
241
284
355
306
377
271
273
291
320
328
306
206
315
289
337
275
233
338
331
335
340
310
282
288
383
321
283
269
313
313
362
352
260
327
384
237
277
352
327
236
361
378
338
333
297
337
359
379
307
233
292
327
233
229
351
323
356
372
324
321
268
301
265
308
351
335
307
370
319
296
280
354
325
348
331
345
323
239
350
256
288
346
342
397
371
342
379
205
318
308
375
357
401
324
257
320
318
365
360
263
285
378
355
282
313
309
397
272
276
296
373
268
378
357
299
339
277
337
298
341
262
348
358
317
283
338
298
290
363
382
282
330
275
269
374
320
328
380
376
360
371
345
340
342
309
333
322
289
307
334
310
288
314
343
347
358
309
279
307
243
334
231
312
306
300
395
316
357
361
341
255
351
324
312
386
303
308
265
288
293
345
316
348
303
293
365
348
357
317
310
263
308
275
342
243
306
399
418
281
258
268
308
311
279
348
330
280
308
224
355
377
369
261
296
304
376
262
314
353
407
283
339
297
360
315
362
283
366
265
350
278
300
276
375
343
322
378
285
279
321
213
290
307
313
323
336
369
293
330
396
364
370
355
333
439
320
333
218
337
397
445
288
210
364
231
286
270
207
371
376
308
301
323
292
346
361
331
373
259
280
334
282
393
393
251
299
251
312
302
381
297
375
221
421
291
297
410
356
361
353
266
317
299
351
220
294
286
390
307
289
378
270
313
364
307
297
248
411
341
283
334
355
323
381
309
291
331
324
294
318
351
314
340
341
366
288
277
297
265
301
350
279
242
335
277
247
282
357
278
282
312
264
324
223
348
280
300
278
298
365
336
355
352
317
294
393
308
335
378
311
322
261
404
294
265
350
311
323
341
214
439
349
334
312
381
375
335
323
330
225
377
319
351
296
300
241
260
306
292
291
351
344
297
340
415
333
300
331
325
384
293
300
265
324
249
291
336
347
335
321
302
348
323
380
342
363
344
282
300
378
254
262
328
354
310
315
316
383
406
354
236
303
208
336
376
335
344
343
384
384
306
429
368
392
254
334
346
308
244
291
332
294
281
359
230
304
250
348
334
260
290
389
328
273
314
314
331
247
273
321
258
213
388
281
315
268
325
333
301
301
366
264
339
348
343
371
365
305
381
297
365
361
319
259
287
343
322
308
299
260
246
360
326
320
262
316
288
336
227
355
275
294
336
306
303
292
338
270
298
363
339
212
249
351
313
233
413
306
386
274
392
293
283
348
377
341
305
325
346
322
268
307
320
325
225
279
391
351
354
375
247
396
238
336
329
416
309
267
328
371
299
248
363
344
423
336
314
349
324
311
293
355
306
328
322
371
383
294
292
332
277
263
320
276
292
357
262
214
288
292
331
294
333
289
267
296
286
214
366
327
298
344
340
316
332
353
248
295
283
365
273
279
372
203
339
299
336
290
308
233
375
288
225
266
352
331
258
266
291
341
380
312
300
317
301
248
312
400
270
282
268
350
215
344
316
341
339
249
309
244
409
362
342
278
279
318
299
320
269
309
208
287
352
241
232
326
330
341
246
353
284
388
317
239
310
278
252
343
208
330
360
313
269
281
341
379
347
284
283
331
328
281
353
293
278
306
387
364
278
215
380
260
287
367
280
321
330
288
292
373
258
339
274
253
363
397
273
410
278
321
348
294
318
293
272
320
357
326
399
348
355
325
316
344
275
280
319
406
350
289
232
322
343
333
348
343
295
259
271
204
257
332
324
241
333
306
288
304
289
356
349
252
330
267
318
274
307
303
388
260
284
290
269
332
317
300
349
273
287
407
288
268
268
259
368
274
250
303
328
290
366
352
378
245
308
279
279
377
362
310
316
354
346
373
306
260
352
309
325
201
365
312
325
324
268
356
375
409
324
269
255
285
272
381
248
382
307
326
334
243
321
350
316
313
272
309
284
236
365
293
340
320
346
330
306
300
312
215
341
364
312
297
357
354
267
296
354
310
346
255
383
346
354
296
281
294
296
244
244
344
385
350
324
329
318
294
321
322
298
249
318
275
242
274
266
268
284
275
385
327
279
315
338
245
331
312
339
289
315
286
355
427
392
345
252
358
227
380
380
283
334
364
269
356
391
333
292
308
347
303
313
327
348
300
315
318
346
303
298
236
262
304
337
318
236
316
335
377
423
269
370
312
337
403
290
275
314
352
469
366
304
235
362
330
329
291
210
354
369
318
350
263
241
385
335
333
374
365
281
291
322
250
250
295
301
236
266
320
261
307
312
331
267
308
299
326
275
280
257
353
334
348
309
343
261
358
340
325
340
273
260
369
361
317
433
272
369
374
353
364
350
267
257
265
337
299
339
345
381
251
254
343
323
362
297
308
179
262
352
382
338
351
310
308
293
309
331
365
250
327
370
358
335
278
326
364
280
343
332
268
357
233
318
269
328
338
237
303
328
313
363
302
273
332
277
327
289
312
383
318
315
233
267
270
326
318
327
405
326
344
288
304
296
304
276
281
358
345
399
274
439
279
385
266
246
354
310
410
296
289
318
303
287
352
230
260
304
406
287
343
307
224
331
328
277
319
240
365
304
376
298
350
302
319
357
348
332
290
256
321
327
298
344
353
347
330
322
332
340
282
332
312
332
314
321
408
305
267
270
296
362
303
327
269
361
336
252
280
347
308
408
322
246
326
343
344
401
327
316
249
430
336
378
239
316
371
368
289
386
386
233
419
275
276
365
299
347
322
265
366
308
358
338
301
327
322
258
357
306
351
304
247
291
405
382
335
321
329
205
234
262
350
307
302
324
283
329
370
377
325
332
325
293
349
324
297
254
358
300
369
339
305
315
330
380
318
270
292
274
312
404
318
287
406
343
405
366
345
274
293
315
324
309
329
369
300
243
336
248
319
356
267
321
337
329
286
314
176
256
322
375
278
303
316
374
258
324
349
331
252
320
292
362
288
279
293
289
334
256
286
375
323
271
295
377
280
252
337
329
301
331
264
309
304
325
370
240
253
298
236
362
281
299
342
310
282
342
260
275
371
343
369
349
327
424
304
403
297
268
344
310
267
236
340
336
277
232
291
329
292
270
342
265
320
335
322
301
356
300
355
314
367
288
293
303
310
376
278
248
353
320
234
322
238
314
330
315
365
316
285
419
305
267
449
238
277
398
315
246
333
294
273
314
313
327
235
297
292
247
226
270
338
362
337
315
287
343
259
301
351
314
330
329
302
374
308
341
251
285
360
365
278
376
361
344
341
302
382
322
313
272
335
381
333
325
293
302
300
327
299
399
328
395
283
378
313
344
262
412
359
315
280
337
361
289
266
298
304
316
284
341
376
314
359
326
351
263
299
328
295
325
335
405
265
312
373
384
301
328
274
290
376
321
222
405
302
270
287
340
316
322
315
344
359
276
295
294
284
273
251
301
301
310
260
336
316
354
286
292
264
331
247
363
354
402
366
349
305
283
305
297
322
354
281
250
356
213
353
322
267
317
311
327
285
295
291
360
317
332
285
340
256
310
275
293
356
363
321
336
374
351
308
253
289
347
305
335
305
326
330
322
316
286
298
305
204
359
272
393
393
357
374
301
290
328
347
311
393
353
238
343
392
214
319
335
246
278
292
379
269
318
276
361
342
258
320
280
328
355
372
291
268
319
334
314
370
344
289
350
387
322
338
335
301
314
224
322
311
302
296
388
313
255
253
287
339
305
260
223
327
317
374
267
301
313
306
271
320
338
299
323
276
360
259
344
328
279
273
342
240
260
301
332
264
249
358
262
234
225
303
304
300
402
414
337
330
323
350
385
319
303
346
378
327
368
242
332
379
339
252
306
326
282
294
271
338
337
322
322
382
352
329
360
318
307
323
341
348
333
253
349
298
387
302
269
294
369
266
288
337
280
297
282
262
373
367
349
299
310
304
398
250
299
345
309
342
247
321
250
309
268
330
269
334
304
251
271
245
342
365
382
325
342
389
254
288
268
275
277
217
397
326
327
335
344
277
289
337
295
417
237
364
248
324
308
282
296
374
245
338
240
345
325
313
275
333
256
343
336
294
271
313
348
293
226
320
328
338
201
308
266
346
243
308
347
273
337
304
319
362
390
255
329
315
276
369
287
366
334
328
369
354
286
333
261
283
313
313
428
274
258
335
362
347
304
366
370
367
301
239
268
283
361
339
362
253
254
283
318
370
314
346
336
291
355
382
334
277
355
362
320
316
264
403
321
321
345
355
355
357
335
187
258
358
317
311
290
305
250
294
362
316
324
340
321
346
295
397
277
281
216
277
367
384
285
356
272
248
311
389
256
264
376
354
355
280
244
273
320
312
396
329
407
287
314
272
298
400
344
275
254
312
371
347
287
295
334
314
341
282
346
305
269
271
280
356
289
325
362
214
374
288
351
410
423
344
334
276
283
304
311
317
353
356
321
291
311
297
344
341
295
328
314
370
385
331
322
387
324
270
377
251
390
293
314
200
296
334
226
330
387
328
347
240
267
247
353
263
333
231
332
332
281
307
285
300
344
335
348
292
355
248
340
252
384
236
369
273
359
337
398
256
267
332
197
367
301
371
204
280
246
261
274
245
260
320
283
296
276
365
271
340
342
319
339
316
284
323
401
223
278
344
240
289
350
330
263
391
312
313
322
422
381
326
389
311
311
317
257
261
277
340
290
374
287
342
357
319
315
308
179
283
222
232
242
263
315
403
350
344
352
252
330
351
307
322
281
306
331
325
362
348
379
382
313
321
248
397
278
310
271
327
202
368
377
336
276
303
326
287
349
392
313
306
314
307
263
358
349
241
337
365
361
266
373
326
322
279
284
265
322
362
322
317
203
235
344
308
298
316
326
364
406
259
330
295
348
341
199
328
261
327
390
370
335
268
321
216
333
346
345
317
251
263
329
377
354
344
313
338
302
293
304
275
222
287
309
312
320
367
343
332
351
353
383
312
262
308
305
385
317
365
335
273
262
268
309
314
289
344
286
352
241
309
263
295
309
395
286
287
326
312
283
338
325
264
340
256
353
280
351
257
324
386
347
284
314
221
336
296
294
311
411
262
312
237
276
261
368
295
364
271
323
270
304
242
328
405
321
235
317
289
358
298
281
317
237
355
264
307
316
290
249
349
301
446
379
286
270
371
313
376
360
309
384
329
284
273
320
312
300
352
303
294
378
398
378
235
361
416
320
407
244
376
341
304
284
280
298
309
261
306
328
344
327
360
218
298
357
403
377
269
325
360
319
360
308
414
268
331
286
320
372
328
272
307
307
333
306
308
241
238
343
298
303
309
333
351
380
252
327
383
340
339
259
322
407
368
242
267
310
309
362
367
269
324
299
342
330
323
333
314
361
243
287
261
384
308
221
341
262
301
345
290
242
285
336
330
362
236
371
262
382
338
330
316
290
364
290
347
361
366
324
283
321
323
285
303
229
290
362
254
333
295
403
336
397
364
377
341
241
267
392
367
269
321
359
418
280
213
397
292
271
339
317
315
197
379
251
359
376
388
333
378
290
306
250
189
343
270
212
438
336
408
291
299
334
327
360
327
355
336
261
373
420
310
334
409
388
290
229
319
292
264
264
387
381
243
288
344
217
376
339
311
291
406
298
280
241
323
373
273
310
431
294
262
285
329
365
335
239
290
375
359
319
309
315
180
368
335
296
339
338
374
280
310
281
297
273
334
337
337
306
308
396
268
326
270
385
270
288
326
331
312
274
322
357
310
326
348
328
328
342
308
260
360
279
284
275
276
234
276
301
324
349
306
293
330
360
288
304
269
334
360
267
348
268
352
378
398
315
355
396
236
296
320
296
306
316
253
293
351
310
321
308
383
252
321
301
318
324
319
367
335
293
306
393
352
297
316
294
358
346
292
297
387
304
311
323
382
333
349
286
242
273
405
323
381
316
348
217
298
278
294
351
381
330
379
395
373
273
300
297
346
255
354
357
296
372
360
253
278
277
352
389
399
315
332
293
271
304
385
327
377
292
327
278
299
306
308
320
302
400
410
351
315
332
264
352
322
303
402
332
316
312
347
373
331
295
385
262
336
303
318
295
272
336
282
167
339
319
358
426
376
287
255
314
329
213
344
341
316
361
329
371
273
247
318
342
312
237
293
376
274
352
262
313
249
226
335
433
234
181
289
306
288
265
328
366
355
328
292
372
334
284
402
222
300
285
334
330
290
272
308
275
334
313
317
347
309
257
240
295
321
297
296
291
304
368
332
350
307
316
326
339
294
257
353
223
360
317
300
319
289
292
306
378
358
373
313
286
330
320
354
310
350
255
321
346
378
375
330
281
283
300
304
268
325
377
215
370
321
345
195
255
308
277
305
320
362
320
405
259
423
335
375
259
247
299
274
301
344
275
357
294
248
323
217
383
336
232
297
350
264
320
287
338
253
310
336
304
447
336
380
271
355
314
347
239
320
259
288
297
309
338
325
263
332
335
332
360
260
398
316
322
337
317
300
358
337
260
293
341
307
338
333
315
327
193
295
284
370
371
415
270
215
365
328
290
292
314
363
344
265
311
301
347
354
328
360
313
274
370
269
342
273
280
323
256
282
312
282
276
266
311
324
360
381
423
242
306
332
318
320
317
322
219
250
235
309
306
315
321
298
280
227
275
247
273
321
306
336
302
281
284
321
224
335
343
363
355
382
315
327
356
288
313
341
341
304
332
311
324
315
258
258
314
316
358
289
377
345
348
315
315
264
336
332
301
241
328
354
212
297
381
286
379
330
365
330
340
386
268
300
255
352
307
358
320
282
315
274
376
309
294
276
401
283
347
277
346
314
354
323
382
349
373
381
349
333
280
274
318
442
316
274
320
379
327
326
298
322
306
222
260
308
295
338
282
353
314
254
295
285
297
200
415
269
248
316
386
361
297
353
279
263
322
195
210
366
310
294
347
388
363
358
345
332
376
230
295
382
318
383
307
355
355
392
292
283
291
351
338
324
345
330
309
351
256
317
353
254
323
260
271
283
295
334
235
347
273
239
338
328
296
302
254
345
243
318
321
314
325
374
270
405
299
289
381
378
371
371
348
265
330
355
292
320
340
354
295
290
335
306
344
321
282
336
260
320
344
328
321
300
270
215
294
313
280
302
235
286
276
262
318
318
319
292
355
366
316
313
346
214
359
306
303
338
224
309
370
341
299
250
319
329
279
371
358
307
348
308
318
235
268
340
283
355
307
295
306
346
375
351
373
261
326
291
333
239
419
380
292
371
369
346
365
352
318
395
344
309
325
294
312
336
273
279
336
277
209
314
351
216
326
277
317
253
323
359
318
316
336
308
278
278
366
381
312
315
365
261
279
233
338
277
263
252
285
264
259
287
261
336
302
342
342
290
293
339
320
350
311
286
395
333
348
359
355
311
293
356
351
321
310
373
272
325
341
318
285
277
228
327
331
254
366
323
322
337
319
334
377
310
389
277
303
331
299
253
366
334
352
378
351
200
343
274
240
278
273
235
291
383
315
289
264
308
358
317
290
286
304
274
398
392
321
276
348
315
327
394
286
269
310
290
312
278
234
346
314
307
244
354
292
285
295
351
322
355
286
330
272
387
326
338
364
249
281
375
286
355
321
231
332
299
347
321
322
351
387
306
360
316
362
327
362
302
321
333
361
312
257
314
251
313
332
338
385
273
268
299
232
363
283
268
368
284
385
276
358
299
303
233
305
332
282
379
306
292
285
276
347
268
224
340
243
376
364
257
255
315
313
353
285
381
316
280
373
354
299
311
346
274
297
279
343
341
292
296
313
288
243
328
314
345
282
343
276
252
259
278
346
296
353
277
234
289
317
424
295
285
325
292
394
349
351
369
274
356
343
340
370
284
400
313
309
264
397
286
235
317
367
376
199
275
208
284
359
350
264
341
275
318
346
340
256
308
348
290
324
320
287
292
352
339
271
344
231
323
286
329
349
272
406
343
332
296
291
319
351
278
228
385
233
294
257
342
303
353
332
278
247
367
322
341
378
258
267
297
309
330
257
261
319
296
304
263
345
334
330
281
368
301
342
423
263
394
270
364
332
326
389
326
233
249
286
325
362
321
365
385
304
389
351
257
276
315
260
367
315
260
379
268
320
260
341
392
281
351
371
267
369
341
326
255
303
361
312
348
306
210
302
292
310
273
362
222
278
305
320
283
328
338
363
277
301
397
336
335
399
300
267
296
304
354
341
288
230
324
356
266
349
403
292
234
225
294
298
292
308
183
256
309
310
339
306
408
330
317
387
293
325
315
325
308
327
309
378
376
363
355
308
273
353
362
251
208
313
234
315
292
318
288
333
280
215
324
368
347
353
416
286
339
293
310
370
326
366
348
336
325
394
227
321
285
357
366
403
309
250
346
301
331
302
319
254
269
253
220
314
299
351
322
329
259
342
291
346
287
239
273
265
333
366
342
312
374
380
299
341
300
371
372
336
307
368
235
315
281
278
273
301
316
356
263
347
326
280
240
310
366
354
302
280
371
287
348
369
340
400
311
282
327
302
281
325
296
362
297
266
311
300
381
306
331
306
338
342
377
335
275
241
280
333
286
294
330
310
334
236
303
346
332
315
326
303
295
354
269
266
238
344
286
347
324
270
300
200
311
315
330
290
351
317
342
307
277
318
255
337
296
340
344
346
367
288
284
348
301
323
304
360
377
256
243
347
270
336
271
352
319
356
371
322
273
354
285
191
312
282
266
317
330
278
272
354
354
328
272
373
380
311
307
337
378
305
304
332
336
354
327
337
315
355
338
281
324
243
327
309
285
286
331
289
338
274
371
252
434
202
314
296
314
328
394
320
290
276
301
299
352
368
288
366
247
308
319
237
342
246
261
278
352
215
348
350
291
357
297
418
301
295
374
306
351
313
332
338
302
271
332
351
363
363
361
343
351
296
335
397
360
333
308
246
357
267
288
284
373
276
275
313
347
221
349
350
307
294
288
339
229
336
304
354
257
425
241
314
363
308
323
295
344
238
308
339
270
334
250
256
365
335
270
299
304
313
296
281
210
315
301
275
287
311
282
261
314
375
296
340
324
248
317
439
327
400
352
314
316
328
295
323
246
252
290
282
458
401
354
282
389
310
328
364
213
356
352
338
414
250
276
274
316
252
347
312
358
248
283
287
279
360
314
279
312
325
244
195
248
340
397
310
322
423
241
311
283
266
214
327
375
195
405
322
289
354
374
372
357
343
385
239
304
300
442
349
296
351
309
378
309
226
199
255
330
330
310
286
297
291
341
278
334
364
282
322
332
320
271
233
359
299
367
284
322
298
256
318
290
331
245
305
359
362
257
336
323
289
419
384
359
288
254
319
425
368
393
309
376
296
345
360
255
347
308
291
345
282
295
307
290
314
358
303
363
301
316
295
297
278
346
437
331
337
388
332
273
357
331
311
274
275
321
303
266
257
389
325
330
258
291
301
199
342
316
237
351
289
372
301
307
290
362
319
411
330
322
299
292
298
323
313
307
332
307
300
284
344
345
379
309
308
266
370
404
297
289
339
316
345
363
318
352
285
356
326
251
373
404
344
329
281
291
287
340
409
363
342
281
254
261
354
354
274
263
312
307
331
386
317
260
270
306
303
290
360
318
328
325
312
296
360
371
342
306
356
272
323
281
365
262
314
258
344
237
316
235
299
279
398
305
317
296
407
299
333
286
317
354
309
275
305
335
259
381
344
376
391
302
331
350
319
337
298
307
324
261
256
249
365
333
327
358
291
354
349
374
391
336
315
356
399
354
315
304
323
302
342
313
392
235
297
319
373
319
285
296
314
317
259
334
285
296
307
330
194
446
392
379
354
316
442
314
338
296
298
361
346
354
313
393
359
323
393
273
298
342
293
277
310
186
377
272
287
209
297
333
301
298
370
375
312
239
367
259
348
361
398
341
328
279
372
274
303
285
368
321
317
323
363
199
262
272
285
317
315
269
290
278
247
298
312
308
355
259
273
287
254
269
250
316
400
252
307
330
266
286
298
374
346
296
302
305
297
371
351
324
313
287
315
308
315
308
303
269
243
317
297
256
361
270
350
360
289
284
358
306
207
338
258
304
359
317
195
401
363
270
361
324
317
335
325
217
321
395
354
325
386
260
265
357
298
295
302
328
326
237
220
365
350
368
377
283
259
336
397
327
276
308
299
310
333
236
291
270
376
355
344
335
302
299
291
326
338
313
405
270
390
392
367
405
327
237
396
323
246
346
331
283
360
369
313
352
327
394
222
354
388
336
367
325
282
377
292
243
328
423
333
212
309
287
365
360
342
324
285
326
345
309
282
317
212
369
309
321
264
348
300
306
301
320
359
314
281
398
306
339
262
341
330
266
286
337
248
350
284
306
292
394
353
232
352
302
298
253
276
268
308
376
349
375
228
310
286
289
394
290
262
365
307
332
315
345
361
391
316
425
307
265
280
289
287
257
385
324
436
310
312
299
324
301
341
324
331
318
218
335
332
270
303
282
276
349
398
306
324
304
325
309
307
277
317
336
243
385
319
308
317
291
389
255
322
402
373
314
313
460
294
353
367
262
322
284
267
294
394
302
254
238
367
313
267
400
305
391
276
366
458
309
321
250
244
358
312
287
366
325
271
292
352
325
338
289
397
324
315
270
323
362
284
297
297
328
398
277
316
286
320
306
381
250
324
279
325
331
308
344
293
348
398
308
341
377
327
332
327
366
390
295
390
321
314
276
289
395
328
305
310
272
267
324
323
338
335
328
363
331
330
223
362
241
304
341
370
349
292
349
340
295
289
302
263
280
417
270
289
377
292
338
299
350
303
193
335
295
333
287
288
370
329
363
391
299
284
300
282
316
319
307
297
296
230
296
310
326
326
391
295
338
326
282
267
272
272
357
223
290
338
299
310
329
367
400
382
274
282
304
271
299
300
344
288
239
275
259
374
292
301
284
287
297
361
283
344
316
336
273
208
308
330
358
340
341
299
342
316
325
307
309
377
310
207
276
264
319
313
242
384
313
314
354
257
310
318
302
332
324
405
292
337
244
292
347
317
371
376
329
391
320
317
296
389
330
337
293
284
362
319
342
341
271
321
304
406
304
411
334
350
311
398
268
311
351
309
288
303
327
399
246
346
260
311
310
344
282
300
358
307
348
312
317
321
342
347
350
281
327
296
309
338
331
262
365
399
212
309
340
317
317
348
346
316
319
287
278
280
296
288
331
266
329
273
366
308
254
278
232
361
364
334
292
299
454
232
269
272
380
300
355
348
351
348
289
228
261
354
398
385
319
263
250
344
361
282
389
303
356
294
228
423
288
342
332
313
420
318
269
347
344
352
330
387
321
363
387
294
323
366
285
299
347
286
368
351
299
283
356
392
302
383
352
250
264
321
249
301
288
219
384
380
294
345
389
319
329
318
309
309
294
382
323
341
399
318
401
302
285
339
375
292
367
274
276
419
377
329
279
346
324
318
378
364
245
373
405
357
365
289
282
298
346
302
370
384
181
322
340
252
329
272
280
317
358
244
242
282
267
263
286
352
374
370
304
311
326
353
350
270
301
287
328
308
297
325
291
320
329
359
292
373
240
297
389
360
350
371
312
299
346
286
388
196
299
351
245
323
313
280
261
323
402
319
400
297
321
365
300
397
323
242
296
265
320
358
376
245
290
303
282
322
214
327
371
325
337
279
328
318
303
291
364
339
359
319
280
344
301
296
244
299
341
359
363
306
326
339
302
367
349
310
281
365
326
310
372
297
301
351
234
379
345
249
328
239
430
295
260
350
309
277
284
371
401
287
222
363
332
274
309
357
341
349
297
375
357
329
386
428
274
372
373
353
362
330
331
286
343
366
281
238
260
341
281
308
298
288
326
215
358
342
387
274
336
275
315
345
381
296
316
346
233
323
264
270
367
222
303
310
285
333
281
304
288
158
308
272
339
378
350
399
286
301
307
301
336
282
379
274
342
356
356
307
212
237
382
304
317
279
248
337
400
363
310
297
257
222
354
258
277
368
363
285
289
370
272
361
330
242
290
310
324
290
378
351
334
347
351
293
264
276
325
245
305
271
358
277
291
301
300
257
316
255
277
221
323
281
319
303
362
403
260
355
302
300
259
352
354
343
317
354
220
360
306
304
323
244
316
317
415
300
300
284
268
333
297
250
261
297
274
392
365
218
427
294
280
421
291
347
369
361
255
296
363
212
366
290
303
276
310
282
262
297
292
280
317
373
331
284
332
283
268
269
288
359
369
375
338
355
370
321
346
327
391
385
359
334
292
345
240
253
322
368
333
344
303
346
359
224
279
387
376
296
305
297
304
216
392
351
297
253
409
333
320
343
367
320
276
244
267
286
314
246
323
355
364
308
211
356
280
220
324
306
379
305
244
317
367
307
412
365
350
308
198
334
337
311
299
332
330
261
326
266
398
290
278
293
284
274
341
289
390
260
240
312
352
306
303
268
308
254
294
275
367
321
270
291
208
240
245
331
345
297
293
268
300
295
357
281
340
242
362
313
345
357
366
344
301
247
267
329
384
244
307
292
278
345
350
339
362
240
355
356
333
339
237
350
291
348
304
362
360
382
272
349
303
383
300
318
369
361
334
355
267
238
387
318
276
264
295
378
221
371
334
237
348
344
337
264
292
237
265
287
235
312
384
381
258
263
273
322
328
398
276
418
373
294
266
322
318
367
311
353
348
275
361
362
283
415
291
293
254
274
340
379
322
258
278
401
309
326
317
334
346
315
284
289
331
321
322
366
318
353
286
330
343
343
296
375
370
324
341
296
336
341
343
423
402
309
292
234
259
342
432
379
295
311
194
295
359
328
304
320
359
240
383
325
272
316
285
240
401
354
277
273
281
295
301
370
231
345
372
277
301
334
314
269
343
322
333
352
309
324
316
284
282
324
333
297
350
255
293
316
285
198
323
279
393
306
255
298
305
250
265
306
253
394
287
243
351
303
271
300
293
357
235
287
321
302
309
330
339
296
282
271
397
273
303
300
320
301
295
316
312
393
335
424
305
307
258
346
326
221
280
315
280
370
381
217
343
351
366
259
269
363
297
284
348
287
315
268
317
374
281
390
322
351
193
317
352
315
328
341
380
323
422
340
324
392
339
307
233
384
332
241
290
305
322
269
346
387
330
335
368
305
289
348
411
306
348
251
274
261
352
415
306
318
373
279
246
342
338
366
231
231
327
377
301
280
306
356
342
343
343
344
297
366
267
359
279
249
363
275
335
295
285
299
380
340
406
326
286
291
357
334
301
342
304
337
227
274
319
322
298
335
300
336
299
305
334
323
317
308
337
357
188
350
280
357
286
285
362
337
375
329
332
396
270
314
277
332
310
365
322
302
334
376
323
341
336
335
267
278
308
321
333
397
320
301
362
336
356
301
263
297
315
371
276
311
308
388
300
317
365
349
289
322
325
308
390
269
380
236
229
333
330
281
312
322
267
361
295
370
290
383
320
329
293
300
307
270
379
325
346
337
404
383
336
263
217
335
302
307
351
293
318
344
334
307
325
313
311
264
289
307
388
312
296
335
373
350
264
305
297
285
294
377
332
359
225
303
267
333
260
304
272
319
341
224
284
325
367
337
304
380
398
421
326
372
302
295
318
285
313
324
406
353
404
319
298
280
280
254
297
406
365
342
280
339
354
315
265
237
284
254
241
296
325
282
402
372
331
315
287
376
270
349
265
233
304
335
323
317
255
382
292
351
230
342
374
230
320
323
300
331
335
307
252
277
364
386
314
393
344
300
324
337
365
331
351
361
335
345
254
284
343
291
329
313
353
264
330
318
318
349
359
412
325
346
317
358
415
366
224
318
305
245
296
368
346
163
331
304
285
358
331
248
322
296
285
266
336
287
299
324
280
350
330
299
415
275
265
240
250
333
348
333
365
291
377
339
277
358
394
300
315
326
367
305
357
269
387
285
355
390
330
350
327
381
300
321
315
339
284
317
296
337
300
302
244
249
368
293
240
326
254
315
253
286
295
305
300
336
370
338
357
299
331
316
338
259
387
298
329
338
300
347
330
279
318
222
195
392
357
282
308
326
304
293
322
398
340
327
373
359
352
389
339
287
273
335
266
338
357
355
309
370
325
352
340
276
287
346
309
319
166
324
346
258
313
239
319
338
262
379
304
356
288
299
298
330
316
334
268
224
417
260
309
303
275
326
331
358
352
329
258
287
329
291
329
320
272
262
248
281
338
247
269
285
323
326
306
300
270
264
347
318
342
322
262
234
254
273
255
359
313
274
345
318
389
369
264
306
300
347
296
325
338
321
231
390
253
266
395
319
334
353
344
192
308
396
345
330
313
268
292
372
312
328
353
353
229
203
267
291
321
320
314
210
293
233
289
249
288
373
304
319
263
303
239
363
298
263
303
324
249
357
329
285
355
358
336
323
292
301
285
282
355
298
345
209
255
254
305
357
325
310
338
315
225
384
244
336
318
393
255
315
378
307
354
311
286
356
292
381
376
295
332
333
321
329
265
410
380
278
421
331
295
372
351
301
310
418
255
319
332
232
285
252
330
311
381
387
348
374
270
376
411
356
405
367
376
366
309
285
359
288
274
242
348
332
339
242
323
368
357
343
334
280
313
321
369
250
366
282
284
399
383
272
311
376
338
274
283
279
286
304
338
354
338
309
373
334
341
289
374
322
369
251
347
215
340
275
318
339
285
333
318
346
290
293
315
415
353
270
365
250
334
322
287
330
293
349
255
325
309
304
292
335
299
276
301
315
257
380
332
363
375
282
346
424
316
352
323
306
217
337
368
290
215
334
306
363
310
274
313
347
268
391
265
242
401
238
354
218
297
273
415
255
270
325
296
389
384
347
311
377
294
334
291
374
368
336
319
302
334
289
341
373
370
368
264
311
326
158
279
322
341
330
336
273
307
267
334
214
386
278
279
367
230
299
324
304
335
385
293
340
321
309
337
344
366
273
299
297
306
342
401
267
403
374
334
378
339
196
340
382
296
364
276
380
310
334
375
316
360
229
348
325
331
317
346
376
331
379
374
357
332
355
310
335
352
333
327
339
281
356
192
276
225
343
218
298
361
277
276
311
413
318
330
295
278
292
284
276
346
328
342
378
339
271
351
308
251
288
199
308
349
348
292
345
350
329
253
329
349
270
330
288
370
244
289
264
384
398
325
340
223
296
383
286
221
356
268
283
362
352
305
349
339
270
400
323
339
363
322
318
305
228
240
315
249
279
324
302
347
260
399
213
250
316
400
322
307
261
268
288
249
318
277
391
365
208
286
330
362
334
367
324
315
315
366
283
356
319
289
269
393
340
399
323
360
290
349
333
247
227
353
294
317
362
338
394
286
279
312
254
291
342
332
332
325
300
363
362
305
287
275
317
249
317
287
358
320
317
288
276
302
292
298
336
378
306
274
292
358
307
321
345
338
303
274
304
303
264
300
304
315
260
250
347
343
283
284
322
368
261
331
315
378
303
364
363
316
361
215
279
280
339
360
378
331
386
271
371
318
300
295
345
371
230
345
330
276
280
218
282
366
292
275
332
380
246
276
244
331
314
306
295
302
295
308
405
377
260
319
304
310
307
356
363
332
232
405
360
354
226
337
313
311
284
289
357
381
385
312
268
327
365
355
275
354
295
307
296
309
364
325
317
282
368
257
313
303
344
325
268
308
251
374
277
322
265
323
337
329
198
279
353
354
338
248
391
308
278
307
280
284
269
330
383
299
350
268
349
272
345
346
394
278
232
318
316
264
389
355
281
364
298
206
348
292
328
330
322
324
289
364
359
268
217
297
273
312
461
302
328
365
362
244
370
259
341
338
368
399
308
300
335
313
336
287
372
314
268
340
241
365
269
285
258
319
360
184
367
329
382
363
298
324
320
281
282
341
295
315
366
335
276
293
349
281
377
327
295
269
297
370
359
364
276
237
388
262
235
345
325
303
343
367
387
325
353
417
283
270
368
324
329
216
322
286
345
311
244
327
308
367
339
259
304
299
384
333
457
340
325
374
328
200
292
383
301
354
329
335
300
327
298
336
332
307
319
333
145
341
324
294
392
351
279
290
285
268
241
313
250
366
211
421
223
378
331
250
282
280
377
313
330
326
321
316
268
269
284
348
371
294
389
296
312
342
365
302
307
317
330
402
327
321
352
282
377
388
313
302
348
338
301
276
270
324
358
331
243
225
369
335
348
289
312
228
386
412
264
246
327
190
340
345
381
240
301
335
207
363
228
239
305
361
339
215
261
283
383
271
317
371
220
307
325
324
316
359
324
275
368
327
376
297
339
285
310
344
346
265
373
375
355
291
281
361
309
292
367
320
358
360
318
247
252
245
302
313
353
307
295
299
362
281
333
210
343
355
316
327
314
341
347
335
273
322
264
367
222
261
357
269
346
316
279
376
247
364
285
374
346
303
279
341
272
272
291
376
371
258
365
305
344
302
368
308
330
395
351
401
281
399
312
279
308
341
305
346
403
242
360
287
318
356
398
366
274
294
293
329
375
381
270
273
304
322
354
197
292
315
291
281
408
308
306
287
364
357
262
299
350
270
325
376
273
360
385
303
316
295
371
274
344
279
317
324
294
407
348
320
282
322
389
279
234
328
276
283
355
215
340
341
257
375
280
324
363
357
370
292
248
392
343
308
298
307
274
316
256
303
367
314
323
337
371
313
319
314
314
252
387
315
341
299
380
316
245
323
351
318
272
346
344
352
344
287
172
311
303
304
348
316
409
333
285
267
349
359
277
369
315
319
340
312
386
352
274
367
302
322
309
287
335
315
345
280
372
305
334
402
350
368
266
331
324
264
290
299
222
321
308
334
235
310
300
329
350
230
340
224
316
435
302
341
280
324
328
344
331
401
271
269
349
278
339
348
246
398
338
429
286
285
303
326
319
298
206
402
358
287
307
250
234
280
355
307
297
321
344
288
374
338
337
335
317
301
306
309
311
368
419
389
204
306
269
353
278
289
289
369
416
314
376
346
305
326
303
275
246
315
309
350
327
297
305
320
389
248
343
360
285
315
417
325
301
348
354
346
343
276
264
312
229
305
330
301
206
323
362
241
258
288
287
359
342
316
332
280
295
312
363
262
245
306
344
375
353
321
278
365
324
272
384
278
298
247
333
307
325
243
313
330
299
322
379
343
247
304
287
326
324
339
324
255
332
292
284
332
290
272
366
325
299
366
358
334
327
196
309
307
356
272
275
319
315
336
277
262
347
329
279
389
362
341
321
340
334
305
383
328
341
251
381
288
360
296
378
297
267
332
307
292
331
296
222
289
377
282
339
319
281
372
252
400
368
252
406
347
413
276
272
308
356
327
332
283
276
331
312
308
285
370
295
376
327
312
334
281
392
281
354
425
234
372
372
295
314
333
272
291
289
203
335
373
427
323
255
241
346
280
337
183
333
250
384
330
279
281
224
270
357
326
304
409
328
260
349
371
361
283
277
302
309
350
269
270
368
256
227
316
344
346
338
315
348
333
343
234
302
357
260
301
293
249
317
292
260
311
217
284
341
328
371
227
351
271
348
286
352
315
285
238
418
367
331
246
264
288
384
268
247
356
347
368
357
327
338
269
288
337
305
386
340
291
302
345
329
271
361
277
294
296
262
323
332
347
367
359
324
240
237
243
338
296
267
252
275
320
293
307
346
381
367
305
400
391
316
247
315
244
351
263
258
287
289
365
256
299
342
309
302
310
227
323
391
284
408
326
276
375
357
288
274
312
269
302
250
284
266
338
316
327
378
274
362
320
301
281
309
329
380
349
354
265
366
306
358
383
358
292
344
339
335
292
380
297
341
353
394
199
346
325
283
248
414
285
226
271
311
308
317
321
312
361
359
414
275
264
257
320
324
395
295
343
252
278
320
314
232
387
288
252
356
365
315
365
290
261
306
350
343
370
333
397
207
354
317
345
336
321
288
329
235
295
317
370
387
305
341
348
321
343
369
322
280
224
388
295
316
255
307
232
269
249
389
282
351
316
398
309
316
320
351
369
308
347
323
270
267
274
298
257
271
272
381
318
203
244
330
338
405
317
380
252
331
314
264
246
276
295
185
359
359
252
358
334
350
248
292
293
319
309
309
297
273
236
313
292
341
322
340
330
327
341
282
340
206
270
244
207
273
345
290
324
307
318
260
304
204
323
276
286
343
278
336
373
250
293
312
218
304
347
312
333
309
360
296
288
291
272
285
294
323
288
359
363
235
240
312
308
275
273
387
298
357
342
361
269
307
312
279
438
303
271
297
349
307
300
303
329
307
270
317
270
289
276
367
299
302
277
272
268
261
245
326
272
260
329
379
324
282
388
363
388
300
346
253
291
316
397
394
342
312
227
206
347
340
274
234
302
292
350
406
296
307
336
280
355
326
295
287
269
379
344
384
402
316
212
255
294
241
273
311
304
400
327
305
308
407
294
362
372
242
307
285
287
285
426
338
311
238
270
311
302
324
228
315
346
392
348
379
339
303
302
362
337
317
368
323
354
338
274
254
416
359
328
421
283
331
315
365
386
368
371
287
335
306
381
272
321
261
327
201
365
232
309
288
412
283
311
363
306
214
286
294
277
384
367
317
264
304
367
241
312
314
375
295
218
277
349
292
225
309
215
306
319
352
224
295
372
393
278
269
306
351
363
291
348
374
229
316
278
279
341
310
345
307
392
256
358
320
241
209
368
338
277
318
333
353
399
373
347
325
367
355
316
347
363
350
322
383
236
241
306
245
246
359
328
307
291
264
290
273
278
439
260
287
337
369
303
322
248
264
330
349
278
341
305
356
356
310
385
319
305
275
357
314
323
272
311
355
340
274
362
265
246
292
367
348
285
279
342
290
318
288
372
346
414
371
389
308
282
365
418
368
337
404
296
352
320
358
362
311
362
328
313
263
336
352
387
401
387
315
293
287
311
376
253
282
246
353
255
291
362
290
300
352
330
337
300
388
306
304
244
346
269
315
349
354
263
305
327
317
239
264
347
287
337
344
272
233
324
308
323
323
318
389
319
304
340
346
317
313
253
303
268
282
294
292
364
309
318
235
290
341
399
312
309
322
332
333
379
338
277
304
361
332
367
320
330
266
241
316
299
298
296
317
274
316
334
373
400
370
306
311
379
324
305
333
370
336
293
301
313
344
275
299
300
241
342
390
330
305
286
346
292
253
287
295
328
372
296
286
320
331
334
328
309
368
359
263
215
374
363
301
326
237
331
282
355
286
258
383
207
349
343
248
327
382
317
229
327
346
390
292
365
287
356
289
245
331
296
302
313
336
462
313
225
252
332
332
332
383
221
289
335
301
339
385
283
306
382
346
300
329
249
352
254
297
345
378
275
322
280
320
350
378
311
303
368
336
381
236
360
252
313
303
260
345
296
312
273
316
245
278
335
320
332
312
319
336
329
336
347
253
252
266
276
282
306
279
267
236
315
291
317
269
417
332
304
332
353
322
298
344
288
319
325
352
291
321
332
296
344
274
325
287
308
250
294
378
382
374
301
333
325
298
344
301
368
187
326
360
308
286
254
307
360
328
262
292
303
386
371
303
262
353
249
304
287
216
333
320
205
369
396
317
318
344
280
226
321
376
370
241
259
351
390
347
353
270
337
348
313
256
342
332
370
332
364
303
289
286
319
295
261
312
303
328
257
277
353
380
278
270
296
273
191
335
322
339
346
279
310
370
326
323
296
274
320
305
356
317
261
312
352
292
363
370
334
361
359
270
313
300
380
350
364
335
338
352
281
314
365
308
320
266
310
245
330
296
350
378
285
322
416
246
235
413
342
342
292
336
353
287
208
388
297
362
351
260
223
220
266
286
339
247
331
340
419
274
343
355
259
322
233
322
327
318
317
337
298
296
387
267
271
380
372
284
226
371
335
356
281
297
355
256
241
371
370
383
321
362
313
263
278
342
326
321
395
290
302
328
296
335
281
297
358
319
307
321
271
325
365
360
346
285
343
313
330
289
322
381
335
277
361
370
308
335
311
340
249
329
281
292
410
332
340
330
349
374
333
357
353
346
372
318
275
345
272
306
305
328
292
339
254
332
327
269
335
302
336
346
277
338
281
364
263
300
310
274
360
198
266
415
234
321
301
352
231
379
331
307
379
329
367
384
376
281
251
359
252
262
248
319
306
371
240
250
371
303
281
408
268
278
279
278
388
350
335
337
369
285
356
348
297
341
362
290
328
352
262
253
289
274
327
322
271
380
313
268
171
398
411
310
343
349
366
247
322
324
281
353
346
342
352
303
301
354
388
329
305
294
325
307
394
244
366
271
269
293
275
310
333
264
289
332
279
360
309
316
311
289
276
432
345
271
313
302
391
322
305
250
296
266
260
372
312
410
283
425
343
334
394
306
233
233
351
300
307
306
225
330
240
313
349
261
412
363
304
391
306
280
284
390
369
233
273
276
244
374
325
327
368
378
287
263
295
342
360
339
339
387
265
316
297
334
196
328
354
292
308
374
303
313
304
316
293
356
309
273
375
221
282
248
314
362
325
333
368
325
345
306
300
240
368
345
320
284
301
270
357
309
258
350
334
350
234
311
313
308
341
332
319
336
259
395
254
312
349
359
292
313
361
293
336
244
408
287
282
264
289
337
370
350
367
331
306
319
347
362
341
271
333
317
317
366
316
319
271
277
360
372
410
316
300
259
339
349
345
312
296
316
299
253
334
308
228
341
356
246
275
332
246
342
370
337
358
306
368
327
342
311
427
388
281
290
216
330
335
367
309
398
386
309
306
359
267
246
316
329
387
359
357
334
280
312
319
327
350
331
395
287
236
263
350
222
364
317
233
279
313
376
290
280
339
345
278
258
373
386
257
358
298
248
266
366
337
337
266
300
348
327
321
341
310
316
359
355
294
340
314
314
220
328
337
275
341
286
324
226
290
381
314
295
341
259
315
304
264
276
326
243
361
327
429
353
325
248
373
340
354
400
380
231
333
341
340
265
292
333
293
224
345
237
289
310
296
373
319
267
290
307
375
276
308
357
347
374
406
268
274
331
251
331
251
382
321
320
375
328
306
366
312
288
220
367
271
293
382
319
313
312
272
245
230
349
284
355
342
272
286
299
323
280
335
359
262
297
307
351
333
305
219
270
234
359
271
293
354
382
270
276
331
268
300
359
342
318
331
344
309
397
267
288
356
298
212
292
310
328
197
411
284
361
277
337
306
306
360
315
329
326
349
318
320
327
224
305
246
343
261
280
325
340
383
245
326
338
341
366
229
335
332
233
293
373
292
325
390
315
310
328
307
231
333
378
341
289
277
342
349
306
286
301
355
304
391
372
319
301
340
357
291
379
349
307
363
277
337
320
291
283
257
315
300
322
396
270
235
305
368
336
298
292
314
376
289
305
255
274
314
288
307
290
281
267
394
347
316
317
404
339
358
310
285
266
329
379
382
389
273
291
328
296
261
354
361
313
305
238
240
295
352
320
277
271
294
313
285
316
278
282
226
326
283
398
330
290
274
307
281
279
316
401
301
328
258
307
281
251
384
286
343
329
300
217
301
327
282
349
232
340
310
340
291
418
292
360
273
312
282
285
246
343
293
303
282
292
334
373
329
369
316
305
321
335
355
283
317
315
373
264
295
347
287
341
363
311
346
350
258
319
343
344
293
333
306
322
327
261
320
304
296
341
303
325
300
327
251
290
301
304
302
306
334
293
300
292
378
231
377
301
279
250
349
272
361
307
357
307
286
396
242
308
343
327
360
232
349
379
328
338
354
296
285
267
255
345
383
347
350
289
267
315
268
290
302
292
294
240
309
400
304
287
282
343
298
278
306
294
298
260
379
319
282
332
372
283
380
335
252
291
359
360
272
289
266
287
310
292
380
311
400
277
336
296
279
229
299
400
240
293
379
239
314
168
333
320
365
339
352
217
228
257
353
327
332
306
308
398
262
325
361
337
334
364
324
351
348
276
353
309
283
374
350
306
293
285
355
359
249
320
292
281
244
286
347
334
344
365
271
333
350
283
250
350
328
320
323
328
355
287
285
299
320
292
320
285
315
338
350
290
290
336
376
333
406
366
329
379
294
322
281
342
292
358
329
370
346
313
332
287
364
293
347
291
360
367
306
340
348
235
328
285
300
410
277
394
333
291
221
380
319
329
317
286
241
234
318
252
320
241
304
356
304
307
300
328
310
360
279
290
355
308
238
297
339
360
326
259
316
293
376
401
261
337
333
306
213
352
258
378
350
378
319
302
402
411
369
273
295
229
305
288
323
347
316
210
324
280
375
310
283
344
295
313
287
351
326
363
305
262
265
323
310
216
333
351
347
275
357
384
349
365
327
298
356
270
320
310
362
316
288
388
373
347
262
348
276
354
387
357
331
256
301
373
323
330
344
281
323
258
241
350
375
373
360
296
228
338
385
271
210
440
350
322
283
279
302
278
265
270
249
231
218
269
234
340
297
288
292
306
369
285
329
371
303
348
347
371
349
268
323
341
252
309
291
359
299
310
251
336
334
283
240
359
257
287
342
302
292
278
253
359
303
323
327
323
178
299
356
363
385
286
356
340
309
294
348
371
353
301
331
358
312
336
301
347
292
317
275
346
343
277
290
388
274
298
343
292
334
351
305
285
340
332
351
334
376
265
189
302
219
295
376
369
326
369
344
337
302
323
306
363
335
335
329
339
388
268
310
279
286
335
334
377
314
239
285
282
248
353
371
283
333
328
289
364
298
315
342
369
325
317
330
361
358
328
325
300
322
307
335
329
325
327
283
311
292
367
352
222
317
378
336
249
257
318
261
342
305
309
312
289
336
382
340
328
253
267
381
305
325
253
269
218
374
296
348
372
254
300
349
291
341
277
347
283
308
319
301
293
316
308
344
299
309
262
364
344
289
428
314
342
312
374
345
300
245
275
330
253
324
375
261
336
321
309
259
272
244
387
263
384
288
323
403
364
299
385
228
337
304
333
300
358
285
372
334
284
300
381
268
422
304
288
240
337
296
321
345
410
275
255
325
298
369
264
355
318
316
275
318
334
383
238
316
299
307
258
345
230
363
295
274
347
271
381
353
232
288
367
367
242
323
414
323
246
290
367
285
327
243
351
251
269
358
348
282
356
360
301
260
313
367
289
378
383
401
257
321
323
294
352
343
353
321
304
238
311
223
344
334
357
345
351
312
377
338
269
261
241
287
293
375
353
222
370
359
291
324
269
271
350
331
303
323
300
341
295
313
288
333
266
410
351
319
283
250
326
319
346
308
187
289
281
293
286
314
323
357
364
328
349
318
202
266
347
311
285
360
300
334
374
379
345
345
418
371
340
308
301
285
430
323
393
261
345
313
338
336
278
302
270
378
296
342
259
360
335
289
289
419
275
366
369
305
227
310
381
237
320
342
263
317
341
376
357
367
260
280
303
357
320
261
320
286
288
339
372
225
335
339
197
331
319
309
330
320
264
331
374
308
355
333
299
226
294
337
309
379
329
368
356
386
372
367
271
304
317
360
319
410
251
393
264
242
352
279
289
304
306
356
342
321
311
379
233
332
281
359
272
307
300
307
281
350
325
314
446
268
348
266
310
300
355
325
345
319
290
346
296
244
279
239
278
300
372
371
268
323
436
237
418
321
286
345
285
407
344
316
369
287
425
286
336
257
352
319
339
234
366
266
309
289
315
269
214
269
291
293
337
227
389
298
279
292
309
334
292
250
274
278
282
304
341
240
327
351
238
269
325
352
251
317
295
316
362
295
324
340
358
316
361
371
342
318
238
302
288
318
265
290
221
330
365
355
249
298
331
306
258
384
312
304
264
280
348
358
225
353
324
303
287
318
330
326
333
293
347
322
346
301
364
275
326
370
262
368
304
339
255
309
327
338
291
299
303
407
300
328
406
369
332
336
360
296
245
333
340
330
373
319
313
279
315
374
316
349
336
253
304
307
356
324
334
374
378
267
360
274
281
368
341
352
358
300
369
355
308
322
270
309
373
364
260
298
286
329
269
345
281
297
358
324
375
327
309
364
372
417
249
282
292
370
261
344
286
340
397
405
369
326
333
310
301
358
297
304
315
338
308
340
310
263
312
391
359
393
346
386
332
307
277
299
309
319
234
288
364
379
338
296
337
389
373
311
397
256
305
339
289
430
287
360
391
290
312
274
313
332
312
272
323
333
326
360
339
315
307
259
260
375
349
291
298
262
244
363
330
292
333
310
289
214
322
359
298
337
276
305
382
291
404
286
278
233
343
215
321
291
291
273
342
241
327
328
264
319
257
333
271
146
319
366
381
296
327
271
317
267
309
318
339
447
304
299
254
246
319
344
382
277
227
350
325
330
319
348
265
279
292
336
196
328
286
313
376
328
266
341
314
345
333
267
310
321
273
257
333
302
314
291
311
345
332
316
341
235
269
366
363
265
321
264
325
274
314
360
309
272
377
293
368
305
282
301
284
337
335
330
274
284
370
299
219
332
379
338
349
266
284
323
310
358
302
326
338
280
242
340
295
418
313
318
296
294
343
360
372
320
259
364
318
376
324
293
346
378
308
358
309
370
294
249
319
299
284
305
317
376
238
262
310
338
320
354
310
311
191
321
299
391
368
390
325
380
318
284
293
323
345
364
298
342
287
337
253
288
358
374
343
345
297
276
356
347
385
304
360
332
379
376
251
324
290
344
340
322
269
293
260
341
349
315
370
284
282
215
343
339
369
279
235
291
333
356
301
340
305
329
355
312
318
283
341
333
255
274
378
310
324
378
309
378
322
306
359
336
355
337
268
398
331
354
322
306
295
373
287
246
345
254
324
382
308
291
351
307
368
351
289
258
271
335
306
341
352
339
369
348
349
318
203
334
413
263
296
252
363
346
398
380
292
244
238
338
316
343
419
402
327
283
308
386
356
360
309
324
259
359
288
292
310
299
224
325
336
282
264
332
287
253
312
383
300
334
230
288
327
369
403
289
205
346
242
342
379
363
369
352
323
370
258
317
300
320
314
322
292
353
325
227
334
306
319
352
340
267
265
295
359
267
267
269
315
305
320
323
255
338
270
253
321
309
347
374
363
355
322
277
324
329
350
328
232
260
288
341
310
344
333
347
353
316
367
297
322
278
335
333
285
369
375
296
238
286
281
305
356
342
314
378
264
353
323
366
291
334
262
302
371
337
325
369
264
355
277
331
341
400
270
312
323
315
308
262
308
376
282
321
284
347
349
369
339
304
274
280
294
343
356
337
263
254
371
279
264
369
275
384
301
332
242
305
226
342
287
332
382
331
310
348
267
290
275
292
306
387
245
364
234
287
389
346
278
290
311
394
333
344
321
288
305
293
283
258
307
263
393
352
340
348
327
332
304
301
190
345
355
274
306
328
205
273
339
310
282
263
237
349
360
275
301
396
229
285
348
327
397
326
313
327
290
318
364
272
309
348
434
370
245
339
272
316
385
314
338
301
363
297
369
335
312
294
317
273
280
323
320
369
359
318
420
325
325
333
245
277
375
216
367
255
269
336
282
255
277
260
328
344
287
297
397
310
304
233
242
357
343
286
323
282
333
306
432
356
238
244
326
285
338
348
285
359
296
228
236
332
366
283
376
258
251
262
259
307
245
335
290
364
307
280
320
300
322
306
334
261
297
318
280
396
328
303
317
352
286
276
293
392
367
355
229
376
327
318
346
309
257
353
259
384
336
296
355
343
324
237
323
265
414
321
323
342
345
362
296
366
287
311
338
312
293
323
245
277
258
276
347
252
305
228
235
246
246
305
253
309
365
301
320
264
323
277
319
250
366
302
315
317
224
310
344
350
315
361
274
340
292
276
398
269
297
397
433
263
373
334
311
294
297
277
417
255
327
325
371
280
279
245
369
313
349
310
326
315
345
348
346
285
279
215
251
359
327
303
340
334
288
289
259
333
343
311
377
295
285
383
197
327
298
320
350
263
260
285
244
324
323
308
233
291
308
328
318
331
338
303
245
309
313
275
207
295
302
342
316
385
249
343
320
302
349
359
333
304
299
366
340
280
326
328
238
167
293
355
352
228
357
340
364
328
312
333
367
344
246
350
396
419
330
336
339
286
335
271
325
280
333
225
342
309
290
321
272
308
312
348
297
273
296
270
240
361
315
295
395
294
222
298
322
304
251
250
288
319
331
309
331
418
210
356
220
285
232
328
239
329
280
305
380
331
293
318
328
283
294
337
277
221
305
297
375
250
299
312
329
281
385
308
317
373
336
307
307
332
308
343
279
334
326
326
284
283
345
361
365
301
333
371
313
392
374
316
280
367
309
335
283
236
334
307
260
273
354
274
352
273
386
260
348
347
338
335
299
380
255
307
273
357
392
316
291
225
359
266
269
296
318
309
253
298
228
324
367
324
365
342
314
253
316
387
202
416
319
267
349
280
242
273
400
364
356
356
346
277
287
292
346
258
262
320
363
334
351
364
278
354
279
371
290
322
324
313
336
215
363
275
288
361
323
313
323
364
306
324
317
370
356
307
319
264
314
415
328
313
318
336
316
230
202
355
312
322
404
369
278
297
384
235
345
312
328
399
309
363
359
283
393
355
242
334
333
311
291
331
356
376
244
312
356
373
371
326
305
311
274
335
377
252
295
284
246
228
297
338
212
345
310
277
233
344
299
392
349
322
327
254
306
314
279
366
379
340
313
350
302
281
334
230
288
260
325
287
257
294
291
316
293
291
333
280
266
310
263
291
388
302
273
281
328
365
285
321
300
337
290
332
241
270
335
361
262
358
271
333
293
372
370
197
284
325
356
294
247
294
327
297
295
382
331
330
362
352
317
337
341
399
322
232
383
313
359
313
282
265
260
362
323
298
258
337
347
240
329
308
252
345
250
270
265
232
333
379
365
280
317
312
358
317
358
345
317
303
336
320
336
437
320
329
308
360
240
342
311
357
190
332
340
274
274
261
402
309
313
315
319
316
302
236
253
355
308
354
227
348
340
338
321
349
308
380
307
347
306
333
257
222
232
341
327
282
351
381
333
312
373
304
394
281
250
292
375
332
350
309
309
236
355
360
308
279
324
302
212
387
303
366
325
286
313
251
331
358
278
328
287
268
206
325
282
293
363
315
345
309
337
290
334
353
263
288
376
341
308
420
307
311
288
218
246
276
307
297
344
246
338
370
339
340
350
344
375
254
314
297
360
376
325
323
318
279
426
237
312
430
272
335
326
352
236
362
358
225
264
345
339
339
264
416
320
300
354
347
240
302
302
270
277
263
246
328
267
266
330
338
266
173
295
344
443
215
241
365
266
360
346
285
390
342
416
312
382
293
337
296
399
333
284
287
316
275
315
291
332
295
263
320
310
251
333
348
237
381
344
390
297
185
278
335
357
324
232
255
307
300
256
302
231
274
258
314
355
299
318
241
286
334
263
341
348
275
251
438
325
349
359
360
347
292
355
308
213
316
335
357
367
365
282
228
335
282
300
276
316
298
324
273
255
299
274
337
226
321
220
358
267
392
309
319
353
347
292
307
297
276
297
308
328
282
382
267
342
358
330
329
369
361
309
265
306
269
296
327
319
325
341
359
321
310
340
286
397
226
345
304
373
346
322
296
346
373
381
234
266
373
312
245
222
385
281
290
285
300
310
306
349
250
189
331
289
283
308
313
334
306
306
266
271
357
331
289
341
372
351
278
303
352
331
345
245
336
298
290
323
252
283
358
303
328
323
306
361
236
292
276
230
240
300
296
323
378
300
334
332
327
300
336
364
295
342
278
327
307
293
264
263
284
310
367
288
322
329
344
325
296
272
288
306
272
226
252
369
334
372
336
336
255
363
298
358
331
345
247
280
255
327
302
256
286
332
324
334
331
251
307
339
313
244
345
319
277
381
382
393
332
372
320
329
220
268
357
372
301
363
387
304
325
284
352
315
327
353
291
355
306
401
313
371
244
356
284
269
243
366
329
361
268
288
296
365
320
338
251
313
326
361
204
297
366
219
319
312
260
333
394
314
395
310
333
300
332
370
339
312
299
379
269
355
250
346
391
314
338
291
404
260
340
380
260
234
253
357
319
271
279
271
334
314
423
337
317
335
298
346
253
269
285
361
286
285
309
363
305
365
365
261
364
306
348
282
286
340
360
332
333
288
363
270
383
354
397
260
288
283
292
425
296
356
240
289
294
336
325
319
330
301
296
342
356
359
315
357
313
328
380
343
305
355
261
352
316
352
257
300
339
356
314
230
437
343
288
319
304
361
331
358
390
266
256
386
288
356
251
297
344
344
271
307
344
351
247
341
255
348
285
265
297
309
283
284
253
396
316
307
303
257
362
409
347
303
336
366
346
348
372
404
343
360
257
315
322
242
413
275
345
330
335
368
264
380
360
280
337
282
205
294
358
319
316
317
338
315
326
324
336
382
262
330
308
293
276
310
352
375
237
256
344
321
323
284
359
357
283
201
245
272
346
337
321
333
270
281
296
387
308
348
291
298
325
300
368
252
302
292
294
331
372
269
391
277
383
280
313
328
349
281
306
365
259
249
389
263
308
267
308
342
317
364
332
339
315
279
326
256
250
341
285
347
361
300
287
339
293
372
306
342
313
284
279
321
356
355
320
322
330
282
313
368
269
388
346
344
221
307
315
329
344
343
202
386
267
295
399
276
246
342
319
367
293
267
308
350
340
381
288
300
264
294
260
290
305
350
367
334
284
331
375
356
338
415
236
282
315
277
390
298
348
236
381
270
322
216
274
379
343
274
199
307
297
234
388
308
289
295
317
349
261
208
316
379
329
330
360
274
391
347
298
292
328
381
317
338
296
288
352
341
315
307
226
312
235
366
362
288
325
240
304
358
347
279
331
312
283
265
303
215
361
226
283
193
219
357
164
329
286
246
390
298
296
265
370
300
286
350
370
226
382
353
297
365
374
310
226
295
334
351
236
283
300
258
377
324
292
377
318
390
320
307
383
245
341
373
295
268
286
355
293
265
319
371
263
323
325
298
311
347
289
333
297
358
300
240
252
365
349
348
328
248
272
372
308
332
306
363
372
241
388
286
306
326
315
277
405
299
311
368
354
302
355
273
370
292
325
282
246
261
285
377
422
232
322
369
309
307
395
336
288
295
243
335
233
303
377
249
302
350
384
345
286
314
311
235
326
320
339
261
246
236
293
282
355
338
353
336
344
303
311
289
313
307
334
288
360
270
305
278
291
341
319
338
306
330
372
323
299
253
289
270
242
283
256
257
349
273
260
319
323
312
363
282
277
313
275
396
375
305
410
339
257
345
305
287
421
257
399
241
290
277
380
254
314
356
320
272
373
313
351
399
325
323
283
285
270
242
321
333
287
279
300
285
314
257
345
334
346
303
365
281
243
368
338
236
337
331
274
297
415
332
339
313
274
289
342
268
382
283
214
387
270
335
307
395
334
309
315
188
293
337
213
331
296
292
397
317
336
247
279
327
350
274
265
316
356
242
343
289
334
386
328
348
378
332
325
378
279
240
319
237
262
259
355
286
321
337
292
263
297
429
352
370
246
319
343
197
320
335
256
321
366
318
265
344
294
312
371
378
228
329
299
313
313
276
359
323
353
345
359
256
250
330
341
308
364
291
286
346
296
321
243
360
347
315
253
241
307
298
247
410
360
383
299
348
278
270
330
374
324
325
263
405
287
350
338
322
269
355
373
272
407
383
256
339
315
251
389
277
368
388
300
340
295
306
292
314
430
305
250
345
344
289
220
267
319
331
348
201
353
344
316
340
342
347
325
364
384
260
272
331
290
337
325
273
288
294
289
275
290
336
296
331
314
382
238
314
338
283
389
308
373
320
313
321
290
285
347
330
314
302
251
311
300
337
374
304
322
254
275
333
328
251
334
324
317
299
375
343
327
348
293
287
367
253
307
383
322
217
295
365
351
342
407
427
328
278
369
438
325
342
269
235
222
276
244
309
328
322
225
375
302
350
301
332
326
315
323
325
312
383
336
219
275
363
403
363
311
295
290
280
281
307
323
291
427
296
313
318
330
346
424
306
307
353
293
337
227
286
355
324
278
302
290
348
268
268
302
394
285
283
342
253
333
326
268
340
323
318
302
468
281
289
303
325
338
396
227
311
341
286
393
256
325
360
284
370
436
331
353
379
262
277
351
331
262
199
329
260
280
372
348
346
286
321
346
257
309
316
334
324
324
330
356
255
350
283
333
318
385
377
361
322
337
349
402
402
348
238
275
391
269
308
286
424
343
356
351
275
317
338
378
275
293
355
299
347
269
272
218
349
363
408
315
349
337
309
380
295
346
312
261
298
326
285
320
399
348
343
285
303
327
309
385
299
345
314
268
310
269
325
332
292
364
316
345
329
328
338
389
351
378
329
277
303
318
230
298
227
318
323
331
351
325
319
372
337
319
337
389
314
405
304
335
313
310
313
341
352
310
333
287
284
294
284
281
281
323
261
281
291
352
367
287
308
329
375
351
292
321
291
311
322
345
219
307
327
362
308
302
269
313
410
282
363
338
335
298
396
282
305
385
236
260
349
256
292
361
245
278
326
377
374
303
239
316
309
341
263
299
288
333
267
217
277
324
231
251
304
312
329
251
281
367
345
292
315
359
265
296
265
299
345
318
281
401
240
294
359
389
354
282
282
378
317
203
355
340
375
296
265
329
304
278
277
381
404
272
297
294
316
379
312
380
297
325
276
272
256
374
346
232
299
339
313
343
210
339
366
266
279
361
307
293
307
256
304
379
360
433
235
248
316
338
399
337
272
318
272
311
304
303
360
431
297
389
351
274
317
270
393
283
326
246
230
425
237
275
341
345
285
320
280
291
402
312
355
255
215
309
298
387
377
339
299
292
310
287
258
361
416
337
335
385
243
372
328
387
410
316
334
379
336
343
373
318
442
233
293
374
381
283
366
416
334
350
289
448
236
332
367
332
285
346
355
331
306
271
323
317
410
311
305
275
335
325
309
314
343
354
363
258
266
389
266
396
326
278
393
314
282
338
339
315
249
292
383
342
366
200
346
357
272
365
380
384
312
314
348
297
326
364
314
304
303
318
307
261
232
339
278
288
282
321
269
242
287
282
351
342
356
324
335
272
216
270
305
385
265
283
259
334
335
373
222
242
328
273
278
310
315
305
202
343
256
386
416
292
294
369
362
271
319
261
332
282
328
285
266
286
273
312
369
344
259
369
319
356
308
283
278
342
304
286
373
378
330
269
244
422
380
307
325
272
354
327
204
330
293
253
343
302
313
270
354
343
350
377
306
337
266
291
341
258
353
277
297
330
293
355
250
327
335
261
330
327
289
310
327
261
300
306
407
324
245
362
349
353
361
357
351
277
330
317
303
315
310
379
334
282
308
296
352
362
315
323
231
289
234
312
328
280
365
353
376
268
292
295
261
277
278
312
269
290
346
350
250
301
318
290
281
326
288
308
257
319
292
359
353
248
283
314
267
331
317
227
268
400
278
285
274
166
346
367
291
327
362
353
291
314
280
366
345
264
346
362
317
403
302
318
351
280
297
273
305
305
262
287
224
322
315
450
275
329
289
269
240
327
304
312
307
297
319
295
265
324
302
318
301
325
267
319
350
311
282
270
367
380
350
262
392
312
323
342
334
334
332
346
258
234
255
369
319
393
384
266
304
309
328
318
319
329
378
288
303
369
308
231
307
406
252
318
360
297
290
327
267
293
286
313
379
329
346
279
315
274
236
313
336
335
350
358
329
426
337
408
379
350
440
397
329
344
352
332
314
309
272
365
301
302
241
237
258
323
311
342
308
362
274
334
350
251
272
325
459
269
301
230
266
221
324
358
356
363
245
277
280
314
312
330
329
342
316
298
341
291
315
323
309
356
323
288
325
316
369
299
245
297
331
287
317
320
314
286
295
352
363
277
277
237
345
282
245
328
337
334
338
349
245
324
268
347
369
312
351
231
287
328
271
282
308
328
321
265
308
281
289
326
308
376
297
342
295
279
317
388
272
295
288
289
276
271
256
306
336
318
349
239
337
364
319
271
367
356
292
219
336
306
312
328
261
221
315
307
300
334
254
386
335
302
320
331
386
326
405
324
341
308
298
299
334
258
304
301
337
313
375
325
315
346
264
299
344
439
358
328
307
289
286
284
280
313
324
275
297
308
364
356
246
407
410
303
346
361
369
258
258
293
291
384
299
298
403
375
294
295
292
379
320
300
304
321
338
371
251
273
358
359
329
339
380
366
282
355
223
264
318
219
346
324
307
211
300
352
302
332
334
350
306
358
342
372
327
361
362
270
267
335
384
309
263
222
329
287
318
379
242
347
347
286
323
332
300
336
279
336
279
342
243
352
293
343
359
305
310
351
332
317
252
278
362
293
238
251
203
321
263
373
331
375
261
438
326
370
342
355
339
351
275
304
325
326
335
303
276
280
341
286
361
306
309
365
368
293
359
263
276
298
286
365
221
345
384
265
277
200
233
341
269
325
263
336
308
289
188
329
253
312
337
252
279
269
274
315
336
276
266
317
316
302
378
367
332
342
361
327
330
263
298
348
257
308
282
302
306
327
240
302
301
339
321
330
351
336
360
235
307
278
318
299
356
344
280
262
345
267
336
270
395
342
362
382
283
300
277
296
359
348
432
328
306
305
345
374
320
346
285
339
353
318
324
336
342
263
283
350
264
229
294
283
310
319
340
344
267
335
328
325
353
369
335
286
323
324
304
268
299
354
357
295
243
310
335
252
341
297
305
315
333
320
328
452
276
318
314
341
279
275
349
252
299
408
279
313
270
362
315
244
283
296
342
353
279
310
323
289
305
279
369
193
287
276
342
359
255
209
283
354
314
362
339
270
299
275
269
280
386
316
296
342
357
271
417
308
326
257
358
309
320
338
350
380
357
347
334
272
386
337
343
352
265
297
327
340
444
391
343
307
314
320
326
294
379
232
337
379
362
322
226
346
290
265
229
418
321
242
335
311
307
360
371
345
304
425
412
370
382
257
351
322
229
330
389
266
329
344
300
286
322
339
338
316
363
334
337
410
329
250
267
242
378
308
305
356
285
284
344
327
314
176
334
281
245
398
318
246
297
288
318
308
238
285
332
335
388
340
408
307
332
351
319
310
363
297
347
304
295
301
350
331
296
344
367
218
316
286
301
340
370
347
289
260
312
367
387
298
298
313
297
319
232
265
318
373
200
284
320
337
279
279
406
379
279
303
302
290
318
293
201
243
335
225
266
266
312
328
216
349
317
374
296
332
256
353
282
350
340
277
288
271
281
235
224
284
384
358
365
258
347
313
345
331
284
359
298
293
281
229
351
364
309
298
342
231
359
202
254
217
285
323
226
349
185
289
310
332
256
349
302
400
355
285
333
319
380
306
271
310
329
293
286
349
297
311
322
344
340
327
269
329
405
374
259
272
265
301
252
213
405
347
319
311
272
316
311
306
324
349
270
320
253
265
305
355
338
257
336
384
329
319
256
341
294
346
290
329
242
328
297
319
326
357
337
356
268
327
234
339
296
351
319
293
280
239
367
350
285
377
312
342
332
421
303
331
330
344
294
275
231
360
327
309
316
333
267
325
327
388
284
300
300
340
325
301
326
353
314
311
340
288
320
243
329
319
375
300
364
272
301
277
369
305
297
250
331
327
267
309
315
251
325
328
284
349
390
226
246
268
382
388
306
390
299
277
219
333
286
287
303
248
264
402
310
277
315
285
265
221
313
369
267
283
313
294
279
313
337
283
307
404
301
373
290
283
330
387
366
216
293
299
221
318
307
292
299
299
331
333
198
312
159
326
393
321
293
323
435
305
284
363
347
337
287
319
316
276
322
327
300
278
362
380
279
320
333
333
354
383
378
365
362
292
307
313
316
321
260
313
315
248
324
321
348
399
274
224
367
339
366
357
347
360
253
318
249
330
318
351
394
286
294
265
311
331
330
315
270
311
335
305
279
369
280
289
309
250
382
288
254
289
406
346
260
331
293
287
355
385
329
290
361
361
267
325
293
398
364
267
325
349
335
362
271
303
256
327
341
317
214
255
305
253
257
285
239
339
285
289
321
432
315
376
360
283
307
310
261
327
342
290
244
395
329
356
255
312
328
287
350
260
299
342
331
312
327
309
252
323
303
338
295
297
374
212
329
342
323
370
357
319
385
282
324
306
282
354
350
358
341
285
341
224
337
358
344
313
343
339
262
341
333
425
318
329
279
276
378
358
358
358
297
324
251
297
359
313
405
303
325
360
286
334
291
260
341
416
295
331
291
319
317
223
352
319
336
366
241
334
280
336
342
243
206
328
183
353
323
286
289
349
330
277
320
320
337
296
309
246
198
331
243
373
262
286
261
311
336
238
358
339
253
276
252
302
313
192
338
250
292
331
281
294
313
338
302
344
378
318
299
268
316
296
355
274
398
335
269
335
269
358
314
366
317
262
367
289
316
276
348
321
348
299
372
300
303
321
280
292
178
294
337
289
275
336
309
281
268
323
384
300
323
358
268
341
321
344
263
390
277
289
281
327
333
244
322
199
352
358
300
408
292
339
174
324
293
319
353
388
344
342
361
322
350
368
333
317
279
315
325
291
257
364
331
236
318
298
348
283
319
310
321
313
315
280
348
254
263
323
289
248
201
284
317
405
298
285
408
306
336
395
399
263
382
427
258
406
331
267
383
318
294
362
329
343
317
291
357
298
302
336
367
326
226
249
336
377
329
341
298
175
325
280
320
364
345
356
298
412
332
312
359
355
360
217
334
304
296
305
275
342
304
230
395
357
273
288
283
348
286
242
324
374
234
319
332
403
367
318
352
232
411
314
281
326
277
295
361
381
256
382
388
311
303
317
356
305
325
331
230
353
263
324
313
346
379
320
350
322
348
246
306
329
278
346
371
313
392
326
335
319
319
383
406
272
346
174
353
441
286
289
285
378
387
356
271
285
366
345
360
308
313
312
325
323
290
350
341
352
292
360
310
251
347
208
406
258
353
298
275
307
217
351
323
237
268
275
331
253
300
275
374
329
205
380
279
360
278
299
343
304
295
371
295
345
272
402
259
359
233
270
352
283
241
275
381
337
240
379
333
341
393
250
280
331
378
292
294
262
260
309
298
269
341
360
274
288
278
336
364
346
299
351
324
378
227
301
292
300
231
261
289
229
347
323
339
329
299
343
226
313
351
265
323
346
379
328
316
351
311
277
301
344
352
297
202
344
342
262
362
210
361
368
301
264
333
367
343
299
294
310
274
351
363
349
313
334
340
299
326
268
314
329
268
237
310
359
338
289
352
334
377
342
257
334
292
319
273
380
364
251
292
285
414
336
316
282
322
267
337
362
360
331
335
381
336
356
276
287
277
297
337
315
342
347
265
375
339
258
344
272
314
347
333
293
318
377
305
333
369
215
321
290
346
264
250
251
334
349
342
296
293
378
343
328
344
287
339
372
363
405
273
296
259
373
354
269
184
326
292
270
333
206
249
308
292
363
320
305
317
346
280
283
346
313
288
321
342
256
323
346
274
321
213
324
271
236
385
345
371
395
293
398
336
384
398
362
332
395
341
339
296
301
317
308
398
335
330
247
378
320
314
279
306
313
350
354
294
235
277
315
326
291
399
297
304
319
264
300
246
339
293
345
332
361
316
335
270
377
319
320
321
308
317
324
297
323
351
414
263
362
423
261
274
376
392
327
272
284
310
297
366
355
386
372
359
347
301
310
365
396
307
353
265
244
334
312
319
317
385
393
283
271
398
330
351
286
328
339
349
335
404
291
317
283
342
376
331
361
427
325
294
334
288
339
307
360
333
283
299
368
276
353
346
264
262
316
268
298
365
263
324
358
372
308
308
272
286
307
340
356
310
378
215
257
329
353
297
274
235
278
324
347
383
341
293
307
338
348
234
312
269
357
387
350
307
300
282
263
301
295
399
407
286
331
284
255
307
271
328
225
374
323
386
315
273
299
324
331
366
322
349
235
347
322
269
324
364
301
187
318
315
310
349
340
341
341
274
329
307
324
287
344
315
283
283
350
374
327
342
268
284
346
319
233
322
187
291
379
312
330
307
312
331
224
332
275
319
395
326
194
334
321
359
280
319
366
278
248
329
293
334
294
331
390
374
219
309
341
320
272
275
284
250
377
265
191
221
279
300
265
231
259
313
342
292
374
247
290
304
335
316
261
284
321
357
283
319
298
338
247
305
321
266
256
278
311
281
330
286
278
293
340
303
315
369
291
339
324
302
291
280
289
318
297
221
277
357
320
296
324
402
222
320
298
247
337
354
376
340
270
299
250
317
349
297
314
277
356
332
269
265
310
316
340
421
399
305
404
345
302
349
360
362
295
300
293
391
269
294
387
340
315
318
371
343
341
314
333
321
360
343
375
318
303
276
265
345
291
335
258
338
340
371
392
359
359
285
254
342
249
334
323
320
298
426
364
320
291
237
313
296
295
284
291
295
235
263
286
353
356
300
242
312
290
317
324
246
329
219
251
342
253
368
336
251
350
393
330
316
332
398
358
365
263
299
296
332
256
279
352
268
349
295
352
328
314
272
303
382
340
291
376
306
303
307
368
247
283
317
400
333
368
260
362
308
277
311
271
304
297
307
274
272
323
346
205
311
329
325
328
308
314
250
371
257
305
378
282
288
343
313
218
345
335
335
345
277
332
365
350
331
391
328
276
289
260
238
305
259
285
317
337
343
286
274
301
318
272
378
340
411
341
297
395
296
413
302
338
341
313
309
303
369
212
348
309
281
314
310
318
382
251
322
338
294
274
329
378
361
374
386
296
305
280
314
328
341
301
357
336
352
270
341
271
281
360
258
311
302
306
264
350
273
299
247
304
276
328
381
320
337
380
312
280
300
346
264
277
217
294
274
335
365
358
376
323
279
355
370
352
268
304
349
297
249
258
312
262
359
296
344
282
271
341
344
287
241
407
369
297
379
310
318
303
261
271
262
229
282
356
374
262
368
358
309
276
249
324
280
266
326
344
305
243
367
372
241
298
317
286
183
330
278
295
315
289
306
305
233
215
254
285
313
349
358
283
301
327
345
222
392
286
290
384
357
312
361
320
302
373
282
360
251
296
330
307
335
319
210
280
271
363
313
347
301
263
210
375
284
328
311
334
371
347
259
277
332
337
338
264
367
310
331
258
289
355
338
349
322
287
250
286
329
302
323
323
315
286
313
345
373
359
332
271
258
366
299
277
326
269
282
379
310
329
340
296
337
285
325
293
267
373
296
372
236
310
267
385
247
293
305
324
291
319
381
337
371
305
285
356
383
332
356
300
331
347
269
355
367
283
323
254
345
229
261
351
303
262
261
282
253
314
241
248
320
285
403
356
361
322
286
282
295
269
345
268
235
356
307
319
296
351
283
288
310
385
296
442
351
346
301
280
333
327
212
368
290
319
291
338
326
355
366
337
253
352
395
307
373
291
320
326
324
355
346
332
359
300
310
274
368
240
296
342
353
272
325
282
328
304
366
288
241
313
330
381
308
277
304
295
311
307
367
284
335
287
295
304
239
291
319
307
292
294
253
311
388
393
328
343
311
354
341
260
332
321
304
378
334
414
320
318
312
274
353
330
304
344
329
336
289
296
242
300
287
315
322
258
351
296
300
355
236
368
234
362
351
320
274
247
252
223
342
305
357
338
255
349
325
298
300
268
310
317
380
410
353
418
337
336
304
285
378
338
238
334
329
393
312
366
367
340
338
364
334
301
263
286
332
336
356
353
353
289
272
260
255
361
354
279
327
269
274
319
323
365
293
372
371
356
342
263
311
296
297
423
288
310
321
291
314
276
293
276
354
257
358
367
294
282
390
348
202
298
265
342
254
391
332
391
244
303
218
266
297
400
262
327
293
268
385
345
301
269
358
346
348
403
329
286
307
211
277
279
327
213
329
388
348
297
328
274
241
330
349
360
257
335
332
350
242
337
329
316
349
334
322
313
269
278
331
270
335
347
307
316
349
351
322
291
275
287
315
299
307
295
254
352
268
334
316
395
326
366
302
296
349
299
322
354
232
253
307
260
285
302
323
340
259
344
295
373
308
361
411
254
232
273
276
373
313
233
327
302
306
321
402
367
323
304
313
271
319
253
374
369
330
241
299
304
367
386
360
301
364
326
356
251
350
362
320
197
275
321
314
311
280
316
230
326
254
417
338
314
326
375
265
240
332
320
250
322
323
321
289
263
257
328
325
271
311
345
339
375
271
377
365
202
311
393
345
359
346
430
284
309
319
314
337
391
297
281
234
267
291
276
272
353
292
325
355
300
301
264
320
315
218
327
257
361
331
301
256
316
361
375
379
322
341
358
322
311
347
317
304
266
389
335
320
300
320
306
285
372
254
337
319
304
362
330
336
361
311
346
316
335
282
351
380
251
349
335
313
317
267
427
363
235
254
385
295
284
293
309
388
327
357
253
326
304
332
314
275
313
292
255
269
339
336
287
310
281
358
349
306
241
410
305
302
239
247
372
311
261
338
262
255
280
352
384
330
323
345
377
333
306
285
338
327
378
347
304
336
380
382
285
314
306
327
292
356
320
331
323
280
369
336
383
302
306
282
302
218
310
319
317
327
326
309
354
301
230
326
328
366
278
282
271
382
301
315
347
324
336
323
347
302
304
275
407
318
343
368
357
226
273
319
320
215
280
292
335
304
277
349
340
285
293
277
315
371
309
286
225
339
253
304
416
280
354
341
400
290
226
403
363
315
397
347
251
313
274
319
249
361
249
264
336
291
354
339
340
368
356
307
296
320
279
354
344
402
387
365
307
304
327
329
237
264
278
305
282
310
299
308
323
335
283
342
398
334
271
336
305
267
262
381
393
305
328
344
339
312
289
347
360
241
344
295
312
333
260
341
271
341
308
317
272
299
351
296
230
295
202
307
365
309
236
209
360
270
252
266
314
262
357
307
368
280
342
301
325
307
261
328
357
376
331
306
358
272
325
322
264
344
275
273
370
370
303
338
318
304
290
260
340
345
272
335
337
322
298
271
287
299
369
321
285
279
364
280
310
319
275
370
275
260
292
341
359
358
341
373
294
348
293
269
394
273
269
317
327
303
283
316
234
273
294
387
293
286
412
230
288
338
306
362
344
313
363
351
302
400
257
354
267
371
435
319
362
331
285
365
256
436
319
275
335
319
317
258
324
338
293
344
337
394
352
344
204
304
323
247
383
248
255
339
368
247
327
308
402
262
315
291
250
292
373
313
368
318
340
262
346
337
428
321
319
298
253
222
314
355
320
346
269
297
234
287
355
376
274
347
310
357
289
330
365
306
274
316
322
238
245
362
341
304
277
358
338
322
365
350
224
301
229
323
386
303
293
369
378
309
273
293
356
332
397
322
300
266
292
297
279
318
318
301
296
279
312
303
279
294
231
289
367
299
339
348
297
313
295
460
288
289
337
280
210
339
346
315
305
322
285
252
321
277
278
308
306
287
223
369
236
347
339
292
318
286
302
351
368
302
284
332
354
313
322
267
248
407
379
349
343
281
375
367
399
333
283
259
256
247
394
261
267
289
305
346
293
341
201
350
320
337
194
286
270
346
341
269
370
313
247
299
327
365
311
274
258
288
300
350
322
328
278
320
313
364
306
352
348
321
198
346
288
338
295
325
387
372
383
291
347
326
349
267
318
390
204
320
337
277
288
359
289
349
367
351
234
309
285
264
383
346
291
392
318
408
333
335
349
339
282
343
286
292
248
254
300
272
259
325
269
280
175
305
311
226
392
304
261
400
259
312
377
381
339
366
253
404
295
295
180
323
304
366
308
256
294
314
344
424
365
242
261
352
287
387
285
382
240
323
356
316
400
225
331
305
360
228
281
271
268
275
245
339
376
308
346
303
317
353
298
274
294
293
321
316
308
218
272
310
288
287
309
275
343
293
399
304
419
430
257
280
297
292
324
307
362
247
411
356
310
346
364
323
301
332
277
395
298
245
378
308
311
258
375
361
315
367
386
312
278
260
340
342
336
285
416
247
283
337
321
349
285
344
310
298
307
336
359
231
308
307
282
312
297
281
365
337
290
350
298
281
293
342
367
288
345
346
305
341
241
329
343
319
252
396
234
372
265
389
333
329
273
278
250
325
372
318
265
382
289
280
312
362
233
269
279
272
344
308
303
323
344
221
317
349
318
265
325
316
310
339
322
324
348
344
312
368
272
300
315
255
319
376
259
316
400
273
306
321
233
359
304
345
238
358
271
281
386
348
309
303
341
310
348
260
281
338
367
356
305
215
266
220
336
304
320
270
243
349
223
340
296
306
317
315
242
337
357
244
248
326
374
372
352
317
293
276
330
336
434
320
285
338
347
348
407
390
337
355
226
309
312
349
317
306
309
363
335
352
290
236
278
334
292
361
295
293
402
377
339
310
303
330
306
300
303
317
351
334
274
342
356
331
372
322
334
409
315
351
373
321
425
338
263
283
342
356
405
281
246
315
283
229
347
280
342
311
338
307
264
351
325
328
324
249
285
289
365
286
342
361
340
260
296
358
312
339
353
307
381
295
310
365
279
361
223
389
346
307
355
310
323
419
351
351
335
314
362
297
301
346
296
313
277
267
346
258
295
343
333
394
345
256
288
270
252
350
237
351
338
267
308
295
294
273
289
394
379
334
324
267
274
247
343
193
309
389
413
376
329
324
334
327
311
260
302
302
250
329
259
339
293
294
365
274
348
372
327
340
278
299
268
293
295
291
321
291
389
349
299
294
294
311
281
379
373
281
351
368
292
336
308
312
308
353
332
301
289
328
310
336
278
355
364
281
287
370
264
332
292
246
352
337
290
338
289
330
295
264
288
359
309
315
344
319
360
312
336
313
325
290
327
276
353
313
390
276
286
314
317
278
414
268
209
323
268
370
272
298
294
212
404
348
394
260
293
357
245
325
292
362
306
280
361
294
372
347
369
286
384
316
289
257
278
321
315
325
347
379
297
309
338
334
291
319
296
281
318
280
289
284
332
243
327
296
332
331
368
343
356
290
323
385
375
353
358
299
350
272
293
303
361
325
339
303
467
309
373
360
281
393
259
366
341
315
396
321
337
339
397
344
274
291
211
316
345
348
300
263
213
364
293
328
294
271
344
343
238
401
335
297
233
249
318
378
288
356
376
349
329
339
322
288
314
320
339
352
249
321
370
318
390
356
316
269
284
382
251
229
352
351
313
325
324
337
287
362
347
381
300
297
300
331
308
293
280
328
313
306
352
352
386
334
255
274
342
406
372
329
324
307
338
264
366
234
248
427
292
323
297
305
325
288
334
371
334
320
180
312
252
262
356
281
327
304
329
341
303
300
393
359
292
314
338
255
340
326
294
356
280
289
304
327
321
273
396
337
400
246
376
264
301
342
374
257
339
338
352
222
197
320
320
326
341
232
283
316
311
301
304
276
343
271
371
335
272
288
356
352
312
286
294
317
353
379
330
315
313
313
292
367
346
284
318
325
381
375
305
353
215
319
257
288
327
291
344
259
332
372
329
304
331
266
334
310
336
303
316
244
274
252
289
402
327
297
276
277
275
287
363
314
374
399
394
346
298
287
283
282
380
297
340
261
369
345
269
278
308
288
295
316
277
316
338
330
349
305
212
369
416
341
269
307
279
316
370
297
346
333
319
322
326
293
271
312
303
264
282
317
380
310
367
277
286
280
306
325
252
385
386
314
278
308
377
214
302
354
368
247
384
230
220
346
313
272
258
359
338
348
390
343
288
402
273
336
289
356
283
328
289
299
323
346
326
382
345
283
291
334
321
280
326
326
313
273
348
314
300
321
360
316
325
288
257
332
275
241
293
307
330
227
317
302
288
245
268
253
378
290
256
369
322
320
285
356
350
234
302
299
306
342
246
265
315
296
322
300
256
356
276
363
349
340
358
300
213
332
197
366
228
308
272
373
308
367
317
364
329
303
282
289
292
266
348
356
310
317
281
328
371
253
288
353
291
302
380
357
353
249
324
311
318
356
276
271
300
366
334
341
378
233
348
372
340
292
311
310
359
307
317
359
375
286
261
351
254
364
278
283
297
303
219
318
306
314
331
342
291
363
403
272
294
248
296
280
250
303
345
316
305
275
250
264
355
312
363
327
342
309
327
380
387
384
412
296
287
232
296
282
301
317
368
291
372
307
224
340
282
244
376
384
255
352
325
300
257
374
339
328
336
370
290
314
272
297
287
330
198
230
255
257
327
297
270
401
366
378
231
356
318
375
420
233
312
429
318
292
316
343
362
307
408
341
319
308
283
300
229
311
315
255
332
382
312
246
372
325
308
288
262
298
288
318
293
333
270
274
362
349
258
341
296
256
336
352
315
279
312
212
307
420
308
386
280
278
306
225
341
321
315
309
224
332
232
328
323
330
332
264
339
254
344
340
343
284
233
317
279
268
306
331
384
237
303
364
267
320
342
271
331
332
342
333
344
266
323
254
329
205
301
357
321
254
371
293
347
393
303
373
360
291
280
190
346
355
380
314
268
290
365
293
365
325
221
286
311
336
283
299
292
323
384
384
318
334
296
349
349
334
363
332
352
340
356
375
259
262
320
276
324
377
344
227
270
306
284
312
287
342
263
372
216
263
370
350
399
328
327
223
353
334
339
216
300
306
279
273
314
268
281
391
290
230
294
244
284
365
251
257
321
270
322
367
271
410
251
386
300
323
288
244
362
316
381
380
339
283
310
312
332
262
307
343
347
348
302
332
383
297
344
305
366
324
398
367
303
234
236
278
267
280
218
309
364
369
291
393
407
339
292
231
359
306
343
267
283
285
258
318
331
282
303
306
390
416
342
337
278
357
291
246
320
314
414
376
287
364
315
374
334
371
328
321
278
293
330
302
258
363
282
351
341
369
382
400
205
349
316
269
287
323
293
334
317
326
290
257
280
358
337
309
298
270
349
318
313
302
361
316
306
361
366
365
314
275
308
263
327
309
268
311
376
316
280
324
295
352
390
347
338
291
295
332
296
289
310
334
268
275
277
327
360
345
380
367
393
239
358
267
369
267
374
366
284
286
222
303
272
343
291
273
288
314
320
276
355
346
371
357
340
297
387
291
362
264
404
303
301
268
277
362
329
323
316
292
259
297
283
300
337
336
350
320
257
301
300
342
378
417
302
311
284
265
316
282
339
359
327
306
313
375
352
380
253
303
280
302
284
291
250
290
283
295
311
320
315
352
301
275
334
265
309
312
322
272
368
309
180
272
360
324
395
360
275
252
298
305
342
260
344
352
251
301
366
334
328
345
296
361
338
305
366
307
268
350
294
357
373
335
278
357
378
325
292
308
284
393
351
263
352
327
213
301
294
318
314
348
323
398
322
316
281
351
368
252
308
318
291
290
301
358
334
345
279
317
261
325
338
384
264
236
346
286
337
375
355
371
347
282
401
270
384
329
358
222
315
316
294
341
333
376
386
320
201
257
232
325
332
394
232
324
318
211
292
176
275
267
287
323
235
287
280
267
341
216
297
333
253
307
372
314
259
276
349
344
385
365
365
301
296
343
316
317
374
343
335
304
261
352
332
311
269
218
271
343
255
358
297
246
346
334
327
388
328
324
331
308
363
299
368
307
224
293
251
318
268
302
276
347
334
337
339
341
337
183
338
312
212
291
400
250
320
293
293
299
303
339
252
330
285
353
331
199
357
349
314
352
374
356
304
328
390
361
264
271
341
295
323
289
274
283
272
326
175
253
315
378
262
401
281
296
383
296
316
205
307
280
302
319
303
282
309
352
412
361
303
291
290
379
322
219
333
320
313
307
249
330
342
302
331
254
228
231
260
337
338
338
367
291
307
280
299
299
256
329
318
335
427
279
361
343
371
295
396
287
205
233
300
267
261
264
294
281
371
404
311
318
328
372
414
261
327
273
344
232
351
344
300
332
316
311
274
266
320
247
326
398
311
401
378
366
284
258
389
315
356
306
333
308
280
246
322
377
242
402
363
303
269
310
323
322
351
364
320
367
315
339
359
326
280
212
299
255
321
257
295
296
379
313
347
324
274
188
290
287
366
258
232
347
291
350
300
301
300
354
273
349
324
208
360
336
328
355
310
299
315
297
325
316
334
367
375
296
316
386
275
347
367
324
380
325
230
333
354
236
353
298
278
294
361
320
287
344
341
291
388
303
316
316
322
251
273
329
280
281
328
369
324
259
363
297
374
339
311
329
247
308
284
288
283
310
315
305
273
264
276
361
278
421
350
270
304
270
274
320
293
316
284
325
344
361
287
242
247
351
401
260
291
360
302
309
375
260
303
267
302
315
351
302
285
380
366
327
270
409
290
386
271
256
214
387
223
281
356
328
321
339
370
365
224
304
281
309
287
303
313
275
275
343
332
343
302
332
219
339
310
230
350
354
285
375
275
247
393
249
292
353
331
211
281
289
320
297
364
305
318
412
303
279
305
313
303
304
277
284
263
321
287
426
287
339
265
297
262
312
205
405
340
415
313
271
351
288
323
372
275
308
313
316
313
365
377
238
235
267
335
324
261
339
312
307
342
367
297
309
265
309
336
327
378
286
254
328
309
288
207
340
297
206
380
291
344
386
322
339
323
320
275
345
319
389
355
281
303
390
280
348
207
266
308
249
371
349
298
303
292
289
303
293
315
344
287
336
334
317
360
295
321
295
397
270
370
261
353
294
305
276
248
345
316
339
343
340
317
326
315
306
328
328
303
251
330
171
298
312
281
249
256
387
357
325
317
273
314
267
333
257
320
240
357
381
253
328
358
314
280
352
312
323
296
311
394
281
320
292
332
278
290
300
325
259
328
281
361
321
257
322
307
281
332
303
300
288
292
361
336
281
225
341
294
272
329
328
345
310
281
332
234
349
353
305
331
273
287
272
354
329
245
265
296
292
329
296
310
419
295
249
369
390
314
292
253
298
225
191
350
342
330
361
281
353
269
318
341
215
396
352
292
259
347
312
374
263
284
347
254
315
252
336
302
411
293
278
241
333
344
260
294
298
192
238
406
365
301
283
258
391
298
326
293
374
303
279
291
276
320
344
264
298
364
303
332
311
252
391
337
291
237
320
305
303
230
274
248
244
328
258
318
313
397
257
355
243
353
293
311
276
231
328
323
369
336
272
299
304
357
314
338
287
353
356
342
236
314
347
320
323
340
184
349
291
282
330
235
278
329
293
295
306
290
277
301
337
258
365
284
319
295
268
291
282
335
342
267
269
330
306
333
319
353
340
290
314
378
221
346
279
301
305
275
343
345
295
257
324
367
382
355
290
246
262
321
310
299
308
351
291
202
317
315
270
396
287
341
237
286
313
335
273
343
369
319
308
292
197
238
420
274
261
327
360
282
285
283
235
278
289
328
298
308
415
303
287
264
240
312
357
299
207
408
393
330
407
302
342
379
327
351
345
186
255
355
342
349
371
254
337
307
295
283
270
311
326
317
370
262
241
247
260
379
412
275
325
373
256
344
310
343
351
339
265
299
329
341
278
357
277
317
363
324
266
333
302
298
308
342
415
305
263
371
351
385
292
306
262
316
340
292
315
309
294
372
315
245
264
354
280
353
286
379
317
279
329
269
295
316
275
305
341
264
303
364
400
293
260
358
257
232
227
346
322
311
388
273
245
329
336
300
277
341
348
300
319
255
320
405
273
312
246
260
341
361
294
287
328
299
328
349
278
283
323
303
312
302
369
285
405
294
349
287
333
324
245
289
305
335
379
330
403
304
367
393
378
276
244
278
239
357
310
342
286
309
300
287
301
342
360
190
324
384
304
375
347
297
346
249
261
362
372
310
315
248
363
311
311
317
278
326
250
313
315
413
351
280
225
295
327
311
353
230
355
306
302
241
286
353
294
295
367
210
295
347
280
280
308
324
331
364
380
372
288
298
306
326
258
313
329
266
372
279
348
279
300
341
374
349
348
298
361
357
280
345
309
303
325
353
292
346
304
283
342
328
397
288
274
317
258
244
303
330
277
245
345
250
319
329
271
341
311
289
345
378
341
347
315
293
304
342
368
297
297
396
339
246
295
225
364
336
297
373
328
380
365
371
344
339
273
318
303
329
379
311
346
297
310
343
336
320
305
304
268
345
363
298
317
342
338
383
366
265
308
356
345
254
227
284
320
331
259
287
376
249
302
276
381
364
255
363
365
272
338
404
283
311
314
291
356
355
325
306
263
300
323
396
335
238
407
335
295
289
400
253
320
370
326
272
408
247
315
364
272
398
413
356
325
343
318
228
319
224
295
327
269
342
345
394
263
331
302
384
246
392
282
366
289
317
307
353
329
288
389
236
308
363
231
273
316
301
272
224
384
349
287
301
337
304
314
351
224
328
306
367
355
412
336
320
246
279
274
378
378
339
210
320
399
303
325
299
345
332
373
300
341
318
311
350
295
225
279
390
308
385
262
314
328
287
359
316
295
321
342
279
325
309
315
386
349
320
405
384
254
264
294
346
304
279
236
279
311
303
383
366
343
332
276
273
285
299
345
266
373
283
338
353
318
285
339
311
304
260
380
320
330
329
327
357
356
271
346
312
344
303
300
339
277
364
239
326
238
326
270
212
285
335
401
255
358
294
242
370
333
266
252
391
336
282
343
333
232
240
296
355
287
338
332
338
318
288
357
298
344
391
294
349
307
307
364
302
302
360
266
254
345
336
266
295
369
322
363
396
312
380
325
311
323
319
352
407
368
294
307
230
335
298
363
305
321
329
281
353
328
351
340
297
307
330
270
282
275
259
296
351
315
256
303
323
307
333
393
288
337
337
240
380
249
307
354
301
300
278
280
287
268
244
319
325
360
323
335
325
273
291
336
308
413
317
371
315
362
222
283
311
341
318
269
262
308
338
291
268
316
302
365
215
345
311
208
233
244
352
219
252
338
325
377
355
272
263
295
361
359
330
286
220
334
312
365
267
369
243
254
307
340
337
243
373
313
295
353
292
370
296
303
263
327
232
219
330
262
282
372
287
378
257
367
285
292
296
376
307
348
381
350
320
281
289
307
339
293
267
395
292
280
294
319
315
328
362
357
267
293
438
238
256
373
253
254
327
315
382
256
161
402
419
236
374
383
364
345
322
272
306
265
398
370
321
267
272
326
409
294
322
286
230
348
353
251
312
258
352
270
337
354
241
314
265
258
340
308
404
360
306
271
382
379
352
252
340
234
220
272
236
326
396
343
262
306
333
318
322
321
267
377
327
262
297
349
310
310
298
269
314
250
385
319
368
296
270
291
356
299
298
270
310
368
378
324
291
357
311
283
351
315
215
368
278
260
373
272
300
348
346
223
373
378
327
287
348
332
398
300
311
259
328
352
322
317
274
373
336
375
219
267
246
300
267
300
295
385
254
392
371
338
357
318
201
380
325
387
335
347
307
305
271
368
230
407
302
345
308
315
367
340
342
332
324
217
285
299
281
299
307
365
242
374
358
342
311
281
302
341
273
354
288
255
316
327
291
313
340
295
303
339
351
347
179
264
282
331
377
305
251
291
271
393
292
282
328
429
320
305
280
352
294
241
289
335
308
307
347
425
269
311
355
368
342
258
273
335
375
299
361
264
317
359
264
295
290
354
380
303
262
325
317
320
297
322
323
237
313
349
379
318
369
316
336
297
307
303
400
327
317
400
268
242
310
331
328
349
261
341
347
324
341
255
308
331
296
312
302
339
387
309
293
257
243
255
291
323
310
318
360
312
243
286
324
332
343
312
395
357
299
288
324
300
305
276
356
268
272
285
295
352
276
308
228
329
345
377
312
339
342
270
202
271
313
300
292
336
342
267
327
369
237
327
375
304
361
335
329
406
277
285
361
344
290
343
298
287
398
369
285
387
292
264
291
287
314
341
265
241
238
378
300
356
324
225
207
368
336
351
304
334
325
165
308
386
366
313
317
346
315
322
251
371
348
324
292
317
307
264
353
330
335
384
357
264
278
316
283
316
438
315
282
361
366
305
368
271
280
321
342
344
334
288
375
310
350
314
308
323
304
339
312
303
343
407
360
299
233
317
354
431
278
335
349
361
296
345
318
269
283
381
325
334
390
273
371
321
350
304
329
322
282
312
244
344
286
268
253
313
289
226
261
237
370
304
298
343
338
343
419
323
312
386
250
275
297
275
237
252
288
429
349
295
341
354
341
375
293
268
329
339
333
325
265
335
321
261
318
369
315
304
302
313
350
316
343
326
350
366
346
336
229
342
379
279
273
366
342
306
368
275
289
320
307
298
269
247
341
257
327
348
249
333
295
319
276
374
380
276
399
248
270
338
245
306
268
422
330
307
425
278
324
342
384
348
217
296
246
330
270
326
284
357
298
292
354
259
282
326
305
360
285
341
216
331
275
283
351
373
356
375
275
385
358
349
258
296
295
272
277
323
395
298
273
424
341
323
245
310
432
406
333
301
366
386
284
365
307
241
325
304
329
282
257
293
385
198
460
247
404
398
298
296
273
337
423
274
308
279
324
389
344
331
291
312
218
379
337
329
333
231
267
257
353
288
285
290
295
305
300
245
239
311
365
303
347
322
357
293
329
320
372
318
329
380
396
314
204
316
293
304
286
388
365
254
250
352
200
292
333
292
322
317
328
400
309
322
337
307
232
412
307
303
378
292
335
369
361
266
355
320
321
405
244
364
310
347
314
342
270
338
327
334
312
226
308
395
263
358
330
352
246
388
337
360
301
270
335
329
324
271
257
342
352
310
266
369
309
359
329
319
347
317
324
314
285
366
288
332
350
314
315
264
254
410
327
394
314
265
404
332
264
375
325
336
417
422
302
266
325
261
344
295
332
349
273
377
370
323
316
343
291
324
284
271
405
355
395
304
356
327
353
334
305
347
333
267
296
344
311
366
290
293
296
315
319
265
274
295
347
352
282
275
282
341
245
293
363
306
376
397
385
326
342
390
336
359
312
300
196
311
336
340
340
260
296
326
322
278
300
308
324
269
300
327
312
335
344
338
387
354
284
275
301
358
275
246
335
379
303
349
307
291
357
442
336
309
316
304
386
389
312
346
353
341
287
350
281
347
412
369
409
274
326
364
295
322
295
262
335
365
382
315
318
259
363
345
271
303
271
271
354
417
394
385
324
317
339
307
348
299
325
269
309
362
293
312
350
289
335
369
268
342
249
253
315
316
279
348
299
270
311
318
282
387
313
354
249
330
313
372
355
335
367
368
353
320
270
243
146
382
254
274
290
272
331
407
394
337
334
353
332
274
358
333
277
294
281
295
311
284
416
331
350
329
344
303
374
266
303
353
346
267
308
283
338
411
298
307
322
357
273
332
299
304
339
319
208
334
342
381
323
273
367
318
344
263
292
314
230
259
338
346
296
308
217
305
381
317
261
282
282
292
361
353
402
318
378
304
264
338
354
259
211
402
350
354
188
321
309
250
264
313
264
295
295
365
281
313
380
287
362
360
288
388
313
319
283
382
290
304
306
292
326
313
387
282
370
360
378
354
311
324
270
295
278
314
357
355
233
276
367
352
347
310
253
321
262
319
332
266
342
343
317
366
263
315
276
226
147
337
280
317
328
329
333
340
332
320
294
279
313
334
327
319
300
362
385
354
379
293
313
282
348
285
202
271
382
422
333
302
421
261
270
374
284
310
234
329
285
298
237
399
282
313
294
323
314
350
365
364
355
309
244
274
311
329
255
339
326
347
341
362
345
378
335
299
302
448
292
391
309
243
281
272
307
313
291
341
287
281
366
397
360
330
312
369
311
311
332
328
375
312
300
352
315
295
277
301
332
344
302
344
308
355
365
368
289
341
385
365
242
320
343
358
337
317
332
349
279
390
329
346
291
350
347
346
354
283
401
332
409
287
383
206
338
292
397
350
274
357
301
286
348
346
270
214
299
281
214
319
298
275
297
366
255
301
349
294
270
344
242
393
209
357
323
272
306
365
333
365
349
326
358
324
312
253
190
313
285
275
288
343
344
341
353
313
331
297
348
375
271
302
310
373
263
308
342
212
291
371
308
277
351
250
345
416
328
365
378
339
357
328
342
336
390
267
399
363
326
279
323
339
342
316
369
352
349
297
339
362
233
346
287
273
371
380
335
283
240
283
343
256
344
224
345
364
366
357
350
369
317
284
295
374
288
337
357
337
301
222
288
328
345
260
298
319
340
318
321
334
286
266
257
218
324
301
320
236
270
366
360
270
372
315
349
253
329
330
271
270
341
281
307
367
226
288
302
331
332
320
345
285
296
329
274
270
339
312
342
376
307
367
370
298
318
264
333
314
300
249
333
350
255
375
301
333
344
218
330
389
253
269
283
302
353
335
307
260
336
302
300
362
342
271
318
278
292
257
303
371
312
289
330
329
358
279
302
303
294
336
327
287
199
291
351
297
344
299
280
332
342
263
304
310
251
314
319
334
354
226
239
345
244
359
330
284
285
387
307
326
307
246
377
273
251
305
289
273
311
296
331
350
345
287
348
289
252
258
317
340
289
330
303
334
350
338
374
320
333
306
342
331
303
273
361
322
268
268
245
337
340
235
378
279
304
308
286
403
366
382
386
339
291
256
309
330
406
240
249
361
367
354
330
262
293
374
365
266
351
253
331
355
284
312
331
298
305
335
304
308
270
304
308
348
298
345
317
280
320
389
328
328
318
262
308
295
389
375
374
249
275
326
360
311
420
339
348
336
296
269
246
308
234
362
242
233
306
368
282
324
382
325
342
320
319
374
259
251
390
321
326
331
310
401
255
248
356
318
361
411
325
293
325
303
377
297
332
280
352
249
240
267
293
264
305
393
304
391
289
346
401
305
260
332
329
344
313
372
253
294
353
316
276
238
364
359
343
331
360
357
290
304
305
239
331
306
296
270
274
291
279
377
281
297
298
258
320
301
283
374
319
295
282
278
264
301
348
304
284
332
353
315
367
245
336
297
356
211
365
350
299
328
312
290
303
349
382
324
228
296
382
353
338
330
334
337
397
238
317
372
259
333
357
325
256
324
320
387
353
293
235
329
361
342
337
282
267
355
235
301
294
309
255
345
319
266
400
292
274
272
318
278
325
256
225
221
323
245
287
342
375
387
325
323
350
298
334
310
378
403
377
230
341
301
305
193
326
263
324
270
252
333
298
292
385
366
249
256
312
361
290
356
255
327
316
371
365
249
324
355
255
380
334
244
381
327
298
272
396
425
352
304
271
413
307
310
277
317
400
370
330
339
337
236
287
354
238
281
330
348
354
372
362
302
338
216
286
275
279
358
303
277
292
327
321
307
246
252
338
284
396
324
376
326
289
287
312
292
269
309
272
335
366
284
401
254
299
299
280
308
280
328
302
249
283
361
295
313
297
316
368
249
232
316
288
295
351
308
269
379
306
269
305
413
233
290
261
371
267
307
298
332
308
355
322
324
329
354
329
293
272
319
291
344
215
348
291
335
300
384
325
333
310
345
345
317
375
261
345
236
314
342
277
256
324
313
316
258
302
391
288
383
307
324
317
405
347
412
253
292
268
344
258
315
279
329
375
391
290
336
305
304
324
353
244
341
295
356
360
363
287
342
333
287
289
328
327
291
288
298
257
299
340
245
383
353
275
276
316
286
346
268
339
166
295
310
299
273
378
380
371
381
272
347
389
307
260
277
351
371
381
330
338
275
312
343
327
316
202
269
332
330
354
346
388
283
276
369
350
342
271
242
303
292
343
394
264
268
376
259
315
370
300
327
271
306
314
378
352
320
336
334
305
326
376
300
393
289
323
274
407
300
250
341
354
268
296
290
243
240
312
379
309
331
297
289
376
339
272
313
268
306
317
432
335
223
267
350
256
296
229
206
360
234
249
256
369
312
280
376
315
399
292
393
293
330
359
288
342
313
361
309
317
267
344
330
313
305
283
335
355
328
365
280
257
339
247
373
340
293
263
266
313
387
291
369
241
401
358
358
351
304
242
193
311
291
288
388
346
346
407
304
317
346
397
195
295
228
303
307
295
217
320
331
359
275
289
252
358
315
378
321
332
364
268
344
290
340
344
226
333
329
310
317
265
307
269
232
334
343
298
258
318
315
321
325
265
414
314
282
274
333
345
233
309
252
296
241
293
371
326
337
362
214
343
290
245
328
276
375
371
234
318
347
348
335
403
305
271
302
315
303
360
397
337
320
380
398
315
416
328
260
370
364
357
270
282
321
273
337
288
294
310
258
358
380
270
284
203
254
328
317
281
298
306
336
350
315
370
344
346
247
303
342
305
292
323
331
376
333
327
329
337
234
287
337
304
329
223
331
288
208
421
292
370
392
361
277
361
304
342
358
374
341
353
280
376
289
281
248
352
319
354
214
341
334
272
357
276
314
343
358
287
321
292
283
400
287
282
408
303
332
276
318
289
383
328
236
300
262
316
250
334
406
269
344
396
283
359
311
270
427
245
359
241
269
333
262
246
279
375
373
283
287
288
300
364
315
319
361
321
274
345
306
309
324
302
285
293
294
318
328
345
272
376
335
264
331
337
319
303
279
315
256
300
328
329
275
231
304
318
309
280
314
308
324
296
335
333
303
321
335
266
341
210
307
297
177
311
322
204
232
201
380
317
257
316
308
360
386
297
285
309
266
306
319
309
348
314
336
387
382
311
392
342
243
313
320
337
318
301
264
287
304
349
314
389
301
372
313
357
271
337
305
220
296
336
295
313
233
310
388
243
426
249
322
272
360
374
310
306
314
324
327
313
325
271
339
314
353
330
310
354
410
354
340
276
309
369
281
319
318
301
260
328
227
353
318
279
362
356
248
298
227
318
252
347
284
307
365
284
289
268
317
259
318
318
376
372
390
264
361
372
339
326
381
258
332
288
305
319
326
295
310
334
315
342
254
318
282
328
365
404
348
372
237
339
266
356
240
232
318
301
344
357
353
273
269
314
369
352
259
308
313
301
286
333
383
361
289
257
327
315
270
287
335
328
292
256
380
370
297
313
315
360
220
267
229
301
327
316
314
309
372
254
337
315
344
311
290
391
402
371
393
342
217
332
340
319
291
341
334
304
383
390
321
351
308
405
298
348
247
367
267
308
358
236
301
356
279
344
357
259
295
248
306
300
267
245
311
269
305
329
322
308
292
321
347
309
360
302
309
340
323
266
262
370
329
290
269
316
267
367
270
289
357
349
301
355
278
302
300
240
289
365
387
332
354
259
367
319
269
209
261
360
343
279
212
254
303
252
384
270
267
271
326
284
268
285
200
228
365
288
325
306
308
319
346
246
307
366
340
295
269
317
289
248
288
295
367
354
348
367
316
328
356
385
302
326
260
311
324
358
400
228
314
358
371
285
405
330
268
349
354
371
406
313
340
249
339
271
278
353
330
291
321
407
299
343
324
299
298
298
303
331
290
338
294
329
305
321
279
311
310
242
277
319
247
316
355
391
329
283
330
282
296
311
329
360
236
315
347
297
294
311
274
280
309
302
270
308
252
225
313
278
304
375
342
286
294
301
265
419
316
265
341
321
360
332
255
259
280
278
207
366
361
294
322
350
358
383
356
317
262
380
337
319
227
256
281
278
338
256
310
302
344
360
313
240
315
328
237
272
430
361
270
281
287
232
388
305
386
280
344
218
294
247
313
356
326
230
237
305
314
352
390
272
267
331
362
337
396
317
355
285
332
239
266
355
335
294
308
349
298
339
280
351
251
293
339
347
302
335
313
334
263
364
310
264
330
306
278
297
293
359
292
392
254
331
286
344
333
308
271
225
415
376
324
309
293
407
312
314
279
361
354
245
326
330
307
247
338
330
330
337
279
332
360
303
403
378
200
266
312
379
300
330
374
284
280
331
308
331
216
301
362
371
371
371
352
347
324
355
307
278
325
240
269
261
309
274
333
341
284
274
434
340
317
283
333
300
330
336
299
329
252
339
312
271
315
283
329
239
383
309
345
324
300
316
290
394
282
325
342
265
298
261
189
272
241
293
227
251
315
353
386
330
275
279
331
261
357
249
246
259
364
270
218
394
295
289
255
301
280
352
310
296
322
332
319
330
305
337
280
375
358
294
335
308
335
333
357
270
331
323
270
357
379
255
279
376
430
374
375
299
293
297
296
334
382
316
345
413
357
315
300
325
319
357
347
359
275
251
234
358
334
309
273
291
413
339
377
372
309
262
397
423
307
275
297
306
383
366
370
300
237
387
299
318
311
338
269
303
297
326
273
352
332
328
370
347
381
378
321
314
258
215
281
285
346
359
334
215
322
375
256
214
402
284
382
260
247
374
322
274
347
328
327
302
321
271
205
292
330
316
347
291
300
300
357
301
308
311
303
332
364
300
266
332
343
417
250
355
364
259
302
315
344
305
329
338
244
318
283
365
329
282
244
340
346
201
267
352
252
252
341
309
308
254
375
253
356
353
359
344
218
273
315
376
254
270
330
280
285
285
314
301
271
391
400
317
273
351
310
343
327
318
349
272
320
285
345
352
358
310
285
291
287
359
277
354
274
289
303
329
339
368
318
316
309
379
313
226
244
280
294
292
306
216
326
314
322
293
259
333
410
265
324
389
356
341
333
344
294
297
296
282
338
281
380
270
279
269
404
388
272
327
330
338
341
318
277
251
337
251
274
306
291
372
334
255
304
300
376
346
293
278
259
262
309
306
330
379
322
323
371
294
304
350
294
278
308
319
307
358
282
316
355
322
385
371
277
332
288
290
331
379
285
308
292
307
361
282
321
281
302
334
275
357
246
296
283
266
232
288
237
333
282
308
391
272
420
328
393
378
377
309
304
333
299
376
343
299
342
278
242
356
251
286
265
277
327
384
411
277
322
304
342
252
289
287
293
278
317
286
219
333
274
297
315
309
352
304
366
270
389
265
290
312
346
327
236
313
344
253
335
403
238
341
419
349
255
222
348
341
293
246
221
372
306
285
350
318
330
332
355
268
261
324
329
346
277
372
361
285
392
325
373
203
345
329
322
310
262
419
326
297
321
284
375
255
300
359
315
298
318
300
264
223
359
276
345
315
278
343
320
252
205
318
323
358
379
218
303
301
255
337
373
336
238
262
224
287
336
362
363
335
403
274
328
314
368
318
362
359
275
299
211
327
248
386
272
330
384
352
370
275
264
366
248
331
316
301
250
292
234
286
301
408
391
224
411
380
308
347
308
327
305
326
288
254
387
369
351
342
319
345
273
331
364
291
314
260
297
301
338
277
362
398
280
291
349
369
237
318
330
261
342
319
291
320
304
327
373
365
323
286
340
277
262
354
279
247
336
375
307
350
192
301
253
313
325
335
227
309
228
349
257
358
357
347
324
323
326
361
252
358
322
301
172
321
271
304
325
302
328
374
253
277
317
246
328
328
373
298
367
261
319
378
206
272
280
265
301
377
362
229
376
323
300
351
271
318
323
372
295
304
287
338
311
257
278
250
302
287
337
238
236
303
346
230
347
305
354
316
402
323
360
309
249
379
285
329
234
298
335
328
272
372
317
341
344
286
378
386
227
306
353
367
252
293
331
375
248
327
276
367
339
360
335
239
388
327
348
291
303
310
325
333
351
282
356
284
387
299
247
266
351
318
328
318
333
274
311
252
307
298
273
346
321
344
385
316
353
332
319
279
268
221
372
372
291
311
340
269
308
395
315
333
315
350
292
393
262
250
289
296
324
284
300
288
322
238
286
308
265
284
400
342
233
273
256
343
326
354
282
291
382
313
401
219
381
321
298
250
338
333
258
332
240
362
333
338
312
227
269
318
365
267
387
314
409
268
373
341
248
342
326
326
316
341
329
331
293
347
331
331
330
269
369
378
302
348
275
319
323
373
344
317
272
230
380
247
321
327
313
270
294
297
351
369
309
393
344
343
263
359
351
375
319
318
269
272
322
270
263
294
378
357
317
333
229
316
308
347
364
301
315
344
338
334
220
276
245
294
384
315
330
320
190
291
287
321
318
352
315
331
303
261
382
323
343
271
328
351
388
274
317
305
288
193
342
197
301
190
378
319
380
320
287
322
334
270
300
346
291
310
254
284
304
337
357
303
262
302
246
347
263
307
318
355
312
338
344
276
320
347
335
326
289
253
336
343
320
262
373
226
342
329
227
325
286
340
329
320
277
314
331
270
405
308
326
289
328
329
312
267
296
214
304
278
346
369
342
386
304
260
379
298
333
323
191
307
379
330
298
305
319
318
392
421
291
300
377
402
322
390
255
329
331
287
322
275
285
261
385
290
325
370
254
300
316
271
326
260
254
356
240
242
372
268
346
228
326
333
317
312
295
369
320
370
290
300
341
338
338
279
328
272
292
360
363
338
265
298
273
304
259
300
340
334
343
311
297
339
246
350
288
372
301
319
307
263
309
314
242
413
284
334
249
388
357
280
343
281
260
303
269
241
246
349
256
329
283
325
239
338
310
327
309
362
291
426
244
358
320
324
206
287
309
335
306
247
299
318
311
320
235
234
299
350
245
333
344
317
300
308
208
256
366
228
316
305
300
313
355
339
372
293
375
332
313
316
334
292
244
181
348
337
295
381
331
295
329
241
269
361
346
281
264
312
310
301
332
268
372
314
261
245
284
307
281
284
361
370
329
326
395
279
366
309
353
336
294
302
304
400
352
413
276
348
287
203
318
334
407
321
304
327
370
308
186
293
386
335
342
349
332
330
366
318
324
346
278
278
368
349
276
361
247
350
268
281
317
313
254
236
319
351
345
227
355
321
238
293
322
381
413
331
324
411
334
324
326
389
273
336
254
382
316
266
318
332
313
395
328
354
275
321
234
258
313
288
316
274
263
310
291
352
388
372
344
316
179
304
355
398
246
328
377
223
322
354
258
310
247
322
289
296
407
309
343
225
326
422
283
370
253
353
383
293
309
254
302
369
381
321
265
247
337
243
254
188
255
294
333
360
264
319
325
303
325
306
346
260
317
317
320
302
343
313
375
361
412
294
315
335
297
359
298
296
375
362
373
330
291
363
280
338
309
282
279
314
273
311
378
251
351
297
300
222
325
309
343
304
351
324
259
376
285
368
320
267
345
377
344
289
297
315
276
273
360
315
352
314
378
288
322
336
360
290
375
261
407
334
366
301
271
255
356
280
328
256
296
364
331
300
304
370
363
276
269
329
331
349
319
263
349
315
301
305
279
306
325
354
290
307
298
289
295
334
310
302
321
345
358
355
349
392
358
426
271
328
357
441
239
264
331
297
320
318
425
312
280
336
365
378
316
353
320
251
230
257
343
289
391
229
314
291
303
305
264
243
291
364
362
399
279
321
332
346
340
330
330
326
374
281
276
308
426
230
294
302
351
257
375
331
325
343
219
309
367
305
320
374
294
377
336
348
370
341
328
321
389
365
327
322
241
328
321
290
279
281
325
319
262
295
308
290
245
368
334
267
431
340
378
362
332
299
375
384
286
287
339
332
354
361
313
355
388
316
313
325
335
346
239
324
252
279
358
306
387
366
221
288
253
382
291
340
285
315
397
325
356
375
332
357
326
325
360
324
345
243
287
248
302
362
338
352
262
335
316
339
272
332
224
295
317
421
332
271
342
189
333
341
300
382
270
260
221
321
351
334
342
321
297
336
353
305
329
288
314
334
311
350
328
391
422
305
375
262
319
325
243
351
317
328
258
216
272
313
363
279
271
294
341
334
284
278
307
376
294
241
314
391
343
269
287
323
308
271
261
208
326
299
304
244
310
319
400
250
317
353
322
338
354
353
353
348
383
336
277
411
280
312
343
313
298
225
309
303
304
307
314
292
266
331
362
290
295
363
352
332
344
352
381
269
329
326
243
290
276
183
229
321
328
328
316
342
352
325
290
296
280
315
269
315
279
316
371
286
344
386
281
343
328
344
285
275
348
288
344
386
276
309
363
346
344
301
288
387
387
328
391
281
290
395
289
287
304
276
389
273
405
313
292
287
322
311
315
298
401
350
291
260
304
341
343
294
265
312
319
310
356
325
297
321
412
343
275
343
318
326
357
284
237
302
294
229
315
345
410
341
346
287
313
325
355
395
284
336
377
267
277
323
302
352
273
376
320
268
234
225
255
318
294
375
354
312
351
308
246
276
379
236
339
294
252
311
366
366
345
273
312
365
213
226
406
316
319
248
302
295
309
363
343
346
242
351
379
361
324
356
356
335
355
378
243
308
321
243
255
271
274
312
285
302
361
268
315
365
262
322
305
355
289
332
228
357
197
285
284
284
313
200
263
283
306
307
288
292
244
367
322
276
372
244
299
267
429
289
241
317
279
271
316
290
260
353
404
344
316
310
366
306
351
319
327
258
303
335
255
408
260
336
361
323
383
319
271
366
282
295
295
238
349
300
342
282
362
282
291
339
410
267
326
275
309
425
217
314
340
366
306
270
310
244
328
333
335
265
333
245
357
291
320
401
385
385
303
295
324
339
299
250
415
321
356
371
350
383
266
286
352
325
330
293
240
417
342
325
313
326
298
330
373
340
349
286
255
248
364
258
328
318
312
333
323
324
205
349
374
356
234
263
361
257
285
307
359
288
310
359
398
324
224
287
267
323
331
252
346
270
323
332
382
317
236
329
346
277
254
315
338
391
289
297
364
298
300
287
396
271
385
345
267
287
292
239
354
383
311
299
295
344
351
365
369
313
318
349
298
353
343
289
303
377
239
316
314
239
283
360
393
326
399
348
324
311
271
364
332
302
275
265
365
329
388
359
306
403
309
365
286
325
236
159
250
418
341
233
312
393
333
312
275
362
323
329
293
341
311
247
300
334
283
347
317
357
300
201
265
338
405
268
400
300
292
296
341
341
317
325
311
295
264
320
274
294
290
333
327
311
361
354
338
409
289
346
348
307
260
318
350
416
363
217
388
336
297
299
263
325
275
338
313
257
351
352
257
330
255
336
368
276
260
294
321
300
342
308
384
377
320
253
317
297
313
361
323
339
281
274
335
272
328
345
278
380
371
326
417
309
293
332
274
303
323
263
276
391
294
289
340
384
260
323
288
355
328
262
312
324
321
311
327
354
294
406
238
372
377
329
323
253
303
380
339
365
299
268
318
313
388
326
314
261
300
278
351
301
380
233
333
284
325
292
291
329
315
328
183
386
294
273
238
215
306
356
266
288
304
258
347
369
237
381
274
194
231
291
277
211
216
336
331
280
350
260
315
346
372
386
281
278
346
356
320
313
349
305
368
241
329
361
298
316
381
341
279
265
245
215
338
276
269
315
322
321
289
315
406
330
341
181
294
248
349
327
248
317
312
325
245
314
327
381
333
313
260
339
335
273
313
343
320
352
233
306
299
366
279
332
295
368
328
391
281
268
379
273
348
361
333
316
262
303
352
323
396
330
263
290
355
347
336
333
370
298
373
371
320
320
267
367
297
331
352
340
335
325
298
359
375
320
294
307
363
330
317
311
349
276
286
281
385
378
396
273
343
357
272
219
304
289
280
351
293
373
322
294
260
339
294
358
356
336
388
365
386
336
289
297
351
318
311
324
325
322
270
318
274
218
293
285
273
227
336
179
283
337
293
282
264
366
312
272
258
280
266
383
270
287
296
285
399
360
284
376
328
354
319
354
283
311
258
320
325
203
279
396
316
356
376
310
283
290
343
307
311
324
299
215
308
247
337
220
394
300
286
326
396
405
353
336
319
327
356
297
248
341
301
310
392
358
418
280
292
291
296
308
307
246
224
344
358
367
305
338
282
355
365
324
331
285
314
305
309
310
397
324
369
353
268
280
316
302
327
278
379
322
319
336
285
229
289
337
333
258
344
262
293
363
381
440
362
394
353
297
342
302
272
355
309
314
308
399
324
207
394
192
261
391
302
360
395
313
353
306
288
291
204
321
331
307
313
327
445
393
347
381
298
378
304
317
302
355
264
320
338
358
374
270
273
327
331
390
370
364
325
318
280
271
267
323
292
272
235
297
276
281
306
338
306
313
279
343
280
292
336
376
370
311
345
302
315
300
306
289
352
343
324
361
235
334
313
339
348
313
289
220
411
272
319
197
317
301
328
338
369
414
264
341
288
271
353
282
352
349
233
286
322
352
313
331
375
271
328
270
408
349
280
345
330
311
369
304
255
346
326
318
278
307
344
361
365
282
289
286
271
317
351
357
276
340
307
262
297
293
346
357
333
342
324
344
359
286
290
346
264
215
384
296
165
299
310
384
285
310
359
375
236
321
363
249
344
252
331
282
275
383
333
296
277
389
321
306
337
295
382
293
348
282
348
316
336
329
331
322
338
303
261
319
380
244
267
157
238
337
300
344
301
305
248
357
298
384
317
309
327
302
280
354
320
365
356
327
281
352
376
339
308
230
236
395
343
317
343
346
356
349
339
279
354
303
272
231
340
357
302
357
353
335
290
248
323
334
283
374
416
271
251
328
309
325
417
252
246
393
253
304
295
296
324
327
336
349
355
334
285
318
324
296
381
305
311
414
328
286
373
318
387
316
329
379
315
368
384
283
290
318
372
347
275
377
349
284
357
262
361
194
279
228
297
241
369
288
282
299
318
267
358
287
294
263
322
357
330
373
283
237
276
368
331
241
324
364
389
374
287
308
341
252
350
372
367
354
318
363
301
268
340
171
304
291
315
373
327
338
380
310
251
383
315
239
306
347
335
379
361
350
257
320
297
270
363
333
276
386
334
308
299
339
348
336
346
312
332
330
289
312
264
341
396
301
350
272
378
332
346
254
301
342
290
299
361
373
290
301
395
359
401
288
311
308
256
333
250
279
299
287
308
290
347
362
295
339
323
270
316
323
340
291
365
318
392
266
253
274
306
243
352
275
276
347
307
351
312
258
321
418
287
307
290
231
307
317
255
335
325
317
313
264
318
362
279
273
299
334
271
291
334
317
303
269
374
324
371
247
331
386
293
330
279
320
244
365
314
331
375
272
346
283
321
331
266
305
274
340
317
280
307
259
344
350
397
355
338
240
324
345
379
286
333
263
354
343
299
324
270
321
250
307
361
304
263
353
200
241
299
278
284
288
235
261
342
267
309
315
266
216
328
309
340
366
313
375
342
263
384
268
318
383
315
262
231
425
328
235
328
326
238
291
239
313
333
352
347
253
254
242
357
265
255
286
359
313
329
280
392
354
358
376
360
315
273
367
324
273
317
297
204
379
267
249
347
384
370
384
287
326
382
381
239
355
283
283
264
316
343
280
382
342
345
336
371
343
254
277
278
288
368
296
327
289
258
328
368
289
307
367
398
252
297
314
417
313
273
294
328
269
324
275
331
358
337
298
317
265
264
272
345
341
300
326
315
394
317
363
344
352
338
317
305
350
299
377
278
336
264
326
375
288
372
363
292
315
234
285
376
403
308
319
308
242
227
309
279
355
360
316
313
313
389
312
346
307
365
412
283
299
196
349
379
295
324
319
403
253
302
368
272
305
192
398
339
286
417
350
281
312
310
319
329
323
258
355
265
334
362
275
320
441
349
328
265
284
262
346
299
341
330
391
358
347
234
219
310
319
331
340
315
252
359
311
325
296
324
362
394
279
324
301
289
302
327
290
312
315
287
294
300
282
293
313
322
317
266
273
298
310
392
247
370
334
297
285
288
241
370
346
273
363
386
299
336
262
315
282
305
281
289
244
319
376
357
311
366
274
303
298
347
281
272
250
311
284
295
332
226
339
304
430
297
257
283
316
295
366
283
276
289
349
345
322
268
331
308
260
350
283
254
315
289
283
418
336
330
365
325
284
329
358
334
296
322
365
304
216
218
319
265
237
386
360
230
301
292
338
308
281
292
295
228
311
304
289
294
301
294
311
384
324
339
334
326
292
249
354
307
366
277
306
400
412
307
309
310
302
359
330
377
393
339
300
319
262
307
260
363
349
361
362
319
279
309
314
286
278
357
255
374
397
302
279
332
202
337
290
242
331
288
407
298
241
451
313
367
422
284
330
297
270
299
310
309
228
335
249
332
309
267
218
357
321
354
362
308
354
345
345
320
314
413
346
302
313
341
365
336
347
271
312
297
337
301
332
323
252
326
317
326
356
168
314
306
267
380
306
257
223
342
324
281
270
274
362
326
267
295
374
284
328
278
296
262
292
385
342
292
409
363
370
287
291
345
321
285
436
332
413
336
273
282
287
321
330
319
353
325
317
274
339
325
375
312
287
320
320
298
383
280
378
323
311
432
366
350
369
380
328
282
307
272
277
303
269
319
194
295
273
311
266
327
356
265
378
297
285
313
326
257
258
376
264
234
352
338
283
319
300
314
260
295
274
284
299
314
337
282
250
253
369
299
263
342
382
285
380
325
329
299
211
378
296
309
309
311
277
309
396
251
278
305
417
281
378
285
248
298
267
318
358
279
319
327
297
256
321
285
326
355
307
306
360
337
328
334
254
320
285
393
334
305
353
273
192
225
360
271
341
318
302
325
376
341
224
296
395
305
290
262
375
252
357
240
387
269
258
326
265
266
394
355
208
242
293
322
308
271
352
190
372
307
300
410
257
411
330
388
368
338
222
313
313
325
342
377
390
366
280
315
344
411
172
274
301
365
239
355
312
330
308
282
366
369
257
286
222
324
301
347
331
323
303
276
284
345
345
297
267
323
224
300
267
301
326
393
258
293
261
272
333
332
256
294
304
339
276
292
294
320
355
333
302
278
399
309
274
335
346
278
307
357
384
339
282
305
366
331
314
297
368
357
295
289
370
328
326
304
318
335
351
300
338
318
328
238
338
290
313
411
267
344
392
258
176
258
289
321
267
372
328
329
267
352
337
325
323
383
203
357
378
317
301
336
276
262
282
283
295
314
230
267
278
376
310
437
247
364
350
318
302
370
305
263
334
232
315
338
313
331
343
262
291
331
265
269
372
216
350
354
323
366
421
296
326
293
317
370
374
261
249
289
300
283
308
267
281
318
326
351
273
370
318
324
306
303
333
263
280
318
258
304
280
320
374
320
274
226
285
385
300
336
303
323
343
337
323
338
296
304
259
346
352
363
312
342
348
288
263
306
296
303
311
257
158
362
304
314
284
256
327
363
350
317
290
422
414
347
275
350
350
337
236
355
325
381
296
305
304
288
285
319
246
347
358
308
332
214
313
365
267
407
311
227
249
252
322
365
351
292
257
320
358
300
259
350
275
292
277
301
224
296
369
315
238
353
364
358
200
326
357
263
371
328
268
233
310
260
332
350
313
307
289
252
325
238
305
249
202
301
263
303
280
326
338
421
331
383
401
300
365
344
232
335
413
307
325
256
315
383
323
330
361
288
290
368
272
254
278
416
352
277
272
349
296
338
302
314
307
343
361
337
287
227
316
316
332
244
372
245
276
338
335
306
245
259
296
322
308
289
312
250
415
330
390
329
259
364
255
341
353
241
326
360
312
314
298
304
365
368
315
280
375
307
258
358
369
307
285
377
303
331
246
372
353
335
365
285
371
353
281
351
391
400
308
348
295
339
293
398
339
269
287
312
260
340
289
318
366
292
390
272
266
346
366
327
305
313
310
262
373
421
267
319
291
281
374
337
296
299
251
268
202
418
299
320
230
300
266
299
369
350
293
272
243
326
338
395
351
290
346
369
377
334
349
363
340
297
359
309
320
304
327
337
336
294
371
327
305
270
251
367
275
375
340
302
303
342
292
249
344
276
343
388
340
291
241
312
389
210
244
361
246
326
284
252
290
319
246
299
305
294
263
351
314
312
247
281
327
256
304
317
356
287
270
290
326
260
275
241
350
349
285
308
377
343
356
299
283
265
336
309
345
300
309
311
320
251
335
296
328
302
239
318
366
322
364
285
336
360
304
258
296
318
315
321
311
282
364
245
233
306
345
273
299
367
258
261
358
284
290
304
337
306
281
322
342
335
317
321
317
285
329
340
317
365
256
287
329
238
320
323
294
306
279
333
292
361
345
335
335
229
294
439
264
370
380
327
294
202
307
302
319
337
334
267
313
316
288
351
215
366
297
213
308
365
303
369
283
303
282
273
272
346
324
244
373
285
274
288
306
279
347
330
283
319
376
350
390
344
323
363
340
356
349
301
293
305
376
298
350
339
281
332
289
308
240
368
263
270
288
372
163
366
376
290
233
319
323
289
461
289
272
280
354
413
340
239
325
425
358
293
296
379
318
235
307
252
340
283
289
290
349
329
261
291
341
273
291
313
291
312
263
298
309
258
344
302
318
310
250
267
371
280
303
327
273
366
236
269
312
249
376
360
391
218
350
225
325
370
332
342
352
291
384
253
271
368
266
353
335
314
365
238
365
375
332
345
273
251
280
301
279
295
358
285
319
367
304
385
299
312
326
411
238
361
412
262
238
366
247
336
323
285
300
244
334
409
330
327
292
347
291
295
323
228
358
206
293
234
296
392
434
336
292
323
277
330
315
293
362
265
257
360
336
270
297
343
363
334
339
364
356
332
297
305
216
339
266
352
326
314
331
292
367
380
372
348
343
306
213
320
333
282
248
268
392
378
313
268
219
261
291
265
362
349
307
392
306
270
312
292
278
351
401
283
271
284
306
354
300
244
318
261
366
272
259
361
269
338
340
317
353
346
296
344
367
314
348
342
334
283
240
373
342
312
338
377
297
296
280
274
355
229
309
325
258
335
342
308
267
290
346
275
254
305
379
296
353
290
370
347
301
379
290
287
340
254
305
291
314
304
306
350
300
314
372
399
265
255
313
404
277
326
297
345
344
348
412
357
260
331
344
265
296
244
247
335
336
354
252
283
354
344
313
312
341
265
396
391
347
363
375
331
262
336
352
314
286
336
355
289
299
316
299
358
341
290
304
266
311
299
263
302
365
258
319
296
295
325
333
338
214
322
341
336
315
283
339
339
361
304
305
386
264
276
286
307
259
293
346
285
302
281
328
285
277
357
378
357
414
342
353
394
342
391
388
294
276
310
320
221
354
351
308
415
373
378
287
275
239
316
298
329
344
265
359
263
339
328
255
350
315
274
296
307
300
343
281
348
260
338
319
269
325
309
317
275
270
389
251
307
284
318
257
304
303
390
325
312
346
218
256
302
297
228
291
365
307
249
267
274
327
259
317
365
310
309
251
343
250
273
352
380
315
293
384
273
299
298
299
385
347
337
370
296
307
364
352
342
290
378
292
317
294
332
357
329
277
297
331
357
354
320
313
351
302
324
309
390
342
264
316
397
403
385
298
333
200
319
347
278
191
289
286
355
348
426
295
320
335
376
319
309
311
375
308
276
263
311
269
256
255
334
316
334
367
333
258
298
264
354
403
372
335
359
355
318
234
333
293
365
286
320
304
357
290
315
275
299
356
284
342
285
207
265
390
274
362
299
276
330
323
370
265
298
352
309
373
264
341
338
362
272
307
353
281
262
363
337
292
288
318
332
321
368
331
321
327
389
272
350
356
256
198
252
322
284
319
289
380
398
361
304
299
364
266
325
332
291
268
377
299
311
349
310
263
273
287
319
368
368
259
305
277
314
307
364
281
366
345
395
360
340
327
279
231
309
323
303
374
302
328
409
332
271
257
286
288
335
306
359
264
369
312
303
328
302
308
262
279
277
276
339
338
299
308
356
299
393
264
278
393
370
393
394
259
346
331
301
339
336
340
281
323
229
365
308
419
365
265
310
316
266
278
285
322
303
319
441
241
308
339
355
302
393
340
253
319
259
297
336
401
353
331
310
299
300
301
314
270
391
389
316
257
299
277
300
255
363
288
274
249
380
333
280
317
342
376
353
282
296
272
292
427
330
413
295
299
260
404
307
185
373
310
278
289
294
252
265
326
283
370
341
293
269
380
300
244
345
384
307
371
361
182
285
355
315
252
355
331
366
281
310
306
254
341
287
323
297
397
324
323
356
291
272
302
371
248
306
249
298
383
377
324
365
244
371
378
283
362
307
301
339
300
399
333
329
401
343
293
360
371
303
294
276
276
299
337
277
326
328
341
355
328
413
284
270
250
306
329
273
382
327
331
343
372
344
384
352
318
330
332
336
225
306
262
325
302
270
285
380
306
309
262
387
264
278
296
347
276
360
294
323
312
269
321
272
261
294
215
241
320
337
278
290
276
319
348
362
378
272
212
308
315
297
337
268
275
301
337
282
234
354
315
322
394
229
323
351
314
303
219
267
342
302
273
325
264
276
328
365
299
283
302
319
352
263
298
257
351
310
360
300
344
367
271
269
381
323
321
226
270
317
296
352
303
312
242
306
275
334
311
355
270
363
367
264
284
324
295
337
231
235
309
253
324
352
356
323
333
339
241
365
311
279
331
371
199
346
282
192
278
275
313
384
310
287
367
290
345
343
312
263
248
341
332
314
339
263
309
325
367
291
297
336
311
368
391
322
211
357
278
297
314
300
339
281
326
308
281
333
303
371
290
326
291
254
398
283
285
305
317
348
260
365
345
343
290
327
278
269
313
368
335
331
275
300
234
381
312
271
387
274
377
185
301
287
288
249
279
318
250
305
294
323
415
256
238
385
345
261
363
327
286
308
246
410
310
287
348
334
386
315
371
311
361
268
415
350
296
293
270
388
264
403
297
370
401
256
330
316
381
310
348
252
270
369
216
291
314
316
275
257
367
396
338
297
310
300
274
417
313
312
386
241
409
336
333
284
330
241
263
323
353
363
319
325
271
226
305
362
307
289
308
277
274
294
225
327
265
333
280
384
284
323
323
288
299
351
320
322
297
337
379
340
341
336
254
385
309
298
320
364
345
409
333
249
248
334
377
282
347
351
312
273
343
294
274
287
398
280
348
195
366
353
311
282
242
295
344
274
351
272
327
322
346
306
336
267
285
348
295
305
358
365
288
280
373
318
270
280
296
309
351
376
357
266
333
333
365
280
347
296
324
336
284
312
254
299
308
322
331
304
363
392
336
356
297
251
296
318
320
401
301
420
393
335
302
304
338
269
305
355
267
211
355
342
326
388
383
356
311
335
232
353
283
354
277
354
203
378
271
374
203
411
340
350
374
257
375
311
384
328
355
332
366
297
336
304
312
306
385
381
370
310
270
266
345
281
358
383
350
359
337
324
287
349
279
364
268
392
356
326
407
341
374
327
295
340
331
389
294
310
232
345
291
332
270
403
290
263
264
332
220
332
354
246
343
320
295
347
310
227
337
358
306
314
266
384
273
309
314
348
294
367
336
306
341
351
324
297
312
236
381
289
278
275
406
201
332
191
360
276
365
352
288
314
244
252
317
337
270
326
263
293
318
357
320
361
288
278
314
364
403
348
317
349
246
339
302
279
361
256
341
338
297
258
397
302
299
340
343
350
303
402
336
199
319
343
244
367
344
287
376
323
393
263
292
198
347
309
289
293
331
300
378
297
306
257
281
354
269
252
278
353
360
316
295
323
359
368
392
258
361
306
286
384
247
237
322
323
360
225
390
382
243
308
293
336
278
380
362
303
363
273
357
300
383
268
365
315
255
274
286
282
308
247
343
245
330
384
256
307
336
365
377
329
295
405
342
320
289
353
305
424
283
329
298
374
278
231
352
354
288
256
360
317
365
267
384
360
361
325
379
347
313
258
286
347
329
339
288
400
243
326
332
400
333
347
421
318
308
293
306
339
286
381
334
305
318
305
323
342
295
310
331
374
363
249
340
351
350
302
188
318
237
346
252
345
277
376
331
270
308
331
247
268
338
256
336
342
317
297
348
415
337
261
352
300
396
266
310
316
243
291
274
414
299
288
222
348
350
325
391
318
287
272
311
303
285
314
345
322
269
374
217
333
339
344
298
373
265
379
328
361
311
374
250
320
211
305
219
345
330
374
404
249
335
296
272
323
286
309
275
281
316
253
256
352
304
370
286
393
358
297
322
296
279
250
366
252
322
237
272
275
297
289
297
354
327
307
378
230
306
276
330
345
326
223
366
351
283
261
391
291
361
330
320
297
311
366
394
370
265
197
316
277
352
315
365
285
351
290
299
313
212
288
338
286
225
238
263
376
355
212
259
327
297
325
369
330
300
201
333
240
374
318
326
291
311
294
405
363
310
304
342
275
349
262
347
347
310
359
260
374
373
357
338
318
309
361
317
355
304
351
301
266
280
299
247
283
368
338
380
342
305
286
243
327
305
336
306
362
357
276
414
257
325
317
345
340
301
305
301
332
319
379
336
206
350
289
277
295
280
292
329
262
348
296
273
316
285
393
333
393
365
378
355
295
308
430
302
316
286
320
331
255
362
242
317
311
352
332
242
411
360
301
351
220
295
362
350
301
377
372
351
324
337
416
348
275
297
242
334
313
366
372
436
255
303
310
302
328
334
355
423
337
295
332
325
307
317
395
226
254
369
320
334
388
258
311
330
279
300
307
354
224
335
273
316
331
355
329
277
321
276
290
283
312
231
229
320
367
288
417
335
383
278
341
325
395
305
299
287
377
268
224
378
286
276
243
306
306
332
361
346
397
362
261
311
328
308
278
287
259
356
322
303
262
264
422
217
367
263
337
274
281
319
295
315
366
282
290
327
376
292
306
384
273
325
353
403
253
295
308
300
320
331
318
314
264
342
335
345
304
298
320
362
361
352
304
327
247
313
303
348
377
383
259
280
316
272
307
351
355
307
258
380
349
370
300
304
324
359
364
291
345
259
439
335
347
355
341
295
331
359
345
283
377
394
324
248
313
339
215
356
346
273
320
353
307
355
322
312
295
246
250
365
352
289
413
313
208
315
383
342
380
312
318
277
369
341
418
317
329
285
297
323
287
283
309
277
273
369
412
427
329
257
200
374
270
328
351
226
218
283
256
277
311
327
250
354
260
314
306
233
340
372
323
331
331
198
298
313
303
243
387
339
336
331
368
243
338
290
312
329
230
381
362
269
285
304
356
340
355
350
325
311
249
219
273
311
316
269
280
276
329
327
275
347
267
330
256
297
371
384
283
340
288
326
397
214
320
291
350
345
266
265
334
337
359
364
353
286
344
342
325
359
326
270
310
319
274
340
337
366
318
338
335
317
263
298
250
370
407
355
290
222
315
299
289
343
387
270
234
401
364
407
324
284
262
353
320
367
345
298
330
365
298
282
329
387
284
278
359
372
283
272
282
376
344
359
252
344
343
291
312
362
307
271
361
302
379
336
274
396
359
317
225
251
293
258
221
363
312
254
303
325
264
349
346
342
274
224
398
344
330
275
220
350
291
333
325
264
356
315
388
333
209
278
245
301
352
294
327
335
402
200
311
362
374
253
243
366
247
321
337
277
358
334
374
376
241
294
382
227
320
371
305
262
294
318
309
320
372
352
420
275
283
270
363
349
351
331
307
350
287
367
285
344
406
251
329
377
332
331
332
243
314
265
270
290
346
356
375
272
306
316
269
276
317
356
308
405
378
317
354
376
318
354
303
279
368
267
275
302
336
300
301
331
274
299
263
202
296
239
282
360
306
314
240
330
328
261
235
306
276
248
318
289
257
272
388
233
319
302
304
350
264
260
269
345
319
282
270
257
339
285
339
283
319
254
303
318
242
252
325
357
306
352
312
261
342
299
362
336
327
300
208
299
328
361
268
246
258
353
239
374
280
335
315
339
354
345
355
221
307
301
404
345
315
354
321
362
351
273
367
307
326
252
337
318
329
393
279
336
266
348
347
253
315
288
318
338
421
312
289
238
268
314
399
235
322
300
283
419
374
371
391
226
281
326
316
374
234
360
387
341
332
361
324
324
291
210
289
284
352
291
333
314
325
266
333
306
349
295
291
367
296
320
346
337
365
244
248
355
289
369
308
338
267
322
352
228
213
312
291
256
340
281
405
397
383
323
412
363
264
308
333
340
337
326
359
284
313
248
276
316
409
230
388
209
312
419
359
324
373
359
260
333
280
366
292
330
296
339
380
327
278
259
316
286
363
343
271
387
317
254
377
319
219
288
296
384
302
293
373
238
322
293
378
365
301
257
295
254
273
334
409
323
386
237
263
290
324
289
262
378
296
279
273
353
247
344
278
312
261
325
271
362
366
321
296
321
258
378
327
335
287
266
397
323
318
243
365
358
310
278
372
304
353
302
354
305
314
376
412
385
252
329
352
318
349
332
301
389
257
386
322
322
332
305
359
379
349
326
332
249
332
320
321
345
378
291
384
278
373
299
315
347
320
309
382
280
302
345
344
295
422
305
331
363
352
298
258
304
388
286
342
402
332
285
333
303
377
309
256
349
299
385
292
299
325
289
362
269
334
346
327
293
304
382
318
301
351
344
335
228
289
278
422
295
296
227
258
237
319
282
253
311
319
383
318
318
345
351
288
247
351
371
366
364
393
320
356
367
286
289
326
340
256
337
331
292
295
326
252
297
323
227
283
298
266
382
285
314
285
282
220
267
322
303
311
322
266
273
390
229
434
363
278
305
381
306
330
326
283
392
249
326
299
302
363
341
301
343
387
329
239
287
243
308
322
313
291
353
279
312
317
365
389
306
317
284
325
341
233
281
337
303
369
292
286
238
230
324
340
354
349
281
319
328
282
270
298
292
257
305
248
307
318
334
219
368
250
284
325
349
305
324
342
271
272
295
371
314
322
345
317
367
344
243
234
305
396
320
324
325
349
367
300
311
205
254
287
269
306
332
268
308
386
314
308
268
315
390
333
258
330
370
340
343
366
327
373
313
274
297
350
286
348
309
371
215
429
329
273
319
266
322
274
332
345
300
342
349
328
310
306
238
273
341
319
273
272
340
381
328
342
306
390
406
344
301
322
318
334
355
374
312
333
253
306
263
269
288
311
268
312
317
249
369
279
369
350
331
289
339
279
296
328
277
267
324
288
362
357
251
287
292
366
316
316
245
296
312
327
306
357
317
308
293
302
314
274
252
302
361
381
323
314
349
342
402
369
414
337
405
268
273
357
283
322
396
282
234
263
295
320
359
310
314
319
256
317
260
363
258
329
292
340
355
323
312
255
366
258
255
346
290
318
399
283
324
296
235
294
273
302
352
362
343
338
315
367
260
373
323
313
242
307
258
352
320
389
360
375
349
286
312
313
353
358
323
278
273
349
311
304
281
330
343
308
457
298
252
226
339
275
226
284
300
268
301
405
265
373
259
337
358
320
293
326
267
281
274
312
294
407
257
282
400
370
322
232
356
283
280
264
296
315
363
296
323
304
376
286
324
422
326
262
248
255
294
326
396
332
315
307
271
273
252
316
261
330
287
349
381
298
277
258
330
274
226
302
261
300
375
340
378
356
298
355
315
355
316
297
331
291
301
263
332
323
310
371
251
344
266
330
307
353
354
284
387
325
348
246
318
335
328
363
309
359
380
229
314
284
296
323
327
270
327
306
295
280
314
343
367
236
347
313
297
360
361
356
299
281
368
360
253
334
325
301
295
384
331
277
281
290
185
247
265
348
312
279
255
263
324
268
296
384
295
300
314
313
249
365
279
266
281
348
333
303
294
251
332
313
357
323
312
344
295
294
355
301
382
315
350
313
292
297
302
266
284
273
345
382
260
228
271
362
292
340
363
335
347
308
375
341
342
354
314
282
359
344
378
341
361
360
290
307
348
308
331
248
317
319
230
297
304
333
402
335
347
331
255
207
304
320
265
390
346
324
323
353
314
326
343
345
326
311
343
236
290
277
277
339
334
284
242
270
356
380
313
318
231
315
304
358
359
299
320
325
255
330
273
251
352
365
317
344
386
263
378
213
288
319
300
288
347
296
326
280
368
291
318
381
346
322
340
324
346
316
307
219
348
332
310
323
365
280
310
326
346
268
300
381
344
412
357
412
262
369
324
374
260
372
260
316
371
351
351
268
273
358
375
364
329
358
287
279
319
399
273
319
367
267
303
307
326
267
360
381
270
296
334
383
322
302
320
283
285
384
386
277
275
336
322
349
312
388
241
303
320
320
350
297
278
257
365
265
356
312
297
310
331
289
321
356
350
353
320
299
273
306
296
274
328
232
293
305
363
246
321
250
317
306
286
278
355
273
291
381
320
359
369
346
319
316
249
363
368
345
292
227
312
295
299
328
366
351
370
313
293
271
303
294
251
321
316
282
239
301
258
360
248
283
314
291
275
302
253
324
287
233
306
307
373
268
291
394
280
290
328
352
273
316
346
320
197
352
333
240
294
314
369
310
318
305
341
354
347
257
309
383
363
326
287
284
367
299
381
435
367
335
332
270
254
317
389
361
322
307
344
372
262
230
281
383
335
307
325
341
285
299
300
335
340
346
331
356
262
335
304
291
336
355
355
336
281
275
298
313
352
352
341
353
373
342
373
383
299
267
358
370
359
296
348
287
292
322
250
390
313
266
307
232
299
241
275
282
343
298
294
293
350
345
338
373
340
221
312
309
382
370
345
330
302
338
321
282
321
377
220
186
337
336
333
303
386
350
377
306
348
316
349
236
305
320
211
314
326
251
373
283
320
313
310
305
350
365
316
243
310
309
310
365
288
311
240
246
269
253
356
287
285
303
368
305
303
336
319
352
336
302
269
323
306
307
362
310
280
323
298
292
351
275
260
341
336
269
291
322
286
299
325
293
290
320
216
251
274
316
305
332
296
346
315
305
307
295
351
351
285
309
334
317
262
314
290
293
372
363
283
315
330
320
349
370
271
359
341
284
325
333
291
354
269
308
394
227
376
334
281
327
426
298
311
305
274
281
303
258
365
314
289
375
286
240
341
333
341
328
312
253
317
374
283
346
331
268
285
339
265
336
265
352
257
295
354
292
340
364
252
378
370
342
320
299
355
246
363
297
337
299
237
303
395
279
277
324
245
274
292
363
297
282
337
335
380
332
317
322
338
275
325
258
296
295
359
326
236
327
270
260
404
301
322
300
372
351
341
228
347
287
252
276
315
393
314
404
309
388
298
253
305
323
322
334
293
399
311
277
347
373
257
316
386
247
334
320
325
330
271
317
364
342
325
400
298
294
291
303
322
290
317
321
273
371
431
404
292
285
320
301
309
359
349
377
385
315
364
247
349
358
372
355
282
346
299
383
246
301
312
305
295
266
339
261
302
256
264
295
315
244
327
273
297
294
242
351
305
331
295
380
343
321
228
369
282
395
248
293
398
292
376
342
274
266
322
275
266
267
331
385
366
222
339
314
332
355
291
328
315
325
240
346
323
395
339
328
320
377
273
345
289
267
351
230
296
402
337
331
306
311
311
345
275
208
302
260
283
273
375
270
330
257
300
257
264
336
332
271
297
298
249
357
366
275
369
421
404
306
293
342
245
229
278
292
346
383
276
296
216
340
325
308
254
320
361
314
395
311
279
273
285
332
319
382
220
283
338
224
346
265
288
326
247
318
333
353
347
342
354
352
357
439
330
395
243
275
261
297
331
237
384
284
348
289
315
296
349
317
253
269
387
364
330
349
366
329
323
313
371
377
267
341
415
235
301
316
383
277
312
299
309
219
339
284
300
362
317
329
310
310
331
281
435
386
335
323
284
322
454
427
362
383
289
391
352
364
356
354
366
234
325
316
322
238
290
257
314
335
275
327
313
359
247
261
351
246
305
319
305
320
318
412
286
297
383
287
330
272
297
318
268
287
243
313
312
356
287
225
300
257
262
306
271
334
353
323
268
385
344
319
335
392
355
418
297
369
265
338
345
365
339
321
314
276
310
422
328
352
318
326
305
305
299
326
280
313
273
287
235
260
300
297
293
430
236
302
334
262
330
298
319
285
308
313
327
373
320
289
250
352
287
340
371
277
349
319
226
336
318
289
291
262
260
276
392
432
306
285
333
291
289
322
357
341
267
361
315
290
329
325
380
305
296
326
332
273
334
311
325
344
307
285
265
325
314
332
314
321
374
354
346
353
300
280
294
312
326
301
386
338
261
329
343
318
310
299
303
291
303
332
312
327
212
292
227
329
341
291
338
316
300
290
357
325
250
299
384
389
267
306
279
347
330
309
293
317
305
378
306
315
307
292
310
299
328
323
266
421
355
348
346
335
301
314
258
305
369
346
284
343
196
281
302
387
344
380
352
314
293
341
332
310
291
232
268
284
264
315
323
276
247
282
349
361
353
362
235
275
316
340
327
275
303
247
343
362
390
368
259
332
297
365
385
297
270
298
301
344
221
276
236
309
395
355
239
336
400
303
343
380
423
340
291
269
348
292
302
290
343
320
323
326
355
274
303
278
326
348
309
259
351
252
340
242
312
404
277
340
172
325
298
279
260
323
288
365
278
283
330
294
313
278
326
288
255
344
271
311
409
371
331
326
309
259
356
389
258
384
265
357
266
265
349
272
349
250
299
235
274
390
327
340
335
313
214
340
312
296
372
343
364
283
227
265
308
282
385
337
312
328
330
320
323
331
310
322
391
259
330
366
204
269
279
420
209
325
289
269
243
331
260
353
304
298
373
344
325
400
283
351
284
362
281
304
369
305
323
318
385
295
308
244
393
300
299
383
352
254
282
232
285
286
358
326
362
353
228
315
340
329
296
320
225
406
244
396
265
271
337
316
300
288
267
313
320
349
289
329
298
333
315
305
273
353
372
263
348
270
329
268
338
277
260
281
246
379
268
373
306
329
324
379
237
269
264
269
275
315
300
357
215
264
292
272
307
374
342
448
282
297
289
375
306
322
335
243
254
282
343
328
350
369
293
380
310
297
373
343
221
284
255
245
351
280
369
364
329
217
362
278
368
296
245
282
275
263
361
271
409
318
360
348
289
343
282
274
369
330
343
362
372
297
268
403
292
310
341
252
381
181
208
322
331
330
386
213
353
419
372
353
299
323
359
302
281
410
258
288
403
269
299
372
333
346
273
364
305
355
326
354
285
381
350
334
355
366
231
286
340
291
321
324
259
315
345
361
391
280
321
299
255
293
387
288
342
309
302
325
224
268
344
278
343
368
365
278
326
288
322
249
416
270
290
302
301
314
349
278
330
371
386
266
332
354
307
334
435
360
246
268
317
287
271
340
260
277
182
376
324
260
299
336
256
305
382
301
283
270
282
323
302
275
351
361
236
309
314
320
376
343
373
347
284
347
332
305
323
328
253
362
238
351
283
314
355
314
277
383
311
360
360
324
275
287
288
348
315
277
427
313
330
361
340
257
299
336
369
376
355
366
275
333
305
218
333
273
307
327
309
270
269
258
301
303
326
331
259
329
366
337
337
306
340
229
341
335
301
291
374
371
285
261
287
354
323
235
301
326
367
339
349
255
402
215
372
315
303
310
359
235
269
287
351
348
189
300
315
293
269
336
294
351
299
332
334
222
282
238
285
318
265
235
239
403
283
310
336
290
397
203
239
273
287
353
310
300
315
361
319
275
339
324
331
326
324
347
371
374
345
373
253
307
345
363
276
287
319
350
317
388
282
327
356
356
339
317
306
285
355
302
338
320
246
310
365
272
297
321
300
325
282
304
261
186
292
264
339
278
343
216
282
340
335
342
347
362
286
395
348
389
320
339
310
361
386
293
349
298
289
321
252
358
289
298
256
383
245
336
284
308
267
338
323
334
313
190
318
333
387
241
333
383
277
359
258
251
302
314
338
313
327
339
385
262
298
320
298
350
296
278
281
279
342
392
349
402
282
302
346
345
264
336
210
336
332
300
365
285
312
286
266
296
292
274
311
386
304
301
328
386
366
179
323
259
255
363
323
307
322
323
275
353
268
330
222
260
350
289
366
320
265
269
334
312
295
316
334
259
383
244
242
300
334
295
391
326
348
407
274
238
298
398
303
307
336
322
358
335
323
314
307
258
323
346
180
356
235
279
302
322
354
335
308
306
368
311
340
269
285
346
350
393
337
378
302
299
363
397
340
296
208
296
339
303
363
313
354
300
334
364
357
231
267
325
303
296
302
317
315
282
344
295
379
304
331
308
240
282
408
388
255
327
356
331
250
260
316
302
338
321
273
366
309
281
262
299
352
375
264
266
285
348
355
274
275
309
226
265
295
277
362
236
294
325
382
223
313
348
270
305
407
314
351
345
366
405
276
261
236
334
340
293
302
316
301
358
332
330
269
331
393
328
298
346
301
354
332
374
313
248
327
244
311
359
267
342
294
403
394
298
257
254
412
402
318
366
257
297
348
295
367
332
250
330
298
311
254
365
264
255
324
297
253
244
315
270
293
310
313
335
297
374
369
223
313
279
257
311
265
406
365
324
300
318
296
311
234
333
319
246
331
344
367
286
302
258
339
266
299
261
244
305
275
284
435
354
189
250
362
378
386
277
365
338
377
290
297
316
274
270
255
308
224
274
331
289
284
345
332
267
324
363
364
266
235
276
285
314
332
257
256
279
345
336
287
278
309
219
307
331
324
292
363
368
313
269
316
336
329
427
293
215
385
281
278
370
325
382
393
318
298
305
278
304
287
338
303
323
266
373
269
332
285
268
347
294
327
312
329
350
378
363
348
325
299
253
372
304
258
304
270
345
324
261
222
350
358
346
323
325
262
341
356
313
347
336
310
337
173
219
300
377
305
336
336
353
344
223
281
299
360
362
337
244
220
353
275
397
362
287
311
242
292
438
304
381
297
247
338
323
238
318
353
298
310
307
384
315
238
323
322
293
334
351
248
312
440
321
297
304
274
327
345
303
354
244
241
261
196
300
306
306
259
289
372
271
358
307
266
337
344
323
366
355
335
381
332
329
316
378
328
429
362
385
339
363
242
346
322
368
354
298
284
333
336
364
250
336
264
393
273
316
371
366
357
326
254
285
247
276
339
348
327
269
355
270
262
292
363
250
327
299
411
279
245
301
324
318
250
327
298
300
376
291
323
285
297
361
404
373
328
261
355
316
340
386
308
415
392
290
360
357
345
299
333
298
357
245
325
397
312
302
260
232
320
370
376
332
306
289
329
346
254
319
257
353
362
296
359
377
300
390
387
319
275
337
264
224
272
358
364
265
276
326
325
285
249
304
312
249
356
309
299
270
281
289
254
395
295
282
372
409
346
382
367
286
220
409
325
370
410
383
300
246
251
323
267
365
314
354
247
281
296
280
300
293
345
362
245
379
361
359
267
387
288
228
368
366
308
262
232
278
354
379
356
295
291
310
293
338
344
308
298
369
235
315
382
379
280
293
330
391
308
280
284
338
328
333
323
297
366
315
271
354
304
387
301
293
371
217
304
311
274
248
391
292
321
287
347
311
353
301
364
346
319
265
246
364
312
297
383
310
279
361
318
357
321
327
346
222
307
289
342
350
245
356
345
366
374
354
347
328
308
329
268
298
382
338
320
291
302
338
290
293
321
305
273
355
185
278
256
295
272
322
290
362
317
302
291
290
237
325
322
375
318
308
380
295
285
392
198
301
394
339
367
289
375
306
318
267
316
385
298
289
271
287
295
303
277
302
301
336
220
302
289
392
310
238
355
275
351
236
311
297
328
353
367
335
366
249
332
252
266
201
310
318
388
310
312
362
277
318
256
277
331
351
414
287
311
368
296
296
262
246
274
343
332
301
284
308
361
298
300
337
375
335
347
397
263
371
318
292
323
346
391
252
388
297
304
287
347
348
308
297
313
298
378
253
257
255
295
433
255
288
353
246
302
346
272
380
292
252
320
343
335
365
244
344
355
310
279
258
375
363
234
309
323
224
326
308
268
306
326
320
332
403
323
236
256
355
294
313
252
328
279
387
308
308
299
284
328
367
339
300
236
325
275
393
333
312
349
368
343
374
342
275
252
410
338
347
339
252
334
317
322
266
385
336
291
385
323
349
316
400
358
298
298
259
305
335
409
279
332
282
299
330
265
285
330
295
342
255
353
292
318
307
315
271
302
252
348
337
275
333
317
360
311
251
363
279
248
326
392
339
365
300
273
285
346
334
278
260
290
313
333
303
348
357
316
286
241
269
396
289
380
368
301
314
275
315
268
261
260
296
295
286
308
346
376
407
323
352
345
300
325
339
413
366
307
366
301
296
264
236
324
304
311
368
328
356
383
377
286
197
333
299
320
285
267
350
309
358
274
319
312
226
248
260
324
302
328
360
342
264
279
312
322
363
308
376
323
251
288
406
296
252
348
326
329
330
383
414
296
322
361
327
314
313
332
299
247
390
368
329
354
416
292
268
300
328
284
290
344
351
311
312
282
335
291
318
333
325
248
291
367
354
344
345
300
348
326
263
340
340
221
253
334
377
302
352
275
292
273
280
328
318
275
386
225
264
209
381
294
364
303
368
288
315
295
271
346
333
370
386
289
273
281
244
288
392
348
334
335
296
326
286
362
334
287
281
248
361
314
283
222
382
344
354
346
241
319
325
288
274
290
364
327
279
282
279
328
287
338
373
221
357
244
344
357
331
326
337
346
305
306
287
359
351
265
319
363
349
301
217
377
285
290
312
390
287
283
326
323
312
343
342
215
264
324
373
276
396
263
267
345
318
253
198
341
321
282
375
346
387
290
434
283
364
275
408
305
380
200
261
315
261
301
272
267
357
290
344
281
364
302
243
299
313
292
211
311
344
280
379
341
310
256
339
363
296
333
291
281
261
270
405
290
354
367
327
290
354
418
304
276
267
458
242
296
296
321
307
264
404
314
289
264
302
346
236
284
342
386
363
365
285
375
366
298
305
369
321
333
356
351
330
321
376
168
334
301
266
243
187
283
325
296
414
269
255
404
341
295
261
356
316
333
302
395
285
344
323
422
367
316
300
361
388
319
296
313
334
299
266
281
375
351
253
328
359
385
309
280
258
399
320
332
288
350
286
362
291
412
320
302
342
391
367
354
367
329
247
321
361
414
289
290
327
273
286
325
317
375
263
317
277
347
328
373
341
363
311
280
330
302
308
351
358
256
244
351
329
330
375
282
281
327
296
378
366
266
361
272
303
367
308
293
324
167
308
243
313
344
307
230
295
246
302
376
261
355
373
358
302
291
286
322
368
170
341
325
357
354
338
306
310
360
299
341
351
286
308
326
309
269
277
309
287
450
201
363
255
340
279
266
341
253
328
198
347
275
281
346
289
307
317
348
319
250
332
339
346
290
338
295
380
296
365
305
275
317
294
346
362
264
355
323
345
314
356
219
301
235
316
345
208
153
305
281
373
324
315
231
308
370
209
295
306
281
342
420
292
256
325
308
314
352
319
311
359
361
313
372
338
253
258
267
354
351
256
263
292
379
249
248
294
320
294
324
272
342
363
344
311
388
256
272
348
350
279
354
289
334
296
360
359
289
276
332
348
320
423
298
339
340
326
257
355
263
405
344
320
257
398
388
309
317
282
279
252
298
275
343
320
324
217
358
340
254
294
371
318
377
313
371
298
336
323
377
366
355
299
302
291
244
380
226
280
298
284
314
262
236
322
260
264
310
323
311
339
266
330
338
390
330
337
267
252
272
372
250
319
295
322
228
372
389
294
358
283
327
332
378
314
342
356
316
337
313
251
369
397
307
324
339
351
281
360
295
335
291
307
271
349
338
303
264
380
236
377
371
334
326
262
298
275
338
311
328
327
335
346
309
339
374
274
325
257
377
317
290
244
278
315
344
312
297
347
332
338
346
326
350
345
357
324
300
345
285
316
288
255
342
298
334
334
368
244
303
289
266
390
341
349
319
293
328
277
343
319
352
276
320
353
359
377
338
294
325
292
301
366
301
348
297
252
329
352
235
371
309
344
305
299
354
281
289
360
302
288
226
308
330
391
386
288
316
345
333
367
308
299
332
292
348
352
286
309
297
249
390
329
299
387
242
324
343
358
244
303
370
290
281
187
278
192
366
204
314
304
411
390
298
287
273
257
250
232
337
273
221
249
374
279
284
276
292
315
327
289
367
278
221
274
304
364
388
267
323
298
343
310
331
410
321
365
305
378
322
353
282
353
342
218
334
358
392
334
316
274
283
341
338
257
182
292
327
273
396
316
325
288
382
396
281
285
278
324
298
388
333
329
240
322
274
331
267
338
285
265
346
320
252
335
312
290
281
160
288
421
326
290
247
380
306
342
297
366
380
341
344
293
266
292
336
274
331
348
234
254
249
355
365
297
292
325
255
279
331
290
307
316
382
245
302
303
378
306
283
291
374
344
238
380
289
237
307
301
368
327
299
288
332
365
325
190
378
335
314
329
326
324
312
398
222
361
349
344
389
299
335
304
371
369
351
285
297
317
413
249
328
341
282
317
414
284
243
343
256
288
304
340
374
314
358
364
333
330
271
338
361
353
321
328
317
335
314
403
284
311
275
354
322
278
362
315
323
303
360
292
301
320
328
362
337
353
364
296
371
180
336
278
302
355
278
318
291
341
333
294
241
244
314
307
218
320
286
324
248
383
225
321
305
306
202
373
353
398
347
262
251
393
281
309
326
195
304
378
274
333
268
285
301
335
302
316
313
325
290
299
262
325
287
262
295
259
284
352
351
282
316
377
317
315
407
310
279
340
286
331
313
321
334
269
277
357
307
255
296
291
226
264
256
293
314
274
313
324
310
265
323
377
450
241
266
247
277
294
331
379
311
316
304
215
309
307
339
308
293
325
259
304
323
281
361
311
305
332
286
313
205
279
310
355
349
320
285
283
312
380
306
259
249
272
308
231
371
366
244
291
330
315
305
299
290
310
238
270
322
348
284
282
269
432
207
310
400
320
372
320
354
310
315
347
294
292
392
249
385
291
247
316
265
350
284
281
291
277
334
266
344
354
365
376
277
398
287
381
328
332
284
285
327
449
347
351
292
268
291
329
347
359
315
317
346
295
312
236
356
320
287
333
277
347
349
295
338
275
336
386
320
264
290
357
385
323
261
337
387
263
344
337
337
324
305
319
292
343
324
316
365
374
405
310
328
374
305
258
337
238
277
262
303
351
296
373
344
371
330
331
231
358
346
340
270
356
253
297
302
308
316
265
257
295
287
260
426
306
340
384
427
382
284
324
356
318
358
286
283
280
336
346
263
282
326
350
341
383
371
303
340
243
383
242
251
334
383
279
289
318
358
268
317
248
296
300
287
330
367
341
256
327
410
321
368
296
324
339
357
351
327
315
416
321
307
343
338
338
374
304
312
388
307
271
309
364
320
383
333
232
247
382
311
308
225
274
305
332
274
293
230
339
328
264
238
266
261
343
336
319
330
356
299
238
288
330
178
330
295
238
329
302
348
396
286
380
294
401
270
247
323
381
275
296
305
325
240
287
322
300
359
343
222
282
306
332
306
288
273
320
280
390
215
307
263
348
286
348
293
321
223
282
234
305
212
267
330
372
274
320
327
235
354
297
363
327
340
255
278
312
277
302
425
361
363
307
359
264
270
250
293
269
220
380
291
354
389
310
301
313
322
310
265
290
320
283
284
337
319
298
304
396
351
335
298
258
276
319
272
309
276
274
240
297
368
273
311
348
377
212
250
314
383
244
346
407
312
226
262
302
221
255
358
304
316
242
421
313
304
311
225
317
328
340
152
309
280
309
424
282
255
309
356
307
349
337
332
386
291
306
358
322
293
268
380
336
334
293
266
251
330
293
264
306
273
394
367
290
287
277
389
409
271
323
338
285
316
349
356
346
344
338
326
324
263
368
305
253
336
316
279
246
385
222
272
329
402
337
406
253
296
294
330
293
320
316
284
366
295
367
273
350
335
304
228
309
362
285
226
340
331
333
291
359
304
286
261
362
362
337
341
280
406
239
280
222
321
282
349
291
371
335
354
327
301
347
342
241
248
359
378
305
310
274
332
321
219
282
240
308
348
289
373
292
374
298
356
268
339
350
295
289
317
360
193
349
271
366
316
270
386
303
209
327
381
297
315
323
339
279
301
362
383
325
409
392
313
267
322
293
259
284
340
252
289
223
322
316
348
299
289
322
322
336
262
343
286
277
266
312
294
383
298
333
326
317
304
302
281
305
385
279
326
241
186
282
325
302
330
327
356
264
327
325
319
265
341
233
237
279
360
218
321
288
281
331
384
360
274
278
383
352
379
332
304
304
235
323
342
307
284
283
261
272
316
289
280
383
332
318
320
319
274
250
285
306
388
321
301
318
335
376
242
378
321
383
396
333
343
253
201
274
275
341
282
358
268
304
255
323
346
278
345
308
295
273
394
303
369
264
291
378
345
333
224
235
325
303
266
345
244
390
275
345
312
346
356
347
320
218
347
240
329
236
426
263
343
290
275
355
316
338
291
375
233
360
321
309
284
245
364
334
293
313
297
265
349
311
303
309
339
329
352
312
310
259
264
259
344
302
293
281
346
281
334
308
331
344
319
333
263
326
313
293
304
286
273
282
278
342
291
363
275
260
328
341
313
207
417
314
288
301
363
399
282
306
311
313
239
248
307
327
294
371
327
340
282
399
228
351
254
305
243
285
329
340
321
309
320
328
322
194
302
309
295
295
324
348
363
270
382
233
272
229
295
367
315
324
288
374
299
372
421
284
307
304
367
450
319
387
355
441
314
257
355
257
348
315
332
209
403
332
311
320
335
379
379
377
341
291
359
176
293
321
334
293
384
333
273
338
328
345
266
342
385
282
335
301
338
303
343
329
274
319
303
302
306
291
276
267
263
344
325
273
336
359
350
415
381
241
319
381
276
350
343
282
328
357
296
322
311
316
294
376
376
337
287
338
326
260
220
309
386
353
293
346
329
350
300
219
275
378
293
351
365
361
252
388
365
253
290
322
309
316
375
341
307
320
331
362
334
389
366
206
357
339
274
323
361
281
278
320
330
302
348
252
303
319
307
310
344
338
330
372
255
314
396
319
284
389
338
345
311
282
335
405
319
260
349
322
337
332
273
246
298
208
311
371
298
361
359
269
266
295
309
357
312
343
296
214
351
306
361
240
255
319
201
258
329
378
309
287
340
283
368
371
352
321
291
317
333
272
321
382
268
223
271
332
331
309
250
275
315
339
370
290
332
332
331
345
341
339
365
323
268
305
250
274
326
311
313
353
431
344
338
340
282
312
291
315
296
388
294
327
281
468
211
313
186
329
377
327
284
384
295
282
297
334
279
278
315
262
370
340
346
342
277
309
332
394
333
349
305
355
326
349
260
398
253
342
367
306
312
300
273
380
304
355
318
365
333
253
344
349
410
323
285
338
318
329
330
279
355
279
329
321
366
267
367
369
359
249
272
356
260
247
280
315
361
313
324
301
345
296
225
374
272
312
303
297
348
292
355
273
316
283
256
404
354
269
385
382
260
381
338
360
301
347
286
301
237
295
270
353
311
219
291
313
300
331
329
309
335
293
300
277
315
324
310
317
306
372
238
310
344
288
261
267
245
275
308
388
317
336
334
318
334
282
338
368
297
293
246
303
344
401
281
363
318
348
365
375
281
336
338
372
321
379
312
342
269
371
318
304
380
349
304
379
343
288
361
298
234
293
296
346
300
311
270
272
277
188
330
338
327
337
302
309
268
269
340
397
337
354
255
318
352
311
245
326
299
311
241
283
304
354
337
345
281
220
329
330
309
335
343
410
333
350
287
312
371
209
371
383
299
339
295
339
277
333
262
288
277
316
306
268
397
295
316
325
421
306
259
352
342
217
336
275
328
290
293
352
213
271
241
346
358
348
344
344
290
286
318
322
299
333
321
318
303
262
411
285
355
297
406
336
319
321
328
320
234
329
291
277
281
295
275
288
272
231
296
235
414
299
244
330
343
364
322
332
322
334
325
260
361
296
375
283
332
298
293
329
386
333
328
324
296
325
348
311
245
274
310
355
350
202
249
209
333
287
327
249
427
343
338
279
346
306
292
263
369
314
218
250
291
326
213
354
209
316
378
397
318
268
303
354
284
334
296
318
198
375
362
352
243
313
316
290
309
300
309
266
337
286
274
306
375
394
334
309
251
299
354
337
393
386
301
368
364
310
196
254
222
280
304
296
303
276
346
311
349
339
330
337
311
289
315
323
359
410
298
343
258
259
280
361
315
295
358
354
388
391
299
391
308
310
256
252
323
325
240
314
333
338
372
382
300
278
309
337
307
391
231
251
321
398
341
309
312
391
320
405
298
321
312
317
290
272
382
270
297
258
339
355
370
345
293
289
228
290
285
382
287
375
341
391
330
255
314
277
449
343
345
298
340
337
372
247
369
355
380
254
280
271
362
280
304
292
295
347
334
352
339
383
381
182
312
357
368
331
313
297
299
353
363
290
315
303
308
316
394
339
390
435
360
452
321
283
301
412
279
345
266
273
310
353
374
366
354
359
285
237
293
249
360
331
363
232
370
387
323
330
361
197
267
302
289
235
319
326
254
330
252
295
280
314
340
285
254
328
327
346
258
362
365
224
328
313
242
236
291
334
356
298
320
215
415
292
333
305
258
247
340
365
300
233
397
296
273
212
304
335
260
307
315
229
322
260
287
343
289
375
246
353
289
294
298
358
273
263
267
342
280
379
366
322
335
284
306
326
261
351
362
294
385
285
228
226
313
283
376
289
328
320
346
301
299
301
318
313
248
327
296
364
289
363
378
315
230
347
252
369
261
360
329
385
303
359
257
314
298
349
333
312
329
383
298
257
288
284
325
351
318
356
266
371
266
316
298
324
328
295
276
310
266
303
335
245
305
309
342
364
349
348
293
354
375
315
332
329
389
348
282
299
322
262
379
330
290
370
234
333
312
377
308
302
294
398
339
350
327
340
264
389
323
357
391
330
298
297
288
238
255
354
339
329
272
288
289
322
274
371
303
331
354
300
328
302
358
273
264
295
315
379
383
358
361
286
339
326
299
306
244
287
321
337
348
307
374
359
400
175
405
378
364
346
346
253
390
350
353
282
324
360
307
272
340
325
348
326
351
381
258
348
329
235
314
307
343
332
377
320
326
366
367
334
378
357
303
258
323
344
271
307
313
311
334
300
358
149
351
371
298
364
274
265
350
340
298
353
327
333
290
358
279
348
316
339
310
349
287
313
376
319
339
273
306
311
290
269
290
298
299
334
288
285
272
316
300
381
319
289
285
289
292
332
337
350
349
265
318
319
339
324
395
364
267
268
311
389
296
287
316
411
337
267
359
311
359
226
249
340
319
400
318
243
301
288
234
328
344
340
342
269
336
298
363
351
302
326
356
342
260
358
313
239
329
304
314
346
332
351
307
312
286
241
284
336
205
330
311
287
295
274
327
312
341
303
382
315
295
241
268
275
277
263
276
350
261
367
324
319
327
326
292
276
284
297
395
278
301
321
342
305
311
294
250
265
329
341
335
348
395
346
366
282
355
388
251
298
242
348
323
181
333
294
286
337
284
299
326
301
312
290
275
332
279
347
250
325
333
272
303
278
331
330
300
290
252
341
231
385
328
324
307
250
381
324
346
299
264
261
271
244
317
315
277
292
307
419
313
224
219
276
251
241
273
351
323
316
296
220
274
352
332
334
258
361
246
316
362
328
343
259
341
286
358
334
353
271
426
236
275
257
338
284
329
331
312
316
316
247
325
348
205
293
307
275
341
304
276
270
261
358
350
368
370
310
299
287
342
289
331
262
392
344
343
291
324
302
326
306
348
318
345
301
353
280
440
409
288
339
340
367
291
349
338
256
334
314
352
334
185
332
345
353
247
311
328
445
382
366
200
268
348
333
323
252
366
281
328
283
367
311
275
307
333
278
246
262
300
301
261
287
345
201
307
299
301
236
395
285
302
301
258
379
369
333
357
244
261
287
295
231
260
355
324
370
289
363
249
339
306
239
286
350
318
342
236
294
339
279
294
284
218
407
367
264
258
304
380
274
317
330
282
327
344
353
240
327
373
265
342
375
280
310
286
388
289
289
360
344
373
318
303
279
367
292
359
292
306
413
347
321
306
280
264
368
277
376
279
349
245
287
375
332
392
318
388
214
243
302
294
266
232
359
328
364
279
283
275
357
371
325
326
318
304
284
296
424
278
290
194
409
280
300
314
346
346
258
306
354
346
320
326
375
306
336
274
263
275
281
269
256
345
368
287
308
262
287
361
294
289
296
239
319
312
322
331
230
276
334
233
347
303
365
376
377
312
350
370
324
296
309
362
297
328
232
322
230
379
286
404
325
298
304
317
427
347
326
309
275
340
294
372
317
342
339
350
336
271
350
247
337
334
318
264
317
313
282
258
284
261
295
362
315
356
347
261
338
302
279
299
342
297
305
321
266
388
372
338
342
335
358
291
268
339
365
374
308
298
291
321
277
287
316
392
271
314
318
218
334
238
386
342
306
303
293
304
244
316
346
301
326
395
241
288
323
349
322
274
373
266
333
368
331
327
270
307
255
341
459
368
253
251
283
290
311
384
341
287
303
276
297
339
375
310
343
393
298
342
284
277
283
336
313
313
337
334
329
289
359
276
350
282
373
306
382
320
286
254
276
380
253
261
309
371
288
321
261
271
296
359
236
296
395
289
261
313
281
269
263
263
294
352
357
312
342
349
356
323
346
350
254
316
346
338
368
286
366
281
299
300
253
326
304
244
321
382
308
203
313
356
385
360
276
364
249
323
272
263
384
397
374
313
350
353
346
329
334
321
363
337
271
398
311
336
234
268
319
302
348
368
337
327
313
284
360
346
296
312
308
338
280
247
325
356
301
316
215
351
378
357
260
324
375
347
245
297
246
336
374
303
317
280
258
327
366
292
280
311
227
396
301
326
297
324
367
364
303
241
238
260
364
345
322
380
333
392
394
328
385
269
409
378
273
349
389
309
296
343
377
231
280
256
336
346
338
319
318
268
306
330
357
306
286
288
287
315
366
320
279
361
249
279
382
312
225
308
333
325
280
311
385
342
337
313
377
327
273
310
385
342
269
334
456
368
312
298
348
301
309
356
383
367
269
353
390
313
352
326
250
298
317
311
381
217
323
279
322
245
350
402
342
362
356
307
302
357
306
264
273
233
319
305
336
288
260
337
303
290
340
317
344
269
368
274
299
341
390
285
304
342
265
283
387
352
354
402
301
338
286
381
343
345
327
393
282
248
321
337
344
276
193
391
205
304
310
247
447
265
314
271
360
349
336
324
241
281
324
337
329
278
304
296
319
298
341
411
295
341
358
394
275
307
383
353
386
244
356
371
371
299
432
289
314
334
322
276
333
315
316
352
306
263
318
330
290
362
236
296
309
326
239
365
310
314
345
349
356
385
379
304
318
339
366
348
259
283
352
336
297
297
395
286
311
323
283
320
263
279
279
312
318
317
319
318
348
293
366
303
226
298
292
309
289
276
284
386
376
340
252
280
318
309
322
331
337
307
318
271
311
407
313
294
341
278
272
358
271
322
339
425
327
284
338
257
344
300
288
340
309
315
367
252
273
299
271
296
322
337
327
318
253
343
375
268
373
319
221
331
336
320
363
331
297
262
305
301
340
265
333
301
208
275
288
316
318
244
256
308
356
329
392
387
289
298
344
345
369
299
423
378
268
299
273
238
344
319
352
269
293
331
337
307
292
330
332
312
207
326
323
386
344
295
239
291
294
247
354
290
329
269
338
265
366
328
256
285
306
289
308
293
344
345
298
327
241
324
354
379
344
377
332
350
307
238
387
340
360
350
175
357
343
281
319
276
286
351
282
374
307
272
280
349
212
278
353
274
300
315
297
399
264
332
280
344
259
267
358
318
348
345
269
315
310
311
240
351
291
288
292
235
291
259
372
330
327
336
285
286
295
292
317
342
261
325
353
332
331
315
216
302
200
285
313
373
292
365
387
268
321
377
301
299
337
385
311
323
388
341
270
257
319
308
311
263
237
263
427
346
396
365
348
313
266
261
354
395
300
321
337
311
259
268
287
395
285
354
283
357
329
267
282
366
322
330
316
295
306
324
335
339
320
292
247
304
351
274
316
288
268
242
251
340
310
280
384
281
307
296
388
336
318
314
331
275
370
354
263
313
311
388
262
295
367
359
348
252
260
379
200
274
354
332
319
327
313
262
334
310
337
346
371
309
266
245
328
335
362
344
330
349
296
385
306
334
379
271
279
333
307
322
304
214
304
338
299
325
269
297
376
378
341
346
283
332
308
281
322
310
307
338
321
232
295
269
363
279
350
282
342
330
343
246
330
287
220
304
236
351
346
354
277
356
332
348
343
339
360
345
279
382
355
279
326
251
304
300
265
299
344
293
351
389
342
300
373
339
350
316
334
359
257
365
324
331
370
282
368
251
307
360
344
247
332
283
401
260
274
295
338
339
356
325
334
316
275
286
276
321
300
300
323
291
205
311
316
393
222
279
288
291
355
305
331
308
230
283
349
281
354
229
330
222
299
318
272
363
312
259
368
311
369
296
354
394
303
319
351
289
290
353
292
299
351
351
358
234
267
322
283
244
270
235
224
279
265
378
292
313
256
301
319
285
321
310
271
446
295
325
288
326
354
265
303
346
331
296
297
278
408
290
399
264
263
273
353
321
349
324
282
313
296
348
375
376
351
329
356
292
367
394
261
394
306
244
344
370
267
324
262
346
276
342
324
322
319
289
264
344
242
344
382
313
274
351
372
367
375
346
348
298
312
334
452
365
189
362
376
261
338
285
380
300
264
289
230
359
256
394
330
342
248
313
355
246
305
351
339
305
372
342
288
294
326
345
264
288
223
358
317
353
281
339
340
364
356
343
395
305
262
356
328
246
277
310
364
323
281
256
346
308
305
260
314
341
291
295
356
372
331
294
273
343
320
378
349
253
354
374
374
297
260
267
332
306
280
351
348
326
358
311
361
329
369
174
304
278
282
264
275
298
292
302
353
331
301
291
236
362
280
322
307
293
245
329
305
350
284
293
273
329
283
316
346
297
336
325
323
382
360
365
382
381
317
363
329
350
299
350
344
300
266
267
262
287
295
332
217
330
333
304
290
310
243
342
299
275
372
303
367
317
342
348
292
230
321
305
306
316
345
295
419
276
354
322
306
251
325
334
325
265
353
369
404
312
304
401
355
260
253
307
275
338
367
293
312
243
323
276
365
281
219
248
249
309
246
295
335
339
315
346
388
373
298
337
302
317
287
352
270
309
297
282
304
243
340
287
294
259
364
307
295
326
341
341
337
312
399
230
316
324
308
304
329
324
314
307
307
314
324
315
363
319
270
340
331
264
315
307
313
296
312
349
349
347
322
319
301
313
313
341
332
283
343
290
324
338
255
363
300
329
291
324
358
331
309
263
286
350
351
309
335
297
306
287
226
280
273
335
390
326
257
406
304
388
340
286
214
310
342
441
318
370
352
328
328
273
316
258
331
301
353
182
277
258
371
345
297
278
329
252
243
347
331
361
326
446
348
308
337
275
219
268
334
362
350
320
228
322
301
367
285
431
291
347
338
389
291
213
315
296
278
199
300
270
344
249
300
329
303
266
303
286
333
372
298
242
310
290
360
343
311
341
328
335
372
332
245
336
351
290
290
263
337
177
374
334
291
332
380
343
290
311
289
351
414
283
305
368
366
306
287
350
336
322
281
299
362
244
367
370
369
301
305
378
208
278
314
338
304
235
303
315
281
355
310
345
262
323
273
297
410
285
311
315
305
344
330
240
353
291
220
323
322
298
393
303
297
241
376
344
266
275
286
281
331
275
239
274
246
272
182
330
329
263
332
346
217
313
298
247
388
332
375
266
366
282
312
371
315
337
295
278
300
239
282
398
337
256
312
308
228
309
327
426
365
294
319
328
296
349
348
273
351
253
333
293
275
375
330
327
283
267
228
278
336
362
284
276
365
311
338
312
232
292
205
384
273
309
287
244
325
357
292
249
349
303
319
324
326
272
264
380
249
300
330
421
328
329
345
322
372
317
289
289
367
355
285
288
384
356
283
375
314
338
360
220
342
294
384
353
359
285
376
385
233
293
317
337
338
362
294
339
260
380
312
351
349
244
345
320
274
267
339
379
327
424
348
330
346
371
350
290
391
385
370
257
376
307
336
330
322
332
323
354
321
314
345
354
340
325
345
324
340
314
365
344
288
320
367
231
278
297
382
338
349
280
279
275
378
281
302
217
286
322
337
310
421
331
366
299
352
293
199
312
296
290
356
275
375
353
326
309
340
350
282
261
253
333
364
326
328
264
255
332
279
312
302
340
303
333
242
316
291
333
341
241
311
311
286
283
297
411
275
382
384
334
356
329
279
301
290
279
370
292
326
280
287
299
295
327
312
412
290
274
231
313
305
261
296
276
240
275
305
370
326
327
365
347
353
301
284
355
293
243
369
337
335
294
300
393
281
371
237
308
312
291
246
207
380
409
261
249
359
332
293
344
248
422
292
359
282
352
302
286
302
319
384
309
269
259
343
335
410
292
305
366
327
275
396
293
333
298
272
214
236
317
332
307
386
350
249
262
345
283
289
388
269
356
365
334
194
303
342
270
364
368
263
352
267
326
308
294
340
297
359
386
359
316
253
413
345
350
305
365
323
318
284
289
372
328
303
350
227
375
355
324
336
237
345
252
342
351
318
375
266
322
238
344
334
210
336
321
257
303
342
265
356
351
242
287
332
380
363
350
293
281
361
319
296
262
246
303
285
313
287
366
355
318
284
296
368
319
360
318
263
278
295
356
281
289
233
370
325
233
306
344
320
269
272
266
297
250
301
312
339
310
366
409
297
349
300
327
349
292
273
313
296
356
281
328
334
335
324
352
285
232
383
369
323
314
328
368
338
351
278
346
340
259
406
343
311
404
256
310
296
260
302
326
289
329
369
292
339
315
368
286
273
271
349
342
236
347
344
305
370
344
296
332
292
291
344
327
267
320
307
339
383
297
319
362
369
358
323
324
292
293
314
351
274
296
360
357
338
298
297
325
346
270
257
357
298
342
310
294
377
377
203
314
367
274
323
380
335
282
301
357
323
307
273
325
221
313
270
305
321
348
354
406
314
256
339
295
337
344
313
345
335
376
283
254
184
373
316
291
293
323
318
279
302
276
336
294
299
355
334
319
292
296
383
241
306
386
340
321
335
336
312
320
281
298
304
322
263
242
155
324
292
347
322
365
285
361
315
263
310
286
340
309
291
290
344
316
300
279
320
347
282
223
332
318
252
297
336
307
304
271
330
339
338
269
314
323
309
361
356
302
346
365
276
410
242
330
302
414
363
258
255
284
358
347
335
359
343
338
339
268
307
326
229
330
294
272
261
305
320
321
368
269
334
248
252
312
311
307
304
280
347
371
285
343
360
364
295
280
361
322
308
353
299
235
310
352
243
338
325
199
364
335
325
294
382
313
313
338
357
367
383
297
346
299
329
287
255
362
251
348
274
317
388
323
344
278
288
334
251
308
235
269
305
310
306
281
392
238
329
374
403
305
364
349
322
305
280
341
316
263
364
296
306
337
328
360
320
244
286
349
265
313
303
308
290
321
279
268
319
305
299
359
334
356
257
252
338
304
340
312
343
291
344
357
380
311
384
330
340
403
414
334
277
290
306
282
353
349
319
327
309
343
212
271
404
381
234
229
256
346
337
372
372
280
324
333
366
332
286
356
361
323
401
225
305
360
390
345
338
335
372
295
314
315
264
250
364
302
186
276
286
335
289
251
319
296
326
362
317
265
351
370
286
273
241
337
382
328
308
361
301
378
253
353
268
303
397
229
273
385
304
275
246
340
304
380
300
379
364
383
264
313
312
318
326
329
326
272
320
343
371
287
295
179
396
364
319
289
252
360
280
295
270
266
240
228
336
378
367
322
358
305
242
347
265
276
296
302
310
425
274
365
320
246
353
252
299
303
317
322
338
345
395
359
267
308
279
303
393
343
347
311
296
319
306
308
304
285
316
389
303
330
340
352
277
316
304
316
344
351
313
283
290
358
323
297
309
272
266
351
326
378
315
304
351
229
345
273
333
329
264
299
318
335
334
315
167
310
204
284
368
339
381
325
349
326
304
276
348
206
365
368
371
283
316
304
285
211
315
322
296
352
279
315
365
285
338
318
291
283
258
316
270
306
291
357
300
288
391
244
360
361
274
341
328
369
195
386
372
285
341
371
251
299
290
220
284
343
319
365
312
284
289
349
345
384
326
235
340
337
347
326
279
367
357
303
265
308
367
307
337
318
292
321
315
323
303
299
307
241
296
326
361
220
307
361
332
309
350
322
276
257
282
258
313
384
357
283
331
312
327
355
318
291
379
320
268
318
294
310
324
263
206
308
271
313
400
351
357
289
431
369
326
314
329
400
246
207
377
385
375
397
257
304
258
249
263
351
327
229
238
314
353
357
283
272
226
272
279
302
366
283
288
328
331
314
265
384
330
241
309
307
271
255
295
173
327
362
284
355
352
307
340
362
269
318
305
333
343
253
306
310
285
335
331
279
385
358
331
285
267
315
350
241
337
358
302
316
382
226
396
240
329
313
387
290
307
319
395
260
339
310
301
251
357
349
417
267
342
310
302
314
277
392
282
302
331
363
303
255
285
291
317
332
281
386
389
290
222
287
268
267
380
322
331
340
340
220
336
278
358
358
290
294
430
326
310
268
323
317
330
324
359
250
271
382
357
246
270
370
351
372
375
423
321
304
319
301
289
340
271
313
425
314
219
351
296
254
340
317
221
364
307
319
271
294
329
286
325
317
311
364
290
262
383
259
350
350
296
237
316
281
362
330
269
337
299
298
332
252
288
380
337
280
235
308
264
392
273
254
333
306
341
318
301
316
360
346
331
284
231
278
244
294
326
339
390
343
339
253
366
316
361
259
315
266
336
300
257
296
348
355
333
381
270
416
194
329
337
360
338
267
326
249
322
266
298
299
292
299
340
312
315
292
238
279
348
319
293
375
289
328
251
382
330
349
349
355
261
363
317
271
232
425
369
319
357
338
328
257
214
367
341
275
289
279
308
376
360
281
335
287
321
322
322
350
243
259
334
335
327
299
326
365
300
373
244
289
332
344
349
299
328
288
317
279
379
418
334
300
221
276
312
313
307
345
354
338
329
227
346
207
308
289
337
426
284
397
327
297
273
318
316
321
336
255
344
286
232
251
286
374
281
372
301
321
330
315
373
291
351
328
242
326
335
373
350
383
315
319
325
298
249
379
346
203
178
376
366
315
384
339
230
263
351
340
320
371
342
375
349
372
372
312
237
383
275
351
348
289
368
269
335
277
333
306
222
298
233
290
264
282
292
408
258
316
281
368
295
338
267
318
364
348
248
327
353
298
296
308
286
338
394
309
285
329
376
270
350
335
286
275
356
286
356
310
223
305
255
319
311
407
334
300
339
395
254
361
342
347
258
238
286
280
337
392
247
228
287
274
335
400
347
302
198
341
250
310
312
326
311
290
330
368
386
336
304
269
299
319
353
352
273
314
300
295
294
301
339
184
268
357
359
373
293
289
317
319
339
308
319
312
294
264
275
348
328
370
302
333
351
282
344
243
284
335
275
292
317
387
305
304
289
335
373
353
334
285
307
360
301
321
363
275
322
341
304
415
357
276
366
274
365
329
270
352
283
308
345
343
365
360
331
369
276
341
333
387
345
336
321
266
359
316
354
275
351
346
339
331
263
229
224
375
322
249
415
310
347
288
300
295
306
345
295
280
315
295
328
389
326
331
289
345
274
322
270
292
266
321
287
387
384
289
312
307
366
364
293
244
321
267
350
335
271
372
334
349
400
372
342
228
374
365
269
323
304
322
313
335
260
264
327
385
342
284
327
369
314
385
305
336
310
364
271
346
390
290
352
328
351
330
387
258
304
335
323
347
419
355
331
266
267
305
345
265
262
345
325
347
259
378
319
381
342
349
361
306
307
276
310
378
302
338
369
344
273
273
311
293
286
340
287
374
305
253
335
298
366
303
282
273
323
327
329
334
291
288
348
336
407
315
308
235
295
384
307
366
366
282
298
367
336
273
319
310
258
294
288
291
264
310
294
259
350
344
272
356
337
344
317
313
302
393
367
299
341
246
307
310
233
236
324
338
274
286
279
322
322
321
268
304
311
242
297
390
343
325
375
314
301
382
310
245
328
268
265
304
323
331
332
354
315
247
301
292
252
226
310
270
328
249
411
247
339
233
245
310
316
391
240
361
413
277
296
321
336
305
327
271
316
325
306
296
344
296
390
275
282
317
262
349
406
275
326
426
303
316
306
274
338
307
368
310
357
372
342
327
389
243
345
284
277
284
326
323
298
407
312
360
380
341
288
279
313
329
379
317
370
322
293
310
275
326
334
388
296
364
367
327
237
364
316
353
306
247
315
401
321
250
315
278
320
299
326
334
241
291
307
366
267
278
241
301
228
294
333
319
343
273
269
320
250
314
317
406
269
258
310
289
268
288
367
340
267
303
318
329
385
402
358
357
316
373
356
364
294
301
305
322
260
400
248
279
337
356
310
379
327
313
282
354
314
255
339
325
359
248
384
395
275
363
370
348
352
293
314
263
355
257
179
342
308
310
382
338
279
317
324
345
325
286
318
290
338
299
273
328
329
358
347
274
313
194
276
328
363
380
287
315
337
293
295
348
379
307
350
301
246
250
354
332
275
305
258
300
260
347
366
271
322
310
266
352
306
279
279
325
299
317
384
326
320
330
313
307
301
319
295
293
339
274
318
291
301
372
238
210
273
301
292
296
319
294
332
322
295
315
385
330
354
344
341
414
263
327
322
332
324
245
364
343
328
294
319
382
320
324
358
321
271
244
306
396
281
355
278
303
314
326
341
344
336
302
239
376
350
309
248
359
397
310
268
274
360
358
337
291
303
274
361
251
234
317
320
394
348
260
319
374
304
320
255
269
310
285
372
308
291
274
328
371
301
337
338
228
337
260
325
275
244
367
334
252
303
274
332
355
394
318
304
388
326
345
380
333
322
332
303
381
330
378
277
391
348
253
287
330
326
309
322
348
370
276
274
307
294
356
311
357
236
265
351
346
254
345
325
263
262
236
298
310
337
339
301
343
212
388
441
325
207
355
339
258
407
237
319
348
316
364
196
364
251
349
265
282
386
407
291
393
275
374
284
339
323
331
329
312
322
363
355
291
293
275
360
273
259
179
279
315
378
338
341
271
287
320
295
378
321
293
329
362
348
336
401
365
292
280
311
388
257
278
272
362
342
367
363
316
300
340
313
401
352
369
286
269
348
334
353
291
300
351
282
285
339
250
327
341
328
312
361
371
248
294
372
284
268
178
377
319
302
387
352
370
336
268
353
265
302
260
336
414
328
320
303
282
283
331
398
342
296
241
257
372
371
266
352
259
302
263
320
277
293
312
297
339
242
296
344
324
357
294
307
274
281
314
298
306
297
321
279
260
286
301
290
415
392
177
287
277
340
401
230
286
270
216
331
323
418
306
306
318
318
322
321
285
377
316
339
329
301
279
329
369
273
330
279
249
336
325
344
257
326
293
387
418
349
280
315
377
395
276
351
286
362
275
304
375
358
318
301
306
361
351
282
294
259
276
442
336
295
308
365
340
300
273
303
343
271
309
397
313
355
342
301
281
345
377
375
217
336
302
356
343
335
282
293
228
283
251
235
409
336
300
242
280
321
307
343
312
288
313
349
256
328
286
333
373
313
305
358
239
349
317
260
263
314
292
328
401
323
312
245
361
314
411
258
307
324
309
292
328
327
358
293
251
283
277
335
340
360
321
321
270
248
303
247
266
285
345
340
248
264
258
384
292
315
321
350
358
340
335
204
351
336
300
340
297
297
271
266
362
335
258
273
400
363
330
337
349
311
351
406
368
323
415
358
290
366
299
285
327
282
305
308
331
322
363
168
333
300
328
360
361
273
292
303
325
317
280
346
364
348
352
288
381
311
281
377
385
363
434
322
341
359
403
281
381
343
322
306
324
372
289
354
258
405
312
295
255
370
261
310
292
338
249
271
309
201
348
288
269
284
330
289
313
299
339
246
320
334
317
386
335
379
382
264
380
280
315
192
309
259
330
335
271
320
394
297
291
306
310
358
322
305
259
268
280
341
368
329
288
315
353
360
231
360
330
359
333
281
304
255
313
346
308
328
302
310
326
281
315
248
331
344
249
193
318
350
306
325
339
330
345
335
316
273
241
273
340
382
265
329
254
332
299
316
347
307
378
310
299
308
369
416
329
356
398
371
378
280
307
322
396
347
344
329
319
281
317
312
335
278
315
322
274
312
387
318
313
272
283
338
369
314
254
313
262
347
314
381
297
306
226
328
240
316
348
336
295
331
287
229
223
337
223
219
376
338
336
368
411
254
346
243
320
312
314
258
395
308
338
295
361
224
286
323
355
398
382
337
380
374
313
294
381
430
322
334
390
301
312
373
254
355
240
399
364
252
264
334
369
334
325
293
350
347
348
391
338
262
305
303
217
341
265
356
311
377
251
246
297
281
328
306
261
347
333
385
371
358
347
260
325
402
329
394
329
345
369
272
191
328
330
275
345
292
323
360
270
339
260
311
365
312
355
391
270
284
284
406
240
288
280
361
232
297
335
237
321
335
286
313
305
314
267
260
315
333
335
284
361
288
311
380
382
330
308
253
303
394
383
291
275
278
292
335
389
353
268
207
271
302
257
310
368
275
361
339
236
378
279
323
274
290
315
326
300
277
285
361
320
240
296
398
320
300
251
307
345
308
321
298
330
252
254
384
290
299
309
364
318
358
245
307
378
255
282
351
240
370
314
332
298
369
342
345
224
383
332
335
330
313
288
264
277
255
213
301
242
364
294
326
289
415
355
331
263
261
332
351
342
318
327
321
354
337
343
295
318
280
408
369
264
322
345
383
376
342
336
277
272
233
240
291
351
293
368
220
367
290
306
383
308
323
260
328
320
323
308
343
261
238
281
267
376
340
263
277
291
312
307
323
385
364
351
400
318
298
288
244
354
359
311
296
344
342
309
387
350
216
341
265
326
308
327
359
202
314
341
290
393
394
324
384
332
279
289
333
359
355
269
292
260
332
382
357
311
332
273
264
258
282
345
358
280
173
347
339
401
413
377
322
309
290
384
371
255
385
367
280
316
341
365
388
233
387
249
267
343
315
328
291
223
329
272
286
306
324
253
349
342
295
329
317
327
312
293
439
283
356
372
365
283
324
370
375
366
321
244
345
291
326
304
257
334
289
255
246
317
351
375
243
309
254
278
346
392
258
284
344
328
394
296
326
237
397
372
351
314
349
307
260
323
344
259
290
286
315
349
307
358
332
360
343
322
281
314
326
216
287
246
306
323
367
350
353
278
333
322
290
342
286
308
372
257
313
381
276
279
415
292
314
266
315
226
301
293
265
260
244
335
284
362
365
246
304
329
249
321
305
275
312
337
332
315
324
252
302
248
228
384
291
297
305
311
253
316
394
286
322
319
337
312
294
273
240
283
347
338
285
373
329
356
316
318
296
290
350
400
318
340
330
282
319
290
346
318
249
287
353
253
311
251
267
324
336
279
335
308
311
326
352
234
314
291
333
252
329
276
366
316
240
278
274
308
290
370
313
254
373
259
281
258
338
301
392
348
319
298
402
343
296
322
310
298
332
263
330
384
213
251
284
350
255
326
262
308
318
341
329
192
307
240
438
262
211
302
275
321
291
315
337
310
250
312
312
308
339
312
265
346
272
365
349
270
307
306
347
413
392
388
335
328
373
282
251
258
312
290
267
338
369
356
267
330
273
295
321
375
289
284
270
276
220
316
241
245
393
318
314
323
334
327
368
377
261
299
396
397
328
317
310
283
280
396
350
328
341
230
361
292
386
229
308
313
291
271
244
296
360
328
256
353
393
229
321
267
337
361
325
305
243
226
276
334
265
296
337
277
316
270
257
281
290
387
350
321
266
310
295
295
328
344
292
359
344
264
331
291
345
344
340
258
278
336
306
236
304
275
293
270
358
324
325
283
312
227
331
331
318
276
255
329
367
348
391
257
328
336
362
331
209
386
339
334
317
346
328
299
299
211
307
295
309
295
334
320
292
410
301
281
292
284
333
236
278
361
256
315
297
389
364
236
286
386
282
342
336
349
252
225
260
262
347
345
349
362
374
248
330
394
272
291
282
320
249
332
246
265
274
282
342
229
287
360
287
337
304
337
344
301
305
332
279
396
392
356
327
305
291
267
323
261
339
301
321
293
304
299
381
336
382
290
334
327
229
243
391
230
227
288
344
378
314
276
355
318
372
326
325
323
333
370
358
316
357
335
240
355
293
353
220
308
303
370
403
332
254
244
367
303
278
233
362
312
380
324
340
295
272
414
341
368
285
353
323
223
332
334
327
275
313
294
280
353
342
320
350
353
334
257
292
254
353
325
306
329
313
334
385
307
331
323
346
264
323
317
291
313
294
367
324
272
289
329
293
363
338
278
345
370
331
378
279
331
267
280
375
328
338
327
378
280
298
341
412
331
281
343
299
412
383
350
297
321
232
308
281
290
421
278
286
321
412
314
301
354
314
370
255
327
319
408
305
379
304
306
311
330
285
338
297
361
393
323
323
248
322
232
355
346
293
334
355
261
279
315
295
339
290
274
314
331
341
327
319
292
383
245
337
262
258
372
285
344
309
286
331
285
384
358
364
313
302
391
327
333
278
303
312
334
386
284
298
366
277
312
286
371
293
243
275
396
266
333
349
314
369
263
362
264
268
386
363
377
277
289
290
234
209
304
286
259
300
385
278
361
298
276
207
245
307
284
317
363
361
335
333
348
361
289
318
340
386
313
279
353
372
407
253
333
287
293
389
302
334
323
254
270
365
310
329
384
304
394
256
313
259
347
333
264
422
377
244
339
287
247
272
404
278
325
386
342
307
334
336
323
345
353
343
402
305
337
300
341
341
297
314
193
283
252
291
291
407
236
411
364
292
336
318
255
339
336
242
277
310
368
320
312
261
328
213
257
311
380
363
324
356
345
339
360
222
245
326
368
273
246
294
281
290
349
187
327
288
260
356
352
224
280
414
262
325
343
248
391
289
236
246
284
363
324
342
392
261
281
285
340
334
283
348
301
338
304
228
271
323
411
339
341
314
370
314
237
244
340
316
282
304
351
335
302
298
363
265
397
356
379
271
394
328
348
363
333
305
335
279
330
373
238
351
254
263
369
340
294
247
278
263
307
254
312
253
249
299
319
263
304
396
260
323
233
314
358
325
200
326
273
350
317
343
353
348
221
271
332
338
326
308
397
352
278
352
295
292
403
375
309
353
316
357
296
369
284
324
330
288
323
356
321
288
300
369
318
229
331
385
289
339
266
334
281
331
290
329
309
251
313
291
350
343
323
297
328
356
337
377
302
351
335
302
338
304
307
241
359
378
335
306
336
299
301
405
324
352
251
327
333
317
331
382
296
348
327
328
319
330
272
243
312
217
207
358
330
380
349
298
290
388
297
342
267
273
356
264
325
329
297
254
290
371
255
241
324
285
379
337
365
314
331
229
350
251
328
275
335
344
262
264
307
329
289
266
342
299
357
305
216
299
317
384
383
326
346
274
345
335
312
338
316
341
310
256
291
324
278
313
341
337
361
317
284
334
344
283
316
267
371
281
295
251
259
277
298
328
260
275
206
428
334
232
265
330
342
279
356
284
259
319
336
317
404
370
303
269
256
298
327
340
356
292
340
269
313
348
272
364
259
324
332
288
260
341
275
391
263
315
258
275
278
254
349
258
321
262
315
278
366
330
374
250
274
386
278
214
305
329
339
309
342
342
313
305
304
381
282
302
291
275
365
261
303
337
326
311
368
279
276
391
392
269
312
386
325
315
285
332
357
267
342
342
291
319
320
239
281
287
303
334
299
343
351
382
307
363
313
292
343
304
294
300
280
387
380
231
252
343
338
245
358
360
301
315
290
316
288
346
294
284
238
348
320
295
298
260
297
335
272
291
319
347
275
271
259
351
271
370
301
313
317
304
356
273
341
281
245
358
336
309
281
270
417
323
349
324
254
371
347
248
354
259
333
396
395
311
297
320
315
332
344
381
330
348
319
286
260
310
297
323
313
319
307
322
388
232
318
297
405
384
261
295
351
220
407
277
283
284
388
325
387
326
374
302
239
357
283
238
258
210
325
344
280
317
346
286
371
285
375
316
264
222
266
267
306
288
289
258
307
295
264
276
264
285
461
353
380
220
353
378
343
325
301
354
317
357
336
308
314
342
214
379
329
375
376
253
377
301
365
270
361
281
287
279
305
245
360
328
250
281
330
303
369
401
319
241
240
272
384
286
320
390
408
175
303
294
370
310
254
334
349
297
347
349
314
260
295
346
313
330
350
403
253
272
304
329
407
380
250
278
353
262
295
380
285
336
358
233
396
320
339
311
379
323
334
329
376
244
382
330
314
303
327
382
280
228
271
331
349
399
293
414
317
339
383
410
315
377
289
290
356
371
331
326
337
266
332
353
308
320
333
311
387
332
312
288
339
300
234
295
259
389
322
316
271
327
315
330
343
314
247
401
318
320
413
342
270
357
302
244
290
272
356
300
356
366
295
245
346
328
255
362
280
264
257
395
264
270
319
346
298
366
299
326
289
269
358
323
400
320
295
286
323
213
312
340
263
353
351
397
284
365
343
355
302
372
404
327
374
187
359
264
378
355
347
391
321
216
353
362
317
307
263
319
335
334
295
272
353
388
276
342
370
337
243
366
363
385
237
303
292
287
379
326
313
275
313
319
239
337
325
318
257
282
313
321
341
343
320
364
307
373
281
340
260
359
362
391
312
289
298
318
358
215
333
264
293
316
366
382
397
303
340
296
338
365
342
263
257
297
352
341
267
354
356
315
255
365
317
275
334
345
256
239
339
321
277
343
383
226
256
341
298
313
305
329
273
248
349
304
321
300
348
251
295
324
366
262
265
324
318
341
296
316
288
248
307
382
340
266
363
312
253
289
286
374
260
325
369
381
349
263
310
298
342
389
334
346
384
272
318
264
361
321
361
313
371
395
303
322
409
304
278
412
359
308
255
219
281
348
323
354
345
380
319
388
359
353
327
282
280
363
293
375
264
352
378
274
356
288
289
282
244
303
344
348
329
288
285
337
275
351
341
400
366
247
354
367
284
292
284
331
269
272
302
290
341
292
281
364
385
326
241
413
346
300
260
372
243
296
263
319
377
340
291
309
256
394
304
287
240
320
352
225
287
303
338
300
269
285
386
332
304
218
313
358
271
296
355
318
371
331
390
410
272
322
277
305
242
266
369
269
265
314
354
238
349
243
351
256
213
416
350
258
406
409
294
279
392
337
289
311
325
336
338
317
347
373
292
336
302
342
355
256
314
396
330
323
424
387
319
293
316
321
349
304
358
306
313
399
357
260
351
294
264
304
361
407
361
315
373
386
323
256
257
324
327
364
217
395
375
341
303
351
329
239
184
347
324
329
343
331
366
342
350
318
301
381
277
350
359
251
261
258
341
274
285
308
359
313
255
331
307
236
301
263
311
289
309
327
324
313
273
277
290
349
318
234
306
268
282
240
366
317
302
221
360
370
367
357
365
328
318
304
418
232
284
224
279
236
292
326
329
298
346
363
369
379
361
342
333
272
384
345
300
281
243
257
316
245
325
307
337
349
419
313
277
344
305
283
312
309
210
370
366
304
296
331
319
319
238
261
354
356
327
373
260
283
390
338
244
338
342
297
281
296
200
305
361
407
333
258
304
251
318
330
249
361
272
357
355
304
313
337
257
306
242
374
316
332
252
310
280
312
376
315
326
327
286
304
333
378
273
315
300
421
349
299
322
291
251
270
365
229
290
325
286
395
326
291
257
283
319
291
278
351
293
365
301
343
230
294
367
248
347
249
377
258
283
323
339
264
261
276
281
257
342
305
329
293
355
306
345
368
264
240
250
378
260
337
284
266
291
306
301
270
341
357
226
418
292
251
270
342
350
337
293
359
359
390
373
297
322
254
285
287
311
318
314
291
353
307
390
354
268
254
387
290
340
317
297
302
343
350
279
332
355
267
342
277
294
342
313
332
303
302
317
306
364
363
262
405
340
355
308
316
307
279
355
392
320
309
346
352
404
310
354
355
325
306
397
319
321
311
398
345
358
364
247
323
258
320
381
296
287
330
345
195
288
311
284
274
334
227
282
285
341
277
306
370
336
330
375
307
243
318
290
258
411
288
328
306
329
294
327
325
280
289
369
313
354
228
316
315
322
293
300
254
322
335
326
375
356
373
387
311
257
391
243
295
238
316
274
318
306
240
303
305
341
354
329
347
246
309
232
332
265
282
292
307
354
372
325
330
278
318
359
338
394
330
244
308
310
356
207
331
304
244
311
329
377
298
315
344
280
294
336
322
360
384
349
315
278
311
269
311
383
353
385
316
297
304
307
336
322
287
275
394
335
325
338
347
291
356
263
295
351
355
320
224
257
253
301
334
352
353
341
299
423
295
276
361
311
365
326
272
268
317
263
319
357
341
329
292
290
269
265
315
296
264
314
251
381
389
332
280
344
314
280
351
354
342
363
253
310
322
304
298
314
307
306
286
332
337
298
302
362
276
373
305
283
342
366
343
268
326
292
326
371
341
305
323
316
337
314
360
299
260
268
278
269
296
318
284
280
368
348
286
287
369
376
307
340
293
316
324
349
292
315
317
308
299
324
283
274
346
290
329
427
375
262
373
309
337
370
325
286
397
337
379
315
230
287
362
334
303
318
215
286
290
282
334
298
256
291
319
364
345
307
286
320
258
379
349
334
331
320
279
283
242
352
332
302
374
339
279
331
388
338
373
311
305
268
317
265
373
345
351
402
325
392
352
333
294
268
332
220
264
272
342
305
243
359
222
307
330
376
362
358
315
287
364
331
313
276
335
346
343
349
253
351
265
233
367
353
329
296
337
287
405
335
291
357
231
363
241
293
308
345
276
340
239
390
312
335
345
328
320
175
378
327
195
310
298
282
377
391
258
367
385
358
352
259
352
344
293
299
320
343
338
360
234
270
345
278
337
322
358
303
363
286
345
332
312
327
334
321
318
422
301
272
375
330
379
380
324
378
318
306
347
303
380
348
242
359
220
287
343
288
304
285
245
359
371
243
289
313
364
271
212
289
341
327
216
329
286
347
278
286
326
280
311
174
384
275
287
290
329
334
280
346
253
208
317
325
378
382
373
277
340
364
254
360
332
219
326
318
320
264
343
373
351
293
274
332
334
331
319
234
327
250
335
289
287
369
307
278
358
296
315
294
350
302
309
307
378
315
271
353
292
320
386
337
381
281
288
346
353
339
254
307
341
308
325
310
324
278
380
313
283
208
348
277
345
363
270
365
329
331
301
316
313
338
300
347
329
316
270
311
290
352
277
361
326
193
376
428
322
276
323
333
332
295
388
264
259
373
358
323
371
280
351
316
267
306
387
319
370
296
296
303
273
304
281
354
332
273
346
284
235
272
352
331
391
314
257
359
309
223
332
363
353
310
273
366
220
299
310
272
340
353
274
304
307
349
330
316
365
307
366
366
326
367
341
352
350
330
319
234
264
298
249
357
325
314
362
323
407
326
316
309
304
348
323
314
380
322
411
220
328
255
297
276
311
348
351
306
372
323
358
345
333
334
254
295
314
288
329
378
337
265
309
235
226
263
417
263
317
298
311
335
230
271
348
241
261
278
325
283
313
369
286
233
328
337
371
370
335
352
251
314
382
295
333
334
330
334
230
288
317
251
333
393
318
315
282
346
360
266
277
345
300
288
290
310
199
253
278
313
291
283
317
405
322
289
298
320
288
387
344
320
317
386
301
349
322
363
306
337
369
397
278
342
351
322
296
294
297
379
306
311
253
230
309
366
390
317
302
375
335
310
264
320
296
336
281
310
307
286
310
336
381
332
368
349
279
274
343
352
314
284
305
281
306
394
351
317
277
330
299
290
344
352
295
306
341
315
397
272
320
213
379
327
333
333
330
291
332
357
208
341
329
326
275
275
318
322
256
281
310
322
345
348
311
300
276
325
304
361
289
332
364
281
376
373
384
362
314
286
297
265
351
279
320
329
340
271
309
365
345
294
379
377
307
282
308
337
346
357
379
338
360
241
274
296
386
360
347
296
239
308
357
337
311
380
342
371
321
361
315
282
361
363
343
255
333
312
349
322
366
290
287
298
261
342
236
285
290
324
345
235
373
310
355
372
261
310
306
286
285
313
274
229
268
417
289
312
291
320
327
271
322
323
343
304
275
368
408
271
320
266
358
355
360
298
323
328
303
336
414
345
327
327
293
298
325
381
318
334
277
374
333
276
308
290
367
353
265
266
276
345
324
329
241
309
317
295
272
343
256
316
291
370
268
292
313
325
336
269
305
330
301
354
325
244
300
374
273
324
290
354
289
357
182
301
332
363
367
241
316
270
312
313
284
317
325
317
339
242
364
383
276
334
346
382
338
294
359
310
309
307
304
256
313
282
364
360
291
279
330
280
289
250
384
367
304
315
274
407
315
302
334
232
230
347
253
312
323
230
333
312
353
204
283
251
340
261
317
240
346
255
304
320
273
274
327
293
303
395
327
304
307
297
294
270
274
382
389
344
269
353
340
357
374
302
321
330
268
279
349
310
374
434
316
251
273
371
319
354
258
307
376
300
288
314
288
342
289
344
299
331
222
338
303
286
403
268
332
306
355
370
267
280
324
267
279
289
388
326
333
363
206
255
390
445
339
317
280
338
348
335
293
277
331
237
313
208
320
368
327
366
288
323
338
231
348
243
251
366
279
366
307
298
314
307
273
342
334
310
331
371
419
395
310
307
304
393
316
294
322
376
330
338
406
291
267
283
270
260
350
349
233
323
330
319
341
310
316
276
369
303
360
309
223
369
302
352
352
268
377
320
318
227
378
291
362
274
274
296
393
305
317
224
380
382
338
252
306
307
309
312
276
343
269
348
350
325
279
324
318
323
340
314
310
324
341
350
318
283
306
351
288
267
262
286
324
317
320
373
342
293
315
353
313
363
382
292
319
402
348
304
307
316
369
355
356
327
261
319
261
294
285
343
345
257
295
284
388
277
314
341
329
264
373
323
306
322
340
292
344
381
334
299
288
375
346
310
367
364
301
361
376
422
329
368
378
237
364
267
271
293
347
300
320
357
320
376
336
378
260
235
335
306
274
296
263
292
311
319
330
281
277
341
210
377
335
293
331
252
239
326
295
245
399
302
396
343
357
281
350
236
292
340
380
369
309
305
285
327
278
288
229
308
273
350
254
311
256
275
314
309
325
322
257
301
316
329
361
293
381
368
356
276
351
327
401
326
341
312
274
286
280
334
290
293
322
260
294
357
337
369
302
282
296
308
299
287
279
321
381
280
383
304
267
291
284
326
325
303
309
217
291
301
277
277
342
283
364
261
289
323
242
330
256
395
250
314
247
299
279
351
343
295
324
314
212
319
206
309
315
329
322
279
253
369
342
296
321
258
307
357
302
347
331
353
318
410
345
356
355
269
279
359
318
358
326
272
360
301
273
221
269
256
290
360
326
379
349
347
324
379
398
354
419
268
405
292
380
327
373
270
249
302
276
317
349
283
316
309
355
241
314
362
270
299
317
349
306
206
352
338
368
419
196
357
302
352
284
332
239
271
278
319
342
379
335
317
425
337
341
414
295
259
391
278
337
396
270
339
263
333
269
331
207
309
327
333
344
265
376
342
361
421
339
292
286
302
260
332
279
346
326
297
380
381
328
352
308
302
346
272
398
320
198
342
291
213
380
351
251
220
261
308
327
361
325
251
361
323
328
314
366
267
368
336
337
354
320
286
282
266
322
268
334
318
263
336
421
321
290
289
281
386
304
320
181
296
297
289
372
414
382
351
327
361
271
333
328
411
323
355
338
345
395
190
307
392
276
276
315
345
311
279
321
345
273
318
321
334
337
263
458
265
297
337
360
290
338
309
315
377
331
335
286
341
286
361
274
322
332
339
315
266
334
279
371
406
190
295
394
339
334
317
237
301
235
303
290
383
331
356
348
324
335
237
279
344
267
309
239
313
325
207
337
306
281
312
313
293
406
402
377
319
347
355
372
320
388
294
307
273
331
309
342
313
299
299
367
282
287
313
254
368
361
361
364
276
293
360
351
242
293
258
259
314
247
368
303
319
397
349
360
327
307
301
265
321
392
353
222
324
286
309
242
244
290
323
298
381
335
332
304
282
324
335
403
279
277
244
343
321
207
218
318
337
333
285
337
281
285
384
364
361
337
302
309
331
195
287
351
295
362
232
311
310
340
257
290
281
277
339
318
254
393
298
325
338
329
364
267
300
303
276
337
281
231
261
274
255
326
378
277
282
313
350
353
388
321
358
333
225
345
340
262
349
279
355
291
385
295
300
294
210
219
369
349
350
331
322
267
366
315
289
323
278
287
307
376
283
344
237
257
316
398
378
371
333
231
255
298
314
333
342
305
287
371
330
332
309
313
355
344
356
285
329
344
367
303
241
309
305
278
349
269
357
300
280
225
392
329
363
338
244
408
250
245
267
280
327
350
273
306
295
346
327
358
397
359
287
303
369
235
337
367
335
291
334
269
333
313
323
299
274
354
335
306
239
296
304
308
385
298
304
293
341
283
230
359
388
362
372
397
314
282
374
308
257
393
284
257
277
252
289
317
315
325
303
375
324
295
348
306
339
333
389
324
350
314
346
271
355
334
338
368
372
348
305
260
352
212
300
261
247
334
350
391
298
364
395
303
243
268
305
276
308
232
257
277
308
394
290
384
369
355
367
329
268
329
333
291
338
316
272
264
363
362
362
249
331
323
300
196
290
374
297
342
238
295
312
381
310
310
317
263
286
309
272
334
392
299
338
341
320
349
316
300
245
278
222
320
352
321
294
333
209
336
310
317
258
407
258
250
309
354
287
321
341
370
272
318
321
366
343
336
376
268
280
282
196
322
315
318
224
328
315
309
340
271
327
305
264
394
315
327
295
283
330
244
353
367
313
328
322
271
337
245
276
186
306
309
309
251
260
337
325
261
304
311
298
363
330
300
295
359
233
344
316
235
216
348
275
334
299
396
323
344
321
274
346
356
315
356
315
227
396
222
275
294
270
303
327
317
242
274
311
274
235
231
245
312
262
293
309
298
338
263
264
282
261
339
291
347
301
313
289
316
304
288
385
284
349
289
339
312
254
345
314
313
269
315
332
369
253
317
302
362
343
283
311
355
282
275
253
313
309
277
376
338
301
248
247
199
278
321
331
271
292
253
325
260
279
305
308
333
342
324
347
283
277
262
352
355
325
270
276
377
290
365
318
367
348
225
367
273
322
333
322
291
305
316
375
357
337
353
320
296
387
289
411
313
274
311
428
342
318
340
338
353
332
328
396
258
368
329
349
356
324
312
266
320
303
321
350
363
349
324
335
290
275
236
230
319
252
356
380
276
346
347
230
280
329
293
422
228
338
372
344
323
357
338
317
342
334
342
313
247
333
324
311
273
282
360
341
241
413
266
330
366
266
368
286
255
297
331
305
331
341
240
356
283
264
215
287
334
300
383
296
282
305
352
316
374
352
293
428
255
365
253
410
329
351
272
351
284
345
377
282
340
334
284
331
382
326
267
352
305
307
322
394
310
326
269
231
361
340
308
311
308
295
395
346
242
315
326
236
299
389
223
270
304
256
299
335
344
274
248
390
380
221
302
396
386
341
285
273
304
247
214
252
311
319
315
188
338
299
355
324
353
292
364
352
303
217
360
262
355
319
314
336
338
361
372
203
318
334
252
259
292
245
346
326
348
270
314
432
290
255
389
322
391
330
304
329
347
354
323
257
332
276
349
292
300
403
357
302
359
365
324
358
268
325
307
252
213
195
289
280
279
372
358
299
278
264
289
345
438
346
356
383
328
341
272
223
338
425
312
254
226
295
337
261
346
352
307
317
331
286
353
336
344
307
325
340
266
312
330
369
296
313
273
268
361
364
277
329
345
296
256
314
316
368
263
320
227
321
305
347
275
359
294
356
272
230
261
214
322
271
301
369
252
317
407
274
274
236
335
290
319
330
270
311
381
314
338
247
206
282
357
319
314
311
305
374
344
272
349
249
336
362
391
352
374
288
308
349
313
296
303
382
310
354
301
289
286
333
432
281
248
303
292
371
358
406
340
365
248
326
333
331
396
296
313
356
315
277
304
190
326
276
363
367
282
338
373
284
341
315
260
280
321
325
325
249
223
375
292
268
299
376
267
318
319
372
341
254
377
297
320
315
312
319
340
352
333
387
414
322
403
253
335
388
364
399
317
339
357
242
346
222
308
260
310
285
295
316
291
375
318
359
300
275
301
268
266
343
352
340
312
316
333
333
253
280
410
259
258
408
320
327
292
296
312
272
359
325
306
270
276
404
318
382
341
188
283
312
294
277
307
379
363
273
339
289
312
312
271
271
342
256
333
247
291
207
329
263
328
281
257
315
310
284
342
340
351
375
354
357
389
320
311
293
342
222
335
345
250
339
254
278
302
377
318
275
293
303
267
239
344
281
299
291
358
263
276
327
344
335
347
361
333
344
382
357
260
320
363
265
334
324
346
274
312
359
343
369
353
348
352
267
345
287
268
287
287
349
374
340
387
387
351
284
334
291
335
348
304
348
362
360
333
314
359
293
334
390
308
359
358
310
331
281
328
314
381
309
250
370
375
365
365
331
248
296
284
310
291
254
354
250
324
362
226
343
239
306
308
284
293
382
312
286
405
355
274
255
378
339
393
266
301
345
329
415
295
356
324
227
328
360
323
217
315
338
350
361
251
405
309
330
401
329
322
331
266
308
345
341
286
357
302
404
283
312
323
267
320
287
313
333
393
328
364
337
242
323
307
321
280
301
329
296
304
369
314
280
304
331
286
319
338
323
321
396
238
304
215
284
318
305
351
400
349
338
324
309
294
347
333
286
377
336
366
265
401
327
294
278
252
341
367
356
305
303
218
343
287
333
240
268
327
365
274
274
317
230
313
423
233
322
248
363
353
347
391
320
314
328
285
366
351
264
282
375
281
234
350
327
324
247
350
217
274
328
324
341
308
291
247
310
385
293
284
317
294
300
362
333
253
253
354
303
310
267
343
332
354
344
387
321
295
358
299
326
254
307
282
301
404
196
265
375
291
324
269
278
269
271
306
256
378
350
312
243
158
266
299
320
331
296
307
321
313
342
259
253
315
315
263
310
331
340
270
232
296
389
315
276
345
380
342
346
344
367
305
416
276
295
264
235
300
359
216
314
322
282
316
304
297
351
394
243
299
287
363
297
277
292
273
261
220
267
340
314
252
332
272
280
298
346
306
321
311
293
380
299
239
368
366
262
317
314
269
308
308
295
309
335
332
362
217
279
322
269
373
286
311
304
306
386
215
331
340
293
329
326
268
270
316
357
392
334
290
296
351
310
302
322
348
341
394
222
356
340
257
244
380
292
321
338
272
325
333
246
345
270
356
279
346
212
308
362
285
289
319
321
369
450
320
296
297
354
323
327
301
290
268
324
322
290
308
283
376
359
349
371
355
381
296
286
343
265
356
356
327
321
243
308
376
293
413
267
328
259
242
264
269
243
349
297
294
302
165
280
301
367
338
273
331
345
351
313
367
382
345
263
303
241
278
390
321
318
320
390
301
326
335
366
314
314
266
269
270
318
289
291
235
312
398
321
297
352
304
378
352
367
368
319
336
255
345
256
288
335
298
275
332
271
315
303
254
283
336
313
320
308
334
379
258
359
290
312
288
264
394
339
293
307
363
369
383
260
306
350
366
330
304
381
305
269
350
339
301
366
264
236
375
309
335
292
366
341
320
252
289
273
286
282
376
248
305
342
355
219
292
387
312
342
243
301
219
359
328
313
242
257
281
320
355
310
361
267
357
273
304
193
331
260
294
303
299
400
348
318
238
240
320
328
315
341
253
307
261
301
283
297
382
317
259
327
357
331
364
356
372
323
341
342
330
254
316
323
316
337
445
332
325
336
200
300
310
273
323
406
365
245
332
294
309
357
444
362
354
345
327
305
339
302
353
340
273
329
373
303
351
296
322
324
334
376
322
277
325
340
295
325
383
361
323
445
221
352
328
342
307
320
279
319
336
328
321
314
385
273
418
319
205
253
268
349
307
312
242
309
321
322
315
295
356
345
256
252
267
300
261
357
235
222
319
324
275
270
207
333
341
216
289
384
349
297
307
336
304
296
287
283
252
310
291
279
321
285
301
344
317
340
281
337
278
320
278
308
361
281
331
187
249
345
395
402
372
324
296
235
264
358
351
285
333
315
254
318
320
291
366
257
317
364
324
323
331
276
365
320
343
349
317
312
369
394
319
320
284
318
330
170
377
309
281
255
303
324
266
258
345
371
298
371
262
289
353
275
380
361
301
353
355
347
284
302
365
320
289
345
311
432
296
381
268
365
348
341
294
362
284
250
308
249
350
279
376
332
324
232
306
312
313
236
306
275
311
325
219
315
318
228
287
275
391
282
260
320
315
344
315
292
331
285
294
368
356
290
332
313
324
250
362
333
302
246
344
254
292
391
334
369
360
246
301
259
282
319
282
353
341
357
252
319
276
312
332
192
398
278
199
321
315
336
381
284
384
338
358
290
256
281
276
315
241
308
307
347
390
273
334
321
327
361
298
294
340
353
381
311
403
260
316
229
327
337
380
322
291
357
369
347
330
317
225
319
332
331
197
392
253
377
270
217
318
265
295
325
227
338
263
318
331
395
327
301
344
262
349
357
329
343
323
377
418
375
327
291
285
283
286
328
353
246
345
285
414
271
345
362
307
337
284
288
358
343
340
274
330
278
299
363
394
364
350
308
223
330
388
368
386
393
296
282
362
278
324
250
342
325
272
237
355
286
260
357
307
331
285
293
378
269
307
306
332
321
267
372
353
245
332
337
353
280
303
274
340
311
266
283
348
405
352
326
316
335
378
297
402
328
299
353
318
188
257
368
329
302
328
287
320
217
338
286
319
418
257
322
295
238
318
376
360
355
267
283
410
313
291
343
254
264
300
421
279
308
379
251
273
325
280
284
296
258
344
352
389
297
269
355
274
337
320
230
363
307
352
253
363
344
258
379
298
342
369
340
342
346
242
322
227
339
365
245
260
316
292
351
341
293
316
287
395
323
361
283
277
332
279
399
296
329
309
411
309
277
352
337
374
326
361
360
351
243
250
313
320
301
364
304
252
342
324
313
350
312
251
348
254
308
346
378
304
334
287
327
377
274
364
283
352
259
361
305
289
303
381
385
372
327
322
270
226
351
376
235
237
334
407
314
240
283
351
278
267
324
237
352
302
360
369
340
271
381
225
274
321
384
323
330
262
329
398
346
370
268
316
241
251
369
290
378
401
281
335
387
368
322
365
342
319
304
270
333
325
425
327
326
328
344
254
300
332
321
256
232
365
315
230
346
297
319
296
336
347
332
310
349
285
331
299
206
363
313
343
339
415
281
357
324
358
315
322
331
331
269
397
306
343
322
266
410
267
295
304
302
336
411
322
347
283
361
299
343
336
339
282
305
266
388
347
322
279
263
315
301
325
268
260
305
277
217
351
255
242
353
384
299
301
236
211
332
235
337
302
308
314
384
228
312
338
328
342
295
288
255
313
379
290
328
421
294
338
296
274
334
326
306
264
378
331
268
310
332
307
270
344
316
205
345
366
324
358
276
312
411
261
303
267
328
370
323
306
288
376
330
301
334
394
284
377
345
341
371
336
271
290
359
332
316
330
263
345
295
366
339
310
324
362
381
311
292
276
187
316
331
348
284
357
228
313
320
316
308
354
405
278
340
337
347
278
311
245
320
308
398
382
238
361
266
329
324
291
327
337
296
375
275
314
262
391
327
342
352
344
221
299
333
308
311
367
290
342
269
307
313
291
400
320
349
300
307
266
283
319
226
306
254
208
280
237
350
331
412
430
338
363
342
317
297
354
332
263
303
347
343
282
326
343
381
350
333
319
340
402
384
314
372
346
358
385
351
321
267
386
357
409
398
308
283
332
336
242
349
318
320
320
285
361
334
342
345
323
314
251
331
300
333
293
298
363
356
275
362
374
302
247
297
264
281
305
370
294
258
288
341
331
232
277
333
282
338
374
296
301
375
365
287
267
354
275
271
356
325
317
304
339
349
323
327
230
331
294
277
309
267
325
290
310
205
362
250
299
338
337
326
324
435
311
266
249
306
317
306
319
381
375
342
344
346
237
320
352
384
340
328
281
245
329
382
304
397
349
374
380
331
329
286
316
304
292
328
354
334
246
393
252
358
396
265
292
365
350
356
256
261
309
267
344
251
352
369
292
276
364
318
299
309
371
240
286
232
339
269
318
278
291
271
358
283
277
371
276
324
331
323
371
269
358
260
322
337
291
286
260
351
310
266
348
249
331
364
301
371
240
352
335
275
356
270
319
303
274
390
380
323
351
248
372
241
293
332
309
249
323
390
183
355
297
298
422
294
301
368
282
383
283
305
289
290
384
374
312
336
334
303
330
385
322
367
329
304
215
360
336
429
310
375
341
370
288
348
288
282
340
364
314
280
342
289
217
327
325
371
305
267
302
300
184
309
239
366
320
335
308
308
398
321
332
372
318
379
287
275
319
360
304
226
368
412
415
246
323
344
317
376
337
303
330
312
322
312
416
412
293
308
247
328
277
327
327
347
281
313
312
289
303
406
304
312
361
250
345
373
286
268
374
293
291
351
354
234
346
372
317
350
366
305
207
333
379
291
374
325
247
262
371
397
251
243
297
333
370
251
293
364
289
363
349
387
343
191
303
341
337
269
337
287
318
263
289
267
329
295
314
287
313
355
375
344
343
239
317
242
310
314
354
299
284
388
421
356
432
300
316
247
328
293
323
294
296
268
345
295
286
382
337
376
228
352
285
324
324
289
328
334
356
344
310
274
423
318
339
414
250
323
286
329
327
350
331
321
287
237
354
381
390
279
312
288
314
295
336
279
372
344
297
334
272
219
321
314
335
368
349
325
410
329
334
350
297
254
274
329
358
338
263
264
308
283
340
293
333
357
208
285
311
343
290
285
289
317
293
292
331
294
348
286
306
268
347
248
305
297
282
240
258
236
202
310
428
345
345
344
341
401
362
340
345
290
300
338
325
280
307
361
279
318
329
322
310
366
315
354
360
359
310
366
397
394
366
251
362
308
365
341
338
264
296
306
391
357
339
414
324
305
361
276
329
275
288
256
324
354
218
295
366
282
289
272
357
361
262
337
259
338
377
407
200
430
247
346
304
307
326
348
222
395
333
367
343
298
355
328
359
364
343
233
352
361
268
298
358
354
260
327
386
325
320
235
322
257
302
300
277
393
300
298
375
325
321
281
261
314
254
284
334
413
233
256
252
361
184
386
319
429
296
356
252
336
357
348
355
316
306
347
330
338
309
367
331
313
243
327
262
336
307
340
288
362
342
343
331
351
365
225
324
290
302
299
321
343
330
381
347
390
288
323
355
311
208
355
291
256
304
291
294
288
295
309
307
352
235
293
284
268
332
266
328
329
312
292
228
320
276
309
351
259
362
341
280
320
265
290
356
375
340
266
391
339
302
299
323
267
395
380
270
322
301
237
280
352
329
317
250
357
353
319
278
321
314
376
344
311
319
208
310
276
359
267
310
299
281
279
366
320
332
251
295
371
303
333
315
310
297
323
198
258
311
313
328
356
316
270
337
261
302
304
311
395
379
235
378
323
292
296
323
322
293
263
276
289
328
280
397
305
320
348
260
356
394
346
295
205
354
290
239
389
347
296
274
349
367
388
330
321
292
352
416
380
287
282
365
322
370
374
250
296
324
278
288
337
349
261
298
339
332
305
371
281
248
299
324
261
319
276
320
298
352
285
384
308
353
370
285
270
310
289
240
324
337
316
303
278
241
335
240
378
321
345
308
310
320
342
325
258
326
278
415
307
350
349
279
271
240
265
285
226
283
277
405
389
306
359
355
255
335
302
359
380
288
297
339
354
291
309
317
340
256
275
304
340
394
267
368
387
304
317
283
267
298
280
296
342
292
376
316
297
373
357
305
306
313
374
300
371
335
260
355
344
341
240
319
306
296
302
356
376
294
274
337
341
276
356
281
334
328
278
273
381
361
285
260
239
262
255
305
342
243
306
277
345
330
298
341
349
294
340
318
255
278
351
264
377
310
277
324
241
363
313
296
314
300
244
413
318
311
309
234
349
298
305
313
263
326
373
343
279
302
327
300
401
229
321
312
282
301
300
360
297
240
282
399
284
223
351
215
335
306
373
228
347
357
358
307
305
288
333
337
369
454
213
300
361
328
299
351
270
269
333
314
352
284
299
319
216
340
318
305
395
325
313
357
396
234
331
291
410
302
307
320
250
295
338
346
262
383
289
315
264
264
286
283
355
371
275
264
339
190
327
335
282
324
299
305
250
319
352
331
261
322
326
246
369
320
243
295
317
332
320
323
267
253
304
379
379
255
333
267
296
321
367
306
336
298
381
314
247
331
306
326
314
282
313
249
371
397
374
323
331
361
256
321
323
330
299
333
346
369
350
247
254
233
323
343
345
357
395
344
332
305
330
274
195
336
308
326
287
314
259
267
303
360
255
346
397
300
330
313
331
322
285
388
357
240
256
314
294
326
382
254
299
309
318
388
373
309
216
259
263
277
289
379
301
306
325
327
304
329
250
341
273
366
314
340
257
304
303
356
186
311
365
328
282
326
265
324
323
389
320
257
323
353
207
264
348
383
341
347
311
250
314
221
333
274
348
296
260
250
295
327
241
321
268
288
342
288
389
373
371
250
316
395
273
309
287
342
349
316
351
378
316
307
301
302
325
373
336
276
268
365
339
382
233
326
381
336
246
320
286
302
349
394
321
263
306
397
316
299
295
338
333
313
246
213
351
265
337
190
244
309
343
264
328
317
411
314
332
348
385
333
374
328
298
305
358
304
239
335
292
351
300
386
238
393
272
343
247
275
329
304
343
230
326
289
361
298
321
303
372
258
309
360
318
308
317
438
395
272
309
296
330
341
256
322
273
387
277
394
338
264
260
341
231
267
283
344
310
268
342
278
239
386
229
307
277
286
340
358
295
365
357
330
251
408
365
315
377
249
338
321
265
301
240
253
342
304
359
326
304
310
308
312
370
395
300
318
431
419
328
285
413
369
344
247
316
301
359
382
337
351
350
342
282
393
364
319
371
307
305
227
264
226
339
361
274
380
357
383
275
277
336
343
419
314
257
270
388
337
290
379
217
292
327
339
346
345
324
265
287
291
297
309
335
326
312
398
331
348
300
336
279
259
317
283
272
316
366
351
338
301
285
262
339
291
396
297
343
396
391
300
314
341
321
293
334
275
311
377
231
278
279
357
362
321
253
304
325
271
378
339
272
325
299
308
377
311
245
328
304
367
285
335
363
359
387
357
300
339
436
333
295
368
332
338
364
356
331
269
336
361
312
365
287
351
348
353
319
341
311
213
311
332
397
394
400
272
347
309
297
326
315
278
253
384
264
289
313
223
323
309
271
278
350
325
278
301
339
263
261
224
362
327
326
258
295
360
303
396
243
341
334
322
269
281
285
279
339
314
373
345
371
417
348
275
317
309
359
273
341
281
343
287
277
346
287
266
322
311
288
302
348
247
325
361
338
281
277
310
296
334
283
323
254
371
312
259
335
392
295
405
340
337
381
302
334
344
321
314
221
317
335
332
321
307
248
308
353
352
307
347
365
331
293
290
297
361
287
328
301
326
316
299
340
251
340
353
289
329
341
300
350
309
317
308
311
396
364
331
336
404
375
343
321
301
301
264
308
369
213
375
344
373
248
371
364
332
328
316
377
321
222
322
265
295
320
295
291
317
329
329
233
292
283
404
351
367
289
371
308
239
347
365
317
237
360
311
287
270
301
351
323
290
346
366
296
261
303
373
412
325
367
372
314
250
363
365
300
346
224
334
337
372
341
345
279
330
321
393
318
314
226
336
406
277
237
271
322
349
307
275
282
345
342
292
304
323
313
268
297
264
269
342
327
329
307
330
284
247
286
305
340
338
332
263
213
226
330
288
243
352
317
351
387
241
319
230
351
352
352
349
304
200
282
358
307
407
288
263
363
276
326
315
252
274
372
304
339
244
297
415
343
309
326
363
354
257
339
322
362
164
298
260
303
411
312
341
242
234
328
333
349
298
266
436
305
299
295
343
305
311
383
346
337
263
242
333
314
347
337
385
293
249
279
209
274
363
312
270
374
250
285
351
323
341
293
350
253
329
318
310
312
312
290
376
285
318
318
433
347
302
343
305
347
223
291
317
332
316
301
366
235
330
328
318
303
278
363
246
270
346
325
269
373
228
210
365
347
312
360
222
317
311
305
369
343
281
326
262
314
384
259
275
281
314
288
292
269
326
289
247
353
331
351
297
304
273
314
289
378
276
307
248
299
337
242
372
352
340
270
268
310
282
365
319
372
375
396
348
317
340
337
276
359
294
338
250
299
314
275
352
323
286
338
369
307
288
324
301
260
304
328
254
339
328
259
245
395
361
281
279
320
383
250
394
339
234
336
306
311
342
330
258
386
332
369
286
349
356
265
302
265
349
273
321
321
335
323
389
396
305
384
333
278
279
303
350
331
390
379
374
322
340
314
355
341
255
368
373
351
283
274
343
356
212
309
337
306
302
419
387
363
303
299
358
304
313
394
381
347
329
277
315
310
331
340
264
260
358
355
334
398
322
362
298
268
418
319
307
363
354
244
349
276
375
254
384
358
211
280
319
358
285
350
340
287
321
371
261
356
371
359
379
341
298
370
236
377
236
408
307
346
250
298
310
309
321
296
229
332
302
269
329
284
315
306
262
359
352
290
284
372
329
351
285
323
280
281
388
316
346
247
395
261
290
282
337
331
348
279
324
328
347
342
336
332
290
419
304
322
283
317
292
385
358
333
260
302
296
367
358
372
337
351
370
379
278
312
311
283
254
270
241
355
238
411
283
327
375
227
347
282
321
341
355
267
341
340
366
365
253
343
358
325
384
258
305
296
248
217
324
302
308
210
405
307
302
313
338
317
347
334
352
345
264
271
288
282
340
332
262
313
311
300
249
336
386
254
284
274
332
330
360
301
342
298
351
267
299
346
350
381
377
275
332
315
346
332
336
340
402
328
340
335
289
396
333
302
257
322
284
327
354
266
246
335
329
332
306
330
320
344
294
321
296
270
318
366
356
314
301
263
349
337
277
267
354
392
251
360
237
306
347
298
333
313
315
276
339
295
284
301
355
425
276
336
352
293
332
365
429
327
358
347
277
216
346
349
339
310
367
362
241
331
287
284
331
306
271
364
253
324
274
354
266
306
226
291
274
297
334
315
288
353
319
382
281
244
350
340
280
308
284
272
320
368
331
351
366
305
400
346
317
222
322
345
356
348
353
300
238
375
323
290
361
374
326
314
326
313
256
368
235
337
302
306
235
272
318
276
314
355
264
369
302
265
318
381
336
208
317
299
345
337
294
276
268
278
304
327
262
343
295
323
309
309
340
283
297
273
298
335
315
290
368
325
234
358
258
358
285
334
348
397
296
374
286
364
268
343
255
362
261
301
346
271
267
290
335
356
357
298
285
293
251
413
319
228
271
321
292
216
371
282
311
250
309
344
351
340
329
301
302
330
199
372
367
304
270
293
325
382
391
375
278
346
259
278
148
292
297
321
318
318
337
303
269
293
254
246
317
334
229
323
168
298
292
304
257
374
205
337
327
423
324
335
312
422
315
336
267
326
334
365
301
299
352
267
253
256
322
339
267
379
327
300
358
330
266
239
280
365
238
272
276
346
372
292
320
308
321
393
231
308
362
286
236
355
327
300
255
313
380
309
307
297
291
304
357
328
308
348
272
302
294
285
341
296
316
335
305
353
415
380
292
259
173
369
295
375
384
261
360
311
395
366
371
307
331
285
275
249
339
291
310
343
398
325
288
294
262
346
332
330
322
339
317
232
348
301
316
314
291
360
267
367
321
328
353
267
241
357
306
311
308
365
264
306
318
315
348
364
366
278
374
322
276
342
284
343
270
282
275
196
369
328
320
285
356
325
304
358
321
294
264
280
342
285
311
336
405
224
292
257
316
237
387
421
256
300
436
319
352
232
319
293
383
288
259
276
357
405
234
324
244
296
271
240
322
381
322
345
288
319
320
321
334
258
305
327
323
344
374
310
265
329
320
330
250
380
403
277
278
285
296
348
295
341
400
299
295
365
284
324
288
327
281
309
309
342
209
390
417
323
287
344
362
347
266
268
349
279
257
294
389
311
273
281
304
301
346
273
227
315
248
307
257
290
357
348
281
286
375
294
249
273
359
274
340
388
280
285
303
294
288
368
335
405
307
301
224
305
298
321
310
375
307
291
334
342
389
291
289
307
349
316
329
309
255
343
260
242
304
295
343
295
395
251
269
303
380
373
348
281
372
302
309
204
370
405
239
292
436
336
332
243
357
300
313
304
305
355
302
366
325
243
315
288
366
355
269
377
295
356
324
314
331
373
328
349
322
355
284
321
276
250
261
319
303
296
281
262
234
314
343
263
299
317
351
317
363
338
257
316
267
273
321
290
300
315
308
394
332
336
299
347
310
304
363
304
268
301
331
399
368
285
162
378
321
310
351
301
243
352
330
316
342
384
310
381
266
306
258
346
305
324
396
266
265
320
218
329
305
250
360
323
268
311
298
249
371
289
271
374
287
285
347
344
266
232
271
329
293
420
212
215
326
342
277
338
348
408
356
381
314
365
376
296
317
291
347
333
238
350
333
290
325
333
367
310
249
316
300
300
335
276
278
245
304
248
344
296
426
344
307
284
313
243
341
270
298
301
352
358
360
357
255
332
332
285
382
331
319
288
317
273
398
292
340
323
328
284
310
245
274
281
290
354
301
284
382
334
333
298
356
259
319
333
346
303
265
283
350
284
364
363
260
402
284
299
330
383
230
288
329
326
369
293
266
240
211
368
283
345
283
272
303
215
332
353
305
321
379
290
348
398
211
297
351
307
346
363
302
388
300
282
390
249
258
309
342
365
337
347
343
274
291
349
275
366
335
276
332
375
247
291
319
282
239
258
292
257
345
293
246
331
289
343
304
236
326
367
275
264
300
246
266
364
387
303
351
290
336
372
319
328
328
399
302
207
316
301
314
386
285
357
313
362
345
267
299
298
325
341
356
272
248
292
280
236
361
391
333
298
311
324
264
399
286
282
249
232
297
252
247
265
278
337
366
339
339
385
401
262
320
278
351
329
244
345
249
237
246
296
360
414
264
345
280
352
351
268
327
260
385
357
306
263
355
246
251
291
328
312
297
302
323
347
268
360
339
246
325
211
320
252
240
271
262
311
256
300
397
341
336
306
411
318
351
275
272
256
344
398
268
435
365
426
311
259
339
247
319
316
218
335
361
331
372
343
279
328
408
226
318
378
287
265
249
334
322
354
202
409
356
308
264
390
278
382
294
374
307
298
276
245
314
313
307
343
276
384
362
313
289
270
357
337
313
340
277
340
259
327
312
386
277
406
190
282
282
358
287
310
325
347
313
212
295
420
312
249
333
368
268
315
313
317
287
251
302
238
355
284
321
245
337
339
272
333
228
389
279
297
315
280
295
320
385
216
305
227
316
228
168
374
232
345
288
281
221
327
333
310
360
215
289
341
307
342
334
332
271
335
360
391
304
343
303
397
264
336
324
325
343
332
413
265
237
381
330
433
334
365
240
232
373
329
263
297
294
338
308
400
283
324
388
331
343
314
393
315
264
308
368
313
367
321
334
313
276
320
312
359
294
294
253
257
340
363
341
235
330
259
375
398
387
262
305
290
370
302
361
403
285
321
337
310
356
398
302
355
274
297
249
273
324
309
332
362
349
364
284
297
431
341
319
314
385
313
269
292
406
274
348
366
347
363
301
385
329
287
328
312
232
342
441
348
343
300
310
347
357
261
326
253
308
361
362
322
318
271
324
330
368
321
361
304
338
224
331
345
305
338
325
317
296
293
309
319
265
412
378
270
257
346
292
326
359
354
244
379
302
365
286
347
275
295
333
364
356
354
305
292
331
283
281
358
290
297
314
350
344
342
330
318
307
259
298
285
293
350
314
282
334
335
291
355
277
302
391
308
313
313
279
333
333
362
363
251
272
331
359
327
304
291
323
273
364
303
277
370
272
256
314
307
247
263
366
353
253
345
337
349
361
366
310
289
401
343
312
320
323
340
306
386
358
285
270
335
317
341
270
242
304
319
345
352
286
323
372
266
333
308
341
387
394
308
269
285
296
319
343
348
200
334
307
329
281
317
236
329
385
259
303
368
356
404
282
341
303
282
377
264
291
289
348
276
344
271
357
374
388
292
320
288
373
399
308
380
293
340
321
412
281
377
282
249
310
394
245
304
304
365
239
319
413
272
235
240
277
340
417
300
277
273
290
320
361
295
281
304
314
416
320
315
218
375
289
288
299
307
243
324
390
275
268
292
298
300
225
278
299
290
238
358
352
310
336
360
311
316
354
310
358
317
303
247
345
404
233
374
348
385
262
361
255
307
264
397
363
372
332
282
256
341
241
275
386
362
367
335
321
307
310
282
301
367
367
344
372
303
351
320
260
285
298
370
276
354
336
324
257
229
401
354
267
359
289
300
303
340
298
348
328
364
280
330
349
269
366
411
363
289
258
326
266
243
351
378
304
309
285
269
345
202
261
283
233
344
310
351
323
228
348
283
284
331
319
297
391
357
321
305
356
242
275
387
376
405
292
300
230
254
335
332
294
294
314
312
297
343
334
252
340
359
269
349
358
306
316
307
294
296
284
325
335
232
280
333
320
303
307
315
264
287
325
366
310
328
342
348
375
309
305
344
297
320
283
343
289
314
311
303
322
409
311
290
289
261
235
238
343
317
334
277
368
242
347
293
300
233
343
312
366
357
262
315
353
320
309
288
296
286
266
352
334
337
304
331
319
248
290
358
366
423
340
304
401
392
326
428
305
319
273
340
317
248
292
306
363
309
295
305
287
259
237
353
250
272
352
323
270
336
296
449
358
304
287
314
268
341
378
285
370
266
268
292
320
232
319
346
335
276
308
346
264
381
323
304
330
353
294
322
372
320
340
217
404
329
297
324
255
311
272
335
357
363
288
356
265
306
278
334
321
363
369
305
386
295
305
252
345
317
314
318
347
361
384
234
286
287
375
288
331
294
388
321
329
355
334
392
303
348
277
266
283
400
405
291
322
302
334
316
319
287
339
385
262
327
366
177
290
295
328
276
248
385
243
274
284
296
398
242
342
280
293
262
293
268
266
307
300
307
306
301
286
309
300
365
300
237
290
290
265
283
325
265
217
233
274
339
313
261
291
280
271
311
270
340
303
339
351
357
348
298
381
307
324
395
259
338
273
340
346
366
210
277
337
385
389
321
247
323
334
360
269
404
233
284
314
331
332
253
329
247
366
319
382
291
320
241
370
428
431
298
323
318
351
334
358
284
277
353
262
294
227
198
395
246
251
354
293
345
326
356
364
343
320
347
267
247
240
382
307
308
257
236
312
307
354
344
350
191
334
336
327
309
351
273
317
263
346
310
396
344
339
318
315
324
300
362
355
300
379
279
323
321
296
365
325
308
289
341
229
387
407
285
351
370
253
320
416
368
354
313
317
338
281
445
268
290
330
384
364
301
289
256
306
298
307
388
344
284
301
294
322
241
363
328
214
256
343
377
303
316
305
251
366
288
296
265
342
373
338
322
328
301
334
341
296
361
408
277
335
327
291
268
311
350
256
342
421
279
316
289
283
333
304
295
394
308
327
277
305
320
357
385
294
366
317
288
321
404
272
318
344
261
319
289
288
302
297
218
354
272
325
323
358
286
308
415
279
228
341
328
245
272
268
331
366
403
243
347
252
366
280
294
213
322
350
357
383
294
363
348
332
332
313
306
218
239
344
314
341
257
352
301
277
353
309
310
306
367
301
357
317
355
324
275
298
396
260
252
219
306
305
294
322
315
368
353
343
354
317
328
240
357
353
276
341
327
349
344
323
304
253
316
246
278
339
329
288
350
363
406
373
386
277
255
318
269
390
354
320
276
350
370
353
418
318
368
284
232
286
322
293
315
323
359
280
289
311
414
234
292
416
233
281
275
337
333
248
303
239
291
228
258
262
295
355
285
320
321
351
299
249
293
343
351
206
319
275
303
258
291
248
368
333
368
331
363
195
316
252
299
372
349
287
265
319
378
273
319
298
359
290
355
307
303
335
354
266
287
332
279
300
367
323
320
286
419
294
278
367
339
349
253
286
308
280
346
301
429
348
372
347
344
238
335
324
299
313
305
315
341
354
244
321
286
281
331
342
325
290
277
308
353
350
398
295
284
338
277
311
254
301
381
308
348
288
274
258
303
311
268
346
259
383
336
327
388
367
368
340
290
383
353
361
267
333
397
303
314
288
373
278
402
237
345
339
385
404
309
256
283
369
301
316
328
289
315
313
395
304
278
348
276
350
352
325
365
347
338
286
316
332
312
312
410
192
297
253
239
301
336
304
253
346
336
320
385
313
392
281
251
412
260
317
223
254
318
341
344
284
373
324
338
292
332
306
365
332
280
318
226
364
379
274
252
354
240
310
211
354
312
431
329
398
312
274
387
263
369
428
347
278
350
357
293
369
223
306
315
343
293
340
263
249
327
313
331
328
419
318
351
317
314
295
289
337
315
344
362
279
347
300
309
359
305
248
366
360
326
388
210
372
375
357
267
284
375
348
293
250
228
308
419
303
381
235
311
308
303
350
314
268
305
290
407
293
295
404
304
256
317
306
298
380
246
368
282
227
283
288
291
232
270
375
326
285
315
328
292
372
289
330
363
391
306
350
282
273
322
326
279
328
302
309
333
284
341
321
243
340
304
381
327
199
278
280
309
264
309
324
256
255
306
311
328
358
282
337
364
334
310
313
353
250
319
283
328
330
312
387
304
351
328
364
321
341
317
217
349
352
307
328
302
320
349
362
336
287
324
270
362
246
319
345
360
328
319
287
305
227
309
236
380
222
342
331
271
353
275
285
288
320
285
382
359
339
264
337
351
374
309
257
274
359
236
351
284
217
283
369
319
328
267
386
298
306
365
330
235
286
293
329
300
339
351
324
331
423
389
327
339
337
339
325
401
372
380
311
240
356
339
305
327
270
355
309
371
382
333
357
244
371
336
291
268
374
352
267
281
360
298
273
286
288
308
255
363
420
316
376
311
346
356
304
296
268
355
307
349
355
377
362
336
324
338
387
323
388
300
309
330
320
295
365
363
372
367
307
329
426
294
272
360
314
297
305
261
287
317
276
259
250
394
300
285
354
298
276
302
410
316
302
384
347
356
269
282
353
347
422
417
299
307
287
394
321
288
327
321
317
393
270
309
216
362
323
236
312
219
296
336
286
380
306
334
275
285
316
332
387
310
380
357
386
317
357
345
335
363
279
244
355
345
392
324
376
239
354
237
286
344
296
357
351
287
322
402
351
265
242
275
321
316
398
362
253
332
255
312
345
310
338
293
254
329
353
307
312
272
295
319
357
384
273
303
259
292
269
343
288
233
388
312
305
305
303
233
369
272
327
292
350
315
319
336
330
361
422
390
372
335
337
290
288
287
307
370
249
360
293
330
338
357
223
304
326
233
318
320
284
346
432
336
264
285
266
322
359
354
286
383
311
273
252
318
285
333
273
313
296
301
320
279
196
363
222
345
363
267
378
306
389
328
340
290
284
399
241
396
352
273
310
304
297
283
315
363
289
267
419
310
279
349
348
419
300
257
272
285
309
330
301
333
392
325
294
300
412
291
320
285
338
335
375
348
359
299
378
291
259
328
390
293
340
290
439
344
329
311
347
264
333
289
409
389
271
295
348
287
339
244
415
218
363
252
318
278
285
260
343
321
364
279
311
366
338
236
238
318
319
320
342
322
242
334
227
327
303
318
358
298
303
365
341
395
265
322
346
396
340
346
377
246
324
298
336
267
304
374
353
279
374
397
369
358
339
350
376
274
186
337
311
403
332
304
294
292
262
329
329
270
345
470
352
299
274
302
272
358
288
299
296
361
271
279
315
350
319
364
393
384
307
377
365
360
326
321
348
304
347
392
363
307
367
296
245
282
319
275
296
288
333
211
270
295
282
295
364
316
305
314
311
251
278
289
378
311
298
389
229
398
313
208
253
274
347
279
319
444
340
309
254
352
312
324
283
246
280
348
357
256
342
360
298
368
332
220
214
325
346
374
312
293
260
304
234
304
279
308
339
323
262
391
327
274
306
318
323
281
281
253
275
349
240
393
324
305
294
329
290
329
320
341
284
297
328
365
304
298
282
228
385
295
294
274
324
260
267
317
287
277
342
344
343
370
342
310
366
398
382
316
298
339
343
294
259
300
342
367
403
355
388
316
377
363
390
274
346
288
365
314
325
298
262
327
269
283
341
302
382
274
281
342
309
377
285
350
278
301
403
367
313
366
295
314
255
346
301
314
312
400
264
331
365
185
252
390
313
357
300
289
338
341
316
281
344
339
386
337
390
242
326
332
330
314
295
336
246
323
369
304
346
321
336
276
270
301
311
331
297
292
261
277
455
227
395
394
224
333
343
278
313
291
305
331
392
331
280
353
206
228
344
304
319
326
354
285
321
338
295
321
239
250
314
190
330
307
337
368
347
315
327
335
329
319
248
270
245
336
297
308
287
336
293
292
358
295
283
305
294
280
291
243
266
321
298
357
296
322
278
250
307
354
255
384
325
275
303
291
317
273
282
271
384
367
290
309
348
274
301
317
274
311
395
345
284
388
407
289
310
291
255
258
274
309
332
323
364
339
291
309
332
288
339
275
260
259
379
409
363
290
336
352
315
249
340
356
311
297
339
269
339
359
273
319
325
339
359
389
283
277
223
305
348
319
238
265
354
297
266
316
339
300
354
287
301
334
301
306
280
281
290
309
264
321
309
194
295
340
282
355
267
329
337
302
279
311
363
264
281
345
386
286
305
329
261
372
415
281
288
318
349
347
255
295
258
314
309
359
350
326
306
324
255
289
291
337
307
309
267
322
264
392
311
303
357
347
294
321
233
359
299
356
342
289
334
369
328
265
287
320
369
296
309
305
298
327
245
381
280
335
375
317
258
444
298
360
316
342
330
310
380
341
264
306
310
270
389
205
341
359
325
297
347
403
302
302
261
312
317
310
276
295
332
384
333
307
345
358
292
351
280
353
277
308
326
290
304
323
261
366
214
317
316
315
358
316
377
302
261
293
337
254
279
328
376
279
332
188
294
290
306
323
355
314
287
297
316
337
312
266
256
327
277
311
284
270
266
315
375
370
311
265
323
400
273
370
305
313
300
351
346
337
267
284
367
285
294
332
360
220
325
262
326
304
285
406
308
367
179
351
225
237
262
324
324
348
286
364
327
272
234
235
275
401
412
302
369
276
294
254
285
384
365
319
252
310
361
346
339
286
363
340
264
393
288
359
272
337
317
356
286
227
227
290
240
329
334
329
340
359
266
278
328
300
287
343
398
251
257
358
312
370
265
312
361
297
314
388
279
254
237
277
305
329
239
278
384
473
365
334
421
366
231
345
335
404
358
217
280
328
309
297
257
383
269
253
336
341
327
285
409
341
301
323
261
354
367
355
384
377
317
315
262
213
391
354
318
365
315
295
273
335
361
314
276
323
225
276
262
399
333
316
446
282
357
319
352
356
258
321
350
276
279
243
386
411
389
369
402
341
354
343
325
219
359
257
347
274
276
257
252
396
301
324
330
377
338
401
285
348
274
355
294
348
279
355
321
359
254
329
309
292
295
323
302
266
300
413
307
269
362
342
255
249
344
294
305
342
273
214
269
309
289
358
257
366
361
335
373
338
304
353
314
304
324
369
291
410
316
332
360
300
311
301
300
314
323
320
351
284
322
251
316
294
316
343
301
249
312
328
391
359
335
279
427
292
298
359
348
287
291
263
319
234
239
285
418
397
358
375
254
250
285
355
321
309
341
342
350
397
329
287
262
258
323
333
262
304
298
298
306
292
312
280
256
254
286
276
287
356
307
333
337
295
318
358
407
402
273
298
344
327
310
282
166
250
277
305
253
292
350
286
330
241
234
330
336
348
312
303
352
264
309
375
262
331
353
362
274
349
278
356
303
330
383
274
313
364
363
285
308
365
342
390
345
346
336
267
310
332
310
288
338
300
360
290
317
345
374
275
342
324
233
362
362
332
225
245
258
262
243
308
378
294
340
321
259
296
360
245
325
289
333
254
307
283
273
320
233
334
270
233
309
237
263
365
270
343
332
352
269
220
313
311
388
350
272
368
332
252
322
320
314
221
364
297
292
306
256
294
345
299
395
307
266
257
255
367
273
321
257
313
326
320
345
280
314
313
274
349
314
344
284
353
299
353
322
331
328
330
360
311
288
365
267
285
265
297
368
280
356
359
319
301
312
289
311
345
320
296
295
388
355
290
252
343
256
375
332
352
290
364
282
299
384
286
379
327
350
276
307
324
354
396
252
323
374
281
331
329
273
300
317
252
258
278
209
298
308
331
311
360
333
223
330
360
258
378
314
359
375
315
364
367
250
364
296
351
286
297
294
331
299
355
301
362
296
236
313
435
290
364
320
375
325
380
295
395
358
343
362
252
308
283
364
316
311
325
319
321
249
313
391
326
285
289
370
281
338
293
311
302
268
332
343
315
328
362
244
361
379
373
316
320
298
327
222
285
302
255
261
326
320
211
197
327
237
355
316
335
327
339
317
340
389
303
290
330
315
435
330
341
225
268
322
394
313
333
330
327
394
360
320
236
305
252
243
336
294
334
310
375
341
373
270
317
363
284
352
289
321
331
388
269
325
226
380
297
291
359
339
309
401
318
273
349
334
269
332
367
401
316
313
326
285
354
285
228
371
354
272
272
333
200
340
249
278
350
385
286
272
205
282
343
243
338
274
282
368
289
344
337
329
174
312
175
248
379
232
320
267
290
365
361
258
304
292
326
322
357
341
348
362
240
370
226
360
296
371
335
397
332
299
263
288
386
349
303
328
327
264
236
244
308
356
329
279
316
272
327
266
344
339
334
293
282
271
325
313
318
265
276
300
274
304
258
196
247
288
308
385
362
258
309
216
301
351
257
302
235
316
398
325
294
333
315
312
250
300
303
339
344
349
350
301
295
335
309
274
354
411
315
341
398
300
364
360
364
383
319
306
327
337
266
329
365
301
297
324
341
303
312
294
314
250
294
246
304
293
319
320
367
329
385
270
314
244
314
268
399
398
281
325
242
341
246
366
365
307
310
314
272
350
324
254
378
305
363
248
346
396
357
254
295
331
356
341
395
359
334
223
348
375
305
309
248
365
299
288
298
262
320
377
310
371
241
378
344
262
298
299
321
347
273
362
300
269
349
207
315
262
292
231
336
322
353
288
372
328
328
409
276
287
282
301
303
366
289
237
225
377
207
291
399
409
337
355
323
347
304
305
345
236
349
306
328
314
285
391
375
298
265
351
338
313
378
274
316
365
322
286
328
355
285
255
324
391
219
365
209
395
275
320
354
315
271
295
329
362
290
282
374
303
356
373
225
406
315
264
261
340
288
335
352
267
229
333
296
227
370
347
253
218
331
297
257
257
320
381
345
344
317
243
329
317
322
233
324
283
310
253
366
346
330
269
289
327
268
315
289
334
281
250
315
314
263
346
241
233
286
305
343
362
238
305
335
299
348
296
307
267
371
257
318
353
314
328
384
330
295
288
276
351
312
321
285
327
326
252
327
379
323
364
331
298
307
293
388
273
311
288
303
314
274
414
333
302
295
242
323
312
326
281
341
366
325
336
360
269
379
303
287
340
283
334
294
351
332
255
264
300
301
272
261
344
302
319
335
315
381
359
249
331
302
308
336
308
322
340
342
285
286
317
280
286
299
325
298
315
374
307
372
235
309
383
268
333
348
311
372
306
233
359
325
310
434
356
383
291
357
403
257
364
352
387
339
361
337
389
284
388
225
327
311
259
261
333
349
365
324
286
356
331
287
374
286
351
385
350
334
336
346
402
366
328
311
275
329
383
267
322
294
329
325
329
276
296
299
303
265
403
201
363
296
305
355
356
326
391
303
286
325
317
231
317
351
368
328
319
362
359
339
336
384
313
395
301
306
329
373
367
276
330
284
327
316
266
321
318
301
334
274
249
320
340
341
316
329
256
265
352
365
308
268
336
284
346
384
296
318
357
341
384
307
317
289
326
250
318
321
325
282
327
314
351
296
360
281
257
290
338
328
346
354
319
376
236
331
296
371
370
260
290
288
378
318
313
220
336
236
364
258
347
290
322
315
202
316
250
337
268
331
303
354
370
300
374
285
344
331
261
231
336
382
264
368
274
276
329
343
339
326
269
344
372
349
266
326
308
265
331
321
337
309
355
280
351
270
358
328
319
328
345
283
305
292
319
170
266
293
360
342
310
342
352
251
327
305
256
247
257
327
210
362
315
295
274
278
368
301
340
248
331
315
350
350
370
205
285
322
321
270
353
392
324
326
313
324
317
313
359
341
292
306
307
278
325
228
233
268
267
350
374
299
292
330
252
260
379
270
297
341
309
284
352
265
297
287
381
268
365
392
284
336
296
340
305
259
376
327
266
321
360
263
326
259
246
294
322
314
344
299
258
311
371
365
351
357
335
367
281
346
316
275
365
271
337
257
251
393
333
311
304
223
315
337
307
260
263
355
287
318
299
331
271
311
336
252
303
292
333
293
336
224
327
352
361
329
335
301
383
321
385
271
313
250
344
320
304
359
321
365
330
323
351
284
370
345
297
219
314
308
292
379
354
319
296
232
342
331
319
259
313
235
371
354
373
328
305
368
318
305
343
304
287
251
312
323
263
388
391
355
363
338
318
318
414
311
320
309
393
286
307
258
326
410
300
382
322
374
326
244
340
337
340
404
308
295
292
313
323
356
310
381
302
348
286
348
252
278
355
293
258
302
309
331
352
331
332
278
333
207
302
297
324
239
373
286
409
321
362
359
331
307
305
295
322
320
314
331
292
273
230
300
373
390
374
322
312
248
292
275
280
335
326
354
362
365
335
347
379
404
275
282
347
330
327
332
226
328
328
232
296
342
400
310
299
359
328
306
429
264
300
314
288
300
347
279
326
339
256
372
382
356
361
325
382
296
374
245
342
301
273
290
241
360
356
248
272
316
294
281
255
301
193
194
202
335
351
329
252
306
338
444
406
274
260
300
306
352
298
274
378
341
391
324
337
271
309
286
293
302
298
281
332
285
256
272
326
367
311
386
289
328
348
346
314
331
202
284
272
238
286
313
261
279
272
268
364
337
295
357
292
330
271
241
249
340
277
315
285
370
299
342
277
317
309
350
335
345
281
313
345
415
325
359
351
312
261
360
333
324
367
290
340
250
332
331
363
367
264
406
310
322
329
292
315
333
251
356
308
354
292
305
274
356
346
254
333
342
265
320
337
308
303
284
334
256
246
310
295
288
320
270
290
359
381
360
272
345
340
368
230
336
324
232
323
352
291
344
345
351
293
364
338
223
341
208
260
340
236
250
279
279
344
188
325
287
319
370
299
211
279
363
266
320
324
315
317
355
300
306
351
325
294
358
282
282
357
364
273
352
344
308
249
309
242
353
284
203
250
243
356
306
293
319
251
342
262
345
312
364
317
325
334
309
331
282
333
290
371
307
326
301
349
236
316
350
309
302
194
247
303
281
369
396
347
252
259
323
332
347
282
269
333
299
307
253
302
251
310
229
243
234
301
345
262
300
293
364
262
228
343
272
323
305
274
274
340
253
260
349
361
319
326
288
318
327
305
285
273
360
341
241
396
333
210
333
321
366
334
305
344
257
320
396
339
289
353
355
349
338
298
314
392
298
297
231
364
291
179
388
336
323
284
377
304
330
306
307
332
293
362
387
261
271
344
256
344
270
355
255
334
351
318
328
293
352
344
350
386
323
298
276
243
305
358
306
261
307
289
397
317
345
306
283
352
305
333
298
292
307
311
221
379
339
316
315
408
327
300
386
292
298
360
270
295
287
290
255
274
244
349
338
321
304
293
341
270
334
221
278
337
327
380
291
315
353
293
290
305
327
232
234
362
386
345
289
248
299
331
359
249
312
343
288
256
339
313
278
298
248
337
354
340
338
368
326
296
277
339
391
282
298
358
290
308
306
347
358
363
325
315
391
324
260
284
276
302
261
346
319
349
321
330
289
291
326
346
315
237
255
311
283
326
341
304
387
317
262
238
268
366
361
259
203
332
320
285
244
302
328
370
283
305
308
335
311
213
269
331
349
330
348
377
302
230
228
287
278
286
279
309
311
301
335
312
307
304
311
333
332
294
309
402
356
333
326
268
370
298
249
307
287
305
401
254
294
263
236
252
344
299
262
302
318
399
355
284
383
387
310
360
300
363
344
308
334
310
281
319
337
310
285
370
401
313
309
333
306
269
325
364
374
326
359
323
362
388
305
289
374
317
280
340
250
203
234
339
304
396
354
292
231
283
371
322
207
316
279
242
323
312
280
312
334
328
250
240
320
345
300
206
333
268
361
308
326
372
288
318
330
329
374
356
262
364
301
329
256
203
278
210
372
293
260
325
328
259
342
285
300
331
333
401
299
234
293
271
315
314
307
387
383
340
340
339
305
271
332
346
309
308
278
256
359
267
313
344
312
352
317
280
327
392
303
326
247
280
290
309
353
307
368
283
279
322
344
329
295
349
282
424
328
338
289
279
279
319
313
360
367
311
391
335
326
329
300
300
303
262
298
279
299
314
357
248
176
326
248
313
303
333
351
241
336
309
328
349
389
325
328
321
356
286
311
334
330
374
370
269
401
353
284
376
200
335
227
318
369
254
229
324
319
256
379
321
329
378
286
272
298
321
384
302
259
280
328
306
294
307
379
390
356
368
356
297
325
376
312
306
312
320
313
347
381
373
325
352
364
277
275
284
328
362
265
298
339
257
303
255
402
291
376
416
354
351
311
330
380
337
378
299
405
325
361
342
223
335
366
327
347
319
282
310
358
304
304
335
279
298
314
255
378
335
296
265
286
307
391
280
256
381
294
207
391
289
251
263
328
368
320
356
352
281
240
287
315
317
320
335
267
318
335
322
367
355
278
257
304
362
325
334
360
330
288
342
287
257
417
292
234
366
319
235
406
318
373
354
309
337
288
332
240
338
324
275
258
230
394
242
370
349
343
271
317
325
358
282
287
260
200
288
256
336
337
253
311
367
288
337
276
344
307
359
370
274
295
223
382
313
338
346
322
286
270
332
279
259
357
433
396
283
332
263
247
323
312
325
320
416
398
331
331
340
423
369
289
308
256
248
254
376
266
304
322
297
328
270
323
334
246
351
220
263
290
384
350
308
263
305
263
304
385
315
349
304
283
255
326
328
321
236
359
320
392
337
282
313
300
322
348
258
304
274
246
350
308
328
272
410
336
338
361
279
227
318
290
263
333
335
329
374
358
260
350
258
334
366
288
186
369
304
302
274
301
290
251
344
351
353
262
306
237
331
373
282
329
306
304
266
323
248
389
311
303
283
246
359
330
247
292
296
316
242
376
348
304
369
338
299
335
299
279
317
207
246
302
295
340
356
270
307
363
291
351
205
364
372
306
285
244
335
344
298
314
277
321
267
365
328
290
301
269
329
357
371
279
295
315
355
348
336
341
302
243
366
303
414
336
251
380
344
226
326
340
349
260
318
269
296
329
260
388
263
297
380
294
355
242
346
302
311
348
331
308
352
274
309
261
314
299
325
310
295
373
265
384
296
333
398
280
275
288
396
310
258
301
387
281
293
285
285
332
311
373
256
324
268
328
337
213
224
292
454
275
308
359
269
310
284
238
272
282
331
264
309
296
266
293
270
346
346
408
225
367
316
247
369
274
307
353
376
267
325
354
349
370
298
261
350
319
340
268
351
285
324
330
347
263
269
273
310
314
287
305
277
308
267
394
276
281
294
398
274
259
228
318
293
315
325
296
271
256
283
241
294
381
313
331
372
298
345
267
313
340
313
364
303
275
347
282
282
294
273
290
275
256
345
361
320
366
274
204
302
320
401
344
400
336
391
338
353
344
278
299
275
351
284
387
332
338
373
302
373
347
327
287
280
320
315
387
276
319
293
380
371
237
272
314
287
324
315
371
364
357
325
283
304
295
359
328
334
319
377
324
288
305
396
328
414
272
251
316
350
372
388
260
314
373
317
379
254
354
290
383
361
316
423
344
335
383
342
245
317
299
296
297
367
285
288
348
306
321
306
321
275
352
347
300
271
258
320
250
330
381
362
310
338
384
353
354
385
180
239
350
296
291
293
278
308
299
283
281
364
299
319
341
320
289
311
287
242
266
352
317
308
293
272
312
318
227
381
318
350
336
298
344
361
296
304
369
330
294
337
398
360
332
347
360
320
346
296
272
248
339
382
266
319
321
316
347
342
321
339
307
309
365
239
401
259
266
294
325
318
337
289
255
342
266
297
353
206
371
324
395
297
325
329
269
308
353
259
365
349
316
334
382
308
316
299
306
327
327
339
279
339
314
264
331
322
307
248
337
276
311
387
319
289
374
309
342
254
323
199
216
359
270
363
231
351
246
380
347
323
240
305
366
354
299
315
399
311
321
294
309
305
337
273
323
367
251
334
289
350
344
326
402
321
397
289
356
331
355
341
350
350
253
331
305
225
344
369
268
340
288
324
303
265
285
321
255
365
360
319
371
292
343
353
370
304
258
368
360
383
314
342
358
274
329
314
276
249
324
361
325
305
286
419
352
356
209
293
349
244
296
271
357
288
274
280
347
256
356
296
327
273
321
354
314
275
384
363
308
299
304
274
244
292
293
349
252
289
290
304
293
419
363
294
228
256
276
287
357
309
378
273
368
311
326
309
355
346
291
302
278
326
305
287
276
284
295
286
344
290
326
300
303
256
346
347
309
301
340
295
354
305
309
347
256
340
328
299
242
349
372
345
291
357
327
292
341
306
325
358
273
251
321
338
293
282
302
262
275
349
356
313
313
247
261
307
311
316
259
358
309
445
234
396
251
306
350
325
257
262
332
305
279
339
357
405
364
317
392
321
368
308
295
249
311
360
393
313
307
283
288
263
316
348
276
363
374
334
326
374
377
328
316
336
395
318
353
329
339
256
334
361
289
297
293
224
316
297
382
333
342
300
384
330
390
329
385
290
233
304
285
283
354
308
325
304
371
318
401
350
345
339
300
367
302
326
359
212
358
313
331
312
358
269
294
334
299
269
289
382
367
297
290
256
334
318
383
288
224
322
331
338
299
311
313
298
319
320
291
343
298
327
323
247
367
292
274
380
287
297
341
386
287
364
298
364
305
349
346
289
302
325
359
370
256
316
283
354
339
370
285
258
317
326
301
342
309
375
362
346
305
278
378
333
270
332
261
346
256
247
357
353
278
341
310
360
323
357
332
325
286
359
334
262
331
298
316
257
253
365
286
272
276
314
350
275
290
308
257
342
303
347
258
279
370
292
276
208
326
312
397
292
399
353
273
268
306
349
355
375
218
304
328
323
258
374
352
307
250
383
276
313
286
283
251
270
329
247
339
377
314
327
308
269
359
266
349
344
330
325
306
353
313
339
340
268
343
304
297
388
316
325
299
452
320
260
319
312
295
343
360
374
317
274
269
303
351
340
324
330
280
310
327
312
389
306
398
365
355
397
322
366
295
228
277
377
313
311
280
315
272
309
312
278
276
292
323
335
205
286
299
284
326
335
308
318
348
271
392
366
394
260
354
345
398
202
340
332
367
378
293
340
259
289
334
235
312
298
315
340
294
318
408
345
266
360
375
319
305
279
349
276
240
313
376
308
357
403
325
334
270
362
291
317
257
284
359
333
247
311
267
272
291
291
379
334
273
265
334
300
376
317
240
378
278
285
231
342
319
208
298
335
265
344
348
331
395
328
410
323
397
360
357
377
320
278
344
348
272
333
340
347
230
323
286
324
350
296
298
273
319
343
267
227
245
296
259
316
236
274
354
278
300
302
306
373
402
291
287
327
296
327
263
288
289
298
327
298
314
297
341
250
333
353
337
280
247
307
309
207
234
301
308
359
349
312
352
347
365
384
321
325
295
259
323
379
388
343
281
319
295
336
234
333
324
303
349
254
359
420
316
361
365
288
337
323
310
298
331
248
303
288
282
407
330
237
312
343
279
323
245
273
368
280
276
253
325
376
246
277
265
319
340
261
288
337
263
318
259
287
397
323
266
291
272
275
307
301
326
317
316
330
250
333
234
320
344
233
306
365
399
296
224
283
313
318
310
284
327
420
263
362
374
213
262
367
374
356
227
248
313
279
351
286
326
302
340
394
393
306
331
209
285
346
305
240
310
349
222
319
320
306
386
361
328
250
382
283
326
338
350
334
268
375
336
269
328
370
352
292
228
305
282
316
274
335
331
275
334
379
357
353
245
185
385
295
210
340
343
296
341
351
336
315
323
285
235
341
353
311
318
348
424
324
289
276
330
347
348
247
332
274
317
300
336
332
289
241
405
347
241
303
333
317
247
336
288
318
353
243
261
328
324
365
371
278
332
339
396
264
262
280
327
367
300
309
317
229
351
283
302
397
343
365
292
318
254
376
330
371
407
407
333
323
337
322
316
335
345
242
324
311
393
300
288
301
348
295
338
295
257
395
295
367
410
386
329
301
293
328
343
251
349
303
302
248
378
338
385
338
330
288
198
276
374
264
295
306
323
295
271
299
344
349
302
316
339
375
282
283
332
321
277
296
251
321
300
335
301
302
303
344
239
293
254
240
299
265
284
354
292
250
380
313
391
347
421
306
351
324
343
268
208
334
266
289
336
291
321
401
286
298
389
325
290
364
355
403
306
317
336
243
326
295
353
418
268
338
323
369
289
382
272
345
292
320
327
346
276
321
295
360
408
322
304
348
251
318
330
321
224
247
277
264
325
318
351
316
329
281
249
214
283
405
330
333
296
280
296
327
248
389
267
286
367
377
366
281
414
330
236
352
259
272
359
312
286
263
348
350
312
363
348
367
290
386
335
372
304
271
320
282
325
357
365
307
258
353
344
358
326
304
400
329
279
284
334
262
386
338
392
292
310
363
268
287
341
375
308
340
301
267
299
358
331
365
262
229
310
300
263
321
312
269
294
356
376
317
308
271
367
392
284
304
323
244
226
234
369
312
256
344
301
310
337
417
372
294
342
316
337
264
316
267
380
363
304
287
268
373
386
369
300
257
258
296
311
340
390
295
302
263
310
241
343
389
275
281
362
309
285
362
250
311
276
300
334
297
357
379
210
376
207
324
319
271
286
273
303
287
375
285
310
321
304
371
298
372
300
389
269
302
313
285
294
368
286
335
320
342
322
355
337
275
356
393
276
253
265
262
355
263
285
385
250
225
417
303
331
355
285
415
323
320
368
369
261
378
393
279
288
408
319
260
292
355
347
297
372
278
332
304
251
303
369
262
286
271
329
282
259
266
370
348
373
280
283
292
330
295
384
256
294
286
342
322
275
329
305
319
359
272
389
216
263
310
331
339
251
283
356
339
256
325
291
262
309
287
379
375
379
335
289
332
221
261
276
325
292
340
242
332
292
282
330
298
341
376
391
360
251
230
302
269
260
341
362
322
327
262
323
326
358
374
322
292
302
307
323
322
340
333
245
299
307
243
300
361
335
250
303
259
322
385
259
301
283
252
289
277
326
289
335
356
217
346
354
311
265
319
261
324
391
311
351
365
352
248
396
240
354
325
311
281
377
299
372
251
302
248
345
275
242
351
325
266
273
315
310
292
297
293
223
373
256
339
355
246
354
299
285
302
345
315
278
351
321
274
342
393
332
351
374
324
295
350
351
368
367
334
315
330
347
240
275
241
417
321
336
354
315
280
336
208
369
367
280
334
356
301
306
296
333
246
367
289
371
282
319
385
283
299
374
313
260
330
284
295
297
235
238
290
345
381
332
275
390
229
314
212
322
356
250
312
262
340
343
330
322
301
335
278
280
299
250
353
330
272
259
258
246
339
359
276
255
290
268
334
287
279
333
344
276
414
348
308
306
253
357
292
352
250
324
280
297
310
334
356
338
260
306
336
278
248
209
238
302
424
340
348
371
298
290
249
301
299
262
325
278
267
267
282
366
287
286
322
319
238
292
298
336
295
312
340
349
374
279
297
378
276
240
288
349
296
389
372
383
288
252
218
306
311
324
391
254
311
255
368
308
404
351
326
264
374
343
226
336
305
279
349
326
284
271
356
327
278
325
374
368
321
352
343
280
358
330
309
292
336
441
277
307
345
281
294
314
241
281
271
248
263
278
289
320
341
358
271
319
309
295
271
316
323
243
362
327
325
335
344
372
360
375
374
373
257
261
293
297
381
355
325
252
284
318
283
336
311
308
234
295
413
301
350
297
302
360
340
310
350
285
264
316
366
285
295
278
223
267
293
400
290
328
312
391
338
322
352
235
299
306
274
318
333
292
333
370
290
361
373
239
276
336
366
266
352
331
281
263
279
334
247
300
333
338
387
377
281
272
333
342
162
322
314
360
356
380
300
316
389
266
337
300
301
241
351
297
340
359
344
296
295
314
330
327
282
388
270
361
345
263
256
340
288
247
362
272
279
322
337
301
311
305
279
391
310
192
326
306
399
310
356
287
388
294
317
296
341
284
317
335
300
277
253
266
235
292
400
304
303
338
346
322
326
357
272
310
265
373
345
344
303
341
319
286
372
312
308
292
349
328
314
298
332
321
280
312
282
289
327
325
387
292
349
332
221
332
185
297
310
320
345
197
313
305
286
338
338
283
318
246
265
268
232
290
363
339
277
246
216
375
327
389
354
286
312
236
355
295
301
306
319
270
322
246
317
280
260
285
362
283
281
355
365
288
266
355
333
269
265
315
324
316
252
301
314
306
380
248
318
299
362
388
394
357
306
329
313
301
242
239
316
333
384
294
269
336
299
320
253
320
327
284
296
347
300
304
316
266
302
395
291
209
276
342
265
373
292
362
362
308
341
294
373
331
323
362
348
314
364
267
189
349
261
326
268
318
236
282
369
313
370
298
334
340
314
264
375
289
340
368
290
379
298
342
337
308
358
374
308
335
281
398
352
363
398
364
290
344
362
334
275
291
326
297
303
343
374
414
351
283
342
338
349
382
318
313
330
265
325
234
251
307
365
342
332
328
306
352
206
329
300
264
307
308
318
388
260
360
225
326
271
375
339
302
264
304
355
297
323
420
263
362
351
277
287
297
313
275
249
203
327
368
394
303
313
293
200
320
232
292
297
255
334
384
283
318
264
267
318
286
279
291
355
364
243
350
322
389
334
278
251
373
344
273
244
353
302
286
326
310
299
326
353
308
288
217
318
417
310
369
377
310
322
315
282
340
300
383
321
274
304
357
373
346
364
319
387
387
278
309
297
287
344
189
335
347
273
315
246
297
425
289
381
339
339
288
313
396
355
297
390
377
323
296
396
317
324
295
280
354
295
262
376
328
335
342
369
404
293
360
371
368
262
314
266
321
317
393
212
270
331
357
295
362
324
308
282
428
436
344
317
277
301
249
271
355
205
285
349
357
309
321
423
328
296
401
283
355
368
356
374
282
275
362
328
415
327
343
354
277
302
323
373
298
330
311
311
299
315
319
306
262
357
323
376
307
296
240
292
307
331
262
272
286
313
359
287
328
265
312
316
418
345
255
311
302
252
328
280
285
246
303
376
266
311
323
285
299
347
286
254
359
347
321
290
352
310
280
279
326
314
343
322
307
325
367
288
318
348
318
347
340
302
200
289
379
373
250
405
299
326
324
328
318
334
325
259
290
337
352
285
317
313
328
300
321
278
295
292
281
344
443
266
346
325
305
332
330
310
259
267
352
335
277
374
344
294
309
317
336
259
380
349
298
269
306
339
270
290
315
298
297
226
287
276
288
361
313
355
385
421
294
334
337
314
299
357
377
249
319
221
306
387
343
334
315
317
340
331
290
309
341
266
327
360
318
342
309
306
327
293
296
270
318
354
354
239
305
384
261
344
327
296
369
262
321
280
363
334
160
363
300
255
326
355
307
313
289
314
222
406
301
326
244
327
358
276
401
306
371
266
285
338
321
298
338
363
209
267
246
282
263
215
298
388
236
346
356
294
295
291
373
351
347
322
346
274
266
245
287
350
246
385
278
266
312
357
282
309
390
357
304
397
379
355
353
301
234
349
350
320
356
287
275
262
338
343
321
302
345
377
321
254
338
332
293
298
283
321
349
289
369
242
285
233
350
263
276
276
325
303
366
225
261
304
372
263
218
395
266
331
339
310
351
276
299
344
319
403
252
260
345
268
334
280
328
356
319
219
390
259
354
311
328
286
325
248
336
260
363
303
274
390
329
403
312
341
282
222
329
246
252
355
276
354
300
314
260
285
247
298
316
287
281
333
303
292
345
319
356
292
288
299
260
324
314
275
280
319
279
286
253
298
309
296
287
256
285
203
350
384
357
308
259
249
209
324
434
359
231
330
358
347
341
347
296
434
296
328
303
327
199
310
291
356
307
315
377
259
293
334
379
365
288
294
288
409
357
293
322
367
275
355
303
375
281
320
303
280
388
290
369
246
391
244
315
307
323
362
301
350
375
284
337
286
308
209
245
299
263
334
300
356
307
323
297
184
273
320
225
328
288
324
321
357
300
263
308
344
315
329
327
355
357
330
219
305
302
364
331
293
391
264
260
234
331
231
354
291
345
314
292
349
383
280
262
346
343
374
300
291
354
348
231
286
284
377
337
280
299
291
227
329
237
352
272
329
318
294
272
270
357
329
279
354
342
283
378
365
322
386
296
293
340
368
382
363
283
245
208
371
345
293
255
356
303
294
342
219
331
271
271
322
339
294
305
326
324
278
390
282
298
348
354
289
309
313
293
304
363
391
347
328
283
305
353
297
296
289
354
374
292
358
319
394
261
331
361
284
278
359
230
356
334
339
332
262
360
380
373
372
229
313
300
332
353
273
291
266
231
294
299
331
399
350
307
249
292
268
292
318
389
354
338
263
276
294
309
337
345
276
328
294
350
358
219
371
303
317
244
281
311
307
381
291
335
311
325
357
297
250
285
360
341
257
209
372
323
241
364
270
344
322
307
348
350
223
324
336
369
269
271
271
184
287
265
350
311
202
306
287
360
338
305
286
290
281
306
324
298
431
274
354
402
358
270
313
248
351
377
359
268
372
288
335
281
341
306
216
276
364
318
248
312
307
339
333
318
354
332
284
274
282
373
319
386
305
314
271
310
308
343
349
314
342
349
236
365
397
375
310
330
245
359
293
280
204
343
330
261
367
395
331
305
360
326
274
314
302
285
310
371
307
402
266
331
231
290
305
312
333
320
240
346
315
276
323
355
343
245
219
215
357
279
203
336
354
412
308
290
372
356
304
354
267
327
218
313
320
261
402
300
337
310
292
287
264
341
324
323
314
241
328
347
304
307
334
310
337
315
390
313
260
337
385
306
351
335
332
381
332
355
230
301
330
319
325
289
246
310
357
360
229
370
333
252
279
333
295
298
305
332
309
363
270
371
375
301
306
249
264
335
321
334
368
353
315
281
337
383
221
284
287
272
322
345
297
309
289
356
234
256
257
380
271
318
255
376
417
251
330
359
354
355
348
388
229
270
376
360
345
257
327
304
263
312
376
362
356
272
309
314
267
293
242
301
337
299
325
300
279
294
265
235
347
334
362
341
296
218
391
293
401
256
307
297
315
309
275
324
306
294
347
324
278
323
355
362
242
263
331
328
345
294
314
376
337
318
421
277
328
298
255
310
290
309
249
286
306
326
264
268
281
345
293
239
228
366
343
396
284
356
378
307
309
298
322
244
274
335
382
385
272
304
358
279
272
315
305
247
293
382
357
350
299
317
207
308
368
275
191
264
357
322
405
280
326
287
308
265
336
307
330
304
283
292
402
328
300
362
275
349
274
356
292
385
223
305
328
341
360
353
361
229
313
286
319
222
378
365
330
246
358
252
347
364
355
287
337
372
355
294
342
271
303
270
294
316
364
261
343
415
364
314
317
355
331
338
314
293
339
310
301
336
247
270
325
329
330
246
347
304
251
389
301
384
329
318
327
281
217
329
205
354
296
385
441
374
368
292
268
330
370
222
315
396
270
279
280
339
311
367
364
386
349
286
353
222
328
299
292
306
346
300
261
300
328
345
247
373
408
234
320
326
330
334
282
391
227
277
303
331
385
258
268
339
364
277
297
370
309
346
316
294
306
345
274
364
299
337
324
226
307
307
347
306
337
390
313
341
322
307
319
352
279
279
363
333
352
242
386
353
314
336
329
285
315
282
355
330
320
331
364
320
362
383
387
413
280
269
354
227
316
243
307
322
319
292
392
314
324
432
396
374
335
374
293
283
377
285
260
291
363
323
321
399
278
320
387
292
329
364
331
360
351
304
354
357
257
329
276
280
303
360
307
349
318
312
375
296
299
287
313
303
258
369
275
317
326
315
287
317
428
317
342
232
367
283
330
358
281
324
306
328
320
348
324
310
347
304
314
372
313
340
307
309
328
212
333
391
335
363
311
286
307
312
307
376
330
376
341
270
353
350
227
286
337
314
355
316
356
318
357
223
224
291
342
340
276
223
331
280
394
270
379
325
362
264
251
323
327
397
394
315
295
316
367
338
267
328
347
260
320
250
247
281
293
343
304
337
300
270
297
295
326
283
310
298
374
301
413
285
289
313
314
301
322
347
354
320
359
221
301
371
369
363
346
259
325
292
326
282
339
243
280
353
321
337
281
241
378
306
303
292
266
264
229
327
305
311
259
307
401
289
285
338
301
240
237
324
313
301
265
302
310
312
371
297
315
274
359
285
284
240
318
311
217
340
287
309
288
342
346
345
309
358
357
313
306
286
314
236
223
309
360
314
346
360
305
330
313
289
299
242
332
296
332
334
256
326
280
266
268
300
302
292
267
274
264
277
320
321
306
340
342
246
262
305
382
287
246
350
315
301
341
384
318
307
325
345
370
333
313
366
324
265
271
392
328
323
342
333
324
385
354
258
310
369
297
336
316
298
262
273
279
274
334
344
325
260
308
361
295
388
270
338
326
338
283
353
391
367
301
410
312
324
338
311
216
306
302
365
253
367
320
391
326
378
381
310
299
242
274
315
308
334
264
303
394
288
388
369
227
366
201
269
343
377
291
307
355
301
346
343
244
268
239
297
333
298
374
268
276
284
250
290
356
384
375
325
277
316
255
306
402
305
343
317
302
303
372
351
401
289
361
377
338
388
353
280
309
281
279
257
314
239
249
341
380
320
332
296
324
329
266
299
348
321
257
276
299
304
372
284
324
278
333
347
338
258
333
304
311
315
290
377
307
300
334
363
317
257
296
325
353
286
277
328
341
285
286
353
371
426
347
333
284
346
271
331
328
348
359
285
297
328
335
378
388
247
332
249
324
275
319
240
317
394
342
339
355
339
350
397
346
287
261
242
394
263
287
281
280
317
302
240
337
323
219
296
282
305
279
217
346
347
402
364
306
345
317
300
345
261
238
322
341
314
361
323
242
327
364
292
239
329
329
279
279
294
371
390
391
338
371
250
323
324
378
355
296
396
372
288
387
316
284
344
347
327
360
345
383
246
306
245
392
371
367
273
225
188
327
351
363
276
342
328
357
286
268
307
342
341
310
306
304
326
331
316
342
317
358
315
388
341
347
241
250
323
300
301
285
222
302
332
316
319
318
291
327
263
319
284
273
338
279
346
245
306
380
269
310
341
337
301
228
226
336
316
283
273
409
353
316
326
344
312
373
336
275
255
319
399
351
316
368
308
311
344
361
392
359
306
275
335
290
304
323
391
284
303
352
236
317
312
262
326
399
376
276
280
322
362
322
431
327
297
288
325
304
347
347
263
329
324
351
298
352
292
348
303
263
308
285
376
347
277
363
249
305
386
376
350
293
316
327
294
363
290
337
320
272
342
270
228
364
323
359
297
335
268
417
287
250
279
308
307
285
329
252
390
358
290
301
264
346
296
364
296
409
314
332
245
288
337
383
192
324
438
285
334
382
268
299
309
392
296
325
286
205
322
366
229
237
316
362
345
337
213
345
222
376
334
287
308
428
324
253
261
383
378
320
388
293
246
288
304
319
360
412
258
328
345
306
286
284
301
239
245
292
241
314
279
268
253
320
314
276
359
235
302
294
341
243
278
314
336
255
277
307
320
369
294
311
363
302
387
252
290
333
318
350
306
319
356
399
296
254
346
240
289
386
331
302
250
303
328
330
214
370
343
313
367
316
260
350
361
204
317
324
345
284
353
282
393
294
221
296
313
356
258
339
365
294
318
363
322
339
343
266
310
263
358
308
379
405
331
362
212
339
364
354
209
328
374
386
286
369
278
381
321
322
321
286
306
341
297
316
371
282
371
279
239
263
278
275
364
291
341
340
266
298
335
331
297
328
302
333
385
435
284
326
276
291
314
304
288
287
344
328
359
292
284
350
320
274
390
305
319
257
223
292
323
327
320
351
345
310
333
225
235
266
275
295
298
362
270
314
314
337
355
223
226
285
391
313
429
308
391
322
348
318
345
290
259
330
310
379
273
311
279
323
295
348
252
297
332
337
370
353
334
319
339
254
313
308
298
312
384
351
332
309
379
349
270
307
268
255
317
326
357
405
312
284
274
292
308
339
338
371
255
393
349
353
296
292
310
314
381
295
337
309
328
375
410
317
307
307
316
288
342
239
249
361
299
310
309
286
300
323
313
315
267
379
317
284
398
300
369
335
300
244
257
260
307
356
378
337
315
320
307
312
342
351
352
236
285
330
318
371
331
357
291
323
332
298
393
270
260
306
239
352
231
348
292
273
327
302
214
378
340
303
288
331
251
260
331
321
270
263
259
366
252
317
289
333
312
331
302
311
335
333
329
311
284
329
375
358
350
349
282
296
209
301
342
359
354
283
310
357
320
296
283
294
231
309
191
306
356
308
297
268
249
269
233
290
369
320
295
387
341
289
334
272
270
338
287
158
314
328
327
334
199
284
330
314
333
300
353
295
404
299
345
316
264
314
366
343
235
308
268
279
331
328
347
324
269
376
327
360
340
358
349
271
405
348
324
220
290
290
282
250
356
327
351
232
320
418
336
347
322
348
337
276
314
239
337
263
299
310
328
294
296
354
304
342
359
311
307
377
318
308
353
253
276
320
361
233
372
283
267
288
341
351
276
273
250
339
307
302
279
316
406
323
341
329
289
390
294
335
362
286
284
290
267
346
365
357
329
294
383
302
377
278
291
371
302
319
315
347
292
260
338
319
260
329
322
322
270
321
355
298
339
294
336
284
366
407
376
309
282
330
314
170
316
376
333
360
330
317
267
299
248
379
346
317
348
327
262
264
284
307
339
310
321
258
366
234
323
312
339
304
346
342
353
311
371
293
326
341
353
326
356
406
272
290
324
297
327
333
343
375
331
224
274
283
366
318
332
369
268
358
256
327
306
364
307
334
234
352
350
273
357
312
247
295
314
320
340
300
318
302
333
296
277
315
249
327
381
300
384
340
359
284
360
328
285
289
311
295
262
308
340
344
188
357
294
341
289
245
315
297
327
285
262
358
342
369
284
249
298
355
389
360
267
341
350
285
362
365
306
299
387
237
318
343
304
302
293
345
326
349
281
296
243
302
237
349
306
340
284
305
286
312
384
351
285
366
305
292
261
274
358
270
360
266
334
250
366
340
339
330
340
259
279
233
326
320
388
352
272
261
393
328
284
304
425
386
329
267
301
355
379
307
337
344
261
252
222
248
309
314
317
307
237
282
261
284
277
322
343
346
341
327
301
313
295
362
272
314
342
285
386
236
347
270
350
343
260
359
331
291
248
268
341
379
255
292
261
350
245
351
277
361
283
288
247
337
385
326
336
279
393
381
341
313
280
388
279
340
297
220
347
291
304
343
325
341
277
325
283
372
294
331
311
355
331
255
350
246
342
293
251
283
292
351
273
184
301
297
288
229
251
381
320
322
290
322
290
256
323
291
271
319
323
322
296
357
258
296
369
292
354
309
207
342
325
366
330
322
275
285
302
389
297
318
238
245
336
331
304
359
344
329
244
295
362
332
289
344
438
350
317
242
320
248
331
265
340
355
328
316
372
355
261
246
332
280
402
239
228
317
382
357
333
315
210
343
358
327
307
287
318
339
283
254
316
388
305
387
328
299
262
296
283
354
265
361
319
312
362
310
267
321
357
311
259
325
292
250
328
389
283
347
363
297
374
383
300
325
375
269
326
326
273
302
304
280
310
300
266
303
358
344
313
238
359
297
292
198
323
440
320
336
355
289
342
328
364
335
319
291
275
340
337
316
332
253
353
349
295
292
347
301
283
357
394
352
324
259
340
371
387
343
309
292
299
308
261
439
351
331
371
349
298
320
288
344
266
311
353
279
248
272
256
338
290
357
298
358
305
232
305
279
300
228
375
341
322
323
277
215
362
271
345
391
399
331
278
259
305
278
377
301
315
274
365
343
306
276
306
248
373
297
300
264
274
255
292
349
296
348
324
330
238
317
367
280
285
335
273
305
333
360
241
375
349
313
348
304
247
343
262
295
306
220
385
224
293
301
318
275
268
310
310
258
255
320
343
363
325
297
360
344
207
359
341
330
276
353
341
225
418
346
263
276
343
312
390
290
280
322
354
243
230
328
318
335
336
289
318
315
316
266
346
226
253
367
373
291
382
267
318
340
297
349
289
244
335
324
283
309
285
333
319
289
294
270
355
266
330
342
317
413
217
253
333
358
286
320
354
261
300
275
327
274
324
285
322
317
326
327
339
326
279
359
226
425
364
361
319
257
325
292
375
211
361
372
310
277
339
405
370
327
308
356
345
358
357
300
295
285
336
342
303
363
353
308
333
301
388
237
282
345
323
310
260
381
277
354
300
297
265
279
281
351
272
306
340
296
297
352
405
328
341
300
208
371
328
372
330
249
353
324
231
310
321
384
325
237
308
331
318
329
362
362
360
280
321
348
312
270
355
376
301
294
382
270
332
336
322
351
363
341
275
304
337
306
270
345
322
280
323
259
289
336
373
358
295
287
287
231
316
326
342
362
393
329
314
360
337
405
368
238
321
381
341
332
326
342
332
261
338
343
316
406
255
268
315
338
328
297
335
259
322
316
382
336
303
266
398
310
304
327
293
366
349
356
289
351
294
268
350
343
423
338
291
348
300
344
349
259
315
320
283
266
276
303
298
289
262
324
402
340
347
336
327
309
300
326
297
279
270
313
353
396
351
308
292
361
374
322
349
284
309
331
316
331
321
312
326
285
403
345
326
369
241
383
248
251
285
320
298
269
235
430
399
333
322
279
306
338
254
321
345
296
248
327
309
317
319
341
303
269
320
221
314
322
347
213
350
276
332
317
283
327
304
217
390
285
318
360
326
407
369
316
264
245
295
380
278
393
372
319
342
283
282
377
286
317
353
295
310
357
277
324
278
296
368
324
340
301
363
297
317
324
360
306
304
357
317
361
339
306
403
397
282
372
256
278
364
302
253
290
252
308
353
320
317
204
361
280
322
285
315
359
226
317
379
361
292
308
276
350
372
276
240
338
364
345
274
371
337
354
366
333
306
333
278
396
318
340
273
287
295
345
332
368
395
323
361
254
394
289
353
345
303
348
286
260
325
343
253
269
258
291
358
349
333
289
345
292
314
300
380
342
276
242
315
323
340
235
289
277
355
315
268
305
356
350
297
333
384
324
342
324
259
278
234
289
328
261
359
310
336
330
376
325
299
275
308
256
388
273
304
330
264
286
321
367
284
267
348
260
185
280
255
238
304
324
360
300
317
289
328
313
291
363
312
371
335
376
304
348
380
297
301
343
324
265
352
340
292
279
343
323
344
299
359
243
371
304
317
323
336
311
275
319
241
249
297
334
277
241
300
302
263
306
289
327
399
251
334
303
299
436
273
378
345
356
318
309
317
409
319
348
334
260
298
300
317
272
323
331
367
344
310
335
352
351
320
306
307
341
309
347
278
323
291
285
281
306
324
315
358
343
293
354
324
329
337
246
312
337
284
298
285
352
284
274
368
307
357
275
272
304
284
279
238
369
257
386
352
349
291
337
251
234
303
382
398
374
305
318
326
458
239
322
335
261
281
289
304
297
290
266
342
319
322
268
404
346
314
414
292
251
315
361
240
359
330
293
366
265
351
374
356
256
274
232
309
311
300
347
275
352
320
329
257
347
283
332
310
293
299
277
244
370
353
367
309
364
304
262
273
318
246
271
285
272
286
312
334
292
361
275
280
299
318
350
307
319
164
345
374
350
372
317
320
321
271
333
264
342
359
282
305
277
350
320
294
321
347
367
332
315
299
415
317
357
276
343
359
326
426
325
269
274
309
372
306
292
369
347
288
307
259
295
337
340
308
182
374
368
292
295
329
350
338
322
307
301
359
354
342
287
347
294
309
338
377
298
269
345
310
330
303
371
346
360
303
251
331
270
201
347
333
284
346
355
334
295
346
341
315
273
363
285
323
305
356
300
311
292
273
336
296
314
268
251
411
298
397
294
251
329
358
287
243
350
343
347
293
268
347
356
354
332
316
239
355
271
344
390
242
353
350
328
265
322
321
250
334
350
198
307
310
306
312
320
311
241
246
260
306
241
331
297
269
286
266
337
372
403
297
286
321
259
310
336
291
263
318
332
296
384
274
271
401
384
289
315
275
357
304
333
317
326
290
362
285
327
392
285
339
295
336
288
250
360
315
314
332
371
363
361
360
302
326
329
338
283
350
299
307
324
339
274
346
287
212
322
340
308
236
231
329
319
312
282
300
369
332
328
321
308
215
275
328
341
273
206
333
305
335
355
253
385
354
298
337
245
329
245
398
304
255
333
380
312
295
318
321
349
315
304
396
299
347
261
304
342
329
290
308
362
379
331
334
312
399
378
268
322
328
307
337
306
353
336
320
212
288
321
400
317
328
379
251
326
264
292
255
321
364
291
292
386
281
325
291
312
367
198
232
277
377
278
203
339
347
323
359
287
347
264
279
339
248
311
310
309
248
392
368
312
308
269
366
357
278
262
273
221
303
336
402
219
235
307
360
313
320
304
283
378
362
259
270
311
390
355
314
334
279
307
260
333
359
312
333
319
333
367
261
290
291
258
280
390
245
400
322
246
262
321
278
332
316
359
231
310
411
329
258
259
301
352
346
312
351
314
370
334
307
273
313
319
338
314
334
219
365
268
296
398
271
276
310
321
337
280
315
258
352
307
309
249
329
301
291
358
309
340
375
300
301
276
347
346
270
256
314
358
288
317
318
385
353
297
416
237
310
343
300
234
316
270
305
336
332
291
291
375
304
295
265
298
315
289
335
276
395
317
338
323
323
339
342
360
306
216
331
294
310
361
300
282
310
272
402
335
367
355
278
353
283
252
363
338
316
285
286
264
350
341
257
366
290
322
341
271
327
282
351
253
291
314
245
273
271
366
343
306
344
212
382
343
357
265
307
310
207
346
311
387
271
332
344
325
334
329
389
339
316
360
268
352
292
358
334
323
396
359
232
339
341
306
349
341
351
361
377
353
311
366
312
350
411
303
349
264
345
330
236
261
306
225
338
336
248
322
273
309
325
305
261
354
356
295
321
307
306
352
324
311
268
313
381
313
317
271
363
368
308
301
300
352
270
343
369
282
381
317
323
334
296
257
326
288
282
343
308
329
310
254
242
290
350
276
351
322
376
308
316
294
303
332
307
363
350
310
341
405
293
329
371
314
277
355
343
372
307
242
337
271
375
309
302
338
272
328
296
222
302
302
307
338
378
353
397
282
295
328
364
324
347
320
342
268
317
447
341
250
231
225
339
350
292
270
315
280
246
296
278
376
330
352
313
304
337
395
328
355
305
320
321
366
323
379
326
311
279
265
254
318
298
407
259
354
346
322
343
328
347
319
308
322
334
307
275
385
365
306
336
391
344
263
360
267
329
375
346
312
257
346
323
272
397
353
265
256
285
358
383
353
299
334
331
207
303
226
367
353
369
254
322
271
307
271
291
271
365
364
335
403
341
310
330
308
302
367
333
284
384
312
365
294
343
270
196
304
325
259
297
333
309
323
349
223
404
307
370
404
322
258
343
263
304
266
285
273
402
297
446
308
386
284
291
280
324
353
315
295
419
368
302
352
284
407
256
404
249
265
338
299
293
274
327
345
333
213
274
311
352
250
275
332
204
301
357
309
267
372
329
327
317
323
318
222
426
352
328
383
269
319
282
272
389
342
261
358
293
381
275
334
293
233
258
355
312
330
362
340
380
333
376
306
212
309
395
309
274
331
365
278
302
270
276
400
328
315
322
240
277
354
301
325
338
364
323
277
315
324
363
352
344
285
289
196
261
330
414
407
323
332
301
355
350
364
280
263
344
298
255
299
348
305
337
298
280
287
203
321
304
351
271
261
341
347
276
363
375
323
375
409
317
273
374
284
288
370
296
385
332
287
304
257
339
293
290
376
292
307
342
386
283
262
278
322
302
294
310
264
241
413
387
349
261
363
344
346
354
341
316
341
261
247
319
339
285
267
302
334
347
322
345
376
300
291
256
362
361
325
363
395
289
318
290
399
403
302
321
227
290
284
339
266
325
318
312
321
224
307
348
286
287
323
417
360
387
364
311
319
323
310
307
270
327
298
301
213
387
229
268
345
350
343
361
335
250
248
316
199
288
349
336
357
277
342
413
280
285
389
261
271
350
277
424
314
282
328
313
298
316
355
308
303
307
310
315
377
306
298
236
286
393
329
368
331
290
346
314
305
292
339
298
314
255
344
316
279
346
262
275
280
303
310
276
271
274
313
333
354
312
309
273
357
215
259
326
272
295
354
333
283
257
286
330
363
301
258
281
385
379
323
281
308
321
240
297
296
311
330
370
340
418
362
302
363
319
323
305
229
298
326
296
295
357
261
284
349
326
281
297
234
246
291
237
313
295
333
290
354
300
267
340
337
384
314
336
387
358
324
310
276
305
334
349
375
285
283
372
260
351
256
348
313
304
351
328
194
277
252
334
296
376
331
383
327
329
233
257
322
254
201
244
373
290
374
351
255
327
326
368
343
320
328
346
341
336
303
280
371
297
345
358
368
207
229
262
343
343
336
306
328
375
327
302
326
304
325
306
358
268
369
381
369
338
325
376
368
328
283
387
310
300
274
282
377
237
306
282
324
318
389
363
324
368
359
341
319
276
350
326
378
308
282
406
382
314
307
321
281
325
247
379
396
280
320
291
281
334
345
331
292
250
267
254
313
229
308
345
324
390
344
327
281
363
242
367
349
360
356
267
339
322
216
329
269
335
347
268
265
314
357
298
290
284
268
230
342
320
323
203
262
366
394
291
272
333
416
336
395
325
308
287
245
330
188
372
300
292
337
308
235
348
328
273
281
333
289
366
377
341
297
322
300
315
317
227
359
295
353
424
300
266
347
321
337
286
289
332
337
336
286
175
346
325
275
339
298
294
249
331
304
302
339
374
216
245
283
375
395
272
362
326
296
365
278
386
272
206
287
353
249
194
303
317
358
335
257
318
314
352
334
281
293
328
354
357
260
303
352
364
327
295
265
312
244
345
324
360
301
327
243
371
243
323
331
258
362
300
356
350
336
303
320
355
299
288
328
315
229
285
342
287
342
387
324
275
285
362
321
291
342
239
264
354
292
306
293
362
288
314
256
288
321
315
343
360
306
256
349
280
379
332
292
306
334
372
323
288
320
335
319
352
275
338
348
284
314
332
294
336
250
347
270
304
328
360
356
321
292
249
387
404
318
392
274
355
228
355
353
273
275
240
353
208
252
279
336
312
269
279
310
261
400
338
313
304
335
340
250
319
317
318
251
275
365
297
307
259
357
379
299
291
357
321
241
345
310
283
374
303
344
232
289
292
347
313
386
340
252
377
393
364
272
289
315
357
242
365
308
382
410
295
348
286
270
250
270
289
273
328
370
246
315
256
270
273
307
357
321
240
272
273
267
356
350
239
259
334
389
287
231
381
313
302
439
275
318
245
388
276
353
304
336
219
350
310
337
244
237
329
352
313
386
254
305
280
361
338
336
346
263
304
342
343
244
277
330
275
256
245
391
234
324
273
371
318
300
303
295
377
305
338
257
298
262
324
288
320
348
324
316
339
320
390
250
304
299
385
352
321
296
318
261
302
253
242
319
358
322
320
319
259
393
316
286
332
306
263
276
338
288
343
330
283
286
326
235
318
377
356
394
284
240
365
288
302
325
352
330
342
182
374
364
337
373
268
313
337
306
367
353
371
357
315
360
328
340
283
352
289
294
294
310
321
276
202
297
362
291
337
323
236
344
323
301
288
400
331
261
329
294
264
352
383
279
227
339
402
341
353
320
333
339
377
355
354
294
313
273
216
384
326
338
359
251
230
376
332
263
304
372
298
269
289
352
372
331
260
272
332
339
320
356
271
242
357
340
371
268
340
388
307
338
337
355
281
266
295
241
335
312
300
322
328
293
374
338
347
295
276
360
286
272
359
298
251
296
284
258
365
385
236
302
246
270
330
273
392
336
367
334
206
323
317
319
347
291
352
282
292
240
332
307
289
278
401
373
374
275
224
238
300
337
373
391
359
317
348
282
330
267
310
263
253
279
337
338
351
315
292
251
324
290
240
365
346
372
334
336
314
370
337
304
245
326
351
337
297
358
332
272
353
281
326
323
287
300
307
346
252
235
290
337
315
263
300
334
338
311
328
279
338
339
297
403
306
249
283
333
353
402
299
377
276
278
228
342
294
272
278
247
365
378
354
221
404
363
345
324
321
363
248
254
335
318
291
327
250
347
283
239
300
336
320
225
305
273
315
393
305
258
325
304
318
380
339
290
257
252
292
347
210
261
293
316
318
290
281
364
315
320
264
320
318
354
275
347
288
322
315
328
364
328
268
317
320
280
399
372
346
263
242
332
308
275
332
312
350
314
386
384
310
323
313
297
291
313
373
317
308
309
329
312
356
325
368
367
299
336
339
300
352
335
266
332
343
402
337
246
312
251
279
341
386
358
298
282
321
370
342
355
355
339
298
362
220
334
348
319
274
351
303
321
304
347
241
363
340
292
267
311
370
305
296
307
318
283
313
346
302
285
286
258
290
332
288
344
287
282
309
253
320
216
324
349
342
326
302
334
311
331
356
406
379
341
358
330
317
297
302
245
301
314
317
277
287
383
216
345
328
323
320
333
326
382
341
349
286
244
259
381
306
382
325
320
367
354
295
345
294
382
300
344
282
286
333
359
345
357
294
351
255
299
262
291
311
330
377
343
367
282
440
344
301
275
337
258
245
347
312
283
336
271
299
354
289
261
363
361
368
307
380
325
328
268
275
364
348
306
327
321
376
307
305
292
222
313
275
256
241
339
309
328
309
383
286
325
320
335
373
315
346
313
259
412
309
383
290
357
290
365
298
300
316
304
388
249
382
304
349
294
266
330
348
325
275
315
298
236
281
250
295
317
335
277
282
369
264
311
212
389
285
353
336
302
342
307
291
361
275
243
321
338
313
326
322
330
382
296
350
328
376
341
274
360
395
389
351
410
303
289
308
371
388
262
277
329
311
366
347
410
338
261
364
352
279
340
282
268
315
278
360
310
317
303
297
311
313
323
383
293
309
311
327
327
287
234
341
243
315
353
304
324
324
361
285
317
328
307
307
315
352
369
331
340
333
317
287
409
376
336
308
278
293
411
247
376
366
315
328
369
312
279
214
267
299
268
234
327
270
363
371
341
305
335
291
286
349
312
293
394
323
274
265
208
179
339
429
263
320
272
315
308
349
300
209
307
404
333
354
259
338
367
336
379
207
281
322
275
320
253
291
281
262
368
292
304
371
260
228
363
349
334
316
365
264
315
314
251
322
338
293
280
321
315
361
355
295
294
327
277
308
356
327
279
306
242
314
327
235
311
353
304
282
311
316
356
305
238
267
332
341
306
287
312
235
334
296
305
297
324
355
266
294
317
380
366
293
389
261
315
279
273
364
348
302
311
338
282
316
315
315
304
245
357
207
259
347
293
287
284
432
296
328
355
326
311
282
372
351
337
301
351
336
371
244
290
276
317
272
352
396
350
284
377
285
297
340
363
254
308
241
354
288
258
283
358
236
355
317
330
202
303
290
394
247
216
341
299
328
360
399
374
317
288
272
356
347
351
344
325
223
270
259
395
323
320
342
298
332
292
252
351
249
316
189
332
400
354
350
352
318
304
322
330
344
315
267
353
336
342
254
340
343
264
284
249
344
283
342
351
312
320
398
278
326
335
315
247
361
303
379
368
326
349
397
296
238
318
292
264
316
357
377
315
316
372
345
298
265
296
315
354
342
307
330
316
333
355
373
317
362
331
316
386
278
253
274
363
357
322
346
378
309
255
326
339
285
255
322
258
341
259
280
274
387
299
375
321
327
332
300
281
365
356
282
375
314
303
379
316
298
314
362
279
297
239
265
370
262
344
317
356
335
309
252
325
320
338
257
391
300
332
393
320
260
373
243
280
319
361
382
304
343
256
366
244
267
346
398
364
300
362
241
224
355
314
268
378
344
338
353
322
309
373
375
294
271
298
338
356
306
323
392
312
352
329
330
334
285
351
286
327
371
397
271
383
361
324
335
407
341
364
341
401
330
291
306
326
272
339
270
265
351
369
319
260
317
304
270
311
270
281
377
293
279
324
253
306
329
303
348
320
356
370
324
337
341
307
405
273
322
383
344
288
328
287
296
334
265
330
303
350
378
320
370
323
286
400
281
382
215
312
277
283
296
303
246
268
286
246
233
337
335
397
340
275
261
271
414
311
332
309
299
328
266
304
358
267
334
311
380
174
338
272
390
371
272
270
326
293
309
323
287
275
322
348
324
402
322
401
325
204
348
325
301
347
305
241
337
306
324
400
368
377
268
339
352
385
278
314
350
310
314
328
304
297
337
287
362
259
277
350
384
273
279
326
256
331
290
248
308
286
269
409
315
269
398
377
292
212
295
385
265
330
351
275
349
279
285
313
343
334
380
355
315
288
334
367
358
250
423
229
325
316
209
314
293
310
224
263
325
347
364
308
281
357
346
294
318
263
316
342
197
341
270
301
313
317
335
280
305
381
346
335
372
334
329
250
362
321
265
330
303
302
382
321
285
398
352
393
362
295
312
353
333
378
334
288
332
305
297
329
201
302
345
379
268
317
261
266
350
325
322
329
349
332
312
363
352
337
275
267
318
369
309
359
314
240
356
302
340
227
318
338
336
345
380
414
381
309
380
209
232
260
383
340
336
328
326
316
374
384
214
348
385
319
306
372
295
259
280
327
332
277
339
293
351
329
308
281
366
289
325
257
382
330
275
293
368
296
356
348
305
282
330
286
338
305
358
320
276
327
308
282
245
345
282
357
419
289
295
231
211
317
254
239
275
267
266
183
334
413
331
359
394
316
340
383
404
397
308
235
338
301
247
327
249
291
380
297
358
394
293
306
338
348
342
322
242
217
287
292
397
292
345
298
288
313
402
238
304
434
342
330
324
265
300
290
300
360
375
345
275
367
368
288
360
367
216
338
304
244
334
311
280
343
273
323
316
301
327
216
316
287
407
318
347
255
243
298
320
284
278
327
348
295
312
320
324
327
257
318
266
325
327
353
383
352
313
215
308
336
297
354
220
338
330
324
366
298
317
307
298
335
285
340
337
264
307
363
291
290
329
314
314
285
270
295
355
282
264
296
280
228
277
314
358
302
232
296
324
236
249
355
369
359
364
392
387
311
349
339
323
327
322
353
295
244
281
311
308
346
320
276
357
331
363
329
350
271
333
296
270
284
354
330
341
297
356
342
328
291
382
207
330
360
271
368
256
246
241
258
260
295
228
304
318
311
287
436
278
295
292
380
379
364
341
293
371
309
332
344
244
313
361
349
339
298
284
368
261
365
348
333
292
310
316
241
357
333
334
302
311
307
321
265
252
319
258
290
348
233
259
328
290
210
283
370
301
310
249
339
355
325
325
308
280
380
303
341
307
259
381
296
287
335
399
289
324
228
340
323
242
190
319
323
293
298
328
300
405
227
308
276
261
309
265
210
313
217
436
340
346
345
358
308
293
298
379
278
358
288
363
329
289
308
322
263
371
230
352
292
342
331
333
306
381
246
357
312
314
280
313
336
307
282
319
327
307
293
317
221
323
348
345
337
363
344
348
301
351
399
338
232
271
352
362
334
282
318
271
389
251
367
232
276
324
263
369
368
329
293
231
276
354
259
306
293
268
390
292
288
316
265
356
345
400
332
356
327
322
334
343
275
338
375
304
281
266
288
288
353
306
309
276
247
369
290
322
315
359
331
276
307
332
288
321
381
340
273
318
210
333
280
358
319
340
335
302
271
264
318
292
213
391
323
356
260
373
304
293
287
398
334
387
313
281
277
249
337
292
223
365
286
343
370
228
304
294
362
347
271
340
276
376
257
326
289
313
298
310
289
313
323
315
321
263
400
346
294
363
258
259
321
294
269
306
279
369
234
187
357
378
261
328
364
331
279
327
390
233
351
323
291
375
292
354
373
259
316
304
379
335
339
306
290
335
342
320
275
272
275
278
344
400
273
419
339
311
343
297
342
305
325
334
342
263
407
344
249
300
344
362
355
326
307
380
269
315
327
307
336
300
309
295
354
374
273
349
315
327
250
245
343
343
284
209
331
271
298
252
259
286
298
247
389
244
351
314
300
285
355
247
306
253
329
282
249
327
303
347
342
288
282
337
337
272
334
268
352
349
302
305
380
309
293
266
409
289
348
278
320
328
338
321
375
279
391
351
284
399
281
366
365
368
313
317
344
364
343
317
376
342
292
332
330
334
297
323
301
248
309
303
272
333
324
295
259
346
412
313
396
344
353
319
303
309
313
295
335
307
251
283
276
363
329
332
268
346
272
338
336
332
282
325
391
366
340
295
306
336
290
285
351
336
253
326
338
220
322
300
297
331
358
330
366
296
293
360
305
247
352
303
309
309
303
296
389
270
314
274
310
339
282
199
264
425
249
380
268
356
305
262
293
339
315
330
295
356
252
264
341
341
403
268
265
306
263
333
340
222
311
331
298
365
261
315
367
303
241
335
268
302
259
414
282
266
295
286
357
328
302
389
321
315
422
348
310
302
349
282
344
297
257
321
262
327
246
309
346
374
296
334
288
353
339
329
354
300
326
358
303
342
256
355
349
367
343
316
276
382
287
363
308
352
316
293
341
329
434
246
321
293
339
262
352
262
317
305
357
238
257
340
296
238
294
381
328
305
333
267
286
237
372
355
378
284
321
251
259
405
293
293
375
358
325
368
317
308
298
342
376
326
355
337
282
328
369
330
402
331
318
254
381
342
272
402
272
304
284
315
314
352
304
262
347
303
253
315
382
429
299
326
349
271
369
428
407
185
268
390
324
216
320
283
329
327
325
378
347
271
337
250
326
308
317
345
315
262
379
255
311
312
306
304
359
296
387
284
329
276
348
288
288
276
252
336
299
287
369
330
314
363
274
319
350
289
320
338
333
310
332
319
332
292
269
325
245
259
310
312
360
418
294
287
254
293
322
314
286
350
345
257
277
251
365
301
278
334
337
239
326
374
264
361
257
332
318
304
303
332
291
347
346
300
342
417
407
266
317
259
311
285
329
295
370
282
265
296
197
274
299
295
378
413
272
329
301
303
385
329
358
261
347
295
288
350
348
248
272
389
356
342
385
284
267
315
296
303
323
323
377
283
357
312
251
338
286
330
366
255
280
339
288
386
258
334
258
348
256
313
337
284
302
384
250
356
290
330
276
279
253
362
270
276
248
224
349
367
353
210
263
302
334
295
310
293
230
308
356
421
268
314
305
358
223
311
307
264
272
322
263
299
311
359
347
333
400
350
331
314
318
283
270
301
231
247
405
330
238
257
333
259
295
302
317
304
329
336
306
333
209
333
293
268
344
341
411
297
289
320
363
350
352
341
366
363
347
345
307
329
277
326
270
369
336
317
329
270
341
386
309
295
294
300
324
331
388
327
380
337
250
292
361
335
309
294
371
310
283
336
250
283
286
303
394
395
286
352
260
251
274
298
281
225
352
368
368
277
380
279
346
350
409
312
316
274
324
300
311
362
274
204
310
365
297
344
360
298
319
333
225
299
291
314
356
276
308
254
249
364
304
309
335
390
300
344
266
239
274
281
292
316
241
316
222
170
272
338
365
337
354
257
229
294
301
389
397
236
369
339
330
367
402
291
328
331
391
330
273
335
280
301
299
263
299
274
287
365
344
352
342
269
342
276
289
310
252
309
318
378
362
376
294
324
384
285
339
377
358
360
329
305
301
213
334
324
369
265
290
269
357
316
344
326
283
353
354
242
352
358
460
214
403
338
371
368
280
226
310
319
316
214
336
296
299
409
298
253
319
315
359
338
294
316
333
281
322
379
315
304
343
332
381
280
322
390
361
221
325
349
384
365
282
289
361
283
324
290
313
314
284
372
307
320
331
246
299
312
296
340
332
305
322
321
349
320
361
382
339
335
298
399
325
346
344
307
346
379
288
359
362
357
324
328
343
317
283
243
273
312
307
280
320
335
338
336
317
319
342
312
280
363
300
276
294
350
309
376
233
300
298
303
326
346
316
252
335
350
347
300
287
265
343
326
327
379
361
293
254
309
279
254
316
264
409
214
259
270
278
335
457
342
251
252
302
327
303
282
229
305
251
298
353
316
320
319
363
348
305
341
305
306
269
332
301
253
282
334
327
387
315
362
421
335
352
288
354
282
364
288
221
261
348
355
304
329
322
346
325
323
384
333
271
381
304
330
321
285
329
361
290
301
303
353
209
264
357
247
280
286
312
231
386
282
367
299
354
198
296
339
251
223
347
368
257
373
314
334
309
314
285
306
309
222
279
409
243
232
284
326
328
344
302
248
280
351
241
248
356
285
290
343
368
275
299
310
307
254
386
386
396
283
296
294
364
316
237
383
316
317
305
311
352
253
341
321
295
285
322
407
308
369
274
301
355
285
341
282
257
285
222
373
355
318
336
311
354
313
392
404
292
283
347
382
326
344
290
250
298
366
296
384
298
292
378
261
311
387
285
299
350
287
407
257
423
387
314
293
375
252
387
350
285
322
295
292
314
263
248
259
384
367
279
285
362
353
311
337
317
294
317
276
308
271
334
217
367
310
332
396
309
291
242
369
307
326
334
312
325
281
309
281
308
340
290
332
288
270
269
273
249
303
229
243
258
314
338
316
390
292
370
251
302
355
311
293
245
289
372
335
312
286
354
291
252
277
322
307
366
253
350
381
298
321
418
346
321
372
298
341
317
331
259
374
304
329
386
343
313
355
277
344
239
298
332
304
338
363
279
263
400
263
299
303
359
307
278
363
285
346
297
282
347
294
327
254
376
328
343
351
270
370
295
296
351
369
343
257
312
360
331
319
319
349
298
302
307
319
321
334
284
295
289
293
377
402
341
305
350
335
351
357
323
306
256
275
327
357
328
356
315
381
305
349
367
301
348
296
258
312
255
254
291
294
302
327
270
377
267
316
316
169
332
273
332
353
374
394
339
260
359
378
337
336
329
198
259
257
354
394
315
216
325
260
400
334
296
314
306
293
288
351
320
331
314
342
273
277
263
328
285
276
326
303
338
318
320
343
312
338
308
277
369
359
336
291
320
284
345
307
272
377
296
307
272
364
271
397
289
351
331
376
289
333
232
217
292
381
258
231
305
336
264
291
274
350
216
299
356
316
326
301
332
251
326
312
323
417
337
309
392
321
361
292
348
259
260
357
303
301
305
330
348
308
301
321
296
316
233
308
328
248
412
332
367
382
303
387
325
170
309
319
339
348
376
392
371
184
301
194
297
263
308
285
328
366
282
313
303
274
261
321
226
330
312
371
307
388
321
276
350
409
225
331
269
347
358
334
291
380
344
279
298
339
320
319
350
342
297
350
359
208
270
292
277
289
305
239
351
315
272
275
295
360
321
319
360
324
293
327
314
390
385
279
352
257
356
296
270
428
279
368
354
301
355
394
366
351
331
303
344
322
347
316
289
286
314
275
332
401
239
336
391
337
318
293
339
278
299
272
324
360
306
327
326
353
263
319
304
265
333
382
233
380
354
355
317
286
294
344
331
284
331
264
291
305
297
302
294
335
338
384
312
362
361
345
300
334
426
342
252
285
307
321
398
323
319
321
331
252
242
337
325
331
253
360
334
269
348
315
322
335
342
348
330
344
244
329
324
255
330
263
314
325
389
349
339
348
382
331
298
343
350
279
322
330
207
352
273
345
252
377
291
313
303
343
255
414
291
384
313
344
411
246
398
286
305
278
354
265
310
325
281
236
340
330
297
333
340
351
340
376
346
351
297
323
335
366
353
317
262
266
374
344
272
300
355
297
330
306
311
223
271
314
280
287
367
329
253
323
390
277
383
325
314
279
236
274
329
364
289
258
232
315
285
280
371
323
336
363
372
271
232
380
334
270
325
315
321
323
285
304
264
279
319
321
370
360
366
301
329
376
338
305
311
270
274
318
318
302
314
292
352
410
310
392
276
258
289
254
368
269
281
335
340
328
339
385
369
265
294
213
353
305
290
289
310
373
323
304
317
276
336
343
235
330
327
267
348
270
321
358
232
300
280
266
239
285
318
344
270
291
305
309
332
343
313
289
338
274
353
326
331
301
301
370
344
300
360
301
297
327
320
343
301
316
379
344
338
382
320
291
369
337
396
307
388
294
348
356
317
302
314
380
335
322
287
409
313
306
253
276
386
374
332
346
383
342
361
240
353
329
273
304
361
393
302
313
382
374
347
334
348
223
381
299
293
287
266
316
257
314
336
320
248
309
275
394
247
264
358
329
319
234
344
357
319
376
370
248
345
272
294
317
364
353
321
206
375
255
317
217
372
312
319
295
365
156
362
266
347
310
368
235
334
312
255
294
328
300
270
298
332
325
306
415
390
350
269
341
411
343
316
300
354
290
360
292
290
331
402
228
263
256
353
407
369
383
330
375
321
324
351
295
265
393
325
314
319
341
365
275
313
326
327
286
301
384
304
335
246
299
271
378
308
269
313
307
300
381
330
356
293
202
233
313
296
315
287
299
252
338
326
343
295
348
261
384
367
269
328
326
269
275
375
271
378
332
313
356
358
315
286
343
269
318
310
387
186
264
328
309
316
383
355
336
309
296
285
270
195
276
374
212
277
352
343
333
293
238
315
256
336
381
380
329
341
247
280
354
295
304
322
315
279
335
279
334
384
367
331
301
346
331
351
235
303
284
354
249
228
282
316
340
273
292
300
374
264
327
373
301
352
359
305
374
338
263
314
367
318
321
333
259
411
302
414
216
366
273
301
298
315
287
327
259
294
329
368
339
292
305
257
282
319
370
245
328
267
243
324
311
275
329
348
356
285
249
357
322
362
340
339
253
364
375
343
334
345
360
230
344
297
303
384
389
264
311
333
267
290
261
272
217
290
294
290
310
299
387
292
390
313
399
207
283
264
299
299
356
359
316
361
305
409
340
322
353
374
323
348
218
334
377
292
269
200
349
341
340
306
405
333
226
244
347
377
280
342
328
258
363
262
299
329
364
290
298
319
304
326
263
388
335
278
254
300
382
249
298
301
322
378
349
415
328
275
285
316
384
301
276
328
279
283
365
373
344
319
309
333
283
300
308
365
306
336
360
355
305
351
286
288
328
318
286
333
378
319
246
348
334
241
267
389
356
291
394
264
342
338
337
302
302
310
298
195
327
394
269
297
286
260
303
264
315
334
284
280
326
328
388
270
317
255
291
294
311
310
299
308
272
352
332
327
321
290
279
320
385
324
252
310
363
284
333
288
341
345
217
266
237
292
366
354
288
310
374
310
410
331
366
299
322
352
374
397
354
268
337
391
253
334
237
290
320
274
296
302
291
333
338
325
374
283
272
294
266
362
321
391
253
297
419
312
307
303
354
310
292
308
291
327
300
276
278
292
310
420
299
375
337
297
275
306
273
275
352
249
307
284
327
317
364
329
380
305
269
246
277
326
389
335
246
328
318
268
345
326
318
397
337
292
350
371
292
332
361
327
299
259
342
295
409
326
337
381
323
331
318
247
264
326
332
314
328
328
352
250
362
365
323
294
320
314
301
312
324
367
263
308
308
312
272
263
431
311
311
313
367
382
292
385
278
374
292
334
383
334
239
302
327
255
276
408
355
304
367
288
320
316
327
250
361
402
288
320
344
315
245
286
306
285
264
353
259
336
317
309
323
329
360
374
323
373
302
303
342
390
276
319
256
346
321
349
308
312
308
312
259
246
280
406
276
335
292
312
351
239
344
341
373
354
230
367
299
313
237
317
273
275
251
298
293
341
288
351
395
347
314
391
347
293
334
362
357
317
297
295
337
274
238
207
342
372
268
307
333
359
327
285
362
249
360
370
278
334
352
316
302
384
387
299
295
294
299
354
320
356
322
343
344
340
299
289
361
375
350
332
296
288
355
341
377
293
363
278
327
280
250
353
338
343
361
308
313
409
363
309
341
293
291
338
251
356
321
361
310
328
293
346
213
275
333
252
328
280
315
355
353
332
257
330
300
242
342
273
278
313
293
290
313
387
360
304
330
347
272
329
351
318
290
332
276
360
279
356
249
338
255
298
269
177
215
336
402
327
272
323
325
240
268
216
331
392
286
357
269
351
399
307
344
305
232
316
355
333
248
279
262
337
333
335
267
303
292
285
346
314
379
276
326
348
243
379
311
400
334
359
315
176
272
275
316
268
349
297
389
358
288
402
310
315
297
336
325
317
363
275
302
274
237
339
353
366
366
220
346
272
326
369
397
298
263
240
236
329
319
329
268
284
306
332
392
308
351
310
293
318
291
321
284
369
404
248
323
296
364
332
283
324
267
296
329
217
296
344
368
244
275
349
363
386
253
294
346
310
343
334
358
277
316
345
371
372
310
303
367
285
266
305
226
318
355
340
250
380
277
248
275
282
313
320
352
305
325
313
257
315
309
335
349
318
289
329
344
423
272
323
343
252
377
345
297
269
311
337
258
310
391
318
315
346
380
302
326
234
283
281
368
286
306
356
375
315
299
301
261
308
324
289
305
292
235
257
316
350
346
350
312
392
347
303
354
201
249
289
383
334
304
292
385
283
294
207
265
316
317
275
304
353
367
299
218
328
261
383
350
286
352
294
254
240
388
337
290
439
306
270
297
336
309
323
354
417
350
363
271
265
294
356
349
304
353
287
382
410
408
275
313
329
366
247
213
325
313
249
350
291
335
209
256
323
390
278
384
385
248
309
338
335
236
279
354
390
306
332
317
285
374
371
255
303
286
284
301
266
314
378
320
378
316
314
295
307
329
304
247
359
316
402
304
354
247
368
308
341
370
295
365
296
313
298
284
302
399
312
292
268
368
299
239
370
347
323
297
314
316
387
335
318
352
319
354
355
316
363
319
356
280
342
274
295
264
331
360
274
228
297
304
290
332
287
274
278
358
297
291
284
357
274
277
375
280
373
313
396
340
329
421
322
335
350
269
318
349
364
336
288
315
301
377
311
289
303
330
364
290
336
356
395
231
273
247
279
253
241
315
250
291
341
270
288
237
288
303
343
289
343
273
299
310
267
345
352
366
346
333
287
292
239
246
288
380
310
292
346
306
310
292
363
328
318
373
348
376
308
305
227
384
330
290
307
294
330
365
345
366
275
254
360
268
235
321
315
291
285
350
365
293
302
251
402
287
319
241
253
308
310
357
319
356
313
347
310
280
329
370
327
331
313
317
333
204
287
347
306
328
337
285
374
317
265
302
321
242
348
314
289
343
296
315
374
350
399
342
380
309
292
306
279
282
364
249
394
327
336
290
287
371
270
321
373
269
332
421
292
327
300
305
253
278
290
351
277
274
318
377
272
385
186
328
338
287
345
382
255
291
348
338
366
329
369
232
341
319
316
300
226
333
352
375
373
339
358
259
267
369
264
337
335
406
377
259
305
245
320
274
340
339
363
370
324
340
335
266
330
317
345
370
301
328
300
380
352
243
335
322
312
365
360
262
372
288
365
360
374
344
353
324
343
292
323
339
231
293
332
279
222
314
274
335
287
305
281
353
285
313
300
330
375
275
250
307
308
336
318
266
323
366
214
363
363
360
348
358
326
347
363
277
296
360
393
377
359
298
283
333
308
281
343
346
321
365
361
292
249
246
336
293
371
357
284
295
344
369
303
302
326
289
293
297
327
241
264
314
278
326
263
291
314
282
350
366
235
211
303
293
279
335
267
311
262
304
300
319
272
299
280
269
289
303
367
314
319
385
330
218
361
240
367
343
344
313
313
379
309
332
388
378
310
338
369
233
334
329
297
285
334
349
231
238
349
295
310
299
284
265
372
332
390
296
332
354
352
274
341
301
339
326
333
319
333
356
362
330
343
275
326
283
338
295
294
305
293
300
232
333
315
354
311
330
350
275
269
281
372
271
298
320
282
282
354
261
388
401
341
328
354
387
252
389
421
285
339
326
343
284
320
264
294
377
326
310
394
293
270
348
313
304
355
310
289
256
379
311
384
317
224
394
337
387
330
304
368
309
305
296
323
342
332
342
335
332
398
330
357
294
307
272
373
246
371
366
318
264
385
245
426
340
261
282
335
257
389
299
321
266
358
296
372
350
414
309
389
244
240
233
353
295
327
314
268
282
286
300
357
328
301
321
261
278
362
331
337
354
256
298
301
313
363
331
296
296
294
262
275
336
326
372
386
307
285
389
410
305
340
312
365
270
306
270
389
264
334
302
290
419
248
324
368
330
351
315
313
306
358
316
302
300
327
351
305
315
319
308
282
363
305
270
320
289
377
388
299
362
310
284
357
374
320
292
379
300
290
320
260
344
356
366
300
289
308
389
287
338
292
298
319
398
246
330
300
288
314
333
361
348
426
353
369
439
392
290
341
311
334
301
330
295
324
284
362
338
343
257
350
361
286
314
412
376
303
222
278
268
292
270
234
267
226
278
390
331
285
325
265
307
281
261
304
300
328
325
193
354
291
317
227
370
239
268
283
260
313
336
353
261
335
288
288
271
297
237
318
327
349
268
333
276
358
361
336
248
246
343
275
294
309
343
300
315
312
305
349
357
256
405
309
259
333
357
319
297
231
348
349
353
306
307
358
383
323
307
314
310
276
261
337
306
323
350
370
261
323
284
330
340
273
321
341
249
310
346
321
369
279
423
309
283
324
333
302
326
343
302
339
286
293
284
382
316
313
263
310
329
269
255
280
295
348
394
307
331
301
269
362
305
198
287
386
228
310
360
272
283
273
283
283
348
410
317
367
265
347
292
319
367
293
293
351
382
278
347
293
301
289
260
337
376
343
167
338
300
359
279
277
301
339
322
299
322
339
301
368
286
264
344
323
289
241
295
328
222
270
289
327
311
338
313
361
321
256
338
294
364
337
330
336
309
301
310
309
352
366
413
351
350
338
297
268
294
319
341
277
307
287
303
389
331
262
201
308
288
224
250
268
233
331
251
260
337
317
263
339
267
280
343
274
352
294
347
296
356
327
314
251
279
292
345
213
331
231
255
271
259
280
320
409
392
338
300
232
321
242
337
345
356
297
341
315
318
306
303
347
318
292
316
334
294
280
323
278
361
292
235
386
267
316
285
284
385
340
394
282
346
295
320
300
285
188
275
288
377
247
311
306
300
350
312
228
273
282
318
342
352
359
298
235
361
287
354
364
340
298
324
327
384
319
297
322
367
323
400
279
335
394
258
327
319
357
329
352
164
303
344
353
361
337
329
321
303
358
338
316
302
305
313
292
303
297
303
337
387
255
358
322
331
337
311
262
265
288
320
349
246
325
296
397
285
317
316
319
244
370
389
244
275
317
294
283
258
379
322
265
309
309
360
340
319
342
385
392
247
256
274
401
308
293
325
295
318
314
333
364
344
331
310
354
322
343
354
308
338
315
282
349
281
307
362
350
296
346
266
301
384
350
280
306
226
264
308
364
363
253
286
338
305
337
303
346
279
313
239
325
312
367
303
269
358
295
380
404
339
403
339
318
284
318
377
352
302
366
283
287
298
301
396
287
308
258
343
351
379
315
278
347
284
270
330
366
336
260
357
330
371
354
265
392
314
303
244
289
356
228
307
327
333
281
376
249
335
319
275
245
362
340
304
288
295
287
311
357
263
280
354
308
350
293
327
313
323
332
303
223
381
303
326
322
267
324
255
362
320
285
307
368
313
316
345
389
309
324
268
296
300
286
270
302
359
348
228
371
324
321
260
317
266
389
334
343
295
311
254
382
302
323
322
348
408
409
250
313
338
361
269
328
316
353
373
380
275
301
283
318
349
268
278
329
261
369
339
296
357
222
359
203
295
266
287
318
279
321
364
246
313
376
335
201
309
310
295
413
266
261
316
342
370
320
374
316
276
246
188
297
277
240
299
303
262
342
322
324
247
322
305
271
325
319
364
313
343
365
353
313
328
286
299
312
374
288
377
214
309
325
271
358
290
290
324
274
329
304
284
418
319
283
350
327
322
366
388
282
343
322
331
337
325
270
251
301
331
366
371
324
265
315
331
317
264
328
351
382
327
291
363
349
293
357
314
322
308
361
333
274
348
289
350
334
221
276
210
286
351
350
313
311
349
299
313
247
285
344
401
276
296
209
325
272
252
307
291
305
293
314
336
369
270
301
309
217
283
320
324
293
319
257
342
370
287
243
315
316
275
298
261
324
256
303
324
329
286
319
249
286
328
288
313
327
252
357
278
420
281
339
245
318
320
366
298
238
351
248
385
321
285
354
303
345
394
296
327
253
293
243
253
235
244
362
249
307
297
331
254
289
269
363
284
325
313
300
365
219
394
281
300
315
261
403
417
270
265
329
248
409
315
291
315
292
294
395
327
316
324
317
351
376
306
383
342
393
379
346
308
270
386
334
336
373
319
326
378
312
378
329
306
352
302
366
321
369
224
389
333
278
415
312
278
354
380
254
294
309
343
356
245
295
261
293
277
315
366
313
308
293
300
300
342
301
301
386
270
311
305
265
366
284
317
299
314
346
319
270
279
273
259
363
265
267
349
298
295
321
395
261
289
240
268
249
342
368
364
297
349
348
349
260
357
303
257
277
324
279
245
313
333
367
347
273
393
365
323
262
308
333
327
283
325
327
299
339
324
331
358
365
235
320
279
309
349
347
272
376
280
345
320
398
351
301
342
253
409
372
271
347
293
344
262
276
295
370
357
344
325
312
306
240
407
332
357
281
338
285
275
401
284
277
303
268
196
248
316
361
338
345
310
372
296
365
320
287
359
268
305
287
239
326
351
296
296
350
333
298
338
309
363
275
305
310
324
233
286
325
355
417
271
398
328
290
395
394
339
387
249
292
288
324
356
372
319
354
240
300
339
315
266
274
368
344
369
306
285
325
347
320
265
299
315
304
351
261
282
275
270
314
276
332
242
343
338
274
336
324
263
321
187
277
297
350
315
337
277
327
345
199
325
289
350
269
327
353
383
296
347
291
284
300
362
343
413
229
326
334
376
286
339
335
344
298
308
292
304
262
334
329
279
324
278
252
276
337
387
379
376
253
368
262
292
320
370
334
359
300
346
261
265
277
304
290
235
257
257
299
257
300
347
311
336
334
282
276
332
336
325
221
281
332
379
310
286
316
280
317
329
237
346
326
215
327
333
342
425
354
229
277
361
338
251
351
324
267
314
228
258
320
287
326
326
326
272
307
288
339
278
258
270
333
348
294
266
315
266
374
290
316
353
280
218
221
242
343
333
319
252
271
311
355
303
313
324
384
338
245
232
333
389
318
380
238
287
377
289
309
238
338
244
305
349
328
279
238
336
282
359
292
258
318
356
200
298
316
330
292
404
289
288
338
274
348
314
297
313
266
370
311
254
313
303
329
286
372
347
272
293
203
307
320
322
390
294
365
371
339
281
227
300
304
352
374
308
363
305
293
278
250
331
287
238
322
316
260
278
240
389
318
325
383
338
333
238
221
357
315
352
271
282
351
322
268
321
347
375
324
275
298
314
281
308
303
333
376
278
292
266
291
280
313
339
322
381
357
344
324
339
346
262
247
311
322
313
348
319
327
330
295
367
285
309
315
293
335
251
381
307
282
328
341
312
276
329
312
385
295
306
328
346
340
314
336
307
236
327
285
339
356
265
301
303
315
297
308
338
263
391
247
344
291
311
253
256
372
368
275
352
363
249
222
353
313
290
276
300
288
348
355
333
291
351
277
306
318
375
343
338
278
381
399
344
376
287
336
348
336
356
340
355
281
271
290
375
346
398
321
278
319
354
296
344
180
310
332
303
377
306
283
363
299
334
273
283
391
286
307
326
344
339
384
385
311
365
320
366
252
239
317
348
283
377
234
322
338
351
310
290
276
322
331
360
347
347
300
329
280
294
272
332
340
264
388
365
253
342
354
329
261
359
396
283
288
295
363
323
347
316
320
329
332
267
306
320
348
251
291
298
303
359
319
326
309
309
283
301
310
331
340
297
218
270
336
358
308
332
243
277
263
375
261
356
283
338
407
325
264
373
343
361
334
252
316
280
339
328
324
436
258
363
319
297
304
316
331
391
354
346
337
309
266
381
322
337
276
272
410
297
264
299
320
313
263
363
350
276
372
320
291
377
312
399
340
263
233
344
324
379
410
262
322
345
353
260
282
311
222
257
323
296
303
255
343
257
366
296
332
274
282
301
340
279
257
239
308
338
366
366
363
312
278
334
322
284
282
355
344
255
299
339
364
289
317
375
331
322
331
333
362
308
351
277
345
320
304
353
256
360
355
254
302
357
351
326
319
291
273
305
286
279
323
270
286
349
285
362
325
272
416
344
311
286
300
344
268
249
305
334
355
306
371
320
343
305
236
320
367
268
286
378
364
267
314
220
331
246
203
297
288
366
257
264
312
295
287
218
380
333
356
255
374
259
339
250
301
272
377
267
258
360
355
269
350
356
297
272
324
293
322
337
291
341
367
353
345
255
314
363
284
292
295
355
265
275
309
244
351
266
304
256
305
274
280
265
342
361
310
289
340
356
366
369
394
259
321
222
295
347
359
348
360
418
286
199
359
276
288
284
378
345
266
228
332
236
309
277
367
399
274
341
329
365
286
318
283
343
311
361
370
284
342
291
270
258
403
329
329
350
362
349
317
312
318
273
376
402
342
309
295
280
354
287
274
315
286
397
329
313
368
269
303
337
365
279
308
336
347
239
264
310
342
278
314
330
305
318
254
345
334
277
309
370
351
336
250
262
351
351
397
361
340
312
321
347
328
363
222
342
319
268
288
303
307
362
257
302
257
330
358
241
197
325
303
259
308
249
363
369
305
333
347
360
269
363
377
276
359
252
350
253
258
340
316
330
357
344
330
266
314
351
324
291
222
353
303
349
308
370
308
329
366
350
320
380
363
323
318
394
297
345
319
337
356
358
315
293
249
283
222
345
335
332
339
265
346
300
332
277
327
311
273
273
296
409
334
306
366
316
265
286
292
357
365
344
391
374
298
334
328
378
304
418
264
289
291
259
326
292
265
320
356
317
376
292
346
333
329
288
352
292
329
293
355
372
200
393
389
298
280
343
284
380
350
313
311
305
396
366
356
365
319
344
271
414
334
309
388
267
322
367
402
355
310
264
320
210
304
338
283
284
353
305
300
357
258
360
386
315
252
320
343
383
286
300
274
333
268
381
304
352
301
358
328
367
344
340
254
337
378
277
390
322
306
367
263
293
282
253
297
253
336
317
314
375
309
288
392
348
298
346
317
318
369
262
304
352
302
370
317
307
315
309
416
310
326
285
324
266
314
302
219
307
339
306
333
305
308
276
311
266
263
348
350
327
368
280
393
359
291
288
393
338
263
268
275
344
316
318
275
325
323
278
264
380
297
308
300
313
282
270
312
365
319
255
345
263
292
384
353
304
302
297
348
344
283
356
332
304
260
381
340
291
272
308
304
296
324
395
336
380
320
289
264
313
347
364
336
253
373
237
352
195
311
280
326
271
346
355
267
331
331
309
312
392
265
280
272
354
324
309
346
360
267
340
250
296
180
305
317
345
307
354
318
336
355
317
321
318
240
291
382
317
291
319
385
323
247
332
324
328
358
385
342
226
294
311
389
306
245
372
373
337
292
357
324
318
330
301
311
288
358
330
338
347
377
260
332
329
292
312
357
319
332
345
264
271
362
407
330
293
225
294
304
328
252
321
262
272
296
339
232
266
272
343
341
326
361
251
290
340
353
385
261
284
366
356
322
302
351
263
343
341
344
329
354
356
375
259
316
269
338
262
303
358
217
288
300
283
319
236
315
323
239
329
301
334
340
284
249
280
314
203
322
358
256
284
313
332
292
262
389
345
389
273
309
343
361
263
347
349
302
283
328
232
363
303
331
257
268
293
266
314
308
317
343
340
364
261
253
297
276
389
342
373
340
318
317
359
345
353
268
321
281
367
247
299
396
380
341
419
296
377
272
300
249
368
314
215
312
307
361
263
351
276
307
315
331
319
381
358
336
336
279
332
317
248
269
312
210
336
324
301
312
280
247
255
308
324
349
325
342
267
371
392
354
355
262
364
254
314
279
329
319
378
305
322
386
285
304
229
289
345
265
266
316
315
373
299
317
321
322
289
377
305
290
354
335
279
368
280
285
219
291
344
244
272
362
283
307
357
286
336
266
309
350
270
316
336
316
323
254
313
321
338
291
366
255
326
282
360
246
264
277
341
299
380
313
297
391
329
299
302
405
380
286
331
347
305
263
260
323
300
304
313
290
320
313
315
297
296
336
279
339
322
301
292
380
244
435
359
281
267
343
410
252
272
302
308
363
300
217
289
279
309
319
317
283
365
344
298
390
201
260
320
281
395
344
281
389
217
304
286
277
348
287
337
355
305
311
299
258
357
328
285
332
261
250
306
376
285
349
409
284
278
315
303
363
285
371
333
393
299
359
336
381
316
369
229
336
383
374
291
327
337
275
266
334
270
353
278
333
305
395
370
424
306
299
325
339
315
276
305
370
321
214
273
266
379
290
285
355
353
328
333
343
415
318
305
281
309
332
356
226
312
335
341
314
275
244
335
355
265
323
298
300
256
315
402
353
248
319
384
332
306
268
378
366
299
317
305
392
382
260
375
310
285
253
363
307
376
355
356
309
314
301
337
353
373
333
351
311
288
291
372
252
333
239
327
292
279
264
358
330
322
297
299
296
354
364
300
365
319
328
330
274
267
273
310
370
298
241
297
306
294
378
293
351
383
265
363
293
246
357
294
253
402
318
331
284
356
322
359
318
284
326
375
351
278
351
325
177
263
300
298
311
281
382
330
222
300
350
323
323
265
289
286
258
335
258
310
281
270
389
291
322
251
314
253
278
354
349
252
360
303
368
332
324
413
281
262
299
279
253
316
250
340
373
278
297
346
317
348
302
293
289
403
284
383
297
349
306
291
275
320
310
283
367
345
333
353
366
364
336
218
270
363
309
296
403
223
305
327
324
272
329
249
367
430
313
308
417
340
246
377
280
355
219
367
335
370
325
231
301
219
296
352
336
354
366
314
263
256
307
302
242
304
295
296
351
337
302
301
251
374
349
398
236
271
337
369
303
320
228
299
401
343
286
248
273
298
399
336
279
297
340
289
280
398
265
264
311
311
350
417
341
235
288
290
295
296
290
240
429
184
366
295
350
324
342
257
367
340
264
301
397
305
273
369
305
299
312
385
352
306
310
289
347
325
400
323
370
351
280
368
310
320
336
253
335
333
312
306
361
394
342
336
388
324
270
375
274
280
313
322
375
337
265
321
369
311
253
368
319
391
328
280
286
301
358
221
303
359
284
282
337
366
377
283
321
204
310
338
341
275
359
327
294
277
357
296
397
299
388
328
299
323
370
317
301
317
279
283
241
397
259
347
360
294
293
278
325
287
334
284
275
371
324
305
370
361
293
349
284
227
317
310
303
320
306
313
369
298
316
279
330
361
302
241
299
326
371
324
322
304
302
284
354
308
364
336
294
277
321
307
357
333
266
291
283
310
285
360
294
332
279
379
315
351
394
327
274
324
363
347
275
333
376
320
350
275
262
340
254
267
327
319
356
255
339
394
345
244
298
307
243
342
274
385
296
276
331
312
324
331
295
300
388
342
321
356
372
290
279
349
295
307
285
284
271
294
285
363
354
323
255
356
378
382
333
335
369
287
316
333
236
344
349
217
236
375
293
285
289
337
352
388
320
317
329
335
291
346
297
324
263
338
276
287
337
293
334
359
324
349
300
298
259
289
344
353
304
338
275
381
326
331
297
305
355
312
298
287
224
307
304
326
290
276
326
309
318
388
309
404
325
312
311
265
267
303
368
327
253
353
367
224
346
320
311
250
349
379
239
389
309
310
282
305
350
321
262
347
252
290
345
331
299
334
327
331
287
250
402
359
325
332
364
343
321
290
323
344
291
333
274
247
294
318
400
319
240
256
290
318
320
312
308
300
272
266
366
333
258
323
358
298
225
304
275
304
286
274
415
311
201
369
318
340
373
283
285
326
320
267
373
326
323
316
316
402
311
319
291
305
331
295
355
366
283
382
317
272
300
285
339
356
297
345
324
339
345
336
253
280
382
344
299
312
263
343
360
352
338
361
325
308
325
244
424
360
300
290
334
351
340
369
351
329
409
300
332
315
385
352
265
270
351
232
356
302
269
370
256
262
272
310
345
398
353
349
250
307
318
244
301
298
381
296
379
301
312
324
311
362
303
346
320
292
334
257
325
298
338
316
248
377
386
182
379
274
247
293
268
335
340
304
302
276
293
266
357
307
219
270
276
260
349
328
351
349
280
280
282
268
290
322
255
313
342
303
286
185
281
337
342
281
274
429
240
350
399
331
377
343
326
382
327
264
312
401
264
387
377
288
319
254
338
333
289
236
424
252
265
330
379
317
343
306
337
314
389
368
320
339
313
293
333
368
255
309
336
373
275
276
323
305
336
270
363
310
269
309
321
316
291
360
315
339
315
310
316
350
326
322
298
349
431
202
350
308
230
311
270
296
382
304
254
329
327
324
305
308
291
261
242
400
338
338
333
294
264
343
333
316
319
330
314
342
272
237
346
266
403
239
282
301
343
273
276
322
351
316
311
317
247
350
366
290
322
336
359
288
325
417
351
313
297
370
242
308
353
331
236
320
286
331
265
290
321
345
389
247
321
257
306
265
354
291
338
305
304
363
305
258
334
282
301
307
331
259
306
273
355
359
300
246
309
308
400
342
318
282
222
284
344
276
364
290
319
365
250
354
295
279
360
319
289
343
351
392
345
356
311
294
362
288
355
278
305
335
357
245
337
312
269
249
471
297
356
304
325
286
353
299
280
370
335
363
343
281
352
341
282
408
389
423
189
249
260
314
317
348
273
184
338
323
245
303
297
267
328
253
371
355
259
285
281
234
397
319
366
336
263
288
412
284
323
352
298
314
293
323
294
342
337
267
202
325
368
298
386
281
311
305
310
385
318
291
265
373
292
351
264
325
327
325
288
343
260
294
355
328
321
273
363
319
289
316
249
347
303
313
301
370
276
310
352
273
339
253
326
322
276
270
320
370
215
322
290
307
253
300
326
328
251
331
332
363
348
240
233
304
277
316
396
267
272
330
304
293
331
223
306
349
386
284
324
255
303
312
307
326
363
286
341
329
368
372
328
238
315
307
310
313
326
319
236
326
364
385
336
261
269
302
401
235
319
343
317
342
245
376
321
389
383
274
286
338
363
267
315
283
284
298
358
363
228
351
268
364
338
308
341
350
263
329
348
298
312
385
331
347
320
277
317
304
301
327
285
319
324
289
372
283
365
330
356
384
244
252
289
325
311
318
319
304
339
317
256
292
344
342
366
281
277
261
289
286
276
309
273
293
311
303
301
258
316
303
312
332
363
357
300
309
322
287
367
234
330
281
377
314
260
339
333
297
285
313
320
392
293
359
302
284
324
358
324
250
268
239
338
267
319
326
373
195
326
264
271
279
231
266
360
269
340
344
388
249
379
334
289
389
357
295
392
298
329
321
252
345
321
318
265
340
350
299
251
383
368
297
243
213
356
384
258
297
314
311
283
374
407
285
381
310
272
310
329
370
295
302
374
237
278
349
303
298
392
370
284
265
345
273
345
360
251
309
304
264
419
293
245
307
323
260
323
328
363
359
367
303
350
343
281
268
322
283
392
398
269
335
307
325
314
402
307
369
343
359
358
334
315
297
363
395
299
447
281
355
225
271
300
337
302
311
301
326
294
285
309
297
206
347
371
260
384
256
244
304
339
325
303
291
318
338
336
228
296
348
351
260
351
325
336
306
266
233
334
274
260
251
368
311
288
405
294
358
341
328
185
273
416
330
221
290
302
333
347
288
370
330
260
211
312
214
320
374
332
285
343
338
335
356
271
324
285
270
334
325
301
299
308
255
314
277
271
341
344
320
346
418
260
244
337
332
363
266
294
311
305
265
290
333
250
343
374
388
275
272
299
294
307
316
304
268
337
277
327
326
326
254
295
360
303
315
306
236
276
354
314
340
267
397
371
246
278
346
286
350
340
348
371
295
294
322
333
321
362
307
202
324
359
263
331
305
238
215
318
363
359
309
295
335
349
286
279
384
340
253
306
373
343
320
287
315
214
334
364
308
319
322
227
365
262
289
341
365
251
350
259
349
356
335
343
322
243
281
261
258
356
328
347
355
337
339
163
249
317
346
306
359
373
338
289
257
351
326
353
328
359
329
322
267
332
371
302
265
226
204
269
349
333
307
268
298
344
293
354
324
359
268
286
255
362
313
273
353
418
304
314
405
352
295
356
331
356
393
322
390
364
307
276
305
264
250
316
291
326
277
317
264
250
315
321
340
340
265
260
300
387
305
295
380
309
298
315
387
298
419
366
284
285
298
240
391
315
283
255
354
329
276
372
271
344
270
335
344
333
310
380
295
406
279
317
360
277
326
307
320
333
258
352
382
365
360
363
226
324
249
261
279
338
313
403
334
358
291
299
333
348
329
342
323
342
336
314
280
293
228
435
304
363
259
276
313
266
317
349
317
294
278
256
383
327
208
324
322
278
327
263
310
284
335
290
307
306
295
332
283
377
348
253
317
293
325
387
340
314
332
348
356
352
305
270
276
288
300
333
325
285
351
284
352
321
358
258
272
303
281
346
233
347
255
304
298
301
317
236
255
239
391
304
300
410
329
343
355
341
364
246
419
321
222
344
331
341
309
417
302
325
362
392
373
291
329
261
300
398
244
299
394
328
308
400
286
367
246
207
292
261
304
300
286
321
328
321
275
316
348
341
245
341
293
285
279
328
269
374
330
320
349
332
290
307
316
264
318
322
369
348
316
219
374
251
326
271
253
370
281
288
344
385
330
315
226
303
378
302
314
262
355
364
340
293
307
311
326
370
287
322
302
362
369
374
296
361
414
391
281
245
364
350
295
295
323
324
293
283
337
377
339
291
296
393
318
364
344
353
225
276
294
408
313
294
296
278
357
310
400
348
286
369
237
381
339
307
239
321
278
356
293
372
354
357
348
327
323
327
239
304
321
295
348
244
349
250
335
320
312
333
349
313
250
251
387
311
321
296
337
306
281
305
313
314
357
258
301
274
334
331
274
323
308
327
358
285
360
335
285
305
348
362
317
336
339
319
298
309
262
361
357
363
381
317
251
319
329
307
347
266
348
421
183
309
362
280
340
354
400
298
295
324
391
330
365
284
278
299
370
286
378
290
351
276
304
303
259
292
298
272
335
283
331
341
329
221
310
225
314
328
260
320
308
305
260
277
339
329
383
339
303
366
274
267
249
345
264
306
308
324
328
348
323
291
326
305
306
337
276
316
313
332
316
372
327
391
235
217
324
339
320
316
324
289
347
283
348
317
308
356
358
298
264
279
372
279
264
241
317
294
318
373
316
364
374
372
281
338
279
305
301
351
335
340
322
281
307
288
377
280
241
269
333
303
318
287
389
247
336
270
361
333
276
242
345
273
246
313
302
353
220
387
356
300
276
272
234
292
371
355
303
391
353
303
379
341
288
310
295
284
349
327
321
361
336
328
215
310
316
382
224
388
344
409
265
368
278
347
391
312
350
357
313
403
437
332
360
234
320
298
354
298
391
320
340
382
226
333
355
308
316
292
298
234
322
279
282
302
272
308
388
296
399
254
293
355
246
381
344
181
341
379
282
218
314
339
270
290
348
379
368
357
302
261
340
376
286
260
396
311
300
356
271
214
343
347
295
253
273
272
362
282
298
344
322
237
268
226
372
241
315
297
317
239
316
315
382
257
403
361
352
310
308
313
297
335
273
325
293
353
313
317
294
389
340
315
408
406
309
308
354
298
250
197
317
335
361
270
327
267
254
360
353
229
281
245
345
354
278
302
339
379
331
305
338
324
315
376
379
370
256
302
275
294
341
328
327
318
370
335
322
314
328
284
269
355
328
215
323
275
338
340
295
325
366
239
332
274
353
324
310
340
349
267
346
316
391
359
306
286
199
401
392
384
221
290
311
291
346
330
241
286
213
343
358
328
270
324
366
378
298
340
304
296
329
322
276
243
408
332
331
321
317
329
301
340
244
342
401
302
336
290
286
340
233
323
302
285
362
221
284
318
303
257
335
326
350
286
285
281
246
300
268
324
306
369
343
379
373
276
342
257
418
284
344
317
313
356
241
248
284
360
371
333
280
315
320
285
361
359
321
365
358
251
326
256
291
319
315
372
296
363
399
294
383
311
296
231
345
361
254
357
295
355
402
311
266
352
283
287
370
366
300
297
294
312
376
300
307
338
304
366
348
280
320
305
342
295
357
361
244
304
247
305
348
364
257
261
276
340
383
365
343
369
289
320
359
299
391
332
354
249
251
330
278
344
241
376
294
281
339
320
338
278
293
259
335
369
273
336
402
300
253
281
324
332
282
338
277
259
340
285
310
295
261
303
371
284
279
348
359
350
295
272
395
347
365
305
386
325
307
300
276
304
296
353
326
332
353
373
344
325
284
330
367
236
205
254
289
275
321
311
311
287
311
239
321
346
359
351
285
308
307
318
379
260
367
335
284
310
344
314
234
400
294
251
313
354
348
413
328
275
303
304
336
266
360
365
296
358
308
333
289
352
338
312
233
295
284
334
269
379
308
308
274
409
320
332
315
349
341
331
317
263
291
269
356
373
278
366
321
256
289
342
359
391
355
245
272
318
335
275
280
346
342
294
382
272
270
345
315
369
256
324
375
300
277
396
350
401
302
323
348
284
341
280
335
383
309
358
316
328
306
283
331
352
247
275
343
289
306
338
310
390
337
298
399
316
383
268
256
265
295
359
305
305
323
278
283
272
252
290
223
351
307
409
284
347
308
281
234
337
364
251
270
258
313
297
301
415
354
282
287
374
236
250
359
334
378
321
326
318
334
297
293
328
294
298
313
334
370
407
341
313
240
333
343
368
246
394
387
331
288
377
246
267
319
350
335
306
286
304
241
286
384
283
315
288
329
312
293
375
272
257
296
292
353
290
316
367
326
360
367
381
315
384
283
319
236
328
245
361
244
332
326
283
249
229
341
249
286
346
332
276
279
271
321
417
254
312
368
278
380
361
362
294
272
350
280
364
344
273
369
333
265
308
285
311
304
290
323
302
205
305
349
302
252
332
363
354
257
426
387
256
293
292
358
296
375
327
325
223
312
343
352
392
283
308
336
345
357
245
318
214
309
278
348
336
314
323
368
383
285
333
339
251
325
303
235
224
331
345
278
289
298
331
247
305
319
377
398
334
332
276
321
284
326
296
237
351
347
261
248
280
351
321
359
339
274
294
319
356
312
297
394
307
341
330
316
339
282
287
248
239
322
307
233
348
271
290
299
211
293
280
356
350
293
336
360
300
412
265
353
359
269
256
282
322
366
295
330
351
380
298
275
292
285
283
254
328
208
287
303
348
349
170
361
245
341
387
375
319
292
264
334
249
375
309
356
391
274
317
298
368
277
301
349
338
297
293
309
285
303
356
342
300
362
384
320
303
327
360
303
345
412
362
273
323
269
227
377
356
327
358
263
292
301
332
338
351
278
309
338
365
270
356
296
380
325
332
339
259
330
411
324
280
340
403
360
338
302
290
327
264
252
353
327
316
281
368
286
265
332
388
322
304
348
417
326
255
309
259
359
293
285
309
287
332
329
304
303
254
316
333
320
360
359
326
354
331
298
348
289
338
349
457
250
355
290
348
339
247
302
312
330
302
267
289
338
312
304
299
271
334
304
351
274
326
330
392
299
328
329
261
329
349
356
344
395
176
420
272
330
331
323
321
306
369
347
255
342
277
323
309
289
291
311
297
230
277
327
365
249
315
289
329
356
320
408
243
279
308
279
342
337
355
290
319
414
361
210
307
340
279
303
354
345
321
423
264
319
296
365
320
278
342
327
324
301
285
322
380
309
329
312
319
323
268
366
295
321
320
438
304
336
246
306
276
267
310
303
256
335
273
346
274
289
274
269
319
340
275
302
361
360
390
304
317
354
346
248
229
274
353
303
243
339
319
321
363
219
310
279
329
315
278
283
241
343
290
300
243
321
376
284
270
373
349
322
367
362
335
284
372
296
337
263
358
394
315
306
300
317
330
291
355
337
316
308
312
381
266
327
198
385
258
300
351
236
344
349
324
329
308
288
268
366
319
285
310
344
284
326
286
340
391
375
345
268
299
301
390
324
259
340
335
269
328
280
296
302
256
276
339
194
265
317
311
355
287
224
290
320
284
265
283
404
314
359
286
275
343
299
298
327
327
364
371
232
348
316
338
296
316
369
333
356
306
293
323
256
206
343
300
210
333
322
342
328
300
263
250
322
263
291
372
278
342
341
385
344
226
336
373
349
258
314
303
303
247
359
325
330
330
297
326
356
356
247
322
368
363
384
270
250
347
381
395
281
396
312
379
319
231
287
355
295
342
308
271
319
296
263
277
350
308
284
273
299
358
313
299
283
305
315
361
334
310
356
321
319
212
444
278
281
219
344
280
317
330
357
316
357
334
323
292
395
290
319
286
302
311
324
259
273
252
287
349
352
271
358
349
350
318
309
294
294
306
309
304
262
312
328
341
382
219
289
303
334
268
290
274
293
440
331
259
381
371
321
309
318
260
300
300
280
366
380
356
297
333
373
318
356
289
295
295
311
330
318
323
290
344
282
317
330
329
355
367
392
345
363
352
311
347
380
301
193
264
316
247
285
253
314
375
323
321
344
313
387
347
273
298
349
314
334
342
258
317
332
250
366
271
321
352
295
338
342
337
334
271
256
312
288
305
307
280
308
305
373
330
288
218
295
250
346
324
333
357
340
298
346
295
388
386
290
324
272
302
297
271
311
368
320
398
303
291
276
243
273
391
313
345
355
372
348
343
283
335
331
342
346
383
285
367
223
251
310
281
354
294
250
379
306
424
295
256
298
326
330
319
368
206
227
269
311
319
311
298
320
355
318
308
273
275
250
336
331
418
272
316
317
260
305
278
261
296
392
276
289
350
313
280
308
361
254
397
312
286
357
352
350
312
339
229
246
459
389
342
303
412
293
344
257
341
351
318
428
352
299
280
287
260
378
341
291
297
298
151
395
332
339
351
312
253
307
355
346
320
288
321
290
266
366
298
395
289
367
372
368
292
308
359
306
293
314
299
434
293
300
287
302
311
355
333
410
271
318
300
216
257
276
292
374
245
348
310
306
320
337
304
303
297
244
354
304
355
369
229
366
266
349
318
281
340
338
253
281
338
375
223
327
295
303
320
277
328
368
242
343
301
335
370
340
341
236
329
327
352
295
275
307
289
292
285
307
293
300
318
298
235
306
260
344
341
349
237
346
326
381
371
286
319
323
352
298
341
278
290
258
300
268
200
290
325
292
386
351
345
372
385
304
250
294
300
238
390
324
245
281
300
299
404
230
358
259
386
334
292
282
325
308
304
339
278
266
274
237
369
347
308
371
289
294
264
286
386
369
318
374
358
308
382
263
357
348
290
299
296
369
272
311
344
381
245
356
259
324
355
304
327
315
329
316
344
302
429
358
278
402
294
274
291
292
361
219
339
315
371
303
383
434
314
293
303
274
292
262
274
316
261
266
282
393
374
278
379
289
264
272
298
425
246
413
316
283
306
318
293
359
389
296
360
287
291
328
364
297
397
344
247
237
389
365
415
283
292
340
286
357
324
362
355
359
337
209
314
305
292
355
321
309
279
347
312
321
346
318
263
298
325
293
287
281
312
333
336
354
271
351
274
299
403
195
325
310
330
340
358
323
286
214
344
385
262
231
284
324
320
344
284
275
395
255
263
285
325
321
312
328
288
350
297
307
298
380
334
199
314
326
313
406
319
317
322
281
275
275
379
322
359
311
227
302
317
231
320
286
332
356
291
301
308
378
390
352
335
295
325
348
292
231
321
302
278
309
326
302
306
322
302
303
278
351
313
385
368
360
327
290
334
349
335
287
276
315
263
289
348
392
335
317
330
388
321
313
207
293
247
344
319
330
239
321
212
234
320
200
326
284
257
209
326
274
374
337
239
231
280
346
281
341
258
255
226
329
309
289
276
295
332
303
331
426
279
281
366
275
307
396
352
382
224
234
296
376
353
284
304
286
337
301
331
228
242
251
388
376
269
289
324
358
246
354
292
291
342
281
362
260
354
347
312
270
224
313
313
300
312
310
324
344
300
293
264
373
329
361
405
338
385
307
362
350
356
313
296
311
319
354
333
305
375
275
290
249
284
298
248
253
327
248
403
336
248
313
270
315
323
324
313
341
324
349
376
380
300
318
255
353
344
298
267
275
283
316
303
409
400
288
278
318
356
255
383
233
305
327
206
366
266
396
330
288
272
321
351
306
413
236
260
293
313
296
309
310
288
361
302
254
284
232
275
351
296
254
286
309
304
364
333
289
370
341
208
347
341
374
311
295
314
334
349
364
362
395
334
361
377
399
259
354
209
273
280
406
355
252
330
381
299
337
304
306
331
267
308
256
273
273
352
306
271
279
309
281
257
391
333
323
276
365
317
309
333
321
299
191
255
286
277
393
357
375
290
314
383
348
281
356
332
370
280
300
322
313
342
398
303
239
369
196
300
323
290
326
283
201
342
362
251
266
320
325
252
258
397
270
348
365
340
267
245
308
368
358
377
347
291
381
299
225
269
382
299
327
305
304
347
364
294
381
249
379
344
302
270
300
254
366
272
387
269
271
275
290
346
382
296
326
303
364
366
349
269
271
341
322
221
363
291
322
261
291
340
371
280
289
313
399
341
296
392
366
346
392
242
338
266
299
256
316
273
277
369
242
315
287
393
283
374
362
360
355
265
325
326
322
349
350
260
330
355
266
246
278
269
253
265
371
328
256
276
284
328
340
351
338
303
322
350
284
290
331
330
288
220
269
254
331
279
285
287
351
236
311
340
293
272
372
300
360
332
260
343
365
386
339
322
330
371
335
388
333
289
329
340
326
307
247
264
288
294
314
358
317
280
282
381
297
248
408
332
366
208
308
289
347
311
321
243
320
263
359
257
345
279
387
332
298
295
317
354
325
247
262
324
282
294
313
311
226
363
345
375
278
374
367
317
285
280
359
351
350
346
348
324
260
315
334
313
269
273
252
292
411
322
329
283
307
350
327
345
227
273
348
315
313
323
254
316
297
253
343
362
271
342
336
392
236
371
360
327
308
322
292
297
225
262
234
286
393
350
310
310
316
316
350
269
333
333
323
321
370
310
279
347
295
307
251
349
316
279
322
368
315
248
296
216
330
303
326
346
262
373
288
349
321
301
341
359
269
343
348
277
327
306
314
359
342
254
373
366
290
328
270
340
309
274
249
334
294
283
277
385
287
330
269
350
340
356
305
352
332
377
329
276
361
337
332
281
299
295
303
278
252
299
349
308
292
340
349
342
379
305
284
302
307
251
356
214
275
262
305
306
308
253
349
229
324
314
367
241
411
280
157
280
266
284
266
265
300
323
386
295
260
389
330
335
348
254
206
270
299
244
319
316
328
217
395
365
307
338
303
249
243
242
280
290
388
274
335
314
319
299
327
313
280
316
370
384
317
307
357
362
344
316
252
258
350
178
336
322
301
367
403
296
319
323
346
335
338
322
372
296
302
317
249
294
271
246
274
336
192
310
285
334
312
287
294
286
324
346
292
326
279
411
252
230
322
331
368
301
422
326
331
281
254
360
251
331
300
274
302
400
340
225
290
344
291
366
316
386
449
257
304
243
312
352
386
366
309
383
280
427
331
305
314
325
332
320
319
298
343
395
272
370
285
329
270
279
264
271
355
296
234
231
327
297
340
452
375
326
235
391
321
251
233
312
333
296
316
339
329
251
283
332
344
324
329
297
307
308
338
336
246
296
364
279
308
283
314
353
293
337
158
312
306
343
283
358
344
344
235
251
268
293
345
322
376
350
343
307
297
391
299
363
331
378
290
290
387
308
340
326
337
317
339
398
329
254
243
238
299
265
316
261
295
330
261
326
272
323
331
308
338
330
261
275
337
299
325
291
335
333
228
369
351
255
324
288
370
453
329
378
357
280
238
260
336
348
304
323
315
327
279
304
246
321
239
290
403
210
314
318
303
388
280
277
288
371
219
323
330
324
307
310
351
309
330
239
314
313
344
326
337
256
316
326
270
240
242
346
303
336
332
286
313
354
328
334
255
247
319
262
380
274
308
403
296
335
339
288
384
310
326
326
318
324
321
279
369
377
306
295
358
265
299
307
397
360
236
333
266
333
407
277
353
290
341
316
321
385
312
318
367
273
321
206
355
377
266
224
364
346
314
285
319
255
203
271
353
286
349
313
331
301
285
281
298
321
365
340
333
292
307
287
264
304
281
378
312
297
262
283
399
237
339
353
348
281
271
421
324
353
308
269
326
198
276
307
317
320
362
351
396
356
257
271
319
291
367
290
261
311
324
298
280
329
374
341
332
272
269
329
330
381
327
326
352
255
368
389
367
372
263
317
336
285
397
261
324
264
257
314
353
271
359
290
408
202
316
271
344
312
304
271
304
331
319
314
212
360
267
328
296
436
286
255
238
327
303
366
315
315
317
228
379
293
351
322
405
315
316
366
288
280
363
308
324
343
344
338
291
291
329
319
324
370
309
343
285
346
353
268
225
317
312
286
349
255
275
199
374
221
326
381
320
279
352
296
344
282
417
331
378
366
360
331
322
339
306
258
387
323
343
349
337
330
356
345
316
365
332
338
392
376
298
294
349
275
327
229
269
331
299
311
269
363
370
259
366
320
348
327
320
382
248
312
303
356
320
243
343
369
267
324
283
240
335
331
316
291
271
385
291
385
321
319
279
311
305
382
336
286
243
332
312
298
305
349
334
297
277
357
342
272
233
274
295
359
298
350
354
282
393
289
334
354
279
312
275
364
340
322
300
362
282
345
334
307
327
301
354
296
255
347
410
350
321
262
270
305
254
277
290
371
345
262
243
343
293
270
345
325
348
363
304
320
327
317
393
332
276
255
349
195
309
341
327
212
339
296
321
305
395
233
341
363
352
406
362
342
315
306
339
327
209
345
330
363
310
218
242
377
258
242
362
269
315
333
348
355
304
372
322
296
329
294
326
366
288
334
344
302
286
240
267
318
324
263
309
415
310
336
258
346
334
322
348
366
285
234
353
268
310
344
398
201
300
350
350
313
347
328
257
330
317
301
362
344
318
418
301
260
369
302
369
276
238
292
315
307
309
346
322
339
335
233
335
289
365
417
282
381
326
337
303
211
232
295
356
346
398
261
332
290
268
384
311
351
303
348
329
283
322
308
342
311
361
308
350
370
399
384
258
345
397
383
411
278
354
315
368
273
275
365
327
314
291
229
253
311
286
315
270
261
288
362
207
329
308
390
262
276
339
331
242
326
321
351
313
304
284
299
328
310
273
345
320
250
280
367
361
370
242
368
275
333
246
240
321
326
324
306
326
283
315
309
233
352
294
233
370
289
316
352
328
296
335
278
353
397
320
306
236
255
351
247
293
287
370
317
327
288
366
323
330
378
255
263
296
348
369
268
304
298
265
311
337
320
193
332
141
272
269
329
323
310
341
276
323
374
312
331
321
297
247
266
373
354
327
324
253
315
287
343
268
352
322
351
271
331
319
338
305
298
230
334
299
304
245
435
376
150
332
316
357
265
330
315
258
383
302
371
239
401
369
332
310
273
300
328
299
325
204
404
318
342
266
259
236
359
323
241
310
343
242
320
341
279
340
271
370
220
358
380
301
347
328
336
233
421
337
234
267
369
377
304
248
237
285
376
368
273
305
276
365
219
297
366
352
325
297
348
308
385
333
331
330
315
332
331
272
366
289
307
351
308
307
200
292
292
267
291
356
283
309
284
305
408
191
364
220
246
313
344
332
261
316
353
236
362
257
260
351
378
301
329
340
302
333
290
338
235
336
358
318
296
272
245
308
319
378
334
330
345
362
316
306
343
398
313
287
303
277
288
333
283
298
277
308
305
277
323
327
322
320
364
223
362
282
349
276
358
335
335
332
284
299
368
278
246
313
308
397
366
348
318
248
312
407
315
326
290
269
320
354
265
357
343
290
324
353
254
310
277
315
284
403
335
291
246
297
295
338
340
334
287
284
373
340
355
289
302
372
347
269
349
333
325
310
349
317
205
344
338
388
332
363
279
300
303
424
397
297
359
342
384
301
355
307
331
373
332
310
313
350
215
388
291
328
315
335
308
291
264
323
274
381
321
246
323
260
314
283
266
347
383
323
294
320
338
313
367
261
215
315
206
329
387
376
359
258
316
341
338
286
285
275
326
345
286
336
384
249
391
257
308
375
289
298
363
329
298
327
313
308
320
330
201
361
362
321
302
315
276
390
340
321
422
304
271
328
303
326
276
341
329
322
327
296
294
311
250
326
344
284
281
276
378
369
239
288
330
315
284
298
308
290
336
346
371
329
192
265
256
385
308
342
337
283
335
305
302
366
410
327
384
368
306
290
299
366
343
303
265
302
256
317
272
279
277
272
321
385
302
263
275
343
248
304
282
308
293
313
340
318
352
330
323
301
299
285
372
261
366
279
288
346
373
385
299
310
362
337
265
284
331
274
347
320
249
368
310
208
348
290
246
327
311
394
264
347
317
298
328
285
296
381
316
311
301
293
410
308
334
290
296
302
260
297
323
354
361
270
320
325
345
327
288
356
227
323
318
332
339
347
337
264
279
350
336
298
358
383
256
213
314
359
255
281
267
274
326
279
227
255
457
339
318
331
353
370
379
325
314
364
281
287
282
311
365
312
353
284
304
280
351
354
308
265
408
331
348
352
333
382
322
339
307
333
319
361
328
323
362
333
337
371
317
373
358
263
296
296
216
320
331
262
289
362
322
232
257
204
306
372
360
257
354
326
375
307
300
300
299
354
285
315
297
325
377
274
349
261
303
226
389
314
321
318
344
320
363
283
363
329
307
274
264
346
260
362
321
329
312
213
286
295
204
257
265
215
335
288
428
276
312
270
335
282
292
326
308
298
376
306
213
255
332
338
360
282
279
342
313
220
321
266
376
310
316
369
274
293
325
350
334
330
337
303
283
292
330
299
361
301
306
356
264
300
343
367
256
351
227
328
363
233
338
364
357
306
311
333
267
296
320
285
267
356
289
343
328
298
360
340
356
353
314
285
345
277
301
234
403
329
382
362
242
356
271
308
380
327
321
299
342
333
301
343
330
370
218
323
376
282
328
313
404
362
318
344
268
355
375
337
329
226
310
254
277
259
312
280
281
290
350
419
310
305
272
373
280
247
340
345
247
342
342
300
352
282
260
362
286
236
397
332
336
356
291
374
428
244
306
268
366
350
280
255
338
404
245
325
270
192
334
394
315
266
365
349
357
317
304
299
281
330
301
247
372
288
297
325
384
259
328
303
324
299
270
347
290
354
308
348
158
385
208
273
339
364
318
263
320
321
300
299
329
280
284
384
389
290
285
442
279
302
311
269
307
267
368
376
296
313
316
325
389
333
284
297
323
308
323
264
298
272
372
302
265
348
343
390
316
340
278
309
305
268
288
358
316
332
292
391
337
314
253
322
354
397
207
288
265
300
364
300
237
312
324
298
346
404
343
248
290
285
366
319
258
330
260
350
329
275
324
349
359
268
257
289
396
286
282
241
324
301
380
370
348
349
322
349
339
384
228
329
191
390
355
335
344
297
340
374
290
338
325
208
321
235
262
198
349
318
332
301
302
307
286
266
255
378
344
280
344
319
299
411
417
386
217
325
320
317
321
335
338
334
232
371
402
373
260
205
324
353
245
399
296
312
348
245
245
236
299
294
334
304
256
321
343
251
337
304
312
354
295
393
286
359
348
343
319
297
284
380
240
361
379
328
314
379
312
317
363
209
353
233
347
273
197
280
283
313
370
327
355
226
257
350
300
387
334
233
344
300
316
216
399
319
257
239
365
237
326
349
269
298
302
261
303
303
393
277
309
301
203
360
291
291
336
251
327
297
348
326
368
287
340
250
254
295
311
357
323
279
285
333
327
366
281
269
201
354
271
310
351
332
358
351
299
317
320
288
303
341
329
261
346
233
441
315
217
312
364
290
264
195
324
295
362
326
312
325
332
348
348
270
323
304
268
247
305
372
245
246
370
310
288
274
305
301
253
347
320
326
280
303
366
237
295
257
346
312
319
366
243
368
376
371
325
343
351
247
294
311
242
337
340
275
311
362
289
336
355
316
347
424
302
294
327
292
344
308
254
327
306
324
317
316
303
258
406
277
304
349
352
384
340
327
392
264
345
366
334
373
325
295
390
287
267
248
302
332
298
335
329
307
337
347
410
365
364
250
316
317
368
331
333
259
255
362
337
342
229
339
266
385
430
271
300
388
294
348
281
337
334
276
249
281
311
326
279
316
310
320
305
331
297
374
319
323
291
333
273
328
347
269
231
285
332
290
328
283
329
277
262
277
290
329
310
310
297
304
297
271
276
349
309
272
289
327
272
337
379
300
344
331
288
322
288
296
231
303
312
327
312
259
319
271
237
291
397
319
236
331
204
249
391
327
287
262
213
327
269
280
405
371
292
283
310
398
332
271
283
296
285
270
354
309
331
324
228
271
343
301
326
366
408
302
343
352
201
366
353
292
319
297
366
288
315
338
394
371
310
348
273
344
272
241
330
321
289
278
223
305
303
339
273
347
300
285
345
345
241
291
381
405
302
358
425
304
316
387
290
290
348
295
305
306
282
341
261
342
318
292
310
319
308
332
298
321
302
296
356
313
330
234
326
430
314
339
270
312
289
355
306
284
290
307
361
255
344
247
306
334
333
335
280
368
226
328
309
269
318
288
297
270
289
325
357
339
323
309
279
237
383
275
309
353
302
290
292
283
349
294
249
257
306
347
287
303
349
319
318
298
318
375
401
314
228
384
358
345
317
294
340
341
383
379
239
349
346
301
320
307
308
332
380
366
302
300
329
285
338
353
304
348
310
235
303
313
322
395
370
311
307
285
421
404
305
301
304
409
317
315
273
313
343
300
291
297
272
143
384
364
325
366
265
269
288
250
296
292
260
355
358
283
321
320
246
323
293
360
232
340
368
323
364
310
320
267
274
375
328
327
311
283
341
214
296
331
297
314
327
309
336
347
288
328
367
364
311
288
381
339
393
276
282
300
277
324
235
318
345
328
287
238
313
214
267
355
267
278
322
398
294
342
246
374
278
310
294
335
296
310
353
320
275
352
349
299
290
228
300
209
347
339
286
273
330
295
273
340
307
324
373
315
386
351
277
358
325
336
321
264
348
387
357
262
399
377
373
305
369
390
316
256
290
304
317
342
285
292
266
322
347
225
396
354
302
294
285
306
361
311
386
259
214
250
361
251
311
241
341
419
267
293
324
276
415
287
270
197
330
391
350
357
259
230
319
285
353
336
324
279
274
272
330
367
390
328
280
350
357
202
382
318
355
311
278
410
238
355
243
360
208
222
325
317
340
328
256
381
332
306
293
330
401
366
247
311
409
299
265
371
350
377
318
377
329
365
226
232
298
251
352
343
269
304
350
331
279
294
322
410
319
328
314
291
297
247
312
260
303
328
358
358
388
302
269
299
304
320
326
271
346
320
371
319
289
284
243
300
364
269
239
326
300
354
372
260
337
331
360
375
310
326
301
342
294
329
319
326
324
281
274
314
366
298
397
429
284
321
433
373
316
315
235
380
439
296
249
226
253
324
327
297
323
353
350
321
294
218
304
210
288
259
348
317
265
287
253
269
239
196
357
300
305
357
225
343
408
332
322
320
334
246
341
203
331
347
258
342
204
193
270
381
350
367
364
309
306
313
249
231
361
306
338
346
337
344
317
347
366
354
309
353
302
369
335
299
311
287
320
326
309
223
325
361
287
291
311
308
314
347
277
384
334
327
325
281
383
386
363
330
329
368
260
384
368
313
370
248
228
338
360
333
344
365
285
309
315
291
304
326
313
359
347
267
267
273
374
360
262
291
293
407
300
353
407
430
283
331
390
360
331
348
280
393
273
321
292
322
242
370
292
390
287
415
302
276
326
345
352
205
320
297
296
313
315
317
354
375
324
369
212
352
293
306
328
209
379
330
313
266
260
396
291
311
352
333
325
239
391
292
375
345
335
294
303
307
370
367
377
317
319
269
336
325
342
347
342
276
358
332
332
389
380
301
247
277
382
256
254
325
262
335
288
304
260
293
326
286
261
298
325
308
354
337
322
314
354
299
260
387
310
348
351
295
347
370
320
329
236
331
303
347
250
329
321
376
308
308
332
245
318
296
261
338
320
244
372
331
336
264
322
332
311
292
393
321
360
361
276
292
308
303
261
282
393
285
327
289
326
325
248
265
360
337
320
309
356
311
425
278
369
355
345
284
334
335
346
271
292
254
347
320
268
363
362
307
262
314
338
307
313
338
277
371
334
306
394
348
430
348
304
302
383
295
328
330
365
340
307
253
378
334
341
285
354
200
298
266
329
328
306
321
313
276
238
288
317
326
247
285
268
356
312
279
411
290
372
234
286
315
303
300
219
305
279
329
389
371
379
388
249
266
329
338
346
227
350
339
267
324
292
317
289
326
241
254
318
374
311
340
356
299
321
298
307
301
280
261
280
326
252
304
318
230
261
281
321
368
377
331
309
337
299
322
313
307
298
334
320
300
270
325
351
272
298
308
305
354
323
314
415
371
315
354
346
387
345
327
324
375
357
286
354
294
290
324
273
288
384
266
303
347
285
318
284
281
295
367
282
369
255
373
341
269
303
370
349
355
236
345
363
289
301
280
341
356
382
268
357
267
345
326
226
294
429
379
369
273
365
348
231
357
325
293
275
269
315
322
332
274
330
305
252
346
324
379
342
342
357
291
305
320
258
278
362
268
308
288
338
349
347
304
279
368
339
322
356
381
343
406
392
327
279
348
316
333
306
245
361
365
361
297
374
324
244
282
246
325
240
339
312
373
344
427
266
287
368
268
352
318
359
349
363
310
307
344
368
386
324
348
289
350
300
240
271
300
311
303
306
299
417
272
378
329
304
319
350
257
307
349
309
397
297
282
329
260
295
368
267
261
242
293
374
280
329
238
332
389
308
363
357
276
282
282
320
298
351
329
325
319
330
281
353
350
394
237
309
199
315
357
324
346
291
359
315
295
312
304
374
323
354
336
310
311
320
319
393
289
372
320
332
339
311
316
283
310
304
265
301
321
322
260
255
309
437
365
377
326
313
282
288
259
320
356
321
400
366
353
318
379
267
268
347
346
363
313
239
360
333
372
270
237
380
318
404
307
313
281
181
289
301
336
393
329
332
245
240
333
346
298
326
276
279
329
299
194
369
283
367
281
344
334
350
305
333
365
271
316
278
252
306
339
366
281
316
329
257
321
319
249
322
279
391
223
327
355
290
294
285
317
310
365
285
300
231
308
255
311
293
403
260
251
270
252
261
287
243
359
247
332
370
307
273
270
310
310
277
329
384
291
334
324
296
299
160
337
355
247
383
218
312
377
379
365
368
287
327
323
392
328
349
337
318
359
304
238
249
276
264
380
208
268
274
276
402
280
404
320
257
333
266
266
337
269
251
343
348
308
361
294
232
325
267
285
324
354
311
290
383
258
317
381
295
287
376
321
352
193
283
330
320
340
339
319
343
329
218
326
329
314
207
340
330
358
363
345
267
360
279
338
328
271
357
297
405
267
281
266
311
374
304
266
223
351
265
284
404
301
272
279
349
284
295
319
316
315
325
283
317
349
272
340
230
292
298
314
308
344
339
272
290
375
241
318
273
320
264
308
343
367
304
266
336
261
325
274
285
320
303
355
419
340
312
356
286
348
352
281
297
276
254
336
308
395
297
362
281
223
290
298
387
285
380
377
316
318
343
325
322
287
356
279
350
403
343
223
370
333
291
383
262
294
375
285
333
263
350
380
297
295
334
319
318
319
318
372
326
362
234
252
304
258
344
281
307
349
367
397
346
359
291
324
281
310
361
328
251
354
295
311
391
315
272
386
345
329
352
326
365
281
279
330
322
396
368
348
309
328
312
299
294
307
303
344
428
266
292
371
267
312
304
238
302
374
334
361
337
244
348
375
304
346
338
323
314
334
284
254
317
325
342
304
325
295
301
260
300
312
326
318
358
326
376
195
401
325
323
319
325
256
359
306
293
323
255
333
354
306
368
204
317
327
327
299
324
318
321
337
380
422
308
343
362
378
212
276
322
261
368
334
376
317
341
311
276
349
325
289
324
342
274
351
388
358
395
313
381
328
384
369
329
259
321
366
297
349
361
368
332
355
303
343
291
244
311
292
239
293
306
358
310
281
333
296
304
312
304
280
247
220
273
286
380
302
322
269
277
324
353
348
346
341
308
309
349
341
387
334
390
282
310
286
355
286
295
289
363
290
297
326
342
372
313
283
373
354
359
361
255
284
346
226
334
353
263
406
280
317
311
271
362
217
379
355
353
336
243
293
313
355
326
331
346
233
381
350
359
320
278
370
243
274
319
309
300
352
311
349
195
285
346
389
326
295
321
314
305
321
307
254
373
319
255
331
365
301
279
285
282
320
340
392
279
325
270
381
208
292
340
313
252
257
325
275
373
281
349
329
324
195
309
309
361
320
280
310
317
334
300
303
323
251
315
330
256
360
318
364
289
240
317
325
333
338
299
327
302
366
264
348
300
323
351
319
302
390
315
281
350
310
396
395
323
267
309
282
276
313
243
334
328
301
327
328
322
339
344
352
322
296
324
376
341
313
301
307
243
334
289
403
284
352
364
231
292
276
356
267
253
317
277
383
320
307
284
322
333
330
351
321
275
268
274
425
309
350
384
320
319
352
256
384
339
280
266
291
295
292
300
350
404
335
355
364
341
303
244
327
337
255
290
234
353
277
384
289
297
211
360
283
377
280
302
359
297
294
379
332
267
260
261
375
311
304
326
424
273
354
367
354
305
361
313
386
368
324
310
350
294
312
365
311
326
339
302
362
310
324
244
345
307
331
287
276
288
343
305
352
320
315
393
360
294
333
333
276
353
347
300
336
325
322
366
362
354
301
312
329
307
352
388
351
308
354
349
283
238
398
249
345
368
367
356
290
324
348
312
311
307
296
360
259
310
314
350
388
313
256
301
314
318
388
440
296
319
379
391
388
284
363
367
347
328
305
298
215
281
359
360
342
362
306
258
363
253
260
320
267
311
305
335
307
264
380
269
326
364
395
328
218
349
288
292
368
290
333
257
313
298
371
381
318
336
309
312
317
310
261
359
356
276
347
290
265
320
295
390
372
335
358
378
308
241
327
308
335
348
369
288
275
343
318
399
397
259
365
268
270
344
349
248
366
292
306
401
298
349
326
330
381
295
294
198
375
354
226
303
340
315
286
343
352
289
285
341
342
286
337
320
320
356
256
258
290
338
359
299
366
347
358
280
328
272
351
288
243
277
247
317
322
292
384
373
300
364
309
311
328
352
271
305
245
302
243
266
272
336
358
326
274
322
329
283
372
376
330
204
354
344
319
271
300
342
262
324
268
287
304
276
297
264
253
296
262
318
372
288
338
304
325
274
280
324
241
366
315
399
305
332
309
333
320
383
338
347
287
285
257
323
263
340
350
324
284
291
312
340
281
294
381
387
296
288
327
291
293
359
354
356
289
325
294
305
245
402
331
368
221
312
345
271
260
242
288
325
356
315
360
300
260
285
359
331
328
281
342
403
308
341
286
291
286
356
273
313
397
318
359
359
384
401
325
265
282
249
291
236
341
319
270
300
365
341
320
294
283
396
353
363
265
284
331
270
268
264
330
288
360
224
290
365
358
315
266
327
309
428
211
308
335
348
298
358
297
318
356
305
343
325
258
236
330
354
342
307
259
294
330
286
356
313
289
291
300
333
266
331
255
302
323
322
324
251
266
310
258
339
352
387
208
351
317
337
317
353
292
343
345
329
306
319
293
300
246
253
418
245
311
344
268
296
188
333
351
300
237
246
330
320
221
343
241
373
310
273
304
295
273
281
341
271
352
329
361
278
405
277
456
256
378
318
316
366
254
340
323
298
317
354
361
388
354
324
327
347
322
354
310
340
346
278
256
332
273
306
337
255
323
365
329
334
251
372
416
326
290
242
317
300
328
369
331
278
259
384
285
273
306
371
348
357
327
316
290
252
284
265
365
295
343
373
286
339
288
304
328
287
404
354
358
392
259
280
306
351
315
330
307
317
221
270
281
324
318
289
365
307
327
258
321
276
367
304
258
350
346
363
344
364
334
250
314
264
344
319
321
290
295
376
333
330
347
329
412
364
331
302
304
353
349
465
307
304
310
305
384
326
330
228
266
359
286
364
290
353
333
269
325
352
293
263
343
309
330
323
323
290
224
400
307
413
247
340
249
321
371
327
325
255
322
341
347
306
335
372
349
314
399
275
331
280
278
278
359
367
361
198
250
258
366
281
308
347
279
298
328
340
280
341
349
324
240
333
231
337
330
250
361
298
309
239
317
236
327
285
337
220
310
279
355
350
274
330
354
311
303
297
248
379
368
327
297
328
345
325
241
288
363
358
369
322
300
278
367
241
265
334
374
256
229
316
374
344
355
322
333
341
306
352
310
397
292
205
308
403
274
359
293
348
337
299
341
302
355
244
405
341
314
335
402
301
300
189
304
346
364
293
334
309
251
316
252
271
328
309
292
242
349
190
254
279
358
264
312
340
285
341
367
361
363
315
325
341
302
317
338
357
348
329
324
313
218
277
249
369
319
289
376
222
393
315
276
306
313
422
320
348
282
342
306
337
277
328
364
275
358
252
296
294
354
359
396
336
316
290
256
301
344
314
341
341
359
290
313
302
313
333
344
346
326
333
262
314
300
356
299
306
322
381
265
376
299
306
336
282
270
349
328
306
403
288
296
310
236
325
311
326
334
311
236
336
224
285
240
346
311
360
331
416
366
325
356
330
333
370
292
384
316
302
312
365
357
324
310
358
369
353
262
285
273
381
382
318
332
324
270
339
421
342
282
311
278
344
357
382
360
379
304
306
263
360
358
313
353
339
262
311
268
272
313
305
343
300
326
351
314
259
298
284
345
281
303
367
327
345
314
340
291
281
326
358
311
270
407
375
313
320
392
252
377
299
355
289
221
352
321
339
303
259
270
332
335
324
355
337
235
364
334
266
291
288
281
318
234
335
357
345
380
265
262
339
275
269
352
292
317
324
371
253
381
388
412
246
247
270
325
331
274
317
303
297
282
320
357
291
387
290
332
240
261
263
235
248
292
277
270
322
278
319
334
278
316
342
367
267
398
300
282
307
233
375
284
353
335
327
277
297
247
362
282
356
310
348
329
298
358
387
380
302
318
303
372
351
316
350
359
358
345
360
350
324
341
330
341
341
346
262
268
395
318
300
346
309
349
394
298
315
312
339
369
335
275
287
296
379
327
272
240
314
309
298
318
261
344
408
219
257
334
269
192
392
303
244
234
359
386
308
341
330
341
356
342
291
283
326
306
336
279
263
276
359
291
293
310
268
357
333
253
376
442
354
250
276
269
331
322
407
335
376
345
302
326
293
377
294
341
201
310
269
212
311
369
327
312
268
274
296
210
354
324
320
313
343
370
262
363
346
227
252
271
274
324
356
262
304
315
283
325
343
261
326
254
369
356
312
376
240
372
211
347
285
315
345
374
352
388
295
269
338
326
251
358
303
236
305
304
355
399
300
234
397
272
318
275
293
355
293
394
244
216
347
226
313
347
333
392
339
262
242
349
239
330
326
342
302
350
339
339
304
350
321
291
288
303
321
343
310
298
388
255
245
364
313
313
327
274
400
269
259
311
284
327
348
311
310
405
381
323
310
266
326
387
275
300
373
325
303
349
356
421
185
341
356
366
301
290
325
296
301
288
381
355
267
340
329
350
267
347
331
283
359
255
321
264
299
348
341
252
245
300
384
250
212
364
272
302
271
264
330
288
292
328
358
347
347
332
324
260
324
399
324
271
414
311
284
283
267
328
372
337
327
283
327
320
310
285
351
262
245
331
289
394
305
296
324
296
313
262
395
287
315
267
283
354
273
214
297
349
300
291
327
289
250
318
349
331
194
351
321
258
194
345
274
313
336
242
256
264
296
361
290
327
338
325
312
270
242
349
303
256
262
252
236
290
380
250
334
291
315
292
334
262
413
411
353
321
314
375
307
268
355
305
322
279
315
316
323
294
371
392
348
312
354
370
356
310
312
324
349
245
398
231
274
330
231
308
286
366
382
319
276
338
342
363
273
310
268
372
337
228
334
306
282
306
346
316
313
330
266
285
302
356
339
290
395
412
337
336
392
356
310
294
241
366
276
304
261
358
444
374
264
264
292
331
244
376
335
309
336
229
253
351
382
324
365
309
366
248
276
230
286
305
363
322
243
387
286
194
270
255
311
260
375
387
315
277
373
302
342
349
333
309
313
331
362
272
249
386
303
309
399
288
290
281
306
363
395
338
338
359
331
388
338
300
380
320
319
377
230
354
300
300
311
331
289
345
360
340
317
383
287
264
353
323
358
376
334
317
302
248
322
356
297
294
346
323
289
354
382
226
300
292
324
307
327
266
292
313
347
306
318
306
299
222
284
274
229
259
319
257
358
337
337
227
307
302
287
236
371
250
393
260
407
302
276
338
308
324
285
324
284
332
310
291
372
323
335
321
329
325
319
250
304
301
314
372
259
354
301
315
308
391
294
368
268
343
360
332
287
327
332
350
321
307
310
341
216
366
344
304
351
311
329
284
290
292
357
320
314
396
301
296
350
281
394
287
317
324
278
288
270
375
299
310
358
230
447
366
339
316
311
306
300
314
347
341
309
396
290
247
285
297
254
315
174
298
263
351
307
205
387
262
271
345
293
370
326
365
318
253
317
316
318
312
330
339
355
270
362
391
326
223
299
383
331
258
292
345
377
263
222
332
330
307
288
378
336
265
406
307
378
381
392
404
240
330
309
301
349
348
272
318
375
339
294
264
268
338
355
306
370
359
293
324
366
309
253
278
347
254
287
352
194
339
285
303
360
313
302
263
398
300
371
337
255
278
263
416
329
353
336
314
296
266
403
321
281
325
328
312
330
276
400
382
314
401
311
330
348
320
297
215
313
285
345
384
358
351
389
351
271
433
303
319
312
395
278
343
303
332
292
296
329
411
332
339
373
226
306
286
358
337
264
313
310
313
310
371
312
324
366
303
326
366
368
318
285
377
417
334
383
336
371
317
242
324
336
326
321
296
258
276
316
356
266
371
353
328
343
243
322
333
374
359
294
349
312
275
275
331
345
318
300
332
314
333
375
348
339
277
278
388
228
316
380
342
311
315
188
328
250
320
285
287
343
302
332
288
340
282
221
355
208
310
322
314
291
333
259
261
314
245
327
287
291
277
285
321
344
225
267
328
369
268
281
322
317
365
282
280
312
357
320
323
275
234
350
297
326
282
310
272
329
351
259
307
414
216
308
311
241
350
320
237
259
309
283
353
324
346
323
345
295
235
325
301
221
206
372
359
359
347
308
296
352
265
347
309
249
311
303
226
386
331
280
376
363
272
330
347
304
206
376
346
289
345
296
305
331
376
271
342
345
262
305
324
246
355
332
409
346
320
377
325
301
372
331
358
377
333
262
331
286
296
341
264
305
295
341
355
282
300
303
290
304
356
340
260
385
277
325
370
340
310
320
283
361
254
330
277
252
376
339
296
317
388
343
396
321
300
307
236
285
300
237
310
267
248
284
233
362
330
300
309
326
242
289
278
372
282
296
317
270
360
329
227
332
325
352
348
342
288
330
343
284
400
266
358
413
367
366
342
325
307
352
299
302
329
315
276
364
340
319
358
315
387
297
270
339
282
322
274
338
394
295
339
264
354
344
233
317
386
192
319
330
276
308
335
353
327
288
284
355
328
342
386
327
371
248
308
306
350
340
347
305
279
291
341
293
269
239
261
312
194
346
303
344
383
266
258
299
276
324
379
312
302
345
353
341
307
256
346
234
326
325
354
298
357
278
350
243
403
270
339
278
334
274
280
334
305
313
389
307
352
256
375
293
265
255
284
252
308
226
269
340
383
370
277
320
239
230
325
280
296
295
383
223
323
326
356
352
338
264
281
305
317
339
339
293
295
339
288
282
318
297
319
303
327
341
273
251
283
283
285
342
323
375
371
312
332
379
363
313
293
350
311
347
312
334
372
273
296
300
254
265
281
300
321
300
297
336
304
238
305
268
310
295
331
286
356
348
304
342
325
348
343
270
362
351
322
377
345
324
284
293
203
395
304
329
354
310
361
333
258
378
257
288
333
342
305
293
329
355
260
337
299
301
283
302
339
376
296
299
307
312
316
303
342
309
317
361
305
325
377
320
321
365
285
365
313
286
318
235
288
309
313
333
227
322
315
353
370
379
356
254
239
303
277
218
326
314
351
319
348
407
248
305
334
345
345
305
342
302
316
308
240
346
366
344
319
275
331
295
319
391
345
299
418
289
310
295
359
267
308
309
337
318
298
296
312
266
346
266
331
338
360
287
267
259
381
263
339
346
304
283
408
358
306
369
350
335
249
282
310
397
293
304
378
366
346
296
304
334
324
326
314
277
314
353
299
348
282
331
254
303
314
328
341
361
326
249
290
313
203
326
282
362
333
275
348
424
229
318
267
348
319
266
355
352
292
313
336
350
249
301
356
366
288
360
355
315
304
300
347
400
301
325
275
281
397
283
279
261
342
307
390
305
285
290
275
378
297
361
263
279
307
383
345
318
312
358
358
399
364
336
320
363
322
283
310
428
235
199
370
294
375
325
365
250
271
349
320
281
337
309
291
300
294
256
343
307
363
358
298
360
271
367
332
343
386
315
333
286
318
325
349
320
309
365
295
307
318
361
293
368
362
318
312
315
233
273
363
372
389
302
325
245
328
200
365
250
249
229
282
289
283
273
336
247
332
336
302
252
360
315
362
324
392
258
322
309
334
318
309
379
325
299
384
345
341
279
340
285
308
268
305
304
313
359
413
322
367
330
305
308
298
298
293
263
277
356
402
328
264
392
334
335
321
290
307
320
313
244
307
262
275
393
338
278
325
272
287
314
409
324
287
332
261
347
422
338
364
364
284
313
373
286
331
270
359
271
275
294
401
305
339
367
248
384
319
385
217
321
220
318
286
358
365
353
317
332
284
353
344
256
333
213
262
294
230
353
338
310
280
336
243
372
301
280
285
361
328
293
274
286
328
316
353
292
277
271
269
292
398
304
283
340
223
283
365
306
275
308
352
301
286
273
295
280
341
261
347
321
315
322
255
341
229
340
283
255
314
256
330
245
321
276
337
357
353
337
349
292
273
346
415
299
248
239
238
260
287
325
319
356
348
281
262
331
259
294
282
416
290
342
331
331
319
310
286
284
299
253
316
411
368
309
317
241
399
326
295
306
346
376
225
319
347
301
284
309
317
351
349
339
406
322
259
298
401
254
313
334
314
340
304
357
341
242
433
309
363
308
255
279
306
322
270
349
334
314
393
359
370
325
339
361
308
285
294
226
267
299
331
270
367
242
371
277
238
311
338
176
251
265
299
291
346
358
368
292
353
292
403
243
304
353
223
304
283
231
269
189
266
322
374
268
364
285
361
302
337
299
346
392
373
314
263
318
257
286
323
335
350
379
315
310
286
402
308
315
313
337
299
327
284
285
228
288
251
268
295
361
346
293
305
336
360
362
229
250
260
401
276
314
322
370
304
295
332
347
348
399
305
310
289
211
295
395
278
242
283
341
322
304
231
369
370
303
288
378
247
278
373
381
291
258
229
261
292
355
275
339
310
308
321
347
269
300
336
399
233
381
267
296
347
329
316
329
339
297
225
285
297
259
367
385
319
243
311
238
331
413
374
323
313
340
298
294
297
344
325
265
323
331
296
257
372
277
258
330
320
239
223
317
368
342
323
249
358
411
274
248
281
241
395
265
339
299
304
359
354
337
318
338
282
298
360
239
364
277
322
326
276
295
310
304
344
252
372
330
290
346
304
352
211
314
295
387
268
374
354
305
342
295
299
315
324
388
343
356
328
288
328
327
290
285
338
359
308
374
295
345
402
301
420
333
313
267
337
319
267
271
304
381
330
304
321
244
271
376
321
295
271
372
354
314
316
328
344
349
371
261
325
291
266
239
284
364
316
304
327
293
375
283
291
336
280
342
369
307
308
304
362
308
363
330
336
335
314
310
359
337
284
309
327
227
382
278
302
340
333
262
199
215
201
330
349
414
301
344
313
370
310
344
358
291
343
332
354
352
309
314
417
314
280
229
379
337
353
329
344
280
293
419
281
270
339
364
370
330
261
391
234
277
293
278
339
322
295
390
306
412
244
324
300
342
299
291
360
339
387
347
378
380
274
311
329
274
296
373
365
354
360
319
325
383
323
307
309
341
335
259
283
253
328
290
370
313
334
323
368
280
247
313
316
367
377
314
362
236
302
231
304
389
217
222
346
291
311
305
344
243
283
337
321
242
307
349
349
299
269
282
294
403
354
324
405
271
268
395
327
361
354
304
309
306
298
335
284
313
348
314
401
299
347
296
376
346
349
274
338
292
219
273
256
308
227
279
395
312
258
355
352
274
339
311
334
364
297
319
333
311
337
297
358
394
321
246
324
319
341
324
313
289
220
229
462
326
310
372
325
305
327
324
318
352
182
287
350
283
302
273
224
309
285
279
312
280
391
346
227
266
376
335
326
402
302
253
352
343
404
337
314
350
379
335
346
331
337
247
290
306
274
366
315
339
326
340
312
281
353
297
278
328
306
332
277
382
378
296
323
243
324
377
297
286
329
356
381
273
295
306
299
335
364
250
275
245
325
343
331
334
278
331
321
340
223
344
442
341
365
343
237
343
305
355
316
355
224
298
337
273
314
360
317
267
261
260
327
288
391
281
243
328
339
333
266
310
332
291
304
297
316
349
418
251
317
298
267
296
272
338
290
290
312
332
292
361
398
254
280
356
282
403
345
319
376
365
392
296
287
281
226
312
389
284
316
319
304
357
321
325
304
340
303
300
371
325
321
312
329
264
274
292
265
291
287
333
341
308
349
304
279
405
226
302
253
330
231
361
234
311
379
360
265
326
279
356
300
335
243
202
259
316
299
348
272
321
293
231
278
337
353
266
239
340
283
280
280
356
284
326
281
365
385
254
293
342
304
366
325
320
303
397
378
368
307
326
327
357
390
221
321
281
295
317
271
428
303
225
341
315
296
239
354
268
338
303
320
350
272
339
299
388
339
251
314
235
340
302
314
320
284
281
294
339
314
320
351
387
261
288
263
357
328
311
352
293
349
294
235
360
287
333
342
371
294
370
297
338
402
313
392
310
345
327
336
305
270
350
390
296
271
305
268
315
254
313
364
277
300
311
361
321
359
277
295
323
356
363
282
246
221
292
318
333
373
357
378
340
333
256
307
222
266
366
310
336
320
252
330
253
202
369
331
288
322
298
308
282
286
324
298
293
325
246
366
358
318
304
286
386
327
307
250
313
216
328
373
212
323
366
322
396
353
257
373
336
340
319
242
307
315
272
315
313
322
313
358
337
347
293
340
234
296
306
309
316
332
331
352
319
280
332
272
301
373
298
253
319
325
303
322
376
385
367
312
333
306
296
272
356
379
219
303
342
343
369
293
305
269
253
342
250
319
261
325
384
302
305
361
265
292
299
304
387
271
382
334
284
352
354
413
346
299
321
292
316
282
313
301
363
325
375
310
303
340
331
317
221
277
399
283
380
300
321
377
337
261
271
293
269
309
194
286
235
297
282
362
339
190
278
269
354
335
306
313
244
295
292
260
295
301
287
354
334
284
268
306
283
335
261
270
279
372
375
280
293
259
324
379
378
367
349
301
390
330
375
333
285
296
355
375
328
259
354
319
252
215
305
276
334
375
402
357
262
292
341
344
265
345
311
304
307
313
334
267
337
304
322
327
331
290
332
358
328
262
319
358
338
317
353
311
282
306
314
306
346
249
219
316
244
305
375
264
348
351
276
286
386
316
391
281
334
315
343
330
336
387
260
336
279
305
325
348
350
294
335
240
255
322
215
252
335
281
305
359
334
306
392
325
341
355
275
288
304
362
371
276
264
321
363
312
341
276
338
247
347
313
230
340
333
355
225
282
333
334
310
324
320
350
316
312
276
377
223
370
351
329
275
272
321
247
309
389
272
347
295
233
319
318
356
307
340
373
250
321
447
329
350
318
309
337
372
356
342
308
421
305
316
322
255
402
299
348
350
310
322
358
304
247
296
337
324
346
320
353
290
242
259
290
377
341
365
300
315
311
265
392
398
383
356
315
361
298
374
360
397
255
303
350
369
276
323
285
277
312
313
294
295
313
275
283
334
356
349
307
344
415
309
277
294
395
331
339
274
299
308
297
247
315
242
339
365
296
387
292
307
410
328
270
303
366
359
361
234
306
307
341
213
285
365
367
377
400
242
299
347
237
354
305
196
321
340
288
325
367
322
327
325
323
329
236
249
331
286
291
305
290
285
433
364
299
371
336
309
321
309
290
284
236
316
262
311
316
295
272
278
280
283
330
365
357
350
404
368
377
391
317
360
243
399
307
329
329
300
304
388
240
255
327
240
227
297
371
292
293
248
262
329
352
342
317
304
286
289
272
356
353
302
369
282
256
324
265
306
301
348
311
390
286
357
305
336
356
291
310
285
271
320
328
282
292
295
361
313
355
319
322
291
323
327
294
322
355
276
346
357
282
265
307
364
328
339
282
377
274
384
235
384
375
290
284
241
153
258
335
279
349
312
314
369
296
344
330
363
279
393
332
394
309
273
310
321
329
233
324
296
319
334
412
328
360
338
319
305
338
325
377
410
356
345
221
340
373
325
311
312
295
321
367
400
312
280
325
242
337
339
332
405
282
318
229
323
253
352
286
398
258
277
241
324
348
273
321
360
310
364
300
316
328
332
246
325
241
340
286
284
238
325
303
297
283
329
294
290
355
296
264
289
294
323
339
325
328
317
332
303
277
323
278
368
406
330
309
202
320
436
229
318
235
214
222
364
347
336
320
263
272
304
290
331
250
309
309
368
397
234
335
354
264
291
324
319
319
274
342
394
316
282
312
309
396
356
369
354
261
332
309
323
343
341
271
327
306
388
285
383
378
353
387
430
382
340
225
306
294
281
328
383
337
302
351
326
335
211
300
267
231
318
364
285
241
344
314
286
355
267
307
389
322
370
269
248
377
291
297
305
346
391
338
313
227
258
298
406
270
335
338
369
248
362
277
336
242
349
338
309
321
258
359
307
321
342
331
412
330
273
241
327
316
386
310
372
354
269
324
295
345
323
329
308
364
365
229
283
319
344
208
332
357
363
290
323
296
370
334
318
285
265
340
283
377
260
434
333
362
300
315
291
334
336
302
323
307
283
271
309
301
265
337
311
331
313
330
278
233
329
323
326
341
309
301
319
301
338
297
279
296
360
374
292
398
304
270
436
363
277
336
294
257
273
293
292
283
322
334
216
295
346
358
340
328
324
303
386
286
303
274
295
244
320
340
309
362
359
329
328
323
297
289
332
300
279
337
311
225
319
381
283
210
320
342
283
239
299
341
323
261
330
292
350
284
305
386
263
287
335
323
251
250
355
339
297
237
276
249
259
293
315
281
246
292
318
361
329
332
342
272
311
371
274
237
335
262
337
314
343
332
397
300
346
291
356
357
316
360
380
302
313
342
278
283
366
278
331
365
306
280
360
317
267
270
272
323
314
320
307
376
293
369
326
282
284
281
285
309
278
355
342
371
308
267
264
293
327
305
225
319
260
205
375
372
298
206
357
316
269
275
373
273
368
341
350
221
416
344
304
288
366
288
321
279
247
332
329
362
307
293
337
311
298
340
216
300
318
252
301
351
321
369
339
283
351
244
308
311
271
286
243
367
300
220
309
251
296
299
391
359
381
272
377
361
292
352
298
302
312
306
345
283
301
317
225
335
263
233
345
332
262
307
315
275
275
263
293
342
294
329
332
362
293
251
378
362
383
282
361
306
301
281
318
285
365
262
352
270
271
290
272
325
323
333
308
328
290
344
292
273
299
240
242
369
346
372
338
325
297
413
370
363
320
292
339
391
272
376
292
371
298
322
354
369
370
322
325
270
253
403
369
345
301
299
300
351
302
297
327
293
269
321
297
301
338
308
298
306
302
317
326
277
362
350
325
373
325
362
282
262
323
322
243
277
281
303
301
280
279
292
330
269
384
339
306
379
291
258
244
354
328
343
260
287
332
320
386
344
351
307
333
273
351
305
299
355
396
338
346
319
303
333
320
329
272
338
265
309
409
343
347
330
323
332
250
333
267
245
383
322
252
356
300
271
325
393
250
320
371
358
353
293
335
289
350
303
364
352
357
341
384
279
270
389
309
359
369
315
255
321
248
373
363
317
343
308
370
307
332
289
308
246
308
377
327
407
278
254
427
274
282
235
287
316
382
377
272
328
375
373
223
321
302
403
371
290
340
331
330
309
353
311
348
350
341
297
312
332
339
301
383
340
294
311
272
349
299
282
279
245
340
270
304
306
358
362
270
287
336
311
215
312
320
331
305
328
324
282
339
330
262
311
245
338
236
254
314
317
312
318
266
332
391
247
256
282
322
400
268
365
311
315
330
324
245
274
362
236
239
300
370
303
340
316
256
307
350
333
343
335
321
357
300
348
383
223
278
256
335
357
277
309
340
259
333
337
347
410
297
356
358
238
264
260
353
337
258
326
289
291
270
312
414
315
350
355
330
287
354
365
291
269
274
287
324
191
333
323
349
320
281
334
339
326
288
370
399
338
213
337
316
334
342
278
355
372
263
238
298
271
344
321
251
275
329
360
281
338
309
272
344
336
348
303
307
319
228
334
305
241
340
329
380
236
339
339
342
356
283
335
208
314
301
300
286
303
250
383
319
373
339
351
318
319
348
333
362
272
256
332
348
296
312
362
355
331
308
261
266
291
275
309
255
303
315
345
386
290
395
344
332
336
331
392
364
310
279
345
308
294
313
385
308
339
319
371
297
379
216
383
294
346
331
316
377
292
346
374
215
371
414
366
346
354
375
301
353
355
348
271
291
300
362
279
292
320
262
262
286
290
342
342
278
264
243
332
408
351
364
268
313
404
293
301
268
322
325
317
324
358
286
362
330
332
273
379
307
334
296
263
324
313
287
322
277
291
278
286
294
307
318
307
306
300
354
337
312
247
315
289
380
366
342
354
231
252
353
303
262
302
206
326
320
326
308
320
296
333
297
303
300
296
265
282
287
374
317
307
314
279
286
280
315
355
287
333
251
345
319
368
315
350
339
279
314
322
369
362
280
273
361
319
266
284
353
347
319
345
354
312
332
317
209
332
255
217
360
365
332
308
335
274
280
288
349
339
356
317
319
303
298
371
286
318
242
276
308
267
366
310
344
364
330
267
367
261
288
365
339
291
373
260
254
256
287
287
277
264
381
330
265
315
346
278
293
352
305
316
362
381
320
292
311
315
282
319
276
204
299
313
305
352
356
384
360
304
343
384
309
339
311
372
299
278
403
296
375
309
363
303
302
295
289
359
335
306
335
284
396
368
321
284
269
298
305
355
300
333
353
255
339
333
293
288
334
288
361
336
275
287
260
277
302
429
332
306
333
284
317
308
349
298
338
315
385
245
306
262
306
321
280
342
265
264
286
236
282
376
260
304
263
322
351
369
330
317
285
257
259
274
285
320
350
354
198
265
360
312
359
361
300
292
260
305
292
370
324
358
319
343
292
354
326
331
365
298
276
316
240
263
268
256
379
270
313
348
282
284
384
322
239
323
419
280
373
340
339
320
291
430
342
350
276
280
293
251
265
336
278
342
302
264
282
384
299
303
328
319
378
279
342
315
285
272
228
270
374
252
327
345
381
299
252
298
314
418
327
291
259
283
358
389
395
297
306
305
296
316
309
397
333
401
307
303
339
369
329
243
272
321
355
324
301
392
322
357
346
258
395
283
294
394
344
298
328
382
285
281
299
307
393
332
337
312
400
337
279
304
350
289
325
347
332
317
367
322
328
395
309
352
340
332
370
344
271
311
319
266
300
207
274
314
281
343
330
231
278
367
274
337
287
222
287
365
322
292
298
320
346
347
258
253
312
375
341
227
377
316
332
279
306
332
319
315
353
280
291
293
271
314
338
344
315
345
326
373
312
248
252
290
345
330
367
350
287
351
344
308
282
233
375
292
341
373
294
292
278
263
248
340
296
344
309
278
275
405
243
351
292
392
296
313
225
328
289
311
278
285
303
397
283
265
298
377
308
246
274
324
337
330
244
374
385
283
329
334
351
334
287
268
320
350
328
251
187
253
275
372
349
312
355
394
334
274
310
289
395
332
276
344
285
317
341
351
323
360
245
244
281
300
317
322
403
348
380
290
303
289
349
278
368
256
306
304
372
270
400
322
298
340
298
347
347
384
340
314
334
300
258
363
320
287
329
341
341
289
324
346
273
374
328
346
349
266
230
382
337
324
295
318
366
329
243
350
294
176
301
289
311
339
342
346
304
327
273
320
365
261
348
368
320
342
337
336
372
312
315
371
308
295
299
353
309
294
405
303
375
243
353
286
320
375
312
310
291
313
290
297
281
330
288
309
221
318
339
275
360
279
287
408
320
341
313
339
333
352
201
356
273
238
305
249
342
259
369
352
309
348
403
323
338
347
343
279
281
316
257
306
325
344
323
295
326
279
341
308
311
377
349
188
286
331
325
322
320
311
245
288
363
286
308
366
271
279
235
313
369
372
340
297
304
318
276
327
308
326
291
272
337
261
289
273
329
322
316
278
329
323
386
332
360
336
331
320
322
289
340
285
337
248
231
373
344
283
322
342
325
278
295
316
304
351
371
335
259
370
318
253
251
299
310
373
238
286
343
336
281
279
320
310
338
270
357
340
333
260
415
366
343
286
325
320
335
268
241
304
341
331
351
387
339
301
291
281
346
342
276
289
325
381
362
324
318
404
348
237
284
260
299
329
272
366
391
284
292
334
270
278
199
363
368
365
276
387
323
353
363
255
342
223
324
287
360
317
321
384
320
354
278
271
288
341
419
376
284
333
342
361
297
371
335
320
338
355
361
378
325
328
414
208
398
280
339
295
288
216
285
259
348
380
291
326
312
279
312
302
309
385
267
365
303
289
335
337
296
265
328
281
294
280
290
324
356
347
341
350
293
318
336
265
343
351
242
370
298
265
350
206
350
296
329
265
272
333
308
325
387
326
232
311
209
303
345
349
236
341
316
249
312
276
341
275
281
332
298
329
352
322
249
392
288
267
349
298
342
417
281
305
345
318
303
311
383
325
326
369
280
328
285
316
256
310
293
384
342
347
372
344
267
282
322
338
264
312
362
302
276
319
337
338
281
258
311
320
333
261
300
300
219
330
313
243
322
299
335
296
367
331
340
294
309
272
402
359
269
323
297
324
323
284
235
262
260
268
356
314
304
329
340
322
315
271
365
366
331
332
294
380
394
301
283
364
316
311
277
281
366
399
288
377
304
310
336
393
311
311
249
321
241
327
321
342
289
376
377
305
323
230
341
324
353
354
370
305
370
323
387
242
423
372
275
382
250
294
226
339
216
297
287
307
282
217
343
377
293
322
321
249
327
339
362
325
310
262
347
236
289
387
245
352
284
349
315
274
216
295
327
313
368
305
309
256
396
279
322
328
284
333
305
233
424
242
302
265
327
357
275
311
404
312
275
386
263
321
390
258
281
274
249
366
277
346
259
322
292
256
316
205
341
382
347
301
302
344
224
312
327
304
304
357
356
347
358
245
313
278
361
336
336
348
285
262
296
267
277
274
355
332
299
328
288
306
340
397
377
263
355
243
314
297
325
340
293
302
288
313
302
235
248
291
371
322
310
342
268
290
352
328
371
379
217
293
368
248
354
299
364
370
319
378
393
326
335
357
341
320
392
330
333
390
347
309
321
391
385
311
339
372
265
268
247
388
368
275
394
349
316
307
359
286
219
345
288
362
252
360
355
231
386
375
318
387
348
326
308
239
325
367
321
343
365
253
331
234
350
310
327
316
289
311
269
341
291
299
280
290
264
297
172
270
363
289
301
286
284
294
319
352
344
285
342
378
328
297
353
306
247
369
253
295
390
324
326
312
264
293
340
259
270
360
310
295
327
299
302
418
402
340
226
336
184
337
336
250
231
251
341
324
389
304
381
230
390
281
363
340
293
355
269
424
243
237
425
229
336
402
318
328
365
344
280
268
335
351
308
375
369
261
246
261
315
314
343
274
327
254
331
299
328
329
280
280
300
314
260
305
291
340
310
304
367
353
292
305
231
332
329
326
304
309
359
265
333
380
269
305
376
375
315
304
372
292
295
362
299
219
348
350
349
307
348
322
324
336
276
360
385
348
271
340
413
405
315
335
274
310
289
219
259
315
233
285
296
304
326
300
283
240
265
288
357
377
293
310
334
321
359
319
311
291
272
331
331
278
228
364
289
295
319
400
349
325
277
366
316
296
348
272
324
282
310
316
319
351
276
279
346
350
262
323
351
351
271
314
365
310
318
310
325
279
310
300
243
362
305
221
354
271
299
294
283
280
304
218
338
264
319
295
260
287
245
365
308
265
353
337
400
347
279
279
339
343
249
313
309
326
322
297
348
291
222
315
258
264
368
307
281
363
306
335
311
311
264
275
262
354
229
323
290
384
262
268
292
357
285
324
297
403
384
309
248
240
279
372
349
224
282
246
287
270
383
313
305
321
313
291
305
303
374
242
288
329
300
292
295
406
255
189
269
242
326
284
368
319
339
301
326
325
322
380
286
378
335
289
229
338
295
350
352
297
343
387
379
291
312
324
316
283
217
341
370
298
320
342
322
410
309
290
314
296
314
319
318
364
236
239
356
337
276
316
325
262
325
311
239
257
243
273
243
341
274
281
306
402
396
368
324
286
309
371
343
253
311
243
393
278
349
251
341
345
247
265
307
300
309
284
254
307
251
314
322
373
334
256
344
291
203
371
310
333
412
288
342
180
238
369
310
274
293
253
364
402
334
340
357
279
272
372
277
304
294
235
299
324
352
320
328
264
298
262
355
243
321
344
353
319
311
401
378
256
182
265
297
247
340
334
354
285
254
338
331
332
266
267
279
269
286
326
367
331
338
347
295
330
384
213
304
319
355
307
299
252
226
309
352
319
256
388
298
383
292
322
320
273
244
293
360
388
276
255
356
306
323
270
358
295
365
304
273
415
341
258
341
355
367
336
271
355
317
397
320
379
267
313
250
309
426
289
365
250
315
332
364
301
363
392
267
368
258
322
393
310
300
253
345
261
218
259
362
296
334
387
257
301
251
248
309
411
300
326
333
235
394
319
312
339
331
276
358
300
351
258
313
331
353
367
283
321
348
308
280
365
328
302
279
357
361
323
379
259
347
301
244
321
330
296
330
386
274
335
351
327
307
271
256
363
271
278
304
298
304
308
285
337
259
280
283
375
315
358
366
388
287
343
377
309
353
263
316
365
281
315
281
264
327
285
352
306
359
322
285
301
375
280
321
331
336
373
231
334
260
298
333
355
288
310
279
419
322
280
268
276
251
334
386
370
260
396
398
280
289
273
369
290
381
303
321
324
280
373
252
198
340
349
278
263
322
362
262
275
353
377
343
306
357
371
374
361
350
277
293
377
373
380
264
344
277
302
291
347
270
257
282
340
308
297
387
324
246
335
305
338
276
260
253
254
300
302
229
313
288
313
337
287
283
297
312
267
297
394
322
397
258
260
328
356
335
323
318
272
244
309
330
341
261
369
272
278
320
309
227
271
243
352
266
340
344
394
347
277
403
415
337
259
365
326
223
365
333
307
387
376
319
246
212
301
278
290
304
365
276
288
299
348
295
328
403
335
341
209
348
246
340
330
387
280
270
350
286
356
399
231
267
240
340
317
347
296
334
298
316
372
356
419
314
316
269
323
328
269
379
321
327
321
372
364
337
308
391
356
301
248
258
403
294
315
270
334
313
347
356
355
340
306
338
336
359
250
358
343
424
330
326
365
311
287
327
302
225
284
250
334
366
311
322
353
337
336
316
353
276
344
320
339
235
250
329
415
328
288
305
350
216
351
303
309
276
354
292
336
283
315
322
329
351
306
310
370
310
308
316
281
304
314
271
341
379
343
349
395
351
298
297
371
340
328
345
281
305
314
365
308
352
277
281
251
346
312
408
320
312
331
208
252
336
305
333
244
325
299
349
311
289
252
290
387
273
245
328
286
267
281
358
313
322
400
374
353
346
336
318
240
249
302
276
339
370
327
309
317
308
339
361
234
303
368
327
350
340
345
288
349
400
288
312
407
212
403
271
343
303
272
247
325
338
345
278
325
293
335
245
282
279
276
340
242
386
237
340
332
256
328
354
365
356
341
278
355
255
376
317
282
360
275
268
376
345
318
407
295
353
299
224
329
365
347
270
271
275
237
321
317
377
339
339
330
339
382
355
314
336
379
342
330
330
301
202
308
219
416
268
260
305
328
296
305
308
290
307
317
356
328
326
339
243
326
325
248
304
245
337
332
373
325
301
281
352
349
352
386
322
316
277
341
358
342
225
392
337
338
224
337
233
340
264
333
362
212
366
369
299
323
344
331
335
300
429
284
280
280
376
338
277
332
316
359
276
312
293
258
385
272
345
316
236
351
305
371
310
221
308
325
333
353
331
295
264
302
379
350
299
235
357
322
316
276
362
255
364
286
289
310
377
295
382
307
207
282
315
315
335
256
234
362
369
336
364
281
290
289
303
320
348
324
359
305
275
349
402
305
301
347
311
351
235
343
289
312
353
267
279
353
236
279
269
347
327
330
290
319
305
340
412
300
337
208
253
318
328
333
263
355
320
330
317
390
291
327
295
177
344
401
264
358
291
281
341
362
296
268
276
359
289
298
287
265
416
302
346
393
306
319
304
304
331
300
345
280
332
299
243
250
397
307
365
267
323
333
258
379
308
278
387
403
390
321
311
209
270
268
324
285
393
299
355
316
336
344
300
378
279
319
300
312
309
290
363
258
257
323
297
331
346
350
328
322
291
318
304
293
282
412
394
338
339
327
404
322
362
250
274
286
316
230
372
295
232
277
293
336
359
175
326
238
296
317
313
320
330
305
331
341
297
349
249
314
344
227
238
271
287
222
384
323
284
331
331
292
314
240
316
264
300
307
276
406
273
319
236
348
237
304
354
374
295
310
323
354
317
369
272
316
331
280
326
336
359
260
357
337
326
330
259
308
334
364
286
226
291
328
349
293
331
414
346
295
281
298
315
301
328
321
352
339
371
279
312
347
332
320
336
351
267
258
269
308
298
344
293
301
355
358
310
327
298
269
343
255
266
270
292
354
322
400
383
394
289
306
294
303
281
251
213
288
317
386
326
404
353
366
322
275
321
329
337
308
270
305
338
360
404
276
315
333
278
325
370
306
359
265
308
312
279
319
301
282
328
288
279
305
268
338
368
207
327
315
305
271
334
310
289
199
337
223
341
289
344
311
332
352
283
339
163
260
361
354
395
298
348
385
355
328
233
303
342
289
360
301
278
232
309
335
274
317
403
333
272
306
311
350
402
361
396
299
392
325
362
338
322
298
276
281
270
324
281
299
313
304
287
387
271
384
295
304
337
315
242
334
302
316
391
304
297
329
264
334
306
299
385
371
247
280
233
393
352
258
300
290
243
326
270
330
279
318
327
354
349
299
311
339
341
353
259
298
363
373
317
342
333
296
332
265
202
197
343
247
288
275
330
300
255
382
321
276
334
349
313
265
318
323
373
301
311
291
381
328
363
378
341
312
298
329
339
333
384
244
279
312
340
244
337
280
302
288
291
300
335
334
300
310
238
253
261
334
264
208
298
307
343
307
389
329
328
344
316
300
338
332
382
313
296
238
341
300
280
306
318
310
343
342
251
300
291
291
243
262
361
315
241
313
339
278
321
341
295
356
229
249
332
271
294
315
258
324
394
321
314
310
303
328
220
311
300
257
342
336
337
322
223
281
315
411
309
317
291
238
361
260
268
258
283
307
299
330
306
308
364
361
248
311
415
349
278
287
366
313
261
341
381
311
357
301
302
372
353
278
351
237
352
270
365
287
311
370
300
305
326
305
356
312
320
315
354
315
208
271
292
245
323
312
316
366
341
323
357
280
347
338
437
274
271
343
291
258
291
278
416
338
281
290
297
318
237
302
287
267
311
240
296
289
332
346
411
301
227
289
310
295
309
293
221
286
331
311
275
224
360
397
383
291
384
311
326
366
326
365
376
272
298
297
333
300
295
341
357
261
331
312
235
362
342
351
311
324
307
305
268
364
254
307
352
311
396
318
340
325
299
360
327
383
217
297
280
289
357
220
321
288
280
279
342
260
369
322
297
280
279
262
355
353
273
388
292
392
308
363
280
212
314
349
319
331
322
248
310
325
291
304
250
317
250
301
240
265
313
346
374
280
242
310
276
336
370
324
359
292
292
385
325
364
362
300
326
337
335
388
332
368
294
266
270
338
276
258
322
297
340
274
315
336
337
218
269
208
312
258
371
278
295
385
270
397
287
340
301
385
346
291
403
347
356
240
342
344
339
321
340
259
365
310
298
333
333
308
284
255
367
272
326
359
290
292
316
329
328
399
297
280
331
308
279
248
237
292
343
292
276
338
271
316
347
192
313
260
266
273
286
305
326
347
430
299
263
307
274
352
360
334
408
281
289
397
328
339
325
303
287
303
304
310
345
287
347
296
286
309
313
288
256
187
289
346
344
408
307
276
225
298
336
362
317
361
330
275
278
289
337
374
265
340
315
322
345
304
391
237
356
307
375
415
314
341
375
343
380
362
326
375
347
238
272
326
256
273
266
199
326
334
317
308
354
334
413
284
309
342
304
400
306
225
294
342
270
379
320
297
411
298
210
225
320
327
292
301
371
280
330
365
292
317
370
354
277
295
304
310
317
314
343
331
343
321
351
313
343
299
338
350
251
362
384
340
269
392
301
274
334
351
355
284
343
336
339
296
275
312
298
426
330
353
344
346
266
254
356
360
432
276
400
351
229
332
400
355
241
222
307
419
303
304
397
288
327
305
308
315
263
329
313
301
323
408
166
370
365
353
402
396
336
294
304
268
336
346
341
351
259
282
345
315
343
282
313
328
381
338
220
323
263
262
275
363
320
238
290
272
247
321
283
296
372
304
302
384
358
305
294
294
246
242
343
250
331
314
266
310
248
322
369
277
384
405
293
332
238
267
342
215
364
269
272
295
356
276
308
243
278
313
283
257
344
395
289
318
309
296
393
244
299
331
266
363
296
340
344
299
299
330
335
339
365
321
443
295
316
361
299
359
268
295
330
306
283
327
334
243
265
342
180
381
241
333
365
353
391
322
314
257
335
331
279
353
316
275
342
309
341
260
288
353
294
384
317
343
289
324
360
326
359
335
382
221
381
297
311
355
331
260
338
295
304
252
344
294
314
324
303
284
346
309
360
339
301
250
295
363
328
313
397
341
334
365
355
250
368
351
326
346
270
354
306
194
290
315
274
294
371
282
301
383
296
310
366
333
250
319
310
370
350
334
401
353
296
291
332
287
329
239
220
267
397
283
260
288
292
382
298
351
303
369
287
266
298
343
295
341
297
369
355
387
308
284
232
267
346
348
291
253
309
334
322
308
305
346
245
313
324
372
324
282
361
279
366
262
219
227
292
440
247
300
412
341
332
275
320
281
296
249
291
330
227
312
325
366
340
415
323
243
381
261
363
295
326
265
276
340
368
357
302
305
271
283
323
283
248
285
294
341
357
334
367
361
300
357
295
419
344
333
342
260
343
293
212
368
307
320
278
258
327
338
327
239
331
288
329
314
323
302
244
317
353
324
346
377
400
282
354
291
316
379
275
285
300
320
255
325
352
273
319
340
250
297
272
312
309
285
318
333
247
346
372
220
340
340
394
316
384
314
331
279
335
333
383
328
259
236
335
299
322
299
244
271
332
339
357
348
323
380
320
289
332
326
355
312
309
372
356
207
275
277
301
382
289
322
288
189
352
331
239
368
334
273
303
283
265
311
383
353
213
334
347
258
264
331
312
383
272
307
316
162
258
337
323
339
292
251
302
277
278
373
349
191
299
183
374
288
303
198
344
301
324
335
341
289
253
221
347
314
311
359
336
367
309
327
290
306
313
350
256
304
285
297
312
324
352
264
273
337
198
326
343
357
281
316
244
289
309
321
374
361
315
298
356
353
342
318
296
324
280
310
332
296
302
288
229
294
280
325
271
241
244
320
299
300
371
322
358
292
353
297
291
294
281
332
318
330
318
327
332
356
304
341
216
363
338
283
325
341
311
321
393
250
303
329
357
352
254
364
352
277
342
293
351
330
303
218
384
292
282
333
307
367
356
316
382
380
362
352
281
323
229
267
356
238
358
263
368
295
387
305
324
358
286
313
341
372
334
328
286
307
313
295
345
365
353
318
360
188
295
346
229
240
224
353
282
360
362
351
316
267
379
353
346
312
266
391
269
392
293
361
364
313
308
323
259
313
396
313
364
339
279
322
298
377
346
289
250
354
271
265
339
345
313
317
276
418
373
297
383
350
299
283
353
327
317
341
236
294
339
283
294
249
302
278
332
342
321
363
275
272
259
291
328
264
278
345
354
358
325
315
350
335
321
317
413
257
293
312
273
286
301
278
331
355
340
320
261
240
276
281
260
308
337
425
256
317
305
237
228
271
315
423
285
325
336
300
286
348
233
258
314
327
314
232
346
233
303
348
295
331
338
380
279
283
315
328
306
289
308
333
315
345
335
395
287
341
319
346
344
235
265
354
317
278
314
312
337
405
301
211
353
345
316
333
295
295
356
414
292
355
298
324
311
292
295
297
349
349
348
339
263
311
338
200
367
263
315
273
220
400
324
319
273
295
307
356
312
375
276
340
221
258
314
259
334
359
365
310
272
251
336
370
254
269
374
271
310
236
364
243
289
328
372
319
295
361
306
274
426
281
307
348
254
239
318
330
302
179
295
291
381
284
346
389
239
309
365
327
340
304
264
334
357
273
299
293
394
340
319
315
277
271
322
395
268
332
309
243
321
287
356
377
336
283
293
361
233
326
302
267
292
284
272
281
288
254
379
329
309
319
301
318
369
343
328
368
313
386
341
346
345
359
301
323
343
410
397
266
291
274
308
292
313
311
356
240
327
287
298
308
281
311
326
298
290
340
289
266
252
355
351
331
364
333
339
231
312
259
289
292
293
362
336
330
349
306
365
292
238
342
309
306
377
340
281
313
325
300
319
384
292
335
312
257
311
348
274
286
346
350
294
308
293
308
422
280
324
290
251
416
325
239
316
354
339
251
355
278
294
279
341
314
356
307
233
410
297
337
355
300
281
319
302
375
258
337
364
251
374
287
306
239
358
233
349
304
340
330
259
397
370
247
278
340
269
324
313
264
308
284
332
255
252
280
341
280
337
258
284
259
232
387
381
301
315
284
338
284
255
457
321
309
321
271
302
340
416
322
316
281
328
281
340
376
418
306
296
356
275
331
329
377
270
317
293
302
337
267
325
358
337
280
330
348
366
398
389
388
393
352
272
301
368
364
288
275
249
226
311
333
309
284
260
365
279
292
311
315
334
297
306
306
217
356
358
325
306
319
284
280
328
312
331
289
336
273
343
346
283
303
311
289
294
249
368
288
339
257
441
265
319
296
202
281
362
361
304
245
268
320
306
288
278
402
358
306
308
274
337
274
278
345
341
349
352
289
287
307
249
332
300
302
252
373
340
324
347
268
378
388
349
251
339
335
384
300
340
242
231
269
342
323
377
267
280
323
327
352
336
312
261
356
347
346
368
351
323
272
402
359
281
303
347
294
364
279
337
353
323
276
336
277
305
296
305
270
269
289
336
266
246
312
380
312
232
296
283
355
332
320
289
284
361
266
373
280
311
200
252
355
355
318
372
331
299
322
250
349
353
273
342
326
308
329
360
343
270
325
287
310
354
326
461
326
249
272
329
313
356
374
365
253
271
320
276
293
343
284
316
384
363
371
323
328
312
306
314
282
225
364
281
318
269
287
243
288
315
312
261
259
335
382
335
351
325
322
333
231
317
275
283
325
315
261
358
301
338
291
360
303
360
267
256
391
322
330
330
341
295
328
285
280
233
309
213
370
330
305
281
248
276
336
265
301
319
310
310
289
411
292
345
305
313
265
204
290
240
305
323
301
263
265
377
359
369
295
228
369
374
314
329
319
262
251
212
317
374
340
351
274
313
294
304
326
365
264
294
325
313
311
324
312
274
279
369
369
347
279
306
364
333
305
389
350
305
286
331
362
286
291
312
211
331
303
272
301
350
224
337
272
344
321
309
283
353
291
372
355
348
273
312
384
355
366
287
314
343
415
336
303
275
331
395
307
348
375
316
377
383
290
356
243
332
344
336
301
302
270
335
340
287
211
198
372
255
216
318
268
249
294
294
297
303
267
280
349
286
337
313
337
318
382
388
344
330
278
325
310
307
254
298
363
276
343
359
313
279
316
331
380
340
279
319
285
353
345
378
316
305
297
327
287
331
300
314
343
279
337
329
306
319
312
354
311
326
306
374
318
277
274
260
200
331
363
216
262
357
317
321
231
308
286
377
396
312
325
390
301
353
302
313
284
363
341
272
316
311
259
231
264
400
299
412
261
269
308
274
363
309
285
287
311
323
403
281
304
300
291
306
251
267
262
340
306
297
318
356
372
390
214
271
289
276
314
302
410
335
279
322
289
382
365
316
350
394
356
343
302
292
368
301
328
277
333
352
281
233
372
342
207
381
345
293
329
378
276
368
347
381
288
297
392
308
261
331
292
261
348
339
371
337
260
360
269
288
317
279
339
320
306
350
320
285
319
260
235
300
268
298
374
275
255
292
321
290
332
350
399
309
308
301
290
320
287
228
318
287
329
334
295
268
278
445
315
349
297
330
402
353
352
393
353
308
334
329
335
281
354
267
302
329
305
328
311
310
334
301
308
363
230
274
302
215
310
293
264
266
295
340
359
404
357
309
360
327
301
302
311
334
366
357
399
343
296
293
371
368
345
298
326
328
241
362
303
345
367
339
349
327
375
328
288
337
410
315
365
342
199
338
274
278
366
305
306
254
329
263
382
307
348
270
344
265
311
212
264
329
253
325
346
292
325
309
340
366
324
373
320
265
250
315
311
294
316
297
294
383
317
385
310
303
306
291
236
381
277
346
308
342
369
275
292
328
273
309
315
271
318
363
308
214
341
275
314
289
254
363
246
384
316
274
307
335
228
298
339
231
379
253
298
317
275
303
292
273
306
383
342
342
307
327
361
312
364
308
343
295
398
310
265
378
234
315
289
314
290
394
303
289
339
343
238
325
330
327
317
303
318
321
255
206
373
293
350
283
291
253
292
297
289
374
349
345
283
319
183
309
307
323
289
344
366
303
270
331
400
355
363
346
255
329
306
281
236
378
300
255
347
368
326
349
314
330
328
308
351
326
276
304
386
310
276
354
328
344
343
289
326
302
328
348
392
282
313
323
349
312
284
382
348
281
293
284
300
336
338
309
276
285
308
309
280
299
251
378
257
270
322
397
287
355
309
258
256
374
303
383
336
332
304
308
310
336
310
344
221
361
337
347
388
370
286
346
323
345
345
330
308
328
337
354
200
410
323
295
321
316
334
346
310
368
333
303
281
349
361
315
376
379
338
297
383
301
341
356
373
368
329
304
306
223
319
343
280
281
331
261
329
348
257
308
330
303
305
306
354
274
268
278
318
404
367
317
293
274
368
330
342
262
328
242
325
277
352
327
278
235
312
287
282
333
344
271
216
275
320
267
337
325
283
314
250
246
315
246
384
252
259
383
300
286
365
319
318
251
344
280
289
323
299
337
245
329
341
268
381
284
260
319
214
306
376
292
250
280
267
292
217
349
329
320
327
265
251
298
288
324
303
399
301
339
394
338
297
331
313
336
302
355
254
354
310
311
355
292
315
342
346
389
336
313
249
277
292
279
312
279
284
336
292
297
301
240
283
308
386
365
261
279
366
328
268
300
358
293
295
348
276
288
331
291
364
342
394
308
271
349
309
367
333
323
341
356
386
241
314
331
368
302
257
232
343
319
289
237
336
304
319
392
282
293
260
379
350
283
310
316
310
320
277
304
269
295
292
230
362
328
364
260
345
337
325
336
326
397
309
360
315
327
410
305
352
351
296
398
294
274
359
236
245
284
288
237
331
339
369
233
321
382
311
317
366
278
381
340
341
316
288
398
292
331
332
273
282
289
331
303
335
302
333
317
307
301
363
286
275
326
306
335
329
206
325
330
363
297
264
294
263
380
311
357
338
217
311
244
388
328
319
318
299
343
324
408
333
311
324
367
334
204
299
303
382
320
336
348
295
361
262
305
293
344
373
286
339
281
233
338
370
275
253
321
298
343
354
374
327
348
314
349
296
284
319
285
315
338
284
389
231
341
317
284
420
395
346
324
334
337
365
286
297
240
384
208
263
359
369
281
352
350
296
336
353
346
336
287
283
336
377
287
281
321
305
330
377
292
337
290
386
412
316
318
376
247
338
332
302
371
355
287
327
384
330
250
301
316
350
306
321
322
332
265
355
393
351
298
372
240
352
276
344
303
249
219
329
293
233
386
348
390
409
256
311
383
300
389
311
325
319
308
330
271
401
339
343
250
308
383
216
310
265
346
335
317
378
240
344
282
296
348
379
302
319
240
328
283
318
301
270
313
352
266
323
412
413
321
303
319
306
265
343
389
367
379
323
293
263
337
416
291
307
330
301
333
250
353
282
328
305
311
313
354
256
347
261
281
283
299
382
346
315
274
270
410
299
281
282
315
301
304
264
319
309
322
365
234
333
351
350
333
236
460
368
304
339
281
387
306
280
322
324
285
379
349
246
321
336
293
345
331
330
297
233
279
329
305
320
355
370
317
310
268
317
431
326
279
377
338
282
300
330
294
302
391
257
299
297
221
309
342
288
336
212
276
279
340
302
333
338
348
268
258
363
303
354
348
330
259
303
328
328
286
311
317
286
318
277
272
363
323
304
318
338
227
383
431
254
268
348
419
251
321
332
324
187
259
299
299
334
370
347
257
273
294
315
395
334
330
263
354
333
360
352
279
280
228
285
246
337
371
319
360
312
234
331
374
346
250
278
363
335
322
351
324
328
266
289
347
356
300
327
243
228
342
356
326
212
285
352
336
288
254
377
300
230
311
298
311
337
196
411
427
305
383
360
371
324
312
292
270
310
266
360
288
201
320
291
326
329
261
323
341
305
294
260
264
329
266
313
260
368
284
353
280
342
412
351
313
388
314
284
425
355
313
299
330
303
336
267
344
257
366
349
339
315
364
342
340
339
313
265
300
344
300
333
288
283
272
355
335
324
291
278
308
329
244
261
283
317
259
283
352
320
371
319
299
328
316
415
223
278
285
309
344
369
353
297
257
309
306
309
369
287
329
318
337
340
312
365
335
408
323
271
318
326
292
397
253
396
319
358
320
314
363
273
344
264
281
341
294
330
339
378
321
350
346
264
322
321
274
380
316
350
426
253
298
281
343
353
317
348
347
307
341
350
277
398
323
326
312
366
325
348
348
327
329
258
225
281
399
384
339
289
248
390
346
305
311
346
295
199
392
340
354
315
301
345
278
308
234
276
315
352
322
324
290
271
312
247
366
289
221
260
320
282
257
314
390
233
343
257
373
314
343
341
290
326
240
250
343
262
279
279
305
339
358
241
334
321
334
278
288
286
301
312
319
286
368
293
369
279
357
386
322
376
377
308
321
246
366
359
409
280
361
378
340
264
370
322
369
387
410
336
348
357
342
290
285
338
215
194
294
387
306
333
287
302
236
335
297
346
296
340
320
369
348
214
287
202
271
337
303
333
330
338
360
344
405
242
322
258
302
328
305
342
275
392
391
343
320
339
404
371
374
375
307
340
251
291
330
344
333
340
407
405
343
362
227
263
308
283
330
386
363
330
332
307
301
311
320
363
324
300
328
277
372
298
273
325
296
334
282
319
403
307
329
275
358
307
382
326
321
381
282
304
288
263
389
321
283
322
316
345
341
302
268
360
311
377
326
290
384
279
304
284
208
282
259
316
325
295
349
286
339
323
301
296
264
264
338
366
337
299
229
200
313
288
294
317
351
309
267
316
347
239
370
250
328
375
314
237
305
314
309
343
296
340
397
372
364
270
271
321
346
323
316
271
313
383
366
363
360
241
360
304
300
318
261
334
270
307
308
353
296
321
289
259
347
303
369
334
355
406
272
303
350
350
295
365
372
326
343
318
369
272
321
273
268
268
258
302
359
322
352
282
370
316
272
352
285
339
304
294
250
368
318
286
305
359
233
282
323
271
333
348
344
364
263
254
318
324
312
336
295
311
317
375
236
290
255
323
314
325
382
298
354
344
352
313
402
291
337
340
339
286
366
413
304
315
358
224
317
296
387
340
282
334
354
298
333
354
315
325
344
351
296
204
386
238
290
281
382
337
300
302
266
302
297
350
311
222
258
406
292
266
339
288
322
316
258
284
360
377
306
327
269
345
330
394
333
365
273
323
342
326
275
327
367
342
260
284
335
295
313
389
332
332
325
371
285
316
298
301
379
337
418
407
309
342
343
282
282
333
266
196
307
271
384
296
260
330
311
375
262
351
291
305
377
206
278
251
309
313
330
305
326
430
313
277
325
301
354
264
335
337
316
308
286
317
334
341
396
382
331
250
296
245
340
283
261
334
367
301
250
305
298
306
258
235
312
418
313
258
318
283
329
338
262
360
311
345
250
370
278
385
364
365
330
335
377
318
283
366
373
287
350
286
317
275
278
275
216
253
243
354
424
355
406
298
323
370
301
349
323
405
365
305
344
250
324
283
364
303
343
313
300
326
320
400
319
328
301
325
303
333
363
298
348
251
291
311
320
375
389
343
295
303
341
313
269
358
305
309
356
353
358
242
355
378
231
331
364
389
352
359
328
342
339
285
298
343
303
305
346
236
320
253
338
332
270
248
382
241
355
357
323
240
285
262
321
346
322
317
313
275
243
286
277
332
297
224
236
262
216
345
318
354
293
292
347
269
311
303
301
312
246
309
325
335
339
353
306
284
307
257
257
267
262
294
337
277
353
315
301
330
363
317
319
312
252
323
334
353
285
296
400
335
279
287
328
305
372
370
329
282
274
353
267
341
211
282
308
362
296
358
274
300
369
334
309
348
335
274
381
278
306
350
317
357
324
322
233
351
296
322
271
309
286
286
288
362
305
318
341
309
344
380
242
328
312
318
392
365
271
289
218
319
307
314
327
342
312
397
325
290
272
313
353
276
315
238
310
301
332
307
312
309
303
347
363
364
368
376
286
300
322
325
272
325
273
261
321
304
329
335
301
352
219
403
276
321
265
292
325
233
369
367
348
313
348
311
305
320
328
347
333
288
319
186
396
288
365
295
304
247
295
313
302
322
299
300
292
283
309
340
275
264
316
349
261
305
299
364
393
252
330
321
335
297
319
300
327
390
353
302
341
363
249
377
248
290
286
297
446
282
270
338
283
333
282
324
313
350
350
301
291
301
348
317
348
370
366
374
293
436
330
297
322
236
321
338
332
378
361
340
285
342
298
297
325
314
374
247
317
327
278
309
273
337
270
280
269
295
287
310
336
259
385
274
366
272
323
358
359
335
322
267
314
229
297
353
264
339
329
333
386
372
349
220
304
301
368
309
277
337
330
276
285
369
308
330
308
288
341
344
307
294
362
301
305
309
322
269
345
326
231
210
297
233
305
270
345
186
292
279
369
311
342
268
302
350
333
326
255
271
269
345
289
286
268
300
342
412
402
393
277
219
341
326
350
316
378
361
284
308
341
360
357
361
327
263
280
334
191
301
386
298
247
342
303
339
299
325
317
248
358
303
314
254
278
311
403
309
334
176
335
336
312
312
334
290
310
344
354
297
323
274
344
266
313
333
275
322
352
238
318
326
210
260
346
427
317
280
341
284
320
298
213
238
325
380
350
301
321
316
279
329
262
341
343
266
328
324
256
386
286
337
270
282
352
301
270
350
334
319
385
367
305
352
299
310
309
301
340
393
297
253
304
263
274
368
313
291
300
266
387
299
299
431
309
267
251
368
267
351
328
332
328
321
313
350
273
320
320
362
336
348
371
318
273
343
358
339
372
267
329
381
322
331
329
372
323
381
336
338
306
315
295
329
341
303
302
208
288
297
332
324
329
395
332
300
330
324
322
290
281
267
373
298
354
286
329
343
318
282
209
372
335
348
234
340
313
333
324
244
370
323
204
366
297
312
358
261
354
283
351
313
377
309
317
243
373
305
231
361
334
311
350
337
333
329
322
324
359
322
371
324
259
341
303
345
256
307
345
372
272
356
355
379
176
370
296
325
246
398
354
359
304
318
280
310
296
331
274
260
321
373
306
280
365
295
336
342
380
340
258
394
312
238
289
310
337
329
330
333
309
233
286
367
326
244
297
272
293
298
374
366
308
326
274
298
310
332
304
346
408
255
391
280
328
283
367
308
293
314
293
321
255
362
360
351
351
419
319
317
266
323
273
239
275
214
283
378
290
350
297
297
413
245
307
254
266
293
300
350
305
328
373
301
320
263
289
350
316
247
331
379
310
256
283
279
400
281
395
340
339
314
294
303
372
345
267
345
301
302
344
278
292
354
293
380
263
369
304
299
332
342
331
253
301
291
298
325
296
275
279
279
266
280
270
333
299
287
317
370
303
315
360
279
293
354
288
357
304
327
351
337
345
265
284
351
344
312
253
365
336
258
343
293
334
310
271
416
351
260
287
369
321
273
384
353
384
336
259
276
328
375
335
249
294
305
297
334
321
410
308
249
222
262
302
326
372
345
263
332
332
332
292
413
197
282
371
354
370
317
251
283
288
293
282
299
326
418
294
391
335
283
372
317
373
296
325
314
234
347
318
298
283
267
242
299
277
282
351
303
291
340
208
346
343
278
305
348
254
290
426
319
366
308
317
304
305
383
373
382
299
233
417
315
221
296
274
314
328
329
354
310
348
330
267
289
322
345
261
351
296
361
235
293
287
307
313
340
402
384
327
336
265
287
352
341
258
329
282
287
303
286
205
267
301
288
345
292
274
249
309
301
353
291
291
362
262
324
344
293
370
290
263
347
254
237
272
373
272
303
265
332
276
283
392
337
332
288
317
329
252
346
352
318
355
344
316
275
333
282
377
346
333
401
237
340
361
240
300
246
327
337
309
284
319
327
333
326
308
314
275
316
298
333
370
309
372
330
353
295
346
360
357
295
261
299
290
260
280
275
309
330
353
336
339
334
253
258
295
327
312
391
344
326
269
319
330
297
411
367
306
310
244
358
355
286
205
296
378
309
331
284
312
346
298
267
389
244
279
373
319
358
297
312
287
315
320
319
263
361
360
368
287
312
324
314
343
276
327
306
275
310
375
304
378
307
353
360
287
362
298
321
317
333
263
257
398
323
381
244
342
299
270
333
293
354
293
254
256
366
303
233
274
349
314
370
253
375
364
322
345
309
330
369
278
265
385
383
344
378
380
269
304
290
323
311
201
376
292
221
335
369
283
338
286
400
257
348
348
328
378
294
265
299
380
347
313
245
354
328
336
312
252
316
399
321
339
253
337
323
309
349
344
180
286
298
296
293
268
278
237
364
299
314
232
317
300
262
253
356
321
311
347
351
279
344
288
242
369
382
322
317
287
330
285
388
303
353
400
323
297
313
355
384
323
329
332
342
310
308
307
413
255
248
372
318
394
184
397
316
313
402
301
360
346
261
348
275
250
285
347
232
263
339
368
376
352
377
317
253
268
396
270
228
334
266
345
396
286
337
308
339
289
272
272
215
339
310
240
253
372
336
244
209
291
320
253
333
319
280
288
268
421
277
270
304
318
338
331
334
328
333
353
310
368
330
317
302
380
324
283
301
377
264
262
357
283
327
330
363
221
317
297
291
248
361
297
333
396
279
277
360
256
281
323
256
360
345
343
311
277
245
363
267
307
340
291
328
389
260
335
288
261
415
364
344
297
289
372
310
286
339
380
281
322
319
391
369
366
273
268
310
228
211
278
328
297
306
336
331
285
357
320
292
283
293
314
364
258
332
305
295
344
274
359
283
274
356
273
320
254
345
326
389
393
270
314
330
338
319
310
286
416
307
351
238
305
325
292
356
355
293
325
381
358
353
273
359
450
318
359
341
297
364
319
384
331
269
368
243
320
256
253
343
250
389
323
313
375
349
288
253
311
233
331
308
336
225
310
350
291
329
349
346
312
318
336
318
338
222
321
335
355
316
400
313
361
314
303
254
352
315
281
357
307
318
302
344
282
275
364
233
272
317
257
251
310
286
250
315
420
324
306
341
362
343
371
249
387
328
310
309
311
332
271
259
321
278
383
370
231
340
235
326
259
345
260
356
322
327
314
321
329
307
286
332
287
271
224
297
271
287
265
287
298
298
325
300
291
356
357
343
292
322
315
319
273
294
392
263
325
335
296
362
315
379
348
340
289
331
304
365
257
336
398
314
333
256
311
298
257
267
267
335
273
349
352
293
363
309
331
359
279
242
369
242
285
411
218
409
299
371
348
311
369
280
338
325
277
285
331
310
283
290
393
298
264
300
310
209
274
293
278
369
269
241
251
250
289
292
333
233
239
369
309
302
333
357
233
368
332
272
266
296
299
328
303
286
278
340
350
347
272
319
304
339
321
249
260
296
272
388
367
319
296
288
327
266
328
259
319
284
272
351
316
295
303
325
323
320
297
382
370
275
390
296
359
283
294
289
261
290
274
304
317
304
327
335
278
283
346
327
330
375
295
355
365
416
360
339
329
302
387
305
326
300
295
277
292
330
303
309
382
274
324
326
279
359
328
386
306
225
306
311
256
324
332
268
381
246
403
315
308
328
316
254
327
287
367
279
395
301
308
353
374
332
381
290
392
284
299
300
263
281
302
337
383
366
269
325
303
246
346
301
342
371
386
357
325
282
373
288
249
356
309
393
300
306
231
334
297
340
246
361
319
244
390
321
323
297
316
272
318
327
395
353
317
263
373
411
369
246
376
344
367
334
254
307
345
358
375
297
342
320
382
339
256
320
343
287
322
308
310
303
318
302
301
356
368
343
186
287
216
358
310
257
196
292
313
344
353
246
348
279
315
364
249
219
333
278
313
336
314
281
297
263
297
276
335
348
310
356
296
277
291
341
255
395
298
282
422
365
258
281
292
361
383
240
328
208
382
344
219
338
325
269
362
336
340
298
334
307
341
209
346
312
293
321
291
220
223
274
254
342
291
365
169
311
320
340
348
328
352
344
343
312
284
345
293
234
357
354
312
312
384
341
305
371
312
333
348
324
362
340
346
360
289
283
362
309
290
322
352
391
332
415
281
278
282
326
334
285
357
272
243
307
323
245
269
325
235
340
280
396
379
309
308
317
292
292
306
318
350
321
419
316
227
339
330
261
396
290
255
221
287
404
254
347
347
322
379
338
274
360
381
417
296
270
302
352
289
299
286
270
326
347
382
359
310
318
266
338
293
326
291
313
323
391
305
250
331
288
299
352
297
346
364
343
319
339
281
353
274
269
279
302
344
356
256
329
301
273
272
136
137
319
319
222
307
295
291
212
381
313
328
235
267
328
283
350
317
329
311
416
336
323
356
186
328
306
320
317
364
322
275
385
338
334
222
358
322
235
347
285
325
258
282
261
363
344
323
375
342
400
304
336
308
349
293
292
348
319
308
312
334
286
247
343
332
431
304
333
277
315
352
334
292
358
428
345
249
267
328
266
290
347
315
273
363
372
383
276
365
362
289
365
401
304
360
278
419
304
259
354
261
356
351
284
368
257
357
399
275
213
315
280
321
297
362
284
275
318
307
380
309
316
287
409
281
312
291
258
268
331
311
299
338
349
279
327
297
331
377
314
330
302
408
382
392
282
361
312
435
358
344
401
302
364
343
296
286
318
317
361
314
312
273
282
251
258
425
342
341
258
332
311
304
311
324
321
316
372
344
345
345
318
308
312
302
336
335
353
321
253
319
287
305
208
278
356
220
251
236
314
309
288
275
364
289
305
344
381
246
309
273
329
262
266
398
327
409
385
308
327
334
316
289
327
317
311
398
361
246
314
276
253
322
224
263
220
249
245
307
283
341
320
273
350
314
279
387
287
334
342
299
333
355
337
312
349
294
376
317
305
240
298
326
352
355
314
339
274
266
352
227
328
283
287
248
283
336
324
275
338
341
335
340
309
306
352
273
408
356
326
258
370
320
321
404
197
344
354
367
315
247
400
292
289
329
296
256
297
384
350
299
355
275
373
330
314
361
354
291
344
202
236
318
215
231
364
288
322
301
349
315
283
369
346
357
338
285
357
373
305
281
360
371
280
268
232
299
259
316
322
308
339
283
305
359
252
294
422
238
335
363
238
371
220
275
381
302
325
324
356
432
294
306
277
396
317
312
359
416
320
310
301
276
301
279
366
308
302
321
357
314
358
354
258
350
265
341
306
314
318
375
341
353
312
331
361
328
265
345
343
359
322
308
325
350
300
360
254
304
381
256
293
400
246
322
323
342
349
397
328
258
296
349
320
322
293
245
271
291
205
269
323
269
259
306
319
407
325
311
327
251
347
340
350
348
221
353
328
328
333
298
271
264
384
359
227
256
355
345
280
281
373
258
334
285
292
290
308
353
282
367
381
374
378
336
260
248
322
366
332
315
449
348
334
324
258
319
335
228
315
317
360
314
320
266
279
329
369
333
269
304
396
218
304
309
283
282
302
333
254
308
362
275
325
333
313
286
267
290
338
315
287
351
338
392
360
296
264
343
213
289
326
267
301
284
317
252
346
295
339
318
333
360
277
267
319
250
299
259
337
311
285
334
405
355
311
185
312
270
300
301
319
322
280
298
335
317
320
318
301
284
299
348
336
317
342
374
383
371
293
278
310
307
327
400
393
289
284
329
381
334
318
258
393
297
357
286
326
299
352
342
327
292
327
289
349
228
295
343
346
363
352
309
249
300
295
212
352
240
338
274
376
367
268
273
314
332
339
363
306
342
320
318
325
306
318
368
293
364
257
276
326
351
348
295
247
342
289
336
260
232
300
321
305
320
348
342
265
327
322
276
296
255
338
337
281
344
343
323
352
324
275
362
351
300
288
383
292
387
309
362
282
381
253
338
272
316
352
399
363
249
301
338
357
229
343
306
356
287
343
405
310
343
297
343
369
273
329
253
331
345
371
337
286
389
288
299
293
410
352
324
313
346
279
399
242
296
340
296
334
270
307
301
297
303
375
368
317
341
255
287
278
344
318
329
366
338
348
318
345
288
341
371
363
320
340
263
274
249
346
390
336
418
275
323
299
318
317
293
301
352
319
249
333
308
351
320
298
354
313
296
227
344
273
370
328
319
234
289
359
387
328
279
356
212
328
305
357
292
344
309
384
308
301
310
306
334
320
261
357
327
340
352
263
250
254
289
337
299
435
297
297
272
354
305
373
405
290
358
329
334
358
400
267
305
370
238
304
295
330
303
270
269
298
349
309
284
329
388
239
316
348
262
230
212
244
291
344
338
284
357
216
275
217
363
351
351
320
341
320
429
277
327
296
256
259
414
406
311
328
339
317
349
316
273
331
361
352
333
274
332
341
295
411
271
279
356
178
269
284
344
335
358
287
334
321
278
327
429
344
264
355
354
305
386
337
292
324
284
278
417
333
314
358
292
237
360
372
332
289
328
424
324
350
277
367
404
267
297
319
359
384
289
323
334
247
333
326
326
296
405
331
345
343
346
317
332
364
317
328
274
252
312
324
315
344
348
310
256
378
330
366
408
342
298
298
279
311
301
231
338
373
329
290
335
338
264
272
311
212
371
377
244
296
256
348
316
338
321
235
349
359
214
330
296
379
336
299
290
273
291
351
364
375
380
358
324
390
385
286
291
282
313
295
298
291
373
374
354
314
291
298
266
304
389
234
384
293
301
239
290
333
306
343
333
342
353
318
402
242
292
265
309
306
330
304
393
359
354
268
326
265
342
267
308
397
325
231
354
375
249
289
366
354
284
276
312
349
308
325
295
357
353
312
352
353
326
258
379
356
381
417
381
406
294
322
386
363
203
318
314
346
374
338
266
269
345
350
254
288
283
256
331
350
311
248
315
294
403
330
259
345
300
370
337
371
328
356
314
222
379
326
237
309
297
291
331
364
286
280
317
242
340
311
278
394
284
285
297
362
328
324
374
333
346
238
310
243
263
325
271
317
214
318
365
322
286
364
292
357
292
285
328
323
299
318
310
313
325
326
385
293
242
329
308
274
354
361
274
244
307
303
366
311
305
300
349
328
258
300
388
386
387
333
366
383
296
305
314
276
283
316
323
299
307
316
370
277
312
327
304
344
295
291
323
330
343
344
346
370
289
262
348
336
347
380
297
315
401
348
366
272
337
336
280
311
279
296
419
224
389
290
405
255
297
300
361
223
380
255
328
381
366
335
279
420
332
355
305
241
368
357
340
321
321
356
318
257
389
308
324
364
344
333
323
267
322
303
360
301
264
390
385
288
406
334
312
297
337
262
353
294
361
300
349
286
304
285
432
384
247
339
308
298
281
319
291
361
372
386
305
305
253
405
305
267
270
190
314
227
260
371
334
287
297
269
327
280
326
371
310
292
274
269
314
250
322
316
236
338
331
290
336
305
307
405
339
379
269
288
339
298
235
267
285
239
319
321
238
294
329
315
298
357
290
276
275
236
343
247
344
316
287
299
286
335
322
311
266
284
263
359
356
291
384
311
278
315
298
355
288
330
250
284
382
324
320
320
324
273
369
343
316
373
382
275
221
384
286
332
322
300
353
328
284
318
391
220
300
278
368
295
236
263
326
282
294
230
274
328
306
304
306
349
290
363
345
296
331
239
326
324
295
247
245
358
269
317
298
268
317
357
347
321
338
376
404
208
384
154
277
266
272
240
313
393
352
356
310
268
320
292
331
298
350
323
252
314
312
334
308
333
297
379
318
342
252
314
277
365
243
325
384
294
307
278
265
353
298
271
298
313
276
384
397
284
300
319
251
296
361
321
265
298
275
283
358
352
333
267
336
333
293
287
347
316
288
333
386
316
349
305
258
249
291
366
303
304
298
367
326
235
264
278
334
309
327
263
379
286
234
278
341
264
315
279
268
225
326
318
308
271
328
368
251
283
353
236
297
303
295
312
306
291
291
325
309
239
390
236
326
348
292
312
350
313
229
372
351
291
364
327
367
363
286
314
326
324
330
325
351
356
301
320
250
193
269
332
282
322
350
328
394
319
320
314
269
346
394
359
309
375
235
303
362
427
401
270
313
325
310
279
356
227
302
277
260
317
349
370
302
357
366
363
322
333
357
283
320
268
328
320
307
314
308
250
235
308
332
331
361
289
356
244
295
232
287
337
377
341
286
280
347
390
355
307
279
290
373
284
299
283
204
331
238
283
332
341
348
339
289
323
230
306
276
302
334
259
241
317
324
331
254
326
320
139
320
355
340
312
282
329
301
249
303
301
258
338
254
252
310
278
391
233
425
324
354
235
281
292
267
349
372
283
334
369
397
252
243
232
345
353
385
273
373
306
343
282
298
342
355
290
275
222
289
257
332
282
327
333
308
239
384
296
257
336
404
284
305
357
221
283
290
315
258
280
298
282
328
255
338
263
295
354
346
273
322
311
252
303
320
281
371
327
302
359
304
314
327
412
320
301
353
387
321
402
297
350
376
287
294
374
223
362
298
277
343
360
342
296
308
339
386
223
284
343
262
310
354
325
335
311
314
319
384
268
278
309
296
275
323
301
358
327
357
321
242
272
247
253
312
281
304
326
390
361
348
233
329
265
335
270
412
346
335
376
307
351
249
336
297
370
350
344
397
352
287
334
348
310
331
324
303
289
357
359
265
233
355
349
243
339
377
360
348
355
366
230
303
426
302
279
275
368
333
280
248
340
342
246
299
336
277
395
311
321
274
337
300
386
267
261
342
355
307
255
275
395
368
251
324
390
321
287
258
377
375
297
334
231
298
284
416
310
366
323
358
358
353
311
310
379
321
364
300
360
378
278
368
294
341
325
295
352
322
268
262
362
343
370
305
312
317
264
349
289
310
357
242
272
384
318
266
322
283
307
366
358
305
279
366
230
322
318
318
281
350
337
360
350
299
314
373
357
358
252
333
354
265
310
321
253
307
252
377
221
319
306
296
356
312
289
317
303
329
342
319
318
297
284
356
262
332
381
277
322
333
314
319
355
323
322
371
396
260
327
337
223
348
252
228
314
362
358
307
318
320
356
332
313
254
315
308
318
260
367
341
282
229
314
313
295
376
398
206
218
345
398
285
354
349
280
314
311
268
309
294
378
260
372
379
285
256
341
315
293
280
353
358
402
322
354
303
275
331
291
360
249
261
248
300
294
293
247
359
304
270
312
354
298
280
320
288
362
296
296
265
244
385
228
388
233
367
268
298
280
249
314
268
367
304
306
301
310
327
322
313
323
373
351
263
347
266
290
306
296
301
312
352
286
333
329
278
304
347
325
248
340
271
311
382
352
312
363
354
242
257
337
267
340
338
354
268
303
367
268
260
309
312
393
404
323
400
342
343
305
333
315
366
353
323
304
280
299
374
260
256
367
326
257
330
275
334
273
386
308
235
335
308
376
279
280
294
308
373
253
376
299
413
271
320
334
307
317
377
330
336
283
281
346
334
277
305
342
271
360
306
322
332
344
361
366
362
343
311
337
295
263
333
345
339
286
344
265
248
281
318
357
319
308
320
273
296
405
345
268
303
317
184
304
302
345
289
332
279
266
296
327
373
315
247
349
302
313
297
308
374
267
271
274
398
290
319
320
342
308
290
419
314
345
355
369
332
361
372
298
378
274
345
257
367
423
321
340
293
299
305
280
274
297
195
320
314
267
417
417
352
369
344
426
297
336
241
383
279
295
390
296
356
279
268
395
328
366
291
347
374
257
281
351
263
373
359
361
318
296
321
349
369
374
238
322
320
303
330
323
260
336
330
293
298
303
332
320
341
306
260
316
289
330
333
322
310
290
350
387
320
315
318
347
350
288
313
317
387
381
344
313
422
379
265
305
314
287
298
269
298
374
309
297
345
382
395
281
253
263
282
267
288
255
267
254
345
280
332
373
272
343
248
334
315
255
373
376
250
394
301
369
258
320
329
315
348
324
372
275
362
335
298
371
255
307
354
312
342
310
329
343
357
300
283
327
319
277
328
374
258
292
349
385
374
242
335
329
382
298
341
308
298
253
342
244
329
368
301
314
325
424
238
370
342
313
277
295
316
298
362
383
366
364
368
377
240
314
360
288
302
333
300
308
256
310
327
295
361
307
348
321
265
312
319
240
374
286
278
376
330
347
322
327
303
346
229
317
242
287
313
303
339
279
317
313
316
277
314
231
456
277
325
364
367
322
357
273
271
378
287
307
324
317
255
392
369
285
347
335
346
369
231
267
302
338
310
271
338
335
211
372
291
354
296
227
284
298
367
234
343
306
299
244
305
347
436
389
416
354
301
266
303
334
304
385
224
262
338
307
375
313
279
305
331
348
289
298
378
363
271
350
307
230
396
333
404
308
281
369
376
319
294
285
379
249
336
306
288
385
391
302
360
278
304
338
356
360
326
203
280
331
353
288
344
372
289
270
270
299
285
359
271
404
316
232
314
282
267
359
186
274
368
375
342
399
285
285
352
252
272
392
337
207
305
275
269
198
421
307
301
321
276
373
301
358
216
266
312
285
290
292
315
383
353
289
240
270
236
262
316
405
355
331
293
303
246
291
282
267
232
319
308
339
335
291
260
351
350
347
302
304
362
305
357
382
322
277
316
255
358
361
239
328
278
389
275
278
348
306
294
265
315
278
336
314
334
318
307
386
308
378
301
348
331
283
314
261
298
278
243
339
315
243
343
334
308
323
364
255
325
316
359
336
363
351
287
370
342
290
307
276
324
374
350
245
325
361
379
236
302
259
249
270
285
350
294
249
400
326
346
296
351
305
323
287
246
358
230
320
334
283
279
354
331
310
332
404
337
351
366
324
276
359
320
343
308
312
297
269
262
335
294
271
315
386
324
304
319
302
326
365
316
332
330
264
276
307
402
314
337
331
359
300
317
328
268
284
366
323
286
417
345
384
348
353
303
319
267
351
320
381
278
327
297
331
285
332
249
342
381
338
343
319
327
277
360
343
274
357
343
337
315
311
370
355
415
352
356
339
304
337
369
362
293
304
329
258
370
292
316
302
273
341
308
310
334
328
275
314
298
341
348
310
335
322
344
273
320
288
366
349
376
231
284
365
322
356
325
343
422
303
316
417
302
332
352
294
264
271
287
281
333
340
372
250
283
351
339
338
401
329
338
354
315
313
297
329
380
336
346
244
247
336
363
381
384
318
297
335
254
256
340
235
238
387
334
355
340
318
363
338
244
332
287
393
333
322
346
272
259
303
335
301
410
329
366
307
319
348
332
360
334
299
369
362
447
352
327
251
307
277
208
289
306
266
294
266
353
288
327
318
322
346
354
352
324
289
242
346
340
356
323
328
328
319
291
366
319
404
231
395
368
304
363
230
298
262
307
327
221
397
303
357
347
337
320
339
403
328
319
335
357
357
296
335
361
332
336
286
301
306
332
342
280
278
369
345
311
268
326
362
270
295
254
380
324
327
253
365
272
247
276
326
322
320
330
189
321
332
349
259
346
314
367
290
249
347
352
320
275
292
388
270
330
300
367
308
282
277
364
314
308
368
352
336
331
318
361
275
297
366
330
255
258
273
339
341
277
350
284
363
338
309
319
350
305
288
270
295
319
279
276
223
391
306
335
373
298
351
342
347
314
352
352
281
325
322
311
349
262
201
228
303
340
283
264
328
285
320
370
398
353
293
300
310
298
296
411
269
258
324
333
396
335
304
306
220
282
288
296
336
386
305
308
301
315
246
257
333
330
294
305
393
298
333
289
328
309
363
287
299
298
313
291
306
380
328
279
230
318
345
368
296
348
309
331
379
272
256
330
348
372
341
319
395
331
368
278
301
279
283
411
353
263
358
291
330
269
267
350
367
219
336
368
291
287
307
310
210
328
235
235
346
346
228
366
290
344
278
367
331
345
348
371
321
335
299
223
371
322
260
309
345
227
319
357
296
307
384
315
273
303
293
328
333
329
311
384
365
245
310
355
329
290
359
301
290
285
295
344
340
276
323
269
268
231
311
248
262
309
335
373
330
349
352
244
322
260
356
334
317
307
300
397
323
296
357
304
302
306
294
312
336
279
371
393
329
259
349
246
347
275
351
369
196
314
374
237
359
286
361
341
294
306
311
308
302
257
319
271
276
387
401
310
367
306
334
340
346
275
335
305
337
350
383
278
372
329
341
286
325
293
290
256
330
303
385
361
370
344
277
310
283
286
289
330
357
242
304
190
283
298
351
377
352
353
384
272
289
292
383
292
345
242
319
343
226
330
309
321
303
334
221
351
293
336
394
329
273
267
338
338
222
247
294
258
359
303
351
312
350
295
314
387
336
261
322
259
273
295
358
366
279
310
269
291
326
270
265
235
425
353
301
246
311
347
256
376
288
255
407
295
292
359
343
316
241
389
318
308
327
330
314
344
395
292
349
303
372
325
280
359
247
338
379
318
305
389
289
332
259
299
366
343
326
377
386
308
239
369
241
353
323
264
354
254
248
309
279
246
317
299
273
292
284
356
317
270
278
325
287
335
235
298
235
265
369
278
339
194
364
422
319
241
288
322
341
354
279
397
274
357
323
292
275
327
247
291
304
345
305
285
298
273
338
372
341
355
373
312
351
330
335
264
350
381
347
287
419
340
390
309
335
323
314
294
365
369
365
343
259
305
385
317
320
326
375
294
236
254
216
331
360
259
314
300
293
257
330
286
368
387
365
297
381
331
198
324
354
301
306
263
325
341
295
317
282
335
321
273
335
375
280
301
325
339
316
297
322
295
341
292
367
387
337
413
326
333
303
235
337
317
291
314
281
325
311
352
374
401
295
336
247
326
408
301
339
379
262
232
305
427
290
298
333
371
323
269
273
360
355
292
317
279
295
219
288
306
322
303
318
267
281
332
324
316
319
428
396
343
282
299
317
266
336
288
337
356
317
339
341
328
249
380
308
418
307
391
306
341
282
323
310
326
407
314
318
310
332
337
354
317
356
397
298
400
311
262
344
317
336
324
331
333
333
304
281
306
334
338
351
369
294
330
299
304
289
301
234
305
375
312
301
291
306
341
221
315
305
374
386
397
324
344
321
260
337
261
271
262
310
282
244
346
260
345
336
310
304
223
282
390
244
278
351
369
322
314
307
333
327
385
259
244
322
240
307
237
251
366
324
308
244
249
277
230
359
293
265
297
317
344
399
365
307
385
271
327
310
299
328
270
279
298
320
248
351
310
287
392
336
340
378
345
279
270
239
347
272
300
265
294
267
322
415
309
310
271
286
295
321
329
348
290
399
305
310
294
253
294
284
306
347
285
269
243
306
297
357
278
320
348
422
261
285
332
380
239
280
323
311
312
344
312
366
353
248
316
288
345
311
364
377
352
278
270
390
308
339
280
265
318
281
276
243
284
220
337
344
341
323
312
313
262
288
273
317
340
309
361
338
338
235
317
359
398
331
386
337
241
272
305
350
284
198
274
362
290
263
364
309
340
294
360
337
226
336
252
269
315
327
301
298
275
374
277
275
350
303
293
286
327
334
352
277
228
307
356
307
311
406
194
341
384
295
284
302
361
301
297
173
312
327
273
200
322
377
257
354
356
346
340
383
359
317
327
341
346
250
346
201
267
331
270
315
362
369
388
326
298
321
215
304
328
330
327
381
288
329
330
341
309
339
306
319
289
412
379
300
284
336
388
315
325
304
324
311
287
281
307
310
340
338
279
322
327
335
337
284
284
411
312
315
361
281
303
314
338
351
416
319
318
357
294
300
309
377
273
394
266
294
250
441
291
351
404
284
295
331
269
322
297
325
287
246
331
354
296
264
334
254
339
259
275
301
276
329
378
341
353
353
367
322
293
231
306
259
321
318
372
367
353
291
346
380
275
381
318
339
297
336
293
415
247
249
307
286
317
372
339
362
339
293
267
303
418
346
331
323
282
342
291
309
362
255
277
305
373
356
319
307
259
286
303
369
291
298
248
423
299
282
325
379
298
381
344
357
364
231
293
299
321
293
320
357
397
296
268
371
341
207
383
308
279
332
372
268
307
349
332
365
324
247
310
335
235
361
268
279
271
328
281
332
344
209
273
319
389
307
354
305
324
254
311
222
324
367
245
288
358
254
368
265
276
360
328
317
319
253
391
333
335
350
361
305
219
301
284
300
264
430
343
370
264
280
337
279
409
332
237
320
291
275
260
290
337
324
393
334
273
320
290
369
333
226
291
216
324
300
305
319
267
234
298
311
318
204
256
314
329
393
322
346
259
334
346
352
399
356
272
333
232
335
311
314
237
383
291
297
298
340
267
279
324
321
331
399
341
276
277
276
307
310
313
334
375
266
305
319
283
351
328
284
250
356
325
303
363
355
264
304
270
302
313
354
285
392
225
348
340
314
308
314
327
315
282
310
299
281
342
313
345
352
286
344
283
344
259
308
403
348
327
389
250
265
299
350
290
336
351
320
285
347
260
219
340
275
289
390
303
297
345
339
426
287
367
352
312
279
339
314
409
290
343
399
241
336
282
373
238
420
335
325
251
330
221
243
206
374
377
339
330
280
317
358
321
331
250
333
246
340
371
369
265
316
271
323
329
314
347
277
313
380
347
322
284
329
350
270
263
323
224
399
330
320
314
328
326
363
359
270
352
228
296
301
328
321
369
330
353
352
347
336
318
401
334
329
344
327
357
311
251
430
339
284
372
291
373
442
258
292
246
256
306
333
328
181
226
361
341
362
352
370
328
322
306
347
401
273
285
437
339
225
287
353
443
237
204
302
310
220
270
335
308
328
260
262
280
423
338
331
413
322
293
333
306
181
310
257
320
300
328
226
349
355
333
300
319
247
335
313
406
305
375
223
331
379
246
253
272
348
344
317
348
291
188
346
271
270
327
316
298
285
302
353
345
259
301
347
340
325
346
338
321
326
315
291
312
331
353
343
361
289
293
359
321
338
279
300
340
351
325
309
359
387
327
325
306
288
331
329
315
286
365
348
282
315
252
330
199
323
263
358
285
361
312
346
387
356
277
285
257
306
250
340
369
386
353
227
294
383
383
257
254
261
342
388
318
354
292
341
251
303
265
315
305
358
311
318
342
328
342
236
341
259
359
291
238
256
361
324
300
319
326
255
334
285
221
300
325
315
278
383
266
320
342
271
293
334
280
315
391
233
271
330
355
327
275
335
283
292
215
318
305
424
321
317
322
376
291
362
239
311
262
265
353
339
413
370
315
292
260
245
301
264
298
341
337
297
290
294
199
287
285
374
331
328
293
300
322
285
218
245
270
346
272
335
313
252
321
272
312
321
223
313
290
371
370
299
352
304
226
397
288
348
336
330
237
330
360
296
323
344
369
304
350
334
298
248
357
210
399
379
311
264
295
329
356
324
314
324
355
371
252
333
363
310
220
299
233
294
301
299
349
325
360
279
255
356
369
423
306
362
283
280
351
315
355
302
327
274
341
302
360
307
350
296
323
323
253
391
357
308
292
311
264
358
270
229
346
265
386
316
373
351
298
380
285
236
306
349
267
423
323
377
308
300
356
394
339
299
321
295
431
302
295
374
316
243
315
289
410
312
305
301
330
334
372
308
315
318
301
367
331
283
384
354
303
314
270
254
329
348
325
321
259
304
274
281
338
359
330
276
327
305
284
297
290
318
345
302
390
375
320
264
344
286
384
350
346
363
333
346
328
226
284
291
306
231
422
357
294
293
317
331
369
299
229
300
298
364
320
389
361
295
334
235
350
236
341
225
302
330
361
323
299
307
365
321
349
298
324
268
259
302
205
260
265
370
365
371
311
218
310
328
333
346
349
320
333
361
318
223
334
286
312
293
269
315
324
365
255
359
327
333
250
308
365
338
281
306
413
259
310
306
329
275
306
299
234
366
322
275
363
296
391
322
361
355
274
271
318
329
331
370
315
320
406
295
406
267
360
331
292
297
368
279
355
379
378
353
332
288
262
297
287
229
280
402
211
274
275
294
358
347
241
322
258
250
250
323
342
249
244
312
348
347
279
283
367
337
351
284
296
283
366
322
269
341
247
335
323
279
342
349
313
278
344
298
324
337
313
307
266
368
261
339
312
298
334
353
339
253
341
298
262
308
255
301
301
318
284
307
288
339
268
371
276
287
296
370
381
355
295
318
365
375
302
337
381
306
302
230
284
282
335
364
363
304
268
305
378
292
363
335
383
416
289
358
298
309
291
323
272
369
251
212
270
311
234
341
278
299
321
305
288
348
307
355
318
343
315
387
275
319
321
258
242
355
255
306
300
395
277
325
322
311
341
298
309
298
321
267
314
276
265
247
364
314
262
305
245
303
353
309
299
255
323
337
357
278
309
361
279
338
259
308
331
349
291
287
317
322
319
260
386
309
255
287
327
270
290
364
373
329
225
307
329
326
332
272
371
398
333
352
254
386
285
215
302
410
340
266
286
270
402
325
348
397
274
353
356
402
318
339
270
332
300
320
388
341
288
273
318
287
206
291
257
357
380
273
301
339
325
300
284
305
260
310
249
321
358
355
237
364
248
265
324
404
330
283
328
323
216
345
338
329
327
319
353
337
297
254
368
254
273
325
310
345
336
345
309
291
342
341
233
297
267
388
242
331
263
286
335
333
328
213
273
291
207
308
354
265
335
322
304
228
284
261
262
359
300
351
326
317
319
293
321
325
279
344
381
328
334
299
355
314
359
336
248
270
301
348
253
309
355
254
313
310
336
375
286
391
248
288
365
376
349
280
293
292
264
314
291
266
286
327
258
305
243
348
246
395
190
398
388
425
318
301
339
258
303
337
256
322
266
322
314
283
270
291
306
324
280
297
334
322
285
385
314
263
317
337
283
373
307
299
319
349
245
328
297
297
315
336
384
228
234
259
383
236
328
299
346
331
340
440
369
356
359
380
337
362
319
251
316
288
383
283
219
401
237
282
300
312
329
346
305
348
349
305
305
294
288
238
342
249
334
254
333
368
256
338
324
320
352
320
285
307
317
325
372
269
346
252
356
329
303
301
356
367
255
333
293
379
290
281
343
288
310
377
301
376
377
276
355
438
332
267
283
344
265
306
264
222
252
405
347
304
352
366
258
282
247
283
305
363
385
295
374
300
290
281
287
333
273
377
201
317
289
277
272
265
265
296
250
245
283
246
324
350
325
336
295
348
301
349
293
256
356
312
362
350
339
350
367
310
227
240
259
387
239
283
253
323
289
321
354
283
363
311
339
286
333
200
229
349
269
291
334
332
337
365
297
314
277
297
305
340
258
292
357
233
246
335
340
361
347
207
328
305
374
265
315
342
338
300
304
376
282
327
348
267
312
307
298
264
290
279
258
200
328
310
255
277
359
336
273
382
341
289
346
362
358
274
403
300
317
265
284
282
370
242
317
329
319
325
256
299
351
322
223
380
227
282
341
351
373
227
354
321
310
379
329
346
333
268
316
316
340
328
317
235
237
263
385
323
191
420
332
328
368
296
310
317
297
351
356
302
242
344
371
356
285
287
316
330
410
285
377
316
293
333
283
268
279
307
328
379
355
330
278
326
378
282
387
360
259
345
329
301
311
328
319
296
294
321
306
351
260
278
268
298
327
299
273
278
251
346
374
246
412
191
263
327
414
353
316
431
391
288
319
348
316
371
370
326
317
295
387
311
294
253
238
290
279
334
321
305
226
326
312
297
252
356
345
328
307
259
345
358
294
371
375
323
337
349
280
305
220
394
371
367
263
412
318
359
364
298
336
257
278
386
298
338
314
356
299
314
311
361
249
320
337
345
265
335
344
290
359
282
245
366
366
261
255
387
296
368
345
278
298
383
289
310
240
319
306
394
259
221
351
350
360
324
335
253
336
353
288
325
399
355
344
290
400
316
193
369
273
378
345
296
255
384
358
292
301
346
354
325
268
351
365
383
384
320
324
356
352
378
356
263
300
399
305
282
262
206
316
316
323
354
261
326
361
394
202
299
201
355
250
308
281
323
332
356
331
247
341
307
309
333
249
360
371
380
364
375
319
324
358
272
227
295
306
379
294
316
268
248
306
329
232
305
307
307
294
239
395
343
247
298
292
268
261
402
310
305
302
323
346
362
314
344
342
298
253
299
281
294
351
284
401
341
342
296
294
373
360
350
394
379
294
303
281
322
323
247
272
300
300
270
335
397
327
332
327
371
262
302
327
262
326
318
300
309
321
319
333
321
254
292
270
305
280
357
355
303
365
210
324
354
283
357
367
274
319
258
342
322
374
352
353
285
361
271
272
316
322
385
392
295
311
327
308
339
267
284
374
338
367
267
258
319
303
328
257
322
296
325
196
331
353
288
291
340
290
296
288
311
273
297
311
365
273
316
315
236
281
284
295
400
323
334
320
280
360
266
298
332
358
348
289
373
299
354
315
264
322
223
422
246
205
404
392
389
292
343
342
338
387
332
204
284
321
305
315
267
263
370
262
350
404
299
366
298
255
291
331
275
359
269
306
312
297
340
338
370
341
340
198
342
349
383
284
355
283
278
341
375
308
268
284
388
220
264
296
246
332
311
304
322
295
285
334
322
247
318
327
286
334
362
303
308
384
291
346
350
317
338
304
304
287
341
279
319
325
249
312
288
329
237
298
290
366
260
219
289
283
362
306
325
245
311
204
396
322
374
302
256
304
290
277
312
311
255
273
285
287
344
227
301
368
262
331
323
350
410
296
307
271
397
326
257
341
296
288
300
249
237
345
337
292
338
331
327
399
362
353
276
316
360
335
301
339
405
331
279
364
345
251
236
307
305
285
259
273
376
421
405
315
273
289
311
301
418
316
391
278
332
292
342
269
324
284
358
242
242
338
321
275
317
268
329
257
269
333
324
303
298
271
310
303
305
343
286
371
304
278
337
349
325
295
358
295
369
328
286
288
282
310
238
265
281
361
356
376
272
319
329
287
342
344
306
344
331
261
331
245
321
384
325
288
302
315
331
351
343
344
273
266
243
312
326
383
371
330
352
278
310
349
265
285
332
246
251
280
302
314
299
345
370
271
296
292
364
316
279
352
384
263
344
287
328
322
301
352
342
205
349
201
274
336
252
317
301
435
405
338
298
256
363
368
416
277
308
293
266
308
307
313
296
309
373
314
286
350
329
316
333
296
278
288
253
322
268
383
322
332
355
331
333
339
370
370
334
289
305
314
351
294
301
301
355
258
286
286
277
313
347
275
321
385
305
232
339
281
348
381
352
298
293
345
299
310
405
340
423
349
382
356
288
368
337
370
347
316
381
350
318
317
363
324
345
317
385
350
318
319
339
278
337
288
383
322
361
205
358
366
280
344
327
303
298
336
262
228
305
254
308
276
375
378
289
302
268
283
317
273
310
296
325
282
281
276
292
298
323
249
273
295
285
402
302
370
377
241
258
331
286
312
363
344
314
286
354
344
342
406
414
298
279
295
388
345
318
309
374
303
282
336
391
264
287
265
385
347
352
279
363
311
398
314
366
356
241
329
380
271
257
239
360
255
414
361
307
355
348
356
226
360
293
303
266
324
336
377
316
298
366
238
319
282
296
348
313
369
290
264
355
377
286
345
320
283
376
388
278
390
344
292
286
295
298
329
321
312
271
304
346
275
300
283
327
398
338
369
352
348
318
408
372
311
254
369
345
382
283
232
273
389
289
295
311
296
344
382
322
302
309
382
216
334
255
343
309
335
323
346
314
287
249
333
314
291
365
346
316
293
265
377
320
314
267
350
281
274
303
379
282
312
369
274
249
386
368
277
321
341
262
270
314
379
323
331
206
318
351
358
330
294
313
320
273
343
346
293
348
332
296
337
323
328
349
335
262
303
328
313
294
263
366
247
282
271
326
307
254
304
203
352
324
347
308
324
281
283
340
312
380
267
292
364
225
312
355
348
362
295
329
340
353
332
299
304
255
265
292
267
234
232
293
299
269
363
344
305
279
324
300
226
363
369
264
275
312
370
394
394
340
293
254
320
287
265
363
339
333
297
298
378
287
338
308
255
312
249
381
340
329
372
300
343
275
315
359
271
245
327
384
286
324
363
297
361
268
302
277
337
319
300
373
304
293
227
277
269
339
352
293
173
256
307
343
282
254
275
348
362
270
315
315
359
311
318
327
380
277
301
291
247
262
417
272
259
380
314
303
340
271
297
357
206
308
314
322
345
301
394
368
315
339
289
326
253
278
332
331
376
254
211
321
303
327
317
333
242
260
347
326
374
251
301
258
329
322
339
246
242
348
335
330
235
277
338
256
376
357
333
332
351
422
306
307
272
411
316
277
316
250
342
369
254
328
377
246
261
407
327
267
314
335
348
302
259
328
257
421
298
365
289
325
355
366
325
303
289
282
366
257
346
334
352
286
305
290
337
323
377
315
298
322
312
292
262
245
276
333
272
316
211
295
343
311
367
352
383
312
342
241
299
310
331
255
310
350
253
270
379
371
342
295
335
258
299
315
288
285
303
366
271
283
311
335
341
314
356
323
417
372
370
354
346
337
315
374
261
309
333
316
287
244
324
309
312
334
293
310
292
379
356
338
298
377
276
333
333
324
272
276
298
312
296
329
312
351
289
374
399
303
292
324
293
216
326
315
273
257
336
295
247
309
384
316
309
365
322
311
245
276
331
235
394
341
346
363
334
366
314
308
360
330
316
376
333
318
318
291
299
305
316
296
313
320
401
318
337
303
318
298
383
270
277
330
269
329
372
342
322
323
312
394
427
358
377
297
295
280
365
329
340
302
369
266
174
397
269
323
391
284
335
301
356
322
311
310
373
386
312
399
312
327
335
335
347
391
320
299
370
311
377
398
270
346
293
289
274
400
396
305
281
345
217
281
285
288
289
310
336
255
334
276
243
341
254
318
351
328
326
344
297
272
276
314
240
277
316
314
387
351
395
244
329
268
335
212
371
243
376
368
318
330
332
266
352
327
302
244
297
381
327
313
258
391
333
325
349
331
375
312
324
285
331
269
324
336
389
315
280
242
316
336
324
315
330
375
321
317
388
367
313
363
319
267
329
303
337
354
286
367
297
327
311
358
378
330
196
278
385
347
295
268
342
247
330
286
329
307
284
343
261
293
331
300
303
323
247
320
313
331
257
297
321
352
382
252
345
312
345
362
299
302
357
401
287
398
257
277
287
282
328
306
294
277
300
332
309
312
286
259
311
309
361
397
326
295
295
325
296
386
312
294
335
256
350
180
317
357
400
264
317
344
317
273
315
315
292
356
287
290
388
413
233
305
359
197
334
266
345
235
281
315
396
249
279
273
273
290
324
357
329
286
413
285
312
284
349
287
354
253
378
293
348
401
363
344
358
310
268
290
271
346
314
251
336
293
333
285
367
313
377
224
355
290
299
258
293
304
278
324
259
284
407
302
315
339
303
341
274
283
330
276
312
285
342
370
371
421
333
316
255
368
300
287
285
244
282
383
338
322
365
324
357
328
352
360
303
334
379
325
282
354
415
390
346
279
341
247
344
351
326
302
348
326
285
323
286
274
279
306
291
341
287
269
284
301
249
451
326
290
283
286
401
275
286
298
319
397
289
332
275
314
400
291
363
328
270
265
396
242
366
305
338
244
249
354
220
377
254
406
273
295
356
360
363
318
349
320
267
295
313
389
284
341
339
279
313
320
299
380
334
272
326
265
252
294
363
335
273
314
329
276
357
306
255
351
362
348
266
355
293
326
317
309
342
307
309
378
341
289
337
297
368
348
324
360
346
255
334
388
276
388
310
341
296
273
251
352
318
338
295
247
224
317
292
301
338
278
293
343
355
299
347
266
337
285
337
302
325
376
302
369
302
288
248
231
292
324
327
349
308
349
252
342
353
325
316
318
435
371
288
381
361
372
284
340
384
234
296
389
258
361
386
279
355
300
297
279
241
335
281
292
390
315
294
355
359
360
333
334
283
341
339
311
310
333
332
224
321
289
254
313
241
274
331
232
273
341
264
282
226
274
301
288
293
333
300
279
248
225
354
345
311
365
214
305
360
321
266
278
337
310
317
323
380
296
391
421
407
310
362
310
235
199
286
355
283
317
356
358
329
375
316
305
360
339
360
313
283
329
263
313
325
329
253
290
287
296
261
401
303
348
334
292
277
357
348
336
353
319
241
329
308
266
317
322
309
334
320
368
281
324
251
349
253
329
306
414
320
273
370
260
284
283
349
356
308
336
305
276
323
347
283
295
359
319
312
315
300
370
257
300
261
301
297
369
389
294
410
236
264
326
290
354
288
303
370
346
345
323
350
317
347
351
319
314
362
255
353
332
371
235
305
390
323
324
343
268
258
335
254
309
334
317
395
317
267
346
344
248
412
330
257
254
307
319
313
266
334
292
300
294
337
378
344
293
261
381
290
279
290
362
326
321
318
343
276
327
375
254
335
297
293
297
208
305
255
311
307
294
292
266
252
312
253
274
320
315
353
317
365
273
309
343
253
384
370
313
340
355
323
282
316
278
287
358
353
359
315
321
334
315
319
275
348
228
195
339
274
284
293
343
291
330
335
336
388
254
334
302
327
339
304
377
215
236
299
316
284
334
352
372
354
362
318
335
363
349
279
240
285
318
284
349
383
259
293
341
231
314
262
321
257
358
312
305
298
221
355
309
262
376
299
339
207
352
200
279
367
317
343
300
369
275
300
302
346
323
328
269
312
362
327
315
372
293
294
278
412
339
317
343
303
288
385
355
351
285
351
359
295
285
329
323
309
307
298
283
370
331
366
272
248
274
260
276
318
313
366
401
206
299
369
326
294
295
362
220
312
356
345
340
269
387
286
312
293
287
351
282
351
386
322
294
340
314
356
400
366
416
351
351
364
323
304
317
339
351
313
410
343
355
327
374
299
337
335
253
340
368
298
300
338
328
316
276
378
312
302
368
313
281
383
298
339
338
387
258
278
272
347
318
345
342
229
266
323
264
301
369
282
299
312
277
335
298
351
303
291
273
291
392
255
332
315
352
306
276
221
276
310
288
352
346
327
235
348
431
296
363
358
354
314
305
313
293
289
323
332
318
399
314
216
298
308
291
311
293
302
289
358
335
352
351
286
261
333
377
302
224
381
329
384
310
341
297
273
293
342
315
296
316
232
401
246
271
358
288
265
321
381
271
322
251
301
277
355
307
298
330
277
305
344
292
287
223
271
340
356
269
321
279
372
296
353
298
260
370
357
226
277
251
264
333
275
316
345
300
274
386
312
304
306
297
320
378
324
362
259
304
337
319
286
264
368
268
330
360
304
315
365
305
363
267
290
330
292
352
274
297
364
266
359
333
289
281
265
310
377
266
343
397
316
289
329
292
341
391
371
323
303
313
331
312
277
273
331
360
213
236
367
262
239
314
353
223
374
278
289
264
305
312
386
342
319
250
334
403
327
333
328
304
295
379
324
341
324
255
297
322
358
333
332
267
266
387
302
305
277
369
325
330
286
363
313
283
375
344
391
298
326
348
320
389
403
273
334
350
242
306
258
286
235
246
315
360
283
406
288
371
309
371
245
361
262
324
331
327
327
293
323
308
387
359
265
326
368
384
304
269
302
298
303
335
326
271
317
280
264
240
291
220
272
271
308
299
332
317
397
247
272
350
305
297
359
355
322
343
274
323
343
305
282
297
296
345
340
302
332
341
315
373
292
284
383
343
328
336
367
398
282
289
324
289
290
260
246
255
316
420
346
268
418
316
280
310
272
318
316
279
375
278
282
392
261
222
351
270
326
326
330
309
288
411
393
319
280
383
323
293
350
374
362
358
327
296
202
423
289
307
341
337
359
264
242
244
341
329
378
346
307
243
374
222
274
358
336
330
257
324
320
357
343
313
303
361
329
329
364
255
379
319
282
304
264
246
362
304
319
338
261
332
293
380
260
293
290
344
428
331
250
290
386
271
345
433
372
329
314
281
323
321
296
398
300
414
339
305
315
339
271
309
322
330
316
295
296
313
333
317
308
257
296
358
349
283
342
339
323
264
372
336
314
259
311
327
379
303
324
291
332
243
268
377
306
360
391
340
277
385
222
315
317
254
341
310
384
342
360
373
258
271
309
369
387
293
346
280
261
357
329
365
302
243
242
272
355
286
298
320
348
303
313
351
239
342
376
293
299
388
376
350
288
282
352
354
360
346
249
318
252
252
246
233
342
292
298
286
305
329
251
345
318
305
282
297
365
305
298
313
360
276
323
333
337
310
277
324
359
288
340
257
320
300
260
306
279
387
280
313
346
320
312
187
353
326
273
380
327
359
319
305
340
314
272
307
348
313
314
370
282
348
349
393
364
283
320
304
281
321
358
297
283
269
324
321
343
298
307
325
329
252
385
253
291
354
318
381
285
310
288
268
388
306
254
373
293
352
363
354
246
308
396
389
333
284
315
249
275
373
269
323
362
350
320
255
411
356
279
309
287
337
283
388
334
321
286
304
312
303
352
286
375
291
321
262
347
379
347
328
295
322
368
400
319
355
371
330
355
353
359
338
321
417
308
295
333
305
328
340
304
315
363
408
374
359
298
321
273
292
307
293
357
296
261
327
346
283
329
270
271
291
252
278
271
303
308
359
365
228
351
260
362
368
307
335
318
315
323
258
194
301
385
262
251
405
303
351
396
301
419
341
345
263
275
277
315
307
313
379
289
350
279
267
288
231
337
283
250
361
347
394
353
303
361
318
262
287
241
346
369
342
349
386
256
320
330
333
328
355
352
296
308
278
410
237
295
345
381
307
316
355
356
295
285
331
319
316
294
329
288
339
272
324
352
351
319
327
288
344
287
353
318
396
404
285
334
326
289
393
281
283
372
321
292
358
352
252
376
250
370
314
329
288
267
211
319
299
310
320
298
326
225
325
279
267
276
364
343
307
353
337
339
298
218
298
382
328
321
276
305
343
236
348
273
245
301
271
340
383
303
342
290
350
305
295
325
371
330
265
413
370
334
259
352
314
293
330
309
365
318
364
392
414
269
279
325
319
296
268
290
351
265
307
333
361
323
365
264
344
314
276
355
355
278
261
347
215
368
310
320
251
334
241
450
333
322
281
372
303
331
311
300
270
381
264
339
342
240
292
289
276
356
298
264
255
328
325
348
301
329
311
272
337
336
367
364
363
300
346
299
302
312
312
302
359
322
306
416
385
308
432
390
216
380
314
310
295
259
252
278
266
308
325
385
253
259
357
285
342
206
324
258
286
330
331
256
336
353
302
359
317
345
280
267
209
385
309
338
356
188
314
358
336
288
284
303
308
335
303
312
295
424
280
338
293
208
326
256
159
259
265
396
309
320
309
295
338
310
314
281
356
322
244
363
303
324
240
336
382
373
232
353
317
353
267
325
355
216
251
384
299
334
256
247
356
304
307
274
293
216
318
335
284
340
283
356
391
279
306
272
295
311
330
404
284
327
249
326
370
377
327
360
330
365
360
386
298
304
259
314
371
379
269
278
354
340
260
327
311
230
223
273
237
351
307
286
315
314
300
295
274
346
337
350
291
345
340
331
327
380
291
312
295
345
300
336
331
292
289
251
379
300
313
275
249
234
318
338
261
296
355
322
359
263
335
331
305
340
275
321
281
306
229
331
307
260
373
329
333
326
303
280
289
305
323
225
275
224
371
306
288
254
299
262
273
381
274
188
266
286
354
350
310
282
341
350
376
335
273
356
387
263
339
292
225
241
221
310
257
372
323
352
328
308
377
273
314
370
360
284
328
241
407
272
290
292
379
389
315
295
433
274
286
282
268
346
364
274
247
274
310
294
363
307
256
224
327
267
345
233
350
292
290
353
438
273
374
295
235
317
375
360
266
266
318
310
342
386
258
302
303
331
363
277
249
327
340
360
340
282
344
387
319
250
311
311
293
387
310
301
347
346
263
234
357
314
314
286
374
320
265
283
282
297
300
359
334
309
259
207
362
353
265
306
324
369
291
240
267
291
243
292
366
306
275
278
373
232
231
237
302
345
247
259
417
369
384
322
341
311
305
287
382
354
236
320
399
275
278
398
251
316
413
321
333
353
317
295
399
321
315
221
205
355
376
308
272
291
259
281
312
236
279
315
292
271
311
369
297
316
246
238
427
397
326
305
297
367
208
276
308
324
300
329
253
323
290
244
350
261
278
377
300
339
324
417
324
241
257
261
349
282
337
361
382
346
279
311
323
327
237
274
413
359
353
268
402
306
345
313
340
381
324
338
407
354
325
314
312
314
331
303
299
276
348
343
279
375
271
303
324
365
269
312
333
341
323
234
270
365
378
345
330
265
297
239
345
280
285
350
309
359
321
344
265
389
331
269
339
242
221
280
355
325
231
350
211
357
343
283
302
309
283
305
316
371
324
300
312
265
328
265
284
265
363
310
319
349
256
353
338
267
353
355
341
316
326
251
295
214
318
330
271
377
264
334
360
329
256
322
348
374
311
308
307
281
335
304
465
351
269
389
305
396
382
209
311
267
316
320
318
356
343
296
364
280
303
335
366
324
347
290
267
353
393
265
287
252
380
297
320
332
305
322
261
319
317
356
389
343
306
254
349
251
264
236
336
403
344
308
352
329
279
358
336
263
258
378
308
303
254
274
328
274
313
278
334
334
286
276
320
374
363
294
328
316
303
288
219
407
343
296
303
342
252
365
344
315
351
365
307
291
297
293
353
329
311
364
320
289
359
327
223
275
310
377
355
245
274
358
393
350
280
335
298
293
348
379
284
352
365
324
353
361
296
353
322
319
359
283
356
297
323
344
296
315
262
337
304
250
315
337
305
207
237
379
329
307
263
377
367
374
394
295
277
319
295
349
320
289
333
420
396
216
338
378
315
361
282
212
360
267
373
314
269
354
348
346
277
397
331
224
292
345
281
298
383
281
255
317
302
389
299
328
262
347
294
350
334
350
283
335
332
330
289
382
341
304
352
370
275
322
281
367
307
273
333
262
309
286
324
316
356
245
366
311
321
339
328
278
348
362
323
238
330
292
338
385
342
405
357
287
245
307
354
357
345
264
313
296
334
315
309
301
310
408
356
329
299
374
355
364
378
369
292
340
333
279
317
209
328
265
272
263
296
399
338
305
346
320
343
325
294
264
289
319
310
349
272
316
300
386
367
272
296
273
333
300
295
308
309
342
374
328
297
342
318
303
325
223
334
312
282
233
389
335
313
245
196
362
310
341
350
267
332
336
338
293
304
306
259
341
232
321
305
405
276
379
300
283
348
327
243
290
391
308
308
306
277
272
290
352
316
318
352
294
306
224
324
320
389
274
293
276
331
263
299
378
296
324
411
338
266
354
298
381
319
377
257
336
320
371
427
238
345
265
322
295
289
298
265
297
256
339
330
298
358
317
276
344
255
305
400
406
285
254
384
360
331
318
288
279
268
292
282
240
370
309
354
300
325
344
396
325
365
333
360
234
319
259
318
313
321
316
370
321
309
312
282
318
299
283
244
283
313
290
367
359
329
328
352
304
333
263
380
284
364
332
322
308
380
252
284
239
360
324
277
309
301
362
326
306
331
273
294
331
303
365
254
368
277
332
235
333
433
303
262
288
314
299
338
362
405
341
276
285
413
335
333
262
271
315
461
351
332
260
305
317
269
272
355
360
418
291
263
241
355
242
254
304
363
406
272
289
320
320
379
309
226
319
312
365
323
339
315
273
368
313
276
319
272
358
328
276
347
273
347
297
301
368
314
273
231
339
274
286
284
395
351
353
331
288
319
315
346
357
264
364
394
307
266
289
267
298
345
296
381
317
309
311
331
413
397
376
243
355
353
251
362
358
403
312
310
316
303
308
325
338
315
343
297
383
308
321
320
354
308
313
274
395
231
265
314
349
368
369
310
311
290
349
253
350
347
278
384
377
290
403
335
311
317
339
305
347
350
420
406
271
323
325
368
389
377
323
268
244
311
330
251
296
296
344
280
302
293
329
389
316
286
289
340
302
250
338
417
257
245
388
385
317
327
285
361
318
323
329
331
343
269
359
262
174
355
288
341
346
371
314
319
325
320
306
297
297
329
337
257
332
274
335
175
270
386
353
324
338
233
279
352
270
351
312
273
300
342
274
448
358
392
324
308
368
273
345
307
336
310
347
240
292
275
337
325
302
285
358
338
355
298
313
293
316
280
261
294
269
310
371
282
245
307
301
327
339
297
300
334
327
279
424
345
246
295
263
342
373
346
304
357
291
291
310
362
359
343
263
333
261
337
369
249
278
305
360
231
244
293
280
233
311
274
382
299
327
315
232
368
364
269
249
390
327
350
283
355
263
326
309
265
381
339
374
324
301
249
292
367
370
334
317
322
283
301
281
262
276
305
277
241
330
346
309
230
368
356
299
306
268
281
375
307
291
360
334
359
353
226
253
297
262
265
252
375
334
275
245
324
310
332
294
358
304
359
287
391
279
252
187
311
316
343
324
296
303
386
287
326
281
305
330
301
238
337
290
306
340
356
294
364
345
307
269
382
343
340
276
335
280
371
273
260
284
345
365
395
348
345
285
305
368
284
374
277
344
329
302
313
311
176
331
289
335
264
380
296
305
255
337
347
337
285
378
308
335
324
282
379
274
224
382
299
313
281
319
382
296
335
304
338
320
224
270
328
342
321
337
397
362
368
339
266
393
294
327
254
370
333
343
302
318
252
343
303
365
261
335
398
314
293
300
311
336
279
283
357
322
337
242
248
304
275
349
319
321
358
307
404
253
305
303
249
342
386
312
415
327
314
334
409
399
298
314
331
241
281
387
283
242
270
312
368
275
332
349
262
353
355
379
282
281
336
319
300
336
297
322
291
282
276
305
253
297
260
316
365
370
312
327
284
326
298
385
334
313
216
323
279
262
348
353
330
188
349
345
345
309
349
275
230
353
378
350
343
363
336
341
337
328
318
335
339
305
282
274
336
288
317
254
404
248
301
416
299
313
244
370
327
389
243
307
363
396
284
334
261
262
239
314
295
319
351
246
327
378
428
306
229
223
344
242
252
314
341
380
381
300
380
363
310
274
295
409
270
323
244
338
326
333
322
286
344
315
281
355
337
310
388
364
249
338
331
386
297
337
331
280
334
262
364
339
272
321
286
370
288
322
318
240
287
355
356
213
286
318
322
214
236
370
295
345
346
368
379
428
276
328
313
345
334
371
291
323
280
386
406
268
327
272
327
256
352
285
294
301
337
241
348
281
298
357
414
309
247
333
366
424
261
376
365
310
343
347
339
294
343
287
302
297
265
298
291
295
311
284
361
319
390
288
247
353
342
336
341
360
302
295
282
358
354
394
215
397
276
336
362
290
426
388
307
329
387
349
341
322
309
358
246
245
228
361
216
287
339
272
346
354
247
280
312
337
307
342
296
311
358
332
246
299
222
318
290
321
295
336
320
292
385
423
299
346
257
368
227
341
316
212
375
312
248
316
324
381
286
324
334
403
328
308
242
306
295
307
353
351
270
403
338
223
232
300
329
314
329
352
303
319
250
283
254
295
341
308
353
314
226
295
333
320
218
304
327
334
283
254
311
278
305
313
339
268
246
300
401
326
342
388
303
309
268
276
366
230
207
334
284
276
313
410
271
362
296
374
345
412
259
440
325
301
306
255
272
298
217
311
333
265
270
310
432
310
273
319
268
328
331
297
295
366
271
250
306
413
353
314
355
378
263
197
281
302
311
307
341
359
345
282
266
302
262
270
270
344
363
327
335
377
304
251
301
292
307
230
293
326
273
304
302
236
333
223
292
323
278
296
361
359
339
245
268
341
288
409
348
316
332
332
278
302
349
287
310
316
256
352
363
357
401
335
354
237
237
336
302
310
374
243
304
353
302
332
292
265
319
280
351
301
335
275
203
284
323
260
327
270
342
337
317
312
344
240
337
376
329
316
267
285
324
281
298
332
270
328
209
324
330
320
344
333
301
305
365
277
338
333
328
393
333
294
390
346
306
377
321
347
304
314
366
381
298
338
291
309
376
369
325
230
402
293
270
233
324
314
225
291
299
260
278
249
390
342
336
306
363
359
332
287
257
253
274
268
288
333
325
274
307
326
351
360
340
334
280
267
268
340
324
269
350
396
319
290
304
263
310
272
297
291
303
394
270
317
384
362
302
319
277
273
354
322
299
361
348
426
315
261
347
254
301
296
335
323
367
362
384
283
345
319
308
344
328
376
365
261
287
369
236
339
334
311
366
245
248
308
317
267
310
268
331
272
278
348
285
266
277
331
263
358
340
333
330
354
311
297
345
291
331
290
393
284
335
373
277
324
286
403
243
269
354
354
275
303
380
340
325
279
356
257
314
307
364
225
383
349
405
389
337
306
300
349
298
254
319
323
253
361
351
317
387
284
301
361
337
269
250
358
368
278
320
236
265
283
295
297
338
297
291
336
323
277
356
311
289
330
229
226
322
294
295
344
356
284
287
362
258
291
361
368
287
347
331
311
327
308
301
239
283
342
314
290
279
326
281
332
274
318
287
288
280
266
395
313
331
265
357
304
317
325
334
372
337
337
294
387
253
337
323
348
219
421
335
300
295
314
364
261
295
454
335
364
241
418
323
313
313
369
369
263
328
305
326
299
323
296
302
335
307
238
367
384
278
299
275
359
368
348
281
327
389
332
310
298
377
299
309
372
343
320
299
246
309
335
310
320
320
322
303
372
309
348
280
235
277
336
273
308
243
259
237
271
282
346
258
400
344
341
351
274
343
258
265
327
361
338
384
314
305
206
329
289
273
336
367
376
357
363
293
295
259
313
282
259
340
373
357
315
384
309
304
251
259
394
310
364
304
213
365
383
298
300
249
286
298
343
387
320
348
268
365
330
367
336
370
319
266
293
376
354
243
197
310
285
392
336
290
342
228
396
290
302
286
271
263
316
392
282
203
364
339
335
321
308
240
296
304
325
379
374
249
305
255
233
280
255
287
299
293
349
316
387
326
363
303
369
261
416
405
397
321
381
324
311
390
228
311
294
322
310
313
286
407
229
236
292
275
195
371
275
303
377
303
310
289
206
369
307
318
370
266
312
331
287
296
324
364
320
325
267
325
285
293
349
271
222
320
358
283
287
308
405
326
417
314
363
384
299
243
296
281
321
287
294
350
394
330
328
330
251
343
358
317
304
334
407
293
382
401
333
323
307
311
328
326
267
334
302
358
323
357
352
314
316
354
242
277
316
358
335
338
330
284
313
295
360
352
324
289
300
238
295
315
298
333
323
306
361
363
336
327
230
263
314
377
391
290
276
293
303
296
249
378
320
305
248
360
309
286
356
302
252
233
328
297
343
296
310
322
423
377
280
252
375
274
248
308
325
386
386
353
249
241
306
339
301
382
394
299
391
249
292
325
340
336
324
323
323
340
262
290
303
281
257
342
284
306
368
309
348
334
340
332
258
309
367
332
340
296
347
203
285
323
329
298
314
316
274
275
274
315
384
312
289
273
280
359
330
306
358
295
296
246
250
344
250
317
358
255
268
291
303
331
400
314
333
274
317
343
286
315
249
253
329
259
360
324
399
308
282
343
290
369
356
302
307
240
275
304
234
288
316
329
339
312
267
207
456
293
291
320
281
353
351
337
337
344
299
300
276
291
311
310
249
320
351
270
261
211
321
373
298
345
384
242
238
296
403
328
395
275
300
245
313
357
341
311
363
349
252
356
336
296
226
350
318
365
393
294
280
344
332
415
339
375
286
386
258
336
342
352
328
345
399
263
391
288
310
337
181
364
265
305
304
217
323
312
317
246
297
254
220
298
245
290
338
325
253
288
227
330
317
287
271
308
331
365
343
312
341
332
235
309
321
268
285
312
211
338
326
334
321
324
284
311
279
311
295
360
356
311
294
269
343
263
274
334
351
316
324
388
374
380
375
204
399
308
308
310
289
295
319
362
279
303
252
310
248
301
201
350
285
393
397
339
328
358
326
389
388
327
288
373
331
390
385
425
351
394
269
304
350
315
256
257
327
367
281
339
265
216
220
299
260
323
300
236
316
327
382
308
324
372
300
367
354
338
235
356
278
382
324
395
283
333
284
407
308
338
371
261
325
262
255
368
302
401
276
379
314
285
281
367
382
244
302
325
295
373
233
297
299
367
408
360
328
288
299
321
318
301
304
355
301
284
354
348
353
376
339
321
213
299
404
357
345
391
327
331
283
379
328
264
376
225
196
313
307
324
214
338
377
358
296
288
341
257
312
239
261
270
347
384
413
356
377
330
391
354
292
346
334
320
239
346
234
250
258
362
358
382
257
270
328
262
327
359
346
308
352
364
288
380
285
288
274
322
275
383
203
316
229
233
279
273
306
332
371
339
289
272
261
347
304
309
296
323
300
249
342
353
335
261
353
390
350
336
360
412
293
334
360
366
330
323
270
278
301
315
312
293
246
292
277
328
339
328
328
323
270
324
301
283
356
333
274
274
297
341
287
368
355
324
325
239
387
332
365
308
340
296
295
301
244
344
301
264
329
235
322
294
319
303
334
284
242
269
312
279
362
315
344
361
331
411
246
347
270
319
359
316
342
299
385
357
311
327
341
332
385
285
275
337
347
280
307
302
312
317
319
282
362
211
376
283
282
235
323
352
309
264
365
316
361
297
272
332
304
266
389
361
436
395
323
378
313
355
241
304
303
309
320
313
376
343
305
328
225
276
333
338
291
247
230
317
270
282
286
281
318
274
307
302
300
282
345
267
303
332
285
282
334
205
265
258
335
290
324
328
312
305
336
336
354
296
308
321
287
377
243
349
274
260
322
287
351
328
292
363
325
315
337
254
331
405
265
322
322
354
330
264
280
356
331
319
278
300
271
329
369
373
337
363
334
260
325
294
193
347
328
252
324
286
315
348
288
303
382
323
302
393
314
311
294
264
254
326
311
238
333
300
290
294
331
282
359
235
254
326
295
338
340
342
289
343
313
321
287
334
297
322
324
299
292
329
383
298
263
288
281
252
256
299
348
350
296
295
328
329
358
298
256
311
313
285
335
349
340
306
322
266
237
290
300
349
375
290
277
274
279
335
302
350
256
269
321
293
361
290
264
338
297
324
252
379
294
352
380
361
311
385
330
268
320
358
343
251
279
231
322
265
233
313
307
301
265
413
243
371
302
291
331
276
317
314
345
317
308
327
430
362
312
379
266
283
320
346
325
272
276
291
244
323
290
234
290
398
342
309
321
261
353
341
336
398
317
196
206
309
328
338
312
244
299
303
286
325
345
263
331
337
235
280
297
329
359
412
289
341
314
353
343
325
419
284
349
311
310
333
277
266
295
284
346
339
292
237
200
346
323
367
320
339
337
316
315
311
330
318
336
331
326
377
423
386
351
269
279
343
339
339
267
294
343
345
245
304
355
373
302
367
273
350
310
310
269
294
259
306
273
381
241
249
316
299
272
330
367
371
371
244
321
232
282
318
342
296
322
289
302
243
300
338
268
340
368
353
250
292
296
272
421
323
255
319
266
328
298
309
323
354
383
333
398
306
257
310
283
334
302
321
242
269
282
239
311
327
230
251
327
305
326
298
192
319
210
316
342
292
341
374
396
317
300
282
302
357
353
254
301
308
376
330
356
301
343
299
331
324
331
377
320
255
303
312
294
299
376
263
271
231
349
283
311
390
241
310
343
269
341
328
312
287
373
299
322
342
270
312
308
315
328
343
296
366
157
278
364
310
329
368
338
274
284
261
279
269
364
352
310
312
315
330
360
269
281
246
318
310
277
280
293
277
308
369
350
336
378
295
343
279
313
320
329
272
424
308
365
323
350
340
328
290
373
295
275
334
309
308
332
327
297
223
299
336
282
366
352
377
337
336
312
265
296
322
261
253
346
299
391
218
262
297
263
241
239
313
334
364
286
339
249
275
323
361
351
244
326
278
318
317
267
344
309
349
300
341
335
329
274
332
291
261
170
293
274
336
369
352
242
290
345
357
324
316
356
208
339
305
343
304
287
234
195
321
338
372
371
325
329
306
326
390
246
302
301
332
391
296
264
281
279
350
304
324
349
362
387
326
367
320
356
229
317
391
316
306
286
221
282
308
310
359
330
293
350
258
375
289
302
295
274
316
225
336
298
366
349
356
270
300
317
295
320
362
306
245
323
281
324
305
353
243
295
283
321
319
413
303
279
337
303
300
362
315
242
289
276
287
304
291
299
269
332
335
266
296
329
210
323
334
327
305
323
354
316
338
251
290
351
223
282
304
283
240
342
265
242
339
424
286
285
289
322
317
290
347
291
342
325
344
277
337
417
296
368
387
306
313
258
302
261
257
300
343
268
286
377
327
276
258
293
318
235
291
358
358
236
372
364
358
279
272
368
381
350
365
379
336
361
285
403
338
345
349
295
340
391
336
225
346
301
356
252
324
362
334
336
358
304
291
300
291
380
366
311
248
243
289
326
272
349
305
365
346
328
225
340
272
310
329
337
305
373
319
272
338
319
274
279
313
353
284
394
328
303
314
284
349
307
282
328
326
251
307
273
319
309
212
260
334
279
313
352
346
291
302
343
399
349
331
341
333
291
356
406
351
287
296
239
375
295
216
361
357
347
310
325
357
305
309
270
350
319
269
304
309
301
282
380
283
312
320
230
326
363
282
316
306
315
273
263
238
332
377
359
314
290
351
292
270
309
377
299
367
340
378
367
304
379
260
260
265
321
330
305
220
351
330
340
303
381
254
239
250
275
317
277
198
307
330
161
219
301
320
320
350
293
297
318
397
247
385
220
358
345
315
339
327
442
304
286
331
354
338
374
350
345
352
365
198
265
383
319
323
359
372
380
402
293
239
355
334
294
271
329
293
291
352
344
315
301
356
290
309
271
400
304
365
336
392
320
405
311
290
406
225
344
263
250
337
340
276
310
312
306
326
303
342
340
272
306
331
348
321
289
272
307
371
362
334
313
355
372
242
342
331
351
312
285
262
352
285
326
285
276
334
423
340
343
316
356
380
329
278
351
414
260
343
352
288
374
302
335
334
328
342
345
325
338
270
390
349
326
392
315
362
324
299
258
338
368
247
277
288
304
303
305
346
261
351
326
320
292
386
299
327
339
300
385
295
350
293
354
399
282
258
365
249
274
356
226
394
318
383
285
375
281
283
324
238
255
333
278
407
260
294
323
332
319
292
347
264
343
258
372
318
232
324
292
275
377
421
306
298
347
373
271
312
320
283
329
245
331
416
361
308
265
325
277
400
357
247
355
317
313
341
373
362
338
277
388
302
297
249
329
272
281
248
256
302
274
357
414
390
340
308
217
280
325
319
323
271
355
403
293
325
307
287
303
346
258
323
239
383
306
310
325
340
338
301
321
289
304
287
339
346
316
247
329
311
298
310
319
328
281
377
354
305
276
214
361
301
254
294
373
285
314
287
313
272
352
289
304
336
282
344
254
266
236
320
307
322
331
278
318
308
374
308
289
307
425
355
297
357
247
262
271
318
344
341
283
356
400
363
216
300
283
299
365
322
342
316
304
278
359
336
319
330
361
329
262
269
290
336
273
349
345
229
312
322
334
332
327
332
302
337
299
293
369
385
295
306
342
308
365
321
250
358
395
326
292
277
265
238
334
289
358
325
241
272
345
364
314
310
344
344
415
361
281
349
251
335
290
266
245
311
276
301
280
351
252
402
303
301
294
249
331
300
372
298
332
226
308
312
330
347
267
281
394
271
366
331
387
302
354
336
370
335
282
306
317
397
223
353
304
262
334
381
274
410
272
313
305
324
286
336
306
263
297
263
362
232
271
269
271
256
342
317
373
347
275
346
297
310
320
301
274
269
344
334
287
366
298
343
233
346
260
310
345
326
285
271
324
309
297
338
314
308
302
285
320
284
281
368
303
312
325
332
346
283
318
245
380
303
353
343
291
331
345
362
290
278
323
319
351
307
310
289
319
290
315
349
307
323
323
331
322
308
338
280
309
345
383
370
332
236
264
275
329
281
286
385
305
333
342
277
282
306
221
351
356
287
256
274
250
333
286
249
332
321
292
341
328
253
264
337
314
292
279
337
287
289
301
258
379
303
229
327
332
393
279
314
334
259
340
368
376
327
329
358
348
292
300
330
256
328
345
407
320
359
300
330
324
336
317
363
298
284
361
256
363
334
320
317
327
325
351
290
295
290
320
298
331
306
294
328
376
436
315
221
234
291
288
271
393
359
294
294
349
390
262
389
277
255
281
313
322
350
325
309
300
316
338
334
328
253
316
420
270
312
292
306
253
322
305
303
313
301
407
389
299
328
288
301
302
284
408
316
358
255
328
290
345
357
351
318
345
334
319
296
375
323
247
388
268
183
314
263
333
349
280
370
288
309
358
277
321
319
300
281
349
317
361
237
303
367
399
201
344
353
242
263
349
310
285
353
277
303
356
326
324
372
389
313
315
286
321
293
366
292
320
289
243
258
269
282
318
294
345
391
335
273
326
277
308
320
309
265
237
323
356
369
312
267
282
275
303
405
373
284
298
349
239
340
223
390
290
316
315
327
327
375
338
383
274
361
307
341
367
370
403
397
356
329
296
368
323
321
298
281
351
319
264
318
269
265
343
285
282
193
398
299
412
272
223
296
370
364
324
345
322
334
329
272
332
383
297
353
348
302
409
301
300
358
344
313
342
297
325
304
226
327
276
346
319
273
266
279
295
334
293
297
310
281
215
332
305
339
261
340
288
320
358
401
274
274
331
257
310
285
362
322
276
287
354
318
319
332
374
379
287
376
247
320
350
341
427
282
316
380
261
269
373
309
291
362
324
284
228
303
295
333
278
307
273
261
295
292
313
341
232
269
296
375
283
319
308
275
299
303
261
324
253
273
327
306
289
215
288
385
315
280
274
232
320
287
343
394
304
289
303
291
345
319
301
380
329
340
313
404
358
297
278
292
327
422
284
362
378
335
354
278
341
348
305
364
334
301
330
415
348
360
300
314
340
335
244
283
201
343
341
278
364
324
343
349
309
335
279
326
303
336
341
367
325
330
373
308
375
194
321
339
282
296
335
280
331
312
400
326
335
337
298
221
326
238
283
370
368
269
250
327
368
368
397
286
331
321
244
349
384
315
355
328
356
308
271
269
368
310
276
348
415
346
355
313
278
294
344
289
333
327
357
316
300
323
365
328
318
367
307
241
335
355
284
326
251
317
265
316
379
360
306
279
308
352
274
298
301
279
331
249
317
257
371
259
366
327
281
284
281
300
268
317
222
324
319
332
314
363
386
327
254
361
334
333
285
289
255
340
292
377
320
344
306
345
307
302
318
296
219
345
377
254
304
312
352
288
348
303
411
347
368
314
372
300
339
294
264
270
396
307
322
329
271
261
377
371
292
265
273
357
251
373
412
325
306
304
307
345
220
325
321
315
327
344
217
224
233
371
323
353
309
323
343
413
362
381
334
372
260
349
346
277
281
251
317
378
285
278
321
346
353
182
176
341
333
243
318
330
277
373
404
306
382
301
251
269
343
363
308
348
289
275
357
410
367
341
349
349
337
299
302
234
255
337
364
307
366
409
355
218
385
323
348
242
283
334
259
334
316
341
288
344
340
303
324
364
314
334
319
290
337
261
392
287
274
295
260
350
348
307
309
350
300
314
255
385
270
357
345
315
299
261
295
310
334
349
372
227
346
298
294
293
328
323
374
268
309
235
304
339
327
277
361
363
345
401
294
308
369
333
281
387
249
329
335
275
287
271
317
313
255
261
320
323
285
281
251
360
404
310
293
398
331
250
348
273
346
411
349
325
227
335
337
328
327
371
332
344
349
355
332
357
284
320
302
335
302
349
324
290
315
329
267
315
352
405
278
369
298
366
310
297
326
343
320
336
312
302
388
337
320
319
308
295
263
322
297
362
314
349
308
287
332
296
354
332
389
364
282
258
352
381
318
239
350
329
338
227
307
340
370
299
347
298
380
285
229
332
370
360
297
370
307
232
327
382
332
373
364
350
305
321
312
292
322
382
298
316
289
371
267
367
314
349
281
256
291
324
283
390
277
294
363
261
353
408
355
318
306
292
313
333
288
360
347
319
180
357
324
277
337
363
257
276
339
342
336
383
312
276
401
322
357
289
348
378
399
373
237
301
322
216
319
341
303
395
343
291
251
258
335
252
221
325
371
332
265
276
357
279
327
249
309
290
235
321
206
291
305
246
312
320
297
321
278
372
369
292
281
223
299
281
335
271
270
321
367
365
304
169
244
262
361
227
371
288
362
338
337
315
259
307
350
368
209
365
218
333
318
363
293
420
296
319
363
309
322
352
274
283
333
292
333
293
288
292
309
264
328
365
245
261
257
309
300
272
323
291
341
369
319
294
355
278
294
374
272
284
356
261
271
318
218
332
274
333
257
278
273
292
223
303
342
246
323
246
289
313
311
297
382
351
294
340
304
314
301
356
305
288
292
264
328
285
268
395
258
308
295
367
305
352
284
276
314
398
386
347
377
336
298
325
356
343
283
328
294
324
327
293
278
325
302
304
225
343
319
313
329
298
253
377
296
329
315
347
282
373
306
379
331
301
299
283
297
299
287
261
328
270
342
370
270
405
329
262
364
305
369
361
350
298
309
288
275
358
323
233
286
376
338
317
363
273
325
320
298
292
239
319
314
298
248
367
265
321
249
325
373
251
328
263
272
364
272
304
357
309
276
347
374
328
312
315
313
282
242
231
340
383
257
275
303
369
380
344
300
268
310
279
328
263
312
403
318
327
305
358
327
225
340
305
306
361
379
353
278
318
409
358
385
322
316
282
329
308
344
357
323
266
236
338
322
281
321
309
360
164
279
301
322
233
308
263
283
334
380
307
295
315
299
340
327
301
337
375
383
373
265
305
342
230
321
283
307
321
339
312
351
220
261
372
264
346
296
242
251
325
240
312
328
390
293
310
315
270
289
317
338
310
319
292
322
304
270
302
351
335
302
335
271
333
294
368
299
378
281
328
317
330
335
298
283
385
295
214
332
337
303
374
323
331
276
308
326
262
361
324
192
261
340
280
291
329
314
324
345
356
320
285
405
309
391
378
290
402
257
351
317
357
377
262
291
342
303
239
355
324
337
259
243
248
312
418
297
358
195
274
363
336
224
283
306
366
313
284
337
296
349
361
341
313
295
261
287
325
302
338
244
320
312
340
308
271
302
257
353
331
320
195
355
368
298
373
209
312
352
328
253
366
332
302
356
305
352
282
358
274
412
332
390
372
304
307
326
298
391
310
293
228
389
273
275
314
366
322
265
407
232
339
295
273
366
305
387
331
311
274
342
267
277
382
293
246
271
337
283
379
366
366
234
327
309
287
340
299
349
317
295
290
328
369
344
312
370
342
359
338
363
353
334
376
346
292
305
430
319
337
306
434
374
288
337
349
365
304
318
337
263
332
245
280
325
244
310
334
275
306
381
386
291
355
386
302
337
315
203
294
250
323
275
341
375
287
310
321
322
324
318
370
268
253
329
278
278
355
325
231
315
371
369
332
317
265
288
339
364
274
323
311
312
174
287
341
304
262
269
339
355
326
304
319
342
330
277
347
267
337
300
318
191
278
326
348
327
286
253
346
330
320
269
283
261
323
339
302
233
334
337
278
331
298
390
393
310
354
295
370
263
325
340
306
360
223
326
279
251
313
353
370
340
349
299
279
296
375
352
330
278
328
344
386
319
280
374
333
293
271
335
291
327
276
317
274
264
315
343
357
301
333
302
261
299
282
321
293
346
320
302
309
303
313
227
391
352
318
321
280
339
323
354
272
323
252
348
312
393
297
361
291
322
275
333
373
330
305
304
259
259
348
287
267
373
367
239
269
238
251
302
364
327
292
259
274
289
353
289
316
332
284
311
354
321
322
335
288
263
309
289
319
377
412
220
265
373
350
332
321
293
340
356
369
354
303
378
284
332
219
351
299
378
345
257
317
278
340
431
293
391
324
299
265
374
316
273
319
331
339
280
357
360
292
392
423
345
261
404
274
359
271
339
326
392
281
314
309
272
385
299
321
375
282
217
333
333
304
237
304
323
284
235
281
277
334
305
396
335
305
339
252
266
310
253
307
357
382
332
272
338
318
392
298
410
297
269
276
289
352
325
243
314
318
315
325
299
297
283
319
232
290
316
281
358
349
297
278
367
295
261
385
358
246
360
376
324
365
260
315
301
332
345
311
310
303
296
317
282
297
323
284
325
244
367
311
319
318
289
294
309
269
260
292
316
275
285
324
381
350
355
363
328
262
307
346
380
210
246
297
400
313
268
367
355
362
346
334
295
299
356
255
363
339
336
342
372
343
346
358
298
293
383
271
282
323
222
327
308
296
343
344
326
300
337
254
289
354
279
312
300
283
230
326
386
287
345
377
317
417
352
254
416
328
322
365
334
296
247
299
346
374
301
309
376
358
264
307
320
331
311
247
285
283
362
279
337
308
370
198
348
341
314
287
341
229
354
269
361
342
301
345
354
360
319
322
364
286
363
273
291
298
301
314
358
360
283
286
295
344
227
274
301
254
374
330
269
294
325
308
304
285
303
316
253
301
364
389
319
305
283
308
357
246
305
242
395
349
220
340
295
345
304
312
288
234
249
295
309
236
356
313
347
333
376
335
315
415
305
262
296
348
315
293
330
346
329
279
265
256
338
234
269
335
352
254
251
249
308
314
326
304
285
276
330
296
333
281
289
365
286
295
258
345
358
329
321
275
280
379
267
327
333
405
303
288
342
296
334
296
334
326
344
336
232
307
269
338
290
329
331
276
371
264
316
353
317
304
304
278
280
299
304
231
233
293
327
281
371
347
321
308
327
297
306
287
365
312
245
330
300
273
319
356
363
326
315
325
253
261
305
309
304
351
353
318
360
329
345
295
405
373
370
398
418
334
289
265
334
283
217
360
204
305
261
277
353
318
358
259
261
292
348
253
261
360
285
400
276
321
300
302
340
317
354
332
314
318
326
302
357
379
405
340
226
326
425
344
320
400
340
300
276
306
238
282
393
286
360
270
310
372
282
307
323
360
370
295
328
262
313
285
372
340
313
302
275
411
357
310
342
382
329
314
287
391
381
302
278
338
316
269
340
321
357
257
274
220
343
294
336
258
327
374
291
292
318
367
323
223
356
282
302
327
354
331
348
276
325
337
303
253
351
283
334
324
301
299
289
254
360
244
342
394
177
385
246
346
256
310
226
386
295
361
239
273
280
346
314
367
311
242
284
340
294
274
431
375
294
345
370
377
395
343
308
377
212
320
325
252
266
316
327
271
320
273
349
280
282
314
310
392
321
308
385
356
216
274
347
316
338
335
326
266
278
255
323
308
342
289
301
285
298
292
322
294
274
287
386
366
315
317
302
317
330
327
378
368
341
278
304
315
327
274
222
275
263
338
388
285
383
323
267
294
389
362
301
194
327
287
286
304
300
312
367
282
251
286
237
342
337
357
328
306
296
296
355
264
252
262
323
339
282
407
322
370
304
266
358
316
260
342
364
377
288
395
251
358
287
382
295
303
298
350
360
353
304
311
253
213
321
282
304
341
292
335
319
332
319
319
322
251
340
285
334
353
316
328
376
266
308
317
232
219
363
311
315
384
267
298
317
353
344
384
317
304
283
311
412
268
355
265
296
292
298
320
340
342
332
400
349
361
296
330
407
314
316
307
253
383
362
281
397
362
367
315
364
315
310
286
247
293
321
309
361
287
282
278
331
310
253
397
338
277
278
311
316
306
308
292
302
358
313
284
256
297
357
243
311
353
337
329
271
231
424
289
279
401
280
235
290
291
288
304
266
354
264
270
201
298
336
300
251
307
364
287
311
257
339
218
338
305
344
324
213
226
311
327
376
328
370
322
365
340
300
317
282
339
307
357
271
295
260
353
306
312
378
371
271
283
277
284
317
300
200
366
225
376
319
296
313
298
343
311
296
323
292
328
221
318
402
284
314
320
304
382
384
230
330
294
322
391
337
297
308
276
328
345
309
239
283
322
290
304
333
337
352
308
291
330
353
322
221
312
267
278
340
288
267
241
349
262
317
383
390
367
365
399
389
274
335
328
327
259
232
311
405
333
332
281
338
253
299
306
276
329
281
286
353
303
324
411
358
319
325
378
345
313
331
282
307
344
347
321
341
291
252
261
246
335
301
356
277
248
317
282
343
280
281
224
237
261
286
306
348
360
300
385
338
317
334
330
411
272
325
255
284
334
419
284
309
385
341
303
270
399
225
365
249
352
263
367
274
375
387
244
304
326
288
322
286
259
313
318
386
332
335
310
329
351
353
281
311
332
290
296
312
360
292
274
282
275
356
250
350
289
331
298
327
279
397
303
223
333
349
364
275
298
273
319
341
293
266
327
306
340
261
228
331
405
196
278
256
240
333
404
365
254
323
295
317
310
314
283
370
298
261
348
324
302
311
338
227
346
308
217
368
339
287
331
332
318
295
382
354
311
337
287
357
273
225
296
328
286
357
322
397
341
262
356
353
369
333
286
238
258
337
328
315
368
302
322
334
327
313
352
315
349
384
303
307
345
236
302
380
345
276
300
320
349
349
340
286
274
244
259
349
364
223
272
205
236
328
346
313
242
321
348
192
212
305
308
355
277
350
288
291
353
350
310
286
191
317
356
317
351
332
289
372
314
329
339
325
272
371
285
323
349
364
336
343
352
360
351
273
311
301
346
292
275
367
260
245
301
382
342
303
405
268
284
339
336
357
339
302
249
347
303
316
378
241
255
344
308
307
310
302
392
414
289
348
366
325
332
317
252
326
380
329
348
304
334
260
364
361
298
249
409
311
291
310
294
256
310
334
299
313
273
233
335
335
258
295
296
337
277
332
310
229
302
280
247
274
349
386
368
291
314
177
366
337
378
293
283
275
328
312
352
364
306
389
381
366
361
335
249
370
466
245
300
243
255
327
248
220
361
307
279
312
420
279
304
318
255
415
249
318
314
221
258
329
286
350
388
344
327
331
256
331
332
314
264
356
349
349
343
344
266
344
279
362
282
304
310
233
348
315
320
312
315
273
356
357
296
250
284
288
246
387
268
315
344
275
269
227
270
367
313
337
332
285
325
272
347
318
331
294
363
200
373
298
302
373
367
339
293
291
343
308
299
363
326
341
310
295
290
360
276
289
341
246
352
343
363
307
217
337
282
255
285
308
332
272
354
323
203
366
350
408
383
327
364
313
292
330
431
291
344
383
275
415
281
294
251
340
375
318
367
323
285
338
359
309
285
328
341
253
300
322
297
275
359
303
245
365
370
315
299
319
320
362
304
307
368
266
296
269
303
379
297
355
299
332
306
263
261
346
317
363
373
251
265
353
276
299
355
344
343
348
355
309
274
238
337
336
289
367
313
330
334
235
347
369
265
341
287
270
342
383
224
341
340
324
259
314
300
259
319
296
308
295
328
273
349
263
235
346
206
278
405
309
364
244
233
436
292
250
336
396
303
205
334
347
375
348
337
355
331
329
333
299
316
333
331
284
382
340
354
220
259
305
300
294
348
306
322
365
376
314
374
407
274
226
238
339
346
401
304
348
289
233
307
340
237
341
349
321
403
386
393
358
225
365
245
325
343
268
276
311
357
349
327
325
248
259
389
333
332
262
314
290
299
327
316
436
316
344
305
352
345
329
347
321
339
256
336
248
299
253
339
307
320
258
295
292
216
227
283
342
298
301
281
353
302
306
275
349
263
276
329
360
321
272
346
291
326
340
385
324
254
334
334
256
322
349
346
350
304
323
318
327
271
290
335
324
303
240
285
332
332
237
233
338
227
394
366
307
334
308
274
323
232
262
286
386
360
297
318
276
275
310
294
280
353
378
217
317
319
281
321
280
350
261
372
306
395
318
343
262
275
329
280
308
298
296
294
313
278
354
342
291
285
381
321
241
332
237
368
259
361
334
254
360
278
236
416
333
384
282
334
371
321
273
250
290
285
397
400
309
309
337
326
329
276
288
291
370
230
308
236
389
273
346
308
260
273
219
294
268
280
313
376
288
272
289
325
236
272
326
264
248
339
356
359
207
305
314
305
217
349
233
317
336
252
328
318
324
306
337
289
403
306
339
297
344
279
304
280
315
306
352
394
263
380
389
340
291
352
275
318
299
332
339
258
345
317
320
208
317
403
226
358
326
301
354
340
313
299
300
300
361
406
212
349
331
271
280
274
339
290
348
302
307
280
197
406
332
330
253
363
353
283
344
329
301
325
430
287
333
327
359
358
301
268
432
316
414
288
314
265
291
373
323
325
285
304
285
328
308
266
292
281
312
360
353
294
229
268
314
204
332
325
250
256
279
322
268
319
286
314
280
331
323
279
338
233
358
337
315
218
298
323
351
296
354
380
299
285
313
245
235
338
338
248
357
378
307
316
305
321
227
278
381
267
340
325
286
218
386
377
279
331
340
364
278
332
241
334
270
341
332
333
385
328
354
278
341
373
369
374
439
347
356
379
383
360
309
301
330
329
323
379
311
368
314
322
256
252
362
306
361
396
340
306
363
307
303
252
306
327
213
307
298
314
287
324
342
288
305
288
328
285
411
288
267
332
291
390
307
233
306
370
391
306
297
376
310
364
292
317
383
297
288
284
314
269
356
280
396
305
332
324
287
250
284
285
345
294
283
348
378
317
355
240
282
353
349
307
276
267
305
342
387
297
262
268
364
233
216
347
260
308
275
276
304
323
266
315
320
371
313
306
353
309
280
315
344
318
320
250
329
315
331
267
282
268
241
252
302
349
255
316
243
230
287
308
330
282
349
315
302
344
392
336
304
320
299
353
293
268
331
308
343
346
219
278
340
363
294
371
363
288
304
357
328
344
369
407
348
319
274
223
356
331
346
211
400
303
265
318
278
334
238
349
306
288
345
349
307
328
350
281
371
314
313
283
256
366
320
366
283
328
249
336
256
342
318
264
297
238
325
329
320
330
293
349
403
311
361
358
309
314
329
336
195
313
360
262
254
319
258
318
243
326
284
287
288
324
394
372
284
286
301
398
305
410
330
251
295
303
371
311
312
295
246
252
365
278
334
302
297
255
336
345
280
252
302
345
320
379
359
334
377
379
278
399
398
361
284
252
362
344
344
337
297
311
279
279
375
275
325
328
306
299
286
305
349
360
290
317
306
318
344
351
350
276
331
318
255
202
305
364
295
315
396
341
353
285
268
357
248
236
366
330
249
199
232
307
304
327
350
306
313
291
350
338
220
426
288
366
358
306
350
340
355
356
252
279
327
368
267
364
298
312
389
353
335
299
283
317
253
295
333
352
381
253
218
331
342
329
306
292
290
277
296
353
361
363
304
362
343
228
310
361
341
239
304
306
324
278
310
343
278
271
346
289
345
300
315
341
355
248
240
375
343
303
339
349
243
241
373
297
299
251
361
287
315
271
304
327
306
386
314
270
328
388
346
321
265
237
279
323
311
378
278
300
386
306
360
372
326
297
244
321
360
319
270
235
312
276
323
302
326
255
364
244
395
271
378
335
357
288
292
256
272
367
331
376
325
329
387
223
276
266
311
319
231
320
377
301
222
306
334
354
295
347
325
377
356
231
302
280
375
312
338
259
297
265
317
360
330
315
229
352
265
362
294
339
277
251
381
298
394
296
320
338
367
182
304
315
242
314
285
324
298
261
339
337
349
320
326
321
291
283
204
338
274
310
301
270
298
315
265
345
365
329
204
312
351
285
252
321
261
331
324
311
254
284
302
361
297
240
326
220
354
355
354
268
328
268
375
318
290
323
295
325
289
289
301
349
304
370
360
355
383
310
340
370
357
326
392
251
265
261
293
342
293
319
310
317
382
297
299
283
288
394
246
316
405
410
325
318
278
367
287
310
339
378
306
357
265
375
404
330
265
267
247
313
337
261
311
377
275
298
377
307
348
336
365
347
282
294
336
261
322
258
159
375
362
326
298
368
317
302
256
262
403
283
350
383
354
335
326
283
321
316
317
355
327
295
317
357
273
384
276
353
283
343
349
313
375
331
371
319
339
396
316
272
321
302
337
318
326
312
333
264
272
354
321
311
264
358
364
310
240
244
344
378
346
273
318
381
332
339
364
404
341
309
328
327
389
369
302
306
243
287
266
309
288
310
255
374
280
271
292
294
421
314
333
239
318
337
247
339
303
370
302
338
231
274
345
331
327
269
259
270
244
340
375
330
351
376
306
324
235
314
327
331
348
335
272
304
288
255
376
302
346
261
375
341
288
253
281
315
308
268
377
334
295
377
326
337
308
357
362
281
349
282
285
354
274
278
283
342
292
299
344
314
326
372
342
240
332
385
282
303
336
353
378
355
335
309
310
284
274
297
350
306
352
313
378
373
349
371
325
255
324
361
294
355
422
315
352
311
229
340
270
320
342
239
300
302
373
324
339
370
273
245
246
338
242
294
324
340
317
276
268
273
316
308
251
364
312
297
214
304
224
352
376
297
302
340
381
276
354
388
265
327
310
338
333
379
196
335
347
384
365
338
310
227
265
224
377
311
452
325
249
285
350
357
289
303
310
292
381
363
313
257
372
365
324
340
263
257
369
350
324
299
291
355
360
187
285
259
271
295
385
225
322
286
277
276
364
303
284
316
354
202
267
222
409
205
289
309
293
433
300
360
381
355
337
298
310
286
267
266
211
251
327
312
284
291
282
277
291
300
428
297
320
386
248
315
290
235
285
333
284
280
357
278
269
305
300
328
303
369
316
364
310
422
401
423
256
306
316
293
304
242
286
309
347
260
306
327
278
319
307
277
279
302
343
347
297
388
284
352
338
226
338
282
289
364
387
278
338
369
421
231
355
345
333
350
372
381
302
296
237
323
256
336
313
307
348
380
298
322
200
209
374
369
357
302
408
316
301
309
335
393
281
364
316
393
236
358
253
374
381
390
276
351
349
349
281
368
278
314
336
256
232
302
292
278
272
308
410
316
309
285
340
350
319
219
371
328
339
301
330
350
257
286
257
262
315
392
347
289
351
303
379
351
329
335
337
290
321
264
342
337
325
305
346
237
275
261
308
343
400
341
313
306
349
272
320
333
248
330
320
383
387
380
309
355
322
270
374
378
369
361
316
287
314
241
363
335
355
385
307
346
364
307
333
368
360
351
344
295
277
346
309
331
349
298
309
307
310
371
290
224
280
294
300
343
364
275
296
244
403
332
289
317
294
305
285
341
331
299
313
347
336
252
376
303
292
271
316
298
346
286
304
398
383
373
244
199
290
272
289
330
344
411
341
289
275
303
427
330
297
354
294
340
255
321
390
290
266
294
341
331
332
273
314
328
336
296
304
288
293
375
311
291
387
297
361
330
349
294
263
345
251
308
368
384
362
323
313
437
364
272
259
247
360
330
327
399
290
273
338
278
201
359
282
259
288
333
310
315
249
318
394
281
209
387
355
337
394
269
307
326
246
406
321
298
265
262
337
392
295
359
254
264
282
355
241
325
349
352
300
275
270
268
365
389
311
274
366
267
290
285
311
267
361
296
270
243
340
275
357
309
286
257
244
253
315
334
230
275
293
353
346
323
305
285
351
288
289
312
238
383
322
287
253
303
410
328
306
221
247
342
297
303
370
306
318
277
361
330
274
396
344
370
261
221
303
417
384
334
298
337
353
318
277
308
279
413
313
383
259
348
275
314
321
365
285
359
249
284
414
363
298
286
331
296
382
423
353
332
344
380
315
305
303
292
302
362
320
276
326
410
297
265
354
314
268
343
362
315
320
314
269
275
417
247
311
284
331
372
322
360
394
323
248
332
323
280
373
284
264
284
351
238
323
315
273
305
251
296
319
327
360
277
325
245
299
306
259
297
337
334
355
343
314
376
326
264
374
309
326
311
336
365
359
340
310
305
355
258
350
263
286
345
399
374
220
312
311
321
222
359
273
318
258
267
288
318
312
304
342
386
310
245
306
346
331
325
297
261
300
210
363
237
304
342
337
346
392
305
305
355
231
333
320
221
313
306
380
262
361
331
271
332
299
226
189
302
351
288
307
313
328
301
276
281
264
308
384
311
298
259
268
283
311
256
307
217
291
175
286
310
290
273
310
304
271
268
278
286
301
324
331
283
329
327
298
253
351
341
334
309
419
316
310
369
266
277
309
385
308
237
224
305
384
296
341
335
339
373
301
353
353
352
294
350
323
307
330
344
294
387
199
336
262
227
290
298
295
331
277
352
353
352
232
391
332
288
316
342
294
269
252
321
273
308
233
350
261
383
298
367
285
337
285
265
300
296
331
261
374
257
375
383
290
318
299
394
260
280
291
410
304
247
252
369
251
353
359
260
293
302
321
317
296
295
330
328
288
277
327
307
345
312
355
354
275
328
375
300
322
264
350
299
374
282
326
247
337
289
297
333
226
355
308
216
389
276
365
273
221
352
356
386
346
285
281
309
344
317
302
284
324
223
348
371
289
249
301
318
329
267
235
323
273
344
357
302
356
224
337
331
340
373
288
246
268
298
321
351
301
272
326
463
354
275
247
256
385
314
317
279
333
283
298
257
248
361
265
330
270
376
328
337
281
319
238
365
241
286
324
281
294
292
288
343
293
363
272
238
353
262
284
305
265
291
315
324
426
340
284
321
277
313
342
332
365
362
278
314
318
385
319
209
317
348
260
371
336
297
388
304
309
305
313
338
340
331
324
325
312
348
330
335
328
317
253
386
194
358
297
334
267
331
267
299
309
290
271
359
319
291
239
307
244
262
380
313
286
293
300
358
189
359
280
313
285
354
332
294
330
317
317
376
341
324
302
348
290
283
309
310
311
357
399
214
290
251
373
323
380
301
341
315
280
267
401
269
289
349
368
269
317
327
349
370
270
387
316
225
285
343
325
347
336
223
324
332
290
344
283
360
258
351
375
269
290
347
353
340
295
368
341
346
246
368
318
337
300
316
284
338
344
327
364
374
273
325
325
270
313
330
309
375
318
288
328
285
231
306
259
307
370
407
336
338
362
274
328
291
379
400
325
396
329
351
279
303
343
372
276
322
290
307
321
385
292
258
403
268
271
264
322
274
260
318
377
361
415
342
250
365
344
325
302
349
319
372
374
274
414
329
269
225
176
293
321
374
342
308
297
334
360
277
217
295
368
325
273
331
317
257
309
286
261
317
267
253
259
409
321
275
381
357
399
293
331
386
382
308
329
251
324
199
304
245
269
362
243
298
304
268
350
376
334
309
381
357
314
246
321
320
406
370
373
286
315
322
261
165
265
337
275
269
380
331
322
374
357
345
377
290
285
273
327
347
297
355
341
351
386
363
337
396
380
299
319
346
400
284
384
255
266
233
371
333
322
353
314
300
343
284
315
350
295
305
279
335
316
278
303
249
304
291
374
301
300
331
293
322
317
278
337
223
308
326
336
223
282
316
215
310
294
287
339
314
254
325
383
278
305
391
302
400
231
288
427
280
318
424
246
313
221
359
290
324
358
247
360
334
323
290
336
311
370
281
352
256
289
277
283
317
336
285
280
300
288
275
258
272
254
284
218
262
391
334
216
322
351
335
318
343
323
329
279
234
321
351
291
223
359
232
306
334
308
235
252
279
339
247
290
309
260
247
359
330
264
302
238
402
359
265
325
225
346
303
303
366
283
305
428
362
332
341
323
320
350
239
280
362
370
225
355
314
303
258
396
377
315
350
379
303
339
323
256
334
341
269
286
351
296
375
368
303
290
315
333
364
374
266
343
268
335
349
253
289
314
250
318
255
350
277
320
312
362
335
389
368
311
359
276
280
346
348
312
300
257
318
345
323
329
301
454
292
342
348
327
286
330
302
341
345
376
377
258
275
222
356
328
303
405
275
280
333
261
294
350
298
362
271
255
354
387
387
291
350
329
274
376
246
221
316
339
306
351
242
308
331
355
293
348
285
300
306
286
287
313
289
357
320
329
285
271
313
236
373
324
291
421
302
369
331
266
343
213
301
280
366
393
265
324
355
293
358
315
353
308
307
403
230
335
262
215
380
382
339
381
295
309
309
306
354
233
269
395
298
294
362
333
304
288
246
295
233
303
334
269
313
304
285
362
414
388
293
357
325
336
338
345
361
185
314
295
235
308
308
362
332
323
292
340
371
337
288
284
247
285
334
314
318
342
213
339
344
370
358
297
330
307
321
259
380
364
310
359
321
303
314
328
331
324
295
325
242
353
289
246
346
287
343
285
341
285
356
307
370
240
275
297
326
341
330
291
266
332
305
192
422
327
333
286
277
306
300
334
323
327
356
290
350
377
349
273
352
372
312
307
285
330
294
259
286
329
353
347
300
349
328
295
431
272
272
272
286
275
298
325
289
374
302
335
347
253
246
366
302
311
370
355
354
267
354
343
295
321
382
363
297
305
311
281
381
235
309
320
337
357
309
311
318
348
317
347
346
344
274
241
303
319
313
321
273
313
281
318
315
312
347
330
264
333
402
345
275
365
198
348
273
320
362
305
326
357
340
271
304
337
336
298
349
390
294
338
322
259
337
373
319
382
308
269
349
315
325
307
250
355
334
325
402
303
388
317
376
327
334
292
244
269
284
307
288
293
307
333
219
277
366
316
392
347
270
245
238
320
183
284
331
400
253
262
363
269
295
316
299
315
293
294
298
286
329
278
259
305
340
323
311
271
368
303
340
283
310
392
284
335
346
348
265
257
311
290
319
345
357
393
309
297
357
342
334
288
324
354
383
282
341
240
323
301
220
362
299
304
313
338
310
346
375
329
283
333
320
294
361
263
335
305
336
335
268
354
179
299
352
380
346
217
324
301
352
398
373
279
378
334
305
317
353
397
355
330
196
304
258
279
345
343
220
308
292
348
288
291
283
328
221
381
284
357
300
310
350
305
328
281
324
321
349
273
271
370
342
261
361
345
291
367
305
307
319
378
292
314
306
307
322
295
276
282
259
320
313
369
267
387
227
351
320
306
278
243
313
330
329
261
284
374
206
308
258
342
285
302
324
359
381
347
248
355
372
333
365
362
305
305
299
393
337
296
367
293
324
337
303
312
346
328
242
323
303
324
242
292
258
345
356
278
322
316
364
326
285
349
282
323
351
288
305
372
256
325
278
336
321
291
286
338
356
367
342
297
323
392
266
199
335
267
308
325
284
324
353
368
234
310
327
379
376
342
331
325
270
309
314
310
303
318
312
354
283
229
300
308
338
350
364
329
267
374
325
361
311
309
265
346
300
325
250
410
359
327
261
354
296
372
373
344
253
253
316
380
413
281
264
320
255
302
357
259
367
303
267
320
313
300
316
419
353
271
274
406
311
349
424
253
320
340
397
354
308
366
307
284
304
291
295
296
318
301
264
321
326
357
308
276
344
346
395
334
292
295
292
387
316
345
259
280
373
294
303
368
313
251
364
292
318
266
356
285
230
287
333
275
256
379
355
313
291
370
412
339
339
303
304
204
362
277
269
319
282
325
294
200
262
338
384
326
360
304
308
328
342
313
318
374
316
282
352
320
347
357
342
278
345
390
376
340
311
331
342
294
320
294
335
301
314
368
259
363
306
283
258
353
321
404
291
274
328
322
308
362
379
234
261
413
317
371
279
347
338
341
375
342
330
328
382
205
337
333
256
328
294
322
342
314
355
311
348
295
302
214
401
242
312
297
286
291
257
269
347
369
310
278
366
255
339
301
353
267
327
283
351
270
332
348
266
303
286
327
248
289
233
296
324
332
256
356
289
369
333
344
342
237
302
284
312
318
301
315
372
312
292
239
319
298
277
305
332
426
392
300
355
308
187
314
347
271
287
303
332
355
283
339
271
289
341
337
349
279
353
297
333
383
431
253
312
242
391
437
313
374
300
282
265
387
278
414
331
291
345
267
352
382
248
309
324
272
304
305
321
305
302
285
333
370
262
330
319
320
346
243
203
298
315
336
364
340
376
269
314
393
341
351
301
275
346
235
246
375
304
330
275
267
287
260
305
303
312
343
288
359
271
393
423
344
330
334
276
211
320
317
253
302
228
315
251
354
321
327
347
285
277
405
277
367
312
326
267
367
272
355
264
327
350
312
271
343
328
361
306
309
299
273
259
337
329
298
370
307
385
383
295
334
320
296
289
336
286
295
314
377
306
284
369
328
318
287
262
337
354
390
369
318
315
330
386
307
284
191
370
248
311
317
413
287
371
265
305
248
346
236
286
290
315
395
322
355
320
268
365
215
271
387
405
265
297
335
413
372
298
258
291
343
326
278
288
311
236
298
309
318
295
246
310
337
247
329
227
326
304
330
256
313
315
355
327
323
319
282
373
334
329
360
298
310
350
304
362
397
275
420
323
333
299
337
318
335
306
301
329
369
347
313
263
337
254
328
389
270
303
383
357
299
372
324
324
288
337
247
340
237
337
381
283
296
281
322
306
303
315
402
371
320
284
321
265
316
277
321
312
316
346
318
366
360
208
382
323
351
372
329
270
302
331
388
325
283
348
300
324
260
315
279
300
255
379
316
260
161
315
375
289
354
337
280
302
327
339
279
300
298
293
339
407
303
337
266
278
246
352
219
294
350
312
224
321
331
412
355
345
254
331
318
226
372
315
376
315
273
302
312
338
348
260
330
278
324
301
354
339
290
403
293
305
345
368
324
390
396
264
367
296
376
309
351
283
352
337
240
343
317
401
352
358
382
244
248
265
343
284
294
311
297
243
425
280
319
361
269
319
360
252
292
339
334
290
327
395
360
355
341
353
376
272
352
204
350
297
331
318
356
408
335
355
254
267
388
371
370
304
223
284
300
259
280
406
310
310
383
318
306
385
362
318
355
323
369
280
244
373
215
325
236
360
365
328
282
297
347
251
404
329
368
316
313
311
374
247
267
410
309
346
361
284
279
302
310
251
353
302
309
337
373
388
330
371
333
283
271
318
380
383
342
322
223
348
311
398
325
249
357
349
365
300
314
228
260
333
306
295
384
274
351
288
292
348
320
358
316
281
298
370
327
357
240
323
330
325
330
242
364
325
376
297
321
330
338
311
341
335
361
362
318
308
331
235
348
246
285
308
232
324
322
311
331
355
345
280
294
313
334
366
316
316
352
337
257
322
239
369
309
311
278
329
219
300
378
252
315
297
375
292
316
265
373
375
305
326
382
324
263
325
299
241
283
383
313
338
317
266
340
311
330
348
359
326
371
287
390
258
316
346
285
250
264
328
295
389
329
314
293
278
265
267
307
268
253
329
297
335
294
306
276
370
327
297
277
299
341
363
316
270
332
349
381
330
358
342
275
287
356
323
341
319
378
363
352
368
285
255
257
361
263
337
284
420
378
354
323
310
293
265
320
290
357
317
272
288
330
346
386
344
346
328
286
336
400
362
236
247
358
307
326
331
341
375
331
268
267
377
298
280
288
270
309
291
309
327
249
377
282
333
296
226
343
302
320
243
279
324
307
270
359
301
343
292
335
328
345
364
256
334
308
393
310
302
221
408
301
344
343
357
309
319
301
305
312
274
288
298
286
352
337
280
283
279
405
286
322
306
361
363
324
309
303
354
312
284
267
376
316
338
373
319
322
267
327
327
391
341
295
311
366
352
292
331
283
274
277
300
258
277
370
292
290
260
313
265
380
399
306
326
314
354
320
288
406
358
294
275
269
328
372
297
302
255
377
357
333
349
344
258
312
320
277
313
347
284
313
315
353
265
309
332
325
305
351
303
303
349
303
241
366
301
380
318
274
256
283
344
356
304
272
338
402
307
192
358
374
366
311
299
343
274
234
304
367
363
292
331
321
334
267
358
299
319
309
326
224
324
320
300
239
328
358
384
269
369
318
347
271
278
322
281
322
326
329
362
367
252
280
269
298
358
309
387
330
308
278
239
276
235
400
328
310
373
251
342
338
366
319
386
347
278
323
331
252
236
330
381
375
233
264
304
297
345
372
301
243
329
396
244
360
374
337
350
391
296
273
334
292
370
287
265
325
337
351
278
344
331
330
307
286
302
312
249
297
382
310
367
266
316
374
319
275
288
358
268
339
308
223
355
387
263
285
329
377
272
291
273
282
357
246
351
254
387
301
308
332
287
335
358
413
332
287
318
270
360
296
319
355
300
304
369
288
279
315
302
339
323
306
192
295
288
321
304
293
324
305
357
293
299
296
251
283
294
318
282
332
330
370
322
315
350
385
278
333
323
396
334
327
327
351
338
331
338
371
359
272
277
355
290
332
369
326
306
366
411
288
313
348
310
265
284
278
263
302
346
369
321
254
327
280
353
347
312
316
284
336
326
365
315
416
380
316
333
303
377
327
330
251
299
383
211
343
303
286
333
289
346
320
309
291
326
362
285
292
364
265
327
283
372
331
264
332
232
313
317
275
311
314
353
360
360
328
362
270
308
310
433
397
292
224
238
349
321
347
300
282
368
327
320
283
264
270
303
305
304
230
260
249
261
206
307
307
348
296
349
301
338
239
303
295
344
271
330
322
221
332
303
324
326
301
264
331
319
301
337
282
316
329
361
311
353
336
381
386
259
331
272
204
264
335
343
222
398
313
281
277
373
303
289
213
340
356
284
336
403
347
240
345
218
316
345
351
266
345
297
248
320
371
330
365
211
324
314
289
431
309
335
212
351
274
344
295
361
320
320
275
339
325
297
275
322
252
311
342
334
282
338
388
376
295
336
359
332
416
328
269
330
342
305
322
318
344
269
311
294
386
314
371
335
281
410
311
348
365
289
351
274
372
336
359
389
399
314
393
242
292
287
336
310
249
284
312
285
349
317
267
364
335
369
366
319
301
277
249
347
254
269
204
262
287
317
309
354
296
262
374
317
309
293
396
285
320
339
199
325
308
325
335
422
305
284
231
330
245
270
279
351
328
339
337
313
260
331
278
351
366
340
299
368
340
342
317
302
291
394
314
329
251
353
312
326
372
356
402
286
335
311
289
259
371
255
237
304
314
340
303
301
373
325
342
301
338
235
341
354
321
329
307
329
296
250
343
348
336
359
359
335
316
334
292
335
271
327
312
325
312
305
280
350
331
266
320
347
263
327
300
376
324
334
301
384
317
274
285
426
274
322
287
342
300
229
234
330
368
289
355
285
340
246
327
309
296
292
337
259
355
300
265
383
361
334
300
335
301
318
332
287
298
298
253
309
298
302
347
229
328
307
361
266
271
344
386
297
313
335
301
334
261
370
328
359
332
327
348
336
301
388
373
277
347
412
327
390
363
332
280
349
261
346
387
361
354
370
350
279
333
365
321
352
335
352
364
375
328
370
336
271
339
277
354
249
311
334
311
367
322
325
355
265
353
385
368
339
367
294
333
311
342
364
282
230
329
236
304
339
237
318
257
315
276
338
343
358
361
383
330
375
294
374
328
328
321
274
357
333
354
307
292
393
304
354
342
384
321
255
301
293
297
368
273
304
336
274
242
287
331
284
304
270
250
299
379
274
361
202
378
371
260
313
398
217
379
173
352
352
372
293
361
324
285
219
347
360
343
329
253
322
274
296
292
332
319
381
321
388
249
342
303
311
258
293
384
331
344
324
252
279
348
316
303
304
270
306
330
297
270
332
228
325
330
254
322
309
264
314
239
343
325
350
300
300
324
395
431
366
325
304
336
356
395
307
343
316
286
322
310
279
367
294
285
362
288
278
314
244
261
247
339
314
264
371
273
298
328
269
365
289
318
349
283
335
326
299
347
399
303
333
317
293
307
222
283
310
355
341
357
247
350
250
368
353
289
371
286
311
285
337
234
258
331
430
343
359
281
334
318
323
338
317
388
308
302
205
319
303
297
273
354
336
349
285
258
294
310
293
289
306
317
329
281
286
403
331
269
339
302
399
308
396
292
304
273
348
406
244
319
317
303
343
269
257
359
354
386
232
349
338
403
368
352
391
378
331
381
391
286
303
307
294
328
323
375
340
342
350
293
254
295
341
294
313
306
296
353
224
273
292
296
242
356
302
244
313
301
331
331
338
284
343
290
386
335
267
322
283
259
382
343
274
297
365
402
219
220
329
288
192
354
264
327
235
314
345
377
285
293
261
253
358
317
312
274
343
207
246
313
325
374
284
303
390
249
323
334
384
335
375
328
288
342
273
341
222
319
284
227
256
372
321
377
398
301
210
334
294
384
320
330
346
308
326
334
269
347
374
326
350
259
313
345
329
334
352
350
318
344
295
359
245
330
376
280
248
288
273
312
276
287
354
275
288
308
298
300
268
217
321
313
270
286
342
232
314
336
363
327
353
343
342
286
338
227
316
358
358
276
295
296
324
383
274
263
308
297
392
310
379
367
252
375
294
395
359
320
327
321
328
295
417
349
363
297
216
364
260
396
261
331
342
346
292
345
297
347
355
377
360
373
309
303
232
256
278
265
333
364
332
260
287
288
291
274
334
311
340
244
290
329
383
330
273
274
261
284
308
289
211
339
212
307
275
363
283
362
294
301
378
277
229
373
313
348
270
257
313
372
377
291
321
326
287
400
347
312
303
315
384
342
274
402
270
332
254
362
385
388
305
292
285
276
417
285
250
281
348
306
290
360
407
335
327
337
239
386
322
334
307
381
389
263
316
249
322
338
306
276
215
350
350
308
354
355
295
274
299
335
335
376
309
349
330
360
370
318
396
339
294
295
243
375
329
281
293
311
346
325
375
295
411
334
319
272
299
280
366
438
325
327
306
290
304
292
349
286
330
288
256
317
257
349
358
360
269
370
273
221
333
327
331
268
311
338
276
338
342
269
228
271
251
324
328
325
311
334
275
276
340
370
334
265
309
359
257
321
324
356
345
343
246
245
347
310
359
284
306
313
284
338
279
322
380
315
315
331
292
285
299
286
334
307
248
278
328
329
271
279
368
385
313
308
371
379
390
337
276
348
317
313
276
314
356
205
345
346
295
363
319
275
326
336
355
350
351
305
280
316
223
368
259
367
369
295
364
318
333
206
339
339
336
311
306
326
262
277
293
378
264
372
340
370
317
385
253
307
416
245
218
357
265
286
237
309
357
349
368
369
235
372
311
351
353
296
306
366
260
286
365
300
292
273
348
256
279
356
345
311
320
243
244
373
259
261
255
247
387
202
355
297
298
351
288
317
275
258
274
358
283
347
219
260
303
372
319
306
271
322
298
253
305
361
350
251
346
292
353
307
319
307
411
393
317
277
382
273
268
332
284
215
349
329
318
335
313
346
368
246
253
300
290
369
363
332
323
313
312
386
362
331
341
321
273
254
314
282
365
334
234
277
324
305
367
294
355
319
296
295
243
295
292
275
308
321
304
332
330
354
328
292
288
293
322
290
326
362
311
367
287
231
266
272
267
317
338
359
321
322
353
331
279
301
332
313
261
372
221
360
288
298
312
323
285
283
338
270
303
340
301
241
252
346
332
287
323
412
303
315
361
278
333
260
299
341
286
309
285
285
352
236
340
313
307
360
338
320
290
300
339
327
341
312
286
331
328
293
342
380
282
287
325
317
324
354
266
335
383
348
362
309
322
335
346
345
287
292
341
272
340
292
367
284
301
354
302
316
414
304
392
235
282
292
391
288
361
368
341
382
360
377
313
372
256
276
275
251
306
305
292
304
309
324
284
293
328
377
389
323
299
295
326
322
350
402
340
362
330
291
202
233
275
345
315
310
303
301
368
351
276
325
307
388
321
392
314
338
365
323
355
371
275
348
361
314
328
329
325
296
245
315
245
219
323
334
361
368
299
299
317
376
345
311
314
286
323
322
353
381
336
300
358
292
303
362
350
261
320
368
279
347
376
295
268
273
268
327
320
383
276
284
244
311
287
372
294
376
264
295
316
298
305
316
331
279
284
324
307
246
341
299
216
404
242
385
341
348
352
288
257
308
304
234
303
332
302
291
342
296
333
305
314
347
309
322
310
379
274
369
387
283
262
355
375
346
321
306
320
409
322
304
386
249
307
395
314
335
269
287
303
377
395
257
397
227
334
257
287
350
388
181
272
305
368
356
316
346
305
323
365
293
338
355
257
337
261
299
212
370
368
307
345
317
317
344
390
326
365
361
275
301
383
232
290
280
369
362
333
258
264
365
351
185
340
235
320
392
358
402
275
345
329
309
356
246
210
285
355
313
314
358
305
355
227
353
286
245
340
276
372
351
323
254
327
279
344
294
328
273
316
344
386
340
369
278
330
275
354
328
323
309
268
339
360
353
286
297
327
373
283
247
365
289
314
319
311
353
366
262
368
336
279
263
333
314
262
372
342
391
323
317
317
253
319
293
338
403
277
284
352
275
298
295
428
307
277
339
368
319
376
337
352
330
345
281
342
294
230
284
368
344
417
258
244
323
339
314
325
340
360
320
366
365
335
247
329
297
313
264
358
257
300
366
359
314
195
288
362
239
307
367
346
371
312
299
306
290
386
241
296
273
312
318
334
387
344
288
318
302
345
335
349
277
325
360
357
284
362
306
358
305
390
285
241
376
241
301
333
347
301
327
312
246
231
304
391
309
265
327
352
357
270
202
306
305
400
347
328
289
309
307
313
207
296
304
321
329
318
276
290
303
337
278
277
356
288
254
279
251
300
382
317
285
314
380
291
325
238
331
312
310
323
282
383
292
323
359
242
289
282
335
220
310
367
314
314
322
271
401
314
263
311
292
386
335
292
251
242
364
342
330
315
322
318
380
354
318
252
245
366
328
348
305
222
288
270
267
294
296
263
311
231
358
347
259
351
256
286
338
362
227
321
305
335
314
388
354
332
254
353
344
318
332
358
270
353
253
402
314
362
274
342
215
260
369
297
335
280
312
355
339
360
371
303
355
284
324
344
428
400
330
368
351
298
349
344
272
304
288
320
307
339
355
383
411
290
348
240
290
361
368
287
296
342
279
345
272
310
339
371
363
369
338
337
355
263
321
312
374
234
304
307
360
337
313
354
397
346
305
301
346
354
215
368
317
290
239
333
341
297
344
323
252
281
344
285
328
289
385
349
267
253
307
252
335
276
254
333
262
308
285
374
237
246
326
345
407
379
343
330
366
321
287
314
324
375
267
352
335
291
349
282
329
276
339
284
328
265
320
354
327
298
319
272
216
313
318
245
329
334
285
344
309
308
348
304
323
267
351
307
264
220
308
240
346
293
296
232
275
316
325
298
317
364
320
369
329
354
264
262
414
373
393
312
352
397
294
306
330
346
271
357
283
302
319
358
284
386
349
320
276
292
341
353
328
381
369
260
281
292
260
289
330
297
263
322
313
314
319
295
261
342
315
269
389
287
322
250
324
388
277
303
302
356
325
251
302
277
318
292
340
285
291
345
357
358
339
308
279
285
302
304
304
354
313
248
295
333
299
350
339
339
325
305
328
265
336
310
361
308
337
326
246
358
324
287
319
320
336
347
354
342
221
295
315
345
316
320
316
381
268
294
330
368
306
350
303
346
258
278
307
403
318
285
338
266
260
274
223
268
294
281
260
388
346
317
230
354
316
322
369
279
293
275
349
412
334
284
337
300
355
358
333
272
270
375
313
300
335
314
324
208
294
275
375
328
286
373
320
307
347
265
369
318
354
279
310
292
400
282
282
270
318
261
330
281
340
345
258
296
288
270
264
371
361
380
338
321
307
326
350
337
321
333
349
222
342
268
375
337
216
350
331
243
430
288
338
353
247
293
368
389
356
306
300
357
309
292
256
310
328
273
312
405
231
300
287
291
200
283
393
357
351
358
354
363
262
303
328
285
278
331
305
374
312
275
347
343
261
310
381
323
274
362
311
342
359
351
369
404
295
338
390
340
258
338
377
312
242
290
310
308
357
363
323
368
336
262
275
295
374
259
324
329
377
282
272
331
340
284
321
327
403
311
281
353
295
317
227
377
373
233
321
310
351
287
299
363
259
317
288
379
238
347
212
317
346
328
320
332
350
328
295
390
287
252
383
385
345
289
281
294
312
302
256
282
279
382
403
302
335
364
279
306
401
291
341
281
287
387
389
357
361
289
310
320
249
300
364
240
350
353
364
385
319
285
389
315
270
361
347
325
383
260
289
326
341
257
336
270
412
314
383
193
300
288
342
420
367
317
341
333
320
341
355
372
314
386
359
332
317
281
324
366
396
315
366
265
241
307
384
306
346
335
254
340
269
363
337
256
343
341
329
390
279
399
243
321
269
292
353
294
253
366
331
277
336
264
358
269
293
290
294
278
387
267
295
300
289
285
304
312
316
271
325
363
374
263
392
321
320
321
273
268
379
337
353
311
280
430
262
348
290
379
396
264
392
291
324
331
301
367
302
242
406
291
308
301
350
253
330
386
214
328
342
201
243
349
285
342
320
257
276
251
279
289
313
334
354
357
353
337
356
283
263
321
375
278
269
317
342
280
217
303
376
312
284
320
313
311
353
335
363
374
450
344
343
365
301
283
309
336
285
282
372
300
230
274
355
245
321
266
378
262
443
323
287
281
382
350
421
311
364
327
337
259
258
315
369
264
341
333
247
319
251
354
252
250
319
237
346
233
377
285
392
340
324
259
314
340
296
333
323
361
351
309
254
308
244
392
348
325
294
334
361
335
333
330
371
303
226
239
334
352
345
311
331
329
324
342
282
339
301
301
357
283
339
265
268
368
378
291
316
365
331
360
275
302
342
346
309
305
350
303
373
354
315
307
349
294
331
314
303
251
315
295
348
330
363
340
394
306
294
254
342
339
237
348
216
323
347
221
338
348
389
403
360
270
280
272
305
244
293
254
295
262
338
284
344
343
382
341
340
270
224
264
337
403
229
319
320
309
389
231
325
308
222
266
359
317
273
376
331
337
377
341
340
344
260
350
326
326
276
350
328
322
355
353
318
308
343
282
281
347
257
288
241
306
308
332
380
405
277
367
372
291
431
303
289
320
275
326
311
246
283
324
356
351
326
337
347
319
319
323
294
339
339
292
334
287
336
296
367
322
310
346
309
386
329
347
347
323
376
349
283
321
322
294
366
289
304
218
287
293
292
341
323
288
348
295
340
379
294
304
274
272
350
310
298
293
442
282
247
453
367
321
393
324
275
273
288
259
265
343
287
284
287
270
276
286
332
271
310
322
296
337
280
250
379
264
304
328
443
374
257
346
309
299
326
352
347
344
322
270
303
283
274
252
320
348
396
370
306
287
302
382
365
314
353
338
316
321
392
312
319
321
324
345
275
300
302
332
356
359
299
288
348
225
324
366
337
374
322
301
371
294
325
324
282
324
280
285
289
298
292
310
408
310
250
302
393
318
385
311
272
364
301
236
234
355
272
278
269
281
360
287
281
374
257
244
355
341
278
279
279
357
320
282
346
369
289
340
366
298
354
307
321
288
337
360
301
278
317
204
337
317
277
270
343
367
347
314
266
281
307
317
309
359
286
340
330
419
320
294
317
273
338
321
355
388
377
275
296
259
341
269
315
261
266
302
327
220
326
310
220
290
321
327
303
334
218
377
294
303
268
298
300
252
243
193
382
305
316
328
351
359
331
351
362
296
299
378
289
255
295
281
349
354
378
306
321
341
263
308
264
332
376
338
358
303
296
274
240
357
339
373
408
308
235
274
368
367
313
386
308
261
308
323
321
351
360
304
262
263
296
345
361
205
302
253
348
348
346
264
305
269
299
263
191
320
367
303
336
276
343
336
339
296
309
330
377
396
293
309
313
237
313
316
302
285
320
317
334
355
430
282
385
299
330
413
384
324
196
341
344
338
222
302
275
236
284
364
310
309
343
356
330
339
311
303
270
323
354
404
343
377
324
302
348
367
330
301
350
351
162
311
310
283
287
404
325
289
332
343
313
257
349
283
342
214
314
318
273
351
301
303
309
337
363
314
226
363
337
320
363
268
329
241
374
332
323
276
291
213
271
314
309
337
287
242
275
368
213
354
403
374
318
267
300
316
296
370
352
298
375
333
382
327
250
280
359
308
376
374
265
293
338
282
256
251
370
362
328
309
278
369
307
316
229
330
291
276
268
354
291
363
300
256
344
374
348
259
333
315
338
309
265
342
390
312
367
337
378
329
330
228
259
422
306
259
309
275
320
357
262
284
272
303
359
335
262
355
273
379
272
282
414
259
291
274
323
342
364
312
343
248
358
213
238
330
273
230
320
326
300
286
287
337
255
334
351
289
294
388
303
375
379
377
314
308
282
344
353
276
288
310
330
289
232
278
327
287
362
268
317
318
254
303
400
288
409
285
391
281
266
299
338
379
304
278
351
278
343
337
285
282
238
290
289
306
252
343
338
312
298
381
317
384
245
328
302
378
307
341
316
372
410
227
389
304
226
217
338
313
228
327
232
336
288
272
419
301
335
295
317
308
358
347
247
287
283
286
181
366
287
290
320
360
373
399
299
283
284
343
320
363
280
285
262
309
210
335
304
292
310
296
285
232
263
346
304
245
338
314
323
251
273
317
318
370
323
314
330
355
376
240
256
279
356
290
328
315
241
326
230
322
276
263
318
308
315
291
218
321
379
310
310
252
371
341
359
303
215
338
272
375
337
243
339
262
340
288
318
232
296
261
368
329
321
301
318
314
345
333
330
280
317
273
371
245
296
308
349
312
356
253
318
330
271
269
300
343
259
352
264
337
308
373
271
369
303
297
388
321
352
404
347
331
377
273
206
298
260
281
246
178
324
315
245
377
283
366
322
342
359
302
320
207
325
307
340
331
344
329
290
368
237
359
274
293
228
303
323
332
260
324
294
264
294
296
267
324
257
315
318
254
358
315
387
343
231
266
340
317
305
331
220
320
321
343
360
309
362
339
329
323
307
344
355
294
277
338
222
279
296
382
308
363
348
380
356
244
383
291
277
260
260
306
316
343
335
310
324
324
321
373
388
244
269
364
410
249
316
368
315
269
266
381
296
307
296
248
305
323
327
205
273
237
272
276
255
367
274
356
362
365
302
274
295
310
346
265
314
350
230
328
313
323
266
358
249
306
285
251
325
331
386
347
363
329
266
418
273
327
370
284
454
275
216
244
252
242
338
349
311
321
362
250
359
353
256
366
284
342
309
347
350
250
339
291
290
321
310
415
298
329
288
342
377
272
321
303
306
289
383
285
340
404
358
284
310
328
321
214
355
365
292
289
323
312
200
381
258
257
384
294
370
252
364
294
354
292
328
335
291
390
307
352
347
370
340
363
342
274
402
329
349
317
320
319
259
361
375
277
364
291
244
346
277
333
321
335
292
439
412
317
311
376
316
356
363
340
299
317
286
287
293
278
350
383
299
413
324
239
288
350
255
302
318
280
343
374
267
369
302
252
302
409
291
254
357
350
341
297
263
370
215
358
314
366
389
314
306
327
250
285
296
288
258
303
311
327
395
371
269
311
338
212
350
326
343
303
277
397
208
303
324
369
281
278
289
404
290
330
317
336
385
309
246
370
296
298
340
289
323
278
331
299
361
283
224
295
342
248
378
339
421
323
406
375
351
307
337
265
275
291
323
297
335
324
199
341
332
339
248
339
387
256
212
279
245
396
313
313
348
336
304
317
315
194
348
314
363
376
350
256
290
297
356
264
395
269
311
267
278
301
389
234
324
331
323
332
332
291
371
339
325
294
318
315
261
256
319
269
314
275
255
337
337
353
327
354
253
375
358
369
319
372
336
236
260
279
309
281
316
270
364
296
288
321
342
301
285
375
322
369
294
266
338
318
326
306
285
400
370
310
337
358
351
294
341
346
373
305
325
303
308
326
340
372
360
220
335
297
356
307
329
270
278
320
209
364
294
274
336
259
334
332
261
245
329
284
344
314
347
327
266
348
315
227
370
298
326
286
230
376
304
311
366
320
326
257
298
340
303
211
299
326
400
348
241
289
321
393
291
353
221
311
279
282
380
301
293
353
336
295
348
265
394
272
288
287
266
348
338
313
322
352
348
277
325
370
389
306
418
269
386
334
262
417
326
372
305
375
237
344
334
299
290
245
344
288
316
266
371
365
298
333
305
309
291
359
296
315
270
340
295
338
295
305
290
411
342
317
228
297
356
302
264
304
405
352
308
294
316
257
306
291
345
274
338
393
285
359
226
379
282
321
226
362
329
305
222
351
337
303
373
243
290
322
323
329
313
302
274
346
333
333
332
249
320
355
284
385
280
251
257
220
283
373
324
283
307
295
283
304
228
347
325
324
333
340
274
360
337
268
330
354
332
271
307
408
299
307
324
235
291
288
367
373
248
350
301
343
376
353
353
286
345
320
196
307
368
267
303
355
400
257
451
319
304
357
287
307
358
227
329
312
288
411
323
301
339
307
414
351
279
347
328
328
342
336
323
248
335
325
314
291
328
369
302
332
242
359
297
330
408
357
372
335
301
357
314
339
380
275
321
280
337
191
334
347
308
342
375
333
255
307
349
308
242
290
218
358
362
329
417
336
332
283
298
271
348
319
383
281
273
355
385
287
263
267
331
364
266
332
317
373
223
342
316
267
262
301
407
335
318
373
377
361
260
340
222
292
313
295
261
346
353
400
367
306
377
240
265
285
289
364
222
320
347
305
223
293
340
302
319
300
365
397
311
278
221
312
344
386
341
241
280
294
268
245
426
343
296
317
253
354
244
321
267
270
289
379
355
314
309
350
332
378
297
421
295
345
360
340
320
342
180
343
389
413
406
316
247
338
374
423
290
280
312
367
284
287
321
252
283
310
294
346
323
349
359
265
292
326
351
347
266
363
311
293
270
376
372
286
369
305
260
370
325
338
358
309
353
360
336
314
305
272
296
338
312
351
240
284
343
382
289
287
381
343
321
391
329
271
440
333
290
329
352
302
272
309
351
364
242
225
244
322
339
318
265
303
355
370
309
291
312
301
350
359
327
373
298
328
313
326
316
315
299
369
407
288
335
340
365
265
406
329
258
329
303
352
335
378
353
390
372
419
345
308
295
246
337
288
274
381
316
261
368
298
240
307
308
324
345
282
275
336
336
267
330
348
273
371
356
318
297
254
318
290
279
228
355
335
371
304
301
272
290
371
299
285
284
248
294
216
287
276
357
229
264
365
344
319
354
304
332
307
255
194
309
310
315
301
352
298
319
306
319
292
256
311
282
355
329
318
338
337
407
331
303
252
334
357
344
271
346
251
249
353
261
324
325
339
206
291
345
253
339
237
304
311
313
358
274
269
251
320
393
307
277
339
300
290
334
332
331
326
332
251
345
325
246
382
347
370
262
388
303
245
267
315
377
225
369
316
271
349
368
341
395
344
336
249
290
376
381
264
313
276
294
323
279
289
261
364
320
385
270
295
280
350
291
331
365
294
337
293
338
354
265
310
381
402
290
288
266
306
253
324
299
321
350
303
392
306
311
356
334
278
343
327
335
314
331
346
315
301
322
277
236
327
327
330
318
344
299
283
275
269
370
361
292
322
270
302
326
299
246
333
380
317
270
247
355
303
353
290
384
279
244
245
302
291
267
363
302
343
313
354
311
324
371
281
288
339
296
330
296
282
325
283
301
360
331
330
342
267
261
350
352
339
304
302
366
358
285
367
224
319
368
250
352
307
337
351
311
295
344
365
405
321
331
323
258
410
325
403
294
371
279
365
320
277
286
211
350
338
256
308
344
316
287
262
287
324
346
311
271
297
323
262
399
292
335
329
313
287
369
297
295
337
208
311
363
297
323
390
358
388
291
353
305
262
261
296
325
295
280
379
264
231
357
378
277
315
357
298
313
351
310
382
283
333
345
363
275
302
277
277
257
317
414
283
304
355
284
323
292
333
290
281
309
381
261
345
307
222
241
362
290
305
339
257
221
285
250
285
207
266
400
384
326
331
375
283
330
280
290
343
297
299
341
310
305
203
289
294
388
318
328
311
293
311
285
301
280
301
325
297
430
344
280
254
266
275
249
230
377
345
370
295
359
282
283
365
313
334
372
304
355
315
372
270
306
227
280
237
286
356
298
390
357
354
354
390
348
313
370
313
353
354
247
314
272
244
279
232
311
314
353
263
246
289
322
354
344
320
344
300
324
353
263
236
234
244
298
350
326
283
370
291
399
271
327
394
359
310
311
347
228
340
270
298
236
276
375
321
270
315
211
268
346
290
312
379
341
353
243
303
338
321
295
237
310
313
315
314
262
349
344
274
164
286
279
304
301
324
347
287
271
302
271
233
334
335
297
271
254
277
362
315
259
262
319
263
350
300
305
310
323
408
329
312
356
332
336
344
335
311
356
317
277
300
324
310
244
294
348
325
301
325
294
353
316
275
344
323
318
322
299
330
383
333
325
332
301
357
315
344
296
295
302
301
354
336
342
308
374
246
331
297
301
279
332
245
323
370
387
312
295
281
272
365
339
351
275
271
255
269
347
347
391
347
355
289
310
310
262
293
318
369
318
366
325
317
290
314
266
306
350
243
290
307
285
347
227
360
342
280
341
238
300
229
339
261
293
326
373
357
326
328
320
358
314
286
314
363
290
313
302
378
242
324
316
290
330
257
371
320
359
318
303
366
323
306
397
373
411
346
338
282
230
288
253
287
335
330
299
305
228
359
355
319
270
267
290
298
297
298
311
391
197
380
310
283
374
276
317
333
342
309
383
365
259
254
324
236
338
266
303
313
335
283
349
283
370
367
293
321
297
306
224
262
352
276
366
287
361
294
355
308
312
319
308
357
300
278
337
309
285
331
274
392
375
395
375
274
384
389
346
363
348
287
364
393
345
304
284
308
338
324
417
316
399
357
355
236
289
283
268
303
322
299
325
313
305
272
288
345
373
342
242
286
366
308
298
360
334
317
353
297
343
340
365
306
317
311
311
379
343
294
292
290
290
314
282
335
362
279
291
340
316
329
245
349
388
313
354
235
319
281
315
306
298
298
294
312
276
303
195
320
382
345
224
376
307
275
311
303
271
312
305
337
379
247
307
327
388
370
337
260
331
268
293
338
284
342
296
341
308
340
298
366
252
324
279
297
309
329
330
283
323
384
296
308
345
242
326
269
316
321
356
339
383
291
355
301
281
342
295
314
352
316
295
348
252
297
294
338
224
243
267
316
266
252
287
242
306
250
383
302
265
396
355
323
293
395
350
360
305
356
396
301
323
307
283
347
380
365
273
285
293
372
351
362
347
275
334
346
267
323
295
374
327
330
279
375
246
298
368
355
225
284
280
291
377
310
362
294
310
388
323
324
307
379
335
300
347
286
282
361
319
292
322
366
375
271
319
288
363
297
337
303
225
320
334
402
340
292
289
262
318
324
271
277
350
252
373
320
264
334
309
347
281
304
369
304
315
297
344
304
347
312
358
262
296
410
312
403
333
260
240
322
383
361
365
212
249
364
376
319
269
329
326
285
307
326
255
391
276
320
296
360
227
293
370
294
272
368
285
258
319
322
231
344
297
245
427
299
292
350
319
310
304
381
329
354
288
265
274
288
331
360
406
295
354
335
362
278
400
254
335
288
372
315
347
340
227
374
308
401
307
317
342
282
349
307
320
246
251
325
285
284
337
349
342
269
320
344
338
349
321
248
307
263
365
338
307
283
346
349
263
284
333
240
286
304
318
268
366
328
369
310
248
372
320
252
344
360
300
293
305
344
350
266
321
240
310
319
321
242
317
354
337
361
263
262
332
350
339
335
287
263
265
304
352
308
340
267
246
267
326
346
265
328
240
361
330
374
340
293
331
303
328
327
265
361
293
373
359
276
366
326
295
316
312
285
327
352
323
282
330
369
330
345
375
326
271
373
260
287
306
249
377
284
304
249
242
241
322
312
288
360
350
322
357
352
285
368
292
274
344
336
298
294
268
298
312
324
227
327
420
315
333
341
295
357
316
279
354
375
256
407
297
225
302
318
338
281
349
370
313
243
255
280
278
381
240
333
275
355
306
288
286
338
343
379
260
354
346
320
324
287
348
288
279
292
377
263
271
349
299
237
265
332
334
392
286
274
315
290
275
258
259
319
369
348
348
318
325
250
272
347
292
345
341
352
310
287
326
310
361
361
342
330
304
305
345
294
288
349
265
300
303
353
357
328
323
332
349
354
325
300
316
268
376
339
383
343
316
380
303
339
312
346
272
285
320
336
392
291
313
392
348
289
347
366
352
305
275
319
397
322
299
267
322
329
281
342
418
320
310
312
309
350
353
289
338
268
295
299
291
318
292
329
375
328
366
348
289
261
295
319
264
257
310
362
321
322
236
254
241
281
361
417
251
292
352
313
287
300
376
348
350
318
418
294
288
291
275
383
241
198
400
281
291
342
331
283
336
385
319
332
272
340
350
320
308
282
269
318
344
365
303
374
268
362
369
327
160
311
257
300
366
261
340
233
290
313
319
248
273
302
275
326
363
323
211
296
334
253
375
314
284
330
284
338
326
329
364
257
316
340
240
349
302
250
364
320
283
340
276
377
381
295
263
288
204
306
381
338
421
299
337
339
281
326
342
308
322
321
320
333
337
307
335
364
362
345
371
312
320
312
335
389
308
233
431
302
225
282
271
334
290
292
265
300
311
354
300
322
260
345
424
267
276
241
330
364
263
351
327
364
263
327
346
264
361
327
319
292
300
321
375
286
279
365
282
327
262
398
283
245
396
380
339
346
265
341
295
336
255
308
314
360
295
292
281
307
344
325
317
408
295
337
311
343
184
253
271
361
350
353
286
308
303
337
335
236
298
403
292
333
337
331
297
291
362
321
193
317
304
301
327
308
329
335
324
307
379
299
398
328
325
300
280
278
359
292
338
352
308
349
322
311
280
246
233
311
348
320
258
219
382
359
275
440
276
320
293
389
267
282
285
326
260
319
338
343
278
354
279
228
299
341
294
292
366
361
321
315
303
294
328
282
409
376
285
313
399
349
350
345
274
346
331
306
331
280
305
403
394
286
313
309
330
266
292
397
401
224
289
321
251
328
236
347
286
299
292
334
300
351
299
304
307
332
341
379
337
276
248
264
296
367
385
248
321
383
310
261
403
233
323
209
330
315
363
282
403
299
279
323
336
409
258
301
300
303
266
367
254
299
355
380
288
198
337
274
278
295
326
322
280
277
258
311
301
342
288
264
239
334
235
366
316
387
283
357
394
276
300
307
387
314
245
242
313
349
269
337
317
429
365
262
307
320
348
359
302
264
379
304
389
336
318
325
331
301
348
323
232
328
330
266
219
314
279
333
351
348
341
259
256
315
283
299
241
257
310
351
352
368
323
315
263
314
322
354
314
352
270
334
312
298
310
284
398
229
275
352
331
351
294
248
246
387
311
298
301
353
239
238
374
305
363
336
293
303
304
339
337
238
330
303
275
292
314
239
246
338
359
302
272
318
263
316
297
353
316
219
429
289
300
291
276
361
357
387
409
308
346
314
332
288
319
375
316
312
329
310
327
298
288
366
390
310
303
255
332
304
269
290
319
345
278
294
295
320
347
354
279
335
281
302
286
332
342
291
289
318
297
353
320
321
400
344
276
282
379
319
300
285
300
400
312
294
259
347
282
345
192
203
407
239
328
310
329
305
397
324
359
330
342
322
328
417
415
360
395
271
349
291
323
386
307
317
253
279
275
355
369
394
353
293
287
303
350
327
346
265
287
290
368
240
304
323
161
376
325
388
287
274
330
344
309
253
358
362
304
305
352
313
310
298
268
334
292
269
368
340
394
313
309
230
366
358
346
429
362
266
362
291
319
344
387
299
301
283
310
349
388
346
239
318
318
318
277
282
365
362
377
315
303
336
326
387
348
364
327
279
338
337
358
313
339
396
319
357
274
291
322
350
314
281
320
322
280
345
326
313
402
309
305
375
371
379
338
305
291
336
273
319
299
295
392
318
277
442
245
338
286
331
278
334
251
343
312
212
288
341
370
294
305
356
295
260
303
271
308
335
288
367
386
327
293
420
269
358
261
275
366
360
330
254
255
297
276
350
291
220
334
248
284
315
316
351
327
369
305
310
296
328
284
319
311
289
257
270
264
273
271
247
283
374
220
342
331
319
325
293
383
286
319
303
310
337
313
341
261
241
316
293
309
430
268
310
294
257
266
361
277
359
314
366
309
310
289
314
290
300
302
378
292
324
250
355
306
290
317
339
269
334
313
323
358
264
401
356
314
265
311
312
276
344
305
292
292
322
328
278
247
332
346
264
233
235
312
267
356
287
292
314
311
402
294
305
348
331
265
341
308
374
335
352
257
222
371
356
317
259
313
335
337
337
328
338
285
314
304
286
303
376
286
344
361
319
362
355
381
293
336
329
363
344
344
330
359
377
327
301
271
309
234
320
243
354
325
349
365
355
323
283
279
302
338
296
352
343
361
275
280
325
316
289
335
283
323
352
301
226
393
286
359
304
339
357
255
389
326
302
264
310
345
291
314
281
310
309
227
301
377
307
334
334
316
250
307
374
347
331
288
360
333
307
231
350
362
254
284
331
375
294
299
247
274
315
310
344
297
290
306
313
344
306
324
315
318
298
278
311
322
211
408
334
361
383
326
300
336
278
262
361
296
284
369
305
310
355
342
255
217
401
316
344
301
298
370
317
262
350
314
292
393
228
324
272
323
334
372
281
272
258
345
394
346
356
258
212
213
214
361
307
344
329
335
312
276
313
321
341
357
290
415
302
300
293
313
313
410
377
283
330
260
398
285
387
298
265
275
269
356
324
294
380
300
264
279
381
287
263
281
332
316
389
290
324
373
277
393
336
369
289
301
344
339
242
279
371
337
334
378
254
290
308
253
356
368
346
341
371
344
280
424
244
295
363
322
215
386
339
445
357
270
296
348
295
327
279
324
299
271
364
289
308
292
335
273
308
339
216
285
304
272
313
290
320
264
317
262
309
292
314
264
364
339
323
337
302
362
187
344
303
387
270
253
328
340
370
316
329
289
330
357
307
352
366
273
401
324
346
325
355
295
330
363
288
291
315
331
330
274
327
308
302
255
298
304
334
258
358
270
386
285
340
287
342
261
172
276
244
308
287
280
246
262
347
259
343
355
301
283
313
273
343
396
198
299
223
339
389
224
350
320
325
353
312
314
325
354
298
250
284
247
315
261
290
404
347
405
275
315
247
315
329
317
350
318
367
258
291
278
301
299
363
262
242
357
290
283
272
328
324
251
307
245
287
360
184
337
306
305
332
288
390
387
327
293
302
403
313
324
344
376
324
279
297
328
305
350
349
292
276
361
311
370
257
299
300
405
287
369
310
367
232
386
325
358
222
296
351
312
301
352
367
329
279
334
372
286
312
323
303
248
403
298
282
250
326
288
356
313
338
298
269
398
381
281
366
193
340
282
234
302
295
375
412
235
350
306
367
322
277
193
275
314
363
222
261
278
307
335
243
350
357
340
339
386
360
336
322
374
207
362
314
232
281
314
414
336
286
313
374
260
289
244
277
321
239
167
330
339
292
201
357
329
335
374
287
320
294
284
346
336
334
284
333
323
318
326
333
273
340
245
269
307
249
279
327
327
348
279
362
349
297
301
406
328
401
316
324
310
240
301
328
289
354
305
354
312
275
296
347
346
261
318
260
311
248
242
368
342
347
311
373
285
307
328
373
347
387
350
320
352
261
406
354
367
332
308
329
254
354
298
304
345
329
352
313
300
357
273
336
320
259
281
303
279
298
314
316
324
292
332
306
246
226
398
339
342
323
271
329
323
287
329
374
329
364
420
252
318
317
257
382
363
249
234
246
279
331
215
248
239
282
335
303
415
296
279
259
245
346
367
356
383
321
254
303
382
389
336
292
292
309
206
341
257
264
354
255
260
294
341
321
314
274
285
297
384
262
290
161
189
380
365
294
320
339
342
359
348
346
381
374
405
242
360
267
278
290
287
273
297
330
392
319
316
270
350
319
253
309
288
206
270
338
330
306
346
307
339
261
298
309
359
299
297
376
346
417
391
348
279
380
237
343
327
336
296
307
314
403
338
295
343
294
330
281
354
288
299
282
374
242
331
287
273
393
402
284
231
351
240
339
355
343
336
347
321
360
313
327
287
387
338
377
283
285
301
207
382
281
233
316
332
355
292
359
322
327
283
328
343
340
270
306
228
332
294
292
329
386
343
275
233
355
319
274
334
305
289
201
288
396
300
260
333
269
303
354
382
361
379
363
346
337
362
307
337
292
298
300
296
384
386
291
293
280
358
376
313
339
321
244
369
256
255
299
350
333
365
329
298
367
316
333
324
342
325
310
338
348
310
193
355
337
355
332
374
389
271
365
353
300
324
293
335
304
348
302
302
328
382
346
328
266
393
346
296
311
327
291
244
363
207
317
314
388
280
304
329
354
239
323
305
343
309
241
350
307
298
358
320
244
312
306
306
394
321
291
303
276
238
310
365
337
300
308
307
249
371
332
353
324
329
313
329
382
377
346
325
309
254
272
266
364
294
273
403
275
313
269
336
272
409
307
331
332
343
307
236
264
317
328
311
318
246
319
373
304
294
299
295
307
305
372
322
387
340
276
277
363
315
306
359
372
327
251
280
360
306
369
325
276
239
342
402
299
237
288
337
331
319
408
313
321
291
330
296
218
258
306
357
315
401
333
368
308
313
359
337
384
310
386
327
258
302
267
272
325
313
370
294
254
283
242
315
338
312
315
358
256
318
389
254
227
341
288
383
311
335
376
344
373
361
246
307
335
291
380
303
278
324
233
325
366
320
322
244
349
379
264
336
344
161
308
283
306
296
254
359
378
329
345
333
213
346
335
340
289
293
351
324
296
313
310
310
334
290
303
273
301
354
387
384
312
329
316
184
241
257
362
318
299
375
348
307
334
257
367
319
363
201
267
316
339
344
340
321
332
309
295
367
310
297
279
362
403
345
314
320
333
326
285
241
344
273
296
351
388
348
357
312
300
329
231
317
336
347
288
347
299
302
265
272
247
333
393
262
399
346
324
393
369
254
347
373
321
269
316
360
283
329
265
307
280
254
269
305
331
329
391
265
357
320
346
280
270
358
345
354
365
341
216
364
334
315
290
299
337
388
313
359
273
352
274
377
396
367
291
358
309
316
262
317
265
356
291
362
363
319
336
324
238
293
308
298
252
307
287
334
235
255
434
345
294
318
237
320
321
293
358
331
356
392
299
194
265
411
332
240
326
276
373
336
362
285
356
234
300
344
231
343
359
343
255
283
329
302
349
306
287
315
353
351
364
259
351
347
340
297
307
264
307
257
253
364
321
295
361
339
347
361
253
296
337
343
310
335
246
355
294
361
324
232
372
265
296
271
307
400
408
267
393
307
241
341
331
348
293
331
271
310
295
335
306
238
340
280
277
340
364
352
372
341
292
222
319
364
307
226
288
366
224
316
301
314
324
346
343
236
389
344
324
334
333
245
324
274
235
304
245
287
331
305
299
261
332
343
280
241
393
386
277
301
255
366
277
310
416
230
310
242
273
307
275
350
302
262
298
349
319
295
265
274
333
277
360
267
212
283
354
325
331
296
240
331
350
244
369
267
330
327
400
315
269
296
276
344
347
347
315
283
301
422
383
182
340
204
285
271
306
284
263
311
330
359
319
280
418
358
302
257
381
275
394
287
306
285
371
363
380
308
243
333
345
347
312
231
323
344
384
381
351
261
348
302
301
319
313
310
255
304
300
305
377
236
307
277
338
279
380
414
352
222
286
279
297
393
330
325
315
268
283
327
368
333
328
328
285
323
306
288
294
214
249
258
308
314
279
265
348
322
320
297
294
295
372
310
285
330
342
322
266
339
362
279
371
300
352
332
351
272
316
250
337
304
326
316
316
343
249
307
277
301
255
304
276
348
334
335
347
371
312
281
327
310
356
316
339
372
334
353
256
300
354
247
265
364
261
280
328
303
398
355
316
257
374
317
385
342
312
326
371
321
398
360
338
277
285
356
369
352
231
222
332
240
263
301
326
258
309
286
308
342
276
306
316
298
348
310
241
269
315
355
341
329
272
305
314
224
324
358
289
339
303
317
298
383
281
327
386
359
287
349
358
386
411
361
293
345
387
257
318
422
379
294
361
318
324
225
320
277
348
308
287
385
321
260
238
347
326
296
369
337
271
317
351
317
345
292
230
312
328
287
362
236
381
407
383
315
272
299
382
306
231
258
296
264
287
284
354
252
352
290
314
310
202
315
336
392
349
358
332
330
324
348
348
250
325
224
256
366
342
401
391
290
300
334
327
313
285
215
345
404
193
337
315
351
315
356
298
345
331
280
375
291
298
306
365
340
219
305
308
397
299
371
210
365
309
346
312
280
407
252
264
379
319
251
308
309
314
311
308
309
328
342
313
345
338
297
263
295
324
250
328
289
297
272
333
307
359
266
399
382
282
274
253
341
306
308
321
273
329
287
343
297
288
351
293
336
402
235
312
243
288
258
303
327
278
321
310
293
335
313
287
393
257
310
266
370
267
311
355
366
310
296
383
295
322
231
254
327
348
421
361
314
283
215
303
396
357
332
274
259
392
291
336
331
310
276
306
414
295
314
351
226
310
320
329
248
302
301
379
313
244
372
302
294
284
277
393
244
353
250
379
360
269
264
359
327
258
366
361
321
265
266
321
272
313
371
373
316
266
389
285
341
201
316
363
381
275
342
318
333
373
254
343
347
301
292
302
326
325
327
295
323
389
312
302
369
298
313
309
245
387
244
338
339
237
295
291
319
414
221
387
224
367
249
320
216
333
258
293
310
378
316
350
303
253
331
246
346
313
260
271
364
332
241
336
368
290
354
421
304
362
367
357
241
309
297
271
370
326
250
342
316
361
288
366
320
339
310
279
336
369
282
321
404
314
308
282
332
350
261
329
374
313
231
281
290
313
306
332
361
283
339
330
361
358
356
318
315
377
372
275
293
292
308
295
268
271
312
352
332
354
312
347
319
343
338
340
319
383
301
282
385
214
344
275
228
313
278
338
292
350
309
271
312
304
273
380
348
290
306
366
341
220
296
362
259
219
335
328
360
329
327
359
325
352
297
267
370
161
351
312
312
332
340
305
244
233
309
312
288
363
283
289
391
281
213
340
255
343
309
317
334
370
318
340
279
309
267
282
286
227
296
303
253
338
389
303
285
314
339
268
353
333
322
238
312
321
277
385
338
338
377
317
323
240
293
406
276
291
305
260
371
266
280
329
282
233
318
333
264
286
286
302
251
287
261
343
321
356
327
353
310
414
225
293
343
313
343
292
376
301
382
354
336
352
296
349
387
374
324
288
291
328
329
284
238
352
289
296
246
309
336
309
329
328
313
356
267
298
370
227
256
294
326
380
323
275
313
287
368
315
326
333
366
325
261
241
319
322
340
313
419
263
326
284
339
360
314
361
235
318
353
302
238
355
313
277
281
308
308
278
300
349
348
383
346
331
337
235
269
361
255
350
319
349
266
296
318
340
274
375
385
382
307
327
260
339
312
308
318
362
347
317
371
327
315
291
401
330
257
240
263
263
387
325
319
335
235
274
290
333
327
370
373
400
325
381
345
335
318
284
306
290
372
312
318
301
319
353
369
281
356
283
200
303
337
300
299
322
362
352
304
369
256
350
386
309
383
254
310
377
316
330
330
271
306
276
380
357
353
313
352
209
362
256
247
278
300
412
240
344
353
260
290
187
319
308
202
395
264
322
330
363
305
394
319
343
299
273
308
321
358
287
349
324
295
299
371
377
283
339
330
319
347
408
330
309
320
379
355
277
290
304
276
268
351
325
295
401
303
385
374
337
320
226
211
292
290
348
348
310
242
287
381
388
294
344
367
297
291
323
293
286
250
273
270
295
250
295
282
310
302
338
319
300
321
333
384
357
347
318
266
284
333
363
313
238
239
377
287
327
234
310
276
304
311
367
297
306
254
325
368
374
331
293
240
261
325
331
332
382
289
230
280
270
352
358
200
335
340
368
392
228
227
292
356
286
325
319
439
242
271
350
314
412
244
258
365
300
312
342
277
301
254
318
330
256
313
407
287
230
281
281
249
346
350
250
291
405
333
241
395
397
268
379
363
317
260
357
298
394
307
285
323
348
331
264
341
331
260
335
357
264
241
290
275
365
252
334
296
323
303
325
379
263
310
327
305
276
291
371
245
318
291
338
295
405
306
348
398
320
370
288
361
262
308
347
345
318
266
338
271
353
305
332
328
363
286
402
396
295
308
330
332
271
370
273
378
394
353
342
223
314
302
216
283
353
286
361
284
363
311
343
312
235
380
279
340
348
258
247
375
317
365
359
393
299
299
239
336
407
225
375
347
410
318
317
360
288
357
310
225
377
369
348
282
351
280
362
237
305
348
373
321
315
291
331
287
305
272
319
376
366
339
318
316
359
330
286
280
241
314
321
250
288
336
289
297
323
330
304
290
334
287
308
286
250
344
266
274
310
271
290
233
316
243
328
281
247
319
312
273
257
317
343
307
321
369
321
282
339
346
299
398
391
328
350
250
244
314
323
364
341
338
272
311
319
304
430
310
273
344
332
352
375
308
304
333
385
251
323
279
279
364
267
337
319
360
343
306
314
332
409
322
366
279
228
368
335
304
360
305
350
305
362
320
334
281
393
344
285
280
346
360
357
361
341
301
267
307
288
261
289
319
249
360
231
314
378
266
270
428
297
233
328
247
386
270
386
332
293
353
319
313
282
349
271
255
306
324
335
284
273
315
336
319
340
393
293
280
285
303
359
348
409
256
466
231
271
343
315
323
400
234
355
393
358
315
303
395
251
335
329
358
291
343
405
322
345
344
324
272
338
265
395
295
357
309
316
262
319
215
274
330
334
353
351
256
324
310
303
319
301
340
262
346
303
391
291
268
278
309
221
287
285
336
300
311
294
336
308
275
284
341
252
397
289
355
337
342
329
267
288
318
328
328
324
306
328
425
281
376
248
296
334
323
372
367
358
260
389
315
344
271
332
339
239
325
340
283
308
351
326
353
346
366
378
332
301
326
301
286
322
305
336
396
310
356
345
329
333
299
353
221
382
260
342
297
384
301
313
347
272
331
337
256
360
316
276
370
282
328
344
359
315
368
311
297
298
331
317
239
300
332
270
269
325
372
246
215
290
361
342
252
323
281
230
391
326
204
377
269
320
349
286
308
362
376
321
257
347
310
274
327
373
289
314
283
297
328
354
278
283
271
356
343
353
303
359
319
227
358
330
275
262
408
373
316
258
226
283
283
286
272
329
290
318
314
375
339
269
225
268
336
339
274
232
372
240
305
346
352
308
306
332
362
302
297
265
361
256
289
300
321
366
302
309
383
265
393
313
318
327
320
370
312
339
269
384
250
303
329
359
255
274
344
306
349
278
366
353
344
307
344
401
324
238
330
317
275
368
241
289
320
349
360
308
287
305
339
373
352
297
316
298
243
282
299
304
338
372
263
263
240
351
363
306
376
415
320
192
258
365
359
314
301
193
297
300
305
283
318
288
353
336
326
318
374
366
269
245
369
333
280
313
305
318
337
231
284
314
274
275
280
238
270
267
315
297
329
298
347
413
323
323
280
203
293
238
290
284
247
362
303
328
286
318
319
319
302
280
262
394
366
281
259
293
334
325
282
234
223
308
271
420
296
331
317
316
251
359
326
331
261
263
286
342
311
316
248
331
249
276
303
290
347
332
367
328
307
420
290
266
307
361
261
265
359
367
363
341
355
340
248
413
378
349
385
361
255
359
237
278
346
303
229
317
405
327
335
332
334
365
290
319
317
274
332
340
305
283
339
340
402
307
311
382
297
284
237
400
320
230
315
343
292
319
329
269
300
331
283
309
378
367
331
333
322
281
389
255
252
382
292
230
329
392
245
316
314
366
304
364
380
249
297
368
381
304
293
266
313
321
306
315
248
298
277
216
305
275
273
305
321
352
314
328
307
328
332
351
263
358
305
382
275
318
278
198
275
266
418
384
299
308
377
300
299
367
318
281
232
291
313
313
306
213
281
332
356
309
312
317
312
266
293
277
327
335
349
288
319
310
286
280
334
337
254
374
309
323
256
346
270
272
316
295
242
293
306
324
196
278
271
357
394
326
296
345
307
299
351
323
382
433
246
341
318
267
286
396
316
349
353
308
330
373
335
377
283
293
330
368
311
278
320
339
338
270
387
324
265
285
297
348
324
297
357
390
376
330
382
370
243
251
238
295
334
316
366
326
312
290
377
350
330
273
354
321
306
346
327
293
340
299
275
303
340
304
302
360
341
358
357
434
395
334
266
380
289
373
316
309
322
312
282
357
269
365
366
301
297
363
260
368
371
315
333
293
326
329
303
248
335
358
319
223
297
298
266
336
274
318
273
268
238
408
282
350
312
250
274
293
279
229
274
295
266
301
410
355
277
365
345
346
361
336
287
315
315
225
327
425
270
314
262
325
330
349
332
342
386
280
316
251
339
294
319
322
269
377
255
259
306
274
299
321
325
273
356
297
292
310
250
245
327
264
297
275
242
344
332
357
266
323
331
295
302
359
279
296
375
300
279
377
318
213
323
333
356
272
362
327
274
347
330
271
378
307
281
333
326
284
278
333
241
306
302
299
305
374
300
376
325
324
251
380
308
274
311
307
251
353
358
390
251
294
308
314
299
251
316
258
309
326
370
386
288
318
294
315
362
252
240
425
332
432
373
322
291
331
335
347
285
276
289
329
319
321
297
332
251
275
360
277
338
310
267
211
368
323
257
323
298
298
315
302
337
364
329
419
244
359
319
315
272
267
217
283
330
229
360
257
312
266
311
317
392
307
409
320
278
412
288
336
368
299
402
228
332
266
287
303
306
335
305
211
328
353
315
310
272
348
251
355
336
322
337
297
359
333
267
388
315
322
281
288
366
271
307
358
348
271
309
311
393
303
339
285
252
247
282
381
316
241
343
379
325
323
355
316
396
361
331
368
296
302
238
377
312
365
331
295
261
301
307
259
191
311
274
337
281
361
221
266
307
360
247
354
255
370
351
211
300
295
375
377
385
334
289
349
326
367
343
308
390
364
378
222
288
357
342
385
406
358
324
300
306
292
224
262
341
268
344
319
336
275
249
366
266
334
410
379
399
310
378
278
343
301
359
229
294
316
346
323
324
250
197
324
346
272
325
306
313
380
367
331
350
295
326
318
281
291
418
326
284
326
307
261
366
314
257
346
379
305
352
382
320
341
324
337
341
380
300
344
378
257
355
310
267
274
314
337
313
374
275
345
356
322
323
362
251
273
323
310
375
316
325
247
327
275
247
256
391
393
227
355
287
354
404
353
369
310
358
320
301
318
312
345
281
351
373
324
325
340
288
302
312
337
289
376
309
234
333
316
259
310
425
379
307
378
300
329
306
418
299
342
401
204
324
336
327
288
385
309
235
314
330
345
354
272
280
285
351
265
390
288
299
301
360
353
293
322
317
230
288
329
267
262
351
347
257
318
287
382
294
363
271
299
320
348
345
315
323
314
376
349
365
363
329
396
280
334
282
324
331
301
257
283
302
282
382
343
327
314
335
373
419
230
340
276
276
318
344
393
190
315
321
354
289
321
399
330
230
305
345
270
371
371
234
369
293
384
346
282
278
255
319
318
235
367
294
293
381
372
287
298
260
410
353
323
225
323
348
406
287
291
347
283
293
228
279
323
368
296
332
362
378
375
299
308
359
314
351
344
299
221
325
276
285
227
314
340
276
365
329
268
387
267
286
340
365
324
245
332
306
354
342
309
278
371
423
322
329
275
325
327
297
342
294
320
243
386
377
311
207
224
351
332
372
367
291
306
336
330
316
281
281
310
315
290
375
267
318
288
313
233
261
314
302
344
341
349
411
352
395
368
329
214
299
273
406
313
306
340
304
276
334
345
240
310
278
280
304
374
249
222
328
356
317
332
371
342
360
298
329
324
271
283
314
325
321
337
376
356
289
307
226
304
341
307
246
278
284
249
298
210
352
236
354
372
310
300
292
364
290
258
293
284
292
329
244
344
211
343
316
353
337
350
319
292
299
396
342
314
279
268
338
321
336
343
287
316
275
344
335
293
333
321
301
274
329
227
274
288
327
332
330
290
347
272
343
354
255
236
358
310
328
337
282
300
312
297
392
296
294
293
316
308
341
308
345
341
320
385
305
339
350
349
348
288
333
306
343
286
256
348
349
294
356
290
360
398
387
308
281
358
337
305
356
287
313
300
285
268
243
372
319
281
326
277
319
278
364
327
329
337
299
313
303
279
339
325
350
413
283
271
299
377
267
305
348
278
279
399
333
332
284
242
341
273
324
361
341
283
280
295
380
286
253
346
309
269
350
309
339
275
224
360
361
347
281
327
358
396
336
333
277
368
291
339
370
316
242
302
322
278
280
288
335
365
274
311
364
271
303
275
372
255
302
286
302
293
339
352
255
298
368
297
315
269
264
326
290
301
269
287
315
335
334
275
284
229
371
332
357
353
341
289
398
384
309
319
370
327
300
350
330
313
310
299
323
240
254
317
317
348
215
325
296
309
318
387
309
299
335
323
393
350
343
292
295
376
273
330
323
361
276
303
353
262
328
354
265
277
292
244
354
317
342
342
328
307
291
276
336
348
348
361
282
347
321
295
287
299
288
295
279
295
353
311
308
356
436
329
293
239
297
379
268
315
252
293
326
332
360
290
380
373
272
306
308
277
309
397
386
301
318
348
361
281
295
250
230
358
328
379
329
351
337
342
311
322
315
304
394
266
317
304
290
322
320
243
302
321
343
319
263
337
313
272
311
373
347
277
214
355
341
331
365
337
328
331
347
311
266
306
236
313
344
262
272
274
300
325
282
307
243
368
240
308
268
271
296
255
343
307
277
207
333
324
220
262
338
258
328
353
382
290
298
276
310
281
342
310
391
364
286
323
322
299
392
302
325
319
382
349
253
286
264
235
279
315
307
268
294
326
351
336
364
308
338
371
318
272
303
308
273
287
260
387
333
310
252
351
253
260
234
328
283
311
271
224
375
365
314
321
321
267
248
361
389
344
278
388
300
293
313
321
235
342
295
323
241
351
342
411
285
302
320
253
384
240
312
335
313
301
268
355
346
279
324
290
382
363
283
267
328
288
247
339
333
322
366
300
373
338
380
264
329
247
364
246
257
257
318
343
378
362
372
320
285
346
321
351
348
343
370
331
348
315
350
305
317
382
327
288
278
299
288
299
328
341
358
354
234
323
297
277
324
269
401
379
328
308
289
310
323
248
386
328
291
327
367
356
277
334
340
330
300
350
309
283
335
329
335
337
236
309
327
299
285
335
226
289
420
286
236
271
284
293
319
351
241
321
288
304
289
292
312
275
365
295
298
314
274
231
292
326
352
388
356
297
328
319
293
353
363
268
338
303
432
436
376
329
334
318
295
275
357
342
326
300
346
297
332
311
268
280
255
349
304
340
325
333
306
385
329
314
295
249
335
255
360
276
195
337
363
289
270
331
333
339
319
347
384
331
323
360
268
265
167
314
380
365
341
255
272
301
374
295
305
328
285
197
301
288
331
295
227
325
276
306
371
287
307
287
341
271
379
374
281
352
332
357
284
276
368
319
301
313
345
256
330
320
256
343
265
326
291
373
310
289
334
385
393
420
407
225
288
279
381
357
315
299
318
333
300
328
356
330
349
289
299
377
351
362
328
308
267
200
332
315
349
357
315
297
349
369
274
263
370
350
381
255
225
309
245
281
287
316
371
370
297
322
296
271
306
372
377
346
293
292
252
292
302
349
240
344
314
292
354
273
374
347
316
331
278
354
318
363
244
297
311
242
246
306
379
315
240
309
319
303
357
290
323
304
291
253
351
339
275
345
398
332
252
407
318
301
274
299
272
326
295
327
379
372
267
275
326
344
353
352
357
302
277
218
350
312
286
309
344
299
321
314
410
212
336
341
280
336
221
298
319
318
251
377
290
218
307
285
355
358
280
260
284
334
312
345
347
308
287
351
328
290
317
274
301
297
287
320
352
315
273
366
364
336
326
308
356
309
298
373
357
260
393
360
344
231
350
318
242
288
287
330
343
291
310
285
255
311
310
333
202
329
319
284
372
271
212
305
256
326
244
236
245
298
347
346
320
317
348
366
367
299
305
325
242
361
305
383
283
284
306
285
329
298
313
292
342
284
282
352
299
227
264
320
316
358
339
270
278
368
292
306
363
282
291
330
366
316
313
238
296
272
343
287
315
291
258
283
260
342
306
363
188
309
300
242
307
383
266
324
287
402
372
308
311
322
408
284
311
324
218
296
246
361
368
317
306
322
330
258
341
288
342
273
311
233
300
381
289
236
367
365
233
346
324
340
293
353
366
249
382
354
353
337
356
335
289
314
410
357
327
295
298
284
340
249
278
302
358
298
336
275
371
340
363
287
328
283
361
371
396
268
283
275
329
334
316
325
305
311
400
331
303
248
348
315
263
305
341
319
311
281
211
358
314
289
338
281
273
340
272
222
322
247
298
273
204
342
350
300
232
356
277
392
358
404
398
278
350
297
257
245
334
309
320
318
290
290
307
303
314
290
290
313
330
326
287
377
350
325
259
263
339
267
330
350
261
312
271
297
257
359
363
297
338
371
370
318
322
289
298
245
323
321
286
383
297
377
340
339
266
295
292
258
273
329
236
316
261
279
256
352
245
321
415
368
340
289
411
343
315
273
335
304
356
262
285
335
343
329
364
310
248
269
283
263
353
365
273
319
347
269
236
350
230
300
358
326
335
326
259
191
319
344
273
393
284
349
310
279
339
265
277
345
310
374
388
238
315
330
310
385
259
363
350
262
278
358
362
351
377
273
224
240
324
344
309
336
279
268
300
344
324
273
302
256
302
315
271
309
338
312
380
342
307
347
297
312
366
287
320
295
213
328
259
307
338
325
299
240
326
357
300
309
324
364
265
379
258
232
306
332
394
307
299
314
272
302
288
327
348
342
317
307
289
296
303
276
326
255
298
284
311
322
244
274
276
324
382
322
366
321
324
308
272
276
275
366
298
244
309
293
270
316
327
366
354
351
385
330
345
310
333
369
323
335
287
352
313
323
375
382
351
396
269
313
336
283
325
314
350
407
305
335
382
258
248
337
317
279
322
323
306
323
387
377
390
295
319
279
393
272
325
280
314
315
255
339
316
399
347
382
318
322
337
297
280
331
365
335
271
291
301
368
266
292
366
235
364
284
342
375
310
260
287
313
276
273
237
437
293
302
319
324
251
244
330
326
269
332
327
244
301
262
353
345
276
360
338
363
379
358
316
352
338
220
323
368
292
262
299
421
335
304
299
352
301
316
352
358
348
338
389
345
306
287
320
319
398
306
346
351
375
283
315
325
356
325
311
241
263
302
327
297
344
238
303
357
354
241
332
307
385
308
328
360
355
351
300
292
344
348
274
309
328
363
327
274
372
377
268
315
287
340
302
419
357
289
292
242
290
279
268
302
282
289
317
367
300
360
287
372
316
274
282
332
327
318
202
261
296
258
258
319
380
284
326
292
359
333
300
353
275
294
263
299
292
326
322
278
241
381
352
386
339
305
311
285
299
317
230
369
300
260
311
290
291
304
309
248
361
345
280
281
272
250
316
332
306
347
394
354
262
321
332
313
302
332
319
366
376
269
267
432
341
240
275
278
393
375
311
274
342
250
337
278
294
339
329
314
260
263
282
339
277
355
265
307
318
286
344
326
277
344
355
329
277
302
267
321
337
345
320
316
308
289
276
297
388
324
283
277
361
192
277
291
299
326
277
278
204
335
285
352
222
244
356
226
291
330
253
283
389
410
364
325
313
345
267
323
323
282
327
338
261
334
324
184
386
255
339
223
399
359
277
279
378
331
409
240
339
329
340
307
279
310
318
311
265
285
326
341
278
300
336
308
313
359
371
223
337
310
369
302
269
325
365
367
336
313
317
341
286
274
419
298
316
292
324
332
308
343
328
300
307
395
291
377
342
302
376
309
321
340
281
401
274
257
382
271
335
343
313
384
275
262
335
304
288
395
314
306
306
281
317
389
332
291
377
287
260
292
266
413
301
271
349
325
317
323
265
254
366
298
283
335
340
305
311
363
277
298
296
355
265
310
363
366
352
286
279
338
356
282
234
269
325
309
368
317
214
253
270
287
290
386
287
350
262
368
397
233
334
295
352
342
364
318
301
287
261
365
319
340
336
306
283
368
335
310
319
355
339
220
406
309
448
355
315
309
307
274
319
350
397
296
394
334
322
274
371
335
252
348
373
316
324
307
253
291
309
325
308
272
334
356
301
275
356
270
300
292
313
308
390
393
324
396
259
327
372
206
392
229
321
282
271
336
334
392
306
325
343
268
319
340
348
324
315
291
293
375
362
238
240
324
314
296
309
204
364
233
269
299
422
305
174
300
317
286
365
358
240
235
323
325
288
292
240
319
362
436
328
344
346
329
305
301
361
325
264
339
340
376
251
320
339
395
390
348
241
329
304
313
298
417
290
251
344
285
307
260
242
304
289
225
358
321
258
304
330
334
300
286
319
329
326
299
331
335
362
339
325
384
330
321
378
222
245
320
357
283
342
379
325
369
361
265
387
314
300
313
303
268
321
373
343
293
244
273
311
318
296
315
321
173
316
384
339
358
301
293
328
326
312
348
274
349
271
254
377
321
306
355
318
305
246
308
322
327
377
279
345
385
351
409
329
314
381
318
260
359
366
378
308
338
413
304
321
247
289
308
420
295
322
334
323
281
328
379
285
360
430
244
284
420
281
273
303
261
371
260
330
287
251
299
274
321
347
254
333
281
315
400
300
389
303
350
375
366
310
345
320
256
396
376
307
255
345
368
289
400
260
369
285
315
345
326
296
347
283
280
381
286
281
395
251
316
307
284
314
322
282
298
391
244
307
280
348
421
220
349
304
366
380
306
348
307
271
331
334
358
292
302
346
294
365
330
308
323
321
225
323
247
321
332
282
310
282
391
248
329
227
354
346
339
313
330
266
337
327
324
373
339
308
331
301
332
345
261
306
271
267
339
322
348
256
304
302
374
324
311
345
378
243
371
257
385
310
345
308
321
402
358
350
318
314
342
400
263
246
265
311
250
224
298
297
387
312
208
262
279
251
350
310
353
311
312
297
292
460
327
251
378
369
294
320
322
267
247
370
353
337
294
316
279
417
345
229
303
304
328
214
350
371
294
247
213
307
325
246
327
403
290
331
338
306
306
281
285
273
365
377
333
267
368
319
307
363
347
292
351
305
333
337
376
317
339
336
360
319
360
316
268
346
357
361
358
320
384
350
375
326
320
214
316
333
362
412
302
311
294
337
324
326
283
296
246
257
357
290
280
389
275
354
257
364
349
293
378
322
282
301
280
304
355
290
306
336
269
286
299
413
326
304
393
341
376
317
392
348
308
345
261
269
286
383
284
415
325
346
333
351
319
390
288
346
367
257
326
300
308
297
370
256
346
236
332
333
320
361
360
311
373
312
282
306
295
270
324
344
313
353
292
440
416
360
354
290
368
359
357
378
220
306
299
327
367
333
323
354
370
323
311
288
322
357
323
321
360
301
262
311
294
371
363
357
301
345
375
371
276
377
298
413
307
329
274
340
262
337
271
253
317
266
338
325
283
298
294
300
294
288
332
320
399
288
314
379
275
292
317
320
375
305
347
272
300
327
405
344
271
259
299
288
297
363
390
280
267
300
378
368
321
271
331
362
229
420
272
376
323
354
280
371
250
363
327
374
386
221
318
244
313
345
313
317
277
332
358
365
289
257
320
331
353
321
257
353
385
315
274
356
378
351
279
342
249
385
292
273
358
254
286
373
285
222
286
273
275
321
311
299
332
314
258
347
364
334
228
347
333
322
326
313
280
377
295
341
314
332
373
354
293
296
359
326
312
228
334
278
337
345
376
324
289
341
358
309
314
250
306
299
275
280
371
289
291
359
287
286
356
251
278
318
371
313
311
366
327
377
229
348
270
324
367
263
218
300
339
316
340
345
312
293
290
269
295
335
384
304
293
302
256
359
310
358
396
298
367
290
282
348
320
349
318
316
404
362
310
337
324
333
240
255
267
352
376
320
314
268
375
232
217
285
299
266
355
341
356
270
431
350
360
341
327
299
352
307
328
297
303
262
294
370
235
337
390
348
360
297
290
311
344
285
310
259
311
355
240
248
296
284
252
409
363
365
343
289
389
226
325
332
293
304
296
387
360
324
322
285
324
284
327
329
387
319
313
308
296
316
350
294
282
373
236
363
237
325
354
303
400
232
334
329
277
327
281
346
283
253
305
329
304
394
278
282
270
358
358
389
328
320
297
256
327
278
359
360
405
418
283
262
333
397
336
320
362
344
221
376
263
260
354
289
340
299
329
332
305
355
362
315
291
250
298
301
304
391
241
293
348
277
270
423
370
275
322
312
253
381
311
315
272
265
308
290
281
306
381
336
392
259
269
326
262
258
319
295
314
354
321
308
316
287
318
351
310
297
328
310
339
279
319
341
284
352
344
338
358
235
320
269
326
335
274
346
402
367
284
327
331
327
382
280
302
246
373
320
285
317
353
272
268
280
230
283
394
368
307
345
351
390
338
363
266
302
302
374
273
265
308
278
369
389
315
360
327
273
302
255
275
380
386
311
298
294
226
318
310
284
283
351
242
251
295
370
281
299
269
305
352
274
395
339
325
293
289
274
308
296
304
347
328
324
312
289
295
335
233
370
366
328
262
308
301
292
282
275
268
311
305
268
339
370
299
287
342
330
327
343
274
304
253
345
373
246
234
324
351
189
324
226
327
393
297
412
290
285
359
285
337
299
307
294
416
274
304
283
392
361
278
307
291
242
330
328
340
306
366
282
257
402
322
306
258
344
305
279
339
266
302
245
303
317
295
365
364
268
271
263
294
353
328
297
345
323
385
274
275
305
403
339
326
292
264
307
315
273
423
303
336
296
342
213
292
327
306
388
351
290
290
312
228
347
252
298
255
274
320
364
378
340
270
280
382
338
346
337
248
284
326
292
375
363
246
345
385
294
302
323
285
349
345
311
348
310
372
353
321
390
342
377
274
324
360
261
287
325
239
321
335
357
249
235
371
312
338
382
323
231
324
289
304
286
308
395
327
310
305
300
229
346
311
357
361
265
297
364
368
325
341
335
359
389
301
269
326
308
334
299
329
326
395
334
315
336
219
240
354
346
306
353
244
333
295
287
315
253
340
323
231
281
367
380
344
302
322
349
334
303
289
239
332
302
302
285
379
251
422
310
332
236
316
352
255
321
304
356
296
344
343
285
388
363
247
293
302
341
219
310
354
385
287
274
189
370
243
372
416
343
301
347
272
431
220
319
319
338
364
264
318
385
357
284
222
407
286
313
308
367
336
330
434
369
363
352
241
309
319
371
312
308
303
365
323
266
221
193
322
336
324
348
362
290
304
365
286
332
340
324
304
302
251
222
317
393
357
342
322
330
325
314
317
345
309
328
278
340
343
354
309
322
351
288
221
270
254
355
363
381
271
321
353
306
321
343
373
308
427
390
299
256
299
370
275
254
203
336
275
358
347
320
311
354
290
364
279
326
268
241
369
278
316
305
363
338
352
334
295
299
299
345
325
284
329
386
398
334
362
332
360
337
293
383
320
284
317
369
268
335
372
396
275
311
413
258
333
327
348
352
319
266
335
288
345
334
360
325
322
307
291
294
238
335
209
300
345
395
401
304
283
277
371
338
267
352
349
279
289
351
264
234
324
262
400
279
317
319
278
314
299
250
271
254
379
301
379
350
355
260
312
333
366
342
303
341
312
331
314
380
308
389
402
284
271
294
323
287
276
298
331
301
318
217
320
318
289
269
340
366
373
321
276
285
345
304
336
288
344
332
260
328
288
322
374
207
293
322
316
279
308
297
243
218
259
320
301
262
282
238
318
368
367
301
306
281
342
350
265
360
307
381
305
261
249
234
311
320
329
310
227
343
313
265
306
325
321
374
280
299
367
388
338
317
317
361
311
293
382
340
369
263
325
312
426
303
355
331
290
324
239
385
257
268
370
392
241
290
322
230
323
320
221
362
308
343
283
330
357
377
291
275
361
373
357
360
287
364
357
239
272
320
381
349
366
341
336
244
344
319
335
335
401
354
383
325
319
338
250
254
330
264
309
317
322
331
250
304
364
270
246
325
294
348
342
323
378
227
281
278
288
285
243
337
279
431
351
310
362
328
268
344
284
375
218
365
353
307
326
375
383
308
334
237
240
269
286
238
318
270
395
364
349
269
350
254
347
326
299
330
264
325
362
279
346
188
262
372
239
354
207
283
348
352
298
369
336
246
363
278
344
336
289
328
380
308
279
279
356
264
360
263
299
265
369
330
365
276
281
297
280
326
286
352
195
359
356
361
381
325
294
267
264
264
326
327
325
393
242
300
312
270
276
361
324
306
277
383
388
250
321
232
258
315
230
299
387
241
373
291
338
317
337
350
330
361
295
348
260
330
241
275
289
350
241
393
279
342
294
387
312
348
300
306
409
231
297
262
391
236
403
288
290
306
251
281
320
312
233
329
324
284
375
356
334
265
254
397
296
414
399
356
355
346
289
281
386
297
290
253
302
294
343
290
382
275
338
336
258
347
316
313
311
204
327
388
355
288
246
259
319
336
284
293
314
365
345
338
327
316
319
397
234
286
254
363
318
260
341
348
278
303
324
318
216
341
296
406
312
266
407
340
352
264
218
255
347
348
313
314
303
316
310
349
230
363
265
322
352
361
320
203
339
284
337
280
252
321
233
289
362
349
259
370
250
373
307
271
273
258
260
332
364
346
302
363
361
294
292
304
256
245
345
232
316
354
350
290
429
327
283
314
385
317
271
386
279
311
310
331
251
292
317
282
334
310
289
349
331
344
391
286
291
396
317
310
305
274
277
325
274
372
332
216
367
307
326
373
353
328
279
304
332
321
315
384
311
258
324
357
351
365
377
387
380
340
314
353
210
272
364
284
386
243
285
316
303
366
380
361
354
272
275
235
317
346
335
346
288
412
352
338
295
364
331
271
232
414
308
321
302
283
328
283
293
355
325
356
258
266
245
388
311
290
374
240
304
196
282
286
286
365
240
381
349
268
375
299
299
248
427
276
318
329
345
346
280
341
320
308
374
290
301
348
289
283
350
224
222
361
299
365
355
337
368
296
319
349
401
235
260
327
397
318
289
331
321
317
332
284
297
370
330
263
347
348
342
336
303
230
358
316
377
320
283
314
289
278
311
256
278
309
261
367
243
238
333
337
349
321
202
320
267
222
264
288
285
320
323
287
252
383
294
324
354
310
331
363
246
312
411
352
314
310
356
283
331
351
373
402
354
244
289
268
333
368
302
255
339
354
316
262
336
351
319
350
350
312
292
387
411
317
386
317
327
331
229
330
388
349
237
238
346
327
345
381
334
332
323
375
350
312
360
390
304
329
294
327
347
344
292
353
338
318
382
238
328
365
290
376
364
254
330
355
400
330
323
436
383
248
375
356
329
383
365
293
312
296
310
280
325
350
313
291
308
208
259
351
327
325
278
297
365
334
342
358
297
390
305
315
357
325
276
313
339
344
379
303
350
372
266
337
256
262
301
352
320
274
305
317
318
278
366
355
447
261
309
290
295
376
338
226
260
273
251
434
370
318
370
306
352
235
344
245
394
343
352
394
354
323
299
282
384
231
321
299
365
353
300
315
307
372
209
324
358
321
317
342
314
346
235
344
297
281
357
340
309
325
322
324
277
425
352
309
382
301
240
265
364
271
256
249
306
334
318
282
371
389
301
312
265
390
334
354
319
325
282
306
334
292
346
336
291
302
325
254
384
289
282
284
363
275
348
344
359
340
301
357
322
205
317
389
313
326
257
323
316
259
296
322
290
366
312
228
297
295
348
265
341
336
285
368
310
297
326
219
344
359
280
382
412
304
346
355
360
327
336
372
308
303
395
338
294
301
320
308
285
467
322
303
336
318
328
344
209
296
263
221
387
194
293
312
300
289
341
341
335
234
299
302
343
383
311
331
286
369
299
292
303
325
334
299
305
312
327
390
305
291
335
390
367
357
311
356
305
287
271
296
334
313
227
252
296
324
292
284
289
240
359
322
346
362
300
421
391
332
252
316
353
333
258
266
256
353
351
309
331
304
327
325
390
321
268
330
334
326
354
360
365
296
375
357
375
291
294
324
323
265
318
284
342
334
265
341
301
334
343
270
333
323
261
231
378
335
350
242
290
321
280
282
341
359
321
307
279
365
342
319
358
284
309
297
288
432
352
276
282
364
279
241
339
360
265
234
240
267
376
353
326
352
309
252
385
337
315
332
369
408
396
309
347
334
266
387
332
271
261
329
407
252
326
399
355
356
319
384
372
388
311
335
370
310
317
300
366
252
295
295
327
333
360
339
309
302
274
248
337
291
309
330
351
362
280
350
229
351
341
343
344
296
299
287
245
232
330
221
374
324
293
313
245
349
271
292
214
299
339
274
352
248
335
310
294
279
286
368
317
353
320
345
229
298
336
297
332
313
289
289
290
352
365
318
286
366
332
357
330
316
363
326
237
282
252
365
282
346
301
280
369
316
281
376
351
323
308
304
395
318
319
381
260
300
269
295
248
369
286
315
288
337
264
328
372
244
240
339
353
263
289
274
250
283
339
272
351
364
322
347
333
287
325
306
295
427
329
336
339
319
358
312
308
382
206
380
286
225
204
404
332
307
317
294
312
314
285
307
407
318
237
275
318
358
267
380
253
368
329
308
337
249
370
259
317
372
361
370
358
292
321
338
339
355
271
298
229
354
308
274
337
426
343
331
311
406
307
319
297
321
355
344
376
344
331
319
350
381
338
299
329
286
339
266
364
366
311
356
272
303
270
292
290
418
285
291
270
318
386
242
345
407
295
397
396
301
465
297
269
266
276
305
262
350
316
286
328
402
324
224
270
398
313
249
282
294
294
245
312
339
399
284
301
305
336
276
193
366
283
333
322
312
281
260
282
256
372
360
394
316
288
249
313
312
334
292
356
296
317
299
333
345
388
255
285
354
312
322
389
362
340
320
337
239
230
293
323
298
328
367
340
328
278
214
409
324
208
292
402
306
234
251
244
319
385
336
237
336
283
305
338
388
290
327
269
387
322
274
193
335
415
365
359
286
340
325
307
398
320
262
218
330
320
270
292
279
271
274
371
253
297
321
324
367
277
274
355
290
351
354
287
288
360
276
366
286
314
328
365
256
276
295
249
316
372
300
285
309
333
289
338
367
425
305
336
280
323
335
300
355
380
290
282
308
301
358
368
349
315
286
331
317
301
240
226
264
386
353
325
312
358
315
336
331
338
353
318
277
311
348
338
336
330
284
345
187
330
265
283
201
320
344
334
346
319
289
355
394
367
321
320
340
344
314
250
235
304
242
336
355
287
358
299
313
338
389
217
323
287
270
328
301
383
309
363
341
319
314
379
343
375
324
362
322
221
357
308
309
304
285
340
384
219
273
261
269
256
371
344
323
298
327
320
365
353
289
269
228
222
361
229
313
330
307
372
328
317
318
314
244
377
295
315
344
331
351
364
265
312
361
255
294
331
362
331
386
323
342
269
242
317
337
378
309
333
328
301
349
316
261
353
303
351
348
298
363
399
367
376
386
288
283
323
420
346
337
320
354
311
269
304
316
269
268
311
334
345
287
269
275
291
305
366
267
348
301
363
303
359
349
257
250
365
287
302
325
330
311
330
309
231
365
277
337
320
364
334
362
264
310
370
331
296
328
273
353
351
354
332
301
335
291
231
316
328
322
372
253
416
284
312
393
330
265
302
222
371
267
336
302
306
320
350
338
348
337
368
364
396
371
370
331
312
335
352
287
314
264
336
277
402
402
311
226
293
323
312
344
328
294
339
333
327
338
280
291
295
373
337
327
337
290
261
295
172
311
271
274
297
310
310
341
271
333
414
319
320
306
315
323
346
339
358
304
300
232
306
322
361
291
276
244
337
341
380
229
300
304
372
309
285
281
357
282
337
298
270
253
233
424
389
316
343
219
310
278
314
396
400
307
303
362
203
376
385
367
216
408
311
317
356
346
315
354
407
243
358
340
358
318
401
276
357
367
372
329
393
319
331
291
211
222
303
283
365
289
332
278
298
305
267
323
319
367
314
365
249
330
298
330
270
343
311
288
300
324
303
350
240
333
329
314
384
440
328
302
300
370
339
304
262
355
341
367
295
293
335
303
302
345
327
280
337
396
344
300
344
340
383
297
319
357
284
300
373
227
283
326
275
229
407
317
265
260
289
347
264
326
363
352
289
301
358
317
410
406
274
313
351
270
303
387
283
293
254
390
379
324
282
278
325
330
352
311
393
355
320
322
271
364
324
265
294
360
423
346
275
342
301
332
336
303
315
315
255
268
325
319
376
248
219
323
198
225
312
292
350
308
385
230
392
350
296
263
342
294
277
241
343
372
281
381
272
341
358
364
301
257
316
320
304
301
322
225
309
289
366
317
308
265
317
265
329
236
327
285
366
343
385
350
299
269
354
365
205
335
311
313
380
310
228
293
278
337
333
352
335
328
297
341
290
378
356
255
353
339
281
314
346
341
231
338
323
308
314
387
249
376
297
379
305
238
294
318
400
276
300
405
320
267
254
325
362
282
266
284
280
316
315
343
340
321
298
339
299
415
280
342
276
274
314
259
324
339
371
337
299
296
318
331
293
287
381
317
271
401
346
345
259
358
381
338
285
350
315
338
375
268
349
382
312
266
352
306
241
269
307
284
273
310
324
290
334
310
273
208
243
302
340
276
256
353
371
297
326
351
333
372
369
235
314
347
358
314
283
336
367
349
301
312
325
343
317
236
240
365
322
320
330
325
322
331
317
357
275
351
320
274
323
323
304
258
295
304
275
359
279
337
226
376
345
348
234
334
309
243
274
325
275
326
312
420
305
285
314
421
267
298
353
302
233
288
360
311
334
282
391
318
282
359
303
339
329
365
288
367
369
236
341
300
233
327
326
331
315
294
338
342
257
390
308
311
264
344
324
284
381
406
393
359
273
305
418
337
315
287
277
291
262
322
247
338
325
261
316
356
348
442
358
292
284
321
351
301
363
244
382
359
352
390
269
299
239
316
267
357
330
353
412
338
275
347
358
312
345
343
278
302
337
342
283
239
271
338
366
320
282
288
218
320
307
305
280
374
209
440
349
302
294
274
315
254
251
293
326
293
330
287
343
371
336
350
330
251
376
327
288
362
321
329
284
225
370
303
374
343
243
298
311
352
310
249
258
395
323
290
288
306
334
312
349
389
288
361
227
247
363
328
372
369
314
347
285
389
307
329
365
330
310
245
312
279
230
244
347
308
371
247
364
283
267
346
224
400
336
330
294
356
239
351
325
316
249
399
424
275
264
321
323
350
334
359
327
280
316
345
374
301
311
295
315
373
272
284
352
264
314
306
306
404
308
337
314
344
304
321
311
322
256
282
245
305
338
243
357
330
285
279
322
389
266
305
315
251
362
287
208
358
273
362
326
282
299
299
287
305
342
293
339
323
297
367
305
260
327
315
331
372
290
365
306
354
330
276
306
413
354
324
347
309
375
388
254
321
296
347
362
327
252
350
358
308
256
359
337
320
359
312
299
311
324
406
298
245
284
288
348
242
283
317
330
253
316
285
359
371
372
272
375
385
314
331
255
343
309
247
349
274
318
288
318
301
338
272
287
282
412
315
316
398
258
247
310
371
296
351
276
249
323
302
394
229
383
370
377
200
286
292
296
341
275
341
353
316
210
308
305
345
297
363
299
267
243
320
339
282
241
339
299
236
304
384
330
318
231
398
341
314
338
370
305
316
284
367
329
249
301
270
318
364
293
338
336
296
278
283
299
354
387
341
374
259
297
352
302
209
335
296
307
276
294
281
332
270
244
408
264
324
321
343
299
311
218
256
383
269
257
286
268
325
358
235
363
277
303
336
293
323
311
318
341
326
244
335
302
255
382
376
283
290
273
236
228
274
322
233
273
229
321
351
278
373
319
392
296
297
338
285
320
303
319
405
303
256
320
278
381
345
324
318
264
310
378
291
248
344
235
396
314
239
292
305
295
329
337
368
293
330
340
272
240
370
323
293
326
257
359
294
369
349
244
328
290
352
303
391
268
286
246
373
325
341
365
308
275
369
290
304
265
389
266
412
299
300
247
402
318
270
431
369
358
303
345
325
383
354
314
287
279
353
289
287
321
339
266
332
363
251
352
297
353
310
375
330
333
373
299
359
228
301
263
329
344
373
304
292
260
322
320
205
296
288
363
331
364
333
343
344
234
291
250
292
325
257
269
373
365
250
358
269
353
326
341
342
431
299
336
270
362
297
273
295
289
327
402
346
386
304
353
253
266
341
348
343
384
327
331
279
343
294
264
337
261
321
276
221
364
318
330
397
301
271
340
302
272
244
276
317
301
367
272
338
294
344
352
296
373
294
299
377
313
302
319
298
362
299
294
325
345
382
280
275
361
265
268
334
358
349
278
292
295
393
240
386
237
274
408
407
380
279
307
271
347
277
348
304
368
354
324
392
281
346
277
304
306
312
303
303
332
319
355
359
332
234
319
262
325
266
296
260
318
395
319
254
296
314
331
264
395
301
289
338
307
334
237
266
344
345
311
328
223
325
263
368
307
313
278
242
375
278
374
333
256
367
277
326
363
290
250
303
269
349
261
339
360
254
329
309
260
300
327
342
353
317
307
343
336
289
380
243
268
298
388
227
317
358
331
404
319
359
304
378
309
244
328
392
295
393
349
248
322
348
407
282
308
149
319
306
413
259
341
281
334
327
287
306
292
351
181
225
270
375
309
339
304
314
306
370
277
301
283
289
228
291
259
393
313
290
245
340
359
297
281
373
387
217
258
348
371
405
362
275
393
284
285
319
360
326
320
338
364
370
315
269
268
290
303
337
247
366
267
320
401
283
297
272
279
266
370
314
330
400
302
352
308
329
288
290
245
359
332
256
291
322
334
265
310
348
352
286
444
293
235
304
321
404
387
386
239
305
321
295
347
357
304
332
302
362
302
352
376
319
299
340
357
319
255
271
376
261
279
276
250
293
262
342
368
375
321
374
360
269
326
349
294
350
385
319
292
376
363
344
297
343
368
188
295
316
415
275
271
335
289
412
387
320
299
383
342
263
357
270
349
391
231
315
341
328
278
262
363
350
265
290
361
286
327
288
290
362
290
329
328
354
297
331
367
277
303
271
282
306
291
299
317
299
344
337
336
314
322
442
234
329
253
310
380
302
299
329
336
366
321
281
343
334
313
327
261
306
332
304
331
318
327
306
227
342
357
290
311
338
284
282
318
282
304
309
319
301
201
338
423
336
359
265
342
318
267
305
279
213
284
302
299
301
303
299
359
347
313
336
233
295
323
347
297
318
277
307
335
329
398
375
333
365
316
240
329
292
262
292
271
251
254
380
300
271
314
326
317
335
287
334
316
391
233
289
372
381
390
275
340
395
222
315
332
335
357
369
355
390
370
335
307
278
258
310
315
285
314
256
362
328
338
320
356
271
316
405
357
392
247
264
294
379
308
381
301
356
288
338
271
280
414
243
294
340
416
349
353
341
278
373
277
356
311
327
258
298
308
343
316
379
294
244
326
237
308
301
331
382
386
254
317
173
319
310
400
317
346
305
265
244
320
327
198
290
287
365
255
407
231
339
294
293
384
370
308
324
316
256
285
251
355
356
334
245
350
353
288
265
328
254
309
352
294
342
273
328
262
355
368
297
333
261
334
387
357
287
369
305
399
305
316
345
321
298
315
296
281
233
310
379
418
268
290
327
308
315
353
363
318
385
244
306
312
344
402
366
265
318
341
285
385
334
336
370
348
245
257
320
325
312
250
379
305
243
271
396
302
330
314
257
272
342
358
331
259
342
337
325
257
301
372
310
266
270
266
306
307
343
336
298
367
396
305
311
301
377
320
350
313
303
322
292
348
325
300
419
333
283
385
317
346
341
270
326
292
316
324
320
261
329
315
309
282
308
351
326
329
363
352
276
421
245
297
298
255
320
287
257
324
294
356
310
307
280
426
338
218
301
367
341
329
264
235
338
285
290
280
261
391
322
280
259
314
303
295
317
341
337
309
253
319
381
324
285
315
296
359
327
328
315
387
294
366
403
318
308
360
356
324
370
296
358
314
360
361
272
330
330
306
261
301
207
415
288
339
335
248
308
331
296
339
344
253
296
217
376
357
292
355
317
298
318
277
310
355
254
280
337
213
293
353
297
337
352
327
304
285
386
385
311
319
286
324
378
292
287
268
186
292
245
240
384
333
264
312
401
330
331
251
309
357
272
292
359
283
299
392
314
365
276
311
254
301
280
322
367
304
351
358
371
344
316
221
374
241
243
339
379
281
208
272
304
315
334
385
316
422
340
278
379
319
347
286
303
363
245
318
302
248
315
324
239
318
332
291
328
253
356
308
352
309
332
318
292
285
317
298
306
347
336
312
369
369
250
384
259
276
299
328
292
352
296
343
385
260
310
330
322
321
355
320
288
301
296
374
329
282
316
333
277
289
354
290
352
374
221
278
264
280
250
287
318
228
343
336
322
276
319
330
257
253
355
286
316
301
359
343
287
345
362
261
259
380
281
323
279
359
390
306
265
290
319
277
361
236
353
357
303
260
346
378
323
325
296
307
356
285
277
367
385
322
221
317
326
368
319
389
359
298
332
364
246
316
309
321
249
361
373
367
291
376
430
298
250
319
245
270
274
358
369
273
315
348
326
251
302
422
319
314
313
323
410
300
393
320
301
257
186
338
319
304
285
262
331
365
352
326
281
332
339
343
292
400
377
362
343
212
284
217
344
328
269
305
257
327
290
348
275
249
287
333
284
307
247
361
329
389
356
308
249
264
307
359
304
295
249
339
282
341
200
304
301
278
295
333
288
294
345
356
302
304
263
312
349
390
426
311
291
271
347
350
331
272
332
280
253
388
299
269
315
337
317
298
228
243
341
318
243
358
345
338
304
255
325
264
305
328
297
333
381
335
345
401
332
331
328
295
326
289
260
320
418
357
324
223
336
319
321
240
347
302
300
388
353
349
328
307
366
305
282
268
326
304
305
317
263
308
349
349
277
382
285
264
318
250
304
327
327
316
304
276
359
316
328
290
367
288
314
348
382
275
323
264
242
310
337
329
340
291
219
309
337
358
294
349
368
316
317
356
236
211
260
368
309
364
323
256
343
404
284
261
274
288
283
362
305
311
349
395
264
344
296
297
433
317
387
368
358
311
285
311
374
393
322
304
240
314
306
408
280
396
361
302
263
372
303
332
352
261
334
319
325
316
295
324
328
289
347
331
304
329
332
324
348
364
326
368
333
235
324
316
304
369
226
340
397
279
332
342
305
289
371
265
359
264
331
334
322
390
233
287
351
282
312
275
406
315
216
404
292
306
340
257
319
299
352
299
321
294
273
299
355
325
278
287
391
334
301
398
367
355
334
331
356
326
310
318
335
347
296
317
311
285
311
281
312
340
291
278
319
313
241
250
307
348
379
250
299
318
314
321
333
313
361
260
348
323
323
349
284
330
226
360
328
327
395
275
239
361
271
237
340
301
383
376
325
229
307
243
314
275
273
314
294
322
289
297
309
338
262
312
297
206
203
337
335
329
387
340
294
346
293
353
306
355
382
359
347
351
262
242
354
320
312
299
345
331
304
328
328
235
354
332
291
284
335
290
387
251
369
244
342
305
331
352
263
298
317
247
269
358
308
275
342
371
353
422
364
374
317
223
351
202
252
309
309
322
372
320
337
353
325
267
305
372
351
263
334
342
262
387
285
291
330
270
362
324
265
348
272
320
350
330
386
321
317
321
275
376
255
337
322
375
352
367
279
339
426
335
285
345
274
302
351
234
250
313
274
203
221
354
337
262
370
273
253
363
321
303
324
357
215
314
300
368
309
305
345
323
246
263
281
256
274
276
397
362
346
300
274
303
302
368
330
302
390
289
306
205
297
336
298
322
252
307
286
330
339
267
255
261
259
319
302
356
281
367
310
246
347
373
290
279
276
312
314
285
320
361
311
362
332
374
334
326
299
401
306
310
305
319
235
290
380
313
344
305
281
308
209
328
394
276
290
291
312
281
304
329
232
296
385
334
390
293
307
319
365
341
280
316
324
334
352
323
300
286
247
334
331
311
246
340
344
394
429
351
325
294
314
356
318
381
351
294
311
339
355
281
290
351
309
301
256
347
228
378
339
420
319
382
269
287
283
344
334
286
307
292
341
285
349
270
351
311
348
313
332
278
336
386
326
315
309
298
324
348
345
351
319
368
373
329
299
325
388
313
339
332
392
331
228
265
325
329
360
332
323
330
283
269
399
275
239
364
347
305
282
331
300
383
316
246
293
265
324
335
338
404
330
298
276
342
304
300
286
300
296
378
270
352
286
306
348
301
308
287
288
288
281
332
272
376
367
278
258
199
341
342
301
293
338
334
320
332
263
354
245
363
286
216
294
397
265
337
251
305
339
355
283
281
348
347
273
346
294
338
324
264
420
266
358
381
259
325
280
336
262
310
352
322
288
305
390
307
320
304
246
285
365
314
390
286
341
294
375
330
296
316
308
247
298
307
351
303
271
338
325
327
297
350
335
317
290
330
315
308
252
294
366
390
255
256
350
285
274
276
305
291
365
332
290
357
243
315
261
274
345
354
406
391
263
229
351
298
320
377
378
271
303
349
364
352
343
251
298
307
362
350
307
327
354
326
258
402
317
318
383
427
312
227
304
258
347
366
386
296
265
349
322
375
288
349
328
286
321
450
337
323
295
291
294
314
312
295
316
407
366
306
254
348
307
292
200
312
379
323
359
395
341
340
339
265
312
245
341
370
320
323
393
387
229
301
358
280
355
277
210
332
334
307
331
237
280
264
279
359
308
336
321
343
294
308
275
320
356
351
212
382
331
343
290
337
354
341
394
388
314
370
381
284
235
393
296
255
290
309
338
359
264
380
392
248
226
344
351
308
284
400
362
306
331
294
375
407
353
318
275
293
221
397
308
339
326
240
252
234
296
331
333
390
289
348
278
224
293
285
302
253
362
314
329
373
327
404
266
296
358
275
353
323
345
326
416
316
302
355
337
342
261
326
261
361
323
318
257
223
289
336
235
324
382
304
325
206
291
328
228
317
306
268
205
297
314
357
314
238
305
306
396
371
402
367
390
317
378
311
389
341
363
289
269
281
400
356
281
385
232
328
372
354
254
259
370
284
343
253
328
278
334
345
337
342
297
262
346
310
309
290
291
320
324
296
393
365
425
434
336
347
265
301
244
371
375
290
298
266
278
309
260
336
266
274
260
270
307
354
315
352
332
365
288
307
298
300
257
293
245
349
332
344
341
184
348
200
355
340
257
396
349
321
350
347
317
246
248
328
363
378
323
256
226
219
222
326
303
357
307
210
275
337
356
282
231
327
372
373
351
300
329
268
325
333
271
348
305
306
338
340
378
325
331
287
338
297
377
344
269
318
360
346
307
246
406
371
297
284
390
271
289
232
373
267
364
274
324
336
273
300
344
323
328
313
283
274
295
363
263
362
413
295
353
378
223
299
378
240
370
331
286
350
347
362
349
330
360
311
344
329
325
251
307
335
293
312
330
278
350
342
293
305
309
369
282
348
304
298
328
307
304
289
267
356
286
365
334
322
394
379
247
261
263
336
322
288
387
331
260
266
316
265
376
379
256
308
348
199
252
318
311
265
304
358
337
311
310
380
341
365
312
340
385
313
363
309
312
287
272
286
361
375
306
317
306
392
343
371
339
354
385
310
327
281
350
312
334
311
344
294
335
360
386
328
323
361
300
376
335
280
297
288
274
281
295
302
218
311
348
377
379
369
323
321
245
298
291
266
353
284
321
296
273
304
325
267
313
332
387
298
276
362
306
228
396
282
328
335
287
391
303
412
401
348
341
237
293
315
329
265
249
337
278
354
254
295
326
313
355
325
286
297
289
304
312
250
311
324
286
400
296
336
192
292
263
352
343
348
277
323
271
371
312
285
337
247
302
291
285
328
301
368
335
293
422
288
259
324
275
262
275
296
345
311
295
313
211
336
306
340
323
334
342
313
230
304
296
365
353
344
331
363
311
292
331
286
312
321
268
338
367
351
271
213
348
209
349
353
367
257
267
340
295
309
257
338
294
278
322
254
270
291
274
291
275
236
335
353
322
310
339
273
401
379
325
280
271
385
364
337
276
399
296
253
374
249
266
384
283
328
376
332
275
348
380
321
276
337
351
344
383
308
247
390
392
276
331
348
302
272
270
357
368
288
301
302
312
311
334
347
343
294
238
324
335
273
345
281
292
392
331
374
290
344
289
292
382
331
379
354
279
305
295
336
327
339
353
286
383
305
267
288
257
335
305
339
278
347
327
359
326
361
300
259
371
258
348
297
387
239
257
287
285
406
212
316
302
334
335
314
318
290
307
222
289
282
299
345
353
277
291
361
333
339
332
347
331
326
299
304
280
404
357
333
266
309
342
359
270
346
390
360
289
364
324
339
368
229
328
315
272
252
304
358
280
311
313
360
345
273
316
338
330
387
303
256
326
322
326
334
365
342
256
397
320
252
283
275
362
325
369
383
271
352
308
314
250
264
334
342
352
363
380
345
288
293
313
361
243
414
283
273
353
284
350
290
381
332
295
325
313
341
340
358
336
322
298
297
283
336
169
296
255
443
329
322
306
286
307
359
362
326
176
214
323
259
318
307
405
384
302
353
337
276
319
309
240
385
273
325
348
322
325
335
304
325
393
316
231
349
311
299
385
347
339
399
269
279
400
264
388
321
279
267
327
372
261
318
235
259
300
287
308
315
334
324
409
250
303
281
256
289
351
278
304
298
276
375
333
323
401
301
272
376
312
322
359
301
242
311
337
334
277
255
340
298
327
329
310
334
329
331
300
323
347
257
308
384
361
393
302
346
223
313
306
346
300
259
214
277
347
303
221
378
284
373
384
333
351
241
280
280
312
281
308
251
285
298
359
316
332
333
309
361
316
367
346
388
260
288
326
408
369
357
233
278
263
302
378
380
324
237
335
329
316
276
292
356
307
305
356
309
322
363
383
335
241
283
240
240
294
273
388
320
354
343
290
319
302
393
267
335
246
324
328
359
379
329
286
350
259
332
262
251
277
282
339
308
291
285
318
314
335
252
356
229
346
229
285
367
268
252
233
321
386
345
309
376
249
329
319
274
248
325
300
300
367
399
288
290
363
260
254
350
292
277
325
285
388
363
336
226
306
331
324
287
292
356
339
291
279
321
362
327
232
342
320
376
285
305
284
340
213
294
332
331
398
285
328
313
392
314
291
222
321
251
357
348
333
332
321
252
322
338
318
266
304
328
321
346
229
255
327
288
246
339
259
325
303
329
232
278
268
380
395
350
337
355
251
279
293
310
327
303
380
360
319
310
315
299
252
381
273
267
249
312
327
284
290
311
317
380
334
359
272
381
340
291
258
323
341
292
353
349
377
280
284
237
274
318
280
342
310
294
329
347
307
325
272
360
321
261
356
351
286
350
298
276
376
309
350
301
317
333
335
254
272
293
424
300
324
335
275
259
320
259
307
294
313
330
259
352
303
367
257
295
335
268
267
330
272
229
321
321
291
344
315
354
264
395
398
354
381
344
308
298
199
286
168
335
412
351
344
311
346
384
339
305
360
267
337
285
280
334
274
198
273
327
308
288
281
351
354
417
395
280
421
258
320
380
287
347
305
237
382
259
442
298
265
234
291
341
300
383
277
348
284
429
319
372
325
292
371
277
256
317
303
245
397
359
322
309
268
288
338
319
262
295
406
346
302
286
334
320
329
313
309
317
369
334
325
298
267
341
351
254
316
272
403
402
233
319
309
311
312
344
283
303
336
224
290
295
267
316
323
314
380
314
239
339
379
297
342
351
345
349
303
266
350
267
304
327
312
329
335
367
378
314
214
333
317
384
309
319
378
314
372
289
355
285
277
320
256
354
274
206
328
324
349
313
192
300
289
397
391
302
313
260
352
361
308
299
381
299
358
236
322
290
285
259
275
342
256
293
222
365
310
342
280
299
323
265
285
290
348
352
395
321
235
341
364
201
287
316
321
244
366
301
317
321
253
361
382
320
309
308
295
334
362
306
403
301
256
261
262
382
285
315
263
313
288
233
373
324
314
367
283
330
262
287
230
340
340
344
323
298
342
236
330
296
310
317
314
388
301
282
309
238
281
287
314
343
347
348
239
265
281
292
337
320
325
294
273
343
281
326
290
287
294
320
365
280
238
239
265
374
353
284
256
326
314
317
268
368
244
261
300
266
334
381
349
318
381
260
336
326
284
263
363
360
341
309
363
330
310
295
335
298
332
384
376
331
317
413
290
294
314
343
328
385
328
257
321
248
341
327
306
346
307
274
322
312
309
353
332
344
345
329
327
369
319
286
309
285
282
360
357
328
303
310
273
331
316
292
253
327
392
268
355
265
355
296
306
280
295
285
318
333
329
394
301
336
349
272
381
337
305
306
310
262
276
338
254
380
270
253
315
353
297
368
309
324
288
371
344
326
291
330
246
324
283
325
343
329
370
326
388
273
331
265
303
340
407
312
329
323
280
256
300
294
321
306
312
295
279
356
249
316
266
339
291
391
299
363
277
302
290
304
306
292
366
310
280
308
306
355
248
311
338
427
362
291
304
349
332
272
344
340
370
288
385
317
275
338
354
330
306
334
312
331
362
268
333
383
318
294
268
234
226
278
275
364
336
354
294
314
337
268
309
353
234
299
283
358
333
342
222
325
296
346
337
299
306
279
251
318
311
269
299
339
393
357
334
285
300
310
314
312
312
358
377
318
382
386
388
271
309
435
197
314
314
386
288
243
233
300
274
255
282
374
299
350
299
332
218
333
298
321
335
307
266
333
330
241
346
327
227
285
355
342
279
316
272
275
358
357
271
349
318
325
288
360
416
358
314
308
245
301
344
353
365
377
422
326
280
302
403
322
248
340
258
360
302
344
318
238
380
233
321
313
223
352
307
313
282
199
308
413
308
184
297
240
326
331
233
368
350
308
302
340
354
371
293
340
366
338
309
401
374
352
328
277
212
321
305
354
315
359
359
403
332
348
358
316
288
358
346
335
308
377
347
305
297
296
320
353
182
293
322
391
340
353
247
248
364
317
386
311
269
300
352
300
215
267
367
273
327
331
341
326
300
342
357
299
353
265
323
397
330
358
357
285
345
334
346
293
275
301
317
302
308
338
392
285
307
306
355
347
311
338
272
343
267
314
244
294
347
329
366
356
347
311
376
301
362
336
324
316
402
376
370
357
249
300
307
357
342
364
336
326
344
359
265
361
294
314
300
278
318
201
334
209
339
264
332
298
361
318
278
241
271
308
299
282
345
244
397
288
365
271
366
348
275
243
244
295
370
409
216
427
263
365
345
339
331
329
287
336
315
309
327
244
345
292
256
303
372
352
297
378
243
281
284
276
411
348
191
302
282
320
308
314
349
331
346
252
285
290
323
355
280
295
297
310
221
366
295
292
217
345
255
289
333
310
252
340
358
351
294
265
280
340
368
226
306
348
237
317
306
366
328
260
303
347
250
311
328
319
311
299
311
388
265
275
407
288
270
358
352
289
336
325
358
329
303
334
416
364
283
335
302
349
325
337
331
340
310
278
216
334
321
242
272
261
326
372
301
334
363
290
352
354
300
313
290
325
342
328
353
374
335
273
380
333
387
376
335
321
336
223
390
380
306
185
281
315
353
339
306
331
206
293
249
346
330
356
337
294
327
312
345
383
273
327
175
336
290
408
323
352
369
322
272
358
332
326
378
246
332
296
279
315
354
308
284
338
283
278
298
302
356
278
326
296
329
355
301
306
347
281
426
285
301
305
373
329
356
353
228
246
293
316
331
394
378
348
349
262
304
324
314
370
349
299
408
277
292
377
345
278
316
267
330
250
338
336
342
368
380
330
285
303
347
289
281
276
311
288
296
361
321
211
260
314
365
380
266
383
299
235
277
345
248
256
324
348
322
343
306
364
264
352
235
273
307
335
294
326
273
296
320
330
349
258
333
278
363
303
406
305
375
346
413
305
254
363
305
359
403
338
297
310
370
318
281
318
294
348
342
248
363
282
337
363
357
288
266
321
341
319
263
262
324
348
259
367
300
332
251
320
329
213
342
290
279
378
337
322
364
285
318
290
342
344
348
307
406
272
365
376
342
302
272
327
345
411
276
261
395
314
367
255
331
363
278
296
274
340
349
295
334
375
289
404
369
286
282
300
337
228
294
350
339
390
257
264
303
258
254
355
274
327
288
353
316
296
320
372
316
296
302
275
323
350
250
358
303
244
316
312
320
283
302
272
291
373
309
319
323
322
291
323
316
376
273
362
420
347
315
238
327
302
310
370
329
343
310
406
367
344
338
315
318
307
324
305
287
281
334
291
309
344
371
309
333
193
276
262
405
411
433
338
319
284
317
256
373
344
318
277
272
356
264
317
331
307
367
234
343
355
378
320
366
227
247
268
305
344
290
288
320
286
359
277
342
339
336
335
342
325
236
292
317
290
363
334
253
273
313
327
272
285
305
281
338
163
345
362
349
415
355
332
301
341
309
350
282
303
371
322
293
294
335
216
281
222
342
327
381
282
409
320
331
357
276
408
273
307
284
353
397
342
385
329
346
261
265
339
346
277
313
320
309
363
399
296
364
243
279
290
328
297
300
385
321
339
377
312
336
333
306
323
338
348
369
356
291
342
297
269
402
352
323
305
310
318
284
403
335
258
305
316
340
366
300
286
241
336
305
366
290
309
271
333
354
368
330
299
246
299
378
271
322
302
304
295
257
392
291
351
309
290
330
350
291
265
385
298
272
309
242
340
262
368
329
291
290
284
328
264
300
322
433
287
319
252
305
329
306
316
224
269
398
370
332
332
319
381
405
259
300
402
361
264
394
239
336
255
336
342
376
382
395
347
290
322
345
268
289
319
354
343
342
384
372
268
427
254
339
333
268
294
432
299
310
294
310
331
356
309
343
381
359
364
295
280
327
261
291
293
347
306
270
289
297
328
286
348
360
287
352
356
376
319
274
342
321
269
388
333
252
333
312
350
280
313
367
294
248
374
255
310
286
351
322
279
253
216
256
292
299
326
322
340
322
308
259
323
350
278
373
233
334
309
319
353
329
245
330
362
354
381
312
310
311
310
294
353
274
409
335
280
320
368
342
349
304
405
273
256
339
337
318
331
316
252
262
378
256
261
220
371
300
337
279
329
204
338
285
343
314
336
276
287
339
307
339
253
290
372
295
312
233
344
315
240
327
372
253
274
330
315
322
321
350
337
352
267
296
329
279
273
394
356
374
327
321
319
296
263
314
352
351
339
304
347
336
345
306
304
370
320
329
331
282
311
298
410
398
304
307
198
369
360
246
330
336
240
409
290
286
306
295
311
238
304
298
283
272
384
238
315
260
326
409
239
300
206
268
338
336
351
323
313
329
311
336
242
250
360
343
329
283
340
309
271
319
275
363
368
329
315
343
260
307
296
314
320
311
394
283
228
299
392
353
279
263
290
298
314
398
331
296
259
332
328
377
285
295
356
264
366
271
294
262
308
304
363
346
300
326
339
372
292
346
413
387
253
285
285
263
283
328
303
300
303
301
353
274
304
339
334
288
326
282
311
296
225
333
333
314
350
339
300
279
240
392
340
377
366
366
385
347
274
360
267
356
264
289
339
315
248
313
320
293
352
318
373
256
288
244
308
276
412
302
318
331
322
334
401
296
325
310
284
300
333
278
287
372
353
292
392
349
282
321
345
327
346
250
396
321
277
370
307
259
300
302
332
281
361
238
285
305
319
277
313
314
312
285
340
310
344
371
315
326
273
297
252
357
272
384
260
347
343
307
308
323
297
376
311
271
360
321
352
278
322
335
317
320
326
296
375
329
322
348
309
383
337
318
352
314
335
324
339
355
295
368
313
387
309
299
253
290
328
337
232
294
308
234
254
303
336
306
339
343
322
323
265
298
230
374
320
309
326
319
259
294
316
324
344
320
216
291
308
228
227
261
294
317
398
330
379
325
275
276
333
347
283
285
230
277
291
339
301
306
280
313
357
378
319
288
235
326
351
353
254
315
337
311
277
285
299
282
295
429
309
278
309
270
283
360
285
258
300
224
304
256
318
262
317
282
379
316
306
359
272
299
302
344
311
315
328
422
309
297
330
292
350
261
379
324
298
329
346
273
224
345
255
339
232
294
349
343
304
303
324
307
331
361
285
358
366
376
313
383
337
302
194
163
278
353
351
274
311
278
286
234
317
301
297
359
359
438
318
366
345
301
347
239
329
271
241
238
283
334
332
256
302
286
301
298
366
319
339
314
261
334
173
337
327
310
303
232
268
326
318
339
297
368
393
353
265
307
311
316
325
238
319
353
363
360
327
308
381
350
359
290
345
258
329
258
355
329
320
318
332
310
360
318
295
318
286
288
348
324
232
340
349
261
301
281
355
237
335
293
338
302
330
367
395
305
338
294
399
244
323
289
311
248
345
375
265
371
346
323
303
255
317
288
293
320
360
177
271
280
299
336
326
343
288
316
319
288
376
303
315
420
389
377
367
337
371
267
357
378
315
356
375
293
330
242
354
324
241
229
314
309
357
338
269
302
338
327
275
325
267
331
318
299
336
186
300
224
416
324
282
297
399
266
387
306
264
237
317
287
329
316
321
289
300
326
337
417
375
321
221
368
318
340
343
347
277
349
307
315
278
319
406
262
305
333
284
299
273
345
321
289
283
341
351
379
324
282
316
236
298
314
322
334
291
247
356
309
257
383
347
309
315
304
283
405
328
291
363
346
272
312
350
317
304
341
344
195
363
303
259
356
234
272
299
291
359
359
315
275
317
323
312
305
343
301
345
217
264
295
310
286
352
303
315
274
338
281
328
367
303
310
378
333
337
269
325
353
253
356
298
300
330
402
340
309
347
438
370
325
234
252
406
286
345
395
353
291
305
291
316
266
213
297
441
247
291
266
386
338
401
352
316
357
297
312
308
359
398
289
352
306
298
309
343
271
251
296
330
253
319
330
289
329
317
305
387
280
280
289
280
236
273
234
309
341
279
372
344
285
224
292
264
307
324
211
312
297
302
365
265
319
301
328
276
335
362
315
293
237
361
366
280
275
317
313
282
287
297
306
352
288
347
270
349
237
277
283
297
351
245
261
257
285
303
291
271
369
328
279
342
330
343
366
308
313
380
405
246
357
362
355
306
289
292
343
219
302
302
377
316
331
352
347
396
321
366
296
275
271
325
297
346
244
371
305
324
335
250
260
361
348
297
339
286
355
284
294
302
318
301
321
259
316
337
271
287
369
333
282
377
344
374
320
412
312
195
397
311
346
277
295
371
278
340
308
285
336
316
345
295
295
373
276
307
332
382
310
291
389
337
251
281
338
361
367
280
357
324
276
302
319
409
357
374
289
297
308
253
249
294
317
403
317
338
281
333
310
241
306
287
320
291
292
297
303
302
301
237
263
357
337
292
389
291
313
299
282
227
376
316
264
289
359
272
355
338
253
328
319
266
339
388
229
267
309
255
361
321
324
259
390
337
327
268
333
261
304
317
279
339
343
354
297
359
236
318
288
276
336
336
321
273
278
292
311
366
334
351
426
339
239
321
359
291
351
264
296
420
386
333
292
217
291
365
339
312
343
355
315
310
355
338
343
261
321
323
370
328
293
327
359
353
290
312
304
309
307
297
370
324
308
343
286
301
281
278
347
370
288
348
341
305
293
304
332
384
256
315
214
333
281
323
263
338
324
305
333
279
316
337
303
255
390
221
347
383
309
344
351
321
271
293
364
282
361
283
256
358
314
310
260
312
309
364
344
349
329
418
278
367
350
250
275
276
333
340
342
308
278
311
391
343
404
302
377
232
362
356
301
384
277
238
297
362
310
271
321
379
402
356
293
272
367
379
388
373
247
295
351
317
230
224
291
298
338
306
249
327
311
283
385
347
335
278
374
279
391
313
295
246
297
307
337
326
236
310
291
289
348
320
368
287
227
267
251
265
222
257
341
292
347
324
340
359
302
303
301
339
300
339
279
354
283
320
246
305
261
286
348
318
266
351
241
272
271
304
362
434
353
346
312
248
362
304
348
283
310
372
320
415
315
312
353
387
402
237
340
327
366
241
328
295
347
354
290
380
257
362
239
277
326
344
367
377
327
341
393
266
278
302
287
307
316
327
215
233
360
340
327
294
337
407
304
234
247
304
301
234
307
340
382
298
267
329
307
337
375
305
380
338
354
308
306
267
264
323
318
316
331
330
349
223
246
245
368
307
290
328
306
333
199
274
275
368
279
328
255
317
274
260
295
311
317
327
356
272
316
284
329
344
435
268
349
358
280
374
292
416
403
351
361
363
301
331
350
389
367
257
363
294
211
236
342
326
313
234
336
301
318
323
375
232
262
284
386
230
398
312
374
290
376
268
293
280
320
250
222
332
334
323
324
257
323
252
302
304
251
307
294
336
354
310
354
338
285
298
380
306
335
292
321
329
236
227
331
317
273
375
336
229
203
371
251
346
324
367
262
313
362
346
386
270
300
382
392
349
213
351
322
375
279
237
330
404
356
385
356
216
322
346
373
291
404
271
299
288
368
286
314
247
283
303
250
317
362
267
307
267
309
340
311
336
289
286
300
330
331
285
345
235
299
265
267
340
358
255
385
330
286
385
329
279
335
372
259
360
294
294
285
341
282
302
298
337
368
374
282
316
342
339
374
361
312
333
328
325
261
344
256
272
251
255
322
281
325
356
266
332
311
302
273
318
378
227
338
404
405
347
341
300
252
304
347
384
277
387
362
274
326
297
319
291
308
281
221
332
302
231
317
358
257
314
342
364
404
326
353
334
329
258
259
261
246
257
276
246
292
315
263
326
309
324
285
340
364
313
333
299
291
306
232
241
306
330
342
254
242
265
290
348
335
380
267
263
312
353
305
381
291
324
333
374
284
310
300
335
228
330
270
268
397
273
274
401
287
334
341
367
259
372
359
267
279
304
347
289
342
389
390
248
343
337
333
316
293
343
281
267
350
407
362
334
252
311
259
285
287
331
348
256
364
374
304
266
314
276
272
296
316
294
307
307
290
371
339
296
306
306
357
297
308
231
279
381
385
283
282
341
407
280
282
388
290
393
260
330
367
361
297
263
303
298
371
279
326
267
295
347
334
303
238
289
259
273
341
316
223
359
277
324
272
319
389
289
391
319
333
282
298
323
332
358
257
341
336
356
376
437
351
432
361
320
332
279
282
337
313
326
330
326
289
336
240
321
352
283
252
354
311
342
314
337
343
321
271
306
234
353
309
305
312
354
336
354
349
326
281
201
333
260
249
356
310
308
359
325
221
235
283
339
325
326
325
298
261
290
346
327
338
371
244
312
262
308
285
356
289
322
340
323
337
348
251
236
342
358
318
342
362
312
236
326
343
351
361
315
325
333
332
292
370
241
302
325
240
336
284
395
323
363
331
220
284
280
300
360
357
349
295
415
293
308
303
378
311
415
340
263
335
337
316
354
353
248
242
223
281
220
325
306
349
328
348
294
384
264
282
346
324
336
317
389
280
315
305
347
332
330
354
295
371
389
310
320
326
302
323
373
292
346
328
278
325
307
346
285
363
324
388
266
338
316
263
313
361
317
333
278
320
318
333
410
318
369
339
295
321
321
295
298
335
356
317
351
316
277
322
355
329
302
322
218
304
344
298
373
334
324
260
354
298
377
317
248
264
318
258
258
281
358
349
294
271
286
260
308
359
339
328
331
378
381
268
318
378
324
297
239
209
289
346
327
293
318
276
271
247
359
308
327
277
311
380
356
272
261
283
264
269
229
246
288
227
305
360
323
337
305
260
265
344
372
331
343
341
339
319
319
205
239
247
280
234
278
271
342
335
311
361
232
444
377
251
290
304
257
328
321
338
377
319
292
302
307
380
374
316
322
342
354
318
271
273
334
301
187
299
296
278
339
326
280
263
304
322
234
279
314
348
268
303
335
306
359
341
366
248
275
382
361
277
363
282
310
372
378
432
358
343
345
249
285
396
339
370
314
346
358
333
302
311
388
369
262
265
281
345
323
316
288
247
394
251
365
363
357
377
288
271
357
282
258
318
342
321
297
381
317
388
337
329
355
270
370
392
244
366
294
276
329
343
293
266
311
359
373
242
318
285
306
293
344
284
346
386
297
279
239
220
297
355
295
311
348
275
332
301
278
380
366
317
274
242
331
305
319
304
276
317
180
240
352
315
275
335
342
345
366
284
277
286
267
286
324
350
344
294
326
306
284
352
261
245
415
385
335
339
264
350
286
315
335
346
198
360
308
351
372
368
394
249
333
371
236
302
322
323
263
369
275
358
309
334
355
328
347
349
365
318
279
364
277
323
357
347
366
280
213
280
328
323
298
286
230
224
345
299
301
332
325
362
337
268
379
285
381
338
348
307
323
312
205
343
347
182
324
286
323
258
329
354
356
347
355
283
276
295
333
307
279
256
276
297
304
327
327
419
313
326
279
284
284
350
297
332
317
341
361
260
271
253
306
283
277
328
347
285
321
291
315
327
265
326
375
337
295
305
304
363
330
270
280
275
288
286
386
312
271
425
252
254
306
314
402
305
364
314
250
319
297
262
322
289
345
296
373
306
224
345
259
329
285
303
302
347
307
171
251
317
336
304
321
375
352
332
367
245
355
306
248
320
322
367
307
298
317
406
329
343
230
284
263
308
403
333
264
355
373
334
295
307
302
315
328
309
394
339
221
305
347
334
346
391
285
250
345
359
287
311
394
261
314
382
233
328
296
331
302
290
291
358
371
240
384
341
369
233
367
392
270
290
381
316
331
317
255
404
330
226
340
268
278
268
340
287
355
308
327
330
301
338
270
372
312
274
193
317
321
300
334
285
303
349
262
295
255
260
313
394
308
361
268
368
278
214
352
314
357
365
396
366
294
351
349
267
239
274
348
230
274
314
317
280
328
327
325
301
317
220
372
268
251
308
286
308
317
245
368
293
293
283
253
203
322
244
326
354
304
305
267
341
342
327
351
386
288
215
308
313
301
325
320
257
321
315
358
272
331
362
305
373
296
237
286
297
401
271
304
311
312
320
404
351
311
298
315
343
266
300
221
335
352
359
321
312
384
280
351
368
370
373
294
373
365
345
241
371
370
255
338
281
359
337
259
352
304
335
335
254
256
274
389
290
316
298
335
302
302
309
387
422
281
262
339
306
363
297
383
318
274
382
375
276
322
316
345
318
333
303
272
266
256
349
322
376
318
284
292
353
394
356
318
301
345
312
229
314
297
280
332
337
277
256
304
325
355
266
351
313
280
344
285
332
333
297
303
278
296
354
233
318
332
318
300
309
314
329
345
323
269
342
364
334
274
316
253
225
391
288
305
284
269
274
289
260
366
289
287
294
345
340
305
345
301
277
191
313
337
332
296
357
292
272
325
285
359
290
334
315
377
305
304
303
354
335
260
373
398
428
295
276
228
310
286
304
321
384
219
321
323
277
252
275
278
311
361
399
330
330
359
351
229
262
321
290
391
387
337
354
341
329
297
299
287
301
363
382
313
356
275
259
290
284
399
310
388
236
391
303
349
352
321
361
361
326
291
267
374
383
286
327
336
305
270
279
282
358
417
359
378
297
365
355
308
411
362
264
347
381
299
282
260
280
355
294
283
237
343
309
216
418
266
332
345
271
334
242
348
325
323
332
313
385
327
346
317
364
298
423
332
299
347
287
298
367
382
353
306
342
292
374
322
244
382
295
389
368
369
251
327
284
271
340
290
316
308
276
306
346
324
291
357
368
360
316
367
296
256
285
308
277
358
348
346
278
286
351
381
374
356
325
249
281
329
351
340
292
299
335
372
388
371
281
259
283
288
357
282
282
248
352
288
217
371
294
300
341
375
326
354
336
332
319
286
341
319
291
322
342
351
312
234
260
394
322
393
220
321
323
312
306
329
297
294
246
231
397
288
287
295
329
393
314
358
288
298
343
340
260
249
333
206
355
379
310
361
255
280
295
244
345
306
267
401
338
291
262
319
369
327
286
341
347
231
157
333
342
360
311
249
318
263
368
411
291
264
297
388
309
303
321
305
378
316
315
308
362
353
293
330
346
326
272
266
255
288
304
271
267
386
287
266
385
336
363
340
294
308
343
257
298
382
287
283
221
325
326
241
365
272
321
398
301
335
270
321
251
224
251
310
275
354
330
308
426
286
329
390
342
321
250
366
252
349
294
318
326
284
355
305
289
331
353
346
369
247
379
353
273
330
389
220
337
293
335
295
313
324
307
405
260
274
300
310
260
371
366
315
367
285
319
350
246
265
364
301
280
350
257
368
410
377
340
339
345
320
325
344
335
330
302
344
341
365
332
363
392
320
341
340
331
363
371
373
319
399
320
340
292
286
279
283
380
368
344
258
412
373
246
285
295
362
325
257
353
324
403
255
255
401
355
292
456
338
335
269
306
343
211
410
345
265
368
272
328
357
331
256
325
316
338
373
276
240
290
371
341
338
295
294
357
305
305
322
266
339
340
324
332
393
302
345
334
365
364
335
279
333
266
314
345
346
286
324
335
298
301
381
307
307
302
269
264
361
308
298
277
298
267
310
286
371
291
255
251
368
358
375
363
361
269
282
274
290
222
353
301
306
322
273
249
305
358
330
203
349
295
312
415
294
343
351
269
283
289
241
235
374
377
328
240
391
371
348
287
326
315
219
196
243
293
346
387
244
343
354
293
316
289
309
264
368
324
330
254
340
270
339
323
342
244
337
335
306
374
319
236
300
264
305
304
294
277
300
326
325
382
308
289
328
271
321
306
247
268
276
274
347
397
287
273
334
307
290
272
400
311
273
290
262
375
320
259
296
288
282
292
305
389
374
354
365
326
283
344
320
313
325
288
371
337
262
372
359
373
282
311
352
329
269
256
252
319
263
364
293
364
215
323
314
334
348
362
296
313
337
295
360
300
335
363
326
372
317
298
380
378
347
259
308
284
313
403
351
298
325
291
329
344
321
280
303
316
402
265
303
340
321
356
310
412
294
269
390
354
307
255
273
364
370
365
326
313
309
293
354
389
258
295
326
258
279
368
282
286
279
361
362
364
284
295
390
275
226
283
322
319
337
362
251
240
250
237
272
350
297
314
347
328
350
238
405
365
256
307
352
275
279
309
215
355
326
350
313
282
287
346
291
335
302
235
274
292
330
272
299
338
300
347
336
401
283
374
248
274
333
272
317
250
350
306
286
345
320
325
270
360
404
302
328
342
324
311
370
359
307
337
433
266
356
303
274
246
295
252
296
291
283
310
347
392
341
326
330
291
263
317
335
296
328
299
360
352
246
319
345
338
356
352
341
297
368
297
330
337
381
331
338
427
333
305
305
324
346
299
314
395
274
270
308
276
244
224
377
287
358
284
251
273
265
277
392
394
306
287
291
332
328
352
350
297
308
321
333
276
274
301
389
304
233
222
315
329
296
264
369
283
302
299
232
329
328
315
353
346
309
299
269
294
298
338
321
327
372
321
324
340
405
334
323
353
251
301
323
318
373
263
259
297
288
303
246
306
310
359
335
278
306
340
238
198
294
341
312
314
288
286
285
261
313
214
338
276
304
263
306
324
312
266
267
338
330
379
339
305
309
278
400
328
336
282
387
340
329
263
387
302
275
351
338
320
328
257
372
328
316
310
290
288
278
265
302
331
310
240
288
197
239
360
382
321
245
346
366
342
315
346
331
376
294
337
417
269
342
297
318
305
346
381
303
235
344
283
343
317
331
364
266
359
358
215
304
323
309
350
349
272
284
310
305
344
335
388
311
367
301
310
317
313
319
344
338
294
286
280
316
266
346
324
318
289
307
254
321
345
360
321
215
316
293
350
304
289
300
325
307
327
382
400
322
328
231
358
286
404
338
369
277
304
382
382
292
354
295
348
384
354
321
323
332
307
296
406
293
344
332
281
311
287
332
287
345
336
343
324
228
381
291
318
360
324
394
351
281
309
347
243
299
346
346
333
300
304
364
297
354
353
288
327
336
300
315
393
256
312
399
275
262
352
390
314
331
342
287
305
309
267
300
310
348
369
266
269
273
320
287
338
290
386
358
226
300
336
294
284
368
240
307
373
238
291
261
274
341
302
326
310
316
343
294
343
301
324
326
287
371
294
312
316
376
315
323
248
292
300
344
328
370
242
339
289
318
262
319
410
312
377
401
338
261
314
267
293
249
324
331
382
410
305
358
354
344
312
294
283
272
282
270
321
302
395
269
291
273
255
311
270
333
315
224
282
345
313
335
253
266
312
336
314
300
353
312
338
235
344
314
332
324
318
288
245
232
284
265
343
193
367
297
306
393
327
377
258
380
281
327
266
289
369
230
332
330
286
265
331
328
375
339
323
246
344
317
308
300
285
280
362
288
348
297
331
316
390
306
290
408
258
319
316
272
300
360
269
375
279
298
295
333
319
362
314
296
407
275
340
341
370
340
383
303
315
390
384
348
309
292
303
318
394
281
360
254
351
295
289
293
341
346
362
226
302
295
270
308
250
329
331
269
300
368
351
403
425
356
199
364
294
282
264
228
306
316
393
335
385
286
422
264
366
431
332
315
297
350
329
293
226
273
227
349
264
328
285
335
340
316
310
319
312
346
336
325
363
364
296
312
330
315
313
363
344
351
306
301
367
287
354
252
283
401
244
215
264
253
235
318
284
348
305
365
226
341
280
315
360
297
286
295
346
196
296
291
338
375
319
390
312
310
260
336
268
341
375
362
289
313
303
244
277
318
308
296
364
293
358
246
282
274
293
346
245
301
270
367
343
391
354
331
354
199
347
251
336
347
281
245
284
396
340
383
278
301
344
255
302
309
325
295
390
359
372
349
300
366
328
304
294
324
328
366
356
381
404
385
360
378
341
394
350
298
393
404
294
386
266
300
303
372
300
273
269
269
345
364
297
297
342
296
345
412
332
362
350
352
256
323
322
245
360
330
310
320
363
307
360
327
232
304
290
304
371
389
353
332
335
307
292
323
337
300
338
304
200
345
301
283
290
314
367
366
262
356
304
370
321
234
318
345
292
265
330
344
438
338
361
370
274
400
269
357
271
344
295
396
339
273
326
365
224
264
358
261
375
314
326
341
340
351
361
350
285
284
299
357
297
246
282
311
318
266
335
365
324
272
367
281
238
307
338
337
285
259
336
432
346
320
213
211
237
293
285
294
281
321
276
295
283
300
305
297
314
269
265
370
280
306
282
367
363
225
390
263
391
328
272
301
339
404
304
322
252
291
289
247
299
326
418
268
330
340
334
303
319
314
334
384
363
400
338
335
335
304
293
354
310
283
326
326
297
277
318
316
256
337
232
315
363
314
289
333
325
274
243
241
353
277
333
345
339
413
324
341
375
283
331
342
278
284
297
251
343
254
408
264
273
326
348
296
278
299
288
389
258
312
396
385
350
314
303
267
309
411
369
323
317
381
235
331
268
254
333
333
206
332
321
282
267
340
369
291
275
242
371
365
367
379
333
337
330
260
301
293
292
384
288
287
238
359
327
346
237
316
265
349
361
397
205
270
379
281
241
285
386
324
325
302
314
301
261
355
323
259
208
225
325
289
383
295
340
354
275
247
340
319
355
390
334
278
322
298
310
329
305
314
314
368
255
301
284
311
302
291
366
278
305
254
251
330
368
325
350
273
344
367
307
386
308
355
250
288
287
313
336
323
255
300
347
338
315
274
328
307
312
308
315
332
290
183
212
201
300
265
258
392
353
312
316
267
249
360
330
324
357
303
297
360
354
323
297
320
336
269
319
306
339
339
356
267
315
319
262
320
375
361
270
333
357
349
338
260
341
321
278
285
284
361
263
355
301
397
419
276
344
392
339
336
296
308
334
348
346
373
298
356
361
352
286
367
328
248
268
339
306
353
325
350
366
252
328
288
332
325
289
316
320
266
316
322
220
344
262
353
337
325
309
327
391
334
271
279
330
376
349
347
240
358
365
264
323
337
333
395
256
341
381
292
329
326
332
263
299
210
321
394
322
233
292
272
279
251
359
353
333
211
267
293
261
347
351
394
301
252
349
309
377
359
249
350
231
276
275
273
335
315
207
283
329
376
284
355
296
328
255
319
402
258
359
295
280
368
346
333
324
284
291
320
346
296
237
309
351
348
402
317
326
295
330
288
292
324
354
346
267
275
372
246
316
266
380
327
307
300
325
346
382
361
312
292
310
330
300
254
256
329
296
366
238
312
293
279
220
297
289
368
321
275
336
321
326
279
409
344
307
295
303
311
283
257
283
348
216
293
328
314
320
353
266
262
307
333
296
273
279
352
310
263
243
303
440
333
303
263
365
248
284
310
252
313
270
327
275
379
320
237
317
288
279
394
338
393
323
293
360
300
285
357
278
392
373
331
337
345
273
331
330
282
304
321
278
269
298
332
198
355
246
405
346
322
324
397
290
266
299
296
357
314
328
358
301
238
303
333
357
320
388
345
327
273
403
242
373
328
358
389
367
284
367
350
286
294
293
337
228
287
347
315
306
331
319
267
325
352
356
270
341
243
314
282
371
359
338
257
256
302
321
388
381
254
309
337
267
279
349
328
241
295
223
325
314
327
284
317
279
226
359
324
300
347
238
363
327
323
313
393
308
295
363
395
264
296
340
264
306
357
369
335
338
300
330
248
320
365
338
308
351
329
266
321
283
384
269
289
392
289
287
305
370
249
256
282
353
377
237
335
377
426
311
324
305
345
319
346
248
383
304
358
269
292
297
358
339
227
289
306
274
209
328
374
332
385
342
268
351
285
424
287
358
325
268
365
332
332
248
325
258
324
342
302
282
283
337
273
344
334
350
335
285
310
300
343
290
253
355
323
317
311
455
302
265
253
296
376
330
380
381
246
344
275
336
345
312
280
340
360
339
361
314
336
256
301
348
361
357
254
356
218
307
249
323
286
351
300
363
368
341
298
257
338
329
326
347
312
381
380
283
341
384
345
346
228
357
346
318
282
385
300
332
308
291
340
387
401
388
361
304
316
373
280
284
365
347
290
294
285
365
323
274
321
348
365
343
341
339
272
333
342
281
288
388
336
345
290
370
320
376
337
282
357
330
370
334
369
315
305
353
308
247
249
282
286
247
353
339
323
322
309
274
272
370
274
363
262
252
280
330
375
265
320
359
277
363
297
317
236
378
367
371
310
229
351
350
296
370
260
195
321
339
239
386
325
307
272
310
301
339
348
311
321
321
358
304
249
291
249
320
301
317
332
377
297
245
288
288
276
342
318
320
416
230
252
336
381
335
229
348
331
342
306
296
324
412
359
350
359
283
294
301
348
307
319
346
329
324
359
247
324
255
246
274
326
288
317
271
324
380
311
360
325
260
357
255
333
361
353
274
283
369
332
354
285
407
316
399
330
219
258
304
348
333
281
339
301
333
319
192
323
252
372
312
321
372
352
294
299
281
271
321
309
379
359
382
194
305
319
383
302
339
380
289
321
364
303
327
263
328
314
200
459
358
338
319
295
319
386
284
279
373
199
311
270
357
356
267
224
266
312
364
290
267
363
203
373
344
317
362
324
341
261
364
261
334
332
331
297
359
239
342
300
324
292
284
312
286
316
316
393
262
236
309
388
350
222
346
337
368
337
338
414
275
329
270
351
314
245
243
352
283
361
309
382
303
313
239
362
336
332
264
276
385
275
373
365
351
318
304
274
299
390
269
325
327
322
309
392
348
355
360
240
290
289
347
297
385
353
323
360
381
345
351
311
300
341
253
338
393
275
294
323
254
241
297
188
249
223
327
332
266
402
265
300
343
350
333
333
252
320
261
369
325
240
233
351
304
396
361
223
346
369
275
325
335
293
254
277
364
323
301
383
344
285
269
265
313
338
287
351
313
350
406
317
250
362
357
378
257
194
356
264
315
278
368
352
323
311
309
313
346
382
353
323
255
271
267
369
302
251
327
312
317
402
291
351
321
313
315
326
329
412
312
254
345
269
302
273
326
283
335
353
326
356
356
350
359
360
279
310
376
290
326
274
282
374
373
355
330
343
345
303
321
378
332
237
350
324
361
329
235
318
296
294
357
337
325
314
350
305
305
338
333
213
417
345
305
341
370
358
359
375
293
291
278
365
307
217
261
326
348
350
252
350
342
382
340
349
382
325
276
320
323
304
293
356
342
344
213
331
282
380
324
393
349
260
329
331
337
322
346
328
366
307
310
310
398
364
347
266
335
249
295
288
203
325
320
305
375
322
295
370
298
278
301
315
313
330
293
290
294
356
242
357
270
346
293
361
315
341
366
312
315
302
348
308
276
282
331
353
367
276
261
253
262
357
429
257
256
305
271
331
275
352
312
349
393
291
355
348
331
276
316
250
263
215
207
318
242
379
335
390
309
343
200
216
260
346
269
379
279
273
281
243
310
252
378
305
325
284
339
280
334
359
289
344
298
260
295
241
369
359
353
313
365
329
363
218
304
280
304
341
275
359
289
328
387
278
265
256
384
268
298
403
353
230
280
345
348
315
348
375
294
290
310
284
284
271
318
372
244
291
326
347
284
307
276
295
305
368
402
303
282
333
282
331
387
326
331
314
298
348
300
326
302
319
325
318
243
368
320
279
314
286
304
264
347
327
297
318
297
260
261
382
238
275
265
236
311
380
284
320
284
277
371
347
275
309
307
329
289
295
346
376
252
335
316
266
266
354
294
283
327
344
323
327
366
322
321
311
351
366
312
248
245
349
274
358
296
302
276
322
246
339
324
263
342
376
328
247
228
307
297
345
288
375
298
359
353
361
351
314
380
315
397
346
239
333
257
340
302
390
216
359
312
295
272
368
320
331
368
260
348
254
304
361
354
341
337
311
335
292
328
353
302
279
312
241
405
322
353
318
264
275
338
395
375
363
290
249
310
358
243
352
306
335
340
336
232
248
306
349
284
333
313
263
268
370
374
374
314
332
262
312
294
265
305
332
401
290
304
337
325
377
260
381
374
261
263
285
312
357
243
284
331
309
355
294
289
365
290
234
320
295
325
339
238
336
334
314
383
191
319
341
353
370
308
340
281
332
402
271
303
385
278
289
229
334
263
361
281
324
269
260
322
281
329
326
372
327
338
291
341
283
297
385
283
272
317
246
333
327
253
327
231
282
302
350
423
290
344
270
211
370
357
291
242
367
264
274
318
305
356
274
355
310
343
253
319
271
370
312
308
322
316
346
354
292
278
373
299
276
282
387
340
318
322
297
355
302
288
357
282
272
313
393
296
395
348
362
408
275
329
256
308
306
251
316
284
292
325
346
347
296
383
238
329
234
284
273
304
359
337
380
403
327
349
307
367
355
335
411
334
235
311
412
289
331
249
336
408
220
340
303
349
338
266
264
237
283
320
250
336
298
315
336
279
341
297
329
346
352
277
389
277
402
314
272
373
354
349
381
337
333
295
331
313
340
357
233
259
309
257
323
278
310
298
279
259
295
217
276
318
281
265
364
301
319
296
273
295
296
344
240
320
174
254
282
310
381
297
366
366
352
320
267
358
264
307
283
328
326
345
367
346
341
389
275
263
268
287
308
347
275
315
402
344
328
285
296
257
361
360
311
314
403
309
285
300
268
354
311
333
334
345
230
361
342
314
370
223
338
323
335
341
307
333
283
324
307
282
282
282
302
292
388
337
350
403
289
284
374
267
310
263
370
258
256
322
277
287
377
381
324
276
360
243
271
340
312
261
329
285
307
338
275
355
364
199
257
215
270
342
283
287
396
290
354
343
238
322
376
297
275
321
319
321
317
368
336
357
380
371
319
300
285
310
309
268
357
349
358
333
387
411
384
353
281
344
337
335
345
300
344
392
301
322
349
282
303
288
365
311
342
319
353
312
317
218
331
327
337
383
301
315
350
370
323
335
237
365
268
254
267
299
275
283
330
362
268
316
261
265
297
301
238
392
341
229
317
250
338
222
332
198
289
372
353
303
350
333
361
262
310
382
328
278
244
294
378
358
385
301
341
372
305
365
373
400
259
303
316
315
230
346
338
344
262
331
308
394
295
281
274
301
309
236
241
289
340
283
313
327
295
357
267
305
317
341
256
329
261
313
280
299
251
274
293
275
357
317
272
312
327
337
335
256
360
376
258
350
265
335
342
300
322
284
333
288
321
297
310
251
288
327
337
335
323
341
347
315
261
313
356
363
339
325
361
270
293
333
289
306
315
336
271
327
270
246
223
346
313
283
329
282
198
303
303
383
350
294
396
379
284
265
298
256
237
324
309
259
358
290
353
326
388
303
335
381
178
298
323
231
255
330
227
304
329
262
302
311
312
261
316
384
289
340
320
383
321
302
278
359
274
314
227
227
355
353
277
288
261
387
336
331
309
405
282
350
392
324
320
378
290
314
245
334
228
373
326
376
304
271
253
210
273
375
244
337
188
317
316
307
343
306
311
286
356
330
302
295
276
342
295
296
288
339
344
322
321
398
258
383
332
317
344
387
283
377
327
319
294
301
325
296
299
355
317
338
357
298
340
336
265
322
291
340
336
362
348
307
269
340
341
226
346
368
340
282
295
358
377
312
423
221
328
286
364
316
389
275
301
214
274
344
362
308
391
280
293
361
370
353
315
296
280
262
342
389
337
359
238
370
295
381
341
320
262
347
261
331
335
327
346
305
345
284
264
323
308
295
298
282
320
329
326
348
342
353
297
279
275
269
333
284
342
322
302
354
359
293
331
293
282
317
330
389
419
363
302
322
270
225
325
329
278
306
319
359
288
342
356
273
219
285
300
303
341
296
406
267
315
288
376
317
246
359
326
193
249
338
386
273
309
296
310
421
343
380
332
284
379
255
323
272
214
361
223
310
324
301
315
292
286
243
273
309
335
344
279
325
325
350
325
361
278
414
291
266
345
267
274
286
312
355
305
389
281
239
336
370
357
293
224
306
301
413
357
309
294
313
354
313
472
407
323
283
233
271
291
284
305
262
286
279
342
340
244
349
309
313
230
304
385
337
296
334
287
301
366
334
367
338
291
418
278
351
290
375
314
376
334
406
341
231
274
389
260
375
287
248
337
338
288
284
278
284
304
292
238
275
290
320
251
277
260
328
231
319
286
306
302
379
293
333
322
384
355
291
310
347
187
357
340
281
299
342
340
231
362
362
285
316
347
311
244
393
298
318
323
350
351
270
343
292
327
320
381
339
418
284
296
367
246
259
352
321
308
351
324
316
340
257
299
334
266
324
331
294
229
206
302
249
285
351
377
284
334
305
372
316
282
303
259
338
356
304
266
373
328
326
336
314
383
290
295
299
277
369
319
318
337
282
293
300
362
276
298
301
327
311
306
376
346
297
365
333
352
344
345
351
347
378
273
357
312
386
370
396
385
270
310
317
334
330
290
308
285
372
316
305
238
375
306
291
264
327
302
312
238
344
320
344
390
287
290
333
293
295
324
167
248
351
380
367
272
236
281
297
222
386
309
237
305
347
302
277
357
289
325
368
321
247
332
281
371
289
272
287
380
264
298
274
291
254
334
349
298
303
333
358
324
341
349
314
361
368
246
305
243
229
282
278
254
352
400
337
278
329
288
298
302
337
271
361
320
328
290
262
260
338
319
295
280
305
268
327
246
271
290
310
207
246
363
338
323
356
255
323
328
362
394
358
333
279
377
302
329
319
399
379
285
262
352
278
363
337
247
311
320
376
376
317
350
284
253
352
223
284
348
353
346
274
312
252
334
277
362
356
306
306
328
263
272
313
302
353
305
364
319
279
350
304
325
260
252
351
283
279
283
241
295
328
345
331
307
288
328
294
378
372
244
308
309
298
275
289
336
342
360
304
234
372
314
352
218
300
334
210
326
270
371
320
363
311
262
312
257
264
324
329
317
373
340
368
361
325
368
302
388
352
331
470
267
342
306
300
346
286
294
316
393
280
294
331
356
403
310
284
345
314
238
335
402
339
271
327
279
325
333
289
313
363
310
317
330
315
271
300
350
366
356
287
329
261
239
328
287
239
265
339
373
347
284
390
283
353
341
329
362
329
290
240
270
328
293
314
377
321
338
295
248
283
355
345
253
249
337
372
267
364
440
355
342
409
385
361
381
294
272
310
261
320
338
304
358
356
286
341
278
304
349
310
292
331
317
272
294
229
265
275
383
233
335
332
251
322
310
287
307
288
342
279
361
390
281
351
265
308
296
281
267
302
364
329
342
378
303
375
351
213
322
317
391
287
350
248
290
346
389
277
332
233
279
294
299
269
335
366
246
260
379
306
380
307
308
271
298
328
265
249
341
283
370
307
330
255
288
328
280
344
286
327
387
345
366
337
325
295
339
247
352
311
212
308
299
270
346
333
298
296
309
391
277
238
314
239
289
320
271
274
298
340
250
348
305
241
307
295
314
317
402
302
232
308
290
386
333
338
280
320
346
234
294
299
339
335
292
305
408
284
289
256
363
180
249
324
197
322
410
373
315
387
291
333
349
315
321
293
299
293
294
381
334
360
201
258
288
341
315
292
322
357
329
361
255
236
318
398
281
292
339
346
304
260
272
346
328
265
317
303
359
325
311
350
265
255
297
277
275
340
312
317
263
315
330
355
375
368
409
331
276
390
331
405
334
311
287
342
356
399
278
434
375
333
296
382
280
307
300
335
354
384
334
377
334
300
326
280
242
249
279
250
334
321
289
328
286
320
350
388
305
339
333
274
323
289
285
313
342
376
242
329
382
327
285
258
347
332
203
308
317
376
304
297
290
288
332
234
342
378
350
395
298
346
299
370
237
426
275
350
329
262
348
269
292
251
413
341
329
304
362
222
320
381
387
309
349
317
342
356
385
276
373
373
302
243
202
269
313
319
251
233
281
205
297
359
267
321
290
291
308
333
347
303
343
253
341
292
344
184
322
355
331
287
412
185
227
322
232
363
322
321
307
292
357
242
329
268
361
236
346
256
203
281
342
328
259
262
278
294
289
341
345
313
327
377
290
287
254
272
321
298
269
309
326
321
325
300
341
285
327
229
394
278
378
432
286
277
351
403
345
285
426
305
364
283
334
397
326
257
352
305
316
280
284
308
346
304
325
363
336
329
310
322
298
303
287
322
349
383
342
319
216
310
243
338
312
348
317
333
301
295
263
270
331
299
244
278
297
349
298
311
287
338
324
318
362
273
329
293
309
327
310
343
290
324
256
423
335
329
453
330
248
264
304
310
275
341
363
228
236
296
393
321
293
285
301
342
318
335
352
294
301
283
275
273
352
303
271
258
290
293
353
331
381
345
333
262
361
289
281
220
323
211
317
294
377
279
311
298
230
323
270
359
296
328
331
350
335
352
391
271
239
350
317
241
431
334
287
312
314
354
276
243
279
294
300
221
337
346
286
329
308
276
240
347
294
265
186
351
299
329
349
297
321
351
355
336
319
344
334
373
339
289
314
345
260
335
378
270
318
324
363
310
376
367
355
323
306
325
278
367
331
361
313
293
266
335
360
380
321
305
373
292
371
305
300
313
288
355
301
296
354
361
342
275
264
331
446
351
389
376
286
284
389
337
347
308
345
266
313
299
379
349
345
325
306
310
413
241
235
354
302
273
294
268
341
385
276
346
419
374
283
351
387
331
300
304
308
275
356
235
292
296
353
262
314
378
312
270
320
312
384
346
338
416
352
242
311
241
296
309
369
317
339
282
333
346
330
408
341
341
318
283
349
418
215
312
345
386
269
297
278
328
341
264
362
202
288
229
314
354
418
274
407
367
354
306
345
321
197
281
253
327
281
313
275
337
249
282
355
360
330
330
290
257
232
312
290
301
379
329
273
309
314
345
242
333
368
283
307
305
320
341
320
326
287
325
234
304
377
325
300
274
335
348
317
315
294
363
323
301
217
313
310
262
353
281
275
360
311
270
310
337
287
360
314
284
284
360
359
317
310
314
303
328
293
312
248
343
299
307
314
351
328
342
286
297
286
324
278
268
343
369
325
314
302
227
364
293
378
395
274
329
229
348
345
302
306
315
276
371
391
361
256
376
337
332
291
326
221
275
379
345
309
299
353
288
325
317
315
317
345
359
241
335
330
353
366
283
388
297
353
280
351
307
304
306
336
265
370
307
333
371
298
359
309
320
379
361
304
310
312
288
290
261
318
336
260
392
353
365
338
365
281
307
359
375
355
263
416
365
352
296
287
292
302
319
332
365
280
346
341
366
323
324
293
332
395
313
263
251
285
251
230
296
355
263
424
341
408
314
335
241
280
362
339
324
297
278
369
300
314
296
340
275
397
204
328
261
366
297
273
318
315
272
344
318
259
367
370
298
337
388
271
362
361
365
257
325
227
345
395
298
343
293
388
376
375
359
317
362
310
308
335
257
346
323
320
264
375
294
280
300
234
274
331
366
318
286
320
343
311
359
338
384
377
364
362
309
327
255
385
380
247
297
321
323
320
401
346
286
301
354
325
212
345
346
315
306
362
284
238
340
330
389
252
353
261
289
380
333
325
371
317
297
313
372
299
259
251
252
324
377
280
240
255
241
287
303
332
349
308
367
304
284
369
358
276
353
319
285
243
371
281
342
357
382
259
246
273
430
306
351
395
303
266
283
265
291
262
344
383
331
315
377
332
311
290
321
254
333
315
306
272
383
252
254
274
329
359
285
295
262
306
266
344
294
331
322
240
307
301
342
283
339
312
205
340
254
314
341
330
249
279
249
350
299
318
264
295
392
335
331
295
345
245
339
364
295
308
293
281
271
361
361
259
319
350
209
272
316
333
322
363
364
344
285
379
388
326
368
276
362
365
324
259
285
366
340
290
312
304
305
266
274
372
335
345
317
309
349
236
343
339
328
358
319
356
301
207
352
253
329
293
294
265
240
336
346
312
230
360
272
283
317
298
278
373
292
310
275
335
344
332
276
327
375
361
330
270
374
271
310
293
298
253
285
334
353
279
378
333
356
239
333
304
310
332
315
249
356
293
291
309
346
311
372
330
341
331
319
216
386
353
312
288
229
348
239
288
345
317
307
253
285
234
439
344
387
404
309
368
232
249
380
299
254
306
314
296
343
278
294
355
316
424
304
272
303
320
358
300
338
341
336
306
300
288
333
292
286
250
294
338
357
331
282
387
380
388
288
317
282
286
317
326
338
226
344
390
318
392
330
300
340
290
382
349
221
246
268
322
377
318
336
282
345
319
339
284
299
422
282
224
309
332
367
266
276
241
328
294
290
376
290
393
298
329
357
394
346
308
380
269
392
223
287
297
288
277
419
333
312
339
303
245
319
310
285
312
241
340
280
351
260
339
346
280
281
357
272
334
356
377
269
277
364
256
330
314
311
353
366
338
412
372
317
262
318
325
317
211
292
391
277
300
318
353
341
291
370
326
337
429
265
252
370
348
311
337
283
312
335
313
376
360
266
212
365
360
327
322
292
274
306
279
271
314
281
339
239
314
276
326
362
338
269
255
376
404
347
350
241
298
274
277
333
308
380
324
309
278
276
350
336
214
368
368
275
228
289
294
258
359
306
234
425
328
288
362
294
298
321
334
268
312
343
323
336
278
363
328
324
335
378
347
212
297
318
307
221
334
311
307
301
357
260
284
327
318
337
272
282
304
206
350
241
373
290
389
345
240
341
333
311
304
333
284
296
346
257
334
284
247
357
297
370
376
373
317
345
296
319
336
287
401
399
316
363
361
333
324
318
425
313
360
363
365
356
318
395
284
293
321
281
292
310
287
329
306
328
273
320
388
300
267
367
240
299
319
326
227
315
368
282
145
285
296
402
224
315
376
303
283
367
403
328
304
335
368
386
383
279
338
368
269
342
412
279
290
259
262
269
275
265
279
337
349
290
325
393
346
367
348
327
320
268
314
305
348
373
354
272
301
312
308
291
375
254
378
310
307
279
311
363
230
284
289
321
312
313
318
323
253
360
308
346
301
348
352
314
344
400
332
361
340
353
285
187
342
348
374
308
334
341
286
320
261
345
273
299
346
267
345
292
322
383
375
297
391
249
296
347
281
279
333
380
341
396
290
359
309
314
392
319
338
304
334
285
308
286
327
228
333
275
278
338
370
290
371
339
278
340
319
336
356
358
307
238
318
240
321
279
251
337
311
404
380
304
183
341
311
252
326
372
370
227
350
333
332
343
343
307
432
351
327
277
308
318
340
319
363
310
300
340
359
351
243
265
276
313
346
270
315
265
338
311
310
366
295
348
342
283
335
275
303
329
272
336
293
310
343
323
257
434
271
195
344
367
238
367
256
300
339
261
329
343
392
378
329
320
370
248
320
340
299
385
355
269
357
286
274
284
330
315
300
346
296
351
289
308
260
302
268
296
315
301
313
392
319
278
289
260
278
235
297
312
287
364
285
339
304
312
297
347
399
299
311
297
295
347
332
287
330
310
337
273
299
295
284
351
284
264
372
326
349
293
369
389
301
308
328
300
367
320
271
232
278
360
263
280
293
348
242
467
315
305
350
299
362
327
375
219
322
331
344
282
300
315
276
334
358
313
299
285
299
297
307
266
321
380
290
324
338
328
343
302
281
387
301
309
306
278
300
312
273
305
259
297
341
352
343
341
313
330
369
375
395
269
370
349
295
336
289
328
305
223
298
252
292
425
347
392
308
391
285
280
361
333
258
313
332
363
376
312
306
430
350
328
297
382
254
331
329
301
291
389
369
391
350
353
371
307
366
284
281
340
290
363
306
321
345
338
215
321
243
275
267
395
339
367
369
328
289
269
310
290
307
347
334
296
313
286
305
257
260
355
340
248
236
343
298
333
365
303
374
355
266
355
285
356
331
393
300
309
281
277
313
283
298
368
306
364
359
278
313
338
385
334
371
259
285
356
306
245
376
251
355
393
284
300
343
309
293
365
222
319
254
302
256
331
295
328
389
314
307
364
339
395
343
287
309
354
280
317
314
289
263
389
386
308
328
308
299
387
240
288
339
299
336
238
336
293
372
292
376
249
320
295
371
344
331
357
283
284
357
287
346
347
405
372
257
224
334
366
363
218
350
395
247
360
261
323
284
382
352
271
386
301
302
306
268
280
349
315
373
335
278
305
310
305
318
311
297
295
338
384
346
312
250
302
317
411
309
359
313
330
367
310
312
441
299
303
323
366
336
337
368
339
322
332
322
383
289
360
319
267
287
336
277
335
323
384
367
320
345
308
302
353
224
348
261
321
314
410
289
243
320
344
319
374
288
371
280
324
251
184
408
335
371
313
382
377
339
348
286
368
323
263
301
375
377
377
377
344
327
233
360
328
313
320
343
302
318
247
327
237
292
381
298
305
402
250
325
263
286
306
295
291
331
421
373
288
336
363
276
334
325
347
291
290
270
372
258
318
248
325
245
324
234
370
294
265
274
354
307
326
278
293
336
273
334
325
297
325
285
359
294
368
319
299
353
399
310
287
325
332
344
369
384
376
324
339
311
278
368
306
260
281
275
213
238
334
252
286
312
333
335
289
298
299
261
305
344
275
298
313
327
290
305
288
336
308
320
384
291
221
315
266
272
399
318
344
355
319
344
358
313
285
288
304
237
309
344
385
333
299
271
269
263
314
354
319
350
351
309
251
359
328
296
339
365
254
316
256
307
327
267
393
291
357
253
351
252
298
271
276
318
346
264
239
294
245
264
383
310
333
355
326
296
305
331
317
271
278
347
396
261
268
299
292
337
316
357
270
299
383
278
271
377
264
260
304
359
296
303
352
370
408
288
428
299
332
337
308
317
293
352
317
250
326
324
298
411
258
310
300
311
311
322
300
338
380
381
364
327
321
301
309
289
368
320
293
316
326
373
348
248
368
244
361
353
327
256
333
288
348
317
283
235
337
363
362
383
339
339
351
279
231
353
298
229
266
391
343
310
417
338
351
249
308
398
293
299
335
325
346
247
345
402
268
288
273
366
289
373
334
246
251
300
269
319
338
341
320
410
277
279
306
303
283
279
221
315
358
258
263
372
298
293
343
384
313
381
349
351
404
335
290
243
286
274
252
283
300
319
380
291
328
256
315
297
311
375
289
312
372
240
324
282
396
336
248
351
327
356
301
370
345
319
392
367
306
296
334
325
356
358
296
341
339
305
318
296
389
277
332
333
340
334
254
240
338
341
360
282
368
312
251
381
316
296
350
303
342
287
322
386
333
343
333
281
341
294
314
321
297
301
314
325
336
280
296
363
263
336
317
391
257
234
281
284
354
251
265
416
312
361
317
313
312
302
324
377
301
268
352
355
277
331
196
278
331
334
336
371
273
303
318
341
290
348
287
267
268
347
399
274
359
394
312
282
220
370
356
296
327
302
282
338
301
302
228
316
394
323
338
281
312
296
301
287
314
319
372
263
301
300
324
346
299
291
269
286
332
357
306
283
291
263
349
364
329
260
305
263
262
376
387
314
250
300
361
324
250
349
316
184
285
349
297
336
300
289
386
242
279
274
354
298
421
349
348
357
327
322
342
357
374
359
229
350
265
356
294
309
345
363
363
418
287
365
328
365
346
260
386
414
294
370
249
302
253
317
259
322
320
361
262
312
344
381
294
365
309
331
248
340
350
294
362
258
225
333
341
335
356
265
363
300
330
299
304
353
309
346
295
322
374
294
343
303
318
272
280
323
424
282
314
286
347
337
270
332
368
336
335
311
259
303
275
344
349
319
341
395
350
237
302
347
338
363
330
347
321
270
322
268
218
317
393
301
299
310
323
388
305
371
299
358
343
304
361
296
326
274
211
306
299
285
325
346
349
351
335
314
300
315
316
347
290
299
341
330
374
266
278
299
370
371
321
299
219
266
298
328
279
390
303
252
375
312
329
298
311
269
335
359
263
272
255
356
331
401
392
275
275
250
396
323
312
342
338
288
305
297
311
305
335
309
381
396
320
243
337
268
387
321
264
285
321
354
298
321
327
250
247
237
268
390
323
302
323
405
358
257
344
339
287
404
320
349
397
283
339
269
385
385
330
364
277
293
381
365
324
335
199
392
212
376
282
296
297
301
274
279
303
349
279
291
293
286
371
309
330
354
364
314
424
399
299
337
301
334
397
219
308
304
310
303
331
380
288
324
366
254
344
381
323
326
284
317
359
304
379
422
337
337
283
239
332
301
291
337
369
361
347
378
349
354
327
234
216
245
318
364
348
340
353
395
370
283
433
298
397
361
327
299
344
323
280
310
321
249
312
326
271
346
311
365
248
368
377
287
200
250
291
373
340
346
300
320
390
290
379
240
329
311
326
348
321
310
313
362
264
307
301
334
316
374
348
315
281
313
337
339
317
294
316
261
350
311
307
359
294
351
331
358
216
250
334
323
342
306
284
312
326
249
254
275
273
220
407
290
324
302
342
289
263
247
302
327
269
329
328
362
368
372
303
364
290
345
376
311
294
279
320
245
386
312
291
217
258
329
317
278
326
409
332
283
340
275
281
335
324
318
379
282
269
324
287
277
429
313
262
323
323
360
318
225
344
296
368
297
345
371
296
261
347
371
391
332
349
270
276
330
248
262
259
325
210
357
343
275
369
270
278
321
319
306
250
199
373
355
349
373
295
301
318
361
310
279
299
376
267
370
261
266
264
321
336
274
357
231
357
283
363
390
292
307
367
297
335
365
328
241
305
377
245
287
372
375
246
344
360
299
395
366
346
273
362
356
356
309
324
353
330
325
260
301
249
276
347
270
319
286
300
312
244
357
238
369
299
296
348
282
360
331
246
345
323
272
388
337
295
264
343
364
343
353
318
265
270
317
370
295
314
375
331
290
302
355
339
365
296
257
292
330
305
300
300
434
328
295
326
335
382
281
353
301
311
392
303
273
345
252
317
270
243
349
175
295
406
294
264
320
282
360
278
371
324
317
340
379
371
305
315
317
331
321
381
367
303
302
320
332
301
368
370
298
279
288
363
323
323
321
199
295
265
337
234
291
324
348
288
314
350
303
266
315
268
296
294
372
286
286
354
324
335
362
312
224
191
357
376
339
305
309
329
363
320
258
340
275
364
228
283
278
297
347
303
327
351
246
288
289
299
279
240
332
289
280
290
332
343
298
443
313
304
357
248
398
275
369
346
406
268
285
331
317
356
325
392
272
304
431
387
237
271
362
252
348
238
301
359
350
376
317
338
248
461
289
334
345
392
306
378
347
318
315
318
257
307
321
249
321
308
235
328
321
328
375
336
350
281
295
389
376
283
257
209
302
273
296
395
295
283
269
325
298
254
289
308
376
374
364
334
389
368
381
284
360
282
312
308
364
228
275
292
260
288
343
317
256
193
305
313
223
355
296
364
328
245
266
363
257
222
276
343
290
236
231
327
253
317
305
289
256
354
323
304
310
251
188
277
359
199
320
275
351
291
339
279
344
301
341
324
326
300
333
350
317
367
384
339
316
361
296
264
338
306
338
327
364
317
311
277
244
342
332
286
302
334
347
265
296
304
293
340
323
342
320
273
262
369
287
375
339
343
348
282
254
366
351
262
362
386
326
382
289
366
290
229
261
345
294
323
259
258
417
307
322
335
290
310
234
370
368
305
347
268
311
307
258
315
335
308
397
168
302
362
281
425
371
336
369
289
339
326
339
319
333
326
346
273
298
291
326
201
335
399
237
247
300
335
311
288
288
255
371
287
393
378
262
420
360
375
349
312
341
304
368
376
331
308
317
327
324
333
307
253
334
322
312
311
378
307
375
305
365
386
285
247
353
351
250
266
304
346
254
314
374
341
330
301
269
346
263
316
336
243
376
312
250
253
376
341
307
279
298
351
276
367
278
315
293
406
348
302
291
308
323
271
325
355
276
367
282
264
341
262
295
344
453
405
257
297
307
333
382
323
320
277
298
291
348
254
276
331
317
271
294
327
405
337
375
366
249
295
366
248
364
403
229
319
243
274
256
350
357
291
332
318
313
307
274
311
286
274
247
314
301
345
287
355
235
287
272
390
270
332
254
304
310
326
312
342
304
342
315
284
324
259
252
336
372
269
210
357
308
355
316
384
336
343
289
312
282
287
311
277
309
352
321
308
340
329
310
306
258
328
275
327
314
255
282
342
355
231
325
373
297
310
245
298
331
304
298
271
299
294
310
316
379
336
422
271
278
267
294
336
227
321
338
311
319
260
337
208
253
278
300
330
347
258
304
321
245
410
322
253
306
323
257
298
415
314
332
320
363
340
334
285
301
259
328
396
339
322
385
305
334
311
321
325
315
242
325
340
379
343
329
371
318
244
359
352
273
352
375
312
341
327
284
219
311
289
317
336
312
315
385
348
265
334
310
300
299
368
302
192
244
387
390
340
296
336
337
325
268
342
386
286
428
398
258
322
277
322
297
286
191
333
339
255
259
357
317
252
288
270
291
332
342
343
239
241
320
275
319
352
376
333
287
267
296
284
284
278
252
279
296
270
338
310
309
286
274
303
361
333
338
244
358
290
349
280
287
341
384
385
335
384
280
287
275
325
408
294
368
303
391
345
348
318
267
272
245
293
321
292
346
306
316
305
329
357
260
344
254
299
345
291
416
330
288
375
318
230
347
288
323
393
294
313
346
332
337
263
307
352
389
324
362
330
239
251
280
408
304
251
364
286
319
256
348
259
366
388
358
316
325
398
337
241
384
333
283
350
284
361
305
320
280
310
326
391
285
308
414
303
276
315
345
319
296
328
329
365
314
288
301
348
333
288
318
359
218
346
358
328
299
348
294
322
369
279
293
302
230
299
327
344
364
354
208
322
270
249
260
285
265
242
308
333
286
355
316
379
367
296
335
276
351
389
360
345
281
323
285
392
302
277
422
356
287
329
354
254
345
288
284
260
330
297
288
343
328
375
328
329
336
312
345
421
344
351
351
338
257
278
358
299
303
206
350
355
413
234
389
297
287
376
301
274
364
337
361
321
340
342
376
292
312
353
360
314
385
255
221
332
242
356
268
306
330
282
290
324
283
243
366
351
258
309
250
364
328
287
276
367
312
316
430
316
274
353
286
304
319
355
400
300
287
298
296
358
272
222
303
327
238
354
316
348
325
309
263
390
329
389
271
219
298
362
322
245
282
307
327
316
280
358
342
287
312
295
314
313
376
287
307
322
364
292
359
263
338
265
345
325
192
298
374
291
299
339
262
273
392
328
333
261
272
291
307
377
339
269
275
396
273
339
340
364
296
280
310
282
303
237
246
337
329
398
371
358
301
294
258
294
355
376
273
389
356
385
282
313
261
291
300
329
375
211
333
318
324
387
321
317
354
276
358
306
402
352
287
295
317
307
287
254
290
323
323
321
330
287
329
333
334
317
313
296
365
287
383
267
252
374
356
340
345
267
369
208
305
343
336
279
340
224
291
256
272
310
265
349
302
295
341
362
384
359
311
315
355
269
319
263
282
297
294
388
319
359
260
354
269
310
361
334
299
374
370
302
322
305
340
305
314
358
313
337
277
290
330
357
331
287
371
354
348
249
267
393
379
325
305
322
314
330
349
375
271
338
310
373
322
254
306
273
280
357
367
238
316
279
350
263
343
289
337
249
349
269
365
320
285
329
377
333
366
311
271
338
357
388
363
392
264
263
346
315
224
362
299
329
260
301
338
311
334
302
375
342
305
307
333
318
286
395
258
306
377
320
287
239
326
336
315
321
315
272
340
369
383
320
262
283
371
297
336
346
344
339
346
274
328
316
334
386
362
371
338
211
242
303
346
281
237
332
306
329
338
279
259
361
302
317
300
339
232
303
252
320
356
320
306
381
301
327
294
302
300
341
357
331
320
271
314
247
260
316
286
264
292
381
231
288
333
322
317
348
358
244
314
313
292
324
308
371
362
322
336
317
307
397
272
331
319
330
340
296
282
271
264
292
341
358
326
323
278
374
313
347
293
316
299
399
286
271
259
278
341
341
352
415
362
325
305
293
345
254
313
349
332
301
339
295
273
300
301
300
362
377
343
230
346
286
334
325
348
319
354
266
307
267
325
373
291
353
276
349
287
240
276
301
332
315
252
326
273
316
329
353
267
293
394
387
275
285
391
267
335
354
287
253
283
321
244
303
379
267
383
355
335
304
419
351
208
378
411
316
276
245
370
426
331
322
203
357
307
280
296
331
357
306
294
309
361
235
324
292
355
303
310
313
239
348
333
363
383
337
377
363
265
370
347
281
324
300
349
265
283
241
350
285
226
304
366
331
232
218
308
320
344
359
273
256
397
303
377
265
267
357
360
348
291
356
332
323
350
285
292
376
307
360
338
305
333
326
293
327
305
298
400
364
326
383
328
292
285
329
374
255
305
358
293
405
350
269
324
362
313
305
318
334
282
385
253
305
337
366
303
289
334
285
395
283
193
319
312
312
387
377
383
301
305
308
262
291
363
275
345
295
278
311
319
309
374
325
269
308
315
272
348
375
346
294
325
350
312
332
343
332
271
283
308
297
334
270
343
235
285
311
329
217
349
333
328
347
313
240
308
339
325
290
295
390
319
309
315
333
224
290
362
333
307
259
375
342
346
356
356
264
329
270
344
295
272
278
294
299
316
342
328
368
316
312
269
276
343
348
387
298
328
194
308
319
236
342
310
326
282
369
359
381
338
342
298
342
358
365
350
274
285
314
323
313
314
211
238
265
363
351
407
340
284
376
281
236
379
331
289
302
269
369
333
370
374
220
396
364
268
245
302
288
363
360
350
360
368
270
213
366
396
398
290
254
274
299
316
428
327
346
388
333
312
325
299
348
351
313
384
332
306
342
353
312
335
281
296
264
336
264
330
328
319
355
362
350
364
280
340
354
405
397
262
261
314
348
359
302
374
299
305
279
385
240
224
402
362
398
215
336
302
365
277
396
349
370
268
296
198
368
304
231
279
348
325
348
210
383
353
260
318
321
286
312
308
327
262
302
249
335
247
369
358
341
371
272
279
342
312
287
335
371
273
279
283
259
263
373
331
304
326
338
283
269
342
350
277
338
340
333
291
302
315
432
312
352
254
326
322
342
223
274
338
353
303
330
340
259
263
372
286
335
287
280
413
352
309
367
248
321
296
349
310
246
298
243
359
292
321
263
262
334
311
237
323
340
292
279
299
364
209
246
339
302
351
304
312
333
359
351
330
382
258
338
296
278
282
316
300
295
274
309
231
386
301
346
299
323
285
311
193
332
315
280
338
284
315
262
361
325
378
334
270
322
339
376
383
325
314
293
306
402
300
316
245
277
288
307
296
400
289
301
358
392
382
330
343
331
285
340
408
341
397
360
329
285
317
307
347
319
381
300
272
245
324
325
325
394
332
266
344
352
417
396
346
260
340
269
394
261
326
290
267
375
300
385
274
304
318
332
315
328
316
301
334
299
353
301
318
311
310
294
304
314
352
288
297
367
316
308
285
294
293
380
302
351
346
388
285
292
323
272
312
308
330
310
311
278
372
224
304
311
308
327
329
303
281
381
319
264
302
370
346
342
382
326
324
383
277
329
268
337
299
296
242
356
375
280
285
266
343
319
321
351
348
358
301
300
347
307
321
321
264
323
416
363
316
332
275
340
339
378
273
359
295
237
390
301
254
389
269
308
268
281
269
325
397
348
374
314
363
376
302
272
331
306
313
293
239
296
272
328
316
283
295
299
288
373
339
303
294
247
305
387
283
379
339
352
311
368
369
319
338
265
354
218
358
359
335
334
298
338
311
407
319
392
299
296
260
292
296
365
265
360
436
220
314
230
291
334
295
337
297
334
232
262
245
256
346
409
378
280
339
266
338
322
384
310
335
369
329
326
323
284
276
283
338
395
406
374
273
265
297
284
338
347
295
255
249
322
350
395
305
333
352
319
270
328
280
337
379
368
295
321
347
321
389
307
314
352
289
330
335
399
301
345
308
370
336
320
309
320
243
350
339
399
226
367
214
320
315
244
231
305
261
297
198
346
334
306
326
347
388
368
284
339
348
309
326
371
303
282
335
235
354
306
321
336
352
243
243
305
211
306
355
239
308
351
305
292
328
305
294
364
262
312
259
287
268
316
295
354
269
268
322
276
286
358
301
332
259
318
260
342
411
338
279
266
295
205
356
273
260
284
284
285
331
367
281
348
289
217
237
344
327
248
268
268
324
276
278
323
304
366
297
345
254
294
328
271
313
279
263
384
366
325
241
392
300
311
351
375
277
369
313
340
288
277
392
291
330
370
281
336
302
276
337
341
327
336
352
380
265
299
267
279
293
253
319
289
291
255
311
289
231
338
295
327
302
329
381
383
293
338
322
330
300
235
407
357
419
354
357
348
309
257
313
288
264
266
279
273
379
302
306
297
297
375
258
329
385
307
273
294
329
309
315
284
327
346
397
236
312
373
346
345
355
327
356
290
291
379
396
283
295
328
285
333
236
220
222
430
357
262
284
285
335
380
311
266
253
265
376
358
270
287
274
264
304
368
386
261
244
201
310
325
298
269
280
286
314
254
313
298
333
256
400
305
327
331
324
351
278
376
335
309
278
322
266
311
371
412
277
326
323
276
291
221
277
316
314
305
263
248
360
388
281
360
211
271
310
319
282
344
369
387
287
287
306
268
275
320
259
319
269
351
344
325
354
279
315
300
319
221
325
285
335
310
391
286
319
348
274
305
312
282
415
322
349
268
300
345
165
310
286
302
339
319
305
273
352
302
292
301
301
342
301
303
357
307
213
319
299
332
244
316
287
391
325
311
278
358
319
300
297
358
332
300
333
271
263
291
310
187
340
291
347
317
363
341
320
294
293
322
319
316
373
361
336
357
348
340
266
249
334
334
369
272
243
406
279
346
370
266
404
352
318
323
358
328
349
260
313
340
287
296
272
281
361
356
287
314
287
373
350
325
394
266
340
326
334
306
288
285
303
353
327
233
283
316
411
216
386
278
348
362
373
320
286
283
317
282
284
297
230
383
415
315
367
313
378
250
385
283
410
276
365
343
316
297
362
360
331
406
311
363
314
353
372
337
309
266
312
316
252
276
280
290
292
310
288
304
300
294
290
379
241
345
364
302
250
358
291
275
270
360
204
319
371
280
350
378
362
319
322
248
360
325
350
197
286
323
292
276
310
302
246
389
430
373
309
339
334
349
329
302
323
326
368
311
251
318
297
396
311
177
368
326
333
245
309
286
398
288
337
331
371
286
356
340
341
245
331
395
317
298
351
304
346
244
355
306
329
328
369
323
278
339
200
313
295
323
403
305
318
302
328
293
311
329
328
243
331
275
230
179
310
319
276
311
311
297
278
365
347
285
367
356
256
297
350
302
254
405
288
427
309
302
342
362
316
375
294
301
288
347
441
327
353
307
378
276
297
273
347
302
253
318
285
388
358
214
341
396
270
236
285
371
347
285
304
302
267
289
257
345
274
333
323
312
350
289
341
367
352
356
212
304
338
277
263
278
356
320
348
376
346
341
374
309
283
333
338
265
347
277
324
386
299
290
352
314
313
292
322
307
284
293
318
251
386
332
273
341
314
325
299
367
382
273
307
326
335
289
259
277
318
329
329
295
321
275
271
275
430
302
295
290
418
280
164
280
342
363
366
330
337
404
286
285
323
241
266
317
331
302
326
339
286
282
319
297
308
328
368
262
297
320
293
271
353
313
309
340
300
339
281
307
300
347
326
347
312
363
250
232
321
241
298
316
344
312
365
309
380
301
265
267
285
270
309
275
275
309
342
307
335
309
309
320
302
386
355
313
227
251
331
354
293
348
316
359
298
334
279
275
299
238
290
359
313
398
308
286
287
308
363
345
373
331
279
364
283
361
363
193
340
365
304
219
371
348
304
271
364
298
333
280
290
334
246
299
269
288
260
339
305
284
301
213
261
254
340
291
255
302
198
328
328
435
348
316
335
251
250
308
273
339
285
246
300
273
352
282
270
312
274
392
260
300
361
289
415
411
339
308
341
365
378
349
307
238
334
296
389
284
377
323
299
364
350
383
317
361
339
286
279
308
352
330
252
299
351
211
378
263
150
278
347
278
352
346
243
217
346
355
293
325
301
322
406
352
380
283
389
377
260
317
264
345
236
262
281
260
376
329
321
354
343
360
300
299
309
341
314
392
306
289
348
266
310
355
331
427
257
324
268
310
301
311
306
382
290
320
275
285
325
316
343
337
312
342
341
307
359
257
326
357
247
363
330
353
389
264
324
316
374
336
284
287
357
314
342
306
355
261
256
315
352
334
329
375
322
279
246
341
230
319
347
407
277
333
265
266
371
348
310
386
321
360
360
280
378
270
284
351
271
419
349
299
319
342
261
270
356
292
210
329
252
251
343
395
330
287
343
340
345
258
285
279
341
263
387
263
279
321
337
328
314
255
244
310
311
303
291
379
299
346
393
280
370
312
375
374
286
368
334
343
282
204
375
239
348
261
349
393
322
260
414
284
361
301
332
262
332
280
339
349
322
320
282
254
281
323
360
372
357
372
280
325
310
306
290
359
299
360
308
302
334
285
296
298
282
287
341
270
340
299
347
313
340
367
326
307
298
266
302
276
271
351
226
420
287
344
381
334
346
339
249
335
334
274
353
338
407
378
396
332
341
316
354
306
315
285
274
249
356
369
324
308
335
285
304
357
344
273
288
287
321
257
276
308
284
244
210
385
335
306
328
274
250
347
346
267
203
278
255
367
332
390
303
250
318
329
279
296
394
285
207
280
282
282
286
260
315
300
371
184
255
359
344
316
395
285
369
324
269
250
339
219
230
265
358
408
334
343
404
320
352
396
319
363
259
302
346
338
232
357
265
337
227
320
299
330
335
294
321
373
281
326
355
221
279
340
314
325
238
322
354
287
292
324
322
306
273
316
249
294
297
328
280
331
321
255
313
363
317
263
299
302
314
355
400
282
342
375
341
285
283
351
310
270
315
303
344
327
352
332
303
364
339
350
360
295
358
295
242
387
380
274
254
359
254
338
281
233
347
233
361
319
361
354
292
284
272
263
345
271
391
391
298
302
320
274
383
304
365
272
362
335
380
400
337
292
266
262
317
240
322
238
269
338
305
376
362
339
269
270
337
352
274
304
301
279
356
339
272
319
319
330
321
295
351
269
371
322
380
288
383
302
278
362
359
273
249
324
359
329
318
297
293
361
300
321
280
362
261
319
302
334
314
303
317
266
272
323
334
340
358
349
370
345
259
314
263
285
432
322
350
259
323
307
380
258
280
314
330
323
376
364
281
322
253
268
328
325
237
298
228
244
292
349
270
318
325
305
331
315
331
346
304
326
292
302
329
243
294
290
321
353
349
251
300
351
346
202
300
263
262
386
331
268
376
297
320
267
311
277
338
269
357
254
348
362
347
326
243
359
305
344
239
305
359
298
337
285
352
341
290
311
297
315
270
381
379
321
301
348
293
309
295
316
355
266
312
309
254
289
268
334
291
323
294
252
363
322
289
333
304
348
296
338
276
309
315
373
325
272
312
343
237
361
311
381
321
350
319
351
344
336
410
283
394
353
273
242
353
418
334
329
333
265
270
320
197
379
285
282
236
358
238
261
345
339
252
271
321
298
345
337
318
311
347
327
264
312
261
288
263
337
196
312
312
268
342
259
283
302
270
303
346
228
383
345
275
344
322
250
318
318
257
304
326
206
281
285
326
400
320
397
346
229
334
296
272
291
320
348
257
308
338
259
264
307
271
346
306
373
366
364
318
315
306
274
312
295
291
317
365
390
254
244
341
334
290
359
372
344
345
342
313
321
375
311
361
304
367
276
284
316
293
417
279
337
398
329
319
325
332
254
273
276
308
322
322
312
317
332
287
344
306
271
341
422
314
284
381
371
299
302
357
242
335
364
344
243
263
302
281
319
385
363
325
300
332
264
312
333
219
367
420
301
303
332
270
352
384
384
320
391
309
371
310
369
331
377
321
354
310
324
356
248
396
255
304
345
328
351
298
272
345
357
231
319
284
332
276
356
341
365
362
332
412
315
304
344
339
386
340
304
238
369
332
346
326
267
383
300
264
334
276
347
318
284
295
328
314
331
286
309
271
346
293
358
346
278
297
365
317
374
362
320
269
327
356
341
313
303
338
332
356
378
249
404
294
347
334
318
357
274
327
280
313
227
325
365
280
286
212
322
346
419
316
294
319
288
262
279
300
350
346
283
357
380
288
361
290
308
337
314
354
354
383
290
342
313
261
295
309
274
283
272
248
315
334
347
332
336
296
362
369
256
320
236
200
390
400
300
326
304
287
243
367
301
359
251
359
381
333
357
317
337
329
325
336
401
344
339
378
204
311
243
262
270
404
243
361
238
290
287
368
322
388
236
343
299
302
309
362
306
324
348
307
375
333
328
312
262
357
319
312
285
303
327
392
318
264
278
343
371
375
284
360
329
260
259
349
286
332
245
322
299
341
318
331
341
356
344
233
290
304
293
344
402
355
280
335
418
291
286
292
347
324
288
321
266
302
322
188
248
313
336
355
347
285
303
316
327
329
386
333
312
391
299
279
289
310
348
287
362
317
309
257
323
256
368
272
229
314
320
363
246
314
264
325
300
293
391
380
262
339
346
388
339
357
235
292
331
297
365
302
305
418
345
340
344
352
354
293
261
372
337
366
301
312
330
309
355
314
262
324
311
358
369
306
352
294
329
298
349
287
334
334
261
219
376
271
274
339
243
318
292
254
224
299
387
276
294
342
278
304
304
275
250
371
309
372
410
304
297
369
373
277
279
371
310
358
264
303
349
313
342
326
246
361
291
341
327
350
321
328
358
302
361
299
338
329
303
267
267
363
294
334
298
268
318
351
327
355
379
307
256
300
267
438
352
314
260
306
292
375
346
368
306
326
246
213
323
274
343
361
334
382
266
300
343
356
256
313
385
261
339
345
367
319
383
397
289
315
364
338
361
355
360
247
244
273
313
300
223
318
229
298
285
298
339
309
314
343
319
294
335
322
203
360
272
259
393
325
252
314
323
305
375
397
260
310
342
331
272
274
279
239
385
338
313
277
299
350
390
347
380
382
317
313
300
317
356
297
332
319
366
370
365
339
448
323
278
348
329
272
323
301
339
363
350
340
281
298
302
263
354
341
314
299
376
357
357
221
327
341
301
310
294
360
371
352
283
363
246
380
309
374
264
270
307
281
353
236
332
276
331
250
349
194
324
292
308
313
327
344
259
326
323
321
285
298
329
266
292
318
272
367
367
314
398
310
299
299
305
420
344
363
298
322
327
294
310
286
303
331
269
296
338
376
242
344
303
308
241
348
344
351
399
285
256
319
316
260
307
400
314
321
312
249
294
190
359
324
231
336
364
391
274
347
327
362
347
275
383
327
345
237
288
329
316
341
401
313
337
255
380
352
303
308
281
316
229
323
335
264
317
289
334
282
325
281
246
371
288
342
243
306
266
342
315
268
292
262
269
385
350
340
331
310
334
317
361
299
334
308
374
371
315
330
270
327
289
298
316
332
317
265
330
335
287
268
253
328
230
308
282
300
346
239
324
361
324
308
304
367
236
382
313
281
457
402
330
385
358
382
219
322
296
459
317
322
304
312
246
231
377
297
311
349
225
263
379
270
291
375
347
327
344
270
313
200
307
275
323
358
349
324
369
284
320
346
322
244
284
329
271
400
294
247
359
282
261
369
257
327
278
310
333
357
334
326
327
348
352
329
285
308
415
389
335
390
354
418
259
373
313
349
386
237
301
248
266
251
292
376
275
330
348
358
289
380
232
393
327
339
234
375
312
326
265
328
345
336
360
236
238
296
357
213
356
306
425
335
290
301
331
349
282
342
312
293
376
283
277
273
270
394
280
282
316
278
357
341
355
349
356
335
288
346
300
316
408
299
397
323
344
317
319
306
264
294
314
298
308
346
327
296
258
293
362
333
321
309
354
321
362
381
251
365
349
288
366
327
292
359
286
244
219
280
398
245
301
304
380
348
251
414
268
350
324
300
284
305
333
418
355
314
319
363
378
326
277
319
283
351
246
320
251
345
336
299
291
385
291
338
264
322
304
264
383
270
303
288
296
284
268
348
337
381
269
244
326
231
313
339
277
302
318
281
319
285
372
291
310
294
346
279
306
298
357
335
311
301
322
307
275
380
333
257
318
340
245
325
323
314
262
291
249
362
223
328
248
269
189
377
371
316
300
296
320
332
264
306
302
319
325
342
326
277
361
312
355
426
228
274
198
329
306
331
317
388
293
289
282
356
354
360
305
309
348
384
278
317
324
300
265
331
333
342
327
297
336
371
373
404
277
323
408
279
286
364
276
362
295
286
332
286
370
351
365
334
296
292
306
384
326
285
332
330
314
295
311
265
330
288
313
341
311
344
340
384
252
324
306
301
317
323
351
296
306
395
269
308
277
306
208
297
233
305
336
269
370
311
368
365
375
394
430
356
347
304
319
316
294
305
353
250
215
303
358
303
368
238
315
290
314
341
328
241
330
247
363
323
358
337
313
306
293
408
358
289
306
268
334
317
384
284
259
365
377
351
265
303
209
328
329
271
287
343
344
292
272
227
293
232
358
394
310
364
336
242
391
296
311
384
279
346
374
324
274
370
298
316
320
321
283
369
335
309
309
359
352
272
328
245
301
248
378
266
284
342
327
403
373
325
338
287
276
307
358
299
293
247
325
296
269
333
326
301
338
254
293
351
329
321
267
308
336
334
330
360
259
244
328
252
375
269
279
345
246
367
292
323
388
296
211
299
350
244
295
307
353
400
291
243
359
305
334
335
313
349
332
336
322
240
318
299
316
277
279
323
312
341
273
428
369
367
350
311
223
352
322
426
351
299
289
280
309
296
335
314
294
334
405
313
292
350
301
372
255
316
356
282
326
233
366
297
322
369
324
265
248
315
254
255
246
311
313
236
260
299
439
288
328
318
307
338
281
342
295
307
358
386
295
334
324
326
392
374
340
311
308
281
294
339
297
340
342
356
338
311
262
372
416
368
358
318
232
282
371
327
330
330
249
317
300
251
294
316
249
271
307
327
313
279
249
230
343
309
300
282
290
367
369
300
233
367
234
272
324
347
423
367
361
260
300
246
318
345
336
310
281
400
315
330
211
328
397
270
302
327
287
290
299
274
306
387
243
325
304
408
304
341
254
258
244
322
335
339
321
288
343
281
368
290
318
308
302
294
232
391
331
304
372
291
353
419
308
248
414
265
266
393
352
341
327
309
278
324
385
246
281
329
310
313
353
289
291
263
362
348
250
282
294
361
320
384
290
342
316
229
306
311
285
376
292
347
235
297
250
348
330
376
336
283
381
354
306
343
323
389
293
340
330
353
279
264
331
265
317
258
329
296
291
298
319
283
335
290
351
290
222
252
336
332
316
283
392
330
270
247
282
281
359
339
244
340
291
203
305
336
237
271
276
321
263
338
327
314
285
347
291
361
307
245
329
324
340
333
327
371
334
295
278
330
377
273
316
333
253
330
357
283
273
354
338
315
283
326
269
323
278
250
242
330
375
302
286
331
357
404
345
320
364
328
368
285
292
375
333
309
427
301
310
289
346
229
350
271
260
362
298
356
343
215
338
352
279
299
275
303
362
314
353
285
274
274
203
173
362
345
389
308
351
367
304
302
291
321
316
300
342
304
310
230
305
305
263
269
282
351
366
279
260
265
297
272
293
337
382
287
280
361
357
318
333
284
321
284
338
338
233
355
241
354
277
303
312
331
321
267
311
339
380
343
291
345
326
368
315
386
372
383
332
317
361
398
326
386
252
268
399
271
304
374
333
306
314
305
372
314
310
276
247
309
234
360
271
366
335
354
337
396
317
317
353
325
265
242
294
337
302
312
319
308
358
362
316
283
300
364
270
240
342
377
294
304
345
262
284
289
312
234
301
273
218
327
333
373
388
308
323
383
326
298
308
323
273
389
324
264
208
322
319
329
369
326
252
378
277
220
338
299
293
312
315
316
321
285
321
371
307
297
261
335
322
343
295
355
389
300
286
365
260
345
286
331
233
239
316
338
258
266
373
318
329
257
344
321
249
312
331
311
289
373
321
321
264
268
304
327
307
344
282
269
295
360
351
279
298
247
264
352
347
287
282
430
321
301
319
259
285
239
274
354
263
291
337
373
242
326
357
298
310
298
283
223
362
318
367
273
269
335
365
330
217
342
291
300
395
340
361
267
308
292
305
220
240
327
380
326
389
327
371
307
409
323
383
339
292
371
350
269
330
350
331
334
337
245
386
333
258
293
261
207
335
330
281
268
333
347
298
330
290
289
261
306
269
398
318
263
350
295
349
324
266
305
335
312
297
333
387
288
353
293
361
314
357
314
330
313
359
223
382
372
368
280
369
243
331
244
304
288
254
306
269
248
323
360
333
282
300
295
324
330
317
247
386
331
368
325
296
358
230
298
261
292
350
316
273
290
317
310
317
209
266
390
325
368
278
326
223
285
300
325
417
376
281
334
338
324
312
326
339
337
286
401
300
267
320
311
289
259
278
364
260
331
305
363
370
285
316
251
338
404
280
312
329
291
303
343
292
340
353
325
358
208
353
293
362
375
314
303
342
426
268
301
376
358
288
365
422
252
244
329
383
224
321
325
377
232
303
347
368
318
248
306
277
329
342
250
239
343
321
258
252
307
252
382
338
245
323
293
350
338
299
251
316
363
348
394
281
354
336
340
294
271
240
223
300
309
260
361
342
344
252
296
300
329
362
304
312
308
272
380
241
263
303
358
313
308
290
309
347
309
271
437
288
307
278
343
360
299
339
313
316
349
332
311
358
331
357
314
297
283
326
368
317
308
345
295
272
368
343
265
303
338
333
242
286
292
362
302
244
346
350
297
354
385
356
301
288
289
403
325
329
358
280
312
353
299
297
293
365
344
269
286
338
309
378
344
353
323
353
301
384
348
253
414
332
262
328
267
285
382
325
356
311
253
287
228
324
317
274
344
334
356
309
239
284
270
292
332
289
339
291
311
352
292
338
318
230
240
324
279
369
352
320
356
299
368
266
337
269
243
370
311
389
302
387
349
345
230
356
368
311
339
313
326
322
365
331
323
381
319
327
285
355
375
315
318
385
304
311
272
317
325
335
403
347
274
332
316
358
229
310
275
277
313
300
326
287
341
331
357
310
366
275
385
311
390
309
350
405
333
280
292
379
368
371
255
380
337
306
367
274
316
314
287
266
262
301
310
339
307
321
313
269
359
309
331
364
291
331
256
319
313
383
327
298
310
287
299
290
279
270
342
312
279
263
364
338
332
275
374
234
253
281
319
313
356
242
274
287
394
339
359
337
274
293
396
282
284
341
308
308
276
339
319
341
289
374
288
231
261
325
291
295
302
292
326
318
310
372
402
367
356
363
357
245
356
312
238
306
329
336
318
347
337
287
315
308
328
298
394
346
305
272
367
355
261
378
327
265
245
302
293
303
372
375
399
287
339
214
259
361
316
310
379
274
303
329
242
370
377
281
307
310
302
329
327
339
339
280
397
355
365
301
308
298
354
261
313
338
253
449
320
267
331
422
266
355
254
303
354
421
417
392
264
321
349
395
338
269
276
341
258
348
366
278
317
287
278
313
358
299
371
315
302
337
333
373
366
321
301
287
294
346
280
341
384
272
309
278
264
298
248
259
286
331
357
335
343
377
273
206
298
306
278
283
397
297
320
329
356
335
373
318
259
350
274
295
316
228
324
281
341
306
317
310
277
348
323
271
331
293
300
313
269
316
239
349
344
380
359
266
400
363
244
277
332
290
244
310
356
322
371
344
306
253
358
308
365
326
286
329
283
297
313
288
326
258
369
317
307
271
350
316
306
361
297
308
338
292
378
348
343
341
283
316
367
371
303
326
317
296
359
317
241
289
256
376
255
229
352
260
303
285
348
336
352
339
266
304
241
321
306
306
397
315
252
297
385
345
389
352
283
358
279
349
277
349
328
253
241
397
320
261
355
393
274
296
286
349
279
293
323
296
315
201
198
324
269
402
368
395
263
346
270
328
294
330
307
303
291
334
300
386
304
289
317
318
202
337
382
271
286
264
280
252
235
344
316
306
191
401
284
354
319
375
236
302
299
308
308
332
240
248
282
338
350
344
282
353
241
216
329
310
219
366
343
395
286
339
334
311
349
303
324
233
303
334
347
382
329
322
372
307
305
277
356
288
295
292
322
345
366
315
260
342
314
291
384
303
371
360
273
271
282
188
330
343
344
256
315
317
348
250
216
271
310
384
321
278
282
373
347
328
321
227
390
365
420
346
252
328
266
285
327
360
288
337
343
359
292
334
291
371
383
289
352
270
388
325
289
301
205
286
329
279
301
337
350
261
323
341
300
400
282
355
301
318
311
297
278
292
328
295
310
335
276
223
291
288
308
360
390
293
302
323
342
305
278
312
269
265
325
281
271
293
349
297
364
340
349
263
207
356
385
245
232
328
379
350
320
300
304
295
251
273
271
323
308
306
323
266
367
329
368
317
250
289
266
369
359
455
296
286
232
332
347
332
337
396
343
364
439
372
327
283
291
294
323
280
309
331
322
316
279
298
312
408
328
289
378
363
220
322
254
257
282
298
304
314
315
315
314
265
313
346
302
336
329
422
292
321
302
252
285
435
371
338
323
306
337
325
328
290
301
344
321
322
269
282
348
343
252
325
355
406
352
331
373
417
361
288
385
362
333
374
317
406
348
260
276
369
291
276
219
287
388
307
387
299
276
360
238
321
316
296
259
358
277
351
362
342
323
263
309
393
363
323
322
376
296
341
368
315
253
307
309
387
271
352
338
325
325
260
325
228
233
359
315
285
329
313
300
293
307
360
339
281
328
254
364
290
304
299
278
360
392
337
325
325
262
343
331
247
316
197
326
369
364
381
373
306
304
345
320
260
308
368
339
251
280
217
231
291
391
307
301
347
326
331
291
338
348
296
321
272
272
320
307
348
421
279
271
238
365
316
275
316
341
262
357
288
313
244
379
315
319
258
334
344
386
290
330
259
395
341
287
289
334
276
306
285
308
312
290
316
326
321
279
339
366
276
321
299
312
316
306
294
193
358
350
286
365
408
348
352
281
343
244
348
234
265
319
360
252
356
317
253
283
285
297
339
329
274
323
267
266
393
350
295
254
320
362
253
277
304
310
374
361
339
287
316
322
358
303
340
325
377
327
358
341
260
257
368
380
314
282
328
395
218
271
364
309
335
207
362
277
305
320
246
240
267
347
298
301
331
278
289
251
363
327
274
324
335
275
294
269
335
365
312
277
312
272
356
359
294
209
295
307
258
257
311
301
321
360
320
269
358
357
286
294
328
287
367
352
310
302
313
300
271
329
377
330
328
288
267
325
340
333
323
235
289
341
370
216
262
279
384
323
333
330
215
301
248
338
341
259
366
258
345
294
297
311
243
300
348
342
352
260
280
334
370
377
310
262
260
363
205
326
347
256
305
316
315
294
252
303
310
299
361
328
216
208
291
256
240
295
343
344
370
372
330
342
240
341
311
318
301
218
315
268
314
264
216
336
302
301
310
325
333
326
311
356
335
328
290
352
299
323
272
323
318
260
240
226
299
356
262
356
330
356
330
356
334
305
292
291
246
359
320
243
285
258
287
279
300
275
318
335
308
363
319
335
320
334
395
345
335
342
361
257
279
338
324
394
249
353
306
381
263
217
269
272
273
317
218
309
326
303
380
336
324
281
323
336
377
283
349
389
337
398
308
231
315
265
355
336
284
314
354
427
272
281
322
288
292
270
279
284
319
273
308
262
277
360
276
410
282
301
285
308
269
344
400
360
331
296
294
357
365
338
390
267
285
331
339
409
234
309
360
357
302
308
212
347
347
348
281
331
326
280
389
294
261
386
272
295
278
378
328
359
355
335
362
280
386
377
325
302
320
248
278
331
315
323
223
297
280
385
382
320
289
340
322
306
250
290
274
331
340
347
348
397
341
287
292
271
284
324
244
340
325
274
306
358
393
336
272
276
370
305
349
347
345
301
360
317
336
249
300
294
265
329
352
308
306
329
287
294
363
291
354
266
257
314
316
285
353
342
309
361
305
323
323
282
303
281
323
329
322
282
331
377
340
304
309
247
305
232
308
332
364
417
284
306
299
282
326
276
235
265
400
315
264
410
335
332
310
295
272
334
272
265
366
284
179
403
303
343
354
276
388
262
348
356
317
259
358
353
353
257
314
286
415
405
318
305
286
348
317
293
309
396
328
305
308
310
361
273
371
391
343
249
315
294
331
257
176
327
235
350
292
297
354
360
290
376
260
322
273
335
246
323
336
341
364
335
309
349
342
349
299
289
322
408
345
297
350
399
373
375
315
399
272
240
341
287
318
333
314
251
240
324
302
365
319
361
281
368
282
341
197
309
304
277
322
347
285
383
244
360
315
303
279
237
275
344
327
322
233
300
325
283
336
324
329
255
298
287
252
262
326
314
291
264
274
372
291
385
293
248
343
344
338
328
330
367
253
354
289
332
269
364
281
408
319
276
275
314
359
276
354
426
323
416
295
307
378
316
397
309
314
226
306
377
336
401
267
325
324
289
327
340
355
294
342
326
411
289
310
322
302
313
300
301
312
354
285
270
265
299
318
295
376
359
322
279
397
351
319
302
270
340
382
185
310
220
321
309
332
419
281
337
357
339
296
339
381
234
309
277
339
293
403
339
413
400
313
229
244
251
345
334
236
273
273
328
312
357
298
309
276
286
258
302
261
206
325
312
272
352
299
311
326
300
281
316
318
414
296
290
274
325
390
286
274
327
287
331
252
306
286
392
280
316
353
343
244
345
336
262
348
236
315
270
376
289
320
317
314
312
257
316
339
376
280
220
344
233
287
262
322
310
383
401
347
280
363
350
300
253
269
365
399
348
259
284
349
295
296
328
216
358
400
295
320
311
336
286
276
276
309
279
346
319
302
315
377
354
285
253
358
352
408
330
351
309
360
311
288
351
311
262
339
302
239
240
408
312
233
289
270
312
362
365
307
338
330
237
207
318
367
317
379
358
306
249
253
406
351
367
334
323
243
356
285
324
272
386
372
329
355
376
329
344
349
318
272
305
201
278
368
372
236
407
273
299
370
311
258
295
363
318
271
305
378
348
231
275
391
230
317
335
253
334
358
373
394
297
318
252
314
360
356
260
280
371
396
314
284
276
307
343
313
319
221
374
276
322
253
238
307
303
348
292
297
351
257
340
315
334
219
310
241
379
260
315
305
329
302
324
349
375
372
361
384
318
320
262
217
323
352
303
303
294
387
280
322
319
316
408
313
335
333
329
308
279
295
349
297
307
374
358
304
260
330
296
336
267
288
311
389
411
333
274
347
358
382
359
318
339
194
368
222
270
370
355
275
329
330
391
411
351
361
289
242
365
255
286
252
201
362
278
339
287
429
332
268
310
351
286
319
275
279
316
345
295
177
266
348
363
258
410
252
344
322
374
250
256
447
253
326
338
356
315
319
304
355
257
393
318
380
317
372
286
256
346
292
237
293
348
272
316
228
362
360
351
380
368
286
324
241
353
301
322
295
299
343
207
291
368
295
324
281
318
350
299
315
373
303
329
336
289
305
332
326
273
269
387
253
358
334
294
310
285
358
291
331
352
279
372
266
383
279
296
326
285
418
366
331
314
356
387
316
279
308
309
340
361
331
349
345
338
314
301
395
334
299
275
268
311
315
371
339
317
314
319
269
368
324
251
301
394
329
299
347
356
357
250
303
286
308
324
292
295
285
332
299
276
315
320
328
268
381
291
203
273
352
334
313
288
371
338
315
333
269
247
279
245
349
343
298
339
318
234
378
355
321
394
283
280
407
302
310
348
341
360
323
291
328
307
302
395
261
296
324
279
354
417
279
349
359
291
284
350
387
326
245
299
315
269
347
231
293
326
273
252
357
304
394
373
323
254
363
298
322
299
356
304
284
277
368
319
366
334
239
308
269
362
291
372
305
331
233
280
296
257
365
363
333
367
345
341
282
362
295
290
337
345
349
283
395
353
323
259
281
379
305
369
347
311
239
319
328
371
277
356
323
312
298
342
315
325
325
406
294
321
296
348
291
371
369
361
262
293
325
258
361
334
330
330
350
269
357
326
240
203
310
370
364
306
277
316
358
362
310
279
250
293
351
343
415
397
319
299
306
272
303
360
299
297
342
248
226
348
254
349
342
355
278
311
325
314
314
400
300
358
277
270
335
344
208
333
394
316
325
320
360
263
310
383
402
280
285
412
334
267
290
330
308
288
300
345
302
290
292
332
326
324
335
325
400
372
299
305
316
325
335
335
309
246
271
324
251
281
263
305
313
329
348
332
350
331
301
284
267
295
299
349
316
296
293
282
388
369
281
414
322
162
374
328
323
265
329
291
242
320
284
389
367
270
274
262
372
342
265
331
334
381
229
388
294
314
334
344
285
343
323
314
287
246
343
329
352
414
370
243
403
315
381
300
324
350
313
331
261
371
317
319
308
371
279
314
328
309
241
362
383
238
306
306
254
242
326
256
317
310
248
390
265
358
366
280
307
298
373
374
410
352
231
347
280
309
301
318
297
351
367
310
242
347
293
279
265
321
327
240
253
303
318
293
246
363
328
395
303
344
277
295
428
316
398
360
285
327
309
320
340
289
341
299
282
342
280
291
329
345
344
293
321
289
284
338
296
304
320
263
393
345
331
313
320
340
310
299
279
329
272
322
285
318
248
297
342
248
347
289
350
280
308
343
308
311
362
323
241
286
338
363
285
306
369
302
313
289
312
330
233
382
291
346
428
282
260
362
256
307
329
370
292
309
337
265
296
376
287
383
365
310
278
358
265
380
281
354
333
339
311
280
379
397
379
275
333
399
247
274
344
379
374
297
364
310
319
371
347
415
377
390
334
306
329
297
345
339
279
354
325
305
327
337
296
312
302
317
372
343
329
353
293
340
253
372
321
290
382
285
259
274
343
368
346
324
402
321
247
404
276
340
237
303
311
213
332
284
295
348
274
367
285
393
345
339
322
277
292
392
250
359
293
311
295
305
365
289
269
273
349
283
262
228
354
357
371
316
361
289
351
309
296
402
253
291
266
294
395
342
373
324
345
314
328
322
314
276
354
362
267
360
339
231
284
258
322
322
271
311
296
295
336
366
291
324
387
331
251
292
355
277
283
402
303
318
303
252
369
282
313
274
289
280
245
308
406
386
307
329
228
330
253
269
419
349
318
273
270
249
298
365
404
260
211
362
306
327
339
370
296
354
302
367
219
277
317
294
297
267
350
266
290
370
289
293
272
237
257
220
341
392
391
296
328
379
298
267
367
296
265
368
247
299
369
277
272
322
333
379
310
365
376
326
259
298
291
335
359
240
333
355
244
236
283
385
387
329
268
257
221
319
297
232
248
228
254
268
231
342
312
383
361
354
294
273
286
303
289
205
342
263
300
264
374
410
294
312
348
395
350
368
427
292
389
285
314
280
366
373
258
293
323
311
322
350
327
237
314
337
346
210
277
258
256
316
392
274
399
301
244
287
271
323
357
288
352
331
311
315
277
272
383
355
355
322
369
299
284
312
378
235
328
300
344
320
333
273
371
332
326
252
329
321
364
385
325
348
326
313
321
371
329
325
267
249
405
301
310
251
393
371
375
336
283
254
299
281
328
274
323
363
293
294
265
362
318
340
286
339
347
281
173
242
372
339
304
377
259
273
357
331
276
364
369
303
263
354
319
241
299
338
367
273
368
396
335
395
340
300
344
420
316
261
303
312
297
331
339
313
343
332
296
367
334
255
348
372
323
307
334
374
295
245
365
293
248
308
331
305
287
299
307
296
328
312
279
259
338
246
281
331
258
278
315
339
321
343
333
285
277
332
316
284
327
302
289
315
285
283
330
272
254
343
270
284
322
355
309
174
355
283
292
261
380
266
356
295
339
289
376
348
339
253
357
304
342
332
212
302
292
347
288
340
352
359
248
359
336
311
331
287
299
323
358
345
331
343
316
253
357
231
348
404
284
289
300
294
350
400
317
356
306
325
302
287
316
291
283
290
363
261
234
293
305
269
352
308
359
249
345
335
352
347
287
351
334
285
310
316
304
371
249
349
298
291
255
275
372
321
177
277
302
305
212
361
309
354
239
339
276
352
269
314
217
363
344
347
289
341
271
288
366
266
277
292
340
330
256
357
333
321
295
358
203
296
238
292
341
303
349
368
357
269
321
318
319
309
351
303
336
347
339
290
322
340
276
211
333
321
357
364
316
314
364
268
354
332
273
342
233
276
252
265
344
341
329
333
366
368
359
388
364
309
310
295
316
338
288
286
294
351
316
316
270
264
286
368
338
284
301
378
329
317
263
372
297
333
368
298
241
290
286
325
298
366
379
313
257
329
339
252
376
293
378
351
431
311
318
235
361
342
414
374
337
198
394
284
372
344
359
310
290
368
308
261
324
353
430
290
283
333
294
377
347
299
238
363
422
370
299
337
257
370
300
280
286
254
354
249
434
301
298
298
314
320
384
184
267
351
275
253
407
267
232
309
299
296
274
363
312
322
361
301
285
390
355
319
360
342
346
327
286
232
334
267
340
301
228
317
349
301
347
355
340
326
289
358
350
376
331
277
326
273
254
342
311
410
348
370
326
290
399
322
278
344
325
345
304
323
256
311
262
291
275
417
271
334
319
320
315
257
233
342
351
346
315
299
309
274
376
288
388
351
337
386
263
282
252
374
386
261
263
326
311
253
377
302
379
317
376
361
334
333
314
352
251
339
312
346
398
298
389
333
363
316
303
358
332
219
284
288
267
262
280
327
333
313
235
260
179
383
345
395
302
350
317
276
314
327
391
399
282
409
364
283
362
317
317
262
365
253
358
300
370
325
266
408
350
279
327
316
248
248
282
315
335
334
303
283
363
223
300
372
255
306
319
321
312
302
352
338
343
351
360
273
313
322
347
234
344
211
289
310
259
310
319
244
312
416
343
398
327
338
298
300
332
295
452
324
310
276
307
415
246
325
357
255
277
329
315
206
309
309
341
250
359
311
374
359
368
350
295
305
268
290
372
324
193
265
353
322
281
367
246
406
321
305
265
377
327
326
220
275
328
318
339
330
318
337
337
358
333
289
405
336
334
306
294
315
246
242
315
354
266
301
332
308
241
296
337
252
325
281
320
322
328
306
356
346
398
273
379
302
286
294
345
230
337
351
327
282
286
270
418
372
346
384
316
268
329
286
287
372
301
330
282
235
247
335
341
292
308
341
425
298
253
320
297
365
327
275
323
369
359
271
342
147
322
283
307
310
309
357
329
324
365
341
250
341
273
203
284
338
283
422
256
329
232
262
349
272
246
367
239
376
252
331
282
288
266
289
280
335
346
250
269
364
271
319
280
335
325
384
352
271
374
300
369
379
289
325
288
338
302
238
285
287
335
365
336
321
250
292
304
256
379
315
324
316
341
341
274
312
358
320
356
372
260
238
297
294
303
233
310
354
425
239
329
347
197
398
279
324
366
277
442
408
303
225
280
369
271
270
249
381
368
227
298
329
335
327
343
377
278
325
238
212
361
294
365
311
246
292
337
376
328
363
347
322
360
313
341
364
303
337
377
318
304
339
283
320
314
263
295
318
313
281
373
223
374
367
350
326
314
285
325
311
322
373
243
277
375
357
342
346
312
238
268
326
280
342
268
260
301
281
284
303
355
282
307
260
319
260
320
312
304
279
313
245
236
409
357
265
336
272
235
236
343
406
343
281
331
278
319
405
337
347
288
322
343
259
301
315
331
343
336
329
321
298
312
303
352
267
256
262
284
283
261
350
379
253
354
334
386
303
273
270
313
347
292
275
319
325
244
363
356
366
323
333
274
329
335
339
247
326
401
300
370
177
300
359
320
305
196
307
276
346
254
284
260
310
378
323
293
376
312
256
296
335
335
228
318
237
403
354
322
361
383
274
241
380
292
302
305
280
320
291
289
300
298
279
336
298
305
300
384
320
318
346
334
361
309
362
357
374
232
355
363
361
288
355
313
309
246
343
341
334
273
341
392
329
290
336
346
349
444
252
352
233
274
318
321
363
377
261
377
316
240
336
288
285
356
335
287
239
303
312
311
312
309
237
321
357
290
359
304
349
302
271
298
316
295
246
315
330
281
286
345
361
297
367
331
361
328
295
278
391
343
309
233
297
327
317
347
363
337
348
313
332
324
233
355
347
331
304
288
363
317
279
285
313
260
367
297
356
347
340
267
284
292
244
345
299
381
306
293
302
332
298
225
363
312
265
334
261
383
364
350
341
304
277
261
295
254
251
362
301
306
349
345
302
300
436
313
229
298
343
346
248
283
363
312
352
334
297
291
368
319
298
317
339
312
380
332
343
333
331
337
298
286
273
240
258
330
295
287
317
344
290
339
347
320
385
273
393
348
408
246
375
342
290
314
301
322
324
272
253
319
244
316
304
324
330
365
388
310
333
230
369
214
265
298
304
331
399
381
388
341
249
369
300
250
328
324
295
266
357
277
335
319
304
269
306
294
405
298
356
342
284
278
249
274
335
320
283
253
299
301
308
242
246
337
347
387
322
268
322
354
305
290
358
271
326
246
380
376
369
267
311
366
284
369
268
302
330
356
360
298
280
296
364
359
292
268
363
279
253
332
357
285
364
341
276
332
302
214
334
369
278
301
412
335
301
289
360
400
335
328
375
367
276
291
344
335
335
235
279
332
319
293
344
406
298
364
296
260
367
371
344
343
298
304
258
329
329
280
298
364
287
331
384
363
281
288
281
292
229
349
353
341
321
280
292
292
320
374
217
311
388
292
361
307
292
327
299
338
257
261
274
361
271
269
359
261
322
301
317
363
199
353
343
336
304
361
342
302
327
265
370
342
196
345
321
279
314
297
310
366
266
338
317
285
407
262
348
301
306
326
317
351
357
338
374
329
334
316
259
331
344
333
293
260
321
259
330
331
300
314
325
358
312
297
342
239
327
387
340
379
287
280
358
384
283
325
350
337
342
355
256
394
249
326
276
264
339
334
373
217
352
342
376
418
290
417
340
375
264
243
369
340
356
312
300
338
307
290
293
348
329
274
362
309
332
294
342
395
259
334
365
291
345
259
363
282
284
366
325
310
294
304
345
437
309
325
264
389
310
336
355
300
281
359
296
345
252
393
344
300
283
364
394
350
257
223
324
349
271
263
272
298
288
380
335
342
352
316
278
312
234
329
362
354
253
405
325
270
320
296
353
369
334
349
309
255
375
335
315
340
318
311
326
334
317
360
335
359
370
286
312
264
307
350
383
292
356
357
264
369
344
347
369
271
404
296
355
206
315
267
322
382
380
345
301
252
337
306
291
340
311
356
259
266
294
302
341
294
324
294
278
286
268
211
309
380
341
294
317
238
360
288
348
306
368
362
296
319
325
301
267
303
379
396
328
268
328
333
221
378
276
365
308
270
377
307
332
284
297
230
331
344
279
293
306
342
265
326
407
271
266
354
332
368
308
380
333
227
312
355
314
257
323
328
309
301
264
324
389
374
387
339
340
330
310
322
347
381
218
252
241
293
241
278
325
369
285
248
417
296
371
321
289
330
286
305
342
257
292
338
286
258
369
355
195
254
336
331
312
282
363
355
287
372
317
298
381
275
272
343
278
347
336
317
335
383
347
283
287
302
327
247
275
339
296
256
251
288
294
356
332
271
249
339
312
407
279
334
301
376
256
269
301
299
282
326
320
292
337
343
329
292
347
282
209
304
363
253
349
356
367
269
342
345
271
297
338
350
219
274
315
380
277
321
272
390
302
283
336
229
314
392
305
243
406
266
341
260
269
314
306
313
325
234
365
299
338
297
318
276
407
274
272
321
289
384
274
338
291
283
322
308
333
317
368
315
306
289
317
348
307
314
315
342
277
345
308
256
294
314
266
294
333
280
262
371
319
295
327
332
215
260
374
365
392
288
307
280
378
260
324
342
334
334
321
271
272
284
276
332
311
307
365
421
408
324
273
343
309
267
289
264
386
312
282
245
321
335
375
292
321
316
218
214
318
304
336
295
251
270
364
285
276
280
237
352
274
338
286
235
249
311
376
346
301
255
273
356
376
343
292
338
329
363
345
302
238
277
316
287
258
408
256
392
412
230
294
336
402
299
335
334
371
339
355
272
262
250
352
273
299
343
294
308
258
253
422
289
288
334
325
328
215
259
338
366
311
316
289
374
400
286
341
276
369
307
321
242
297
325
271
401
383
272
313
315
232
257
311
290
312
352
379
286
292
264
326
225
241
338
321
327
245
336
365
362
240
294
347
358
311
344
292
334
278
322
303
277
329
373
251
289
233
267
385
275
286
295
248
276
319
369
299
342
410
360
365
292
373
224
324
388
256
306
371
236
275
256
290
243
268
324
333
307
334
377
235
291
269
221
301
335
268
313
326
225
404
316
353
337
373
352
278
329
319
288
373
306
332
365
344
381
406
288
241
310
285
366
308
324
377
405
228
309
282
338
288
301
320
277
296
326
284
314
317
329
344
359
242
316
390
321
295
315
346
345
278
415
299
316
318
384
314
353
375
278
330
293
332
350
343
299
327
282
343
263
257
316
279
278
340
326
380
351
326
310
247
302
323
292
366
346
388
377
275
347
321
334
362
240
296
323
308
396
316
341
271
305
414
364
268
392
349
324
338
331
293
302
338
248
255
292
389
320
353
362
269
284
340
354
316
376
249
295
314
342
389
388
286
343
287
289
255
279
313
331
310
298
339
357
309
273
319
319
357
349
369
254
390
363
283
265
279
308
356
338
290
244
382
302
318
216
445
373
329
321
283
358
298
308
317
279
379
303
301
328
217
370
317
327
293
281
296
214
311
375
226
305
288
297
368
363
316
350
357
317
261
268
329
375
315
382
355
377
415
346
376
372
307
331
229
300
374
303
377
293
325
254
296
356
232
373
339
299
353
345
323
315
250
397
307
229
303
298
225
314
311
240
286
272
326
390
318
339
269
300
331
247
335
254
343
349
245
362
269
358
382
380
304
288
281
319
278
305
277
325
349
269
345
406
315
262
296
337
330
273
315
244
273
201
318
286
388
370
380
315
381
326
284
330
342
336
330
248
440
306
355
286
320
330
268
342
270
311
312
331
294
152
350
341
332
392
302
272
313
331
298
323
315
367
361
309
349
311
384
327
331
368
296
359
313
288
346
338
344
257
286
377
305
268
279
354
295
299
422
274
341
154
272
238
366
423
331
240
329
372
295
348
291
326
363
294
410
318
201
332
307
346
244
316
362
359
295
327
295
378
359
258
336
337
372
301
237
256
344
353
305
291
336
286
328
334
433
342
339
386
404
286
419
248
303
416
356
257
278
345
283
345
304
275
411
268
361
244
340
290
285
307
326
297
320
282
325
277
311
354
312
301
315
357
303
316
286
375
308
290
323
295
294
343
303
298
304
363
302
382
276
260
272
301
353
343
311
352
277
301
289
329
341
325
271
320
340
286
327
407
321
312
313
307
337
278
298
259
328
299
304
333
357
345
292
299
257
346
336
309
271
315
249
227
359
358
317
313
381
322
247
305
404
363
294
328
295
336
315
283
216
279
312
312
287
381
335
272
336
253
310
318
274
315
330
382
240
326
317
267
365
360
328
328
340
267
237
308
308
294
282
363
278
409
355
307
317
290
362
243
348
277
310
324
261
319
299
363
260
332
350
259
293
322
280
354
324
372
338
305
253
276
336
308
308
336
279
291
350
304
297
279
265
332
287
373
253
340
304
368
336
357
266
277
298
281
281
280
332
208
266
319
358
289
262
196
340
323
357
332
357
299
307
338
352
296
298
307
304
329
328
317
334
325
278
328
323
313
318
319
318
322
307
281
369
321
237
299
320
299
415
322
202
351
323
337
283
337
260
323
325
338
385
285
256
329
345
354
292
260
407
359
280
252
222
305
304
288
370
311
297
237
328
320
343
187
358
264
279
370
235
315
345
314
335
353
430
283
257
271
371
341
281
420
324
323
329
302
293
214
313
320
251
283
275
259
369
207
300
281
394
406
377
189
416
332
286
376
274
340
322
265
309
272
290
292
235
363
366
327
252
233
248
340
366
328
327
342
347
324
356
283
348
326
375
357
321
393
316
228
255
303
329
338
270
242
267
315
269
311
267
318
297
380
415
295
346
320
374
291
334
335
326
317
330
267
342
299
200
311
278
375
389
327
311
324
328
307
294
293
301
361
329
284
237
337
355
325
274
329
313
297
303
307
274
365
361
286
345
303
340
316
269
285
334
307
289
263
275
250
292
315
366
288
372
299
329
327
312
345
334
414
274
332
311
230
265
360
318
294
366
310
341
332
271
277
405
359
288
355
330
341
320
326
336
314
293
272
364
359
386
339
269
348
329
330
289
310
288
323
213
260
302
397
221
247
359
191
301
329
286
308
241
345
300
345
333
367
320
311
258
265
426
300
300
334
275
291
381
343
290
298
282
323
320
340
312
262
229
373
423
265
348
350
302
292
318
200
283
335
301
264
348
264
245
359
359
271
362
399
318
276
287
273
269
278
346
244
293
335
277
361
363
313
260
352
377
321
295
426
310
304
320
269
283
304
316
306
336
306
269
319
304
346
377
326
370
323
381
330
333
351
329
330
322
387
323
269
319
284
311
300
294
347
356
325
262
411
319
181
263
352
223
285
340
315
283
329
300
346
341
308
367
314
317
337
323
348
302
242
338
411
312
362
360
316
326
337
327
382
201
209
337
332
406
345
279
328
243
251
306
325
339
252
229
394
301
351
298
330
334
298
339
201
343
280
324
220
307
355
270
319
342
377
378
334
303
278
279
298
346
287
311
302
406
291
376
367
248
366
284
289
289
306
288
356
313
293
259
235
366
220
368
320
324
242
333
257
274
288
339
275
351
291
404
266
320
279
348
332
286
369
331
295
367
364
309
355
351
268
328
266
293
355
332
279
271
412
281
310
367
327
336
225
327
304
335
345
341
372
303
342
360
301
259
381
272
290
304
341
296
362
406
346
376
314
298
239
342
302
383
374
354
313
242
289
333
333
292
274
294
290
318
290
257
350
383
335
311
337
388
283
357
257
276
276
271
347
339
243
321
319
357
303
328
230
352
324
273
302
322
195
292
264
317
303
319
291
384
301
343
336
272
379
314
334
352
310
243
203
291
394
300
317
296
266
262
433
280
296
336
267
310
301
330
234
372
288
313
321
331
274
258
381
366
288
305
235
373
276
312
300
324
287
163
309
253
307
343
383
372
375
354
288
371
264
352
317
366
273
343
386
285
284
332
255
339
378
218
318
355
348
298
337
271
399
336
332
346
349
287
349
265
302
308
342
264
328
354
351
370
294
341
322
364
369
338
319
237
346
290
349
285
285
306
300
293
323
324
306
314
419
340
338
312
242
254
373
292
223
319
350
297
409
352
281
284
289
350
337
354
286
381
313
396
351
274
296
179
315
224
409
321
364
292
234
275
379
317
285
344
402
272
335
353
331
299
352
407
307
244
351
321
260
285
353
330
329
302
228
244
341
267
298
289
367
382
296
291
355
302
399
256
322
332
303
297
331
356
292
208
265
361
293
297
324
318
342
311
369
253
279
334
255
347
326
353
299
268
306
342
338
268
374
370
341
305
288
336
261
364
334
256
293
345
350
314
362
336
364
346
326
301
299
387
265
234
300
355
324
324
252
292
350
344
388
288
275
307
309
279
323
261
287
237
336
390
390
314
317
219
253
363
277
323
327
329
322
407
254
287
268
383
278
294
285
357
397
329
338
260
358
374
296
335
281
351
386
317
243
308
364
342
352
290
347
298
292
391
360
281
351
290
228
228
304
281
300
304
281
330
290
253
316
249
258
318
250
329
256
324
286
355
375
351
456
325
281
373
271
236
314
369
357
312
276
227
368
203
410
365
374
256
281
411
325
309
310
329
342
273
322
348
216
302
401
278
258
348
328
324
310
278
286
352
303
290
330
294
271
264
398
338
356
325
206
294
371
311
332
272
265
303
255
350
298
358
377
301
277
263
342
290
396
354
259
278
267
334
329
315
394
348
358
357
392
269
272
367
298
312
381
342
295
302
291
331
411
322
258
276
317
324
388
241
301
399
276
277
345
292
291
315
335
403
266
396
294
313
292
386
316
320
315
360
371
284
301
237
311
268
267
273
333
260
335
407
326
341
306
287
327
273
207
326
358
236
380
260
373
340
294
290
365
353
242
330
284
321
363
341
291
302
277
370
384
315
301
348
305
357
310
305
367
382
337
408
288
288
252
335
342
245
358
319
286
287
308
392
376
304
354
316
315
285
284
313
346
352
296
313
360
325
415
282
313
233
305
307
293
349
293
281
383
334
269
331
241
243
291
363
276
323
319
305
236
218
334
325
309
247
271
333
352
262
302
330
361
354
372
262
272
319
289
203
265
373
374
330
355
319
322
350
278
299
280
299
262
339
359
389
341
201
335
283
298
280
315
316
324
274
315
362
290
324
282
333
294
307
422
379
371
243
329
365
332
363
316
294
293
340
290
312
235
302
392
347
283
306
300
290
338
248
314
329
310
305
290
359
281
354
218
236
314
318
313
299
303
288
314
332
292
324
357
355
367
327
288
263
319
349
298
258
317
216
235
289
409
327
355
356
338
292
332
305
228
283
310
369
315
318
330
333
314
339
375
313
334
390
322
324
315
278
295
256
361
322
355
282
363
311
320
249
254
314
311
307
380
229
379
343
254
337
283
327
332
285
318
339
305
380
310
336
271
332
271
281
308
328
279
371
284
309
333
350
364
246
341
291
345
297
384
287
283
242
265
328
313
269
321
354
251
292
303
344
363
353
273
294
323
356
316
315
323
331
412
364
340
317
351
265
273
314
339
375
351
351
288
229
277
254
318
269
413
281
294
332
232
271
317
297
336
295
309
287
265
339
329
293
265
305
282
295
300
362
292
365
305
260
310
274
393
286
332
347
252
344
326
355
304
289
280
270
273
314
334
301
328
387
266
263
330
380
324
296
279
331
297
310
287
299
259
402
314
340
309
282
242
390
362
311
362
312
310
370
198
274
262
275
326
335
296
291
336
326
382
275
262
294
313
327
289
377
264
279
292
293
347
355
289
365
311
385
325
338
369
336
326
265
305
285
322
314
310
324
372
315
292
255
282
363
300
388
322
283
255
283
275
279
301
357
372
358
310
254
331
388
290
284
369
324
286
317
284
426
268
298
307
340
306
277
381
276
364
323
362
346
313
262
304
274
200
319
267
333
348
288
249
364
340
244
323
317
350
277
359
212
211
394
339
342
334
384
337
266
395
384
425
260
318
266
310
316
322
297
360
182
348
333
287
337
449
312
305
291
380
374
310
365
342
306
391
334
421
322
338
362
339
267
321
284
358
361
324
308
350
316
377
303
358
312
371
316
321
316
365
267
302
348
282
377
294
265
364
322
264
362
242
236
289
349
361
323
309
334
241
307
267
308
286
386
289
315
334
349
282
313
353
399
375
378
413
366
259
309
427
414
276
328
368
353
339
295
350
300
356
304
324
291
323
356
354
283
320
360
237
301
268
288
354
353
281
397
353
319
315
317
367
300
350
309
235
347
347
304
289
319
327
310
260
391
347
329
318
244
379
357
333
296
278
293
253
329
305
317
384
339
321
383
292
306
339
273
284
370
313
367
287
327
378
351
287
367
364
286
287
266
275
256
303
342
365
336
338
257
313
293
267
280
331
275
301
382
361
368
252
264
336
317
246
377
389
382
352
357
301
296
361
269
373
328
374
270
285
354
356
253
332
297
385
293
318
338
374
298
321
368
348
278
376
413
331
336
381
400
288
320
385
336
252
370
345
329
213
321
315
358
311
388
291
339
243
344
245
336
286
418
249
240
271
366
315
349
386
287
300
281
285
319
373
281
391
316
283
238
357
226
325
295
293
381
294
362
288
341
362
257
241
297
310
176
325
307
371
392
270
256
331
289
309
328
350
341
315
393
377
327
329
292
376
352
333
377
356
345
296
340
337
400
358
314
351
273
305
300
384
338
300
277
331
273
340
341
352
325
262
370
240
371
264
296
344
320
318
236
351
278
346
240
330
307
305
280
432
258
254
335
378
337
305
325
243
315
259
313
374
379
401
352
285
337
349
366
306
323
278
219
320
330
313
356
254
345
365
310
274
351
323
363
279
332
336
314
285
218
336
311
273
331
213
389
335
222
292
359
337
316
341
395
325
309
283
307
256
303
278
413
224
329
387
330
279
327
361
349
332
317
275
299
310
301
335
334
387
291
405
277
260
296
263
310
251
300
334
279
217
336
349
326
334
318
322
310
313
331
292
271
328
353
314
334
338
286
189
339
334
325
223
270
314
334
371
351
238
230
277
296
281
261
322
351
367
347
300
311
278
309
297
304
302
276
247
232
353
297
294
327
316
263
302
326
314
314
315
215
318
284
348
349
288
307
291
319
281
297
294
351
372
324
385
282
330
323
334
385
231
324
376
261
368
266
392
322
332
254
284
310
298
247
304
246
310
233
234
363
326
249
344
327
301
356
298
247
352
355
299
343
250
289
306
258
184
353
329
331
257
320
230
265
247
269
312
302
347
284
338
327
263
340
325
302
253
421
261
357
286
315
231
326
350
251
334
257
372
310
323
274
293
359
332
234
296
375
211
320
336
326
335
374
287
401
301
249
342
299
350
379
383
362
292
274
222
405
226
340
218
269
313
257
387
309
263
291
330
378
285
337
283
273
335
331
346
360
296
340
353
241
289
330
366
243
317
345
270
346
331
361
342
278
345
351
363
325
334
301
172
278
306
310
324
308
301
272
294
312
311
319
273
298
287
300
352
296
284
299
305
325
331
251
341
270
245
298
299
396
305
339
293
357
399
380
282
333
260
366
301
361
263
287
389
303
352
345
372
257
313
361
301
303
245
271
267
245
305
346
379
317
315
352
292
413
260
320
302
294
326
360
252
273
348
301
346
379
315
258
382
299
392
335
387
268
302
318
355
335
292
287
309
337
247
401
278
354
261
300
314
321
294
303
313
319
317
357
336
280
333
361
303
273
335
330
339
305
214
261
369
299
285
318
300
406
280
419
341
287
413
333
290
329
354
373
264
316
343
304
298
315
278
253
257
322
322
335
360
319
274
269
337
350
390
323
316
269
311
346
345
337
287
344
321
325
302
280
313
278
341
331
263
280
382
265
306
329
374
359
358
290
297
280
339
303
297
340
340
344
279
334
211
300
305
266
364
251
303
254
390
292
308
344
326
339
362
395
257
310
279
278
407
368
371
269
368
279
344
313
268
333
338
391
359
260
323
380
314
295
309
285
211
346
278
311
380
254
271
266
275
310
396
292
388
291
383
218
375
339
303
272
381
384
254
280
307
325
359
322
317
365
303
397
354
340
280
321
300
275
373
348
310
312
354
305
313
334
315
349
220
273
343
294
301
299
275
322
257
308
349
352
269
275
370
397
312
362
303
376
310
378
305
308
250
309
308
170
173
322
314
316
351
297
333
354
357
367
292
381
252
213
262
299
350
346
296
359
329
350
289
305
270
254
249
351
336
289
317
284
296
286
316
327
389
201
417
288
316
266
333
298
262
266
315
319
266
302
305
262
258
284
366
303
311
291
304
265
373
283
225
335
320
386
309
329
418
329
333
344
255
387
289
372
270
296
286
339
341
344
252
349
288
246
256
249
350
339
298
291
396
305
305
334
344
314
268
301
381
352
294
293
374
253
375
348
243
324
263
326
295
373
339
261
355
323
331
324
339
295
346
332
234
264
299
291
337
331
242
367
316
215
334
281
363
312
282
357
377
293
364
385
323
269
347
325
275
283
255
251
387
302
337
281
402
359
302
338
320
359
321
332
342
326
325
346
312
270
257
258
314
263
301
294
282
318
393
386
326
325
302
262
323
357
269
307
361
344
368
365
283
326
379
289
288
303
320
294
280
339
346
355
258
267
319
310
268
277
305
368
330
326
363
317
271
322
329
320
225
309
241
388
351
325
324
383
287
293
248
339
363
254
330
291
375
382
273
373
386
363
251
254
323
313
259
276
299
335
375
356
311
289
318
341
264
319
254
279
236
332
320
322
241
246
234
360
222
338
323
312
242
341
420
363
274
327
336
305
294
356
229
343
273
333
233
273
340
260
291
396
372
337
339
329
334
259
331
340
317
278
349
293
413
304
323
226
295
370
321
321
296
263
311
304
311
338
277
346
289
224
367
339
335
280
281
332
300
341
351
273
325
305
226
342
264
320
336
359
258
304
283
258
376
306
262
310
315
390
289
307
329
258
340
323
287
322
340
341
395
286
198
357
240
394
362
258
380
303
310
288
224
314
284
286
312
257
375
269
327
298
340
303
220
315
268
311
268
315
354
345
227
349
317
349
340
347
351
409
273
267
242
289
358
253
357
328
281
273
358
292
351
287
249
273
347
368
265
282
287
314
371
328
315
336
302
367
316
355
243
277
310
359
345
324
313
281
340
230
385
322
277
256
294
315
336
250
333
350
356
388
349
322
320
334
335
269
310
290
360
361
301
306
325
385
289
352
350
234
278
249
316
341
294
360
374
239
369
320
298
322
359
393
327
330
295
275
365
338
309
227
359
324
319
372
361
365
360
360
309
363
323
348
419
294
335
328
343
333
296
280
278
351
297
410
336
315
300
373
379
356
332
313
331
305
347
316
312
375
285
401
277
342
339
381
291
313
333
288
280
379
415
306
334
296
353
293
257
355
345
340
244
350
318
288
412
295
297
319
314
332
268
400
328
338
300
262
334
297
341
253
353
238
330
330
341
363
303
304
283
296
310
354
305
331
316
300
239
333
312
325
347
317
312
308
383
287
305
389
401
314
300
307
313
322
307
329
380
298
294
354
354
249
250
306
308
365
298
258
268
331
316
297
349
375
248
405
348
348
320
283
287
249
374
239
316
284
321
319
322
309
303
309
376
378
328
336
335
268
299
320
316
326
255
343
375
284
357
298
308
284
360
240
345
339
331
171
379
375
264
318
274
395
305
363
247
307
287
241
246
385
344
291
394
254
431
358
335
230
369
328
324
299
344
221
344
354
333
352
256
324
266
290
242
363
318
333
278
207
292
300
352
332
319
294
365
323
311
305
283
274
357
291
365
230
213
350
259
356
362
295
378
298
295
357
351
317
283
379
361
319
310
278
279
352
257
334
359
299
339
328
314
314
247
342
315
318
351
332
289
338
284
324
380
341
358
253
323
294
350
349
253
294
353
326
235
359
313
270
354
290
356
359
360
321
386
326
256
326
266
299
348
352
329
344
312
322
388
356
365
332
319
336
263
326
353
391
363
342
254
345
295
308
306
311
313
310
347
398
271
313
374
245
365
330
286
309
327
331
265
393
371
343
270
311
313
183
344
376
345
292
347
342
315
312
316
327
301
391
341
254
283
292
289
290
272
342
386
255
296
323
236
212
344
299
325
206
280
342
259
307
288
201
296
319
340
314
293
312
293
351
323
317
282
257
351
302
355
279
323
302
292
326
293
313
282
267
318
234
261
281
308
365
344
296
264
348
315
249
349
365
261
378
312
264
350
401
274
304
231
364
308
336
336
294
428
359
367
265
370
270
333
293
353
303
314
341
361
298
263
193
351
361
370
209
361
333
319
293
305
206
335
357
379
308
371
361
329
308
296
346
288
281
217
281
229
334
228
353
317
309
269
293
321
372
305
274
288
315
255
346
354
310
337
160
214
286
311
346
336
250
291
340
332
304
241
293
284
398
320
369
351
306
294
361
351
272
335
334
339
340
362
312
221
363
352
278
271
400
345
302
351
372
260
237
370
441
267
295
267
270
313
292
327
288
353
327
246
297
363
303
351
347
299
335
338
323
308
283
308
265
302
309
291
298
280
341
335
263
315
299
313
392
294
376
363
320
270
290
312
249
313
326
275
243
363
263
339
283
326
284
330
281
284
308
320
365
263
291
301
230
380
317
273
329
295
292
282
238
245
290
299
266
294
341
215
265
288
370
312
380
383
314
331
320
291
236
318
343
274
305
315
346
347
285
362
359
274
266
343
310
294
313
290
356
297
295
356
288
408
304
359
329
300
283
295
312
261
376
333
284
293
346
299
366
384
329
293
223
355
259
285
328
274
377
327
301
249
261
291
343
331
284
383
375
350
303
304
378
339
330
273
367
388
322
286
307
388
325
275
295
285
296
379
304
329
380
357
330
339
211
346
293
314
321
372
329
340
273
258
338
361
306
380
318
316
332
291
321
345
284
277
336
271
260
257
276
304
282
298
264
273
364
310
226
268
273
304
251
228
370
258
412
366
319
386
343
245
367
306
282
299
327
306
262
238
318
249
385
333
278
398
387
335
303
376
406
254
336
331
300
226
262
387
313
244
267
401
350
354
355
349
259
262
332
295
345
330
307
261
229
355
240
350
326
332
368
358
281
339
339
373
281
372
382
262
313
317
274
299
427
354
324
343
355
265
268
287
384
386
253
330
284
298
327
259
275
330
354
277
395
382
228
385
337
238
358
337
318
306
335
326
275
343
354
274
322
344
294
268
248
264
216
335
304
366
210
303
413
307
298
245
358
267
325
377
381
328
302
383
208
393
278
308
304
348
329
345
262
402
294
322
322
300
428
323
373
382
295
391
345
234
240
240
277
289
386
208
351
356
227
367
382
354
363
355
272
337
276
325
302
302
331
370
359
358
349
336
301
290
310
352
256
313
315
245
298
327
284
315
330
376
336
189
311
271
341
263
283
328
287
390
320
429
355
363
267
329
367
262
290
296
321
353
266
291
334
249
345
250
225
288
322
297
292
411
355
290
259
281
263
331
324
306
344
316
426
409
334
194
354
378
403
266
352
256
371
300
243
315
366
363
289
328
346
346
272
321
357
273
252
342
290
235
262
317
271
289
416
309
309
385
251
278
316
411
316
265
311
314
345
311
321
336
335
389
392
308
271
299
276
266
249
295
344
344
267
213
290
320
232
329
275
264
300
279
296
322
281
210
331
284
260
302
252
400
309
361
343
304
308
340
241
276
333
349
316
272
334
291
307
317
293
336
292
283
314
325
327
345
226
270
380
407
267
272
360
270
199
246
357
323
334
398
333
354
256
311
381
335
397
331
286
252
296
303
303
287
318
422
297
285
343
291
352
267
334
240
311
380
312
350
301
348
314
375
321
312
375
325
284
340
321
368
297
378
282
281
369
276
346
286
306
327
393
284
306
206
305
316
293
315
286
297
330
384
403
304
301
330
258
314
289
393
296
304
310
351
351
232
345
387
296
291
287
236
324
247
345
326
231
304
336
296
299
365
301
383
297
305
301
271
297
311
292
307
376
403
290
326
330
292
362
349
362
360
225
258
374
283
337
245
383
297
338
345
368
279
302
347
303
263
374
288
287
372
352
241
350
258
312
388
358
398
252
339
329
290
313
281
249
332
320
321
371
307
309
369
338
279
289
330
213
282
356
320
355
367
291
307
342
352
289
200
350
280
302
304
356
340
222
300
311
259
356
309
307
316
370
328
275
219
392
316
337
343
293
329
374
330
326
434
345
354
271
192
300
348
367
304
320
345
293
211
309
325
378
320
328
300
337
321
313
358
312
339
353
291
254
287
335
305
315
333
325
317
311
296
298
302
312
347
367
338
281
326
238
285
340
326
330
335
340
297
306
383
294
328
279
336
316
320
296
329
343
324
351
245
367
309
339
272
336
293
342
366
328
219
315
355
285
338
305
296
389
301
332
303
336
356
303
300
283
210
233
359
326
304
305
326
324
297
399
336
348
357
381
330
349
379
386
308
294
252
347
292
338
323
312
286
293
298
296
306
250
352
241
371
318
368
257
254
394
264
328
265
358
323
336
272
323
257
262
318
365
253
360
244
367
316
257
277
316
287
335
379
352
311
274
353
285
319
328
372
348
351
254
316
343
281
345
307
315
270
385
309
375
310
392
304
325
364
314
325
300
372
287
358
375
344
353
354
317
302
372
311
279
265
391
295
261
248
324
278
301
344
250
308
396
312
249
417
315
377
306
377
284
296
388
346
285
376
309
260
345
314
280
339
274
310
315
283
346
275
333
241
333
319
342
333
302
294
365
356
386
262
325
337
326
304
284
329
357
223
251
222
330
209
359
271
278
314
306
284
376
430
355
312
283
318
336
373
370
338
357
343
280
364
331
341
324
320
317
317
270
310
358
295
398
248
313
315
323
321
274
378
285
394
327
276
330
290
319
266
247
350
349
292
319
277
239
291
325
255
359
308
297
320
346
270
313
284
391
273
276
309
296
377
345
405
369
298
266
335
335
293
371
252
229
324
309
313
300
349
305
257
363
235
302
284
368
255
347
277
281
315
364
261
232
327
298
345
294
320
320
356
337
334
351
386
319
299
358
280
296
281
319
362
294
299
311
257
306
234
377
308
317
371
271
326
285
329
253
356
316
329
315
267
357
358
309
285
328
208
396
248
288
357
357
351
368
386
310
359
331
273
276
295
333
334
317
391
241
325
363
329
382
348
265
272
316
363
309
367
377
384
244
306
340
281
320
372
329
346
288
307
358
355
345
323
264
301
319
366
320
307
346
292
265
342
329
330
298
312
336
235
317
265
279
266
270
352
275
434
338
312
347
305
320
295
273
392
330
289
253
288
255
375
303
318
261
339
342
334
312
325
323
342
309
351
324
222
321
362
346
311
285
327
257
345
262
402
269
314
334
283
362
278
366
331
326
328
375
338
271
342
306
277
355
368
302
357
334
278
342
368
372
360
380
380
298
249
311
393
283
310
398
357
288
265
357
311
244
314
292
271
248
325
256
300
306
281
278
293
332
344
308
283
349
305
285
291
333
285
288
374
342
378
313
385
328
270
328
377
302
310
290
242
316
322
285
318
290
324
275
319
331
235
191
301
302
326
374
382
354
373
303
294
282
257
329
361
349
389
348
280
416
217
404
368
228
345
272
303
386
341
414
302
366
371
382
280
339
340
245
372
376
334
226
329
313
319
320
297
280
309
337
305
332
326
312
402
333
334
268
329
346
366
287
299
279
391
321
348
309
365
365
354
368
356
333
323
262
326
317
268
359
297
293
365
387
294
331
352
309
227
281
303
214
308
320
280
272
360
321
325
354
274
366
251
308
308
308
317
302
324
370
358
331
349
317
373
368
285
334
234
318
275
266
310
337
355
329
288
224
350
239
312
240
360
344
287
359
323
314
299
245
314
371
297
299
335
374
325
314
292
297
311
285
409
264
322
289
265
288
305
274
244
383
332
258
306
296
291
334
307
324
384
329
315
401
292
284
301
344
273
377
356
371
381
329
294
305
339
344
326
276
305
346
330
258
342
348
313
333
379
392
254
318
301
335
287
347
258
339
313
343
316
250
338
344
329
352
295
300
261
293
348
323
319
298
340
271
308
303
374
335
316
283
342
318
357
294
306
286
287
319
253
331
326
300
303
305
262
286
238
334
356
225
351
235
339
382
304
252
274
383
266
339
181
306
244
309
393
315
295
363
254
289
337
250
271
429
371
339
300
310
288
309
385
300
285
327
360
276
245
223
293
253
330
280
289
404
313
321
225
300
291
279
306
289
372
358
320
319
313
329
361
326
320
362
291
254
314
374
201
362
317
280
313
368
269
352
275
343
362
366
293
305
282
356
301
323
321
268
360
311
344
225
322
303
365
240
286
352
324
301
241
305
396
283
341
315
333
326
277
256
398
364
260
232
275
319
306
325
256
256
296
292
250
287
329
359
327
351
376
361
234
275
347
319
311
374
301
318
297
338
326
341
336
194
290
268
278
275
326
327
269
218
414
377
278
313
231
311
264
340
317
305
332
321
329
316
385
324
200
285
400
313
322
306
244
294
278
278
300
350
341
369
337
273
289
295
306
283
293
300
252
399
377
302
283
354
269
233
335
273
326
388
311
382
346
345
359
285
372
339
393
359
239
217
304
321
323
349
248
343
246
285
354
306
292
294
354
304
294
330
380
329
333
289
280
265
319
258
225
301
388
270
327
313
289
373
334
332
381
354
323
411
296
373
246
336
357
258
362
291
256
202
313
310
309
352
254
326
340
286
315
271
333
315
340
383
288
359
327
365
302
323
316
313
332
313
253
359
251
363
241
301
333
306
330
398
290
281
294
313
268
270
326
350
370
333
234
327
322
320
325
324
348
283
241
310
311
311
326
287
273
423
335
277
422
235
338
297
351
318
407
243
297
364
363
295
267
326
358
355
408
342
322
313
317
258
352
330
300
274
275
379
339
341
315
288
329
238
327
334
348
290
360
287
322
339
314
313
319
358
342
336
352
322
263
349
299
357
383
351
309
260
405
331
256
316
265
307
295
314
335
324
333
315
285
395
350
198
370
316
338
208
289
274
327
331
365
263
302
325
314
290
220
418
343
362
372
321
400
221
291
377
302
301
326
372
357
242
283
310
343
188
279
307
293
406
322
379
325
283
312
336
291
322
318
287
376
342
270
322
272
329
361
331
231
311
328
350
300
323
326
305
226
306
290
247
254
279
332
285
382
292
287
352
371
305
282
322
389
329
261
290
286
312
320
305
299
325
374
365
330
291
328
367
303
394
335
306
253
308
327
262
285
379
311
307
335
388
331
396
308
281
400
288
315
353
261
350
368
272
343
349
334
358
251
274
366
312
342
372
323
331
284
331
329
320
370
306
266
366
371
212
282
392
291
342
293
317
213
268
326
250
331
291
240
274
352
308
328
295
275
290
310
348
359
370
317
350
325
269
286
286
308
246
333
315
292
381
203
341
352
274
381
386
308
356
294
338
307
329
259
316
297
281
335
325
309
376
263
319
338
293
275
321
340
248
334
376
336
336
234
315
299
344
312
326
288
384
220
249
257
275
285
300
337
258
287
320
280
382
308
308
331
325
293
357
284
264
329
236
335
298
249
343
345
300
249
299
314
285
333
354
341
263
377
330
245
241
315
327
270
287
336
364
339
333
268
339
318
293
341
313
280
320
291
311
291
278
295
329
341
236
328
275
265
370
375
298
323
288
364
245
335
315
349
295
333
304
360
296
337
302
298
323
314
359
269
331
173
222
332
334
311
282
282
311
365
343
348
338
300
238
347
383
289
340
256
325
367
365
312
321
247
295
254
338
301
329
310
324
278
297
231
336
320
343
347
245
290
267
279
357
308
295
304
278
309
369
291
331
336
407
278
382
316
322
282
303
328
280
332
342
311
362
284
283
308
253
227
329
298
320
254
355
213
353
344
319
331
249
307
346
318
304
307
206
325
376
358
281
244
310
338
315
297
317
248
263
254
312
279
279
260
365
292
385
302
249
285
244
358
259
256
306
405
220
321
362
299
335
278
286
340
391
232
288
280
305
301
268
343
288
325
247
313
275
297
351
289
300
245
308
340
359
413
382
324
287
397
325
316
323
369
349
345
274
251
277
347
257
291
349
275
325
332
305
408
242
318
346
291
384
281
395
309
305
323
306
281
242
306
312
375
294
338
239
286
273
381
256
315
411
298
289
265
329
309
342
292
334
329
307
288
310
346
295
299
308
251
448
334
290
265
280
247
327
316
303
361
367
346
218
365
334
327
389
195
214
365
300
285
322
337
374
292
326
339
370
318
295
289
322
295
265
405
269
369
332
371
309
341
370
329
315
331
270
323
333
308
332
263
277
303
332
298
336
247
394
291
377
284
353
282
374
350
289
265
314
385
250
258
327
203
297
254
373
298
227
326
201
211
277
323
320
415
356
337
307
384
291
264
354
251
340
298
315
309
330
286
400
316
323
368
322
286
239
320
368
277
302
336
296
274
341
333
314
266
354
259
328
324
333
337
242
310
292
339
346
351
318
228
352
347
413
417
315
233
267
352
363
282
390
375
311
277
331
241
326
253
284
267
364
301
333
315
305
303
280
274
310
271
345
261
357
318
315
311
213
234
318
272
361
290
281
294
341
330
281
312
396
295
316
242
334
329
280
312
296
352
387
265
317
352
328
288
369
274
335
396
341
235
371
270
357
335
335
390
316
325
356
285
333
342
320
311
320
338
185
306
189
295
283
194
338
237
325
331
297
312
202
347
358
338
335
321
278
348
231
253
379
298
302
336
263
347
327
263
302
260
280
362
285
244
337
298
324
334
320
308
347
304
343
255
298
303
393
308
203
352
306
385
242
316
384
363
272
279
307
262
373
369
404
391
284
319
284
305
348
367
341
373
260
287
314
307
271
355
331
313
400
329
308
318
389
272
256
374
318
348
278
288
220
393
341
264
388
280
347
270
346
291
378
270
330
307
338
379
235
260
318
213
333
364
342
228
331
294
339
263
379
352
295
223
254
220
307
333
299
360
305
266
348
266
321
319
309
311
405
274
267
345
326
338
270
400
317
380
334
314
308
273
314
306
239
286
304
348
270
315
332
320
344
288
382
306
291
263
321
278
332
343
303
312
328
319
279
293
363
279
307
319
295
329
329
354
351
332
293
387
265
271
368
308
309
278
356
324
373
267
326
237
363
245
277
353
249
342
297
243
305
375
362
339
333
353
356
304
339
241
328
322
301
396
455
360
333
340
310
355
254
287
319
366
316
221
304
235
283
375
199
249
395
292
345
326
342
336
302
290
268
265
292
313
319
282
330
287
286
363
326
298
363
277
337
309
301
295
333
298
347
335
312
250
361
400
318
275
331
356
356
298
281
316
339
254
400
309
400
314
443
331
381
336
326
353
292
295
294
293
358
394
272
264
342
289
353
318
301
314
250
290
342
243
385
258
295
354
325
351
270
277
306
276
287
295
392
350
324
326
277
329
329
406
294
329
313
318
319
284
326
281
350
240
345
354
301
331
296
305
331
338
321
273
360
372
335
311
392
255
335
305
243
365
337
362
304
342
312
371
354
271
234
341
364
286
328
364
330
378
398
362
288
292
363
376
355
291
269
324
247
345
303
322
246
366
330
246
332
336
313
286
258
302
276
349
300
247
302
332
226
235
365
301
252
339
302
256
333
389
356
336
178
345
311
293
284
253
350
306
248
332
298
328
338
322
215
320
310
288
348
301
249
343
325
289
438
299
327
336
341
278
392
318
309
301
422
291
250
276
223
399
262
315
288
251
334
342
344
298
369
226
284
318
265
295
350
308
302
294
298
226
224
267
347
408
324
242
367
254
355
338
336
349
272
329
330
341
392
357
315
292
329
262
301
269
399
276
237
288
226
345
302
241
247
382
322
273
331
280
363
341
315
382
241
273
274
342
325
306
358
297
279
274
315
278
254
321
313
334
336
324
364
344
336
268
293
304
287
426
268
311
339
213
281
353
318
332
302
305
398
210
314
272
353
317
344
339
352
306
350
354
309
289
322
373
375
377
262
352
286
396
306
395
295
353
280
273
341
264
387
346
342
211
229
247
241
339
264
271
387
258
298
302
325
312
290
300
344
312
403
259
333
335
305
402
296
379
311
372
286
365
341
332
370
301
295
293
393
309
312
347
335
303
241
334
340
275
243
292
345
260
266
292
321
262
342
324
261
298
369
293
340
232
313
409
388
352
288
362
316
244
392
275
326
309
353
291
359
327
232
319
336
285
404
346
276
219
314
275
328
259
261
286
362
286
341
262
357
338
281
343
302
232
251
331
313
293
313
339
381
306
290
328
366
359
345
306
310
366
337
205
323
288
360
359
323
303
243
215
313
288
362
346
235
311
333
216
298
266
367
371
346
296
325
315
280
269
231
306
347
300
261
419
299
283
335
425
290
284
345
351
357
294
325
348
326
328
363
365
285
327
274
356
233
353
278
316
362
309
359
270
355
295
305
384
255
334
320
296
337
314
300
326
371
358
351
339
352
288
396
365
332
358
313
301
325
326
311
342
345
324
328
287
282
291
244
383
238
336
211
350
256
370
312
237
247
274
245
249
294
243
247
242
383
275
290
298
370
374
235
329
333
267
319
286
311
295
387
274
224
324
304
244
324
354
284
349
383
316
265
375
274
403
298
265
280
290
295
389
339
361
348
286
246
371
337
261
271
371
360
289
264
348
330
257
312
321
321
341
258
406
233
291
372
287
263
354
355
301
274
419
371
317
364
327
364
307
362
354
279
294
294
261
341
323
266
417
337
347
399
267
292
218
448
250
326
327
352
398
323
374
343
357
300
418
329
314
346
333
382
346
355
314
343
347
276
320
230
224
340
328
307
377
370
341
391
367
262
329
367
312
287
255
265
229
309
268
241
318
285
299
312
268
284
354
289
297
319
345
338
323
316
248
391
301
287
287
376
287
315
194
286
290
321
329
297
254
307
321
243
335
283
311
301
271
332
291
339
304
320
296
314
288
314
314
366
364
333
298
320
346
283
313
284
214
300
289
277
397
386
398
257
278
375
308
324
327
361
353
307
348
354
212
345
297
363
315
360
272
379
284
319
226
261
273
325
289
318
277
351
346
277
347
382
350
331
313
328
328
271
358
335
263
312
313
244
353
307
230
325
411
385
317
297
355
319
295
355
331
380
332
241
327
344
277
355
385
315
310
218
320
385
281
327
337
268
315
314
387
313
274
289
311
344
417
361
315
316
358
349
336
283
347
333
225
310
325
325
320
238
337
258
262
264
265
321
340
325
348
290
325
422
289
252
312
320
303
188
310
307
297
347
300
289
316
340
293
289
373
293
301
335
275
390
298
188
319
273
181
314
351
331
323
375
345
310
327
407
198
344
333
256
320
291
275
363
273
362
277
340
324
315
344
322
269
274
283
292
339
330
361
328
369
340
303
313
229
333
293
265
274
270
296
249
389
315
370
291
378
286
310
303
341
256
289
293
291
244
388
261
360
318
352
410
373
414
355
323
299
300
301
319
255
325
332
330
202
357
374
284
291
206
368
270
253
344
332
292
348
346
334
367
385
295
309
259
364
321
272
284
309
279
310
253
388
289
304
335
358
320
336
261
179
332
305
334
264
336
336
310
366
352
288
377
316
379
344
402
302
300
333
330
361
287
386
278
239
263
346
422
344
301
299
259
278
332
331
382
283
309
288
284
290
438
303
293
248
378
351
286
349
312
368
328
301
301
222
293
331
312
323
394
255
384
239
367
357
344
283
324
224
262
247
340
376
314
336
348
321
264
321
322
317
368
218
318
290
324
304
340
269
369
255
320
332
258
258
328
336
301
326
306
322
310
322
296
285
304
274
324
276
361
292
414
280
366
331
227
221
397
208
389
289
276
319
279
355
367
289
389
368
332
303
252
325
394
416
341
351
319
221
307
326
321
347
387
366
317
405
250
352
315
281
355
266
307
254
277
302
293
289
346
376
332
428
351
394
368
274
346
346
350
305
307
394
333
359
240
375
258
274
291
317
300
352
256
376
248
326
298
372
306
323
307
357
315
367
300
327
374
274
292
367
322
321
272
381
297
340
362
324
342
326
257
290
300
319
299
274
266
331
368
352
346
320
382
254
322
296
308
298
301
222
290
349
264
298
259
254
341
345
306
250
246
349
321
302
338
294
372
208
320
304
335
342
307
347
256
231
279
302
271
288
321
361
293
264
289
347
328
351
348
272
320
347
266
264
384
261
322
330
328
252
334
298
310
250
277
292
353
286
363
269
320
311
350
323
333
302
359
341
248
314
269
322
380
278
332
291
356
288
324
305
302
263
211
327
419
365
293
316
303
301
339
309
348
301
370
365
342
409
268
380
253
291
321
353
350
349
337
331
335
395
363
176
404
324
260
279
360
187
305
286
319
390
284
354
377
352
356
263
351
335
359
332
308
364
344
303
315
408
377
298
271
306
261
362
315
276
310
370
305
343
231
313
306
256
305
304
290
300
341
292
390
309
282
315
331
317
358
265
306
291
292
253
310
324
280
370
323
368
334
321
296
322
299
337
340
347
308
305
331
332
284
340
357
292
387
271
278
371
333
288
261
322
331
394
343
326
332
308
322
351
331
290
298
398
373
283
339
373
318
354
267
312
375
366
390
302
299
333
330
340
310
308
287
299
277
292
299
304
301
373
343
267
221
320
258
366
258
290
302
320
355
346
343
400
389
313
313
344
353
321
358
227
347
317
283
232
317
355
337
334
347
372
285
255
331
203
371
290
381
363
365
332
309
450
311
298
259
227
327
276
277
343
269
269
297
293
329
286
325
317
319
323
326
308
366
379
272
324
346
271
320
296
391
276
309
278
303
275
322
351
267
332
350
315
302
312
351
378
235
300
381
373
277
322
218
298
319
288
250
348
345
307
355
289
314
364
248
359
335
317
304
326
286
319
377
253
340
302
314
371
296
276
250
343
338
273
319
345
231
355
326
336
348
312
223
385
232
254
336
240
365
222
300
339
269
305
326
396
310
292
288
296
330
301
298
378
334
365
267
362
323
330
395
318
314
231
286
315
270
314
353
376
274
406
388
322
346
372
356
375
290
289
269
366
330
351
281
319
306
372
330
329
186
276
330
339
342
332
303
316
325
416
309
256
248
338
341
283
308
351
335
319
301
315
324
396
328
346
307
363
337
373
325
285
250
274
371
351
345
335
390
281
293
338
299
329
312
299
352
248
343
266
291
369
244
380
334
452
284
320
340
239
292
299
378
276
365
283
382
303
311
364
244
299
298
278
203
345
317
320
375
341
308
365
312
283
356
363
286
312
301
396
273
395
330
314
298
423
300
321
290
300
376
351
257
241
371
267
307
356
239
248
279
229
301
306
366
342
324
311
315
287
299
406
272
218
311
316
309
237
332
283
324
368
285
291
286
321
370
275
277
372
254
323
291
322
262
247
356
329
341
340
362
253
304
290
373
351
327
307
317
319
299
283
306
235
339
332
341
365
347
345
343
362
375
308
293
297
326
330
272
290
232
262
290
303
368
340
332
306
224
208
292
308
284
343
337
404
336
330
335
242
405
291
340
249
281
294
371
385
291
315
360
326
383
328
264
277
335
348
290
391
292
240
283
272
343
301
306
277
281
392
371
316
341
360
272
337
290
327
303
251
248
296
336
336
267
340
268
341
312
329
280
359
301
215
353
318
339
288
251
354
311
359
308
276
351
291
301
272
251
338
358
317
231
232
275
320
317
267
326
295
261
270
355
405
317
274
330
329
299
316
224
365
370
258
352
356
357
325
356
281
290
267
307
281
327
274
313
317
353
259
323
246
297
291
343
310
289
285
287
315
344
299
266
328
315
306
280
378
259
299
323
313
332
297
303
316
299
280
317
354
284
334
313
428
370
276
309
360
308
240
264
293
295
318
300
308
347
343
288
375
380
258
312
314
325
412
310
286
296
376
314
291
322
325
292
366
307
345
256
318
294
350
290
330
384
313
313
365
315
257
322
368
338
383
330
341
293
289
266
242
296
275
268
260
322
366
349
355
322
394
337
358
365
284
280
320
346
371
338
277
351
299
329
345
339
250
304
254
349
320
280
313
309
280
298
321
342
322
246
329
325
239
282
349
302
272
330
230
314
338
304
331
289
316
314
324
249
237
271
314
272
342
381
354
253
247
316
335
264
292
274
317
372
313
243
318
375
328
273
410
351
281
355
364
277
326
362
319
385
311
347
284
291
333
343
317
276
269
253
410
320
288
318
284
361
316
276
379
326
377
283
278
303
314
340
294
313
319
300
368
290
277
325
212
337
315
234
375
331
329
322
326
254
301
253
238
357
328
385
354
276
339
323
353
253
317
321
303
310
294
310
331
379
372
294
275
336
309
264
321
356
339
277
329
249
334
352
306
407
347
371
323
261
410
335
290
225
316
377
278
322
302
308
258
272
290
246
244
320
307
342
326
300
279
319
271
245
287
325
305
324
247
305
266
298
267
296
289
318
333
296
311
287
334
333
296
350
261
234
251
331
275
314
312
212
350
400
383
281
392
352
322
268
235
325
316
373
294
316
372
286
350
235
288
263
322
269
266
349
384
381
259
327
364
335
326
319
302
333
375
297
272
329
325
298
324
302
338
254
306
388
337
295
341
282
314
346
271
300
382
249
318
426
336
391
324
365
251
272
293
244
268
295
369
368
304
278
276
322
386
243
295
341
268
289
327
291
321
396
330
272
375
262
277
341
373
357
284
329
261
366
295
355
355
324
262
267
279
322
348
338
305
380
316
291
318
266
318
346
255
398
310
251
274
262
364
359
286
275
306
339
314
385
294
346
267
211
345
295
310
319
264
366
301
319
328
377
247
317
284
319
283
332
362
328
249
283
304
297
363
313
318
324
318
297
420
297
252
344
340
282
335
231
297
266
191
202
267
239
332
335
224
347
288
313
316
392
317
331
314
322
318
334
362
348
266
330
360
351
313
292
351
338
340
250
242
306
313
343
301
301
311
180
352
323
273
232
306
301
295
340
306
319
326
377
354
327
278
270
327
360
333
169
362
378
232
324
269
311
318
338
234
325
342
267
322
321
355
305
241
321
288
355
241
266
337
247
314
266
258
368
261
314
358
335
274
371
298
302
277
322
244
281
339
275
267
303
365
299
340
291
330
293
311
339
369
376
274
231
285
249
281
215
294
300
328
321
327
282
344
379
281
305
341
296
373
338
203
330
388
332
325
249
342
271
320
356
288
346
271
291
244
260
272
370
280
277
303
313
332
331
313
236
270
273
315
330
347
225
363
336
361
339
297
300
328
279
291
416
367
277
358
372
278
365
305
256
265
307
351
342
344
364
297
262
341
382
254
345
271
378
273
330
301
313
233
269
265
315
267
351
284
294
265
268
268
305
322
281
288
215
233
417
313
241
320
361
376
264
310
239
320
288
307
289
275
302
289
298
368
367
290
202
321
410
335
294
344
339
306
345
272
316
248
325
342
372
306
286
277
320
257
332
346
379
234
335
298
355
237
341
278
351
283
329
290
341
324
316
367
309
334
242
293
287
277
313
353
355
371
376
273
276
273
278
263
249
327
351
322
381
273
373
346
255
259
296
367
365
330
321
324
287
379
333
357
373
365
337
288
297
337
288
333
312
364
307
369
324
297
363
268
323
300
320
301
314
293
348
327
239
290
349
359
295
377
347
323
293
249
311
301
377
318
236
368
358
356
310
302
277
288
341
221
331
311
306
297
338
336
319
286
324
243
370
350
364
288
267
303
293
331
299
312
288
346
241
312
395
373
282
428
300
348
302
254
290
302
395
394
252
316
301
334
376
332
337
350
343
386
254
268
283
339
290
385
250
344
297
339
277
285
278
378
276
372
315
375
285
344
316
387
231
282
265
251
331
324
310
331
301
322
320
316
245
378
293
249
367
313
287
375
325
237
279
339
301
294
298
305
287
360
376
289
354
309
242
301
313
367
346
296
337
270
278
288
350
338
263
284
369
303
363
288
213
248
370
299
326
273
334
282
367
331
260
302
338
304
255
343
243
297
304
304
327
288
306
293
298
407
368
307
303
360
304
287
332
383
316
401
275
313
323
326
271
400
262
320
270
298
262
309
302
331
261
254
255
305
234
338
237
356
298
259
321
260
327
351
260
275
317
297
290
309
276
304
283
338
351
326
346
311
305
269
317
306
240
374
282
328
279
235
305
381
267
313
295
354
297
355
298
327
379
302
298
380
334
327
269
298
297
251
250
367
275
311
367
287
386
195
320
333
333
331
359
257
264
235
286
292
327
296
318
302
297
299
297
372
300
351
262
315
275
258
246
329
282
290
326
271
318
322
352
343
258
295
293
274
285
336
389
286
283
342
349
262
261
241
375
338
344
355
397
370
291
327
329
243
297
256
271
359
305
352
308
308
292
278
363
334
325
316
343
348
318
295
321
287
258
338
320
388
352
182
332
338
300
335
251
308
286
349
316
354
260
340
273
326
372
308
273
279
286
361
322
303
305
370
344
338
363
276
360
278
314
330
343
355
303
352
277
265
361
325
308
350
270
310
317
321
243
342
296
241
253
398
281
295
346
351
331
292
291
278
299
346
265
270
342
295
262
310
328
325
247
310
317
320
290
168
305
278
309
302
333
325
257
307
327
271
394
283
292
184
292
347
340
324
287
364
274
260
278
273
326
237
231
390
353
333
303
333
276
366
354
229
310
327
297
295
296
382
328
316
335
400
277
273
304
306
325
328
363
352
275
295
316
304
349
399
298
270
240
250
305
340
342
386
305
355
346
331
260
314
315
293
349
348
278
339
276
357
344
255
308
300
260
370
410
349
308
319
236
273
248
331
282
325
283
351
256
287
322
349
253
310
354
199
345
298
345
356
328
280
329
333
289
337
350
347
281
316
237
281
352
336
278
326
354
333
251
287
365
291
321
309
313
259
307
331
367
266
335
233
271
275
275
282
361
293
273
298
344
318
348
295
376
249
254
347
315
286
333
370
301
356
274
316
265
324
296
304
393
280
299
315
373
298
359
285
341
295
254
321
288
284
321
344
379
310
288
291
327
369
352
309
286
400
290
262
264
320
284
294
324
322
357
360
297
263
342
336
315
241
340
330
313
293
360
370
311
295
385
360
323
287
294
323
298
306
368
387
368
340
240
328
256
202
313
360
340
304
432
341
294
260
341
270
274
345
327
348
291
283
308
268
315
330
293
304
278
251
226
295
287
315
163
287
329
212
269
254
284
203
343
266
270
340
291
307
213
320
350
311
295
346
348
319
270
243
207
320
344
341
237
385
289
324
342
289
297
329
224
291
291
298
312
322
341
342
235
296
314
387
325
357
335
239
329
297
313
360
317
330
351
302
229
335
240
344
332
284
405
373
259
296
377
283
263
350
351
304
324
330
356
306
270
314
357
296
282
264
311
356
277
333
366
379
275
389
301
367
323
378
280
271
336
284
285
334
399
286
329
297
308
277
297
338
341
333
405
310
395
348
337
213
346
320
331
312
397
258
377
398
225
278
278
271
241
284
267
336
304
312
290
270
257
307
317
306
350
357
287
289
288
257
354
248
338
277
359
302
336
308
360
257
259
332
244
338
310
309
368
294
303
271
347
339
327
354
263
380
274
237
314
343
305
337
266
253
279
387
235
375
275
400
228
289
327
267
232
365
340
263
348
343
320
347
309
343
320
335
297
355
320
320
274
317
334
350
348
293
347
269
302
379
332
350
366
360
377
339
329
327
284
253
309
311
331
308
425
245
291
305
325
293
356
251
291
323
231
317
346
266
354
304
370
408
267
306
317
312
349
277
380
304
351
378
410
301
337
401
318
281
305
277
296
248
307
344
278
309
302
382
387
264
317
418
298
307
208
344
363
293
315
343
252
351
307
267
359
366
372
306
322
242
320
309
305
280
245
386
331
322
329
352
274
267
323
276
342
359
262
314
213
323
339
310
237
305
242
337
283
313
351
373
292
314
349
279
323
317
322
432
344
303
277
430
256
186
317
310
284
287
342
245
302
332
256
271
323
318
309
376
320
311
240
349
304
367
231
374
300
321
313
259
353
313
293
300
403
304
368
343
334
235
290
290
344
300
296
252
363
362
339
363
297
323
368
363
352
316
363
352
337
287
262
228
366
352
288
258
288
401
334
305
285
273
296
310
434
209
335
354
306
305
295
358
357
254
353
307
223
366
276
340
401
322
383
325
300
349
332
344
278
364
331
276
335
281
267
383
396
339
334
339
227
355
334
356
278
383
383
264
289
408
307
280
267
353
313
348
349
400
261
312
315
369
244
363
298
328
367
314
323
340
327
314
331
244
293
383
243
384
316
332
292
294
231
296
362
358
289
331
317
325
336
341
360
344
331
328
378
206
315
242
269
250
281
334
284
257
235
350
389
381
272
294
331
279
341
331
339
339
313
346
271
377
380
370
275
412
353
315
261
321
358
426
415
377
304
263
287
338
358
317
315
276
306
280
294
343
355
430
303
271
364
338
330
290
390
318
264
250
372
213
333
349
343
329
337
355
311
299
312
251
322
301
269
351
376
338
295
376
342
297
319
280
374
301
245
324
257
327
350
323
323
345
319
343
317
328
332
365
307
280
344
369
261
328
311
292
366
341
337
296
355
290
261
378
253
305
315
319
297
200
398
259
330
349
337
242
312
378
305
279
256
329
361
353
371
305
362
378
225
318
411
274
316
256
293
345
413
296
369
295
334
337
319
286
327
328
218
359
340
228
311
291
333
321
317
334
286
315
302
262
293
340
280
261
332
223
241
385
294
303
320
312
301
356
333
367
271
286
231
259
270
313
318
324
284
408
380
272
259
319
349
280
344
254
342
331
362
282
364
258
323
310
318
284
265
346
307
293
327
298
336
406
273
397
272
340
299
302
424
266
217
354
337
304
289
269
228
260
251
311
352
237
316
340
332
417
329
332
209
296
376
265
356
306
328
276
308
341
314
384
334
299
341
312
354
392
314
340
316
323
315
358
400
324
338
270
326
335
372
381
313
286
314
338
309
256
292
343
332
413
258
273
313
267
251
282
366
344
289
231
303
322
365
307
257
333
359
254
279
309
310
390
298
262
270
285
290
319
345
390
342
326
305
336
321
339
263
339
311
352
279
281
301
294
328
363
286
245
356
310
290
396
332
327
255
336
260
376
173
391
319
231
270
365
383
260
250
271
301
327
330
309
292
301
372
352
296
288
356
353
318
304
293
399
360
286
269
294
318
300
271
255
283
300
320
409
291
338
271
287
227
292
329
385
311
346
342
244
219
332
303
285
324
366
234
317
324
267
308
310
346
304
321
290
295
309
361
280
382
282
335
308
270
389
274
381
326
332
359
272
324
339
358
399
261
333
261
318
340
309
356
295
306
297
301
314
365
398
353
276
272
393
258
287
323
352
263
313
215
321
347
242
231
304
296
293
353
335
249
335
238
393
318
296
302
318
276
311
334
280
310
301
346
289
398
309
328
340
332
348
322
282
340
426
371
234
168
319
243
324
335
225
290
312
310
335
267
310
390
302
323
339
329
307
369
328
272
297
274
350
311
264
388
409
301
304
311
394
356
355
259
346
340
279
310
347
328
350
307
325
318
344
329
321
243
327
287
347
348
343
369
399
236
260
304
267
309
261
202
293
347
281
311
342
267
305
348
341
263
401
265
337
214
303
354
413
361
360
330
267
264
341
339
371
345
344
205
323
289
388
293
356
308
349
184
338
337
303
347
333
322
346
378
322
309
368
373
345
335
360
352
368
289
303
393
375
265
243
330
298
322
339
364
352
301
304
249
264
351
253
389
292
276
270
355
331
245
272
364
322
355
356
295
363
287
341
304
327
258
329
281
245
287
392
330
288
346
274
363
388
268
243
299
376
301
306
360
318
275
348
300
338
345
301
320
285
363
281
289
319
349
303
383
311
225
305
398
317
338
294
347
375
240
332
250
322
361
223
307
299
288
327
357
345
344
365
347
324
357
309
331
329
334
337
304
342
303
340
323
283
363
339
365
268
331
369
264
348
339
342
322
344
346
320
252
342
289
310
350
349
328
362
321
288
293
203
349
391
374
269
331
315
300
271
349
367
350
334
294
291
295
263
331
251
344
353
348
311
295
350
347
288
340
321
282
382
315
327
277
309
327
302
327
404
307
255
369
299
370
343
368
245
275
295
272
292
337
313
310
363
352
312
381
365
318
348
264
432
203
251
342
393
357
366
302
299
253
288
272
297
292
381
217
255
325
329
418
328
361
329
334
358
276
264
335
267
335
237
275
311
283
300
395
268
376
367
313
296
224
220
238
363
336
323
341
349
266
285
345
228
407
365
310
330
316
391
332
350
327
298
287
293
370
273
373
316
311
263
304
287
315
369
323
328
305
380
312
377
359
363
372
357
340
322
313
283
211
268
284
299
330
276
440
341
366
388
300
331
319
274
251
393
338
308
314
335
268
398
261
362
315
373
375
352
307
262
251
337
339
307
345
337
331
309
337
282
349
314
259
378
363
253
394
305
315
201
316
267
278
369
332
373
329
385
297
245
376
224
366
296
267
379
308
314
262
358
240
327
294
296
274
288
281
299
363
208
323
352
312
365
339
319
226
317
318
231
347
325
262
239
324
272
369
285
315
388
330
301
308
362
345
327
301
304
302
319
340
351
358
308
377
258
322
323
307
328
320
313
375
311
380
314
317
188
274
321
306
360
298
271
358
348
318
349
362
298
265
341
339
267
347
265
357
285
339
400
297
287
348
312
278
280
298
290
271
317
259
352
302
249
302
231
367
300
343
300
258
317
298
317
283
324
332
328
270
350
256
320
263
311
294
325
303
356
231
284
285
346
318
388
277
329
343
272
281
264
234
340
286
311
346
359
303
336
421
317
287
349
352
343
285
405
335
265
295
243
368
238
362
336
306
305
347
305
343
307
354
313
372
380
343
352
299
218
257
358
351
364
319
320
275
254
366
334
268
349
295
370
224
304
296
293
275
262
300
305
332
324
284
398
303
385
285
330
335
351
256
386
308
362
262
294
306
346
291
362
366
322
333
356
239
335
286
268
298
354
266
350
349
275
270
273
341
333
324
345
339
290
370
377
267
374
325
294
278
294
295
351
204
380
250
332
341
295
311
326
297
284
341
297
223
253
355
361
258
248
384
344
323
325
258
384
381
266
336
308
325
300
351
337
295
394
232
295
344
304
372
262
254
330
257
298
291
348
266
366
350
343
377
331
287
376
377
271
340
326
282
404
349
303
320
329
385
280
256
331
299
331
253
347
289
319
344
310
344
310
304
280
341
343
381
286
336
299
245
350
282
324
317
386
386
274
323
273
265
337
303
207
352
299
325
321
301
435
333
346
386
373
315
372
389
408
315
300
359
309
298
337
309
286
260
283
319
283
391
302
370
317
336
351
293
383
326
296
305
269
359
364
300
332
308
331
240
347
273
276
325
357
307
386
385
332
312
265
335
269
288
359
313
224
330
240
320
276
221
274
327
421
304
302
314
208
327
320
352
361
281
313
366
337
326
288
316
337
350
347
202
373
384
271
328
274
330
300
390
359
359
388
377
392
312
346
345
372
309
305
386
248
413
347
355
290
246
350
277
325
275
242
366
410
357
280
316
382
302
237
242
313
387
368
396
373
307
295
323
375
274
353
315
284
328
251
262
362
321
232
347
372
316
237
367
290
313
324
325
287
254
407
318
347
372
340
377
361
294
342
249
412
356
288
299
333
341
304
344
336
301
315
286
340
348
287
325
334
335
323
349
299
351
359
278
321
394
230
256
301
291
333
232
315
265
312
256
218
313
361
294
295
359
360
372
303
248
318
326
294
240
336
306
330
344
330
341
294
323
328
317
237
365
347
365
371
329
263
366
284
321
296
322
388
347
297
266
335
342
313
313
277
373
289
232
245
262
304
336
415
310
382
357
359
332
310
293
346
251
273
318
312
347
343
332
288
419
275
314
330
310
347
294
338
365
327
295
345
307
399
309
288
245
282
346
297
316
332
368
263
305
408
306
296
326
309
261
307
329
279
360
376
317
286
294
312
272
267
318
346
337
290
319
254
373
366
347
267
359
268
301
290
323
309
349
290
324
384
287
272
259
316
364
371
375
353
272
236
337
312
256
349
334
368
311
284
353
324
279
297
354
315
267
294
273
247
318
385
233
368
339
307
290
322
300
302
315
352
304
220
336
289
371
307
253
296
361
253
371
327
325
333
292
233
297
339
285
383
312
334
333
324
333
298
294
299
305
282
298
237
337
300
354
327
409
305
310
282
312
324
291
269
324
340
399
313
317
293
288
303
266
318
293
311
380
346
366
286
368
387
346
341
362
305
226
350
281
272
288
251
346
226
270
259
330
341
346
390
396
303
336
268
240
279
380
277
355
338
343
283
352
273
341
387
320
276
336
320
262
339
332
259
365
357
289
312
289
326
279
212
320
311
418
352
267
299
255
248
319
277
347
248
361
389
359
310
294
199
264
369
220
316
323
314
368
305
305
280
359
346
277
327
288
356
386
312
330
299
334
262
349
318
342
312
263
247
388
392
367
349
319
284
312
346
371
286
367
288
339
290
306
376
360
277
370
386
331
294
317
314
308
302
260
326
265
290
266
295
362
333
319
263
337
335
328
230
317
357
323
357
414
348
313
275
313
357
342
231
302
317
321
292
267
288
299
288
343
299
257
294
365
270
288
278
263
309
396
377
305
376
307
323
377
250
376
280
273
317
397
300
375
310
319
249
345
364
242
295
297
355
357
343
330
267
269
291
366
369
390
345
329
280
275
309
381
352
320
284
316
347
260
357
275
297
410
283
297
311
361
245
286
297
305
293
383
351
274
261
292
350
278
284
336
260
240
278
316
354
317
226
338
254
350
319
285
251
305
266
416
403
266
335
234
349
382
263
370
391
272
257
325
382
439
316
445
364
310
319
303
291
385
407
322
276
235
226
280
308
318
281
334
302
225
322
266
327
168
320
368
256
316
343
319
378
296
329
246
254
369
369
274
342
321
292
289
384
356
347
287
327
333
277
332
231
326
298
354
298
329
244
364
303
342
328
253
219
347
391
315
322
223
289
379
328
264
228
331
301
325
250
355
256
306
225
331
268
275
344
226
406
350
382
335
290
319
372
324
242
328
349
278
348
239
303
314
284
422
302
312
372
279
315
276
286
287
309
233
264
326
360
246
264
356
327
301
289
268
295
306
340
345
314
319
305
289
332
340
343
334
338
427
389
252
278
314
295
284
293
319
393
248
314
342
271
249
273
244
314
237
376
288
302
389
289
256
313
355
252
191
320
308
245
319
271
301
319
372
316
317
337
345
325
329
303
312
341
315
235
334
327
384
311
323
323
363
374
278
253
370
334
392
338
301
245
344
301
319
291
299
320
236
320
334
316
298
340
293
315
320
333
241
349
372
286
328
366
354
274
346
320
308
264
347
332
329
388
274
319
339
278
315
269
316
181
267
244
331
323
306
355
339
373
330
249
331
315
297
307
351
282
292
300
381
278
252
352
382
324
351
301
361
326
355
343
379
344
287
310
412
278
324
311
315
308
339
260
300
204
316
283
311
282
408
315
329
352
348
396
378
339
295
284
303
257
341
308
302
320
338
279
325
280
276
271
310
278
274
352
337
377
318
325
301
373
340
333
348
340
357
344
297
268
368
294
276
324
304
234
264
297
348
272
283
260
280
389
270
358
334
285
331
278
252
321
323
280
292
305
316
313
396
301
357
311
342
313
284
329
328
299
307
298
270
227
359
290
359
333
351
303
263
246
338
299
414
283
279
352
383
291
407
303
371
314
277
358
347
323
385
297
330
232
360
245
309
283
284
314
280
320
254
315
262
236
233
354
288
316
319
282
303
349
312
322
321
301
369
370
370
249
373
309
270
338
358
370
359
403
291
420
258
314
291
305
277
428
226
263
339
250
390
339
280
356
308
275
336
345
301
282
376
440
301
360
352
306
408
328
431
384
393
268
311
312
401
339
252
301
221
241
364
302
254
285
324
300
299
291
282
288
356
336
288
250
325
316
391
356
312
224
278
244
256
284
346
376
323
324
283
368
374
298
336
352
289
386
296
314
337
354
229
253
337
270
333
298
270
321
364
285
306
346
310
274
382
247
229
282
363
348
293
264
373
306
345
400
326
393
325
282
272
394
300
351
339
346
326
339
328
285
296
328
379
324
321
305
268
386
382
225
344
320
329
353
255
269
286
279
355
249
333
326
300
301
273
328
330
289
382
300
345
323
296
313
391
389
247
273
293
347
262
268
344
332
303
249
313
331
258
329
321
338
301
284
285
283
351
316
311
355
282
265
344
214
280
277
300
331
322
270
310
320
197
288
348
351
370
293
241
273
347
341
344
359
346
333
332
287
278
278
345
269
277
233
355
364
285
272
285
286
290
336
308
331
302
308
399
243
314
375
227
296
338
331
364
404
403
353
357
266
215
320
343
340
393
363
268
255
287
314
303
341
343
323
272
313
270
335
322
306
280
330
369
320
381
340
319
379
309
363
421
339
263
315
319
250
345
365
263
337
270
360
340
317
293
270
285
363
242
363
247
315
326
336
363
352
310
289
240
306
347
298
369
216
301
373
331
228
313
270
310
375
309
269
267
315
282
334
298
273
400
375
362
255
311
370
310
273
291
237
408
356
408
331
304
305
308
300
407
385
370
378
289
190
340
334
342
321
319
392
353
370
321
402
368
278
391
406
243
285
315
232
327
255
329
316
284
290
361
292
336
397
277
261
248
357
343
273
348
346
298
363
344
236
253
352
258
381
366
278
340
316
319
301
388
406
346
315
338
250
340
363
239
302
324
314
395
189
330
341
294
411
335
351
360
263
359
336
280
396
337
305
330
293
296
311
305
341
383
342
359
282
300
313
340
276
312
227
329
327
310
294
347
319
278
359
321
283
362
275
280
286
258
326
433
254
313
363
278
249
236
429
389
332
326
323
357
355
365
297
319
261
389
337
306
247
326
364
306
377
355
336
332
219
295
301
314
350
307
245
298
256
380
309
266
288
272
279
323
314
352
342
352
307
290
312
370
322
309
333
328
329
315
247
245
262
327
305
344
371
349
329
374
387
294
354
340
349
309
263
348
388
379
280
230
433
271
290
374
285
307
274
285
312
234
352
313
318
361
288
274
360
342
332
267
371
269
292
266
315
347
374
356
242
318
316
272
251
257
280
261
329
384
376
256
299
352
345
335
345
390
396
424
347
308
345
258
324
299
286
399
296
356
302
224
325
360
223
304
323
351
285
345
259
325
306
354
325
321
379
317
279
311
327
336
372
337
304
341
318
307
336
405
305
306
394
345
338
329
291
318
316
287
281
362
264
356
226
243
299
248
353
306
352
348
279
326
298
288
302
321
373
310
399
241
354
286
321
298
307
312
257
347
385
324
355
329
327
393
264
286
315
306
396
397
283
346
325
367
318
242
357
327
349
289
297
270
340
335
329
287
318
293
276
307
383
382
362
338
314
259
363
254
298
356
269
220
357
277
295
311
367
295
357
367
336
307
332
299
352
253
298
374
305
266
302
317
290
263
348
306
269
306
337
249
221
291
346
248
313
348
282
379
295
285
329
215
284
337
355
332
335
277
396
319
328
369
332
270
381
332
368
299
309
234
276
297
328
299
301
336
405
279
301
349
235
334
389
264
284
348
314
333
285
364
242
323
382
273
236
270
334
292
322
323
301
232
365
399
370
374
355
383
368
347
300
309
318
398
419
358
359
286
344
286
326
324
357
335
338
354
326
248
328
376
333
297
391
393
298
232
339
280
310
315
284
332
317
307
329
239
370
283
282
314
365
277
343
356
301
355
276
354
349
355
359
266
335
360
372
351
280
269
370
346
364
232
402
320
298
258
278
292
281
225
371
355
308
323
310
377
225
239
288
254
337
358
261
325
289
227
195
314
301
378
243
335
257
339
349
299
331
312
337
389
282
301
379
312
422
285
269
330
345
302
367
244
316
329
317
286
289
316
301
335
364
274
334
243
276
384
297
234
313
308
406
323
358
312
311
359
380
312
334
396
362
257
368
345
303
344
404
376
308
343
300
281
284
298
279
410
315
308
284
278
315
289
322
404
358
256
272
293
290
328
299
308
312
218
371
244
320
277
293
250
252
319
216
367
326
346
375
358
338
336
337
247
306
387
363
311
274
364
254
380
405
333
343
328
285
297
313
281
407
260
314
273
290
272
282
390
252
347
263
429
293
304
319
308
302
359
333
307
289
262
311
320
244
363
290
310
286
340
332
412
293
369
292
365
313
276
349
280
265
364
362
286
324
281
329
359
300
268
230
333
391
253
345
337
383
325
324
344
410
233
312
329
422
325
294
416
292
309
279
312
326
288
359
326
311
274
348
237
302
325
271
366
267
349
353
359
313
386
362
336
347
298
322
309
345
285
342
307
379
289
363
326
264
299
382
337
266
331
282
244
258
309
326
350
359
267
344
352
294
283
285
319
374
335
338
375
300
333
273
313
172
283
290
297
320
208
325
326
390
318
344
334
377
370
344
381
305
327
396
326
351
285
314
341
283
314
345
360
334
265
308
315
305
328
236
359
289
280
218
270
286
390
348
314
425
303
343
251
371
381
352
251
313
296
301
303
307
324
329
353
369
288
418
332
287
312
308
340
256
331
352
285
323
247
244
353
267
304
301
260
399
229
368
270
352
382
253
386
384
270
399
320
374
364
297
385
342
336
311
278
385
311
261
272
308
326
277
368
281
412
303
380
393
308
335
382
225
359
323
355
275
308
260
340
371
277
341
357
303
364
292
258
263
312
312
401
382
306
239
318
350
335
270
313
342
344
356
360
333
316
348
355
237
330
322
262
291
270
316
300
287
343
321
304
313
385
379
378
312
385
314
309
299
346
282
278
360
372
249
369
270
315
302
331
309
301
292
296
437
351
314
343
231
228
318
337
364
393
261
289
326
310
319
232
278
248
377
371
288
304
292
292
252
268
391
347
280
275
241
338
295
256
358
339
329
249
254
326
324
264
281
271
335
390
185
310
249
228
279
293
231
268
311
338
343
357
313
392
189
343
324
303
350
297
317
357
285
313
326
344
436
249
287
314
299
357
311
327
265
435
308
301
341
317
351
342
299
333
342
346
290
365
352
346
320
360
335
244
267
364
254
242
280
287
304
293
463
339
214
321
271
277
399
353
392
324
337
377
273
344
335
269
186
329
182
337
266
310
258
249
255
336
281
367
372
357
292
244
326
335
255
289
352
259
277
347
278
305
277
403
239
323
350
283
351
331
261
322
252
241
238
283
333
319
271
340
267
288
360
289
283
224
322
361
290
315
391
385
350
300
309
264
336
331
340
345
376
303
257
365
356
312
372
323
333
336
295
249
365
370
328
281
234
334
325
289
289
277
359
297
329
327
266
332
234
303
353
292
331
354
313
292
247
322
351
280
335
328
330
350
319
387
291
338
321
380
334
295
442
289
284
357
302
301
366
268
306
357
266
361
265
383
281
332
383
298
335
265
290
309
293
348
273
350
263
266
170
302
337
358
325
242
277
371
292
336
334
290
308
424
308
378
371
306
279
332
319
308
377
237
343
324
261
262
259
304
371
336
330
303
276
347
361
376
334
252
323
351
270
307
376
241
393
280
380
326
290
340
257
318
276
343
290
333
301
329
351
366
260
381
377
331
258
243
268
306
319
369
335
403
313
266
384
356
285
288
285
264
287
398
376
267
404
309
274
353
319
371
330
370
325
324
321
271
299
302
316
385
310
304
393
385
347
252
238
254
239
272
362
314
224
224
337
313
300
271
258
351
316
300
322
382
394
290
265
256
370
340
334
309
290
187
385
371
284
314
310
255
253
355
350
367
309
321
403
363
234
320
431
334
349
334
299
307
286
253
336
329
323
396
336
289
326
239
358
303
300
322
291
301
355
216
269
332
279
346
272
292
345
309
344
344
314
321
299
287
267
372
273
286
338
279
282
309
282
281
338
265
304
412
326
338
297
337
338
348
335
337
272
297
354
365
283
331
250
301
219
355
293
330
311
348
338
389
260
327
358
227
311
353
295
280
257
330
334
291
230
294
378
256
316
336
273
354
248
259
382
289
349
331
327
340
352
314
367
302
364
333
354
335
358
353
348
335
231
274
321
376
309
351
341
312
320
272
276
319
359
355
232
250
254
345
306
299
323
274
329
316
331
362
364
309
343
285
366
280
286
384
337
349
332
291
340
291
269
243
400
244
289
315
336
336
355
283
359
382
304
362
348
347
337
309
381
216
301
285
343
236
297
383
294
260
270
326
300
335
262
365
318
421
333
286
377
379
269
250
317
323
175
265
301
357
285
233
298
246
351
297
248
299
342
360
293
311
345
349
295
290
297
343
220
376
365
268
307
323
341
333
248
226
282
315
358
317
389
373
246
324
396
321
409
360
341
341
326
226
265
305
299
335
316
271
221
293
383
281
333
298
207
296
289
273
253
314
239
406
391
322
329
240
343
388
265
294
334
312
293
246
301
284
344
274
292
304
335
359
346
268
362
371
243
347
379
309
301
383
329
287
338
327
273
384
227
195
371
286
304
332
222
304
306
335
347
337
329
307
302
248
330
270
292
336
297
359
302
365
301
284
280
293
321
324
348
365
304
281
307
314
281
302
281
327
316
366
344
257
335
379
329
292
315
334
357
424
334
327
343
349
315
366
278
366
324
347
309
332
301
316
376
281
320
331
398
310
282
323
398
284
414
341
360
347
274
221
362
380
340
310
208
346
273
286
332
322
365
348
306
344
372
340
250
348
336
303
409
348
299
337
389
298
291
295
364
320
383
333
256
321
342
321
342
259
396
292
284
330
306
307
320
378
346
298
244
293
386
345
376
336
395
324
276
341
311
362
261
408
373
296
298
262
272
330
263
286
262
330
367
322
262
339
351
301
273
253
324
312
281
343
357
364
337
333
347
294
363
352
323
300
303
351
326
240
317
312
321
365
328
321
290
274
333
326
364
282
375
254
296
255
376
362
292
374
316
373
291
323
298
291
312
338
335
333
374
339
426
294
368
374
296
323
301
314
280
341
335
292
342
254
406
295
322
277
304
300
386
290
385
344
295
357
288
238
342
309
421
205
301
304
347
365
366
279
352
377
206
350
304
368
426
301
419
360
344
328
291
327
318
344
210
273
283
319
262
297
304
387
465
365
357
382
325
328
345
336
345
280
337
250
313
228
304
361
262
375
279
366
250
325
365
250
337
295
353
377
262
316
256
344
235
281
323
355
314
306
314
342
309
218
369
316
387
281
279
393
370
299
314
318
301
324
397
284
310
326
313
335
312
310
378
300
268
317
299
280
316
347
396
334
421
313
325
282
322
364
317
339
268
380
318
346
201
342
282
298
322
305
383
295
289
322
246
383
264
295
340
375
261
310
246
289
306
384
287
276
333
317
292
282
323
365
310
290
354
340
269
305
361
331
307
263
311
247
370
385
265
298
328
336
354
404
293
267
260
329
291
255
391
393
282
346
265
356
294
264
275
334
367
344
256
358
325
272
266
412
315
249
298
347
377
307
388
335
327
334
292
222
251
331
378
359
358
333
301
384
331
285
361
245
327
293
283
326
321
303
274
347
307
281
356
330
294
354
313
309
295
343
305
346
360
373
395
395
323
346
345
284
265
314
318
418
308
361
267
330
347
335
309
408
330
259
368
322
322
301
308
332
331
267
316
314
318
292
287
301
315
223
336
293
292
258
301
371
289
277
341
326
215
371
356
311
333
330
267
309
261
312
335
303
317
238
251
293
313
338
327
270
332
311
359
336
301
332
341
426
415
356
322
396
255
334
301
368
301
318
315
388
324
272
237
356
225
280
432
337
362
278
231
392
305
289
246
348
373
322
342
233
342
340
357
284
283
321
345
352
316
279
340
320
325
323
408
319
278
372
309
315
289
354
341
331
379
355
319
262
355
406
287
314
219
383
311
303
345
318
339
400
331
349
311
233
380
278
328
353
348
303
284
320
349
351
308
234
343
343
410
336
298
265
205
320
274
390
314
300
310
338
334
281
352
362
244
331
298
323
338
334
406
329
271
346
341
320
317
331
332
252
305
383
287
298
275
308
333
252
290
334
356
327
293
345
357
348
314
332
281
294
321
241
287
282
375
339
313
384
355
351
346
297
272
270
310
352
338
371
294
266
280
291
394
340
301
398
308
277
221
370
294
289
229
328
344
307
336
352
445
357
246
382
324
279
321
337
316
345
234
255
326
370
351
304
260
410
297
387
286
321
310
341
231
273
360
196
281
343
249
272
320
325
334
266
301
343
259
299
304
326
375
358
282
355
302
360
290
317
315
294
268
281
314
355
297
323
285
293
385
264
357
356
300
346
297
316
269
322
315
277
329
304
333
280
392
303
395
290
276
344
269
279
427
353
332
314
354
304
270
312
287
307
282
304
249
298
289
302
354
375
338
393
306
320
359
288
238
248
213
292
286
308
329
299
323
354
355
332
333
286
233
346
285
286
334
361
334
392
264
305
392
307
289
286
261
312
280
400
313
346
292
314
350
226
280
386
255
355
394
263
353
336
217
420
304
358
308
394
287
313
229
399
342
404
319
305
340
293
321
269
357
284
283
252
376
282
340
367
269
294
275
311
263
357
333
373
356
371
348
359
313
299
335
315
359
244
334
364
269
369
274
256
353
310
282
413
319
340
258
323
337
370
392
360
377
345
299
385
346
222
445
278
307
252
289
353
315
308
382
322
285
307
305
242
387
289
326
256
269
352
328
270
274
305
216
316
335
233
326
323
314
341
269
347
314
278
245
251
269
280
373
338
358
360
390
344
277
278
294
327
369
380
272
225
325
346
292
382
301
321
256
285
251
303
360
315
306
339
271
390
361
397
281
338
319
284
320
401
346
395
380
328
307
395
333
218
382
286
257
349
387
285
338
331
342
282
311
397
314
290
373
347
350
292
321
333
344
291
388
292
218
307
271
336
323
298
336
312
269
362
353
341
333
281
347
293
354
354
308
298
208
354
251
318
292
353
251
291
334
307
300
321
423
247
361
324
288
283
296
246
278
360
300
235
270
356
319
320
281
382
259
266
265
313
296
270
299
317
303
267
318
367
350
221
319
268
319
296
398
338
309
298
332
253
386
390
319
319
259
328
342
212
320
338
379
331
371
328
293
336
299
311
342
282
398
376
329
361
375
367
292
292
199
346
228
368
299
300
353
315
212
368
340
262
289
294
407
291
334
354
330
367
297
233
311
307
372
392
385
345
376
382
285
253
262
342
314
296
325
214
245
185
361
333
304
333
389
303
364
286
284
372
346
423
264
322
206
289
230
309
268
304
312
321
335
380
339
306
339
338
347
315
355
394
331
285
235
312
320
349
225
348
300
370
296
307
372
294
324
341
332
331
315
379
323
327
400
332
338
267
343
324
262
296
235
340
300
296
218
292
347
344
267
356
349
388
345
237
275
334
394
375
313
361
296
237
307
297
339
290
310
340
356
337
255
379
353
279
283
351
315
297
320
221
358
307
262
164
388
353
287
424
234
343
390
353
362
379
281
263
284
349
324
335
327
285
267
206
279
386
364
319
271
325
323
317
258
361
331
325
325
344
334
261
271
309
373
298
370
273
334
291
203
265
290
329
317
315
248
350
414
288
341
365
306
314
275
301
361
304
417
295
271
291
361
359
281
269
294
208
290
336
315
331
285
371
349
307
257
282
322
344
221
220
296
308
354
257
411
340
408
270
294
277
321
299
263
310
254
383
315
328
368
313
317
352
286
331
254
322
253
361
366
385
285
301
375
327
397
272
246
321
383
240
293
295
292
373
305
337
386
213
361
345
341
350
352
307
327
266
246
352
255
284
270
287
359
329
359
370
270
326
376
328
323
253
347
343
286
313
312
298
256
360
319
303
282
308
315
352
315
334
264
301
408
193
374
284
276
355
310
316
279
242
323
398
307
275
333
306
279
322
205
358
299
318
305
319
368
316
312
338
289
295
260
333
320
373
276
320
266
348
168
346
356
311
283
379
340
330
231
306
269
336
294
289
295
212
331
210
324
284
276
355
209
266
343
289
350
297
314
271
327
314
289
317
309
350
247
318
339
309
337
308
267
275
319
258
256
323
324
347
329
341
281
288
356
243
326
322
393
322
273
348
250
298
287
315
348
302
306
269
365
330
339
292
238
270
313
344
374
357
322
252
303
333
318
312
298
340
381
291
286
364
278
288
301
313
314
289
351
334
364
253
207
331
300
343
256
382
305
308
276
354
291
304
307
382
359
350
257
301
343
268
310
321
290
421
333
253
283
341
336
337
215
355
308
308
308
252
356
311
296
266
295
371
264
290
315
298
267
316
273
310
367
332
244
393
341
301
344
333
339
328
333
220
326
292
231
305
309
323
317
297
294
396
248
259
305
265
402
327
352
358
277
366
337
332
283
340
370
334
242
303
271
353
329
291
367
264
267
384
355
326
366
270
398
289
369
256
244
351
237
320
280
420
352
355
234
300
311
310
356
330
314
291
323
331
399
413
361
382
349
289
327
307
326
331
407
342
307
260
376
252
241
359
318
373
275
332
330
348
325
351
306
311
359
307
317
345
273
318
352
250
242
318
233
375
357
404
350
248
378
370
348
295
276
330
358
322
338
279
350
353
313
302
323
277
313
360
280
314
338
314
256
273
287
220
264
298
247
262
268
365
363
244
268
313
253
310
289
346
352
271
343
254
340
356
222
327
279
332
387
388
277
277
320
270
364
335
343
361
255
313
280
359
361
354
334
288
327
320
329
295
398
353
339
307
303
278
381
267
362
389
277
387
341
258
222
409
327
302
361
329
275
289
255
326
344
397
298
375
336
318
303
262
303
283
320
279
232
320
307
297
357
377
324
339
293
296
327
320
257
313
320
326
250
262
326
252
314
299
334
265
321
241
286
327
319
308
316
325
292
313
364
252
323
282
396
332
274
354
301
275
328
359
326
347
317
272
280
289
275
332
366
360
312
333
315
392
296
233
273
288
318
307
274
347
306
391
350
349
338
392
354
402
291
258
307
368
322
282
328
351
336
264
398
369
281
300
302
320
305
344
342
271
344
235
251
265
327
194
302
354
297
308
302
326
337
358
274
259
283
395
333
309
334
271
276
338
323
355
284
324
355
307
280
339
394
340
222
277
304
354
325
412
316
298
296
218
404
346
402
356
297
255
290
280
394
319
298
343
249
250
326
305
314
233
265
329
218
349
413
288
240
392
345
333
317
289
256
346
335
331
235
292
271
319
368
331
278
323
363
342
335
320
299
310
354
261
354
265
262
367
286
324
321
354
382
239
308
273
312
300
316
300
336
326
290
278
347
289
242
330
240
364
367
356
282
305
350
424
316
397
381
267
356
252
259
368
272
290
308
321
340
316
338
262
327
314
373
275
367
269
390
241
369
327
308
380
224
388
276
265
381
298
343
276
287
314
295
357
245
273
346
257
196
327
308
300
335
353
323
330
332
342
371
310
357
385
292
410
273
314
370
279
276
264
322
352
289
329
376
235
290
319
243
395
309
293
328
334
224
298
330
291
254
358
257
383
270
226
307
334
337
353
332
262
235
299
246
338
309
212
231
272
317
297
342
368
373
337
320
322
378
370
277
334
281
326
323
304
292
265
317
343
297
224
371
360
274
289
266
391
380
281
282
250
348
220
256
335
343
348
324
268
287
350
422
344
245
374
359
264
356
420
227
292
362
332
303
325
296
339
366
204
317
294
300
301
314
348
273
304
263
302
323
330
306
335
365
381
259
272
295
292
289
236
308
331
341
335
338
313
343
344
289
289
325
328
294
248
266
281
343
389
374
379
324
307
367
328
330
205
298
323
304
317
341
352
248
374
305
342
357
400
322
355
375
277
296
372
305
330
328
352
275
349
277
304
352
362
238
321
372
337
398
248
273
252
300
243
336
259
363
319
332
277
259
403
393
330
307
259
273
324
324
245
307
311
340
354
257
308
286
252
297
310
281
367
326
317
347
353
237
329
282
308
242
304
371
398
383
341
407
265
305
292
332
317
323
273
295
355
348
297
291
303
340
370
305
335
327
350
313
291
278
335
252
309
374
289
343
293
210
368
342
328
300
289
231
372
298
231
392
324
263
348
288
330
316
352
288
362
361
282
409
340
354
272
278
363
333
317
244
355
266
321
236
349
324
361
347
313
203
355
275
361
319
371
239
201
261
381
347
264
305
278
380
315
230
286
364
363
298
352
320
324
325
323
311
403
277
382
314
340
234
386
218
327
298
278
335
303
296
330
343
343
315
367
292
351
271
374
275
335
289
330
285
271
299
284
318
349
349
329
294
400
331
359
314
285
411
272
366
375
350
337
346
357
316
314
308
363
324
345
367
356
305
328
287
341
278
301
333
318
302
336
289
296
289
340
275
290
292
311
266
326
391
212
298
359
384
231
373
367
371
261
374
343
317
230
282
338
328
306
261
300
385
332
371
322
338
330
252
358
348
288
293
345
292
246
262
277
334
312
393
330
338
261
288
312
376
262
310
291
292
307
281
328
358
292
267
268
377
284
292
349
341
343
304
311
298
314
283
291
271
324
338
379
331
270
296
327
320
217
285
312
392
257
289
282
351
248
297
323
241
359
306
278
258
321
322
330
377
260
319
305
368
363
278
293
272
329
368
384
329
321
299
208
336
401
285
374
319
361
371
364
302
315
355
333
362
266
346
338
274
305
268
229
285
325
262
392
343
315
274
314
318
280
352
336
290
320
263
408
385
335
306
241
296
333
324
325
292
267
268
316
363
360
366
377
301
367
300
325
315
286
333
347
360
278
355
325
360
329
248
346
327
370
259
350
367
285
292
303
237
373
398
291
234
376
247
339
400
272
334
314
311
328
369
328
261
305
325
314
347
372
260
271
306
330
285
303
308
216
335
264
352
313
340
314
304
373
341
310
304
331
284
330
284
271
338
308
303
351
268
210
314
319
348
309
297
370
314
272
308
339
286
326
302
336
246
256
271
256
316
317
424
381
320
400
356
262
274
308
366
271
284
334
245
305
348
346
335
392
359
301
301
283
292
350
274
325
360
354
296
379
429
262
318
337
215
362
300
270
310
319
310
266
380
282
352
381
246
262
290
304
242
306
358
294
336
347
202
264
328
272
269
322
315
392
311
337
289
350
328
272
294
244
360
290
273
315
336
313
338
225
300
290
283
320
300
289
351
307
305
322
287
336
326
400
383
293
296
289
284
355
354
348
326
342
329
331
373
280
335
267
369
337
297
356
313
360
273
275
342
315
273
315
266
335
414
284
292
304
287
347
378
285
324
306
254
299
276
285
325
232
354
280
321
352
364
330
259
302
336
277
255
265
291
350
317
306
301
301
314
315
222
280
266
260
285
348
311
343
367
283
368
275
302
353
317
310
312
259
305
280
334
297
293
301
381
274
313
333
360
342
312
307
379
306
220
293
282
321
327
302
324
342
258
395
346
339
285
334
364
288
390
359
302
367
276
293
327
286
324
381
360
261
229
318
300
390
330
274
297
264
354
313
335
266
299
376
276
353
395
369
327
222
375
391
344
322
249
372
244
296
360
357
300
288
358
328
252
272
312
342
330
362
264
376
284
341
335
355
354
265
243
271
349
207
292
293
289
201
290
338
377
323
325
292
405
272
318
266
361
292
381
266
410
271
402
335
278
335
298
331
325
371
300
252
322
351
338
374
341
321
284
251
403
301
303
275
349
283
280
369
230
376
367
281
339
322
392
366
366
334
380
265
356
241
348
342
354
283
342
334
300
330
338
238
320
374
364
338
314
306
384
294
293
327
341
340
338
270
266
260
348
269
238
284
329
289
323
255
288
307
386
293
315
303
328
263
282
354
351
334
297
306
332
300
326
291
392
343
405
283
357
336
308
355
351
287
330
287
359
297
344
307
374
358
236
327
344
290
359
298
316
284
330
333
229
333
300
375
257
329
295
308
326
356
279
333
230
304
250
332
346
355
321
316
263
321
310
308
333
304
303
356
346
331
321
274
288
303
295
333
326
268
360
317
322
348
331
296
322
283
273
318
300
207
318
290
342
259
334
270
307
248
332
317
255
318
285
332
343
351
290
338
253
324
318
294
291
288
339
363
322
319
378
312
340
278
363
288
282
389
255
244
316
332
349
297
196
369
302
278
287
325
363
242
317
327
304
338
369
376
306
346
283
252
310
287
326
305
356
311
257
263
340
269
319
299
339
307
253
378
361
377
330
351
290
314
375
404
377
267
361
290
338
247
331
266
351
228
313
239
295
223
313
336
283
320
339
294
303
323
322
293
323
325
329
312
273
369
241
315
271
281
296
327
354
350
398
345
271
385
262
297
306
365
342
311
355
232
377
355
272
237
331
306
255
362
268
379
361
287
378
347
286
328
387
247
342
360
309
301
373
315
345
321
313
274
373
294
262
335
289
384
414
340
348
316
274
344
410
303
301
362
246
334
380
337
323
351
374
317
331
283
338
317
332
283
204
326
281
374
316
300
331
312
298
334
377
261
236
344
439
337
283
254
354
309
271
297
307
211
337
336
326
253
367
247
364
378
396
318
265
298
342
376
330
327
359
241
304
350
190
373
279
273
255
335
306
264
251
187
386
271
399
231
357
373
368
393
317
397
284
284
341
307
316
257
342
246
355
248
310
294
271
240
358
315
264
329
314
379
396
282
278
350
317
308
332
293
311
376
334
301
301
295
298
212
352
345
280
295
356
327
406
383
325
310
335
311
316
237
235
286
241
312
380
272
318
261
334
285
290
288
283
380
285
382
267
305
304
353
337
371
323
344
313
289
215
281
308
339
375
358
324
356
315
297
235
303
323
340
417
275
348
370
280
219
411
403
333
337
353
313
371
295
186
307
336
378
355
278
156
349
308
322
370
298
226
356
243
315
271
305
342
296
362
287
356
312
330
281
171
329
304
263
351
356
273
286
283
301
318
335
233
334
398
299
268
291
386
209
380
329
306
336
363
260
301
335
304
375
256
285
262
297
304
365
347
332
275
265
265
283
440
331
273
349
354
363
336
314
268
340
291
334
388
336
256
405
387
311
276
295
318
409
323
280
293
381
366
336
341
334
318
365
366
301
330
264
339
321
300
283
241
343
308
355
335
270
341
361
276
310
291
338
296
342
301
264
276
316
279
386
253
341
341
269
351
298
394
289
331
297
288
290
344
354
329
328
368
273
384
280
326
355
340
331
313
256
293
327
325
307
367
317
353
296
335
358
349
297
298
311
373
365
371
316
296
397
299
304
298
388
336
324
304
305
322
262
363
341
334
341
363
321
309
247
390
268
359
296
262
366
325
276
242
307
256
267
261
353
354
341
317
316
320
295
271
255
357
229
364
260
299
355
370
321
238
361
358
315
349
264
347
315
321
284
297
303
236
368
296
311
345
299
277
360
335
318
407
375
315
323
241
180
325
290
310
249
316
289
344
322
353
265
337
321
269
346
296
374
262
352
343
281
343
236
260
362
350
342
314
341
214
330
249
395
404
354
311
409
368
329
318
301
282
290
348
343
297
312
251
295
312
331
316
350
304
371
300
388
274
323
299
276
327
267
326
321
331
342
316
399
333
284
289
342
276
257
352
422
365
268
306
308
271
277
277
299
349
360
270
318
369
301
361
401
335
356
394
318
328
375
256
324
282
347
317
317
348
368
313
324
329
332
310
337
299
332
348
252
281
343
324
420
301
220
340
246
273
317
403
325
321
333
273
361
263
281
349
297
332
321
317
250
339
302
313
313
372
318
304
239
322
356
292
370
319
345
281
306
335
321
370
278
318
283
264
349
319
317
262
278
289
394
208
344
329
330
228
273
275
368
323
393
351
272
368
307
349
328
225
220
266
227
337
379
280
283
275
343
347
333
388
363
402
225
207
243
288
344
329
330
233
342
302
257
364
370
276
280
383
317
280
333
313
317
309
324
372
353
337
266
349
220
369
282
301
247
255
362
356
267
312
315
357
270
322
315
371
261
307
418
275
260
347
366
264
261
236
363
323
343
295
321
338
308
357
332
277
346
253
266
296
282
345
378
330
222
347
413
380
324
272
310
259
319
326
291
347
332
338
259
314
341
336
269
279
257
307
305
342
264
312
275
281
351
227
307
297
293
413
341
239
339
265
365
403
304
260
344
248
347
278
320
323
332
327
299
239
330
264
332
247
360
288
346
314
318
282
425
248
287
228
247
344
228
273
265
288
314
301
291
240
296
363
349
278
238
210
397
280
344
329
355
305
310
321
366
324
435
318
312
299
275
365
225
315
301
310
326
336
301
343
329
373
278
225
281
342
333
327
268
324
340
310
327
322
229
346
282
373
319
335
301
307
310
316
261
226
268
351
332
266
404
340
304
425
321
312
256
373
348
318
281
306
312
308
314
339
317
301
325
302
284
338
351
323
368
386
292
330
365
322
244
313
363
339
263
365
251
284
247
340
350
293
380
301
345
338
232
282
304
242
334
362
308
279
368
314
219
237
282
313
263
297
284
411
239
296
358
353
412
306
427
243
236
304
402
322
298
263
229
375
228
351
266
353
308
334
327
337
324
382
275
379
321
312
360
306
286
387
214
304
410
321
307
308
304
388
326
359
302
321
252
289
371
329
294
285
328
317
271
319
262
313
369
358
368
283
308
295
278
279
332
272
286
319
354
380
334
286
280
284
376
271
307
314
325
327
382
296
292
203
316
327
252
240
305
330
231
275
291
379
361
229
284
364
272
255
252
338
370
273
276
302
318
266
264
234
253
282
334
347
287
310
286
346
275
300
336
310
292
258
255
388
291
299
276
233
311
304
265
358
417
316
358
267
368
372
341
321
285
347
325
281
350
312
313
317
271
291
352
260
251
382
241
315
336
359
281
309
268
327
315
317
266
348
299
316
283
291
319
308
328
318
315
299
235
289
277
362
327
358
282
311
347
273
380
294
287
294
330
290
234
336
268
232
285
361
395
317
224
349
365
342
347
249
249
301
265
274
324
259
339
333
277
315
350
311
303
271
268
346
369
265
310
333
336
294
253
270
312
255
304
296
268
295
307
403
400
303
240
233
283
291
304
349
322
335
278
340
303
322
302
305
324
317
351
291
260
301
344
350
384
293
352
303
329
308
280
369
296
337
302
310
310
222
274
358
362
405
289
274
337
321
213
346
322
287
279
248
294
338
227
327
249
338
200
299
315
354
391
349
279
278
292
283
439
260
336
407
321
311
310
414
313
214
294
242
320
325
359
327
248
304
355
340
255
309
288
316
329
299
319
330
304
305
264
344
338
294
338
401
322
320
291
356
349
313
358
386
332
328
254
358
303
355
308
369
237
339
321
324
247
325
402
276
346
243
240
350
295
323
321
330
401
321
366
329
392
325
329
364
242
312
308
325
223
280
392
316
242
356
305
322
420
299
266
227
277
343
314
314
320
268
298
360
340
308
354
311
363
281
399
299
304
350
238
322
342
288
325
318
345
285
332
307
379
389
324
289
266
325
258
233
334
217
243
328
295
320
299
231
260
398
316
350
307
255
288
333
214
361
327
349
330
331
370
316
302
309
337
270
347
270
288
315
247
305
318
256
314
322
346
331
261
333
276
391
363
389
348
335
290
246
325
301
371
371
357
324
330
310
337
341
267
286
398
321
345
264
344
348
370
334
252
339
373
365
316
294
301
285
300
324
271
315
325
368
278
286
325
352
361
235
361
274
352
266
356
384
186
395
265
382
286
356
263
284
392
319
407
255
320
341
268
260
355
346
355
244
320
355
266
316
303
312
291
344
285
414
313
224
327
301
240
292
302
312
273
317
330
285
274
372
365
341
338
299
334
311
324
350
266
274
323
295
372
353
329
286
279
388
341
353
371
358
294
249
376
238
310
187
247
293
373
230
329
339
365
336
310
285
338
303
292
374
331
353
351
261
294
344
356
320
223
333
383
341
273
291
289
251
252
309
318
361
351
373
345
271
262
361
350
204
312
273
273
307
294
265
263
237
301
350
339
312
297
311
287
293
237
372
316
264
338
229
299
280
303
308
301
261
341
343
310
292
350
332
274
180
320
349
368
312
355
335
226
301
279
380
318
213
198
318
305
326
285
304
373
245
344
351
350
175
331
335
370
374
363
339
275
350
321
388
345
338
358
310
328
322
286
342
280
321
293
241
284
328
349
399
312
314
256
213
304
311
322
414
267
303
291
337
302
420
299
269
247
273
340
358
222
318
289
306
312
268
301
236
366
321
254
269
358
326
259
261
363
321
346
318
343
348
335
370
308
371
369
255
343
300
296
269
311
285
318
349
336
268
295
260
361
374
314
310
324
359
327
372
287
351
257
257
265
306
401
267
337
278
247
321
402
318
363
281
345
261
356
294
352
317
384
298
248
326
263
287
306
312
311
309
312
286
233
310
314
317
296
297
263
328
395
279
287
364
338
432
303
347
305
358
267
308
279
331
257
332
305
338
295
376
247
303
273
312
355
304
303
291
323
371
328
307
299
299
305
232
328
276
311
232
289
319
296
217
301
346
309
351
307
255
246
312
396
233
289
305
327
299
291
275
319
340
298
307
252
361
258
360
296
259
312
356
160
253
315
364
323
323
402
282
292
291
277
299
395
293
303
284
288
294
379
375
282
279
287
293
420
339
320
302
327
338
306
345
324
289
403
345
331
327
280
320
335
256
382
362
337
285
315
328
309
298
391
245
326
319
302
289
319
394
315
296
373
301
299
337
280
341
355
294
297
329
243
274
329
388
308
332
288
341
235
297
265
299
368
322
328
309
288
361
267
292
314
230
282
271
383
318
279
420
252
299
286
350
318
283
292
348
282
259
273
295
266
366
277
402
293
354
322
277
291
305
283
358
270
310
303
295
381
385
336
370
333
311
316
241
343
269
302
329
314
360
259
265
340
322
289
299
353
320
269
339
306
276
267
354
404
339
356
239
338
255
327
278
301
342
360
396
262
425
369
385
312
361
307
342
285
350
380
271
315
222
366
361
403
336
269
317
439
320
333
416
284
310
326
381
283
245
356
337
384
348
375
285
282
339
398
279
364
337
359
336
391
295
367
304
329
311
347
259
289
241
319
311
317
265
305
339
313
300
296
333
291
336
387
240
275
323
307
257
289
266
275
317
389
355
357
327
258
274
280
300
274
282
316
289
333
344
354
318
327
376
387
276
311
273
361
308
335
218
295
306
250
308
400
329
384
277
229
304
298
300
237
333
358
281
308
319
346
324
231
258
301
282
346
276
309
366
344
326
317
286
319
316
325
295
344
255
338
353
329
283
313
321
321
337
284
334
400
318
398
333
333
348
355
320
318
348
309
422
317
238
354
355
345
355
383
401
305
345
386
347
346
301
372
338
312
245
399
283
326
352
360
337
277
311
340
300
353
363
252
263
341
332
260
281
248
413
262
378
398
303
352
239
278
318
419
320
339
328
256
298
244
329
247
250
281
298
309
318
316
252
320
336
328
332
262
317
252
325
192
306
325
353
395
294
292
233
292
299
309
286
227
288
268
333
285
275
294
372
309
305
403
284
271
389
312
306
261
180
287
314
373
343
306
238
296
291
323
357
294
259
312
344
330
298
355
396
317
374
339
336
292
359
303
338
381
264
245
312
284
326
312
290
347
341
333
256
358
329
412
286
385
376
284
312
338
257
395
313
308
369
317
306
313
262
343
384
363
306
196
255
369
329
324
340
392
327
329
328
301
346
339
340
320
332
293
247
268
314
283
367
336
213
294
353
308
298
239
298
306
323
347
317
312
311
352
306
314
378
321
339
356
374
288
346
347
313
266
299
264
335
392
294
337
271
348
229
304
336
316
233
309
393
371
282
376
337
336
386
351
360
289
310
286
238
337
270
276
240
315
333
277
242
318
335
276
353
388
314
224
240
276
361
316
283
353
354
448
324
270
375
294
255
269
290
294
361
339
247
341
313
273
366
327
266
380
351
297
315
307
293
320
368
249
346
327
218
344
316
338
271
329
408
289
341
255
257
354
332
262
305
357
283
356
286
372
320
242
363
349
308
219
328
359
284
316
388
323
303
184
307
417
263
310
311
319
356
362
350
286
333
347
331
418
347
351
335
313
312
313
262
241
304
297
304
272
358
313
292
370
273
334
252
243
268
282
416
318
314
332
261
237
308
322
360
265
325
256
398
248
361
449
377
271
314
275
387
318
271
330
335
244
296
308
289
315
256
406
332
273
293
316
251
229
311
315
324
335
308
223
319
314
336
372
328
309
270
230
315
250
381
350
347
328
232
318
324
345
280
212
266
355
315
354
256
291
340
264
286
313
289
344
352
340
357
278
318
283
383
292
310
364
203
316
303
323
378
345
311
318
334
391
351
274
297
297
300
353
287
410
392
262
352
403
285
326
238
358
359
218
286
436
307
279
258
314
261
344
357
264
349
332
352
241
372
313
318
340
329
348
309
356
291
298
277
368
358
360
217
322
326
378
372
275
288
403
280
320
299
333
294
289
324
318
275
290
270
294
212
279
194
381
374
336
245
318
325
259
259
383
174
366
337
348
288
361
347
380
280
337
301
362
276
322
302
358
276
339
211
326
386
304
342
341
388
336
314
314
323
316
356
355
371
301
351
395
359
311
299
274
327
330
314
297
300
314
313
286
425
253
310
336
359
280
333
441
322
294
291
286
301
303
253
303
266
274
309
278
310
364
374
332
262
339
275
385
272
325
254
322
356
338
301
328
389
361
344
294
267
328
254
320
351
360
312
334
347
254
302
277
351
338
288
340
382
330
259
260
336
328
282
274
271
386
358
375
375
407
269
293
335
230
350
306
403
264
258
286
337
227
272
318
329
332
289
347
357
312
365
342
299
213
407
310
371
298
249
379
262
353
341
273
403
278
345
351
275
334
300
344
269
357
308
298
294
330
359
265
433
322
261
254
307
283
304
281
351
368
290
363
368
302
353
290
296
301
276
223
375
253
315
294
250
198
333
316
336
384
257
290
364
249
326
352
320
380
260
385
348
188
367
257
251
357
269
311
280
333
330
333
299
318
268
330
225
332
329
358
294
368
339
373
308
298
309
353
199
314
290
330
323
286
359
353
300
264
329
336
244
346
386
389
290
305
282
290
247
362
340
365
301
300
363
377
313
366
353
364
280
295
257
341
285
310
359
229
349
311
362
316
321
336
363
258
265
335
341
272
255
406
316
260
329
379
367
316
328
324
263
302
313
334
408
319
443
273
301
269
229
313
312
356
333
284
289
317
304
344
282
392
374
195
324
338
256
370
331
339
314
313
341
354
335
392
242
328
267
374
318
300
355
214
332
353
371
322
273
304
366
309
349
385
389
326
368
336
335
330
272
322
268
386
328
397
310
341
315
343
299
324
358
349
304
305
255
293
297
319
353
308
304
322
340
260
330
209
259
324
279
405
384
335
350
345
352
352
272
334
308
306
268
353
343
220
387
360
332
284
331
362
315
338
287
321
301
319
331
249
373
296
252
318
324
194
355
254
355
332
286
251
338
391
333
281
361
340
323
355
216
272
345
278
313
249
302
344
342
249
357
300
341
283
308
288
278
304
307
281
299
357
304
291
308
341
272
258
293
333
338
345
282
306
316
308
320
308
367
330
358
313
292
383
287
323
302
310
253
281
310
303
291
353
380
255
309
294
330
295
230
341
260
340
315
271
314
434
290
314
361
349
354
355
361
341
287
365
340
308
313
332
360
332
246
348
369
383
359
265
273
359
302
228
297
342
349
336
271
288
285
319
285
416
222
324
296
248
272
308
315
266
385
295
412
319
326
367
269
262
322
213
299
318
316
330
336
350
283
314
305
316
248
308
307
282
334
326
294
375
325
237
349
283
352
275
289
282
315
389
271
359
359
219
327
321
288
371
327
328
276
220
305
334
338
223
314
385
358
337
328
273
261
336
314
260
247
257
318
250
365
405
335
294
331
269
309
321
353
283
268
304
300
333
341
347
391
287
382
285
374
383
344
370
256
351
376
405
333
368
301
326
398
250
335
394
300
340
413
327
335
364
354
352
292
249
308
249
271
323
308
361
354
397
313
305
229
290
298
333
331
353
316
326
299
273
278
293
395
294
257
252
350
306
367
380
262
335
318
379
203
372
374
356
317
312
295
295
315
272
347
287
237
379
348
273
367
359
279
331
317
216
326
324
275
220
332
326
382
370
368
393
374
262
364
285
265
245
242
297
358
296
287
372
251
280
291
336
257
317
384
308
356
315
322
387
336
285
313
283
351
338
272
326
302
284
375
319
293
344
357
410
280
294
394
347
334
360
312
239
352
311
341
335
262
379
314
250
356
293
274
300
390
312
311
218
266
273
299
246
263
224
376
276
395
245
348
314
414
346
275
275
304
319
305
243
253
330
271
398
317
296
385
286
304
349
275
296
351
340
321
222
220
348
312
342
342
294
375
363
312
392
276
245
296
331
232
307
387
273
344
364
319
455
332
334
271
321
272
330
308
331
263
312
269
320
340
300
288
321
287
321
320
285
280
305
339
363
282
333
347
246
400
355
365
327
311
329
269
270
301
375
320
272
304
269
234
351
265
294
356
352
394
347
262
295
325
282
347
199
298
333
340
270
364
239
274
348
291
307
303
341
371
321
300
302
281
362
282
276
264
326
298
289
270
315
262
333
305
295
304
354
294
384
422
334
266
210
287
307
323
298
352
346
383
384
297
442
336
272
355
306
289
362
343
251
284
355
361
210
386
316
327
329
366
305
266
336
291
244
395
319
343
359
262
293
289
271
335
281
312
331
308
313
354
289
340
316
302
264
295
327
327
365
301
293
305
351
397
318
348
402
399
244
281
357
355
286
373
343
311
306
373
362
295
302
260
311
317
324
301
221
393
262
337
353
251
334
315
388
404
277
321
334
326
338
325
245
209
321
330
324
348
303
348
242
248
345
358
329
361
460
349
332
375
325
377
355
316
405
360
339
259
264
332
307
353
220
344
344
316
383
222
234
317
347
372
287
322
332
307
374
303
335
299
330
269
261
317
326
290
324
228
323
318
287
305
366
369
213
291
332
336
325
353
291
299
273
416
338
261
274
377
329
301
293
282
302
324
378
344
298
307
290
259
310
186
356
231
369
310
353
369
324
353
325
323
319
344
282
301
329
291
256
308
328
326
358
245
304
408
337
330
334
361
348
335
216
303
328
312
341
362
390
339
333
355
326
397
373
322
308
227
390
256
348
390
287
256
369
312
209
314
278
333
365
327
315
307
302
408
232
292
323
336
320
340
343
323
328
331
303
258
329
304
304
353
296
369
332
334
302
326
308
366
386
353
367
380
334
397
343
287
294
285
359
294
329
313
335
200
350
243
321
319
282
308
294
290
400
273
298
319
352
276
321
383
308
345
346
327
251
265
213
339
339
296
263
318
327
360
280
221
347
272
306
369
355
351
329
327
306
357
285
368
367
287
266
313
290
397
311
324
311
319
293
302
304
326
319
371
315
348
315
326
299
297
403
367
266
334
344
333
324
332
327
237
340
334
341
317
306
277
324
327
266
344
337
354
367
348
307
317
244
284
374
323
382
304
307
296
350
239
315
369
280
301
263
300
321
244
334
329
272
314
296
264
382
309
300
305
313
322
339
360
228
352
260
288
301
294
309
324
317
385
255
398
304
324
310
263
325
404
435
327
324
325
239
284
406
398
288
291
279
298
346
334
390
300
231
352
315
332
253
295
309
326
373
293
383
324
277
327
395
240
290
368
287
269
320
367
280
374
331
287
253
309
284
286
340
329
321
326
279
358
341
285
396
237
296
294
388
369
381
331
301
287
279
258
357
314
288
365
276
302
356
340
210
313
292
320
271
328
316
365
293
320
285
354
301
370
302
335
316
238
334
188
352
284
317
244
342
320
325
326
299
287
353
349
284
319
331
346
326
288
287
305
238
316
254
316
257
338
306
303
312
311
388
246
288
310
340
264
321
295
389
325
317
362
362
312
254
363
333
374
312
280
310
358
316
273
288
269
323
310
332
295
323
386
300
328
334
369
271
276
372
202
346
295
324
325
315
315
315
301
334
284
282
325
365
273
386
279
329
263
310
289
281
348
322
200
296
248
301
357
331
384
312
244
247
396
224
342
390
337
233
252
331
318
299
251
304
302
316
355
333
324
317
243
211
353
349
295
346
335
281
315
325
310
291
268
260
403
382
307
316
286
246
350
260
316
324
369
289
273
312
293
346
357
281
279
347
367
372
233
276
382
297
335
362
316
362
287
312
290
235
323
333
369
272
329
395
295
286
350
296
307
268
254
319
320
334
338
256
297
209
324
359
321
359
349
379
231
311
313
279
293
305
253
346
251
325
258
313
320
301
336
348
341
304
279
333
316
372
463
246
303
387
261
397
325
287
343
264
246
300
253
307
261
298
289
347
303
263
272
250
353
346
347
294
385
276
334
279
262
342
415
341
217
302
364
321
278
301
276
385
316
334
353
310
369
299
279
331
300
355
263
282
365
289
345
279
291
352
301
276
375
449
346
253
319
340
353
310
384
347
353
294
289
342
294
200
355
248
327
356
210
312
346
345
325
318
341
249
410
333
305
347
335
393
273
293
277
310
215
276
345
295
245
351
301
353
210
282
340
338
349
366
272
346
343
289
322
323
337
392
331
337
379
261
197
311
289
304
296
303
280
319
386
310
297
257
260
311
274
328
310
366
327
293
249
342
347
319
264
326
264
320
262
249
248
300
295
261
355
331
278
247
270
262
331
352
394
325
306
361
364
324
319
359
226
357
254
300
267
309
250
267
280
288
233
284
348
330
258
279
302
322
296
320
246
323
329
317
291
372
302
320
333
286
293
320
345
313
255
286
328
282
326
321
334
364
235
306
273
324
223
363
373
265
334
392
270
367
297
318
337
400
333
295
292
337
305
305
272
248
295
267
409
330
329
327
200
372
350
292
299
351
350
333
256
316
294
317
335
232
337
344
338
337
322
386
314
307
377
319
323
423
334
350
326
207
322
323
327
278
303
241
317
243
289
349
253
363
224
270
268
371
331
379
333
328
361
360
259
311
292
328
384
335
284
248
218
309
367
244
305
301
332
275
352
348
363
296
274
304
390
227
321
325
305
339
378
297
381
258
324
288
323
354
267
231
380
377
257
334
340
310
351
322
290
281
360
274
330
243
302
356
210
337
294
327
309
247
376
240
314
342
364
371
288
334
279
266
393
319
299
335
334
326
356
339
291
351
293
371
323
318
252
345
306
232
406
379
261
339
284
325
265
282
303
343
343
311
347
296
328
362
381
216
295
368
389
280
355
235
300
405
293
322
383
344
307
198
320
297
293
262
347
385
294
383
290
269
336
328
359
304
314
287
346
382
357
283
320
287
288
272
323
260
300
245
303
363
320
346
387
373
332
292
287
308
332
244
410
322
302
286
271
314
343
294
312
313
248
299
294
327
324
345
259
334
329
306
366
253
341
217
319
312
307
298
298
322
367
328
338
271
247
331
327
340
289
293
292
264
317
381
401
213
229
306
366
324
351
346
313
228
263
393
376
327
324
285
332
316
285
325
277
321
293
345
316
259
368
246
421
385
302
337
341
293
288
340
244
267
281
343
444
313
258
253
336
391
307
325
399
312
291
416
263
309
334
383
368
317
355
329
302
265
271
336
268
331
373
290
310
307
326
355
327
413
243
313
240
260
258
216
347
360
342
237
281
347
301
391
259
284
278
305
248
284
373
334
296
359
270
259
311
256
340
265
334
337
295
209
358
289
344
273
348
265
363
265
300
278
241
279
296
384
349
340
378
300
344
272
289
346
310
287
371
399
340
306
341
347
367
350
313
320
215
335
229
331
287
284
326
279
371
349
327
318
271
327
219
303
313
307
268
356
312
348
336
332
277
356
285
355
259
294
325
301
304
346
250
345
304
307
374
323
331
307
349
337
342
358
259
325
263
356
309
274
306
231
283
353
298
244
311
182
328
416
273
297
221
371
276
370
357
402
360
332
331
298
297
300
380
311
338
289
345
271
426
246
343
299
363
304
378
294
281
332
324
312
273
339
385
323
276
322
331
315
369
317
240
348
237
290
269
425
336
326
310
309
317
291
254
367
341
327
336
394
290
349
308
351
321
277
346
301
342
361
327
294
330
298
276
294
332
338
304
349
343
302
300
340
328
378
357
276
224
271
313
289
274
477
344
337
291
334
281
304
341
302
210
350
242
306
290
236
271
363
270
233
251
405
309
343
339
325
269
343
342
344
358
335
366
332
302
379
292
340
283
256
342
342
191
276
309
359
326
406
307
295
328
229
277
278
270
377
325
332
394
330
298
344
335
300
236
320
254
366
270
389
291
253
284
353
286
369
282
270
237
276
282
318
338
275
355
337
289
272
344
319
291
334
382
346
327
284
272
318
226
293
236
259
274
387
324
261
297
311
355
321
270
277
346
289
339
313
285
421
307
385
374
411
323
346
314
350
344
310
422
315
265
402
301
424
291
341
251
292
339
307
238
396
382
360
453
210
271
412
352
290
319
297
383
284
286
379
353
288
370
212
213
299
393
315
305
326
381
337
306
347
344
247
331
292
346
317
310
391
310
283
283
382
333
317
294
354
332
318
327
335
314
353
344
291
316
311
293
323
304
333
250
341
390
262
350
301
261
331
315
366
314
343
337
356
281
309
258
320
262
335
368
296
311
299
360
378
408
374
300
335
232
316
318
294
335
269
294
303
304
278
366
307
329
303
317
240
379
335
299
360
275
328
270
275
347
348
317
269
310
255
315
370
329
301
290
373
378
271
307
329
409
303
337
325
339
296
300
358
330
280
309
356
331
315
238
298
353
393
296
327
336
352
343
289
371
280
379
378
436
339
336
291
269
253
292
256
340
299
306
335
317
276
295
267
368
378
310
289
385
257
292
338
262
273
287
309
207
307
315
295
338
380
350
338
246
254
358
357
313
254
319
251
305
332
269
285
331
393
269
322
339
346
260
325
268
294
310
326
380
336
264
280
307
306
298
250
305
335
314
240
317
259
355
355
285
316
277
321
307
321
262
295
260
237
370
266
290
360
326
275
290
361
287
345
365
269
312
287
327
192
329
275
301
300
385
349
327
356
327
334
378
303
316
292
329
274
365
398
323
381
335
348
298
304
374
269
289
273
393
308
343
319
294
320
395
373
293
319
350
273
338
285
316
325
365
291
312
352
243
279
241
229
306
307
414
363
319
329
254
265
196
274
198
324
307
336
287
313
319
219
353
368
270
361
396
329
220
334
278
365
353
323
284
287
343
215
363
374
314
322
277
302
389
336
341
318
356
292
323
313
314
315
271
272
285
267
245
255
341
290
318
298
301
323
346
273
280
334
265
314
375
215
305
352
319
272
297
286
334
337
245
315
275
354
321
356
304
286
275
314
295
330
344
397
342
300
329
340
336
297
298
391
245
359
310
311
332
277
270
322
317
351
298
274
388
340
297
265
297
352
309
288
336
342
306
257
253
305
346
294
360
311
346
251
285
349
375
223
252
247
290
236
289
366
331
328
289
337
299
341
321
346
305
292
303
320
273
303
257
367
313
293
349
293
299
281
339
267
242
345
283
306
344
287
357
328
329
306
274
337
326
361
410
330
339
379
296
315
320
334
312
248
329
333
345
368
288
306
177
256
326
412
345
265
272
232
271
395
258
329
338
350
256
395
315
314
288
314
356
375
303
293
281
311
393
255
356
250
371
269
297
384
250
327
361
340
299
322
334
312
270
354
361
298
374
229
339
284
299
273
321
332
330
271
244
317
352
213
353
292
363
320
383
324
271
348
241
353
330
387
331
312
300
328
363
271
366
267
335
392
327
306
362
321
304
279
396
355
329
331
339
288
209
294
326
296
290
319
315
361
356
244
261
294
213
357
326
373
325
320
233
353
370
395
271
311
346
339
252
338
332
325
331
373
429
270
347
359
296
282
286
304
351
378
348
226
270
376
306
252
327
260
357
350
304
286
318
338
299
327
333
375
266
349
324
259
374
367
343
326
316
250
315
303
283
379
299
262
342
306
345
336
242
267
337
418
253
339
348
253
308
316
361
329
328
375
339
287
282
372
372
311
289
247
260
312
292
341
262
296
313
240
352
356
249
275
337
382
313
380
266
314
225
290
269
332
285
295
323
364
386
295
267
263
354
373
355
262
284
310
306
244
379
362
362
324
282
318
262
322
315
315
291
212
268
402
331
300
229
359
434
278
222
331
276
322
323
346
374
409
386
301
295
242
334
276
342
291
312
330
286
385
280
294
278
327
276
360
366
327
289
253
302
330
384
273
330
329
332
261
345
245
336
263
388
296
358
307
331
389
278
269
325
329
332
284
340
292
323
361
318
304
355
229
406
285
392
339
344
311
295
293
321
329
283
325
249
319
374
370
326
291
352
266
304
258
351
315
288
365
300
322
348
200
226
342
299
280
356
334
305
288
399
344
365
405
264
397
310
328
259
343
302
382
360
329
293
230
333
364
335
295
291
349
347
269
403
313
290
247
277
358
205
339
338
301
261
341
316
297
342
365
305
275
322
341
306
277
304
341
262
313
261
277
281
243
258
366
375
310
305
313
356
304
288
313
264
357
325
222
244
357
341
344
323
352
326
257
283
314
386
316
268
269
348
316
278
314
252
300
346
353
342
306
292
347
321
273
293
319
297
266
331
333
313
249
266
347
315
368
368
333
257
356
351
273
287
318
327
266
312
377
282
294
335
380
281
333
360
333
346
353
274
347
308
246
316
273
366
349
284
330
301
256
248
352
371
263
382
369
388
263
334
251
317
282
366
325
331
329
293
294
352
283
343
286
251
354
353
272
290
243
305
342
356
277
333
271
321
341
368
262
321
241
310
385
267
326
322
278
362
339
348
364
326
378
301
189
332
337
355
272
267
307
383
280
342
283
268
404
316
265
323
351
373
285
270
231
271
326
324
311
332
298
357
276
388
281
363
291
266
276
306
290
285
312
266
308
229
355
316
394
330
381
356
324
274
351
277
426
314
385
332
363
193
321
282
312
335
254
284
299
338
327
344
266
279
340
333
328
361
322
273
332
304
325
312
370
370
380
367
280
299
374
262
335
338
327
319
316
383
340
334
346
316
302
282
298
356
376
284
224
371
370
404
395
221
316
264
325
308
305
311
309
295
316
340
280
304
349
303
309
263
321
338
324
327
253
392
314
301
318
307
331
284
324
298
258
307
277
327
220
315
310
368
323
377
334
260
320
251
397
298
332
331
232
357
310
328
310
355
290
335
341
360
279
297
323
291
390
393
293
266
352
267
293
319
393
327
275
386
275
274
301
339
372
242
396
347
308
331
328
288
440
323
291
311
280
261
320
324
255
317
310
340
287
325
343
288
263
345
309
285
277
325
289
358
300
282
290
339
419
342
355
289
229
338
266
272
309
283
316
278
325
364
340
352
303
338
303
349
261
242
325
334
351
349
272
344
284
360
420
273
202
302
293
323
296
263
327
329
264
331
263
294
328
276
346
240
323
297
295
345
309
307
417
325
342
372
300
270
331
343
367
280
326
251
309
215
363
353
280
385
366
323
302
260
265
336
410
232
384
322
243
279
223
347
356
326
423
290
307
335
233
327
349
298
374
382
333
313
334
316
304
315
314
303
403
339
296
319
276
387
444
335
342
393
283
350
340
346
306
249
313
341
314
299
324
385
349
375
316
270
347
319
269
253
360
310
268
271
277
158
254
374
295
336
268
304
325
307
347
264
337
272
326
362
305
311
268
263
347
354
353
255
350
335
402
242
312
309
285
412
337
324
345
306
403
330
288
354
305
389
307
268
349
302
363
299
286
281
363
327
332
310
324
301
244
283
246
330
351
360
346
341
302
253
229
239
349
362
328
306
297
316
301
357
332
311
378
280
364
375
313
245
369
236
367
284
324
186
384
295
272
224
303
359
343
292
304
282
401
275
280
344
351
381
285
367
322
282
331
275
373
327
350
381
273
286
273
282
271
403
415
297
327
335
288
258
304
308
324
259
238
281
313
296
321
285
338
340
289
366
275
334
327
376
408
380
204
261
213
306
355
282
261
306
317
360
274
349
322
294
260
284
342
310
357
245
391
280
404
329
262
334
309
312
336
321
276
309
404
295
262
241
256
341
293
213
299
356
367
361
268
366
291
318
398
358
287
301
324
252
294
294
357
284
278
371
236
245
266
249
352
308
305
386
255
328
279
376
339
325
301
263
373
297
251
217
375
327
286
240
370
267
278
362
368
344
315
287
425
249
334
414
289
306
304
333
303
299
244
246
281
284
299
332
307
312
297
340
335
361
371
280
286
323
263
318
322
274
271
268
250
275
234
350
313
327
389
272
289
285
408
344
359
292
333
343
378
338
272
364
312
254
350
245
285
254
263
379
347
245
405
284
413
419
257
355
290
363
267
266
290
369
254
292
348
324
257
323
364
338
286
376
221
356
377
337
402
397
318
263
349
365
295
339
326
235
285
279
375
322
321
310
367
212
259
373
310
343
360
258
295
411
255
384
292
303
309
296
349
280
291
333
371
305
244
267
309
280
288
326
274
279
317
344
318
409
290
375
348
341
321
338
344
341
351
322
324
293
346
317
327
418
333
241
329
309
290
357
253
259
239
377
332
299
302
359
333
359
207
283
299
322
284
406
325
335
365
284
293
272
306
305
347
408
229
310
277
288
297
320
322
281
304
369
276
340
327
336
369
400
338
321
262
256
311
283
298
349
346
277
254
256
263
383
280
334
266
317
348
310
313
272
363
285
253
282
291
291
252
267
306
288
383
270
243
355
338
336
337
337
390
377
393
351
312
252
333
323
307
369
246
320
322
368
330
395
334
298
349
368
326
349
381
322
287
318
316
333
313
314
267
409
308
288
316
306
341
285
335
326
339
277
349
353
263
285
345
290
308
286
330
369
306
190
265
251
255
288
293
302
345
286
345
280
272
291
369
327
267
351
385
345
316
297
310
371
281
231
263
319
334
250
308
318
287
237
317
350
353
322
365
409
272
363
351
410
261
437
297
371
349
296
363
313
295
327
407
353
305
308
344
327
314
336
350
348
302
240
351
332
348
320
271
310
292
281
272
283
366
352
427
318
335
368
247
305
324
350
316
389
326
370
225
290
311
274
402
285
321
327
279
315
319
259
310
313
317
398
296
300
248
343
311
270
325
343
283
311
297
329
368
348
272
354
314
335
373
380
310
253
347
350
294
360
284
253
322
372
338
253
255
279
282
305
250
316
388
338
254
235
346
319
325
289
358
248
385
350
242
329
310
336
299
312
325
343
266
304
296
333
365
374
316
372
353
295
351
256
381
290
331
309
277
341
305
312
326
291
303
332
305
321
395
284
335
415
220
405
387
346
279
344
297
352
323
371
270
331
359
277
389
337
319
300
340
335
346
429
335
275
321
347
323
389
353
300
247
314
289
377
365
316
360
262
354
349
258
295
328
333
340
292
251
312
263
289
302
276
297
288
302
309
337
365
351
307
317
265
290
368
305
272
304
309
352
292
392
314
371
310
310
313
314
360
337
355
354
285
340
256
398
342
317
300
321
300
368
326
308
346
347
288
385
314
389
332
274
372
347
365
387
327
306
284
340
288
354
334
295
330
296
231
214
345
271
333
317
381
380
249
202
292
251
313
317
324
368
294
259
330
347
346
312
363
341
364
302
368
287
271
343
314
328
289
337
359
361
380
327
328
236
283
377
341
317
344
354
249
366
324
390
333
305
313
358
315
252
317
308
319
326
287
290
349
324
314
344
267
324
261
309
371
186
296
278
292
323
323
352
369
346
389
312
336
295
351
274
288
377
350
360
198
228
316
305
353
335
316
363
299
335
370
356
302
332
452
334
317
285
304
317
292
295
340
344
335
310
367
344
308
348
282
394
366
392
347
312
241
215
338
293
372
309
258
296
371
246
354
274
345
242
280
321
318
281
412
339
294
279
381
359
246
379
282
373
213
181
397
277
270
385
345
347
260
340
230
354
246
293
466
310
317
289
325
305
309
287
279
287
233
310
302
332
387
379
279
269
282
300
287
335
309
368
334
281
260
290
361
381
280
338
381
386
348
364
373
308
318
373
381
352
333
285
352
439
354
323
314
304
353
293
339
379
371
345
363
281
324
317
344
340
368
351
330
397
388
305
291
314
311
311
285
374
331
339
286
239
235
254
318
354
331
331
308
296
316
380
419
324
388
390
371
306
319
264
360
286
329
284
316
375
300
224
384
326
327
313
364
245
383
239
315
283
297
323
325
347
355
368
309
398
288
249
297
305
309
384
339
284
231
346
270
333
253
301
263
320
281
260
302
342
294
332
317
185
282
310
298
321
383
301
320
295
333
347
325
256
285
310
354
320
302
295
378
328
293
272
353
280
308
341
302
328
283
267
345
304
265
327
329
391
280
340
369
280
326
311
329
351
338
311
251
310
324
215
287
334
288
296
350
383
359
246
256
314
387
398
417
249
306
362
308
339
321
292
297
296
243
336
292
354
220
266
275
279
231
320
290
332
304
321
304
284
282
295
305
209
241
248
295
394
350
358
331
323
264
302
296
390
255
348
320
332
268
322
328
263
364
365
406
291
217
378
311
363
401
313
324
300
233
347
325
280
310
325
327
359
338
378
384
275
396
282
267
287
248
367
322
351
248
252
320
301
279
319
313
331
348
319
284
315
354
349
320
248
319
321
291
379
313
277
329
336
273
286
319
300
292
312
244
291
347
347
375
374
294
338
365
280
359
282
317
284
345
352
358
253
266
369
300
266
322
342
324
345
345
346
376
333
210
202
419
343
271
337
277
319
273
353
242
265
338
314
311
314
273
299
294
241
252
305
236
362
305
321
301
345
290
242
427
348
317
326
297
317
280
253
327
355
343
288
270
281
303
414
358
303
269
311
358
219
282
284
325
313
340
345
276
288
340
326
371
335
360
317
419
324
234
363
299
326
386
244
289
287
345
276
337
273
250
290
284
401
273
345
326
296
364
283
372
391
281
268
323
355
345
281
256
287
325
348
264
285
381
323
326
278
384
241
306
311
266
262
311
369
291
370
300
320
362
251
284
421
334
280
345
353
312
353
307
384
341
386
348
371
338
353
373
371
315
268
302
376
329
324
301
330
299
305
324
309
276
314
280
302
309
320
376
360
329
351
348
390
270
344
246
329
272
205
330
285
389
347
395
343
342
340
286
308
273
295
327
171
320
357
316
307
319
233
374
264
347
348
389
287
339
276
259
290
385
325
360
310
378
368
223
313
335
337
324
262
287
357
309
303
272
304
307
353
308
323
271
263
381
281
243
355
340
328
213
307
343
395
290
334
237
285
278
386
322
313
356
271
360
217
336
306
298
284
284
279
269
275
352
356
358
354
333
371
284
265
389
339
352
297
347
400
326
321
297
387
257
299
391
334
326
387
313
282
256
293
357
292
330
257
314
290
292
301
349
307
282
261
329
397
332
296
361
326
312
358
332
401
359
267
355
351
254
347
382
217
384
295
324
401
358
280
299
306
325
305
263
287
314
311
306
338
290
302
333
313
384
309
354
301
330
326
317
304
303
307
259
310
393
319
340
295
295
300
302
381
363
309
330
288
403
350
414
294
231
287
306
314
276
378
330
359
328
295
368
304
274
312
344
336
285
214
326
297
310
318
284
314
318
317
423
329
321
313
231
375
264
309
367
277
255
329
277
266
324
364
265
350
393
309
293
287
371
333
268
264
338
337
256
307
350
393
345
311
270
290
292
332
311
319
357
390
392
264
272
270
301
347
362
358
317
271
241
272
282
331
277
297
347
352
380
349
341
264
281
306
359
251
303
372
338
300
283
385
266
230
253
307
302
328
274
295
301
217
326
374
284
247
404
318
372
281
326
253
241
260
295
372
396
349
356
285
358
272
374
293
256
262
286
295
325
336
200
314
310
354
304
290
309
337
353
333
293
304
387
268
302
315
316
294
259
249
291
310
393
307
347
288
324
337
341
391
329
250
370
330
254
271
335
313
289
317
392
304
329
305
333
317
303
300
268
385
256
302
299
289
378
379
273
344
221
252
292
312
286
326
369
298
267
351
300
299
311
260
317
294
361
332
312
432
322
258
285
280
320
391
251
284
304
320
368
254
305
355
312
273
316
296
386
323
275
356
296
274
338
394
255
317
298
300
361
357
270
381
343
308
297
258
345
264
294
272
400
296
304
246
339
292
365
300
295
320
356
350
341
325
276
262
360
282
309
370
319
270
321
300
316
323
353
307
370
290
306
238
352
320
298
315
342
307
373
311
294
200
351
341
375
426
338
369
293
283
259
268
304
346
333
285
337
271
349
269
261
331
333
292
309
361
319
310
383
314
315
419
308
327
379
374
209
285
312
318
306
390
316
333
312
377
300
325
392
373
302
304
250
346
348
343
329
351
315
322
302
324
309
357
331
377
355
287
237
377
320
291
301
363
337
319
314
300
344
252
314
292
323
285
264
333
333
314
344
268
348
341
299
298
276
233
255
355
247
315
318
354
320
356
366
346
347
359
303
400
291
259
326
299
283
309
335
358
327
249
322
351
354
332
316
275
325
313
342
331
320
359
386
288
321
396
297
309
367
349
300
304
265
328
305
331
260
294
343
329
361
335
347
357
234
337
263
303
327
352
369
330
436
296
325
342
332
322
383
331
289
266
292
306
262
372
327
307
430
305
302
302
292
277
349
346
340
319
334
347
288
325
351
279
315
280
253
334
199
375
285
359
326
336
313
273
372
353
267
341
310
270
311
356
293
292
267
319
314
382
294
369
322
260
221
358
231
375
301
309
399
332
286
307
268
390
296
349
330
350
305
432
233
226
274
306
292
375
343
329
375
349
293
321
268
298
308
359
400
281
283
317
270
299
313
313
301
295
320
235
286
361
298
284
292
308
288
325
225
333
261
358
403
292
316
387
232
358
300
302
264
251
310
293
335
331
329
311
360
283
332
322
362
408
365
336
330
310
276
279
352
263
318
368
338
328
336
321
283
271
306
371
212
382
371
242
231
329
350
302
319
388
343
294
260
270
262
329
335
260
343
296
310
359
395
337
314
297
364
333
253
299
271
338
294
298
297
356
327
325
319
308
320
361
249
319
352
322
334
332
341
324
391
374
281
388
254
377
312
316
281
310
388
289
332
299
329
357
279
295
287
279
328
277
253
283
295
302
297
275
349
382
323
282
308
269
357
277
304
382
306
352
311
334
302
338
231
317
281
241
353
282
288
256
414
343
282
318
373
302
346
295
248
360
339
327
371
239
286
283
338
275
322
304
323
331
217
335
351
321
294
309
305
302
334
375
366
334
345
301
326
192
262
380
334
330
316
337
357
309
384
299
280
315
250
323
200
346
312
330
303
237
279
348
389
264
326
354
393
332
362
316
274
246
346
317
269
396
336
264
347
179
316
310
312
365
297
338
351
312
337
274
350
297
336
337
397
333
284
358
327
250
366
345
271
353
307
290
320
301
390
360
269
268
326
373
345
325
306
285
321
309
290
307
272
294
306
319
261
270
357
347
292
301
352
264
375
284
328
385
314
328
339
329
429
303
271
252
330
345
346
322
397
365
351
263
282
352
345
260
353
312
299
363
350
266
290
251
340
294
247
396
284
372
259
334
326
294
317
307
348
330
378
347
274
382
242
318
310
332
308
404
130
260
324
345
343
339
339
377
335
355
378
381
368
332
298
321
296
286
252
375
345
246
337
299
278
339
302
346
308
262
381
369
355
296
369
368
325
271
311
247
336
386
340
252
283
247
427
360
369
297
290
334
297
351
384
337
315
260
343
322
288
328
352
305
356
321
331
248
402
309
313
377
285
344
271
272
311
356
266
280
354
347
340
326
298
336
310
366
316
317
305
245
276
343
260
310
272
222
312
379
248
318
295
391
296
366
295
299
293
337
308
331
356
363
331
347
348
347
353
313
325
327
342
279
271
315
343
308
376
389
290
209
327
236
358
310
262
360
366
356
435
266
316
390
426
376
277
272
310
293
226
348
312
306
431
374
380
316
267
333
351
354
312
371
365
402
313
271
323
312
255
317
305
361
384
234
395
227
360
236
400
293
352
323
350
327
236
330
298
341
309
317
369
285
248
365
352
365
344
305
284
350
292
342
378
331
276
373
205
311
273
376
288
251
272
366
335
274
387
285
241
200
238
328
285
396
276
406
293
279
252
329
344
233
369
370
354
353
312
320
333
254
295
323
392
419
306
301
314
283
318
246
339
316
315
297
216
257
274
314
362
345
357
328
212
424
352
342
287
358
328
277
308
366
304
285
430
307
380
303
268
330
317
342
387
312
337
294
327
325
225
351
329
353
255
304
307
297
333
257
253
265
320
334
320
335
332
392
407
348
239
252
335
272
282
336
339
221
332
333
289
301
320
305
292
402
257
330
318
364
290
366
323
354
298
159
313
278
289
342
329
253
385
368
369
382
373
310
255
321
310
290
320
252
297
274
316
438
266
311
294
259
334
317
334
274
346
347
276
312
294
346
255
338
334
294
293
324
284
285
326
258
299
340
357
330
313
318
377
286
294
289
327
316
308
353
265
347
330
317
273
345
201
262
388
195
311
344
306
307
281
228
303
310
265
250
250
266
304
335
351
327
321
308
254
345
306
340
279
337
351
372
396
307
325
284
321
288
316
340
344
330
337
381
331
269
332
341
336
334
344
306
332
369
370
382
246
288
367
314
228
354
273
329
369
354
351
282
312
366
218
256
303
312
290
317
301
292
352
280
334
279
347
351
308
285
254
259
298
263
284
267
433
302
267
348
304
322
287
251
287
360
361
280
287
292
398
324
277
350
356
255
309
300
326
349
302
360
296
272
347
350
232
373
280
276
319
334
271
443
226
322
320
383
371
380
272
351
365
294
295
316
398
251
282
257
274
316
324
305
367
303
336
286
348
352
303
257
278
309
357
320
274
311
318
244
362
314
329
264
346
283
348
310
316
289
348
329
258
340
219
344
210
292
353
342
353
237
289
287
353
289
327
259
329
315
315
334
392
270
278
341
309
374
303
328
349
324
390
360
289
275
440
328
312
341
312
283
335
291
339
374
344
314
334
276
261
316
290
327
338
208
390
319
291
331
290
367
298
298
308
339
244
408
291
363
388
322
299
261
248
387
323
269
352
361
293
341
367
307
293
318
341
276
295
304
388
374
294
333
301
352
245
338
272
253
329
324
321
381
297
258
313
253
312
372
307
282
397
339
340
326
257
357
371
333
227
340
326
342
319
355
338
346
251
243
355
298
299
343
311
340
294
338
284
354
301
357
372
354
271
196
347
274
333
265
301
292
284
336
330
283
283
325
322
337
317
369
332
365
267
274
309
314
302
258
311
301
327
275
367
324
281
290
309
223
269
369
321
308
322
260
338
301
371
396
337
341
359
310
294
337
287
368
386
403
385
283
353
438
344
365
356
281
293
326
374
347
308
360
425
252
292
324
308
257
286
318
319
323
362
333
319
310
285
310
357
281
223
302
328
283
322
233
383
330
372
309
284
349
312
362
284
341
265
373
361
319
319
309
374
376
314
251
327
383
435
346
320
269
325
296
322
377
341
310
281
341
375
355
372
289
226
309
354
261
331
269
269
300
336
312
304
321
385
344
300
339
347
273
235
312
384
272
402
289
365
339
283
298
305
267
221
352
332
284
234
335
252
307
382
350
355
340
374
261
302
333
291
339
353
278
344
349
393
292
259
346
354
294
308
266
369
309
355
341
293
303
364
292
380
267
258
256
381
288
261
282
324
293
371
247
233
340
354
296
332
448
276
347
270
272
367
255
302
288
254
323
200
315
358
302
337
368
251
337
302
282
379
303
271
341
322
226
252
352
310
274
349
271
273
306
397
370
326
327
273
349
304
341
357
312
349
318
281
238
279
342
268
294
336
357
371
209
371
353
277
336
350
331
294
274
364
305
315
270
346
264
306
303
294
274
301
231
283
277
298
384
375
309
314
270
288
259
332
256
308
266
359
238
388
195
338
292
339
342
310
357
417
310
381
339
336
307
329
367
350
355
333
375
376
257
290
236
319
351
258
283
417
299
384
338
274
281
330
286
298
364
353
308
268
301
344
256
326
289
326
271
348
273
329
367
320
344
395
326
239
367
294
435
346
290
318
278
321
317
367
285
327
301
307
372
339
377
379
304
343
222
326
360
325
308
278
320
295
353
323
296
302
355
321
299
284
315
266
253
345
284
291
363
295
358
318
216
269
332
310
371
382
320
432
257
270
287
419
254
331
272
346
330
396
300
330
288
287
366
322
330
397
325
345
308
399
303
324
327
250
265
297
287
307
283
347
381
314
279
270
300
296
316
309
405
352
282
291
315
369
354
399
291
355
316
299
235
325
255
355
312
339
428
349
353
240
317
325
334
323
353
298
332
310
323
353
272
278
300
304
298
371
251
385
245
365
403
307
269
318
292
312
321
353
346
344
330
310
359
396
318
314
288
338
369
379
268
316
369
288
266
264
366
378
268
321
264
391
382
378
316
284
351
354
342
264
340
278
386
229
345
262
309
349
344
337
305
325
182
333
284
207
233
231
276
351
380
327
369
309
253
391
262
385
317
336
302
310
274
261
358
292
233
288
302
269
344
274
332
310
325
258
293
348
328
335
397
383
322
378
275
363
286
339
337
332
276
402
240
375
289
360
337
251
320
373
249
313
274
248
281
327
209
372
286
312
346
313
318
283
236
334
307
361
386
280
304
286
293
333
199
337
330
275
386
257
343
234
286
300
336
318
343
329
316
388
273
288
298
362
304
299
275
321
307
360
378
324
314
285
355
340
426
345
306
341
286
323
325
286
252
315
274
284
331
313
256
289
267
301
363
315
314
247
241
356
367
349
259
323
349
340
229
304
191
370
284
275
318
286
298
287
355
320
346
276
362
323
324
336
302
362
257
338
331
332
281
283
336
296
335
280
341
272
302
387
361
231
341
287
331
270
344
336
300
311
311
301
388
265
301
301
366
338
347
352
296
382
301
339
391
339
358
302
339
402
386
292
339
330
325
303
321
363
314
370
325
319
327
357
277
298
353
316
289
271
372
264
374
266
280
331
301
325
354
238
292
311
284
293
291
347
332
256
286
332
244
386
283
254
287
271
350
296
319
339
377
338
266
332
297
271
308
278
294
317
282
345
277
299
293
320
387
258
347
332
284
343
276
346
342
297
277
260
351
283
274
366
345
238
259
293
271
267
370
312
280
306
375
355
330
195
302
275
298
315
330
278
307
265
376
346
299
269
291
271
329
338
268
231
349
284
333
331
276
376
361
310
307
255
282
288
370
328
313
324
343
319
311
285
217
248
303
364
310
318
286
342
296
308
390
249
247
263
290
356
265
295
378
298
215
246
291
288
308
287
268
337
391
276
318
271
325
344
319
276
321
287
307
370
318
279
362
280
370
283
342
310
247
283
327
345
403
213
291
306
318
366
328
363
381
341
359
307
247
336
295
321
331
308
271
348
313
332
404
239
325
304
345
292
268
291
303
312
245
281
316
402
347
284
243
293
282
368
288
284
198
412
200
301
347
225
290
326
371
358
301
283
351
266
348
274
246
369
345
341
283
292
309
246
388
305
310
336
311
310
337
320
400
395
286
334
366
297
361
341
353
291
276
379
196
314
347
266
304
263
390
308
269
287
341
302
290
394
384
313
252
343
281
381
371
280
372
334
351
310
427
309
227
286
301
238
358
353
372
316
334
266
389
354
309
347
309
272
235
344
309
390
272
267
261
291
315
279
312
355
310
319
344
348
238
330
292
310
295
330
280
292
296
375
305
331
278
307
275
318
273
262
332
301
269
345
264
329
352
316
295
292
255
305
266
245
312
299
293
353
319
271
329
297
253
280
368
287
353
314
335
343
289
372
317
268
343
285
272
330
329
346
371
339
298
352
346
326
312
319
299
251
226
250
271
291
259
365
300
295
299
347
401
325
354
349
323
323
354
321
341
324
345
304
351
304
344
374
274
294
349
261
296
347
253
287
252
277
396
354
372
368
310
258
332
319
330
314
336
405
354
297
360
250
273
272
302
340
346
346
306
320
266
333
299
309
234
359
260
284
333
289
261
339
201
320
357
278
324
259
273
332
287
355
225
303
361
321
321
323
324
189
357
333
303
393
213
325
310
365
299
263
281
361
294
332
259
281
363
353
287
299
331
309
256
312
344
288
323
366
332
336
369
365
295
275
409
354
331
310
335
373
325
327
271
260
312
319
402
313
287
326
333
298
289
249
292
320
332
323
290
264
350
306
335
257
429
333
304
292
360
329
341
337
321
355
295
370
332
315
290
272
213
340
348
283
275
304
254
278
327
245
368
303
379
314
304
301
284
358
380
340
310
315
325
373
324
284
338
284
283
296
272
331
351
357
344
292
331
264
325
307
394
337
296
333
196
307
337
339
234
335
347
340
365
368
312
399
406
319
302
306
344
361
336
265
354
375
319
320
279
347
283
336
383
352
249
363
303
246
244
301
348
270
251
352
230
402
242
337
263
303
317
295
307
356
302
383
332
319
397
207
373
298
312
238
368
344
398
289
316
313
373
354
282
334
281
329
248
327
296
325
311
339
303
372
360
266
352
440
356
346
334
332
362
379
261
356
270
359
271
279
311
281
295
283
379
331
284
388
382
330
342
291
251
345
376
348
192
309
346
383
353
371
409
330
270
278
223
327
350
252
313
311
357
295
338
320
300
281
314
300
340
315
325
330
348
317
284
240
301
359
261
283
311
296
285
339
331
319
274
326
309
306
288
261
339
346
305
368
250
288
333
343
321
313
380
440
363
411
391
288
288
351
375
348
280
260
339
408
377
230
343
311
299
391
359
296
336
293
359
335
329
268
319
319
265
272
278
274
353
263
331
320
342
267
360
326
286
267
291
341
238
409
324
320
380
387
315
318
374
281
326
256
330
326
286
251
354
266
251
341
308
361
220
379
269
251
251
292
269
319
354
326
366
285
345
344
345
267
281
286
304
362
317
275
298
333
315
361
314
288
399
286
366
331
299
314
395
284
350
317
283
306
343
280
282
392
371
281
338
281
365
323
374
381
239
376
366
328
375
363
299
243
315
280
278
368
378
274
340
335
366
258
399
298
346
366
303
336
262
183
316
312
326
310
340
261
287
312
305
363
257
363
298
374
327
285
317
281
302
191
292
294
459
321
271
273
295
303
346
344
316
302
331
389
335
283
367
272
353
312
301
348
299
329
338
307
328
341
284
264
235
256
277
337
310
295
315
244
325
266
337
403
328
360
311
306
358
289
324
320
341
358
223
337
335
300
220
311
295
341
349
373
325
333
276
367
365
310
325
208
370
326
292
255
346
286
343
319
306
292
295
326
304
353
366
263
360
356
420
444
311
307
221
281
271
277
357
203
342
260
229
332
305
249
284
366
326
256
293
320
331
243
290
356
256
268
357
318
380
345
380
303
302
343
426
324
292
299
304
305
331
247
364
365
286
291
228
248
286
331
220
391
382
238
262
301
356
321
231
427
356
357
337
266
230
317
342
307
335
270
286
358
354
378
363
318
325
366
220
350
289
272
334
277
280
280
304
280
363
274
369
348
291
338
401
426
372
288
290
330
284
261
263
314
299
343
258
352
346
308
367
303
321
326
334
373
305
313
407
297
384
318
278
305
371
339
294
320
336
322
256
262
347
306
272
267
427
304
328
312
331
355
332
313
336
209
282
293
283
278
315
323
383
287
231
376
350
318
361
271
384
263
282
342
255
345
302
340
385
295
324
344
270
360
362
322
278
276
252
249
350
268
355
333
302
334
306
261
251
256
331
291
328
263
331
331
263
317
280
306
278
332
335
293
237
297
287
332
393
283
268
294
208
241
361
325
374
306
244
281
354
226
284
255
343
311
302
319
260
280
354
289
344
247
306
296
261
288
358
250
371
392
307
268
279
312
408
302
311
343
358
302
258
321
303
295
370
302
305
293
381
310
370
294
310
272
296
299
329
295
344
281
344
343
217
299
263
320
368
387
230
310
356
288
234
325
313
239
271
417
437
230
251
281
266
371
392
250
268
270
411
336
309
337
271
360
226
291
368
380
418
319
316
338
280
319
334
256
258
285
332
359
330
291
352
305
295
340
221
388
414
356
323
306
273
366
301
304
366
325
390
290
299
345
330
272
315
293
303
365
215
283
268
251
352
376
257
335
402
348
297
369
372
341
297
351
344
237
378
387
327
283
251
240
306
341
361
350
272
288
274
274
314
281
325
374
377
374
264
336
263
333
324
335
370
284
270
274
370
254
322
339
403
332
322
315
298
278
368
333
311
261
279
311
276
272
283
359
309
277
296
323
319
359
329
301
311
297
393
325
323
416
250
321
301
330
374
273
292
261
250
309
367
350
254
282
326
299
306
277
223
298
256
329
296
305
287
300
296
240
308
381
273
314
342
338
359
414
240
276
342
388
257
305
418
276
274
380
271
276
321
281
290
255
363
368
266
282
376
250
378
305
322
249
267
299
282
341
377
334
358
317
293
355
392
333
285
237
248
348
335
354
303
325
322
328
365
364
275
345
318
388
289
321
334
428
359
276
289
229
402
296
305
350
369
269
282
329
292
253
313
282
366
329
336
349
327
281
322
286
265
352
339
339
325
379
290
368
295
386
276
327
289
361
348
276
293
344
318
283
286
360
283
296
298
240
240
288
345
308
354
308
350
323
307
270
355
337
310
311
349
318
302
325
294
293
312
331
305
333
281
326
344
307
334
329
357
297
226
317
382
297
265
316
225
391
307
312
291
333
207
316
363
257
295
261
330
271
288
309
228
220
256
320
303
347
285
356
348
374
271
322
277
392
303
341
362
255
343
269
332
405
307
287
317
362
372
325
312
331
301
253
253
253
335
296
285
331
403
234
231
315
315
324
367
328
313
357
366
296
374
335
242
347
381
291
347
383
240
360
294
348
334
318
360
312
296
267
390
346
323
322
404
278
305
290
271
382
294
383
278
330
368
304
344
295
318
216
261
360
306
355
315
384
352
340
375
349
348
362
292
325
278
255
283
359
276
259
330
300
230
275
305
352
283
318
245
302
265
272
258
308
230
284
332
278
321
288
357
313
293
253
349
304
340
346
253
329
331
340
299
324
307
296
359
371
335
319
248
243
237
341
285
343
307
257
299
387
309
321
331
314
289
333
298
237
297
334
336
318
347
299
243
339
312
356
265
286
334
244
247
237
293
300
280
399
296
364
351
364
322
283
369
323
292
285
404
297
338
298
371
329
310
298
334
274
338
358
309
327
336
367
335
362
311
378
300
342
312
293
331
322
241
306
375
421
295
338
390
349
419
344
319
281
320
335
336
278
298
249
310
375
263
346
325
243
195
343
334
350
397
290
379
320
363
277
333
256
353
367
331
314
275
307
270
346
366
312
318
221
223
365
274
278
337
296
344
337
346
274
327
294
248
277
276
355
333
346
355
334
234
320
329
320
375
322
310
299
279
236
338
314
371
289
309
287
344
274
303
354
318
369
367
364
283
249
329
308
308
344
254
345
370
272
281
410
354
349
310
348
345
279
344
324
268
267
344
297
289
297
272
278
345
290
299
297
248
285
354
242
249
330
397
223
295
270
326
332
246
283
328
208
367
297
426
409
315
361
219
289
378
367
301
290
337
315
295
337
314
267
271
343
361
322
352
373
345
375
366
339
353
336
289
355
359
300
321
399
331
279
318
320
344
443
370
359
329
317
308
273
262
398
381
315
311
331
438
299
195
305
299
330
334
330
286
250
353
358
373
345
296
269
345
323
271
312
303
316
302
211
360
358
323
267
328
238
372
348
364
382
303
305
279
266
331
331
305
381
363
320
279
341
279
376
406
304
260
302
324
378
373
328
304
243
268
388
238
300
293
315
357
301
323
315
331
293
322
315
263
353
305
307
344
300
286
363
374
334
341
398
226
325
351
296
321
306
335
305
342
343
366
266
312
253
330
276
328
314
342
355
333
279
377
359
399
253
387
320
345
341
212
289
286
270
268
338
367
298
386
293
310
286
281
271
332
272
232
384
303
286
290
305
305
309
326
370
332
298
383
306
291
316
375
257
332
284
219
335
311
295
326
348
278
281
305
398
297
321
387
308
294
307
295
332
384
351
336
250
289
209
303
200
245
360
290
329
291
304
335
309
371
341
305
316
314
349
293
388
334
242
298
366
332
363
288
244
270
287
278
264
273
395
416
401
344
229
318
312
271
373
276
168
306
334
271
293
296
277
396
370
285
293
297
340
273
375
295
417
293
371
326
268
348
285
303
279
280
354
275
347
272
262
351
339
300
300
321
322
269
277
415
319
335
322
341
365
318
328
280
300
317
284
305
317
262
369
369
276
285
394
298
334
326
348
283
313
324
309
384
258
308
299
345
274
301
260
320
313
244
317
298
261
312
318
353
255
365
362
270
292
251
382
331
312
267
339
400
351
351
301
227
328
255
300
291
268
283
346
371
356
335
295
318
195
331
292
351
297
304
414
336
347
264
311
379
289
320
255
309
388
324
311
291
322
322
400
370
325
304
323
289
320
316
259
350
239
326
299
361
317
255
334
301
296
309
328
394
326
340
372
325
346
355
363
349
337
350
226
312
307
283
361
341
272
272
314
286
270
346
299
346
282
388
344
299
246
314
277
374
353
341
329
297
244
294
269
248
287
274
318
297
283
323
265
275
325
360
360
361
322
266
428
314
261
328
360
258
310
314
295
244
292
261
333
258
390
316
266
331
363
359
289
338
375
384
320
273
301
225
273
320
355
271
382
245
361
296
310
320
340
215
314
296
382
309
328
297
315
312
368
273
369
370
393
301
297
219
325
350
224
349
324
293
331
341
324
283
303
346
307
316
368
315
231
312
322
341
310
289
239
331
289
344
310
333
280
300
283
339
216
322
283
328
365
300
254
259
263
287
317
319
308
286
216
312
358
330
318
307
337
369
316
249
394
361
356
323
340
409
300
330
287
383
317
299
324
312
302
315
296
354
339
347
409
296
354
330
296
305
341
274
245
353
349
277
322
261
290
356
325
377
387
289
251
311
379
264
245
389
303
318
253
310
252
279
258
302
415
380
291
322
366
270
336
332
239
301
344
269
334
325
362
368
256
249
353
293
277
360
316
265
326
402
335
301
335
347
316
274
370
269
291
404
327
281
330
293
306
326
362
334
365
323
307
344
240
335
399
385
359
286
368
342
281
314
342
257
320
311
363
354
276
327
349
376
242
232
325
287
344
316
329
337
321
306
357
282
392
319
326
287
311
304
401
339
331
284
255
329
273
342
370
386
324
301
326
348
270
412
319
369
333
254
326
302
389
296
299
408
351
358
294
334
355
333
394
333
331
245
347
241
254
269
268
353
312
295
305
365
328
321
269
338
293
309
281
246
338
328
327
321
359
323
268
370
273
276
298
330
230
332
257
318
368
267
356
337
362
235
254
363
328
354
379
372
250
285
302
337
296
234
370
308
338
286
349
327
350
230
320
280
349
306
419
381
347
318
326
286
333
277
259
298
326
290
255
310
291
357
358
298
303
333
311
389
361
256
303
252
361
280
313
279
334
281
284
315
352
320
281
315
377
320
293
250
288
303
275
215
389
301
319
359
302
317
350
241
300
322
260
331
261
352
308
271
303
343
303
300
360
338
323
242
303
299
311
332
364
337
292
303
342
358
326
244
348
340
290
381
313
307
291
304
296
311
244
312
389
283
340
363
355
231
327
337
358
330
294
427
291
274
428
288
337
294
273
281
319
274
322
306
262
306
308
289
310
319
340
291
355
301
266
366
265
369
364
310
294
332
332
321
218
297
360
326
284
369
271
275
290
252
408
311
362
325
352
318
350
337
327
330
303
399
323
260
346
333
296
294
323
252
333
362
391
241
297
275
287
262
349
373
345
314
241
346
310
281
278
366
328
289
330
290
285
346
359
309
338
238
289
226
345
316
291
276
363
236
283
403
320
300
399
317
413
315
263
354
322
359
331
265
255
302
275
324
363
294
319
281
335
360
362
291
268
354
279
377
353
405
297
276
324
352
364
257
228
310
347
338
307
274
308
318
356
368
353
363
267
284
385
305
287
399
251
244
347
391
299
362
255
385
326
342
332
247
331
241
309
294
310
325
334
278
381
267
371
356
292
330
369
283
262
388
250
325
350
283
367
310
386
360
321
314
319
255
356
312
305
367
334
302
309
290
359
293
358
342
342
351
286
337
272
336
268
348
267
283
265
296
330
311
369
327
320
267
280
329
442
285
297
233
318
290
350
326
362
312
329
311
290
313
353
357
285
328
366
283
297
337
253
341
317
287
288
364
365
379
305
374
322
328
342
253
208
264
231
339
323
317
233
325
296
234
306
280
314
358
377
243
271
407
380
359
329
286
342
356
268
307
316
318
295
264
291
224
304
326
344
325
302
245
325
345
268
363
348
324
312
262
365
337
385
279
275
231
234
302
307
262
365
324
331
261
368
306
282
240
253
309
366
288
381
331
287
329
345
315
207
365
307
340
314
353
217
300
309
288
329
359
283
297
272
375
233
295
301
298
291
337
355
234
192
253
285
274
412
327
395
260
336
277
204
309
364
375
211
225
316
322
319
321
332
299
310
296
279
337
310
365
327
377
239
329
283
285
255
419
351
277
259
304
255
292
308
302
331
285
282
342
379
245
315
323
311
264
314
297
255
387
359
341
354
301
260
317
364
335
237
268
327
265
353
343
311
329
284
333
365
216
348
372
362
286
262
259
332
356
248
379
341
284
240
278
335
208
304
295
399
307
385
345
389
335
353
383
261
261
320
354
295
327
322
283
321
258
331
234
245
399
337
305
307
334
292
260
345
348
327
258
327
394
252
366
358
286
268
315
390
243
311
321
298
294
369
327
297
309
301
247
275
254
279
425
257
305
313
323
323
278
274
292
407
310
304
215
337
361
262
345
264
288
382
336
326
236
290
334
276
221
322
311
324
264
318
320
340
349
371
331
356
322
314
345
258
304
334
353
309
300
342
300
318
355
283
242
422
293
309
320
373
308
253
323
345
299
368
288
325
342
252
325
318
316
323
239
229
393
276
279
310
327
273
342
277
339
301
357
297
222
359
417
399
356
307
276
289
350
388
419
293
312
270
290
290
314
295
293
318
364
255
326
342
333
377
398
292
282
348
370
388
242
248
350
260
234
235
379
340
323
320
385
307
304
284
336
322
415
320
324
382
254
285
295
262
208
284
370
323
356
266
259
389
278
311
218
251
315
228
261
351
283
376
273
339
323
301
318
378
277
301
350
285
355
372
294
281
367
296
281
254
321
276
267
408
302
367
326
368
322
338
348
245
323
355
288
393
185
349
337
329
346
263
275
347
330
288
281
360
334
301
385
278
299
365
349
381
291
297
332
272
305
371
277
325
277
265
333
281
245
233
362
326
292
317
258
315
235
346
372
286
378
271
347
288
338
354
312
275
306
318
294
382
297
361
352
241
214
315
301
304
241
357
358
364
371
434
356
326
354
371
272
242
352
276
427
355
242
275
381
455
364
292
263
286
341
295
383
363
309
319
413
284
379
277
361
356
313
373
334
238
256
308
338
396
295
284
312
361
348
303
329
357
316
336
303
240
309
282
293
338
229
223
293
308
262
373
333
262
342
376
365
431
327
377
370
297
380
345
316
285
289
200
336
272
318
258
258
398
331
304
164
248
312
290
285
337
361
228
316
304
247
259
326
325
354
315
344
314
376
304
311
346
366
336
253
325
318
338
365
336
330
350
352
326
347
378
273
310
361
309
302
285
288
335
302
345
412
332
331
351
335
278
297
310
218
271
304
361
276
313
253
213
345
341
326
314
362
322
223
334
353
310
304
382
326
334
389
315
255
272
316
281
268
278
353
237
246
349
278
294
264
336
340
359
306
340
318
362
421
334
262
341
334
325
340
297
258
332
322
331
285
272
208
306
299
322
308
347
333
334
273
354
389
334
295
299
319
355
331
306
367
302
280
275
333
347
381
306
317
398
381
276
286
323
308
341
289
320
316
280
295
259
357
415
324
271
337
343
369
394
301
293
337
373
358
275
361
232
358
365
271
410
361
220
424
283
323
307
296
312
302
332
302
300
270
327
337
310
386
375
345
336
352
316
286
273
307
330
290
336
432
336
295
300
292
322
277
249
334
296
380
344
374
372
385
375
289
306
383
309
377
346
212
293
284
263
322
332
292
350
368
353
263
295
275
296
299
332
394
278
200
383
316
308
250
339
331
374
336
334
392
339
347
267
278
288
376
322
349
379
415
311
410
303
306
231
360
344
290
310
306
396
332
313
260
304
365
356
295
270
312
326
249
304
219
389
271
303
311
283
356
333
261
361
322
363
222
318
318
320
348
242
400
350
290
368
350
287
295
295
258
356
372
349
348
301
322
285
289
296
353
276
327
262
363
251
325
311
382
219
394
324
222
271
322
271
305
374
347
264
276
292
193
350
323
345
374
277
331
304
279
301
317
347
363
344
234
272
287
330
412
279
344
378
332
328
233
256
319
261
364
314
274
271
342
339
337
401
217
345
363
349
233
274
383
305
296
272
360
323
301
310
341
231
367
249
384
267
373
315
266
390
344
240
358
374
268
278
274
290
371
311
392
357
368
327
332
298
331
309
317
400
313
259
299
371
294
311
327
389
261
309
309
285
306
256
328
360
351
383
265
282
354
274
383
351
382
346
297
355
318
311
265
313
263
332
275
297
282
324
257
365
291
302
270
352
326
265
380
385
386
324
354
386
409
300
344
342
374
306
258
270
263
211
352
274
324
370
335
335
283
320
377
333
302
340
271
301
227
301
276
387
354
328
380
361
283
349
235
288
221
323
291
226
316
281
358
323
336
244
305
333
364
330
304
410
320
339
279
262
257
334
288
334
322
349
417
288
349
301
330
265
355
336
227
266
266
337
283
381
276
266
354
309
330
253
217
302
299
387
320
316
263
327
378
300
338
290
368
332
390
345
266
303
244
334
307
342
306
355
247
304
313
287
399
302
282
220
308
282
343
330
362
351
273
314
297
326
307
382
322
315
303
368
308
206
374
337
281
369
267
406
328
345
326
294
278
319
350
264
249
265
323
291
320
324
217
299
287
313
268
290
308
349
299
367
299
393
229
279
331
307
289
357
278
267
278
369
343
283
366
326
379
326
275
332
350
305
276
344
342
258
379
269
272
399
268
282
391
322
262
296
261
209
366
309
338
326
357
295
286
380
365
325
288
244
297
180
296
343
160
331
297
247
292
341
311
280
310
306
272
308
324
328
307
263
262
319
289
376
246
418
400
281
327
362
296
358
337
329
298
289
275
368
342
285
335
293
247
327
280
313
375
365
361
357
326
368
284
302
265
264
338
271
283
392
345
372
350
344
363
308
387
352
354
419
352
419
307
314
254
247
323
257
308
407
269
318
258
364
205
271
345
301
349
417
322
259
252
437
324
304
362
301
285
260
341
161
366
333
354
360
361
354
359
294
413
343
269
353
322
335
331
268
375
279
261
272
299
259
345
292
342
290
299
301
326
231
322
352
302
423
306
362
321
263
362
397
346
312
269
245
342
325
268
299
275
400
304
330
304
311
323
239
256
299
277
331
336
300
271
360
383
209
369
314
339
335
340
280
285
314
287
228
326
271
357
266
278
351
287
258
314
304
317
364
317
391
349
362
368
331
260
284
273
278
247
306
270
263
362
287
324
264
345
280
268
267
274
282
290
403
352
315
364
335
272
310
330
304
281
292
235
359
290
355
354
352
239
314
353
280
228
333
335
327
298
308
251
246
375
321
296
276
344
359
311
288
306
362
274
289
258
184
350
211
288
236
288
356
285
355
295
421
361
336
272
330
332
262
393
236
276
292
408
238
365
283
332
332
308
229
319
333
370
333
337
228
233
408
334
243
292
266
383
372
310
216
318
269
304
332
320
248
200
278
284
267
299
302
353
338
341
306
296
268
284
262
311
257
274
330
355
326
323
270
379
362
302
367
324
461
312
353
374
327
318
309
327
326
346
350
283
298
356
297
367
343
315
317
299
306
332
355
295
342
317
350
379
389
366
333
332
272
431
318
386
337
306
302
297
289
247
365
326
389
287
319
235
327
335
290
386
353
354
394
288
313
381
200
330
219
346
323
300
282
365
288
264
278
308
241
252
417
236
333
268
304
296
190
281
289
268
263
374
341
247
343
242
288
296
398
313
302
318
332
318
360
276
360
266
278
303
294
342
352
323
289
334
306
360
311
331
298
381
360
401
355
349
271
347
306
219
318
344
319
352
343
283
292
300
294
305
325
316
308
382
273
194
239
315
359
310
287
351
315
336
325
313
378
339
331
288
391
300
344
288
319
425
312
333
316
400
233
298
313
279
311
222
333
359
327
350
271
338
320
374
252
302
332
323
286
376
223
370
305
256
359
264
285
252
400
322
337
313
343
280
289
228
329
284
340
312
330
386
327
413
299
367
356
243
268
256
326
349
363
373
208
303
306
311
244
310
256
289
415
256
309
354
428
246
349
326
344
321
317
301
376
361
321
297
273
294
286
370
357
336
323
303
288
320
291
293
345
318
324
289
399
379
292
276
336
337
237
394
322
302
305
369
420
274
373
342
233
274
286
302
350
303
331
305
298
282
283
279
329
267
324
256
336
339
235
320
304
304
259
389
293
358
358
285
345
283
348
215
321
216
277
214
320
325
376
264
262
330
265
293
342
320
335
243
365
296
334
182
311
274
304
298
390
328
322
384
304
262
217
292
302
295
262
324
291
286
325
298
309
267
329
331
321
289
409
351
335
318
370
343
308
262
236
346
317
367
296
232
297
291
330
314
324
289
311
333
224
341
343
230
296
314
332
375
332
295
300
213
318
334
269
332
330
338
249
282
401
278
372
353
355
328
325
340
293
215
350
249
232
307
355
329
336
266
279
322
333
408
326
291
356
253
317
332
297
321
284
332
347
241
283
311
392
249
246
335
244
266
340
345
304
360
339
258
376
336
379
339
331
351
283
352
260
358
354
283
343
325
354
350
262
326
287
300
348
237
350
358
311
334
359
365
244
326
308
353
291
395
317
292
374
311
291
278
386
339
270
355
249
285
361
324
371
318
355
213
233
389
337
357
343
370
339
274
310
364
268
312
281
264
352
365
355
254
281
241
292
329
248
241
348
344
400
306
355
299
231
335
194
295
285
290
347
370
297
289
337
314
351
353
320
291
350
427
287
278
280
339
363
350
321
307
315
311
296
285
279
368
281
370
252
413
368
323
377
327
260
304
241
320
350
281
299
333
358
326
318
333
322
336
232
293
385
329
369
266
301
342
377
284
353
285
320
338
333
367
380
333
322
291
328
266
277
334
257
236
377
306
329
354
386
301
327
323
302
360
402
288
284
374
224
325
301
312
315
311
296
300
310
328
367
372
336
297
310
366
399
315
307
263
256
373
283
354
321
370
360
298
299
297
381
306
292
285
253
309
306
362
300
303
294
352
260
324
296
317
366
267
270
317
373
404
332
260
302
336
347
338
340
344
232
348
360
321
294
291
263
342
315
329
279
301
279
266
308
340
299
391
253
320
319
325
305
358
196
333
317
312
235
288
337
329
203
344
341
331
257
346
262
326
331
365
315
304
263
333
266
296
360
276
366
335
351
354
357
399
332
364
283
325
254
338
305
335
335
305
344
321
286
336
378
277
290
366
309
311
301
249
304
271
292
252
311
301
353
368
344
382
302
309
219
315
229
323
275
339
289
400
296
351
386
360
278
349
366
346
364
292
376
385
298
299
319
350
314
355
310
327
393
353
392
318
379
368
335
269
228
367
229
250
343
362
342
322
322
324
279
310
347
296
324
350
365
254
356
293
226
241
265
259
314
336
341
376
350
302
330
309
303
332
353
296
352
311
384
327
372
293
328
229
327
369
365
314
262
314
218
328
344
303
365
294
283
363
321
382
333
343
250
340
346
317
339
319
365
363
316
271
294
355
280
352
281
366
376
251
343
258
282
332
298
370
292
248
246
285
339
370
402
280
292
356
339
351
310
354
310
293
345
329
375
269
271
307
365
304
369
308
323
220
299
340
296
328
274
295
270
251
289
315
281
252
293
314
267
323
294
353
306
349
388
389
358
296
202
383
315
399
274
369
345
333
318
348
275
297
240
343
323
261
305
285
282
382
311
303
282
389
254
332
265
362
316
274
352
308
338
347
337
305
381
317
318
360
369
301
342
356
301
308
389
317
335
331
393
332
323
363
307
280
254
360
299
312
402
325
246
316
375
214
265
270
318
349
290
321
319
286
347
276
312
240
364
371
279
327
294
336
299
346
400
280
350
271
360
285
357
376
368
373
319
320
307
285
286
299
338
306
302
294
301
320
350
329
361
297
325
343
353
333
295
336
373
379
324
288
251
310
330
267
297
350
354
339
256
323
264
295
288
391
360
331
283
238
338
323
345
399
335
273
293
297
237
273
357
339
365
302
314
322
327
336
322
407
362
320
301
285
366
365
274
381
349
321
334
368
311
387
274
316
359
280
316
335
334
338
326
308
337
331
383
329
277
294
295
352
252
367
336
354
297
350
293
343
335
236
237
308
296
358
263
284
283
321
365
401
242
273
272
294
270
327
321
336
302
381
273
347
338
307
346
340
313
277
286
326
286
298
349
370
310
398
237
264
302
366
348
374
342
339
302
347
330
339
318
335
357
291
351
296
368
357
276
303
379
369
323
374
315
318
316
316
340
385
348
246
294
363
287
370
327
317
308
376
309
383
282
318
307
211
349
287
303
323
315
409
339
300
252
416
358
313
298
365
372
300
299
372
250
384
325
405
290
240
317
302
324
275
319
371
417
285
303
331
386
215
387
403
242
345
295
270
273
251
384
334
388
305
349
292
299
220
338
193
350
299
280
417
284
299
322
334
360
391
382
283
282
316
281
300
283
339
325
289
338
431
317
325
395
413
340
370
320
250
362
339
256
351
348
292
394
290
270
318
282
317
339
264
357
335
260
324
301
324
325
295
263
284
350
301
326
281
308
239
284
290
335
295
307
270
339
404
343
397
290
272
329
297
284
313
285
305
337
342
348
229
388
329
308
336
339
258
372
266
355
315
310
317
263
354
315
339
348
325
337
348
326
386
285
292
310
307
292
291
350
362
292
334
374
309
325
340
294
354
251
297
290
253
356
271
293
242
390
312
245
289
252
268
278
280
337
407
386
339
301
286
345
298
213
361
357
326
360
321
368
380
315
309
342
241
388
345
261
354
396
323
351
292
289
229
356
373
294
237
382
373
276
287
354
250
261
291
377
274
365
349
368
297
314
348
361
334
305
295
305
242
399
319
292
334
323
229
297
266
339
327
250
344
321
312
321
352
245
378
277
349
322
294
372
240
289
301
388
373
352
372
369
330
271
305
349
213
326
335
369
298
241
251
366
309
344
306
314
306
273
301
341
280
308
284
296
334
272
351
308
352
369
304
382
337
386
322
286
414
396
262
287
334
311
293
306
354
254
247
286
277
314
288
325
345
241
255
243
304
266
256
344
335
357
335
371
300
287
339
238
325
339
304
296
333
310
261
338
296
317
336
334
317
290
353
381
299
282
226
316
407
314
370
309
326
300
326
297
306
260
308
328
378
312
263
291
348
346
310
327
336
342
392
297
323
257
298
332
260
338
312
362
300
256
333
334
331
322
333
373
251
341
342
288
304
311
368
332
361
344
285
286
322
353
376
257
284
270
295
322
321
333
309
360
394
286
358
321
246
248
340
272
339
313
372
284
353
305
393
315
300
343
302
326
296
300
364
190
326
336
347
275
286
275
300
348
369
346
361
327
291
287
276
342
290
327
315
308
349
187
333
205
300
263
241
342
351
327
273
268
331
318
354
318
298
335
354
291
359
323
327
349
275
328
282
293
359
331
300
240
291
279
382
266
269
319
290
316
262
269
291
263
254
365
256
349
315
308
350
333
331
339
307
348
308
287
327
379
406
317
298
403
311
401
364
319
388
319
255
320
337
367
338
355
230
277
335
244
243
350
327
334
323
303
292
319
326
366
276
355
313
341
286
391
360
220
233
275
299
394
310
345
249
328
257
334
319
395
314
302
281
317
258
314
307
272
251
267
345
257
390
340
430
327
377
321
335
293
317
296
359
356
339
329
295
373
348
337
382
344
327
271
251
351
310
287
301
331
319
324
233
263
330
228
303
315
334
290
313
290
296
241
308
342
297
262
420
285
342
365
326
297
334
412
293
368
351
379
295
353
270
280
315
293
346
352
223
343
280
196
356
248
354
346
319
275
335
386
431
332
253
287
301
335
194
294
228
294
380
299
282
260
302
340
348
273
274
311
366
376
380
224
393
284
402
330
330
332
342
264
219
370
310
300
224
255
319
385
378
289
278
311
323
346
285
399
350
356
294
341
346
325
371
391
297
277
341
348
333
295
324
329
355
269
205
248
360
423
316
348
327
382
291
246
319
339
299
315
281
357
408
311
310
238
245
165
373
373
288
380
362
343
279
260
333
275
232
390
308
331
289
251
348
300
264
438
302
330
274
320
324
355
319
329
301
195
314
391
252
360
308
323
271
384
340
303
389
351
300
254
430
383
255
306
342
376
331
302
328
375
340
311
303
391
303
349
253
287
369
396
312
246
226
283
326
306
259
271
312
257
319
279
323
227
349
359
282
328
324
300
371
245
355
331
366
257
248
309
248
235
320
382
362
260
358
333
370
351
322
296
399
349
288
339
309
271
341
375
230
302
310
257
310
319
273
378
336
347
326
279
280
375
311
263
301
348
294
372
300
316
339
289
285
309
220
326
406
307
395
332
216
380
242
371
400
295
313
412
268
318
233
335
365
353
376
319
277
374
346
365
280
344
318
327
311
366
346
374
246
318
279
323
347
349
369
316
346
364
276
337
359
310
307
326
332
384
351
344
282
288
321
291
278
213
304
274
349
348
365
358
333
403
327
262
300
398
297
319
273
280
404
290
296
240
320
248
360
374
269
340
387
289
303
383
271
303
289
287
380
339
261
380
385
290
277
373
282
264
369
217
282
307
210
305
290
286
274
337
360
316
344
354
345
283
374
296
299
328
383
355
298
241
283
244
209
333
375
313
313
311
296
248
387
367
323
298
261
271
293
338
302
298
277
309
292
334
315
319
338
344
369
253
262
250
333
381
322
278
258
283
312
305
285
280
265
299
448
314
314
298
309
311
386
309
350
348
326
285
302
283
363
351
315
351
359
302
230
384
340
335
266
366
305
259
376
287
422
299
299
296
282
305
364
340
302
302
311
314
233
317
295
223
291
306
350
337
236
354
298
286
335
371
363
372
336
381
262
365
299
289
380
332
288
372
278
394
376
355
267
329
300
281
262
328
331
385
285
268
332
277
384
343
274
307
330
336
357
348
307
335
305
276
299
376
282
285
329
315
287
287
281
292
287
327
263
328
290
379
322
342
283
323
287
384
277
300
284
300
323
254
322
391
259
340
251
356
392
192
319
294
356
275
296
331
288
330
293
240
336
292
311
357
382
338
261
342
355
328
316
282
414
363
251
350
305
357
285
284
374
351
337
275
294
329
354
339
318
247
292
257
322
319
336
353
325
408
358
333
252
325
305
244
357
424
400
331
285
366
295
249
371
292
305
250
318
334
245
359
236
262
304
276
318
360
309
284
303
344
277
308
273
297
284
353
336
422
376
376
275
301
307
282
294
275
334
289
407
290
279
337
263
332
279
244
351
286
298
279
335
304
310
274
242
334
335
308
276
364
334
291
330
294
249
346
390
340
269
351
418
325
261
339
342
340
323
240
360
303
318
408
283
277
304
264
341
414
293
391
272
276
372
335
350
310
302
386
292
299
350
225
258
332
323
305
285
362
277
368
320
378
277
343
355
296
312
311
384
300
361
235
313
335
328
364
359
237
359
294
284
276
286
225
351
256
340
294
306
309
334
355
326
331
348
386
349
226
313
278
349
377
286
335
291
255
339
296
323
321
286
317
297
298
316
277
373
265
291
205
351
341
323
203
206
325
281
353
284
334
321
411
373
292
299
243
263
291
363
275
302
314
340
317
291
309
270
384
370
336
378
369
302
329
328
313
345
393
256
325
321
338
321
229
353
349
397
337
340
355
325
319
321
364
250
340
297
255
299
253
288
297
305
368
286
331
317
329
342
394
332
363
332
288
301
295
306
246
238
295
339
327
364
366
293
326
357
299
351
278
322
343
359
317
326
311
332
238
308
265
247
302
334
350
258
421
344
363
306
282
396
320
333
263
373
244
396
329
314
303
284
279
253
388
324
350
335
282
348
285
281
337
323
229
331
310
341
429
288
378
349
275
231
338
344
327
290
355
271
298
259
292
362
315
347
265
339
285
355
188
265
279
336
351
327
324
393
322
342
352
338
319
311
344
339
327
345
298
324
250
333
474
297
403
355
269
230
330
439
329
258
314
273
279
274
371
325
325
381
270
432
320
304
282
268
332
336
336
382
212
321
307
406
370
296
251
334
257
344
304
347
276
306
328
314
351
297
360
338
392
237
327
307
337
264
328
274
337
285
325
353
266
287
360
292
324
315
355
344
300
327
274
330
324
329
342
258
251
312
246
313
248
284
292
299
323
318
285
333
327
306
352
345
237
309
293
308
341
298
333
273
317
291
334
300
350
298
254
324
278
313
330
360
267
335
340
258
324
380
336
413
283
308
330
304
393
277
191
280
359
197
299
226
324
232
354
337
379
358
315
427
336
362
322
360
425
315
355
317
246
247
315
292
278
400
267
321
397
251
233
291
356
276
363
319
315
327
307
359
247
268
297
327
340
350
410
305
287
279
368
259
350
251
271
299
287
312
287
312
357
348
239
197
253
325
325
294
275
373
312
374
361
271
373
267
270
358
338
373
356
346
259
350
324
337
344
321
319
366
329
232
296
266
345
250
308
322
251
359
347
264
356
379
328
347
324
288
304
351
374
334
213
324
359
266
335
242
290
290
248
263
312
381
243
385
343
326
323
317
368
317
345
281
303
317
307
330
271
341
305
353
348
344
321
313
310
275
324
238
324
277
377
344
267
280
318
256
269
277
337
299
277
271
315
328
308
331
320
343
327
295
215
288
345
348
278
361
250
307
318
347
375
330
410
263
293
307
368
266
328
224
314
315
358
362
351
319
249
281
292
304
445
357
263
376
270
282
343
279
332
392
262
340
285
307
322
387
275
347
330
308
284
272
395
243
363
313
355
278
282
279
220
211
393
303
361
373
359
335
377
290
336
320
273
282
393
275
328
381
277
391
308
321
368
275
369
324
274
281
229
278
384
313
289
356
337
248
309
369
344
377
380
327
289
233
287
304
321
298
399
314
327
294
204
259
231
352
195
240
292
279
341
299
329
311
373
331
300
284
305
301
287
339
332
293
274
339
316
412
326
376
356
402
377
275
298
350
231
344
223
311
279
340
265
342
367
334
297
297
345
370
355
282
294
289
399
274
308
370
283
276
334
382
350
382
317
273
400
232
265
337
311
362
271
272
266
281
312
239
347
302
332
276
301
367
359
335
346
352
255
347
348
240
353
334
309
329
327
269
354
392
286
377
299
348
309
304
308
344
264
307
305
370
330
339
372
294
324
403
352
319
311
276
350
308
382
293
285
332
323
268
341
344
376
245
258
272
342
347
345
395
355
254
358
353
238
317
415
342
352
367
290
270
262
289
287
258
315
285
339
327
335
318
190
316
305
359
289
370
312
355
361
333
353
339
371
328
306
284
368
328
332
216
245
301
329
298
315
289
341
277
253
349
300
224
244
355
379
408
246
292
311
361
261
338
288
317
311
334
280
253
295
291
341
332
346
303
314
364
420
295
331
266
357
287
308
351
276
190
232
386
346
363
357
326
292
349
302
263
306
348
307
358
310
308
331
256
307
286
320
339
359
397
369
297
287
302
341
323
291
272
323
232
347
250
369
351
262
290
367
226
380
315
275
335
257
344
365
265
333
317
383
369
279
306
317
271
315
383
294
261
362
364
325
360
262
330
332
351
343
309
346
293
314
326
292
346
332
253
289
309
351
193
322
268
313
279
245
345
394
281
287
301
296
371
255
284
307
316
319
339
320
251
368
351
261
260
289
358
295
321
307
367
314
332
312
331
266
344
377
389
303
235
395
231
308
316
307
353
372
303
221
271
306
363
307
213
387
320
355
323
273
354
267
442
320
361
310
361
323
284
332
287
360
414
306
392
284
341
302
277
333
365
321
357
334
305
320
320
376
331
305
275
418
264
309
328
284
298
295
271
265
326
373
300
404
461
259
324
358
377
316
390
394
336
293
266
327
359
358
283
271
365
279
331
278
342
348
383
277
294
337
314
331
369
408
366
330
321
277
311
281
317
321
215
359
284
367
224
382
321
320
330
337
302
284
285
380
276
343
338
289
355
396
324
316
364
407
318
256
298
384
309
292
296
320
312
244
337
305
291
409
390
288
278
336
303
286
320
302
188
311
303
216
387
251
321
306
265
272
274
367
332
326
350
289
272
323
447
325
324
294
327
319
355
379
243
295
309
287
361
289
242
342
314
301
329
269
300
316
269
347
275
285
295
346
338
367
326
223
258
289
298
285
299
267
339
331
360
288
319
439
358
334
344
325
352
297
261
291
350
283
352
399
287
349
268
315
293
353
293
346
285
290
267
249
358
290
321
281
282
290
302
263
398
334
355
301
366
302
300
378
344
356
362
247
338
327
316
343
307
362
266
351
339
237
316
348
362
296
321
239
291
370
358
324
290
343
320
322
316
333
370
382
380
333
351
298
358
319
359
256
344
423
341
296
270
323
412
258
321
305
252
351
305
347
353
299
301
336
330
259
212
312
264
278
328
326
279
234
356
233
301
306
354
324
320
304
341
425
434
345
339
334
295
263
330
354
362
254
294
357
235
390
283
338
328
322
390
256
306
277
388
287
368
393
307
323
323
326
329
288
322
275
275
298
378
304
330
407
342
309
245
368
324
301
331
317
373
341
338
305
313
363
381
260
346
279
333
329
252
337
237
317
321
391
331
286
340
325
277
314
266
400
273
308
372
291
281
358
209
365
207
292
279
330
387
312
309
324
292
255
365
283
286
294
370
347
402
243
269
357
334
218
343
292
333
294
322
325
278
347
344
349
353
299
231
296
338
366
341
349
332
251
318
353
261
318
320
249
378
342
277
319
344
378
332
300
348
281
328
344
293
274
287
350
373
362
377
207
334
209
379
243
318
314
301
295
341
314
398
294
402
293
347
176
285
353
265
323
265
281
340
315
396
274
280
398
398
261
328
373
293
277
283
302
349
249
263
283
411
372
287
297
241
314
333
256
348
362
388
349
293
338
311
331
310
284
304
243
364
366
252
304
373
291
295
338
400
403
399
302
262
385
360
331
316
289
286
380
299
342
384
289
346
339
358
304
309
387
327
245
351
281
327
352
343
395
337
260
399
343
317
323
311
287
349
352
325
269
292
389
431
315
273
365
343
311
276
350
328
324
261
329
357
317
300
334
398
305
298
362
327
371
325
219
248
275
275
300
277
329
287
250
315
308
344
283
359
330
384
375
318
276
420
303
341
339
373
303
322
425
273
336
241
318
262
302
335
250
300
232
276
253
295
355
312
310
281
320
359
295
230
292
344
429
347
282
390
367
319
358
327
341
188
259
287
282
275
300
296
321
368
392
387
300
301
249
330
342
327
316
289
267
396
303
326
244
285
294
316
331
286
290
309
354
351
291
330
429
317
237
228
271
359
371
396
334
294
342
285
284
372
308
297
287
208
290
335
308
321
307
313
373
323
366
240
299
303
294
288
348
325
403
183
298
337
277
334
291
345
383
318
379
252
340
328
400
357
289
364
368
342
320
318
365
295
355
363
291
405
387
329
262
334
322
310
349
280
350
363
345
216
314
314
353
280
362
294
340
333
333
316
237
368
300
305
345
213
273
352
255
327
283
355
349
340
348
306
298
282
418
279
231
247
323
258
239
341
396
365
267
379
352
305
313
329
273
255
226
367
351
362
374
348
333
272
389
304
283
259
286
337
333
350
373
261
323
352
352
321
307
272
357
390
352
304
354
347
350
402
291
279
325
333
378
266
339
358
267
327
309
307
332
313
250
356
297
323
308
294
363
279
416
320
350
209
273
377
257
358
310
345
330
257
334
358
250
364
347
274
399
273
304
364
314
360
270
320
321
307
331
268
296
243
370
397
297
322
300
265
294
340
332
242
390
390
348
224
327
324
274
334
359
267
323
346
313
338
390
292
249
391
288
275
310
281
210
325
330
348
272
416
313
314
328
294
336
346
321
309
358
306
298
268
314
393
322
336
290
394
298
336
274
310
296
334
375
308
374
320
343
250
384
328
316
257
363
280
349
418
314
322
322
282
266
290
289
329
362
274
337
328
337
324
314
358
298
270
270
350
249
328
377
325
309
372
342
315
310
230
268
337
327
317
356
277
275
316
335
316
298
290
353
334
313
261
321
337
284
318
329
349
278
370
288
362
278
341
338
355
388
294
226
323
261
332
356
313
246
324
352
372
324
260
323
276
343
292
342
308
351
279
267
296
308
348
288
370
269
382
291
299
259
348
359
333
324
259
322
312
322
319
404
340
333
347
307
191
364
295
354
336
246
275
312
286
315
329
307
253
384
241
356
319
303
327
358
360
414
210
277
334
304
305
342
299
242
329
296
356
261
329
349
300
297
293
293
356
371
316
325
352
294
314
323
289
314
412
311
328
295
312
387
358
342
230
346
378
275
253
318
320
302
284
201
356
283
298
293
337
279
403
326
309
311
326
296
287
350
353
317
316
295
254
351
343
263
337
295
296
316
344
329
316
272
308
292
326
268
241
320
344
251
355
369
336
287
238
382
262
363
424
343
369
313
331
368
293
321
326
367
340
354
269
295
305
391
287
353
329
316
400
184
298
344
403
352
374
256
290
379
284
335
385
294
247
281
321
352
349
280
367
242
317
350
379
248
298
295
277
248
245
344
370
342
317
285
213
291
265
263
268
316
343
326
301
303
338
378
291
296
298
330
277
356
259
297
273
308
316
238
206
307
311
319
337
375
321
385
267
319
365
316
263
228
283
303
310
259
301
340
287
355
234
332
257
361
337
242
304
384
299
384
244
279
306
309
342
210
335
354
332
379
255
297
395
335
309
381
333
371
262
368
294
235
312
376
301
359
306
292
312
317
347
387
271
351
353
279
348
356
300
308
324
369
287
274
345
338
305
290
372
312
326
336
301
268
293
298
266
329
288
298
307
326
311
279
328
370
303
291
282
290
340
297
336
259
265
334
277
292
316
307
269
311
352
258
343
243
340
343
334
319
335
327
307
402
257
260
294
334
314
335
260
320
259
378
316
225
248
312
353
394
288
381
262
343
353
369
290
345
342
270
267
281
303
326
360
348
300
318
325
226
306
292
271
294
314
322
346
297
297
366
355
333
278
314
341
265
300
391
335
313
356
241
383
333
324
359
343
251
261
400
254
276
323
391
304
317
282
329
382
354
366
393
299
379
316
398
407
271
371
300
321
310
395
324
342
359
261
345
342
413
278
293
281
328
306
284
350
318
287
313
322
280
289
347
310
282
229
385
347
317
343
362
348
328
363
315
341
361
341
274
265
386
388
390
320
260
288
301
154
247
283
303
366
344
342
372
358
338
321
163
387
355
330
385
337
325
267
300
336
300
293
322
380
246
272
351
372
356
284
315
252
338
361
389
323
346
260
340
341
315
358
264
332
194
325
324
297
372
409
203
274
336
357
305
415
300
273
312
370
379
339
293
260
326
324
278
319
297
334
299
309
341
312
283
301
334
329
347
331
335
282
350
394
284
243
240
293
262
264
241
260
328
299
333
295
251
369
298
327
297
324
230
316
325
314
324
277
388
365
349
319
379
341
326
347
381
275
343
292
303
364
353
333
310
335
271
343
356
323
322
293
273
376
330
322
347
325
330
269
321
293
294
309
250
320
360
382
318
311
263
250
351
267
276
375
315
310
277
277
319
304
327
352
272
349
218
304
290
306
403
204
311
307
368
320
289
264
324
290
291
272
316
321
277
297
330
333
333
360
328
294
345
275
356
338
302
294
317
334
294
333
284
289
279
317
361
249
371
251
316
316
374
287
417
239
318
367
296
390
412
302
339
407
234
352
275
358
314
399
318
360
288
341
350
268
316
364
195
317
340
309
322
280
200
322
398
333
289
318
294
286
245
285
362
387
367
286
307
330
363
339
280
335
242
368
246
349
329
292
272
319
371
252
344
300
326
288
344
364
289
266
321
379
271
384
341
203
282
303
368
299
282
291
346
285
331
376
329
246
322
310
235
338
379
342
323
350
277
313
306
352
299
333
395
281
357
278
315
263
336
290
324
278
300
331
244
312
314
284
267
370
300
300
278
317
336
298
354
266
375
286
341
314
269
424
376
339
369
336
371
320
277
328
303
363
281
259
309
293
311
250
334
340
366
339
274
251
288
239
294
354
380
280
336
278
261
248
226
336
323
349
369
311
296
310
374
299
258
247
255
256
276
328
311
268
304
373
351
268
329
327
324
336
291
376
290
331
276
252
291
300
284
376
327
329
233
233
311
281
331
353
287
368
285
268
348
239
293
295
324
313
317
318
272
249
294
266
305
386
309
276
374
276
337
397
362
344
316
276
322
390
337
333
332
264
318
306
279
316
283
354
236
395
278
312
283
353
211
330
303
246
375
339
327
209
306
278
308
348
312
199
324
370
286
263
419
279
282
348
359
318
313
301
356
256
298
240
367
243
281
334
375
310
346
245
302
242
286
267
285
285
345
305
362
277
358
267
401
276
298
381
334
419
364
337
298
343
355
314
286
239
260
395
339
291
255
272
359
354
347
339
256
398
254
341
332
335
323
304
309
278
346
273
340
339
243
299
335
417
301
334
264
407
282
347
313
303
247
342
297
325
306
310
257
321
340
255
224
240
396
286
254
364
306
331
297
261
421
217
251
335
270
400
283
263
344
300
326
326
376
369
267
323
379
333
323
292
350
279
316
397
313
318
283
368
352
289
379
360
291
336
250
251
297
260
374
268
306
290
291
149
280
227
328
342
370
255
286
315
314
347
313
372
317
264
290
286
356
357
351
318
328
349
352
325
282
238
315
313
337
302
257
369
358
391
311
297
388
304
369
256
372
211
337
284
263
275
289
282
332
392
369
312
249
287
329
350
332
328
336
319
355
295
359
275
325
336
349
324
284
302
309
247
336
296
370
344
286
374
328
342
335
265
301
235
266
232
336
327
357
332
274
321
308
258
331
373
409
371
403
248
333
343
351
328
315
278
287
348
290
356
386
300
328
254
280
285
382
311
308
208
326
275
315
348
321
278
334
332
295
247
274
350
341
313
359
337
312
337
289
302
275
315
357
351
298
291
241
301
373
330
367
332
278
354
326
370
292
297
300
251
285
318
262
374
336
335
238
355
259
306
378
277
309
235
277
301
271
337
278
345
338
320
299
370
344
311
292
304
252
301
269
277
304
251
338
349
337
306
381
358
279
343
354
311
285
290
279
229
319
385
250
300
372
355
322
382
209
353
289
358
273
362
340
303
368
268
340
298
245
412
290
323
394
206
352
367
380
384
304
295
319
379
330
327
260
337
350
378
279
396
317
373
276
249
281
327
362
341
330
250
409
265
405
268
344
333
276
348
202
296
312
298
345
298
312
383
256
305
236
296
273
350
289
293
371
352
333
281
409
372
257
311
393
283
327
244
243
260
287
306
311
339
319
336
275
348
315
384
336
323
329
265
321
300
351
378
340
339
426
347
261
339
384
227
368
369
398
288
236
272
306
247
287
358
333
306
330
339
232
315
266
298
302
360
267
278
254
325
358
307
296
217
371
334
347
287
304
309
353
330
283
295
295
341
353
305
338
385
318
372
337
371
315
230
396
386
355
374
316
341
283
344
251
316
350
327
288
295
337
404
298
324
275
282
363
308
254
303
258
377
373
322
353
313
302
237
330
424
285
353
334
305
348
300
259
361
387
336
329
289
361
384
257
344
315
286
323
326
323
300
310
265
267
326
271
297
298
342
314
363
335
327
345
262
384
209
289
300
369
274
301
357
269
369
257
308
238
317
239
351
241
300
351
357
344
327
306
354
349
228
222
409
273
316
329
304
306
218
319
308
339
294
335
305
314
346
296
328
390
332
354
217
297
223
192
319
280
283
262
333
273
337
304
251
355
334
382
269
386
269
352
355
310
290
370
322
346
333
253
319
274
315
255
244
341
378
269
314
311
334
302
287
226
324
345
352
339
319
279
259
279
291
284
291
289
293
308
271
405
336
362
308
297
355
233
277
314
249
349
312
245
406
354
361
250
294
348
244
377
292
295
349
362
371
330
283
310
281
393
370
368
284
329
268
361
288
296
290
350
349
357
335
370
321
363
249
343
289
311
348
309
248
245
282
308
297
269
339
304
359
243
332
324
321
313
338
330
310
370
349
314
243
275
256
273
403
368
314
257
294
272
276
293
361
366
307
288
292
289
306
336
303
353
301
288
363
357
224
267
289
344
274
310
343
277
333
305
270
310
294
274
357
429
297
276
273
322
309
280
365
291
374
346
296
247
285
313
319
327
327
268
351
286
385
322
435
370
366
310
448
273
310
305
331
277
273
299
304
310
247
342
322
286
332
282
335
315
424
240
375
296
348
255
285
354
231
274
383
320
346
331
344
345
345
270
356
315
352
273
215
297
363
385
324
350
323
268
341
312
359
338
237
282
338
297
302
327
348
312
304
345
367
307
245
272
265
341
303
318
403
305
428
383
317
243
318
347
275
413
247
384
400
337
301
364
313
362
347
360
240
405
331
255
352
337
244
242
397
357
308
274
373
283
300
301
395
342
307
247
244
306
290
365
338
250
284
323
299
211
267
296
222
338
324
310
356
317
352
343
233
404
276
301
320
352
269
274
288
331
288
410
353
359
352
260
288
299
256
320
370
289
312
293
365
281
300
321
312
264
294
367
310
368
226
291
299
312
223
281
278
308
275
276
311
317
344
296
234
305
392
368
293
287
275
358
307
414
257
311
340
290
273
372
259
208
283
237
363
395
294
320
309
347
424
260
299
301
295
346
254
259
355
306
378
261
251
261
375
288
383
269
303
302
352
363
320
328
360
282
298
323
325
367
323
377
321
354
304
384
321
375
331
305
336
317
343
315
322
283
271
224
351
286
331
238
346
395
389
300
290
336
356
323
234
239
361
296
228
277
351
364
324
208
303
305
274
313
270
236
345
351
272
352
315
335
360
349
265
344
371
360
271
355
250
360
309
280
374
417
224
298
364
261
295
367
362
299
324
157
273
271
275
390
317
338
348
350
398
298
352
317
260
305
283
293
282
360
281
299
320
363
301
299
352
304
365
328
294
314
306
268
296
341
376
285
323
355
364
261
325
290
221
297
338
315
355
323
352
331
391
322
360
350
284
368
342
322
319
254
302
328
282
341
343
231
344
360
303
305
366
323
260
306
308
345
396
290
209
317
324
367
276
259
349
305
297
303
360
310
351
362
346
332
344
359
270
295
269
301
264
309
323
326
303
336
222
348
338
275
384
279
325
354
428
321
309
328
360
243
274
321
287
365
328
329
303
258
255
296
313
287
294
328
326
387
331
297
329
317
307
397
254
307
278
361
310
326
252
356
311
285
283
237
319
384
325
374
313
356
326
328
322
318
220
269
291
241
300
343
279
260
313
215
320
385
320
353
288
333
335
297
297
222
282
320
268
317
403
327
284
257
409
340
299
340
344
336
281
312
304
308
301
297
312
343
350
231
260
317
359
389
295
303
416
389
275
284
339
264
336
318
351
305
341
370
333
390
336
220
319
332
350
304
302
308
335
364
289
244
382
311
288
341
362
335
326
265
316
336
385
359
357
286
249
298
363
425
314
313
292
268
323
268
266
403
275
303
264
232
297
317
275
361
259
302
353
370
378
284
309
381
439
235
257
379
397
373
339
326
258
314
339
352
305
367
294
355
304
346
296
246
330
372
289
344
408
369
285
217
328
249
323
364
307
310
303
314
189
375
309
349
282
343
320
390
305
307
350
287
351
298
364
403
215
271
316
342
258
388
294
286
372
237
389
297
238
363
316
278
207
303
365
350
294
294
292
328
304
349
353
352
288
268
306
313
267
293
323
282
366
283
315
318
348
346
250
292
365
302
254
292
320
241
349
338
271
289
304
327
286
245
259
271
344
267
318
352
343
350
275
344
373
265
350
207
270
217
288
331
321
315
419
307
233
313
268
324
363
358
317
254
324
265
334
321
308
288
369
354
341
341
308
275
306
300
337
361
371
352
316
308
245
289
274
290
293
327
298
361
326
306
336
285
350
363
324
277
310
314
292
208
347
347
290
330
314
342
307
312
332
334
344
381
363
317
278
341
288
253
367
321
335
299
219
307
274
350
329
312
277
373
319
272
397
244
275
372
301
314
319
323
264
277
339
274
304
334
302
298
263
304
316
325
384
331
317
356
313
231
362
322
279
376
348
296
249
310
297
194
271
323
229
320
285
305
300
265
208
252
298
385
248
387
259
278
253
342
307
307
323
387
336
321
275
272
283
256
320
309
308
223
299
294
307
257
359
324
306
300
361
319
196
259
267
296
328
340
303
335
360
387
346
356
258
161
300
269
332
353
346
302
338
304
261
356
258
238
301
273
322
327
366
349
316
325
360
343
279
318
331
293
221
323
323
323
256
211
372
307
343
297
395
358
324
373
327
201
286
357
382
240
269
365
350
210
384
363
192
287
322
334
314
388
290
315
239
243
246
350
349
390
354
244
304
272
220
305
344
343
303
262
296
275
354
307
308
268
344
280
240
358
345
357
357
321
415
300
349
406
303
325
368
348
298
329
360
278
243
378
327
346
356
284
332
406
348
260
201
290
238
319
284
336
299
360
284
271
369
430
340
373
249
278
359
326
347
347
289
301
285
306
318
327
363
379
334
326
330
305
353
319
331
249
314
392
277
315
411
285
370
302
309
285
276
381
345
306
437
394
316
326
353
382
231
243
276
328
336
302
334
312
331
343
265
317
328
289
413
258
280
309
312
306
251
342
250
341
254
380
360
333
272
280
282
301
373
337
321
266
256
337
264
386
251
268
238
336
277
247
322
337
314
328
346
341
293
295
295
417
338
325
304
281
351
286
327
303
342
340
307
360
298
405
267
334
362
337
314
349
279
339
387
333
265
338
272
310
232
336
333
355
242
341
304
299
252
311
319
307
318
290
307
215
352
333
302
276
319
254
309
190
249
319
320
343
416
282
319
386
322
344
305
377
355
352
309
293
310
301
298
346
316
327
349
307
384
361
386
331
265
289
336
317
300
302
381
322
307
367
272
377
307
358
280
291
277
283
362
328
299
351
337
368
273
347
323
373
258
314
311
256
297
311
257
239
335
334
324
295
270
309
339
303
301
346
252
303
364
296
233
341
358
349
288
333
280
378
318
361
303
323
294
259
342
269
286
352
286
292
214
224
377
322
382
273
292
248
339
380
308
282
304
295
247
357
314
320
360
297
269
295
267
274
302
357
278
312
245
346
385
335
370
364
423
339
305
415
172
331
346
291
307
229
280
338
288
280
358
380
331
330
290
378
247
350
293
349
347
269
377
369
325
297
285
366
319
274
372
272
290
291
269
259
388
336
289
278
330
354
289
398
297
365
332
345
286
222
208
341
290
346
368
271
297
305
215
301
281
287
265
317
367
286
362
301
330
252
296
360
317
314
327
256
319
321
251
245
325
323
247
277
284
283
314
244
402
313
258
278
291
359
325
402
295
336
339
326
327
251
264
240
328
270
377
289
274
330
316
309
210
346
349
282
316
271
294
379
353
336
297
298
383
279
411
280
263
289
335
324
295
211
264
310
278
389
399
355
271
315
250
277
362
413
314
292
269
332
270
203
310
370
265
193
343
206
316
366
219
316
335
320
267
312
269
259
359
417
281
363
261
377
302
294
284
282
421
322
381
262
251
318
238
342
305
282
272
370
324
319
329
301
253
270
285
288
351
342
312
322
324
260
363
265
295
276
351
242
284
289
301
307
386
392
315
307
268
285
282
357
327
319
283
231
340
268
309
312
298
349
327
300
380
357
338
244
303
380
369
315
345
331
263
348
275
334
422
362
326
314
309
339
406
291
319
311
324
351
325
350
298
397
356
286
325
237
347
332
320
401
316
306
445
303
289
271
246
322
297
393
290
312
350
304
359
322
363
282
322
287
415
360
310
271
352
304
313
281
255
335
261
341
254
303
271
343
350
305
278
271
277
275
351
280
336
282
313
257
351
302
293
308
358
331
313
310
290
266
264
337
307
359
302
256
365
342
275
265
293
321
310
328
352
418
349
308
340
286
242
336
296
382
336
293
282
288
303
310
316
338
335
310
353
331
264
331
293
292
331
289
380
240
255
288
360
216
323
294
296
312
255
237
329
355
291
291
307
328
279
308
327
313
351
346
282
340
348
361
308
301
345
295
326
257
326
238
295
333
245
315
313
226
220
233
324
412
309
281
301
328
285
307
285
350
220
284
231
331
295
379
361
307
309
421
309
275
381
319
205
313
324
300
357
293
335
273
201
228
292
327
301
368
359
325
316
245
286
282
313
351
354
266
347
348
308
322
353
274
261
308
369
273
243
320
244
335
297
278
362
346
362
270
283
235
296
354
243
275
232
335
298
331
365
267
268
266
276
367
275
263
362
376
265
354
297
329
368
331
297
330
374
301
326
335
309
291
318
242
304
320
377
307
253
368
398
280
282
295
278
358
327
336
296
361
236
294
320
311
274
347
251
328
338
290
235
336
325
347
293
302
399
301
323
365
224
299
324
321
367
328
322
360
307
342
295
349
332
366
282
315
314
290
368
215
352
279
250
306
245
388
305
370
280
206
310
315
309
372
326
277
286
305
352
286
279
267
289
291
299
309
251
325
364
353
354
289
248
381
326
251
326
272
274
339
268
364
287
362
302
341
349
312
294
267
335
364
297
260
331
249
271
372
310
396
363
371
280
354
391
337
391
308
326
312
282
344
279
321
368
313
288
361
288
341
352
301
318
293
309
362
334
325
331
359
285
337
290
254
234
333
288
378
320
311
386
340
216
365
269
279
296
300
298
346
299
336
309
287
330
361
254
361
401
339
293
321
372
331
361
289
338
293
368
335
312
327
256
209
387
363
311
362
276
346
304
324
328
368
370
338
347
354
330
411
304
325
305
339
333
367
356
292
366
284
320
383
306
332
332
388
317
299
295
252
319
324
364
328
232
264
277
255
198
365
345
394
294
313
310
325
350
306
287
270
366
338
291
298
299
321
358
263
262
328
344
293
371
320
365
252
363
331
248
247
364
258
364
339
340
289
356
257
323
294
285
265
291
386
286
320
251
250
325
388
304
332
290
254
285
296
361
238
267
324
407
256
358
327
318
356
278
313
372
327
381
314
349
365
326
318
395
320
310
318
298
306
347
364
303
280
328
408
343
308
394
376
349
396
338
326
279
350
352
293
277
362
363
295
333
279
283
268
309
300
345
324
282
317
366
383
251
365
259
351
372
284
288
211
279
260
265
323
339
279
286
286
330
353
343
276
304
345
271
345
333
402
331
304
290
315
281
324
277
344
315
374
354
307
252
297
328
260
350
310
306
301
252
350
277
332
377
310
413
322
378
281
305
367
300
285
356
290
348
321
249
278
341
324
318
299
297
320
375
310
240
308
289
275
324
312
255
332
377
357
255
327
323
315
300
377
332
289
311
246
305
379
333
314
271
314
329
226
365
309
304
233
307
305
283
393
434
297
321
276
295
398
258
261
299
356
315
321
343
373
298
372
186
351
287
299
351
303
297
252
288
345
358
390
263
383
275
304
296
357
305
298
335
250
268
319
312
267
324
347
345
350
293
339
279
368
362
310
367
358
344
269
265
349
262
311
295
305
354
280
322
328
359
284
312
348
284
263
321
260
321
335
292
399
175
397
217
405
313
336
361
313
308
315
286
314
338
273
407
357
331
329
401
328
207
276
322
256
258
267
353
360
324
311
327
313
294
286
291
256
353
352
312
310
325
284
317
291
328
199
336
349
308
323
354
380
314
306
193
329
256
339
268
350
334
356
361
305
324
367
244
167
332
329
355
280
336
310
281
326
288
330
344
287
341
355
388
282
274
358
286
308
287
340
263
322
215
315
278
369
266
342
304
295
338
282
284
341
314
233
269
371
342
290
288
323
286
353
371
332
246
271
349
310
333
236
353
206
379
247
277
265
381
289
306
365
344
353
310
356
332
277
327
346
298
266
320
270
247
284
369
350
322
363
370
281
274
307
357
247
318
276
271
370
294
233
296
312
398
340
318
277
225
337
263
313
308
346
303
285
290
317
327
358
286
325
346
356
322
318
281
359
323
267
299
387
377
366
329
323
327
384
323
335
321
274
307
328
286
403
246
337
313
254
341
362
342
299
353
242
366
271
301
306
228
304
361
331
287
346
232
332
287
306
418
248
290
393
264
345
276
316
371
376
366
309
408
314
265
378
308
334
322
328
365
332
278
333
323
316
275
338
264
310
346
363
292
287
288
339
334
335
391
296
309
422
335
231
341
268
333
355
246
275
359
328
223
360
311
351
311
353
371
314
216
327
370
298
313
298
328
289
271
272
338
237
310
320
302
366
266
313
244
268
303
304
350
307
260
397
333
270
315
262
312
298
357
326
354
392
268
331
310
330
276
292
281
384
268
368
307
303
301
300
333
256
361
293
343
367
389
266
303
392
364
314
277
273
350
349
321
327
365
376
275
314
253
279
360
369
326
241
244
277
350
296
372
347
274
322
281
293
375
322
280
243
361
326
316
324
287
315
346
325
335
352
250
289
333
367
293
328
330
377
312
308
405
279
222
231
243
276
387
350
297
275
305
268
315
265
258
376
287
332
307
266
333
296
266
278
311
284
326
273
371
255
327
380
330
383
382
269
322
276
378
324
284
359
256
292
386
325
337
384
359
380
462
326
292
293
286
306
321
328
320
356
238
300
333
323
361
313
322
255
270
257
347
280
332
270
231
293
332
250
220
264
226
330
281
333
294
310
297
348
300
257
317
238
408
361
322
293
391
371
245
281
255
295
234
349
368
325
325
339
332
332
347
293
377
340
347
270
358
419
304
293
306
315
295
311
237
337
290
241
350
208
296
323
360
223
324
311
265
411
303
302
279
329
355
321
406
290
332
282
336
362
252
270
338
261
349
297
339
264
332
323
296
366
371
326
300
340
345
278
353
179
281
241
353
331
281
239
327
328
341
336
354
283
294
337
275
333
318
328
353
371
269
246
413
273
319
325
380
311
322
303
377
268
290
283
358
329
325
321
287
320
295
409
288
344
291
322
278
354
349
284
335
292
364
294
348
294
293
308
360
319
326
282
372
340
321
277
253
270
313
331
329
288
336
353
334
282
303
301
334
275
285
380
305
300
304
343
274
300
295
284
337
270
440
248
304
271
348
311
249
383
314
346
269
360
377
341
289
327
348
310
301
280
286
274
273
342
293
294
389
328
312
318
285
356
307
330
275
359
342
341
350
298
311
345
291
355
235
318
340
372
309
357
381
360
379
294
346
339
302
326
325
378
304
349
324
290
257
338
301
383
279
343
394
307
377
314
285
343
223
310
306
379
266
338
319
306
240
342
269
287
289
326
415
301
351
364
264
340
273
295
330
337
335
307
373
321
399
355
291
345
312
457
333
321
323
306
303
352
305
312
231
352
326
316
419
313
327
263
342
315
365
339
280
406
225
268
271
274
238
317
240
372
395
344
292
345
286
326
318
276
295
358
341
247
276
317
283
306
397
285
308
353
285
284
380
309
329
360
391
346
296
404
289
319
296
435
282
287
386
374
307
303
348
323
302
271
316
370
357
324
358
402
319
261
394
330
380
282
285
322
334
285
297
297
304
365
261
342
259
300
336
230
329
251
373
304
331
322
286
355
327
379
372
278
287
294
341
348
311
266
245
306
378
356
326
313
345
325
258
401
305
316
287
308
283
395
225
389
308
304
291
313
306
349
273
286
393
207
311
352
299
366
258
258
389
225
363
362
334
333
370
255
296
337
355
269
406
294
360
405
225
369
345
266
302
339
375
305
396
347
363
232
282
377
307
396
309
254
337
342
293
234
295
347
307
283
285
278
344
262
328
299
233
370
306
314
348
396
398
357
338
339
364
321
360
334
366
307
290
360
307
342
319
303
356
308
267
369
226
320
267
298
248
288
356
287
319
306
356
302
336
269
367
295
256
290
283
317
341
287
348
275
379
428
367
272
310
300
220
355
347
291
279
270
274
363
361
310
424
269
321
338
269
356
345
349
337
387
255
334
356
403
378
303
367
351
240
311
305
279
248
224
252
312
308
278
181
354
360
287
330
317
288
361
234
328
263
350
337
312
290
339
381
341
294
298
283
338
335
357
296
320
302
360
288
239
375
327
415
326
277
335
348
299
220
270
258
358
370
254
284
364
307
356
330
363
309
308
369
300
325
349
296
260
307
258
326
347
273
287
289
267
247
311
319
307
298
324
317
277
346
286
351
343
322
332
312
314
298
280
331
302
352
357
323
366
319
263
271
307
255
337
329
278
358
306
289
296
280
297
344
317
314
305
307
298
368
262
316
262
308
348
386
288
252
376
315
277
396
411
331
246
277
286
249
321
336
341
374
336
342
319
316
328
369
271
308
256
262
256
275
370
289
259
396
233
340
259
296
305
271
306
395
341
266
323
252
327
382
231
352
309
245
281
340
243
263
318
351
291
284
354
309
282
344
292
369
201
306
349
301
317
383
272
321
305
313
355
256
360
252
282
330
351
248
287
294
285
241
288
315
346
305
295
361
341
346
292
330
353
334
339
359
312
268
350
324
271
344
220
212
273
304
336
306
291
266
323
334
291
373
301
318
315
312
326
316
354
352
349
374
398
358
355
275
332
307
229
296
247
328
370
259
204
378
337
303
267
225
319
370
327
306
288
275
317
314
296
331
365
397
330
261
284
384
287
318
240
301
312
233
335
291
338
301
309
330
315
341
245
391
334
323
252
391
355
303
368
331
355
352
262
359
398
281
322
326
388
305
348
419
284
298
321
242
364
377
287
348
286
301
265
276
181
334
291
256
275
192
315
279
324
423
318
295
376
394
327
358
260
355
351
300
330
286
352
282
266
303
292
294
340
282
297
368
302
347
363
341
291
278
328
290
223
323
415
390
390
420
273
410
259
287
349
359
287
361
424
312
279
316
354
365
388
386
253
259
321
223
333
319
285
264
287
341
315
341
363
343
360
362
340
332
310
321
370
398
239
368
338
325
323
318
287
315
317
269
338
335
275
359
275
243
285
370
346
324
314
237
260
298
376
366
326
336
243
236
332
337
258
332
327
321
234
379
244
295
380
384
400
298
356
326
302
261
301
268
353
327
277
368
325
345
325
358
297
292
327
362
293
325
355
329
342
321
300
311
329
337
374
355
319
295
346
276
329
368
298
417
317
330
306
305
375
325
389
284
298
251
295
318
362
191
370
361
329
340
254
280
329
307
302
372
375
304
271
336
305
377
279
318
277
298
298
354
337
301
261
268
337
309
331
230
356
352
386
272
305
322
228
307
265
349
278
274
291
336
283
278
311
251
254
316
321
279
386
271
294
315
311
326
316
268
339
322
316
276
320
278
338
330
343
269
406
278
261
367
401
338
353
334
279
411
409
366
353
395
285
351
375
303
292
292
296
279
281
333
221
379
288
220
333
368
334
329
289
308
261
350
375
326
264
324
340
305
365
251
351
398
327
276
275
220
332
338
289
278
288
354
323
251
342
314
372
324
383
298
254
251
300
290
307
372
288
213
338
321
260
304
311
343
310
232
308
364
401
305
316
332
345
294
329
281
290
323
280
335
301
293
272
290
345
358
257
368
247
247
289
321
344
164
286
294
346
312
312
277
373
373
335
333
368
343
371
308
389
320
366
283
278
340
393
320
304
308
261
303
338
389
361
254
384
286
324
265
284
340
410
341
336
325
366
306
327
258
329
364
366
206
293
307
318
314
318
306
324
376
312
276
354
357
377
259
268
373
317
315
281
310
311
387
331
326
378
289
305
351
414
419
343
343
286
324
343
294
381
370
276
326
260
300
326
303
322
353
313
254
322
324
345
384
296
318
380
342
345
330
321
373
349
348
284
280
338
332
291
303
380
319
253
294
313
207
344
396
223
341
363
265
303
299
353
298
301
337
251
328
289
294
239
299
293
307
398
388
378
224
326
269
299
443
210
275
340
377
384
264
294
320
382
222
375
366
355
228
399
383
292
320
306
314
350
350
356
274
337
206
374
323
330
369
225
323
380
303
247
309
223
299
263
277
344
341
285
242
302
308
307
362
326
251
338
208
300
282
365
344
370
291
336
371
364
261
300
320
332
215
364
351
367
323
305
319
217
366
302
322
262
321
277
277
344
286
356
343
291
336
345
337
354
282
356
283
292
341
361
306
292
382
370
305
304
282
303
318
334
386
260
281
332
305
376
312
276
267
301
296
347
343
289
298
333
265
334
305
289
266
428
297
301
357
232
302
333
336
297
331
332
337
314
290
331
349
396
252
273
303
310
278
350
302
309
277
301
389
316
344
323
294
361
323
309
264
350
304
362
275
254
302
324
450
273
303
315
370
350
292
338
342
298
391
301
273
285
301
318
273
345
343
295
299
299
340
241
329
291
353
292
334
285
239
307
273
324
293
379
321
280
327
293
247
257
336
298
341
362
269
288
277
353
383
285
343
347
315
360
281
351
357
340
321
269
377
329
315
327
337
321
335
246
278
293
312
244
335
335
349
329
316
292
291
303
246
254
323
236
354
330
262
341
384
386
388
313
401
347
194
260
322
247
371
329
356
323
234
326
287
334
329
345
317
344
247
271
347
318
354
319
311
344
352
278
355
288
267
317
290
298
338
286
298
325
227
250
325
315
325
274
334
369
342
361
266
263
361
307
256
338
314
323
222
365
273
244
384
336
364
367
261
378
344
376
346
302
334
303
241
358
310
328
270
291
438
304
262
329
307
211
306
346
334
346
329
323
343
368
305
342
271
401
343
401
358
323
267
308
373
290
346
323
354
358
360
363
363
346
286
349
305
297
374
323
284
375
394
262
285
325
274
308
361
380
395
346
355
291
354
312
296
351
307
276
346
323
229
266
240
393
320
342
309
277
277
347
343
291
260
359
289
328
305
249
362
323
264
306
336
254
285
298
279
316
321
243
369
315
388
286
357
311
265
316
346
265
298
298
293
318
258
292
268
314
331
390
368
448
316
281
276
300
300
386
420
287
305
348
369
332
326
310
331
340
316
293
439
294
333
224
328
305
314
369
336
236
307
268
222
329
333
373
324
315
339
315
360
381
332
286
343
276
378
339
362
402
376
376
284
269
375
288
362
358
227
385
356
222
295
335
312
258
277
329
262
305
335
269
291
382
273
289
314
384
322
298
350
360
207
317
368
352
357
267
307
267
343
352
266
198
313
306
264
300
308
320
368
343
310
384
376
276
340
273
323
281
309
268
308
337
247
287
340
302
357
321
293
361
316
418
337
368
350
317
284
288
249
327
395
353
306
326
352
304
276
315
387
359
275
256
325
371
351
362
402
328
354
272
261
206
383
302
331
260
324
353
267
279
376
283
316
283
358
300
353
236
367
325
314
372
355
226
333
353
381
218
314
278
344
366
384
316
245
360
398
284
362
342
340
364
258
361
368
302
337
283
252
342
359
241
397
345
343
303
342
310
281
334
354
278
293
315
235
272
392
228
292
324
418
350
312
323
302
301
290
325
248
334
364
238
304
327
365
237
337
299
341
304
269
309
284
309
301
332
275
378
286
224
257
309
308
299
325
206
301
305
287
372
249
399
330
289
326
306
300
294
356
327
272
350
349
331
316
359
349
399
365
311
319
340
344
299
344
318
255
325
306
267
304
353
281
333
320
342
346
274
241
325
263
377
371
243
339
328
356
316
288
356
316
369
302
321
339
372
307
313
304
206
341
301
362
247
350
342
382
372
334
306
342
335
325
310
283
308
316
321
351
238
331
334
274
278
360
276
285
351
339
274
297
355
303
384
375
329
336
280
246
310
298
313
351
284
311
249
340
363
376
286
326
269
277
363
325
273
234
235
306
293
338
247
332
333
325
334
326
251
298
333
317
423
326
223
317
414
331
269
244
332
360
338
400
361
266
292
366
330
228
301
320
405
344
287
301
384
253
414
336
275
283
388
308
321
293
316
286
325
310
292
326
291
323
403
332
350
379
254
342
332
320
311
306
293
298
324
340
269
302
350
273
314
315
367
225
203
347
310
332
296
238
277
321
359
344
221
388
308
313
308
328
272
313
233
327
325
391
398
274
292
288
344
328
360
298
339
326
312
325
399
399
339
411
443
317
312
332
338
335
390
285
274
286
273
302
309
342
322
307
303
351
279
392
218
386
286
294
235
239
277
312
333
332
286
386
284
375
379
314
334
346
328
332
274
340
271
350
309
356
255
291
297
286
348
271
241
310
324
262
331
313
416
300
256
339
261
279
280
263
274
309
249
313
333
376
332
289
332
315
302
313
352
351
345
333
349
297
262
230
340
299
289
275
342
355
287
357
375
352
275
360
306
248
398
362
289
345
332
401
279
293
261
248
218
371
342
419
411
308
329
325
397
380
270
313
335
275
316
275
348
310
404
348
306
264
332
336
290
329
335
380
327
275
330
324
326
363
282
380
305
338
295
273
292
339
344
331
256
347
306
253
330
328
369
348
296
317
273
287
355
254
343
331
315
297
239
297
302
336
312
320
334
364
354
298
305
266
283
312
241
334
296
300
219
315
279
308
309
264
335
247
284
321
322
339
269
313
357
308
342
310
271
289
353
398
260
309
308
333
336
251
314
298
400
241
342
333
301
384
322
284
299
286
394
290
179
242
373
408
272
331
264
326
377
341
282
369
235
279
238
341
336
225
365
274
315
293
294
351
325
344
371
315
305
279
204
351
414
283
260
306
272
345
381
341
409
237
431
338
304
355
301
407
308
263
286
259
297
293
326
298
339
307
348
261
368
298
206
336
288
336
260
283
375
302
276
314
356
268
296
318
346
362
260
343
285
206
345
341
294
345
326
322
327
366
305
265
269
309
362
217
307
220
345
316
381
256
284
329
318
379
346
318
369
365
309
302
352
239
335
340
330
249
302
354
297
340
390
320
330
257
294
229
330
265
301
312
332
336
349
344
433
346
251
282
290
340
342
389
317
286
256
329
287
372
320
420
398
251
292
323
378
292
352
311
329
284
265
297
294
294
288
337
329
362
273
326
283
346
284
290
366
284
377
362
287
286
297
375
359
301
369
331
360
315
247
336
351
331
359
257
342
250
306
318
383
282
376
298
333
302
376
410
264
366
274
267
304
298
294
322
256
322
298
314
380
353
292
294
336
245
336
321
395
339
274
307
287
385
332
306
329
284
310
283
295
288
275
300
196
358
366
268
245
248
319
308
352
397
277
308
401
345
294
332
356
323
429
292
351
296
293
277
299
318
299
285
334
351
234
302
319
295
261
320
313
325
341
258
346
359
297
286
328
369
340
319
349
319
310
229
289
355
329
326
254
388
296
307
321
257
340
329
338
269
321
311
380
295
422
342
353
339
248
336
283
304
380
311
261
334
227
319
304
269
315
327
323
367
358
207
306
317
249
365
229
277
346
372
269
319
400
345
317
247
342
338
323
378
362
338
337
251
274
355
321
310
324
255
283
322
223
326
204
318
295
328
281
290
362
316
280
276
314
348
376
280
277
354
369
310
382
287
339
400
325
254
309
346
390
298
385
349
370
226
322
303
371
309
299
339
329
335
302
267
255
356
287
318
332
338
303
311
301
294
311
326
374
355
295
386
291
341
358
359
318
304
329
317
418
380
324
300
330
202
254
291
239
404
326
284
294
344
344
357
331
427
283
306
288
315
347
253
344
354
326
309
318
297
281
303
402
348
267
229
330
272
269
285
360
350
376
336
367
292
322
365
220
353
321
356
321
218
358
317
309
344
309
329
357
356
290
255
333
305
349
275
304
353
335
367
324
263
274
358
202
386
382
313
317
307
230
252
316
339
342
306
340
330
314
316
313
384
297
290
297
308
323
307
286
303
311
312
322
353
364
335
345
364
354
359
300
331
363
297
375
307
313
226
373
270
396
352
346
232
257
310
259
298
299
347
232
391
347
318
296
360
253
252
227
457
229
332
311
309
313
307
302
364
379
332
291
335
342
277
415
281
300
360
251
280
269
308
263
373
331
294
368
309
283
286
344
247
241
383
304
321
302
356
308
292
321
296
170
319
305
349
298
362
400
256
345
276
347
303
306
251
316
371
305
303
359
403
365
340
304
232
359
316
233
282
250
352
336
254
341
356
233
328
416
310
362
348
234
328
369
303
312
342
293
281
323
341
385
342
315
328
330
372
216
345
126
185
297
366
223
282
307
261
327
288
322
336
382
270
319
354
317
292
220
255
329
328
384
288
331
308
404
223
406
290
341
258
216
311
309
354
315
264
323
331
336
292
411
255
314
309
348
267
309
233
247
323
318
231
298
226
343
274
289
261
335
337
288
261
278
284
349
335
229
337
273
359
320
381
377
317
346
293
351
286
325
285
384
394
273
380
228
315
294
318
357
336
308
309
363
350
276
338
342
282
282
285
338
277
375
270
293
200
342
215
334
302
303
279
317
280
345
318
229
343
372
334
281
287
332
312
254
307
326
351
319
260
370
325
354
398
313
336
272
324
374
392
252
222
328
261
377
338
200
311
306
334
359
245
294
334
270
318
288
345
267
343
254
325
324
356
294
302
284
316
326
371
371
367
334
271
246
283
315
365
325
300
286
271
372
249
351
344
399
364
303
398
286
260
317
403
291
303
364
330
344
315
317
283
379
259
292
302
258
241
326
305
314
319
294
258
354
313
287
297
302
351
312
275
283
334
235
353
320
341
342
244
352
222
321
335
278
282
327
339
358
306
388
290
320
335
376
300
389
402
346
275
275
399
255
233
355
335
324
328
233
277
299
314
316
351
356
261
307
371
322
309
321
289
302
313
328
276
323
315
295
275
280
312
284
330
241
294
299
358
301
270
233
402
363
345
277
309
279
431
309
346
381
294
285
373
322
360
313
307
280
293
356
363
369
385
271
296
283
290
298
292
327
182
305
327
358
257
325
341
282
331
291
294
246
323
342
349
370
262
309
369
303
353
344
249
350
275
333
335
392
210
333
336
310
335
376
355
314
390
333
355
368
256
301
361
284
251
346
342
350
307
306
246
262
380
360
348
348
369
441
394
343
299
415
301
390
365
317
343
362
312
353
282
267
314
389
237
234
280
299
344
349
365
382
303
307
326
288
341
352
386
298
306
270
228
313
350
349
301
348
308
304
323
263
319
235
278
312
310
377
327
329
280
255
370
385
280
365
288
334
303
332
377
355
262
348
301
348
368
299
333
268
260
356
272
318
282
271
363
344
329
311
364
252
325
318
394
277
257
356
342
334
345
318
248
335
343
354
360
326
298
332
268
317
343
297
295
365
265
362
303
356
224
260
316
259
314
315
289
310
351
288
242
346
266
280
257
274
255
306
395
375
288
337
284
315
368
282
319
314
332
316
324
278
269
271
322
270
339
336
281
298
294
376
321
291
361
347
373
224
290
369
371
328
294
390
348
393
279
283
310
289
301
327
255
299
263
266
299
271
360
351
324
295
350
334
316
200
306
275
282
351
330
330
286
398
341
305
246
256
306
327
385
256
318
293
278
302
369
288
310
304
281
280
307
307
339
305
243
283
337
318
271
368
281
292
226
342
309
315
298
316
279
234
322
362
319
308
338
338
338
316
345
284
251
307
403
290
312
356
390
363
248
295
315
287
338
289
336
276
321
333
312
278
267
328
259
320
346
305
349
269
348
309
314
271
213
341
301
351
243
349
348
282
304
345
333
308
298
356
378
297
376
324
233
366
315
318
309
296
321
250
312
333
282
234
336
282
298
306
278
295
290
262
374
253
378
338
353
312
387
324
344
336
374
420
329
319
318
233
275
264
255
324
300
278
326
296
326
331
376
323
225
295
226
260
339
240
181
341
256
255
305
392
324
293
350
248
330
349
293
371
372
287
316
259
227
404
340
298
304
292
260
377
346
198
382
345
391
305
309
337
287
291
305
274
322
306
314
251
337
291
252
291
372
330
354
258
304
331
273
309
302
339
291
330
297
287
332
257
430
283
311
317
281
351
227
258
329
361
342
300
373
270
308
297
275
341
296
231
318
329
293
337
364
322
343
337
357
311
341
311
360
356
277
329
310
362
248
211
283
312
336
268
316
325
380
306
331
379
327
311
268
319
362
266
283
359
341
351
304
279
292
292
423
268
347
308
378
284
325
313
370
295
263
318
296
331
328
395
325
281
286
305
300
273
258
331
242
308
318
379
276
427
288
344
325
289
349
366
352
291
343
347
299
267
361
298
293
261
331
295
275
372
289
308
350
325
359
320
350
310
251
342
357
305
244
283
272
316
276
319
335
346
377
335
341
345
240
340
389
275
361
353
310
299
317
300
352
260
344
271
181
255
350
274
296
300
409
371
263
311
353
354
359
356
284
221
388
295
322
359
348
267
241
311
306
348
270
330
327
297
277
318
244
259
342
286
281
326
366
319
278
331
307
287
327
348
343
334
257
327
263
263
314
387
313
300
305
284
303
285
305
163
330
311
351
315
364
348
380
316
272
315
309
314
365
285
283
279
349
338
302
407
339
319
298
272
265
353
299
335
317
348
325
285
339
348
326
309
318
232
307
289
233
294
362
330
339
364
353
288
291
300
346
300
332
369
275
349
312
276
328
340
348
359
327
312
302
329
389
335
284
198
283
295
308
262
345
330
339
326
320
335
317
215
282
349
368
288
298
307
288
327
297
355
326
320
248
322
289
288
243
358
384
371
355
286
407
331
405
324
280
365
314
316
302
237
305
251
405
324
240
327
378
269
325
264
383
282
323
296
374
337
349
303
367
285
312
391
306
264
295
352
273
289
318
264
244
296
314
255
325
347
328
238
435
417
360
269
301
313
297
345
261
304
304
295
343
245
311
333
215
333
341
324
307
285
283
297
302
318
367
372
375
261
317
345
241
297
350
400
343
322
274
346
404
297
341
336
331
272
272
309
327
322
328
309
249
258
379
333
308
274
350
308
283
296
294
337
397
285
325
350
352
295
245
318
301
301
337
308
327
302
312
248
347
303
274
386
309
303
231
380
337
318
306
323
335
284
398
302
242
233
285
307
328
374
312
275
286
324
294
238
351
337
282
350
306
356
372
269
423
295
331
269
366
299
345
332
375
317
248
327
305
322
247
290
353
291
313
358
348
252
298
384
334
374
315
296
342
298
285
396
349
279
313
273
277
255
255
258
283
364
306
338
340
329
355
250
277
305
220
358
308
286
333
321
344
372
327
291
271
306
289
391
375
334
280
353
348
326
333
375
341
341
339
341
347
359
381
285
327
360
337
355
245
256
281
325
379
345
254
286
302
309
271
340
317
354
340
337
348
292
360
260
291
351
360
264
295
317
364
376
381
380
303
321
335
395
315
287
254
290
417
244
251
314
346
289
267
310
321
372
282
360
300
326
358
319
231
295
281
318
280
292
366
257
234
325
363
397
387
348
277
323
363
268
275
293
273
297
322
347
330
240
302
312
317
422
413
259
334
309
328
330
306
325
264
325
299
364
353
324
312
256
294
283
343
358
302
300
383
334
327
309
293
367
276
289
300
356
348
313
344
331
361
288
316
273
311
320
387
451
353
196
365
224
261
217
317
312
292
364
301
370
312
311
237
325
382
271
280
346
196
310
356
305
244
314
316
383
326
346
238
358
310
260
374
395
242
264
320
234
276
311
275
283
360
293
261
302
337
338
334
291
327
317
266
286
287
349
310
317
265
309
338
338
299
261
336
311
325
406
285
230
173
317
301
375
322
323
368
240
297
281
340
387
284
281
393
333
246
339
316
327
262
366
332
292
266
326
331
317
251
287
340
361
330
308
259
341
296
331
321
268
372
318
303
335
266
361
356
337
300
360
334
315
302
305
324
316
334
357
365
392
338
275
338
294
363
426
336
359
252
318
290
234
287
317
300
349
272
339
365
321
283
309
347
380
365
296
257
363
324
368
277
268
245
236
362
247
313
279
309
263
316
275
298
330
346
260
317
296
338
325
313
321
307
334
405
241
341
327
297
337
294
310
265
357
277
267
324
312
284
378
272
296
352
278
346
294
338
349
274
352
331
392
301
220
311
301
350
312
344
414
376
251
311
304
351
278
359
271
311
309
248
329
299
367
281
291
354
355
333
251
244
380
297
302
288
297
314
337
359
285
376
317
323
316
307
404
281
260
347
390
318
282
278
322
225
257
324
282
368
327
362
293
323
310
298
320
294
234
348
391
317
275
280
371
339
348
332
347
228
292
373
359
272
347
283
364
218
363
293
314
373
337
348
280
352
381
225
314
347
306
378
411
351
341
387
260
369
315
262
316
345
376
325
306
290
291
282
320
332
360
324
334
264
327
386
327
273
311
283
321
338
266
370
266
256
432
240
295
325
232
365
360
322
265
300
305
305
325
372
269
309
299
306
332
314
285
371
358
277
362
301
281
291
320
360
250
279
366
320
259
357
306
323
359
245
219
353
318
312
293
353
352
312
339
355
310
285
300
311
297
353
406
321
306
242
289
351
336
331
319
381
366
314
269
323
254
294
326
443
252
292
264
364
317
277
303
373
346
336
369
275
275
272
300
306
299
290
404
383
280
385
259
320
375
310
323
255
378
386
291
329
312
256
275
400
337
319
241
350
356
320
254
326
316
262
329
386
325
355
333
378
349
290
208
346
351
338
359
287
291
310
255
283
320
313
200
351
303
370
352
278
320
230
297
307
333
385
302
295
388
306
233
255
237
317
318
307
369
256
381
328
321
318
320
330
267
309
283
378
345
334
337
409
276
341
256
337
343
342
382
351
375
348
304
308
217
336
325
370
387
304
315
306
307
248
319
354
287
301
337
260
320
305
350
401
287
312
354
267
235
323
328
387
288
303
183
263
254
291
238
374
354
297
325
260
281
300
372
329
340
267
338
320
258
320
293
266
299
266
313
323
228
300
256
316
373
423
268
325
269
286
282
371
305
339
365
305
342
292
299
290
281
430
360
349
273
338
300
396
313
281
276
357
348
299
302
373
291
328
331
269
385
354
315
305
339
239
344
297
305
277
248
389
410
338
363
261
233
256
307
299
345
320
315
332
311
327
258
389
304
346
340
247
293
300
209
311
317
208
271
224
283
266
380
254
312
343
301
306
272
288
307
406
250
277
367
346
370
393
310
347
387
266
330
285
320
310
258
306
374
310
295
291
284
276
334
293
204
324
318
341
281
343
346
283
355
300
240
424
327
258
363
389
336
338
261
299
244
329
320
319
351
325
357
295
387
308
310
391
290
341
294
328
344
287
350
318
256
391
333
339
220
309
392
375
283
346
344
284
276
289
230
264
355
309
295
333
339
279
280
334
270
238
343
276
330
363
365
203
320
291
281
330
233
333
319
320
320
451
297
330
315
317
388
328
331
363
272
231
288
362
337
316
310
301
308
298
288
330
275
305
316
270
327
334
225
351
293
261
322
329
343
309
381
286
226
243
208
328
306
302
323
430
314
284
244
319
327
270
348
303
403
382
246
286
293
299
250
279
354
361
325
358
310
317
392
334
337
361
246
392
349
350
279
371
323
294
217
326
305
300
285
299
285
311
282
358
256
215
272
330
359
244
279
266
331
328
286
257
272
377
397
291
274
342
354
278
327
253
307
279
207
303
310
341
274
320
316
304
320
401
262
349
349
319
307
369
331
265
349
299
279
406
367
238
320
299
364
378
385
416
241
351
351
235
410
255
305
415
382
292
358
388
235
300
250
287
324
317
320
332
257
332
190
324
317
338
424
386
303
344
335
377
297
282
297
254
296
357
297
365
313
354
361
277
305
361
293
384
294
349
371
353
304
354
295
313
307
319
344
337
310
273
360
319
310
337
314
293
352
304
354
363
306
342
384
315
282
359
318
325
314
258
391
356
273
283
402
281
301
330
289
315
304
340
357
343
357
235
397
262
281
292
296
278
313
337
306
341
374
287
314
279
218
356
208
351
341
315
199
412
254
317
311
321
209
292
394
248
352
356
291
263
270
275
326
276
346
317
301
331
364
318
278
319
225
357
289
348
269
308
327
285
351
348
369
296
271
354
291
289
324
277
343
261
310
286
315
289
304
324
425
367
296
190
272
265
310
311
283
304
336
315
240
279
297
233
349
328
411
349
367
327
342
314
347
340
277
289
269
374
253
357
375
290
324
355
344
365
279
311
277
314
320
303
359
374
313
349
274
386
329
319
368
257
325
327
321
307
311
269
322
282
282
271
257
262
320
282
348
295
347
196
297
227
264
260
328
233
332
369
363
324
220
268
310
325
291
355
270
330
347
355
280
239
235
325
248
274
388
271
398
323
364
305
268
377
348
322
306
290
263
299
284
339
292
279
324
334
335
210
313
338
313
349
370
289
335
316
280
253
275
291
312
308
299
287
270
282
314
243
385
309
294
292
334
319
300
186
408
305
289
323
294
331
396
362
345
257
319
228
291
256
335
336
383
290
365
241
241
343
327
301
335
238
355
280
330
287
309
297
261
386
351
411
263
357
394
224
293
340
265
238
380
404
281
379
351
352
308
355
350
377
325
314
273
316
274
277
280
305
315
336
294
350
371
307
402
332
311
261
332
346
318
397
361
294
366
251
391
284
304
375
368
342
391
285
278
282
322
309
321
309
399
306
367
291
395
328
317
343
308
264
288
317
373
238
352
378
314
309
284
304
306
261
287
339
319
321
291
295
367
303
257
327
244
311
307
324
298
376
258
283
328
311
284
307
362
364
295
301
238
415
322
266
312
243
313
361
297
293
328
296
273
277
344
283
290
305
366
354
262
359
344
246
358
322
286
300
335
295
319
328
374
284
347
292
285
263
325
376
252
324
265
275
277
207
339
336
306
308
328
320
353
309
281
244
371
244
300
442
377
322
263
294
337
293
267
382
261
336
318
267
296
284
395
335
297
303
347
283
289
360
235
308
263
262
280
370
238
249
252
330
328
351
294
311
351
380
334
277
236
224
252
357
352
364
300
285
316
354
323
296
365
343
374
353
274
307
234
297
280
343
313
343
311
299
363
263
316
343
346
338
356
261
299
308
339
225
327
380
326
368
356
240
277
282
329
375
228
266
322
335
355
294
248
308
252
250
315
259
345
327
350
277
281
312
274
279
349
247
301
368
360
311
229
358
263
339
342
305
286
300
436
354
360
327
314
369
386
349
419
330
239
246
233
312
363
264
312
319
334
300
271
289
303
310
364
306
317
314
305
420
255
309
249
357
323
298
362
314
318
318
212
284
280
333
352
313
385
306
322
303
344
303
250
302
294
312
279
350
304
302
327
290
278
317
277
385
343
335
354
302
213
339
389
250
280
306
356
279
297
384
306
338
332
272
223
313
309
348
331
260
294
355
338
360
326
262
286
303
328
309
401
284
353
313
355
287
407
325
295
341
238
270
349
280
318
239
364
355
343
312
311
371
319
340
343
339
410
269
378
289
315
337
341
250
333
299
307
302
322
358
336
329
282
334
372
280
315
361
294
242
322
375
305
277
311
338
311
332
360
347
284
389
310
247
331
303
354
340
366
241
332
363
302
325
335
270
249
354
284
285
313
346
301
341
333
346
271
334
307
340
376
304
304
307
207
293
305
301
277
395
287
339
357
248
322
283
313
280
367
358
332
340
383
372
265
402
271
382
198
328
352
316
237
339
210
362
287
313
319
334
346
275
297
283
344
380
341
305
314
299
358
228
382
357
248
301
305
299
237
321
298
410
267
277
214
380
324
329
337
332
364
278
285
319
325
330
299
363
319
322
346
332
431
373
301
320
367
308
297
376
281
367
338
273
284
255
278
320
288
299
383
290
309
356
285
352
313
359
279
329
247
306
276
337
297
310
209
324
244
355
317
382
356
261
239
351
260
289
378
314
277
295
370
276
331
358
196
293
266
265
300
343
307
241
316
253
389
387
401
361
318
329
289
271
274
300
305
244
288
293
343
280
237
269
221
339
295
311
322
379
295
315
326
357
278
267
337
246
395
328
226
319
381
329
356
300
262
351
369
288
352
275
333
266
326
276
262
242
357
254
307
339
327
312
357
311
402
262
262
296
386
311
347
309
350
269
306
249
312
304
356
340
265
311
235
289
267
357
348
376
290
295
375
322
300
303
232
235
351
364
328
318
345
320
302
318
349
245
267
349
305
273
267
271
402
356
330
333
339
264
273
329
283
364
312
311
317
283
324
308
302
347
368
351
331
317
296
249
277
299
220
317
259
249
335
353
310
324
288
271
395
348
291
299
306
285
363
258
321
264
220
367
281
337
336
272
318
341
279
283
318
262
302
295
304
341
378
312
297
292
319
338
399
261
339
327
222
337
240
362
385
270
332
369
367
298
347
302
296
300
294
263
317
314
315
323
341
296
333
337
224
354
337
247
276
335
303
299
245
307
317
318
180
289
290
277
417
334
235
283
317
304
331
261
255
302
247
331
377
253
308
324
289
374
352
255
321
267
330
227
332
356
375
305
317
242
354
247
335
326
326
335
301
295
331
258
280
243
272
330
337
324
285
284
361
381
297
310
314
328
356
404
281
307
392
314
247
367
307
347
354
285
303
308
358
360
376
248
349
263
320
321
356
340
265
326
316
317
259
313
333
330
354
260
314
288
309
280
278
256
338
261
282
238
338
292
366
384
391
312
329
311
271
327
369
385
234
378
308
369
342
312
338
371
302
355
422
317
271
283
311
309
265
378
291
354
324
296
257
278
415
352
279
376
303
356
363
368
329
326
316
364
300
363
333
286
312
335
292
209
317
360
274
297
320
297
299
334
303
413
373
292
245
294
333
388
342
264
365
258
285
332
353
307
328
299
338
328
351
358
325
292
295
286
315
365
319
357
326
309
298
312
269
361
321
379
309
306
357
271
330
335
260
288
347
319
349
223
322
254
314
249
334
292
274
366
333
425
296
294
335
402
303
307
305
214
327
306
356
363
317
243
337
342
237
368
334
390
342
293
361
347
327
362
292
326
318
327
328
324
266
378
433
224
335
296
316
308
388
284
368
307
286
345
272
287
395
373
359
336
278
246
313
353
298
260
292
235
334
302
375
324
291
350
361
272
251
255
266
351
377
256
433
363
311
342
304
335
354
326
292
382
345
261
310
288
323
387
270
319
300
352
343
309
314
267
326
351
352
285
341
264
377
281
283
267
319
367
291
422
315
294
303
276
317
331
263
302
316
326
345
325
266
281
326
399
305
411
313
386
267
312
363
276
340
363
315
306
299
317
271
360
324
304
223
332
302
321
369
278
338
335
283
261
319
338
405
265
406
320
309
285
332
322
314
349
291
298
355
282
395
366
297
327
240
337
353
330
280
311
312
322
292
273
394
353
386
323
303
355
320
347
410
287
389
264
237
257
322
361
342
231
330
263
313
394
368
292
226
373
333
306
249
372
251
299
335
324
283
329
268
266
333
335
344
305
356
331
307
337
326
297
315
372
298
249
298
335
281
192
328
350
343
324
316
316
304
328
276
309
326
344
320
285
215
333
336
253
268
346
290
348
378
253
341
231
379
337
276
321
255
263
421
352
300
307
346
297
317
303
320
259
375
326
387
305
316
302
313
295
343
370
281
315
342
388
286
310
260
331
317
354
270
321
315
375
355
368
234
321
258
315
301
243
358
276
305
309
414
336
298
282
322
356
388
327
336
248
308
299
380
313
325
303
306
220
301
396
354
295
318
352
302
321
263
273
271
345
329
390
338
303
280
255
344
324
297
346
301
362
415
317
387
288
333
288
297
290
270
252
347
262
281
299
368
349
356
305
335
390
332
276
252
343
367
312
349
252
280
299
272
250
410
346
314
341
251
290
329
315
352
351
249
329
265
339
356
335
385
300
252
241
329
370
254
299
335
278
366
338
363
307
345
211
329
273
308
314
393
380
352
320
331
339
343
240
286
346
297
280
289
325
237
306
320
319
363
390
355
286
312
334
327
262
242
354
354
384
328
434
386
302
352
281
325
359
356
357
352
258
303
379
300
297
355
271
352
435
350
325
282
325
290
326
376
294
381
311
327
359
285
357
355
289
303
411
344
324
312
359
352
372
274
355
282
255
380
280
311
317
306
189
263
333
301
287
313
360
276
304
246
294
236
312
342
348
245
309
320
228
285
338
313
324
308
360
295
273
374
379
378
271
360
362
300
332
328
347
329
299
340
389
310
299
391
307
367
398
282
346
348
280
319
294
327
397
288
317
307
236
278
361
333
290
306
334
361
303
351
271
277
302
293
336
294
223
260
287
329
388
302
326
288
319
283
288
284
324
369
350
291
301
283
303
333
219
318
374
362
336
305
348
378
353
317
321
305
275
309
375
336
396
350
333
269
355
334
338
337
323
339
350
346
397
401
329
366
304
310
317
319
359
329
329
268
366
291
264
350
316
310
300
246
275
278
327
322
353
320
354
350
267
418
297
349
293
325
337
310
290
297
387
302
343
338
339
297
206
340
325
284
359
325
296
304
298
309
306
337
332
354
352
301
254
256
238
345
376
351
326
321
291
348
300
369
320
345
363
321
274
301
318
316
261
280
321
369
315
296
326
263
323
291
319
356
313
273
350
342
287
221
267
266
310
268
343
258
376
239
301
281
300
325
353
305
310
316
297
309
341
291
320
260
323
316
312
254
250
343
282
302
294
315
371
264
269
307
289
312
348
301
395
374
287
228
318
251
301
309
303
307
285
213
288
267
266
342
306
356
347
318
368
301
324
280
308
384
334
307
327
257
319
329
335
279
359
285
294
345
327
353
316
202
393
348
329
269
368
268
316
379
367
299
339
227
281
308
297
304
297
268
312
299
292
341
251
237
280
359
304
301
295
352
296
344
260
400
300
282
317
287
337
323
277
365
365
279
306
221
309
279
333
310
318
338
340
290
320
312
347
354
289
358
280
328
275
310
357
326
359
290
250
295
261
311
319
326
361
279
234
266
323
273
312
326
350
259
236
325
280
211
404
362
383
242
389
280
352
240
258
227
317
260
219
320
314
350
284
238
299
329
252
323
342
369
411
294
247
323
380
301
374
332
329
376
273
322
339
241
341
283
282
369
288
327
265
312
348
324
379
318
354
297
458
280
313
393
319
307
315
307
402
319
309
336
244
277
340
314
334
349
243
281
365
290
332
325
295
413
372
315
283
298
351
290
313
277
239
315
242
274
273
368
327
336
303
336
292
359
291
294
275
275
382
316
272
328
360
310
320
359
243
324
363
301
330
303
349
296
304
318
280
326
360
214
279
366
351
190
269
305
299
241
329
364
410
280
321
236
326
330
283
338
301
251
332
228
279
295
327
311
236
299
371
290
395
339
277
256
396
359
205
348
333
305
327
385
307
330
261
350
291
295
296
338
307
378
379
350
318
262
318
248
362
291
356
231
341
334
271
228
237
323
349
326
373
310
386
351
312
388
297
284
291
344
334
296
302
328
313
209
268
340
292
358
312
285
320
348
250
354
310
259
343
367
315
319
385
287
284
286
338
324
279
391
283
346
365
372
342
250
309
385
355
271
247
314
363
234
333
318
274
339
315
313
239
252
251
371
323
329
328
245
352
291
282
346
357
333
390
292
355
214
342
343
385
376
394
284
347
285
346
335
371
335
322
343
339
339
270
362
287
319
356
336
375
301
282
293
311
291
314
374
271
276
279
349
255
258
290
262
284
354
336
311
325
232
282
314
280
264
313
346
344
327
267
332
269
345
340
266
295
303
259
365
299
301
438
373
348
420
271
274
362
300
271
335
296
238
291
313
360
321
397
321
366
221
368
283
363
338
348
224
327
392
429
361
259
313
351
312
363
284
295
320
239
234
227
305
359
302
339
317
291
249
344
253
308
328
273
278
337
389
264
254
325
375
249
296
411
285
310
322
252
340
282
290
322
306
348
326
284
331
319
340
356
333
373
299
356
361
339
348
355
259
336
347
276
387
386
278
345
288
280
312
329
309
311
290
377
326
362
319
352
305
300
326
291
354
242
334
304
295
234
288
328
348
248
317
330
343
295
311
307
259
315
327
308
340
210
322
264
300
280
254
297
351
306
316
270
315
421
338
265
280
268
255
253
340
327
322
309
351
317
299
322
307
287
303
327
317
291
385
299
304
307
317
317
273
390
423
293
353
254
281
306
301
279
262
301
322
244
311
364
383
342
279
279
275
344
328
334
313
326
340
300
326
292
282
301
356
283
334
334
270
280
307
374
327
313
183
258
260
400
371
304
372
344
280
309
368
291
352
297
342
260
308
210
339
336
381
337
287
322
409
288
333
350
317
304
245
274
341
312
367
291
277
304
427
344
344
345
344
321
327
264
290
318
305
334
300
326
310
323
324
249
382
321
317
293
340
334
402
384
286
371
237
294
320
278
266
318
386
351
309
368
319
337
285
339
365
365
337
359
295
326
334
344
328
366
267
320
357
330
296
386
275
315
288
406
302
311
321
246
282
284
365
354
283
306
388
388
328
357
335
208
277
318
386
304
278
333
333
319
290
243
289
334
335
309
259
331
280
273
267
386
339
340
318
277
375
361
287
283
339
373
346
283
353
267
221
371
317
353
289
253
337
274
246
343
287
375
310
315
293
422
342
352
395
342
248
410
349
328
281
328
380
275
338
353
318
341
353
342
367
297
362
391
374
326
351
266
332
326
366
376
321
314
296
289
320
315
419
293
354
343
368
294
277
326
290
270
323
282
253
214
275
293
348
276
368
364
314
296
267
244
248
320
329
234
381
347
365
312
312
268
338
333
325
339
350
380
262
344
304
286
398
329
326
327
333
324
292
345
379
320
326
352
407
317
270
244
243
331
344
286
349
351
289
274
332
335
273
412
352
323
331
277
320
295
316
373
365
326
326
356
291
384
237
362
294
299
405
306
331
288
209
308
284
271
319
396
422
316
331
336
318
246
293
193
337
381
288
333
362
254
363
347
355
310
370
359
301
366
388
314
318
334
249
334
284
348
315
290
352
375
318
307
338
334
281
256
274
264
340
304
406
284
322
326
270
279
359
399
344
370
290
382
307
406
305
241
256
352
383
260
333
323
300
364
390
343
406
237
279
253
305
300
306
384
359
305
392
271
352
407
334
303
265
253
280
366
334
300
268
302
319
258
302
276
319
294
285
283
345
371
352
331
266
326
331
247
329
339
287
307
271
328
342
381
318
279
431
341
334
286
359
400
289
187
331
269
328
409
384
351
263
359
296
292
278
330
338
313
253
329
279
392
361
287
273
315
339
296
403
211
294
284
340
291
399
271
320
387
378
293
336
338
278
333
355
329
354
303
314
323
309
252
310
291
289
373
318
292
340
404
266
347
304
268
314
354
313
354
360
377
320
333
344
347
209
356
318
346
369
307
286
300
287
360
317
272
374
344
270
376
286
308
243
294
257
296
337
336
349
338
237
398
358
296
322
311
295
362
370
298
258
339
323
322
338
326
261
310
313
323
379
374
309
344
262
243
364
308
379
368
301
335
390
199
312
334
303
379
356
335
295
262
275
361
356
325
295
327
363
286
293
324
373
333
310
359
278
336
269
274
312
411
274
392
364
278
264
358
332
379
309
342
262
307
387
284
214
338
339
219
266
311
245
386
316
362
251
289
377
320
329
315
281
329
337
291
279
317
329
326
244
277
306
250
370
253
330
245
275
365
326
408
303
299
345
356
300
409
447
333
321
366
279
373
351
265
379
318
256
336
342
356
385
276
279
308
256
333
366
299
321
381
358
361
247
361
410
274
288
286
376
326
389
396
281
392
421
422
283
356
298
278
355
365
275
288
417
337
301
331
317
385
273
340
316
334
309
356
363
374
246
343
346
319
322
292
282
299
248
289
372
255
294
353
320
233
273
288
299
306
293
292
339
369
318
278
317
320
269
334
409
294
289
331
344
322
399
332
308
283
286
259
337
422
337
275
304
325
348
293
340
349
298
310
404
348
283
377
326
205
310
288
244
341
280
230
267
376
358
356
269
355
319
260
308
342
437
329
348
304
354
326
300
324
291
339
260
354
312
374
386
348
305
287
336
217
370
376
371
313
263
256
290
263
302
290
401
379
395
335
325
306
288
390
287
354
332
234
354
337
399
337
316
252
338
327
332
331
311
356
393
295
246
299
311
354
220
336
274
325
359
340
347
231
275
240
308
323
319
316
262
312
239
424
283
310
341
255
326
327
273
403
359
254
358
390
299
283
343
345
319
395
287
353
253
275
200
327
352
327
301
322
357
376
334
359
315
333
213
287
365
356
276
258
327
330
338
336
342
362
364
300
331
373
306
318
307
232
342
306
313
284
353
358
233
297
288
254
296
256
322
342
282
408
325
304
333
335
392
297
304
336
361
343
310
356
369
262
362
294
369
321
273
324
344
328
393
307
344
296
283
313
337
317
341
278
295
363
320
362
372
298
335
267
289
367
239
290
261
280
300
322
337
376
270
355
355
265
332
351
246
355
267
304
276
344
432
339
247
320
302
292
348
255
315
280
344
327
268
220
377
367
301
323
249
320
349
368
314
335
342
264
355
370
373
239
239
264
356
303
395
263
341
310
382
326
333
322
350
229
210
259
200
342
301
311
316
329
315
368
277
390
234
377
301
338
269
308
314
288
303
281
258
328
339
350
330
280
278
324
316
234
289
302
349
359
315
281
350
242
370
313
317
284
319
200
340
306
287
246
317
257
296
341
335
305
355
207
333
344
320
230
361
330
299
309
278
357
276
393
394
359
335
278
341
350
388
339
185
444
346
342
323
233
310
303
390
281
346
295
299
294
363
247
331
296
318
306
313
280
364
362
266
364
246
328
389
292
285
295
218
226
374
319
338
392
348
350
292
246
289
268
253
260
353
394
284
319
360
219
357
243
278
301
321
364
285
281
292
300
262
373
409
283
316
301
361
259
330
248
240
254
275
375
322
373
297
298
279
347
274
253
324
308
323
327
331
292
288
294
297
315
276
298
274
331
355
250
370
292
364
352
397
300
350
344
347
346
262
235
284
233
276
298
227
381
283
273
341
361
295
322
288
301
347
316
414
365
312
254
351
282
314
343
251
275
273
327
263
370
305
376
287
322
383
330
316
223
276
281
366
319
300
327
302
340
386
357
370
310
313
287
341
227
237
260
276
272
254
289
307
291
315
277
383
357
250
346
286
312
285
311
336
345
247
372
323
287
369
282
322
297
320
350
337
244
294
267
380
387
218
318
331
370
266
399
271
293
260
274
263
250
278
291
246
254
372
316
297
279
264
341
263
302
315
242
325
333
327
404
262
293
372
267
304
308
314
261
312
277
427
304
214
272
314
264
322
315
257
289
348
272
354
351
264
251
298
335
318
318
325
280
337
332
261
286
234
287
350
307
316
314
296
384
250
300
298
370
269
291
324
366
361
293
351
317
328
250
365
334
262
274
287
296
371
332
329
272
380
324
273
281
326
284
431
247
314
294
304
348
388
340
361
211
322
281
430
346
286
321
281
236
311
351
292
373
311
333
375
311
371
392
313
325
298
329
365
345
299
330
269
299
304
310
378
370
379
307
296
335
336
363
332
361
306
348
292
229
366
228
323
359
340
313
270
273
349
313
329
249
299
251
350
379
289
298
329
332
256
333
295
340
353
233
333
256
277
298
351
359
318
280
252
297
312
262
260
342
280
317
386
370
298
312
263
329
277
357
354
266
323
275
338
318
344
297
327
376
308
359
330
333
341
370
367
281
317
353
324
394
314
376
311
336
319
309
282
384
345
317
334
352
275
338
319
262
327
249
288
386
292
357
365
337
367
295
268
285
279
245
299
340
362
292
285
279
316
339
294
362
294
356
282
346
288
310
346
309
325
331
285
307
304
338
345
271
327
205
273
304
301
226
257
304
301
331
345
326
373
386
302
307
318
261
274
344
299
344
347
437
319
296
352
329
327
332
350
311
281
339
313
305
329
345
289
292
326
270
299
314
293
332
380
305
269
378
356
296
252
222
333
295
326
337
306
328
378
337
344
376
342
376
299
259
311
327
278
336
369
288
321
278
253
361
316
373
355
308
303
307
299
262
328
295
339
312
248
339
321
352
342
365
290
353
322
244
386
296
365
369
338
307
273
231
452
378
316
277
344
348
304
354
326
347
364
303
349
336
281
320
271
257
281
301
283
219
246
298
275
319
323
384
324
380
319
369
344
353
302
326
358
338
328
314
306
323
350
281
315
305
281
295
256
326
253
263
286
278
291
279
316
245
400
282
318
366
329
302
332
321
288
290
353
259
322
300
267
336
295
290
325
316
274
369
316
300
399
306
246
280
275
356
314
380
303
270
333
322
293
289
311
312
308
332
363
295
322
318
229
333
333
337
376
248
339
377
386
328
370
265
348
286
254
353
359
346
235
243
328
378
285
334
352
298
293
300
322
283
366
331
326
407
245
307
329
311
276
319
339
293
400
300
308
251
302
336
333
360
315
298
333
355
318
385
203
318
280
344
293
234
341
272
290
303
321
282
394
286
273
284
334
288
396
354
252
268
325
251
322
369
316
287
296
304
347
345
318
357
359
287
360
301
357
371
318
307
318
329
304
316
280
315
321
313
286
259
321
349
308
349
312
307
330
308
318
381
327
387
332
417
304
339
234
330
290
212
233
283
347
368
379
371
382
237
354
314
299
394
279
388
370
260
341
308
297
368
293
373
388
278
263
249
204
277
306
311
307
248
293
276
311
307
395
260
274
421
268
276
287
299
315
304
301
368
282
316
345
276
267
347
360
250
412
314
395
297
320
354
221
298
358
423
353
410
262
294
319
355
265
313
301
169
260
262
346
309
317
311
287
342
288
372
314
266
280
384
297
253
198
304
259
367
303
405
323
291
338
303
329
346
288
352
342
306
335
329
349
286
302
281
348
325
244
353
347
240
381
357
283
322
298
282
298
283
331
326
258
322
303
220
371
365
325
298
258
268
369
293
344
320
295
356
315
243
281
317
303
324
332
236
297
319
361
204
277
305
397
321
388
267
274
317
387
305
301
272
336
365
201
274
338
275
317
295
307
238
268
264
265
265
299
361
280
299
287
281
283
309
287
260
245
369
320
271
302
278
261
384
388
320
342
322
398
285
288
349
303
264
284
322
408
336
342
291
341
325
262
316
302
263
345
362
339
360
294
346
272
331
341
328
304
250
287
369
284
372
267
293
290
281
294
353
298
315
282
258
234
331
320
260
243
229
385
339
325
244
267
325
378
307
307
242
232
340
299
400
349
288
358
242
294
274
291
352
290
315
215
302
272
320
307
323
291
268
305
300
309
306
260
254
344
304
370
327
284
318
315
332
370
281
294
310
358
323
291
311
337
336
325
352
330
317
341
244
382
341
349
255
308
306
232
303
337
410
327
352
335
323
284
403
398
299
234
369
321
358
365
258
297
293
291
320
351
349
344
309
312
366
333
383
278
269
400
344
349
292
349
295
332
327
265
324
302
366
270
363
334
355
358
346
341
374
229
302
335
400
234
359
309
344
258
338
290
395
323
282
306
317
382
259
283
299
274
276
252
280
294
325
309
338
311
358
314
319
304
359
301
273
401
278
250
330
326
342
282
331
274
300
291
280
346
340
340
244
293
327
263
368
301
316
321
347
376
427
241
326
291
366
355
308
325
244
307
374
304
286
327
315
331
300
274
281
320
332
350
314
380
341
371
276
333
340
334
326
232
186
322
343
253
277
402
356
277
238
343
278
292
301
303
367
250
403
320
327
293
404
373
413
337
301
315
360
312
286
283
321
286
347
320
329
328
306
349
374
317
335
393
385
340
310
279
345
340
290
369
355
377
291
333
279
324
411
380
176
236
250
277
290
326
275
335
366
349
343
313
326
350
322
407
248
322
323
276
326
307
285
361
310
348
285
357
386
304
333
193
318
328
398
324
292
382
272
362
365
250
390
266
314
239
326
351
321
298
261
319
279
283
347
310
400
306
302
299
322
314
293
233
282
354
337
225
281
326
334
262
326
202
339
287
280
326
403
252
403
295
308
358
399
359
352
263
313
329
317
336
301
340
279
377
298
384
287
350
362
335
328
328
341
347
268
270
294
292
300
380
340
282
340
303
261
239
280
336
387
262
299
322
340
352
323
332
360
364
292
360
360
298
305
302
309
281
340
301
295
304
284
246
263
297
378
312
295
375
312
369
354
377
267
310
267
348
340
313
326
312
232
338
294
319
323
296
352
408
304
372
288
311
339
266
234
344
331
344
276
375
289
338
302
386
377
359
368
339
381
347
341
292
319
368
354
320
349
338
433
394
280
295
323
320
275
337
334
338
328
295
339
382
357
366
304
238
290
276
380
314
322
270
384
323
348
324
307
252
279
291
310
393
332
368
362
267
258
327
254
313
271
290
355
340
268
272
422
308
369
350
371
308
298
228
308
316
325
255
267
233
266
299
357
336
262
332
410
340
332
290
241
323
356
298
379
297
345
300
311
355
329
292
356
353
351
330
331
371
344
280
277
298
282
350
364
338
352
285
418
306
282
350
276
360
404
307
238
418
320
307
314
325
359
374
305
324
373
226
359
332
214
340
342
321
307
306
313
406
325
277
342
344
283
297
332
238
327
338
306
254
199
291
346
349
384
339
322
322
251
327
356
293
391
304
313
345
239
303
361
365
365
407
340
359
321
277
354
281
321
312
256
268
380
356
316
342
364
251
268
316
356
318
300
293
292
337
278
298
233
264
337
320
307
295
270
404
300
284
374
350
349
252
305
308
322
374
365
354
260
230
347
314
256
369
299
395
356
347
303
226
315
321
322
386
329
335
351
375
313
335
329
231
353
291
243
347
291
328
342
270
317
308
300
389
263
194
367
372
312
267
350
279
245
281
377
321
234
298
349
408
302
270
342
349
324
365
231
365
326
299
357
273
260
352
282
318
376
287
297
339
244
335
278
429
336
330
308
311
324
379
318
223
311
292
259
258
268
272
317
360
386
274
267
343
226
321
250
323
287
309
302
313
286
338
316
312
240
320
308
340
288
334
364
254
295
364
310
407
309
302
311
304
354
343
371
443
305
330
345
323
314
369
286
338
299
316
369
305
273
273
307
263
289
359
261
317
357
364
284
343
377
306
324
316
333
317
297
308
360
296
315
267
305
294
350
316
391
209
260
314
312
316
285
317
311
358
342
388
242
389
263
313
290
283
336
243
316
354
346
281
253
274
296
258
347
266
282
353
302
280
302
338
332
288
257
280
301
362
312
210
370
290
289
260
387
332
338
298
286
302
360
384
382
326
247
296
257
361
319
299
398
266
327
367
299
291
320
317
321
283
285
283
299
317
334
328
285
298
315
197
303
369
227
270
291
276
402
356
312
356
284
224
379
301
200
281
320
274
319
378
327
355
262
355
364
294
375
268
240
290
328
242
239
345
353
392
320
309
329
340
327
306
314
230
367
398
321
340
350
309
346
269
324
340
308
323
218
352
280
332
364
325
286
361
267
324
324
289
271
366
379
318
376
275
297
328
326
324
340
358
301
344
320
329
298
391
244
299
290
355
296
325
314
244
304
342
332
339
338
247
322
350
356
270
231
305
311
310
279
252
300
257
276
223
328
224
365
286
275
281
352
355
249
336
301
362
346
327
295
374
355
303
392
296
281
311
283
300
363
361
314
243
228
286
349
250
320
315
335
308
302
335
218
339
326
289
289
276
353
418
305
214
345
417
332
311
366
337
335
371
292
387
288
269
245
345
340
376
314
332
375
270
285
308
335
308
242
352
294
283
364
335
325
327
350
322
271
330
343
259
312
259
316
299
265
300
371
311
311
311
360
330
361
379
315
379
355
358
327
228
322
307
337
351
349
288
342
286
262
314
357
282
283
295
275
365
348
260
357
338
281
349
373
285
338
376
287
235
350
353
232
276
280
317
309
336
286
375
411
340
304
310
317
286
347
414
279
335
355
299
255
365
331
385
274
356
298
341
408
302
348
319
355
240
302
407
314
303
319
258
342
421
368
297
237
278
229
328
317
344
231
388
361
318
349
307
341
400
317
416
373
340
228
327
276
296
328
351
292
339
283
354
351
335
345
336
310
355
300
380
393
255
344
386
355
314
312
290
227
326
344
361
340
253
311
333
319
275
319
264
280
305
329
315
399
386
287
284
310
295
379
285
382
264
346
283
312
374
301
302
379
309
314
314
292
267
246
345
375
441
277
315
282
361
385
305
353
329
404
302
253
308
297
375
318
381
326
321
293
342
307
346
356
376
332
244
311
364
317
382
237
396
351
287
407
233
401
341
290
292
299
345
342
357
284
307
325
372
343
254
323
294
292
329
276
333
376
295
375
350
261
354
248
343
331
237
269
345
347
281
301
375
377
324
350
328
372
327
315
325
371
369
374
302
354
256
212
367
336
284
333
323
326
351
332
282
301
344
357
269
324
319
330
276
295
399
241
338
282
313
318
301
335
251
292
276
300
380
343
365
349
225
312
341
281
372
384
258
368
328
294
357
278
347
348
325
337
297
360
370
327
242
267
368
298
393
345
404
367
328
385
294
288
348
285
236
262
302
282
236
322
360
311
294
276
296
391
277
246
343
328
351
264
283
226
341
328
353
366
317
340
348
298
311
281
310
271
334
291
309
372
318
369
201
340
300
243
365
342
398
287
255
328
329
324
279
259
238
361
328
305
311
340
379
263
250
325
401
301
303
264
313
290
387
330
348
316
315
300
221
297
328
300
314
351
422
339
287
374
281
279
324
342
264
323
310
335
301
269
242
372
368
354
334
261
277
325
366
345
333
278
294
350
284
363
360
321
300
319
228
272
296
334
302
266
384
334
314
298
304
250
348
283
314
349
402
246
284
288
294
252
293
392
237
239
268
311
250
311
259
303
299
304
362
325
219
329
307
319
227
350
351
307
319
299
314
347
335
316
348
373
234
395
182
307
243
361
355
230
324
349
382
227
369
364
281
352
305
291
331
337
350
357
345
332
315
309
288
201
244
368
313
286
356
295
402
351
273
362
298
292
310
370
264
271
291
320
309
363
276
292
307
358
311
333
409
302
255
377
280
343
326
323
297
372
267
300
269
343
305
365
356
276
317
323
247
324
300
367
357
302
263
264
329
350
294
371
215
377
282
371
304
342
283
342
303
387
288
364
282
267
325
270
400
321
330
388
359
374
342
347
320
257
302
321
320
320
271
256
365
323
318
350
322
350
280
317
260
345
366
331
319
345
325
317
277
356
287
376
333
305
330
307
333
294
288
287
342
252
398
274
286
354
336
334
246
319
351
335
312
295
314
386
277
377
387
339
302
331
248
333
347
290
295
286
223
287
245
349
305
346
223
292
357
249
369
332
288
317
241
214
343
283
326
301
317
296
290
367
325
312
241
232
327
289
310
304
351
316
248
337
331
296
295
352
287
314
313
286
306
270
212
246
293
358
342
358
271
340
247
282
360
378
363
406
295
367
313
237
231
315
296
307
264
259
344
294
325
306
341
242
277
349
358
221
325
275
319
397
326
324
334
353
364
299
312
351
353
273
261
338
320
343
368
389
321
254
278
303
310
292
398
251
325
290
233
352
288
292
279
370
279
273
298
333
340
396
307
318
288
343
335
254
384
290
375
291
336
322
351
308
289
267
296
300
346
285
231
244
324
309
428
253
399
330
292
312
363
280
305
315
357
371
226
301
359
359
332
268
282
243
318
303
357
295
440
303
316
307
304
323
392
365
291
317
333
310
329
300
383
317
272
348
285
253
274
348
260
308
376
329
251
311
326
255
375
327
292
418
323
333
216
359
331
341
295
301
293
365
296
368
295
293
345
362
335
315
266
262
271
313
251
257
321
284
267
324
316
309
366
285
283
326
407
342
379
316
325
281
347
338
285
297
238
273
318
390
295
257
364
342
308
326
283
288
251
289
278
255
392
354
336
304
363
400
257
353
314
256
337
329
299
217
352
365
311
322
337
309
338
320
294
325
326
357
294
320
295
449
337
319
325
360
322
269
264
262
319
313
271
266
367
373
261
353
361
327
345
396
213
276
378
252
255
417
279
288
334
330
386
318
334
309
320
269
348
317
367
292
322
244
368
386
347
368
340
356
335
356
315
277
308
334
374
260
296
266
358
326
308
308
371
311
368
274
290
381
294
376
351
327
344
326
284
302
334
303
357
269
296
255
334
268
335
324
321
381
259
299
308
327
257
380
400
335
355
296
253
275
335
321
296
260
374
330
315
332
396
281
291
359
340
330
333
356
293
333
273
301
279
290
308
333
273
339
301
405
317
271
243
259
354
350
311
235
385
391
260
337
358
312
376
324
160
248
305
336
359
246
354
266
307
316
372
348
359
218
333
391
421
361
251
337
258
308
329
315
280
313
269
302
251
283
322
260
325
264
319
274
295
364
253
260
321
286
373
284
298
243
351
363
306
335
327
211
372
301
293
330
272
319
430
286
317
329
330
306
334
259
315
351
367
255
241
319
371
380
278
350
258
354
193
324
395
290
342
344
224
364
301
325
362
345
325
367
306
375
347
321
273
215
344
312
442
341
394
324
312
356
338
243
309
305
316
296
247
321
302
245
328
325
331
388
374
251
325
251
316
276
304
348
311
335
367
331
297
341
326
332
297
348
330
314
359
310
256
327
290
286
257
333
357
313
290
381
303
405
277
328
242
257
289
312
262
328
243
363
326
345
316
330
308
349
387
394
315
265
392
282
193
309
360
325
308
306
381
307
318
262
258
353
309
391
323
352
276
360
275
361
336
402
335
326
283
327
293
338
329
386
379
299
293
239
367
344
302
285
316
295
327
336
405
372
317
377
256
318
315
279
320
259
308
351
270
300
264
264
287
354
304
330
320
285
284
367
397
269
378
386
390
207
298
409
281
386
257
357
260
289
447
343
279
281
207
347
292
335
363
323
393
338
327
230
344
396
345
281
358
308
274
281
304
351
271
306
290
276
337
320
393
341
375
326
294
361
366
411
326
304
350
391
318
322
273
320
268
351
313
227
335
302
403
264
229
269
342
317
351
263
300
284
344
392
331
296
426
308
332
328
294
324
322
340
322
317
354
335
393
264
290
372
338
306
318
312
378
289
345
374
299
319
390
292
306
264
349
317
315
287
305
284
324
268
380
255
405
269
342
304
346
272
227
284
304
279
337
256
349
243
341
324
304
255
363
294
390
301
314
316
281
357
370
314
364
386
334
348
318
302
367
293
331
282
256
259
312
334
361
329
323
337
361
230
320
226
239
282
228
274
290
262
367
294
264
346
300
231
278
284
269
407
342
333
284
304
253
281
333
395
220
297
320
374
312
342
254
245
320
326
262
279
254
374
390
318
343
367
303
269
365
382
410
258
267
329
321
260
329
329
364
184
319
321
327
321
304
341
281
363
343
310
396
312
357
338
338
268
313
325
320
330
367
364
341
288
390
370
244
285
364
369
309
298
378
331
293
316
336
345
329
353
349
257
312
351
355
255
330
307
248
278
301
355
339
447
388
270
347
341
318
322
310
249
275
342
348
355
372
273
264
266
324
240
284
351
341
260
342
264
273
297
352
375
315
269
323
300
314
317
325
301
358
312
381
270
415
275
352
337
252
314
350
254
236
312
378
312
342
274
266
320
298
293
390
299
309
299
375
331
336
304
218
396
252
311
356
328
350
290
371
432
326
289
354
254
278
354
297
324
287
299
342
300
327
379
272
344
364
298
353
304
389
376
363
347
274
327
328
324
297
378
337
281
287
334
347
260
208
321
312
273
335
340
334
383
347
405
291
324
320
270
355
295
315
313
318
279
337
274
278
258
348
347
280
339
211
249
350
343
418
292
304
402
306
315
306
412
350
276
343
436
282
372
304
340
323
377
302
325
200
236
380
393
239
304
278
403
365
379
276
319
328
280
230
346
255
308
351
342
323
262
279
351
339
269
346
338
291
297
320
354
380
261
335
298
278
303
312
335
368
238
223
370
316
354
280
304
383
310
281
338
310
284
321
281
282
355
247
269
286
294
214
370
380
292
294
332
257
224
247
252
313
370
265
332
364
221
333
237
277
364
281
330
370
331
344
301
323
345
340
313
338
264
279
404
312
337
289
331
310
303
293
281
390
303
322
373
263
300
370
252
327
302
335
330
225
370
279
382
328
263
316
340
271
296
295
359
333
339
371
340
373
305
294
280
278
281
394
278
362
399
338
318
314
331
286
270
418
358
346
374
384
287
273
324
242
304
324
313
279
384
355
367
358
208
318
396
392
311
248
309
330
363
308
300
404
330
378
260
374
239
233
178
252
278
306
291
369
348
246
306
291
354
312
290
297
339
312
335
267
355
363
263
348
393
311
285
338
304
280
338
287
361
322
284
358
325
238
274
334
289
263
246
308
363
408
258
288
302
314
353
383
273
265
371
379
302
311
283
320
368
312
289
353
309
316
254
319
348
355
327
258
319
358
322
312
365
278
393
217
284
359
244
334
357
285
303
270
322
336
295
357
270
238
340
274
280
323
232
270
329
352
282
322
348
349
294
299
331
298
259
268
311
184
385
253
306
357
307
271
295
343
301
294
363
246
343
356
315
351
304
254
372
321
325
298
335
333
266
318
349
357
324
345
323
285
312
249
278
284
364
278
266
331
312
366
339
411
393
277
303
341
257
264
312
181
307
316
293
325
314
367
318
301
306
341
372
341
305
286
229
304
370
314
247
334
337
330
326
254
362
370
308
218
282
272
297
331
283
260
375
282
250
330
246
243
312
340
291
286
220
310
373
363
315
274
333
350
284
293
297
379
350
248
317
243
429
326
352
372
255
340
289
370
333
347
289
267
354
288
346
345
276
349
321
259
294
299
342
364
271
346
307
339
322
268
387
347
242
356
279
290
267
294
366
343
297
269
388
355
322
307
298
302
302
355
368
272
319
355
246
301
358
285
206
265
250
414
339
306
301
308
325
289
380
361
268
397
275
307
353
285
309
321
330
346
337
383
269
327
268
293
317
292
218
285
296
328
337
307
367
306
411
351
299
325
240
380
278
299
281
411
340
318
394
281
288
302
297
316
344
362
321
344
349
358
393
305
319
337
296
328
258
193
311
294
313
270
353
342
351
349
401
259
286
345
368
266
361
355
428
302
338
401
297
245
349
296
304
303
319
229
262
247
347
248
316
366
356
336
360
362
319
387
333
278
321
249
251
325
255
310
353
324
320
299
284
388
253
345
302
271
287
358
332
332
316
395
341
297
305
413
341
320
299
331
274
250
345
299
388
335
367
293
347
337
304
338
293
355
334
303
322
361
353
346
324
319
212
373
261
345
234
374
340
341
303
298
334
327
279
363
225
282
294
326
277
282
328
320
323
348
343
266
325
374
288
364
284
323
299
277
339
354
207
254
374
250
303
320
359
284
290
366
371
309
256
254
304
271
320
275
310
338
319
291
286
316
285
228
311
317
294
371
360
276
355
244
289
351
342
323
344
337
310
357
318
357
401
323
284
284
295
356
349
313
260
381
327
339
300
270
292
364
248
299
295
273
322
325
228
400
318
249
316
353
301
288
341
205
233
286
343
311
225
365
313
344
382
239
332
388
350
281
377
301
374
248
277
289
289
424
263
326
424
307
318
279
387
417
388
334
270
311
348
286
321
302
340
363
275
380
237
314
294
325
252
295
358
266
327
344
363
271
306
306
373
337
266
309
324
292
254
341
330
318
323
339
368
325
266
304
359
307
389
297
275
311
346
322
363
331
251
361
338
373
249
313
387
292
285
407
375
282
307
374
338
385
328
373
332
345
303
326
299
283
377
287
320
273
313
343
255
406
239
368
317
351
283
324
231
279
271
347
381
344
352
310
247
268
298
345
319
385
299
289
330
364
348
361
279
362
362
332
344
406
358
285
216
384
362
320
269
269
319
253
323
258
345
335
331
371
315
330
334
344
352
291
334
318
287
251
298
219
361
277
365
336
349
259
281
333
310
326
353
258
306
248
366
375
291
330
324
297
314
295
406
357
271
345
316
368
326
363
324
360
355
280
356
352
370
326
321
346
344
248
345
361
366
365
290
317
307
321
320
407
364
348
331
299
368
307
325
251
236
277
311
210
355
320
311
299
344
325
385
257
342
296
312
278
353
356
358
262
329
276
356
311
261
348
372
340
388
335
302
249
264
283
293
291
269
304
320
300
298
288
347
251
298
300
392
313
280
325
307
284
261
316
301
353
254
306
414
262
348
326
295
312
337
347
273
303
381
310
343
267
394
322
341
309
386
301
371
269
375
342
309
310
356
341
270
272
304
289
323
269
337
298
340
314
260
356
330
327
303
369
401
335
313
330
373
351
319
389
285
312
295
366
314
299
289
310
367
329
297
265
312
354
274
340
261
353
283
278
344
210
298
360
317
357
330
334
317
321
282
312
317
270
272
300
384
346
324
331
319
265
332
280
336
320
263
257
351
324
346
336
277
242
316
342
282
370
342
281
294
301
311
326
285
319
377
254
388
360
318
431
330
306
243
275
343
347
315
291
327
300
319
317
323
304
327
324
343
402
331
277
230
283
276
406
338
383
276
304
293
294
274
323
295
320
327
331
330
319
328
350
345
326
283
297
342
273
323
327
354
283
268
295
352
333
294
259
317
336
234
325
277
339
321
367
349
364
370
344
266
333
378
276
308
379
311
272
330
300
297
262
338
317
283
269
318
296
303
289
289
305
270
373
281
396
261
373
247
307
241
231
263
262
247
407
255
363
254
238
383
343
365
303
322
273
251
314
321
300
366
313
302
271
219
334
301
293
283
409
313
332
309
307
323
336
267
338
348
333
276
320
350
304
297
311
289
280
307
208
344
341
261
324
343
341
303
327
358
328
299
277
331
381
361
355
301
365
277
303
267
371
394
372
278
311
285
348
320
325
227
291
328
364
267
311
319
349
363
317
324
321
381
263
280
371
350
285
339
276
320
306
429
293
280
308
316
340
391
301
242
330
313
362
277
360
312
310
334
205
292
328
310
309
312
345
382
300
299
356
363
309
312
315
300
333
251
359
338
285
371
314
359
407
332
222
310
295
322
304
355
372
267
296
242
227
318
278
299
319
271
295
342
261
313
391
394
303
300
248
440
249
333
248
357
306
429
190
361
317
274
331
288
373
240
313
299
329
347
384
341
318
350
389
243
247
250
379
275
384
307
313
339
310
286
362
244
337
322
322
337
282
326
315
399
354
305
271
275
224
352
376
328
344
299
303
336
290
322
358
329
388
358
352
378
273
293
253
313
305
334
317
295
240
258
285
274
338
309
374
350
264
360
230
376
331
326
314
358
374
314
286
280
267
238
300
262
301
311
274
249
324
346
293
382
271
272
375
367
299
380
275
377
340
359
415
271
391
229
302
284
327
351
303
295
290
228
329
289
333
408
330
348
264
301
408
249
303
326
271
314
302
424
278
214
316
271
316
276
324
321
339
321
313
299
351
264
278
302
342
346
345
388
282
350
327
324
291
318
336
325
313
326
228
330
256
342
330
367
343
269
236
348
275
368
274
366
319
327
315
261
357
426
366
379
310
297
364
305
309
324
337
333
355
342
433
307
343
401
374
355
312
336
388
304
325
340
272
343
316
343
285
364
363
340
242
324
382
417
245
372
334
334
286
339
257
246
295
330
281
369
340
314
273
393
347
342
306
336
273
302
373
329
339
317
353
329
368
348
342
278
337
306
375
372
318
295
341
391
268
326
292
275
261
301
416
313
368
314
302
356
343
386
299
297
294
353
336
295
327
282
374
262
304
321
240
258
305
383
356
354
393
273
367
364
386
371
429
331
359
342
339
353
328
331
361
277
303
376
349
246
380
335
295
346
287
333
287
336
304
360
368
291
293
286
264
343
353
369
333
314
377
294
391
319
351
333
346
308
284
313
324
323
246
324
282
335
339
333
407
289
301
381
379
275
306
357
344
280
326
356
258
296
338
360
357
358
299
305
319
301
271
245
350
243
297
307
360
384
388
354
258
314
317
394
327
396
328
304
289
342
303
324
313
296
320
303
322
293
293
227
276
355
382
395
326
308
300
270
308
222
239
355
261
365
359
348
273
270
305
332
366
339
310
376
288
276
367
347
337
343
218
299
350
392
348
283
337
289
355
383
201
296
304
343
293
215
351
316
347
348
363
351
295
322
350
400
426
392
265
399
349
334
267
391
308
408
320
332
271
280
232
216
328
261
393
315
251
275
377
299
271
289
294
402
283
364
217
336
310
366
332
325
351
390
273
297
325
277
339
348
296
276
381
310
303
282
348
260
343
346
345
327
331
341
350
327
370
364
375
325
267
301
231
255
327
344
300
355
357
315
337
250
351
410
290
258
404
305
348
255
269
374
295
267
266
352
266
280
298
322
296
279
336
305
375
335
300
267
261
325
325
338
304
278
321
376
351
299
336
258
268
398
292
345
346
266
225
327
285
299
290
396
315
305
413
284
334
288
299
303
302
307
353
265
351
355
303
330
286
414
288
266
354
365
409
320
350
302
277
374
245
366
363
381
333
265
340
352
365
259
386
340
299
344
256
230
332
337
273
281
251
259
361
339
350
335
350
289
330
345
272
387
348
248
341
275
244
286
307
278
383
299
342
309
276
281
277
366
361
318
355
295
349
339
371
283
297
306
351
250
273
273
340
315
340
243
338
311
289
348
347
335
292
203
277
237
399
300
280
233
340
385
331
341
278
289
332
399
355
362
294
324
318
208
325
304
262
314
314
247
278
390
317
206
341
199
327
350
350
350
332
291
313
376
356
240
332
302
359
322
262
316
334
444
313
340
338
270
303
288
363
369
321
265
336
335
213
365
246
334
281
317
287
315
339
361
318
300
355
270
335
320
282
345
304
279
391
322
288
343
259
315
350
382
342
415
287
368
245
359
376
386
369
301
340
370
340
341
326
322
299
315
345
212
302
335
327
336
322
292
347
335
333
304
328
267
253
334
339
282
289
281
257
346
314
399
323
320
276
245
349
383
329
395
364
272
349
183
362
335
354
414
355
334
267
312
304
277
317
389
328
287
386
261
231
314
404
267
300
310
300
242
240
339
201
304
308
330
266
329
231
290
363
349
215
308
384
263
343
248
347
349
289
288
273
295
314
232
320
261
306
350
225
378
351
307
258
372
284
322
333
326
384
319
318
262
345
270
320
268
350
360
327
388
325
276
295
346
255
347
267
280
318
347
416
351
309
389
301
379
398
392
244
307
368
226
309
319
315
333
293
371
332
355
323
303
357
340
328
337
312
299
233
295
315
331
335
374
231
277
237
263
315
366
338
319
318
314
358
269
295
382
273
304
339
321
299
317
345
330
246
353
288
323
261
303
302
334
316
378
326
320
321
308
360
345
318
312
360
262
315
344
227
352
303
311
321
258
320
318
294
342
219
190
305
313
355
407
311
353
219
296
191
349
321
339
313
418
403
366
225
382
259
236
332
260
317
335
281
283
278
400
332
325
183
360
333
357
324
299
319
285
369
330
280
277
258
346
343
339
341
284
285
302
254
347
286
354
360
296
352
320
367
284
228
268
284
345
368
277
272
251
287
338
246
245
351
288
346
236
297
278
338
266
311
321
276
371
360
347
309
218
281
324
298
282
373
338
276
284
271
323
275
359
284
280
325
384
257
276
329
291
387
272
382
289
355
315
347
302
278
326
294
284
292
278
312
253
378
359
347
364
325
347
315
422
338
372
296
321
303
310
306
298
295
301
337
297
383
290
393
322
360
257
314
215
362
207
330
393
329
339
268
294
360
355
347
368
315
250
213
276
318
322
305
266
306
220
327
353
318
350
354
268
340
380
335
402
311
345
294
320
250
338
238
256
368
272
310
259
308
320
282
255
328
355
189
350
302
316
370
329
313
324
391
322
338
286
325
323
278
263
320
318
349
259
296
334
290
304
366
328
364
301
360
348
338
334
302
308
304
301
342
387
340
289
324
370
295
323
374
345
358
354
326
282
263
260
311
277
331
307
269
322
345
313
323
325
265
274
282
338
296
390
307
293
325
368
379
289
349
345
305
332
272
248
300
384
231
290
308
345
301
317
284
338
384
364
353
350
295
331
277
310
330
297
370
365
361
309
336
393
317
310
343
337
349
287
365
329
282
273
285
318
269
358
356
329
359
262
308
367
320
304
302
349
365
372
317
305
277
305
346
393
260
330
231
289
278
317
364
281
392
317
350
311
341
386
285
285
277
351
322
244
434
374
371
239
459
344
385
309
298
315
322
308
373
302
294
407
369
292
330
331
366
396
272
304
312
260
384
301
355
203
198
347
268
266
277
373
422
335
271
289
300
284
299
330
284
305
337
294
319
397
365
429
296
325
339
305
230
306
322
284
291
374
304
225
346
363
387
254
302
244
392
278
332
362
341
294
205
314
317
300
306
402
292
256
322
333
352
256
249
300
303
356
344
280
298
244
310
276
287
279
325
427
306
359
375
342
313
353
318
335
298
226
288
340
275
296
282
343
329
417
305
326
356
278
344
349
332
426
265
317
249
304
334
334
344
324
347
336
369
304
360
262
288
321
386
341
312
383
323
353
386
205
330
257
332
332
335
358
259
318
287
261
268
294
396
285
343
289
260
333
331
273
363
351
330
316
264
365
305
339
386
382
400
325
382
321
345
224
307
236
351
311
372
347
298
343
331
226
281
381
303
366
316
324
312
403
313
361
305
310
301
322
351
421
331
309
263
281
276
336
371
315
262
367
311
335
268
302
289
289
238
208
329
358
381
353
328
373
347
297
324
294
328
379
310
397
291
348
328
331
287
344
350
309
269
337
328
331
273
354
306
405
307
235
431
268
312
288
337
365
324
309
308
273
333
260
370
356
299
308
273
318
306
274
298
385
288
282
303
378
389
264
289
309
324
310
370
328
270
264
284
248
311
343
312
321
302
332
264
264
325
325
350
336
328
209
336
292
395
305
274
325
170
292
319
370
346
352
347
261
322
347
295
359
331
331
293
337
296
292
270
324
387
294
269
342
300
198
285
325
257
382
352
291
342
327
335
350
373
394
279
269
281
317
301
270
310
344
289
291
353
310
304
301
387
344
303
329
306
297
280
285
260
261
352
278
374
295
374
363
352
321
362
284
332
350
356
335
255
303
278
261
281
317
286
320
292
246
267
321
293
363
311
331
347
420
297
357
303
320
328
336
308
330
341
379
325
286
403
322
347
403
280
265
267
397
328
299
359
322
265
247
329
290
321
294
273
335
295
273
400
391
273
210
285
329
346
356
319
280
349
342
306
366
211
364
305
357
311
335
273
422
275
280
398
298
321
234
322
380
332
336
320
351
286
288
328
322
357
287
238
311
327
358
393
259
337
393
281
318
327
376
277
291
318
313
282
248
269
272
336
304
319
355
348
334
360
206
254
286
364
331
330
363
267
288
272
370
397
348
317
294
273
332
317
362
252
404
281
349
324
291
250
267
278
242
324
309
379
374
360
310
282
317
228
318
227
300
319
345
336
337
328
298
334
287
300
373
348
308
304
435
307
268
334
369
249
357
341
273
348
332
367
290
284
340
380
296
299
177
309
251
245
298
375
281
267
278
248
325
251
355
283
318
248
278
367
313
299
254
298
337
334
323
209
345
312
243
273
307
381
327
279
304
394
302
402
270
360
422
300
299
282
348
419
343
370
297
237
305
262
355
399
264
242
355
319
322
331
410
260
308
379
301
323
256
351
275
341
276
305
345
362
339
365
356
308
353
307
298
295
283
312
254
240
301
315
368
326
276
314
288
316
444
382
393
352
385
309
343
340
257
384
289
290
331
348
395
345
207
300
264
297
298
357
288
274
405
251
291
346
264
286
210
323
331
288
301
321
342
358
285
336
377
368
319
306
356
267
309
257
311
367
351
309
287
307
296
337
257
277
348
390
273
305
358
300
344
328
349
331
271
241
311
347
271
291
220
247
351
292
297
326
338
311
272
306
362
312
219
340
253
280
339
406
348
355
322
317
230
238
338
316
306
240
296
361
280
316
407
357
327
296
428
313
306
316
384
402
393
327
358
352
216
316
324
311
261
283
301
381
246
333
345
385
383
305
329
291
301
296
346
279
361
331
390
268
372
261
377
354
308
273
313
336
355
260
290
338
276
338
209
302
245
270
379
283
334
234
326
323
289
248
284
320
290
256
270
411
308
371
238
305
309
294
319
363
248
372
302
280
250
219
329
335
402
350
273
286
280
343
376
334
250
361
296
210
278
316
328
310
409
345
331
224
320
283
385
284
331
255
276
343
260
367
380
272
405
300
321
325
329
220
373
287
405
321
350
388
369
297
370
323
396
271
216
354
344
296
365
278
256
202
296
317
275
330
316
244
269
330
404
270
408
318
301
253
328
260
329
281
281
297
281
314
311
338
279
288
376
236
346
268
327
315
323
313
300
300
349
284
351
363
297
279
369
290
322
402
368
344
277
358
307
289
317
282
323
282
338
406
291
313
347
268
290
289
354
363
389
283
396
320
320
381
283
282
246
326
235
240
266
388
329
369
329
270
323
366
344
276
296
317
325
319
255
292
384
297
309
333
347
322
309
227
331
373
314
315
268
216
349
330
360
280
307
303
319
342
342
344
292
356
319
298
266
228
257
313
358
285
313
294
335
304
286
367
347
241
330
294
350
327
266
341
326
331
307
354
327
250
383
356
266
411
258
335
350
259
339
288
307
308
369
303
293
363
315
292
282
270
259
307
340
314
315
310
311
230
312
303
339
323
298
271
241
334
317
249
359
347
294
337
280
297
347
310
346
288
319
289
321
266
325
290
283
297
261
290
309
319
353
402
254
348
362
366
263
330
314
354
359
344
292
370
308
323
303
256
288
239
329
266
269
295
346
319
336
290
275
291
316
326
368
240
349
353
352
358
315
349
315
253
331
384
356
330
338
294
274
250
394
328
303
219
283
306
375
393
322
243
408
310
300
346
312
366
261
313
304
283
331
374
389
333
311
295
336
293
367
386
286
297
390
248
316
345
355
404
367
292
245
358
281
344
322
314
302
375
243
360
388
210
302
287
299
265
401
343
379
407
309
350
331
247
289
407
249
393
447
271
309
314
271
358
349
286
295
291
356
267
405
328
347
303
308
265
342
341
334
266
340
351
286
353
301
391
303
315
382
235
337
259
365
290
281
349
258
250
323
263
335
405
349
397
312
318
338
340
241
190
305
356
255
318
375
357
337
371
355
268
377
338
304
360
337
302
361
318
303
316
345
311
235
232
251
304
315
286
284
341
377
396
349
325
264
298
332
320
326
320
348
253
311
297
303
297
231
271
278
273
347
310
317
356
315
360
381
294
230
336
188
317
351
269
318
272
316
297
379
347
284
331
277
264
358
379
352
356
263
329
345
296
322
343
292
378
343
302
346
336
245
411
313
379
360
324
267
331
373
306
347
343
255
326
301
308
349
295
256
297
279
281
267
267
325
288
212
291
368
404
293
276
279
337
412
380
263
278
374
359
243
368
350
285
325
374
301
280
299
363
360
278
308
302
323
287
369
342
404
321
285
319
358
330
372
317
314
280
344
293
287
311
390
314
314
357
310
347
316
368
390
332
346
334
323
261
368
237
235
318
313
372
221
306
277
336
238
290
310
396
407
400
296
332
292
328
290
239
372
378
313
322
325
350
369
267
353
337
219
386
328
345
324
346
252
371
314
376
365
422
276
270
398
359
367
353
304
301
316
332
321
323
249
310
345
304
261
272
287
404
283
306
363
317
340
279
313
326
326
291
267
275
268
335
337
379
284
256
322
245
308
325
303
426
257
323
213
314
361
371
343
349
251
339
289
284
283
292
343
346
351
388
364
309
212
328
362
312
333
316
374
266
234
309
208
337
321
401
279
361
326
334
334
321
309
379
381
368
374
240
314
322
375
283
281
290
378
239
253
296
286
301
262
319
298
299
353
302
336
404
322
365
336
295
305
278
343
329
326
387
320
332
331
294
319
345
389
427
229
358
317
255
417
338
246
384
383
286
370
339
300
313
241
387
330
266
315
304
317
351
256
268
308
243
371
322
320
283
323
332
327
397
273
313
292
350
342
261
364
351
331
348
358
262
384
254
283
287
315
276
309
339
329
335
253
313
336
325
301
329
266
312
378
333
354
336
342
261
303
258
300
319
293
325
356
310
382
275
253
406
328
241
318
373
291
350
261
361
246
250
412
347
269
348
349
217
286
265
275
296
364
251
329
327
269
284
424
254
314
406
323
334
320
229
296
212
353
238
262
205
382
361
391
297
308
345
286
291
414
333
236
305
268
260
283
364
313
390
254
311
326
349
327
288
384
265
347
362
328
334
335
280
317
365
249
250
300
281
274
274
291
261
297
340
282
311
317
301
293
259
272
339
381
349
365
297
265
248
397
366
377
315
246
225
352
249
269
395
297
299
307
293
336
273
365
283
329
306
311
289
313
345
287
365
347
314
273
307
324
268
326
228
335
298
390
293
266
315
375
363
322
273
324
289
355
385
324
329
240
307
304
325
382
335
326
265
318
246
310
341
290
244
290
332
263
316
314
275
362
307
260
344
344
316
341
279
348
357
316
332
384
275
266
338
326
360
311
251
304
329
306
310
380
216
364
331
338
300
293
337
311
294
286
291
253
304
338
350
402
308
334
233
371
320
338
278
344
279
296
291
249
235
322
398
221
217
261
297
367
362
308
264
284
299
303
354
334
382
324
314
330
367
355
331
299
374
299
295
349
317
341
332
292
381
303
337
300
264
328
242
362
325
244
286
319
294
368
295
318
311
297
286
309
327
252
376
368
289
346
286
385
372
304
312
338
286
305
354
329
259
318
327
354
295
348
341
325
260
397
296
345
310
341
321
345
327
274
318
300
274
385
359
261
276
383
206
349
256
284
307
313
296
309
340
311
351
398
398
332
320
308
309
305
363
271
324
356
339
341
241
302
230
290
328
406
294
271
374
320
360
394
283
333
296
309
270
342
287
334
351
329
322
326
377
313
326
342
328
314
210
304
280
334
355
336
280
309
271
289
306
319
280
389
290
301
300
361
346
260
353
347
345
342
279
280
285
251
277
344
247
289
315
263
389
392
288
384
277
392
304
378
411
311
294
290
295
373
347
313
341
299
299
381
263
319
406
290
363
327
341
329
367
310
349
305
282
312
278
304
285
290
274
268
406
346
257
323
316
341
310
296
275
247
335
334
281
301
348
328
253
311
360
372
285
421
263
365
348
292
278
264
303
344
390
343
329
309
366
308
318
334
430
265
391
314
283
235
246
339
366
349
323
336
405
222
270
391
194
400
291
300
337
277
359
304
293
286
364
330
409
354
318
309
366
287
319
272
374
253
311
284
404
306
326
288
311
320
262
278
343
308
348
329
228
344
224
280
311
257
288
302
290
352
224
316
338
345
348
304
284
309
361
265
332
268
201
260
269
281
316
292
302
323
252
308
261
320
276
375
377
270
339
375
334
371
265
245
308
313
246
256
361
275
350
381
302
346
265
287
273
197
355
361
375
375
327
235
306
288
269
269
364
332
377
256
260
281
366
252
323
390
313
314
296
369
330
299
230
263
312
270
292
364
369
330
266
250
343
314
361
373
368
276
362
293
291
365
371
334
224
196
324
274
281
311
306
333
271
298
292
295
410
315
275
422
331
243
308
335
251
385
328
308
372
343
316
327
310
422
394
248
309
272
284
360
355
269
316
290
292
244
262
270
327
296
326
262
299
272
276
283
275
293
240
313
293
314
296
321
293
319
375
298
287
328
252
389
249
374
353
232
293
344
402
351
363
296
357
369
306
405
328
270
333
293
294
365
265
251
308
298
307
303
386
262
341
368
313
275
345
267
306
349
313
363
250
320
330
332
362
407
320
344
403
345
358
293
372
362
300
319
371
244
327
275
394
328
265
294
274
268
343
338
287
290
303
275
318
354
321
266
329
210
371
204
296
240
289
343
319
378
346
276
303
383
321
334
371
266
327
256
378
308
332
265
357
285
300
347
299
272
386
293
336
282
355
379
337
329
378
363
309
251
319
284
284
394
261
250
359
383
391
431
283
314
254
340
342
330
269
294
315
343
262
302
332
275
217
317
364
284
351
348
283
271
347
309
337
329
296
274
345
250
325
361
350
236
367
335
345
310
312
271
320
350
316
289
317
315
293
313
392
388
307
308
216
317
271
331
351
337
359
302
412
250
304
342
283
315
261
332
351
353
303
346
296
369
358
373
289
331
314
318
323
301
254
239
329
309
343
354
352
339
289
310
340
364
391
273
268
353
305
364
287
270
379
297
323
343
277
310
301
299
221
276
329
285
342
284
293
305
312
321
282
294
385
369
275
329
340
356
202
304
276
338
381
356
260
340
382
234
318
255
316
260
351
383
346
288
246
303
310
224
323
318
285
312
267
353
384
333
277
323
254
341
358
315
248
297
285
322
377
354
298
366
333
254
350
285
253
350
403
358
346
351
326
248
260
257
336
323
366
312
321
273
282
341
366
372
354
354
289
302
427
296
306
313
306
342
247
261
299
315
391
298
383
287
289
320
338
323
378
337
360
355
229
380
207
259
374
214
344
272
333
343
235
361
314
255
317
291
349
273
325
340
265
298
336
286
245
349
330
356
292
314
296
332
286
318
296
435
271
402
244
282
371
296
295
328
382
301
320
267
397
320
343
324
317
254
408
338
301
269
273
356
294
320
352
305
325
276
310
292
298
231
240
293
298
352
243
289
306
350
261
373
306
351
374
426
303
237
342
208
266
319
270
312
328
316
277
386
300
300
316
277
277
291
312
301
339
208
297
380
284
305
329
306
340
400
309
427
344
344
269
286
393
350
360
268
232
302
279
379
241
310
353
394
295
248
361
252
262
344
293
368
320
321
220
384
351
317
281
383
274
298
331
210
314
242
270
269
313
269
350
316
335
240
351
318
313
321
301
281
285
253
290
349
243
334
288
401
284
361
301
372
308
360
361
347
360
341
387
315
286
308
277
335
320
375
329
332
304
322
274
342
316
339
318
275
403
346
330
205
320
306
325
283
243
279
340
322
270
295
339
343
396
313
289
374
359
270
294
371
299
333
316
264
310
290
334
327
220
360
311
327
346
358
317
222
320
295
311
299
334
234
300
354
249
288
332
358
365
345
360
353
334
306
293
304
240
357
335
363
350
301
318
262
336
348
344
373
274
382
289
416
294
269
315
303
381
293
329
356
307
330
235
310
347
227
364
335
233
261
311
405
328
293
367
347
318
365
262
285
268
287
259
248
281
298
292
233
365
321
292
269
270
329
322
302
356
293
330
294
394
303
382
264
311
266
326
277
334
310
365
353
257
370
411
351
317
440
300
359
362
349
271
351
269
325
234
294
316
353
297
305
295
329
291
327
253
334
369
337
227
202
292
333
275
370
340
249
273
257
407
358
314
333
303
299
324
223
310
388
263
284
284
325
364
302
421
277
339
309
294
299
322
327
345
323
257
317
331
293
238
297
279
447
279
287
357
289
319
356
336
340
308
328
354
309
344
202
359
210
272
201
391
365
324
249
303
318
350
204
276
349
371
341
303
298
333
336
292
327
377
324
294
257
308
288
405
324
330
312
282
400
341
274
364
264
357
304
258
320
334
331
256
287
286
342
355
297
297
340
243
292
314
405
356
329
303
412
352
373
373
289
263
363
318
355
270
270
313
362
366
318
269
317
237
301
288
296
296
275
368
379
301
322
339
379
352
363
289
270
321
234
301
359
311
251
331
338
275
336
336
309
248
329
348
331
297
311
363
282
279
378
270
304
224
333
353
323
308
375
296
362
365
357
289
282
252
239
353
396
372
279
343
248
307
293
391
353
278
285
296
368
327
346
337
295
301
263
331
263
243
321
258
278
335
388
361
399
377
339
341
384
255
362
378
336
287
317
365
336
311
251
283
366
408
368
371
286
371
338
287
301
335
361
284
346
412
375
261
259
333
364
255
294
390
344
339
272
298
282
350
320
381
364
260
307
287
358
382
257
342
319
387
344
354
273
304
372
274
213
318
325
274
365
311
195
277
355
306
247
303
184
334
330
379
340
347
295
269
294
371
362
322
304
298
290
306
350
315
357
280
310
298
345
279
342
242
312
294
254
289
361
238
233
261
289
289
309
306
293
317
318
357
319
354
358
379
407
309
317
271
352
286
294
281
326
355
327
344
371
342
324
332
403
337
389
350
458
345
262
246
321
343
309
395
314
332
210
366
312
332
287
298
308
398
332
289
382
317
316
324
264
342
268
242
271
296
251
300
380
345
279
360
353
298
250
368
307
289
352
276
292
271
356
338
377
315
285
341
310
282
338
326
353
319
349
389
383
247
237
272
300
285
377
282
292
337
259
293
254
353
308
318
303
336
278
358
271
291
322
315
295
291
345
371
340
374
259
338
280
271
351
323
287
301
296
240
360
331
292
267
351
286
296
363
375
319
312
318
312
321
289
300
306
302
353
313
324
344
367
276
308
354
329
314
343
336
340
342
351
234
348
318
325
398
353
386
317
304
191
330
314
283
293
389
295
296
325
339
294
189
320
351
269
270
283
271
398
346
312
268
280
311
285
343
334
305
247
268
304
280
306
320
388
325
292
343
288
350
316
350
299
255
256
305
263
327
323
329
265
317
265
308
224
346
350
367
331
301
342
277
348
318
314
433
306
336
315
263
322
297
367
430
406
343
372
358
368
265
277
344
328
242
294
247
338
338
389
297
370
333
354
338
331
373
337
346
280
345
278
247
286
410
322
356
321
335
312
351
262
307
272
360
364
373
399
254
282
271
284
340
323
270
297
286
301
329
353
311
298
274
280
268
249
236
351
356
287
357
262
354
360
283
298
379
324
321
326
400
330
337
288
289
360
389
264
361
312
351
315
386
319
289
307
300
197
342
371
319
346
392
342
404
295
264
352
301
275
259
341
308
395
275
366
348
251
277
379
366
338
275
307
291
279
343
324
375
309
277
317
314
317
316
344
369
255
336
330
341
306
337
304
344
324
266
233
310
407
311
417
338
312
327
320
311
203
335
313
284
319
296
329
270
263
231
245
312
241
271
344
265
313
273
302
278
222
420
285
289
336
318
367
375
351
374
296
389
318
305
272
282
362
318
328
314
266
331
385
291
260
299
328
364
265
382
340
322
343
279
341
301
279
271
246
283
263
286
250
348
325
351
448
335
292
269
289
302
336
300
338
326
348
390
268
329
292
307
309
314
335
268
377
365
224
349
293
227
331
295
354
377
270
288
394
311
358
324
434
285
279
206
256
335
278
325
310
289
399
366
311
231
315
369
302
260
359
394
226
294
285
352
342
315
287
264
265
329
315
372
331
316
366
286
291
308
283
330
392
334
393
349
377
241
383
318
285
338
324
312
337
384
387
245
330
349
354
279
345
254
273
335
237
269
337
347
328
298
386
374
286
255
327
340
353
295
379
374
267
287
341
307
365
282
332
374
399
313
403
394
353
363
320
402
341
300
191
315
283
318
374
377
331
326
283
363
242
383
290
327
309
377
298
314
336
286
336
351
299
276
263
390
388
251
263
317
286
295
400
282
380
308
331
328
334
257
258
327
265
348
290
312
294
317
386
284
410
323
281
321
320
352
229
311
341
313
274
247
307
265
354
386
274
383
325
376
360
308
184
347
398
332
216
327
251
209
300
385
325
297
367
250
285
319
336
196
255
376
355
318
319
382
336
300
359
315
310
306
372
397
212
228
363
313
369
277
300
352
311
274
357
262
300
347
267
320
385
329
321
266
298
290
351
320
284
261
252
333
252
284
309
315
318
443
315
314
333
239
363
299
338
298
312
362
308
346
325
308
311
365
294
336
284
263
319
334
346
341
341
340
341
307
386
227
352
364
328
345
259
359
347
315
337
311
248
305
285
298
305
308
319
284
429
235
278
317
316
322
340
270
252
349
339
211
328
306
298
339
368
280
292
361
356
356
291
266
347
288
376
369
329
349
274
307
283
329
263
235
282
274
301
367
331
336
315
299
280
337
324
307
278
346
359
307
376
284
271
410
351
355
235
232
340
303
267
332
310
381
360
328
320
330
353
349
292
317
242
329
322
363
240
316
270
274
311
263
308
291
328
254
270
333
330
264
278
333
364
326
298
339
378
279
266
292
291
311
382
390
307
348
332
337
343
334
264
271
319
328
245
389
286
375
337
320
278
321
293
339
332
357
326
412
368
324
332
304
362
302
353
335
305
347
312
335
241
263
300
249
312
325
296
356
345
375
349
309
343
320
294
251
330
258
336
409
368
391
347
369
258
272
339
292
362
348
355
299
384
291
272
346
385
308
315
350
264
379
198
334
262
401
307
283
320
379
297
347
297
345
302
238
313
377
231
292
375
389
292
303
356
316
387
276
283
381
303
212
356
312
323
317
284
314
347
271
267
377
264
253
373
321
313
309
337
279
236
337
365
279
313
311
268
281
274
390
283
252
302
378
284
321
300
294
298
376
289
364
278
406
367
297
296
274
295
242
308
359
347
304
269
300
280
300
385
302
299
269
329
357
326
332
308
334
344
289
248
374
377
358
303
277
311
185
259
250
376
275
315
308
324
303
479
359
306
343
377
299
280
348
368
282
282
380
344
254
359
322
338
282
265
361
401
332
332
304
342
356
323
296
265
340
415
415
358
382
378
281
397
358
390
326
334
245
342
343
311
255
284
261
349
342
358
266
371
375
274
356
271
275
267
284
246
329
329
309
346
281
316
344
321
262
375
276
307
302
271
418
247
309
316
222
259
325
273
271
357
303
197
350
357
263
271
312
269
317
312
352
206
308
265
322
255
286
368
370
393
375
308
333
329
345
340
371
307
230
256
369
337
247
279
250
310
221
277
295
288
232
282
260
291
307
363
284
319
383
369
352
251
329
315
325
335
300
334
312
312
403
356
299
301
300
368
349
295
395
328
344
345
300
288
343
342
358
309
401
307
335
249
304
404
400
317
379
256
318
306
310
347
290
283
272
279
307
308
300
344
308
372
331
340
218
302
313
341
337
206
343
332
281
285
273
257
354
260
289
290
259
291
310
276
369
329
373
348
324
376
238
257
335
270
325
262
262
227
280
318
312
251
214
309
353
245
287
334
275
257
264
379
236
389
258
365
306
354
277
339
289
306
307
268
348
305
256
331
404
336
304
391
226
352
339
358
281
333
302
316
304
298
287
343
327
393
244
257
291
271
311
391
348
264
291
380
272
335
301
341
285
326
304
363
264
261
265
387
270
239
296
299
291
301
299
246
267
241
275
319
372
362
317
308
354
365
275
318
372
305
307
220
234
250
280
372
298
336
364
338
320
294
271
359
345
260
273
255
311
332
296
289
282
322
375
349
355
281
288
313
351
382
319
226
328
267
305
338
348
306
342
315
312
364
324
274
280
257
317
371
306
388
378
323
321
297
314
396
385
331
294
325
301
337
246
251
311
279
317
334
356
321
289
395
300
263
253
352
296
277
298
340
308
311
312
324
318
434
308
365
242
378
300
332
324
354
350
242
309
373
302
344
358
340
328
298
220
306
359
329
314
313
341
294
376
340
429
299
277
347
320
341
274
302
281
283
261
288
322
399
301
333
295
237
273
306
254
299
271
372
312
332
245
234
349
334
311
309
261
385
304
322
285
335
292
292
294
261
270
339
339
295
284
396
268
341
333
317
338
336
261
272
402
329
360
356
324
421
348
351
320
337
345
379
323
279
400
333
276
274
427
308
345
306
291
334
387
287
359
311
389
308
333
388
328
295
357
351
262
370
357
285
343
281
336
291
287
380
314
306
301
357
302
382
334
372
228
328
242
281
340
237
283
389
333
337
333
310
345
312
351
378
254
288
309
262
406
343
328
305
356
299
293
353
320
308
336
294
294
256
313
319
303
271
312
373
359
312
285
258
374
360
297
323
290
292
324
305
305
378
297
269
330
247
236
224
249
246
241
351
275
364
284
338
322
296
317
345
281
325
295
263
345
318
313
308
322
214
318
335
226
375
354
382
277
386
246
394
318
279
331
377
334
383
279
323
252
364
328
385
278
413
327
407
328
354
367
321
372
317
336
296
265
331
324
307
322
269
403
413
365
326
384
292
293
326
340
298
327
409
278
291
341
288
392
222
316
309
328
339
333
367
332
265
383
361
312
345
266
258
302
318
287
387
349
326
306
311
275
312
299
258
302
346
345
323
262
268
299
370
309
268
421
328
383
302
309
286
300
293
373
373
336
371
231
258
258
274
249
390
293
331
382
271
449
231
262
284
313
284
265
276
317
291
310
319
311
377
320
300
273
266
287
340
328
262
334
233
284
294
283
344
277
342
211
350
343
374
306
397
342
304
361
262
354
366
251
347
296
364
282
366
369
254
329
321
370
301
262
347
417
313
377
367
210
296
299
273
332
344
307
288
302
255
340
319
339
319
334
388
238
335
316
273
353
367
357
350
327
312
334
284
312
311
398
351
332
287
334
355
296
345
315
335
316
334
278
261
328
329
276
326
333
338
282
340
333
279
269
242
340
312
366
220
397
294
323
281
234
338
351
334
350
249
352
313
307
378
314
283
400
367
326
357
266
353
207
260
290
337
397
323
324
249
261
319
323
384
393
338
237
290
372
320
307
329
356
306
237
216
372
381
333
329
276
315
302
276
313
307
256
259
417
313
307
384
243
327
286
261
273
261
309
331
270
330
358
338
336
290
375
302
194
359
256
285
369
260
297
319
293
353
348
306
381
305
271
368
306
334
288
419
358
263
365
360
276
332
373
265
338
285
321
376
393
326
360
345
308
384
327
337
326
298
311
358
406
361
387
322
327
274
303
318
274
362
395
319
304
359
263
348
274
236
309
310
361
260
315
325
342
309
307
235
385
331
196
292
334
317
336
276
261
229
297
317
272
341
393
242
319
317
291
423
309
318
281
281
317
338
223
325
280
297
339
338
323
434
339
274
384
263
252
323
309
253
255
369
316
303
241
319
346
374
349
329
287
285
390
395
324
316
298
298
259
364
373
307
279
299
342
360
252
280
225
371
335
320
324
276
367
297
403
304
327
325
210
274
274
340
317
260
330
329
364
302
313
238
265
301
294
338
385
358
371
329
352
342
283
186
299
280
203
311
288
271
280
349
208
357
257
305
344
366
310
332
398
315
291
304
327
355
299
320
329
318
253
345
287
313
240
202
314
322
341
341
317
329
328
248
309
322
297
274
380
294
289
312
378
362
356
339
273
218
276
339
336
326
352
323
398
306
295
326
352
343
355
287
287
328
331
320
354
289
296
277
384
251
322
249
294
208
370
315
385
306
290
343
292
285
269
294
301
164
219
284
308
284
284
346
387
233
375
358
348
298
358
282
282
260
334
317
397
304
379
383
284
335
277
356
307
269
226
333
247
236
325
223
324
289
215
324
330
359
306
358
348
327
325
330
246
278
301
330
206
383
311
276
345
220
247
323
315
309
314
358
283
282
280
358
357
303
341
284
235
267
347
378
319
346
326
392
314
360
359
322
207
321
355
245
257
366
282
287
331
257
251
345
279
360
328
384
326
273
336
375
288
293
300
374
275
285
383
319
370
359
253
305
309
330
362
304
316
312
259
375
217
369
349
324
278
388
334
258
305
380
211
355
360
265
275
206
377
288
332
276
351
343
333
353
407
316
403
364
352
337
335
240
319
317
377
256
320
284
256
304
381
276
288
302
254
340
280
307
318
385
234
281
301
283
279
290
311
368
333
246
315
319
307
325
305
263
303
279
301
280
257
322
324
351
345
361
363
265
445
315
335
298
304
316
278
358
315
268
356
321
306
309
318
259
344
295
360
290
374
322
366
226
270
282
235
313
322
309
292
253
314
348
305
315
267
297
322
334
303
315
244
373
195
259
285
258
272
313
283
368
314
339
300
336
357
274
327
250
255
287
352
275
313
308
281
227
348
333
288
343
337
336
316
380
294
233
422
333
351
311
343
240
303
266
313
304
310
329
284
278
276
284
344
266
287
364
312
339
365
246
411
355
326
230
339
317
423
231
259
324
387
348
312
358
265
360
300
343
290
324
349
344
253
326
325
284
302
325
279
308
262
318
317
289
348
347
328
289
224
320
367
293
254
296
321
264
268
290
305
294
261
190
281
384
298
249
223
280
366
345
301
303
310
331
323
324
330
248
247
333
265
349
360
303
400
312
320
271
302
292
363
309
318
266
252
303
289
420
282
294
299
271
364
296
388
344
369
328
299
291
277
376
388
404
349
338
348
346
270
332
327
248
262
327
359
252
296
329
370
335
318
282
408
265
305
319
323
322
276
236
322
353
268
379
315
263
267
302
355
308
311
307
329
278
340
240
286
253
245
331
309
325
338
337
284
318
265
269
328
299
362
361
303
324
230
270
334
336
317
313
265
304
393
320
324
234
284
309
324
353
319
399
324
357
307
454
279
356
330
394
290
377
372
431
303
349
236
369
356
306
345
303
269
270
332
334
340
351
322
267
379
330
306
371
289
337
360
241
297
347
337
314
350
275
324
309
360
264
398
303
332
393
344
204
329
293
232
333
312
245
292
280
371
342
260
422
347
370
377
321
273
382
309
313
319
282
276
309
322
390
361
295
323
332
297
281
207
235
293
378
269
384
353
304
302
271
400
343
348
309
322
283
254
345
327
272
280
348
286
341
372
345
233
338
383
240
313
301
346
289
284
309
291
376
320
311
265
273
358
354
320
349
423
338
358
351
258
338
336
296
319
347
283
286
259
375
300
350
355
320
345
280
306
327
301
302
277
361
352
275
306
345
302
299
334
330
343
326
382
222
329
383
310
338
330
256
327
317
290
304
313
341
312
337
347
235
266
325
321
288
349
277
359
295
294
292
247
332
288
315
333
376
347
335
351
282
340
366
340
274
300
281
369
284
374
306
300
342
363
286
349
378
326
343
335
271
327
264
339
284
369
294
361
342
336
328
315
310
246
291
233
294
290
307
392
302
303
360
338
225
355
286
351
346
308
264
272
326
264
314
326
435
329
222
384
266
343
431
309
349
275
339
306
289
308
282
383
306
274
368
199
349
335
321
350
320
320
310
335
370
354
226
348
355
318
253
377
351
338
400
251
310
304
318
328
311
332
328
311
411
337
367
346
333
369
292
270
343
318
355
319
343
350
390
371
295
294
338
227
332
293
248
377
335
288
409
287
309
306
318
277
347
318
280
298
306
249
290
322
346
304
300
365
290
339
294
294
338
327
362
348
308
355
366
371
253
251
333
305
338
330
276
329
347
311
314
325
251
345
320
247
310
359
285
309
284
320
322
338
414
342
317
405
271
276
357
280
308
348
299
356
324
309
280
293
278
205
274
318
358
362
365
317
296
295
410
279
288
409
224
260
354
276
295
332
305
425
257
348
337
363
259
399
328
325
328
237
311
373
347
281
247
283
240
394
249
314
260
305
323
324
432
342
293
332
380
371
291
286
308
358
297
270
271
250
278
346
343
334
260
375
296
265
354
315
274
280
288
374
275
317
264
305
229
330
430
315
269
258
328
339
330
258
250
301
309
312
310
356
338
375
300
379
350
287
346
245
372
263
340
309
365
415
316
312
296
383
371
380
305
318
354
288
343
326
339
363
323
294
270
349
299
335
305
349
375
328
328
300
310
350
335
307
322
333
396
366
236
243
394
458
350
340
251
340
379
299
362
332
347
267
382
243
268
361
285
343
288
280
284
337
354
229
268
338
339
325
222
355
289
287
320
267
281
323
304
330
323
258
251
318
225
320
268
303
272
377
280
279
337
421
368
358
306
366
287
289
367
310
262
282
307
364
340
309
328
293
392
390
320
383
390
289
401
372
253
350
361
354
384
307
294
330
356
248
281
387
373
289
352
359
298
206
327
331
325
374
312
367
322
297
372
213
398
280
177
285
374
342
347
297
295
377
291
336
293
284
354
291
315
267
270
326
276
315
302
230
332
348
265
322
308
258
284
315
309
290
299
349
310
240
296
346
247
326
349
318
341
422
307
319
340
324
244
286
315
349
361
365
379
242
267
306
395
347
272
343
290
288
305
302
358
250
262
248
298
368
353
287
301
373
326
343
332
366
384
364
380
232
377
376
351
368
334
290
364
277
338
349
324
363
363
298
252
283
257
255
324
280
361
256
419
281
274
343
222
316
275
237
361
312
331
357
415
292
278
347
368
305
293
320
360
289
278
315
321
271
322
276
320
335
330
384
385
306
331
283
350
329
306
352
292
332
250
345
300
322
375
325
352
341
281
332
340
263
314
333
240
325
276
290
287
356
320
337
324
354
311
251
331
293
390
256
326
273
283
303
270
285
336
268
367
360
321
254
360
294
311
286
303
369
362
335
276
309
375
313
300
297
316
315
282
309
361
331
301
301
337
360
314
330
260
400
292
342
362
351
288
316
293
292
313
367
334
276
228
387
308
362
177
299
352
315
297
405
346
377
276
368
240
308
318
352
269
360
338
320
278
299
363
322
350
339
294
346
293
282
338
272
246
335
281
253
320
326
304
304
319
304
354
310
252
310
250
203
196
259
301
353
322
334
351
318
377
314
300
328
256
335
346
324
268
360
236
250
237
313
335
275
326
324
324
341
350
249
316
223
358
347
308
361
305
228
354
293
323
341
312
287
373
289
380
290
293
350
301
337
245
244
372
275
327
289
375
343
328
384
370
251
378
386
353
305
339
307
298
454
324
303
336
325
310
334
329
301
357
255
325
335
275
284
290
338
324
358
236
381
301
386
366
320
167
291
343
348
298
293
379
315
331
303
345
324
322
318
302
281
332
261
329
353
292
245
272
301
275
298
325
345
316
353
367
310
307
375
337
285
313
307
360
357
354
375
281
365
313
332
313
242
384
366
324
365
335
320
341
349
245
242
415
299
286
329
330
240
283
274
281
332
362
341
422
378
307
310
284
363
346
328
294
232
326
377
298
294
276
208
301
304
276
275
315
314
253
277
312
368
395
243
281
298
295
344
382
325
285
361
294
241
267
429
308
349
354
384
349
295
252
353
311
200
321
313
281
250
280
344
310
337
280
300
372
268
317
315
397
337
357
272
365
349
363
356
297
321
289
305
371
312
293
342
372
270
246
273
309
287
340
313
293
378
393
277
211
324
349
332
399
302
317
359
315
308
283
302
307
268
240
231
307
323
332
301
326
342
334
284
245
270
297
330
258
236
226
343
351
346
294
247
284
310
294
307
348
243
335
288
314
305
383
371
352
300
294
394
312
305
287
339
371
386
331
315
344
293
295
297
338
317
233
292
244
351
319
354
346
338
301
238
314
268
295
359
319
291
391
248
359
366
327
313
263
383
342
302
282
394
279
338
315
335
338
348
316
269
298
301
278
351
327
298
320
320
361
323
250
349
320
284
316
236
344
332
292
287
333
296
354
215
364
293
308
245
282
348
297
283
335
314
309
352
381
340
351
347
268
345
249
263
274
331
265
348
244
307
267
261
373
257
274
267
269
269
277
347
411
309
362
248
327
337
324
306
332
314
342
295
359
211
345
337
360
337
264
343
313
223
276
290
408
216
342
299
361
307
332
292
382
265
344
306
324
407
334
273
398
343
263
330
356
270
295
306
373
332
377
308
283
310
285
291
342
344
274
230
249
249
259
310
240
306
269
298
330
316
285
295
330
309
391
248
340
356
298
355
335
301
307
382
359
249
394
331
315
309
318
299
308
264
359
250
340
327
370
372
344
294
295
294
340
317
374
282
282
337
327
342
328
321
301
279
299
347
355
343
360
272
331
311
454
283
328
284
347
328
278
250
350
370
356
262
298
302
328
304
215
284
368
332
279
357
309
287
247
367
334
288
306
246
290
260
335
308
304
323
312
235
425
328
260
259
247
277
372
324
312
358
289
262
375
279
328
352
340
337
350
291
279
305
253
325
345
280
244
295
307
287
304
334
334
312
402
268
309
347
316
338
391
324
336
220
246
285
313
306
264
335
351
309
391
352
284
289
270
376
279
307
254
197
336
308
227
232
275
357
290
279
244
288
351
326
329
306
293
317
307
326
278
382
343
333
265
340
328
395
288
362
428
318
349
410
331
446
331
410
287
250
352
319
337
317
336
233
398
307
385
315
297
285
351
384
316
279
414
260
327
270
277
300
272
242
264
362
303
330
322
368
208
312
271
353
359
330
259
292
330
290
286
282
253
313
311
354
308
337
341
350
283
311
225
326
339
230
363
229
391
325
214
317
259
390
340
281
384
316
287
265
329
318
346
324
319
275
365
358
292
268
291
421
304
316
221
205
338
297
280
304
341
261
266
305
375
321
292
310
340
366
300
369
273
333
258
391
219
318
200
322
378
370
231
318
319
281
260
340
320
297
283
417
382
294
294
376
279
332
321
356
376
420
325
360
358
367
336
286
328
358
311
365
386
283
272
341
285
326
314
396
317
362
318
293
365
274
321
346
316
265
306
304
309
284
354
315
283
320
332
366
367
260
277
369
327
280
287
323
359
255
389
299
361
338
336
320
395
303
300
316
365
280
278
235
328
359
359
337
254
335
385
351
297
321
279
273
395
357
410
346
311
291
393
301
241
308
310
310
338
367
350
364
257
378
232
316
316
287
339
317
266
383
287
365
370
318
274
324
368
299
228
350
381
229
334
287
365
293
261
334
267
396
311
319
299
330
351
350
302
319
329
362
236
345
283
210
319
294
389
303
277
344
281
384
326
309
361
305
297
287
333
367
271
363
281
374
324
398
245
294
347
341
366
282
303
340
241
319
315
340
352
295
375
363
350
355
292
344
350
299
331
381
328
362
331
298
280
326
251
333
236
340
326
278
353
341
385
298
335
328
382
265
266
260
251
335
300
309
389
311
305
361
257
337
392
308
239
323
353
333
357
295
364
268
269
250
336
262
323
266
320
326
247
290
288
314
386
288
320
347
362
382
287
251
286
281
324
288
214
304
304
250
283
286
330
314
267
295
249
254
335
313
341
315
293
319
262
280
395
400
321
239
361
242
273
282
377
276
418
333
290
281
408
325
364
339
331
318
304
298
300
318
336
321
335
363
289
345
389
326
291
291
329
325
308
322
360
320
327
431
385
286
296
351
262
404
337
254
271
395
282
217
323
317
302
264
391
298
416
243
255
287
258
299
401
271
263
292
369
328
333
312
277
292
273
397
324
299
379
311
287
327
356
265
308
292
279
308
352
291
329
298
283
281
383
306
358
310
278
384
320
424
349
313
338
352
331
313
334
255
263
289
289
298
321
393
322
328
327
326
368
272
303
303
304
356
318
238
289
318
269
261
350
296
395
303
364
369
375
308
326
319
359
365
369
306
385
283
334
330
287
304
356
387
260
327
259
351
225
350
296
274
383
233
304
259
362
349
299
363
314
297
344
299
268
263
325
355
249
345
320
292
332
362
329
372
366
335
338
331
338
232
325
317
294
219
355
298
258
340
352
382
286
342
312
253
304
304
313
290
341
349
352
417
305
340
304
299
384
225
285
351
301
381
446
276
279
302
307
331
362
251
291
344
366
360
262
351
378
353
325
294
292
328
257
395
307
355
334
386
219
371
378
332
370
362
378
277
344
349
450
325
324
350
320
254
399
333
308
263
313
211
355
307
267
352
253
389
310
320
338
278
275
354
294
230
325
285
272
350
316
269
360
366
369
246
327
324
392
303
353
351
324
387
335
316
302
309
307
317
312
349
272
346
289
323
325
343
343
305
286
323
319
337
408
334
289
296
274
303
321
357
263
294
269
327
289
305
297
286
311
267
302
286
311
300
383
303
302
268
332
335
335
335
451
311
335
176
239
290
283
273
309
309
316
248
341
300
332
331
380
337
284
282
392
269
327
314
332
268
346
326
317
318
336
244
273
315
246
336
328
314
325
354
312
289
311
281
299
362
312
318
287
344
324
371
272
352
293
335
331
282
288
368
317
257
327
323
344
301
379
361
256
332
341
369
334
363
352
253
256
322
318
379
315
308
287
358
196
299
411
373
320
294
284
382
277
354
297
242
367
352
316
346
376
203
308
300
370
298
278
346
264
403
353
371
312
335
244
361
267
362
273
320
256
349
255
344
339
388
336
339
296
341
249
285
349
327
377
336
276
343
335
332
354
312
280
313
329
261
340
289
306
281
369
271
262
265
373
363
282
333
362
231
305
288
253
285
289
362
379
299
325
286
290
263
324
357
297
367
368
367
342
361
233
323
258
330
348
409
278
277
288
310
412
352
302
342
239
291
368
365
389
358
301
356
309
333
244
302
366
369
270
216
354
242
316
376
357
215
349
338
269
268
354
314
316
286
281
362
339
293
324
391
240
351
353
262
280
336
308
358
360
303
358
248
320
355
294
278
289
344
318
387
336
327
294
280
267
380
283
310
355
342
266
322
242
328
306
289
271
365
358
343
304
344
372
347
392
353
281
387
321
362
361
305
318
371
302
299
325
321
258
311
282
319
305
368
313
308
344
255
298
303
313
307
350
370
305
333
304
226
318
195
282
313
351
300
383
295
326
242
237
336
378
368
242
295
405
317
272
344
263
344
317
290
359
334
369
382
311
333
326
264
217
311
307
288
324
320
350
343
381
323
289
288
241
363
354
344
317
290
245
339
299
312
280
343
356
310
333
304
341
355
247
237
289
297
313
393
272
332
397
281
296
385
266
289
388
255
329
315
260
316
312
361
305
280
285
299
305
270
350
358
313
353
364
365
318
372
305
291
282
351
281
403
404
297
388
337
279
308
340
291
364
290
285
258
372
270
280
307
333
334
284
341
289
328
307
342
293
300
320
386
307
337
363
280
368
348
362
318
303
366
273
368
283
373
302
298
370
350
342
340
345
293
291
263
355
360
330
336
305
333
265
288
374
312
266
343
283
335
289
343
285
323
405
357
368
233
367
334
302
245
302
328
322
387
295
367
330
295
273
279
287
303
325
309
320
291
346
270
399
333
392
315
383
278
326
315
360
272
238
276
304
319
286
281
283
288
371
279
311
318
256
343
324
296
188
313
369
285
316
363
329
317
352
357
325
238
255
316
305
287
299
325
336
369
319
303
352
338
330
256
273
210
291
351
247
346
337
280
319
314
315
339
275
245
336
350
233
366
370
335
304
394
343
322
365
307
371
297
275
290
302
332
332
239
350
377
253
356
311
322
297
270
427
337
261
335
231
335
380
293
289
329
287
294
318
333
320
292
269
267
294
311
333
265
296
216
300
230
182
303
336
358
341
258
285
305
371
319
260
335
252
337
359
262
339
346
258
312
263
306
294
356
304
291
344
217
337
330
268
246
347
265
334
252
247
350
364
306
293
254
366
338
303
365
350
326
327
308
302
305
241
345
234
285
259
311
269
353
309
310
326
351
318
325
311
327
260
306
268
234
384
319
413
320
289
263
334
381
293
359
265
219
345
390
231
289
312
347
340
279
282
297
316
358
317
344
306
332
339
326
314
284
311
371
396
334
293
373
310
335
360
327
313
303
302
262
227
339
287
379
384
308
353
295
286
273
223
343
332
405
282
274
340
154
294
347
357
260
305
310
297
363
358
308
268
329
337
358
313
274
340
365
316
372
246
338
394
290
283
390
357
257
265
206
388
375
287
341
329
290
356
266
331
234
268
293
292
358
239
436
246
314
337
337
390
394
373
242
316
381
276
324
277
268
286
328
288
366
277
302
295
350
381
422
306
287
270
306
338
237
254
285
296
316
347
313
297
328
331
273
329
182
388
363
360
295
479
304
407
279
346
239
306
274
279
338
281
303
278
345
342
286
280
341
313
368
256
319
324
238
287
422
328
219
258
310
330
356
287
347
309
377
337
358
372
254
304
326
358
282
266
348
336
331
294
326
269
334
214
392
306
338
354
331
313
317
387
270
324
277
320
387
258
336
311
352
288
384
326
359
339
391
378
262
305
282
285
373
359
255
372
353
259
322
297
304
279
244
346
324
298
292
320
282
227
334
279
341
316
307
357
328
256
244
356
274
343
312
284
305
373
324
307
360
314
347
413
248
278
242
264
331
335
306
302
359
398
323
350
376
316
318
320
352
305
371
324
286
335
291
365
317
322
358
299
247
335
309
378
242
277
360
261
274
268
328
288
321
318
319
325
326
359
327
329
351
337
288
291
248
293
272
291
343
317
344
257
345
340
337
292
333
329
274
276
327
331
351
324
299
361
365
273
303
332
327
252
329
337
275
274
304
263
328
203
399
292
313
261
296
355
365
262
343
341
297
322
358
347
279
300
303
266
239
221
293
344
278
328
328
364
372
333
387
379
306
262
265
304
262
311
297
300
358
378
254
306
301
298
371
298
318
323
308
361
283
349
299
322
267
368
287
343
336
344
321
342
303
361
312
316
311
334
358
247
333
212
337
255
323
268
304
274
274
281
356
360
300
299
355
224
371
315
248
281
391
320
318
307
269
287
314
278
361
409
344
293
297
348
308
319
340
330
308
377
254
334
341
263
383
258
305
308
327
325
249
303
344
362
355
313
283
260
278
311
265
367
322
233
319
357
442
270
316
407
292
308
329
353
312
286
300
350
312
339
353
300
296
269
314
329
261
309
264
339
293
335
387
314
291
250
324
363
360
272
295
333
322
315
297
275
341
341
141
311
306
307
321
260
395
307
260
220
269
344
326
317
388
320
355
387
341
280
286
383
337
314
323
318
337
304
277
327
353
231
305
291
216
340
241
323
342
367
323
260
359
357
296
236
350
352
391
303
325
300
275
232
222
370
363
265
313
418
358
323
355
359
271
240
313
267
396
378
299
289
267
337
400
223
322
297
317
337
333
391
290
284
299
376
326
287
351
305
346
318
310
336
426
350
300
337
328
319
341
314
327
269
300
371
290
316
360
356
336
345
358
285
390
263
266
294
295
363
271
273
266
391
301
339
269
335
296
435
316
286
278
364
299
400
284
384
386
336
295
354
299
383
305
255
304
330
308
380
274
268
308
392
327
325
336
313
330
254
290
321
337
276
274
262
241
212
335
313
266
311
394
305
295
318
261
260
322
243
298
255
224
345
274
298
265
368
309
319
319
303
270
242
241
321
275
323
384
302
301
269
321
323
304
281
360
314
293
391
291
403
381
291
336
261
281
333
320
290
323
250
288
247
311
339
383
329
261
324
405
323
367
320
273
292
321
344
327
281
350
352
361
261
338
334
349
385
203
340
331
300
291
261
384
353
291
311
308
306
282
286
261
374
364
290
215
422
240
300
294
302
335
352
342
254
348
299
310
285
369
295
429
255
284
332
301
248
325
299
264
337
241
294
358
380
321
324
338
247
247
321
430
343
225
274
287
350
330
229
334
324
373
317
220
262
379
358
289
245
343
211
331
339
297
347
308
317
258
327
376
315
265
325
343
350
303
279
340
290
393
322
386
280
303
291
341
340
322
365
268
363
279
261
320
318
392
370
310
292
326
319
329
290
338
251
346
271
375
401
339
355
380
280
253
369
266
281
363
274
344
307
217
292
341
320
310
380
351
286
287
351
371
307
327
325
272
307
344
340
318
417
349
326
383
443
363
379
426
266
289
379
288
355
246
334
309
266
316
218
356
310
410
243
348
321
319
320
324
333
342
302
347
325
378
335
287
297
315
364
321
302
347
321
273
306
336
260
289
316
326
281
344
314
258
282
303
322
305
286
306
365
265
352
334
344
392
347
385
328
274
301
371
234
308
330
380
355
330
332
415
247
252
350
312
256
251
347
381
364
358
316
269
327
327
365
302
169
368
346
256
411
311
285
366
359
241
276
331
285
327
350
299
313
338
368
303
243
398
373
374
357
333
283
255
292
325
255
322
318
326
308
289
262
322
336
298
315
229
338
194
308
335
336
262
300
251
302
341
249
360
248
350
260
243
254
272
318
351
309
322
260
316
351
332
304
356
354
321
334
340
374
403
285
314
332
287
285
309
256
341
350
288
268
243
376
311
270
304
316
332
374
373
320
282
228
283
319
296
319
279
384
325
348
261
216
364
267
304
336
258
324
301
264
322
241
332
265
283
235
232
272
195
274
303
333
327
350
319
366
293
346
262
293
267
264
346
299
379
338
304
298
367
338
278
341
261
223
378
288
331
308
305
285
348
322
321
308
332
348
320
263
381
353
350
278
304
229
292
356
362
325
383
334
351
382
258
386
300
276
322
342
370
420
328
316
304
383
255
323
323
306
310
379
329
319
292
336
405
347
391
270
314
359
338
290
303
386
434
261
387
353
368
273
331
258
319
241
308
281
295
311
351
240
295
353
372
378
332
414
296
403
283
283
270
314
267
370
278
359
247
357
322
300
380
296
342
324
319
328
356
339
338
246
318
267
363
364
304
328
271
228
216
369
347
344
257
338
359
346
304
344
361
319
397
299
293
318
294
317
343
298
288
320
311
284
312
393
267
331
324
367
264
365
334
319
415
259
328
339
401
291
363
291
373
378
346
293
357
239
270
355
416
306
247
268
367
370
371
342
285
344
368
318
306
278
318
391
299
283
225
311
328
315
272
285
306
388
355
364
302
294
238
352
375
334
255
380
313
343
337
339
330
242
325
293
272
386
336
355
392
394
324
312
312
291
307
335
337
311
370
340
360
331
289
368
314
306
369
270
299
307
328
353
240
285
301
376
269
321
386
390
216
360
316
244
307
318
308
313
293
302
383
257
347
289
264
392
380
257
312
269
358
320
302
324
303
334
314
315
415
311
294
361
347
325
319
295
314
339
334
240
349
297
283
293
238
296
419
349
297
301
301
328
295
365
318
284
277
295
385
376
301
319
344
302
265
272
276
220
399
276
302
241
273
361
383
385
356
361
261
281
333
356
243
281
342
311
373
351
194
319
314
288
249
236
269
243
358
257
355
345
354
324
299
383
293
226
311
397
336
317
304
312
257
392
320
218
258
282
226
315
253
357
299
340
379
352
349
354
262
360
382
333
286
324
339
345
378
329
311
339
329
324
338
279
343
319
315
349
318
353
314
307
370
387
298
321
221
394
263
281
287
296
257
277
321
337
353
285
340
307
272
293
254
356
291
302
329
291
261
278
338
257
258
294
307
324
336
303
263
253
298
272
350
271
239
371
284
317
328
301
340
284
281
350
251
277
282
335
382
312
381
328
370
241
371
358
356
335
313
274
394
303
348
298
364
272
226
391
282
275
283
297
356
386
242
287
279
342
350
381
261
279
300
350
399
372
280
289
296
355
254
329
321
272
339
299
274
336
313
297
395
326
367
371
279
292
363
321
282
321
357
323
297
342
334
349
240
368
370
379
336
289
261
233
279
311
315
266
285
334
329
298
269
331
305
219
272
252
317
359
299
240
338
263
325
299
328
317
376
400
379
247
341
322
299
295
341
444
292
363
318
424
354
352
373
404
291
285
350
349
322
307
324
327
363
375
313
379
317
270
284
295
304
286
305
323
317
367
270
298
326
207
335
330
321
391
260
275
260
339
302
391
296
278
264
315
240
358
361
276
334
302
344
260
254
278
325
352
337
329
335
331
302
302
298
300
306
382
338
246
346
387
350
310
255
271
340
376
359
297
253
211
358
298
377
349
311
352
362
315
298
278
333
381
344
355
296
330
253
324
309
277
370
374
312
275
285
346
360
277
374
373
336
269
280
298
317
372
304
262
263
243
331
311
387
359
355
399
316
253
382
394
322
279
302
292
257
340
306
269
314
360
258
272
371
352
415
316
302
289
367
333
308
339
319
352
375
303
325
306
422
304
309
397
262
293
223
261
227
338
318
304
256
359
310
363
279
362
282
331
272
269
289
273
326
279
397
295
350
284
181
280
327
249
312
322
306
349
305
375
355
324
373
241
353
314
329
356
368
237
343
269
283
335
361
225
321
258
277
278
322
411
292
285
315
300
320
331
276
306
404
358
293
316
315
296
284
297
413
341
343
350
305
296
333
298
250
189
331
275
303
257
325
298
322
341
390
260
298
301
342
327
350
389
334
302
374
261
292
293
329
336
315
245
332
363
403
362
392
340
390
259
337
361
322
274
295
382
380
372
305
384
391
195
286
317
279
296
320
378
260
283
328
334
332
264
340
248
242
345
276
372
350
340
333
311
301
222
293
372
388
279
316
356
253
237
211
288
229
303
296
381
322
254
237
293
369
284
317
298
260
284
349
358
296
259
343
263
271
324
344
303
211
330
328
301
264
387
350
325
329
257
244
361
323
431
274
356
315
345
263
290
383
363
359
338
326
326
299
335
300
373
320
212
286
329
323
387
372
295
274
236
368
293
361
331
286
386
250
383
403
315
332
366
332
272
268
285
366
402
348
315
277
280
304
242
309
299
378
333
328
386
325
270
315
305
293
327
322
307
259
248
275
322
344
307
334
303
317
320
368
289
300
275
338
303
325
383
306
335
244
321
319
327
390
344
322
225
304
409
308
318
295
303
346
201
311
272
296
356
385
241
282
325
207
241
316
262
319
379
323
308
318
367
314
322
208
297
296
338
354
297
283
341
352
282
318
282
320
307
268
353
346
366
296
278
317
282
363
306
360
271
298
207
345
252
371
317
278
202
338
334
319
289
268
320
282
227
335
301
209
338
384
294
346
326
286
344
322
329
347
271
312
247
352
300
347
345
217
234
337
350
294
375
322
305
328
267
439
343
384
339
319
302
337
370
251
260
319
348
296
344
324
276
268
297
292
398
288
353
337
349
302
345
280
369
406
335
317
261
307
336
344
363
264
312
338
299
308
324
304
319
345
316
247
298
267
372
320
326
354
303
301
305
290
271
375
336
294
343
295
316
322
344
273
290
312
327
271
301
364
314
381
161
319
324
318
391
249
225
318
295
334
295
285
377
287
214
327
287
363
365
303
368
305
367
310
314
250
274
328
358
376
318
269
280
248
426
310
208
265
343
233
327
286
277
256
340
330
237
366
345
371
336
415
343
262
361
320
349
322
327
373
286
303
296
275
257
339
311
291
358
343
328
290
300
286
238
295
377
290
263
283
321
326
234
226
356
284
306
356
309
358
331
280
399
273
287
355
304
262
294
277
339
376
335
308
319
250
301
313
331
267
324
216
342
340
289
303
344
379
299
296
357
357
280
301
295
299
242
404
320
327
283
345
253
318
369
281
320
281
410
369
298
384
255
254
272
348
294
307
356
348
328
323
290
383
328
334
353
411
261
266
243
336
302
301
420
269
325
335
350
325
346
296
297
295
369
295
314
361
348
274
356
211
369
331
370
334
291
386
280
336
266
224
212
258
363
362
245
227
297
308
308
329
300
351
285
345
340
323
291
225
290
326
241
299
269
304
339
334
374
255
231
283
313
273
244
313
352
429
255
310
295
370
239
385
229
296
302
322
306
310
367
345
393
370
267
357
272
303
311
347
391
288
284
407
302
293
267
282
393
310
262
343
299
217
364
359
320
244
345
298
321
247
278
371
296
336
360
352
317
318
359
318
265
403
395
348
235
341
282
308
340
309
243
254
235
323
348
255
260
339
390
414
309
279
262
359
245
277
334
274
350
374
348
323
299
341
277
364
332
341
313
313
308
256
263
248
282
348
336
362
337
226
373
397
353
304
321
333
278
411
359
354
342
325
276
200
308
252
385
362
359
339
312
309
201
267
346
321
353
254
295
282
294
312
322
378
237
323
295
389
313
244
337
219
244
315
268
297
398
358
328
333
317
349
321
344
328
391
245
300
262
310
437
329
319
314
296
336
276
333
318
399
289
329
308
323
338
323
288
251
276
275
309
322
358
332
345
384
368
313
284
350
325
377
350
303
241
300
298
327
439
323
349
290
345
328
356
292
344
288
305
346
345
367
245
307
416
314
309
338
290
289
330
296
302
294
322
328
273
336
308
374
322
321
312
295
237
250
273
366
318
377
328
300
315
278
279
285
341
295
345
266
288
397
398
275
304
318
351
372
365
311
342
352
329
331
362
354
387
360
363
249
324
239
221
322
323
322
213
276
258
376
356
358
296
355
362
240
319
337
317
381
280
350
287
256
307
224
323
291
283
269
325
422
269
359
308
301
341
325
322
272
251
385
272
330
345
373
259
310
383
328
319
294
348
329
258
365
353
275
251
351
286
257
340
337
350
317
339
335
246
404
343
320
316
275
231
343
258
287
333
317
390
337
326
291
305
385
388
260
339
290
279
374
259
273
346
309
352
301
279
259
287
433
262
400
355
275
359
345
325
276
303
391
233
301
331
322
322
306
291
382
319
341
306
257
315
334
309
293
251
308
305
297
361
350
357
298
308
346
320
309
342
249
345
369
289
277
343
294
271
357
350
277
340
356
308
257
223
302
357
352
326
309
415
359
280
356
327
277
313
307
255
352
347
259
332
313
271
321
333
375
248
415
326
334
336
335
341
402
284
277
331
276
290
363
321
273
335
317
287
307
326
201
355
277
248
302
310
327
319
359
258
336
229
267
313
320
318
316
263
251
363
316
306
209
361
396
299
360
464
260
313
431
370
316
309
282
259
325
255
258
268
378
340
340
340
391
304
270
319
392
353
330
370
321
267
357
327
312
319
291
363
365
361
352
384
381
341
314
341
309
331
356
247
295
296
263
321
345
377
303
304
346
364
269
317
323
362
275
265
236
345
388
334
328
339
311
347
262
294
283
350
276
292
276
346
317
389
362
379
295
337
332
285
269
270
329
245
277
361
367
311
380
327
354
406
294
356
277
234
266
345
366
359
305
318
392
352
412
278
394
322
401
304
295
363
373
321
351
388
307
340
377
324
268
422
343
405
336
366
274
321
371
310
274
366
371
339
382
253
378
341
337
344
340
258
249
266
328
368
321
341
317
294
206
293
372
332
302
248
334
329
284
353
316
401
309
282
254
258
354
389
330
384
346
267
318
350
355
316
321
325
274
312
327
391
325
337
332
317
308
377
378
272
272
334
411
330
304
315
287
309
388
393
341
249
280
185
327
242
248
283
332
374
360
388
264
371
244
316
355
315
314
267
293
354
244
305
304
244
338
327
351
228
284
368
306
255
248
268
350
400
356
343
304
329
267
382
328
318
306
307
352
258
263
294
250
367
304
341
346
307
240
362
285
382
319
374
350
365
335
301
362
301
262
289
205
338
322
304
295
332
360
302
293
348
321
343
289
305
330
193
323
259
315
366
279
291
291
212
334
261
330
263
324
245
373
342
242
325
356
354
320
369
323
271
331
305
254
254
208
403
355
386
234
331
370
349
270
401
330
365
346
330
306
337
262
256
301
281
361
319
337
317
359
273
266
288
280
372
341
299
306
358
362
278
369
282
318
305
290
372
260
309
313
393
253
365
330
374
313
363
354
294
328
336
331
302
349
275
340
312
268
260
274
336
352
303
283
271
272
398
370
337
336
297
377
268
335
286
328
332
344
290
365
310
320
307
256
251
327
303
358
293
363
317
370
352
277
298
350
304
355
273
382
317
257
323
319
328
267
297
309
231
285
314
246
354
318
324
316
316
386
258
340
324
337
287
380
333
297
323
341
260
250
324
306
311
366
280
342
262
281
292
320
301
288
305
325
365
340
359
217
310
262
311
303
334
295
308
354
347
285
318
297
303
318
263
286
336
301
357
326
300
290
311
240
290
344
240
286
390
338
273
376
352
309
320
353
257
322
339
283
257
267
331
304
304
285
369
284
408
302
343
377
293
323
342
265
247
299
265
285
315
290
200
314
391
335
384
264
275
303
293
276
339
268
390
317
268
231
326
310
258
271
289
337
276
297
339
317
329
383
432
332
286
296
355
338
289
277
365
386
326
319
263
341
282
336
295
333
296
326
287
301
295
360
330
322
267
375
277
298
381
360
317
262
247
310
251
356
306
384
312
349
270
340
286
270
337
257
263
310
374
310
350
316
342
343
355
335
255
326
258
329
299
284
319
338
362
266
334
287
268
307
255
364
279
328
355
338
251
378
288
282
318
243
307
331
304
334
317
353
412
300
324
301
255
315
346
289
325
246
362
341
343
360
338
358
375
251
386
331
234
321
335
370
246
270
281
305
351
245
289
298
343
332
237
306
266
305
383
329
339
297
329
196
360
323
332
365
369
342
281
332
340
387
307
319
288
332
312
298
280
324
353
291
386
372
327
315
276
350
236
330
305
389
368
336
321
298
274
331
281
331
263
313
278
298
316
275
371
358
372
322
309
301
339
295
351
265
271
287
342
303
277
213
276
340
326
253
331
345
289
347
381
421
321
384
331
371
372
257
368
333
261
310
296
364
315
360
302
351
298
380
372
283
348
370
301
294
333
315
343
424
411
254
269
366
344
281
350
263
352
319
389
280
275
291
413
353
311
264
412
295
339
372
307
345
369
274
315
338
344
263
300
291
336
340
230
250
304
310
327
379
356
262
288
292
309
316
263
325
274
279
359
307
267
323
371
307
306
305
271
388
363
324
349
222
303
375
275
373
307
402
327
284
312
295
259
276
290
393
340
271
272
298
263
347
336
391
350
382
281
314
308
279
315
334
306
363
307
313
282
253
272
378
250
405
278
283
360
320
325
346
297
272
264
253
305
285
252
338
267
295
367
322
342
350
280
315
303
393
390
398
262
382
339
249
305
301
277
300
364
257
329
355
352
327
392
309
262
296
435
281
277
267
230
289
461
317
259
260
361
299
285
361
253
411
370
298
306
259
217
367
386
287
263
324
303
356
381
405
208
252
328
358
284
256
292
372
310
267
388
319
310
281
313
340
284
273
309
285
350
314
336
355
268
313
411
344
231
371
278
331
340
351
275
349
260
367
336
369
319
318
330
320
298
329
380
301
317
297
353
373
332
375
244
363
313
265
338
298
321
294
246
325
278
321
256
338
345
343
315
254
327
286
260
326
349
300
276
252
378
333
340
322
375
293
295
231
304
297
344
364
305
336
296
323
337
418
293
342
321
171
348
292
295
358
307
373
170
331
248
251
376
329
285
344
370
351
322
314
373
337
393
284
358
368
356
347
284
335
334
365
366
342
286
391
209
378
338
375
333
322
229
333
390
217
260
364
251
311
345
316
278
374
332
361
379
321
307
319
322
247
392
310
305
332
290
288
274
360
383
244
265
315
374
331
266
347
277
251
291
291
291
242
298
299
347
357
300
292
367
317
310
225
288
284
351
383
391
266
351
289
373
306
380
318
317
232
315
246
295
273
279
349
309
348
348
385
255
333
273
259
271
293
303
346
297
336
382
273
293
210
334
396
303
260
307
314
315
380
298
282
279
304
230
308
307
305
334
357
305
326
311
229
277
339
345
359
320
251
251
311
349
322
273
341
329
237
322
273
245
313
249
365
209
322
337
325
328
404
279
260
245
390
339
255
365
262
264
303
340
288
342
285
315
328
269
285
272
341
338
367
325
299
318
305
330
280
292
326
294
337
311
321
287
347
337
376
231
322
300
238
295
321
362
378
311
287
350
352
319
255
279
223
343
276
362
383
331
358
326
333
287
289
266
342
297
326
338
306
352
319
326
352
357
359
322
366
335
402
180
321
353
361
262
353
312
342
404
303
236
326
330
250
319
289
290
292
326
357
337
270
315
401
275
361
326
248
346
301
323
286
257
302
274
238
297
315
245
308
315
313
250
365
329
287
300
374
345
426
328
248
343
355
210
433
325
355
299
269
212
282
365
315
312
321
326
281
340
276
252
392
280
379
248
308
328
256
261
339
263
240
323
348
364
361
309
340
289
304
285
306
346
341
321
315
316
306
357
326
388
276
243
357
304
430
333
286
240
345
363
322
382
333
300
213
269
323
338
331
374
381
276
315
292
262
325
247
254
307
330
374
358
297
324
353
288
324
255
205
363
267
323
274
271
399
291
317
335
340
293
257
374
296
244
346
319
332
340
373
347
332
289
290
307
336
310
352
304
305
347
316
334
355
309
327
210
311
323
298
318
253
319
288
244
379
256
299
259
357
328
321
302
242
273
273
296
385
342
298
317
264
225
269
301
326
296
319
288
283
335
219
407
348
255
250
261
310
307
226
301
325
318
304
311
341
396
321
284
298
310
356
351
331
321
325
248
367
330
284
277
373
346
350
301
328
386
307
375
346
347
309
240
359
328
345
356
244
257
311
311
384
351
221
281
358
252
284
321
334
372
363
312
215
340
281
284
372
270
282
324
321
329
390
291
351
303
270
329
328
289
362
383
301
417
316
304
348
268
281
332
366
342
285
296
312
325
272
333
282
292
276
331
380
338
294
238
284
379
374
281
317
300
377
378
280
290
280
245
280
304
297
280
369
307
373
302
365
261
352
366
303
396
340
298
295
338
343
319
322
320
299
300
357
288
348
356
269
360
418
364
294
324
287
333
314
341
339
301
298
386
328
229
363
327
263
315
358
262
288
275
371
303
350
353
351
273
320
289
345
311
362
320
313
273
329
297
356
381
324
292
403
328
377
295
369
261
288
326
284
289
308
276
294
371
185
341
337
280
371
309
359
271
293
366
393
317
312
296
371
387
305
445
409
338
231
266
388
339
355
292
321
241
336
373
368
365
368
265
250
307
223
247
279
313
304
340
320
345
353
314
288
250
306
316
302
334
366
237
352
378
279
351
340
299
289
312
318
319
306
281
262
286
299
316
338
337
267
395
306
365
368
289
334
346
205
224
310
329
316
242
412
275
340
252
273
318
307
284
356
262
352
319
288
335
294
309
270
358
365
301
353
260
359
314
384
344
336
354
354
263
326
319
384
299
284
313
347
304
369
255
299
356
369
362
278
284
214
339
338
365
294
336
316
302
396
322
324
340
354
301
202
341
322
269
351
332
377
306
304
391
196
342
325
294
302
335
360
288
305
360
339
247
358
341
334
324
266
264
334
277
383
346
264
321
253
304
249
386
297
330
251
373
298
428
339
358
262
321
359
218
297
339
385
361
384
333
345
242
317
229
271
293
311
257
322
292
287
357
342
330
318
388
293
335
391
300
256
329
301
302
317
288
334
375
329
230
300
332
317
329
365
351
360
332
300
268
288
317
354
334
384
351
258
228
350
311
372
342
323
368
234
324
370
348
365
338
290
384
335
310
308
256
345
339
282
308
224
336
283
367
345
292
344
293
374
311
275
264
342
348
334
308
327
322
371
316
322
411
337
362
353
248
276
341
363
329
386
419
418
331
354
332
277
304
316
233
286
351
297
308
315
250
231
355
322
302
184
295
280
334
256
256
329
386
392
251
305
316
360
306
284
343
386
345
280
283
332
356
287
370
311
261
339
290
339
334
267
326
224
370
350
332
280
320
356
283
345
335
342
289
349
371
279
311
251
309
307
352
302
340
254
282
332
332
320
261
294
294
287
252
334
280
344
344
286
327
350
283
269
260
309
335
327
335
342
328
327
359
300
320
301
282
290
356
411
331
291
177
272
319
351
295
358
254
289
415
352
266
319
290
328
344
293
233
292
326
172
309
289
351
331
309
310
372
375
354
321
340
398
366
277
328
271
292
329
264
324
366
339
289
393
412
271
310
300
383
364
310
250
393
361
345
267
291
288
396
296
335
355
324
362
294
348
258
298
321
301
218
345
404
298
283
324
271
392
339
411
311
253
297
269
334
339
334
302
302
240
337
366
249
350
373
279
309
294
355
327
377
276
281
274
342
275
328
303
268
286
278
289
304
271
327
305
300
307
343
288
358
289
282
340
262
368
333
321
266
383
331
381
271
325
377
335
296
272
298
295
265
286
332
309
278
374
349
284
334
317
371
220
371
356
344
353
350
285
321
364
311
342
328
346
330
338
341
334
244
321
267
369
353
262
310
329
389
342
253
367
320
307
349
368
320
212
311
378
355
246
212
269
284
294
290
325
240
310
300
371
300
323
294
288
299
357
272
350
239
325
189
365
292
317
230
296
310
355
356
353
370
305
349
336
220
285
357
325
338
279
344
200
346
348
339
377
305
288
309
341
296
290
349
312
357
344
321
284
384
288
341
257
279
333
335
341
251
408
333
358
411
364
255
360
335
313
409
403
295
287
271
327
307
344
313
360
269
304
277
279
299
302
333
267
259
331
365
233
237
322
237
319
297
403
372
284
289
262
335
316
327
314
431
324
351
356
259
241
332
368
347
298
355
423
332
349
289
274
318
262
346
292
237
251
267
370
301
319
315
345
346
281
340
347
347
273
276
254
338
377
289
378
359
326
402
268
334
313
372
312
306
351
326
212
327
303
294
384
319
315
360
359
289
325
302
290
298
291
308
373
328
313
295
285
317
307
340
265
398
311
279
306
409
325
292
317
338
338
355
357
364
379
274
252
322
322
321
322
304
386
410
351
388
183
298
328
339
304
252
314
271
334
377
288
315
344
340
353
335
367
326
296
265
304
358
240
293
312
415
280
302
289
288
312
331
268
309
283
272
304
282
328
307
301
369
326
275
322
247
339
255
261
232
295
210
291
297
292
353
346
235
295
338
383
310
256
400
240
330
270
321
276
293
360
327
260
350
393
319
274
247
283
340
256
302
325
344
318
319
382
253
371
266
281
368
347
305
370
275
337
312
401
298
321
267
264
257
322
320
398
307
289
297
319
316
295
403
253
364
337
298
298
353
191
400
311
346
309
313
300
311
241
346
233
306
347
275
271
330
363
393
350
348
296
309
319
344
375
368
275
318
343
280
321
431
312
413
388
267
317
290
270
402
352
275
392
373
373
245
346
342
223
356
252
297
309
309
312
361
397
208
401
368
262
291
282
417
314
343
311
204
288
328
332
289
314
303
255
284
299
254
351
321
373
309
300
357
332
288
326
254
347
263
290
254
325
335
343
258
344
241
350
339
267
214
352
350
389
324
326
324
289
311
283
209
314
292
380
312
277
335
398
255
336
345
295
380
329
275
420
271
379
309
331
337
364
256
335
310
238
331
341
394
305
302
272
268
273
270
362
280
295
283
298
350
261
384
334
282
394
298
334
381
322
353
315
333
295
285
318
305
286
352
334
252
395
353
279
323
318
221
368
268
311
368
287
318
291
309
339
364
386
297
323
352
380
359
338
323
252
369
439
253
367
360
317
296
221
248
328
281
368
387
320
322
353
300
276
248
289
301
296
303
376
331
357
267
331
327
363
349
311
368
329
343
240
365
309
322
384
369
315
308
354
380
270
348
322
262
368
334
307
293
326
318
320
335
252
274
336
287
332
289
306
301
247
339
339
282
210
331
232
311
289
297
354
321
336
288
207
301
314
327
255
363
212
328
371
356
328
370
390
350
303
332
336
290
319
325
305
410
226
297
317
351
349
204
364
293
309
266
264
184
339
319
248
365
396
295
283
329
314
303
323
366
287
379
339
381
315
327
328
321
239
361
266
307
253
375
364
370
351
321
346
349
343
417
289
354
288
295
323
268
302
360
345
317
282
334
345
382
388
299
336
395
362
376
311
310
333
280
310
352
283
263
308
303
347
312
357
341
273
304
292
315
390
341
362
301
362
334
362
336
161
247
315
283
324
272
312
390
279
354
377
295
352
373
336
344
285
267
378
310
302
370
263
340
282
353
332
322
369
409
289
340
303
292
334
348
339
297
327
295
356
327
286
335
307
340
371
327
358
308
321
358
287
245
317
341
189
325
289
311
339
366
302
334
304
325
246
303
323
337
319
343
342
303
347
364
301
278
340
324
373
295
382
318
293
261
237
263
293
320
320
307
274
299
281
253
335
369
188
337
311
241
285
292
367
291
400
387
346
388
259
358
318
259
365
388
315
337
402
361
303
316
321
254
344
321
308
306
302
354
323
326
320
329
383
317
283
310
381
350
262
258
323
306
314
356
343
230
385
353
318
336
272
308
333
292
288
288
286
337
274
252
318
284
256
320
351
303
342
310
330
278
343
365
335
371
372
342
388
277
333
364
299
339
414
317
358
235
301
257
310
336
291
396
423
373
300
353
387
165
330
274
269
306
345
406
330
211
306
322
277
345
299
269
378
333
281
343
311
306
250
327
337
317
327
289
261
272
316
287
263
400
315
245
245
321
332
316
315
345
261
323
385
295
312
289
268
229
334
313
309
302
302
287
309
359
325
409
302
307
342
328
407
276
311
333
270
326
280
232
408
256
258
405
322
312
350
256
302
362
344
317
266
357
263
270
302
313
313
347
367
338
295
319
279
289
294
176
286
337
321
375
283
269
297
308
269
326
264
253
370
294
339
262
300
405
269
253
386
290
293
363
268
318
202
343
305
335
293
381
320
290
304
326
299
326
286
249
292
303
356
299
298
300
337
301
364
271
365
398
374
295
310
307
242
189
336
361
365
180
299
310
236
300
359
260
317
234
369
299
299
334
300
268
355
303
343
339
280
244
299
310
300
268
354
332
292
259
340
298
295
381
340
307
321
266
359
325
294
343
296
418
297
395
296
337
378
389
360
336
335
418
313
335
328
319
252
322
363
358
297
321
280
398
292
346
355
222
273
233
268
277
229
273
359
396
279
379
300
304
319
283
289
405
257
336
291
330
391
316
298
294
247
305
333
381
232
323
336
257
320
255
278
276
323
317
355
240
331
244
260
335
310
350
259
263
222
279
353
326
294
277
314
344
327
304
372
341
415
338
350
408
359
336
296
246
227
350
389
290
235
269
303
272
318
369
331
302
307
336
257
365
357
337
265
284
315
307
273
277
349
342
334
325
246
341
314
296
197
302
304
301
280
247
338
420
277
331
278
288
228
311
298
368
206
351
326
298
247
240
247
278
398
359
360
335
342
267
285
396
289
279
266
317
304
235
381
268
295
320
300
276
311
346
317
285
305
339
334
356
334
352
296
322
289
264
363
304
308
340
349
296
301
282
288
312
379
346
377
287
313
311
218
307
249
366
247
301
350
320
357
373
271
346
349
280
358
346
316
240
285
299
323
257
380
303
275
365
267
288
253
363
234
350
377
275
296
372
324
378
252
330
301
298
278
387
300
310
363
295
279
347
273
307
356
248
307
284
320
325
312
290
367
352
375
333
345
282
377
298
320
288
302
305
234
336
345
338
300
290
347
327
252
231
316
298
333
339
263
302
311
286
346
336
307
352
288
300
288
228
353
314
230
331
368
403
388
321
344
322
289
283
323
331
334
355
201
293
213
365
236
353
311
335
241
290
327
333
306
338
295
304
279
319
237
327
379
318
383
307
250
237
340
332
275
375
263
355
315
364
300
337
309
367
255
349
306
294
378
268
294
371
291
270
168
249
311
303
251
284
176
402
383
326
278
309
276
289
344
287
335
349
387
267
337
394
369
366
288
358
341
386
270
367
384
294
291
360
382
325
316
262
285
359
303
365
388
308
323
288
292
328
278
273
303
292
350
296
293
318
312
386
275
349
261
412
283
397
297
183
394
359
336
371
316
348
333
298
298
280
408
311
333
330
392
251
278
324
279
237
323
285
314
323
278
336
328
314
336
363
302
307
294
254
328
256
318
379
280
303
275
297
254
347
370
350
338
389
307
376
298
337
289
222
235
322
329
312
305
295
274
338
293
359
325
301
300
322
265
267
361
353
323
312
302
360
377
291
354
249
282
277
315
294
270
358
368
292
344
304
278
359
348
368
373
438
290
350
302
312
348
322
244
301
256
402
284
256
367
343
261
347
336
359
361
369
301
353
325
296
376
326
407
366
362
331
347
279
188
314
310
346
318
290
279
308
374
285
390
238
322
385
283
333
413
330
256
331
303
327
422
256
405
415
266
349
234
364
304
325
416
273
342
365
386
306
280
330
337
238
281
261
270
376
346
317
354
301
302
379
302
274
224
227
253
331
338
304
377
277
368
245
312
352
210
227
291
309
355
329
300
295
364
348
342
358
301
378
316
345
303
308
352
331
316
336
315
287
315
404
344
293
299
308
342
290
310
291
328
347
356
287
361
282
312
336
352
267
351
202
359
366
287
376
291
338
326
339
275
349
353
309
203
251
228
372
374
409
281
319
348
371
249
423
340
346
373
232
311
323
408
326
276
297
271
337
356
360
336
362
304
254
304
332
166
391
348
329
279
306
374
300
323
266
311
175
318
412
303
191
308
289
391
326
301
330
309
235
267
400
242
299
362
362
405
278
366
367
277
258
284
381
373
307
293
340
221
314
229
279
334
345
340
264
345
316
325
323
370
279
270
310
308
357
279
354
367
314
341
242
369
298
254
326
350
299
296
370
329
200
328
316
291
386
367
295
305
353
278
310
297
367
281
269
245
341
256
262
327
277
342
283
292
343
314
337
297
330
376
319
323
388
381
238
367
294
345
343
322
262
404
274
319
365
272
275
366
314
324
338
329
382
334
291
294
301
369
279
289
240
329
300
365
267
307
280
298
324
231
386
285
289
331
292
386
230
351
411
370
397
243
290
331
369
261
258
252
342
256
309
317
361
377
308
337
286
296
304
316
385
226
349
312
270
369
327
236
283
250
313
359
332
367
257
333
275
335
337
349
250
357
309
387
314
297
312
335
247
278
353
280
377
282
314
339
253
278
350
316
334
269
236
315
327
240
276
377
357
312
287
396
259
290
294
293
331
249
334
346
360
346
326
317
292
285
399
264
379
293
307
275
351
252
303
357
271
296
291
350
312
271
340
356
191
307
313
268
277
247
381
350
292
304
318
303
325
351
306
319
247
333
276
325
330
339
324
226
297
299
325
254
366
324
359
289
341
360
321
336
276
361
308
291
332
237
328
212
299
303
412
210
360
351
240
344
262
342
320
320
342
263
325
368
294
394
220
312
312
340
312
302
330
257
326
329
299
266
311
317
373
348
290
322
334
309
318
279
239
340
348
306
244
340
330
268
393
303
357
291
332
301
266
269
378
276
394
345
289
297
200
274
354
272
290
293
279
334
337
284
285
286
299
324
321
299
380
295
290
334
383
359
336
312
360
324
271
300
349
316
307
261
289
334
337
280
222
290
218
269
351
313
320
278
308
256
381
379
299
310
243
261
330
268
320
333
281
333
266
319
400
319
321
260
350
346
308
386
222
304
295
331
335
263
300
267
316
297
385
279
272
351
348
222
287
318
334
277
345
250
335
401
327
315
346
321
278
297
266
376
226
273
357
322
332
304
321
322
280
276
320
251
248
296
312
356
337
336
268
289
344
343
264
360
327
259
322
297
305
318
271
310
350
324
298
332
339
337
288
328
341
280
324
277
395
254
342
264
307
283
344
310
348
202
361
342
274
304
299
333
291
276
315
324
354
247
287
313
287
382
419
295
293
315
344
289
340
293
308
354
391
307
267
339
302
334
264
335
217
333
298
320
325
291
275
310
266
303
390
365
400
316
241
332
328
416
342
306
258
395
370
304
385
348
342
340
296
329
355
266
222
230
353
328
306
331
322
311
321
322
299
202
265
251
406
413
347
305
246
353
323
310
377
279
260
220
324
357
317
353
345
260
382
275
357
210
257
275
383
250
294
287
400
296
235
328
253
337
301
372
287
304
370
289
306
414
276
356
330
373
339
373
304
314
337
326
330
319
413
335
254
343
335
253
350
292
285
371
381
362
254
255
248
344
339
201
324
324
330
316
314
316
260
338
337
359
321
388
324
279
314
314
290
291
325
293
382
345
307
323
437
323
236
391
364
365
344
370
373
370
344
309
277
402
369
325
376
258
321
353
261
234
396
362
283
318
287
263
307
289
291
300
324
308
287
357
321
364
295
361
318
330
306
276
423
323
257
319
341
330
410
375
296
295
309
264
351
328
233
278
301
334
312
252
337
356
304
284
259
351
243
388
308
317
307
295
288
322
404
346
340
296
349
329
325
328
303
310
366
335
302
315
259
289
363
376
271
302
306
312
263
248
362
329
341
328
370
315
276
290
329
333
299
396
293
333
333
361
231
336
264
340
363
266
290
301
270
241
338
272
313
222
329
369
336
320
362
308
309
354
289
250
253
312
317
388
325
315
365
285
344
329
343
409
322
334
294
241
282
437
362
353
286
282
336
368
319
191
322
315
263
333
323
286
339
330
364
341
335
309
318
283
243
290
297
280
293
357
328
357
267
278
346
259
248
289
232
348
308
360
361
295
360
362
341
261
291
378
342
315
325
389
260
273
436
319
333
302
393
389
309
340
407
274
204
308
362
328
270
356
295
355
339
321
341
378
258
414
271
354
334
307
325
342
346
316
305
364
316
319
275
294
347
438
367
266
360
381
303
354
337
372
315
309
375
299
370
326
290
367
256
350
324
322
358
416
346
338
297
310
299
370
281
348
355
246
272
240
275
315
318
288
357
357
339
279
328
326
258
312
257
323
363
305
354
291
297
293
324
279
335
310
263
363
333
256
334
375
226
398
331
292
299
352
203
309
355
344
337
365
301
326
337
345
378
353
289
308
355
379
331
365
303
368
350
319
264
329
295
296
282
306
219
291
348
367
395
256
297
321
374
227
323
308
314
314
365
300
289
285
296
397
319
371
316
347
391
237
365
335
334
214
243
230
278
242
304
294
368
290
392
256
330
329
360
252
313
268
280
271
275
287
311
344
389
279
331
313
319
330
319
336
313
339
293
298
265
291
317
233
386
325
322
370
364
300
246
297
310
295
288
284
312
315
325
387
266
419
349
279
306
313
381
395
374
294
261
284
313
319
325
362
350
304
319
339
304
375
229
254
328
348
357
300
283
310
266
336
336
338
327
403
300
291
319
316
264
296
327
333
333
268
328
277
324
334
233
337
337
302
329
315
368
320
330
252
291
396
369
299
335
345
280
314
252
350
247
285
259
281
257
297
238
331
360
271
341
278
338
375
259
256
243
330
316
297
261
327
301
349
266
286
290
278
282
305
388
309
350
351
354
367
273
378
254
350
277
301
229
302
282
240
213
320
309
325
365
336
223
281
262
304
314
338
327
300
257
352
306
336
345
217
334
325
335
312
296
369
229
348
310
347
295
310
257
344
294
343
318
329
407
304
350
328
345
296
353
377
249
302
382
292
303
346
401
294
246
297
382
281
381
342
230
347
279
301
238
350
355
343
256
301
319
345
261
317
323
336
305
343
276
289
359
331
368
284
297
273
361
251
277
310
300
306
278
302
274
366
269
336
286
347
315
314
345
306
319
360
349
327
317
353
334
360
354
288
363
280
249
409
282
415
359
296
312
336
271
298
325
297
299
380
294
349
244
256
357
345
363
298
377
373
337
319
280
397
281
414
385
343
367
292
375
382
322
358
346
315
305
314
241
267
332
301
342
417
308
303
265
248
283
238
320
280
255
233
300
247
383
367
362
272
350
353
317
343
272
297
310
380
295
289
300
346
291
372
293
292
317
282
362
328
309
222
341
309
317
241
308
339
342
340
279
221
343
352
340
269
330
367
314
363
308
232
302
261
285
397
378
273
348
335
222
244
265
357
260
296
288
316
312
319
291
219
371
307
267
262
278
295
313
329
363
260
325
353
272
348
282
266
331
255
292
350
354
318
352
315
305
283
398
244
294
307
269
357
309
283
375
348
355
257
270
275
294
258
298
315
278
252
300
265
320
330
351
269
343
289
324
296
343
373
298
297
347
356
343
285
329
334
309
289
333
273
386
418
271
335
364
263
328
342
356
398
296
317
327
362
305
374
329
398
211
299
231
399
266
296
309
302
348
311
369
284
322
359
327
363
238
257
315
267
326
260
312
266
298
350
312
302
314
246
408
327
219
262
241
325
334
337
283
279
314
297
289
325
364
339
350
306
219
294
289
316
220
240
334
292
304
348
301
329
334
240
242
354
324
285
369
367
329
390
389
293
368
268
358
313
340
238
263
293
316
311
329
352
309
390
324
321
355
360
290
253
343
308
367
199
312
296
294
329
321
289
278
375
306
327
216
306
286
338
379
279
293
328
294
306
297
371
306
401
352
313
358
260
337
432
309
274
343
323
386
293
319
219
329
383
356
306
264
251
327
311
290
425
362
395
318
283
229
260
373
299
288
352
308
292
268
373
262
349
336
303
246
384
386
257
399
250
248
294
403
372
299
328
308
274
310
247
246
356
258
379
381
343
381
272
348
327
323
332
358
365
399
365
343
258
269
392
357
291
328
349
234
342
342
411
364
307
340
358
333
411
282
293
354
300
305
302
264
292
312
302
310
365
296
384
249
222
222
331
352
284
346
394
264
295
330
310
371
331
302
319
282
289
370
296
289
261
348
315
360
268
341
387
313
354
309
363
287
268
383
342
270
276
275
284
359
242
383
289
285
358
297
317
335
417
371
322
271
289
294
294
224
253
272
305
358
337
283
332
299
378
306
275
273
278
322
379
284
283
366
302
310
354
259
250
305
312
274
356
327
293
227
371
277
221
257
293
260
388
360
335
352
363
395
300
275
306
372
271
323
352
287
263
331
291
364
289
250
251
380
362
306
366
305
321
245
262
318
285
351
361
348
313
230
317
358
321
251
353
405
301
296
262
323
326
309
375
345
299
351
294
300
292
351
308
246
359
295
233
287
261
232
343
333
331
330
300
256
357
378
304
288
339
285
281
279
288
269
320
347
417
274
236
260
369
308
290
347
386
316
291
325
355
320
220
354
273
329
268
246
314
369
204
234
353
226
194
306
305
347
284
294
307
318
253
314
265
318
276
342
382
250
337
375
322
338
278
380
252
327
266
341
295
324
268
340
299
321
399
355
252
415
295
294
329
311
322
326
279
289
356
329
301
277
323
237
323
378
244
308
284
334
329
329
307
270
340
399
266
378
358
241
282
375
321
330
290
371
256
384
279
277
369
337
390
317
238
383
311
321
371
403
308
243
279
317
280
356
412
317
264
363
337
296
317
272
336
370
303
410
252
234
358
366
248
355
334
291
305
330
270
314
285
322
317
309
288
244
198
260
251
356
331
288
343
288
340
295
283
317
316
315
290
338
320
306
292
359
275
361
351
349
335
311
297
284
384
248
387
260
367
360
274
315
358
238
335
247
334
418
353
249
345
326
349
264
287
353
288
341
370
304
305
348
325
400
264
355
269
352
272
418
292
299
238
309
386
325
387
315
250
324
386
322
331
339
376
258
307
291
307
367
382
309
329
270
291
333
313
264
371
365
286
344
291
306
298
274
360
418
312
297
341
276
241
388
302
313
383
282
369
353
285
253
333
307
361
261
340
388
311
318
326
210
225
277
370
293
360
268
290
321
382
339
295
316
310
292
346
321
256
295
315
305
252
359
317
358
227
284
311
255
362
350
319
307
262
340
319
380
367
359
302
333
300
329
317
384
299
188
353
257
296
336
379
379
357
295
267
360
318
345
254
317
288
225
286
334
274
334
315
266
322
294
373
346
261
366
262
275
327
340
295
282
301
301
360
304
261
349
352
341
312
270
338
298
308
278
325
313
195
358
288
322
365
416
268
353
392
370
329
305
257
328
240
304
358
296
221
355
376
252
296
347
378
293
380
302
193
334
328
309
394
328
297
328
355
313
344
328
316
277
331
325
349
339
350
305
281
374
293
343
327
297
242
380
279
390
286
357
332
353
290
324
319
314
404
307
303
277
324
239
328
305
271
323
318
305
334
296
303
236
203
326
298
272
378
281
363
349
330
265
333
226
403
316
297
366
350
365
293
341
313
390
281
304
233
244
333
279
350
347
227
341
354
315
276
343
330
353
382
319
291
357
357
286
359
255
241
243
316
339
355
205
351
307
364
267
352
330
362
319
310
315
290
432
281
402
292
374
288
369
364
331
302
336
310
308
246
320
295
313
267
289
283
336
282
349
311
293
365
384
372
363
437
300
317
395
292
398
308
338
269
301
311
257
338
312
332
244
275
261
272
237
358
341
334
264
267
381
345
320
304
329
290
256
310
326
309
325
320
321
374
293
275
307
290
339
307
248
308
333
327
334
277
318
271
366
440
331
353
270
327
287
313
376
260
295
267
371
337
336
242
376
327
264
324
331
275
322
355
341
362
336
259
350
372
270
206
304
337
339
320
340
370
317
308
298
266
237
264
308
356
276
365
255
356
340
309
369
316
303
387
392
316
305
319
306
321
351
324
329
346
274
247
276
352
299
272
333
285
355
275
280
306
315
383
366
267
281
383
265
383
337
266
300
277
289
291
373
250
357
319
294
333
246
233
360
288
316
372
356
375
304
296
303
334
360
289
313
330
260
342
250
366
384
323
250
366
392
358
306
236
286
291
346
333
320
316
385
305
320
331
341
262
344
313
294
335
351
310
330
308
360
318
281
256
325
381
270
226
323
237
299
342
295
350
274
373
348
365
373
331
387
280
324
323
324
285
302
312
322
376
397
305
338
346
312
313
317
332
336
365
309
369
329
245
378
257
355
261
317
360
340
370
385
310
323
345
356
255
356
386
305
338
298
256
243
350
294
357
298
300
346
374
363
311
338
307
278
244
357
238
268
323
237
280
254
319
345
281
277
281
323
356
312
243
332
303
291
351
337
232
209
218
353
286
200
290
303
249
349
339
286
369
286
224
376
260
371
342
316
233
344
376
338
352
257
387
355
275
343
299
335
301
335
274
366
401
327
290
369
319
300
328
251
385
311
296
290
352
308
337
320
283
285
258
270
284
308
292
329
353
279
349
334
375
319
401
300
296
303
296
366
318
238
359
290
305
328
273
321
382
267
228
302
306
328
274
271
279
267
330
286
299
349
387
307
319
296
300
354
323
330
244
299
304
245
348
341
303
214
249
273
294
270
341
277
322
263
331
363
318
352
294
320
346
308
264
360
349
406
380
237
320
353
380
304
267
379
351
306
311
354
270
292
304
261
319
231
328
328
409
315
330
320
275
331
373
269
232
374
220
341
338
290
296
234
241
330
264
296
338
317
243
269
293
413
332
270
285
320
306
428
331
311
318
337
307
300
263
313
218
312
304
254
305
256
283
357
254
278
282
316
294
345
355
332
293
354
253
383
320
314
364
252
329
413
406
332
282
336
347
398
397
349
372
353
353
362
279
336
222
319
418
332
371
304
246
327
238
327
384
261
367
270
295
318
327
258
312
339
280
305
294
273
311
354
357
272
329
287
280
430
347
336
317
298
349
261
340
309
306
214
185
341
356
254
291
256
307
267
325
332
329
235
306
265
343
295
312
343
330
339
323
291
333
315
330
317
298
297
240
294
249
309
258
410
310
320
370
316
244
335
282
336
315
288
253
228
339
277
357
284
278
350
343
303
328
319
275
287
320
273
360
283
283
312
320
299
279
262
342
324
334
329
350
285
258
348
312
277
301
301
253
355
225
299
253
316
326
322
415
291
286
321
302
331
310
299
282
351
262
313
418
290
374
352
299
305
235
338
303
339
323
377
336
392
258
314
335
315
352
346
429
321
298
309
305
311
349
355
331
299
307
312
304
392
370
316
329
333
298
334
351
213
371
317
221
401
368
257
383
308
374
181
323
330
247
268
304
271
375
289
305
333
329
374
268
260
301
211
236
379
234
314
235
333
367
348
284
280
338
380
294
327
330
285
228
317
284
329
241
384
317
317
329
321
270
260
382
319
373
269
318
329
337
270
310
186
292
314
219
401
386
244
367
306
309
306
381
194
326
313
276
327
339
358
293
318
354
291
281
248
299
246
355
293
334
256
351
358
317
388
258
272
321
353
333
297
262
322
348
287
343
310
362
254
302
340
297
321
298
380
348
286
357
280
258
348
284
321
341
275
359
329
326
320
367
331
303
260
320
258
353
391
316
311
373
362
262
341
294
337
369
301
345
233
271
310
271
270
314
313
286
348
267
273
384
302
275
358
318
350
289
346
296
346
372
346
298
310
317
330
302
305
316
311
275
301
267
284
389
334
324
322
230
338
379
307
318
312
260
359
326
333
370
304
337
279
371
356
330
343
319
356
336
279
390
286
371
330
265
343
373
249
369
345
332
365
364
319
373
348
327
281
370
310
308
362
312
355
323
223
232
362
374
371
335
345
368
348
383
305
364
231
338
283
297
391
268
360
297
315
371
311
438
285
401
345
324
309
279
357
247
264
291
345
355
297
301
367
312
352
196
368
324
293
326
356
351
293
308
297
373
301
285
414
376
355
303
339
313
306
290
324
298
273
283
231
218
317
277
335
372
316
286
323
272
331
298
255
186
274
299
315
254
293
364
268
282
345
301
337
300
339
234
328
230
289
311
307
286
277
332
389
264
279
347
275
369
342
320
426
207
358
335
328
388
270
336
335
324
353
281
369
339
314
320
335
339
262
412
278
295
330
356
295
274
306
303
267
298
408
277
343
320
413
267
309
257
397
370
334
331
347
349
303
277
289
286
266
323
226
324
284
284
332
356
282
268
331
257
172
356
308
313
272
316
295
241
334
290
303
299
312
368
284
295
271
305
344
326
282
336
299
318
317
255
393
372
368
308
378
332
296
258
335
320
347
365
337
307
295
407
337
314
316
349
309
323
276
323
342
353
349
334
295
378
362
331
348
324
294
347
329
318
300
390
249
361
396
283
349
324
320
317
260
256
288
390
302
240
379
306
254
316
315
296
354
328
346
309
383
329
264
325
335
292
311
321
389
336
267
295
376
342
345
268
335
349
303
323
320
302
253
299
253
372
276
291
274
336
276
354
354
411
372
295
340
320
306
264
337
286
269
373
296
408
292
301
266
304
384
325
285
339
285
277
376
291
347
354
279
306
345
328
314
364
229
372
275
364
307
203
323
254
357
316
282
388
274
341
364
288
232
285
335
386
378
370
377
336
272
282
370
290
304
258
293
312
306
360
346
242
292
289
234
292
385
256
388
295
339
267
272
399
290
370
285
234
361
332
278
261
354
378
266
323
299
245
345
299
331
277
255
367
280
251
321
335
356
268
297
219
263
317
211
369
230
371
380
301
283
313
256
344
347
374
315
392
314
367
348
367
323
421
346
365
309
399
259
372
342
187
337
300
323
326
388
239
326
375
269
249
319
276
288
339
266
248
364
282
329
287
359
262
347
381
265
297
362
273
307
204
341
360
347
306
309
262
302
229
218
383
374
333
293
303
333
248
361
335
190
384
311
296
314
258
360
396
272
279
305
261
282
344
272
289
315
379
276
335
264
396
145
308
305
358
296
435
240
351
250
327
327
289
321
314
315
297
389
368
310
383
288
339
346
246
304
258
249
326
247
271
296
380
383
322
287
333
304
278
332
351
254
276
337
196
321
246
334
357
358
375
378
344
275
321
325
351
329
282
377
357
328
366
308
290
306
327
264
362
344
324
278
305
301
310
245
296
299
306
350
304
315
322
284
272
349
301
325
310
371
383
335
223
323
288
365
365
375
299
272
349
357
290
280
324
295
305
347
274
327
265
312
365
279
312
347
295
318
276
372
314
276
373
344
255
313
353
328
350
344
300
297
332
198
373
349
296
356
331
320
266
320
273
334
362
287
307
209
240
303
340
292
312
232
316
409
305
339
315
328
385
342
273
349
327
281
345
298
279
186
363
354
269
268
298
332
357
361
275
284
331
302
295
324
306
332
379
262
319
218
342
287
320
343
311
244
329
244
348
349
310
334
251
262
226
258
368
335
280
242
296
231
190
182
250
371
360
347
338
260
268
266
367
367
372
312
320
339
356
321
322
269
319
317
250
287
356
385
364
307
324
327
308
337
330
311
339
340
272
367
373
376
325
313
252
279
278
316
263
299
259
211
233
210
331
269
296
303
331
326
351
324
282
385
295
277
384
330
351
279
245
372
291
310
246
299
254
242
271
226
285
363
369
243
264
370
267
306
229
323
228
271
277
359
285
281
345
313
299
342
269
282
314
286
361
237
243
275
321
236
391
377
417
304
314
308
321
266
317
365
393
359
333
303
434
277
348
251
334
334
372
308
373
220
349
373
354
281
334
322
229
316
358
361
367
398
296
338
284
309
264
272
295
345
350
354
380
309
281
292
366
295
346
311
244
301
340
366
290
319
343
318
276
286
238
341
395
296
326
368
344
327
297
380
286
326
305
316
347
318
372
280
235
312
298
385
347
303
306
306
330
322
342
298
300
338
324
248
330
327
364
364
341
328
255
382
386
283
363
360
263
282
313
363
343
290
347
319
212
317
284
291
287
274
350
341
326
355
340
380
328
371
307
348
300
248
309
301
179
314
267
336
344
295
366
305
351
256
298
344
302
372
347
331
281
441
291
267
313
294
334
406
267
346
220
316
323
352
360
275
340
393
321
322
290
242
409
280
266
222
392
285
304
262
286
360
252
293
250
369
291
380
343
403
327
366
384
244
329
361
330
334
366
258
310
326
288
276
428
314
332
354
247
258
345
356
314
348
294
279
224
315
289
359
258
386
385
342
348
329
254
244
364
295
307
375
310
271
323
321
320
299
326
289
321
395
344
297
286
300
283
308
296
320
389
377
368
375
280
322
317
343
296
360
292
345
343
358
373
245
355
363
271
315
341
264
341
294
316
406
295
367
290
288
311
303
349
256
350
323
248
335
313
339
335
363
347
254
319
369
291
289
445
289
246
401
328
328
336
321
341
336
263
316
339
332
371
361
341
349
290
287
293
227
305
284
257
259
254
340
333
343
269
250
302
340
235
327
363
316
275
296
270
423
359
277
278
270
273
330
264
342
309
331
331
332
298
368
319
309
324
228
370
304
372
316
295
282
350
332
251
289
302
288
306
339
329
391
333
375
300
346
276
277
281
314
375
326
334
329
339
283
299
294
302
314
301
333
245
402
356
334
328
380
312
273
367
336
315
324
316
260
375
291
365
208
235
247
286
341
294
387
385
340
203
337
363
319
359
318
284
371
311
345
396
332
338
351
310
340
310
375
313
343
297
323
311
288
326
320
293
369
268
404
359
273
295
304
304
367
357
294
348
345
295
251
350
281
246
289
293
304
272
280
267
346
252
331
372
295
359
292
344
337
327
293
335
305
290
262
312
317
234
346
274
368
297
300
241
298
250
326
310
275
389
291
316
342
305
365
359
371
326
340
350
220
281
248
255
354
334
272
320
283
282
200
372
279
421
254
359
332
297
267
272
307
365
308
356
256
352
359
292
264
291
360
249
359
384
347
302
337
291
354
274
319
417
398
392
370
313
306
376
325
321
394
280
220
386
281
361
315
276
315
293
279
232
307
280
328
289
352
292
282
406
249
261
362
333
222
315
220
310
367
289
273
257
377
260
276
275
306
240
324
332
289
372
327
335
293
292
244
319
272
362
342
303
380
232
288
268
314
382
347
320
350
338
378
288
307
190
193
354
307
293
353
340
306
290
307
269
256
344
398
306
327
265
276
254
283
272
318
283
319
292
311
333
299
284
279
294
368
306
324
268
266
358
371
335
246
307
400
356
340
318
364
367
276
323
336
342
304
253
207
285
325
282
311
292
371
312
304
341
295
383
246
277
343
308
368
377
276
248
279
208
308
323
352
238
361
305
394
284
379
318
347
302
262
364
301
283
286
341
384
324
287
276
373
357
331
353
327
366
318
298
355
289
230
269
249
327
343
370
337
325
309
348
305
336
273
289
209
359
335
329
353
309
287
268
329
303
335
265
379
301
278
377
388
291
351
300
346
301
253
294
335
298
245
340
357
298
345
360
274
323
281
385
376
328
306
393
360
280
331
283
383
299
280
316
385
260
323
248
271
330
191
305
291
367
269
315
316
286
307
338
269
387
330
319
376
389
346
371
325
370
316
398
322
321
369
280
322
297
235
313
273
394
356
273
321
304
300
303
321
393
318
372
314
386
395
302
371
384
368
326
361
325
305
270
387
333
227
412
361
315
331
296
320
380
374
265
311
376
275
273
320
344
317
292
231
225
358
286
305
317
292
315
329
297
406
366
238
263
344
364
299
321
352
401
291
260
316
390
373
317
255
326
366
300
300
391
293
351
395
323
381
303
313
195
330
312
361
331
412
303
253
336
215
342
313
341
315
270
301
323
209
405
351
383
360
308
281
285
325
322
308
311
352
214
284
323
267
341
352
374
314
286
347
351
188
274
288
334
269
327
302
381
322
232
355
336
307
338
350
320
315
342
333
356
319
323
260
271
249
301
314
300
353
241
254
217
282
371
333
312
349
364
291
368
331
350
339
345
292
328
347
294
286
360
335
211
245
284
367
257
220
333
357
396
382
233
366
254
354
311
297
254
242
359
279
240
382
248
347
350
294
416
254
268
326
339
342
248
298
184
266
252
344
242
320
318
362
326
317
258
243
287
350
331
362
327
319
293
338
386
272
321
237
373
275
357
322
413
281
260
335
316
316
350
308
350
265
337
330
304
419
299
255
365
321
312
283
302
265
285
265
380
241
335
318
392
285
305
337
295
295
377
303
361
291
293
272
345
368
336
292
333
279
330
187
324
257
356
258
302
343
252
262
298
364
330
244
323
256
347
338
269
350
267
276
259
361
338
389
311
396
292
315
338
317
297
254
251
339
368
324
316
318
359
294
351
284
218
334
395
305
316
342
310
353
318
362
309
335
279
313
186
288
237
324
393
330
301
336
318
282
299
238
309
307
361
336
373
307
278
284
319
335
317
385
297
289
267
304
339
324
335
305
297
307
371
394
404
354
334
319
342
353
228
317
313
311
337
321
339
301
325
330
299
380
359
394
334
305
353
359
278
226
327
298
281
354
400
275
283
323
309
320
264
312
267
308
377
312
263
276
254
394
303
245
283
332
283
270
356
290
253
269
286
288
267
300
322
240
312
289
270
392
259
397
356
339
340
345
312
295
277
380
272
280
325
304
267
347
277
312
371
323
244
247
332
298
259
281
290
359
296
310
288
311
254
304
343
323
361
319
374
296
297
325
328
336
306
289
342
328
324
295
377
355
297
301
276
253
392
263
289
305
307
341
266
341
222
358
300
317
338
450
387
327
343
303
193
333
230
357
348
300
321
294
306
379
306
353
305
302
379
338
350
403
288
346
283
380
337
248
391
368
346
396
358
298
288
366
309
309
314
382
330
373
279
307
289
343
279
250
365
330
211
236
273
316
316
331
324
287
351
304
314
341
230
257
312
279
332
329
352
355
364
276
269
230
343
339
250
336
268
329
284
294
323
376
326
339
314
370
234
246
285
328
228
238
302
319
329
296
348
274
300
261
304
242
348
311
295
337
342
319
335
320
342
356
318
315
303
330
323
384
251
320
248
268
325
253
325
353
280
357
225
276
343
263
294
346
366
283
345
343
267
348
380
309
240
266
300
308
286
368
337
312
324
332
370
339
308
283
372
349
328
287
324
338
374
352
304
333
272
338
278
245
322
248
278
352
266
310
320
395
240
288
407
227
279
324
347
310
312
365
271
291
263
307
351
352
355
201
426
369
300
353
329
322
342
328
297
356
372
396
357
285
298
341
258
225
285
266
298
211
265
305
328
355
315
402
308
262
326
280
351
378
374
322
313
288
329
322
267
279
234
339
319
296
241
285
273
311
291
259
296
317
287
304
273
344
293
365
342
340
356
302
316
322
332
359
282
323
244
283
283
253
267
330
267
344
306
244
359
411
322
321
332
360
350
354
250
336
347
351
349
282
297
379
340
386
342
343
311
286
347
342
395
264
263
316
307
335
306
294
349
343
356
318
367
210
315
350
346
291
376
273
291
234
329
338
293
358
331
282
326
262
283
219
366
224
320
355
241
295
324
309
283
328
333
324
371
318
273
310
300
365
332
383
253
398
324
391
373
304
277
315
295
298
292
222
308
227
288
320
316
290
296
239
297
303
346
307
311
349
395
264
202
263
309
344
312
283
317
333
341
334
273
230
279
325
335
304
331
365
310
302
405
318
356
336
319
301
204
335
357
255
315
256
299
246
273
274
332
419
270
347
396
342
232
328
244
314
242
358
284
362
283
326
249
362
309
339
392
324
316
318
299
416
279
289
312
261
384
304
307
301
372
217
316
374
284
367
331
286
296
294
342
286
259
335
349
329
269
251
261
328
312
337
277
319
320
310
283
350
328
330
307
263
316
298
240
304
233
239
357
300
251
274
317
354
384
349
349
428
299
387
370
264
283
331
343
367
304
301
269
409
326
330
391
364
275
303
394
326
342
331
356
367
283
342
305
350
332
315
224
347
328
318
354
352
344
328
334
325
285
291
349
257
324
335
326
219
222
372
292
379
278
345
274
312
290
333
380
321
261
341
334
354
296
288
358
362
267
365
344
259
387
247
214
331
309
321
317
395
272
351
256
280
289
258
337
339
235
342
341
328
325
405
348
278
316
304
333
315
303
363
208
207
320
289
333
321
319
314
250
381
376
367
344
209
347
314
353
335
338
367
348
327
359
279
341
364
382
355
225
299
284
330
371
389
242
305
276
277
305
320
359
299
287
336
265
317
284
305
300
396
267
261
302
240
259
264
347
279
320
371
298
338
222
290
335
325
322
359
357
244
409
343
307
292
343
282
355
330
388
345
317
292
289
337
260
321
346
407
264
391
251
363
288
307
459
246
343
420
293
240
336
299
232
250
241
261
327
324
274
217
285
275
238
253
317
324
296
295
381
292
352
204
274
207
311
363
307
336
340
252
251
315
329
277
281
284
301
323
335
307
281
374
241
270
277
261
312
305
270
332
373
276
282
339
309
326
326
392
282
293
389
352
340
307
349
250
242
320
281
316
260
405
299
325
337
238
323
352
294
304
310
330
277
302
271
229
330
357
306
264
294
234
343
357
388
362
300
332
404
295
365
289
302
316
317
367
350
299
359
382
329
370
399
315
371
303
283
358
257
312
296
227
341
346
383
309
267
269
306
326
327
311
314
274
289
285
318
304
329
312
289
302
327
198
291
324
337
287
327
320
309
292
343
356
341
287
305
322
258
308
304
330
312
393
318
261
300
307
284
291
305
390
311
349
280
273
289
294
295
293
255
315
323
317
236
358
322
374
315
332
375
304
298
329
339
232
258
339
345
358
374
296
360
364
366
251
260
277
264
343
269
356
382
233
301
314
324
323
313
369
292
331
344
270
242
250
345
354
270
245
290
322
281
333
369
252
281
294
369
262
282
334
238
291
335
350
306
353
299
292
255
270
216
303
300
319
270
284
343
358
252
283
298
397
322
301
324
229
291
289
356
277
346
377
318
376
353
255
298
266
393
419
244
350
294
263
264
379
314
333
272
295
303
384
263
318
375
279
373
350
294
334
293
317
322
343
239
351
346
307
332
258
331
359
342
273
258
292
260
330
230
326
313
237
317
305
277
290
381
326
382
320
253
364
329
273
387
325
235
322
353
286
316
360
380
294
276
366
327
298
279
309
351
270
380
349
350
290
278
246
322
314
327
249
319
299
273
306
271
250
359
348
299
318
374
284
276
327
367
278
343
304
316
297
320
341
289
306
233
388
262
292
292
268
317
344
243
324
274
266
321
325
314
233
381
248
264
308
213
382
325
211
210
389
312
294
369
257
287
419
353
300
355
320
368
337
273
251
319
267
302
397
280
278
336
333
392
318
281
285
298
358
341
360
332
297
341
258
357
337
228
293
275
356
393
346
368
354
282
360
358
322
281
256
245
339
374
312
261
297
327
278
280
314
354
296
269
320
303
318
239
342
267
241
215
303
329
317
293
299
315
279
331
389
353
304
314
348
323
342
146
340
308
312
322
377
418
294
371
363
362
327
373
333
265
352
301
338
235
287
243
274
276
305
277
290
256
248
278
315
330
316
228
314
318
257
365
335
257
291
309
280
362
173
380
297
303
411
288
359
274
406
266
263
325
294
364
271
278
306
406
293
321
267
320
359
334
334
271
196
337
369
373
363
359
278
243
261
307
315
321
257
311
335
358
352
318
362
355
280
276
294
338
282
361
318
364
288
301
408
259
267
300
339
304
315
326
319
349
287
381
350
299
328
288
292
352
311
328
171
327
401
334
245
334
345
330
282
270
383
358
304
345
236
398
319
306
271
286
342
225
282
234
248
335
379
395
257
246
412
278
349
296
289
281
304
320
297
332
291
296
310
278
369
321
365
361
383
330
268
236
318
307
295
348
318
273
264
314
322
302
378
300
315
326
297
371
325
376
263
270
342
307
356
340
318
271
317
421
322
308
327
332
331
319
346
321
367
312
305
263
210
250
302
243
371
282
271
288
317
368
322
363
251
370
335
258
344
361
264
299
307
379
338
405
378
337
284
334
316
296
254
355
297
298
316
274
323
351
382
267
320
375
315
288
271
280
351
370
359
376
374
299
343
324
299
191
290
316
322
256
310
333
326
345
284
342
390
340
280
325
303
304
363
347
264
290
297
302
319
280
268
310
357
327
360
256
275
357
265
386
289
320
312
315
320
362
282
333
331
340
345
278
327
281
391
351
327
336
359
318
337
349
323
369
308
379
277
292
385
361
362
274
343
287
290
289
381
332
263
377
231
347
319
383
409
314
313
368
256
215
249
261
384
391
342
288
260
366
347
394
348
305
307
316
366
312
342
305
319
298
285
329
327
274
376
332
366
272
305
326
387
290
271
387
347
305
347
353
281
326
295
282
335
299
261
349
343
234
276
277
338
351
247
286
320
361
267
303
364
318
283
288
356
427
350
271
335
301
358
342
378
292
225
318
313
354
250
402
372
334
338
265
355
312
319
302
362
324
301
379
303
240
271
331
287
344
234
304
236
324
255
408
325
381
326
285
261
347
342
334
267
339
212
332
301
313
292
333
235
379
326
276
351
305
363
310
290
242
289
402
366
390
319
280
307
391
349
386
328
328
313
267
234
304
414
332
314
332
330
239
327
271
357
370
346
274
315
326
234
345
322
403
285
348
322
286
243
363
279
231
300
333
213
271
277
245
354
331
281
328
374
325
305
300
297
336
290
338
287
395
254
297
313
241
358
379
347
409
334
289
437
367
332
274
319
357
340
359
280
309
339
309
424
337
317
312
259
331
390
298
302
308
365
366
228
339
359
373
354
320
275
352
336
329
324
337
318
390
333
377
327
291
329
381
310
373
347
238
338
236
295
280
338
284
294
370
338
330
313
281
275
401
290
329
270
297
374
355
347
343
345
304
252
323
298
344
311
293
354
334
329
337
340
279
331
252
298
286
328
316
282
263
299
339
297
284
324
377
340
250
302
358
364
330
266
234
363
252
340
295
314
292
234
335
265
317
308
312
368
319
354
320
292
304
339
338
292
393
324
363
366
374
315
267
315
268
324
273
285
231
311
239
334
291
355
295
287
345
280
307
380
276
332
280
411
269
347
245
275
317
345
363
230
292
325
273
269
236
363
287
275
364
258
321
336
247
290
290
293
326
303
321
282
243
307
322
354
327
332
289
270
324
250
329
348
282
244
251
244
359
346
292
343
327
300
371
327
351
390
312
321
376
239
276
305
309
328
257
318
280
302
292
305
307
307
298
296
353
360
344
255
249
354
273
371
313
318
326
271
268
252
308
333
280
300
344
356
385
292
402
259
376
338
367
296
399
314
334
265
192
330
242
354
274
355
357
288
378
305
255
312
311
310
270
226
275
393
426
419
290
298
372
329
335
228
283
284
371
376
276
291
292
250
229
298
382
265
287
251
310
309
341
345
357
261
358
339
445
308
374
311
350
315
282
317
291
332
342
282
322
297
251
277
287
322
334
334
356
302
324
330
278
316
368
289
280
315
338
247
250
289
330
364
372
303
275
276
347
295
250
321
334
326
291
295
274
293
288
300
353
356
330
329
299
345
351
364
291
329
250
230
319
307
300
328
392
234
331
200
208
333
352
273
328
291
418
367
314
346
375
368
271
252
317
297
390
344
344
292
352
317
315
204
318
325
283
266
373
336
291
280
355
300
364
243
272
320
346
375
229
232
283
340
322
239
371
262
313
283
335
332
300
319
294
304
310
342
201
335
283
254
235
291
210
374
316
378
288
312
204
360
368
302
328
271
262
318
301
296
315
301
270
300
402
357
260
298
363
268
254
324
299
294
355
299
327
282
379
340
348
244
331
324
394
327
348
386
343
367
312
317
414
287
285
311
334
204
283
380
287
281
369
377
231
306
297
417
348
311
273
372
287
332
365
334
352
429
354
312
317
232
341
327
254
314
304
242
378
375
418
268
337
285
339
353
268
279
345
231
348
325
329
370
230
309
320
318
309
252
321
274
307
326
283
267
298
393
354
343
355
250
275
228
304
284
332
310
282
316
373
264
351
337
302
314
295
268
319
235
356
401
316
321
281
245
372
312
333
285
387
295
310
412
325
399
343
350
341
338
307
407
334
305
321
337
300
320
325
273
329
333
328
293
364
226
310
313
325
331
384
276
349
348
336
357
328
323
275
217
331
317
380
290
388
336
256
273
216
301
364
260
325
228
334
292
398
301
228
296
381
356
355
378
380
303
350
329
322
353
277
305
311
272
298
280
339
339
246
305
331
350
294
278
265
349
351
359
311
277
294
324
400
329
382
266
348
289
283
330
271
274
340
308
386
333
235
329
355
271
396
239
254
279
339
349
357
347
269
360
300
361
349
331
345
331
287
399
255
359
335
378
288
183
352
274
285
322
292
311
209
264
298
285
308
337
312
323
369
286
349
312
264
328
354
320
322
278
313
339
289
388
258
274
319
249
318
355
319
382
260
339
274
322
311
339
336
319
381
357
340
278
331
365
351
336
304
295
310
312
240
272
315
303
375
299
420
310
221
275
389
379
219
276
269
268
251
332
414
360
308
371
247
372
289
316
297
278
422
340
308
324
350
271
337
271
344
313
381
377
322
318
376
381
209
279
289
285
387
314
344
333
354
325
288
355
286
279
324
344
392
336
293
256
305
353
307
350
322
330
347
315
373
285
312
288
279
433
379
392
327
358
282
298
347
274
342
289
333
261
218
301
338
292
303
323
338
292
238
319
337
311
259
286
374
356
317
382
302
281
300
356
378
262
316
358
318
337
367
391
326
324
290
266
246
396
407
340
359
240
347
328
349
271
303
366
275
377
307
364
333
337
257
322
319
318
329
341
327
359
286
263
377
270
325
257
352
289
335
344
335
308
272
306
264
398
390
233
430
288
361
325
279
304
336
313
307
392
374
354
366
361
266
275
378
333
310
452
360
310
311
278
277
254
254
320
366
284
335
342
313
345
333
358
337
359
348
336
340
272
303
327
280
296
333
346
319
348
286
283
277
277
323
203
246
254
262
292
296
305
287
323
287
318
362
374
378
258
327
390
322
298
340
292
253
321
341
359
253
287
344
313
325
370
339
340
280
305
359
328
354
306
269
263
302
336
277
271
317
259
301
326
339
364
353
368
306
313
324
367
309
251
313
347
263
391
303
279
273
375
272
315
347
303
294
306
366
306
249
262
331
352
278
293
358
360
367
296
322
307
302
365
325
305
339
329
287
359
312
375
368
353
274
213
382
323
376
274
297
279
336
333
368
329
343
289
264
361
362
327
320
327
231
347
409
213
262
260
318
248
308
396
241
334
300
296
331
371
406
363
320
297
386
260
321
309
284
389
301
326
375
307
302
226
315
342
325
329
443
316
360
311
275
303
252
327
298
241
309
294
353
298
324
373
388
313
311
317
375
329
304
255
323
345
303
300
297
270
301
269
372
339
341
297
258
320
338
310
359
403
361
388
326
300
407
286
323
268
262
329
302
290
297
306
251
299
364
350
327
334
269
298
340
310
341
333
307
239
293
312
342
294
344
389
326
272
374
355
302
298
345
296
295
309
285
327
333
278
337
250
310
337
343
257
332
314
337
326
292
323
364
316
360
347
317
306
341
283
274
387
267
283
383
319
368
376
310
368
341
387
337
279
336
276
313
298
270
343
275
343
372
270
313
293
350
358
304
292
418
305
344
351
304
330
344
281
322
384
301
343
349
333
334
349
306
311
247
316
340
289
328
253
249
328
295
307
326
318
247
266
247
153
314
301
330
292
393
242
286
332
338
318
367
336
278
366
363
363
332
244
335
335
278
423
256
386
317
348
321
381
341
314
364
353
352
396
313
317
299
354
368
361
359
301
358
346
337
369
221
268
219
349
317
311
313
251
296
306
335
347
374
297
345
330
390
292
315
316
377
270
320
313
293
329
372
289
267
358
267
274
264
370
292
260
333
304
391
374
261
276
314
366
284
319
278
266
295
339
330
303
306
317
256
341
339
224
324
384
307
378
320
277
263
401
380
343
412
368
371
290
307
297
314
276
396
300
385
411
363
378
330
377
353
333
343
276
369
310
386
318
314
315
417
389
341
343
255
349
229
414
260
306
342
319
174
395
237
280
356
398
342
324
383
355
308
320
382
312
317
383
299
290
238
360
292
330
281
265
349
311
312
317
332
275
328
322
248
448
287
361
225
285
325
316
396
392
294
224
369
324
416
335
290
306
339
335
207
229
328
272
372
250
377
339
385
330
331
273
219
355
267
288
368
341
306
345
297
291
288
351
235
341
281
336
302
358
372
342
398
403
269
338
323
277
322
342
351
306
303
373
296
366
348
359
382
252
330
293
340
263
242
244
375
366
364
294
314
356
305
292
274
317
333
332
371
362
330
316
363
273
380
266
213
318
355
337
264
321
257
315
334
274
264
245
287
344
330
293
303
384
269
297
344
318
338
360
356
362
298
360
308
294
308
280
279
309
287
314
335
302
310
302
232
263
316
272
282
242
254
345
347
328
300
316
304
299
242
317
298
276
350
346
236
329
357
453
332
323
236
282
207
324
310
248
362
376
322
325
310
335
282
312
306
293
411
315
327
328
298
337
261
343
312
285
247
247
269
284
333
346
343
346
290
348
238
298
304
346
342
207
326
373
332
304
362
336
326
296
295
355
252
332
365
354
273
370
334
368
337
279
299
299
364
261
320
213
285
313
289
329
276
397
270
294
224
346
322
369
284
283
266
293
266
298
270
270
260
315
305
266
325
228
216
299
322
310
269
297
308
330
364
242
291
259
338
278
279
327
332
377
318
286
248
274
339
348
324
309
316
328
174
265
336
329
386
325
331
331
286
320
238
245
264
288
390
283
346
333
285
337
311
352
343
262
317
270
299
266
267
388
344
366
324
301
239
330
393
332
271
299
212
320
315
312
322
279
358
359
292
289
347
284
305
348
263
305
311
285
359
371
361
324
328
297
265
290
357
403
345
318
277
256
284
299
253
235
275
282
383
327
363
321
260
285
360
356
344
306
296
339
349
362
286
332
312
251
386
371
335
381
284
342
285
281
355
282
277
289
365
326
278
267
254
239
304
276
327
368
310
366
276
265
351
322
317
369
282
385
342
284
330
295
267
347
301
289
327
307
308
279
299
287
266
222
321
270
385
313
352
343
252
358
270
267
298
360
304
299
344
354
321
299
330
380
293
288
256
333
405
371
294
198
334
278
317
329
321
311
396
314
348
337
308
325
334
355
300
278
348
396
337
219
299
316
241
253
347
302
274
256
282
373
327
283
249
344
374
344
282
324
289
275
280
401
287
269
314
259
224
336
312
213
370
329
303
233
328
211
394
288
319
312
369
385
349
318
327
308
252
343
408
277
405
254
347
336
280
380
340
372
256
328
321
343
326
299
251
324
365
392
286
251
298
293
234
356
310
349
376
371
231
382
286
363
264
298
382
231
298
311
412
270
330
322
236
243
384
321
317
298
297
311
285
360
273
351
308
291
434
295
347
336
324
349
307
305
368
331
308
332
351
387
266
241
352
330
305
362
399
261
327
305
303
317
300
316
276
228
268
360
343
276
262
277
277
289
250
349
239
290
220
331
369
301
296
395
362
293
338
309
380
407
314
328
205
268
313
315
294
253
308
358
283
302
340
308
298
347
269
294
226
363
326
357
244
416
284
330
405
293
415
286
320
278
238
243
292
284
272
271
335
284
304
251
305
365
269
338
377
355
368
274
321
287
341
346
270
393
299
336
250
332
318
268
292
301
255
307
304
336
366
288
283
327
353
328
357
324
314
322
273
404
332
305
404
250
362
352
305
328
354
340
317
356
342
345
315
429
324
360
353
267
310
370
323
301
234
292
263
293
315
299
396
340
311
281
351
280
341
269
266
333
319
334
318
316
259
299
338
265
298
280
333
300
360
339
268
356
279
314
282
354
258
279
306
261
317
385
283
316
295
314
228
357
343
357
341
321
277
292
247
317
392
376
283
372
387
354
311
293
310
358
250
295
316
385
331
265
324
367
258
413
375
312
277
297
320
361
329
274
386
271
351
361
305
326
329
373
294
267
351
207
290
249
374
309
351
357
265
385
257
279
272
331
278
321
334
334
324
289
265
221
239
265
405
265
307
338
286
344
298
329
275
348
393
304
321
323
263
299
371
317
375
339
327
295
303
322
294
270
217
241
301
273
366
179
270
324
324
286
327
280
398
279
352
365
302
338
260
303
374
361
318
356
344
331
339
230
310
274
312
385
331
230
323
379
274
359
340
276
341
294
255
281
318
286
262
286
423
313
335
358
295
293
434
247
384
344
293
317
318
344
309
334
315
302
421
297
343
316
310
410
373
275
344
340
374
328
337
360
344
326
230
287
287
317
378
384
255
344
401
272
313
388
345
322
289
353
264
371
331
370
302
354
328
231
417
239
322
253
352
271
272
390
266
398
332
357
347
390
287
344
382
329
319
306
286
318
283
303
265
322
248
264
280
342
307
330
372
322
376
343
311
334
289
387
341
293
233
280
311
287
346
294
342
341
300
360
310
358
322
355
330
334
276
277
356
302
291
303
336
198
277
311
192
358
342
248
321
298
305
316
356
285
300
362
318
254
233
285
294
369
208
305
429
219
309
297
386
351
340
344
316
298
293
259
363
337
331
323
319
226
334
300
385
358
343
223
324
342
256
344
362
319
369
315
333
359
441
291
388
245
252
336
293
352
366
379
355
261
336
232
323
286
368
234
301
286
316
342
296
269
318
340
339
381
360
277
320
369
290
281
305
374
270
266
288
267
399
347
323
229
275
258
358
341
323
240
341
317
265
287
211
318
320
371
338
352
393
319
277
284
363
399
339
342
345
279
294
208
346
304
339
256
270
318
212
328
377
358
360
284
309
292
324
345
289
270
278
360
341
266
291
382
223
350
264
364
325
334
336
272
342
329
251
264
355
270
341
270
322
291
309
329
293
351
353
297
386
346
261
344
349
247
290
297
278
264
337
329
318
325
236
271
329
233
285
267
281
272
255
255
321
333
355
294
321
344
145
347
266
374
422
319
321
338
356
237
279
362
405
307
245
274
324
319
365
392
377
334
290
295
293
329
277
282
339
335
409
329
328
360
246
328
354
323
314
303
298
359
271
294
265
308
269
261
311
361
361
336
361
338
321
282
254
331
415
338
342
273
312
265
316
268
284
373
313
336
283
298
337
256
308
291
262
340
372
318
284
308
322
262
353
285
267
321
319
311
379
338
352
314
280
311
251
302
261
375
349
305
298
330
314
299
272
278
257
288
330
261
340
327
246
270
305
333
298
302
308
274
328
363
328
331
333
249
318
323
319
364
312
267
356
296
250
355
307
366
273
292
251
331
340
392
351
323
247
262
288
254
334
218
286
284
355
277
338
351
321
271
293
220
278
335
385
270
377
325
348
365
241
368
366
373
308
366
339
408
345
374
372
372
365
337
317
314
253
301
223
274
328
356
361
322
321
312
349
291
232
337
325
305
356
341
272
350
418
274
329
285
348
358
336
296
313
422
260
327
375
326
338
247
372
329
307
250
269
314
244
307
287
270
288
326
311
303
311
373
268
403
273
313
280
346
337
365
367
342
362
318
356
352
255
349
341
349
347
278
328
299
322
358
354
344
399
291
318
310
327
348
282
389
369
332
264
354
312
302
325
308
307
288
292
355
362
276
233
268
309
316
398
300
289
315
324
315
372
306
242
327
275
329
332
338
365
364
290
265
343
307
299
331
302
292
300
319
291
273
326
319
383
381
265
270
327
361
257
266
304
313
351
286
342
322
314
323
368
261
314
313
334
357
319
377
283
351
260
302
327
311
277
301
356
323
300
252
301
393
375
332
366
281
223
369
305
311
359
286
286
301
268
353
327
334
200
320
261
324
245
349
324
276
300
356
382
275
345
227
350
380
316
362
323
326
244
353
372
286
319
278
343
396
337
218
299
291
363
324
279
272
230
397
384
261
381
310
247
312
284
293
342
257
254
351
363
258
306
233
294
337
304
278
350
212
285
290
397
253
311
299
265
286
393
340
274
349
309
319
320
311
312
277
263
401
290
293
278
321
289
381
292
272
260
329
335
389
329
280
239
326
325
345
309
252
329
256
317
394
338
261
319
360
304
272
255
333
302
356
437
319
373
323
374
358
300
289
290
324
359
363
318
351
325
324
272
382
315
339
287
238
286
377
348
319
331
325
348
326
338
276
246
298
318
293
424
335
379
319
248
401
361
352
287
309
328
259
346
297
262
333
308
255
362
376
342
251
318
367
343
276
267
368
330
252
342
336
357
356
320
267
261
331
364
211
302
290
374
298
356
363
279
320
264
301
315
338
255
328
326
288
264
352
334
404
304
295
397
261
346
325
257
332
220
422
322
282
301
362
407
281
317
303
284
356
448
427
268
252
277
271
253
367
307
314
353
352
330
399
337
267
148
434
327
378
270
265
318
279
329
271
340
297
289
216
272
294
376
323
284
244
283
384
330
255
301
325
276
399
344
269
335
283
316
317
333
278
332
278
304
402
298
423
299
305
318
271
290
263
394
339
304
388
344
263
377
333
306
271
338
322
329
344
310
259
301
384
334
340
363
332
199
405
295
383
365
395
347
325
412
363
320
362
304
328
294
277
317
335
347
275
378
268
291
227
280
294
325
273
243
328
422
345
206
308
322
263
435
317
247
321
303
413
392
303
269
318
291
298
298
357
296
298
281
348
373
315
236
353
311
309
286
363
166
309
351
317
374
357
378
317
353
319
384
277
354
340
333
333
389
233
263
343
346
283
322
344
294
290
347
348
365
344
314
324
302
387
365
261
299
233
199
219
238
314
161
350
307
307
212
396
261
281
312
265
386
320
340
350
336
355
332
370
294
341
246
378
283
293
301
273
296
276
330
320
356
304
287
274
319
336
381
275
303
309
314
294
338
275
370
263
327
264
349
322
334
268
259
349
269
277
295
323
321
226
261
314
313
278
281
325
239
292
360
341
291
269
295
248
319
278
275
323
357
328
380
359
362
405
348
347
389
344
335
333
319
301
241
334
411
286
303
385
325
352
370
367
277
318
343
358
353
354
240
277
312
289
262
299
333
227
300
254
285
291
368
309
327
365
352
298
318
330
264
261
385
307
329
273
291
335
336
318
303
330
300
273
336
290
215
353
307
291
308
329
335
263
324
310
272
402
273
241
308
323
354
303
345
352
243
273
274
346
291
310
306
345
321
347
430
347
329
324
337
325
244
306
331
301
366
264
345
349
329
363
274
299
329
234
297
301
382
278
337
241
315
330
327
323
340
340
310
380
180
373
335
324
315
222
380
316
366
278
237
265
325
332
271
304
296
337
286
334
326
345
301
357
253
334
264
290
330
275
282
379
316
329
404
365
259
393
336
336
296
310
295
333
307
286
297
299
288
311
307
347
310
361
277
300
360
357
315
277
334
359
329
400
408
275
332
248
342
308
267
258
362
318
343
301
404
292
341
349
323
334
312
374
286
389
334
366
359
318
267
343
313
352
376
351
282
349
371
313
330
392
307
333
322
302
389
248
304
354
275
340
320
291
343
307
243
301
366
359
242
324
343
323
357
391
246
331
310
376
337
321
285
313
209
251
272
293
388
314
313
316
368
291
252
250
260
291
357
232
313
158
323
268
237
312
367
279
391
317
338
374
323
300
317
353
287
337
397
322
342
268
316
359
349
338
292
325
300
331
272
261
337
311
352
347
308
204
293
365
368
277
330
286
292
370
277
356
327
327
353
338
375
330
349
302
264
245
420
299
321
264
268
360
305
298
264
349
341
332
318
302
330
375
314
268
171
283
286
259
311
320
300
408
314
331
271
360
293
384
303
346
317
307
299
246
296
224
312
377
268
381
316
262
350
248
340
312
302
288
306
350
311
348
376
304
338
328
295
287
276
300
291
383
301
277
269
289
413
327
255
323
360
289
283
299
293
263
395
286
320
344
297
333
318
328
337
364
343
313
326
249
335
332
314
291
247
244
273
314
258
332
234
324
338
295
321
378
316
267
272
309
316
270
261
316
352
311
388
319
272
347
291
279
331
308
329
376
366
339
330
277
345
306
370
329
323
400
310
387
312
343
323
332
315
313
290
318
279
328
314
365
277
233
281
251
345
311
279
333
356
371
292
356
357
322
295
327
298
300
291
377
351
221
334
383
313
201
315
222
338
299
306
336
300
343
358
281
320
358
323
226
274
337
322
287
374
326
341
304
236
394
294
342
308
273
337
364
285
336
332
284
270
392
297
366
394
243
261
352
345
265
300
350
301
318
315
368
385
274
298
325
314
316
310
307
328
284
309
323
374
343
312
299
294
296
287
372
329
372
300
335
348
302
254
357
242
289
272
209
348
248
345
249
263
339
256
246
328
364
317
233
340
364
385
431
320
411
285
285
351
272
247
251
320
298
249
317
256
379
310
361
311
379
404
323
354
324
299
354
357
416
348
373
324
240
374
295
335
285
372
378
288
359
281
325
309
246
347
271
326
347
375
421
282
316
328
365
383
352
327
307
344
258
240
277
277
363
272
247
298
228
333
301
273
345
227
337
338
231
323
331
314
376
290
360
336
271
318
348
331
309
277
327
320
301
288
310
295
278
286
413
282
255
327
356
370
356
280
347
267
408
374
373
290
275
350
305
265
275
323
215
296
289
322
301
316
393
344
322
325
352
380
308
279
339
358
286
250
300
372
253
337
313
430
300
331
289
331
339
353
398
262
388
299
353
227
332
253
227
387
243
362
359
281
289
354
347
333
319
326
275
300
361
355
408
315
266
317
291
257
370
260
360
331
340
340
278
238
356
292
306
301
305
305
320
266
366
339
271
297
334
304
252
414
329
306
280
296
284
241
315
282
287
304
357
319
312
322
300
286
328
294
341
275
318
284
337
292
245
349
324
258
378
228
215
282
298
372
340
322
270
240
413
318
372
337
388
379
398
268
336
372
244
337
256
245
345
251
344
297
268
327
307
309
352
313
276
328
243
320
340
284
342
288
334
354
314
261
307
283
364
330
338
366
303
335
345
270
287
303
390
338
241
359
332
341
316
344
312
346
341
303
293
354
356
386
351
327
323
341
366
338
340
296
345
292
315
273
285
287
248
330
327
278
278
338
252
407
380
307
380
314
313
342
373
342
339
323
330
268
254
330
362
367
247
314
349
271
285
305
321
270
306
279
289
366
219
339
329
311
280
313
297
298
377
324
332
287
244
379
303
390
320
326
346
327
294
315
297
349
327
222
370
296
372
383
280
313
398
340
275
256
299
264
287
340
290
305
307
226
347
321
349
372
274
273
243
225
381
339
253
358
296
359
292
317
316
209
328
316
328
346
423
409
350
226
275
338
314
364
406
292
275
353
247
373
304
300
369
309
277
364
308
356
251
313
273
290
324
317
317
281
245
292
347
292
317
340
392
365
419
307
274
338
277
287
297
344
378
290
390
337
393
335
266
292
303
383
325
329
324
290
303
315
348
299
326
314
321
317
287
296
248
322
403
391
286
271
346
367
374
386
334
317
355
264
270
355
268
324
295
362
292
310
245
271
304
401
354
294
326
326
255
304
267
278
287
396
306
427
329
298
304
284
285
371
350
333
303
295
268
350
273
344
305
390
219
332
410
383
278
287
366
360
308
248
322
232
341
241
301
285
304
326
302
358
323
427
319
375
368
349
362
217
221
368
321
325
350
331
307
333
421
356
312
404
268
419
272
330
371
309
346
336
334
300
320
293
269
314
342
321
355
267
256
267
319
339
375
283
365
304
270
245
363
332
282
299
354
334
338
328
371
351
378
354
289
391
280
329
245
320
318
297
315
309
454
375
327
279
277
281
248
321
391
308
337
284
296
375
326
385
278
322
249
282
309
350
381
302
260
337
318
259
321
343
237
233
316
435
301
277
326
313
264
319
350
246
367
339
337
263
339
345
326
269
336
359
301
324
278
335
289
358
272
334
306
325
337
267
375
309
324
278
250
360
288
334
299
285
295
271
352
367
322
305
359
334
308
318
292
287
351
259
279
402
362
300
315
375
303
308
317
284
342
303
336
183
300
325
246
335
390
289
238
283
431
287
322
314
235
346
341
309
353
244
284
271
338
327
354
327
353
322
307
395
344
298
384
307
287
220
225
380
346
337
339
379
388
259
224
350
281
323
372
330
374
288
303
289
322
331
298
323
343
357
251
323
340
318
321
354
346
280
397
374
333
319
358
251
241
318
348
298
321
326
224
329
320
378
294
364
271
318
338
258
358
373
356
361
348
338
263
284
270
350
329
312
308
330
286
277
286
358
251
346
365
374
272
352
362
273
322
291
287
319
293
345
313
362
302
300
291
263
337
238
294
190
335
261
298
318
294
297
360
379
387
297
397
329
364
329
325
339
360
333
281
328
344
343
263
328
256
329
315
358
276
281
297
359
355
358
233
197
329
332
391
345
311
305
219
368
333
369
275
210
355
289
348
271
410
345
318
237
276
275
276
322
336
269
251
263
240
285
292
337
348
388
312
283
327
313
268
311
268
367
207
288
253
311
357
340
287
369
258
352
234
347
315
349
365
279
270
337
243
289
184
329
337
422
286
335
287
384
293
286
400
314
366
374
377
232
358
259
256
360
303
374
376
278
341
296
316
343
351
277
282
292
258
319
316
353
333
247
288
254
311
401
277
293
256
355
254
393
322
293
261
325
321
316
319
317
221
303
295
267
265
327
361
410
281
348
294
375
350
330
298
275
307
377
389
281
283
305
302
264
322
326
273
310
301
288
237
266
350
358
365
280
282
266
338
266
354
273
300
331
298
231
367
293
287
324
323
340
284
258
346
322
328
271
345
250
268
296
262
343
381
382
247
329
298
345
337
295
267
346
330
302
317
350
303
304
221
290
302
319
341
372
365
266
263
266
364
391
345
386
346
273
399
312
342
318
349
348
379
315
288
247
267
252
353
370
303
346
408
268
312
343
237
351
318
310
329
315
349
233
341
312
295
309
376
402
284
377
422
321
349
277
308
368
362
365
290
305
344
350
318
314
271
284
261
384
238
318
333
373
301
375
302
317
314
352
345
290
299
236
256
310
268
348
278
266
369
250
349
289
404
427
321
311
336
267
330
300
333
334
339
285
317
304
301
384
283
450
379
424
326
244
276
319
287
267
297
385
338
304
297
313
370
323
277
302
234
267
243
341
337
389
267
340
296
282
323
321
336
370
334
272
367
243
300
298
293
335
311
357
243
325
382
294
319
264
375
354
339
297
285
274
323
314
330
301
325
274
339
277
315
287
251
315
288
271
343
286
343
266
370
326
324
322
336
341
366
341
305
300
347
261
284
278
291
289
264
240
225
280
282
285
294
286
261
246
314
336
297
283
354
395
281
310
292
320
324
297
237
275
358
317
312
371
351
348
351
372
360
331
342
347
284
325
432
309
336
319
351
290
219
307
363
340
331
292
347
346
349
354
359
263
208
311
227
370
313
255
277
357
320
358
301
357
343
332
295
269
222
257
369
344
358
337
274
318
255
306
320
283
390
281
343
305
276
246
366
219
305
364
319
335
361
221
251
195
339
294
257
338
342
335
332
381
309
294
289
228
319
390
266
418
260
362
358
325
316
271
298
377
288
243
350
343
369
333
312
358
324
299
287
358
293
347
269
314
357
285
304
336
364
342
238
285
295
280
277
268
401
345
354
295
257
322
322
236
362
331
348
305
220
267
316
311
340
261
324
333
354
380
311
320
319
335
372
307
293
319
306
209
274
339
285
320
361
383
363
320
250
249
297
327
217
340
390
328
328
355
300
369
284
355
224
347
303
333
259
360
292
271
286
261
276
280
299
265
366
302
326
284
290
247
335
344
272
351
347
313
270
264
307
264
321
309
329
278
370
277
330
336
423
357
240
341
229
246
345
282
261
313
216
316
266
384
306
288
308
288
302
337
342
286
254
327
327
372
363
300
320
373
318
321
282
338
293
373
338
265
360
328
391
299
340
304
362
343
406
220
383
271
250
260
333
237
339
357
296
336
293
314
317
393
254
328
297
319
343
341
377
290
271
318
314
299
344
297
368
217
279
283
308
299
306
383
315
315
302
276
323
323
345
256
346
380
317
270
289
237
276
287
287
356
304
396
257
302
313
331
301
281
322
331
260
336
292
327
335
373
343
311
308
316
395
347
332
278
244
295
358
308
261
311
419
280
273
359
265
284
321
335
357
371
269
359
289
204
390
345
335
332
338
301
321
332
289
264
394
305
330
304
344
324
266
364
302
280
232
202
332
320
308
343
331
256
294
360
371
396
347
320
373
359
227
397
394
356
339
355
337
315
315
291
291
287
329
278
340
265
348
352
264
293
295
334
255
265
353
351
348
279
331
333
352
255
351
294
312
285
297
298
297
387
313
306
262
296
332
335
340
267
226
416
314
280
332
302
263
283
302
333
279
332
301
348
280
368
445
346
356
366
351
307
288
301
251
382
248
298
315
353
390
262
377
298
302
313
347
354
323
342
348
289
278
302
264
288
297
357
306
379
327
315
334
220
331
230
269
282
355
327
296
393
325
289
375
274
263
307
366
270
305
253
305
284
308
307
320
285
362
299
377
325
407
331
351
308
372
326
239
338
305
282
335
279
339
263
361
337
363
385
277
376
271
340
346
269
326
285
316
322
340
260
318
309
312
260
274
307
342
336
281
294
325
353
357
305
279
316
269
330
303
259
294
298
349
284
292
281
269
303
311
391
314
315
360
274
257
244
305
357
303
329
309
310
363
268
341
299
289
316
282
276
275
268
294
294
219
268
372
338
360
306
274
338
371
372
332
310
287
294
359
295
282
330
334
400
254
367
395
281
337
325
373
358
279
272
306
370
310
361
377
337
319
289
294
314
360
393
334
287
347
325
297
340
384
338
293
273
319
335
300
283
280
362
309
343
273
288
322
337
283
389
303
356
346
272
346
368
323
352
349
324
319
317
311
291
378
317
245
276
331
206
202
352
319
247
341
255
336
262
349
355
330
257
296
185
369
298
293
297
319
403
369
309
243
356
312
349
321
349
325
334
306
362
337
277
387
242
335
283
357
326
290
348
284
300
324
339
320
204
333
310
354
315
336
282
295
429
282
328
307
305
290
315
373
371
376
236
278
348
305
332
300
390
334
378
335
319
258
336
374
329
348
324
221
286
305
381
319
335
293
369
338
343
376
383
349
327
323
318
321
313
375
367
358
374
317
277
323
282
211
321
283
337
330
382
226
382
326
305
327
323
351
337
243
220
271
345
322
285
325
275
290
339
301
264
332
257
256
265
304
281
326
353
280
266
267
286
258
314
347
282
346
208
306
396
300
332
376
260
363
355
299
310
393
265
306
228
297
301
300
256
353
311
336
296
291
302
312
363
293
224
328
296
296
391
295
246
337
371
331
255
296
315
320
318
352
372
291
364
290
289
344
320
235
323
300
337
341
330
313
318
318
315
257
306
370
362
358
268
338
330
169
278
379
272
332
327
241
228
392
299
349
366
246
269
248
425
240
266
220
323
335
301
344
260
386
352
347
336
312
276
378
309
347
372
263
257
337
258
290
321
271
296
289
355
273
295
281
289
352
354
325
375
298
285
383
309
337
252
331
357
372
380
321
316
298
309
315
240
359
323
354
262
315
320
360
350
248
259
326
366
315
281
325
337
340
334
283
269
358
346
296
313
320
288
269
399
370
368
287
187
354
263
325
324
338
334
398
243
336
372
300
311
321
313
291
336
263
328
303
263
347
358
294
410
288
257
278
321
400
297
386
296
301
361
317
239
334
327
298
207
313
319
314
298
305
309
281
334
274
350
274
310
302
358
355
342
306
306
393
311
318
297
341
327
316
304
315
392
285
281
372
270
326
355
292
283
322
333
353
342
418
380
223
365
334
357
231
358
239
315
255
274
310
259
306
307
252
333
353
295
292
305
340
364
289
259
387
326
293
271
336
315
401
358
279
318
313
262
277
325
223
271
304
283
390
311
293
279
308
265
301
290
397
272
404
301
314
286
299
330
381
342
344
275
310
338
361
323
347
242
327
287
318
314
329
383
324
284
334
303
396
287
285
307
291
245
271
253
312
422
320
367
260
349
246
320
255
325
301
363
298
255
283
332
318
387
310
268
304
290
306
312
385
239
341
326
337
283
301
292
375
281
327
285
389
303
284
327
266
238
357
186
351
373
299
264
351
318
177
320
203
302
215
437
291
330
342
419
331
307
320
285
197
381
329
346
344
294
351
235
295
266
297
400
358
349
350
282
308
299
285
341
437
370
272
336
377
429
328
330
270
311
327
276
359
355
304
309
332
390
332
369
276
348
291
310
371
291
258
295
318
343
287
267
216
298
312
325
247
352
363
258
352
297
349
258
250
327
347
409
321
330
278
275
275
346
318
350
326
372
291
312
369
322
363
274
322
374
358
312
335
263
330
245
232
275
295
273
264
351
275
329
406
226
207
353
333
285
286
303
374
290
272
297
298
331
330
298
290
301
317
332
313
287
306
355
367
263
354
399
338
280
378
338
344
313
327
362
335
315
391
320
317
268
418
303
343
340
281
271
401
326
366
233
200
354
309
257
236
360
320
207
360
390
313
411
386
347
287
280
264
253
255
339
356
360
303
309
316
352
258
283
302
226
299
257
341
228
407
328
257
336
280
367
388
297
302
362
295
331
349
327
275
376
343
325
388
307
332
414
332
344
361
212
336
341
256
293
338
289
279
355
254
254
319
239
207
335
313
366
337
310
290
269
358
368
270
372
343
345
375
305
248
215
310
323
334
340
312
367
255
359
284
340
269
314
281
303
347
295
330
256
317
379
301
349
276
297
333
281
384
319
304
318
331
350
312
288
293
363
301
284
264
333
310
294
284
379
223
296
258
301
330
367
380
306
368
354
343
308
300
260
290
336
291
347
334
316
328
347
376
290
239
328
353
293
297
346
304
337
314
325
289
256
296
228
254
219
351
363
316
238
304
369
315
273
346
324
305
261
301
253
368
287
319
312
323
289
274
353
266
309
334
387
371
376
289
328
270
211
297
283
371
390
368
273
293
323
244
434
246
376
371
375
297
374
379
291
330
302
248
362
327
293
322
311
298
310
297
261
329
348
401
302
310
323
303
345
319
335
373
274
279
304
289
311
300
365
295
391
296
286
256
352
345
352
209
263
227
329
277
245
287
244
191
343
365
270
304
344
411
271
311
325
216
304
318
334
349
318
347
245
355
387
318
325
296
263
322
275
364
319
342
376
408
258
232
324
333
372
294
348
298
402
251
395
232
346
382
278
353
361
329
308
258
289
320
249
302
293
255
288
248
304
299
306
281
338
382
336
301
317
282
289
330
251
261
403
261
333
243
348
266
390
376
240
337
289
318
347
260
283
361
259
385
301
350
281
368
262
359
307
329
306
277
219
309
261
319
380
337
301
267
257
348
310
343
334
313
288
275
288
378
299
305
317
309
305
336
292
287
340
310
267
261
287
387
319
338
302
346
302
298
263
369
329
283
339
316
293
376
290
316
311
313
288
285
331
311
341
317
339
180
360
307
320
294
318
333
291
338
280
326
331
291
338
288
348
321
236
250
267
309
385
341
275
254
205
335
272
348
285
310
235
370
318
302
315
309
292
319
275
354
185
321
316
344
394
342
341
367
364
336
324
236
317
253
390
331
367
282
315
362
213
357
244
324
361
316
324
231
295
329
338
333
308
341
333
364
255
351
382
272
317
305
314
355
348
247
306
296
324
266
300
300
342
255
398
292
270
346
314
297
251
386
321
426
343
277
114
323
355
304
392
349
298
282
351
350
335
283
266
384
375
196
302
309
339
333
316
320
332
293
349
351
289
265
329
370
321
254
311
349
275
377
302
275
328
273
371
300
350
351
379
237
296
381
323
315
360
244
379
244
362
281
247
329
256
332
325
295
325
251
371
271
378
292
357
319
324
338
345
346
355
286
322
309
348
286
312
338
310
349
260
203
328
349
327
264
291
286
275
339
261
338
382
155
352
301
243
258
295
226
340
289
335
351
287
230
261
264
317
255
328
293
345
297
322
365
268
331
383
355
343
227
335
287
357
267
305
326
324
326
357
309
289
325
293
241
294
357
342
252
332
277
371
313
364
309
366
345
278
341
357
319
352
339
362
347
238
239
319
386
410
274
287
294
271
280
291
366
309
255
319
345
333
296
317
319
328
346
390
304
353
253
270
269
321
305
284
340
307
292
341
298
347
352
381
424
306
373
283
356
290
293
297
324
269
306
301
294
329
246
256
357
275
296
229
318
312
291
315
279
292
366
305
339
326
311
284
341
212
399
322
259
339
361
348
300
322
278
223
306
385
356
352
263
301
341
304
313
302
337
335
327
304
353
282
346
280
272
278
334
378
322
344
366
325
301
296
369
324
315
319
294
259
231
345
341
280
409
320
321
308
324
304
302
328
296
341
321
286
376
324
310
256
319
307
271
313
286
278
295
272
373
346
282
298
349
336
353
307
357
274
319
227
276
289
350
303
272
324
301
290
343
288
299
277
329
309
318
213
285
316
360
279
334
387
361
273
339
307
260
354
309
332
384
313
338
266
357
307
344
193
327
345
353
356
344
275
327
280
343
338
219
231
331
343
346
327
332
296
384
316
374
329
294
243
320
277
311
321
286
339
287
380
246
281
377
334
335
346
286
384
339
314
327
315
339
323
236
369
303
246
356
376
280
353
401
357
341
224
320
324
349
387
244
306
342
188
372
307
329
354
332
325
228
216
329
234
311
358
264
308
317
349
385
377
235
329
330
300
365
350
306
265
323
318
298
280
339
370
232
249
267
320
312
332
330
338
286
327
318
292
315
306
322
343
221
292
319
327
284
346
282
378
290
265
313
274
237
202
311
343
335
295
323
337
333
276
327
286
331
291
236
344
350
346
307
300
344
334
385
347
362
367
309
307
352
244
324
372
288
445
351
322
314
354
286
294
330
230
299
399
346
305
315
333
315
305
292
372
278
325
336
256
287
251
342
271
298
280
286
347
278
242
382
283
385
363
318
294
308
365
315
362
203
341
272
328
375
337
258
248
302
341
350
363
277
311
353
293
372
244
288
344
229
361
278
319
349
359
370
320
321
337
359
348
279
346
333
309
305
262
247
210
312
309
251
307
334
353
306
294
450
303
347
336
429
283
403
292
310
325
301
319
267
304
310
367
271
348
352
380
313
354
329
355
323
328
306
318
323
330
347
300
391
293
324
350
317
301
362
321
357
258
387
326
295
325
284
322
267
241
327
269
298
324
263
294
279
354
314
296
387
320
326
288
329
323
334
307
253
322
310
333
329
273
341
341
304
233
230
338
316
312
327
386
340
371
276
346
370
304
315
355
268
322
305
269
306
222
258
339
275
248
368
277
335
305
294
298
253
306
341
387
340
357
231
333
318
281
245
270
390
285
305
265
299
313
274
328
357
327
291
337
336
285
416
337
348
238
309
315
307
288
250
307
337
392
350
260
382
317
359
290
318
352
343
340
368
330
341
300
306
308
301
343
345
278
351
357
269
362
246
274
335
387
284
341
309
317
327
288
294
363
359
367
289
352
328
277
348
328
332
329
281
359
364
269
323
346
333
247
319
318
222
352
352
312
298
355
301
290
366
281
322
352
324
345
329
383
260
289
241
292
302
342
283
268
321
306
341
219
308
356
297
250
321
333
287
302
322
382
281
374
282
308
284
315
321
337
330
291
287
316
346
267
286
368
316
364
303
323
395
255
346
209
246
296
339
335
313
336
327
334
320
279
276
340
333
258
231
301
369
386
269
353
231
358
304
377
396
231
270
326
351
310
275
321
319
287
323
263
362
298
362
289
354
269
347
337
348
311
318
221
261
241
363
330
333
303
320
340
326
354
359
322
320
239
306
269
382
383
362
234
320
322
334
278
364
315
301
378
263
238
244
369
259
243
322
307
330
373
335
291
346
358
300
284
277
340
320
268
359
281
290
346
364
325
358
221
345
287
345
327
298
292
332
315
241
343
297
255
292
301
416
374
324
282
340
382
286
359
381
354
306
398
242
336
253
246
252
287
312
285
331
271
335
381
340
389
221
335
386
304
293
379
302
393
328
237
262
373
371
318
297
286
337
297
270
278
308
272
283
257
334
374
301
285
340
308
307
308
323
382
275
337
338
339
401
339
301
262
337
210
337
297
330
370
304
229
268
309
307
360
340
339
273
326
320
315
328
350
249
289
350
280
343
288
364
313
317
272
302
366
321
264
421
322
366
351
270
397
296
357
288
357
405
295
358
289
389
307
362
333
245
242
202
304
336
327
315
282
354
305
285
321
343
308
386
395
363
264
291
349
221
333
315
362
385
357
350
277
284
316
336
301
276
315
292
324
277
368
297
369
291
273
311
319
338
337
341
365
289
392
286
245
325
225
353
291
324
325
281
312
315
374
354
369
311
349
312
373
278
248
334
317
292
343
309
330
341
283
390
236
226
291
322
274
363
299
230
313
312
326
337
274
330
328
267
353
351
254
343
356
319
315
238
283
294
322
346
373
380
355
373
340
271
322
354
268
363
269
333
268
300
309
295
325
333
380
297
297
294
343
281
383
357
272
287
304
331
261
265
264
332
281
263
387
289
382
370
251
374
430
334
339
330
324
247
244
302
374
331
350
267
299
315
370
299
347
332
312
253
310
362
300
334
345
305
298
326
259
314
359
300
316
312
271
318
226
282
271
319
325
298
355
372
362
293
316
357
402
336
352
345
312
362
334
336
297
346
204
292
268
341
383
326
329
313
310
301
356
319
341
334
362
325
328
322
306
297
233
256
354
327
331
344
293
339
313
345
281
404
277
349
328
359
312
351
329
327
374
356
410
334
348
286
411
266
253
302
318
381
242
277
255
349
334
281
303
405
315
343
291
289
367
316
290
383
248
289
265
354
294
287
354
331
366
385
297
332
253
335
292
341
255
270
312
375
351
308
301
279
392
330
258
356
374
311
277
336
353
270
420
285
359
345
306
314
366
371
288
328
341
349
319
402
380
345
351
295
325
297
403
424
270
277
312
280
327
260
278
378
278
332
311
232
308
331
215
351
281
265
401
347
311
293
378
313
324
297
337
262
328
272
373
283
394
247
282
323
312
332
328
324
305
332
319
283
374
317
327
389
239
355
277
385
288
363
316
339
285
303
265
370
286
379
308
258
380
276
270
324
317
317
243
298
287
341
313
362
332
316
277
388
296
356
385
290
374
232
314
381
273
437
392
328
365
295
231
306
362
315
333
455
290
311
320
321
296
265
215
276
366
246
371
297
255
335
358
279
322
333
338
311
359
339
234
305
336
295
289
369
250
358
356
201
315
282
395
386
346
348
342
308
330
253
216
332
262
270
309
390
292
345
345
384
328
340
290
358
332
284
306
279
409
348
316
339
331
325
422
312
385
314
288
324
382
319
298
352
290
354
263
335
245
322
338
296
325
337
311
297
339
347
337
371
341
379
312
288
294
277
354
410
287
200
363
305
325
261
348
345
348
319
300
351
373
303
311
322
330
341
369
305
368
343
308
316
345
316
309
409
339
358
310
348
433
347
231
227
298
349
336
248
343
414
406
353
355
373
271
339
371
331
298
364
305
298
349
349
282
279
332
318
297
286
355
376
365
399
271
317
278
313
346
319
280
303
390
278
284
260
308
347
301
299
255
319
226
319
290
349
374
352
360
262
321
337
274
299
312
335
347
305
394
306
300
288
328
397
333
320
324
353
326
374
356
334
323
319
324
304
305
304
340
266
292
339
358
258
373
320
308
267
350
267
349
279
353
328
330
360
332
353
327
296
226
299
252
359
295
268
324
390
293
364
352
262
332
331
332
336
287
267
362
282
330
264
199
352
362
286
264
318
338
337
346
280
279
286
366
290
310
345
398
289
308
323
336
359
335
303
298
225
394
329
335
242
386
301
322
336
396
310
302
337
297
316
333
237
385
303
316
292
288
228
311
246
345
299
266
322
299
305
332
262
345
310
266
328
300
253
319
244
282
291
274
266
369
293
289
341
371
284
301
362
314
333
344
393
292
309
350
341
193
339
333
384
351
338
345
351
300
280
271
292
346
296
354
324
251
270
340
304
330
349
280
383
293
356
347
213
280
309
261
205
399
298
315
415
245
281
303
234
307
328
345
317
380
269
353
330
302
251
354
291
344
386
349
423
263
341
367
331
309
348
275
215
338
256
252
322
362
330
310
306
320
283
271
290
363
290
288
356
341
346
310
375
359
307
353
333
319
400
364
294
302
276
301
393
332
276
330
345
344
273
301
313
247
322
296
312
318
310
315
284
298
317
352
347
289
379
380
335
276
272
282
354
380
289
395
333
240
325
302
230
286
311
329
238
300
339
319
302
351
324
305
286
346
297
356
335
325
346
379
367
240
358
323
340
305
235
295
294
311
241
301
349
319
379
295
299
358
427
344
283
312
359
352
273
295
393
378
318
360
370
268
251
303
294
282
391
327
326
319
262
276
330
325
342
301
294
321
311
208
305
268
317
310
295
311
261
337
260
397
264
326
293
384
309
270
310
341
305
369
347
282
307
384
374
302
360
357
263
328
315
279
299
378
322
292
277
306
263
308
363
325
312
273
327
273
343
356
298
283
225
354
348
315
259
298
251
352
266
334
295
377
401
368
352
273
286
319
329
331
316
205
351
325
343
310
359
388
289
308
398
299
318
272
338
273
377
274
380
286
232
357
381
328
379
292
320
323
335
336
372
274
326
391
386
246
346
388
334
331
286
347
417
285
361
218
285
303
322
270
368
305
291
324
298
277
309
293
293
327
254
257
315
295
308
240
355
299
319
286
324
288
229
305
292
309
311
338
279
247
367
328
355
344
353
387
382
242
285
248
256
337
252
273
368
305
301
314
332
355
377
296
262
311
313
294
258
295
295
377
271
268
341
259
291
211
345
302
350
343
345
330
385
270
287
366
249
235
329
343
304
322
376
266
357
349
294
268
327
352
350
282
316
313
284
309
299
391
377
378
343
213
266
284
287
282
321
259
331
278
339
329
333
388
331
334
274
393
363
378
277
349
434
370
286
253
385
357
271
286
350
316
304
263
310
257
343
254
342
299
299
307
312
383
342
376
325
309
397
302
362
335
307
327
319
292
349
364
330
302
305
321
330
341
356
281
293
348
356
329
317
329
350
253
356
336
334
244
317
253
325
256
357
243
340
348
297
311
285
355
395
272
276
249
401
281
359
331
434
247
246
271
313
328
327
337
287
219
349
313
238
382
294
320
258
302
298
327
308
357
384
328
270
328
360
308
275
316
312
387
359
320
329
336
347
272
317
322
317
350
340
332
284
344
324
268
238
327
250
371
278
416
284
317
329
304
227
275
295
309
346
313
299
318
230
399
309
326
317
326
358
242
347
290
404
271
284
280
328
266
350
348
281
319
306
336
315
370
342
337
259
399
267
337
305
327
329
289
358
324
374
300
259
274
267
314
254
322
305
379
263
278
258
305
294
261
315
291
306
380
331
339
264
233
308
316
377
291
270
356
259
314
248
361
324
323
281
266
336
380
311
323
226
244
256
305
378
351
223
281
195
369
359
324
250
305
248
308
334
294
245
331
295
371
336
318
324
355
265
309
327
366
285
316
324
328
337
306
370
405
368
320
365
292
360
301
318
328
331
252
294
312
323
289
280
352
363
281
386
335
248
286
297
344
363
313
269
248
287
256
265
327
330
305
402
315
303
307
380
338
368
308
273
298
306
324
357
288
273
371
307
345
368
323
397
227
300
355
409
310
339
321
344
292
333
355
276
398
288
295
380
265
375
258
274
329
365
348
304
313
297
360
278
301
338
288
305
304
255
275
324
312
320
331
262
274
321
327
335
307
286
286
295
292
277
324
352
372
286
295
322
293
320
350
264
243
288
264
319
320
318
386
385
339
331
268
354
333
330
354
312
256
324
236
278
276
263
315
343
311
251
261
272
309
279
259
316
373
411
294
370
322
365
296
327
384
351
282
410
249
284
319
282
299
314
331
271
344
279
291
300
229
351
275
356
253
362
302
342
369
309
317
367
324
269
268
257
272
345
390
378
345
272
245
349
339
249
393
265
329
303
319
220
358
293
225
263
350
325
343
292
339
314
358
308
276
270
222
268
341
338
303
222
381
340
366
380
228
320
357
347
342
243
335
273
256
358
266
361
276
289
375
292
296
254
298
309
354
317
321
378
321
358
286
281
313
313
234
316
297
246
302
305
281
263
373
308
318
325
361
305
307
294
322
405
285
364
409
314
254
411
366
296
234
271
210
298
275
413
285
316
283
300
253
272
331
337
307
316
336
332
365
279
301
374
322
212
358
340
337
354
268
331
325
240
270
343
307
319
304
277
282
293
295
292
304
247
320
441
302
384
295
336
282
318
212
352
302
357
359
350
202
335
275
322
245
376
379
308
193
409
261
365
310
309
277
318
364
357
234
261
289
316
306
275
360
302
332
232
391
295
287
212
338
265
336
272
302
401
324
342
335
333
244
275
346
324
264
275
284
299
308
302
356
313
285
260
324
375
321
209
327
340
339
379
351
341
328
355
320
291
305
245
347
286
249
308
390
387
259
319
344
335
360
243
253
317
331
342
250
300
314
363
279
285
350
363
276
311
330
288
262
344
376
372
311
296
305
312
317
392
330
290
257
335
307
284
243
311
323
335
384
399
276
215
313
361
359
334
350
334
325
263
284
271
310
311
277
307
350
339
366
299
298
291
323
325
358
342
287
324
422
296
269
356
329
294
238
236
262
321
250
407
338
281
282
345
395
334
320
313
329
374
273
286
326
284
319
430
226
311
316
314
351
330
269
238
378
304
404
356
333
322
291
320
231
329
341
300
314
288
342
361
409
319
337
225
307
262
324
383
358
289
293
327
276
341
278
385
267
400
349
376
303
341
296
307
276
348
330
351
316
242
356
375
341
354
276
365
363
372
377
415
302
368
378
335
344
380
264
333
344
313
371
282
317
284
291
282
414
410
356
276
315
373
343
355
341
348
319
352
232
304
297
390
401
305
380
335
265
339
339
243
338
295
276
314
293
297
279
399
335
320
326
253
316
370
345
268
232
345
317
299
323
262
394
243
341
362
323
286
353
338
397
413
352
330
261
324
305
292
390
356
366
304
341
344
243
290
239
272
253
330
287
309
258
297
296
339
373
269
343
218
315
407
355
375
296
357
361
345
278
356
396
408
338
280
315
355
296
315
341
308
337
287
396
306
281
308
323
319
292
358
210
247
302
379
257
382
231
298
271
309
328
307
289
323
390
325
324
373
251
417
299
310
267
250
300
333
394
342
335
327
352
386
314
293
383
323
321
326
309
306
352
320
287
337
287
321
318
350
335
322
257
260
263
317
352
381
268
284
285
274
191
308
244
313
264
310
328
409
337
342
361
322
331
271
298
259
219
376
338
301
369
223
232
285
351
348
239
268
325
307
374
328
344
272
290
348
344
312
328
316
255
361
380
283
288
411
284
379
389
280
306
327
354
321
374
279
315
294
334
256
320
297
356
324
321
325
235
384
328
379
283
410
357
282
240
388
323
228
311
309
331
297
274
354
315
332
300
228
369
271
352
329
294
336
242
285
368
235
249
336
355
323
264
296
354
337
281
340
258
408
312
324
302
275
379
246
350
310
308
283
225
358
360
341
364
360
302
288
288
281
283
320
303
295
347
302
337
346
325
274
328
276
316
334
287
218
327
374
355
333
286
299
287
327
269
274
372
361
351
239
298
276
344
387
344
283
313
337
359
392
301
396
377
340
374
260
338
235
358
311
311
337
287
311
307
235
383
400
381
328
337
247
300
295
239
375
262
310
300
324
380
354
330
351
348
349
242
306
266
262
335
336
286
275
272
311
313
301
301
319
315
354
402
335
348
285
286
309
335
264
288
231
290
293
268
325
381
384
313
293
335
265
335
286
281
374
327
310
314
352
325
277
307
357
270
370
307
413
335
286
277
330
325
334
345
344
330
292
317
276
370
248
254
299
287
318
292
349
259
336
331
331
364
306
406
269
269
308
243
261
323
325
316
256
269
381
382
264
356
251
277
323
258
237
312
320
372
299
325
289
214
307
246
359
266
311
362
322
277
322
352
271
268
362
350
314
363
333
274
353
316
274
357
254
334
313
265
308
298
324
363
344
328
377
239
327
266
342
277
282
340
384
270
279
316
362
267
314
343
387
303
266
314
326
250
408
279
293
334
219
383
325
373
258
381
362
303
300
311
272
309
364
345
268
363
359
315
262
397
297
330
317
228
312
402
367
325
332
279
317
299
313
302
314
280
305
297
326
292
329
329
314
358
310
345
352
325
315
305
334
320
322
298
256
283
270
309
254
340
300
427
340
407
347
336
350
303
270
390
343
309
308
327
232
320
262
333
278
295
393
331
269
265
322
326
336
376
346
288
238
298
293
219
340
269
301
323
343
373
283
337
307
249
312
336
404
236
325
367
268
331
253
320
240
277
331
297
245
282
324
362
370
267
293
277
343
337
345
332
392
392
312
315
264
315
331
328
345
368
346
289
315
348
274
307
342
276
236
304
320
251
361
335
375
337
310
262
192
238
317
269
246
354
316
308
290
392
343
247
377
352
317
452
374
383
309
334
275
390
353
279
315
285
411
310
289
346
328
283
371
330
336
372
271
319
271
318
290
334
327
305
320
300
305
327
298
252
265
322
354
276
364
340
371
311
290
282
252
329
286
326
271
338
366
383
276
299
338
276
284
295
365
308
372
273
234
311
359
346
342
308
315
361
341
268
261
318
324
331
210
294
308
324
224
286
287
310
323
244
401
342
358
311
269
350
267
270
384
242
361
305
393
274
337
281
336
271
272
343
302
316
396
359
370
281
270
356
317
259
232
319
412
398
264
340
300
310
265
325
298
336
326
374
300
337
441
335
267
198
323
215
308
345
307
309
251
295
335
371
323
264
369
380
344
349
310
343
289
267
297
344
313
278
441
332
271
336
269
387
318
234
290
282
339
340
331
291
338
333
388
279
335
225
302
343
398
320
312
286
287
284
296
298
368
311
311
317
257
295
357
243
329
343
290
260
307
359
280
389
347
318
328
352
264
310
304
309
290
255
387
184
286
303
363
294
361
299
322
317
376
262
311
378
381
282
347
293
337
412
290
272
351
298
372
263
280
387
289
376
329
346
382
207
267
304
355
394
347
343
307
337
265
239
346
307
309
250
257
348
385
344
295
254
195
386
358
285
325
311
355
338
294
304
328
344
279
397
249
332
254
299
298
259
250
330
247
293
298
287
418
279
319
358
348
279
347
372
370
268
305
308
316
271
372
243
300
322
350
290
312
250
270
388
339
338
247
358
338
267
303
305
359
297
288
343
336
306
306
319
360
319
348
315
346
355
298
225
352
351
264
339
291
332
357
254
277
353
295
313
279
224
264
286
281
301
390
370
386
273
335
338
289
345
382
291
310
353
301
280
352
286
366
330
336
287
359
364
339
325
316
289
274
306
271
332
305
352
313
334
283
275
302
320
414
256
345
254
334
353
320
342
336
231
370
334
343
252
278
398
259
381
213
280
326
323
341
252
297
305
354
344
310
332
317
302
320
352
317
366
342
371
316
320
343
245
338
387
346
339
338
292
321
293
352
259
387
331
346
253
327
353
224
317
337
271
371
366
353
371
318
278
370
377
337
235
363
295
320
277
361
308
355
338
353
338
276
313
287
256
273
384
313
263
324
317
310
200
342
270
352
327
224
225
357
356
283
359
271
358
452
400
308
336
363
448
265
367
320
323
241
323
335
342
329
304
335
299
272
317
314
403
305
301
316
417
284
284
329
387
317
265
225
307
383
305
264
403
420
283
359
266
255
321
335
226
239
321
311
369
330
328
230
418
336
316
391
315
335
311
250
319
361
353
321
325
356
364
266
288
265
288
234
364
323
328
311
358
265
327
309
305
255
330
305
366
266
237
259
430
379
296
310
314
379
293
239
288
307
225
305
427
281
282
322
386
253
317
283
330
347
312
334
301
262
327
233
345
328
394
391
308
277
253
350
342
354
295
231
285
369
335
235
349
296
249
367
362
356
320
337
279
299
355
297
347
282
344
312
331
317
297
355
376
325
253
370
394
249
336
323
259
328
387
342
385
260
346
349
334
272
310
357
262
331
337
362
349
363
258
290
319
303
250
352
340
344
310
347
268
318
309
298
337
295
333
270
311
386
286
339
267
321
294
278
374
328
363
310
398
285
368
299
343
357
252
256
319
295
324
359
315
328
331
297
248
272
301
299
380
368
331
278
333
344
376
293
331
329
392
343
319
342
332
271
263
264
270
275
290
316
259
186
277
344
376
250
245
344
261
319
303
323
336
283
327
339
288
328
319
364
375
346
276
321
300
374
330
357
258
393
322
350
389
386
309
288
348
305
314
348
247
383
293
363
241
317
324
282
342
313
369
279
323
315
355
242
311
338
326
410
324
277
231
386
398
321
333
359
349
371
301
315
312
256
252
207
278
240
321
339
292
325
328
318
430
277
405
290
332
311
262
325
361
344
333
211
355
286
262
287
249
405
338
278
314
238
285
346
217
335
287
279
329
335
332
250
346
323
301
320
166
325
381
373
385
306
282
299
348
319
318
304
252
296
359
291
301
301
259
356
245
331
228
365
304
342
370
315
352
255
240
227
309
382
389
314
287
418
389
243
306
356
296
335
321
367
382
398
337
341
328
183
367
286
344
367
399
227
360
292
184
281
290
318
327
327
357
301
379
263
259
323
316
282
293
386
310
265
262
347
227
377
272
356
324
321
322
300
263
302
207
349
387
333
368
264
219
338
290
176
236
283
374
434
324
373
344
294
278
279
330
339
348
336
305
304
272
260
239
321
312
314
327
382
260
360
359
334
339
323
264
304
301
348
310
396
252
347
250
336
221
364
303
296
316
320
314
319
331
266
227
408
327
335
293
404
264
249
347
350
288
269
321
299
359
333
307
367
233
260
390
309
311
350
342
319
312
386
388
283
312
327
345
379
339
374
281
416
343
367
361
240
351
324
306
356
307
314
378
412
321
373
311
271
300
273
328
365
290
344
308
321
327
383
269
281
368
284
394
228
310
368
259
398
271
297
350
342
254
259
368
286
265
267
260
258
347
313
389
344
385
343
255
292
206
270
349
326
338
263
289
335
437
311
366
333
382
283
252
283
359
285
273
317
324
361
329
252
375
251
287
398
298
314
323
286
297
356
283
348
362
276
236
407
345
283
294
294
308
328
375
304
311
310
196
237
274
273
298
268
344
303
289
334
319
291
366
310
343
371
288
311
270
316
311
301
335
380
284
245
378
323
360
340
266
329
280
302
293
304
267
357
321
302
372
317
279
271
192
368
308
276
335
302
271
234
259
331
339
338
294
289
314
261
289
224
401
356
371
266
253
397
393
339
307
313
350
259
320
323
283
300
387
281
334
275
233
349
321
248
299
246
318
381
302
387
311
285
325
249
309
309
266
384
325
408
300
292
263
313
404
326
323
313
315
351
306
335
372
314
297
312
390
295
339
261
324
283
317
284
330
355
294
321
336
302
371
332
330
337
397
370
345
250
309
330
245
385
305
350
279
347
327
289
334
387
323
335
269
316
338
337
349
330
298
308
347
324
251
176
302
329
295
334
291
343
310
330
298
351
354
299
273
365
323
313
285
326
356
283
324
315
287
350
322
257
402
357
262
330
303
288
376
331
329
345
351
313
325
316
326
338
311
296
320
312
291
297
228
333
337
415
234
379
287
383
330
241
427
278
314
378
253
305
323
334
386
308
242
359
193
204
373
309
316
343
289
371
335
307
286
249
301
290
343
257
284
279
288
222
248
355
374
292
383
285
348
320
297
224
383
272
293
344
266
314
359
344
273
299
355
370
262
191
307
321
309
305
353
401
389
267
283
325
338
335
320
306
204
333
272
280
265
344
336
272
321
302
323
329
337
261
299
274
253
304
380
338
364
332
334
258
229
237
295
327
295
273
345
293
356
349
391
381
296
397
246
327
319
318
283
337
297
361
294
353
363
306
309
290
280
235
226
317
267
247
375
296
298
369
308
330
361
295
295
383
397
326
303
326
371
261
358
338
322
327
318
215
268
316
364
311
316
310
238
399
355
246
292
374
285
390
316
385
366
276
303
293
273
260
342
249
311
345
344
393
369
363
300
256
362
373
304
335
396
184
307
221
355
316
347
295
284
276
294
331
257
330
282
369
359
380
287
363
276
383
307
375
272
356
291
341
301
330
265
282
320
357
209
321
381
265
328
317
362
286
314
371
301
356
271
290
278
311
292
250
379
311
406
345
352
303
411
273
219
281
318
335
285
407
338
276
284
304
293
342
295
257
344
315
249
291
310
283
371
328
273
238
343
305
334
355
438
304
324
278
347
290
366
317
439
286
380
336
256
372
261
328
356
357
341
266
273
250
361
293
286
328
384
336
331
348
326
252
267
274
283
316
294
316
256
310
291
310
290
256
307
282
283
264
335
338
294
252
294
371
293
268
336
368
300
308
336
333
335
366
368
344
292
322
279
308
321
324
314
352
391
327
362
277
321
369
315
232
267
299
323
253
427
297
319
235
303
278
316
308
354
333
338
355
370
396
333
287
267
379
406
304
369
332
306
360
322
345
299
248
196
277
435
337
273
365
222
333
282
294
314
306
364
254
351
346
383
326
425
255
400
347
299
373
356
325
339
310
306
268
338
280
290
349
416
289
330
328
309
330
299
312
279
343
322
347
312
359
261
260
311
342
266
386
377
325
312
313
296
325
256
360
351
338
268
276
338
224
283
331
330
272
376
257
357
266
360
224
312
326
184
336
322
349
308
256
275
269
294
337
238
386
358
340
246
304
302
296
361
362
311
307
378
275
249
326
256
279
261
317
332
288
410
378
281
333
310
240
277
309
326
317
324
332
284
405
280
302
363
269
408
288
363
308
376
368
301
312
347
337
308
379
327
260
294
253
292
330
278
366
336
268
337
264
343
314
353
248
339
300
233
289
280
259
294
317
358
303
439
361
348
242
306
273
292
242
374
333
361
370
341
347
332
336
411
345
320
268
316
326
327
390
267
276
391
356
335
363
352
325
391
326
287
289
325
298
339
338
448
309
278
371
298
225
321
304
314
311
312
333
302
382
294
257
305
273
370
289
344
230
305
362
292
323
288
384
244
288
296
339
325
349
278
303
373
307
355
252
319
311
353
281
409
301
366
336
310
211
270
355
389
307
261
397
305
336
262
335
329
299
348
314
275
395
313
271
325
392
283
328
355
326
284
295
258
349
325
216
307
303
278
307
376
247
271
376
356
337
256
259
379
267
325
353
195
346
341
315
290
316
296
297
289
279
370
315
294
264
320
308
311
360
271
339
360
307
351
354
324
228
290
435
350
374
366
274
360
309
404
318
329
373
374
283
315
318
297
316
369
308
289
322
328
367
337
254
268
322
422
235
350
278
319
414
312
386
283
347
283
369
305
233
260
398
312
366
236
303
374
267
319
297
277
233
251
331
306
349
270
371
328
350
297
336
284
322
352
309
335
323
312
336
382
295
219
351
291
301
303
264
363
304
359
317
381
344
334
256
333
313
262
238
380
263
391
281
364
323
335
282
341
318
296
338
370
308
277
209
282
275
310
280
425
288
276
312
319
401
367
347
275
252
269
319
334
316
317
395
384
267
345
342
314
313
303
324
267
297
370
288
280
243
275
299
326
325
258
305
354
234
331
339
337
400
333
361
314
305
334
371
398
357
275
353
321
259
386
361
324
324
338
377
278
284
321
301
391
356
312
262
342
289
255
335
330
354
293
271
362
324
344
307
336
300
291
269
306
301
302
326
315
258
323
317
356
335
283
369
383
301
318
320
373
356
307
315
390
255
341
292
234
367
224
316
368
313
320
375
320
191
363
366
320
335
253
306
319
332
319
249
363
295
317
365
322
311
240
287
320
380
279
345
281
282
258
419
340
362
331
352
244
323
307
266
265
237
329
307
309
330
299
364
361
325
394
313
354
284
310
343
285
370
326
284
274
291
420
268
307
323
331
377
322
274
303
304
299
264
339
308
283
278
244
291
288
252
364
211
246
338
249
233
278
239
347
280
363
306
284
358
393
335
361
355
277
359
216
301
288
313
260
281
300
338
305
329
286
269
327
326
354
374
328
245
264
294
364
321
338
318
277
252
300
299
269
279
283
354
318
333
298
266
355
310
280
323
371
330
369
300
298
322
274
343
245
313
246
305
410
281
262
231
293
352
321
361
277
222
260
353
369
294
410
265
301
360
311
290
289
324
353
299
359
307
339
266
339
321
329
327
305
303
348
409
319
372
233
244
271
308
322
345
315
337
383
270
318
346
315
243
350
305
247
277
263
248
234
293
319
251
350
389
278
386
324
200
299
307
323
295
182
200
351
320
325
332
305
405
326
304
316
302
317
262
345
334
361
312
353
371
318
272
380
264
315
320
258
288
288
389
383
329
344
268
380
234
281
275
300
293
283
301
345
396
324
351
275
287
360
422
306
320
244
291
298
338
295
355
386
241
250
295
312
379
337
368
255
310
365
347
312
267
327
291
354
361
323
330
331
277
373
371
281
300
269
207
217
330
326
302
290
326
341
339
376
345
297
362
312
262
354
261
325
322
376
308
265
278
347
322
317
338
352
342
351
273
313
293
348
309
276
388
331
346
383
307
316
350
294
332
341
257
319
269
370
347
372
239
367
265
329
332
279
335
324
285
294
308
280
316
277
311
283
349
218
347
320
299
351
307
331
324
323
282
346
300
238
333
364
263
313
326
311
316
289
304
308
308
247
340
310
232
331
360
284
364
310
327
245
234
316
330
277
325
308
311
345
359
354
348
310
292
286
346
396
242
307
278
373
260
353
224
300
355
320
280
356
311
371
294
347
336
299
301
262
371
322
285
358
316
321
359
342
322
288
354
318
317
340
334
315
283
334
258
260
300
328
321
275
305
309
234
308
325
322
297
325
323
274
277
243
237
326
219
309
367
257
405
265
316
293
328
345
262
274
294
334
309
294
345
245
319
352
332
311
243
313
307
360
364
369
265
263
316
282
411
357
333
348
287
283
229
312
312
268
247
383
307
326
391
354
339
297
315
282
259
268
330
283
334
371
382
284
360
373
313
326
343
251
381
374
283
376
307
355
319
396
375
264
337
321
300
360
400
340
363
428
332
249
330
215
363
296
305
337
345
339
339
254
292
263
391
360
313
298
243
293
347
334
235
310
260
372
362
207
323
384
341
393
267
254
304
291
402
258
317
259
372
298
218
294
288
286
292
312
371
403
376
346
339
196
293
306
334
335
275
361
354
258
285
343
311
362
242
305
326
283
328
296
308
289
324
286
360
353
269
233
335
308
330
306
287
360
288
368
307
278
310
354
301
344
308
259
379
394
315
329
303
310
328
345
281
343
365
318
325
262
368
310
289
258
318
186
378
237
272
317
336
310
332
378
309
312
311
261
383
357
295
360
221
219
266
339
328
343
260
305
265
278
350
271
370
258
326
336
300
310
352
324
330
370
301
383
318
252
343
322
314
353
284
340
327
333
252
290
443
314
299
252
309
301
386
331
337
313
316
321
334
340
314
263
317
320
219
289
336
306
315
318
302
282
342
353
276
282
289
344
343
290
301
352
268
374
335
294
222
252
209
338
295
277
311
267
275
340
295
358
304
337
362
358
379
356
376
387
366
291
309
272
266
218
321
382
254
369
301
339
382
297
305
368
267
348
333
270
265
346
369
315
332
362
297
403
330
331
193
313
250
287
312
229
287
336
269
294
269
339
268
240
328
318
349
305
351
337
302
356
323
435
348
282
340
215
293
411
230
272
300
286
288
302
322
219
371
356
275
286
321
334
271
243
274
261
337
354
256
276
269
344
249
319
331
305
259
359
222
365
257
348
315
417
435
310
373
347
317
286
376
350
366
359
270
336
306
333
306
311
310
308
316
301
308
290
243
166
317
323
335
322
273
305
309
292
391
354
334
289
358
288
264
386
394
377
313
315
329
307
334
373
300
362
378
338
313
313
328
232
274
337
362
330
366
295
310
241
269
275
291
231
386
262
304
325
355
302
273
370
358
267
398
352
207
337
312
235
303
319
265
184
245
322
277
327
399
330
281
248
303
251
277
339
341
262
296
306
309
300
249
329
303
328
362
277
266
335
290
275
301
340
339
357
306
259
337
348
247
330
331
336
328
279
316
281
298
364
329
360
330
334
310
288
318
298
374
239
316
332
320
262
260
367
309
318
292
298
336
319
337
369
331
419
268
342
342
230
278
339
231
277
303
315
312
339
275
340
329
334
350
356
231
345
341
292
287
332
245
318
308
358
316
289
352
255
354
396
286
344
183
327
282
322
263
349
299
318
265
360
238
350
289
323
269
318
373
345
324
399
264
372
354
336
350
376
387
377
358
347
290
375
302
239
286
268
256
350
344
280
306
329
336
400
321
259
259
312
337
383
320
371
256
288
292
299
265
342
347
313
347
221
308
368
205
338
357
314
327
262
346
297
343
286
291
290
301
211
292
269
231
325
232
322
256
373
349
272
425
310
274
311
229
345
340
298
351
253
387
282
354
273
330
334
322
197
352
365
260
322
320
331
266
323
362
372
287
325
379
325
345
255
285
331
254
306
325
293
408
297
382
314
314
332
288
309
292
392
385
302
356
372
354
336
314
319
286
257
267
317
280
306
297
318
221
350
357
346
311
316
389
238
304
314
302
332
286
297
280
246
336
326
339
364
289
318
331
363
399
345
321
332
293
311
286
316
326
342
272
346
306
292
333
315
305
343
356
311
248
354
356
354
288
278
369
292
282
311
326
324
303
259
284
352
358
314
311
287
315
326
234
330
277
321
290
308
358
305
313
381
378
334
242
325
300
377
284
317
320
298
304
317
244
306
248
305
346
327
288
269
310
328
295
314
324
332
367
327
360
350
325
330
429
195
299
236
325
224
262
312
219
408
333
291
386
381
289
266
326
274
411
379
286
307
366
314
298
324
279
302
238
295
308
298
345
316
356
278
330
330
353
321
341
395
298
285
297
367
399
239
272
322
244
307
354
327
310
346
283
294
271
375
376
279
292
291
252
302
265
277
360
318
317
331
276
281
266
344
417
308
354
331
333
280
332
349
225
439
373
283
313
267
305
292
383
281
357
348
316
312
324
340
198
328
331
328
289
334
328
268
311
299
331
295
281
357
312
331
279
327
307
370
269
326
298
457
333
359
305
399
334
299
317
313
356
303
380
375
328
288
305
256
327
294
329
337
346
336
338
302
284
271
335
305
245
365
295
330
252
315
312
333
352
371
338
353
309
311
336
352
310
315
302
351
350
300
403
255
337
311
281
311
334
319
370
308
343
368
299
273
337
373
324
372
315
275
365
293
388
289
318
291
326
330
391
329
301
385
365
319
334
271
347
281
284
321
307
319
315
340
261
268
370
316
327
294
292
330
380
376
280
323
350
300
281
260
396
323
280
300
348
288
355
313
221
369
376
318
295
253
293
311
288
302
226
344
359
298
336
316
367
250
252
311
242
251
326
264
230
362
378
309
269
312
339
434
355
352
274
331
252
368
334
321
299
301
294
314
304
345
360
371
365
297
325
344
304
320
363
346
322
288
367
358
278
336
253
370
333
326
389
340
398
289
337
310
310
274
280
397
326
260
354
329
333
299
321
364
291
272
338
317
313
249
404
273
300
347
261
353
288
317
338
309
326
346
281
373
267
272
315
361
280
303
343
366
291
228
328
241
351
213
339
288
307
326
360
253
305
225
320
231
270
268
280
282
259
307
318
350
352
267
286
281
265
284
269
345
295
280
413
302
331
319
242
290
294
332
353
298
361
324
377
328
308
324
412
341
331
293
309
323
285
379
234
329
255
344
333
243
347
292
242
352
350
290
339
331
350
286
302
350
258
370
297
273
290
267
310
317
261
364
311
278
365
350
328
297
305
308
311
331
401
323
293
317
362
234
238
218
204
319
300
322
309
333
361
393
285
329
255
324
380
223
372
386
359
269
255
227
299
344
358
337
269
348
193
327
241
351
323
380
297
365
364
349
344
307
235
288
327
421
344
354
423
297
281
367
334
333
332
331
255
405
269
335
375
380
327
274
312
340
362
342
339
298
300
240
308
292
352
370
341
303
372
265
338
365
328
390
300
288
308
297
390
348
349
279
332
274
307
313
298
350
372
322
389
273
260
329
275
417
335
328
284
339
406
282
217
303
304
286
276
255
270
324
258
370
323
323
327
372
297
328
309
255
294
334
308
248
341
355
302
225
351
396
326
360
277
366
317
369
356
314
339
276
312
288
321
257
269
320
289
302
367
278
327
359
218
240
369
298
358
309
315
338
270
249
329
287
326
365
300
377
269
365
340
253
362
373
331
333
314
279
278
299
310
352
332
309
360
274
227
408
310
236
202
223
330
268
297
324
334
316
362
398
322
242
314
318
359
349
323
381
243
247
408
332
321
272
247
298
350
320
373
289
378
273
375
273
291
330
283
333
327
235
380
344
175
398
376
217
293
398
359
409
245
365
313
424
349
342
294
336
273
340
304
352
279
245
359
325
345
277
328
329
281
363
269
345
271
320
278
295
340
312
285
333
279
325
376
324
299
347
327
339
380
344
311
319
425
319
279
327
340
288
279
305
237
208
220
294
426
305
311
361
208
343
246
337
373
317
354
286
350
232
298
286
298
324
350
316
332
357
328
260
281
353
307
324
413
290
293
344
306
387
314
372
332
344
268
386
274
323
358
291
323
368
330
323
389
338
332
255
335
323
337
342
324
268
272
344
283
325
313
275
323
351
359
253
295
307
327
350
261
331
329
339
373
290
355
319
366
358
389
265
302
349
322
279
301
342
387
295
383
239
351
392
348
385
344
250
181
309
291
323
288
344
322
362
230
362
267
300
304
405
298
334
264
438
390
326
336
289
276
349
360
392
389
397
191
333
269
276
398
253
388
299
384
318
338
290
371
261
299
347
296
250
330
319
313
264
301
269
317
342
315
400
222
288
368
292
278
258
376
287
320
210
295
322
243
299
296
268
341
205
327
302
322
311
296
396
354
322
301
283
417
332
365
370
353
317
340
273
468
323
375
310
324
364
245
279
312
282
263
269
361
369
273
259
298
309
323
367
371
307
340
365
308
313
334
295
356
338
302
340
299
280
354
346
349
333
307
323
309
338
359
255
375
281
386
422
289
339
269
330
253
236
288
321
264
376
234
369
373
265
284
295
357
222
296
363
359
313
200
383
344
360
361
385
383
323
261
348
336
276
338
309
286
294
323
252
236
279
291
330
390
289
398
308
366
378
296
337
317
289
274
262
342
275
246
345
277
330
399
335
258
397
254
315
388
338
276
380
304
282
334
380
286
343
306
378
309
390
323
372
315
390
298
389
344
336
317
281
375
360
318
366
317
347
390
240
394
274
355
289
417
379
320
301
330
291
278
356
321
325
318
264
326
248
346
245
277
329
284
300
239
269
303
276
306
336
309
238
329
286
351
371
256
263
326
366
415
322
327
298
315
265
233
245
363
318
355
251
368
404
325
216
268
316
321
314
235
328
286
329
297
400
412
305
321
262
310
362
339
395
290
252
335
315
232
350
289
324
309
376
295
302
356
343
286
304
327
349
240
312
338
277
265
302
243
299
367
252
350
267
277
343
320
342
348
388
378
303
390
299
282
296
218
295
338
357
340
267
285
350
339
377
291
350
302
216
281
269
378
327
358
357
282
320
321
370
313
320
254
389
252
335
350
388
290
407
310
319
256
356
322
369
288
277
300
272
359
352
370
377
241
292
265
347
316
362
269
374
375
291
285
304
416
260
323
364
318
414
286
396
312
405
274
265
346
309
321
289
220
380
319
391
321
285
279
362
266
349
326
306
302
275
319
262
368
354
397
253
349
269
349
290
266
373
261
346
331
388
257
346
280
343
262
388
365
240
290
349
327
301
308
290
311
326
261
347
325
311
343
283
314
389
260
255
258
379
278
273
257
368
325
309
403
254
319
242
337
299
299
346
279
387
308
273
400
320
316
333
348
342
357
323
408
258
312
398
355
321
250
312
343
296
340
313
257
331
365
338
245
345
322
370
403
330
331
340
336
255
301
362
393
305
293
334
351
356
301
407
321
350
346
303
265
306
278
248
325
294
324
313
380
313
353
371
344
266
357
295
427
355
352
313
373
325
280
248
317
257
300
285
308
323
308
279
342
311
204
202
319
413
273
390
234
261
369
310
375
346
354
335
327
223
319
313
280
306
285
414
240
317
392
369
399
282
351
452
289
315
325
333
256
409
217
320
311
296
381
348
323
301
301
326
238
327
314
329
298
340
222
355
410
286
329
327
319
343
328
312
386
259
292
405
322
301
300
335
290
308
271
361
353
360
297
356
360
340
234
300
330
337
390
334
259
322
300
286
278
329
294
362
322
289
340
334
315
307
344
282
237
338
322
255
247
242
281
313
285
218
218
338
320
316
320
303
312
318
294
298
323
381
336
303
286
375
314
318
249
327
281
243
322
308
306
256
315
362
368
324
261
290
247
274
328
297
266
346
340
303
249
350
246
326
361
354
321
386
346
291
327
359
365
321
423
304
345
380
322
235
338
404
373
317
308
330
328
333
365
318
408
374
371
286
321
319
367
374
278
306
338
271
404
362
378
288
359
347
249
320
283
348
298
296
235
278
314
386
386
331
330
325
271
275
310
284
326
290
319
286
349
266
320
285
375
295
326
306
318
358
348
315
281
312
304
360
347
255
230
237
265
334
270
299
278
357
291
333
374
413
351
297
330
302
296
299
334
285
268
295
278
305
364
273
303
325
382
361
350
364
287
313
328
333
301
253
396
334
398
288
312
279
328
323
357
393
360
298
327
238
358
323
326
244
317
274
291
306
295
329
296
277
353
292
263
269
357
310
405
345
268
383
352
331
304
305
282
316
255
395
352
316
334
314
345
343
272
298
317
325
309
194
340
268
365
280
364
304
337
259
304
375
283
333
397
259
318
278
356
346
302
318
309
214
337
394
346
301
304
342
179
377
318
392
279
315
352
304
292
302
294
275
292
308
298
357
312
353
318
279
327
325
320
399
293
289
381
370
343
296
283
345
267
319
263
302
283
282
358
303
335
286
312
300
289
361
264
415
292
376
274
311
362
310
187
277
271
298
296
337
328
284
293
338
332
348
317
319
242
244
314
296
282
366
316
298
319
288
311
225
317
250
383
280
261
288
270
342
307
340
338
369
299
256
354
337
306
300
375
384
235
343
370
252
335
245
284
327
373
344
381
240
332
351
368
255
348
300
285
349
325
312
339
359
275
365
284
317
312
335
271
250
287
308
308
358
248
294
273
389
346
340
256
291
367
257
278
241
361
320
286
287
330
252
350
311
247
366
300
286
270
307
288
322
318
364
326
334
294
370
369
287
284
262
361
366
357
274
353
361
369
248
289
306
292
309
365
378
335
342
273
292
266
362
365
389
235
320
234
229
318
199
252
284
392
383
268
346
336
281
295
321
249
278
308
225
298
235
241
310
253
391
369
259
309
353
346
331
375
334
348
400
273
313
326
308
331
256
287
362
390
342
382
276
337
361
331
281
306
363
326
290
278
336
298
423
320
332
346
339
293
351
304
232
364
235
315
345
378
336
295
320
243
318
279
340
331
359
328
374
291
324
271
329
325
260
244
329
422
344
234
330
339
354
284
371
342
321
301
338
268
254
279
308
286
344
389
358
311
271
247
317
307
276
294
300
298
360
297
365
317
301
365
285
395
245
415
316
357
331
325
365
338
359
299
228
261
337
228
311
304
337
335
380
314
359
314
317
373
379
356
305
349
292
297
330
280
363
297
290
366
285
362
368
332
303
266
358
293
384
348
314
171
296
434
313
306
389
255
315
329
330
279
303
304
279
394
183
312
359
263
358
315
293
361
330
324
272
302
288
323
298
319
305
229
289
331
384
364
256
383
308
346
378
279
319
231
289
378
304
325
265
334
253
342
373
289
291
231
289
332
328
350
252
368
369
309
290
260
210
373
241
362
334
312
310
288
305
384
247
272
344
259
370
360
237
372
347
321
362
300
335
332
357
334
347
234
316
315
348
295
356
292
290
342
355
306
312
278
300
272
256
348
427
346
321
336
458
318
290
340
376
447
321
230
325
321
227
316
327
338
247
316
356
366
274
357
349
271
308
355
326
352
256
405
316
337
278
306
318
276
283
280
305
287
332
304
230
313
285
337
244
387
341
370
348
311
366
310
343
313
228
347
325
397
285
298
371
327
293
376
334
273
306
318
366
260
333
297
339
297
303
275
384
263
329
284
336
330
319
263
294
257
306
411
329
257
305
266
324
330
329
350
394
307
274
351
311
328
286
379
337
269
322
373
378
215
220
371
326
260
253
326
324
287
298
349
230
298
304
375
323
336
376
345
259
367
271
244
342
286
332
383
371
289
306
306
317
376
333
350
278
366
265
329
310
320
297
275
325
371
373
281
258
281
384
333
267
308
330
389
341
304
282
274
336
328
297
273
281
316
244
317
369
317
348
316
256
297
325
299
304
307
260
406
313
285
340
281
299
379
335
326
316
334
349
302
332
263
368
312
316
256
278
294
338
298
335
336
282
282
339
324
311
293
384
308
262
292
368
337
332
342
324
306
408
299
342
316
319
326
246
336
317
301
272
366
355
297
343
336
298
273
370
293
329
320
304
300
281
340
321
333
217
311
271
393
324
315
312
346
359
335
406
332
399
270
315
348
326
270
340
302
312
336
288
281
296
301
265
319
338
374
334
314
380
293
367
300
217
336
369
248
206
373
263
326
221
273
317
390
294
349
296
308
311
401
369
316
353
325
369
237
286
337
335
363
376
395
352
259
238
303
312
337
285
311
306
239
263
333
293
441
319
321
204
359
323
287
331
263
343
298
310
212
259
287
313
332
319
308
270
262
347
270
263
276
350
345
293
357
365
210
343
296
340
302
351
368
390
373
270
317
302
330
310
327
339
256
408
315
353
337
317
350
342
316
349
353
349
296
306
354
247
379
343
313
310
357
340
319
368
407
310
321
314
271
296
298
336
272
263
310
394
198
369
282
305
343
264
370
234
379
288
365
340
377
324
281
302
381
286
228
300
300
295
336
296
348
394
314
385
313
353
352
332
274
241
267
312
340
289
268
296
417
321
306
347
269
331
318
331
291
343
329
351
208
365
304
362
286
279
299
266
356
309
333
249
303
347
338
270
257
292
348
225
455
301
307
415
218
306
395
310
381
347
350
333
318
368
301
294
257
355
324
316
315
354
351
352
246
352
351
233
428
358
198
281
303
337
330
344
347
292
344
360
354
325
276
316
347
315
296
315
297
326
385
313
368
349
298
366
364
338
204
344
302
255
307
328
326
291
232
305
314
281
356
232
334
351
306
348
333
373
335
203
303
346
261
340
296
286
331
323
376
338
321
329
338
335
218
321
317
340
225
341
318
321
332
314
340
341
201
317
350
260
354
353
341
343
349
342
342
376
340
211
307
345
336
282
271
355
332
397
301
240
406
329
317
304
341
389
247
346
359
196
344
288
336
287
366
347
293
348
325
344
286
336
276
391
308
306
315
354
294
359
305
308
327
315
426
254
333
376
405
252
333
275
294
323
292
307
284
325
286
325
380
342
345
308
349
296
290
281
251
272
286
311
257
302
349
263
324
324
354
286
320
253
278
282
346
333
327
292
350
266
350
308
293
357
338
347
301
391
327
332
231
368
252
304
388
334
324
318
337
284
374
297
240
309
333
269
255
316
371
283
292
278
361
258
368
342
219
289
338
330
335
295
394
307
289
276
331
285
411
224
311
300
273
327
265
340
277
272
314
350
259
346
337
272
267
347
340
317
307
383
338
301
377
288
322
390
281
273
372
269
279
273
301
347
274
319
308
356
349
294
252
282
338
294
299
356
378
283
278
284
330
322
208
397
374
366
317
360
311
288
290
314
211
312
269
281
305
311
230
245
329
247
387
351
325
359
318
257
283
340
256
333
384
296
310
367
363
334
343
342
313
334
367
317
327
332
270
254
338
400
266
351
285
252
343
353
289
357
335
354
299
310
291
292
303
305
354
314
249
317
439
321
310
308
279
344
293
351
358
274
249
324
360
317
255
314
258
335
271
316
346
345
276
290
293
417
371
274
278
317
295
361
393
296
295
363
206
427
237
210
323
334
287
293
330
305
460
258
355
290
350
316
244
251
302
303
345
308
335
261
266
265
323
336
373
256
299
305
379
237
321
375
305
364
352
213
301
332
333
276
306
364
293
357
331
262
350
269
253
299
334
369
273
377
368
314
266
284
228
310
277
370
319
364
310
326
329
291
394
289
360
327
292
347
321
285
389
311
318
367
437
355
362
284
328
338
314
298
208
399
300
345
358
290
303
287
380
264
260
312
378
368
333
313
369
295
297
308
389
349
275
344
276
232
272
350
376
336
343
263
297
251
330
307
270
269
335
331
277
337
289
379
350
320
241
343
287
247
331
358
310
245
357
387
311
340
249
240
373
328
338
267
247
273
288
332
311
259
318
353
214
365
259
264
342
324
391
308
331
305
373
275
352
328
295
286
341
338
324
334
367
337
337
316
272
368
353
384
348
322
368
335
229
340
368
239
344
313
356
365
316
332
339
334
327
286
351
409
240
297
313
367
343
367
175
304
312
297
331
386
327
363
307
353
291
315
288
312
324
311
318
286
291
344
253
237
288
286
328
264
279
334
297
286
283
333
326
350
359
332
295
309
334
326
344
302
350
302
275
323
314
301
345
296
366
277
318
314
359
320
337
236
333
351
377
290
320
239
334
286
380
270
343
306
256
282
278
359
333
350
254
292
377
376
258
289
326
248
308
312
338
292
273
340
325
294
325
322
308
290
314
319
359
290
311
280
330
357
233
350
354
309
317
326
332
404
302
288
292
335
291
318
343
373
331
335
283
207
257
337
348
325
355
298
323
199
332
361
325
325
354
387
316
279
334
319
320
323
375
289
283
342
301
313
342
363
343
326
370
336
279
337
281
289
329
269
215
341
325
248
358
316
392
391
296
303
285
282
276
284
380
309
283
286
319
322
320
278
417
276
283
341
334
283
305
346
316
327
338
365
349
291
291
355
242
298
337
267
272
381
270
320
319
311
320
329
337
286
297
260
275
432
264
318
384
398
359
356
209
316
208
231
327
264
285
272
284
316
344
273
384
283
334
342
329
288
220
312
202
320
280
275
407
335
207
308
275
346
300
267
343
287
260
333
238
297
307
355
344
300
258
307
356
297
408
353
339
306
308
349
345
396
394
263
374
360
403
388
340
270
268
276
335
334
366
300
335
308
353
275
232
297
334
235
288
306
335
283
242
306
276
295
310
382
290
326
331
280
299
358
326
338
280
343
271
268
386
333
353
286
308
368
328
330
326
258
311
260
251
374
304
315
335
372
271
284
314
310
400
340
395
270
271
346
327
390
317
269
349
310
305
361
315
263
348
331
342
288
253
305
342
343
278
267
329
335
264
312
333
357
311
360
262
266
314
318
315
244
320
281
343
316
254
370
306
325
240
314
377
332
320
282
311
328
343
327
272
319
296
390
301
362
330
389
282
274
275
289
297
258
362
297
310
300
257
383
341
325
348
296
325
297
336
345
320
361
343
381
233
363
395
347
264
359
278
252
287
308
318
332
314
395
328
272
186
267
307
375
337
351
284
365
407
370
330
287
351
257
259
315
308
303
334
346
339
279
324
372
348
275
321
307
290
264
343
287
384
324
333
376
327
306
313
376
255
245
258
333
339
344
343
308
317
283
353
329
291
238
330
302
354
367
320
341
371
337
288
349
260
367
351
327
229
398
385
320
287
307
272
358
370
394
255
282
321
310
274
289
226
322
373
291
355
290
332
336
327
323
243
246
325
305
281
266
388
297
375
330
333
316
331
282
272
256
301
389
315
240
276
288
348
336
310
249
312
266
325
369
315
251
415
257
299
407
345
326
317
310
271
320
355
325
282
345
287
341
301
269
282
232
332
322
345
305
273
395
258
323
253
280
342
362
312
323
283
329
315
242
310
257
283
300
327
356
302
324
342
371
298
364
303
375
326
248
384
297
327
321
332
350
378
316
292
258
308
392
362
339
366
348
309
317
340
362
341
308
298
323
380
307
349
279
336
269
393
363
398
230
285
220
274
331
356
341
342
328
328
265
374
332
334
257
332
260
292
337
346
360
366
340
348
310
256
323
290
242
291
191
302
377
361
325
251
322
321
318
383
292
332
297
337
279
339
329
402
356
358
261
297
321
257
336
288
265
324
335
293
332
391
363
301
281
306
326
404
374
308
337
308
367
371
286
403
367
311
325
273
329
233
395
327
417
304
300
382
338
279
369
313
281
323
302
286
332
301
357
330
277
319
337
348
331
303
351
301
272
328
318
337
367
348
347
331
341
322
390
386
309
281
186
377
177
351
383
345
333
370
354
264
303
312
254
315
351
328
359
309
296
331
317
222
330
291
310
328
314
283
334
299
305
292
367
328
362
326
279
379
307
393
292
346
344
385
336
322
336
283
312
304
293
257
292
337
360
345
288
327
387
282
390
376
339
349
408
307
340
316
363
353
321
367
344
351
380
222
336
359
281
285
333
413
353
306
344
327
352
291
349
212
305
350
246
271
265
261
219
276
351
296
268
350
262
344
325
297
321
321
338
302
319
289
356
312
299
348
419
291
361
295
319
283
192
256
303
227
307
337
273
265
299
290
352
335
356
338
346
260
348
292
314
257
267
309
241
380
312
307
327
303
401
283
321
325
334
356
324
397
280
375
231
215
275
359
273
223
254
350
320
300
214
314
330
259
349
340
386
288
327
303
322
348
256
357
322
193
266
335
287
354
221
238
328
344
351
318
371
367
296
250
238
307
290
366
326
296
330
266
302
303
293
311
327
305
297
304
330
331
280
317
319
354
432
301
270
303
342
359
315
338
266
299
297
234
330
313
228
234
355
315
315
303
352
342
274
322
299
289
311
328
348
341
286
214
298
267
307
347
359
262
394
287
386
359
270
251
379
343
312
322
269
286
284
344
344
275
276
371
280
346
211
345
318
232
316
327
285
352
338
299
354
320
315
245
295
319
356
315
234
364
355
254
287
203
295
290
423
271
301
249
319
386
273
352
237
306
264
189
229
252
336
367
413
346
368
290
345
399
256
284
314
315
358
295
265
359
333
267
365
351
284
225
264
223
370
365
317
317
292
243
314
321
380
283
289
320
303
297
306
274
312
181
288
266
285
307
297
321
273
324
264
327
334
320
291
345
329
320
298
314
380
290
316
359
272
323
289
327
318
335
344
372
328
241
311
335
305
313
363
315
364
309
343
333
358
330
375
372
306
328
299
253
357
308
248
334
301
328
311
322
352
338
321
356
339
298
295
301
272
313
270
373
351
277
353
291
319
377
288
288
324
282
312
331
329
369
320
345
243
285
286
329
238
276
365
292
324
354
326
323
345
331
259
222
306
314
343
289
302
315
330
316
247
261
340
310
365
244
272
323
278
301
381
370
372
332
300
279
324
339
350
318
348
374
318
313
296
367
312
340
288
291
422
362
307
335
407
216
293
383
319
394
412
329
300
258
256
244
265
301
373
263
318
251
224
374
324
284
295
336
274
372
225
280
348
359
208
421
260
356
263
371
302
393
314
258
312
314
306
286
339
334
383
290
297
272
307
367
292
339
372
320
414
344
327
317
345
310
341
303
335
324
339
332
304
344
243
323
350
351
289
265
234
325
317
356
309
364
276
300
254
357
350
311
280
351
271
302
252
275
253
265
347
307
257
328
338
314
298
346
347
281
325
305
349
333
284
374
259
343
367
237
354
365
364
356
345
317
339
308
375
323
320
306
358
302
297
204
393
330
380
280
323
273
284
415
276
278
351
277
326
298
245
292
284
284
336
283
256
283
335
333
299
303
284
302
336
363
286
300
281
239
358
310
362
383
365
240
256
304
313
297
334
341
237
281
342
311
240
306
330
387
341
355
350
357
276
325
256
350
362
412
325
325
305
311
267
320
334
322
270
318
348
266
314
359
251
402
363
350
368
406
335
236
288
281
390
326
282
275
288
262
253
301
378
214
317
297
256
231
346
300
242
315
338
338
286
253
303
262
283
307
363
310
410
346
298
340
278
357
252
353
295
337
325
277
380
269
269
345
314
282
237
335
295
256
346
307
316
411
345
323
346
345
328
276
351
406
392
287
312
303
317
335
295
364
332
236
362
269
343
267
341
324
352
307
361
368
244
344
330
322
298
325
246
341
293
360
362
455
311
309
274
332
249
294
350
217
293
338
326
381
342
334
298
367
359
361
227
313
295
318
380
261
367
334
333
345
330
372
275
293
334
337
355
308
270
314
298
294
358
365
275
261
389
333
264
391
314
382
273
376
301
315
310
335
318
294
292
313
228
360
265
245
325
295
308
355
382
343
281
372
345
391
360
309
336
289
381
416
328
275
299
345
354
220
277
278
279
318
353
236
273
408
260
252
230
279
297
391
342
354
360
374
336
300
354
311
343
339
342
342
279
294
352
347
359
322
431
325
345
314
231
292
295
309
310
367
339
351
293
226
233
336
336
340
329
347
269
316
199
262
336
389
265
355
396
240
367
314
325
351
273
329
332
261
342
344
297
233
311
263
365
358
239
205
318
323
290
363
206
230
319
241
263
313
287
318
256
413
290
367
296
297
356
375
340
345
361
332
309
374
342
239
387
216
339
316
372
241
356
325
201
204
361
234
297
317
283
288
342
329
313
315
299
328
290
321
321
350
436
389
275
228
351
318
262
282
284
399
242
318
368
317
302
345
238
346
329
310
362
338
360
301
322
292
346
269
345
277
324
303
336
317
349
397
363
317
352
358
344
296
295
264
365
400
343
310
321
333
351
338
314
314
318
290
304
252
248
373
268
182
251
342
264
297
282
240
356
332
291
337
383
380
335
353
164
339
285
233
384
289
376
332
354
384
257
379
352
303
262
315
327
284
391
308
343
343
323
290
260
242
231
321
170
343
208
280
282
330
312
338
398
286
303
230
198
347
340
336
315
257
313
318
244
302
316
304
344
333
341
243
303
357
291
263
325
412
247
343
349
337
318
273
313
359
272
256
256
378
351
200
277
189
322
308
313
281
187
296
343
332
313
339
303
406
251
284
354
322
273
362
313
292
361
324
260
323
371
368
345
264
397
301
332
336
391
353
296
239
339
395
380
270
374
273
320
215
334
350
280
363
355
358
349
376
368
228
346
315
340
278
307
327
254
288
306
282
378
226
378
319
417
310
327
298
331
292
353
406
326
369
295
390
319
311
362
360
232
308
245
300
343
343
363
354
290
258
249
272
290
316
212
313
358
259
285
239
334
404
344
280
307
279
323
309
313
351
274
340
416
291
290
372
252
395
343
322
246
342
308
346
356
324
296
259
324
305
244
332
251
280
263
367
354
283
359
337
359
261
335
278
330
304
212
406
233
345
292
301
376
353
223
329
367
336
372
319
361
406
318
305
296
291
344
321
338
373
347
372
342
334
288
336
267
338
303
358
270
272
285
370
290
307
326
305
296
382
279
280
279
333
335
357
335
328
284
283
303
347
343
337
292
331
430
236
390
262
283
305
264
383
296
285
266
291
266
329
316
337
369
247
236
279
331
290
333
247
266
341
320
275
347
315
354
321
284
300
252
356
295
333
238
289
332
367
326
255
305
331
277
354
393
374
311
341
256
284
383
358
353
354
316
273
384
356
335
331
305
418
245
313
261
299
278
305
369
267
281
294
246
372
363
338
301
361
311
333
221
309
303
319
266
285
288
264
299
287
374
263
314
292
314
333
326
376
268
337
314
294
357
297
264
370
377
251
347
277
325
330
337
314
313
312
256
366
326
339
343
362
320
280
357
339
326
266
339
331
401
322
342
358
344
299
386
260
338
295
359
269
383
306
381
321
274
302
336
294
358
233
287
300
295
303
316
294
315
301
324
261
325
262
311
318
344
273
336
291
327
360
390
376
387
345
288
308
335
284
371
275
264
338
281
358
365
371
243
319
362
399
333
310
394
394
362
263
344
308
346
366
359
353
249
360
287
350
307
318
351
340
340
290
216
285
266
310
316
379
306
324
343
373
273
375
299
285
319
310
309
407
284
238
307
383
317
354
314
251
318
268
293
353
283
353
346
390
412
384
305
295
365
316
311
357
344
348
345
344
282
307
370
361
330
307
262
356
365
436
290
176
340
302
312
313
295
284
291
331
269
385
331
304
333
247
344
298
357
323
267
418
314
342
338
306
289
290
300
363
355
303
278
328
296
339
282
315
352
369
331
356
275
382
264
256
300
275
354
289
235
408
258
344
233
309
302
338
232
308
299
314
312
374
309
220
289
331
308
287
390
271
301
318
343
240
409
304
292
232
354
239
317
303
380
271
317
245
307
299
335
315
301
347
251
313
349
343
262
349
366
359
231
282
415
325
326
426
342
357
292
248
293
358
399
351
355
372
342
323
385
327
269
327
375
353
371
373
279
303
285
324
371
381
212
319
214
346
310
337
370
396
229
239
313
310
321
254
268
368
285
349
263
345
370
275
349
353
333
329
279
367
333
280
285
324
279
320
286
331
311
299
400
310
371
359
296
404
232
359
184
311
389
388
225
336
338
351
346
305
256
310
196
313
291
316
334
350
318
294
323
261
301
325
259
316
338
274
338
378
258
349
349
322
353
240
348
333
331
319
288
246
366
368
309
398
260
273
301
313
371
314
267
340
295
329
332
312
340
254
179
302
287
296
298
368
279
306
282
374
297
287
374
329
346
288
298
316
286
359
320
218
255
391
315
274
348
383
370
254
367
359
309
362
248
255
332
268
334
283
279
278
269
373
317
331
294
338
342
330
406
306
416
300
290
330
395
259
284
415
359
344
318
303
280
291
272
372
345
323
321
278
244
297
299
364
310
371
275
295
293
327
298
339
330
320
300
277
372
214
314
331
270
243
335
353
307
341
231
246
276
307
294
306
350
299
300
326
338
359
316
350
377
316
249
220
231
404
282
238
363
298
253
305
379
267
246
343
439
403
325
353
328
284
272
188
234
335
193
329
364
313
264
320
315
366
303
246
311
341
350
267
293
264
270
334
310
275
376
385
370
412
294
354
256
312
312
312
240
309
262
274
301
358
334
355
254
285
366
312
331
380
308
342
343
365
346
308
268
286
318
323
323
318
370
271
261
313
234
322
285
281
244
352
338
368
316
290
310
273
289
308
259
302
309
324
386
318
331
356
249
245
369
301
322
305
374
314
299
259
260
272
315
304
353
309
272
340
321
292
331
328
252
273
315
312
358
310
323
308
281
282
306
315
307
313
266
347
332
333
352
342
240
323
269
289
354
267
329
200
290
264
362
296
342
355
362
265
355
346
278
291
328
305
277
319
346
300
271
293
322
291
362
338
255
286
318
426
355
340
289
309
270
328
321
390
298
324
345
371
320
410
336
306
342
366
266
306
360
340
314
217
323
260
341
315
295
351
325
343
263
367
394
323
379
265
319
280
370
286
332
298
259
294
324
313
368
294
287
302
292
381
316
313
271
361
363
323
269
411
289
252
337
368
358
316
377
306
296
345
358
261
319
328
244
322
389
317
312
213
212
366
346
221
312
336
332
352
298
340
189
300
277
282
364
335
335
322
267
400
329
266
285
284
342
331
264
351
306
337
309
329
354
294
313
268
345
332
298
370
269
318
286
341
334
399
335
323
312
290
315
280
384
328
319
337
247
314
326
312
296
310
303
362
291
258
300
374
286
365
363
243
355
382
335
305
309
346
339
267
312
292
258
330
328
278
324
290
304
394
275
290
333
260
262
275
280
374
283
316
461
348
332
369
237
303
266
246
316
318
258
367
347
331
330
268
260
325
311
310
376
271
257
351
287
324
308
370
310
333
270
289
237
396
253
289
282
322
413
298
234
327
323
256
339
344
314
294
299
257
339
314
317
305
370
421
301
356
359
274
382
299
347
367
256
400
415
357
379
314
268
287
355
281
257
283
386
410
421
331
307
270
327
341
270
262
276
298
229
353
373
337
267
364
317
333
284
247
259
265
314
337
360
254
250
314
292
210
243
348
247
284
326
304
306
325
367
343
354
237
359
357
328
349
323
279
348
279
297
298
398
318
289
223
384
331
360
358
346
318
358
333
355
343
264
301
369
317
315
392
342
397
308
334
291
298
319
316
304
289
306
214
268
288
328
303
298
360
398
328
321
328
352
235
324
306
350
301
338
315
339
345
338
333
316
210
324
173
240
326
275
252
356
330
289
249
285
287
250
266
353
371
310
353
323
347
298
290
287
354
363
381
304
321
301
356
293
249
336
335
342
303
336
302
290
373
392
273
321
310
300
283
271
319
372
326
345
288
298
306
252
268
365
326
363
240
341
324
288
302
280
344
394
286
308
301
389
283
278
329
331
301
340
360
295
353
288
310
357
271
345
333
267
345
325
257
317
295
337
315
270
289
329
323
293
213
308
298
202
360
338
308
271
303
304
272
381
328
396
253
336
408
335
375
294
271
312
208
289
306
291
257
276
324
295
323
336
302
328
312
288
303
285
349
373
360
367
335
323
318
350
295
311
369
357
388
308
259
276
334
338
382
299
375
307
389
259
260
336
268
294
309
286
359
321
291
365
387
374
379
325
338
320
262
307
279
311
196
297
315
271
292
260
330
358
196
316
330
299
442
294
323
333
251
281
328
244
319
306
341
254
312
336
350
378
372
371
287
348
320
297
395
309
364
233
277
346
354
251
289
297
321
302
427
298
260
251
302
253
400
240
283
248
325
282
306
279
301
314
257
314
334
256
313
343
328
266
196
337
284
278
337
352
318
346
418
331
313
237
287
286
351
337
311
310
325
389
331
300
370
329
258
249
329
422
251
339
256
347
381
337
293
344
392
276
311
287
397
331
273
387
345
318
335
335
346
284
315
317
226
314
245
383
375
318
245
285
300
326
316
260
267
297
295
317
269
309
267
360
333
374
323
324
337
252
386
303
310
286
303
265
347
345
297
368
320
375
358
328
296
388
283
314
383
369
335
364
335
269
235
294
311
343
305
343
283
384
253
330
351
432
306
339
340
308
362
263
305
305
364
238
332
350
265
189
322
247
333
311
274
371
308
250
333
332
341
372
321
408
302
354
291
346
289
448
365
291
348
347
330
305
245
425
226
277
310
267
266
360
296
324
353
286
316
374
310
244
326
320
312
325
223
292
401
299
310
329
343
378
381
278
249
306
347
260
277
374
254
311
336
266
328
286
412
329
328
263
391
291
349
319
394
289
346
241
363
310
334
274
357
332
376
345
313
310
273
315
344
266
368
285
390
316
279
292
299
389
284
260
303
381
302
391
335
356
276
291
358
310
346
378
257
319
317
271
328
268
282
336
345
328
335
314
324
228
279
326
371
287
340
274
365
292
350
311
329
340
420
306
294
261
318
293
406
321
324
223
358
248
309
307
348
289
296
347
253
279
359
309
277
291
281
279
318
286
264
318
315
232
308
271
273
322
351
306
331
295
322
353
311
363
271
227
250
262
340
314
278
236
273
325
302
328
348
404
282
256
286
256
383
341
337
292
277
381
282
399
316
368
314
254
282
314
359
340
377
297
324
306
274
300
317
269
270
270
268
316
386
346
258
298
293
355
359
253
301
298
301
397
289
312
353
369
299
278
323
343
323
267
279
373
323
317
356
319
353
390
347
300
291
219
271
330
237
321
289
371
286
380
355
236
294
288
336
369
366
394
298
225
357
397
289
317
318
322
280
237
376
384
289
313
350
331
284
305
239
338
267
274
300
405
309
330
240
240
314
343
337
248
297
372
365
292
275
361
332
401
317
355
260
255
344
295
348
373
292
305
338
348
317
376
275
336
339
320
208
276
309
296
288
317
367
301
315
316
248
339
293
412
306
328
304
328
261
321
262
362
315
309
268
381
328
269
326
304
335
330
353
337
397
321
342
357
339
380
201
282
327
289
327
324
266
263
270
282
336
266
221
392
355
378
358
294
199
301
401
301
294
253
323
345
307
363
387
311
379
287
302
372
283
175
359
277
365
290
318
307
364
322
224
379
289
267
219
331
327
323
257
302
287
332
331
318
353
287
332
301
319
346
204
316
270
304
385
270
290
347
332
303
267
336
294
377
296
333
365
334
311
255
339
320
271
324
328
296
283
346
329
326
373
321
363
339
363
380
327
225
367
364
352
380
314
317
330
379
376
348
284
280
259
365
322
279
320
353
329
286
321
308
348
350
413
319
316
314
206
380
339
324
342
325
346
323
317
316
274
366
274
399
331
309
301
359
341
358
324
231
287
395
339
297
422
294
270
280
263
330
275
322
395
336
327
330
329
251
353
334
358
423
283
308
280
275
248
379
299
276
330
362
321
354
274
287
355
322
306
305
318
264
297
311
334
359
252
236
349
332
174
367
267
313
301
309
301
414
311
369
321
235
332
385
386
239
294
356
294
312
300
342
251
313
329
286
387
365
271
263
301
318
237
293
299
291
310
292
275
324
304
257
384
353
392
378
315
360
290
384
397
223
277
339
315
309
280
315
330
335
310
219
276
309
338
285
273
414
270
341
307
312
246
352
340
253
371
315
296
288
334
381
259
201
273
264
437
339
456
355
286
241
331
240
292
196
254
339
313
355
312
307
292
310
274
340
287
254
319
270
313
313
274
250
375
285
299
263
337
275
385
362
262
285
310
277
342
370
396
307
257
300
359
217
350
358
354
362
341
344
309
231
245
287
331
311
244
308
301
258
349
280
321
252
385
310
300
295
289
311
385
295
267
341
346
246
257
244
297
293
243
353
325
326
339
348
310
302
355
277
311
375
298
316
325
397
336
320
279
355
325
259
279
313
359
362
305
299
283
328
254
276
358
216
295
311
301
308
332
279
373
296
357
288
291
342
301
399
277
230
365
329
357
331
234
252
342
267
321
427
352
336
316
325
352
251
293
315
207
345
317
327
331
269
312
365
295
356
359
294
320
355
353
371
269
351
312
312
313
283
327
292
336
272
325
302
273
329
375
392
368
197
316
279
364
319
296
345
316
300
427
267
297
365
373
289
284
260
304
233
354
343
278
313
257
252
291
218
272
245
303
384
298
299
310
288
349
307
342
396
305
369
348
348
356
325
415
362
305
264
423
329
296
277
408
434
343
330
318
297
298
303
333
326
328
416
249
226
259
336
276
330
273
408
362
238
299
322
325
227
320
306
329
316
304
319
325
286
320
240
357
354
281
323
313
386
305
339
261
338
363
350
353
237
338
291
340
313
285
290
352
276
239
354
330
357
353
309
396
300
288
335
329
352
310
264
341
312
282
288
312
365
364
388
320
282
328
309
322
290
343
307
269
250
337
293
372
332
290
303
367
254
326
346
226
272
377
302
376
321
358
342
324
275
329
358
311
333
332
395
336
342
341
344
319
263
276
429
353
283
341
280
315
263
365
307
340
293
404
340
285
314
309
310
351
322
339
308
370
314
275
301
242
273
350
287
306
335
374
267
297
312
327
340
379
321
271
236
241
350
259
292
384
277
315
335
301
300
266
307
343
297
265
270
318
284
325
422
199
310
310
266
294
425
331
270
368
293
275
281
365
274
407
271
360
373
287
256
316
411
208
329
345
307
240
268
315
356
329
255
301
326
299
254
311
311
295
363
275
300
401
338
352
311
306
257
282
338
224
317
330
316
405
385
348
300
358
358
279
298
341
334
359
312
308
315
320
314
358
292
253
384
313
332
335
287
343
303
356
303
303
271
291
394
250
317
371
341
281
340
384
310
349
320
288
279
316
299
354
335
346
335
354
257
330
316
278
315
349
335
397
329
264
350
333
353
373
307
335
298
286
391
323
295
301
304
308
250
225
349
298
344
280
268
304
277
314
292
341
284
344
281
300
286
330
301
328
285
278
337
331
358
313
334
275
324
200
353
311
377
340
211
333
289
312
235
390
291
308
278
386
363
356
316
295
395
326
288
333
239
316
326
372
285
318
275
313
353
267
339
359
359
356
326
249
291
283
344
361
297
310
348
280
378
362
341
308
319
316
347
301
322
392
357
306
354
334
306
313
363
311
276
396
320
316
363
381
292
374
327
381
275
297
245
363
307
312
290
304
350
373
326
283
309
359
353
366
328
338
288
297
279
377
301
298
345
374
329
279
294
326
272
222
327
270
331
330
274
339
323
347
335
371
239
307
406
259
294
314
338
332
294
350
381
319
330
341
369
322
365
290
330
373
353
335
301
353
411
363
306
374
319
280
277
378
280
352
309
278
247
409
335
313
344
376
219
278
367
299
304
387
317
297
296
411
293
308
200
376
303
264
318
360
207
337
313
362
313
400
336
327
331
234
271
206
311
262
324
285
343
375
282
293
275
254
328
359
338
292
353
347
330
313
303
251
316
343
331
364
305
225
318
393
284
374
338
298
362
348
319
358
355
342
312
325
276
239
340
298
370
321
245
273
408
382
334
276
295
345
277
171
280
378
262
306
278
294
374
346
340
382
330
323
301
352
341
298
206
308
355
374
336
329
338
284
346
213
321
366
291
262
370
338
287
252
375
290
355
329
313
385
355
252
317
342
245
337
382
344
293
327
278
350
351
258
321
392
354
371
305
331
281
315
287
317
329
355
281
282
365
304
375
323
344
298
420
287
319
257
291
294
355
319
314
323
364
295
302
331
305
308
323
373
329
271
247
330
361
317
374
388
377
263
396
364
221
341
320
327
338
321
268
300
295
265
312
386
348
329
376
299
277
274
355
285
318
260
342
247
331
322
310
306
322
287
312
316
354
347
374
283
405
260
366
382
339
286
355
258
279
327
322
340
289
310
168
292
267
304
318
270
315
329
339
316
267
275
360
265
256
338
306
313
342
297
263
346
258
309
348
280
324
320
301
256
298
271
379
394
234
404
310
303
254
404
320
296
343
326
320
323
258
302
342
306
348
294
308
273
303
445
224
286
333
299
347
168
250
345
209
386
371
319
304
225
322
337
336
305
273
205
322
316
340
313
307
346
317
284
313
351
307
315
317
302
316
360
361
268
269
332
343
266
298
283
420
366
425
340
370
354
212
434
250
259
239
355
273
298
345
278
290
333
275
247
340
277
274
388
234
377
372
342
316
232
312
368
331
345
327
344
259
306
315
262
319
317
296
348
304
267
364
321
353
291
314
331
316
357
368
313
357
300
249
293
239
320
325
309
287
326
276
334
281
277
353
345
297
357
331
253
306
308
348
276
337
318
267
347
326
308
301
320
280
362
231
350
285
260
333
351
307
264
337
303
261
240
289
294
266
334
351
295
388
313
299
333
285
350
264
326
353
320
287
336
333
364
262
280
364
295
331
246
363
314
263
269
207
361
274
311
335
297
300
316
315
307
293
300
277
405
353
233
345
302
291
319
321
290
332
317
319
333
298
385
350
429
391
337
273
343
335
240
275
355
349
371
333
352
271
340
389
296
332
353
312
300
331
352
330
325
325
303
367
303
277
291
375
275
366
259
335
355
235
360
278
379
236
310
253
313
413
324
356
303
240
367
352
328
235
286
297
297
299
243
250
294
307
282
376
338
309
338
265
291
266
321
342
342
325
366
295
278
324
298
361
328
289
427
267
420
399
325
292
222
295
309
290
361
344
297
358
330
244
349
294
235
285
251
305
338
276
320
315
304
306
271
342
302
401
322
251
354
372
235
350
297
359
331
268
301
358
236
334
349
367
351
250
321
220
283
299
398
290
378
271
327
337
346
370
347
386
291
296
340
363
396
287
262
322
330
348
223
368
299
256
384
358
281
247
326
338
326
303
290
349
319
361
316
307
339
232
281
348
361
350
271
321
359
308
326
338
231
290
293
412
280
362
358
414
241
320
380
380
364
328
316
302
298
340
288
296
321
264
298
220
321
362
298
199
379
321
331
362
305
269
321
295
378
320
245
287
314
274
322
282
349
252
359
396
329
296
347
305
309
354
340
341
328
209
265
333
270
257
338
325
280
300
273
331
338
322
298
348
363
273
330
315
377
349
358
339
310
345
367
295
339
306
203
355
361
212
285
309
337
322
320
253
359
286
342
251
362
322
300
304
363
327
335
385
216
373
332
373
382
341
312
292
261
377
319
375
288
339
339
318
366
259
306
271
324
299
307
283
398
344
353
329
348
292
264
348
341
387
279
366
305
338
354
323
244
342
374
338
327
345
347
301
228
313
282
248
384
358
259
301
343
227
278
322
283
386
339
338
214
307
350
307
337
326
388
277
234
287
273
346
378
295
329
302
385
364
254
259
342
311
369
310
292
339
326
335
319
320
367
305
347
333
232
383
274
287
372
318
246
321
343
350
323
335
313
316
391
300
316
245
315
222
245
361
349
353
395
331
296
286
365
335
373
335
295
337
326
344
342
328
273
279
331
360
296
387
349
318
396
336
280
245
361
255
280
353
321
320
277
304
386
290
349
301
315
342
331
329
293
336
337
335
296
278
307
353
280
257
254
358
372
315
331
344
339
317
247
236
298
378
327
245
360
298
313
308
286
271
318
263
384
237
353
269
320
284
386
300
374
317
310
319
302
328
267
360
248
286
280
273
302
298
404
303
302
336
324
369
371
355
375
366
306
298
293
329
283
288
374
324
329
277
310
388
337
391
188
293
316
283
304
302
351
281
258
276
420
348
318
298
349
256
371
333
409
380
295
336
350
286
306
219
397
273
291
380
388
370
261
384
280
297
332
290
274
260
325
281
349
373
240
294
355
403
272
350
349
344
356
321
262
360
316
255
284
340
287
359
383
360
324
296
288
286
299
227
291
327
269
222
339
257
354
326
275
312
314
376
337
269
261
365
338
271
317
298
233
301
263
397
383
249
357
300
334
306
274
378
341
393
377
307
350
293
280
370
336
329
287
356
368
329
327
354
374
308
295
333
239
351
355
277
342
335
294
336
214
298
254
278
394
268
299
338
259
299
317
339
316
302
393
400
286
384
279
262
341
313
275
326
312
295
378
293
283
280
280
215
368
334
342
267
295
277
352
350
230
343
364
319
350
279
254
273
333
294
283
341
326
333
279
234
303
366
274
263
342
352
249
344
191
234
319
296
299
272
294
353
329
308
332
291
304
359
247
362
299
299
285
297
266
340
324
269
278
258
346
278
313
310
341
384
263
285
314
358
341
325
346
305
329
320
218
307
320
311
332
324
297
226
288
309
306
282
300
288
355
261
342
364
249
311
347
285
291
280
302
263
302
300
291
301
336
317
279
348
336
315
327
337
293
307
366
293
305
413
291
332
357
330
354
282
321
324
287
316
405
355
344
351
221
338
289
268
300
323
317
245
322
350
335
291
260
370
330
286
353
352
332
311
366
359
335
313
335
365
293
297
283
393
324
289
344
387
317
331
301
328
334
299
307
386
325
244
335
287
296
274
370
307
362
317
211
337
285
326
267
268
368
282
346
388
272
260
311
402
313
262
303
257
249
305
250
293
225
341
247
291
319
311
328
298
318
300
291
314
348
382
335
274
341
325
254
322
286
242
350
339
303
325
221
305
339
300
304
368
278
324
332
299
286
334
313
330
345
367
341
316
330
415
291
218
310
242
403
290
302
317
256
358
365
278
422
323
360
296
375
266
259
332
324
308
331
323
234
307
260
378
311
292
265
326
370
332
280
347
300
271
234
325
337
356
300
269
334
296
362
256
339
288
294
302
291
292
375
353
274
293
227
325
325
285
282
384
317
391
208
319
375
328
288
329
342
321
249
273
257
400
355
322
248
316
306
301
303
334
387
313
275
313
287
308
338
354
280
330
246
388
266
251
319
359
325
354
267
302
277
348
332
400
287
371
323
301
306
352
309
322
267
396
293
276
315
290
332
296
275
297
362
312
309
368
283
383
324
267
291
270
397
284
336
345
354
358
368
285
304
343
336
304
268
314
312
236
385
381
213
317
385
315
302
294
329
367
306
290
295
341
321
247
307
285
309
274
298
336
382
291
297
238
325
247
311
347
330
301
365
361
254
393
382
238
311
263
314
334
329
375
298
349
273
333
392
384
271
333
299
278
272
246
299
254
283
406
332
399
369
260
329
327
311
319
373
398
270
384
312
337
268
330
328
230
311
231
328
245
260
340
335
319
361
374
365
350
274
294
303
219
337
340
399
373
333
310
243
347
201
359
274
315
299
260
354
282
317
328
272
328
333
302
320
292
305
317
331
373
243
249
367
296
272
292
314
299
302
348
281
377
360
254
336
335
262
426
293
294
245
386
311
351
359
321
320
284
373
351
288
377
358
321
286
317
292
345
309
361
284
334
327
391
302
330
311
343
292
275
256
320
238
379
304
317
296
254
294
369
288
313
277
281
255
304
234
292
383
264
298
366
281
328
333
314
352
361
324
223
341
294
337
384
338
269
323
318
242
403
373
242
301
328
266
290
393
269
231
424
268
372
364
266
295
245
362
348
305
283
363
328
263
341
331
322
283
287
227
382
295
340
298
292
292
246
276
325
315
319
233
331
347
227
346
307
286
359
285
308
375
359
308
397
346
392
352
381
286
378
301
364
254
368
361
335
314
387
339
358
274
351
329
275
346
269
361
360
289
320
275
295
302
345
335
387
308
308
302
203
346
271
334
347
312
274
401
359
277
324
297
276
290
270
288
335
282
324
224
281
260
321
247
367
268
371
217
349
291
313
371
333
331
408
337
420
304
302
263
271
314
307
274
328
223
332
352
254
371
312
307
337
316
306
349
283
335
316
393
309
290
233
419
354
323
303
288
321
329
355
293
312
326
252
296
389
282
380
236
289
294
337
350
318
330
280
369
320
286
303
297
318
343
303
351
355
311
291
236
323
361
286
246
315
354
259
338
250
317
372
343
369
358
319
316
272
302
295
376
275
330
296
295
286
314
326
335
324
365
316
350
305
309
302
251
322
289
380
298
386
385
350
327
316
269
303
309
369
312
416
283
358
255
357
286
261
323
301
291
248
383
330
303
335
391
289
311
296
382
354
398
331
260
319
353
378
379
361
356
297
283
249
271
360
273
305
346
392
317
258
342
319
261
298
275
334
346
335
417
365
343
410
317
416
251
353
404
297
283
360
354
286
294
298
287
322
380
249
372
336
246
418
299
231
360
263
318
353
249
293
344
342
280
273
361
351
275
295
219
364
338
291
349
268
339
318
273
286
369
366
252
316
249
433
246
328
321
268
392
310
325
370
338
344
296
351
318
209
286
208
184
332
331
360
346
319
277
307
296
269
346
277
246
378
281
298
275
330
308
233
327
353
352
302
292
298
412
253
301
346
237
367
230
335
352
338
307
188
340
277
303
333
292
256
310
331
244
314
352
349
440
340
349
283
323
223
255
365
271
355
287
227
298
301
265
318
360
360
351
252
302
341
284
292
282
306
323
368
320
325
307
291
293
324
337
329
315
330
339
388
355
321
310
326
287
313
275
256
320
305
315
385
273
381
304
263
286
278
342
283
298
404
319
288
329
338
385
311
325
279
300
289
288
242
344
350
383
309
325
300
348
383
370
362
357
322
261
285
346
283
423
295
348
284
324
294
274
348
394
306
302
332
297
298
336
252
331
286
291
380
269
342
322
337
359
324
342
319
338
399
356
340
215
281
307
252
304
294
382
360
276
337
274
384
280
266
262
342
412
284
232
345
309
270
319
332
318
276
257
294
339
288
254
364
337
360
264
219
302
227
382
326
219
247
297
323
343
258
271
279
308
309
320
233
282
300
351
351
318
304
269
236
348
394
345
287
330
211
264
318
290
320
290
320
328
341
376
296
232
319
270
318
368
258
399
324
313
350
280
308
300
239
255
350
248
229
342
361
317
213
296
299
287
283
279
322
279
317
219
284
310
337
372
342
302
344
336
400
258
334
332
289
333
238
314
306
322
315
277
305
445
283
307
289
335
378
252
328
337
328
351
369
307
278
322
261
305
365
420
342
194
260
314
296
328
258
286
317
350
328
291
371
273
393
324
294
383
307
277
311
319
209
380
328
325
306
331
328
340
369
294
296
351
296
376
329
299
296
272
306
331
257
330
219
311
416
361
269
309
389
326
331
327
303
392
234
281
295
309
351
344
290
322
226
255
358
311
321
308
355
321
257
351
265
284
347
345
251
296
293
336
357
356
215
359
278
341
314
352
184
332
347
371
317
327
367
283
344
313
262
334
356
314
351
362
255
286
305
326
286
330
319
289
342
334
278
307
348
307
327
326
300
262
322
298
402
318
299
341
362
357
357
225
307
236
274
266
323
364
324
366
332
324
328
319
320
359
289
245
365
352
360
332
286
349
364
298
276
396
353
339
276
258
343
267
333
262
256
330
313
302
355
247
299
261
389
331
292
350
251
402
289
284
360
416
304
301
320
371
317
365
311
380
296
369
266
350
367
321
282
378
351
298
315
277
285
278
310
294
287
289
266
275
368
321
351
320
345
254
339
298
345
354
290
317
341
299
346
341
290
310
307
297
336
329
310
382
326
340
374
387
325
379
253
274
309
280
307
340
315
273
313
304
251
415
281
318
374
340
370
304
397
332
280
290
318
232
270
261
380
393
275
321
336
381
248
324
301
257
313
345
262
403
248
393
227
363
366
347
327
324
220
425
279
306
279
290
268
267
263
273
256
386
344
370
357
324
314
309
280
235
330
317
308
295
302
356
214
346
302
365
336
348
329
283
344
325
337
209
327
312
326
339
279
320
341
306
367
297
349
316
320
238
290
317
251
305
275
257
324
321
343
311
323
292
288
399
301
302
299
285
257
380
311
327
253
356
317
354
275
338
269
376
310
240
273
316
348
251
300
337
318
309
372
324
305
340
318
376
359
197
318
358
360
306
268
309
372
339
370
332
280
427
341
402
265
309
272
287
222
328
373
358
318
352
371
355
332
301
308
356
335
343
281
298
305
274
243
281
309
372
304
241
361
281
212
289
356
364
280
303
285
362
345
324
433
195
322
367
356
320
275
344
271
299
303
330
293
362
303
285
361
302
346
363
365
370
304
316
263
313
344
310
256
348
281
259
222
417
374
276
244
313
359
334
273
321
379
363
359
301
286
372
407
381
264
328
318
302
312
320
241
351
318
288
339
302
300
318
386
291
352
287
320
368
314
353
323
298
359
361
338
223
320
312
317
289
213
339
286
271
387
308
258
359
309
233
237
308
288
327
399
294
339
352
283
350
291
351
313
339
242
281
279
300
236
287
289
293
300
290
364
364
307
303
315
273
364
320
321
271
348
241
309
330
329
356
335
229
334
269
357
297
248
327
354
398
292
349
320
344
242
257
311
309
324
345
357
289
290
237
262
340
288
235
282
349
288
236
304
348
199
280
371
326
342
319
273
322
354
338
297
303
326
290
295
439
300
347
289
274
303
278
321
319
310
276
269
285
295
311
313
350
275
287
357
309
293
343
298
248
301
373
276
269
359
342
339
330
314
362
274
403
306
335
394
348
279
325
356
362
300
292
323
294
408
266
268
326
358
314
302
306
288
283
216
268
351
329
346
291
343
366
307
422
271
310
266
309
289
309
304
331
320
243
364
310
249
270
340
333
236
293
263
303
268
291
301
325
347
402
337
381
315
361
307
283
320
270
370
390
338
309
366
345
279
320
197
395
266
281
298
299
272
378
338
388
300
265
299
343
322
258
336
324
276
321
295
324
366
269
329
374
312
306
297
301
334
303
324
267
334
314
332
408
273
385
265
337
275
267
375
418
331
421
304
299
309
292
234
371
305
361
396
364
347
358
347
250
301
314
358
299
319
284
276
360
301
351
291
286
333
350
321
239
324
385
299
239
333
320
335
266
257
326
371
300
322
297
326
365
309
393
301
386
309
328
268
283
321
322
305
342
299
302
285
326
300
340
289
249
351
264
325
278
257
304
302
333
342
425
327
395
337
354
240
281
273
339
299
288
327
305
241
342
273
353
276
326
272
323
341
389
394
337
385
336
353
365
314
271
308
245
291
311
271
380
282
284
327
286
239
278
328
376
255
340
266
270
257
351
301
294
312
323
304
314
365
372
276
352
324
258
388
320
255
301
282
302
357
344
347
300
341
309
314
301
309
298
298
325
388
286
353
320
337
299
314
223
332
352
335
390
275
293
318
271
286
251
249
340
345
335
338
291
333
326
369
346
285
366
315
318
394
200
242
283
410
438
335
369
253
382
319
330
314
298
330
373
305
289
349
214
284
330
248
334
253
315
274
372
268
254
348
312
290
368
336
339
345
309
272
427
362
351
357
416
244
288
302
293
366
316
394
292
291
362
274
328
348
325
290
252
302
365
390
279
345
271
301
313
313
268
340
358
296
304
295
290
350
342
321
345
296
361
258
265
324
278
312
329
355
340
311
366
310
298
353
252
282
323
320
354
333
334
361
389
317
246
264
308
371
295
270
336
294
275
210
322
217
358
297
313
374
362
311
310
275
273
331
298
298
359
329
347
320
275
299
234
321
259
231
274
290
271
203
283
322
309
321
206
295
357
362
294
336
320
356
300
324
293
284
232
267
268
218
315
268
302
238
404
306
392
259
280
326
279
361
313
380
316
277
296
261
274
326
334
330
318
319
354
315
325
307
335
341
286
241
360
305
268
364
377
349
328
330
334
392
352
359
378
315
246
255
293
331
219
281
291
313
379
268
293
337
304
349
243
326
253
270
325
344
361
250
335
336
365
334
299
307
243
417
242
341
319
359
273
319
243
256
341
300
372
352
255
286
235
319
429
332
340
356
432
340
332
282
331
360
299
359
301
319
390
338
306
305
333
328
357
234
339
319
346
278
296
371
280
312
343
367
278
293
327
318
276
355
312
332
347
270
379
289
218
355
221
251
274
245
288
375
306
283
288
349
240
386
325
315
225
343
305
380
372
294
381
329
405
300
301
301
333
317
181
206
248
396
271
308
305
314
300
183
323
382
352
254
290
367
324
345
358
295
315
356
343
406
324
293
252
341
366
316
298
389
278
354
355
266
337
322
295
283
391
238
284
272
306
256
254
347
329
349
315
320
292
290
336
304
302
355
305
329
355
302
334
381
251
327
276
344
312
344
348
369
311
315
364
243
242
346
308
281
222
334
414
316
377
308
314
354
287
416
297
295
303
351
359
350
342
337
324
325
274
346
356
352
383
378
290
332
322
369
363
353
239
276
391
332
299
257
341
278
293
354
318
328
329
280
271
323
293
240
289
320
348
252
278
249
335
257
274
390
316
321
301
313
342
339
351
302
264
341
277
293
268
316
343
348
256
311
308
353
297
290
277
339
302
273
298
362
383
280
263
379
286
282
292
333
311
406
299
323
249
359
367
269
415
368
265
402
301
360
246
297
328
367
414
285
342
247
342
323
358
359
319
297
358
308
333
318
369
344
300
368
449
248
319
360
314
385
312
405
397
289
281
353
276
295
317
354
282
344
288
243
324
296
368
342
275
264
333
302
353
276
371
397
313
301
261
272
269
358
359
286
341
297
344
238
280
287
409
284
377
346
287
273
365
315
258
359
283
304
374
283
303
289
313
269
382
303
249
321
311
297
345
327
304
321
300
320
288
309
291
278
398
312
290
402
313
358
344
389
345
304
365
359
389
330
267
305
270
286
293
265
265
249
230
341
294
298
219
300
244
276
313
357
327
331
363
283
376
349
344
365
382
315
268
351
250
342
285
276
366
317
249
336
373
351
310
353
324
385
302
326
405
320
285
301
294
318
276
338
370
283
332
379
313
314
315
339
364
357
265
269
341
320
282
252
305
281
279
292
376
282
361
356
269
389
396
325
355
349
286
278
340
301
402
271
254
259
353
335
309
301
297
291
315
330
354
316
349
280
315
370
348
314
271
298
368
362
233
271
295
290
281
343
395
264
327
313
317
315
288
326
267
276
402
306
337
381
432
274
332
266
340
282
284
306
237
299
302
321
239
308
333
256
268
287
379
308
318
345
236
274
282
330
377
339
226
324
288
381
262
362
324
314
287
317
338
286
292
258
307
339
351
367
339
406
320
329
355
363
304
386
268
373
362
257
271
342
323
377
299
320
330
301
209
319
218
263
340
322
320
316
240
350
384
337
369
409
440
364
299
275
317
273
324
355
310
337
246
246
322
344
333
286
258
288
317
275
417
345
382
223
382
251
378
294
286
327
338
390
323
363
342
284
318
362
315
265
310
348
202
375
363
275
355
293
335
245
350
280
288
311
349
285
313
278
350
284
283
261
401
371
284
279
335
267
319
376
302
261
329
313
292
316
343
331
417
304
335
274
333
337
382
320
343
278
308
358
330
373
383
305
317
300
328
271
284
326
429
326
343
307
368
278
355
288
385
321
368
331
375
254
426
361
301
341
350
370
343
328
306
285
376
306
333
291
370
326
346
324
367
276
302
334
324
391
429
284
402
289
271
288
275
310
312
279
270
319
331
307
413
331
310
349
263
313
285
349
360
282
293
357
331
312
337
289
292
227
370
277
289
358
337
368
264
331
304
370
311
375
359
260
254
334
329
318
335
288
343
256
296
243
321
337
293
345
368
351
294
313
306
291
262
300
305
366
376
354
370
348
274
299
294
319
334
245
358
296
354
288
305
332
432
285
261
340
284
324
279
336
302
349
284
349
362
287
256
327
324
355
317
301
348
279
366
290
379
277
337
283
373
424
364
379
342
346
324
308
382
267
342
339
273
388
390
346
372
416
289
311
290
311
290
168
273
302
265
237
227
314
244
376
293
325
330
372
293
304
248
332
261
372
398
370
351
328
312
368
359
324
323
293
277
336
385
314
310
261
447
243
299
300
299
312
222
253
381
353
349
294
345
282
385
264
274
253
291
356
341
363
254
289
322
320
309
155
339
331
402
260
185
267
297
367
289
324
380
357
386
279
267
396
310
304
289
323
306
348
348
343
304
260
329
313
318
318
246
322
346
287
335
369
296
423
305
336
244
255
335
292
347
333
264
335
328
267
315
282
315
315
363
348
351
239
243
299
311
245
355
246
401
330
304
278
343
304
314
353
320
289
256
273
290
313
267
268
281
287
293
338
350
407
320
382
389
237
316
329
286
403
321
303
357
252
278
300
332
313
272
243
327
330
277
298
388
280
307
304
372
275
400
285
294
335
324
239
286
194
381
360
286
363
338
316
288
360
261
247
309
372
365
316
367
297
309
280
271
329
375
321
378
229
341
366
371
369
315
300
297
325
371
350
350
313
333
310
256
305
290
286
236
406
266
282
324
315
319
269
268
290
371
260
350
266
336
254
264
299
312
291
309
262
289
291
307
376
354
376
324
286
318
310
361
282
277
347
301
316
297
379
286
348
380
325
363
323
365
358
343
364
350
295
396
373
311
367
308
274
300
303
377
268
205
305
399
346
310
309
289
325
324
356
321
310
290
329
329
305
255
304
398
245
271
352
346
346
327
344
267
299
355
303
310
289
259
257
311
362
271
372
356
349
290
318
294
384
343
315
303
336
367
361
367
271
395
311
322
299
378
295
288
325
389
306
401
254
277
330
294
285
252
317
279
295
298
325
311
273
343
326
390
362
236
360
323
404
226
253
284
322
312
344
267
249
290
275
349
327
281
302
379
358
311
364
374
404
353
292
364
362
295
399
263
289
261
283
378
268
204
288
262
374
264
261
346
328
265
325
261
289
354
271
373
359
320
278
364
310
320
298
437
351
231
244
314
307
333
258
304
356
277
307
326
306
249
345
293
324
360
290
288
326
246
310
388
385
324
292
349
272
304
342
311
362
292
324
330
351
310
293
254
306
379
321
286
305
271
317
355
353
278
353
257
310
230
301
212
337
322
322
332
310
324
308
277
289
329
323
295
385
350
339
270
288
284
360
360
332
314
333
327
238
265
388
370
254
298
256
286
313
366
305
357
367
268
327
351
347
358
367
334
327
320
301
315
286
260
320
325
321
272
312
317
267
318
307
285
337
250
299
346
280
370
298
364
295
304
360
337
294
321
305
429
301
416
355
307
282
296
395
332
249
331
277
214
270
284
357
330
335
334
381
359
263
196
277
333
304
298
341
256
385
351
287
240
290
325
336
327
321
288
372
313
293
240
429
321
352
268
369
366
289
356
389
290
324
328
318
341
317
307
240
382
325
303
365
373
332
284
228
299
309
156
209
330
244
279
281
295
301
313
328
238
378
386
373
316
371
270
347
402
244
269
343
338
377
351
222
256
239
361
318
361
289
272
302
425
219
312
350
310
264
332
305
299
283
197
328
356
301
362
249
310
339
302
289
383
374
222
353
311
305
262
367
363
265
318
293
400
273
337
309
290
347
313
338
325
312
298
318
248
266
348
377
351
293
332
349
317
264
352
239
287
274
321
287
254
277
293
363
305
288
319
395
333
347
285
354
341
340
299
291
334
340
349
357
323
359
345
335
328
311
353
266
341
258
386
281
320
335
363
298
397
280
381
362
368
298
330
332
296
403
290
276
304
319
340
195
330
267
316
252
323
226
368
202
351
285
297
319
418
317
265
305
313
297
264
378
379
283
281
319
261
232
269
318
281
351
243
390
277
288
260
275
288
251
289
316
327
297
293
256
299
298
261
294
302
255
278
324
293
300
332
327
338
299
284
330
302
334
310
363
424
222
362
314
268
342
359
291
258
294
383
238
300
262
399
367
301
317
314
336
300
309
392
312
273
279
312
303
303
455
346
298
378
331
354
313
321
308
244
290
300
286
315
309
319
382
256
346
303
268
350
330
317
345
353
233
274
307
268
295
312
298
422
322
302
331
316
313
319
262
302
332
338
321
336
294
351
316
350
337
356
225
320
280
386
376
258
323
306
310
389
394
414
272
325
222
270
338
293
215
287
291
372
301
356
238
322
197
346
325
337
321
374
350
401
367
309
334
369
322
320
361
324
394
305
249
335
244
372
297
298
335
391
266
333
416
286
307
312
282
322
272
329
301
314
414
285
241
368
333
335
339
214
214
319
272
330
282
324
299
349
288
374
290
269
297
364
322
265
333
338
316
395
296
382
338
339
385
307
260
391
354
359
295
278
283
347
300
315
337
328
309
384
253
280
297
278
213
437
255
338
291
301
349
356
338
334
336
372
306
339
274
353
312
294
334
320
342
269
297
340
404
352
377
312
287
377
321
269
311
269
281
399
327
287
303
260
359
336
279
299
369
292
315
223
236
329
326
317
379
294
345
354
362
283
226
317
178
337
366
312
344
273
270
294
351
278
290
349
365
340
352
350
302
260
349
374
345
296
321
347
356
312
270
371
318
281
258
321
306
324
264
279
336
396
297
304
292
321
385
347
320
350
414
267
388
288
370
344
360
285
296
359
268
335
260
324
252
376
365
186
392
399
343
321
324
235
279
331
238
292
265
346
310
376
326
281
313
323
319
258
305
268
254
176
352
390
292
269
294
420
305
302
326
357
167
288
293
335
357
347
230
346
284
285
268
266
302
397
347
343
322
235
314
285
257
326
268
333
344
209
330
356
278
343
255
266
305
365
309
314
354
283
297
392
364
287
310
365
321
296
232
295
284
323
430
347
308
371
277
321
362
356
356
329
335
388
232
315
286
345
332
306
370
288
227
299
300
324
339
283
363
356
305
302
429
392
353
291
323
358
314
345
252
225
275
403
409
384
335
351
324
330
335
221
269
379
345
301
327
345
385
260
353
352
328
350
350
351
242
304
337
271
312
346
183
305
285
357
290
340
331
278
252
275
329
377
387
328
254
297
215
303
369
331
250
288
268
303
252
333
312
238
266
301
364
310
339
319
299
397
325
347
306
282
326
290
243
312
324
390
270
279
289
288
373
285
258
227
344
363
375
305
296
271
291
267
218
326
336
344
263
280
336
358
333
352
336
289
346
344
335
320
275
293
315
309
356
355
431
298
331
326
335
409
373
308
175
399
186
357
271
251
274
361
384
285
257
214
354
240
317
220
315
401
297
306
393
357
304
302
325
260
271
331
287
267
275
304
323
345
264
354
381
297
269
369
262
334
358
356
356
326
226
368
253
336
414
380
249
335
237
380
352
353
342
362
358
296
326
370
382
307
360
313
351
282
397
324
279
338
206
287
358
205
331
304
285
374
250
280
319
342
360
375
356
323
276
299
253
344
285
362
332
328
323
328
356
235
248
390
350
267
375
442
348
347
242
287
262
301
284
344
326
357
313
365
334
293
216
372
319
295
283
331
359
353
301
266
428
257
306
352
370
326
267
335
343
298
286
315
362
343
324
341
349
303
353
306
361
339
382
273
309
394
337
276
342
256
262
327
377
290
289
288
319
295
222
228
309
304
330
351
283
253
350
364
323
347
296
319
292
364
334
333
316
301
307
258
242
344
374
308
271
303
224
362
418
300
300
336
272
331
347
349
342
319
326
257
352
272
413
328
324
381
294
322
384
288
264
374
328
297
330
262
353
332
240
292
365
259
318
287
364
378
273
399
297
349
369
396
251
336
342
296
341
224
369
345
327
336
300
308
331
279
234
295
262
321
359
339
314
325
335
293
341
407
207
226
384
429
274
345
283
322
331
274
316
323
306
367
339
283
361
270
322
314
278
297
365
349
326
266
279
323
309
359
308
336
342
370
380
288
408
320
240
337
368
300
247
251
270
324
355
397
370
256
269
286
321
356
298
334
217
334
267
240
307
356
317
354
339
316
380
375
253
326
282
308
364
292
276
369
371
258
359
381
329
249
344
322
351
317
310
351
316
267
288
345
334
310
354
328
343
282
277
302
331
222
353
292
326
353
315
288
368
355
281
338
241
363
312
310
363
298
260
284
325
397
253
300
387
350
349
268
300
255
317
386
310
338
305
274
292
275
273
405
286
299
310
343
355
307
314
313
316
291
253
319
299
233
369
306
269
326
245
268
283
348
308
237
349
329
334
317
301
274
382
227
256
339
280
321
364
307
311
289
342
273
323
351
352
340
367
296
288
354
277
319
303
310
287
312
381
232
345
389
341
318
345
312
331
270
338
329
400
275
332
290
304
273
373
269
281
297
317
312
304
335
257
367
317
277
332
368
288
325
342
280
264
356
374
320
291
316
337
336
360
336
270
279
337
340
267
293
336
363
234
403
334
281
350
364
317
289
314
340
252
316
330
335
298
296
276
367
389
354
268
346
259
307
413
351
312
300
270
394
299
388
322
313
260
331
273
349
336
287
258
386
286
294
290
227
256
359
244
253
289
324
300
278
239
325
410
312
311
393
373
253
327
367
335
389
298
324
261
361
264
283
352
318
328
296
332
344
336
364
353
293
333
365
398
250
286
366
300
268
296
383
299
327
260
219
289
283
285
292
344
286
376
285
316
310
276
356
307
376
375
355
320
295
318
394
188
286
268
291
360
284
309
255
362
386
294
340
310
331
289
278
263
326
346
293
279
214
274
287
357
321
325
305
321
341
350
380
316
358
296
371
351
387
252
313
378
335
277
362
235
309
268
238
283
335
341
288
285
369
335
386
343
237
339
351
340
342
320
352
332
312
305
338
333
369
308
348
281
278
255
240
289
319
290
312
312
390
355
281
307
302
349
240
316
380
320
328
305
316
311
383
391
339
270
317
309
267
299
363
300
322
369
381
289
268
263
264
388
308
333
326
307
439
426
315
291
348
286
281
383
313
330
247
264
346
342
330
305
363
296
331
399
313
272
309
303
263
383
340
326
304
222
297
311
308
344
369
392
194
337
362
275
337
251
326
389
251
336
340
351
362
331
335
342
378
291
336
314
406
324
343
289
260
382
350
284
326
370
299
243
295
288
328
331
352
333
293
338
365
385
392
317
343
342
359
297
223
305
332
316
315
374
273
283
335
331
274
245
298
280
392
285
311
289
341
290
312
295
326
262
282
190
202
265
284
368
275
297
382
335
358
357
347
346
377
338
244
287
349
357
284
324
298
282
285
318
376
359
309
348
274
368
354
294
318
288
332
350
361
316
305
331
279
366
260
334
324
381
335
276
384
323
303
253
347
316
396
360
296
259
273
219
342
342
238
335
355
342
261
244
265
319
383
300
359
293
259
406
299
304
324
325
308
321
319
288
274
295
356
284
276
316
282
369
361
247
406
344
276
198
369
317
312
240
296
301
319
402
348
311
308
354
357
336
332
303
361
287
289
220
251
302
295
336
317
345
306
274
310
391
285
359
299
427
282
233
343
358
309
350
420
353
402
371
372
358
376
227
382
340
331
276
252
348
297
272
338
339
337
305
350
298
356
335
306
222
331
353
290
299
362
375
401
265
318
349
288
321
308
364
287
307
310
286
364
291
313
329
276
320
254
304
343
335
386
374
373
346
354
262
419
259
313
376
330
325
275
367
359
303
314
297
282
239
243
296
335
327
323
285
272
312
256
304
363
348
307
285
247
299
242
333
320
268
272
266
378
207
193
311
374
281
297
284
304
339
384
334
318
325
337
349
386
215
281
318
332
338
352
314
346
265
224
316
259
304
253
231
277
282
228
357
257
319
340
334
282
340
379
293
353
239
322
325
306
249
320
247
228
296
387
256
312
369
314
356
337
376
406
295
338
337
366
347
219
352
363
389
418
349
370
304
348
330
345
278
314
318
304
387
343
309
267
347
326
255
294
385
343
286
318
346
315
272
364
332
342
219
247
309
382
299
350
356
354
339
257
303
295
255
301
356
342
295
269
345
364
336
282
250
341
281
277
268
371
219
259
332
362
336
277
301
338
284
309
317
319
412
305
324
275
304
326
348
355
288
260
346
302
386
321
363
265
198
337
313
237
311
273
279
284
336
246
376
332
350
351
339
395
310
278
281
298
286
315
378
404
286
361
380
338
335
320
387
317
302
255
307
317
300
328
323
343
368
364
341
368
361
162
345
263
306
366
194
229
276
281
348
339
268
258
293
229
304
301
273
355
320
257
288
313
315
383
376
291
367
267
225
267
306
307
261
329
268
283
367
345
206
344
266
295
249
326
354
307
362
335
290
319
209
367
305
351
327
356
331
269
263
325
414
311
341
236
304
335
321
367
324
381
354
328
275
267
298
365
336
326
282
336
265
408
303
372
247
310
316
283
332
354
254
364
315
342
332
290
366
352
303
243
267
328
334
306
344
341
408
296
342
324
267
329
247
305
354
376
311
322
282
269
279
284
346
365
279
371
277
323
285
378
278
316
415
289
375
306
429
387
257
374
173
290
335
249
339
299
338
280
349
272
340
295
322
348
294
310
329
328
275
366
330
317
253
319
376
251
264
292
317
257
290
284
310
390
393
291
383
299
329
329
326
304
359
288
329
253
265
337
326
341
285
296
253
335
282
348
331
330
387
281
255
273
237
268
313
392
245
276
283
381
373
364
262
360
363
248
308
251
399
415
353
265
358
203
331
352
279
318
350
341
336
346
330
252
339
303
381
346
292
380
330
326
284
290
300
363
270
252
207
359
204
388
296
358
291
381
244
348
269
273
362
373
303
331
311
369
370
279
255
345
327
364
280
284
212
436
377
234
329
334
283
308
280
381
319
249
288
259
290
326
304
360
303
321
237
283
332
275
340
297
316
273
257
251
334
310
359
325
316
315
348
338
336
329
324
378
303
285
263
375
340
292
236
326
255
279
297
345
291
351
383
413
312
328
313
338
296
346
353
282
317
340
262
357
272
284
284
334
310
276
327
319
286
207
325
288
240
275
267
291
352
357
266
312
274
319
325
371
297
280
349
294
268
366
316
327
277
371
329
283
265
318
277
323
311
337
217
353
348
378
379
296
323
375
318
310
285
342
377
357
307
303
279
287
333
311
403
245
339
258
312
317
298
307
334
392
237
289
373
310
410
316
307
356
363
293
311
342
336
314
309
307
307
360
304
344
445
327
320
303
334
226
273
328
300
381
329
266
297
330
314
262
347
332
309
290
330
248
272
277
373
267
223
379
321
322
338
312
306
297
295
365
327
309
261
376
323
344
337
332
347
402
329
306
253
304
262
326
364
322
330
258
276
314
270
292
185
292
351
307
247
369
349
298
293
390
333
313
227
290
285
361
372
306
305
317
355
302
318
332
349
356
265
329
339
413
330
335
320
322
278
303
244
303
337
273
266
338
368
299
358
282
358
287
294
367
324
370
270
325
334
311
356
306
355
269
303
375
349
333
269
412
356
335
386
280
353
311
330
352
278
282
367
303
339
340
309
279
279
286
243
360
333
307
304
319
294
304
291
304
399
263
320
348
314
292
371
339
394
378
305
259
354
358
313
349
298
363
330
219
302
346
313
312
317
306
278
290
314
315
316
233
314
331
268
307
295
320
298
342
211
269
332
329
275
317
322
281
358
286
361
283
214
387
362
271
249
286
285
248
315
273
403
284
304
322
296
302
349
359
179
402
322
251
381
378
247
345
325
262
237
354
240
329
262
284
389
247
349
328
393
395
294
331
360
251
263
329
377
333
257
349
283
340
312
280
311
387
350
287
266
318
346
341
377
386
304
401
370
309
393
244
313
321
325
350
357
320
335
313
303
289
320
260
319
305
213
358
316
358
369
354
317
293
392
284
277
257
332
335
257
319
275
372
331
315
397
285
332
325
349
353
271
319
275
363
259
327
315
309
348
333
321
298
250
366
334
288
333
312
257
254
272
347
355
387
362
352
337
260
323
278
316
335
301
377
316
330
326
330
326
313
339
340
382
230
260
266
274
305
336
351
332
339
294
280
324
363
354
310
273
234
283
327
285
406
346
358
343
320
317
271
312
307
279
316
380
249
249
273
326
324
331
311
353
277
257
286
228
295
287
324
360
329
228
404
351
290
373
262
283
284
250
350
200
350
256
276
386
403
252
332
332
264
356
289
335
230
342
241
353
296
321
300
285
375
333
253
336
241
364
394
274
360
290
336
271
282
229
368
279
407
336
216
330
220
323
351
375
302
333
346
279
258
343
279
319
287
331
332
330
309
406
373
330
331
293
312
296
316
367
230
343
366
319
338
294
291
310
293
339
348
324
279
324
296
381
293
231
299
365
361
302
260
364
437
334
356
418
378
322
385
257
332
359
355
387
288
236
277
288
333
325
327
374
393
318
308
317
274
251
299
347
280
349
291
252
344
285
366
354
382
346
330
346
341
337
307
334
364
264
334
289
365
324
338
310
372
232
344
342
381
309
293
336
314
370
226
413
282
339
317
301
288
328
246
230
278
299
305
344
309
275
306
284
295
346
289
322
268
399
294
263
282
315
292
329
273
370
277
336
324
337
344
378
308
357
247
264
293
298
357
385
316
315
341
320
383
237
233
241
364
253
365
383
351
346
306
330
381
279
252
271
399
358
373
253
344
277
347
260
342
321
320
324
279
326
356
413
296
348
247
342
233
318
202
303
277
338
262
368
318
286
314
276
334
305
350
275
361
293
325
290
327
341
351
290
300
345
326
223
361
313
262
345
293
331
324
339
288
318
291
349
268
405
275
273
375
294
381
383
234
297
318
256
367
299
340
362
434
308
363
285
316
387
301
282
350
347
330
353
292
305
349
332
370
337
322
363
306
178
303
252
350
353
356
339
300
305
251
308
364
267
330
358
286
346
317
291
298
299
358
346
255
375
288
409
235
322
342
313
275
291
281
229
206
370
326
332
364
360
344
295
352
255
394
322
371
312
361
301
266
273
283
258
326
283
287
384
336
293
274
263
256
307
285
286
298
326
317
305
249
380
263
309
286
363
393
279
404
348
310
300
280
352
333
321
230
313
341
305
315
327
374
296
258
370
354
313
304
330
268
348
263
280
303
373
350
371
266
211
288
342
266
290
322
341
270
291
317
341
292
298
307
325
261
306
337
260
220
276
339
374
294
292
283
362
300
289
327
361
314
354
321
304
303
272
340
342
350
296
294
368
319
274
324
285
353
295
325
317
281
332
246
335
285
413
256
352
294
329
298
350
338
373
269
357
318
240
316
336
317
290
304
311
308
277
240
222
329
289
316
303
220
356
333
304
346
247
269
276
373
344
293
301
257
272
284
305
256
270
291
408
312
285
242
310
315
256
318
357
245
340
304
275
280
271
165
356
383
330
299
391
356
360
265
269
324
310
276
335
251
238
329
275
332
297
267
282
280
313
339
338
268
348
352
342
262
384
319
283
325
328
285
239
323
339
241
328
281
358
295
376
373
359
278
287
345
281
340
318
317
393
285
272
284
344
390
369
300
383
270
344
363
329
317
292
294
295
301
251
304
286
356
261
265
296
261
261
220
316
357
297
266
371
395
345
314
322
298
339
243
307
300
316
308
340
255
246
322
334
239
284
327
364
319
327
301
296
324
326
333
331
340
226
321
173
226
232
310
334
363
346
314
327
298
381
294
331
343
289
254
362
319
269
414
317
313
305
351
349
308
358
310
341
273
352
296
360
222
309
346
353
283
283
372
385
320
269
229
277
343
289
348
292
354
354
312
280
238
340
279
397
282
277
188
339
323
355
313
311
368
318
268
318
246
326
256
366
325
256
284
343
332
350
302
341
304
352
242
222
269
409
314
358
300
308
334
336
273
370
296
343
278
307
350
309
336
313
296
336
297
314
355
322
318
340
311
286
277
318
217
271
374
310
353
266
288
317
386
266
275
353
369
289
423
366
409
274
316
253
378
386
363
292
274
329
297
372
251
401
321
346
255
298
397
303
332
266
310
366
329
242
351
341
386
327
302
369
329
309
296
334
307
311
347
290
398
311
327
237
267
242
418
353
246
345
314
315
311
365
373
319
298
257
312
328
323
339
327
290
346
293
336
372
303
348
290
299
289
224
286
334
321
293
309
241
250
354
346
388
358
293
298
364
329
294
257
281
355
249
384
366
329
326
325
313
243
260
345
310
354
304
310
259
280
326
330
277
345
330
260
281
257
271
309
280
302
380
357
326
285
258
314
343
272
373
304
347
326
373
323
387
294
300
286
330
387
306
309
283
291
363
225
328
288
303
298
178
240
347
287
347
345
204
371
306
286
254
417
369
402
387
334
287
302
354
313
360
321
295
364
348
361
222
316
361
334
321
291
306
294
359
250
245
265
318
284
292
290
344
441
335
252
337
394
373
365
291
306
342
302
380
336
305
307
356
306
270
243
314
319
269
269
296
224
299
323
280
372
362
329
368
378
302
301
321
357
348
396
364
340
298
398
293
326
319
277
288
261
293
255
301
295
237
336
396
217
226
297
341
308
297
246
246
273
315
327
288
343
280
321
341
224
231
311
310
273
390
339
332
383
325
310
235
383
255
201
251
291
274
343
279
344
370
279
307
314
354
346
271
367
283
294
335
365
270
349
314
276
324
321
298
282
271
345
355
250
317
278
276
354
346
314
342
269
296
236
367
338
364
292
382
385
310
297
346
351
292
329
281
327
405
303
336
320
343
284
283
277
262
314
251
275
309
320
341
242
353
282
357
356
291
286
311
307
259
324
248
273
348
286
331
358
251
269
348
254
369
363
314
271
307
281
375
397
314
338
299
247
297
302
343
246
307
367
364
366
234
234
340
312
297
331
395
290
337
320
267
322
252
330
330
364
262
334
237
279
319
330
271
309
320
320
323
328
306
359
323
372
247
313
329
351
362
344
371
331
276
300
307
311
268
290
292
232
323
253
355
239
224
276
389
301
233
291
351
334
403
298
309
324
265
267
290
285
282
333
328
349
307
347
267
328
295
296
424
262
356
326
341
284
312
290
267
313
344
338
265
310
326
239
245
318
323
290
297
263
348
344
313
298
471
293
270
332
241
343
278
306
326
393
274
381
342
295
263
335
233
309
367
308
324
355
283
298
269
305
389
374
272
304
270
314
383
306
312
317
301
322
337
303
307
348
376
327
267
230
324
318
282
310
343
327
259
249
322
279
314
288
423
350
387
305
248
336
293
306
353
307
323
381
303
329
309
318
284
257
366
286
387
339
261
301
372
289
375
306
360
347
345
339
344
366
296
236
354
295
251
324
323
307
248
292
339
339
276
267
283
278
324
326
308
386
216
250
317
306
315
335
359
367
338
337
306
304
345
278
354
364
351
263
328
277
231
384
267
247
227
230
284
277
363
349
221
256
269
400
262
346
383
310
298
274
345
350
363
382
304
272
392
347
327
330
352
372
327
320
262
264
275
354
364
387
323
341
267
317
318
279
283
401
346
346
347
277
311
320
284
306
385
338
333
295
278
279
331
316
281
282
356
263
355
285
332
330
322
244
322
334
308
309
209
315
344
269
242
300
418
329
244
321
354
380
271
354
248
276
279
334
403
273
326
367
246
248
284
274
293
302
253
222
299
358
379
323
353
359
382
312
300
305
383
306
311
360
295
371
332
321
310
328
319
353
254
316
359
318
249
334
277
294
330
267
333
306
295
188
376
295
303
240
416
332
219
284
342
248
361
354
355
344
255
255
340
317
408
241
274
397
351
401
298
321
304
300
319
366
287
358
362
322
305
292
262
291
351
273
296
321
325
320
243
372
298
437
282
345
260
334
333
293
414
358
283
339
285
277
270
321
335
207
299
361
344
249
362
319
268
297
348
303
361
334
363
286
372
210
266
234
267
260
290
357
272
308
320
336
369
355
294
367
355
271
279
313
338
337
247
328
303
302
340
291
266
310
365
278
341
311
347
357
273
273
288
318
321
391
359
308
297
290
291
363
320
336
358
376
300
377
262
308
356
344
267
313
308
392
344
327
268
302
280
331
273
392
299
275
264
285
335
358
228
371
288
396
360
373
268
315
294
323
328
353
332
310
277
351
316
292
240
375
332
306
260
390
382
393
216
330
377
217
299
349
364
313
311
353
297
300
305
326
205
245
286
325
322
358
336
332
332
294
335
284
242
368
286
259
300
281
384
362
317
293
278
281
370
367
293
310
291
191
310
281
347
223
359
396
283
290
321
337
348
309
351
285
331
287
239
281
246
287
271
333
285
262
374
329
258
358
339
338
323
332
328
349
255
272
383
221
187
331
338
281
342
328
359
299
282
237
306
409
240
249
288
273
335
394
302
284
306
375
330
318
339
251
318
253
353
283
249
385
401
289
304
199
248
313
327
309
322
400
242
379
275
348
366
272
363
296
334
375
334
372
263
278
349
319
272
351
300
301
328
336
344
239
241
328
286
309
312
312
316
260
285
234
384
370
363
282
389
361
387
330
414
298
337
249
361
380
359
298
305
323
297
351
291
271
317
336
306
311
340
384
312
333
302
322
268
285
285
301
285
293
330
369
345
204
331
379
384
284
285
341
292
374
368
257
427
353
304
305
296
287
323
363
266
290
320
338
205
279
361
380
288
330
312
281
386
259
314
256
231
401
411
309
327
257
266
322
397
261
356
286
320
346
314
250
301
288
385
303
384
327
336
318
263
349
189
250
342
326
298
293
347
237
267
267
337
335
320
268
278
332
297
333
271
247
289
281
312
296
323
330
408
343
382
333
253
418
365
344
328
387
333
314
288
250
361
298
266
295
336
329
346
285
342
337
330
306
357
315
301
317
296
340
307
386
314
344
410
276
319
310
309
258
353
303
363
271
276
311
435
308
343
460
272
338
266
392
341
313
343
313
263
266
312
347
319
265
386
364
414
306
275
228
336
279
349
329
288
330
303
365
340
311
244
212
347
314
300
319
297
319
324
281
327
368
303
274
274
342
292
209
363
219
383
345
252
313
265
251
366
341
349
366
283
351
286
411
313
279
269
336
319
308
303
343
270
229
340
336
311
334
333
293
425
254
309
295
359
299
312
333
305
322
313
295
312
323
397
329
266
287
255
309
285
286
345
362
412
237
402
338
289
248
294
412
326
326
309
341
262
263
332
293
392
297
351
368
325
313
340
242
298
393
387
281
225
372
341
349
301
371
352
358
328
285
373
324
274
267
292
283
238
385
223
295
386
289
322
289
278
276
307
359
240
305
326
326
311
277
286
328
356
311
279
355
319
376
319
372
348
321
336
275
312
311
308
266
380
304
329
389
324
392
309
339
347
245
393
330
308
253
298
299
268
339
370
237
298
370
367
313
311
311
340
267
328
343
336
358
391
376
326
303
301
291
373
374
311
296
290
343
327
332
309
360
356
402
293
335
326
247
386
266
362
321
343
285
261
205
314
385
226
231
319
292
359
296
305
408
360
348
367
354
304
295
315
330
280
276
353
320
323
291
372
345
358
241
292
315
348
311
260
284
337
349
264
264
270
260
320
217
367
279
249
204
351
257
316
348
332
258
280
354
373
337
263
285
268
364
356
328
244
261
306
313
270
256
360
291
303
297
279
300
353
334
244
331
388
225
349
298
323
357
245
324
285
419
301
266
260
240
355
355
298
314
316
298
296
306
286
360
305
206
268
337
351
305
456
366
317
340
319
303
291
325
254
275
307
286
225
286
293
257
329
310
371
329
299
334
364
248
294
382
338
292
341
252
360
296
320
306
243
292
364
324
322
299
317
341
262
315
330
342
290
384
247
313
258
324
332
266
290
378
322
346
306
334
363
253
316
310
298
343
224
320
277
334
289
271
301
237
259
285
331
366
425
307
355
278
349
364
356
397
262
275
313
355
230
241
301
260
378
272
325
274
288
364
293
284
360
310
279
348
306
221
335
321
281
349
287
334
276
296
383
302
347
343
344
316
295
281
318
342
230
350
319
308
372
274
316
371
347
318
369
319
399
237
291
332
329
276
328
336
310
252
361
296
394
335
294
351
257
283
328
366
305
249
381
355
305
245
320
412
269
309
380
325
305
331
309
342
358
288
334
325
313
351
290
284
227
341
366
330
341
354
287
348
345
348
395
287
309
334
302
386
331
360
282
392
320
278
393
343
310
301
283
337
277
280
307
298
359
325
304
267
335
302
339
359
346
235
319
283
348
293
363
333
321
322
331
309
267
249
267
287
284
346
381
322
303
315
296
314
366
278
275
329
226
335
321
361
266
270
331
405
370
376
277
294
316
251
230
296
320
313
314
311
299
302
393
344
281
273
276
283
415
242
316
317
329
191
276
378
350
290
260
250
326
360
330
317
235
289
249
253
398
249
352
270
333
301
353
301
328
327
396
300
342
293
327
368
296
283
302
284
346
291
331
242
313
313
345
279
332
341
370
389
403
298
271
301
199
309
311
312
348
221
314
334
273
314
262
390
297
304
297
273
324
360
391
273
268
357
342
317
325
353
377
317
301
301
276
278
297
279
374
314
268
391
337
291
297
324
309
356
334
376
317
373
287
342
365
284
306
311
314
295
331
372
303
270
348
344
287
269
264
356
251
340
388
303
393
315
400
278
244
331
267
383
352
302
292
296
324
311
285
297
374
299
307
275
421
338
280
302
333
309
289
264
311
367
263
301
345
315
330
330
218
282
345
254
321
249
235
323
179
270
273
318
342
263
391
313
322
317
262
381
384
337
283
359
363
276
302
300
326
315
289
345
364
363
310
324
256
328
237
306
320
299
344
336
302
331
374
283
322
307
326
319
272
316
347
338
267
343
375
385
249
374
289
360
328
266
302
302
314
271
340
268
293
262
327
346
392
349
294
357
284
269
320
258
277
262
371
311
303
279
338
257
348
311
243
366
307
257
343
237
340
400
318
360
277
329
301
277
311
366
327
313
326
245
344
273
322
311
341
256
338
344
317
280
380
298
279
207
332
307
319
315
243
285
347
314
272
325
319
308
291
306
256
287
321
277
339
329
199
416
364
281
343
353
333
296
387
316
276
309
368
381
340
371
376
341
290
339
295
267
276
292
319
357
302
275
337
210
243
379
304
299
298
273
267
236
250
295
295
288
274
354
299
279
231
300
270
294
335
304
333
296
299
288
334
330
294
317
291
289
267
369
296
334
301
278
342
373
303
284
311
330
300
324
268
304
347
273
379
385
242
220
271
275
349
392
258
335
364
263
350
351
299
364
354
314
325
351
351
331
310
299
336
335
261
285
336
292
220
340
290
306
304
281
287
347
303
338
320
318
332
344
362
345
299
364
323
261
311
264
365
248
348
261
441
318
249
321
274
287
292
291
389
348
382
330
324
334
310
273
409
360
296
293
377
379
340
307
362
370
322
326
253
303
307
345
301
385
306
315
344
323
357
312
294
291
302
296
296
353
350
262
279
241
332
374
299
418
355
345
237
363
268
369
384
343
241
262
239
326
286
267
314
377
267
313
333
292
204
251
397
316
401
327
263
256
356
292
370
264
278
338
312
310
315
303
289
388
243
290
354
311
373
292
326
307
352
265
290
278
273
287
268
271
291
285
282
350
361
263
372
218
306
304
346
312
366
318
334
301
268
341
336
309
315
296
269
267
272
355
358
259
276
277
331
276
356
325
339
287
328
314
274
348
296
316
288
336
369
269
307
291
261
391
303
283
325
263
282
312
312
389
344
208
344
318
337
326
277
220
325
347
347
325
323
374
224
308
307
346
355
302
274
291
298
278
400
258
415
234
341
314
281
374
334
338
355
326
370
287
347
339
340
362
297
329
311
384
348
308
290
344
320
272
252
259
302
316
282
289
294
306
300
284
356
391
313
322
366
267
322
281
284
414
207
370
418
262
293
338
318
400
339
373
324
301
280
389
301
323
287
311
332
284
212
326
343
382
328
275
327
298
314
305
371
390
370
327
352
348
290
235
317
349
344
301
363
284
345
350
235
356
257
326
313
359
343
322
300
347
315
273
328
311
305
302
299
262
321
309
287
308
328
348
335
303
300
296
317
268
315
294
287
288
356
305
294
268
407
345
293
257
399
313
236
291
325
369
371
398
261
395
294
350
259
355
294
312
410
318
310
332
217
286
234
317
261
385
317
342
294
263
244
243
369
253
348
291
213
344
310
357
318
282
346
303
390
317
376
303
330
424
265
314
283
221
239
236
312
278
294
353
233
361
353
331
295
315
293
322
313
339
379
250
330
366
304
373
295
304
323
274
302
343
256
308
356
302
305
319
353
313
346
342
314
312
394
277
364
278
296
311
240
260
437
336
258
345
346
315
283
270
344
377
307
413
384
337
264
285
287
275
298
334
279
295
367
337
316
289
337
297
281
363
297
185
279
309
292
259
339
336
331
329
252
396
249
259
271
354
403
330
334
305
280
349
339
388
301
349
267
348
354
253
301
332
319
406
332
405
266
326
238
266
214
394
321
371
269
274
370
297
352
283
326
307
316
311
299
309
311
330
358
308
306
183
388
378
406
284
380
287
301
275
338
319
318
374
272
293
302
339
345
383
308
276
341
274
255
301
375
278
317
264
298
345
369
299
297
283
306
369
351
353
333
324
262
370
292
275
303
212
287
391
331
312
341
359
317
300
335
345
345
290
294
311
287
277
358
392
302
387
329
230
318
378
281
275
309
372
303
197
319
295
241
334
354
351
304
315
297
261
195
336
337
304
316
293
338
372
345
364
357
301
361
365
370
317
225
356
308
362
278
280
254
334
300
352
220
358
354
207
353
303
368
349
263
377
312
281
271
282
293
309
238
398
265
239
342
272
413
353
353
335
380
304
338
345
386
336
320
355
343
324
297
327
350
327
323
291
319
448
230
368
382
317
318
285
336
303
350
364
234
254
286
372
290
285
232
325
358
302
407
314
401
317
265
342
317
388
350
355
326
251
344
300
316
314
273
250
237
276
250
314
377
359
284
353
289
257
287
291
339
342
340
351
274
266
324
317
255
361
336
418
251
305
322
297
258
298
365
226
324
341
290
308
328
251
323
311
286
381
278
318
310
265
324
278
281
367
321
404
303
275
384
346
290
375
247
331
393
381
311
276
346
267
297
330
370
332
304
194
418
299
220
278
272
230
339
338
293
384
275
280
339
349
274
334
257
297
321
388
330
318
314
315
353
269
386
295
315
216
317
295
283
335
331
273
321
386
264
313
362
285
292
372
331
373
330
321
328
291
312
379
232
357
311
312
316
238
267
303
350
294
286
321
353
281
417
301
303
296
364
358
309
326
342
320
297
339
306
312
405
267
372
338
305
314
280
291
352
277
319
303
388
303
347
320
327
259
292
343
364
342
356
263
359
312
406
341
307
319
239
383
293
335
282
304
330
304
312
359
295
367
379
378
333
379
285
335
323
296
384
263
369
313
282
347
371
376
331
273
336
281
284
376
442
286
344
323
332
401
393
236
329
316
316
349
270
343
377
280
241
318
264
270
343
318
320
406
319
206
380
350
318
327
274
315
375
281
334
216
356
310
331
317
363
310
286
342
275
225
296
279
277
347
271
299
344
330
287
324
225
276
373
361
301
331
281
360
265
262
266
278
256
365
314
319
265
310
287
328
310
385
332
248
317
324
247
294
264
340
411
323
244
249
306
342
298
246
386
396
310
322
356
359
388
375
285
300
384
329
317
364
290
356
322
315
342
326
311
332
312
316
233
299
334
287
274
321
406
280
302
269
348
329
273
230
303
303
308
331
437
256
345
329
270
329
233
368
296
369
301
275
332
350
293
381
365
325
281
286
308
341
301
304
306
278
303
303
335
357
400
307
339
370
341
377
369
362
369
231
336
339
338
351
317
208
283
336
282
350
293
357
368
296
367
387
262
345
299
267
320
309
340
370
372
402
357
245
325
366
318
373
243
286
322
287
282
401
253
316
280
306
368
377
312
363
350
342
301
311
283
277
265
281
303
308
215
353
217
346
224
341
290
268
339
301
260
369
275
230
379
363
343
278
300
284
285
382
286
403
320
294
369
310
287
242
295
277
263
350
258
292
340
270
321
228
390
384
341
288
286
341
329
285
241
291
321
296
373
300
278
264
336
246
296
310
376
263
294
275
278
236
276
240
319
305
372
286
233
300
271
354
261
342
279
280
379
357
299
336
278
340
351
235
345
358
325
351
318
289
318
340
331
316
310
344
291
268
332
275
300
324
344
306
411
247
280
291
318
327
350
352
328
292
324
329
355
302
326
273
346
301
290
368
346
360
354
315
286
303
280
299
386
339
364
320
324
185
339
332
323
266
323
212
314
312
247
243
313
253
339
340
248
346
281
294
239
276
327
340
311
322
275
300
332
332
245
299
368
338
395
322
223
222
377
324
340
336
324
380
306
276
390
332
264
361
356
292
284
191
365
345
304
259
383
244
281
294
325
265
185
327
304
350
324
353
350
347
332
319
218
401
350
319
363
330
316
251
263
341
297
310
342
350
312
268
351
257
320
287
292
315
359
326
316
273
346
208
360
280
278
279
305
296
295
423
252
314
335
285
323
244
347
298
367
381
247
294
263
240
254
264
353
314
318
365
283
408
368
369
364
310
295
281
315
362
271
363
196
260
323
409
303
312
354
300
356
377
334
296
378
293
281
361
344
275
320
319
296
285
363
306
272
332
377
317
373
244
312
326
221
292
373
280
353
338
317
361
294
329
349
353
348
315
385
334
299
304
315
310
306
299
280
248
300
318
286
287
256
290
275
333
325
291
369
346
271
239
337
276
305
347
294
373
362
375
327
281
251
351
337
396
259
338
344
384
270
300
370
332
312
385
310
274
360
292
339
368
310
253
315
259
253
326
282
368
264
321
368
292
312
312
330
370
337
313
270
335
292
295
339
295
406
284
296
314
369
389
342
312
342
242
314
320
294
344
339
330
350
293
355
270
354
373
275
354
252
303
298
255
283
222
328
292
333
308
321
357
305
240
308
322
251
332
349
318
274
370
272
268
185
242
299
301
326
303
285
334
239
280
248
414
293
310
293
323
352
368
293
295
337
341
268
347
392
301
313
346
232
351
290
274
325
373
331
300
260
299
363
350
235
346
316
299
364
339
335
359
288
326
301
289
326
359
351
283
322
352
308
350
370
342
396
242
358
263
331
273
289
322
319
319
328
228
326
317
312
320
315
305
299
272
325
273
267
324
319
248
319
350
386
345
248
313
393
332
223
281
311
271
290
303
371
341
339
282
314
314
277
299
315
306
352
365
395
295
407
328
364
369
308
359
242
261
390
257
257
338
356
293
282
232
326
344
342
327
267
339
299
319
348
324
319
268
389
337
318
382
340
258
322
326
349
334
396
332
311
376
329
429
388
278
306
389
374
309
342
303
276
346
247
371
288
352
275
309
252
309
342
321
333
338
294
323
307
350
280
337
276
320
286
240
417
277
254
417
235
373
413
396
297
313
280
270
288
284
282
354
179
330
292
324
297
254
327
290
272
315
391
384
250
273
363
303
246
404
291
341
299
317
300
368
300
237
277
320
265
280
347
360
287
397
290
366
383
289
371
331
218
354
395
344
314
295
274
316
369
339
399
239
277
317
306
204
315
307
360
352
283
291
386
362
218
361
310
352
320
343
226
410
362
342
330
263
299
370
238
333
219
305
352
255
338
299
299
305
249
314
346
350
337
384
282
317
316
222
354
257
295
313
348
299
343
385
306
340
280
286
345
374
328
324
259
379
284
300
312
215
344
344
316
336
343
352
355
375
362
308
266
323
297
356
384
300
300
408
339
315
302
352
348
327
312
364
296
381
335
239
242
372
375
268
261
354
258
319
347
369
348
387
366
300
372
290
301
369
277
343
390
375
359
392
329
307
308
314
324
287
260
288
405
221
307
322
311
297
382
312
384
358
306
266
294
322
328
378
296
252
343
355
319
328
203
232
308
381
155
282
268
293
333
333
315
354
315
286
381
307
317
341
362
348
367
323
231
378
331
288
338
298
271
345
302
352
382
339
310
255
282
318
327
249
319
292
369
271
371
279
284
318
238
299
359
328
373
288
279
334
388
286
372
358
364
309
339
371
266
361
314
302
397
269
329
281
333
341
338
319
286
355
336
272
299
365
268
230
348
315
328
291
374
270
283
282
341
242
314
367
295
264
307
363
364
296
225
293
330
272
219
295
362
307
257
292
282
318
358
326
356
327
342
375
304
285
293
289
325
347
336
223
323
348
362
369
312
303
302
215
351
310
321
399
363
348
279
290
308
299
287
377
366
335
377
286
351
350
228
308
296
318
312
275
340
270
301
344
317
304
312
275
293
324
345
355
304
233
304
249
342
381
334
240
337
376
326
288
285
336
356
279
428
303
278
359
426
266
311
333
317
329
328
255
342
279
286
309
402
341
292
243
377
324
328
320
260
224
353
275
281
328
311
347
366
266
358
421
345
365
243
271
347
301
258
335
214
360
264
317
279
355
409
311
288
342
356
335
361
272
242
336
273
314
286
350
337
342
298
322
318
249
390
282
273
328
359
378
250
323
365
323
355
277
374
328
221
286
285
346
355
355
320
359
286
288
315
238
353
335
336
341
266
262
360
326
276
336
314
326
247
344
309
332
322
281
351
266
311
341
320
293
327
299
340
309
279
242
367
388
390
269
236
335
291
367
327
288
273
289
267
369
302
309
330
219
388
213
289
370
313
258
317
231
374
381
237
335
344
305
311
331
302
328
321
305
336
321
339
346
352
392
311
263
353
399
302
360
253
339
364
343
277
300
378
359
251
350
358
312
281
344
311
265
290
240
335
329
362
325
350
316
361
317
331
402
361
331
324
315
289
323
336
321
351
316
296
307
285
353
306
300
277
290
267
347
265
281
329
394
363
351
323
341
340
299
301
312
332
369
364
269
270
278
312
313
222
332
293
368
341
260
398
253
322
283
327
358
265
346
290
338
260
392
393
348
252
363
338
326
344
323
293
268
249
332
309
332
370
286
357
326
276
300
298
315
365
383
311
284
342
370
332
247
335
289
375
360
263
369
285
327
346
294
251
352
297
382
325
229
268
324
356
294
259
305
323
291
299
305
394
318
306
301
306
331
268
381
293
321
226
311
303
395
236
243
321
299
324
389
271
318
395
373
252
211
282
321
374
336
315
292
283
298
314
302
253
271
400
363
300
358
328
314
368
325
405
322
292
273
381
236
324
359
334
277
373
286
271
338
335
343
321
306
326
257
290
378
271
299
286
314
370
298
327
275
307
295
259
335
253
317
337
238
310
326
273
365
343
301
331
313
284
326
318
300
268
359
297
329
280
315
307
371
282
277
376
330
328
321
302
352
323
325
289
295
315
312
412
309
363
402
320
355
320
297
331
330
355
161
316
297
353
269
314
250
266
237
353
332
354
355
307
308
412
322
248
376
348
319
388
356
354
287
323
309
380
307
333
341
289
286
382
386
301
261
309
340
358
386
316
327
306
345
350
360
280
309
418
304
299
280
363
216
354
351
306
274
413
334
338
321
283
301
297
383
317
289
323
239
347
305
311
242
298
371
273
303
359
318
240
340
369
297
372
273
326
332
325
322
406
318
299
270
335
250
320
241
361
275
340
286
234
363
269
279
257
355
402
331
273
357
313
226
299
333
303
306
299
206
432
410
269
371
297
300
361
332
342
288
383
303
307
267
299
349
331
376
315
303
340
292
389
258
318
340
317
306
296
418
321
319
246
283
261
273
254
270
322
359
365
342
333
344
305
346
332
312
345
331
288
295
337
329
361
303
347
334
283
345
213
309
359
308
380
228
298
347
326
294
250
319
336
373
368
308
333
354
319
302
268
305
319
382
270
300
292
276
321
315
317
350
352
250
339
361
301
377
350
434
335
341
333
340
339
249
400
353
274
333
369
394
335
217
395
318
332
248
246
261
326
328
283
373
377
332
315
263
383
322
322
272
307
297
351
278
323
281
264
329
301
279
328
320
253
403
360
249
369
291
364
339
228
253
321
340
310
333
387
343
363
302
325
322
281
198
243
318
190
289
237
305
410
267
298
275
302
391
343
245
321
260
311
295
272
349
336
389
405
272
287
288
331
272
251
299
343
297
311
312
327
352
427
320
332
380
310
300
353
263
320
418
336
331
302
363
340
336
324
363
382
340
324
274
289
320
370
405
374
324
340
265
389
237
327
367
298
336
307
335
342
361
287
364
270
237
357
251
341
259
267
353
339
349
321
258
321
292
319
291
288
228
259
236
428
300
274
306
278
379
356
392
300
269
262
253
341
290
257
302
393
377
245
371
312
344
310
302
301
350
314
359
293
367
289
265
306
332
231
366
325
405
334
226
357
331
354
252
304
346
308
289
244
302
288
299
312
279
342
269
312
301
308
299
388
288
331
340
397
307
280
328
267
351
274
353
304
273
286
354
315
335
349
355
296
368
241
332
279
293
298
305
298
272
266
286
233
317
339
269
275
255
268
316
366
255
376
351
341
247
267
353
326
348
317
338
331
379
341
273
320
262
270
381
354
289
265
325
411
353
349
339
320
286
223
353
342
340
291
299
308
240
294
349
310
273
258
258
260
310
323
354
284
341
289
314
354
382
308
322
255
343
287
354
291
350
273
278
376
331
322
414
318
358
363
362
282
255
317
234
302
196
280
307
304
279
285
353
332
322
234
274
379
321
356
327
381
259
283
288
300
300
322
250
268
314
319
309
317
268
232
360
314
337
338
336
388
243
319
289
279
283
358
274
300
283
280
318
321
353
327
300
336
359
289
314
432
352
379
330
306
270
314
309
325
365
289
359
327
245
309
321
388
341
313
240
291
300
308
327
296
343
329
296
341
337
300
268
344
299
188
336
391
284
366
297
254
326
341
328
225
294
360
376
372
355
247
359
285
360
334
445
305
237
309
310
312
329
282
320
294
300
315
352
267
327
371
289
307
339
287
323
297
313
344
368
308
292
336
318
341
291
403
309
310
366
400
347
275
404
247
393
295
314
283
352
372
237
314
230
322
320
391
332
234
323
368
318
302
350
271
242
299
253
342
360
269
247
282
245
267
309
308
376
319
320
277
250
365
372
357
403
233
345
362
338
307
314
383
431
259
289
319
280
326
315
378
319
284
335
330
272
315
286
385
363
277
280
350
281
251
282
413
410
281
286
285
317
346
217
322
320
354
343
299
297
358
318
375
265
370
304
301
362
358
328
302
252
296
326
310
333
204
366
327
347
360
326
256
339
314
313
353
384
257
300
367
348
304
383
320
304
323
373
288
270
274
318
336
365
375
321
335
367
363
328
313
288
413
296
326
276
375
260
254
326
326
307
238
345
246
257
319
237
311
318
373
295
318
299
302
347
332
354
218
227
301
295
331
374
283
334
317
314
394
351
296
260
344
309
314
347
341
340
270
306
312
303
295
417
339
223
295
220
255
314
272
308
245
255
183
301
271
284
416
309
249
201
355
225
284
279
322
252
267
355
330
259
305
278
354
314
376
334
311
315
299
322
370
300
419
310
372
410
305
310
334
291
292
281
322
347
334
324
302
399
386
210
321
306
322
267
346
323
294
260
253
349
266
387
261
377
254
301
303
315
312
438
286
281
336
311
310
359
378
347
331
348
232
300
400
389
267
274
452
341
330
317
270
340
286
329
322
376
374
391
370
339
289
361
267
345
358
305
432
294
303
369
368
350
258
372
317
267
283
296
282
289
380
304
308
305
262
340
327
312
275
306
280
343
332
253
349
258
232
307
383
310
349
315
279
367
392
379
292
290
355
289
302
355
357
316
266
343
332
364
342
354
236
351
360
320
359
387
331
364
288
327
329
311
336
284
285
329
338
376
375
267
359
255
311
301
246
302
331
275
311
322
363
305
350
259
345
289
317
432
314
304
331
315
285
306
327
300
308
358
343
320
319
280
345
355
354
347
305
374
297
366
334
377
370
317
315
318
344
341
305
238
319
274
218
288
330
249
355
295
294
281
365
364
311
362
395
380
318
350
308
231
335
306
357
371
368
315
270
406
335
339
317
337
310
389
303
298
300
254
376
341
329
320
323
343
278
227
295
234
283
294
258
271
401
328
293
298
321
326
342
350
350
273
334
314
258
321
277
401
357
245
221
292
283
293
390
269
324
293
282
295
263
211
344
259
374
299
317
337
267
256
290
289
220
315
251
360
320
330
313
279
293
351
288
286
361
351
219
348
326
361
312
265
235
338
404
252
345
269
297
321
317
353
298
326
352
253
249
350
380
348
278
271
245
325
241
386
380
219
233
298
317
336
323
308
328
315
316
312
373
268
263
295
262
345
216
314
353
312
288
314
338
319
259
279
269
312
348
326
314
295
233
363
302
220
259
284
353
281
255
387
307
340
396
335
350
388
299
322
289
298
282
272
290
377
353
325
315
261
358
272
300
310
350
228
338
325
331
272
279
281
324
305
321
248
357
305
240
282
369
405
269
304
325
263
251
301
334
333
374
314
350
358
293
310
309
354
290
302
337
292
281
393
265
270
301
344
274
333
299
366
307
344
254
322
282
191
292
328
310
324
243
424
317
350
277
384
314
382
273
357
367
229
334
307
294
321
302
318
312
358
396
301
333
418
260
345
322
353
248
349
274
269
356
329
350
329
239
300
339
328
240
373
380
333
280
349
310
317
306
242
364
337
280
338
272
283
167
358
232
286
243
300
344
350
246
368
358
257
335
254
302
317
274
372
344
355
330
333
354
312
321
326
305
319
358
294
338
261
411
301
328
312
400
256
338
327
258
230
321
234
331
344
284
261
296
331
267
310
294
276
338
338
287
310
262
355
250
356
352
248
299
305
328
307
253
322
402
296
379
289
325
356
350
294
336
328
325
289
325
384
292
349
296
426
260
296
336
293
256
284
303
309
382
328
315
319
309
331
294
316
305
420
250
228
288
306
289
313
316
310
295
305
309
385
300
365
306
292
289
380
304
317
249
373
272
317
328
401
343
291
300
318
325
289
313
331
431
390
263
315
270
298
299
393
412
367
311
265
278
262
394
242
298
321
324
369
302
301
312
383
382
279
308
268
321
363
303
332
393
419
297
281
412
310
370
371
307
337
285
328
362
328
289
305
349
268
222
360
258
304
303
296
326
280
414
310
303
240
399
325
270
308
334
384
292
286
334
249
356
363
310
298
315
277
271
387
287
313
293
369
359
378
357
283
299
286
359
351
351
300
324
295
248
355
439
331
323
294
343
298
328
334
321
288
321
296
230
344
377
338
277
345
355
242
261
312
373
360
324
303
301
308
309
252
283
351
293
273
316
293
266
245
344
277
318
373
332
288
310
300
347
244
320
292
251
354
289
256
262
298
391
295
322
344
393
308
340
369
284
266
330
347
375
361
399
278
248
212
211
395
361
343
360
309
288
361
222
262
209
222
362
297
346
303
263
281
325
392
326
207
340
247
258
243
280
312
277
243
340
341
351
367
343
364
436
219
356
239
325
332
393
323
356
354
278
271
389
383
360
407
348
364
291
311
333
228
295
358
281
324
359
213
340
400
315
270
262
305
271
314
310
343
361
318
286
268
329
318
314
303
272
367
312
372
343
264
334
375
339
369
306
361
362
324
282
291
377
301
290
323
293
320
342
284
298
293
331
297
370
332
254
354
240
310
285
323
266
250
261
261
297
327
363
314
269
409
335
312
283
303
314
273
278
379
424
318
344
326
264
303
239
308
389
316
268
344
358
294
353
367
320
315
365
254
334
307
306
361
288
348
354
280
340
343
334
288
300
247
277
242
311
380
333
370
219
313
368
341
362
340
310
295
339
364
339
287
328
288
304
358
340
278
378
305
241
313
274
298
298
371
331
365
362
293
305
364
343
404
249
310
351
325
366
399
250
320
309
288
365
312
386
288
295
363
362
328
274
319
353
289
311
245
350
284
323
361
371
337
363
333
293
310
305
323
281
351
293
384
252
332
355
366
349
263
348
278
334
379
337
237
352
293
279
290
274
300
304
323
386
317
321
390
315
354
356
306
289
283
404
405
315
286
288
322
285
292
397
273
356
327
236
344
341
281
301
314
322
419
239
328
385
326
354
372
257
321
167
297
314
338
311
322
268
344
346
349
291
294
297
349
271
334
352
396
272
396
286
301
365
290
329
348
343
350
344
316
345
339
246
288
298
315
361
313
338
346
341
351
313
324
395
256
244
331
291
272
253
323
340
286
373
296
348
305
278
260
389
258
280
336
367
352
382
285
344
390
310
315
242
331
283
351
364
336
281
324
333
310
313
286
352
283
315
279
247
305
333
297
302
268
327
304
331
286
311
333
308
257
377
281
280
347
315
279
344
304
407
387
340
341
394
303
355
266
338
331
300
361
344
375
378
311
329
304
269
372
280
262
364
293
306
199
277
337
294
328
274
350
329
342
285
311
274
317
378
386
317
232
330
317
400
331
243
391
300
281
280
330
267
284
349
289
348
344
289
263
319
375
311
332
304
254
318
338
251
400
354
296
266
346
362
299
323
341
271
355
266
276
316
329
338
312
292
362
342
290
389
347
346
337
368
327
234
341
318
343
301
306
328
315
294
402
341
396
308
323
335
325
244
354
318
323
358
291
326
387
341
321
353
307
334
312
320
351
340
385
355
223
324
343
249
276
282
286
357
286
303
294
340
312
377
335
409
337
319
357
404
271
335
386
337
332
349
405
320
271
319
249
304
270
408
320
242
331
336
288
357
278
305
220
384
236
349
271
395
350
326
348
306
318
249
338
301
324
298
225
347
357
362
389
327
284
285
303
299
313
309
402
329
274
373
373
291
362
246
315
315
234
367
347
346
313
347
301
277
327
337
342
409
328
348
323
337
351
230
270
322
208
394
295
294
324
333
269
259
361
296
347
399
302
286
368
346
313
357
268
314
344
310
344
261
246
339
207
330
272
342
305
311
354
290
308
324
268
295
401
381
288
357
327
293
423
303
277
320
291
301
302
241
290
306
233
284
349
295
338
364
300
321
397
293
360
290
336
307
289
302
356
260
296
412
332
352
299
392
325
350
355
311
342
288
347
358
296
347
331
355
314
268
318
344
295
365
346
336
365
270
302
385
357
303
258
293
325
220
287
310
234
321
317
329
251
304
343
304
346
288
274
324
333
375
291
287
290
298
289
355
334
304
313
338
272
366
339
384
334
305
258
305
368
339
292
335
323
283
249
285
282
279
361
301
285
324
297
374
329
358
325
383
264
339
307
370
360
317
317
372
373
293
385
227
253
281
392
342
335
260
328
345
304
310
322
276
278
327
291
399
308
307
341
269
284
343
282
213
298
301
362
286
320
373
226
300
367
273
366
330
286
430
311
359
324
340
319
366
291
293
305
318
346
285
334
318
342
333
272
283
247
428
305
276
267
385
302
346
338
355
346
313
291
313
312
285
254
351
349
334
252
355
291
278
269
256
412
355
243
308
345
368
315
328
254
316
354
259
323
321
285
280
297
281
333
293
326
366
318
303
283
302
364
335
261
259
327
322
309
344
363
369
377
270
279
325
332
322
358
226
364
263
321
295
337
262
372
359
233
284
330
279
382
333
356
264
281
284
304
385
301
273
320
301
354
288
212
298
328
277
303
379
308
319
426
292
319
254
342
323
234
322
359
376
379
379
290
287
325
295
197
260
281
198
261
301
334
329
312
317
410
338
270
307
289
311
296
241
324
349
142
322
283
350
255
362
290
372
283
352
284
305
282
261
306
337
323
390
277
382
337
295
253
323
252
290
294
293
307
364
293
329
316
308
264
309
318
318
303
332
328
307
360
287
359
298
291
368
276
267
325
300
394
309
321
305
351
263
263
370
269
266
356
296
360
252
344
262
314
305
344
398
363
317
267
352
370
296
303
302
348
358
280
271
309
363
310
345
248
292
225
388
314
361
299
348
326
307
330
295
256
372
249
390
370
290
428
290
308
292
263
399
360
275
309
305
376
319
387
305
267
343
311
409
291
364
325
289
377
347
347
324
361
369
362
320
313
370
296
290
269
315
369
334
348
399
297
345
285
284
275
268
328
301
218
248
371
363
352
287
346
320
364
300
315
276
277
296
347
353
295
289
352
290
293
266
326
334
351
360
352
329
316
270
349
338
331
331
291
226
380
235
186
260
318
301
253
248
234
250
271
289
330
254
336
351
296
326
288
285
308
367
361
294
327
355
296
393
357
307
322
254
313
343
317
353
362
324
365
289
277
330
321
197
321
338
356
417
311
335
335
370
367
332
250
328
324
322
396
383
256
282
346
325
323
279
277
323
402
320
303
374
355
368
367
333
277
259
247
397
333
356
261
359
394
405
290
366
313
328
326
312
333
284
406
354
398
348
312
269
273
359
358
363
286
308
350
387
356
278
358
369
280
336
312
337
307
374
321
347
266
244
310
273
298
366
305
301
274
285
322
334
379
354
386
379
303
322
350
281
285
341
276
296
337
309
354
320
312
304
296
266
298
358
306
226
241
365
383
315
274
377
349
293
300
297
335
399
341
335
289
260
276
290
296
205
398
377
332
325
254
323
279
389
250
318
237
300
291
402
277
338
340
290
396
304
256
326
302
306
274
227
322
381
317
333
231
319
356
350
323
317
357
322
359
356
260
329
274
313
267
340
379
331
305
354
277
365
297
272
271
323
342
294
304
297
383
304
202
285
365
369
306
293
377
300
305
461
270
251
357
325
243
267
318
309
278
298
335
295
266
281
325
271
310
261
414
351
331
309
322
235
330
289
373
305
392
297
301
306
384
302
320
372
309
240
308
371
279
269
359
364
290
293
284
339
297
287
332
325
294
288
374
342
331
358
216
370
286
256
359
268
315
325
337
284
279
305
324
337
274
324
272
327
278
218
311
219
327
308
328
320
252
317
294
332
367
232
317
259
275
328
267
334
295
353
332
333
344
309
280
350
378
376
264
243
191
305
347
275
261
244
310
345
382
369
322
343
345
200
312
354
337
323
334
309
349
324
361
295
402
330
294
299
262
283
324
350
333
225
303
357
433
242
340
312
374
371
306
329
224
333
317
318
379
327
372
330
265
434
342
402
207
347
377
353
233
317
368
268
260
256
299
332
276
257
227
284
337
293
300
322
292
296
267
332
246
260
358
280
310
361
249
297
263
380
319
297
316
398
295
271
298
332
347
269
333
350
327
304
289
311
351
352
372
316
279
317
319
382
349
277
257
319
348
300
319
303
336
379
333
221
282
362
315
334
297
308
352
275
284
262
208
278
243
288
356
359
287
328
240
357
340
272
292
404
329
296
331
225
289
341
304
251
329
321
391
270
337
317
330
384
318
379
282
304
302
350
364
208
295
279
360
352
319
387
288
349
262
238
333
298
323
324
375
316
314
247
299
297
310
281
365
382
350
325
324
360
312
351
351
353
307
281
364
277
389
318
370
252
324
234
308
256
344
233
311
329
242
313
218
305
279
275
343
316
288
301
276
295
328
362
265
241
342
364
330
216
280
271
390
352
291
374
270
376
328
288
319
327
340
289
378
348
331
306
391
351
280
368
287
354
289
299
270
344
365
270
304
382
426
248
310
333
316
379
327
361
373
360
347
310
357
299
383
325
373
330
333
282
338
229
350
289
345
359
278
229
314
358
357
303
332
275
245
342
274
299
387
242
339
329
332
320
318
318
337
261
293
326
321
331
308
238
228
356
396
361
323
355
296
350
396
300
406
342
292
305
283
307
299
246
291
301
342
341
275
206
361
337
265
319
327
319
315
255
345
310
370
313
274
270
270
325
237
217
261
176
288
346
318
246
308
380
442
345
237
229
391
250
284
371
308
359
302
362
320
345
255
365
278
368
349
285
346
401
406
471
354
361
302
276
317
295
263
343
333
278
294
345
280
329
322
313
361
290
306
335
310
287
367
307
337
388
337
250
302
312
326
289
341
278
292
214
313
287
284
369
278
268
323
313
364
315
307
350
321
307
366
336
364
261
303
291
319
304
336
302
257
322
321
238
241
242
315
336
276
312
379
212
262
342
397
268
340
326
285
407
316
417
332
357
354
225
215
332
398
269
279
263
319
290
247
295
308
318
284
329
313
300
288
221
359
329
329
356
252
338
332
349
260
326
287
284
262
390
380
332
322
274
417
403
353
326
310
317
306
317
360
333
349
360
270
364
219
301
294
283
268
200
415
266
371
271
353
259
350
375
282
226
342
279
323
309
355
295
321
254
319
337
312
324
249
347
301
279
387
309
314
335
198
375
291
283
358
260
285
331
329
212
292
301
274
332
311
359
230
367
308
264
331
232
277
311
352
245
353
301
302
311
262
351
397
268
327
289
377
339
293
297
319
350
414
354
266
372
327
308
286
357
352
407
339
307
373
301
380
371
284
380
297
326
289
326
376
300
246
336
381
332
321
416
378
310
320
328
283
368
236
297
422
280
322
301
284
304
357
356
291
258
282
344
272
341
294
291
351
340
332
365
277
349
381
358
371
352
228
319
332
292
321
311
272
399
351
304
361
320
298
340
264
320
296
313
278
352
363
259
286
315
304
230
419
268
342
223
294
337
269
312
367
284
304
369
294
302
293
343
325
268
337
302
301
347
332
291
359
326
297
393
343
336
353
310
278
308
363
279
318
377
329
356
292
374
280
335
360
244
312
279
256
257
325
272
283
223
322
254
377
236
335
314
276
334
339
358
264
256
305
375
351
386
335
309
336
237
295
308
315
313
274
285
278
297
270
289
316
399
331
343
351
369
254
355
363
325
297
336
428
317
307
306
354
291
263
342
248
231
295
266
352
285
283
300
277
305
324
361
353
328
317
363
342
329
315
295
348
300
316
329
331
259
351
246
282
373
283
375
315
245
327
307
343
339
291
316
349
352
342
331
340
406
349
344
322
291
257
269
409
347
327
346
384
338
343
298
251
367
285
309
286
247
311
363
317
362
326
314
308
348
356
401
313
272
331
273
312
282
309
356
337
330
290
304
299
306
278
274
389
277
333
296
328
328
350
318
336
309
344
371
327
406
262
234
338
244
303
295
292
261
348
285
331
339
329
313
304
365
308
339
389
259
318
251
361
235
348
282
302
285
315
337
377
388
253
303
288
306
277
322
355
360
264
343
313
338
323
336
299
316
367
315
277
345
370
331
305
338
296
302
319
369
400
330
313
352
343
259
224
346
278
235
301
239
319
315
325
345
287
330
316
416
221
329
276
340
226
379
344
401
291
295
297
315
283
309
344
358
349
342
238
328
375
331
255
366
309
265
260
361
346
292
235
326
324
322
369
323
292
372
336
288
244
377
342
210
302
266
385
347
341
326
328
352
240
379
335
296
265
304
337
342
312
341
317
315
308
312
278
220
401
337
393
356
376
324
344
373
284
315
317
289
378
273
386
307
291
310
349
246
281
250
277
268
371
262
360
281
371
290
370
297
321
235
337
342
342
223
311
244
224
300
302
244
298
394
362
308
306
277
282
304
355
454
316
329
316
297
234
287
310
231
361
357
255
331
357
310
210
278
349
298
265
303
264
337
296
381
348
325
240
273
317
292
304
340
266
318
303
298
261
310
260
284
358
228
297
307
372
376
325
361
350
305
303
332
288
319
337
295
329
298
293
308
320
385
245
341
349
337
381
324
361
425
264
322
367
302
286
392
343
290
292
278
306
361
358
265
300
348
320
310
326
354
287
237
391
212
309
241
263
319
280
285
275
292
176
305
261
309
307
328
315
282
320
253
393
289
303
277
327
398
294
262
355
262
326
335
330
359
330
335
344
398
304
270
324
323
347
380
279
265
414
382
353
280
331
321
317
280
276
307
336
279
266
287
373
367
384
358
283
283
236
239
237
387
320
333
351
315
347
356
311
366
307
315
413
399
260
347
302
316
292
366
268
310
341
372
250
247
338
301
290
352
320
411
355
294
293
267
345
334
327
310
329
302
300
288
257
290
245
352
328
264
404
277
326
277
251
285
305
314
313
277
316
214
270
311
304
242
302
364
368
318
305
357
350
337
312
409
322
422
246
326
313
317
261
351
313
316
307
256
306
223
384
339
290
285
278
360
307
359
392
313
405
384
260
253
279
308
333
332
337
358
252
348
363
296
367
346
299
337
250
288
333
254
301
284
292
348
268
297
410
369
233
337
366
386
267
291
294
303
362
335
355
326
296
292
262
362
373
245
256
363
342
298
358
330
331
282
323
294
338
254
354
338
390
293
305
333
315
276
218
274
305
355
313
254
342
299
279
321
345
312
286
336
389
346
248
389
364
302
332
363
327
362
354
371
262
208
300
335
250
182
428
383
287
363
316
376
265
399
239
357
318
294
356
299
283
328
287
358
312
298
294
315
354
330
322
312
276
348
311
291
252
371
341
302
371
300
282
262
383
259
382
319
328
270
299
333
294
221
373
271
272
219
270
395
373
358
248
319
339
319
264
358
359
294
348
351
416
348
291
366
366
339
327
292
321
324
289
270
288
301
307
329
338
294
304
349
365
318
321
290
287
342
356
293
305
400
344
301
227
349
338
298
326
219
270
219
361
298
351
285
267
377
323
336
350
314
276
289
293
318
303
363
212
312
325
271
311
343
402
302
247
341
313
283
307
294
418
312
177
308
205
365
303
328
298
346
304
294
351
356
324
322
296
210
226
275
364
282
341
357
412
315
336
306
295
283
328
304
359
405
300
292
268
377
300
242
312
281
366
330
283
372
288
298
372
301
377
306
327
224
282
314
345
337
350
356
312
286
238
311
357
291
272
299
290
278
343
338
297
344
250
315
336
249
341
284
296
307
334
311
240
241
362
338
307
397
315
313
316
316
338
330
240
366
315
392
337
273
227
318
253
276
306
250
255
301
244
221
297
287
333
215
345
344
387
276
307
341
223
285
354
339
318
283
294
377
326
279
257
277
350
327
342
254
198
320
347
332
221
343
326
349
341
329
296
239
245
344
314
242
360
360
328
348
351
301
307
359
302
303
381
413
334
318
310
374
341
265
380
375
293
308
270
424
309
344
308
311
329
276
355
297
292
285
296
302
272
332
373
353
352
347
315
317
301
296
317
239
270
366
288
322
330
229
344
310
254
341
328
296
315
291
373
363
275
318
268
300
308
321
280
244
300
337
292
266
240
314
306
242
284
265
276
302
374
334
271
229
338
273
343
296
352
212
304
316
315
349
243
284
347
320
323
325
351
364
273
285
256
310
335
235
316
328
392
376
399
324
318
255
366
342
328
357
389
308
296
301
330
342
374
272
260
250
258
351
357
196
333
361
320
335
296
352
431
333
331
304
272
353
359
384
334
378
290
313
303
314
304
297
274
254
304
390
294
306
301
317
327
389
375
337
349
387
316
347
343
309
329
364
291
334
360
329
235
314
318
283
319
274
328
309
362
299
268
295
311
210
314
313
316
259
301
372
333
297
340
370
285
299
242
312
269
334
292
365
255
313
293
370
324
329
382
330
312
301
305
337
313
401
357
353
253
365
369
326
324
331
383
251
296
273
307
264
376
277
350
281
221
361
343
182
222
272
308
284
196
340
229
348
341
395
330
296
360
330
323
360
244
262
327
350
277
373
293
307
291
281
281
366
375
321
266
270
357
286
279
380
316
331
331
354
315
287
397
346
340
378
221
358
260
343
279
335
322
352
295
333
343
356
288
407
303
274
339
326
302
248
249
432
329
319
245
316
372
298
337
318
341
365
334
280
304
329
307
280
338
294
318
313
266
281
424
311
302
294
240
332
324
332
334
351
274
321
295
269
291
344
362
318
280
317
344
370
296
356
251
286
267
246
287
374
331
166
292
319
322
313
384
279
279
411
310
448
366
315
261
297
286
378
281
268
327
365
298
419
377
283
250
417
358
333
339
343
283
339
290
312
364
392
387
298
284
383
283
418
323
232
272
366
306
328
333
284
339
231
337
324
282
368
280
362
316
324
309
329
331
321
322
293
255
344
351
352
319
283
314
265
241
303
293
335
332
394
354
227
311
357
292
284
357
381
322
307
393
350
324
339
290
410
289
328
399
318
282
365
307
333
347
294
266
335
313
274
293
326
234
418
339
383
375
255
356
295
327
347
317
284
362
316
287
354
327
404
347
261
238
327
248
311
313
256
279
253
284
331
355
305
337
335
315
351
352
305
320
267
377
306
278
307
349
261
363
368
240
321
334
349
378
373
289
321
352
332
300
244
263
294
238
225
288
282
337
301
255
422
361
374
319
317
339
288
350
327
312
295
369
361
432
281
342
290
357
239
272
299
304
359
290
308
328
342
311
319
267
240
272
237
331
334
343
252
334
322
385
312
393
358
377
355
316
241
332
408
392
255
288
334
310
386
312
344
262
275
377
342
373
293
286
299
262
372
250
433
230
321
310
324
325
353
421
281
287
341
360
335
341
328
359
343
325
333
326
333
314
376
190
383
376
229
325
286
358
366
250
262
335
382
327
354
255
371
288
361
240
329
321
199
357
298
397
357
299
376
293
274
290
328
373
386
303
274
137
296
275
378
354
331
284
332
374
220
367
326
351
258
257
307
347
338
358
370
250
381
365
278
312
315
311
363
339
362
298
286
320
296
328
317
293
340
245
335
370
279
283
360
391
238
340
328
307
331
291
258
334
296
230
354
329
319
208
361
327
337
240
291
305
351
306
297
381
340
334
304
256
316
240
302
371
314
294
331
308
274
329
363
368
368
362
323
311
339
431
274
238
371
296
342
367
259
355
297
259
327
341
272
239
317
168
331
291
224
234
402
333
333
245
285
387
341
295
344
292
342
325
301
308
318
258
319
264
264
271
337
335
330
256
289
340
323
326
337
265
332
382
282
354
364
276
333
318
217
306
381
262
323
326
238
348
310
373
333
345
303
228
337
279
310
357
317
365
315
281
290
351
388
292
355
401
316
267
283
289
224
346
311
310
320
263
342
243
401
279
337
375
307
308
335
361
320
344
298
376
311
266
338
334
298
294
316
316
297
325
304
324
339
226
289
346
322
271
211
315
331
290
372
300
356
322
366
190
323
360
302
358
331
294
289
346
273
410
307
265
288
332
310
272
336
288
351
315
331
377
337
334
311
234
316
292
301
359
310
419
346
302
292
322
285
360
299
357
241
326
308
353
378
237
295
337
274
332
280
293
281
293
283
268
319
254
259
391
323
295
342
341
277
335
267
274
283
317
256
425
359
318
369
327
296
304
293
219
317
278
268
296
327
311
287
264
314
226
309
416
327
262
235
411
357
286
292
346
365
408
244
238
270
332
374
311
300
390
461
292
371
292
316
396
326
311
314
331
319
347
285
396
304
345
312
274
262
384
268
336
254
348
273
293
309
349
339
295
325
299
390
273
319
317
352
280
339
384
339
234
231
254
336
306
376
324
287
315
228
249
383
384
224
361
278
244
301
286
318
167
287
211
395
252
302
359
286
378
312
360
384
317
294
440
341
329
324
287
355
290
349
303
323
368
263
337
305
270
293
351
412
292
294
331
287
339
303
256
311
312
316
329
300
272
334
286
344
361
439
356
303
277
353
327
329
395
336
339
316
262
227
229
328
350
309
320
300
247
283
323
313
295
328
269
312
306
363
317
274
253
298
355
387
413
352
330
305
332
363
291
338
326
343
288
345
288
311
259
300
350
277
249
247
300
284
363
298
212
276
374
299
304
345
277
443
341
301
371
305
305
278
361
360
393
284
327
259
355
316
360
302
361
283
321
390
278
355
280
296
293
386
321
269
322
330
289
431
317
297
347
322
321
301
270
317
300
285
350
309
332
296
315
336
350
308
273
313
353
255
256
263
334
314
295
277
250
327
361
330
355
303
320
295
347
318
316
291
332
305
249
347
295
271
364
401
245
275
352
349
292
296
302
320
356
337
443
317
317
293
214
312
243
294
306
402
319
299
353
258
305
358
369
365
263
319
281
318
317
376
301
318
319
351
356
320
306
336
303
341
248
364
237
244
332
323
255
326
320
308
314
337
303
273
293
324
301
364
336
377
336
373
351
324
293
362
351
282
314
284
273
287
210
276
260
375
275
307
284
408
282
273
299
374
287
330
358
371
287
327
352
342
309
347
353
345
342
349
323
360
427
339
298
235
274
311
359
262
307
382
279
365
331
328
298
327
321
317
327
320
283
316
311
267
280
398
288
244
294
324
365
350
362
308
361
323
317
317
425
352
350
411
381
279
244
382
287
307
270
394
379
329
392
246
300
293
181
269
314
345
274
289
245
408
360
377
331
278
282
291
317
303
235
292
311
260
360
327
368
409
275
355
297
377
350
329
333
359
353
363
419
343
294
336
263
334
233
268
240
329
337
296
203
303
339
352
372
336
276
312
363
369
231
350
342
279
285
324
340
296
337
333
366
292
384
334
368
227
376
245
329
327
216
303
325
319
317
292
296
324
307
325
252
333
300
266
232
331
316
339
369
318
435
274
384
339
254
377
310
332
234
314
260
314
318
334
366
346
276
300
324
328
336
379
369
206
288
291
295
322
310
317
210
308
279
280
329
308
369
337
314
286
227
320
339
269
418
292
337
334
328
300
374
252
287
347
355
284
325
354
351
358
294
327
250
363
312
294
323
317
382
228
387
368
313
293
343
352
274
277
303
225
368
282
296
350
382
333
365
364
332
274
335
276
329
306
365
423
300
316
351
310
279
286
363
266
279
328
321
371
240
349
347
301
380
327
391
281
274
261
284
269
340
331
303
293
306
340
316
325
291
302
229
346
366
263
301
296
331
343
300
318
264
346
250
369
242
342
298
369
354
235
366
299
294
344
271
335
265
316
321
315
340
294
311
323
323
287
306
298
342
307
293
219
324
337
311
305
390
324
263
304
278
294
322
304
291
378
302
257
319
296
306
342
321
281
315
319
285
255
309
252
339
292
353
334
332
307
358
324
379
373
297
255
348
296
294
326
306
310
322
313
302
366
314
397
372
189
302
313
371
272
283
282
380
272
299
247
299
233
325
320
256
268
417
380
262
290
314
303
310
255
281
291
265
260
314
336
365
369
341
232
326
317
270
340
400
281
291
330
292
207
277
396
363
392
276
352
323
345
336
313
302
363
358
322
280
371
303
328
379
354
280
352
292
295
304
304
277
335
368
311
339
339
307
364
291
310
272
375
308
291
291
362
263
319
343
302
384
319
394
346
307
234
287
318
299
292
356
276
346
375
313
287
324
323
357
295
282
312
362
371
332
348
324
246
342
227
312
311
303
319
330
384
311
273
314
318
359
401
342
329
326
338
432
288
314
302
363
441
343
409
353
383
274
374
329
271
288
346
334
298
323
331
312
283
229
359
302
266
324
292
326
266
323
298
265
282
220
305
397
377
270
321
345
308
297
336
288
322
321
350
310
384
323
281
250
270
235
315
266
299
378
325
300
305
274
321
329
316
354
360
384
268
343
270
344
364
265
347
318
333
329
322
254
287
331
327
371
351
281
326
328
230
272
308
329
279
289
310
353
298
259
316
333
333
363
379
390
372
347
339
355
315
358
333
322
296
272
309
376
363
360
233
282
318
330
368
435
339
358
310
341
271
304
326
263
331
220
260
355
301
299
288
285
381
314
263
335
343
421
298
326
345
225
301
290
235
220
307
291
310
316
316
386
358
304
290
272
356
240
281
291
342
355
355
352
355
344
250
372
356
331
253
340
336
285
322
364
354
380
287
343
328
242
327
346
378
330
323
273
356
292
287
302
284
299
351
288
366
303
369
284
269
318
324
341
363
329
374
329
307
342
312
338
346
343
333
291
292
262
310
293
382
379
206
299
379
310
281
326
286
241
329
300
268
259
284
362
342
260
272
282
302
324
383
279
196
302
248
400
355
224
326
324
406
399
272
330
223
266
302
399
274
340
307
437
364
357
352
262
327
252
287
208
309
321
251
395
387
409
295
357
275
333
359
345
304
327
311
326
363
328
338
317
458
377
356
328
300
261
320
260
268
370
307
312
309
376
254
324
347
325
292
364
301
223
248
336
333
263
373
291
305
319
369
288
282
288
381
254
361
284
323
301
360
342
304
377
317
303
283
332
331
333
402
354
280
406
253
312
341
317
350
289
352
271
308
343
330
307
294
272
327
275
311
298
364
339
297
308
283
337
284
321
360
296
316
272
324
329
226
278
310
325
269
327
254
325
389
321
288
386
199
373
341
319
260
365
312
282
302
368
401
278
268
281
347
379
324
419
361
329
330
248
342
351
317
366
335
356
386
277
302
387
305
336
260
329
331
296
362
274
268
296
383
335
399
355
225
375
266
309
298
278
299
283
371
216
309
336
337
311
275
232
297
322
317
268
282
295
336
336
279
341
276
237
310
243
305
273
338
339
303
282
340
330
277
309
347
331
261
265
292
279
376
303
289
327
298
328
330
319
348
252
307
280
331
276
291
335
256
389
348
310
282
387
349
385
260
333
256
327
240
369
291
341
298
317
303
326
273
434
285
348
366
276
335
344
316
287
387
249
288
310
381
347
365
306
320
358
242
270
313
356
292
242
336
328
264
314
360
269
276
359
264
235
354
334
241
314
378
321
337
349
257
434
307
291
346
288
345
294
327
302
308
348
279
403
260
312
326
389
298
305
335
324
308
305
297
401
317
267
377
357
352
357
329
413
316
318
348
326
318
288
301
366
284
243
370
370
356
308
316
299
307
306
343
274
275
385
374
314
254
291
328
346
323
243
404
306
350
255
229
326
261
195
366
305
379
315
367
262
306
339
274
378
295
312
287
316
324
304
278
358
312
310
220
290
242
330
276
241
310
404
303
341
383
315
333
330
301
375
288
271
318
262
406
304
306
365
312
321
361
322
342
312
320
346
317
212
259
294
323
331
344
374
319
326
343
286
327
280
321
358
349
336
343
273
331
330
268
312
369
359
331
290
234
299
242
352
385
355
297
315
329
297
323
336
271
401
306
314
301
273
337
334
350
331
312
363
340
257
322
335
323
278
226
374
251
332
326
325
377
317
382
280
375
294
292
298
372
236
203
267
304
360
330
295
328
275
379
315
259
263
328
287
239
259
373
328
308
391
343
392
365
310
335
360
313
368
240
245
346
280
291
327
238
306
376
352
269
307
282
311
275
328
368
285
286
282
249
311
356
369
231
418
217
259
341
274
352
318
286
295
278
323
384
256
343
339
378
337
317
247
359
349
288
276
305
371
326
290
290
351
326
291
238
239
294
239
251
340
377
326
297
269
345
302
277
257
273
268
343
322
284
352
324
342
244
307
384
396
265
338
267
329
374
271
345
294
328
295
308
363
341
274
313
310
297
249
317
324
322
331
286
322
345
339
291
379
312
336
271
381
344
295
269
270
301
395
311
284
330
374
310
328
360
294
339
338
324
368
247
315
384
277
329
309
263
360
284
273
376
283
374
310
353
371
316
312
342
300
378
259
347
312
316
295
268
362
321
265
266
352
311
362
315
248
305
325
291
223
338
305
336
351
418
284
325
361
303
327
390
345
357
282
318
294
319
345
305
342
303
297
292
290
299
291
277
341
325
329
376
327
297
249
282
306
271
407
264
224
250
251
308
269
339
351
231
303
290
382
407
304
307
287
276
306
308
344
327
267
323
298
352
249
231
261
311
311
302
391
280
322
307
303
296
301
245
292
297
305
288
306
244
272
228
420
286
352
344
366
359
344
371
392
312
392
307
342
314
288
183
359
332
292
337
251
279
311
366
286
262
268
340
352
322
256
324
313
318
323
327
383
309
315
346
300
244
250
255
323
341
298
345
280
316
306
328
328
345
280
351
306
341
291
353
345
221
324
255
410
365
277
378
247
288
361
285
363
331
267
296
318
286
392
360
272
376
312
328
298
318
310
296
229
349
311
316
363
275
270
320
311
332
298
291
268
317
263
283
338
285
304
287
391
237
331
353
384
317
271
281
313
344
253
294
364
240
332
287
384
323
308
272
355
370
339
324
289
344
326
310
303
371
343
296
300
321
239
334
395
351
300
363
297
299
330
302
356
325
302
266
252
373
308
287
374
346
274
300
331
367
383
302
373
320
345
326
320
280
329
244
295
352
395
297
293
286
316
280
285
338
326
349
330
249
314
326
382
328
337
266
297
325
318
252
384
249
360
345
333
307
319
315
265
348
405
342
301
291
398
331
338
257
329
270
274
409
381
274
308
267
333
267
251
350
415
160
302
283
331
269
260
321
220
319
410
350
297
364
280
218
389
320
318
293
326
290
374
291
342
288
354
343
238
351
318
371
329
390
384
310
306
284
291
330
310
397
286
352
318
374
344
340
372
316
381
378
375
312
310
286
273
248
361
332
380
306
328
308
269
274
312
234
315
351
306
263
356
339
184
321
286
280
429
315
375
271
289
312
342
362
344
284
311
302
310
383
291
275
351
397
261
328
320
281
350
245
377
280
319
273
288
273
307
335
371
323
295
302
291
304
316
332
358
255
339
277
252
328
335
387
254
364
410
376
366
286
316
349
244
364
374
378
251
341
301
412
308
385
324
366
317
373
294
346
240
368
302
318
316
282
277
307
308
324
330
375
359
366
363
302
367
391
305
282
357
328
309
335
314
320
294
382
339
360
371
241
263
339
363
368
313
366
393
275
305
270
262
287
337
288
263
304
227
261
350
415
303
324
331
355
304
323
185
321
258
258
299
264
327
272
361
377
334
338
323
333
304
318
369
302
263
308
358
375
198
192
255
276
375
372
361
362
335
315
293
370
402
388
241
296
325
376
379
242
295
389
331
226
318
319
396
294
307
364
238
310
341
283
294
382
303
260
347
303
291
324
327
304
315
360
338
315
350
248
375
344
294
177
261
301
273
336
318
334
354
328
243
282
338
352
324
246
384
265
365
365
311
304
273
385
198
346
297
396
291
367
289
270
320
366
252
318
295
288
300
371
272
339
312
403
366
380
274
333
282
320
331
373
315
298
317
344
380
337
265
275
349
381
447
313
304
414
347
320
365
252
285
333
335
300
299
319
304
290
377
238
237
256
289
363
410
355
286
330
330
369
257
330
337
288
370
400
270
369
350
356
386
278
374
389
367
291
373
307
332
320
321
258
336
335
285
310
276
352
330
265
256
376
269
294
329
303
311
240
351
371
328
333
335
341
302
274
286
297
347
220
193
329
328
297
297
395
310
230
213
394
349
273
347
312
374
341
285
283
299
285
334
318
379
332
307
294
297
327
303
332
319
259
299
237
302
343
222
215
369
273
312
421
353
332
349
320
322
245
327
377
261
337
344
333
339
284
385
312
388
306
215
339
352
376
290
252
310
257
360
330
360
225
271
291
300
358
355
352
300
275
359
284
295
322
265
391
332
315
324
288
345
286
322
351
319
341
302
310
335
366
353
317
285
323
390
308
275
289
268
293
303
325
333
353
276
377
271
298
270
215
380
388
312
260
356
359
349
384
309
279
264
337
367
285
279
266
230
395
260
387
365
346
290
273
397
304
395
233
360
321
348
363
309
338
239
372
337
344
382
260
306
289
242
252
275
294
349
294
312
268
359
275
272
350
375
311
368
280
299
219
266
349
326
267
299
269
344
297
294
230
328
272
306
333
388
340
358
353
347
359
303
343
297
322
354
304
241
345
310
331
396
290
272
292
384
365
430
409
308
256
387
305
294
249
355
374
349
308
318
277
279
323
297
185
297
267
304
372
227
456
297
260
299
251
297
305
276
342
337
312
277
303
341
327
358
398
271
306
339
371
327
280
295
371
308
398
282
392
361
302
327
304
248
331
311
312
386
334
356
233
373
428
245
254
343
322
333
416
425
342
307
365
391
259
366
327
326
438
327
291
362
368
373
308
277
256
179
406
417
265
347
306
374
288
293
228
278
351
267
225
376
330
301
307
296
352
329
390
316
369
285
328
293
380
281
340
277
360
373
354
398
374
361
298
371
346
377
282
326
322
390
260
312
287
334
344
386
308
278
239
323
360
259
298
383
253
387
295
378
360
407
343
276
307
336
304
419
320
273
280
268
273
337
349
351
250
266
303
316
284
332
333
280
307
326
307
306
270
377
288
230
364
291
316
393
273
271
275
387
359
349
352
393
294
282
273
313
327
321
297
323
317
287
310
398
338
293
332
295
284
338
294
262
354
325
332
347
291
362
245
386
223
316
339
325
306
261
299
307
328
330
309
281
280
351
329
293
293
334
423
276
250
307
266
277
271
308
321
341
374
315
344
275
271
300
300
353
231
315
247
347
351
304
291
291
232
238
248
300
295
283
290
370
350
395
331
294
351
377
319
325
276
270
228
328
314
341
340
291
291
258
277
322
308
283
281
252
380
319
407
268
352
350
264
250
291
269
197
301
320
241
320
235
380
405
312
328
312
272
323
356
366
344
282
381
319
330
296
229
366
275
281
364
305
291
331
350
333
280
338
285
205
272
305
322
281
294
302
293
242
321
392
260
352
304
249
340
306
317
320
311
321
383
323
299
293
341
343
256
242
221
320
376
269
304
255
319
273
352
392
343
298
218
322
402
274
225
285
247
283
365
302
304
293
297
398
351
305
296
286
307
262
312
377
261
226
320
300
303
282
382
330
321
271
339
243
365
252
374
291
409
265
363
394
268
337
312
351
297
333
395
293
371
329
339
266
345
328
328
353
301
380
236
361
252
348
238
316
224
401
345
344
318
292
259
314
304
306
374
347
324
272
276
291
262
268
388
240
332
323
280
390
377
380
333
208
387
298
347
298
393
277
337
295
371
328
302
244
354
323
322
309
303
372
353
343
324
314
251
287
339
343
224
308
338
341
285
426
320
350
311
346
234
300
264
311
322
379
276
321
263
339
231
400
296
344
335
310
347
295
293
343
295
250
245
325
435
336
290
323
286
321
341
284
269
397
326
248
410
263
275
299
341
344
342
380
329
308
353
229
352
354
203
260
411
249
303
245
308
272
343
280
258
385
306
280
224
335
323
398
253
297
303
309
375
303
264
335
235
279
399
352
339
250
270
255
366
339
370
333
282
329
306
292
259
272
279
245
298
348
312
296
335
276
319
225
335
322
354
266
346
294
279
332
340
312
347
301
300
317
364
387
314
368
322
309
275
333
284
286
350
314
333
352
379
310
301
323
293
248
244
336
275
342
328
332
332
267
278
330
276
268
272
277
360
338
299
289
283
220
334
268
265
384
320
317
329
335
299
330
311
317
310
391
265
328
260
261
308
318
316
360
382
335
352
299
366
352
222
291
241
316
286
334
235
274
338
305
370
320
350
302
316
252
342
347
302
308
239
272
324
335
291
410
353
209
247
277
314
314
282
275
374
283
331
325
331
252
323
276
319
348
341
382
326
310
352
277
271
285
294
372
308
311
320
286
304
289
302
251
321
391
324
362
349
386
314
314
268
321
362
334
345
313
311
295
198
218
351
331
285
238
236
364
301
320
308
281
360
296
299
220
256
303
376
321
258
365
244
244
339
331
316
335
408
199
268
302
302
376
318
325
268
293
377
291
263
273
272
300
256
411
309
323
311
301
290
341
304
348
349
293
323
280
276
344
383
331
385
341
311
317
335
423
331
341
303
275
383
269
328
328
271
241
301
339
355
305
262
223
342
313
285
298
385
360
368
307
291
257
384
257
243
236
291
325
338
384
358
405
299
350
369
242
317
327
330
321
325
259
326
372
369
303
384
409
320
292
288
341
274
257
361
326
338
286
258
333
357
274
347
357
317
333
354
299
388
405
353
317
351
363
292
235
312
285
350
349
241
318
356
359
259
361
331
337
239
191
290
399
299
360
354
311
303
373
322
309
346
282
369
282
309
353
326
307
290
316
298
351
310
245
250
237
398
308
300
353
378
321
305
338
366
277
283
177
247
325
354
317
340
328
349
294
276
261
244
306
319
329
352
308
284
291
271
281
345
357
199
289
265
358
351
323
390
376
270
334
286
330
322
296
263
373
376
317
273
329
258
325
286
293
392
361
422
300
262
256
289
349
363
357
315
360
276
387
345
337
301
273
376
339
269
338
291
236
341
233
263
287
353
304
398
274
282
276
295
315
349
360
338
217
397
340
364
303
361
357
382
289
337
327
378
361
292
276
311
315
380
317
351
355
318
369
350
285
290
355
314
341
242
327
306
258
371
358
347
328
279
249
318
323
290
299
350
366
367
257
260
373
335
322
383
276
297
331
293
342
395
333
333
290
317
294
289
358
351
336
312
294
299
289
362
286
337
234
346
287
355
395
311
298
294
315
366
265
322
328
245
412
352
308
342
349
182
283
328
306
341
267
261
337
318
359
331
312
334
341
325
283
299
285
310
335
253
356
334
378
347
234
383
372
256
307
294
273
261
332
335
329
343
241
342
240
277
302
355
313
318
286
349
279
319
284
293
382
336
331
294
345
268
353
319
368
388
355
360
270
282
359
354
317
304
323
320
340
335
346
362
281
362
325
281
336
279
376
360
322
363
321
287
319
373
388
313
331
364
243
260
280
311
360
348
336
255
317
268
197
449
310
358
310
300
287
358
293
322
266
240
299
261
310
245
302
343
353
296
315
284
380
237
317
387
276
305
323
317
336
333
207
368
309
296
301
272
259
245
312
342
319
312
331
295
372
214
359
303
274
336
229
266
299
291
322
346
342
315
328
303
375
272
362
281
315
244
285
210
321
335
329
290
317
292
371
357
272
329
278
366
303
331
270
271
330
308
397
313
312
296
302
367
265
383
256
323
312
255
282
312
263
370
326
301
341
304
347
273
323
354
280
155
292
237
286
277
303
332
264
320
302
375
265
269
327
333
339
332
353
345
338
242
324
281
279
303
315
350
283
295
304
339
359
287
359
331
347
377
325
281
373
294
328
240
350
347
310
309
303
310
360
331
369
278
352
370
378
312
304
356
346
247
343
347
366
353
268
311
320
324
326
327
286
337
336
242
310
181
323
266
354
363
328
355
260
341
367
368
396
279
314
256
361
325
348
310
342
342
352
326
269
267
334
297
309
303
307
345
320
336
329
367
375
355
308
282
270
245
326
352
244
375
407
304
387
282
327
369
339
253
309
314
304
311
336
282
269
284
350
388
307
368
287
320
263
326
333
286
316
337
389
347
198
333
354
272
305
310
303
270
334
306
243
308
291
343
280
337
271
251
314
258
382
294
240
314
323
367
364
324
376
252
326
359
311
282
331
291
317
398
297
352
375
384
414
296
358
356
404
305
355
370
340
314
318
316
272
302
389
360
316
293
373
306
358
301
333
323
263
261
332
249
364
199
349
360
350
255
281
327
237
304
297
390
341
316
368
348
245
330
318
305
337
324
307
373
308
306
296
286
333
322
326
303
274
347
331
213
302
281
279
376
327
308
318
307
355
348
236
322
378
359
381
276
285
323
274
323
327
353
310
275
267
289
356
310
326
351
281
369
313
313
406
275
288
261
317
237
293
234
294
328
294
317
359
280
358
369
303
330
370
302
370
350
336
303
371
298
325
250
341
296
363
317
218
303
325
352
250
361
326
335
357
237
288
320
265
300
348
307
305
369
283
331
289
315
334
276
278
286
324
313
369
287
288
318
288
303
319
292
341
391
303
424
237
289
323
238
230
288
331
300
336
320
370
324
339
316
339
337
270
252
272
227
283
324
302
267
373
273
289
354
307
308
322
255
338
269
315
292
376
301
350
376
375
327
357
409
373
267
259
352
354
369
279
281
288
397
336
353
353
283
394
273
337
314
343
304
264
324
398
260
343
312
365
255
309
271
280
337
341
189
264
354
319
274
281
312
342
295
322
360
356
301
308
391
335
341
264
338
208
298
404
245
369
335
386
359
277
314
355
247
317
319
368
354
342
244
328
310
270
288
289
353
339
352
329
306
391
305
248
248
382
247
291
283
321
327
333
372
270
368
224
280
307
318
268
320
339
350
358
297
379
342
240
358
342
345
348
332
331
383
353
300
288
291
310
375
311
312
227
284
275
346
249
311
249
319
305
290
366
229
265
300
326
317
281
354
293
267
257
241
244
275
270
271
207
328
312
340
314
272
230
341
376
263
245
342
318
275
286
283
348
253
351
341
395
304
235
288
284
283
304
245
311
239
310
299
271
320
260
274
334
292
363
316
296
360
330
365
318
329
346
265
224
283
292
323
302
276
327
310
291
259
322
292
303
290
306
298
376
383
345
252
339
327
325
343
369
293
294
313
266
285
264
322
266
325
343
297
351
288
352
322
270
286
403
283
376
317
396
217
266
270
238
354
367
389
339
292
364
250
333
308
280
374
341
312
397
351
312
310
362
285
361
265
280
374
251
357
311
301
352
322
340
358
338
293
326
300
272
345
306
273
361
333
303
295
315
303
352
382
302
279
322
309
371
382
305
313
249
321
341
320
277
348
301
253
307
330
347
280
245
307
249
315
357
330
312
379
351
341
323
321
304
371
328
358
280
293
399
404
341
319
354
309
346
320
377
305
381
254
306
304
381
349
355
319
360
379
340
234
363
357
298
272
345
303
300
334
369
264
426
290
232
348
228
335
328
337
408
373
383
336
267
416
377
277
290
335
294
252
320
343
323
326
373
230
403
271
282
331
351
343
259
275
309
270
334
311
348
273
315
293
316
294
297
327
399
234
342
323
282
332
302
315
368
336
278
300
307
353
302
283
312
291
366
342
299
351
292
378
320
257
315
337
348
354
367
310
341
308
306
262
393
242
333
227
297
343
323
280
302
278
301
320
313
292
290
327
373
334
361
372
323
227
346
266
329
348
378
317
274
294
332
312
297
288
332
317
251
369
265
360
320
312
310
307
386
336
360
318
376
258
247
335
302
261
334
313
322
383
339
239
384
223
308
254
280
244
383
296
332
342
280
295
333
444
360
283
350
273
293
282
358
246
272
382
301
348
224
300
269
346
351
325
285
336
322
205
334
337
296
357
259
351
312
290
337
282
382
247
337
226
268
262
351
289
348
326
269
278
372
344
264
339
351
376
292
253
369
375
278
266
321
230
304
367
355
354
296
357
299
305
295
295
355
234
276
212
361
352
298
414
328
317
296
296
341
305
308
314
339
314
270
377
294
415
345
325
252
326
356
240
397
282
361
241
306
264
193
336
426
233
284
379
363
254
358
271
433
361
282
270
303
302
349
355
267
347
315
233
351
282
334
305
301
274
360
243
327
359
295
342
334
268
343
302
323
306
270
274
316
265
321
349
419
330
238
285
290
284
316
270
296
239
415
347
341
247
287
358
339
363
354
365
279
390
363
302
266
334
256
214
289
276
380
277
343
339
345
266
389
290
311
254
298
297
366
339
335
296
305
286
337
323
348
269
302
399
339
263
312
343
314
336
351
326
276
310
319
322
341
309
285
308
280
265
312
306
331
354
235
334
366
288
270
368
324
396
379
326
282
307
306
290
273
336
344
334
269
278
299
336
301
336
339
296
334
283
363
248
343
282
317
273
259
358
236
301
354
287
382
280
278
328
319
368
285
366
218
315
264
335
306
361
337
327
378
314
338
277
287
354
280
373
284
328
371
372
269
300
344
265
384
334
339
292
342
305
303
402
385
211
295
285
394
294
291
355
371
324
272
310
249
242
304
250
304
316
362
301
293
332
276
340
354
308
389
270
365
345
349
293
311
346
237
302
263
269
313
248
243
288
341
290
326
371
328
329
299
367
278
358
318
362
338
268
360
300
218
300
342
293
353
314
355
348
317
394
345
305
395
348
319
336
233
296
260
232
359
257
333
384
342
323
300
347
274
326
235
281
316
371
264
303
389
244
312
292
237
267
322
272
298
276
277
368
335
326
239
283
332
390
344
281
336
303
236
239
279
365
292
304
269
395
349
339
269
299
317
406
349
276
292
321
353
284
307
322
299
293
296
314
361
408
271
377
297
376
323
368
247
340
296
377
263
350
209
288
262
334
262
318
308
306
302
228
298
327
299
312
280
260
365
261
332
408
256
352
368
364
329
226
301
324
309
235
354
343
250
278
248
371
297
334
243
322
294
260
374
294
330
317
204
321
278
341
327
288
334
358
272
238
371
336
384
309
259
294
356
258
253
416
327
280
302
261
229
406
209
258
232
341
286
299
302
312
264
370
355
304
267
350
324
278
254
288
348
271
262
298
345
338
273
373
275
316
322
349
319
336
309
300
277
324
295
372
326
250
357
315
324
390
308
339
339
368
296
221
293
412
298
274
340
241
307
251
350
267
247
302
314
290
321
291
350
312
268
300
268
343
379
273
391
254
292
305
333
315
292
368
286
271
304
366
338
302
266
307
334
363
418
355
336
290
404
337
354
329
298
257
347
293
366
324
298
254
289
284
359
338
296
237
357
321
348
292
360
395
249
356
267
364
263
246
334
419
345
363
312
339
330
304
322
286
251
297
426
236
183
304
323
298
226
363
329
288
317
325
331
310
317
428
356
319
284
302
253
447
382
284
333
339
288
294
303
362
282
318
266
265
347
353
320
296
325
360
359
297
378
218
243
324
242
172
320
326
314
286
299
220
387
284
219
331
295
301
442
318
297
306
357
283
337
282
341
319
303
335
308
344
295
208
350
235
404
257
319
320
314
249
334
269
355
322
353
294
363
402
341
316
345
402
311
275
257
225
312
350
295
335
278
379
311
267
334
317
368
311
326
325
344
364
307
266
252
251
319
284
322
379
327
288
301
215
285
323
381
315
310
286
210
283
290
289
390
376
252
233
284
215
268
286
306
316
274
244
366
312
286
285
328
255
290
360
316
345
334
275
305
388
324
340
304
291
314
325
273
363
370
347
338
334
360
364
309
237
310
265
300
385
324
318
379
354
352
361
306
274
403
300
346
369
299
308
340
260
367
347
337
331
295
337
368
358
254
282
285
321
311
285
335
267
380
298
302
295
319
358
262
342
344
306
386
296
352
303
311
348
280
409
366
306
322
328
260
409
307
380
293
264
314
401
263
288
277
330
380
280
329
317
399
375
271
262
331
406
252
323
410
266
321
267
291
208
310
360
346
303
300
272
265
388
310
357
357
291
286
289
361
266
360
272
377
358
315
283
259
303
252
249
351
338
356
346
360
294
382
251
267
297
411
371
340
346
303
286
292
250
269
222
351
367
366
321
304
314
335
279
343
315
335
323
343
343
306
279
305
355
294
361
298
331
274
243
306
385
288
327
299
368
312
325
364
349
359
311
295
307
293
264
256
307
325
286
276
324
326
367
292
281
307
310
300
277
342
360
305
318
324
278
333
345
362
323
390
353
352
341
290
268
309
311
348
350
294
350
270
365
355
244
337
243
353
299
250
343
279
288
289
288
349
304
338
255
359
275
304
393
340
266
279
299
287
374
335
222
310
334
285
244
260
318
278
332
382
350
288
340
274
336
306
293
296
353
382
324
325
326
272
270
244
283
304
285
293
216
346
286
303
282
385
352
288
263
295
350
351
334
299
327
337
335
306
319
311
356
323
328
320
344
301
228
317
312
229
353
314
352
225
269
427
193
285
259
355
287
373
278
235
378
259
340
324
275
270
291
332
309
351
363
368
338
352
395
333
282
258
340
310
239
353
276
323
262
328
367
286
413
416
257
361
294
289
280
362
381
372
291
338
337
344
330
250
328
292
292
228
298
330
351
310
270
204
255
422
360
322
331
299
272
225
276
329
285
346
299
360
315
369
360
318
369
259
327
333
353
300
332
275
303
391
307
326
260
312
341
395
329
374
357
336
378
263
344
329
279
355
322
354
304
409
311
289
284
371
268
248
316
369
257
276
315
385
300
299
289
323
377
341
328
311
328
309
309
274
257
287
356
253
287
319
347
307
323
275
319
297
335
248
311
320
287
244
331
326
322
244
381
324
350
331
274
329
304
367
318
273
377
294
303
386
340
316
308
303
316
402
352
380
293
252
403
407
304
385
363
389
301
429
355
258
329
266
219
348
260
390
267
337
314
294
315
283
294
240
307
279
353
283
301
403
282
236
230
341
275
308
384
346
377
339
248
343
183
250
303
336
272
323
315
352
340
335
321
322
291
427
219
272
326
319
446
323
340
265
315
373
354
229
338
437
287
375
335
250
319
317
317
268
328
275
319
408
357
244
401
224
269
259
318
371
308
261
333
337
302
278
337
269
252
338
288
300
367
346
376
305
283
315
295
354
297
338
312
279
302
228
296
279
329
383
362
336
334
316
328
293
339
266
308
334
247
401
344
307
354
286
360
271
287
338
261
363
335
383
309
355
336
318
343
343
307
342
270
373
287
320
364
373
325
389
274
276
327
384
311
268
314
301
338
380
356
372
266
266
268
388
361
291
258
324
354
294
328
317
323
311
326
321
273
303
270
298
272
341
314
311
297
326
327
348
374
329
286
382
380
247
444
217
378
369
384
312
338
267
274
339
370
293
338
386
286
272
352
373
362
312
351
288
342
374
237
331
359
357
321
289
330
326
285
322
212
374
341
309
298
343
385
329
354
334
333
327
262
350
311
339
331
365
336
279
306
277
302
278
270
333
334
238
369
360
356
348
354
337
316
269
295
284
293
370
389
327
316
302
320
266
325
347
346
301
354
428
263
286
320
291
335
318
344
393
301
345
320
401
249
244
371
409
288
356
307
279
314
303
333
402
319
357
314
242
347
340
339
396
346
342
300
394
302
343
304
278
386
331
311
316
345
211
335
302
340
356
328
328
266
278
293
315
279
268
353
326
266
278
387
282
251
354
327
320
391
307
297
348
308
326
361
324
312
311
259
335
332
359
287
368
306
252
252
345
293
273
371
273
333
373
334
302
368
381
291
267
318
348
320
299
298
263
403
318
264
283
234
341
289
339
287
358
275
313
260
339
341
289
315
350
376
304
300
308
319
365
271
276
378
366
288
359
387
370
357
401
248
220
318
256
293
297
320
331
357
231
358
341
207
320
302
332
314
195
358
288
316
320
358
277
297
269
327
332
328
369
395
270
322
420
289
343
313
366
353
319
356
337
251
337
324
354
332
271
214
303
384
282
325
247
355
339
383
316
216
279
333
371
321
285
305
296
316
222
295
296
344
239
351
290
238
390
355
328
263
291
344
248
306
361
350
282
375
329
294
258
262
230
289
314
286
308
295
353
360
343
276
358
328
219
268
346
264
301
311
262
334
267
341
259
321
265
407
223
249
284
337
298
332
310
306
334
354
279
295
285
334
277
327
253
351
387
323
309
423
284
332
248
281
304
368
357
255
289
297
319
304
296
305
256
362
376
290
348
310
320
271
370
318
305
305
302
276
279
402
309
289
362
294
314
270
329
257
295
350
340
239
354
224
293
342
353
267
326
294
340
324
361
376
331
301
349
333
378
345
338
339
356
349
270
340
276
287
244
326
311
269
258
254
398
251
296
323
259
289
348
379
316
260
369
364
337
317
328
285
290
285
335
300
266
364
238
396
338
315
322
346
236
265
300
325
283
319
283
300
308
310
335
310
328
310
363
338
357
352
324
290
288
321
322
241
266
349
253
399
370
354
277
380
270
303
309
342
263
396
299
242
209
269
290
249
336
308
274
326
325
330
349
344
252
342
250
292
319
358
267
309
370
300
261
303
327
307
307
380
359
333
310
296
383
300
297
314
344
297
351
228
325
250
287
313
256
361
246
307
361
335
306
305
297
300
330
358
299
298
355
318
275
241
278
301
337
245
338
296
326
219
303
362
268
341
405
333
385
243
325
224
264
313
314
324
262
434
272
277
366
370
336
317
370
326
309
336
370
250
268
376
294
282
306
307
392
291
303
386
351
279
305
288
304
344
367
342
317
342
314
196
270
292
231
290
421
336
360
271
280
250
281
269
294
290
329
288
347
314
337
328
262
349
362
247
293
370
306
280
306
273
262
279
239
319
423
318
313
268
382
313
299
303
359
293
381
311
254
256
373
311
328
324
352
367
314
352
311
328
334
336
306
303
299
321
315
310
311
311
355
387
316
301
322
363
283
263
306
301
423
263
320
354
371
266
375
298
344
405
388
333
308
266
392
293
334
338
303
320
303
312
206
304
353
285
260
419
331
361
359
341
326
411
326
303
312
382
268
229
330
314
273
284
347
265
299
278
265
339
309
342
248
328
300
312
432
368
294
198
305
376
303
337
301
271
387
309
338
240
288
358
301
329
281
384
309
327
241
328
359
331
326
288
371
319
278
351
322
345
280
299
338
336
325
326
291
287
331
364
360
268
317
326
371
220
311
272
192
314
361
339
207
316
370
314
312
383
297
349
358
285
263
251
325
313
336
354
180
324
391
346
255
317
300
334
399
265
329
359
319
352
285
312
341
229
297
347
331
323
299
294
262
315
311
330
298
263
348
357
302
270
348
327
370
335
313
321
391
345
385
212
299
284
313
311
298
302
248
254
316
283
274
279
304
340
330
377
318
302
387
210
385
297
289
346
278
328
288
307
291
266
312
294
333
212
289
373
261
253
312
316
306
267
344
365
228
333
258
345
309
294
317
339
361
345
234
229
351
237
243
298
293
290
281
283
348
273
328
344
335
349
387
297
365
350
285
446
364
294
286
252
316
213
289
307
302
288
298
254
314
377
388
377
309
294
375
357
287
334
361
351
286
269
332
327
337
318
313
306
364
271
375
248
256
368
351
256
276
322
274
367
260
350
238
248
236
343
322
272
294
372
278
300
270
333
301
304
324
281
321
378
307
335
442
398
343
343
261
242
253
322
373
295
337
296
267
313
370
293
255
311
305
314
347
384
285
313
350
375
321
269
330
331
327
326
309
296
351
407
331
262
367
231
362
317
265
259
337
320
235
322
302
350
273
322
354
316
321
248
397
349
390
287
224
314
301
396
370
281
353
301
392
283
275
349
380
394
358
274
345
340
355
344
358
303
311
314
336
299
376
352
351
307
316
317
323
317
332
282
328
305
338
392
285
331
302
313
285
215
266
356
364
305
284
245
246
326
263
350
322
349
295
296
385
314
387
294
302
275
297
272
336
352
247
372
355
247
363
352
337
299
285
301
336
367
354
233
269
291
255
246
387
243
346
377
235
380
243
348
302
266
269
425
313
300
319
274
289
275
387
372
376
321
354
279
348
252
344
440
348
305
319
238
341
331
302
331
347
335
301
304
308
212
452
277
300
254
355
342
291
296
365
273
274
334
371
421
323
274
271
358
383
252
356
245
367
265
279
379
348
305
286
353
306
311
331
320
321
292
300
390
248
289
275
315
347
284
285
351
319
317
274
259
300
316
290
311
299
341
231
347
301
363
280
299
253
270
405
256
326
315
315
337
375
324
217
309
333
395
258
268
363
289
393
223
295
329
368
340
313
278
300
270
287
338
276
251
346
352
284
378
285
257
334
295
290
336
308
311
289
303
282
399
327
346
285
357
336
313
316
374
309
324
348
304
315
303
378
383
292
332
411
291
306
406
279
351
308
342
401
374
335
326
311
299
312
346
349
240
274
316
256
347
348
367
274
294
327
274
334
393
308
399
354
289
337
366
282
308
228
288
304
261
293
306
327
296
278
319
308
288
283
341
383
246
260
387
340
324
242
300
256
260
338
294
364
279
350
344
361
309
261
328
300
293
342
186
348
413
370
307
310
322
340
317
351
303
353
348
368
302
309
279
318
378
315
283
313
393
301
275
398
391
320
356
314
343
325
339
310
263
283
257
384
293
335
306
315
331
231
337
339
352
364
307
359
266
283
311
262
332
300
287
262
274
331
375
293
311
293
213
290
326
321
320
274
342
251
344
242
367
295
324
338
327
303
354
339
380
406
323
330
385
236
287
387
301
291
378
292
338
343
257
374
328
341
432
312
281
398
355
376
310
334
359
255
299
270
308
284
283
339
268
372
278
374
310
293
368
334
233
272
349
309
371
355
396
276
330
324
447
360
326
300
305
345
376
335
249
374
285
357
269
349
369
262
320
340
414
305
363
306
290
388
315
306
297
314
325
352
313
363
374
332
292
309
376
346
305
338
334
256
348
373
319
362
309
324
323
295
301
252
302
334
370
380
289
321
241
245
341
294
308
357
389
310
274
238
398
318
343
474
235
305
271
362
355
276
357
317
283
378
302
336
311
356
323
302
182
336
393
311
233
310
326
304
336
223
298
314
374
341
345
351
333
286
331
346
308
327
334
211
376
231
285
307
315
335
276
249
393
276
290
272
344
244
372
376
381
364
291
359
339
348
288
309
277
335
231
291
311
341
310
309
336
403
387
359
283
344
174
236
243
320
221
361
371
246
281
351
206
362
257
310
370
337
328
269
272
270
302
270
311
283
304
375
346
345
287
321
370
355
233
330
294
311
296
290
373
385
304
281
331
309
278
342
320
416
338
346
282
332
349
286
276
301
347
277
272
262
284
287
346
334
267
372
311
318
335
244
380
358
329
282
340
323
343
205
287
245
292
272
317
342
342
333
286
338
338
298
322
332
292
315
342
285
227
312
326
332
335
344
351
403
298
297
357
356
321
321
381
354
353
284
259
310
315
296
312
294
320
292
305
331
302
256
282
304
369
306
303
435
305
295
273
283
323
302
290
315
302
347
250
240
341
304
311
351
347
362
336
229
368
243
372
410
294
238
305
222
309
346
357
340
327
356
345
320
276
360
333
270
260
335
301
284
340
307
322
368
309
285
367
300
313
384
278
305
250
317
365
334
353
268
362
365
332
374
319
362
288
231
346
337
306
264
379
315
277
321
268
315
385
333
367
324
285
373
339
334
297
286
232
271
358
321
328
212
324
278
324
256
345
252
414
305
275
373
282
311
340
256
335
331
333
328
367
289
340
360
329
330
416
267
324
283
328
368
283
352
310
219
326
378
323
219
306
245
353
324
341
242
398
359
310
304
282
339
297
287
316
291
336
378
333
382
290
323
286
321
279
366
261
299
308
357
367
385
414
268
229
376
332
268
340
313
339
327
390
272
282
369
238
319
323
303
272
333
318
271
370
316
339
338
221
265
366
292
369
311
345
276
259
225
282
341
327
338
410
302
413
236
316
280
304
265
326
368
268
291
289
369
319
324
314
389
291
326
351
287
266
295
332
371
251
358
335
301
384
299
315
364
431
388
279
340
290
421
343
277
372
330
307
285
229
335
341
374
273
273
334
336
252
332
382
255
351
294
291
224
335
375
322
260
313
242
272
331
392
310
353
307
324
292
268
351
290
260
292
332
311
375
335
289
300
369
396
214
327
369
354
356
345
294
350
289
265
303
387
278
272
343
320
336
253
272
347
339
342
363
155
361
344
310
284
332
262
372
320
359
383
413
269
222
343
279
330
292
351
368
345
305
378
343
355
349
386
354
383
320
286
362
275
346
304
343
279
396
440
295
411
358
323
321
378
335
345
354
339
360
314
312
280
319
334
325
302
308
257
290
310
304
359
387
333
357
345
316
292
314
342
356
319
227
314
264
242
337
232
300
378
280
302
288
292
352
341
304
338
420
318
266
279
186
339
400
360
328
350
336
263
372
256
349
354
286
343
410
373
324
315
312
302
328
263
256
244
369
391
254
292
289
347
356
275
276
293
359
313
295
296
387
303
295
364
256
310
293
365
285
255
242
244
289
330
377
322
330
338
342
324
377
308
288
400
351
351
393
312
281
374
338
361
301
263
360
340
322
357
323
313
337
266
366
312
306
355
341
312
303
268
313
271
361
317
228
327
306
227
343
365
353
292
291
353
281
295
376
313
322
318
362
302
370
370
417
326
280
262
254
210
237
354
282
308
362
347
338
339
294
323
303
331
335
260
306
239
302
337
342
378
297
317
257
333
275
304
258
331
305
349
239
309
255
271
276
348
250
362
347
314
262
356
300
307
325
210
431
343
317
287
294
350
323
312
297
386
304
280
265
251
238
401
330
324
297
300
281
314
291
370
319
312
379
270
261
400
267
431
342
316
287
244
331
377
246
287
309
376
410
294
321
359
353
226
356
309
339
379
322
338
376
385
388
204
259
402
322
273
325
348
288
299
261
343
366
309
298
351
314
307
377
322
378
255
314
293
312
338
346
264
347
283
344
279
345
229
252
292
363
422
214
296
276
338
249
319
374
363
349
300
327
348
298
331
214
320
332
331
272
358
276
354
302
238
287
298
345
359
309
289
241
287
380
295
360
283
310
329
288
371
340
277
300
367
425
328
241
307
290
369
222
251
321
278
280
389
246
289
272
306
368
325
295
338
311
326
196
303
273
344
290
326
333
373
299
350
295
362
360
296
325
292
287
335
345
319
335
295
319
239
314
360
335
384
279
372
378
364
333
240
330
323
242
397
337
258
297
362
321
283
337
338
228
324
346
328
377
305
253
323
298
297
265
321
235
369
374
355
321
290
358
380
334
329
269
310
347
357
305
347
409
350
352
268
287
262
302
365
316
346
325
340
274
370
225
357
327
293
333
270
379
339
422
348
266
368
320
289
326
292
389
271
290
361
297
318
315
305
404
295
292
341
313
274
270
320
267
301
330
340
335
317
281
270
314
286
302
301
304
376
262
280
353
282
281
331
296
337
366
348
281
238
299
304
265
198
258
387
331
341
203
276
264
313
287
348
245
361
314
318
285
423
259
289
394
337
315
270
301
316
301
296
337
251
369
322
360
325
294
364
262
251
319
331
231
299
326
310
379
360
332
305
357
369
339
350
309
332
305
244
338
321
322
351
272
351
343
418
303
314
298
305
246
317
357
307
359
347
357
387
390
307
350
292
293
338
295
298
246
309
301
253
324
319
384
318
333
220
213
294
280
365
403
169
311
317
267
253
274
248
277
292
289
344
251
319
270
352
342
255
307
289
374
400
336
272
413
317
283
316
384
426
327
302
245
280
294
257
300
371
382
372
306
300
323
390
365
367
310
334
325
384
246
320
368
345
357
328
277
340
392
300
209
323
307
310
285
239
249
294
270
382
338
322
274
335
303
336
413
307
351
253
403
268
324
312
336
254
302
378
285
254
300
291
301
293
254
342
238
300
347
257
342
339
301
327
286
354
298
310
315
251
355
231
357
252
357
340
326
203
322
353
352
373
296
337
287
352
338
350
382
368
267
351
317
352
186
357
299
378
236
295
335
399
356
319
291
310
342
238
302
393
228
348
292
289
286
335
238
375
213
345
408
264
316
321
374
307
374
349
278
362
339
311
299
306
303
202
287
336
287
309
272
319
371
373
316
263
375
307
371
288
268
310
330
299
300
317
306
343
337
277
291
333
272
280
358
344
274
314
280
252
351
364
324
232
256
257
308
382
258
314
320
330
308
357
350
230
397
320
290
356
335
247
302
361
341
372
319
380
270
286
264
218
294
296
359
241
331
306
332
330
215
374
331
323
304
316
388
263
322
339
318
229
373
332
285
307
347
315
303
235
327
295
260
376
372
318
316
353
289
301
342
390
278
302
307
260
390
373
305
301
327
311
286
339
316
342
352
241
275
241
299
288
328
253
353
333
409
366
288
192
353
315
321
219
335
330
363
307
339
320
400
334
197
367
348
293
387
274
348
312
416
357
334
257
327
337
381
370
325
314
268
255
349
374
351
279
313
367
349
255
315
297
348
320
287
306
327
360
271
333
304
321
239
336
308
263
334
324
237
357
321
303
245
278
376
350
259
322
251
328
300
273
373
321
370
313
377
327
305
352
298
288
347
344
307
336
366
358
359
296
308
364
256
288
333
305
381
273
271
306
362
304
315
298
287
314
334
335
363
315
262
315
230
382
254
336
287
194
305
355
372
264
250
306
296
268
342
285
313
306
308
425
309
290
284
296
218
197
381
334
322
300
300
321
306
350
248
343
393
319
289
334
329
220
323
337
301
293
270
339
283
372
282
336
408
377
302
367
334
308
272
250
362
311
326
293
356
345
311
325
277
316
279
290
301
296
297
305
283
224
404
316
275
343
366
278
308
362
286
277
328
322
325
326
281
201
258
266
305
341
312
295
347
257
333
303
295
246
366
323
344
240
326
315
297
358
275
297
280
284
303
329
258
293
287
314
358
341
351
264
380
226
349
334
377
272
399
303
305
332
310
362
283
380
323
311
324
345
193
357
336
369
298
385
212
288
290
277
294
329
229
301
392
224
354
310
337
301
231
351
318
375
341
302
345
302
338
270
246
301
273
314
290
321
304
272
371
232
272
382
250
285
382
298
317
360
400
309
372
173
341
399
228
283
385
294
320
328
366
342
319
326
278
362
380
338
383
396
292
326
344
305
364
364
301
326
245
302
292
346
320
357
258
338
296
210
363
268
341
258
250
325
300
270
328
314
170
341
277
343
336
356
344
260
225
310
278
287
404
344
244
334
378
353
293
261
233
258
328
339
253
326
365
260
271
385
280
342
297
301
337
322
400
337
252
299
367
319
261
324
379
359
287
352
257
234
336
307
306
355
348
346
297
275
409
245
327
328
269
353
287
210
305
429
301
303
326
267
326
331
318
352
345
296
286
301
319
292
342
351
295
334
363
284
327
277
211
304
341
334
325
293
275
404
340
258
226
317
308
255
325
344
314
372
250
286
245
350
316
379
278
328
368
366
330
320
320
342
312
259
275
297
332
268
339
304
316
371
297
287
432
332
284
351
306
345
283
394
321
295
303
332
307
309
288
204
352
399
351
295
299
288
334
348
340
351
343
352
284
419
368
323
445
338
249
266
353
356
349
241
296
315
322
318
376
380
307
235
302
328
284
271
303
343
282
340
257
315
308
280
299
333
326
282
287
381
276
370
282
405
277
283
277
411
277
290
258
228
315
324
235
320
275
350
284
313
282
226
308
319
407
344
346
286
263
256
283
290
308
326
347
353
253
348
317
301
407
280
354
373
314
330
356
312
320
434
378
367
366
298
250
371
291
344
369
298
355
320
348
335
296
281
324
300
444
347
346
402
246
295
291
337
286
281
321
262
386
279
251
260
307
284
310
356
296
304
261
230
331
284
342
240
329
270
296
296
308
365
297
449
284
340
284
390
310
272
353
261
308
290
333
350
403
326
330
245
288
264
327
333
317
305
168
251
242
312
346
345
345
312
323
319
283
308
381
311
278
277
322
256
334
312
362
340
365
337
242
267
274
227
384
298
309
350
314
343
291
360
441
328
287
249
261
299
327
434
371
279
302
424
332
309
253
323
323
442
264
369
317
291
303
312
367
307
329
245
289
250
272
384
320
301
331
290
365
293
276
267
266
317
311
288
301
314
375
340
328
326
345
210
265
203
335
292
334
292
343
261
349
316
319
347
342
322
301
282
270
397
266
330
219
334
324
325
302
280
316
326
231
343
329
299
341
363
265
237
319
342
323
277
286
338
310
286
290
346
353
311
384
310
343
321
253
250
341
329
356
302
208
315
285
275
325
383
300
276
337
225
412
405
366
397
373
272
278
302
407
248
306
217
248
381
357
290
329
316
279
275
405
353
341
301
384
242
388
361
291
304
314
241
300
325
292
337
336
330
294
286
312
307
188
383
323
338
308
323
305
271
399
282
303
294
376
328
297
298
341
291
270
302
267
280
370
263
310
230
324
316
313
323
354
309
258
339
221
382
263
277
330
347
318
307
257
251
262
291
354
283
285
377
289
252
341
307
334
362
251
228
297
319
338
288
363
378
316
303
292
353
265
354
296
302
278
309
334
365
325
358
321
260
363
320
307
255
326
325
393
284
307
284
334
320
285
331
336
305
354
338
318
258
288
271
331
314
245
379
365
304
299
323
386
326
336
251
334
361
242
280
318
308
312
314
232
312
356
290
410
298
355
404
355
282
358
348
292
322
315
346
226
325
299
299
361
351
352
272
358
249
351
359
304
273
315
334
238
293
301
349
413
380
286
222
368
357
331
271
242
383
401
300
357
336
293
208
374
282
304
293
304
227
358
319
334
355
295
355
300
303
302
250
328
302
320
341
332
267
290
228
330
353
270
255
317
328
418
242
275
270
258
322
325
346
316
237
334
291
379
388
247
205
349
294
248
346
300
352
395
315
250
314
285
315
296
335
327
306
338
256
287
321
347
341
363
345
314
329
285
361
315
353
314
391
298
365
189
269
370
391
246
314
317
380
358
222
398
365
268
309
324
274
312
365
341
242
370
314
336
238
315
195
263
241
246
285
308
360
255
321
221
319
311
234
298
344
286
293
351
382
313
350
363
367
267
226
400
276
373
343
340
345
339
289
315
318
299
341
255
249
327
263
335
298
308
350
290
272
347
291
382
317
291
234
238
319
310
288
238
303
296
272
327
377
364
280
231
341
298
396
350
223
331
321
316
239
294
315
332
295
311
313
245
327
215
242
269
322
270
312
290
280
321
362
324
276
317
331
255
295
254
253
371
324
304
381
240
260
310
414
257
331
322
385
344
322
357
262
256
305
361
314
325
347
296
361
345
312
355
312
405
259
294
361
257
296
357
280
235
302
295
342
318
379
332
360
272
282
360
348
262
382
359
307
247
286
335
379
360
360
295
368
405
280
270
360
295
374
293
300
333
403
312
367
289
366
323
285
347
326
319
311
301
342
316
228
329
378
321
320
276
243
298
268
393
295
376
273
319
291
303
338
306
351
356
311
326
340
278
382
314
342
406
377
337
319
317
282
267
396
273
300
298
364
289
355
368
328
281
362
310
295
314
280
358
372
303
232
280
302
242
254
262
334
308
264
202
302
267
338
409
304
335
369
232
296
281
353
343
315
318
331
368
379
309
305
230
175
335
475
350
328
349
253
284
296
259
382
294
412
221
313
401
280
350
294
261
245
371
335
268
245
303
280
360
344
265
220
259
296
339
268
315
264
328
396
254
227
297
293
242
325
302
397
273
296
292
317
340
377
344
342
358
388
332
300
258
315
282
341
284
341
311
349
310
330
305
261
299
232
254
350
291
301
286
246
400
301
326
350
317
284
276
285
276
369
294
233
387
340
245
393
371
283
278
368
286
259
398
351
339
311
259
292
318
336
299
376
272
304
291
282
287
269
347
391
261
365
374
272
344
330
330
334
252
391
283
436
332
223
316
299
323
337
334
358
282
372
337
305
328
351
306
403
323
304
342
239
308
298
245
343
323
311
310
332
378
334
303
307
302
308
251
362
304
304
214
327
316
378
451
305
298
280
343
317
346
259
353
331
294
307
293
273
350
315
323
393
288
280
301
383
317
330
315
362
327
303
345
242
291
317
381
329
236
356
300
283
328
267
341
386
375
295
347
279
285
298
394
274
320
338
249
282
320
391
282
313
360
279
250
314
307
259
393
294
318
292
354
260
302
314
392
419
335
311
303
225
374
345
323
310
342
264
310
342
321
303
331
312
303
435
333
245
318
304
339
311
307
323
268
298
315
333
379
257
313
311
293
286
302
319
300
276
291
293
341
371
375
281
244
268
266
263
297
357
323
322
346
363
310
287
312
386
325
345
279
368
240
376
281
313
283
343
382
247
295
321
358
318
351
272
334
301
412
314
308
385
304
307
277
316
350
376
362
311
354
289
289
297
397
301
296
306
392
280
417
304
358
264
403
299
233
354
306
315
319
315
243
345
284
227
311
372
365
310
342
317
272
307
321
258
332
358
332
325
324
290
334
318
373
294
266
328
354
392
347
364
286
294
315
358
369
299
295
317
227
272
252
387
324
262
263
267
234
322
335
213
275
320
278
282
262
341
331
357
317
364
268
243
334
331
395
350
231
291
269
300
348
301
281
273
321
301
310
308
298
389
337
346
274
301
318
355
330
265
293
276
321
275
336
325
288
282
279
350
263
318
276
279
338
207
338
256
237
344
367
298
305
367
360
235
255
318
361
264
355
287
295
313
404
333
349
287
385
390
235
294
362
362
320
269
336
407
331
350
252
240
400
355
268
318
242
299
347
401
268
369
244
349
220
257
302
364
317
303
389
340
291
324
316
323
298
263
278
318
326
340
340
297
316
337
240
331
303
256
297
235
347
334
347
289
330
301
359
303
356
254
363
307
267
332
346
302
259
340
297
384
283
296
344
289
290
363
325
347
306
333
284
335
343
320
326
285
324
365
352
260
299
310
273
316
280
295
267
292
310
346
354
337
312
350
281
366
324
272
238
323
315
348
278
307
379
279
373
339
263
354
319
339
339
347
325
282
333
236
275
355
304
357
331
266
273
388
222
299
326
334
299
310
337
332
339
305
264
251
293
381
236
292
340
335
350
294
349
284
273
257
225
266
353
244
327
288
276
369
240
331
351
389
294
274
336
373
293
325
311
327
292
273
374
191
341
365
275
295
243
274
289
261
412
274
302
316
336
301
322
274
296
258
260
397
368
256
266
352
355
356
324
328
294
366
241
309
304
309
275
358
350
323
324
324
262
369
387
361
309
289
257
224
317
309
297
268
314
304
414
350
372
315
322
294
306
333
326
273
298
312
272
316
386
250
239
371
323
377
321
351
263
311
247
364
337
308
294
249
334
304
268
286
230
379
316
287
306
227
384
337
330
339
358
294
284
292
350
295
305
238
295
269
330
194
258
328
447
218
259
272
349
357
362
273
220
332
383
264
309
438
204
298
430
251
287
377
321
345
325
391
355
350
323
236
265
290
308
326
387
351
316
325
325
341
292
373
312
223
339
256
294
382
309
330
214
306
316
311
309
275
328
296
349
319
320
322
250
272
330
342
297
324
339
329
287
296
372
252
361
294
282
383
228
279
408
310
423
325
233
306
267
324
366
387
391
245
247
330
237
392
359
400
331
282
260
274
315
284
280
270
301
303
366
312
334
295
365
320
341
373
388
286
297
295
337
374
313
373
340
345
266
358
353
310
282
347
348
395
287
344
354
306
251
419
234
277
279
291
306
287
313
390
339
380
267
336
335
313
274
226
272
338
249
354
365
273
283
278
320
330
339
327
363
315
265
358
252
364
344
338
298
263
335
349
329
315
329
312
392
321
285
304
339
333
247
350
248
399
313
260
216
235
205
364
286
297
226
321
316
305
300
362
336
326
303
303
326
295
356
297
290
324
369
339
278
340
265
264
391
271
347
322
315
367
253
337
431
239
284
337
309
298
336
353
296
233
310
352
288
311
309
324
357
333
370
249
368
340
311
318
298
371
318
299
330
367
321
283
349
371
344
305
315
315
366
279
346
258
335
355
351
341
230
387
334
322
309
300
377
314
279
402
332
330
386
309
350
302
334
351
263
262
333
321
264
308
370
338
307
273
261
375
325
282
304
269
331
343
313
268
293
222
363
270
286
314
299
319
393
344
351
214
238
263
307
253
294
311
256
372
323
271
297
370
301
371
291
372
286
304
294
370
375
308
250
273
305
295
367
336
295
359
296
314
281
337
307
346
273
322
267
262
329
237
344
325
276
417
306
369
242
324
394
272
341
280
328
274
397
278
348
336
349
315
236
300
318
303
378
368
282
356
347
314
312
322
356
331
235
359
299
322
339
367
305
429
261
378
314
296
350
227
394
336
296
393
325
333
369
364
312
246
307
389
291
331
371
333
383
258
288
286
281
349
183
297
373
350
248
252
359
274
359
307
266
351
330
275
348
276
306
382
326
365
314
341
354
335
318
295
235
402
340
222
365
323
275
217
295
254
324
206
270
267
366
351
350
283
317
342
329
296
327
362
340
334
294
292
311
370
336
357
350
294
380
279
266
260
300
335
394
270
381
263
264
296
246
300
358
292
333
238
223
253
327
416
298
367
300
354
242
358
349
274
324
300
381
290
368
310
385
292
252
253
272
296
298
344
395
226
296
318
297
353
336
263
396
348
302
394
341
232
360
303
261
303
318
270
292
369
430
351
329
253
352
248
332
303
278
293
329
288
324
258
318
325
324
381
261
393
356
350
300
282
284
314
316
373
295
338
376
306
223
401
375
265
348
281
311
294
270
315
413
337
329
225
292
312
284
242
344
345
367
292
347
368
270
298
336
295
351
246
303
322
255
329
288
296
366
360
367
249
383
294
358
280
323
285
302
326
335
257
292
233
278
263
254
355
348
376
350
251
276
319
379
263
358
273
342
408
240
371
251
312
293
333
303
390
347
358
341
262
295
233
339
338
275
300
306
293
211
294
270
237
261
298
356
301
353
332
380
206
281
333
346
377
381
334
315
343
281
307
334
268
307
225
372
267
321
346
340
327
345
350
310
253
395
287
268
356
343
242
308
254
379
217
288
310
254
323
316
300
345
362
284
302
300
288
240
278
367
248
277
335
359
247
314
391
337
298
359
314
294
273
291
395
285
304
329
339
303
338
259
303
348
275
330
341
358
274
328
335
314
311
222
347
251
285
327
236
316
337
312
279
343
328
272
285
273
316
298
305
370
296
297
380
364
282
358
225
280
253
376
231
314
319
318
250
275
305
297
337
324
336
317
330
361
305
322
339
350
333
389
307
256
346
263
390
348
335
345
289
268
287
312
307
308
305
354
351
299
312
282
286
359
315
341
365
329
307
295
244
379
294
241
274
301
286
316
254
345
324
361
357
237
305
283
359
246
324
348
205
331
272
272
264
361
293
268
361
395
372
280
279
358
258
374
230
312
286
345
319
268
282
313
261
383
360
347
340
292
392
347
271
246
338
271
373
323
278
294
356
297
314
352
299
373
326
339
299
301
270
315
353
300
303
302
287
374
287
266
302
369
324
345
289
263
275
293
223
300
362
411
271
182
382
306
384
247
310
313
348
355
297
316
395
273
322
287
328
273
298
267
250
271
389
271
306
248
337
324
291
314
331
278
340
358
290
335
328
284
286
346
313
301
367
346
314
347
371
359
396
281
292
286
354
380
304
348
292
343
288
336
323
297
343
292
284
365
268
325
261
195
227
342
332
335
250
313
377
292
323
331
331
270
258
274
388
295
315
304
280
303
369
234
291
320
336
328
269
255
261
357
292
282
297
309
379
370
364
312
344
243
271
235
275
380
303
240
294
279
333
299
344
286
369
417
319
279
293
255
425
299
298
307
341
378
283
336
366
227
400
309
317
254
365
339
328
284
281
354
334
259
377
215
289
405
361
300
295
295
350
236
316
268
383
399
314
330
352
341
300
312
327
392
292
335
331
374
350
285
278
300
310
268
243
303
304
297
312
245
318
319
355
307
289
319
320
393
251
318
318
305
359
401
294
251
325
252
259
384
291
257
362
352
332
320
322
275
271
293
312
331
241
352
331
274
296
336
333
350
269
359
315
285
353
321
358
269
268
329
338
293
304
355
217
303
362
347
356
338
305
316
314
341
311
305
332
330
302
363
283
283
343
335
312
335
310
299
333
280
340
288
350
324
362
285
392
320
284
322
321
283
308
269
365
322
399
300
344
350
299
340
329
342
260
245
298
282
352
302
299
300
302
299
323
260
358
346
302
303
323
327
259
351
315
296
304
355
273
346
326
328
269
325
275
268
302
343
317
272
310
403
331
320
342
253
343
279
327
305
203
254
312
296
335
307
349
370
301
306
312
317
422
227
290
350
310
325
320
296
403
322
301
314
344
329
321
391
263
342
340
318
328
339
355
390
333
252
269
375
342
268
308
318
312
184
276
260
363
321
358
276
294
268
361
316
305
355
315
325
320
343
396
231
296
315
231
358
267
378
289
351
322
367
284
320
364
321
264
332
313
260
254
257
274
322
317
330
217
325
305
284
293
334
280
286
330
316
266
332
341
287
368
278
296
427
337
371
274
271
388
361
259
271
272
320
314
293
257
216
337
337
303
336
244
316
285
346
300
362
359
355
316
326
231
376
285
278
374
290
375
382
295
267
290
351
383
288
412
317
292
376
258
322
350
290
299
365
322
332
348
343
348
307
316
281
316
268
329
301
454
365
365
263
312
295
311
334
302
353
349
300
314
299
359
306
344
329
284
326
294
341
303
356
345
293
347
276
278
266
275
274
345
290
299
345
338
315
355
332
314
311
289
315
255
280
350
296
316
386
343
326
321
282
269
395
263
282
308
206
366
290
214
269
343
269
279
290
360
357
349
214
222
319
340
324
258
317
315
258
302
294
280
306
355
293
251
218
312
369
270
325
346
330
335
315
279
380
313
346
326
309
294
250
344
252
222
332
314
293
328
298
287
308
270
263
280
287
316
364
307
278
338
284
319
343
375
293
333
261
286
245
361
317
298
318
349
427
281
310
340
312
341
392
376
259
346
297
295
350
320
313
294
341
368
379
347
342
295
361
335
385
323
394
364
331
278
246
344
334
254
324
288
344
392
301
334
247
313
310
286
403
293
363
223
279
358
364
306
345
267
291
320
313
326
351
322
295
333
273
349
305
345
332
313
279
255
354
330
328
312
288
319
337
364
363
252
286
323
333
292
284
353
322
345
310
324
364
246
305
219
381
397
330
410
356
273
303
232
335
298
314
336
316
306
405
331
340
305
400
236
266
319
230
398
323
362
387
355
396
342
393
353
228
210
305
366
268
281
323
303
280
322
288
339
251
303
364
345
255
352
326
316
297
265
295
286
240
362
251
320
323
294
390
258
346
331
360
324
321
335
273
248
308
270
358
365
331
302
349
305
346
367
278
290
344
331
332
284
268
354
325
315
202
283
380
333
317
412
267
293
330
332
320
208
278
290
297
198
327
316
366
315
296
256
359
238
336
269
376
287
294
333
290
329
331
202
296
350
255
266
347
245
289
347
315
313
202
371
278
330
306
333
367
252
399
285
350
252
381
369
273
377
302
344
313
356
366
336
353
389
309
350
252
387
241
371
369
265
254
283
375
249
292
378
338
335
386
351
258
371
255
335
276
354
287
362
279
265
325
354
380
218
327
253
235
314
314
380
364
296
277
348
305
222
272
289
344
367
288
289
262
342
324
273
301
233
232
238
285
309
284
337
356
272
319
275
288
405
299
334
211
278
393
277
259
280
273
302
352
243
351
367
401
345
381
308
410
318
311
411
309
264
391
289
393
312
288
312
281
383
364
293
289
355
331
333
262
418
313
213
316
286
340
380
343
412
349
304
257
312
411
354
273
326
357
322
363
349
307
294
331
274
316
376
226
304
331
223
362
336
303
272
292
292
379
276
320
317
256
317
267
301
300
299
241
346
336
243
321
339
317
310
266
330
335
339
267
260
338
370
320
329
410
375
299
278
237
268
303
292
347
311
353
322
233
316
333
308
392
275
323
328
288
315
335
343
284
302
298
260
329
402
243
277
378
289
324
361
309
330
356
360
307
334
242
430
287
291
334
380
287
238
240
396
386
276
243
316
339
305
358
287
294
320
383
255
359
259
362
344
345
416
223
346
378
307
267
280
281
295
334
342
307
271
302
331
385
403
294
320
255
373
357
379
369
382
325
272
324
391
330
320
289
241
349
323
320
336
313
271
344
267
339
248
355
253
228
320
365
374
330
322
277
365
372
344
340
320
274
266
366
366
289
328
367
298
287
271
349
344
272
334
313
306
296
297
254
411
361
307
356
273
265
365
362
332
346
386
352
269
320
330
308
370
306
379
234
373
362
237
322
260
379
300
356
274
358
293
243
250
328
373
291
281
337
375
298
328
294
324
365
349
386
309
377
222
325
352
332
302
404
375
344
296
308
283
330
286
278
281
261
320
304
272
304
290
245
217
299
287
230
314
285
267
332
339
330
266
361
360
244
308
293
365
340
369
325
267
256
247
323
382
346
329
273
295
319
225
338
387
332
355
207
376
369
339
306
351
283
403
246
289
337
296
289
257
352
274
339
328
268
271
307
312
304
227
321
274
270
272
373
259
344
230
289
381
327
304
310
322
277
402
374
321
280
337
295
256
289
220
331
280
325
407
316
348
292
347
324
336
374
345
344
310
342
352
350
390
293
275
271
265
336
363
352
291
341
373
384
373
291
263
328
332
402
369
307
282
304
274
282
310
366
323
318
232
331
276
285
233
319
287
280
320
315
319
226
291
271
313
400
313
342
374
314
298
298
336
217
268
271
286
327
415
233
273
301
230
363
263
343
335
250
231
325
398
370
295
239
282
320
357
316
339
333
286
332
204
374
313
296
335
318
323
320
328
297
325
385
294
287
303
274
291
353
300
270
353
221
295
314
329
271
345
266
317
304
373
322
304
292
330
330
311
286
256
341
276
352
352
218
284
346
296
325
315
338
401
338
343
289
268
327
254
309
298
271
354
290
369
380
318
368
360
260
293
367
350
236
389
345
344
371
370
336
334
317
342
353
320
215
283
312
363
329
312
294
344
330
325
264
315
323
276
286
286
294
330
247
334
334
259
287
247
289
247
372
350
298
313
324
331
307
309
256
298
282
217
256
278
247
322
319
353
224
293
353
304
298
388
279
286
372
369
321
329
285
306
294
375
338
290
351
281
361
350
307
320
404
324
296
348
340
287
313
351
309
270
345
345
231
336
258
349
280
272
293
390
392
381
278
243
276
361
313
359
342
298
382
240
337
337
397
292
249
328
334
304
266
314
340
307
234
377
314
294
227
283
287
319
290
265
327
307
291
305
316
320
317
283
404
295
235
276
291
376
285
316
388
334
361
326
237
362
306
362
261
297
266
320
360
304
166
371
310
267
346
355
183
287
317
290
376
296
323
313
284
354
305
304
319
306
265
326
316
286
353
235
291
339
234
380
267
330
362
397
304
276
329
379
341
267
320
294
292
227
388
317
264
288
392
304
355
304
234
282
343
213
312
331
199
276
418
357
325
311
301
387
360
270
278
230
206
295
302
292
360
245
310
334
385
322
370
316
383
329
282
305
270
307
332
337
339
340
352
289
250
274
259
296
277
343
317
239
401
298
348
343
335
324
334
261
316
343
320
268
350
260
388
340
326
379
384
325
344
272
344
315
343
379
332
290
268
323
300
230
292
336
308
309
312
232
260
220
315
380
286
371
255
268
285
266
283
286
373
267
394
337
362
343
258
296
239
277
348
373
353
327
255
306
311
275
285
283
302
417
370
290
356
284
275
385
263
346
320
249
315
344
308
299
312
297
240
395
298
302
353
320
370
252
320
298
367
288
380
246
328
388
179
277
324
344
370
291
412
288
306
328
302
336
347
305
321
379
345
327
340
318
297
230
373
242
353
330
258
317
274
385
347
400
368
300
266
277
307
339
347
346
304
310
349
299
302
321
312
337
275
340
395
335
299
252
254
369
349
327
340
331
324
237
299
290
413
356
316
320
291
270
281
304
267
225
260
341
346
402
316
367
348
369
359
239
263
335
312
377
321
363
320
363
260
323
353
280
266
321
311
261
329
321
304
233
382
209
350
351
343
369
270
297
368
209
331
351
361
281
320
307
321
358
320
210
360
332
374
284
356
301
287
254
345
327
308
261
275
352
342
281
328
364
359
324
254
321
361
350
409
354
346
359
273
293
427
315
295
314
261
345
352
267
325
357
266
273
245
267
284
353
298
369
317
381
200
321
286
267
340
301
284
365
336
279
277
293
432
311
269
363
372
321
297
365
352
302
304
353
246
318
279
398
341
310
375
362
286
234
330
296
233
250
322
308
244
277
290
237
340
367
265
230
302
312
217
320
322
317
263
386
337
330
381
317
207
277
367
339
286
321
315
356
251
377
313
360
356
308
431
339
330
325
220
318
335
312
251
161
276
281
282
296
330
290
268
318
366
446
245
243
293
264
361
322
369
333
309
286
299
303
346
309
331
278
335
284
299
350
284
319
315
396
311
398
290
304
346
305
377
302
345
280
315
348
258
266
310
338
373
325
261
279
307
276
285
317
306
310
336
382
323
332
263
266
284
321
291
348
352
297
309
314
297
284
336
333
254
343
291
318
235
319
320
331
300
319
382
414
333
340
268
303
330
361
315
246
413
372
347
312
352
379
299
358
344
317
263
281
349
248
304
329
316
366
268
311
342
269
261
319
304
286
291
348
324
323
319
323
298
391
356
346
265
285
276
272
229
282
454
255
368
320
256
388
404
243
353
339
286
351
262
278
354
320
333
342
275
233
331
252
295
305
331
286
303
325
308
266
432
236
289
216
373
328
316
305
282
364
398
318
299
286
365
237
237
353
307
347
273
321
353
317
352
338
266
365
255
284
285
263
384
299
279
335
307
334
282
372
327
253
263
272
291
369
357
228
361
227
340
347
269
314
372
370
262
284
326
312
315
256
306
334
287
309
389
232
393
345
365
377
256
267
280
335
329
407
321
278
240
282
269
237
373
350
279
398
278
289
329
345
291
296
321
222
330
358
299
327
369
311
340
295
342
303
321
288
312
321
260
289
336
349
362
304
390
384
384
318
249
324
390
298
317
362
401
225
342
386
301
232
424
429
272
358
336
357
342
331
186
360
293
347
332
335
275
343
340
299
314
316
374
311
335
317
349
246
330
349
252
279
323
235
373
310
305
331
330
339
258
283
275
375
282
283
281
370
359
314
222
339
284
354
271
270
295
334
400
308
386
360
306
227
268
262
286
206
247
299
333
345
290
341
352
333
366
352
358
208
307
284
335
320
312
279
271
274
299
274
353
301
261
397
327
313
281
294
375
393
369
220
255
292
320
317
320
303
252
324
305
334
367
277
287
272
356
313
389
335
242
358
360
368
416
303
286
319
301
212
344
302
321
298
394
320
311
295
331
317
323
346
354
299
277
272
384
364
348
318
270
346
406
330
331
390
382
316
313
265
319
268
373
341
348
297
302
345
370
341
300
399
345
349
312
373
392
309
307
353
341
351
310
345
349
344
320
375
223
292
252
425
284
297
341
321
288
341
329
368
250
252
313
247
294
286
319
327
317
343
284
374
335
307
378
327
350
306
272
243
299
346
347
392
259
261
280
305
370
358
234
313
371
271
273
269
274
349
249
334
297
349
300
357
260
296
376
287
266
311
276
307
309
263
343
262
369
253
329
304
359
313
296
274
320
316
322
324
336
295
313
294
349
270
323
285
307
293
414
314
286
256
228
296
388
302
395
274
337
267
293
370
310
309
272
318
295
297
264
375
346
258
301
314
365
271
287
292
289
393
276
320
373
230
283
327
312
268
293
307
312
262
295
357
264
357
293
306
393
336
326
306
348
355
297
289
365
373
368
326
354
280
260
383
349
376
350
371
311
336
332
325
349
304
309
345
308
239
285
268
335
262
362
318
432
270
328
294
261
301
343
281
334
279
386
305
390
274
374
294
351
292
350
344
319
301
292
374
331
332
358
288
283
280
331
311
293
361
285
283
342
310
340
388
279
372
316
274
258
419
315
300
284
346
352
359
281
295
257
335
322
292
340
306
335
303
272
336
347
297
301
275
298
296
361
268
309
285
355
355
307
282
299
312
352
347
357
315
331
408
299
316
346
287
363
357
271
282
358
244
321
303
352
277
296
338
252
341
379
319
331
359
307
382
279
347
344
291
278
276
247
381
359
319
289
204
301
315
291
351
304
306
279
316
333
356
351
352
247
356
281
347
348
408
359
378
343
321
288
348
287
253
337
382
325
284
308
334
287
259
278
373
347
309
237
311
271
341
239
332
272
298
276
299
367
316
338
312
299
381
347
380
237
291
344
306
293
399
392
286
304
337
337
293
384
241
269
230
291
334
266
357
334
290
333
355
359
236
307
415
301
311
386
350
287
385
308
294
413
289
314
292
364
356
211
252
317
309
287
261
350
317
382
273
267
384
326
333
407
308
281
333
301
319
362
328
394
296
337
274
235
332
377
338
311
283
302
286
189
293
278
237
295
260
324
318
276
303
322
333
332
347
357
293
283
334
325
309
393
317
319
265
364
285
319
249
346
244
360
301
364
379
327
238
269
317
339
366
336
299
192
243
323
238
312
284
352
291
301
356
336
321
359
330
346
347
261
334
268
371
424
344
325
313
273
303
336
344
312
259
261
314
361
286
326
345
337
310
297
333
285
199
348
361
238
323
316
250
249
366
304
337
379
267
310
389
328
293
297
284
358
239
338
276
314
242
294
343
277
283
341
334
243
303
346
349
362
383
282
380
378
390
260
358
214
329
311
310
320
341
242
255
393
325
281
362
334
355
290
341
280
258
339
341
293
350
270
204
309
365
194
299
370
454
327
358
253
315
257
296
368
338
306
306
269
338
257
326
267
325
344
264
309
314
308
266
327
353
233
338
291
267
346
274
268
306
360
322
264
347
238
299
241
279
321
261
343
338
340
317
303
306
301
304
292
336
339
301
302
310
414
407
334
400
363
376
342
390
261
380
295
333
215
354
348
304
294
358
262
318
365
368
267
284
291
308
370
311
301
305
338
254
324
334
331
267
404
254
405
291
254
317
263
290
284
321
300
324
238
339
374
304
357
257
271
373
261
331
298
306
398
347
333
322
278
354
311
264
450
303
323
357
355
331
365
380
296
345
388
312
380
362
344
275
309
371
273
248
346
342
233
343
291
377
306
389
297
356
380
380
386
330
358
321
301
299
382
302
220
328
267
303
317
382
401
364
345
368
269
290
312
265
334
248
307
310
384
308
360
288
338
292
275
250
297
294
295
230
323
180
334
276
397
400
359
271
343
361
288
352
248
325
244
260
308
320
162
369
308
316
321
269
320
296
337
313
398
308
314
288
289
255
232
235
279
269
360
384
298
264
248
302
330
350
286
292
296
305
311
268
349
270
353
267
285
352
295
308
368
283
311
341
338
324
407
362
293
376
377
281
279
400
384
406
309
331
339
320
375
355
345
354
357
359
310
302
264
283
267
331
362
346
383
276
313
317
338
344
356
328
280
366
312
302
341
307
315
296
350
341
362
330
330
253
225
317
320
287
398
244
257
225
331
294
362
329
326
378
307
318
367
327
362
232
340
295
338
307
352
340
302
331
292
345
269
334
294
279
330
266
268
296
325
268
332
243
335
338
379
320
242
393
349
327
361
330
284
317
369
368
316
303
177
303
353
234
248
317
387
340
329
380
243
306
278
339
336
334
252
340
320
335
267
289
378
295
386
290
315
297
326
289
281
329
302
330
281
286
238
308
340
273
308
240
221
367
353
391
309
280
378
336
319
223
388
391
380
300
333
344
323
289
313
365
380
357
259
327
315
370
323
303
301
381
365
278
289
311
341
408
373
285
305
323
311
286
286
283
318
290
310
327
295
273
279
402
308
381
427
347
370
363
277
242
396
365
282
274
292
324
324
336
240
249
307
357
390
338
349
290
358
388
329
284
311
353
304
312
372
336
357
338
319
332
323
325
383
388
336
372
338
342
314
283
220
354
269
260
322
297
317
351
341
332
323
342
297
349
267
356
356
265
386
280
297
392
298
375
279
290
211
389
404
299
252
374
312
311
300
333
298
264
345
372
292
326
327
357
344
424
290
323
372
212
302
338
310
348
307
264
324
331
366
349
284
267
332
278
359
333
296
373
272
308
327
329
317
367
250
373
366
350
317
273
263
251
287
302
376
288
330
373
289
340
354
322
281
303
323
316
317
331
375
276
339
266
380
303
308
289
290
229
262
398
324
259
360
299
291
315
312
347
258
289
322
274
298
344
262
313
252
323
244
329
289
350
368
276
344
356
255
361
296
296
305
266
255
389
320
308
335
365
237
364
353
345
325
317
248
324
295
325
139
383
299
303
278
290
296
332
346
275
316
231
296
322
341
364
274
307
378
391
392
293
332
286
361
336
217
289
313
269
312
324
380
314
343
331
313
329
276
299
321
323
222
250
328
375
333
273
395
313
302
306
323
378
347
254
285
231
324
385
318
368
356
301
289
317
294
274
365
350
320
359
188
265
370
241
279
231
335
417
324
343
374
329
346
300
296
398
265
281
321
387
277
358
271
305
214
338
289
323
269
300
328
332
338
326
362
336
298
327
309
316
269
382
357
294
368
326
274
310
356
361
257
350
351
375
358
365
295
327
344
361
417
275
353
309
287
325
292
245
351
353
430
332
322
310
335
284
371
338
320
337
293
284
305
261
304
355
362
409
322
335
333
282
386
240
318
366
284
294
187
332
276
381
311
267
335
388
251
287
297
300
388
315
303
328
345
325
320
429
295
222
377
309
309
266
284
237
313
309
220
330
349
292
322
299
285
321
381
330
373
382
298
319
333
345
349
291
360
287
226
288
336
302
355
303
262
310
291
349
311
303
291
337
270
339
279
355
252
390
328
342
295
354
249
322
339
377
276
373
366
353
329
320
347
238
306
388
367
232
307
273
290
258
315
310
334
319
249
283
292
415
255
302
351
347
359
281
298
304
215
271
279
315
417
303
359
313
294
356
257
267
375
299
370
344
334
346
264
324
348
315
299
305
312
296
310
350
294
265
226
332
315
312
279
276
365
340
335
331
290
276
280
281
282
305
260
287
301
335
242
313
296
275
327
313
327
230
345
280
326
317
295
284
253
209
267
329
273
423
267
303
273
324
235
265
328
375
324
306
280
215
226
276
263
295
318
358
302
319
356
316
262
370
367
312
337
307
216
287
251
328
377
239
363
343
326
235
316
305
309
356
348
336
287
264
322
315
309
352
343
284
370
320
322
322
268
318
291
359
304
340
326
339
367
317
284
324
283
312
263
286
357
282
335
261
333
356
321
343
266
310
292
350
321
292
417
374
381
269
349
286
250
314
310
288
270
215
278
348
303
293
309
382
287
299
230
329
319
334
326
302
322
273
345
334
331
345
270
363
304
368
287
305
289
321
324
353
286
314
411
328
343
309
344
413
302
279
322
353
351
268
288
292
304
348
288
331
339
387
362
228
250
325
298
314
323
319
295
305
373
329
347
378
276
358
356
314
330
345
341
256
380
279
326
291
321
313
292
330
329
247
350
312
286
266
295
330
270
252
300
405
221
268
255
291
417
273
279
324
323
253
263
308
336
360
303
328
251
307
405
272
269
370
341
218
323
315
354
250
345
266
315
418
308
293
299
300
319
328
267
338
256
384
339
275
294
288
163
401
270
274
255
388
418
288
357
357
256
323
341
249
323
279
269
297
388
312
314
327
253
237
303
358
326
360
366
339
364
308
348
323
332
322
281
274
346
255
313
420
345
300
354
305
344
345
383
300
291
380
348
318
358
337
393
411
316
377
441
289
334
307
300
309
361
294
291
273
334
358
270
236
311
356
330
308
385
216
323
223
324
295
349
327
307
293
304
298
311
255
318
300
332
318
435
329
295
314
287
325
273
366
352
377
355
313
333
363
297
292
322
293
330
372
291
328
307
369
355
267
313
308
276
301
285
378
340
385
234
382
364
349
274
249
346
362
373
302
276
356
382
322
412
247
230
354
316
372
317
324
259
328
405
267
284
311
314
374
265
307
307
338
324
282
384
368
305
435
347
352
275
317
265
335
362
282
288
335
302
356
235
332
297
273
347
308
290
354
344
402
287
345
334
346
364
249
298
320
326
286
304
271
250
336
305
287
302
370
353
281
389
344
359
330
373
332
305
211
334
313
304
299
243
307
265
328
296
353
346
316
312
328
312
235
331
331
323
388
361
392
300
331
326
242
310
233
326
248
242
355
302
306
363
302
258
280
358
202
268
289
328
346
295
363
288
293
278
335
396
368
350
330
323
260
261
310
369
348
370
325
259
420
325
411
305
311
312
388
369
213
235
330
349
251
372
308
372
251
323
364
353
296
314
351
249
311
324
291
315
344
383
356
270
336
352
298
373
326
281
358
232
254
319
430
319
402
257
363
331
344
289
311
305
388
303
304
375
377
371
331
390
274
330
323
265
340
336
331
311
206
256
358
287
359
383
354
352
296
291
298
289
260
329
302
329
408
344
270
318
326
325
330
283
323
347
334
327
265
312
285
292
343
373
372
351
280
364
311
248
319
276
282
368
299
387
352
317
281
243
287
306
377
277
399
321
375
327
264
313
351
301
326
307
266
304
330
256
218
372
310
226
292
351
304
307
310
332
269
305
355
385
321
274
370
343
244
301
280
364
296
316
265
282
293
361
350
280
301
367
283
283
277
311
289
295
242
320
272
294
299
313
248
364
314
318
389
297
386
368
353
276
327
320
301
314
378
368
307
291
284
350
254
294
327
302
285
326
344
330
378
376
250
308
249
343
334
245
301
314
309
375
239
344
371
322
239
318
398
289
291
336
298
363
302
263
361
270
353
303
291
322
221
303
257
257
314
367
345
324
234
299
328
286
323
335
289
276
291
348
290
361
292
384
316
358
294
260
349
328
316
418
306
280
337
307
361
240
363
341
352
303
317
326
275
333
317
356
280
292
325
314
323
356
346
273
206
269
344
308
301
314
363
344
336
360
285
270
304
306
355
343
317
394
310
289
314
319
253
295
279
290
392
371
360
302
327
386
214
352
319
368
291
303
287
363
291
375
320
337
286
358
322
316
282
335
384
357
331
328
380
412
338
305
387
346
400
290
343
311
291
298
284
242
300
307
383
326
367
291
377
296
301
287
353
296
270
383
279
334
309
268
359
249
280
404
384
355
326
339
295
385
276
337
280
305
222
344
355
327
351
214
329
356
329
304
312
298
302
301
294
288
374
284
367
348
338
292
374
335
316
187
264
319
346
220
317
325
376
417
340
290
250
240
314
267
375
282
330
410
415
287
268
385
324
370
367
371
293
294
289
329
319
361
336
253
286
261
247
202
280
265
353
298
344
286
310
374
341
314
276
340
264
307
370
312
392
279
309
344
286
302
300
366
182
347
304
310
355
236
327
346
310
380
255
274
342
279
335
353
347
298
299
325
331
284
297
356
322
213
371
298
385
322
239
273
308
262
312
391
318
255
307
310
302
263
328
346
340
360
351
330
317
290
289
358
264
326
299
263
190
250
386
301
320
272
361
271
288
363
249
360
292
282
391
242
340
397
318
346
343
318
302
221
240
289
307
383
273
249
340
320
351
327
302
278
362
322
292
390
278
321
371
328
352
359
355
342
294
364
313
289
345
302
275
358
305
371
244
350
252
309
285
342
350
330
344
403
263
312
299
297
282
307
251
279
233
267
284
275
308
312
265
405
342
308
332
334
313
261
275
337
267
319
313
356
308
261
310
344
282
315
359
319
329
298
387
301
297
303
281
324
370
330
332
307
310
373
301
290
338
282
369
331
255
389
356
302
323
343
383
351
395
337
316
290
361
339
336
348
194
303
320
343
389
314
291
375
279
291
362
286
317
330
324
324
292
266
333
358
293
279
296
246
340
368
293
273
282
398
268
284
347
372
345
231
350
294
308
314
345
388
332
225
356
261
319
318
343
319
249
327
233
312
379
273
314
424
263
350
281
323
284
369
376
266
300
276
326
273
426
304
238
313
293
356
241
290
251
347
321
330
319
321
314
340
320
366
284
308
291
378
330
318
345
362
306
308
285
295
312
267
379
313
369
340
277
343
341
303
406
275
295
292
304
243
362
323
274
363
228
338
328
297
308
250
347
296
306
387
286
363
347
359
296
319
268
312
269
305
209
299
324
314
301
303
306
338
337
336
318
243
353
300
256
357
388
288
262
278
214
303
302
337
305
351
259
365
333
289
334
280
307
330
287
330
367
298
317
294
271
297
319
369
249
351
293
233
407
230
345
366
325
278
299
264
302
394
239
248
326
297
253
369
297
399
346
245
323
326
275
368
329
340
297
333
255
309
348
295
277
337
303
300
335
306
356
343
353
252
223
299
306
365
326
316
333
351
315
323
372
311
281
338
350
287
354
264
305
310
358
312
260
328
365
263
271
274
324
316
363
311
289
252
313
350
366
268
318
250
306
317
264
270
351
286
341
250
292
305
296
302
290
280
326
322
262
308
277
283
318
347
299
268
263
240
377
364
271
322
318
326
386
277
336
319
296
375
370
347
395
351
281
287
339
342
327
321
246
296
311
302
294
340
318
252
304
316
343
266
222
356
374
294
303
307
327
263
319
386
293
341
309
297
336
244
381
320
309
332
311
356
318
283
349
310
354
373
345
355
362
332
352
331
282
337
328
283
338
304
266
299
353
288
366
357
363
304
336
345
328
349
301
368
297
378
334
380
373
343
406
319
359
321
340
316
314
348
311
290
275
315
294
328
318
233
297
407
237
341
344
336
369
283
387
251
342
282
307
340
270
347
298
283
203
373
322
354
285
387
353
360
246
329
336
410
333
348
275
310
325
407
182
333
321
320
310
296
254
299
359
211
303
396
348
301
325
329
363
333
350
291
285
311
360
346
301
222
380
284
342
326
320
289
230
302
277
312
316
321
336
345
330
350
303
328
314
350
242
344
281
311
354
326
350
384
343
358
262
283
303
166
228
267
327
241
314
244
287
318
329
301
277
320
273
290
322
377
386
258
336
238
285
361
281
321
290
356
294
277
241
416
275
311
349
317
332
293
358
346
305
306
292
353
254
320
338
377
328
299
324
354
319
381
272
261
290
339
371
316
360
346
339
267
399
314
364
301
244
398
287
326
379
311
338
276
302
338
284
281
423
334
323
369
286
285
394
268
360
343
316
256
359
332
307
338
266
238
334
246
309
308
341
295
344
373
325
303
301
340
374
331
278
320
337
286
255
343
310
327
316
297
345
307
362
291
341
291
383
297
361
279
387
314
270
227
360
351
323
309
274
332
327
347
322
291
305
315
322
361
313
209
298
384
314
263
320
323
317
363
340
280
305
230
335
316
296
324
337
358
324
347
303
371
394
317
362
267
328
414
297
299
277
367
277
330
343
268
361
325
335
231
217
261
310
330
396
399
329
416
315
278
355
368
263
303
313
316
277
293
327
235
280
307
334
250
293
310
221
318
282
284
316
378
331
335
332
255
314
302
263
276
353
410
309
284
337
301
381
308
375
348
366
251
381
315
372
329
297
306
326
289
435
291
346
379
321
274
221
296
382
257
340
298
291
334
284
342
357
377
340
405
308
351
261
282
370
311
322
384
273
300
302
342
324
286
349
361
342
298
238
282
276
408
298
299
260
292
367
321
268
291
345
377
267
344
350
264
361
364
400
277
276
348
312
299
381
269
278
314
338
371
341
329
302
274
307
321
404
302
332
351
339
308
296
330
321
299
339
375
336
335
300
348
322
356
323
269
369
421
291
308
335
298
271
302
281
309
323
250
318
328
291
326
333
239
325
316
239
264
188
306
296
279
346
269
293
379
308
350
318
315
332
283
310
256
300
301
324
297
314
260
405
334
336
346
294
335
254
327
337
306
293
318
334
303
323
353
346
256
329
337
307
276
266
288
358
287
232
268
271
322
279
326
394
324
333
340
320
327
322
236
351
284
312
236
311
334
335
333
332
337
239
294
295
287
364
326
301
300
255
212
265
319
296
355
265
269
313
326
358
291
409
281
330
385
283
353
308
354
267
397
392
342
236
284
340
316
284
285
360
300
309
359
321
310
238
319
284
325
355
273
260
255
358
316
338
312
284
344
343
381
335
308
301
334
325
324
330
298
343
365
336
322
297
367
315
278
320
305
334
289
321
297
284
329
289
323
333
300
302
288
354
316
305
287
341
302
275
332
311
330
312
368
212
247
362
342
313
260
273
239
311
327
328
290
339
383
263
287
275
373
340
352
330
328
322
338
317
219
381
301
337
286
316
228
283
281
276
323
334
341
342
344
247
357
307
370
360
314
377
233
326
359
430
362
357
206
345
318
314
234
272
297
431
309
306
261
324
321
286
354
384
345
244
353
378
243
349
237
370
299
262
320
334
282
233
339
339
279
303
296
349
335
324
337
291
255
332
269
310
305
306
363
303
338
321
369
347
346
303
311
311
233
297
303
258
331
346
376
361
287
351
252
308
332
307
301
329
356
310
286
338
349
309
351
272
310
328
313
267
297
310
254
376
331
209
265
367
272
359
336
301
225
313
340
276
293
274
329
450
314
289
318
329
279
351
325
365
300
327
392
356
274
257
347
377
340
290
281
353
360
305
292
378
241
332
308
283
310
220
187
282
357
260
355
303
303
256
361
333
321
305
371
320
304
333
303
316
312
261
343
292
249
336
360
288
259
268
285
378
284
350
279
338
359
309
332
246
299
275
240
302
338
331
267
273
219
289
323
319
300
303
347
278
291
321
291
303
377
313
273
363
287
334
319
371
310
280
241
275
344
278
390
295
267
302
325
315
233
351
338
259
264
239
354
292
285
391
348
312
319
305
367
376
314
357
291
367
261
287
385
387
347
370
347
389
288
336
396
329
342
393
271
425
320
227
376
302
317
395
354
274
357
330
282
351
251
305
344
318
317
301
318
327
300
367
345
341
246
348
240
291
276
288
270
295
290
267
379
324
354
320
287
283
264
244
293
331
309
331
307
343
276
308
327
305
326
252
388
382
323
319
259
318
306
363
353
327
282
259
264
357
293
270
317
378
245
363
285
308
334
282
347
303
290
285
270
257
298
343
361
291
331
319
310
295
352
333
284
305
372
274
320
302
264
276
354
396
254
322
390
304
355
297
335
312
280
307
412
260
307
322
318
286
311
397
334
254
303
380
278
334
285
289
332
306
246
255
335
288
334
370
278
249
279
332
370
260
278
345
315
282
343
325
267
352
292
277
345
323
300
383
346
259
247
350
251
221
268
332
300
293
281
281
302
397
332
293
351
219
317
320
322
346
377
364
434
277
306
365
238
331
347
278
282
326
308
335
280
296
297
240
296
276
287
316
318
335
300
246
345
360
313
330
286
309
373
360
326
287
252
258
324
387
214
348
347
385
378
323
244
206
401
296
367
330
353
330
355
312
314
406
307
318
309
346
287
396
281
361
360
411
303
344
297
317
319
241
288
323
406
392
339
273
380
338
313
393
265
314
338
338
264
344
351
280
344
380
286
374
358
231
335
392
349
394
285
384
354
301
355
269
336
181
346
329
333
356
354
361
335
313
310
334
393
279
289
387
284
363
334
374
285
290
289
357
281
245
322
390
303
334
283
297
371
293
370
223
205
356
328
344
353
241
293
380
330
313
329
396
304
362
331
364
270
377
335
333
312
259
364
308
388
277
264
323
234
208
236
280
312
242
314
407
336
278
368
276
359
329
303
298
335
281
270
358
283
339
416
329
333
375
293
283
302
359
334
240
305
306
276
307
353
256
300
284
295
269
290
245
338
322
401
301
371
307
357
278
346
297
313
344
339
248
325
309
339
370
291
361
309
261
334
352
302
379
406
351
312
350
234
364
327
234
348
349
306
227
428
320
323
290
275
302
286
356
244
358
352
333
334
288
362
219
289
307
252
336
298
336
331
345
272
313
357
272
292
347
252
282
296
295
372
375
390
320
315
319
305
184
307
332
328
276
338
337
285
313
285
376
247
365
309
374
302
314
371
287
408
314
317
275
324
278
359
299
249
239
335
303
387
278
305
287
358
347
274
278
201
305
327
352
381
231
315
271
294
157
317
311
285
268
307
358
438
305
314
405
342
311
365
331
343
317
310
334
342
368
303
279
307
235
342
302
287
320
364
249
276
298
375
326
292
315
390
284
270
313
391
248
357
341
298
338
350
306
330
317
316
327
342
272
269
294
357
353
284
295
278
299
353
304
377
308
334
342
294
230
260
367
318
338
352
345
349
254
373
246
375
263
268
272
352
283
237
372
314
338
318
458
316
345
311
260
301
375
381
287
304
413
314
376
288
334
310
316
336
295
276
365
240
372
304
342
307
268
325
400
303
267
343
332
292
336
264
405
299
269
325
360
296
307
236
366
293
362
298
359
365
294
279
335
338
380
335
306
407
308
384
312
349
336
328
330
399
341
299
273
312
371
283
277
299
282
340
276
323
243
343
276
293
322
251
330
278
298
297
302
382
318
319
357
398
349
298
373
186
265
351
364
261
337
323
279
322
266
245
323
265
264
326
306
329
324
223
283
277
320
389
270
214
391
268
285
328
285
369
259
329
242
260
373
301
317
255
277
346
287
300
247
391
302
317
317
286
348
300
266
295
339
317
269
273
329
382
282
375
343
366
289
275
310
371
348
248
383
328
332
313
359
387
241
389
250
294
366
378
288
332
353
332
385
355
223
267
386
368
348
296
399
331
275
332
334
345
329
315
359
387
396
355
339
353
377
339
271
342
236
318
362
329
262
336
252
171
351
268
323
281
317
318
291
295
290
323
287
284
287
306
279
272
364
405
309
383
307
218
371
311
293
320
275
299
252
333
337
339
327
337
352
276
248
302
298
188
298
367
311
269
333
273
318
318
358
284
321
339
388
168
303
343
362
336
307
273
364
268
311
276
326
345
305
327
269
328
318
330
404
272
277
328
237
340
338
369
302
304
259
307
322
369
324
384
302
291
385
375
307
296
289
265
378
270
289
263
253
378
380
288
267
319
397
228
339
373
286
345
437
317
344
283
293
308
267
288
310
333
306
277
364
292
231
278
322
279
327
274
335
234
343
334
272
316
327
280
319
412
398
285
414
343
322
305
416
349
261
320
289
375
313
312
285
311
321
261
280
293
301
372
263
322
311
310
367
275
375
324
292
285
386
272
285
339
231
266
369
327
306
299
267
375
312
245
313
330
317
318
304
293
385
442
354
354
295
303
282
295
388
286
292
312
305
304
364
393
334
364
225
279
282
369
323
315
329
276
328
301
382
318
300
330
279
379
258
236
256
324
316
225
294
289
274
324
220
286
227
385
304
395
370
333
351
311
325
305
307
279
248
361
293
306
298
334
342
323
262
397
318
358
224
321
366
287
203
299
353
290
316
355
403
287
317
211
324
348
318
332
240
340
247
371
283
337
410
335
365
261
340
363
296
278
336
334
301
317
347
287
348
332
335
328
285
278
332
273
313
393
327
334
320
261
213
332
277
241
322
352
313
273
277
320
309
349
287
250
297
315
320
341
305
200
352
289
370
269
311
246
263
274
357
254
294
276
388
319
333
358
321
285
300
361
294
280
313
402
306
260
305
317
249
293
300
272
369
297
315
333
269
361
284
327
327
339
294
303
349
365
333
297
247
299
316
267
330
280
275
274
346
253
312
384
408
307
282
296
344
357
327
337
284
290
328
387
364
385
366
311
273
234
337
345
279
337
304
259
294
285
389
329
260
298
278
325
327
313
303
310
276
355
277
375
326
339
331
343
317
340
257
279
235
419
322
334
292
329
310
261
311
266
307
332
369
343
331
363
292
378
332
385
275
273
405
270
332
260
326
242
358
336
398
314
357
327
361
273
231
350
342
403
327
301
345
360
383
377
369
295
311
285
250
327
356
358
343
257
209
374
281
326
371
294
370
280
217
292
271
386
375
280
340
340
275
336
313
281
345
369
292
243
327
315
337
267
346
386
320
260
355
337
335
369
321
304
305
353
251
281
256
338
284
256
371
282
250
286
247
353
353
302
328
335
251
297
231
259
348
285
469
311
330
349
265
372
326
347
259
351
326
409
297
296
404
271
289
300
346
422
313
294
326
378
293
309
259
280
326
276
329
264
350
331
361
325
429
309
264
285
277
293
287
287
391
358
340
321
377
301
380
328
374
371
310
322
305
292
338
324
354
241
238
275
312
239
325
254
274
338
236
248
356
313
296
330
325
352
335
298
366
275
339
408
344
289
272
282
312
292
368
297
319
370
379
348
308
339
300
285
346
282
286
290
312
260
297
291
280
348
367
344
264
289
338
284
356
282
241
368
264
367
304
229
264
313
284
279
265
195
279
290
346
252
317
237
314
307
334
271
256
262
346
270
405
316
331
368
328
370
308
282
287
347
365
312
263
206
312
351
316
301
304
331
285
329
362
298
372
321
314
363
321
369
283
280
272
319
351
374
279
288
339
285
348
340
360
335
321
302
325
175
351
277
307
307
278
311
259
343
320
320
281
304
341
275
293
330
378
336
293
284
301
335
261
340
245
297
286
291
314
268
334
338
349
404
329
364
332
255
380
328
334
248
278
336
324
309
223
281
327
314
286
332
303
331
274
385
332
333
217
358
345
285
283
344
329
321
263
232
304
315
233
328
347
306
309
332
306
332
337
351
349
265
338
293
334
327
357
190
321
316
330
396
368
333
319
338
324
269
279
224
356
381
280
278
264
351
326
283
304
367
353
366
340
319
319
325
352
339
290
284
339
253
274
328
362
312
276
275
257
389
299
346
316
201
410
361
315
344
340
340
326
287
285
269
374
298
325
329
267
443
300
320
349
291
305
336
337
316
327
334
340
371
336
233
295
375
354
288
321
232
274
325
400
332
298
292
371
364
279
340
249
303
328
268
360
303
302
309
275
333
402
337
314
193
354
327
327
310
252
363
244
224
320
324
305
329
274
318
274
338
299
289
247
406
338
330
399
332
342
315
337
214
258
310
317
389
270
336
384
303
193
324
323
248
368
236
326
312
335
280
340
360
341
339
391
360
432
297
277
362
257
262
334
203
326
244
353
315
319
272
252
280
282
382
317
344
308
310
251
375
302
287
343
299
257
288
337
341
272
351
291
332
377
312
349
318
303
297
341
332
312
305
394
276
302
323
296
303
300
267
303
263
255
294
310
354
294
296
250
214
282
308
243
341
384
312
257
315
356
344
286
352
358
208
321
251
375
271
309
283
249
324
326
351
345
357
344
282
323
313
274
362
231
360
344
336
348
240
290
279
364
314
286
307
313
334
381
288
335
273
373
321
327
316
323
349
249
370
261
355
314
317
317
378
382
249
320
306
345
298
244
317
387
385
327
288
353
390
355
364
358
353
326
313
338
392
257
275
360
292
300
376
327
298
318
268
360
312
400
366
372
321
349
326
350
300
333
317
278
340
281
298
332
276
351
352
283
340
240
355
236
250
318
339
274
386
383
316
338
397
320
277
292
373
272
338
208
269
285
339
269
307
340
395
372
310
298
352
244
287
281
322
318
334
404
229
267
306
282
338
303
386
238
277
339
301
318
337
308
309
305
293
319
373
261
327
326
288
353
323
296
357
310
335
392
316
299
322
346
345
281
303
364
265
321
333
337
260
277
337
294
349
325
373
369
307
277
248
285
269
292
317
324
308
342
408
201
327
377
403
312
242
330
330
339
380
329
376
295
279
330
337
342
286
312
333
310
284
319
305
339
332
288
280
355
365
301
325
221
317
391
274
369
347
354
318
352
315
327
414
344
298
308
237
276
403
316
295
335
338
369
309
350
338
266
228
360
288
267
332
307
308
299
274
293
367
362
342
291
299
330
296
292
319
423
380
340
349
336
391
270
334
314
335
285
365
403
337
296
335
294
333
416
334
341
344
361
329
367
313
273
320
305
351
299
245
349
283
327
203
285
309
332
296
334
314
298
315
257
251
379
289
333
339
285
319
283
363
283
324
340
330
363
323
353
456
307
282
289
313
369
295
251
343
351
313
344
269
343
378
317
364
300
285
335
353
355
264
309
354
360
361
277
397
277
267
324
398
326
291
357
359
339
265
301
301
343
313
277
315
314
292
358
244
329
338
383
338
397
238
316
318
358
286
297
284
296
257
306
353
338
296
245
214
372
296
295
289
294
290
292
163
240
355
379
222
397
304
261
341
335
363
299
351
365
354
260
297
360
226
352
321
262
325
297
337
234
298
226
400
373
375
320
291
233
379
387
303
301
335
328
311
295
366
327
393
342
358
343
371
294
323
302
288
323
335
375
255
256
330
311
372
380
214
194
283
305
270
295
333
316
298
315
267
354
292
278
313
309
347
271
278
227
349
312
324
361
332
378
309
267
290
271
326
240
386
315
361
319
219
310
319
360
326
425
283
273
333
349
340
267
249
335
281
296
308
383
289
311
274
280
242
307
347
330
343
367
311
294
245
269
364
321
306
298
314
313
311
323
304
310
306
327
204
335
244
241
262
300
278
365
300
248
331
329
296
314
237
285
347
337
318
342
310
360
342
300
356
326
341
354
256
381
250
261
280
250
293
342
332
329
256
365
314
384
265
314
329
371
356
282
315
254
353
331
391
372
319
330
316
305
220
332
318
317
367
332
248
345
358
341
239
241
360
313
312
321
279
350
294
340
299
371
248
402
298
251
323
272
312
301
235
336
290
368
333
260
314
364
300
291
365
256
346
257
324
310
232
353
373
366
277
277
281
268
303
298
241
336
348
301
280
281
288
409
251
301
374
301
394
317
411
243
323
349
297
326
303
306
301
289
379
384
342
360
269
284
323
338
346
362
312
376
347
295
293
218
299
279
356
167
367
299
317
362
352
286
304
313
332
328
274
300
378
298
235
379
300
314
326
378
296
363
341
293
282
340
377
318
326
316
277
296
321
323
308
328
292
390
254
310
289
332
314
266
257
283
377
270
337
321
163
303
338
298
342
318
268
309
241
344
259
352
405
260
358
369
342
286
391
294
260
393
255
266
259
318
297
280
363
317
338
356
357
298
369
311
253
302
332
391
298
296
310
328
329
308
301
272
345
357
295
345
316
412
344
248
320
254
290
292
347
229
371
267
257
276
262
173
396
417
223
303
221
273
337
254
259
319
359
407
266
369
291
316
256
378
375
333
335
274
319
304
339
256
259
257
277
346
274
296
335
326
329
331
316
364
354
374
276
233
287
315
332
363
310
291
324
292
319
339
409
339
341
323
256
339
321
293
280
322
207
288
263
323
361
289
279
305
272
301
294
385
307
261
326
353
365
363
260
297
311
352
321
319
299
290
210
270
238
376
296
316
322
340
337
275
330
316
263
294
326
336
280
306
379
347
256
313
318
280
352
412
325
373
269
255
330
338
266
274
272
247
329
230
313
256
309
272
298
380
336
343
249
316
299
368
288
209
317
287
383
309
362
347
355
321
331
354
290
288
318
335
314
329
349
308
397
304
336
306
371
250
310
268
327
344
275
299
339
325
378
249
235
313
282
312
321
370
286
394
292
399
235
334
327
353
254
349
358
326
322
358
309
277
263
328
330
358
385
329
306
348
381
373
268
342
322
355
333
331
308
302
305
298
299
380
245
328
289
371
285
219
366
301
390
260
255
365
296
250
350
314
389
287
275
352
358
384
336
259
351
261
270
337
377
285
340
283
287
311
313
305
281
314
350
283
282
347
297
339
346
264
351
309
282
315
340
316
398
313
255
303
291
262
358
314
245
323
224
325
303
219
382
188
341
353
284
268
361
209
344
345
281
319
327
291
273
339
262
278
307
350
302
222
334
269
370
293
297
374
234
314
290
336
252
374
299
349
307
305
394
246
331
314
243
421
331
247
250
258
366
374
360
282
347
333
219
331
355
357
266
345
256
261
262
355
362
233
315
322
325
340
339
300
205
329
277
271
330
288
216
279
334
311
324
313
232
335
286
396
384
270
398
332
193
278
323
326
318
346
273
332
317
381
297
326
303
357
361
323
292
318
304
301
360
363
405
361
363
310
259
348
302
366
399
313
346
195
324
280
314
284
252
339
347
265
374
286
338
417
384
310
287
307
324
345
377
292
291
325
281
309
337
363
214
232
332
313
295
220
344
273
383
331
337
344
315
274
375
251
372
317
319
415
211
287
368
280
262
326
354
310
325
342
286
255
326
387
357
256
242
327
263
340
229
286
306
370
336
373
378
328
341
231
364
335
334
278
298
393
372
329
297
335
371
305
311
307
269
285
304
377
337
372
297
235
323
249
392
271
299
310
284
356
420
341
322
382
329
291
350
339
253
336
230
246
327
310
308
389
281
345
371
368
283
286
323
332
258
287
345
385
270
330
334
262
354
288
343
259
272
311
266
427
290
350
277
303
327
359
326
429
399
299
335
356
261
330
287
346
246
347
333
342
364
258
358
320
317
315
242
374
347
337
329
289
322
348
348
325
276
313
319
337
292
224
239
385
308
379
302
410
274
315
333
359
340
277
303
283
316
370
309
299
275
317
406
331
366
277
263
377
344
287
298
368
338
272
346
231
305
254
249
283
350
319
326
213
333
384
238
269
347
371
328
321
336
374
303
355
279
370
291
286
315
371
399
293
326
352
319
314
280
329
266
324
351
299
319
290
263
287
285
384
368
311
311
328
293
335
394
262
364
285
290
240
316
372
310
299
289
333
319
347
351
329
301
258
352
298
279
251
246
326
315
328
230
294
267
324
297
226
338
337
259
336
380
277
332
306
265
314
323
301
299
355
333
246
290
367
318
237
257
279
351
220
362
316
341
324
171
292
337
329
260
309
263
341
280
219
341
309
417
334
335
291
407
379
356
278
260
300
437
358
252
221
251
321
260
345
272
337
279
321
317
348
318
311
365
360
400
356
343
323
356
250
306
363
293
338
257
318
302
329
378
282
321
312
291
385
297
415
375
276
291
213
338
300
395
381
281
238
257
316
362
345
308
299
358
354
261
360
237
323
362
291
318
257
351
307
244
338
327
314
312
334
367
248
319
366
295
322
325
300
397
255
329
273
276
291
316
275
291
304
343
289
342
282
301
384
298
351
314
228
334
320
267
275
348
292
395
352
270
377
412
294
271
304
396
316
252
348
359
326
269
348
241
353
297
331
301
246
373
316
300
259
352
291
299
370
360
322
378
412
334
391
289
310
359
291
334
283
292
249
273
268
232
331
269
335
339
339
347
304
303
394
292
268
397
318
324
345
289
291
331
271
295
355
334
269
371
272
300
315
403
296
348
335
307
286
399
275
299
410
331
247
363
233
346
334
352
419
343
417
252
302
315
300
307
322
218
287
297
311
316
369
237
344
267
358
307
342
348
343
294
361
345
342
321
296
274
247
396
307
266
293
247
316
285
247
237
296
301
263
333
352
264
280
290
257
383
315
346
293
300
338
366
342
296
344
336
286
308
249
351
358
298
310
311
379
328
326
292
392
371
341
232
347
286
233
357
331
315
316
326
318
365
385
338
404
411
247
365
291
289
291
289
372
288
320
309
269
338
338
296
259
352
271
297
323
254
357
323
377
334
305
287
291
300
310
368
373
304
341
353
319
346
316
251
315
359
291
340
365
357
337
322
326
425
293
283
316
339
321
314
355
240
307
306
377
362
355
237
284
335
411
321
356
356
303
243
323
332
234
273
298
249
299
337
374
342
297
400
295
379
362
281
320
335
355
329
317
306
305
348
318
374
275
319
295
369
343
312
314
305
230
342
280
306
280
243
235
368
314
338
306
314
344
320
332
207
315
312
285
201
248
382
288
334
362
282
425
287
382
354
374
281
343
343
290
344
267
254
221
308
339
326
306
344
371
336
271
297
261
399
294
312
305
305
277
287
341
331
297
348
295
262
227
335
299
305
306
302
334
275
311
294
332
349
320
283
236
356
259
322
252
352
374
318
320
354
293
284
347
391
324
256
262
354
242
274
371
306
310
225
339
314
254
327
336
296
386
312
235
431
352
325
321
366
309
297
328
309
333
372
402
382
381
264
324
273
325
284
363
327
378
280
262
349
270
356
349
247
317
286
325
291
282
268
363
295
348
294
386
308
331
329
228
305
274
300
361
370
181
300
349
280
303
351
362
286
317
264
355
302
272
335
364
329
379
291
278
295
265
303
310
364
257
356
331
371
328
331
332
318
304
331
319
271
331
262
360
319
206
291
336
328
263
257
316
276
387
415
285
255
376
302
277
306
339
208
363
235
328
238
341
337
267
299
274
269
278
330
354
361
311
300
309
264
311
341
324
282
362
374
312
370
320
289
353
379
248
344
352
338
367
293
328
327
296
286
327
362
326
418
369
363
263
268
315
257
278
344
413
392
325
312
357
312
337
323
329
255
294
262
225
315
285
338
318
381
310
417
348
281
330
265
320
258
335
321
327
384
379
280
307
354
369
263
326
348
312
275
338
375
394
286
322
313
265
359
287
198
372
187
334
308
297
340
347
380
348
323
259
274
354
336
196
308
370
279
320
337
375
345
238
304
337
288
288
278
375
313
277
354
322
335
417
307
363
354
322
365
225
278
334
341
352
266
281
335
342
340
396
366
381
345
339
379
329
264
331
327
282
377
343
326
294
276
298
348
315
304
331
302
355
334
307
334
285
282
293
371
288
257
369
367
376
282
272
286
311
216
383
342
310
302
403
308
276
284
264
316
337
290
262
320
268
258
337
269
287
260
391
305
333
284
352
353
279
260
331
346
385
367
278
242
337
302
291
270
392
268
352
323
255
370
271
296
408
248
266
327
320
255
300
269
351
382
310
255
343
350
344
311
366
259
273
348
266
249
303
344
343
276
278
334
330
220
295
335
337
291
384
324
370
299
423
343
302
306
326
350
398
300
355
264
298
262
412
275
349
353
296
314
269
348
270
337
284
250
326
324
383
279
307
294
233
317
347
284
233
337
319
270
271
328
271
339
348
259
395
260
318
290
295
309
278
299
263
256
303
313
352
338
344
315
324
371
313
279
301
326
270
323
271
285
312
267
285
264
339
223
317
311
274
388
355
289
322
348
346
314
264
278
404
288
377
352
372
321
324
315
462
432
174
339
328
285
315
334
319
346
314
360
354
350
367
250
316
325
266
301
243
338
368
282
363
379
411
402
342
343
286
208
334
259
352
322
261
327
249
303
366
279
294
329
303
332
378
330
227
288
258
247
310
361
309
355
375
354
229
298
337
392
253
263
340
256
323
323
323
269
302
206
268
385
367
332
280
270
348
458
298
357
312
357
386
302
304
329
333
222
298
321
316
322
384
298
355
292
277
377
254
258
317
370
344
312
325
378
334
370
303
360
283
247
296
273
290
250
369
396
274
385
366
326
341
349
325
287
335
372
334
390
358
346
297
297
355
358
321
265
321
365
311
324
222
220
292
323
253
285
290
283
278
337
285
254
362
344
350
237
290
318
341
326
327
340
311
287
296
332
308
343
293
240
323
351
337
331
255
317
340
350
325
345
312
328
333
292
283
327
275
386
308
415
339
364
333
201
202
319
326
291
275
311
305
298
362
288
393
341
379
331
335
375
304
324
360
316
306
272
243
272
228
298
269
210
318
294
302
308
377
372
365
334
347
255
307
311
245
310
294
287
373
300
342
268
392
315
363
259
338
295
256
338
347
268
282
354
302
339
323
339
255
335
299
335
270
322
267
284
289
281
298
323
367
267
307
245
330
218
343
384
283
233
244
392
358
371
352
337
279
331
269
398
281
341
355
345
264
269
304
352
269
227
290
197
362
343
325
308
335
306
275
234
342
384
353
282
290
302
373
263
314
244
386
270
308
219
321
337
390
399
244
321
294
301
233
316
326
331
375
294
353
302
237
258
272
296
289
308
339
242
249
374
305
333
311
308
272
329
377
343
249
327
289
347
330
281
297
316
361
368
313
339
305
327
333
215
345
299
348
351
407
310
393
294
256
328
346
292
366
320
309
296
327
285
298
290
287
352
351
226
298
270
347
234
350
336
267
323
258
262
264
376
273
352
305
259
302
253
362
221
331
287
282
231
312
234
353
367
313
355
339
275
286
299
324
252
312
285
347
382
320
330
338
330
333
331
315
358
266
289
395
292
290
281
278
328
335
332
271
307
254
311
259
327
370
304
350
338
367
301
294
331
282
276
255
352
361
329
309
294
301
308
289
317
305
260
328
352
370
329
298
348
303
277
310
376
304
324
295
342
299
256
267
341
338
286
345
311
379
350
295
428
373
293
321
340
325
348
309
323
397
284
316
355
385
354
316
289
211
306
399
371
250
308
231
347
405
342
283
270
318
310
287
281
275
293
348
354
313
365
294
278
272
382
347
307
376
392
267
249
269
312
387
338
354
360
414
291
362
361
347
308
360
392
363
341
346
297
281
332
303
342
332
248
318
326
273
276
370
367
342
283
287
356
315
409
232
251
360
345
377
338
368
383
327
367
314
280
334
261
323
307
282
333
311
384
328
231
315
328
353
332
310
263
356
363
361
302
334
332
267
254
329
320
303
354
225
338
236
321
308
324
393
285
283
344
300
322
383
293
290
296
416
306
233
398
396
227
308
272
270
344
284
261
318
308
316
320
311
381
270
319
292
281
260
339
295
278
302
344
278
348
401
296
290
350
310
318
375
300
322
330
313
318
376
294
374
277
337
327
289
290
379
323
374
202
346
379
272
302
362
313
294
313
362
382
302
283
306
262
323
332
395
307
273
275
334
350
306
316
335
338
321
288
260
300
322
320
279
334
231
358
284
368
292
328
309
367
315
339
354
389
314
362
266
290
364
425
320
345
373
208
327
367
277
392
331
291
361
280
368
249
291
282
287
330
277
307
335
272
341
381
408
317
339
310
313
282
325
313
305
361
342
268
258
353
344
305
392
244
312
301
334
392
328
256
280
332
324
303
304
365
282
306
365
293
354
329
376
365
326
208
347
276
351
307
300
351
284
328
301
273
326
354
223
321
345
273
290
268
350
397
331
284
336
253
161
249
333
386
311
373
322
280
260
323
321
359
261
309
365
371
355
262
337
318
315
286
349
292
323
323
313
285
229
410
287
227
272
382
326
311
383
314
326
262
342
299
288
302
308
241
334
306
306
316
268
352
349
300
313
364
314
280
191
214
366
356
298
386
409
312
290
326
280
355
325
367
323
304
250
286
351
355
342
234
335
284
328
238
272
327
424
260
437
311
262
326
327
260
279
308
379
258
331
333
246
313
300
304
233
308
203
256
281
371
415
386
345
334
310
258
356
221
340
262
285
385
315
278
354
268
346
327
260
316
233
288
275
339
321
283
298
241
314
345
397
360
347
383
316
294
274
299
334
324
346
332
263
278
335
331
270
289
308
286
312
246
343
301
364
386
289
287
299
293
241
289
326
335
302
363
320
317
344
301
329
322
332
218
369
286
347
237
261
295
279
332
279
307
311
299
295
316
303
378
321
305
288
399
272
369
326
312
347
326
336
359
266
316
294
328
331
323
273
267
280
348
276
371
328
319
311
350
236
300
277
367
324
301
293
362
272
410
324
359
356
326
294
358
340
284
335
295
296
282
277
279
289
289
332
299
245
343
333
239
317
328
199
279
215
373
374
317
311
363
278
300
310
259
345
292
335
291
320
361
384
304
344
390
271
241
373
389
346
266
291
343
339
269
311
369
322
336
347
395
383
418
364
339
342
330
300
385
346
337
310
222
361
344
312
302
371
282
270
355
279
396
338
294
239
283
412
300
298
338
213
295
319
283
320
311
373
363
282
307
312
374
304
283
353
318
303
345
347
231
345
297
343
320
382
339
369
256
375
323
290
363
329
330
344
317
334
295
306
330
270
328
371
299
362
268
198
328
321
295
297
227
385
253
325
294
260
304
411
256
304
311
302
282
351
362
305
226
330
293
324
260
321
350
289
383
298
344
313
341
359
219
304
314
278
339
248
324
310
308
407
315
342
361
255
321
371
340
292
315
374
302
338
225
229
335
340
353
326
283
322
302
296
312
387
381
289
349
240
321
338
341
413
293
325
314
357
318
251
290
351
360
265
253
336
349
330
232
281
360
390
341
330
275
355
319
343
316
285
270
351
316
310
276
288
357
278
269
294
254
277
304
330
255
298
344
259
232
356
374
294
236
254
318
320
302
293
261
321
326
347
297
316
304
246
396
315
299
303
340
351
396
340
325
358
306
308
344
277
328
294
318
308
325
382
343
236
381
326
258
216
370
321
350
334
356
320
404
294
311
300
348
342
246
249
337
281
229
313
277
366
326
291
344
327
317
351
344
226
273
264
388
275
322
345
289
304
256
328
318
376
343
353
369
275
365
252
385
314
310
359
355
367
311
239
348
363
264
362
384
279
333
271
305
335
320
245
346
296
283
361
276
296
309
226
323
311
303
285
279
315
360
299
260
310
390
249
358
292
316
336
302
299
283
372
331
279
325
353
379
333
302
290
274
292
242
309
313
353
242
301
378
391
335
326
309
343
326
285
378
359
301
319
339
310
313
346
332
318
288
338
279
266
352
324
340
287
287
334
410
378
389
326
340
309
369
301
281
274
326
275
349
237
341
276
374
318
324
392
330
395
290
288
293
281
207
344
299
307
386
297
306
344
348
302
318
367
363
364
231
297
393
255
349
260
397
373
271
315
359
290
294
389
344
372
311
376
333
330
338
307
351
277
297
336
282
287
310
302
327
221
311
269
278
236
343
306
233
340
215
390
399
362
328
251
354
343
215
391
257
324
306
276
327
384
312
352
343
321
345
381
326
336
331
329
282
337
320
362
240
394
261
320
337
349
316
249
366
362
274
375
350
405
368
282
304
263
250
181
282
340
299
291
288
322
318
305
343
317
221
403
286
365
324
304
290
288
310
353
294
326
294
319
333
279
364
367
259
246
292
290
295
273
312
192
237
312
309
342
334
198
267
260
395
350
307
362
371
346
318
296
288
356
403
301
373
351
323
272
300
262
322
348
307
293
333
301
364
286
361
328
348
293
375
252
317
348
347
353
353
327
333
369
278
354
249
308
377
248
343
281
259
262
383
386
410
300
301
346
349
348
311
342
287
344
328
326
393
380
292
327
339
280
297
351
294
245
386
323
326
331
281
316
284
313
260
222
292
276
221
312
351
284
292
325
346
317
250
289
354
299
340
389
358
266
348
315
349
333
325
345
348
322
304
255
198
347
230
310
266
358
332
353
278
361
260
261
283
316
351
373
257
358
283
286
235
253
347
303
328
378
313
342
380
337
326
322
265
352
290
360
188
309
314
317
383
402
354
366
336
297
384
422
365
364
233
352
260
376
355
288
298
324
290
413
356
276
329
284
370
290
374
256
305
323
370
256
388
276
322
272
326
344
337
341
312
392
340
402
309
355
248
396
354
233
284
240
285
356
355
293
297
267
288
258
299
315
322
331
272
241
292
266
337
206
297
292
324
361
245
313
344
280
307
316
374
331
327
346
305
305
352
375
291
314
333
265
364
299
376
326
347
296
343
361
375
261
339
347
364
389
399
280
369
280
391
259
323
379
379
339
277
323
397
335
347
306
291
398
359
398
346
278
333
354
288
314
325
213
313
354
275
325
259
315
272
387
314
259
377
216
275
356
295
343
323
256
383
232
320
354
293
280
383
318
332
284
281
295
343
258
230
366
292
281
317
321
357
313
235
356
302
342
360
287
328
397
353
295
346
340
330
407
251
378
381
301
337
309
336
317
273
283
313
291
392
277
263
316
345
305
244
331
297
328
355
285
335
239
302
261
363
307
385
281
333
354
310
358
414
403
374
301
311
357
251
347
369
316
329
343
295
275
354
268
306
255
308
307
207
260
346
356
298
318
276
276
305
400
333
262
367
370
353
368
322
281
341
314
317
281
407
315
330
322
336
355
270
365
361
291
290
347
385
337
323
298
268
290
351
356
284
265
323
271
275
327
303
350
321
256
278
347
284
401
205
338
328
324
369
357
306
314
284
306
381
375
286
304
370
372
342
238
377
279
296
272
347
270
262
336
337
310
328
254
330
295
334
317
276
354
361
330
223
268
306
357
321
247
334
326
364
328
280
304
336
352
328
367
288
346
308
255
295
315
261
340
304
270
328
274
288
306
319
268
265
325
242
352
357
358
322
379
265
374
377
327
219
334
220
339
369
354
330
273
373
307
340
399
301
288
365
279
264
278
299
407
265
262
363
324
313
216
276
269
308
307
295
347
305
367
320
375
381
415
306
371
329
314
278
304
268
354
285
311
274
327
315
234
343
342
296
376
385
397
305
411
342
286
348
301
269
307
299
289
342
311
290
237
372
315
329
332
277
353
314
393
324
317
231
323
327
382
341
275
349
352
287
295
340
339
256
331
409
329
350
372
226
292
310
359
324
288
328
319
322
253
345
330
325
263
334
336
332
316
286
346
355
287
403
387
293
269
268
268
394
262
323
269
336
264
346
334
287
361
303
303
268
336
274
296
346
292
382
372
272
311
323
260
257
340
313
283
333
289
354
310
301
328
309
332
319
345
289
316
399
332
337
345
246
348
350
309
346
245
348
339
346
331
333
324
254
309
359
358
287
321
337
359
274
191
355
282
321
283
271
389
281
288
259
332
329
396
314
309
387
289
249
279
325
265
276
316
309
271
334
325
320
372
370
300
320
270
338
332
312
350
378
312
290
320
295
312
346
324
312
285
293
270
380
359
282
342
298
296
410
298
358
274
289
331
387
362
325
297
360
240
226
335
288
334
359
355
297
364
355
363
335
187
327
327
331
344
471
315
398
241
316
285
278
359
295
390
316
285
396
304
363
341
288
236
274
423
372
288
279
352
347
259
312
283
333
298
376
321
348
284
320
349
262
208
281
317
268
369
349
294
309
323
317
292
299
310
288
311
286
258
360
341
258
301
309
345
376
384
334
376
346
301
313
359
353
353
248
272
288
258
306
290
228
283
317
284
230
344
260
346
296
376
359
330
268
310
360
341
333
385
329
357
286
273
329
365
318
286
331
333
394
344
305
333
376
403
401
365
363
313
347
339
249
278
324
388
272
313
348
305
304
301
335
260
381
281
338
319
229
311
338
407
359
374
408
241
263
399
338
302
344
273
403
262
282
235
315
261
266
316
299
285
322
296
381
273
312
351
305
346
284
296
396
388
386
331
285
399
308
389
294
375
327
362
330
219
325
268
345
402
318
264
329
382
399
361
334
290
323
264
311
346
249
260
326
284
379
310
351
279
329
330
235
320
212
324
272
194
345
340
361
334
153
322
353
290
329
297
308
325
290
339
327
360
327
334
298
379
310
261
285
346
326
351
297
326
290
341
298
225
373
338
340
344
371
299
281
339
313
276
303
328
399
271
230
358
298
410
326
379
257
283
305
305
374
273
330
336
324
285
379
354
350
298
299
288
242
310
396
326
337
259
336
325
313
321
279
348
282
343
337
297
315
340
247
337
280
256
307
367
270
338
364
357
263
321
330
277
312
257
308
256
272
280
328
252
323
321
348
325
266
295
438
322
233
315
321
328
363
357
295
312
222
323
351
314
292
314
219
305
306
307
359
319
344
341
296
272
345
382
280
283
365
313
360
283
302
255
430
322
375
336
375
292
346
272
287
334
375
273
240
276
329
276
369
287
347
305
266
308
322
342
306
313
361
274
336
377
389
247
321
344
378
345
363
315
299
230
328
374
315
300
338
316
317
397
361
243
413
324
381
238
364
384
315
375
293
385
263
323
372
254
288
374
323
352
390
271
264
253
286
227
245
321
341
395
274
262
276
270
199
356
304
291
348
342
293
357
393
281
318
349
346
294
288
357
328
295
321
316
331
290
285
331
301
387
350
372
242
359
290
346
375
330
364
331
358
232
363
296
301
315
323
311
381
348
246
201
295
336
351
293
322
314
287
308
326
290
359
325
358
349
352
395
266
272
385
320
252
227
370
320
315
327
286
325
332
289
230
316
272
328
329
275
264
223
302
390
323
362
311
308
301
376
326
355
313
322
302
347
327
376
281
317
333
319
321
297
240
292
287
347
330
303
265
278
300
306
297
315
278
234
281
388
218
278
364
281
333
287
275
278
254
287
324
340
279
274
339
295
225
351
213
259
313
317
334
287
251
376
246
377
348
287
263
245
330
263
375
322
349
315
294
308
373
293
307
284
325
320
317
353
280
390
316
303
410
259
292
336
398
284
376
449
360
320
285
243
282
255
300
239
349
373
341
275
333
352
277
351
338
399
371
347
360
348
303
366
318
315
314
307
350
329
300
326
320
266
363
252
390
284
328
225
316
288
295
368
387
299
311
304
264
337
271
385
348
330
293
341
409
373
303
246
354
334
311
251
328
402
304
329
361
263
326
328
347
248
295
311
277
314
340
329
380
359
310
336
317
257
343
240
302
312
257
262
285
293
318
355
215
328
415
339
305
307
265
332
341
261
301
291
260
308
359
299
332
258
278
258
339
350
300
278
320
398
314
339
241
318
315
277
283
358
344
295
331
426
431
357
321
360
317
326
240
308
365
315
325
269
238
358
314
344
356
273
393
380
328
315
286
357
319
274
354
349
381
266
310
283
325
297
371
355
348
290
285
314
278
345
357
321
352
323
333
352
282
309
367
364
317
316
391
283
346
301
306
274
260
234
299
379
325
307
330
314
311
307
199
275
322
377
333
291
284
310
305
353
368
223
297
340
359
278
326
355
357
324
357
270
339
342
269
244
354
287
376
248
333
338
409
223
261
310
304
350
419
299
302
297
320
361
271
345
315
289
320
344
352
272
272
259
270
229
356
266
396
350
404
331
356
343
412
303
383
303
275
415
327
254
225
374
394
421
358
275
323
201
266
367
312
316
322
290
356
266
301
306
332
388
347
292
265
329
301
347
351
370
343
231
268
231
369
212
193
281
291
285
402
404
338
284
338
318
265
339
268
376
281
324
339
325
376
288
300
346
273
257
360
337
297
320
355
297
209
285
284
280
333
352
216
307
316
286
338
241
265
264
413
358
328
334
374
337
311
248
297
323
318
335
296
303
343
302
256
307
318
298
223
288
281
363
365
357
242
382
299
264
317
395
313
315
346
310
327
345
289
296
286
376
327
281
346
292
350
363
267
305
367
336
332
324
325
329
398
297
252
320
292
322
293
327
237
327
329
316
301
340
218
289
366
271
352
242
291
336
417
313
354
291
344
386
382
350
283
337
281
288
344
339
273
334
281
287
347
349
378
294
283
353
387
316
348
263
364
251
337
190
343
316
393
287
286
289
289
342
377
306
334
249
353
280
302
238
328
260
292
295
309
390
184
299
280
338
322
320
315
284
255
345
322
274
336
231
366
299
361
369
348
245
402
220
276
345
256
295
325
343
336
305
323
374
286
325
358
306
290
354
334
307
338
348
305
307
288
285
343
229
254
335
322
331
351
385
300
327
307
311
309
294
271
226
384
379
329
422
255
334
324
207
333
283
303
284
281
338
430
409
274
336
341
319
293
351
370
404
363
308
318
309
323
292
384
337
311
324
312
241
313
316
323
329
367
275
399
280
194
322
356
258
293
221
287
279
311
234
276
332
345
324
304
325
330
224
336
253
382
305
282
318
345
286
279
397
300
373
292
212
382
354
299
312
287
362
336
371
292
185
348
305
357
221
298
331
247
309
321
389
342
285
295
286
386
313
388
306
314
332
335
307
265
316
306
324
336
281
308
347
306
300
340
357
302
259
272
316
272
380
314
392
345
275
230
362
326
275
276
334
316
277
419
372
341
359
329
400
248
326
279
346
286
237
290
310
290
394
285
285
234
382
338
342
352
231
341
273
275
343
250
381
311
306
371
292
248
309
312
384
355
326
354
365
339
357
281
269
337
212
308
302
335
302
313
257
316
283
301
302
346
235
293
291
312
346
275
340
311
292
287
249
304
274
178
249
350
244
222
263
360
367
290
274
328
321
380
277
297
417
277
284
283
355
357
319
324
347
312
247
317
290
289
285
367
325
281
328
300
396
308
350
324
280
293
314
313
407
320
398
335
340
332
315
340
266
345
337
391
297
345
275
333
306
348
348
198
259
339
401
364
308
268
282
292
309
318
333
280
344
336
287
301
317
324
353
364
299
290
347
250
287
312
334
409
255
252
322
323
275
321
423
338
319
313
334
258
315
401
383
361
252
400
321
296
305
355
367
236
262
388
325
365
307
370
353
333
307
321
312
325
315
265
309
319
320
262
345
351
364
334
224
295
384
286
292
347
404
369
364
244
300
325
301
275
279
266
273
390
285
315
370
326
318
243
309
289
309
295
382
343
327
288
278
366
278
352
282
273
189
362
316
273
318
273
328
241
302
334
300
330
253
333
348
273
273
361
333
303
367
318
304
305
268
353
388
271
311
356
369
318
329
286
268
304
392
228
317
313
220
282
262
297
364
245
355
312
365
268
309
256
322
286
334
361
317
269
340
295
235
361
321
410
289
326
256
291
275
360
353
286
292
292
347
365
283
302
329
322
275
385
244
349
262
271
332
234
350
333
281
342
325
315
301
282
356
257
307
377
355
343
276
295
252
361
364
275
278
268
305
340
369
335
308
381
298
392
363
254
290
286
314
285
336
342
371
331
298
320
377
341
274
393
286
357
366
245
318
304
287
372
359
241
338
343
270
325
268
291
313
350
354
325
258
358
328
347
270
256
371
345
318
314
267
409
266
346
307
317
420
354
278
381
303
322
350
331
263
333
358
301
311
346
313
321
287
350
414
262
352
271
269
360
315
312
316
287
320
344
335
322
262
307
368
298
280
263
284
323
369
288
337
251
385
240
376
301
330
270
261
324
243
343
261
339
349
421
300
352
293
327
366
255
293
216
336
293
340
283
269
281
298
301
341
320
333
336
304
318
300
305
313
346
356
329
201
261
348
294
299
274
401
290
343
220
362
294
344
303
357
314
312
246
253
328
373
295
246
321
366
248
338
291
341
319
279
365
363
303
358
272
306
302
316
351
356
300
386
306
255
424
311
250
349
299
254
311
339
271
387
328
288
327
334
302
328
234
352
296
242
292
210
319
325
358
344
388
316
237
283
369
336
342
253
327
212
383
261
251
318
306
310
357
367
331
260
320
354
343
381
231
409
293
320
278
237
340
404
396
272
305
325
387
333
328
317
326
313
315
328
354
291
281
335
339
272
416
352
237
325
340
349
344
282
262
314
387
293
332
253
384
312
385
325
237
331
307
381
271
313
244
333
394
311
403
290
306
236
248
337
250
438
274
331
329
313
376
306
343
303
391
372
280
295
395
304
304
286
249
332
260
393
303
252
307
337
331
373
317
307
251
421
235
402
241
325
327
310
360
329
306
318
317
381
242
275
260
303
253
362
356
275
284
354
324
284
265
364
295
223
333
303
341
322
298
331
395
318
298
323
278
361
377
299
320
344
340
252
298
353
287
322
306
311
335
325
240
295
333
350
267
335
353
400
371
247
210
313
261
264
320
276
361
316
329
285
368
308
358
327
313
277
425
326
309
311
312
340
385
352
309
380
362
328
232
292
390
269
232
319
323
314
265
293
274
401
249
277
323
298
307
302
336
323
253
260
261
355
348
262
381
352
365
277
397
303
288
304
310
330
308
272
313
348
330
273
302
331
280
246
353
281
258
284
304
248
390
238
289
252
325
349
213
271
327
405
281
315
365
270
321
312
319
282
343
318
306
304
279
292
285
281
277
334
296
323
382
313
261
329
358
308
369
359
371
379
324
355
235
329
361
342
350
270
344
324
294
263
359
316
255
303
275
308
269
314
310
266
348
310
252
249
256
368
284
328
349
239
228
316
376
320
337
389
313
371
260
321
218
271
302
331
414
398
247
377
313
307
307
264
348
268
344
270
315
319
375
296
367
364
368
270
287
231
264
251
309
301
292
347
335
342
289
327
363
297
377
293
272
301
267
349
313
366
351
287
242
251
339
263
277
341
327
296
201
278
251
281
277
311
327
264
284
389
340
290
342
354
324
368
343
317
332
368
423
280
284
363
257
270
281
304
315
255
270
339
324
370
263
251
237
262
294
372
367
283
269
223
265
285
345
292
287
272
262
264
290
361
349
298
301
358
315
253
388
359
349
354
187
306
287
308
307
353
362
362
353
366
255
259
331
276
396
318
300
307
263
332
344
260
299
304
364
406
248
309
294
364
260
305
373
377
292
321
322
327
372
346
336
364
322
370
341
239
368
319
314
305
325
277
313
329
327
351
317
292
314
260
323
377
266
321
296
265
364
404
328
302
391
397
195
293
313
316
343
319
317
265
349
267
333
380
270
342
311
301
240
279
297
318
354
280
268
348
404
329
304
225
255
371
374
397
327
279
364
295
352
361
356
352
304
293
309
304
292
322
340
300
332
283
349
240
331
314
301
360
337
318
314
332
324
304
308
281
355
351
359
249
312
321
309
270
318
361
322
322
338
313
285
362
352
304
351
267
305
329
369
265
352
279
327
342
322
340
310
333
316
306
340
281
288
333
304
350
278
340
307
268
362
357
333
357
221
336
370
350
233
350
374
336
360
309
276
327
230
287
344
394
281
300
356
383
305
303
304
246
396
339
356
329
254
280
247
316
293
297
341
223
354
376
362
275
340
354
222
311
305
343
313
249
304
264
381
329
370
257
318
353
355
368
309
266
380
392
277
373
265
332
375
312
304
323
297
254
265
428
352
336
284
308
283
364
297
323
302
365
241
310
314
330
306
313
294
299
308
314
312
373
310
346
324
317
362
310
324
295
369
372
269
348
261
342
312
318
345
372
264
291
348
340
380
263
291
231
307
337
402
278
349
368
391
280
338
261
335
290
304
355
334
381
309
224
405
277
270
342
382
272
324
325
276
303
293
317
349
278
270
299
340
317
257
355
349
357
266
265
282
305
302
278
270
286
294
317
314
306
248
236
270
308
322
307
330
269
294
315
176
343
404
274
320
288
365
345
416
389
313
277
279
299
304
391
310
320
246
292
344
322
317
296
380
298
236
250
310
313
314
386
268
274
297
297
401
337
373
222
323
385
315
363
289
293
285
312
336
299
314
239
276
349
334
254
305
310
261
326
282
327
294
314
297
255
336
285
388
303
276
331
364
339
217
286
274
325
323
306
264
249
257
329
381
302
319
369
214
382
325
321
271
299
313
375
279
373
358
327
322
350
367
359
324
357
419
315
266
282
292
293
248
218
338
334
317
249
308
366
266
331
302
325
339
275
340
296
303
241
340
268
349
359
364
267
238
297
351
337
299
353
297
325
273
308
308
283
350
282
300
359
318
387
268
292
389
293
245
301
236
333
376
263
396
265
371
326
314
346
240
320
278
264
296
296
345
368
334
296
383
312
279
364
343
361
297
390
326
361
370
316
310
283
323
298
295
347
378
292
298
311
299
256
371
201
251
302
270
256
323
317
303
270
265
272
305
321
354
290
305
255
349
443
364
324
212
326
320
339
277
301
339
330
302
316
359
248
324
303
285
330
311
228
247
322
348
313
324
350
247
332
285
371
307
302
384
291
224
291
311
316
273
362
270
315
290
353
320
315
341
364
222
291
370
228
375
317
294
252
340
287
326
331
301
333
331
334
323
304
342
289
315
333
299
303
254
383
210
283
296
332
203
384
361
258
226
346
293
275
316
263
311
369
322
323
321
270
324
239
338
370
313
305
323
250
301
271
353
349
309
373
303
384
347
352
261
369
237
313
302
227
282
316
332
307
299
323
314
375
279
446
330
297
306
355
273
338
340
310
285
293
367
297
301
358
348
366
395
312
379
394
326
243
362
299
320
312
310
348
283
382
345
295
282
330
375
273
354
288
285
300
299
274
344
318
308
329
288
372
264
378
251
404
269
280
364
367
330
284
339
244
314
274
332
271
333
359
337
320
308
353
357
273
269
398
326
278
363
323
251
442
324
339
290
343
346
342
368
321
360
336
254
386
278
364
216
299
261
329
340
350
207
299
355
375
339
369
356
367
312
322
285
198
289
231
259
317
336
430
340
336
341
424
356
318
220
312
288
297
353
307
337
334
291
386
301
281
360
209
350
299
217
363
337
357
337
304
294
291
300
364
247
387
317
305
286
282
304
372
346
353
302
368
291
336
300
370
285
342
351
323
335
289
185
329
295
404
312
346
271
237
329
311
314
399
293
349
267
267
257
333
290
285
386
250
310
321
256
251
293
283
360
345
382
365
350
260
285
344
315
328
230
238
295
306
275
280
369
316
324
346
260
262
324
285
297
316
273
319
433
359
359
299
300
293
277
290
262
280
340
210
308
316
318
304
323
347
376
324
377
342
294
315
314
271
277
370
325
252
348
283
325
330
292
347
376
307
330
387
326
281
279
330
314
279
315
263
248
240
360
361
232
347
340
249
363
360
326
301
338
294
368
286
372
306
305
407
381
306
386
325
327
376
248
263
246
354
366
301
351
307
388
305
342
395
289
203
347
310
315
282
345
334
244
262
292
350
313
274
339
354
337
289
336
278
421
330
345
340
265
277
323
353
316
279
293
376
386
300
334
379
252
292
284
360
318
404
328
330
335
312
341
328
338
333
328
311
421
329
319
267
316
235
315
218
242
317
367
360
304
344
269
308
328
297
298
314
321
304
279
255
273
328
332
312
275
373
339
278
273
334
321
341
284
307
391
344
305
356
268
239
315
360
236
378
297
332
306
330
398
356
288
290
313
391
334
313
334
310
255
350
356
351
317
353
351
297
253
348
331
294
341
260
344
312
250
399
323
298
260
253
293
372
284
317
300
324
393
296
362
324
279
240
282
324
241
301
320
228
326
302
250
239
261
314
260
277
204
293
291
325
330
301
292
377
330
300
266
346
224
304
305
279
321
325
300
415
341
317
306
293
305
286
271
247
288
325
283
320
285
310
292
348
303
320
345
304
273
313
278
317
304
262
253
352
364
268
395
266
335
274
303
359
382
274
316
272
304
284
370
375
352
353
280
288
221
369
291
319
317
322
278
372
292
266
339
365
385
300
207
343
361
318
310
335
309
344
334
357
328
295
318
286
386
308
357
361
363
315
346
270
322
435
340
358
388
307
332
343
370
262
230
378
347
328
322
334
355
283
422
291
281
337
297
290
367
321
300
263
341
285
344
340
321
297
323
338
335
329
321
317
264
396
334
295
344
365
276
172
269
296
316
353
332
347
344
330
338
261
370
343
328
296
320
298
277
300
282
426
285
343
265
382
279
371
319
245
470
300
348
378
312
317
335
271
303
324
268
354
223
336
275
329
274
377
325
267
248
334
293
338
357
331
294
352
345
286
337
347
323
302
365
289
290
305
373
314
365
346
302
313
375
301
267
279
294
250
274
318
272
351
321
218
343
368
314
319
305
405
286
285
282
299
311
359
367
333
333
330
395
298
333
306
338
283
328
247
336
308
327
321
279
312
315
320
287
333
350
407
369
296
349
300
290
299
361
306
357
319
405
319
294
390
348
259
273
371
319
282
324
295
257
300
249
292
318
361
372
340
304
306
306
247
388
320
350
375
314
352
291
212
295
331
304
355
354
326
400
311
363
403
284
352
337
294
287
364
347
240
309
291
299
333
375
316
281
324
281
341
325
261
268
274
261
303
278
384
313
286
314
348
372
324
331
293
348
395
384
371
317
343
258
343
332
322
364
245
287
363
310
346
304
324
336
361
368
314
228
407
183
328
340
317
336
341
368
315
331
313
202
320
315
322
319
367
289
293
357
321
226
277
261
342
321
421
301
358
328
309
330
356
336
368
276
364
335
300
346
279
393
333
384
329
297
311
363
305
254
263
316
322
316
265
284
246
343
291
260
345
252
410
329
282
333
329
352
291
303
346
265
302
397
293
400
365
369
269
355
287
330
355
318
278
290
258
304
368
281
340
302
293
324
287
313
269
341
382
368
300
341
347
331
322
271
382
337
327
315
338
367
334
333
334
297
272
395
347
308
315
393
302
362
388
289
254
308
362
228
306
293
296
416
284
319
350
428
275
301
245
375
341
303
277
283
305
267
269
303
290
341
424
273
273
364
283
317
263
379
353
267
365
325
254
266
329
386
375
324
342
265
350
302
301
304
186
380
319
336
329
332
264
291
246
349
289
301
339
374
322
325
331
258
313
354
225
352
278
293
313
347
260
274
318
217
300
313
331
428
282
270
331
305
260
320
330
270
299
314
353
292
275
321
289
379
346
318
333
376
339
290
264
352
212
287
374
306
311
370
334
326
334
338
319
291
375
253
294
292
316
314
331
295
316
243
240
286
439
353
338
305
231
252
289
403
315
352
342
256
337
293
303
283
260
335
338
254
302
320
311
280
264
371
312
388
287
294
238
419
287
346
288
325
351
274
326
367
320
319
361
369
331
317
270
382
305
294
372
303
312
307
305
329
272
349
359
271
322
336
289
322
260
293
317
294
251
339
372
298
301
207
383
302
286
440
330
381
336
356
296
316
390
332
369
296
310
313
287
394
249
333
200
282
352
311
333
372
409
355
311
333
350
243
286
406
311
331
333
279
357
249
322
270
261
379
389
329
269
226
243
379
317
322
306
305
313
408
329
275
272
279
275
302
291
311
375
349
348
390
247
309
231
335
309
270
250
312
326
280
346
362
294
344
412
356
305
310
365
311
274
299
344
271
314
256
310
350
304
278
343
288
313
338
343
246
310
347
317
269
276
249
370
275
260
303
323
308
306
227
337
303
296
281
355
292
320
335
340
352
266
313
212
356
354
389
355
238
330
318
319
307
293
302
349
327
320
327
328
330
269
284
260
291
196
284
323
328
311
242
285
351
341
347
410
346
271
384
242
306
229
288
299
270
331
362
245
267
228
329
323
394
265
249
307
227
321
207
244
314
244
260
337
293
334
325
373
326
377
356
324
304
290
264
331
203
301
332
415
147
309
330
373
319
357
352
324
322
333
301
311
218
417
319
254
289
369
358
324
381
319
241
287
305
294
384
295
330
333
290
383
265
310
361
326
278
253
287
384
271
355
319
352
367
318
294
343
300
315
226
201
300
276
331
331
335
316
343
415
339
281
280
318
349
325
374
315
259
283
234
336
276
268
298
284
371
301
404
340
289
377
314
308
331
277
351
344
357
338
334
370
314
270
337
341
304
348
319
332
296
363
313
258
329
267
250
273
300
286
232
384
340
297
297
229
317
348
292
394
311
321
339
373
387
281
303
179
343
291
339
275
303
290
273
229
303
303
399
307
253
270
284
299
354
215
347
335
227
315
299
385
305
310
323
322
370
376
305
281
331
311
290
309
289
176
328
332
279
325
299
295
325
317
337
342
295
332
340
323
353
322
317
305
242
322
349
320
391
327
285
304
372
326
253
331
305
383
305
341
286
315
435
361
374
305
353
333
320
334
251
374
307
324
273
261
320
257
265
269
351
314
301
329
202
346
328
354
377
343
356
362
359
315
324
286
319
338
332
366
261
264
334
311
301
311
328
241
277
323
317
349
305
284
324
243
318
244
277
263
309
379
263
335
285
380
322
313
359
374
369
322
345
295
286
265
372
352
289
290
331
395
344
295
318
287
344
300
378
336
317
346
377
247
297
291
316
264
238
272
323
322
403
430
356
334
319
350
348
346
322
322
299
271
380
359
367
346
298
289
361
298
211
274
346
243
324
385
366
409
319
351
351
351
332
301
328
293
371
223
300
267
243
251
289
277
293
317
334
202
272
344
328
344
244
315
296
311
360
322
292
257
286
316
294
339
351
342
321
297
279
316
273
318
303
352
263
265
321
386
300
285
293
317
278
317
236
314
333
356
234
425
400
297
320
328
378
217
338
234
315
327
302
297
258
347
389
380
331
254
343
325
333
305
306
382
271
241
310
392
317
260
351
346
259
253
241
327
343
282
324
307
305
233
363
354
280
262
378
327
358
316
351
188
317
295
379
285
316
297
271
363
346
318
330
278
316
250
337
319
294
239
237
275
417
298
259
211
314
300
311
356
308
314
245
343
335
312
334
319
327
339
331
363
277
362
297
273
265
297
239
343
276
321
262
309
292
322
262
334
296
324
265
334
354
314
284
343
370
394
276
308
300
359
251
376
325
284
356
311
359
373
382
234
352
398
354
351
263
326
294
266
278
333
282
317
374
257
345
336
287
314
277
363
328
334
315
317
269
376
317
330
286
294
322
335
354
291
331
277
232
291
246
196
294
378
243
258
298
303
276
294
358
299
288
319
356
378
285
295
300
420
273
280
334
356
353
319
324
373
321
415
219
335
310
307
327
312
291
376
261
310
315
348
263
337
381
293
292
311
279
351
241
345
385
340
307
329
290
292
355
329
343
271
338
302
310
336
296
346
272
281
332
341
318
261
396
291
288
321
215
306
307
273
331
348
266
332
268
292
270
333
329
296
307
318
309
288
266
310
331
327
312
251
314
305
362
347
342
278
322
278
286
353
299
323
317
279
346
345
299
368
384
338
321
338
295
371
309
307
317
272
290
358
317
239
313
257
298
265
311
315
317
272
359
282
363
273
246
336
306
366
274
262
239
274
335
339
329
321
344
358
367
312
341
354
369
351
400
233
315
361
304
304
356
347
354
308
292
373
337
390
380
267
229
347
267
295
391
311
309
363
303
402
350
398
348
302
376
268
318
277
376
393
390
319
392
351
255
320
287
295
312
303
360
291
375
325
308
318
300
302
335
362
276
349
323
280
362
227
325
305
388
359
358
357
292
366
351
305
373
307
278
338
286
324
230
221
249
351
302
364
332
353
231
319
375
273
287
395
355
337
368
319
314
300
292
337
377
362
319
302
215
360
286
386
351
349
271
319
352
331
370
347
310
340
345
252
353
272
356
362
298
335
281
372
296
259
388
214
318
301
265
352
310
243
357
295
301
300
324
280
204
307
326
334
330
305
324
255
375
309
356
349
342
382
357
250
371
378
284
311
308
373
265
373
269
303
291
290
272
331
295
357
324
291
349
353
296
347
325
354
392
285
351
260
328
334
284
270
336
356
307
286
317
247
399
461
263
219
399
298
317
294
422
292
217
316
328
321
309
324
411
326
323
356
270
331
381
333
341
366
248
323
380
344
384
357
266
307
358
363
238
338
320
367
332
323
339
261
299
334
311
304
229
271
310
346
369
336
365
333
404
273
296
320
366
292
362
286
376
263
356
338
322
347
286
366
324
285
355
402
344
377
342
233
330
300
297
281
247
301
358
266
335
287
333
358
379
377
356
315
241
336
302
386
253
319
301
256
308
222
332
349
327
347
331
300
339
371
360
329
339
283
280
306
300
351
381
314
328
335
256
313
257
319
215
331
325
335
367
334
399
363
276
284
386
312
358
281
393
287
282
300
324
279
346
352
318
340
293
333
225
337
322
309
355
302
304
328
336
359
314
340
247
338
313
323
303
342
307
369
298
310
328
250
295
275
267
265
271
314
262
409
317
319
285
298
242
321
374
339
311
377
354
359
260
390
292
228
357
367
340
258
386
297
369
345
357
307
290
311
375
348
358
303
287
328
269
345
269
333
259
341
322
305
383
338
291
301
371
231
269
192
297
317
326
384
318
382
316
342
293
333
319
280
316
277
355
355
292
379
276
332
307
253
316
310
281
285
292
363
286
305
299
293
363
352
299
287
302
300
336
258
270
306
396
358
250
308
302
345
324
385
380
332
319
395
272
286
351
383
332
366
357
275
276
355
345
307
440
335
296
342
332
321
307
331
231
364
292
350
237
335
358
328
324
302
282
271
346
373
292
444
314
289
300
348
297
342
412
321
321
248
317
312
301
248
412
312
311
411
316
255
345
328
312
225
358
289
370
302
344
312
325
351
338
340
251
333
210
330
318
336
291
315
212
301
308
324
351
405
384
348
319
410
295
328
269
301
381
297
392
370
323
302
268
288
262
278
279
315
295
303
327
272
293
324
343
269
301
323
371
308
342
268
280
333
292
291
345
392
289
302
346
387
350
306
333
329
309
306
289
269
363
295
270
308
216
314
264
321
322
299
301
293
383
345
343
355
303
249
321
383
256
351
249
365
337
311
242
342
271
367
294
317
340
252
375
324
299
299
247
330
343
401
245
248
278
296
311
357
309
306
302
326
246
313
335
330
334
345
311
285
292
275
336
330
309
364
304
325
267
346
294
241
350
305
354
311
287
297
383
320
318
343
287
360
370
332
278
354
357
249
301
301
303
349
244
290
402
321
317
286
264
250
330
257
320
297
361
386
309
387
329
281
362
312
385
358
308
274
266
265
317
270
197
344
241
421
281
339
357
347
341
337
366
318
297
327
362
276
375
236
236
390
244
274
357
318
319
325
364
371
314
338
307
337
252
321
388
326
351
353
287
295
323
330
292
322
215
274
352
344
284
278
343
360
300
308
336
322
306
306
334
350
346
242
328
364
338
292
238
297
330
370
375
342
393
322
329
288
326
363
282
274
330
300
349
264
332
367
331
290
290
254
315
304
242
292
375
281
298
329
330
363
283
296
387
339
262
337
362
370
311
353
382
286
317
262
218
345
351
327
305
305
230
252
301
296
325
357
319
328
286
375
292
363
285
338
323
312
242
329
306
362
345
380
243
288
267
277
324
411
339
283
370
379
284
334
285
287
316
273
304
334
226
262
308
349
253
351
356
350
337
338
375
336
240
337
326
334
346
275
261
348
339
167
300
320
308
331
302
403
325
309
378
305
361
261
287
304
299
372
313
264
297
324
272
304
305
320
400
276
276
317
279
311
347
328
312
287
337
348
347
294
307
273
306
360
290
366
370
356
331
329
331
370
330
327
265
267
292
263
346
319
355
333
346
342
317
380
369
268
293
252
291
344
341
355
276
284
307
310
316
406
324
297
360
274
338
292
336
355
277
319
313
348
313
316
326
317
391
259
342
320
301
298
300
341
396
270
331
239
341
285
355
288
364
266
373
275
287
329
297
194
301
256
280
306
319
239
270
407
279
348
306
354
290
347
343
227
250
371
309
326
344
316
403
267
312
298
227
356
360
339
319
249
290
319
357
350
270
313
338
361
305
305
403
254
337
235
348
281
304
269
291
264
356
245
272
257
350
294
346
317
386
247
311
281
325
345
221
351
292
349
296
336
366
285
313
358
305
333
335
328
339
356
244
338
381
343
372
311
340
294
257
397
326
307
387
313
349
233
379
266
234
312
304
319
298
326
257
330
365
304
303
288
399
232
263
298
302
354
397
289
300
370
304
306
306
349
312
182
333
302
299
321
372
347
306
288
212
350
390
253
363
325
346
342
320
371
308
316
308
335
341
301
309
396
335
273
386
352
385
343
303
294
246
334
269
288
242
302
356
315
278
258
247
310
324
339
268
302
293
372
331
294
360
362
323
344
319
325
230
262
317
291
323
315
378
364
245
330
433
354
335
350
234
373
376
219
323
379
302
366
407
222
212
255
313
279
254
247
331
302
339
307
414
289
334
263
271
387
336
231
379
312
366
352
325
327
395
300
259
309
366
339
293
331
325
366
296
282
315
231
285
244
386
323
340
375
294
278
277
342
304
331
291
334
288
346
372
380
348
335
338
348
344
354
330
315
357
378
316
328
323
323
314
332
351
261
338
301
364
366
350
373
291
407
276
282
324
327
364
293
346
363
323
255
290
293
309
282
327
314
335
242
395
304
357
352
358
273
360
383
315
355
309
305
295
333
311
362
368
335
291
352
403
322
378
327
291
266
323
360
352
279
303
345
304
270
259
306
309
364
275
333
273
300
360
341
338
371
358
337
317
282
305
279
308
382
281
311
308
334
368
311
375
351
334
338
297
254
344
343
363
362
317
383
293
299
387
420
309
219
239
353
267
288
296
249
339
275
332
370
349
312
366
426
276
332
284
370
272
295
258
292
343
309
286
295
278
286
379
210
395
320
306
274
300
310
273
371
291
311
313
225
307
226
338
286
353
270
325
305
323
345
218
268
380
356
316
219
348
283
296
320
295
324
269
276
301
239
290
355
254
246
315
277
324
327
270
272
247
287
286
345
285
299
329
330
293
278
314
313
261
287
361
282
300
261
293
353
392
377
256
262
322
370
273
261
251
371
288
351
314
288
329
365
305
365
302
280
354
275
285
367
326
327
295
299
265
353
281
377
300
336
275
299
337
360
286
346
350
344
302
369
321
341
411
365
306
333
318
290
354
402
367
312
384
303
347
311
311
347
261
254
277
246
372
273
301
303
308
365
325
324
304
349
293
352
248
387
316
313
319
399
262
279
344
251
322
307
311
305
330
390
241
282
354
336
336
308
320
339
351
362
350
315
255
284
332
276
311
309
276
323
304
317
256
312
335
310
331
295
290
312
245
362
306
368
360
322
245
276
300
314
217
327
333
272
300
339
330
342
373
233
307
286
260
314
242
307
304
292
334
343
420
327
326
245
304
385
308
280
311
300
318
298
311
374
286
293
385
301
265
298
289
342
328
282
290
350
286
381
347
308
356
262
289
385
327
309
294
266
210
341
334
244
285
365
234
404
305
353
374
321
345
258
315
344
308
263
238
390
238
290
275
362
330
352
427
330
313
336
356
348
280
251
336
379
333
396
328
294
288
257
244
306
351
382
227
327
344
306
354
256
386
334
354
272
324
290
273
330
342
336
396
252
330
271
317
328
317
277
385
288
303
315
415
329
310
285
310
396
305
265
425
289
323
355
323
356
301
384
355
270
265
335
269
360
311
337
292
319
387
277
305
326
277
379
348
298
221
278
348
362
378
397
346
281
267
316
235
362
296
309
326
345
298
358
388
399
347
255
341
316
271
306
257
382
343
284
292
322
363
327
321
304
283
300
384
294
317
310
265
323
297
275
318
251
331
257
324
271
320
288
347
308
287
362
255
349
297
329
367
227
310
374
402
217
303
294
394
357
349
253
271
265
324
407
286
241
298
275
362
280
365
338
397
343
372
322
322
286
337
318
241
267
287
385
399
306
347
245
327
361
313
314
287
288
313
340
339
321
254
278
349
339
366
321
379
355
349
335
400
367
329
387
387
321
306
290
331
364
235
314
301
309
331
400
294
352
266
219
371
311
294
270
411
394
383
372
346
328
281
294
317
295
250
257
340
358
308
278
323
328
350
371
326
322
277
393
290
343
344
276
297
371
346
299
372
403
283
282
334
366
307
301
326
295
257
232
342
368
400
299
400
380
353
396
308
304
326
336
410
256
309
291
334
400
308
241
322
327
300
380
307
307
274
326
203
265
313
325
323
295
232
263
396
377
315
236
251
375
287
264
253
230
310
255
349
425
287
379
348
310
266
354
253
329
292
251
364
369
349
324
208
282
407
261
361
261
343
278
319
329
292
362
249
321
341
277
267
284
368
325
371
335
319
312
388
338
322
312
285
413
387
359
333
294
340
271
399
286
355
268
243
252
327
329
327
290
352
292
392
325
336
321
343
232
329
393
338
341
369
287
216
207
360
341
262
306
387
276
323
370
323
270
359
363
259
384
262
323
288
354
322
309
281
264
300
297
226
288
371
370
386
282
315
316
320
285
257
286
285
293
299
221
326
317
254
340
293
302
409
365
344
309
256
266
287
359
301
356
283
274
323
313
285
277
222
254
274
289
308
339
325
315
261
257
349
335
295
348
303
303
305
363
313
331
262
322
226
317
330
318
340
365
353
284
349
317
274
289
333
374
301
254
349
344
331
309
266
270
349
350
287
197
388
259
323
260
334
317
287
320
443
354
291
349
179
313
240
275
243
300
276
267
320
315
361
335
341
380
337
287
365
281
316
317
336
367
344
257
362
433
363
321
336
295
259
441
374
296
232
269
412
313
355
325
335
308
328
353
255
349
327
351
317
369
222
316
317
294
318
347
329
301
311
217
239
240
326
360
237
445
245
369
288
281
308
327
341
254
325
322
297
341
286
419
360
323
224
343
319
309
314
317
292
288
272
225
363
366
292
295
384
243
368
249
258
281
257
351
352
334
237
345
324
288
195
251
344
276
375
330
297
206
300
265
325
362
265
378
331
251
326
277
291
392
300
263
281
246
315
363
375
326
270
297
308
301
342
346
312
334
320
368
381
308
338
305
312
337
321
289
247
312
344
372
369
308
258
320
385
325
277
350
364
253
270
392
287
330
403
284
357
331
325
383
250
285
355
218
317
351
324
300
254
323
339
354
360
312
319
357
266
293
305
335
281
361
322
289
311
362
369
366
309
380
248
346
366
283
382
325
386
304
333
330
385
288
265
312
236
344
308
333
217
337
358
342
318
378
313
313
299
368
298
324
357
365
355
305
251
342
332
303
323
349
349
338
395
289
318
315
343
347
341
259
301
277
315
315
279
321
215
270
209
301
341
337
401
321
297
271
325
347
326
263
279
269
322
300
300
394
242
349
344
402
349
265
278
307
234
424
271
315
248
333
360
211
379
398
308
326
299
372
289
310
341
402
376
376
342
365
333
348
233
283
279
318
347
271
300
342
341
280
327
204
384
328
294
286
371
409
307
350
320
351
271
273
295
271
214
353
348
406
271
296
356
269
386
298
376
315
322
365
377
375
286
351
306
317
271
276
322
225
330
346
272
232
199
376
314
322
286
336
335
320
296
338
315
314
264
313
301
405
230
296
305
337
290
296
272
411
286
332
388
255
413
334
279
349
297
359
246
285
334
298
339
282
392
361
331
253
252
347
315
357
317
303
317
335
322
345
335
344
348
270
268
314
388
330
277
286
265
299
212
353
311
358
319
340
281
260
336
324
280
327
385
294
273
241
304
269
280
275
305
272
290
265
313
301
298
360
325
329
298
308
359
333
276
248
279
345
297
319
291
365
420
367
274
362
306
391
340
352
314
335
366
311
285
293
364
441
299
325
395
252
317
313
400
313
399
294
425
203
298
274
278
268
295
309
228
376
277
240
353
291
236
388
339
293
385
303
327
289
338
345
343
293
270
343
305
379
284
264
264
383
327
370
287
312
305
242
300
300
310
242
315
295
293
348
289
348
370
282
314
341
281
379
233
268
315
357
295
299
288
313
374
232
366
320
382
303
331
324
251
352
364
351
312
262
312
316
368
304
383
307
312
331
260
368
363
309
223
412
248
320
283
262
243
355
303
385
317
344
301
347
320
310
376
323
212
232
358
300
279
163
335
344
319
279
295
300
290
347
363
320
298
355
325
382
349
339
224
261
252
331
287
255
377
338
327
401
263
300
346
349
301
337
303
292
339
262
358
295
288
351
330
321
230
366
330
267
289
256
266
329
273
225
271
336
330
387
294
310
226
378
324
354
272
312
318
375
383
368
301
333
343
303
287
297
360
326
321
374
261
370
287
249
371
260
344
349
332
266
285
194
319
270
358
319
262
353
315
333
295
320
287
360
396
312
243
318
308
263
235
324
296
252
321
322
255
335
301
231
274
304
268
327
331
337
332
322
286
359
345
289
328
292
314
294
313
286
281
351
313
377
352
343
367
231
361
333
278
277
313
263
379
390
286
289
388
281
381
356
226
315
329
298
370
277
345
301
330
349
286
300
363
389
328
310
349
352
377
337
248
283
252
253
247
301
300
286
377
387
370
334
325
286
278
299
332
307
313
282
314
265
235
287
286
321
270
409
335
294
304
311
422
348
362
367
254
347
294
278
307
298
247
325
361
294
372
321
186
305
263
221
337
343
262
337
327
360
323
343
306
342
390
428
373
310
372
290
327
351
378
237
259
295
327
331
289
240
337
315
303
273
296
309
314
347
363
325
275
366
274
300
304
257
376
270
383
338
373
271
282
262
330
326
390
314
265
358
373
356
301
289
351
322
313
398
352
314
288
239
319
270
361
366
348
255
387
192
326
317
242
245
318
320
307
319
276
325
286
394
324
341
287
343
285
361
289
369
240
283
354
337
313
290
367
354
277
391
307
317
288
304
321
340
322
268
348
260
420
256
328
369
378
313
343
256
291
329
284
340
328
305
301
268
328
341
315
342
345
256
288
326
310
330
331
314
278
385
255
347
298
321
349
381
340
376
307
385
393
312
271
312
249
347
370
380
390
340
264
299
348
323
207
398
329
303
242
351
369
296
324
317
366
328
288
345
314
338
281
364
322
296
318
322
269
298
272
254
245
328
387
282
343
300
274
342
318
299
332
299
329
364
400
373
336
306
269
313
414
291
379
326
338
285
342
359
302
320
248
330
347
280
251
296
321
331
242
291
304
209
246
338
294
299
354
302
321
236
279
302
304
319
306
231
321
344
322
297
281
345
311
341
339
280
321
306
402
351
332
369
373
371
330
269
361
269
252
362
226
340
347
319
296
323
333
290
280
378
323
363
374
302
320
278
283
195
329
273
322
276
345
257
220
278
232
360
288
439
267
269
281
291
361
319
397
309
348
427
341
326
279
388
307
339
338
285
304
276
215
352
302
244
318
330
337
373
287
347
322
327
323
377
306
336
394
294
379
288
286
281
292
250
288
319
326
359
334
335
284
342
342
309
333
232
338
288
370
308
327
370
290
367
337
298
314
353
360
356
365
323
272
312
380
313
278
405
295
270
291
316
334
303
312
414
232
323
309
276
273
324
272
387
311
282
364
282
294
338
367
349
284
303
326
300
272
259
235
342
246
257
325
345
312
356
348
394
327
364
308
365
409
291
291
304
263
339
329
250
302
278
228
326
322
250
315
210
359
396
300
277
335
346
274
283
345
265
308
240
377
254
345
335
338
333
365
328
323
294
283
237
365
303
286
209
336
361
300
365
295
293
343
379
237
276
354
370
323
354
383
309
243
324
315
308
367
283
303
298
299
299
293
289
266
236
310
408
327
225
323
341
309
352
304
254
291
264
272
266
387
404
210
338
313
336
312
349
332
314
316
355
365
263
241
285
311
245
332
356
299
229
379
347
332
276
375
360
387
387
308
356
343
329
411
308
367
288
322
371
336
285
273
341
404
381
290
292
244
378
307
319
281
282
356
366
260
391
330
357
273
425
351
304
340
273
346
329
304
362
280
321
338
338
295
371
285
290
196
281
279
370
321
348
276
400
266
283
310
333
356
300
335
244
334
267
352
270
327
246
328
242
295
369
280
365
356
270
354
206
274
327
291
318
261
344
253
339
187
339
341
303
361
320
299
241
337
284
266
250
389
308
241
238
302
337
254
323
266
278
338
339
312
354
335
314
279
369
301
401
296
277
284
400
282
309
362
268
299
367
378
397
341
308
270
267
376
339
264
368
302
386
337
329
296
320
376
340
363
343
325
293
345
380
338
370
341
328
321
307
402
303
332
289
265
274
238
275
361
285
257
404
341
326
298
392
347
261
301
251
337
387
314
321
357
335
327
297
330
268
286
302
299
282
382
355
367
315
220
311
324
315
310
346
334
333
309
248
367
302
268
333
316
293
262
272
336
300
410
298
298
358
318
310
333
356
320
310
361
364
292
316
353
314
288
296
341
275
300
332
278
283
245
357
318
372
369
368
333
358
306
338
285
346
242
295
303
272
352
361
336
323
444
378
206
342
307
324
260
311
336
301
267
397
356
265
243
286
227
355
252
315
331
234
290
316
259
282
387
381
316
309
248
286
301
353
285
297
332
339
380
374
311
369
351
323
255
234
344
282
314
297
265
298
392
382
291
346
301
346
332
305
390
285
255
315
349
290
335
286
340
257
335
343
383
304
237
307
397
356
371
285
329
319
277
361
285
264
350
326
328
294
304
252
343
296
302
321
349
342
313
344
335
364
331
322
302
333
339
343
332
339
362
305
336
308
244
307
332
319
375
204
292
287
270
279
252
293
342
305
268
385
273
318
289
322
295
368
254
319
380
290
361
389
364
278
368
293
292
338
289
221
302
337
320
309
264
345
235
364
290
319
299
294
357
344
235
405
297
235
266
307
310
342
342
329
365
293
350
222
259
376
337
321
319
292
266
284
315
320
333
283
357
404
361
224
219
396
309
305
318
349
240
351
246
333
334
202
356
370
328
334
299
363
353
385
282
327
196
255
253
225
335
295
301
380
265
349
245
388
344
344
299
298
324
281
323
295
238
403
351
324
309
354
294
256
267
318
343
340
310
293
310
321
388
326
258
316
322
353
413
281
254
348
338
375
312
267
410
214
345
338
362
293
364
341
342
319
378
313
305
358
359
303
276
284
336
271
375
272
308
289
292
228
339
273
367
239
290
311
326
175
330
306
225
233
268
354
262
331
330
368
309
244
363
363
299
364
425
346
322
352
295
308
277
331
254
372
344
299
295
278
214
285
298
402
415
331
223
320
308
311
312
371
375
421
331
365
445
336
302
334
329
260
326
307
333
404
339
398
288
318
308
342
193
377
212
320
363
376
332
296
322
387
291
259
283
335
292
296
316
259
243
372
325
254
254
359
396
311
253
327
390
338
231
319
378
294
335
277
277
269
340
344
376
302
311
357
407
222
295
323
267
307
356
277
277
232
300
276
308
289
266
260
346
312
376
311
341
345
261
240
360
347
338
299
294
250
304
268
355
284
268
314
304
279
333
272
365
252
370
259
351
346
274
356
383
325
441
300
313
273
304
349
328
314
276
315
375
254
387
375
342
315
362
272
234
285
263
302
415
233
328
331
299
274
305
323
382
361
338
257
279
281
307
326
282
338
327
328
365
370
351
329
279
369
330
316
398
316
383
319
395
316
378
290
349
298
262
346
314
376
366
353
351
275
295
348
293
306
313
231
346
294
267
322
306
351
312
352
276
291
259
391
362
262
323
330
382
294
293
367
448
321
279
342
293
312
334
370
244
355
318
401
341
245
317
351
296
324
337
299
237
338
201
226
354
335
268
240
386
286
366
184
333
310
296
313
358
329
416
315
151
286
331
377
330
299
303
257
374
362
333
271
273
299
321
281
252
298
388
217
305
307
284
285
279
259
320
285
324
276
299
350
234
304
281
262
311
315
256
286
258
247
279
396
282
345
273
273
239
310
238
326
294
356
341
402
347
298
307
268
299
327
276
344
291
238
297
317
274
356
260
322
371
328
316
294
332
287
283
302
368
226
352
337
283
348
271
272
382
293
376
288
350
250
302
350
355
353
343
340
303
345
389
317
275
310
344
372
272
329
340
325
282
319
313
367
302
277
316
328
272
306
296
268
360
287
312
408
299
308
346
279
279
296
316
291
306
327
375
257
286
367
357
293
389
311
313
332
330
287
340
284
329
202
264
321
268
319
287
391
278
292
310
284
225
294
315
281
403
321
349
318
371
236
338
283
335
359
288
392
343
332
306
241
287
254
285
249
240
298
269
288
340
318
385
299
362
255
394
300
379
321
322
313
218
276
254
333
313
389
189
384
352
270
356
277
311
314
315
339
345
335
314
278
330
318
237
317
296
287
351
335
259
283
281
317
341
324
367
251
343
369
358
337
400
307
330
386
427
346
420
366
332
342
401
320
203
268
278
355
307
347
239
365
350
281
358
307
329
350
331
260
323
352
275
297
305
412
294
300
390
337
359
253
377
379
380
311
275
352
262
366
274
353
322
274
374
329
266
316
310
231
419
298
315
308
324
343
354
382
276
378
370
357
372
242
394
287
265
336
265
377
187
375
343
209
336
302
366
288
341
228
360
280
363
286
421
323
291
374
370
283
244
272
349
323
361
291
237
306
234
274
298
293
292
334
317
385
237
387
343
349
344
219
299
373
347
252
380
305
278
346
301
250
386
317
380
299
330
297
314
353
334
271
316
337
343
314
306
352
296
292
289
260
364
351
244
316
306
279
328
305
251
358
300
328
353
307
293
224
374
273
318
349
235
341
346
307
309
354
379
312
326
361
267
306
294
254
273
267
325
351
238
342
281
295
245
384
206
356
277
364
277
305
263
344
283
296
313
308
340
379
310
357
298
320
341
367
284
331
261
254
335
276
359
341
340
357
302
317
337
233
318
215
342
350
352
421
297
290
273
368
328
358
320
347
312
280
321
349
346
340
273
357
242
380
296
311
281
296
380
306
349
330
248
326
377
385
223
215
269
367
334
280
327
312
341
285
309
363
334
266
334
299
338
338
301
313
330
357
342
325
343
308
234
320
344
281
321
261
342
369
334
311
338
321
332
309
362
362
318
367
310
367
282
291
276
286
281
318
238
315
337
364
399
325
300
306
311
269
274
315
286
324
339
347
359
300
319
326
252
285
304
263
300
320
290
363
389
423
257
415
368
297
370
313
224
269
342
340
274
326
272
363
341
290
328
297
356
329
284
307
227
305
323
290
350
251
364
356
372
334
319
295
297
299
397
368
249
259
302
330
289
376
328
329
265
290
262
340
335
373
282
331
371
275
275
386
280
262
277
362
284
307
318
395
310
279
440
351
266
350
261
230
296
310
359
333
362
301
297
353
386
298
256
280
272
273
350
339
304
283
325
324
347
309
335
344
352
285
358
326
291
320
302
381
340
322
314
221
359
308
273
263
297
325
304
239
275
319
304
333
398
332
263
345
233
315
262
344
332
249
324
248
257
355
293
285
282
345
260
382
299
329
294
342
288
340
248
266
299
309
262
314
375
285
289
383
342
321
346
277
312
383
335
341
373
346
314
274
281
248
286
314
253
236
304
289
272
301
282
331
262
226
298
228
296
341
239
349
352
346
259
248
273
246
337
346
310
304
298
383
364
294
353
363
283
350
335
270
298
317
334
309
345
345
280
314
260
340
440
393
362
353
334
333
383
224
282
297
291
300
352
261
288
378
282
310
279
293
234
311
440
282
233
306
228
341
225
289
298
254
286
330
322
222
324
311
298
313
343
331
207
302
353
300
246
299
267
251
369
355
283
366
376
338
329
244
270
426
340
266
288
351
271
301
332
328
304
268
287
394
280
399
303
264
267
370
269
320
368
322
303
323
300
275
359
282
351
333
277
274
308
353
350
287
392
293
333
424
298
355
389
247
282
330
366
351
332
324
308
355
309
349
353
359
293
324
276
274
299
307
287
296
315
377
360
309
403
334
317
250
321
284
289
259
358
294
243
277
146
354
248
256
306
293
325
301
226
334
319
346
354
384
314
245
373
278
300
277
312
390
340
303
291
216
309
228
331
299
313
310
332
225
264
323
304
351
391
258
305
331
303
307
276
447
300
358
280
325
263
358
296
307
344
294
342
286
251
371
309
323
306
308
355
396
222
322
312
310
300
284
338
374
403
335
272
301
397
397
319
376
312
340
340
345
369
298
228
327
441
273
265
367
356
226
297
305
403
287
261
346
349
270
324
322
322
280
375
362
367
322
371
352
280
287
415
284
283
300
313
333
346
374
359
323
318
363
331
337
291
322
330
212
402
300
324
352
330
202
386
350
397
302
276
278
303
333
360
352
270
306
273
398
300
333
379
327
284
302
339
373
312
250
363
327
345
263
226
280
274
265
339
285
291
409
346
347
296
311
343
327
290
345
269
263
330
360
349
333
338
311
325
390
213
367
267
298
295
388
316
286
377
336
302
299
306
364
370
302
248
288
404
337
393
345
334
256
353
337
356
200
304
380
317
310
262
288
245
239
292
358
423
325
350
321
312
343
389
301
410
337
275
306
402
233
351
244
246
331
310
342
229
257
222
250
291
268
289
294
332
296
256
271
357
337
300
355
386
361
380
358
281
318
227
353
302
338
265
302
394
284
341
327
329
322
320
347
292
294
313
343
367
259
423
365
365
286
306
304
217
322
341
336
247
359
296
263
311
289
344
246
326
247
306
356
342
344
283
340
325
304
384
342
282
253
285
377
327
248
266
363
310
335
266
321
313
313
330
411
257
299
227
351
295
270
297
340
242
344
362
233
329
322
366
298
237
315
245
301
293
305
359
375
228
225
316
279
330
344
369
360
356
278
320
313
266
273
363
361
387
369
365
296
317
363
351
351
281
354
306
338
311
285
344
304
352
348
324
349
319
336
260
315
345
332
347
291
296
283
285
323
296
365
398
279
227
311
351
309
328
339
270
311
291
243
278
296
264
350
396
311
377
345
355
343
328
274
326
271
315
287
313
273
337
276
312
430
335
332
326
259
336
273
357
401
278
385
362
388
352
280
271
311
249
371
359
272
355
329
239
335
332
261
303
264
286
249
347
323
308
251
371
315
249
319
369
243
307
276
282
211
261
391
383
261
257
270
343
274
316
350
262
385
322
270
278
415
312
318
346
309
398
339
312
385
368
350
382
363
346
335
301
342
301
257
306
279
294
315
227
338
282
307
309
355
338
330
254
289
270
290
351
297
378
346
309
242
240
323
232
311
348
292
344
263
321
340
376
302
295
332
361
243
248
280
335
359
397
286
318
291
320
279
311
238
291
301
278
386
268
320
341
331
227
290
364
242
253
299
307
263
300
302
349
258
259
261
313
332
322
326
227
375
286
312
276
324
352
342
333
378
336
245
320
358
372
263
337
298
278
350
255
328
330
292
284
328
326
304
259
279
272
407
366
339
322
296
299
280
237
343
358
396
281
358
396
307
388
281
241
302
326
396
364
360
290
354
281
314
290
238
371
246
313
281
328
359
348
421
297
345
304
330
331
380
348
344
324
390
349
380
328
240
225
295
330
268
365
338
284
394
296
297
284
313
329
294
354
195
336
313
338
298
336
361
329
267
273
299
263
354
317
296
326
343
376
363
276
320
284
296
339
320
331
189
311
358
355
242
295
322
339
279
249
339
290
289
289
279
305
309
255
314
287
272
318
243
369
389
277
272
310
350
264
332
252
284
352
281
247
328
294
261
293
358
308
268
312
361
334
301
259
296
266
300
265
325
311
295
290
258
352
287
350
221
263
295
334
211
342
396
355
339
258
358
299
348
355
374
406
230
323
261
250
308
341
267
289
254
257
353
285
245
251
335
321
346
274
276
268
290
321
324
271
347
313
332
338
277
233
346
316
273
288
277
302
414
245
327
231
300
362
393
406
355
330
355
294
249
296
255
330
404
318
322
257
294
306
327
337
280
343
368
298
249
365
379
295
374
368
343
322
449
351
338
287
347
362
372
265
378
406
175
365
306
273
304
299
381
302
341
346
289
354
322
288
324
371
261
370
329
303
369
325
255
346
294
248
263
289
283
264
356
356
348
343
343
297
347
314
317
333
331
291
349
341
285
179
254
315
284
267
370
399
237
311
359
431
277
300
359
269
279
348
336
218
268
314
317
412
311
246
280
261
399
328
304
345
323
333
317
273
282
311
263
352
285
285
260
324
368
281
249
304
351
338
352
260
330
273
370
353
261
277
277
295
342
315
419
325
244
369
311
340
334
303
332
339
397
370
361
304
314
318
236
439
343
331
361
309
287
359
344
377
323
324
219
372
274
372
378
322
330
366
281
351
300
276
277
365
354
330
358
283
301
315
267
250
320
348
296
312
292
259
203
309
260
307
291
352
339
310
386
283
311
270
318
360
314
280
295
286
320
326
323
298
313
278
321
377
235
393
242
324
288
293
384
343
266
311
321
323
311
370
303
260
277
313
344
293
290
383
298
337
224
330
365
365
349
317
363
264
327
323
278
353
356
264
257
319
358
365
336
267
339
323
276
398
380
221
275
358
214
325
294
289
299
318
322
309
371
292
273
314
297
352
245
274
292
379
243
334
385
356
314
353
318
231
259
384
300
369
289
355
234
300
268
319
267
310
290
279
302
338
303
379
339
400
181
286
206
356
273
398
347
280
351
332
341
394
303
308
207
336
280
363
306
294
348
443
219
290
274
296
272
316
374
271
329
368
284
325
267
256
347
266
281
348
356
333
286
226
317
298
399
411
230
302
355
374
325
420
305
298
305
328
311
343
269
324
358
330
293
247
300
328
336
226
342
311
254
357
200
275
307
310
304
266
346
319
323
287
305
309
358
334
408
278
322
261
360
393
222
360
394
309
357
314
280
319
247
333
325
257
378
347
343
316
316
263
302
330
218
361
314
247
270
274
393
296
296
269
280
301
286
407
337
340
328
286
338
379
234
253
325
333
263
324
319
308
332
298
321
336
327
251
315
300
284
354
330
452
331
284
315
294
285
271
335
304
261
326
359
274
266
301
240
284
333
346
356
360
287
381
334
312
362
317
354
244
216
287
298
342
317
351
211
353
273
325
285
409
307
326
263
396
335
294
356
324
299
278
298
308
327
256
282
335
224
308
335
328
400
245
297
270
314
360
409
309
408
315
266
314
398
323
212
272
287
365
393
285
348
326
421
305
256
366
323
385
289
266
288
298
295
231
426
348
336
315
305
380
322
355
255
315
296
277
357
362
242
272
298
249
323
272
350
353
288
319
324
328
322
333
245
302
342
450
410
279
311
291
391
315
270
327
310
299
252
272
263
377
352
276
316
284
384
360
347
294
276
259
248
265
351
381
355
294
379
314
385
411
245
289
277
423
277
286
301
321
271
301
288
286
236
331
389
341
347
376
299
407
353
325
246
303
336
336
278
409
312
324
394
307
342
356
305
288
295
328
258
364
311
313
366
308
283
346
229
320
295
407
294
337
341
321
355
354
349
335
392
332
399
268
335
356
375
323
311
287
324
353
309
243
328
353
340
316
284
343
337
356
342
280
284
260
376
318
317
344
332
414
296
348
369
326
281
384
313
346
286
352
320
268
372
212
276
327
320
316
346
374
338
326
294
363
290
352
345
308
355
290
299
362
300
339
307
299
398
352
267
356
362
269
287
309
204
211
323
325
324
341
356
320
235
267
379
264
364
316
273
392
329
360
315
353
394
330
307
380
311
336
289
386
353
315
221
357
301
309
272
387
336
253
285
335
343
287
325
359
285
277
349
330
347
343
345
263
301
375
335
405
329
312
331
372
324
334
318
332
401
296
321
419
303
243
266
303
331
330
362
236
300
320
336
358
332
256
334
295
295
312
325
301
326
274
353
359
345
319
363
272
327
238
334
231
355
298
329
250
293
302
375
291
339
230
230
256
217
345
305
339
264
371
302
371
336
293
264
370
342
303
370
283
302
275
360
326
378
295
251
318
396
367
374
300
236
280
354
339
252
350
260
286
363
395
278
331
282
257
390
257
291
319
363
348
282
308
286
352
351
356
297
353
413
314
331
314
349
319
356
249
326
293
362
359
348
341
360
313
302
346
301
326
336
364
330
355
365
271
304
318
411
346
321
299
286
275
247
331
310
370
362
316
336
327
292
275
303
303
260
296
318
323
358
323
290
274
364
202
330
318
259
357
354
279
259
287
380
298
342
332
357
282
262
340
321
331
348
225
314
317
350
318
310
340
281
328
325
285
324
244
293
294
301
314
310
320
270
302
308
274
276
210
342
351
280
411
276
306
253
324
313
367
266
336
327
331
272
293
344
321
336
301
325
387
314
398
316
276
293
338
319
339
359
404
193
341
298
323
321
331
265
364
328
370
319
396
295
310
278
299
325
414
339
294
321
303
335
336
333
358
260
294
363
294
302
297
324
434
225
260
440
264
406
245
423
286
255
274
178
275
431
308
284
325
290
275
308
298
359
273
315
240
336
340
333
304
236
350
319
284
295
253
322
354
244
367
409
229
365
377
328
294
318
332
339
298
281
307
352
288
347
308
341
299
272
337
351
244
418
354
264
344
354
367
250
341
286
282
337
257
375
284
319
371
354
372
264
292
308
263
315
268
349
336
362
302
311
287
297
284
306
365
320
263
325
313
341
340
359
313
370
207
308
346
418
251
290
355
281
265
260
302
320
331
334
338
306
284
263
327
303
335
250
303
308
294
261
277
344
298
355
359
293
281
374
267
282
330
325
367
387
359
362
260
236
362
246
252
334
290
251
288
248
271
343
289
344
295
311
296
286
329
345
249
298
229
329
376
335
268
316
285
315
225
281
264
175
260
291
292
309
286
371
264
277
407
293
295
271
321
355
307
308
298
373
272
329
281
337
267
297
348
316
357
332
325
288
343
338
314
409
384
339
392
311
310
284
323
265
353
174
342
372
196
386
330
299
313
312
304
241
283
314
334
305
281
350
267
328
233
284
286
348
337
288
303
263
235
337
336
349
340
363
319
326
322
320
378
262
354
273
214
324
283
355
266
290
327
392
354
345
384
272
335
290
328
301
323
286
392
365
318
303
413
351
259
319
358
273
297
416
268
330
309
300
291
268
325
305
282
331
338
308
287
275
329
294
262
354
249
347
337
326
268
266
361
283
299
267
345
316
366
433
256
282
334
373
225
260
335
347
347
271
400
254
367
317
298
366
335
304
302
308
308
384
274
279
305
356
310
365
276
273
315
321
284
329
346
273
345
390
343
253
228
419
315
324
246
311
349
253
326
300
157
258
288
307
291
327
338
304
298
316
315
317
215
324
320
382
357
338
216
278
261
341
294
356
324
245
296
232
369
274
391
262
324
282
317
330
353
403
303
328
255
289
295
270
266
258
258
351
209
235
350
339
280
244
301
259
327
333
296
326
356
304
325
275
318
353
354
299
343
254
333
288
304
382
352
303
291
347
293
351
310
343
361
288
297
279
327
421
385
318
275
411
303
326
297
307
297
327
248
332
328
342
246
304
398
368
361
266
376
294
337
277
307
277
393
311
313
320
280
264
315
311
338
284
304
304
274
314
275
234
322
330
283
217
409
328
316
360
353
292
330
365
305
294
351
299
305
230
319
380
377
314
347
442
302
400
349
304
298
327
296
186
329
296
318
407
361
386
365
322
310
274
315
368
304
301
237
294
330
325
259
332
387
316
305
295
336
287
209
316
282
348
346
351
331
334
297
347
280
308
364
344
309
347
313
343
315
247
371
456
387
326
329
348
253
345
300
283
331
215
280
353
339
356
260
292
306
304
291
346
307
320
358
318
287
375
272
301
258
364
331
328
270
234
326
356
349
333
264
262
368
343
406
381
334
364
287
323
289
294
377
259
262
337
370
344
270
345
321
307
393
336
431
279
331
379
283
287
439
322
277
356
399
327
343
235
277
336
320
388
310
372
296
323
309
386
341
237
413
288
356
291
306
360
322
229
348
304
303
296
342
369
292
363
240
320
306
291
350
282
326
307
274
270
317
276
326
338
359
290
299
253
360
353
250
347
305
307
338
332
313
315
251
319
275
356
311
315
375
382
337
261
397
344
330
297
282
372
348
284
312
308
224
316
389
424
309
267
338
289
281
304
278
247
321
268
312
270
279
356
279
289
331
361
303
279
302
445
363
368
356
335
322
357
369
319
285
356
220
265
332
298
240
376
314
314
253
328
250
322
350
290
240
294
285
276
290
318
311
311
212
251
401
341
286
291
334
334
345
300
275
385
227
186
359
356
291
295
262
333
265
390
323
340
358
303
401
345
323
327
278
310
349
427
392
348
301
273
272
318
311
382
308
350
358
370
251
222
364
318
253
390
305
312
394
347
283
315
317
395
371
320
313
349
361
344
403
277
254
356
272
383
278
287
323
291
323
365
317
282
310
323
240
329
252
303
327
308
288
322
359
271
337
331
365
368
385
319
295
262
290
437
303
300
274
384
358
391
312
265
341
287
300
314
364
210
310
400
319
294
261
380
289
328
222
244
340
365
364
385
391
321
307
315
330
307
332
373
334
209
266
358
286
322
308
290
300
320
287
352
276
328
310
305
367
368
357
368
349
251
285
279
354
270
343
274
331
241
354
309
282
268
284
261
370
337
380
319
377
345
333
259
323
429
335
350
274
311
296
316
381
375
313
242
337
223
386
329
338
302
218
353
412
291
315
335
295
405
290
343
238
336
297
258
333
281
288
309
350
266
280
320
339
347
358
334
317
310
347
318
318
310
304
375
338
301
286
305
278
397
249
372
330
315
307
335
343
342
324
393
277
312
309
344
311
283
248
307
321
346
346
319
290
247
342
292
291
330
331
285
309
320
320
355
247
351
297
268
365
320
342
278
226
291
234
308
375
308
398
348
346
339
341
351
325
304
376
306
299
351
359
422
294
308
324
241
335
333
304
307
343
251
268
346
294
340
364
368
259
336
298
308
271
282
376
307
358
328
361
305
350
376
340
368
299
357
413
383
342
304
235
289
370
255
317
275
381
355
306
259
294
310
344
302
325
290
253
358
244
351
333
306
294
319
278
372
380
332
322
270
218
302
252
308
321
308
331
243
292
327
318
332
418
251
311
262
404
294
294
354
390
332
291
298
337
378
336
421
304
342
260
330
413
199
252
287
396
294
280
296
276
274
345
392
362
352
332
360
322
248
308
309
302
254
279
369
356
305
282
291
292
367
362
362
352
394
294
229
342
303
316
301
256
329
281
352
299
340
359
259
372
303
311
391
378
353
352
246
288
365
236
265
308
347
360
376
352
326
336
325
243
320
371
328
336
389
328
366
399
317
330
391
263
346
347
283
305
315
299
341
409
299
333
335
323
254
392
228
379
385
297
187
310
305
248
300
221
340
353
349
323
352
313
399
379
252
350
268
316
342
372
330
278
333
321
412
301
322
391
219
326
401
316
251
248
352
245
336
332
296
283
258
263
328
316
362
233
324
302
294
325
346
257
286
340
312
357
303
312
316
291
291
225
300
297
334
360
303
233
372
255
246
343
274
353
318
298
301
390
262
371
293
390
297
326
335
375
337
322
319
315
319
190
349
279
316
274
385
294
281
356
291
298
354
288
326
393
281
301
329
330
402
316
319
282
200
335
302
325
346
375
313
299
332
256
319
253
314
274
309
343
337
351
276
343
302
252
305
309
362
361
362
363
274
259
355
318
335
264
386
369
280
311
256
311
389
407
367
302
287
327
353
307
328
385
330
347
348
326
358
333
270
248
268
341
285
390
317
325
345
287
366
350
389
303
337
322
243
305
306
310
381
356
362
385
329
338
285
336
345
280
267
254
356
333
300
365
341
293
253
340
328
301
307
309
406
317
359
367
305
317
315
309
319
286
357
330
356
318
212
263
374
364
314
330
261
320
324
373
343
276
282
375
281
304
306
357
404
282
313
254
323
323
391
331
377
287
332
373
352
320
317
247
345
356
316
320
244
323
342
400
305
299
278
304
332
355
318
332
263
263
369
329
305
330
438
303
365
369
316
316
262
295
287
234
318
273
300
243
349
260
371
332
237
279
332
307
306
282
351
258
219
328
365
177
355
245
323
341
352
244
234
374
277
360
185
283
369
349
329
256
289
318
331
321
300
448
359
342
378
321
347
259
313
277
294
348
337
339
359
311
330
344
329
243
265
270
287
292
290
330
360
366
368
311
344
440
372
327
351
288
342
432
312
237
296
340
393
354
311
406
367
323
347
348
310
324
326
365
260
226
268
332
294
299
301
299
299
300
397
320
338
321
302
355
249
380
340
285
320
306
270
360
345
276
315
314
250
350
216
309
349
230
310
232
288
307
312
321
287
272
267
213
248
291
365
292
321
272
382
288
341
297
363
303
295
340
272
347
281
274
247
226
369
358
232
284
237
390
322
281
357
311
347
382
290
300
282
349
324
355
314
320
304
383
363
270
259
344
316
313
239
312
302
344
328
268
273
346
270
265
342
345
321
293
386
309
322
345
408
287
269
206
346
358
276
239
352
346
320
394
328
342
256
307
320
308
251
329
280
352
291
310
307
302
332
301
336
397
220
310
293
237
384
285
358
367
242
327
267
291
304
397
312
352
308
332
334
296
332
338
323
251
378
290
269
318
314
205
312
282
288
312
348
352
337
394
329
263
343
249
267
396
422
316
281
189
255
257
306
191
344
293
321
242
303
389
351
374
423
392
292
317
267
352
266
323
218
374
353
221
260
407
405
299
295
364
359
356
315
338
381
251
391
311
316
314
288
386
320
376
331
294
319
266
337
316
300
342
308
389
388
279
273
278
336
304
321
277
332
344
291
304
275
305
279
319
410
305
206
274
334
348
292
360
337
328
396
321
223
339
335
326
339
254
350
369
426
357
328
230
328
241
259
293
297
309
289
320
307
290
371
276
305
324
299
272
333
268
312
296
380
354
285
233
310
321
322
182
288
355
342
254
283
354
268
323
294
347
299
360
296
360
374
336
327
330
322
375
364
379
338
265
304
338
367
333
342
374
326
306
319
301
402
388
299
367
359
376
319
404
244
400
357
250
301
363
275
382
287
304
421
379
411
336
279
343
265
269
276
275
324
323
272
339
200
329
287
360
375
331
314
397
338
373
291
318
331
386
273
350
362
328
327
390
379
291
326
331
458
338
347
303
265
306
335
331
342
321
301
351
337
363
335
337
323
313
295
345
281
288
348
387
287
337
314
264
315
292
331
288
343
340
232
303
337
298
373
319
309
318
282
355
311
324
286
299
366
294
352
291
325
272
411
217
344
260
338
321
331
318
318
312
271
350
307
341
309
372
358
401
304
327
335
335
306
317
327
194
341
339
355
294
343
271
315
376
384
369
409
287
374
245
310
354
241
280
268
333
381
303
243
332
281
337
302
341
368
360
217
265
341
205
362
319
352
351
390
286
310
357
290
367
334
291
325
346
222
352
265
368
273
271
331
272
318
288
242
344
262
302
346
442
314
289
261
370
290
314
347
225
300
263
296
299
270
265
348
337
343
304
270
235
358
277
383
329
204
307
328
301
294
383
291
369
288
375
305
424
306
267
290
258
313
340
324
278
371
262
362
309
372
301
320
258
334
252
287
305
351
317
349
380
298
268
287
254
341
393
365
355
323
340
331
347
363
262
252
327
292
350
333
357
327
241
291
340
283
322
330
378
258
334
336
346
302
316
348
268
348
337
320
309
322
227
401
371
295
279
327
308
310
367
383
314
323
311
287
305
256
252
390
290
283
243
326
294
407
251
319
306
242
259
296
326
338
307
276
382
257
284
346
267
257
255
359
314
296
274
297
273
343
295
299
347
325
318
247
261
344
316
317
310
330
272
235
306
192
346
327
199
285
387
322
374
327
374
297
364
262
366
250
297
280
330
300
322
321
323
271
299
223
395
286
325
319
374
320
331
307
353
261
324
321
416
391
299
273
346
358
290
275
290
355
377
348
335
358
234
278
313
318
380
254
282
257
333
282
324
315
289
277
274
272
261
330
322
312
311
350
292
294
348
364
324
288
347
301
305
260
370
343
258
365
389
234
317
423
339
314
309
345
288
397
241
311
333
393
321
324
409
325
317
304
327
273
218
370
323
329
224
255
331
259
280
409
285
352
317
277
376
260
290
324
340
362
320
341
386
201
347
311
335
344
236
366
383
355
272
239
332
280
272
313
274
353
347
270
376
289
235
310
374
294
327
344
358
304
293
357
267
369
336
306
272
305
339
309
295
333
345
365
311
238
340
392
300
341
319
274
309
300
323
297
249
358
228
286
267
299
334
277
273
322
413
375
325
302
284
310
298
307
250
293
258
398
294
322
319
290
316
277
290
328
276
237
354
307
316
315
259
364
300
287
365
275
294
324
357
296
348
250
297
291
336
356
304
266
379
309
323
320
275
284
386
377
297
400
252
276
367
332
356
336
235
394
292
382
290
385
273
376
289
299
314
353
243
332
346
324
230
346
388
277
331
277
281
374
323
264
396
365
332
255
233
339
367
279
399
314
310
323
358
281
360
312
349
328
314
315
282
338
369
288
237
286
316
294
300
329
301
213
301
314
320
272
337
349
328
247
353
315
305
300
282
316
306
213
213
294
334
288
366
375
329
284
316
282
293
276
255
356
350
307
274
348
349
311
318
360
284
262
351
341
296
331
291
303
298
376
320
344
369
353
331
295
281
277
279
369
295
360
264
326
242
370
350
315
315
198
363
291
349
408
272
346
343
338
249
266
263
331
321
353
304
307
337
379
259
355
388
289
357
336
317
375
311
291
403
341
274
283
312
342
400
368
281
346
369
348
344
308
322
218
291
279
277
202
235
332
376
297
300
342
356
300
301
337
300
319
309
355
394
330
371
313
312
241
349
321
349
289
310
264
316
252
335
296
322
294
203
413
334
210
311
250
317
275
256
284
316
355
375
213
299
329
297
268
279
391
285
235
330
277
345
336
392
275
369
302
296
256
326
285
360
249
279
336
323
241
288
303
298
291
302
284
275
369
335
381
270
295
396
269
290
400
340
357
266
251
295
298
329
328
270
327
242
289
418
302
344
236
270
329
331
289
310
364
399
311
349
280
318
279
273
330
277
303
256
271
244
332
283
367
285
318
295
342
329
372
304
322
354
329
307
372
275
389
349
316
390
302
297
304
289
295
267
274
358
284
297
341
348
443
294
296
368
282
319
336
368
320
358
296
318
363
231
401
312
317
311
329
405
301
266
385
388
273
242
326
310
324
310
257
380
266
351
360
374
297
329
308
361
262
292
298
272
326
278
270
330
265
401
265
297
320
395
316
295
331
306
351
271
305
321
362
350
317
289
351
312
334
225
316
339
366
324
283
339
295
344
388
310
389
291
404
388
312
348
283
297
412
355
292
307
343
198
390
302
347
341
378
222
320
325
320
299
266
360
221
264
230
295
310
364
302
310
305
344
377
326
283
342
347
332
329
347
290
293
334
369
328
335
361
300
337
270
333
269
370
388
346
349
312
266
360
318
330
297
360
340
310
363
343
427
351
295
383
316
391
358
301
314
336
327
313
332
293
293
388
308
324
355
338
313
293
241
343
287
341
268
318
377
350
335
201
281
251
339
289
343
251
377
245
249
332
344
334
285
314
276
241
307
310
303
407
267
313
324
326
304
349
316
335
406
393
220
306
345
295
283
335
303
248
257
376
354
266
432
298
326
343
313
253
215
293
326
324
314
310
385
295
332
311
315
370
326
223
269
275
351
352
317
217
356
279
252
316
418
309
303
255
364
320
258
309
301
269
311
345
356
374
344
292
299
319
252
342
279
364
240
282
231
325
416
423
303
341
254
278
343
311
240
319
327
253
248
348
419
347
379
316
314
296
334
367
362
318
266
308
294
297
366
382
396
329
412
336
289
212
360
289
375
386
265
262
322
277
252
348
381
343
308
348
302
294
352
334
282
254
295
328
289
284
348
284
348
316
308
328
338
353
330
331
333
305
329
277
315
397
331
392
384
251
307
334
264
226
277
330
289
277
384
308
353
328
293
312
336
289
296
313
288
226
330
276
233
345
259
307
316
307
235
330
376
288
317
263
303
364
330
329
300
302
293
390
333
340
293
322
249
319
312
233
368
311
322
345
406
253
289
298
342
325
380
295
265
207
310
257
365
270
292
273
334
282
396
251
319
345
293
339
237
359
311
230
337
274
350
286
307
277
281
354
334
346
364
261
301
354
324
310
395
351
342
318
341
261
423
337
275
290
287
277
375
305
346
327
298
285
279
360
287
331
272
334
324
335
230
273
351
325
312
370
363
353
213
345
290
303
356
269
349
304
294
363
351
267
393
290
318
237
363
323
379
310
303
301
279
365
311
297
342
264
289
343
349
310
363
293
321
290
365
254
330
348
283
355
407
352
337
303
354
292
307
317
340
235
308
312
314
333
292
342
367
321
293
344
287
293
299
301
286
321
238
261
313
346
319
328
342
361
320
285
234
304
253
308
266
336
309
317
320
325
266
308
387
309
341
294
302
312
279
367
368
345
282
323
342
314
341
291
359
187
297
320
319
285
335
282
331
357
321
354
298
288
399
299
381
301
327
323
329
310
365
348
302
404
347
285
282
242
283
383
299
285
377
333
350
251
346
320
329
404
326
310
385
292
228
351
279
259
260
343
313
307
291
335
288
285
258
371
392
200
367
351
327
294
315
351
297
379
273
331
344
327
330
333
314
254
231
290
277
321
234
396
346
369
398
320
373
262
317
332
286
290
320
268
310
264
321
299
268
223
410
353
289
316
268
299
393
284
368
259
339
285
284
316
383
319
264
365
326
232
333
297
266
251
314
387
313
333
305
349
288
327
328
275
337
252
329
249
338
257
226
296
357
266
347
318
431
368
340
264
316
272
389
263
376
366
328
326
327
349
275
267
388
331
310
242
257
378
399
312
296
261
303
325
383
364
326
349
259
305
328
327
325
275
276
369
289
239
315
296
345
290
355
323
366
337
317
310
270
346
311
390
305
305
332
359
332
327
296
339
306
334
369
240
325
295
314
315
341
381
319
229
299
226
313
363
366
318
342
304
371
335
353
291
312
336
308
331
340
308
339
320
338
311
323
409
361
292
280
296
408
265
329
253
319
308
355
305
293
325
323
369
313
396
290
319
309
246
355
308
323
281
370
244
389
273
338
310
337
385
329
309
285
328
351
302
330
326
369
315
249
332
242
284
359
389
352
273
200
217
237
380
266
356
278
278
369
367
420
255
348
334
363
358
407
306
349
351
263
304
306
337
331
252
285
319
290
352
375
350
362
301
284
254
320
223
317
394
331
364
293
277
342
300
242
397
249
357
306
388
264
203
322
290
347
347
369
337
312
234
342
318
320
330
279
377
274
293
350
312
344
353
344
317
316
355
256
301
313
281
270
318
343
352
298
312
306
324
351
281
334
206
343
274
290
298
322
284
330
325
374
274
293
288
304
364
310
268
366
339
279
302
339
371
274
352
299
282
303
374
318
255
356
271
344
346
391
356
259
264
343
384
398
299
290
287
334
205
313
340
313
330
301
369
299
291
330
345
331
353
269
346
342
294
341
359
312
297
218
215
367
299
376
356
259
286
228
198
338
374
303
321
391
305
291
308
373
246
261
360
307
257
325
271
311
385
341
286
303
320
302
335
253
328
333
374
291
289
319
349
234
293
408
309
359
308
365
287
389
259
326
321
256
242
322
270
316
268
333
248
292
394
283
303
307
339
304
265
370
326
291
309
321
304
349
322
319
352
274
240
312
327
404
362
341
393
354
261
389
332
286
333
250
373
294
318
311
304
333
248
324
253
221
242
350
253
296
316
312
297
347
237
352
300
336
314
334
335
340
300
305
324
298
233
352
328
374
346
298
395
337
358
345
338
353
313
358
264
186
357
350
292
269
317
318
368
307
251
302
415
310
195
265
295
369
330
287
283
332
329
257
263
289
293
276
322
381
390
330
365
387
233
353
263
333
353
330
283
354
310
362
350
256
263
305
275
346
288
330
317
356
301
344
273
369
265
365
302
376
351
335
311
304
418
290
285
240
306
301
300
218
400
318
359
279
326
318
281
315
347
283
373
296
221
373
421
361
294
365
227
333
285
341
331
243
264
297
340
353
364
403
286
368
334
289
326
368
351
290
317
280
329
291
374
274
263
341
322
313
341
305
291
269
355
357
333
306
341
318
288
316
335
290
348
306
372
271
364
285
353
387
299
251
309
347
198
244
276
388
294
289
367
254
330
313
314
239
311
282
349
341
348
408
329
322
344
302
282
363
340
331
382
267
377
243
341
379
388
326
334
260
245
346
357
394
295
321
363
340
362
414
330
232
294
358
226
361
314
259
193
336
239
303
229
205
363
258
364
284
252
320
426
315
444
269
396
376
336
271
304
308
296
299
259
365
327
358
287
308
262
284
347
318
284
193
260
380
338
351
359
271
324
382
310
335
353
224
280
329
353
287
308
393
319
283
326
292
268
361
313
355
322
345
411
296
379
285
365
361
253
262
347
283
343
323
341
286
265
309
336
352
273
290
240
378
242
323
279
299
271
333
348
311
319
384
313
288
306
361
333
333
314
310
376
308
208
343
414
321
378
313
303
316
437
316
323
314
377
325
255
319
372
346
253
225
327
324
340
328
344
324
301
420
353
263
338
305
361
344
383
286
345
231
353
349
379
361
331
401
323
294
344
342
345
398
390
433
327
366
335
346
260
282
283
329
282
336
342
235
295
347
308
242
367
252
363
319
363
350
294
360
280
311
403
287
322
304
318
270
282
350
375
213
297
336
380
324
301
249
448
318
265
353
307
316
317
343
301
325
383
408
323
322
270
344
323
270
362
215
266
340
307
281
305
360
346
285
400
366
400
319
367
328
357
300
357
341
263
365
321
333
303
302
306
343
342
336
259
339
423
394
310
310
287
243
368
282
373
255
298
265
309
282
341
345
276
349
295
341
351
324
319
252
251
336
366
240
365
376
293
296
324
358
355
367
315
325
272
214
343
279
359
296
345
323
354
376
261
295
305
273
346
319
323
348
248
325
390
368
351
385
295
299
306
288
309
295
330
410
317
319
242
324
333
263
410
273
308
292
348
305
296
250
291
238
295
328
357
273
381
361
275
245
246
261
342
358
320
219
342
371
335
338
282
366
260
392
357
259
271
323
285
326
309
311
230
321
291
333
393
259
250
265
334
312
380
331
322
366
351
339
383
372
375
324
358
351
258
397
324
325
386
369
364
334
355
308
290
355
239
348
287
304
306
244
306
249
312
304
291
359
282
305
330
290
300
351
307
307
278
306
380
294
346
189
313
337
221
260
242
335
388
258
251
279
384
316
199
366
339
342
250
358
341
350
361
334
280
317
264
321
319
379
307
201
270
223
329
356
269
263
327
266
328
258
284
344
313
189
340
388
302
285
195
313
328
295
334
232
268
339
294
344
256
315
332
309
274
276
335
246
256
368
265
259
358
379
370
360
279
268
290
327
381
284
359
285
306
296
299
296
239
305
368
224
310
279
332
366
348
356
322
363
318
342
275
251
305
284
360
334
327
272
358
262
271
271
306
276
296
259
272
309
347
311
393
319
306
291
313
318
330
340
249
354
384
320
342
305
355
273
271
300
333
315
254
327
302
315
265
409
249
360
312
290
366
312
258
259
319
321
298
350
298
354
255
322
382
205
326
369
290
301
274
378
336
410
351
261
317
304
293
278
305
279
224
260
276
260
289
282
394
252
303
266
264
330
324
318
296
287
243
318
365
331
266
332
283
328
295
319
312
270
304
312
207
288
283
223
324
331
337
301
277
272
281
299
305
343
306
241
323
437
308
271
360
334
274
318
322
289
301
344
309
286
236
242
312
302
340
274
268
275
375
313
311
276
327
261
299
254
244
314
325
294
332
281
370
333
283
311
300
282
309
307
363
395
320
320
272
324
302
207
306
282
309
288
341
269
330
286
269
289
279
293
306
299
229
320
298
245
314
383
287
322
316
360
262
285
374
324
354
293
278
289
318
257
322
318
347
237
403
292
316
255
295
339
330
308
355
324
295
373
323
328
336
355
361
274
365
426
302
257
326
396
325
272
345
324
295
309
306
230
357
363
304
347
252
245
310
295
342
230
363
326
302
282
333
326
355
267
312
302
300
326
318
288
367
328
312
313
261
285
270
334
327
309
302
246
273
390
351
292
369
268
329
286
313
382
295
254
386
350
275
326
354
278
311
318
389
336
309
290
258
353
338
270
339
342
337
378
254
277
326
293
367
316
310
298
415
342
408
269
300
319
307
314
353
337
331
247
222
365
348
278
340
382
332
349
312
297
376
308
315
342
358
223
264
360
359
334
261
348
316
396
360
320
379
323
341
315
233
166
320
273
317
310
206
325
383
282
306
291
353
343
365
325
265
392
313
257
359
267
406
373
290
315
276
266
318
298
262
232
300
344
348
309
319
214
269
324
343
351
365
307
305
261
215
354
304
329
340
335
314
312
334
324
377
393
293
388
347
296
307
329
346
261
334
338
330
337
299
433
307
265
260
349
236
226
362
448
281
315
308
395
298
289
387
356
246
347
316
286
280
376
338
323
286
344
231
372
219
402
341
295
300
375
384
360
302
301
252
323
378
291
250
296
356
324
255
401
275
347
306
321
326
275
340
305
307
280
288
264
281
311
364
346
324
398
224
351
314
291
229
326
302
302
269
341
333
322
327
248
316
351
346
366
288
336
319
226
363
262
302
329
356
318
312
260
319
313
315
327
362
288
265
336
283
350
244
377
306
312
325
351
278
300
326
353
355
313
256
311
347
336
348
340
328
259
264
272
307
310
375
349
282
317
296
292
318
337
344
239
264
363
259
328
363
333
314
219
371
343
319
294
277
261
354
335
279
315
362
359
271
299
254
254
321
243
302
272
393
239
281
354
335
311
314
265
258
303
292
250
244
216
280
283
289
277
222
292
290
339
363
271
339
276
319
313
340
305
413
303
302
387
327
336
241
271
307
380
238
279
240
330
298
249
318
409
302
351
187
352
305
334
339
298
367
360
306
365
221
324
300
339
322
320
378
261
369
358
329
361
285
355
308
333
284
242
271
383
240
246
325
254
350
259
290
370
303
369
301
262
258
275
255
228
279
360
328
358
282
416
330
285
363
319
360
306
317
202
319
378
256
395
327
317
371
259
329
343
301
263
299
306
241
262
335
278
289
286
279
255
257
382
254
355
306
267
326
321
353
287
359
352
390
358
369
342
364
295
289
302
248
369
355
228
324
314
228
324
319
255
274
412
256
292
314
322
240
300
352
329
360
329
395
303
274
282
323
304
330
308
320
268
265
261
356
315
348
209
372
342
270
292
391
321
423
278
416
285
319
273
314
293
343
327
272
279
246
270
342
300
288
401
326
349
313
286
327
413
392
314
355
333
289
259
314
298
301
310
271
413
223
326
321
348
201
320
186
386
366
371
429
331
293
343
294
300
337
272
315
282
365
287
232
338
361
310
344
341
371
295
260
322
399
311
363
347
350
311
250
385
372
309
296
357
286
314
274
396
355
312
404
366
288
180
340
400
249
305
329
240
319
289
361
294
277
323
306
263
294
293
380
296
371
271
309
324
363
301
285
332
359
379
300
362
290
306
350
322
361
340
310
319
346
337
288
352
333
223
189
298
298
329
305
263
316
330
279
254
359
332
301
317
222
361
373
326
270
302
299
318
386
390
335
313
307
288
329
329
312
236
327
305
308
349
281
326
329
380
273
338
314
317
262
318
307
312
301
255
289
259
328
256
324
331
352
306
403
275
276
381
240
307
349
348
312
306
321
270
328
267
241
334
387
381
345
331
226
343
324
291
325
342
377
234
380
288
295
334
332
334
363
305
304
383
324
292
309
283
272
314
338
322
337
307
326
369
276
336
364
354
252
297
345
269
278
335
323
264
320
228
304
360
349
323
280
334
312
367
346
334
321
308
205
326
357
277
293
271
336
289
319
299
294
302
285
286
355
265
275
334
253
363
343
288
253
329
321
347
283
301
362
256
292
286
315
238
353
395
341
342
223
412
356
285
291
273
217
330
316
297
237
306
288
281
362
293
263
344
257
362
325
256
256
286
214
326
389
281
225
354
253
246
347
265
272
334
327
309
306
265
353
327
310
300
294
339
293
319
374
292
313
323
291
264
344
377
281
389
351
378
282
389
266
354
343
364
325
268
288
260
249
314
344
294
338
310
329
370
277
363
389
305
316
361
368
262
340
368
346
318
351
384
281
387
257
345
367
315
358
364
282
272
372
335
320
300
314
374
305
355
226
293
364
305
327
357
350
319
271
383
321
399
234
228
308
391
339
228
334
313
212
289
242
371
328
349
336
354
287
336
462
220
283
363
386
378
264
274
406
233
299
328
186
234
341
302
320
369
341
312
333
213
300
344
330
385
328
286
315
315
340
376
386
274
394
364
368
327
378
332
241
279
301
322
286
334
280
289
292
288
346
279
249
336
333
250
356
278
377
286
411
350
349
267
327
389
406
339
299
264
341
388
312
260
303
307
284
340
335
347
253
356
249
288
269
328
281
325
287
326
338
370
286
318
317
295
361
303
344
251
330
322
251
349
402
325
360
351
331
245
332
375
335
410
260
321
211
274
384
328
311
334
298
287
246
361
360
343
273
308
247
373
240
291
294
349
413
243
298
324
285
328
331
371
285
305
282
375
332
338
323
352
364
303
288
266
318
305
274
302
247
363
294
331
360
321
322
271
251
231
323
291
266
273
384
385
254
255
317
229
304
291
342
308
261
338
354
373
290
370
313
271
338
229
362
362
385
334
373
272
345
295
397
332
339
296
300
323
308
312
330
345
258
266
297
259
311
299
297
359
353
316
318
353
258
260
317
334
329
327
379
375
262
286
363
383
313
273
327
329
328
266
259
307
321
390
243
290
251
218
310
238
419
376
280
306
277
313
368
361
365
355
363
381
340
383
289
353
306
280
343
359
379
338
252
310
263
280
239
310
297
248
302
356
262
303
338
382
270
395
301
280
342
285
259
343
350
297
384
314
316
331
293
351
382
293
368
337
260
300
356
370
376
430
326
298
351
290
310
399
324
271
241
347
235
318
309
265
360
259
256
344
322
322
293
229
412
278
340
328
221
300
332
222
276
303
288
414
179
344
287
315
228
381
384
318
310
352
381
247
305
316
363
364
285
290
341
316
291
327
282
295
400
240
317
260
330
394
288
263
238
255
256
336
382
290
324
226
259
332
266
326
296
339
350
255
294
310
291
334
347
357
284
255
330
358
271
338
278
317
307
324
260
269
320
347
357
301
289
263
304
320
294
275
303
316
310
291
294
357
236
328
308
259
353
262
388
273
372
352
338
245
339
308
212
323
340
359
221
329
252
306
284
315
245
309
402
291
301
385
345
313
280
291
343
262
263
367
220
326
297
249
245
353
278
364
359
285
336
291
349
309
283
301
319
368
301
315
384
392
264
361
306
379
239
312
353
284
338
246
333
309
286
318
297
339
360
293
340
328
304
266
295
317
226
278
377
290
283
337
287
259
307
420
323
393
354
305
218
306
297
363
304
331
369
243
355
286
266
348
313
349
256
331
267
424
261
309
310
304
359
371
297
278
298
288
313
327
343
322
331
384
318
369
327
333
242
253
265
306
326
266
357
322
398
272
271
358
334
328
309
367
299
317
329
336
262
299
280
271
317
355
330
309
338
368
351
337
372
328
332
374
244
286
329
309
262
285
425
352
320
314
344
308
328
359
317
267
289
313
313
326
323
406
362
214
283
285
283
302
289
312
290
294
326
329
337
318
263
222
220
311
297
320
334
367
283
333
289
356
294
348
354
375
326
371
334
299
298
342
257
395
291
348
309
359
216
349
335
351
334
230
318
213
316
269
288
302
413
285
305
393
341
385
331
369
292
382
358
410
338
352
338
330
305
317
353
282
368
306
299
301
362
267
264
317
260
287
379
324
339
330
241
350
259
309
313
308
341
267
335
395
247
379
255
257
333
305
335
273
227
286
270
298
361
355
368
300
300
387
287
344
277
275
241
368
327
230
287
338
288
357
322
329
353
370
285
372
233
404
396
312
344
348
354
278
331
237
307
342
375
317
275
338
323
333
333
280
339
354
293
273
294
331
364
343
266
169
288
295
347
318
288
238
334
276
238
379
360
285
346
272
388
287
298
336
228
349
400
397
240
315
359
310
225
318
333
350
347
355
274
283
380
317
295
257
261
252
307
348
326
307
336
313
291
304
362
272
303
348
246
310
356
358
294
379
318
361
288
348
405
327
274
301
360
389
330
270
433
341
367
308
331
294
324
258
366
252
372
320
327
228
346
315
246
345
364
357
317
353
244
237
237
306
347
265
263
304
314
297
218
328
396
266
350
295
289
336
331
350
262
303
300
312
305
362
285
252
279
344
247
303
227
305
330
305
296
336
359
381
348
321
335
374
318
429
320
291
326
304
304
376
331
323
256
326
320
296
297
336
328
255
335
336
371
256
286
354
312
296
269
325
294
235
340
315
347
303
318
321
296
326
339
337
326
328
298
295
282
309
340
359
290
323
386
242
354
301
302
387
357
289
291
243
263
378
320
289
383
234
326
357
292
337
335
329
274
234
346
339
270
249
315
356
390
292
316
366
270
391
372
279
323
403
286
322
226
343
328
350
352
332
372
352
248
305
321
275
282
291
443
216
275
327
264
243
346
302
312
346
414
334
261
320
247
365
287
340
316
310
274
353
339
347
219
374
317
276
275
374
305
235
338
303
306
378
334
253
321
375
270
325
280
317
283
269
360
260
252
355
336
302
281
351
230
389
353
351
227
296
435
394
401
320
318
372
279
312
282
407
356
268
357
306
250
295
341
320
332
238
405
275
275
365
416
303
305
366
291
300
310
380
302
336
304
301
351
338
358
341
387
276
287
292
226
269
297
318
327
287
316
342
312
319
315
308
328
266
274
300
351
282
279
344
253
381
327
243
285
378
279
286
241
270
315
306
285
386
331
341
327
292
268
379
265
363
351
293
322
377
335
242
186
287
323
324
278
289
368
345
314
325
349
395
364
307
283
212
330
362
291
288
251
288
324
361
331
270
347
349
339
255
410
362
305
320
422
325
286
300
328
305
297
404
329
302
294
297
236
303
326
234
338
357
345
338
266
333
274
374
332
297
359
307
237
338
327
332
324
290
300
325
311
334
346
334
354
305
284
275
268
302
269
358
298
288
264
371
342
272
317
292
352
306
298
346
256
261
374
398
285
278
359
338
315
205
386
311
298
261
296
373
323
308
262
279
260
297
359
419
363
279
343
356
265
280
299
333
323
357
321
310
413
332
266
281
370
297
309
287
335
328
325
341
356
254
363
335
359
298
306
325
219
249
354
366
352
266
378
249
277
320
264
353
327
302
357
316
292
258
294
264
244
328
322
271
244
300
243
349
238
303
283
304
396
312
328
301
345
327
348
308
337
294
330
355
360
308
298
210
378
317
359
271
327
338
388
307
361
313
275
262
343
352
378
362
352
272
367
331
331
299
258
310
382
276
289
366
243
318
313
375
369
287
281
337
330
316
324
300
322
261
336
359
366
338
328
388
221
355
309
236
260
251
347
341
291
291
259
264
293
270
378
343
269
316
341
333
372
320
365
362
324
297
214
350
312
371
307
358
279
395
325
336
296
364
343
286
333
339
365
383
388
348
253
356
400
431
282
298
335
320
406
254
296
324
366
262
332
341
283
310
365
344
311
283
318
320
351
288
287
312
290
296
265
303
262
317
333
293
255
333
222
274
301
304
271
324
203
319
251
320
339
318
321
322
286
272
362
384
285
318
341
297
257
311
304
362
306
387
312
311
302
296
344
286
293
355
331
363
278
328
332
319
307
335
299
329
257
307
370
328
342
385
249
369
337
357
363
348
355
321
328
249
395
296
303
307
305
359
256
304
264
297
289
312
295
333
310
266
367
294
374
327
346
280
325
297
316
406
340
252
297
286
252
340
397
326
337
262
293
321
272
358
310
232
286
285
282
305
306
306
245
356
318
318
331
295
318
348
324
353
269
193
264
348
321
403
355
314
337
311
319
294
293
269
277
299
298
288
317
291
416
288
371
305
311
310
361
312
365
263
346
299
298
289
300
305
219
324
288
272
370
319
299
342
248
266
318
287
286
299
293
312
343
338
343
363
229
316
259
316
340
307
386
361
308
239
237
325
301
243
347
347
255
406
383
374
337
355
294
274
338
298
323
363
384
324
353
303
341
295
311
322
271
343
282
375
365
319
310
318
346
288
359
274
335
335
346
314
279
374
289
328
265
271
338
317
269
237
278
306
249
407
300
362
259
293
329
356
292
344
288
300
242
383
266
346
375
293
314
258
328
321
352
280
355
389
300
258
216
312
311
345
351
386
390
223
261
347
297
257
239
283
339
344
360
291
286
333
325
304
370
311
308
352
268
332
303
310
218
275
350
382
355
375
291
243
320
330
401
397
356
205
305
351
325
287
341
277
317
304
453
292
283
397
357
251
326
329
249
308
254
284
317
314
369
326
339
236
328
312
288
361
296
314
273
303
265
301
259
392
321
312
363
244
300
292
326
372
357
250
284
336
292
340
255
432
369
236
302
339
307
259
313
337
385
324
345
320
294
268
340
324
335
320
322
348
350
308
345
309
305
328
331
247
250
349
263
270
348
378
375
322
383
322
286
323
383
328
309
246
237
219
310
326
363
285
314
367
314
293
353
272
251
325
342
317
356
381
302
406
343
272
308
291
365
339
291
323
310
352
344
324
296
374
270
390
314
241
256
344
316
355
346
324
359
384
232
363
365
189
294
379
290
293
266
368
346
335
315
343
369
354
393
255
328
350
306
218
303
288
270
407
374
384
278
303
240
334
328
428
308
342
318
353
199
346
302
328
384
220
338
317
299
233
299
304
268
339
264
339
376
316
299
333
274
335
337
349
302
307
306
306
401
415
365
321
262
322
306
303
397
341
338
267
237
289
321
298
302
337
315
297
241
367
302
310
402
305
348
230
281
338
255
258
289
305
297
372
346
307
379
351
408
296
290
360
366
357
355
380
271
286
249
281
351
301
288
340
332
299
345
346
330
282
314
323
314
365
324
258
323
378
246
396
349
298
397
242
344
229
363
328
271
330
303
384
295
321
242
305
270
308
316
241
280
269
412
365
383
273
306
291
331
277
281
266
296
389
293
330
364
260
266
368
325
284
247
282
236
253
259
343
291
360
382
349
204
300
310
328
271
339
325
348
396
376
267
293
350
332
309
325
318
269
281
335
320
292
380
337
329
327
350
319
342
300
310
384
270
326
334
391
263
338
410
377
334
378
322
313
311
313
302
303
320
265
319
327
338
236
268
319
298
334
320
255
349
364
369
264
356
323
327
336
323
242
273
298
279
311
309
371
267
397
362
380
366
348
371
337
319
331
322
239
297
429
215
281
250
322
364
316
429
352
342
276
358
413
307
368
372
349
343
359
226
275
327
315
290
279
323
259
318
327
322
384
310
346
288
315
288
285
239
363
348
360
306
315
294
291
402
256
302
298
204
312
271
338
379
335
355
352
328
323
346
315
300
325
323
255
338
328
382
295
385
340
305
292
367
293
356
347
258
259
350
308
342
351
360
276
344
293
289
304
379
385
332
343
331
350
334
323
315
320
306
297
374
346
327
321
423
342
309
340
308
297
359
347
289
304
311
302
334
335
263
197
326
345
362
358
408
267
343
312
229
251
263
317
218
353
326
207
255
280
370
334
308
329
301
390
346
310
328
320
360
353
313
375
190
325
314
306
309
359
291
250
328
391
376
305
336
354
270
321
276
323
284
353
238
351
359
305
362
318
262
281
254
282
333
348
284
228
336
350
268
270
352
273
272
325
259
314
241
265
259
291
272
358
314
305
318
279
333
405
335
343
242
319
243
279
346
299
360
282
367
289
373
239
296
259
327
307
262
379
354
344
306
308
263
312
277
244
418
339
289
359
365
310
323
240
253
261
377
429
270
342
319
249
268
244
306
323
337
277
279
342
360
330
372
354
408
372
302
293
274
337
252
298
288
295
347
377
274
293
293
288
324
340
355
345
323
339
254
264
296
296
305
354
299
322
263
328
299
346
315
345
302
318
287
274
314
278
334
233
313
334
319
342
353
272
206
267
351
307
283
332
252
335
336
410
345
321
347
212
319
426
292
300
333
328
311
395
245
353
270
306
275
293
281
352
280
353
331
348
283
318
290
336
389
327
345
372
346
272
416
352
270
305
288
335
426
368
360
348
365
366
285
236
342
346
350
277
267
306
382
309
355
283
312
357
272
309
319
280
218
339
298
342
323
276
261
353
337
298
303
381
344
204
366
384
304
359
268
277
316
216
331
290
272
308
226
266
338
343
257
306
279
319
338
257
279
278
278
325
326
288
328
389
296
290
378
379
347
382
258
348
254
228
296
327
300
275
246
246
339
383
280
256
355
317
358
303
331
337
369
332
378
217
291
269
380
312
327
385
252
248
294
363
341
224
335
348
307
295
308
249
275
325
218
255
412
333
248
274
406
340
249
299
275
323
312
343
386
263
285
336
314
272
362
355
280
276
257
233
378
302
350
290
328
356
315
286
248
283
345
326
323
409
295
337
291
290
295
340
297
250
331
324
255
382
281
334
353
254
320
361
363
300
297
280
252
250
380
423
340
385
360
327
366
276
321
346
361
335
396
333
259
344
318
338
214
235
287
310
260
230
320
317
321
295
241
258
334
220
333
321
299
346
264
266
310
307
320
308
282
301
304
296
291
364
272
294
278
289
349
238
302
324
265
279
321
300
257
324
400
313
307
289
316
293
350
304
301
326
279
304
255
225
292
338
356
393
348
331
286
325
334
335
268
318
258
370
304
266
333
325
311
392
288
361
231
296
243
300
269
321
300
387
322
366
291
330
338
284
297
345
300
302
316
332
382
344
263
277
369
307
319
289
347
347
281
334
200
240
369
370
335
296
357
284
293
252
343
352
340
259
370
313
228
351
290
251
350
294
313
300
326
317
317
382
345
294
303
314
257
348
271
276
292
357
341
328
297
338
284
369
342
287
296
324
323
306
260
341
211
390
339
290
346
273
350
372
277
340
309
378
299
399
328
353
313
346
338
301
333
354
270
311
346
325
279
305
324
350
352
386
260
277
330
360
331
351
310
258
359
209
317
252
384
324
408
351
277
350
301
319
378
321
388
249
284
354
395
367
379
362
279
300
300
365
374
317
357
374
248
326
229
365
309
275
414
286
337
285
345
305
375
267
319
288
352
305
442
329
364
319
333
300
313
343
301
298
282
359
373
336
395
302
242
248
300
317
365
356
285
308
327
399
291
266
301
340
328
288
304
289
323
354
248
314
291
352
278
326
324
399
312
294
388
307
350
229
312
285
294
314
299
246
312
300
329
356
295
360
353
317
239
318
228
317
304
373
247
346
301
284
313
351
370
239
292
349
332
363
299
270
354
340
253
359
351
344
295
390
364
262
268
381
270
406
283
352
339
344
361
305
286
323
364
256
287
273
321
356
284
431
331
321
337
377
287
312
370
350
320
351
247
301
256
343
348
307
225
316
334
232
303
252
316
321
300
358
334
312
338
350
294
328
344
349
227
421
404
352
347
217
274
295
350
370
376
409
275
377
330
280
343
309
233
336
276
343
327
338
369
297
284
257
318
255
337
360
346
317
342
312
337
389
335
354
298
338
308
341
326
353
380
315
363
316
307
295
282
372
312
274
335
329
328
340
324
284
303
253
261
318
225
339
361
286
288
278
301
334
347
313
282
248
260
278
280
378
278
173
221
336
319
274
383
296
344
297
354
258
317
358
283
291
332
369
242
314
333
260
369
349
324
293
275
295
366
317
352
347
327
331
310
324
354
317
230
214
279
295
324
323
287
385
348
397
327
248
310
369
268
286
324
299
301
331
301
289
359
376
358
267
279
339
316
242
348
340
378
262
301
278
232
256
313
381
330
287
302
361
293
352
301
279
385
348
364
342
274
399
355
229
271
368
287
290
272
287
338
300
279
294
293
302
385
304
333
231
335
333
326
324
302
290
287
369
199
330
292
433
327
382
382
335
340
321
311
349
279
428
296
335
325
292
331
231
313
261
405
363
336
318
352
266
265
351
338
335
250
240
256
261
406
272
368
269
335
257
235
245
361
286
356
285
233
298
269
370
346
302
256
345
292
285
343
242
278
392
257
325
258
315
400
257
292
274
366
303
338
320
338
322
296
270
342
269
283
340
293
351
284
258
383
303
322
315
332
243
351
241
361
296
339
320
352
330
316
273
289
347
349
407
302
255
377
275
316
293
325
310
326
338
391
226
340
270
310
346
332
323
255
341
306
297
273
274
313
358
331
301
378
388
312
295
376
332
346
338
289
274
370
245
298
367
314
338
297
274
312
206
318
294
315
275
276
324
348
349
345
310
326
252
310
271
398
362
308
338
344
272
310
305
298
399
388
368
246
238
313
326
337
377
303
341
311
314
289
335
318
251
305
226
285
203
311
303
329
308
382
320
237
325
361
268
341
301
285
365
347
286
320
357
323
343
393
291
238
230
359
327
314
262
259
224
299
391
391
316
386
289
291
345
311
357
294
282
299
337
391
361
296
198
406
262
291
276
329
358
318
366
328
282
198
285
280
308
248
338
338
293
246
393
260
320
356
268
274
247
299
360
353
350
326
290
256
325
322
339
368
345
336
260
282
279
417
348
346
238
329
332
264
275
339
421
390
272
394
343
329
283
378
312
371
330
337
312
306
338
210
353
309
317
264
258
310
289
245
324
322
278
254
352
333
335
330
249
410
336
352
257
313
355
243
374
311
265
268
280
413
335
246
308
308
318
371
371
297
330
342
292
282
306
293
265
356
281
301
293
312
304
331
402
346
269
333
324
342
279
311
268
317
344
356
351
375
292
322
291
370
342
257
345
382
354
335
349
315
349
263
355
352
254
291
356
344
308
383
279
293
330
364
330
246
361
336
314
324
338
234
223
291
276
223
353
346
266
294
348
342
323
300
310
295
380
331
316
377
267
352
297
244
401
333
433
314
348
249
341
306
411
399
391
309
352
247
348
360
344
313
281
295
288
355
365
411
398
324
268
287
327
378
240
298
413
349
269
339
313
271
331
381
244
328
302
236
306
312
358
285
298
308
280
230
386
315
362
357
269
305
274
379
264
350
298
330
344
239
256
366
312
318
268
350
379
363
336
254
378
282
292
288
366
299
347
381
253
398
313
325
246
342
345
337
321
315
313
253
324
339
203
338
323
335
395
383
260
344
319
271
321
362
346
347
359
344
224
426
266
343
251
295
277
361
351
259
252
307
326
329
356
313
281
334
289
271
389
237
340
344
332
345
282
367
407
190
279
339
305
289
358
336
265
309
269
348
326
345
283
293
283
333
326
279
391
274
319
263
274
336
231
252
281
262
291
306
352
351
332
322
291
342
342
248
367
286
306
284
325
325
330
279
354
259
363
253
321
252
321
343
283
330
389
276
265
338
236
344
317
169
295
266
302
372
259
309
342
344
228
343
278
309
305
328
245
323
287
254
290
240
296
366
355
404
343
352
196
297
306
365
389
314
283
346
273
369
297
339
339
344
224
298
279
370
290
247
289
263
339
357
270
339
239
385
319
292
311
337
341
298
305
341
324
362
236
328
278
330
369
202
367
379
360
269
352
300
249
243
300
234
333
363
301
327
292
310
341
291
304
268
228
285
409
437
308
315
332
354
372
376
281
259
351
304
310
238
374
252
353
335
270
375
299
350
393
290
302
317
241
315
338
348
362
290
294
293
255
367
351
295
303
294
322
347
255
256
248
292
291
249
243
312
360
271
335
316
316
285
351
296
368
361
349
373
305
253
310
377
296
330
353
264
267
278
293
333
326
260
368
283
297
390
186
234
327
255
333
363
358
303
331
248
395
322
371
357
349
319
299
303
279
292
333
314
310
324
344
371
346
360
299
307
296
205
337
313
313
265
289
306
334
349
371
326
353
371
281
242
314
424
305
279
286
387
389
333
297
325
282
312
341
359
287
243
414
317
281
324
292
275
321
283
337
305
297
303
400
326
372
285
293
285
412
271
307
334
431
332
365
315
298
279
401
295
314
300
311
306
348
399
301
316
230
398
317
289
311
252
275
344
322
293
299
329
286
297
328
291
240
327
329
306
303
262
319
266
321
280
316
351
329
243
296
282
297
378
330
286
300
373
312
236
275
295
204
317
280
277
267
319
309
368
376
327
217
300
227
251
274
261
287
293
319
284
291
339
229
298
345
326
392
272
353
325
338
316
295
349
288
245
300
312
339
316
376
361
334
332
291
236
354
353
251
323
329
444
362
358
269
329
314
318
258
317
388
369
249
292
314
340
348
204
194
358
353
315
403
284
350
330
322
316
367
409
373
241
340
271
256
329
287
322
346
362
313
324
333
318
247
270
278
253
305
241
330
312
288
325
295
271
259
304
298
280
339
333
293
365
258
222
364
278
288
288
319
352
395
327
330
347
267
297
345
331
324
374
320
342
311
341
319
313
306
346
380
294
356
314
350
409
265
283
223
318
301
327
339
402
310
356
234
321
311
254
353
360
315
282
244
320
349
352
300
287
290
291
338
326
335
282
251
329
382
282
347
368
318
258
264
342
359
331
442
295
419
278
243
374
288
257
333
343
298
311
328
239
307
286
292
309
377
271
294
361
364
345
296
249
322
346
298
360
312
326
257
373
282
300
262
323
389
351
266
313
336
315
248
258
355
342
302
199
268
270
439
341
315
296
273
338
309
374
274
371
379
340
346
280
301
233
309
362
317
285
324
360
332
295
317
259
249
347
243
325
342
355
343
289
288
345
291
349
324
310
312
183
303
364
257
303
356
286
297
309
343
297
385
352
351
302
309
283
211
303
327
395
245
367
295
360
333
334
248
327
345
432
247
310
321
278
203
312
303
241
260
327
323
262
355
345
340
333
316
292
273
270
413
271
280
308
291
283
341
308
341
267
326
280
343
284
321
362
358
273
358
362
257
430
266
221
365
236
344
301
306
282
274
205
339
321
339
383
301
282
343
233
262
324
343
366
355
346
306
341
301
271
386
287
328
358
323
322
311
297
310
296
263
310
254
333
310
274
288
333
361
283
286
280
331
359
263
327
251
382
380
348
267
283
339
298
249
352
332
316
281
303
356
336
245
305
309
325
351
378
326
387
291
334
326
312
388
294
295
355
236
345
340
397
235
314
298
345
338
340
383
307
264
317
249
272
317
293
297
368
312
316
363
338
287
345
329
278
245
251
255
318
390
310
301
278
350
345
290
389
292
334
336
307
356
271
311
284
274
357
348
318
287
292
296
364
319
401
376
331
305
346
373
284
320
294
319
333
355
264
286
312
375
302
284
326
354
355
286
305
387
311
306
319
286
296
301
332
297
346
302
328
371
328
175
318
306
332
280
380
249
306
359
244
349
330
292
378
273
299
294
327
403
314
406
371
338
277
255
337
314
286
344
318
309
295
353
237
288
272
304
374
344
237
390
361
323
257
323
322
399
427
344
354
326
310
338
345
275
364
377
319
284
340
344
255
337
298
279
357
380
334
360
258
345
345
355
309
343
323
353
280
361
316
343
338
318
313
347
248
279
413
290
278
243
375
359
317
243
307
331
286
340
378
350
241
381
227
301
292
263
274
330
317
360
379
195
322
332
269
359
299
329
365
317
339
417
323
237
275
294
392
329
286
291
314
278
241
371
357
299
296
314
286
383
259
362
271
244
339
297
379
268
309
255
347
287
319
282
344
360
304
371
328
239
378
292
344
351
331
324
387
300
344
289
354
322
311
371
282
309
319
191
330
295
379
309
314
299
296
330
275
346
292
288
350
314
300
284
329
381
318
266
366
241
428
354
333
367
267
293
295
301
341
308
286
389
358
389
324
333
304
352
322
361
267
371
333
297
294
296
312
345
251
285
301
320
282
279
370
423
225
328
375
350
349
276
317
367
375
409
285
374
239
319
310
314
270
314
312
365
295
248
231
364
301
341
314
358
335
276
300
300
306
362
329
354
279
344
361
335
315
389
288
360
299
252
336
376
389
312
257
345
333
299
337
357
321
373
277
341
247
344
328
323
266
256
344
300
347
332
331
240
245
285
303
377
247
251
339
261
340
299
297
331
270
324
269
297
306
297
329
341
302
325
303
301
400
210
398
296
330
297
310
291
308
314
357
332
390
292
246
282
319
241
246
348
339
286
363
423
286
352
290
351
377
290
278
266
298
302
330
214
348
325
264
338
294
299
270
272
375
264
256
256
257
241
334
286
327
286
356
343
360
330
317
318
284
342
352
371
330
396
351
371
339
347
362
316
330
335
315
309
344
253
305
255
343
346
330
349
307
195
402
258
334
315
235
360
330
322
358
321
324
238
301
312
367
247
302
311
277
304
308
358
282
308
312
381
369
320
334
323
346
224
161
260
262
276
341
278
288
318
309
429
307
391
325
372
373
284
258
275
406
304
263
370
190
331
326
314
321
358
391
312
308
316
320
232
306
223
232
341
336
330
382
331
239
354
281
378
328
322
363
290
335
408
349
327
367
223
325
290
320
250
410
375
344
360
292
353
318
279
305
265
276
361
330
176
274
301
242
302
327
256
290
362
329
269
238
369
335
308
295
312
289
386
272
293
306
352
268
287
378
313
319
301
323
330
205
265
349
355
373
211
264
369
292
333
312
342
274
358
350
312
308
283
256
388
286
287
359
314
256
330
334
391
344
310
385
397
351
354
278
382
365
309
340
392
327
348
236
384
263
285
331
299
355
264
326
291
361
327
343
320
309
311
272
325
336
323
294
316
277
339
251
369
374
326
268
297
363
363
386
310
318
246
331
418
329
312
307
392
395
327
381
379
369
269
346
314
273
382
322
273
296
376
261
306
349
259
304
264
318
265
279
288
324
349
232
277
308
341
340
363
310
258
355
320
256
355
328
378
356
287
314
331
358
336
314
337
321
309
329
320
257
344
312
356
330
312
341
247
352
250
307
283
407
243
263
303
363
329
328
268
363
321
290
315
348
358
297
308
247
311
385
294
291
233
294
346
424
309
326
231
331
331
307
271
317
364
360
332
258
293
249
249
310
351
386
294
292
291
269
295
364
334
384
345
273
348
271
352
277
323
388
355
333
335
351
222
248
353
404
187
311
316
314
327
385
272
251
263
327
293
292
300
263
337
286
297
350
292
260
345
363
358
312
183
338
302
285
350
232
312
317
324
331
294
331
345
290
351
261
364
337
293
305
353
368
261
281
309
348
194
303
451
254
368
270
274
275
269
336
262
321
305
330
312
280
375
286
249
272
319
278
236
331
308
345
309
279
297
367
321
303
293
283
252
273
326
383
288
337
274
292
314
345
306
308
329
278
297
248
291
366
346
283
270
280
310
290
369
294
294
341
382
338
314
328
342
304
246
381
289
307
349
262
335
314
300
324
276
387
328
314
181
267
261
314
330
320
279
333
346
252
292
409
340
250
347
324
333
333
394
350
394
248
344
367
318
304
354
355
326
290
305
250
323
311
346
341
402
342
285
345
328
290
322
307
297
343
228
240
267
308
343
335
267
298
353
289
242
258
351
318
359
306
342
317
201
295
372
324
370
305
381
204
345
332
304
318
284
391
349
338
330
355
352
335
383
287
347
398
348
268
371
286
323
299
307
254
259
368
251
435
353
239
307
288
308
307
323
310
290
322
362
311
337
322
282
399
330
288
364
315
333
310
327
368
314
331
314
380
309
273
331
253
356
351
234
316
366
295
329
345
359
361
387
344
320
273
304
313
338
353
347
271
294
310
289
289
284
283
236
308
290
378
279
311
344
325
292
368
281
389
392
359
306
298
144
408
365
189
274
306
349
301
306
275
360
312
245
360
304
352
313
297
423
334
315
262
289
311
275
299
325
266
324
283
311
280
298
327
358
306
321
241
369
222
342
255
337
320
235
367
314
356
404
282
314
352
356
363
367
252
284
288
348
280
350
325
392
283
331
360
316
318
362
299
331
285
336
410
343
294
311
375
318
274
165
364
321
226
351
380
245
367
348
277
230
238
274
366
284
250
335
356
281
325
352
270
283
288
377
287
359
395
354
312
313
288
302
327
301
369
244
255
334
353
275
325
313
385
323
373
355
266
313
247
395
353
313
285
300
359
342
316
347
371
261
289
249
317
315
300
250
373
256
314
361
298
266
338
340
289
298
338
362
289
276
324
292
293
311
308
340
288
355
339
265
321
350
327
317
363
334
322
343
305
294
301
333
345
325
277
312
279
267
316
291
325
276
422
315
322
278
283
390
391
264
318
322
359
273
310
361
323
361
288
268
266
321
308
447
342
310
259
310
323
351
357
241
325
314
281
245
378
396
291
310
296
419
340
281
312
291
255
343
312
337
362
349
324
342
370
360
302
304
316
333
356
379
236
278
240
297
232
281
394
269
352
312
246
391
306
347
304
346
220
288
316
315
292
296
168
357
310
259
290
387
290
296
343
313
288
341
340
241
326
298
409
363
205
248
284
333
342
288
336
282
347
333
301
326
280
350
345
330
362
328
334
348
249
311
252
316
387
204
335
300
391
325
205
321
358
234
304
311
334
340
306
373
358
302
296
397
273
265
354
320
298
291
249
338
291
261
247
366
330
318
265
266
326
208
340
294
223
344
265
238
277
332
287
297
286
307
366
195
334
262
305
395
320
314
335
337
269
279
285
268
327
304
407
384
304
386
342
313
294
262
336
308
303
294
290
261
303
293
324
284
403
322
191
299
310
211
266
265
271
276
332
254
296
310
315
329
330
302
293
341
315
370
342
377
309
366
263
212
336
258
276
356
304
414
342
262
318
374
325
261
327
337
360
370
414
279
306
278
284
248
325
276
393
261
348
354
352
313
315
280
330
354
385
339
316
329
255
359
371
328
213
224
272
393
319
364
337
294
344
302
315
346
383
318
272
349
328
259
275
330
355
328
280
336
285
285
355
299
359
398
391
347
334
304
221
269
347
310
244
277
281
313
371
368
309
263
317
298
358
352
322
323
268
294
349
296
326
275
260
317
264
301
276
313
306
399
349
321
297
251
318
289
271
348
271
390
412
300
292
224
388
302
305
297
304
249
305
262
312
362
333
289
405
274
291
322
351
319
326
332
318
320
313
351
320
332
285
333
315
328
300
269
281
306
297
335
314
346
409
413
372
270
323
371
375
319
315
289
354
249
311
352
230
406
262
281
260
353
285
313
252
318
392
318
201
299
327
311
294
356
352
336
326
259
295
342
321
269
332
278
335
383
346
313
271
299
275
310
376
269
344
295
383
361
212
307
324
350
289
323
272
288
398
402
296
351
246
290
309
329
317
387
249
331
273
318
235
312
326
328
350
278
293
241
321
297
364
266
292
281
265
342
345
349
433
259
332
327
386
273
324
334
324
292
274
354
257
295
339
306
292
291
384
374
326
304
303
339
349
344
305
353
333
350
294
271
234
330
329
285
356
248
357
292
270
272
320
181
336
333
348
250
335
277
316
260
308
270
332
308
312
272
280
323
270
244
242
335
280
317
343
246
301
252
273
292
260
312
388
243
354
330
320
277
278
267
305
296
393
326
313
239
337
330
297
350
344
302
336
346
377
330
329
250
384
313
309
303
300
302
293
317
392
325
276
312
335
293
323
283
350
255
319
351
343
312
375
343
327
349
301
337
326
333
360
301
318
300
349
349
335
297
283
278
382
266
316
339
341
249
175
261
302
301
312
307
351
371
356
297
285
362
255
346
326
372
309
311
302
283
330
344
437
331
327
315
274
295
290
370
377
341
315
304
278
293
288
341
345
293
282
324
274
329
191
269
334
268
290
269
379
328
220
362
355
277
382
173
292
335
333
331
232
283
379
288
284
338
282
288
292
309
279
341
275
312
336
373
314
274
307
373
377
353
294
314
305
305
216
381
339
298
292
386
271
305
346
359
315
316
364
279
306
367
399
318
349
321
342
262
286
250
332
346
316
315
302
285
231
341
335
333
305
345
329
354
353
338
279
351
357
213
362
253
366
289
386
303
353
323
222
271
326
303
365
290
336
307
286
332
321
353
268
279
346
378
370
267
205
278
288
314
336
333
302
332
318
277
269
318
302
329
266
337
295
309
278
392
304
360
300
216
364
362
255
362
271
330
337
324
377
265
352
315
283
361
360
336
330
364
289
406
365
302
318
295
322
323
315
375
371
310
294
292
377
279
275
317
369
303
363
307
198
387
331
282
345
324
307
298
332
314
310
207
347
324
255
247
341
320
373
345
309
367
269
373
432
289
211
334
354
324
296
254
336
323
255
262
267
292
404
252
307
312
337
303
361
281
325
237
275
302
279
309
385
397
353
336
384
283
337
279
353
346
248
300
282
360
342
336
240
279
359
177
352
275
337
344
315
306
301
371
289
355
352
289
298
328
282
412
247
331
321
259
319
303
319
255
300
286
379
341
378
289
297
304
360
333
304
315
324
266
277
259
282
278
267
304
336
316
335
343
253
351
400
365
343
403
299
335
330
284
252
372
329
327
341
424
292
278
325
334
350
340
304
282
368
375
350
323
341
255
306
373
366
243
371
285
319
301
261
359
337
348
262
279
428
310
303
383
257
242
308
327
353
312
346
354
340
337
217
280
391
275
336
335
278
339
289
370
340
253
313
306
312
361
286
272
308
336
277
288
310
332
321
373
373
361
332
316
270
317
287
374
363
253
273
208
331
330
305
285
345
421
300
306
242
246
328
405
343
288
290
308
394
260
318
267
281
302
339
235
309
298
298
300
361
261
265
306
338
388
270
316
300
370
243
456
298
288
295
297
303
274
275
293
318
368
271
207
342
353
319
325
405
290
410
290
329
370
318
326
371
345
295
333
311
254
325
338
284
324
258
364
316
273
344
357
347
243
326
281
263
324
362
303
347
305
327
287
326
305
336
282
346
321
285
333
358
257
295
361
310
312
390
352
256
384
260
372
250
320
318
285
320
306
306
304
332
216
240
349
324
346
312
290
363
391
338
327
351
315
297
311
308
351
349
273
253
335
235
280
259
355
283
297
302
393
365
352
349
310
293
217
365
314
294
287
363
292
327
325
359
319
316
317
257
284
397
281
308
284
302
275
356
394
343
300
288
347
258
277
327
259
269
311
295
339
330
275
373
256
308
311
335
268
210
387
289
253
311
261
316
350
386
294
376
324
287
297
324
318
304
229
318
307
400
355
331
230
379
432
384
244
327
329
315
332
322
254
322
224
313
296
299
240
246
361
306
303
347
313
351
307
336
310
303
295
309
332
335
283
335
297
398
355
343
306
302
249
339
322
241
295
300
326
290
282
213
353
300
296
375
291
353
257
362
292
367
284
347
323
312
322
404
361
345
337
302
326
365
294
390
411
283
285
299
371
248
307
295
333
269
283
272
395
294
248
275
260
342
304
294
366
286
208
262
224
286
376
402
282
378
379
235
302
319
389
361
328
333
337
366
336
299
359
287
300
391
387
289
293
372
307
250
278
341
316
331
298
264
358
289
289
349
316
236
331
263
319
299
282
307
287
372
288
307
299
304
337
394
354
367
249
322
290
293
345
314
327
308
388
367
290
326
285
357
319
248
256
303
360
289
367
347
302
334
287
322
311
277
362
231
382
425
410
402
340
305
331
309
354
380
332
284
238
298
281
349
304
377
291
372
426
313
338
262
325
282
265
293
340
314
316
311
280
328
312
253
310
244
347
367
374
279
275
266
354
318
312
270
340
374
355
274
341
263
305
312
334
282
218
336
336
265
261
365
249
336
335
236
269
311
278
361
308
306
408
371
402
269
333
306
374
363
335
350
355
327
304
280
325
315
343
319
353
254
329
329
295
334
326
301
242
292
251
327
363
240
302
304
273
415
401
337
277
321
345
286
368
313
367
293
289
271
183
274
307
392
360
364
434
259
226
312
315
381
332
298
375
255
347
418
349
310
352
348
266
307
313
304
281
281
319
394
400
325
317
242
299
370
330
310
344
295
295
237
191
325
345
274
351
220
368
344
260
287
248
262
321
371
274
313
364
230
228
309
355
353
274
332
253
312
290
283
372
313
299
319
402
339
236
373
319
301
353
309
316
332
294
373
295
275
344
211
244
347
285
375
341
267
330
419
353
323
318
289
252
255
272
352
247
253
266
282
293
321
373
323
248
244
259
349
340
344
348
241
289
393
279
435
357
340
318
279
353
345
342
318
370
335
372
290
318
272
277
371
258
279
380
382
323
331
314
336
299
343
338
340
224
247
288
315
320
298
277
405
289
313
377
284
326
285
307
312
365
395
355
378
337
384
283
328
392
366
293
306
273
356
295
287
320
316
336
253
260
341
260
302
314
345
333
302
326
324
308
406
212
313
357
334
227
288
312
302
396
400
393
412
352
350
254
222
301
348
335
233
364
293
274
325
339
285
327
375
240
369
290
220
339
426
323
267
361
306
315
345
393
376
328
295
310
360
339
379
327
280
378
267
251
245
318
353
293
274
358
282
287
288
355
388
246
268
307
324
306
287
337
344
341
381
341
351
333
302
252
288
363
283
368
268
346
302
345
374
364
303
329
347
300
343
338
287
314
256
249
291
330
409
336
337
287
329
283
304
286
243
328
327
390
284
334
345
330
338
382
345
256
389
291
338
377
298
332
327
240
323
332
274
355
363
330
305
256
231
304
298
284
372
302
394
297
281
336
226
383
365
330
316
266
261
309
306
302
340
292
283
362
291
402
310
336
383
357
281
229
302
324
297
350
365
234
368
313
299
314
323
320
379
266
374
281
314
341
329
339
295
232
252
244
323
192
406
312
345
256
384
394
367
351
336
303
379
268
328
366
298
342
315
293
306
437
296
295
316
360
331
246
318
260
325
220
387
370
381
309
351
260
287
371
305
295
400
328
365
283
190
339
335
294
425
364
313
320
319
284
361
372
392
350
320
253
253
359
293
331
373
292
352
379
309
297
356
357
318
348
294
260
310
202
309
357
398
216
299
361
327
373
352
300
295
330
311
389
405
293
241
350
286
342
300
401
320
257
208
276
340
273
305
402
247
287
335
290
344
273
389
410
333
270
322
326
348
309
316
267
369
271
337
350
320
272
364
272
269
329
360
347
388
323
300
356
371
318
420
314
347
286
358
314
289
322
297
382
279
262
230
385
373
346
284
344
248
260
362
354
308
369
274
378
341
289
261
302
294
348
391
354
291
296
283
305
277
334
373
391
371
432
320
287
350
317
295
334
243
332
334
303
273
270
370
285
297
362
293
296
355
285
295
338
336
379
373
340
299
343
336
305
346
428
365
297
374
191
255
270
314
260
304
248
228
248
284
260
292
347
321
325
277
298
271
372
313
335
366
254
258
373
383
364
264
361
330
281
379
340
325
261
307
266
219
297
361
322
341
284
325
320
368
269
283
308
320
327
307
238
351
334
289
387
387
335
224
305
374
351
269
283
295
334
286
285
277
325
364
355
255
291
410
315
331
301
306
324
316
354
327
241
281
293
321
381
390
285
290
342
343
368
311
349
367
308
344
270
296
358
314
340
274
273
293
289
267
305
262
379
331
171
189
316
357
321
343
325
268
421
311
305
329
326
329
272
329
295
335
367
304
304
327
298
260
361
357
358
330
264
315
321
411
304
286
190
333
328
347
322
309
341
316
340
317
295
346
265
257
365
286
249
323
330
318
262
331
300
233
301
316
316
285
314
356
345
275
360
295
321
325
378
315
340
266
266
345
267
279
291
328
372
366
298
321
369
329
255
221
316
342
335
279
293
363
320
326
289
326
282
380
245
235
305
326
247
384
375
260
277
315
404
372
396
336
329
391
318
341
328
249
354
388
353
319
319
395
287
315
290
360
304
382
317
257
333
307
387
279
252
269
322
308
253
304
287
363
235
302
319
322
308
366
321
310
338
332
323
354
366
213
350
310
356
243
351
284
336
282
321
297
295
361
334
303
272
269
292
344
346
315
331
355
304
370
277
291
360
328
329
292
332
303
292
290
310
313
401
378
277
321
372
304
375
225
343
305
306
264
315
311
316
288
299
305
285
338
459
280
334
291
303
335
345
286
352
277
263
318
313
290
442
200
324
330
311
341
283
318
336
394
334
254
338
352
274
318
304
295
348
296
241
341
363
308
289
307
338
259
311
331
377
240
183
347
327
347
312
299
214
266
323
324
288
330
302
311
391
334
354
369
329
411
297
371
285
351
279
247
342
204
284
296
267
362
314
336
324
275
294
222
434
278
320
359
378
377
309
350
325
277
249
351
280
349
259
287
323
256
334
325
306
380
333
377
323
367
294
241
303
243
298
379
265
299
355
274
322
260
272
266
325
268
353
231
308
298
339
410
261
301
284
246
337
340
232
385
219
411
328
381
361
342
324
305
276
315
303
348
303
349
378
256
310
244
336
328
255
284
324
359
287
343
414
262
260
326
352
307
269
335
317
297
319
368
381
273
407
257
368
258
266
315
325
367
318
282
298
255
256
349
363
325
341
313
307
348
367
276
289
344
346
301
274
343
217
332
256
261
346
307
289
349
306
276
341
364
369
289
289
281
379
331
366
350
345
375
320
289
355
278
305
267
258
221
301
303
236
397
369
378
301
281
295
284
348
286
267
218
359
309
326
337
289
259
277
244
308
321
310
349
369
291
344
324
344
391
261
347
275
334
342
250
309
333
289
316
276
420
317
252
328
288
271
406
314
319
257
367
274
366
310
301
323
388
292
315
350
354
317
292
369
258
263
272
371
319
311
376
306
282
342
369
327
312
276
280
327
304
378
375
351
311
324
339
271
394
324
303
392
274
337
312
328
278
295
310
400
352
382
260
345
372
306
257
243
339
273
329
302
341
317
303
295
365
334
272
275
284
325
286
306
348
361
357
365
318
302
349
326
410
375
294
346
374
217
370
316
329
264
359
279
344
315
364
332
304
324
362
314
374
294
379
190
268
262
329
350
271
302
193
264
309
237
302
282
236
251
261
335
368
335
276
308
346
345
288
267
277
332
398
271
348
348
367
298
366
381
218
279
295
302
349
262
264
365
302
310
379
329
348
385
312
331
254
307
308
363
242
349
301
378
277
240
358
344
274
362
280
287
293
231
270
292
314
239
266
332
307
301
321
310
309
242
291
291
302
331
256
233
356
277
333
358
287
292
329
271
341
308
347
361
269
337
358
440
304
326
246
275
368
301
332
310
246
258
307
293
299
230
275
279
290
322
250
347
356
271
354
302
341
383
292
276
347
307
287
341
312
334
283
282
278
389
261
331
264
417
222
338
252
198
292
281
301
325
316
298
221
334
322
320
347
307
341
340
303
291
232
342
300
352
314
248
285
316
338
287
294
347
340
341
369
315
334
281
242
323
328
306
342
380
307
347
344
332
335
336
375
343
308
271
260
265
314
333
307
342
287
273
261
361
339
316
365
325
276
288
315
351
286
330
310
382
297
392
312
283
342
330
301
269
270
272
360
305
345
295
241
243
339
272
335
369
350
256
376
356
340
342
236
308
263
289
329
443
265
323
331
299
299
326
375
421
275
279
314
243
284
275
370
293
283
365
369
323
318
269
280
356
257
281
319
345
280
327
251
331
292
367
349
289
321
335
306
383
316
331
230
320
334
314
298
331
304
256
322
271
248
280
305
323
307
321
395
333
308
354
311
329
253
294
338
395
330
229
231
353
311
356
249
321
255
215
277
399
221
295
303
239
290
417
375
294
237
292
266
355
373
335
349
243
349
295
343
321
249
312
372
394
343
294
322
346
303
376
270
229
312
356
315
291
316
309
311
269
280
335
360
407
223
294
241
315
314
363
384
322
310
204
285
268
251
305
308
291
271
340
353
345
320
323
228
265
337
298
295
306
283
338
343
322
313
355
326
355
292
364
308
322
397
276
271
296
258
341
364
360
314
268
293
270
404
302
405
306
328
330
314
298
332
271
335
317
358
364
307
290
291
351
303
251
290
268
329
292
279
351
343
337
317
295
316
295
331
331
342
367
338
340
267
327
301
310
325
358
279
298
379
327
328
286
325
371
297
346
277
299
317
359
311
314
379
340
394
307
364
321
367
251
340
397
287
264
326
339
288
349
318
352
298
312
383
397
295
311
363
313
279
344
277
240
329
229
319
282
338
257
354
320
280
347
351
350
318
305
312
292
314
434
320
290
286
286
232
277
351
351
273
230
313
338
239
315
288
311
302
298
290
316
321
339
339
285
367
262
250
299
302
327
307
306
375
303
324
304
342
343
276
313
274
296
309
352
237
391
354
223
297
277
308
288
258
338
239
371
339
324
350
334
340
323
339
260
392
235
409
299
342
298
335
311
343
230
330
267
366
364
287
316
354
304
292
269
318
379
295
335
293
349
235
296
293
293
254
356
316
335
264
288
316
236
338
278
333
367
373
313
330
340
335
362
286
293
283
298
268
314
412
343
312
347
325
265
330
355
301
249
236
303
269
290
363
310
273
309
351
303
330
336
304
376
355
216
297
278
399
398
296
297
355
339
351
444
370
203
319
304
334
316
252
251
260
256
385
251
345
258
385
359
332
279
356
289
286
304
376
374
341
361
228
287
365
268
349
292
285
275
379
339
323
280
336
391
336
358
350
301
272
295
317
251
319
310
261
266
312
299
277
312
289
315
392
352
288
277
370
265
330
321
342
245
297
324
294
364
369
357
318
424
330
205
366
279
250
349
330
321
274
294
298
260
304
241
295
327
354
274
359
402
292
372
258
371
329
336
319
287
387
291
266
270
323
336
405
261
313
296
319
364
270
272
266
328
289
310
338
200
290
362
277
373
196
311
246
362
280
347
307
308
339
370
301
285
289
340
300
331
302
215
310
347
316
266
375
309
351
323
306
328
282
359
259
339
273
323
331
205
328
300
297
312
365
259
261
373
375
260
271
187
233
210
344
248
358
334
241
254
323
300
343
271
374
322
235
321
309
290
218
283
244
363
253
375
347
298
301
363
352
363
350
365
324
299
265
316
245
408
305
254
242
332
349
328
248
258
373
362
287
304
278
218
272
351
270
274
349
316
223
297
354
399
383
345
244
300
341
332
344
331
386
318
277
249
345
338
348
276
273
296
332
297
330
314
331
296
335
318
219
283
440
286
337
329
310
240
313
238
311
315
335
357
310
303
316
319
226
324
411
341
347
339
345
329
269
290
291
366
301
337
355
291
324
329
299
393
339
298
317
392
378
195
206
297
368
306
310
295
326
361
350
267
307
323
418
402
384
309
350
263
312
311
318
288
299
388
261
319
276
301
269
368
230
281
306
313
329
349
266
261
309
307
327
296
325
328
312
345
261
318
296
383
372
277
297
340
261
278
380
340
347
272
241
309
375
333
238
366
339
313
226
344
382
343
378
324
380
360
366
311
335
272
282
290
288
329
278
374
365
327
355
231
346
322
394
251
280
380
309
318
293
362
400
312
274
324
315
396
305
266
340
363
368
293
321
330
305
381
387
332
210
298
264
317
349
279
190
442
315
317
233
360
376
354
335
337
326
296
241
234
330
332
262
292
297
257
406
247
284
318
254
338
350
227
317
298
254
419
266
367
261
304
286
356
263
341
333
296
288
326
336
330
339
320
293
356
307
297
352
315
302
316
360
309
355
283
301
329
348
299
338
215
274
299
335
326
338
388
299
364
252
331
351
349
299
350
327
268
294
337
321
255
358
243
233
345
285
307
329
294
385
404
316
337
318
345
368
242
331
343
334
361
314
381
316
353
254
287
383
261
264
356
253
276
331
374
281
351
329
263
311
287
268
307
296
363
324
318
276
376
295
306
322
323
428
351
342
318
277
326
370
346
253
285
333
355
432
227
355
320
330
342
325
365
328
377
251
264
368
313
284
341
319
334
330
329
331
259
304
332
339
409
379
379
338
339
211
299
273
275
377
257
246
260
338
334
346
367
306
378
356
379
325
332
311
277
272
330
300
338
279
310
334
266
386
382
255
360
265
313
275
306
271
246
412
313
280
291
348
375
324
288
326
233
335
300
228
204
276
233
294
291
325
220
303
344
335
352
297
314
310
260
250
392
349
296
250
299
307
316
322
362
305
388
329
215
238
319
302
356
341
315
370
313
285
327
371
343
267
337
394
299
256
358
375
347
295
328
319
312
273
336
286
357
276
347
287
276
419
274
323
223
343
317
272
352
254
180
326
238
276
258
287
273
283
350
275
349
317
254
324
278
339
280
364
384
294
325
328
296
370
248
315
294
258
292
294
292
365
290
316
327
361
315
178
319
254
350
261
303
336
231
349
214
328
315
321
298
286
395
215
353
370
295
354
291
287
341
329
352
340
357
310
296
367
297
296
340
366
353
319
306
275
312
291
278
265
270
271
336
279
282
305
305
309
254
324
329
244
313
328
384
315
320
370
332
333
261
356
364
295
264
363
321
232
346
292
227
342
320
350
315
335
374
335
368
383
359
264
324
277
271
330
311
303
291
339
287
372
305
323
398
370
350
340
280
276
282
344
360
288
312
378
239
314
323
305
268
354
252
350
296
338
417
271
338
330
316
373
308
271
322
264
388
266
259
226
423
320
337
352
239
292
302
317
340
342
290
389
225
343
327
300
345
292
344
304
249
369
317
331
370
290
312
332
298
254
340
305
381
312
332
334
294
318
250
261
376
373
350
388
302
296
338
304
375
409
268
255
336
287
314
300
347
366
308
299
252
332
331
356
365
304
428
343
311
283
255
262
362
270
349
310
336
304
344
288
262
308
331
348
253
321
351
335
245
231
392
261
333
412
335
357
299
327
314
345
284
359
365
273
330
280
249
367
370
422
237
314
363
357
285
371
325
380
325
263
344
231
298
308
307
331
315
256
261
333
287
329
366
351
257
266
244
376
381
275
310
269
305
296
378
371
315
328
368
269
313
335
295
198
340
278
316
351
249
341
257
297
281
305
310
288
399
269
346
417
336
284
384
298
289
290
363
281
303
256
310
344
289
264
318
357
325
298
320
309
374
281
382
270
324
338
344
294
277
362
373
341
302
244
380
232
365
189
254
324
296
264
375
330
265
310
314
344
252
293
280
316
332
325
322
383
351
378
293
394
257
294
346
354
347
292
359
333
386
375
316
329
319
254
290
267
305
292
302
221
332
380
271
272
317
308
325
258
411
345
290
283
229
228
321
313
320
263
341
317
354
297
270
261
452
255
392
398
412
309
296
299
290
331
402
294
289
325
303
321
306
300
306
394
317
323
278
330
294
396
296
318
302
287
340
318
287
314
277
308
374
349
335
339
329
273
299
345
324
288
338
311
298
256
287
332
290
319
308
151
371
203
269
341
332
332
337
336
324
278
337
333
348
358
282
320
383
315
380
358
273
288
342
363
292
279
357
345
274
356
336
384
323
285
221
279
290
265
331
334
266
306
378
299
301
318
305
294
272
383
324
330
287
306
350
298
309
310
323
292
363
254
325
302
337
299
267
373
337
244
302
262
310
371
335
311
337
323
323
281
315
354
320
323
278
310
344
318
250
356
390
345
282
323
340
275
326
391
281
267
219
332
383
288
311
430
270
401
261
346
276
264
275
324
329
310
221
312
342
332
345
274
336
415
340
373
409
293
281
306
312
279
378
296
296
278
310
385
355
362
386
219
342
299
311
320
255
359
297
294
325
277
286
271
212
294
321
331
372
278
381
266
302
391
322
395
291
375
259
378
338
250
191
336
350
297
272
345
327
290
366
284
345
286
282
277
306
279
265
310
373
351
296
269
316
290
218
373
300
248
277
348
369
326
428
282
227
343
369
270
339
299
321
325
272
418
208
323
377
384
239
316
330
302
317
272
349
345
318
288
262
291
387
273
282
364
295
291
342
315
269
390
281
416
282
363
332
368
352
287
347
369
281
289
306
330
286
264
295
350
400
273
242
372
250
359
254
349
302
326
281
278
336
356
253
276
322
276
333
235
369
322
355
353
324
290
297
321
302
329
399
309
397
396
248
268
330
269
300
276
281
366
300
278
268
305
265
321
322
390
349
320
287
240
302
297
309
372
340
301
365
367
348
280
286
288
333
412
341
292
314
406
346
257
318
295
279
312
223
256
264
243
308
315
355
394
343
347
285
388
289
278
236
350
350
358
323
356
355
324
313
364
264
265
314
327
303
305
252
298
335
338
319
284
226
323
326
213
287
365
317
285
291
337
371
228
352
303
268
288
318
289
341
361
262
278
336
325
329
343
338
347
295
330
272
376
276
256
331
259
366
349
337
273
339
288
327
306
263
296
386
293
285
328
260
335
314
261
389
293
319
307
315
323
328
378
254
310
331
304
322
391
300
237
348
336
360
297
317
328
329
365
288
339
362
299
322
321
342
343
299
231
411
371
403
206
254
252
309
310
357
355
321
333
376
331
369
264
336
330
269
216
314
357
353
264
338
289
377
289
272
358
369
299
300
270
344
329
353
290
376
280
307
344
249
264
306
283
363
360
338
376
296
298
344
365
354
315
274
280
302
360
295
361
264
300
323
285
300
282
259
294
323
319
285
421
281
328
353
283
307
295
360
356
341
325
333
348
240
324
351
363
208
303
272
193
344
292
355
271
235
359
385
240
281
313
346
275
368
286
349
262
330
340
290
296
320
270
316
321
257
344
305
291
328
304
295
350
250
306
297
311
269
295
317
309
439
313
260
270
406
360
315
248
299
268
319
242
344
317
337
300
402
331
296
382
281
384
176
364
406
437
306
254
309
344
309
264
288
309
210
322
317
315
329
359
279
261
377
366
256
238
321
320
354
359
288
264
397
276
410
301
278
343
373
235
340
278
274
247
354
343
291
273
352
295
361
385
330
360
264
264
268
381
380
298
330
262
284
243
314
351
312
322
357
317
378
288
405
278
414
309
280
392
274
365
182
317
322
327
264
389
242
245
345
273
298
257
318
325
285
315
347
297
409
376
301
316
245
273
369
313
408
361
343
314
317
222
412
314
354
268
263
362
322
388
273
263
279
265
329
307
244
162
369
308
251
283
353
377
361
317
289
357
274
282
280
391
341
332
417
253
292
354
317
250
292
341
295
223
324
297
355
370
357
260
298
346
222
316
338
339
288
280
338
293
256
285
265
346
286
356
299
422
391
312
326
283
383
381
264
378
388
323
357
297
290
251
352
349
324
279
317
355
341
306
365
242
335
414
296
248
363
270
359
273
323
267
335
380
366
309
309
341
242
278
328
270
310
317
329
373
321
339
318
314
226
234
338
291
374
329
300
318
304
324
326
386
328
339
304
265
375
303
223
310
256
287
268
352
414
306
213
292
343
403
296
250
336
289
369
246
231
352
375
368
292
312
343
272
339
241
366
268
339
377
300
259
290
330
306
364
245
343
362
281
377
333
388
328
380
334
304
207
367
276
250
350
278
342
280
324
310
428
303
317
293
282
364
364
382
288
367
362
309
273
367
360
288
264
361
258
342
305
253
328
315
367
390
270
349
329
282
309
296
333
356
279
386
289
313
315
307
371
308
355
337
289
366
315
320
312
375
307
300
278
354
295
269
344
363
372
315
370
439
268
278
320
300
360
277
200
333
407
286
362
231
293
306
339
342
266
320
295
179
365
366
373
374
286
351
328
220
333
259
317
379
307
306
317
300
368
236
245
384
367
275
273
407
299
334
319
323
301
236
337
319
265
279
324
315
253
293
336
252
295
294
311
320
323
347
336
262
262
367
307
378
276
265
314
311
326
336
344
319
329
260
327
334
310
350
359
373
290
259
277
280
315
260
328
385
315
270
316
360
307
287
316
369
317
336
239
362
304
324
315
304
276
296
327
149
415
283
225
346
313
338
383
327
303
338
355
311
335
400
297
284
213
305
276
272
304
386
291
271
346
382
336
285
356
299
251
326
323
212
319
316
300
283
324
328
322
250
380
332
384
309
283
303
180
275
323
332
240
312
325
357
351
256
349
327
346
282
328
269
320
281
295
327
306
282
319
281
275
389
348
340
348
287
283
350
318
288
304
346
250
293
326
321
281
341
317
242
277
291
317
262
232
361
300
283
340
342
352
303
317
331
369
313
273
306
266
364
284
296
380
343
297
344
347
255
299
281
263
339
356
298
347
350
232
347
189
316
324
294
333
320
292
324
278
329
299
150
331
310
307
355
342
401
295
340
287
297
346
219
319
328
312
316
257
326
285
225
335
270
337
303
254
303
357
326
321
353
442
295
351
331
354
346
403
280
259
295
383
311
354
241
310
285
373
353
381
312
279
339
339
284
308
304
333
266
288
307
318
361
326
385
253
303
320
228
314
314
256
305
360
268
277
348
314
232
321
211
268
356
325
321
233
334
325
325
363
334
301
368
329
303
334
317
347
329
315
368
335
345
293
254
334
328
278
378
380
368
268
362
349
273
290
298
339
329
332
252
319
383
293
402
276
203
296
297
395
326
289
304
278
320
386
385
340
346
378
306
311
412
280
330
342
345
248
237
288
320
312
358
272
313
317
252
236
314
385
352
422
307
314
398
234
354
327
284
255
294
377
409
350
286
344
321
273
251
321
326
335
287
304
330
436
320
362
320
312
330
322
280
328
270
385
286
333
322
277
334
301
312
377
289
336
309
357
275
278
256
258
239
237
243
348
274
404
295
330
332
365
331
303
379
282
347
407
324
402
315
393
365
311
242
368
312
334
241
296
287
362
305
227
344
233
358
312
297
357
296
296
300
364
397
339
251
313
252
319
284
307
327
340
330
327
342
292
390
327
280
397
345
309
316
403
299
328
305
394
359
322
319
286
295
228
214
361
285
336
346
347
355
306
284
293
364
275
196
313
287
265
291
385
320
319
322
332
286
276
259
413
307
288
277
325
355
331
327
255
334
369
344
376
310
292
304
365
416
291
356
312
291
353
305
355
317
333
330
332
237
332
305
334
303
303
302
337
293
361
316
355
331
372
300
343
282
312
318
373
314
358
366
322
299
349
331
326
342
336
338
354
305
276
318
337
223
321
324
385
273
239
283
279
307
377
330
220
326
266
325
339
304
242
269
237
285
310
317
334
226
314
326
359
393
312
250
291
326
350
361
324
310
348
303
318
354
235
300
318
366
251
331
319
370
310
286
337
325
296
286
296
347
405
395
361
328
297
261
283
280
244
377
295
332
364
312
235
274
296
301
308
346
328
318
293
302
264
317
308
381
311
308
299
345
274
320
371
269
380
300
343
326
336
360
361
374
292
334
287
339
234
301
375
252
317
273
306
325
356
379
327
295
308
351
338
335
338
321
261
360
302
325
253
290
314
355
319
322
224
342
341
263
302
349
268
298
318
294
317
266
265
333
252
359
314
220
235
343
265
304
290
306
343
288
263
334
258
297
393
331
294
299
316
264
360
355
251
371
371
296
372
301
341
278
334
306
282
358
344
256
301
270
264
253
301
308
319
367
335
332
210
346
281
334
290
284
276
294
286
301
316
252
340
337
263
315
281
276
242
425
317
309
341
377
279
298
374
264
292
298
287
341
330
345
331
342
307
308
366
326
307
323
338
352
367
259
357
279
347
314
285
284
359
286
342
283
350
271
279
286
257
174
312
296
290
374
378
385
283
335
295
409
286
303
335
266
254
351
315
374
304
369
297
288
265
340
263
325
282
334
332
310
383
355
316
271
288
343
372
289
309
297
362
309
286
294
257
355
328
299
263
298
394
285
405
370
377
196
301
311
225
392
269
327
329
337
380
328
357
284
362
382
245
301
315
336
283
421
382
355
304
304
314
303
353
282
273
303
414
404
340
276
330
467
229
300
363
412
303
303
271
366
295
366
308
322
291
309
324
299
256
309
251
337
366
329
251
386
335
335
356
345
306
313
342
337
279
313
239
275
321
304
293
325
235
343
278
399
299
287
340
343
257
333
320
234
261
328
265
320
328
240
384
392
330
356
310
339
301
369
317
320
342
306
327
360
210
372
319
333
289
326
219
224
282
280
210
339
305
296
276
382
349
299
291
278
343
330
323
244
286
294
254
308
331
321
237
289
294
326
357
359
334
263
352
289
281
343
346
319
390
286
316
279
303
335
287
354
259
216
307
223
293
320
366
401
353
321
308
301
348
234
382
296
280
282
289
307
405
279
311
292
343
306
290
336
180
338
308
366
304
394
337
307
264
284
261
362
321
302
273
312
348
407
314
311
330
242
308
322
307
334
311
211
289
278
279
337
212
411
346
254
332
308
397
304
301
361
250
395
314
362
345
348
249
322
322
314
300
296
370
339
311
260
266
327
417
313
360
257
268
275
319
328
284
319
367
239
338
302
322
288
407
283
328
335
325
329
232
334
274
398
292
300
388
308
213
215
371
265
349
429
324
287
330
281
327
255
291
342
359
232
247
351
254
321
283
275
354
319
318
299
207
324
206
244
310
337
314
291
240
290
280
313
306
348
285
302
380
331
333
360
364
327
250
276
314
305
397
334
352
297
288
353
270
255
276
399
351
325
255
323
239
262
272
272
400
265
391
290
279
273
264
366
342
299
413
329
209
293
311
315
336
327
284
329
370
424
286
285
293
333
339
383
310
338
335
399
323
282
313
353
289
295
300
361
328
337
332
393
330
252
321
317
365
229
355
314
341
300
377
284
299
291
338
376
302
262
336
345
282
308
286
322
320
350
323
278
355
339
270
323
320
362
265
390
330
310
298
369
301
341
285
330
264
385
318
409
279
295
282
298
237
275
276
257
300
338
418
287
279
371
337
328
397
268
265
336
236
373
345
315
286
416
279
343
293
321
321
222
295
337
352
234
305
280
313
320
332
308
327
374
289
337
314
314
318
316
323
336
328
340
299
387
271
305
265
400
347
268
252
372
272
306
308
336
312
359
413
342
313
298
335
316
344
293
300
376
267
322
272
323
241
284
318
342
293
189
293
296
324
383
394
334
322
295
281
274
277
279
315
337
331
291
405
285
310
372
250
288
352
348
360
277
285
375
346
388
384
280
352
306
292
369
346
349
295
313
278
348
406
369
227
338
321
253
309
252
300
224
339
284
329
331
255
340
289
317
332
293
301
319
247
229
301
275
337
327
316
387
237
352
301
296
343
285
259
262
330
292
201
308
383
304
313
384
274
313
298
392
335
325
299
264
290
332
307
233
342
227
276
345
345
391
349
346
269
227
304
411
351
274
336
338
365
349
289
347
302
394
317
325
350
274
343
328
387
288
360
298
286
355
345
304
356
368
249
325
335
260
356
275
235
360
312
368
358
353
318
259
327
289
294
220
288
388
358
373
386
324
347
302
262
336
329
319
276
330
288
245
330
231
343
326
305
353
280
385
306
275
338
316
337
310
362
319
328
336
326
378
309
369
398
315
319
309
342
295
239
338
362
280
245
300
390
365
237
357
335
290
348
389
277
309
249
235
297
260
264
251
359
379
269
368
296
325
311
376
348
290
307
326
274
313
253
260
313
335
350
295
324
369
217
242
408
315
383
227
340
326
287
386
229
354
356
289
349
361
322
314
354
333
347
346
236
361
296
297
382
347
202
339
307
273
340
318
339
271
286
378
306
342
300
320
314
352
334
286
321
303
316
226
293
352
343
316
321
351
212
325
326
321
337
334
350
237
366
351
303
338
332
324
329
307
339
387
358
280
285
308
350
337
350
271
314
371
357
274
261
247
343
331
313
363
306
352
310
254
293
310
353
320
386
311
250
290
395
284
357
312
343
232
359
358
326
315
423
333
308
299
299
317
310
346
302
294
293
342
296
310
314
241
247
272
312
302
261
305
324
305
284
307
280
230
382
341
318
391
414
283
396
218
344
315
293
296
357
332
368
315
371
277
317
304
343
326
316
416
329
239
361
359
293
330
280
278
289
334
330
321
382
293
308
265
357
291
305
308
294
321
310
355
307
243
325
330
282
371
305
384
393
310
373
351
257
340
348
366
300
339
351
382
340
330
373
313
283
333
315
358
274
300
341
332
250
381
291
370
379
351
285
283
273
307
225
327
321
278
376
274
332
318
351
381
319
388
313
377
297
317
286
290
339
328
369
205
342
336
349
398
317
278
293
237
339
330
334
229
250
237
305
217
265
317
264
391
321
341
364
278
320
314
342
250
324
362
337
285
318
328
294
259
261
406
331
390
293
257
277
271
279
289
301
419
354
349
354
301
343
298
307
285
248
281
320
347
410
358
271
244
352
297
301
286
310
351
220
344
247
340
285
343
330
316
359
332
231
265
304
377
288
351
316
302
328
324
379
387
398
295
313
303
319
321
321
360
252
283
294
374
276
321
308
305
333
277
356
320
323
398
251
341
269
311
357
349
273
248
285
360
376
225
287
284
327
376
320
370
296
312
375
323
341
321
384
311
328
377
295
386
374
294
333
284
287
311
317
345
358
349
365
285
307
457
348
300
258
313
308
238
295
309
323
354
295
338
256
363
300
341
417
311
329
267
350
375
364
327
281
268
388
351
347
271
304
378
305
354
365
276
204
339
399
379
284
212
298
363
255
289
302
322
353
273
321
321
343
371
318
364
322
298
399
313
340
301
355
335
366
294
312
319
296
294
358
310
262
373
313
326
355
388
319
272
291
246
258
355
331
299
268
396
382
241
354
395
323
344
261
323
303
313
240
285
340
325
353
253
283
321
327
312
270
361
361
292
240
304
314
320
315
284
250
279
374
311
279
323
283
249
305
302
353
319
331
308
346
354
311
203
298
300
293
281
289
293
354
333
339
367
259
322
338
275
247
278
292
346
260
319
299
324
390
246
264
316
376
323
325
242
333
306
232
258
257
386
371
364
323
314
331
312
293
344
363
275
231
355
272
353
419
363
384
274
352
242
340
326
304
357
273
314
230
350
266
339
395
292
402
363
323
395
423
330
324
329
250
295
399
352
397
373
357
360
351
324
375
243
312
284
368
290
255
223
329
270
314
286
254
353
343
272
366
308
282
283
361
303
296
258
337
345
325
264
324
277
296
345
296
265
257
373
359
242
307
309
278
390
307
346
366
297
230
335
322
289
286
327
399
356
298
369
279
326
323
310
309
335
339
333
319
248
373
361
300
399
329
357
283
263
315
325
308
281
291
254
290
363
331
313
354
318
361
332
300
343
291
319
326
356
288
296
203
348
277
250
231
245
284
286
316
274
386
288
279
316
314
345
392
227
363
269
336
260
418
370
331
380
349
386
402
307
283
309
324
297
208
227
355
281
347
331
327
323
282
417
261
287
333
289
363
338
311
273
256
363
263
282
329
319
303
231
311
285
345
298
270
350
290
343
349
294
339
305
262
276
347
349
367
288
240
278
412
317
307
215
267
240
315
276
257
342
279
246
356
397
368
309
402
309
264
284
383
330
318
301
289
268
392
296
342
286
236
304
385
324
315
370
303
366
344
331
298
327
281
364
351
293
355
288
303
301
382
287
312
313
392
284
296
239
308
412
300
325
306
376
265
322
324
257
399
296
280
323
282
307
312
294
269
310
301
285
384
307
263
314
250
389
310
305
347
318
308
309
299
290
363
270
305
384
354
301
323
317
389
288
366
346
312
270
343
310
263
285
367
271
276
302
311
330
373
267
364
277
328
273
361
288
271
293
336
277
252
279
286
334
303
321
410
343
226
357
296
339
392
352
374
324
273
291
354
367
282
330
338
351
340
354
344
381
296
363
332
328
374
423
316
298
338
303
351
342
350
273
271
297
312
352
328
270
366
372
270
348
348
327
398
248
320
263
259
274
326
287
333
302
342
253
236
383
297
299
372
389
358
235
224
412
321
266
303
234
309
308
366
342
306
311
361
231
276
301
349
343
338
391
347
311
258
395
305
269
394
296
327
246
318
353
298
297
243
356
220
365
275
312
403
304
278
370
369
386
265
330
315
226
369
300
226
395
356
254
337
317
317
302
315
295
289
332
421
301
343
282
352
213
319
294
360
310
301
246
411
352
300
278
289
369
335
253
360
291
337
392
363
360
312
315
361
341
315
333
422
255
311
375
310
267
353
325
240
312
349
292
333
324
310
322
318
327
328
257
336
310
284
300
296
303
352
293
380
316
292
314
401
365
285
329
273
309
295
296
312
362
325
393
383
324
332
329
377
361
363
327
247
386
227
296
341
351
389
293
327
342
266
358
304
330
332
362
297
311
272
383
331
314
282
297
354
271
273
265
226
256
371
338
242
323
258
219
288
270
387
296
289
253
277
274
315
300
256
280
357
354
369
344
321
247
288
379
306
335
278
289
281
373
412
358
310
348
395
356
287
340
334
367
208
302
316
303
291
342
199
232
333
292
333
258
275
341
395
310
210
248
238
283
367
297
268
366
342
364
300
307
267
315
299
390
329
249
287
199
322
322
264
298
295
339
366
360
386
263
267
270
248
380
252
311
373
353
367
329
274
335
307
371
335
272
319
273
349
417
282
335
276
224
334
384
344
296
290
209
401
337
315
331
293
292
267
235
396
389
318
376
247
346
237
331
322
295
391
352
235
350
241
327
292
239
261
329
359
287
316
291
312
339
296
385
334
293
339
365
326
332
321
320
351
331
436
295
323
233
253
319
402
271
391
330
416
355
366
353
319
278
185
349
276
357
358
331
343
317
348
334
264
322
323
335
309
445
316
378
275
388
308
326
272
311
273
240
368
341
262
273
285
332
409
341
307
247
314
286
329
321
211
370
320
284
284
370
287
335
266
433
372
286
323
290
305
302
388
391
261
354
288
385
331
327
383
271
350
279
327
280
316
276
301
359
317
282
340
397
347
292
246
272
296
319
361
215
377
320
329
290
291
395
251
218
296
300
371
311
230
271
295
374
271
310
298
422
356
338
378
303
292
334
265
362
289
257
296
321
326
249
339
336
308
397
334
255
418
368
331
343
371
291
329
285
303
266
275
314
286
305
326
177
381
348
296
306
378
311
277
373
346
368
288
314
394
327
300
281
298
291
285
332
271
340
252
346
277
399
287
306
275
284
209
331
206
303
295
278
400
333
251
309
350
357
310
225
312
387
327
308
284
266
319
299
290
288
300
281
293
401
350
279
397
347
346
268
251
283
364
219
388
394
352
211
280
417
311
370
365
312
383
380
292
328
342
373
302
334
276
249
381
331
300
313
319
330
354
282
290
259
240
296
327
261
353
211
254
319
376
238
287
366
410
336
367
300
338
282
294
340
290
347
295
371
295
364
271
370
388
328
282
314
330
359
380
327
264
276
259
343
252
270
309
300
262
298
319
324
322
279
356
294
321
328
314
386
290
316
355
360
312
286
314
292
309
365
294
298
369
366
311
279
375
253
313
365
304
216
376
287
321
315
281
378
313
317
411
348
421
304
376
371
353
325
327
265
225
399
336
372
324
339
324
323
322
322
285
304
301
350
366
286
297
338
320
260
346
399
268
287
294
331
266
271
379
284
256
349
359
371
297
314
299
348
299
355
336
385
279
341
347
287
393
396
391
272
317
352
350
266
380
295
235
358
330
322
314
377
314
330
262
314
320
272
284
400
382
236
349
267
312
272
253
262
210
351
239
333
248
319
346
352
367
349
358
326
352
324
365
284
290
260
271
319
369
291
258
281
274
245
341
314
332
400
345
319
291
381
296
304
279
311
351
348
363
313
265
290
393
334
360
333
297
333
294
297
281
305
319
339
362
322
403
311
286
325
348
321
341
295
262
316
280
393
328
418
295
297
252
335
321
300
323
295
275
302
361
281
261
338
293
361
308
246
361
300
368
341
358
329
342
347
330
364
320
305
280
373
362
307
254
201
257
231
353
307
339
283
360
397
335
306
266
348
258
371
377
364
326
325
326
240
281
247
317
304
339
317
326
339
308
316
291
344
299
280
332
284
349
179
326
357
346
448
271
339
292
308
276
280
358
278
267
274
331
252
349
346
315
367
290
280
302
262
244
346
311
244
301
385
329
351
260
338
278
259
243
342
398
343
225
259
331
372
367
423
336
448
191
307
324
298
353
333
331
306
352
304
390
270
285
319
293
342
237
295
249
334
331
283
274
269
231
375
327
386
317
353
369
340
365
316
294
381
326
196
284
314
340
297
311
268
309
353
394
265
365
373
337
366
291
337
282
347
303
290
255
367
294
349
330
271
284
266
287
246
327
380
328
362
263
245
340
305
344
274
328
289
340
346
328
275
330
237
196
338
335
357
197
326
282
371
201
358
328
312
337
312
368
290
365
249
362
356
376
322
348
319
348
370
360
315
381
325
334
328
330
331
343
302
255
352
321
366
325
359
211
311
287
281
260
321
323
261
329
358
291
269
413
297
318
188
319
298
347
338
303
296
372
286
296
359
320
348
268
290
270
396
351
351
266
290
317
272
359
298
376
265
354
379
288
355
347
330
282
328
400
302
342
284
302
358
290
360
253
257
269
303
216
346
316
312
297
377
256
367
315
341
339
332
319
308
298
216
392
373
226
357
300
307
274
329
231
267
304
253
291
302
283
360
295
236
273
336
393
313
333
329
330
305
320
283
306
371
323
338
327
303
329
325
294
363
334
299
322
365
338
325
202
346
307
273
340
306
315
268
270
354
365
288
294
205
349
327
292
378
306
250
349
377
321
343
366
354
281
294
378
307
291
321
278
305
291
316
333
298
287
320
362
310
252
326
317
309
377
329
358
263
343
326
307
349
378
388
353
370
296
285
332
314
292
304
372
355
266
303
316
387
322
237
349
292
271
283
332
366
281
240
357
225
313
364
322
298
278
352
263
308
274
316
323
362
346
314
273
321
285
347
320
336
305
240
357
369
347
278
340
277
270
340
247
351
296
305
309
284
311
357
304
385
361
333
261
333
308
333
285
257
377
299
297
348
206
431
273
322
331
269
349
337
247
339
292
268
362
309
264
337
299
381
301
286
312
309
341
304
300
306
283
340
250
278
290
344
400
378
283
305
355
379
336
308
235
265
320
296
337
280
349
341
339
253
255
244
259
273
260
268
343
334
246
368
318
292
267
308
277
291
335
260
265
306
318
234
297
299
253
376
357
276
294
295
422
345
321
277
305
325
306
306
239
441
338
345
388
324
292
285
373
324
379
314
242
266
302
335
332
354
317
318
353
343
368
330
240
409
314
369
222
348
266
320
231
274
303
244
260
240
263
333
319
331
402
313
335
328
287
409
303
351
285
388
296
322
359
327
329
299
293
273
395
278
308
298
300
329
372
333
426
377
284
231
308
266
279
334
282
283
266
337
313
291
328
328
290
379
338
341
345
246
294
290
267
364
259
218
341
329
250
302
365
351
330
354
375
273
310
262
300
355
383
307
211
335
386
341
355
286
350
381
330
224
311
323
232
310
383
184
322
254
311
373
265
295
198
424
376
312
270
318
326
338
253
323
315
357
318
325
281
272
343
294
353
300
259
300
321
276
347
377
300
346
338
275
350
248
320
373
322
342
323
363
378
358
296
336
199
255
339
283
285
313
287
280
376
362
359
358
291
340
303
339
315
277
388
388
340
301
271
362
312
228
249
399
300
359
316
276
371
342
385
333
378
309
249
311
300
349
287
282
206
357
326
340
287
289
342
295
345
343
327
285
311
391
328
388
292
273
363
369
261
294
342
301
342
325
292
298
313
432
291
350
317
351
230
294
364
270
332
309
317
279
266
329
312
270
327
266
285
314
275
259
345
259
336
346
239
292
282
280
319
245
349
319
288
287
291
377
285
327
300
299
313
275
307
296
331
208
302
337
250
238
315
335
230
397
376
304
312
290
388
365
278
240
342
256
329
312
334
321
332
301
277
268
372
311
268
351
342
286
323
392
284
323
225
367
286
358
259
296
303
313
321
323
355
334
303
349
351
306
349
371
291
346
299
247
231
361
247
335
310
401
320
250
332
253
365
335
322
336
228
280
347
320
276
260
393
350
385
293
299
302
377
367
260
346
237
330
325
353
211
355
364
256
228
264
315
284
318
328
387
326
342
309
331
310
247
309
282
390
290
331
286
322
351
328
282
286
360
261
358
277
345
390
270
292
235
374
327
275
366
328
304
334
352
300
291
252
226
378
247
374
338
286
364
282
256
323
283
335
303
244
361
271
310
353
304
346
409
400
220
231
382
267
344
227
326
294
380
251
377
370
317
419
341
284
311
327
330
309
236
266
299
294
318
221
354
326
337
358
218
330
357
340
280
320
318
313
312
252
296
293
295
305
306
302
313
239
333
384
367
388
302
292
326
312
273
347
329
355
320
293
369
316
306
287
310
336
320
331
363
326
350
273
380
282
258
261
268
264
312
259
328
297
243
294
218
316
215
277
364
438
322
297
297
354
300
205
352
362
318
249
256
344
334
295
291
381
286
322
351
363
326
248
343
298
324
353
252
295
377
299
250
311
317
323
246
268
306
363
298
392
377
375
358
308
333
271
267
319
246
351
333
324
318
273
256
341
289
289
379
326
315
319
341
390
263
343
304
418
326
334
301
338
340
310
338
366
366
350
285
294
255
301
307
362
341
259
330
279
310
297
319
294
332
253
268
334
286
291
316
285
317
311
268
331
334
259
334
363
280
253
300
262
370
392
335
283
316
242
378
375
214
292
283
355
290
269
244
337
323
296
312
404
364
322
345
308
328
371
346
312
325
385
300
281
279
351
184
389
286
284
354
259
354
296
365
351
291
270
398
363
336
285
272
323
249
325
332
311
343
288
336
302
364
253
284
423
288
393
317
266
274
324
324
355
323
374
263
249
334
310
252
234
373
287
351
274
309
285
281
262
317
333
345
395
275
297
327
304
327
296
344
324
316
287
291
262
379
226
353
325
366
392
284
295
312
309
361
293
270
331
402
359
317
351
330
316
339
346
341
301
326
350
254
319
323
290
351
331
256
277
331
302
274
283
346
292
266
324
377
257
390
291
355
364
249
358
278
269
333
267
312
383
333
308
390
307
322
266
393
328
331
361
317
328
344
250
369
358
301
290
303
349
405
324
309
372
253
289
344
282
285
314
249
239
228
320
338
350
293
279
248
371
313
289
389
368
267
297
264
373
234
310
330
284
263
330
350
283
313
302
306
290
364
314
295
374
296
232
408
298
353
326
322
318
253
306
365
311
276
314
357
285
281
420
352
317
301
307
295
328
300
324
295
260
310
272
244
343
317
327
295
404
307
311
307
356
342
311
278
320
328
356
288
255
209
337
285
242
308
377
290
330
292
241
222
405
306
340
327
270
302
376
280
289
219
316
327
296
305
236
314
337
230
299
332
269
350
382
321
331
295
349
281
384
348
319
280
222
337
318
343
339
392
380
287
360
321
364
239
287
333
349
292
252
287
308
281
379
283
316
271
270
259
358
335
335
282
316
286
251
346
255
369
266
303
275
324
288
310
344
358
222
279
292
345
306
303
360
319
299
267
296
375
287
356
250
289
220
344
323
297
332
321
328
342
268
194
299
373
342
275
278
383
288
285
368
303
264
271
251
289
260
282
303
295
370
254
266
341
318
324
372
278
428
314
268
346
312
286
296
332
358
294
369
365
289
319
245
347
309
391
270
306
272
333
386
315
384
363
320
350
341
352
276
298
338
354
311
287
354
323
350
306
377
241
339
310
314
259
342
206
352
308
309
242
374
355
236
343
376
329
353
293
303
222
322
313
315
356
309
373
268
357
331
323
402
288
410
316
295
263
332
330
285
414
332
230
326
323
384
327
278
272
334
305
265
361
324
261
351
239
239
234
343
319
404
278
356
290
344
342
380
311
293
268
321
302
303
388
291
319
310
316
295
375
243
379
317
279
321
384
346
280
344
298
298
371
317
320
335
365
312
330
373
290
350
351
293
293
281
243
180
389
257
307
259
340
350
336
394
343
296
323
254
349
310
370
273
275
294
356
390
354
237
301
393
377
340
391
204
322
361
305
336
330
317
385
286
288
310
259
346
360
267
252
296
245
270
293
358
399
243
314
311
256
381
336
363
323
386
328
319
267
307
343
351
369
354
316
298
343
366
352
357
313
358
296
335
311
336
288
384
317
321
316
243
267
390
409
387
316
259
316
306
260
290
406
298
370
423
247
320
287
281
295
367
334
249
345
363
314
337
313
307
329
251
403
354
385
361
365
313
309
310
336
308
278
373
279
277
246
365
339
374
278
288
353
323
274
318
318
359
268
255
289
374
357
294
256
290
282
253
321
358
310
310
401
339
263
237
281
321
274
347
349
258
308
315
282
334
339
308
301
325
232
334
345
282
314
246
314
276
246
375
353
307
249
284
313
371
397
331
311
257
332
325
371
287
355
278
242
305
314
274
308
370
376
305
364
282
308
308
291
386
359
339
252
271
371
333
262
315
387
335
273
221
322
298
258
346
251
328
266
262
320
306
222
322
315
337
370
354
403
289
327
303
296
350
342
313
281
254
369
322
380
331
323
349
210
318
269
306
284
352
321
348
367
395
313
293
316
239
342
284
396
292
268
297
405
302
322
280
363
314
273
391
260
336
304
276
258
324
329
243
365
356
262
313
313
281
361
268
339
286
282
296
337
353
309
254
355
290
331
315
340
379
232
292
212
301
273
303
272
269
329
349
367
280
283
386
279
378
324
336
371
252
315
328
301
291
387
357
351
277
352
344
282
357
384
276
332
355
242
332
325
323
366
327
434
311
380
312
263
292
386
298
345
348
251
290
357
306
313
300
351
257
248
370
265
279
341
284
335
294
318
248
278
215
323
331
297
337
359
272
340
399
323
320
412
259
312
318
267
318
253
298
171
356
317
329
331
329
289
293
273
339
261
336
337
396
338
286
261
407
258
317
311
281
315
334
338
281
326
299
293
332
417
412
248
392
290
244
272
353
330
285
271
297
275
266
151
300
330
296
341
286
298
319
272
350
289
351
286
381
275
276
347
255
281
303
216
381
303
348
356
340
298
339
321
345
259
245
325
317
327
238
253
310
314
333
370
267
301
238
297
305
357
272
329
397
317
317
286
359
311
325
288
243
342
222
300
338
265
304
357
403
364
316
307
351
267
244
357
332
205
232
314
335
341
326
269
299
343
305
323
262
333
333
222
317
328
351
323
271
279
219
379
291
345
290
324
390
250
329
273
341
296
306
298
264
292
350
400
388
334
289
346
279
324
298
352
359
290
321
382
337
230
390
255
303
217
351
373
323
346
374
219
350
252
175
306
276
312
353
301
350
337
260
261
318
365
312
301
375
344
235
368
337
344
283
342
290
369
298
349
275
397
335
211
364
315
340
190
342
317
322
318
319
364
361
334
321
321
340
338
308
341
328
348
326
308
286
281
299
324
361
314
278
333
292
331
266
297
382
335
399
278
301
375
314
339
368
372
332
346
311
409
325
265
235
340
337
294
376
301
407
316
209
301
378
314
332
354
350
388
353
295
293
328
360
279
375
357
320
436
350
383
300
337
388
333
331
262
289
315
302
303
372
362
305
292
324
292
385
328
340
305
273
396
307
339
208
318
313
291
319
347
285
254
408
332
369
274
372
362
324
331
390
307
320
310
282
199
337
334
333
304
260
282
373
353
294
255
284
375
257
352
305
307
273
346
394
249
359
330
297
277
314
324
376
321
371
323
316
371
360
282
384
371
356
256
279
293
294
274
380
258
382
377
341
328
338
293
305
313
415
316
370
310
326
256
298
228
374
347
295
332
313
292
310
258
325
276
403
357
402
308
289
230
254
367
296
357
337
298
350
360
230
351
309
188
385
234
331
329
328
290
281
376
302
345
361
257
332
253
326
413
351
238
371
346
276
286
327
292
256
223
297
338
261
343
400
306
297
282
357
277
362
293
288
276
314
342
258
319
342
353
336
269
296
367
301
337
362
296
314
306
270
311
367
296
264
250
278
257
290
273
264
356
283
334
308
272
321
292
269
300
306
273
338
278
360
249
309
358
298
337
363
272
244
245
341
292
368
235
308
342
271
320
304
257
418
305
344
239
360
226
342
314
212
324
349
311
414
334
318
301
284
336
306
280
276
238
298
330
301
347
317
266
314
276
352
365
370
267
342
286
281
346
323
372
391
301
221
345
268
335
368
352
356
365
285
357
318
346
284
371
350
340
362
386
334
368
333
347
272
341
370
296
347
348
340
364
365
354
266
341
265
274
312
315
361
310
231
312
330
331
304
323
297
247
262
395
296
397
330
306
290
287
337
247
378
292
237
304
282
263
235
381
294
374
278
237
341
440
374
259
357
274
290
229
324
307
317
374
408
391
417
430
326
261
304
299
355
249
284
367
278
251
334
326
351
280
255
309
277
325
289
329
253
295
308
263
318
250
306
314
356
298
271
376
272
370
319
298
291
321
313
326
244
279
366
271
292
322
303
328
242
303
233
413
364
246
349
309
353
375
224
294
293
380
407
253
270
279
279
333
289
294
317
339
277
246
244
222
320
321
371
340
297
345
383
379
313
351
243
313
298
266
213
295
370
334
301
193
312
334
312
344
318
390
389
378
311
235
327
302
241
301
268
365
253
297
276
278
307
377
385
270
267
344
342
248
324
345
330
317
279
360
246
270
317
298
326
339
312
341
254
352
361
354
340
291
367
262
244
304
321
258
370
339
261
401
314
333
286
284
316
383
321
245
344
360
286
331
263
322
311
369
260
346
318
367
337
213
397
347
357
280
337
334
263
318
338
346
276
321
291
339
293
281
305
323
275
243
325
342
389
268
338
308
351
309
332
345
337
329
356
248
332
253
356
393
223
258
248
306
306
234
336
333
261
425
322
376
306
345
437
216
298
216
350
295
378
321
370
257
324
365
341
278
333
363
301
318
306
323
281
347
363
377
310
415
335
327
290
358
317
362
284
234
286
297
367
317
278
254
233
267
304
334
289
303
324
328
376
292
299
350
207
336
329
229
367
354
342
297
272
312
315
300
325
328
317
381
229
364
345
263
309
326
317
213
337
282
313
386
326
316
282
310
334
277
293
328
303
347
311
345
240
250
260
249
282
355
400
267
316
329
298
273
318
343
296
393
320
374
327
338
352
226
327
416
336
263
298
352
285
392
195
292
324
355
363
354
250
292
327
321
347
245
332
296
316
287
279
279
356
328
297
297
395
315
343
310
334
301
395
395
313
357
287
371
358
373
280
322
333
295
309
366
256
340
261
359
314
337
295
302
402
204
257
370
350
389
333
336
290
326
383
365
279
320
375
371
203
300
320
362
356
295
386
264
396
302
274
322
404
229
318
267
339
292
289
320
301
378
278
292
380
310
353
329
316
298
336
378
303
321
257
320
314
369
299
340
296
359
256
359
251
264
260
293
360
296
360
263
294
259
312
304
315
377
325
334
357
302
271
271
335
363
370
404
275
309
389
304
335
315
369
365
291
339
396
293
303
346
302
307
373
356
334
377
346
347
368
235
323
314
292
272
362
344
345
254
323
274
338
358
319
288
296
292
343
343
379
344
283
297
227
288
357
277
357
312
348
369
317
270
347
320
273
381
370
252
293
323
278
345
338
284
330
246
324
260
166
295
327
360
309
370
258
343
402
298
239
274
215
304
291
345
258
379
405
217
303
250
315
277
346
284
337
220
353
394
262
311
412
295
369
269
398
289
283
388
201
315
328
331
390
318
285
332
240
330
307
314
304
321
315
248
252
329
276
274
360
316
360
330
343
335
327
333
364
247
274
264
304
346
332
351
365
354
354
334
304
280
348
336
396
311
320
352
401
233
311
318
371
357
345
342
260
348
356
293
380
393
409
278
314
334
284
305
305
307
342
291
337
309
324
302
253
301
367
328
275
329
254
308
332
341
342
339
323
315
289
345
296
279
308
365
317
295
368
320
302
292
388
328
323
309
287
365
267
329
289
277
377
351
316
276
252
317
296
379
317
269
270
235
329
274
359
345
242
292
246
284
322
261
267
340
334
306
231
281
322
273
372
314
324
289
321
347
311
375
319
281
331
267
327
357
219
298
289
377
346
374
281
265
308
238
346
280
220
331
385
273
316
310
202
382
310
322
341
278
369
288
334
247
324
317
338
345
307
332
274
287
327
385
311
299
275
335
285
340
200
385
322
283
346
318
346
316
336
302
319
377
302
284
361
343
342
326
262
360
361
300
351
361
324
312
251
342
371
342
241
272
332
339
265
325
233
328
316
340
290
255
304
344
301
301
313
379
286
375
295
306
231
258
272
230
293
340
289
338
376
374
255
335
286
223
318
231
437
347
270
357
313
363
351
265
300
329
381
315
345
389
358
318
290
391
327
325
349
320
389
299
310
314
371
385
285
289
336
293
256
356
316
302
376
318
302
311
252
248
291
264
287
304
302
372
298
224
313
370
321
281
310
321
301
365
316
355
246
347
300
309
434
376
306
378
302
341
288
365
317
308
257
368
325
308
308
317
328
297
302
251
339
227
359
309
238
294
292
376
314
272
234
299
319
311
261
274
317
294
265
288
379
309
340
381
248
362
264
276
291
268
197
274
317
315
313
280
373
460
317
312
355
354
323
396
348
315
233
249
296
344
338
327
382
285
302
252
279
340
334
310
386
323
316
297
301
340
305
235
347
363
298
293
354
309
270
370
330
370
296
317
273
325
310
296
317
331
328
366
300
255
323
268
286
305
267
259
319
310
352
316
279
329
383
280
357
303
331
262
342
320
286
322
256
321
293
294
332
383
304
331
311
249
338
275
330
361
299
337
376
374
379
345
258
379
383
315
334
316
300
331
300
324
323
271
346
226
269
196
359
313
300
313
244
336
361
304
325
337
377
364
330
284
410
238
283
306
287
404
282
272
233
296
217
296
312
309
315
378
319
316
301
287
411
317
276
339
261
270
290
286
344
314
224
327
275
331
268
348
360
317
294
306
403
331
294
341
322
312
272
327
319
329
313
233
347
242
338
322
441
350
278
313
219
279
345
379
294
361
296
266
338
349
296
332
288
323
401
264
311
229
404
328
383
318
302
244
335
370
333
350
383
343
334
334
311
254
256
380
374
320
392
317
307
376
368
327
382
297
308
350
381
319
309
312
231
206
283
296
383
205
321
283
234
260
302
292
418
289
331
349
322
371
317
254
349
307
376
238
270
287
302
275
278
236
302
334
304
389
341
318
334
345
368
280
342
283
336
350
333
319
324
264
307
341
234
336
242
283
318
308
306
258
294
303
360
338
389
354
345
291
360
321
210
317
309
348
271
307
403
378
400
278
333
243
282
341
361
241
312
326
280
298
377
282
345
363
239
266
328
342
297
283
331
369
320
376
377
302
340
391
276
327
343
330
295
316
342
398
244
324
237
201
355
326
308
290
345
335
239
352
274
318
363
334
294
308
347
308
348
331
371
259
253
322
332
331
333
310
299
349
279
305
284
335
321
261
311
256
277
342
359
269
314
330
337
323
292
309
281
246
372
405
387
272
314
260
276
431
281
294
297
266
296
333
281
286
318
311
340
395
266
282
310
344
315
258
280
280
266
271
289
345
360
247
235
329
311
275
269
247
298
398
310
345
255
327
298
293
361
403
301
408
391
366
341
261
364
290
338
356
299
327
388
251
291
382
246
273
297
278
315
337
298
300
345
188
298
287
326
270
287
334
356
348
333
280
383
312
296
365
351
301
306
187
350
328
330
330
325
351
327
361
283
255
281
335
347
233
300
342
334
456
304
385
279
420
358
260
240
298
341
360
369
348
284
362
374
341
286
344
410
300
366
320
296
363
389
304
351
258
323
264
288
287
295
237
303
397
355
342
384
299
333
325
267
297
268
340
254
278
342
341
354
292
412
335
293
333
328
305
346
284
343
321
307
373
348
336
196
218
384
327
370
289
204
326
231
264
297
360
298
301
375
332
334
316
271
294
286
327
329
304
286
231
352
271
285
265
321
385
459
222
324
230
302
263
358
360
308
316
358
336
352
306
348
373
326
358
271
337
348
288
275
300
213
351
388
285
316
309
365
396
273
340
341
353
364
329
367
342
323
389
389
274
355
320
328
306
271
336
333
360
302
289
283
372
279
307
283
383
256
255
258
249
358
325
309
307
316
329
302
325
254
272
359
364
332
352
374
301
310
223
328
313
305
403
284
328
333
281
346
292
296
299
367
292
311
392
295
255
341
286
327
330
238
318
363
298
370
324
290
339
317
352
277
281
281
309
262
256
355
337
353
282
338
309
289
292
288
319
273
333
373
324
242
249
368
323
298
355
374
350
237
328
328
281
291
365
305
332
347
343
363
287
408
327
317
370
336
278
343
392
359
317
238
351
270
269
292
330
264
257
316
254
334
330
263
410
334
275
356
354
293
317
351
365
346
351
160
295
284
203
341
290
340
337
253
334
334
275
309
353
272
169
259
364
304
341
358
383
346
435
319
327
266
265
248
317
320
307
287
327
290
278
291
277
328
283
328
196
295
280
233
309
273
354
254
327
325
316
276
307
358
300
352
293
349
368
325
296
335
347
273
257
309
331
365
270
274
285
252
280
325
273
396
303
295
334
271
387
381
306
354
241
345
279
224
321
293
326
247
328
219
263
222
285
305
363
312
271
392
296
371
358
330
405
307
344
349
289
203
267
251
278
256
288
303
319
276
310
264
257
299
392
203
298
329
363
345
323
288
310
330
360
276
406
293
333
345
295
288
301
331
399
270
320
377
274
391
286
236
270
336
288
250
244
336
308
329
336
239
333
294
373
335
283
262
297
288
288
317
367
345
275
258
332
373
387
294
330
326
358
334
394
314
293
347
286
311
318
348
269
311
285
313
304
316
268
359
379
355
288
336
345
298
355
311
354
289
317
249
361
286
326
275
253
274
254
241
260
252
396
358
268
277
378
299
275
275
251
323
281
343
364
261
338
346
318
328
313
313
284
320
327
349
275
333
295
362
297
268
339
373
349
242
314
308
341
223
308
343
253
299
363
281
401
302
312
341
253
251
271
368
320
340
294
294
318
304
321
315
394
285
321
276
328
304
340
339
291
341
276
300
297
295
307
384
307
304
237
320
293
307
354
288
375
359
305
321
335
274
352
252
366
325
328
327
229
393
305
342
293
318
334
303
361
326
264
264
264
326
230
390
312
285
283
336
296
287
303
246
266
358
384
325
291
322
236
287
374
291
373
277
311
355
375
331
304
283
339
358
274
286
341
300
265
352
345
322
327
301
300
339
319
368
293
313
365
295
318
205
311
320
310
331
321
243
340
400
162
338
281
202
384
265
340
267
397
334
361
346
287
237
340
324
265
328
266
320
311
329
261
323
234
358
324
300
316
300
319
356
346
292
277
371
297
282
341
281
260
380
378
347
327
360
291
273
351
322
336
292
343
321
330
310
234
336
356
347
301
405
357
359
304
371
386
306
291
306
345
260
333
315
240
279
317
331
258
252
226
298
298
265
344
259
364
243
330
431
321
286
307
223
317
359
331
327
312
313
292
360
353
376
302
268
277
333
262
295
361
312
252
208
261
333
275
391
302
299
286
344
334
407
329
317
349
404
265
400
344
311
359
392
346
351
272
332
319
220
334
269
376
328
352
296
375
348
276
261
257
307
294
305
262
383
351
367
306
314
320
348
349
238
308
283
217
350
312
405
323
301
322
290
303
268
258
297
330
195
352
287
326
321
297
323
333
315
313
303
285
362
236
262
354
248
391
299
338
332
159
306
297
315
278
276
334
293
223
347
227
323
351
312
305
270
310
316
333
257
303
299
311
326
333
278
347
357
350
338
386
345
311
311
252
365
205
278
336
309
262
277
370
263
266
289
337
283
353
354
249
226
247
354
376
338
281
312
391
309
294
243
305
378
285
334
242
329
328
296
364
280
339
344
311
364
258
335
254
292
304
322
294
289
373
300
370
336
350
389
267
308
274
233
311
285
343
240
357
276
241
296
247
354
250
357
267
365
254
250
270
294
352
267
353
235
328
228
276
236
293
287
264
290
325
312
296
345
325
364
309
286
278
320
305
233
347
352
418
360
358
292
331
311
296
322
251
320
217
275
353
348
320
313
376
296
320
280
320
396
372
275
336
256
321
239
315
321
330
282
188
329
313
290
321
363
304
359
331
350
245
252
290
299
347
330
364
393
280
340
290
253
314
318
323
281
340
298
279
318
252
310
271
281
295
268
257
281
359
323
342
322
333
322
301
349
359
326
371
304
348
382
357
402
346
262
325
312
371
238
369
296
345
352
328
378
364
285
391
345
308
339
359
341
334
271
271
358
354
403
291
387
266
295
324
359
285
283
348
263
219
361
293
348
299
275
342
331
285
334
303
307
286
359
208
366
234
278
335
371
353
259
320
275
331
341
324
280
315
345
274
316
387
284
284
345
345
353
320
281
259
320
291
306
236
354
219
314
373
300
317
365
330
308
340
280
262
277
436
293
296
301
276
318
278
296
319
355
320
329
346
354
299
364
350
349
303
308
312
328
333
443
371
253
281
285
344
306
338
294
361
359
325
323
354
225
322
313
300
268
317
288
289
302
281
377
323
233
347
334
259
318
343
358
374
308
268
319
303
330
286
234
330
265
379
328
359
322
355
310
358
328
282
300
396
383
283
171
262
313
282
339
319
277
289
266
315
395
253
360
298
330
227
290
288
308
326
311
351
273
289
295
365
349
319
455
347
305
288
286
341
343
342
332
365
335
305
253
310
329
422
276
284
333
326
316
269
328
305
310
365
282
277
326
288
316
365
308
296
276
307
197
359
410
331
284
314
316
310
266
333
327
366
287
309
347
322
307
379
192
325
415
292
259
286
228
332
350
272
338
311
347
288
358
357
358
244
301
260
234
309
247
324
268
258
372
249
337
322
362
351
260
396
269
297
355
380
334
359
379
322
340
241
334
347
277
348
374
358
302
308
386
286
324
362
277
332
272
309
299
357
282
312
327
361
366
337
313
317
240
357
280
283
322
282
352
380
427
418
351
347
327
330
363
369
282
324
267
328
323
356
311
331
276
273
309
356
346
347
249
285
344
373
316
297
259
274
354
296
275
315
275
297
346
234
357
278
337
340
277
317
350
402
345
245
279
312
307
352
397
428
331
342
316
300
303
229
319
341
279
390
359
304
310
290
370
360
368
315
260
355
370
359
268
305
347
306
356
306
315
236
298
358
314
276
277
227
310
319
340
290
345
381
357
279
341
392
351
362
307
343
260
325
375
292
351
283
348
350
311
374
335
278
273
287
325
296
300
326
337
266
315
267
299
279
226
301
345
316
389
253
357
320
297
324
331
170
268
385
354
342
326
217
315
319
342
319
332
285
306
285
337
338
364
367
381
301
434
318
320
359
278
352
333
342
304
248
274
285
267
347
314
306
284
314
363
247
343
320
325
325
241
382
393
278
270
352
267
279
343
305
334
348
346
373
330
339
327
316
307
329
305
277
189
259
257
308
289
257
236
261
345
338
322
322
233
303
222
299
347
357
423
303
299
278
252
303
321
290
295
337
350
335
280
346
382
370
335
389
389
381
255
324
318
299
299
292
311
239
248
291
311
302
313
223
374
403
333
370
272
333
360
327
293
304
325
361
264
272
221
283
358
363
302
220
328
291
352
280
340
364
336
325
345
297
263
350
341
375
355
327
334
350
255
306
349
342
253
344
398
363
403
278
299
312
367
323
290
317
304
306
346
236
343
258
304
304
275
427
325
382
334
271
313
259
373
269
218
316
387
212
274
289
345
280
301
291
289
329
291
283
330
270
292
310
305
242
367
320
301
357
252
334
272
402
357
353
338
296
352
341
298
399
337
384
408
316
376
365
408
334
297
283
360
270
311
222
299
364
259
367
313
285
303
291
329
196
326
346
356
357
338
236
301
269
344
366
352
279
345
356
359
322
370
264
224
242
347
260
406
311
308
272
285
328
364
335
322
331
367
280
365
355
244
272
209
361
327
188
276
287
341
296
243
329
269
300
276
357
268
253
289
236
405
314
296
301
400
323
327
385
384
414
317
359
194
282
290
292
390
344
277
339
301
191
308
286
371
203
396
381
340
306
256
282
301
208
316
299
314
305
322
351
364
237
335
311
317
413
240
293
221
268
228
301
239
362
342
226
267
301
288
291
413
304
316
307
295
254
410
295
315
316
336
366
314
359
344
324
331
356
338
295
327
321
266
384
292
405
249
327
315
338
278
349
264
343
383
329
370
326
272
277
210
329
357
261
320
330
239
288
300
335
333
367
345
327
361
358
288
298
306
301
215
377
359
290
344
371
311
354
260
321
363
350
325
259
263
285
406
288
329
314
282
301
333
334
296
281
255
296
341
358
329
355
372
299
313
363
351
353
293
275
335
272
309
278
268
295
350
313
337
272
290
208
302
377
315
366
314
287
309
404
353
320
321
283
264
300
326
250
237
272
393
325
304
334
385
354
323
322
334
325
373
352
328
240
340
398
226
316
252
282
268
247
380
337
383
327
304
250
270
280
370
397
269
348
301
254
377
395
380
327
295
325
382
304
354
312
345
285
321
263
384
266
368
311
368
314
285
287
336
302
376
218
266
300
299
342
259
346
343
314
303
268
258
319
306
319
352
291
318
299
289
283
326
327
345
267
322
272
351
291
260
391
357
370
333
334
354
271
312
293
355
349
315
276
262
282
318
272
329
319
266
301
269
277
312
261
326
264
322
320
353
293
318
337
316
304
309
234
311
362
373
300
327
288
413
315
320
396
368
356
362
284
328
338
329
333
281
257
361
330
347
358
244
308
334
309
325
278
304
304
256
298
363
336
355
357
272
380
352
304
332
319
300
310
318
286
237
313
325
350
277
355
287
331
341
341
286
257
291
432
251
363
328
369
320
296
296
376
363
240
341
273
303
375
266
258
285
375
273
385
316
294
304
318
369
341
351
259
331
330
291
308
377
360
298
326
336
257
356
261
388
341
320
295
257
280
300
366
232
325
302
398
228
381
400
372
320
324
347
341
296
371
437
270
345
340
333
387
327
404
243
280
285
377
318
292
259
234
215
349
228
260
319
313
304
339
331
368
290
322
358
276
230
235
333
329
303
366
322
265
343
344
356
364
246
306
308
343
274
223
226
253
226
420
350
357
253
326
340
318
305
348
350
350
364
292
381
280
352
284
307
383
392
296
335
347
313
321
336
151
320
375
223
293
332
339
317
258
305
230
295
292
290
273
392
387
406
293
460
306
281
265
276
333
336
305
330
374
275
202
292
294
327
340
254
313
382
218
349
346
345
247
386
260
309
364
277
318
356
286
262
308
305
313
329
325
213
282
302
300
191
280
315
271
378
298
377
348
269
334
293
339
390
278
304
224
284
330
435
344
259
355
307
318
308
328
388
288
317
349
241
362
256
303
318
307
291
294
347
241
288
379
292
340
360
323
366
341
341
234
362
322
304
380
330
355
362
383
388
311
286
347
306
227
304
320
287
343
346
281
253
236
263
327
343
257
282
319
359
404
328
292
371
353
235
412
404
342
301
355
383
325
316
339
298
240
287
356
292
342
327
194
289
364
313
389
256
309
250
291
332
326
201
272
361
341
217
268
279
308
300
306
315
194
321
309
371
282
332
359
334
363
395
358
357
270
355
290
217
276
314
349
265
362
333
365
362
278
231
336
345
283
318
325
300
322
340
361
354
330
319
319
318
325
420
248
362
295
341
304
321
331
313
329
325
234
311
272
285
363
364
286
375
336
337
262
239
339
382
347
256
311
290
311
268
368
340
399
253
283
252
340
324
323
363
380
254
316
383
344
296
432
311
253
354
353
268
382
344
340
356
368
390
295
307
240
265
376
310
321
311
292
345
313
302
295
314
274
296
292
302
356
342
301
221
308
332
365
265
348
337
349
333
305
334
303
342
359
307
330
300
375
335
352
344
319
306
347
418
277
261
340
336
287
218
262
276
362
292
310
306
326
245
267
355
332
420
313
329
382
330
270
355
344
334
290
274
268
344
349
291
279
336
329
259
356
241
320
332
289
347
336
366
267
311
415
310
315
359
202
268
300
216
320
282
308
326
339
283
279
288
310
290
378
358
394
398
323
334
297
360
267
299
327
301
236
365
302
297
276
357
325
287
291
298
232
279
344
287
402
332
312
433
338
352
420
282
338
235
314
306
283
360
291
390
266
340
271
222
273
301
331
332
289
370
348
299
336
320
360
238
315
345
291
225
323
291
407
313
356
331
304
343
301
367
274
307
386
369
278
322
326
356
336
296
288
275
418
300
319
366
288
316
375
306
337
367
336
244
324
232
340
358
286
321
346
337
328
313
357
250
380
313
353
328
309
320
294
319
344
293
323
280
426
301
299
311
307
337
225
389
314
339
436
312
261
273
338
316
244
348
309
367
303
324
314
264
265
343
329
274
245
352
307
360
339
281
325
335
290
280
338
321
301
309
339
323
260
309
348
284
315
355
305
291
361
314
281
320
303
354
334
303
286
340
363
326
302
241
294
331
321
352
324
231
351
289
376
263
348
325
196
307
318
350
371
282
333
359
265
313
305
352
384
434
251
287
255
342
338
320
298
336
444
380
315
351
242
338
279
348
201
344
375
299
299
325
315
296
356
335
349
298
363
234
256
292
260
326
343
317
390
287
343
272
333
315
323
342
357
303
288
270
293
333
299
375
243
318
320
287
257
305
369
283
303
358
248
285
259
313
297
323
294
285
330
305
277
305
291
364
331
287
379
307
309
307
268
281
346
274
352
355
373
326
401
318
301
319
307
338
299
275
371
369
323
330
322
326
340
362
347
277
324
367
270
254
319
286
295
258
278
316
282
278
241
378
330
330
266
285
258
409
317
302
402
265
259
332
354
284
277
449
366
328
343
289
346
306
312
352
336
272
300
356
336
306
326
359
388
248
295
329
287
308
186
328
377
338
278
349
340
317
308
331
270
311
217
283
363
266
297
331
327
323
306
321
266
388
277
306
274
290
304
324
316
340
322
324
337
282
294
386
328
282
317
321
354
324
353
321
279
347
333
281
318
280
329
393
376
293
339
325
268
317
322
302
324
352
245
299
325
370
381
385
334
236
221
418
250
229
346
326
315
259
277
318
206
209
357
257
263
323
309
322
257
331
269
321
330
271
265
361
337
360
293
347
360
350
286
328
345
296
283
304
287
231
259
411
281
266
296
326
277
294
323
275
313
297
316
372
304
308
300
377
392
277
282
310
322
331
312
355
275
329
358
355
374
276
430
265
320
348
317
232
307
264
231
345
398
284
330
254
406
301
211
259
259
327
266
322
323
351
319
311
315
287
362
193
347
292
292
323
251
352
244
324
389
278
283
210
336
328
296
236
260
309
335
429
257
366
246
259
341
317
346
297
330
317
338
348
316
274
353
307
247
310
323
335
307
277
273
348
285
349
355
285
242
242
335
370
368
295
298
366
250
314
349
379
295
210
260
319
365
266
214
307
365
374
305
277
349
313
306
343
362
287
328
339
300
315
347
306
293
263
300
273
272
264
291
283
371
274
390
302
217
328
221
358
262
266
303
301
262
275
313
380
384
326
356
320
346
296
265
303
244
280
306
387
335
353
336
295
321
254
318
321
343
336
346
381
296
247
269
329
244
345
322
205
332
335
259
311
362
308
266
329
281
299
291
299
350
356
290
283
375
363
369
309
331
357
260
291
238
302
357
375
342
278
251
355
359
361
266
297
288
285
284
248
373
390
345
303
359
313
321
282
366
216
333
272
354
385
298
332
320
250
300
355
385
331
335
308
311
398
275
301
295
282
273
289
325
261
286
283
323
303
320
378
299
320
365
223
357
264
292
318
248
293
252
242
220
324
385
332
269
323
222
348
330
251
300
316
325
279
377
332
294
219
238
262
241
326
287
356
324
265
353
356
300
328
261
337
326
327
329
277
325
324
298
283
286
338
286
314
326
370
321
317
283
268
287
252
371
312
343
395
265
326
279
287
308
277
333
337
306
341
267
342
342
316
363
294
338
322
389
313
371
336
346
340
378
274
308
354
343
227
321
278
270
356
369
404
244
298
292
311
288
273
322
382
277
328
355
323
326
358
355
324
337
289
328
328
334
251
348
352
408
407
330
379
304
366
374
259
284
358
368
310
355
333
287
367
379
325
317
331
353
297
343
272
213
288
229
311
333
339
396
315
248
346
321
398
288
244
289
373
281
298
324
364
321
373
361
255
291
223
263
325
279
211
236
305
331
299
226
372
397
393
354
286
297
362
255
289
357
414
375
326
352
236
324
304
280
356
329
308
299
223
295
280
189
272
248
380
331
323
356
345
326
355
354
368
417
341
286
290
360
365
353
321
349
315
276
351
269
303
358
395
309
233
319
267
362
309
308
315
334
321
262
301
329
283
348
334
285
343
334
308
306
384
271
351
292
337
231
301
291
337
375
318
364
306
324
304
251
249
328
261
279
271
376
310
374
281
367
325
272
322
281
286
352
407
408
357
259
284
342
319
295
401
333
295
377
278
315
327
246
395
303
332
250
342
334
273
356
351
315
359
292
296
270
264
258
340
257
353
284
284
360
305
334
297
320
294
358
317
322
355
336
317
252
237
267
351
376
302
290
378
283
301
341
323
360
284
320
337
255
321
377
294
268
266
267
314
317
355
275
274
310
301
361
372
317
353
255
266
281
360
294
337
325
245
312
333
273
281
280
280
347
320
323
271
282
319
325
373
254
235
282
367
403
302
281
308
278
351
366
385
308
245
316
350
265
373
356
253
324
335
298
268
278
280
366
283
328
292
345
369
392
323
328
412
294
237
328
263
372
258
320
275
363
291
306
391
298
364
331
291
335
244
390
301
408
325
418
354
283
338
288
290
292
265
263
299
321
351
303
246
342
323
360
299
341
387
283
351
348
252
174
304
342
317
354
241
346
286
287
359
327
323
267
324
435
241
307
311
321
339
371
304
239
344
315
293
311
260
378
341
321
365
265
375
359
257
369
347
290
250
360
290
303
324
273
280
356
282
308
327
346
366
253
340
291
357
252
289
226
319
340
282
313
217
322
379
274
346
389
320
277
335
229
304
280
385
352
351
332
345
381
362
273
366
325
338
327
354
280
340
237
225
293
245
339
332
323
256
328
276
289
303
197
308
294
350
316
316
327
279
317
305
335
355
367
311
318
347
299
391
314
263
282
312
339
288
331
360
353
377
257
375
255
320
377
329
275
333
354
285
272
341
361
289
359
361
367
344
305
411
350
286
348
348
307
399
295
305
269
283
300
292
326
361
322
403
317
299
346
344
318
276
356
254
357
281
340
287
279
306
355
329
328
251
320
317
372
376
297
326
299
375
270
336
276
256
333
269
269
286
394
264
363
289
226
394
329
335
321
351
300
264
286
336
264
280
389
331
306
306
252
302
375
245
304
349
265
318
210
276
298
311
357
323
299
351
253
324
325
335
314
344
340
350
286
362
298
328
402
335
332
427
308
285
390
259
299
289
429
350
331
246
292
303
245
284
358
303
305
269
283
281
346
297
380
264
231
273
232
263
388
297
369
289
428
259
411
339
316
318
326
357
284
324
319
317
348
329
347
369
277
306
343
294
306
381
226
276
365
316
369
378
277
373
426
263
267
353
333
374
298
280
317
282
334
287
312
304
344
331
286
317
299
285
336
337
356
344
328
333
280
393
319
397
324
354
297
339
291
247
274
280
357
371
344
301
369
289
299
279
383
293
308
308
281
431
264
277
300
241
374
257
237
260
280
377
314
360
296
351
339
374
342
287
393
359
268
233
405
316
351
250
251
298
343
367
314
327
348
279
307
291
339
324
290
322
358
289
250
326
354
383
326
299
320
326
368
252
374
319
367
338
309
294
357
306
273
299
337
377
245
366
272
420
284
270
402
301
255
407
369
335
401
300
289
317
386
328
293
301
363
380
315
246
298
277
305
275
305
340
256
271
393
312
370
387
366
287
302
323
312
301
341
350
393
321
242
360
307
275
356
370
193
328
423
381
335
296
333
379
342
427
405
320
297
223
279
342
319
237
268
282
361
287
330
230
346
321
312
238
336
402
367
237
216
205
329
329
261
293
321
255
289
338
343
294
323
347
311
291
354
306
376
339
303
339
330
326
303
338
352
302
321
238
285
317
354
390
294
335
283
348
340
287
337
269
428
289
326
382
315
320
365
406
373
349
170
275
332
304
406
379
271
321
349
245
301
376
218
311
383
304
343
308
359
260
361
328
292
276
347
251
278
303
246
303
356
376
345
229
361
273
377
305
339
355
382
289
281
388
281
307
319
257
384
300
283
330
361
296
381
318
361
383
308
251
376
296
234
327
213
283
319
257
373
350
294
367
279
291
363
322
377
327
293
270
277
429
340
385
321
322
292
281
342
337
349
338
312
295
230
349
321
338
308
388
420
375
239
400
370
231
278
285
402
363
269
307
277
311
312
247
364
260
366
210
325
248
233
323
313
286
248
362
330
360
320
347
271
334
306
371
327
352
345
285
318
280
362
342
368
309
341
268
332
343
312
304
277
287
313
329
342
274
282
256
334
305
201
307
311
362
270
234
327
308
358
312
454
309
304
355
381
296
405
206
317
385
301
272
241
289
324
244
247
289
335
305
330
261
367
410
382
282
316
323
311
332
280
272
290
200
355
344
310
350
280
327
335
359
210
316
269
399
289
337
387
278
357
376
354
334
334
312
344
347
358
369
322
397
287
286
326
277
317
314
360
320
338
299
304
383
286
331
278
320
248
316
341
290
301
361
385
327
342
343
286
343
344
298
341
273
326
251
370
283
306
291
288
337
353
249
394
377
324
254
365
256
386
368
396
268
324
333
310
278
376
352
250
394
246
286
326
343
250
294
293
222
199
272
366
280
268
281
389
355
339
339
374
322
286
350
253
363
310
308
226
388
227
287
319
369
407
231
320
336
233
325
379
349
270
347
324
321
238
333
261
341
346
324
264
262
303
318
258
413
326
343
390
328
340
358
329
314
261
239
262
387
419
311
265
336
351
267
273
289
265
280
319
399
256
351
309
349
290
261
389
374
252
314
294
388
316
323
363
289
259
362
402
300
382
408
227
339
266
356
314
292
352
403
309
355
244
306
318
328
286
286
283
325
266
263
341
239
381
327
297
261
349
348
259
288
334
362
312
309
407
281
356
306
312
249
272
333
390
314
314
356
325
396
363
357
284
308
273
338
331
354
386
330
267
329
309
354
325
337
223
238
265
279
334
313
337
346
326
370
312
374
305
444
299
291
235
213
337
280
337
320
325
321
356
305
293
342
262
278
357
306
296
290
285
236
317
292
352
273
326
248
259
253
339
359
306
284
320
364
281
307
267
335
251
294
386
232
404
311
319
344
317
245
399
363
259
350
331
274
245
352
361
269
310
318
346
342
272
332
279
332
342
266
350
348
354
345
334
358
271
314
323
292
341
354
358
325
291
281
289
344
364
304
338
229
348
339
399
321
286
318
278
293
255
289
306
293
394
335
326
285
343
304
395
345
306
268
339
340
297
219
347
328
334
291
361
336
272
320
312
323
399
272
315
357
275
323
302
319
248
331
273
268
252
280
284
356
363
365
333
350
240
280
282
292
338
335
348
371
275
274
391
373
309
357
342
333
319
276
346
325
354
377
374
254
250
341
261
317
358
308
325
352
303
284
334
265
365
334
325
365
354
368
317
267
353
265
290
349
305
289
323
246
359
328
323
356
298
353
313
359
263
350
350
274
284
302
273
335
362
320
279
315
343
323
298
341
320
251
274
286
226
373
267
331
317
338
393
254
272
308
224
266
262
291
315
322
310
255
296
228
349
311
350
350
336
374
267
335
264
301
304
325
215
397
310
318
295
325
349
381
314
303
316
271
349
241
254
309
269
320
270
291
321
355
354
279
263
307
382
342
292
243
310
297
353
342
336
330
326
365
368
342
372
344
306
316
354
271
351
348
355
335
364
274
288
295
370
349
305
313
302
374
271
369
201
340
317
299
391
407
356
362
295
299
328
362
371
352
394
343
386
316
345
215
351
300
327
268
355
267
319
399
352
255
389
346
337
266
314
169
265
289
286
303
360
299
363
372
353
309
283
264
380
385
360
292
306
367
339
289
332
309
318
344
339
317
299
373
310
306
312
351
367
351
328
271
403
246
338
344
379
331
270
243
260
300
316
322
349
286
317
396
326
388
309
376
261
349
364
400
327
328
333
371
342
244
348
258
368
417
233
389
327
280
303
367
256
365
306
236
278
274
368
227
326
277
345
352
236
263
298
321
348
304
317
416
282
407
375
353
247
293
351
300
327
351
298
271
334
344
236
326
357
215
352
367
273
303
268
264
301
318
419
238
304
348
264
261
385
227
283
320
312
394
231
259
337
326
354
387
263
335
365
309
297
358
345
397
325
282
314
295
267
326
290
350
310
281
314
358
314
333
346
346
336
221
256
295
295
268
298
359
347
316
308
272
375
266
261
341
295
246
319
340
299
237
349
288
278
314
288
312
327
363
371
278
309
340
322
309
304
291
320
388
303
301
347
259
335
350
309
359
434
385
280
294
346
342
277
293
298
338
322
360
373
288
320
285
311
288
217
385
302
313
336
303
309
199
315
376
359
345
318
344
268
292
285
330
358
314
294
241
348
299
359
289
403
361
257
284
355
360
256
316
236
286
356
301
267
276
345
392
258
380
311
371
247
271
380
341
292
302
310
337
309
292
300
274
245
392
289
257
307
293
292
279
361
306
342
357
348
367
331
423
264
293
271
344
354
357
260
282
402
315
329
321
284
357
343
280
357
293
354
360
330
341
323
320
290
280
381
200
327
233
319
328
417
398
343
362
293
347
235
307
366
336
307
346
291
338
352
328
235
299
326
316
300
319
268
302
287
290
268
266
329
261
310
359
290
351
330
310
305
335
341
253
300
351
362
267
303
228
385
322
319
382
386
334
332
282
377
309
377
246
420
324
308
262
244
382
253
259
256
315
272
372
346
256
274
301
244
337
273
358
362
288
238
360
370
317
313
237
390
279
298
349
321
355
367
255
408
399
202
272
307
396
325
353
293
362
417
345
289
308
334
376
401
327
247
240
307
358
382
369
397
247
302
331
313
367
323
293
343
272
363
280
366
317
248
355
305
364
270
237
362
316
376
251
356
239
314
264
281
294
326
329
333
322
273
376
302
242
343
339
228
313
290
330
286
217
234
288
296
309
346
248
279
303
302
267
281
275
275
350
340
312
321
357
393
331
374
436
386
288
304
352
299
320
274
311
384
306
222
222
296
340
325
372
312
323
277
297
316
389
410
292
232
355
324
331
321
306
351
338
257
299
267
360
390
310
300
329
274
365
344
342
364
408
315
385
391
299
355
235
304
297
360
342
400
371
289
331
312
267
318
259
253
276
312
269
325
345
259
306
302
233
291
306
207
269
267
361
398
279
246
379
299
244
418
373
256
362
361
311
287
261
243
303
334
288
344
427
315
378
334
270
281
344
299
330
278
267
294
331
310
372
254
281
290
331
254
291
300
314
324
325
238
324
346
320
279
363
368
342
278
333
261
373
234
319
391
294
272
353
387
298
204
366
298
336
262
364
241
250
338
392
281
325
370
276
309
325
371
365
337
304
304
313
221
351
311
297
335
238
262
265
325
351
331
292
279
266
438
298
314
192
281
369
263
311
336
276
393
309
394
341
260
323
336
210
302
359
298
384
367
307
311
270
303
431
373
254
270
277
316
265
276
259
302
375
404
325
280
272
319
344
260
398
332
251
302
423
315
294
251
299
331
311
334
314
422
313
377
343
378
222
300
391
286
333
398
266
246
358
320
377
299
334
317
396
384
381
234
302
290
333
291
274
331
375
345
370
258
314
192
286
326
382
366
300
351
293
337
357
276
279
280
317
338
312
347
269
240
357
321
316
221
341
299
311
304
299
338
403
324
416
272
251
307
297
328
276
314
314
290
368
270
336
231
279
340
321
265
325
352
274
253
293
349
336
290
279
272
342
286
357
356
340
279
370
313
376
264
318
343
287
296
270
318
360
418
352
399
322
297
341
293
267
292
357
382
338
377
401
341
331
281
359
306
383
318
394
294
330
312
199
247
337
304
374
252
291
277
295
275
336
358
334
304
389
370
288
249
330
339
269
208
311
261
283
355
268
373
265
252
273
302
311
314
263
287
291
293
389
331
242
352
266
367
315
385
316
344
285
295
347
324
262
296
337
344
339
325
288
405
308
292
340
324
329
308
311
318
399
363
287
305
378
339
251
373
324
285
290
378
400
278
252
326
309
360
378
280
335
211
396
292
309
288
283
269
336
338
291
221
235
317
377
299
318
372
301
274
321
284
255
341
303
277
282
218
293
288
348
336
290
335
343
412
298
230
348
348
311
288
315
197
257
199
285
303
300
344
257
338
294
317
351
250
318
352
297
351
263
399
318
373
334
308
326
268
335
284
395
269
288
281
293
274
341
310
286
347
319
364
308
338
306
310
386
308
338
317
278
312
226
197
330
357
248
322
407
216
365
315
365
367
326
417
346
303
327
363
300
338
357
232
364
340
258
225
332
310
329
366
265
327
360
373
271
392
290
225
326
283
283
275
325
308
269
285
292
311
362
355
281
353
311
340
262
294
348
273
237
331
337
322
225
366
346
346
334
252
284
302
367
275
307
284
371
314
209
382
356
313
302
353
244
292
341
310
273
344
275
354
277
348
286
346
340
300
319
368
293
315
404
355
282
323
401
281
254
339
248
273
386
238
224
360
359
360
301
308
324
300
216
346
348
300
312
280
303
347
322
309
341
279
308
284
315
291
324
268
325
358
248
354
356
320
338
334
292
288
300
328
320
374
361
327
343
375
340
272
364
380
262
318
329
340
320
289
311
303
368
262
285
285
372
299
350
293
304
240
265
225
371
335
314
323
319
303
337
312
326
268
353
361
338
323
290
313
322
347
352
294
312
213
287
314
321
287
274
328
322
339
328
266
365
346
349
378
405
269
342
269
251
288
308
300
302
354
343
319
377
274
308
328
302
334
297
358
325
374
266
327
366
311
222
317
267
258
268
264
311
361
325
310
324
292
308
218
254
373
333
294
346
322
289
327
312
326
343
327
280
323
357
266
290
361
393
292
346
352
339
405
319
371
395
364
355
251
243
319
277
289
292
292
399
267
180
237
289
282
354
310
370
336
390
214
327
360
316
254
275
214
266
279
290
291
315
371
376
314
347
332
319
323
334
389
342
352
371
276
301
169
309
363
315
327
289
355
364
345
277
342
256
428
405
303
330
269
342
370
298
332
363
357
383
226
359
275
348
378
386
289
302
273
365
342
334
303
425
293
265
229
370
376
273
270
339
342
298
252
351
362
403
238
274
391
287
428
358
309
311
358
312
350
319
338
404
305
330
311
285
318
298
235
275
342
277
261
277
383
342
295
276
301
249
327
392
282
366
301
266
294
383
284
283
312
325
343
282
308
265
332
295
399
293
316
324
269
396
347
304
334
325
357
346
361
367
367
311
267
246
278
332
291
268
280
374
320
278
282
322
338
310
377
245
316
279
222
264
348
317
344
254
310
304
354
322
345
285
261
229
295
301
316
359
296
389
312
365
347
302
270
323
281
316
252
220
355
233
360
339
289
310
262
340
329
304
295
335
354
401
380
352
314
326
298
279
289
270
335
328
352
365
375
287
290
372
346
311
341
365
243
340
277
361
329
262
294
360
331
308
323
317
337
284
266
327
374
267
358
255
350
305
313
326
327
340
344
315
313
366
316
293
327
299
286
319
272
312
320
223
311
303
305
378
338
276
282
311
412
244
357
345
370
290
309
337
282
319
325
410
343
313
405
257
300
331
205
376
312
261
325
288
310
393
328
388
370
260
330
287
277
319
407
293
344
331
339
334
310
322
354
342
276
275
292
278
299
391
300
319
304
284
428
283
350
299
254
349
333
327
318
302
337
358
362
365
366
318
301
278
319
345
270
296
242
351
328
315
282
300
354
296
336
303
369
366
217
281
366
281
308
274
306
369
282
298
268
280
281
356
311
301
380
326
353
345
278
229
336
270
339
269
361
373
315
356
301
261
324
380
265
338
264
334
329
363
267
337
292
312
328
348
240
375
266
282
284
381
383
251
300
309
219
294
329
336
414
303
291
308
277
408
309
298
252
306
338
308
381
315
278
212
354
375
290
301
432
311
292
280
326
290
281
337
334
326
248
311
273
327
306
302
277
353
286
230
289
347
305
310
246
305
320
326
314
364
290
348
385
305
390
335
370
252
313
330
317
337
316
402
320
286
318
341
331
366
375
358
278
280
239
397
347
258
306
317
283
347
384
295
348
300
298
332
310
357
325
298
286
350
256
325
322
305
308
282
333
360
223
278
356
326
287
272
314
361
267
393
279
236
366
294
353
250
349
335
259
288
350
313
421
311
384
389
351
372
397
345
296
408
355
283
335
290
302
266
360
320
244
287
333
346
333
292
302
280
328
397
296
255
304
322
222
359
315
284
329
304
358
292
345
340
350
271
324
295
368
278
376
367
343
312
263
365
326
315
303
346
311
294
331
320
325
318
290
378
385
245
307
211
298
297
359
290
370
328
331
296
316
365
271
333
254
298
288
313
293
269
321
351
347
293
325
292
298
375
342
242
364
236
371
297
308
334
325
302
317
258
290
334
258
361
289
364
353
399
332
308
366
313
292
355
312
346
299
287
399
311
415
292
300
235
313
348
317
336
252
338
293
287
367
294
330
273
399
368
331
259
336
363
344
310
357
329
296
330
355
291
340
236
295
284
278
324
307
269
315
305
389
337
308
380
367
418
356
315
328
277
325
330
276
279
277
344
309
283
312
261
325
366
297
269
248
284
303
319
313
390
275
275
374
260
341
354
320
293
353
227
263
343
330
287
310
319
337
283
269
396
332
278
278
338
337
262
358
349
315
287
299
294
326
315
286
256
344
356
280
361
379
324
273
257
291
396
372
345
330
365
304
295
375
329
359
364
315
255
334
286
385
309
255
406
274
253
295
363
387
366
313
281
275
292
293
357
238
321
267
248
330
272
367
315
314
208
352
251
334
277
303
387
247
310
343
248
419
318
267
334
321
373
382
316
299
335
245
342
339
297
372
285
248
316
297
311
393
309
398
272
305
294
337
338
257
306
364
302
290
318
253
293
301
320
328
308
321
315
321
360
316
413
254
329
319
264
409
327
301
254
302
375
249
301
297
355
338
271
281
268
306
318
306
310
363
301
346
258
242
245
385
300
288
335
380
355
240
327
313
353
393
316
389
180
318
252
312
312
315
315
244
330
316
355
308
290
305
301
332
328
373
343
302
251
376
357
424
381
332
318
309
326
281
290
324
333
335
321
324
339
299
283
306
339
304
247
335
332
419
318
317
384
296
384
369
297
380
298
334
363
321
303
304
384
289
426
352
308
325
216
277
329
260
313
312
306
319
353
311
353
336
303
322
229
278
314
325
411
334
311
326
324
364
263
302
241
261
346
318
285
297
283
236
359
343
364
388
339
345
352
261
259
375
300
262
313
304
226
374
327
367
352
297
338
345
242
310
260
334
337
278
215
311
287
358
256
387
282
332
328
284
386
281
333
255
307
315
398
315
297
274
355
281
328
299
242
250
327
293
371
347
322
297
361
375
297
277
411
342
339
293
275
298
338
259
379
326
311
298
335
268
345
286
411
356
322
293
341
331
393
287
230
298
322
330
306
270
297
312
274
373
397
324
254
248
193
366
381
392
264
330
318
274
394
223
255
297
262
357
266
329
340
222
260
346
332
355
359
285
251
272
321
345
356
284
370
349
272
175
300
305
313
319
283
398
345
315
325
308
391
341
233
314
424
359
379
307
332
266
365
276
238
305
394
346
287
387
364
257
213
367
259
252
362
393
262
322
246
272
356
360
324
379
293
258
315
325
322
336
326
231
274
254
257
420
292
315
309
313
274
326
333
242
303
348
312
355
364
190
317
280
367
269
339
384
293
222
355
376
334
234
256
322
293
355
231
278
320
320
256
352
277
329
318
378
354
354
217
303
299
351
339
346
305
299
329
280
372
218
324
257
332
271
341
345
267
438
337
406
320
305
376
295
299
314
353
315
411
307
384
348
254
291
326
260
356
335
297
316
243
326
333
312
369
335
289
336
276
261
304
322
268
295
290
346
286
336
256
282
248
295
260
279
333
352
278
240
357
327
357
271
417
270
297
271
328
356
316
258
337
318
341
267
333
340
358
363
246
338
276
339
308
376
353
296
324
333
276
292
356
343
281
232
338
363
369
341
298
275
364
408
300
337
254
324
333
284
287
315
375
246
320
349
309
286
304
260
267
346
292
325
353
343
336
328
336
396
290
294
361
314
379
365
224
262
272
323
251
228
278
271
356
287
239
291
350
285
276
277
315
325
339
367
324
274
405
350
323
282
319
330
333
351
315
315
303
277
262
245
343
272
268
290
292
316
365
323
368
327
288
219
311
323
305
256
232
318
260
323
327
304
260
318
314
300
326
342
310
364
309
317
310
238
315
345
293
329
302
312
313
273
344
350
307
351
301
342
290
313
337
271
312
340
339
222
296
306
261
325
401
339
357
423
357
255
342
358
331
295
333
325
331
284
362
288
285
425
307
282
360
325
305
244
286
331
392
392
309
295
273
313
325
221
388
334
341
411
346
367
321
372
374
276
316
281
341
327
267
294
334
360
318
324
363
296
253
256
265
326
296
296
268
324
249
297
331
341
338
264
257
314
347
313
278
296
299
296
275
305
383
223
276
239
258
291
309
321
337
340
338
322
287
340
273
261
322
358
304
280
348
273
306
358
317
363
362
272
291
402
314
316
431
399
320
279
255
314
297
209
352
337
306
312
290
247
343
276
353
282
344
281
372
266
261
318
337
360
345
317
276
237
334
321
310
378
290
339
300
349
361
355
326
307
263
272
297
293
352
310
265
369
375
300
312
267
250
317
335
279
278
352
326
357
264
298
422
289
260
340
333
293
248
302
338
307
403
337
253
336
302
315
294
380
279
326
312
309
362
310
270
288
391
342
336
453
259
274
328
279
348
312
309
392
221
375
269
322
267
370
312
309
249
363
254
344
321
415
322
329
251
286
355
325
340
187
373
271
303
255
253
337
217
310
256
389
305
340
344
203
341
237
309
332
290
263
290
384
372
255
389
353
344
325
345
361
301
358
297
337
281
383
277
324
300
277
288
320
357
326
335
301
298
255
353
304
392
350
324
334
278
340
372
341
371
344
326
290
301
323
268
269
310
283
308
317
340
262
378
294
268
281
291
379
334
337
302
247
295
354
326
261
275
316
310
341
322
271
195
225
320
324
304
245
378
330
323
232
283
272
385
355
356
321
333
248
298
348
329
382
390
293
342
379
317
333
315
338
226
310
280
312
377
216
263
270
395
385
330
304
324
339
310
348
396
304
276
390
367
390
333
272
346
338
353
263
346
352
271
299
241
285
354
314
333
333
322
295
359
343
337
308
292
347
292
294
338
312
295
269
321
310
259
333
358
367
359
375
349
274
335
243
327
320
341
271
291
359
347
329
350
321
280
338
255
340
275
326
332
301
247
323
289
372
324
336
356
286
252
285
278
230
283
344
282
314
258
342
345
303
295
312
318
276
264
321
235
363
308
315
278
359
368
292
336
332
338
301
306
378
340
368
362
292
336
306
347
258
282
249
289
359
324
327
362
325
330
282
261
354
272
367
306
279
275
333
400
313
326
351
294
311
392
339
279
357
294
269
386
273
310
279
283
330
292
299
319
307
402
382
360
269
338
277
295
302
386
346
421
270
261
284
356
264
355
313
243
271
357
283
331
305
306
334
288
290
341
287
302
326
291
367
338
274
346
329
251
272
209
344
348
405
241
298
278
251
364
314
296
315
297
338
379
387
357
358
340
374
354
261
301
333
215
243
332
412
269
301
382
278
387
313
331
379
407
347
271
269
299
320
340
335
368
405
233
291
210
353
294
278
317
341
277
280
383
328
301
312
289
330
259
317
338
325
303
355
348
370
346
372
356
307
295
282
361
270
369
293
348
309
252
354
304
360
375
338
344
340
355
314
311
283
285
208
265
289
311
239
340
320
327
342
333
271
269
355
380
357
413
351
227
376
257
336
316
269
286
320
287
201
193
301
371
294
242
315
229
350
366
271
273
343
309
266
338
298
323
293
260
329
385
300
329
326
263
322
282
231
264
285
318
344
413
275
324
335
290
338
330
182
277
269
330
251
356
346
289
358
340
273
331
316
349
278
319
336
335
368
277
312
355
293
303
261
364
313
312
322
327
272
339
363
283
424
315
304
265
289
319
318
305
332
337
333
313
274
328
292
324
368
255
311
335
328
297
331
333
321
289
286
274
383
303
345
318
236
368
348
349
263
344
326
330
355
288
246
266
358
347
346
317
298
357
424
237
291
439
340
343
351
291
336
335
368
312
376
454
215
322
290
297
383
322
260
292
278
300
382
269
306
334
404
268
333
327
274
317
410
221
294
260
324
301
334
244
280
383
308
316
299
271
289
344
280
293
399
297
340
267
261
274
344
242
377
346
352
341
324
273
309
258
371
305
326
299
356
376
379
386
222
363
354
302
414
352
336
256
324
266
303
296
360
301
264
278
378
306
298
293
287
293
340
300
330
273
351
313
307
221
354
327
382
336
386
345
393
327
283
256
286
317
280
370
285
335
408
265
286
376
270
323
248
303
285
336
300
380
338
290
351
335
294
306
305
340
259
283
400
314
336
281
294
349
257
295
341
348
313
280
394
261
306
350
337
234
309
295
284
266
332
337
285
332
303
342
348
304
343
302
288
368
312
344
279
331
303
346
308
298
323
317
282
288
302
353
294
325
433
344
336
295
352
294
360
327
255
358
292
313
361
327
320
370
304
364
269
318
322
370
351
317
299
297
288
324
289
307
311
318
242
336
345
268
309
312
365
305
413
276
301
353
337
271
275
342
363
252
215
316
250
320
326
293
355
392
366
284
294
360
310
333
332
292
367
370
362
249
390
309
272
381
366
309
309
362
305
422
255
365
338
299
311
298
403
256
265
333
398
275
354
269
258
332
279
321
240
337
328
267
329
352
346
369
328
319
344
330
343
271
290
288
226
300
421
302
365
332
334
257
311
214
285
253
355
296
330
276
285
380
318
344
352
261
282
347
316
265
288
345
310
320
318
227
331
299
304
297
363
353
306
298
346
284
367
355
269
342
311
313
328
345
312
249
334
335
333
352
386
313
272
305
357
376
337
314
252
279
284
347
323
279
314
308
242
299
379
331
333
356
325
288
320
334
317
312
271
258
392
299
258
393
333
291
293
391
235
281
403
255
417
308
176
192
323
317
343
324
304
345
325
303
266
295
348
342
272
310
249
306
286
257
272
282
274
315
277
315
321
352
332
283
354
304
266
365
270
340
293
303
340
325
274
366
296
299
320
323
326
218
286
319
266
377
282
354
314
324
310
351
278
351
319
272
362
421
337
438
309
263
316
261
343
311
319
257
354
334
292
404
339
233
375
318
318
311
271
275
328
334
399
346
310
323
328
207
304
380
272
279
344
329
278
264
371
310
277
423
352
281
363
353
215
304
278
269
249
255
351
306
366
283
262
372
290
363
335
271
383
317
295
345
293
412
356
227
345
383
301
357
257
374
296
324
288
264
313
299
302
364
270
417
321
325
278
274
305
272
274
338
314
374
338
318
346
281
271
290
328
272
353
332
332
312
244
207
382
374
312
351
293
332
250
422
319
330
309
269
312
367
370
303
368
277
297
309
248
318
341
395
346
235
368
234
313
273
319
283
348
389
292
340
304
312
350
345
310
339
283
276
384
387
267
301
288
360
339
267
296
285
366
267
321
344
349
325
299
291
310
336
324
339
239
341
252
297
269
349
391
250
388
254
261
357
298
282
312
281
323
288
270
401
377
298
342
385
367
265
260
391
289
288
284
311
297
347
345
321
310
279
265
287
301
303
306
318
315
306
283
374
369
362
405
297
303
325
257
306
223
360
279
296
322
313
347
225
333
347
268
291
358
363
360
335
389
299
184
372
348
332
316
290
358
337
342
292
308
296
323
266
213
290
349
332
183
280
228
323
327
235
295
413
332
226
409
292
316
278
340
328
241
343
306
276
290
307
356
360
334
286
353
341
412
286
228
360
417
316
336
321
283
183
300
352
256
273
334
282
216
309
344
250
311
333
295
323
278
304
254
301
366
309
304
343
295
407
226
288
315
280
355
352
285
376
254
343
302
373
345
267
290
262
426
242
316
321
276
300
320
203
292
317
296
267
366
259
326
283
317
335
291
329
279
404
312
391
311
335
374
324
353
391
267
378
435
274
314
380
439
296
350
271
306
338
317
274
374
344
357
304
402
411
327
330
330
259
227
239
380
333
291
338
343
304
311
261
284
366
401
220
326
265
314
316
358
329
278
334
335
251
319
406
314
316
258
348
234
340
217
353
351
296
317
354
393
314
243
329
290
269
319
333
342
344
276
357
306
282
335
262
358
352
290
290
359
336
314
280
380
225
328
377
255
321
332
253
269
328
283
313
349
318
316
223
270
392
314
239
297
285
256
341
345
280
316
314
303
258
331
389
324
343
353
343
345
322
410
297
395
456
358
362
227
317
296
282
319
338
302
394
259
272
268
275
325
250
379
296
276
215
262
330
212
300
303
289
291
249
263
403
339
207
277
332
316
328
275
252
351
303
276
312
238
357
338
278
271
362
373
231
254
304
347
297
305
266
330
304
236
301
335
318
302
242
277
319
295
347
317
242
227
336
243
386
290
270
287
416
260
355
391
315
372
284
360
360
311
383
346
275
267
355
316
392
266
306
377
373
365
361
301
262
305
252
329
324
339
332
325
317
370
262
314
224
301
328
353
343
297
328
313
332
364
398
314
239
343
296
384
357
362
318
333
365
382
301
355
337
249
346
299
259
391
417
312
309
357
199
351
203
275
315
279
319
266
329
235
354
343
284
251
257
222
317
316
191
329
339
236
332
292
312
372
255
347
259
306
331
321
316
337
389
302
352
347
287
366
326
293
307
413
331
334
395
308
305
259
330
395
401
351
328
313
331
341
276
340
262
325
245
245
310
242
306
383
286
317
314
309
270
360
343
328
254
350
289
191
318
243
257
271
381
379
335
264
381
294
330
306
430
336
282
357
299
263
327
329
334
321
311
334
333
275
304
356
367
239
279
406
325
357
290
333
342
325
360
297
319
323
306
322
329
296
375
325
312
290
349
380
333
313
338
258
284
296
381
290
243
281
308
297
325
359
349
287
304
276
234
247
356
284
271
436
344
289
286
283
276
288
318
320
360
337
273
376
305
330
290
306
374
355
308
293
403
306
389
343
328
380
349
366
309
286
309
375
379
368
331
339
328
347
310
373
356
239
315
302
300
324
329
360
373
217
310
335
293
317
339
287
345
366
347
333
285
302
324
238
259
316
297
301
256
224
319
288
281
329
286
346
381
275
313
349
286
393
326
342
309
312
358
381
316
256
288
306
197
301
292
298
276
334
310
271
254
292
339
292
276
294
407
358
283
285
275
261
303
219
349
330
339
335
347
304
301
245
313
277
400
316
306
176
278
288
277
298
318
284
386
335
342
342
330
223
349
278
348
350
297
389
326
308
269
366
297
319
322
344
372
327
388
384
352
286
281
395
401
348
349
298
331
369
330
278
422
346
246
396
324
262
312
388
302
356
290
353
228
345
352
365
299
305
309
268
314
256
410
245
353
295
305
389
318
269
330
399
299
388
258
324
214
334
216
321
286
329
284
339
260
297
291
291
346
292
378
312
322
275
307
339
262
256
363
388
349
340
341
295
369
347
362
336
253
425
306
335
234
355
269
296
298
317
328
297
296
259
351
301
273
359
258
320
360
365
329
290
320
312
261
357
382
291
384
301
318
328
293
320
281
322
307
381
327
331
275
347
348
373
367
350
387
398
338
332
246
301
208
286
300
323
341
388
279
284
354
316
308
283
295
330
322
348
292
260
318
260
319
335
301
310
277
303
335
369
295
259
288
330
336
265
439
287
263
289
288
338
317
292
355
359
332
385
203
360
370
399
268
302
284
418
352
291
308
352
355
242
339
290
271
331
284
371
291
271
292
365
284
331
361
318
292
294
225
247
294
319
322
338
319
275
351
338
306
230
392
349
279
360
276
285
349
299
271
305
317
314
362
288
307
335
312
295
283
342
367
321
321
370
345
381
367
335
289
372
298
365
343
369
354
289
280
288
333
262
306
340
326
349
296
242
331
316
347
368
258
275
341
353
344
339
286
254
250
311
307
292
289
307
305
353
360
319
273
349
328
320
296
242
255
317
271
260
322
197
260
348
254
342
389
276
366
311
307
338
356
202
385
295
334
331
256
339
269
362
269
343
386
234
394
311
331
299
318
349
368
336
336
293
322
237
383
243
278
342
297
239
300
366
318
343
319
298
317
311
306
276
254
287
333
292
369
304
327
244
305
312
355
341
313
294
314
307
287
446
243
345
302
322
304
274
309
297
362
308
332
330
249
366
342
281
271
361
378
271
289
271
212
342
285
188
290
315
334
389
301
343
246
396
386
315
351
310
302
239
289
347
368
331
294
282
323
376
394
275
255
299
294
318
373
346
325
285
350
263
367
331
266
298
309
263
325
338
345
286
392
332
328
349
320
340
365
260
352
343
282
359
298
318
305
280
278
338
287
336
364
303
275
302
297
422
261
391
388
306
405
353
340
339
227
340
372
288
281
312
301
282
337
276
262
259
306
274
363
360
271
288
289
329
331
328
341
347
321
366
311
276
276
296
321
310
299
310
332
233
264
273
296
253
280
248
265
362
269
191
312
389
256
362
354
309
300
279
343
293
305
243
290
285
301
357
245
318
317
270
296
305
294
325
300
306
336
347
373
284
341
332
294
297
363
276
247
311
370
316
303
300
340
298
264
393
328
296
344
351
288
287
354
297
259
351
356
362
340
348
243
300
379
343
362
337
317
279
311
377
353
245
365
252
322
308
297
259
282
335
312
340
298
273
389
309
346
271
273
310
381
361
376
349
343
295
249
316
257
338
323
276
298
328
328
234
317
269
297
282
285
267
253
269
356
306
320
288
305
277
319
296
336
353
389
383
361
317
299
291
342
329
259
241
279
387
297
334
325
290
387
297
291
338
316
360
272
334
270
239
284
335
311
329
314
351
272
313
320
309
306
248
385
308
331
357
281
267
244
256
217
290
366
291
244
338
334
275
365
284
242
353
300
269
282
244
276
343
269
375
304
278
376
260
373
348
388
286
357
229
433
223
345
307
290
350
348
324
260
319
319
286
301
346
300
287
320
287
292
308
344
271
370
367
295
283
311
316
394
342
305
228
262
308
310
329
373
272
316
377
266
287
286
353
317
270
369
269
376
305
348
317
276
401
318
220
330
266
198
363
290
313
295
310
340
265
331
258
249
280
371
339
207
247
273
345
370
358
310
226
344
379
364
378
270
336
339
305
215
317
259
327
353
417
344
218
374
356
312
254
326
392
294
329
291
273
307
269
273
314
284
377
301
290
362
216
339
310
349
272
311
279
310
357
333
273
388
291
360
305
359
235
338
251
376
291
268
403
312
275
363
263
343
418
237
305
294
288
364
336
295
328
310
353
375
362
340
372
237
301
366
303
330
356
387
301
319
266
360
300
308
305
381
302
223
307
303
317
358
305
285
262
370
235
239
222
367
338
363
289
355
366
316
293
292
255
275
223
380
343
333
259
333
286
355
316
293
298
301
339
298
413
294
219
286
328
361
327
263
260
328
445
276
370
306
255
277
299
433
303
296
311
255
335
297
280
277
334
295
303
310
322
376
263
304
240
327
285
324
361
352
335
315
315
365
322
325
260
330
363
328
264
333
300
308
294
309
259
270
262
266
298
263
282
350
284
298
350
333
341
325
315
369
285
332
270
217
287
257
354
274
320
385
312
298
253
299
294
321
376
251
388
305
309
384
297
279
303
290
393
242
357
339
298
320
348
311
367
290
352
303
326
289
308
256
239
390
249
286
276
307
289
355
305
367
325
284
294
344
321
246
303
328
298
323
299
279
338
317
340
374
291
243
338
272
319
212
312
337
367
287
315
323
258
323
301
276
334
330
313
269
330
241
337
284
320
312
305
301
344
328
340
308
342
284
304
373
409
226
292
281
245
290
372
361
418
331
219
281
292
268
360
258
354
362
411
300
332
294
274
355
298
299
286
379
279
399
334
359
288
336
309
320
359
378
341
331
362
333
316
300
232
333
345
238
318
296
246
386
392
353
306
294
314
264
300
320
327
309
340
349
315
280
315
358
390
338
269
311
347
396
294
385
259
287
390
361
395
307
284
332
263
255
323
259
162
345
346
247
310
230
357
320
255
338
345
375
337
291
352
306
359
383
247
326
330
261
324
366
248
240
260
263
353
312
291
331
368
390
257
222
318
284
249
336
285
304
376
265
366
337
357
297
334
309
351
332
312
258
251
322
384
276
322
248
302
319
317
307
270
327
307
311
292
288
307
339
325
334
225
301
297
270
323
341
334
327
242
340
259
314
279
259
365
259
408
351
338
266
222
347
318
280
269
357
271
368
212
372
302
259
306
312
309
347
264
275
348
270
363
323
261
325
233
245
331
328
327
389
310
283
305
357
249
284
263
246
316
323
403
371
290
248
333
334
298
430
272
334
322
329
253
388
290
296
363
345
325
331
342
359
319
332
291
248
300
259
301
343
349
300
307
313
272
223
277
360
344
306
249
322
332
380
328
358
316
316
336
320
243
292
286
335
292
318
408
249
263
332
283
293
307
313
335
309
338
317
297
378
312
301
260
322
347
313
227
260
334
352
314
311
329
353
355
353
287
322
331
341
247
378
282
323
340
367
337
386
332
338
299
328
285
256
323
283
357
404
358
274
289
269
307
296
276
335
314
302
328
383
279
331
323
303
359
322
452
329
319
318
183
335
367
304
312
308
345
247
316
309
365
311
341
344
326
322
234
269
343
336
342
270
307
251
260
403
352
280
334
312
319
346
333
350
370
298
324
297
315
420
382
316
390
266
364
328
310
317
359
304
306
265
279
306
254
296
310
334
300
297
410
259
352
374
230
349
276
257
269
383
319
305
411
245
274
288
316
280
367
275
272
323
342
391
265
291
280
403
324
391
327
314
384
253
334
355
366
315
346
258
352
342
333
399
286
358
365
222
370
321
273
226
300
286
306
345
295
375
323
274
284
358
297
279
297
329
316
349
273
406
293
315
327
292
408
268
287
282
245
268
321
358
195
342
359
286
392
334
202
336
297
244
300
332
283
364
259
367
358
344
311
306
299
364
364
307
301
342
227
383
275
297
338
315
363
273
333
307
336
371
405
247
344
363
304
312
210
285
382
300
321
322
354
331
342
379
348
366
341
319
316
411
346
336
326
345
337
277
300
370
346
340
261
291
330
322
306
292
406
443
344
281
354
314
224
337
254
315
317
311
300
315
293
295
367
274
267
274
294
397
319
338
319
313
266
292
250
271
272
358
398
202
356
318
352
335
309
348
310
324
312
319
306
322
354
389
320
264
307
367
298
330
269
352
369
315
369
335
345
270
311
246
328
358
332
358
299
368
266
386
406
351
267
319
329
251
303
351
300
246
413
334
281
355
337
264
281
322
321
280
339
291
303
283
316
275
215
373
282
311
312
262
324
298
194
385
328
293
343
282
270
320
309
321
358
281
285
328
327
324
388
292
387
221
282
302
301
316
351
304
321
308
350
326
431
243
301
362
413
352
392
280
334
391
291
227
328
330
323
303
287
307
301
271
346
317
356
287
404
356
422
347
279
303
471
370
432
289
298
357
330
281
328
312
330
338
346
346
273
326
383
292
281
272
368
273
379
388
409
280
239
323
256
237
324
322
249
407
271
400
370
285
262
381
354
326
267
330
286
251
280
283
317
366
360
307
339
340
260
295
266
355
347
358
278
303
221
303
339
321
312
271
291
369
276
315
365
334
325
239
296
320
255
308
232
301
302
321
315
337
259
338
283
310
330
379
345
270
371
359
286
365
310
340
330
348
365
370
246
338
276
394
318
333
288
332
202
250
333
295
372
333
374
227
279
253
271
268
369
303
360
315
327
316
254
334
284
357
368
327
261
388
336
322
270
306
272
358
346
296
348
342
300
290
280
365
336
335
360
272
272
365
378
344
352
282
331
320
286
341
233
323
316
295
343
355
303
334
339
303
317
296
356
342
294
287
299
211
340
340
286
299
331
353
339
355
352
294
313
369
315
317
316
402
303
349
349
298
229
368
284
379
282
275
279
271
393
304
387
275
299
327
358
409
256
343
403
276
371
343
306
323
362
347
350
346
327
278
310
410
331
350
325
297
377
337
232
341
291
323
351
331
336
370
370
327
255
340
335
311
274
278
230
303
287
381
320
384
310
330
317
305
374
314
261
298
216
252
341
315
368
322
279
371
309
348
312
233
322
290
301
372
243
298
240
336
314
270
270
337
320
344
227
286
254
318
270
309
305
328
269
295
323
295
297
307
300
374
295
262
321
267
314
319
282
268
340
243
261
318
303
360
283
349
347
349
266
229
299
278
334
340
284
300
370
414
380
332
317
301
343
363
413
309
318
322
312
322
343
301
368
325
319
356
334
330
347
255
344
322
349
399
330
354
245
323
267
310
262
338
356
300
211
229
251
367
332
278
330
392
314
317
358
291
325
396
351
358
247
326
306
378
405
306
359
298
330
323
294
382
409
282
348
356
342
250
369
268
280
342
299
244
193
302
281
345
265
358
309
278
289
325
302
342
386
335
376
287
321
333
347
361
243
314
320
299
296
395
277
329
313
263
301
330
349
299
272
348
260
263
279
315
319
274
300
350
239
360
323
298
325
314
288
377
312
282
270
313
360
305
300
321
370
225
364
285
285
373
331
340
246
331
286
324
271
273
339
359
288
368
349
384
399
302
376
248
313
277
376
224
335
352
433
328
301
328
290
302
342
300
262
297
344
307
271
309
268
301
292
398
350
268
327
287
338
277
303
317
242
379
296
281
348
318
265
346
235
264
326
417
358
335
360
256
348
228
306
273
329
270
220
278
291
298
357
451
346
385
344
378
369
318
246
286
375
244
234
316
277
394
315
336
241
260
266
340
331
270
318
310
336
266
298
323
326
267
268
351
243
281
271
225
366
278
313
290
403
309
321
345
310
260
360
281
281
331
262
338
288
280
324
312
322
305
283
260
274
340
355
327
299
308
360
279
280
301
287
309
234
298
283
310
362
395
368
286
356
284
394
321
319
247
282
307
293
316
235
308
385
304
305
328
353
300
284
340
382
361
395
231
347
241
247
389
335
245
270
277
431
329
283
250
274
256
317
353
359
271
305
332
298
359
258
309
372
399
366
287
301
335
310
327
293
321
258
354
339
355
269
228
295
354
341
242
327
277
379
269
359
326
419
305
327
303
349
313
292
367
346
319
261
289
310
363
297
323
273
358
232
344
376
301
366
340
334
374
355
388
361
284
259
305
276
283
279
344
265
387
325
309
283
257
235
308
333
337
223
381
303
248
310
319
355
327
393
320
385
420
270
261
267
284
249
245
308
311
280
224
291
287
299
354
314
347
300
265
286
299
336
201
311
318
259
425
353
259
307
348
318
341
287
365
288
252
325
266
340
270
313
293
317
358
369
357
367
386
343
395
319
318
383
243
335
309
386
334
319
260
360
337
347
250
334
316
290
233
266
370
314
343
298
301
379
346
291
356
337
252
351
311
270
321
240
363
321
327
302
299
358
264
272
307
295
332
334
376
311
318
296
372
229
325
288
374
332
280
299
208
338
345
287
186
309
276
280
299
277
328
364
278
358
323
304
402
377
377
378
346
299
357
287
398
404
321
222
370
330
282
373
375
377
414
316
298
297
324
269
306
332
304
383
347
335
331
355
286
319
344
349
294
366
358
232
264
343
407
337
271
427
254
373
288
357
226
355
330
242
248
279
400
289
273
255
342
320
366
318
322
360
320
309
310
380
326
343
240
267
330
316
394
273
313
337
289
316
259
403
394
234
275
284
451
343
367
275
319
286
269
314
319
294
325
295
267
293
265
385
298
306
386
323
299
352
295
301
285
282
299
405
354
366
314
288
335
334
297
261
344
362
288
336
383
361
307
331
272
322
323
338
310
254
292
301
297
311
252
374
261
325
218
316
350
326
359
347
371
257
329
311
228
266
363
252
333
314
412
333
357
355
308
327
320
355
343
335
380
297
339
342
364
346
238
354
365
344
355
275
266
363
273
325
269
290
379
302
299
257
295
336
356
257
338
308
305
201
343
359
329
292
403
382
321
315
384
303
412
321
367
227
306
345
332
375
376
351
303
343
355
293
249
319
236
331
335
307
335
362
319
318
369
325
375
355
275
288
349
330
348
239
334
234
273
327
341
271
307
341
309
257
355
344
306
316
322
264
302
338
210
335
296
272
294
256
308
343
390
275
354
243
316
254
204
338
293
338
311
295
261
297
368
297
362
239
299
315
283
291
387
386
246
326
323
345
295
353
267
281
251
344
343
234
308
305
310
361
328
301
289
288
320
265
246
380
371
243
355
370
374
337
356
358
419
310
347
394
312
300
330
336
268
282
263
322
292
431
353
271
288
298
322
268
291
293
296
309
307
362
340
375
311
317
341
326
352
257
316
216
307
359
353
322
352
277
317
314
359
229
309
367
306
289
303
352
315
316
323
394
317
264
336
288
324
336
345
288
300
297
313
383
325
222
268
351
381
319
354
317
319
360
377
281
293
335
339
341
333
320
283
314
359
331
344
312
349
327
297
352
260
357
368
251
328
324
379
334
319
376
205
328
283
351
343
293
335
370
357
402
297
336
316
345
358
219
275
291
348
332
301
344
346
290
228
308
297
410
426
353
337
293
347
292
417
345
355
391
405
305
388
351
337
338
339
332
293
276
310
232
327
377
346
329
244
302
317
277
312
316
322
333
341
340
254
222
244
253
267
244
294
253
262
268
272
389
259
387
304
339
347
341
303
316
335
278
259
233
285
223
263
375
317
252
322
338
336
330
304
310
311
291
285
337
265
412
317
358
295
297
319
277
368
350
283
357
308
308
346
322
378
264
313
383
274
316
244
278
353
350
305
327
360
299
211
282
311
316
292
316
223
372
383
353
356
363
279
304
266
280
321
332
302
266
285
374
358
336
232
366
365
192
242
390
319
347
267
305
327
355
409
215
350
374
361
268
393
364
378
300
272
342
306
350
261
295
337
312
240
308
304
363
397
345
380
311
400
346
387
315
354
268
317
369
351
314
319
263
281
264
298
375
369
282
290
314
250
261
329
392
288
324
246
296
302
366
352
357
272
308
303
312
242
281
304
338
219
271
298
290
390
349
384
329
360
350
265
243
286
261
302
399
298
301
399
287
315
264
265
310
309
277
283
245
321
258
335
265
281
292
331
345
267
349
329
306
322
251
232
271
344
370
365
280
291
378
371
318
325
314
274
304
296
259
350
315
285
244
366
351
339
339
350
377
347
236
344
277
363
220
249
277
304
304
289
323
301
338
248
289
332
288
320
365
288
322
300
390
324
273
285
354
317
374
315
271
318
333
246
289
352
369
359
410
252
255
224
305
305
319
337
253
323
217
287
321
371
365
355
415
359
281
310
435
285
308
323
279
329
351
256
267
350
355
284
314
344
350
330
372
390
236
408
378
270
357
326
284
326
292
302
325
319
284
298
320
278
316
345
356
296
271
293
313
338
368
254
260
313
290
310
295
346
317
355
337
316
317
269
392
203
324
321
256
270
364
328
381
258
330
340
301
303
275
317
326
246
366
298
267
376
326
299
304
273
256
324
313
286
311
349
314
287
282
387
321
295
283
327
343
331
249
297
307
305
313
307
376
368
353
261
253
381
290
328
368
291
300
351
376
337
215
338
356
316
275
291
311
323
255
268
337
365
279
374
343
331
311
267
226
343
291
232
426
329
381
338
287
313
258
291
284
271
336
221
272
301
325
386
262
261
381
363
352
224
277
254
349
298
335
258
334
286
281
315
328
330
330
362
313
334
260
267
319
312
402
361
322
340
281
277
310
344
273
322
298
399
316
274
379
259
369
443
286
352
349
311
380
293
319
309
277
221
290
327
322
354
418
369
272
319
270
275
409
364
279
366
300
314
310
343
330
308
238
263
281
378
335
297
368
290
299
391
377
314
292
338
279
309
338
373
327
335
282
354
271
350
314
318
232
252
331
241
282
270
323
330
286
335
300
347
317
349
270
338
272
251
293
237
315
234
280
331
329
329
330
263
309
349
342
322
305
344
239
295
313
356
271
304
267
352
323
275
292
330
304
347
357
308
285
290
298
244
232
386
231
272
313
305
284
322
328
353
332
204
354
273
329
338
314
319
282
321
419
310
255
340
318
255
323
275
273
346
308
361
294
393
288
340
210
296
338
332
324
285
308
280
352
315
182
344
383
302
288
290
298
285
291
329
276
329
323
292
321
362
355
321
271
358
258
326
322
308
349
339
320
231
319
304
299
289
257
249
368
272
339
272
408
297
316
269
368
370
350
294
294
333
330
264
304
276
354
251
300
278
386
304
347
328
246
294
329
334
332
313
339
284
249
323
277
267
297
260
364
278
338
366
343
311
267
334
327
291
362
357
311
269
333
312
326
373
311
256
382
344
292
308
346
247
335
266
294
348
339
270
266
333
280
320
247
335
365
330
244
321
293
318
332
282
274
294
349
294
336
274
321
370
357
305
344
301
241
313
290
299
388
320
228
353
361
213
377
324
368
393
354
337
305
352
280
319
427
364
386
316
330
304
320
312
340
223
350
309
268
272
314
285
402
336
351
379
343
278
274
298
327
328
280
328
393
229
292
333
266
359
274
289
307
367
318
272
249
316
303
223
406
405
238
382
349
303
437
347
269
330
262
327
283
292
378
276
339
324
319
294
330
326
250
248
410
286
320
293
250
347
374
270
270
386
337
313
249
301
243
338
370
335
340
260
323
299
335
318
347
327
371
354
248
331
280
273
336
290
307
233
246
321
279
311
314
357
244
276
317
362
379
279
340
331
339
371
237
276
313
256
311
307
343
342
344
301
219
302
306
374
331
325
326
295
352
277
349
406
324
318
312
330
347
399
361
374
296
338
270
308
338
316
361
329
286
332
341
335
337
382
335
345
360
338
323
295
249
323
249
309
360
336
281
273
389
383
271
413
368
253
295
241
280
347
217
281
293
318
300
245
320
288
388
231
324
272
335
374
298
287
272
255
316
241
314
371
357
293
345
269
338
322
312
356
312
268
363
246
343
293
374
345
351
395
409
364
314
327
341
309
281
252
265
380
333
284
321
257
376
248
371
316
294
285
380
314
288
317
271
379
346
273
315
388
214
273
276
344
376
326
284
321
325
331
286
344
345
357
269
241
333
275
309
299
309
309
342
262
252
273
376
358
319
244
303
284
341
388
321
369
249
300
332
261
390
341
299
284
281
394
327
289
276
249
284
336
334
302
357
277
335
339
386
325
330
367
268
302
365
297
286
370
272
313
325
261
300
268
363
381
298
322
336
258
290
219
322
262
265
359
377
288
294
338
294
304
357
355
315
373
305
298
299
408
401
347
378
320
316
349
260
336
297
380
328
314
355
289
289
277
382
253
356
335
268
293
347
367
260
349
375
397
306
380
409
320
393
369
282
220
367
321
382
355
313
366
277
292
290
381
276
292
354
212
281
377
310
307
325
274
279
305
341
320
243
233
281
273
263
301
220
240
330
193
325
319
270
325
306
351
274
262
303
315
279
307
277
252
261
346
295
329
249
347
323
346
274
256
240
317
320
326
318
392
224
341
336
332
255
317
243
298
312
338
313
338
339
306
420
277
314
275
334
236
297
322
300
344
299
282
212
278
368
285
322
246
367
313
316
337
334
256
293
321
291
300
286
343
338
257
360
299
307
325
280
344
313
348
411
375
442
280
361
220
247
299
303
291
282
293
304
252
373
322
333
346
368
259
314
323
341
385
307
341
278
292
413
322
373
312
287
242
339
298
245
345
372
340
330
297
350
294
353
341
289
271
408
327
342
263
310
384
336
243
302
256
364
314
341
309
282
413
245
327
262
329
349
346
330
313
317
337
315
225
327
279
356
325
349
233
343
338
377
343
257
240
299
333
333
342
317
264
325
340
233
260
304
333
258
375
332
277
263
362
294
414
279
294
335
321
352
300
345
333
301
371
313
379
316
329
325
204
255
361
339
254
280
381
276
342
346
328
329
315
341
352
343
345
361
332
325
230
433
304
285
304
312
229
337
361
367
347
357
291
319
324
307
287
298
380
221
268
323
305
339
301
324
323
305
315
268
327
346
340
359
270
377
276
324
282
465
374
371
311
341
287
269
314
316
324
279
304
253
329
319
297
347
357
247
290
360
367
347
278
315
234
265
330
301
291
318
177
264
326
301
251
292
292
322
282
354
323
296
349
399
349
318
288
264
272
346
330
298
367
301
316
330
322
374
276
279
331
348
335
331
298
349
317
297
381
310
289
203
346
328
308
311
315
323
188
322
294
273
216
345
273
330
277
230
346
395
307
292
356
285
239
320
266
319
346
339
329
262
338
322
295
265
335
292
275
343
344
363
328
320
354
295
250
370
274
345
363
359
274
344
322
281
344
319
264
269
309
332
340
330
340
365
305
336
330
265
286
326
305
355
311
270
378
271
317
323
326
358
297
248
323
296
301
376
360
280
367
283
331
339
296
301
337
309
342
327
329
343
363
261
303
281
302
342
321
312
335
296
362
330
316
373
253
319
243
293
345
369
337
297
286
274
346
416
354
365
266
295
378
214
364
309
281
285
348
348
299
395
317
254
289
360
262
324
351
249
292
316
333
337
319
275
320
274
310
428
370
325
336
300
343
299
364
363
324
361
384
327
338
322
250
337
255
314
422
369
238
263
317
319
308
231
294
269
256
338
313
288
314
298
267
356
302
311
337
317
304
260
288
244
319
326
298
283
296
362
262
301
302
277
317
230
300
310
250
290
278
344
267
368
298
296
350
275
342
319
306
319
353
343
333
304
323
316
265
280
390
295
287
280
320
352
283
334
304
290
280
348
244
267
314
316
282
291
376
266
359
270
329
328
353
303
229
223
233
286
337
293
355
368
286
373
344
292
248
341
378
313
353
304
385
261
401
378
262
369
294
328
362
250
335
332
345
286
322
359
328
256
332
299
313
348
378
297
300
376
281
298
380
403
320
373
284
231
357
299
337
295
300
308
275
306
320
315
292
335
299
320
293
319
284
388
322
280
315
344
287
332
389
314
347
247
207
402
271
284
297
320
291
314
304
338
293
337
349
311
317
297
255
325
234
207
354
336
249
295
211
390
307
378
351
286
242
352
226
319
367
405
347
327
342
424
341
230
323
305
320
337
311
279
391
261
309
228
313
330
242
251
377
383
343
274
276
276
267
269
294
341
314
294
307
320
332
382
314
347
331
341
314
275
333
321
272
307
361
397
357
277
242
333
312
325
271
371
404
318
311
335
322
366
263
327
360
325
382
340
247
287
348
327
375
311
359
259
364
277
310
303
257
353
354
328
319
347
389
278
329
258
376
309
259
317
301
278
336
325
271
286
259
345
292
306
302
284
255
378
341
331
224
387
259
244
356
411
375
278
361
287
324
361
337
316
347
411
346
348
271
251
272
185
331
324
326
270
287
380
250
261
294
325
319
307
310
243
289
340
342
265
412
213
303
316
307
178
383
235
296
230
374
255
289
339
234
234
331
288
290
248
304
396
265
345
325
252
339
297
292
293
294
371
333
329
342
305
316
364
294
280
328
308
344
338
341
304
325
292
325
261
380
318
256
363
321
317
308
266
292
258
336
291
355
310
301
316
351
344
302
344
411
258
423
351
342
226
322
270
337
284
292
299
314
295
384
250
333
356
305
308
283
323
277
345
345
277
299
322
348
226
323
255
366
373
333
404
319
391
248
315
226
298
300
315
422
329
333
319
289
342
334
309
362
328
353
336
281
329
326
276
300
301
280
324
350
266
283
327
315
276
340
326
268
321
325
324
320
305
265
143
327
379
359
360
285
346
415
340
325
371
357
261
369
318
365
340
258
249
313
318
311
280
266
356
298
338
302
287
297
363
310
218
350
301
392
267
290
305
357
369
355
261
356
331
199
293
347
338
265
335
319
374
347
351
382
283
294
368
235
402
290
301
273
369
254
325
256
377
390
331
324
273
286
292
277
344
303
265
311
382
311
376
189
293
249
362
331
354
339
340
341
300
375
345
374
294
269
269
299
375
237
302
247
263
224
307
265
335
262
263
330
282
306
240
352
337
325
338
336
221
342
353
369
306
306
352
336
292
328
341
390
273
302
296
315
380
321
259
315
314
321
252
359
334
275
294
265
294
345
343
395
272
256
317
358
361
283
309
335
315
388
334
345
253
345
329
299
317
298
264
306
381
399
332
371
312
325
246
249
357
319
286
282
274
250
302
283
251
220
416
325
299
364
305
290
261
398
293
324
312
326
316
287
319
196
286
297
372
315
285
417
307
324
299
368
219
316
317
340
388
314
304
402
374
274
236
297
256
285
343
355
266
296
363
323
261
359
369
284
287
306
323
307
309
301
315
284
308
359
284
327
285
288
301
261
283
393
307
331
306
357
261
354
258
407
360
329
357
268
255
316
273
322
267
294
369
291
228
280
291
260
220
309
309
260
263
240
298
322
306
248
229
293
327
283
326
249
308
294
311
326
288
316
328
212
324
291
330
368
365
397
366
307
322
233
302
273
343
303
248
309
295
299
299
348
279
296
313
398
368
338
257
276
303
274
272
347
287
262
302
248
290
246
301
354
263
332
231
402
388
358
364
304
284
343
254
315
318
312
359
318
283
246
381
323
256
345
268
258
374
361
304
283
397
329
406
343
322
320
335
352
319
341
333
259
346
351
320
343
321
359
292
282
249
339
331
314
355
305
281
392
303
181
406
332
199
280
308
319
307
336
333
265
316
184
211
331
270
201
331
339
346
362
250
319
345
332
340
314
343
323
320
311
284
350
308
378
402
340
334
225
277
304
300
284
301
314
396
409
326
277
290
379
329
336
398
350
305
355
362
331
174
323
317
336
355
370
271
300
312
271
342
338
308
322
288
333
352
300
362
360
306
305
287
399
299
364
297
353
330
415
265
276
343
283
261
245
297
325
271
337
331
338
232
405
325
289
290
334
370
348
235
317
324
314
370
256
330
322
329
354
332
326
269
349
267
291
360
326
245
382
284
316
353
332
315
286
364
250
321
410
271
400
312
354
327
249
314
343
339
303
275
333
343
310
392
322
348
306
248
295
267
339
309
379
309
348
327
352
267
361
376
311
345
280
313
310
300
354
175
281
395
355
278
302
275
413
327
202
315
346
394
307
274
281
327
310
370
391
321
288
320
387
239
362
227
368
324
281
287
337
287
332
293
306
329
327
319
360
376
293
312
332
320
288
337
340
266
302
243
354
289
396
299
313
284
364
260
325
278
311
297
285
360
269
330
374
287
254
294
321
322
240
386
342
320
374
226
319
356
363
218
359
347
289
382
331
405
348
339
339
311
280
283
284
275
284
299
334
388
300
318
338
386
328
259
308
373
319
325
344
262
268
283
335
325
339
251
300
367
289
315
243
235
281
389
375
336
269
302
287
325
336
286
259
369
380
276
287
221
269
319
242
310
180
359
317
387
339
361
334
313
320
261
326
321
320
293
293
335
272
393
307
305
260
365
294
314
313
276
406
329
416
401
319
277
343
405
316
242
179
338
333
299
299
293
306
360
340
232
303
301
293
362
275
288
268
382
302
341
342
283
262
349
300
365
251
355
385
387
341
313
210
307
285
323
379
395
339
303
443
328
329
276
399
333
407
296
292
321
221
208
317
328
312
306
351
363
373
433
233
309
330
298
325
269
346
293
343
267
324
244
328
234
360
274
255
396
303
309
295
275
255
320
288
268
325
324
289
228
273
225
168
302
260
333
406
262
327
307
378
358
308
380
372
396
311
273
266
355
208
339
306
305
291
331
330
385
246
289
299
317
247
444
267
337
364
342
277
346
345
434
373
322
354
310
337
297
342
279
318
259
317
256
330
241
297
354
342
266
275
321
327
281
361
322
236
226
440
403
352
230
288
264
337
385
350
356
346
345
287
277
294
384
288
263
292
404
343
358
356
372
282
302
292
350
358
293
275
322
352
285
340
337
390
301
277
329
360
315
326
282
313
348
396
347
406
396
332
311
383
261
304
357
323
342
335
209
370
293
266
318
328
279
349
222
247
302
332
348
343
314
240
337
228
310
269
321
293
291
254
356
325
262
286
254
306
334
293
249
296
377
332
175
253
288
396
315
335
336
302
347
312
311
288
334
330
376
327
319
343
263
269
299
359
362
303
295
346
279
377
305
310
298
263
302
295
332
351
388
369
329
237
386
339
368
284
252
347
291
277
334
323
341
297
328
296
339
323
279
326
370
227
297
278
393
381
298
293
364
314
293
349
353
385
275
356
347
360
313
362
267
410
344
314
388
288
444
345
323
328
321
298
285
264
262
331
313
385
326
390
379
251
286
303
366
336
367
350
257
288
406
352
286
345
255
375
296
397
323
327
303
274
241
334
257
353
298
326
388
316
348
340
244
345
335
334
306
255
266
391
275
265
341
394
215
290
330
304
369
322
275
321
333
321
312
329
267
229
327
238
325
343
260
266
331
305
322
286
326
328
301
307
401
352
309
321
261
333
281
300
318
322
298
266
368
231
268
281
282
363
310
343
352
254
255
285
291
244
303
279
351
292
308
264
337
270
322
238
323
306
340
333
344
284
344
282
392
342
271
366
361
361
289
307
324
223
336
386
314
327
292
247
338
415
294
323
308
352
291
343
292
291
303
301
396
337
364
235
308
284
335
301
310
351
309
266
255
462
335
304
335
288
276
349
301
244
245
271
361
315
365
276
287
325
317
303
327
363
241
343
349
393
351
259
319
264
282
333
227
250
379
383
334
331
308
322
303
379
217
318
267
353
270
188
306
321
296
291
307
206
275
357
220
294
311
364
283
305
370
240
379
304
333
301
394
359
286
313
215
354
325
390
420
284
332
327
394
259
351
391
305
356
335
313
355
363
406
381
319
220
338
342
305
408
283
298
290
266
259
274
252
262
307
319
353
290
241
171
359
284
346
329
310
254
290
354
468
305
285
288
310
242
374
365
292
367
319
249
336
241
292
418
379
321
279
249
234
289
238
301
322
248
264
377
365
293
357
344
335
338
331
197
277
343
352
334
290
296
323
349
333
323
326
371
270
277
293
316
337
310
324
286
386
313
274
331
313
381
334
333
303
315
283
360
257
292
337
385
245
313
264
351
346
278
301
237
303
388
336
282
329
303
280
330
338
342
353
309
302
340
317
241
281
324
213
325
295
384
331
304
408
292
326
331
331
341
316
339
348
363
255
313
377
287
314
342
350
306
366
319
331
406
269
307
355
269
286
266
285
355
377
310
362
341
374
282
336
233
329
320
297
340
309
341
369
253
288
353
332
343
438
317
376
252
272
281
317
337
327
266
305
271
284
368
302
193
350
348
252
274
328
256
262
347
325
275
318
251
251
285
264
251
353
313
339
356
296
290
371
367
286
370
276
319
229
296
232
334
370
356
282
331
408
307
355
356
292
329
265
252
325
360
330
391
325
257
337
415
337
347
257
312
295
305
312
316
345
378
294
343
360
251
342
252
268
313
309
264
280
268
367
320
289
266
264
348
348
380
319
277
375
293
323
294
304
319
288
382
344
358
362
289
312
325
288
202
300
357
347
295
297
240
343
309
369
332
234
280
332
368
324
277
301
258
257
332
376
288
345
335
284
316
320
332
336
390
337
339
305
331
312
203
331
348
330
326
384
414
252
308
274
329
268
289
290
332
273
322
373
280
280
308
313
348
296
247
290
292
358
333
314
327
369
260
314
297
308
349
315
305
348
315
368
297
329
311
375
357
309
350
313
341
314
324
272
301
352
374
242
334
313
334
273
363
310
312
323
333
298
345
282
286
329
307
216
256
360
362
360
316
351
296
376
329
380
276
316
380
303
384
351
320
299
392
331
257
300
308
231
261
263
330
360
296
329
348
268
287
370
233
357
319
310
292
267
370
334
284
353
353
350
321
313
327
296
355
334
302
273
277
252
254
398
313
308
333
267
375
312
315
315
387
311
301
181
293
341
306
287
336
277
353
351
384
303
318
332
311
322
394
374
292
289
358
232
253
374
287
356
368
338
349
322
264
244
300
416
272
355
274
278
302
319
308
303
336
371
239
267
335
332
297
299
301
272
269
286
346
396
421
362
305
306
223
318
334
237
349
217
328
315
361
318
318
387
359
321
370
331
251
352
356
294
271
236
338
292
346
391
437
311
333
281
296
257
284
386
346
288
244
295
330
296
345
272
398
339
363
286
284
327
318
330
355
275
309
198
385
342
297
342
337
298
338
265
291
372
314
230
249
296
263
211
283
311
259
298
269
218
345
270
332
298
247
299
328
342
305
351
267
261
259
350
326
337
263
273
282
324
250
317
309
331
265
326
344
305
354
329
290
344
320
405
238
310
396
305
410
338
273
308
309
303
333
321
333
318
275
287
314
380
353
303
342
308
330
312
331
368
303
317
223
288
271
337
312
222
283
413
291
319
291
387
357
318
310
274
236
346
301
329
352
323
248
272
352
370
327
391
375
310
355
342
306
283
326
291
282
244
370
262
314
324
320
348
333
364
239
360
285
277
367
300
301
288
352
293
336
298
321
351
315
304
337
336
322
361
401
362
373
369
321
266
225
263
334
329
342
284
302
384
303
283
349
206
283
316
312
306
293
341
370
337
268
319
352
281
320
325
379
216
296
395
368
261
298
258
342
330
414
350
288
245
275
254
266
345
341
374
312
286
300
322
305
186
312
354
334
329
295
322
331
323
269
254
313
293
294
353
368
261
386
295
290
303
309
375
367
328
224
278
379
365
290
325
289
312
279
278
387
257
357
417
255
242
280
344
306
287
273
374
342
305
325
278
332
257
403
363
384
298
222
296
290
349
364
285
342
353
354
312
351
356
262
276
317
327
331
336
345
335
355
279
319
342
276
291
376
323
268
358
327
327
296
271
366
359
283
234
256
326
311
349
379
311
365
312
259
261
339
421
277
319
228
292
358
197
331
366
323
351
308
310
288
280
307
356
247
247
302
258
390
348
330
428
350
275
312
278
316
331
302
337
271
332
202
325
346
388
297
254
304
289
309
233
361
294
204
276
302
267
324
283
402
324
306
308
300
276
355
217
344
370
292
321
248
254
321
329
339
364
384
251
309
354
343
285
215
338
221
354
334
344
356
229
314
303
320
335
225
236
332
354
266
352
305
288
308
311
290
349
284
361
315
291
276
337
322
292
353
313
361
328
344
387
351
334
372
274
386
318
304
255
270
335
216
310
341
337
325
377
292
326
292
279
321
304
334
275
393
377
323
348
282
399
336
338
324
299
221
332
263
320
316
256
309
359
224
388
363
317
267
272
269
285
327
354
360
326
289
297
335
261
367
355
307
332
309
336
261
245
194
295
313
298
418
374
340
310
323
321
274
373
235
299
346
288
275
313
268
343
256
302
272
402
291
357
297
333
353
280
336
296
344
364
298
365
316
378
287
251
325
331
301
275
291
363
295
339
338
391
328
265
329
342
358
318
326
268
283
268
324
297
298
331
310
360
250
377
315
327
309
280
273
312
246
292
280
294
344
400
254
370
344
282
282
339
306
234
287
263
316
323
243
393
346
381
288
306
319
257
338
380
347
321
381
295
245
371
246
329
322
305
355
214
336
308
310
258
278
350
325
287
290
376
318
334
339
341
368
350
262
279
350
334
337
333
301
322
271
369
354
309
274
347
296
243
324
293
351
309
308
350
296
303
289
350
271
289
368
305
265
312
248
249
316
320
332
365
394
299
206
311
272
326
318
359
275
355
284
263
225
330
302
388
247
344
365
316
269
334
280
381
280
283
293
317
319
223
272
287
389
186
346
288
379
274
328
307
371
302
283
280
352
388
353
335
340
295
283
334
390
294
313
341
315
297
290
265
316
315
313
300
330
322
305
294
354
297
258
301
281
303
336
330
300
297
236
375
305
318
290
304
398
262
318
221
265
289
307
368
347
298
273
282
276
254
288
353
300
289
334
332
306
289
281
299
326
316
220
425
302
359
381
290
326
298
268
307
217
269
281
283
271
257
338
345
286
322
219
356
307
357
353
353
283
304
306
250
241
337
331
362
218
285
348
302
232
395
348
270
364
367
277
354
307
328
353
310
339
285
296
359
350
384
203
363
213
376
302
345
317
328
339
342
336
297
358
298
402
346
347
315
341
311
292
356
330
301
264
267
314
370
346
325
225
350
321
259
290
289
248
326
320
351
356
304
295
260
236
397
353
334
285
251
308
390
269
331
250
305
282
280
319
315
360
315
318
424
303
321
307
372
325
179
331
371
305
321
349
291
335
233
355
344
310
380
264
291
378
265
263
271
304
329
364
327
357
309
326
240
221
319
332
340
358
402
327
389
317
324
372
343
298
369
388
307
369
262
244
299
358
337
290
319
291
337
311
271
240
318
278
300
409
348
268
353
297
275
329
360
292
296
289
280
261
417
320
320
335
358
331
371
346
379
293
306
271
318
361
338
296
324
276
333
358
355
328
310
270
366
264
350
327
349
289
272
400
371
311
297
385
312
340
378
284
320
346
354
275
319
257
325
378
257
369
410
365
337
299
290
312
273
283
309
296
275
324
309
256
290
336
323
312
318
313
278
361
351
362
327
266
283
244
338
283
264
325
360
264
343
323
285
304
331
328
213
436
246
320
340
210
294
313
217
295
365
285
314
327
383
262
301
288
277
241
290
359
354
320
343
312
320
255
382
250
354
335
232
359
349
324
356
305
311
325
262
383
346
251
298
333
288
290
378
312
302
351
295
318
289
293
293
310
272
293
326
376
208
293
273
332
342
354
391
349
283
318
228
294
340
287
290
368
304
301
365
316
286
397
237
325
344
306
288
230
318
269
303
327
257
376
316
335
296
348
310
325
349
274
331
334
325
324
227
361
285
332
344
367
259
244
330
389
316
404
315
371
371
302
407
360
272
335
332
296
308
290
199
288
279
312
301
309
316
375
329
308
254
327
420
311
331
234
315
321
296
398
303
304
264
283
335
239
359
268
302
329
263
298
246
276
386
328
269
325
246
316
322
315
316
298
276
306
266
366
262
293
341
390
339
313
299
311
304
319
321
288
253
186
302
269
308
335
311
349
352
255
347
343
229
254
304
320
304
291
338
260
303
222
337
325
287
250
376
307
254
269
243
338
373
332
338
404
355
370
263
278
353
327
296
276
259
281
342
328
320
323
251
293
360
231
276
275
331
334
370
342
329
335
316
330
312
318
337
325
399
296
355
274
301
341
268
322
378
374
330
326
323
272
360
263
338
281
304
332
274
339
303
358
259
281
287
298
211
317
357
279
311
347
355
367
232
252
315
300
350
292
337
344
398
334
360
412
227
322
229
340
281
278
272
237
239
354
316
344
312
329
314
366
376
300
308
335
305
298
330
327
400
346
335
317
275
244
295
320
298
301
290
275
305
353
314
338
317
337
416
258
318
357
241
282
311
369
332
285
302
351
321
388
288
288
267
331
345
201
290
285
342
358
255
318
323
355
388
284
279
262
228
302
328
403
318
306
316
289
297
288
303
346
337
255
344
286
335
304
333
295
305
267
285
293
274
348
261
324
223
343
304
286
303
239
337
303
397
299
290
312
352
207
333
360
325
304
327
287
298
324
309
277
338
350
323
331
304
412
316
271
368
307
320
326
283
375
286
363
356
341
320
349
368
289
333
329
372
272
247
232
361
219
362
312
279
316
334
335
340
218
321
297
287
298
297
444
289
337
353
328
333
345
320
336
359
312
221
336
420
266
252
310
420
244
292
370
333
346
310
350
232
349
245
261
291
351
257
378
332
323
258
311
461
335
311
262
338
227
364
325
255
327
263
328
320
333
332
297
271
303
350
274
258
344
338
234
373
428
279
365
360
310
270
291
303
313
307
307
282
378
399
247
387
422
282
255
369
347
394
306
384
328
293
347
308
308
400
246
371
312
275
266
390
283
278
314
322
307
279
311
337
296
300
334
352
266
352
345
275
317
283
258
272
340
225
327
341
295
373
357
308
299
366
392
239
325
262
380
377
302
280
309
377
329
378
284
327
261
385
268
382
260
298
284
271
274
306
290
331
285
285
270
244
310
324
356
426
344
325
347
337
302
289
242
281
289
265
300
317
287
386
346
328
307
354
324
302
372
322
243
323
314
336
335
346
269
348
340
309
295
307
285
305
303
321
379
356
274
305
265
327
216
291
313
270
338
272
355
365
349
340
301
383
360
407
411
297
328
292
312
292
362
304
392
301
371
314
378
313
330
317
350
298
301
300
356
333
417
347
277
255
337
317
332
357
288
283
293
291
236
306
306
376
336
303
359
359
273
312
350
343
248
308
251
286
323
345
373
311
354
285
303
247
371
313
314
293
297
289
308
337
273
315
314
345
257
299
375
273
307
327
335
357
353
322
306
274
309
283
308
294
247
295
241
278
332
263
296
362
273
337
400
286
350
297
242
317
322
329
433
362
332
335
329
356
348
340
350
342
226
321
346
292
322
272
388
283
287
290
316
279
273
341
307
342
366
331
334
404
342
259
342
384
319
376
202
316
366
277
322
262
311
255
284
354
253
330
288
300
271
346
217
243
257
403
273
281
313
344
313
415
324
338
307
247
332
297
309
359
309
386
236
242
244
370
331
309
352
233
344
319
352
307
340
301
345
368
326
241
296
314
409
258
299
285
383
254
262
302
328
297
374
375
312
282
306
332
335
306
323
385
320
329
319
326
365
343
255
323
332
269
322
255
288
313
310
266
302
296
353
334
285
309
303
364
221
361
360
401
334
404
244
311
314
315
262
369
207
308
348
295
310
336
320
339
337
292
292
353
319
331
263
295
381
362
367
353
354
278
400
342
290
288
369
349
295
264
283
370
354
271
336
235
282
222
326
264
361
304
278
274
264
353
330
337
314
268
285
263
351
379
320
280
326
372
254
417
309
326
307
295
311
411
318
285
350
266
305
334
296
320
322
298
284
305
317
323
314
289
331
280
347
288
355
219
308
324
418
389
305
332
264
336
347
244
278
339
389
321
307
308
346
388
341
295
272
250
370
344
327
304
292
292
371
307
387
302
293
362
308
309
418
267
227
279
286
310
302
249
278
255
338
301
298
244
267
303
413
333
300
426
341
315
249
252
282
318
339
354
432
345
317
265
336
283
206
289
326
328
353
300
368
332
278
284
321
294
350
358
325
344
385
367
277
320
268
253
309
347
333
290
363
301
296
369
304
305
310
375
304
316
299
315
398
360
344
399
391
358
319
298
280
225
320
329
303
264
288
376
366
296
312
303
370
274
317
307
265
281
225
251
336
274
335
340
353
309
321
386
240
318
359
279
270
312
315
358
331
281
362
334
292
268
322
310
271
306
308
348
335
289
250
367
246
254
271
313
361
264
307
274
303
291
308
310
302
264
342
296
325
304
350
372
308
318
339
345
221
296
251
369
324
299
317
355
293
319
308
341
322
235
330
346
348
392
272
371
319
312
352
280
357
354
314
291
358
339
303
295
277
317
423
311
362
357
359
329
347
257
346
326
315
237
216
303
363
331
308
311
300
313
308
371
309
289
352
325
250
218
293
364
339
330
277
319
381
304
373
290
251
253
260
384
276
312
317
348
364
314
413
425
297
250
310
399
282
336
307
267
238
239
351
279
304
278
330
227
219
323
252
281
362
348
288
361
353
264
348
292
250
297
370
306
322
327
371
243
257
348
304
317
281
287
381
328
337
288
230
395
277
357
412
336
355
306
292
321
325
340
315
276
314
390
272
282
371
298
314
354
326
302
321
302
276
301
370
268
326
310
333
257
406
317
331
345
243
289
294
405
353
281
355
300
201
267
382
369
258
337
280
357
265
357
319
394
342
386
333
393
299
240
404
244
339
255
262
345
232
254
348
382
356
216
349
310
352
302
334
275
325
297
322
261
271
264
341
314
381
377
265
307
296
213
266
267
303
300
248
362
297
390
324
336
341
213
348
254
264
352
314
320
391
376
352
410
394
283
285
398
257
366
339
325
273
317
284
325
324
274
255
303
313
300
312
296
259
333
270
213
301
393
358
355
369
365
231
322
299
337
335
288
377
326
283
356
292
302
308
234
318
272
327
225
323
283
270
312
260
330
328
304
351
298
275
277
271
344
311
349
332
380
338
283
240
285
294
377
346
370
265
235
296
232
338
331
399
388
312
246
336
234
214
346
304
343
363
335
245
211
323
266
302
361
336
340
361
343
286
314
331
395
311
320
326
291
362
333
339
241
211
302
322
381
418
294
261
345
275
361
322
364
339
333
334
320
336
280
387
294
159
328
310
393
302
375
309
311
372
365
269
250
374
355
346
262
355
322
322
302
271
341
282
268
269
367
394
293
264
266
283
255
321
304
250
335
295
273
415
289
278
364
358
262
358
305
260
321
309
282
303
229
326
314
223
407
382
268
328
275
289
290
285
292
376
309
284
300
322
348
329
374
340
318
337
154
349
266
242
295
243
368
328
321
228
309
252
306
329
354
297
353
292
375
236
243
338
347
323
263
329
295
263
369
309
331
377
273
328
256
296
337
259
297
286
302
259
319
279
353
330
376
367
273
282
354
273
298
309
420
359
350
391
256
361
315
340
332
274
396
247
317
350
407
321
266
368
325
338
332
402
344
316
283
372
241
325
394
315
267
352
222
365
270
388
224
423
364
363
280
326
377
320
358
204
309
382
397
287
392
312
325
288
364
282
343
371
280
273
336
300
349
298
287
406
335
389
261
336
339
257
299
312
340
226
304
291
290
369
302
348
335
319
244
324
266
311
347
304
285
327
253
328
317
285
350
336
309
290
278
378
246
315
345
361
315
338
299
286
355
308
325
270
220
353
237
371
255
247
275
310
297
381
336
360
199
275
290
299
213
242
325
424
270
330
307
233
262
379
354
322
262
252
331
305
388
257
270
302
337
359
299
271
343
365
292
367
292
345
220
335
343
326
316
287
284
274
247
276
323
301
306
287
324
307
352
356
302
268
296
338
275
207
287
304
269
365
315
269
367
327
247
254
387
324
291
358
272
392
385
348
297
255
293
318
302
359
251
397
306
316
236
305
277
295
306
299
294
325
330
356
322
280
331
249
325
308
382
279
330
219
356
352
297
310
280
257
239
304
325
329
266
274
374
269
350
274
344
341
292
253
318
286
287
373
266
273
240
312
301
229
287
299
341
287
300
253
360
355
299
330
284
297
321
312
349
326
294
235
240
363
352
302
306
336
291
338
276
372
257
349
285
314
374
434
397
345
307
320
301
279
235
385
270
244
354
302
306
318
421
318
355
283
371
303
341
345
251
355
261
376
258
244
288
344
290
351
332
179
349
320
400
283
254
306
306
327
356
323
296
307
406
321
322
294
358
349
362
293
235
308
327
403
373
311
304
342
303
328
294
313
312
359
289
283
329
324
398
366
295
320
302
260
314
377
293
354
317
388
286
255
382
350
313
278
356
343
240
355
295
347
327
339
306
345
281
334
273
294
343
342
378
368
306
306
280
250
328
303
302
376
343
359
299
285
298
280
377
312
313
359
316
329
255
294
308
328
295
259
219
332
326
359
289
426
352
268
386
282
404
365
339
310
348
294
286
380
353
360
322
300
313
251
275
287
387
243
308
272
352
242
319
344
349
241
386
292
367
335
362
241
268
351
293
355
348
281
283
245
314
295
352
289
318
362
275
256
371
370
272
281
302
294
322
333
292
332
338
228
293
365
371
384
262
347
361
240
293
329
325
331
344
284
213
311
329
312
312
280
370
333
302
218
275
325
307
343
321
290
282
311
373
290
232
328
357
239
319
275
284
373
323
300
306
342
314
358
317
336
273
384
269
302
339
309
313
376
320
338
347
301
287
369
314
327
246
318
332
378
230
279
294
285
252
303
421
326
309
256
292
273
339
331
337
320
348
316
335
292
262
369
246
265
311
315
304
360
360
332
269
315
386
302
306
303
295
223
302
331
311
256
253
321
388
361
311
337
255
237
269
290
294
303
313
344
346
320
409
352
367
293
325
321
313
332
369
398
272
383
349
286
348
244
334
268
290
375
291
283
402
316
362
330
277
295
315
338
306
297
348
267
313
305
314
351
296
373
268
301
356
346
349
332
372
402
380
299
293
238
333
372
312
303
295
250
366
394
354
275
344
284
331
255
386
218
330
271
275
359
336
347
382
324
365
279
377
299
297
266
285
305
288
408
366
355
366
352
334
314
270
300
271
291
354
319
316
299
350
289
282
358
269
332
353
411
298
271
309
353
237
286
399
264
413
323
343
274
342
238
310
368
334
330
291
327
329
307
321
261
263
207
319
380
274
279
350
330
343
283
291
416
379
438
320
328
316
328
300
262
401
293
259
349
301
390
311
349
340
351
232
245
396
372
289
306
334
311
319
334
339
400
329
370
315
342
314
309
343
252
295
300
300
340
362
323
333
268
351
315
295
299
295
241
279
294
214
388
280
308
311
306
221
336
343
305
378
310
394
298
383
386
340
341
297
350
272
304
274
373
299
268
369
378
307
300
277
311
324
284
308
326
284
347
327
222
338
364
287
315
346
313
361
343
285
322
241
249
328
367
239
311
253
318
354
352
262
244
349
396
326
326
285
319
325
371
238
330
373
281
241
309
280
372
266
434
305
282
323
319
337
303
328
345
333
411
318
357
362
338
305
314
259
326
237
300
314
336
403
324
351
261
332
319
241
307
333
300
280
296
397
275
307
355
332
268
333
333
366
340
296
282
274
243
269
288
310
316
235
312
318
416
292
339
310
379
268
330
283
316
299
343
271
303
333
311
354
316
283
289
350
335
255
337
285
363
330
317
240
287
300
217
364
375
302
308
296
344
306
301
347
273
307
371
375
325
338
393
277
309
329
304
295
326
363
247
341
338
330
349
321
351
314
341
323
386
360
312
329
263
306
344
323
307
280
243
355
325
313
348
349
400
352
306
327
332
339
422
289
326
333
250
337
273
260
341
265
304
267
350
366
253
295
379
359
349
345
257
302
265
391
417
271
291
358
410
337
242
318
316
338
320
394
331
234
304
286
316
348
269
314
301
297
399
395
303
317
314
282
370
376
340
292
262
383
386
266
365
332
282
358
360
351
246
317
266
324
280
335
336
348
308
253
408
291
140
308
261
378
368
286
298
215
289
397
273
293
335
289
292
356
342
384
262
260
311
288
267
327
299
333
258
382
235
346
245
394
307
309
374
212
392
352
275
340
278
309
339
319
339
369
263
349
414
309
368
312
245
282
338
325
328
223
323
296
331
344
297
320
305
364
316
239
357
300
186
287
331
320
360
352
301
357
278
241
351
321
331
310
295
341
349
214
314
348
222
286
312
288
329
269
338
321
400
333
340
309
254
350
319
380
324
332
311
214
273
315
287
330
257
320
286
335
242
314
303
358
305
282
249
370
345
355
256
243
322
344
402
322
361
369
434
285
306
299
316
264
332
332
318
287
330
337
261
319
375
349
246
322
313
249
302
263
300
253
270
373
284
404
310
354
380
351
286
297
215
364
349
279
317
341
304
348
348
378
342
355
277
353
285
207
306
244
320
351
225
316
389
360
246
383
345
316
321
353
359
322
289
327
364
328
281
345
297
327
317
349
217
307
378
404
307
337
363
348
291
379
313
333
265
312
324
304
286
293
303
349
345
290
291
301
359
337
307
269
338
329
313
371
281
315
249
287
328
392
279
344
436
304
246
325
268
330
301
314
229
277
234
332
323
369
386
284
323
343
333
321
401
389
239
264
317
231
330
396
264
329
217
267
256
248
311
319
323
274
389
320
316
304
328
352
334
339
316
365
299
364
311
357
341
397
325
334
270
288
402
277
300
248
400
308
338
253
275
261
266
360
304
367
277
310
317
381
372
309
276
303
281
285
351
327
389
328
289
338
356
344
267
277
313
338
331
330
309
334
297
325
329
292
338
320
369
354
265
303
352
330
276
230
348
351
279
259
272
273
315
371
327
298
289
354
324
374
352
383
346
353
283
266
328
315
317
260
332
339
350
272
322
250
323
379
203
288
319
407
252
248
294
301
316
225
375
409
306
329
409
337
277
290
248
334
336
311
342
347
325
275
328
314
346
363
326
323
278
288
311
397
302
362
305
285
287
339
353
259
307
337
249
382
382
226
320
389
239
324
267
292
360
269
331
215
278
290
322
369
314
354
338
244
273
255
288
302
290
151
275
260
320
250
291
383
282
349
288
331
274
311
357
407
271
318
323
313
282
222
340
348
395
352
296
307
258
397
314
384
317
360
394
308
311
324
210
339
276
290
321
322
257
341
265
365
326
306
326
321
302
262
329
341
298
308
295
231
295
327
300
257
405
275
237
334
251
328
278
353
294
251
264
298
315
340
282
300
286
228
263
301
356
392
371
345
344
323
337
270
303
280
354
341
368
343
295
259
353
295
309
307
299
287
201
308
263
387
250
374
388
362
322
289
291
324
344
312
371
329
345
275
257
340
245
332
280
348
326
286
339
330
318
233
314
297
315
275
295
289
397
315
339
409
376
256
358
308
375
262
243
321
326
231
368
297
395
349
305
283
312
365
299
295
337
285
196
343
279
325
333
265
219
287
359
350
357
282
302
388
303
348
279
293
277
293
330
425
264
305
299
323
298
352
310
295
322
298
343
372
349
372
327
310
353
216
281
339
343
258
393
349
281
198
381
348
281
341
315
280
281
314
323
300
218
333
341
299
353
414
355
344
327
348
291
334
299
313
329
248
269
297
342
229
326
319
346
239
282
318
294
287
284
336
301
326
282
268
333
312
313
228
294
245
287
340
379
314
344
303
281
283
341
325
296
313
263
326
301
334
291
340
325
235
308
243
334
381
341
295
320
364
295
355
319
331
312
327
321
317
331
280
370
318
376
339
349
324
278
361
350
298
365
226
403
291
323
310
301
336
210
365
309
353
305
362
347
259
284
274
300
410
318
252
246
356
304
294
325
366
333
317
258
336
380
234
269
202
249
319
302
358
312
275
286
325
313
299
403
294
291
371
373
270
251
291
240
324
318
332
312
367
284
352
374
350
303
303
259
365
331
369
325
294
270
350
362
304
262
318
318
277
326
322
347
269
316
241
356
425
312
354
298
291
302
324
297
291
340
328
365
334
224
317
356
247
291
379
354
362
325
311
399
275
309
373
315
365
310
326
303
374
313
284
372
244
194
392
253
271
362
304
290
330
321
343
378
223
419
370
299
345
363
295
380
325
307
341
410
327
322
336
227
283
316
280
280
355
313
254
314
304
348
405
308
346
353
280
331
364
265
321
352
294
300
396
296
339
323
389
273
274
326
370
238
313
291
374
286
316
371
359
372
253
320
376
366
338
352
372
272
339
267
291
322
308
259
347
311
270
352
308
302
375
257
324
370
359
387
281
374
373
230
380
258
285
265
318
387
256
298
342
273
249
218
363
278
256
279
309
314
283
218
439
318
329
303
313
306
366
307
359
393
331
311
351
364
291
323
362
367
301
289
320
324
339
325
292
294
264
198
290
359
273
286
382
248
282
346
258
297
339
334
315
324
297
341
338
370
323
275
290
310
331
356
290
315
304
327
333
320
439
347
328
344
303
245
343
339
314
323
318
233
273
282
337
374
309
324
283
424
374
350
300
350
274
307
267
340
308
348
277
303
402
285
250
324
262
305
390
268
313
224
210
290
316
339
362
281
259
345
302
289
333
281
301
302
355
237
374
347
327
397
283
229
286
329
225
308
307
273
264
321
288
231
352
391
256
385
345
294
332
355
277
318
324
304
321
287
343
344
376
264
347
333
293
275
334
281
281
301
335
341
312
264
288
429
234
278
362
295
297
433
325
255
397
401
329
326
278
333
263
288
281
343
329
309
215
346
278
230
342
418
292
305
234
268
335
339
295
318
231
382
394
294
296
247
340
323
305
244
385
279
307
289
280
340
275
373
254
278
310
316
401
335
302
251
277
260
268
256
350
242
454
337
348
235
323
310
225
237
169
355
299
306
289
287
314
259
295
304
357
358
382
358
330
282
318
269
410
332
356
356
335
300
375
274
288
290
272
398
386
298
343
303
297
299
309
199
364
281
368
230
279
335
292
352
410
242
302
374
316
388
240
307
276
309
277
260
360
285
359
265
270
340
366
322
300
338
300
316
280
277
341
400
289
374
329
209
275
328
298
287
317
318
298
343
279
277
280
258
302
335
313
266
329
350
366
299
321
311
273
311
239
292
334
303
305
286
374
300
343
312
254
323
327
326
254
259
207
349
266
343
349
239
405
385
305
328
283
326
289
252
359
241
284
325
238
274
286
310
298
346
391
344
267
278
317
285
349
291
279
242
295
297
282
378
238
352
356
262
319
330
348
398
356
220
328
172
323
302
378
334
316
335
377
256
357
391
299
307
366
365
387
233
282
203
346
383
370
325
255
355
296
249
325
336
254
372
320
286
285
302
370
388
336
329
349
364
329
302
350
357
297
351
311
259
291
329
281
311
316
410
296
250
313
273
352
307
288
257
348
278
271
297
293
281
361
278
233
367
328
294
291
304
314
357
370
293
345
316
372
331
330
373
378
297
317
258
335
333
321
373
262
178
414
305
392
351
265
309
336
309
339
244
374
273
299
357
324
310
339
323
343
308
359
301
359
327
223
291
337
285
282
303
364
286
353
298
336
314
352
261
348
222
354
265
321
247
389
338
350
318
267
341
345
258
401
293
319
393
316
330
339
346
305
282
310
332
312
324
372
274
288
307
306
349
358
233
330
282
337
436
337
381
395
302
314
339
306
386
386
328
320
306
308
286
315
408
286
328
343
310
288
340
305
329
310
311
335
392
326
314
325
335
321
336
337
306
330
332
325
348
350
319
203
328
330
365
303
238
318
402
238
351
314
301
275
370
223
326
331
236
366
260
225
338
242
314
275
348
285
262
314
254
313
289
299
249
356
346
340
342
270
310
330
273
289
354
296
277
323
301
334
313
374
341
328
248
370
336
347
266
258
311
342
304
311
283
259
294
397
301
325
317
278
349
276
282
262
292
328
330
314
297
288
305
313
338
312
319
237
322
348
309
314
257
286
367
320
280
347
290
293
356
348
351
275
278
238
273
373
300
329
302
207
308
332
268
434
313
279
280
207
294
364
356
286
298
320
351
354
306
317
325
377
296
253
310
238
353
326
237
296
388
237
292
295
349
377
247
347
286
351
331
339
331
257
363
327
329
311
376
271
247
273
290
297
297
360
307
272
346
317
345
306
307
309
358
310
331
441
288
233
379
351
276
346
373
301
299
248
258
331
313
317
317
326
238
373
304
376
346
292
323
304
236
355
208
360
292
308
289
328
339
334
340
294
296
291
256
317
363
286
219
327
316
379
329
290
287
358
304
309
193
350
298
334
374
328
344
340
338
337
298
334
319
293
356
281
343
387
307
290
233
368
280
303
326
310
253
363
298
328
347
265
338
359
290
228
234
333
320
393
332
295
265
335
311
333
220
358
319
338
340
334
314
289
353
264
254
269
368
364
222
261
268
365
279
274
340
337
304
368
293
284
279
377
219
294
362
313
300
331
352
234
283
246
322
346
269
267
360
392
352
359
306
371
325
306
294
340
390
368
287
302
341
294
304
330
270
301
304
306
321
298
367
295
271
271
380
304
290
303
279
311
306
326
322
312
298
321
319
361
348
232
359
347
378
268
295
307
277
290
286
391
349
369
297
409
376
322
234
338
305
317
303
248
281
358
236
308
370
277
257
294
316
304
232
369
338
396
290
391
299
292
385
316
326
389
291
312
284
321
382
286
279
283
262
400
342
389
262
330
282
281
368
291
243
339
319
311
301
367
367
304
386
361
204
317
323
317
328
275
248
326
283
254
328
295
390
283
436
287
287
327
266
309
340
292
301
231
356
314
335
371
233
276
297
283
394
291
389
384
360
327
317
196
324
311
381
336
341
337
337
387
304
333
255
370
336
360
340
344
323
298
265
310
327
400
372
372
354
265
284
304
342
300
355
382
330
299
329
304
325
284
335
251
246
358
347
300
308
357
270
417
355
279
291
349
351
238
301
336
328
345
311
356
301
346
341
338
357
341
355
301
334
342
333
377
319
297
299
380
364
300
296
317
267
287
282
369
374
322
337
264
366
347
244
282
233
330
251
272
286
291
411
311
273
302
255
321
268
268
336
300
370
302
344
339
246
339
293
356
365
304
314
308
282
312
335
310
310
349
281
338
302
358
383
355
287
322
345
301
306
371
273
300
284
298
254
372
257
290
346
370
193
421
320
362
311
337
382
282
292
346
307
253
289
343
343
273
368
247
310
364
259
360
353
364
280
390
319
280
336
317
299
379
300
300
308
298
368
298
330
368
329
242
325
353
302
262
401
291
282
305
235
299
335
412
304
285
379
264
363
309
335
262
407
326
357
320
398
305
318
252
243
353
335
359
287
342
306
276
355
404
309
298
347
251
309
362
324
292
314
316
322
285
313
310
361
324
307
256
366
288
324
320
360
336
336
319
330
327
245
229
324
426
283
381
363
323
368
223
323
311
314
287
240
286
347
308
348
299
305
339
295
435
262
263
295
289
328
246
273
304
353
383
311
320
276
341
262
274
302
308
335
335
282
313
234
260
308
439
348
319
320
352
326
276
364
280
268
236
314
307
356
260
364
341
280
325
296
277
273
390
352
298
303
337
336
345
351
331
337
276
204
340
291
288
333
291
367
310
319
349
355
352
289
334
314
332
307
247
331
358
355
270
335
287
299
323
331
329
384
347
295
370
265
376
242
398
324
244
333
254
265
317
286
401
317
288
260
304
324
212
333
294
337
312
321
264
335
365
350
267
366
255
301
344
303
380
279
342
325
303
270
399
298
316
352
295
397
322
300
257
315
251
310
331
352
276
330
317
344
210
393
328
333
224
251
260
284
303
272
298
261
341
268
366
348
315
292
220
337
323
352
258
250
266
334
319
369
322
279
243
301
339
223
336
258
280
280
290
296
295
308
258
248
347
380
343
346
206
272
392
352
269
268
330
318
253
269
308
353
317
280
268
343
375
284
260
379
296
247
353
333
286
284
323
223
402
298
377
348
351
306
318
342
325
224
395
303
273
339
238
271
334
231
374
276
296
275
292
325
316
280
364
272
274
269
276
351
294
263
328
261
307
344
328
284
370
457
327
348
264
241
333
364
357
341
324
385
297
272
235
248
320
353
254
216
343
338
273
242
236
290
236
272
408
306
351
312
390
310
357
298
305
308
329
272
348
328
328
238
330
340
260
266
300
387
358
368
304
371
266
320
386
372
303
300
275
363
346
297
309
236
372
311
272
403
312
378
343
307
291
305
219
286
337
346
394
352
323
342
325
286
382
266
331
222
323
280
330
293
224
324
305
241
310
299
287
257
256
332
193
261
304
375
414
350
224
328
289
289
300
366
384
330
357
350
225
309
304
392
322
363
267
314
355
346
339
302
309
393
356
306
297
356
329
285
361
429
191
362
265
319
316
259
351
287
337
333
345
233
372
341
273
405
266
314
307
316
209
304
362
302
273
315
292
306
362
346
347
307
246
358
323
389
334
367
270
363
313
378
380
369
242
256
216
331
347
302
288
282
273
382
255
382
389
237
337
317
346
310
353
311
261
309
278
264
307
359
277
364
275
294
234
319
301
218
307
233
311
340
281
273
334
347
294
398
306
302
317
352
357
277
354
316
301
363
263
358
256
323
305
399
318
335
313
298
299
304
351
385
354
296
279
319
343
281
169
315
397
331
329
222
353
365
290
316
324
354
351
385
284
242
251
264
292
315
349
327
312
298
309
369
369
289
235
320
315
311
343
340
313
361
338
331
291
309
225
320
273
372
336
333
334
241
356
304
366
377
294
297
311
433
425
251
282
320
254
340
420
278
323
296
303
268
301
332
328
345
280
392
288
353
278
327
323
337
284
359
326
368
360
305
309
255
331
265
311
332
243
344
415
316
289
283
280
269
355
280
255
305
311
278
327
381
274
302
364
362
268
334
394
419
266
448
324
197
301
362
419
297
238
331
386
254
364
249
265
320
312
324
400
389
344
345
336
307
395
339
329
252
336
301
343
264
393
338
346
395
439
226
362
296
271
339
371
373
321
332
256
272
367
301
279
258
301
338
349
355
275
344
245
337
359
282
318
297
298
416
346
276
269
426
329
293
330
329
330
358
420
309
352
256
323
390
372
392
294
332
252
311
329
293
240
364
316
355
336
274
233
356
295
369
305
381
329
312
238
324
321
307
340
385
335
356
310
209
318
293
282
248
251
310
342
299
294
300
336
339
329
237
257
241
322
303
299
355
339
355
357
307
416
270
368
381
317
280
394
221
325
387
265
285
334
231
415
330
388
394
308
365
273
368
338
308
332
344
287
324
351
318
339
309
267
284
338
265
380
296
314
259
298
309
330
284
358
345
345
374
340
317
325
392
285
368
323
330
293
339
325
297
295
298
381
358
297
312
223
269
374
220
318
347
359
368
411
441
240
245
275
254
320
301
249
376
313
360
326
344
361
313
308
276
284
259
265
365
224
335
267
299
321
297
274
289
404
256
364
281
327
270
277
328
265
328
288
310
282
334
329
329
364
212
249
338
319
366
336
374
326
337
373
338
298
312
265
399
338
363
311
326
371
373
224
331
226
300
280
458
364
339
345
290
407
313
264
294
376
231
304
350
304
348
308
263
288
359
246
301
336
248
332
316
276
361
330
361
302
299
334
339
343
294
291
350
358
391
244
340
349
377
285
292
374
345
373
337
381
333
308
348
284
306
307
363
363
305
270
251
322
256
305
275
199
346
320
358
292
264
341
339
254
364
323
372
242
363
334
295
264
281
384
268
282
345
240
300
357
272
425
257
257
327
305
274
361
352
294
297
305
363
190
245
289
339
365
294
301
300
314
281
241
370
318
245
275
402
345
345
318
319
322
271
375
343
392
340
313
274
355
345
322
308
344
354
256
277
318
298
295
359
341
342
318
371
311
317
318
304
370
329
341
331
362
355
263
343
295
198
233
272
373
306
304
356
354
411
366
396
178
294
375
300
258
282
323
337
291
356
326
361
254
387
348
267
245
317
327
370
354
393
333
340
349
354
264
290
381
231
294
286
333
401
272
308
337
256
289
343
375
335
365
303
320
312
249
338
286
406
349
313
345
325
350
319
299
292
303
305
387
303
285
317
293
314
284
378
352
269
367
290
297
359
311
315
249
294
314
357
289
314
325
294
321
268
328
328
334
297
277
298
285
321
320
273
292
381
296
321
349
335
337
346
302
361
342
318
310
237
373
259
346
350
328
280
296
338
282
418
335
324
275
398
305
250
263
285
288
310
346
291
389
321
297
277
318
299
305
245
299
262
360
307
247
305
397
398
352
294
373
269
340
351
389
311
358
241
294
237
253
403
289
268
290
316
271
356
322
323
250
294
284
328
274
289
303
339
438
375
310
312
305
291
297
281
300
309
318
280
267
315
276
332
279
334
352
321
332
292
235
292
409
241
441
324
282
416
331
317
339
372
360
324
321
266
319
320
287
336
311
271
307
285
272
335
373
359
263
334
265
271
277
279
353
326
263
270
317
372
431
318
208
260
319
258
309
314
358
272
360
233
374
284
323
282
301
323
357
356
306
325
346
330
313
378
356
276
360
291
293
260
323
302
296
330
312
302
267
238
272
357
339
283
373
308
301
309
341
296
335
305
324
337
266
313
242
324
270
262
354
348
312
277
295
256
293
320
284
323
309
343
333
262
303
353
319
330
259
317
293
265
293
322
287
344
287
237
298
326
340
374
302
343
350
326
356
347
209
268
343
323
278
263
346
278
303
184
305
308
291
324
265
295
360
234
236
383
309
371
247
340
354
333
241
279
295
393
291
311
317
359
282
296
321
269
347
408
346
308
257
323
318
358
209
235
338
305
298
286
272
261
287
310
272
268
271
377
399
344
294
298
260
264
156
278
312
340
275
355
333
307
282
248
303
270
287
246
279
305
261
373
357
340
316
313
301
273
350
299
308
299
324
340
305
296
278
343
286
298
251
340
332
268
365
318
295
328
234
362
256
334
382
307
268
368
333
319
355
306
396
275
250
292
330
275
311
333
344
348
287
301
300
336
328
312
297
339
310
350
304
278
320
236
293
344
281
295
265
297
281
390
322
226
349
351
271
325
267
325
314
339
281
403
296
369
381
220
351
273
257
330
292
353
234
414
375
331
313
314
258
262
297
293
372
404
351
244
327
289
305
401
239
242
359
330
373
320
387
310
264
353
322
266
349
310
356
348
324
311
292
366
260
268
303
287
244
385
317
324
323
268
331
274
293
361
315
271
341
325
332
316
340
290
212
259
314
305
242
353
360
289
293
372
334
214
355
390
358
347
273
356
340
298
313
229
281
311
287
354
306
341
313
365
280
366
281
365
326
335
293
368
309
336
338
369
301
260
332
394
270
375
311
258
276
312
329
292
306
343
295
313
288
251
260
351
360
317
332
319
340
311
342
369
320
405
354
278
357
287
335
303
387
323
315
298
331
230
330
296
296
342
276
290
359
330
342
315
306
267
274
379
380
216
295
325
305
387
267
365
256
367
317
322
376
253
298
357
334
297
311
294
284
285
355
370
349
329
364
344
305
279
325
272
311
265
383
311
270
290
283
308
271
236
228
293
384
346
345
295
293
277
384
294
344
331
268
356
261
310
231
304
328
405
300
253
305
284
248
328
335
278
288
287
355
323
312
383
324
325
310
288
334
204
389
271
343
407
300
244
308
255
366
330
268
355
375
298
400
377
333
335
288
288
274
362
284
348
323
338
298
213
379
303
297
291
303
349
305
249
256
290
318
326
332
309
311
313
267
314
317
279
332
259
290
340
332
349
264
271
280
314
333
443
340
352
351
228
297
253
331
362
366
286
350
329
314
289
303
373
279
351
316
293
308
289
266
300
306
279
389
331
297
313
224
349
268
295
325
412
326
323
387
344
364
331
305
405
318
369
328
361
341
306
275
277
337
280
231
307
228
306
335
341
359
347
335
378
346
284
320
253
292
329
350
355
323
343
326
310
294
299
318
257
309
328
348
307
214
313
290
265
294
341
330
340
363
340
335
363
293
302
318
347
314
311
382
281
373
357
235
338
347
347
297
372
371
260
380
291
254
333
334
221
284
296
306
343
268
415
267
343
275
289
309
352
292
253
298
312
407
290
270
350
226
349
319
317
329
209
273
319
315
272
296
348
323
279
353
317
339
299
372
265
307
328
348
320
303
321
332
303
265
320
303
294
315
260
310
325
283
303
273
289
427
339
322
313
332
353
264
371
328
308
253
258
316
368
364
256
298
338
405
360
340
393
347
362
220
323
350
330
308
420
295
297
389
392
379
296
316
319
258
272
317
283
387
266
305
327
270
278
299
331
319
340
277
342
315
323
297
311
322
283
263
349
289
387
319
284
397
327
341
281
262
302
234
243
381
302
305
237
385
293
388
316
264
339
318
282
233
344
335
320
283
262
358
261
316
299
309
367
250
295
271
317
257
270
264
331
312
323
304
289
414
286
338
322
292
339
398
283
341
319
301
316
311
306
278
325
342
262
314
384
283
266
255
215
348
279
364
276
306
248
268
255
286
268
392
389
342
304
295
315
354
289
327
331
267
339
287
307
325
321
326
256
304
302
311
288
266
278
387
318
263
283
341
377
341
314
349
295
300
369
302
319
336
280
249
296
306
369
247
295
352
289
318
359
360
383
291
238
310
360
297
219
357
311
362
334
292
362
329
382
319
238
351
243
287
267
329
294
341
288
328
344
337
333
342
225
272
296
379
367
413
281
240
327
346
330
438
420
360
297
343
292
313
402
290
299
361
364
312
325
327
316
264
311
360
257
353
326
257
372
277
445
284
314
251
334
354
296
314
363
307
285
293
308
265
320
298
320
322
362
285
281
290
319
280
323
265
284
328
360
305
375
300
246
337
312
299
262
338
265
351
318
332
296
254
340
370
345
349
329
363
312
270
282
441
323
318
371
342
304
342
262
302
325
282
317
306
372
333
248
293
330
358
319
308
361
336
368
319
342
313
253
269
339
326
380
375
331
310
359
347
254
369
334
366
356
309
260
277
288
206
325
223
327
241
329
338
231
315
340
301
321
394
324
329
300
369
268
330
368
250
339
325
354
299
314
316
347
319
336
297
368
326
354
361
390
316
271
268
286
292
312
244
319
376
333
278
330
353
379
334
268
325
373
298
313
275
265
214
321
347
206
366
349
340
227
328
303
314
324
283
282
331
257
317
345
285
323
335
324
337
336
308
320
330
365
337
305
297
297
303
328
303
266
280
189
367
319
349
258
315
237
338
370
283
296
303
359
326
262
286
344
259
395
415
276
272
273
315
337
294
408
324
340
256
371
391
290
316
232
294
341
283
450
304
297
261
360
363
328
303
256
314
328
343
333
281
389
226
359
341
301
366
333
311
236
347
260
293
320
348
350
321
316
362
280
382
205
293
270
325
263
341
369
341
331
216
365
321
310
355
315
288
292
284
304
387
377
320
336
340
347
307
323
337
333
248
381
259
281
350
273
369
347
372
370
282
354
273
253
348
333
316
321
351
285
299
206
340
324
316
312
371
189
343
350
257
291
362
250
317
328
337
290
350
311
287
216
296
245
390
287
294
361
288
338
271
363
427
339
322
295
334
271
324
349
386
371
294
362
267
347
362
319
395
227
341
297
346
278
313
332
289
309
252
346
341
372
337
348
376
337
346
322
333
276
267
298
361
256
310
276
347
248
243
337
368
277
273
222
315
293
254
326
274
384
352
365
323
289
336
313
303
289
362
374
260
387
335
305
319
287
329
324
240
364
269
397
320
208
306
333
281
316
339
268
346
316
321
322
282
242
345
277
303
269
372
250
312
368
280
300
318
318
282
306
332
325
255
297
280
308
305
220
339
248
311
251
329
282
328
337
325
306
303
385
246
286
397
296
343
398
293
330
295
311
350
335
345
271
290
373
399
306
287
282
356
361
343
347
326
360
327
310
369
289
274
312
292
398
351
374
284
240
281
326
247
301
328
317
372
274
343
292
321
321
312
274
253
327
317
390
320
321
326
280
384
218
250
296
352
220
309
270
281
375
354
346
411
260
266
354
317
358
319
293
352
306
305
270
259
315
369
338
278
280
269
263
280
338
314
375
298
343
380
320
258
229
235
351
326
266
319
350
372
216
264
262
297
276
223
270
368
356
272
312
292
340
262
379
309
285
305
296
401
354
359
327
320
371
362
352
335
343
329
349
386
332
345
360
336
303
328
225
331
372
296
315
233
349
378
333
337
343
383
416
322
297
313
340
334
317
355
320
232
362
346
397
289
332
324
362
233
227
246
361
383
344
298
320
301
309
268
314
322
341
272
357
390
270
261
275
326
320
295
379
226
290
300
324
270
323
335
317
262
297
414
355
339
334
340
342
288
345
284
331
282
289
248
372
358
359
265
296
322
377
322
321
375
305
351
224
339
303
282
348
279
363
342
270
268
239
270
324
260
346
359
254
276
376
329
301
376
336
302
227
339
290
294
321
359
308
282
346
358
364
360
337
370
348
299
285
340
368
318
370
348
337
264
243
340
356
285
313
321
319
267
288
339
258
304
303
387
308
278
382
328
341
276
266
316
345
325
301
251
231
375
231
402
338
365
319
337
285
364
257
344
293
304
349
279
361
370
289
224
373
348
348
341
366
333
282
387
312
331
368
220
309
345
248
336
322
285
312
275
393
339
252
317
331
302
290
373
381
336
288
304
353
422
293
284
299
309
294
270
305
267
259
242
384
329
325
334
375
346
340
295
366
322
368
324
275
326
317
236
380
344
338
384
283
310
407
305
373
286
208
294
290
302
250
395
322
270
321
344
300
284
294
330
266
270
291
291
338
228
393
302
345
317
369
318
390
367
371
255
343
305
238
311
324
355
256
323
297
347
302
386
286
229
320
290
260
306
365
290
271
246
304
353
285
391
225
273
245
323
435
321
235
335
255
379
385
386
358
310
306
357
284
319
245
203
332
287
286
315
305
348
258
327
318
256
320
275
268
287
360
206
359
225
341
241
327
360
273
365
325
308
268
325
358
338
293
366
324
296
276
353
227
342
351
368
350
305
336
262
265
340
316
292
262
350
299
373
401
376
334
283
278
262
315
308
299
332
293
253
369
345
351
267
289
357
295
277
355
346
327
329
255
301
331
297
233
258
342
335
285
390
353
302
307
295
388
328
262
341
318
302
272
334
390
368
277
301
330
351
281
309
275
321
296
341
280
205
303
332
326
267
272
236
350
230
277
329
292
279
279
357
250
344
342
335
380
301
285
294
281
384
347
326
309
321
335
251
311
409
324
258
337
213
358
337
307
286
210
277
346
252
358
333
335
348
349
335
355
347
372
346
289
380
286
252
329
346
282
367
373
375
251
387
319
364
311
348
327
355
331
297
302
244
317
304
294
345
347
321
322
240
307
336
370
324
267
333
301
349
361
315
315
347
322
312
338
345
375
294
367
304
302
278
399
330
469
247
271
314
312
267
313
258
347
310
331
233
369
242
265
384
305
306
280
274
299
272
347
339
291
268
277
298
381
300
353
296
298
214
282
328
330
276
292
355
287
305
292
374
342
259
315
320
332
331
364
327
276
301
353
357
278
315
313
341
286
376
302
293
345
265
338
381
303
286
315
287
320
373
348
340
314
270
245
286
260
298
248
286
275
322
226
314
365
297
302
303
294
304
256
247
315
323
285
351
330
334
312
310
303
335
320
336
290
285
309
295
364
267
296
272
328
332
303
310
245
316
351
345
334
333
263
361
289
424
345
271
313
394
303
248
338
353
293
289
272
313
284
254
275
356
315
286
440
277
276
309
316
316
294
313
348
294
336
303
292
338
306
348
344
345
360
326
396
311
327
252
306
260
336
339
332
251
350
290
383
326
274
383
400
197
295
332
307
327
349
242
309
349
301
265
286
392
268
231
279
303
309
296
362
249
330
403
333
289
339
293
259
355
313
336
245
314
390
303
303
236
286
344
295
331
319
316
202
290
384
295
386
297
240
355
316
341
343
344
324
328
265
306
426
293
245
393
395
364
281
310
343
346
388
297
380
268
263
281
399
251
296
329
362
284
324
323
289
378
300
299
320
357
353
320
250
281
244
272
308
259
324
331
278
326
344
337
323
354
244
380
274
309
399
321
381
333
243
386
252
321
311
299
377
269
359
322
298
262
266
286
309
334
288
401
244
304
261
347
340
388
325
328
361
273
290
328
361
256
293
294
351
227
313
319
270
259
394
308
329
284
389
321
273
313
314
307
324
297
347
354
379
366
346
308
251
298
319
298
416
359
338
376
315
408
362
326
397
271
359
266
308
292
323
358
307
339
363
231
291
248
289
334
340
357
241
285
297
313
363
344
339
370
279
240
279
306
385
374
312
299
303
371
305
366
360
303
286
315
300
269
335
320
272
349
374
413
258
351
299
361
257
274
326
326
275
334
307
318
304
358
323
359
260
213
244
350
341
290
228
251
321
308
348
374
297
379
277
311
306
287
302
328
299
379
351
286
307
277
310
269
278
268
386
309
419
257
332
259
285
352
321
252
280
304
269
261
318
320
282
313
349
301
329
358
232
248
292
365
243
292
342
290
297
368
353
347
289
368
357
355
280
265
291
281
327
329
304
376
350
326
333
385
310
332
350
403
302
327
350
401
314
280
313
278
233
337
403
272
342
352
349
277
254
265
304
326
312
371
342
344
301
356
338
347
387
249
304
249
250
324
340
313
305
269
305
311
305
427
272
315
377
297
285
371
312
273
390
301
301
277
325
303
214
303
384
393
243
337
248
368
302
386
341
311
318
290
306
288
304
253
324
356
358
317
327
274
333
267
338
406
220
384
335
389
390
292
370
377
344
289
267
332
256
298
297
306
290
356
312
285
318
330
219
410
327
211
285
268
202
307
299
320
315
315
313
336
340
356
295
338
334
319
305
253
353
360
380
333
357
248
308
295
386
257
355
270
311
326
310
313
323
289
298
293
289
291
272
384
326
313
346
280
283
311
353
291
285
345
356
341
332
343
307
264
313
381
341
341
336
312
313
327
256
230
332
330
333
249
317
409
357
329
232
346
230
278
243
292
315
285
362
345
300
325
374
254
374
355
344
357
310
325
324
311
336
301
270
328
329
384
284
294
363
297
281
355
225
343
329
326
313
381
280
274
306
315
346
281
332
240
361
270
286
330
322
350
284
359
395
321
252
303
328
418
276
289
315
403
334
348
264
369
308
358
309
329
302
296
388
333
311
290
260
266
347
369
286
294
317
402
266
325
340
319
339
295
343
344
322
282
344
356
266
304
404
272
323
278
369
350
299
329
355
300
355
270
275
269
242
246
361
340
236
290
292
313
274
280
323
310
378
342
312
335
353
243
333
297
244
327
351
300
312
240
263
308
308
299
280
209
341
349
356
324
382
330
270
312
305
357
227
403
385
311
353
392
302
302
303
258
355
271
350
269
277
280
339
304
331
392
387
367
314
336
390
325
262
377
269
373
249
387
353
318
315
306
337
295
321
299
258
248
277
328
342
277
313
318
264
373
319
320
350
341
290
246
250
345
251
303
353
413
369
336
267
317
328
316
299
247
343
317
306
277
290
278
294
332
311
327
251
332
384
281
344
344
305
234
341
263
341
306
312
311
310
297
306
327
273
302
289
290
238
320
218
260
253
293
277
352
364
344
321
378
362
283
360
337
313
308
303
319
329
305
340
282
357
255
336
231
369
389
300
279
293
332
283
272
294
258
371
308
347
318
362
337
338
256
345
345
313
343
276
313
255
290
383
310
269
277
352
303
295
369
338
247
303
314
322
374
353
376
300
279
262
255
317
348
323
318
292
315
347
404
366
307
275
276
309
307
316
318
323
334
343
322
342
318
272
349
325
301
320
321
323
391
319
274
346
299
309
276
357
357
396
312
300
404
356
375
299
248
338
350
383
374
286
282
323
274
221
280
397
341
294
353
450
326
355
428
256
336
279
321
279
289
315
415
280
323
277
249
365
321
281
308
289
334
336
252
337
334
371
324
331
307
298
342
225
264
293
290
327
372
331
391
333
420
353
390
296
301
381
323
312
330
393
304
377
300
317
371
276
339
307
335
271
280
309
343
418
359
321
319
349
261
278
344
247
344
336
290
374
284
256
301
297
231
326
315
369
303
250
246
271
327
302
293
273
252
384
286
313
371
281
281
333
315
308
330
312
318
287
336
313
339
318
287
270
337
312
292
240
354
237
401
382
306
277
346
281
379
363
291
350
287
260
262
371
364
338
317
360
279
439
345
293
380
361
289
309
291
332
266
329
297
306
283
328
276
266
330
403
390
220
266
364
296
304
264
247
289
346
332
270
279
248
330
303
283
286
369
327
277
326
306
321
348
315
267
430
332
231
307
271
370
282
304
393
333
333
304
310
316
386
308
254
320
314
319
347
384
284
306
263
340
307
294
281
399
296
251
361
346
340
335
332
360
263
322
289
315
371
304
381
352
371
353
268
287
316
316
313
254
256
400
327
291
322
279
345
359
377
347
273
293
301
301
383
263
290
377
310
351
296
265
330
287
353
331
277
349
290
351
328
334
294
341
276
271
396
335
305
364
331
378
240
369
353
381
365
362
316
300
235
323
286
352
269
255
333
318
268
367
297
338
384
260
299
283
348
291
309
273
293
331
395
325
386
254
267
379
364
344
367
332
315
365
251
244
328
286
288
315
339
304
394
397
422
325
366
292
226
325
328
279
358
296
366
356
364
278
326
377
209
366
335
309
279
345
243
305
294
301
317
339
326
373
347
324
349
386
364
352
347
344
329
347
341
353
339
329
345
308
414
304
314
350
296
383
305
287
349
248
317
291
338
196
323
262
287
363
389
365
354
301
307
308
313
336
338
244
303
370
302
246
281
323
328
336
396
286
282
369
315
303
350
225
303
388
317
338
346
219
338
278
322
384
358
314
301
329
307
266
344
306
281
316
311
341
273
282
341
286
385
391
292
356
344
344
350
347
266
262
363
329
304
280
306
340
379
297
333
309
357
322
266
297
327
342
218
308
301
288
331
295
372
271
316
330
296
275
361
320
389
317
326
297
360
250
283
306
270
306
322
270
379
259
279
335
301
254
325
320
331
275
423
297
334
304
326
354
361
301
302
236
235
293
366
348
208
315
364
286
306
336
210
296
299
388
358
358
351
283
300
297
360
271
260
301
288
343
323
280
385
357
306
226
305
247
307
296
271
295
341
276
287
281
310
330
238
404
373
301
301
235
307
384
377
283
346
279
295
280
337
319
376
302
324
386
249
379
319
280
300
311
357
289
335
327
303
314
306
307
331
307
305
289
361
392
296
400
236
334
321
339
388
372
326
386
318
295
277
270
281
234
297
332
372
329
295
270
296
364
403
419
298
358
306
234
294
382
327
261
370
323
289
383
331
300
310
307
345
358
300
263
315
259
256
295
330
218
349
342
273
352
285
364
369
293
354
320
334
313
301
239
277
299
384
297
364
236
329
334
321
330
322
338
394
322
261
385
315
407
281
408
345
382
301
359
292
307
284
314
398
359
328
318
336
282
318
367
261
295
293
307
263
260
202
343
389
319
252
280
298
302
355
315
331
307
351
367
288
337
231
299
280
279
360
343
322
294
440
358
253
262
350
332
304
328
246
337
323
267
331
290
287
318
286
349
302
372
352
323
297
354
313
236
340
366
328
277
340
312
386
362
339
313
236
283
402
353
315
294
308
381
380
413
277
313
328
306
275
384
291
370
347
259
314
360
252
294
269
279
416
265
384
297
294
291
353
298
414
221
273
245
317
350
345
359
358
298
394
259
307
354
431
362
197
321
317
339
349
326
227
321
272
254
371
345
323
310
297
298
312
336
213
297
357
314
356
376
287
340
317
261
255
332
285
385
393
308
326
281
355
234
340
335
326
361
276
221
300
324
379
287
314
278
280
380
279
365
283
267
301
368
302
338
299
301
365
307
288
371
287
332
319
251
249
326
288
323
309
316
361
292
293
229
289
369
337
297
306
303
388
269
349
328
261
334
209
284
358
280
393
293
342
298
266
271
313
253
268
231
310
219
279
345
378
318
338
312
383
330
369
364
259
232
303
279
336
205
355
331
240
304
315
298
350
323
224
329
301
273
288
281
344
262
370
329
373
372
365
346
348
236
269
311
302
396
324
352
206
344
342
288
243
361
355
304
293
230
300
325
342
251
320
307
319
341
310
266
262
331
360
308
396
341
322
350
324
285
352
248
329
308
272
345
393
294
345
356
342
333
286
280
321
345
320
309
329
235
313
224
324
295
376
325
328
298
282
345
328
242
411
369
328
306
322
269
310
336
292
311
355
282
303
229
245
367
292
359
322
308
329
348
365
310
309
339
301
366
230
326
305
306
354
349
314
368
311
354
315
312
371
270
300
278
337
313
372
282
272
307
289
250
333
400
369
287
240
343
223
332
323
282
378
289
356
332
320
337
367
295
296
319
373
304
226
289
320
258
365
308
229
271
298
290
365
332
346
343
333
366
214
348
319
268
317
214
337
250
351
241
342
286
318
358
284
263
348
305
401
282
328
309
346
304
290
286
261
289
283
290
280
292
225
319
303
237
305
313
322
327
231
306
300
321
412
306
338
268
327
255
273
394
279
313
313
276
332
272
283
313
388
299
317
303
356
320
402
293
375
332
249
180
366
352
298
330
333
368
299
311
390
319
354
328
290
384
385
350
327
279
359
364
352
353
330
365
304
308
210
293
305
352
287
344
250
307
404
366
326
381
320
296
312
419
369
306
319
264
285
299
354
380
288
348
212
357
378
308
317
339
319
277
222
288
360
285
287
298
277
308
357
343
351
421
309
302
306
313
298
374
272
216
294
291
395
414
310
312
372
281
349
307
343
275
308
362
340
269
217
302
267
263
334
329
241
316
370
352
276
345
307
343
186
373
282
335
333
353
296
346
382
277
315
390
294
326
308
293
344
398
355
316
311
288
345
302
330
233
325
289
304
276
360
290
273
310
284
294
338
334
338
324
304
185
349
269
315
403
317
342
278
276
366
228
380
277
277
297
289
389
335
333
391
335
267
330
349
199
304
304
351
335
302
335
286
261
316
348
327
327
266
350
328
406
281
310
268
349
337
336
272
323
330
259
382
261
327
306
309
294
294
294
357
366
349
353
236
205
252
371
224
298
297
287
297
282
357
297
289
275
361
306
318
346
336
257
333
367
314
329
339
339
257
257
276
292
306
300
325
371
354
313
322
344
262
404
297
283
367
345
258
229
350
330
330
341
355
253
310
300
231
284
361
290
298
299
297
283
250
323
257
247
332
225
375
286
324
359
226
267
312
315
379
314
328
377
340
329
342
356
317
303
301
277
252
251
281
337
294
370
378
323
347
332
368
355
362
315
290
359
286
317
238
306
319
301
272
332
345
314
319
260
318
361
294
350
214
306
290
323
232
301
297
290
366
237
380
318
314
329
303
248
243
309
241
325
322
268
311
231
283
259
323
317
345
354
329
296
280
407
311
395
311
238
339
267
314
307
392
315
393
393
318
246
374
250
258
406
313
329
305
340
394
320
322
297
299
281
275
303
281
323
363
301
308
336
378
282
397
294
277
360
360
297
361
269
341
284
366
247
270
324
336
288
284
264
283
295
310
416
308
347
257
249
329
347
344
323
346
271
308
283
292
297
314
293
356
241
320
354
237
285
377
235
399
338
358
386
296
386
383
330
339
318
289
257
342
355
288
265
385
297
368
257
266
268
223
338
270
422
302
327
427
344
389
328
344
330
358
256
342
327
249
339
298
336
204
369
299
369
295
335
266
318
323
366
303
387
368
273
309
262
270
282
315
359
411
350
357
299
396
287
315
319
270
274
325
162
347
367
363
363
338
308
300
350
321
287
341
263
367
293
314
330
331
268
348
342
348
302
345
325
373
352
352
321
289
283
308
241
325
256
348
346
290
372
279
373
332
344
270
305
421
350
250
224
268
226
315
344
315
286
293
323
294
343
307
309
293
286
247
319
332
316
401
349
241
226
222
352
335
315
223
405
303
306
289
313
318
346
295
313
394
353
376
334
259
311
365
316
281
255
330
353
290
383
412
296
292
311
371
346
380
297
334
329
333
293
293
346
297
274
221
224
213
274
350
281
260
244
307
313
294
289
387
294
245
364
328
406
422
246
295
299
351
324
333
326
322
281
251
278
264
258
328
325
344
279
321
377
277
308
341
381
369
301
224
316
282
281
360
394
430
351
282
402
318
276
314
363
328
297
295
329
353
219
320
398
279
348
306
292
222
370
355
337
291
278
385
305
305
350
328
338
369
312
313
247
358
310
345
330
332
340
336
246
296
346
335
268
387
222
277
247
418
320
330
280
182
267
317
277
418
226
277
331
264
395
304
344
376
322
348
272
273
258
270
345
358
329
333
266
270
287
340
321
311
333
406
342
263
354
342
279
433
349
320
353
303
344
377
355
334
255
392
336
314
334
214
308
279
347
321
274
312
320
390
331
306
351
339
322
313
304
323
324
364
300
355
253
311
374
368
257
300
327
257
362
368
298
364
324
271
299
346
335
215
369
344
340
331
294
300
291
302
335
297
351
304
326
289
310
404
318
347
298
313
367
319
305
310
277
278
276
330
249
322
291
316
360
336
281
328
256
352
320
279
396
283
265
360
303
321
223
294
314
320
309
244
357
347
316
403
369
281
322
350
276
297
280
349
256
283
342
290
357
320
211
398
335
300
418
370
301
332
319
422
268
281
255
303
407
349
334
319
315
380
362
316
369
329
352
310
355
333
314
403
283
323
227
262
228
323
390
294
274
253
328
279
323
344
304
307
289
331
337
206
338
314
261
323
270
304
245
293
338
299
345
361
291
330
304
425
326
281
428
294
337
369
317
390
234
271
342
291
405
315
312
350
302
392
341
226
278
307
355
254
331
350
401
294
327
327
254
239
273
211
370
297
298
291
264
389
251
381
239
324
378
307
342
271
275
281
276
393
346
384
386
309
392
354
266
243
267
317
334
337
304
335
262
308
346
274
220
328
297
328
244
329
280
359
249
311
339
369
347
246
328
204
311
329
213
312
202
288
205
281
311
339
258
310
292
324
278
322
302
337
240
309
355
300
334
369
355
368
359
351
352
322
239
286
366
304
309
301
331
341
331
300
365
393
335
323
383
297
268
383
341
365
296
373
333
331
316
321
290
305
317
332
375
339
269
288
306
333
318
261
411
352
320
381
258
273
289
342
353
350
296
295
283
334
300
236
291
348
356
390
334
228
373
354
290
324
346
329
285
208
324
342
313
360
299
299
326
230
296
314
307
347
268
329
343
288
281
277
330
296
278
299
329
277
306
315
216
306
309
283
372
297
316
296
294
282
363
326
295
374
360
352
388
394
345
368
233
289
319
315
237
396
274
229
337
311
351
294
235
304
318
308
303
299
223
210
383
326
344
323
252
372
308
255
273
319
293
362
320
257
319
326
310
272
356
357
320
321
288
263
318
369
326
288
349
355
276
243
265
366
306
273
294
314
400
268
299
252
241
384
262
346
310
319
310
305
261
287
304
320
388
318
334
310
274
313
331
300
317
301
329
316
338
287
309
284
385
260
428
305
282
285
309
386
302
270
387
296
261
348
311
271
311
326
305
327
318
391
364
269
252
271
316
304
121
361
272
277
308
329
306
338
429
317
274
298
379
244
258
284
262
262
301
312
323
347
356
306
360
369
329
296
288
334
312
253
308
289
370
288
238
272
376
254
240
301
340
249
303
364
370
309
394
349
314
299
277
366
356
238
287
362
362
258
289
327
316
272
269
384
291
331
313
280
325
273
262
404
292
324
288
371
357
426
273
269
386
343
312
334
321
339
269
327
370
369
316
279
253
373
310
305
271
247
267
218
332
310
315
322
277
235
335
353
248
331
295
342
352
311
415
347
300
325
334
328
286
317
321
318
300
279
311
342
200
300
262
363
326
341
197
346
354
347
384
291
307
310
402
321
344
244
325
310
348
258
330
224
284
306
325
359
333
338
318
346
226
302
306
318
282
315
321
269
263
268
354
312
355
379
354
340
330
334
280
357
317
262
362
377
239
297
300
338
244
247
346
316
396
270
300
325
345
262
383
374
261
421
352
341
257
382
236
356
325
319
365
316
306
258
325
316
334
380
316
310
291
331
241
346
309
335
235
264
267
325
330
213
341
365
367
396
353
350
348
412
257
432
389
303
323
280
274
359
279
310
299
243
324
296
375
336
348
334
344
283
328
328
263
366
352
346
348
295
267
283
389
273
390
229
324
419
278
311
354
291
302
318
329
466
378
309
291
330
316
278
379
313
288
269
245
357
333
268
391
321
230
375
306
356
311
293
285
319
236
367
291
287
372
396
379
340
392
255
376
399
336
305
280
357
345
280
327
292
364
351
339
330
347
305
245
275
299
315
316
385
317
262
345
397
312
333
224
312
340
355
247
339
246
241
414
378
252
323
210
382
334
329
370
271
301
267
267
243
392
320
242
337
235
327
200
246
374
365
286
345
298
319
248
303
321
330
283
289
350
305
259
325
341
396
265
392
397
349
296
312
348
369
394
274
319
242
280
365
344
336
368
303
381
353
225
388
308
357
381
270
353
285
198
385
353
317
349
344
307
335
374
232
292
246
285
288
262
384
300
308
345
315
283
385
319
322
348
306
317
323
322
327
281
346
329
330
368
252
310
362
287
323
400
328
336
333
323
296
277
297
246
320
311
240
280
273
222
287
278
344
370
351
354
246
377
314
251
331
295
300
406
440
338
317
323
331
340
346
352
346
354
369
332
313
320
306
313
309
321
318
340
335
335
327
398
212
378
354
259
258
256
262
324
249
399
295
321
290
307
358
368
276
216
309
333
340
291
263
326
325
359
369
288
279
342
257
303
276
325
345
380
328
285
361
342
356
276
340
389
322
333
330
391
246
334
351
297
312
326
384
317
379
346
323
335
292
323
322
285
393
335
401
274
339
331
263
283
317
260
315
298
308
359
342
353
296
243
305
289
301
264
281
332
384
337
351
256
226
280
363
268
257
316
205
340
306
410
394
360
330
303
263
269
338
343
370
320
286
350
290
452
333
314
238
276
354
252
285
301
391
302
385
322
350
381
273
248
348
243
286
387
372
237
285
300
280
342
315
333
329
301
312
289
350
353
298
280
365
346
280
340
414
327
320
375
355
363
303
259
374
376
298
366
343
304
287
334
372
366
304
345
265
323
225
324
357
294
345
372
313
327
352
283
380
336
363
285
324
273
337
336
317
320
418
357
242
330
321
273
355
359
239
299
275
297
201
311
353
238
351
328
310
305
308
274
366
291
224
370
276
308
285
343
312
285
286
384
328
287
293
364
340
319
308
282
314
312
256
278
277
305
392
299
206
291
296
383
225
345
264
307
278
375
295
271
274
301
307
319
324
340
285
287
289
251
268
269
375
342
361
271
328
360
374
320
255
357
226
205
333
324
295
351
270
276
293
376
259
296
322
347
318
303
301
212
333
291
258
286
205
307
368
346
391
296
284
370
197
255
291
304
336
347
354
310
323
295
345
293
317
315
272
361
312
306
365
266
283
367
369
350
386
282
321
401
303
290
337
324
280
276
406
351
335
399
317
380
358
260
239
291
356
315
298
304
233
344
287
388
306
250
396
354
202
308
355
352
260
287
328
359
359
315
398
303
374
312
408
314
392
329
323
284
303
229
250
391
326
358
282
373
307
236
279
262
293
300
318
299
322
299
284
299
357
263
402
367
402
325
391
311
407
296
320
239
332
373
289
335
327
313
267
240
354
347
227
350
274
272
268
306
319
326
274
305
347
316
312
342
309
319
298
313
296
332
348
336
244
317
355
339
238
294
314
346
334
267
417
365
353
328
283
366
196
330
267
304
333
290
295
313
285
273
326
341
296
250
351
233
368
260
269
407
267
310
263
340
329
372
347
329
265
335
359
296
377
327
274
312
270
454
283
369
337
287
384
254
304
253
220
346
317
272
336
365
368
275
372
304
427
360
256
330
329
377
226
354
260
259
366
297
300
325
278
307
302
304
230
314
300
337
309
340
347
369
324
317
276
293
290
344
355
405
293
407
376
301
307
318
317
215
333
361
339
241
254
260
363
338
351
278
350
346
258
300
325
273
227
291
320
337
327
325
274
303
301
322
295
333
246
325
282
325
355
331
324
327
280
385
297
384
372
289
286
305
264
327
333
291
332
306
315
338
374
379
311
302
305
357
351
268
323
315
376
333
340
267
334
318
320
231
225
242
349
362
295
319
364
316
278
343
305
387
223
354
368
257
308
331
343
343
301
316
334
342
298
235
338
335
328
287
259
308
352
366
309
283
353
305
379
305
365
282
303
247
343
313
328
371
293
391
255
291
386
284
355
350
356
331
356
284
288
312
365
347
321
302
321
240
345
366
372
388
323
315
303
363
359
300
257
371
339
320
298
258
325
372
323
327
235
304
344
334
330
259
320
270
365
335
257
334
341
287
324
294
300
290
361
345
294
238
301
279
290
252
316
322
314
269
291
337
313
316
338
276
308
341
382
352
332
268
249
313
323
254
282
293
340
354
345
278
297
358
343
309
329
397
333
320
353
352
293
332
302
306
351
273
340
373
361
394
255
390
335
407
384
330
277
373
390
322
371
307
283
296
252
315
322
350
297
273
334
310
291
343
346
272
336
347
300
237
296
240
328
333
336
282
332
255
351
317
350
292
363
329
297
317
280
251
381
315
284
338
233
341
284
241
246
339
342
253
335
304
317
339
276
299
407
293
364
284
368
376
311
272
264
384
289
288
214
230
393
293
272
368
351
375
344
228
294
290
360
286
218
362
315
312
277
276
309
294
333
268
315
298
268
332
306
316
330
314
316
321
343
236
337
360
391
337
373
310
300
371
227
357
327
365
317
386
291
286
345
353
300
202
352
370
342
304
346
259
313
358
262
363
265
323
423
324
294
376
320
329
375
346
323
302
342
274
293
352
312
293
319
300
247
282
285
229
372
215
284
298
292
362
365
324
374
327
326
304
341
307
315
293
340
289
287
331
297
285
265
346
327
296
255
381
325
340
293
334
347
264
334
287
334
248
289
362
297
329
341
348
289
306
336
353
328
382
211
219
344
284
299
369
235
249
356
360
325
263
258
274
310
331
269
367
303
301
282
336
330
336
403
373
259
338
278
418
240
319
287
310
309
315
314
253
353
327
279
277
265
245
367
313
330
294
338
371
295
303
339
350
321
283
279
367
351
348
297
364
279
359
323
289
327
352
246
264
285
339
309
375
325
414
296
283
336
367
295
353
253
287
221
435
323
355
355
316
367
370
332
316
317
256
189
288
377
347
323
381
364
321
310
376
368
288
364
282
332
351
239
372
334
285
309
380
305
303
357
303
325
326
335
340
400
302
251
240
286
259
211
282
344
317
340
361
303
246
297
321
374
373
307
312
322
322
330
336
301
341
358
305
298
264
389
261
283
361
292
294
318
353
328
231
338
299
373
310
263
389
365
309
267
329
358
315
342
281
326
345
288
228
261
329
262
306
257
311
259
282
369
289
300
222
283
312
308
347
335
342
307
249
326
254
280
378
311
359
321
300
298
407
344
302
321
290
307
276
305
315
311
313
195
302
326
326
336
321
335
355
306
337
297
218
362
320
299
379
374
395
306
292
351
382
301
270
302
361
327
282
353
279
353
352
341
279
286
316
276
337
328
336
390
348
338
345
311
262
323
316
317
337
396
386
298
319
246
412
282
219
357
307
332
329
338
297
353
294
329
356
368
296
260
346
299
315
300
260
373
299
361
339
277
276
319
247
295
333
306
313
271
334
274
277
368
305
353
382
402
303
363
345
375
314
360
393
370
398
328
331
293
286
388
316
343
272
347
322
319
231
339
254
272
279
353
286
275
329
309
337
397
293
282
341
336
332
246
274
428
264
289
309
447
379
395
291
341
334
303
352
354
285
313
370
353
235
268
276
236
322
297
304
337
346
249
260
301
337
296
361
351
231
331
405
371
335
280
320
293
204
411
332
302
194
269
329
302
269
233
378
327
305
301
339
349
372
357
375
276
314
279
331
275
253
304
357
253
285
276
216
313
364
246
358
329
315
374
345
356
284
345
332
328
341
249
339
339
334
266
244
381
368
396
301
296
375
366
324
282
298
375
383
282
257
317
298
292
274
312
398
276
287
296
258
326
305
318
248
352
312
341
371
303
328
301
350
356
270
356
352
390
380
304
349
298
376
313
340
277
358
292
351
363
255
292
330
298
279
308
304
307
261
315
248
280
284
312
314
328
383
305
312
282
223
288
300
365
371
338
251
323
332
309
340
264
332
323
302
341
278
241
271
268
317
321
376
244
273
273
341
307
329
276
314
374
366
315
321
377
366
299
266
292
331
368
343
393
303
325
282
346
318
264
279
229
251
318
307
304
306
326
257
301
262
291
336
316
383
291
325
337
285
246
328
343
297
362
311
360
229
330
246
277
314
302
260
347
320
396
318
331
313
331
254
306
258
326
370
393
326
293
357
352
339
315
262
378
260
316
329
331
349
332
316
295
383
326
236
256
375
322
359
306
289
215
316
312
330
359
332
300
396
303
350
309
391
346
263
284
285
340
354
224
323
331
381
327
204
287
321
292
300
265
298
288
297
292
287
394
325
246
342
257
321
301
347
353
321
376
364
256
307
357
272
273
347
245
298
252
324
319
331
356
261
314
267
312
244
437
363
363
257
306
305
319
292
357
293
358
282
316
332
360
262
312
320
367
296
277
358
335
341
228
244
364
295
201
272
298
385
396
404
388
297
327
267
359
303
313
320
265
400
229
362
298
279
340
332
341
330
266
274
305
237
274
317
348
297
331
327
332
333
337
303
347
293
286
293
278
345
269
237
407
279
360
353
392
333
216
248
284
265
289
301
280
368
360
295
346
283
335
425
381
310
388
351
320
309
331
332
322
243
413
403
340
280
325
384
363
250
389
270
273
289
335
303
275
331
240
301
285
356
249
290
347
351
292
379
380
282
303
293
195
361
301
244
372
350
379
321
296
311
194
367
337
306
273
388
262
364
198
383
385
293
282
354
392
369
371
353
342
358
357
301
306
333
267
312
339
304
371
311
353
299
351
392
293
335
333
366
222
282
341
246
296
346
322
190
346
308
266
301
307
222
313
341
348
263
277
271
346
317
359
354
270
349
277
317
332
323
332
321
289
227
321
279
290
280
302
337
283
303
337
325
357
298
245
325
242
272
313
330
394
346
268
330
369
284
287
300
374
273
319
328
285
334
306
281
383
302
284
336
345
323
335
329
309
336
350
308
294
347
332
276
233
325
326
283
380
353
342
306
246
331
281
368
279
287
380
365
313
371
244
354
282
319
311
341
315
326
382
283
295
268
238
323
307
283
345
357
236
369
283
252
253
322
279
277
198
321
255
322
305
255
273
334
299
356
401
313
291
302
187
369
315
273
325
317
337
277
281
333
257
353
257
385
320
286
199
193
344
250
269
253
291
325
309
290
287
334
333
295
347
293
252
352
310
290
283
276
302
390
267
352
318
336
331
302
277
314
357
306
272
346
253
306
321
340
330
338
312
324
301
346
299
295
311
295
273
267
255
332
358
334
307
337
343
339
326
354
359
312
340
329
366
310
312
322
249
400
402
398
331
323
348
313
365
364
279
289
233
326
313
356
289
414
304
294
247
330
335
340
337
368
232
392
354
369
342
320
266
335
317
289
285
266
284
349
296
397
303
336
281
268
295
261
265
321
333
362
316
281
321
311
353
383
279
290
285
310
276
323
343
340
301
258
343
260
310
271
271
242
342
330
269
296
266
320
264
309
373
369
269
351
376
288
344
301
326
263
339
204
239
283
222
339
259
330
322
315
244
250
252
342
298
373
330
318
345
267
334
257
340
271
256
376
382
343
316
320
268
391
281
297
261
307
312
333
294
304
323
261
302
201
292
263
384
323
287
297
327
273
294
275
247
285
295
365
359
271
290
371
312
349
328
292
268
268
313
328
367
322
363
338
232
264
320
289
300
290
323
343
305
395
318
329
294
319
280
270
299
380
269
307
346
286
245
296
323
320
307
316
342
354
291
219
259
274
297
371
346
357
320
287
247
268
265
334
310
294
293
325
294
337
268
289
394
385
330
250
299
200
303
339
241
334
392
295
264
257
349
344
413
284
331
361
322
327
327
334
289
275
366
365
348
220
346
316
346
303
374
325
244
237
333
311
319
325
340
304
365
296
329
346
354
278
293
362
356
328
327
311
255
296
218
343
243
304
306
297
281
317
336
287
233
315
213
315
272
307
305
308
373
355
305
301
372
250
281
261
251
325
276
257
339
292
322
260
374
329
251
263
299
362
347
342
372
297
299
324
362
246
353
398
294
367
320
288
342
255
315
297
345
285
288
316
393
315
327
322
429
318
286
346
343
362
292
281
345
339
287
314
280
346
327
261
320
334
315
260
299
311
350
302
283
346
267
316
258
345
252
297
312
301
354
371
283
335
288
356
306
335
301
311
414
288
372
279
279
289
233
274
298
418
280
397
390
402
346
292
356
334
324
308
338
275
315
278
269
301
387
205
352
326
290
292
347
404
316
319
272
379
340
367
316
365
308
212
374
292
307
355
380
320
349
268
296
319
310
377
362
251
307
350
260
383
353
365
269
293
365
282
276
303
332
356
321
293
255
297
248
370
285
250
258
373
346
431
327
278
351
210
335
339
343
294
311
306
317
278
232
311
334
285
338
305
324
346
266
383
335
359
341
270
237
260
304
332
301
315
278
329
248
304
357
359
371
227
345
303
325
385
264
283
278
382
326
300
304
332
336
291
257
334
332
366
268
377
383
338
341
348
333
343
251
236
330
242
293
356
294
370
282
295
385
301
327
257
248
395
435
343
344
296
346
298
188
326
175
301
296
296
300
295
353
292
273
352
303
305
357
353
380
229
369
307
385
328
315
346
298
320
245
263
266
330
341
284
284
261
303
351
188
232
345
365
264
361
214
237
260
352
398
317
314
366
347
299
289
265
329
356
339
232
280
189
321
344
324
434
210
300
253
267
340
327
357
266
272
319
293
345
265
219
338
281
370
313
285
315
251
337
411
271
294
311
284
338
334
324
332
406
342
305
328
259
346
372
292
299
275
275
284
377
299
278
305
334
316
389
347
269
315
333
249
282
293
318
335
344
319
327
283
327
355
255
315
315
365
393
373
305
312
384
293
318
339
324
297
384
335
306
238
291
321
357
323
274
336
311
294
315
400
247
306
344
376
353
266
292
223
365
376
266
344
331
245
396
315
335
316
279
350
335
385
285
355
336
382
330
317
345
405
281
262
331
331
309
275
253
222
399
262
312
319
339
354
342
350
369
214
250
353
384
351
320
384
301
398
348
284
280
285
354
222
303
358
314
326
326
337
346
350
329
404
355
279
291
317
261
337
324
307
316
346
313
304
346
347
220
307
292
292
353
353
345
336
320
333
243
360
352
310
215
282
290
327
318
304
279
212
385
297
360
200
280
285
308
308
311
241
293
275
278
411
341
281
342
253
280
315
318
328
272
310
266
306
266
258
338
340
287
298
366
324
304
297
321
328
340
339
333
367
276
335
350
361
360
338
396
318
188
304
285
411
323
322
372
329
332
295
309
282
365
288
328
296
353
290
315
294
248
354
311
368
384
326
356
213
308
266
243
240
270
289
301
348
340
352
343
345
360
355
324
290
384
311
326
338
338
367
263
340
372
367
237
180
321
305
297
357
263
343
284
308
311
349
315
291
288
209
270
308
303
367
303
314
402
370
339
346
344
381
325
328
339
359
379
265
240
228
308
281
302
264
337
336
414
366
259
233
275
364
335
328
308
338
343
346
312
369
361
286
312
242
304
313
220
326
366
340
327
280
255
337
405
305
307
327
327
341
309
339
311
380
314
355
332
382
324
318
280
335
401
312
321
329
405
277
353
301
263
343
387
299
356
257
241
317
351
282
254
321
300
352
296
289
334
358
251
316
343
289
337
271
246
332
336
404
300
255
323
264
368
311
322
286
386
247
302
261
316
354
256
268
315
325
320
334
276
287
213
303
317
251
310
222
361
291
254
361
287
338
324
270
363
254
316
406
276
400
301
225
286
288
301
349
294
308
347
247
377
301
272
320
309
194
365
393
325
338
312
234
218
357
298
385
225
347
379
406
358
369
384
354
319
335
366
298
350
240
311
286
319
314
294
378
324
206
340
331
359
326
307
332
345
315
313
304
330
284
296
248
299
327
318
329
386
305
388
330
259
317
328
307
333
352
297
303
313
240
295
337
288
321
308
270
386
296
301
358
424
238
366
354
350
335
307
293
298
302
370
373
269
367
251
265
387
401
422
364
367
411
288
358
348
263
365
229
257
251
383
354
351
305
322
338
262
343
328
334
258
348
219
238
294
350
406
295
448
240
360
388
225
376
277
376
354
294
326
338
303
298
322
260
282
315
304
246
404
324
311
342
349
319
366
409
275
305
331
315
299
349
354
312
403
305
233
295
303
283
267
393
338
298
321
329
325
366
274
239
297
286
411
346
257
293
276
370
369
274
350
322
291
321
329
217
237
313
384
288
290
285
382
328
364
316
312
324
275
293
367
255
309
301
326
345
296
327
384
331
292
360
318
376
338
269
267
332
338
323
384
299
293
276
332
339
305
356
323
342
272
248
369
340
358
314
263
291
345
296
365
334
335
356
306
327
342
392
354
319
365
325
280
312
254
326
351
380
246
368
286
254
355
289
338
355
368
258
332
426
357
337
292
371
304
279
276
342
314
351
341
297
276
279
334
345
386
360
283
387
260
315
278
388
370
282
297
314
235
373
271
396
202
360
333
315
268
280
287
274
402
292
390
381
349
276
375
344
300
325
300
314
300
320
323
304
364
248
350
322
337
233
364
307
328
296
309
280
404
369
349
305
336
322
371
305
386
344
208
328
302
328
311
308
252
337
372
309
333
326
327
349
363
375
279
276
278
377
336
342
232
254
304
311
279
384
388
256
345
333
292
291
415
313
319
331
323
334
293
265
384
354
326
315
303
293
313
291
307
334
360
282
284
278
291
378
277
314
220
354
283
367
354
371
265
384
353
290
272
259
324
295
263
165
254
363
388
337
394
355
349
327
273
300
378
395
270
353
311
361
299
416
266
331
327
349
361
304
271
318
312
326
354
327
317
289
371
390
329
400
386
335
322
246
234
356
270
212
338
263
269
295
244
336
291
294
319
344
392
337
298
308
304
306
294
301
283
395
371
352
342
233
302
303
339
287
339
275
375
336
284
317
378
262
266
300
320
366
308
349
287
331
303
225
277
354
372
311
312
302
304
309
298
267
316
367
323
339
433
352
271
335
348
363
287
227
316
317
319
269
379
273
284
278
306
339
330
361
294
288
347
326
331
302
354
291
334
297
351
308
378
306
300
383
279
284
337
314
354
189
395
401
289
252
360
410
273
268
272
322
271
248
244
318
306
353
270
398
322
352
337
325
354
276
339
305
370
242
364
335
396
295
289
414
218
313
288
358
387
234
371
257
277
307
286
347
341
377
254
405
361
227
263
293
336
335
386
266
183
304
375
271
306
269
325
366
304
332
300
294
384
288
265
325
336
274
316
320
311
381
274
330
391
292
298
291
373
265
307
300
387
252
348
366
321
344
269
237
361
313
304
348
270
384
407
331
278
319
328
322
245
372
269
257
374
366
312
283
303
314
273
309
328
346
188
315
333
334
299
253
310
279
276
314
368
342
344
374
306
279
287
218
322
308
252
272
400
245
300
312
283
354
372
290
358
324
272
244
327
289
339
310
307
403
296
341
338
409
341
355
291
270
294
294
321
336
292
333
308
308
296
285
360
238
302
213
278
342
340
349
309
322
278
428
370
329
365
302
320
363
332
281
271
334
325
294
384
436
308
309
284
302
332
328
234
335
390
327
301
325
325
345
303
294
364
281
375
320
253
323
373
303
307
329
291
324
311
304
304
293
353
311
326
308
274
302
268
276
279
287
323
303
322
349
286
374
276
329
302
302
306
266
289
324
314
252
206
295
284
312
313
257
320
308
265
326
354
254
348
345
324
383
320
383
244
361
275
213
341
270
293
372
256
330
276
373
279
384
341
289
342
303
302
304
332
326
267
283
299
330
324
323
306
319
311
292
289
387
347
266
363
307
245
309
252
408
381
332
319
357
355
380
318
322
296
311
287
260
365
330
229
332
291
305
338
278
274
308
288
303
379
304
419
324
390
374
287
379
333
304
281
324
255
335
249
342
319
390
333
381
252
317
319
366
285
299
379
350
269
312
265
311
355
328
327
241
192
202
365
258
339
288
281
301
271
358
309
355
355
357
335
288
347
251
331
334
269
386
323
302
238
245
336
376
328
342
368
257
365
252
265
371
302
349
323
399
262
284
314
151
372
352
338
292
313
242
331
331
385
355
320
237
378
316
348
238
372
255
330
289
321
330
363
303
353
337
300
371
249
280
351
352
298
327
335
249
286
406
354
326
320
311
325
358
305
325
335
267
281
343
316
442
354
370
288
305
256
402
338
366
352
325
323
351
364
321
278
325
324
294
249
333
301
320
295
331
306
300
366
285
331
355
378
297
318
311
340
304
285
305
354
331
414
265
276
379
313
248
385
337
314
353
240
257
330
248
311
301
399
298
323
251
335
329
321
403
276
292
338
285
290
310
292
283
251
255
291
413
329
278
346
304
270
315
380
338
339
329
253
385
285
349
292
280
365
336
339
329
389
327
293
351
222
332
282
298
259
296
330
392
247
343
323
274
312
346
262
323
260
246
338
253
317
263
335
271
317
295
389
318
345
283
286
316
377
346
334
283
295
250
351
326
376
290
368
257
334
308
304
334
379
306
293
348
282
224
339
346
287
296
250
314
361
305
290
373
334
248
335
363
319
300
445
292
262
397
276
327
237
317
263
322
330
353
355
366
289
270
262
364
362
343
389
340
350
255
369
318
369
236
307
344
281
344
356
262
285
336
375
308
283
361
295
335
345
280
253
249
287
319
312
345
332
254
267
284
284
197
354
329
306
298
355
281
342
375
415
307
272
291
311
273
341
276
268
294
350
318
313
350
384
222
319
314
249
327
373
321
270
294
374
288
291
331
368
305
353
352
334
336
353
319
349
288
322
353
273
342
383
275
338
265
318
367
322
345
311
348
303
367
322
368
276
320
322
321
286
323
303
360
269
351
243
413
356
360
289
205
384
336
322
315
311
286
338
265
392
295
244
328
316
310
284
323
363
284
344
327
323
396
364
340
311
300
353
332
264
373
338
281
334
355
328
207
309
311
261
340
388
354
374
262
362
356
282
417
354
278
303
334
305
334
316
369
341
276
205
298
208
284
336
310
379
385
288
311
294
309
291
276
321
297
355
350
381
335
283
273
261
308
413
230
352
336
380
286
299
388
348
333
326
304
225
296
320
346
315
197
336
308
358
360
325
338
286
346
328
333
305
298
344
378
309
303
258
316
366
253
292
244
338
366
211
392
252
289
397
289
305
342
306
340
333
390
340
388
287
339
378
288
270
370
302
233
343
295
319
282
296
332
317
281
251
327
301
351
328
426
290
235
375
392
293
326
346
315
304
307
324
337
319
334
296
289
291
283
301
324
299
361
298
334
262
338
319
273
372
281
314
363
272
319
373
318
266
311
321
271
300
365
350
264
331
398
367
311
315
401
348
320
321
358
370
330
238
288
320
302
337
289
364
270
313
325
340
333
280
394
362
308
294
274
299
228
412
340
321
308
292
259
352
381
288
329
275
304
369
263
343
335
313
309
370
403
276
244
312
326
378
362
327
283
330
309
290
267
287
319
330
329
294
249
328
298
258
251
433
304
335
299
378
296
352
307
383
383
331
362
395
290
262
331
380
278
364
361
365
425
346
284
342
246
278
277
399
371
346
359
288
332
299
297
356
393
329
319
199
411
297
317
303
370
364
229
291
396
239
297
319
313
283
329
345
353
256
324
277
285
282
300
378
269
347
288
300
355
313
300
296
361
346
264
315
363
373
259
246
338
319
186
328
309
257
381
338
334
261
328
382
265
322
277
252
346
355
365
300
300
239
372
233
237
390
239
350
294
307
294
318
321
302
429
335
330
319
401
262
300
359
305
289
323
397
281
341
312
300
315
308
305
337
319
354
324
235
385
291
393
362
328
307
271
341
290
313
340
327
302
283
268
272
359
223
307
380
315
358
308
336
345
298
259
343
329
306
376
305
244
375
233
368
338
286
315
330
334
297
336
373
355
371
286
262
300
347
289
311
421
313
359
339
388
300
284
333
310
353
326
341
350
321
361
373
362
323
382
327
314
321
256
318
404
351
284
280
323
292
423
299
321
299
365
235
319
286
234
263
312
306
240
293
283
332
344
328
309
277
330
310
300
295
262
393
270
383
348
295
350
354
314
312
343
336
301
296
338
338
362
339
340
321
304
270
359
289
372
321
353
313
273
332
315
266
321
241
334
336
369
313
369
261
387
359
323
341
307
285
267
371
321
355
303
377
333
270
373
365
209
352
359
338
370
320
328
312
291
340
292
326
266
302
327
334
309
361
274
305
221
324
387
323
332
335
287
302
302
285
318
347
339
292
282
277
324
328
320
311
343
336
307
330
301
407
284
294
352
263
306
306
326
309
329
297
315
245
403
297
328
366
325
267
364
241
318
351
344
348
324
344
333
301
287
353
309
354
299
289
345
360
299
335
333
356
358
197
252
355
319
333
437
356
309
213
342
405
216
235
324
329
366
306
323
285
298
337
326
300
280
323
301
299
255
278
323
249
339
360
407
324
327
269
281
280
388
388
379
169
261
283
272
387
327
350
331
384
403
280
320
245
322
258
305
333
252
248
331
363
298
300
242
292
354
310
348
305
269
341
360
309
334
320
301
316
351
260
330
239
257
347
278
243
378
339
349
314
370
307
357
218
360
370
304
273
444
292
324
313
268
358
382
266
299
359
318
276
361
222
340
351
384
282
348
353
299
268
296
283
293
289
292
308
350
299
355
285
365
351
299
313
335
286
405
365
402
330
270
274
294
373
300
340
298
354
325
313
310
322
345
309
294
270
352
277
288
336
331
345
264
240
355
349
207
394
199
341
314
348
370
257
285
329
287
269
322
275
338
280
309
353
329
333
239
338
312
354
247
288
340
331
386
300
267
377
297
363
266
331
380
336
251
256
307
365
221
276
394
356
345
329
320
273
312
340
381
325
333
338
315
360
280
353
370
283
323
313
299
266
340
271
328
309
345
376
303
234
297
311
327
346
282
277
315
381
359
352
245
338
274
261
259
343
359
260
282
259
298
328
327
357
277
396
283
317
281
257
304
257
339
294
248
388
388
262
298
326
272
285
346
328
365
223
340
276
405
293
327
420
261
348
330
287
292
313
328
345
292
321
299
321
232
242
269
339
297
325
318
331
249
289
336
343
323
377
252
371
313
315
294
294
349
350
338
289
318
300
248
281
344
339
353
339
299
256
303
301
330
326
228
387
338
416
342
220
301
347
402
335
314
255
338
332
317
338
204
317
328
299
269
331
342
319
247
313
388
318
248
269
363
238
267
326
274
414
399
344
319
323
364
253
283
337
268
314
238
252
349
379
350
408
274
293
329
257
259
249
339
352
405
359
317
330
264
321
299
319
411
315
354
316
306
305
335
298
265
334
303
354
278
333
259
363
228
332
310
323
297
324
331
279
343
279
327
334
322
382
281
309
285
363
298
335
306
208
261
287
333
295
279
327
267
327
307
269
325
265
252
240
321
347
346
358
327
308
281
340
362
308
249
379
278
263
269
294
321
285
373
315
284
365
252
327
377
338
274
345
349
383
319
313
284
354
329
292
270
288
294
338
354
322
359
287
313
319
304
282
306
319
292
246
250
362
292
340
278
317
351
305
340
312
266
309
303
298
297
319
346
238
233
364
364
312
246
356
383
317
303
313
283
272
293
348
324
306
343
259
330
306
286
320
376
339
344
366
289
336
281
300
315
241
299
335
270
343
358
361
306
298
241
294
349
342
267
380
327
304
306
358
291
329
311
223
291
326
285
264
280
283
281
304
412
356
395
257
353
257
276
310
380
379
286
359
423
335
247
326
357
366
265
343
337
349
328
328
327
335
331
301
198
295
354
271
326
396
305
286
321
273
330
407
282
292
301
305
315
311
333
313
340
376
344
339
278
303
311
332
345
255
212
312
375
344
340
349
409
351
315
303
303
316
373
307
336
320
321
324
274
419
393
377
320
348
365
368
328
332
270
323
281
345
347
308
302
229
286
359
339
275
293
275
333
306
318
347
293
306
271
343
272
347
371
217
350
370
293
369
335
280
244
332
373
244
350
326
295
303
338
356
270
299
307
294
272
269
250
308
334
326
254
306
332
257
256
361
296
317
310
299
270
306
306
287
408
359
366
287
302
265
262
348
315
266
271
327
354
320
260
260
370
387
335
319
236
327
321
321
390
320
386
256
348
289
291
257
333
309
281
366
253
261
294
302
366
340
340
388
296
325
303
356
308
285
344
334
207
389
322
387
465
388
215
364
383
377
375
339
311
274
279
328
296
337
346
313
358
252
280
329
369
367
274
264
308
415
388
312
363
293
322
301
260
371
318
291
323
342
426
190
310
293
299
266
305
344
329
336
447
320
358
362
298
315
300
295
277
355
322
398
287
309
419
299
365
360
257
284
278
264
277
317
369
319
290
403
311
383
207
382
297
240
324
301
362
328
278
321
339
317
287
324
266
302
324
338
291
321
214
321
275
390
327
296
293
312
319
334
283
277
320
294
388
377
333
325
322
281
315
355
353
326
337
403
334
388
369
333
320
268
222
346
407
327
355
298
248
398
357
230
298
305
338
329
370
298
348
377
316
350
298
312
326
289
326
339
298
345
436
332
277
263
329
285
313
314
281
316
310
258
275
387
373
300
363
278
328
329
334
331
398
265
255
365
366
358
321
304
311
374
328
297
359
371
277
345
304
261
238
412
339
329
316
364
316
313
267
290
346
301
303
349
272
304
354
304
376
271
301
296
287
309
315
281
316
325
259
341
326
347
313
307
347
347
352
346
254
297
374
317
249
357
390
283
305
406
275
287
341
306
349
261
335
326
352
290
335
382
369
274
386
294
352
251
238
247
395
359
263
316
324
296
378
317
352
309
207
269
309
326
333
348
344
214
350
376
376
367
353
342
360
311
272
267
344
325
218
297
266
297
316
295
329
237
273
296
315
363
325
361
274
363
249
362
253
195
260
343
309
336
260
353
296
290
322
334
349
322
287
321
251
244
299
299
242
387
264
389
289
284
337
351
224
202
274
379
329
332
368
341
318
377
340
328
383
266
321
311
299
298
348
212
373
243
311
335
304
260
321
390
420
356
243
308
333
333
389
286
340
217
345
328
279
312
230
317
247
363
246
258
321
342
288
337
291
265
359
316
369
327
341
298
323
348
352
322
337
346
313
260
330
392
307
299
286
362
258
346
399
262
309
303
224
283
359
220
304
251
304
212
268
311
381
294
318
243
362
259
452
408
330
389
288
355
313
371
329
340
304
338
353
349
324
245
271
360
319
262
339
338
306
347
304
298
252
310
446
372
220
191
385
233
380
306
354
310
390
323
330
334
337
308
307
312
265
261
277
260
356
318
251
353
270
314
414
312
301
307
321
371
267
272
373
263
359
343
271
252
360
358
265
230
362
320
409
364
344
297
270
255
333
264
326
374
334
349
275
319
363
252
341
377
339
330
343
344
353
310
392
349
357
317
306
321
330
260
372
341
320
353
222
341
279
221
232
251
351
354
204
316
329
272
309
282
325
345
381
276
211
294
313
343
272
295
331
244
373
279
321
249
307
285
178
264
243
245
264
327
321
267
326
237
330
359
326
348
332
346
249
271
340
343
322
290
301
312
371
363
340
319
332
289
318
333
370
306
293
333
249
329
404
320
283
402
304
368
350
278
265
383
276
373
269
342
328
316
197
303
324
384
259
321
332
347
264
254
289
318
323
333
318
300
381
286
308
310
252
329
289
311
330
367
338
349
346
310
379
368
300
260
229
323
322
250
280
267
307
308
319
304
318
259
317
334
244
287
331
327
308
326
225
295
326
349
343
349
310
356
296
348
296
367
314
318
336
336
301
240
346
316
300
278
386
293
299
337
327
358
330
256
317
327
323
302
332
354
296
219
319
309
347
351
206
298
241
386
258
342
338
361
348
222
282
332
302
329
254
303
378
361
316
257
313
390
195
297
255
293
359
289
374
300
324
286
273
302
375
321
296
337
239
346
329
280
344
334
298
324
349
326
322
326
390
313
308
286
334
266
321
344
263
256
393
334
337
358
353
398
269
288
315
270
295
341
274
281
259
362
359
384
333
366
327
269
340
348
368
342
304
252
292
263
317
290
291
331
255
305
354
272
349
318
340
348
310
297
246
302
394
359
380
348
303
316
275
361
239
376
329
282
364
336
302
283
332
348
307
355
315
337
336
382
335
297
365
249
240
382
231
328
273
334
314
387
438
297
316
290
302
329
368
390
298
290
246
334
260
365
316
321
306
398
301
323
280
261
324
210
298
332
322
287
372
352
317
304
360
376
293
285
319
319
232
332
369
359
329
278
371
372
348
300
393
198
351
220
327
279
293
319
246
324
233
299
296
281
306
347
353
319
375
290
393
338
393
334
316
251
281
325
305
375
288
276
377
341
267
279
308
309
295
323
362
325
242
363
334
301
317
428
342
305
287
305
333
351
274
288
364
257
247
247
357
346
313
281
256
270
303
277
311
359
320
398
369
396
288
312
383
271
293
309
293
288
286
263
369
337
238
308
322
361
401
304
269
303
305
311
268
265
253
296
313
341
297
326
330
240
309
316
324
351
333
346
300
373
355
366
301
295
277
371
367
262
320
310
290
328
310
295
312
359
335
303
289
221
317
267
294
283
307
313
333
216
346
320
266
344
355
253
331
343
295
301
318
353
271
379
307
266
331
371
357
274
316
229
264
379
323
324
311
357
336
310
329
291
243
324
276
307
344
348
333
340
369
258
285
360
292
386
338
263
270
293
263
322
357
346
335
254
378
271
242
278
276
316
303
309
261
353
290
319
349
285
383
338
292
341
330
322
371
326
321
304
344
361
385
264
307
320
362
306
235
203
351
310
281
361
331
310
356
326
295
321
295
406
305
308
350
357
355
313
366
241
359
335
355
301
251
290
320
392
221
310
349
333
389
368
271
282
310
301
341
256
353
298
338
342
366
389
330
383
298
347
272
365
309
309
351
310
330
300
320
253
316
328
240
256
274
305
350
282
360
301
381
245
373
267
273
319
289
336
342
308
332
295
348
293
342
246
199
315
361
256
340
303
338
381
353
303
193
278
322
328
323
224
360
342
350
338
287
267
333
286
325
253
352
259
332
340
357
266
271
251
282
302
249
216
334
330
360
287
421
327
332
314
262
255
338
361
388
296
323
308
339
298
217
324
287
292
336
318
268
272
248
347
377
317
326
296
303
225
291
333
365
367
351
270
282
318
372
347
366
319
313
254
322
311
299
227
350
285
277
338
252
342
343
321
315
263
348
341
344
279
315
289
342
328
285
334
345
349
263
235
287
207
319
364
278
243
337
272
392
275
327
352
364
213
325
361
334
309
323
303
381
361
354
315
344
380
221
268
204
317
324
330
277
317
250
332
324
185
374
282
341
374
293
282
285
288
296
292
295
275
432
355
289
309
347
297
427
237
372
292
308
331
337
323
360
372
373
231
350
374
294
310
348
280
321
314
351
286
342
280
296
372
264
262
306
275
342
281
354
303
242
314
406
313
288
330
302
293
415
307
243
311
338
338
408
299
295
316
288
317
277
279
373
321
336
222
305
268
407
379
328
360
380
262
322
317
331
369
342
363
292
295
300
282
282
305
321
298
331
281
385
272
324
317
318
288
330
339
332
328
380
252
254
296
315
257
342
239
332
327
384
292
389
334
286
392
299
327
269
313
319
276
291
344
276
263
353
246
258
280
298
343
394
324
353
343
275
283
320
379
344
291
355
323
298
356
250
276
354
333
352
361
296
290
331
321
349
298
329
311
306
336
280
339
354
334
275
370
346
344
315
327
193
268
322
302
330
308
322
278
345
282
341
234
247
333
353
273
381
305
292
308
296
251
306
349
373
284
347
405
315
382
331
201
345
296
304
323
260
291
289
240
330
312
341
278
307
300
324
205
316
327
324
306
237
265
363
286
268
327
273
269
212
299
371
297
287
331
326
217
334
305
346
346
318
371
354
291
376
314
261
343
293
267
315
329
321
268
315
279
279
292
276
335
313
236
358
301
404
390
196
283
342
222
314
337
325
368
273
300
242
319
320
349
256
302
256
230
325
228
323
262
308
338
381
293
322
309
323
321
285
298
296
344
339
275
225
418
348
284
250
279
321
356
359
291
276
300
315
250
237
306
312
312
337
357
287
331
249
391
383
249
377
304
347
337
357
316
322
396
356
341
309
308
353
333
345
327
317
308
280
364
343
350
270
307
360
322
319
317
338
318
332
267
344
242
364
330
401
294
324
257
374
366
252
308
373
303
337
268
241
362
211
333
309
281
266
298
324
350
334
280
271
363
289
364
306
262
351
300
317
320
344
317
280
274
338
392
302
250
308
320
348
292
312
354
237
318
254
326
215
318
277
287
281
251
263
321
418
342
334
379
298
298
304
318
220
406
269
252
292
298
278
392
352
273
389
253
228
323
325
340
344
241
338
315
364
368
299
349
352
357
230
316
258
340
265
260
253
228
354
398
334
336
360
313
325
306
278
285
333
309
295
215
325
305
314
408
319
349
197
376
350
218
214
281
322
368
380
256
303
282
312
378
252
396
344
295
324
325
364
299
345
236
335
349
343
277
312
334
300
367
242
298
319
318
366
277
379
313
307
361
280
271
316
389
242
360
274
308
374
315
276
289
326
329
391
204
319
349
266
300
351
341
345
337
349
331
232
305
278
312
342
306
253
312
349
317
313
382
319
376
365
314
397
334
257
352
193
228
327
324
279
309
297
319
287
326
380
326
254
261
282
347
399
386
281
307
301
218
348
306
381
334
300
236
345
328
363
363
225
330
286
335
288
278
300
307
381
219
315
337
329
293
343
338
308
266
301
285
356
297
330
360
300
291
261
366
360
315
310
340
327
385
365
282
365
334
286
307
319
316
251
310
323
253
224
288
377
309
346
306
269
262
254
331
249
254
375
346
339
348
290
340
279
273
296
329
363
262
372
348
372
347
313
293
291
263
292
287
329
345
385
270
308
308
256
390
322
302
305
327
251
336
425
293
387
302
250
251
277
362
267
337
353
317
361
329
282
329
279
381
365
250
354
298
304
294
340
308
376
358
347
374
285
299
227
271
355
268
299
364
347
337
363
352
233
318
261
313
361
309
264
381
300
317
327
377
214
316
357
240
351
273
320
316
366
297
278
286
348
323
335
203
329
221
294
324
371
303
224
334
358
379
303
220
326
338
287
295
284
359
310
314
238
351
304
335
283
260
345
377
367
331
332
338
316
292
293
301
395
244
364
262
365
360
323
356
257
214
400
335
284
366
336
260
402
298
324
277
392
285
328
247
298
339
308
349
248
319
356
230
306
249
357
403
240
290
226
329
349
312
368
207
326
253
327
355
294
293
359
222
361
350
290
389
277
331
310
306
317
258
285
301
205
336
341
313
269
281
382
266
262
413
327
261
295
318
329
352
293
312
331
393
343
281
334
302
327
293
353
327
306
269
285
314
285
294
293
389
268
373
303
332
328
308
356
252
357
228
307
302
281
359
315
364
322
241
293
336
341
331
342
287
286
287
321
352
299
299
378
298
360
352
291
291
268
374
270
339
229
282
306
308
322
387
290
347
339
304
313
242
332
365
274
356
251
231
299
295
280
322
338
319
287
340
325
294
332
286
299
355
330
382
278
311
406
253
284
218
370
421
300
289
302
385
329
311
304
306
359
327
340
320
276
304
310
376
284
349
366
340
319
266
347
291
245
302
383
302
251
333
280
313
259
316
308
341
352
330
344
357
322
308
283
311
272
280
286
276
321
369
242
375
312
327
360
324
288
381
332
254
305
209
399
273
336
269
332
335
372
386
323
225
284
311
354
361
264
296
366
316
304
413
303
329
318
345
349
425
349
278
264
274
235
331
358
364
312
351
319
309
289
301
325
305
312
272
315
293
340
340
316
378
412
290
283
367
348
322
357
286
309
341
281
303
323
409
329
313
241
296
306
337
331
293
342
318
371
340
357
347
383
271
263
291
266
370
318
345
352
286
272
314
288
301
309
275
357
297
237
396
325
330
307
365
357
332
326
344
282
348
338
326
352
331
339
366
384
220
330
322
225
308
296
334
335
358
255
256
383
313
242
347
228
282
271
382
249
330
322
320
262
341
328
247
378
302
246
286
375
283
394
332
368
294
301
280
294
242
314
353
294
268
297
371
342
325
338
351
326
312
286
397
251
310
378
232
341
264
349
291
337
408
304
261
281
289
294
275
315
360
304
312
297
364
320
364
308
312
286
286
294
288
319
336
369
303
306
310
316
269
240
352
244
333
295
309
309
355
287
342
282
357
251
311
294
325
230
269
311
368
262
239
308
332
380
354
350
346
343
315
207
346
259
288
332
311
343
239
364
278
390
393
353
326
307
405
333
390
349
319
410
307
292
284
305
281
291
237
411
302
181
349
257
337
239
338
327
281
261
335
366
293
373
300
290
346
260
300
336
357
336
361
322
308
268
378
320
275
307
299
304
249
388
354
305
326
349
326
344
345
303
311
329
280
278
384
296
302
316
279
305
339
268
311
385
286
290
296
264
303
356
278
338
358
325
324
312
299
361
351
330
294
355
285
323
372
311
313
339
274
266
379
298
219
387
276
372
325
303
379
333
345
330
315
286
287
323
262
310
403
334
244
355
276
311
351
301
339
303
273
290
342
374
223
314
236
273
339
352
342
394
313
330
330
240
341
253
312
352
406
339
280
340
332
336
383
338
241
266
271
368
250
337
294
283
337
359
361
322
321
327
346
316
242
331
348
291
349
299
315
297
255
220
283
317
333
365
242
263
346
283
289
375
289
327
337
249
337
275
377
328
252
303
332
353
322
308
414
360
312
320
359
326
370
305
282
379
322
432
250
301
323
295
269
358
310
395
322
332
325
344
308
378
274
327
401
292
347
271
396
386
298
263
274
307
325
349
260
330
365
298
263
343
203
286
313
279
356
360
396
366
290
364
351
308
277
301
268
424
306
324
281
255
288
244
292
259
403
334
367
306
286
348
254
381
314
282
266
389
296
355
343
297
381
301
377
303
447
291
313
327
364
304
268
334
272
350
294
317
342
261
327
340
320
256
393
238
279
312
248
367
435
326
280
308
289
338
334
409
321
400
306
356
212
328
313
272
382
221
337
306
328
366
328
281
338
284
353
308
276
327
400
298
298
314
294
281
342
257
296
333
301
268
316
326
307
343
358
319
355
378
310
319
365
293
356
330
309
302
359
271
286
317
327
315
331
323
258
312
292
394
386
278
380
315
327
282
337
306
268
312
292
279
264
350
199
331
324
214
336
385
301
333
351
299
298
304
301
292
354
308
253
323
278
337
327
293
383
333
386
331
352
318
339
330
276
353
334
409
256
270
360
365
239
316
240
382
264
244
286
378
249
343
360
349
308
307
419
379
280
385
256
226
309
337
385
221
385
354
354
270
288
296
270
368
281
287
387
272
294
378
311
363
432
305
233
314
342
375
368
358
385
306
258
294
307
342
342
283
317
270
314
295
298
284
342
300
299
322
224
331
266
368
325
298
372
275
293
272
246
405
331
317
294
268
315
402
294
296
353
245
365
338
355
347
345
297
370
259
377
317
272
315
267
316
349
325
254
315
355
375
361
257
313
306
396
352
353
315
272
278
187
285
319
355
314
288
256
303
329
324
319
342
404
258
271
302
324
321
306
351
303
275
347
323
307
216
324
220
302
315
295
321
304
256
363
413
256
359
333
347
250
253
343
262
290
252
301
317
238
310
296
340
290
300
270
265
266
342
304
313
309
320
318
415
296
266
302
387
312
350
405
340
352
333
247
281
330
318
285
396
333
407
320
355
311
333
317
296
261
353
346
338
208
344
287
330
302
251
352
261
243
315
256
336
252
377
291
334
345
271
362
221
298
325
317
300
332
222
287
354
356
328
254
330
311
296
330
356
291
393
326
317
339
323
329
324
244
357
322
338
309
312
233
269
239
299
331
309
333
334
321
312
330
396
327
254
334
325
350
315
332
363
355
269
318
331
291
351
404
181
322
352
359
332
270
276
375
242
273
300
286
350
244
279
323
285
341
300
313
290
270
266
285
327
340
366
323
236
276
323
320
340
277
263
253
361
346
251
370
374
279
331
379
315
352
219
322
312
244
404
357
325
352
294
353
310
356
282
342
288
323
285
306
338
310
342
304
402
314
277
311
329
293
277
320
376
328
335
280
378
292
394
335
315
256
335
353
313
360
351
217
395
284
279
296
294
302
250
415
252
271
355
285
312
339
250
370
327
346
362
347
321
290
365
278
350
285
305
333
345
312
343
315
284
345
296
325
273
359
348
222
290
289
332
330
272
320
323
268
318
238
259
372
322
310
335
321
345
275
329
279
274
314
389
253
397
286
268
283
311
322
372
336
226
359
378
376
244
304
234
256
296
338
293
295
331
335
307
364
323
321
315
248
386
275
237
339
280
229
339
346
279
343
376
286
347
371
296
270
383
277
360
301
237
315
288
298
270
336
352
328
369
239
353
311
312
248
327
382
362
291
209
318
359
356
303
290
375
289
270
352
329
307
283
310
314
340
296
340
327
280
211
315
280
359
252
328
303
352
355
314
262
327
303
356
369
329
375
374
360
254
274
307
281
310
316
292
352
345
257
292
361
379
268
276
290
346
267
308
295
359
272
271
277
313
313
214
268
297
251
295
304
296
244
256
261
290
315
308
273
253
348
420
357
263
305
295
238
327
315
193
375
319
316
269
321
244
252
280
315
317
209
269
371
266
337
280
302
341
257
335
263
327
398
353
368
306
385
431
388
311
416
305
273
363
279
332
340
251
351
270
363
232
221
327
283
340
250
298
328
299
266
265
296
302
286
314
310
286
342
371
378
376
350
357
250
302
279
248
332
254
343
300
314
293
323
262
306
269
289
329
377
325
227
201
340
329
286
319
297
333
289
310
309
349
284
305
253
370
374
326
349
344
353
262
316
343
325
300
278
305
264
322
300
286
323
227
369
237
300
361
369
395
326
231
335
247
360
370
320
256
317
339
330
305
372
268
340
320
357
270
360
340
370
388
337
326
232
250
251
343
334
269
331
296
266
319
263
305
292
270
286
307
313
359
342
253
360
272
241
325
385
260
270
385
280
301
307
390
300
257
270
291
295
370
318
276
368
314
318
221
373
323
334
331
411
349
266
267
335
355
277
298
273
310
363
218
320
379
273
265
352
328
351
350
280
357
403
314
290
304
321
330
374
275
388
311
254
381
316
405
315
403
300
253
297
260
322
313
323
272
310
280
324
314
343
338
344
325
325
369
348
325
330
307
234
348
245
322
232
332
371
315
324
361
301
350
277
373
337
380
320
328
411
236
325
286
367
323
204
320
260
366
275
208
391
355
379
272
269
339
332
281
343
310
362
354
324
347
214
311
360
343
364
323
339
349
264
294
307
270
378
273
346
361
298
327
336
283
342
328
317
338
401
322
247
313
317
213
267
409
310
287
309
340
270
229
313
361
318
346
371
355
312
282
300
300
256
279
317
286
329
296
414
326
340
265
284
314
317
353
347
317
334
242
270
259
349
330
292
366
291
312
318
343
295
315
319
385
284
322
419
303
315
333
320
235
396
296
319
262
374
322
268
291
327
342
320
323
293
326
404
363
423
317
288
343
337
330
368
313
308
250
339
360
362
374
312
300
440
313
328
289
337
337
239
273
302
284
278
380
342
268
355
407
283
345
271
369
352
402
327
303
314
350
378
340
332
375
351
275
288
355
381
290
315
288
308
325
270
341
301
353
400
290
313
374
366
320
330
281
302
318
290
304
327
337
361
377
260
263
379
266
300
280
188
351
245
360
309
357
335
339
311
267
269
273
294
310
334
320
420
316
327
340
278
277
306
236
284
302
254
324
328
289
320
313
292
371
276
303
372
315
401
317
332
342
351
406
292
353
329
375
313
352
306
341
301
347
314
311
402
232
321
317
337
328
356
338
334
322
306
381
238
292
310
300
232
278
321
382
278
293
441
240
311
258
308
312
265
370
304
329
330
272
342
386
327
330
306
343
247
372
328
299
358
317
291
312
249
432
348
343
300
281
353
325
301
383
336
301
277
298
260
213
318
333
257
283
337
261
272
272
359
294
408
355
282
328
323
321
306
297
315
218
373
351
315
286
321
277
265
357
267
361
389
334
282
298
299
315
241
368
317
388
317
371
306
344
341
331
320
332
352
385
307
326
237
293
320
367
219
384
309
269
280
371
372
286
304
475
320
334
282
225
343
289
291
351
276
349
288
299
316
279
274
318
282
269
324
360
306
257
305
244
331
398
320
287
312
309
330
323
348
256
284
328
375
327
338
329
404
291
304
335
360
332
400
269
351
346
327
375
377
297
371
246
361
347
313
416
315
283
287
340
390
352
345
314
256
264
324
330
306
280
346
316
344
303
277
306
281
257
337
326
311
332
342
313
345
354
329
321
319
350
360
338
272
294
274
268
320
285
321
249
331
297
315
363
271
268
250
351
344
314
385
327
293
330
336
355
337
384
252
272
251
276
303
274
257
341
384
347
304
294
278
339
264
345
317
355
310
361
355
267
362
349
385
327
302
295
300
328
366
350
248
333
261
337
330
333
275
349
316
326
386
316
267
377
212
333
392
301
315
244
334
282
343
298
212
331
269
332
303
332
250
346
280
280
329
347
390
357
294
312
286
324
342
309
347
341
371
303
331
344
287
293
384
343
311
291
325
200
396
373
323
296
216
345
344
311
301
374
291
367
248
337
285
284
214
315
364
331
278
348
330
375
360
353
300
202
284
356
307
270
303
356
323
302
292
291
289
307
295
282
297
301
347
286
255
255
317
361
337
310
380
296
390
338
346
373
308
298
287
304
275
303
354
307
372
228
301
210
285
325
335
325
270
397
345
262
347
318
376
290
277
301
318
283
235
247
334
306
228
322
283
347
346
233
391
325
306
343
293
346
339
293
304
307
310
291
352
247
295
261
225
318
341
361
289
271
331
238
250
309
213
363
311
343
325
297
375
254
355
315
296
317
317
262
314
330
245
307
285
326
380
294
303
386
275
305
300
271
296
312
337
304
229
273
374
310
351
357
279
283
260
305
318
276
288
340
343
250
306
374
346
310
353
300
366
377
373
360
320
387
337
334
332
320
380
274
282
324
305
309
348
344
282
394
346
363
384
302
361
324
306
385
301
329
372
199
322
267
329
283
314
308
365
320
261
228
371
343
337
344
290
375
362
361
308
292
328
321
411
341
336
301
388
340
319
338
310
412
281
256
290
296
240
284
310
201
381
310
309
381
315
341
393
264
316
264
293
290
288
338
311
349
278
308
377
326
293
294
283
298
383
295
266
333
369
283
364
266
280
298
361
322
301
286
305
395
322
263
346
304
280
324
362
235
320
351
284
278
288
320
340
327
288
473
192
310
336
290
302
412
273
277
308
249
307
281
352
251
307
216
299
331
243
330
383
268
269
262
384
324
358
404
268
339
344
315
281
360
348
297
329
332
235
391
372
327
273
305
280
332
354
361
300
341
345
385
376
294
310
279
309
316
273
287
274
302
365
366
242
411
276
261
354
340
301
256
321
312
278
337
320
310
347
360
295
320
308
300
303
334
323
327
311
336
367
319
361
323
297
338
291
380
299
280
278
349
397
282
348
300
312
288
353
380
309
312
285
358
343
343
316
323
313
407
225
288
241
341
316
338
279
378
227
348
265
328
314
298
339
385
339
275
348
371
323
289
371
314
309
283
336
288
304
362
368
310
370
304
276
391
290
348
328
349
308
320
219
347
407
291
297
338
269
359
338
308
263
347
307
239
266
255
281
298
233
304
335
292
281
275
294
317
298
304
342
319
329
261
322
316
232
273
333
234
225
306
209
327
240
371
265
314
300
346
359
310
303
266
371
301
277
445
291
308
411
312
291
403
286
350
261
282
314
374
341
250
340
366
245
301
331
370
309
294
333
408
326
357
292
292
358
328
267
295
301
296
270
309
273
398
311
304
365
268
238
316
335
209
362
248
368
225
289
263
269
290
299
305
312
323
307
337
288
367
316
291
335
288
337
262
328
399
329
305
331
360
311
384
295
398
398
332
319
394
265
286
301
301
351
301
269
286
344
364
354
295
354
362
323
282
268
292
318
325
324
327
388
371
347
353
273
324
309
332
277
299
233
316
304
306
205
312
294
296
284
260
418
335
333
357
364
279
325
388
253
320
254
203
300
280
370
377
301
293
327
316
340
371
302
331
281
295
277
296
319
375
286
249
330
258
265
286
384
338
352
304
338
303
395
351
366
321
243
347
297
343
316
323
289
288
289
318
307
352
246
371
301
365
271
317
360
260
278
282
362
291
360
270
382
316
363
299
281
287
344
303
323
328
363
369
296
326
332
359
311
289
294
262
288
337
377
287
377
233
302
240
266
322
322
333
326
261
316
266
239
371
251
307
285
277
258
266
246
268
362
376
353
342
270
353
359
380
311
333
394
277
333
310
361
338
393
299
167
381
279
274
277
340
356
368
366
368
316
283
373
240
275
326
380
301
307
274
283
381
353
348
240
309
268
289
310
292
291
371
247
300
306
263
326
330
287
211
375
283
319
317
318
279
358
373
317
260
376
317
307
228
249
305
326
306
349
298
266
311
336
363
384
348
283
374
333
312
328
319
299
269
310
274
299
333
288
326
326
301
283
320
305
276
287
379
302
294
350
325
292
331
301
300
211
376
251
370
299
240
322
312
253
321
397
380
325
368
349
380
301
351
328
345
329
261
296
338
284
258
337
338
287
370
287
227
251
317
358
271
303
326
274
354
352
354
345
242
328
271
353
313
318
433
260
305
280
334
321
319
338
361
320
257
359
241
274
324
282
382
340
360
345
364
238
314
327
272
346
397
341
329
328
314
270
293
282
332
255
336
376
328
323
342
219
311
369
319
308
297
299
337
276
266
291
292
337
341
313
306
367
296
352
345
304
346
348
317
323
343
340
322
338
321
284
293
300
348
276
294
324
323
308
281
346
313
277
365
342
304
310
283
298
295
240
299
346
356
367
282
270
377
338
278
300
328
324
336
205
191
294
354
249
361
313
356
272
294
276
303
331
342
314
262
296
329
356
310
368
292
331
346
375
303
270
258
373
312
306
249
332
364
293
309
348
273
345
411
355
380
301
291
296
361
345
299
318
430
299
255
295
307
326
339
324
241
328
255
334
315
348
312
385
371
276
398
309
325
361
268
334
345
215
317
204
253
286
232
300
263
238
269
272
246
347
372
348
325
270
332
349
307
300
332
323
368
305
344
334
306
263
241
332
400
345
313
319
313
325
271
334
265
333
381
315
319
279
381
300
379
358
331
224
317
384
315
330
341
316
269
281
367
328
268
276
313
243
336
334
345
343
281
240
369
290
365
239
322
326
209
350
306
287
254
349
324
328
267
283
324
312
298
403
262
219
345
381
384
334
231
297
318
286
359
313
287
294
200
300
334
243
388
326
263
315
325
297
266
278
350
285
333
300
318
302
256
326
355
270
415
273
294
320
307
333
221
236
410
343
300
259
321
284
277
316
416
333
387
330
390
301
362
326
249
351
314
287
333
276
288
389
323
351
360
376
323
229
384
284
290
336
292
227
301
313
275
335
353
358
283
280
291
341
367
350
353
303
326
316
281
280
364
304
318
351
309
348
309
315
322
305
368
316
321
242
361
353
357
285
349
374
239
260
330
379
311
299
344
386
355
340
278
328
374
268
321
372
258
357
291
317
255
291
294
286
283
359
289
406
294
341
373
327
364
300
338
347
323
260
319
347
344
285
265
271
392
387
275
318
345
237
255
303
399
256
331
347
321
322
398
349
218
290
333
263
276
215
329
238
250
311
304
306
308
322
331
316
349
292
340
252
333
235
265
293
351
275
304
318
339
321
330
223
344
281
335
313
335
327
343
251
292
260
326
269
303
358
342
351
281
314
299
292
313
287
413
333
291
323
301
261
309
199
344
353
356
347
333
317
335
263
303
274
321
285
309
324
287
298
280
328
275
327
334
290
313
285
364
320
276
316
350
362
336
336
239
258
268
343
258
301
361
311
363
273
352
345
359
290
360
347
286
285
354
225
207
330
341
324
310
308
303
388
308
293
404
380
360
337
378
339
249
291
263
319
215
274
303
402
311
247
414
259
211
369
363
327
296
367
252
360
353
295
335
386
328
324
348
349
440
288
251
310
414
281
409
280
283
316
241
322
376
336
251
291
360
265
308
349
298
342
233
288
339
331
342
297
313
237
311
294
302
301
342
352
390
362
297
327
305
358
331
314
356
310
381
273
372
297
309
317
308
354
212
340
222
289
270
263
410
314
248
278
323
278
302
201
274
354
380
312
357
335
313
315
299
343
327
244
385
300
369
252
387
340
320
353
261
317
342
304
275
389
339
294
344
253
315
297
331
277
294
341
390
298
345
204
233
353
350
318
223
338
327
326
375
358
287
279
291
339
289
337
383
302
337
278
314
356
333
346
278
353
295
336
314
302
395
400
271
388
332
357
310
367
293
338
400
318
297
257
270
318
242
323
331
291
351
325
358
224
332
366
383
347
355
293
279
341
346
409
348
283
271
393
243
235
288
322
338
327
241
307
307
306
371
339
278
379
395
332
288
321
352
300
350
257
311
350
281
323
354
353
301
351
247
330
352
375
263
342
398
318
256
382
307
311
237
341
348
327
304
343
355
336
363
335
225
239
386
337
306
307
279
291
286
165
306
326
300
323
387
283
307
326
268
282
333
244
293
283
287
284
318
252
287
286
305
303
340
332
328
369
370
406
360
338
320
318
272
337
251
355
331
312
233
337
302
253
316
241
261
213
370
232
343
274
332
244
334
326
316
403
255
356
282
422
317
319
346
334
284
311
336
331
338
338
348
315
285
240
307
267
342
297
310
364
292
342
273
415
355
293
339
273
293
320
349
334
313
309
243
335
346
310
356
300
393
306
352
375
307
338
299
373
319
391
288
405
326
303
332
307
383
316
353
369
297
372
288
339
371
375
305
341
354
283
289
354
379
299
337
367
276
365
303
252
312
308
253
367
288
350
286
267
278
370
384
272
336
401
272
247
258
253
290
257
394
279
356
413
362
376
323
260
287
367
314
368
350
324
218
335
312
221
270
310
357
367
341
347
346
288
344
263
283
294
336
271
321
299
243
385
284
349
369
312
303
318
311
305
322
343
277
293
345
245
250
384
407
231
292
345
378
266
361
309
270
356
349
326
368
328
297
243
308
236
346
335
316
316
329
297
321
360
272
260
374
338
366
302
375
302
281
364
243
366
276
290
416
327
312
339
425
349
279
264
366
303
277
239
285
306
385
336
327
333
357
245
329
384
373
249
300
381
353
307
382
304
335
286
284
304
392
306
306
269
335
305
427
321
282
284
310
259
336
330
268
257
211
218
373
274
273
329
359
314
276
360
286
343
356
203
270
337
288
301
321
249
254
277
316
398
340
333
266
269
344
280
309
303
268
243
337
239
321
313
274
290
367
338
385
302
312
310
310
450
280
293
283
280
389
285
320
295
272
254
257
284
266
285
308
357
280
319
304
341
358
239
254
361
312
292
301
202
297
318
329
363
294
364
306
335
378
314
250
301
232
403
268
211
342
267
286
337
291
287
384
283
271
347
360
379
354
283
313
345
337
242
400
236
340
301
307
332
266
287
328
356
310
293
355
337
206
317
334
306
300
333
279
269
272
293
238
320
290
335
291
308
338
288
367
258
283
287
230
261
303
334
251
348
349
375
397
227
322
376
263
278
281
280
383
268
313
254
338
218
336
273
352
306
298
318
346
384
316
274
277
319
267
328
285
394
318
255
326
330
351
274
334
295
254
344
358
352
355
299
205
295
291
316
344
281
304
334
311
368
273
348
308
368
305
261
338
317
342
367
417
366
285
341
342
338
292
334
303
233
349
349
282
370
320
416
273
252
308
317
358
287
275
287
342
346
296
292
288
351
370
289
335
393
381
348
323
275
269
374
209
413
370
343
300
257
320
288
329
291
310
376
306
269
275
260
285
326
313
340
351
215
431
329
259
319
355
281
361
285
363
341
337
371
344
311
246
414
331
275
273
284
367
394
272
291
261
296
325
247
381
282
301
368
238
314
363
266
361
326
318
288
229
324
328
252
352
379
231
261
322
357
354
361
393
295
196
344
253
335
390
285
335
328
238
298
305
299
329
316
296
376
342
365
335
366
298
273
261
244
339
363
329
405
308
312
316
331
270
362
304
328
379
255
319
303
301
286
390
357
301
282
261
345
335
278
268
357
351
292
305
236
284
301
323
273
336
228
359
244
331
245
364
265
332
383
361
342
348
284
325
368
282
298
324
319
258
243
315
295
407
359
267
244
262
258
319
276
296
275
291
280
348
277
314
322
299
288
279
288
331
311
373
429
345
300
268
311
289
387
246
369
248
252
360
319
315
309
287
277
367
267
308
279
256
353
383
263
337
285
326
321
296
313
308
307
334
362
283
274
301
293
303
303
341
370
263
361
302
310
268
340
272
394
269
332
244
286
377
188
248
372
326
313
344
390
301
317
363
265
349
356
350
316
405
411
261
284
266
311
363
261
390
318
363
422
304
366
295
313
323
348
243
244
332
349
299
197
313
326
402
341
343
284
320
308
282
328
356
255
271
350
323
358
280
368
267
317
377
280
241
325
372
376
296
321
378
286
300
364
366
261
340
331
310
300
348
346
283
246
350
314
304
318
261
318
285
235
294
364
314
303
285
270
253
361
373
310
354
263
280
385
357
323
324
451
260
364
345
340
321
341
375
316
376
295
384
328
289
370
323
294
246
299
277
338
334
292
249
296
320
336
371
253
337
324
360
415
321
263
351
234
381
332
361
306
374
299
407
324
244
329
303
280
326
306
313
355
354
356
202
280
278
299
278
332
341
322
214
288
278
250
313
361
338
268
219
304
293
342
233
343
335
279
405
287
322
375
324
321
318
307
276
334
310
334
333
364
305
237
314
309
336
302
320
348
331
367
197
290
345
269
364
297
294
328
347
315
305
350
319
359
347
338
295
329
310
310
384
247
275
311
330
401
291
365
302
317
283
343
237
360
314
236
341
235
310
354
313
246
270
380
320
327
349
287
326
290
379
312
385
283
376
291
364
296
265
304
256
320
328
367
333
381
388
357
347
369
304
297
238
253
380
311
356
320
352
398
376
392
367
356
365
348
276
358
344
257
227
300
331
358
287
340
282
354
279
329
291
286
256
340
341
287
317
356
354
384
349
301
270
349
339
311
357
271
267
320
368
294
337
292
357
386
318
259
300
332
222
268
285
286
343
362
361
306
298
314
315
297
232
268
327
345
331
392
260
293
341
308
340
326
239
339
223
380
314
295
331
329
299
297
313
308
312
241
273
298
286
289
338
235
336
287
369
299
376
344
295
393
347
320
315
252
295
376
287
232
344
218
293
309
289
379
233
289
311
335
422
335
243
294
274
246
359
293
275
263
248
320
307
336
234
325
328
310
358
316
317
318
349
325
359
346
265
420
373
287
359
332
347
320
255
233
321
300
379
308
402
339
312
354
334
258
330
299
276
332
312
323
325
390
339
369
246
288
318
309
332
249
338
320
286
321
323
428
306
298
283
319
253
282
322
359
348
309
285
293
402
274
305
318
333
340
364
253
341
341
359
332
317
291
361
382
314
279
343
317
348
348
300
262
387
279
322
330
308
307
306
308
400
212
351
407
343
412
283
342
342
292
368
284
356
322
366
258
237
314
255
322
303
335
262
269
300
363
331
250
216
330
380
314
427
382
358
336
263
368
288
198
400
347
308
353
313
304
349
320
293
346
271
372
325
345
319
374
403
275
231
324
333
261
281
267
193
256
391
309
331
316
375
240
351
371
355
370
324
278
354
302
324
333
279
312
344
347
350
341
273
270
239
350
336
261
374
318
382
230
371
343
329
299
301
402
204
372
321
254
310
237
323
323
294
328
274
297
291
271
299
275
385
224
322
313
397
340
328
276
321
290
361
279
375
276
324
270
308
352
295
339
385
321
351
376
301
347
332
348
396
320
326
299
281
329
326
384
279
373
301
318
306
303
278
384
263
364
326
323
346
331
357
335
326
347
360
281
295
403
272
279
348
292
287
334
320
323
234
396
238
317
348
311
375
375
334
339
359
325
335
281
305
293
350
302
340
232
311
353
259
185
364
299
326
383
345
295
238
312
349
394
276
275
344
326
288
309
366
319
381
271
343
329
291
315
314
338
214
363
312
361
320
249
275
311
244
301
316
367
272
317
259
256
343
320
328
296
393
300
297
296
342
333
339
356
301
285
271
380
245
354
324
350
309
291
334
265
386
281
405
316
326
221
345
253
313
318
278
274
300
222
294
314
305
373
296
268
351
278
323
347
300
322
255
306
265
276
331
363
291
408
312
335
346
254
350
239
287
378
281
324
334
343
288
230
356
284
289
319
344
364
342
348
321
297
340
296
357
290
289
290
322
310
378
275
355
345
329
307
382
266
352
364
353
221
285
291
262
208
327
379
288
236
339
240
357
396
326
284
346
324
334
310
323
339
296
309
335
336
349
310
289
312
287
359
353
265
356
252
334
293
368
320
276
356
306
329
398
282
351
356
363
323
291
360
292
363
296
357
335
348
319
349
314
351
364
321
295
303
310
340
312
355
262
370
340
328
390
311
287
236
370
364
303
286
362
291
246
313
335
309
354
312
306
261
247
294
334
257
277
335
236
205
341
345
319
335
328
299
294
287
262
280
340
326
332
274
303
266
342
264
325
306
302
342
275
346
360
292
319
334
256
261
305
276
332
304
260
277
302
402
339
314
343
395
310
291
267
269
276
310
337
203
403
320
298
266
226
390
334
304
335
333
345
221
343
298
369
326
230
349
354
342
226
384
281
343
311
326
466
339
304
273
288
372
370
329
269
399
331
294
266
396
341
332
234
381
324
309
264
312
302
303
323
324
388
296
297
274
262
333
289
368
256
288
321
334
327
336
346
301
330
318
341
321
218
367
324
340
270
280
364
322
292
253
343
391
397
287
356
253
310
298
281
308
260
352
381
312
346
360
283
418
318
280
269
372
318
338
298
297
311
322
344
327
278
318
344
279
274
308
279
274
321
302
402
196
350
342
293
297
351
333
324
381
329
338
250
290
279
348
303
283
292
335
335
317
349
362
323
352
343
247
343
300
281
296
303
349
334
314
351
324
310
348
356
376
238
327
329
324
329
336
227
246
335
319
289
363
323
322
349
291
294
312
368
256
350
279
324
313
324
323
369
317
276
281
303
365
272
374
334
354
322
316
288
275
255
339
382
248
251
289
412
335
353
304
281
349
275
256
345
290
359
272
297
331
355
385
388
361
270
351
312
300
259
309
248
329
434
322
352
280
329
335
228
315
311
312
328
334
308
248
303
396
317
332
260
339
346
352
374
307
341
353
292
251
298
341
303
302
203
299
389
234
298
275
352
282
257
255
291
338
359
324
351
328
367
306
204
310
295
380
315
291
316
339
319
318
286
348
238
346
458
294
350
363
356
315
291
377
311
354
330
369
229
330
223
371
301
370
355
318
302
250
254
291
280
289
325
334
310
345
345
368
342
340
327
264
416
374
271
426
352
349
283
294
335
194
302
253
351
318
340
285
371
259
278
360
332
314
279
334
310
304
276
334
335
294
260
337
313
346
238
322
359
302
358
242
363
261
315
323
282
287
283
369
385
304
227
318
349
258
292
343
309
373
361
307
319
304
297
263
284
271
329
288
350
309
306
301
303
336
329
327
208
396
342
359
305
279
342
312
242
278
320
289
333
260
379
303
326
352
385
362
257
323
300
336
326
330
253
346
332
283
326
380
347
283
355
374
281
323
356
286
204
366
294
251
305
248
389
290
261
264
291
336
329
242
301
340
337
362
260
351
337
287
380
332
246
307
344
314
353
317
231
346
341
319
263
303
313
371
301
305
335
243
326
253
346
366
364
326
302
353
311
316
263
313
389
391
266
278
302
367
316
273
297
257
305
282
331
319
282
273
247
271
327
368
315
297
315
293
333
365
240
322
319
293
374
332
323
367
346
318
371
362
302
291
310
296
334
312
372
274
409
327
333
343
352
346
276
351
393
337
249
320
294
318
299
341
352
349
248
271
331
307
294
312
358
325
345
361
375
262
370
299
310
359
353
269
435
394
309
288
293
346
232
375
291
247
379
233
329
295
286
344
386
228
311
309
322
261
393
327
310
298
382
270
385
320
331
417
317
341
369
351
368
355
252
285
269
350
281
343
318
276
277
330
319
323
331
344
281
308
320
345
335
346
165
346
315
316
302
314
308
342
329
275
353
344
353
378
360
281
358
326
310
326
324
296
391
260
346
376
260
314
258
350
328
273
310
237
307
268
287
378
293
402
323
280
393
347
369
340
312
294
287
339
364
444
259
296
234
258
272
392
365
277
295
334
270
293
328
331
345
276
339
382
386
271
277
297
267
274
306
398
258
343
362
308
327
344
372
316
331
278
298
303
321
366
366
298
371
340
299
307
288
339
337
314
241
346
308
299
306
341
339
364
316
339
329
251
358
312
286
347
360
291
243
354
359
280
234
368
357
366
299
309
353
247
324
368
254
279
369
255
315
345
345
376
356
257
305
277
333
347
383
339
368
257
248
290
325
358
275
312
268
231
326
312
292
357
307
337
284
307
326
321
327
353
243
274
308
192
330
276
342
316
288
359
317
414
309
313
348
302
301
309
298
265
305
258
309
324
275
320
354
333
295
302
314
289
292
287
273
236
313
305
266
261
269
297
351
221
295
305
306
324
302
354
322
356
353
377
300
362
273
311
251
352
299
220
318
237
361
297
320
433
337
307
270
301
320
399
311
328
294
383
264
360
392
313
364
333
247
312
297
389
334
335
255
357
256
354
392
262
276
318
373
378
331
309
315
348
299
302
414
314
293
331
312
351
386
216
297
281
328
353
392
340
242
265
366
263
341
362
345
357
391
345
409
380
347
242
360
236
262
283
259
297
331
290
375
221
276
358
338
313
341
270
332
374
246
372
264
287
377
299
319
360
289
306
296
325
254
248
328
325
299
383
297
308
303
317
343
299
289
310
300
362
338
331
294
294
250
287
332
394
320
244
314
309
322
298
289
294
274
294
379
316
314
322
390
335
275
318
324
324
365
335
296
261
284
263
314
316
273
286
367
214
310
238
401
305
200
212
344
268
322
365
318
270
269
206
287
300
343
299
368
328
290
324
311
378
288
332
330
372
286
243
362
319
332
384
251
270
309
338
291
251
337
307
333
241
353
297
287
372
296
294
295
311
295
388
395
281
317
349
282
397
276
305
330
369
280
371
371
343
247
251
386
304
402
308
314
328
247
294
325
248
287
392
337
412
342
309
374
373
289
320
245
366
337
273
321
279
296
352
383
269
303
382
230
259
336
341
378
303
336
328
289
295
274
321
334
291
335
292
311
358
306
341
353
372
377
288
238
355
413
337
319
315
291
270
309
382
277
456
326
356
236
289
303
322
305
275
262
258
269
263
341
257
355
385
250
318
296
364
254
296
400
302
372
334
333
360
260
331
297
357
309
292
327
312
368
279
353
394
306
290
330
291
256
362
364
310
304
336
346
299
352
288
308
277
398
309
329
375
340
337
377
318
374
310
325
366
355
236
314
291
306
276
305
350
299
384
317
313
381
256
293
327
284
359
342
368
379
248
340
305
242
293
311
316
257
317
351
330
332
323
218
330
289
276
312
363
362
345
332
258
313
347
288
267
269
315
319
327
370
340
295
325
276
344
353
277
338
279
310
326
309
403
367
326
412
186
252
354
234
356
425
230
305
329
316
317
339
380
298
299
315
295
296
337
318
295
272
360
335
326
297
322
297
260
369
351
348
275
337
320
277
281
303
244
332
366
318
374
354
340
292
265
396
305
365
415
334
278
316
331
372
208
339
305
346
366
241
327
314
307
341
355
309
354
313
325
286
334
338
279
331
423
293
262
277
393
391
241
348
314
438
328
286
340
279
402
340
232
357
216
267
332
330
244
261
356
369
335
330
276
288
233
316
414
283
340
390
272
326
338
328
307
284
283
275
311
307
340
286
307
234
323
365
317
272
286
356
302
309
274
409
341
340
317
377
318
358
262
360
328
398
412
318
276
306
323
354
283
288
214
318
300
341
311
323
344
323
327
284
328
268
339
320
292
228
293
316
328
282
358
355
331
319
321
357
287
317
313
248
404
330
297
305
292
290
347
376
283
311
371
286
338
352
314
283
375
319
271
339
305
292
340
340
277
331
248
281
325
313
322
402
320
344
353
274
373
364
283
263
320
297
271
373
253
297
203
312
335
381
326
284
252
281
321
285
310
235
333
289
269
294
306
342
279
294
255
335
238
358
277
326
328
286
257
380
280
294
373
340
326
339
364
297
299
286
349
281
332
329
303
305
373
285
237
366
318
302
331
278
265
335
240
297
364
319
259
309
234
325
293
258
381
339
271
369
267
282
336
340
339
350
357
344
315
339
253
381
310
249
347
319
305
323
327
329
359
309
263
301
278
298
362
251
315
256
332
234
328
303
436
359
326
349
277
294
340
307
225
340
397
287
306
325
265
363
317
284
336
369
335
342
322
349
335
326
363
225
322
329
267
257
271
345
280
341
235
244
399
259
289
320
343
343
271
333
319
335
319
304
348
267
330
284
333
313
310
262
303
210
324
288
355
351
282
319
289
336
313
306
322
331
271
241
309
291
304
222
302
233
250
370
303
372
330
337
264
280
314
326
290
329
353
235
366
342
256
247
344
232
306
353
373
323
274
307
375
373
291
303
324
248
247
277
316
367
304
357
244
370
310
342
227
317
346
331
297
249
302
280
292
410
262
271
271
320
300
348
368
331
302
279
244
352
338
281
239
353
338
343
307
284
339
273
293
339
316
252
280
380
368
342
417
370
270
296
290
212
328
332
281
321
275
334
267
292
272
336
311
318
271
395
313
398
320
389
269
323
300
276
292
299
268
352
251
264
287
377
332
380
317
309
325
216
310
322
256
286
281
243
319
295
313
311
303
237
311
364
303
256
420
288
336
369
378
287
322
343
261
295
334
291
350
307
362
311
325
333
338
236
288
270
316
313
317
368
303
346
354
267
361
352
269
296
315
358
366
346
358
227
315
349
325
299
282
376
334
316
333
356
258
285
185
307
369
338
387
284
364
433
337
238
281
272
319
248
304
236
334
333
391
256
273
245
323
305
305
341
323
345
372
312
363
328
359
349
258
214
272
284
287
296
244
313
331
351
348
327
291
300
330
375
256
293
299
342
293
360
317
330
301
416
348
286
368
332
284
303
318
395
336
361
376
314
332
256
346
355
380
371
219
296
282
315
337
327
308
334
292
268
297
320
277
346
280
310
337
296
312
324
290
287
356
372
346
389
340
283
260
299
339
329
392
247
250
397
262
297
339
307
272
353
264
306
275
314
392
263
355
337
339
365
265
291
302
222
265
396
384
390
236
311
265
370
217
328
371
293
274
315
333
314
349
311
295
338
214
312
265
314
337
269
298
276
378
223
310
351
273
223
253
312
338
293
286
261
348
266
272
380
302
250
330
320
325
262
338
359
352
255
322
355
318
210
326
346
324
285
326
329
331
293
354
382
323
347
285
283
327
298
412
295
274
376
273
388
326
405
328
338
366
307
231
330
313
289
376
291
334
307
334
370
189
311
314
241
295
269
333
372
270
280
389
309
325
259
349
292
308
305
332
279
333
376
323
332
302
296
358
284
315
332
275
297
290
287
262
359
257
298
319
267
377
313
320
228
235
266
355
279
349
212
366
278
339
338
228
358
300
291
306
305
337
279
359
349
318
353
299
350
324
273
384
306
294
391
359
346
357
344
333
373
275
295
346
235
284
349
340
272
352
328
345
243
300
224
280
324
318
296
340
304
389
291
230
330
353
328
262
289
292
267
265
318
315
291
234
337
352
372
304
241
306
222
400
329
338
318
351
343
282
284
243
347
369
249
276
378
381
238
348
412
356
290
310
294
312
302
256
352
257
310
313
361
306
311
317
313
307
328
269
292
339
368
383
349
343
282
353
320
224
212
281
314
315
355
335
324
367
345
345
351
356
331
286
234
341
298
253
387
365
370
331
330
359
329
306
371
368
294
298
338
315
338
352
276
380
343
395
361
269
296
303
324
288
296
324
248
333
350
343
273
320
304
322
335
245
264
334
340
380
338
392
376
345
291
373
304
325
308
288
318
324
268
390
290
278
339
294
320
352
282
256
341
330
345
366
279
268
356
279
347
346
300
418
350
373
301
238
267
265
327
404
306
268
294
263
308
338
321
261
304
309
316
309
343
364
399
365
417
339
273
282
378
229
323
297
372
387
285
218
273
289
343
311
330
300
364
285
303
379
338
370
313
367
351
348
324
373
311
313
237
268
363
353
360
325
284
348
324
306
325
362
366
323
318
283
343
363
243
314
400
303
269
302
364
348
294
383
251
316
374
303
330
285
277
281
300
308
328
312
283
281
353
262
319
327
357
277
313
323
286
365
363
317
231
289
274
310
350
271
395
278
207
305
351
359
363
397
368
371
315
308
286
269
253
308
301
286
294
342
294
322
308
322
300
295
375
305
304
277
355
317
314
400
306
368
322
356
391
280
227
337
242
353
340
311
342
362
263
254
329
298
366
210
365
384
290
321
339
263
289
290
334
294
283
385
381
357
273
242
265
246
204
360
340
292
358
231
346
381
273
318
335
305
278
225
235
310
307
336
353
353
300
305
384
251
227
264
296
348
255
334
320
333
292
320
347
275
314
295
354
310
315
258
261
359
312
322
278
319
243
291
285
354
335
343
336
285
287
323
367
370
302
308
277
297
265
295
368
302
209
234
335
314
341
338
299
345
345
276
232
361
382
312
363
292
325
275
372
384
318
291
278
341
343
358
304
367
299
346
354
358
371
306
260
343
350
240
303
359
265
288
259
313
345
301
372
311
310
356
336
266
364
258
241
361
344
280
344
307
336
385
230
325
202
293
383
330
348
262
374
322
256
348
309
274
303
290
310
379
366
363
363
293
374
335
279
286
307
392
273
328
237
372
227
376
363
379
359
279
380
330
333
288
341
280
377
365
343
353
277
296
388
299
383
325
274
383
343
284
340
304
353
278
272
247
308
301
363
333
392
298
314
367
312
345
343
267
276
304
341
371
333
283
247
264
280
259
401
268
387
278
353
286
300
340
303
302
316
326
266
392
289
227
284
288
342
350
338
371
233
301
302
367
361
280
327
379
348
294
319
373
306
312
332
282
334
332
232
355
284
309
272
372
306
346
410
303
389
321
307
257
288
227
386
317
389
318
325
269
289
278
286
321
306
340
318
305
301
333
246
348
369
345
337
349
257
259
269
341
362
256
298
281
333
329
326
265
312
300
342
270
370
328
328
302
360
348
245
280
363
310
275
320
406
355
320
368
366
239
379
235
269
233
327
369
380
294
277
282
263
298
343
321
232
333
348
289
321
281
340
386
238
342
368
367
329
303
393
293
327
288
405
354
339
343
304
250
301
340
428
333
306
380
312
274
276
388
328
299
262
267
245
339
344
345
352
336
282
312
381
254
319
281
396
285
413
335
306
291
360
330
327
343
305
266
299
312
339
347
286
323
327
315
338
242
213
271
311
354
350
305
301
359
340
317
264
380
314
342
337
264
387
304
304
240
314
286
362
224
296
319
327
288
336
291
310
211
262
329
271
307
243
312
292
409
289
332
379
342
215
392
321
310
337
268
259
371
315
319
330
317
352
283
320
278
296
287
373
356
322
282
212
285
303
225
263
330
426
381
315
343
303
313
202
316
324
277
371
343
279
314
313
270
276
268
308
294
275
368
279
275
250
363
342
276
337
245
284
293
282
295
222
346
358
339
361
341
317
354
285
302
269
275
326
303
250
376
304
278
357
279
272
381
289
288
330
279
370
237
366
289
335
248
204
349
419
284
314
346
327
364
300
304
260
381
307
275
338
346
305
204
323
259
354
261
282
331
307
357
325
314
321
319
286
272
291
406
304
306
306
198
294
373
351
306
313
312
308
325
295
319
305
291
263
311
395
250
292
242
322
302
275
290
275
329
371
298
386
402
250
320
310
290
309
319
380
362
319
369
284
319
367
326
343
375
306
307
316
309
364
284
251
236
344
335
204
320
291
296
267
378
327
277
318
325
305
297
287
360
375
287
315
366
324
277
290
340
352
301
328
363
314
343
236
358
331
309
307
206
290
382
348
313
374
349
335
312
403
306
282
357
296
232
342
236
387
304
363
320
287
277
197
346
322
264
291
286
341
373
349
321
273
317
301
296
367
272
327
348
279
324
325
343
259
276
313
386
385
357
294
246
279
354
345
320
346
330
275
231
337
367
406
318
321
307
384
345
336
330
343
279
335
294
321
318
281
289
254
331
364
274
381
249
319
266
318
311
318
282
408
292
287
292
270
324
353
309
310
292
338
341
325
331
270
373
309
358
338
365
295
304
284
278
360
379
342
325
368
346
306
374
232
291
236
374
331
347
261
379
289
316
243
292
289
388
268
343
305
350
253
382
285
360
315
358
272
274
288
268
381
278
275
336
389
350
252
350
298
330
354
353
288
194
184
348
303
400
305
348
356
305
316
293
359
328
331
324
296
321
295
380
295
322
304
300
266
366
328
244
343
349
271
324
240
310
305
304
250
276
320
240
329
252
302
352
302
281
383
372
317
281
328
297
266
295
293
348
302
399
328
358
297
315
358
278
313
342
414
285
349
360
329
317
275
329
343
322
279
216
250
238
228
271
372
444
353
356
258
334
320
332
283
341
337
238
406
315
334
362
320
314
260
401
349
318
339
346
311
310
400
278
308
259
285
314
353
352
345
247
280
283
286
315
332
312
331
331
355
286
322
394
329
390
269
326
310
375
320
310
289
332
288
360
295
256
368
324
334
264
425
323
340
290
302
321
326
358
292
351
224
241
348
319
325
339
276
359
332
350
435
321
290
338
266
320
217
315
353
292
297
304
282
316
354
259
300
308
296
323
314
192
285
299
379
383
328
290
280
281
283
355
346
301
401
305
346
332
294
377
328
301
372
254
323
232
243
315
300
376
328
329
246
335
346
339
275
316
250
291
337
234
299
337
356
354
319
249
377
315
307
328
255
361
326
273
334
246
251
304
327
270
244
303
352
277
325
333
374
275
314
224
306
307
348
165
259
304
268
260
340
334
392
291
376
277
355
306
306
333
391
300
306
321
393
401
268
281
315
276
273
359
310
378
266
336
221
338
274
339
278
265
334
368
383
246
410
319
370
341
338
332
321
267
347
285
375
304
291
328
277
259
282
283
325
333
308
307
249
286
264
418
339
401
261
292
316
353
249
367
344
340
283
356
264
299
249
315
278
272
302
400
328
309
319
375
216
297
308
303
328
318
293
381
309
285
341
258
343
285
310
348
321
292
377
323
241
337
300
353
288
294
343
350
294
308
353
233
279
299
312
308
404
242
326
306
315
237
314
216
274
274
282
288
302
293
300
302
313
290
319
309
304
330
363
282
390
276
319
390
309
327
287
359
363
223
300
280
297
361
358
280
283
389
307
188
378
290
386
271
297
306
336
381
269
291
394
365
366
332
275
294
265
371
330
301
341
237
317
319
237
306
316
338
368
298
276
366
342
276
248
335
278
291
248
315
342
313
336
377
390
302
360
381
298
235
272
315
415
288
316
306
375
324
368
368
228
221
278
411
323
235
272
292
340
313
406
331
277
319
244
333
314
274
278
320
315
370
398
269
314
260
378
293
297
384
276
362
233
344
285
340
282
353
369
321
338
363
229
309
373
344
261
352
342
317
282
327
334
354
316
306
302
364
273
346
285
280
294
360
349
381
316
274
257
381
413
274
276
329
303
282
317
358
280
380
336
266
317
268
277
220
294
345
322
218
390
278
285
304
347
374
392
375
390
270
354
318
262
338
336
368
249
325
384
327
337
386
366
391
332
325
324
275
301
299
311
317
317
266
405
317
284
305
313
316
384
302
344
295
340
330
369
263
287
285
343
227
334
360
316
279
214
362
254
311
343
331
266
299
306
278
281
288
273
282
257
294
303
279
379
437
315
331
314
319
347
242
344
326
324
250
319
247
319
326
316
259
266
278
326
269
311
360
375
304
369
257
350
304
294
342
279
285
249
333
294
293
252
259
257
341
360
239
302
275
354
310
303
351
284
249
380
266
402
360
297
315
381
411
272
264
280
288
322
330
286
316
338
281
311
286
405
387
317
314
302
403
313
293
268
266
368
370
250
391
334
271
329
322
360
396
318
296
350
352
378
286
264
391
269
290
334
393
348
275
296
251
366
268
381
310
329
302
269
344
310
332
301
338
309
340
293
311
317
202
356
319
298
255
369
238
273
296
345
379
285
260
242
334
359
262
268
374
329
267
276
335
368
344
334
337
295
313
309
379
342
269
229
368
260
336
267
396
303
389
313
347
266
373
388
217
362
370
306
218
253
340
224
184
277
345
346
316
335
305
287
346
373
360
415
320
232
330
303
345
231
344
304
322
356
352
327
300
330
253
326
212
259
309
301
239
289
274
304
303
301
342
323
292
311
337
313
344
355
287
382
282
330
272
293
313
197
313
317
264
294
320
298
399
340
258
219
296
293
263
289
297
296
379
354
294
364
329
306
354
292
330
384
342
296
276
333
273
320
358
343
334
268
298
388
293
347
275
253
298
246
289
273
276
284
353
364
344
242
321
375
287
319
345
334
370
290
206
384
368
324
362
307
297
272
237
232
351
381
220
315
360
302
318
351
306
301
346
303
323
318
290
261
379
324
360
381
360
287
304
354
265
289
325
349
354
304
317
321
292
290
308
360
260
365
357
361
311
336
292
368
350
313
343
379
338
249
397
274
358
344
291
327
403
332
363
316
247
304
336
305
227
299
360
372
391
378
296
313
269
372
226
355
293
270
348
264
278
282
304
409
378
350
322
282
308
344
398
280
255
271
342
265
369
314
357
333
356
273
392
312
329
269
251
286
365
368
350
392
378
377
338
279
377
321
371
372
365
371
327
273
328
397
333
288
286
337
347
330
368
337
237
277
414
246
427
364
402
285
330
309
289
294
338
302
343
382
341
352
339
292
297
295
313
357
348
287
298
306
420
388
256
267
305
378
298
344
285
381
327
245
334
240
272
322
335
366
271
328
320
406
312
289
294
276
316
329
263
302
286
210
300
244
386
285
375
334
290
354
332
297
383
374
322
289
346
363
330
357
377
298
332
332
391
326
306
383
305
313
342
356
315
289
333
346
310
311
274
310
291
291
323
265
332
273
331
278
351
361
288
304
305
288
240
289
210
335
278
238
352
266
199
300
306
355
371
324
234
182
358
260
332
291
313
358
353
269
350
405
293
342
232
327
327
317
313
292
319
300
278
220
453
295
322
328
254
231
252
209
261
229
325
298
338
338
342
218
355
295
310
270
296
296
272
294
332
351
379
380
340
280
260
397
315
370
246
303
352
329
305
339
275
339
338
272
345
251
319
335
277
336
260
312
318
203
275
320
306
424
328
310
325
332
301
329
337
321
324
366
329
339
292
291
325
252
359
340
301
303
304
328
349
294
283
346
262
324
374
307
352
299
290
219
327
309
329
299
361
316
293
379
360
354
255
349
294
376
269
344
289
318
387
324
285
368
285
302
298
332
306
322
329
307
312
231
327
301
331
362
282
264
315
362
294
393
271
250
319
257
308
388
350
291
341
362
321
359
359
430
350
304
363
395
294
322
322
280
281
380
300
277
336
303
316
280
359
361
328
365
310
346
296
350
350
249
340
321
322
207
367
270
371
340
321
360
349
330
287
385
344
298
335
360
336
297
312
237
250
328
250
323
300
278
283
337
336
284
336
270
360
380
387
322
305
320
367
314
300
318
390
334
328
349
294
400
264
306
282
279
306
218
314
385
320
362
255
374
360
322
343
358
299
339
263
320
252
352
349
282
356
243
278
344
297
317
333
277
279
285
325
325
322
249
297
353
361
319
360
400
279
306
303
308
352
359
248
324
371
312
219
234
319
317
352
266
341
242
286
334
343
274
302
305
310
316
234
242
304
223
304
309
307
346
407
311
345
330
331
255
229
364
320
313
362
361
339
362
268
252
318
314
295
318
256
285
264
326
341
360
255
310
310
304
264
322
274
276
340
270
366
293
333
352
301
360
276
334
346
297
343
317
312
337
248
247
313
253
332
257
337
333
300
372
298
352
376
337
307
284
284
298
262
331
285
357
324
239
276
314
302
410
294
372
291
244
294
270
344
314
323
310
264
376
335
311
263
306
301
316
358
291
293
332
266
427
316
298
279
326
272
320
288
328
299
448
234
372
323
374
383
328
391
292
299
209
314
288
285
319
312
295
235
357
416
301
287
391
300
292
356
351
238
192
352
313
256
300
339
292
377
270
261
298
306
359
309
279
258
301
320
249
281
380
309
335
239
386
264
270
312
352
304
240
371
366
265
324
279
284
269
320
321
228
371
328
209
240
334
308
382
317
276
296
324
309
269
311
311
250
385
273
276
371
398
342
372
305
239
284
338
216
311
241
244
408
339
347
307
328
302
367
383
319
316
235
271
298
311
346
369
219
316
317
337
334
373
304
287
283
355
274
317
392
376
329
264
299
295
361
263
347
294
276
266
353
346
270
374
301
336
346
316
263
302
304
299
305
271
250
311
393
284
353
290
279
326
320
360
388
322
305
394
278
329
249
376
259
373
351
325
290
309
323
321
340
357
346
334
322
261
337
330
339
325
334
351
292
252
314
289
294
319
283
284
305
261
345
233
335
306
349
287
334
290
259
368
293
318
353
360
339
360
198
349
371
333
344
326
315
390
278
328
314
324
360
236
342
375
247
354
263
326
339
297
401
320
336
206
229
362
327
320
288
357
253
322
269
393
349
313
335
307
307
380
315
422
281
322
279
306
314
285
395
337
311
399
318
341
337
300
272
342
369
254
296
362
323
327
324
379
369
174
406
292
268
387
266
341
364
350
355
363
386
358
283
316
390
426
273
232
231
404
341
296
366
253
357
398
252
328
393
278
284
319
266
304
346
293
351
243
374
356
393
279
287
286
292
283
351
296
293
340
237
348
339
299
326
324
398
272
364
294
366
328
280
375
326
262
313
288
335
357
269
366
315
423
369
321
310
307
303
334
362
393
331
359
294
311
350
386
369
347
383
396
245
213
340
345
383
323
354
264
411
302
368
260
247
299
308
337
335
286
376
283
421
342
391
377
250
328
288
309
335
281
363
235
324
332
279
346
274
235
356
351
260
305
266
292
267
306
353
310
266
275
273
297
348
236
309
395
362
278
390
335
307
308
266
279
317
318
288
296
321
318
363
398
288
281
340
225
262
325
349
391
327
348
369
358
295
385
322
372
371
331
382
355
362
360
372
343
233
280
307
284
325
362
275
240
325
336
337
267
351
280
318
310
354
318
340
319
340
306
367
401
293
295
347
293
272
332
345
291
355
322
282
238
390
350
286
283
315
309
331
357
348
333
324
355
260
283
357
365
323
271
288
253
367
395
264
325
261
267
334
288
378
367
375
273
340
260
359
412
286
293
270
349
365
313
240
328
362
299
295
263
384
326
276
281
316
373
298
262
349
323
337
273
277
315
296
335
352
331
301
304
275
338
307
308
327
359
307
267
260
265
267
293
288
312
220
310
197
252
299
312
358
333
249
326
309
387
342
256
321
311
291
329
344
352
294
285
365
361
303
362
315
316
298
347
314
266
339
263
445
322
211
330
290
311
270
266
279
286
323
301
380
313
333
422
322
295
349
384
296
276
249
324
323
330
262
232
329
298
299
304
283
246
291
300
302
297
324
319
323
300
277
412
362
359
311
320
350
302
316
237
366
342
287
342
349
326
378
336
317
386
333
275
300
327
358
310
317
239
291
317
308
326
272
291
317
300
330
346
307
359
353
330
342
284
293
300
311
345
384
257
341
320
280
400
281
305
305
308
256
255
291
365
305
291
310
267
328
360
325
312
306
216
317
412
293
326
320
299
282
377
336
231
354
301
339
324
327
232
322
371
324
354
309
345
356
351
265
297
295
264
372
291
291
332
294
364
302
306
364
266
349
278
393
304
279
339
342
298
290
315
287
351
292
335
212
251
318
250
263
304
327
335
293
334
233
284
325
219
265
343
299
349
376
362
307
256
367
281
386
333
229
370
255
309
267
291
309
251
269
346
246
353
266
307
255
343
295
279
288
344
277
370
316
340
235
286
357
287
345
298
343
347
272
353
327
305
328
328
303
324
314
269
429
331
278
321
317
288
319
322
295
352
312
363
311
286
276
311
233
266
252
263
412
299
343
415
272
275
276
289
267
346
308
357
290
331
281
288
343
326
307
349
368
317
360
320
294
287
253
294
337
341
358
365
227
268
246
325
342
413
369
312
278
353
287
365
230
314
346
295
313
326
275
289
368
210
340
289
295
287
302
343
355
340
355
288
375
368
292
351
165
321
298
299
290
330
356
313
239
349
334
371
237
322
328
336
430
289
298
322
289
347
335
314
251
336
369
289
348
247
288
332
345
380
312
357
335
271
275
348
295
317
254
360
339
312
277
296
369
444
440
291
303
336
263
309
417
302
335
263
347
300
352
224
371
299
369
306
336
351
319
318
246
317
347
325
316
348
372
330
278
325
335
332
290
367
304
306
258
339
327
286
327
379
372
345
314
232
298
310
311
298
347
311
291
345
291
297
338
328
266
359
350
280
312
372
273
305
257
351
294
363
367
292
318
319
292
304
337
380
346
310
331
194
318
271
253
329
386
305
321
343
324
320
333
334
347
308
299
296
380
310
312
346
361
354
314
346
321
227
331
358
385
298
291
278
304
238
378
308
344
300
317
321
311
300
335
278
347
285
417
324
290
279
321
331
344
316
285
293
337
299
366
266
410
289
338
249
319
309
375
378
256
288
324
270
368
372
335
292
332
264
328
311
225
280
325
306
276
357
323
348
307
383
401
277
343
280
272
330
260
304
244
281
315
362
289
337
312
299
299
239
320
261
336
315
357
297
323
262
426
386
340
290
239
307
334
311
325
263
383
337
319
228
292
414
374
316
319
289
362
439
188
343
207
303
309
244
220
337
285
309
337
368
334
333
310
326
302
308
289
286
306
372
296
383
392
398
207
313
324
336
294
323
261
278
304
298
364
312
268
361
300
332
297
327
376
393
288
327
271
356
309
321
273
356
234
272
289
293
250
332
413
381
297
264
333
303
299
365
297
294
270
260
350
363
197
340
379
362
279
299
260
406
310
354
388
362
346
281
370
353
298
294
345
309
298
270
334
277
270
262
308
285
347
348
362
410
242
388
349
340
225
353
197
278
363
288
296
324
285
399
237
337
274
308
263
318
281
261
342
260
309
300
298
233
279
375
250
295
257
264
383
308
303
349
236
348
234
313
308
343
343
227
320
341
376
382
299
357
338
303
279
310
275
286
363
331
333
275
288
265
348
261
292
293
352
347
320
338
267
339
384
333
296
295
305
324
313
351
274
264
214
245
387
317
355
361
295
245
294
260
328
283
290
297
260
297
355
331
289
347
342
313
380
345
349
350
265
371
379
360
312
257
390
199
296
271
303
360
320
371
333
306
372
354
195
242
269
359
340
295
339
386
333
355
224
327
252
377
328
255
314
344
414
262
419
344
379
277
301
250
359
378
328
255
310
360
355
325
323
317
273
317
287
251
424
305
281
312
294
311
328
378
288
307
365
345
403
221
310
344
229
293
363
261
374
323
336
356
379
248
363
318
278
302
373
311
289
321
270
294
352
419
326
383
353
332
371
261
291
349
338
302
371
363
280
315
282
246
290
272
345
300
346
262
335
354
269
296
240
339
355
292
325
273
290
349
300
285
277
286
348
386
316
359
270
287
260
299
342
355
397
334
234
306
351
322
240
290
310
375
270
418
247
304
363
322
351
350
306
311
324
283
313
357
229
274
323
245
339
304
331
325
372
233
387
252
285
288
265
311
281
333
345
350
362
333
305
335
331
358
282
356
382
321
307
330
318
353
365
335
358
350
236
256
303
331
382
346
346
408
317
358
276
290
313
396
250
363
305
345
347
326
302
308
385
271
308
338
263
250
305
328
367
221
228
393
394
275
302
249
319
273
352
326
399
308
284
394
277
330
370
368
308
286
265
383
345
305
375
300
268
268
273
320
340
399
383
348
302
315
329
341
287
288
299
321
361
339
320
358
342
327
381
402
336
288
341
337
353
294
354
332
311
341
363
395
344
389
312
308
247
326
393
322
285
313
369
303
259
378
376
230
304
284
327
264
308
280
283
348
377
310
373
291
313
348
279
301
284
352
340
236
377
338
241
358
381
339
340
280
271
375
298
327
327
301
331
293
348
369
349
296
343
435
383
293
280
321
331
361
347
368
268
289
379
338
248
357
306
361
327
336
370
346
293
436
234
338
272
407
310
371
247
299
263
240
310
313
314
371
307
308
280
288
306
321
314
325
440
243
451
304
290
338
307
271
380
367
290
301
263
327
283
291
338
241
299
320
387
300
310
324
318
245
315
294
302
257
349
325
231
296
403
374
323
411
368
389
296
329
352
313
311
308
322
368
253
299
357
296
288
262
334
337
367
270
254
355
313
326
331
269
346
288
318
383
301
341
285
292
378
310
388
331
320
250
270
330
369
304
293
398
343
314
269
312
324
295
356
331
306
312
389
316
343
257
208
321
359
349
341
246
358
350
285
346
374
313
373
377
330
277
263
348
285
339
251
296
325
371
274
335
261
364
329
268
252
303
384
263
358
280
304
335
340
329
274
310
304
312
317
317
329
349
234
361
343
303
334
238
296
335
321
355
371
308
290
394
347
361
312
273
294
332
294
352
353
354
297
290
318
314
321
285
369
263
233
327
294
284
269
309
361
283
345
286
302
413
345
308
301
352
350
349
327
283
371
254
281
318
417
275
370
360
333
317
331
256
275
266
297
234
370
306
338
399
347
328
321
338
373
265
306
298
271
326
338
340
318
313
275
303
236
356
350
358
368
358
411
266
357
196
269
336
285
359
311
338
297
364
351
327
398
298
384
372
338
342
328
272
347
308
367
323
395
304
322
291
187
373
330
354
276
326
302
257
328
359
384
332
260
371
315
290
327
363
419
274
288
291
218
332
327
352
329
368
341
273
339
310
245
303
325
306
295
291
250
370
390
308
266
315
310
350
356
283
315
283
325
305
307
377
330
351
311
304
305
267
341
357
355
357
363
337
307
330
281
291
360
310
380
347
295
308
339
336
348
327
310
330
323
322
354
342
294
303
268
372
262
225
328
317
316
285
269
302
369
342
299
318
306
304
359
328
251
321
316
349
320
275
359
348
280
308
423
344
352
268
314
319
305
295
355
378
353
344
331
345
315
284
327
377
263
339
392
310
296
289
276
315
310
346
307
253
262
267
286
344
291
258
314
377
331
292
269
271
262
241
317
264
305
296
395
400
305
271
338
336
354
328
344
313
301
298
267
345
308
366
256
303
348
276
283
215
245
296
364
327
265
336
388
292
325
282
334
358
334
297
308
281
264
406
362
351
319
326
288
362
320
313
262
311
232
293
344
234
279
308
338
327
304
379
317
331
324
252
275
279
320
327
317
391
331
320
352
302
340
280
273
276
350
290
286
329
351
318
350
272
272
330
283
261
338
334
298
339
294
266
310
346
302
318
321
322
282
217
357
302
376
397
399
258
374
372
205
237
349
284
311
341
453
273
334
288
280
298
331
288
362
237
321
275
355
308
254
335
385
311
359
280
290
288
347
329
360
335
312
270
274
297
372
360
390
261
412
396
410
349
367
283
344
299
372
385
301
316
376
322
278
292
342
306
284
339
214
325
353
332
385
339
349
373
296
337
318
350
313
412
356
322
362
366
316
328
323
372
337
339
325
296
326
271
359
207
320
319
202
275
336
340
279
292
331
293
268
359
276
302
362
282
261
299
284
325
320
312
354
367
281
349
278
295
214
326
356
291
303
303
323
353
269
317
335
283
364
229
365
345
379
312
279
310
270
288
299
351
283
295
286
368
382
385
284
255
292
310
324
368
304
265
325
304
262
236
269
291
264
276
320
285
249
276
285
313
337
319
369
324
274
278
322
320
273
355
402
342
264
322
277
326
352
294
284
418
307
300
277
269
392
290
353
346
366
348
310
317
352
335
324
338
332
313
381
289
301
273
285
317
348
326
331
373
296
285
292
323
365
307
334
274
355
342
329
397
329
252
398
313
255
292
336
304
321
221
367
349
396
394
349
320
343
275
362
291
330
301
382
323
273
247
407
312
394
299
281
393
285
328
335
313
385
325
300
377
323
302
387
325
341
259
319
325
381
319
328
352
300
346
386
315
277
344
308
362
302
289
225
258
300
332
342
313
285
300
353
308
353
326
214
339
374
343
275
303
270
365
252
354
364
299
351
265
331
314
279
279
342
375
348
384
220
313
279
362
350
363
333
335
300
311
313
334
332
342
316
297
294
263
369
293
315
340
230
323
288
305
352
322
277
307
272
339
353
301
337
389
330
270
261
323
262
367
285
350
342
366
367
296
341
318
296
299
290
369
315
240
359
365
312
381
343
326
320
343
331
397
333
336
307
258
323
295
280
325
314
252
267
289
326
308
246
274
334
297
261
376
342
331
275
244
295
290
308
334
375
351
308
335
315
296
380
371
323
311
332
291
300
340
326
375
305
308
296
278
347
323
271
402
334
364
298
300
247
312
329
351
341
269
369
357
384
293
306
326
287
270
294
231
285
405
252
390
323
391
255
300
355
316
282
299
350
308
275
290
362
311
337
300
289
299
298
306
235
324
394
332
318
338
310
317
291
298
298
354
302
364
327
248
331
331
358
363
328
308
334
363
338
374
338
322
350
304
263
271
338
377
353
309
249
256
331
328
295
354
327
359
224
400
251
371
316
365
328
352
305
315
311
312
321
295
290
332
338
309
315
328
377
279
386
354
306
270
406
328
296
333
307
262
312
330
347
309
298
333
355
276
325
423
421
352
299
341
373
296
342
325
253
306
308
326
321
317
261
374
244
301
268
323
284
397
322
332
405
295
295
261
242
318
287
266
280
301
325
323
350
367
324
362
353
309
322
250
370
306
336
246
193
245
329
238
362
364
303
352
331
277
291
331
310
328
307
314
337
343
332
310
241
351
354
354
229
313
299
397
353
264
353
327
341
307
335
278
289
293
323
324
295
300
288
273
343
270
348
272
275
292
336
327
264
299
337
350
379
330
316
276
357
333
323
339
254
311
334
330
279
242
285
232
318
374
269
348
357
246
284
352
292
291
232
275
339
342
320
275
309
355
296
367
309
401
310
337
309
346
239
314
304
365
201
375
245
418
336
286
241
342
325
293
283
341
300
256
329
327
232
383
297
358
365
297
351
347
368
330
376
336
347
351
321
238
288
382
341
349
301
327
305
363
265
372
324
365
303
343
290
310
342
334
310
329
337
354
226
284
238
317
298
376
322
334
266
342
385
369
380
306
280
327
308
271
337
355
327
346
318
338
325
347
307
293
370
346
351
315
362
335
261
355
302
375
244
352
244
384
288
265
371
283
256
240
329
347
402
339
324
332
304
331
375
348
339
378
323
165
238
230
353
339
313
317
330
333
343
298
313
270
284
350
355
217
308
302
312
257
375
349
244
340
264
311
241
355
246
369
304
317
217
292
322
268
288
308
307
307
343
301
349
280
350
297
343
330
289
237
348
306
351
265
362
360
319
363
328
320
343
307
310
355
325
356
362
339
240
301
358
329
281
369
284
378
289
326
335
282
301
267
360
363
302
288
379
345
255
289
296
318
265
340
273
302
282
366
315
280
340
328
251
259
399
371
331
244
322
365
336
323
270
260
328
246
321
358
215
319
329
347
383
291
301
344
336
293
341
269
303
228
338
253
393
334
297
369
302
365
340
356
306
305
373
285
423
299
272
310
278
301
305
284
335
327
338
348
265
226
228
271
336
239
270
316
333
338
334
284
284
245
277
278
358
294
247
311
300
330
322
376
257
198
348
334
275
295
281
234
301
294
223
360
269
263
271
276
295
318
334
288
306
322
301
240
255
340
315
294
411
267
332
342
349
348
250
350
265
335
368
313
311
344
363
350
335
171
331
309
294
383
253
263
353
286
374
342
373
302
361
329
370
293
425
322
335
317
350
269
305
251
412
296
273
274
274
308
332
313
322
236
326
307
376
373
330
274
351
337
346
317
290
267
379
335
292
296
279
278
319
253
347
342
355
317
366
287
389
340
282
388
342
405
317
337
176
276
234
348
285
290
299
315
236
317
362
333
358
190
277
364
258
383
340
284
301
278
295
390
290
323
293
320
332
362
321
302
356
314
313
304
276
364
282
373
321
358
320
344
353
309
261
394
277
357
387
329
382
330
339
311
240
231
326
339
328
324
340
272
258
380
353
326
321
352
373
301
285
356
261
277
314
267
397
321
331
281
294
282
322
249
316
303
351
373
253
364
368
356
289
241
329
355
276
399
388
327
210
238
367
359
335
352
340
293
240
356
326
317
338
308
294
357
293
334
270
294
324
303
251
316
314
366
170
329
299
307
263
341
325
280
327
296
333
297
352
273
253
341
242
322
292
319
366
366
316
341
343
286
197
346
282
379
243
395
305
395
346
333
306
400
332
257
309
374
266
369
318
337
351
388
377
325
285
367
434
341
354
270
348
380
252
286
344
369
299
287
319
332
373
348
359
306
281
387
308
335
344
329
313
302
345
330
302
340
343
296
290
374
310
321
372
350
319
246
308
257
291
334
328
298
361
291
250
366
289
382
332
323
267
360
334
237
401
311
432
326
337
276
308
286
392
318
382
372
246
290
233
256
259
286
287
319
288
313
359
362
383
325
338
375
232
317
337
372
387
212
299
399
324
327
228
357
303
299
368
299
252
333
263
317
309
323
308
360
327
315
207
271
295
320
349
329
247
229
337
261
294
327
371
329
319
317
299
348
345
339
324
381
299
302
288
292
322
321
318
249
329
272
289
322
245
288
273
267
376
277
355
292
263
312
291
342
336
231
284
305
344
340
357
269
352
322
262
346
295
333
309
277
328
309
303
375
353
348
301
257
338
360
234
387
274
329
299
325
362
287
347
296
324
256
281
369
284
349
303
315
322
305
249
325
250
316
408
398
321
331
153
325
243
394
384
363
295
381
343
297
407
284
279
291
302
336
272
299
375
324
376
322
349
377
343
364
227
322
280
345
348
330
301
321
244
275
367
250
277
296
303
370
364
302
332
307
428
354
375
290
322
347
337
330
314
287
333
349
345
278
322
319
319
345
211
383
247
351
367
308
291
277
242
275
299
346
277
354
274
309
349
263
229
304
336
271
297
343
361
307
327
370
350
275
338
362
259
302
269
283
314
259
301
350
375
348
281
371
364
367
317
309
354
300
288
301
334
324
241
321
401
376
364
308
345
332
359
363
270
412
258
266
293
298
264
399
312
335
366
293
297
269
277
311
274
318
223
325
237
293
315
304
368
381
374
264
375
391
378
375
356
312
261
327
381
241
279
256
315
317
221
343
292
327
300
340
285
277
335
259
273
233
233
232
402
344
248
308
334
319
407
330
268
306
339
285
236
285
265
321
299
346
417
284
317
356
333
399
311
325
230
385
327
256
345
301
315
288
244
247
403
365
250
279
313
285
286
360
310
357
321
348
277
302
199
292
269
320
305
321
351
316
305
283
341
280
312
327
293
281
325
272
186
343
349
352
367
299
357
280
335
348
357
354
322
274
353
279
300
330
179
381
293
344
313
357
277
346
271
365
335
315
327
289
259
252
281
359
333
296
352
301
345
265
295
314
253
346
321
358
292
342
325
281
349
388
277
315
323
257
244
325
284
384
338
416
252
411
309
371
304
321
307
365
432
354
244
264
405
370
222
352
360
279
307
366
330
332
332
254
376
361
279
332
264
355
212
302
310
266
296
341
283
342
299
357
310
329
348
278
297
297
355
258
341
341
335
257
263
393
330
342
375
243
366
363
289
290
258
387
273
317
345
214
366
292
303
270
264
319
268
337
315
340
273
285
305
342
357
337
298
339
338
300
288
366
331
346
334
265
290
329
295
272
325
374
238
287
332
254
332
415
364
313
285
243
293
313
293
301
378
332
306
238
282
330
260
321
302
278
265
342
296
274
346
413
313
365
390
408
259
314
304
387
253
277
313
340
342
313
299
247
327
333
328
414
322
345
243
256
329
337
338
312
275
203
367
370
322
303
330
330
370
259
322
304
285
287
237
324
315
368
323
286
294
314
330
374
286
336
346
276
350
294
382
282
378
279
257
334
296
334
286
262
316
295
289
340
277
424
341
327
343
374
356
327
261
333
265
238
250
275
310
367
390
361
312
312
316
278
264
322
302
293
351
326
324
324
370
259
313
262
251
342
313
221
397
363
248
345
316
247
435
318
274
337
389
338
299
300
360
380
275
307
261
283
329
301
366
285
262
394
313
283
356
313
327
329
304
312
224
266
335
293
345
390
291
314
296
271
348
285
277
326
291
305
359
337
294
293
299
299
331
360
350
280
253
378
313
282
268
347
286
334
244
280
284
317
339
310
281
378
326
352
274
288
281
335
308
349
346
294
295
276
262
340
337
260
258
255
310
238
338
255
332
283
327
275
320
229
279
312
225
361
288
266
312
259
248
343
238
322
280
301
297
205
306
287
308
365
299
336
322
290
343
354
330
345
363
282
319
329
309
262
235
245
367
327
297
323
316
303
332
355
327
353
333
333
360
370
288
275
297
303
283
351
366
269
280
298
322
306
362
320
336
321
360
220
333
302
305
320
372
289
380
371
277
274
283
257
390
291
342
283
337
292
273
317
302
316
353
321
350
332
230
267
299
369
290
297
331
372
295
286
287
341
310
299
286
326
330
333
267
338
341
236
310
334
311
324
259
290
294
280
359
298
332
407
298
342
285
297
264
302
335
312
246
350
302
406
332
335
341
278
345
323
344
223
329
283
388
300
246
388
352
353
235
312
339
268
264
317
337
331
331
259
311
318
292
268
285
341
301
293
376
311
300
302
274
292
388
319
443
374
314
285
304
284
336
334
362
295
315
352
278
335
265
307
300
278
362
320
288
326
255
221
325
272
333
320
312
263
354
362
345
267
227
239
359
293
282
271
343
354
214
285
288
285
313
297
318
319
281
295
337
341
361
313
292
329
346
273
195
290
336
377
315
312
313
278
309
344
401
372
307
300
246
196
269
197
296
256
302
338
365
309
291
334
297
382
367
332
325
329
355
292
355
301
275
244
304
370
377
336
262
329
251
325
271
304
329
272
235
286
371
371
341
207
300
371
358
294
312
407
385
309
298
319
325
257
240
300
357
238
301
311
329
327
302
342
328
344
306
333
256
230
393
381
340
312
217
282
281
277
255
323
343
336
283
192
313
310
405
277
266
307
273
340
372
301
296
278
304
325
210
350
291
376
301
211
261
338
407
364
351
296
279
349
296
324
253
280
398
295
343
283
380
366
295
313
313
345
279
295
325
333
259
313
324
334
295
216
281
269
398
259
300
345
358
301
276
303
313
299
348
317
381
348
332
337
329
354
240
293
236
281
362
357
398
339
374
415
356
316
290
378
305
412
270
201
346
319
378
268
328
397
285
267
248
363
268
325
363
250
299
370
332
298
337
328
221
303
376
273
279
230
372
248
273
296
307
309
343
310
365
335
358
299
299
312
376
354
365
304
388
357
363
344
286
220
354
241
359
299
375
299
277
334
294
282
413
284
363
297
342
305
341
348
252
399
344
288
312
290
326
336
304
279
344
303
360
304
263
347
306
372
347
358
265
376
317
386
364
277
341
382
406
323
376
278
331
369
262
366
204
254
285
351
313
326
337
349
277
334
363
353
348
276
312
363
268
222
337
348
315
283
328
258
241
285
264
207
252
276
316
274
288
179
341
336
231
295
354
291
269
283
285
310
336
329
284
336
344
327
304
270
274
306
351
353
318
333
435
302
327
357
332
361
262
342
256
247
343
293
314
306
366
321
278
324
326
355
345
325
341
321
275
334
305
356
333
278
328
258
296
269
349
398
353
296
350
346
339
349
318
397
337
264
385
327
277
370
322
386
293
372
232
303
323
327
291
279
283
350
315
398
407
289
303
247
277
337
374
308
313
247
346
313
301
208
347
345
262
296
359
329
314
336
249
360
261
276
315
350
263
392
309
295
373
249
258
397
309
265
259
248
323
341
344
362
338
342
319
358
360
398
279
331
331
279
282
302
346
365
362
318
269
296
319
280
359
244
317
383
289
332
327
392
381
294
386
323
266
375
282
307
312
370
381
243
295
273
311
360
237
327
420
282
360
363
298
300
320
195
273
266
240
305
366
372
298
366
275
294
262
354
346
377
306
266
314
329
273
356
356
343
306
401
267
300
333
346
372
331
242
374
308
298
270
293
311
284
363
265
251
329
274
284
365
399
334
317
278
351
337
313
332
381
305
283
329
274
303
383
349
299
289
304
314
331
304
283
368
218
335
355
316
328
291
353
270
298
286
263
343
342
249
370
314
276
251
402
243
350
390
254
291
280
332
293
249
431
284
336
216
363
305
338
303
390
346
299
375
402
348
315
291
330
360
311
341
214
247
239
369
227
337
405
391
219
359
296
326
250
291
380
260
360
303
262
279
233
270
379
367
317
273
328
269
322
265
350
343
367
357
307
327
275
373
288
285
339
369
389
314
343
221
324
251
346
282
376
371
287
286
324
315
294
302
290
264
304
296
315
374
307
339
372
318
321
359
358
315
297
235
269
316
396
350
316
312
346
282
322
245
290
382
362
381
231
316
312
443
254
354
253
274
328
315
372
354
249
312
298
306
244
301
312
294
320
256
326
297
303
333
252
318
312
285
316
322
302
294
352
304
392
272
340
306
331
304
334
338
271
284
378
315
392
315
288
339
283
380
360
304
233
242
282
296
307
364
335
325
310
292
227
310
271
286
309
311
253
312
298
328
212
275
331
370
268
322
350
299
353
351
322
282
324
312
303
365
267
302
245
254
293
308
383
312
224
265
286
340
362
361
328
352
335
419
320
222
321
313
299
344
309
302
363
228
249
283
294
361
380
342
332
286
314
384
292
351
263
242
327
312
318
388
327
332
354
300
408
311
380
343
335
385
326
326
392
339
337
354
374
389
338
328
272
285
369
271
380
331
340
248
343
363
250
291
346
315
270
349
384
358
326
388
333
295
267
355
289
294
281
356
333
261
383
229
383
334
253
393
281
212
332
310
303
343
277
328
293
142
321
360
376
399
274
266
350
345
414
300
322
262
403
285
337
361
380
259
335
221
273
259
342
410
299
330
351
257
352
267
372
309
369
350
228
244
350
233
362
391
283
341
268
295
335
313
352
304
337
378
255
315
354
351
348
339
377
247
276
285
270
321
342
335
396
333
291
345
300
320
289
310
303
259
291
316
323
335
340
335
235
345
269
306
262
287
306
301
241
249
348
295
283
280
318
256
380
339
404
353
389
290
318
296
186
248
327
349
411
337
325
343
323
262
286
394
388
207
342
285
374
316
308
268
382
307
335
252
241
287
351
301
271
380
241
365
374
339
325
325
323
411
319
250
353
376
257
381
276
298
281
321
274
317
301
254
269
300
352
312
276
275
357
309
320
328
327
338
345
354
235
339
303
323
273
229
408
238
240
220
340
348
338
306
413
259
411
280
315
387
297
296
334
256
286
283
362
340
341
307
309
342
264
305
311
318
320
235
349
353
270
381
301
285
267
276
277
299
359
337
387
232
332
301
374
323
386
242
334
368
361
307
421
303
257
363
298
295
343
206
337
313
314
310
335
360
236
315
349
304
337
293
282
321
219
395
320
297
269
383
348
336
285
386
375
243
306
272
294
348
238
319
408
327
329
248
278
254
329
307
333
345
297
309
199
374
291
386
390
281
365
365
410
353
338
285
334
342
293
269
337
318
308
300
334
346
318
360
330
276
289
317
281
371
303
303
331
350
318
288
318
325
202
350
377
278
279
365
352
372
406
311
326
285
351
320
333
311
336
298
276
296
306
344
315
243
316
254
308
345
398
309
270
252
254
283
244
352
334
452
324
272
314
335
278
283
379
296
342
341
316
285
305
226
330
364
308
316
287
258
322
303
208
271
329
245
385
302
350
343
305
343
343
334
370
301
394
364
271
367
250
381
322
304
321
357
332
296
271
361
405
289
301
233
253
313
315
252
342
297
287
361
392
234
297
314
295
270
274
245
180
348
323
280
319
305
315
349
356
258
285
275
351
226
270
350
228
290
261
295
317
308
322
304
262
237
333
315
280
326
319
352
233
221
307
419
319
348
358
314
366
339
324
321
294
272
342
302
325
301
359
333
334
247
244
320
287
351
293
320
302
307
347
383
366
267
344
326
332
364
396
353
229
363
370
368
310
327
230
320
316
227
221
320
355
323
323
253
304
280
303
302
344
317
286
316
320
293
319
304
313
262
261
272
352
367
284
384
282
313
318
347
339
270
353
338
261
339
304
166
259
340
328
352
301
270
325
285
361
345
327
290
340
282
278
303
345
261
312
298
328
348
302
276
373
223
321
268
330
234
376
299
324
246
304
290
342
309
378
348
310
288
372
384
279
326
244
357
264
272
331
257
325
287
359
250
363
367
274
374
302
267
353
264
325
284
260
314
338
326
383
284
287
350
294
326
340
249
300
366
265
353
347
277
303
308
367
333
305
326
306
314
338
307
377
240
325
368
237
288
362
289
314
355
352
365
342
326
201
277
339
319
290
316
370
309
300
301
351
252
297
314
285
264
308
267
305
395
296
261
374
296
315
388
236
288
326
245
311
334
361
366
354
282
293
289
387
243
303
275
303
233
211
324
293
415
279
342
265
293
344
313
405
423
305
412
356
294
336
317
375
257
270
335
306
378
373
239
302
327
280
357
331
309
340
352
359
239
263
336
390
295
261
354
287
355
255
322
338
323
302
354
294
273
248
384
339
310
412
369
291
312
362
373
314
303
309
359
323
241
322
355
323
406
345
332
312
288
315
256
321
303
253
363
255
362
229
274
325
382
298
275
371
269
345
365
327
239
254
263
391
269
295
417
383
300
280
291
343
343
301
390
302
398
342
379
311
267
322
343
280
315
311
322
337
299
274
407
318
418
350
347
354
298
257
349
392
298
376
337
298
296
290
316
349
313
371
237
373
387
422
320
391
317
296
333
353
273
332
301
301
224
317
360
224
369
321
338
300
284
278
329
293
347
324
271
319
301
350
294
321
336
353
330
270
333
334
327
271
309
302
419
376
270
277
338
347
339
336
262
377
324
301
267
277
240
349
350
298
306
272
331
319
305
276
354
343
320
363
343
304
338
308
295
362
331
380
313
356
306
256
346
321
334
257
303
402
324
372
340
186
260
356
422
349
281
338
275
366
255
274
345
342
350
209
244
308
272
362
285
237
312
359
240
355
262
262
259
285
344
236
349
377
305
345
305
409
320
313
289
356
327
343
363
359
287
287
345
338
280
284
356
321
272
323
315
297
279
354
334
346
279
337
302
368
298
330
386
307
362
340
420
326
311
315
308
356
389
360
385
323
317
369
371
355
402
312
300
358
369
330
294
239
263
337
348
372
383
369
242
300
379
294
351
335
393
336
381
388
330
370
318
344
367
306
243
254
429
314
245
327
314
272
307
281
310
336
296
278
257
300
271
277
215
308
299
372
297
321
294
377
293
405
405
337
353
332
310
357
339
311
361
324
303
317
294
317
318
266
359
312
348
435
307
293
243
278
264
363
301
294
324
317
286
298
346
284
192
377
304
296
358
303
320
361
262
365
393
304
224
337
311
333
352
336
335
306
295
369
269
328
380
375
346
294
349
342
344
367
341
313
330
308
240
311
255
325
364
293
374
305
296
370
282
312
308
320
379
292
287
278
328
318
302
342
302
262
344
355
335
312
227
301
316
282
248
335
197
329
374
311
339
314
282
307
347
246
284
312
287
357
278
274
262
320
401
337
323
277
291
327
326
270
269
284
304
268
271
319
346
383
209
344
276
299
253
338
297
286
356
308
325
274
347
203
374
276
326
328
272
251
314
303
357
351
269
258
277
310
384
283
336
307
269
271
297
273
317
311
319
310
265
424
287
309
305
311
285
257
316
242
385
323
337
359
285
216
311
371
304
285
239
283
327
372
277
311
327
224
326
253
366
338
252
328
286
348
322
342
291
320
279
294
315
331
325
308
370
317
314
278
303
312
274
240
257
349
297
311
255
285
298
356
296
373
289
346
295
308
328
259
339
260
327
326
366
330
361
372
337
301
297
270
225
370
350
286
380
333
246
366
275
277
349
217
251
336
313
308
278
303
235
305
346
384
354
338
283
391
309
395
287
347
249
296
312
369
335
375
334
331
348
267
315
275
247
356
283
352
238
384
328
321
257
282
331
294
340
268
287
261
270
362
327
423
387
322
369
362
357
369
315
278
246
265
200
300
318
374
347
325
273
345
280
293
372
314
308
333
313
370
298
270
305
281
229
333
353
276
341
343
337
336
229
332
389
309
340
308
272
391
310
321
342
364
303
331
302
287
269
345
239
304
377
334
267
218
293
256
260
349
253
375
261
394
348
319
293
329
309
237
353
320
259
375
326
376
358
345
327
280
215
321
287
366
265
296
384
288
373
435
359
213
324
327
249
250
341
328
222
329
347
341
295
276
328
321
342
310
306
310
358
264
357
304
351
308
256
279
232
316
288
341
381
354
315
365
384
401
260
310
363
292
362
234
272
322
320
328
399
253
235
324
313
270
261
347
318
321
252
326
319
314
304
301
276
364
309
367
248
310
380
291
309
353
335
363
369
340
298
265
303
310
361
323
387
274
297
315
291
319
280
344
318
305
343
348
366
343
342
335
383
387
337
341
276
346
292
388
343
338
310
328
334
340
342
340
231
319
314
400
367
306
310
351
298
371
357
275
322
312
325
384
412
299
271
225
405
271
335
239
277
251
392
351
313
304
338
342
246
255
266
387
262
351
298
287
311
291
281
288
340
375
312
301
319
278
295
314
262
293
276
369
288
346
324
372
253
262
258
300
198
371
349
369
310
342
261
325
312
396
295
280
398
367
397
305
363
286
324
273
374
302
308
327
367
319
316
306
211
206
322
358
298
382
303
294
282
292
352
268
334
355
320
305
291
253
325
347
354
320
352
276
309
351
289
380
311
277
289
351
293
335
290
258
221
350
374
232
316
263
334
366
315
331
324
353
237
273
312
351
361
328
263
302
288
249
337
296
248
264
360
335
299
298
288
351
269
326
329
281
322
303
303
332
338
318
284
282
375
335
295
254
313
301
294
356
329
245
230
299
373
379
395
255
212
316
292
367
305
355
358
308
290
279
253
289
309
330
392
276
249
411
308
364
357
389
221
372
349
280
358
256
298
315
282
321
268
291
303
347
266
352
267
325
322
261
329
257
324
349
197
250
325
295
392
373
284
339
327
338
327
361
325
374
367
341
347
295
384
309
284
294
337
264
323
266
319
397
321
325
261
310
300
356
305
267
271
302
234
432
348
347
337
346
369
223
290
354
244
275
344
313
331
291
227
332
293
322
378
313
283
317
301
320
321
361
231
310
333
359
318
337
330
303
308
285
229
334
272
338
347
329
351
310
287
343
372
317
344
331
264
273
347
295
288
234
268
310
283
298
354
295
309
354
269
255
374
288
312
229
346
312
262
395
388
355
286
299
347
217
350
280
231
370
318
328
276
289
288
379
263
285
287
324
334
251
271
294
232
218
293
288
354
333
304
352
279
275
338
336
290
317
281
303
292
295
331
296
325
313
250
347
290
361
274
386
308
326
341
379
258
300
276
300
266
345
324
258
286
358
335
349
316
271
247
315
317
301
270
311
343
264
327
329
315
236
333
318
282
373
365
308
319
322
262
238
309
275
354
332
248
359
331
284
306
225
274
296
299
223
273
328
306
252
294
298
298
258
357
315
359
273
291
240
257
274
310
291
254
304
282
305
277
385
210
282
279
274
367
327
266
330
290
294
275
311
324
307
274
353
278
279
346
280
382
296
249
366
218
314
261
308
344
293
324
361
386
386
288
327
300
298
279
369
250
286
300
307
352
349
290
301
324
289
368
290
321
287
364
293
316
271
335
335
287
334
326
290
360
331
329
324
298
284
291
327
355
326
328
331
309
312
217
318
298
312
286
328
336
324
235
244
269
314
321
262
375
264
272
424
310
292
340
394
341
288
351
332
288
259
272
363
253
304
283
268
352
371
346
334
299
372
348
308
363
294
333
408
316
311
324
399
349
287
307
253
324
234
327
315
272
317
327
275
281
344
265
323
336
253
334
388
371
227
256
368
327
323
223
334
337
282
261
372
379
206
342
303
312
337
405
312
340
370
275
374
245
344
342
304
346
335
384
321
248
306
277
316
317
325
343
324
318
427
309
360
277
319
369
329
314
348
376
338
305
286
331
335
274
366
333
356
300
328
299
253
289
316
332
283
309
233
251
343
368
265
300
345
296
384
300
369
307
251
322
365
367
355
352
313
334
297
374
309
278
362
363
424
384
323
276
281
262
379
383
341
253
319
290
313
365
251
389
274
273
337
395
309
371
355
320
376
409
336
272
321
358
270
341
418
368
335
286
333
266
290
320
276
264
337
296
311
299
279
302
319
362
406
354
353
324
322
345
317
247
317
327
294
333
425
287
294
324
365
334
330
388
313
342
256
250
361
287
340
332
336
317
391
351
399
342
283
360
292
336
295
401
323
312
205
401
269
299
275
376
292
372
332
289
307
297
331
378
256
371
352
313
298
341
278
361
298
362
303
357
278
339
301
291
360
290
332
341
301
298
390
373
293
371
361
332
356
375
208
202
268
308
345
278
372
341
378
337
276
304
313
299
318
287
295
328
310
318
378
365
305
292
296
278
298
315
350
323
323
317
305
299
373
335
314
353
349
279
391
255
386
289
219
298
395
373
360
299
255
291
347
385
348
312
394
352
229
291
309
405
257
326
357
278
367
329
365
263
323
349
319
331
300
285
312
312
326
341
358
303
439
347
387
339
402
378
294
312
456
297
389
291
320
319
269
348
292
329
358
258
273
323
269
256
232
279
275
339
288
308
299
242
348
334
355
306
327
296
359
328
358
303
353
368
303
317
326
339
316
330
366
298
281
311
346
317
290
353
327
277
333
300
348
306
316
341
308
326
344
245
300
294
303
350
383
339
246
298
318
405
395
292
246
325
312
320
341
322
266
384
251
339
376
329
350
286
340
288
241
371
331
288
359
396
274
391
242
353
319
377
329
327
365
299
223
319
232
203
365
267
335
334
322
261
289
272
261
352
427
319
334
293
355
321
296
297
322
326
291
297
367
284
255
394
343
287
360
322
286
399
301
328
297
365
344
256
332
249
321
337
343
367
303
271
352
290
309
323
321
381
345
221
341
260
282
300
359
263
236
328
279
399
295
307
288
334
358
298
368
318
326
321
349
362
288
391
326
367
309
337
252
310
278
271
341
322
313
299
344
364
297
318
365
376
262
293
402
298
372
334
237
342
287
305
374
364
302
298
349
345
317
298
355
359
280
295
274
260
330
302
325
372
342
384
304
270
281
317
288
394
371
384
287
357
249
363
261
335
285
282
319
364
309
380
328
286
316
299
336
375
349
327
316
290
319
361
308
322
291
403
340
343
366
290
376
398
312
321
315
364
304
375
236
380
352
362
337
396
325
246
374
368
243
346
216
283
308
325
314
259
336
336
324
367
333
284
290
355
345
321
336
326
259
259
352
354
357
258
303
265
337
292
309
269
317
324
281
335
309
288
226
256
248
283
271
305
317
295
359
386
301
310
324
304
362
352
334
413
364
344
307
339
286
303
409
299
284
305
281
332
353
293
303
343
181
330
403
302
373
331
318
298
303
341
300
269
285
303
302
261
332
315
282
347
326
272
311
365
268
240
322
371
347
304
326
295
345
346
264
303
334
305
336
352
259
266
322
329
385
338
342
334
310
291
328
325
280
395
298
216
308
265
368
430
330
341
306
269
236
302
259
297
313
184
335
305
390
192
312
282
303
348
343
352
335
230
359
320
328
339
254
314
297
325
363
275
309
238
291
329
312
250
272
327
179
408
307
337
277
387
317
295
273
317
358
293
279
313
317
274
240
316
334
332
352
274
355
341
396
321
328
301
302
348
297
306
364
328
327
332
377
265
308
289
323
225
296
279
314
340
296
389
281
325
387
246
310
371
415
307
323
285
290
269
349
308
312
327
332
305
357
254
297
333
350
369
252
340
330
256
405
354
326
287
257
298
368
251
331
336
306
298
287
258
330
297
310
313
296
371
311
272
273
317
299
262
271
369
289
325
304
385
304
243
300
409
214
321
342
264
300
229
259
357
274
276
310
347
293
323
301
283
268
288
298
342
304
245
295
293
322
321
284
358
325
364
301
231
323
247
327
348
260
296
348
403
293
359
279
323
306
358
336
317
377
259
311
294
424
379
365
392
286
388
347
367
371
290
276
332
351
278
268
288
328
282
320
332
381
350
312
254
318
343
313
317
262
305
359
294
301
231
323
186
269
324
287
254
246
327
317
388
235
361
282
319
317
338
384
315
323
319
307
322
289
268
317
354
284
316
360
284
331
385
293
250
318
308
365
396
346
422
279
243
347
367
322
348
244
378
252
332
336
310
282
351
268
316
349
364
279
343
277
306
315
346
375
337
307
296
348
280
325
303
272
267
307
359
348
332
236
294
316
320
337
338
269
252
415
349
315
381
273
317
343
376
383
246
326
206
327
338
291
277
291
307
269
236
356
204
272
271
311
235
313
273
268
370
303
333
312
343
353
371
240
264
209
297
305
229
341
268
343
278
398
368
426
279
345
276
255
306
380
197
235
267
331
238
259
290
409
358
202
346
316
271
301
371
314
218
356
336
338
364
275
279
375
297
360
376
313
230
357
296
320
313
342
248
347
286
313
243
359
270
342
313
280
328
382
358
337
225
341
314
302
326
256
326
301
320
365
404
312
385
337
365
315
348
285
266
321
313
298
312
284
282
269
311
348
277
349
303
367
315
322
309
409
263
303
292
340
286
282
253
314
334
239
238
356
313
350
322
329
345
274
384
367
288
307
315
196
273
301
195
396
316
378
365
258
252
281
310
316
327
347
242
322
290
417
320
255
363
327
362
333
328
355
345
406
383
381
323
323
269
310
353
243
298
367
346
294
308
276
337
285
308
310
368
353
272
258
380
287
260
391
298
328
335
281
317
303
311
294
346
298
280
335
247
369
318
317
397
328
303
343
316
296
329
258
326
349
327
375
292
287
319
373
310
324
301
315
254
372
380
397
328
342
334
238
276
426
327
311
334
273
313
285
309
393
278
256
373
407
316
275
417
306
288
298
295
335
333
339
289
331
347
401
339
292
392
317
301
327
278
259
281
345
204
311
314
261
253
309
352
281
360
279
293
260
274
285
265
332
290
327
250
383
317
374
285
332
301
266
279
276
411
295
465
317
322
253
305
350
335
331
418
363
235
284
240
313
350
297
272
289
289
308
361
274
246
230
323
368
298
323
360
331
329
320
332
260
314
299
294
363
273
366
313
359
251
286
335
340
278
368
314
378
317
285
271
361
400
247
271
375
363
304
332
318
289
408
298
311
339
300
275
385
309
312
290
379
199
299
247
351
308
328
298
300
267
362
272
269
303
287
278
260
330
330
298
295
299
281
264
344
302
374
270
369
351
325
322
280
191
311
261
264
319
344
323
256
246
374
297
359
304
305
342
291
197
211
299
271
321
336
425
340
293
282
303
373
314
302
270
367
283
295
319
349
392
287
358
343
308
307
279
335
363
329
347
356
359
292
257
387
301
299
364
274
344
317
258
283
317
408
243
284
383
288
280
263
325
289
292
284
318
375
196
281
299
293
315
376
328
272
290
348
324
276
299
348
305
296
335
282
312
245
360
350
301
310
349
252
281
327
269
301
249
328
333
327
267
265
348
329
332
350
331
281
285
331
274
374
336
303
289
333
242
287
279
257
328
351
261
205
306
381
273
312
320
358
329
270
411
308
344
346
281
262
299
324
334
296
284
343
380
355
338
288
394
355
368
297
345
245
331
362
258
324
301
336
257
307
343
298
307
288
343
381
332
318
337
356
343
285
296
230
292
347
328
315
337
258
239
272
324
267
335
275
241
224
289
334
330
296
354
334
224
297
334
293
369
311
262
349
314
340
299
289
350
356
240
294
371
292
233
367
336
249
324
326
344
319
312
351
324
331
314
366
307
223
344
356
256
253
417
381
321
254
307
286
321
385
419
300
333
351
326
229
268
273
305
366
406
329
341
290
312
359
302
358
311
315
307
222
268
349
290
312
319
264
289
264
281
339
342
247
251
285
316
278
281
295
273
261
281
351
254
196
335
336
267
333
240
360
350
247
238
279
261
315
308
327
301
263
378
261
362
280
287
320
253
372
392
372
360
265
326
271
313
319
285
315
290
251
273
266
292
241
367
345
360
272
275
302
300
281
247
307
281
378
284
319
387
313
260
315
299
281
288
364
393
305
295
342
266
273
284
300
360
337
308
363
327
312
306
362
339
299
334
306
389
295
292
238
370
289
247
288
325
304
284
271
274
335
290
313
183
353
283
279
383
388
281
267
325
366
405
304
275
293
319
295
339
269
371
304
285
316
302
315
385
331
347
350
256
309
321
346
287
243
395
318
406
307
399
362
303
278
321
357
364
387
302
363
356
314
385
347
305
358
275
264
356
207
328
322
306
374
313
301
236
375
268
368
270
286
358
462
290
314
379
273
248
235
303
365
308
370
306
360
337
334
305
323
288
331
348
369
258
384
313
353
336
226
257
313
293
422
346
357
357
396
247
401
346
228
380
366
339
271
276
297
285
289
325
320
344
252
351
312
308
305
302
318
293
285
287
245
289
382
380
338
285
232
384
360
314
337
342
323
338
284
275
321
361
368
376
217
333
320
233
274
275
319
397
316
330
337
324
334
292
332
339
283
316
347
346
336
341
281
346
328
296
293
292
355
360
350
287
182
389
313
265
272
323
313
219
337
372
326
378
297
369
397
351
349
343
327
176
327
375
377
267
242
237
368
300
309
334
213
398
256
273
317
315
278
257
339
275
313
340
387
250
263
268
312
253
395
369
325
350
348
338
299
239
355
356
244
320
336
224
361
297
306
290
402
253
383
327
297
259
313
226
299
318
359
291
311
296
286
363
403
270
329
357
367
178
271
292
307
331
349
237
352
312
280
308
184
239
310
307
233
312
289
336
348
288
337
367
318
237
289
342
277
272
346
377
347
315
407
335
315
248
320
272
218
288
308
322
315
390
327
342
313
342
350
204
299
306
275
352
356
275
308
385
401
324
339
333
304
379
282
242
307
360
381
331
263
281
284
261
323
267
260
330
278
347
358
325
350
361
322
264
365
273
267
412
326
343
348
356
304
295
312
326
292
365
300
330
275
355
375
318
400
295
229
340
373
288
329
309
322
316
255
394
310
374
326
340
351
337
313
310
203
365
284
308
186
273
335
295
330
347
296
240
404
348
285
244
334
392
376
306
286
285
347
359
381
300
221
324
334
315
257
318
400
256
280
353
267
333
304
294
266
367
247
296
285
311
316
333
291
315
339
338
350
344
188
275
353
254
347
300
322
271
334
363
327
393
199
293
324
353
322
372
316
309
333
268
319
229
350
367
309
414
264
255
356
348
331
343
243
287
340
313
376
292
270
310
312
264
343
300
292
339
252
298
303
311
358
311
270
366
316
328
319
276
253
276
275
300
263
338
312
348
338
274
245
326
316
275
278
375
353
340
259
264
285
269
297
241
366
373
321
340
307
252
279
380
281
369
325
352
305
306
340
355
389
300
341
335
337
414
329
275
296
325
372
198
318
205
283
330
340
288
214
289
345
308
328
385
258
302
282
355
352
305
370
250
310
350
251
299
380
318
296
323
313
334
287
258
385
285
258
275
244
323
229
242
319
435
318
368
303
358
335
312
322
373
304
336
360
329
292
293
273
369
284
277
307
379
283
344
235
306
364
375
338
251
352
366
245
292
315
326
302
306
305
231
244
363
282
329
264
243
252
374
307
336
248
311
359
262
343
387
365
273
233
329
305
332
207
297
364
267
259
292
359
309
357
362
300
383
340
360
293
241
340
250
251
343
403
257
363
318
330
321
349
244
337
345
343
277
274
303
383
243
330
321
249
241
321
311
309
358
304
295
336
334
331
366
267
294
307
361
356
319
295
385
201
361
325
310
377
320
327
357
368
287
293
285
290
346
364
372
364
296
325
284
318
305
318
322
397
252
355
329
210
359
297
294
279
241
280
298
288
236
359
313
279
399
255
373
316
285
308
409
289
294
303
266
375
350
244
249
346
387
299
281
269
277
315
300
268
340
302
397
309
321
327
328
258
322
320
346
340
292
342
364
359
378
318
272
289
292
324
284
301
346
367
338
291
382
277
335
285
266
385
265
289
240
346
408
290
296
328
288
371
355
348
284
273
342
350
276
277
266
286
327
326
348
264
316
360
368
343
353
338
323
269
292
288
342
307
318
244
306
252
336
365
306
363
366
356
322
283
365
329
324
301
416
379
344
352
287
294
270
313
333
323
312
378
309
292
258
243
382
301
273
267
324
356
271
347
308
288
346
323
315
291
371
272
238
319
338
253
263
353
391
356
357
304
241
326
382
383
302
282
345
225
310
286
293
248
374
321
270
335
292
323
397
321
326
308
254
302
272
249
330
340
329
367
312
281
339
303
378
293
276
300
349
317
318
244
290
272
215
279
356
337
292
294
362
203
339
332
299
317
325
301
269
351
318
326
195
418
255
312
340
423
345
332
320
371
323
302
234
320
334
311
338
323
394
292
239
346
258
344
334
313
334
289
359
314
303
331
372
378
326
355
293
268
280
334
235
317
361
347
276
275
308
321
412
351
290
389
434
350
307
384
344
245
270
333
287
373
391
380
351
412
356
338
221
270
346
345
266
307
302
354
320
341
368
376
281
345
331
275
339
367
283
270
334
346
398
276
308
262
290
322
263
271
364
347
273
327
327
325
361
258
346
315
315
219
295
393
292
373
362
314
334
378
248
361
382
292
308
321
330
219
255
266
250
253
350
300
294
337
329
332
346
294
336
298
349
252
263
252
275
343
237
299
361
301
320
264
362
271
250
286
320
267
334
369
250
366
337
312
309
344
315
306
319
259
313
372
334
315
332
315
311
320
365
278
198
343
350
271
289
333
369
426
305
322
318
339
265
364
340
367
229
297
259
396
255
300
322
355
261
252
336
296
323
235
340
307
404
344
281
342
321
335
269
327
343
302
257
318
329
344
396
276
322
248
337
370
292
280
292
304
337
227
353
368
279
256
359
300
336
284
254
264
236
279
319
328
316
383
370
328
263
336
391
221
273
267
353
339
347
314
369
287
300
267
285
309
301
380
301
345
365
318
245
286
306
306
332
285
313
329
325
343
297
323
296
283
333
340
340
341
313
324
326
341
397
272
388
310
321
360
311
258
251
328
329
289
337
304
218
355
325
178
261
269
307
336
341
382
327
298
259
350
338
309
293
374
351
276
317
298
399
336
274
275
298
298
315
323
276
421
287
323
257
374
333
300
341
283
293
351
304
309
364
376
361
312
326
385
341
316
304
320
307
373
288
275
319
301
311
361
323
256
319
318
336
322
297
334
350
304
306
253
319
301
298
310
279
340
292
264
292
292
273
326
330
309
342
361
253
361
347
351
271
355
285
315
318
348
356
201
328
299
322
343
256
259
292
308
262
337
358
314
338
300
364
310
300
239
327
331
372
396
338
304
344
350
335
323
294
230
243
273
340
313
330
324
295
364
306
338
295
271
355
223
282
204
293
307
337
273
370
376
286
359
270
289
319
384
276
331
350
328
326
312
339
334
363
270
361
310
246
337
218
263
298
388
315
323
370
335
301
283
369
357
366
312
238
317
311
329
320
322
384
331
314
305
366
225
375
324
296
281
356
366
352
323
261
283
368
328
350
315
296
361
350
383
300
252
223
305
318
310
350
304
338
282
241
430
296
350
318
272
337
307
302
294
351
319
359
264
292
259
286
287
278
277
356
367
274
226
311
344
337
273
309
257
300
310
313
305
318
264
347
391
374
338
348
241
323
339
213
236
308
363
343
290
230
265
315
336
327
260
260
287
353
339
350
361
339
343
316
365
300
361
346
330
217
265
269
285
202
347
212
410
317
270
351
287
370
331
292
194
331
343
257
385
336
358
332
317
321
348
305
361
237
303
322
245
368
291
316
391
246
282
337
268
351
259
323
332
433
299
254
307
317
248
320
264
346
287
314
347
306
342
367
318
199
327
310
316
267
303
334
314
355
367
349
329
365
309
403
305
333
329
299
312
344
343
334
204
306
269
316
297
272
304
326
333
308
320
229
356
388
244
379
333
337
306
330
289
355
303
372
361
344
308
258
278
221
295
303
356
327
351
282
339
294
295
276
324
321
395
310
297
318
284
302
401
340
328
322
323
380
237
358
354
258
312
245
335
362
350
361
363
281
309
201
336
354
326
337
302
273
312
291
319
343
321
311
303
352
373
273
341
269
364
317
323
305
380
385
314
222
260
318
353
282
378
325
319
369
332
402
321
324
362
334
257
297
367
260
332
271
304
389
284
378
311
364
355
333
325
315
329
274
353
252
243
312
277
285
329
340
339
365
316
391
318
345
390
366
316
262
313
317
335
264
377
339
422
300
315
328
310
347
338
309
300
343
303
351
281
297
337
344
331
357
279
286
326
387
247
416
324
275
275
314
236
348
396
290
297
343
297
361
333
353
302
318
279
441
308
318
250
281
346
350
350
379
373
317
250
300
260
317
305
247
281
351
346
315
249
192
293
313
328
288
313
262
332
358
311
321
312
218
260
358
316
328
244
329
270
329
368
312
308
226
345
381
348
387
233
278
257
308
267
304
315
220
266
306
335
248
323
339
324
336
377
299
305
308
327
291
342
307
350
340
306
242
279
336
355
330
294
261
299
341
338
289
309
399
365
368
339
288
274
246
259
323
281
322
275
235
307
366
342
345
325
357
319
325
333
368
273
328
322
387
343
331
342
280
378
361
319
327
412
306
292
385
273
360
254
253
307
293
330
277
319
224
295
277
236
316
288
285
318
289
307
374
195
389
408
345
291
313
335
239
369
303
248
333
313
347
313
327
330
324
365
361
374
350
271
222
374
334
388
371
330
313
343
367
319
349
328
281
365
348
302
321
340
239
289
302
334
238
358
276
297
334
315
334
325
259
267
291
389
355
349
407
374
323
274
343
387
303
347
346
362
314
278
300
268
283
277
312
347
403
345
353
244
311
327
300
239
273
293
286
349
334
319
285
342
370
316
343
211
416
322
289
334
362
304
359
379
319
350
373
349
309
334
279
324
249
322
371
292
330
285
312
268
289
363
376
313
360
328
364
231
316
343
289
271
257
326
321
272
293
334
300
286
318
357
321
324
409
311
310
356
344
340
310
289
324
297
318
300
377
356
265
316
313
368
341
324
275
305
307
255
406
333
289
329
329
393
331
337
300
251
282
322
325
348
273
347
368
337
332
321
353
355
338
320
322
298
276
269
335
294
255
357
269
255
256
380
280
278
325
321
244
276
396
398
330
309
257
294
276
318
334
331
358
288
224
349
350
270
291
335
320
322
217
333
345
285
269
290
357
323
331
231
322
404
359
352
308
266
321
268
333
325
362
192
227
225
332
380
265
340
287
323
319
289
278
283
336
334
176
335
301
284
326
278
359
248
246
340
293
380
298
248
316
249
239
276
255
284
308
387
256
336
391
279
259
334
255
244
270
257
377
336
347
326
323
276
254
247
306
325
333
292
263
280
336
312
330
296
361
316
234
396
276
271
216
364
262
283
286
236
311
337
390
344
268
304
335
279
390
335
274
180
347
348
212
291
300
374
314
357
373
291
305
374
333
278
244
277
292
231
295
290
373
340
316
353
326
347
341
302
297
343
284
265
377
266
309
283
270
214
283
273
304
333
357
324
285
271
208
319
295
275
279
380
342
317
323
371
371
345
302
346
311
262
270
305
336
330
266
265
333
262
424
317
319
296
349
248
389
334
344
277
345
330
245
374
267
237
351
300
304
250
276
260
298
296
306
309
301
324
359
328
252
379
374
258
334
314
254
309
192
247
325
288
340
289
336
333
281
333
349
359
310
361
295
291
327
338
331
277
365
298
349
343
306
343
214
353
264
309
300
311
299
340
321
267
322
338
270
419
308
366
377
343
333
371
273
295
361
321
360
358
392
301
345
345
219
250
332
413
209
317
258
279
331
342
351
316
318
349
268
308
331
311
299
300
389
367
317
295
330
290
314
321
344
359
383
390
331
394
340
213
359
225
251
291
317
362
352
393
351
288
328
236
348
268
323
321
307
379
184
266
261
225
280
308
267
283
295
364
306
294
347
208
286
295
336
286
297
312
248
306
376
300
387
327
289
322
292
308
332
385
411
265
338
194
351
262
308
345
341
342
259
308
308
344
315
251
368
326
283
294
381
366
263
293
313
283
280
390
323
278
274
330
246
243
286
373
372
390
327
286
289
287
358
174
252
287
346
278
355
383
385
346
407
359
302
233
342
419
380
381
317
317
348
307
283
345
311
270
264
266
366
277
296
297
380
299
310
386
359
336
315
330
344
401
282
257
344
318
350
254
311
218
260
317
365
282
261
306
321
317
268
356
315
288
316
401
354
401
327
271
227
278
255
356
280
337
352
375
291
405
348
371
372
298
328
346
353
305
364
370
306
280
339
313
325
310
344
298
272
329
387
292
266
320
301
364
321
297
263
266
326
364
286
294
244
304
297
245
350
317
370
286
335
227
331
357
350
302
316
274
351
322
318
353
352
288
251
300
227
278
295
299
239
331
253
132
349
362
308
401
284
330
360
391
285
287
301
343
334
238
328
345
272
280
307
311
339
318
350
267
369
333
308
251
246
353
283
329
336
363
259
339
317
286
287
343
328
286
238
317
408
303
273
291
244
341
302
297
283
391
293
360
241
381
196
405
333
257
245
349
305
306
344
282
356
289
304
283
242
254
320
302
232
363
306
328
323
379
312
330
316
373
357
336
343
350
304
326
325
362
343
332
316
319
333
295
342
244
349
340
311
329
329
318
286
323
306
281
274
291
263
288
324
375
293
348
370
315
328
307
392
325
306
185
361
381
280
289
356
265
402
342
290
322
306
368
349
271
339
247
289
299
233
374
294
283
364
302
425
309
353
358
245
298
339
374
213
281
342
367
312
327
345
367
184
337
218
321
341
339
304
319
239
334
327
280
309
351
248
362
290
304
310
230
369
236
326
305
299
252
322
352
303
250
355
255
292
292
384
356
385
264
264
312
220
315
336
352
272
335
282
291
280
298
331
247
387
274
291
293
313
322
223
219
329
277
328
213
228
282
329
371
361
358
352
347
274
333
363
306
336
347
356
294
327
243
371
312
276
225
313
350
338
412
331
318
316
316
286
330
308
251
290
243
380
322
237
310
312
284
369
268
349
336
297
287
351
403
291
303
318
335
310
293
327
356
293
365
343
291
364
355
363
291
275
272
292
366
335
312
337
339
324
302
240
293
349
277
320
308
394
275
347
366
267
368
268
344
225
302
335
248
419
285
282
367
304
265
244
388
363
274
299
296
363
305
308
274
299
352
288
354
372
333
316
277
342
329
319
303
324
371
373
359
299
314
332
276
261
249
313
262
299
278
300
295
325
302
391
334
331
324
301
272
360
335
268
360
276
375
381
330
306
327
231
325
346
268
292
254
344
312
308
370
352
248
390
297
372
378
357
318
359
323
323
351
283
338
284
387
270
259
391
281
287
391
356
316
293
266
251
314
297
273
366
322
334
375
326
239
422
294
272
333
291
308
215
301
326
313
282
329
291
356
368
329
330
360
310
320
334
332
381
332
307
320
434
330
336
301
319
323
292
314
272
310
243
339
375
338
387
264
264
383
394
292
311
373
347
286
269
226
335
338
272
232
322
310
335
269
400
349
282
336
388
326
291
354
266
268
320
312
251
354
371
297
344
265
366
363
292
372
210
379
304
241
237
312
373
257
279
334
358
271
330
299
332
276
301
267
370
343
268
229
285
241
306
324
336
309
242
273
330
359
231
284
348
227
365
356
280
315
347
318
289
270
297
259
288
307
292
341
266
335
277
301
313
258
396
288
255
360
309
273
320
299
341
312
261
316
253
376
315
321
260
344
233
275
274
321
357
259
397
288
298
385
334
392
251
314
326
299
365
350
308
295
361
314
339
315
313
304
329
309
372
335
255
198
396
388
315
322
350
290
328
311
319
371
319
335
302
242
304
278
342
333
289
355
301
375
369
253
308
334
307
432
334
299
270
320
304
319
278
332
302
396
283
373
365
295
321
294
380
331
312
294
287
229
344
361
342
353
282
269
373
333
378
241
357
333
322
305
339
281
336
262
400
252
347
357
314
355
332
232
267
377
352
312
287
295
242
276
302
366
319
361
278
311
279
310
334
292
322
379
338
269
329
305
277
301
336
303
235
342
272
341
310
363
292
361
262
332
322
325
317
293
339
305
308
381
214
318
351
306
292
357
308
352
349
315
314
304
316
372
333
280
273
338
338
340
257
264
255
376
269
354
362
238
315
244
252
360
377
331
336
384
282
295
320
364
246
365
234
388
322
278
314
363
350
316
354
360
268
317
270
290
419
378
332
253
383
326
314
358
395
283
281
314
379
249
300
344
329
295
282
352
283
326
359
281
321
316
292
345
298
290
366
360
311
327
377
308
409
286
346
335
352
285
328
310
389
340
292
349
301
346
338
244
396
318
237
355
302
304
383
351
330
377
355
365
356
316
322
206
388
295
354
280
322
214
251
327
355
291
312
318
276
316
315
266
342
298
419
328
298
312
285
311
254
323
236
318
298
300
264
389
352
248
359
241
306
336
317
311
339
414
278
338
293
323
294
289
285
352
338
368
278
340
353
262
289
224
311
373
274
287
328
292
287
315
343
341
287
285
300
279
227
304
270
318
350
319
329
331
372
258
322
357
265
338
318
313
340
360
318
314
427
255
302
255
324
305
336
326
326
391
403
283
365
309
370
284
333
404
331
227
301
349
295
336
298
283
275
332
312
300
251
301
277
297
345
311
402
357
298
408
325
388
325
318
348
300
348
345
289
294
309
404
296
343
348
280
289
354
305
304
283
369
344
383
409
354
361
309
324
334
249
347
338
363
256
324
299
317
280
224
237
277
383
290
255
308
307
309
279
415
347
396
260
340
327
356
307
327
321
363
340
251
308
390
338
261
243
334
300
331
213
328
318
245
262
322
329
253
254
206
358
321
360
276
349
244
247
379
337
351
299
366
376
309
301
286
335
356
324
334
396
234
380
324
294
261
402
253
314
235
338
347
410
207
354
299
263
339
324
335
287
381
356
334
291
280
294
292
288
329
348
281
342
264
290
329
312
341
325
249
306
315
351
313
296
214
352
262
305
261
194
353
380
318
297
311
284
254
291
308
375
318
353
380
288
235
205
367
288
346
294
261
284
275
297
272
283
348
355
340
327
300
283
388
310
308
332
337
358
328
305
337
344
244
272
299
289
280
360
279
286
317
350
385
400
361
289
329
257
249
273
348
314
356
394
307
304
310
326
356
287
308
244
346
306
296
254
412
188
249
323
361
304
274
292
245
372
278
257
326
257
327
257
257
327
279
224
295
274
366
366
332
307
353
260
334
337
288
301
291
368
274
340
311
346
290
311
366
274
244
322
325
368
246
342
328
324
304
314
236
321
347
330
345
353
317
308
357
364
330
282
293
343
334
331
300
369
250
301
338
349
318
312
290
312
363
266
234
280
292
363
249
304
362
366
270
324
224
281
279
315
387
228
334
297
291
393
335
319
339
331
339
207
321
280
364
317
323
247
297
337
348
325
329
377
317
315
341
337
382
395
408
325
287
241
371
340
322
312
350
263
339
325
253
243
384
344
349
326
223
376
271
356
391
368
198
276
298
273
313
313
331
339
280
287
371
227
325
274
326
300
302
280
250
270
343
349
313
296
406
330
266
300
305
314
330
323
317
372
339
340
311
306
246
278
339
307
276
320
320
348
292
278
331
223
261
400
381
372
343
378
206
331
244
309
355
277
307
333
285
297
378
336
368
302
324
379
313
326
346
331
265
411
321
313
299
245
310
238
314
232
267
353
362
310
332
395
303
339
336
265
342
440
290
392
274
363
281
309
208
305
335
267
306
310
392
292
278
271
294
350
289
233
344
274
345
361
309
319
278
395
361
336
369
325
289
260
313
318
376
270
249
300
303
289
377
297
345
342
312
306
297
340
333
271
431
356
321
314
368
281
315
323
382
344
323
339
367
321
274
347
373
269
247
279
278
276
278
283
344
278
354
307
292
248
260
288
258
312
348
318
313
408
312
295
349
379
270
320
354
339
288
335
310
317
320
259
321
356
285
301
293
254
311
307
298
289
320
366
325
288
334
328
327
305
280
297
314
263
278
312
326
240
323
338
297
370
386
376
314
315
300
292
308
352
298
361
321
275
355
280
291
326
335
323
288
303
345
323
226
319
412
292
365
315
335
261
251
266
264
362
284
370
338
393
302
342
269
296
327
326
359
265
309
355
366
267
308
344
353
406
261
362
350
334
330
386
341
309
273
293
360
287
213
336
324
299
309
281
265
394
299
317
396
354
272
214
267
263
334
208
333
275
358
332
354
322
377
291
322
301
403
262
358
358
301
360
220
409
275
340
336
446
385
335
255
355
305
261
326
404
356
356
329
346
298
308
253
275
351
270
332
315
338
305
365
280
340
357
274
338
314
316
327
299
309
345
331
270
338
330
377
358
302
242
343
323
324
337
291
294
286
367
199
322
320
302
347
371
284
328
340
333
263
278
337
355
363
308
298
321
341
323
235
282
335
288
306
278
299
281
219
209
379
277
300
332
345
335
353
340
303
336
298
247
381
351
310
298
367
300
326
354
304
303
348
305
283
300
294
341
325
354
246
276
288
323
353
293
368
333
327
374
262
401
292
381
291
196
302
294
355
309
336
349
355
374
284
324
288
321
327
359
294
281
324
348
246
367
294
322
325
360
329
336
275
288
426
267
219
304
257
269
311
284
326
315
377
338
349
281
279
333
274
159
313
278
277
398
350
358
378
309
240
310
320
265
254
330
333
338
331
330
287
337
303
258
360
318
347
371
210
381
341
322
242
362
345
342
368
251
326
374
351
300
384
243
295
367
313
321
281
313
295
415
312
210
303
309
351
284
337
266
267
436
335
323
346
309
274
296
334
313
389
325
358
250
379
372
379
275
280
289
396
303
350
335
329
358
323
408
360
307
343
315
310
269
305
336
314
302
309
309
341
271
281
327
362
236
276
339
345
265
317
279
293
339
345
353
367
317
356
325
286
317
370
318
342
246
341
313
255
327
291
349
333
383
275
285
374
311
326
342
358
326
279
313
359
337
319
328
328
271
360
336
337
286
268
302
260
279
272
261
237
332
314
253
332
361
337
260
329
317
394
343
286
282
261
325
334
250
256
232
302
329
296
281
323
263
385
342
215
408
312
231
341
231
302
285
325
347
319
343
290
312
309
369
317
280
288
296
338
380
316
327
310
317
284
243
301
226
264
286
265
204
303
268
342
306
411
353
286
275
334
353
301
289
258
286
291
293
271
313
363
330
325
395
334
349
353
395
352
251
272
279
380
386
370
265
340
297
317
322
344
313
270
305
297
281
295
392
402
354
351
268
330
284
336
342
335
220
309
413
296
310
336
367
276
321
270
339
379
347
419
383
281
379
286
317
345
299
352
347
258
418
239
293
272
291
304
314
325
367
284
385
375
177
301
321
291
342
288
298
329
411
356
237
232
367
381
264
292
349
308
294
301
348
277
276
292
340
345
251
272
300
259
341
286
339
409
356
361
312
332
311
319
362
286
241
259
360
343
314
354
359
391
253
317
295
278
313
305
236
364
299
250
342
329
357
339
365
372
316
341
305
319
281
243
233
295
326
202
291
338
266
354
352
298
364
318
384
354
306
288
290
400
313
282
325
299
242
276
313
300
368
326
269
272
335
286
235
289
274
291
342
344
371
364
336
405
387
432
260
300
275
295
396
321
289
322
321
291
332
307
298
336
317
329
284
315
200
293
289
375
253
322
265
358
355
246
321
375
353
294
273
252
276
286
337
319
320
282
289
295
280
262
330
280
286
317
316
329
342
348
335
331
346
277
314
343
250
361
285
290
303
314
326
368
348
326
270
311
380
329
388
281
292
329
289
374
304
284
308
261
331
334
274
258
357
375
267
351
385
356
330
379
292
328
313
310
321
343
332
358
356
328
306
304
401
234
255
278
299
231
406
272
264
317
405
354
331
301
313
429
336
270
337
281
310
282
269
364
303
389
401
347
241
291
307
271
300
358
261
252
264
394
280
301
273
307
370
420
299
364
305
324
251
315
334
248
366
307
281
306
354
313
242
347
294
349
334
338
320
396
304
343
321
344
326
334
311
234
272
381
342
367
311
265
289
294
387
319
386
328
354
265
268
312
341
232
300
408
435
349
334
333
351
382
282
373
271
400
312
308
325
249
315
272
344
322
278
285
282
299
280
310
316
374
266
280
316
383
265
385
332
339
327
267
285
299
297
395
384
262
334
258
282
364
288
268
367
262
336
282
258
306
353
289
413
360
301
346
336
365
310
325
280
267
395
328
304
281
361
366
366
395
356
349
308
340
375
310
312
333
329
258
290
330
335
281
281
317
294
331
303
323
331
355
333
248
226
340
304
378
292
254
245
259
413
316
272
342
337
337
269
203
312
301
316
274
240
372
322
311
351
346
273
275
331
298
294
326
254
373
372
352
367
296
318
334
361
304
300
350
353
264
317
271
379
324
268
351
339
362
299
320
327
284
356
217
279
310
253
282
340
283
300
318
359
337
335
282
412
311
299
368
350
331
262
276
315
345
299
272
354
303
371
259
378
309
343
306
423
271
250
329
300
310
346
375
285
245
279
292
302
345
345
276
381
316
322
312
341
285
338
333
298
328
196
256
232
368
390
358
265
355
278
340
307
386
276
314
301
351
375
272
321
325
365
326
282
397
224
278
295
327
397
296
323
278
298
272
286
265
350
306
337
411
313
394
304
315
296
328
347
359
260
355
284
299
358
285
303
318
314
320
344
291
363
371
309
288
336
281
333
276
327
258
322
402
298
347
320
291
402
342
245
286
262
350
348
336
270
218
302
398
252
291
445
278
304
266
326
283
313
384
293
310
284
298
307
227
321
391
359
316
318
341
251
373
322
327
308
274
303
329
282
312
328
412
202
269
307
310
316
340
329
321
383
376
299
350
288
354
328
379
259
294
229
303
370
344
381
299
305
252
277
356
284
319
331
356
259
290
276
231
285
349
279
372
328
343
282
390
277
289
346
311
365
308
192
292
338
295
298
359
256
307
276
296
376
270
300
323
262
378
306
326
349
344
388
370
306
277
293
243
302
373
304
325
365
297
374
275
317
353
274
295
417
377
327
375
293
244
273
240
337
311
300
330
368
318
283
352
299
288
329
271
313
303
256
320
336
291
343
307
320
376
249
280
365
298
347
344
274
306
318
384
280
353
329
250
336
314
311
229
338
345
322
337
397
274
293
327
357
248
283
337
277
280
265
292
344
396
315
218
298
368
278
260
282
322
270
266
303
355
365
326
284
300
347
279
319
275
348
308
313
297
275
280
352
347
347
300
368
244
301
308
254
235
254
342
369
271
277
327
318
323
250
389
372
343
258
283
318
322
330
336
411
308
386
286
282
288
287
291
357
383
279
313
332
371
321
259
344
381
309
325
291
450
285
337
310
428
311
281
301
286
321
225
356
304
270
359
352
308
341
353
373
258
313
251
327
286
314
342
251
318
318
367
331
312
246
360
289
297
386
292
294
356
244
339
376
259
297
310
327
225
364
258
266
291
232
328
318
324
288
356
278
274
320
428
248
272
329
297
405
404
284
363
292
308
332
307
326
275
280
296
300
207
390
307
270
300
304
346
351
246
369
388
336
294
356
397
301
355
289
326
283
347
392
309
380
348
310
363
275
372
304
322
298
273
300
343
395
361
304
219
349
284
233
377
300
364
352
373
280
361
284
300
260
300
261
319
335
313
375
299
211
301
265
330
321
379
353
287
332
323
304
383
298
268
353
345
291
308
360
370
359
276
289
370
291
355
311
270
379
326
344
381
324
255
310
333
334
303
338
319
303
236
355
355
328
355
353
349
265
328
330
316
307
344
307
344
304
268
348
315
329
323
284
304
280
322
281
338
324
361
324
366
302
272
330
317
307
389
271
312
355
269
325
347
355
292
271
312
279
352
301
375
282
394
310
314
248
267
347
279
287
311
281
326
292
325
312
334
414
343
394
323
352
277
220
352
410
291
352
277
267
329
360
323
378
267
410
317
352
369
372
371
317
281
284
345
323
344
403
361
303
235
326
306
358
222
334
282
245
275
361
251
361
364
361
322
300
358
378
364
349
279
366
368
375
377
364
294
357
340
335
364
276
343
241
354
305
288
281
309
359
375
242
310
342
294
340
329
313
368
217
388
232
350
382
343
332
293
292
283
411
316
321
237
250
324
411
353
333
333
328
330
343
261
258
280
323
307
358
282
357
271
293
355
257
306
362
334
370
311
318
285
377
331
327
302
291
285
330
291
287
281
339
349
365
329
256
318
315
370
293
285
259
420
355
300
297
336
349
261
351
261
277
357
242
325
330
242
372
377
337
295
360
345
355
287
407
368
292
371
314
324
336
373
357
334
330
363
233
220
337
343
319
240
329
247
324
369
355
368
287
330
257
312
334
346
247
313
366
330
347
251
300
322
294
286
352
385
278
289
255
341
276
342
343
282
356
278
347
227
334
353
337
256
306
335
353
239
305
312
263
333
391
298
410
291
345
327
332
293
290
200
331
252
374
295
334
371
304
393
262
297
380
329
257
287
384
325
284
263
373
372
369
283
354
327
376
316
248
345
369
351
350
315
309
281
316
304
304
344
274
303
280
324
317
311
312
244
356
348
331
355
327
272
235
305
352
311
218
271
329
381
326
270
370
246
339
361
317
273
308
306
350
338
287
255
281
305
303
372
188
394
315
336
375
338
301
300
266
387
333
400
321
389
365
374
306
340
262
372
314
325
315
344
316
380
319
270
253
262
275
345
265
336
286
271
362
364
306
307
289
314
392
333
336
314
412
319
295
275
319
363
299
346
267
398
352
264
302
314
272
308
322
301
332
286
203
366
346
325
318
392
252
287
319
357
342
298
295
310
362
392
351
280
301
370
273
389
378
351
333
310
335
343
332
275
373
272
308
331
293
343
305
304
378
367
302
339
305
310
334
308
252
371
352
348
312
240
315
310
369
283
352
332
288
314
294
278
257
351
320
252
258
333
320
317
305
318
306
327
248
270
324
322
272
369
301
397
333
382
265
312
312
306
314
236
290
339
325
381
303
305
362
263
279
390
304
376
269
366
209
291
318
341
314
398
271
349
384
265
357
291
267
308
311
365
379
277
275
377
241
325
267
408
307
338
296
297
299
366
278
348
364
308
380
350
322
315
406
326
290
402
248
262
300
377
326
375
273
406
353
326
298
346
347
365
326
325
322
343
270
310
325
308
382
299
249
285
340
333
277
329
325
283
349
301
291
340
307
308
391
341
353
300
302
316
247
218
268
311
289
316
324
350
335
375
305
172
310
244
296
277
345
355
293
288
386
306
295
264
304
349
308
296
307
250
363
336
328
317
302
369
298
332
332
307
295
323
294
284
316
298
332
344
343
345
232
248
417
315
343
301
368
343
258
338
362
299
321
298
317
289
415
304
366
391
355
311
333
300
238
247
332
325
261
265
321
334
338
308
371
316
374
333
336
356
342
269
318
330
267
311
337
383
402
319
361
292
271
269
332
269
323
298
347
350
349
266
274
368
278
329
303
201
299
353
301
304
344
254
431
331
334
359
382
311
305
291
344
296
284
351
355
313
300
235
416
317
338
321
287
271
344
219
307
394
298
420
308
315
240
326
369
265
288
279
279
275
365
298
377
357
328
323
317
254
289
253
274
280
376
331
331
335
295
291
248
323
309
310
292
345
400
152
311
333
321
371
379
257
338
354
345
250
276
279
312
341
298
289
307
306
315
321
407
387
346
288
342
312
256
341
194
297
245
365
264
292
284
350
344
296
265
386
305
377
340
243
301
319
284
309
317
338
318
328
265
358
259
190
325
374
356
237
329
321
305
334
318
279
330
405
374
309
341
301
342
272
349
380
415
277
250
379
327
308
324
302
352
350
275
223
263
338
281
346
190
391
296
365
290
350
308
365
233
271
324
340
308
309
423
396
432
380
329
277
363
372
337
297
267
354
436
302
408
327
342
292
280
319
343
202
387
282
365
346
404
275
327
312
365
339
318
265
322
393
305
329
281
397
308
311
300
217
262
414
293
338
255
314
400
292
389
340
385
341
327
344
264
268
304
405
337
294
300
316
274
326
293
364
319
402
392
255
327
330
280
328
285
336
364
335
257
322
354
266
351
326
407
346
343
353
323
241
341
343
294
348
332
361
377
312
334
241
270
234
260
317
283
283
306
258
309
266
336
309
272
331
292
344
392
331
282
326
286
308
269
394
286
268
341
264
257
290
267
256
319
355
361
356
248
304
333
310
338
285
289
306
344
310
346
296
333
330
238
276
363
269
266
353
369
222
355
313
419
325
261
345
358
312
215
281
336
330
316
261
265
281
394
348
293
339
272
356
392
257
350
372
289
388
258
295
321
358
294
219
227
337
214
330
316
364
231
287
269
359
201
343
275
344
367
235
275
376
297
361
277
305
271
290
326
287
330
316
230
270
293
276
326
377
382
330
452
324
269
385
377
336
311
311
357
311
339
310
342
242
319
280
347
387
343
299
357
356
342
393
275
318
359
323
266
274
286
304
364
352
219
260
288
314
333
318
339
288
338
319
292
287
312
281
352
308
298
390
263
232
295
376
240
302
208
306
326
303
343
291
267
314
252
330
329
224
312
232
374
397
308
329
338
244
269
306
335
339
290
347
263
332
304
241
297
369
282
366
282
402
356
363
300
314
340
281
334
366
426
310
333
279
263
409
342
348
354
330
256
329
303
257
324
347
274
327
251
354
369
428
293
316
312
350
307
278
272
408
312
388
312
366
259
320
285
214
389
311
383
320
398
217
419
318
274
331
328
329
337
327
331
230
384
369
251
336
283
315
305
390
254
390
398
292
305
286
288
294
251
210
273
396
304
380
344
304
355
353
301
372
271
305
329
256
184
284
255
328
247
283
339
216
289
278
272
299
213
330
319
302
358
351
401
301
349
345
332
380
250
357
356
289
347
331
277
275
417
330
321
326
257
300
303
399
319
309
267
323
274
313
294
328
365
376
388
347
276
288
320
321
241
348
311
308
386
274
356
315
271
376
306
276
343
283
318
299
333
339
361
302
314
186
370
259
349
253
412
304
295
334
404
251
328
298
262
329
309
392
289
311
274
310
340
380
314
337
332
246
362
313
281
316
242
256
348
303
310
345
302
283
392
304
309
259
339
356
265
264
238
297
220
376
331
357
349
332
419
393
276
294
363
243
300
330
295
339
267
343
280
384
365
219
316
284
291
250
379
303
323
364
312
316
293
293
323
260
268
329
305
291
321
307
342
322
330
299
283
294
238
360
263
346
353
283
217
319
274
329
326
307
330
385
296
320
346
292
315
289
333
405
176
342
373
344
255
313
358
336
305
257
298
365
308
328
283
299
241
324
235
248
348
311
363
243
290
281
376
359
290
294
273
373
359
362
272
341
312
362
306
338
356
356
321
321
354
336
294
313
303
349
269
327
287
297
373
276
361
230
289
381
327
343
313
320
298
305
355
313
372
360
231
352
326
269
320
333
326
295
318
315
326
278
305
283
348
286
370
314
307
229
309
397
239
334
384
290
222
329
436
295
343
282
330
314
382
338
296
394
302
341
322
294
280
304
368
359
282
318
308
273
320
385
397
308
273
364
326
364
242
381
392
325
367
272
317
297
340
290
298
327
350
296
347
308
271
368
288
325
317
242
321
291
315
330
333
279
331
289
321
297
340
282
396
341
317
343
337
310
281
323
285
339
309
291
332
364
378
399
334
339
442
352
285
357
249
308
367
270
272
325
305
304
356
328
307
261
364
369
281
289
303
389
336
268
412
347
391
348
368
333
283
322
309
390
274
324
343
316
361
296
220
289
239
270
320
355
311
437
254
277
295
268
254
312
383
281
234
249
336
301
323
397
304
371
380
390
306
255
311
294
314
310
344
336
382
349
332
290
364
300
353
377
332
245
361
310
350
340
169
313
277
294
258
381
321
261
357
300
313
217
298
278
274
342
298
326
395
349
332
379
277
366
297
376
355
270
353
328
256
348
302
396
360
257
378
321
308
295
321
314
309
386
339
288
353
403
274
354
367
266
410
338
267
284
250
233
367
386
231
291
329
325
275
264
334
260
405
290
330
400
340
222
312
247
302
326
253
337
270
301
293
292
295
313
273
285
272
395
304
348
373
319
298
319
288
316
245
336
384
320
266
278
314
244
245
287
388
341
344
270
293
256
259
338
293
396
318
294
393
377
317
271
389
341
270
342
283
329
342
340
341
374
352
400
274
254
294
334
315
410
326
340
275
254
386
331
291
309
288
316
270
318
312
269
373
332
287
345
300
364
381
282
274
350
326
459
327
323
252
369
410
226
287
295
239
349
280
349
280
322
414
311
320
284
269
370
230
318
328
271
373
284
317
308
339
259
298
333
279
292
306
334
278
314
321
398
262
220
322
371
301
293
296
331
378
359
351
273
228
300
311
327
329
255
326
253
324
322
243
371
299
366
215
305
373
320
321
269
265
276
337
343
358
338
313
320
287
331
282
397
329
362
304
307
293
397
252
332
358
269
324
279
337
315
244
307
279
329
315
289
290
359
292
315
268
296
347
417
307
287
361
317
283
345
253
320
284
209
301
236
314
280
294
342
350
292
362
250
349
338
275
293
334
357
276
264
356
305
305
315
317
373
252
359
322
311
307
261
350
323
326
295
298
300
354
374
285
377
358
407
373
409
293
392
257
343
306
325
299
289
300
264
359
356
264
310
369
380
338
280
334
162
315
257
341
362
338
280
354
333
290
290
300
312
352
275
323
332
373
340
303
271
319
292
364
343
368
311
287
315
276
333
300
390
198
262
291
214
229
334
315
288
313
285
293
329
302
279
351
235
392
314
363
297
425
278
326
332
356
404
383
374
255
342
278
413
276
355
307
392
275
333
364
309
380
301
308
363
340
299
306
338
396
358
338
348
336
309
290
356
343
354
324
291
305
334
247
340
388
289
345
365
297
374
354
347
250
395
320
277
335
313
268
315
306
377
255
228
270
314
320
350
306
286
320
267
290
257
291
318
340
226
273
294
337
255
304
245
321
279
369
310
338
354
361
283
309
280
297
294
339
353
311
302
400
232
342
294
372
263
288
309
280
220
352
338
350
249
262
236
259
350
338
329
279
385
340
268
342
322
327
320
347
328
339
291
311
286
331
328
265
327
279
284
366
340
282
355
406
269
335
330
359
257
404
267
304
399
268
349
249
309
342
346
266
277
346
186
315
314
348
327
290
349
307
285
336
265
314
289
325
285
351
262
312
391
229
334
298
313
312
281
310
293
316
420
281
307
265
348
309
277
296
324
358
309
232
292
260
280
288
289
298
307
336
276
279
295
246
249
299
315
314
375
262
313
262
257
239
289
336
370
286
360
317
276
282
398
270
286
343
319
337
295
283
310
345
364
271
299
348
277
257
315
261
378
297
373
348
271
319
257
311
297
312
296
236
366
320
323
296
296
325
323
325
309
201
428
266
298
237
242
374
358
347
295
365
299
303
298
318
299
224
324
261
317
288
388
317
348
297
280
283
267
303
384
331
245
379
316
311
293
337
316
166
327
215
307
313
241
331
320
351
315
320
287
366
381
324
305
305
352
331
340
264
264
350
292
397
341
306
411
407
254
267
398
360
339
245
371
229
346
253
383
295
367
291
320
264
318
287
262
405
286
358
258
294
314
395
324
298
294
226
219
286
433
370
362
298
294
320
322
321
325
326
362
373
327
435
336
303
340
294
402
377
315
315
278
325
358
316
282
321
321
236
315
350
337
215
300
301
390
278
318
238
303
313
296
366
335
310
360
249
291
355
303
344
322
324
360
369
343
351
315
262
287
346
365
371
371
347
334
308
274
285
290
296
326
393
315
285
262
342
333
303
298
294
325
310
330
314
315
288
254
380
330
330
254
305
356
254
261
353
347
330
275
387
347
308
338
209
356
356
332
326
354
235
398
296
263
358
306
202
375
305
352
334
342
204
351
322
292
306
335
316
335
322
294
337
363
356
355
391
298
327
255
292
213
327
275
347
264
353
339
360
326
307
331
288
325
276
299
262
329
323
328
318
342
279
302
398
305
197
323
369
381
299
341
271
310
306
320
265
281
338
318
365
252
348
302
262
348
300
363
268
388
296
298
408
251
419
360
441
260
252
239
298
281
422
356
329
287
364
435
256
364
308
434
347
351
345
323
362
251
290
269
330
314
289
317
328
313
297
422
286
366
278
239
348
358
239
373
368
273
235
252
257
333
299
308
347
272
244
374
348
349
316
306
259
323
377
341
261
279
449
277
263
362
323
205
276
386
298
336
331
331
262
325
327
335
374
294
177
389
393
301
314
342
335
328
264
335
228
403
291
309
299
302
298
248
270
310
278
265
246
294
317
314
352
335
316
333
345
264
336
361
249
267
319
365
333
358
301
296
379
375
335
259
347
311
367
307
372
389
279
391
342
308
270
379
342
342
354
313
310
273
317
257
395
313
240
243
339
375
272
301
313
334
382
248
327
333
286
319
294
305
293
367
197
341
290
353
295
327
315
372
315
278
293
328
397
307
359
299
268
351
315
279
385
284
263
300
392
392
248
297
338
334
295
360
366
295
284
321
325
247
386
308
377
271
265
300
350
378
284
370
310
301
305
274
390
289
308
367
316
382
357
384
311
332
341
314
276
390
264
379
281
344
365
375
298
295
313
298
380
327
328
345
310
353
232
319
295
315
316
333
371
336
303
344
322
291
226
330
373
360
354
304
303
350
290
368
273
307
354
282
265
374
353
326
225
265
348
257
362
308
290
352
321
320
372
285
370
250
337
376
358
237
306
251
303
346
297
296
305
352
371
281
227
272
331
320
300
385
276
252
318
318
283
355
289
254
267
277
292
300
206
277
299
290
297
318
393
352
350
210
270
267
261
289
304
308
309
403
332
377
294
252
329
308
348
318
351
270
302
294
378
293
216
306
279
326
332
292
300
316
272
296
337
330
215
279
304
300
301
324
379
270
379
329
294
302
224
302
349
330
360
332
305
314
295
355
275
301
367
276
307
298
372
391
411
356
309
321
344
295
251
329
369
331
339
277
248
299
334
342
317
294
246
324
309
279
345
241
279
309
354
359
350
348
336
307
341
316
246
237
333
231
295
319
319
271
364
323
358
335
329
384
353
314
308
357
396
369
324
276
264
338
261
378
304
324
276
338
315
334
314
351
350
346
334
318
299
298
304
353
285
276
316
287
275
368
335
421
307
330
321
276
332
304
230
282
335
256
273
322
354
336
306
317
323
344
370
305
330
331
331
301
315
344
411
232
365
345
384
251
305
358
319
334
340
355
356
293
324
373
285
320
414
281
306
378
309
423
423
286
297
317
402
401
346
348
266
319
357
314
262
349
322
325
252
249
285
349
344
335
326
368
303
401
423
333
340
237
346
327
195
289
328
352
326
281
322
296
326
366
412
360
297
272
263
324
286
279
228
390
274
311
287
328
303
224
250
305
268
380
307
222
289
342
433
289
340
219
337
308
357
339
316
334
307
241
284
293
403
390
375
290
338
291
209
319
365
313
418
369
311
307
233
323
310
354
310
272
308
208
275
313
344
249
322
345
279
376
369
307
340
258
303
299
303
287
376
369
250
299
331
347
304
316
281
373
303
276
257
255
273
308
372
221
213
312
360
361
308
337
246
275
375
239
314
375
293
327
299
322
259
316
325
285
292
329
384
223
352
340
334
318
328
291
239
324
236
311
338
290
328
304
326
256
280
290
264
258
330
374
248
257
376
343
244
390
229
275
354
318
240
313
271
344
279
266
282
361
302
318
357
354
280
270
303
272
265
400
221
335
261
298
273
271
268
299
386
425
324
249
265
298
320
345
273
372
332
360
386
287
362
309
229
351
284
294
365
332
314
306
309
347
259
280
297
340
368
356
283
365
326
351
284
269
271
260
358
240
342
268
261
340
355
298
333
339
286
281
308
304
288
343
313
358
351
318
315
377
362
297
337
333
337
270
299
256
288
393
351
266
303
344
299
295
350
252
343
306
252
311
319
296
316
363
326
260
276
278
349
396
348
304
315
338
361
333
241
314
299
336
271
291
304
311
333
286
290
405
305
309
326
375
342
302
340
351
319
297
291
296
307
281
179
355
263
355
332
237
353
371
316
287
348
328
374
266
359
331
354
377
330
226
323
361
299
269
331
276
286
236
333
396
352
222
348
348
297
329
254
269
325
255
280
327
349
290
305
347
255
264
312
330
372
267
352
372
270
282
250
375
325
282
308
337
276
337
267
369
299
368
345
237
263
309
324
348
248
341
306
290
352
309
283
361
339
297
338
260
287
376
287
380
295
330
251
347
264
300
270
286
322
310
286
319
248
333
262
315
321
304
277
378
284
256
357
317
290
235
398
333
306
327
286
307
312
294
295
283
406
352
372
220
285
380
333
332
351
373
279
340
300
314
254
325
353
216
362
331
366
301
263
248
281
282
354
386
282
294
294
331
358
322
278
249
340
322
207
350
296
323
206
317
394
346
249
294
302
362
254
311
269
281
370
298
378
374
369
283
318
332
337
263
324
339
318
365
356
314
360
334
275
279
325
325
400
247
303
287
338
426
308
344
266
253
314
315
255
314
344
203
287
318
314
313
347
294
382
404
296
346
318
383
370
356
336
339
296
379
338
292
348
299
346
291
316
420
240
322
387
343
341
363
251
376
405
311
352
278
338
307
303
321
353
292
296
275
356
272
313
268
373
327
312
314
232
356
325
308
302
333
268
339
330
363
319
307
267
322
306
314
269
304
333
368
354
330
289
323
265
333
364
288
314
262
303
330
294
327
271
333
368
291
429
291
383
303
288
229
300
338
311
367
349
302
335
360
349
378
247
292
330
330
320
334
263
281
251
337
381
347
381
279
315
397
269
308
216
285
293
250
297
316
276
285
364
332
319
248
216
261
323
333
262
344
302
223
343
238
325
315
268
299
352
330
242
238
269
338
282
311
348
348
329
248
288
314
373
350
344
325
330
249
296
290
276
232
291
354
297
274
353
406
354
308
250
241
309
366
304
293
256
247
312
189
376
363
368
372
396
326
362
311
380
366
307
267
328
290
338
336
350
301
362
331
331
357
363
405
306
341
337
289
333
264
418
297
303
209
306
310
368
370
268
363
330
241
397
225
304
327
346
324
262
240
228
280
315
387
386
324
297
316
306
315
231
341
357
361
399
420
373
286
343
307
344
305
346
435
327
229
361
385
329
353
284
245
265
247
281
214
279
330
243
327
262
335
280
355
342
325
309
307
309
277
253
309
337
260
309
288
324
354
311
269
340
322
352
329
262
396
298
265
370
301
396
270
257
240
292
305
373
399
364
369
341
368
356
316
374
306
234
392
355
250
303
379
290
263
350
279
321
280
290
354
370
279
320
376
286
381
346
360
316
272
339
329
279
324
377
324
229
348
300
330
368
271
222
341
347
416
391
247
362
298
391
327
294
303
339
402
388
349
335
340
303
320
261
285
335
290
348
376
309
282
228
277
349
337
236
333
379
237
330
331
271
288
298
333
339
309
253
354
377
357
361
308
346
341
315
273
360
325
350
352
313
332
274
337
341
377
207
331
294
305
312
359
225
349
341
337
325
282
270
409
341
318
274
311
257
288
359
365
361
375
370
256
293
361
298
330
400
276
298
262
347
370
380
231
290
299
360
336
362
346
324
265
365
315
277
427
294
347
336
306
237
349
367
277
222
282
400
329
332
310
363
301
286
331
321
313
319
334
238
235
388
230
295
349
251
326
315
310
400
333
256
320
335
320
257
308
282
330
304
342
324
338
289
257
349
284
336
243
351
390
295
320
333
332
318
339
245
330
326
256
289
321
363
279
269
370
321
364
325
203
293
309
376
301
290
296
327
272
332
248
316
283
285
296
355
342
245
310
371
305
295
359
325
362
363
328
246
290
268
293
343
365
258
349
301
233
333
305
369
377
222
338
315
306
302
322
334
274
400
388
342
269
307
326
304
326
302
336
263
338
270
202
263
395
291
305
262
315
359
339
390
310
349
295
312
415
346
334
326
318
320
399
251
301
245
264
318
355
359
275
323
317
345
343
323
373
228
403
251
338
256
358
398
304
365
262
293
291
327
448
390
234
349
263
299
316
291
320
292
319
250
272
341
306
291
308
273
329
345
285
281
345
386
285
390
333
295
384
323
303
332
301
270
381
360
387
366
231
253
335
282
239
256
376
316
289
349
340
242
305
280
297
296
266
251
326
438
320
321
291
294
202
393
284
335
202
340
362
362
287
249
356
311
321
341
438
310
308
323
344
363
350
266
406
375
319
314
300
364
357
344
310
208
255
328
343
319
368
335
264
302
293
353
313
400
263
347
334
277
399
344
273
326
289
272
324
334
412
279
345
274
317
282
220
317
313
296
316
357
308
320
229
303
309
275
303
264
344
312
314
315
347
308
274
305
309
393
350
339
246
368
275
345
281
338
319
324
333
296
318
291
334
402
357
249
254
348
285
279
229
267
267
274
222
317
382
272
331
335
326
351
472
342
358
192
298
292
349
305
298
270
255
288
367
292
350
399
373
317
330
372
344
277
344
377
333
356
285
340
329
387
342
291
265
234
324
331
287
288
320
358
318
314
337
333
306
322
362
310
326
330
352
292
413
340
298
296
382
305
349
318
279
322
316
312
269
344
339
351
369
358
340
270
312
347
316
381
283
345
325
298
326
352
248
286
245
306
224
315
268
325
332
344
270
336
318
339
239
376
309
308
317
361
318
265
338
282
378
337
383
318
315
290
323
305
312
315
322
311
265
285
246
355
322
280
341
362
388
285
393
236
363
294
345
269
301
321
348
337
417
369
298
274
377
328
336
299
319
293
305
339
396
272
372
245
326
252
338
347
290
321
288
276
292
386
187
289
301
272
351
275
303
298
355
320
339
280
224
360
360
390
363
241
294
300
306
224
223
311
300
207
281
315
291
245
290
293
287
267
319
303
241
321
303
287
385
254
344
365
281
371
290
342
305
275
264
298
287
317
242
322
300
353
331
258
317
329
321
271
300
362
330
298
342
285
254
361
328
290
301
240
298
382
386
311
261
314
286
315
270
295
344
308
320
344
300
374
310
254
348
369
337
330
318
312
264
306
321
265
330
333
337
315
297
335
357
325
350
277
361
360
330
232
322
264
310
381
376
302
364
263
310
360
375
376
200
347
302
352
274
264
333
341
344
302
236
412
267
279
350
320
409
233
260
352
310
309
322
345
344
329
336
331
294
311
307
243
300
347
333
340
256
301
274
364
261
345
321
237
249
248
265
221
262
317
322
322
369
331
265
389
373
285
282
348
274
333
371
301
372
334
344
351
277
376
227
343
212
280
331
277
376
282
337
273
338
368
352
336
346
326
360
297
334
364
302
263
345
353
255
360
345
334
289
249
278
351
261
309
339
266
245
322
290
265
248
233
310
327
266
437
338
322
334
267
391
255
358
291
322
312
372
312
274
353
328
389
315
386
396
223
373
318
375
244
283
302
262
342
324
387
320
325
229
313
250
268
263
259
310
315
369
388
297
314
304
330
310
279
318
396
284
316
318
330
378
419
319
327
313
319
298
280
346
303
281
383
269
330
346
364
307
288
351
331
298
204
270
242
309
320
356
309
251
286
339
339
331
357
283
358
255
301
341
371
265
338
314
300
254
276
389
292
275
227
295
250
290
317
393
307
241
279
328
332
257
299
247
262
349
337
382
278
302
301
388
320
296
319
328
393
342
329
368
382
363
297
308
310
357
254
320
264
297
266
340
244
394
312
307
328
326
309
246
301
263
315
264
343
322
321
282
389
390
283
245
304
290
275
280
365
270
348
376
329
292
354
290
299
280
323
302
349
272
252
324
321
412
237
324
217
253
241
363
299
290
249
274
336
291
373
268
302
275
260
353
365
327
312
303
301
278
377
321
363
392
337
256
337
295
265
345
318
256
333
376
279
287
296
320
272
299
329
337
347
337
381
326
309
252
373
288
287
284
277
334
275
356
358
354
346
369
344
320
326
235
303
363
308
326
275
278
327
394
333
338
305
327
329
307
336
309
313
343
365
275
244
369
334
278
331
317
343
304
284
345
320
315
341
347
281
266
253
316
384
351
299
310
309
307
316
382
330
301
320
341
270
315
324
192
323
335
359
263
274
365
262
297
333
291
322
261
319
339
299
307
342
304
328
373
316
309
309
345
312
345
239
227
362
337
357
311
349
301
279
323
228
338
312
334
313
354
267
364
339
305
302
323
312
397
329
392
277
375
274
308
270
375
272
290
304
409
338
331
312
342
285
392
273
294
321
267
315
331
207
324
294
343
238
302
325
379
266
324
341
336
312
326
287
223
346
309
275
347
407
278
309
372
325
323
375
285
317
347
312
265
332
373
358
280
252
267
309
293
344
273
229
388
374
360
395
222
349
360
290
325
259
335
298
311
337
309
346
369
357
339
302
360
294
335
368
277
355
356
383
256
290
300
365
173
301
322
406
323
414
302
335
302
260
294
236
320
321
375
277
315
252
324
357
411
294
220
348
299
234
237
349
312
354
375
271
253
271
282
284
242
358
277
287
337
310
323
340
365
308
270
314
290
216
334
341
246
249
338
281
287
382
302
236
356
309
368
334
301
321
316
269
284
368
292
336
294
329
338
246
205
314
322
264
263
321
277
291
362
349
274
239
308
317
348
305
338
337
374
273
314
309
277
384
251
319
310
340
455
330
333
292
289
298
368
290
332
323
341
394
302
283
291
342
289
317
308
359
310
388
281
327
279
225
308
375
359
385
298
321
288
377
285
254
285
236
383
319
392
294
364
340
260
369
282
260
346
406
228
250
310
284
306
371
306
314
324
273
281
375
354
327
310
240
343
263
395
319
354
401
313
370
343
291
256
390
324
354
285
265
278
286
284
338
284
394
342
281
337
285
328
286
320
277
333
256
283
270
347
287
284
296
302
296
327
397
338
266
347
309
339
292
315
244
325
323
335
317
312
306
364
372
358
265
350
257
402
342
426
349
348
362
345
304
329
302
355
291
282
228
320
340
366
354
379
321
334
260
386
329
331
338
342
337
340
355
317
308
363
396
310
358
307
281
309
277
233
338
293
259
348
341
374
322
438
386
344
275
320
267
367
245
323
286
331
200
362
323
256
353
395
327
293
282
233
277
274
304
359
180
270
412
368
316
252
291
279
309
374
278
227
284
348
315
285
289
313
314
232
302
322
388
319
249
355
375
345
335
230
285
337
325
330
315
314
345
305
321
316
278
392
387
338
234
363
377
341
341
339
335
348
269
269
291
300
272
331
357
316
317
375
364
341
314
324
308
298
283
308
286
281
295
339
288
334
329
376
290
306
333
331
276
324
319
297
295
224
305
354
339
294
289
309
298
281
306
299
336
335
288
230
302
283
350
361
327
242
316
295
286
283
273
302
310
290
390
322
282
284
323
193
293
235
361
360
256
312
307
346
288
331
285
346
383
341
283
366
321
276
397
285
313
298
319
284
379
302
278
369
405
342
311
396
336
324
310
275
332
312
285
270
304
367
359
395
307
416
313
315
293
351
310
277
368
307
341
283
252
358
313
356
355
333
300
252
245
391
299
351
330
219
305
297
316
389
326
303
292
274
283
329
277
291
408
225
232
264
253
325
288
335
289
308
341
335
285
270
353
291
336
384
306
289
190
282
345
339
301
341
358
324
304
328
266
348
317
238
332
341
369
386
284
266
364
336
297
289
395
375
332
338
315
390
369
269
353
356
302
316
418
362
305
317
363
383
357
356
337
409
243
337
353
303
362
276
313
294
271
236
311
310
374
369
371
353
282
362
373
362
345
331
331
351
307
334
267
338
337
277
293
357
355
369
372
320
294
349
294
290
335
266
277
322
313
285
322
299
232
298
347
277
271
375
294
289
377
321
287
307
340
261
295
354
306
250
338
301
300
302
306
300
283
287
279
260
363
289
339
281
286
326
366
265
242
296
252
341
323
284
315
356
340
266
286
294
302
334
339
284
299
343
351
317
273
336
375
265
376
222
305
303
288
301
311
338
354
407
241
370
258
330
291
407
264
252
265
353
262
314
286
305
238
316
321
345
270
285
313
367
274
330
354
291
279
303
321
254
343
277
369
354
339
380
249
220
348
301
330
261
269
364
260
250
300
335
286
319
357
335
358
324
297
245
296
293
320
280
356
345
372
358
272
419
329
229
253
385
265
322
294
256
334
283
367
223
320
349
318
222
380
326
227
356
216
326
273
346
400
286
300
274
242
383
300
386
236
307
372
193
375
264
342
224
310
340
256
351
411
281
324
286
314
296
346
243
415
323
303
264
368
255
269
316
335
373
312
323
334
358
331
304
254
389
294
292
207
323
276
177
284
343
376
248
342
317
147
250
373
306
258
261
267
299
256
314
335
317
344
362
257
280
328
277
230
309
281
332
261
231
404
346
361
346
322
249
258
358
208
302
354
354
296
350
337
290
296
304
297
293
392
294
337
338
321
339
285
323
263
376
266
230
287
316
303
338
382
275
317
286
302
281
261
315
380
254
338
292
308
301
321
299
313
321
349
306
326
280
377
312
367
354
299
305
341
301
276
259
373
386
267
297
375
366
358
334
339
259
288
346
334
271
352
284
332
403
350
318
318
256
332
340
297
279
294
335
383
308
397
334
308
350
236
335
312
290
326
301
409
283
337
353
341
228
335
304
280
299
350
291
272
354
325
329
300
315
260
333
318
339
325
283
301
309
309
388
208
303
254
329
423
327
262
300
395
303
282
289
391
230
303
295
381
287
239
307
311
289
283
311
307
266
314
340
383
215
293
387
354
312
279
332
302
299
348
252
191
342
280
246
352
236
335
314
351
324
333
343
323
274
272
349
273
354
279
350
340
324
384
352
231
254
371
346
353
293
314
353
313
327
350
224
320
351
349
356
317
302
360
302
367
286
363
330
277
371
240
341
394
250
239
340
253
292
296
314
345
398
339
339
283
314
317
317
302
258
349
303
293
267
294
371
296
291
297
342
273
328
273
275
413
394
329
352
302
346
317
323
314
345
359
381
302
346
345
380
293
321
324
333
343
275
334
368
293
361
349
286
305
298
342
358
381
240
273
244
299
311
318
373
347
262
292
320
311
322
297
287
398
310
377
277
337
345
319
261
369
325
331
332
388
356
303
296
381
424
268
290
259
311
347
329
262
220
383
340
301
285
381
394
344
277
327
337
269
323
294
365
290
327
410
336
387
293
364
304
339
325
337
315
300
304
372
245
306
350
295
364
300
261
328
302
250
379
336
284
339
283
255
330
316
281
319
367
377
304
298
299
301
331
313
396
339
304
312
294
276
192
392
324
279
346
309
318
319
357
390
308
318
358
275
310
348
317
357
294
280
376
324
307
315
328
335
330
379
253
331
283
318
319
264
267
388
237
298
336
287
303
364
299
337
316
323
359
286
310
305
320
371
343
335
385
352
281
273
316
308
262
316
340
312
194
251
224
298
314
356
270
273
287
361
325
346
298
329
356
396
310
292
344
259
303
340
325
230
259
238
242
310
306
246
322
335
310
343
311
302
373
332
335
285
315
301
285
353
421
323
308
283
282
325
264
331
250
314
359
315
326
222
344
281
342
276
334
340
323
308
375
303
233
301
326
298
293
307
298
275
291
348
314
356
280
334
341
283
319
313
304
319
352
261
282
305
355
323
338
323
287
319
401
307
346
292
341
290
326
328
335
286
336
290
311
303
314
341
369
336
178
327
362
326
383
331
247
380
289
244
266
363
193
350
291
312
347
362
336
381
293
255
362
291
332
339
296
317
322
306
285
300
301
315
250
289
348
377
266
275
309
259
321
329
322
242
308
251
217
307
321
342
370
363
340
312
252
297
319
310
317
301
421
287
233
346
390
297
309
363
263
267
367
274
300
389
329
291
282
332
377
340
270
293
328
300
247
306
316
372
272
346
306
287
262
299
308
347
306
304
338
358
301
260
267
317
386
265
293
367
337
285
265
317
317
284
316
300
245
335
351
366
309
279
351
311
329
360
336
310
335
235
291
385
307
411
252
306
329
307
325
299
357
352
427
349
289
335
338
291
328
297
236
336
347
318
303
259
255
305
254
345
338
332
283
335
345
377
268
274
322
316
341
267
252
350
307
347
227
288
302
291
357
286
307
342
260
312
258
347
322
329
332
348
358
285
311
320
354
247
200
328
277
352
325
273
323
337
359
349
304
314
384
214
345
338
312
344
371
262
326
343
267
316
292
310
380
392
291
293
319
306
304
298
312
334
260
333
301
235
300
385
241
305
286
317
305
349
288
306
337
329
260
327
347
437
397
312
286
380
332
395
264
286
364
342
343
278
331
272
300
299
348
231
235
360
343
238
356
338
353
262
323
338
343
282
351
341
314
340
276
239
306
342
244
344
374
348
258
383
292
313
302
363
337
272
291
298
280
331
300
365
362
347
377
322
306
345
312
344
294
331
314
314
288
268
304
286
366
247
308
270
309
240
352
292
304
313
281
333
333
349
341
304
349
354
326
321
321
373
278
370
401
310
313
301
314
294
315
296
310
283
330
339
278
254
246
329
359
271
350
338
313
259
255
357
270
435
284
300
292
284
348
292
425
222
386
293
275
292
266
288
285
276
278
381
282
281
344
339
267
376
265
265
289
323
294
308
342
303
345
344
324
379
281
279
357
283
222
220
275
333
293
280
306
265
365
427
298
278
407
308
273
355
396
319
344
307
291
329
267
358
380
345
233
357
266
340
297
331
282
341
301
216
347
344
317
325
248
232
348
269
369
299
354
331
343
392
328
327
372
282
246
349
353
338
302
341
383
336
320
306
296
340
339
337
250
353
309
234
387
190
363
313
318
312
289
340
327
366
407
220
291
246
210
317
355
315
298
306
363
312
314
417
311
297
296
347
289
304
326
348
279
289
381
331
331
328
296
302
294
285
302
326
334
275
395
280
293
289
280
287
325
330
306
328
290
359
363
339
365
383
332
317
359
371
356
339
338
303
328
302
314
334
273
338
374
327
299
374
364
291
325
305
300
293
311
319
361
250
293
247
263
343
189
297
274
431
277
390
294
362
294
327
333
282
233
306
352
307
316
347
270
223
297
350
271
307
323
333
280
375
297
344
294
336
312
320
258
243
335
203
315
323
304
334
276
257
290
297
366
279
261
368
302
322
400
342
412
334
400
317
336
338
255
255
341
362
335
400
306
322
311
310
232
331
248
381
339
347
321
325
317
325
325
365
260
336
387
376
260
293
278
333
334
361
346
409
380
345
346
406
270
286
346
410
238
306
315
323
236
377
362
263
282
320
353
270
296
292
289
188
390
367
332
359
268
368
393
414
316
306
293
350
311
345
335
360
207
268
309
275
285
411
320
353
270
389
359
338
424
201
363
364
248
304
360
297
304
354
358
354
384
288
392
321
356
292
257
291
347
319
286
324
335
274
362
301
301
342
248
270
404
309
289
332
346
344
289
343
209
344
326
372
318
302
262
357
377
373
326
417
302
287
332
314
318
290
313
284
386
227
276
377
293
347
415
329
371
297
321
315
326
292
292
287
273
339
384
278
291
284
294
304
272
299
331
400
287
340
308
327
336
267
281
296
328
288
241
326
313
279
289
266
335
356
310
360
302
334
322
245
296
334
293
396
298
252
342
323
359
257
366
438
303
417
331
202
265
269
265
325
301
248
206
295
387
301
324
244
302
351
337
346
289
284
281
292
352
314
380
280
336
295
372
343
338
320
334
325
291
351
373
321
342
375
230
332
392
258
320
350
325
399
317
404
273
340
273
346
286
321
232
335
257
352
279
280
262
351
290
309
365
335
303
438
320
331
341
270
311
315
318
374
267
283
306
359
314
273
294
361
280
335
281
328
388
331
276
257
285
294
249
390
265
335
337
281
286
267
323
371
312
250
321
284
377
352
314
239
337
331
369
339
278
342
321
265
315
276
311
263
332
320
361
362
301
256
416
252
449
275
273
338
284
291
317
207
222
301
326
341
319
416
317
299
229
361
371
247
271
278
319
344
372
330
306
260
280
299
367
362
288
322
299
321
305
367
330
312
302
306
269
322
358
240
402
359
367
378
340
269
342
362
270
291
220
306
347
275
327
368
314
342
350
470
271
257
284
297
337
385
329
376
391
292
304
202
334
340
255
242
447
283
271
340
238
294
317
318
251
286
251
313
342
218
410
310
229
328
264
368
346
361
350
267
402
346
318
296
268
370
353
232
273
264
392
301
301
352
377
351
359
319
251
257
313
263
298
327
320
299
278
281
385
305
277
316
297
306
295
254
380
321
362
311
284
306
294
301
357
284
376
320
258
310
301
298
288
340
315
291
236
226
327
298
326
339
314
271
308
262
312
396
385
262
334
351
260
300
353
333
251
346
331
373
426
349
260
302
320
317
337
253
304
349
304
312
319
321
311
344
300
359
308
282
278
274
370
345
371
369
274
367
290
358
275
262
299
295
276
258
367
286
241
335
305
388
298
281
373
387
343
311
311
286
312
302
263
303
269
342
315
290
315
326
305
275
360
300
368
292
202
268
366
342
348
275
301
370
289
361
322
321
250
287
338
314
386
316
327
319
335
327
286
327
399
277
345
309
306
281
340
331
331
354
338
291
359
248
436
427
356
329
278
342
323
330
271
368
309
319
322
344
373
374
323
248
286
296
319
331
360
335
281
302
384
220
352
334
344
318
310
353
280
388
356
357
371
317
318
261
240
328
307
319
309
303
270
301
328
296
201
304
337
343
299
363
257
381
347
374
201
320
293
341
305
315
352
282
363
332
331
327
295
370
381
321
440
282
285
326
311
348
322
315
313
370
351
334
267
308
325
337
312
341
335
291
341
368
348
346
334
314
358
217
304
285
302
295
330
374
330
262
286
328
354
323
351
341
382
309
322
257
277
313
331
377
332
394
268
364
275
381
311
301
327
336
291
314
376
382
315
402
265
366
378
255
259
285
267
248
275
242
264
256
302
338
290
332
295
340
387
322
221
366
256
315
399
284
317
296
297
371
298
382
304
312
376
298
330
210
373
397
347
274
288
313
374
299
351
264
326
267
321
271
386
337
308
248
320
195
373
381
272
328
312
250
349
371
290
321
343
385
236
324
341
317
264
244
344
301
322
246
294
324
343
346
364
372
331
326
358
298
301
244
224
250
348
321
364
324
250
295
292
213
379
292
390
304
350
295
326
319
397
310
268
292
329
331
329
400
336
368
335
311
289
306
264
324
332
278
333
365
345
359
307
281
289
315
336
344
373
316
308
268
310
276
329
303
286
341
344
319
290
289
291
309
381
352
374
196
325
355
304
284
331
309
302
262
367
209
336
274
277
355
358
369
219
255
352
265
295
364
342
334
284
344
358
368
374
283
333
290
362
390
325
340
288
271
304
321
251
353
329
323
247
396
307
336
342
367
279
331
281
326
224
332
295
296
277
339
275
374
293
281
302
251
356
252
378
250
348
387
352
349
323
310
292
331
333
323
307
339
335
341
175
353
367
368
287
262
309
317
293
256
312
338
347
355
415
265
291
270
384
351
256
380
313
371
324
378
313
374
352
295
310
245
273
349
285
398
319
314
407
334
317
244
242
315
281
316
256
264
230
322
292
347
279
338
348
304
281
321
312
289
344
341
342
315
260
275
289
263
273
267
263
298
297
303
295
354
349
281
310
374
330
306
326
312
373
343
343
273
323
329
325
314
279
317
453
338
358
399
294
261
317
350
315
322
340
279
308
311
319
361
300
333
336
326
298
356
364
311
376
355
345
273
376
293
298
307
235
368
295
283
294
370
402
317
335
332
330
363
416
313
358
296
255
272
295
260
357
345
357
339
302
312
360
341
448
315
335
299
324
291
390
331
310
308
171
305
309
302
357
343
279
321
385
273
383
312
374
303
309
334
351
226
316
304
347
323
347
377
388
316
368
364
343
230
329
329
417
281
269
302
433
349
364
398
285
335
307
365
354
248
370
291
270
329
380
308
329
349
294
338
337
390
356
232
216
335
262
389
243
331
245
359
364
348
233
302
316
304
327
409
352
326
422
368
393
385
310
332
332
304
338
275
314
325
346
324
394
288
317
258
329
298
243
288
317
232
316
338
349
293
378
292
341
260
316
331
314
450
257
322
361
316
346
339
289
287
361
337
323
302
254
276
348
337
336
205
326
340
272
322
318
219
355
364
325
306
294
342
347
257
251
269
333
266
245
366
436
342
247
317
374
369
308
289
351
327
334
404
282
309
311
280
307
279
292
305
262
253
327
358
331
299
334
297
304
294
343
358
307
349
330
341
321
351
317
394
291
264
389
301
322
377
310
230
333
261
375
417
258
299
287
291
317
258
333
349
342
290
345
219
302
334
374
280
325
347
305
349
292
269
292
320
340
312
362
347
241
333
247
319
305
326
320
354
313
308
307
287
311
307
354
327
261
316
244
304
283
348
281
369
295
364
354
298
299
292
297
315
251
380
345
294
297
324
368
376
293
354
358
302
265
317
275
399
351
271
309
320
313
252
333
341
336
364
286
316
276
328
364
359
362
342
308
335
345
348
313
385
299
279
332
233
349
266
242
326
303
328
275
363
266
273
367
322
361
304
324
267
303
342
325
316
293
379
220
276
289
291
334
328
365
297
362
284
274
246
255
275
256
372
355
381
287
423
358
251
295
409
324
254
242
360
259
308
353
302
292
282
333
312
328
262
354
237
324
319
331
328
257
329
260
320
325
256
249
328
259
365
356
346
259
349
370
293
238
366
263
300
325
262
241
353
346
374
271
324
269
262
325
356
341
288
336
280
353
318
319
320
338
360
305
371
246
269
370
283
317
331
264
393
413
201
351
344
269
325
391
368
318
294
360
315
320
294
385
277
264
361
367
336
290
321
337
342
355
380
261
319
297
334
316
334
360
244
381
350
274
306
283
387
349
388
271
317
333
261
311
243
290
379
315
331
338
397
333
234
396
345
416
314
290
306
374
264
287
278
321
276
357
341
308
314
295
397
308
268
280
191
255
308
379
339
183
247
275
347
327
345
330
360
258
371
310
337
275
317
341
348
331
315
390
287
378
257
334
274
322
341
351
288
288
406
380
358
286
368
288
287
377
337
299
330
282
305
357
331
324
310
303
299
408
337
383
312
331
368
269
254
292
285
229
314
225
383
363
274
329
410
292
372
317
365
316
374
294
278
362
302
217
357
366
326
290
378
317
316
312
400
371
266
344
320
273
349
310
257
355
379
303
327
246
243
343
293
306
361
303
321
353
324
273
256
341
264
228
296
354
350
323
349
282
337
375
338
347
301
337
392
281
350
291
402
228
212
232
311
345
273
258
355
278
262
264
257
301
264
366
287
336
331
304
296
309
264
358
364
240
327
296
364
322
291
346
268
309
338
193
297
290
330
319
333
297
355
303
277
318
318
349
253
304
349
283
334
297
223
372
313
294
409
304
380
308
320
350
265
248
291
413
330
287
335
374
293
275
308
316
229
261
356
264
269
238
333
269
348
287
362
369
348
314
277
351
337
270
356
267
388
377
298
361
342
264
220
313
273
298
377
292
336
302
305
285
322
332
300
279
324
299
420
276
348
346
326
330
305
353
278
289
272
352
364
339
335
318
314
254
312
332
228
369
347
350
329
304
330
382
341
298
262
334
389
276
338
248
337
227
282
202
324
269
329
356
377
243
341
363
271
207
278
410
379
346
337
353
325
297
303
277
341
299
305
341
341
339
274
277
284
335
330
346
321
347
246
289
239
299
347
281
251
343
306
368
358
371
307
323
340
305
341
317
313
302
277
276
364
243
295
292
298
332
320
260
321
294
279
308
338
376
277
342
341
279
310
296
285
324
275
354
381
260
301
331
237
271
301
259
391
299
364
252
267
296
315
359
332
283
323
322
308
309
302
350
206
357
326
333
184
298
317
364
388
329
279
270
378
310
283
338
275
299
345
320
168
288
321
283
311
313
289
308
347
324
325
280
318
243
364
346
375
297
239
365
286
353
356
393
296
356
275
362
327
325
264
219
247
270
329
302
310
339
315
289
314
318
322
359
317
418
376
297
360
351
377
274
302
284
296
320
255
192
379
384
304
319
305
300
359
356
339
276
375
289
250
336
367
293
301
367
354
293
320
357
287
323
351
349
295
355
412
269
323
330
305
429
326
333
347
389
468
414
388
276
280
325
344
289
256
298
360
304
310
325
278
374
252
346
305
336
312
413
331
294
250
233
315
309
325
331
271
321
333
396
314
318
330
298
352
405
402
412
254
396
272
309
374
274
343
206
302
306
312
287
261
330
277
307
317
346
329
324
286
338
350
271
296
233
312
344
289
316
315
281
230
294
298
318
293
311
335
371
323
297
286
289
411
327
268
319
320
381
288
377
333
286
327
416
284
356
324
275
293
376
385
379
258
367
345
233
257
312
308
290
378
373
327
345
378
344
285
307
236
282
338
269
357
316
319
332
326
285
295
269
325
347
309
311
293
379
354
222
340
275
361
310
262
323
283
320
279
356
290
275
316
344
314
338
390
353
424
331
307
345
339
227
258
292
417
291
243
361
274
323
285
180
329
303
345
251
337
363
319
302
389
395
338
263
277
303
303
208
329
349
308
294
327
386
316
340
322
352
263
262
286
305
302
308
314
272
274
286
255
268
289
342
293
347
280
291
263
340
342
268
342
307
300
281
253
246
361
364
364
312
311
308
313
248
334
320
368
362
270
283
379
287
335
284
355
293
311
387
367
341
347
229
313
311
346
308
266
293
355
310
305
324
268
297
307
290
295
334
309
287
261
277
299
274
313
394
309
321
350
325
348
302
243
343
288
366
326
302
343
356
344
359
290
290
308
266
320
337
314
369
306
293
349
388
351
295
258
334
326
267
345
257
325
317
284
304
280
304
360
258
266
310
314
258
387
377
336
363
316
318
341
355
360
234
284
371
334
264
276
359
290
311
368
337
311
295
330
291
343
323
384
284
330
350
387
330
305
317
344
363
322
343
276
285
325
365
370
260
384
244
340
247
357
426
236
257
201
379
324
272
333
283
322
272
302
236
367
285
311
302
337
298
319
335
295
324
317
253
372
354
361
315
362
293
280
350
293
321
407
330
273
325
369
321
343
386
298
304
248
323
336
277
253
320
245
338
246
310
334
237
276
366
379
225
396
351
318
322
304
213
267
343
350
382
283
362
302
366
350
394
359
284
306
290
306
307
368
258
236
345
328
288
263
317
306
181
280
225
332
328
310
334
262
318
408
265
282
291
256
314
314
335
282
353
308
278
309
270
324
380
248
247
350
284
300
301
244
303
286
265
309
276
335
260
370
256
265
345
265
264
322
363
259
345
296
355
378
344
341
297
303
321
301
350
367
342
332
357
373
358
321
336
294
238
261
358
360
298
372
298
360
352
306
336
330
358
267
351
233
252
275
301
366
331
278
304
378
308
229
251
425
287
277
358
365
218
263
269
355
359
367
391
314
348
359
343
279
290
355
285
365
282
288
279
361
305
233
329
377
270
378
221
305
310
318
326
351
276
292
284
311
347
350
273
274
250
263
321
333
328
296
291
333
334
293
302
344
345
287
318
231
321
292
333
289
290
340
272
308
378
242
231
331
228
414
234
322
256
334
202
228
246
248
286
324
337
332
333
369
372
338
313
314
332
317
337
364
293
283
275
283
295
326
389
347
315
255
336
228
310
374
209
403
313
215
299
282
342
348
301
378
305
321
306
246
352
301
320
331
379
293
306
279
236
335
300
330
369
285
274
334
393
299
280
281
278
367
276
300
426
291
362
386
269
341
323
327
320
296
243
333
324
351
363
404
393
331
251
325
337
363
305
360
305
265
420
393
326
221
291
296
382
264
323
223
360
340
313
366
329
298
358
337
363
331
387
275
344
331
337
347
338
346
345
381
299
331
246
301
285
313
195
371
382
359
340
391
299
258
257
359
329
260
262
297
272
255
297
300
428
337
273
343
383
334
297
273
323
273
308
275
213
360
374
366
402
283
354
290
283
364
252
287
393
300
299
289
285
273
270
292
333
371
310
367
297
341
308
409
306
242
318
357
337
194
241
243
407
339
213
400
221
376
361
268
311
272
215
343
363
269
325
279
385
371
267
251
273
332
228
283
297
296
378
342
301
320
310
286
343
292
292
282
345
306
372
257
316
335
328
358
274
345
357
307
381
311
346
305
251
231
373
338
392
309
363
339
416
327
260
266
380
285
345
379
275
288
315
293
336
370
251
316
259
280
348
332
276
366
298
300
320
350
374
278
316
319
265
332
326
303
251
354
380
296
336
260
293
397
348
340
304
316
345
229
374
328
361
301
359
375
319
315
250
356
349
336
317
358
305
335
315
293
340
330
278
280
309
353
294
288
261
248
287
401
283
260
312
279
367
298
352
361
317
332
397
332
355
254
302
338
251
322
372
258
274
312
363
233
307
333
379
273
309
299
304
406
311
279
273
312
236
291
282
381
307
239
236
311
312
323
291
342
354
301
330
357
261
318
321
357
280
430
327
253
309
366
344
265
278
333
260
262
289
278
339
400
307
277
373
316
206
350
291
249
351
225
387
380
366
287
276
316
271
333
386
246
340
335
331
357
279
344
308
287
258
279
358
270
318
279
295
334
319
325
276
297
263
320
328
325
347
361
356
365
296
416
275
317
296
297
309
365
267
316
291
308
334
233
345
236
334
294
291
315
302
329
327
332
333
263
169
238
331
300
293
242
287
370
318
376
384
271
313
310
222
302
267
247
334
280
280
383
351
278
352
321
283
267
303
325
279
300
261
303
341
288
318
259
329
291
277
318
354
229
344
340
295
357
265
217
290
353
313
332
329
353
297
281
247
346
282
311
330
276
301
308
290
371
286
276
340
300
242
301
278
366
295
245
239
321
288
364
351
323
325
242
389
247
374
346
310
344
367
314
405
306
263
293
354
248
244
322
291
329
311
357
317
384
307
217
266
379
332
270
305
292
280
345
263
317
316
313
331
243
299
317
375
257
334
316
300
320
330
315
292
327
318
436
274
314
272
269
430
390
381
307
348
336
371
309
287
346
302
415
386
321
266
396
350
242
285
342
304
251
273
379
327
303
319
333
378
309
289
295
292
401
319
313
383
385
335
336
333
359
225
369
277
335
202
322
342
316
377
238
212
332
342
280
239
297
382
255
341
317
346
330
332
334
325
295
271
330
338
405
328
317
361
265
266
400
322
296
401
298
263
232
409
328
299
314
348
288
292
296
282
336
290
213
373
298
305
313
249
334
297
339
280
334
282
301
281
326
264
339
351
391
345
291
331
268
279
317
278
300
227
346
308
291
376
362
326
337
313
312
386
432
317
384
295
272
349
328
360
288
277
338
361
330
231
280
349
366
266
308
370
312
289
364
357
278
359
255
289
290
280
266
334
299
300
282
316
384
309
334
333
266
287
300
290
259
336
302
322
224
333
299
302
282
329
300
253
301
281
313
253
302
382
319
266
367
324
238
310
376
398
288
323
324
373
322
367
362
262
280
308
339
251
411
320
325
369
343
291
290
370
239
324
335
271
294
383
293
335
344
347
395
302
302
332
292
340
342
363
371
371
413
291
285
281
407
326
312
319
318
344
366
371
318
298
350
277
382
226
358
276
304
342
309
324
277
288
368
350
349
291
338
334
399
300
270
291
308
372
304
384
286
340
242
228
286
338
256
281
341
318
381
325
256
295
321
369
395
263
392
290
315
294
330
297
334
303
313
285
231
311
274
354
290
278
292
360
210
357
342
257
377
285
320
219
317
335
243
301
313
319
319
292
309
306
403
271
325
370
304
349
255
381
331
236
363
343
295
312
369
370
252
393
319
337
318
339
407
328
319
298
358
312
263
279
261
227
269
282
293
252
374
307
365
345
406
398
306
286
273
306
300
284
339
260
370
338
340
377
249
337
293
239
244
418
335
402
330
310
362
268
333
260
322
320
243
390
349
284
279
337
270
281
343
279
310
222
357
290
312
352
364
390
342
369
315
365
333
318
319
268
236
321
310
226
348
350
269
307
312
186
313
339
287
262
254
303
439
254
240
314
231
302
308
235
337
314
329
316
357
361
345
285
290
292
373
306
311
370
261
330
317
292
268
369
269
308
430
382
314
316
359
330
310
335
335
314
253
352
323
242
321
371
237
350
348
257
298
387
413
420
341
368
299
307
327
246
259
392
333
331
167
301
316
347
363
295
211
350
322
319
298
414
314
285
366
267
310
306
253
311
312
322
294
383
382
395
311
288
381
337
295
320
313
338
321
353
363
375
314
383
288
281
309
325
292
361
287
268
285
347
405
341
347
320
266
311
341
329
245
268
329
283
397
265
349
251
290
317
276
348
277
290
300
414
340
357
287
298
322
210
282
349
346
371
379
215
345
288
339
306
307
296
326
304
312
309
355
356
316
363
262
322
271
268
273
376
333
294
346
234
284
356
303
269
273
267
389
390
382
272
350
374
293
309
285
312
306
347
275
354
305
282
356
367
367
350
354
297
344
263
331
294
365
347
373
264
334
356
312
238
356
274
297
333
234
283
320
284
219
209
357
264
301
298
330
300
321
304
341
285
307
288
279
273
292
261
292
290
259
247
288
261
331
388
292
326
373
311
382
323
335
328
327
345
358
274
384
276
249
347
289
318
359
340
395
316
293
332
299
287
305
302
270
272
302
327
191
258
377
254
316
406
364
285
277
344
342
251
349
324
282
279
417
265
333
249
338
247
246
350
365
375
275
368
266
270
260
364
336
332
280
265
336
366
215
352
353
365
332
276
327
322
303
297
277
319
375
292
296
314
230
306
258
233
317
283
290
298
306
369
343
216
359
380
396
352
273
302
424
371
336
313
285
270
366
231
320
206
191
279
339
331
326
372
323
246
356
323
312
299
390
283
279
313
355
303
280
289
343
341
292
314
384
365
301
336
274
249
218
289
352
234
260
343
317
399
357
276
338
331
231
289
272
279
338
248
273
323
269
361
297
309
381
267
259
369
381
332
266
428
317
327
305
277
383
281
245
346
367
320
346
320
344
259
283
258
308
271
286
269
319
272
249
385
317
420
362
297
333
246
334
232
269
299
202
420
306
380
337
303
399
205
381
346
271
386
353
237
301
297
378
248
299
269
229
402
321
321
274
236
335
357
369
246
350
329
300
394
272
376
331
389
390
337
302
294
412
339
397
289
353
241
368
309
272
326
339
391
386
312
333
298
378
272
305
321
336
373
346
336
329
280
275
360
280
328
337
314
375
260
432
401
264
304
259
342
379
217
268
359
327
340
329
295
360
304
356
339
312
345
318
293
283
390
252
251
336
280
332
260
230
374
258
260
315
300
264
318
258
311
256
353
280
347
203
291
264
304
281
262
288
204
257
311
330
290
275
339
389
294
337
357
419
334
306
265
341
261
285
303
288
275
374
298
236
284
298
329
321
302
310
365
261
236
324
323
251
341
307
302
320
359
292
345
374
265
330
255
293
288
370
358
352
315
288
299
319
328
338
356
283
293
317
358
372
302
295
373
245
335
314
288
318
331
298
308
285
354
327
233
342
348
339
272
336
274
290
330
360
369
296
331
314
246
354
358
350
432
266
369
356
383
308
270
277
349
335
330
371
225
297
387
256
367
349
360
273
199
298
237
335
374
369
348
326
300
338
223
298
339
306
393
266
287
278
332
317
293
360
382
357
280
281
234
325
275
383
282
345
326
324
403
342
279
325
331
273
328
292
334
294
277
341
347
342
258
297
267
249
269
401
179
313
321
291
320
308
387
377
259
283
332
420
301
319
409
395
345
308
274
235
331
306
260
316
290
259
276
355
281
247
313
336
372
262
227
294
301
346
340
385
337
368
355
318
362
294
226
286
308
294
349
362
333
357
357
333
303
294
303
384
238
348
354
334
334
374
394
253
378
323
337
312
315
245
326
290
338
303
277
227
273
358
305
329
306
343
225
335
367
285
335
285
366
285
367
337
272
314
317
232
323
370
292
292
245
317
361
342
419
329
319
277
334
374
271
336
347
291
345
272
315
264
269
244
273
332
322
338
299
278
356
327
306
358
319
290
419
305
336
319
349
275
340
248
364
270
357
350
263
377
272
323
334
377
407
206
337
370
342
338
313
345
316
289
271
263
266
340
285
258
330
251
269
288
354
354
255
349
299
302
332
377
361
266
363
348
350
346
273
319
300
339
327
330
254
353
369
307
350
328
285
318
367
361
271
387
366
352
289
362
243
349
300
258
352
338
292
373
365
298
321
336
312
293
292
295
287
266
394
329
284
276
366
342
317
282
378
386
276
324
387
267
363
345
291
393
356
303
242
339
317
313
304
358
344
254
295
336
291
282
243
271
331
298
289
358
374
322
262
299
249
280
408
381
288
365
410
336
316
403
348
288
266
313
281
232
275
286
310
263
326
364
241
297
282
283
273
328
274
224
266
303
309
356
364
316
316
244
281
309
275
348
263
368
296
286
286
313
273
213
321
285
272
302
356
294
271
286
390
341
324
350
379
328
277
328
294
349
292
310
266
323
383
345
353
338
335
262
345
261
252
265
247
318
281
286
291
310
282
389
380
427
364
326
393
291
259
397
351
312
370
332
406
279
440
364
251
353
283
393
287
362
261
309
302
285
276
399
320
417
344
282
263
359
350
286
297
302
298
256
287
359
346
346
323
315
403
328
386
305
354
331
296
309
317
320
271
287
242
349
319
239
336
374
398
275
263
334
322
302
246
382
382
370
341
334
292
244
318
365
309
321
325
271
294
313
325
340
312
361
292
305
251
248
312
346
267
228
296
345
300
226
327
290
272
335
225
334
297
396
345
289
287
308
341
342
360
282
306
329
242
347
274
337
375
308
306
246
380
362
244
300
327
349
373
410
318
345
284
316
283
303
289
335
406
382
329
377
299
403
274
349
337
317
349
266
235
285
242
351
285
289
317
424
325
396
281
252
371
333
343
286
370
263
341
254
353
341
276
303
326
241
291
377
324
329
348
342
291
339
346
342
373
343
325
344
265
271
235
177
282
292
276
242
351
367
377
293
307
293
283
281
370
354
341
321
320
309
296
289
377
351
282
336
356
330
305
283
355
334
299
344
310
236
384
319
335
364
287
337
293
281
293
310
311
312
249
308
347
246
235
320
306
351
373
396
273
296
337
410
234
312
276
256
336
321
249
232
317
328
377
340
370
305
285
338
269
260
368
360
276
263
294
374
254
285
255
328
325
328
326
396
303
336
328
308
364
313
298
279
351
420
338
301
300
240
353
299
330
352
321
313
369
293
323
268
210
325
272
296
302
344
259
220
274
254
210
343
343
328
405
367
284
303
336
295
367
228
360
295
261
299
332
320
343
316
247
326
274
237
300
355
252
354
335
240
369
364
370
191
369
346
366
278
312
284
324
327
368
386
292
360
404
258
342
370
233
252
374
328
307
353
218
327
319
290
265
308
314
348
367
298
332
272
288
359
345
345
307
389
373
333
311
289
288
339
252
289
285
328
253
366
338
309
324
337
258
243
289
370
300
380
387
290
288
292
291
312
309
305
374
306
338
260
351
207
250
251
412
250
323
328
320
255
306
304
322
243
305
323
382
317
365
273
275
292
285
318
353
380
298
314
274
379
393
331
366
290
353
254
298
325
392
334
240
268
303
286
288
294
317
317
331
381
355
233
303
335
317
324
281
320
269
369
402
282
261
310
313
335
332
302
323
292
317
213
269
372
324
359
411
315
301
315
325
240
394
272
340
329
358
261
294
330
266
337
300
286
337
377
299
311
404
335
327
399
253
311
266
267
372
245
219
415
336
338
369
348
253
404
351
263
361
335
324
355
313
407
293
310
329
344
292
341
337
262
300
302
300
289
349
260
331
352
307
361
280
278
353
352
322
344
368
274
323
365
348
385
370
335
319
326
285
389
291
306
330
330
311
279
333
316
245
329
407
326
295
333
292
344
316
240
331
343
327
329
337
264
318
321
320
193
318
320
310
336
294
342
298
282
306
311
358
284
347
304
339
328
297
353
237
346
334
332
364
349
387
279
317
267
360
312
256
343
234
355
352
292
245
343
295
282
322
365
284
291
336
304
304
165
271
280
307
290
355
252
295
343
347
341
391
298
262
279
365
355
209
245
361
353
368
354
338
298
287
331
296
388
334
288
346
245
291
410
203
326
382
286
363
390
331
321
234
330
326
349
306
321
344
302
318
376
295
300
285
276
291
246
305
325
340
300
353
360
294
265
344
271
328
244
331
389
280
390
265
325
246
294
268
373
284
342
305
327
279
316
360
265
308
287
333
403
312
352
306
232
292
417
384
249
255
286
300
368
277
223
349
311
310
293
335
322
288
259
288
269
359
351
269
270
350
260
333
322
318
354
303
328
370
328
278
279
283
328
347
406
357
380
231
313
317
376
243
279
244
299
406
378
307
296
355
257
335
226
292
300
268
253
362
384
326
355
304
286
414
360
344
301
304
332
353
397
336
308
289
252
319
329
308
268
341
320
255
301
315
360
332
287
322
331
365
320
346
283
332
352
308
319
285
272
338
242
268
333
358
327
344
306
270
371
293
322
312
283
299
336
198
309
268
237
380
354
250
322
349
270
350
296
381
338
340
253
294
291
381
343
319
259
352
338
300
263
345
297
277
331
350
295
297
398
319
242
326
225
421
328
264
333
257
330
316
271
359
264
237
320
328
274
345
308
396
283
281
324
294
254
362
296
347
284
314
217
324
329
298
268
352
343
280
369
270
401
311
320
300
360
290
345
242
318
265
302
342
334
341
369
215
313
363
304
314
283
387
319
267
225
338
363
333
307
287
372
304
332
336
306
371
293
331
297
295
320
351
452
348
280
325
347
243
346
220
285
284
289
237
284
307
346
263
225
239
323
311
279
262
302
286
325
344
348
359
301
360
370
359
311
375
297
287
315
335
323
341
325
287
402
322
318
276
403
277
348
319
334
291
311
349
323
319
337
285
346
249
342
365
302
292
341
321
299
311
343
334
276
355
380
318
320
266
336
282
339
326
359
304
391
376
310
388
339
355
271
396
301
306
288
362
316
241
341
408
374
358
336
266
359
363
321
305
324
355
314
269
277
351
348
312
316
338
356
355
385
328
343
338
313
276
302
341
276
296
323
291
392
307
294
320
350
300
327
250
231
314
314
298
332
327
359
312
328
347
279
320
366
281
315
317
380
346
358
332
332
334
361
241
308
333
278
381
307
310
384
236
223
335
418
297
387
367
296
363
221
314
295
271
328
282
310
327
293
260
369
308
339
322
303
339
387
253
307
307
287
277
303
306
281
400
370
314
314
332
304
296
347
302
383
392
312
280
341
303
386
403
252
227
236
341
369
257
383
308
329
324
327
331
293
193
276
296
248
280
301
325
345
233
280
357
376
319
279
332
295
282
355
217
240
419
451
218
342
299
356
260
373
285
237
343
346
316
376
338
374
257
247
301
343
361
363
265
252
316
310
321
244
335
330
396
266
412
253
246
289
370
226
349
345
298
249
306
236
266
354
327
311
328
334
266
306
392
234
323
355
404
313
328
273
367
283
220
310
303
327
338
356
331
327
241
315
318
328
366
307
299
277
345
329
313
373
306
247
309
370
335
327
263
328
281
253
401
399
322
260
324
382
351
316
314
361
249
338
356
278
339
341
376
291
333
255
323
351
321
255
293
363
267
295
256
315
301
362
301
296
310
318
292
292
358
317
309
261
291
360
400
292
278
208
303
279
340
348
377
283
345
381
326
251
392
246
227
243
293
283
258
252
282
281
311
255
365
290
235
289
236
328
340
328
322
327
353
363
350
240
330
308
320
292
290
283
283
356
305
375
383
353
346
304
249
340
354
361
310
338
340
391
284
245
286
185
283
394
362
357
306
354
269
319
312
320
384
377
316
293
322
336
322
272
315
324
298
348
226
289
296
349
290
348
255
344
220
265
274
356
277
332
345
311
316
292
317
334
240
275
329
317
282
340
293
272
356
343
285
342
334
261
286
409
338
227
268
333
354
223
367
360
347
335
237
356
272
281
344
313
308
259
204
291
297
315
344
271
281
322
320
343
267
321
398
247
258
285
245
270
385
274
352
263
291
296
355
337
360
312
373
335
334
303
333
334
329
284
318
262
361
311
268
346
434
389
308
313
311
400
318
305
345
259
338
272
363
278
250
338
293
345
317
344
294
239
434
315
320
252
303
315
300
273
219
265
294
220
297
252
377
375
356
366
375
344
352
273
340
272
284
333
311
354
310
309
278
386
314
306
337
328
355
331
404
336
384
323
337
344
361
283
310
317
290
310
289
357
306
318
383
313
293
313
298
299
284
360
315
254
327
229
312
338
303
223
312
303
278
295
310
330
308
305
273
345
247
334
281
368
290
276
381
364
299
292
317
304
311
281
351
252
240
261
353
317
259
290
312
304
324
332
417
321
287
332
341
346
273
309
232
320
337
313
331
256
252
323
338
348
383
295
385
366
331
295
361
283
270
307
345
291
335
304
406
346
320
371
408
358
342
376
292
332
341
271
296
288
267
215
311
315
318
260
306
328
401
262
405
355
250
324
236
244
295
282
356
327
265
296
332
334
371
357
285
343
304
395
320
292
229
308
326
336
346
293
393
366
372
219
347
355
386
292
358
260
311
311
312
298
285
310
300
295
337
322
345
370
303
231
374
338
290
246
325
271
334
309
379
248
305
303
358
341
301
301
261
293
335
296
238
347
344
441
286
321
272
331
342
345
301
321
348
410
285
290
342
375
305
310
330
328
362
365
337
357
267
347
328
251
223
292
296
289
258
357
276
360
261
335
347
328
263
315
333
320
350
309
278
345
326
379
304
280
342
353
333
279
363
394
309
382
276
324
232
419
208
289
362
261
261
364
274
315
288
292
329
246
253
374
274
348
317
407
397
354
356
374
267
329
392
276
300
269
328
370
312
304
334
302
267
299
226
260
262
327
354
300
315
300
353
352
292
306
245
279
300
301
305
248
354
374
321
282
312
349
357
372
234
319
355
371
393
276
355
337
222
320
376
305
379
250
361
298
235
329
281
275
326
346
280
325
263
270
355
282
373
326
207
336
312
363
343
296
336
303
349
341
272
336
338
425
325
342
305
380
352
261
241
336
297
227
244
278
302
291
283
314
273
323
292
256
306
277
310
330
335
290
250
306
281
292
330
289
410
339
280
314
257
327
207
277
255
371
350
371
364
253
395
307
369
226
228
309
279
318
318
338
362
320
348
274
258
291
326
370
271
322
321
341
340
343
236
321
264
276
291
325
240
330
310
296
371
314
277
371
347
163
278
344
314
334
371
303
332
321
289
390
322
308
293
318
308
348
355
367
259
359
378
334
241
345
321
231
379
379
255
318
262
274
294
248
195
278
350
270
331
267
335
354
336
257
257
346
328
291
318
257
345
306
315
339
289
392
307
261
378
268
304
292
337
308
253
362
333
330
323
352
291
301
321
317
262
289
340
319
291
357
320
344
261
310
322
277
279
340
345
313
321
286
331
301
325
346
329
373
349
337
299
341
329
302
355
312
270
352
273
339
310
247
341
350
229
307
295
420
370
261
359
263
265
316
308
353
353
307
289
343
266
304
358
312
313
283
342
343
238
300
278
247
310
249
293
260
285
346
296
334
330
284
263
318
205
327
328
302
400
324
304
249
287
314
299
348
298
399
253
351
299
379
305
280
367
280
322
366
342
279
320
353
290
313
401
349
337
360
350
348
357
274
289
311
348
304
277
323
313
284
294
308
334
327
363
341
342
315
295
391
352
295
300
312
261
277
320
315
299
269
331
287
337
359
316
289
263
330
310
269
332
257
371
336
328
375
362
325
279
382
380
359
228
298
351
394
360
343
312
333
342
358
411
434
326
343
274
332
290
304
286
345
327
285
256
266
384
222
217
265
311
328
344
287
310
344
348
360
299
359
288
323
358
340
239
370
266
324
273
310
305
320
284
317
316
368
325
337
276
312
345
362
294
246
307
312
282
308
296
335
378
251
259
326
318
383
403
339
343
293
368
269
372
321
256
331
340
226
249
322
320
323
396
254
235
289
373
270
330
272
346
314
328
305
290
289
293
292
359
303
298
323
278
355
369
307
268
308
335
336
322
331
354
316
354
293
209
298
302
316
400
326
282
296
271
297
288
324
270
322
385
291
370
327
304
374
314
362
289
290
365
315
279
336
303
363
296
324
314
315
315
354
355
308
294
360
339
300
335
376
309
221
258
390
302
312
319
296
334
332
305
266
363
301
279
235
380
369
358
284
351
288
300
317
313
348
291
293
167
268
357
294
326
266
306
306
255
293
355
334
314
337
374
234
319
328
307
254
310
381
298
252
302
303
383
358
331
283
251
352
349
268
309
351
346
255
369
303
327
321
277
325
267
376
394
249
359
355
328
298
309
329
344
319
319
312
352
348
298
324
303
301
326
260
347
368
349
295
284
303
285
252
294
383
310
337
306
322
306
316
254
277
391
247
309
405
358
199
323
319
344
307
326
301
218
297
279
297
294
315
406
330
352
293
269
253
333
266
247
329
308
372
290
276
402
323
267
285
285
265
295
335
328
289
249
288
285
260
334
319
342
331
354
315
258
430
290
361
311
324
403
330
295
325
280
272
439
179
282
346
310
329
369
336
259
304
276
280
307
316
280
337
337
294
244
319
341
346
297
324
361
433
319
440
329
346
357
399
345
346
327
320
432
316
328
278
315
235
292
225
395
311
388
302
347
325
337
301
298
343
304
385
383
378
364
292
296
302
334
328
259
340
301
325
366
326
269
360
297
307
370
382
363
325
270
285
340
295
355
305
334
258
224
365
320
318
316
355
261
328
311
335
368
348
312
345
358
302
256
273
407
305
324
362
428
384
301
316
272
267
287
345
336
362
209
299
327
396
281
230
385
295
325
320
329
318
333
328
297
240
372
286
252
281
308
299
250
317
325
299
368
352
361
318
242
353
255
308
378
294
291
283
434
385
246
299
326
330
350
301
266
279
289
274
324
292
369
311
244
383
325
385
292
277
256
321
336
320
269
327
316
314
304
211
294
326
349
338
296
358
336
328
291
332
337
370
309
294
316
325
342
334
325
404
333
349
325
326
256
254
279
243
331
361
252
217
397
242
337
373
337
300
305
343
252
327
322
264
261
312
357
334
347
319
257
394
345
271
296
312
253
381
313
247
328
280
287
337
274
344
307
362
263
318
321
254
350
339
296
264
273
326
333
282
287
451
373
343
395
262
399
241
212
332
309
303
245
236
332
312
329
274
288
302
294
318
281
290
274
348
347
242
308
318
344
293
297
268
311
311
381
309
306
417
335
229
379
345
356
295
296
341
302
409
423
339
331
285
309
283
293
356
266
309
295
241
415
308
266
294
352
322
317
298
286
335
156
275
322
308
335
292
361
293
391
243
270
320
265
333
242
291
318
260
338
283
324
331
296
307
284
349
409
289
365
393
390
332
357
372
354
254
368
320
356
243
261
425
273
313
362
355
276
306
359
335
329
301
359
305
263
300
357
407
343
304
339
219
395
263
302
350
290
301
293
329
322
301
331
192
281
379
289
314
283
376
276
348
225
314
350
361
293
331
295
294
289
265
309
304
305
311
379
391
271
318
318
343
334
345
362
350
272
218
321
289
295
333
250
335
272
335
284
328
248
277
298
264
316
349
378
332
307
331
265
408
288
357
367
324
311
337
300
346
361
260
391
290
457
299
236
294
367
334
325
317
355
286
353
279
208
317
263
323
271
343
232
303
269
336
330
337
302
278
424
303
390
289
286
279
296
312
284
353
341
318
338
348
372
283
330
286
343
263
227
400
245
318
265
351
348
328
261
305
198
382
306
255
312
365
319
325
397
307
281
295
307
264
304
303
293
345
346
345
424
361
338
274
256
299
251
378
351
339
295
276
288
269
354
351
293
296
314
360
355
306
295
303
363
321
255
323
309
301
346
279
314
293
316
390
273
284
234
343
291
296
398
368
351
341
322
353
222
301
316
323
333
356
283
295
352
290
357
387
272
282
279
282
291
305
318
332
319
361
284
323
302
315
301
326
373
240
313
390
356
335
314
315
338
297
370
357
347
263
301
347
361
347
399
331
330
229
315
295
286
298
370
385
346
341
307
278
288
333
295
279
273
296
336
316
341
307
236
350
330
358
341
373
311
338
297
324
368
290
277
273
306
306
309
329
254
354
341
332
346
305
302
308
253
292
392
277
287
306
244
318
320
353
323
307
279
293
332
286
322
287
323
297
251
335
365
319
269
275
299
325
388
255
366
175
235
315
304
325
420
410
337
298
307
361
282
353
230
324
311
332
358
281
324
233
381
198
296
399
254
228
322
327
270
294
279
306
238
365
297
324
332
323
276
320
212
328
336
297
286
293
384
324
367
332
316
254
287
296
332
361
321
269
388
358
318
389
313
345
270
354
337
416
381
319
264
205
330
263
333
322
340
335
264
226
247
315
327
333
335
366
288
288
278
228
362
383
331
199
246
362
265
362
330
372
209
314
226
332
344
309
346
379
279
365
283
427
323
291
264
282
418
320
381
338
263
308
310
371
292
360
388
216
428
322
299
255
253
324
374
343
333
290
219
422
342
289
362
268
296
294
266
345
218
326
278
388
328
276
277
282
287
252
268
341
353
326
266
284
284
295
319
329
387
275
359
281
370
322
357
287
301
335
361
306
380
402
358
375
361
270
305
386
398
366
251
351
208
302
334
249
274
273
251
345
269
324
258
325
278
336
317
385
318
354
201
325
356
256
273
300
352
255
395
275
309
235
239
351
383
268
409
280
256
241
318
209
344
276
369
325
300
280
259
342
371
353
347
229
270
306
268
294
282
315
341
274
280
330
320
343
358
316
418
272
307
315
380
295
313
316
357
330
386
310
355
303
310
345
312
252
298
374
347
353
248
290
363
294
328
397
363
279
270
258
296
369
299
343
356
245
361
287
277
337
405
277
316
314
352
323
349
326
372
334
418
330
327
337
293
337
368
336
318
396
327
356
241
354
303
295
240
381
272
318
375
335
355
344
287
333
309
340
323
255
340
236
318
267
329
293
312
334
313
282
315
214
321
262
364
283
409
354
322
286
345
382
293
280
311
354
353
325
360
219
304
285
293
418
365
261
275
351
381
339
342
276
297
261
345
323
277
322
312
280
303
318
296
387
345
211
349
313
343
307
363
249
300
350
323
326
237
319
222
279
271
396
285
305
326
303
216
306
314
306
318
338
341
241
240
366
363
283
283
307
390
358
333
314
307
297
298
259
322
301
311
310
298
251
284
351
324
398
346
305
354
292
277
254
306
270
252
245
316
249
333
274
300
288
328
223
342
313
416
265
287
283
401
351
359
286
314
277
433
213
216
278
366
304
275
320
351
334
298
312
316
284
321
283
224
223
328
347
305
348
324
353
139
213
365
341
266
248
300
391
295
374
371
291
291
355
331
288
321
320
305
277
266
329
406
330
244
333
288
328
274
312
256
199
237
327
300
319
355
297
268
314
351
338
312
380
308
318
348
362
326
244
338
346
247
310
313
344
393
325
278
311
381
257
195
315
301
286
325
354
309
383
248
286
281
307
358
257
288
322
341
329
290
371
310
301
356
405
355
373
289
367
327
333
346
421
255
285
290
332
365
360
315
420
237
300
281
309
267
318
316
319
300
285
339
359
371
323
311
298
308
334
375
278
325
331
325
256
327
320
389
307
341
320
204
282
299
211
302
240
296
404
334
275
359
329
318
284
294
308
290
314
253
364
291
327
252
358
340
375
293
282
318
368
311
306
328
298
251
300
306
297
299
230
373
414
255
302
307
370
358
315
262
307
273
268
300
215
354
310
335
331
321
360
320
314
332
374
366
312
349
309
327
361
348
339
260
271
265
311
340
267
365
307
366
232
319
294
347
395
361
352
349
266
296
415
260
360
273
273
329
365
400
265
382
318
422
252
270
259
233
313
240
342
242
311
336
243
273
336
259
249
323
302
372
325
361
284
307
321
316
328
318
313
306
338
225
324
252
308
382
286
329
344
396
326
291
319
328
257
357
279
310
295
401
354
326
355
301
290
361
326
283
360
355
365
220
262
311
385
329
303
263
315
341
242
305
305
308
319
271
366
230
274
366
311
324
279
349
272
302
331
364
341
317
330
314
369
302
332
293
278
331
370
404
309
406
384
355
352
379
276
345
296
287
320
338
369
346
368
377
366
272
326
275
345
293
265
357
346
291
326
289
332
364
373
351
326
316
322
322
268
343
280
296
241
333
260
290
296
250
314
366
322
355
274
252
303
344
293
317
326
306
371
397
354
238
368
330
359
352
288
377
334
300
309
263
312
303
363
371
379
290
352
329
265
269
341
331
367
356
309
281
289
304
307
278
326
385
331
393
338
272
268
267
247
331
331
293
350
368
366
285
323
379
297
302
339
346
380
252
232
334
340
284
369
310
289
314
302
285
315
238
323
357
337
302
290
263
324
272
408
330
385
335
286
283
322
317
358
300
302
354
289
307
310
244
360
251
277
269
344
278
388
305
333
364
357
324
272
337
274
281
306
318
306
303
379
327
236
383
301
200
306
302
348
346
309
373
272
308
266
275
310
340
312
335
282
325
306
371
233
312
347
314
369
304
352
305
315
271
311
281
330
291
272
413
241
282
338
335
316
315
322
411
299
303
278
223
354
395
340
337
310
394
398
326
365
360
279
312
248
274
342
325
354
330
268
315
336
214
308
338
312
294
315
377
315
261
314
381
270
328
348
280
342
278
347
278
293
349
346
292
341
266
305
425
331
351
364
296
337
330
349
349
304
349
363
329
288
329
317
323
341
251
308
348
318
305
308
275
258
271
233
337
244
287
294
369
321
291
349
359
291
302
328
298
327
387
266
308
289
326
230
302
359
386
242
394
346
255
292
231
326
363
283
330
420
302
359
315
317
326
263
312
308
297
333
310
334
311
381
261
298
255
309
237
308
369
299
313
261
278
340
339
268
333
246
267
363
327
275
327
291
370
334
348
367
287
322
252
373
297
329
257
222
330
292
338
289
373
256
322
270
253
283
297
312
330
359
293
351
358
272
255
321
299
286
307
274
233
339
305
248
337
364
264
323
318
293
297
339
256
284
292
315
300
356
287
281
314
292
337
300
250
367
358
286
315
261
383
358
293
308
282
276
291
264
304
348
375
345
236
340
288
368
265
277
292
369
273
385
394
343
257
287
389
319
343
309
342
258
315
311
341
171
300
363
377
278
366
273
278
378
351
295
213
291
339
349
379
355
234
324
316
339
344
267
304
329
369
261
319
281
230
323
347
306
265
218
385
296
362
315
289
345
338
377
391
340
387
315
346
337
197
193
379
195
358
334
279
283
258
212
330
318
297
239
323
237
290
354
248
301
310
309
271
325
375
309
348
420
209
244
325
345
340
340
369
268
281
303
385
392
250
412
339
371
317
376
359
318
292
416
341
361
324
300
229
334
385
367
327
359
369
323
334
309
282
324
333
287
309
378
349
385
308
263
242
259
299
276
327
280
352
399
282
309
405
440
283
326
304
260
296
272
370
333
320
348
327
284
331
329
354
323
269
322
326
392
292
307
373
315
327
265
297
381
371
351
326
303
281
293
312
332
320
288
179
262
350
294
256
257
271
348
279
276
333
315
299
289
315
317
341
312
380
349
351
277
256
344
280
345
358
294
346
389
335
269
250
377
331
259
290
254
263
366
267
323
301
380
306
333
346
238
229
282
387
248
377
298
334
320
331
395
268
267
314
387
273
315
301
386
288
301
376
255
333
288
274
387
366
345
242
265
362
324
307
399
296
388
360
232
360
333
384
369
364
296
331
261
229
354
317
334
297
343
267
314
240
265
283
319
338
363
329
299
299
353
306
306
344
279
291
380
281
305
252
336
255
367
420
297
368
232
324
278
287
300
379
364
342
342
230
371
290
329
202
352
312
224
367
250
358
365
309
314
358
372
307
247
279
279
327
347
340
259
340
216
321
315
333
391
331
378
297
233
392
332
289
296
292
366
332
283
288
334
328
271
259
370
263
259
358
272
306
267
378
320
388
337
243
357
325
310
301
261
278
355
318
373
300
274
304
341
346
276
367
295
320
344
295
285
341
335
257
391
322
253
340
378
278
390
383
382
303
367
333
346
301
353
262
330
367
333
337
307
281
326
348
254
313
410
302
326
355
258
339
327
304
294
404
285
285
319
272
255
398
263
324
261
377
359
263
381
325
280
333
366
345
283
340
236
283
330
287
321
286
320
385
308
300
366
312
333
335
362
323
295
398
356
250
258
286
362
267
368
384
241
231
322
255
282
425
385
293
273
339
287
370
367
336
280
305
321
369
291
286
270
275
314
349
315
256
363
256
303
267
355
218
356
351
359
291
365
292
331
228
297
261
260
309
359
249
389
347
346
363
294
223
244
304
338
321
301
347
401
323
259
302
282
280
311
303
288
285
341
285
357
265
376
256
295
327
297
283
372
318
327
312
370
329
321
348
356
401
336
404
364
259
330
332
340
395
312
223
329
329
313
238
360
402
340
266
341
296
404
347
272
377
279
346
286
353
255
328
292
383
329
315
319
280
237
327
230
303
287
371
229
320
292
311
290
300
334
254
337
274
370
264
234
319
245
220
295
317
277
291
288
327
299
221
363
264
355
364
273
295
291
333
244
295
363
324
275
313
260
284
309
348
298
268
273
281
338
322
294
337
300
362
322
319
394
309
328
378
391
276
372
340
336
285
315
329
391
313
283
294
318
352
305
269
339
304
317
305
348
285
297
359
352
370
285
293
338
353
347
382
347
295
407
255
289
356
240
236
347
299
370
344
312
338
320
342
334
289
319
256
295
269
332
300
334
376
334
288
350
366
349
320
337
299
323
282
308
306
321
378
277
349
291
296
333
281
264
285
254
332
264
320
360
236
263
345
369
303
342
280
375
344
438
319
330
241
341
271
213
346
333
231
257
362
192
341
380
308
396
291
366
333
379
317
337
394
251
262
341
377
297
340
294
222
338
356
332
277
413
316
379
303
297
246
336
391
288
259
286
364
348
343
322
295
340
321
277
327
266
328
216
355
341
358
353
283
321
257
372
374
351
292
340
314
280
232
327
285
245
274
342
222
279
277
378
346
394
379
310
375
323
345
316
358
328
340
337
287
332
341
308
290
377
215
319
254
352
384
353
345
327
333
249
304
304
416
350
319
374
373
316
274
304
277
426
286
355
255
304
382
329
307
322
271
283
212
302
296
277
401
221
275
352
257
345
306
322
447
277
285
347
300
313
297
318
319
263
338
365
289
301
369
288
289
380
341
342
348
271
283
309
305
345
296
306
296
308
309
381
281
380
310
289
268
280
317
305
299
315
266
356
244
345
306
266
265
405
286
285
254
305
298
343
292
330
390
348
277
303
346
348
297
336
269
451
357
314
346
318
298
331
297
323
268
362
268
352
341
252
398
367
296
359
339
216
421
243
336
255
389
286
237
299
336
358
287
301
307
376
309
346
324
286
339
301
348
237
291
304
337
301
396
297
301
358
340
362
217
311
379
257
323
381
275
285
392
347
334
367
308
363
224
362
374
333
288
340
384
350
227
244
245
368
303
297
296
359
348
361
207
279
321
367
311
399
309
312
321
289
401
325
284
387
324
355
300
294
340
343
293
366
247
338
375
354
260
292
311
337
252
333
310
331
356
381
299
324
330
299
303
380
350
256
367
312
257
266
273
354
303
266
308
322
288
316
341
334
351
312
421
262
302
301
330
305
241
374
273
284
296
285
313
290
291
267
307
309
348
343
272
403
262
252
266
408
298
356
326
311
295
345
350
191
290
344
388
333
301
316
273
319
223
337
285
332
306
315
278
249
247
288
299
227
376
244
367
312
293
382
328
316
320
335
262
387
286
302
323
292
354
295
306
293
402
357
286
280
338
237
388
339
314
318
345
293
333
286
341
294
215
300
328
314
290
293
297
376
289
342
271
322
311
259
309
390
215
304
387
281
363
343
304
205
350
351
271
299
322
293
303
366
294
296
291
286
343
304
368
290
343
322
275
268
314
338
347
342
326
387
395
322
286
303
373
286
321
270
292
316
225
288
291
342
268
341
330
340
321
289
278
261
273
298
266
296
310
272
377
319
219
322
414
351
325
322
355
285
269
305
252
329
304
411
387
346
318
320
273
329
315
377
357
315
353
292
299
333
205
345
289
372
314
276
310
382
228
317
262
290
286
273
315
382
263
303
298
290
395
392
372
275
303
251
245
259
290
316
360
340
316
299
251
339
343
343
311
217
260
342
263
261
308
290
367
334
301
300
376
317
242
263
315
384
364
292
247
333
246
370
352
229
276
346
333
395
373
342
312
275
330
402
373
320
387
280
373
327
246
294
398
366
313
234
327
334
373
306
404
340
350
342
304
250
310
401
269
189
294
301
311
293
332
367
325
386
494
338
339
346
276
328
278
309
311
377
322
354
309
265
310
350
355
307
351
298
388
351
398
387
343
315
385
346
326
293
386
312
301
328
298
339
297
265
373
336
308
412
389
324
234
273
322
324
314
247
272
345
223
384
390
246
329
346
340
229
294
256
297
384
278
378
322
335
249
370
341
274
289
296
363
265
353
356
285
306
386
359
319
282
337
273
325
353
318
324
296
324
297
321
353
272
357
287
264
301
339
367
298
358
327
324
340
264
330
369
272
231
397
343
359
417
218
322
313
346
356
379
280
332
286
260
307
282
270
328
284
344
335
282
340
313
312
280
291
408
232
343
273
361
343
226
347
331
339
361
267
350
322
366
364
370
315
375
355
347
333
271
240
299
311
307
314
283
328
314
316
238
273
305
290
319
338
281
225
345
314
306
349
281
239
233
310
341
297
301
325
337
299
315
387
195
271
333
277
347
338
334
367
314
278
279
372
378
272
338
336
335
363
268
351
291
384
319
315
277
252
282
300
365
411
343
285
311
306
354
325
284
374
351
362
261
439
376
334
346
285
336
368
370
386
265
311
325
299
271
293
287
343
263
332
313
258
308
309
370
353
266
242
235
303
319
278
367
317
374
266
321
352
339
281
345
338
285
297
339
334
348
309
317
378
393
388
276
315
239
309
350
261
241
393
216
315
330
238
348
329
318
199
222
325
415
254
305
288
227
274
353
377
334
272
283
312
290
264
324
346
307
290
303
324
335
302
409
323
269
289
333
332
309
253
278
373
318
316
301
280
336
293
274
309
390
340
322
333
400
375
298
337
282
318
284
349
311
363
309
363
319
328
334
301
335
418
266
300
305
315
387
348
329
272
298
322
334
308
296
323
323
254
281
267
264
364
348
310
338
346
365
260
339
393
347
281
254
295
343
260
315
383
324
396
354
204
336
294
240
203
294
349
358
304
293
343
289
303
270
289
309
341
269
345
351
298
336
357
295
313
293
345
334
243
374
335
399
301
323
337
237
254
299
258
355
323
303
348
338
310
317
295
351
296
366
315
318
305
250
245
372
295
303
288
306
329
305
344
341
405
328
349
326
281
346
310
354
301
351
387
354
294
287
289
204
274
325
270
313
309
340
303
328
325
264
270
221
317
350
343
329
409
324
357
280
341
365
346
331
240
375
230
301
348
352
336
252
359
266
355
267
357
304
330
325
291
368
266
275
308
353
376
312
337
361
238
373
308
360
253
357
309
329
300
336
346
347
339
244
299
336
283
301
267
337
279
236
289
234
362
285
342
259
237
361
246
360
344
376
300
339
334
284
336
262
387
314
237
339
362
397
279
262
314
299
333
314
356
377
296
260
336
339
291
324
307
299
279
334
290
302
256
327
359
267
296
340
356
345
316
313
373
288
359
380
341
315
296
362
323
350
265
391
342
328
353
311
344
271
339
354
359
303
268
280
316
378
302
275
333
391
379
313
359
355
378
384
243
414
273
331
339
283
274
313
225
324
294
195
346
320
303
289
360
361
349
328
300
360
350
354
312
305
397
196
376
254
302
281
307
349
347
361
319
300
336
304
273
387
350
352
336
251
354
321
296
310
303
353
232
334
343
342
346
283
264
356
358
271
274
235
282
379
334
338
270
372
385
344
294
279
257
273
329
331
361
290
323
299
332
280
300
214
287
302
354
323
327
346
290
287
300
354
338
339
295
353
288
291
348
368
344
293
324
303
294
276
295
221
276
316
364
295
365
232
362
259
322
324
262
364
366
184
321
315
385
263
315
327
425
369
342
323
409
366
309
272
364
325
355
246
299
323
273
286
318
297
296
290
363
276
210
336
315
314
273
363
352
258
316
298
250
340
240
345
367
378
362
300
365
361
331
244
302
268
306
360
255
288
330
286
321
333
345
310
341
319
254
282
265
308
375
244
350
354
294
307
361
329
277
305
244
379
303
325
363
355
318
368
332
328
358
313
313
339
322
277
352
335
299
368
300
385
293
314
304
340
305
319
329
227
357
286
391
433
307
311
258
324
278
323
321
300
283
234
320
314
311
397
391
382
314
298
305
241
312
242
326
356
330
319
363
310
433
249
322
308
363
383
284
327
324
317
282
327
320
287
289
345
301
260
318
295
380
277
271
338
270
301
317
367
322
268
306
304
295
244
334
382
322
312
253
370
349
276
365
317
341
363
284
285
248
295
300
300
318
314
272
287
338
336
359
269
424
277
340
225
363
269
370
346
273
343
263
356
304
341
328
279
299
337
282
216
217
282
260
277
316
249
354
289
302
278
271
337
386
315
238
340
311
383
364
261
396
401
363
343
353
298
433
296
284
334
331
340
310
266
319
255
329
301
373
302
351
352
340
305
319
322
232
295
366
305
278
326
280
357
244
223
315
311
384
391
344
318
335
339
255
255
290
308
252
314
347
283
286
353
279
340
349
273
332
399
328
427
372
302
400
373
217
375
302
285
335
295
370
380
303
319
346
297
377
307
270
285
289
336
318
205
364
306
311
298
192
228
277
353
212
338
343
354
309
331
255
358
290
224
340
244
309
391
367
264
327
352
374
312
326
334
328
317
252
345
371
344
310
254
341
381
258
364
382
350
335
255
317
311
293
264
301
367
272
320
362
306
208
289
258
282
206
335
326
359
270
317
408
300
209
283
316
347
335
258
312
272
260
330
384
289
367
328
306
291
346
347
276
270
312
347
274
289
310
220
344
294
333
274
281
284
276
265
357
347
405
354
246
317
264
236
375
346
345
330
337
342
348
234
327
340
313
353
274
274
363
284
295
320
301
317
289
343
313
307
262
312
376
302
324
287
332
360
386
365
218
315
264
350
347
268
277
362
248
390
340
385
332
312
354
356
336
345
330
238
256
306
267
297
376
286
282
286
344
335
336
252
381
241
377
330
286
354
268
326
317
335
326
339
364
335
360
382
243
363
189
301
240
315
392
352
347
265
273
301
349
295
353
379
206
295
260
298
334
387
297
372
297
322
346
367
293
272
278
220
331
396
256
290
399
242
319
348
276
270
382
330
298
353
376
342
268
392
321
297
357
303
339
370
375
300
306
272
310
421
319
369
282
304
340
349
248
387
325
333
333
300
348
316
276
316
288
291
379
370
341
354
361
343
301
328
332
348
268
387
272
343
319
331
323
376
263
291
274
217
264
304
257
286
335
360
308
319
292
253
350
316
351
323
312
327
300
369
323
269
324
243
328
302
246
344
267
355
347
321
354
311
276
383
309
407
258
384
320
206
330
295
282
233
253
305
318
315
278
276
278
336
285
336
343
305
262
343
234
292
301
331
302
372
338
303
358
348
256
295
354
305
297
269
317
303
331
305
263
323
269
340
361
379
356
345
288
363
257
341
383
279
370
408
377
385
304
292
374
316
294
322
338
284
376
286
340
348
334
292
385
285
308
398
301
339
270
318
340
330
316
335
190
291
323
319
294
330
335
388
277
315
356
311
267
320
322
357
278
317
375
339
300
300
342
338
337
299
258
244
309
238
328
274
284
296
405
298
290
294
288
294
240
325
351
323
345
343
274
374
350
342
308
282
335
334
338
260
313
347
175
271
412
382
264
268
287
334
368
341
349
300
287
339
348
336
335
284
265
293
343
367
319
291
284
334
345
226
292
347
418
257
367
202
310
320
275
365
226
330
310
283
274
309
323
334
302
339
227
288
362
320
277
322
299
326
358
272
302
356
293
310
285
349
397
386
316
333
371
353
358
313
309
330
334
320
347
325
352
321
221
386
372
359
343
229
285
313
266
333
321
354
208
298
303
305
345
369
324
351
303
337
290
304
355
303
333
301
344
380
325
264
346
286
226
327
313
391
284
322
309
339
420
257
358
333
357
350
321
345
273
320
247
354
312
347
382
349
369
312
358
290
305
335
240
299
325
183
316
373
286
291
254
254
256
311
294
282
377
346
298
323
347
350
333
360
403
340
379
333
240
293
267
303
297
309
321
347
277
274
325
211
334
296
342
312
275
320
362
343
285
314
295
336
198
238
356
305
328
320
383
389
354
342
352
282
317
259
342
330
331
239
324
387
354
321
378
300
340
349
287
293
338
280
366
379
287
345
302
337
366
318
304
321
361
232
297
378
320
316
288
337
351
366
405
271
320
189
286
254
318
306
332
418
331
306
325
276
207
296
399
349
351
382
240
242
334
308
337
286
396
318
308
356
384
405
241
409
334
339
335
304
310
276
298
304
338
371
312
326
309
311
339
368
347
336
300
198
310
328
260
336
413
290
328
344
269
186
347
359
295
335
243
344
326
333
279
286
302
367
308
314
255
308
321
290
339
296
271
268
208
300
349
323
295
302
366
328
289
220
330
319
244
293
310
296
333
274
313
342
320
279
298
261
273
209
379
320
281
258
312
327
301
387
312
285
292
333
290
256
358
326
392
330
288
273
258
371
344
342
365
280
305
244
266
404
305
293
268
350
280
209
251
385
365
260
372
361
245
317
276
309
346
270
318
333
347
278
363
279
374
286
319
279
273
275
342
381
250
338
312
321
302
290
354
295
360
296
309
419
354
356
275
330
409
358
286
374
308
331
304
299
398
350
354
297
292
292
347
315
361
342
235
439
378
360
279
218
361
389
338
294
346
309
310
311
393
289
288
312
285
247
347
348
293
231
301
324
335
304
359
313
333
318
315
323
405
372
355
276
288
316
290
297
365
335
370
294
318
309
359
321
327
375
287
247
228
251
346
313
299
264
248
329
362
317
320
368
330
205
249
282
347
332
205
349
298
381
260
240
315
314
337
326
299
300
309
261
310
286
305
328
280
332
388
342
264
305
403
297
314
348
337
260
348
256
360
302
286
301
388
308
291
366
263
342
372
399
335
281
266
279
352
360
257
295
303
278
237
293
347
341
310
403
295
362
309
308
361
353
303
400
238
323
237
335
284
295
300
287
377
309
391
315
263
347
229
352
459
364
296
253
273
372
357
280
237
305
297
314
289
358
317
313
373
347
347
389
396
346
332
354
284
269
337
385
311
248
336
353
302
271
381
348
301
215
284
288
311
297
249
297
235
303
339
269
359
308
393
299
274
335
298
258
311
383
307
263
234
274
328
390
255
273
327
252
318
388
258
333
204
314
358
232
308
312
260
366
300
356
285
274
347
316
313
354
359
385
394
321
352
299
286
303
271
329
285
341
315
335
373
386
302
280
364
246
389
332
290
306
285
275
308
328
372
307
346
221
339
338
312
341
264
343
312
319
280
329
299
375
292
313
232
383
359
419
387
297
313
402
286
356
378
320
386
302
294
400
348
356
419
327
328
192
365
355
316
280
282
348
279
356
335
276
342
249
347
376
285
210
402
329
285
307
312
343
380
387
294
334
314
343
244
342
333
279
327
309
334
258
205
244
307
324
403
270
304
281
299
337
346
308
380
351
315
368
342
281
315
259
255
291
231
261
348
334
278
260
207
310
356
327
345
268
299
335
326
362
319
221
378
333
341
375
321
332
335
303
360
355
250
287
356
334
344
377
325
324
352
329
312
350
261
335
311
336
390
306
292
333
237
294
305
360
280
371
344
411
352
390
274
385
328
330
374
316
314
264
324
344
300
317
208
300
308
324
297
357
328
384
298
354
319
234
363
329
399
276
343
255
347
301
359
337
306
367
254
284
268
316
341
363
292
319
255
329
387
297
298
325
252
344
323
314
311
402
329
327
240
348
370
335
284
339
272
377
323
296
365
291
199
319
376
294
301
354
355
266
354
357
337
280
345
345
304
345
270
331
270
245
315
319
227
250
293
330
386
345
371
239
345
270
421
342
358
293
300
335
198
325
297
301
328
299
267
386
248
361
317
320
282
352
249
168
336
299
278
329
348
281
364
330
338
329
226
299
232
434
363
287
391
250
306
254
295
358
343
404
264
297
247
349
358
332
379
312
285
331
369
307
264
353
383
252
288
354
333
284
311
355
368
344
340
363
295
318
214
224
338
291
269
316
357
317
340
252
277
378
324
340
346
374
277
276
244
273
354
352
276
292
310
268
248
377
306
290
343
310
311
323
322
329
275
300
312
282
346
262
377
332
283
295
357
393
356
315
353
272
287
305
311
359
334
386
305
317
328
311
255
362
286
279
389
274
286
305
391
333
294
311
267
260
323
314
344
347
238
293
297
297
409
263
273
283
273
273
301
308
267
337
349
289
306
249
304
286
308
321
363
261
326
255
401
346
281
273
351
352
266
334
380
259
336
295
342
249
250
274
252
392
322
375
293
300
284
365
309
382
320
325
310
412
293
329
347
331
265
344
372
274
284
327
371
363
336
330
304
297
318
318
280
273
345
295
328
289
350
322
294
346
366
293
282
348
285
336
331
343
385
346
395
283
270
285
343
245
291
353
296
346
312
378
226
388
330
329
320
219
285
292
288
261
376
363
344
294
350
317
291
431
360
380
280
293
261
270
328
367
264
290
262
376
340
293
363
295
340
327
337
289
323
347
373
313
221
338
299
343
306
377
267
257
371
264
307
322
352
367
290
317
321
275
339
308
271
288
349
291
284
232
273
266
371
287
345
307
345
275
343
248
309
293
308
221
335
355
280
294
306
282
365
298
343
329
302
328
332
298
290
285
314
242
272
325
370
307
298
347
438
255
299
279
305
276
318
295
313
391
335
273
392
369
307
326
438
267
373
222
341
391
277
320
293
410
283
345
310
289
353
324
328
320
333
337
226
264
298
277
311
248
308
306
342
297
345
306
199
323
253
312
363
345
339
346
297
320
351
252
220
332
346
292
254
290
335
332
295
360
263
283
238
264
228
353
365
323
266
306
318
245
314
298
294
340
286
328
335
334
314
404
304
371
281
334
333
309
351
249
286
360
349
258
326
337
377
374
229
298
376
255
356
331
328
255
244
264
288
248
272
294
327
370
316
303
330
305
345
243
316
331
323
407
296
299
278
337
278
331
260
266
296
324
275
257
299
285
318
269
298
329
228
308
243
347
370
276
340
383
388
319
309
298
383
297
320
287
263
272
295
332
269
341
320
283
234
263
357
339
287
288
395
280
247
282
302
350
308
293
320
223
375
302
331
336
354
359
333
284
271
287
279
254
206
275
297
379
300
268
338
284
252
421
309
398
266
200
283
318
283
291
336
315
363
322
338
314
273
318
369
301
375
201
311
309
323
401
321
361
270
308
282
367
296
359
358
340
371
327
327
262
382
359
347
347
256
356
377
280
347
309
291
315
313
289
301
396
293
230
328
307
260
345
175
340
330
323
382
333
305
329
326
294
272
288
328
307
321
317
290
290
318
413
310
346
349
308
284
326
372
356
338
277
364
295
380
305
274
340
364
376
251
276
304
365
243
320
315
273
326
265
371
254
301
251
318
280
301
306
321
368
356
297
224
307
275
277
371
303
356
330
269
331
323
284
281
360
314
282
270
327
286
305
295
325
270
396
383
338
339
292
281
353
310
291
384
356
227
268
312
300
321
344
345
372
231
358
268
309
264
289
334
276
286
263
289
313
385
298
324
302
326
389
254
284
345
310
339
306
341
321
348
316
254
372
238
307
316
376
308
271
293
252
278
330
316
257
272
323
355
313
323
274
286
316
361
243
345
275
299
313
286
319
345
328
323
336
220
334
315
288
295
379
384
364
352
331
338
252
322
284
274
215
293
276
350
326
373
410
295
305
289
367
221
330
376
321
363
337
387
363
304
267
340
325
348
291
316
379
301
345
356
399
259
299
292
323
330
240
289
241
288
374
322
206
297
323
310
311
284
314
290
326
299
353
360
382
324
315
316
386
323
205
292
374
307
358
283
319
222
352
310
320
265
347
284
317
298
324
297
356
320
287
304
352
217
271
263
262
288
267
316
357
283
280
346
328
261
282
396
392
389
266
293
287
373
272
329
365
285
394
288
317
389
439
346
241
299
412
397
281
255
288
318
287
305
282
324
225
354
348
266
349
320
381
332
315
298
252
384
256
304
289
219
339
315
243
284
311
246
312
378
343
358
312
319
295
267
277
306
371
308
301
375
311
331
380
347
334
307
289
329
254
286
337
382
357
283
342
315
368
274
311
293
348
279
378
298
361
260
323
278
291
358
287
341
331
357
259
295
304
210
332
311
398
306
272
315
338
286
357
420
368
283
308
246
332
400
315
262
301
354
315
334
371
281
345
278
293
310
312
395
325
326
334
301
354
306
225
345
287
270
309
275
363
381
263
322
384
250
362
312
355
314
339
320
267
333
292
333
341
375
414
319
377
306
332
299
257
258
351
391
288
342
249
306
274
337
343
371
320
314
292
320
301
333
418
368
285
382
322
307
304
286
300
262
397
341
316
320
296
218
323
343
248
216
253
285
299
303
310
376
370
338
332
280
302
356
335
335
374
307
299
353
275
328
281
402
278
318
345
258
311
327
319
400
363
397
238
283
236
349
291
363
260
387
371
282
324
285
266
350
351
321
280
377
353
366
369
402
334
357
350
302
312
305
274
269
351
284
273
381
287
374
268
293
258
286
297
356
282
376
341
246
250
327
344
321
310
335
402
383
339
292
365
257
283
294
360
316
293
270
370
323
300
275
364
359
305
296
338
340
296
273
260
345
289
290
309
271
264
314
320
288
322
298
314
268
312
375
271
363
308
316
263
284
343
291
303
336
322
254
295
322
365
287
306
356
277
293
322
348
255
340
348
270
299
312
399
326
218
273
327
321
329
289
328
310
255
352
250
304
321
383
306
285
353
317
333
397
258
254
314
317
285
334
317
257
349
346
382
413
306
327
321
408
260
342
360
226
285
244
330
329
327
360
349
330
320
321
333
375
283
358
418
292
302
261
325
318
246
303
281
315
393
322
272
266
299
316
275
303
225
272
323
344
191
229
286
356
332
175
255
306
385
311
301
272
301
301
285
302
325
347
235
302
342
370
310
323
298
307
305
371
322
283
312
291
271
373
334
320
297
267
318
268
326
342
350
303
338
374
359
274
313
373
316
286
355
375
345
394
304
321
342
261
249
332
317
299
309
311
304
300
312
356
276
296
359
312
311
319
254
329
388
308
320
260
337
347
372
323
402
255
320
298
296
365
324
336
378
290
381
331
310
253
266
306
292
386
326
355
329
289
343
299
336
339
327
331
293
306
288
225
288
293
333
290
365
328
315
366
351
302
221
348
353
352
324
294
273
356
318
357
287
292
330
324
250
327
325
306
337
252
303
315
335
422
410
333
382
355
318
342
326
308
307
381
386
307
390
276
328
318
340
335
324
213
359
333
290
320
281
348
354
343
250
299
294
386
309
344
318
292
325
292
295
366
380
336
382
275
239
290
347
273
335
295
400
328
331
317
391
379
328
291
314
379
313
345
320
291
324
362
342
330
281
355
359
301
333
335
279
342
317
354
302
309
256
274
312
250
292
320
379
284
289
273
350
356
403
311
344
306
212
292
266
279
322
305
340
361
291
229
249
373
293
322
333
290
307
297
299
292
341
279
299
265
265
326
386
264
358
277
364
294
315
398
273
318
452
354
321
323
350
215
355
316
322
355
331
385
364
355
300
379
301
352
322
237
369
346
242
416
279
371
362
241
249
332
246
312
416
271
351
310
260
410
292
322
306
340
371
299
308
347
314
290
336
276
285
239
283
304
231
344
316
311
275
283
337
329
256
320
324
270
279
393
320
300
290
426
357
333
277
356
336
271
233
441
300
279
350
253
321
297
289
316
314
343
355
332
394
306
330
324
304
362
344
369
338
310
387
313
348
327
279
261
321
332
400
300
327
320
340
263
254
373
328
387
338
383
280
391
212
335
296
269
321
351
318
289
360
380
283
329
260
191
304
307
294
339
281
318
256
253
299
364
289
322
275
341
375
366
342
339
285
327
261
307
293
282
331
322
334
323
326
234
391
364
257
331
278
333
372
345
289
331
328
291
229
311
286
251
228
355
244
299
345
316
237
336
259
305
343
298
364
257
323
352
356
316
312
326
417
363
286
303
183
323
402
344
340
377
355
314
320
384
331
254
303
323
335
312
268
324
280
326
303
249
235
265
221
351
310
331
309
296
309
343
404
306
301
327
324
353
297
203
395
309
283
281
401
276
339
268
348
206
320
351
309
286
268
389
275
310
351
289
312
246
370
302
323
255
285
307
285
315
391
388
372
385
320
279
351
349
354
346
320
399
313
331
331
267
280
199
361
219
280
285
330
351
279
256
308
329
269
322
284
330
332
244
338
295
354
322
234
280
390
301
230
343
321
338
243
331
275
309
288
339
309
304
283
273
283
243
336
382
300
362
314
406
278
341
294
315
282
230
340
370
365
344
311
304
300
266
357
338
301
325
308
310
283
333
290
305
364
343
294
352
315
283
296
289
316
329
296
374
319
318
211
305
300
311
287
324
352
246
453
355
324
367
348
306
344
287
307
339
308
340
234
354
253
239
255
280
221
278
369
310
266
286
289
283
305
331
343
301
376
252
320
373
380
388
372
270
274
290
325
276
343
388
363
366
392
340
323
323
237
337
242
392
401
320
347
327
264
263
347
299
227
259
293
323
328
336
432
265
353
256
276
363
335
281
270
318
342
391
224
342
375
296
360
340
297
335
204
320
344
393
351
322
281
304
327
305
350
333
346
297
216
349
287
291
319
338
343
318
383
282
291
321
206
367
319
392
273
371
324
332
307
356
296
261
309
349
438
321
319
287
430
384
226
345
212
361
327
361
370
332
326
251
316
343
310
387
363
290
348
305
267
302
248
350
316
360
310
379
305
246
303
329
350
335
282
341
266
300
273
299
329
276
344
274
229
245
361
247
374
333
306
318
350
306
274
263
257
292
296
297
296
280
258
352
301
316
342
284
243
248
244
334
325
304
313
263
358
359
288
343
325
270
334
316
403
382
373
251
344
356
271
353
242
329
415
271
412
395
217
327
321
364
273
314
303
246
304
385
311
310
291
291
341
217
343
282
313
287
397
294
317
242
320
325
315
290
256
293
352
348
341
252
268
389
283
351
278
215
241
326
258
350
237
356
294
291
377
303
320
328
325
289
377
299
329
327
333
339
221
342
251
296
285
260
364
370
223
396
289
283
378
340
302
300
355
389
311
293
282
246
263
373
379
311
248
386
298
395
328
281
282
349
384
320
316
308
312
297
302
235
281
339
282
394
251
326
308
257
324
352
344
224
310
348
382
268
280
310
344
329
384
323
349
331
282
305
281
230
301
383
374
360
291
285
303
297
320
285
261
261
338
332
351
242
340
313
298
322
323
327
411
357
333
241
327
294
280
282
346
380
327
282
312
359
339
309
282
287
302
326
347
287
360
393
358
382
307
319
294
398
348
348
350
296
309
279
218
345
349
306
355
349
401
322
265
363
355
309
249
315
270
404
331
309
388
338
328
298
324
321
360
303
247
316
303
303
313
310
286
314
371
287
293
318
337
368
355
267
341
216
288
353
233
311
239
287
330
356
303
294
365
264
316
277
274
321
319
344
396
349
272
269
378
297
354
380
322
302
250
357
352
299
389
251
292
168
338
330
283
362
284
363
354
303
305
255
351
284
285
209
294
393
347
326
339
345
324
296
310
374
244
415
317
336
267
297
258
360
205
330
270
283
326
353
289
356
389
324
380
334
326
303
243
374
360
339
253
288
336
372
266
313
286
305
304
306
342
337
318
395
321
227
255
316
354
309
275
321
306
224
287
308
327
322
300
237
306
311
227
352
320
277
264
284
281
336
308
307
267
284
346
288
297
318
326
225
352
348
243
329
332
365
326
257
376
370
329
311
357
356
333
190
367
291
347
353
363
258
335
306
339
260
313
378
367
372
361
295
334
389
257
306
327
276
343
342
329
350
305
347
319
292
349
290
333
233
294
316
334
361
310
231
259
341
254
333
306
309
274
327
302
314
347
267
296
319
229
260
284
306
336
344
392
287
390
289
386
378
261
343
290
355
299
338
314
286
260
214
240
265
300
319
254
306
278
271
335
321
345
300
261
201
308
288
217
404
344
242
336
276
317
297
234
306
318
285
259
295
326
206
288
326
373
348
307
329
345
237
300
345
368
268
315
290
357
320
281
333
348
223
324
339
276
317
329
325
267
351
328
334
287
261
318
359
240
356
293
257
360
385
325
305
322
371
365
367
333
250
302
284
288
291
336
292
366
339
259
342
249
265
319
322
303
340
300
309
237
341
279
281
361
260
288
356
255
351
343
356
342
351
308
324
276
333
314
343
233
290
380
291
357
303
384
309
274
308
367
363
314
339
386
308
338
363
300
295
295
264
278
377
286
277
314
289
290
263
318
292
235
285
240
349
244
374
295
293
324
381
242
353
323
332
280
286
345
334
397
334
310
285
389
294
288
326
259
255
346
191
379
301
226
285
339
317
358
317
283
381
328
247
297
341
295
339
297
268
266
311
302
326
385
322
317
308
317
306
289
398
342
332
298
307
330
394
330
322
260
364
275
282
318
380
264
285
392
213
365
397
323
391
280
332
302
286
257
310
347
317
239
293
319
342
304
308
369
274
245
261
306
326
307
279
339
287
312
304
331
280
329
302
363
267
284
407
369
265
272
216
381
339
235
314
327
256
305
300
324
313
332
342
331
295
236
331
329
250
322
358
331
319
297
185
409
356
379
274
338
325
328
318
265
327
331
276
274
311
359
231
321
379
247
296
300
337
286
289
350
357
230
307
344
294
272
317
282
305
350
310
303
315
359
245
254
281
319
250
376
355
333
270
306
306
298
308
270
319
335
332
254
355
305
318
312
339
321
323
297
258
315
310
341
299
302
260
337
272
364
304
398
285
299
401
237
303
257
292
293
275
355
340
248
303
319
194
280
337
398
278
282
256
358
243
304
429
308
312
347
342
318
443
379
351
292
342
309
258
329
348
372
224
293
366
348
283
267
367
322
342
348
259
215
257
242
265
258
355
348
392
358
269
404
354
333
247
280
321
317
274
301
263
285
343
332
288
352
259
360
389
344
278
292
269
290
294
206
321
318
322
289
321
299
369
252
244
314
306
338
264
355
347
306
330
359
342
319
253
385
353
338
349
323
317
366
263
250
337
284
279
358
293
287
291
275
362
248
347
348
334
354
343
330
248
317
325
260
276
265
381
329
329
279
297
323
373
304
334
286
327
281
310
386
331
230
352
318
289
302
453
399
282
310
380
335
315
263
285
286
244
354
300
395
349
361
342
303
326
286
262
359
296
339
262
279
296
330
271
308
283
272
363
307
296
224
365
323
245
256
384
396
253
387
288
343
252
297
364
358
282
304
351
292
382
367
338
318
302
324
310
348
335
358
320
355
319
322
285
274
385
329
278
323
330
275
315
268
356
338
396
322
273
306
342
393
367
229
290
450
396
306
281
302
288
337
269
294
401
334
319
310
316
211
383
314
313
378
352
312
365
338
327
285
346
363
364
251
285
332
362
350
338
371
362
356
269
352
278
294
341
336
320
330
300
342
316
337
318
280
381
259
355
335
343
362
304
356
281
292
291
356
308
323
272
335
259
302
276
283
238
287
292
220
298
285
286
345
366
311
297
320
239
383
303
332
278
294
322
379
292
367
340
347
327
360
267
353
262
310
333
252
311
299
265
274
380
293
358
299
294
324
245
321
244
362
366
275
333
291
337
350
282
225
297
287
249
260
264
362
299
403
254
299
302
263
277
236
300
338
268
223
371
262
315
366
343
320
363
397
351
338
403
234
303
305
358
241
305
376
365
379
294
326
282
371
341
309
349
258
342
217
272
304
263
365
298
274
359
359
309
285
375
303
256
305
249
262
325
288
305
341
290
349
230
359
269
279
255
339
222
253
313
290
371
230
282
318
319
364
344
336
375
363
286
233
377
331
288
313
331
275
327
279
435
275
366
226
299
333
359
297
311
331
305
346
351
296
287
292
383
257
266
359
365
331
307
353
296
369
357
316
341
321
360
271
280
254
216
326
293
278
309
308
318
359
365
311
254
288
375
283
321
327
313
332
351
277
339
282
318
306
257
316
327
316
289
309
264
356
328
251
240
290
350
334
321
305
394
280
360
319
285
331
342
377
240
257
346
316
281
254
418
290
347
267
258
294
300
305
271
348
304
333
265
281
331
288
303
301
390
297
324
334
280
299
329
288
291
321
384
398
294
253
305
372
294
329
276
292
310
373
325
283
355
325
282
316
280
271
213
280
308
288
340
279
251
297
424
350
311
342
358
265
236
287
364
267
365
244
361
352
329
302
315
240
347
317
308
328
343
342
316
344
296
348
252
258
299
304
302
330
333
374
296
322
290
327
280
272
272
320
380
338
393
414
317
338
330
359
318
319
254
380
315
366
340
359
331
359
327
320
219
269
239
258
293
318
281
327
281
331
228
318
288
318
339
292
295
347
309
329
303
390
386
240
343
365
313
315
338
283
277
337
298
212
379
330
258
289
397
268
362
359
357
296
326
350
276
274
339
343
311
258
357
428
271
392
301
342
344
344
338
273
315
258
273
262
329
347
341
263
313
309
291
276
270
288
356
359
325
269
346
267
337
314
383
297
282
315
339
297
336
306
376
414
314
344
324
303
214
250
361
320
258
318
328
301
307
293
251
351
324
254
289
281
357
322
385
354
324
257
299
359
326
201
362
383
322
296
307
323
307
365
336
319
371
275
329
315
335
269
293
220
322
344
363
352
298
317
412
314
264
276
298
242
244
325
236
323
413
335
325
255
314
393
294
239
288
268
344
305
307
259
337
247
342
296
324
175
264
270
297
253
328
297
372
373
361
307
340
267
349
350
347
332
260
297
355
339
337
300
377
330
209
341
334
243
340
416
352
295
368
341
242
351
344
307
319
336
197
405
355
325
393
358
242
302
314
375
283
348
380
318
269
345
296
302
304
265
206
295
275
337
280
354
258
287
315
329
309
409
249
338
334
353
294
376
312
253
282
349
339
306
301
359
385
302
336
295
292
327
375
378
264
310
326
233
315
331
269
357
356
217
358
319
292
313
345
318
397
370
268
287
263
286
312
335
312
267
334
313
381
352
329
313
362
298
280
329
366
318
348
320
336
342
328
296
273
313
249
256
284
272
288
198
358
368
346
279
330
316
340
359
266
298
375
344
400
274
381
324
258
389
273
275
375
286
267
274
282
315
280
313
380
316
262
276
315
377
363
279
316
194
270
352
393
274
272
240
328
296
399
355
363
373
267
301
277
288
356
309
387
244
326
331
271
258
284
293
346
310
347
296
343
313
347
422
272
286
298
241
339
365
333
386
295
237
414
298
320
303
365
289
267
332
360
367
277
298
292
324
268
331
303
391
314
277
349
333
278
348
397
401
240
251
340
301
338
315
317
316
404
339
220
329
281
317
299
312
214
294
314
345
290
306
243
328
336
292
347
268
345
374
302
226
395
311
373
343
277
306
338
313
360
313
364
326
310
252
354
314
330
284
304
277
324
323
365
345
293
333
289
313
337
232
282
273
318
297
377
337
347
340
318
350
342
326
294
330
374
328
358
310
329
304
370
300
323
321
303
364
291
312
233
281
348
339
212
336
340
344
368
322
222
288
293
340
268
323
272
394
259
207
411
403
368
286
322
318
342
268
191
352
249
346
327
310
317
268
338
379
373
391
269
376
271
320
270
378
271
358
329
288
279
291
290
361
363
319
325
323
331
273
297
305
288
304
337
275
377
356
330
288
323
315
379
318
274
376
264
373
320
218
310
346
292
365
291
223
368
329
339
317
255
310
298
273
273
303
224
286
335
371
342
326
282
262
274
301
367
266
380
266
313
313
340
300
327
293
327
287
307
319
384
297
354
313
287
283
318
306
277
271
313
286
296
346
304
287
272
342
348
368
324
438
288
302
256
321
356
320
306
366
248
271
308
346
282
340
364
401
338
339
306
336
285
324
315
294
263
251
350
369
309
311
292
352
314
343
361
281
319
254
287
373
352
247
303
308
349
370
362
288
350
311
293
385
237
274
310
339
380
308
284
307
243
346
226
392
299
302
341
313
292
271
271
357
338
279
301
351
382
386
271
374
308
249
392
355
284
345
312
329
298
360
268
283
243
303
299
344
340
267
320
302
274
273
223
370
391
302
313
303
276
336
363
244
328
338
309
355
348
325
306
278
359
291
274
309
229
344
252
329
379
276
328
314
361
267
381
362
212
279
315
217
365
379
381
331
311
302
342
343
314
261
295
387
306
409
330
331
382
260
365
331
366
438
308
266
357
293
279
323
363
324
306
358
353
247
281
282
349
282
354
380
283
364
330
250
286
246
275
303
331
347
262
341
304
409
364
323
337
363
393
366
323
325
336
349
348
343
327
316
236
286
314
303
321
305
337
305
304
294
257
302
290
248
371
295
257
320
297
309
288
280
328
332
266
387
246
342
360
329
347
319
277
277
340
268
335
332
287
341
270
301
260
299
304
363
311
280
271
331
348
352
351
324
284
354
207
244
333
269
315
373
317
363
433
287
449
343
278
287
370
333
267
348
294
288
381
267
331
311
340
290
361
312
326
341
327
347
311
288
249
312
317
264
212
275
363
312
378
307
304
329
333
325
339
253
282
314
260
264
352
230
319
289
177
292
342
311
346
258
358
332
343
250
289
286
340
291
322
333
378
417
315
290
303
330
292
345
301
347
335
389
240
374
222
383
270
314
321
271
275
347
266
322
335
277
338
256
323
356
322
337
284
284
336
313
300
307
333
242
305
363
339
296
340
187
312
284
348
299
304
358
357
321
331
356
327
322
375
310
394
311
298
398
335
241
327
287
335
254
229
286
361
288
272
245
352
358
313
296
259
394
284
352
315
288
268
268
244
309
239
383
331
396
328
377
354
322
316
350
304
332
360
324
253
310
379
270
338
362
259
339
337
337
343
370
324
235
395
297
234
339
271
328
300
327
334
339
290
350
274
374
243
265
343
330
285
371
356
404
316
362
331
288
312
288
252
365
389
269
341
298
292
215
358
335
275
375
285
229
246
324
336
291
275
281
286
359
396
316
291
328
393
293
204
392
330
282
310
394
294
187
333
267
348
354
291
270
282
309
322
352
305
302
278
351
303
314
312
426
308
337
320
388
294
235
288
315
377
265
377
304
291
376
273
292
342
252
429
300
287
317
357
379
220
389
267
392
323
359
353
339
257
183
419
303
305
429
286
328
286
405
354
238
374
334
308
355
281
329
263
282
252
334
298
275
325
318
336
314
340
302
323
290
346
307
314
286
352
349
304
348
268
404
377
350
268
273
313
358
320
318
294
406
394
231
309
307
284
361
358
256
274
257
316
236
307
289
303
346
270
354
333
316
325
323
392
291
328
352
273
306
317
345
335
362
306
245
306
325
279
317
354
265
308
301
255
312
346
375
274
335
284
310
290
345
305
277
346
273
300
295
404
338
315
390
300
314
279
304
260
314
331
278
341
293
313
408
341
269
378
279
282
271
364
297
325
310
352
391
397
197
311
226
397
346
274
275
373
302
320
290
277
325
175
301
341
354
315
276
373
278
287
279
263
320
349
333
391
300
376
258
288
270
262
303
297
358
363
317
250
357
278
355
380
238
295
392
328
329
340
354
275
312
344
338
257
316
340
253
279
298
399
306
237
267
262
386
321
372
305
316
384
317
260
364
343
313
304
299
307
302
315
329
295
314
323
263
337
282
348
324
293
323
331
252
254
361
301
340
308
327
372
324
333
325
267
429
305
320
265
333
296
332
351
300
310
308
269
369
240
347
310
287
356
342
380
369
397
345
270
321
289
301
317
307
270
354
313
297
313
327
297
266
369
315
380
326
312
278
376
253
326
321
356
232
329
327
289
327
305
286
301
346
398
378
384
278
351
237
358
315
286
219
345
251
288
397
367
312
301
246
404
269
336
369
407
284
361
295
305
426
353
315
398
331
261
358
345
319
347
346
298
277
347
327
327
324
345
374
382
403
340
330
308
314
315
315
253
335
331
272
256
275
358
316
263
294
348
334
317
320
342
246
324
324
335
244
333
314
350
275
324
271
338
372
306
300
368
305
348
307
271
245
266
263
329
327
355
327
349
293
329
358
296
345
256
276
211
346
246
266
312
342
303
347
268
345
262
297
295
362
275
287
327
226
275
271
336
327
264
242
287
386
335
307
354
409
256
369
264
274
273
364
357
291
332
296
311
300
336
335
349
271
346
280
386
301
351
298
296
334
297
249
356
386
338
284
334
309
276
299
306
319
354
370
354
369
300
323
320
322
349
307
363
346
352
331
379
306
300
320
348
298
200
330
330
279
296
289
274
373
258
324
280
377
294
244
209
314
361
365
342
290
278
252
396
287
268
342
324
392
311
279
389
285
320
328
363
339
419
278
308
333
398
341
355
330
277
369
304
317
399
292
335
353
373
324
320
269
258
291
284
302
241
368
257
331
289
305
378
382
271
231
345
379
378
271
365
314
398
360
390
335
355
287
190
361
396
323
264
273
267
230
278
272
344
353
266
293
340
311
292
219
368
270
364
266
269
343
324
312
228
356
308
335
425
369
263
324
254
325
283
311
346
249
279
318
302
307
276
330
308
319
306
298
309
412
348
322
311
285
339
250
408
332
290
293
302
332
342
338
360
284
348
286
325
309
277
338
376
335
359
313
328
259
319
255
333
385
279
379
312
413
257
365
351
316
335
378
291
324
360
305
290
313
235
367
236
310
306
398
281
311
357
300
316
319
307
242
331
229
297
263
272
316
314
306
290
361
271
359
259
264
401
392
263
313
302
266
276
328
355
323
322
257
358
347
264
332
288
277
336
381
312
301
340
280
266
361
288
344
328
305
317
349
334
276
356
292
350
323
286
364
289
316
346
346
300
247
298
358
309
374
287
299
391
289
308
345
388
274
326
307
277
260
278
326
373
376
326
283
254
408
354
312
327
335
217
321
301
258
358
363
318
356
290
394
335
333
332
355
296
351
361
274
375
276
250
330
345
326
313
311
252
288
371
363
384
323
361
310
336
333
319
307
274
291
336
378
312
302
376
319
278
348
389
307
304
374
318
268
257
356
357
341
272
316
356
417
282
340
203
297
247
190
332
271
314
314
297
351
221
391
325
292
345
291
317
279
308
356
349
351
285
351
311
267
359
344
189
354
320
293
295
312
335
287
393
262
360
305
310
249
314
355
283
282
375
324
341
354
333
269
383
280
318
296
404
299
383
300
330
324
309
278
330
254
294
310
378
268
322
392
242
302
271
351
344
346
369
304
203
315
275
272
304
372
293
367
321
315
398
300
346
298
284
332
293
283
319
325
302
364
283
247
316
365
400
375
371
301
320
332
315
311
347
315
357
360
298
325
406
388
274
330
238
330
314
352
339
276
250
337
298
240
325
272
261
303
336
314
268
254
284
351
293
356
320
269
340
304
324
307
324
252
276
319
331
351
280
261
356
339
369
373
318
331
313
384
292
336
267
322
175
389
318
247
372
245
314
257
305
331
315
338
259
303
352
313
309
199
334
412
275
290
310
389
395
299
337
304
402
298
278
326
325
270
285
319
319
304
296
310
260
280
357
316
390
316
376
255
377
334
361
226
214
359
331
325
371
398
330
269
373
293
415
358
358
334
364
258
293
323
342
345
291
280
318
303
309
346
367
310
299
401
364
318
315
317
259
279
369
356
308
390
279
286
314
336
297
320
362
296
361
409
378
261
304
341
330
323
348
340
268
321
401
306
353
299
273
320
333
279
322
346
238
359
336
320
313
330
362
376
352
279
322
348
325
337
370
352
316
318
266
351
390
402
253
343
371
284
295
269
288
252
326
310
255
333
326
363
277
394
268
324
355
382
365
308
267
323
326
338
334
292
363
349
339
361
350
309
361
323
342
297
313
287
293
450
296
311
325
321
401
318
332
374
325
267
302
258
241
371
307
252
330
355
323
346
336
356
332
328
304
328
316
342
288
293
380
296
250
275
371
321
246
370
277
277
339
284
329
351
338
223
341
236
340
328
317
364
293
356
238
288
295
401
308
331
281
328
295
342
295
303
357
292
358
336
408
380
321
365
292
328
331
301
290
321
332
375
320
293
316
260
349
248
351
286
348
332
234
351
313
307
337
288
303
308
263
363
264
279
307
301
363
296
327
293
331
272
241
323
290
294
316
285
286
396
294
324
335
285
325
326
416
354
292
312
260
336
281
358
332
251
288
283
304
369
302
343
274
322
254
389
328
324
296
346
374
315
309
266
314
401
294
327
372
354
241
281
289
321
284
337
328
338
348
242
336
381
274
343
329
327
297
370
195
320
352
377
323
266
295
276
318
273
289
386
378
324
319
259
357
299
321
293
334
365
302
255
343
342
289
305
308
336
353
257
362
336
282
345
276
348
267
311
253
330
272
330
316
366
305
337
319
290
363
235
287
298
313
333
308
299
427
284
306
329
313
320
365
277
293
337
276
365
326
276
407
266
380
268
355
365
323
411
356
275
345
291
244
304
289
318
330
382
364
339
301
287
326
256
296
340
297
326
351
255
342
358
413
412
353
313
321
347
352
331
291
279
197
328
319
352
322
372
331
301
319
319
323
333
248
369
364
251
319
349
287
296
245
232
264
336
271
323
268
408
255
242
364
280
337
267
328
363
298
336
261
416
316
275
233
388
355
282
358
283
264
308
335
271
242
298
246
316
268
307
289
344
345
342
345
298
332
313
288
355
337
346
361
324
275
308
369
318
365
341
275
318
356
351
261
342
380
252
287
303
315
249
422
286
294
314
288
292
325
304
245
384
283
296
226
287
355
406
266
364
257
398
308
376
325
358
329
311
283
340
391
345
333
309
246
297
285
342
222
268
283
333
366
360
322
308
370
346
363
296
285
286
276
324
298
317
363
334
343
364
308
319
322
326
243
335
292
330
278
348
296
244
291
307
306
346
353
263
198
290
339
274
319
421
287
271
289
293
283
316
291
391
286
358
331
260
280
387
326
300
372
313
335
289
266
307
270
278
267
305
347
318
334
250
263
354
247
295
322
337
344
316
373
309
268
331
292
364
296
316
362
289
379
282
301
267
319
349
346
398
286
307
287
268
279
301
258
364
314
352
340
260
301
353
248
395
295
343
290
323
367
296
355
362
283
263
306
390
322
346
392
310
277
362
340
298
269
260
281
228
315
418
287
320
246
356
329
208
324
368
296
337
326
207
248
372
305
364
298
282
316
313
201
372
303
355
431
318
309
294
271
328
277
297
388
277
310
295
212
340
225
361
256
293
351
344
313
329
241
293
352
277
203
282
304
320
338
405
261
334
335
313
329
370
340
305
293
242
231
342
318
320
407
260
314
352
375
366
265
309
275
378
299
341
262
292
302
374
316
327
349
279
355
329
406
279
313
254
338
342
309
330
326
279
298
331
350
360
394
365
313
258
261
264
410
319
349
305
359
316
321
249
342
277
194
314
289
280
325
360
332
360
324
296
327
264
318
276
206
277
274
358
224
299
264
322
375
367
393
340
293
256
286
283
349
327
335
320
305
277
376
247
282
352
311
344
369
314
315
296
269
311
336
293
300
341
369
335
260
274
308
294
284
304
315
290
383
334
364
259
294
287
261
346
279
296
356
305
207
297
312
319
344
351
281
355
299
323
291
376
281
215
377
328
237
322
354
295
303
376
320
325
376
304
224
333
370
307
290
322
316
323
273
295
268
305
347
293
308
371
241
294
330
226
308
282
361
384
365
372
335
340
287
337
375
274
412
350
292
332
316
348
312
337
323
379
315
339
331
324
339
370
301
348
354
313
274
334
332
292
315
325
289
293
283
374
235
359
343
374
380
266
292
319
306
312
412
299
297
366
295
283
370
264
289
310
317
365
326
342
289
248
313
279
292
252
352
323
330
312
206
256
377
286
350
304
287
262
374
265
324
383
351
220
305
267
296
251
259
330
267
290
258
227
346
289
354
308
290
325
304
339
299
358
317
238
233
232
307
276
377
309
386
263
293
364
362
358
329
282
261
363
311
408
302
364
278
357
291
362
310
320
236
307
295
232
327
393
361
356
326
328
353
309
376
232
315
306
373
262
229
347
394
302
252
283
298
318
381
355
353
278
274
252
268
317
204
286
302
324
332
264
321
288
395
341
371
308
347
304
290
375
398
333
307
280
325
271
358
205
296
262
292
301
296
280
369
367
376
276
370
295
355
317
382
320
211
368
245
337
366
312
406
306
284
434
315
275
302
399
376
283
175
277
323
342
349
280
361
313
316
302
276
299
316
272
355
257
312
269
341
265
291
327
317
246
355
285
208
292
385
310
327
315
315
278
348
348
280
250
303
268
327
330
384
375
257
286
346
294
256
203
282
318
327
269
261
308
367
353
293
319
274
299
341
338
329
396
330
282
348
448
354
368
344
336
325
288
365
408
297
341
365
360
260
263
302
301
324
286
356
335
277
351
219
332
375
332
305
343
301
314
303
333
381
357
373
276
234
267
313
304
270
362
272
182
280
280
359
234
265
269
387
291
305
339
417
404
251
361
394
283
298
410
415
344
370
303
360
351
277
254
358
326
298
248
218
304
346
326
320
399
261
377
294
345
386
209
311
246
267
299
309
276
367
289
285
246
277
281
282
314
305
312
391
292
306
314
326
282
275
354
297
260
313
320
282
286
286
324
314
372
323
304
338
316
313
291
274
332
332
289
336
328
221
367
300
301
322
297
358
315
332
292
203
378
234
328
280
428
327
314
276
384
368
394
337
308
422
371
317
389
328
282
392
375
259
324
321
293
263
300
301
319
289
309
308
341
334
280
367
276
364
331
309
264
335
321
329
412
256
296
295
205
348
291
397
353
213
280
301
310
308
279
309
401
339
344
327
394
350
346
310
321
304
254
247
324
232
315
366
271
360
311
356
295
308
338
313
312
332
347
314
300
295
319
317
303
356
304
316
311
305
328
220
268
261
392
324
343
276
319
293
277
369
293
364
319
391
347
295
337
364
288
275
294
275
312
365
283
336
405
364
373
416
282
331
354
365
296
265
283
283
369
310
346
346
354
293
188
363
333
340
347
320
280
335
313
286
328
309
276
220
249
300
423
339
269
405
305
382
350
318
303
386
343
352
392
329
328
313
267
396
234
328
327
286
241
273
412
265
283
316
340
324
341
260
266
270
287
288
353
339
331
322
363
275
233
242
392
277
291
344
314
292
400
334
223
290
346
335
311
249
334
305
343
385
346
304
304
296
339
323
310
301
273
356
341
371
375
295
255
280
311
375
338
297
367
363
285
384
390
304
378
366
300
344
391
288
324
299
337
371
274
382
382
366
384
409
355
299
330
394
251
329
293
304
388
370
358
265
385
405
300
336
261
298
299
257
350
390
290
376
402
327
288
329
275
336
325
332
183
280
322
343
282
328
296
280
293
322
339
269
338
288
285
292
301
295
295
302
367
335
258
472
346
258
293
398
259
424
273
265
333
395
271
289
338
327
326
270
294
320
326
298
273
374
330
336
277
301
302
245
289
278
337
292
316
340
299
314
244
343
372
274
315
355
365
285
279
312
341
297
339
313
429
254
264
363
307
175
269
370
334
262
227
361
322
388
367
318
314
280
290
381
321
320
403
311
266
344
257
333
412
298
380
308
330
241
370
299
264
265
386
244
363
310
270
304
278
300
286
356
380
251
385
284
330
312
359
291
393
249
325
354
301
337
417
340
273
365
245
344
240
345
348
314
347
220
336
323
310
330
280
275
348
344
343
326
303
303
374
304
279
313
298
361
258
324
332
343
316
360
388
304
318
336
302
360
259
354
229
333
322
203
307
349
359
309
310
351
377
297
267
315
288
310
332
273
342
272
322
400
319
316
283
311
334
240
315
318
385
270
369
320
353
320
340
334
366
270
284
327
329
402
260
340
278
317
286
306
374
281
271
298
231
263
304
333
284
345
268
366
319
254
239
352
341
330
377
312
252
394
319
318
324
347
307
274
301
307
349
330
302
359
374
459
336
229
324
361
303
305
294
328
321
359
318
355
305
284
183
377
356
381
309
305
404
287
393
358
331
247
301
324
337
325
371
323
371
361
188
357
332
305
264
296
273
289
364
337
260
295
374
262
370
372
295
358
292
200
253
223
260
342
327
415
224
385
273
351
233
375
307
321
333
333
288
348
294
364
267
330
305
228
333
252
307
360
295
302
253
228
289
244
282
252
307
309
311
283
295
352
271
273
328
288
267
307
319
289
306
405
244
292
313
324
331
370
354
302
330
337
334
281
256
284
297
330
346
283
241
368
285
350
310
307
290
302
336
275
292
315
351
357
293
341
365
277
294
363
365
326
281
332
276
447
327
301
304
235
246
353
270
378
301
236
348
278
318
289
201
350
301
312
263
325
393
293
292
304
341
362
300
255
365
342
307
408
299
292
335
306
312
370
402
340
273
228
304
395
305
260
262
319
225
269
273
405
314
298
259
326
276
196
299
315
332
332
296
363
322
349
237
367
300
250
323
295
267
339
388
224
321
299
325
293
297
323
266
270
298
236
326
226
321
314
325
257
236
366
257
318
259
378
347
322
352
398
251
245
335
269
383
299
353
235
401
317
357
245
296
408
323
394
344
379
324
310
330
334
243
319
347
358
340
270
253
282
267
338
292
316
318
405
396
237
268
318
352
234
296
306
304
255
333
296
356
306
255
341
274
328
341
288
324
312
244
229
312
358
328
194
328
287
257
328
363
315
328
353
306
245
387
314
364
311
382
265
311
197
380
339
339
341
302
346
322
291
399
347
279
392
320
350
299
375
374
345
299
312
342
314
291
334
326
382
311
318
287
249
291
263
426
294
332
297
309
354
271
324
259
259
348
320
350
335
283
332
294
349
323
295
335
417
267
308
297
285
327
264
253
298
293
254
309
298
293
225
261
358
329
316
271
305
187
374
293
303
325
274
293
343
334
246
343
292
273
370
342
372
300
301
342
291
366
303
338
267
289
247
281
372
322
364
330
296
363
313
341
314
277
348
362
259
323
386
336
255
281
301
342
287
282
294
313
241
272
248
271
341
303
341
271
330
278
328
313
239
298
335
270
254
226
258
312
281
298
299
349
335
320
275
316
350
307
333
274
295
340
323
318
291
288
368
334
301
318
305
303
327
272
312
327
324
285
335
249
352
334
292
285
425
352
291
329
294
334
386
258
306
362
291
286
311
303
287
239
309
333
362
369
279
349
353
320
362
287
333
305
288
333
301
346
248
288
351
312
345
309
332
272
336
334
345
219
349
379
230
282
286
303
321
341
339
259
361
343
197
300
302
288
388
351
272
347
334
254
358
393
323
310
334
423
356
316
390
411
283
288
345
381
257
352
337
302
309
352
328
338
352
278
284
298
322
342
253
229
341
347
319
304
321
223
358
338
319
355
271
274
351
218
242
369
247
332
240
271
314
305
283
314
281
382
312
329
321
337
346
287
339
281
320
285
395
378
318
303
355
372
349
430
362
297
301
284
309
394
276
344
326
347
306
288
304
347
373
306
333
280
345
267
301
279
341
381
325
294
265
334
302
308
379
276
247
333
305
274
298
304
332
352
357
285
310
308
251
349
264
324
258
218
357
360
310
267
262
343
304
278
362
366
301
336
270
300
280
299
229
240
362
348
239
255
329
293
302
316
293
326
278
329
277
365
265
373
365
299
260
291
288
325
264
339
272
288
412
305
281
279
321
267
261
297
359
310
286
335
375
342
363
258
376
321
376
232
245
361
318
268
295
377
405
305
302
254
368
415
351
283
296
300
275
350
368
303
259
254
245
283
345
368
402
343
374
380
374
260
381
264
336
335
278
308
325
361
251
265
341
216
268
296
316
356
307
358
321
284
361
298
349
368
291
326
237
307
315
316
270
235
355
306
257
309
389
191
321
247
291
327
336
298
323
359
363
318
259
370
263
332
303
339
281
366
389
428
273
341
265
322
268
300
302
292
387
261
379
324
306
236
348
348
292
264
265
324
338
338
399
317
307
296
373
343
390
361
355
348
358
281
304
289
250
319
326
303
371
309
400
310
285
356
298
300
356
372
410
260
266
266
273
271
332
297
354
334
366
358
359
299
290
286
273
319
328
264
291
328
346
300
358
336
311
361
327
301
329
378
323
284
333
253
324
232
326
336
325
284
372
267
331
272
263
352
314
290
375
368
375
310
348
314
328
261
349
298
278
322
314
280
377
338
297
349
300
288
392
347
291
322
263
242
251
396
258
327
252
365
268
325
277
310
332
303
300
280
294
322
329
308
352
304
347
307
316
373
423
345
387
308
332
233
384
318
316
295
291
277
350
326
284
319
274
282
294
341
293
369
284
255
315
355
356
291
312
341
377
337
253
332
308
304
342
285
217
302
313
223
322
337
272
246
283
339
340
234
277
283
317
297
351
263
337
303
227
314
330
372
348
311
319
381
374
311
311
244
319
290
287
295
331
317
320
269
323
324
313
293
339
249
370
303
369
347
242
243
398
365
337
314
375
362
366
223
341
288
276
341
350
343
247
322
265
321
271
303
389
382
336
345
310
237
344
317
412
253
368
312
350
336
316
307
317
265
245
294
370
314
300
304
305
300
296
346
236
271
296
297
327
348
331
309
230
302
322
315
334
322
317
306
404
306
275
377
304
282
340
317
253
279
279
340
393
257
303
343
239
371
365
263
334
332
304
295
293
291
297
267
254
320
369
315
337
273
277
249
315
266
366
256
260
315
397
356
272
276
320
356
309
282
317
317
245
298
354
280
324
400
277
324
346
311
241
338
299
289
208
252
259
303
318
328
296
418
404
310
225
366
275
351
307
306
397
361
263
378
349
330
307
315
321
258
265
306
334
361
265
311
282
275
278
316
345
383
239
316
307
403
270
311
253
283
265
373
328
335
374
329
298
222
327
345
292
283
289
279
222
368
338
375
273
405
293
344
361
317
261
361
321
342
250
365
287
392
274
354
328
367
351
334
356
277
359
389
256
294
353
360
358
351
220
272
247
329
340
327
267
314
311
220
320
276
318
410
334
279
299
328
331
279
299
367
311
342
351
326
334
335
365
305
250
368
364
337
219
345
297
284
374
360
269
285
334
316
294
345
219
271
376
384
349
259
272
282
346
285
327
274
287
258
262
332
353
457
288
389
265
402
355
357
291
317
338
242
309
232
325
345
296
309
354
324
403
391
218
295
274
294
280
298
350
306
357
258
311
348
367
253
309
282
232
352
329
319
254
395
332
336
289
278
279
365
373
384
308
322
336
311
325
221
308
351
322
352
212
312
273
292
313
284
292
307
300
294
290
325
323
290
265
252
380
281
317
356
324
274
270
370
280
275
343
315
389
369
258
375
308
336
404
327
373
394
345
320
314
306
341
422
326
299
254
315
304
281
297
324
307
241
338
373
252
326
359
394
331
281
312
340
338
303
295
325
295
319
256
226
280
274
298
290
283
326
315
328
289
384
322
329
376
276
286
342
341
324
349
283
392
327
308
262
361
341
281
339
271
291
337
307
346
389
342
251
282
390
308
345
309
279
367
323
332
405
295
304
268
271
206
269
355
369
341
278
314
316
261
329
361
217
385
282
298
319
375
212
330
212
353
332
333
332
287
332
250
282
287
332
257
343
312
314
351
280
295
373
399
268
251
383
304
333
289
372
364
331
360
297
301
319
295
286
297
230
384
251
356
324
288
329
238
334
367
348
289
269
318
283
312
308
330
292
356
286
279
297
238
309
268
271
286
265
295
332
312
344
362
296
249
302
287
312
314
326
349
268
312
317
362
326
339
403
322
330
320
259
341
330
323
293
371
328
361
260
299
276
365
306
260
324
297
339
325
286
298
344
303
283
264
283
362
319
281
301
294
248
296
360
368
374
320
330
310
301
315
320
355
271
301
242
285
347
324
267
354
428
310
317
228
291
331
298
309
345
308
217
323
287
275
390
299
275
326
274
289
336
362
302
395
392
311
318
311
290
341
400
342
204
286
347
261
318
325
312
307
320
303
321
302
332
294
297
288
271
314
281
273
269
268
333
352
308
279
266
328
379
401
295
358
317
326
304
364
272
346
213
369
255
347
306
351
313
304
351
311
390
301
308
258
349
307
359
263
368
278
256
310
380
306
248
411
389
259
348
289
386
344
354
344
386
292
431
292
235
363
355
326
379
330
276
300
253
304
273
322
363
284
315
379
363
372
307
340
369
278
395
349
309
465
305
271
309
234
333
317
173
361
323
282
310
258
301
388
358
364
342
353
349
283
278
273
307
283
328
326
307
354
364
283
247
304
219
419
289
212
274
361
324
353
314
431
306
337
312
299
317
322
408
272
216
294
374
406
383
269
256
342
319
305
386
216
265
345
303
276
368
276
276
347
356
256
270
264
249
300
342
267
357
322
337
413
382
277
282
288
349
345
314
381
330
308
300
348
302
241
366
327
361
313
276
338
296
405
285
344
293
392
269
335
289
292
370
305
320
274
266
266
308
275
359
276
401
349
352
373
369
249
290
337
266
388
289
391
266
252
366
359
383
350
290
308
236
354
318
262
223
301
303
255
376
325
319
262
377
330
332
338
318
269
339
342
360
278
253
340
314
301
302
310
297
348
300
314
360
273
281
314
375
285
279
296
338
280
239
362
246
249
251
295
286
281
343
296
278
368
293
297
387
307
318
247
331
331
287
287
407
363
279
349
400
248
330
293
274
280
317
272
301
286
388
299
296
296
338
365
356
329
316
371
352
341
323
276
287
345
354
274
312
322
345
225
372
339
290
373
341
316
331
345
331
312
389
312
278
322
273
292
335
327
316
274
330
321
368
226
281
300
341
346
338
309
272
337
361
349
398
295
358
289
324
296
314
283
271
342
259
298
384
377
307
361
306
325
271
285
261
329
287
191
286
377
264
274
300
336
332
249
257
388
328
367
308
345
383
349
270
240
229
351
304
304
301
294
356
296
259
388
346
363
336
298
272
387
281
311
265
338
326
292
353
366
338
305
336
341
339
366
252
280
271
242
338
247
283
299
307
295
327
398
212
293
308
298
313
345
312
321
383
302
351
331
281
266
330
229
217
318
351
338
356
300
303
332
209
403
374
296
337
321
286
270
344
304
313
312
268
307
309
320
309
289
274
300
214
339
282
357
352
345
403
260
292
286
370
318
278
282
282
338
272
238
319
326
312
214
282
322
347
375
326
308
354
273
204
277
287
277
335
261
302
254
329
315
301
273
348
295
329
319
305
297
295
246
330
317
215
370
375
317
363
258
316
302
311
298
349
295
314
385
278
265
259
351
339
350
306
287
333
305
359
357
338
300
320
362
285
312
321
309
278
289
272
327
347
365
306
260
311
312
274
314
301
227
369
378
386
306
318
304
281
303
282
347
330
313
296
297
254
358
298
343
385
330
271
294
341
415
286
356
355
343
340
366
313
359
349
276
330
337
280
324
305
288
263
306
328
290
339
373
335
388
364
356
273
306
292
313
352
268
337
333
365
269
294
383
245
306
362
359
289
275
336
268
337
383
345
319
311
331
301
295
272
334
362
328
354
321
330
298
305
315
281
333
335
278
330
297
314
313
353
369
338
277
365
283
314
267
311
282
279
393
313
329
268
362
348
319
344
272
265
343
312
268
343
352
338
385
358
351
239
310
349
297
297
315
284
359
266
337
355
280
324
346
275
307
288
320
339
361
323
400
321
301
345
333
407
314
254
312
340
366
326
411
285
279
250
330
337
345
282
379
298
282
250
289
345
279
311
330
324
349
295
338
189
345
250
285
342
292
294
276
216
296
253
346
327
308
361
315
287
311
331
271
300
333
307
298
312
333
283
409
353
330
354
342
303
335
301
268
333
310
314
356
359
317
360
303
298
397
356
303
299
258
281
283
297
284
259
373
346
317
303
398
378
321
267
285
309
359
334
346
282
292
275
201
285
292
323
355
301
330
373
377
301
226
323
272
334
338
333
315
257
300
301
288
293
206
278
278
305
331
291
223
270
357
326
272
353
287
310
277
325
384
353
324
337
253
274
188
297
338
338
278
384
365
393
294
251
321
295
285
371
373
281
332
363
288
330
308
290
384
242
322
298
341
334
282
304
344
292
396
348
312
353
363
325
243
287
309
348
368
281
329
279
318
329
244
303
317
357
369
315
373
365
305
364
319
390
322
309
293
382
298
317
281
307
345
220
281
223
351
323
283
292
329
369
242
358
308
344
382
328
361
328
352
391
363
321
242
373
333
278
356
305
311
327
315
238
282
230
306
327
313
293
219
231
280
356
383
380
258
317
353
287
260
294
280
272
306
306
326
363
263
384
288
423
315
360
297
328
234
328
346
285
317
324
247
262
354
288
271
311
315
329
323
266
266
260
241
329
364
296
271
336
304
317
364
286
258
322
297
379
332
270
315
384
351
347
299
350
353
407
299
275
347
264
306
309
283
282
315
303
344
298
323
301
211
301
356
302
260
335
281
315
287
275
277
286
343
298
302
297
340
353
310
202
291
347
380
364
174
347
313
279
331
390
337
268
290
242
319
326
360
372
292
323
300
252
349
313
344
296
284
332
341
294
269
319
329
322
245
315
309
325
376
348
232
242
211
384
290
285
367
285
375
238
300
347
294
240
327
335
283
326
259
290
316
321
341
336
271
279
273
242
350
267
272
370
279
277
329
249
265
331
321
296
320
300
294
258
286
254
240
186
362
299
269
309
251
373
338
315
238
317
295
389
289
321
328
312
302
355
350
237
338
363
274
358
319
342
398
240
320
275
320
376
311
324
312
358
347
303
311
350
361
233
334
252
287
329
226
348
304
386
336
353
336
216
245
346
311
346
332
254
377
429
222
266
270
298
301
382
364
245
428
360
277
365
363
350
372
332
299
333
364
211
343
324
260
277
276
352
280
364
336
325
286
332
356
272
369
320
368
267
293
387
293
323
349
356
336
316
321
315
345
386
278
200
318
271
388
281
339
365
356
274
319
329
299
346
347
306
219
275
268
323
332
332
328
328
222
308
298
411
314
271
304
314
323
244
350
369
342
293
367
287
305
348
334
301
278
341
320
393
282
285
302
358
295
351
303
308
331
356
340
403
341
254
375
212
252
228
412
332
271
366
336
334
380
293
304
289
369
347
347
314
300
255
350
370
323
367
318
310
307
309
331
316
241
394
282
279
367
286
312
260
384
243
377
345
251
371
329
298
402
307
314
351
384
308
331
265
397
306
343
372
290
405
296
329
268
269
244
342
298
292
339
328
316
395
355
323
366
303
363
298
211
254
273
316
308
263
347
297
349
302
281
274
332
322
214
368
300
355
342
402
314
306
314
335
278
358
288
284
308
331
289
366
226
276
348
430
337
407
359
317
344
311
328
378
332
292
241
405
275
325
371
273
354
288
247
269
348
311
269
410
270
356
404
331
363
365
370
316
344
346
283
313
303
322
280
333
320
351
346
338
252
384
274
183
304
280
291
281
327
393
356
263
233
308
280
231
375
324
383
255
341
253
383
315
335
375
362
293
410
363
400
338
302
206
291
384
397
339
368
300
302
318
379
295
343
370
377
313
305
339
327
218
357
347
217
296
342
321
241
236
252
303
312
318
299
312
293
350
294
279
274
359
291
349
342
311
321
375
369
328
342
267
304
321
388
347
336
333
266
351
385
274
338
410
328
350
246
369
361
271
257
293
325
396
283
262
337
387
298
395
304
338
299
284
241
350
347
284
376
338
350
244
296
319
272
295
282
282
324
274
301
251
333
289
222
310
254
271
327
303
326
317
314
378
312
333
274
289
284
358
293
328
321
318
234
309
264
351
321
300
393
353
417
248
353
263
300
347
367
289
369
299
325
401
303
246
213
306
233
329
288
287
279
356
354
334
397
302
311
311
279
274
239
340
234
315
287
307
279
316
300
248
300
332
316
305
307
313
294
281
313
376
270
270
298
300
328
279
243
385
303
270
350
317
253
359
350
363
317
326
289
279
314
336
395
301
328
289
329
229
270
339
342
389
236
220
375
269
349
308
275
358
253
283
347
282
294
224
379
278
287
314
206
271
353
362
332
393
283
322
282
327
379
342
293
293
299
331
372
284
242
316
272
339
304
307
338
289
326
297
339
284
356
349
381
293
396
303
284
347
356
347
284
318
327
390
293
215
350
337
270
287
308
396
305
283
358
377
365
268
317
333
423
358
352
338
310
316
333
334
314
297
387
326
236
324
357
360
340
359
315
340
284
350
266
404
335
320
329
297
304
389
259
309
275
378
333
343
363
288
407
250
277
295
328
289
251
406
423
311
413
291
393
234
271
304
299
347
311
302
345
320
321
278
263
418
306
308
271
319
258
290
369
313
386
292
392
277
352
320
321
372
379
341
289
247
295
322
333
229
301
290
273
315
328
239
336
388
289
336
335
305
270
289
339
348
287
215
297
326
399
244
447
394
369
368
323
321
345
271
389
394
275
380
285
341
242
332
354
256
393
362
330
386
307
337
275
341
290
229
256
236
397
322
291
295
258
321
251
241
273
314
282
339
336
423
384
286
299
380
229
395
259
374
306
268
280
342
265
249
351
288
353
339
373
291
332
361
284
338
315
277
278
344
280
354
346
273
225
293
393
375
290
359
319
276
259
375
332
355
283
297
355
361
372
313
310
325
213
373
316
347
263
284
395
295
381
324
243
338
387
350
231
271
366
309
335
345
329
265
262
281
349
281
252
273
322
308
308
402
332
272
336
230
384
209
306
359
315
242
361
300
226
334
310
357
277
257
412
282
308
301
355
374
315
266
295
297
358
309
304
380
364
306
348
328
317
385
342
334
329
270
302
363
339
292
253
346
310
282
369
247
300
330
250
286
283
303
358
323
291
299
311
269
326
335
330
307
347
287
235
253
408
374
268
306
332
270
371
329
322
300
376
319
305
260
284
302
294
256
237
352
248
352
284
247
311
356
312
356
318
226
264
292
310
356
296
335
327
220
311
290
275
249
337
295
197
305
343
247
337
364
326
332
306
279
308
252
225
314
393
317
329
326
283
219
381
345
190
329
367
326
354
254
353
352
289
318
374
236
271
292
243
286
303
317
327
270
377
348
332
332
336
247
275
319
375
313
314
417
258
256
291
261
298
417
269
310
218
304
363
309
390
245
291
260
323
361
306
289
348
276
298
306
309
403
297
352
356
320
310
279
310
316
302
309
348
333
316
336
207
310
412
315
328
262
277
286
341
289
321
314
355
313
313
303
293
316
380
296
360
338
284
258
335
279
284
329
281
353
277
223
317
313
329
297
262
289
261
297
278
246
342
342
374
306
314
325
299
297
349
297
314
332
257
299
299
305
267
272
328
402
363
343
309
384
289
296
361
376
258
324
318
346
341
318
316
291
382
330
384
270
295
335
284
308
356
328
308
338
281
255
322
264
228
399
344
385
244
249
303
316
346
314
264
270
255
302
321
341
289
317
305
280
320
325
289
324
286
240
486
346
384
281
309
281
330
301
368
319
360
286
331
290
309
341
316
341
310
262
393
244
323
308
308
363
332
292
306
352
381
296
277
370
289
325
291
309
317
418
303
309
265
254
413
307
371
277
390
257
311
277
301
383
341
317
328
393
286
264
283
279
387
334
270
393
304
354
270
283
285
305
343
321
269
350
218
330
292
281
350
363
261
256
365
244
366
311
287
320
398
257
374
376
336
259
325
341
276
313
315
346
262
368
298
287
286
295
340
328
367
264
343
323
290
289
327
292
332
286
371
263
300
305
310
381
270
272
262
329
320
392
345
303
338
308
318
298
249
334
268
338
285
364
233
308
324
312
283
263
220
372
291
299
304
385
292
350
251
275
399
290
337
374
347
231
235
307
333
261
323
365
184
318
317
386
304
321
271
379
276
321
298
291
294
301
309
257
311
352
349
334
423
350
372
376
349
294
425
334
257
361
283
255
278
330
361
265
202
288
364
345
279
329
363
310
367
268
293
285
253
247
349
384
308
261
309
343
390
323
286
353
227
302
329
261
298
432
332
350
244
372
191
332
258
312
322
263
226
305
359
250
334
325
369
269
299
323
348
287
355
286
242
419
374
266
233
366
329
455
332
338
337
196
306
344
324
387
411
338
311
357
325
258
355
273
333
306
389
346
306
300
313
352
310
309
229
378
257
328
310
295
371
354
324
369
286
312
344
304
356
325
376
361
280
265
356
303
224
323
364
324
410
335
333
320
222
218
315
273
340
359
305
345
358
248
254
353
411
308
284
318
347
354
285
328
301
311
272
242
292
344
287
293
333
289
401
371
338
271
312
308
316
369
289
290
381
455
253
233
341
286
202
369
249
342
338
258
379
338
268
292
365
244
380
313
318
308
334
364
302
389
381
253
286
312
296
277
187
330
319
297
296
370
324
368
301
287
317
324
320
355
300
295
312
317
235
372
325
297
261
320
322
268
314
320
286
319
289
245
299
316
347
378
295
284
243
353
339
298
333
291
254
330
274
337
372
253
323
314
260
372
334
334
313
372
287
253
360
315
339
319
323
271
305
314
261
240
283
347
331
317
218
384
269
318
289
410
310
332
300
325
404
290
303
355
319
358
351
292
288
282
393
311
436
383
298
300
325
285
236
268
268
307
303
308
307
318
282
320
321
320
271
355
366
381
343
280
382
340
354
361
367
316
316
287
275
300
308
307
382
315
333
227
343
301
347
351
345
321
346
364
321
356
350
341
246
350
387
378
306
310
352
324
329
336
306
309
329
290
357
330
331
319
293
278
340
271
309
220
292
238
317
296
425
304
367
354
416
336
330
320
221
366
328
269
280
317
277
262
348
240
332
332
352
316
299
330
298
296
369
394
334
305
346
338
366
337
347
360
298
311
312
338
308
344
260
342
169
312
330
357
270
385
322
341
249
337
281
390
285
415
380
331
352
342
406
367
233
299
335
284
318
342
361
329
353
329
384
389
315
395
302
301
312
282
233
299
259
330
200
309
229
312
317
214
254
317
373
347
264
343
313
408
280
267
242
253
283
358
336
392
245
311
287
362
306
304
381
247
328
308
344
305
294
283
285
310
354
342
299
358
318
268
324
352
341
289
254
253
265
336
251
298
332
337
243
212
354
267
268
368
215
305
333
344
313
318
268
319
335
271
328
373
272
326
288
321
282
321
318
264
310
252
269
353
338
288
252
390
297
245
391
332
320
278
365
340
264
381
357
315
312
298
267
398
293
302
294
300
336
272
337
260
391
360
313
281
351
299
214
342
313
361
272
338
377
335
309
248
267
293
274
346
265
266
314
350
423
352
364
369
362
387
282
289
373
300
295
364
298
270
398
326
367
279
308
325
328
264
297
350
362
345
286
347
305
309
404
344
308
273
347
303
228
418
251
297
432
373
307
343
330
344
254
279
292
266
343
295
258
289
279
277
244
376
344
311
335
361
295
231
360
337
292
353
343
367
280
236
360
420
353
276
333
381
381
303
316
311
361
386
366
409
336
329
347
370
312
288
384
398
237
251
305
329
304
364
403
340
275
306
303
318
358
309
310
324
324
342
358
350
329
286
335
367
296
293
264
332
321
306
293
376
281
315
350
263
213
354
323
265
209
253
384
364
304
332
407
327
325
343
344
405
319
370
279
260
368
316
319
332
235
301
341
351
325
370
294
193
334
373
335
277
397
311
268
315
199
310
358
301
372
375
336
328
306
365
324
288
189
339
350
338
338
315
317
298
397
315
336
393
277
251
258
324
380
328
333
356
278
360
287
264
320
416
325
279
351
247
290
250
342
213
291
283
297
349
325
248
282
319
318
229
320
254
330
343
294
328
401
375
314
313
410
333
303
321
321
309
321
337
248
325
290
278
359
340
333
299
349
304
282
267
349
289
344
367
321
268
262
309
289
277
237
327
235
308
187
354
265
245
358
362
266
285
280
304
376
346
356
243
254
283
268
248
292
385
296
340
266
364
355
304
307
292
304
309
307
315
381
366
343
302
319
380
279
328
358
378
349
301
484
394
393
304
255
214
241
360
263
318
319
365
335
264
412
325
291
312
301
300
353
358
340
323
221
331
350
362
313
255
300
291
247
291
354
370
365
298
267
308
332
313
160
350
331
351
402
356
268
328
326
296
311
300
297
284
398
274
307
309
313
294
278
320
343
259
289
343
304
373
258
337
373
289
319
303
325
328
285
401
299
288
387
270
287
309
365
362
373
377
334
256
266
304
332
309
300
351
333
346
299
292
365
217
265
377
241
312
332
278
345
218
292
252
269
277
361
298
370
307
284
290
359
336
337
340
326
306
256
311
398
258
407
362
384
286
302
292
217
348
340
316
322
290
374
278
370
356
395
331
298
319
327
301
272
284
249
342
398
280
334
287
270
403
239
323
237
283
338
354
270
342
374
383
315
329
448
298
299
376
295
305
336
341
324
281
297
303
301
318
320
333
268
332
336
276
311
314
378
227
309
326
282
337
325
278
262
360
340
351
257
296
303
310
322
353
288
337
357
388
368
289
320
307
225
361
347
360
366
335
331
341
300
301
306
374
318
293
318
256
334
362
341
210
366
349
322
321
340
280
277
323
326
227
300
306
277
365
365
357
329
297
220
334
338
257
356
325
284
344
355
271
309
281
239
322
270
382
401
299
327
253
320
316
318
284
358
246
331
412
339
302
347
322
278
401
244
328
284
292
277
347
333
286
291
378
258
283
290
321
331
222
360
359
277
351
277
332
321
391
149
400
305
284
336
246
271
293
247
265
308
396
304
404
349
267
256
378
225
313
284
340
398
260
325
271
356
330
338
311
303
260
341
337
257
384
278
354
376
342
277
363
301
282
357
313
287
253
342
234
375
301
361
429
310
322
302
296
347
249
308
295
305
387
350
265
408
360
216
307
318
298
292
305
252
266
287
287
271
305
326
211
242
232
267
370
312
286
252
278
355
327
352
353
273
385
228
317
315
263
292
315
339
271
314
326
241
360
262
269
288
236
250
318
307
313
298
304
350
263
399
307
420
361
338
311
261
323
325
280
273
277
366
360
358
323
366
321
369
355
376
326
285
356
249
286
321
293
289
288
241
354
328
306
387
309
216
317
250
334
318
371
398
286
286
205
291
289
337
373
405
285
268
261
334
236
304
320
298
285
322
310
296
320
353
391
278
302
287
323
227
312
339
307
239
396
331
320
328
343
384
280
211
342
242
292
340
303
350
277
309
351
333
347
238
337
343
321
290
328
338
261
316
295
223
371
335
258
299
283
232
373
301
354
314
334
238
305
198
238
268
271
331
329
336
340
330
307
298
283
341
309
336
371
387
287
280
309
364
250
267
316
272
265
275
317
324
245
269
300
378
352
306
323
391
271
288
316
292
378
286
318
307
285
388
310
325
315
381
296
323
245
347
342
259
291
279
339
306
293
277
294
339
233
260
274
301
389
299
377
326
284
261
288
381
300
303
284
343
313
378
353
376
331
357
392
277
289
364
305
303
251
352
308
287
311
408
255
269
299
413
318
250
331
273
306
328
271
277
331
349
255
321
274
311
315
295
286
348
338
294
260
297
391
247
296
283
287
314
326
379
295
335
388
327
275
319
296
344
345
371
376
361
258
343
294
260
340
235
311
222
288
329
337
315
310
286
428
314
259
320
315
302
354
402
379
335
308
347
370
224
311
334
289
305
354
221
234
303
383
204
326
229
307
351
308
347
287
378
359
406
313
292
366
382
227
397
275
325
365
356
362
344
226
350
358
271
323
277
317
288
391
254
301
293
363
299
287
316
354
310
385
350
356
352
309
256
281
259
303
282
297
251
321
329
334
352
336
265
398
295
250
272
315
271
362
287
270
311
209
272
346
234
330
408
301
293
336
396
323
397
297
291
317
398
399
214
432
370
220
278
348
285
344
281
372
297
387
289
278
335
291
304
326
295
329
339
298
289
252
312
201
308
334
326
308
332
316
254
266
293
270
286
346
342
318
368
301
392
313
335
388
384
269
324
333
267
275
257
421
271
336
318
365
314
372
308
229
372
386
256
305
354
307
262
268
264
355
320
306
356
303
297
341
335
316
295
272
327
317
358
286
338
321
343
360
366
298
410
294
366
353
267
253
331
307
366
399
276
302
241
291
314
255
305
327
257
337
245
281
321
305
334
325
333
421
324
365
350
308
359
262
353
322
322
346
338
339
301
331
289
304
301
304
312
298
342
362
346
411
408
278
246
319
286
365
382
295
339
334
271
285
285
317
210
311
237
367
302
287
377
326
284
355
289
312
279
285
368
326
292
375
323
349
173
257
268
262
311
246
279
280
308
319
339
378
328
327
292
331
353
344
269
321
316
296
321
314
343
309
325
340
372
270
266
238
358
348
258
249
320
322
273
281
345
357
318
298
244
323
369
281
317
341
260
263
352
265
295
319
303
329
337
274
353
363
272
227
321
330
316
376
323
391
321
386
313
376
278
290
260
267
369
363
411
273
294
228
287
358
351
280
283
353
305
282
281
357
367
328
319
264
269
335
361
323
360
291
258
293
368
256
362
265
228
416
305
323
261
329
251
354
299
343
306
301
284
364
245
238
352
316
367
299
251
295
226
221
371
363
268
359
355
418
344
308
296
339
292
238
247
264
280
294
430
305
276
256
338
352
357
337
334
336
280
312
339
340
403
311
320
351
331
343
339
342
380
364
371
405
282
353
355
235
320
253
271
337
285
404
368
337
347
350
339
256
318
302
289
284
302
352
305
310
282
341
271
251
423
285
297
320
283
337
329
270
337
358
226
384
333
295
263
292
317
332
328
251
341
403
275
275
272
319
317
367
321
408
244
299
361
258
280
277
211
269
330
358
281
243
248
293
337
327
309
285
303
328
310
247
316
308
316
307
312
332
328
301
283
289
360
221
306
320
219
390
313
323
340
378
336
358
341
313
356
334
343
402
343
248
324
294
397
376
355
322
302
348
300
292
311
346
349
314
312
338
360
349
332
351
260
289
316
324
315
283
327
261
297
246
355
295
288
344
297
308
305
320
280
385
367
429
303
299
295
359
361
291
293
259
319
293
335
266
337
218
305
363
335
340
342
376
376
366
356
260
251
347
326
276
231
280
246
298
298
329
336
289
265
333
328
307
336
326
363
303
275
319
364
347
276
344
357
275
346
363
405
400
300
269
295
346
275
317
345
308
316
340
295
350
274
315
263
292
270
381
308
276
355
302
323
414
290
273
394
247
272
270
240
378
310
299
326
323
337
380
341
289
267
338
242
361
370
309
386
330
312
341
338
320
252
325
337
305
349
267
385
255
278
292
331
332
334
258
326
245
307
251
326
244
438
273
245
256
337
286
327
319
250
396
389
386
361
339
365
341
267
243
353
313
318
303
291
225
328
332
358
292
299
378
331
271
382
248
274
317
270
393
336
371
370
359
263
257
321
329
337
337
276
375
373
281
361
341
323
384
393
277
311
258
286
262
280
289
345
338
331
195
350
297
290
309
300
289
333
374
300
282
338
298
318
301
285
299
298
347
303
283
264
270
344
410
284
293
393
328
305
312
384
269
340
296
315
397
310
309
318
266
329
245
350
293
338
281
329
260
314
325
338
316
342
296
274
328
277
252
359
350
320
288
353
309
362
356
265
280
313
177
422
349
342
264
294
337
357
268
321
282
426
263
285
286
302
297
314
309
372
325
367
328
355
274
291
317
368
287
352
355
341
221
332
284
354
309
313
351
379
279
312
262
306
275
315
324
276
351
340
307
320
288
441
262
295
304
306
323
342
315
308
379
361
263
327
383
390
302
291
231
340
317
316
402
230
304
235
324
406
314
431
330
340
271
355
354
279
405
288
379
384
351
324
315
282
335
409
216
307
363
274
369
340
312
274
319
282
220
290
275
328
211
202
475
355
281
294
338
331
263
336
266
283
331
311
331
326
305
352
386
284
308
279
302
311
295
347
323
381
236
369
305
294
311
315
371
293
366
297
378
240
313
250
360
371
294
300
297
322
291
291
272
312
227
321
351
345
301
244
310
263
401
288
222
365
385
329
410
337
376
244
275
268
353
301
317
281
401
328
335
279
329
332
414
294
251
252
291
383
365
282
268
369
382
347
290
349
367
378
355
273
290
296
336
268
364
281
269
327
267
333
329
364
263
242
345
304
310
204
320
307
304
315
343
264
324
403
302
259
372
294
367
388
280
328
248
330
331
422
165
289
316
389
275
254
327
347
292
279
332
334
380
352
287
343
385
280
365
268
293
310
335
311
293
368
304
364
326
292
307
258
358
291
273
372
363
261
290
240
251
237
271
314
268
327
322
380
361
325
353
243
297
323
279
285
380
320
401
336
315
369
250
323
308
309
315
337
355
281
340
297
278
311
369
272
356
346
306
270
367
298
285
284
241
334
286
292
282
324
294
319
366
319
351
352
273
328
319
329
317
222
343
255
295
276
326
393
276
325
351
362
438
322
263
341
394
257
266
286
331
342
290
322
338
353
252
331
278
314
345
294
293
298
334
202
367
314
310
283
330
408
388
324
312
355
232
255
286
288
357
381
247
307
371
279
425
342
274
421
335
338
319
300
310
326
248
279
315
292
309
319
336
247
314
267
361
233
325
391
356
331
325
306
279
272
255
250
394
326
230
326
232
341
268
339
273
219
304
269
341
387
278
245
273
332
363
344
267
319
366
317
346
300
319
241
316
329
320
262
231
379
251
297
327
303
300
251
343
284
333
321
338
335
312
223
327
314
261
307
294
335
319
304
242
301
373
344
295
340
295
221
330
353
360
349
308
239
405
332
259
220
375
348
339
282
362
270
267
400
215
305
392
321
314
381
237
253
308
322
346
278
319
364
381
293
341
327
289
277
384
288
362
274
329
352
378
253
314
331
328
320
287
249
344
332
307
368
339
328
390
247
366
358
372
337
372
226
388
256
366
326
303
307
345
381
341
351
259
312
344
290
344
334
234
269
289
320
348
330
360
401
232
249
287
335
326
314
323
271
341
375
353
218
278
350
293
301
318
344
279
325
339
299
306
307
267
357
290
366
339
304
365
283
228
338
367
375
303
299
324
340
303
239
300
316
302
322
321
373
240
366
425
264
409
332
353
338
349
222
349
305
325
333
199
332
335
344
343
327
310
337
335
339
321
268
365
292
289
304
284
349
326
402
225
327
286
281
201
352
308
374
286
338
307
337
343
315
264
306
274
299
337
368
295
338
367
355
314
370
316
274
336
333
427
337
233
346
365
294
334
208
363
283
372
346
386
259
208
360
285
262
299
294
300
387
368
291
339
273
196
319
407
323
311
384
320
348
365
337
342
361
294
354
254
255
312
274
283
341
322
270
274
289
326
254
375
334
275
360
321
238
347
362
329
306
350
313
301
322
311
316
353
297
315
338
290
385
325
250
302
281
325
317
251
256
313
387
371
343
316
319
364
304
266
252
355
298
362
341
280
359
348
355
294
296
257
418
323
281
399
342
370
344
300
330
374
307
311
320
394
328
341
287
303
272
280
282
390
295
240
328
300
286
343
351
316
359
326
281
307
329
309
395
299
258
317
294
368
273
337
230
304
342
311
306
269
294
270
208
304
317
337
332
271
340
444
301
380
382
302
316
334
237
337
313
298
261
290
272
354
239
301
397
365
233
393
319
321
273
303
315
440
360
292
315
303
303
343
300
327
359
344
350
288
229
207
269
316
331
298
326
293
317
356
374
294
225
341
288
292
331
243
312
289
250
328
329
326
252
285
331
275
395
354
324
347
376
337
374
305
247
315
282
315
381
366
407
199
345
355
231
291
346
288
311
344
312
349
222
331
259
342
306
332
321
198
372
261
382
353
253
359
308
263
319
311
369
340
279
252
336
285
349
332
358
360
244
344
395
408
351
344
281
353
346
340
395
278
262
397
320
333
329
310
305
395
262
379
316
361
293
269
338
381
380
358
286
377
309
328
295
372
279
376
356
310
336
278
290
300
350
316
366
322
309
385
290
310
303
365
282
313
281
327
342
341
287
268
291
357
276
386
286
315
280
333
362
237
337
288
346
282
231
300
269
339
308
309
314
345
311
308
330
308
348
333
329
320
291
297
226
390
305
368
378
336
286
317
313
325
301
303
342
267
312
316
304
376
327
361
285
334
331
289
334
275
346
226
267
346
211
317
322
366
351
333
285
270
302
310
299
303
356
281
324
298
250
367
362
307
309
291
337
326
345
416
304
338
308
364
269
293
321
420
309
266
346
423
303
318
281
265
352
318
327
383
287
241
290
363
400
329
323
259
318
332
338
279
268
236
338
318
320
223
313
316
320
302
318
390
324
340
381
347
375
294
338
248
239
266
391
288
240
346
347
346
210
184
321
314
299
371
371
327
277
299
297
238
252
287
279
325
376
275
409
356
272
265
274
386
317
344
398
295
253
256
344
398
335
377
372
341
313
312
242
258
274
259
260
274
331
332
283
306
330
348
366
246
347
365
350
303
297
382
349
354
327
280
288
364
330
364
281
307
321
296
355
316
296
375
315
353
344
300
301
269
323
257
373
359
293
242
328
254
385
253
244
279
363
343
303
322
362
321
290
327
317
391
360
341
387
247
219
272
265
337
298
304
267
328
262
302
354
306
300
358
319
326
380
338
338
318
373
360
283
250
336
297
357
241
319
397
274
412
310
374
297
346
391
322
403
376
227
294
316
248
291
224
202
269
276
274
310
319
301
351
324
362
343
304
264
351
334
309
302
338
336
294
308
321
365
347
324
347
324
318
300
291
266
364
374
289
322
238
342
270
312
333
278
292
255
363
333
186
271
400
263
313
374
312
265
280
303
309
290
288
247
283
302
303
282
318
322
221
335
416
385
368
311
241
410
357
306
275
319
303
317
376
285
354
325
310
315
307
307
361
216
328
262
373
306
284
375
328
393
371
223
305
281
342
340
256
311
320
375
323
319
336
279
338
316
314
381
301
326
381
326
276
337
342
301
385
326
377
304
311
308
235
213
338
284
270
358
342
326
351
343
286
322
345
272
318
266
355
319
282
298
275
362
354
312
308
269
279
339
277
336
305
300
322
320
305
279
329
332
280
338
348
370
330
364
287
285
353
282
359
307
310
346
371
358
336
320
340
226
359
371
372
361
264
333
254
341
333
280
341
389
289
328
226
337
302
285
261
359
333
280
379
390
343
371
276
322
258
342
330
318
255
395
342
317
342
359
368
324
283
340
254
353
354
256
406
388
332
317
299
256
278
416
351
292
293
261
294
301
308
294
238
332
281
343
318
219
343
286
315
375
288
354
260
427
368
360
246
257
346
364
371
308
294
370
311
268
307
294
345
374
256
331
346
360
322
309
372
302
366
255
247
349
391
315
315
297
331
309
299
266
357
377
316
320
312
310
351
305
249
294
246
294
313
434
359
233
314
230
226
273
259
310
343
311
334
283
289
353
260
267
413
286
260
349
342
304
318
381
369
311
359
289
383
374
312
360
334
324
184
363
366
342
365
384
404
359
316
283
317
340
314
345
252
361
325
268
303
383
335
288
302
292
339
323
264
267
324
323
304
281
305
303
279
381
309
339
275
343
334
305
227
309
263
371
303
333
339
303
315
356
369
354
279
311
387
337
317
403
277
284
338
292
367
262
277
215
255
391
307
301
283
270
335
334
244
361
312
342
343
257
271
276
401
284
300
330
324
379
320
241
303
351
331
388
326
356
398
209
253
288
286
320
257
318
331
288
349
326
305
331
367
366
341
345
341
252
304
311
345
257
266
321
310
304
319
206
285
317
379
264
306
290
268
296
280
366
410
257
345
308
335
299
315
295
291
300
350
355
354
292
248
328
348
385
312
303
261
301
293
295
332
261
298
257
348
298
262
320
293
275
245
305
333
340
274
364
301
328
346
290
365
334
306
302
373
305
325
353
349
393
344
326
406
344
235
327
360
297
274
263
255
283
313
301
357
366
348
353
292
292
320
336
312
346
230
326
270
357
320
355
384
219
294
293
373
385
268
446
377
251
372
281
252
328
280
260
295
292
279
331
371
343
323
317
331
313
357
266
370
336
267
193
294
373
287
338
347
301
316
293
336
344
357
354
339
284
325
349
344
305
279
278
272
273
318
210
304
362
394
332
298
265
297
281
252
241
352
315
344
340
399
374
259
333
258
313
300
377
305
399
336
407
308
321
345
249
303
293
308
254
386
413
310
377
345
328
213
320
349
324
270
343
256
317
253
393
291
345
368
399
400
268
347
224
294
311
243
268
308
325
359
314
285
357
423
389
331
261
328
328
314
333
262
346
342
215
335
287
367
304
327
279
362
285
298
278
321
328
343
266
373
373
362
299
413
310
346
335
306
359
313
294
301
385
303
292
307
273
311
268
213
285
362
363
319
306
314
327
286
327
322
327
275
328
296
328
316
312
398
303
326
238
335
263
280
330
273
270
283
247
324
333
350
292
301
356
293
301
319
334
274
309
330
319
339
312
358
288
271
255
257
192
303
335
341
294
247
271
349
294
370
270
315
273
283
276
269
400
354
242
283
258
333
248
254
313
279
239
341
384
377
365
307
337
309
344
301
358
298
350
334
324
265
318
306
325
298
276
364
320
223
287
306
290
328
283
245
209
361
294
378
344
310
334
259
279
284
349
337
354
270
277
277
296
251
311
320
245
225
264
282
306
359
329
206
242
333
281
362
333
271
305
281
307
339
307
364
353
319
320
324
391
344
371
250
400
247
264
365
306
331
316
258
292
271
310
333
314
327
340
402
321
383
314
411
284
353
318
360
278
289
313
382
342
334
392
358
216
303
322
344
318
310
254
343
303
344
407
292
297
225
377
249
353
296
249
259
270
368
286
229
314
326
337
306
338
292
299
372
392
267
343
378
326
318
245
347
327
317
256
377
352
306
399
295
383
344
263
405
303
338
255
304
383
238
381
258
396
327
333
322
362
338
235
336
364
280
264
311
297
313
220
358
255
351
398
274
304
266
365
289
329
285
328
289
302
339
310
304
269
249
341
305
310
262
324
282
318
351
240
345
377
372
303
314
318
275
280
406
321
247
300
381
333
311
330
324
304
366
318
309
315
316
354
320
271
349
355
211
396
283
334
282
277
327
244
261
305
361
296
364
289
303
304
278
341
267
378
295
366
341
336
281
420
312
265
373
372
346
352
313
305
216
232
375
351
362
305
211
308
256
354
255
243
354
251
399
357
321
345
228
298
263
308
289
309
390
331
314
255
295
267
313
316
298
326
264
257
275
382
308
283
402
304
305
365
253
294
318
346
266
347
145
281
375
376
358
372
285
337
273
315
364
341
339
381
324
351
368
283
276
383
421
268
353
417
313
281
315
312
284
382
291
259
313
268
337
247
315
266
362
277
263
321
328
407
234
362
298
311
344
338
291
336
285
297
333
266
363
312
268
225
248
194
276
317
323
198
291
356
349
342
300
291
343
274
372
286
285
361
231
362
235
329
241
331
226
336
296
287
361
285
319
372
387
307
301
205
272
311
340
266
359
258
260
352
323
381
363
353
272
303
229
322
337
364
300
337
307
317
300
315
304
430
311
357
354
341
282
283
227
319
288
366
300
274
307
359
380
328
260
353
284
330
383
310
222
277
301
309
223
344
312
294
265
258
320
254
295
322
304
359
353
345
361
295
300
368
240
379
356
318
289
314
318
405
322
407
313
358
280
279
348
356
273
281
223
383
401
306
296
264
302
304
328
259
332
209
227
380
349
239
353
281
322
301
214
370
326
260
294
316
303
338
348
312
356
276
296
306
369
294
336
398
329
339
400
343
327
322
364
314
292
366
313
383
320
230
298
311
357
385
356
245
334
346
308
398
298
286
316
265
282
329
372
269
330
382
307
349
302
343
350
297
309
333
342
380
339
258
359
325
313
364
269
371
367
283
316
358
388
366
345
347
363
249
338
300
348
357
271
307
336
330
274
360
193
310
328
346
300
285
281
297
296
370
322
280
252
321
283
364
282
369
390
224
273
311
352
309
269
337
364
327
194
273
330
263
317
306
267
333
266
291
336
304
209
290
259
359
350
212
264
274
270
316
348
241
378
356
265
344
357
315
296
355
332
396
310
255
380
361
275
360
257
219
301
317
275
364
313
358
293
307
279
319
341
339
256
326
355
308
325
335
285
266
365
305
209
351
303
352
415
298
399
300
257
308
364
326
338
388
314
370
307
300
345
343
295
348
359
357
367
350
258
327
322
322
332
255
317
396
237
324
339
268
306
289
348
352
332
319
292
363
308
268
316
385
345
275
371
339
265
301
366
311
295
331
274
271
344
258
402
303
288
340
345
304
314
320
341
328
297
359
343
288
342
374
254
385
346
357
293
335
323
281
351
363
251
363
272
346
388
279
301
336
366
315
357
309
272
334
400
356
285
302
341
215
291
251
262
434
384
315
311
314
338
368
306
353
355
248
392
255
207
330
341
245
341
307
443
362
364
387
266
339
338
387
327
341
356
221
320
253
290
341
408
312
299
322
333
336
392
332
322
348
323
309
297
343
260
312
355
318
295
333
328
335
331
333
228
373
328
316
292
372
249
242
349
366
303
303
353
249
295
359
352
258
331
332
300
400
395
336
382
381
277
272
257
331
353
295
340
278
287
345
379
268
320
360
322
408
360
297
270
420
332
280
316
269
365
284
312
278
321
302
316
327
349
309
378
282
285
330
302
308
239
380
260
317
381
329
257
327
316
314
315
300
323
351
317
316
331
361
254
289
214
319
293
273
326
296
337
254
289
277
271
350
285
298
349
290
312
306
188
295
254
388
352
308
351
314
292
366
250
358
396
279
325
282
381
313
236
289
281
324
293
360
307
315
332
295
356
355
273
336
307
378
307
335
408
295
359
337
387
345
329
286
248
325
303
282
373
350
334
291
305
303
357
337
281
318
263
321
303
285
276
255
249
365
291
293
276
289
288
268
361
242
282
348
276
292
298
343
344
207
379
312
348
376
362
352
305
307
282
370
335
313
375
323
361
386
373
210
291
321
256
351
314
288
313
360
355
300
353
307
314
299
404
303
339
273
304
273
340
360
329
354
282
211
376
294
289
319
299
284
267
201
384
276
295
290
314
347
359
281
257
372
233
272
370
337
345
359
288
365
285
316
382
300
349
343
198
334
240
288
355
375
373
246
283
340
333
256
356
368
339
296
316
364
254
383
313
236
383
323
298
329
280
305
297
317
321
276
304
370
267
323
294
270
371
325
309
294
323
385
266
324
282
254
377
341
303
281
322
320
308
311
254
242
263
326
305
291
315
341
325
334
284
292
330
332
295
353
402
381
318
325
347
286
400
238
325
349
295
281
274
204
368
202
316
278
245
319
288
280
281
390
319
296
288
332
349
324
353
332
374
344
297
360
316
348
324
278
291
336
334
347
269
326
337
282
304
331
334
292
232
303
357
340
319
270
299
425
263
397
367
242
328
302
411
344
267
327
326
236
391
248
341
274
303
312
296
269
335
342
275
366
337
348
249
274
350
275
353
349
358
248
301
252
319
330
300
340
325
291
183
271
245
342
242
296
256
287
345
350
366
280
264
376
280
369
325
282
258
385
369
323
311
345
357
239
287
345
272
332
302
337
403
307
326
327
371
354
405
363
248
288
336
365
284
282
394
307
310
351
296
338
331
257
313
297
312
241
338
323
281
329
336
304
366
347
296
349
299
312
250
321
270
358
348
416
306
306
316
235
361
281
285
341
334
346
338
365
356
309
294
345
351
332
258
300
315
280
294
326
321
332
273
335
306
307
353
300
269
325
343
225
209
303
322
303
355
336
288
346
311
303
259
247
343
351
236
308
436
316
263
316
366
280
341
241
263
356
350
316
299
313
402
271
333
306
279
367
298
382
346
408
358
248
332
322
334
249
275
322
304
294
280
323
315
336
290
284
288
352
385
381
370
355
332
308
260
234
327
321
324
330
333
384
302
278
280
327
241
319
307
383
288
366
276
326
364
318
321
385
340
315
339
266
386
348
247
274
370
251
324
344
260
320
326
306
293
323
325
268
330
277
372
268
278
270
172
298
236
412
284
291
305
304
313
267
270
268
299
274
418
257
313
405
337
339
304
287
340
280
299
339
308
316
387
354
253
341
299
210
326
318
349
304
335
361
310
294
268
352
380
308
320
273
350
309
430
307
337
390
371
352
407
279
332
316
281
288
359
329
363
276
272
318
256
240
313
357
344
384
346
244
340
344
342
380
320
356
316
215
337
377
322
338
323
324
334
348
301
292
282
302
266
326
313
371
275
344
319
365
319
294
257
335
342
309
294
286
286
308
356
266
255
353
339
236
307
295
233
266
275
359
337
346
311
331
263
346
432
321
339
246
293
363
304
268
409
265
348
306
325
232
419
334
352
348
279
312
250
315
334
267
290
260
376
338
312
378
359
312
355
315
319
328
328
328
327
274
301
410
347
286
320
343
280
332
316
338
301
298
282
316
347
398
269
365
288
371
323
332
300
332
313
306
281
308
285
344
273
404
350
351
301
201
310
341
354
250
333
308
318
371
260
367
302
315
328
341
349
342
318
296
333
376
316
287
373
260
243
311
316
297
260
313
352
331
245
325
268
340
324
344
329
218
307
284
292
304
313
364
334
352
358
255
298
317
278
309
342
297
373
215
313
306
356
405
298
365
290
273
408
349
282
319
284
275
347
350
349
299
334
337
358
299
293
362
242
331
310
351
359
271
339
373
381
289
268
342
308
341
285
374
275
302
283
327
340
318
204
241
383
296
355
238
314
250
333
279
291
202
267
334
408
345
353
372
352
273
276
362
348
276
327
287
342
336
330
320
303
281
280
345
332
293
340
343
281
397
288
354
383
410
336
254
271
345
303
357
215
301
295
353
347
312
357
345
290
284
242
246
313
327
348
236
278
303
383
274
283
248
318
289
374
258
332
339
294
348
365
348
295
348
284
332
283
342
273
383
315
371
331
352
348
307
305
294
277
222
195
298
341
357
284
285
329
382
295
393
316
312
286
273
321
291
294
265
355
308
280
377
270
288
258
266
258
343
340
247
349
358
273
291
253
336
298
247
283
251
267
350
297
298
276
337
345
253
284
353
292
380
280
279
342
393
252
300
308
352
312
341
416
392
273
275
288
366
317
239
257
323
246
278
309
326
260
325
341
345
222
358
382
338
214
323
314
345
313
322
317
234
322
416
264
412
274
269
292
272
301
293
244
291
313
371
317
332
387
325
327
350
325
263
266
278
336
265
225
313
281
387
324
241
334
312
397
262
347
299
378
286
330
340
396
403
173
263
266
324
220
246
311
306
409
361
254
300
286
256
278
283
376
323
249
300
324
301
331
277
302
205
345
313
227
299
280
337
271
293
385
286
401
237
282
382
357
268
373
367
342
324
281
315
318
275
311
321
406
338
331
366
277
298
291
296
287
289
286
370
267
312
301
345
327
331
324
370
327
251
357
298
241
339
370
296
304
334
291
307
331
348
287
294
340
283
302
368
210
273
369
196
373
323
334
237
295
332
229
240
335
336
307
325
325
279
331
388
399
333
322
315
302
296
334
260
302
397
271
319
345
316
383
332
363
395
316
364
321
331
369
306
358
381
326
338
259
321
405
255
270
190
340
303
329
319
265
356
290
343
277
370
278
316
206
279
306
251
360
353
312
386
316
365
383
302
266
340
391
358
248
262
299
346
296
305
333
286
246
238
380
303
323
347
310
308
305
267
307
232
330
365
311
299
374
346
348
341
371
281
296
317
320
308
236
347
292
349
253
244
282
272
225
391
314
286
257
326
316
393
274
357
303
339
362
317
233
275
340
330
248
306
329
254
288
230
325
289
297
366
341
302
341
360
272
313
323
410
321
349
339
304
335
282
346
288
325
262
346
200
315
389
307
347
282
365
268
267
297
296
293
319
361
336
341
255
254
344
334
299
349
270
370
255
265
294
351
356
243
355
384
301
264
340
270
298
261
290
282
336
279
243
339
309
329
360
301
364
296
282
375
275
323
289
266
338
305
367
364
244
320
323
241
354
262
292
345
356
332
406
312
350
304
257
370
327
316
272
238
352
290
261
392
212
330
244
333
301
283
277
318
262
381
352
357
296
347
292
210
294
395
347
356
347
345
238
283
326
305
361
345
362
311
313
316
342
336
317
234
267
250
268
308
272
312
335
395
308
318
364
340
233
313
381
231
319
334
341
340
301
294
355
381
380
316
317
347
334
330
346
261
303
320
310
310
273
334
355
315
253
270
258
200
291
312
295
323
329
320
278
334
365
307
241
328
365
329
299
268
340
269
317
230
290
333
324
301
232
248
237
337
389
253
303
285
282
255
334
315
239
273
301
350
349
326
387
336
376
281
300
401
316
331
374
362
385
330
347
358
275
269
312
242
289
254
344
321
376
336
332
385
372
331
292
294
337
348
317
278
298
290
264
317
291
239
388
300
321
311
381
325
336
275
312
336
280
294
325
377
290
304
327
351
319
316
185
400
365
312
297
331
331
307
325
399
322
292
310
333
279
340
260
377
261
272
292
290
265
265
294
341
275
311
379
262
328
276
349
343
263
325
297
297
313
306
295
384
330
306
325
272
234
321
297
335
262
197
364
290
362
339
303
346
317
228
263
374
389
291
253
274
283
309
258
285
307
297
317
297
267
290
299
322
277
213
333
284
367
279
348
291
351
260
417
295
295
273
371
269
331
336
309
328
334
340
365
334
329
341
333
359
386
298
330
369
185
340
293
325
300
287
343
313
320
270
408
321
339
325
376
228
299
400
332
320
351
356
301
340
361
342
273
346
327
277
248
320
411
328
239
350
274
272
314
393
420
316
285
270
367
268
261
345
346
309
383
306
287
304
358
242
378
319
343
295
308
279
297
306
373
356
308
265
331
346
309
342
294
280
331
240
399
348
354
330
357
374
332
381
258
326
344
304
327
333
232
339
310
336
390
338
330
325
337
287
321
254
354
360
321
385
264
335
360
413
294
321
354
371
324
324
303
351
310
319
284
298
310
316
347
336
285
372
256
326
327
283
319
256
335
271
298
312
244
228
395
290
442
355
319
263
353
334
355
321
254
377
284
378
323
353
405
270
264
421
406
334
343
336
362
375
368
338
270
305
347
243
346
291
287
287
282
357
297
335
345
230
250
277
238
268
322
360
321
266
278
303
274
305
264
192
298
252
352
370
371
300
386
312
338
362
279
213
355
282
427
249
303
340
348
300
333
318
386
306
321
338
275
280
379
352
271
277
345
375
336
361
214
367
300
326
279
266
305
349
288
291
350
267
286
347
297
380
254
320
304
296
218
320
310
244
388
178
280
264
290
337
271
357
239
353
364
317
234
283
291
344
284
329
274
298
298
330
371
330
309
321
243
321
297
294
320
297
232
330
310
417
376
327
377
301
353
282
405
353
292
393
250
256
322
391
254
329
271
271
265
317
348
296
357
333
251
282
318
335
401
334
328
270
338
277
326
288
330
272
320
358
355
292
313
294
237
324
283
281
289
271
281
349
253
281
309
323
268
345
310
302
306
343
234
347
427
260
298
311
382
257
302
345
237
360
362
296
285
347
354
286
293
340
378
284
295
269
376
268
300
311
267
246
318
263
390
326
248
316
219
364
264
308
343
341
336
347
294
280
290
371
330
358
249
304
364
375
339
326
343
339
222
281
336
323
291
247
296
298
259
235
373
293
279
379
392
324
321
307
365
397
305
218
341
339
258
348
320
346
365
367
440
367
314
301
358
265
361
265
320
348
358
270
300
292
267
241
305
269
316
329
327
220
346
286
283
307
315
350
284
299
292
350
268
319
298
279
279
260
320
307
291
312
297
345
345
284
357
299
314
277
286
324
357
300
351
302
367
321
293
325
301
400
424
319
232
422
248
294
345
204
399
358
305
240
325
379
349
253
391
324
360
308
345
307
320
277
358
321
418
241
414
267
300
304
374
294
263
335
344
276
254
281
291
316
407
347
313
324
297
387
304
301
399
244
320
248
267
373
362
264
349
264
376
284
304
370
276
283
345
314
298
290
313
305
320
340
273
323
364
300
326
379
328
300
259
299
302
211
314
294
316
334
318
284
315
334
308
337
293
375
365
362
322
394
412
367
170
345
232
372
322
395
379
262
301
318
408
295
294
314
298
384
303
345
306
359
334
321
334
401
385
324
306
334
377
323
379
252
268
228
255
306
376
312
277
274
367
347
325
305
372
306
368
373
331
297
304
308
292
198
271
328
321
316
321
344
330
411
244
231
317
339
244
322
333
217
251
292
282
371
273
334
342
347
290
274
331
364
305
405
272
231
409
372
323
284
353
261
368
248
279
300
258
265
340
289
317
326
370
340
273
285
367
297
298
322
304
305
321
313
309
250
247
318
378
240
363
356
269
228
342
257
277
340
350
337
326
304
261
339
349
338
323
392
316
277
291
308
305
286
324
300
407
301
379
325
289
293
283
281
369
343
242
245
302
378
363
335
297
333
381
365
306
238
344
286
279
316
302
334
342
328
282
273
323
250
385
317
349
333
333
386
339
296
317
355
273
415
325
259
323
204
244
366
332
323
315
240
389
277
261
256
369
311
237
279
322
298
243
339
336
305
385
255
401
339
286
319
363
288
305
376
275
309
334
257
291
380
303
378
330
328
226
258
400
306
365
333
240
242
363
329
287
352
280
266
302
298
283
283
311
279
347
347
329
317
285
319
240
308
326
370
327
280
369
319
308
293
401
346
302
236
348
357
381
309
315
335
325
401
336
358
372
299
208
325
299
270
439
357
301
323
334
207
274
306
291
262
372
345
281
279
327
316
369
266
346
282
333
399
250
307
436
327
307
356
401
284
325
339
327
361
325
326
341
344
298
342
245
291
294
343
204
314
367
299
375
286
301
206
319
338
277
339
268
365
311
403
379
260
302
223
401
277
249
257
357
313
314
314
291
405
317
385
327
205
364
277
344
365
277
281
367
331
319
285
295
345
383
291
373
363
257
279
285
270
310
355
321
372
363
286
383
329
297
249
292
293
334
252
304
280
328
317
309
387
293
345
356
313
284
354
330
343
332
285
356
274
300
296
304
322
351
290
334
236
347
261
265
347
303
234
300
344
341
317
304
344
227
281
324
279
305
333
277
308
301
334
305
420
359
323
355
308
296
333
295
333
323
309
305
327
308
339
384
331
350
227
325
330
349
369
295
259
269
226
288
310
338
313
378
293
330
217
335
257
304
296
253
349
328
332
302
338
375
314
295
302
270
354
408
241
295
216
407
368
354
304
375
355
286
347
279
295
311
346
358
322
318
340
290
340
262
299
370
254
357
318
327
327
340
365
346
310
308
343
265
325
237
323
349
313
345
311
359
302
298
267
261
265
368
316
406
314
281
325
329
314
330
274
300
275
328
338
319
212
247
366
364
311
327
292
238
281
321
344
346
376
368
286
376
345
327
268
335
321
309
369
343
367
304
269
355
333
396
318
263
343
395
303
366
246
376
331
353
373
387
324
351
336
297
272
325
261
319
346
323
323
300
317
305
372
318
223
366
347
243
381
350
326
279
318
361
306
291
204
258
299
344
370
375
320
220
304
320
370
336
293
441
318
275
282
305
269
338
379
340
216
371
346
339
288
222
354
326
313
311
375
309
291
391
310
279
352
309
310
235
326
369
339
353
344
380
362
309
331
378
286
276
311
351
363
281
220
340
310
406
399
178
293
344
313
277
381
270
297
285
320
355
306
346
275
278
366
342
334
292
260
358
355
327
415
336
336
298
262
273
327
251
271
250
365
254
317
289
317
303
324
279
292
338
355
312
312
285
341
274
334
360
377
404
346
300
299
287
242
349
315
299
309
281
304
346
309
201
306
307
290
335
318
241
328
250
255
300
298
346
338
376
229
349
264
286
314
340
381
351
327
296
271
377
347
259
261
274
395
293
298
321
288
241
341
288
263
376
298
307
269
292
286
295
358
284
316
227
390
332
274
348
366
278
346
281
382
331
271
267
340
285
257
302
278
343
351
286
291
356
324
353
367
380
371
339
396
312
269
250
284
374
305
373
277
347
283
319
346
367
391
323
266
371
379
369
340
212
334
337
254
334
306
310
402
321
335
368
278
313
364
359
276
383
273
302
366
293
378
296
344
252
247
311
269
365
358
306
308
307
317
267
347
320
389
303
168
352
313
332
342
360
319
254
390
383
403
273
273
290
337
357
279
417
400
335
311
312
376
401
334
297
336
359
347
311
274
354
264
338
312
348
348
316
301
392
411
349
335
301
368
315
365
314
395
295
415
303
389
349
328
300
332
261
299
288
371
353
382
310
324
325
325
344
265
339
183
343
307
312
309
375
383
386
224
334
335
290
267
229
354
326
299
296
285
286
326
335
279
374
269
306
258
282
285
262
310
362
342
316
271
320
322
308
297
359
374
289
302
263
319
270
279
320
300
312
300
338
334
370
382
342
350
344
248
345
321
332
261
306
319
189
286
285
359
324
268
288
342
294
393
329
361
319
311
311
324
350
270
299
287
341
287
303
378
255
313
278
380
367
395
277
310
270
372
375
273
306
291
277
321
347
318
364
332
322
332
304
341
201
311
332
320
385
373
371
308
329
420
342
310
292
374
207
240
296
340
403
330
305
295
344
329
256
329
334
320
299
304
297
296
305
405
278
282
346
315
361
356
360
293
303
286
313
283
287
329
371
309
305
323
375
322
337
328
256
311
322
252
280
322
332
343
350
292
350
243
240
318
283
262
356
346
296
289
336
298
239
278
288
309
341
374
302
389
359
376
359
290
315
263
301
296
239
357
335
303
269
381
317
250
253
340
303
338
234
271
325
258
321
311
329
287
311
320
298
402
261
306
344
347
312
269
313
281
282
252
305
338
343
365
357
352
283
346
297
322
291
380
309
317
349
359
361
290
368
330
355
321
264
368
300
322
257
358
364
282
347
324
229
263
250
318
329
297
264
327
256
241
277
206
250
358
324
270
332
287
324
293
381
324
354
202
346
342
264
200
321
297
290
257
319
301
288
321
281
261
370
424
293
367
305
357
275
283
299
285
360
362
337
393
403
287
345
302
275
368
353
317
263
360
337
241
312
397
233
346
316
276
377
282
362
320
329
290
305
334
294
363
272
223
218
314
341
281
347
289
244
315
348
337
245
311
419
298
396
375
296
296
312
353
258
313
324
334
285
326
332
236
302
365
361
281
381
241
275
346
274
289
286
284
257
304
309
383
386
271
367
291
346
321
218
313
372
365
400
351
364
343
325
360
288
271
278
358
300
340
268
322
375
368
348
371
342
252
241
274
348
316
295
222
359
308
252
277
338
334
327
332
315
272
268
285
368
401
324
236
359
285
288
299
331
321
309
297
366
306
380
297
345
345
335
330
312
227
276
258
382
377
350
308
318
286
345
337
364
271
387
320
375
322
336
244
340
257
352
331
339
362
320
246
295
273
418
302
337
324
293
268
350
339
322
331
316
339
325
273
264
340
224
293
312
282
330
263
330
316
280
308
297
358
247
283
350
271
286
365
300
349
323
291
216
360
351
361
340
285
312
367
350
217
292
358
305
282
349
312
264
317
288
303
374
286
323
291
204
200
260
359
316
325
365
297
232
219
288
376
262
220
359
335
347
263
239
252
251
338
288
311
253
237
345
359
313
349
357
261
349
333
326
359
291
242
396
356
345
311
243
341
363
287
276
256
296
310
273
321
326
309
286
360
260
336
439
291
302
324
369
385
220
422
349
249
325
255
228
362
357
300
339
398
269
313
343
377
351
284
295
295
326
320
299
370
375
332
334
411
398
264
203
279
324
374
382
369
277
271
320
315
301
318
294
301
365
291
284
279
320
325
292
290
336
294
259
332
311
336
318
313
340
319
314
319
293
276
326
344
351
326
258
303
240
321
285
267
371
343
331
401
398
359
296
366
356
280
326
341
258
356
362
398
268
374
366
402
254
288
372
337
331
309
269
260
270
326
271
216
305
317
251
286
344
298
302
292
298
310
375
384
328
415
292
244
313
376
346
349
238
299
329
354
283
350
305
292
233
350
188
335
288
222
366
365
301
345
347
258
286
338
293
354
343
371
354
288
285
326
337
375
342
306
389
400
303
334
288
302
244
240
321
418
283
309
300
317
310
288
345
272
360
290
346
309
275
399
277
294
277
344
278
348
373
219
336
374
231
370
316
322
323
305
385
287
382
268
282
314
263
322
314
310
277
369
365
330
266
310
282
252
257
356
289
247
329
394
324
341
336
377
317
300
304
321
251
359
335
380
321
338
255
278
241
340
348
302
244
202
279
347
260
321
315
277
321
356
338
338
181
405
399
317
386
336
292
322
281
281
306
332
303
284
326
343
293
400
278
283
254
361
282
269
228
299
290
347
362
235
342
331
243
371
296
327
250
255
443
320
343
345
240
339
371
329
327
291
339
321
286
294
246
310
330
344
320
394
328
263
260
337
358
277
323
303
274
305
280
282
323
336
245
328
365
276
378
363
363
333
316
292
271
335
355
277
337
292
389
344
184
283
289
296
299
372
371
304
305
280
270
260
319
174
269
314
331
325
377
338
362
303
242
320
283
297
295
324
319
274
276
276
248
347
337
314
331
275
287
395
303
297
358
322
221
351
331
282
293
196
378
329
320
293
357
349
294
273
290
387
351
339
278
237
305
300
349
362
301
265
344
345
325
301
348
342
342
325
341
219
271
257
353
316
315
257
349
255
326
380
344
324
264
249
377
239
381
333
356
386
318
268
310
272
222
344
292
304
296
349
413
228
300
269
263
312
318
377
345
302
188
361
387
296
279
279
283
354
405
296
347
300
353
344
331
224
322
249
385
310
289
229
275
318
291
351
351
306
321
320
324
319
299
278
337
282
264
337
333
230
277
379
305
338
324
309
294
350
257
334
330
398
361
346
213
335
223
297
313
288
389
273
327
285
324
378
352
284
309
379
326
373
352
334
339
274
322
283
259
351
252
213
308
311
280
378
319
324
286
338
366
307
321
363
272
273
334
332
279
372
296
240
418
258
371
397
316
253
342
309
323
376
337
300
292
358
281
297
298
355
308
269
330
290
251
271
257
325
363
283
325
323
249
355
341
306
345
426
338
288
370
325
302
365
306
310
314
394
324
392
364
312
346
230
356
303
302
323
324
312
314
350
326
280
406
354
255
315
261
341
321
330
336
300
324
277
308
392
273
259
359
315
357
328
325
309
336
257
301
291
383
331
279
318
299
349
398
366
324
317
310
357
327
350
335
393
285
305
309
310
269
360
346
251
225
291
288
220
355
342
319
314
319
367
434
273
304
335
291
290
285
320
350
349
313
418
331
288
336
332
276
209
375
333
309
231
220
381
333
282
343
270
323
301
278
380
340
367
255
213
360
259
334
243
321
341
321
340
354
361
373
392
359
307
325
353
214
371
326
384
320
288
351
341
272
315
337
355
314
278
228
256
311
318
389
334
252
283
377
365
296
351
288
324
363
336
204
346
394
346
351
343
327
323
268
409
347
330
411
287
313
284
391
434
310
265
213
293
368
268
277
386
315
251
354
396
314
278
221
350
311
294
282
309
356
353
371
379
335
386
303
276
280
289
297
286
291
271
352
251
308
427
272
386
337
297
377
302
315
307
395
356
323
408
293
274
333
298
335
335
396
251
290
328
263
367
352
349
336
245
236
308
358
269
348
310
299
325
323
269
289
335
389
370
305
331
309
341
299
301
275
335
307
310
371
334
294
332
296
286
251
245
338
246
294
311
345
274
257
317
285
342
322
260
337
300
318
386
300
342
223
264
405
322
261
419
321
392
289
267
318
335
425
348
311
305
377
318
291
293
335
296
366
391
232
280
307
285
357
213
328
318
362
322
314
337
309
347
232
313
320
319
302
329
297
409
415
410
223
307
335
273
409
351
338
192
323
282
332
260
299
331
388
344
321
309
369
209
304
290
339
238
280
350
335
381
362
353
278
273
263
250
267
285
264
262
248
309
374
379
304
258
397
350
381
281
303
314
367
340
343
364
311
278
380
339
353
300
319
336
277
221
315
352
289
303
267
340
270
247
301
315
358
379
308
353
244
367
276
296
253
312
334
255
314
297
320
313
260
414
303
275
300
358
304
301
399
356
330
347
372
360
335
329
262
298
299
284
221
303
355
293
412
357
258
304
267
325
187
289
250
331
299
287
312
209
389
321
361
340
296
311
290
297
359
250
383
331
322
244
332
292
381
361
323
221
334
272
280
314
314
393
325
381
301
342
442
322
354
338
262
308
294
292
367
350
345
364
299
351
289
340
297
344
309
284
348
331
351
403
320
272
390
303
261
288
349
371
222
244
316
262
323
319
299
415
298
304
373
340
334
304
287
289
331
310
313
266
372
271
389
308
356
296
309
291
359
336
318
270
313
243
300
422
271
338
337
255
315
348
353
324
308
331
249
375
309
309
291
295
339
309
345
376
326
389
230
328
319
294
346
319
371
381
318
301
259
310
321
343
363
368
294
368
245
268
356
343
310
280
296
287
301
338
248
391
372
380
283
279
301
308
395
319
326
385
347
353
272
383
299
293
305
340
315
271
297
337
377
320
253
299
272
325
348
356
383
322
243
249
280
279
344
255
319
247
270
332
294
337
282
371
314
327
341
250
380
263
274
333
279
298
347
269
325
349
323
313
287
262
343
335
342
329
359
348
291
335
336
299
279
360
276
332
371
331
264
388
303
360
312
263
261
343
317
229
309
303
293
325
360
258
298
281
339
319
249
281
314
281
380
394
307
273
251
229
265
251
383
384
323
315
314
353
311
339
313
306
313
278
339
333
345
243
178
303
270
278
374
302
358
376
366
287
284
294
246
281
335
244
278
313
279
290
311
355
221
321
289
336
332
296
349
286
263
331
343
320
362
268
317
369
247
422
311
349
207
302
247
255
295
343
371
300
242
297
312
330
279
281
302
369
316
274
344
384
395
295
313
318
337
316
361
234
384
387
344
326
343
358
383
475
354
331
380
288
357
300
389
325
343
228
270
329
275
320
291
358
415
271
440
311
295
372
300
257
267
296
284
331
340
312
364
366
331
331
332
340
321
319
329
326
262
287
388
379
346
252
341
299
272
320
394
279
328
338
337
319
295
359
347
247
326
325
339
361
377
236
378
319
321
310
302
341
339
342
342
319
354
290
423
308
373
323
335
328
308
388
342
308
362
386
365
304
282
278
323
322
253
266
284
346
318
355
375
339
344
363
255
320
316
374
394
315
324
304
297
313
311
383
337
272
309
355
213
238
355
319
325
341
341
300
415
304
295
298
262
312
378
343
350
328
343
306
344
331
334
340
369
364
250
361
346
319
330
342
284
382
212
328
257
301
280
335
367
365
317
312
329
367
323
279
399
232
245
300
352
353
394
402
318
264
297
322
312
302
228
265
358
266
358
350
256
324
237
317
277
226
338
282
319
360
281
389
311
349
348
372
246
342
299
341
356
314
320
337
356
310
293
297
307
342
331
267
314
307
397
380
282
271
301
317
324
340
238
282
239
298
230
262
278
243
306
319
343
303
259
270
329
329
271
293
292
292
293
391
344
327
242
259
376
311
381
276
391
336
366
370
286
363
296
283
260
253
298
336
298
300
262
343
340
413
245
274
294
260
240
370
316
327
375
338
409
354
365
307
279
261
329
217
288
297
347
331
339
253
243
349
286
344
267
276
309
260
356
318
281
321
298
276
354
353
321
337
365
312
389
344
310
288
296
323
367
260
372
306
334
395
347
330
296
315
277
330
318
328
317
347
288
368
231
354
285
300
323
307
327
434
309
368
320
366
365
357
370
310
377
360
287
335
174
253
336
319
331
327
318
296
296
290
381
334
308
369
362
323
238
174
279
255
338
241
219
327
313
251
307
322
332
318
326
273
335
251
315
294
414
336
290
333
295
383
283
345
275
329
364
354
310
349
328
314
311
331
311
354
422
263
356
260
288
252
358
349
264
308
281
376
382
347
328
289
324
320
313
291
315
337
334
368
291
277
340
298
392
287
284
372
343
251
339
340
271
329
303
349
426
273
356
308
310
311
376
355
323
360
330
282
329
239
318
313
306
357
335
305
341
383
330
309
325
332
346
322
358
355
309
297
344
290
313
247
229
406
292
408
296
344
280
305
296
342
319
318
327
272
383
299
321
270
397
307
294
373
317
364
245
363
352
267
238
316
331
296
347
301
342
341
344
351
236
293
329
233
289
299
350
276
297
318
290
299
302
280
384
295
295
253
336
286
356
354
221
344
301
430
336
336
341
345
349
314
315
252
353
351
328
314
350
300
364
306
288
346
297
304
350
355
296
398
357
258
335
290
355
295
377
213
327
280
298
338
381
253
359
298
328
333
320
242
290
312
310
342
272
213
255
320
345
236
335
255
384
334
321
337
206
384
317
348
381
284
389
278
346
284
326
372
336
318
292
330
335
357
374
334
304
316
329
264
385
308
361
327
221
344
304
313
314
361
254
315
385
324
244
290
316
319
322
344
306
379
412
263
331
358
306
373
288
311
327
315
248
287
308
275
365
367
355
313
267
417
262
317
269
300
344
325
314
331
305
392
300
339
378
391
369
288
267
396
300
298
399
320
306
324
271
291
338
273
219
358
255
262
358
321
388
391
309
349
350
329
311
287
255
275
342
271
359
273
365
333
250
294
373
375
384
373
318
289
290
267
252
319
353
337
342
330
369
284
251
355
352
301
347
342
291
311
319
371
242
322
265
268
320
294
323
364
317
369
322
397
214
244
242
404
339
305
298
284
328
285
300
371
251
411
376
301
266
314
273
387
284
344
299
296
374
188
314
300
420
313
326
362
298
357
385
281
326
349
315
244
320
302
244
378
339
295
330
215
323
325
282
282
342
261
316
375
257
358
417
289
288
330
261
362
301
361
307
283
313
300
357
290
376
384
343
333
286
284
342
281
379
320
313
293
360
276
284
291
319
313
246
316
311
245
285
368
281
397
317
318
395
398
371
374
430
280
366
301
258
338
317
335
187
356
361
326
265
267
374
356
305
288
302
367
372
341
277
264
396
313
304
279
355
278
386
281
252
310
232
305
368
255
295
320
313
294
290
236
374
304
351
284
379
316
324
236
404
291
285
326
324
269
280
340
268
325
319
309
290
273
312
309
251
298
326
445
325
311
233
289
348
303
298
243
320
303
318
315
289
334
336
269
306
350
308
294
365
282
311
248
306
364
310
271
311
265
356
331
393
333
242
313
311
338
264
342
342
373
330
255
317
317
193
302
362
325
407
204
387
259
351
337
296
311
226
217
365
266
260
391
284
340
315
332
334
281
325
380
349
296
293
318
301
295
277
269
228
191
319
279
342
250
208
305
299
278
270
306
314
341
354
321
348
341
314
384
341
245
264
259
369
327
213
320
281
287
314
339
318
368
310
261
238
273
322
309
319
300
278
349
320
275
303
288
301
400
247
272
306
292
369
277
328
418
314
339
343
264
347
278
296
250
265
293
365
345
309
252
373
277
325
330
310
313
252
338
288
279
322
388
357
359
351
306
284
316
297
325
280
188
259
324
316
330
275
271
321
354
284
334
285
242
339
335
295
254
326
338
254
343
355
269
339
263
371
293
413
209
348
293
304
285
369
207
377
338
254
327
342
274
361
371
333
400
314
393
351
318
400
332
336
325
224
287
309
363
324
319
348
310
224
363
278
281
383
226
332
348
232
286
319
350
323
321
325
328
278
370
367
301
303
321
312
329
309
277
372
308
256
277
305
370
311
335
309
290
317
348
259
408
353
317
267
327
297
331
258
363
341
293
334
318
347
288
253
284
266
366
370
293
277
424
379
310
314
287
344
318
363
317
321
285
307
274
397
264
308
262
352
364
339
310
307
384
262
278
351
290
332
395
328
303
314
392
297
288
318
320
285
330
283
282
371
272
340
307
320
299
312
329
309
394
300
303
314
324
299
330
282
268
309
301
238
253
194
227
255
269
308
292
289
383
372
305
256
319
311
285
372
277
338
311
267
352
367
345
335
334
326
332
350
285
305
356
377
348
381
399
323
284
362
323
385
361
280
271
392
285
323
285
415
269
292
281
348
351
331
336
345
326
309
340
375
318
387
290
342
277
340
338
405
249
344
248
355
250
310
405
318
304
321
310
308
377
306
291
387
323
305
316
364
304
427
294
343
319
363
289
363
367
303
301
232
299
270
354
342
383
407
366
327
275
264
344
269
265
285
300
263
320
385
348
335
367
316
260
311
326
326
321
398
302
316
329
281
298
330
338
327
327
319
299
391
377
355
292
307
311
393
343
256
260
195
349
381
316
333
288
289
293
297
264
292
353
319
358
334
335
414
343
313
418
268
308
340
292
215
384
337
328
317
310
408
341
226
274
319
376
345
341
207
279
347
279
308
224
296
380
322
337
293
318
352
304
311
309
330
368
340
351
325
291
330
286
291
320
225
264
323
303
320
365
372
303
321
305
344
309
304
313
355
281
281
359
354
299
339
263
317
298
323
275
317
358
293
354
334
359
376
385
224
371
350
380
348
291
351
387
316
372
272
331
261
297
329
331
363
268
296
329
345
295
399
343
316
286
300
350
363
304
357
239
340
331
251
341
380
379
307
340
299
285
300
352
263
303
361
256
306
311
284
389
383
342
403
311
351
375
278
304
261
277
286
213
345
183
364
296
286
357
307
301
242
318
380
287
326
339
350
294
290
292
345
316
334
188
307
313
281
366
299
375
340
381
244
303
381
283
303
378
259
317
375
232
330
376
280
303
233
292
370
369
345
284
266
271
337
363
401
289
254
316
276
151
258
326
321
230
296
318
312
317
214
366
321
318
375
271
328
247
255
369
345
338
313
367
324
324
309
306
301
378
242
292
391
240
222
359
319
315
321
299
348
224
306
387
278
316
236
287
334
279
279
301
208
350
309
231
198
263
322
373
291
330
321
370
319
297
269
318
266
289
262
338
295
445
266
236
358
317
336
331
325
389
356
347
355
290
329
286
371
446
326
294
264
261
317
289
387
292
268
353
352
245
295
353
347
330
373
290
365
356
354
349
301
337
294
299
312
350
232
379
345
367
315
344
321
374
310
304
311
370
316
328
347
282
296
320
293
292
388
288
310
339
280
311
291
318
211
273
260
265
322
332
306
311
346
275
307
267
232
403
322
307
305
392
356
317
346
315
299
341
368
374
277
328
413
364
365
310
340
331
295
343
258
325
400
253
330
354
322
352
237
284
400
247
309
316
302
408
297
334
327
323
284
326
374
284
402
291
312
328
244
320
328
330
317
302
313
299
376
290
367
343
237
269
255
272
334
355
287
237
379
329
332
323
296
262
360
333
310
329
334
236
307
382
297
278
380
288
295
303
271
262
278
366
326
349
327
325
261
278
329
337
264
305
286
334
317
326
287
298
340
330
251
270
316
281
259
253
345
287
366
259
275
314
261
346
387
339
301
273
416
334
372
242
322
359
360
342
273
337
318
285
265
354
344
312
354
323
340
249
268
303
287
343
316
297
370
278
357
319
242
229
335
317
288
304
364
360
320
333
284
308
298
281
314
262
354
345
339
256
341
329
275
287
333
277
362
346
261
320
306
317
309
262
329
319
335
245
320
357
405
266
285
341
279
345
261
282
213
309
321
303
384
285
326
265
242
285
268
280
354
301
392
337
249
318
359
238
261
290
399
247
378
298
314
329
265
288
335
294
291
353
317
329
320
380
334
349
305
334
288
286
341
381
248
299
333
275
371
311
296
331
337
197
304
358
351
304
339
298
418
337
365
325
307
320
329
306
307
329
300
418
389
345
324
355
349
259
284
287
272
305
309
253
316
272
306
283
278
321
269
339
305
382
318
247
336
305
258
328
376
332
353
264
278
339
358
276
365
320
291
347
338
330
293
253
259
331
319
238
360
294
355
294
291
347
329
337
254
327
266
364
294
275
290
265
392
414
366
348
264
393
352
263
365
293
304
246
300
318
276
255
324
275
268
370
243
332
308
308
348
348
306
379
318
319
236
375
312
350
336
349
247
341
321
307
309
305
333
289
366
324
238
315
335
319
362
256
376
315
285
288
317
292
316
289
299
312
293
261
358
334
302
323
205
285
297
311
280
314
271
324
350
421
365
253
343
346
251
315
286
254
353
277
376
321
286
425
310
293
279
416
357
337
361
232
214
279
351
285
264
324
311
326
295
284
285
380
285
360
279
322
347
252
344
281
309
405
368
320
420
294
401
321
300
336
325
266
329
278
396
280
313
417
315
281
316
235
322
327
302
261
294
292
327
301
302
320
383
301
404
264
340
319
309
324
232
230
285
336
295
351
307
326
272
325
378
249
296
304
306
292
272
401
320
305
264
342
265
428
266
306
304
226
322
387
365
294
245
304
231
335
352
276
343
293
370
359
311
273
368
285
308
340
348
285
335
381
376
289
313
309
334
365
397
314
433
327
336
356
341
319
331
370
262
295
302
370
249
348
360
344
370
253
293
330
260
307
291
311
318
328
322
323
369
289
413
293
317
321
274
242
278
331
269
345
281
293
354
302
330
307
311
364
319
366
312
358
264
340
239
372
286
320
280
299
308
244
386
373
403
366
317
312
318
283
348
397
316
343
396
307
396
297
319
322
361
332
399
386
289
243
278
319
318
340
299
331
415
315
267
394
362
324
333
307
271
307
279
403
380
293
278
337
334
238
348
312
264
365
225
272
378
315
347
267
377
342
358
258
257
318
364
386
380
360
375
438
231
283
293
232
334
316
299
283
286
281
340
330
351
281
328
337
408
358
295
318
375
323
380
356
274
313
377
212
345
302
307
303
360
269
334
313
347
387
299
337
310
253
293
316
274
360
310
408
269
353
319
338
260
264
261
213
272
358
324
399
367
299
295
280
392
283
302
261
302
322
336
334
346
323
305
335
395
410
291
256
211
318
382
275
397
344
329
349
340
319
334
273
357
255
320
313
252
323
215
234
284
356
312
298
342
432
296
332
311
316
271
195
262
278
336
315
343
272
319
252
253
303
289
286
301
297
318
298
394
264
238
311
279
284
241
302
361
361
372
253
366
330
263
283
307
370
298
285
281
315
394
430
325
318
349
356
358
295
248
303
329
333
314
213
252
234
303
315
295
330
284
327
424
256
355
334
406
307
300
332
411
233
294
266
343
290
284
298
313
338
297
333
309
293
286
395
267
264
408
307
383
251
342
370
317
336
299
409
320
395
286
311
328
247
312
277
390
325
324
233
236
296
306
356
379
386
307
357
351
327
424
353
306
278
246
352
349
333
259
311
312
291
303
355
343
351
309
246
332
294
234
329
357
313
332
288
359
316
355
360
320
381
327
317
293
305
233
332
354
314
390
294
402
251
290
338
270
315
347
345
359
421
379
338
235
377
279
390
359
345
305
332
284
350
293
270
268
219
373
380
353
410
334
353
320
299
263
345
307
247
386
261
300
281
248
376
220
291
282
315
289
319
339
268
325
375
369
307
224
376
287
355
311
317
291
257
326
238
357
250
334
310
345
368
386
339
212
255
276
272
271
306
289
285
314
257
326
248
368
316
414
258
307
348
317
320
323
373
288
339
353
315
342
324
329
277
295
353
334
334
270
303
399
284
266
258
256
333
232
356
354
321
274
320
342
330
409
411
323
366
353
276
339
270
318
272
257
331
265
278
289
339
329
338
308
313
401
307
235
337
312
322
311
332
371
378
323
427
372
396
267
337
312
320
295
382
362
336
307
337
385
277
359
339
386
358
255
343
318
286
328
361
246
381
380
230
316
405
296
386
374
322
347
343
385
311
378
367
268
286
398
344
279
294
311
353
266
254
238
267
280
292
293
318
347
338
284
361
349
382
326
333
362
278
271
245
324
263
300
346
213
350
289
315
270
279
379
347
330
421
335
292
293
247
258
393
271
416
284
259
381
313
314
326
301
313
332
324
335
271
325
274
368
314
307
347
316
366
321
392
342
252
287
250
269
330
326
329
345
325
280
333
359
275
311
310
343
395
336
356
232
300
239
298
285
299
238
392
319
349
279
260
317
249
335
242
370
354
346
375
391
330
301
380
365
335
190
327
278
301
376
335
340
359
263
385
308
320
335
290
280
396
293
339
356
251
348
365
260
301
281
259
321
223
291
337
313
357
280
258
332
352
351
315
248
287
348
301
366
347
415
311
370
294
295
297
328
365
337
286
298
321
374
368
312
284
376
331
297
274
276
270
334
308
280
332
350
292
346
369
296
277
286
264
230
335
308
281
443
297
249
342
342
284
351
369
297
276
341
327
373
414
306
288
327
310
277
406
321
308
316
289
393
298
370
349
328
305
281
375
372
431
240
263
360
327
263
317
265
338
362
304
297
240
255
267
337
360
183
270
291
211
316
358
272
235
334
348
287
290
319
276
312
291
291
287
326
364
309
270
330
332
285
327
281
294
351
300
325
364
254
318
356
296
333
270
405
255
364
246
387
353
319
281
289
333
384
349
280
271
299
342
418
273
334
307
241
286
375
297
323
246
291
371
300
274
334
387
249
318
264
406
228
256
259
215
306
329
341
288
216
251
406
355
266
376
333
301
270
336
368
368
315
306
361
332
301
267
331
327
408
367
328
394
308
302
336
390
295
330
234
304
251
319
295
287
285
293
319
345
298
311
391
252
321
358
326
326
332
348
282
353
307
255
311
295
271
356
341
361
341
317
310
325
302
301
279
344
349
329
332
336
288
248
309
347
297
374
374
306
352
406
282
296
407
342
423
403
339
294
324
283
386
282
227
363
319
367
367
346
289
308
352
311
262
328
383
250
308
303
350
302
240
395
322
334
353
350
260
260
307
334
289
302
282
203
351
289
297
341
291
398
347
362
373
355
348
367
370
338
364
299
322
322
384
351
253
260
318
271
305
273
261
355
296
348
356
362
352
365
343
279
349
311
337
235
324
304
354
323
326
328
374
360
291
295
337
254
388
297
343
347
357
272
304
283
313
236
238
376
318
366
337
323
226
314
319
310
331
298
321
350
179
383
359
313
379
279
296
307
310
306
300
323
393
354
342
336
325
256
368
266
287
258
359
293
276
316
304
311
310
376
306
267
287
300
381
288
418
299
324
330
344
344
355
421
323
325
285
256
282
301
300
266
265
355
279
233
243
351
334
333
319
348
362
269
317
315
339
275
364
326
347
272
248
381
279
278
301
268
318
358
301
337
403
335
309
308
326
253
274
336
362
335
318
316
285
351
301
336
321
265
361
315
295
314
399
402
302
380
367
377
260
306
245
338
298
312
332
327
317
362
333
320
318
382
260
317
303
227
307
321
275
344
331
364
321
323
292
314
214
402
366
358
252
323
351
377
288
335
341
416
323
351
333
215
251
284
366
292
372
309
359
287
298
294
379
334
342
387
297
285
268
327
360
294
346
327
291
341
311
284
339
426
304
407
308
441
404
257
295
312
305
375
352
307
300
263
319
341
304
312
361
404
337
378
290
294
390
373
314
293
309
267
265
284
335
280
332
326
312
282
270
373
359
290
356
307
355
327
374
296
328
335
322
322
350
391
360
284
336
332
362
272
297
340
246
310
419
293
363
321
389
342
354
382
314
352
342
352
255
233
366
293
346
346
286
244
344
367
279
353
295
236
273
315
291
313
286
374
278
304
395
277
366
380
336
353
308
295
314
354
261
290
225
365
281
329
315
333
361
332
392
278
344
289
293
394
372
292
264
366
314
326
389
348
264
345
360
393
323
391
312
335
299
254
222
345
294
258
324
336
279
344
274
314
314
290
323
302
317
325
318
254
306
340
281
371
257
304
304
296
270
278
314
331
315
230
346
370
360
286
343
330
407
305
356
322
360
306
292
307
373
362
286
325
346
348
268
299
332
270
337
370
320
312
251
362
239
294
389
325
250
297
426
305
340
275
377
329
377
264
382
317
307
284
315
314
296
328
312
290
316
241
379
276
273
215
310
304
207
321
373
331
237
286
241
304
266
337
393
378
219
323
354
345
314
314
255
325
288
284
277
413
285
358
325
347
292
362
294
380
308
289
301
381
266
417
330
439
362
325
306
305
319
381
375
281
311
280
327
328
287
272
332
351
324
354
396
329
314
250
304
206
305
385
285
396
281
278
342
353
299
267
301
358
299
317
323
316
316
330
280
323
252
280
312
299
361
314
285
363
251
285
347
379
354
343
268
376
307
349
258
337
293
355
371
342
340
295
329
327
279
329
305
330
323
347
392
335
307
363
299
273
247
313
265
319
343
361
368
389
400
286
272
333
307
388
257
317
277
271
368
343
317
272
318
275
287
284
308
242
311
275
263
355
312
362
247
298
350
299
339
297
268
390
339
357
347
338
379
310
273
206
249
391
332
243
350
319
268
350
299
290
224
308
346
291
348
361
313
316
292
281
346
383
273
286
303
346
329
384
336
344
343
398
310
197
234
348
313
325
258
294
315
305
246
295
372
317
250
329
290
335
340
378
309
276
382
354
330
338
267
365
262
390
315
303
278
348
332
296
272
329
310
284
418
325
319
321
315
291
304
302
277
345
340
300
355
361
332
365
351
339
423
263
258
251
294
243
326
318
341
320
292
269
293
295
261
256
286
253
320
314
338
320
339
314
286
320
356
331
386
342
308
259
326
214
421
301
284
306
304
304
355
420
389
397
352
293
374
349
346
344
313
352
298
311
272
268
344
329
306
304
374
303
267
309
351
304
377
297
304
350
277
328
324
375
344
336
391
332
257
274
318
336
310
310
399
330
370
402
257
343
325
251
279
318
383
313
415
376
415
343
300
297
380
362
379
308
330
348
239
300
348
294
304
235
273
308
231
365
396
262
275
355
369
273
274
317
251
336
274
324
220
338
359
334
289
264
344
294
210
290
320
283
304
327
303
307
269
296
280
307
302
293
350
283
339
368
333
376
386
236
408
286
307
279
347
344
279
366
343
253
355
305
388
396
296
316
331
283
330
351
318
352
216
336
361
279
342
311
315
310
332
303
432
247
295
287
270
319
350
399
301
336
327
255
336
307
182
352
335
288
339
272
326
354
335
380
352
327
331
311
356
359
345
249
373
358
306
277
368
332
330
347
242
352
437
381
353
378
398
276
273
316
398
317
318
202
264
369
336
313
272
321
295
324
275
279
336
386
351
277
352
318
316
370
287
299
399
268
343
244
365
305
355
267
366
430
355
307
324
386
318
357
323
281
316
387
293
341
375
325
348
288
258
313
310
285
216
370
242
367
264
281
369
321
348
258
326
305
334
336
314
283
315
359
352
328
324
287
243
333
272
298
354
292
351
324
259
299
267
318
298
257
252
291
330
333
286
354
270
301
383
313
353
281
416
323
379
259
333
379
323
342
326
352
266
343
328
344
280
338
233
304
318
245
350
295
389
365
390
292
317
308
380
321
352
395
274
365
271
325
222
220
334
272
271
355
163
268
372
307
433
346
362
308
326
272
396
255
388
331
171
295
276
247
294
350
365
298
270
376
363
329
311
320
264
371
264
247
303
322
244
337
299
297
350
292
317
245
320
356
315
345
242
324
283
370
361
284
293
257
292
367
295
279
281
375
354
302
343
286
296
352
310
343
315
304
391
281
368
362
355
298
348
275
353
295
245
290
336
326
310
264
292
351
344
269
221
285
357
355
315
305
371
244
364
349
374
315
332
290
326
216
357
288
369
263
368
315
324
301
350
292
370
277
356
379
313
312
328
312
284
334
306
290
358
391
333
222
335
224
339
272
395
301
296
243
299
261
223
343
340
282
328
265
297
296
317
364
237
293
322
315
310
335
278
336
305
331
330
334
293
285
391
239
337
301
320
333
344
256
358
355
403
312
273
336
308
342
373
309
361
346
278
301
281
318
291
356
354
340
321
330
330
357
251
326
315
315
374
336
353
310
338
220
257
286
315
334
314
361
253
319
348
311
289
368
381
342
295
336
281
364
304
260
271
255
307
339
358
331
328
284
312
355
199
306
299
332
350
358
289
290
266
311
289
191
425
323
362
320
273
333
323
314
303
309
318
346
286
295
330
347
305
294
270
340
354
329
282
319
344
309
336
285
339
412
344
321
238
334
396
272
311
330
388
279
293
390
248
308
333
298
314
215
390
257
264
257
339
303
317
299
298
311
270
276
381
253
212
332
344
292
314
363
309
258
358
275
341
335
286
348
345
288
325
344
341
326
211
289
278
283
325
379
249
356
267
335
331
380
366
313
318
333
375
361
263
309
342
281
383
352
320
310
317
299
280
375
292
371
246
308
323
306
324
369
278
263
380
393
368
265
319
282
323
297
414
255
358
247
323
247
296
321
303
279
243
337
312
237
294
301
320
332
236
295
311
352
302
374
355
317
257
256
258
260
260
382
267
322
363
262
322
277
328
294
330
325
369
360
393
374
320
326
296
363
281
305
267
335
401
355
398
334
237
340
325
396
266
312
347
291
300
265
270
368
322
317
292
369
396
265
319
345
286
338
341
303
361
281
270
335
300
260
298
311
324
342
324
349
280
284
337
357
276
362
232
287
254
367
309
348
341
300
280
329
293
210
203
384
377
370
354
343
331
412
326
261
329
289
240
367
285
328
302
338
294
405
310
318
334
356
307
283
330
339
298
286
251
337
272
323
337
271
411
445
371
210
265
343
261
294
357
342
361
344
369
300
348
301
377
318
316
267
277
295
329
272
285
362
348
318
313
340
392
317
426
294
306
339
350
299
364
358
279
256
323
252
334
285
293
260
266
369
366
377
334
303
327
299
291
350
267
285
281
394
374
298
284
324
292
286
245
297
299
288
263
266
322
358
324
323
280
306
363
244
344
354
307
331
405
221
318
342
297
280
289
310
261
264
334
297
278
300
326
257
311
243
384
297
393
270
355
312
317
219
262
307
206
319
295
275
288
321
341
276
367
334
369
222
334
369
330
216
328
286
288
290
356
206
360
263
296
322
261
304
242
316
333
197
295
283
281
235
302
366
283
376
384
336
407
301
264
288
265
293
365
282
319
288
335
295
340
307
277
260
294
342
349
331
280
334
275
335
345
310
362
203
291
291
328
358
281
304
308
352
311
384
331
309
345
320
225
352
281
312
335
322
400
321
280
349
370
349
352
277
325
276
304
376
363
363
355
297
360
304
297
282
349
299
248
277
382
310
361
339
179
379
327
381
317
329
327
362
337
270
329
286
351
278
335
360
410
283
307
350
301
353
308
324
309
415
276
222
288
275
353
328
256
321
327
373
343
304
396
336
261
293
271
357
296
273
324
343
314
394
316
322
264
387
317
320
407
360
369
348
298
287
307
371
367
327
366
336
250
339
302
329
257
283
313
262
341
350
264
344
326
307
360
352
313
327
328
240
292
292
294
230
269
279
317
317
266
242
392
442
366
399
305
273
322
331
319
327
263
379
331
425
249
300
298
341
294
349
300
388
318
261
237
234
307
363
323
312
313
301
307
343
232
270
289
244
327
280
313
383
388
365
264
369
329
281
340
300
231
361
267
284
278
325
271
381
305
289
290
312
268
260
352
317
331
350
347
285
255
312
357
291
338
273
316
250
330
343
373
361
284
360
319
272
343
349
363
295
346
333
351
368
288
333
246
320
386
255
330
354
344
284
324
318
278
310
354
219
375
349
309
379
242
256
418
333
336
268
355
362
315
300
235
294
284
254
280
338
290
326
337
265
229
296
298
272
248
309
262
393
302
253
346
325
256
390
258
310
309
282
293
330
277
323
387
297
384
314
269
377
345
307
296
313
313
289
337
296
292
302
320
313
301
302
396
323
315
403
222
405
333
356
397
231
196
333
314
332
278
211
329
377
349
252
382
262
272
373
337
305
271
405
296
361
315
264
254
269
380
279
274
280
362
341
319
283
257
298
331
304
382
195
362
306
292
324
343
286
282
268
286
315
327
330
335
334
365
246
266
232
235
238
373
356
261
380
338
338
275
345
305
260
359
340
356
339
351
276
309
278
306
296
253
301
341
219
300
311
373
307
262
345
241
316
338
304
355
361
285
290
307
312
340
327
271
332
303
336
343
316
313
345
330
303
364
233
320
360
343
307
303
352
392
340
275
281
350
349
276
356
303
316
363
342
313
278
349
280
287
361
226
253
281
332
311
331
343
264
353
239
416
366
295
319
302
325
372
262
384
339
259
321
246
329
310
340
340
373
302
264
315
269
324
305
247
328
274
307
282
418
298
401
257
257
299
338
282
311
305
230
285
327
410
335
293
217
330
282
267
304
360
343
323
340
404
349
351
256
319
258
373
335
278
276
288
458
375
223
317
274
299
307
306
404
278
332
329
251
376
262
306
320
267
201
390
356
259
252
358
286
300
336
234
293
345
252
309
368
331
318
288
370
292
250
314
387
399
377
254
248
400
338
298
267
200
341
380
353
292
369
333
279
289
321
260
253
306
269
319
330
224
307
305
303
329
290
299
389
282
314
309
296
271
341
383
358
368
186
350
329
294
350
309
252
251
316
351
363
321
315
268
322
276
275
282
230
287
290
389
357
351
419
354
336
388
281
344
263
323
219
285
302
248
279
295
223
330
285
356
369
289
285
364
317
383
320
301
171
356
300
211
333
313
252
351
345
319
280
355
342
268
409
271
338
295
297
244
280
234
387
301
305
277
293
298
292
281
292
278
321
295
304
296
279
255
249
301
418
310
284
353
440
338
266
295
348
275
305
292
330
413
338
383
287
276
283
288
230
346
297
312
361
359
280
253
402
382
383
320
251
274
349
298
251
318
265
354
251
338
333
318
324
315
327
265
359
282
314
286
361
307
374
287
289
281
346
198
354
323
371
326
356
328
276
359
291
285
335
279
306
343
349
371
279
350
347
385
298
397
363
308
328
280
272
308
334
277
321
330
256
307
331
333
359
304
289
319
293
285
301
257
253
389
355
312
367
346
318
249
317
291
266
343
330
271
328
323
388
381
260
359
286
390
306
338
350
274
293
306
398
324
340
383
238
257
350
280
278
271
360
297
292
342
404
354
340
348
428
320
329
283
315
213
259
274
249
261
284
324
400
274
297
276
302
333
351
260
328
309
337
240
299
301
403
328
381
328
352
274
310
273
333
306
370
357
351
316
334
250
308
321
381
349
275
289
368
338
233
320
426
332
389
389
318
317
359
263
375
283
292
335
322
296
277
263
258
315
360
282
371
341
290
291
346
360
288
349
269
293
301
347
379
343
243
352
265
290
334
325
323
316
215
273
330
248
309
286
332
303
280
274
305
286
388
334
365
327
318
288
351
329
346
317
241
283
351
284
354
313
274
298
339
318
279
359
293
321
292
329
335
383
323
297
271
351
304
291
298
310
293
257
354
314
314
232
297
214
286
328
282
283
252
317
241
322
324
248
352
299
330
272
260
276
348
261
325
284
375
353
305
309
389
278
275
380
238
337
423
240
298
332
298
329
371
318
325
328
325
327
280
266
285
358
305
284
326
335
287
253
348
297
284
394
282
329
301
313
303
315
355
299
280
368
333
336
397
297
344
244
286
251
299
306
366
314
295
276
320
409
344
328
320
330
324
368
331
383
300
331
373
303
325
350
317
353
267
351
399
293
344
269
316
303
297
291
292
307
251
312
264
337
313
296
368
362
281
337
333
257
328
369
221
363
265
308
371
295
366
335
289
344
301
274
331
369
344
211
347
291
338
304
323
327
346
328
338
337
300
279
381
241
354
248
354
239
246
276
307
268
294
316
264
326
330
308
320
331
336
348
286
341
234
247
231
241
407
342
282
304
295
328
365
312
365
229
319
343
372
274
316
364
298
307
288
258
306
301
276
287
271
308
369
324
328
318
273
221
328
387
377
370
385
291
369
347
427
427
330
308
323
288
305
281
332
305
251
268
328
261
304
310
371
382
355
312
312
307
292
373
328
283
329
382
336
302
345
279
302
356
296
349
347
294
357
397
341
290
279
313
316
278
312
361
350
360
346
358
330
347
279
299
360
254
250
269
356
312
318
340
258
232
313
321
303
263
231
307
341
189
338
419
347
318
320
329
267
311
347
372
283
398
213
366
303
373
349
357
286
270
312
307
421
290
364
358
319
266
307
299
341
385
338
374
369
241
284
294
319
319
336
405
254
327
370
286
298
368
313
341
361
327
302
339
347
324
315
300
340
207
315
338
393
308
304
357
286
310
339
354
222
375
205
310
332
317
376
329
324
372
360
215
349
378
368
259
250
334
351
314
316
263
335
316
334
349
333
314
281
351
268
341
351
369
293
266
253
250
340
225
303
270
343
337
231
347
298
310
267
251
314
382
264
354
281
301
287
342
298
211
359
360
352
295
357
337
356
329
349
269
347
316
260
292
267
321
337
338
246
289
345
315
303
331
276
336
293
287
290
304
296
302
274
303
290
276
371
327
331
337
224
422
333
303
258
245
300
392
276
258
280
265
353
296
332
363
300
354
386
334
326
399
355
339
219
348
310
378
306
354
336
229
342
292
290
328
244
334
336
291
303
311
277
280
350
343
271
335
345
302
335
292
340
367
348
302
331
254
304
373
270
217
243
311
362
372
274
332
312
306
302
374
309
363
358
370
320
334
306
316
373
271
351
321
307
399
373
319
288
326
333
357
204
239
325
340
302
410
357
238
260
396
293
204
351
326
319
317
285
183
357
276
303
326
319
306
308
367
373
282
362
312
211
301
368
294
306
300
348
294
234
279
297
325
276
317
343
326
245
255
299
273
369
325
272
273
300
330
340
323
336
261
313
358
352
328
231
346
251
381
316
310
354
386
264
368
333
280
407
366
255
367
305
376
452
368
324
342
266
348
225
244
317
324
347
354
267
263
252
275
297
331
278
310
312
368
310
285
351
299
395
229
289
324
287
298
353
301
381
201
260
367
213
260
316
319
333
419
273
377
295
344
300
328
364
307
317
368
305
346
326
322
307
316
303
330
241
284
334
301
251
338
363
298
289
351
351
339
240
320
313
302
407
260
279
339
317
295
288
339
302
261
277
329
283
326
415
305
346
301
307
315
309
405
315
294
332
356
247
313
294
338
298
253
302
360
282
461
243
309
253
345
234
362
202
345
346
183
285
245
310
348
279
288
324
350
268
310
357
294
259
330
374
361
328
306
354
299
323
291
352
284
314
341
309
288
307
324
290
266
309
362
366
257
370
300
337
287
326
188
367
387
314
367
339
214
215
357
350
303
242
294
351
302
364
261
358
239
348
274
401
270
310
266
332
292
292
305
325
224
299
289
332
309
320
205
282
326
310
304
332
370
362
327
242
258
248
351
367
282
299
309
362
264
289
341
346
290
320
256
278
294
294
283
259
298
284
368
297
315
239
347
358
243
305
325
308
344
286
233
319
369
330
300
392
339
325
300
289
272
336
243
285
294
396
315
279
357
360
305
258
308
372
213
323
295
354
299
351
352
303
279
334
280
309
281
281
328
261
361
382
302
332
285
273
309
254
377
325
230
288
255
374
334
327
248
332
300
340
376
345
297
361
373
347
311
273
395
318
273
314
282
369
318
339
342
314
352
333
331
316
314
244
264
398
368
325
327
372
328
333
277
295
358
423
330
314
232
337
376
292
316
328
311
338
328
314
349
259
247
310
311
315
334
414
298
309
346
322
292
244
257
334
292
337
329
365
252
278
173
333
330
302
356
275
314
388
320
279
258
347
328
323
374
305
313
310
253
254
346
370
351
368
355
367
284
384
349
311
306
334
277
341
295
330
376
290
303
369
359
334
354
287
267
329
330
347
362
306
265
306
301
344
354
397
303
304
332
255
273
341
267
325
312
320
378
290
290
339
298
342
319
433
383
317
217
358
275
325
285
344
302
323
292
308
304
367
368
386
314
299
272
295
351
272
343
378
314
209
422
263
324
279
303
315
328
305
293
346
293
355
242
279
304
343
442
308
303
291
353
352
308
358
322
318
282
295
298
302
296
333
295
360
276
278
304
315
258
255
278
302
318
294
294
352
355
362
278
342
361
321
299
379
294
363
250
388
328
270
288
340
277
283
263
273
311
377
290
379
288
367
353
398
310
342
263
343
325
360
360
354
387
366
348
320
255
340
337
314
255
270
318
261
279
319
275
331
349
272
339
271
406
257
270
328
351
317
366
275
337
268
331
210
274
315
309
355
346
366
362
346
254
313
263
364
298
269
301
346
307
239
325
297
262
300
223
222
245
312
230
336
349
359
352
337
315
308
311
325
287
396
265
215
367
323
322
389
301
329
318
334
349
326
231
384
323
300
317
347
286
253
346
298
336
291
368
335
344
326
359
265
285
378
302
293
315
322
288
292
302
338
347
268
380
323
328
407
400
291
328
271
295
262
319
298
324
297
324
339
349
331
293
339
344
323
294
375
331
317
339
373
335
395
270
319
406
299
331
311
290
293
279
359
246
197
276
324
285
410
334
301
232
283
321
380
381
333
316
348
343
296
331
302
227
341
340
318
288
352
377
240
398
308
352
302
328
341
216
384
291
367
337
375
336
352
317
250
347
269
359
366
248
254
291
307
308
341
293
331
335
372
354
308
246
245
319
327
322
308
336
346
248
321
326
346
315
244
328
381
347
300
354
306
336
301
308
217
252
278
271
295
324
270
345
380
351
293
251
401
332
295
351
242
314
345
309
338
229
275
365
289
275
300
283
306
319
243
285
346
336
376
290
338
371
410
323
281
300
229
384
340
327
227
343
267
341
348
319
312
392
223
331
338
344
330
250
366
216
268
325
338
295
333
247
303
277
306
407
316
310
297
314
327
408
287
374
302
338
295
344
299
315
404
293
327
332
310
286
331
343
278
294
341
298
397
335
281
278
313
337
331
253
338
317
301
243
234
307
273
302
313
363
273
332
323
315
302
296
332
331
255
276
310
257
314
344
264
326
334
377
296
325
310
318
365
355
390
387
308
261
446
268
360
308
405
373
318
280
352
309
337
286
388
347
362
334
310
338
362
380
335
222
332
332
326
277
289
333
301
329
243
203
340
230
355
293
319
333
332
303
220
307
316
384
295
337
282
254
398
275
327
303
349
285
347
307
317
372
343
299
360
286
287
302
302
331
311
286
314
315
281
324
264
257
322
247
358
204
346
235
285
299
316
258
343
309
298
344
290
297
300
305
337
296
341
375
326
284
304
265
391
241
370
336
373
209
291
302
403
282
244
351
236
421
359
262
291
290
318
248
281
383
313
291
283
282
291
332
362
330
343
362
197
381
254
276
332
322
286
315
259
285
426
236
313
247
385
330
294
368
361
317
267
283
359
274
311
339
281
313
331
346
238
298
334
313
341
243
293
246
306
325
341
315
322
364
371
296
249
279
228
287
271
319
342
278
332
346
374
413
340
303
296
311
269
339
312
311
331
296
309
316
327
359
326
290
363
219
302
358
413
326
336
328
305
269
335
389
333
399
358
237
346
266
331
335
399
329
323
297
390
334
288
276
319
227
223
336
209
343
264
314
266
235
365
284
348
299
324
356
381
300
347
338
337
282
294
289
329
378
292
273
307
320
335
354
305
237
407
301
375
362
287
260
351
286
295
374
282
314
303
379
287
312
350
310
330
351
276
332
254
318
406
316
295
340
301
327
401
364
283
274
339
297
303
307
338
297
241
292
277
372
322
252
382
261
291
361
287
313
276
304
318
357
387
287
381
301
218
374
329
340
322
253
289
309
177
338
286
261
288
318
274
292
406
233
271
253
350
321
313
333
257
300
319
316
233
316
257
320
322
279
297
293
356
315
353
381
351
223
337
347
216
328
322
356
318
260
291
250
317
411
315
251
278
284
362
324
309
305
271
217
352
291
258
273
298
360
291
305
296
327
303
307
383
220
367
320
243
323
274
352
335
292
328
397
298
287
295
313
370
283
388
246
352
319
309
285
319
338
328
351
308
238
289
371
341
363
326
363
309
302
317
360
372
357
259
340
281
302
264
335
263
411
343
418
319
292
319
304
321
395
278
326
243
214
342
228
294
399
372
283
299
329
338
385
269
306
285
300
322
332
337
245
317
307
283
438
304
363
282
268
298
417
313
241
347
291
385
378
369
358
327
283
220
310
345
351
359
329
302
379
280
271
223
239
360
301
270
375
276
337
301
295
339
275
296
354
383
268
230
344
353
364
307
398
322
303
365
283
283
358
354
319
346
281
223
420
296
325
254
345
384
302
323
272
279
334
341
291
341
322
334
315
203
280
386
347
336
281
277
360
369
389
340
283
256
372
266
276
323
313
345
272
298
317
319
292
290
282
316
250
311
329
371
269
417
230
252
391
306
412
325
297
365
238
230
286
326
323
333
293
300
196
414
309
339
298
260
291
314
342
276
267
290
375
376
281
329
331
266
282
349
329
352
362
340
148
412
277
302
285
357
380
379
321
333
266
338
395
310
250
295
310
252
333
336
321
309
352
323
283
384
324
280
286
327
316
237
269
327
308
347
254
329
275
290
345
304
328
373
302
358
301
350
441
314
268
342
361
368
365
278
329
275
302
261
385
297
283
368
230
381
338
353
333
276
307
253
305
288
354
391
304
318
378
284
288
388
292
269
328
316
381
378
226
353
328
312
363
285
295
277
329
319
334
321
265
332
356
303
283
313
310
315
285
218
327
269
298
339
320
316
296
310
326
366
349
360
266
362
294
367
302
267
354
327
327
233
287
337
285
273
298
323
290
299
387
293
268
354
348
382
403
286
308
254
361
355
253
322
217
344
336
271
238
311
306
334
354
316
315
270
308
301
327
285
366
296
293
302
313
320
396
282
342
279
332
343
259
277
316
271
350
330
311
297
269
293
320
323
302
220
333
301
366
230
309
344
272
334
334
312
366
335
355
355
261
354
284
407
286
338
353
268
304
338
357
345
339
267
319
304
287
316
279
267
378
322
397
222
326
334
315
357
298
274
389
366
420
311
318
257
290
318
294
293
322
404
299
234
384
328
322
282
309
340
207
309
342
261
236
296
290
247
297
362
317
212
302
312
372
330
316
301
317
314
327
367
331
323
321
283
377
397
374
219
293
342
309
314
340
346
332
268
418
406
350
338
274
241
271
333
212
287
336
323
271
295
306
358
282
306
353
357
359
396
347
300
342
299
286
289
322
307
235
292
316
310
379
400
242
313
246
345
331
321
330
412
401
307
337
298
328
353
282
324
311
324
315
338
329
277
314
305
250
324
222
238
364
283
260
208
267
355
280
306
276
326
315
303
360
360
322
315
392
351
326
322
269
305
335
244
375
319
304
410
327
287
214
356
259
326
281
300
309
331
307
314
260
327
301
350
267
371
296
386
364
210
359
260
362
290
341
334
313
209
330
285
324
348
313
280
368
348
333
357
286
309
327
305
274
368
342
254
275
332
319
323
315
235
333
337
376
220
333
230
313
319
324
379
371
299
350
340
356
293
301
345
291
273
350
310
332
378
323
293
382
389
310
309
324
326
249
281
346
303
331
326
314
305
332
232
301
324
357
279
334
416
310
369
299
317
329
265
217
352
312
358
309
334
263
273
266
266
337
286
284
344
338
286
353
245
282
315
329
324
363
338
301
310
332
351
269
302
296
259
222
356
313
274
325
278
296
247
271
335
308
376
311
293
305
325
353
343
209
299
362
297
221
292
344
287
316
313
230
312
260
289
312
339
281
309
333
330
361
327
278
421
375
271
272
312
285
357
329
369
304
314
287
345
289
292
329
320
346
398
313
378
275
302
377
314
394
337
257
311
396
348
285
337
286
267
352
340
299
325
359
275
356
288
307
277
282
423
286
324
287
302
403
255
304
318
376
275
266
295
297
323
329
351
242
277
330
316
329
325
295
347
288
267
366
277
262
341
277
330
330
285
383
359
307
305
329
374
202
313
319
262
233
415
280
307
381
345
355
414
345
272
401
341
310
395
335
281
322
294
310
362
333
361
267
347
240
404
304
283
363
353
306
309
346
347
296
243
229
294
287
338
274
269
404
331
310
371
224
301
318
297
275
327
311
271
339
294
313
321
308
374
335
230
281
243
358
220
314
345
337
234
344
327
316
291
245
340
291
249
315
294
321
280
304
238
306
303
335
342
348
255
291
309
241
320
278
378
329
187
404
328
345
314
267
352
252
322
311
389
321
338
328
279
302
330
310
310
195
292
221
341
288
336
311
309
271
364
309
321
295
303
351
332
344
264
320
314
367
285
379
304
349
235
321
307
251
326
354
294
345
365
303
326
301
348
292
285
391
345
320
249
186
330
296
403
307
303
337
366
331
313
304
266
305
296
375
387
364
324
362
280
336
377
250
312
381
262
288
263
331
342
327
356
277
408
345
354
293
331
383
371
432
389
404
351
321
378
336
287
370
308
217
235
353
331
308
299
325
379
249
303
343
239
319
287
331
365
290
283
384
352
247
322
361
358
350
390
298
362
317
333
331
289
314
331
250
263
370
358
312
374
302
356
322
335
390
393
259
344
292
295
266
380
279
377
310
366
283
290
330
326
276
222
318
338
334
366
300
331
376
314
348
330
264
332
308
198
264
317
275
295
377
309
333
274
304
266
349
310
350
327
277
235
286
395
316
276
339
381
388
332
377
330
372
314
386
327
332
307
334
375
392
257
368
375
365
219
268
311
285
302
255
225
247
359
272
406
270
325
372
263
255
346
262
293
319
313
321
324
306
362
318
248
300
348
367
225
374
285
308
280
289
361
194
358
305
377
361
251
358
281
304
225
331
301
302
307
357
340
312
243
264
313
259
342
221
267
316
271
264
241
395
286
304
330
320
332
324
400
303
306
316
277
209
237
322
297
273
244
284
297
356
356
326
258
291
297
390
363
274
372
310
330
330
311
255
301
379
309
293
378
305
299
275
304
283
376
361
328
325
387
308
313
330
245
323
333
336
275
324
271
365
365
303
324
308
338
404
374
235
314
409
341
322
234
274
331
380
270
237
426
349
235
351
296
305
390
303
354
340
308
304
330
329
310
244
327
345
214
400
307
364
339
265
319
283
339
301
286
311
343
396
314
324
320
274
300
334
284
343
285
291
278
311
356
332
335
373
387
383
320
284
336
347
363
324
247
346
341
360
295
275
324
282
293
331
328
302
372
268
366
305
315
307
301
320
328
334
370
275
274
294
323
288
376
261
294
419
328
368
256
385
305
342
297
342
305
346
299
355
300
235
319
279
406
313
306
379
253
351
351
355
296
356
299
310
321
329
264
363
332
303
350
330
397
333
341
401
363
348
274
451
261
373
308
305
354
296
331
295
282
248
362
319
444
350
371
447
249
342
316
273
367
282
273
334
337
345
302
294
339
288
258
306
233
369
259
306
266
329
307
284
331
378
292
339
366
294
316
349
361
351
252
287
296
402
352
297
238
310
331
356
280
344
221
340
239
393
319
262
318
314
309
328
384
258
287
300
236
298
319
335
313
307
290
299
356
206
299
332
300
341
259
334
281
393
311
269
266
341
319
296
325
300
336
342
360
360
277
278
323
329
271
366
207
353
336
295
307
275
357
330
311
271
354
368
324
269
348
369
305
297
360
346
298
269
274
347
290
394
310
334
296
293
316
273
422
305
263
399
356
323
234
244
349
335
334
294
360
359
357
290
330
301
299
281
300
297
292
250
416
314
350
205
359
218
290
361
335
310
233
273
325
328
302
284
281
323
236
352
272
298
378
274
322
277
288
304
395
340
336
316
350
343
280
276
300
297
304
285
344
340
302
304
260
363
347
354
336
241
342
370
313
294
239
217
266
350
266
354
332
301
315
314
336
351
314
367
340
285
305
273
261
302
328
282
299
326
325
361
346
350
333
354
301
315
302
319
291
412
417
337
308
234
264
287
276
287
320
351
317
292
333
232
311
362
288
272
347
320
355
328
351
325
279
246
294
308
350
266
333
278
322
363
263
287
343
397
251
319
321
351
335
359
327
261
244
286
365
390
315
305
377
228
358
253
392
414
273
383
350
275
280
321
279
339
382
351
282
331
240
356
321
226
349
350
363
310
316
268
308
324
349
227
272
308
310
335
305
340
224
312
352
271
399
361
300
299
380
274
349
309
249
323
321
354
271
324
279
371
359
267
381
388
347
285
267
276
291
335
345
299
409
404
212
318
229
289
297
327
328
306
324
310
299
300
281
200
376
323
299
373
316
280
246
185
311
323
329
356
370
333
434
289
313
300
311
322
264
245
313
342
265
307
315
261
324
341
318
343
299
262
287
268
276
332
332
280
347
283
277
337
258
435
286
315
332
323
414
230
304
277
349
350
271
344
320
340
343
370
270
268
283
273
296
275
324
339
304
308
283
391
300
287
232
299
343
281
377
354
341
299
281
319
339
334
354
253
340
343
249
309
287
378
299
343
301
289
278
289
290
288
237
351
266
342
338
349
347
239
310
378
263
385
199
264
377
259
394
366
372
363
264
346
272
322
334
337
427
328
304
285
260
313
331
234
427
328
204
364
264
257
284
259
328
229
313
314
287
317
309
250
230
344
250
378
256
300
381
329
266
375
283
259
369
286
317
388
275
290
291
336
269
317
381
283
360
181
313
344
244
382
281
293
264
235
358
318
329
312
285
366
358
318
344
273
391
359
211
315
260
368
368
218
293
329
313
346
254
277
346
254
274
232
318
312
329
346
328
330
307
367
260
394
288
328
357
326
271
314
393
387
318
350
291
315
343
396
389
239
321
290
246
233
309
301
253
309
281
377
277
348
321
316
245
367
358
334
324
306
243
269
362
311
310
250
287
365
393
325
343
364
309
302
378
359
277
305
330
284
265
288
282
252
275
270
361
225
291
315
331
307
311
417
335
353
305
310
302
325
253
345
340
249
329
311
297
233
344
272
309
316
394
314
381
401
307
263
294
275
202
190
269
395
307
290
279
356
269
311
350
359
321
339
279
343
321
362
272
341
300
347
287
334
349
374
254
390
290
267
329
344
301
246
304
360
371
327
264
259
322
334
339
261
293
259
311
323
232
315
321
216
389
367
300
328
291
323
325
315
326
307
378
409
329
313
377
274
281
266
348
345
335
313
349
328
314
293
302
372
310
290
348
301
277
314
314
343
300
368
264
298
287
401
353
330
281
394
287
260
291
325
276
334
264
247
367
220
347
399
347
340
278
311
284
268
300
323
251
333
365
332
360
306
282
283
298
409
350
308
325
344
363
312
289
381
290
359
298
249
332
400
316
342
353
371
331
394
340
295
309
274
333
373
295
368
371
305
216
343
328
286
364
362
270
307
289
327
396
338
384
346
387
296
238
308
345
304
297
367
372
258
361
319
377
313
355
295
309
321
289
293
310
348
397
355
346
356
280
222
320
388
295
264
354
243
249
338
275
295
302
303
411
347
309
254
338
372
281
268
272
265
337
366
344
345
337
347
313
312
304
286
338
351
366
267
295
334
305
359
369
437
286
354
323
283
272
341
350
267
324
389
316
271
335
303
344
272
357
235
311
292
235
468
334
344
353
306
375
331
340
292
271
345
369
310
333
352
338
269
292
280
279
327
322
293
278
329
372
258
302
313
294
316
359
284
306
263
298
384
381
256
354
255
284
303
285
315
339
338
356
410
285
312
243
324
327
237
308
314
395
367
357
256
301
326
290
310
300
330
276
393
288
412
282
331
336
375
339
333
378
266
259
236
339
361
309
293
305
299
348
346
219
324
363
293
314
321
300
322
389
335
310
287
307
301
395
242
363
349
320
344
362
357
379
335
251
319
319
317
357
260
324
312
275
262
418
272
331
304
388
355
287
207
309
355
307
367
367
278
335
334
303
306
328
273
265
307
357
333
270
341
240
295
337
271
280
280
375
353
370
404
374
288
359
250
280
408
307
357
418
351
326
312
241
345
349
384
323
380
346
242
345
328
273
346
279
417
325
260
246
352
308
263
299
334
308
288
284
321
413
315
302
334
278
350
363
325
292
368
286
237
379
225
339
341
302
278
254
268
348
354
258
345
283
305
276
360
327
378
301
320
274
285
319
421
307
332
269
267
259
347
235
401
328
339
278
379
280
366
278
244
254
278
327
254
271
328
288
334
271
318
303
346
307
317
329
315
299
279
347
385
345
297
340
282
358
303
351
359
288
300
304
296
370
345
293
286
285
303
275
301
286
332
226
321
259
298
369
296
268
336
351
267
324
275
326
235
348
313
260
349
317
296
304
377
266
344
290
316
351
387
356
266
314
366
343
353
318
418
421
318
359
320
301
279
346
272
264
322
340
319
294
355
381
352
287
358
366
353
331
238
377
189
409
300
332
299
321
307
367
375
302
359
325
348
304
344
356
364
310
228
317
289
230
338
360
361
199
287
337
340
274
299
379
356
378
314
386
333
371
411
319
285
320
393
364
391
352
328
381
263
274
260
263
395
300
213
337
239
296
354
359
363
225
263
300
308
277
294
354
321
334
331
287
327
252
310
255
323
288
407
238
301
295
257
296
321
334
329
247
312
293
294
351
325
318
316
351
359
317
346
257
196
283
239
386
341
365
238
382
264
339
356
338
259
281
290
395
388
328
261
359
322
256
296
331
347
355
305
353
388
388
374
317
347
256
326
370
363
250
311
331
287
346
396
341
315
259
298
385
275
288
249
286
294
309
174
319
261
341
369
242
336
318
274
347
404
293
295
331
294
335
347
349
318
291
345
307
280
252
330
284
330
362
335
259
300
245
319
273
307
226
402
378
362
323
288
317
291
355
251
264
345
327
319
374
344
345
327
303
351
372
309
279
324
374
339
291
343
320
319
298
182
400
333
325
223
323
379
292
353
351
211
274
282
363
273
387
315
342
331
331
312
376
281
285
266
382
357
303
319
324
329
357
352
269
256
277
342
284
303
284
344
278
360
320
343
289
279
237
284
350
338
378
363
417
289
329
283
331
298
326
370
213
295
285
254
331
348
374
372
347
303
279
348
252
342
239
261
341
267
285
265
330
358
304
310
290
324
343
350
325
270
295
292
365
369
416
298
265
339
298
330
286
339
317
286
270
284
315
396
315
373
322
340
362
300
386
222
316
273
318
364
271
358
288
267
368
261
347
292
365
359
341
390
341
241
350
351
344
352
246
306
286
287
271
301
418
295
347
303
223
322
389
310
369
306
318
298
412
315
254
258
377
282
340
304
295
415
391
299
270
337
336
359
385
346
344
327
335
378
329
248
321
290
368
287
340
350
324
360
332
309
316
285
359
364
362
304
286
319
401
334
360
282
333
311
319
349
224
277
310
281
311
282
295
282
309
368
273
312
400
281
375
368
281
368
298
328
219
337
288
329
298
385
366
320
370
330
322
342
295
287
245
271
274
326
338
352
283
350
302
351
352
376
273
275
271
404
335
359
323
333
290
368
346
353
302
300
437
334
267
327
268
291
322
289
290
359
260
202
239
280
314
306
374
349
318
379
315
364
356
297
382
353
311
329
298
329
300
298
334
283
324
357
327
283
259
308
359
396
269
233
319
337
320
280
281
366
421
247
340
223
340
392
343
432
309
300
239
334
323
308
405
322
312
294
304
283
304
261
361
193
302
371
312
372
313
278
270
386
356
299
371
249
405
290
339
328
252
352
326
277
230
299
323
305
301
319
380
211
253
388
304
328
353
372
292
397
312
349
315
342
331
324
302
279
259
386
227
362
294
373
277
303
270
286
326
300
403
320
352
361
359
228
419
262
309
274
242
332
275
366
328
193
319
346
359
219
277
233
339
401
249
356
285
301
356
386
383
307
330
342
323
376
333
239
306
317
360
255
298
406
370
389
262
312
252
340
334
281
344
289
214
216
363
387
354
344
310
361
302
327
235
369
289
337
351
396
299
298
327
252
315
251
324
380
357
381
316
262
361
356
305
319
354
383
290
347
396
292
324
321
305
310
335
390
333
282
394
327
260
327
316
238
316
340
405
300
253
376
306
288
324
292
309
344
274
381
319
330
322
361
338
341
345
386
248
279
376
315
289
386
311
276
316
321
314
324
374
278
341
282
350
336
304
293
269
262
258
336
273
314
318
264
292
342
286
319
321
319
346
310
298
259
281
258
318
318
373
322
323
250
360
238
281
361
336
235
268
284
230
315
382
270
391
282
235
310
275
260
282
264
404
427
310
267
335
197
329
285
333
295
252
356
319
344
290
381
325
277
337
351
346
335
329
360
284
396
374
349
365
383
299
354
324
359
271
242
291
323
351
267
354
344
289
305
344
328
330
379
352
353
296
393
339
290
332
331
333
306
307
320
427
331
276
334
358
382
357
300
315
347
258
314
321
350
323
316
321
283
329
313
266
380
344
263
273
317
279
330
299
305
277
336
295
314
415
358
262
369
289
225
219
260
366
297
332
360
360
310
222
328
304
341
343
338
353
282
296
261
319
293
322
296
303
376
321
316
317
292
398
217
240
364
315
326
345
254
399
275
270
365
318
335
361
347
355
354
339
362
411
344
327
252
341
288
308
312
363
349
279
363
231
311
308
331
302
315
278
255
376
283
329
303
320
368
323
313
287
255
374
327
282
307
309
348
262
344
343
245
361
262
317
316
295
317
318
302
343
346
304
314
283
288
292
283
323
286
301
257
390
330
332
301
341
251
326
340
328
344
292
340
359
254
293
380
224
391
319
343
237
272
298
303
282
205
335
318
325
282
374
313
342
231
326
282
313
360
316
398
288
269
316
306
360
308
300
289
327
314
301
366
359
296
256
354
358
348
368
309
255
311
164
329
201
343
359
324
305
338
284
299
333
387
314
336
313
364
340
293
385
346
351
314
274
393
335
355
359
314
272
350
368
311
244
341
266
314
305
297
295
370
362
206
364
301
260
363
287
342
337
311
313
331
320
334
237
361
273
290
278
386
317
333
340
280
353
317
365
287
362
399
337
303
252
375
202
287
366
327
299
312
283
344
369
316
309
305
267
258
395
296
299
304
260
310
252
328
349
355
378
374
294
412
288
313
406
274
377
318
306
284
271
330
385
323
335
307
375
314
310
338
354
315
256
355
353
329
331
199
347
308
336
316
391
264
351
328
368
275
361
277
270
255
324
285
342
350
349
247
299
365
341
285
350
492
385
211
318
345
406
275
331
343
385
320
227
325
330
293
315
303
258
328
258
246
294
388
288
306
315
388
256
275
304
287
342
267
307
277
348
288
335
293
225
248
255
355
354
339
352
306
369
252
245
248
365
246
271
334
336
281
386
356
343
300
330
324
332
267
323
342
307
332
271
293
289
248
276
359
334
309
386
258
205
338
310
315
278
225
305
320
345
249
243
383
339
295
240
292
321
321
321
315
292
362
285
373
314
319
349
378
220
362
335
348
326
240
370
344
309
327
280
313
309
398
335
270
355
280
231
295
306
280
405
288
307
290
289
419
280
387
300
323
344
235
322
383
264
272
342
321
367
330
327
359
257
324
330
333
313
360
324
254
352
291
362
296
310
238
218
360
263
319
277
325
319
329
355
291
331
326
289
359
286
359
354
332
347
307
391
315
387
368
395
315
271
301
318
292
274
253
332
360
241
313
327
329
292
277
361
289
304
287
335
356
337
321
301
174
264
306
394
360
328
279
393
331
305
312
246
290
282
284
363
317
358
289
264
355
290
342
199
387
359
348
286
299
313
258
357
285
299
217
361
367
218
356
288
260
393
341
312
363
316
366
304
293
311
311
320
328
282
277
335
303
377
309
345
323
269
350
341
338
301
252
320
355
279
303
334
350
397
346
314
316
301
296
322
334
287
249
314
247
310
345
340
347
295
280
254
344
327
337
215
302
267
267
261
318
260
350
314
315
397
348
369
279
300
335
375
252
387
305
311
309
254
299
346
357
287
281
303
283
283
266
383
319
286
306
225
380
252
221
352
306
359
401
338
307
261
318
289
250
252
283
368
340
393
351
276
255
322
302
337
288
337
387
317
333
316
404
312
304
378
251
197
322
264
389
332
315
367
342
232
259
269
280
311
314
293
325
222
331
248
332
297
314
285
290
347
348
269
353
260
283
288
295
306
331
274
361
320
354
304
312
317
251
287
292
282
195
319
253
334
331
341
346
342
309
326
280
281
320
269
303
261
298
263
191
237
217
286
334
361
243
309
220
365
375
277
364
301
369
245
282
333
303
263
293
282
256
321
373
271
296
256
299
229
260
299
251
253
354
335
333
198
220
336
338
336
334
379
360
320
251
284
248
362
314
362
272
331
240
345
317
285
325
294
293
333
276
378
274
325
364
348
379
340
286
333
253
316
325
336
364
329
324
344
381
332
266
206
254
376
374
244
221
337
319
282
350
354
364
285
333
322
220
366
352
319
417
363
281
411
278
321
335
367
312
369
333
273
293
335
302
308
326
335
353
359
353
313
294
363
252
337
257
329
370
309
288
239
351
258
338
400
341
349
292
327
270
284
396
316
243
266
334
382
257
298
272
384
325
306
242
309
220
302
282
259
267
278
286
247
328
330
279
384
228
321
346
410
340
332
317
378
337
328
223
331
318
357
283
339
282
362
250
384
307
362
389
378
315
274
292
364
264
342
301
406
334
372
365
297
343
344
350
335
365
293
333
304
276
337
314
298
295
282
362
304
351
283
356
326
309
265
265
321
282
248
320
352
330
302
319
335
195
338
275
270
290
403
315
278
377
296
344
374
385
275
365
271
295
273
266
325
285
333
322
385
319
287
313
392
233
317
299
304
327
345
361
227
273
348
271
324
364
295
394
306
354
306
321
375
288
389
235
309
292
332
346
283
329
327
363
325
354
342
220
249
242
355
271
327
381
336
325
314
372
315
320
393
310
469
377
316
327
327
305
371
312
353
323
280
314
222
374
190
282
318
399
343
338
351
234
254
306
367
374
344
396
350
358
329
224
338
281
327
311
331
308
319
354
228
280
268
286
340
290
330
384
252
371
356
349
287
328
365
353
345
306
293
303
279
251
238
379
264
357
342
359
317
292
275
285
353
282
313
318
385
354
260
305
282
240
317
328
307
338
332
293
279
318
418
330
332
279
314
343
292
384
322
336
313
347
364
331
330
273
277
289
340
353
293
306
316
385
315
336
398
335
319
279
339
311
382
296
368
286
344
291
343
302
264
320
377
336
274
339
287
346
282
343
387
344
349
290
348
330
297
300
328
249
332
290
374
287
283
238
271
356
363
364
351
368
340
301
369
293
250
274
347
303
294
275
271
301
306
403
352
298
328
316
348
269
246
301
340
285
245
309
280
296
274
243
313
312
311
372
235
312
304
362
338
432
300
335
307
360
234
342
327
325
283
357
339
287
313
360
350
284
276
303
351
231
279
345
207
340
343
370
392
430
335
354
335
326
372
357
318
345
304
332
377
368
342
394
316
208
337
345
295
327
323
358
264
336
371
335
362
301
267
328
330
390
325
327
305
269
328
296
313
317
295
352
319
251
283
264
331
280
363
340
280
294
349
337
248
303
377
302
349
408
251
248
337
285
361
335
269
348
375
234
376
363
329
397
373
343
331
287
311
345
297
353
332
321
290
319
386
289
316
286
337
291
332
187
303
291
258
278
278
380
366
264
343
282
241
311
308
379
348
291
347
275
261
316
288
311
288
386
334
287
360
287
294
342
285
318
355
337
376
216
393
294
341
340
266
313
335
296
215
321
412
258
259
300
331
287
339
412
314
378
323
395
272
321
339
265
313
317
386
388
343
249
295
275
314
309
351
258
308
320
365
277
303
197
379
357
320
306
299
272
372
334
403
338
287
287
276
363
381
321
296
377
328
386
359
375
361
400
276
323
336
439
302
275
268
295
364
313
280
311
229
311
313
350
272
314
303
241
361
335
267
302
273
282
340
340
310
324
270
397
367
264
376
289
306
315
361
344
336
298
379
320
246
366
376
306
335
316
307
340
304
385
293
310
343
352
359
213
290
281
372
292
310
271
352
264
354
343
284
295
314
297
384
339
321
289
299
300
340
319
354
317
429
380
359
339
274
377
286
365
297
377
329
267
384
372
394
276
343
311
262
420
266
384
366
329
281
300
305
240
282
348
304
328
356
292
217
366
381
341
350
264
264
286
357
316
285
379
380
305
277
241
319
356
218
274
376
293
266
359
326
339
356
332
334
357
440
289
296
349
284
148
351
326
325
369
301
315
315
312
257
325
268
365
331
293
360
321
261
396
414
299
306
300
295
323
316
322
294
364
340
343
241
352
282
388
332
286
271
410
257
356
201
337
234
216
353
325
377
300
288
421
375
261
335
345
340
293
321
342
311
283
309
295
336
291
276
288
251
303
282
401
278
230
258
248
377
352
326
257
275
364
283
285
284
230
285
309
274
291
275
341
307
222
289
299
331
372
294
360
316
286
324
318
383
276
241
318
314
368
238
281
315
283
280
382
368
297
325
405
320
318
297
347
323
294
300
273
312
306
353
356
304
352
381
273
250
277
365
388
368
273
286
340
228
269
286
268
301
215
308
396
313
321
289
414
303
356
346
325
299
300
344
314
354
237
443
231
343
290
364
360
263
372
311
300
277
365
262
286
369
331
309
273
316
404
320
359
365
297
384
328
332
339
294
378
360
239
275
325
264
356
320
289
319
428
313
336
335
365
330
365
312
303
301
307
306
396
382
260
277
281
268
307
279
322
331
383
309
382
393
328
274
293
307
288
320
318
299
361
303
259
337
344
356
330
335
387
332
354
343
269
404
394
346
388
296
341
281
346
306
370
371
286
280
315
351
261
317
306
311
300
288
352
312
272
259
348
290
389
329
345
262
340
408
368
346
356
304
303
360
308
265
215
344
269
328
404
329
283
315
340
201
267
341
294
303
357
274
316
286
295
323
309
327
279
341
388
395
358
216
330
338
370
254
297
301
288
395
259
385
248
206
249
291
358
288
318
342
350
244
301
313
305
291
321
350
409
286
301
349
343
314
286
351
299
330
319
323
313
274
338
199
367
356
224
329
311
291
359
329
349
406
372
332
268
255
300
342
303
272
360
323
264
383
270
367
363
357
290
352
324
300
332
308
323
269
294
263
350
293
335
359
444
349
308
342
351
400
369
307
390
265
275
370
310
290
333
271
244
236
279
374
316
410
365
308
289
301
320
230
266
291
261
354
354
341
357
267
269
330
281
315
304
368
343
375
300
382
265
277
291
287
277
280
317
255
285
343
330
301
323
329
377
318
319
279
249
382
319
326
448
347
320
358
279
396
332
288
322
230
301
349
342
251
285
317
287
257
297
332
300
289
258
262
303
314
266
296
330
339
232
324
339
375
351
282
297
304
280
318
306
214
339
269
304
285
315
315
292
306
303
356
332
331
271
381
337
348
297
286
247
393
293
274
376
313
341
371
238
316
314
345
333
275
318
388
279
324
322
306
256
335
317
293
327
384
301
286
358
388
352
388
260
259
365
302
280
332
289
244
320
330
272
247
320
335
252
295
317
303
440
340
298
311
345
291
329
310
334
269
325
332
375
296
264
307
341
341
313
310
304
370
325
374
327
244
308
375
385
317
277
323
306
305
343
330
357
293
344
326
383
293
368
282
376
269
383
347
304
346
331
238
344
396
288
293
391
357
272
330
314
346
233
384
398
349
280
246
307
364
247
343
338
289
330
269
370
275
227
382
286
288
343
349
341
288
295
378
292
309
268
289
344
339
356
367
273
304
254
344
272
315
311
425
346
328
362
304
308
364
354
353
371
284
262
341
329
264
297
298
329
372
375
358
346
337
282
369
346
288
370
326
351
309
253
320
357
248
323
366
304
273
297
358
310
373
303
244
284
320
349
271
301
357
383
289
333
267
253
310
294
383
359
414
285
199
380
362
285
299
299
356
325
251
356
267
298
296
296
413
289
312
213
313
315
314
322
270
350
319
336
214
329
346
269
284
356
345
355
355
369
313
335
362
359
293
384
266
333
302
299
327
315
299
333
296
446
289
338
343
395
339
273
337
333
290
217
316
269
290
277
332
376
315
277
308
324
319
289
244
299
351
290
277
294
277
343
334
315
333
290
356
314
277
331
215
373
261
285
228
383
293
334
257
297
243
276
373
260
273
346
259
313
288
338
325
297
292
252
311
324
271
352
299
313
348
306
318
340
313
300
315
277
305
317
264
322
368
322
378
289
370
346
418
305
392
388
378
290
312
278
318
373
341
344
335
360
324
309
262
305
344
405
290
279
312
363
354
288
305
335
286
258
348
364
336
363
318
392
328
319
258
354
218
356
300
365
213
225
338
308
285
321
311
348
392
345
386
315
352
327
390
323
332
300
259
265
403
277
331
345
258
357
337
343
323
289
252
273
276
311
301
358
331
277
233
381
311
338
325
341
297
296
277
358
288
266
235
346
320
260
214
356
325
254
334
313
345
333
362
342
230
342
324
359
335
295
341
344
427
337
378
294
385
373
347
304
254
366
362
337
266
367
314
299
324
312
293
356
302
328
394
350
338
275
294
308
329
317
348
288
370
385
373
275
285
293
365
287
364
372
333
306
335
320
268
307
308
358
333
273
316
296
422
342
256
345
219
320
356
306
320
367
299
352
358
269
293
338
341
332
281
377
324
319
325
304
300
328
371
315
393
346
292
275
307
353
347
359
307
190
328
281
218
404
320
381
335
392
291
317
358
356
234
317
363
305
278
268
346
244
257
349
355
270
341
316
326
272
280
320
383
368
281
331
283
329
324
356
245
352
305
284
341
337
338
325
318
356
336
351
400
267
333
335
262
272
283
298
286
354
337
326
377
318
367
408
328
286
342
343
326
314
318
358
384
282
322
357
317
316
303
278
280
347
360
268
354
265
342
251
312
336
281
393
310
343
352
261
332
309
309
297
244
288
307
324
327
362
295
387
363
333
350
314
290
269
282
366
315
329
285
280
221
384
268
343
372
392
433
251
339
274
312
307
324
300
253
352
416
274
292
305
377
273
296
300
282
326
375
333
281
323
305
382
324
321
293
346
307
238
396
333
360
289
317
275
333
360
353
324
333
293
375
314
291
270
225
399
314
285
367
262
352
289
365
324
331
365
358
332
263
359
309
328
268
250
311
355
375
329
320
262
298
213
300
326
328
292
360
375
318
314
277
311
304
305
404
272
290
309
287
253
326
313
272
266
301
286
273
323
308
376
311
307
361
301
271
388
274
337
280
265
329
306
351
328
253
288
280
301
287
236
397
245
293
370
259
354
304
365
291
341
327
353
297
314
389
322
300
283
346
282
314
298
313
284
323
347
312
310
344
215
365
383
244
279
343
273
288
380
346
271
342
352
361
382
312
287
326
387
315
285
361
213
307
296
281
318
322
320
336
322
325
300
355
344
385
297
310
277
317
255
325
298
296
299
293
266
300
249
354
389
385
300
312
344
297
351
314
248
336
366
253
329
303
392
393
321
299
301
314
309
401
329
269
359
376
363
267
357
315
232
305
367
344
218
291
323
272
345
226
289
375
387
371
264
282
213
352
351
313
357
321
281
307
339
355
331
325
271
293
338
330
317
391
385
344
319
345
263
354
397
285
280
315
271
352
289
363
270
326
325
284
258
296
287
396
321
325
312
276
303
324
348
299
339
394
298
310
310
365
346
320
387
268
267
336
352
331
264
297
324
343
296
175
273
371
253
331
340
318
307
367
251
249
328
288
185
347
289
259
322
338
271
340
366
312
231
315
290
311
274
288
260
305
349
305
242
349
288
293
321
278
300
339
303
347
302
308
393
283
365
375
331
337
256
360
299
294
319
352
343
307
324
301
344
336
257
296
366
340
379
311
273
305
236
343
272
284
339
368
277
270
382
323
251
338
355
322
376
234
270
288
329
390
334
299
274
324
287
332
292
363
300
407
350
303
298
329
310
276
271
287
319
299
385
329
260
285
348
372
341
442
336
268
366
292
374
278
369
296
274
267
312
300
329
319
320
307
252
362
379
295
365
306
247
285
294
318
279
369
313
276
366
308
292
241
286
385
253
353
422
208
314
304
363
296
346
414
273
404
345
258
239
280
351
363
341
308
336
251
282
342
326
389
263
371
279
390
359
323
352
352
283
269
338
359
271
358
375
331
266
299
317
361
371
303
282
354
260
372
311
343
340
326
253
244
344
315
354
249
344
294
340
308
336
423
358
296
293
278
297
337
336
302
343
283
352
278
291
339
260
343
379
304
357
290
370
247
336
291
340
310
248
292
290
348
339
359
262
371
294
292
341
323
366
305
397
295
314
356
364
309
303
367
417
327
383
346
319
278
284
235
337
312
351
308
356
349
211
378
275
314
285
273
349
384
293
259
322
299
344
327
309
260
302
339
309
340
333
351
317
265
410
350
323
214
327
295
287
269
354
367
252
325
321
333
268
309
287
329
285
228
347
254
369
275
297
307
336
277
289
299
252
252
300
252
330
357
396
261
307
282
365
234
329
283
308
341
253
283
286
351
281
273
287
300
337
406
318
377
239
270
338
350
289
355
332
372
243
311
293
343
348
291
313
330
399
327
303
347
302
254
375
301
310
263
326
356
272
331
353
265
329
268
368
263
339
318
355
366
308
316
302
332
283
331
310
292
408
325
353
288
375
321
310
403
321
393
355
241
432
391
317
253
409
342
293
356
305
284
309
342
347
320
345
281
281
314
395
341
319
325
329
344
325
371
340
271
340
279
308
311
277
385
270
388
390
319
309
312
312
266
240
306
305
379
300
317
367
244
299
282
339
332
306
243
307
359
321
372
340
275
334
339
313
337
343
310
224
297
309
265
179
408
218
371
300
316
283
407
336
268
279
272
357
295
290
279
326
222
310
366
314
319
281
307
264
279
282
315
355
182
322
416
366
287
368
362
248
265
340
292
300
344
376
296
366
321
392
324
446
280
354
310
359
312
319
252
353
333
332
349
301
345
334
279
224
276
306
259
334
267
359
287
303
316
276
329
307
277
318
352
286
339
351
361
366
288
318
314
393
334
270
213
328
273
339
321
309
317
287
328
262
359
211
377
323
314
298
294
309
432
295
306
378
284
359
377
348
325
292
366
286
261
318
397
365
313
309
295
286
353
315
366
332
281
308
307
343
318
236
367
317
222
331
332
344
305
309
345
315
290
370
254
351
352
211
390
430
321
300
310
336
317
355
297
368
335
341
252
304
316
395
284
377
393
324
291
343
271
339
348
283
396
351
372
329
267
280
365
242
298
324
276
247
363
380
304
292
284
321
326
320
361
308
290
378
244
302
336
223
347
371
285
298
256
344
324
309
265
351
316
412
244
317
299
318
295
294
278
285
343
401
256
330
305
309
378
296
381
374
310
287
284
299
337
334
341
349
268
231
307
297
334
266
308
292
234
312
213
293
296
299
345
275
363
282
313
421
395
310
335
314
351
337
346
360
265
322
326
387
330
281
229
333
288
412
339
302
262
324
355
368
435
371
316
310
369
339
284
346
300
390
254
309
370
355
339
308
381
328
315
385
381
286
341
348
281
287
298
281
341
290
313
334
331
281
345
260
324
370
214
283
332
214
294
266
304
281
297
355
393
286
276
295
319
393
349
248
307
313
301
316
411
272
319
351
299
328
293
334
291
362
342
339
375
254
331
246
333
351
207
298
332
418
321
269
349
287
208
229
350
251
285
322
244
277
353
276
297
196
310
280
369
316
344
334
312
335
324
299
305
291
298
374
266
356
234
290
344
242
351
331
337
351
342
310
251
227
314
360
280
326
329
316
299
287
337
348
265
345
411
306
300
201
260
278
305
345
317
307
235
302
374
294
368
339
289
251
297
276
334
353
304
289
349
324
340
237
392
284
349
394
262
360
237
322
318
362
341
302
311
227
306
321
305
297
358
320
311
302
261
310
346
337
310
279
260
316
377
307
375
415
348
258
229
340
374
324
313
373
325
286
173
321
311
303
335
222
214
303
272
286
254
262
273
323
344
294
314
296
265
289
335
281
338
314
239
332
344
214
290
294
352
376
314
345
322
370
304
389
354
362
377
256
333
292
292
323
289
309
411
340
356
286
339
279
325
314
346
277
410
402
355
294
341
363
391
375
338
393
299
370
322
292
311
269
297
335
324
209
271
334
360
299
367
283
234
392
282
308
326
267
344
291
319
348
277
243
288
329
296
309
304
415
314
352
334
318
292
310
327
277
255
259
383
297
319
273
318
280
300
315
318
312
221
289
412
311
279
334
305
330
314
303
363
283
370
319
379
342
307
397
293
302
354
264
304
295
372
268
308
308
296
383
348
256
350
312
344
330
369
268
385
246
287
322
384
284
302
379
254
317
328
320
397
319
314
274
281
303
226
228
294
319
356
302
259
402
310
235
368
320
353
299
370
300
278
311
339
331
379
262
368
256
281
350
357
272
386
361
335
352
304
326
382
277
334
373
383
346
277
309
350
335
312
293
382
280
281
388
360
283
314
376
287
342
335
373
286
325
302
302
360
397
364
315
326
418
337
365
262
296
259
370
271
323
290
378
305
316
314
363
308
354
392
340
309
352
313
353
355
350
256
289
277
242
351
252
342
346
347
304
309
359
281
359
276
288
210
295
274
338
331
321
315
393
279
306
408
392
286
342
316
379
222
328
314
278
386
343
280
288
303
285
299
268
375
343
294
305
304
312
360
312
350
286
235
383
326
309
367
331
302
343
298
330
305
291
358
342
320
272
306
241
233
343
312
226
232
380
348
307
354
314
306
379
309
377
278
326
251
347
323
345
372
356
317
293
352
347
318
277
360
233
297
307
351
273
264
337
219
371
286
341
357
253
245
346
419
242
326
331
352
265
300
402
312
371
331
292
322
367
279
328
280
339
307
339
311
350
255
377
346
330
341
371
269
338
229
335
294
324
252
326
267
354
331
316
292
309
362
350
336
319
290
315
262
310
264
374
291
295
300
308
299
267
397
373
261
292
327
364
285
270
361
255
321
267
378
331
302
252
255
303
253
316
367
291
315
419
325
364
320
302
361
335
402
376
307
270
271
333
349
325
285
341
350
340
343
307
295
284
290
319
252
361
392
285
260
291
271
341
344
324
287
306
312
325
268
338
381
248
370
354
364
289
382
308
314
238
312
344
335
211
338
358
317
388
370
326
310
385
387
262
371
398
321
272
316
347
255
317
389
327
281
309
376
278
290
341
345
240
392
376
326
342
353
321
342
323
350
317
262
307
359
309
329
264
306
266
315
322
343
323
317
377
255
392
291
321
253
366
279
291
273
313
318
355
227
259
319
274
357
300
318
327
305
268
335
404
266
233
271
305
307
379
390
382
272
321
290
272
276
323
277
306
272
256
282
409
269
285
310
370
315
302
313
288
391
369
364
347
282
232
274
324
321
280
366
347
319
318
282
411
375
217
296
331
261
302
279
290
306
265
388
329
275
294
333
329
330
343
301
320
251
322
348
343
273
344
368
240
315
304
372
234
369
313
321
371
357
330
350
331
293
348
307
188
350
263
356
354
295
324
377
171
294
318
243
365
296
365
324
291
325
248
333
286
373
278
332
283
356
294
268
344
259
345
269
288
341
321
316
270
401
272
311
287
299
265
300
214
367
341
356
347
389
317
341
275
341
318
283
292
315
323
272
406
285
323
203
336
326
307
312
251
336
311
281
328
269
252
345
339
324
289
422
274
337
379
373
296
332
357
263
286
345
356
279
333
243
381
180
379
334
379
240
410
319
325
245
249
260
341
352
291
352
241
212
225
350
304
282
380
275
297
286
346
310
346
298
374
327
319
360
313
295
371
283
282
377
286
341
323
314
346
283
250
337
284
389
241
324
324
344
243
310
312
320
276
372
294
336
369
280
255
317
307
248
305
356
380
321
318
295
311
252
297
251
349
307
278
344
318
257
324
334
274
375
370
306
313
298
302
384
274
271
235
267
354
369
290
299
294
365
380
337
300
312
407
210
337
320
238
340
351
291
306
338
310
281
352
272
330
302
297
305
266
322
357
336
237
346
341
336
285
296
339
227
301
258
308
310
312
264
353
308
463
321
328
322
344
312
317
360
266
281
240
331
342
361
358
281
375
336
244
307
357
341
359
365
252
341
334
344
257
325
323
309
299
293
240
312
271
345
419
285
370
357
340
351
306
287
291
280
344
338
375
332
395
353
407
338
314
319
397
291
351
275
322
280
370
341
387
309
315
282
418
394
289
238
350
272
292
324
314
342
274
221
340
256
290
361
330
345
301
331
269
362
333
329
285
279
247
377
267
333
274
347
343
385
272
353
330
282
355
342
319
281
260
301
367
311
271
259
342
332
353
358
386
321
298
397
298
369
290
316
364
292
348
350
330
288
389
269
214
288
291
341
352
289
344
363
275
272
320
349
348
328
334
256
313
310
318
338
282
277
253
300
302
387
243
241
283
370
321
342
329
389
377
283
234
288
295
242
395
318
395
292
253
241
297
324
256
314
325
254
324
237
284
355
256
359
254
319
269
235
378
332
350
327
267
326
284
329
302
295
226
347
282
384
350
359
317
327
295
339
414
336
266
389
294
283
201
287
257
267
335
287
327
274
361
345
358
284
332
362
418
248
274
301
304
328
327
339
338
328
370
363
375
278
272
315
326
356
326
315
331
335
352
238
411
311
277
391
343
292
367
296
267
359
333
317
390
284
283
274
312
277
314
305
305
314
301
267
232
381
218
252
398
376
254
355
288
294
357
312
286
284
347
369
302
404
325
266
300
304
355
306
369
343
270
329
292
390
327
329
254
330
321
338
238
390
248
238
282
367
354
290
292
292
305
264
324
287
356
264
318
264
345
197
399
370
306
339
294
362
351
330
251
303
377
354
268
306
262
275
258
337
329
388
337
308
298
308
245
346
316
350
282
370
306
247
294
361
261
302
307
315
344
382
312
413
256
294
339
306
261
300
346
302
313
220
314
344
251
372
344
357
392
232
390
339
214
274
280
344
336
319
350
347
298
282
342
328
304
255
333
296
309
346
322
256
342
335
318
368
294
347
227
209
329
348
358
350
320
330
323
255
338
285
267
326
271
304
365
352
335
372
311
302
287
275
260
178
272
326
352
283
310
358
310
232
357
289
302
337
321
280
339
264
297
319
372
216
356
331
280
283
306
275
299
258
311
353
240
388
244
332
304
287
292
334
345
311
287
287
306
329
289
298
306
346
338
233
288
305
320
316
218
367
295
352
265
284
335
347
258
316
249
208
329
255
242
299
280
383
325
315
309
341
317
291
308
336
338
285
268
305
289
353
395
346
260
251
312
261
321
375
290
276
330
325
343
222
272
348
246
299
253
265
316
265
299
344
356
331
328
294
349
277
234
297
373
339
330
346
209
342
383
283
220
309
339
301
385
373
325
323
326
301
300
289
280
242
351
316
340
333
320
234
350
251
280
270
306
279
374
313
378
298
320
338
279
285
333
302
349
291
278
294
335
344
363
300
307
234
309
413
294
318
293
367
330
347
318
398
312
289
315
304
335
337
344
302
374
298
267
305
367
180
332
343
345
357
265
319
334
322
327
233
312
294
357
314
342
352
364
274
349
349
314
246
377
300
304
423
352
296
345
290
365
278
340
270
344
311
354
326
351
314
358
345
379
341
287
342
302
371
299
379
367
365
337
287
341
285
379
307
320
275
355
348
291
381
348
313
323
312
319
239
304
292
310
285
324
294
269
335
336
317
301
247
364
325
263
280
276
316
217
268
332
354
301
339
370
375
297
350
319
373
240
299
366
326
304
307
299
301
243
293
273
250
399
317
354
325
293
312
352
315
212
375
322
273
224
293
298
305
278
420
255
368
354
309
329
340
291
220
385
305
399
193
345
255
337
353
263
330
296
322
280
289
407
320
274
405
325
337
279
357
357
405
279
296
325
350
352
240
326
254
310
331
271
246
350
229
295
232
318
330
311
267
303
316
336
369
334
314
341
322
312
326
325
283
284
355
303
351
315
365
241
358
319
343
354
252
295
336
287
354
334
257
341
336
348
314
348
407
243
342
351
363
353
272
270
350
334
317
270
294
251
181
367
262
299
220
358
345
270
322
226
349
297
292
330
239
278
231
332
315
280
353
271
330
295
323
381
285
326
330
266
325
298
334
319
346
292
327
253
265
346
348
245
308
293
349
318
358
375
274
326
257
288
361
307
272
312
398
335
338
325
357
345
268
310
309
161
321
346
300
294
316
263
395
366
330
368
309
357
320
299
319
364
316
267
239
320
334
309
410
380
348
344
292
335
231
369
306
248
299
270
329
246
281
347
181
340
303
244
252
320
296
310
230
368
337
314
327
267
263
342
244
280
367
224
297
252
346
334
336
319
236
375
311
330
306
343
329
372
409
322
352
212
361
259
310
289
296
365
346
323
309
258
356
271
284
306
342
289
344
310
395
310
269
316
297
286
275
313
300
279
248
344
210
285
330
362
275
367
378
220
306
350
317
353
284
342
256
291
226
353
345
215
297
330
293
387
346
296
305
356
333
357
355
337
351
288
291
316
262
330
373
382
324
288
301
283
301
285
392
246
354
261
291
250
336
348
282
321
225
314
334
290
328
310
331
350
380
292
313
340
264
338
321
372
281
392
341
335
294
300
332
269
292
376
434
284
311
260
287
357
318
295
364
323
334
413
327
390
328
370
343
329
371
361
244
361
297
303
376
267
356
345
296
361
306
362
373
238
325
333
274
368
278
294
401
325
310
362
258
268
362
372
307
322
295
297
329
367
297
393
330
326
312
259
249
299
396
376
374
336
285
259
267
367
285
308
250
324
312
336
307
199
305
335
289
324
229
219
299
338
338
307
244
342
271
349
273
399
311
313
335
376
322
292
268
335
341
333
339
294
266
361
283
419
311
334
387
449
400
280
372
315
272
357
281
326
354
329
288
343
372
300
339
276
367
340
195
256
176
273
314
307
367
306
360
259
278
270
330
231
337
227
314
331
221
338
329
361
271
363
300
341
344
261
307
313
317
308
310
392
290
318
310
267
343
402
313
278
324
290
385
336
385
320
288
295
262
298
280
330
343
348
247
304
358
404
337
250
311
377
321
270
372
237
333
375
339
289
341
315
227
330
344
281
369
297
314
343
359
340
305
318
353
383
372
350
321
393
295
384
345
372
272
223
317
265
307
307
300
308
307
331
262
286
311
393
354
309
367
293
314
249
298
282
278
329
339
332
248
313
276
428
302
338
345
310
300
292
241
280
404
392
359
273
256
410
328
318
373
363
302
336
327
321
263
358
280
328
376
297
344
364
275
362
290
315
352
350
253
348
326
339
313
263
269
317
238
279
269
318
336
266
237
370
392
320
311
322
316
342
333
377
359
302
310
307
309
270
288
274
400
341
286
321
354
374
248
313
378
289
282
323
324
329
253
368
256
316
260
384
252
303
307
312
388
313
245
372
328
403
308
261
243
368
269
299
326
313
286
289
244
224
345
358
220
383
354
319
304
285
286
387
281
338
287
383
237
267
290
281
271
334
338
270
326
271
341
246
290
353
345
291
388
253
324
403
339
381
312
364
263
306
381
268
295
357
284
262
309
350
277
357
164
328
305
309
327
279
318
370
254
340
312
328
362
321
252
379
335
334
344
282
307
266
325
304
314
366
262
231
321
252
258
290
263
309
274
306
357
354
337
306
257
326
326
294
267
355
226
345
271
315
342
243
261
313
262
306
214
284
284
329
423
262
383
263
351
305
344
346
234
290
275
371
399
339
351
342
356
297
383
335
343
275
320
392
299
369
286
369
342
284
252
380
298
299
384
358
250
315
366
322
328
373
320
386
314
324
275
240
376
202
396
333
351
255
339
320
345
332
244
295
386
309
301
306
380
239
233
315
321
265
307
323
278
319
249
266
305
223
296
248
308
317
341
276
251
280
352
349
292
273
387
280
349
290
289
333
269
264
302
317
313
301
332
246
235
362
316
296
333
310
304
299
329
273
254
215
314
318
286
371
383
346
255
321
250
379
374
340
376
371
331
282
287
305
390
311
392
372
233
303
213
341
281
309
302
310
367
312
274
315
315
324
266
281
296
247
277
338
240
352
312
307
347
263
354
408
348
322
276
329
383
192
282
370
337
341
342
225
326
346
273
336
310
322
323
265
349
314
280
312
331
327
251
380
387
312
360
339
300
349
303
337
342
312
371
269
396
360
197
255
383
330
327
309
309
340
342
357
403
343
369
352
273
336
282
331
318
345
338
269
320
239
302
340
244
302
302
381
288
376
393
348
393
321
284
339
321
312
346
323
310
367
326
313
407
233
314
312
266
333
266
313
328
288
312
368
353
339
357
291
277
252
306
307
301
369
317
333
350
333
266
318
281
307
375
314
287
268
383
172
360
337
426
271
364
280
359
281
283
337
341
334
352
292
277
350
416
350
361
274
353
316
260
269
292
289
352
370
325
398
224
337
247
240
355
406
414
375
274
385
294
273
343
311
343
374
289
307
306
357
341
215
335
298
354
287
333
327
302
294
391
330
290
296
300
418
341
312
359
319
279
314
268
344
389
239
371
281
306
306
263
327
277
253
265
387
300
376
310
239
274
255
266
304
275
310
285
330
341
310
309
358
219
312
351
326
241
351
352
305
309
334
315
379
287
356
324
267
250
256
314
309
328
335
248
319
370
276
343
297
340
300
293
352
360
247
358
313
324
333
347
345
279
222
229
327
347
289
320
320
216
343
291
379
267
290
392
297
319
350
310
240
286
355
311
389
317
258
314
320
274
277
337
204
414
310
226
333
365
349
194
326
315
347
325
380
260
329
357
276
269
308
363
277
366
306
300
307
238
393
345
257
332
292
320
280
362
336
318
323
292
283
286
356
290
219
284
315
340
370
402
233
295
305
344
339
252
276
235
282
340
284
262
332
285
335
350
348
311
364
309
316
353
306
390
292
322
293
232
270
313
349
362
401
313
324
350
304
383
270
228
334
340
287
397
357
315
271
276
330
272
278
328
327
335
308
241
343
279
333
389
341
358
356
288
333
316
249
324
339
331
257
374
392
246
332
350
294
274
319
275
291
265
259
314
295
356
356
372
313
274
304
388
367
293
316
375
410
259
317
376
395
265
367
285
280
328
332
348
334
296
321
339
333
330
314
283
249
375
288
329
352
294
326
359
310
319
322
359
350
315
323
377
334
372
311
324
335
306
309
337
300
313
392
311
280
381
345
313
315
332
316
342
306
318
325
278
405
315
377
335
322
282
194
352
304
318
282
297
375
310
359
278
411
300
304
313
303
275
385
413
235
322
372
288
431
258
317
275
326
356
272
339
390
364
329
321
258
337
372
385
341
334
334
334
346
339
367
375
302
304
268
317
359
287
353
300
325
260
351
332
287
304
319
236
367
337
353
293
256
288
305
310
253
347
303
369
417
347
209
308
323
325
316
278
288
319
307
270
346
296
413
299
268
405
312
333
351
287
348
350
278
300
375
246
312
412
371
297
371
306
404
355
281
253
297
217
313
282
335
328
286
269
312
297
313
350
314
353
412
282
337
343
234
315
315
326
320
359
326
309
329
335
241
292
320
285
300
288
222
326
325
334
358
322
320
342
271
307
310
328
166
277
355
297
311
232
234
384
314
362
364
335
429
272
309
291
316
369
285
278
285
323
309
310
311
315
317
289
298
342
323
367
358
242
221
270
302
282
361
338
350
360
360
297
268
321
374
235
250
226
335
336
293
297
270
370
184
327
213
313
334
379
297
315
372
282
351
350
364
315
300
377
365
312
324
265
378
282
265
359
327
395
386
306
302
372
366
333
282
329
279
304
261
252
325
359
217
367
381
283
308
357
215
278
305
366
268
269
337
285
314
307
350
311
296
286
400
287
293
332
377
325
284
292
314
247
321
357
277
240
284
304
260
289
366
376
303
320
358
388
281
329
301
262
305
368
332
229
259
258
285
290
294
324
222
286
316
310
247
249
343
263
368
357
314
250
334
311
324
328
371
280
371
282
339
262
227
267
311
402
364
316
323
234
302
352
249
282
303
274
320
387
299
262
348
314
263
368
283
336
314
256
284
289
332
293
342
325
365
351
379
249
356
307
362
319
297
223
271
373
230
334
339
326
281
289
394
335
331
374
364
330
327
299
233
323
326
328
291
327
310
277
374
326
224
315
303
324
345
278
355
355
316
322
304
325
332
366
252
328
290
257
310
244
336
395
364
311
283
381
338
274
312
289
216
362
337
303
229
281
252
323
357
307
379
290
439
336
302
402
375
301
353
354
318
342
353
314
389
359
365
307
253
253
378
369
256
259
255
337
400
298
298
361
243
383
321
312
281
314
317
326
283
293
355
292
307
275
318
327
268
317
299
313
278
294
372
310
265
280
285
313
338
255
278
307
312
326
311
325
277
329
304
325
398
328
311
315
364
342
342
317
363
237
253
339
351
345
335
327
305
290
332
324
362
345
278
291
291
320
245
212
320
313
366
286
309
260
345
312
361
322
328
292
296
259
305
287
296
321
333
288
325
364
288
352
353
279
265
375
364
318
312
307
327
246
267
407
343
269
290
380
280
241
342
298
261
239
355
324
364
324
347
305
309
389
277
339
300
331
344
263
357
300
323
230
236
261
299
324
260
270
268
269
350
335
343
345
308
317
357
288
296
334
393
400
369
364
226
212
300
323
291
338
321
316
302
246
325
318
307
257
329
360
328
317
329
309
265
330
332
326
313
359
285
217
302
354
345
251
304
238
277
312
286
265
268
351
329
409
344
308
270
324
317
333
360
329
335
300
363
220
329
298
380
385
295
254
264
296
291
386
285
306
303
354
312
320
323
347
356
311
342
295
336
263
294
296
306
325
344
358
291
277
365
334
315
284
271
296
320
281
342
338
378
369
369
218
349
379
327
300
309
303
302
312
207
300
393
305
293
377
317
276
335
251
312
384
337
307
287
317
341
310
301
224
304
356
327
316
266
294
336
292
294
349
263
334
225
220
288
245
308
350
315
336
389
321
240
321
298
235
276
259
347
337
299
270
232
351
193
363
291
361
325
326
353
356
309
351
286
314
286
218
320
289
196
324
324
350
238
300
245
337
284
281
369
316
351
265
261
265
291
268
357
234
341
284
330
329
272
384
327
304
268
315
318
339
357
400
271
293
273
344
266
302
305
364
302
404
246
402
358
205
377
300
268
250
333
354
353
284
360
338
388
393
361
260
316
301
287
354
337
211
343
352
252
277
278
274
356
320
358
303
329
258
335
287
278
270
303
300
374
307
295
305
352
285
406
338
359
343
339
296
259
302
401
299
301
362
344
260
252
221
258
264
252
293
337
328
330
304
276
337
313
309
214
234
328
331
317
387
338
310
288
319
314
329
271
251
291
250
246
324
352
307
322
273
420
368
233
390
218
344
308
397
364
303
338
376
311
310
383
244
358
348
289
344
338
252
342
314
335
333
340
302
267
292
321
307
311
274
310
273
386
299
347
293
318
292
341
338
328
368
218
201
306
323
286
303
295
444
355
291
271
280
379
327
300
260
286
378
306
367
359
214
352
284
323
355
303
307
324
351
283
287
370
368
324
391
350
321
308
299
309
328
343
262
407
324
324
336
356
332
262
249
302
343
364
257
364
255
305
341
258
251
370
295
299
274
308
306
307
263
265
306
269
229
263
341
308
266
350
355
327
295
411
361
265
342
252
352
248
207
233
343
354
252
305
297
378
340
332
286
266
328
244
347
304
291
233
255
270
329
257
256
227
397
357
241
298
309
352
378
344
357
323
305
333
302
296
336
332
276
319
330
291
335
218
323
344
274
339
363
297
325
288
334
333
238
348
215
311
302
365
309
351
351
336
337
348
353
334
259
367
370
355
292
278
356
379
344
248
267
235
309
310
278
409
341
367
340
341
290
300
299
361
391
263
387
292
356
295
379
236
331
317
279
248
270
336
253
293
352
324
331
309
215
341
326
283
288
355
322
329
317
280
278
251
268
315
259
296
341
368
255
319
352
417
319
333
306
297
318
308
284
266
262
400
326
257
290
238
364
319
312
318
373
361
330
341
347
273
352
262
339
260
325
254
292
232
259
335
351
375
264
335
337
311
289
366
326
307
296
351
368
301
294
299
366
342
372
334
376
323
295
313
322
301
268
372
356
314
355
344
339
363
371
330
339
275
322
342
263
248
361
277
316
274
341
281
298
409
270
336
326
291
330
416
392
367
308
335
339
341
227
349
232
225
268
363
358
305
237
256
248
310
347
335
273
218
319
294
273
320
361
363
295
287
340
306
334
362
253
333
365
298
325
313
376
242
197
320
319
317
292
299
315
363
262
338
270
308
321
189
331
301
252
339
414
333
289
320
255
335
314
276
271
201
341
345
262
321
308
328
244
279
344
247
259
373
248
343
351
304
391
247
340
284
324
243
401
294
297
296
335
303
223
367
327
299
367
249
228
339
277
365
368
329
277
303
345
358
298
281
306
330
307
320
315
383
207
329
344
319
325
365
284
348
317
335
341
347
344
336
293
277
306
273
317
291
277
271
354
380
318
337
399
384
284
373
255
375
293
331
316
308
209
292
307
326
265
312
334
319
354
338
401
290
345
321
266
375
384
329
352
311
271
303
327
252
370
322
334
270
273
304
230
411
333
345
299
191
251
353
322
316
308
322
352
352
329
314
419
363
285
270
350
314
275
257
259
330
330
321
361
294
315
331
238
225
366
366
272
324
273
324
310
308
328
343
244
253
267
217
223
374
291
220
288
333
377
305
387
301
294
347
277
293
339
365
370
420
322
331
292
336
328
329
354
339
345
321
295
250
299
336
322
311
309
395
216
307
297
300
298
290
355
164
311
245
334
328
358
297
379
346
339
302
196
373
261
283
352
328
334
324
274
295
319
297
358
300
318
285
351
301
311
356
350
299
303
256
307
292
275
355
302
293
395
259
406
295
326
315
258
390
287
287
274
236
295
336
371
323
398
295
284
362
333
389
322
309
279
284
253
311
295
301
385
266
287
297
321
354
308
352
375
345
286
260
291
275
310
338
314
296
313
366
288
383
375
299
339
337
220
366
314
334
311
336
318
187
314
313
354
334
318
342
371
224
286
339
273
288
394
355
315
360
356
277
258
227
360
308
275
332
314
272
282
248
281
295
278
392
301
235
404
366
262
342
234
290
340
301
400
350
291
311
297
346
309
357
268
316
370
316
337
298
287
353
386
232
371
296
308
371
329
358
300
321
328
315
315
336
269
250
374
266
269
280
332
352
358
238
282
273
335
284
342
260
311
398
348
332
282
353
284
306
282
295
380
277
339
341
315
330
337
293
291
340
340
337
345
310
311
338
390
382
342
269
308
278
314
346
300
344
345
322
282
244
320
330
325
320
342
333
191
296
270
362
429
324
287
318
359
324
301
293
251
265
349
322
251
366
316
326
298
279
390
260
308
321
227
271
239
310
265
278
325
405
262
359
315
315
334
313
381
340
369
281
356
288
358
277
213
290
404
291
283
318
277
378
370
303
289
278
315
327
271
312
289
240
350
342
277
322
378
319
309
330
335
271
293
283
385
305
302
322
334
194
325
310
395
333
335
394
383
332
347
287
331
313
332
336
264
294
294
265
218
274
366
383
273
400
341
285
324
322
332
286
329
397
350
300
352
356
418
292
360
331
275
373
314
319
318
383
426
289
314
378
348
297
275
325
253
251
354
305
323
330
283
287
337
291
346
380
264
355
263
260
274
365
341
289
248
273
353
297
371
236
232
282
365
342
359
339
295
430
272
264
361
255
262
379
296
424
290
306
397
272
312
359
379
415
272
291
325
286
294
304
267
239
363
326
331
258
339
368
288
213
339
199
310
296
296
236
272
261
368
226
326
300
397
322
233
313
314
298
344
255
371
317
360
315
321
330
263
307
233
320
276
288
354
341
280
223
394
296
287
307
330
324
262
343
324
301
254
294
213
337
312
239
345
256
324
248
352
368
421
233
371
353
257
247
306
257
345
341
366
344
245
288
298
331
295
354
365
244
273
302
303
273
332
306
313
329
336
306
423
302
375
302
339
350
301
322
249
281
361
240
301
325
268
323
303
343
295
314
273
280
286
438
330
341
312
432
306
331
304
337
394
338
396
253
200
335
288
300
255
270
299
343
280
360
322
330
346
434
360
324
295
326
373
359
319
226
302
313
391
259
356
311
375
328
277
398
271
303
362
330
374
314
380
317
292
313
377
373
302
358
310
278
342
312
395
368
261
353
304
343
255
343
357
284
348
228
339
269
340
276
329
346
214
298
212
309
303
363
299
263
274
308
316
345
339
299
324
260
386
318
247
340
259
236
273
394
331
369
234
317
319
283
420
295
308
351
312
358
313
346
302
301
259
382
249
270
304
390
228
322
256
355
309
304
430
233
241
301
325
336
298
260
267
327
276
300
362
339
269
319
308
288
299
396
335
279
259
286
224
361
234
285
373
339
246
327
330
294
318
344
319
338
276
325
302
306
370
348
318
225
324
362
290
295
405
341
338
280
252
356
330
339
236
323
369
238
360
296
365
350
300
356
337
230
326
397
400
315
248
318
359
277
384
314
261
403
250
283
315
373
302
332
319
392
315
235
183
314
302
400
381
227
293
286
296
321
296
315
358
238
265
278
343
279
302
274
317
282
314
337
345
324
267
300
368
304
343
335
242
337
246
334
316
301
293
353
381
322
264
301
256
323
359
311
402
304
280
341
264
256
351
261
303
372
321
271
272
264
299
286
329
320
385
277
352
295
326
349
321
333
386
314
413
384
305
320
388
302
252
285
342
269
341
320
201
305
360
316
366
395
373
310
251
271
214
374
343
338
347
280
333
429
322
353
252
325
341
315
301
315
252
363
380
297
357
300
224
314
257
323
225
319
250
313
293
320
378
342
301
299
372
386
316
340
408
347
341
267
308
319
284
307
319
269
244
417
335
266
365
305
273
385
303
292
275
345
290
314
321
394
428
383
357
252
211
298
313
330
266
388
380
306
343
323
294
324
314
329
304
292
311
317
290
229
358
346
371
326
273
274
319
280
305
287
357
244
242
259
259
233
332
205
346
362
314
334
365
332
350
324
283
281
399
348
289
290
266
368
329
322
351
353
316
329
341
336
305
372
205
330
284
301
307
265
282
346
267
289
324
346
282
356
377
345
377
278
378
319
368
241
368
328
268
278
365
303
294
299
220
263
371
353
338
394
340
295
337
345
282
252
340
337
353
251
286
321
314
393
242
279
296
323
329
249
259
320
268
314
379
380
365
308
285
295
311
257
370
323
418
196
333
286
379
299
337
399
324
377
268
357
326
238
368
332
320
366
306
248
255
333
274
339
273
340
377
293
353
315
328
337
377
337
218
358
295
315
284
335
229
354
303
308
356
372
337
352
228
392
284
307
330
327
247
277
330
315
300
316
341
253
339
283
345
272
338
297
286
275
329
286
307
335
366
343
323
286
262
277
259
298
204
267
294
305
332
333
352
334
357
339
352
347
228
332
335
300
272
232
226
390
321
311
363
283
272
365
341
363
307
380
290
271
357
321
268
329
224
329
308
338
317
214
213
342
261
241
342
286
395
277
247
307
374
291
317
355
279
271
310
318
327
308
391
312
341
288
309
376
307
283
279
227
249
378
386
358
252
313
355
320
388
356
282
311
298
357
230
339
226
356
286
286
298
296
295
295
382
295
308
260
316
258
245
326
296
290
261
288
337
330
325
321
320
340
290
262
299
347
262
361
306
328
299
367
340
304
267
251
348
314
231
362
246
299
235
336
322
326
339
331
250
306
373
352
289
323
304
251
302
299
320
335
350
247
306
299
308
308
318
287
231
299
307
383
245
279
342
329
354
302
325
349
311
339
220
322
319
352
292
285
355
391
387
334
323
323
317
269
313
312
297
341
342
310
234
342
379
318
362
290
289
311
354
356
404
267
322
388
419
310
319
338
355
319
376
311
258
328
295
398
293
236
283
335
351
324
337
267
280
281
289
396
355
347
277
372
344
294
332
331
322
283
374
403
275
351
360
203
413
296
341
319
328
286
349
319
308
376
360
337
331
339
373
257
388
362
365
322
332
264
328
243
368
378
304
227
332
337
388
301
317
287
303
310
248
359
344
346
378
318
335
396
350
349
317
345
287
316
397
330
298
331
241
324
373
356
364
303
346
274
361
342
312
352
326
312
390
399
311
337
388
362
212
258
272
255
334
250
376
299
289
355
328
267
316
321
261
280
293
298
268
351
347
341
262
288
267
295
421
363
287
312
319
384
316
292
282
357
325
335
333
401
397
412
298
289
292
242
294
326
347
321
278
259
352
262
373
418
332
306
246
305
302
332
256
322
364
320
298
380
365
410
366
272
376
215
293
239
328
318
298
397
283
349
281
310
311
392
322
355
289
361
268
335
312
395
307
358
322
275
274
329
388
295
297
266
314
267
257
359
231
267
374
270
393
368
253
292
314
330
318
284
286
262
278
372
291
247
408
229
292
293
368
297
287
334
380
310
284
253
314
353
387
227
306
366
300
226
376
286
335
305
261
348
225
309
362
304
295
313
347
301
339
366
288
252
267
377
300
334
333
285
330
318
233
326
306
365
314
312
372
322
324
328
264
237
329
379
318
278
371
294
346
348
316
305
287
255
314
290
303
371
310
405
338
373
296
320
308
300
370
277
289
307
377
331
318
371
280
204
351
300
297
373
297
340
296
325
335
350
302
344
243
294
306
300
302
365
255
289
412
345
377
348
432
399
326
343
341
307
315
359
312
400
367
263
273
260
328
296
306
319
263
283
387
317
298
351
337
321
345
239
332
264
237
306
324
356
325
273
204
328
283
233
380
329
343
306
360
325
326
365
314
275
397
249
324
364
262
327
407
340
293
288
310
296
318
371
313
322
278
325
325
256
332
309
372
368
292
311
296
368
393
307
301
280
269
317
286
368
338
285
280
289
339
339
386
374
302
345
335
309
337
295
333
343
273
267
370
315
341
374
246
299
359
340
303
312
357
284
392
380
335
277
346
427
207
336
388
355
307
288
325
390
261
305
244
304
348
288
344
355
372
330
362
325
331
338
340
358
367
234
339
324
215
279
338
302
286
283
257
378
322
359
236
323
347
341
372
388
344
378
316
403
298
368
335
370
295
341
198
283
340
372
341
331
282
383
222
328
333
417
304
329
351
315
311
326
330
353
367
369
331
271
339
319
296
382
327
287
232
307
249
318
278
403
316
329
331
370
359
296
373
221
245
263
302
330
357
362
336
294
337
240
255
386
349
377
261
363
296
276
246
338
274
343
339
329
367
347
273
422
377
373
277
291
329
210
275
362
310
277
317
282
266
367
334
302
303
303
267
326
303
238
208
275
325
287
328
248
330
327
322
295
312
317
330
326
316
316
348
304
279
384
350
262
313
318
340
225
329
266
256
325
278
294
281
349
343
320
278
289
396
307
312
258
366
330
362
312
252
371
295
307
265
294
275
359
275
311
281
333
303
307
323
275
299
373
326
332
347
300
288
274
241
197
321
320
324
375
381
295
299
250
302
363
237
255
270
296
296
290
273
286
296
344
383
332
291
238
347
300
255
375
320
330
327
340
363
346
341
287
385
275
274
345
290
361
303
281
313
310
365
301
377
363
280
336
276
305
347
343
257
322
310
325
322
265
351
277
325
270
338
361
371
237
233
347
265
331
257
343
335
284
271
333
306
352
319
313
320
342
370
309
300
328
309
274
214
252
296
290
318
272
268
386
336
406
365
314
312
327
270
361
393
235
334
303
351
354
296
316
289
361
344
272
262
251
349
312
390
321
300
300
382
301
326
276
354
284
313
368
281
293
384
386
368
271
352
273
270
332
356
339
304
314
345
337
292
279
290
227
330
274
359
361
269
216
255
336
238
291
337
350
242
323
304
249
289
359
312
413
362
397
234
297
336
373
307
280
350
374
347
321
378
231
299
323
304
259
288
318
320
320
342
312
291
441
359
284
283
253
343
278
336
337
257
376
385
349
290
345
347
259
338
371
317
363
256
413
317
311
308
283
345
341
263
346
376
322
290
324
308
247
317
293
291
359
335
389
335
339
227
308
256
205
316
353
347
340
321
372
334
309
348
406
316
326
332
322
277
370
284
254
276
340
349
311
218
322
216
334
261
302
303
334
298
333
364
284
316
341
250
334
340
346
329
337
368
373
240
275
262
291
312
294
231
293
299
284
362
343
294
307
304
306
390
336
246
331
303
328
285
379
260
393
310
304
292
325
265
285
353
342
286
360
257
273
387
258
276
347
306
278
328
366
287
288
321
319
332
271
308
241
325
390
360
332
259
352
363
295
310
254
274
260
302
262
306
381
405
340
349
312
243
282
291
264
369
308
288
244
315
341
357
319
294
397
255
320
351
292
289
291
314
299
328
240
361
305
362
275
340
284
311
345
325
350
280
392
371
258
336
372
309
265
332
357
269
370
250
319
255
289
279
307
330
316
355
279
334
265
315
321
302
325
347
328
262
292
302
313
261
386
341
315
376
246
339
315
323
379
287
294
348
281
319
389
341
390
322
371
298
331
255
381
275
360
343
247
298
330
302
261
350
296
248
361
280
292
353
317
354
299
376
343
377
314
341
337
267
319
364
322
280
428
330
391
355
255
400
320
311
307
295
354
327
289
301
369
276
254
276
328
392
310
302
273
409
249
332
327
329
351
293
353
346
310
349
234
297
348
340
392
432
335
371
336
326
359
250
367
296
341
302
358
359
287
351
337
275
341
324
285
252
305
308
241
245
247
301
336
321
300
234
302
271
401
248
373
338
275
246
366
306
392
289
378
259
313
334
267
270
348
320
328
351
261
303
270
283
355
365
338
281
367
315
347
268
348
300
382
358
298
301
322
277
272
346
361
223
327
328
305
318
337
316
393
317
294
260
294
262
324
307
282
331
380
430
424
283
310
211
294
304
292
313
267
278
266
406
329
325
289
362
336
324
348
243
288
386
319
346
292
342
317
369
339
305
284
358
358
352
320
252
324
260
298
350
233
346
305
243
338
340
382
267
273
354
352
285
306
397
295
312
292
351
382
299
272
250
335
267
305
315
300
390
268
372
309
227
317
284
371
332
336
278
339
350
218
345
240
341
314
280
308
311
308
302
340
289
288
328
295
299
305
325
313
348
231
297
318
244
257
344
279
346
314
193
321
338
252
255
346
275
289
232
338
306
211
286
283
275
315
296
316
272
232
340
391
310
272
351
251
320
355
350
310
332
327
330
355
309
292
274
365
310
323
289
298
352
312
327
373
258
367
261
310
352
360
285
355
296
323
342
333
372
260
291
320
394
367
304
314
352
397
320
279
307
260
249
361
344
270
321
377
313
328
262
355
301
386
323
390
351
274
345
326
395
384
323
297
277
300
359
315
290
346
301
310
258
348
330
312
361
270
391
358
340
306
193
340
330
328
362
292
327
356
381
345
268
365
271
259
335
253
364
342
332
350
307
284
375
338
296
344
337
287
349
298
242
265
280
336
324
307
286
332
329
298
359
284
343
237
303
294
352
288
342
317
250
324
349
332
318
353
309
359
382
311
278
312
269
300
347
271
297
337
370
318
295
227
340
290
349
365
310
375
354
383
395
333
220
267
383
377
385
349
281
260
346
285
285
253
315
349
342
289
357
412
295
324
359
313
289
328
272
307
269
371
347
377
203
311
301
380
304
262
337
321
307
266
298
278
374
344
325
293
390
401
315
361
327
240
340
295
361
292
401
308
246
355
309
390
289
324
361
373
270
294
330
381
267
313
352
381
299
217
271
290
318
252
300
289
335
282
338
317
295
401
262
259
282
312
286
347
341
199
357
335
291
357
309
400
351
288
351
369
349
332
273
298
301
334
386
266
356
247
353
379
331
335
270
263
248
230
301
251
362
245
267
285
309
176
325
290
289
296
305
333
306
231
309
257
285
314
287
308
356
346
346
261
294
302
269
217
343
359
298
317
255
361
303
339
307
253
246
376
335
274
369
335
340
332
353
286
290
345
337
363
260
331
269
396
380
334
356
349
379
395
279
280
340
308
296
367
321
316
275
376
285
326
353
321
309
249
240
302
300
244
344
260
336
329
253
318
323
299
356
351
340
310
360
308
339
369
282
282
328
310
311
257
332
251
351
270
324
338
310
359
240
252
228
366
364
275
319
309
303
307
279
292
325
325
326
341
264
346
399
276
313
268
285
314
291
368
321
307
320
321
315
351
356
291
380
345
256
348
309
338
319
365
274
336
346
338
324
304
322
338
320
318
239
295
316
329
369
382
340
294
350
367
381
279
277
307
429
375
274
346
364
324
387
228
239
371
319
285
236
352
353
336
330
309
291
380
273
432
341
346
356
391
422
260
334
374
362
238
298
337
234
283
312
348
291
237
350
307
310
291
343
245
317
251
334
326
334
310
427
299
385
315
252
295
326
302
305
247
352
334
308
295
305
390
333
228
333
354
320
265
280
263
189
370
315
316
339
322
314
308
340
328
343
304
312
271
370
340
309
300
350
336
242
336
341
336
388
370
275
321
321
311
238
406
244
283
356
273
338
248
295
324
355
232
251
329
310
307
341
394
382
289
364
256
317
331
252
329
399
291
339
326
320
340
319
298
369
325
384
308
367
360
363
286
236
324
297
310
369
317
345
309
284
377
360
241
352
356
297
353
281
216
343
363
244
370
351
303
365
275
325
307
317
396
324
377
268
329
257
359
359
229
362
231
284
311
353
364
340
297
318
312
279
292
250
333
297
288
270
352
341
284
341
326
368
341
315
443
374
273
302
290
318
271
296
310
252
275
297
330
382
264
269
327
261
319
313
320
273
361
336
387
340
258
322
316
337
262
373
279
315
330
320
371
285
290
327
257
321
290
320
365
244
273
295
396
341
320
306
308
328
328
405
276
302
384
323
331
283
305
278
311
388
338
312
417
277
322
344
351
247
246
207
329
280
264
285
363
331
343
286
375
246
293
385
341
249
365
293
378
342
332
322
399
372
334
343
391
281
277
251
310
338
314
295
308
360
333
375
276
330
266
234
304
323
324
321
337
276
298
324
354
330
301
275
311
434
405
320
320
341
359
286
303
383
303
274
286
237
277
385
320
350
350
392
266
292
319
363
297
325
287
324
205
378
249
308
287
316
188
263
291
295
402
370
281
377
293
318
252
351
358
295
356
297
295
326
365
302
350
261
325
337
316
322
335
346
218
224
347
263
236
335
353
315
378
333
310
276
299
274
349
244
328
335
283
257
306
246
398
297
328
215
321
378
322
322
362
370
270
278
352
324
283
302
356
384
339
360
369
323
266
298
328
392
323
339
269
302
323
289
298
361
333
336
232
393
343
377
365
221
309
278
329
333
282
305
232
271
274
257
273
274
298
386
369
346
292
277
261
236
285
326
268
345
276
374
380
336
267
322
354
329
206
244
289
310
286
292
370
277
162
316
346
345
336
338
258
296
398
335
257
292
386
284
390
406
399
272
346
316
342
335
400
278
252
335
330
266
344
278
321
276
326
383
341
357
321
324
331
323
336
291
274
404
306
281
319
301
399
272
299
280
270
263
312
256
336
262
330
296
353
319
302
346
289
354
262
344
384
292
390
237
318
309
302
176
318
322
267
373
285
305
379
332
332
228
278
362
358
406
335
307
332
347
313
327
332
274
199
277
348
350
279
316
288
305
343
345
262
335
310
343
352
327
386
313
297
280
331
291
383
350
399
386
286
301
350
375
259
326
287
275
341
326
383
314
260
386
317
349
275
342
314
282
291
276
285
343
320
402
365
255
410
347
363
308
280
311
328
223
287
331
356
379
343
296
403
308
292
333
302
347
358
352
312
329
260
280
280
345
327
291
304
271
381
329
347
295
357
243
288
297
321
337
310
326
263
378
296
266
297
297
301
325
271
360
268
321
252
307
334
294
310
331
341
337
246
286
239
374
267
290
298
285
267
306
333
237
359
274
290
382
321
336
362
269
295
309
271
321
264
192
250
288
280
237
282
350
313
249
315
320
302
415
325
239
290
341
303
327
283
264
278
273
329
411
310
326
335
177
299
349
300
227
347
301
299
297
357
281
340
318
318
357
378
322
367
252
382
403
301
417
264
363
326
333
334
297
413
321
301
326
340
284
279
276
327
312
374
341
301
277
314
290
248
259
302
337
343
272
314
289
297
318
375
328
331
307
276
272
276
386
279
291
328
324
317
314
423
293
295
317
341
360
274
338
327
355
228
277
281
338
423
338
213
271
205
353
371
293
359
267
377
348
376
336
311
350
323
338
345
295
283
255
359
333
278
299
323
341
345
295
319
302
329
286
309
369
289
291
293
345
302
270
330
266
189
373
385
399
310
387
321
325
270
269
271
417
281
322
290
255
277
261
394
277
320
264
313
318
322
218
231
248
330
366
211
270
329
332
366
243
312
261
273
347
286
428
302
365
280
272
362
345
385
255
352
347
324
290
311
277
285
347
302
261
384
287
334
295
338
248
387
348
255
376
279
304
329
313
325
373
264
342
304
304
316
194
361
378
296
296
327
350
303
360
317
373
280
313
346
329
314
351
242
391
277
292
340
341
298
236
282
289
361
407
342
340
290
293
305
262
298
277
305
267
311
385
351
297
348
398
402
349
308
322
334
408
335
312
244
200
254
323
351
264
270
256
376
380
281
285
383
354
369
343
278
353
326
384
261
300
311
295
312
330
263
281
334
317
287
369
292
361
352
239
288
271
321
335
286
282
379
268
333
332
347
335
345
337
368
300
336
343
285
358
328
300
377
309
326
217
298
236
304
343
296
322
350
298
339
371
365
330
299
309
338
350
247
289
308
300
300
308
281
342
312
335
336
375
264
302
293
299
367
292
391
245
368
339
346
347
260
343
300
378
276
268
389
301
333
302
341
284
391
349
279
318
297
262
413
354
376
337
272
307
330
411
283
273
291
257
332
250
239
284
280
356
295
293
314
295
280
354
282
429
334
335
224
343
360
333
215
411
259
308
299
351
181
322
301
307
370
272
270
296
375
286
312
285
346
266
310
266
273
277
282
348
296
296
371
339
268
325
338
330
282
310
244
332
301
250
247
294
288
281
296
372
359
337
378
329
271
369
345
355
243
318
344
248
229
342
342
355
318
346
314
279
331
355
335
275
314
307
292
317
262
177
293
254
286
291
256
374
341
366
248
256
217
248
367
228
321
394
333
345
286
311
253
292
285
345
324
304
330
323
285
321
293
338
302
323
400
282
297
322
335
322
292
270
373
254
248
339
311
324
363
372
254
299
328
337
336
365
299
290
347
319
301
319
336
363
346
326
359
308
327
341
254
361
334
349
376
295
307
283
255
365
337
305
283
393
322
343
428
391
328
329
280
265
347
371
338
402
299
289
415
376
271
245
381
355
325
281
222
277
329
344
255
357
349
222
374
285
270
271
304
336
308
323
288
377
294
260
380
338
305
364
281
353
340
321
161
368
318
340
280
286
301
357
299
330
346
306
295
312
332
258
371
307
257
312
306
256
261
362
326
266
357
265
329
271
322
342
408
369
319
303
330
285
270
353
267
326
332
287
273
285
256
291
318
258
242
238
295
320
350
346
299
298
283
326
352
367
313
278
350
327
306
346
395
332
296
381
334
309
337
312
375
269
325
330
251
396
310
271
275
364
326
240
334
400
295
244
364
289
325
276
369
297
321
235
326
327
303
318
330
318
286
378
301
334
335
349
308
279
288
331
302
348
251
301
319
338
378
337
287
301
352
345
305
395
323
432
271
304
315
290
282
342
326
243
291
356
272
279
294
270
366
293
347
256
317
298
294
290
356
365
292
297
312
201
311
355
395
322
278
316
315
284
302
313
355
272
352
311
319
281
290
400
359
320
319
329
289
324
330
301
383
245
286
242
330
286
326
328
316
271
293
263
331
273
374
230
294
325
307
286
285
332
326
292
332
305
375
432
353
279
346
277
261
352
308
290
263
340
311
328
299
318
281
352
292
344
359
304
308
354
301
353
356
278
293
324
329
271
299
257
372
360
321
325
312
340
293
365
317
328
280
379
298
309
276
390
253
389
376
300
331
369
404
353
335
323
346
379
336
383
396
263
355
414
273
283
338
221
324
308
345
331
385
361
306
248
294
332
365
357
252
253
265
284
369
302
287
318
314
308
284
272
283
235
382
371
342
296
361
260
280
331
286
340
308
222
330
329
416
385
283
296
323
273
358
301
370
306
382
271
323
269
364
330
258
276
204
279
404
352
284
331
401
314
373
335
354
348
419
276
251
259
327
310
340
374
374
311
393
283
293
292
332
372
330
310
279
324
298
302
339
338
296
249
298
231
363
376
387
338
320
377
307
335
283
281
292
251
319
335
346
379
338
257
302
333
416
334
366
270
364
301
345
312
307
332
317
217
362
339
331
283
353
337
371
367
224
355
341
313
318
323
380
288
341
344
300
282
304
419
370
335
308
250
267
295
275
304
257
335
305
210
403
267
323
299
292
435
306
324
237
368
258
295
352
301
255
286
315
240
382
312
310
351
263
306
287
319
378
346
326
359
264
265
327
353
371
331
333
277
381
269
384
322
278
303
276
333
336
334
286
291
381
300
339
328
261
305
330
216
202
358
293
242
337
289
301
351
331
321
383
368
277
318
324
269
249
304
303
353
360
311
226
318
307
307
364
367
304
254
277
320
374
350
374
330
263
343
340
357
290
287
342
236
327
332
345
368
331
355
369
363
334
249
237
300
296
232
272
314
312
289
356
325
355
248
297
272
353
306
256
320
264
368
334
308
366
358
287
345
338
327
335
332
287
366
353
276
409
337
348
286
319
329
420
276
315
319
354
348
377
326
353
286
355
266
215
300
345
328
272
282
258
312
342
338
310
325
288
283
317
321
383
331
323
221
325
391
372
243
311
322
287
371
296
276
399
338
266
227
332
303
286
375
374
297
321
321
356
307
276
365
335
280
351
205
277
281
398
354
314
273
270
331
332
382
306
300
312
242
399
404
357
338
355
354
303
280
303
291
344
291
271
289
156
368
278
408
331
307
338
394
388
317
368
376
327
296
336
337
224
355
314
225
368
290
317
309
261
351
322
322
216
387
243
384
328
386
377
370
367
292
342
363
395
204
250
345
332
275
293
398
277
331
302
273
322
338
314
340
317
227
387
373
286
278
289
291
329
308
275
338
375
209
231
361
365
332
318
289
335
290
260
290
303
353
333
336
358
253
281
318
290
329
271
323
310
344
386
335
321
342
240
393
270
386
300
409
359
361
390
270
332
289
315
281
311
364
298
405
332
361
307
313
332
315
343
393
355
307
403
346
297
253
265
306
296
277
303
357
389
288
273
337
201
295
399
336
315
327
336
284
279
287
314
285
281
258
339
281
285
319
306
373
382
366
349
331
348
225
253
318
324
345
336
289
316
370
336
312
254
376
248
364
364
257
321
347
246
286
295
275
369
327
373
356
366
276
295
344
339
328
292
259
324
298
364
300
340
247
311
304
265
289
287
316
252
306
242
301
417
356
356
373
257
296
354
334
361
292
325
258
340
363
305
287
371
379
305
357
292
333
285
354
212
366
365
291
357
231
254
320
247
308
278
249
343
394
313
276
322
340
346
195
250
337
314
307
314
290
347
366
253
337
331
241
283
212
330
301
225
366
390
173
328
352
323
321
419
313
391
318
360
338
307
321
350
341
282
334
312
294
364
382
332
226
387
318
357
359
348
348
314
312
272
317
270
327
300
286
299
341
372
306
368
354
284
359
387
297
309
302
291
336
287
302
360
296
387
385
329
325
382
345
277
292
345
355
364
318
315
261
364
256
327
297
360
284
310
189
293
257
366
263
265
310
295
287
323
319
305
291
323
306
325
337
349
351
315
369
379
322
293
307
355
312
295
302
368
281
350
263
259
306
306
290
325
354
320
276
288
287
432
340
262
426
357
249
310
313
260
265
330
254
379
320
301
272
222
283
319
299
265
319
343
234
338
352
332
265
285
387
310
326
374
377
390
335
261
330
325
374
319
285
304
341
324
270
340
320
229
351
357
319
301
202
294
325
253
234
357
342
279
358
260
300
326
317
313
276
263
333
294
281
280
322
274
342
381
353
291
322
393
301
301
354
230
341
288
397
345
226
325
333
386
387
275
353
341
278
265
382
336
328
329
333
370
240
330
330
312
359
374
265
340
271
376
270
346
316
272
340
310
313
297
312
302
343
322
321
274
214
364
312
319
309
298
314
233
302
348
346
273
313
270
355
307
254
275
313
349
284
306
326
310
287
366
345
314
266
329
261
317
343
387
318
327
382
344
290
329
360
250
373
359
253
296
363
309
247
276
304
265
360
280
310
325
343
291
317
264
213
321
328
258
346
259
273
367
327
329
268
387
282
311
279
327
305
333
293
270
380
388
317
323
314
258
232
285
320
327
360
402
208
295
333
334
354
322
316
298
298
332
267
344
255
421
289
217
352
319
227
298
401
328
291
270
386
277
401
284
368
357
275
319
383
305
305
388
288
300
224
333
325
176
379
238
426
313
318
279
263
318
283
297
288
319
326
235
317
335
339
316
290
331
251
331
254
300
334
276
350
387
324
353
249
274
372
324
244
300
355
288
319
305
340
281
372
275
287
364
311
372
363
345
276
284
281
310
322
369
269
300
397
395
388
329
315
343
350
323
283
346
385
344
341
276
343
307
286
322
336
282
356
344
319
236
257
292
323
303
410
338
316
305
333
310
307
323
310
283
393
309
280
225
355
313
350
279
258
290
366
355
243
245
365
342
302
273
287
384
361
268
310
300
353
332
264
316
421
343
393
256
257
394
351
289
275
408
281
380
223
322
274
286
382
398
341
355
308
319
225
329
335
293
317
309
367
302
300
350
313
233
371
320
319
310
290
288
323
296
342
326
334
330
335
311
298
297
306
335
299
269
380
230
351
350
324
312
316
325
347
288
302
359
368
249
366
340
270
287
277
287
335
424
317
342
267
307
276
331
317
326
346
359
377
266
298
294
356
258
209
259
306
324
325
401
323
337
332
325
296
367
393
360
343
278
271
391
258
294
377
318
307
310
326
263
333
357
261
281
329
310
288
281
258
405
318
304
341
371
318
291
284
340
356
301
285
372
326
309
310
399
263
366
306
215
275
355
330
372
292
400
291
353
347
358
280
282
355
339
359
362
377
304
347
357
368
342
334
342
259
342
386
293
315
222
336
238
320
321
311
398
236
304
311
282
318
283
375
334
355
396
279
284
284
288
221
271
270
220
318
368
319
222
341
376
411
348
232
284
307
382
312
320
340
316
280
281
329
252
351
380
350
278
384
352
345
312
334
273
390
264
315
228
315
232
329
365
249
300
305
356
335
344
358
279
246
384
292
291
350
358
297
259
322
311
239
315
276
347
249
304
339
297
358
317
341
273
287
313
232
297
281
424
300
359
297
259
262
374
419
366
332
340
303
298
355
309
348
343
334
314
245
275
315
296
313
294
268
388
314
400
360
284
261
289
255
286
307
292
342
346
340
271
350
248
358
253
368
327
351
294
386
295
254
353
302
325
273
308
403
324
326
258
367
410
345
214
231
296
360
351
314
359
338
272
295
360
266
333
381
267
394
344
324
288
326
270
268
324
225
332
279
312
221
354
328
210
292
307
293
277
256
313
284
264
269
272
325
296
317
312
342
374
310
342
267
317
349
263
299
273
306
367
231
294
244
320
306
310
370
321
301
294
291
354
268
339
295
301
350
352
267
277
342
287
233
323
256
384
303
259
284
294
360
358
324
287
211
341
281
296
257
307
370
356
399
295
335
314
315
339
326
280
340
320
352
304
356
363
359
337
291
311
265
344
279
297
267
310
316
234
293
280
251
331
300
317
263
314
337
312
352
365
244
295
367
298
334
255
352
298
324
309
247
323
326
384
292
260
378
297
235
283
330
339
311
368
258
350
343
346
234
297
334
258
312
286
367
297
316
354
303
349
377
341
283
310
322
331
294
305
314
314
388
247
357
198
256
349
259
332
394
319
297
362
300
320
305
234
378
345
338
265
346
292
304
305
364
350
262
355
354
277
337
272
309
307
253
270
353
335
315
255
372
330
403
338
249
353
377
273
294
297
296
333
242
356
384
289
320
318
314
327
336
268
353
379
299
340
385
244
303
249
266
248
301
332
391
367
269
299
376
374
312
325
335
289
306
400
304
332
366
346
275
308
303
247
372
348
319
306
266
269
274
302
303
286
264
367
365
386
318
317
316
282
288
328
288
288
389
267
262
304
342
268
279
291
299
250
380
316
403
359
266
334
292
321
334
437
320
338
260
348
240
292
292
315
356
351
333
323
336
281
333
345
301
289
232
290
363
267
339
348
250
225
294
318
259
318
335
314
362
328
309
333
299
313
264
364
328
283
265
287
342
327
271
321
352
304
320
369
296
362
332
232
308
289
276
329
325
339
308
356
323
398
350
278
202
323
358
321
235
340
250
303
341
302
329
328
250
315
373
313
331
227
386
226
353
387
364
288
341
335
345
262
293
330
221
346
319
291
382
260
308
296
329
303
348
330
389
310
295
261
368
379
378
310
315
312
289
301
342
361
326
334
315
380
292
326
318
394
262
289
318
317
299
284
361
331
309
351
355
215
321
266
314
396
297
317
373
256
422
380
342
318
219
332
318
350
298
266
265
376
228
355
287
337
367
287
426
401
344
391
251
262
287
318
322
274
275
291
335
336
336
274
289
292
370
304
293
320
247
328
241
295
423
363
373
349
358
256
203
303
317
350
386
311
382
400
320
373
263
290
332
325
284
403
297
308
324
292
329
349
256
256
322
284
327
281
338
317
311
313
369
373
286
354
316
337
312
336
292
309
287
278
292
274
283
348
315
326
364
322
292
231
327
270
219
297
372
343
301
404
373
292
332
328
281
255
419
287
300
285
385
332
217
345
342
354
303
305
326
297
331
306
338
278
313
347
325
299
317
288
329
422
336
284
354
188
281
368
300
355
287
258
282
345
293
285
357
353
302
327
358
286
395
303
290
280
294
375
347
224
319
309
334
236
269
347
266
263
279
312
352
365
280
292
302
259
318
259
365
303
279
339
249
258
297
298
291
354
350
329
330
281
287
344
352
314
321
270
299
300
377
333
283
275
366
370
335
319
266
226
294
272
307
368
375
335
349
308
319
319
304
280
298
347
317
385
319
316
330
240
344
339
289
315
381
314
364
330
274
293
314
286
344
346
297
318
258
308
255
366
320
283
266
259
344
360
230
363
331
312
328
364
255
359
403
294
273
306
342
336
330
360
304
310
295
332
393
289
301
287
271
275
360
366
273
278
347
324
283
305
369
254
256
259
320
313
287
294
198
246
384
298
315
321
334
291
348
263
325
383
243
241
252
280
277
255
298
338
258
278
288
335
229
337
306
313
275
229
260
284
269
311
316
293
260
343
293
274
285
347
255
306
320
334
325
320
325
309
318
273
301
240
315
355
399
379
335
210
300
267
354
334
397
232
343
318
273
326
285
318
260
321
279
233
312
381
281
434
348
307
287
397
301
368
336
288
369
308
337
369
403
272
331
323
360
375
366
329
397
307
295
276
217
338
254
324
251
308
400
394
288
355
257
331
298
332
293
312
343
248
304
295
389
243
353
341
285
323
304
436
348
246
345
320
278
344
308
319
318
219
337
259
333
373
403
346
293
317
353
317
361
355
403
337
330
322
369
266
367
370
287
278
303
378
345
373
344
314
339
310
224
262
287
428
329
317
334
302
344
301
284
346
357
329
305
337
331
291
268
248
293
298
295
267
288
356
283
370
297
279
321
341
308
253
253
323
300
359
328
331
319
194
413
412
350
266
351
267
245
378
322
359
297
316
372
243
344
335
242
280
305
212
307
269
321
368
283
314
300
393
250
337
421
331
347
338
344
343
274
365
307
315
277
353
273
351
303
372
384
296
277
354
296
337
282
351
319
335
408
340
309
365
307
329
324
229
349
305
351
208
323
373
336
264
340
331
282
325
277
344
296
246
336
279
377
359
311
316
282
339
274
329
365
399
320
341
358
336
326
265
296
278
317
310
276
312
240
373
352
293
374
342
299
308
343
280
306
318
394
296
372
365
384
288
292
313
350
357
339
308
340
329
315
359
238
275
279
256
368
284
306
354
259
282
316
343
394
333
289
368
350
276
350
377
227
241
311
300
269
420
358
244
280
187
391
312
247
277
218
248
275
426
340
208
291
300
444
365
304
359
308
246
330
367
337
397
228
359
317
250
331
332
247
301
417
320
349
309
347
311
319
338
242
255
236
292
302
270
347
330
357
272
217
222
386
257
323
320
333
434
354
314
337
259
294
320
252
253
280
290
304
326
351
287
222
274
282
303
365
336
326
288
384
314
375
340
272
271
346
330
331
358
273
340
391
381
328
388
281
261
254
256
289
319
358
249
310
331
321
377
335
335
386
324
372
333
337
286
290
262
288
365
293
294
315
278
266
317
374
378
358
321
240
362
409
329
323
300
364
274
290
352
254
329
272
260
268
402
321
286
285
315
382
207
332
277
323
289
280
385
278
311
312
303
280
319
357
377
296
305
429
284
241
259
325
358
285
319
385
331
293
324
343
326
298
301
258
342
287
344
294
307
251
334
238
327
300
264
302
294
305
364
301
230
366
299
329
300
331
318
319
326
303
293
247
366
206
394
379
267
314
279
333
265
253
230
334
291
222
292
341
211
354
449
322
321
254
321
329
291
286
324
303
324
235
313
314
346
240
363
261
269
336
361
317
319
315
293
373
318
266
330
320
288
356
317
310
307
240
248
293
277
312
354
274
311
315
241
329
357
299
357
316
268
385
281
345
282
345
322
351
272
383
289
344
305
385
340
349
396
383
287
377
287
329
319
289
248
321
303
354
254
308
310
372
266
280
294
300
361
408
343
366
265
373
401
238
377
343
305
335
324
308
321
350
291
345
387
285
240
276
213
322
286
303
386
365
342
295
311
299
330
308
332
279
342
387
393
328
283
295
276
347
338
337
335
216
311
352
285
221
330
365
233
333
360
340
314
286
378
415
364
331
284
250
318
343
361
320
304
304
356
261
369
349
226
309
255
369
292
353
313
420
256
275
317
330
379
229
365
365
326
452
304
372
288
313
362
311
399
343
307
368
358
349
337
336
283
246
261
254
180
387
213
322
392
319
332
267
346
344
362
281
329
298
313
370
306
328
335
272
343
304
230
329
330
319
360
320
270
324
248
321
245
295
406
274
305
238
359
249
334
326
329
333
320
331
327
318
291
318
335
288
383
337
342
368
290
390
269
319
286
363
341
339
338
269
279
283
309
303
358
281
268
348
326
341
261
337
396
387
366
291
358
303
386
304
332
284
323
298
323
286
282
288
420
277
341
249
352
279
316
228
221
301
401
387
303
273
352
215
362
384
357
309
377
209
376
239
311
324
329
356
348
298
287
343
214
273
289
283
315
261
322
369
359
250
315
363
273
315
356
273
353
338
298
257
294
277
307
303
351
310
319
385
366
289
396
392
328
358
345
312
347
265
243
428
271
279
354
359
334
320
302
260
352
350
337
341
239
362
263
273
334
343
377
344
325
359
276
353
363
296
279
256
413
232
288
263
314
266
335
359
199
303
290
302
338
268
350
323
286
383
240
324
387
334
321
338
328
322
353
248
299
348
292
336
389
315
344
294
326
357
284
357
315
295
354
324
364
304
313
260
332
288
319
353
351
324
287
390
312
355
301
328
291
325
330
323
244
292
353
337
322
216
359
329
299
299
334
355
309
308
243
320
298
325
250
264
285
386
326
317
311
320
289
345
345
375
332
313
321
238
263
273
327
313
353
355
377
308
394
295
315
222
279
310
355
315
326
323
376
314
295
347
351
463
329
352
325
202
248
349
411
328
323
303
415
304
302
232
222
256
308
302
301
242
300
390
255
316
355
345
288
303
290
282
323
359
376
274
368
326
317
310
345
322
325
344
411
310
290
359
355
312
339
354
323
281
300
342
339
316
249
306
314
324
285
301
323
318
284
261
247
307
379
319
269
317
254
319
342
337
271
326
324
267
351
343
306
312
381
358
267
288
290
299
378
275
308
285
258
270
303
409
356
331
326
346
321
310
273
246
304
313
289
359
283
297
382
383
367
349
345
332
313
233
287
382
294
355
286
279
337
327
282
309
236
236
279
327
261
289
346
321
367
310
367
303
306
292
337
255
368
320
314
332
346
295
289
306
264
322
350
378
348
298
292
331
286
278
325
385
297
331
379
353
265
247
280
242
292
268
296
321
325
300
310
256
293
318
318
179
319
313
285
309
254
309
272
282
352
264
367
258
314
317
273
284
321
297
285
391
384
322
288
262
342
314
261
310
348
330
227
363
309
395
294
296
350
289
330
306
328
266
288
350
296
340
327
278
293
289
263
297
260
305
279
264
283
296
253
317
343
391
354
309
298
368
233
277
328
232
291
310
215
253
327
323
276
301
352
353
380
329
342
340
341
309
323
306
348
310
341
325
316
305
362
370
326
298
298
342
332
347
294
307
263
387
337
376
339
369
329
280
268
316
325
262
314
331
307
384
273
322
177
315
383
368
346
365
326
421
274
321
415
338
365
283
293
383
295
388
301
268
261
344
307
290
266
330
408
365
319
322
298
324
320
240
315
348
288
287
340
330
330
303
352
288
349
344
350
306
332
304
357
347
301
294
413
396
310
322
307
292
339
284
328
250
309
284
307
249
328
302
281
317
342
290
362
355
331
271
298
359
303
266
291
376
267
287
308
290
258
306
318
402
326
247
336
263
345
305
265
341
367
273
368
310
293
361
346
295
325
233
300
361
356
306
409
302
409
334
364
283
334
367
346
380
273
289
338
294
377
350
367
367
292
343
288
287
296
396
220
191
315
214
289
373
335
382
341
307
354
270
318
325
379
319
357
323
300
322
379
267
299
365
295
325
318
337
280
371
271
279
285
277
249
355
271
336
332
277
278
367
333
282
324
230
367
332
362
341
263
327
302
281
311
311
341
263
273
236
246
330
301
330
296
358
356
332
414
346
363
301
305
246
314
280
321
388
335
387
321
312
290
293
298
365
279
169
347
283
327
322
236
264
416
268
310
304
255
335
321
306
294
348
312
215
341
307
396
270
380
379
290
297
231
339
242
375
262
363
246
384
307
336
278
316
339
278
314
303
380
315
356
362
324
319
297
305
333
311
312
320
241
336
313
291
324
340
387
331
351
344
309
347
282
409
256
258
269
287
334
298
331
273
360
318
238
270
335
324
270
345
368
359
313
422
269
354
293
301
282
374
351
316
364
345
324
240
412
315
359
434
271
282
275
364
341
377
376
284
408
287
347
268
322
384
268
384
288
343
325
338
353
319
265
350
299
294
334
309
316
320
353
304
378
289
277
299
362
286
281
265
200
225
286
288
279
268
365
329
293
321
310
343
374
297
373
335
354
268
285
321
338
352
311
279
335
281
301
300
227
406
365
288
291
336
341
325
346
338
365
326
257
275
370
265
345
342
287
367
335
393
305
315
302
314
343
314
321
268
330
265
326
277
313
347
221
287
289
345
358
337
364
245
355
234
337
268
372
295
207
313
335
326
235
249
362
292
266
381
379
311
260
291
350
345
333
343
314
344
261
339
349
332
320
272
308
264
239
291
347
324
340
367
307
331
355
294
329
293
353
312
298
310
283
410
274
279
257
310
284
313
324
262
282
303
330
244
381
302
285
207
290
313
399
361
298
360
345
342
272
284
258
343
260
188
331
343
333
312
308
259
262
309
334
382
297
269
313
373
322
309
381
350
317
254
257
300
285
409
351
285
394
366
334
269
349
325
290
391
332
289
396
237
356
313
305
312
330
356
279
261
246
330
270
321
370
354
325
364
322
342
350
372
296
279
297
300
272
338
297
310
292
300
346
325
337
258
285
301
276
339
302
337
353
392
342
316
316
281
305
315
373
251
341
376
222
233
357
306
296
292
284
318
348
234
257
257
347
341
293
334
376
237
336
285
350
324
260
257
282
365
348
341
357
341
308
387
313
322
287
284
310
309
303
394
289
270
258
384
335
242
354
293
222
325
248
371
283
338
325
313
354
374
286
377
256
323
370
275
382
367
344
272
267
282
248
360
284
331
270
358
333
326
292
330
299
238
332
316
317
279
333
274
343
270
313
369
273
346
357
314
282
247
328
319
384
351
276
342
321
245
325
315
218
330
328
379
359
311
305
372
242
314
312
428
220
294
327
322
329
335
329
376
314
307
350
291
324
306
343
271
346
329
346
345
332
309
344
350
370
298
342
327
257
314
364
334
280
281
340
423
322
358
241
386
327
332
308
239
321
271
349
293
264
359
356
361
372
363
276
401
285
285
343
281
304
245
285
374
358
281
366
331
319
356
398
295
292
357
297
319
406
248
318
282
337
342
328
327
233
290
339
316
333
327
342
344
247
264
250
323
257
352
282
326
386
328
345
237
313
339
338
312
294
363
378
338
346
313
274
402
362
286
256
237
329
340
248
322
330
260
343
305
233
290
374
290
289
372
267
265
326
278
365
253
325
354
313
379
328
311
273
362
280
286
368
267
353
259
378
305
388
325
358
257
342
282
296
267
271
277
317
289
322
350
349
324
226
339
233
254
331
376
265
345
287
410
338
359
209
281
293
328
276
358
350
291
356
297
300
287
381
279
306
249
304
347
283
254
382
333
286
340
350
329
285
211
291
257
273
386
286
338
316
355
337
371
293
384
316
281
354
256
350
328
275
294
299
323
313
323
333
357
314
321
331
340
294
320
350
305
324
293
343
288
325
316
345
283
309
356
239
202
339
353
346
326
328
336
255
318
175
323
330
307
230
337
326
293
408
246
271
268
242
368
322
264
336
315
269
304
272
353
296
301
335
336
308
352
281
284
321
379
302
323
310
358
350
229
252
279
286
328
361
316
236
362
352
323
281
288
314
266
389
363
280
308
306
272
363
387
305
371
328
325
391
341
389
374
328
294
318
285
317
332
244
259
384
280
313
329
257
362
347
310
326
278
380
296
299
349
369
405
254
274
326
285
331
286
263
388
330
327
331
340
309
288
265
191
361
326
359
322
353
345
335
300
398
313
376
316
298
323
254
326
311
328
317
327
256
277
261
415
403
259
406
277
282
431
328
238
417
385
323
308
267
276
340
269
414
324
396
301
309
344
317
368
405
301
391
218
359
344
397
360
236
359
254
264
311
258
287
364
306
275
391
316
308
337
321
308
308
320
228
291
314
307
344
339
296
308
335
321
324
281
342
280
308
253
317
315
395
247
302
324
292
414
295
317
326
308
295
419
284
246
321
248
327
333
390
372
333
325
309
353
305
245
325
344
317
253
273
265
364
403
361
308
295
222
325
362
254
329
307
333
353
208
283
307
400
321
315
244
288
283
330
225
258
287
335
347
315
323
390
256
342
351
343
365
382
285
320
298
359
259
279
322
319
314
211
297
268
318
277
340
379
270
345
272
285
279
337
322
310
274
348
326
293
326
335
341
304
265
222
395
273
351
372
334
333
328
301
285
267
391
307
379
267
327
346
290
285
388
262
282
262
378
261
305
307
340
278
293
414
345
353
387
367
310
300
354
241
349
319
357
390
258
355
361
303
279
269
338
279
316
308
378
310
308
303
277
349
350
206
348
333
328
367
322
345
226
339
289
292
376
290
370
247
244
290
286
321
363
343
338
255
370
348
347
339
377
344
390
324
229
257
367
353
294
262
240
370
353
318
345
311
274
332
272
308
296
347
350
299
264
337
322
274
211
357
268
361
393
315
355
316
342
309
332
310
344
304
368
339
343
321
310
260
389
278
279
328
333
333
230
309
362
376
328
279
308
340
351
344
327
322
333
351
323
317
382
327
326
242
292
384
244
273
311
292
347
257
368
343
315
224
361
290
401
299
390
393
324
273
355
309
291
327
314
328
215
344
344
319
294
337
328
336
306
235
318
273
292
226
328
364
249
447
266
316
385
362
298
353
298
382
305
363
348
296
380
293
345
350
366
311
319
297
365
419
323
340
340
306
273
329
265
308
331
396
346
329
315
316
384
196
294
369
264
362
326
286
296
327
380
297
339
352
366
231
345
337
422
329
329
329
333
293
199
322
279
320
276
236
294
336
275
330
332
334
306
281
307
330
235
354
278
390
306
269
309
267
287
227
347
317
320
298
253
377
271
352
359
342
337
298
231
263
241
373
302
383
283
274
301
412
295
316
321
381
347
320
251
296
326
276
333
335
360
314
249
328
334
257
342
297
331
314
304
382
289
310
293
330
311
376
252
323
331
299
250
357
253
245
246
315
321
292
274
288
334
275
301
324
277
213
330
372
342
264
335
356
263
288
287
255
273
240
382
259
308
243
263
322
340
313
286
345
295
299
293
344
372
344
348
336
301
409
351
404
297
313
332
346
283
307
349
315
291
268
355
311
313
362
376
291
243
291
319
386
363
324
265
296
375
360
360
366
243
316
244
321
281
353
250
227
342
293
384
352
296
257
314
294
319
346
274
333
240
275
309
328
318
355
337
277
295
286
210
269
363
314
299
282
283
252
341
305
309
352
304
262
312
320
301
381
305
332
325
264
369
375
339
330
293
342
249
317
244
357
351
290
284
343
252
339
307
368
322
378
321
345
312
286
338
396
275
244
319
293
372
287
301
324
268
287
313
298
269
217
344
293
328
371
351
393
350
276
347
253
338
355
243
269
308
347
253
376
330
268
288
301
327
231
270
333
319
262
321
407
301
331
332
306
406
348
323
315
266
317
216
257
315
321
328
272
271
304
326
330
310
303
214
357
363
284
298
330
313
366
374
365
325
301
327
339
219
353
213
334
338
334
383
319
339
333
291
294
270
304
296
398
236
291
253
322
353
326
281
263
380
367
324
280
258
288
366
383
251
299
296
288
270
325
359
348
281
259
229
376
263
334
268
297
310
296
326
352
315
257
270
372
316
367
246
382
418
294
349
420
367
372
326
318
269
283
363
256
239
230
300
290
377
311
344
306
306
308
306
260
338
350
305
314
375
314
325
340
283
355
330
211
340
325
369
260
320
250
346
313
350
305
284
306
337
365
259
309
318
310
343
349
305
278
274
308
348
313
291
262
305
303
283
302
274
385
228
301
344
317
317
261
316
305
322
375
295
308
281
258
287
289
301
284
265
303
286
266
330
407
325
351
351
353
349
276
402
301
287
341
323
309
300
242
238
309
331
309
309
378
317
332
344
289
272
348
236
345
309
384
332
269
301
353
284
332
213
249
284
321
316
247
346
355
325
369
321
373
317
329
254
338
290
313
297
373
354
351
344
338
281
354
293
283
320
299
261
302
286
257
239
375
338
283
349
307
267
308
320
361
316
333
330
326
390
284
307
267
318
273
336
341
302
339
227
301
265
277
269
355
354
337
294
347
297
356
247
326
336
268
289
365
363
240
377
306
286
366
339
375
244
304
300
365
277
396
303
387
274
337
300
315
318
306
292
399
345
302
278
315
381
373
286
338
337
287
347
264
301
375
355
212
328
311
337
302
341
354
352
251
256
294
236
299
287
269
285
303
286
316
271
404
262
296
322
283
312
273
366
311
311
321
277
400
351
256
309
393
301
298
331
362
286
364
302
271
300
358
339
253
371
303
361
274
327
316
303
349
408
268
334
338
250
322
257
263
337
323
356
362
325
342
400
237
336
306
255
350
290
289
290
359
263
444
382
281
336
341
293
296
278
346
255
323
300
316
288
325
284
279
307
271
285
262
305
317
341
297
312
342
267
282
333
293
329
295
268
301
355
331
338
309
278
300
325
240
249
313
295
340
329
288
366
355
270
301
267
314
394
301
396
315
312
231
297
332
327
338
322
266
362
345
290
314
316
273
278
381
269
264
257
421
389
234
356
325
272
432
289
350
357
352
370
307
323
318
387
292
334
287
282
279
380
326
362
297
248
285
274
296
289
362
277
366
295
335
308
331
361
304
260
373
258
288
353
334
255
360
311
232
323
375
347
354
356
375
299
270
317
289
347
336
347
303
357
335
305
287
315
394
337
360
362
348
327
318
289
322
225
367
264
393
350
295
356
312
273
341
266
365
359
326
289
354
304
371
401
266
353
249
293
363
318
340
330
325
343
298
316
311
388
298
324
318
286
310
241
365
223
317
265
285
338
303
315
299
298
316
323
242
347
280
373
347
278
389
199
289
341
349
234
318
432
297
254
336
315
326
350
369
317
321
374
311
297
309
327
268
237
310
263
262
306
403
318
298
290
316
281
414
302
342
335
274
355
335
269
391
292
291
355
395
327
326
314
296
276
271
320
407
293
359
296
328
355
317
312
335
328
343
310
225
359
355
284
332
321
232
216
360
240
247
255
309
374
383
353
343
275
266
349
280
276
310
364
288
355
227
374
318
277
340
365
339
208
378
318
278
324
258
319
340
330
407
387
272
324
316
283
301
356
355
299
320
289
266
312
366
309
257
354
281
345
328
265
283
318
358
305
328
319
320
273
344
286
272
319
338
378
271
228
388
281
323
391
286
329
299
348
359
348
276
290
274
344
287
301
375
298
308
377
297
332
229
285
257
316
277
270
307
292
314
317
322
368
304
331
248
349
334
347
260
293
397
295
372
269
300
352
311
328
325
348
355
325
367
328
281
365
276
274
346
263
312
338
365
290
317
340
318
284
340
271
286
344
266
214
345
285
296
297
330
364
313
343
285
273
296
263
348
358
293
285
323
352
376
316
407
371
324
353
243
335
305
337
338
292
399
332
331
330
306
276
311
342
306
349
271
389
341
283
293
299
340
312
295
304
289
354
378
341
254
194
378
306
280
354
252
324
315
377
332
418
336
353
291
352
298
305
293
296
399
301
277
342
297
319
313
338
334
281
336
325
382
251
360
247
336
250
355
280
330
352
391
395
292
372
297
371
297
306
354
272
301
308
254
314
406
291
324
352
328
272
250
249
343
243
372
258
255
306
293
344
319
276
290
278
351
254
385
304
359
253
351
334
306
362
373
309
248
259
252
344
291
355
285
281
326
294
407
305
307
231
310
378
332
327
293
308
290
344
366
319
413
365
362
331
265
312
269
366
358
254
323
313
353
319
324
336
377
300
391
348
266
304
325
250
384
337
348
212
247
372
373
264
312
338
267
260
326
287
302
258
381
322
357
364
243
318
332
324
312
316
327
384
295
317
309
337
317
313
340
313
264
407
330
263
305
328
349
344
192
292
335
328
313
271
361
334
334
313
304
366
289
266
249
309
257
346
345
297
315
251
298
394
271
290
359
394
213
294
295
364
318
273
302
331
345
304
280
224
225
334
365
284
324
298
378
326
455
362
257
340
294
367
297
280
239
281
312
331
349
327
335
380
300
258
295
343
320
376
233
374
293
318
308
305
409
328
349
392
295
238
295
317
365
328
358
324
358
348
319
375
295
353
354
320
258
303
351
373
278
176
321
397
274
328
315
295
309
384
320
277
337
245
258
340
327
322
310
213
322
277
262
349
321
346
297
364
320
224
308
377
275
328
308
356
305
371
244
354
274
326
319
268
310
303
307
357
388
346
338
271
300
215
314
304
317
212
264
300
267
324
261
370
378
307
305
299
279
296
317
377
289
312
288
330
316
278
325
232
347
275
260
324
342
263
288
372
388
327
299
292
322
395
338
351
312
279
309
262
314
340
301
327
321
302
309
343
279
282
338
349
360
301
326
294
320
358
260
346
334
315
330
298
290
232
289
270
403
280
282
334
366
328
378
198
329
314
287
354
276
278
380
361
398
348
323
339
205
320
269
296
389
361
303
334
307
288
334
299
323
337
293
304
221
361
321
328
300
326
347
353
373
382
258
338
283
302
366
353
308
461
317
355
295
269
309
303
349
347
323
379
331
386
340
267
348
365
234
337
323
362
315
311
337
286
308
236
356
332
367
321
302
253
340
308
354
198
372
304
301
311
319
419
311
411
320
324
288
295
317
322
334
200
365
335
323
364
287
315
302
321
258
257
336
331
283
312
359
429
311
343
391
282
357
246
353
312
259
288
284
312
289
332
270
218
369
302
287
288
342
378
272
356
287
347
324
402
291
378
307
337
349
356
331
330
321
265
319
341
303
371
299
345
331
372
336
400
355
377
300
347
313
343
280
405
309
263
365
309
366
322
264
316
305
218
363
268
274
342
293
352
358
296
288
308
214
342
335
303
369
253
252
326
378
263
328
288
296
361
327
311
304
332
242
346
299
299
331
269
310
262
370
277
300
333
326
350
269
261
345
324
307
293
270
385
302
336
311
291
241
266
261
312
437
324
325
346
300
305
258
223
279
273
281
319
418
314
253
280
278
451
377
291
347
380
339
263
300
312
246
239
353
292
301
325
314
271
371
287
321
339
320
337
369
318
331
341
295
319
384
316
248
320
363
303
303
216
329
337
323
313
289
292
317
302
420
330
335
374
251
215
418
301
336
351
303
267
255
217
313
381
254
291
351
373
345
307
337
277
300
307
392
354
336
326
361
336
278
304
375
352
272
307
385
267
362
326
288
321
260
340
325
353
288
241
301
311
335
324
267
330
341
272
390
340
283
265
394
407
304
274
258
296
297
279
275
338
301
326
359
346
310
343
240
357
219
316
244
366
354
376
337
359
244
347
320
384
310
310
386
308
298
247
225
379
323
299
323
353
346
302
333
292
225
340
321
311
333
273
285
381
285
344
282
304
357
243
395
241
284
263
315
234
323
370
200
312
268
324
261
289
325
205
360
388
246
328
281
286
361
325
330
298
304
355
247
263
306
320
352
228
319
345
321
347
326
251
371
279
290
332
291
330
411
293
347
300
261
308
387
322
315
278
232
381
355
343
363
336
357
266
272
344
323
361
300
297
313
340
376
323
276
275
305
330
400
392
340
376
278
349
278
318
347
310
309
333
312
386
326
315
304
319
458
383
280
358
323
353
419
374
391
293
298
316
376
316
363
238
309
340
359
325
383
233
325
294
288
331
286
358
313
337
332
354
333
210
284
284
314
313
284
360
336
370
307
283
288
258
275
342
282
306
345
303
247
257
238
277
307
324
326
266
275
285
379
328
316
293
281
318
324
258
323
384
290
354
308
377
324
286
303
311
327
346
273
368
412
255
245
347
283
314
377
274
370
309
304
338
360
298
319
300
217
337
328
272
312
337
267
372
343
356
261
356
333
337
360
277
272
304
232
328
336
252
290
304
309
250
324
285
302
359
356
320
373
343
296
311
275
300
313
280
308
334
285
368
295
238
355
358
337
339
324
356
399
315
202
315
344
326
291
308
353
404
286
272
227
343
344
254
373
270
253
355
310
334
287
297
215
342
271
350
237
314
341
271
297
293
300
241
327
291
362
319
331
331
328
313
299
293
376
339
290
318
316
328
392
377
266
326
387
272
263
303
325
283
350
301
414
338
259
296
330
204
231
185
298
274
263
261
292
360
384
270
335
315
377
337
362
186
258
382
327
308
246
241
322
358
294
259
260
364
186
283
298
361
335
330
352
326
285
281
329
341
323
337
306
317
310
334
299
337
270
308
448
307
292
246
290
342
319
324
346
356
348
318
357
338
332
311
287
370
270
294
360
301
332
291
337
322
361
264
321
362
263
296
286
389
297
313
302
296
312
334
340
302
338
339
329
292
223
241
288
332
337
338
291
354
319
311
321
209
411
292
333
336
341
237
319
351
260
281
320
281
304
374
306
310
315
263
350
316
358
303
268
327
233
273
252
346
318
261
309
433
307
274
378
365
340
266
238
351
228
293
289
344
328
270
279
256
351
282
301
310
368
335
247
305
396
250
351
286
355
276
353
291
301
357
291
344
289
331
294
254
242
363
359
270
277
261
324
340
309
303
342
299
346
388
370
363
351
257
229
356
186
339
235
337
263
351
263
326
357
258
296
289
278
336
341
261
344
312
275
316
353
370
287
241
334
336
246
368
387
265
356
346
319
265
346
271
404
366
308
352
325
238
321
327
343
325
334
319
317
351
322
275
289
250
333
255
230
246
348
348
327
326
350
296
308
239
292
309
278
310
322
292
292
295
329
340
364
306
308
260
392
353
274
304
323
302
242
276
260
360
301
298
376
319
297
322
296
345
289
298
322
296
293
347
307
408
381
339
266
333
241
282
237
320
340
278
365
366
405
351
291
389
354
364
302
326
291
285
345
275
308
289
292
363
253
361
340
332
346
272
324
243
290
330
340
271
308
299
308
295
224
282
212
289
274
325
346
289
340
303
315
322
339
255
307
232
268
303
221
305
294
347
335
207
347
306
291
325
302
306
232
239
346
295
321
250
297
342
292
290
310
286
316
323
345
307
289
305
321
341
314
281
332
290
324
323
328
297
341
335
253
324
354
318
304
297
295
348
308
193
289
244
296
383
333
307
223
312
379
332
313
369
338
310
313
357
302
314
311
318
336
298
216
397
264
360
367
254
392
338
280
313
263
274
309
377
318
372
312
363
376
272
363
321
311
427
274
230
356
319
333
318
274
355
299
326
309
255
312
322
365
235
329
334
338
371
382
320
278
355
322
420
318
307
265
329
337
385
390
283
303
367
263
321
359
376
346
288
324
329
286
298
378
321
241
308
289
238
344
349
311
285
300
275
335
271
288
363
368
373
286
362
367
319
317
364
280
365
288
239
198
325
282
321
247
347
297
389
257
330
332
338
296
291
284
294
361
310
326
300
344
236
317
420
358
315
294
300
302
337
334
434
296
308
312
385
311
404
402
287
348
257
279
311
291
281
302
352
379
284
271
254
299
217
339
253
301
260
270
306
339
330
333
293
278
257
352
306
242
391
327
354
288
412
287
315
382
332
334
315
321
340
366
274
387
325
310
248
324
316
306
329
340
301
282
326
415
296
334
322
271
356
256
300
416
306
334
306
299
402
319
325
225
211
351
345
312
301
314
335
265
265
227
373
327
240
280
341
322
321
356
186
274
307
284
369
321
309
267
273
367
360
419
342
302
306
297
286
352
269
280
314
394
253
245
221
227
352
303
306
277
329
340
294
321
311
222
271
270
301
358
311
278
267
347
369
197
344
367
297
288
259
350
332
245
350
299
363
358
393
317
379
382
224
327
271
298
332
258
320
283
232
355
259
350
329
255
348
388
294
258
347
299
326
327
295
284
392
264
331
379
265
265
315
260
312
361
337
289
292
389
338
301
370
357
300
407
299
363
364
297
301
369
265
338
329
392
405
371
275
249
342
322
362
271
370
315
296
312
316
255
229
366
277
342
342
267
382
311
309
293
348
244
345
291
365
263
307
300
368
251
281
290
434
258
307
242
345
268
305
301
283
279
349
269
288
331
310
346
336
341
308
319
311
368
316
311
297
293
337
310
325
282
247
296
330
387
286
277
307
346
342
318
236
272
324
334
265
271
331
302
326
278
256
249
304
304
319
386
346
296
359
332
292
300
296
327
350
232
289
284
251
274
310
360
274
371
320
311
319
315
321
395
384
326
362
294
326
347
342
296
275
385
265
399
286
359
260
308
351
397
266
251
344
325
288
353
309
314
322
294
346
335
325
264
294
338
311
294
315
284
340
332
356
298
258
275
422
310
246
367
312
345
314
274
315
370
340
284
326
321
321
274
386
471
288
300
298
393
201
345
250
341
379
309
351
323
304
260
351
394
312
232
312
276
328
273
327
403
241
325
345
326
372
288
291
321
341
293
345
393
283
314
271
255
305
321
358
353
311
336
261
325
390
284
316
299
328
342
366
293
253
288
249
370
428
312
288
294
256
269
245
322
354
340
347
375
321
279
359
465
376
285
261
361
346
281
191
302
356
359
237
333
257
297
308
312
306
295
346
299
268
363
341
336
330
365
299
421
332
347
295
258
328
382
344
326
348
396
248
285
354
290
243
349
304
233
346
353
379
326
303
295
303
360
414
275
355
303
366
322
326
229
356
374
256
284
352
383
348
273
338
346
322
320
267
377
334
316
286
336
211
219
300
344
345
359
404
274
345
361
213
300
337
302
346
358
353
388
317
314
341
334
259
306
344
392
353
338
338
326
368
309
327
328
326
281
306
336
319
324
295
357
354
284
328
291
294
344
366
335
346
375
351
264
297
212
352
388
347
366
302
289
348
349
347
329
318
309
309
322
287
310
330
286
383
362
338
248
338
258
385
304
272
343
271
315
295
371
278
312
296
243
318
301
243
410
388
250
366
295
325
326
194
375
289
248
360
406
358
347
284
351
331
450
304
294
280
275
369
365
303
297
333
346
360
339
299
271
377
311
327
287
272
294
387
318
320
266
334
298
208
314
337
384
262
359
262
411
336
329
238
267
308
362
377
319
318
334
297
403
251
265
343
349
306
269
338
286
353
367
299
360
345
396
313
255
333
352
322
350
314
299
293
352
321
296
252
347
364
342
316
343
378
297
325
349
391
271
350
363
222
327
371
341
317
312
342
265
322
306
309
209
372
356
314
363
362
246
283
286
350
329
290
332
332
365
290
354
311
361
331
304
389
329
213
303
380
291
315
412
296
342
256
344
370
265
309
256
194
342
283
312
405
268
253
323
225
315
289
265
274
307
362
230
343
283
365
363
347
296
340
314
348
253
387
342
360
341
322
371
323
299
253
316
344
302
354
348
299
245
356
235
328
240
316
281
315
335
348
343
264
318
288
315
309
259
276
296
309
289
349
305
396
264
369
271
416
199
353
338
320
352
301
299
334
333
357
355
276
251
315
320
367
302
287
371
283
317
336
376
308
312
364
328
398
272
254
299
308
292
281
350
260
352
324
429
294
299
357
304
280
317
326
317
397
280
270
380
325
251
340
317
275
360
357
372
295
363
304
347
300
345
306
279
254
303
303
348
285
360
320
268
260
439
369
413
285
319
285
319
280
282
366
241
328
346
224
328
389
336
329
427
367
244
396
249
252
245
284
323
311
385
254
312
350
362
357
258
297
263
264
389
225
398
375
356
299
291
319
289
323
362
434
345
222
381
322
314
364
311
341
318
305
341
338
266
235
365
240
274
405
301
353
281
347
320
261
398
383
365
323
331
255
288
271
354
292
295
373
307
321
295
279
267
287
331
328
257
300
358
306
292
374
297
226
305
253
262
326
382
293
280
333
300
340
326
283
391
274
327
354
346
329
304
327
359
334
337
326
349
303
346
374
343
267
311
307
266
348
368
361
339
252
327
395
329
336
361
291
359
289
309
281
375
325
234
355
332
260
314
348
431
312
360
341
325
330
354
318
310
234
347
299
281
342
277
283
368
363
255
234
289
291
302
357
322
235
388
305
353
250
280
322
335
358
334
251
365
341
274
345
290
377
310
339
341
301
361
360
320
273
320
367
281
364
311
346
337
360
311
331
291
356
295
407
328
356
290
334
331
271
342
251
313
352
297
270
235
323
339
353
339
255
347
243
333
377
406
324
339
263
304
282
345
297
290
352
296
312
301
312
313
301
262
180
333
259
334
262
260
237
353
274
334
328
307
314
313
259
360
251
323
354
357
306
293
271
258
301
323
309
281
293
285
363
358
297
271
277
324
253
379
356
359
244
340
369
356
346
302
342
369
249
363
351
270
356
266
356
329
331
411
294
311
253
272
339
324
272
265
279
351
357
343
317
285
312
299
376
282
288
238
376
281
319
275
269
317
309
299
407
327
330
299
266
331
248
314
315
241
186
311
352
291
313
223
289
347
330
268
244
330
297
270
362
251
282
354
329
255
300
308
370
314
291
385
329
342
317
235
333
262
262
361
333
306
277
278
319
328
312
299
212
301
328
286
290
393
354
293
271
302
287
343
254
250
293
318
356
332
316
339
330
303
263
323
251
306
410
265
302
271
305
285
245
239
375
328
329
326
264
307
291
287
285
359
247
363
361
272
240
289
306
363
208
366
298
294
335
356
307
414
365
356
263
323
264
363
244
369
323
276
347
308
361
284
332
366
342
335
302
318
321
244
338
305
373
350
337
395
328
302
276
325
351
310
379
322
382
312
293
269
297
356
329
277
289
250
280
319
316
315
314
278
376
247
371
324
375
402
331
278
288
303
300
370
269
272
316
349
328
306
250
299
276
313
276
335
312
236
347
350
333
325
254
369
296
386
349
311
295
317
270
334
371
386
281
282
339
389
400
342
303
287
375
308
307
381
395
302
248
338
352
347
361
316
292
292
286
298
253
346
256
298
331
284
299
310
412
329
316
272
358
309
325
379
263
311
321
327
371
281
359
388
306
252
320
239
236
371
411
303
256
326
371
348
338
256
316
276
286
381
335
280
355
271
277
299
307
331
372
305
269
316
304
373
264
260
305
325
242
276
305
349
291
414
343
403
308
393
256
256
278
342
373
282
391
192
340
244
353
313
269
335
253
365
351
262
321
305
342
375
303
334
427
382
332
391
375
251
324
368
254
302
359
293
315
341
356
322
390
378
304
369
307
349
353
338
337
332
355
342
266
276
319
385
307
318
315
387
279
293
236
330
300
259
271
315
306
273
327
257
294
361
246
308
302
438
346
320
349
338
258
345
315
246
345
327
281
347
291
336
306
300
363
342
385
301
348
350
290
323
279
351
354
236
363
352
276
415
378
285
343
316
275
327
325
209
365
285
351
337
260
366
447
336
314
243
356
416
325
315
313
342
261
219
308
295
363
298
260
370
321
388
283
323
268
395
316
261
254
342
278
295
258
320
280
296
322
352
245
294
311
329
280
332
313
319
354
283
317
332
315
247
315
307
324
366
281
361
325
342
338
284
335
378
286
283
301
293
389
323
319
326
354
208
317
253
305
331
314
269
299
262
318
287
322
382
379
356
359
320
345
315
257
322
274
282
333
318
355
288
306
184
346
364
326
308
316
371
263
354
347
324
387
289
294
333
326
301
341
273
301
291
252
297
332
274
360
304
326
385
371
301
333
280
423
341
367
351
353
323
347
281
327
338
340
335
315
331
346
338
233
296
292
323
421
255
339
303
243
359
371
257
387
332
336
381
422
327
389
262
298
390
337
308
351
321
371
320
339
307
279
351
210
258
399
250
282
292
322
301
281
359
326
294
372
211
274
268
301
354
326
295
325
348
317
331
329
250
316
302
332
340
437
297
371
406
320
350
287
308
371
360
346
288
312
295
343
337
267
314
336
338
308
327
277
263
343
413
316
349
303
303
307
252
332
284
300
235
355
336
271
340
310
389
293
349
291
284
260
295
292
316
311
244
209
301
397
250
260
350
339
344
269
288
368
359
360
357
346
340
375
382
339
371
307
335
342
274
339
308
322
314
371
264
342
264
300
255
296
233
289
275
358
295
369
345
344
344
319
270
312
361
299
356
283
273
279
188
281
343
277
393
326
329
326
317
356
337
291
278
280
355
342
309
261
252
249
340
285
302
311
252
341
263
402
334
268
337
321
310
356
321
319
270
379
303
327
325
344
264
314
342
330
350
284
266
243
396
288
338
356
336
308
361
270
270
299
347
282
329
334
310
366
319
306
311
288
353
325
352
311
251
348
320
275
248
374
350
378
305
224
285
264
313
279
343
302
346
327
337
359
275
325
348
389
338
358
296
290
317
299
323
300
283
296
379
328
356
347
292
285
385
269
291
218
243
318
286
358
299
366
372
325
294
342
318
329
301
301
327
352
308
297
288
304
323
317
327
368
312
321
328
298
334
220
251
332
288
306
269
301
257
356
326
313
324
358
356
328
317
348
300
275
303
277
300
298
332
371
309
213
349
330
370
369
267
342
262
335
323
291
372
257
311
352
267
331
356
300
267
386
272
361
312
348
268
339
277
301
301
281
388
349
234
347
294
301
284
345
350
307
255
270
370
319
264
262
326
370
405
365
338
256
274
259
351
270
269
360
300
259
297
296
305
285
291
332
296
320
345
385
244
334
377
224
299
266
325
370
271
326
333
245
352
282
302
308
314
298
268
365
377
353
283
278
360
250
330
294
340
350
246
308
326
316
322
352
397
320
303
311
276
384
407
305
259
304
211
303
318
253
310
327
302
279
346
280
272
349
202
338
280
329
319
290
299
427
262
309
378
326
275
279
303
339
324
343
244
355
272
336
406
301
325
255
280
269
300
335
306
312
378
274
219
337
253
336
291
285
206
274
305
286
309
335
296
265
304
295
360
358
305
315
308
331
349
294
386
304
298
319
307
255
277
257
342
295
289
379
368
324
274
313
378
277
241
302
373
288
308
257
319
365
263
262
312
368
343
289
299
290
298
359
236
320
337
206
256
306
336
363
306
245
348
329
343
336
291
369
304
387
323
247
405
309
324
386
303
356
350
358
260
290
298
345
309
308
202
314
354
290
294
327
349
295
238
383
371
341
337
300
318
315
308
353
295
242
301
338
293
259
293
285
318
401
343
341
248
292
328
228
321
291
327
320
311
390
347
372
316
264
304
312
345
304
292
252
272
373
208
309
306
331
360
392
235
248
311
362
343
357
290
250
341
304
310
363
263
355
372
277
208
324
315
309
361
297
295
299
327
364
365
268
357
307
339
274
281
390
390
325
320
273
256
247
321
324
356
302
272
300
311
302
340
405
320
378
318
361
289
337
315
364
300
303
277
387
363
297
338
259
276
288
377
288
311
268
327
285
306
348
275
282
423
293
388
321
290
233
302
359
339
331
277
311
345
312
314
321
270
383
340
413
294
291
391
336
292
315
343
332
275
244
340
360
341
380
361
326
318
375
333
325
253
253
350
395
333
320
351
362
458
325
315
301
261
291
351
318
185
215
249
413
301
337
350
299
345
303
344
293
274
323
327
337
237
351
272
333
291
332
382
267
368
358
345
318
352
307
241
320
276
287
321
302
322
328
263
363
284
299
281
354
212
336
348
291
282
351
340
256
270
358
372
313
295
331
254
258
287
338
292
340
275
286
319
298
320
282
330
349
281
310
337
195
298
303
224
315
259
356
283
431
329
267
326
375
332
282
330
355
292
309
269
305
356
236
363
318
331
418
346
383
325
333
382
371
327
238
261
349
313
343
315
345
243
336
435
290
336
336
352
306
384
310
402
272
290
196
231
301
390
234
262
240
280
300
257
273
352
205
346
298
285
256
308
308
378
296
317
339
331
294
355
339
342
366
392
282
318
383
316
279
331
271
322
288
345
246
345
288
358
339
297
376
300
374
296
314
334
336
284
378
356
294
346
324
401
306
247
363
309
391
303
345
269
245
303
272
295
229
295
395
364
360
285
313
249
331
366
316
242
307
261
277
256
258
329
303
295
301
303
311
296
289
316
314
372
318
289
379
288
417
414
334
291
295
332
362
320
292
227
341
374
303
244
309
340
360
280
354
360
172
339
299
333
286
320
239
296
297
298
230
314
310
267
243
310
331
350
285
293
267
311
364
306
336
336
321
303
258
331
320
388
292
339
293
404
427
361
286
297
387
309
347
356
358
381
228
321
314
342
387
309
287
295
384
330
341
380
281
341
324
314
336
404
274
322
245
259
350
339
313
263
303
220
373
322
269
394
406
336
374
382
337
367
333
312
342
290
329
312
404
401
311
276
384
251
312
318
286
273
294
314
341
296
287
309
262
243
309
279
433
340
368
260
288
229
243
365
357
260
307
364
357
281
228
399
308
266
302
376
356
392
250
269
301
369
316
315
334
245
311
309
252
294
254
307
358
341
322
369
351
379
267
318
291
313
324
294
256
368
305
314
386
261
329
386
259
345
352
307
357
321
332
286
384
381
350
341
250
247
277
377
313
375
328
263
301
213
314
300
366
201
396
311
312
378
341
226
310
337
328
357
318
260
293
374
256
273
358
344
325
261
278
350
364
338
365
246
348
312
232
371
325
340
341
263
294
362
251
268
377
313
332
378
354
318
289
342
235
238
297
330
373
285
269
266
321
360
343
306
345
349
292
318
306
429
246
360
339
409
202
281
280
340
343
402
372
293
311
305
375
291
284
388
398
269
286
351
319
329
286
298
281
255
357
267
264
381
335
367
238
293
221
386
321
210
334
306
279
327
309
375
292
273
304
204
285
278
329
234
280
382
417
315
301
356
206
277
311
322
329
356
332
313
240
252
315
283
346
313
385
215
320
371
233
265
270
403
246
270
290
349
339
316
336
398
292
358
239
314
253
350
346
313
360
321
338
285
363
243
345
392
350
292
371
283
332
330
335
250
248
385
385
388
230
316
412
302
379
347
353
297
335
383
340
271
394
415
322
235
310
291
393
398
363
342
330
274
306
296
309
341
351
391
324
370
223
378
311
255
266
399
304
377
349
317
291
349
331
381
300
301
266
256
328
300
320
348
277
260
351
268
239
342
394
374
359
315
416
278
326
297
259
364
290
381
310
301
327
264
349
320
346
244
322
280
350
255
377
264
219
311
343
336
300
347
342
264
266
236
349
362
241
328
239
342
330
274
323
322
357
338
399
297
276
178
268
378
454
281
226
323
284
329
335
309
293
266
303
369
292
283
199
332
281
346
299
302
336
363
400
266
368
388
354
233
363
335
334
293
341
260
381
360
290
377
281
284
248
322
261
304
293
323
397
368
228
333
323
306
326
333
320
310
318
331
350
357
332
336
356
327
301
286
246
355
280
307
290
308
342
319
372
304
306
301
285
318
370
223
341
363
349
378
316
374
231
355
288
357
256
285
346
371
314
341
325
275
287
327
276
343
305
309
260
233
406
304
301
296
347
323
222
262
362
383
321
333
305
325
351
412
308
362
272
331
310
339
266
323
293
304
349
316
258
333
399
295
235
248
299
258
328
232
290
348
309
282
246
338
297
352
334
324
308
226
353
349
353
372
369
318
333
340
280
367
307
293
270
333
251
306
276
298
314
387
302
241
330
271
291
368
318
237
287
292
287
306
359
314
269
317
310
261
334
263
411
324
256
333
257
345
338
362
350
261
314
376
282
304
278
297
315
316
360
295
369
306
332
361
296
380
295
278
311
339
293
258
317
322
331
356
372
311
241
364
292
344
289
340
410
308
296
356
337
378
321
314
344
338
343
305
321
383
256
272
399
332
325
294
259
300
385
290
384
337
327
313
298
326
293
290
355
415
355
339
376
379
271
293
346
277
319
338
318
374
297
257
336
274
269
329
322
223
328
277
360
373
357
356
332
298
365
248
314
246
271
239
354
259
281
281
344
243
263
335
294
283
332
350
285
331
292
239
347
330
267
374
390
319
347
340
328
433
324
287
364
330
372
314
345
310
242
376
271
334
262
254
266
405
280
270
241
314
356
354
369
288
265
266
296
316
271
383
353
350
262
234
319
300
299
361
281
298
312
396
317
314
326
350
374
269
355
274
272
352
338
328
303
354
280
291
313
341
344
284
366
322
366
341
315
284
366
258
283
291
410
360
281
336
322
326
287
299
308
365
368
265
351
336
257
380
324
280
323
339
317
263
338
281
232
375
346
403
306
309
342
362
320
360
286
372
289
309
237
372
345
292
287
289
277
385
377
349
318
400
212
278
306
254
380
340
275
278
352
312
307
370
388
352
314
295
364
308
283
275
317
230
236
323
361
347
356
319
319
318
340
303
251
223
315
265
341
349
407
347
374
218
249
338
352
382
379
317
332
383
310
335
294
357
327
336
391
327
250
345
363
312
246
250
268
309
371
307
365
249
364
301
335
348
295
284
310
360
297
276
347
341
335
331
294
381
291
309
325
324
266
323
360
281
356
348
399
284
385
342
290
250
288
328
334
381
249
276
312
351
267
381
384
310
282
276
353
370
281
364
285
295
340
314
383
314
334
346
345
362
404
282
290
450
296
359
258
330
240
250
365
277
418
324
353
375
313
364
178
348
334
333
235
330
341
354
321
243
308
347
318
352
218
378
341
264
311
358
350
297
265
299
203
300
331
359
328
306
279
365
279
280
296
343
375
248
358
301
329
346
287
210
358
302
381
315
380
295
256
316
264
306
379
365
314
336
389
402
327
335
309
281
265
173
268
367
356
266
340
327
284
300
236
395
227
353
339
285
358
307
297
394
305
262
300
298
328
286
343
321
284
346
403
376
319
332
315
377
321
310
228
330
325
250
354
352
294
246
337
357
345
254
322
383
358
330
280
368
292
237
286
307
371
263
300
299
300
317
257
411
384
350
331
411
328
319
232
302
343
363
372
290
313
310
268
334
323
266
287
317
326
263
337
283
248
323
337
390
272
383
378
344
270
280
363
271
343
357
403
297
339
286
305
386
259
303
336
241
297
329
300
290
271
299
315
385
350
357
370
319
260
335
297
266
334
342
309
295
289
226
330
255
309
268
351
311
293
260
432
293
306
347
267
378
260
373
396
281
345
272
306
299
318
302
298
328
228
308
274
309
323
317
329
360
342
386
278
334
318
346
272
317
286
246
349
383
380
385
299
316
360
306
299
237
266
271
282
387
329
300
331
357
271
343
297
345
304
404
336
349
302
293
244
237
344
280
333
299
353
322
275
349
316
290
313
324
363
379
248
377
247
298
268
266
219
309
350
303
278
235
318
350
367
297
296
326
359
293
299
301
352
325
310
266
343
227
310
287
303
396
345
229
367
396
397
342
286
233
290
257
319
309
311
243
344
316
264
379
330
376
332
347
354
284
307
389
265
309
271
387
373
253
264
273
355
293
278
231
362
374
267
220
370
303
304
299
363
254
397
362
318
392
282
359
314
370
258
303
366
359
289
388
277
357
280
272
367
273
315
284
345
385
287
285
304
354
352
267
336
286
315
296
278
338
347
369
250
222
303
306
372
284
204
301
299
299
290
262
285
309
293
268
262
297
251
312
211
355
368
365
327
328
364
311
297
311
302
366
367
337
304
334
362
341
265
382
336
287
283
281
323
352
368
349
254
258
284
330
325
314
303
295
258
330
237
315
369
349
319
316
274
302
257
299
268
254
353
309
266
352
294
323
336
336
292
304
283
288
359
311
293
397
407
336
312
303
252
406
290
351
269
403
349
210
317
295
342
259
416
320
289
283
298
338
289
302
306
229
272
268
234
271
338
354
366
386
328
334
298
292
266
333
333
348
320
286
327
324
430
337
405
288
227
308
359
234
332
309
310
350
283
335
209
283
331
301
350
353
398
383
367
322
287
286
344
285
343
345
317
324
323
331
270
334
291
306
256
370
354
380
204
294
306
270
306
236
362
340
346
300
267
340
297
324
327
337
180
348
286
297
326
280
359
387
327
381
333
383
334
365
337
293
327
357
328
305
289
335
337
366
245
254
311
367
321
274
311
465
225
334
263
310
369
319
308
335
259
289
272
275
296
317
348
359
338
371
282
417
357
242
221
350
329
266
309
333
360
344
304
332
318
317
245
330
289
321
337
336
311
387
365
320
373
252
355
344
301
340
268
317
237
246
318
368
345
396
267
313
321
260
257
265
380
293
267
228
337
297
369
245
310
288
338
228
291
290
354
320
300
345
365
368
296
271
302
363
270
313
243
349
329
294
191
333
299
333
358
350
333
336
248
331
346
309
243
323
318
277
252
360
267
248
255
247
318
316
307
365
315
373
350
332
309
275
232
312
267
325
326
281
364
345
301
264
340
290
272
426
325
281
300
370
304
349
355
376
308
320
382
304
310
342
344
301
278
317
345
303
292
343
304
402
259
307
281
288
345
324
305
326
311
367
362
419
305
348
330
229
296
363
389
299
271
271
290
311
329
321
266
258
329
360
352
270
326
314
304
299
347
340
327
268
320
330
243
293
252
381
183
302
381
344
395
280
322
360
267
296
275
320
342
273
264
224
370
321
249
313
329
354
284
161
247
289
300
259
336
321
363
243
349
378
350
287
384
322
338
296
387
296
238
297
334
305
295
339
325
235
254
293
330
293
298
347
381
358
296
299
323
238
347
286
354
341
284
326
367
237
266
371
340
353
298
299
261
303
247
296
324
277
257
305
285
276
310
321
224
406
309
286
260
370
292
322
337
309
362
245
203
309
341
366
372
341
340
306
328
286
327
308
338
268
191
335
320
277
358
212
256
326
263
318
410
350
224
286
285
347
352
299
292
305
283
186
344
334
393
351
313
355
262
363
317
276
275
273
345
366
305
239
286
358
310
340
308
415
338
303
257
310
273
281
303
294
292
247
277
304
340
401
293
337
195
293
295
365
368
222
346
295
264
319
330
267
363
331
300
311
302
312
266
319
262
345
378
317
371
340
298
327
335
240
351
288
334
302
368
252
346
326
346
330
313
385
264
404
264
246
301
256
338
298
408
332
367
314
267
294
310
347
330
346
293
318
339
295
164
353
374
273
339
307
359
334
386
299
313
342
330
311
292
330
320
289
349
334
316
241
272
355
360
289
371
328
262
273
207
237
264
327
330
352
366
363
321
313
357
409
325
307
338
285
311
249
293
216
337
268
317
347
246
331
304
278
298
326
319
205
317
257
340
322
346
310
264
369
280
286
325
265
281
316
263
300
345
349
173
319
271
288
313
313
334
385
319
314
261
359
313
426
319
359
317
316
276
387
382
306
340
298
361
325
301
273
342
294
271
199
295
369
270
363
363
260
245
364
341
354
359
323
388
259
370
294
354
251
337
284
229
320
284
327
302
376
315
340
380
314
326
302
285
232
335
312
369
287
273
397
373
264
338
263
360
391
346
322
289
334
232
265
298
344
336
308
379
310
342
309
291
225
362
315
227
341
291
233
304
326
269
303
357
244
358
285
289
304
324
368
408
265
355
229
334
315
360
314
264
362
284
280
328
366
333
335
236
392
275
311
215
390
346
305
210
257
354
371
446
299
368
298
326
281
353
237
326
316
281
335
328
298
338
344
290
273
338
359
350
277
310
324
374
301
362
341
311
334
356
301
287
333
260
236
398
255
333
350
295
332
281
406
320
367
378
285
328
264
345
340
287
189
348
236
268
301
388
400
302
400
301
416
317
224
343
252
359
331
353
368
342
317
232
351
399
308
228
371
282
249
289
249
241
290
276
321
343
272
232
307
323
284
251
358
344
291
319
401
295
357
270
276
378
360
355
225
247
324
324
301
395
299
297
338
293
307
369
328
297
291
380
383
317
364
370
324
290
356
296
292
287
291
261
325
383
340
333
277
323
256
304
386
332
339
348
403
383
283
260
307
364
287
275
287
361
360
348
311
358
305
356
343
304
294
261
345
282
414
321
360
302
304
344
347
332
285
305
331
324
237
307
284
362
308
352
255
335
326
278
273
291
453
293
404
287
325
253
320
317
336
362
334
321
325
337
276
280
399
277
346
376
293
299
355
250
340
305
298
352
351
277
344
321
380
277
304
316
262
339
319
285
319
302
346
289
341
324
327
352
386
397
331
320
361
320
250
374
369
303
420
366
324
343
405
237
325
366
317
299
354
313
291
242
340
293
276
392
278
309
388
379
383
323
337
326
285
334
275
396
351
370
304
253
391
355
319
353
287
249
278
329
319
310
313
334
252
357
380
288
283
359
294
381
241
295
355
385
305
313
353
387
296
296
331
224
264
268
304
349
349
295
265
321
347
292
254
299
360
359
349
355
264
295
362
363
355
303
297
331
362
259
307
358
316
232
323
300
302
288
359
343
302
304
408
305
342
362
329
309
238
343
344
350
333
277
279
306
357
283
313
300
309
275
364
272
269
286
337
349
303
327
292
314
328
324
347
255
275
322
341
321
257
365
292
446
347
340
346
350
312
301
321
342
376
341
346
303
333
329
366
342
341
348
240
253
328
336
347
261
249
322
271
372
304
255
256
308
284
290
299
308
340
293
323
351
302
309
328
316
309
305
315
332
350
333
322
255
307
300
264
337
363
376
279
248
287
287
242
359
311
265
333
377
373
295
310
390
397
347
336
359
350
284
277
289
336
245
283
303
364
384
362
298
359
221
303
295
311
367
248
346
338
309
273
244
329
360
400
271
324
359
257
292
305
267
362
280
321
319
297
236
231
287
350
296
273
285
301
334
317
310
258
332
290
428
383
272
322
326
307
265
312
379
299
295
285
320
254
332
263
296
279
388
295
298
263
277
236
294
298
307
361
319
313
245
365
308
317
287
289
340
328
331
293
282
357
349
301
397
247
395
391
306
262
313
311
317
301
283
290
371
311
333
379
201
278
303
309
351
308
303
322
255
299
340
258
343
341
360
294
329
367
353
343
331
358
354
297
291
367
266
262
373
332
259
314
249
448
286
372
309
274
289
296
296
334
297
313
381
311
333
317
247
280
305
314
256
343
298
292
400
266
346
273
348
313
268
351
312
302
310
269
302
260
297
283
347
324
356
282
307
297
323
382
303
240
385
358
378
267
327
280
337
363
324
265
339
299
296
312
348
292
293
269
328
329
376
310
321
383
325
306
383
332
261
358
207
315
254
300
325
327
273
293
252
339
304
373
367
337
270
315
319
379
423
352
360
376
404
279
377
334
277
359
279
299
301
345
281
394
343
331
349
340
286
292
287
311
305
278
321
265
330
394
307
223
271
379
388
295
302
367
360
344
348
280
250
334
363
287
215
292
281
366
350
336
398
253
331
360
283
321
327
356
387
319
269
294
276
381
358
290
314
306
351
326
335
339
239
339
289
274
201
279
350
258
262
220
273
344
329
317
338
246
342
344
363
263
300
287
287
283
223
364
325
264
344
283
294
341
280
297
325
272
381
384
303
327
286
366
324
319
244
324
326
359
285
308
399
308
203
322
332
388
340
323
413
404
252
317
321
237
336
386
355
343
342
316
312
352
312
315
306
371
323
292
325
270
295
361
404
375
272
340
281
374
291
290
341
273
297
304
227
324
292
336
258
321
265
345
306
304
381
343
352
284
373
291
282
397
282
307
394
375
355
256
283
265
249
337
353
234
407
272
269
294
369
391
290
261
308
360
340
403
270
321
329
317
382
315
290
368
323
290
309
336
326
327
270
304
314
305
347
346
310
346
379
324
391
318
208
317
352
344
340
212
270
324
350
261
321
273
206
275
234
287
238
285
255
347
294
382
353
270
322
334
298
253
295
330
371
262
306
368
317
377
333
343
209
334
342
373
358
370
245
327
328
289
293
265
261
357
353
291
296
276
365
364
309
266
339
349
436
399
373
353
337
349
348
312
335
332
295
304
306
235
279
270
229
305
363
238
327
295
285
316
233
404
312
297
311
404
337
333
273
348
389
357
373
353
309
343
278
272
271
349
248
287
336
337
368
303
265
318
333
400
296
311
314
381
324
293
398
319
291
299
277
337
369
339
336
294
312
340
311
297
326
310
318
341
321
380
215
287
325
379
367
331
346
395
322
320
381
270
268
281
290
304
314
270
362
357
296
387
297
322
347
311
322
259
344
343
207
317
356
364
294
391
395
348
326
331
342
369
298
255
365
333
286
363
271
303
320
293
260
295
190
262
330
361
256
336
233
299
287
329
338
343
263
264
311
276
298
345
277
347
350
330
288
253
317
367
249
374
406
238
333
316
396
249
316
334
347
411
371
360
273
381
357
364
308
301
206
323
263
293
302
276
380
335
269
340
334
325
301
265
380
420
363
249
313
314
299
328
379
272
272
353
309
331
359
324
358
427
305
277
313
304
279
307
326
359
378
375
383
303
302
312
373
323
322
319
320
285
355
298
336
316
325
335
368
277
368
217
324
322
342
303
290
296
304
302
301
279
261
367
324
279
316
376
302
349
360
267
359
319
288
314
328
345
335
250
335
305
326
320
344
312
232
329
295
309
304
320
240
290
303
282
230
358
312
318
194
238
312
264
400
342
303
290
367
246
253
421
297
357
324
215
306
296
249
330
271
331
309
300
286
305
265
398
266
294
335
300
328
244
316
312
320
322
340
339
340
259
249
392
283
273
341
367
322
326
311
212
381
316
323
268
276
371
313
286
257
331
303
331
288
295
302
293
311
341
325
338
342
291
211
276
331
242
340
276
433
286
283
307
377
284
353
282
321
286
415
358
315
302
249
372
363
340
296
359
280
305
343
321
313
295
240
271
317
314
353
298
231
316
371
344
204
314
280
398
326
360
263
269
309
340
326
282
304
200
296
381
299
340
320
375
343
303
336
297
372
328
289
292
303
317
226
425
326
257
228
341
308
313
258
293
290
356
304
297
253
276
288
303
232
355
299
377
366
298
320
251
274
202
346
323
326
250
291
393
335
305
329
295
311
231
347
309
351
315
340
278
311
382
366
285
257
386
358
306
284
343
353
335
286
276
287
344
315
254
358
350
318
342
384
309
315
367
293
283
269
295
344
242
292
235
324
317
309
287
349
291
319
261
307
330
352
312
276
365
307
324
276
369
397
225
252
329
238
285
352
341
327
325
371
357
382
379
332
384
333
249
333
305
412
308
343
290
283
438
378
335
280
337
232
346
299
299
258
364
324
342
415
355
294
274
353
368
267
349
341
332
356
402
325
211
328
340
297
231
326
282
237
371
308
364
342
331
446
316
381
284
318
354
305
389
329
287
232
334
364
352
275
362
359
318
334
318
296
347
311
343
261
384
288
351
248
264
271
351
428
238
330
271
253
212
325
332
395
382
296
280
331
386
351
304
233
282
248
282
336
332
325
337
277
347
385
310
364
243
328
276
347
269
261
324
288
322
289
346
319
350
328
390
337
327
325
352
387
366
348
315
329
318
254
319
364
341
423
315
312
371
379
309
381
298
319
327
356
351
321
334
343
276
271
294
314
297
367
391
327
304
300
375
259
323
326
291
309
303
328
320
272
263
316
302
319
310
308
327
354
387
294
295
330
353
357
316
321
273
294
347
278
276
357
266
385
377
290
348
372
282
351
352
355
220
298
366
306
346
307
300
262
373
297
301
283
384
372
340
281
356
257
334
369
372
318
312
272
299
328
321
351
266
315
276
345
375
355
290
313
325
250
383
312
300
395
230
310
396
301
342
275
284
283
367
328
336
370
308
328
302
331
417
318
295
329
299
310
301
247
355
310
350
360
312
303
275
354
296
298
407
272
306
301
307
265
340
336
329
331
267
366
240
255
202
321
379
241
348
324
294
267
251
293
283
385
314
284
298
350
341
344
297
341
275
372
263
378
288
334
172
295
366
315
258
261
198
410
342
320
319
291
337
389
286
344
328
333
312
316
351
278
357
246
333
341
319
335
308
342
278
318
412
337
324
316
255
367
331
295
355
304
353
391
322
323
287
355
233
292
273
341
386
356
295
270
311
300
359
340
283
271
284
386
232
315
233
314
351
295
360
306
328
348
290
307
321
357
294
355
310
227
265
292
297
215
355
267
355
333
291
309
311
357
322
327
316
219
272
234
296
277
278
276
296
370
323
332
334
255
336
328
410
246
315
313
359
333
337
227
259
232
365
268
354
253
310
396
324
278
356
378
329
319
281
371
323
381
304
269
282
376
289
283
275
310
313
369
344
249
245
319
282
352
279
360
358
272
343
274
337
331
312
296
339
270
227
296
290
261
269
347
291
351
438
418
315
276
288
281
364
358
230
276
339
283
329
370
284
340
325
323
335
379
285
380
251
260
338
319
338
305
260
392
346
413
345
354
330
299
272
381
325
302
368
364
287
283
343
266
267
342
315
260
360
293
377
307
199
290
341
298
375
311
398
311
271
331
337
374
304
326
326
240
388
355
423
275
363
285
269
299
321
345
286
355
293
257
284
412
356
192
374
243
330
324
242
380
342
326
273
308
298
277
238
261
319
298
361
323
258
393
361
274
362
351
371
352
342
368
254
303
305
311
323
244
387
289
295
264
311
325
271
291
266
307
328
293
310
355
350
285
354
313
243
365
366
351
246
360
220
317
353
315
327
322
330
208
271
265
313
331
263
299
326
318
270
244
333
303
323
369
347
281
305
340
258
318
359
273
345
379
372
274
318
338
324
320
292
397
224
300
348
288
304
318
348
313
314
235
233
387
343
337
218
267
286
310
312
325
329
396
305
363
256
319
342
321
254
295
366
330
314
319
347
351
365
329
266
299
339
331
334
371
280
317
276
294
344
238
414
245
359
270
290
291
322
338
288
247
316
309
349
209
402
277
306
303
332
304
285
243
324
308
267
351
361
398
296
236
364
306
329
398
301
373
271
361
293
299
323
290
258
260
370
383
324
318
332
237
309
240
353
321
373
320
330
314
358
323
336
286
300
361
353
306
326
362
280
303
342
332
305
334
395
242
280
264
367
340
343
310
263
277
324
301
353
340
248
359
295
374
275
379
402
343
341
281
346
326
326
256
389
273
310
340
325
316
332
274
337
339
266
392
296
353
342
332
283
268
293
342
233
318
406
283
348
306
266
300
327
306
330
314
303
372
231
243
308
336
306
288
344
360
322
320
296
385
406
328
352
360
348
338
305
357
277
299
259
361
380
389
250
268
334
312
287
337
328
325
309
335
280
347
272
366
351
289
364
300
332
379
377
387
320
277
376
297
340
379
365
251
269
284
334
364
376
373
245
282
343
355
361
265
330
247
292
321
235
333
376
296
334
270
251
379
321
369
278
311
295
323
252
332
304
221
239
252
333
365
303
275
318
345
309
355
284
333
249
272
317
304
284
292
307
372
385
246
355
363
355
323
256
260
303
217
240
330
263
319
200
283
312
297
348
185
289
213
278
301
298
303
299
312
324
322
317
324
333
240
347
325
360
303
311
360
442
327
253
371
334
336
311
278
274
238
271
299
335
276
313
258
264
307
430
344
372
241
260
356
339
351
274
343
311
256
337
293
335
363
311
285
365
290
301
376
246
316
259
360
311
354
313
257
371
291
335
356
300
329
250
308
263
285
344
320
328
254
298
342
359
326
341
325
322
289
354
306
289
327
256
294
282
250
388
350
354
246
272
263
317
343
283
307
216
304
377
288
391
227
375
381
203
398
321
250
294
349
341
363
280
248
262
302
308
340
313
282
301
307
263
295
378
329
339
284
285
380
333
343
370
380
290
284
344
312
300
303
311
296
348
277
337
340
292
298
367
319
366
323
347
312
343
377
282
351
419
302
324
346
388
259
375
287
452
299
223
350
327
362
267
354
327
316
326
253
348
387
319
286
295
319
330
274
308
292
395
342
346
277
270
379
312
299
325
380
346
309
283
331
309
292
314
321
260
290
293
297
337
357
306
287
324
265
280
263
328
373
226
310
334
371
300
291
371
309
385
347
330
388
285
271
258
308
313
326
276
400
304
366
304
225
320
276
323
454
330
243
263
309
353
360
313
351
313
300
283
357
343
333
263
364
327
318
317
303
242
360
391
323
246
341
255
226
281
323
352
304
314
324
376
299
321
318
367
233
305
281
306
397
364
317
288
355
388
315
402
355
319
225
384
371
383
250
357
336
347
320
300
278
417
333
318
361
384
287
308
241
354
284
297
293
385
305
360
321
282
241
329
334
279
310
295
382
303
344
277
406
306
238
357
311
303
303
289
286
299
318
322
282
351
275
271
342
332
305
296
411
337
308
237
391
297
313
244
358
289
377
299
284
305
361
294
315
314
274
304
329
340
210
387
287
282
328
308
316
386
364
352
337
277
332
259
390
277
258
321
306
346
324
310
300
299
309
370
281
332
278
294
263
301
372
311
317
327
304
288
313
304
413
292
278
340
327
361
353
276
292
267
396
325
314
306
345
411
337
334
277
274
373
321
267
328
292
317
249
356
329
332
302
321
396
315
399
281
348
313
308
384
306
375
317
302
340
296
278
393
345
348
280
300
309
297
396
306
357
409
323
318
277
281
353
314
312
265
322
265
288
364
298
290
322
268
366
314
342
252
352
334
347
373
297
319
343
293
261
335
347
286
303
301
306
390
302
294
307
302
357
431
337
405
284
349
306
314
377
311
336
273
331
307
326
236
290
319
295
338
312
290
329
306
282
276
365
266
333
345
236
304
296
309
217
326
307
351
309
250
313
260
241
321
352
259
263
320
339
276
315
261
318
336
357
248
266
250
285
324
244
290
281
391
304
359
317
308
296
291
385
402
239
336
289
329
286
364
319
393
346
341
379
358
272
260
266
334
346
373
385
315
318
301
310
292
319
238
400
328
336
317
325
296
276
366
336
366
370
304
349
294
316
326
337
251
300
265
345
349
277
351
358
324
335
262
261
297
377
270
225
242
322
367
359
289
308
323
314
214
297
368
356
307
255
309
293
329
311
314
236
303
337
340
311
349
298
377
288
376
322
239
292
301
324
277
296
343
331
264
299
418
312
320
269
321
327
247
364
323
294
363
340
289
409
383
270
314
296
273
329
310
301
296
239
350
259
309
372
293
261
253
375
316
325
393
403
385
217
349
326
252
318
325
258
412
342
286
394
266
327
374
272
275
336
294
277
312
293
271
247
330
387
375
350
286
308
344
378
327
377
305
321
385
325
344
382
341
407
295
330
317
325
346
388
276
365
254
242
203
312
369
278
304
318
254
412
311
334
355
398
336
243
324
324
268
226
329
316
309
250
352
361
286
308
311
320
271
348
276
270
340
296
339
364
313
301
331
395
359
231
315
287
314
385
352
336
386
332
325
337
331
359
404
403
327
279
256
357
352
306
292
316
307
320
330
299
381
376
359
332
356
316
298
290
370
278
226
297
243
299
317
244
265
342
298
274
360
291
318
290
339
285
337
295
229
306
372
264
274
264
306
247
309
383
405
349
240
338
263
276
370
279
217
324
295
302
286
395
248
343
368
401
249
313
393
384
295
348
358
333
306
319
286
233
237
361
377
306
372
423
308
286
267
270
314
282
405
293
289
313
300
315
243
363
306
347
387
308
287
307
328
313
335
316
362
291
276
347
330
283
345
204
312
368
313
373
283
312
275
270
318
326
409
353
268
262
305
319
296
244
381
395
326
294
295
321
376
265
251
391
270
209
311
361
250
297
368
324
312
335
325
292
317
372
334
370
343
281
314
250
318
272
281
262
218
388
398
295
348
322
257
338
342
328
369
341
382
313
311
364
335
391
298
305
317
359
254
298
267
302
282
335
366
399
381
286
198
389
292
278
324
350
320
286
286
331
392
298
408
274
288
325
327
311
224
274
174
373
281
363
295
353
358
327
315
296
347
284
345
357
340
285
305
280
392
268
333
250
334
346
341
347
368
315
290
333
207
286
338
312
265
443
311
385
361
310
313
377
258
301
326
307
371
294
344
298
321
368
320
335
312
317
391
329
178
270
241
317
276
350
355
278
416
291
362
288
374
325
330
334
274
249
319
314
388
384
353
301
357
339
268
284
305
347
367
360
229
307
267
276
389
302
331
283
253
341
230
262
410
323
369
293
368
347
335
314
318
335
310
313
317
384
223
424
347
304
298
289
285
303
323
337
365
287
365
286
436
408
214
323
247
297
348
347
332
354
313
297
388
366
355
309
229
327
311
299
302
220
255
323
348
305
353
390
279
352
318
311
332
247
308
275
378
267
321
370
237
282
355
416
381
265
246
321
324
349
373
357
267
360
232
358
237
281
307
326
297
295
291
366
349
352
328
269
279
311
292
310
307
260
221
305
343
301
233
280
261
287
290
331
333
325
286
319
327
327
277
304
262
292
363
348
234
369
286
333
383
386
257
299
261
259
313
307
281
443
263
297
245
343
300
310
290
359
283
290
306
327
387
332
256
341
309
340
335
379
377
363
288
270
346
292
266
295
380
314
315
302
294
291
308
276
409
323
400
286
313
306
354
244
376
260
318
350
338
327
279
364
362
352
324
356
263
337
285
317
302
224
351
345
327
339
300
317
366
304
265
362
331
302
310
301
314
256
341
271
347
372
301
329
345
345
372
291
355
322
321
391
421
312
353
292
361
320
366
282
393
357
316
352
375
285
281
255
286
319
306
361
280
334
321
330
389
331
378
227
373
297
308
227
255
334
334
192
242
281
348
365
264
258
292
280
344
259
347
381
300
306
280
250
376
297
318
244
275
411
270
322
271
285
283
328
350
335
293
259
334
344
393
402
273
353
378
343
304
323
372
280
259
274
323
298
335
290
339
286
361
351
299
265
261
295
274
391
303
248
446
336
306
300
392
386
225
305
314
327
367
370
329
341
342
268
276
339
366
339
387
263
302
310
382
244
280
252
306
335
309
325
374
265
334
318
305
322
293
305
407
271
285
328
260
326
323
324
376
263
254
287
290
378
331
348
285
282
341
289
284
360
355
264
339
389
331
323
400
272
309
368
316
406
386
358
312
383
370
401
349
416
247
280
320
306
299
313
278
243
320
398
301
417
279
259
255
344
372
291
366
277
272
284
318
297
262
323
274
358
367
208
305
221
295
301
345
277
286
350
301
347
260
374
316
367
282
342
236
294
343
346
293
280
240
284
310
332
318
322
307
360
335
332
264
374
383
270
344
277
319
280
193
331
349
321
306
326
342
348
333
365
252
401
277
354
317
294
397
380
271
265
368
298
375
330
293
336
318
304
315
239
332
293
298
362
315
269
309
277
241
285
325
298
264
260
295
308
275
273
390
281
314
290
330
353
227
356
301
279
327
329
280
204
307
232
364
293
300
276
364
384
333
405
300
346
322
379
270
283
306
364
284
258
365
327
327
323
247
288
326
355
344
313
313
415
330
280
301
281
286
304
350
265
347
341
273
269
258
369
380
317
276
336
351
324
273
308
343
350
283
337
314
327
399
245
362
353
298
315
312
299
357
298
381
237
253
336
304
328
328
354
341
346
301
326
289
232
288
306
323
386
329
308
305
309
341
286
251
340
299
357
323
256
320
257
303
297
355
225
249
283
321
272
325
286
324
294
318
280
336
320
277
359
306
287
381
399
292
289
349
309
375
319
286
317
381
369
305
410
370
297
376
367
302
321
306
323
227
365
244
262
390
430
293
306
332
317
330
326
325
348
374
356
314
304
328
387
274
341
315
259
362
271
292
285
287
365
339
364
293
334
320
340
344
321
377
203
301
288
296
293
377
304
223
317
279
321
360
329
219
267
263
391
290
323
228
307
336
298
311
218
305
330
325
382
282
392
329
386
314
329
307
352
337
339
335
333
273
260
383
404
333
395
367
405
289
217
299
356
247
326
294
305
346
272
264
319
331
299
339
338
361
303
323
305
346
281
342
316
302
228
321
302
384
297
286
299
308
275
275
347
364
267
281
388
277
314
305
349
400
332
354
370
276
367
273
316
258
302
338
343
249
310
302
321
309
349
330
342
246
312
308
325
320
263
320
318
254
223
283
381
320
294
319
333
296
250
223
274
371
333
334
243
363
289
351
318
316
321
327
250
316
307
324
285
322
330
377
349
367
287
399
313
327
381
341
317
298
307
374
312
263
326
374
342
242
343
320
292
391
342
352
361
272
264
353
333
286
364
334
328
297
270
303
251
361
343
345
314
344
349
254
358
267
331
301
342
286
326
273
354
280
332
298
292
328
263
343
255
288
317
362
343
309
343
324
257
315
317
289
309
224
286
264
293
352
282
320
343
295
242
389
353
225
336
368
240
337
334
330
292
319
271
376
261
307
303
366
332
305
348
338
309
331
286
370
291
338
294
280
307
355
298
184
302
248
332
374
324
265
366
314
279
272
328
331
324
330
276
308
295
327
213
323
312
298
306
228
376
312
244
322
302
316
291
284
335
286
335
251
351
309
374
364
299
362
285
299
323
358
366
232
354
345
307
333
235
329
275
371
362
373
343
368
311
330
355
301
352
300
302
291
289
348
311
402
338
328
316
208
320
279
282
267
354
310
314
241
332
295
353
279
299
326
314
241
320
296
375
405
391
297
328
306
269
282
394
320
436
296
184
344
286
286
313
304
361
280
366
306
310
293
276
285
388
349
296
336
229
346
295
243
343
301
377
362
282
270
273
272
320
325
323
319
214
313
331
265
210
367
310
275
322
320
363
333
283
237
255
320
335
374
330
338
331
285
333
328
323
342
273
292
320
323
331
309
329
291
310
259
333
386
362
355
357
365
249
358
384
231
259
353
272
238
238
234
324
330
295
289
292
334
252
328
293
257
312
363
344
345
262
274
360
368
379
346
351
287
287
227
227
331
411
336
307
311
284
276
337
303
348
292
356
332
389
249
356
213
318
373
336
323
274
274
347
325
315
311
252
357
365
334
375
344
345
352
337
314
298
339
269
349
343
394
343
290
357
312
285
321
251
335
421
244
244
305
317
323
236
232
293
356
299
368
309
368
318
320
329
388
281
323
359
343
259
252
424
346
310
314
297
267
390
230
365
297
382
363
259
389
343
266
308
338
326
394
272
402
377
330
228
238
335
282
319
280
332
287
335
249
298
257
344
345
263
368
274
331
238
325
327
258
312
275
279
346
259
272
267
324
316
329
318
334
333
284
358
238
342
248
268
357
410
300
332
369
292
269
263
287
311
368
250
265
331
310
173
279
355
340
329
281
379
317
319
307
288
350
321
311
374
332
318
385
311
247
423
350
432
317
407
268
197
340
316
257
278
313
249
328
323
266
370
283
282
340
318
322
281
333
319
315
347
332
403
308
263
360
298
330
304
300
319
341
337
262
315
318
311
352
249
380
256
338
285
264
337
214
325
327
318
323
309
321
365
202
357
308
399
347
350
316
300
317
321
289
392
355
266
325
359
254
309
292
357
280
306
267
332
387
185
308
240
363
297
305
329
339
267
282
241
273
178
281
368
295
385
296
258
295
241
256
366
345
377
177
347
302
320
327
297
321
216
289
208
200
292
326
271
284
348
256
259
366
266
297
315
313
217
321
335
330
291
331
272
402
279
249
355
285
303
314
275
359
359
345
308
251
270
337
263
270
254
275
322
346
281
392
350
396
334
366
346
288
324
330
315
347
325
378
345
326
306
228
266
278
321
401
305
350
345
289
293
331
337
288
321
259
309
298
302
279
263
353
276
356
277
323
320
391
293
290
298
313
249
290
311
294
380
312
380
293
360
361
294
428
294
366
264
366
305
322
230
197
320
305
218
328
269
271
397
268
295
329
301
317
303
441
308
347
332
360
306
395
381
397
320
254
277
307
309
323
320
324
332
389
273
242
316
329
305
303
210
294
301
376
356
289
334
317
309
254
370
276
317
354
348
325
307
313
301
258
320
226
272
318
336
255
257
382
302
324
391
288
377
325
297
299
269
272
311
341
246
331
367
336
372
308
334
328
286
380
281
242
341
346
325
275
329
259
331
381
293
374
342
328
393
257
361
268
333
399
339
283
315
339
294
321
279
330
360
299
347
312
325
284
352
338
327
305
368
301
344
262
405
302
313
335
411
296
329
314
357
301
290
297
343
394
343
228
274
300
335
337
328
387
359
375
392
229
310
321
373
372
367
293
305
315
236
225
304
311
265
313
336
291
207
389
335
335
308
363
330
275
276
333
318
259
384
260
326
337
325
268
347
251
287
269
188
284
292
354
389
342
306
289
332
273
311
333
365
398
339
326
299
269
265
263
325
349
284
363
312
359
287
314
374
315
282
277
404
292
351
360
374
318
288
382
210
260
353
328
322
263
282
408
400
298
342
245
247
369
275
300
390
284
318
287
314
285
343
351
280
314
278
290
183
288
295
276
300
310
416
314
373
323
333
348
344
358
367
287
256
267
271
360
278
348
358
319
324
237
302
388
341
292
360
290
352
338
255
363
290
292
285
359
203
156
275
292
344
311
338
361
350
368
334
315
344
323
348
357
298
295
299
297
241
214
332
248
319
344
304
308
404
350
266
338
358
286
354
300
355
341
285
377
278
351
324
279
294
288
344
337
305
352
369
294
419
273
343
369
286
336
302
340
342
295
312
222
323
295
354
299
252
288
349
299
352
336
333
237
259
432
274
289
291
373
265
335
332
330
331
351
311
345
341
322
284
336
280
313
345
229
263
339
279
410
273
394
224
325
364
296
344
317
342
384
352
286
310
367
267
215
272
316
287
341
236
326
323
316
297
301
269
360
207
327
252
319
322
327
248
291
337
341
280
274
358
376
361
347
316
285
394
371
361
356
330
337
276
329
315
286
228
359
329
308
298
291
279
344
375
326
266
293
324
264
297
314
360
328
301
332
329
289
293
326
304
273
415
305
283
286
346
272
321
293
327
359
317
390
282
329
297
243
402
264
333
360
256
333
371
364
399
296
256
363
272
270
311
308
348
369
311
347
231
260
407
288
345
404
366
382
261
314
391
390
309
247
332
302
222
254
300
335
369
400
384
339
327
356
316
313
296
320
385
301
242
399
330
316
279
247
348
358
339
310
338
289
312
337
257
296
309
378
333
404
389
317
289
367
325
244
311
253
222
302
288
363
332
286
323
293
309
302
318
245
341
377
289
284
226
310
286
244
395
358
287
305
357
331
373
266
240
290
285
312
309
308
273
302
379
244
340
382
370
301
375
268
320
360
384
327
339
303
346
391
327
330
299
291
341
241
318
341
285
321
314
320
224
285
305
188
331
279
308
305
243
298
396
282
213
287
382
305
239
304
290
326
355
319
357
250
333
378
222
388
291
303
299
319
296
364
322
439
344
289
356
411
317
300
234
279
300
304
281
268
322
284
281
293
368
304
317
309
337
356
243
295
329
339
379
300
388
336
326
257
305
295
331
256
342
293
246
286
388
318
215
342
388
301
316
377
316
288
241
387
312
310
239
223
312
288
264
293
349
342
357
359
325
341
358
254
317
329
339
286
339
305
301
362
266
263
341
235
265
341
262
328
276
361
337
220
310
348
351
367
284
208
284
337
306
259
326
254
243
363
255
244
270
333
272
345
307
226
308
329
381
277
318
302
309
310
403
282
327
369
341
318
338
390
314
359
279
337
280
341
360
243
282
317
320
290
313
413
259
369
261
341
283
317
314
265
386
371
329
288
356
252
366
411
302
366
290
389
253
332
244
276
325
355
252
285
342
245
251
387
275
258
339
315
221
353
338
407
323
313
364
253
285
331
328
280
354
279
318
327
274
300
306
279
357
348
328
356
307
385
316
297
357
241
346
286
389
308
266
348
245
251
256
290
315
354
291
351
370
289
308
289
381
343
335
256
341
312
239
333
391
265
329
395
338
283
267
350
364
264
221
343
312
349
288
249
363
285
247
264
246
233
350
358
281
267
290
239
364
342
341
354
300
362
360
321
317
358
368
281
312
272
309
299
224
284
284
366
315
400
346
336
296
235
243
279
263
333
285
296
390
316
281
328
297
270
379
262
293
273
347
237
347
379
344
307
355
398
337
302
276
380
257
196
335
339
287
351
241
315
291
335
356
391
327
302
368
332
328
329
235
327
298
306
342
368
254
336
310
363
255
304
250
343
392
288
275
418
304
288
311
285
363
341
317
310
275
279
292
365
270
287
294
299
265
262
371
298
342
390
326
370
309
314
327
353
368
355
342
313
339
297
346
289
324
288
361
333
270
293
388
292
261
332
371
363
340
301
310
376
298
340
362
327
320
323
365
279
240
299
308
320
256
383
337
358
251
363
269
326
290
238
257
223
356
310
379
354
359
304
250
331
361
318
358
413
275
320
381
313
354
370
292
312
360
279
251
245
300
293
276
354
234
192
345
404
268
241
350
355
301
390
293
286
221
368
333
220
334
258
286
285
348
317
262
369
332
322
385
313
380
296
334
406
285
297
331
354
338
288
290
304
384
413
289
330
337
308
311
282
312
268
301
367
356
348
359
275
327
280
273
299
337
361
330
240
348
240
302
279
202
360
326
344
310
331
318
336
344
254
308
359
289
372
341
253
328
334
178
355
317
277
333
269
278
279
363
329
314
327
360
308
311
384
359
257
269
331
247
233
354
216
349
317
333
321
312
302
315
339
356
346
350
311
339
295
318
253
295
329
350
283
374
236
331
345
339
302
263
287
229
302
336
304
351
328
326
216
359
302
353
327
215
380
249
342
350
304
316
247
325
305
344
236
325
278
371
243
392
278
278
309
316
293
372
305
345
250
293
289
380
345
273
252
284
367
337
277
266
377
299
301
296
338
232
363
278
391
356
390
314
255
327
331
389
277
290
276
233
305
292
379
262
288
341
293
247
317
308
357
307
356
273
268
387
275
387
388
305
362
376
299
375
367
294
298
301
371
248
315
246
269
347
323
328
340
336
318
340
337
258
281
298
253
343
287
302
199
332
284
254
301
223
247
283
356
380
312
302
324
266
302
330
384
266
269
330
336
335
314
394
308
327
356
352
361
297
303
372
375
299
302
282
305
334
334
334
271
309
309
319
408
295
266
293
303
332
334
334
340
323
313
359
364
375
308
304
340
340
350
375
274
276
349
326
353
361
325
310
306
274
318
363
259
309
308
275
321
266
292
301
272
259
293
308
283
344
275
259
390
351
291
260
356
268
335
315
274
264
312
360
370
354
349
349
308
268
287
303
282
296
293
273
299
355
316
353
386
295
383
367
260
371
291
297
364
249
319
327
346
298
354
385
335
308
328
353
333
172
302
281
301
276
287
343
299
249
352
283
254
354
332
262
254
365
253
333
298
348
326
365
272
284
292
209
360
376
255
317
276
203
262
375
392
345
263
335
355
304
353
370
312
218
371
345
344
266
304
373
309
334
306
417
396
361
339
350
329
318
340
257
353
343
324
291
337
336
329
329
344
370
335
308
296
275
398
254
297
204
276
248
338
288
158
310
309
227
323
283
352
280
366
325
407
208
336
305
338
372
282
365
341
385
344
364
305
293
352
388
283
339
291
320
320
420
329
315
343
324
353
395
421
203
281
273
412
297
277
304
226
319
302
325
317
303
399
285
330
336
264
371
328
233
285
355
275
294
337
340
326
316
315
207
234
345
283
352
247
238
252
267
329
339
333
322
328
314
327
380
397
307
290
305
363
338
281
242
392
290
249
320
277
267
279
313
280
386
350
395
271
327
258
307
300
316
310
376
291
256
320
295
298
324
314
320
277
306
264
369
253
295
305
299
353
345
357
264
306
307
322
246
353
298
372
336
282
305
300
345
285
302
321
244
378
313
286
234
407
326
298
289
380
385
308
256
293
324
312
323
297
319
347
343
355
234
336
373
363
359
280
418
326
334
338
327
345
346
350
322
340
322
387
401
272
375
332
319
304
370
247
316
361
282
218
318
306
254
374
236
314
306
301
305
349
313
245
359
311
284
336
272
377
262
243
311
351
402
342
304
307
318
369
350
324
330
318
322
363
312
232
306
312
340
296
271
283
283
317
391
312
277
258
371
305
280
296
319
342
285
333
320
352
232
321
342
299
301
322
233
358
307
358
319
267
364
281
260
361
322
337
380
329
260
321
385
263
307
352
378
298
354
321
267
379
336
312
287
319
426
323
374
394
332
332
252
313
294
265
308
331
245
224
195
275
378
313
350
316
387
250
283
287
324
246
346
253
284
307
268
286
160
316
275
295
375
288
329
288
267
329
317
288
294
314
260
322
333
361
287
328
307
297
313
250
276
330
233
332
360
293
324
339
304
349
236
294
318
241
271
333
341
281
345
417
319
327
361
274
322
306
342
322
288
352
283
335
231
267
368
296
325
297
311
269
307
310
354
215
329
294
273
316
322
280
282
401
315
280
292
312
310
385
373
355
292
288
396
314
364
345
295
268
347
352
300
323
238
288
321
323
350
288
360
332
293
402
317
307
262
388
359
321
314
379
268
301
264
306
336
320
396
289
273
339
332
365
287
277
345
242
318
289
274
376
337
236
275
377
268
357
260
277
340
329
335
230
334
339
278
296
354
369
304
220
350
383
250
361
328
389
359
369
357
311
269
353
370
277
319
270
349
317
372
368
307
367
327
265
298
309
203
298
266
281
376
286
330
254
323
282
259
328
355
326
303
338
377
346
243
251
257
306
320
270
325
329
347
357
383
335
288
350
345
286
290
293
331
340
253
272
278
312
270
287
349
279
264
262
337
282
318
314
264
331
403
348
302
308
322
270
279
340
336
271
277
333
240
297
330
267
279
338
324
272
388
319
341
311
304
299
379
285
321
401
352
286
313
311
353
250
269
231
286
275
390
303
363
392
387
329
298
371
282
314
345
306
282
349
299
313
317
298
273
270
282
380
320
375
266
352
268
340
317
274
359
348
356
376
275
277
352
254
326
356
329
300
279
343
334
305
364
332
327
408
357
305
295
379
284
299
356
320
294
270
370
271
281
297
368
319
264
323
271
317
349
388
293
292
270
357
376
413
220
353
318
274
284
324
342
312
303
264
343
395
335
325
291
361
292
264
295
233
240
273
331
374
285
389
396
356
358
275
328
319
356
408
355
281
313
345
289
309
325
317
380
320
344
305
301
380
355
311
337
267
386
298
310
310
291
281
384
284
207
395
335
276
327
309
270
327
263
323
303
257
294
319
315
324
350
366
290
315
298
345
299
390
341
262
368
292
250
383
312
252
411
302
316
291
353
326
348
337
301
374
266
318
316
360
261
401
353
311
350
275
333
415
262
298
293
302
377
332
340
313
296
301
287
349
282
436
267
313
270
305
342
263
347
313
263
305
301
324
361
316
277
279
339
305
369
346
280
302
310
362
257
321
391
336
254
320
312
258
362
272
352
270
222
296
356
234
357
316
339
317
284
294
365
260
320
361
293
270
328
254
331
316
250
277
333
306
316
299
316
296
266
273
301
281
349
301
280
311
414
352
287
306
306
324
320
369
291
318
333
332
244
341
252
285
363
333
295
308
294
355
292
295
321
332
321
229
366
364
372
255
346
397
354
354
327
322
316
273
285
351
297
317
283
276
236
381
347
330
205
335
292
312
342
306
348
258
322
273
346
362
315
342
394
254
290
310
317
178
307
394
363
374
278
294
331
393
375
377
238
279
284
306
362
286
368
318
336
445
341
364
310
341
304
316
394
292
396
291
298
352
371
309
388
326
382
227
339
328
281
294
319
314
349
283
350
304
334
270
313
361
266
294
361
270
308
318
289
367
378
286
342
244
274
262
327
338
321
332
274
362
280
258
303
304
301
277
243
348
364
296
324
288
422
339
332
290
366
339
317
322
425
313
328
300
237
356
359
185
325
241
235
331
341
276
369
323
282
334
295
315
327
266
346
334
330
313
340
290
360
346
271
358
347
362
252
320
260
314
405
310
257
347
344
316
396
341
366
330
383
365
301
310
368
273
244
312
302
305
307
304
409
395
291
263
298
253
327
281
206
321
365
380
337
317
251
248
235
301
371
375
267
326
244
308
224
332
348
360
315
378
318
286
340
282
344
354
338
323
372
322
407
265
338
403
298
329
388
313
254
261
319
331
247
293
326
283
305
297
412
376
392
340
331
353
321
348
271
296
305
294
332
364
286
291
284
352
347
304
357
331
305
297
323
357
248
308
265
259
298
237
309
352
324
389
371
337
315
304
303
308
324
320
332
305
286
323
272
247
360
379
228
358
273
326
337
306
388
316
238
314
374
296
339
317
277
250
364
314
308
277
309
351
246
386
256
335
334
375
278
327
306
265
308
311
384
321
279
206
291
319
292
324
361
316
289
330
286
272
282
381
247
324
328
236
310
365
274
346
336
321
227
327
244
322
369
337
266
333
333
300
361
323
249
290
273
362
371
250
321
333
288
296
283
376
347
283
374
291
318
293
234
281
228
308
268
356
286
276
350
408
374
347
325
315
318
324
245
368
302
314
331
316
340
243
266
286
368
330
262
370
310
353
273
359
320
301
310
298
215
381
377
328
358
292
307
262
374
363
224
347
296
294
304
303
341
284
356
357
381
295
360
261
306
331
429
356
291
239
315
221
349
325
276
398
354
263
282
351
306
304
347
339
340
372
304
319
290
271
324
343
243
354
300
333
386
300
209
277
356
247
220
383
310
244
311
316
258
369
277
341
339
352
350
391
340
286
280
270
284
333
337
253
277
238
267
293
297
401
363
380
334
343
385
291
371
378
311
335
382
371
372
402
219
392
352
395
332
297
340
302
371
325
336
363
360
350
243
317
292
386
428
230
368
312
345
294
321
266
280
326
371
248
412
371
358
369
325
303
336
259
230
321
369
334
338
322
338
297
276
279
366
284
320
269
307
338
359
278
366
365
343
255
278
277
263
362
320
287
277
314
299
307
326
315
277
302
376
361
365
326
284
253
310
337
259
278
322
295
301
352
304
294
281
331
311
261
313
340
237
350
319
291
373
336
311
297
292
270
360
351
243
338
313
350
258
342
265
288
269
268
255
341
314
315
347
280
296
299
250
309
341
288
196
363
307
318
372
313
280
312
359
346
287
315
248
275
289
256
226
345
376
292
351
306
314
228
249
299
305
332
339
402
310
284
248
299
368
255
276
210
337
324
380
243
315
373
319
317
260
316
282
340
269
354
361
333
267
348
325
304
367
315
320
337
308
323
368
227
336
326
314
329
296
219
316
348
366
339
202
335
227
322
384
225
335
353
252
309
249
254
279
308
317
308
292
308
342
403
260
229
333
306
309
371
332
281
314
274
279
240
255
240
328
219
333
345
330
361
371
354
337
375
322
292
296
269
320
341
319
370
331
313
316
325
278
311
252
324
308
310
318
325
324
350
246
357
338
322
317
347
394
291
267
331
320
363
231
365
268
318
329
409
248
298
385
313
295
283
305
360
231
403
245
305
241
348
307
351
323
224
340
286
316
301
319
243
206
355
297
241
347
305
282
327
320
281
283
348
336
320
323
350
411
265
298
361
344
322
368
353
317
377
335
298
399
377
310
387
305
312
265
198
277
366
315
415
237
338
346
289
330
341
340
308
293
312
284
331
343
293
249
389
353
285
302
372
275
311
280
313
330
388
277
323
346
358
377
336
272
345
289
288
276
346
340
341
324
341
320
245
302
286
259
299
273
400
388
344
259
295
321
234
297
343
350
370
332
302
355
319
256
375
342
360
347
320
191
356
335
308
279
297
254
302
381
269
343
367
346
298
220
400
287
321
304
353
365
366
339
412
278
337
289
248
278
306
284
291
332
356
266
370
302
334
329
332
307
340
312
308
301
236
351
304
286
371
324
388
286
348
403
320
281
378
231
286
302
300
312
282
235
326
293
306
275
319
308
305
338
378
365
311
374
322
342
266
347
298
377
320
304
393
368
273
268
265
305
371
320
275
300
278
310
266
385
303
387
309
489
311
278
285
249
309
312
295
319
293
294
364
226
392
392
353
223
345
303
377
314
341
340
309
382
348
359
239
295
267
285
308
279
332
375
294
378
333
264
320
342
298
203
373
299
316
333
406
336
265
367
214
303
305
299
337
289
364
315
318
367
249
347
321
296
395
194
327
272
321
334
310
311
352
353
266
432
330
268
327
295
342
305
301
296
331
264
255
304
370
288
347
342
337
273
292
310
258
360
301
329
416
273
315
381
332
266
305
304
325
308
326
285
330
255
275
333
240
349
348
335
227
281
293
288
366
380
244
300
238
273
317
410
264
336
286
395
341
361
216
360
266
331
261
288
341
279
396
311
270
319
321
318
291
308
298
361
299
279
287
269
303
394
272
352
276
348
291
316
325
290
260
346
339
248
332
328
353
314
304
387
388
348
265
337
369
206
359
313
312
424
321
273
385
314
331
281
338
321
380
338
304
253
364
326
306
254
360
316
363
266
275
253
343
292
208
431
301
390
350
375
292
215
338
211
284
367
286
321
366
325
324
370
351
258
369
381
312
251
327
375
284
308
349
262
357
304
371
226
324
351
305
309
250
290
326
369
213
286
379
356
317
192
183
334
271
282
367
227
361
316
368
240
363
367
356
375
313
404
393
344
262
282
309
339
274
315
308
244
293
299
337
286
270
315
282
354
399
347
387
332
283
340
235
256
337
349
325
325
295
320
307
309
370
284
298
310
239
366
351
320
266
279
313
264
355
250
306
294
384
342
259
399
353
277
310
365
353
340
350
292
244
327
273
271
330
253
294
282
303
296
304
396
311
338
277
264
373
275
334
334
364
269
324
342
226
257
325
336
314
294
358
338
319
328
299
270
291
346
356
353
313
351
300
407
389
290
286
283
375
329
329
347
275
289
369
296
243
224
311
352
257
328
309
296
363
299
241
324
318
335
325
357
252
335
273
309
346
349
242
317
382
286
239
406
323
256
228
267
321
340
239
320
340
308
333
239
282
338
354
347
354
234
232
291
309
196
309
313
255
312
272
304
303
384
249
257
362
294
281
373
321
320
364
369
247
329
332
372
371
348
394
286
343
351
313
326
336
338
309
259
346
280
338
307
308
307
368
315
284
332
369
322
388
335
305
327
299
298
289
344
284
381
291
278
313
262
315
343
241
331
307
296
365
252
211
409
317
299
333
246
301
324
312
278
349
360
341
362
436
234
235
323
354
385
341
284
355
328
371
299
357
265
358
362
338
322
338
345
278
266
306
315
267
357
337
327
285
321
291
358
279
270
263
312
347
341
292
320
288
296
367
383
246
322
324
315
322
277
228
325
386
368
313
339
231
331
303
343
322
349
367
384
281
350
322
307
356
313
348
376
292
385
292
283
282
346
340
295
345
387
354
361
383
358
319
253
335
340
247
248
299
254
408
372
340
235
326
287
300
351
311
351
241
290
271
358
347
341
318
319
371
338
372
350
316
305
271
354
342
291
265
277
320
304
278
380
302
369
277
315
362
342
294
301
270
378
381
246
313
240
351
287
342
408
253
378
344
286
324
295
391
306
338
364
364
362
338
287
296
291
238
351
369
261
259
355
374
292
315
340
375
309
358
360
308
300
330
363
383
298
304
367
348
234
319
280
287
284
322
272
282
216
398
335
287
363
345
262
316
418
293
320
301
268
347
317
320
239
320
326
238
414
391
275
288
347
290
317
337
298
253
242
342
329
296
217
309
293
362
304
284
313
353
321
283
354
314
365
325
271
286
372
199
296
170
236
231
350
290
335
370
344
388
274
374
362
270
271
259
318
372
431
384
378
299
304
358
288
317
375
350
285
345
172
225
338
272
278
225
242
333
277
338
209
275
349
310
222
321
320
239
302
301
312
338
280
279
304
406
402
258
228
307
365
339
305
320
348
339
347
350
335
348
336
300
260
300
340
314
342
283
415
364
299
328
271
311
306
318
345
375
339
255
381
233
249
323
364
257
334
370
296
211
301
303
348
366
332
342
341
366
296
289
300
344
291
290
342
268
348
421
295
237
415
368
339
329
312
348
310
291
322
279
382
307
270
314
307
353
270
332
244
336
323
257
353
287
198
239
206
322
362
408
328
354
324
267
417
326
322
369
326
333
327
218
332
348
294
216
254
321
286
324
316
336
336
305
350
275
292
263
302
294
238
349
340
286
350
379
329
238
327
257
348
274
342
300
391
311
305
334
332
355
364
298
303
297
255
284
333
336
310
375
395
337
287
320
265
348
249
309
329
352
377
306
256
301
276
329
282
349
299
309
365
308
347
359
334
303
378
286
355
272
342
316
243
357
375
318
304
281
335
330
403
230
271
229
362
385
170
387
387
282
353
330
254
302
341
241
261
373
265
307
323
275
310
328
240
306
249
269
304
378
337
315
308
342
314
379
309
271
242
316
247
277
297
374
312
299
276
240
302
273
396
322
345
304
278
445
258
429
248
394
338
309
282
343
339
305
287
302
354
333
277
295
306
246
303
383
361
319
316
327
330
352
259
333
270
281
372
292
255
339
400
318
366
233
343
239
242
375
288
283
339
322
360
301
341
325
325
322
309
309
332
250
259
381
310
290
266
280
273
283
342
330
312
392
348
347
331
282
295
289
339
261
304
284
261
301
367
238
347
260
387
302
336
308
308
351
302
302
325
273
367
393
354
257
327
337
352
371
274
248
320
324
297
309
275
388
281
307
305
290
339
305
293
316
237
337
286
377
282
323
279
326
328
223
349
344
247
340
361
335
279
309
280
295
335
345
268
271
340
398
292
229
348
301
202
318
294
311
300
390
282
307
366
364
315
360
362
315
348
321
319
286
256
368
382
241
356
339
330
279
266
335
260
331
329
300
293
342
299
344
324
258
332
315
230
315
291
305
319
335
355
342
247
291
311
343
288
337
352
294
280
370
384
320
277
350
302
345
309
423
328
322
300
268
296
294
240
296
252
332
341
265
391
287
312
316
312
325
297
363
338
302
308
287
314
406
333
396
324
292
361
320
300
296
315
217
349
339
128
340
268
293
319
318
373
334
352
277
255
318
343
303
373
310
400
332
268
220
289
361
344
355
296
333
316
385
327
334
323
325
357
335
270
315
271
369
439
243
288
267
357
348
368
363
365
326
228
266
274
311
402
319
360
272
316
312
276
317
337
251
345
311
323
401
293
363
272
311
412
313
305
357
326
292
414
321
276
366
359
400
221
367
180
331
395
286
311
332
367
312
285
329
242
386
264
323
361
306
362
349
363
426
291
248
334
355
364
286
323
265
286
336
316
309
262
329
332
355
360
288
270
320
268
308
336
274
300
334
253
354
302
338
276
280
335
256
300
383
305
273
330
295
286
295
310
326
346
352
287
319
352
383
330
332
375
294
272
354
297
353
316
359
287
270
328
343
368
352
259
326
333
259
357
299
309
360
315
368
299
304
337
256
300
351
285
320
318
273
366
338
321
288
276
372
315
266
317
313
278
307
327
294
355
282
282
343
277
296
321
293
292
230
239
305
334
371
267
306
317
289
326
287
301
423
380
366
312
306
287
321
300
396
382
359
335
259
327
329
334
350
329
343
347
321
386
353
351
328
355
248
307
354
347
353
309
340
299
276
279
365
319
320
309
284
288
425
379
271
315
355
245
321
333
406
348
383
403
388
341
394
347
298
293
274
226
290
269
371
347
365
268
340
290
373
289
341
308
345
421
227
303
332
327
320
250
313
365
321
362
262
336
220
302
352
308
321
318
346
363
338
254
299
316
315
238
387
334
401
317
302
310
361
323
291
287
385
318
290
414
284
292
315
449
367
308
298
277
300
339
300
317
294
343
265
263
428
314
306
283
393
332
307
263
329
386
296
285
287
319
302
360
284
289
220
351
319
305
356
290
335
333
313
345
397
391
335
230
324
270
339
348
337
376
340
424
319
306
240
318
301
319
358
384
311
306
299
292
317
281
359
315
420
347
292
338
302
330
240
351
239
331
339
394
313
278
302
363
338
412
430
382
340
392
311
330
279
224
301
288
297
353
332
383
335
305
364
321
340
333
374
343
292
345
360
352
369
302
338
264
314
254
346
324
396
334
281
341
356
171
425
293
262
397
311
337
244
186
341
319
332
364
207
301
271
327
283
287
235
307
253
343
241
351
317
344
269
303
283
340
293
185
379
327
274
333
370
312
325
358
349
324
325
381
289
339
286
322
247
307
279
283
326
320
218
363
255
364
409
306
312
272
342
308
263
316
243
297
338
368
348
292
266
290
339
323
324
330
304
301
288
396
280
278
335
321
357
361
296
293
247
349
308
295
330
334
332
408
299
307
378
297
328
324
360
333
296
338
314
219
430
395
272
299
309
333
315
356
313
327
302
356
240
339
313
383
382
296
438
203
355
291
401
293
315
349
317
289
327
373
360
298
319
337
383
252
257
262
358
262
334
280
243
366
352
288
276
286
283
325
325
341
391
326
336
291
304
233
338
381
253
303
275
329
387
334
305
324
282
246
324
333
387
339
269
336
334
294
294
280
175
344
343
305
261
283
375
395
343
351
227
371
364
385
271
251
313
315
359
296
339
318
160
373
293
269
254
325
315
306
311
274
310
344
283
260
304
263
255
259
269
344
342
315
286
319
354
338
277
296
248
308
234
237
316
357
258
297
365
311
346
370
284
328
365
307
306
360
311
300
396
345
264
305
236
316
343
372
317
335
285
295
363
274
284
273
246
395
326
275
339
297
331
288
297
264
346
330
304
300
331
375
331
335
395
347
283
408
291
297
306
262
250
312
268
327
291
368
309
322
281
386
287
241
359
372
313
394
289
351
330
203
337
280
324
261
363
241
335
300
374
308
340
243
359
285
252
374
330
280
336
325
333
332
276
284
409
348
345
325
296
341
366
390
341
329
300
274
353
312
265
300
311
277
381
305
331
400
341
343
413
374
354
307
281
341
289
227
302
289
388
252
335
306
314
339
246
347
288
310
332
258
397
271
279
284
251
356
362
308
309
369
298
272
335
265
319
286
307
281
362
332
252
246
255
319
314
384
262
297
311
352
346
265
332
322
315
326
303
341
308
240
359
307
320
311
296
237
325
372
296
313
322
335
398
321
339
335
301
353
258
308
326
272
286
283
389
412
297
285
364
223
259
331
378
292
341
398
405
353
305
270
308
332
289
289
384
289
408
348
362
285
239
336
225
371
332
336
389
315
303
286
292
255
318
342
343
370
379
275
288
330
334
329
335
324
289
361
319
275
294
439
417
233
289
263
338
262
349
232
288
365
268
252
322
333
294
292
322
272
351
293
256
370
315
361
382
261
322
262
377
266
307
286
322
340
375
338
397
333
212
285
270
347
336
307
302
286
203
318
322
318
345
332
384
265
263
315
344
291
290
274
338
323
276
313
384
381
257
234
347
335
326
273
369
304
363
349
436
235
284
280
312
193
349
244
332
263
351
286
297
208
243
302
310
307
294
333
319
309
344
259
321
290
294
370
345
276
391
274
305
264
298
272
285
331
365
406
342
256
333
358
320
278
298
241
311
356
279
265
314
346
271
227
330
249
297
271
301
299
372
337
303
287
361
358
346
302
306
306
351
375
339
267
335
267
288
333
293
285
342
375
251
321
276
314
322
366
329
412
266
316
308
339
313
273
370
309
301
234
341
284
350
274
324
363
295
348
253
317
369
376
284
295
278
337
279
262
386
315
301
287
386
233
396
325
378
367
324
318
342
347
320
370
317
322
269
354
279
302
239
362
258
263
355
296
295
327
278
324
392
341
326
279
299
277
285
325
334
328
390
275
343
342
386
314
277
294
318
332
220
305
273
302
304
338
247
308
287
364
361
345
293
294
270
277
287
329
291
259
319
334
305
334
389
394
306
327
422
244
361
342
248
289
371
343
338
397
359
326
385
304
253
399
250
412
347
326
265
277
243
282
320
361
360
336
329
363
309
254
316
310
281
368
296
301
286
237
360
317
255
296
376
364
413
248
308
289
302
331
264
309
368
313
319
316
272
283
288
273
340
383
272
318
256
243
338
344
321
307
314
341
375
305
292
342
266
272
354
317
323
297
318
336
336
352
326
296
379
336
310
330
256
341
362
305
315
307
324
284
217
355
318
332
341
338
274
224
321
359
279
303
288
311
339
355
268
359
369
353
330
411
282
333
310
290
301
307
286
289
327
333
303
281
385
310
344
342
331
388
315
305
288
359
368
423
315
308
272
385
268
330
311
357
247
244
312
332
288
319
269
296
353
426
325
298
286
333
362
333
306
371
254
339
299
240
349
295
294
308
280
272
351
323
343
295
331
324
356
264
351
286
254
403
244
192
363
271
310
309
256
398
301
294
288
303
285
333
265
311
295
251
382
355
413
374
291
349
311
311
347
346
316
316
303
357
328
360
307
391
399
398
326
300
293
322
284
305
385
235
396
381
305
346
320
371
323
326
296
331
305
345
315
331
305
331
280
328
318
288
352
262
324
307
331
293
337
298
407
372
313
246
353
253
337
379
326
308
411
253
348
367
377
354
280
334
333
367
340
386
340
326
351
281
308
261
358
387
185
413
207
309
301
320
225
351
295
344
407
327
323
286
316
302
291
391
309
318
316
273
262
245
334
377
360
330
252
278
332
333
286
335
338
402
274
274
299
274
303
317
357
358
222
384
263
296
266
315
402
328
346
321
353
315
296
342
334
327
256
286
367
238
265
319
275
309
335
360
247
336
239
279
365
371
296
349
295
301
333
292
260
259
264
400
305
272
365
314
342
298
422
378
366
330
292
372
312
355
290
339
240
323
287
299
241
349
324
308
428
248
275
324
304
301
371
267
358
328
279
366
334
302
332
329
349
297
374
273
277
264
316
290
288
334
422
320
300
306
314
264
283
346
314
275
300
362
274
266
306
290
314
316
351
342
448
400
278
255
306
384
361
380
327
336
320
282
307
333
320
280
392
340
379
302
267
279
301
287
311
294
300
352
374
279
357
295
394
185
229
276
352
329
335
258
306
311
339
345
298
322
304
386
278
325
392
327
391
338
361
332
257
264
370
330
316
399
229
336
303
317
364
258
302
257
265
329
314
272
307
272
314
240
296
310
268
232
355
437
267
338
257
322
365
270
286
200
280
228
299
296
312
224
305
279
354
280
372
309
316
251
404
373
251
343
380
238
238
328
261
293
351
372
293
264
416
274
278
335
334
347
303
331
334
351
339
312
297
321
299
286
341
252
277
340
376
387
367
287
394
341
270
324
360
356
342
400
308
251
297
343
342
332
376
254
273
325
296
369
361
368
272
315
307
304
394
222
237
354
337
275
312
286
319
332
337
335
217
308
374
288
318
359
313
347
308
338
301
368
327
223
242
327
320
393
365
316
237
309
311
358
430
439
371
381
247
322
290
243
354
316
299
358
272
300
343
381
270
296
379
321
398
347
314
328
252
323
263
234
288
373
269
344
356
292
275
301
282
317
291
289
378
334
336
288
305
254
324
241
268
303
310
241
342
328
340
292
296
334
324
285
310
389
277
237
303
408
284
381
251
345
325
330
245
346
273
403
338
342
345
364
336
331
338
347
285
382
305
381
273
218
391
315
263
302
374
319
263
302
285
380
327
309
325
300
326
325
307
315
287
248
278
316
333
350
327
326
313
350
330
244
270
285
284
385
336
340
356
319
338
284
376
267
259
276
230
262
267
295
407
267
307
406
295
276
341
293
233
320
315
330
272
267
338
312
236
280
313
315
196
303
268
317
289
312
329
299
370
371
253
231
292
401
301
320
316
347
305
337
262
342
373
295
329
250
367
328
359
223
317
290
403
341
387
158
361
400
312
307
275
377
274
341
388
332
338
359
323
255
347
328
384
311
368
346
336
341
405
351
333
382
233
313
348
307
335
334
416
280
350
284
309
346
359
250
376
234
270
289
307
353
331
376
376
367
326
320
288
347
254
311
403
343
314
308
287
330
325
412
317
296
288
301
330
373
325
332
303
383
338
337
295
264
323
295
358
260
281
321
365
310
306
327
272
318
259
356
286
356
346
311
362
289
321
378
351
428
330
385
255
371
237
380
339
336
318
363
358
271
315
218
396
310
285
292
298
244
325
331
276
328
282
291
310
313
282
327
312
228
325
360
397
249
297
313
353
342
300
276
272
397
389
390
311
273
288
283
358
270
223
356
281
296
294
301
314
332
347
272
346
345
353
264
381
382
346
338
256
265
254
334
301
313
243
302
267
282
329
338
289
275
321
280
324
260
270
304
229
331
349
319
289
294
307
368
281
309
341
290
305
252
226
256
242
352
236
316
338
279
336
325
212
265
407
271
309
266
395
288
335
376
369
286
330
277
379
389
356
353
390
312
329
233
348
278
266
349
274
290
316
357
376
389
332
354
323
316
249
281
365
315
296
367
256
261
300
379
375
367
367
383
355
345
337
298
363
378
345
406
373
304
258
259
377
265
241
309
367
366
322
227
324
344
353
393
287
371
264
329
331
334
367
271
333
364
334
306
311
357
339
259
279
249
219
329
318
285
287
302
384
366
315
337
293
376
298
353
310
328
342
295
404
321
275
283
273
359
262
275
264
157
277
248
232
307
275
292
288
269
348
311
190
397
316
348
353
272
318
299
257
245
356
302
319
344
288
295
266
331
325
271
388
265
361
380
314
190
363
321
362
341
361
346
336
368
302
294
363
310
306
374
269
355
335
221
205
241
311
234
347
332
340
337
257
213
375
290
256
322
267
327
310
294
307
302
262
365
259
233
424
310
291
328
359
271
407
277
331
334
302
280
221
354
289
221
340
325
262
326
398
360
370
341
322
320
361
338
332
300
269
326
275
384
309
378
310
318
359
410
371
344
331
351
208
311
431
280
311
261
368
314
340
361
305
392
345
244
375
322
297
329
362
382
355
325
264
393
325
287
260
295
269
353
274
312
355
272
280
333
309
255
291
379
311
289
276
268
243
323
340
251
286
280
366
275
235
309
293
298
272
305
368
374
268
295
249
271
282
375
325
243
301
354
284
327
371
391
335
321
368
262
286
326
292
370
327
326
331
301
320
321
370
319
226
315
331
397
337
270
345
306
325
287
369
334
311
284
378
290
330
261
362
367
321
242
339
310
376
264
353
342
327
332
259
347
335
305
373
329
266
379
327
338
329
318
343
287
281
249
242
299
312
312
389
312
234
305
388
372
308
293
260
272
351
309
328
308
308
283
400
357
283
344
387
377
295
356
366
323
345
345
327
379
318
328
337
332
339
305
300
315
239
284
299
318
345
264
298
341
358
372
203
325
299
343
407
328
287
308
334
382
231
327
291
313
350
301
343
305
291
388
265
340
240
251
302
350
310
261
331
286
339
289
394
351
411
322
334
346
313
306
287
294
358
375
299
323
315
179
318
279
310
358
326
214
287
348
363
329
283
281
302
397
310
273
413
363
390
320
296
357
297
327
289
321
393
301
287
412
318
347
318
333
257
311
350
285
345
342
300
274
320
280
366
356
313
313
235
359
277
288
305
322
265
292
304
326
280
329
348
279
305
378
261
329
310
350
291
339
362
259
282
333
350
371
227
387
238
331
306
332
300
295
388
291
344
428
332
204
393
326
324
377
357
371
312
330
347
339
240
356
325
354
239
269
283
329
362
348
305
311
337
358
296
285
209
297
226
394
279
322
264
321
309
335
270
324
235
257
286
304
238
285
345
325
245
369
350
305
297
350
371
320
385
282
365
345
284
301
316
273
279
326
270
316
312
300
309
321
325
312
393
259
249
306
335
334
401
310
334
310
325
255
354
289
314
299
290
331
352
370
313
302
311
284
275
283
272
347
340
339
288
371
350
315
287
346
352
352
278
259
304
298
374
274
250
298
269
310
269
340
328
239
271
317
309
357
327
359
275
304
303
344
323
290
312
303
324
279
393
255
316
335
288
309
261
307
291
306
315
326
338
305
234
304
269
332
266
297
319
293
304
294
335
261
310
352
346
291
328
235
314
293
286
295
240
326
307
362
256
278
341
339
263
292
347
333
352
351
287
401
280
282
317
258
272
255
365
339
371
351
310
350
324
293
327
291
288
287
345
323
341
334
373
345
210
215
283
240
346
291
379
355
292
317
245
359
280
317
237
337
298
388
261
289
414
293
324
296
276
277
337
329
391
395
349
422
267
297
249
393
276
358
379
253
237
328
235
356
275
229
293
345
249
389
277
272
310
323
363
264
318
290
296
338
295
389
339
351
392
324
292
264
300
362
329
303
286
335
366
329
300
289
315
347
269
277
348
363
355
291
307
340
360
298
338
338
284
311
281
275
337
319
388
332
291
355
326
340
341
290
384
280
323
389
307
267
261
314
315
340
300
347
311
328
310
286
368
317
314
294
373
308
283
180
305
354
300
300
316
369
383
271
370
255
261
278
386
315
316
329
376
296
361
320
295
379
268
306
314
316
304
360
320
294
292
336
297
400
341
344
259
240
300
324
270
361
280
334
332
378
330
227
265
273
337
385
330
320
322
317
315
356
301
235
243
360
372
281
319
291
307
356
309
314
284
393
365
292
353
293
350
364
292
336
353
316
265
294
209
289
288
236
316
284
332
268
375
363
322
339
281
365
315
425
349
279
243
385
306
295
266
349
356
332
363
371
280
279
325
275
335
402
351
230
265
204
298
297
361
338
259
266
313
329
307
330
283
313
310
270
246
267
291
364
270
335
329
361
320
271
278
371
362
343
326
373
312
279
276
298
365
362
339
292
328
308
242
233
337
351
305
301
309
408
281
333
319
338
371
298
286
318
373
266
319
237
171
299
293
345
274
350
252
302
297
304
328
264
324
245
325
317
356
330
277
352
285
311
278
335
311
300
359
317
286
299
329
298
382
362
375
279
285
246
322
328
263
303
331
335
291
346
356
279
210
338
311
285
348
324
333
327
271
283
281
272
356
355
336
257
364
290
269
245
345
278
265
380
331
274
275
259
254
346
324
301
348
353
299
334
320
344
360
317
276
303
267
328
326
298
367
338
300
314
276
284
294
313
376
400
236
264
301
334
310
375
352
329
319
336
359
360
347
294
257
345
323
354
342
353
233
337
284
356
328
365
354
342
334
261
282
384
339
257
322
303
314
353
324
248
237
288
305
225
297
325
240
351
342
323
360
313
254
251
281
370
331
374
335
254
347
335
269
315
250
287
266
350
292
337
403
314
263
315
314
396
283
293
358
304
281
342
341
362
352
276
290
258
229
327
360
280
296
312
343
286
348
227
354
280
290
356
363
332
340
346
288
379
314
358
272
389
305
347
381
255
308
308
337
338
387
372
312
302
259
275
349
324
315
334
365
295
370
348
355
319
305
290
333
341
358
383
211
428
339
370
311
269
332
301
371
293
277
333
310
303
332
305
337
334
325
270
362
342
322
299
373
254
242
320
306
397
338
281
237
323
376
359
295
316
298
333
326
323
371
333
296
334
268
279
396
432
362
355
289
377
416
308
332
349
307
343
348
286
331
361
325
269
266
246
302
280
369
314
299
239
342
334
317
292
309
318
282
376
240
307
315
237
269
332
287
250
250
369
319
352
301
284
350
286
382
355
284
282
328
274
252
341
318
330
351
330
259
315
249
291
397
367
336
339
272
391
294
295
246
338
306
357
274
343
289
339
284
312
352
312
310
319
317
278
332
418
206
271
329
293
240
305
404
381
296
180
283
324
323
225
300
296
340
311
232
343
333
257
272
337
299
337
310
358
338
292
353
313
366
362
302
327
336
291
281
356
405
375
307
325
358
322
223
390
323
283
315
289
340
314
380
276
276
392
341
317
309
269
313
328
264
317
317
286
358
252
260
230
285
315
374
377
290
368
322
330
284
366
275
296
310
326
378
281
330
312
359
320
327
263
251
331
299
374
271
312
274
299
272
381
240
254
269
339
329
257
362
306
254
400
331
277
399
237
286
349
305
262
356
237
264
374
323
333
253
276
370
233
313
343
308
344
372
385
318
285
337
316
311
370
240
402
338
357
216
266
287
328
312
308
352
359
265
304
310
364
269
387
328
299
245
282
358
318
305
275
300
272
327
319
353
296
325
360
255
323
264
318
292
294
287
337
301
334
343
314
374
267
337
264
284
336
278
432
286
295
325
351
353
351
322
337
365
301
337
299
310
302
308
263
357
300
302
254
289
323
326
304
378
258
329
367
270
399
331
246
240
320
378
303
343
374
301
269
349
385
362
307
268
318
358
364
317
358
298
323
274
308
341
162
316
334
288
295
324
346
360
388
291
268
367
258
256
252
386
355
304
290
337
328
324
306
352
341
356
319
258
368
335
170
358
233
340
291
298
322
306
281
303
246
314
338
327
260
359
373
335
306
309
256
261
300
296
325
328
343
256
319
299
312
201
299
311
298
419
336
350
307
291
285
268
391
370
392
376
382
344
343
286
274
352
314
297
330
367
378
289
324
333
311
399
293
299
248
289
271
341
314
367
294
327
231
260
353
293
311
329
315
327
324
279
270
319
279
210
324
395
384
377
296
289
311
419
293
322
329
356
329
329
304
297
345
350
267
267
293
292
340
372
242
368
295
240
300
334
377
285
355
340
422
293
322
295
335
361
288
277
360
344
313
279
292
310
333
290
317
319
343
369
361
207
298
285
283
396
376
299
350
345
352
394
342
235
251
315
328
344
270
323
302
345
238
357
347
264
382
347
358
352
276
345
419
263
375
297
410
380
328
308
317
360
304
387
345
241
363
365
384
308
250
283
203
279
219
393
384
407
361
355
211
363
322
355
342
331
276
350
312
282
200
308
254
300
347
324
443
278
321
292
252
405
370
295
262
308
259
296
378
278
336
248
312
341
316
356
297
307
346
289
294
284
256
361
266
343
285
358
319
312
374
345
358
289
312
348
303
375
380
300
285
361
333
318
285
286
389
342
340
333
352
285
189
393
228
364
332
373
281
246
316
385
356
306
391
379
371
258
335
374
358
301
312
317
303
202
376
364
314
335
308
252
332
312
358
321
317
312
346
328
394
262
336
391
263
301
342
315
309
323
285
319
280
303
230
289
310
347
288
308
359
248
288
279
328
338
241
206
397
313
286
383
209
360
374
347
272
334
302
352
256
306
399
332
348
314
338
346
333
278
345
352
299
301
253
300
369
285
215
351
367
308
250
330
282
264
337
357
229
356
263
322
313
285
361
276
404
350
348
225
291
343
323
284
332
350
370
386
292
351
328
259
367
342
222
334
381
291
409
378
282
286
289
236
218
308
298
357
338
337
312
295
338
297
395
366
289
317
347
271
318
358
192
371
305
303
340
338
309
271
365
327
347
250
212
255
372
279
336
348
298
309
305
313
281
326
321
276
270
372
400
366
272
364
368
369
259
320
314
384
257
247
234
339
337
296
343
380
270
391
394
387
301
291
305
337
379
361
286
379
329
356
297
291
209
366
338
376
326
200
369
367
272
313
304
329
321
351
303
322
310
346
345
369
322
280
304
333
293
273
261
286
352
354
246
263
387
229
378
325
299
276
344
221
385
361
265
385
323
254
248
270
306
237
314
281
387
281
339
336
316
330
292
267
268
304
380
316
314
282
250
361
244
318
354
325
329
320
333
298
402
279
283
350
269
315
275
360
281
298
323
347
300
325
274
311
252
278
315
368
349
337
386
235
371
286
365
328
312
261
328
357
334
379
300
311
351
232
244
356
361
384
290
289
278
320
366
294
311
290
339
203
340
400
308
275
327
324
288
370
249
239
302
362
358
252
324
305
210
325
265
350
289
309
311
311
292
308
277
204
259
286
317
393
352
303
298
175
286
207
311
275
400
319
330
258
291
367
336
280
369
291
385
228
356
316
345
350
325
347
322
332
357
329
382
337
364
261
295
347
392
321
315
353
373
350
350
372
374
289
302
376
238
313
277
305
336
367
297
322
290
328
278
300
356
370
324
304
341
355
331
285
225
289
318
291
291
375
332
273
309
322
386
323
357
304
357
372
273
284
276
293
341
360
298
355
302
378
267
388
339
302
363
260
328
356
289
323
374
259
230
277
279
359
230
289
403
264
353
312
333
361
305
344
286
296
373
301
340
331
383
300
337
280
263
310
301
347
350
310
371
320
296
292
246
291
316
301
268
316
318
325
306
290
377
314
351
311
337
347
343
276
272
239
329
309
390
376
302
325
303
309
295
326
248
291
276
266
316
394
290
326
281
293
267
375
342
312
290
282
330
325
271
364
311
353
288
260
260
412
299
383
267
319
320
240
283
314
298
306
310
336
300
211
323
348
336
275
226
332
321
328
369
240
296
303
353
254
243
290
337
302
322
350
342
310
317
361
309
359
267
309
330
346
301
281
280
367
238
286
349
343
307
352
279
274
405
333
281
358
398
353
279
309
333
313
312
384
384
319
356
319
333
365
317
335
301
339
304
351
259
377
289
344
351
301
340
316
437
275
388
307
341
329
290
308
368
344
305
206
310
331
243
277
310
339
288
320
343
340
359
295
299
352
301
223
306
279
381
376
293
324
332
336
407
301
283
329
325
283
309
260
281
244
286
276
287
336
365
348
267
270
353
318
356
308
393
379
230
349
320
299
323
365
252
234
236
336
257
367
238
234
330
316
313
254
329
282
323
357
324
392
345
283
336
289
366
325
308
383
294
320
393
346
332
265
309
388
341
332
237
360
262
297
389
330
335
380
335
259
350
350
284
377
328
350
317
312
263
395
350
298
380
276
278
313
317
340
326
309
286
350
332
320
271
307
336
378
337
311
243
313
293
351
399
326
240
216
356
351
277
330
316
316
306
180
327
206
339
278
300
294
310
308
364
317
375
312
242
374
339
286
323
252
299
343
325
232
309
321
328
337
373
324
344
212
236
353
185
332
287
341
339
252
405
282
259
306
308
318
376
308
382
377
324
332
277
335
268
347
377
358
333
301
350
269
376
313
339
241
303
353
315
359
257
340
256
273
334
383
374
353
400
264
320
268
303
301
351
326
288
246
329
265
334
352
336
301
388
320
336
340
347
306
318
309
264
356
327
315
330
392
270
346
334
382
331
300
325
251
339
310
278
287
327
331
359
376
347
289
341
302
424
296
369
345
314
339
326
370
329
312
274
298
341
314
286
360
326
279
342
341
291
255
326
284
352
313
378
315
305
322
349
286
277
325
309
348
182
357
348
325
325
327
343
319
329
279
264
336
309
288
356
284
280
355
289
337
324
352
310
314
317
339
338
374
340
282
283
341
317
307
366
332
314
371
282
367
210
270
292
338
364
372
291
371
277
355
275
257
370
337
351
331
318
289
434
346
318
277
359
308
414
244
319
316
246
304
295
322
334
344
375
291
334
374
347
327
374
325
338
297
372
201
352
333
272
292
254
379
216
331
337
278
335
369
361
278
309
296
394
334
280
301
348
312
292
353
364
409
315
308
295
319
351
296
220
328
324
206
406
302
271
329
307
308
256
346
352
216
326
302
296
325
313
361
287
336
249
252
285
370
367
307
297
344
294
343
307
370
303
254
268
223
406
300
328
260
394
366
281
281
222
234
322
235
366
282
313
317
283
368
355
307
333
335
357
267
297
306
312
345
217
279
285
437
295
349
302
338
305
359
254
342
356
312
388
234
359
370
299
353
364
379
302
275
312
290
324
302
383
328
288
266
267
283
309
310
385
311
291
351
224
321
354
329
334
341
358
311
276
382
300
371
329
339
372
372
354
302
289
414
299
326
349
243
305
270
224
291
388
331
245
273
314
313
327
339
332
262
340
326
381
334
270
228
293
316
320
321
399
342
305
238
308
290
308
372
302
318
325
383
290
278
303
364
246
348
351
315
248
290
336
305
330
311
317
310
329
296
287
318
432
288
240
360
251
347
357
300
225
278
340
248
394
307
310
227
345
305
332
271
301
411
306
327
328
319
369
307
408
331
377
270
334
293
245
287
280
267
265
309
338
293
299
252
230
280
327
360
338
399
309
315
340
229
382
287
378
261
263
264
385
327
260
383
282
224
362
206
365
351
379
329
314
315
393
276
336
254
269
224
413
273
279
248
365
358
275
252
356
338
267
336
385
266
282
373
352
333
256
298
314
248
325
278
302
317
328
355
365
354
311
300
292
318
289
270
277
271
306
410
316
323
339
333
268
282
305
319
366
335
351
289
395
314
437
336
340
303
338
344
313
341
381
325
283
292
319
361
309
309
375
242
273
331
318
282
299
349
343
399
243
311
369
330
341
274
357
344
265
345
325
358
362
339
350
269
356
344
356
351
321
265
276
352
334
386
331
253
299
331
324
320
335
339
265
260
341
384
244
233
230
326
348
293
336
304
228
374
357
282
331
316
358
214
243
343
307
273
198
229
314
343
314
362
274
304
365
397
330
287
345
349
278
262
386
312
354
266
347
308
261
347
317
408
299
346
290
340
349
354
332
349
319
299
371
365
224
322
372
357
349
309
370
287
254
323
288
361
288
288
303
288
335
299
347
332
401
352
295
318
271
373
259
263
309
380
362
280
362
322
345
347
400
249
307
380
322
320
349
296
247
239
343
373
333
325
326
290
332
283
315
246
305
344
305
351
297
277
342
315
309
331
267
327
284
259
246
317
275
285
303
350
288
293
349
292
322
339
364
357
269
317
256
284
314
342
338
279
374
288
248
301
270
287
322
239
303
282
355
335
309
335
348
370
232
427
376
361
299
427
353
361
297
336
372
272
322
341
291
358
332
327
256
289
276
281
319
357
337
388
329
321
262
319
349
265
332
340
240
270
317
322
244
282
325
307
342
290
241
319
316
354
245
308
364
320
263
311
337
287
304
306
343
352
312
380
318
248
280
344
362
359
335
328
327
372
349
338
294
366
291
343
348
351
287
378
229
279
266
325
282
337
356
309
324
357
303
226
312
245
343
343
299
324
313
311
299
365
311
325
315
220
368
264
243
299
345
217
304
330
336
277
317
308
350
336
264
289
325
228
305
364
356
345
406
279
399
346
399
326
309
245
314
243
361
330
232
258
331
314
295
375
331
378
355
346
327
314
254
274
293
295
299
271
361
316
284
316
336
282
345
264
380
308
216
381
342
375
242
336
240
335
260
256
355
330
316
294
357
344
296
383
291
366
297
361
271
333
317
345
283
328
319
362
377
298
321
284
218
406
288
325
273
290
341
211
369
327
410
330
322
332
277
336
362
364
374
277
319
377
402
352
230
253
356
295
406
251
343
318
330
310
315
332
269
385
366
334
280
241
301
319
321
368
280
383
330
284
341
397
409
243
356
318
327
308
349
318
319
336
251
433
324
358
304
336
404
235
325
420
257
307
311
262
220
281
349
334
367
321
215
243
339
391
353
276
292
306
296
328
336
304
319
299
348
349
303
323
352
321
360
298
287
392
352
199
311
320
331
311
320
276
209
282
291
316
328
289
323
358
285
277
342
291
273
360
365
271
326
381
358
374
274
317
313
341
344
356
302
299
307
294
297
301
309
400
256
314
210
313
319
293
312
279
314
319
331
333
275
329
315
314
324
273
308
353
293
300
293
305
250
290
339
291
254
212
257
257
272
351
353
302
339
285
296
368
194
310
401
276
309
301
304
270
300
387
294
386
314
406
348
252
346
306
325
355
338
389
326
339
309
444
247
373
291
331
344
306
290
361
354
306
362
372
312
271
320
315
317
328
318
403
351
295
307
319
237
257
318
350
291
255
252
390
335
310
350
416
415
390
344
288
282
199
379
296
361
293
185
247
380
283
288
370
273
344
310
374
271
342
358
371
362
322
319
252
314
313
311
387
289
324
253
300
327
336
313
374
328
318
310
315
321
322
351
270
318
337
296
300
346
409
360
297
375
322
295
334
269
330
271
366
307
313
320
333
392
284
317
292
304
272
404
284
399
354
324
245
327
300
317
354
369
383
391
265
318
400
338
378
304
338
286
327
184
306
348
381
321
284
248
304
423
331
369
358
325
319
323
306
301
340
324
300
250
256
230
291
312
341
331
316
270
322
335
366
380
413
334
349
301
384
331
378
327
322
323
287
279
228
287
327
425
331
365
299
276
363
350
325
320
267
288
325
358
279
284
244
296
322
187
240
293
305
323
365
340
368
309
364
341
324
338
408
273
238
272
330
278
370
332
329
277
364
205
381
331
279
298
191
359
252
255
306
333
378
318
311
288
282
319
303
400
333
301
330
346
326
264
257
337
329
392
304
329
282
344
310
311
291
292
343
304
316
322
300
317
325
267
287
348
286
294
310
276
343
345
257
262
311
247
378
342
337
370
242
295
290
365
282
341
251
360
196
284
232
301
293
386
306
247
306
301
339
287
315
292
338
313
307
322
326
319
266
304
296
323
354
313
275
335
339
337
284
307
267
276
278
378
360
299
361
380
268
316
370
309
330
344
360
356
263
325
272
320
302
346
299
269
355
315
359
370
314
370
224
263
300
328
303
396
320
308
311
410
314
276
284
331
213
214
241
326
387
322
262
364
275
303
236
307
312
321
267
322
320
324
218
364
283
252
284
355
338
219
308
344
369
371
290
297
277
332
353
325
322
250
286
307
311
252
367
303
373
307
280
340
343
372
270
365
369
395
401
272
371
308
326
344
300
306
341
315
327
295
389
284
238
294
333
313
273
280
291
264
264
341
297
329
324
366
334
314
354
319
246
296
276
251
348
316
331
346
333
311
305
350
327
295
352
323
292
371
283
319
379
301
289
268
357
295
310
330
373
360
287
266
362
300
296
306
336
295
385
270
230
352
241
281
318
272
368
405
355
326
339
334
307
315
350
289
329
316
387
329
296
317
320
264
392
322
315
346
327
313
363
320
336
423
368
376
268
315
327
319
363
237
294
278
322
303
388
273
285
376
337
327
238
248
322
327
271
367
332
284
298
285
303
231
315
339
267
365
311
316
293
331
346
264
223
400
280
271
411
258
266
292
294
332
293
281
358
324
303
256
392
281
273
294
271
405
317
373
285
277
323
256
305
314
375
330
264
269
278
286
367
388
326
374
326
326
266
297
233
297
262
201
308
363
327
353
201
405
413
327
351
274
299
386
305
322
356
322
274
314
272
349
344
292
398
303
305
267
302
370
321
335
287
233
327
345
362
273
393
377
365
384
379
358
355
251
310
311
313
328
309
307
217
338
283
251
298
342
310
380
215
328
317
332
367
383
312
340
357
287
355
302
400
264
238
409
364
314
339
364
346
251
339
360
352
311
351
387
441
395
437
327
291
244
320
332
261
289
342
238
263
262
382
383
276
221
320
429
316
264
396
333
351
322
291
403
368
381
335
385
284
351
285
315
323
346
236
355
305
308
317
325
262
286
348
308
299
299
334
235
294
311
317
333
338
294
311
334
361
300
332
335
327
333
395
295
296
323
381
324
307
329
292
317
291
327
258
327
345
366
374
282
294
292
303
358
326
278
329
317
322
332
322
187
283
311
271
313
378
306
339
366
313
360
342
281
334
315
392
294
333
311
238
290
407
275
360
372
310
228
357
321
242
287
300
311
292
326
315
384
322
321
305
334
286
338
299
340
273
327
391
235
344
251
405
261
329
309
409
327
342
343
344
338
342
322
309
245
258
281
290
212
268
420
339
295
409
351
198
334
375
304
290
368
321
306
288
285
289
309
282
329
313
257
313
362
317
291
355
330
239
311
292
281
327
364
316
347
318
270
285
307
325
328
285
419
418
274
287
352
347
241
320
275
327
340
285
304
432
233
284
345
359
345
290
389
320
385
324
268
316
264
273
315
382
261
308
328
352
339
282
320
337
314
334
304
380
300
306
289
330
302
320
318
260
324
340
350
245
359
403
270
351
402
321
320
288
367
229
349
284
329
368
282
345
341
353
315
328
285
312
336
344
337
305
334
311
332
297
325
349
145
296
347
326
311
339
276
319
332
253
291
301
386
349
333
307
257
288
222
321
332
348
274
361
327
207
331
377
281
309
310
323
334
338
275
321
307
329
236
328
244
301
357
303
348
277
190
315
397
321
280
286
227
360
389
327
382
208
375
173
313
282
327
349
295
349
385
319
332
318
291
326
378
318
325
356
324
279
286
288
219
370
350
390
372
337
244
299
294
308
340
321
406
293
335
312
317
307
283
298
282
352
251
346
314
245
328
288
328
244
338
348
386
264
350
280
368
379
272
336
294
307
333
293
323
313
295
339
285
315
308
374
289
314
297
323
317
274
266
376
325
355
298
362
324
321
259
359
338
299
348
311
239
366
347
339
357
208
312
230
320
251
348
301
406
327
220
210
377
312
389
257
307
316
335
303
248
291
374
338
304
354
318
355
340
400
383
331
313
274
320
308
404
347
260
293
285
377
343
400
266
333
287
352
361
292
295
339
320
289
355
427
314
259
296
290
221
307
331
398
263
386
329
372
269
380
381
270
343
285
309
313
322
349
322
255
375
252
286
331
281
346
332
294
341
284
299
302
293
371
260
353
319
274
321
363
264
317
311
265
280
275
307
314
293
400
320
302
257
333
282
246
201
241
376
261
251
323
346
258
348
342
290
217
278
274
423
361
289
272
377
280
371
344
342
284
276
315
367
392
214
389
371
304
374
267
239
351
334
321
311
279
261
319
266
325
297
304
337
249
361
323
329
290
307
350
414
337
328
332
325
306
238
319
262
271
287
330
258
363
309
347
295
329
278
388
217
284
271
331
327
308
317
280
343
335
344
378
419
330
323
344
334
256
345
254
309
294
338
297
400
339
309
235
307
305
340
260
274
356
288
252
260
303
367
285
363
342
304
278
357
326
299
270
311
294
313
316
287
257
278
323
357
267
334
334
321
291
284
292
335
315
279
322
241
339
368
343
287
263
271
271
367
251
279
263
275
325
356
306
368
269
311
290
358
351
389
308
406
338
294
272
258
334
300
265
371
279
277
271
297
329
361
255
372
378
260
319
334
300
381
306
418
338
375
349
261
301
339
241
275
331
285
279
260
240
310
366
370
355
320
320
307
345
305
313
407
343
320
306
348
365
336
361
256
328
286
435
315
256
320
322
304
360
294
357
293
299
412
381
342
251
324
246
337
231
275
218
308
269
275
299
218
287
356
253
276
350
392
284
399
358
332
350
294
329
295
395
258
328
352
222
259
269
229
257
267
358
228
340
332
359
344
345
407
355
309
342
363
358
366
350
379
301
305
311
359
336
310
386
278
352
245
297
352
349
170
409
319
324
383
258
327
312
326
329
284
230
263
366
354
345
358
354
260
305
327
318
399
256
261
339
264
306
356
353
337
266
367
260
362
270
348
344
223
330
353
227
339
275
331
347
272
317
311
321
277
354
300
332
397
307
281
234
271
369
318
306
282
335
319
343
301
328
311
312
324
368
426
260
248
285
280
371
285
306
321
356
336
357
271
317
302
352
303
339
349
239
301
224
305
341
317
312
374
329
280
352
270
313
311
303
284
364
244
293
339
321
289
392
287
296
357
358
405
420
316
363
300
325
356
345
366
337
304
282
302
381
346
363
379
352
303
248
335
262
312
363
297
374
299
261
319
402
300
310
287
401
389
297
234
307
345
345
249
320
343
273
246
310
309
301
235
305
357
290
278
345
326
366
362
259
286
261
325
328
344
338
335
274
338
389
308
372
294
290
377
243
350
370
420
320
348
342
220
352
350
302
266
369
306
337
341
293
293
326
329
290
334
305
331
280
289
364
355
335
384
261
351
400
337
257
306
362
410
317
276
282
239
323
274
329
299
361
341
308
347
397
330
289
311
356
261
324
273
291
348
344
263
314
280
272
351
382
330
299
324
373
324
383
342
361
403
308
341
317
350
264
316
313
324
281
333
292
329
338
315
334
192
396
331
332
380
290
279
272
339
431
301
321
343
332
397
341
305
268
266
241
269
326
338
316
274
258
316
260
326
271
215
229
312
362
322
316
272
281
319
311
379
292
307
319
318
381
271
292
347
288
323
262
375
303
275
273
293
364
289
286
407
311
414
331
242
339
281
349
276
312
376
417
268
350
351
343
316
294
299
295
304
319
266
295
350
276
336
332
280
333
256
312
286
251
278
393
297
269
298
269
336
328
320
226
328
346
350
369
288
374
314
314
267
344
276
279
364
390
336
307
367
295
340
305
284
296
227
291
277
365
397
237
346
245
315
410
313
274
347
318
252
286
282
291
277
284
377
397
339
256
308
329
289
294
264
278
305
316
327
304
321
341
371
294
296
295
344
348
327
250
251
265
313
324
347
348
324
314
271
304
269
228
295
265
333
352
300
327
388
404
291
339
287
310
305
310
257
283
254
373
273
310
292
248
322
301
320
310
270
307
301
317
307
257
313
287
381
278
277
307
339
352
362
381
381
338
305
310
284
272
325
357
276
311
294
202
307
292
331
369
316
387
280
347
312
356
278
300
274
374
341
376
355
316
351
267
394
338
243
335
382
374
328
337
241
329
312
297
295
374
314
242
266
288
384
224
279
336
310
421
312
273
286
289
339
267
361
380
309
290
292
288
321
309
319
279
344
391
318
225
347
314
265
311
277
302
348
390
263
380
377
334
285
288
389
344
352
333
395
317
333
319
342
323
354
328
363
396
348
317
297
230
342
342
258
354
343
300
265
325
339
350
279
347
297
343
267
269
353
349
359
360
303
319
288
305
391
277
217
366
264
260
366
320
345
265
343
320
306
366
321
376
390
342
340
331
382
285
413
385
335
331
409
335
338
400
250
371
292
385
281
252
236
295
346
301
324
357
387
313
335
311
289
376
342
343
302
299
327
268
339
366
429
377
361
313
347
357
284
281
328
349
317
391
267
267
279
317
353
355
345
303
375
293
268
356
316
367
296
370
328
351
327
274
213
321
319
290
242
288
307
262
324
339
290
375
306
348
274
291
249
242
315
335
312
206
354
356
309
303
305
337
312
387
294
246
331
378
373
392
301
364
287
302
313
401
328
338
366
275
337
282
348
372
317
234
395
333
378
259
315
274
332
384
309
334
344
400
197
286
286
325
317
264
306
250
337
286
358
340
264
284
351
284
302
261
334
337
295
298
358
310
349
277
313
308
319
365
232
271
170
353
293
311
331
370
335
296
271
336
317
343
274
309
345
319
298
353
240
350
272
302
315
253
280
293
345
296
299
331
331
318
313
362
349
315
325
302
298
340
384
331
377
237
395
227
336
276
329
307
312
273
297
243
259
308
294
393
372
294
329
344
294
308
341
271
325
358
360
323
292
303
284
320
328
232
232
319
281
246
346
274
277
333
298
333
364
347
379
406
283
349
271
271
358
351
287
278
295
320
303
292
333
292
311
281
386
318
309
296
326
274
332
329
316
338
280
317
274
371
349
371
321
370
356
308
304
301
302
400
388
295
379
257
276
350
409
327
284
295
271
374
346
374
326
272
329
329
356
246
319
259
336
285
362
281
357
293
287
292
301
322
382
347
379
277
373
311
255
283
290
230
289
293
304
317
313
392
251
333
261
338
246
284
262
234
358
302
298
269
286
328
353
350
321
248
255
330
353
300
318
316
285
352
308
283
303
347
301
335
354
288
315
278
268
336
369
285
303
280
306
389
302
372
296
293
347
256
273
292
246
308
253
324
312
324
301
316
364
281
283
338
339
335
365
362
384
238
376
359
309
335
313
302
272
325
317
370
259
306
256
253
383
325
326
281
309
246
310
314
330
288
304
342
348
258
251
293
309
349
327
274
392
313
275
333
266
431
358
317
313
359
175
341
318
401
354
317
316
325
316
309
395
364
321
293
297
357
281
306
330
265
270
296
365
377
271
389
336
301
303
302
372
320
250
295
229
372
259
364
251
232
290
362
399
359
338
332
313
267
342
281
362
349
398
258
327
419
298
320
255
313
338
341
333
354
246
331
282
369
372
327
381
299
305
371
362
305
204
362
275
340
364
255
314
337
335
356
386
287
293
342
310
230
330
286
254
333
301
336
395
379
306
422
345
384
313
255
327
352
363
319
337
269
307
398
299
239
333
314
356
325
327
207
311
346
378
229
374
343
323
345
312
288
382
327
293
264
334
289
282
296
302
361
267
323
253
293
286
282
359
357
228
300
323
359
407
310
181
338
315
266
335
300
247
301
325
286
258
271
288
385
342
289
339
284
305
326
312
348
359
288
260
337
343
309
355
332
365
320
298
305
342
271
331
234
253
356
382
314
346
402
329
331
386
245
338
349
416
260
281
310
283
288
330
284
345
341
279
298
392
354
340
295
357
287
214
280
334
384
254
280
347
336
367
246
340
317
283
283
248
354
368
322
362
361
335
343
290
365
310
360
309
299
312
302
262
231
325
338
320
297
326
290
231
316
246
311
286
315
225
303
319
313
238
277
323
324
315
330
261
287
278
284
218
315
272
381
267
328
312
302
266
254
355
310
304
349
381
331
328
272
334
368
372
381
272
315
317
344
318
376
279
326
233
325
299
305
253
355
286
280
325
362
372
394
373
249
292
296
302
253
310
386
295
265
290
355
316
265
307
212
324
349
341
389
369
335
329
245
234
353
242
292
337
294
278
320
340
206
339
233
288
328
298
312
298
338
334
247
380
328
302
284
356
335
245
380
331
327
323
271
299
292
336
275
363
254
286
301
350
314
365
254
311
246
269
381
370
290
235
370
340
332
381
358
259
252
274
312
289
258
327
354
312
268
321
325
341
325
280
332
215
322
374
313
252
238
291
381
311
300
313
349
350
369
327
310
230
291
312
330
362
379
361
287
322
324
384
301
317
351
363
319
369
367
294
264
320
268
351
382
367
346
379
380
351
257
282
251
295
380
280
329
286
364
354
362
304
340
299
297
378
342
307
241
286
342
313
301
319
290
347
285
298
334
333
375
280
256
303
364
273
250
282
299
338
247
312
269
331
216
328
331
348
293
344
273
358
325
348
319
348
336
275
345
337
330
324
264
283
385
326
294
342
329
362
273
314
337
292
272
370
214
334
386
341
415
396
277
321
335
373
310
336
301
265
305
295
317
296
326
330
346
292
326
326
265
351
354
327
230
288
370
336
354
356
339
350
282
325
334
338
257
339
308
280
309
355
371
367
284
289
289
329
335
364
256
309
298
333
266
422
280
267
321
339
289
284
285
280
408
383
303
241
333
245
333
258
316
387
332
334
318
375
336
274
377
327
303
241
300
290
311
319
284
321
354
226
231
332
389
323
276
280
328
339
357
273
300
266
285
336
386
357
346
316
259
257
261
361
279
318
327
391
267
356
288
380
323
323
265
435
368
314
330
283
361
295
377
386
202
296
305
348
367
310
319
389
254
249
289
318
328
291
352
262
450
256
225
366
296
329
265
294
315
258
307
308
298
332
278
287
355
349
327
249
323
415
249
359
350
370
304
393
382
281
403
286
328
292
352
370
307
313
328
371
325
344
314
300
349
360
353
334
281
341
340
295
312
282
394
362
379
368
307
293
344
234
338
293
374
361
382
305
411
301
253
352
332
349
272
350
363
387
263
281
307
377
248
307
285
274
352
380
297
296
399
337
271
265
350
313
335
348
322
310
284
285
257
368
314
270
316
232
275
304
324
318
317
361
289
339
287
317
296
232
364
379
331
393
240
342
318
244
290
313
351
343
324
366
260
299
353
299
325
254
363
348
365
275
354
388
352
270
351
271
421
326
330
237
350
354
370
339
294
322
269
354
250
253
321
390
342
247
329
213
274
326
261
293
345
322
304
325
306
248
358
291
275
365
253
304
333
316
321
329
234
271
337
243
343
313
359
371
281
365
281
331
335
318
220
290
374
303
311
311
344
367
322
289
283
233
397
316
346
341
302
275
285
286
287
355
335
344
276
316
252
280
383
358
310
338
277
422
328
269
368
357
363
241
373
252
350
273
229
302
349
303
198
296
329
321
338
337
321
319
302
320
270
361
278
261
279
343
235
314
278
297
259
348
274
258
353
295
261
227
306
376
310
325
223
374
348
272
323
351
309
242
337
250
393
313
281
280
272
356
277
288
294
309
272
344
240
296
242
262
287
260
417
291
350
314
309
293
352
320
355
287
321
297
324
228
369
335
321
345
338
347
235
249
233
349
282
257
312
326
297
328
296
423
294
221
295
369
347
291
302
364
311
269
391
261
227
283
324
397
325
322
313
325
339
352
326
286
329
304
324
273
366
223
355
300
322
317
308
266
267
390
303
318
360
364
347
379
297
303
248
311
416
334
293
372
371
255
332
255
263
369
353
309
333
226
383
327
325
308
393
303
305
330
377
276
249
317
337
304
283
288
300
318
296
267
208
338
264
256
335
370
302
356
216
289
289
316
332
252
350
350
324
315
304
359
327
312
383
271
323
286
320
355
322
274
301
308
254
322
264
369
327
242
336
246
363
357
374
278
442
322
310
375
336
355
254
366
283
269
226
306
257
303
339
264
222
268
353
319
366
321
357
389
304
273
368
311
297
321
303
350
340
293
348
345
379
255
304
305
336
368
319
311
308
349
258
314
274
330
318
286
330
395
326
289
384
302
300
288
294
205
363
339
361
278
286
313
315
335
277
271
346
289
301
333
271
262
343
334
308
300
284
305
292
234
320
280
320
335
322
309
322
271
296
266
367
263
297
301
412
267
382
266
263
314
257
371
308
376
279
354
222
338
277
343
354
347
268
283
297
338
363
309
465
345
304
338
270
274
401
355
305
326
334
320
254
391
270
370
268
266
353
352
293
330
281
310
298
285
344
325
314
297
360
381
338
245
370
312
331
302
339
194
377
424
297
321
277
340
174
225
283
316
396
357
395
327
212
367
342
349
350
317
249
315
340
325
304
336
368
387
255
323
385
306
297
273
360
412
260
221
242
317
301
265
305
267
347
352
280
315
328
260
252
175
357
330
323
318
262
335
343
352
364
330
279
254
308
302
239
368
342
343
286
320
337
341
295
305
331
328
318
260
289
242
310
346
308
326
272
309
288
343
371
398
260
387
372
253
374
262
266
339
312
328
353
369
332
280
357
253
329
276
363
323
358
244
303
389
277
366
247
272
313
392
312
243
292
316
275
306
416
343
267
367
332
332
333
377
320
296
337
266
337
338
253
323
308
311
340
304
283
248
334
289
300
325
277
268
388
343
314
418
330
340
353
271
314
328
365
336
364
262
308
294
292
288
262
293
366
265
335
335
361
290
183
304
295
352
245
352
347
258
209
273
332
326
345
323
274
323
293
303
345
371
309
327
353
352
336
272
378
322
358
205
335
368
396
309
303
250
396
245
285
286
268
323
315
298
312
262
340
328
319
293
294
252
238
263
321
330
309
355
348
252
266
295
270
293
322
320
369
243
355
328
294
261
300
301
288
269
375
276
308
369
327
340
310
259
367
319
287
352
283
312
372
245
374
333
208
373
319
249
266
339
198
319
285
391
297
317
323
342
299
323
298
337
304
289
295
375
252
340
336
359
336
312
288
273
266
365
403
318
285
327
388
309
384
367
314
324
216
335
338
321
323
320
321
270
247
407
336
314
285
322
333
389
291
373
289
328
289
332
250
264
293
344
286
272
287
318
305
323
242
283
342
227
385
390
350
381
298
260
280
343
398
369
282
285
284
318
218
392
333
395
336
421
250
255
367
320
326
358
332
338
294
381
389
301
314
243
245
270
337
296
388
339
358
320
291
345
304
313
296
289
228
299
273
348
309
348
319
361
276
385
389
329
284
276
303
305
257
326
291
367
242
313
393
280
374
336
256
267
329
317
328
298
262
273
300
263
307
396
333
301
276
336
300
321
327
280
295
329
287
378
323
409
336
301
295
307
337
261
308
374
296
340
367
344
354
292
255
288
333
357
353
342
428
245
300
349
247
324
395
324
300
230
398
367
349
368
266
283
326
334
268
320
327
220
291
292
355
299
426
357
338
348
276
407
283
304
384
335
313
375
356
379
363
401
326
302
360
274
424
286
256
374
322
346
299
336
316
313
356
286
307
333
274
348
347
313
281
350
377
275
293
275
323
323
343
327
340
336
271
330
322
245
343
329
361
333
340
243
324
307
385
373
305
351
332
328
298
312
333
348
323
299
311
275
233
345
328
318
272
388
352
385
357
251
340
284
394
318
304
368
244
326
336
249
280
310
279
330
258
421
277
301
282
395
334
304
256
328
368
349
298
311
393
273
267
364
285
313
393
333
295
296
271
318
303
328
305
319
254
361
229
330
348
319
289
288
291
296
243
300
320
378
355
227
314
352
349
332
386
284
239
282
351
323
292
364
266
296
299
389
312
377
276
311
262
287
352
260
304
397
332
295
248
265
319
360
265
345
335
306
389
304
356
337
303
296
324
282
357
271
387
271
346
372
286
312
360
367
204
234
274
356
364
364
312
283
393
290
312
215
317
373
340
331
305
216
372
376
286
364
302
274
292
282
191
303
266
361
264
348
346
276
294
326
305
323
281
227
344
305
290
241
292
235
324
340
290
336
371
350
289
345
319
265
330
396
299
357
248
197
376
248
295
323
339
354
283
327
309
354
315
349
276
275
417
303
246
354
385
304
312
315
311
293
321
318
320
292
339
286
352
419
253
285
386
281
350
263
286
333
248
329
361
299
252
313
355
372
342
301
347
335
311
368
304
313
330
317
328
327
381
385
300
343
342
268
273
302
341
308
316
295
270
287
459
321
300
322
277
317
328
291
348
350
328
344
369
339
273
292
337
290
286
309
307
279
211
330
259
373
352
243
325
219
310
336
257
273
358
288
386
250
291
233
336
326
291
231
395
288
272
408
282
348
266
272
290
360
287
339
283
278
298
242
263
295
316
303
316
331
352
288
283
356
364
301
342
288
311
413
324
274
280
325
325
312
423
382
347
251
239
346
300
255
302
296
327
319
251
275
255
258
214
292
240
326
297
275
370
360
293
355
287
242
331
312
355
354
387
376
390
299
234
292
298
303
271
280
344
251
255
314
304
362
297
353
318
357
319
285
354
369
308
289
297
243
322
273
305
246
237
333
409
396
382
247
277
301
353
315
287
318
327
345
348
417
309
387
234
362
245
290
324
295
323
299
366
322
294
362
275
265
314
317
235
323
390
368
329
314
382
309
328
288
291
274
267
358
289
326
299
415
245
330
332
258
271
285
364
348
321
298
271
279
392
320
287
298
263
310
403
273
328
337
299
364
246
316
338
364
301
318
327
322
387
295
308
333
361
317
335
315
254
368
282
318
293
354
350
409
346
351
325
321
348
329
306
336
353
325
253
375
383
343
372
359
327
287
267
313
335
290
291
315
309
306
337
288
328
277
357
338
276
372
329
301
314
362
325
276
316
322
297
377
259
284
263
312
404
351
365
317
318
359
295
304
321
296
278
274
337
285
326
341
301
270
278
258
335
282
278
392
267
351
299
395
327
311
235
238
267
376
369
305
277
257
316
286
213
337
259
276
286
258
295
337
255
283
325
287
326
294
251
324
284
329
277
276
324
302
342
308
258
258
201
352
250
329
311
301
190
332
390
289
272
329
354
351
412
303
331
275
292
322
292
370
251
321
240
339
363
305
314
318
376
301
273
273
358
311
347
318
303
378
353
250
318
306
409
301
239
297
370
343
308
266
239
286
256
275
349
336
239
306
276
337
283
268
252
369
360
254
332
346
296
274
374
260
360
280
336
355
360
277
273
323
346
240
199
259
298
351
371
215
284
298
339
247
341
397
333
297
307
313
321
352
313
322
315
338
362
328
261
346
317
327
293
266
305
235
380
297
361
243
304
374
288
307
290
276
391
308
291
305
318
293
290
290
344
218
295
323
254
271
380
383
277
331
328
347
316
406
251
375
295
348
266
312
284
341
269
311
297
292
299
293
318
260
361
338
312
298
280
237
347
307
332
296
239
337
372
329
300
329
215
257
265
229
360
294
292
336
352
287
332
315
286
341
343
315
310
323
368
280
360
337
313
351
330
254
287
320
337
388
306
266
301
303
294
354
363
335
333
350
256
279
370
365
308
325
338
236
352
313
307
307
333
335
293
409
402
402
329
256
338
333
281
228
255
245
336
308
324
306
264
178
336
235
383
306
271
360
393
299
266
372
297
255
351
333
314
379
263
318
321
380
292
300
362
312
332
335
391
329
347
344
300
295
335
310
264
316
289
248
315
326
254
302
357
286
328
334
275
298
402
381
336
382
288
398
340
324
299
289
338
270
252
349
345
345
331
360
278
343
260
257
358
337
307
343
296
311
345
313
303
405
315
383
302
324
304
348
258
295
321
300
328
328
310
284
319
308
369
321
254
316
359
314
256
298
351
324
317
344
338
275
329
259
332
367
330
360
359
314
352
299
294
316
253
379
359
380
323
312
304
360
270
319
272
292
300
337
346
377
334
308
312
357
295
316
349
298
425
340
309
316
247
268
369
318
293
305
273
365
290
377
374
335
359
322
283
344
354
234
320
275
300
338
278
312
335
383
315
272
347
364
284
314
274
350
332
337
348
286
266
371
302
330
319
257
298
364
384
273
303
301
366
318
354
340
218
320
361
309
295
373
346
295
311
331
355
340
329
307
394
343
314
274
278
310
349
250
233
332
303
303
255
272
312
287
313
380
300
275
361
310
293
310
306
306
310
271
277
259
351
331
329
255
351
278
275
356
248
292
276
237
274
297
243
345
262
303
309
309
334
366
297
313
380
362
342
314
270
296
346
334
332
326
190
385
337
395
262
294
340
383
317
305
295
306
276
262
382
406
321
402
292
293
350
289
331
314
353
313
283
283
313
316
287
337
343
313
229
285
267
314
293
265
336
345
363
325
364
425
287
304
333
320
227
315
339
366
276
366
345
348
308
267
354
298
341
322
263
323
322
335
256
380
360
323
400
309
354
257
332
266
221
386
351
331
309
318
231
329
317
306
330
294
380
356
335
232
355
369
327
273
344
328
254
355
319
304
278
343
279
313
365
320
267
303
335
306
328
271
280
384
333
310
306
338
343
327
340
304
384
398
337
343
323
327
357
363
350
351
320
337
301
335
317
310
309
299
313
324
358
293
392
306
282
307
362
342
317
376
318
383
270
353
367
415
313
339
329
278
253
255
297
302
293
346
298
298
327
372
428
359
246
384
299
319
271
359
406
336
283
320
271
351
363
315
357
264
282
312
347
416
318
304
337
286
341
314
317
247
313
327
307
386
360
274
315
271
352
261
304
341
240
334
259
252
352
316
393
319
334
265
402
317
314
400
296
293
298
329
332
280
346
249
307
342
367
281
323
373
370
298
226
299
363
204
345
271
250
340
378
322
276
298
345
330
298
280
302
360
315
256
335
346
313
312
202
279
343
291
330
265
280
327
397
318
325
402
316
307
288
419
261
329
211
362
376
320
306
350
304
306
293
359
345
329
312
280
318
374
358
227
243
298
325
350
305
360
342
357
306
262
300
336
303
367
336
344
322
362
375
250
281
249
302
344
337
302
282
293
362
312
352
342
330
277
315
272
281
321
354
438
305
328
255
353
299
228
405
349
285
267
254
352
256
278
419
293
377
292
270
303
387
245
257
320
313
333
356
318
299
274
344
315
332
332
293
271
345
334
316
329
291
354
348
296
272
288
316
328
245
335
381
263
347
358
337
352
388
286
320
267
244
272
376
323
307
364
406
299
371
249
312
277
308
345
318
272
288
298
346
267
311
298
243
287
260
325
312
314
294
297
371
280
327
324
266
416
169
341
335
390
307
346
225
307
418
307
351
273
282
361
258
223
245
250
263
284
335
272
323
334
285
316
261
332
319
238
256
274
335
331
301
344
254
290
388
274
293
240
289
272
319
303
274
346
327
276
386
359
276
340
348
331
363
365
234
306
288
334
255
360
370
254
286
301
331
411
350
260
369
322
339
316
249
376
301
349
266
301
387
355
229
314
358
357
345
222
287
297
305
298
279
369
326
326
265
216
351
304
319
268
360
295
319
311
285
315
307
397
277
325
320
390
356
383
299
361
381
371
371
380
373
311
273
195
330
253
220
379
336
315
321
381
355
354
257
324
301
320
364
268
338
348
320
181
326
356
352
358
320
276
333
298
284
228
315
341
366
363
335
370
301
244
328
367
257
329
316
335
346
347
284
275
320
328
293
335
292
285
334
312
318
358
239
366
209
292
286
293
289
227
276
285
375
308
307
306
330
292
289
341
321
337
335
381
335
320
373
303
362
245
316
385
311
326
260
277
301
330
343
312
363
294
356
361
350
303
425
372
311
261
348
343
333
335
231
265
343
276
350
285
314
363
320
317
251
296
308
304
344
319
305
374
366
358
357
355
343
246
311
262
248
278
291
298
371
203
266
282
318
328
285
376
298
353
334
389
244
379
259
301
372
294
316
336
260
294
326
300
308
247
328
354
258
270
251
332
289
354
383
302
301
344
325
329
338
294
321
307
299
290
240
378
273
305
289
318
307
333
294
293
267
362
431
281
271
339
343
397
309
249
294
269
263
350
301
345
326
333
381
389
347
320
197
327
384
354
399
284
297
309
271
329
366
278
245
328
344
269
258
363
279
400
320
319
245
317
152
355
298
230
314
341
298
326
329
241
264
266
316
319
263
321
356
309
267
249
369
325
312
356
424
340
454
353
325
303
245
322
287
325
334
328
360
286
243
296
252
366
366
348
326
285
315
308
280
270
355
278
378
319
333
343
281
205
297
386
329
322
327
369
264
332
338
296
353
332
361
273
322
328
261
337
264
350
387
221
349
288
282
346
283
291
365
366
373
391
287
300
365
367
268
335
315
368
246
309
237
287
333
294
360
391
222
290
290
315
228
292
240
347
264
354
315
329
381
313
279
311
317
274
257
324
287
236
315
226
356
321
336
405
302
309
340
303
349
363
333
316
337
319
351
311
289
319
374
312
306
309
382
378
249
379
367
327
233
372
324
293
323
388
361
256
259
282
280
359
313
303
324
303
425
293
325
304
329
379
348
309
317
385
289
270
307
369
291
358
303
297
364
376
301
280
324
283
346
322
287
177
302
342
289
365
249
181
269
290
284
235
326
320
370
329
315
235
303
335
345
344
268
306
302
375
327
268
300
285
256
298
257
340
372
304
345
329
313
292
312
353
299
310
387
294
338
371
341
319
292
415
315
289
303
365
290
337
376
310
266
294
290
312
334
277
291
421
337
372
351
313
358
320
382
346
331
271
309
256
349
303
330
288
346
310
321
275
377
260
328
308
312
277
344
381
358
282
317
396
312
282
279
317
345
316
310
262
415
202
384
380
367
348
230
283
236
296
346
340
322
308
365
279
375
286
275
287
320
204
323
271
367
318
288
296
239
315
327
386
328
366
307
343
343
336
351
300
284
271
348
303
278
331
313
349
211
351
361
331
305
378
246
295
304
259
333
282
382
310
327
263
269
384
321
339
201
353
365
215
339
346
297
286
303
375
255
328
260
382
281
281
272
400
344
308
288
281
354
320
333
345
265
334
352
344
314
339
307
233
319
306
248
266
333
333
236
388
314
321
257
310
219
245
293
341
302
267
286
342
254
407
353
311
316
302
318
302
280
342
274
328
297
324
382
324
398
254
326
342
267
328
279
283
330
290
391
269
329
215
255
305
388
279
360
331
275
337
379
412
221
333
381
294
293
301
280
241
340
378
358
330
334
356
311
340
353
309
283
251
298
289
328
283
243
382
204
347
278
218
315
360
394
257
275
304
293
270
349
341
285
271
219
278
316
370
349
341
352
330
261
328
273
311
238
400
372
278
324
367
298
290
301
338
322
291
293
342
350
370
364
323
372
304
348
373
367
317
236
292
330
377
246
339
290
208
373
243
271
292
318
334
285
292
327
349
350
272
337
391
318
332
333
322
266
334
307
300
330
289
301
315
313
336
310
356
246
273
322
247
269
350
403
354
330
342
237
338
314
374
379
312
245
385
210
322
237
215
409
291
326
365
308
263
329
305
338
330
283
296
309
289
320
393
400
349
292
330
302
279
306
263
319
301
294
347
265
364
397
312
250
330
399
329
322
351
306
263
349
359
288
283
405
316
334
201
300
282
325
318
304
328
307
331
315
338
267
311
278
351
376
386
256
287
273
343
270
385
318
306
300
275
317
263
287
344
294
307
368
268
351
350
324
303
249
327
362
351
373
306
337
221
263
275
257
277
375
298
271
334
328
265
315
358
319
215
315
318
361
345
386
377
352
277
336
278
295
331
331
286
352
251
425
334
330
291
323
317
310
318
324
308
266
362
289
246
183
257
384
359
341
324
330
267
326
262
366
306
326
280
292
270
311
390
325
303
320
318
389
372
347
291
341
339
313
341
225
379
348
232
205
335
331
365
259
415
344
325
313
403
369
387
287
325
281
360
271
217
321
297
268
334
303
361
375
356
350
379
315
427
242
305
343
318
341
386
310
345
305
292
272
310
230
310
315
300
289
354
324
422
264
325
386
396
374
266
319
250
351
278
284
254
305
258
341
343
329
414
316
244
373
336
224
388
359
300
292
285
278
258
273
348
360
247
253
245
340
343
280
249
263
329
268
336
309
353
359
309
240
269
294
320
316
338
297
328
304
397
299
321
362
403
299
282
358
296
274
411
376
319
316
332
287
307
382
324
293
400
332
259
271
329
352
381
307
320
221
309
296
340
255
330
315
376
288
286
317
298
274
287
345
259
265
420
281
354
372
338
319
314
334
239
254
276
344
359
325
356
305
326
243
311
319
296
319
224
294
290
340
272
316
305
323
268
345
291
270
346
310
281
311
259
287
415
337
317
257
369
347
257
234
261
349
277
253
307
337
328
237
394
333
249
365
296
383
306
400
327
336
326
332
282
322
362
322
331
353
358
333
216
336
278
276
400
285
224
297
286
266
277
342
318
331
267
304
262
263
339
314
327
228
260
250
232
332
270
386
318
332
347
340
423
325
326
376
325
353
267
352
255
317
370
313
271
308
242
343
283
331
290
339
288
262
334
305
305
305
295
288
322
326
304
351
346
335
296
306
293
374
266
338
270
217
261
362
355
331
369
324
306
301
214
404
377
354
383
266
321
362
231
270
222
316
352
270
344
333
316
368
389
308
327
303
382
267
315
330
348
328
247
375
226
349
309
299
346
229
316
303
394
314
306
379
409
350
347
300
336
297
351
255
305
402
299
361
326
254
332
288
315
311
320
245
310
323
316
304
300
387
353
345
307
294
395
278
323
297
375
328
316
328
356
261
345
283
301
367
350
373
298
278
417
304
342
261
349
304
319
337
281
330
221
318
317
331
288
345
269
347
343
366
263
319
359
392
357
328
349
277
363
322
293
283
305
330
355
318
341
225
316
324
293
284
258
282
347
346
276
332
273
248
237
265
341
306
356
316
342
346
350
292
321
348
292
334
365
342
337
318
376
309
332
365
309
245
281
252
325
348
289
308
355
337
266
228
337
305
282
294
234
264
281
325
247
279
317
266
250
297
330
323
292
309
378
269
369
335
316
311
293
353
328
343
270
308
294
313
340
370
360
231
347
353
388
289
237
281
407
250
250
239
304
284
306
351
242
344
353
327
328
289
316
302
288
303
389
341
340
342
285
333
225
336
296
300
259
261
309
316
337
310
243
288
337
346
303
276
301
325
387
309
291
340
332
394
342
264
341
387
292
388
303
326
266
318
331
309
305
299
280
335
284
343
305
328
320
279
230
326
355
317
333
382
300
281
232
330
319
342
316
337
324
353
315
288
280
331
339
364
373
300
298
300
324
235
314
307
316
290
333
289
380
374
332
316
366
308
287
296
252
358
373
279
261
365
288
285
326
286
270
301
383
395
292
344
287
415
443
348
223
284
365
279
236
333
296
339
246
245
334
354
326
296
292
333
304
359
366
298
354
259
264
341
333
279
257
355
355
332
248
304
313
372
351
359
376
333
292
336
281
287
328
292
225
320
273
223
280
358
324
319
316
255
298
315
274
346
344
292
315
354
348
349
273
221
400
329
296
295
316
315
313
401
299
401
368
316
318
289
316
303
260
341
319
287
359
347
294
315
293
369
302
249
243
294
356
241
371
248
329
327
402
337
293
326
333
339
350
324
385
249
275
360
295
361
331
298
309
245
295
295
333
322
304
294
321
369
332
315
378
308
364
307
395
308
357
332
267
319
322
253
323
292
369
242
345
335
281
271
330
313
326
255
350
295
337
313
310
327
356
269
410
278
337
337
343
233
377
292
291
333
279
290
273
266
353
305
364
340
331
321
354
383
324
374
338
331
331
324
342
301
349
409
296
283
341
280
330
255
268
271
242
300
312
358
386
274
396
262
322
307
337
304
312
329
258
297
341
250
298
365
321
298
305
313
278
335
304
310
266
305
303
376
318
350
329
379
304
292
321
265
355
361
309
383
301
306
303
251
331
285
340
340
280
238
324
236
296
236
346
290
338
296
324
427
297
250
361
311
367
309
305
315
200
345
352
247
320
266
365
300
319
314
353
292
339
319
335
232
297
338
278
312
331
301
336
344
243
367
296
277
282
278
304
327
302
322
255
303
268
408
350
283
362
338
344
327
321
385
303
276
275
304
292
343
371
252
389
331
209
325
291
224
280
281
351
330
258
321
340
353
318
341
297
333
312
219
317
267
426
382
293
305
311
293
278
292
363
323
326
334
280
293
411
278
285
410
347
337
328
324
322
240
355
320
252
301
376
347
315
377
289
319
390
338
367
321
327
197
304
348
324
239
341
349
298
294
380
385
294
316
296
408
278
342
359
380
304
378
292
374
303
330
303
303
371
270
336
356
310
313
198
365
367
323
225
299
347
336
358
342
322
315
353
295
278
393
269
354
318
259
245
397
334
323
340
318
343
315
350
376
350
294
395
336
298
328
349
304
270
325
273
284
378
329
233
330
278
348
285
334
284
324
297
233
380
350
341
287
268
289
416
281
320
362
316
335
290
375
278
349
320
236
271
346
311
307
356
362
271
247
258
332
255
316
356
230
322
331
307
247
377
348
215
274
225
222
296
349
324
363
372
327
289
308
359
229
365
412
388
315
246
301
333
309
252
273
309
265
314
301
311
294
340
261
275
319
361
266
317
263
383
284
284
368
366
206
234
264
298
307
321
363
225
276
315
237
390
342
337
335
275
302
275
277
379
283
267
408
325
377
340
343
321
362
267
284
324
269
357
362
406
223
342
313
281
272
370
292
247
371
351
272
288
331
272
331
333
376
276
297
369
296
289
378
212
302
277
324
278
327
283
235
271
367
287
238
274
343
289
278
353
308
258
254
349
355
287
309
286
368
284
346
383
388
387
286
385
324
276
284
342
259
305
261
355
288
308
240
407
419
271
309
252
329
349
286
296
298
316
305
331
394
288
380
376
309
355
341
395
228
360
330
289
329
351
291
309
292
240
366
357
367
332
333
383
376
302
269
321
317
277
366
246
207
299
331
371
340
248
317
402
367
336
330
322
338
389
323
330
366
326
312
326
276
293
283
321
335
358
314
224
283
365
312
227
284
297
264
360
320
319
341
367
337
373
328
304
321
364
334
350
249
279
368
300
298
406
365
298
397
331
280
366
295
352
262
303
258
352
359
289
358
313
320
299
282
292
259
351
259
362
368
451
278
287
267
253
357
320
383
302
313
312
232
341
321
375
353
293
338
352
298
248
347
293
258
253
273
327
346
289
349
217
346
338
383
238
342
385
309
399
265
262
325
381
358
271
300
325
337
370
211
406
320
304
344
215
281
366
298
268
308
322
377
350
346
280
258
292
327
349
345
350
273
329
321
281
271
290
403
327
297
275
286
347
319
324
314
336
316
331
321
354
285
298
272
408
274
324
298
276
331
368
218
341
352
256
345
323
337
278
313
329
343
260
313
192
311
312
303
355
295
337
368
266
304
291
349
372
278
248
361
341
338
415
368
339
289
309
279
309
208
259
416
339
316
343
272
260
329
356
293
363
301
317
365
245
247
362
349
263
310
352
254
217
287
252
232
338
258
337
299
364
314
317
325
228
324
233
247
333
330
345
271
340
215
319
359
330
283
314
323
327
365
291
283
346
337
325
356
340
349
280
395
243
283
353
302
348
309
412
303
332
310
384
313
363
306
331
317
270
294
268
315
362
293
275
315
248
289
399
339
276
260
264
306
371
279
291
317
326
320
343
331
312
362
263
267
341
298
426
353
374
329
357
312
269
255
322
371
317
365
287
304
376
336
384
310
322
289
298
305
393
293
274
279
271
375
368
344
312
319
372
309
341
302
331
388
329
382
268
380
365
344
247
300
364
341
242
278
283
306
253
415
265
331
300
283
289
245
360
349
317
436
331
297
283
358
280
287
383
369
335
329
374
242
336
340
336
372
296
382
344
348
371
299
262
347
336
254
357
348
239
294
298
311
377
237
354
348
307
323
305
333
335
298
279
402
300
288
297
289
353
345
275
368
211
378
400
272
339
297
372
322
324
338
360
378
293
225
330
288
228
326
270
333
257
245
269
327
379
217
297
325
354
317
258
333
328
329
329
386
256
348
226
298
337
326
257
322
187
319
317
239
314
361
269
379
366
319
362
375
337
363
303
349
290
343
326
353
263
340
344
321
336
270
256
325
301
347
327
350
322
306
312
277
286
292
221
409
310
347
339
309
332
329
279
341
315
310
366
308
255
356
278
345
303
344
189
381
263
277
285
326
367
406
351
253
393
243
307
351
210
240
308
369
369
339
314
305
353
281
304
320
312
263
357
326
293
255
316
292
339
362
281
367
269
350
285
289
299
291
310
250
311
296
306
314
312
270
385
330
310
302
357
346
302
304
340
307
305
353
297
319
373
320
315
279
305
268
331
319
288
276
304
323
280
338
286
227
298
312
289
318
282
293
273
338
270
309
322
287
377
361
217
298
255
400
394
258
337
346
342
271
322
237
241
317
353
303
329
284
308
357
347
300
295
414
345
238
360
269
296
381
293
291
323
293
319
404
318
286
302
307
238
241
332
318
355
328
208
298
349
285
306
257
286
333
306
310
365
369
361
353
332
407
271
285
335
366
243
285
250
382
298
306
327
305
313
388
365
272
357
405
320
312
303
384
337
319
315
290
255
397
334
326
341
328
281
259
275
343
310
275
299
249
295
316
354
264
289
308
296
276
291
305
397
347
343
316
304
248
291
333
307
351
285
314
227
349
340
324
216
264
307
344
370
345
370
362
291
323
347
261
272
243
357
318
307
327
275
302
352
331
300
351
310
355
354
386
357
339
325
292
355
352
339
342
307
329
357
335
290
295
321
290
291
270
306
283
316
266
342
233
399
286
304
341
340
371
406
305
319
385
322
297
354
257
371
327
305
349
373
344
322
317
280
323
347
272
289
306
285
378
287
318
234
339
327
358
306
279
309
245
396
282
402
320
371
350
272
318
387
312
307
296
340
276
346
296
293
304
354
325
267
279
348
255
373
398
302
294
365
416
272
368
346
326
301
393
358
311
344
370
352
305
364
300
274
300
334
219
293
301
235
293
359
346
323
250
326
239
320
399
348
272
375
311
292
330
279
342
276
312
321
379
324
333
287
280
312
311
260
326
362
314
314
315
244
244
399
341
330
283
322
318
299
346
333
247
234
346
261
320
321
327
324
331
341
331
358
353
250
319
309
229
300
251
246
335
309
267
352
310
341
279
305
380
231
336
270
289
354
301
309
289
298
382
324
343
247
300
242
307
263
335
302
269
355
362
312
369
233
309
292
335
295
334
370
349
197
272
349
354
316
242
272
288
383
268
266
265
328
344
264
388
250
326
387
430
415
259
325
331
330
274
349
271
324
327
358
266
276
316
244
271
332
273
320
315
245
341
291
332
338
325
377
316
308
377
350
311
396
323
356
289
393
327
310
317
408
294
290
307
252
290
412
291
391
305
342
352
283
450
289
296
261
360
315
367
379
278
307
322
311
270
349
276
288
328
299
311
294
296
291
315
317
315
297
330
218
302
401
342
303
296
385
271
353
382
306
423
371
339
309
292
291
255
198
350
351
276
338
309
366
347
326
318
386
297
323
321
328
333
300
344
364
302
331
343
314
304
318
328
374
246
282
250
236
316
185
300
307
353
327
348
307
340
175
303
315
350
341
265
267
273
289
282
287
343
378
315
327
373
321
319
326
265
292
297
338
324
256
308
343
313
313
263
318
311
309
280
307
333
369
277
355
347
256
295
362
323
243
335
304
287
362
264
382
317
400
355
350
290
375
359
342
376
286
263
384
263
289
337
346
342
330
339
336
239
302
393
323
378
306
281
284
290
269
175
385
360
219
354
307
308
394
339
356
296
332
221
267
342
323
362
311
341
332
340
324
244
280
313
348
331
274
319
295
288
371
340
276
312
309
245
324
280
312
291
306
342
312
227
329
366
415
320
303
292
316
263
333
331
347
327
280
310
358
237
281
375
340
291
395
362
339
270
260
320
336
344
313
424
308
285
302
312
299
267
366
296
321
385
333
229
248
296
324
286
282
299
287
276
268
351
296
357
307
286
284
305
325
329
299
384
338
355
311
334
340
302
310
314
247
232
333
335
306
230
232
301
353
285
307
331
392
264
360
313
255
284
311
386
301
261
252
411
315
242
322
304
333
343
364
347
206
309
303
279
246
295
287
262
370
304
356
354
264
250
397
390
291
348
375
382
286
359
336
339
254
268
376
257
247
346
299
323
279
354
319
328
328
327
265
397
367
310
356
259
464
367
309
290
281
293
336
303
308
309
311
249
386
359
339
303
373
353
279
261
312
352
281
329
273
399
272
343
310
298
345
307
325
296
295
333
273
331
230
335
381
364
217
321
399
359
255
256
325
333
234
283
289
265
325
320
322
291
261
352
387
311
336
316
359
374
288
265
329
293
360
344
315
248
288
241
292
308
289
371
398
359
376
281
259
376
388
301
274
347
358
261
281
266
315
304
315
257
357
287
223
325
347
335
257
321
353
338
330
250
316
301
380
266
266
353
340
352
318
334
323
326
373
323
289
355
389
292
281
236
332
276
358
311
351
347
274
299
351
385
317
314
402
336
257
361
317
407
393
357
402
347
352
271
383
350
291
275
369
271
299
318
341
322
305
322
257
290
347
329
298
343
247
320
316
354
282
284
333
356
249
310
364
199
286
259
409
340
341
335
328
279
383
374
250
318
285
304
323
338
351
329
268
329
353
285
212
306
326
259
256
261
365
299
293
294
259
359
410
281
304
303
268
356
222
316
273
367
323
331
327
310
319
326
223
293
263
416
292
337
402
342
305
395
339
292
219
253
395
266
372
302
312
278
337
340
324
302
377
334
298
318
366
337
263
305
209
371
345
273
382
349
290
242
314
306
357
238
293
368
289
306
331
212
298
349
379
383
374
394
320
317
266
340
282
266
249
319
358
326
322
284
286
339
329
389
343
319
271
287
298
309
327
352
423
244
263
322
338
280
303
285
305
240
306
315
336
238
267
340
299
371
285
343
362
253
358
309
366
314
358
314
338
325
352
324
324
336
289
397
294
297
401
378
340
404
257
239
281
290
361
315
268
341
373
259
321
321
320
305
254
253
363
338
266
325
336
245
293
366
306
390
293
296
260
391
382
344
315
301
316
262
379
247
354
276
353
323
281
312
320
295
341
374
296
274
341
335
359
319
285
386
367
362
299
394
333
402
335
357
273
307
429
191
279
389
366
388
342
302
213
273
224
287
385
359
303
290
279
238
300
286
334
375
335
267
285
324
263
393
387
247
349
401
353
249
293
345
344
275
365
352
334
268
355
352
330
269
289
265
308
294
381
341
319
374
269
337
323
357
273
367
284
309
320
297
327
366
311
285
352
348
277
303
329
334
304
316
277
389
316
315
359
318
330
354
301
337
329
266
253
274
333
305
313
333
283
301
292
301
363
306
242
328
333
286
305
399
381
284
278
345
348
315
244
291
328
365
352
282
268
393
319
404
306
313
308
420
330
377
296
312
240
312
323
323
345
312
326
256
348
236
307
342
258
359
235
374
321
364
269
300
382
343
352
237
340
310
331
339
358
295
261
275
379
280
358
315
283
258
285
281
259
342
322
355
296
327
345
342
303
326
351
249
237
334
282
266
296
276
344
304
321
363
368
344
333
357
358
330
363
358
209
237
272
378
260
304
308
289
360
344
298
357
317
287
287
383
321
289
306
330
263
288
346
257
317
296
272
373
217
324
253
344
308
282
339
355
287
331
323
418
250
289
349
363
228
296
276
327
291
325
348
351
339
278
233
333
354
332
338
189
318
302
312
365
360
255
222
369
273
314
364
329
407
322
368
261
311
285
228
334
372
300
302
255
345
367
297
299
317
280
319
262
353
361
234
329
310
290
354
304
269
338
337
243
302
335
284
293
350
318
354
327
355
332
292
180
340
243
355
293
365
319
320
305
300
339
271
334
361
303
383
276
407
347
289
391
284
314
395
305
319
284
304
288
399
399
325
294
290
226
337
252
357
298
382
371
354
331
279
356
327
273
312
306
278
282
338
377
302
312
373
395
407
296
270
389
311
327
268
264
306
297
308
275
326
340
307
283
321
338
290
301
346
235
336
307
307
309
313
327
265
355
286
267
316
302
331
412
283
286
381
278
259
380
330
349
346
320
311
256
355
304
357
273
327
323
298
332
245
313
308
282
286
341
286
395
254
354
288
388
374
326
340
340
305
332
379
340
298
321
342
291
321
308
366
298
324
322
305
309
337
278
226
351
273
306
364
283
298
329
257
330
382
290
320
340
378
297
308
259
312
347
290
284
297
298
366
336
354
274
304
337
370
280
198
381
298
271
342
314
267
207
357
312
351
295
284
388
358
371
294
401
366
266
332
283
353
392
230
340
301
353
275
267
238
320
299
347
380
270
350
330
325
318
326
377
247
294
290
313
328
314
325
286
365
372
272
372
432
288
335
279
313
341
313
362
311
293
377
237
241
343
319
376
304
300
263
289
275
343
276
361
325
356
331
324
376
323
307
276
333
335
316
290
372
329
283
315
338
290
231
248
291
348
311
269
339
286
329
305
331
391
331
251
326
307
272
380
340
437
233
318
325
340
308
328
354
353
271
301
308
303
238
358
277
294
283
286
316
354
362
379
276
260
208
325
281
275
321
306
294
274
344
397
300
348
317
326
322
324
349
368
318
337
266
342
244
283
335
264
325
304
347
375
291
342
345
374
383
362
311
257
339
288
345
295
380
316
298
290
319
278
301
388
355
270
303
268
285
339
366
291
351
282
325
302
207
322
410
277
359
299
368
256
276
322
355
274
318
331
322
338
321
283
344
302
327
328
308
252
333
328
359
327
311
336
309
327
336
236
324
261
355
268
307
289
361
382
332
252
298
363
298
269
288
387
249
347
276
361
300
358
292
312
218
393
284
322
301
408
282
246
328
294
337
311
291
300
322
260
216
305
259
346
341
249
311
295
341
295
332
349
254
306
348
358
357
420
356
282
359
361
238
280
307
268
366
357
363
295
372
307
277
261
356
356
341
342
347
285
332
318
298
337
286
257
257
360
323
280
382
309
261
322
332
349
248
330
317
299
266
277
388
290
396
295
358
328
304
306
374
376
296
341
309
252
230
310
324
285
258
261
267
252
281
257
323
288
276
310
384
318
370
330
286
264
288
302
219
255
313
267
295
317
253
277
346
263
361
257
278
255
211
415
415
343
308
329
323
302
281
292
259
354
273
203
266
286
281
325
290
265
355
351
224
284
314
279
309
344
383
219
337
345
391
299
400
278
335
358
384
343
291
252
367
275
402
341
352
358
341
266
288
318
392
309
258
267
292
336
271
298
236
296
250
284
308
341
327
278
350
303
349
291
279
401
266
366
267
316
282
377
433
280
250
346
289
344
253
250
334
351
312
267
362
387
315
365
308
254
244
315
351
307
360
410
378
341
355
314
314
314
264
343
220
374
349
307
269
320
343
329
355
385
339
366
249
276
253
364
303
264
216
340
277
385
264
314
336
347
264
312
318
320
340
319
261
314
372
176
259
276
372
274
325
283
348
398
300
297
376
338
338
305
367
362
318
388
259
369
282
138
328
291
386
280
270
354
312
398
358
374
240
329
273
296
351
338
322
293
250
381
289
259
339
331
406
320
273
283
352
380
348
206
335
310
394
362
288
372
331
324
298
313
262
375
369
349
333
401
276
300
360
354
337
380
274
312
341
343
266
323
255
241
323
324
300
326
232
393
258
219
387
270
276
299
365
273
356
257
312
248
321
340
404
300
389
252
298
315
362
238
257
352
396
293
275
366
272
289
355
346
286
335
300
270
228
279
299
216
273
365
284
267
266
309
276
358
269
344
312
301
280
352
416
318
282
280
361
248
312
344
315
412
340
356
342
266
343
337
334
267
275
333
371
242
335
363
319
291
349
413
209
175
270
369
272
285
353
265
346
358
232
316
358
274
263
347
363
290
276
317
290
320
323
355
295
358
287
378
323
407
279
288
226
309
339
334
278
327
307
372
250
279
404
247
268
330
371
303
325
355
251
330
214
257
253
353
381
319
322
264
279
350
342
288
345
348
322
351
303
294
358
240
302
280
305
304
318
322
334
359
330
318
253
211
329
327
302
363
294
355
427
283
319
280
346
320
288
313
357
363
355
329
397
322
351
367
355
316
343
319
330
297
255
356
284
235
320
332
268
305
263
311
222
253
255
250
382
288
400
246
295
304
290
271
269
315
320
347
274
336
300
319
330
374
323
301
238
326
325
307
312
350
328
257
300
336
306
354
309
346
332
315
367
317
331
313
296
295
348
324
372
324
280
225
282
363
345
327
357
322
385
346
280
275
346
373
269
313
289
274
405
272
287
329
280
275
310
236
265
362
365
306
354
269
349
373
328
350
268
349
322
332
313
313
367
314
299
282
267
297
410
201
263
254
229
295
245
288
316
293
331
316
380
322
277
388
252
300
291
406
254
281
280
327
329
304
295
332
305
304
308
259
274
330
255
273
352
347
404
232
273
318
274
338
362
260
410
250
289
347
290
337
301
328
354
300
333
383
332
282
250
312
179
354
263
359
333
315
356
295
362
207
315
290
357
305
272
281
260
300
290
291
283
249
279
345
322
262
254
282
316
314
276
270
354
326
292
335
301
342
337
343
313
258
289
349
249
300
349
292
304
322
313
334
333
319
283
328
323
355
262
340
260
386
284
364
387
323
282
319
282
336
283
349
267
262
270
280
299
334
350
291
419
328
277
334
258
270
324
391
266
387
229
314
376
381
324
297
320
371
347
295
363
356
390
335
262
342
337
255
231
220
346
262
355
350
302
359
333
387
294
299
314
319
292
338
276
339
253
260
300
287
309
368
275
274
355
307
325
246
248
290
394
337
327
337
282
291
254
276
319
321
224
298
324
430
267
234
343
374
326
352
354
346
290
374
266
232
310
284
338
252
359
307
248
232
346
354
359
300
270
284
318
309
319
378
283
318
279
332
286
330
306
331
324
281
308
258
357
304
298
365
395
331
309
309
219
273
363
356
336
370
374
301
274
256
345
222
384
337
257
337
386
323
346
285
311
186
293
230
316
228
333
320
333
260
217
273
341
269
362
237
282
264
329
298
298
381
382
333
295
281
347
283
297
291
373
326
293
261
285
320
336
301
307
347
315
337
262
364
347
328
381
271
294
350
382
315
367
331
280
373
286
380
314
330
266
296
275
345
290
285
354
318
290
366
375
261
375
365
306
336
316
311
313
293
293
345
305
300
288
278
350
301
413
386
331
292
300
317
346
332
370
316
340
291
287
334
342
353
332
340
331
326
315
359
379
283
298
323
302
322
226
261
300
321
293
328
276
379
268
312
310
382
305
337
279
303
327
341
354
361
347
309
250
357
319
315
217
340
275
317
293
287
316
329
309
303
312
294
283
258
328
383
318
279
243
248
381
320
277
346
334
294
266
358
420
348
272
380
357
380
261
289
247
295
265
289
296
346
320
361
311
301
310
336
358
313
337
313
239
332
302
249
391
289
312
281
354
314
369
251
333
350
381
338
365
331
305
301
335
341
319
229
388
283
352
282
366
355
267
222
300
233
340
323
314
334
292
384
322
301
306
321
310
305
303
196
291
291
348
347
371
354
320
272
382
353
260
296
361
323
249
332
356
361
388
341
375
331
348
353
349
330
333
246
271
334
323
286
281
360
346
325
338
433
363
341
285
354
339
260
263
292
263
375
242
298
325
368
318
372
337
278
252
355
280
357
376
350
163
340
276
303
350
301
348
297
269
235
263
282
317
315
367
299
355
361
358
338
338
310
331
284
332
348
331
318
245
282
246
338
201
361
352
341
191
375
207
267
344
395
290
371
304
359
381
305
277
291
333
318
371
300
308
310
298
252
342
323
310
349
281
290
299
328
382
335
410
348
310
343
411
342
298
392
291
376
297
285
280
377
346
315
349
292
318
296
325
330
329
389
391
324
308
316
290
309
291
259
366
355
241
251
369
297
303
333
220
261
210
322
294
187
371
291
354
259
345
374
277
321
316
260
266
359
301
255
228
286
380
309
319
348
392
297
255
235
304
278
269
341
290
341
353
270
281
282
313
338
398
282
309
250
376
202
292
330
222
320
347
274
342
372
273
275
301
269
309
370
326
268
284
333
326
242
342
321
274
305
348
377
311
364
256
232
297
378
350
283
260
303
392
309
404
204
285
244
277
309
379
333
394
280
183
394
253
326
350
285
337
305
260
308
275
259
356
311
311
350
342
271
274
282
360
357
293
330
385
273
297
290
356
296
214
381
387
244
301
381
376
354
339
431
315
298
254
281
331
322
326
264
329
316
288
325
345
199
362
312
336
325
296
345
382
326
211
305
389
351
305
326
352
345
294
320
370
403
332
269
318
340
330
327
331
339
350
368
282
388
314
274
304
324
310
315
285
385
337
352
339
359
338
332
327
376
321
338
345
324
334
317
242
319
328
309
321
379
272
314
236
289
277
301
250
231
334
303
266
300
319
318
245
356
267
262
406
313
381
369
284
246
364
297
287
358
373
337
321
271
322
290
253
275
302
291
252
269
320
237
388
278
343
347
303
337
332
308
317
353
308
394
308
277
350
359
291
365
321
255
320
371
421
331
297
312
396
285
315
288
362
316
298
222
235
350
309
394
246
264
304
315
315
300
300
276
280
346
301
331
254
210
369
323
228
288
359
240
359
217
336
266
340
382
316
297
391
312
294
291
312
311
349
368
267
394
369
315
337
311
266
217
312
313
236
374
360
268
367
276
333
352
285
353
284
351
284
367
302
345
280
238
259
334
279
294
298
320
315
257
248
348
365
348
355
385
335
335
331
295
319
360
291
336
206
273
377
357
318
271
273
337
320
293
318
351
265
324
333
264
271
337
367
286
344
352
271
276
274
300
391
244
329
331
295
252
304
247
312
392
332
273
351
320
317
309
301
415
324
373
267
238
396
292
262
343
306
220
388
251
249
258
332
312
372
259
337
359
351
281
326
359
328
396
325
299
319
307
352
361
271
323
341
297
360
310
247
333
220
312
268
268
328
360
290
272
386
350
366
329
267
385
272
294
320
299
339
238
407
269
320
252
234
311
270
295
308
295
334
322
333
345
323
317
332
268
272
350
340
312
251
344
373
397
263
337
315
358
337
315
274
335
312
354
331
281
273
271
271
251
247
362
354
292
268
293
308
359
296
279
215
336
313
290
349
283
396
283
347
401
301
375
372
227
315
354
349
274
297
213
328
256
326
280
291
324
359
374
239
321
394
336
307
285
329
335
333
329
332
310
350
351
273
250
281
336
354
308
291
309
247
312
283
238
319
406
323
309
326
278
352
289
324
374
306
351
341
300
298
298
303
274
300
376
294
276
272
275
348
319
277
351
326
294
379
259
331
256
233
327
260
293
305
317
321
387
346
263
276
283
311
282
327
346
300
347
315
373
321
377
245
228
315
263
402
283
387
294
309
274
247
363
385
329
329
309
314
324
374
343
322
343
322
344
289
344
262
334
358
262
250
372
377
273
287
382
301
272
264
366
307
302
279
310
286
285
390
220
320
266
356
354
258
329
272
307
275
267
315
401
373
354
231
381
330
388
305
346
302
365
308
297
231
211
285
349
350
308
273
295
323
248
280
190
341
285
312
343
240
342
320
313
308
304
363
320
359
349
320
251
311
322
335
383
259
323
256
248
328
299
426
329
266
331
290
311
343
284
301
279
301
407
300
323
282
400
367
348
343
317
246
245
313
304
356
363
365
270
353
306
331
307
333
315
319
317
328
308
289
334
375
298
335
359
242
394
336
251
311
249
273
321
225
278
380
298
294
374
347
323
384
272
289
289
276
293
324
329
325
305
294
362
356
338
292
325
263
276
283
321
321
318
270
368
262
341
382
289
301
307
414
350
362
311
410
260
388
413
266
317
341
332
306
298
419
282
383
428
236
327
357
359
300
333
260
304
261
305
339
364
321
402
365
361
297
324
306
286
383
320
320
361
390
282
329
352
273
319
338
299
297
288
357
340
341
330
278
284
189
323
345
403
417
303
320
365
326
297
325
348
338
236
319
389
328
343
319
262
326
329
360
281
350
403
318
268
272
290
320
260
278
331
293
392
369
338
335
236
362
342
308
356
327
278
362
318
245
351
332
292
307
390
283
309
254
302
397
320
324
276
330
314
293
337
333
338
297
263
300
352
272
279
256
291
281
250
336
354
249
281
247
262
279
214
330
332
373
343
352
372
303
400
320
321
332
286
272
338
259
258
327
305
269
287
336
309
342
379
348
236
300
322
357
217
319
337
364
366
267
264
272
265
281
296
271
325
276
370
262
350
312
292
356
284
316
337
335
420
251
379
317
349
320
303
260
318
271
327
299
353
383
367
232
361
348
291
304
381
223
350
347
306
310
358
360
321
311
336
297
353
382
368
303
323
324
324
251
284
284
292
277
282
368
295
329
283
334
383
292
320
260
298
354
323
310
312
422
355
264
338
351
347
352
306
295
320
336
322
237
286
278
340
307
345
308
323
349
320
362
264
343
319
363
377
313
272
314
340
285
321
340
245
311
276
384
290
285
288
338
312
356
320
345
324
289
342
278
295
335
356
310
288
303
350
368
275
281
265
312
354
229
264
291
323
308
305
369
262
266
338
334
256
335
347
247
335
218
271
333
335
319
344
311
284
262
320
268
337
233
307
342
221
311
390
331
368
243
323
282
327
276
304
322
371
348
318
339
247
313
258
356
282
345
318
313
382
288
185
317
309
276
372
411
340
331
298
280
282
320
404
358
279
323
256
376
309
309
312
288
303
299
332
314
305
374
257
336
313
361
263
244
318
294
292
293
258
237
206
328
301
394
358
336
311
317
303
254
389
256
321
306
299
354
314
262
271
377
365
302
357
377
331
366
295
307
296
300
248
317
262
294
299
323
341
384
249
313
320
294
281
326
300
305
247
312
314
293
325
398
339
391
285
368
325
332
357
303
313
304
323
217
326
307
276
353
383
310
297
260
254
268
225
286
216
290
473
299
276
290
299
285
397
295
197
287
324
288
361
322
335
397
315
365
259
380
363
293
290
413
330
312
234
343
305
283
296
346
350
318
290
295
274
331
286
369
296
417
351
258
353
324
331
329
291
244
392
335
265
334
314
348
382
406
383
309
297
398
367
183
319
303
387
333
281
376
285
248
360
293
350
384
226
305
312
343
310
255
288
372
310
353
315
314
322
283
292
319
296
327
294
275
321
284
261
320
322
290
353
354
279
282
303
346
334
274
328
295
303
326
251
365
322
284
265
268
392
255
328
348
303
312
369
350
318
249
363
366
363
271
370
212
319
322
287
339
299
353
321
316
270
378
344
357
313
284
338
265
322
409
354
336
303
318
363
343
255
333
359
317
328
434
318
316
359
333
352
332
273
275
348
406
329
325
268
286
349
402
268
365
307
406
383
280
393
254
403
346
248
331
243
281
290
288
330
345
279
265
344
347
322
252
290
276
382
311
334
265
233
411
280
209
336
299
295
379
317
352
362
270
287
369
212
291
320
289
344
339
315
366
344
351
375
386
270
267
295
290
351
314
326
281
276
354
308
321
286
265
276
303
273
293
338
248
265
392
437
283
342
317
407
299
325
320
343
292
321
296
309
319
284
386
364
240
331
316
351
313
303
269
294
278
340
331
307
349
312
310
340
290
292
279
318
337
315
312
272
276
309
324
256
297
360
355
295
335
329
269
293
313
274
329
360
318
255
309
211
287
403
312
330
341
316
325
311
231
343
312
392
335
339
303
303
236
273
357
281
303
327
248
402
298
260
315
283
308
334
328
265
368
325
296
338
346
289
270
315
255
341
394
281
335
279
333
254
357
330
344
325
344
324
259
308
280
266
315
350
333
299
345
365
227
378
391
310
295
304
275
346
355
284
273
343
291
349
313
344
256
361
264
372
313
369
226
306
366
332
353
360
313
368
314
243
408
326
394
335
334
292
337
307
336
312
355
275
325
206
356
438
357
302
287
351
244
292
341
358
316
323
273
285
321
248
283
374
283
321
274
253
378
216
377
391
227
393
321
280
362
415
255
413
266
314
319
352
321
316
319
305
349
287
325
296
406
324
266
343
331
321
297
292
309
277
328
330
304
317
319
356
281
294
295
257
326
290
302
370
400
270
355
247
347
285
326
348
357
318
326
318
274
345
258
303
351
308
253
261
290
288
451
212
347
327
326
279
399
318
243
190
240
384
298
313
276
369
380
361
372
322
371
388
333
314
425
309
299
266
296
244
379
366
339
259
370
285
250
274
330
350
276
331
301
329
282
336
360
285
264
278
360
368
249
286
288
405
311
412
284
319
327
298
269
369
320
250
303
378
289
382
314
257
296
335
361
309
366
340
283
390
276
251
209
361
271
327
245
280
279
264
307
284
287
289
296
283
330
342
266
265
283
352
295
236
358
303
296
363
299
320
380
352
243
261
291
316
313
277
304
314
291
402
262
326
263
313
290
272
300
313
337
249
313
287
325
286
322
312
351
307
303
281
351
297
277
280
325
221
328
396
369
275
249
224
284
301
377
305
355
294
255
318
265
254
322
337
372
220
397
289
292
371
339
349
335
286
293
290
348
288
272
362
321
336
251
329
285
260
253
382
323
309
309
369
329
287
307
341
251
345
262
288
258
408
356
288
303
333
335
257
327
271
205
309
295
285
267
441
238
248
282
349
449
366
297
342
296
259
404
387
248
250
314
296
324
396
348
323
239
273
363
319
318
334
386
357
274
296
325
328
367
293
278
339
347
392
354
338
325
291
255
346
382
343
264
345
392
348
367
270
307
263
220
334
281
338
353
332
263
345
298
362
400
307
365
399
328
341
397
317
188
305
316
274
319
276
300
360
266
328
320
364
459
319
324
297
281
307
277
285
252
250
331
295
288
337
298
308
341
322
292
328
305
357
327
327
311
318
321
326
284
326
294
311
261
346
215
374
294
280
308
278
395
372
341
330
337
321
351
285
311
369
319
336
330
322
317
321
313
330
358
348
331
330
387
416
275
273
309
237
365
319
344
350
306
273
273
325
332
285
308
257
346
296
345
319
315
298
366
290
327
289
352
392
274
315
367
341
316
301
390
277
322
342
338
297
326
190
316
341
352
296
350
303
391
298
362
343
340
351
281
290
278
237
282
324
324
315
355
273
355
251
246
389
277
286
351
291
345
333
320
297
328
247
291
310
267
322
302
280
284
268
379
355
370
308
309
354
316
368
328
253
371
267
308
304
332
363
230
303
255
369
359
295
275
350
316
347
254
357
274
369
294
318
296
263
260
295
377
312
338
199
341
261
307
292
284
397
336
365
343
309
355
291
296
326
344
377
328
297
311
340
255
348
295
356
276
323
382
299
297
307
293
303
230
359
292
341
331
287
232
338
353
285
381
238
260
393
318
269
402
361
342
294
377
300
302
355
272
233
345
355
348
341
311
347
297
360
351
357
359
317
248
352
302
346
298
316
360
365
357
308
346
327
278
351
308
341
230
268
304
276
298
392
359
273
338
368
212
398
319
296
308
368
353
313
346
298
366
296
316
419
349
359
340
288
362
351
302
317
289
353
318
292
313
337
188
321
277
284
306
343
296
343
326
361
329
378
325
329
257
292
287
264
339
317
319
420
351
367
311
276
345
211
286
279
323
340
289
388
333
384
340
329
310
268
299
316
323
350
359
348
318
435
356
362
260
347
221
299
265
243
340
332
338
263
342
387
259
355
274
298
366
311
313
348
275
340
246
401
308
241
342
299
340
357
226
344
291
346
270
212
385
347
312
309
354
280
352
350
245
336
343
316
296
304
361
386
281
310
255
426
302
236
394
285
338
325
353
249
296
358
308
280
341
327
321
379
348
259
328
234
307
351
309
267
357
333
312
346
250
355
381
308
355
398
311
391
334
282
370
375
307
223
335
283
336
211
278
338
300
219
370
307
380
368
340
295
310
397
254
344
305
361
325
380
355
285
313
353
351
304
379
266
350
397
287
349
315
315
375
242
406
298
333
306
348
309
281
311
341
286
315
265
329
282
279
337
322
299
293
355
221
321
394
346
393
330
342
281
348
356
279
273
381
302
317
269
365
387
291
354
369
377
295
364
351
291
261
237
271
321
264
333
358
341
224
262
364
253
345
244
352
300
308
381
305
308
321
320
279
262
368
337
301
278
313
258
230
199
231
320
314
320
267
322
348
300
299
289
308
274
208
332
304
343
355
263
251
329
265
268
256
315
224
299
315
311
283
260
351
364
394
231
405
330
290
259
309
345
363
298
365
371
225
297
277
344
327
324
298
297
308
368
338
205
212
357
290
304
284
385
320
332
244
255
291
373
344
272
280
308
269
373
328
292
307
370
277
261
314
353
379
289
299
370
363
329
326
303
445
378
308
336
257
283
367
320
330
321
271
277
272
301
261
305
315
340
414
336
304
337
266
220
287
293
332
309
305
353
271
293
312
349
331
430
332
350
272
259
290
245
348
331
357
289
301
256
182
301
316
282
278
345
279
229
299
361
286
254
315
310
400
344
346
332
308
334
412
333
310
250
279
274
315
328
298
307
358
313
343
292
315
248
402
329
372
380
292
307
400
334
352
224
308
313
305
315
326
258
324
317
324
277
274
302
288
308
394
252
388
333
361
300
284
327
323
268
384
363
275
332
376
370
337
274
323
253
346
305
294
227
394
314
341
249
330
296
376
332
285
295
297
308
329
360
249
288
271
361
400
298
330
349
316
303
362
295
278
326
374
268
377
254
306
433
266
385
347
330
388
292
297
403
305
336
337
341
330
298
308
321
293
371
241
334
273
344
269
336
243
308
369
291
323
380
330
257
306
345
355
327
309
200
335
392
257
244
331
194
338
406
393
391
409
359
222
367
314
326
352
321
314
351
300
344
353
285
287
344
282
312
275
348
283
334
307
261
359
192
278
317
394
282
292
289
250
373
277
290
322
281
291
320
336
330
324
276
301
340
346
255
313
389
351
274
297
340
341
241
291
279
311
297
321
317
282
339
282
278
396
294
352
289
228
368
314
285
344
260
295
362
347
409
372
276
336
215
322
396
226
323
307
322
293
292
278
361
311
342
333
265
266
321
277
369
363
294
354
319
325
360
327
340
327
306
320
290
336
298
260
301
382
265
283
260
326
417
278
342
270
235
344
278
252
310
303
344
322
377
312
288
293
290
306
336
286
376
414
294
217
276
303
218
263
351
350
292
360
321
255
234
281
308
313
281
319
315
311
262
295
311
290
147
357
297
344
318
346
329
349
333
344
165
320
325
351
385
240
326
311
275
243
363
309
295
292
456
224
394
415
375
322
378
405
336
318
318
345
380
267
290
335
362
296
284
333
289
233
413
353
374
344
263
309
282
376
312
262
376
230
281
289
315
315
354
262
316
345
280
375
296
309
220
276
306
284
311
266
303
376
271
346
237
342
294
300
306
357
247
301
315
277
247
321
365
229
424
233
288
309
333
358
269
422
258
358
378
326
338
371
330
322
311
300
368
356
318
305
298
268
314
303
385
245
304
317
354
347
379
352
380
348
300
339
307
354
345
341
318
344
319
319
383
279
408
311
328
262
337
390
395
311
327
388
281
321
212
330
375
327
318
282
295
397
330
219
385
332
388
287
353
265
247
197
367
308
371
271
351
311
329
361
341
353
241
349
360
323
383
300
296
359
290
324
344
272
248
319
288
337
309
303
352
240
340
334
391
364
292
312
282
316
326
313
261
335
348
384
305
401
279
258
277
345
287
376
283
300
316
353
301
371
325
313
357
291
359
323
340
317
345
357
241
234
341
295
319
368
370
332
384
477
300
319
331
246
262
219
281
318
297
361
376
332
397
248
300
326
219
300
309
335
359
319
320
301
370
292
327
294
282
308
328
376
361
335
300
286
265
349
254
321
297
359
248
366
266
362
209
270
349
305
282
321
300
309
272
266
336
293
298
291
298
366
294
325
279
375
370
254
350
303
328
295
325
265
290
300
398
334
353
265
346
332
312
404
257
354
251
291
340
373
476
378
368
282
278
310
241
351
371
262
403
284
280
374
348
274
319
344
296
385
353
303
228
345
347
273
364
327
361
248
305
400
275
273
389
359
315
351
340
359
307
355
312
338
311
269
262
311
362
308
305
354
331
320
337
352
331
323
275
318
311
302
316
324
359
346
400
306
362
288
401
312
259
293
295
277
379
332
364
204
313
371
270
333
261
350
298
357
321
316
331
363
301
363
392
274
349
344
330
335
292
323
305
333
348
280
330
321
254
325
260
278
262
323
288
420
288
243
351
265
322
298
343
289
247
332
373
318
320
280
346
321
281
278
367
321
382
301
299
361
311
303
282
276
267
337
279
326
322
390
350
305
325
337
317
396
282
236
310
428
327
344
344
339
288
235
219
342
276
303
388
249
328
258
290
352
367
308
327
299
366
319
401
310
276
423
332
295
308
313
331
261
269
344
294
327
222
250
357
304
262
269
354
242
315
302
325
232
342
325
331
303
314
290
312
323
324
287
269
231
337
327
322
363
242
378
358
328
370
290
345
297
378
295
322
261
243
362
271
322
308
363
309
261
333
299
395
316
297
318
283
277
363
282
261
328
338
338
331
406
262
319
342
311
342
353
300
240
235
318
273
351
321
287
290
244
294
271
373
334
266
316
370
245
300
301
314
356
387
363
261
345
339
430
298
291
274
336
326
371
354
263
286
296
332
333
365
283
300
327
313
350
334
386
272
266
324
362
338
376
241
299
277
333
273
310
261
367
263
354
376
317
267
312
307
253
231
364
303
322
253
380
320
312
270
303
251
342
326
359
269
354
347
313
399
283
324
315
312
319
331
331
236
362
379
275
389
303
295
300
341
310
281
307
366
298
317
258
269
303
284
298
316
357
332
355
316
349
321
285
289
356
337
234
345
319
262
264
419
300
339
311
398
288
350
373
355
287
444
346
292
383
323
352
259
404
318
276
338
293
314
280
271
328
352
290
351
167
358
410
303
281
355
327
237
323
262
294
256
253
326
310
323
269
287
344
319
402
320
342
384
424
290
228
280
363
309
385
334
370
325
353
290
288
316
288
295
314
291
262
231
336
347
223
327
280
311
227
255
337
244
360
339
317
369
298
365
352
278
279
285
414
268
286
237
235
325
288
280
291
271
355
259
409
361
334
317
351
283
297
229
277
260
291
286
283
378
334
318
306
308
356
313
303
294
286
316
224
222
347
351
326
310
281
298
361
307
354
373
296
245
282
380
254
316
284
307
332
290
286
301
335
353
339
342
308
256
298
315
363
359
289
247
273
323
340
300
371
285
326
319
297
293
291
257
334
426
350
342
380
355
338
328
343
353
343
351
294
351
311
262
319
326
295
319
297
342
321
316
278
303
342
275
282
304
297
322
375
374
346
342
378
315
308
220
335
349
328
360
265
348
338
337
372
341
408
327
290
248
360
266
292
345
393
321
311
282
378
299
257
330
290
318
388
244
250
368
192
239
265
417
222
336
280
280
265
367
338
396
318
268
308
241
327
355
312
314
294
309
272
352
332
310
314
269
325
332
329
262
299
303
384
279
284
310
327
289
332
350
316
291
290
381
345
344
372
361
345
282
287
339
383
402
319
311
221
333
293
265
359
347
311
302
351
305
316
293
356
341
307
358
287
242
352
313
283
290
346
254
295
323
291
311
272
255
231
266
313
245
295
277
291
310
254
401
279
305
293
257
345
320
283
415
294
199
241
326
309
361
305
225
341
418
300
352
299
400
342
423
279
315
290
346
330
282
314
267
304
353
262
257
327
254
382
365
249
306
317
333
266
300
268
333
331
282
341
424
251
299
372
327
394
400
285
318
212
357
374
253
317
389
248
311
321
316
284
312
248
344
339
254
411
274
344
353
297
363
323
285
353
366
332
313
316
336
373
298
379
287
355
293
355
331
290
309
311
320
391
354
293
296
300
335
352
337
331
304
316
306
201
314
384
369
334
357
251
283
361
278
377
333
274
362
257
286
411
278
353
317
321
416
279
321
351
291
353
354
269
298
282
356
382
343
316
328
336
368
301
301
395
315
260
339
314
326
333
290
388
314
301
378
313
315
425
304
379
356
296
163
239
280
369
246
298
372
192
239
338
263
255
275
299
349
339
298
388
335
297
346
298
342
357
374
269
340
280
348
313
290
412
361
329
346
338
285
275
331
350
306
373
356
242
354
292
340
257
354
322
362
281
344
268
299
342
262
337
320
358
381
233
271
303
358
331
293
292
321
318
325
382
224
343
308
292
369
296
345
334
287
402
351
314
295
294
332
229
373
265
266
346
288
330
280
373
313
337
283
233
285
373
297
233
325
311
333
306
216
359
274
205
358
355
226
349
283
273
345
319
338
233
281
352
385
276
363
355
367
331
276
302
313
319
307
271
242
345
272
235
336
281
291
271
360
349
323
258
323
222
311
386
284
316
270
316
319
399
181
339
300
345
299
278
284
299
355
358
300
311
268
255
261
328
351
354
309
321
339
323
295
342
285
289
308
293
266
260
325
269
295
392
346
346
323
296
335
345
258
297
337
327
343
317
348
355
321
348
262
306
288
319
373
316
320
277
291
369
222
337
219
342
250
357
300
268
337
315
311
396
279
321
283
226
282
321
323
285
333
343
366
316
330
347
225
312
304
348
367
370
284
363
372
277
364
322
287
314
313
407
339
352
331
234
277
294
269
304
284
289
297
298
247
283
226
364
329
231
249
304
215
279
337
385
330
268
381
330
325
248
307
265
303
372
331
383
335
327
332
341
386
321
280
236
271
345
318
359
297
253
334
346
298
282
345
326
353
313
283
343
308
253
309
220
252
291
299
278
342
344
341
393
259
391
256
338
318
299
380
350
414
345
307
345
301
269
351
257
369
339
246
286
367
303
286
375
367
332
315
325
259
275
295
394
326
299
301
249
327
310
355
402
250
329
273
227
315
304
308
306
363
263
317
271
240
279
355
259
367
376
321
348
332
357
286
262
305
336
369
300
298
260
322
361
272
301
298
313
370
331
320
322
314
365
315
322
351
272
384
289
253
291
298
306
417
251
295
315
344
308
221
349
335
320
365
309
301
340
302
303
239
326
253
285
329
371
392
340
363
295
229
319
245
351
334
342
307
367
308
347
331
305
363
292
292
316
341
240
345
337
304
334
310
302
304
302
308
325
289
293
330
319
228
230
352
265
376
287
294
380
325
315
252
366
401
262
273
366
265
427
338
388
352
358
356
299
349
342
320
361
315
357
334
311
314
261
263
299
307
381
277
377
320
338
331
265
344
295
328
330
331
318
381
288
302
312
317
441
301
351
353
387
360
370
215
316
270
284
350
441
295
285
311
342
310
368
355
342
262
315
291
324
266
309
315
331
338
305
385
315
206
304
308
331
320
348
315
265
276
294
320
287
288
268
246
240
306
346
372
310
215
342
340
402
252
336
251
306
232
333
258
312
287
292
290
282
307
354
311
310
329
345
247
390
283
344
326
304
283
337
225
274
288
356
354
260
306
292
228
288
372
248
283
331
329
333
368
367
262
329
274
310
367
292
362
312
257
389
306
280
340
250
310
322
288
297
300
309
282
406
356
402
335
251
288
359
351
299
349
240
367
336
290
295
294
369
223
352
307
361
302
365
301
276
271
282
309
337
334
400
306
321
311
311
345
301
422
240
266
324
286
313
268
267
208
351
333
244
379
280
320
329
346
357
281
339
330
300
263
380
334
373
291
324
307
348
261
308
339
279
298
368
288
376
357
302
313
350
295
307
267
359
281
309
265
258
292
225
381
347
301
307
296
203
294
329
324
364
300
353
293
291
365
371
378
133
280
351
330
268
252
377
293
306
317
316
317
388
315
360
251
370
329
323
341
370
312
322
324
233
281
318
278
298
258
325
367
273
319
332
270
270
354
298
391
334
278
280
318
213
283
363
332
248
393
349
320
243
398
385
268
295
264
358
282
335
232
303
356
241
237
330
339
278
315
318
289
378
311
278
265
275
210
348
297
272
295
360
332
293
350
362
316
325
349
345
243
348
340
235
327
367
314
387
284
304
306
304
292
191
286
286
318
271
350
376
220
339
371
374
307
319
283
184
331
268
345
347
318
311
284
276
388
277
362
313
374
297
284
322
216
357
250
255
330
249
245
312
283
377
299
329
275
420
339
277
273
306
421
302
373
321
393
279
322
321
319
345
325
272
294
312
398
286
344
314
368
301
302
274
266
311
281
262
254
336
275
321
421
325
363
321
362
349
309
233
260
292
296
324
319
375
315
334
261
314
260
333
342
319
368
302
350
351
322
335
358
309
347
320
303
357
256
303
364
311
290
246
338
253
341
281
297
349
276
347
275
308
401
321
332
282
247
302
391
277
346
341
271
348
330
320
313
319
241
307
338
284
355
299
335
291
380
269
258
337
405
374
351
322
308
447
315
326
233
313
279
257
324
263
394
229
340
265
305
357
345
383
360
332
310
327
306
271
342
353
341
375
319
298
304
349
258
367
331
286
353
432
347
396
354
260
323
335
319
288
288
393
301
286
313
272
390
335
181
286
352
265
271
372
320
287
350
381
343
305
222
250
277
269
301
360
360
239
293
312
289
340
383
321
301
264
263
400
270
293
339
370
355
261
233
313
350
350
216
320
304
378
298
360
323
292
308
325
258
372
359
328
285
384
247
270
349
338
360
342
325
305
297
273
338
250
293
298
329
383
310
295
273
288
365
332
247
262
290
305
269
350
333
244
345
304
260
247
362
411
268
273
223
329
300
306
395
250
357
339
339
347
381
314
393
312
251
223
347
302
326
358
414
276
307
269
379
339
241
256
413
193
210
318
372
345
219
331
272
269
297
366
299
325
300
281
317
319
361
332
301
358
336
322
368
289
285
282
336
279
329
367
306
368
346
299
357
208
330
330
297
266
325
293
260
281
297
304
277
386
276
270
300
287
250
315
333
333
304
349
362
304
397
383
333
290
287
376
298
289
305
323
304
235
302
317
272
332
273
292
281
348
309
363
351
360
323
298
386
309
324
314
341
203
242
328
363
281
261
323
380
256
307
256
336
358
362
336
300
375
355
362
319
249
300
315
278
292
310
344
302
322
287
333
351
301
293
321
242
293
245
341
361
281
369
308
302
336
317
347
332
314
344
340
260
358
297
339
404
243
341
434
282
336
360
239
311
323
366
327
351
371
372
301
279
207
373
292
327
313
313
390
318
319
298
349
272
231
311
323
362
346
388
227
334
355
305
329
306
380
284
304
154
283
292
296
267
345
306
294
361
329
272
333
341
257
324
356
322
272
274
246
384
303
398
257
334
371
315
263
339
372
228
369
367
253
314
315
322
280
364
335
341
294
329
346
347
273
306
314
337
382
266
346
258
311
329
308
291
369
334
277
325
292
318
300
339
353
347
431
304
377
283
358
316
296
289
321
297
212
292
318
401
270
377
239
341
337
308
245
293
376
344
352
328
283
352
309
274
305
307
306
370
298
356
248
302
413
333
326
336
326
291
305
355
318
398
324
324
327
391
335
370
289
293
352
280
257
252
307
304
279
314
287
350
321
435
272
241
253
297
332
277
344
249
335
296
361
296
293
277
326
332
283
298
282
269
346
352
362
320
299
342
310
285
274
358
376
282
292
277
334
287
274
311
344
411
260
302
288
352
335
284
273
365
344
289
288
347
348
284
278
338
255
310
354
278
308
283
309
317
379
351
314
252
383
354
276
296
349
289
270
317
310
292
324
309
288
333
303
314
276
285
300
319
239
252
301
265
326
289
326
295
294
330
258
307
277
291
323
219
277
326
361
312
210
347
317
341
350
370
301
362
290
349
343
337
243
380
296
274
283
310
259
331
361
272
342
322
373
373
282
380
335
393
362
302
418
283
318
311
242
221
310
304
329
354
242
296
367
381
264
216
306
382
260
331
317
350
359
314
343
405
288
261
304
300
402
278
313
353
347
382
227
270
314
347
330
336
262
257
363
376
348
389
296
306
314
262
380
271
327
285
244
354
369
294
304
318
327
418
311
324
311
338
323
242
264
324
344
314
283
278
309
326
346
304
343
287
337
396
337
313
368
292
373
337
258
297
322
371
276
371
313
350
356
289
260
319
320
299
314
327
299
305
313
279
363
366
253
307
309
284
252
332
340
396
286
373
270
359
229
273
321
243
218
329
275
350
279
270
281
330
313
316
297
350
330
366
302
291
418
359
382
287
296
391
261
299
368
381
308
368
304
355
250
311
331
326
306
286
340
289
355
296
331
314
347
256
386
324
387
367
391
323
267
353
279
273
357
330
351
233
338
350
341
354
326
308
292
362
281
310
306
346
319
259
311
324
238
310
314
308
379
275
312
233
374
251
291
300
371
389
304
397
357
348
257
306
341
368
383
265
292
227
400
205
243
431
372
338
271
350
281
346
271
361
308
331
360
283
249
238
361
346
253
285
262
374
394
372
366
246
366
302
233
369
298
318
307
267
267
370
297
324
255
279
286
364
335
235
289
344
295
290
287
312
348
402
261
380
298
288
286
235
346
378
355
313
309
273
384
278
227
369
316
299
344
217
388
305
280
380
289
336
316
335
366
386
300
321
203
303
211
423
238
326
244
251
328
257
307
194
285
318
276
305
314
401
325
344
318
311
349
283
335
231
356
268
303
264
288
341
357
383
263
344
293
332
315
364
297
284
285
319
360
288
327
374
387
307
244
354
279
345
355
310
324
359
332
372
322
252
282
289
353
347
279
321
376
296
317
384
352
238
409
351
304
384
302
296
292
325
288
261
268
321
295
310
294
301
268
266
310
335
338
338
283
225
283
341
275
364
307
335
343
360
280
234
356
273
364
323
376
322
353
308
330
286
363
278
286
299
328
375
316
318
290
324
354
288
372
278
283
310
252
335
308
259
238
310
387
281
259
436
309
297
397
288
350
287
341
208
294
341
219
274
345
354
367
318
331
321
329
329
377
310
287
387
342
305
327
337
380
207
320
324
267
376
327
292
313
317
202
276
371
354
355
327
313
267
235
336
258
304
407
320
272
341
285
335
338
244
300
328
295
268
275
353
363
197
286
302
319
307
264
334
353
358
274
222
281
355
365
339
342
238
304
350
288
315
335
359
304
332
301
367
336
254
381
305
265
387
310
361
393
290
343
328
267
415
308
339
390
362
310
289
282
307
317
259
256
259
256
233
310
350
336
393
359
402
429
296
378
368
319
343
280
303
334
340
332
378
344
346
264
283
311
305
364
335
325
296
375
298
291
283
344
273
353
378
345
293
289
313
342
378
320
295
323
293
374
326
340
356
338
357
273
290
380
225
389
373
305
359
293
273
385
294
293
282
398
362
319
443
338
302
338
284
179
306
340
252
309
295
352
315
284
316
319
294
375
327
320
389
371
304
328
381
269
272
269
258
324
388
365
351
292
312
354
320
286
356
386
254
331
227
302
309
233
334
326
311
328
284
235
298
258
362
394
320
311
307
386
331
288
259
354
346
372
386
345
303
241
307
364
363
351
270
278
339
294
354
328
263
334
311
345
336
337
390
345
226
293
311
357
261
322
222
276
290
275
305
344
302
304
356
317
373
364
399
242
217
387
283
289
220
342
205
266
296
248
370
356
303
306
317
304
315
229
286
224
316
271
327
277
274
358
273
230
293
384
300
341
300
343
312
216
416
265
287
271
391
331
379
324
222
350
259
300
260
346
305
292
295
323
307
319
379
307
335
215
270
329
337
365
396
358
320
335
256
309
346
425
370
302
318
383
267
345
335
386
247
298
346
366
370
266
346
323
235
347
363
318
392
239
343
354
190
324
292
277
276
349
298
417
418
307
312
347
400
375
279
256
287
368
326
363
319
389
322
335
289
310
275
288
367
343
318
297
335
314
294
226
311
288
383
345
330
316
230
359
303
246
243
265
303
346
377
290
336
326
292
335
325
230
340
343
340
285
239
321
345
288
348
288
337
317
284
282
297
373
250
333
254
227
349
362
316
346
350
390
254
334
292
316
334
396
365
281
293
350
291
346
246
318
370
309
344
287
258
347
308
289
305
232
335
334
308
324
357
263
367
307
316
289
364
319
267
306
316
276
292
335
380
313
281
342
380
257
379
309
415
261
300
371
247
326
357
353
284
334
239
318
352
330
341
329
312
307
399
320
346
307
359
322
368
389
341
380
322
330
295
275
259
368
351
255
380
268
297
249
350
284
333
350
338
293
261
359
281
312
350
399
265
395
367
331
278
363
357
395
338
294
273
362
322
307
301
328
288
281
361
294
377
312
256
276
333
298
324
315
263
337
283
370
261
335
396
337
273
349
258
319
254
304
342
285
265
280
321
325
345
238
304
318
331
237
339
370
333
270
306
280
428
246
320
332
254
274
337
305
342
328
325
222
358
356
235
309
280
205
379
290
335
367
335
286
341
304
329
323
297
449
201
313
296
343
373
339
327
349
344
292
317
383
352
330
306
358
356
233
364
329
334
218
353
314
308
336
300
374
314
320
275
285
341
355
253
309
328
293
402
274
330
319
318
294
374
404
317
249
274
348
318
338
309
349
288
382
310
295
360
349
309
357
379
255
309
373
431
404
350
265
267
287
304
369
322
358
333
314
401
327
380
369
283
330
257
302
350
329
338
322
360
330
386
254
294
285
339
328
292
315
353
393
337
357
374
259
351
330
339
258
282
328
313
356
386
275
289
313
365
367
291
300
305
326
278
334
359
377
366
254
263
348
353
372
281
299
252
317
396
312
298
330
354
380
340
355
267
351
431
275
328
340
351
334
345
365
318
289
327
351
382
294
325
385
317
366
276
350
327
317
272
342
312
322
310
336
350
335
261
270
343
336
339
335
276
241
290
292
308
278
382
308
350
343
314
357
365
241
366
344
255
377
286
270
349
422
321
248
287
344
337
381
282
318
417
394
296
327
256
385
328
310
290
285
325
413
147
266
324
308
269
338
310
335
317
349
344
335
329
307
282
330
283
379
330
375
288
337
328
345
287
387
339
268
312
252
340
356
301
319
340
212
261
211
342
301
340
411
369
307
313
241
294
286
275
405
346
316
325
317
317
307
296
311
307
300
288
355
299
326
326
357
346
281
373
321
243
369
287
315
292
293
362
281
345
334
254
235
374
268
290
268
307
300
299
287
334
375
332
311
370
192
317
333
342
307
372
356
342
311
369
312
319
286
328
304
394
335
226
321
324
300
369
302
309
339
308
342
263
278
298
303
248
334
305
354
326
270
310
299
288
364
339
347
420
340
347
362
292
298
309
300
294
347
397
280
239
340
356
332
355
288
285
296
382
367
334
356
298
311
351
241
338
303
331
334
248
365
344
302
307
370
340
280
324
293
219
278
296
295
298
324
320
343
336
433
303
329
280
221
328
342
276
333
381
339
375
267
322
336
292
365
316
231
366
397
356
389
282
353
296
299
347
292
279
287
249
261
295
280
284
291
319
307
281
283
319
353
302
335
338
254
387
310
262
283
341
282
266
364
357
296
271
317
265
332
345
293
341
330
272
320
319
340
350
254
198
292
297
392
280
347
242
327
316
344
326
255
327
236
384
272
363
257
368
402
294
330
294
326
362
302
287
361
318
308
324
320
279
343
377
367
282
275
356
270
329
275
286
331
285
331
306
304
346
342
222
337
230
364
340
285
345
270
304
284
263
387
263
267
316
326
325
325
237
185
286
315
341
243
353
342
261
316
412
369
382
261
350
256
359
334
317
341
349
284
252
294
387
360
333
340
390
278
338
408
331
330
418
275
353
253
293
287
297
244
331
309
360
358
337
257
331
286
358
310
301
284
331
354
278
372
314
357
327
360
259
238
386
326
312
313
325
344
358
276
412
295
270
293
266
327
290
327
313
459
346
277
337
298
303
306
309
370
276
327
237
335
326
319
289
318
212
249
283
316
345
323
308
265
362
365
268
263
261
278
335
308
294
352
373
287
247
319
199
377
337
336
241
351
411
337
339
346
389
392
379
347
336
395
337
348
320
367
286
307
248
244
264
333
276
361
284
217
295
312
392
247
281
277
241
262
214
274
299
263
265
347
250
234
381
249
329
342
290
329
336
308
328
281
313
336
384
286
242
346
423
305
318
285
302
340
355
262
384
346
339
273
374
307
290
319
372
339
265
289
312
399
299
270
393
318
299
266
352
337
262
321
330
354
269
356
337
302
284
311
284
351
315
317
286
255
321
377
335
336
346
288
284
348
360
306
291
325
273
301
281
318
350
365
392
304
318
379
260
262
251
322
343
367
308
335
263
286
392
340
351
283
261
264
246
285
333
318
250
324
334
349
357
260
260
302
280
341
269
310
292
261
300
292
285
323
265
244
369
275
391
367
307
292
334
359
333
242
252
334
329
292
262
346
260
208
386
348
307
366
355
331
354
297
299
288
364
330
373
379
323
320
295
329
361
346
249
306
382
383
339
357
315
291
261
235
226
303
339
351
300
298
269
296
349
321
250
345
281
351
267
312
301
305
326
342
339
406
243
333
311
302
355
313
287
335
325
321
346
363
294
345
207
366
297
363
340
312
402
257
275
311
283
404
303
267
337
232
267
360
356
280
271
302
342
330
322
237
310
324
247
380
312
317
214
320
316
273
271
338
296
306
276
427
276
402
341
332
278
312
340
351
238
319
337
349
407
431
233
317
329
293
267
285
426
299
257
282
295
323
311
383
292
316
341
257
318
330
235
266
360
347
302
307
329
308
382
290
271
352
380
344
243
313
259
322
313
332
363
308
313
302
255
343
336
249
354
321
272
254
461
275
308
369
360
339
341
269
317
288
336
281
346
300
372
313
345
295
317
380
325
275
332
281
311
302
297
283
298
338
385
234
335
342
308
290
318
312
304
330
226
302
297
344
347
252
288
237
266
199
387
315
327
338
372
368
305
306
311
306
360
310
261
332
307
328
321
266
297
331
379
373
371
218
389
315
291
296
382
388
316
327
286
342
330
272
231
307
255
352
333
380
329
351
298
265
313
386
330
247
262
321
262
273
343
244
348
286
315
287
311
334
332
246
267
362
246
268
276
304
358
280
333
303
349
391
304
350
301
259
287
311
287
187
250
268
315
306
294
316
315
244
270
383
384
303
251
232
344
284
350
320
216
299
339
384
263
298
331
356
385
360
396
316
354
299
322
308
292
323
264
250
339
367
288
332
254
296
327
262
291
312
336
365
320
391
296
374
332
317
234
324
249
341
200
316
302
282
390
298
258
325
302
339
310
323
390
346
307
281
357
364
325
283
367
303
300
263
277
355
357
313
305
372
325
335
327
268
258
309
276
313
303
286
393
397
384
317
354
299
319
382
267
260
285
307
304
251
307
236
406
375
356
363
321
391
341
317
359
346
279
356
327
273
300
296
346
257
345
305
216
385
312
225
312
275
348
353
345
292
317
317
322
373
348
256
308
301
384
330
290
346
368
316
251
381
397
331
305
267
353
360
354
281
340
327
377
355
279
305
314
218
265
363
378
412
232
305
315
282
316
329
353
306
320
294
299
276
358
341
313
343
312
229
254
252
263
320
278
321
342
352
341
345
334
352
383
286
368
350
246
343
245
341
319
350
235
339
343
316
314
327
289
328
273
334
288
382
367
281
358
319
271
307
264
303
219
315
300
301
331
325
292
303
315
271
269
351
355
363
321
351
308
348
260
311
284
295
320
314
335
304
238
307
326
251
377
378
337
338
289
249
338
251
239
318
269
285
343
274
309
273
362
274
280
372
281
326
443
330
343
341
341
281
296
276
369
408
331
350
323
268
229
303
280
350
282
316
284
334
355
326
282
319
326
363
365
370
216
323
299
359
371
347
346
255
338
230
317
343
334
296
280
354
304
320
295
337
288
248
379
303
296
399
273
284
278
319
262
283
259
332
390
210
329
245
352
341
321
368
300
386
250
360
329
347
297
322
261
230
359
363
366
257
351
354
334
361
276
279
325
347
348
361
247
335
259
341
310
283
356
300
220
312
277
301
340
291
363
279
296
312
242
332
241
405
247
304
226
335
223
318
317
303
371
316
410
329
292
346
232
319
271
291
379
329
267
300
323
344
311
348
303
298
283
286
290
366
273
348
333
322
390
333
351
319
263
411
273
273
277
317
323
335
366
319
233
331
315
279
264
277
404
324
245
273
386
336
255
329
247
308
253
311
374
276
322
332
306
433
376
392
380
295
373
281
344
259
402
365
365
264
288
339
296
305
314
237
294
340
357
265
377
250
358
275
293
271
302
302
304
235
348
290
351
335
304
279
307
242
389
307
224
281
290
339
377
354
315
345
355
290
276
209
336
305
398
302
350
334
253
306
257
267
279
319
346
370
362
345
250
354
310
294
391
307
391
322
363
268
265
358
265
340
367
282
382
284
218
336
316
340
245
284
348
344
278
312
356
302
228
332
316
351
329
267
317
248
339
335
303
312
369
385
359
221
355
350
303
263
303
242
315
302
366
318
330
268
304
318
337
288
328
247
374
356
322
339
273
393
347
346
323
248
292
318
320
343
281
253
339
387
326
302
347
366
318
280
368
327
247
365
319
256
329
356
331
215
371
379
264
328
342
332
223
319
273
366
298
335
348
399
297
262
355
299
333
391
369
295
380
296
284
329
351
267
351
308
324
354
289
262
280
345
347
223
368
272
360
295
315
233
352
316
349
266
340
292
253
275
284
341
318
280
446
349
325
308
322
337
277
322
338
304
251
357
280
317
223
292
396
383
259
398
386
312
274
279
306
289
261
327
393
379
311
381
258
289
367
280
297
365
357
353
302
264
360
308
243
273
299
294
404
319
291
298
273
324
348
326
331
288
290
300
247
185
271
292
360
323
347
239
285
268
267
292
353
253
253
368
365
308
267
305
346
278
396
272
374
338
300
292
294
292
285
305
383
323
269
310
334
319
384
347
350
319
280
276
336
379
292
381
355
216
168
298
312
365
356
333
358
309
366
367
321
281
331
297
302
324
317
348
240
312
350
249
319
302
333
285
301
276
316
287
257
328
299
358
359
384
249
335
351
245
272
278
381
368
404
266
322
339
326
347
360
364
352
322
337
349
354
232
345
376
314
292
264
399
308
340
373
363
275
360
270
339
338
279
326
306
229
295
317
223
282
225
313
357
312
206
363
280
309
313
267
270
271
374
324
378
383
313
322
334
323
270
353
376
337
261
352
349
287
297
307
299
372
347
298
293
421
230
291
262
318
330
343
335
336
289
295
348
290
336
365
310
268
224
347
265
338
280
279
375
283
359
377
349
269
360
389
285
248
382
258
317
301
247
328
277
339
368
341
276
312
368
284
323
386
289
339
307
304
285
231
371
232
241
365
305
225
258
329
286
318
347
279
253
388
400
250
281
246
349
363
331
351
251
325
351
351
275
285
316
301
338
338
383
389
356
302
288
334
305
356
312
356
261
351
360
308
281
267
350
347
353
363
187
372
304
274
280
371
282
279
298
233
293
369
325
321
304
443
366
371
328
301
323
365
335
279
309
324
366
342
322
321
315
377
277
360
285
351
318
382
331
347
366
401
308
357
320
300
264
369
325
332
383
330
336
291
248
298
375
303
336
322
321
320
290
361
324
362
259
330
262
388
284
242
331
274
289
304
357
335
246
317
315
329
326
312
291
263
283
322
251
273
256
315
334
275
402
329
337
335
393
297
188
285
339
297
313
348
300
284
365
294
379
252
327
287
358
261
395
256
275
295
271
397
342
356
246
289
305
365
364
365
247
385
275
365
347
385
230
322
304
356
256
329
256
361
313
359
254
303
336
307
277
376
284
358
368
271
316
296
339
382
350
345
313
298
362
307
292
255
316
346
298
317
322
378
263
286
330
314
354
238
324
341
317
294
316
281
332
289
322
384
315
360
346
364
358
279
287
336
287
235
311
306
335
415
261
243
287
348
304
191
339
349
302
318
276
246
340
329
300
343
322
337
330
277
385
357
374
318
337
355
311
284
295
276
300
321
339
306
263
235
302
327
303
302
400
356
308
356
285
316
264
420
361
374
362
365
279
394
398
345
302
307
396
360
265
230
373
306
288
298
331
372
301
300
344
337
383
284
271
336
330
256
248
337
244
347
305
296
361
325
374
302
292
334
322
267
208
299
335
301
358
312
307
286
328
447
320
382
266
368
353
319
419
298
307
339
340
333
368
399
355
321
349
293
364
374
353
374
379
358
320
320
359
353
360
331
384
292
321
344
390
298
371
311
319
331
271
306
324
242
321
283
270
286
294
233
284
286
390
310
285
275
399
311
257
280
259
410
290
347
343
329
296
297
332
318
302
334
280
234
321
295
326
279
352
284
238
368
386
307
324
277
279
280
327
408
259
358
336
347
354
310
294
413
324
285
400
244
339
281
323
338
370
303
295
374
298
294
324
285
311
265
288
315
223
332
282
275
250
282
364
327
280
278
318
357
290
326
388
319
364
256
297
259
267
340
385
347
203
352
374
314
360
306
383
282
301
272
299
309
330
351
351
238
322
297
255
308
412
361
341
324
307
322
331
363
327
327
375
336
359
239
348
291
360
273
233
302
368
233
391
355
245
330
325
345
346
300
274
314
387
400
330
297
282
283
334
343
304
283
346
302
338
330
318
307
362
262
261
270
294
308
338
254
286
338
319
297
310
365
208
290
394
336
288
301
322
379
341
327
333
238
312
296
308
327
346
380
390
344
234
252
331
335
361
330
335
265
379
299
255
291
302
310
313
293
309
327
317
338
343
280
363
322
287
350
256
277
313
411
304
324
358
357
292
342
330
344
354
334
229
400
343
256
353
248
254
241
360
318
310
313
318
341
352
337
304
240
379
358
345
315
274
308
331
237
369
342
279
281
415
312
308
320
310
328
274
297
324
353
278
252
365
266
334
304
335
300
315
320
279
263
351
226
336
344
313
261
287
286
350
318
412
353
219
225
320
224
285
318
391
358
359
294
266
356
284
255
250
278
362
310
280
313
299
289
320
276
332
342
316
335
314
305
291
358
270
336
379
319
317
269
341
291
294
323
283
303
324
319
312
320
286
355
307
297
280
360
316
267
316
288
337
355
304
356
372
348
286
332
252
299
383
303
330
346
264
292
345
314
274
257
308
346
222
351
266
337
310
353
289
309
359
303
377
355
353
302
312
391
393
330
324
395
294
309
336
237
338
288
325
202
360
333
267
279
391
331
322
323
397
331
358
264
327
296
233
306
208
381
274
313
277
338
367
295
280
295
334
296
353
338
477
311
375
294
320
265
298
245
257
312
256
356
399
377
335
382
328
348
342
296
270
260
303
246
213
322
289
303
275
369
267
362
325
355
290
358
324
333
303
299
347
310
335
276
251
270
372
297
325
307
298
380
315
329
361
296
295
381
386
283
280
365
323
330
342
352
355
302
320
388
327
311
307
234
273
241
312
404
318
378
285
239
347
336
293
277
295
309
338
382
269
293
344
305
331
298
259
339
385
349
251
331
303
342
333
288
280
301
269
322
351
243
302
219
344
301
343
309
338
332
316
357
267
310
300
283
331
268
346
285
352
292
337
335
362
355
269
224
389
278
369
321
302
346
253
277
348
312
263
347
333
312
340
260
385
337
339
255
320
333
372
365
267
319
356
251
335
248
381
351
295
223
283
296
242
295
276
285
366
275
349
373
341
202
305
311
341
270
242
322
288
303
285
360
309
313
388
364
317
260
269
360
342
340
374
289
296
275
414
315
349
326
328
338
331
285
303
332
329
305
330
347
358
357
328
338
330
279
227
351
307
395
319
270
376
288
321
325
358
319
348
291
341
351
267
297
282
426
280
377
313
249
250
248
273
374
296
329
326
363
334
253
344
270
233
363
377
316
341
307
347
321
303
286
366
430
325
324
290
423
394
339
263
368
269
273
235
316
245
338
293
342
313
290
301
281
262
295
279
261
327
267
299
308
291
284
316
323
312
345
398
310
290
252
300
346
277
302
361
364
374
332
255
316
279
341
328
302
363
369
349
269
317
271
358
324
266
396
291
294
403
402
282
336
290
244
248
341
293
247
228
296
311
255
248
299
334
289
291
300
266
315
356
314
270
218
218
318
394
383
402
349
329
373
272
199
327
289
336
344
351
356
264
296
198
400
302
355
310
344
378
262
249
353
311
336
288
276
325
248
301
286
357
304
360
315
411
408
370
319
310
320
346
349
315
312
303
216
247
361
300
205
325
231
329
313
315
288
334
267
279
386
339
342
398
290
438
389
314
311
321
335
328
334
300
315
378
329
286
353
293
250
322
224
290
235
318
342
338
353
290
346
315
317
321
272
335
349
278
339
264
410
336
290
286
274
313
255
332
296
303
380
198
338
302
327
382
318
307
295
421
271
325
321
298
317
260
378
346
371
338
427
319
365
246
316
330
279
304
271
290
222
286
355
288
354
308
405
362
313
284
285
283
269
289
387
248
288
346
356
350
401
306
321
338
310
281
305
292
220
375
296
307
267
344
317
292
368
350
300
292
219
316
408
311
307
250
327
399
271
374
289
320
365
259
369
218
240
287
309
324
329
290
325
357
347
339
337
339
341
365
254
377
361
343
357
333
285
264
300
350
320
270
300
357
334
349
239
310
258
261
318
369
267
360
342
367
263
293
285
359
345
295
308
379
277
282
274
266
314
331
373
363
379
311
276
188
283
234
293
283
321
306
234
303
354
293
323
378
300
291
365
310
320
342
247
367
320
335
371
314
288
261
303
325
306
311
302
349
296
313
281
200
351
364
335
312
306
234
263
382
337
369
251
276
365
321
314
306
312
291
315
363
363
269
242
288
222
298
289
339
241
319
312
377
294
313
343
303
259
310
328
341
315
240
334
287
256
321
331
314
308
306
392
312
252
345
356
291
351
372
342
306
264
247
256
354
314
309
244
247
238
287
320
309
338
286
261
298
306
360
289
358
334
310
306
290
295
272
284
370
308
358
308
292
292
413
280
396
370
324
316
343
295
247
346
286
359
300
203
320
293
315
318
255
331
332
308
288
289
338
359
306
318
325
257
359
368
299
282
341
360
336
276
253
352
272
337
280
283
397
407
315
317
343
287
280
443
257
292
283
261
266
300
285
339
301
313
265
289
295
372
316
376
312
287
338
351
363
313
314
300
293
234
301
338
417
315
238
295
331
378
270
320
339
328
363
346
399
386
320
331
281
306
290
314
336
363
281
318
274
249
305
372
280
350
345
334
302
237
308
286
309
314
249
271
337
330
312
256
312
313
309
297
302
371
302
284
324
355
357
290
337
292
366
290
335
235
275
342
310
339
405
313
319
304
322
334
314
240
286
302
357
331
340
380
304
394
322
305
340
294
366
303
377
317
167
341
369
317
313
273
289
292
238
380
361
340
375
344
350
299
307
305
294
317
325
339
323
299
254
248
280
284
251
416
249
385
317
291
257
373
335
294
374
251
364
310
299
307
317
198
374
277
298
327
288
306
278
355
452
376
357
387
279
280
358
348
238
293
271
360
228
189
337
298
243
249
308
217
281
350
368
263
275
333
315
251
404
293
376
272
314
300
309
295
265
361
316
304
374
360
352
311
292
346
282
347
279
367
350
367
300
333
336
361
265
385
240
311
329
219
329
283
321
345
296
289
290
237
310
340
327
344
322
317
321
319
411
351
274
343
348
293
312
307
375
208
328
342
405
319
314
296
353
319
362
295
297
297
278
376
342
367
291
391
310
304
374
331
304
336
365
288
328
388
378
291
308
287
335
280
318
251
277
256
345
344
303
273
371
280
435
290
255
333
294
372
242
423
314
358
338
318
251
346
401
342
290
300
325
341
351
389
235
328
233
211
308
304
296
345
337
352
331
321
337
299
374
369
390
257
347
348
352
344
343
313
260
350
333
311
302
292
334
327
300
316
307
372
283
275
268
346
349
351
344
365
238
284
339
319
344
305
308
286
287
331
228
371
311
275
328
247
309
208
348
260
397
293
284
333
303
368
308
369
332
330
314
287
318
308
231
298
339
302
216
293
409
312
332
334
315
328
274
335
315
274
299
246
330
338
341
306
257
441
334
287
270
377
312
301
363
319
211
347
365
332
266
237
284
328
294
345
342
342
244
380
329
378
282
324
256
318
263
217
310
379
347
342
376
230
266
307
355
265
285
368
307
348
272
253
277
311
355
358
341
265
299
328
224
273
243
275
283
259
332
271
294
346
331
293
221
352
334
290
243
338
340
219
375
321
298
336
299
370
261
276
335
361
287
281
286
349
374
306
308
295
230
315
275
349
293
366
347
294
371
350
300
257
340
326
360
243
335
283
216
259
301
350
411
326
329
292
256
267
373
325
338
262
424
310
344
233
334
328
346
319
228
326
269
361
305
294
330
263
316
278
286
342
248
274
326
279
292
341
322
287
388
297
308
343
343
292
312
312
345
279
331
283
354
350
302
396
119
316
364
239
398
227
303
291
325
327
357
339
355
293
284
374
296
376
274
296
255
313
315
292
300
340
352
306
311
306
297
290
350
282
286
172
282
309
265
311
338
382
331
280
283
278
248
278
319
327
387
320
280
302
352
348
297
297
285
316
307
354
377
176
330
263
328
299
284
344
336
280
340
302
305
296
312
384
322
256
325
334
300
290
331
277
386
322
188
295
307
307
336
321
399
320
334
376
316
283
363
259
362
331
269
334
305
255
409
373
325
280
337
362
343
228
388
341
286
252
352
378
276
299
353
302
301
372
290
395
333
301
315
219
374
310
294
313
286
398
266
295
354
304
386
380
271
336
347
289
233
373
252
327
298
257
350
339
248
345
239
295
331
316
275
251
258
305
255
323
286
351
300
282
247
352
306
283
303
292
318
316
320
309
258
260
255
354
371
263
333
357
417
289
341
302
327
348
254
294
306
366
384
364
353
295
310
286
342
325
307
304
399
379
315
343
260
327
284
308
380
337
330
275
330
269
302
337
362
406
398
283
381
349
287
338
324
358
269
327
334
326
318
321
266
365
304
337
345
285
297
310
346
405
348
284
302
333
306
340
330
282
329
327
283
363
384
388
374
294
337
323
361
375
343
271
260
283
313
280
336
345
287
300
343
220
367
282
261
328
293
331
300
373
265
353
335
383
303
387
351
346
257
258
326
278
339
281
319
318
345
348
384
315
413
380
224
355
284
254
230
371
325
247
340
347
357
320
340
283
146
406
346
309
348
288
256
302
314
301
312
367
330
295
320
274
358
273
410
268
347
288
315
213
285
237
337
385
233
314
328
303
359
316
276
309
272
237
295
406
332
300
284
253
386
393
236
334
374
358
247
274
221
338
281
244
332
281
306
311
280
279
368
266
218
283
335
265
341
362
366
287
254
276
313
295
378
232
320
333
281
399
264
260
377
324
326
322
201
234
315
336
305
281
292
299
298
378
284
369
362
321
319
292
354
319
285
319
287
323
357
336
331
335
350
345
298
343
360
294
266
298
346
249
294
257
337
276
335
253
326
260
316
234
345
310
300
322
386
344
314
291
281
364
334
294
316
368
329
269
236
340
248
252
375
311
306
325
345
334
237
242
303
257
354
298
346
329
376
359
332
313
333
292
324
327
301
411
324
316
236
295
307
226
288
342
286
324
325
287
318
318
362
281
308
363
356
349
286
349
278
334
249
286
325
241
313
297
289
262
332
276
367
324
338
270
346
361
305
360
337
282
363
357
293
316
274
279
314
300
316
286
352
379
310
262
337
297
246
346
337
220
275
357
330
293
337
343
226
417
307
360
248
360
277
311
323
258
352
242
342
229
337
304
267
344
321
318
338
334
275
236
358
331
383
283
358
327
286
267
374
334
353
337
282
323
260
340
315
419
318
300
222
298
336
381
361
310
285
298
361
307
382
243
290
388
269
308
276
346
348
306
290
260
323
378
338
267
303
246
366
275
273
298
405
311
279
358
320
242
340
300
348
333
312
344
343
328
357
378
275
349
246
333
229
311
223
277
314
303
323
274
325
288
328
338
371
343
346
339
277
357
385
322
274
344
350
305
331
357
326
327
322
320
387
372
320
321
293
310
285
293
247
354
305
300
262
342
413
338
372
260
306
311
283
335
313
371
398
196
355
273
323
388
365
332
281
333
249
315
347
326
321
346
279
364
326
364
351
357
258
367
320
281
337
403
320
313
299
243
318
285
264
286
324
352
439
280
310
265
267
392
334
269
345
345
356
340
335
351
371
258
334
333
314
365
255
282
320
380
260
286
333
363
236
382
351
358
309
345
320
391
332
321
393
261
360
322
216
341
361
259
317
297
298
311
254
395
389
342
293
297
362
261
282
353
352
344
329
302
307
425
300
357
344
367
332
183
346
298
304
301
304
415
334
277
346
309
325
325
327
311
370
285
235
428
296
370
247
261
385
334
310
312
333
297
351
288
360
287
298
323
287
401
255
300
333
346
343
310
313
314
251
302
353
292
369
341
317
296
299
287
309
286
233
299
312
296
337
310
303
338
353
356
379
289
374
348
347
280
350
386
336
283
323
335
292
289
309
387
275
289
265
356
224
260
376
268
333
339
346
319
272
244
248
383
373
250
298
307
262
303
342
350
273
293
336
261
327
353
297
388
297
278
324
293
253
275
270
306
324
323
246
241
288
345
315
348
350
369
396
336
358
313
326
406
316
364
284
358
407
211
310
322
390
316
323
358
316
316
381
316
287
357
269
363
324
313
361
372
375
235
360
324
397
348
278
358
355
313
365
279
316
331
332
394
305
294
356
368
247
312
384
304
286
269
347
265
289
236
308
313
298
324
255
313
306
340
307
278
307
243
304
320
407
278
294
371
364
342
224
272
251
346
313
363
393
264
285
331
325
311
415
305
294
296
251
345
248
291
256
392
298
291
257
360
303
321
334
318
322
353
274
302
298
313
302
318
301
246
291
265
372
326
249
318
264
310
314
313
295
270
293
245
283
325
331
303
327
329
250
383
340
317
361
407
300
287
300
331
325
386
318
391
340
198
328
389
283
333
195
293
306
396
314
289
196
349
305
347
352
289
374
320
252
258
346
346
376
305
255
369
262
290
289
320
416
221
340
274
265
285
235
324
257
365
361
296
311
372
270
370
296
321
277
331
318
256
366
259
318
316
270
280
351
393
294
405
228
304
287
399
333
314
236
336
268
273
285
372
324
304
327
294
324
291
319
393
343
419
314
293
304
314
294
318
275
328
285
321
342
296
210
358
294
294
307
274
312
296
384
352
309
310
298
291
246
415
256
322
313
226
271
274
387
377
379
294
341
378
372
274
267
254
236
292
307
334
377
392
293
297
311
296
354
342
347
313
326
343
301
234
371
351
358
306
327
358
285
348
287
338
305
274
242
400
312
278
316
344
348
269
284
359
298
249
304
252
289
299
288
301
284
293
241
265
337
316
283
338
248
302
373
339
348
317
307
246
321
345
358
320
225
310
308
320
262
276
310
297
351
331
241
300
400
352
301
282
413
328
374
357
303
304
380
312
333
290
329
311
271
317
260
338
364
314
271
341
327
378
375
365
155
310
266
188
277
292
290
299
347
317
375
306
356
332
278
359
259
391
359
292
267
315
311
319
337
345
288
336
279
340
257
334
325
336
369
290
310
334
325
283
334
279
362
328
357
266
376
260
310
323
353
272
329
257
320
316
326
282
350
296
330
265
331
342
344
340
339
274
350
298
323
271
355
261
277
274
415
355
260
338
335
324
338
295
310
294
311
313
291
283
299
326
330
217
263
272
293
353
238
373
335
310
290
348
332
345
291
315
335
244
307
280
307
351
303
382
306
304
362
288
305
369
317
299
353
326
291
294
345
275
353
304
387
262
412
258
327
297
311
324
313
253
322
235
308
312
325
338
280
374
354
278
301
316
256
296
370
309
221
264
304
332
344
378
338
291
211
316
361
271
342
336
366
234
224
374
395
319
292
354
330
265
278
336
313
283
280
307
365
399
290
297
318
361
329
374
302
379
361
215
344
320
414
305
316
312
364
307
255
302
357
282
336
328
286
318
354
364
336
270
288
291
319
345
275
303
341
350
240
304
388
274
304
375
247
309
331
292
334
357
312
277
336
274
397
340
315
296
346
354
256
329
374
386
320
331
323
398
369
367
323
303
300
310
307
325
287
304
359
273
323
268
278
290
321
317
354
309
361
293
323
326
316
304
320
265
251
273
331
340
342
274
298
377
323
313
396
276
354
313
281
352
321
315
326
331
377
299
366
372
292
292
379
284
306
311
257
309
362
320
270
328
342
312
309
323
325
270
306
336
348
273
335
282
363
303
309
282
322
260
331
331
299
309
340
312
355
379
278
340
317
289
311
291
339
262
371
319
330
261
325
331
298
315
353
299
267
359
217
367
329
352
337
269
254
331
367
302
280
321
357
298
351
294
372
341
297
323
329
332
290
252
355
248
353
383
364
273
388
313
332
312
299
364
331
283
388
271
389
339
355
274
214
281
279
282
363
297
326
419
334
368
316
272
394
232
275
349
360
380
279
337
300
362
350
344
323
332
293
371
236
285
338
279
302
311
327
393
347
310
321
269
239
339
381
346
427
348
287
369
278
282
260
318
288
307
318
350
306
376
211
319
283
316
324
243
362
308
300
297
311
403
362
367
367
320
361
370
249
309
206
307
246
324
277
302
334
327
352
245
329
312
276
271
323
356
242
411
396
342
280
346
294
311
331
307
279
336
287
306
315
345
336
335
407
323
320
353
365
330
284
252
321
359
341
288
339
267
327
241
336
332
359
316
275
278
335
260
326
286
263
298
226
325
248
225
186
280
350
266
369
354
240
328
392
273
296
292
390
274
304
337
354
303
398
365
282
331
288
286
316
320
379
325
357
349
362
334
286
205
271
315
306
237
383
399
277
232
303
378
323
361
315
399
383
336
327
330
365
288
333
246
257
286
335
298
352
376
333
300
438
303
285
254
378
299
331
348
275
344
283
310
299
330
322
354
348
275
264
283
287
371
311
315
265
289
299
399
314
317
287
372
305
370
324
315
288
331
280
268
297
332
295
321
323
384
354
331
333
296
303
283
364
292
304
336
345
293
293
275
317
264
358
400
354
224
283
334
193
324
296
385
250
369
334
373
293
326
425
412
344
274
285
390
383
253
350
273
245
241
319
232
370
319
311
292
336
317
224
379
302
366
328
341
317
308
333
316
346
347
293
290
339
327
287
251
300
329
315
351
299
284
338
327
347
350
260
289
349
317
367
386
337
325
267
233
280
303
299
293
307
273
280
276
289
231
342
224
319
313
377
299
328
328
297
314
236
264
338
357
376
360
345
313
324
252
306
333
359
348
380
387
294
294
284
323
300
269
294
328
248
366
294
360
341
337
311
393
338
343
363
329
401
247
318
357
342
310
281
246
266
351
323
296
355
375
368
355
354
327
319
262
266
365
366
315
288
343
389
322
411
366
432
293
309
331
332
261
303
308
362
357
264
245
353
277
264
268
313
226
279
346
308
345
257
373
374
300
221
237
399
324
370
330
338
359
300
343
345
297
324
380
231
325
346
316
340
294
252
301
363
325
366
297
282
372
306
391
272
331
275
395
367
347
401
307
366
335
389
227
247
316
298
367
373
374
297
265
351
276
284
266
355
349
290
337
256
243
380
254
372
302
256
385
330
358
209
327
316
311
298
365
278
300
280
248
335
325
304
322
315
288
312
340
282
276
374
285
375
308
294
362
312
386
343
408
267
355
392
275
352
302
306
278
281
358
280
305
210
302
328
371
360
271
274
353
277
316
314
273
382
358
303
296
422
317
309
330
385
282
339
281
276
256
259
239
372
331
334
231
286
321
386
412
352
331
324
269
319
287
391
299
364
313
340
296
333
360
352
282
316
370
413
316
305
308
384
380
285
303
356
286
306
255
391
326
262
265
311
247
297
342
260
259
267
288
299
308
308
309
285
335
323
239
300
318
285
252
387
392
300
376
314
339
290
324
382
309
404
374
296
336
211
232
297
341
343
317
266
299
333
327
286
322
311
374
359
287
251
324
332
356
361
310
331
286
323
386
337
191
305
298
376
192
330
240
323
289
318
383
338
324
320
322
316
268
322
287
271
310
349
287
371
289
340
327
376
210
317
365
276
303
322
395
304
325
252
343
306
378
335
362
391
342
270
378
320
300
311
305
321
250
283
262
340
272
327
227
257
365
381
341
262
330
391
288
278
413
312
248
327
256
304
276
286
342
318
285
280
322
329
401
357
281
255
298
254
273
256
262
348
296
346
352
319
302
272
325
256
279
261
278
255
330
355
373
316
332
352
298
234
322
303
372
330
301
257
415
272
360
313
369
305
284
307
343
348
278
306
309
318
218
335
263
305
291
388
271
330
304
338
249
291
304
331
301
283
342
302
246
290
329
323
316
290
276
285
253
267
301
289
341
268
354
332
347
274
271
326
270
349
339
226
363
327
309
342
407
392
350
379
345
351
230
360
310
342
357
323
323
340
266
275
357
328
306
241
293
383
311
266
335
299
337
284
272
352
267
306
263
284
364
310
360
328
291
298
265
309
378
331
363
360
379
285
263
396
318
282
342
279
374
385
254
348
391
307
278
337
372
307
400
332
219
256
291
265
299
333
388
303
331
379
289
280
278
350
328
297
236
225
359
276
347
347
307
321
299
358
277
356
317
331
355
270
264
323
311
326
329
307
306
308
321
302
306
177
272
344
320
294
295
309
327
340
352
345
329
379
322
295
357
337
270
298
350
269
297
341
261
329
350
266
392
288
318
299
301
380
265
299
275
276
223
389
299
333
301
288
280
327
295
311
374
289
308
374
307
303
340
326
354
330
310
319
337
316
226
266
297
379
351
265
264
403
369
348
370
311
423
327
283
404
358
353
210
397
321
347
339
274
321
389
259
318
206
333
428
371
303
308
396
359
176
359
225
321
369
342
349
295
341
273
266
412
382
382
323
323
303
297
313
279
332
243
309
394
298
315
345
312
281
307
365
369
311
396
357
333
308
305
318
262
278
388
310
268
301
337
258
301
325
290
344
308
306
372
356
329
292
373
301
220
281
359
278
315
300
296
326
342
306
299
414
252
338
286
284
291
355
336
360
373
326
286
283
303
234
319
208
269
331
287
266
335
286
386
313
358
265
290
251
301
395
287
273
273
356
359
319
353
282
330
351
348
313
372
305
310
337
287
345
342
350
362
301
303
248
326
229
340
270
297
288
359
346
392
355
327
350
279
339
217
283
282
280
304
269
331
352
344
332
279
277
291
292
313
270
403
389
313
328
304
249
320
306
256
345
327
331
283
363
274
365
333
323
323
329
300
292
268
376
300
340
311
345
331
375
296
339
377
350
242
298
212
327
287
267
364
345
263
306
291
327
329
341
303
350
368
363
253
356
314
322
376
374
279
323
320
286
294
319
313
332
235
320
335
285
401
337
301
303
328
223
262
349
225
341
326
299
350
284
321
259
287
217
345
264
342
313
338
297
401
413
334
261
262
275
324
307
316
373
277
346
334
254
361
343
420
328
261
240
356
418
290
335
363
320
303
276
392
308
312
305
412
321
342
327
344
265
364
320
322
368
368
302
269
359
326
378
287
277
279
309
365
323
395
306
341
274
260
293
292
243
376
274
355
357
314
333
311
331
259
251
312
361
356
342
295
333
297
210
353
326
302
320
251
375
241
316
352
336
238
335
377
339
379
299
311
362
331
253
364
324
294
318
316
343
270
323
311
351
353
253
273
297
306
383
353
238
336
199
301
316
355
277
381
262
390
337
335
300
325
242
272
315
276
304
342
382
318
372
348
293
327
334
215
398
353
299
370
273
352
320
294
351
266
363
333
291
259
310
262
409
331
299
277
314
291
213
324
297
329
394
234
265
348
404
261
320
375
264
330
372
272
271
282
366
311
344
278
346
242
279
343
314
304
310
306
354
340
314
384
260
288
354
341
291
297
297
312
305
287
239
343
274
286
312
294
315
354
275
272
323
253
289
284
285
295
339
338
380
359
233
357
335
309
285
306
251
341
361
316
300
279
308
324
301
290
311
324
238
379
326
326
328
311
292
247
263
248
376
335
332
297
332
350
349
329
365
349
381
362
256
332
284
356
258
342
335
301
325
377
262
350
289
345
312
346
365
312
346
372
390
322
377
262
309
364
269
268
272
255
254
276
301
233
309
321
265
316
376
318
298
342
304
250
399
295
286
372
288
271
340
314
307
303
244
324
253
244
357
265
319
315
295
355
353
363
384
348
243
236
313
281
276
282
215
332
321
401
346
403
289
346
275
291
270
355
278
401
374
308
326
397
336
314
349
218
277
347
262
298
340
382
306
368
305
327
318
284
273
355
294
370
279
322
346
332
256
236
372
333
285
425
250
366
332
330
250
375
317
355
354
297
357
331
292
358
298
344
422
327
290
310
266
310
261
392
338
270
358
306
309
289
217
299
272
312
318
309
305
302
191
309
364
392
325
324
385
258
308
347
287
337
296
325
282
268
239
325
283
339
285
314
334
278
257
347
254
355
331
292
232
239
361
339
360
340
278
344
341
310
291
239
341
292
254
298
280
297
335
279
230
274
227
416
361
277
301
312
410
288
478
280
408
269
333
285
346
374
312
402
365
305
300
269
215
357
345
337
373
332
291
241
332
262
248
252
233
344
329
299
320
274
321
322
394
277
334
267
340
309
364
284
307
209
329
415
321
334
363
318
269
354
378
402
373
245
315
249
318
306
420
291
251
319
333
314
306
265
307
325
318
314
326
320
259
356
328
253
277
377
280
312
356
373
363
330
383
319
379
318
373
356
313
340
325
250
421
386
314
316
285
295
325
318
374
287
294
337
339
373
311
322
284
336
318
252
206
309
352
351
230
342
278
290
351
337
360
307
292
255
284
339
338
250
420
303
348
264
366
342
299
391
311
353
335
229
315
311
285
373
276
278
245
356
344
386
195
339
327
315
321
370
380
341
341
268
328
234
318
295
312
330
291
324
369
339
304
282
272
231
391
333
256
332
277
295
362
231
234
365
315
267
267
360
318
299
333
353
307
339
236
394
341
362
257
314
333
325
339
304
266
335
359
315
355
394
331
373
301
255
330
239
395
310
337
344
340
369
343
303
261
314
318
337
300
287
369
376
339
292
270
319
363
308
293
350
320
356
249
266
234
302
374
294
307
270
276
236
324
323
320
321
290
266
364
387
325
367
293
385
360
334
339
341
300
255
356
346
228
284
351
352
197
275
253
302
334
345
289
306
280
320
328
325
360
382
294
353
370
316
243
348
238
279
259
291
244
424
341
362
316
281
275
359
376
237
274
309
331
283
295
369
337
339
327
331
276
381
250
267
243
229
335
376
299
407
315
306
371
293
331
367
316
312
379
370
257
338
315
369
277
233
314
382
249
327
379
357
353
290
283
327
287
308
310
321
384
319
311
314
359
362
268
366
303
269
325
329
363
290
294
316
428
296
363
286
276
411
236
232
305
298
318
285
321
337
334
368
332
265
340
265
329
322
337
330
327
355
282
299
286
327
293
318
361
299
329
390
384
231
298
259
328
234
315
255
341
346
276
345
270
325
267
327
414
322
311
257
230
290
313
270
349
301
384
352
362
307
332
266
286
239
318
320
335
371
303
281
355
284
228
353
340
348
313
350
325
231
355
371
295
371
366
304
325
374
328
299
275
296
346
287
249
314
372
321
343
313
258
355
360
293
373
278
278
274
316
307
291
314
369
347
311
316
406
365
239
301
358
340
289
309
299
269
346
315
332
275
375
224
374
306
385
408
360
337
301
255
351
362
382
356
242
362
393
250
366
319
255
253
288
346
324
351
245
347
419
298
245
258
301
364
381
344
297
369
301
291
268
354
322
241
382
332
334
367
392
310
354
293
265
344
303
298
289
352
310
331
304
333
352
350
325
322
315
331
351
321
345
317
247
364
329
255
324
343
306
322
326
311
316
326
322
327
301
348
266
293
351
277
217
287
255
329
316
359
320
222
304
322
321
363
365
299
316
270
322
311
353
300
289
225
297
339
300
324
305
282
326
254
226
295
359
328
313
316
403
252
364
364
242
274
314
311
322
298
335
321
324
285
415
387
354
344
402
357
279
340
316
264
350
236
308
363
371
334
331
308
349
329
320
339
358
294
300
270
267
358
243
347
280
333
292
252
317
322
243
293
325
339
286
421
367
323
372
259
361
324
350
329
287
284
417
307
352
279
356
316
300
287
240
356
365
364
337
337
364
317
325
304
310
310
271
295
374
306
339
256
316
250
300
231
205
277
274
350
326
348
297
268
271
347
225
333
396
335
286
300
348
293
288
315
276
297
321
341
338
266
264
335
246
238
349
319
267
300
377
329
329
283
281
299
304
326
300
310
299
318
323
330
299
335
378
296
378
299
341
332
317
386
265
274
285
216
318
253
323
373
389
312
333
332
281
276
268
289
388
289
352
355
405
363
324
250
320
326
326
297
381
358
340
324
258
322
261
364
270
288
325
352
312
308
293
303
307
352
293
364
244
324
263
398
348
258
299
242
299
329
308
346
367
391
304
332
289
300
387
244
245
259
295
263
320
281
337
352
240
315
319
311
341
348
364
354
307
260
233
306
265
320
314
270
328
229
326
358
232
337
297
215
233
295
258
358
336
367
277
292
318
386
306
405
374
245
296
302
324
329
332
324
312
307
368
407
270
279
289
310
340
347
316
215
338
262
305
397
365
264
304
303
341
310
314
229
297
318
230
345
371
322
236
257
334
234
327
256
300
269
379
326
337
329
332
343
323
373
331
309
353
318
269
321
375
335
345
347
292
277
362
334
364
325
352
311
327
277
307
388
323
328
306
236
270
351
363
281
340
289
353
224
332
356
330
275
265
381
346
219
308
339
235
283
330
328
311
314
318
324
423
281
327
363
279
253
335
275
342
279
339
253
336
351
327
332
337
299
305
312
403
315
361
321
299
219
283
324
372
310
342
354
294
299
339
286
318
383
349
344
448
295
393
348
260
296
335
301
325
358
336
352
330
305
389
293
277
244
365
241
269
335
226
318
366
328
341
326
308
370
333
308
228
409
385
302
283
327
283
253
352
305
274
248
324
280
337
237
384
275
302
300
363
287
286
304
310
304
317
431
345
271
354
277
310
332
293
311
356
258
240
381
259
270
335
302
298
311
337
355
366
340
294
319
268
271
250
266
309
267
334
314
318
267
263
261
317
319
282
244
282
326
244
370
215
315
317
321
291
215
290
292
275
281
288
319
382
274
369
258
342
295
340
328
381
289
294
255
279
197
279
290
285
313
370
322
314
331
336
348
325
272
341
301
372
249
327
311
286
362
280
306
237
313
327
370
308
212
360
353
264
344
362
316
419
314
300
288
276
324
301
340
263
288
285
375
348
254
300
376
367
337
258
362
304
297
291
345
300
327
267
317
242
391
314
292
339
307
296
357
259
291
367
289
331
246
340
362
269
336
356
385
317
358
351
282
210
318
221
317
296
309
312
242
362
299
307
300
293
268
329
282
330
333
343
311
299
256
274
253
372
363
310
335
315
305
328
253
252
222
428
296
292
378
300
284
344
320
279
381
357
317
299
288
253
254
296
358
321
242
311
303
265
333
282
301
311
274
277
285
285
267
373
295
288
278
349
307
238
299
310
281
305
289
307
301
349
324
338
280
333
381
316
294
329
291
260
293
264
317
315
355
259
337
352
353
281
238
381
335
294
282
320
309
297
323
302
289
271
334
329
364
327
266
330
316
299
289
303
300
270
325
309
313
288
363
316
338
334
352
324
299
336
311
280
245
394
369
313
251
380
223
268
307
259
325
291
243
338
297
298
282
327
346
289
351
261
292
303
306
238
326
381
335
359
338
362
354
316
298
277
359
320
300
354
297
315
308
287
270
306
335
338
306
375
395
297
260
260
306
317
309
310
359
275
331
268
318
345
318
283
240
293
312
358
300
419
299
345
267
329
388
333
269
310
338
289
430
358
382
318
342
269
262
339
329
235
386
336
332
403
334
263
337
380
295
254
322
277
313
324
258
450
318
339
332
344
312
243
318
321
289
232
221
309
273
397
355
313
340
282
290
390
232
298
290
289
349
310
357
292
323
319
325
323
370
341
201
387
295
302
324
278
290
346
272
274
244
288
231
337
242
305
267
256
279
333
366
352
273
284
365
318
306
238
346
304
278
351
333
284
244
261
308
355
236
349
275
240
327
326
225
316
316
410
296
344
304
364
316
352
358
260
274
374
349
387
493
306
375
302
344
349
391
355
323
283
332
309
365
318
282
343
288
301
418
307
186
299
323
340
257
309
390
387
299
326
400
324
327
406
309
317
360
345
292
263
368
268
330
351
284
289
271
326
339
314
360
337
294
306
363
292
339
335
292
331
355
323
317
307
341
258
348
304
304
324
340
275
332
347
350
316
291
340
298
361
314
327
337
289
353
277
338
364
305
299
281
335
323
309
291
191
310
360
299
355
268
364
323
229
285
366
382
343
302
284
358
348
403
337
262
357
357
300
250
272
340
309
232
283
440
191
403
310
273
384
398
291
332
258
372
265
304
268
293
361
332
322
287
317
315
320
321
385
389
374
219
336
356
323
414
249
331
302
315
354
300
295
339
289
228
323
350
346
308
297
334
350
313
301
297
283
292
413
322
300
378
324
292
266
293
354
307
319
229
325
271
369
371
334
289
320
307
320
284
294
231
266
304
269
293
326
332
317
280
272
346
338
346
344
360
219
265
323
297
290
342
396
291
247
329
307
302
380
325
333
281
349
300
299
390
299
362
299
262
243
339
321
367
395
292
368
271
339
261
327
302
293
232
280
383
330
270
293
388
395
404
326
297
228
317
269
264
367
373
306
341
353
355
370
360
325
329
374
353
329
320
264
312
347
331
286
301
237
319
252
389
252
305
346
368
290
396
351
319
344
319
311
439
299
307
309
248
358
308
239
329
302
293
319
365
264
428
383
375
246
293
282
352
305
337
300
278
342
276
314
294
331
257
343
304
330
342
278
272
310
362
320
245
286
303
327
407
271
317
363
290
290
324
344
283
304
306
290
386
355
331
292
314
284
309
293
353
274
342
269
243
322
351
308
244
261
326
358
331
292
379
274
287
320
266
271
326
323
343
297
256
349
384
265
340
309
302
319
274
314
392
368
300
312
342
287
327
359
279
340
305
388
322
331
303
308
280
257
385
255
371
311
299
297
203
329
351
298
347
349
315
399
361
308
292
279
290
339
294
331
390
298
317
358
344
297
287
306
208
294
276
315
330
396
290
308
364
340
378
280
345
245
261
302
348
259
315
395
323
318
342
262
304
283
327
317
313
350
358
304
320
330
312
309
323
305
271
248
313
266
297
265
331
301
309
335
367
360
326
318
271
320
312
384
290
382
359
315
289
280
343
376
240
389
251
231
261
453
265
319
355
307
370
240
321
381
296
286
293
266
337
208
266
341
372
252
289
308
318
312
290
301
333
295
389
310
342
321
383
302
219
277
374
349
378
340
275
277
339
363
366
364
364
325
254
193
396
327
332
416
298
305
226
304
302
301
352
343
333
302
298
339
315
333
400
270
322
376
347
324
356
449
294
387
391
324
299
243
341
272
276
326
302
402
343
290
371
284
354
344
335
306
349
289
401
360
328
279
289
293
345
356
271
251
368
249
317
340
306
232
328
219
282
343
296
298
326
271
371
236
369
324
293
290
382
335
268
304
276
242
326
367
275
335
335
286
306
280
362
341
295
362
286
226
287
279
337
289
326
301
272
271
367
295
256
351
326
413
276
303
354
320
340
335
332
343
290
315
256
339
328
226
235
340
357
331
330
359
306
254
279
267
346
305
315
263
292
390
286
293
276
359
276
302
381
317
396
255
285
291
321
336
347
208
321
307
335
213
282
357
332
394
306
275
330
369
348
289
243
323
362
295
295
298
263
262
331
254
364
368
246
291
201
374
426
321
310
329
351
284
379
263
361
326
297
354
330
331
409
281
266
241
379
337
370
313
318
313
288
286
347
234
341
221
298
315
375
312
381
341
334
347
311
303
334
299
302
261
240
290
322
265
271
365
213
334
293
276
306
361
372
381
332
277
349
257
305
375
290
283
268
314
348
194
334
361
375
285
355
410
330
300
358
252
320
309
362
353
310
317
354
302
360
318
428
349
319
288
211
358
269
315
340
254
281
276
305
347
379
340
328
361
273
331
237
291
343
333
225
274
353
349
266
327
394
380
362
342
376
388
251
324
391
287
348
262
332
345
291
362
355
347
309
280
335
267
378
312
331
285
291
314
308
347
326
377
359
209
312
403
330
392
376
313
257
377
312
323
303
284
310
377
313
365
341
314
331
360
323
360
341
332
409
373
280
297
324
266
338
320
280
373
320
315
278
302
360
316
296
376
273
286
321
362
340
332
323
376
285
320
309
288
361
289
316
304
270
343
286
387
334
361
287
309
293
328
369
297
301
273
292
408
381
345
258
234
223
356
322
272
288
345
347
363
382
317
321
317
278
351
383
302
307
284
342
306
315
325
296
299
283
281
293
394
284
385
289
324
277
280
339
325
304
288
220
367
357
311
319
284
364
313
254
259
360
373
267
318
261
348
324
409
351
266
246
333
312
281
391
369
373
284
333
331
402
373
337
215
266
329
264
255
274
317
345
338
332
350
318
305
359
339
337
233
283
289
298
265
315
297
271
368
260
302
250
366
373
323
302
398
307
298
263
304
283
355
350
355
335
340
406
284
344
224
330
287
258
343
382
331
312
341
343
339
290
271
279
355
321
337
257
262
318
300
305
369
348
310
297
313
366
327
290
252
413
285
339
301
334
322
291
249
261
371
320
378
323
299
342
263
394
292
412
311
370
379
306
355
270
203
334
372
420
268
282
350
256
304
348
337
274
334
296
306
306
300
296
361
392
246
293
351
265
236
339
302
414
326
301
323
307
339
328
277
295
330
330
259
388
376
407
344
317
255
369
283
430
302
310
383
399
397
304
300
364
311
327
282
354
280
295
327
341
361
212
311
364
238
328
287
409
367
315
272
351
339
263
342
360
266
244
240
342
339
309
307
269
305
369
282
302
322
370
328
392
293
271
296
233
325
302
312
359
334
373
325
333
322
249
350
346
194
320
341
386
256
372
266
372
215
321
372
309
338
278
242
361
304
370
262
372
334
316
376
307
346
243
421
257
300
329
248
287
330
335
304
306
335
336
298
364
315
309
304
334
344
275
290
309
363
357
306
262
350
317
162
269
338
346
346
304
314
302
349
322
318
349
272
325
286
333
299
274
333
266
369
302
264
346
294
310
356
343
311
382
360
346
264
328
343
342
272
300
334
376
230
234
317
312
362
351
312
303
394
354
352
299
316
350
345
311
314
342
265
304
295
294
334
340
314
372
343
360
335
346
243
295
320
373
393
340
327
223
328
331
326
313
327
270
352
278
391
259
309
352
322
264
319
299
370
280
332
330
373
244
347
283
339
220
353
302
268
347
280
279
271
304
289
271
271
310
322
312
352
163
313
381
351
363
246
336
333
307
365
321
275
261
376
276
309
294
288
344
352
320
304
358
284
405
285
343
235
338
317
293
335
335
273
293
372
340
300
359
374
322
341
327
252
232
345
320
345
339
365
262
312
351
348
297
316
355
260
371
310
341
255
295
270
292
276
330
316
339
282
354
326
399
242
258
277
380
291
380
317
339
289
265
312
309
287
345
343
378
335
328
340
386
283
347
226
266
274
367
302
355
316
291
279
254
280
293
371
241
268
307
301
317
289
274
309
310
290
254
252
342
223
319
218
343
432
308
319
388
375
300
311
382
355
372
304
333
358
269
283
361
246
370
282
349
324
329
315
356
305
341
298
359
196
315
321
347
387
310
338
316
261
299
330
337
320
252
293
270
320
321
286
335
338
354
378
374
382
354
231
249
272
353
278
272
276
363
289
383
305
339
245
330
244
343
284
355
306
326
238
374
305
328
342
306
284
343
252
316
316
255
259
300
341
332
349
328
312
369
338
309
338
328
365
354
334
220
279
353
369
357
377
388
301
333
329
275
308
283
287
327
305
392
349
263
311
287
315
332
299
350
342
323
223
281
374
245
379
320
308
319
274
335
258
314
330
282
367
288
276
329
316
300
380
284
304
347
264
357
266
267
341
303
392
304
296
302
345
366
425
300
318
298
396
260
269
372
353
263
282
325
397
280
318
337
257
250
310
325
300
294
320
283
204
316
334
347
252
257
342
337
279
376
357
314
288
274
289
350
275
373
281
306
350
276
333
320
337
308
351
366
305
341
292
307
301
356
391
339
400
337
167
311
355
355
422
270
334
238
365
346
256
343
385
279
295
358
273
321
378
311
284
303
346
379
267
209
322
349
329
336
242
260
349
274
352
194
359
354
299
387
336
319
359
327
363
337
263
308
369
362
247
228
351
390
371
369
246
291
285
325
318
345
293
305
300
245
290
263
346
333
351
366
305
366
278
317
285
349
336
307
256
309
307
300
362
288
340
319
278
228
227
380
361
242
273
330
247
394
308
257
310
332
299
312
245
354
364
280
285
413
339
295
245
348
325
349
379
423
325
275
220
427
270
245
421
300
353
227
362
320
346
304
306
251
309
277
257
291
306
305
313
371
293
310
385
273
377
348
349
317
302
261
285
290
348
347
341
283
309
324
382
380
244
271
290
319
264
375
350
313
336
309
316
280
324
294
288
279
417
332
275
428
261
234
309
233
290
294
298
335
395
299
327
334
328
229
303
330
354
324
364
298
356
266
411
401
367
216
287
312
298
345
262
355
390
335
256
392
282
398
333
234
318
308
253
342
305
346
308
262
351
320
401
250
210
317
303
324
312
337
294
314
308
369
300
272
320
330
290
383
319
288
345
234
336
342
317
337
311
272
314
331
234
249
257
337
362
311
366
318
314
334
325
294
328
300
235
277
331
372
301
391
372
229
341
324
424
291
338
320
276
413
362
343
424
387
236
259
358
269
323
335
331
375
369
318
307
416
357
362
311
294
317
395
308
290
253
418
245
286
388
310
316
259
345
281
325
278
302
306
386
333
302
378
326
335
252
301
370
249
292
272
427
329
254
306
244
300
319
271
339
280
277
404
379
320
412
303
207
266
255
357
325
253
222
328
263
314
268
253
227
419
333
335
237
320
340
309
379
310
342
292
353
240
375
310
288
275
382
357
293
344
296
288
305
306
292
224
340
295
355
305
359
295
309
355
288
255
316
369
335
306
255
291
334
269
367
341
179
317
239
280
352
376
306
308
211
361
246
341
366
272
356
391
254
319
287
305
381
390
281
367
372
334
345
341
255
307
394
278
387
342
341
268
313
283
385
311
330
212
318
323
294
297
329
273
290
319
229
318
385
319
292
384
309
236
293
287
324
417
347
348
304
323
339
400
257
331
356
347
321
362
274
210
292
248
288
303
275
300
330
352
322
310
298
353
388
206
356
315
361
257
291
267
348
376
232
238
434
320
295
220
317
250
329
319
278
347
263
283
205
336
296
387
375
285
306
355
340
340
355
304
300
278
338
291
347
263
366
278
195
342
291
295
336
297
311
273
349
273
341
292
315
328
322
363
309
374
325
322
305
389
326
318
284
328
335
398
307
251
364
345
405
300
386
323
230
338
304
298
280
257
373
376
305
335
288
252
316
340
327
241
348
271
304
323
316
312
302
293
274
296
318
267
320
337
309
273
364
336
355
319
332
384
306
318
282
343
271
314
312
259
346
240
237
271
331
289
240
301
313
273
163
339
286
313
328
350
366
318
354
233
307
339
269
310
443
254
274
346
351
289
256
229
256
415
335
264
373
359
296
378
332
303
348
289
289
258
308
271
280
296
316
326
353
303
322
287
354
254
257
330
326
285
367
347
352
281
289
302
326
280
325
281
326
216
290
267
322
240
382
348
298
278
227
373
297
324
260
249
303
268
301
302
293
377
369
341
362
267
295
412
341
349
337
329
307
371
372
331
357
298
313
284
309
308
249
209
394
353
288
351
250
303
360
307
300
314
226
341
318
323
317
368
402
335
363
292
249
335
225
332
397
353
377
375
341
321
352
285
360
313
381
303
270
306
330
312
318
265
316
316
371
296
374
220
340
203
346
304
319
367
346
327
362
321
255
318
279
269
281
337
419
362
261
275
382
357
338
346
340
208
294
303
286
314
319
271
311
384
343
313
354
215
236
274
289
389
373
287
332
268
352
312
361
357
378
348
322
260
346
283
341
307
285
356
390
313
257
351
323
335
262
330
278
314
333
303
362
303
375
293
332
363
244
311
297
231
285
297
331
288
227
292
333
290
249
320
320
301
267
350
266
345
285
303
338
364
284
328
268
207
265
329
353
256
300
263
364
301
235
340
300
281
308
385
351
245
363
396
307
293
278
334
346
334
247
288
300
324
392
283
331
373
333
374
312
299
313
302
263
321
353
305
325
343
273
274
349
301
386
345
267
321
235
254
334
220
374
305
377
246
353
263
328
361
342
349
341
337
246
366
247
344
257
251
275
296
346
397
360
298
257
381
298
360
360
259
356
317
296
316
255
323
338
312
309
339
335
396
305
335
287
278
310
229
327
272
345
381
254
288
251
401
337
347
309
340
281
261
324
381
307
309
259
319
267
273
348
320
314
263
364
339
292
316
285
267
262
331
232
255
269
325
284
301
371
342
286
342
325
360
212
300
380
306
344
333
332
307
318
294
414
243
328
401
311
286
264
317
286
331
310
275
266
237
258
348
381
309
253
335
335
308
320
288
345
275
406
239
375
315
351
333
304
324
318
239
301
232
296
308
324
246
299
278
192
340
303
325
290
371
323
289
258
349
325
350
281
375
225
323
309
348
368
366
378
283
256
232
322
355
293
333
310
353
436
258
296
229
298
308
268
348
289
389
313
256
274
273
340
243
268
326
374
313
274
374
374
341
305
382
342
353
347
285
278
398
346
287
314
294
270
424
353
316
383
304
259
350
381
346
298
344
281
342
254
304
334
383
295
333
344
252
368
241
295
364
320
298
382
239
344
240
362
360
345
324
286
314
327
365
321
314
264
360
345
273
355
308
350
290
357
314
392
284
324
248
273
298
388
256
284
367
399
322
266
315
331
317
345
292
242
348
311
319
249
361
252
295
299
307
311
323
266
355
263
369
244
311
336
280
340
296
349
322
266
259
374
254
354
318
282
383
354
394
309
319
350
317
321
279
272
358
369
295
178
301
320
258
357
248
307
322
250
341
388
366
336
303
367
266
263
366
367
230
423
397
330
316
340
399
286
293
354
320
282
287
307
328
271
308
264
264
335
316
281
348
301
271
296
363
296
327
296
348
351
293
276
392
332
323
337
289
361
331
336
316
298
337
316
272
312
267
241
314
328
263
307
241
337
297
339
237
264
384
387
379
339
237
348
328
349
337
325
337
403
285
299
304
278
365
255
347
285
393
291
285
282
281
351
366
340
382
374
307
335
295
340
350
329
383
238
366
312
340
259
373
283
342
325
323
290
290
351
304
336
353
263
353
325
407
315
301
369
363
278
296
301
327
316
317
358
366
316
226
323
351
274
326
208
305
358
203
341
319
305
371
345
319
260
242
330
321
366
278
347
251
264
281
286
345
375
285
337
222
323
383
295
273
326
284
269
267
272
222
302
356
355
303
319
369
293
326
285
284
348
349
348
353
247
281
363
273
364
351
339
345
297
358
268
348
390
346
280
297
348
357
256
320
324
312
390
212
306
259
325
336
263
320
354
297
354
302
297
252
326
322
357
297
353
298
329
372
302
394
350
330
306
329
222
336
364
357
300
388
363
255
375
312
304
288
329
373
359
363
331
339
338
364
385
278
250
369
331
286
334
323
313
251
306
317
338
328
364
359
416
281
288
334
296
354
264
304
253
251
327
356
325
335
281
419
276
386
389
237
344
301
317
381
345
292
319
314
329
276
347
328
381
278
258
294
313
316
252
271
253
277
291
302
236
260
279
304
284
270
337
366
270
343
282
403
334
324
349
330
263
315
333
382
321
301
302
316
274
353
336
377
394
274
252
321
318
289
265
312
263
298
357
352
242
257
289
355
259
359
264
303
229
397
305
384
368
258
283
386
364
355
250
428
304
325
281
358
330
322
390
349
217
350
290
427
321
352
291
268
306
356
391
356
289
308
264
281
381
239
297
259
313
340
258
330
280
328
253
321
261
251
275
284
321
333
315
284
217
293
329
303
361
337
353
347
374
307
352
289
276
281
280
269
252
351
299
260
325
383
245
306
299
318
369
320
324
277
297
324
241
311
271
347
278
297
293
292
240
400
252
307
303
355
293
295
306
298
228
326
324
322
333
357
337
295
311
309
392
305
263
308
268
237
246
294
271
344
350
357
372
353
244
369
283
269
348
298
355
281
256
254
352
283
347
373
378
282
311
261
239
350
371
295
427
324
262
347
292
268
266
341
243
302
312
337
399
323
307
313
259
300
338
336
293
304
275
380
318
329
335
260
298
232
340
339
305
328
357
366
287
318
330
332
363
265
329
269
307
276
280
300
266
360
362
254
263
354
367
344
367
302
234
294
307
363
259
318
271
311
364
237
306
318
317
353
278
412
326
287
345
277
272
325
324
344
414
303
334
328
358
307
355
319
348
328
422
309
307
333
331
329
307
329
317
319
389
339
296
326
332
320
335
289
284
331
346
362
307
315
253
341
352
291
305
292
290
339
294
338
291
300
330
230
312
360
401
378
359
292
352
297
260
218
372
251
279
300
262
355
330
362
340
256
308
265
310
295
328
299
272
270
383
343
294
262
263
335
302
339
305
313
324
184
295
367
264
266
296
327
400
294
306
270
336
228
323
219
298
250
343
327
330
315
283
289
298
313
316
333
244
374
276
277
386
336
206
214
344
322
332
302
365
342
257
374
286
353
202
297
304
387
379
357
214
256
311
344
325
346
342
345
357
288
308
296
318
355
265
289
366
326
288
402
316
269
263
280
443
301
298
332
345
321
210
411
322
239
293
381
321
360
323
247
321
339
321
366
287
295
343
344
354
381
283
337
279
305
303
371
363
356
345
308
285
327
281
314
339
339
322
389
317
291
361
340
289
359
287
269
311
295
263
428
314
361
337
298
345
380
342
262
316
265
316
326
311
319
357
361
234
364
319
312
282
281
383
370
403
286
311
358
402
268
314
252
329
351
231
336
279
312
337
274
259
326
286
241
309
341
343
396
374
313
345
279
276
326
228
385
368
303
286
361
357
332
261
302
338
341
316
237
296
381
327
370
314
348
349
280
241
334
275
368
346
397
356
258
309
349
309
264
301
385
290
378
361
327
326
267
359
299
301
325
388
380
348
358
368
272
341
264
399
352
322
328
277
352
277
291
314
248
253
275
247
284
223
308
283
340
331
349
301
261
309
341
273
332
256
308
323
332
313
350
322
358
346
261
320
374
316
312
290
360
250
295
224
255
294
329
258
350
345
274
369
294
277
279
260
351
317
358
382
307
312
326
346
241
376
356
311
330
333
337
306
222
256
411
359
329
374
277
289
284
370
268
342
336
392
342
316
307
292
321
356
367
335
350
309
403
327
268
373
326
372
335
365
342
265
311
339
256
251
343
238
309
374
315
331
367
246
370
332
339
383
337
337
317
331
275
314
345
307
292
232
303
302
292
251
381
349
383
325
350
324
302
397
227
332
320
280
331
357
282
281
294
289
368
346
276
358
273
241
235
380
273
228
221
353
306
324
271
278
325
295
399
315
292
277
375
232
359
261
248
305
312
367
343
294
231
293
307
367
380
334
341
299
304
383
301
367
290
373
384
218
300
328
246
311
225
360
248
276
300
338
262
301
311
362
344
275
291
366
307
282
259
332
334
214
281
330
314
314
290
240
309
348
305
264
245
257
339
381
364
288
325
356
317
375
273
390
347
337
226
282
346
266
380
347
267
299
272
353
201
337
331
351
301
342
293
308
312
327
326
335
337
271
382
299
343
368
337
391
274
375
328
351
306
298
378
346
326
320
293
300
335
357
282
310
346
293
336
330
234
309
306
247
313
348
266
178
339
330
337
330
329
305
292
325
233
258
244
333
366
355
263
293
229
389
360
340
421
273
304
295
236
302
375
317
229
338
250
257
391
290
328
320
319
334
307
270
348
319
294
347
346
327
366
345
382
336
296
290
326
372
256
355
364
265
326
327
365
308
318
362
301
289
314
340
307
376
330
335
332
250
241
285
339
388
279
242
361
313
332
325
355
356
288
379
325
371
317
267
320
346
334
367
288
352
301
336
371
253
311
359
367
308
327
358
176
236
382
292
331
327
303
224
307
288
382
286
294
313
374
310
269
305
351
323
257
233
249
305
322
394
294
293
286
342
333
409
298
323
316
243
391
253
375
350
342
319
331
304
315
256
415
306
392
373
270
334
251
346
332
381
269
368
308
322
356
353
336
354
342
298
287
341
386
290
258
327
356
311
302
366
285
254
222
370
354
297
336
362
391
331
329
376
241
343
316
329
328
334
389
361
290
328
407
229
312
364
375
331
275
265
279
297
322
352
264
352
327
318
308
308
321
323
294
328
298
334
360
329
188
273
296
324
240
335
330
293
283
316
307
311
267
289
309
366
313
360
342
296
361
394
290
196
363
279
265
235
356
311
373
313
323
292
311
297
382
368
305
319
282
358
281
305
286
312
305
291
393
251
293
366
270
288
320
258
299
289
344
305
371
303
335
398
313
326
265
365
365
225
307
383
259
366
330
279
386
349
249
329
335
271
315
356
261
285
382
330
299
342
257
277
301
377
318
303
393
252
339
300
332
241
221
294
232
307
300
276
332
262
267
341
353
356
322
237
295
311
278
325
366
344
281
358
266
360
430
290
299
231
304
275
330
285
263
304
248
231
273
302
313
353
294
357
267
317
269
314
333
273
412
326
243
336
352
279
218
347
248
316
307
311
289
267
315
350
414
321
319
296
268
354
317
305
329
303
327
448
285
387
279
488
326
310
346
386
309
252
335
399
373
408
247
399
342
257
312
346
238
376
381
264
361
296
242
303
419
269
297
420
296
298
274
315
317
388
374
315
259
367
329
350
417
252
319
255
296
268
273
390
389
315
353
345
312
398
291
251
334
292
282
306
361
290
296
349
389
354
307
350
332
292
334
386
309
348
266
357
288
337
327
360
191
299
361
278
290
307
336
369
306
328
296
236
242
320
286
368
382
313
329
362
335
315
331
286
234
316
204
303
318
384
260
318
329
330
324
266
343
305
338
366
264
388
273
361
323
395
409
287
338
258
295
302
398
294
288
308
299
370
278
308
412
339
206
369
332
366
280
357
256
270
296
290
326
301
289
343
358
365
337
273
344
320
386
294
359
371
277
303
315
356
331
326
324
238
299
243
399
323
362
378
323
263
328
391
313
371
339
341
301
397
282
297
346
340
289
327
350
389
331
338
283
360
265
356
205
303
297
293
323
356
298
285
233
411
315
315
317
384
329
355
375
313
242
281
333
324
336
266
395
387
372
254
385
302
343
273
396
311
341
338
318
361
298
323
312
353
239
353
335
321
391
338
362
344
319
298
243
345
310
366
328
285
285
329
344
321
361
325
285
334
356
322
287
344
330
302
374
272
249
332
338
299
291
300
328
338
356
371
248
403
406
273
312
327
290
303
280
374
361
383
420
315
280
339
371
348
235
287
253
295
333
275
390
361
282
293
330
283
308
361
323
321
366
280
334
322
243
317
329
275
387
363
357
304
353
356
279
303
325
272
283
292
297
356
276
322
357
272
294
369
276
287
322
292
295
226
332
278
346
310
295
343
301
355
342
291
273
291
337
250
348
287
287
374
348
292
389
292
286
278
359
348
317
308
257
263
368
354
338
236
380
346
342
243
289
309
414
357
257
385
356
357
342
370
336
327
357
390
363
309
317
375
296
337
304
397
316
282
264
277
289
320
337
282
375
318
336
289
258
363
268
356
341
363
232
361
335
337
317
316
343
269
320
292
373
361
390
318
359
322
297
340
288
261
347
312
336
403
263
308
316
295
321
315
363
324
332
270
288
305
340
307
302
364
361
300
386
310
267
331
373
348
270
421
342
292
202
361
308
405
311
319
364
250
332
339
342
306
325
246
270
375
258
281
385
185
296
277
304
304
300
319
350
345
289
291
312
285
340
382
378
360
246
339
295
293
301
276
277
354
371
294
247
330
304
273
225
299
245
291
312
278
378
360
278
265
211
343
233
343
316
346
278
357
285
192
342
349
313
310
338
269
225
314
306
351
322
276
372
314
309
394
376
257
309
342
286
359
319
319
338
363
333
306
254
294
244
360
348
356
277
362
291
272
315
283
368
348
369
364
286
337
389
324
329
235
268
340
340
262
259
283
360
336
413
316
354
264
321
245
394
247
383
296
244
295
297
230
345
311
308
331
328
320
334
311
272
259
311
212
313
265
307
406
319
358
254
270
337
354
335
304
344
389
365
279
262
378
370
254
276
338
318
323
345
334
311
331
400
340
338
366
312
322
317
275
375
319
332
302
309
313
356
331
318
355
323
315
266
391
299
235
280
335
324
375
366
248
281
269
288
307
301
317
344
268
294
330
297
301
302
316
303
364
260
326
266
244
404
317
352
365
267
399
343
328
268
268
315
424
299
281
273
390
281
344
349
237
264
228
295
333
309
259
246
328
372
239
365
202
349
336
366
313
350
261
319
307
325
251
399
377
289
327
328
338
339
273
337
297
338
264
326
292
251
312
283
295
335
356
265
201
293
311
316
289
319
310
345
299
376
356
328
295
251
288
338
271
298
340
411
260
284
355
378
283
329
321
343
334
440
360
289
284
355
313
324
276
316
335
311
296
353
317
331
308
318
304
396
277
276
285
344
289
337
301
344
372
357
211
272
316
268
335
286
314
342
358
349
236
289
273
329
359
381
364
327
350
355
220
277
328
338
324
281
342
378
371
313
312
374
242
308
273
361
397
313
255
301
336
240
334
266
372
290
304
345
358
286
216
250
303
286
260
324
292
348
297
362
279
341
298
317
335
257
284
271
312
332
284
378
264
372
247
311
391
256
346
262
349
335
259
339
309
286
277
357
313
277
387
372
224
300
360
330
287
362
305
356
307
382
293
361
314
297
357
280
208
374
280
372
334
314
323
361
309
298
302
390
368
386
349
397
277
274
333
280
342
362
371
433
286
292
279
264
282
321
383
351
285
242
305
300
389
251
366
355
308
293
282
343
345
318
250
402
345
224
330
294
280
333
340
353
375
301
333
397
311
335
386
398
364
357
329
238
340
318
236
279
240
309
383
319
315
264
343
320
338
235
327
258
386
357
282
299
360
245
196
390
309
318
426
230
309
254
281
352
216
263
307
371
374
340
388
372
248
278
277
290
297
342
241
255
319
336
280
348
247
324
253
364
355
385
360
316
362
385
272
303
255
384
352
285
346
330
298
313
278
348
331
386
378
310
371
297
337
340
289
339
342
339
368
362
242
299
376
320
299
246
258
271
318
331
259
236
269
303
285
262
326
384
290
309
277
372
313
329
298
320
319
242
275
373
313
326
351
284
326
346
330
416
336
270
414
301
377
275
322
331
282
305
303
412
339
326
294
331
315
346
235
290
296
349
317
309
360
168
273
225
353
250
252
266
371
341
264
343
250
317
331
307
342
302
233
292
299
306
285
324
364
293
219
366
348
317
325
319
325
303
285
290
287
283
352
323
307
382
282
351
328
364
289
321
398
265
302
341
374
304
320
361
397
276
313
340
298
305
398
348
308
281
288
247
355
298
314
299
325
336
317
296
317
339
283
364
254
253
332
301
253
353
349
302
289
354
342
284
323
324
323
338
338
331
327
323
226
287
311
314
310
285
284
326
300
355
329
308
315
352
335
286
272
341
329
331
374
294
292
301
304
340
301
354
357
385
380
313
470
231
342
306
258
291
344
239
318
312
354
274
345
316
383
236
215
340
336
326
256
319
284
282
300
347
268
277
357
252
297
371
365
310
390
323
274
265
338
316
294
212
314
238
387
301
299
290
319
288
233
289
322
328
328
292
365
269
308
358
243
391
250
344
260
226
330
360
326
300
320
314
367
303
324
232
287
344
261
357
362
337
316
339
332
335
309
269
341
299
374
338
432
409
277
387
271
384
307
344
286
354
300
359
245
369
253
363
432
304
367
249
328
275
312
307
317
298
287
326
241
312
246
320
323
269
349
430
285
320
306
383
410
321
303
249
276
355
360
357
270
396
303
326
318
365
220
313
397
376
289
299
306
320
294
287
284
285
310
258
291
391
305
355
310
313
371
295
290
294
346
269
294
228
337
362
242
315
369
309
258
291
320
340
394
316
310
267
198
373
328
322
299
282
320
416
300
358
275
303
306
339
344
239
320
285
331
288
357
374
379
247
350
255
364
306
357
371
377
278
347
369
382
234
273
339
309
309
286
366
320
328
330
341
300
261
324
338
353
262
263
431
233
312
294
324
337
290
298
327
281
338
326
263
287
306
314
286
340
340
248
296
364
350
331
289
277
337
339
347
280
346
308
273
364
318
310
346
380
315
285
266
316
326
236
295
353
269
294
362
303
389
288
244
338
290
393
224
383
301
349
310
330
406
310
264
266
341
270
361
331
314
343
365
225
272
297
257
305
332
334
376
351
280
364
263
347
327
289
316
229
260
256
305
347
292
348
341
297
333
345
338
258
305
387
266
284
309
293
283
327
304
369
341
339
323
245
383
341
332
336
230
370
304
351
393
270
252
358
286
371
267
321
307
346
336
350
305
342
360
210
436
280
367
294
289
436
346
306
335
293
291
280
391
350
302
306
287
309
337
247
270
342
282
280
273
310
330
316
308
311
303
299
318
324
360
339
275
283
335
259
292
370
340
326
364
300
222
283
273
262
305
275
284
319
328
323
281
266
341
308
275
228
395
301
228
314
391
284
302
234
373
337
213
267
302
314
340
304
232
319
324
343
261
348
277
296
344
315
242
295
342
346
275
316
361
300
368
265
317
329
309
273
264
332
335
329
317
353
387
302
273
285
365
334
340
267
318
331
358
338
310
319
373
284
398
353
304
349
372
333
313
329
226
209
376
334
290
237
325
335
305
396
322
316
301
303
322
311
375
249
311
240
357
250
298
290
345
390
313
321
397
333
309
317
408
340
358
347
283
342
378
335
379
369
248
391
324
353
342
259
274
242
281
322
293
381
295
347
379
336
352
360
316
263
345
301
299
394
257
295
247
246
343
401
325
258
337
339
396
401
315
330
332
285
291
310
292
306
271
317
366
318
233
290
279
282
367
353
344
251
378
311
411
346
373
291
296
268
363
365
234
296
331
376
353
305
306
362
312
348
358
244
346
351
304
262
338
318
314
296
319
354
383
293
372
369
356
360
319
283
306
263
405
289
295
305
271
279
357
339
301
307
386
260
327
322
301
330
267
362
325
371
388
273
333
299
297
347
406
296
351
247
331
269
251
304
353
358
327
316
297
334
385
299
266
300
343
282
369
257
282
349
344
319
339
360
301
387
323
359
300
369
326
377
359
348
295
348
359
327
302
323
260
268
404
342
296
355
277
321
361
394
387
307
332
314
303
229
420
384
268
322
270
308
329
348
279
390
348
280
244
318
301
305
319
355
325
380
324
297
344
347
345
317
305
302
314
275
305
326
275
331
322
312
298
332
389
349
348
329
281
343
331
356
308
347
365
342
226
263
304
210
360
228
230
298
359
283
328
336
328
296
307
349
369
317
304
357
359
361
258
352
324
256
286
353
281
304
379
307
317
330
390
304
316
264
327
246
259
254
330
257
326
314
415
340
326
313
325
266
332
273
322
417
247
265
297
355
219
263
258
280
331
375
264
311
317
310
285
293
327
244
394
264
244
285
331
335
326
374
295
331
308
227
331
289
309
400
260
285
250
339
390
307
436
332
411
264
306
269
338
243
290
315
299
270
362
226
330
342
293
330
252
319
298
347
258
284
320
370
271
293
245
319
332
270
215
254
361
291
269
249
276
308
287
227
359
309
287
310
360
320
349
421
285
272
303
241
269
345
270
294
348
338
349
320
396
409
372
247
332
295
302
313
331
313
281
265
346
320
387
284
326
293
326
282
375
263
343
293
314
346
320
287
300
347
282
315
356
271
309
367
368
339
383
225
373
372
350
372
254
266
305
368
331
420
268
319
333
342
280
270
331
362
255
297
405
346
327
366
269
309
276
202
397
321
293
286
351
293
367
348
332
255
292
280
324
312
234
264
339
243
299
408
364
326
316
269
283
337
348
289
347
309
337
327
338
315
286
358
398
437
365
303
366
357
354
362
311
342
333
320
290
292
351
289
302
352
273
252
315
307
240
336
332
371
293
303
339
340
316
367
311
308
337
358
352
367
305
263
305
345
320
338
292
281
360
345
258
381
376
329
363
364
287
300
294
333
289
295
376
346
311
275
293
351
326
252
325
264
318
290
372
324
304
380
299
297
297
208
326
299
350
314
372
275
304
325
314
298
261
345
337
295
233
276
227
300
335
314
304
351
318
272
342
299
382
315
369
287
332
320
375
363
303
304
366
355
348
384
335
304
339
364
251
319
267
233
293
420
326
341
354
337
285
329
284
298
335
243
380
301
220
301
324
336
281
328
302
292
310
189
276
336
271
356
431
281
252
336
346
330
354
272
351
287
258
307
377
341
342
318
325
361
336
248
269
370
349
299
279
335
355
250
247
331
347
246
300
313
312
293
314
304
340
307
329
232
316
305
377
310
279
312
283
412
269
337
331
336
339
292
263
278
284
267
318
259
324
261
327
356
336
300
295
270
323
379
308
377
398
249
261
255
366
287
256
343
264
363
277
348
378
292
292
374
363
381
298
341
322
289
304
252
247
322
319
344
350
294
296
361
328
318
291
317
362
268
264
226
354
263
210
317
327
355
294
309
265
330
270
243
328
349
310
304
331
266
404
304
281
322
312
329
304
270
335
378
351
325
267
362
322
315
253
344
305
314
315
332
363
280
234
350
311
384
292
329
374
351
263
383
361
327
297
286
254
290
270
328
342
249
307
354
239
305
319
287
357
335
347
384
324
330
287
289
305
294
304
304
385
307
336
263
278
348
299
311
262
399
334
342
333
317
354
355
340
330
354
354
307
376
290
249
273
334
246
317
277
358
294
237
329
318
381
281
290
317
392
347
362
193
363
259
387
285
274
364
259
336
254
305
385
345
365
343
311
230
363
330
312
303
335
294
296
339
260
299
311
321
297
392
216
362
320
295
332
326
317
334
209
339
254
235
262
302
390
338
319
343
373
322
309
398
351
343
300
341
355
344
369
255
257
355
332
384
287
295
327
305
363
268
296
296
351
311
338
272
320
375
274
295
254
271
319
296
344
338
281
352
274
272
368
276
276
325
336
359
296
372
311
325
334
340
376
367
265
323
149
293
261
299
305
294
308
305
335
248
282
344
279
329
278
410
333
363
364
374
309
337
299
313
380
293
228
375
295
267
314
350
289
356
356
282
324
337
337
234
346
306
311
313
252
288
266
423
285
297
317
353
347
344
294
363
310
352
246
363
322
345
302
238
357
312
322
332
220
316
315
314
299
352
301
333
313
357
226
227
298
272
375
362
347
277
368
266
317
240
332
319
323
320
255
280
252
377
337
321
275
323
338
307
352
262
393
317
313
290
385
256
349
333
397
318
288
358
262
377
341
330
392
266
246
226
287
331
389
280
272
292
366
327
288
269
280
327
341
277
356
310
329
276
360
377
306
312
333
425
272
302
310
362
375
316
335
306
313
405
346
382
330
324
308
377
306
353
328
365
242
374
330
372
272
440
330
282
364
206
327
311
244
369
246
302
294
337
321
280
338
313
368
276
270
298
266
333
348
306
307
251
347
285
269
300
318
344
304
357
243
265
290
406
367
274
356
325
367
383
231
273
308
278
323
316
335
282
248
331
345
294
289
333
328
251
334
302
327
334
323
308
306
348
223
286
263
254
264
373
385
399
349
317
281
287
291
313
296
265
373
407
386
328
251
280
349
299
227
255
405
249
217
280
314
298
300
348
232
296
389
357
302
400
277
292
364
319
280
354
208
338
350
303
313
340
314
360
249
390
290
320
298
358
319
346
403
330
337
279
326
300
259
321
312
297
254
376
303
244
315
278
341
288
268
315
268
298
417
337
267
394
277
357
315
431
284
233
353
311
293
306
332
255
314
337
322
273
313
284
269
279
293
325
349
286
376
298
268
321
390
268
296
346
432
322
350
347
277
324
255
361
320
244
377
369
327
313
273
261
294
275
354
338
277
263
301
298
312
334
348
274
305
328
302
260
346
186
391
274
435
306
320
331
315
270
407
353
363
342
318
335
300
355
246
315
358
270
342
329
326
286
348
309
370
324
353
307
243
358
268
285
345
333
319
248
344
375
236
352
339
388
241
290
228
302
361
341
346
303
390
318
324
352
265
371
282
345
276
411
410
337
235
243
324
350
263
379
348
222
364
344
292
303
297
381
396
353
344
390
256
327
400
252
218
333
345
276
294
340
422
339
345
266
184
286
399
274
334
321
291
287
316
297
354
284
349
291
343
336
326
323
338
340
299
215
407
393
350
252
308
340
302
285
342
358
366
307
356
296
296
334
285
319
258
311
399
349
300
312
318
348
368
334
324
333
421
298
316
318
319
352
220
265
287
342
388
354
344
224
304
323
313
362
363
328
257
282
325
262
303
257
336
296
334
297
347
282
354
231
303
335
214
311
437
309
359
312
352
297
313
341
269
297
220
426
303
308
330
304
302
199
348
357
296
247
395
308
295
286
364
253
346
303
346
254
323
307
292
262
318
265
318
308
353
317
355
354
302
377
289
345
273
233
319
328
322
354
355
353
285
311
291
405
272
265
370
267
312
337
222
326
306
309
332
343
251
390
277
334
258
317
302
319
240
333
312
321
313
296
310
365
339
328
406
328
388
255
302
269
274
367
367
352
269
301
329
365
369
307
265
304
350
331
346
229
282
358
234
293
272
268
299
259
305
368
316
375
334
329
257
366
303
280
271
341
306
280
353
341
354
266
398
286
372
289
266
231
297
309
313
308
281
327
343
326
289
324
301
256
364
301
338
300
360
348
276
210
408
242
305
257
285
396
365
266
286
231
403
282
326
298
249
285
311
314
324
325
381
269
322
331
288
286
256
340
320
266
297
215
366
370
358
359
296
310
314
318
330
384
290
266
354
319
404
246
267
298
325
225
352
382
242
341
268
282
246
301
261
258
346
344
319
298
304
313
324
335
311
378
327
302
286
328
340
343
358
343
368
337
243
365
225
305
278
340
206
259
361
339
267
382
345
272
318
248
277
352
299
354
403
385
388
279
237
336
270
345
341
343
228
261
350
349
316
211
310
341
300
271
249
293
208
331
344
327
264
256
365
278
315
250
397
299
320
338
242
388
286
318
265
347
254
367
332
327
221
314
302
358
264
299
300
294
337
309
308
365
245
265
314
241
322
330
351
297
348
332
284
308
227
302
366
282
317
274
300
319
328
357
312
375
356
246
319
379
199
281
304
343
269
345
369
235
218
294
392
340
338
224
333
250
222
250
318
325
289
352
379
342
272
248
329
364
355
333
285
329
298
380
360
250
312
349
340
318
351
313
303
366
314
328
340
377
416
276
366
313
291
316
353
334
358
244
258
260
363
319
330
279
316
282
338
332
332
225
343
361
370
311
309
312
336
293
367
315
265
271
289
341
293
366
357
322
304
309
277
327
370
337
434
235
325
288
344
312
290
247
237
394
374
279
453
329
327
324
302
305
287
352
320
341
288
319
394
262
252
331
388
359
352
292
333
305
347
279
322
274
310
377
347
356
309
262
312
292
277
343
382
364
333
358
382
299
306
247
356
325
315
328
232
346
325
372
250
271
252
328
329
246
320
330
276
322
334
295
335
277
218
237
288
333
303
326
354
376
377
332
416
304
396
416
262
291
338
341
351
295
327
384
268
330
366
205
392
364
207
310
317
388
323
289
300
303
356
257
318
403
330
289
386
373
363
289
364
333
368
320
362
300
351
297
337
297
289
283
303
316
284
340
269
339
361
340
314
334
272
308
337
334
341
342
345
300
338
288
386
317
338
333
275
273
281
377
266
326
308
333
339
388
368
273
356
309
333
338
273
360
319
297
292
355
385
336
366
355
326
280
352
281
336
298
389
338
257
287
356
319
323
299
260
335
338
252
263
331
396
332
355
273
316
330
263
330
284
354
303
300
303
343
237
351
336
363
381
322
326
332
305
218
370
240
274
301
326
353
298
351
386
345
375
304
288
388
318
362
287
353
350
361
292
290
401
421
303
373
304
364
336
346
291
397
276
301
284
301
273
390
307
321
286
314
281
330
315
276
360
307
339
376
344
280
314
383
307
255
254
391
273
278
244
279
383
400
250
329
382
302
364
324
278
335
320
286
351
316
296
341
357
287
299
353
279
358
315
327
302
304
364
291
361
296
339
405
293
261
250
269
386
311
314
378
183
268
392
344
343
339
272
372
320
334
236
367
296
309
307
204
328
303
307
366
331
346
352
302
285
316
292
409
282
392
288
296
299
303
374
318
324
328
327
348
352
292
361
394
354
258
278
313
320
295
279
266
360
273
340
379
360
380
311
261
299
293
315
318
250
350
272
291
233
399
333
299
241
319
310
349
307
287
293
344
252
368
320
362
296
265
328
350
263
348
359
326
330
408
283
285
313
261
309
354
393
333
217
281
373
304
315
306
226
344
387
275
303
224
346
296
342
315
263
404
342
260
357
348
315
340
305
306
292
245
331
306
243
306
334
313
332
337
343
357
300
336
320
303
300
255
372
329
285
280
353
328
299
315
325
352
275
296
327
317
252
278
282
334
321
395
265
373
362
397
306
314
264
324
254
291
207
296
286
254
310
331
303
269
224
268
318
210
329
289
381
315
253
319
326
264
295
395
331
296
372
299
304
338
332
305
363
331
225
318
260
286
335
296
287
339
326
403
321
263
227
308
303
302
338
343
280
288
344
358
276
347
324
303
363
300
272
303
266
376
302
352
240
277
265
329
293
316
288
277
339
290
346
302
286
265
327
376
307
270
341
255
269
283
248
248
294
295
300
279
325
320
326
305
339
268
333
274
290
331
293
300
374
298
232
319
268
322
339
304
367
237
305
309
275
344
335
328
287
306
343
342
313
251
266
311
343
341
358
340
320
331
286
344
302
375
355
212
332
369
353
329
365
369
375
324
341
311
358
331
262
203
334
309
328
312
299
372
375
403
197
374
326
373
273
346
257
332
326
257
229
260
320
403
351
343
301
297
321
360
350
347
336
340
328
309
344
317
321
238
356
298
298
255
364
331
313
364
391
325
307
358
306
343
174
274
293
338
320
374
253
381
297
379
342
295
267
331
362
290
333
293
319
328
326
318
309
324
302
278
303
287
381
358
290
323
296
356
386
300
291
377
239
362
239
230
410
317
301
314
324
371
322
271
353
389
313
348
270
248
334
308
341
432
289
321
344
222
350
336
318
309
313
249
310
294
234
295
342
335
379
341
344
262
370
357
329
229
260
301
259
339
420
291
335
324
325
279
340
326
366
187
377
330
242
403
303
357
283
266
275
342
289
264
234
365
285
216
347
307
321
251
286
325
318
240
357
349
329
318
321
337
311
388
295
315
341
263
296
282
310
345
227
212
336
348
278
248
352
288
396
309
218
292
257
232
432
369
310
304
322
295
367
250
322
449
303
266
262
310
278
263
405
287
266
336
328
211
328
378
251
284
224
343
315
377
323
326
357
297
277
344
287
314
330
309
262
363
333
286
320
305
271
260
253
324
300
280
280
338
325
313
369
320
345
344
299
331
286
410
238
382
378
288
290
335
454
260
250
349
348
307
340
349
367
329
370
332
308
291
325
340
247
284
408
374
290
254
310
310
385
157
344
320
233
298
334
348
287
324
379
375
270
306
264
291
313
303
311
309
333
340
371
245
298
364
297
360
287
319
358
293
377
279
344
352
335
334
251
291
271
304
241
343
362
253
232
380
281
287
299
310
308
299
320
345
256
184
314
389
333
331
319
345
456
352
260
368
404
332
341
354
318
351
315
257
327
307
380
290
355
292
257
230
263
333
319
293
308
344
340
273
359
297
317
288
265
360
298
262
309
329
354
359
385
273
313
308
339
282
310
311
385
332
283
248
300
332
342
348
303
274
256
371
359
341
346
303
316
351
351
314
342
311
320
319
267
368
344
292
386
202
358
260
408
294
333
298
333
315
321
327
298
347
303
289
338
336
207
290
351
331
298
275
214
283
348
299
312
393
242
352
271
273
253
307
349
282
340
282
279
347
326
279
331
239
289
320
306
312
367
282
394
279
395
305
276
211
381
360
282
261
292
331
310
350
326
209
295
306
315
374
291
404
317
291
305
270
320
314
295
313
315
341
246
324
233
270
291
271
297
354
260
267
280
309
347
333
321
297
298
347
398
352
254
273
266
294
290
346
315
271
323
352
281
308
308
305
199
269
299
396
278
295
302
279
311
281
366
304
340
358
243
393
316
367
270
325
253
308
327
271
337
277
330
352
268
293
247
341
271
294
298
339
317
315
297
265
360
309
336
333
260
399
339
251
314
313
265
344
314
256
349
444
258
359
313
330
234
305
406
314
377
313
335
362
328
418
390
294
289
353
254
363
325
311
238
362
300
342
316
307
409
320
288
238
297
281
275
304
351
280
313
345
228
328
381
320
362
235
292
347
277
325
332
425
335
298
269
356
311
307
307
325
320
381
293
299
313
293
261
312
277
387
277
291
330
340
298
299
303
308
377
323
332
327
419
315
275
358
286
328
377
360
308
435
250
391
324
340
311
311
365
349
230
304
368
345
285
325
283
375
376
298
371
277
270
341
368
398
327
390
335
307
270
368
341
372
368
289
307
325
325
346
334
335
331
273
281
333
251
320
301
294
353
289
303
308
323
293
314
267
346
385
241
309
385
316
299
392
327
370
307
307
330
309
266
298
302
251
307
282
348
358
206
261
355
318
349
257
313
326
347
325
290
299
332
368
327
372
299
285
366
202
294
327
298
328
226
394
368
336
432
395
351
390
347
321
349
326
354
336
297
214
289
343
317
218
277
373
340
296
281
343
320
369
354
301
333
369
279
321
432
305
295
257
329
266
269
277
404
249
318
259
344
266
347
383
338
285
276
318
371
370
276
326
333
239
361
288
304
348
313
326
284
320
331
328
313
302
251
264
269
318
344
348
305
321
334
281
323
321
324
316
278
344
312
271
341
380
262
276
300
374
292
348
314
306
369
258
262
273
323
270
384
346
226
360
265
352
262
249
312
294
278
303
247
312
294
336
328
358
394
385
275
262
298
284
214
323
396
352
360
269
366
329
303
259
285
338
333
318
348
232
339
281
312
302
306
303
303
274
294
313
273
330
348
265
367
358
291
360
362
340
269
342
351
374
246
332
321
297
367
349
410
329
325
304
328
324
366
307
331
313
255
244
258
378
249
322
316
319
339
385
302
396
311
294
215
349
297
358
325
321
367
329
312
291
382
233
292
395
339
331
328
317
389
343
323
346
278
341
351
304
329
274
319
378
297
283
342
287
343
326
260
271
426
290
331
356
321
320
270
347
267
347
307
346
276
277
226
353
286
373
362
340
309
335
312
322
463
250
262
245
338
348
354
280
319
396
376
323
310
313
254
297
261
299
330
316
300
344
250
314
361
323
324
268
310
338
322
255
298
305
295
324
380
277
242
300
282
308
318
313
363
335
320
344
348
301
390
264
329
273
327
332
350
213
273
360
338
352
294
383
318
365
367
328
302
393
275
368
292
345
267
355
420
291
324
313
276
302
299
244
273
240
326
353
362
294
338
358
327
296
244
339
346
310
251
331
315
229
297
265
300
320
241
346
309
286
345
303
328
371
196
303
219
320
272
307
299
286
382
324
288
373
328
319
318
210
172
314
351
247
351
330
280
256
336
305
260
419
323
324
299
306
362
311
309
414
297
213
376
379
377
277
263
266
338
291
327
363
280
311
383
352
274
260
266
297
252
363
406
298
322
325
316
357
295
349
275
323
342
279
368
266
298
255
377
362
268
311
276
346
277
314
315
276
234
318
294
317
355
271
346
303
272
343
373
287
309
293
390
354
348
297
373
336
301
244
262
260
411
306
314
327
290
292
355
360
318
292
330
282
240
245
363
329
314
337
341
318
301
300
266
314
328
321
447
339
267
292
365
279
291
376
305
329
394
268
367
306
395
208
303
347
328
283
360
286
289
326
302
337
273
303
323
388
397
287
301
266
346
276
326
329
328
369
312
329
263
372
318
247
364
303
266
309
301
303
338
321
295
309
242
294
261
313
319
290
333
328
319
348
280
254
236
289
332
301
314
322
280
350
314
324
278
297
415
339
251
330
403
372
285
329
267
300
227
343
285
325
296
329
361
299
310
328
324
366
286
245
367
304
376
254
316
364
302
259
354
349
333
321
400
314
359
270
305
320
341
214
352
295
322
384
291
272
343
314
387
279
299
303
322
330
336
298
307
379
323
260
442
359
307
260
292
381
323
287
349
310
283
340
343
281
239
369
373
360
265
388
284
270
238
385
401
380
324
300
291
411
302
290
330
322
316
396
345
320
367
344
279
379
411
228
265
298
382
279
219
259
328
327
331
268
340
296
298
216
341
345
383
294
293
235
305
344
231
267
354
278
300
305
287
284
258
295
273
307
347
320
343
312
312
316
280
314
287
320
389
364
316
355
342
266
309
200
324
312
361
293
315
307
345
273
308
273
293
331
357
259
280
300
257
329
220
247
301
400
309
202
350
435
362
311
377
327
335
323
328
366
282
250
268
322
313
347
322
346
271
290
266
423
303
276
331
327
308
302
330
348
332
264
273
236
278
310
366
296
245
354
344
365
313
332
356
261
413
308
341
294
317
293
312
390
349
317
341
317
301
342
263
260
349
280
349
305
307
336
372
229
325
383
273
311
327
372
338
362
274
305
302
396
300
320
334
246
286
292
342
312
281
351
323
356
291
296
380
367
331
318
284
300
378
300
329
344
265
359
332
313
313
305
277
323
280
234
324
377
434
322
387
275
394
364
344
311
262
344
336
345
232
363
298
360
326
284
265
340
286
392
339
222
291
405
302
266
248
270
274
306
321
352
365
242
286
331
320
297
313
284
282
300
284
311
274
325
256
335
334
352
329
231
298
270
312
352
322
372
224
322
305
310
379
325
276
329
305
352
357
296
404
292
354
338
446
277
355
268
374
345
342
360
369
272
372
310
349
379
298
284
264
321
350
282
304
371
291
261
286
262
286
275
291
290
326
260
331
296
305
283
336
373
349
354
359
332
405
339
330
333
290
322
299
349
318
290
344
269
269
298
228
312
455
280
310
253
320
302
319
371
236
366
277
343
399
292
238
387
230
291
277
330
352
396
333
320
346
331
261
268
343
283
237
390
369
315
308
340
296
286
333
332
360
342
292
303
354
306
349
282
348
270
311
355
338
280
317
322
335
303
270
312
350
342
306
312
278
327
266
325
267
338
293
292
342
340
320
320
377
347
347
309
280
183
388
364
286
295
380
324
263
334
261
323
340
350
351
363
326
291
234
281
357
277
337
374
237
351
398
281
311
343
327
235
290
357
347
259
345
318
405
340
346
394
281
192
354
317
316
355
288
323
340
318
312
318
442
273
351
320
328
305
275
309
330
219
309
282
365
339
326
338
292
306
369
302
162
274
290
298
321
343
283
344
295
358
262
273
321
285
344
235
344
249
298
316
346
300
299
356
376
319
250
313
369
248
324
324
283
222
333
366
277
242
357
365
321
327
356
311
318
380
254
285
321
279
318
273
345
359
309
304
420
256
330
247
308
375
279
231
322
331
271
367
292
325
275
334
385
299
321
296
331
370
352
327
208
320
382
385
327
299
360
277
313
283
334
312
208
275
467
287
267
277
299
293
294
263
231
352
312
322
325
300
289
338
268
276
332
301
241
394
296
309
324
355
368
292
383
252
292
312
371
301
328
293
356
301
366
407
343
300
290
298
305
276
372
356
236
288
314
293
332
362
315
354
232
345
283
392
391
321
336
252
243
344
301
345
326
294
395
286
237
328
381
351
340
355
268
299
314
385
250
350
203
332
365
330
287
246
332
371
369
283
360
359
371
236
365
270
381
284
329
236
230
321
284
351
236
179
266
281
314
309
390
323
265
299
352
294
301
271
296
307
376
278
280
337
250
384
332
269
373
291
286
325
331
248
372
391
350
364
374
329
341
378
270
245
331
252
328
225
330
335
328
334
295
282
305
284
261
227
318
393
308
287
302
213
323
362
400
359
297
253
341
279
312
307
389
320
301
345
341
383
256
322
260
323
357
328
257
313
310
331
321
395
265
312
275
329
220
321
313
310
262
248
274
350
273
295
238
284
278
317
372
344
370
392
225
327
294
317
295
300
391
302
406
324
398
352
356
320
296
324
257
330
332
333
342
239
294
343
362
315
230
259
354
330
278
331
308
357
330
320
314
217
341
235
341
276
367
318
251
316
326
268
265
313
280
299
312
342
317
339
242
313
366
286
379
302
267
352
316
333
301
340
410
287
343
338
229
353
349
374
349
408
342
351
293
341
312
269
316
330
275
285
317
335
212
330
269
343
178
301
257
261
307
365
431
376
307
293
284
321
324
352
374
273
261
321
280
332
321
345
337
267
358
354
209
259
268
324
325
240
265
299
283
257
277
312
334
278
388
344
313
278
360
271
257
355
366
453
288
254
363
360
348
305
344
333
277
346
323
310
326
289
315
340
343
375
284
182
423
334
367
304
340
267
292
229
322
257
291
384
231
317
309
348
333
385
333
347
262
344
289
282
339
325
268
264
345
279
292
246
395
260
305
233
305
313
255
281
290
361
300
310
283
412
363
335
268
279
368
335
273
389
279
359
398
297
340
302
330
362
338
363
364
328
351
371
295
374
323
350
283
293
304
215
377
320
268
367
311
335
382
324
259
330
318
317
319
279
309
287
342
334
326
257
252
341
256
290
285
331
273
326
328
308
307
342
302
315
345
334
345
352
361
276
320
309
354
363
405
357
248
361
306
230
314
302
264
338
319
321
341
334
242
336
318
297
256
374
296
231
311
364
354
344
271
297
344
308
286
366
296
352
364
345
357
262
316
246
347
358
328
317
317
272
313
325
326
313
251
299
284
234
387
275
307
279
298
367
261
289
260
363
292
315
299
378
306
373
297
390
278
274
299
294
298
320
325
285
290
326
264
298
289
329
372
300
271
226
393
262
325
295
360
344
335
277
298
341
328
313
371
295
291
325
326
331
279
306
348
241
327
292
291
309
291
295
268
314
434
247
395
342
287
299
375
357
304
258
331
316
256
335
246
414
343
357
245
319
316
342
413
193
253
337
237
291
270
272
324
267
243
309
417
376
266
291
388
363
349
197
355
251
328
348
284
364
353
297
371
324
343
295
283
278
257
375
310
275
352
372
314
347
307
368
223
278
325
360
361
263
298
322
269
355
296
259
325
334
374
360
302
315
297
355
366
385
315
367
277
273
266
325
277
324
294
299
366
369
340
311
260
269
408
309
324
397
352
291
313
278
357
298
363
271
329
292
342
292
315
329
198
346
292
312
331
341
298
268
307
301
309
350
283
309
334
302
301
293
362
372
282
323
276
321
324
339
334
299
336
298
297
262
348
334
264
267
204
255
340
344
274
360
330
265
309
296
349
324
320
285
300
382
327
290
293
383
377
387
303
322
306
295
362
373
258
353
394
332
250
343
328
338
297
307
384
341
363
288
320
310
276
280
398
376
358
355
278
289
327
343
271
276
322
225
272
298
317
346
315
392
276
278
348
309
399
307
353
298
268
289
307
266
237
319
377
213
373
334
333
273
255
313
271
361
281
251
269
265
354
285
240
346
306
289
311
325
259
344
340
346
310
284
278
336
231
236
351
281
345
319
382
248
290
330
330
297
317
255
306
371
343
312
224
261
247
294
295
373
335
314
335
318
343
297
309
379
348
329
321
345
342
392
267
284
299
318
362
287
281
295
381
328
288
369
352
318
347
282
356
288
314
303
247
236
269
372
358
278
325
229
348
320
302
314
296
297
285
375
308
299
353
356
359
294
342
376
287
434
310
238
344
256
356
367
300
350
326
277
369
328
389
306
324
181
318
245
223
280
299
304
321
346
435
282
316
326
377
235
294
428
283
330
221
366
244
260
328
328
427
396
360
279
347
374
300
392
372
304
308
355
316
338
304
313
357
368
277
283
265
303
232
316
249
281
290
315
225
312
378
308
249
331
301
268
380
268
308
326
284
297
322
312
303
266
373
407
339
297
447
299
364
276
247
298
290
286
284
362
322
332
341
285
354
320
351
318
381
390
369
371
369
304
321
292
399
282
186
257
284
366
336
353
289
363
350
334
295
412
364
378
342
246
260
378
343
312
272
328
366
302
370
240
365
256
313
349
278
263
367
300
300
335
341
361
355
292
264
282
317
302
296
245
301
364
367
303
342
344
288
376
313
363
327
357
334
356
282
277
367
321
326
390
249
326
350
356
292
323
361
329
385
246
267
315
291
260
327
298
346
217
287
277
318
258
249
242
318
309
324
303
160
340
317
391
329
420
350
290
320
311
238
396
377
307
382
302
328
307
268
335
340
346
371
250
369
254
283
275
240
394
258
317
277
306
303
309
315
278
306
282
264
314
311
289
300
392
258
374
289
270
303
270
368
370
331
247
344
281
361
305
316
255
352
296
356
279
373
315
277
337
306
289
351
363
353
355
336
230
308
313
368
268
272
300
309
298
295
339
362
311
369
365
315
291
391
290
310
299
322
323
278
292
344
360
319
329
306
331
342
366
342
428
346
297
374
300
303
250
395
291
223
307
363
371
364
238
264
321
417
338
341
348
238
289
310
328
387
370
281
342
283
323
303
214
294
388
365
231
327
386
315
281
262
417
252
353
385
346
328
406
305
249
319
289
293
352
309
285
314
325
346
263
272
327
230
309
361
299
330
300
326
359
290
269
334
310
248
304
302
307
323
317
341
341
276
335
163
300
204
363
257
299
353
330
356
323
373
342
289
382
282
285
322
285
351
262
415
283
319
320
397
279
275
278
302
241
273
228
320
343
328
424
337
308
387
291
328
341
349
260
258
310
278
332
267
348
288
362
294
270
331
379
321
350
305
313
395
311
256
355
305
271
245
301
255
275
291
364
312
226
266
374
270
346
333
290
319
266
335
296
292
322
346
329
274
368
261
326
285
299
337
334
319
330
380
343
313
296
274
309
354
316
239
235
351
384
275
187
408
247
318
374
287
356
395
373
325
253
262
301
282
331
374
322
319
275
250
340
348
278
321
316
340
306
308
371
294
287
292
298
262
302
368
268
274
387
351
340
294
314
328
323
356
433
337
326
221
338
294
318
273
282
265
356
361
333
287
310
391
277
334
270
320
337
323
307
252
317
332
342
323
340
325
373
318
340
344
353
308
306
295
314
338
307
327
340
298
302
302
310
343
295
333
235
357
248
352
278
351
265
315
327
315
288
259
312
343
359
252
372
392
320
317
401
350
240
286
294
235
285
360
307
293
207
262
339
329
288
330
333
258
315
339
253
295
351
360
296
371
304
312
323
327
287
272
343
334
255
344
266
313
335
233
322
295
252
348
385
243
320
313
268
360
279
338
339
300
275
436
317
334
327
286
327
266
339
372
333
337
285
352
257
291
366
277
295
379
274
277
361
346
382
285
321
333
236
266
302
385
242
334
343
296
274
328
337
300
340
279
265
321
298
287
350
310
319
219
250
305
309
264
361
276
344
361
304
351
320
308
316
368
297
325
310
297
293
339
322
249
347
309
300
333
264
403
341
303
334
297
303
242
314
345
326
287
334
324
288
274
302
258
336
257
295
374
280
343
323
289
322
299
374
228
265
344
296
261
305
347
257
265
259
310
275
310
322
277
295
345
352
311
305
305
310
314
371
321
247
356
389
284
276
328
365
233
275
291
308
349
305
404
227
302
289
385
261
332
379
328
386
308
319
352
266
281
363
341
355
327
300
349
287
340
334
308
328
384
202
324
256
358
318
289
304
265
339
327
268
269
292
352
329
352
331
266
318
381
349
330
268
288
340
387
264
340
220
336
274
312
378
263
308
328
427
344
283
239
294
347
339
314
352
320
313
284
275
302
337
263
318
351
304
325
188
299
347
323
393
294
324
233
317
388
305
351
365
283
269
327
392
405
241
266
305
385
201
348
372
315
280
268
233
307
269
333
318
301
295
366
257
278
345
311
326
212
293
278
210
348
314
273
275
242
261
344
303
303
273
327
314
332
343
303
365
339
332
352
382
276
297
345
342
339
288
273
316
334
323
298
315
319
309
354
344
359
287
368
295
329
357
317
355
347
397
278
308
292
344
343
264
382
386
361
332
336
295
218
341
325
394
250
293
373
314
330
357
349
368
267
221
267
250
335
338
273
338
352
337
368
292
245
283
307
310
390
341
322
302
292
323
348
310
318
241
368
317
293
347
288
334
322
221
354
311
324
260
284
335
328
279
330
336
334
329
304
226
276
355
274
338
252
338
290
243
275
354
369
320
349
338
350
236
297
269
306
294
371
340
361
291
225
318
365
289
318
307
338
314
306
274
271
361
274
319
266
265
357
321
290
283
294
395
255
312
353
307
352
328
281
330
277
246
373
332
344
349
306
273
295
247
213
310
377
362
290
262
343
243
337
303
330
324
212
272
247
314
285
245
361
336
307
258
328
343
326
272
352
289
349
274
325
257
344
360
292
298
306
245
288
318
360
334
236
292
271
277
313
384
340
318
310
346
318
350
167
340
336
285
380
299
295
380
254
366
302
299
360
328
267
342
374
300
426
325
292
257
349
294
292
394
304
308
320
315
321
377
390
297
345
340
403
318
330
277
318
218
289
342
262
335
353
239
362
214
308
239
324
328
323
399
393
422
248
208
273
294
283
226
236
320
293
260
284
311
358
374
299
368
327
318
342
341
344
282
350
294
280
310
262
325
269
248
340
298
304
223
352
383
339
352
331
333
363
345
215
326
273
350
266
294
323
282
381
341
318
390
343
314
313
304
270
376
255
301
325
280
313
271
316
394
356
341
315
263
358
333
300
394
377
244
299
239
300
321
304
375
313
388
252
325
284
367
268
299
308
366
297
238
359
308
329
225
342
295
344
358
414
277
342
289
340
241
316
291
353
329
289
372
290
308
372
307
399
328
357
316
267
284
261
256
403
388
277
277
363
353
326
307
273
249
275
253
395
306
359
321
378
260
370
297
244
266
300
283
343
303
334
338
255
316
326
247
306
309
357
293
332
388
394
245
264
361
273
257
312
306
296
274
201
297
294
295
330
387
349
279
262
331
336
323
282
356
283
312
238
361
276
332
388
294
370
316
298
295
303
370
284
337
330
407
327
256
332
295
285
308
332
314
237
310
263
353
349
322
278
298
352
344
289
372
319
356
307
385
316
282
330
316
260
192
406
271
324
332
301
285
310
267
361
265
298
281
263
335
203
343
275
342
310
315
243
245
292
331
332
331
270
319
318
287
266
291
329
278
337
268
378
375
245
364
289
328
328
354
267
346
308
301
256
253
374
351
300
331
322
270
356
253
310
347
268
167
328
370
242
361
338
335
307
303
297
309
254
289
342
310
381
338
349
357
345
322
308
319
388
231
265
325
220
286
381
345
280
412
324
398
325
194
320
412
372
386
364
345
286
262
341
300
375
274
291
347
325
401
269
339
202
341
374
287
341
244
326
342
409
283
374
407
265
254
338
289
355
314
214
286
357
301
376
381
264
352
262
325
326
353
329
418
332
218
335
319
259
250
316
319
288
288
333
311
313
294
264
340
301
324
348
376
335
297
370
300
336
342
350
338
286
342
286
309
197
362
359
243
330
293
339
291
296
357
337
352
277
375
318
325
306
277
242
323
308
340
360
318
367
329
299
307
289
331
382
361
319
286
345
364
363
325
350
341
295
353
383
352
291
316
226
279
280
274
358
334
271
376
327
265
333
355
284
317
324
346
291
277
265
370
243
350
317
273
261
342
250
312
346
289
275
250
284
340
287
283
319
386
317
265
287
347
427
329
327
315
302
335
215
294
320
345
255
333
254
307
284
288
342
263
311
396
297
331
393
237
303
246
337
313
316
360
351
376
240
274
387
361
321
377
307
316
301
307
343
338
357
359
330
361
331
281
320
311
310
330
336
365
323
298
311
274
336
357
332
246
290
338
319
343
278
306
435
333
296
313
281
268
317
337
259
377
342
307
327
336
332
234
278
279
389
322
363
296
336
348
346
289
271
254
309
304
318
291
300
374
349
311
340
365
342
334
283
326
366
332
339
314
314
328
279
371
262
222
347
375
262
363
342
304
315
295
364
231
328
252
310
308
314
262
369
282
245
270
264
317
273
329
305
224
261
333
337
327
314
271
313
274
281
397
346
256
216
317
366
253
315
319
299
338
200
364
317
347
317
245
313
359
338
230
254
331
306
248
364
271
315
293
403
382
302
292
310
379
259
380
357
225
326
342
371
387
303
376
348
261
374
349
327
347
271
277
335
316
333
278
271
305
314
323
362
407
327
295
367
288
402
274
369
292
216
309
295
272
303
404
360
214
226
346
265
397
259
394
209
376
295
338
350
286
346
417
324
253
403
354
302
306
356
394
254
320
290
301
357
356
332
306
223
385
253
254
320
265
311
274
323
306
334
248
313
274
252
352
277
336
301
279
333
299
357
331
312
354
267
333
357
253
323
280
367
358
326
334
288
278
396
294
349
320
327
244
297
359
232
325
368
287
359
278
253
292
323
395
301
279
306
303
302
309
332
352
309
366
291
289
402
275
344
281
235
269
331
328
331
298
268
389
362
337
342
317
420
321
273
307
343
305
311
347
243
306
266
340
428
245
328
339
238
303
276
397
386
389
324
282
394
393
428
265
308
319
301
289
282
291
251
352
362
301
317
337
406
205
341
305
298
357
206
257
172
213
321
383
278
342
355
309
395
261
327
432
322
359
306
356
339
278
284
259
297
336
372
366
350
262
318
314
305
277
282
299
343
355
285
289
303
299
256
303
303
363
324
269
340
339
382
293
366
337
251
288
301
306
317
336
373
269
295
377
330
389
271
375
295
339
396
280
398
319
268
290
302
261
257
274
469
305
324
277
294
235
354
334
275
311
289
295
364
351
321
345
278
296
281
229
287
342
326
290
320
330
288
370
354
336
379
325
251
320
339
300
317
287
301
336
290
299
276
393
276
280
284
248
366
394
388
329
357
408
298
308
272
258
298
371
345
400
265
289
352
364
299
269
348
340
296
202
338
347
297
317
293
269
283
323
286
323
429
363
318
247
239
293
331
312
337
306
211
301
248
391
328
361
382
347
345
389
264
328
298
285
366
388
304
373
385
355
292
317
289
348
333
336
282
352
316
301
398
342
337
237
389
265
237
373
399
317
249
356
296
330
357
295
258
254
299
312
408
311
360
271
310
323
296
328
337
277
222
327
359
307
294
308
262
341
385
309
317
339
297
349
231
376
359
276
374
262
275
311
393
301
351
305
257
376
289
338
309
255
366
360
246
306
361
269
314
284
278
301
349
377
382
325
386
357
385
292
332
346
379
301
299
317
241
382
390
245
322
277
319
293
275
393
439
304
306
353
278
251
358
328
269
320
358
375
258
286
292
348
330
343
237
254
303
303
366
273
359
238
338
321
351
359
242
263
360
228
286
368
325
302
351
280
272
294
319
402
295
324
276
227
345
252
227
314
264
286
321
243
326
344
356
288
296
323
332
346
387
330
188
270
231
231
299
377
296
334
318
248
329
384
354
273
352
288
340
352
291
294
353
322
355
302
356
409
353
263
285
329
388
293
252
301
319
308
324
328
276
417
258
301
279
260
276
389
274
321
254
248
315
292
304
328
385
237
248
331
273
333
294
292
304
308
292
358
335
332
367
423
267
395
252
338
265
331
287
364
313
333
306
288
321
443
329
259
345
380
362
324
304
341
332
323
305
376
283
336
301
298
320
306
305
420
311
299
276
323
386
308
315
417
208
342
357
273
241
301
329
286
245
352
295
316
277
354
276
388
330
392
243
331
308
302
289
358
299
323
306
274
320
310
390
372
359
303
333
329
358
316
348
374
311
278
372
296
347
278
320
366
278
236
302
335
353
386
293
305
397
252
249
231
325
384
376
300
300
299
293
323
240
342
328
303
340
346
322
338
301
345
311
357
347
211
405
361
363
349
335
266
315
356
334
231
342
277
274
264
330
327
292
324
318
297
377
284
285
292
284
275
370
308
317
237
324
297
224
257
372
343
409
303
311
313
366
284
292
314
363
359
358
354
316
387
337
230
311
223
363
358
283
278
249
309
283
253
389
297
330
304
300
375
286
335
319
325
289
349
325
389
308
295
332
245
332
368
267
389
249
279
263
326
214
297
375
325
300
378
240
344
345
245
352
328
330
327
345
319
383
329
314
383
355
286
273
271
256
284
301
319
321
324
361
280
324
328
244
333
327
251
329
415
296
378
319
322
269
235
333
381
322
364
417
373
300
301
342
277
267
339
327
282
307
367
259
264
313
288
310
192
231
273
271
228
248
283
367
295
278
324
318
271
399
324
279
261
315
349
216
368
304
273
220
320
351
308
320
229
289
261
292
270
370
245
272
388
296
341
350
269
352
264
348
369
384
268
327
351
343
257
389
328
243
314
343
299
335
355
264
324
254
263
272
292
305
295
286
298
318
317
231
335
269
272
321
380
311
282
331
321
318
324
300
397
320
329
355
305
300
390
308
242
256
273
283
360
278
326
304
341
251
349
272
338
187
233
286
370
318
323
293
355
292
276
326
364
396
311
361
255
320
284
337
346
256
279
318
299
386
288
266
225
349
298
365
302
315
293
287
283
364
303
316
289
318
392
318
285
311
366
323
369
344
253
317
370
279
388
294
406
363
289
301
392
374
295
342
326
284
353
311
305
238
340
296
281
323
267
288
308
334
378
310
269
342
266
291
290
306
315
241
404
265
301
308
271
262
329
318
316
295
301
227
379
395
290
319
277
330
355
287
226
306
357
333
315
275
286
356
324
283
287
331
330
330
382
321
328
268
261
271
321
321
329
341
323
217
243
365
361
311
190
333
311
204
310
292
244
311
273
277
344
367
280
322
258
301
320
226
295
281
361
320
217
278
340
379
272
364
337
341
395
280
234
369
333
361
339
264
278
201
418
340
257
365
304
304
375
322
214
310
349
313
217
325
357
323
312
225
374
388
361
341
316
263
318
269
313
253
298
251
354
268
309
300
367
239
345
281
286
278
346
306
315
382
285
304
343
383
283
356
308
347
267
341
340
261
332
372
299
257
390
258
374
285
263
284
214
254
346
340
321
282
342
350
312
373
405
285
272
349
321
249
327
353
299
363
276
284
278
291
239
339
286
309
268
296
358
356
371
328
326
215
354
239
318
373
378
266
259
369
339
290
401
332
306
355
319
326
247
383
338
343
349
335
259
282
341
397
272
328
342
318
391
296
291
320
377
329
253
336
294
333
305
390
238
304
311
241
376
276
261
329
335
238
347
307
331
380
320
272
288
315
244
261
315
314
279
311
298
363
340
320
272
300
330
291
214
272
330
345
249
302
262
324
330
328
373
302
308
246
306
371
359
264
356
321
281
370
269
270
346
360
335
266
336
330
288
268
353
323
305
357
276
285
246
304
345
307
323
331
327
256
197
316
375
312
323
240
317
401
322
324
324
312
398
321
298
369
274
361
272
355
331
303
419
261
303
262
338
369
218
344
322
258
342
308
357
345
329
294
295
291
333
270
355
290
321
274
377
262
287
264
347
277
284
293
279
190
310
324
285
366
282
266
390
360
255
246
315
314
326
278
393
298
307
353
367
318
268
230
298
249
298
355
341
408
237
279
320
334
256
276
295
238
332
282
329
371
266
303
310
344
246
292
361
351
301
310
338
323
301
293
318
321
361
315
333
311
359
349
353
292
335
383
391
364
326
371
234
345
311
341
379
319
223
386
328
271
325
336
351
323
290
365
306
288
273
361
289
324
422
297
312
348
277
338
211
302
323
356
313
280
351
332
267
274
297
293
329
342
330
255
357
248
351
262
327
288
334
279
334
327
340
309
388
313
297
325
355
372
267
300
232
302
312
355
309
400
367
271
306
229
370
276
311
297
302
328
283
253
281
295
338
252
271
364
302
362
382
347
288
367
242
348
338
252
267
375
312
394
346
366
309
372
302
401
278
312
371
346
403
360
319
340
185
229
333
257
299
306
365
317
348
406
288
362
302
326
278
277
331
335
318
317
331
283
291
372
347
358
323
281
273
224
370
342
323
408
255
229
304
335
248
328
210
389
334
228
289
349
416
368
397
371
319
303
283
302
293
383
350
350
279
356
314
298
326
308
328
280
310
285
245
303
263
301
283
344
237
253
351
352
226
223
297
330
295
283
320
313
342
362
306
413
315
370
238
327
375
320
296
336
229
309
387
299
341
283
383
303
297
345
376
329
436
293
274
248
372
346
275
338
264
310
245
357
316
339
289
280
283
296
296
275
301
394
288
361
283
387
353
280
286
291
345
291
321
315
225
248
222
374
364
270
230
297
269
355
366
245
282
308
234
361
327
314
345
254
418
281
240
302
207
297
287
337
362
276
312
309
309
255
400
368
244
301
309
347
240
275
324
358
328
378
366
354
317
260
395
338
399
321
285
325
353
381
259
342
351
303
298
284
271
257
302
362
318
244
266
318
318
363
203
289
393
262
393
424
307
241
292
322
278
353
255
326
278
300
326
280
385
294
345
243
272
333
325
330
354
287
254
231
278
287
292
314
283
310
416
379
374
279
300
327
296
270
298
303
303
305
314
379
342
328
355
305
291
326
336
357
322
360
366
374
317
246
338
289
342
357
372
239
330
245
390
278
388
260
236
298
288
331
391
289
313
302
269
265
247
367
374
296
427
356
368
284
331
308
324
355
254
316
257
218
331
356
363
310
246
341
314
275
337
340
290
351
288
272
261
249
280
334
295
292
234
265
295
289
388
354
375
298
338
330
261
362
213
374
238
354
261
305
364
260
247
331
317
277
399
255
335
263
279
212
297
309
361
315
366
338
309
297
318
274
328
255
373
264
290
360
310
384
378
388
381
225
360
312
289
346
330
294
247
326
303
263
252
306
354
253
360
288
329
283
323
352
341
298
356
326
312
289
327
237
332
281
304
309
288
324
360
298
287
292
267
311
321
325
344
401
188
275
345
351
270
271
312
317
375
327
267
309
432
255
321
309
267
303
322
310
323
325
323
319
284
314
330
354
250
289
248
329
305
296
342
250
321
352
333
298
406
331
354
338
363
421
290
222
290
402
378
372
317
351
301
383
337
353
365
354
369
359
410
199
349
339
326
247
404
253
394
303
344
306
249
327
271
337
324
330
358
258
273
301
237
295
363
279
306
342
380
269
310
357
350
359
332
278
373
235
377
297
398
295
280
374
392
331
372
284
327
329
333
327
328
300
378
310
259
297
328
312
297
300
283
257
329
357
264
302
276
346
333
348
343
297
327
272
344
251
347
310
343
294
328
353
221
310
302
344
265
269
296
313
281
329
355
324
225
346
301
315
337
244
309
259
289
323
284
251
288
333
273
357
291
275
261
329
303
257
321
278
373
266
424
325
307
348
285
212
326
270
326
311
340
305
341
305
306
365
253
361
336
354
338
276
244
301
354
341
253
294
356
256
366
315
270
303
297
267
315
369
305
320
394
371
388
347
293
255
367
288
377
300
253
305
372
259
346
285
254
337
298
289
316
425
286
252
305
244
379
326
350
262
270
368
307
302
321
317
321
308
270
313
298
345
389
320
230
292
227
357
363
260
308
342
309
325
283
308
268
393
298
291
289
382
349
349
308
271
355
322
327
312
287
326
301
372
275
322
416
251
295
267
314
324
261
248
338
323
303
389
315
384
331
283
266
342
405
304
292
357
419
356
376
322
287
394
334
240
357
374
233
346
318
297
357
321
340
271
264
285
362
356
389
377
343
277
298
371
354
299
332
320
298
391
347
286
316
307
299
345
340
328
213
290
330
344
339
299
257
350
251
218
343
350
254
226
317
392
310
361
374
379
393
278
301
258
226
335
290
282
243
297
290
311
362
246
331
325
345
311
332
317
286
324
290
250
345
371
286
247
282
382
362
275
293
305
271
296
295
266
303
323
275
363
265
270
312
298
378
364
391
268
281
218
339
386
243
225
342
320
370
294
295
363
312
360
304
317
408
309
248
305
310
377
346
220
375
334
335
325
295
290
227
321
221
365
271
301
365
380
299
360
375
359
357
372
304
282
384
412
305
365
343
401
312
301
410
382
330
330
257
286
367
322
309
352
307
237
243
258
291
306
280
270
295
386
323
333
256
356
316
341
288
290
351
344
250
360
353
350
267
347
294
377
308
304
317
269
267
307
306
308
359
360
322
318
346
284
286
347
330
375
247
235
335
266
313
362
407
270
241
350
343
307
287
361
286
393
363
309
301
331
354
280
369
359
315
401
349
241
315
315
305
381
284
359
326
343
299
321
292
371
267
355
264
321
285
318
286
246
308
387
398
305
346
261
322
303
322
326
343
277
341
306
341
283
362
322
322
265
301
302
356
354
300
331
409
320
268
335
332
274
318
333
371
304
288
279
423
347
368
337
242
316
360
304
302
324
295
294
292
357
195
290
333
294
321
235
309
337
311
347
253
363
371
292
298
371
360
328
329
244
321
299
363
284
336
376
325
407
278
337
210
352
273
276
289
327
282
294
312
306
242
305
400
341
264
250
213
295
365
305
332
381
311
327
253
344
389
293
335
352
295
335
325
363
370
226
353
238
346
292
288
255
352
242
275
375
324
321
232
265
300
341
381
302
316
293
254
370
274
280
401
273
281
362
347
229
312
315
331
371
315
200
290
279
328
392
285
395
366
303
229
332
266
316
269
321
300
234
321
368
235
375
385
245
354
254
292
347
266
368
281
384
356
340
334
357
270
308
294
342
302
308
299
289
323
329
336
224
333
393
303
314
341
292
288
276
242
314
339
321
372
259
320
312
352
411
347
287
323
379
235
399
358
377
321
331
301
310
222
330
264
346
319
381
309
385
291
334
376
291
303
345
238
270
384
288
347
410
369
316
260
302
287
346
421
336
309
335
336
364
349
318
312
297
323
293
300
350
356
288
352
352
328
306
317
348
355
283
281
323
363
343
363
261
311
316
335
386
341
382
298
357
246
296
404
307
287
275
329
286
302
345
347
339
348
264
322
376
348
292
311
377
288
326
330
343
302
348
272
303
366
282
317
297
374
260
342
362
284
268
235
382
324
390
365
281
294
350
414
382
304
302
365
387
321
305
328
372
304
279
321
358
386
274
387
304
318
269
329
292
280
336
325
261
330
302
373
361
312
354
359
258
338
225
346
342
330
228
256
272
299
288
339
214
317
364
371
338
310
270
284
129
277
267
306
374
322
268
318
349
353
328
333
307
404
372
281
367
322
281
283
275
369
306
417
342
363
329
298
246
352
327
351
342
295
358
331
291
167
286
280
322
262
349
261
412
343
301
336
274
288
216
317
355
364
222
342
330
301
348
278
400
294
309
291
360
353
291
305
326
378
272
298
274
372
326
326
340
366
316
287
391
294
312
216
372
302
331
316
211
298
369
259
363
358
342
227
290
248
318
373
298
223
306
305
332
265
303
275
273
348
312
317
203
351
373
273
299
287
358
358
307
302
346
305
369
350
291
362
262
349
324
289
392
329
331
327
336
272
345
242
337
300
302
362
321
298
268
345
367
315
337
297
250
307
307
252
378
249
258
390
339
312
361
373
310
286
310
270
314
294
318
340
272
330
300
291
345
223
343
359
380
280
228
335
269
267
245
307
315
304
308
326
311
325
310
401
370
294
264
301
353
278
297
376
306
298
322
355
304
368
400
348
256
265
271
271
407
402
343
310
330
390
295
241
308
317
344
320
353
317
281
282
377
397
280
305
269
257
322
317
290
341
351
318
325
282
203
333
347
231
373
278
273
332
358
319
331
261
307
263
289
304
338
305
245
368
343
321
287
322
348
198
243
350
344
321
310
351
307
277
329
399
232
265
316
346
308
309
352
341
319
275
296
317
401
344
244
276
309
226
362
280
308
337
370
320
336
407
274
243
339
322
313
349
314
315
296
368
293
282
232
312
241
298
341
322
353
297
256
175
303
312
328
342
388
288
351
296
391
345
268
291
316
285
300
297
362
381
303
236
301
328
310
294
277
321
252
299
312
358
295
303
350
190
336
369
337
290
271
363
295
387
308
283
426
303
249
328
384
308
304
299
314
328
310
275
386
310
381
253
357
237
296
273
265
355
343
290
285
350
366
307
235
305
227
283
296
395
266
333
202
297
279
364
361
348
398
392
339
267
254
363
340
329
323
307
275
363
314
308
335
326
348
423
334
314
299
349
391
331
317
343
330
391
240
356
272
264
324
335
327
379
368
378
330
185
298
267
327
187
365
333
394
365
373
276
352
248
322
275
257
301
336
371
372
370
417
335
324
283
279
285
279
403
242
363
301
271
301
325
268
370
308
337
243
338
327
324
277
396
359
313
267
381
352
312
343
271
290
356
326
384
336
325
313
354
372
345
229
328
430
343
316
270
277
317
311
419
328
324
357
359
297
281
327
251
249
318
327
312
442
319
341
284
248
385
343
353
352
264
265
272
212
302
279
332
320
324
348
340
369
287
323
333
309
301
278
381
370
321
336
247
346
288
349
371
328
291
276
276
369
307
343
302
336
252
290
301
309
252
245
248
262
369
408
311
374
290
345
350
299
340
351
378
332
327
220
246
311
336
278
347
228
245
294
257
254
335
267
366
278
308
314
353
336
329
380
410
346
227
283
287
392
335
311
313
263
345
322
207
277
277
354
295
290
254
342
292
309
272
202
396
322
351
294
288
344
321
377
296
335
359
355
361
381
261
314
331
287
342
344
240
282
277
252
358
369
371
310
287
299
313
333
250
299
235
297
301
354
261
272
348
287
311
301
305
349
411
390
330
332
329
306
260
380
269
305
320
314
267
313
351
365
307
273
293
292
400
358
355
284
327
277
316
365
329
310
290
301
352
309
304
307
272
271
378
311
305
370
291
355
252
312
299
262
345
336
327
307
361
303
338
343
328
236
353
360
337
268
349
378
293
305
380
307
220
330
300
377
314
327
310
385
292
267
319
336
300
327
329
372
192
293
345
381
351
272
299
257
279
347
350
317
346
297
209
348
398
353
294
313
353
387
322
250
370
349
325
370
224
242
364
349
312
290
352
298
302
234
271
366
354
313
335
380
370
230
308
315
280
379
278
334
324
314
345
382
370
300
295
272
320
275
321
267
305
269
332
353
313
268
249
270
377
378
277
389
273
337
219
273
291
257
346
332
304
275
375
399
254
372
327
309
322
288
326
319
294
300
332
327
274
265
388
369
376
289
328
339
331
294
338
237
359
339
336
290
315
284
309
332
297
270
288
297
303
395
308
345
366
310
327
299
394
296
314
348
347
270
333
195
345
357
408
326
241
298
337
357
275
404
335
322
316
338
303
346
340
275
313
278
330
308
325
312
218
320
293
356
345
377
322
320
268
369
291
294
253
329
326
276
295
360
310
306
284
307
372
371
214
290
279
349
183
253
322
392
287
308
302
350
311
291
340
403
325
348
264
301
337
304
272
303
325
286
272
283
328
333
237
281
355
287
336
290
336
263
336
265
298
421
388
313
347
264
289
286
344
318
333
313
331
304
332
374
355
326
371
317
287
313
339
346
292
299
269
346
394
291
331
347
342
319
234
305
238
317
287
394
215
339
315
350
232
299
364
353
336
304
281
305
388
347
327
351
315
304
357
258
338
297
321
221
306
379
295
336
367
276
411
243
275
266
259
283
394
289
380
270
396
300
358
282
354
366
333
332
252
308
345
280
303
320
350
348
385
288
284
336
395
299
341
265
309
330
250
369
235
275
353
300
377
230
299
339
238
308
331
254
319
347
273
330
276
269
375
291
442
268
272
243
293
292
317
299
342
338
348
321
338
309
285
345
216
272
297
392
266
311
290
324
361
306
286
303
219
359
341
307
295
331
336
279
306
297
331
324
362
293
267
274
392
263
379
272
317
266
269
301
249
251
355
344
386
326
344
355
376
291
322
339
371
235
289
397
252
333
274
273
367
318
279
353
260
317
287
362
418
277
323
370
367
303
226
402
352
245
327
336
354
311
379
341
280
321
263
334
338
273
300
292
315
334
318
314
397
356
407
255
300
363
290
272
331
246
310
309
234
303
267
275
311
340
278
359
304
334
293
392
402
349
296
345
343
310
262
266
240
390
359
305
255
326
305
213
363
365
312
247
297
385
359
358
438
320
314
248
337
313
280
360
363
362
415
283
320
282
272
329
272
365
266
262
338
368
368
278
252
300
292
291
200
388
349
347
271
337
336
339
265
311
369
311
297
382
325
312
307
381
356
324
384
331
375
266
362
386
341
349
312
309
328
352
340
339
241
326
355
344
308
351
348
308
304
236
362
379
239
266
356
367
224
393
248
349
272
344
297
374
267
329
269
269
337
294
312
281
303
307
368
278
337
341
322
399
329
319
396
271
211
391
333
347
263
281
313
341
248
354
299
304
360
354
350
277
286
297
263
262
319
315
316
295
263
352
400
216
369
281
352
384
346
366
288
340
266
260
262
352
358
335
356
309
310
385
319
375
262
300
364
242
358
402
347
215
314
298
247
332
372
305
249
283
324
348
334
297
340
314
312
296
321
280
259
293
306
313
278
263
340
356
250
280
322
266
193
314
284
299
347
354
300
313
354
382
248
246
341
306
300
389
250
381
378
333
292
306
340
307
323
355
328
350
308
280
310
328
327
288
230
338
231
328
296
321
339
294
270
309
362
290
231
369
359
321
275
355
328
325
331
358
298
299
351
345
342
309
349
247
246
288
299
318
303
331
313
321
386
304
257
330
326
279
311
349
355
351
317
262
262
358
297
253
334
289
313
354
341
376
389
259
274
291
346
305
338
350
393
293
310
168
311
263
262
333
246
317
305
292
287
363
237
300
336
366
351
393
226
283
325
381
253
349
344
294
344
270
363
360
386
264
268
299
307
303
270
366
223
406
350
291
329
312
289
304
284
279
313
347
307
350
325
335
277
255
263
289
343
399
321
376
335
363
331
368
296
356
308
296
365
337
329
254
364
231
323
330
308
332
311
267
369
361
247
308
361
337
338
257
395
341
295
327
335
373
258
325
364
308
243
328
227
333
245
342
261
367
231
303
354
312
302
294
281
384
374
358
336
368
330
365
306
259
312
256
234
303
295
337
311
396
344
351
346
205
399
328
325
347
278
324
268
321
265
288
306
284
388
277
344
262
251
328
262
264
336
401
298
372
275
305
323
240
302
258
247
361
314
258
326
406
332
277
412
318
256
284
297
358
280
291
245
340
301
372
396
295
289
279
338
308
345
304
378
343
365
351
333
277
262
347
272
319
315
270
294
418
255
308
336
301
337
305
375
297
354
323
298
367
351
329
365
264
318
361
294
266
311
304
308
259
358
339
337
277
395
313
351
257
339
309
271
241
382
271
303
291
370
374
343
324
227
318
355
441
313
237
366
271
345
333
314
279
326
329
293
366
276
317
353
317
381
368
305
302
331
307
362
237
307
318
340
353
281
249
330
252
237
289
303
222
387
295
370
253
258
296
363
340
352
350
279
347
354
323
369
310
286
285
294
267
372
342
335
281
246
325
345
300
300
268
399
373
360
345
339
387
346
411
296
273
343
314
224
305
364
328
360
243
306
361
331
357
356
360
376
313
310
302
329
316
309
306
332
338
357
331
356
302
350
332
368
287
284
318
363
346
268
363
258
302
321
306
271
308
287
364
302
341
278
304
371
366
364
396
264
282
375
276
315
355
223
290
298
354
324
321
268
318
256
350
343
221
391
325
279
282
277
395
364
415
365
319
298
357
266
314
344
308
300
291
351
293
249
340
376
324
264
373
363
238
299
442
275
279
341
350
323
332
325
294
252
285
269
246
276
252
267
392
315
379
296
336
294
376
323
286
299
349
352
285
291
337
279
305
272
243
302
333
292
334
312
281
339
315
314
354
330
289
304
339
294
291
345
394
363
275
269
387
281
304
335
323
364
279
350
411
314
288
277
328
385
320
289
254
321
388
295
312
292
287
351
359
346
270
374
241
333
362
275
324
385
270
313
341
301
283
282
279
288
330
309
291
316
281
313
270
304
262
365
304
355
373
305
338
367
336
280
380
317
310
381
338
311
244
312
286
369
357
313
316
311
331
260
336
352
295
303
355
365
286
346
301
339
334
278
305
336
379
278
305
352
399
424
354
327
327
318
286
373
292
261
351
319
292
317
328
285
331
281
330
320
286
362
267
308
358
354
267
351
389
327
338
283
314
322
316
327
279
350
352
288
314
315
343
398
212
385
358
344
360
297
239
315
234
320
329
267
353
315
342
310
327
262
233
342
314
310
405
296
327
381
271
334
383
339
398
388
339
352
358
339
248
298
347
327
300
322
341
366
332
319
348
258
401
381
343
403
311
396
276
282
309
294
306
337
259
308
303
367
293
306
375
311
331
299
387
359
301
309
353
310
327
318
290
352
264
303
216
318
342
296
289
257
274
320
413
377
269
363
247
237
329
268
279
373
311
245
289
313
308
241
329
334
300
286
399
332
266
280
302
189
333
318
315
277
389
287
316
354
215
247
392
323
287
277
339
331
342
373
366
300
252
307
270
314
375
368
368
343
344
339
316
247
262
285
280
287
374
293
294
324
197
308
273
300
345
343
316
399
308
324
298
356
312
279
335
364
309
316
310
212
337
384
351
324
322
247
273
339
338
281
257
365
324
287
232
380
384
306
253
312
328
332
313
291
281
271
228
327
279
363
292
320
296
355
390
392
335
374
269
369
372
335
278
356
352
358
334
294
231
295
288
271
267
333
276
259
358
269
295
330
373
265
333
248
379
360
310
336
340
247
213
242
279
379
290
296
269
232
266
241
334
237
354
276
254
367
270
328
318
258
311
369
341
258
311
282
287
319
252
327
302
299
328
298
323
314
285
357
332
288
350
209
305
299
315
276
347
335
387
337
287
295
297
234
288
328
294
291
308
265
286
213
342
341
330
314
384
308
389
335
327
348
274
308
292
350
341
275
265
256
377
373
366
369
354
325
336
350
354
366
264
281
341
318
303
291
330
358
356
318
337
359
375
359
323
308
240
181
345
278
281
259
266
295
304
314
313
233
255
304
315
280
215
311
275
311
273
393
280
307
364
355
237
366
326
294
300
346
392
351
364
308
301
258
285
382
398
244
370
350
266
280
367
281
308
285
322
351
300
347
341
364
303
368
319
308
398
312
371
314
400
292
353
333
369
349
292
340
317
365
274
267
371
364
284
244
351
245
329
293
407
299
268
294
361
323
330
354
306
365
394
264
387
333
368
297
323
347
208
319
325
376
276
360
352
403
299
379
298
292
358
358
314
285
303
342
230
339
304
371
364
364
359
308
282
269
288
333
296
259
292
321
250
284
247
296
343
327
297
358
291
274
275
276
232
252
301
252
289
321
338
283
288
272
339
275
255
264
334
273
297
318
330
378
366
372
288
323
366
260
365
278
305
258
358
344
290
408
295
309
319
261
322
329
422
325
280
360
365
355
292
269
351
328
358
274
375
333
301
296
288
346
281
309
371
299
424
276
333
360
330
349
351
324
364
315
278
330
294
328
235
319
281
329
378
325
256
342
376
413
309
394
328
267
296
347
299
370
282
369
381
270
377
312
295
317
379
332
249
315
284
306
212
233
266
265
311
265
296
345
321
292
323
382
256
266
324
327
285
275
289
354
326
309
311
283
261
277
273
343
423
450
341
324
378
270
337
361
323
288
292
335
334
389
411
295
287
329
252
288
364
302
373
268
352
355
356
361
306
397
297
321
320
346
300
338
242
269
339
375
352
384
325
274
384
293
350
246
372
274
378
248
325
371
307
311
249
361
304
371
363
288
247
349
318
266
374
331
304
316
367
372
305
379
346
212
290
319
267
375
343
288
333
312
298
354
328
317
224
403
385
321
337
323
280
358
216
358
289
302
296
423
309
366
396
295
270
276
284
220
356
329
365
299
377
300
193
341
296
306
246
324
311
272
294
261
267
292
383
236
294
283
332
263
443
286
374
319
354
469
306
296
336
313
308
341
327
251
292
358
237
307
346
298
369
337
249
306
386
278
397
319
289
345
298
366
220
322
305
394
335
313
257
363
352
273
343
220
319
346
252
324
321
314
302
342
259
312
262
329
247
397
322
324
322
339
366
204
265
223
348
309
198
314
269
313
250
237
367
325
288
305
380
277
372
318
313
365
322
305
338
308
353
333
368
329
311
283
312
386
336
370
323
357
275
288
329
340
307
400
332
359
308
347
344
271
286
321
314
309
252
335
354
333
301
316
282
294
422
316
244
375
325
309
300
280
378
308
314
267
281
302
273
288
281
260
322
271
347
337
319
368
322
301
331
288
244
333
354
360
291
297
196
302
352
319
327
330
321
353
374
284
315
435
376
344
403
305
296
315
329
297
257
251
235
314
287
300
338
330
375
348
289
343
317
294
304
333
268
351
325
274
295
283
314
266
353
332
290
302
347
297
234
290
323
279
376
374
349
367
326
383
314
371
349
380
303
258
329
280
332
319
358
320
219
470
336
315
310
269
355
262
306
311
227
321
312
289
359
380
266
262
290
325
306
332
329
301
317
286
329
265
329
352
281
298
356
323
295
295
377
344
330
333
271
322
364
310
304
212
278
266
302
264
334
302
269
255
352
309
323
362
218
328
305
316
336
338
264
246
357
329
330
313
254
187
316
365
325
318
338
273
269
278
336
344
284
241
344
274
262
301
294
299
325
293
324
271
380
314
305
383
311
351
355
242
405
382
265
363
194
351
275
256
282
340
187
284
347
324
349
336
304
287
328
348
312
253
296
228
324
255
301
391
259
338
308
337
351
391
303
298
238
338
294
216
287
340
325
223
311
299
249
265
284
353
281
280
320
211
233
380
309
347
274
286
312
233
249
414
340
319
301
361
381
337
274
382
287
340
318
313
329
381
250
337
337
285
286
389
288
307
290
288
298
234
218
229
333
356
283
286
269
308
298
263
353
385
289
376
258
293
361
353
329
303
346
360
321
358
271
337
366
334
325
312
332
253
341
285
228
306
260
281
318
272
394
259
262
253
281
381
249
213
293
291
320
338
340
335
282
220
306
365
349
326
331
288
241
351
334
345
336
337
265
305
284
398
309
333
343
294
351
234
290
346
261
384
349
301
340
271
341
325
265
415
369
241
294
323
369
311
301
281
335
264
297
333
288
385
349
366
283
329
334
248
300
361
359
353
303
311
269
276
237
321
300
272
307
370
343
320
285
352
310
379
336
321
400
359
336
335
329
402
291
313
379
261
307
262
215
323
386
336
299
343
292
262
251
349
274
346
282
393
332
349
275
277
277
348
304
326
323
308
308
304
353
300
308
221
331
370
256
361
300
393
306
253
359
292
271
333
262
287
235
383
332
345
372
382
338
356
325
305
314
281
265
346
335
298
305
305
370
329
386
304
295
323
349
256
329
323
335
253
256
269
389
245
300
293
356
207
262
260
336
274
293
281
211
396
254
325
317
387
255
332
406
379
320
315
300
364
368
329
404
388
306
367
365
214
362
326
330
369
270
314
379
310
303
330
361
262
365
294
270
332
280
294
229
321
329
341
357
365
337
395
396
406
335
305
384
289
394
338
282
319
281
334
299
267
317
368
292
325
287
264
330
348
218
297
303
378
345
439
310
360
270
361
276
323
282
376
350
291
347
283
218
306
315
348
367
327
332
356
353
236
343
278
314
392
370
302
316
270
323
297
399
353
264
339
318
282
420
339
249
356
303
371
336
341
305
306
275
339
284
303
385
260
311
301
333
323
348
237
380
349
292
311
274
333
276
307
380
222
373
338
338
320
370
348
238
259
299
346
339
306
338
330
345
318
309
352
324
265
339
313
193
368
356
301
304
335
219
339
302
318
315
317
288
387
326
383
306
272
355
383
324
338
292
366
237
359
365
377
179
328
296
328
288
257
347
346
389
303
198
307
301
276
364
357
314
301
340
335
293
269
395
288
344
268
337
255
243
413
349
365
359
342
393
277
292
298
324
403
268
247
295
293
310
282
274
352
308
293
284
249
318
343
242
367
316
382
278
264
409
343
311
348
404
345
404
375
264
264
299
291
290
324
381
285
362
349
251
276
387
300
411
350
332
294
393
333
235
358
331
319
347
290
311
238
231
362
300
327
281
366
422
326
252
408
304
328
348
377
358
320
317
314
321
288
334
355
278
247
286
311
293
295
362
329
368
216
268
298
349
310
297
399
266
297
370
355
373
212
244
307
292
278
378
356
333
258
297
323
355
328
313
333
327
400
305
268
296
373
307
342
300
382
300
274
333
292
265
324
294
337
281
322
318
309
355
330
224
267
336
295
335
382
358
306
322
375
362
245
336
374
295
332
354
267
291
330
331
342
303
322
278
336
248
287
274
308
295
307
300
205
273
404
352
232
309
332
238
301
276
365
308
259
343
354
333
283
328
307
275
300
268
235
375
267
338
376
297
333
307
388
360
332
352
272
314
246
366
264
398
236
309
292
330
224
325
297
283
277
208
169
368
382
364
309
354
349
357
239
276
402
270
309
312
296
300
288
323
292
340
326
339
291
232
293
288
252
243
354
280
286
369
328
248
343
288
376
280
326
316
291
349
386
365
336
342
376
263
323
355
316
343
271
442
310
319
337
313
363
353
362
330
355
331
336
325
294
350
292
208
332
294
271
308
367
313
397
361
364
346
260
297
275
320
275
346
321
336
263
350
248
344
331
311
287
267
404
261
267
329
287
364
285
355
299
361
305
214
406
295
217
257
393
339
373
383
233
296
360
344
313
324
333
334
296
327
266
240
294
268
290
284
287
398
333
319
371
344
337
324
367
333
290
305
324
329
324
361
410
255
333
370
326
296
313
252
336
347
276
392
383
374
358
337
308
319
346
357
225
323
343
287
304
323
358
344
248
291
405
312
336
244
321
362
294
276
357
296
280
392
387
362
254
293
281
358
284
280
341
332
328
335
315
282
273
299
304
405
256
335
316
265
278
370
276
284
389
182
294
317
336
302
291
333
287
287
282
345
333
229
232
354
312
268
334
350
290
278
366
284
259
321
330
347
273
184
261
363
338
328
343
318
402
287
295
372
292
223
321
318
308
307
270
237
318
354
307
315
291
350
286
265
308
247
230
371
361
323
257
351
346
267
347
272
284
339
348
316
369
356
312
281
384
263
418
271
236
264
290
279
308
330
385
244
364
310
303
332
290
337
262
202
242
331
364
244
266
281
249
275
330
401
313
321
279
358
332
317
279
308
305
381
330
333
224
303
329
336
339
321
322
292
264
331
277
314
315
315
293
306
377
307
358
280
314
315
336
298
382
303
216
337
387
283
344
336
361
280
286
364
308
286
336
226
310
345
277
261
235
290
345
201
368
294
339
374
415
368
271
346
346
250
334
316
309
267
344
251
339
376
383
342
263
338
288
319
318
281
338
281
272
276
363
252
281
354
305
276
297
399
410
335
284
290
324
321
332
350
277
334
301
271
244
365
351
302
260
320
377
339
291
309
295
400
349
357
351
302
353
288
396
269
253
293
394
360
329
300
327
313
266
289
356
348
331
311
373
238
365
378
378
246
361
381
275
390
318
292
413
279
316
346
329
406
254
361
318
322
342
254
278
320
314
285
399
257
297
382
379
363
246
325
323
306
383
321
332
349
333
343
295
348
362
245
358
227
256
338
388
172
317
215
312
288
322
284
277
260
338
286
314
294
304
244
302
251
334
263
291
325
300
364
415
367
331
365
382
304
344
327
319
296
328
323
282
359
257
322
309
306
375
352
316
371
341
386
319
312
384
347
292
327
234
308
307
290
302
273
286
294
321
319
395
275
297
316
288
357
307
326
390
362
227
271
359
270
252
296
379
300
395
358
277
255
318
321
326
354
335
296
293
299
326
153
351
334
238
276
382
375
330
255
340
301
284
322
274
357
291
352
247
277
383
301
355
327
302
315
380
263
325
229
270
324
325
310
361
343
306
264
306
353
296
219
310
360
297
310
387
228
284
274
330
292
338
341
350
305
326
292
319
237
311
293
302
281
312
348
409
251
274
306
316
339
369
288
301
313
359
257
307
358
289
320
207
315
318
257
428
283
341
296
295
259
355
309
302
223
237
247
341
260
360
367
279
328
321
363
300
341
297
387
320
318
275
314
314
376
332
341
349
258
350
276
306
285
324
301
399
328
295
289
289
401
353
322
259
232
231
353
367
324
253
385
348
288
262
311
309
368
259
253
305
302
385
329
340
324
362
264
323
372
310
310
284
297
317
283
380
253
280
291
208
319
334
265
379
232
302
328
290
267
367
275
322
320
318
315
286
304
320
341
400
365
296
269
254
303
346
357
333
349
293
353
377
326
317
308
355
262
328
241
256
350
336
314
383
336
356
278
212
275
322
249
355
352
295
334
272
384
310
252
306
233
340
344
281
311
377
324
331
307
320
338
255
296
326
360
317
324
353
238
399
353
339
322
336
276
239
230
355
368
365
321
295
322
354
306
295
317
295
328
343
244
338
337
273
371
269
364
312
351
290
362
312
341
318
247
273
353
349
260
342
311
316
338
389
275
357
352
394
340
328
368
272
212
277
269
330
311
330
366
324
372
326
283
337
320
338
275
324
299
288
369
394
381
322
285
310
403
228
364
318
299
423
273
285
299
304
244
396
365
373
290
278
308
412
321
299
379
347
325
178
291
266
432
312
314
289
391
413
282
351
392
337
345
358
411
266
278
342
307
276
271
280
289
224
305
292
307
306
326
388
321
286
327
310
309
282
305
264
368
326
239
260
351
405
339
342
308
260
332
351
257
272
247
329
305
325
314
394
307
296
249
352
233
335
354
279
292
309
350
324
312
296
324
356
305
314
343
388
267
279
240
290
300
311
361
324
281
342
292
285
346
341
334
280
285
331
319
349
268
265
257
339
329
300
300
279
378
357
241
419
326
329
308
308
292
283
274
273
312
314
295
307
285
379
356
312
303
252
307
360
290
289
368
293
379
388
337
282
376
323
291
333
302
272
329
321
294
251
267
318
273
286
325
337
308
294
334
284
270
309
339
294
346
386
275
326
353
326
291
262
321
230
433
327
297
323
268
312
315
264
369
299
281
276
344
277
315
297
280
372
376
320
338
336
287
342
275
322
358
367
282
349
344
291
293
361
334
355
293
324
374
280
286
351
336
303
323
293
338
263
373
354
284
280
395
320
329
388
293
389
365
330
281
370
335
329
328
338
233
348
309
224
387
232
314
263
281
344
251
373
319
343
312
316
283
309
317
362
353
363
263
399
395
318
324
344
294
343
367
228
361
316
353
372
359
249
270
331
393
389
314
314
367
198
386
279
339
347
290
342
367
242
267
316
375
282
286
273
357
320
290
334
302
288
347
220
326
339
303
340
341
332
307
363
336
263
314
389
338
346
367
322
305
368
344
325
342
338
316
271
293
381
334
267
254
318
304
317
450
307
284
228
344
298
259
266
227
268
354
345
308
269
381
337
349
339
289
341
284
280
254
259
336
401
364
389
315
323
321
279
338
363
384
259
346
405
239
308
349
272
318
344
355
330
377
330
254
363
347
322
302
263
265
294
275
350
311
243
335
314
260
270
237
318
345
230
319
347
379
324
335
257
252
414
318
345
361
271
276
343
263
289
327
296
302
356
329
340
370
336
326
420
362
358
340
320
324
334
205
380
357
264
286
338
299
283
254
322
341
353
301
270
332
274
286
349
325
249
404
347
337
291
398
302
362
342
248
318
252
293
302
284
346
411
261
332
309
344
314
359
265
248
356
302
320
330
322
336
377
369
331
285
315
266
263
302
287
297
321
314
315
288
400
302
319
344
379
266
307
367
347
335
386
385
246
328
355
354
328
312
345
272
297
365
294
317
323
300
254
297
337
274
262
363
404
373
268
329
333
291
357
298
228
327
288
388
261
368
296
328
305
269
319
380
359
307
330
305
340
311
288
234
331
252
248
259
354
277
375
394
296
350
331
319
321
279
368
349
249
311
337
286
304
295
333
303
320
261
340
323
356
317
311
297
377
336
357
278
325
344
243
387
347
349
290
315
321
312
301
320
293
384
398
257
345
337
295
366
264
245
408
405
313
348
336
301
314
279
340
271
288
313
285
336
276
295
366
297
333
344
308
283
352
329
307
364
203
365
274
332
296
261
225
304
273
374
345
383
273
356
309
357
405
251
322
217
376
400
301
408
236
277
364
388
228
295
347
257
254
284
349
267
326
318
270
344
316
312
329
267
266
360
313
283
401
380
285
402
279
307
304
255
335
272
340
296
224
352
167
348
300
297
344
312
268
381
370
314
319
366
360
282
369
350
268
261
405
330
332
357
305
322
220
284
249
202
353
322
336
388
314
374
267
320
243
318
369
287
230
371
312
323
363
271
303
250
308
319
357
239
387
403
243
370
340
327
283
394
337
286
259
323
342
303
381
297
359
325
341
306
350
276
347
308
225
258
285
281
254
325
277
321
380
286
276
284
319
389
331
282
294
298
393
341
335
332
353
231
308
266
303
304
268
290
316
294
352
384
330
263
337
301
329
312
297
329
218
337
316
328
261
237
362
340
346
266
319
419
272
323
258
347
296
263
265
328
283
336
330
317
373
277
282
262
376
304
359
354
375
334
400
234
365
356
313
325
307
276
276
354
335
302
332
304
320
309
313
308
305
323
329
388
282
276
362
354
328
279
311
299
289
310
367
382
298
300
323
239
335
305
356
362
367
312
331
397
329
265
287
350
335
355
370
308
342
271
319
293
335
334
369
295
358
341
371
347
277
259
317
398
268
261
342
353
332
343
281
178
351
290
293
233
306
391
300
283
275
316
367
399
337
321
331
269
256
233
279
313
300
369
318
347
340
298
285
319
280
340
356
311
240
271
297
403
318
293
316
288
235
323
254
304
328
231
347
326
227
302
208
348
259
360
262
278
296
316
299
297
265
335
346
392
275
294
275
240
347
377
300
356
314
283
393
283
363
291
338
310
314
312
310
366
329
310
357
387
310
397
345
350
281
293
298
284
295
326
296
334
313
235
314
361
309
347
389
341
424
247
223
316
390
367
376
334
359
231
329
249
327
351
297
366
266
267
363
291
252
333
334
328
431
366
277
312
258
354
247
223
384
381
333
330
286
328
245
318
283
218
272
314
342
340
296
348
288
292
344
309
235
303
368
351
338
379
309
303
363
358
376
309
302
300
341
289
239
347
310
314
344
344
276
328
239
390
313
329
288
294
285
321
363
330
354
313
344
300
355
219
323
262
254
322
323
354
275
416
366
295
329
391
326
346
270
251
332
364
260
262
301
400
359
358
280
320
364
344
297
318
329
264
361
317
338
331
258
313
299
347
313
328
406
270
268
298
319
304
267
334
313
364
311
303
260
282
287
343
309
264
378
282
361
298
231
346
401
387
312
299
281
332
307
306
426
302
299
284
280
308
317
283
281
328
335
279
324
320
349
274
294
345
281
273
319
286
333
353
315
298
309
231
333
303
350
339
372
306
298
349
351
291
268
295
332
298
361
399
270
284
302
398
346
275
248
319
365
363
305
327
311
300
318
283
258
406
279
311
314
346
308
371
403
351
344
372
315
316
262
328
305
349
320
328
397
369
272
295
263
328
252
230
350
364
371
411
235
275
330
254
354
399
263
223
337
265
344
264
328
356
319
356
348
275
320
334
268
280
308
325
348
406
280
292
360
354
291
312
302
358
282
233
304
312
290
289
351
392
291
315
242
369
217
287
297
328
304
262
320
303
255
206
371
313
281
313
330
275
336
277
405
321
292
352
236
338
322
289
320
271
354
285
320
296
282
341
289
275
288
372
267
347
327
377
273
292
377
316
302
388
248
345
237
328
263
248
292
323
317
379
169
292
374
355
274
303
243
329
270
215
225
307
259
347
343
286
266
287
290
341
365
411
296
294
329
393
308
307
374
284
259
301
327
355
202
305
333
296
274
306
313
380
313
323
394
296
340
281
314
344
272
347
282
267
362
363
392
274
274
311
292
366
353
234
277
325
326
333
305
238
320
357
290
330
222
377
346
334
335
249
262
304
330
292
384
312
222
274
382
396
307
348
295
350
323
339
362
347
369
373
244
300
361
340
283
392
251
314
277
335
341
374
326
307
288
292
374
269
375
268
233
347
321
359
274
272
343
335
349
257
316
380
310
236
233
361
220
198
292
319
380
302
288
334
329
346
231
300
241
360
293
366
283
230
322
362
285
331
284
292
365
364
304
376
386
278
307
291
243
347
320
384
288
335
346
329
228
325
264
339
335
309
339
366
365
306
361
233
313
294
266
293
284
300
296
306
345
308
274
360
277
287
327
280
378
350
381
386
392
179
322
410
252
313
296
325
304
290
327
265
313
312
383
285
356
288
297
331
240
321
353
382
279
196
291
378
307
314
322
317
317
300
293
345
303
360
325
343
254
350
366
293
256
377
285
370
296
378
333
259
289
259
269
407
268
349
285
330
355
308
286
320
325
298
333
401
294
304
264
331
306
331
344
392
303
355
371
262
247
258
332
281
395
323
293
317
371
300
297
339
277
279
288
370
349
278
306
227
296
363
321
388
282
316
354
307
279
287
341
331
330
239
291
278
333
332
360
322
300
358
354
317
337
338
344
351
310
303
332
288
354
311
307
282
320
242
306
258
364
374
293
298
280
259
380
363
334
281
336
336
257
291
265
326
328
201
322
342
374
269
345
285
406
289
278
300
334
368
304
362
290
287
329
284
362
289
344
361
272
346
396
350
268
342
343
255
299
352
351
344
318
355
317
310
268
329
353
347
266
303
188
343
219
264
397
340
344
342
336
316
267
331
381
283
339
319
277
288
290
328
334
324
279
336
235
359
373
429
315
309
233
273
356
399
328
306
288
324
407
326
286
375
278
288
369
206
383
295
354
310
335
299
310
402
303
312
434
307
316
257
319
296
257
321
341
220
356
396
341
333
357
304
314
394
261
268
329
325
302
246
342
356
290
310
283
299
320
361
280
385
304
250
286
315
334
392
333
340
348
327
295
338
439
318
305
325
293
286
351
321
332
341
297
311
211
341
290
315
394
299
189
287
335
338
345
290
362
325
272
387
293
354
329
383
343
339
329
317
289
288
327
284
318
255
306
337
271
329
263
342
343
334
322
322
452
319
262
337
325
321
343
294
255
304
291
358
406
297
340
303
358
311
424
327
351
389
315
284
287
343
318
312
325
326
328
256
348
309
394
316
329
347
301
242
316
249
349
359
253
335
336
265
319
287
269
333
264
269
373
338
339
294
288
465
283
347
377
325
275
350
302
341
243
335
377
359
311
245
311
258
331
308
276
333
331
340
387
399
348
322
352
256
275
250
279
333
314
311
267
391
335
266
330
330
324
218
305
312
279
329
321
371
322
289
347
291
328
317
381
283
287
337
298
303
306
339
311
314
355
392
306
304
302
328
342
308
327
345
341
354
280
312
247
272
286
332
318
376
332
340
251
311
292
315
253
294
249
336
283
296
347
281
250
333
336
361
336
297
307
360
324
356
308
346
265
300
327
255
261
291
352
379
271
284
338
333
327
278
341
309
342
232
385
271
327
264
321
373
302
295
319
261
259
289
366
297
405
349
286
318
367
310
328
272
336
346
339
353
309
316
318
339
293
341
318
344
287
253
391
420
365
219
303
327
289
296
289
325
259
285
316
298
328
353
355
292
344
351
399
380
368
261
311
396
285
220
269
300
309
318
305
331
282
321
380
344
306
344
253
352
308
368
360
354
315
304
279
325
228
377
290
319
293
280
261
358
356
261
379
329
288
351
289
295
339
319
384
259
263
374
332
336
335
377
243
323
302
309
336
268
278
298
227
362
265
255
361
379
372
299
310
390
315
286
307
393
288
310
218
218
296
406
292
291
276
293
240
310
330
370
322
314
312
280
312
327
336
332
364
238
301
348
259
305
285
375
398
334
285
313
255
288
390
323
356
360
302
273
384
344
346
344
317
322
238
257
367
352
399
312
349
323
313
326
326
318
322
358
316
329
330
365
307
292
436
309
304
279
336
319
240
202
315
399
284
341
383
239
333
373
333
225
291
389
272
389
344
310
352
358
344
230
259
347
267
358
378
293
317
290
278
291
353
318
258
264
350
345
354
318
360
246
377
360
265
336
298
343
270
314
371
334
322
290
288
264
395
330
289
349
265
312
284
361
324
259
303
361
273
363
359
362
338
281
327
379
351
291
339
290
343
337
350
318
351
220
291
291
282
296
185
305
211
392
328
334
276
329
320
304
336
311
346
272
296
319
300
261
342
238
353
386
349
343
341
214
321
275
232
296
317
321
315
295
286
310
293
394
285
322
311
320
352
307
277
337
292
283
293
324
366
240
310
325
340
325
294
335
407
353
285
340
311
238
277
268
351
385
315
284
339
356
297
284
311
339
296
392
260
316
381
305
329
356
267
345
308
423
331
336
367
350
282
285
312
359
292
279
333
292
339
341
373
321
314
265
358
283
253
295
322
360
352
360
348
389
288
310
365
334
321
343
351
251
254
346
341
283
255
284
348
307
394
326
388
388
310
292
269
369
323
328
192
267
302
285
332
362
394
332
359
410
225
388
240
296
329
305
321
348
345
222
312
345
318
342
310
328
316
254
345
322
281
391
389
401
332
287
353
300
278
346
405
366
368
349
306
349
303
221
347
300
309
272
196
328
333
331
302
280
296
408
286
309
369
243
335
297
319
376
286
295
314
309
295
284
352
335
286
311
336
323
291
291
339
319
335
294
257
376
231
293
286
313
307
261
383
296
325
329
314
393
337
295
333
278
364
282
345
348
359
333
317
351
350
312
350
319
301
331
294
275
294
328
295
237
290
238
305
381
292
308
278
254
325
307
339
273
209
301
338
242
379
271
368
401
337
315
283
308
225
348
275
281
356
343
305
263
352
305
274
354
350
309
326
304
273
400
389
202
364
290
383
223
293
319
202
286
328
276
253
387
347
282
267
301
281
337
383
334
287
238
307
340
324
282
358
331
209
337
332
321
369
345
292
283
318
280
328
252
462
362
397
305
317
366
298
294
335
281
377
287
292
333
334
193
351
311
275
324
311
375
267
395
336
341
377
283
290
302
337
341
380
263
369
336
341
349
201
356
332
384
356
331
311
246
324
297
257
357
375
211
316
332
272
366
363
325
340
306
312
278
376
190
320
298
288
362
315
217
286
289
289
363
289
363
349
299
359
407
376
250
414
344
371
337
308
316
348
418
325
369
323
324
348
262
311
332
372
328
226
285
309
282
393
245
277
355
274
336
309
307
256
265
284
340
353
284
324
280
372
377
251
310
308
343
318
288
291
237
331
351
393
264
290
283
307
302
310
308
316
272
361
413
359
280
336
318
322
313
344
290
229
304
292
320
339
298
312
317
333
279
272
386
307
376
312
222
277
298
316
250
341
351
254
221
339
305
280
227
363
286
320
347
370
367
338
215
448
261
280
329
280
255
254
309
275
392
277
231
249
287
370
325
344
303
282
233
332
339
217
333
264
356
281
373
335
363
382
274
239
376
338
245
280
326
352
390
356
305
363
322
283
289
319
233
336
361
250
210
282
302
285
284
250
257
280
272
380
367
301
300
289
338
354
333
321
332
365
318
271
288
333
303
314
278
279
372
339
320
279
330
302
356
385
245
276
322
362
364
281
316
395
338
268
261
353
271
380
352
323
284
329
308
390
315
385
294
347
325
338
327
345
340
313
289
303
343
377
276
334
286
280
320
339
377
256
332
320
377
296
252
321
305
254
355
279
281
273
362
367
340
397
327
295
336
307
201
323
295
347
395
408
315
280
325
317
301
188
300
334
359
246
312
262
282
327
345
370
338
276
357
339
305
341
349
355
341
274
285
351
351
320
272
332
266
260
367
387
363
302
377
326
365
221
295
305
312
312
239
303
298
408
330
267
346
352
310
306
320
250
340
323
271
332
383
341
345
352
320
312
360
316
298
344
349
324
340
343
310
298
370
277
305
215
424
318
334
243
397
273
341
354
289
348
314
273
318
406
275
286
283
268
270
235
258
309
320
331
333
279
302
287
293
288
319
355
379
331
251
277
369
304
263
358
313
198
247
252
323
292
310
387
300
311
260
399
419
283
262
302
288
306
279
377
247
345
343
271
327
308
320
258
440
333
277
339
289
417
323
360
335
334
307
324
323
373
323
253
302
332
314
289
402
288
317
275
361
388
341
380
277
331
257
326
343
287
296
361
309
240
384
333
285
343
284
400
311
366
343
278
335
296
362
305
358
323
293
322
241
249
330
307
300
223
241
288
237
337
305
305
347
366
322
367
367
276
298
349
294
289
339
298
267
362
332
243
236
380
330
368
352
332
331
353
279
240
250
228
343
308
315
369
265
349
358
388
356
331
329
319
303
349
268
292
269
371
289
344
335
351
364
358
302
369
333
281
340
282
289
275
334
262
359
366
317
379
317
317
349
299
321
375
372
316
319
338
299
336
285
327
342
277
299
289
290
324
327
199
241
338
308
226
272
287
205
323
279
296
251
376
276
387
279
220
335
422
295
278
391
360
322
274
390
235
290
286
355
216
283
290
298
190
265
303
278
305
349
312
338
290
302
304
291
246
397
354
337
278
367
310
319
342
293
335
213
352
349
309
294
327
352
322
313
353
226
447
258
340
338
332
284
338
288
232
261
414
349
292
309
242
302
318
313
328
353
249
321
297
314
327
349
336
278
394
314
310
353
331
262
340
231
253
405
306
299
376
374
358
395
356
308
322
278
257
274
398
315
308
323
304
334
358
285
327
327
359
307
304
330
264
342
424
393
378
264
206
307
361
352
331
300
330
338
295
394
290
375
300
360
373
331
299
279
282
369
299
348
337
389
270
249
318
274
255
340
343
260
282
316
271
299
320
333
384
338
335
287
331
317
355
301
265
363
266
238
318
291
308
320
365
386
312
337
300
351
308
241
347
300
314
338
315
345
349
361
352
326
234
221
331
305
334
376
341
378
313
254
247
285
292
378
414
300
301
383
325
357
313
381
322
365
293
409
379
305
237
293
302
287
321
295
268
351
308
440
283
289
426
338
203
325
311
339
341
242
324
307
305
303
282
288
366
271
299
396
285
222
330
253
353
333
233
301
355
328
296
321
333
383
327
294
378
287
359
284
357
248
241
366
379
324
286
335
255
403
266
352
302
299
311
346
332
235
313
366
278
297
281
265
257
285
302
366
304
291
329
377
317
352
288
341
340
278
265
429
400
351
309
328
297
283
365
232
337
354
302
329
309
278
359
308
309
337
211
321
195
272
366
359
349
276
343
302
328
292
256
368
352
368
278
298
309
298
353
300
379
356
329
193
335
259
306
303
328
261
286
288
390
306
301
354
245
340
247
306
285
195
323
291
276
333
291
349
292
311
391
308
299
303
277
364
404
379
230
262
270
325
308
292
289
321
348
340
341
336
305
260
266
337
290
284
310
306
393
368
346
271
282
296
232
243
277
325
357
267
324
268
262
346
286
303
355
269
346
333
290
323
353
267
273
401
291
296
374
368
274
185
319
259
315
378
383
284
310
322
381
334
290
390
340
315
277
234
346
340
255
365
284
322
303
366
330
334
291
256
392
301
346
293
302
281
357
283
284
239
347
294
368
331
284
306
285
312
260
332
296
360
337
306
299
310
372
270
341
308
365
248
344
317
367
321
301
391
345
325
301
280
303
367
326
368
325
298
305
359
371
340
325
384
329
291
335
325
234
303
317
270
291
370
300
291
275
365
217
371
312
317
361
284
327
195
302
307
325
280
347
370
275
326
379
360
279
367
275
336
312
295
299
337
256
315
379
347
278
248
296
173
322
257
311
335
281
292
336
281
269
278
266
291
353
297
350
330
373
288
270
346
272
346
391
296
329
285
308
269
243
320
331
338
320
282
387
266
301
303
297
358
323
336
332
392
221
318
336
220
329
303
342
273
287
312
302
240
328
287
318
345
339
363
311
261
288
356
338
403
322
301
308
294
303
269
289
360
339
331
297
254
316
334
347
282
309
334
369
356
287
310
289
321
320
317
307
312
366
380
256
210
281
375
248
362
356
351
367
281
366
312
335
346
343
284
345
334
303
271
315
376
351
323
372
257
383
252
318
354
327
305
315
302
317
337
369
297
322
321
390
318
215
340
297
247
401
264
309
369
358
280
351
288
298
339
315
294
302
336
354
362
314
364
322
332
333
230
292
324
361
302
319
361
341
367
365
316
256
288
349
329
317
316
348
355
221
230
297
263
376
311
310
241
325
325
260
351
306
247
269
284
307
349
228
281
344
393
328
300
361
320
238
277
312
330
328
333
316
435
205
302
367
307
206
347
295
329
329
284
371
344
314
296
301
368
341
367
304
356
329
314
339
291
334
267
306
422
330
303
375
324
257
340
338
426
357
300
342
297
321
353
292
314
327
407
286
364
344
343
270
308
346
384
342
334
310
350
430
273
238
315
313
270
309
344
354
265
212
342
344
279
371
379
394
311
414
257
312
320
318
389
339
341
346
238
301
393
326
307
304
261
383
308
356
312
307
329
257
324
391
325
241
300
231
348
263
324
287
287
290
375
298
351
335
235
282
259
359
420
317
309
321
325
269
312
258
259
268
300
246
325
298
263
353
285
219
329
321
319
337
329
373
275
316
293
258
309
309
348
304
325
364
363
367
372
328
401
340
254
215
354
307
355
289
293
381
296
281
302
335
372
309
286
248
306
269
307
288
306
276
403
308
269
287
352
290
316
280
309
343
393
290
354
366
229
372
308
338
272
316
376
305
376
307
364
292
279
328
266
301
306
400
331
311
353
346
359
239
213
364
388
300
316
356
292
285
359
283
368
322
341
282
394
292
240
284
330
320
270
371
297
330
361
348
404
317
307
367
304
284
358
339
249
241
409
311
313
298
385
316
410
336
257
323
251
313
357
276
385
319
359
322
356
334
240
259
370
362
324
296
316
367
286
386
358
340
321
312
345
350
365
293
317
378
306
337
291
292
328
283
291
354
271
322
308
322
262
345
234
270
270
400
393
368
329
385
296
264
379
339
310
371
293
357
349
304
282
263
338
312
272
305
276
350
245
268
247
282
375
275
343
319
257
343
281
309
304
323
354
300
319
310
304
273
307
322
370
349
296
373
301
274
366
300
288
338
320
346
358
326
329
375
344
319
325
396
336
312
302
331
327
290
425
375
328
290
328
291
312
330
404
356
238
388
335
358
264
283
357
372
247
307
247
251
286
268
354
359
354
331
313
312
332
343
346
291
380
332
186
331
227
382
346
310
356
273
262
293
348
291
417
342
328
295
290
312
417
328
259
318
320
298
315
268
291
303
366
312
291
291
324
327
249
285
254
264
339
399
261
326
287
358
321
217
363
307
347
334
312
328
378
353
359
364
321
350
345
322
230
354
327
384
346
364
353
316
340
256
321
317
306
300
273
230
303
410
311
341
291
395
349
292
345
379
333
223
286
326
323
337
378
356
358
256
323
316
318
338
283
310
339
266
312
266
294
363
373
356
194
326
309
367
284
374
350
342
377
282
348
296
353
158
361
306
302
298
326
294
215
351
253
325
335
270
332
334
366
261
271
277
353
415
324
297
302
338
271
304
393
314
239
341
335
310
320
281
312
297
267
269
292
267
322
281
395
323
289
313
271
364
338
276
350
242
209
304
310
300
227
363
302
272
275
188
247
295
301
299
320
293
292
333
337
355
341
330
318
357
387
297
306
331
306
380
358
397
277
359
346
330
341
224
312
314
189
308
297
315
331
285
315
333
328
289
261
374
335
327
378
321
310
295
301
285
283
289
314
420
338
350
312
327
286
315
323
300
262
330
346
336
367
268
291
277
272
275
348
303
345
314
299
336
347
349
347
245
392
361
290
448
315
352
301
412
277
353
318
285
236
356
345
260
298
341
414
258
303
304
355
336
343
334
300
294
220
344
373
313
317
315
302
370
318
261
360
419
341
319
264
377
297
367
337
285
373
283
315
334
363
267
338
424
275
289
281
291
225
368
360
335
336
360
284
317
281
315
312
324
206
285
271
282
381
296
307
251
365
288
286
287
222
343
358
348
218
292
299
352
256
318
272
298
310
393
251
374
353
290
388
381
299
324
316
279
303
318
333
301
243
293
296
365
360
358
350
344
382
417
254
270
324
309
306
405
341
306
318
227
370
258
262
344
337
345
300
326
244
383
297
328
329
377
327
271
273
301
327
299
309
347
242
345
283
406
225
319
303
319
341
401
221
281
353
345
211
351
338
378
362
377
335
403
337
302
294
313
310
328
297
294
273
290
357
295
380
305
306
354
292
288
275
256
340
218
361
257
258
320
352
313
330
375
309
271
326
355
316
335
267
294
338
340
291
317
246
332
348
286
269
333
209
319
294
320
340
314
417
249
349
233
295
295
267
358
276
356
332
336
345
321
367
304
321
287
301
297
409
373
310
243
331
319
285
302
275
309
353
357
284
267
285
291
274
319
385
319
276
243
320
293
277
289
293
307
230
291
362
384
356
351
369
365
302
383
301
279
333
340
305
310
309
255
341
309
223
300
270
309
348
307
365
318
284
392
311
290
199
371
237
251
281
313
358
233
271
315
376
347
366
328
399
334
351
335
303
331
346
309
336
230
403
338
314
311
285
395
290
325
367
295
208
287
332
249
368
312
279
258
326
343
335
397
338
256
330
259
353
284
367
276
306
190
349
365
232
347
253
376
337
306
341
240
381
352
327
425
315
337
329
318
342
245
288
267
238
318
353
328
318
330
260
277
293
342
298
251
354
287
373
336
323
301
353
389
353
321
311
361
319
348
296
304
227
313
288
306
354
220
323
325
280
367
267
265
329
342
292
357
284
374
250
327
243
341
309
262
250
384
235
393
315
310
369
230
388
223
255
308
237
374
247
307
288
318
301
291
362
415
293
390
295
336
418
332
233
255
207
314
293
434
275
294
242
299
271
259
325
352
278
324
310
286
312
247
351
324
289
395
347
247
270
255
248
287
295
308
254
326
283
331
286
350
246
297
304
251
301
309
266
285
252
320
367
354
350
319
315
264
241
326
396
268
296
305
332
347
421
322
298
262
364
315
290
276
300
371
307
315
287
392
309
280
293
399
287
349
318
350
367
326
311
311
294
282
271
344
330
312
384
293
339
300
348
339
304
312
322
384
375
346
390
285
354
341
352
287
311
206
298
359
294
341
263
263
326
324
348
299
288
348
333
349
303
265
369
296
383
288
343
322
336
368
351
248
272
259
291
278
236
287
321
356
293
335
395
273
288
238
280
320
332
335
309
282
365
316
371
328
418
271
297
322
269
230
289
290
354
333
253
317
388
343
329
268
421
275
336
337
282
287
295
335
307
264
342
266
257
333
302
279
338
320
312
289
347
269
297
369
263
279
306
341
262
278
290
325
274
331
365
346
293
269
291
341
258
298
305
298
324
339
358
252
328
328
322
246
312
280
356
277
333
271
353
318
290
245
338
373
295
356
301
346
370
387
322
272
304
301
293
279
356
338
299
246
287
313
356
368
297
313
309
292
365
308
327
372
246
362
365
300
273
308
172
315
286
304
352
282
327
411
219
347
317
329
375
330
281
347
316
353
331
298
324
313
306
262
351
341
281
311
298
345
305
320
290
364
356
291
297
394
285
304
345
287
356
278
343
274
356
319
258
281
320
358
253
285
253
281
328
375
320
337
276
310
367
320
331
332
322
296
366
392
312
359
250
254
413
230
246
358
353
286
341
233
325
333
330
273
323
393
305
310
332
333
267
338
307
331
335
204
369
286
296
326
310
280
353
267
281
322
359
278
292
360
283
290
325
341
278
280
348
292
382
235
290
291
351
296
430
298
317
290
330
353
303
297
218
313
332
340
295
339
291
289
402
333
268
330
308
312
269
325
301
297
309
307
322
372
341
269
346
353
408
330
343
289
341
308
326
320
380
309
288
236
335
392
379
252
329
366
337
321
258
418
359
326
373
373
340
318
302
202
337
364
379
243
283
291
334
274
387
325
393
271
304
306
333
346
343
296
291
321
325
354
243
337
271
294
270
387
316
343
233
355
247
297
341
356
304
304
298
358
308
279
303
264
387
284
332
262
257
241
317
303
272
336
343
330
375
327
289
323
272
295
333
354
336
292
305
345
294
301
362
282
294
316
327
235
355
346
337
335
310
326
286
344
274
290
200
283
350
362
303
324
264
308
279
374
329
270
273
343
301
263
290
384
235
312
349
380
333
261
329
301
347
329
278
336
280
229
336
306
287
358
320
243
325
312
366
270
335
265
346
352
230
315
398
356
366
310
277
298
341
292
378
359
249
297
360
287
273
304
302
434
283
394
292
293
309
295
304
256
342
269
294
304
344
345
252
264
304
276
275
328
361
267
280
334
328
279
359
256
288
327
326
304
407
345
289
343
290
361
277
429
337
382
299
259
313
352
296
340
293
284
382
375
381
283
378
327
297
318
309
308
326
319
279
321
342
295
414
365
321
246
347
326
313
292
319
380
330
284
270
306
370
283
327
219
345
364
368
374
350
303
284
359
266
316
277
292
378
362
304
315
372
281
236
302
247
316
333
384
306
313
322
333
296
265
370
320
307
315
349
347
309
341
320
310
330
316
313
360
329
347
338
283
402
301
245
283
281
297
267
381
283
270
349
270
353
313
347
239
252
340
328
383
343
376
366
308
298
348
355
307
321
307
322
374
319
314
304
336
318
250
393
341
324
249
273
287
321
326
293
291
314
371
341
336
314
381
336
400
278
355
304
327
298
303
390
296
256
261
258
333
304
293
214
266
362
298
296
272
263
317
387
331
331
265
336
354
314
319
324
270
341
271
276
309
384
308
353
340
351
322
339
272
373
277
363
317
336
306
314
318
352
354
315
304
363
292
348
316
342
263
278
357
294
307
345
322
313
334
339
235
266
388
354
327
262
406
322
253
359
339
261
334
273
369
257
299
272
254
290
232
320
301
322
232
278
346
315
310
382
315
306
364
269
349
292
295
263
373
252
330
361
249
267
371
359
302
349
317
299
303
325
331
363
329
342
342
313
315
286
316
357
280
337
321
322
371
353
328
282
309
330
294
387
304
302
303
243
314
255
271
247
320
328
269
385
322
307
315
281
340
318
323
378
245
300
262
404
254
283
266
216
267
326
289
229
424
283
345
313
397
276
258
349
308
288
263
384
329
306
266
186
349
309
327
261
264
336
308
337
352
351
294
359
260
398
298
341
272
364
286
241
333
377
366
249
276
404
350
362
415
274
299
255
336
276
350
305
358
354
248
304
333
384
335
321
315
322
296
257
274
366
277
302
308
269
311
349
320
320
250
332
375
289
340
271
358
357
305
348
245
211
310
281
321
254
353
277
292
336
369
324
310
387
330
371
349
312
328
334
365
278
311
364
272
274
293
318
395
334
242
327
362
238
332
369
289
293
324
328
382
332
249
336
285
348
410
214
299
279
335
338
318
324
384
293
314
386
291
311
282
326
307
380
286
325
357
271
328
286
362
328
260
273
314
296
351
314
243
259
306
370
378
394
309
316
316
194
325
289
394
373
315
218
280
282
295
267
307
373
321
286
342
322
365
269
285
248
362
324
351
275
242
307
402
380
280
331
311
279
381
307
367
272
279
319
323
346
307
311
355
308
339
330
330
366
300
276
319
310
269
283
349
378
305
279
263
277
405
373
278
346
339
293
348
332
314
389
407
307
345
308
350
341
308
278
315
349
268
248
280
339
268
271
358
398
273
264
331
368
321
294
353
306
328
271
340
342
285
276
293
256
319
343
321
369
338
347
348
383
320
340
348
300
282
313
272
384
198
297
333
300
298
305
217
327
322
344
301
248
417
320
316
312
378
365
301
273
334
301
373
352
307
343
276
348
360
335
351
301
334
297
247
321
340
324
292
334
304
377
243
332
311
308
293
284
296
318
290
241
327
332
259
280
354
310
351
312
329
304
371
312
275
322
283
399
381
380
271
325
344
377
313
389
266
314
222
303
358
216
258
348
338
317
329
326
316
343
355
323
423
293
300
266
263
343
292
339
319
283
313
352
414
355
203
330
320
295
320
297
369
278
318
327
341
336
372
277
292
294
379
310
310
272
325
341
334
231
297
352
371
367
309
333
329
283
361
280
231
310
268
238
336
245
305
345
306
258
292
364
309
322
296
274
346
355
244
193
363
298
203
333
262
314
281
361
357
236
296
390
332
366
317
343
332
225
333
330
314
370
357
274
348
329
344
284
343
277
319
293
382
261
357
231
236
346
362
352
334
305
367
317
322
343
295
293
253
360
297
211
316
348
258
330
331
337
285
342
234
307
253
410
410
420
298
307
273
319
307
322
355
320
337
264
286
327
362
280
345
387
270
295
429
312
229
339
350
327
319
370
336
333
278
373
338
309
319
185
249
363
246
321
360
307
240
337
267
206
262
305
257
277
317
308
321
312
385
356
279
331
312
342
275
287
343
323
311
229
388
415
290
340
276
345
332
281
308
330
355
305
325
359
321
392
256
337
373
337
246
290
305
293
367
320
314
283
409
238
273
266
321
339
329
261
431
350
326
235
261
259
341
321
263
377
370
311
280
287
366
313
334
251
345
351
324
269
309
273
360
365
338
281
272
349
325
366
310
407
286
297
368
347
337
391
355
347
379
318
185
272
334
298
377
375
221
221
403
253
307
334
354
267
297
316
410
245
326
327
372
285
357
302
299
375
350
309
341
392
208
374
338
288
357
323
263
366
263
306
217
263
375
374
369
284
286
343
325
317
337
324
321
356
309
400
355
319
313
374
390
281
283
351
289
300
319
336
333
323
391
283
347
298
281
416
387
374
248
269
244
375
332
290
287
291
410
317
392
262
381
315
225
344
353
269
246
481
382
327
266
302
340
334
283
351
323
286
349
267
341
289
295
327
303
362
333
322
350
352
336
302
317
258
247
252
284
310
306
319
288
230
291
274
315
350
174
297
358
292
379
291
295
317
361
272
364
304
333
381
367
287
307
331
294
245
321
243
306
317
331
251
248
333
343
295
295
291
222
327
294
383
331
281
270
311
308
326
221
268
351
327
283
345
311
356
330
291
277
343
342
378
236
330
402
344
348
292
298
393
265
325
277
373
268
327
331
368
362
373
354
301
313
387
268
283
357
335
260
274
295
306
252
214
292
282
363
310
255
344
370
360
308
250
390
344
316
304
326
239
358
355
306
341
214
348
361
292
358
302
266
372
323
325
260
249
353
367
324
279
264
259
308
321
276
340
259
335
404
285
407
336
249
299
345
315
264
287
316
249
302
402
380
288
360
364
289
368
296
306
265
208
345
317
357
346
357
282
293
338
318
304
330
285
351
360
324
319
253
242
314
338
248
285
338
255
343
344
336
360
261
254
363
305
369
322
301
289
321
363
235
395
294
380
308
409
281
341
321
310
207
321
282
328
287
265
334
317
284
264
421
324
279
317
369
240
269
352
330
249
316
286
297
368
272
333
232
282
263
327
272
360
311
292
234
322
357
392
296
267
346
278
388
305
393
197
327
240
320
363
377
299
287
375
197
302
218
379
343
296
280
353
360
311
325
220
295
275
333
297
319
316
398
305
316
291
297
283
362
203
311
330
345
287
300
415
265
298
344
260
359
361
306
327
264
253
294
275
357
290
257
353
332
262
284
319
285
392
322
347
337
390
220
279
342
310
387
357
241
361
189
291
304
306
315
364
384
352
397
297
301
384
304
338
314
342
252
375
324
340
312
375
335
325
302
332
314
264
280
282
336
294
282
323
291
325
301
303
342
370
224
282
275
319
275
361
323
327
373
337
287
322
336
295
326
340
352
381
367
311
361
376
355
308
296
316
392
364
307
397
327
323
330
366
274
312
335
281
328
287
357
281
382
313
363
340
267
406
313
225
357
324
436
385
308
255
255
287
309
330
316
322
253
216
212
316
271
310
271
352
290
352
316
326
265
271
370
368
298
300
347
322
392
221
329
328
304
361
254
329
398
322
297
329
228
330
252
396
327
317
346
237
337
321
378
339
273
308
290
299
322
264
280
358
380
264
292
295
265
292
252
380
319
343
234
300
360
395
334
317
264
361
256
318
360
328
322
346
300
231
297
382
286
289
360
368
270
290
364
357
282
311
253
326
292
299
339
278
291
351
278
334
249
285
323
256
297
283
317
245
301
282
275
343
312
308
275
320
320
293
278
319
244
312
323
291
326
299
284
299
366
311
290
320
306
300
276
302
284
327
406
325
275
276
304
328
286
320
330
253
365
294
243
338
272
314
358
322
345
203
390
264
284
322
324
363
355
338
292
345
356
207
315
232
319
244
341
320
308
349
302
337
322
327
249
293
374
333
310
293
240
299
268
356
361
344
319
362
283
333
350
341
311
249
288
317
353
349
271
306
404
362
332
436
288
266
295
341
239
282
417
353
238
333
334
335
331
322
332
282
354
292
339
256
328
239
232
321
282
309
290
314
306
390
419
284
218
241
333
261
349
282
304
338
313
243
317
375
374
269
387
268
348
248
267
267
296
317
298
312
324
249
302
444
374
338
317
262
356
320
294
389
315
320
251
370
395
366
279
345
302
382
368
238
330
377
294
325
320
348
368
195
260
327
268
282
314
312
301
301
309
345
318
312
372
350
281
356
310
410
321
306
299
288
354
313
317
233
363
247
301
343
378
329
282
333
312
312
322
340
285
302
295
282
290
293
315
395
336
420
266
286
324
311
367
325
268
217
380
272
263
340
327
229
258
306
345
333
370
246
329
259
353
299
336
373
344
349
343
360
330
268
292
361
270
388
340
344
293
261
287
324
272
382
346
399
276
286
331
227
328
262
269
323
351
267
310
324
329
284
290
365
316
299
359
382
354
336
259
333
371
282
301
360
240
361
342
370
414
334
295
369
280
305
329
210
286
379
330
292
321
311
348
337
364
326
346
360
289
290
273
392
364
302
278
327
298
361
294
249
317
351
331
286
255
320
306
284
293
338
333
269
303
338
354
225
374
360
344
323
329
277
264
315
322
318
221
302
281
241
336
345
239
291
313
313
300
365
304
300
297
314
377
339
303
342
328
334
383
240
301
317
258
269
221
340
318
332
248
269
287
347
351
278
331
308
327
295
358
301
318
343
304
318
265
328
321
294
380
313
253
318
270
306
303
257
323
254
342
300
329
306
346
251
311
377
378
329
288
284
253
358
320
279
276
314
305
321
325
197
292
333
311
369
234
308
387
290
371
389
240
317
300
266
366
347
274
332
381
241
344
299
343
391
307
341
383
265
249
156
351
307
302
345
332
363
371
331
328
285
318
291
301
267
222
300
333
272
293
319
329
290
244
230
290
285
375
353
303
367
358
316
295
333
305
348
251
321
362
345
264
236
212
378
277
288
297
380
318
391
307
328
244
312
254
315
320
331
300
334
243
229
356
312
305
345
318
302
366
350
193
331
346
215
321
377
356
403
278
257
244
350
278
275
343
224
285
365
296
314
305
363
347
291
337
329
432
394
342
385
340
368
339
352
343
347
286
345
235
327
307
370
276
355
299
285
261
324
305
361
269
300
258
360
359
350
343
291
346
389
288
325
307
290
301
309
402
295
308
299
313
273
304
320
262
358
296
347
344
322
364
286
307
259
344
363
272
298
372
334
320
335
416
309
370
341
325
298
309
376
366
324
243
343
284
321
335
320
315
231
290
337
330
251
340
241
290
264
355
308
287
360
300
291
351
244
351
275
225
279
377
318
242
361
327
294
300
384
250
272
386
288
286
283
377
309
365
205
320
294
320
281
312
354
259
385
327
363
301
298
282
317
285
364
303
247
307
309
381
299
334
329
291
344
385
322
319
283
304
397
312
289
229
316
326
279
324
333
318
250
306
267
351
269
402
332
247
324
259
320
297
304
321
342
294
398
362
266
290
317
272
295
389
348
338
320
293
308
250
358
292
296
321
393
287
249
304
351
344
328
308
316
334
332
340
355
320
345
404
335
251
311
327
288
360
376
308
321
384
345
275
306
318
336
282
287
314
228
317
357
317
327
353
361
319
251
377
295
350
320
327
332
312
283
266
369
311
334
306
396
294
313
395
335
266
293
354
412
257
336
332
290
331
344
293
332
319
332
355
363
333
390
400
345
272
367
307
356
283
264
349
283
313
343
292
261
254
274
267
288
334
311
332
328
386
367
319
299
288
330
331
177
321
277
275
364
304
326
318
323
350
312
373
284
354
306
297
331
261
301
287
298
275
301
313
308
268
348
342
341
359
385
342
361
284
310
237
358
297
304
349
370
299
348
249
279
269
285
290
323
354
304
309
256
337
379
337
332
365
337
340
321
345
355
362
381
334
341
337
356
308
280
402
334
287
386
312
254
321
275
377
303
311
319
328
251
299
265
339
381
339
377
285
312
341
380
283
336
346
322
274
298
362
322
278
326
315
351
329
311
326
320
241
291
356
296
317
288
375
336
280
273
273
299
265
383
332
346
291
336
346
366
294
333
323
271
368
284
308
395
294
290
316
286
287
229
291
305
306
343
320
360
296
332
306
256
338
277
336
297
358
338
314
345
339
312
419
288
319
358
299
251
246
291
293
275
342
366
391
256
303
360
363
331
316
354
354
370
249
342
221
372
327
308
318
277
251
370
338
329
337
229
316
385
309
375
303
252
289
286
237
405
298
321
365
284
258
377
294
364
390
333
285
345
329
343
278
353
299
231
222
320
356
317
324
357
283
330
361
314
313
339
295
314
255
310
310
313
223
297
357
365
267
349
330
302
360
338
343
283
323
279
380
312
354
260
275
245
332
295
363
307
279
373
339
339
362
265
336
358
253
368
296
306
377
338
365
312
390
259
306
302
403
274
352
361
304
306
348
317
351
313
320
273
347
342
311
369
392
313
273
301
280
385
391
279
293
316
322
313
284
255
231
363
290
346
371
303
359
263
335
327
317
281
278
315
351
381
303
302
321
289
272
339
273
353
378
378
357
356
341
326
321
400
319
212
393
286
327
328
283
347
298
293
313
371
345
300
353
372
336
358
313
395
419
299
352
220
323
272
323
254
348
313
309
236
330
392
286
359
298
279
347
283
216
362
297
335
399
414
433
335
309
286
308
394
288
298
337
290
262
327
337
289
316
308
299
285
350
322
345
382
284
347
326
313
333
310
320
357
356
379
325
336
370
306
295
325
334
344
330
321
341
345
350
304
272
278
266
323
262
262
299
261
365
367
295
356
347
341
282
359
273
293
364
270
241
320
322
366
305
271
278
284
305
367
312
330
361
332
380
366
305
350
369
314
280
355
237
261
360
290
416
330
219
333
285
365
332
315
372
281
372
376
249
230
276
350
367
283
229
287
316
279
225
320
359
377
367
439
322
255
312
369
356
307
347
286
367
358
351
220
274
306
344
325
350
375
174
314
311
265
358
346
209
350
413
264
339
319
280
315
328
342
340
291
301
267
306
289
364
349
259
313
360
276
374
267
357
248
287
355
233
284
313
347
313
305
280
345
409
226
303
303
311
318
337
297
290
334
332
272
309
305
270
313
315
318
447
299
420
398
353
253
345
273
304
254
268
273
264
308
329
327
274
277
274
302
340
303
351
326
295
304
281
283
324
303
344
405
311
394
323
344
299
326
279
281
370
340
311
352
291
236
300
370
336
332
316
262
277
263
284
231
341
328
301
313
289
338
339
283
322
281
353
296
309
297
313
294
307
297
238
291
273
321
277
315
340
373
318
368
412
287
227
381
370
392
315
223
276
341
275
375
379
330
376
232
288
397
301
313
410
294
303
369
356
315
373
343
298
303
323
247
242
289
409
254
366
370
308
284
321
392
264
373
275
308
307
308
338
282
322
300
301
309
320
343
306
387
378
354
283
348
311
377
258
342
298
299
376
281
332
317
319
260
315
399
343
253
367
332
262
314
301
358
237
329
264
289
349
288
256
276
247
286
377
288
403
320
298
324
366
349
354
314
362
268
437
272
322
406
285
354
288
299
343
380
346
216
352
290
390
269
315
374
260
335
364
279
400
360
337
295
264
325
338
301
241
351
259
297
304
402
341
382
330
352
331
363
354
370
303
301
357
347
285
265
389
397
248
442
328
257
241
251
290
393
255
333
349
329
348
309
318
286
257
336
337
359
353
269
387
351
265
297
329
368
251
325
301
296
400
234
308
341
310
320
302
342
340
350
323
272
290
361
311
394
308
267
348
236
318
308
314
393
351
299
359
322
234
314
324
275
344
302
305
281
271
325
349
355
358
389
307
341
307
267
299
354
338
295
299
348
341
350
375
331
337
295
409
276
270
271
394
356
276
326
398
348
278
365
264
291
313
380
341
408
295
359
387
331
299
363
304
374
344
343
314
384
259
301
306
370
332
326
325
335
344
388
294
309
288
284
321
274
336
289
328
290
268
212
371
293
423
415
340
298
443
322
328
284
340
328
329
265
372
290
250
295
300
318
366
302
399
260
326
337
353
300
390
270
393
237
353
232
306
293
399
302
325
327
352
319
239
287
297
340
342
284
279
320
305
315
295
347
301
279
372
239
258
325
305
302
372
247
268
258
315
324
264
309
251
311
333
276
346
276
335
380
319
361
227
322
297
353
352
313
257
263
296
295
320
286
342
347
343
373
247
262
245
330
203
334
364
329
304
288
233
379
404
318
412
353
264
395
251
244
366
280
301
405
377
337
354
341
340
309
308
275
242
288
299
304
275
326
297
277
304
339
353
337
296
340
357
364
245
288
319
311
311
327
291
267
349
279
368
383
298
169
343
349
382
244
316
357
284
303
286
297
330
363
322
318
323
421
335
260
378
311
224
321
283
368
343
330
318
368
283
288
213
277
327
272
357
334
248
237
311
333
354
295
294
243
278
291
365
327
382
319
295
334
289
409
287
346
332
265
276
355
280
359
253
318
285
237
402
355
380
374
303
365
287
308
289
265
341
370
272
413
306
268
316
251
311
377
262
322
312
284
323
242
343
372
365
302
260
316
326
278
296
289
299
356
339
384
339
307
248
331
371
333
346
308
423
239
319
336
292
385
342
308
327
288
331
297
361
305
360
357
330
301
352
307
346
351
323
383
229
336
379
330
293
234
324
174
301
389
270
351
351
322
329
270
387
225
297
373
309
372
385
357
294
287
317
305
244
349
254
397
358
394
262
276
259
267
279
293
342
356
354
397
332
323
244
339
295
371
298
351
309
241
311
204
335
405
287
371
269
389
288
195
260
291
346
307
236
322
273
269
257
253
371
275
301
315
344
291
220
297
321
254
284
286
307
310
325
318
308
354
360
418
264
304
334
315
270
256
254
358
369
310
324
292
244
404
314
240
378
312
308
252
370
368
315
214
305
230
324
288
256
269
359
290
278
341
307
318
315
328
406
260
280
307
320
330
366
206
309
300
293
328
334
236
268
300
275
380
307
323
345
411
318
283
291
316
351
250
308
359
328
260
418
395
327
259
308
303
320
333
384
375
296
324
288
328
293
263
333
326
287
370
385
322
260
246
368
365
340
431
327
358
354
265
263
333
353
370
264
370
318
321
289
255
309
363
272
322
357
326
274
319
294
381
378
265
318
292
388
279
322
365
333
279
301
325
305
277
369
337
350
330
297
329
338
276
357
324
254
376
302
282
268
327
371
311
257
309
379
279
372
329
337
315
268
309
385
303
351
294
265
246
336
373
288
353
246
271
268
354
385
348
285
388
319
298
347
366
346
300
350
243
315
250
266
366
370
266
288
311
294
269
359
334
270
425
262
319
358
300
324
311
310
281
375
361
317
233
355
310
270
287
274
328
355
334
310
283
355
355
337
259
308
250
367
372
374
307
316
321
276
242
375
315
348
375
262
323
352
313
348
308
262
363
231
351
233
312
336
303
323
283
249
254
302
396
272
330
315
354
241
384
290
330
301
283
366
339
347
266
293
314
285
277
247
277
377
333
354
348
237
321
281
314
333
339
308
393
363
337
345
291
328
259
282
265
386
370
293
355
329
347
321
261
359
278
307
268
330
359
355
384
278
326
342
376
383
354
276
378
353
339
358
267
299
335
362
380
308
348
360
335
285
339
294
257
359
325
265
296
350
280
274
308
276
338
309
347
382
299
383
396
326
282
341
319
359
321
326
365
412
346
360
389
261
324
282
315
331
341
240
251
298
296
364
306
327
286
270
360
296
281
236
275
294
340
274
331
291
367
289
249
268
423
339
316
284
301
425
396
240
394
290
330
245
294
269
319
342
252
256
380
343
367
272
319
231
391
280
327
251
291
251
389
320
324
268
271
316
337
199
415
373
299
368
225
332
298
283
222
319
365
247
378
316
326
287
316
349
386
286
312
373
332
338
273
314
326
300
275
271
302
322
337
271
330
318
341
278
297
329
359
379
311
318
345
222
268
265
330
417
326
302
296
278
319
358
273
284
274
270
330
380
292
321
346
363
321
367
288
351
369
272
303
343
317
254
377
310
345
326
366
353
311
320
310
437
278
346
351
363
400
300
348
338
276
341
325
346
375
377
322
285
399
329
276
278
289
336
323
257
259
283
319
349
343
322
302
335
348
349
284
400
379
325
188
246
298
324
349
230
293
385
306
307
370
370
373
423
346
342
277
292
353
278
359
260
301
372
299
294
349
296
292
305
324
318
248
384
342
338
259
330
352
276
355
195
330
311
281
336
256
324
279
303
306
365
319
229
312
229
313
384
295
296
343
375
360
343
319
294
360
324
327
388
346
255
376
349
294
383
350
284
345
303
358
344
303
322
337
408
303
264
352
294
292
272
331
317
266
307
354
329
306
352
282
281
333
241
291
270
289
374
295
351
303
339
272
376
350
171
304
373
283
332
335
417
334
271
364
285
334
308
335
301
235
261
267
321
338
365
327
250
365
294
327
164
251
275
239
331
264
244
231
393
355
248
305
376
319
382
250
393
362
340
299
240
391
364
304
270
326
206
291
337
195
395
295
324
342
276
375
317
243
331
349
280
284
285
363
359
275
342
323
378
274
390
365
303
337
315
244
220
285
337
330
361
383
398
267
251
365
328
266
318
265
260
255
354
302
292
339
328
319
388
362
296
302
292
327
354
330
251
336
334
320
291
287
339
320
361
285
273
309
276
330
225
318
335
275
304
294
371
333
305
393
319
334
319
373
301
259
278
362
232
253
328
281
317
366
346
361
307
359
286
421
357
328
306
356
277
278
224
343
319
305
339
418
235
295
347
375
270
363
343
396
365
313
235
235
350
395
296
307
220
337
266
357
369
335
295
269
342
357
396
369
239
281
385
356
319
273
372
329
289
308
268
301
385
362
304
350
350
344
330
304
297
295
328
389
270
372
360
328
328
304
335
317
235
318
276
353
323
296
343
326
336
257
286
301
349
276
297
324
360
354
333
267
346
407
276
303
277
400
345
313
325
329
250
353
274
235
304
398
391
313
324
268
305
352
260
334
244
343
344
315
462
318
259
309
221
357
288
316
243
339
316
318
395
277
309
358
379
337
310
311
349
253
228
316
356
245
259
369
307
350
283
346
307
289
355
305
339
319
315
221
245
304
349
293
353
322
283
299
300
223
363
315
343
313
337
266
317
347
306
313
313
297
288
309
297
339
177
246
329
263
304
361
260
349
337
329
262
354
311
278
289
226
272
321
402
271
314
309
365
316
350
330
235
330
363
246
353
364
307
297
272
307
300
361
317
265
311
340
374
357
374
405
363
263
324
265
309
279
210
303
305
315
209
311
382
225
306
303
334
259
391
339
323
347
276
299
406
412
268
395
253
346
290
359
317
340
314
354
295
359
255
195
301
339
306
341
317
295
346
303
295
322
282
332
288
341
287
376
261
237
362
321
368
389
414
299
377
226
382
287
277
246
348
303
234
298
274
300
320
299
312
272
341
375
325
317
300
357
311
319
271
350
399
257
385
198
279
342
307
406
305
286
308
245
273
428
316
308
347
329
332
370
294
283
322
364
392
308
324
338
347
301
394
314
303
281
320
297
328
264
314
331
326
315
253
302
364
333
298
338
306
356
267
317
319
276
277
293
342
295
318
364
347
312
370
320
362
313
452
294
347
206
255
273
257
344
340
313
273
332
354
380
279
334
317
308
346
323
350
379
344
320
263
336
244
298
347
295
339
298
250
292
303
276
298
332
337
328
317
267
284
339
330
278
382
323
316
357
311
309
243
399
315
280
361
229
369
276
301
298
380
341
270
306
346
448
276
321
298
312
255
319
277
321
302
295
334
293
399
307
375
284
346
375
245
205
303
333
297
309
374
345
288
234
306
423
316
300
309
394
348
239
268
304
279
276
315
362
320
378
233
281
383
296
340
354
318
306
361
328
354
188
258
254
350
220
296
344
296
334
302
349
247
258
263
281
267
273
377
319
332
277
307
363
374
303
331
291
346
299
304
345
310
342
268
307
303
392
305
354
261
365
380
320
250
304
316
238
280
298
296
377
294
304
254
269
283
311
373
330
286
302
235
379
332
238
222
391
364
237
381
279
291
306
304
282
277
319
261
312
335
286
365
333
364
370
293
308
327
353
330
348
360
297
368
370
281
250
307
335
334
293
325
327
378
301
369
348
338
246
324
270
371
317
260
348
241
283
334
340
292
302
223
364
377
296
290
302
269
438
251
301
372
356
275
267
275
322
314
348
253
246
287
379
294
292
389
393
202
391
227
215
313
322
266
345
306
301
293
354
364
292
399
224
290
277
189
357
353
318
343
309
236
322
295
347
299
342
288
330
301
290
280
384
359
260
328
277
318
321
249
313
200
304
333
249
292
385
262
423
285
315
339
291
353
354
280
392
297
289
311
283
377
243
329
279
275
309
338
412
357
294
316
399
334
342
316
266
336
315
318
268
335
290
393
319
316
319
405
345
309
313
234
301
379
295
301
365
328
299
333
243
287
319
238
333
301
266
275
321
273
340
278
372
424
255
343
259
279
217
264
317
332
319
300
327
316
318
335
289
360
305
273
260
328
260
321
316
272
349
320
349
337
230
339
372
308
288
347
349
363
331
315
380
308
316
301
304
361
355
307
331
326
279
300
342
252
310
236
273
328
314
352
322
279
343
342
377
324
273
239
306
296
243
296
255
290
355
228
381
288
350
290
301
319
198
360
303
415
343
309
330
390
339
327
306
365
194
329
379
319
315
298
357
338
368
369
326
326
337
282
419
292
252
270
350
314
287
323
344
299
358
353
287
279
228
326
298
297
373
318
304
347
385
306
294
367
307
330
401
335
377
321
349
254
329
357
343
319
355
387
256
221
301
257
363
336
344
234
291
295
369
312
279
270
357
324
289
300
306
261
321
362
284
365
310
336
328
247
353
346
314
345
246
319
287
289
298
261
281
307
260
375
297
356
361
430
235
238
328
337
333
284
289
310
382
337
372
329
284
296
361
296
279
383
306
384
300
399
323
296
315
314
311
263
324
310
264
274
282
309
272
257
309
309
317
204
399
386
324
331
327
345
272
305
333
352
427
257
222
327
347
344
311
272
366
331
324
295
382
316
338
262
331
314
391
346
322
267
329
365
377
327
290
264
352
381
274
292
289
300
316
287
328
430
378
323
312
319
276
342
361
267
255
300
340
315
315
307
308
229
383
303
256
294
365
277
387
339
296
319
400
355
318
320
317
302
252
299
371
329
387
311
377
453
302
248
389
248
310
328
328
333
315
308
320
329
225
273
328
339
347
232
333
277
388
358
352
299
400
359
253
306
252
272
317
332
244
345
350
255
227
261
340
314
358
343
332
278
376
332
353
246
310
297
310
330
281
302
343
377
384
280
336
294
297
360
300
305
323
352
403
345
315
271
309
396
258
299
388
297
331
259
277
311
325
332
326
269
404
357
345
384
390
334
270
331
263
378
309
352
362
348
286
354
402
371
290
404
328
287
309
254
350
321
260
291
277
286
273
398
425
352
232
342
371
344
262
340
343
270
254
382
312
332
323
353
414
361
349
255
284
287
296
294
275
221
299
326
275
326
314
353
395
378
263
430
332
408
284
321
367
307
326
308
388
347
349
281
305
282
313
328
330
317
381
388
310
284
358
311
251
356
238
296
261
330
329
327
377
424
313
207
359
314
313
337
258
318
320
351
236
312
334
278
434
265
322
306
307
270
279
285
301
317
290
279
371
266
292
343
364
213
326
406
274
247
306
252
284
357
261
334
321
367
284
325
303
274
308
329
269
308
364
344
284
283
273
401
292
245
350
337
368
220
320
275
369
308
375
285
400
223
331
326
334
324
344
360
292
293
304
264
321
306
337
324
289
361
287
296
351
275
373
290
329
294
250
278
275
247
322
367
355
400
349
340
379
381
381
306
289
362
313
301
346
328
262
322
385
283
312
308
236
377
300
357
312
340
306
365
323
314
364
266
313
215
365
259
335
313
251
278
228
262
295
288
245
321
289
358
281
322
257
271
247
400
245
282
268
246
301
293
322
317
220
359
345
375
263
334
269
351
283
312
301
289
266
310
325
312
344
275
240
254
339
270
339
308
379
354
330
307
310
320
275
292
277
311
287
266
310
359
328
382
387
392
289
274
236
253
309
294
335
343
271
333
269
347
268
341
264
322
312
306
288
280
224
369
296
378
205
266
321
334
248
308
312
316
320
265
386
315
272
350
343
335
301
271
332
370
354
296
303
333
300
335
281
301
322
340
408
311
341
362
415
327
288
305
321
265
275
291
322
254
352
304
325
294
372
368
271
265
279
318
317
277
284
337
237
287
315
313
371
290
461
350
384
221
305
280
350
367
373
204
338
306
312
271
305
299
394
325
355
359
348
347
358
307
350
382
300
352
331
319
283
313
352
205
346
328
310
352
330
334
299
257
351
309
288
359
270
318
415
358
316
411
291
303
243
281
343
273
262
346
342
352
337
310
314
331
343
361
264
375
349
247
279
330
381
273
328
326
402
242
281
306
373
347
266
316
271
358
321
244
362
308
351
288
436
319
287
372
281
367
270
297
315
277
381
362
316
273
321
385
342
280
324
313
398
219
239
305
280
309
414
262
317
307
225
260
331
275
279
247
334
342
334
325
313
288
248
252
331
272
260
293
365
310
375
369
320
295
343
303
272
359
310
358
327
346
292
205
326
276
289
308
296
308
301
339
326
343
259
374
252
329
284
346
265
227
326
309
298
263
354
306
312
311
341
294
393
335
290
289
371
315
290
350
256
305
343
282
417
364
343
249
413
282
310
249
288
333
342
334
313
382
337
271
224
396
318
204
335
287
309
317
378
327
344
366
285
337
212
251
308
325
313
294
340
351
307
343
394
291
321
260
357
313
231
289
346
377
270
390
312
371
330
301
306
309
380
297
254
308
334
316
311
297
334
325
361
379
301
296
320
320
347
233
275
273
342
351
286
328
339
337
248
321
340
333
327
308
292
421
378
326
269
326
364
318
399
250
314
282
325
246
291
337
234
370
272
267
356
314
244
328
341
320
289
279
268
335
377
312
381
404
355
311
278
293
298
362
269
409
244
360
325
345
321
268
351
334
221
375
247
227
272
353
347
369
278
272
343
285
307
342
359
302
322
276
366
269
280
320
405
360
362
223
370
324
307
365
342
331
227
308
318
336
341
277
262
334
347
333
315
370
274
324
315
367
289
313
294
256
327
265
299
275
292
331
278
325
273
347
353
301
334
290
337
431
358
323
315
312
295
359
307
289
264
368
408
293
288
375
354
387
284
264
285
363
214
292
350
283
322
265
349
261
274
283
347
291
358
374
287
298
268
260
324
271
306
356
367
316
355
266
319
298
381
309
263
344
323
318
354
362
283
396
407
272
296
309
335
294
316
339
379
315
382
315
213
318
195
347
373
298
378
309
295
312
326
284
364
334
335
332
356
335
376
306
337
363
284
253
357
287
205
363
261
374
268
302
286
383
386
261
359
230
398
300
299
207
239
308
383
241
377
320
360
339
244
243
360
313
325
390
359
302
369
300
333
356
316
302
344
310
326
378
363
236
257
283
309
324
368
346
284
259
329
345
359
302
342
228
368
305
267
246
232
220
259
326
313
317
333
287
313
304
289
415
323
327
331
315
384
284
290
361
320
289
296
360
323
349
225
337
382
272
273
340
298
330
310
335
337
320
281
357
302
312
348
300
329
340
327
349
335
301
297
358
306
336
222
292
356
296
341
389
282
336
339
363
337
318
336
402
338
316
314
312
389
302
339
301
317
270
351
314
290
345
327
293
252
363
348
412
276
292
357
324
379
279
279
325
311
317
301
312
298
360
359
260
307
360
269
332
399
281
359
283
291
264
315
350
243
387
350
364
295
306
275
339
346
306
273
387
315
391
327
373
328
255
378
269
212
322
340
340
313
355
357
330
261
310
290
305
279
362
332
343
318
392
318
286
264
313
258
370
389
293
300
215
332
321
263
275
247
280
285
239
305
322
369
389
216
362
348
326
262
340
427
334
278
264
271
373
293
277
306
405
316
282
290
318
319
373
313
365
315
295
295
331
384
338
292
309
343
428
262
365
304
348
350
285
391
270
271
367
361
326
198
335
317
302
356
278
359
315
355
258
313
358
289
394
356
361
314
280
230
261
301
342
361
326
202
227
362
276
286
367
224
328
323
310
253
417
311
381
324
260
346
275
293
193
269
348
349
324
337
353
309
349
381
250
257
397
346
282
362
337
310
373
331
249
235
230
352
271
306
325
300
338
393
290
273
324
303
290
299
228
292
336
278
368
297
350
302
374
314
305
256
339
361
353
330
386
283
346
371
284
315
274
265
365
317
273
424
348
248
373
333
288
213
271
342
269
280
339
295
365
365
315
265
315
357
344
183
273
305
416
278
219
319
343
350
363
350
362
345
247
280
349
286
316
249
295
283
351
362
303
325
336
277
326
301
308
270
311
264
236
255
334
338
303
328
321
275
295
276
345
259
331
325
309
379
318
243
314
339
297
291
346
273
271
277
209
290
311
355
283
305
248
397
288
285
286
324
236
260
239
360
340
249
356
292
291
344
264
373
327
274
276
399
215
320
327
336
328
260
294
321
331
364
276
331
323
294
379
321
249
266
377
323
355
358
232
283
223
356
295
309
281
251
341
282
353
264
366
316
332
315
261
292
314
346
273
363
313
391
292
353
322
349
256
313
261
315
306
344
401
324
264
377
354
344
341
400
285
310
323
192
226
305
287
336
317
259
296
296
321
355
275
303
291
326
302
297
355
252
196
283
389
332
314
243
274
235
366
379
324
358
317
307
310
351
241
289
304
285
370
341
321
323
335
364
366
276
358
268
335
297
356
264
276
260
246
350
338
331
298
317
268
265
344
344
278
409
386
327
355
270
314
316
310
313
185
342
311
337
232
361
358
304
340
349
340
329
251
357
280
294
320
296
273
356
283
295
342
337
325
275
345
285
285
382
343
284
287
287
232
289
337
227
368
329
362
283
307
344
337
331
322
360
272
349
338
289
372
377
203
302
312
374
277
336
418
305
368
307
338
354
312
285
329
295
262
318
265
287
223
337
325
264
425
221
256
384
296
182
326
324
205
300
324
348
282
272
333
324
338
310
219
332
299
304
291
284
282
363
329
365
289
326
328
315
357
300
332
293
369
278
345
370
323
400
336
336
346
359
292
291
303
336
336
394
307
333
275
314
288
368
326
392
322
335
387
281
313
280
361
294
322
337
239
329
352
305
238
350
359
338
342
254
239
270
333
393
304
310
321
270
298
308
293
283
387
373
331
296
332
281
361
298
335
358
289
278
357
268
340
306
328
349
302
284
327
238
347
381
362
231
300
270
277
290
303
336
335
350
342
344
299
317
321
344
214
331
294
367
358
291
287
290
326
301
219
245
258
326
230
343
254
310
326
251
378
264
376
284
214
289
282
314
328
254
332
283
326
181
344
371
223
296
310
325
296
296
317
368
301
298
335
322
334
330
273
348
256
381
370
328
272
304
308
341
313
329
230
333
338
266
251
383
393
280
376
267
325
387
383
302
327
332
369
345
227
313
298
376
368
343
355
330
308
336
416
311
339
310
358
285
364
337
313
271
324
369
368
376
311
271
402
277
385
315
286
261
223
386
386
338
279
381
300
313
362
354
347
391
282
325
337
327
209
313
310
286
317
303
305
366
309
346
348
305
314
339
349
351
332
311
342
362
367
345
330
303
285
335
300
249
327
375
344
296
349
341
315
340
394
334
312
356
364
372
278
351
264
345
276
308
234
251
309
363
301
309
269
345
215
328
311
325
320
280
330
314
318
266
194
358
356
216
294
351
293
337
310
348
407
255
308
299
343
293
366
269
391
337
307
284
290
342
278
312
303
245
352
284
272
272
366
307
334
284
369
342
227
314
283
282
359
249
371
361
352
282
262
367
309
348
359
164
308
274
287
295
258
302
319
298
317
331
289
270
377
210
363
346
322
211
290
320
287
342
299
332
261
251
286
298
331
372
309
278
307
278
279
288
226
278
401
309
338
273
243
363
389
363
299
424
329
318
333
279
314
294
349
338
293
311
257
374
221
304
286
310
322
327
291
356
369
350
279
340
386
289
320
273
256
283
290
283
395
368
316
339
267
261
270
308
368
240
302
320
340
310
311
301
395
383
354
328
346
253
330
261
302
266
293
335
357
379
341
322
232
304
381
370
360
323
329
335
343
353
263
344
268
316
284
269
349
340
302
306
320
301
268
282
350
267
353
341
274
292
314
318
322
248
331
379
326
246
278
376
296
357
384
257
265
392
279
250
342
392
334
295
315
298
321
281
212
278
279
325
353
390
342
278
332
322
293
337
422
349
323
295
319
308
304
314
337
307
309
377
326
341
308
231
302
303
284
222
294
321
317
278
328
255
346
276
299
273
255
240
408
310
301
367
346
254
374
322
287
294
318
303
255
299
274
280
322
322
260
255
316
367
236
349
360
310
284
215
304
290
370
249
397
256
266
354
406
257
251
314
301
351
363
353
364
399
348
265
321
297
337
406
313
306
326
296
259
257
260
261
316
281
325
293
263
302
310
350
274
342
249
283
313
298
307
386
245
336
366
338
237
291
369
331
369
274
313
283
330
396
297
297
325
359
371
279
352
318
383
337
400
295
270
305
327
366
339
336
284
295
238
249
324
339
365
334
360
231
260
260
304
323
320
306
274
276
375
365
341
305
354
310
357
283
318
331
336
334
234
341
271
379
333
331
349
253
222
302
312
381
280
327
366
321
350
317
349
268
332
330
341
291
306
287
266
301
314
339
333
318
314
354
247
315
354
370
270
400
360
339
358
332
379
284
396
303
334
374
345
342
275
366
339
281
271
351
314
251
356
343
365
396
287
339
288
335
329
261
268
357
333
344
227
381
313
332
238
267
306
350
344
325
360
346
287
327
275
338
298
343
396
362
336
318
267
365
383
307
288
262
272
293
280
311
339
424
344
349
268
312
338
310
315
359
326
279
301
317
373
281
356
359
257
326
266
348
286
297
387
292
234
301
364
380
265
339
342
340
317
292
362
364
249
283
191
387
343
308
307
337
280
340
307
278
263
252
346
333
294
306
258
274
312
312
276
405
276
249
352
315
335
270
364
218
316
284
285
266
335
309
301
334
288
261
389
367
297
272
357
377
338
324
332
333
319
352
330
308
228
368
404
319
371
327
275
336
354
360
326
246
350
311
303
279
288
359
360
268
270
345
348
294
250
231
372
260
300
279
313
316
328
295
300
396
347
289
273
217
355
307
338
366
339
243
264
358
306
294
376
335
384
247
366
358
361
363
339
243
345
361
327
270
303
265
286
282
295
342
207
330
211
280
300
275
252
363
229
372
360
283
308
383
320
397
279
332
255
320
277
284
312
301
396
371
251
298
339
359
348
205
239
291
233
337
417
307
321
312
283
343
358
342
343
317
271
311
340
328
211
377
262
296
273
264
307
286
303
334
303
265
219
312
389
377
380
371
219
299
275
382
407
279
245
246
368
345
247
358
219
344
266
328
307
294
278
277
267
342
348
405
314
251
372
310
343
203
227
365
310
345
364
370
285
332
259
369
300
285
279
283
298
225
387
366
284
306
326
323
299
331
284
271
287
338
315
368
295
255
341
239
277
243
284
403
351
270
302
346
346
384
289
362
336
250
316
242
305
236
342
308
299
300
291
246
275
331
302
298
307
262
286
325
293
379
324
324
315
357
342
377
347
337
273
219
227
302
274
284
404
327
292
409
393
348
374
366
292
319
257
272
380
290
288
333
236
294
316
282
271
298
327
343
391
302
270
253
252
272
311
316
348
266
219
315
338
378
316
314
250
301
360
273
352
356
342
411
351
294
253
269
312
343
330
326
402
304
304
367
304
367
273
284
350
355
299
326
395
282
352
338
345
302
260
289
349
301
358
302
343
285
249
312
255
313
352
347
357
294
243
344
388
327
291
355
285
380
319
300
269
252
341
297
340
250
239
249
389
362
323
286
276
381
284
341
330
303
268
301
269
290
286
330
237
329
297
297
315
276
315
363
333
363
332
410
298
393
347
392
318
412
251
341
333
374
324
340
302
271
344
236
265
243
282
309
277
245
333
358
334
348
290
277
253
309
340
321
291
418
355
351
353
324
265
268
225
315
364
348
402
297
331
326
349
243
222
337
366
303
271
318
291
302
229
355
343
282
273
309
322
381
344
324
379
374
413
332
276
289
280
363
347
417
286
304
326
297
359
375
316
305
306
271
322
313
404
326
285
335
369
286
295
298
196
381
309
286
348
189
367
343
366
347
308
302
317
248
197
349
354
375
335
336
299
331
336
377
332
337
335
318
323
336
341
339
323
309
300
250
319
280
253
224
433
311
343
296
277
372
260
337
336
371
340
403
348
302
366
337
394
235
236
312
263
433
358
209
344
402
300
292
287
251
272
346
209
282
327
327
318
374
365
324
286
271
342
316
342
365
302
340
338
274
343
255
296
312
297
205
268
273
346
298
297
284
291
317
274
322
290
346
251
249
283
302
312
272
278
358
288
325
342
298
319
321
324
292
400
378
266
275
289
300
300
419
175
300
326
281
348
317
329
317
287
340
317
275
276
364
284
295
268
257
242
306
256
359
303
298
289
291
371
357
251
307
336
337
370
277
319
341
307
359
265
337
304
309
332
359
309
344
353
330
324
344
262
260
360
372
368
295
329
313
279
179
328
280
217
295
331
282
291
299
414
259
218
375
310
404
362
217
243
307
314
315
225
315
324
344
299
211
268
273
371
251
329
313
287
336
339
337
340
374
340
306
305
330
295
312
302
313
247
326
326
263
215
246
347
348
309
346
306
304
378
381
386
283
351
370
288
205
371
274
372
345
273
333
294
346
310
337
324
384
305
322
284
248
377
356
290
313
317
279
324
386
345
318
328
339
308
359
383
356
391
336
283
305
370
274
388
314
353
297
358
272
388
266
343
318
392
329
243
305
363
340
232
287
335
291
311
299
356
261
245
385
344
308
256
278
288
357
290
325
314
237
341
278
345
297
318
292
314
376
382
318
329
283
358
312
286
213
210
255
303
395
297
292
299
297
352
263
253
254
285
258
367
345
344
402
368
357
341
315
236
343
388
277
357
351
307
320
335
288
315
286
298
322
355
341
323
390
327
280
280
376
291
232
327
327
316
308
358
356
300
364
325
299
286
363
377
274
388
303
315
308
369
353
334
319
252
322
309
358
396
316
354
347
346
270
290
343
393
352
310
290
368
346
325
355
381
308
299
311
292
297
370
371
308
294
371
273
283
248
428
332
321
298
198
296
294
315
306
330
340
253
333
297
306
235
232
272
407
307
350
332
213
342
215
282
305
275
241
332
306
296
310
283
237
324
270
352
366
352
280
359
373
306
367
288
275
324
323
332
344
356
357
342
382
266
260
364
253
374
313
371
326
363
369
339
306
272
389
354
273
290
306
303
319
318
356
261
253
366
173
253
350
333
322
249
293
279
313
286
284
301
323
293
264
310
344
285
288
330
235
378
300
319
375
301
371
288
263
341
317
322
263
327
368
239
338
292
385
361
361
377
312
326
230
313
292
260
205
315
340
297
241
299
383
300
359
330
375
346
255
320
287
307
364
273
305
358
239
370
321
324
267
384
305
322
312
298
256
288
303
301
343
292
286
335
352
305
276
334
360
290
278
303
313
282
258
257
266
314
317
348
332
374
374
398
386
333
279
342
408
363
339
320
294
346
311
220
388
329
343
330
228
291
313
290
308
377
230
368
323
348
313
260
363
341
279
196
302
299
302
305
303
332
190
285
280
331
421
308
285
294
282
354
325
372
331
300
250
244
276
386
327
257
349
388
385
224
266
373
317
340
325
359
364
355
366
370
296
336
351
245
396
287
282
249
409
261
256
376
312
296
338
327
283
300
313
290
274
351
288
282
366
350
335
307
322
346
270
308
398
406
290
334
288
291
358
355
270
317
328
381
304
308
250
376
308
347
364
297
354
219
302
326
351
326
206
334
248
245
325
310
319
321
288
317
364
380
345
252
339
387
318
277
353
370
267
326
282
337
248
364
335
265
341
298
235
292
340
333
319
287
343
314
334
275
292
301
400
384
317
328
299
379
304
287
276
273
330
300
249
278
287
220
394
312
327
297
341
299
373
352
295
374
299
368
413
253
319
374
264
340
267
247
313
298
244
277
359
288
334
337
361
322
286
343
285
313
291
332
349
367
228
343
238
254
292
311
273
348
297
218
279
292
241
375
263
358
296
294
309
321
265
321
255
343
335
363
338
279
242
286
316
278
280
276
243
300
370
304
297
340
388
318
252
312
383
275
317
365
324
314
316
263
391
316
338
312
311
244
339
264
432
333
318
263
247
297
269
333
276
395
345
301
306
339
251
278
263
306
301
356
323
262
295
224
367
288
242
339
262
322
443
340
354
292
359
245
299
372
220
330
267
354
290
360
370
313
341
357
325
314
334
328
299
319
293
352
272
305
320
332
290
366
377
379
352
375
349
286
299
266
313
322
243
264
226
341
316
362
316
301
262
309
270
262
243
199
358
254
311
367
366
284
295
277
316
274
212
339
298
399
308
314
395
327
342
250
208
271
354
314
250
344
344
384
316
354
370
265
292
220
300
289
330
330
377
317
299
273
325
371
326
265
252
328
345
251
404
276
358
394
367
312
326
254
220
304
353
279
311
353
364
325
226
296
338
298
335
337
331
241
277
278
347
351
239
310
288
244
285
316
241
346
267
273
416
395
344
251
274
292
343
328
292
379
304
356
279
360
278
225
369
304
277
337
303
397
339
354
252
366
336
381
369
286
365
331
283
303
333
292
305
309
318
338
310
361
264
322
282
325
343
383
286
235
318
300
327
269
353
324
383
289
341
257
298
384
298
325
326
372
335
344
305
357
262
330
361
306
288
304
320
272
312
225
287
345
314
358
359
321
297
257
350
344
308
395
326
357
360
296
350
318
282
309
381
280
296
306
317
331
350
270
311
228
306
280
250
303
364
270
312
315
282
323
314
340
257
371
321
358
341
345
339
273
390
281
257
266
326
325
315
211
347
314
248
404
242
305
336
212
356
322
343
335
358
273
229
359
327
276
336
262
348
289
350
282
331
368
382
325
305
364
271
339
328
383
354
397
338
299
354
333
287
364
304
312
359
267
256
305
304
365
325
301
318
317
335
239
300
301
227
320
316
290
315
360
378
293
261
304
288
308
351
292
357
350
327
306
332
425
427
317
349
371
301
292
299
332
351
268
330
271
311
277
327
258
348
376
372
294
221
303
295
357
283
351
274
346
339
259
324
328
311
393
312
325
240
347
353
345
331
299
323
326
307
383
307
301
283
240
257
326
294
319
286
355
327
237
353
274
355
253
320
358
384
351
275
317
288
311
372
246
305
359
281
333
331
342
293
345
278
358
252
365
368
352
320
326
370
374
290
343
344
323
381
342
295
352
327
297
307
297
255
380
326
298
289
321
315
368
346
280
396
364
335
318
264
306
308
241
273
282
360
291
326
285
392
333
360
337
325
263
299
287
277
277
339
363
290
271
364
293
312
308
332
378
314
297
360
324
256
335
310
308
316
374
274
299
320
296
293
251
399
265
243
331
337
387
337
387
313
381
363
308
369
279
355
360
411
334
292
305
263
332
362
338
325
342
260
333
293
388
347
321
338
364
368
340
225
366
330
339
346
264
344
310
294
380
305
369
344
358
310
359
266
297
287
383
261
356
269
313
327
288
363
324
341
292
374
290
340
353
308
296
250
369
256
396
331
292
309
311
323
245
286
244
276
253
381
331
329
353
400
292
285
253
218
269
415
340
229
364
343
352
322
343
256
355
274
308
219
292
331
371
358
325
305
351
278
294
322
336
419
327
304
329
224
289
300
352
397
303
269
312
285
289
297
260
385
355
322
373
350
392
332
286
232
363
324
245
342
372
272
276
286
328
335
340
297
374
301
321
254
359
310
354
278
263
281
280
309
367
254
326
326
306
329
250
282
295
204
381
379
314
266
389
326
306
272
370
394
289
356
297
274
306
279
383
417
327
264
326
310
381
328
330
347
397
313
377
269
362
350
296
380
350
366
321
324
291
285
315
329
265
353
270
308
295
290
351
301
298
403
321
366
316
312
276
332
285
321
290
396
333
299
270
277
316
335
333
311
282
238
279
314
320
296
311
319
309
299
315
342
271
326
341
260
312
360
245
325
337
411
263
346
308
290
265
282
354
326
247
359
329
338
314
319
321
340
277
296
372
304
271
315
259
344
277
307
284
308
356
344
373
254
294
265
379
314
381
222
349
268
292
391
347
307
199
379
293
340
314
347
375
265
338
336
256
354
290
324
211
245
334
380
371
294
338
306
327
299
283
308
222
295
422
256
317
321
368
289
282
318
310
305
274
288
283
373
344
246
274
270
343
259
268
284
353
264
230
245
235
248
288
226
278
359
391
268
358
399
382
378
259
303
256
348
271
288
352
234
270
329
305
289
338
390
308
315
347
294
312
312
351
386
286
288
318
282
299
351
324
341
370
273
280
341
330
253
322
243
298
330
262
343
343
320
337
327
256
286
300
356
374
307
366
308
322
311
370
227
367
292
243
241
358
268
344
246
318
339
263
268
324
317
257
386
335
369
320
435
311
292
351
333
233
312
381
339
341
301
318
273
268
340
381
302
379
310
237
293
347
373
305
269
346
291
354
359
348
244
336
327
348
282
321
372
329
257
380
366
294
307
322
278
358
324
238
346
424
321
383
282
241
330
268
335
391
377
356
298
244
322
309
299
297
372
300
216
377
336
269
276
144
294
322
285
362
308
305
330
340
222
354
345
295
345
288
421
236
281
317
262
298
274
312
372
317
298
386
344
237
399
364
317
265
264
307
285
328
345
352
284
300
284
218
338
335
294
283
348
307
277
364
319
297
361
305
411
281
276
308
331
261
277
332
264
364
304
328
357
338
392
317
240
356
229
319
250
331
334
337
330
324
364
241
407
372
327
311
391
229
331
257
334
352
288
322
306
337
390
298
311
351
414
301
283
444
315
282
317
348
344
268
329
274
300
349
368
278
311
274
369
257
390
274
221
335
349
244
301
276
289
321
327
375
285
322
243
368
330
334
283
315
276
360
363
335
330
355
323
293
260
318
334
156
359
298
235
181
346
275
259
318
277
335
294
293
348
313
309
330
350
318
282
309
211
318
316
338
312
342
298
339
372
338
243
305
260
313
318
293
368
254
337
381
379
371
312
301
294
266
299
336
259
280
339
322
354
348
279
265
266
358
366
308
300
257
350
256
370
309
310
299
367
268
317
356
297
291
351
288
309
288
336
256
302
290
203
249
313
381
320
328
364
392
264
314
323
335
320
285
244
308
313
275
196
300
286
344
296
321
397
306
258
337
324
349
347
201
244
316
277
235
288
278
317
287
388
333
317
392
294
332
245
266
358
376
415
330
289
356
297
392
370
371
330
349
271
427
280
312
406
333
289
363
403
296
374
252
337
333
343
244
371
381
338
366
255
270
344
279
303
324
307
341
359
363
300
327
317
341
271
320
289
280
290
337
353
400
389
332
282
349
367
230
348
336
349
302
324
318
343
320
373
371
339
434
310
323
322
359
319
339
288
374
303
314
269
269
289
307
341
300
296
235
278
303
293
347
369
293
319
307
338
304
357
329
291
253
378
414
209
374
327
394
312
326
330
233
318
241
349
337
278
315
309
288
314
250
303
325
301
265
357
348
319
227
294
321
224
377
324
285
304
368
263
307
274
358
323
359
378
318
306
217
300
297
302
298
398
224
280
317
275
310
302
317
273
243
394
293
350
339
378
396
375
262
228
295
361
285
325
301
314
283
185
342
262
209
235
390
317
279
273
298
287
313
271
375
354
291
354
264
267
387
360
307
316
306
311
283
265
276
338
361
359
287
335
288
291
301
338
291
351
304
348
321
343
302
303
281
269
307
325
361
325
339
291
361
335
346
368
297
383
270
257
188
339
359
315
356
301
334
307
288
276
248
324
329
250
240
260
235
354
329
262
332
286
255
302
313
382
371
319
348
294
355
327
177
236
366
258
317
317
424
270
285
376
317
258
311
279
328
234
263
270
343
343
302
319
385
310
265
284
355
327
302
322
217
300
333
270
414
304
348
246
300
305
270
389
309
288
350
329
291
338
342
290
320
337
355
313
332
340
280
313
270
327
360
277
236
277
308
299
326
267
328
309
270
399
409
274
336
281
268
334
284
354
287
355
311
273
313
259
323
227
344
426
261
361
297
316
245
346
364
298
350
279
303
314
358
303
354
340
270
338
361
307
345
317
276
312
347
359
335
328
292
332
371
322
348
291
343
382
266
339
295
327
317
304
350
361
313
354
356
327
329
331
306
303
264
354
341
291
319
235
331
267
296
283
356
203
357
314
350
330
333
316
288
279
390
345
304
314
351
321
224
316
286
298
333
270
256
252
333
244
376
328
233
277
282
305
393
261
267
303
330
266
275
304
244
313
406
318
386
379
316
323
291
357
344
265
335
248
311
295
394
387
398
327
286
219
368
302
275
242
289
327
357
310
319
387
353
345
320
326
417
347
327
312
356
321
371
350
261
353
401
333
358
258
316
378
322
271
310
312
364
371
356
321
392
308
353
286
399
334
340
388
371
362
360
317
333
337
312
320
323
380
289
367
347
277
252
216
308
284
328
412
228
217
357
257
336
312
296
377
291
367
265
312
243
310
326
324
285
301
218
302
258
255
318
336
323
305
228
349
305
254
280
323
268
275
344
321
259
243
312
296
270
292
351
300
244
311
339
243
296
286
333
320
354
261
311
357
351
356
239
214
301
355
330
247
319
344
357
295
312
359
325
284
291
295
359
285
312
284
330
293
379
292
280
306
361
306
321
321
355
335
306
306
368
280
322
281
367
337
384
312
304
264
376
306
309
403
292
291
289
263
283
265
236
410
287
292
313
381
317
378
390
289
393
389
230
255
261
298
397
293
291
296
231
285
393
351
208
289
250
302
211
270
332
217
276
401
329
316
273
292
325
334
371
375
322
289
323
323
307
299
308
349
348
324
347
323
251
300
317
184
251
315
329
360
341
308
244
273
282
359
325
359
348
299
335
315
333
387
334
372
338
217
375
313
333
247
375
333
210
359
307
225
302
322
320
237
287
339
369
281
307
259
282
317
303
375
291
228
409
245
290
369
331
312
325
302
294
287
305
264
247
283
219
384
268
297
338
295
372
273
347
353
398
347
261
325
325
263
329
286
309
328
355
320
267
286
356
384
316
319
271
239
252
262
345
310
360
359
293
305
245
272
331
330
292
304
340
236
391
367
322
336
312
284
326
345
360
296
337
354
331
280
354
342
259
352
352
300
287
286
409
321
328
305
259
279
329
322
361
403
247
259
337
302
327
293
252
295
288
216
317
237
305
267
293
349
291
347
320
272
314
353
295
229
387
331
263
291
204
340
287
234
313
322
327
264
307
324
298
318
455
387
380
325
350
243
342
363
263
243
358
290
368
321
250
342
342
344
259
275
340
324
390
332
289
270
315
225
264
330
368
345
320
277
328
299
314
280
327
269
359
361
374
316
388
258
374
363
313
362
299
304
302
367
357
335
376
303
325
307
252
286
389
311
316
308
302
309
338
285
253
300
254
356
294
321
305
332
309
241
288
321
312
356
300
262
275
286
353
385
267
320
345
307
361
323
349
399
340
351
341
337
312
351
329
324
340
294
301
328
253
256
344
365
329
268
273
239
290
184
299
295
302
280
301
381
274
321
394
276
332
264
363
341
250
267
281
216
338
226
246
318
305
303
315
308
293
256
337
299
264
273
267
305
313
302
262
321
292
350
302
345
310
259
281
303
407
314
399
309
295
296
290
386
291
252
318
327
272
309
397
299
378
313
245
349
330
266
366
322
314
330
386
270
268
324
345
314
339
307
325
372
299
321
351
364
303
300
300
281
354
360
262
388
292
369
360
300
243
315
312
261
427
283
314
260
310
297
247
267
378
304
337
379
330
305
357
243
246
311
288
369
278
358
289
297
326
310
323
357
329
293
383
404
353
335
356
307
262
311
252
320
358
302
362
326
321
283
351
374
321
403
319
397
332
317
315
371
369
338
344
318
336
308
300
328
278
325
322
266
283
308
307
267
302
225
334
366
333
315
306
295
391
320
330
350
258
315
306
281
367
353
324
349
294
333
311
374
368
270
345
248
242
324
370
261
321
294
311
352
353
345
314
225
374
339
425
313
389
324
303
368
348
331
221
400
333
318
274
278
328
346
302
351
314
320
337
302
315
313
343
276
307
338
351
261
296
335
348
276
322
265
348
340
300
291
306
325
291
324
301
306
249
370
251
250
375
375
389
313
293
353
244
255
313
348
283
363
381
311
311
280
323
408
289
291
280
330
375
345
319
281
302
299
280
278
342
248
226
332
309
342
246
331
321
373
261
280
374
344
246
383
299
249
348
264
337
332
407
343
285
321
273
330
307
274
368
320
298
395
282
280
215
243
348
401
309
276
252
251
297
223
286
407
379
272
365
298
269
286
315
342
313
277
281
329
330
322
297
318
328
362
355
228
303
343
358
304
286
350
352
317
338
328
355
302
335
334
322
380
401
279
309
289
266
353
257
262
326
325
359
352
382
336
302
346
337
304
302
328
377
409
258
387
321
357
330
374
295
300
294
319
358
344
252
310
270
372
374
280
294
350
406
316
266
341
352
280
399
330
217
296
300
345
379
263
211
383
283
298
359
355
271
368
404
270
302
244
311
368
275
247
265
338
440
290
260
364
340
263
361
359
361
318
371
281
312
353
299
345
324
330
375
254
277
323
223
281
377
348
304
391
301
331
366
246
259
302
313
334
329
266
326
369
394
256
313
313
305
417
309
345
323
300
361
347
363
354
260
303
330
335
284
296
316
307
358
284
410
266
380
293
358
350
371
276
370
278
346
287
245
333
347
360
316
355
324
325
269
318
326
271
394
397
351
365
306
339
308
327
318
348
323
252
372
289
264
333
342
305
269
194
308
358
362
345
324
294
342
260
313
369
282
296
312
255
350
253
292
312
387
414
343
320
301
283
310
362
280
343
263
363
322
311
324
325
285
243
289
328
316
305
266
263
383
394
326
229
386
343
301
268
280
372
256
278
322
290
292
322
335
309
292
318
337
379
337
339
288
318
273
363
296
339
302
314
352
255
267
286
318
282
350
348
362
242
374
336
367
376
308
358
362
227
383
252
287
275
277
260
342
292
355
315
362
377
282
311
395
356
254
303
260
339
397
309
307
394
334
390
263
300
342
333
311
350
202
327
310
299
248
279
267
368
217
312
338
374
347
319
329
359
331
303
286
374
280
330
369
320
320
305
321
304
287
278
340
370
300
319
329
348
349
257
241
340
300
339
315
411
368
255
289
225
356
296
340
319
295
341
327
328
323
337
269
385
365
309
386
303
314
386
368
320
357
327
265
408
324
299
216
342
392
353
317
381
368
326
312
293
317
375
245
311
299
290
252
285
363
321
391
285
325
308
312
289
325
302
304
265
258
195
322
352
209
287
335
302
313
311
350
321
336
328
356
389
329
282
340
319
307
370
278
268
356
347
330
293
394
344
345
359
286
330
360
360
319
231
321
273
295
260
289
302
285
297
361
298
283
372
312
320
332
256
390
300
285
229
274
310
287
328
281
346
374
335
329
320
256
342
268
356
285
299
287
313
332
285
320
348
281
341
273
354
284
289
248
337
382
276
356
289
286
286
335
276
380
305
362
252
319
360
312
346
288
372
359
286
292
291
312
268
380
212
237
288
305
177
388
328
332
302
268
342
292
356
304
267
270
375
368
290
273
365
328
290
251
259
271
294
282
327
344
337
238
306
329
281
252
341
340
246
303
334
366
307
362
268
327
298
292
317
355
361
309
329
350
398
289
402
356
362
387
355
371
313
372
373
341
297
257
372
390
362
361
318
307
357
324
375
346
269
301
254
354
351
243
219
308
366
307
326
325
339
361
352
366
373
341
380
361
345
350
244
339
337
329
324
227
436
370
344
281
300
322
358
349
280
279
230
256
300
319
322
315
315
297
272
381
313
234
353
238
341
253
368
268
328
344
276
309
282
388
296
317
301
327
266
354
255
309
257
343
239
290
311
275
246
370
381
293
378
356
337
322
274
331
330
320
319
350
242
267
360
290
383
360
339
397
212
272
394
290
295
335
276
313
248
299
437
339
347
284
329
264
308
427
315
349
352
394
325
296
274
331
293
330
379
290
260
308
360
363
352
330
274
367
349
320
329
291
349
264
251
295
334
347
284
311
267
302
419
368
285
363
353
262
308
331
183
280
256
354
288
351
284
319
313
337
268
302
344
345
292
282
374
324
244
353
311
351
310
319
286
326
313
356
254
311
333
331
318
235
281
345
376
387
350
398
362
376
350
332
368
329
278
292
326
308
271
333
360
325
394
332
316
324
335
260
290
249
266
280
286
361
284
297
254
306
337
366
346
369
335
330
211
268
249
309
258
259
318
290
258
238
275
330
314
313
285
297
346
330
374
341
312
294
258
313
265
310
332
358
343
364
267
281
368
208
294
433
230
327
384
276
336
387
346
332
182
248
365
382
372
391
325
301
323
315
316
260
239
330
264
313
239
255
333
282
247
323
240
358
443
295
243
332
304
370
328
358
396
277
306
292
327
320
362
376
229
317
274
336
351
333
322
319
296
289
234
363
294
396
345
332
325
339
365
357
362
289
317
320
220
314
287
264
341
353
298
372
379
346
379
367
370
281
334
345
346
262
315
323
346
349
322
282
323
328
348
291
258
360
362
317
297
399
355
338
327
393
351
247
338
297
368
330
265
294
303
379
265
377
248
308
344
348
364
248
248
287
277
297
302
350
409
367
336
274
363
359
311
316
249
328
276
344
293
341
336
340
279
405
355
258
390
329
228
287
265
242
304
332
242
322
374
310
254
302
299
261
329
290
308
290
344
255
359
242
267
219
316
214
303
310
348
346
306
209
356
352
307
330
339
379
359
280
346
372
359
353
252
349
350
296
354
346
236
336
295
281
308
264
367
319
268
255
326
359
372
338
249
261
372
317
350
347
381
237
260
250
349
314
294
314
353
421
381
322
299
283
376
371
282
311
343
209
322
289
305
353
245
327
341
338
331
308
305
308
356
285
387
443
342
339
310
326
325
264
363
264
279
262
294
268
384
278
288
326
357
298
304
284
262
372
387
368
283
296
271
256
270
314
282
305
365
283
302
336
342
377
243
355
273
314
358
318
283
370
414
297
281
352
278
320
322
327
362
311
288
367
320
355
351
375
325
353
240
385
356
311
396
301
310
340
275
224
356
301
346
399
309
318
414
281
305
249
332
366
298
403
256
350
348
345
352
310
404
271
346
344
339
298
342
376
375
393
305
338
303
343
300
256
314
350
262
334
367
329
375
350
347
276
271
342
295
315
373
244
242
311
296
276
325
306
370
275
339
285
370
210
304
347
330
343
212
355
291
331
349
357
366
275
358
332
303
286
325
312
348
249
320
301
406
306
260
293
284
317
340
385
298
348
330
258
376
261
223
282
375
350
354
345
274
382
365
258
349
299
291
310
415
312
352
282
328
346
258
228
357
286
319
368
368
347
351
352
374
309
276
272
277
329
318
314
340
230
343
269
258
362
354
278
245
307
289
371
324
301
245
336
311
287
362
231
323
330
395
291
250
278
263
334
201
352
307
327
290
247
289
300
286
368
265
266
303
287
312
284
291
298
264
362
245
377
363
367
256
255
316
319
357
304
300
259
368
406
299
318
298
246
304
342
324
368
352
287
289
248
293
235
249
337
352
295
318
250
271
228
274
374
370
418
263
253
315
292
276
301
293
268
278
369
400
343
286
298
310
284
383
312
310
274
234
294
358
313
368
266
320
309
317
363
324
301
409
381
278
322
328
303
315
343
302
311
365
356
346
308
288
304
373
376
262
257
258
328
231
330
288
287
399
313
211
377
333
341
288
327
308
403
336
282
391
320
362
321
287
344
390
337
377
290
375
325
315
389
348
297
310
284
348
343
192
306
358
287
360
234
289
309
280
382
322
324
291
227
287
306
316
372
342
316
330
313
238
374
173
334
383
303
312
336
397
320
262
317
265
269
287
363
332
289
297
345
308
315
356
367
302
295
335
331
261
261
279
334
355
292
364
366
264
331
318
273
316
335
310
367
304
297
268
286
280
379
245
297
379
338
376
217
308
313
324
375
325
365
332
305
330
325
323
384
325
322
335
325
266
259
348
390
263
316
350
393
324
305
359
341
298
295
326
279
306
242
290
243
327
347
240
336
332
398
296
396
335
354
375
302
392
331
292
361
315
297
320
308
313
319
300
283
260
397
385
268
307
319
345
337
225
335
323
285
291
307
292
343
361
349
357
279
380
421
292
252
380
301
279
250
305
320
312
331
356
373
282
221
357
389
406
237
379
297
295
343
301
246
337
366
259
364
345
313
299
355
289
257
339
309
387
265
285
355
340
338
312
266
382
334
344
296
267
270
255
311
353
358
305
352
417
381
350
320
262
309
383
367
358
320
313
349
316
364
298
403
248
354
412
305
318
335
365
310
344
303
375
363
271
315
276
316
259
329
273
234
396
249
369
246
297
311
281
282
295
321
344
341
326
363
388
326
329
296
291
325
369
244
378
340
295
313
325
318
318
316
339
308
305
303
325
307
330
348
212
358
328
336
254
305
308
354
327
291
355
244
286
273
223
255
328
320
241
262
338
306
350
410
285
262
328
384
266
277
330
305
350
387
335
266
287
328
227
292
358
400
355
223
358
341
299
239
340
369
340
335
381
300
315
350
373
263
361
236
251
266
257
372
295
288
325
372
293
412
302
315
333
310
368
331
230
343
350
299
392
192
314
354
359
326
355
316
321
287
219
357
275
392
328
334
195
251
339
306
325
353
391
423
386
285
268
246
353
301
238
305
355
281
303
356
252
287
246
234
358
362
339
266
344
338
356
372
256
315
368
226
320
342
324
376
386
345
317
303
294
276
319
240
312
261
428
379
386
295
295
310
356
296
319
325
273
243
322
233
347
281
254
269
296
318
283
341
375
367
320
277
289
235
327
260
246
272
278
254
306
337
233
313
283
314
356
247
338
264
327
355
339
246
280
258
407
315
274
339
375
314
314
392
331
339
256
274
322
428
357
284
325
252
335
325
361
343
330
270
330
283
322
318
269
359
302
362
273
383
281
316
382
263
359
268
288
385
327
307
271
358
350
419
255
370
334
294
291
310
298
385
306
271
338
318
406
310
388
394
323
320
365
267
337
345
334
295
325
304
315
328
295
325
341
288
272
285
334
385
336
356
389
381
371
236
395
269
329
224
281
389
419
335
323
361
240
364
330
323
388
320
326
350
293
315
361
250
319
273
331
365
224
292
342
381
324
296
396
290
302
338
283
314
283
296
315
315
296
354
254
284
309
320
238
286
307
312
373
333
268
369
307
262
338
333
256
264
382
346
320
294
327
334
357
322
322
298
326
284
318
282
314
385
369
298
347
280
304
288
374
298
301
374
351
339
351
271
336
375
253
293
361
283
222
335
374
416
322
301
324
266
329
314
368
323
328
300
325
381
282
356
272
344
355
351
298
300
263
294
277
374
300
417
245
303
299
333
305
336
308
310
265
345
282
312
337
305
270
232
327
317
292
324
263
282
309
341
333
303
317
366
375
302
302
327
308
280
392
309
360
358
237
319
360
359
354
329
318
301
270
255
261
294
310
261
354
372
359
417
361
316
389
327
320
331
314
292
295
300
272
282
323
367
374
360
207
334
425
309
306
241
279
375
330
269
366
343
348
252
373
277
224
291
354
261
348
272
336
304
289
356
336
347
310
344
378
345
305
345
305
294
317
323
361
348
301
389
308
393
331
294
279
408
329
310
356
310
354
368
279
302
256
374
323
316
337
284
365
309
256
229
238
239
345
305
399
270
397
291
357
343
339
322
351
227
208
324
323
373
309
359
231
398
332
298
336
270
384
297
243
321
391
346
192
277
283
292
270
256
319
314
282
312
311
294
351
219
371
299
351
240
351
247
321
268
339
357
258
360
262
267
313
283
327
204
270
271
258
237
316
302
275
283
347
436
283
232
318
322
314
312
293
318
285
297
262
346
208
345
293
327
345
394
329
294
278
339
343
275
383
298
341
363
258
351
318
321
296
283
318
360
290
256
337
314
302
367
324
276
299
358
278
336
289
346
229
391
276
307
269
324
320
279
349
332
351
260
310
336
374
256
274
382
308
356
289
279
276
333
345
284
372
312
316
290
392
359
384
303
355
309
326
311
270
355
296
249
328
371
410
380
331
259
368
391
323
339
351
314
253
261
255
211
318
370
314
409
282
373
288
274
289
278
323
364
355
297
317
332
347
354
374
342
338
282
310
346
278
312
397
373
248
226
351
260
328
270
366
391
301
233
346
320
296
299
325
346
298
258
382
279
314
294
374
281
395
307
353
360
295
356
352
323
310
249
293
307
331
272
298
391
310
247
352
322
311
363
307
346
328
358
349
331
286
304
349
248
342
309
281
258
343
276
347
285
219
309
263
299
405
365
294
270
328
265
335
281
260
234
294
285
280
346
305
342
320
272
391
280
284
296
275
310
316
335
360
243
307
222
278
290
321
356
373
368
293
396
273
291
329
256
397
390
376
296
261
373
258
315
341
395
300
344
386
329
318
301
294
331
301
284
305
243
332
370
303
324
353
315
289
316
285
279
360
342
280
352
277
335
388
303
194
291
310
294
383
310
303
347
295
356
256
293
276
275
356
334
300
334
316
247
251
367
374
312
362
259
340
319
298
378
279
368
388
336
386
366
200
297
357
346
342
260
379
302
340
187
310
368
259
344
336
299
286
277
336
269
357
384
315
389
247
251
378
329
255
274
378
389
296
287
315
296
238
290
229
332
350
269
296
282
346
311
305
288
330
302
365
283
303
346
341
346
319
275
308
369
305
304
234
291
265
322
370
291
347
339
366
364
298
297
286
365
304
268
312
348
252
380
275
256
307
263
303
344
212
348
325
290
306
303
336
361
374
377
273
293
382
284
274
285
311
270
274
344
351
305
290
329
335
229
277
352
301
246
251
284
224
285
309
358
346
346
290
279
330
400
323
386
391
323
336
249
279
343
319
287
345
336
378
301
381
188
293
324
368
317
332
336
285
282
301
266
327
332
360
386
248
346
385
305
346
334
329
351
356
316
292
345
260
368
294
306
388
263
281
291
326
324
264
238
372
362
329
344
292
276
297
279
230
365
360
354
311
248
318
289
403
322
379
361
315
251
305
410
353
422
327
303
219
350
295
284
344
320
290
273
367
333
341
289
199
231
268
329
320
342
381
303
268
280
368
338
263
381
209
348
388
328
288
353
263
231
322
331
299
350
342
371
310
222
315
352
290
413
297
300
305
249
402
305
306
278
380
311
344
328
326
292
391
368
346
284
347
306
343
334
265
311
393
278
371
371
324
348
301
379
380
257
313
290
345
248
285
325
288
477
297
283
209
263
251
325
372
297
268
327
378
261
424
273
330
290
300
305
349
213
291
379
340
256
391
308
340
338
342
240
321
269
316
328
288
385
309
289
342
311
248
289
396
303
313
381
319
308
376
301
335
379
375
265
269
292
276
327
311
319
377
360
310
339
347
357
325
302
351
306
327
307
380
360
298
310
297
311
308
327
159
289
233
284
398
310
303
343
278
422
341
296
225
333
311
233
338
347
412
266
292
319
346
370
323
313
349
242
225
355
286
300
328
282
282
306
247
285
465
303
290
247
247
316
266
356
242
284
354
381
280
348
227
294
343
294
260
262
395
312
396
314
352
326
344
404
332
247
423
357
298
345
304
311
402
367
375
285
312
251
388
281
278
363
289
322
368
304
300
306
312
291
280
285
366
281
361
346
319
344
309
315
284
276
348
330
323
325
331
288
388
361
285
301
328
340
380
307
365
411
304
263
341
340
342
265
292
271
260
281
277
298
287
427
326
216
328
211
318
296
403
300
258
243
347
359
257
324
353
318
392
312
291
370
316
291
265
282
349
222
267
324
268
386
326
357
296
218
352
328
271
269
365
266
252
277
286
306
338
292
292
352
330
335
305
290
317
307
294
306
355
260
267
273
377
311
285
402
396
266
295
383
319
363
403
304
289
264
298
319
359
306
344
348
296
295
313
241
356
325
404
214
323
353
338
327
325
301
259
290
300
279
343
297
356
300
374
332
342
254
369
283
290
306
319
274
282
282
351
206
293
295
296
351
259
194
312
233
321
277
295
363
312
261
344
291
319
346
251
347
384
323
313
269
351
262
337
309
262
285
320
344
300
274
332
283
380
276
383
365
315
251
346
293
264
305
356
419
360
248
313
285
358
335
309
330
309
214
308
293
396
299
292
288
345
194
307
274
340
333
221
337
283
321
310
253
404
318
312
306
332
283
342
344
382
267
302
319
373
301
339
362
318
349
305
392
341
266
320
323
275
338
323
301
380
367
393
272
318
323
305
366
158
251
325
258
391
274
335
292
271
324
309
274
306
270
300
307
210
381
304
309
334
323
298
413
342
202
340
300
330
301
315
254
306
270
368
371
296
379
315
281
320
270
319
306
288
347
226
337
380
372
353
295
373
295
291
347
324
353
347
424
373
313
295
382
289
333
353
338
264
283
350
405
316
279
239
303
321
363
310
281
335
341
429
246
285
313
294
315
374
263
306
307
281
215
342
367
353
299
258
249
320
244
238
288
232
281
342
271
360
293
358
280
257
342
277
329
297
320
381
336
285
367
266
304
329
361
360
389
336
335
361
314
318
367
301
296
337
325
305
268
246
314
390
298
381
333
370
299
326
378
348
254
382
306
296
383
372
314
326
294
321
285
287
229
274
294
374
321
263
350
293
275
359
359
263
315
341
364
273
287
289
377
304
334
344
311
296
345
260
259
307
293
310
273
356
341
337
354
378
313
247
329
298
348
367
383
364
360
307
334
285
309
281
276
309
323
351
344
349
282
295
345
356
308
214
325
288
300
364
274
348
276
223
325
266
308
366
308
269
365
326
320
349
341
374
285
384
328
317
354
342
282
316
278
290
356
316
340
324
326
354
299
345
373
287
375
288
285
337
314
272
310
248
311
347
312
348
258
348
297
297
318
376
302
290
297
254
300
352
365
245
234
252
390
370
222
257
371
298
318
297
387
383
386
336
333
300
334
342
349
312
263
354
368
311
422
328
296
321
351
290
371
357
315
342
277
336
382
259
324
271
321
311
282
311
308
324
354
296
272
263
360
339
287
268
315
234
333
315
226
303
302
274
309
334
336
333
334
308
289
265
323
319
343
352
335
292
335
338
282
348
285
331
204
349
308
313
391
321
278
326
318
202
345
314
282
259
395
313
273
323
439
381
366
283
360
277
302
334
314
318
323
358
317
236
271
281
352
294
343
328
345
291
276
332
274
355
277
253
347
304
364
278
239
297
302
353
338
332
275
316
302
276
369
333
274
314
283
282
397
344
245
349
294
295
332
230
429
328
293
312
357
357
264
320
313
361
330
343
249
289
302
297
390
333
292
240
258
332
287
374
349
285
332
312
316
285
282
304
304
321
316
324
317
326
309
339
316
313
228
282
343
357
374
280
266
329
331
381
328
303
275
369
294
264
322
332
332
252
334
298
271
315
317
298
368
333
308
362
361
384
263
315
300
393
351
401
359
324
276
264
304
382
327
269
362
311
352
218
303
360
334
293
350
390
342
358
369
295
357
271
317
320
255
271
286
307
320
266
288
283
271
381
412
376
261
315
253
295
347
305
330
314
247
297
325
316
419
391
288
357
306
330
315
265
241
306
337
292
358
395
352
299
267
315
280
354
352
313
338
295
260
381
356
239
343
389
257
304
359
397
344
391
347
278
346
267
334
296
385
288
315
262
267
264
346
254
341
272
337
284
383
371
329
284
334
403
287
275
329
370
264
308
232
341
281
301
342
277
230
346
399
334
344
287
274
315
323
293
345
389
312
268
293
296
310
245
399
347
320
354
345
338
307
314
226
318
270
317
337
338
272
358
344
267
301
272
329
274
295
309
289
193
326
297
277
324
342
345
417
364
329
375
319
254
255
357
311
332
335
330
331
297
339
320
351
317
320
322
335
248
287
311
255
322
232
298
236
312
341
305
290
256
272
208
286
323
358
216
280
298
273
327
307
379
427
308
322
228
284
392
381
257
269
290
360
339
369
225
367
341
286
391
296
305
379
313
280
285
404
327
297
372
375
342
309
288
312
374
398
309
358
268
291
288
326
288
253
230
329
384
250
225
302
384
378
388
300
329
233
405
189
308
385
295
307
300
295
325
323
314
321
351
294
329
368
363
269
312
335
325
297
334
346
345
277
187
306
331
297
238
357
357
277
265
335
238
257
359
287
282
339
283
296
323
336
330
285
331
344
306
331
340
314
256
366
283
320
334
283
369
253
302
325
331
363
372
269
351
295
374
295
253
361
288
356
352
279
328
327
333
395
374
400
348
315
302
332
292
278
337
364
292
372
308
290
273
285
319
299
304
275
232
306
252
297
324
320
250
380
292
293
333
363
361
392
312
290
340
290
340
230
287
343
276
322
309
266
337
361
361
262
357
249
334
261
295
295
337
262
269
295
380
270
327
350
202
272
277
205
276
317
335
271
346
312
317
324
312
323
310
282
313
218
320
245
193
276
298
335
260
355
319
272
254
307
316
307
279
361
270
277
335
353
293
315
331
294
269
369
243
289
295
359
288
339
289
326
296
334
378
331
374
278
352
233
282
352
343
243
255
352
286
347
420
386
313
370
294
210
360
251
332
302
341
307
317
328
296
267
311
285
212
318
368
285
275
296
272
295
344
294
287
322
329
327
340
336
338
412
339
353
249
270
370
300
257
339
305
399
367
340
344
274
258
344
377
306
317
296
272
376
335
294
315
281
378
286
321
395
356
354
367
298
347
285
364
305
352
258
290
226
334
353
319
350
246
321
336
364
280
246
274
307
365
295
342
314
246
293
377
349
357
390
238
253
215
362
310
330
284
297
287
322
337
280
351
303
314
360
304
288
364
259
340
303
265
321
317
277
328
261
343
305
330
330
312
313
321
260
287
215
261
321
350
318
291
392
344
302
365
257
344
303
302
322
319
369
302
328
226
249
382
308
368
383
346
295
357
324
336
341
341
249
327
320
326
354
236
356
338
327
315
320
287
286
294
345
381
337
362
321
281
305
374
316
262
268
310
317
341
298
330
300
388
307
253
312
273
340
248
307
378
278
323
364
270
271
252
392
412
328
347
274
241
380
300
380
295
314
232
274
322
423
400
261
366
351
279
365
245
271
323
277
400
344
374
271
279
414
287
305
304
279
340
247
308
379
344
342
385
330
239
252
351
292
392
334
333
313
374
285
212
257
367
296
329
316
343
314
377
325
272
308
339
381
245
354
321
317
384
368
312
331
311
277
304
298
332
223
329
318
281
248
304
287
296
271
273
283
222
301
280
379
370
404
311
363
328
299
341
351
280
364
407
353
331
361
345
297
353
354
373
383
323
248
293
234
393
283
244
353
263
393
288
386
330
346
314
345
274
354
318
382
403
340
400
285
375
336
324
309
318
309
309
307
369
359
303
314
327
363
321
320
359
320
275
289
280
275
333
311
303
337
395
321
256
348
368
273
380
343
371
327
309
311
305
255
389
267
331
291
338
369
282
337
299
276
279
252
327
352
290
322
312
342
249
308
303
266
287
363
335
285
269
282
290
251
389
298
315
369
271
331
283
325
305
250
325
371
291
243
241
340
408
270
281
280
197
393
285
349
316
272
306
328
325
275
284
341
348
345
322
332
323
290
324
250
266
281
266
369
310
312
331
236
301
363
266
332
264
333
322
297
371
294
405
350
349
328
305
270
320
321
332
333
303
417
257
290
290
327
318
220
372
327
371
357
337
349
390
300
282
282
315
319
246
380
320
278
289
232
254
361
288
333
307
295
365
354
382
306
268
244
299
368
375
296
280
298
374
312
350
258
240
269
337
244
296
391
291
323
304
263
370
269
227
314
296
240
250
356
275
352
337
313
298
385
342
357
376
290
262
302
318
290
303
341
303
277
371
284
354
259
232
326
347
373
341
406
318
383
244
389
248
310
307
353
257
313
312
251
378
259
298
281
276
289
360
375
290
267
309
268
370
319
309
321
278
302
400
288
319
335
296
342
275
326
276
281
322
255
246
277
291
314
347
328
259
321
244
256
331
293
342
277
337
318
316
384
351
222
316
320
288
323
276
273
328
340
337
389
296
239
329
320
270
286
309
310
248
245
311
433
325
333
357
336
334
438
288
353
383
330
337
328
358
337
321
330
266
267
365
367
388
363
245
356
340
386
352
302
217
389
348
291
388
395
375
337
262
294
343
239
328
310
358
314
314
334
319
355
275
304
258
301
288
352
403
354
408
295
263
359
330
292
258
325
275
357
422
414
251
345
283
303
344
374
283
316
324
320
373
335
294
189
239
233
331
349
330
307
258
268
271
281
393
332
340
284
300
356
282
332
321
386
260
357
308
245
310
343
294
310
272
324
318
337
338
319
343
331
381
292
296
321
200
393
248
279
326
311
366
309
357
281
326
309
361
336
283
356
343
302
290
267
237
303
235
315
300
273
338
273
352
308
286
357
311
319
265
325
338
304
346
284
330
248
301
312
333
237
269
301
381
339
328
331
240
372
309
284
303
160
277
242
391
326
398
307
293
292
297
302
321
303
342
250
333
299
289
356
396
361
265
259
360
400
311
334
398
285
335
326
354
307
343
389
306
312
319
321
279
275
282
271
332
302
392
350
360
288
363
371
317
255
284
308
248
382
342
259
305
329
240
400
320
347
273
307
350
255
317
291
445
414
311
314
288
333
292
365
355
351
244
345
333
307
342
354
286
345
304
320
367
326
278
319
375
334
295
306
305
380
324
319
270
244
329
319
340
332
366
365
308
406
297
346
268
263
324
288
357
236
302
277
319
350
232
381
317
290
311
302
379
329
318
324
303
354
316
276
290
304
314
360
259
326
306
305
296
295
347
385
359
246
269
321
383
308
319
326
282
337
322
278
389
376
292
327
394
337
355
326
341
255
289
242
249
316
299
281
300
299
396
283
352
349
266
371
337
340
258
388
405
343
338
242
321
318
347
292
285
272
332
289
276
319
248
263
303
258
302
370
349
330
286
396
341
326
332
279
253
330
318
251
285
401
293
291
243
323
370
328
375
239
457
358
333
277
217
298
258
317
246
278
313
320
346
218
377
292
316
334
357
344
387
352
350
314
307
326
243
351
290
364
319
301
330
233
304
325
330
354
384
306
277
282
272
277
398
334
259
301
390
266
310
300
335
256
335
257
348
233
258
300
285
263
283
345
293
271
347
265
281
362
238
291
305
312
326
324
273
305
294
317
336
315
317
351
295
354
310
354
335
334
253
278
370
329
335
401
323
339
301
295
293
321
343
301
375
310
248
359
401
316
375
245
210
364
267
318
247
236
316
345
307
301
321
347
231
317
320
283
334
262
331
342
280
288
390
319
267
382
368
348
249
318
361
278
371
238
312
338
376
297
338
308
359
346
371
274
286
300
316
322
388
266
212
308
367
312
279
258
331
323
242
290
375
310
373
294
404
300
249
297
310
316
367
348
359
274
368
292
333
307
373
378
333
294
364
350
312
317
322
376
315
338
364
321
296
392
261
320
338
378
295
243
309
243
265
352
273
355
327
362
358
327
323
305
339
273
337
324
380
376
331
331
311
325
283
287
294
255
283
350
375
295
336
365
327
339
364
316
344
332
300
376
326
287
310
322
307
360
382
357
362
233
306
320
273
286
351
327
346
292
350
406
292
384
349
310
305
286
322
309
290
257
251
332
341
305
335
380
258
324
288
370
384
302
364
375
382
298
271
292
395
288
309
280
312
316
335
357
259
291
294
352
362
345
350
297
398
350
361
319
323
282
351
215
351
195
346
307
376
309
303
311
302
295
331
295
350
356
319
363
364
262
366
380
357
289
300
303
312
303
298
372
339
346
371
370
351
360
324
256
270
328
244
331
375
325
340
312
350
259
243
373
281
290
208
377
330
297
314
370
324
267
262
273
276
382
274
328
332
365
356
307
345
299
356
367
341
313
278
284
322
302
375
322
297
402
329
344
299
279
252
371
279
320
350
294
335
351
326
360
239
308
247
325
284
357
322
307
349
309
310
407
326
267
328
407
258
298
239
274
380
347
259
340
290
302
361
386
387
271
259
253
371
312
287
306
319
389
349
357
393
340
332
282
303
259
365
237
323
260
357
334
235
207
373
373
399
280
283
320
366
379
308
318
349
391
332
346
320
332
273
307
313
342
285
336
319
267
328
234
349
292
260
325
257
240
247
400
266
275
304
397
325
347
300
253
300
277
376
230
374
255
243
329
312
333
358
243
325
365
315
337
321
248
396
277
282
283
311
315
305
388
328
236
382
318
294
348
316
293
323
346
318
290
366
377
350
291
338
284
324
316
339
269
369
335
332
304
372
338
377
315
272
299
327
370
231
304
162
299
275
313
221
257
321
338
264
305
291
391
273
329
314
338
394
379
256
357
276
266
290
403
393
347
286
302
387
338
267
334
224
294
333
326
291
407
287
310
283
345
316
319
373
312
384
384
228
300
352
363
296
376
370
329
335
348
367
336
308
278
305
294
359
230
368
343
242
247
407
395
323
359
361
336
328
329
339
264
307
333
389
337
275
367
339
278
313
370
364
312
276
290
319
291
353
398
256
344
273
357
311
341
320
327
303
369
305
418
359
303
320
355
286
367
285
322
251
215
315
308
314
333
230
341
328
349
332
270
246
223
293
361
312
311
355
371
341
286
314
207
346
275
324
254
339
368
350
356
363
402
292
289
336
257
341
314
341
300
303
246
262
257
309
294
294
339
285
283
295
288
290
306
335
289
297
281
335
278
369
307
275
362
372
264
293
395
384
306
360
290
308
269
328
252
337
274
358
317
340
309
391
325
362
248
279
260
325
315
376
399
374
358
298
336
311
352
253
325
344
346
359
356
239
269
284
308
254
297
347
314
218
345
282
279
267
316
274
384
167
313
307
357
299
362
356
380
247
350
319
302
281
285
268
331
399
325
307
381
288
398
364
326
309
328
340
296
196
396
332
334
310
277
268
256
331
351
313
351
335
338
388
264
340
288
362
260
320
319
443
267
301
313
347
274
318
296
379
393
342
366
324
258
291
269
336
294
387
371
306
282
373
309
364
294
410
392
322
333
318
327
381
378
351
296
316
316
318
345
305
352
340
288
393
290
301
352
366
343
346
334
346
350
253
305
335
390
320
306
390
371
273
292
338
331
355
272
338
296
237
289
271
332
367
271
334
358
290
256
327
327
224
225
390
261
276
314
389
291
340
350
261
263
344
288
309
291
338
318
320
330
346
289
315
296
316
299
270
327
308
222
325
278
336
328
292
326
304
308
291
345
348
307
290
260
255
313
321
288
292
326
284
371
398
335
263
352
333
293
379
343
362
302
376
360
249
279
343
348
267
313
273
286
278
282
280
290
329
302
297
372
366
261
382
335
444
321
420
365
318
295
239
288
354
327
339
323
319
286
344
315
403
351
350
307
295
326
280
306
352
337
281
314
373
346
380
263
320
281
344
281
380
336
290
425
280
279
277
347
365
265
337
300
365
279
421
340
394
326
256
281
330
323
348
317
268
368
377
313
298
346
300
375
355
200
299
348
231
322
266
246
325
297
305
282
313
279
295
169
269
245
320
284
309
333
367
286
252
328
278
271
432
325
406
301
355
342
242
358
323
310
308
342
312
320
347
347
259
268
264
198
282
297
333
326
390
354
335
285
322
383
414
367
340
344
256
422
371
328
334
380
300
316
288
350
353
232
276
345
322
294
363
311
258
437
312
335
342
313
368
318
230
269
316
325
383
367
315
277
296
311
383
201
263
372
414
322
289
274
385
325
359
330
344
305
298
255
320
282
326
255
308
354
368
320
285
286
320
206
319
322
361
284
274
313
313
319
337
230
338
319
337
332
274
331
325
227
277
263
309
270
299
338
282
337
319
326
316
324
305
314
285
262
267
339
296
362
252
287
299
263
334
315
368
318
362
312
366
340
318
324
332
393
294
367
340
299
198
287
323
256
307
343
308
280
355
339
377
342
389
270
323
408
278
326
319
325
400
314
284
362
297
228
310
289
354
246
359
243
310
302
314
302
273
302
260
300
245
326
378
380
408
331
266
189
329
342
369
392
311
403
293
347
353
358
348
293
238
307
283
257
292
378
264
292
288
269
312
260
291
297
348
280
345
335
278
223
275
313
366
263
358
283
366
337
347
344
350
270
274
297
310
334
342
231
288
357
290
304
347
334
242
308
250
286
377
327
371
326
344
367
339
295
275
258
288
349
321
247
387
287
293
333
336
347
341
317
297
306
284
289
285
305
295
366
315
314
219
311
324
319
372
309
277
302
356
275
390
280
281
418
414
330
405
304
237
297
328
329
321
320
302
355
370
414
269
387
319
351
331
277
267
380
331
297
350
399
346
273
335
211
291
254
346
367
367
299
325
356
323
338
308
356
309
351
331
335
370
371
359
339
403
372
301
398
241
353
284
282
295
317
350
334
343
338
322
315
333
341
277
359
313
276
314
258
290
317
330
291
356
318
314
350
338
350
318
319
398
305
347
305
256
250
263
305
323
411
365
344
304
349
368
311
324
326
295
357
300
237
307
285
322
314
357
337
334
286
272
339
263
380
300
405
268
291
264
344
314
271
267
363
399
388
249
330
269
275
278
375
376
297
299
338
336
328
279
303
286
339
269
399
225
264
352
339
247
319
359
277
380
234
325
291
344
394
313
305
263
273
328
380
287
317
359
261
255
365
333
330
286
351
335
255
307
290
313
320
316
288
289
393
354
310
348
313
353
334
280
207
252
369
324
308
349
328
329
288
369
363
305
334
328
226
327
362
257
295
268
296
367
291
287
349
290
340
341
357
399
246
325
264
264
265
342
311
259
363
366
281
240
178
296
277
331
409
308
303
355
321
259
359
301
326
306
336
263
290
322
310
324
337
335
311
252
236
294
306
303
221
326
258
314
364
286
339
309
274
315
315
277
345
392
360
305
277
295
328
252
246
347
333
385
253
355
287
340
365
364
358
283
277
259
325
302
274
291
296
247
328
296
360
369
360
237
299
353
294
230
308
234
315
284
303
284
369
320
231
284
356
231
257
292
297
348
392
318
279
293
292
300
222
367
287
197
314
255
400
312
241
342
280
349
325
350
350
328
394
380
317
333
341
347
216
264
363
360
200
365
358
282
294
308
332
290
319
326
258
263
303
333
300
324
301
377
350
339
290
210
313
372
317
317
273
273
273
336
282
345
259
366
196
265
346
270
288
335
335
322
299
304
323
240
318
314
224
306
227
365
388
275
311
296
336
246
323
282
340
305
310
327
328
322
346
224
323
261
277
329
367
246
330
362
383
342
311
378
324
306
275
309
328
362
301
370
303
321
354
254
285
271
329
343
305
323
381
262
348
220
266
327
392
327
302
286
299
327
307
233
378
290
338
380
263
291
321
252
294
312
263
361
225
275
285
264
315
395
307
301
348
255
341
304
298
297
316
334
286
351
341
292
295
268
264
323
338
391
371
321
362
290
360
305
359
344
235
319
269
311
304
247
299
238
290
310
294
295
259
341
280
274
280
365
246
332
345
319
329
338
328
347
354
334
248
317
267
379
330
268
371
261
405
254
310
318
370
373
229
235
358
332
291
317
319
326
327
323
299
300
224
249
311
357
371
331
315
288
351
255
229
343
329
259
355
277
336
309
287
368
314
407
275
356
390
315
313
348
332
325
367
334
225
279
336
395
323
341
317
247
325
328
242
407
296
371
284
306
356
315
290
322
316
302
349
325
283
354
262
305
278
300
306
253
268
316
360
289
303
317
261
263
388
307
309
393
323
311
272
260
360
359
335
407
267
361
345
284
321
245
389
262
319
327
273
357
277
214
299
307
377
326
293
362
240
278
312
321
305
376
260
265
175
313
251
223
293
205
320
300
328
313
354
218
259
267
244
388
306
331
261
353
335
337
299
228
264
320
388
334
359
349
312
251
364
273
379
312
291
346
251
230
263
256
307
354
370
326
296
248
320
327
293
326
310
325
319
403
251
259
401
344
334
380
221
201
337
339
305
339
301
218
313
365
308
267
304
333
316
368
226
376
276
301
209
332
278
316
313
245
360
279
316
335
363
270
322
381
327
340
222
371
380
232
281
373
339
293
321
325
342
395
310
327
317
308
341
304
325
361
314
285
409
303
267
357
339
246
378
287
270
283
315
262
228
339
284
359
268
344
291
204
245
393
245
390
366
270
313
394
321
329
345
345
264
283
292
299
354
322
382
350
323
298
281
314
327
342
298
332
259
300
335
264
259
346
386
316
360
308
309
349
374
300
259
274
308
266
326
369
330
273
274
259
380
269
316
329
293
264
301
308
274
326
363
318
373
358
289
285
323
212
291
397
304
239
313
371
392
379
297
323
282
355
256
329
286
364
352
286
270
374
274
278
296
365
262
382
403
289
383
350
300
341
257
280
347
342
300
370
231
339
268
324
338
331
330
287
320
311
292
353
326
358
326
275
293
362
344
323
265
301
396
266
304
337
270
306
316
371
365
263
316
326
292
327
331
310
255
301
301
338
322
405
387
364
358
356
310
270
288
302
275
302
334
344
325
375
355
307
339
387
442
393
358
335
339
339
283
251
372
365
307
336
321
318
312
315
391
344
354
326
318
313
374
287
346
253
340
297
263
292
271
320
364
269
294
310
379
285
307
264
328
354
399
314
368
323
266
299
259
287
268
365
320
361
391
252
318
254
294
246
284
366
360
319
308
268
347
264
306
396
307
299
276
276
269
312
379
290
333
248
362
306
272
300
315
321
327
278
344
316
336
339
376
358
292
449
272
329
310
357
385
322
291
307
267
431
335
270
347
275
338
292
332
343
258
346
361
297
290
310
366
317
286
379
373
251
413
336
268
255
314
283
289
284
272
289
354
276
281
236
213
339
349
300
287
277
365
291
343
400
296
295
297
275
326
299
324
296
333
339
319
436
380
291
247
290
280
339
315
228
318
287
283
326
376
264
359
324
333
171
328
319
345
304
431
370
311
306
331
280
250
316
338
366
360
302
271
360
313
330
332
294
352
339
293
291
358
317
279
314
322
328
344
286
322
256
355
349
364
254
402
304
381
282
293
357
275
308
309
254
347
296
325
360
266
289
327
255
321
274
421
280
269
348
383
269
274
331
287
365
305
275
271
293
343
346
367
337
250
294
323
318
227
340
245
350
302
383
298
339
250
316
268
298
291
287
353
377
346
419
288
337
266
323
447
320
234
318
348
289
330
337
340
263
328
405
294
317
295
315
285
290
312
238
349
383
313
324
305
313
332
311
360
279
278
306
353
284
304
318
283
308
345
303
305
261
396
284
350
358
308
385
296
348
288
223
283
352
299
333
308
321
367
322
314
373
329
335
295
295
366
307
220
304
349
343
213
386
306
315
256
317
394
295
322
355
217
412
329
326
313
340
382
330
353
274
272
309
332
289
263
389
249
339
302
259
288
274
267
307
308
353
287
277
286
317
260
323
292
285
363
301
218
360
305
318
422
421
302
314
335
292
346
328
324
296
310
339
353
278
305
302
339
324
299
342
330
249
331
314
281
349
301
384
337
292
369
343
324
329
345
308
303
282
291
435
281
345
285
329
267
315
339
406
282
381
273
335
319
346
331
287
351
324
379
378
328
340
290
313
304
300
333
298
292
275
300
355
323
341
292
397
255
389
306
358
395
326
330
281
312
360
333
282
258
342
352
338
295
298
338
333
230
311
365
384
307
334
274
276
401
350
250
268
365
363
343
344
297
364
345
396
251
278
264
408
367
350
243
363
308
323
348
366
284
262
301
332
339
287
360
305
321
360
198
331
306
252
365
300
342
378
328
309
360
394
381
284
318
275
345
345
364
275
261
301
329
360
304
256
315
306
349
345
357
358
299
386
346
284
349
405
361
312
318
264
318
360
316
313
232
419
362
310
253
418
346
410
244
321
368
251
329
333
336
288
300
311
336
366
315
319
379
263
328
278
350
324
297
232
322
245
288
199
345
422
293
372
355
318
239
346
315
318
314
342
316
308
345
323
341
343
317
294
342
291
255
363
287
424
368
308
393
347
301
349
263
413
312
292
311
258
307
333
290
316
283
307
353
347
294
355
300
263
361
387
328
336
313
394
325
351
321
337
334
288
251
282
302
308
229
314
311
353
268
254
338
239
289
355
361
319
275
361
292
341
329
348
286
329
261
288
345
254
349
416
359
369
344
303
396
251
240
335
345
307
325
291
361
300
321
356
374
306
328
315
281
370
329
387
312
284
305
276
265
278
294
381
271
246
319
279
231
342
358
345
340
283
259
298
270
348
360
453
249
315
386
197
397
311
280
359
320
431
353
381
298
330
307
298
284
297
280
298
285
271
305
427
307
290
300
290
302
310
280
254
322
334
333
310
296
193
279
339
277
294
331
297
354
309
344
277
225
317
375
341
288
242
274
301
258
322
268
294
286
355
346
303
330
333
362
347
359
342
267
265
273
352
252
360
386
266
346
344
271
282
385
335
298
316
290
274
254
290
350
347
383
341
296
330
211
357
355
291
294
368
257
372
443
327
318
326
248
298
278
254
309
319
316
308
330
317
322
396
256
275
334
388
330
387
269
337
195
239
353
278
340
327
183
293
236
308
322
269
313
360
310
242
389
355
333
329
341
401
347
291
375
320
335
283
214
389
231
388
300
281
282
325
258
324
298
382
392
358
342
326
333
301
318
340
277
363
316
333
339
326
316
306
365
334
267
291
264
280
304
326
300
285
332
328
284
314
409
351
351
351
312
341
283
317
360
269
358
274
321
330
234
394
330
281
375
298
398
201
357
278
389
309
252
370
289
355
306
384
382
255
275
315
262
282
349
380
305
307
342
352
301
352
262
351
339
295
287
358
262
367
333
281
334
329
282
336
356
276
361
301
360
342
271
263
369
313
316
350
343
321
291
336
334
344
275
228
348
349
333
336
358
299
322
332
366
365
290
262
284
258
396
279
317
362
327
337
281
286
281
376
350
303
369
303
352
278
277
372
306
300
314
348
320
288
300
328
250
324
375
319
292
337
353
349
344
258
339
327
293
321
259
388
346
265
295
278
323
362
362
262
247
301
293
327
235
341
335
339
257
339
393
279
250
289
207
356
370
332
324
341
347
368
236
339
322
318
297
355
230
376
369
230
370
403
320
352
303
347
303
291
285
333
264
324
296
289
309
276
351
386
346
344
310
401
299
364
236
378
274
296
296
357
309
265
378
275
253
320
333
332
228
265
334
300
345
287
297
320
261
332
334
316
303
345
286
291
299
388
256
383
310
318
271
379
327
317
332
389
350
286
400
255
366
390
326
348
290
389
297
267
310
306
248
196
302
307
307
279
342
288
340
282
267
385
266
360
329
268
295
352
336
257
232
337
313
313
321
265
323
309
208
340
389
277
299
290
268
367
369
298
291
328
375
298
316
397
311
362
271
330
272
330
287
292
369
342
271
314
269
240
361
311
238
378
234
267
266
340
409
332
355
318
282
349
294
259
301
281
371
324
317
266
315
256
289
436
331
330
297
303
380
308
264
318
331
320
271
350
345
268
341
312
322
278
312
329
326
286
258
316
386
305
213
293
267
337
338
365
322
379
227
310
321
346
298
316
294
338
267
281
299
411
264
335
271
368
311
354
292
307
329
380
264
251
239
253
343
239
329
270
256
367
290
309
385
350
310
318
335
307
325
297
300
361
316
353
338
396
368
296
379
278
323
359
317
312
268
283
288
321
264
241
271
347
293
339
269
315
274
353
299
264
303
263
295
316
269
347
366
308
305
255
337
408
254
273
287
290
371
267
294
350
233
337
297
320
301
255
305
336
345
355
317
346
321
295
358
363
279
356
307
345
316
357
373
345
366
315
351
392
287
244
249
407
343
283
334
285
340
405
370
304
286
230
295
314
275
194
309
220
366
328
372
299
303
370
320
377
315
299
355
369
319
289
276
300
352
309
343
288
294
344
335
293
314
325
260
245
330
325
301
307
387
347
336
341
332
248
353
355
269
293
335
261
291
348
301
306
357
274
367
309
294
282
380
302
266
298
257
360
205
299
348
273
325
333
332
361
328
281
376
345
321
305
370
364
346
293
368
389
291
321
299
351
373
259
255
332
284
369
303
337
250
349
276
311
341
334
304
300
264
347
296
334
290
316
255
352
317
301
309
257
303
299
391
271
322
279
288
309
284
293
358
302
283
262
320
251
331
284
266
344
382
282
290
249
280
249
364
343
317
262
314
354
309
304
332
366
311
289
310
282
409
285
369
341
323
240
291
346
237
263
324
294
315
316
416
344
354
246
329
412
297
310
342
357
210
301
273
248
373
300
297
410
393
280
363
256
327
291
347
293
258
311
288
377
356
365
245
266
250
275
265
218
344
319
253
326
385
263
358
287
298
384
260
312
352
233
323
312
334
331
208
351
379
361
287
345
386
242
335
394
386
324
295
350
292
382
334
324
333
260
322
324
380
326
271
259
338
380
233
278
240
176
293
382
334
250
278
264
302
316
301
273
331
263
305
367
335
328
343
364
312
321
236
386
344
291
331
295
394
234
362
342
372
350
302
354
330
250
303
312
309
281
395
372
265
285
310
338
319
344
313
205
378
338
363
275
342
292
332
336
280
347
227
259
260
260
386
237
331
291
297
235
225
366
395
323
359
334
358
328
357
254
347
224
334
260
320
299
327
286
245
354
330
347
298
342
319
337
295
285
318
348
273
349
405
232
291
279
268
347
306
283
367
220
303
295
374
312
341
368
343
265
314
245
299
297
224
225
358
347
268
303
337
282
264
230
262
312
349
307
284
250
356
260
369
282
295
292
329
336
296
292
354
416
357
328
305
326
226
281
289
336
316
324
305
328
267
403
323
309
257
326
252
330
254
293
338
281
337
321
276
242
333
335
316
254
322
252
330
399
289
289
320
242
382
354
294
280
299
267
279
290
311
276
297
291
369
311
382
277
280
341
378
306
281
334
337
304
331
219
298
370
372
259
340
345
351
242
300
365
334
374
325
334
306
344
286
336
315
253
294
330
328
393
302
323
344
339
261
347
287
283
304
357
269
324
382
383
308
332
277
352
403
289
242
275
339
318
207
341
287
265
352
300
261
298
370
297
244
323
264
335
373
305
310
276
289
290
375
289
263
306
318
318
294
342
335
358
341
318
356
302
263
375
361
374
306
243
328
346
297
300
247
337
372
328
327
274
295
278
330
363
243
304
334
379
338
269
316
308
300
318
342
313
345
371
285
258
325
338
317
300
337
377
285
240
314
348
335
228
292
305
284
389
341
296
243
355
352
365
316
374
253
240
152
389
288
246
297
303
323
265
349
293
280
305
365
275
230
341
313
362
327
358
347
362
319
341
326
352
339
313
313
301
335
298
288
287
371
312
307
335
299
388
335
314
322
315
353
295
348
261
351
226
280
286
353
320
341
332
335
288
342
409
384
278
304
382
392
244
253
298
399
292
282
316
224
338
384
296
283
385
196
237
324
344
409
296
283
333
318
334
241
226
333
294
371
379
343
254
307
303
308
284
306
405
383
305
332
342
385
295
272
325
423
302
378
328
239
289
326
315
321
223
289
321
306
304
305
388
334
292
275
329
202
241
351
414
367
304
305
350
272
269
268
344
290
271
300
301
350
272
274
323
361
400
325
346
244
292
315
346
410
337
374
382
317
308
325
334
259
384
235
359
333
311
289
232
311
295
282
285
312
306
260
292
365
289
256
277
279
420
281
310
345
328
354
325
314
272
352
319
243
277
248
314
325
344
306
351
259
361
293
295
246
234
314
311
345
288
251
409
240
327
337
385
288
326
284
337
293
345
279
355
304
363
177
284
295
349
293
318
299
260
364
290
355
257
298
376
335
329
354
405
298
254
293
238
360
306
315
432
287
357
320
303
366
315
297
326
328
261
276
277
358
407
279
305
406
356
314
294
190
379
253
402
298
290
292
317
252
268
277
361
271
300
333
321
262
404
361
282
362
311
392
346
210
339
320
326
388
270
330
329
264
245
252
314
250
337
328
371
250
273
336
359
277
255
260
303
342
294
277
278
309
254
320
317
327
367
408
275
241
290
340
315
278
368
292
331
266
355
280
267
316
414
380
390
333
304
327
404
284
304
293
389
338
293
386
379
320
303
321
295
352
307
242
299
217
361
366
326
262
356
331
314
331
300
319
249
230
240
227
259
343
345
397
309
302
235
325
374
333
315
298
331
353
313
341
287
343
341
323
252
351
285
383
252
329
340
249
297
328
367
260
399
259
312
328
339
233
192
324
333
250
359
264
225
386
343
333
268
340
315
325
285
363
281
323
320
216
331
282
276
286
299
259
353
262
244
321
298
284
389
288
263
291
358
326
395
292
239
237
270
400
363
333
257
266
345
291
391
272
212
389
350
259
242
267
261
346
340
307
374
288
289
309
337
314
409
346
325
368
382
313
276
363
261
404
334
282
205
235
282
282
312
306
316
341
397
316
390
334
313
338
312
318
265
320
313
270
296
295
295
387
298
306
277
258
350
325
378
377
330
302
319
360
218
365
278
346
387
344
300
353
336
324
303
366
278
372
324
289
330
374
329
319
272
344
366
304
273
331
316
320
315
423
363
259
354
382
334
261
270
371
318
293
320
331
332
316
314
292
300
360
346
293
351
336
320
303
295
275
373
286
340
374
313
293
315
385
224
362
234
251
346
401
274
322
273
307
278
303
323
343
338
308
396
355
319
292
310
239
283
285
325
307
298
362
268
419
321
370
359
317
339
275
219
252
308
367
300
278
335
291
293
247
301
376
363
281
219
325
293
362
344
311
337
378
261
272
346
243
226
266
241
197
385
323
334
321
298
304
232
361
332
303
340
356
365
340
355
291
271
237
306
329
289
233
304
269
349
374
276
283
290
324
228
325
348
218
357
317
297
310
325
391
346
273
284
299
378
292
368
306
276
327
294
293
320
293
385
284
337
324
281
410
274
327
322
284
280
334
356
336
284
191
190
361
377
286
254
263
377
278
300
347
241
364
298
319
286
285
252
299
329
376
290
297
325
296
281
322
382
320
275
253
282
331
382
281
371
263
294
340
299
348
285
301
416
297
289
360
287
328
284
252
303
243
326
340
322
298
236
361
298
309
298
376
280
300
404
337
350
340
355
309
312
277
388
291
270
262
345
328
313
249
367
283
384
358
334
297
373
260
394
296
302
279
357
347
360
255
328
322
393
339
385
351
308
282
227
313
235
245
362
368
313
248
334
286
327
271
325
407
356
327
345
256
313
280
346
375
357
352
345
271
314
299
296
325
322
318
369
261
303
338
292
333
337
282
282
328
314
243
321
363
389
285
331
312
267
282
304
342
311
339
291
398
360
243
334
273
220
320
258
403
281
373
313
293
311
293
290
330
372
354
244
278
312
339
389
296
340
341
254
369
339
246
335
329
294
298
306
303
328
272
210
290
293
313
350
316
341
240
301
370
278
249
220
334
271
336
284
320
399
305
344
336
284
330
309
356
271
373
324
354
290
313
305
295
293
340
355
276
306
361
311
206
282
305
352
326
282
302
312
247
348
411
266
317
381
300
328
293
279
287
337
274
261
283
267
337
324
289
261
321
336
321
268
281
246
277
333
301
320
341
264
340
315
380
336
260
260
318
309
277
386
283
344
302
346
300
333
327
288
309
320
364
282
225
311
318
320
250
295
313
339
228
378
284
266
228
292
357
313
247
358
385
247
291
371
336
299
369
371
311
280
356
356
322
263
396
298
277
303
303
275
314
231
381
313
318
313
376
352
341
381
322
353
289
346
333
288
306
260
243
310
294
358
325
286
335
356
300
296
380
263
341
324
288
353
341
317
363
269
264
277
360
301
323
335
350
342
323
292
281
334
296
296
422
324
282
285
346
310
340
235
309
270
292
321
286
360
335
348
295
312
375
341
274
246
253
315
345
315
310
254
285
283
291
261
355
265
227
298
266
329
316
363
342
305
332
360
364
377
290
372
309
328
358
312
324
312
372
367
364
301
364
332
326
231
344
280
362
266
256
343
342
258
270
384
326
312
307
323
341
350
297
323
347
296
351
311
387
306
380
319
267
354
300
298
341
293
266
245
257
344
335
386
333
332
312
297
324
354
357
390
292
302
355
350
274
271
323
353
280
300
388
298
320
346
287
320
315
408
265
307
356
364
285
313
340
308
301
320
331
329
312
281
335
266
285
399
283
306
391
344
349
311
334
287
370
354
350
297
247
281
320
278
250
348
362
311
351
387
268
242
242
350
288
325
286
412
376
261
303
315
246
248
338
352
320
362
334
314
369
260
258
388
336
374
297
328
371
356
301
364
307
301
286
335
392
343
351
374
270
298
351
328
295
357
259
329
335
322
314
292
314
369
370
305
343
248
248
206
315
319
243
326
349
365
345
263
327
320
365
318
266
364
337
198
331
188
304
318
241
307
374
251
333
380
269
350
363
268
336
368
306
296
293
336
363
266
378
299
378
316
322
230
285
264
426
370
252
354
283
300
292
277
241
365
263
250
288
338
306
253
334
325
332
356
289
251
323
336
320
328
383
329
316
331
240
248
243
318
257
290
358
316
372
348
343
270
243
387
264
353
367
322
363
296
329
330
342
353
238
322
309
366
323
339
321
337
190
306
356
324
308
307
390
309
338
271
306
310
330
336
307
320
411
354
302
315
351
292
338
354
274
257
283
234
337
258
338
233
406
367
368
306
280
402
364
252
289
277
310
292
309
209
341
299
311
284
345
284
371
259
329
338
250
374
262
365
291
313
295
383
303
253
335
288
288
300
264
278
370
340
320
312
347
216
343
277
316
329
240
319
255
287
358
324
268
359
345
352
375
315
250
331
329
334
338
313
327
321
250
407
345
339
340
231
323
246
252
374
316
342
369
289
359
342
350
324
298
375
333
277
331
357
249
291
330
341
334
338
427
326
324
335
302
342
298
364
362
233
257
309
298
367
323
226
233
376
299
350
336
377
265
344
308
307
303
297
260
370
381
338
355
332
372
427
279
319
344
289
324
358
322
240
340
290
290
396
285
319
366
340
308
236
338
306
299
349
304
320
261
355
383
358
400
332
346
389
364
346
307
300
351
273
312
314
376
261
286
295
345
205
324
293
298
414
311
364
337
317
341
322
337
312
307
284
287
365
340
276
274
372
268
292
254
362
346
219
311
238
254
269
326
324
316
299
339
316
239
290
264
309
328
326
234
200
343
299
281
314
323
315
375
276
315
370
339
284
324
287
363
334
375
329
260
270
364
314
385
267
276
277
375
353
323
284
250
247
314
309
349
324
373
318
249
314
265
262
302
355
403
341
290
196
341
312
272
302
323
406
397
319
286
335
338
329
332
216
370
253
298
314
355
309
364
334
345
291
313
254
267
358
315
347
348
305
373
350
306
319
275
319
350
351
233
300
347
396
356
357
341
348
335
323
275
324
297
265
329
320
255
307
292
326
373
281
290
344
215
384
252
319
246
311
274
341
216
309
382
393
328
337
325
391
338
278
328
311
238
347
339
303
305
288
297
305
287
332
317
304
312
307
302
288
335
325
330
319
395
335
342
373
278
274
193
247
331
354
357
389
351
346
341
268
291
260
381
273
242
351
367
167
338
306
265
385
277
331
395
334
369
288
318
333
307
293
359
275
336
346
384
338
326
396
353
312
326
234
272
211
357
336
404
299
296
294
316
373
319
341
264
358
293
340
269
281
335
279
245
338
343
345
351
329
256
306
300
372
288
332
236
240
314
277
379
221
290
287
283
332
283
331
358
285
327
292
260
322
323
323
248
325
290
329
315
339
320
265
347
301
374
335
272
347
342
361
246
322
285
345
284
311
230
282
374
292
318
368
304
326
294
290
340
329
327
344
237
240
329
256
346
236
323
321
306
315
388
390
363
344
240
284
274
336
340
360
318
267
346
282
383
346
374
343
280
212
362
317
336
268
271
354
318
314
284
267
315
353
332
308
333
294
388
364
312
238
178
328
319
306
347
315
297
299
411
270
351
296
265
251
337
286
273
335
235
249
306
373
392
378
360
306
332
281
379
350
283
247
310
276
257
318
289
334
355
289
320
270
283
222
340
334
330
265
328
220
293
343
264
266
271
309
320
383
300
329
273
430
283
335
340
292
329
318
379
308
323
369
315
345
344
354
336
311
255
274
350
226
336
315
346
295
286
286
353
406
254
263
336
300
302
290
418
271
283
413
343
375
312
322
345
335
351
372
292
350
326
257
364
311
337
391
359
291
374
328
273
312
328
242
381
312
335
332
289
405
295
247
301
227
354
294
379
316
261
338
259
319
372
345
368
266
313
287
324
309
375
293
298
408
219
329
286
350
334
329
373
286
327
322
311
263
315
368
331
343
329
320
319
330
166
375
226
303
370
258
298
293
299
323
225
280
373
318
354
375
350
322
330
339
292
324
326
255
318
348
300
354
320
356
293
265
393
330
337
304
293
318
303
301
283
254
350
246
353
304
315
265
301
264
334
349
377
369
353
340
281
253
366
283
268
271
280
370
281
371
295
365
268
265
289
243
261
278
329
304
312
342
229
374
238
311
325
356
331
313
388
314
273
315
317
309
311
337
254
320
301
321
383
243
308
291
306
309
346
310
301
276
339
315
306
353
339
314
397
352
321
256
317
307
346
163
356
338
287
299
336
366
300
341
336
296
368
257
338
297
326
423
343
314
330
238
368
351
375
306
284
351
382
345
352
428
278
311
356
302
232
324
275
319
191
315
364
278
300
389
287
263
382
318
408
284
228
301
304
333
379
332
306
321
398
359
375
261
326
365
254
356
372
246
334
331
291
398
304
297
244
263
330
321
360
375
359
276
294
256
270
254
254
343
425
336
233
311
366
341
319
301
245
320
343
354
278
395
321
344
237
263
311
307
320
373
298
294
226
332
354
363
358
286
323
197
304
341
274
383
323
340
344
306
335
316
376
389
289
334
313
333
351
279
302
319
361
305
305
333
302
289
321
295
208
217
292
293
364
259
328
340
392
380
385
388
370
312
292
369
360
309
332
339
303
303
309
326
344
414
375
299
240
320
376
396
326
356
291
238
329
297
363
338
300
241
304
344
353
294
271
297
391
309
344
243
328
288
294
324
284
295
305
349
400
285
325
356
360
306
329
277
314
280
275
298
288
288
303
280
384
348
307
280
365
251
304
341
286
317
280
354
324
298
337
246
346
343
289
394
262
328
302
264
291
320
279
281
399
344
310
274
287
313
394
364
295
379
304
331
423
365
283
313
356
275
280
336
284
237
240
311
209
279
309
337
390
290
253
290
312
391
236
365
325
223
340
342
277
317
276
290
369
288
285
360
338
300
309
331
244
357
404
284
337
399
403
220
291
324
406
240
313
313
334
306
345
287
299
288
343
353
365
286
393
315
344
318
344
270
295
301
331
291
352
382
243
275
358
300
235
359
321
254
301
314
279
276
313
229
304
281
283
234
293
277
414
283
275
281
346
354
322
401
235
307
352
298
283
263
366
306
383
247
350
325
386
358
282
325
261
276
337
380
273
346
414
331
273
413
328
285
342
222
250
251
350
258
389
411
346
301
334
254
302
279
386
297
305
242
429
263
327
305
329
294
324
324
404
279
430
394
321
396
314
264
384
339
346
281
362
382
331
361
286
342
362
288
372
257
299
373
281
276
281
305
294
315
348
298
348
335
275
258
389
284
346
337
347
352
295
346
349
337
243
314
281
393
262
351
306
268
317
306
214
366
346
354
330
376
334
340
289
332
304
349
350
323
317
354
294
327
228
327
374
326
288
271
253
313
332
390
414
246
272
271
289
359
386
339
298
353
307
314
290
358
377
349
431
291
297
269
256
320
298
325
303
331
311
293
358
347
207
279
445
368
314
340
297
351
324
344
333
272
278
244
267
375
371
270
349
353
354
276
304
319
308
347
350
351
284
260
289
289
280
339
247
257
281
360
365
334
289
329
380
309
371
345
275
368
295
350
219
347
356
347
332
289
307
391
382
333
328
312
331
295
339
306
342
372
354
372
352
366
237
274
333
284
307
313
349
311
364
378
270
298
332
307
360
326
261
220
338
286
339
356
256
318
341
343
230
284
368
390
329
330
332
339
261
331
306
396
342
288
239
291
389
353
309
334
356
278
335
324
294
331
276
352
275
347
277
252
332
367
320
347
328
332
289
332
280
272
367
270
356
393
294
329
391
293
274
254
313
325
381
296
337
341
221
321
372
376
294
371
258
328
335
326
411
331
252
282
355
297
343
287
326
292
317
335
215
381
312
345
356
385
351
271
253
336
306
337
362
336
313
378
263
375
314
380
310
351
279
314
274
246
289
271
372
377
363
358
326
221
256
258
317
348
308
383
373
310
286
400
255
285
293
357
322
372
357
285
361
306
342
274
233
316
390
275
267
245
309
380
323
380
249
408
369
330
318
373
349
351
323
260
385
290
306
298
316
286
295
316
271
317
282
322
352
313
326
281
351
286
325
326
314
339
356
362
338
329
363
356
319
247
371
336
330
357
281
320
329
315
313
294
325
416
275
293
323
408
261
339
320
200
263
354
296
285
371
333
338
393
318
355
340
326
274
219
355
423
312
328
312
382
359
333
348
315
265
308
318
341
283
329
351
317
342
352
266
324
232
333
283
321
383
349
281
339
388
296
350
320
249
360
253
270
273
303
327
388
332
199
287
270
282
305
253
308
250
345
361
373
340
311
310
293
301
367
252
332
282
345
241
343
363
316
351
264
337
355
315
315
318
307
288
284
334
395
314
300
369
352
267
352
319
346
263
315
290
386
338
319
319
332
273
237
337
229
306
310
290
343
339
351
330
335
288
319
273
319
273
280
302
275
369
347
243
330
391
295
365
277
334
371
434
316
321
448
242
281
273
327
259
360
259
369
306
412
292
353
342
345
320
315
387
283
353
340
299
310
201
360
339
331
298
291
293
266
333
310
409
292
358
233
185
294
327
360
273
265
429
389
333
343
403
302
326
299
392
293
373
343
305
343
299
323
385
305
297
304
309
325
328
269
228
251
338
315
306
335
389
259
376
343
282
333
260
320
341
379
319
340
304
373
241
319
258
295
278
327
230
326
281
288
278
329
288
359
289
333
265
335
344
303
386
303
332
313
312
358
244
345
344
350
329
349
270
374
345
287
321
342
324
434
297
292
281
244
332
300
346
377
339
459
313
348
247
319
286
312
323
257
250
311
264
280
240
258
342
337
349
353
279
329
281
283
327
334
265
272
318
348
310
373
315
192
322
339
279
279
279
284
243
231
234
338
271
319
252
351
374
304
308
255
336
243
362
363
311
344
411
373
363
343
351
346
260
347
350
254
235
378
344
249
280
280
376
367
270
356
378
285
301
275
338
291
288
237
328
279
327
310
238
316
317
366
386
300
364
338
260
246
323
335
298
299
305
283
356
268
406
390
215
337
242
350
317
348
325
384
343
322
292
271
343
354
255
285
333
307
309
275
271
278
441
308
354
357
282
333
307
357
325
274
240
296
309
294
299
265
303
347
360
406
240
313
297
349
296
339
420
349
360
339
323
395
289
299
316
405
327
330
353
279
358
360
277
363
306
367
355
250
347
255
295
331
226
274
326
292
395
354
318
321
369
362
263
256
348
344
264
233
300
366
303
286
327
336
264
207
326
308
327
319
329
275
313
367
292
338
310
288
285
301
305
303
249
283
320
403
391
240
304
328
343
338
337
238
353
271
275
392
254
336
237
291
324
374
315
292
347
256
279
356
386
245
340
326
351
310
380
270
330
300
322
274
331
224
320
335
291
311
315
320
328
310
328
275
318
371
291
338
327
357
334
345
302
251
341
295
310
308
242
406
218
373
257
278
322
315
299
346
256
268
303
321
353
378
280
309
402
274
357
284
355
316
354
275
361
298
290
330
272
311
289
344
282
286
276
238
312
302
246
301
226
303
356
329
338
369
289
342
295
291
319
323
310
379
261
304
390
318
319
373
274
336
231
297
308
258
380
301
297
343
320
284
296
258
317
293
265
346
312
372
341
229
386
239
257
358
320
348
319
278
304
271
282
321
410
338
280
246
303
243
335
363
287
378
226
353
334
326
365
301
242
299
305
302
323
347
332
292
405
361
339
314
327
328
343
403
261
266
242
335
187
325
303
338
293
296
331
346
373
328
303
295
341
345
354
253
365
362
278
340
357
372
335
309
316
308
308
355
344
366
336
344
279
311
259
345
381
359
309
343
389
312
315
326
269
391
364
272
355
343
327
284
322
223
252
297
259
305
254
352
291
291
340
272
329
374
352
301
365
338
279
285
329
348
339
347
347
301
319
337
304
280
325
217
381
301
300
361
263
322
356
325
354
330
269
336
334
295
323
252
324
275
352
288
327
328
334
292
350
317
303
312
274
320
287
263
321
304
292
363
323
312
302
361
336
293
275
290
289
323
355
313
297
415
315
303
321
222
302
313
311
341
336
274
327
340
301
290
380
306
314
290
397
359
359
388
313
286
304
238
304
342
316
303
293
340
335
371
362
333
324
383
261
253
339
314
301
207
357
342
253
308
406
363
299
325
364
302
236
311
291
320
290
340
301
342
322
266
254
241
309
335
386
322
262
326
332
382
349
268
251
326
326
312
350
228
330
394
322
179
336
321
374
329
224
406
382
344
331
301
232
336
311
302
295
364
319
331
291
337
272
273
295
291
317
353
273
313
333
349
236
310
280
256
240
312
268
302
300
359
306
318
305
256
290
359
230
340
382
312
253
401
338
334
297
266
309
287
401
339
295
358
309
255
349
337
343
252
242
311
333
430
301
314
294
315
285
349
275
256
372
380
314
299
309
387
340
307
391
292
361
275
297
313
357
338
274
204
389
342
345
368
335
235
464
270
354
334
375
371
308
323
308
306
323
288
292
290
376
363
351
268
285
372
345
324
372
313
350
303
272
250
331
294
364
280
292
377
284
288
270
296
307
285
248
190
313
342
382
300
273
325
357
305
333
363
233
307
302
405
259
345
322
352
329
338
436
288
359
347
236
303
254
295
409
326
308
374
284
384
349
375
330
289
332
300
276
316
300
300
284
357
337
293
390
313
336
332
349
206
284
276
358
332
339
361
254
267
357
329
435
291
284
327
245
379
321
299
304
225
367
389
358
300
347
327
291
308
347
348
382
304
269
265
353
278
414
336
304
338
315
316
350
323
283
260
272
277
324
255
324
305
356
289
331
355
340
349
278
331
313
266
369
350
320
343
322
336
294
345
270
376
351
387
267
270
312
369
284
350
297
354
326
287
318
401
275
263
258
352
321
329
285
322
296
301
277
345
305
329
329
406
177
357
332
363
310
311
292
327
274
338
272
271
295
387
338
362
365
346
315
293
293
307
262
350
306
350
431
279
360
330
292
347
321
407
291
321
279
364
285
247
323
289
318
292
362
306
334
240
349
339
357
374
396
219
364
290
261
274
300
250
367
367
272
338
243
303
333
364
229
272
246
226
391
254
320
317
375
404
243
322
289
243
288
404
379
276
288
359
348
309
347
306
387
272
285
343
334
430
296
299
331
325
266
326
291
304
331
360
300
377
303
369
354
271
291
330
289
358
353
267
295
343
158
253
314
317
259
339
289
312
376
254
311
372
357
332
310
299
253
304
313
310
261
284
229
331
287
265
306
295
209
270
337
271
267
346
314
327
323
330
281
300
344
273
275
313
354
358
352
300
365
248
314
375
307
386
223
402
254
263
254
430
353
277
318
387
268
383
337
350
288
341
368
310
304
286
341
374
313
260
295
379
328
326
286
316
261
354
320
280
259
327
303
329
366
317
377
357
302
343
280
317
399
294
345
328
317
295
335
361
320
360
337
348
374
268
310
262
221
271
379
323
322
307
263
295
269
280
281
273
319
278
299
373
323
321
258
341
276
294
341
343
329
272
333
353
305
320
312
270
282
282
337
336
287
318
298
397
294
287
310
293
215
341
319
331
335
265
251
350
344
362
303
328
309
303
295
290
334
268
297
384
359
274
305
376
338
289
281
338
289
319
358
352
371
266
248
299
327
359
334
212
281
326
376
233
359
333
388
360
355
319
321
341
321
335
223
319
350
347
302
324
322
288
370
341
308
389
297
331
299
271
311
337
234
332
328
376
345
276
302
333
247
258
297
315
311
376
368
295
340
338
254
316
286
313
340
274
300
289
323
244
374
252
258
247
324
297
210
406
304
155
235
293
297
319
216
284
367
323
349
314
300
268
277
261
334
281
278
294
296
364
354
348
292
282
245
364
393
306
329
325
260
296
284
376
292
364
332
332
353
247
311
353
296
322
312
420
328
289
308
326
308
289
317
338
262
304
304
306
301
393
300
339
308
304
268
285
283
347
337
251
358
369
348
424
332
294
315
453
296
351
291
373
370
283
369
321
282
412
345
260
223
244
243
344
284
366
232
326
314
304
318
355
368
333
281
294
315
320
313
364
310
290
339
279
344
271
332
332
340
370
277
337
297
336
301
296
304
344
387
265
269
302
295
303
362
309
324
281
357
377
324
348
249
322
426
314
406
359
373
327
276
304
264
360
288
289
328
283
334
298
327
240
365
327
324
321
307
316
294
218
350
356
320
429
367
329
296
364
293
282
270
302
300
312
374
312
303
322
367
396
319
307
286
321
260
327
324
351
340
376
355
239
284
350
329
328
262
347
287
305
284
339
299
317
244
364
236
291
342
315
288
367
431
355
346
372
301
357
278
308
214
384
257
269
246
330
341
392
293
289
340
300
327
316
337
313
236
334
250
376
400
217
311
318
272
339
321
351
345
400
335
327
301
237
296
340
283
384
314
362
387
301
347
262
320
297
293
267
291
362
275
299
376
327
306
319
355
292
277
238
301
337
254
320
237
285
278
231
265
417
361
365
256
289
300
338
270
303
312
361
289
295
324
242
257
343
365
298
259
277
286
308
337
378
226
275
321
312
357
362
294
234
338
344
373
324
251
377
253
320
344
338
303
336
332
332
299
374
244
318
375
355
344
325
275
315
380
325
320
271
288
251
379
315
373
347
281
373
385
265
278
367
319
324
355
341
196
338
332
337
301
291
274
267
345
247
294
366
261
341
368
386
316
354
361
329
358
291
331
351
377
333
361
325
391
270
344
324
375
303
445
391
284
320
294
300
311
250
296
333
340
280
350
251
374
338
332
310
226
322
337
344
297
268
313
279
354
384
274
317
355
294
276
320
193
341
262
324
331
339
346
326
286
278
297
300
301
330
421
327
269
319
316
275
299
330
220
335
184
305
315
277
350
289
295
298
375
344
256
353
282
412
263
340
335
321
263
317
391
335
315
242
320
271
334
294
279
304
309
329
264
238
321
310
401
279
339
321
362
285
364
341
317
296
311
340
268
317
310
259
328
308
252
364
341
300
333
387
379
294
279
354
351
318
429
311
261
379
292
327
290
252
260
238
332
276
335
287
391
271
290
363
384
362
222
266
308
284
296
228
358
288
324
226
355
231
324
331
376
329
317
292
342
324
311
247
332
358
309
383
309
272
322
301
245
336
305
332
294
286
346
283
317
284
318
251
366
312
343
309
163
331
304
356
342
359
320
326
304
341
286
229
353
333
257
362
249
295
298
280
257
300
302
375
240
321
305
390
379
315
356
292
364
332
299
343
324
344
265
326
301
406
337
325
349
260
310
314
331
261
304
281
228
360
336
307
316
327
271
320
256
331
393
312
289
242
278
366
287
276
360
301
278
328
322
396
344
341
320
342
417
433
324
296
382
278
368
224
357
305
310
270
330
246
272
332
233
266
345
197
359
293
334
372
356
387
293
198
307
288
315
248
170
325
295
371
314
278
252
354
359
313
225
338
338
344
313
326
255
364
329
306
358
368
267
359
427
326
355
370
355
280
361
329
340
396
275
359
303
355
361
236
359
253
317
249
354
365
351
286
363
291
371
320
308
343
334
324
272
272
301
346
318
390
252
204
379
294
333
335
265
352
325
357
365
266
367
440
267
248
331
313
371
345
297
339
303
327
307
352
344
361
261
365
317
313
323
288
319
294
344
265
264
270
295
359
310
367
347
306
291
263
205
312
269
296
258
265
223
410
332
321
322
293
296
302
321
319
311
329
236
301
243
267
271
274
319
323
264
299
294
348
361
314
306
272
358
295
273
252
308
226
450
303
296
350
382
363
323
377
264
235
436
288
345
286
321
316
362
271
295
377
281
364
261
252
332
273
311
319
267
257
292
289
326
322
325
323
360
342
359
313
330
299
336
296
268
305
230
276
278
338
287
294
305
409
304
325
343
297
251
295
365
253
359
332
343
300
326
375
315
331
321
247
313
341
305
366
272
291
274
277
284
391
320
304
265
352
350
376
335
310
270
292
322
346
345
313
339
283
298
259
304
360
323
304
266
388
254
250
302
205
291
294
321
320
321
336
328
286
300
335
298
385
367
322
283
276
284
296
315
241
357
289
322
305
256
370
350
252
201
357
274
340
388
339
271
283
344
287
266
239
305
318
321
296
278
262
258
248
352
218
362
281
370
308
336
188
361
309
340
328
279
308
282
247
230
292
348
266
361
249
322
297
242
300
392
224
350
351
339
246
322
411
296
397
253
328
253
245
333
285
321
318
364
308
346
368
283
347
324
347
334
347
274
280
339
387
253
311
332
273
292
328
341
329
307
370
302
256
333
309
307
269
282
339
291
265
348
302
276
281
246
243
321
396
296
394
293
365
320
257
236
374
296
214
301
296
350
262
315
250
315
276
368
336
379
269
281
337
273
361
274
249
275
320
388
279
320
275
276
317
287
269
286
298
346
354
373
270
336
302
318
233
279
255
344
289
333
259
203
319
308
226
294
313
325
382
283
409
249
355
288
314
392
292
372
364
286
274
343
353
222
295
288
363
361
291
292
291
325
365
233
399
397
360
302
315
246
291
259
285
344
261
273
287
368
304
348
240
248
314
355
322
345
340
326
377
345
277
277
243
287
221
306
249
357
291
308
274
216
268
297
369
320
275
338
350
370
303
286
278
328
328
282
342
276
310
292
273
198
343
274
259
359
343
257
281
378
357
323
335
327
308
414
282
263
281
234
358
279
335
333
426
297
297
341
278
353
304
340
331
384
336
338
351
293
300
324
315
336
371
310
315
315
398
229
366
320
371
266
382
312
349
279
265
391
230
252
344
232
300
339
337
302
361
315
343
382
341
396
251
276
292
328
351
328
396
337
403
295
294
308
311
322
315
290
332
331
260
262
232
358
263
252
283
296
349
245
267
208
344
321
320
229
321
340
345
347
276
218
325
202
323
267
282
377
329
339
247
333
351
274
269
344
315
307
338
308
286
301
377
321
338
243
241
345
308
372
316
293
291
247
357
315
322
306
271
251
265
313
309
320
280
342
313
331
335
259
263
314
335
312
279
238
311
311
313
316
293
331
328
329
362
298
265
385
335
312
345
288
384
331
366
340
339
376
290
321
345
314
305
298
331
327
328
341
388
277
326
351
220
351
342
301
371
327
317
302
373
342
391
363
293
293
268
421
317
323
330
332
297
255
339
270
198
330
323
383
319
319
319
359
280
294
255
301
346
275
356
284
359
351
272
262
269
344
188
249
252
338
366
344
323
376
370
213
330
265
233
291
343
370
345
342
365
310
281
183
353
347
250
327
353
236
365
375
299
329
387
213
236
311
292
350
392
406
334
374
301
264
349
336
303
277
323
298
298
319
295
295
305
272
293
273
280
279
311
303
351
336
309
286
347
289
229
346
352
285
255
270
321
308
276
324
298
368
181
286
334
328
367
238
363
390
344
337
225
275
344
348
255
365
334
349
378
364
353
358
247
350
351
346
430
362
301
298
251
260
252
341
340
314
290
283
252
335
262
152
312
373
343
322
384
326
306
302
331
342
271
241
257
312
332
288
284
300
320
286
259
264
352
260
249
261
277
293
295
344
324
315
294
400
372
260
230
336
310
270
301
268
315
286
329
208
336
339
306
285
357
306
295
292
297
397
400
342
354
216
321
398
307
280
367
308
390
338
250
374
354
358
322
295
414
258
315
364
228
287
288
398
284
339
307
324
336
245
361
329
327
351
354
322
320
361
300
249
234
336
250
244
318
295
406
329
382
410
295
319
250
392
352
350
284
256
276
365
279
337
312
308
293
332
286
344
344
319
328
313
335
293
269
314
289
360
265
332
273
301
304
340
268
354
296
326
353
360
297
363
281
322
201
178
301
285
337
262
318
332
344
336
329
349
307
400
274
266
313
396
277
306
263
348
362
344
294
387
374
365
276
266
342
264
332
261
246
303
357
376
292
336
270
347
328
261
249
267
292
286
316
369
362
299
216
326
271
293
333
297
307
341
293
290
319
309
263
328
386
303
288
323
300
364
284
229
233
340
362
306
299
341
365
394
331
298
334
263
347
327
410
333
245
323
302
372
298
370
295
279
329
307
241
246
263
310
371
299
309
340
314
338
296
336
305
326
342
330
257
337
295
358
359
289
355
332
256
393
270
350
298
195
295
372
297
274
273
288
364
322
298
381
327
264
360
341
298
403
321
343
352
296
281
205
286
229
345
280
298
394
299
323
357
355
311
339
258
370
389
284
343
243
280
387
351
382
230
289
273
370
343
273
310
282
242
262
399
350
364
336
286
266
349
344
224
329
293
331
277
367
424
312
338
250
335
295
264
328
286
291
377
404
294
312
364
306
368
318
406
419
256
352
322
354
349
248
309
319
333
318
282
293
193
339
273
275
319
358
328
349
239
280
325
258
274
342
295
310
255
242
225
292
330
379
292
274
363
306
318
329
265
350
338
353
265
330
287
328
319
208
253
330
283
357
295
367
352
287
337
250
388
289
245
290
265
238
356
296
327
224
263
312
316
313
336
303
368
339
415
252
274
301
280
283
333
381
237
307
372
389
268
312
344
353
288
233
316
277
276
336
384
282
292
282
337
255
316
355
265
290
382
305
286
245
386
304
358
368
271
321
335
363
291
271
275
316
347
273
323
334
292
348
413
255
377
343
269
320
313
298
294
325
358
340
296
315
335
324
309
353
336
322
371
278
301
274
392
271
299
288
338
284
345
322
334
288
374
303
360
299
292
298
235
422
310
343
321
294
324
244
290
264
251
321
388
343
268
332
276
301
314
386
238
361
235
318
250
346
326
253
326
292
331
320
402
327
304
322
390
336
287
327
254
351
350
308
242
305
291
286
348
354
352
291
359
237
208
309
295
328
374
372
225
273
246
418
303
338
421
289
335
320
225
344
284
374
335
308
318
288
347
323
343
302
314
338
236
272
313
291
290
377
329
272
314
365
361
328
355
381
279
313
345
290
309
359
351
327
291
323
318
379
268
349
328
324
331
359
403
344
263
293
335
234
373
373
351
382
339
276
369
290
251
227
290
286
274
309
327
361
196
352
274
367
350
260
270
285
351
379
363
267
303
351
376
300
312
324
306
332
288
274
349
290
217
385
258
259
286
286
318
291
292
317
314
348
299
338
350
312
341
255
347
297
331
340
274
433
297
276
319
343
301
215
283
334
362
270
293
300
358
341
233
367
279
298
249
389
256
312
334
325
313
297
348
322
362
281
331
389
307
295
407
270
333
360
241
312
336
279
353
252
302
275
339
351
382
330
349
312
372
327
282
192
297
284
300
314
356
301
328
345
345
360
314
379
264
345
332
312
280
313
329
276
338
372
321
281
330
323
254
307
312
340
334
342
298
271
354
300
187
273
290
255
311
328
241
258
359
353
322
461
285
374
282
397
295
277
386
249
300
339
201
250
349
331
326
328
258
216
313
372
347
393
273
248
186
248
261
327
313
327
308
248
272
326
387
350
269
359
366
300
271
312
211
350
382
328
229
267
381
229
291
262
385
392
280
343
300
292
355
267
355
283
283
268
340
249
205
355
310
288
271
334
360
305
317
212
330
286
288
306
365
269
242
316
395
354
389
274
265
349
293
276
336
240
363
379
321
329
300
253
358
278
376
292
295
263
296
264
367
300
253
261
355
342
317
230
337
381
244
347
326
349
341
265
326
267
291
361
363
398
276
277
268
295
355
255
359
344
301
386
291
315
299
358
339
351
325
294
245
269
273
324
338
291
330
313
326
286
369
340
265
342
349
395
290
238
343
219
262
330
340
388
329
299
324
300
278
357
382
289
291
288
355
223
314
314
345
245
339
315
393
291
360
349
287
315
290
259
414
309
228
339
310
420
308
281
335
252
329
257
368
283
273
303
296
342
280
259
366
339
370
269
274
335
323
344
352
389
310
303
257
349
345
251
296
300
353
335
235
363
246
341
236
326
293
239
396
338
273
263
342
211
309
344
311
272
359
380
273
275
265
282
415
285
422
278
284
217
266
305
334
233
274
347
256
287
279
352
344
279
294
292
286
304
292
285
364
317
254
319
375
320
352
309
333
270
321
258
324
344
256
262
364
326
288
237
244
271
325
253
339
320
374
290
284
243
216
317
304
344
294
325
291
305
369
353
292
284
233
260
251
344
325
338
329
307
349
333
285
344
397
306
286
350
333
299
314
299
274
350
328
263
338
384
308
376
265
268
357
239
285
327
270
300
288
394
265
328
325
225
284
318
333
327
282
350
334
316
227
358
328
275
364
319
274
260
312
358
330
357
278
374
307
316
336
353
300
327
359
282
382
358
330
282
377
335
331
334
294
264
378
339
439
413
286
330
325
323
354
297
328
300
310
302
293
288
376
334
280
297
233
322
301
233
341
355
272
326
301
348
328
328
313
315
391
285
291
349
393
329
361
295
362
236
370
317
339
288
383
312
243
265
266
260
393
312
392
320
272
302
300
374
309
261
342
239
308
322
287
286
321
220
316
322
373
342
385
279
362
284
323
354
284
357
266
271
357
324
338
420
355
282
288
324
230
290
334
182
385
258
302
342
261
246
271
329
367
263
378
291
272
273
322
237
257
331
291
399
319
268
360
392
358
366
360
359
310
244
366
394
338
358
377
275
308
327
307
252
328
382
333
358
244
246
336
300
352
280
239
308
404
366
288
269
254
318
325
358
293
330
318
337
348
299
361
205
349
258
331
363
352
379
295
325
278
381
340
293
396
355
327
317
319
375
279
271
395
279
315
332
364
298
355
284
288
268
252
335
197
343
360
381
249
271
351
300
325
357
343
274
266
308
273
329
307
346
384
334
270
292
320
338
284
309
309
256
314
251
382
302
326
292
322
373
261
249
353
384
353
304
316
373
304
314
282
302
329
276
323
300
371
345
294
353
226
241
321
370
397
389
335
263
306
357
302
328
345
390
340
337
390
299
401
323
366
301
374
256
383
262
312
259
399
335
333
258
377
381
366
379
283
365
320
358
358
271
291
393
406
339
319
303
345
359
262
374
306
353
365
350
309
303
376
265
393
352
309
283
283
215
270
206
280
312
323
348
276
294
319
392
293
265
303
331
289
352
334
284
329
356
368
294
336
355
231
332
347
302
350
345
257
418
385
372
353
283
343
347
293
277
274
340
353
222
286
358
276
396
270
270
373
352
379
345
390
329
329
298
359
339
242
260
325
335
326
306
307
303
281
307
320
295
334
296
314
301
247
346
281
256
349
268
353
255
252
293
289
279
280
317
313
396
280
273
249
301
272
352
328
342
328
340
312
214
290
305
311
406
374
310
336
317
372
213
342
283
302
281
211
274
387
279
283
346
369
260
275
335
327
328
301
343
327
365
380
290
343
326
322
289
218
291
291
264
304
320
292
229
359
298
346
336
304
249
325
374
247
333
343
306
367
191
317
336
302
266
353
298
330
311
290
334
356
324
329
334
338
276
353
339
269
331
337
348
406
271
397
306
327
333
316
270
346
333
381
382
267
349
307
385
332
296
322
317
360
371
324
347
300
221
307
270
351
327
275
347
244
331
258
292
309
252
347
358
288
339
201
246
303
261
322
349
319
302
336
320
276
274
286
296
274
351
426
253
350
314
266
393
284
202
275
393
211
272
345
355
316
274
286
274
268
367
288
320
272
288
277
359
276
231
364
262
296
284
279
248
360
255
273
361
277
262
301
312
318
359
397
356
359
413
281
342
382
335
348
335
356
360
327
402
305
360
238
429
373
385
356
421
309
328
367
287
289
294
348
350
297
267
362
293
236
313
334
387
276
357
259
321
291
313
251
358
356
283
272
325
316
259
246
303
288
320
255
343
268
237
255
378
306
301
319
335
248
290
302
297
281
439
346
295
269
383
421
298
329
283
290
301
381
305
283
308
339
361
382
368
251
309
278
320
292
372
280
336
357
283
239
286
355
357
321
314
295
266
340
336
340
292
350
353
281
338
325
426
390
241
310
279
303
283
212
286
288
201
296
373
306
350
301
367
373
387
377
311
263
320
307
296
319
320
316
278
377
277
314
340
336
309
327
332
324
371
271
305
303
329
327
372
254
252
338
393
393
261
258
242
328
378
338
348
371
329
269
262
303
299
329
295
364
338
341
331
373
346
325
270
307
307
342
387
279
338
242
312
352
330
394
326
306
328
353
349
422
304
294
278
346
231
292
291
413
364
373
327
273
327
255
342
321
276
324
267
376
397
319
341
313
280
350
224
377
328
258
315
365
314
280
284
309
378
308
295
255
350
384
288
232
373
309
322
353
313
329
350
315
326
317
319
378
254
345
344
309
329
340
343
339
340
275
315
296
262
344
288
339
258
284
297
301
371
378
314
346
309
294
261
274
338
264
250
271
359
268
332
272
299
325
274
310
316
262
313
317
267
317
310
275
318
262
342
315
254
306
356
343
219
394
342
375
266
343
346
378
347
305
239
327
324
336
318
356
299
239
380
377
188
352
274
294
357
315
298
304
350
291
288
273
321
363
373
255
308
304
369
309
211
285
353
268
411
315
327
372
388
363
346
357
316
269
303
376
305
330
268
293
304
362
289
284
317
301
366
283
281
370
329
407
308
332
317
261
284
307
264
382
340
298
340
330
318
307
273
375
344
396
310
321
335
298
237
295
310
361
296
281
273
408
333
328
302
246
291
414
287
373
299
246
339
360
257
288
349
249
383
276
339
329
340
281
351
348
288
272
336
325
345
282
363
248
384
318
217
274
336
303
334
306
306
344
371
351
304
391
289
302
331
277
338
320
271
396
339
357
387
325
204
309
274
288
258
315
267
285
262
303
263
361
394
268
325
275
237
331
316
293
318
356
302
330
291
323
347
321
201
243
298
250
359
351
314
309
361
303
355
334
255
223
308
298
449
303
318
294
363
323
275
280
334
297
217
324
288
333
307
339
320
278
318
392
254
323
290
308
328
209
308
292
244
348
309
342
318
308
362
315
330
382
383
321
336
370
240
223
274
267
378
346
403
301
324
275
357
316
326
426
238
268
322
170
361
277
283
266
426
275
288
366
333
364
311
331
261
318
341
223
284
250
330
270
316
288
332
349
310
393
261
312
371
331
233
316
345
320
313
322
400
316
312
293
339
349
265
280
271
327
334
209
281
341
263
353
261
279
311
247
329
327
310
358
290
408
300
309
351
316
303
357
358
324
309
289
353
376
286
324
312
359
349
361
376
317
364
305
285
250
370
310
294
383
269
338
381
285
306
326
324
267
276
325
315
331
375
263
323
326
302
339
294
387
352
320
339
293
287
289
357
316
329
314
356
229
275
267
300
391
270
291
324
356
326
327
288
286
253
366
314
331
270
327
351
288
341
279
344
309
330
305
390
290
353
273
431
283
338
313
290
369
301
377
329
319
381
294
322
353
251
311
421
373
275
238
341
200
374
368
265
365
403
334
320
335
327
329
381
285
288
345
404
181
261
340
353
403
384
229
295
317
230
365
378
329
264
337
279
299
281
288
365
257
281
338
334
216
276
380
311
321
281
272
323
288
271
393
367
306
324
344
313
215
334
333
347
197
318
319
335
355
233
245
332
342
325
270
348
366
370
399
385
256
370
297
279
271
330
351
360
371
298
442
287
237
263
245
391
281
378
302
298
301
322
346
280
280
343
241
351
366
303
359
284
308
327
331
379
364
327
381
323
236
304
308
273
343
290
307
365
281
325
373
353
177
332
375
273
309
338
281
356
262
224
305
359
301
347
348
352
230
308
364
313
267
321
264
326
323
323
322
357
294
384
248
400
341
349
337
321
337
320
262
236
381
283
244
342
353
353
264
356
305
322
339
346
241
356
339
371
343
321
332
254
270
387
294
323
272
400
332
361
253
382
259
332
367
308
329
326
394
280
286
350
301
353
289
363
303
319
297
319
322
292
260
304
302
389
381
312
307
317
348
311
255
364
253
351
395
279
286
251
381
355
284
317
361
369
286
299
259
327
432
289
319
296
347
285
288
311
267
342
374
293
232
325
314
271
312
317
327
340
325
358
351
291
287
327
393
365
427
407
284
299
240
300
273
287
341
313
283
247
288
297
365
362
258
329
310
331
325
329
339
389
310
359
324
344
371
255
347
365
311
268
322
240
357
277
358
318
361
332
384
284
396
303
345
336
239
352
275
260
295
301
290
304
353
328
289
376
277
345
252
336
294
276
370
241
256
301
263
318
363
332
345
268
328
303
242
309
299
255
253
327
372
344
269
265
330
308
383
363
325
299
267
289
294
316
290
269
293
339
295
309
328
335
317
259
352
281
294
308
344
377
315
350
278
337
244
275
401
378
307
371
371
263
243
274
303
322
397
258
345
374
412
243
364
332
246
219
253
358
358
259
348
278
299
346
359
285
280
265
286
328
282
230
405
287
310
279
332
276
253
321
279
256
220
345
268
422
312
302
262
373
308
251
278
259
211
359
326
330
310
304
396
318
279
352
303
334
260
313
330
397
342
398
305
326
326
244
322
284
223
376
319
276
353
330
324
348
252
319
311
303
305
340
292
336
217
280
378
307
367
305
402
293
334
256
344
290
227
269
275
272
327
319
306
351
359
253
313
321
313
270
217
283
300
319
332
363
328
344
393
371
307
361
356
288
273
343
293
366
338
323
336
392
365
288
253
364
344
333
266
410
398
396
310
325
376
283
279
292
314
250
312
249
269
360
336
412
345
306
285
333
373
381
312
370
318
407
295
269
332
275
341
333
345
326
335
259
409
253
342
294
298
268
283
274
383
281
411
302
332
299
344
231
261
334
346
366
313
294
352
358
311
354
361
356
284
303
370
307
275
256
412
334
316
270
308
346
270
309
369
344
310
270
336
321
315
302
328
320
265
376
397
350
318
272
301
315
287
311
296
314
257
292
235
316
328
334
352
350
406
367
250
345
361
335
321
365
304
379
278
339
204
264
264
290
318
261
376
352
301
282
355
317
359
228
370
366
324
205
235
351
333
348
287
295
308
281
270
344
376
296
298
302
274
306
311
324
336
258
229
348
323
343
300
255
300
319
223
400
323
301
324
195
253
300
368
358
345
205
346
343
350
356
267
337
305
289
294
274
275
186
303
252
280
286
335
363
322
226
301
241
246
360
239
243
380
324
324
365
348
343
308
374
191
281
389
274
270
310
357
279
306
357
313
316
289
323
252
333
343
309
291
346
318
313
347
282
360
295
271
343
297
309
372
311
332
339
337
307
188
317
363
307
319
304
293
351
273
271
280
305
282
294
285
233
350
294
344
330
382
227
373
377
221
323
290
301
298
333
314
280
255
327
234
297
332
421
372
260
329
316
347
268
340
236
251
371
365
343
308
334
366
336
315
323
327
318
203
277
251
327
381
342
231
327
306
347
306
276
328
311
297
355
323
270
362
286
281
400
228
298
323
277
325
244
296
282
386
303
338
290
265
245
361
227
292
371
392
327
285
317
340
277
342
307
259
269
308
348
321
288
363
372
304
322
361
324
362
350
387
278
259
342
337
325
341
309
333
396
294
301
268
332
415
316
322
341
387
313
326
301
411
379
362
333
333
287
306
333
360
270
297
360
320
356
365
316
348
365
372
362
292
352
291
313
278
296
311
360
242
307
327
303
279
329
252
356
328
256
390
328
274
309
348
332
224
317
375
350
334
408
256
352
312
241
371
312
311
433
380
382
288
306
299
283
305
224
316
378
329
285
352
221
338
343
313
304
286
323
270
320
367
308
247
325
340
259
299
323
263
256
319
304
294
229
287
338
332
235
393
337
242
380
306
284
195
304
288
346
272
363
293
348
221
292
316
327
318
306
348
280
296
305
272
315
323
237
306
352
261
355
346
273
300
297
266
318
316
317
253
300
319
308
306
331
271
325
294
321
245
415
238
281
249
321
306
366
277
342
219
342
383
357
288
324
320
259
325
284
266
350
374
359
228
326
378
353
257
256
339
337
289
328
267
382
329
354
356
338
343
382
329
288
329
412
291
345
344
302
365
272
305
308
340
210
249
289
274
334
354
266
309
338
254
304
316
307
274
261
327
263
323
315
317
320
278
316
275
338
326
270
320
330
301
283
417
380
278
281
290
346
341
262
359
298
318
400
328
394
347
310
372
291
370
328
262
261
339
310
269
267
300
359
341
307
263
314
362
266
312
298
340
285
334
263
271
285
315
359
336
262
301
323
392
390
246
245
369
375
395
253
298
181
312
245
300
319
297
262
342
385
203
213
398
292
343
287
221
289
322
333
325
293
341
261
283
343
294
284
304
300
258
332
399
383
306
422
267
287
374
287
315
278
332
288
246
212
293
281
365
438
375
336
311
342
248
333
346
342
197
350
311
323
293
337
295
341
352
251
370
301
249
353
263
362
334
329
338
411
229
297
338
268
278
282
329
292
311
249
303
291
303
326
350
244
244
334
377
311
298
339
295
283
334
256
366
316
257
261
376
324
315
317
327
367
376
231
343
318
308
336
350
304
303
364
327
192
251
363
318
318
303
246
297
259
317
294
305
315
319
357
294
337
317
265
286
287
292
326
320
412
243
277
235
267
300
253
430
309
339
264
306
341
281
326
259
306
341
283
310
309
334
279
358
246
353
348
375
316
322
343
286
298
311
309
381
328
272
318
347
298
214
254
309
327
239
210
299
353
279
310
322
370
354
363
196
306
355
361
369
327
314
307
352
307
312
264
273
309
298
385
309
293
372
325
312
298
284
309
319
320
316
261
288
366
316
351
249
319
389
260
331
359
304
363
392
309
356
314
353
257
439
277
293
328
266
291
276
375
308
357
374
295
286
347
371
454
312
334
367
353
314
300
254
252
386
335
368
206
301
318
267
375
332
340
314
351
302
280
346
355
314
346
340
303
339
343
355
241
373
243
321
358
253
305
274
394
313
307
256
278
316
286
270
335
306
251
248
278
286
290
253
303
349
324
297
368
277
409
321
306
391
304
343
286
368
252
295
332
256
300
356
300
296
281
334
313
272
277
261
299
333
336
257
284
320
326
255
309
282
230
304
383
359
238
231
380
365
275
310
337
379
298
261
382
316
361
258
282
296
339
292
324
359
242
305
321
277
275
336
237
319
347
340
307
391
388
290
253
333
339
383
360
316
365
288
263
341
252
354
246
354
300
336
303
343
322
283
271
332
312
361
332
365
349
408
312
317
322
345
334
323
330
273
263
299
222
309
344
289
350
263
325
219
330
302
342
352
366
355
200
218
385
355
253
393
310
301
312
321
255
244
374
312
324
315
287
313
361
298
348
352
249
366
311
311
272
339
343
388
265
289
371
315
320
326
416
352
304
402
329
316
354
255
325
322
304
289
251
326
320
344
225
358
377
355
368
323
332
318
351
298
346
253
357
213
364
265
275
311
367
336
308
325
344
290
267
339
268
292
327
263
308
281
305
356
309
295
224
246
353
309
310
339
353
382
298
308
245
346
267
311
328
292
303
272
293
336
251
302
226
372
297
352
301
378
380
292
343
373
341
340
276
332
317
283
263
348
356
287
293
362
320
372
387
301
349
295
336
254
349
304
317
288
323
350
269
337
319
397
298
190
266
349
342
277
288
364
336
266
292
334
360
284
319
278
290
291
242
375
343
208
277
173
292
281
300
362
231
287
251
340
282
350
331
311
344
279
253
311
335
282
344
353
311
316
307
258
296
380
282
289
250
380
307
330
360
253
244
354
303
335
291
363
312
324
287
340
297
368
348
307
357
390
322
314
284
345
285
334
311
245
365
344
331
369
337
340
288
260
346
272
332
278
320
353
319
292
283
253
350
296
249
385
276
285
291
366
323
316
257
263
266
307
355
273
263
255
341
291
317
303
249
349
384
355
275
246
307
286
335
314
306
334
366
294
296
296
416
353
283
307
357
288
346
339
326
265
268
305
342
356
380
331
250
415
303
351
183
315
363
399
320
381
347
311
351
260
281
287
309
349
306
268
241
328
350
283
281
272
342
326
292
296
306
354
322
249
315
317
310
345
380
363
318
371
335
298
339
327
308
343
312
248
351
206
300
303
291
333
365
311
288
387
260
341
343
313
283
243
286
294
344
329
263
236
266
320
344
271
293
331
294
302
365
314
338
324
314
297
321
240
328
303
246
334
321
224
322
366
256
375
340
270
339
222
308
353
297
335
357
292
259
323
297
307
289
350
285
210
301
171
297
385
272
258
328
375
309
323
340
304
340
329
301
278
317
325
356
269
253
302
289
357
326
317
297
340
279
320
302
288
357
355
302
379
280
369
302
294
301
325
284
264
376
309
346
329
253
236
339
361
327
356
303
404
392
333
300
313
254
236
288
248
237
321
288
218
298
327
375
301
301
236
288
366
311
365
268
343
324
311
398
333
317
285
236
307
383
362
382
220
229
261
395
384
348
359
266
243
407
256
274
310
298
335
326
347
293
248
371
343
256
364
334
339
238
313
286
354
329
311
272
258
249
309
254
360
248
253
295
262
347
380
312
338
395
344
322
369
228
390
317
371
234
311
382
298
329
353
322
216
303
269
277
336
291
362
249
341
264
318
320
248
313
270
312
344
342
367
301
306
353
268
429
318
359
306
279
249
285
352
256
285
373
359
321
302
327
276
273
279
332
287
343
267
393
318
276
250
313
297
377
336
325
241
390
343
279
281
302
360
271
317
310
324
348
296
333
375
243
295
301
225
337
257
279
315
296
234
317
275
302
350
309
303
276
231
297
320
314
265
393
307
288
310
326
408
346
287
335
329
258
350
347
331
252
308
298
224
275
308
321
272
332
337
300
257
301
214
323
339
333
366
270
232
281
354
248
347
260
327
241
281
304
242
272
298
361
365
247
393
386
288
382
309
387
263
302
243
320
302
276
308
273
289
292
301
315
317
338
254
321
344
286
325
373
280
262
335
389
229
335
380
236
305
234
331
280
289
282
333
297
278
305
365
356
336
303
280
281
350
243
329
299
304
310
347
312
347
374
301
383
337
290
340
265
384
247
260
239
282
275
403
315
231
324
245
307
263
316
349
321
328
336
323
297
328
307
336
306
308
391
366
351
310
322
246
288
280
365
167
249
332
311
294
290
267
334
299
337
293
340
300
335
250
327
346
377
322
229
303
287
375
303
254
326
294
319
321
260
349
399
314
321
297
321
333
367
354
298
304
392
270
246
344
258
347
243
311
289
279
338
273
326
351
222
313
275
286
210
355
315
288
245
317
372
354
275
339
336
248
272
248
358
229
218
368
331
266
286
392
311
274
268
322
352
243
213
267
294
384
373
329
304
300
335
323
300
305
251
242
330
364
313
320
317
323
354
301
381
324
405
274
362
286
359
303
322
324
315
275
361
383
275
377
294
321
296
376
289
344
344
303
351
276
346
333
320
281
268
348
328
333
282
271
361
371
299
361
289
341
314
394
364
317
302
334
267
345
380
211
349
266
393
329
332
261
254
322
332
299
341
358
234
316
330
232
273
322
370
324
321
321
298
248
301
328
278
325
292
226
300
388
317
273
330
384
304
282
235
365
267
329
281
221
287
331
301
339
346
308
303
340
344
310
297
340
340
275
229
370
406
218
230
251
327
337
297
342
327
284
356
350
352
275
260
341
296
278
227
245
329
350
279
318
317
300
277
351
295
318
321
389
399
313
331
360
247
274
351
296
235
312
338
367
361
354
278
275
259
314
311
255
255
293
316
343
344
394
280
298
360
397
365
300
324
178
350
238
222
309
349
285
360
369
376
404
344
320
204
297
228
370
367
308
280
372
253
311
245
326
355
221
295
300
294
387
309
284
330
243
263
338
224
393
309
376
333
364
267
351
297
271
287
339
361
344
275
324
375
318
266
290
354
288
298
290
317
279
391
277
229
316
357
333
287
399
367
307
319
363
385
292
342
355
361
315
321
340
302
317
375
364
342
366
214
424
366
362
322
361
334
229
358
303
243
287
348
364
315
342
313
355
275
366
331
330
350
308
325
333
309
231
289
365
335
332
358
312
264
321
302
367
283
307
341
349
348
349
326
323
344
354
330
366
300
285
323
309
303
307
321
286
344
340
365
358
384
316
343
368
305
344
300
329
289
325
389
330
312
350
388
333
317
336
305
229
326
353
367
383
264
355
386
303
321
349
227
291
372
362
240
296
331
217
239
264
343
248
292
367
340
288
277
401
391
273
275
270
310
258
273
305
337
316
344
255
365
243
290
358
367
344
304
323
286
288
296
274
325
357
363
331
378
347
342
284
326
340
384
333
357
383
317
333
312
265
349
381
369
391
388
274
377
334
307
325
361
248
349
322
284
326
255
369
296
284
293
351
297
334
352
266
352
327
356
350
334
211
345
344
334
309
266
320
354
344
298
366
211
287
364
299
314
292
370
361
460
155
296
232
343
360
313
351
258
302
335
282
328
329
408
258
255
206
356
321
329
381
303
295
380
332
350
378
339
264
307
426
420
320
370
323
264
348
267
373
316
330
298
301
299
269
388
320
353
308
334
357
319
363
201
386
199
314
253
345
278
321
303
333
297
329
254
251
300
422
356
322
308
277
330
245
238
360
370
242
284
261
354
306
360
266
250
246
330
265
221
366
317
411
306
359
393
329
290
221
308
273
329
402
296
346
224
309
323
272
344
365
362
380
334
328
399
329
235
390
259
407
293
350
231
361
340
224
298
311
289
304
286
326
333
317
290
277
354
394
331
380
414
332
322
270
304
363
323
280
403
293
281
288
329
336
296
402
317
288
243
313
235
288
312
353
257
259
322
322
318
318
327
278
280
360
307
316
267
293
373
229
264
264
321
298
277
344
288
375
308
359
315
331
270
307
328
333
315
330
358
425
329
309
299
296
276
254
352
349
286
283
294
359
336
361
299
393
323
308
270
330
295
218
320
249
323
251
282
233
342
292
356
253
380
317
384
348
329
280
360
310
363
291
223
341
371
367
395
405
296
375
365
385
394
344
394
296
267
279
368
362
324
247
369
330
324
332
314
312
297
331
295
297
387
333
392
349
350
329
282
407
386
335
376
294
380
328
331
299
310
347
300
305
230
286
323
348
239
331
416
294
324
299
292
309
353
275
269
379
258
277
339
306
248
281
358
305
307
336
292
303
381
332
327
298
359
281
335
326
341
326
271
301
282
242
252
260
262
234
215
272
250
384
251
368
339
356
337
264
262
365
345
389
275
365
245
334
351
258
401
291
261
250
355
350
212
300
328
359
298
251
285
312
266
248
368
316
323
281
326
379
373
351
283
329
303
245
349
252
338
297
333
303
292
381
329
314
276
335
344
303
313
304
237
282
279
315
332
328
353
273
420
323
324
332
293
243
241
297
275
306
344
335
343
276
271
267
396
374
292
286
397
289
249
309
309
302
303
277
315
359
340
280
338
301
377
305
313
362
288
235
309
291
305
253
318
306
364
211
272
259
409
288
261
306
217
319
262
346
290
279
348
311
268
366
245
313
324
289
296
374
372
412
283
316
399
277
391
284
330
252
312
368
249
334
287
234
340
364
333
381
299
298
297
327
153
281
286
369
333
268
282
312
365
333
280
326
326
317
325
319
305
382
353
387
309
326
319
356
391
265
356
330
400
325
279
268
267
235
341
267
372
323
312
372
372
323
368
323
387
317
386
275
311
369
243
244
290
222
305
324
330
374
324
344
318
261
347
323
399
305
276
325
328
340
326
333
361
314
276
279
331
350
327
281
283
306
311
282
374
375
318
334
293
320
293
239
384
267
367
378
362
284
286
287
302
343
375
300
309
349
266
354
319
309
243
271
283
293
373
289
348
269
274
322
333
289
315
255
297
339
365
314
297
247
277
207
317
311
365
268
344
241
336
308
297
305
346
369
251
311
323
294
261
313
418
294
403
357
320
415
315
259
310
278
362
334
346
307
315
269
322
299
285
283
289
389
318
305
346
316
358
358
340
361
371
309
322
259
362
314
396
355
332
306
301
302
376
357
303
290
330
294
291
298
327
277
335
295
340
372
357
326
238
314
312
366
347
339
305
291
340
331
179
287
246
371
308
364
296
317
248
381
307
395
255
250
259
365
304
307
256
361
280
334
305
310
227
288
312
343
372
270
314
375
351
345
286
349
260
290
355
303
380
346
288
362
303
301
302
308
340
338
252
319
397
312
261
259
263
313
288
375
385
370
400
354
346
347
218
334
288
287
367
329
309
404
301
308
262
362
278
290
374
258
276
301
307
345
392
302
294
382
342
357
345
261
314
423
274
333
326
263
311
300
255
299
331
312
336
273
330
264
411
264
350
291
288
244
349
223
318
331
306
352
231
384
318
340
317
264
293
382
391
244
292
441
305
322
242
349
282
350
362
342
409
261
260
235
304
293
392
282
291
314
367
371
332
378
311
279
304
310
349
302
298
251
292
329
254
235
270
345
319
297
361
241
257
384
431
284
261
295
333
334
269
394
370
378
313
337
323
319
253
264
257
309
326
207
334
333
310
352
342
263
355
287
246
304
406
283
288
303
290
286
304
296
358
266
320
387
359
319
281
225
355
274
361
293
339
362
312
304
247
405
377
279
225
152
293
290
319
311
374
326
270
289
295
354
309
316
206
341
310
245
343
322
378
287
276
266
329
224
371
319
270
365
331
285
316
359
466
318
333
332
287
249
362
230
329
270
333
326
293
344
282
280
327
310
366
331
274
364
289
328
269
258
348
322
293
273
438
284
330
287
312
285
341
281
271
323
348
246
312
284
368
333
283
283
253
249
262
332
338
310
331
301
276
278
383
341
351
298
354
287
381
265
227
366
331
289
302
328
277
359
341
314
248
348
318
238
310
319
233
336
331
390
207
312
355
306
335
328
267
357
374
253
354
289
306
305
299
306
309
331
293
402
327
322
284
301
228
369
296
395
240
329
327
300
362
245
301
314
364
343
377
238
329
396
314
347
394
288
297
302
382
345
298
376
341
298
357
361
342
338
342
417
248
328
298
309
318
318
275
308
257
309
286
344
362
292
334
365
219
358
268
232
325
346
255
350
286
262
337
262
263
312
246
303
397
354
272
328
316
284
274
359
314
298
278
311
286
396
271
340
344
336
317
308
303
344
262
354
315
347
361
337
342
352
263
283
328
272
289
370
316
308
260
321
208
168
294
227
332
336
280
276
340
267
293
345
372
270
301
304
319
318
279
358
393
306
327
364
250
356
306
352
329
291
242
310
380
405
249
291
327
291
243
341
257
240
283
351
257
289
353
244
313
314
384
353
279
324
273
340
397
343
224
319
288
361
316
284
269
297
435
287
343
312
320
296
377
344
321
322
341
346
311
388
317
276
303
343
328
292
305
374
291
272
320
252
290
331
251
368
332
336
404
343
363
359
285
306
357
331
310
300
196
253
326
280
358
276
275
295
341
358
308
291
353
323
316
281
312
340
339
314
322
267
277
333
362
281
364
352
340
345
399
365
331
339
350
308
327
316
291
371
311
355
237
250
327
293
312
256
387
330
373
332
253
336
270
319
248
383
367
375
300
259
358
291
295
399
319
334
361
287
280
281
305
317
282
324
271
374
296
308
332
286
323
256
342
307
290
345
292
208
315
304
290
325
379
285
292
309
327
262
332
339
259
308
281
236
274
296
288
351
361
244
334
359
274
229
272
259
388
384
321
295
307
244
304
321
327
290
304
258
339
273
215
367
230
313
292
333
294
304
352
320
339
358
283
312
300
409
320
293
358
300
367
331
324
330
345
302
381
337
346
343
351
318
341
366
300
252
352
324
239
178
385
283
286
348
384
316
367
355
331
368
251
330
246
346
356
270
331
254
329
244
339
222
302
262
291
283
348
251
326
310
302
289
264
304
331
327
263
375
334
340
318
286
332
373
332
324
211
429
286
353
247
319
283
392
310
283
279
170
412
358
329
237
343
289
314
324
387
308
271
281
288
346
384
207
271
270
266
349
293
349
193
359
337
374
304
306
315
337
275
290
282
386
363
272
240
321
258
360
386
424
363
429
270
306
300
336
309
292
338
411
368
323
296
296
328
350
331
300
378
313
367
314
294
258
208
341
283
282
338
331
370
305
301
242
358
349
319
261
337
313
276
253
333
325
266
292
319
264
203
386
296
293
296
342
332
406
325
247
377
189
326
259
368
361
324
263
370
303
254
349
335
381
347
353
321
265
319
342
352
319
321
347
252
270
354
320
263
353
356
345
291
416
386
243
382
202
177
333
303
294
263
280
360
252
357
265
333
302
377
271
299
271
335
315
265
386
214
328
325
333
405
371
353
329
316
329
339
273
286
346
274
282
342
372
340
289
342
291
273
276
302
288
360
337
304
245
346
312
279
328
340
339
263
312
288
331
291
317
360
358
359
327
284
346
336
383
306
340
294
306
388
259
320
302
332
208
351
314
367
219
370
262
310
233
313
373
310
339
300
337
366
364
329
375
360
338
328
341
197
288
295
342
303
277
269
261
338
332
371
266
279
289
348
315
329
377
333
313
387
278
274
339
300
266
302
406
259
289
384
358
337
303
363
256
362
290
318
331
364
221
302
346
240
352
292
372
303
253
355
280
297
334
242
324
345
342
298
318
277
317
274
410
344
299
338
288
360
341
255
245
353
376
220
317
413
342
319
241
325
336
321
319
278
306
333
357
362
374
285
265
263
389
285
308
373
325
305
290
307
302
307
340
297
403
273
349
349
279
307
265
352
363
345
315
269
188
243
323
353
314
297
244
321
301
348
331
320
286
277
298
303
308
350
289
336
396
376
333
261
301
432
374
340
326
451
343
270
285
357
339
291
312
244
350
345
340
272
291
284
344
208
367
366
322
348
284
239
355
402
343
314
228
313
375
219
278
362
351
221
312
354
412
282
334
357
286
275
325
335
337
337
279
352
317
324
348
318
274
333
340
252
278
364
407
399
326
274
411
227
299
339
405
371
309
414
195
333
323
395
304
330
301
377
270
314
314
311
333
322
347
312
305
290
344
363
311
307
272
176
272
263
323
411
292
277
333
310
313
361
323
296
343
361
296
392
249
280
306
274
295
336
303
352
297
395
371
298
347
228
371
304
310
376
354
288
353
320
253
260
242
283
340
302
288
320
319
291
375
383
265
295
290
283
298
316
361
344
362
301
312
259
362
310
335
313
287
289
352
290
292
367
343
278
348
378
331
283
323
309
321
330
331
287
311
264
306
322
338
270
279
330
330
351
237
257
258
354
295
333
367
285
365
341
274
288
372
305
351
337
368
309
310
259
299
356
339
238
299
343
243
361
278
282
319
296
296
325
361
415
344
314
300
242
344
281
353
309
338
322
292
337
280
338
361
255
348
295
390
314
340
336
268
345
310
343
248
342
377
297
315
282
237
322
394
294
307
339
373
335
310
274
352
225
293
263
358
307
311
285
335
332
326
297
284
244
311
292
182
219
345
297
265
345
322
375
275
318
330
356
230
319
283
292
340
368
309
314
305
369
377
227
228
349
329
288
298
320
396
314
330
265
334
299
367
348
322
222
345
354
332
315
331
349
322
327
330
415
305
298
294
256
360
274
307
313
341
378
317
311
393
379
355
285
360
338
237
221
373
314
329
297
320
338
353
299
277
355
339
339
241
253
306
291
291
320
351
322
351
298
333
301
352
336
253
325
216
289
395
324
306
293
365
389
355
230
260
279
375
268
269
281
270
339
290
266
356
239
252
323
301
288
379
308
282
315
363
295
225
280
300
291
377
428
270
273
262
304
324
262
349
308
366
344
266
315
316
295
358
320
239
342
357
274
302
350
251
322
334
409
350
280
368
334
368
318
362
297
270
423
341
311
381
315
242
248
338
312
287
298
298
338
275
370
292
384
236
324
259
284
318
299
290
281
284
291
310
350
338
320
356
396
319
260
285
317
263
261
351
300
288
258
291
276
331
364
328
293
314
285
283
336
308
344
317
328
298
317
304
315
279
364
248
268
339
258
278
369
344
340
338
270
314
338
299
354
348
322
305
355
297
327
291
332
331
344
404
292
294
316
355
284
347
342
235
352
301
310
337
302
273
342
321
265
345
312
355
290
354
304
331
331
360
381
277
316
362
292
247
303
428
359
249
301
408
304
354
182
276
392
353
234
327
333
352
258
260
278
239
362
335
235
297
285
237
280
366
333
326
275
314
255
326
376
280
362
333
273
213
293
244
329
350
364
306
376
354
194
346
343
243
335
278
418
317
323
359
368
303
345
328
340
302
283
311
350
331
309
323
318
315
225
285
320
280
252
297
344
423
202
251
382
334
313
329
299
293
306
215
314
262
328
360
304
388
282
367
316
299
316
333
370
393
260
379
208
345
322
373
317
369
319
301
302
354
314
314
259
334
296
299
329
329
233
206
337
318
356
319
282
353
367
288
290
297
292
301
309
263
369
349
298
277
306
388
313
280
337
297
364
327
283
416
284
381
283
222
302
250
366
340
326
353
287
318
273
273
337
268
362
266
292
325
321
340
381
284
304
402
349
310
276
366
315
313
365
342
267
239
335
336
357
351
272
361
241
354
254
415
273
235
311
323
292
397
336
308
280
383
352
297
326
316
315
267
288
373
335
278
261
332
256
228
362
256
306
398
345
347
269
359
300
306
303
415
288
405
322
238
339
250
319
318
290
307
315
296
308
256
332
360
342
392
277
298
353
310
352
374
321
318
289
289
251
366
336
298
270
385
298
261
292
407
362
231
307
340
230
295
313
320
397
354
274
268
389
294
394
330
364
311
265
347
320
311
275
365
344
353
262
250
281
240
289
241
328
224
293
298
315
276
361
288
240
380
377
299
359
321
292
288
278
321
317
319
307
261
337
290
261
297
246
309
276
313
226
330
376
291
385
306
291
413
263
279
300
279
243
330
328
295
329
375
246
283
287
334
299
358
296
314
347
368
318
342
311
278
335
244
308
287
313
335
314
297
303
272
336
282
320
300
327
300
351
338
312
332
319
285
325
298
309
297
293
383
298
290
347
308
251
265
282
347
319
319
365
295
364
244
310
362
326
257
253
353
396
389
413
381
280
327
336
369
359
348
266
321
316
232
382
367
311
356
304
191
279
317
288
211
339
347
317
376
368
267
310
314
267
291
377
294
391
342
337
327
329
323
271
347
326
264
378
340
250
373
332
282
310
375
312
294
366
307
291
311
346
291
249
369
273
320
364
308
390
329
287
288
423
341
296
328
298
278
324
287
251
267
275
368
324
417
383
222
301
241
313
381
339
281
312
372
384
288
312
337
293
325
230
323
327
333
309
335
330
392
328
369
323
325
307
351
290
378
335
369
287
313
398
371
339
261
323
309
343
308
295
343
311
393
266
326
338
306
269
341
298
370
369
326
331
277
344
321
306
327
302
399
330
236
285
350
325
292
362
407
345
257
301
340
308
283
307
350
352
320
350
337
266
315
366
355
367
250
342
375
323
263
344
333
254
279
350
311
266
356
396
359
255
266
298
345
374
263
289
304
208
349
264
217
326
298
294
348
421
288
329
316
370
346
378
319
321
254
284
305
297
360
322
401
365
291
322
365
228
277
354
307
357
362
315
312
343
367
265
381
294
403
271
259
318
325
302
397
283
285
244
353
344
356
339
310
377
190
289
262
258
321
340
339
286
353
292
366
310
310
272
352
314
375
330
342
399
285
347
354
341
349
368
286
228
325
357
294
229
299
265
286
351
388
300
370
261
267
358
422
291
234
370
336
366
261
234
276
328
367
383
281
327
277
310
248
329
301
303
246
336
370
288
354
232
255
329
379
250
301
278
348
345
395
339
335
396
339
369
300
363
319
307
338
289
363
303
290
288
255
350
283
327
286
343
247
334
332
404
338
394
268
366
315
319
287
209
288
336
353
305
337
284
272
308
311
355
332
358
379
383
271
250
311
218
303
269
359
244
303
329
363
384
292
295
298
266
312
331
296
260
352
271
365
275
326
313
237
299
283
391
292
369
369
304
351
332
274
396
383
330
275
289
346
338
368
344
307
289
355
323
335
358
382
276
391
309
374
258
316
317
372
358
337
380
330
302
336
393
311
275
298
276
256
329
327
275
337
393
343
269
319
265
299
364
405
328
339
343
309
311
394
308
330
367
253
287
296
376
351
331
274
252
338
293
325
418
283
309
298
312
369
411
290
338
311
380
282
357
301
313
339
230
339
353
384
287
368
297
337
286
326
280
305
328
201
242
238
287
275
379
250
296
248
272
333
342
245
354
356
352
267
301
331
356
294
242
329
350
284
377
357
310
362
312
420
380
273
279
251
214
290
339
316
364
259
328
344
358
336
254
346
350
321
321
189
324
357
321
312
298
254
248
412
285
276
305
266
270
346
296
350
326
289
259
265
291
308
374
262
278
424
346
282
376
301
279
341
282
439
405
405
384
316
286
346
243
295
290
320
278
272
349
350
327
281
335
276
337
333
302
323
307
309
301
309
347
348
308
364
326
297
329
355
303
329
341
254
308
356
363
333
330
361
283
309
303
307
298
308
349
352
371
252
339
346
319
344
261
337
284
250
277
338
346
281
367
259
316
300
368
310
313
376
339
209
394
309
351
332
328
324
348
281
347
246
412
340
294
404
240
365
321
298
287
284
340
302
258
330
359
315
261
268
288
277
288
329
336
349
266
360
328
197
286
281
253
294
285
295
342
242
310
285
288
265
344
332
301
335
400
356
377
339
237
370
344
319
274
293
318
320
317
372
328
326
236
342
268
410
350
302
279
291
268
258
287
325
360
374
291
333
341
255
309
383
340
333
298
322
357
277
256
404
306
350
356
386
322
373
252
273
308
369
335
252
271
326
373
307
319
309
344
264
243
256
278
319
339
294
292
266
372
320
261
289
295
281
360
363
361
370
352
407
259
341
349
310
340
255
327
382
320
372
294
342
365
308
309
324
350
387
289
331
310
309
311
287
290
317
295
361
296
338
393
284
310
323
300
269
315
283
307
315
293
311
272
285
369
316
305
300
302
278
299
369
359
359
417
301
268
340
214
297
350
315
272
337
335
399
290
291
302
328
305
349
331
402
260
395
230
275
276
326
370
276
321
358
269
307
212
348
203
327
259
318
309
325
314
361
261
332
321
209
362
313
330
363
372
344
316
380
378
336
324
339
271
296
332
293
403
268
376
250
343
292
324
275
250
306
316
361
331
304
333
275
307
341
347
267
367
271
358
353
342
307
326
312
392
384
324
284
270
254
290
254
254
274
425
294
396
389
291
352
306
269
390
266
317
352
309
321
349
369
213
279
267
306
326
321
400
358
338
206
305
310
262
335
293
255
384
291
299
324
344
341
334
231
316
293
349
317
330
314
265
312
289
258
281
258
382
322
316
301
302
326
342
376
341
334
340
417
350
244
265
245
341
409
323
321
276
343
233
292
364
240
189
209
307
313
374
315
371
318
289
231
290
341
423
340
255
308
316
286
316
308
322
249
343
267
325
318
379
374
307
319
274
286
310
228
214
300
341
284
353
302
307
308
346
315
330
365
292
309
307
310
275
376
277
302
283
271
289
369
339
275
373
336
331
276
288
337
387
330
249
317
327
285
268
315
228
258
285
342
373
304
384
266
276
294
344
319
280
241
380
201
348
275
270
339
276
263
385
300
289
249
238
334
315
318
341
313
313
294
238
369
340
317
334
336
376
355
277
347
245
369
338
296
319
324
260
277
277
294
322
336
195
245
365
342
396
285
332
339
286
373
332
299
315
322
320
360
226
261
352
330
340
347
336
324
325
305
271
295
331
358
235
257
305
313
324
333
288
431
267
272
377
369
331
354
325
338
296
369
251
344
359
293
271
348
345
261
369
352
266
325
317
271
374
308
252
450
349
308
293
305
254
280
344
268
341
336
366
309
319
374
363
352
328
363
275
326
252
273
264
288
347
303
254
303
326
308
284
252
307
363
309
267
324
398
338
349
286
362
331
319
363
290
371
319
332
319
286
323
330
371
329
312
250
298
257
275
362
267
290
306
309
281
353
262
320
318
304
366
357
216
265
372
372
299
312
337
225
268
303
355
303
341
224
306
324
334
251
339
318
307
297
305
386
365
391
320
326
255
295
317
308
322
283
331
323
252
380
369
337
280
338
259
330
200
300
373
281
345
361
324
405
319
373
296
299
287
323
308
450
295
292
295
413
321
360
426
345
374
294
324
292
280
356
312
338
393
300
405
364
258
326
329
265
280
310
315
398
214
338
337
347
426
304
350
286
337
306
336
347
279
266
358
283
344
371
288
358
355
336
308
355
338
310
191
392
337
375
306
346
317
309
295
380
305
286
365
351
355
303
273
196
287
279
251
271
384
290
290
393
234
338
353
351
355
306
353
365
350
409
288
329
280
237
342
310
290
374
278
287
275
357
370
285
249
293
317
344
253
324
276
346
303
383
318
350
382
293
322
275
361
319
340
323
365
246
317
247
367
290
322
297
242
333
298
335
338
356
301
327
279
302
339
313
232
361
252
364
324
312
293
321
297
207
366
313
353
318
241
272
384
353
269
241
339
339
309
300
354
298
378
284
238
402
348
231
351
368
277
329
193
293
321
328
387
286
348
286
214
368
373
304
312
320
280
265
319
309
273
340
342
254
173
259
362
291
367
364
284
278
376
355
377
350
310
267
330
286
252
292
306
272
283
372
294
282
358
255
226
317
313
346
242
326
306
350
303
300
288
311
417
323
340
275
359
373
282
321
264
253
303
379
322
307
295
293
206
277
340
322
325
310
222
322
295
335
347
278
329
331
305
280
299
309
273
362
296
320
313
396
402
334
297
349
325
243
314
279
310
246
314
368
281
327
181
270
339
315
267
319
326
317
279
323
349
225
376
291
296
323
398
293
347
278
251
292
254
305
338
351
328
240
393
231
391
341
350
269
305
354
354
293
323
287
231
286
309
342
323
323
320
326
337
270
315
351
318
335
340
296
287
317
332
262
322
305
420
286
358
380
341
312
296
342
311
359
353
271
281
367
331
259
369
242
317
282
289
264
231
314
338
294
353
312
322
327
281
212
373
246
365
283
272
345
348
308
348
268
316
328
356
330
337
298
296
291
346
425
353
308
271
223
317
312
316
263
327
315
338
311
395
335
281
265
279
365
289
339
336
268
260
370
269
289
307
366
303
291
366
238
329
217
301
333
274
321
343
282
384
328
304
266
321
342
278
331
358
345
277
306
343
270
312
313
322
303
223
341
318
321
305
218
312
262
299
273
318
336
318
340
288
325
283
295
344
325
380
284
237
295
271
284
312
376
347
346
307
338
322
325
398
289
330
247
322
231
290
325
249
326
284
320
321
320
263
304
333
381
337
302
367
344
332
314
312
318
296
225
289
273
289
299
299
228
337
311
242
289
359
268
311
357
269
354
239
327
290
330
314
405
383
312
232
302
321
271
324
326
320
317
367
335
331
358
348
354
316
316
281
301
385
248
373
383
304
322
272
318
299
363
321
294
342
239
287
297
276
452
265
331
319
381
253
223
344
360
340
298
384
280
310
243
321
281
328
389
289
339
363
358
387
369
212
334
317
302
275
320
305
231
231
229
290
289
328
367
319
306
328
268
365
285
431
381
384
289
328
284
316
297
338
277
363
228
338
388
290
386
374
314
283
334
354
331
338
231
352
314
233
320
307
352
314
365
254
386
285
301
205
320
299
287
373
347
371
319
358
381
297
404
253
377
336
292
335
378
351
260
304
287
359
285
330
247
322
357
301
339
352
329
317
313
280
296
274
289
311
323
298
293
322
350
289
264
400
350
233
276
283
338
262
351
368
280
363
296
223
417
355
397
297
362
341
325
329
372
320
299
232
307
341
237
359
248
373
394
274
315
342
315
284
288
301
258
346
447
334
304
306
332
323
317
280
284
293
326
369
308
275
354
349
323
213
265
331
335
346
295
364
301
396
310
313
367
296
311
288
365
262
233
359
266
331
308
320
275
429
323
348
328
267
225
235
251
286
385
342
316
278
291
298
397
354
208
361
250
324
216
301
311
245
320
321
257
276
286
342
264
282
298
259
330
331
260
303
339
343
257
350
338
315
358
356
352
374
374
344
417
382
321
267
324
262
341
408
274
257
311
274
325
327
322
298
367
308
318
261
341
249
248
287
335
319
343
371
286
360
203
340
390
382
298
333
212
368
291
290
291
263
271
285
325
223
316
292
244
344
291
378
262
301
284
339
274
341
291
346
365
301
348
304
287
260
372
314
358
228
355
312
349
322
335
181
288
289
285
192
320
361
346
291
330
280
301
273
246
350
291
266
309
314
371
276
318
401
245
374
388
265
366
306
351
311
317
326
236
270
334
269
320
363
324
454
334
269
320
304
328
314
376
422
374
328
290
301
300
354
387
305
299
307
347
242
343
315
347
275
285
250
301
334
298
318
272
277
318
300
330
348
302
266
366
361
394
240
358
330
287
360
341
276
319
255
366
279
330
303
258
299
341
363
404
270
310
388
277
255
313
356
302
260
344
337
358
312
283
352
213
305
316
292
331
333
295
345
295
378
346
295
343
265
308
349
343
275
213
349
332
331
339
343
353
371
290
440
266
321
288
252
276
230
289
297
310
247
342
272
302
327
342
257
340
315
265
352
322
337
334
338
303
339
310
330
293
304
285
395
309
280
278
247
318
231
283
388
412
302
262
396
382
347
384
359
389
340
368
360
322
299
329
296
314
245
307
353
312
305
236
281
308
263
368
304
343
301
342
259
260
319
276
286
354
332
349
287
345
331
259
342
330
357
364
315
356
238
321
321
397
343
380
288
331
335
365
309
286
342
313
347
363
326
263
270
357
344
271
313
319
291
308
287
309
319
397
327
239
296
334
239
372
252
296
270
285
337
279
341
333
259
357
313
374
294
321
338
333
358
297
365
298
297
310
286
255
284
367
323
286
260
269
307
372
294
280
269
337
239
380
283
295
274
350
311
231
322
247
363
204
248
310
300
232
320
333
370
344
266
264
338
287
353
308
326
327
289
255
385
346
421
400
320
294
281
293
303
322
310
296
344
327
334
354
356
348
332
342
254
365
284
350
309
345
360
339
353
248
380
279
361
255
314
277
204
260
300
262
279
319
241
279
288
331
296
334
242
315
342
308
290
315
359
283
332
239
342
310
335
291
369
233
312
310
281
279
289
311
274
222
330
315
317
402
379
262
366
347
285
332
321
346
338
380
327
323
248
341
302
305
370
363
380
302
303
338
288
370
363
280
322
343
312
318
373
259
319
330
323
282
311
274
373
362
351
218
331
279
268
322
230
333
273
352
298
346
271
241
331
320
303
302
336
309
341
317
347
292
284
321
390
311
362
309
320
303
230
333
251
326
266
368
339
314
290
355
292
348
382
304
431
280
293
286
344
434
391
361
303
320
310
250
262
305
368
269
352
395
306
341
377
345
283
308
399
250
278
380
233
371
246
326
367
326
316
436
299
315
316
305
307
292
310
334
337
428
287
301
227
313
342
283
321
300
312
270
378
319
300
226
396
328
323
264
326
272
396
293
328
277
265
327
305
276
351
364
299
395
295
349
325
356
371
340
282
275
294
311
246
272
360
278
339
267
280
315
327
350
356
351
363
321
333
318
336
335
347
305
278
290
355
280
304
289
333
325
360
313
286
289
396
399
348
301
357
319
359
293
352
238
334
383
324
348
316
372
345
280
308
353
260
325
368
354
392
346
309
335
312
305
393
330
301
318
293
298
322
328
347
332
325
309
344
271
277
415
357
346
315
355
385
346
259
257
331
318
251
287
283
311
317
324
225
398
305
257
283
306
275
312
323
360
357
223
316
392
320
247
328
312
407
321
261
350
304
361
294
298
248
318
252
286
379
329
334
372
294
235
351
325
319
355
344
296
359
273
261
324
252
281
348
281
338
305
346
289
296
313
326
292
232
337
292
336
310
272
340
386
267
389
290
253
296
354
304
358
273
306
309
293
311
284
311
331
358
282
354
332
237
293
277
348
280
336
234
338
290
292
334
384
336
276
321
353
361
241
266
343
383
306
333
306
277
406
325
296
307
356
274
261
262
295
303
303
305
280
309
279
294
227
285
286
290
339
377
359
389
308
315
289
255
352
320
342
332
337
326
264
218
323
337
356
310
258
392
324
342
319
283
330
311
302
347
255
266
360
299
298
304
339
378
344
330
296
263
290
292
285
265
279
304
308
307
322
345
332
311
344
317
358
292
281
228
388
386
281
349
366
308
330
336
286
225
339
212
359
382
310
338
357
259
381
304
325
280
296
348
375
352
368
336
353
297
317
359
286
329
288
293
276
265
259
348
327
243
335
280
327
316
285
325
274
335
366
342
300
265
307
322
345
322
354
310
269
321
314
274
341
266
286
313
257
283
355
317
333
259
266
390
337
379
301
317
264
345
328
291
340
371
310
288
353
270
374
311
300
256
329
365
345
298
365
337
332
302
284
317
317
307
363
315
267
293
350
349
297
318
318
357
227
282
391
286
268
361
325
295
299
315
302
312
374
301
285
326
388
365
320
347
275
315
260
271
296
303
240
365
299
294
326
278
263
386
428
366
325
388
396
333
214
321
333
291
279
339
390
297
342
307
312
330
281
269
283
366
235
278
346
383
333
319
221
381
292
295
315
268
249
294
287
340
310
396
319
294
324
325
343
358
295
313
385
290
318
324
240
346
364
298
328
272
388
234
229
336
293
370
272
284
343
234
207
293
279
352
331
333
327
295
347
288
310
285
332
312
312
327
243
312
295
299
323
278
347
310
289
376
377
337
316
369
296
339
372
382
327
352
299
271
279
382
384
268
304
301
300
271
337
274
325
352
302
310
243
313
290
368
287
304
257
315
333
408
250
318
354
296
280
416
280
273
359
332
267
373
346
255
384
324
302
365
328
289
340
311
294
325
338
291
312
254
269
352
368
396
316
381
315
285
293
387
311
279
375
249
341
290
272
315
345
324
309
300
367
368
372
265
326
293
252
336
301
283
381
359
309
320
329
281
347
254
328
226
297
363
317
328
297
249
271
351
393
376
295
280
311
324
223
238
333
317
339
275
285
355
319
349
275
348
346
360
372
396
295
361
323
315
208
351
289
302
306
363
238
378
322
309
283
320
265
347
368
277
336
384
307
335
344
334
325
249
389
271
355
346
289
377
311
344
290
267
289
324
375
390
338
291
267
344
329
347
357
306
277
345
318
280
296
293
315
241
285
322
289
379
249
330
277
284
278
261
219
246
291
325
368
329
373
230
271
306
274
317
255
290
244
336
352
349
319
252
274
282
304
294
238
329
238
319
351
304
284
300
276
339
294
321
357
239
304
322
338
265
310
269
241
315
319
323
341
331
317
308
247
331
333
366
267
365
226
197
253
303
310
324
288
336
331
274
368
306
300
289
391
291
384
340
396
328
282
283
354
311
303
368
305
347
322
339
327
303
323
309
333
346
200
321
323
267
349
403
353
252
332
341
312
237
325
321
335
256
349
313
274
349
395
310
320
269
361
354
358
286
353
286
349
282
384
397
313
349
334
281
326
296
256
297
330
364
358
239
324
296
300
327
291
326
331
375
277
291
257
352
214
245
289
241
327
326
241
229
307
328
267
356
264
303
279
227
347
262
362
317
249
315
295
314
283
334
389
275
325
290
333
265
292
279
297
320
311
392
320
268
318
315
217
228
431
367
364
285
263
245
346
295
354
282
292
297
255
234
305
392
297
336
301
324
247
322
404
288
305
248
316
312
242
272
326
346
298
339
276
249
316
220
315
313
359
251
380
348
335
358
413
364
323
289
295
271
294
354
329
274
283
343
301
290
275
258
335
257
320
365
335
401
347
287
290
325
337
289
337
262
310
319
333
382
288
316
372
392
337
341
318
311
235
272
271
345
340
296
381
274
242
314
298
417
350
319
355
333
303
329
327
284
354
328
263
295
294
273
305
323
289
323
285
294
263
302
358
280
230
219
294
291
242
285
346
397
231
312
338
284
357
301
318
308
367
393
289
406
252
252
308
367
304
342
306
280
300
365
273
373
346
339
305
282
345
308
268
274
363
246
333
277
314
364
331
320
268
352
278
246
387
221
366
322
379
260
284
371
313
306
349
310
259
324
279
331
333
387
313
289
297
373
327
367
390
264
313
307
232
367
389
353
280
301
298
257
263
300
247
303
337
393
317
369
231
297
395
328
388
309
320
281
356
327
303
378
327
315
378
332
341
396
313
357
311
279
324
338
319
309
229
385
327
372
274
322
321
323
301
384
349
325
316
379
350
312
330
316
260
248
318
371
331
364
391
305
292
314
269
245
335
350
302
230
282
335
317
243
368
226
327
352
363
272
341
251
293
368
290
306
318
310
380
331
222
304
361
373
321
354
253
346
300
234
345
318
282
324
370
381
332
284
294
360
323
384
325
291
297
345
348
420
299
286
342
324
308
222
286
328
311
332
252
357
316
342
334
255
357
210
279
272
413
388
316
291
296
350
339
308
341
313
422
272
312
351
313
283
262
313
304
338
264
319
254
337
291
306
318
238
316
345
328
237
277
285
308
353
241
297
350
385
381
358
280
346
355
279
300
351
287
349
366
361
265
240
276
342
280
308
272
372
291
323
256
222
358
274
369
272
312
310
313
314
345
322
319
339
269
247
226
307
213
290
338
241
310
283
339
419
298
252
295
332
307
323
348
207
266
248
318
359
302
356
348
350
380
255
418
252
351
341
291
314
334
308
317
342
286
323
258
328
306
293
354
318
363
337
289
335
316
296
323
281
241
296
324
324
374
370
244
356
354
322
249
303
283
235
334
320
296
407
355
315
336
326
269
178
210
302
278
288
344
275
235
296
303
324
333
317
361
384
269
272
314
344
322
436
257
361
296
286
370
299
366
354
311
282
228
304
237
315
316
252
212
331
293
337
406
277
240
293
327
314
289
282
336
293
299
325
267
361
341
311
275
261
320
270
420
359
195
353
291
219
271
295
342
350
349
332
321
304
340
376
280
338
282
361
307
208
297
345
277
316
215
318
276
329
328
269
321
403
320
280
266
290
242
247
250
251
247
390
389
273
279
267
254
381
323
288
291
329
363
372
346
345
328
404
294
336
296
326
279
288
316
353
332
302
235
306
304
305
216
213
330
324
255
254
383
215
350
282
348
258
316
379
307
334
314
349
256
354
379
311
284
304
259
379
226
343
304
278
290
352
336
290
310
240
360
284
339
379
375
261
239
291
305
380
379
363
198
177
298
240
266
321
264
389
318
306
315
340
335
296
430
334
232
353
331
265
279
327
247
299
317
329
287
347
362
231
344
405
310
291
335
354
337
334
384
346
290
378
302
367
359
347
303
284
355
265
292
321
330
290
312
338
302
380
349
359
332
301
409
358
251
287
339
250
321
311
332
301
323
334
272
257
345
261
324
366
260
302
433
299
344
296
227
289
329
296
355
312
316
311
321
381
391
330
269
257
311
311
314
343
280
348
302
380
300
241
338
347
327
253
275
357
349
356
361
297
303
347
317
346
302
225
220
375
285
284
314
294
317
233
365
343
283
316
333
241
293
313
248
262
317
312
317
239
307
269
315
383
352
328
366
286
285
316
354
207
273
284
308
355
379
292
341
335
313
360
260
339
360
251
336
329
284
325
338
259
275
274
446
365
279
184
351
291
240
381
340
337
374
247
345
324
381
329
288
371
298
386
285
361
234
367
289
303
341
347
320
292
356
344
361
305
330
297
242
247
348
349
321
337
328
318
324
290
327
290
302
359
373
310
231
284
226
416
265
292
340
348
245
308
342
258
319
316
396
313
383
258
365
296
293
274
299
383
270
281
323
287
290
320
404
293
329
356
332
310
252
337
359
363
372
328
356
361
362
242
281
343
311
291
358
345
295
371
299
221
288
271
276
282
284
347
324
291
239
337
349
309
302
326
298
316
298
240
255
399
273
250
313
274
279
284
255
337
338
332
203
306
294
333
267
318
248
378
337
316
270
303
330
321
308
336
353
254
329
401
337
267
375
228
332
256
352
312
328
269
382
273
283
340
325
360
218
350
358
314
256
269
258
439
333
394
366
336
304
370
257
351
288
333
270
297
285
336
287
323
377
252
267
266
310
241
308
299
313
273
254
270
316
362
310
335
306
372
312
351
290
313
304
339
303
338
328
343
372
352
358
262
319
309
157
341
321
291
317
272
303
320
264
257
352
320
221
295
284
344
264
312
316
284
333
312
250
368
304
315
333
304
365
347
307
284
351
315
324
312
388
226
315
342
344
341
335
303
260
228
389
316
298
337
371
334
308
375
322
299
301
336
359
330
222
264
325
303
276
348
440
306
343
294
383
355
320
319
363
350
350
273
399
311
286
297
329
369
300
377
290
319
351
265
307
311
316
271
294
344
338
294
280
432
291
348
365
331
262
306
337
318
355
315
286
285
410
354
257
259
308
377
323
307
286
337
262
304
292
395
292
310
351
359
217
337
297
287
285
306
355
364
274
279
337
324
248
297
340
310
359
320
295
379
243
292
320
340
296
296
370
395
352
309
320
379
317
296
352
377
350
239
191
383
334
247
337
350
382
301
229
356
351
365
314
312
321
347
333
336
412
313
304
368
293
355
328
328
341
373
227
369
251
295
282
366
310
344
281
307
300
331
264
280
294
361
337
266
309
271
359
308
293
366
350
360
258
307
326
329
327
370
294
305
387
285
273
279
333
402
333
317
259
307
333
290
402
256
322
345
290
288
339
186
274
306
284
293
404
328
327
326
295
273
356
326
288
335
210
292
266
406
326
392
260
374
381
368
288
312
341
210
281
331
275
341
346
270
282
309
348
282
277
300
333
325
384
262
364
312
268
284
189
247
286
282
326
233
262
333
303
292
388
323
330
352
334
236
307
316
281
289
289
274
273
349
325
263
358
294
375
362
265
350
385
419
317
353
356
302
313
258
429
332
318
354
245
227
326
287
303
235
337
251
337
355
258
193
359
293
324
324
321
362
229
349
280
342
380
334
344
366
270
265
344
315
299
307
347
354
338
284
297
295
273
330
318
319
346
249
327
393
379
363
336
278
355
300
339
304
294
219
252
359
331
302
216
222
364
242
362
314
286
301
348
302
347
320
406
345
345
340
271
258
363
346
382
310
328
339
322
313
343
285
382
312
384
320
276
358
339
352
274
341
360
354
319
214
244
308
290
306
288
329
327
375
327
378
326
370
318
274
328
326
286
378
254
397
306
336
360
315
304
336
275
279
329
269
351
365
328
289
346
348
269
309
353
303
238
340
267
367
319
241
294
284
364
262
401
392
284
342
303
241
309
336
230
302
330
335
345
301
391
231
266
360
258
394
340
370
235
292
283
301
310
347
345
193
325
324
305
396
305
316
305
339
354
305
296
323
325
332
208
298
337
343
316
260
248
356
375
314
343
347
328
365
379
324
295
271
302
285
344
253
292
341
332
301
340
326
299
374
252
338
350
370
342
342
283
384
317
241
321
339
364
425
313
310
324
338
222
402
378
247
364
266
321
384
298
352
334
285
369
218
375
301
363
378
291
326
378
237
263
289
378
289
292
278
348
310
368
366
298
292
311
334
374
269
247
367
376
319
326
310
359
302
297
325
370
284
349
311
406
328
295
315
254
341
360
372
333
391
301
285
316
267
257
348
353
299
250
323
409
361
369
318
298
281
219
371
330
354
231
228
326
316
315
283
319
358
265
320
321
316
339
275
354
324
312
397
332
299
305
365
338
344
346
351
280
348
309
357
343
293
307
306
383
256
316
306
297
377
300
325
311
312
342
262
376
372
402
271
347
290
324
261
247
323
263
220
228
352
286
277
280
272
373
322
285
349
326
322
283
360
304
320
375
367
315
318
377
349
300
271
269
339
326
334
326
300
305
348
329
273
348
278
308
298
343
292
340
313
364
286
391
366
322
262
316
280
295
325
283
278
274
352
252
414
319
220
295
353
324
321
293
404
317
328
351
368
279
362
298
258
297
336
387
336
325
332
347
308
232
352
247
268
286
321
327
342
403
297
374
315
337
376
334
338
367
379
312
306
251
336
342
242
337
313
237
301
309
251
283
327
402
364
339
329
249
271
302
292
345
298
340
338
362
336
294
314
351
288
331
233
308
387
274
254
348
315
322
371
284
370
228
295
334
347
321
353
303
308
317
295
341
316
369
296
322
329
306
237
371
306
388
292
303
269
356
273
342
332
210
263
348
280
350
354
247
356
321
324
310
314
279
280
235
217
317
364
370
299
332
281
317
285
244
231
360
336
383
293
282
294
344
309
257
387
299
335
334
340
267
344
313
321
282
362
338
301
244
223
368
264
336
254
390
269
354
302
300
340
301
342
303
263
357
315
306
333
444
306
310
286
331
362
363
310
289
278
309
320
315
281
299
371
349
312
298
339
405
362
266
251
354
334
347
292
371
341
303
394
377
392
305
288
305
326
350
313
249
281
333
318
318
309
278
355
298
314
275
286
359
247
254
339
332
320
256
340
343
318
367
311
318
338
349
326
256
312
319
244
323
355
282
297
378
328
260
248
330
345
349
331
342
293
320
357
340
312
340
308
283
342
200
364
287
218
334
307
292
322
277
292
350
323
309
297
185
327
333
344
383
316
289
362
287
265
284
284
299
378
303
257
288
308
323
311
318
325
326
271
358
307
319
320
395
247
307
251
349
233
279
350
290
274
276
297
316
299
262
303
302
347
357
303
320
314
280
392
425
333
261
379
245
337
271
338
299
311
294
292
337
375
280
227
335
294
349
332
286
357
284
301
287
267
285
311
344
160
291
377
361
251
258
276
283
294
258
283
266
353
361
345
351
330
199
358
256
311
276
307
275
238
396
366
319
275
271
313
213
327
271
279
291
340
259
249
304
367
340
324
399
357
326
306
294
293
322
290
304
208
332
267
349
319
340
308
327
329
281
241
327
320
327
348
351
368
368
225
392
266
290
301
354
353
281
273
298
314
341
260
350
297
313
340
399
256
367
289
325
292
401
245
265
378
319
299
292
377
326
281
346
318
306
345
199
269
239
240
287
278
252
348
243
265
251
345
272
252
294
253
308
402
259
282
259
338
293
323
297
314
363
304
359
311
328
360
308
263
323
289
330
315
321
288
364
399
272
414
290
364
308
335
315
271
298
319
353
260
321
284
327
366
222
386
293
314
292
269
290
300
309
304
408
304
379
332
288
285
254
216
305
279
304
333
222
293
308
385
279
297
311
369
375
305
263
283
243
324
341
347
341
354
319
263
321
264
345
290
412
280
271
386
337
220
304
314
294
272
264
265
250
259
338
373
340
348
336
369
342
312
248
364
293
336
357
262
217
415
372
315
317
373
302
250
324
320
312
414
306
355
311
298
302
373
252
300
314
277
366
334
252
293
292
332
250
316
358
288
275
245
255
335
334
274
403
323
292
298
382
325
298
293
390
327
352
243
296
203
373
315
342
355
333
283
276
325
292
449
364
331
341
379
304
351
341
309
419
343
307
357
315
277
240
356
329
361
355
384
384
325
311
258
306
345
310
301
276
309
314
309
318
277
271
365
276
357
353
281
240
316
262
303
326
341
300
320
385
377
238
300
284
368
289
277
262
307
248
327
353
392
295
321
337
276
402
280
289
397
343
314
363
301
362
379
264
288
369
289
273
287
321
294
338
304
380
271
362
253
289
360
312
269
261
286
384
339
259
340
327
318
377
274
287
316
274
325
364
323
334
347
349
370
334
281
328
333
329
296
319
319
350
412
345
408
340
319
314
320
245
344
353
303
300
350
296
225
332
376
367
363
403
381
404
238
295
308
363
202
279
351
356
334
260
335
276
225
340
365
375
331
305
365
283
350
229
380
252
284
379
323
291
327
282
284
291
376
331
347
273
350
268
319
338
338
350
321
407
258
401
338
288
312
334
351
250
400
239
346
322
355
353
349
292
318
298
456
297
278
294
329
304
310
239
295
303
355
341
315
228
280
445
307
313
309
289
273
290
351
334
297
395
288
389
290
330
306
361
359
326
341
359
316
318
341
288
318
331
332
391
289
296
316
373
349
326
314
332
335
294
325
330
294
305
237
284
278
321
365
397
292
236
258
357
343
283
344
385
397
365
333
376
328
336
265
358
333
257
255
297
389
301
399
319
271
332
278
237
240
331
239
391
290
244
357
311
385
416
367
346
400
328
377
317
401
310
352
286
326
315
378
311
379
286
286
318
369
307
368
311
323
358
289
346
247
265
323
308
370
316
388
352
353
371
375
367
392
371
315
306
373
264
318
331
276
336
301
348
232
236
315
353
302
295
307
365
340
281
282
334
296
280
289
347
316
361
342
343
311
328
222
398
316
265
210
291
396
308
325
303
300
342
327
262
342
341
345
278
402
195
332
327
293
353
315
330
365
411
380
286
364
319
322
359
297
328
258
388
390
340
332
336
369
354
294
271
333
320
311
246
249
249
369
254
289
321
276
341
274
364
284
326
400
277
352
374
310
371
311
332
279
305
298
335
335
255
336
310
324
403
377
303
297
291
282
281
430
319
322
331
289
312
231
327
242
316
353
331
353
334
264
309
319
347
253
317
313
343
355
293
283
293
218
304
285
260
321
393
287
258
229
357
295
360
335
307
296
396
372
330
363
311
349
267
348
319
236
267
338
351
234
280
376
357
428
249
361
311
275
286
318
292
236
304
342
291
394
354
346
376
292
282
253
359
358
253
365
360
398
240
279
329
333
356
313
289
393
312
363
386
271
331
348
251
266
322
345
276
387
279
362
371
345
301
369
266
344
351
288
332
298
267
408
294
283
338
323
263
378
300
359
283
243
385
312
340
282
248
270
421
231
294
325
276
267
285
357
341
277
345
364
289
339
328
264
354
327
371
346
273
352
315
334
305
381
289
284
376
208
455
230
414
360
329
300
230
281
309
350
301
338
394
318
278
273
319
320
369
323
289
276
306
342
311
307
184
341
369
250
337
431
267
355
334
327
311
343
426
320
334
248
278
283
336
401
325
287
297
368
338
337
302
237
347
354
252
301
235
295
310
336
385
206
308
358
384
308
312
301
300
286
384
375
266
331
323
252
289
340
315
373
274
260
383
325
320
320
360
342
299
255
290
324
299
212
321
232
342
221
315
283
332
343
383
325
325
365
371
408
343
351
303
321
310
243
258
338
304
251
367
348
296
293
288
308
367
324
304
399
379
348
348
347
303
299
278
339
277
227
359
351
320
274
282
359
341
381
335
301
405
359
283
320
346
252
350
313
284
315
269
260
351
321
288
271
277
364
315
340
272
342
338
250
364
253
331
406
323
285
327
292
250
396
385
347
338
359
292
271
368
341
333
359
343
306
307
354
362
298
263
330
390
330
270
281
345
361
291
331
360
327
320
312
281
361
328
328
267
260
295
311
252
241
351
313
361
341
308
325
231
289
290
272
276
309
406
345
306
304
321
254
332
332
303
328
408
290
356
381
275
313
259
275
322
351
262
323
427
323
350
316
320
255
269
326
329
367
295
330
372
376
217
274
328
348
351
266
372
294
322
240
335
272
334
308
327
222
285
443
302
305
305
279
368
272
311
236
332
269
316
346
322
263
285
326
287
277
343
190
348
369
382
379
347
249
267
354
364
342
287
378
353
267
235
301
359
338
283
318
312
321
372
291
353
410
366
306
290
292
319
317
345
263
352
320
320
347
376
320
254
293
354
384
339
311
319
349
283
366
321
386
294
321
327
217
355
282
268
268
285
279
291
311
336
250
259
264
307
318
324
312
280
386
328
283
276
385
347
313
417
331
239
341
371
330
362
347
335
252
300
283
284
270
289
319
306
380
297
238
336
283
264
294
335
330
329
346
343
258
289
353
283
275
314
306
334
319
372
274
311
362
310
303
305
288
346
377
279
399
250
338
429
302
385
270
337
399
248
328
326
246
292
330
361
358
386
254
262
342
361
340
360
294
254
285
370
314
397
316
312
292
370
346
331
273
325
303
349
345
304
330
293
285
219
363
316
305
317
263
329
374
191
424
249
304
297
326
376
269
316
237
287
309
317
295
320
233
328
290
361
350
243
308
327
331
355
302
352
313
302
315
245
275
290
289
319
277
275
362
321
335
301
325
330
392
310
367
373
315
327
298
293
253
359
329
300
288
339
383
352
325
341
230
260
275
346
321
343
304
356
226
368
363
315
250
238
273
311
327
262
313
353
350
344
343
358
318
217
288
331
257
309
304
261
316
294
355
394
291
305
426
368
306
328
356
251
279
317
248
236
271
352
270
352
382
293
320
365
381
375
314
318
296
306
300
286
304
233
356
328
237
361
342
382
293
295
278
285
297
400
302
231
268
302
408
284
313
314
317
281
307
369
374
285
320
278
291
391
356
423
344
232
246
326
254
333
352
306
243
349
336
359
277
343
272
213
305
362
290
259
298
310
355
342
319
328
373
363
190
348
217
353
240
321
264
303
420
375
349
268
292
341
264
317
313
315
418
301
357
315
340
385
320
360
285
320
294
340
298
342
328
341
304
248
368
365
282
253
193
394
370
290
246
285
261
377
360
359
321
311
315
312
299
322
289
277
359
285
325
253
347
287
276
373
316
336
311
270
382
268
375
261
325
359
301
276
417
364
319
323
320
346
319
301
314
385
255
279
374
292
317
310
326
289
310
291
327
348
344
307
378
297
355
368
312
356
339
304
289
374
330
380
243
295
285
361
424
385
268
378
336
410
298
224
225
370
329
279
340
263
353
244
369
294
266
362
292
381
229
290
306
275
314
268
294
205
305
350
316
253
368
288
339
253
312
367
273
253
363
330
360
309
330
230
427
296
300
394
333
351
266
338
374
321
253
307
347
295
234
273
300
288
252
446
357
350
307
304
312
375
337
353
319
295
269
337
316
348
236
330
232
316
364
360
245
310
270
395
347
377
243
309
262
310
356
292
308
302
315
360
250
365
364
298
300
304
338
310
385
352
261
297
233
418
326
367
337
318
329
299
341
363
408
295
299
316
342
352
306
309
302
264
325
347
257
423
324
326
322
341
294
268
278
259
310
215
337
324
335
294
381
291
299
284
331
310
332
320
384
291
284
333
325
326
245
351
370
342
346
435
309
319
257
326
363
350
302
317
239
223
423
314
272
274
287
333
328
396
327
317
332
303
317
264
345
301
375
286
355
331
195
340
311
292
377
323
340
338
267
234
313
337
317
365
294
321
386
343
406
384
293
316
313
365
382
376
343
343
385
288
366
231
277
366
300
334
303
357
342
299
337
319
368
308
244
283
325
346
366
375
408
231
235
381
339
338
334
323
254
334
247
258
331
380
310
353
302
283
388
288
375
300
361
309
329
354
377
339
308
218
305
295
308
281
331
393
303
350
316
353
271
317
411
248
253
366
327
315
333
308
366
341
335
399
344
280
298
254
318
325
336
305
301
356
279
355
319
297
204
412
319
285
235
358
381
354
297
327
354
320
340
360
301
315
261
333
251
256
373
346
272
354
410
385
346
363
302
348
333
255
356
370
289
282
349
301
363
304
312
359
399
316
330
326
261
296
257
252
245
252
324
361
293
315
274
366
318
415
252
270
362
428
345
293
311
393
347
300
390
260
309
302
344
338
367
284
352
317
275
272
304
246
360
413
333
328
293
314
373
333
387
324
261
252
345
355
302
274
382
293
277
329
406
267
347
235
202
361
335
317
396
319
321
339
305
350
355
279
340
307
320
377
375
321
385
333
297
207
336
349
287
335
302
303
258
289
386
298
325
317
351
322
376
288
356
270
364
323
221
341
345
304
318
305
293
330
292
355
301
238
234
370
236
369
237
320
399
318
352
268
285
337
324
246
271
370
309
307
253
309
361
328
325
350
227
360
349
258
266
360
322
346
269
345
286
317
305
301
457
258
225
338
316
318
377
281
263
399
259
299
375
316
333
263
251
292
336
289
282
285
378
290
296
307
279
304
272
289
375
299
317
392
330
321
293
421
315
347
371
286
278
234
286
346
409
323
353
300
311
356
352
348
317
243
265
436
331
377
336
378
366
381
342
346
299
334
328
303
285
336
229
291
242
357
301
280
337
324
314
379
418
213
330
297
347
312
301
345
259
345
322
275
402
286
363
197
265
372
348
368
347
292
335
355
335
290
234
296
256
281
355
345
336
356
339
310
241
336
338
270
320
361
345
310
272
235
321
311
269
297
415
337
343
270
315
228
305
278
334
323
227
365
298
244
412
359
405
318
324
304
293
334
265
246
314
361
351
271
310
356
267
282
241
269
331
299
274
391
329
236
342
266
362
328
311
305
431
257
352
295
279
296
384
257
324
369
335
369
277
262
282
281
293
229
406
343
352
319
362
374
248
276
268
243
339
381
263
302
267
266
368
217
275
334
233
334
320
397
322
313
296
293
307
344
244
250
279
285
325
206
267
311
270
267
437
352
293
261
221
309
295
369
307
411
204
355
339
313
377
407
267
324
377
340
257
276
335
261
361
334
273
272
314
219
357
173
352
380
281
309
287
355
392
326
347
269
340
384
230
341
320
316
298
255
382
361
320
376
306
300
363
316
240
298
207
340
284
245
266
299
451
332
318
373
307
249
282
326
300
345
261
338
301
243
366
312
312
388
245
361
239
338
351
330
370
372
330
348
369
284
338
319
291
370
317
331
320
282
341
270
351
333
278
321
291
335
306
263
359
342
275
385
276
327
283
299
326
394
314
312
366
334
217
308
354
325
237
317
367
336
344
229
257
344
313
252
370
242
341
367
305
393
283
323
295
283
225
251
337
295
304
333
265
295
369
368
309
294
348
259
302
305
315
239
273
269
286
344
369
306
410
246
338
379
280
383
324
327
274
359
359
331
316
298
334
301
315
312
283
353
373
277
328
278
318
327
314
239
275
410
327
342
278
299
304
357
252
234
322
358
313
351
287
251
278
412
219
388
245
339
310
312
316
358
356
330
343
399
338
378
313
350
271
348
399
327
265
320
276
364
281
311
344
352
262
303
338
181
276
303
277
333
325
350
335
374
395
323
192
332
386
301
331
316
317
337
266
336
320
246
372
322
363
391
290
302
375
282
357
428
332
360
332
309
259
363
291
296
353
278
336
348
280
313
248
352
340
363
356
320
333
328
292
304
329
352
385
289
322
276
360
335
401
297
324
323
233
322
278
345
298
391
346
323
243
323
393
296
367
312
362
210
353
335
332
403
345
246
349
384
364
315
284
335
309
274
222
313
263
273
278
323
287
355
331
353
379
289
243
275
344
314
328
313
191
308
306
257
308
337
290
336
352
249
302
260
345
250
327
402
334
319
262
263
309
338
347
312
318
297
273
337
351
365
289
289
298
434
249
351
254
288
320
245
337
309
259
298
393
286
377
353
289
344
314
278
408
335
293
313
273
347
413
304
262
339
351
389
281
295
267
335
371
227
323
283
365
341
304
385
277
319
322
325
313
263
305
254
369
322
309
401
329
301
377
274
265
367
330
396
276
321
401
252
217
301
349
296
279
299
226
333
307
278
400
318
286
395
412
383
287
265
364
399
337
284
337
324
254
413
367
371
379
359
335
342
381
210
361
301
300
324
267
320
305
231
337
309
292
318
410
384
368
344
344
292
318
328
299
248
335
336
359
348
354
273
272
349
333
299
348
322
358
364
309
310
309
318
341
293
370
346
307
264
338
372
315
348
371
377
262
305
363
276
352
278
313
313
292
348
236
350
290
343
275
363
253
257
326
272
338
350
370
328
239
355
333
212
377
312
286
253
329
316
382
377
289
272
367
289
329
278
359
343
271
218
340
351
359
275
233
405
311
346
351
344
351
364
264
346
217
325
370
339
351
345
303
295
280
311
342
384
407
349
354
384
350
295
301
294
314
273
339
263
399
298
397
310
376
350
282
209
325
367
292
352
362
326
354
280
361
290
294
346
389
327
264
284
369
247
263
373
285
336
288
318
244
241
349
271
331
306
340
256
330
272
382
275
315
372
278
227
279
334
278
337
378
325
337
348
327
379
288
309
372
368
291
324
312
334
391
317
276
269
344
337
310
400
329
392
291
311
314
295
345
321
357
311
306
288
375
307
378
341
250
251
390
293
270
347
269
334
325
344
349
385
329
276
255
352
277
332
325
300
292
306
348
319
283
319
254
298
278
377
328
289
289
247
399
307
255
317
353
350
299
299
239
309
266
318
352
305
309
241
284
253
305
359
324
394
354
324
298
326
354
325
226
370
355
376
326
355
303
265
340
306
275
285
265
265
285
344
323
295
408
342
351
312
310
284
343
332
348
289
324
357
352
343
235
315
338
278
365
252
316
354
303
373
324
365
285
313
316
423
280
338
364
284
340
272
218
353
329
376
278
282
310
329
317
254
298
279
367
386
237
377
307
305
277
225
314
292
317
335
320
329
251
379
353
306
340
315
303
340
354
271
212
363
337
297
393
324
305
338
294
268
310
270
419
291
243
391
315
340
360
333
438
370
329
277
276
312
328
190
276
346
263
288
348
284
316
176
335
273
290
294
388
312
246
291
306
357
300
346
305
324
302
335
293
351
325
347
380
332
392
242
361
357
204
275
441
323
337
242
326
293
238
334
284
315
300
361
345
322
328
368
288
372
320
281
349
189
290
379
285
210
239
357
314
370
353
329
315
244
272
326
283
256
284
344
325
289
219
262
245
361
333
329
277
404
331
387
275
285
380
311
272
376
331
296
341
276
236
304
286
362
347
310
280
295
346
369
290
290
329
418
353
321
323
202
337
311
270
329
331
262
294
343
343
337
311
306
368
304
368
392
310
276
269
264
317
301
315
371
309
376
347
271
352
344
354
347
366
309
280
246
294
373
372
345
324
368
347
324
302
327
355
403
274
350
358
276
407
288
325
256
337
305
295
319
395
174
253
311
282
303
362
286
384
346
287
304
322
305
333
336
299
287
248
352
352
391
341
297
380
275
231
341
301
354
360
228
348
296
322
345
271
327
352
399
313
257
325
316
362
321
330
319
298
311
352
354
326
344
307
276
358
303
336
342
282
268
286
298
343
280
312
333
337
359
293
304
324
293
364
316
222
292
370
300
328
421
211
386
308
331
359
307
334
266
306
313
229
280
238
286
326
292
298
362
250
342
314
246
312
285
247
278
399
343
281
383
264
292
343
344
304
333
370
308
324
275
326
314
344
317
309
300
341
416
199
245
347
271
341
325
322
277
312
309
298
400
376
350
322
362
232
305
261
263
313
352
310
355
317
303
349
363
276
308
311
330
266
343
394
345
346
311
352
348
289
363
256
300
340
386
219
333
366
318
294
278
314
345
345
199
333
390
337
351
293
305
265
353
295
343
346
254
258
382
347
315
322
289
376
369
288
319
327
327
318
229
282
321
336
271
400
385
314
286
340
314
350
385
376
349
346
313
230
276
290
352
334
298
267
210
411
308
333
301
246
313
345
280
348
226
338
300
333
339
286
356
320
289
285
353
273
364
295
324
287
367
255
294
349
368
359
356
362
272
365
320
373
373
357
337
317
316
359
291
301
363
316
210
247
297
301
308
350
391
431
403
294
317
338
390
317
289
209
259
303
304
321
283
275
277
224
243
342
323
307
268
359
340
300
355
359
340
298
308
234
286
357
343
353
356
304
346
380
300
333
322
223
316
324
296
327
307
252
280
296
348
366
429
308
263
403
291
306
322
297
265
291
346
368
312
378
302
366
275
310
271
350
312
410
262
316
344
353
353
293
289
361
299
373
274
327
261
338
345
303
326
292
363
390
244
257
366
244
275
195
366
371
280
294
309
352
320
295
242
301
297
341
303
286
261
303
281
315
253
290
298
299
335
392
281
308
365
299
290
331
303
385
321
272
277
317
271
328
289
280
302
210
310
322
333
315
373
276
328
328
360
300
311
222
342
282
215
317
377
315
325
264
325
285
342
333
285
281
257
343
349
376
348
286
271
273
358
342
339
340
356
365
317
305
334
298
310
301
338
306
304
304
323
291
341
313
283
291
315
388
340
379
290
309
285
245
287
295
312
261
396
315
355
270
353
310
253
354
354
365
323
330
348
304
370
354
331
278
302
361
373
345
366
229
365
305
329
290
329
271
356
391
383
227
257
286
326
298
331
245
377
337
275
239
254
315
332
293
300
357
270
367
345
333
251
325
340
321
340
407
303
385
356
371
398
353
360
299
242
282
370
360
325
326
336
295
313
324
326
247
388
329
267
268
335
335
369
392
362
257
368
316
314
274
299
229
235
346
305
290
352
308
386
346
382
333
307
340
320
352
359
335
237
279
283
294
353
310
253
271
340
334
336
329
221
310
356
290
325
287
300
241
377
375
290
324
290
304
405
342
377
253
335
263
398
299
311
342
275
350
307
299
284
346
334
377
320
340
309
385
248
276
278
317
258
364
320
354
378
319
311
268
331
260
255
358
361
280
384
280
349
328
384
216
254
318
274
331
326
259
366
351
309
326
370
329
357
307
312
275
286
306
388
259
259
343
388
323
317
323
306
306
349
310
295
261
299
310
338
381
307
323
294
279
285
232
362
235
300
340
332
301
293
293
293
302
360
284
297
279
338
302
300
320
288
281
354
264
328
351
307
316
408
335
285
410
317
243
300
303
278
300
342
377
338
368
308
275
289
317
274
322
245
253
331
357
311
334
373
296
405
315
263
292
352
291
376
320
306
288
346
271
330
303
313
301
425
275
218
309
375
316
281
288
266
363
337
285
302
360
272
342
253
349
356
233
306
299
341
325
308
412
365
330
355
268
299
233
323
330
320
316
296
326
296
306
307
228
287
301
371
265
284
362
293
246
292
396
290
310
273
240
288
278
294
371
229
303
311
324
249
306
323
303
316
325
341
306
392
292
341
324
317
305
393
311
322
206
398
368
276
260
332
305
327
306
324
282
361
236
361
304
311
279
387
274
367
312
312
317
329
354
368
251
365
329
291
323
315
233
321
319
338
308
243
231
228
310
362
292
353
340
320
289
344
228
312
353
346
271
298
324
256
305
321
341
343
275
310
293
266
342
375
387
297
248
314
280
251
334
390
310
402
350
294
245
262
314
279
272
387
322
279
357
278
330
353
240
260
334
296
361
263
391
278
292
314
297
425
338
328
311
246
272
273
316
348
298
267
303
362
296
329
326
390
356
341
273
314
309
297
362
272
314
392
387
365
297
327
382
276
356
326
389
353
338
336
353
303
335
367
292
390
352
343
315
291
301
292
355
306
316
331
364
311
286
366
274
256
282
359
347
360
367
234
291
357
270
357
353
315
371
245
359
333
375
355
352
352
341
319
353
254
386
317
346
242
289
339
254
265
324
348
312
330
305
367
322
310
296
283
331
271
295
304
235
301
288
305
291
247
336
325
218
222
225
217
290
366
302
292
276
351
322
292
340
266
254
275
234
331
358
367
234
357
293
380
327
293
241
287
274
340
344
362
263
347
341
307
303
280
343
295
311
218
299
275
337
294
337
339
313
361
326
295
287
369
331
293
313
287
276
346
252
319
348
224
369
326
308
332
338
324
254
292
299
239
291
284
307
345
298
364
353
390
300
383
292
279
373
431
287
394
323
307
286
361
380
190
311
387
362
301
273
356
287
316
316
286
310
329
318
279
304
420
297
354
232
275
369
280
451
346
321
290
371
240
298
345
340
221
320
312
309
325
334
323
243
392
356
359
306
285
274
364
227
275
361
321
285
376
371
352
322
265
323
284
396
305
298
354
388
336
281
305
366
366
341
311
325
328
309
271
341
358
316
321
341
335
326
281
358
297
164
333
292
380
280
364
296
293
254
362
315
335
310
309
257
269
367
321
313
291
298
290
348
342
332
294
312
316
313
341
357
346
319
279
283
277
302
314
382
380
301
391
363
334
354
275
372
328
326
249
299
270
315
338
361
283
421
286
301
400
312
241
254
367
291
323
245
339
257
248
360
256
262
222
374
318
358
261
344
339
269
324
257
369
294
405
244
303
368
237
307
286
280
341
334
311
310
258
312
337
310
333
344
317
280
321
340
384
318
292
336
335
272
295
308
281
308
342
281
305
240
320
338
306
342
394
323
361
338
332
268
295
295
297
245
330
267
377
338
223
283
299
322
247
313
269
415
313
321
374
249
347
377
375
361
325
304
358
356
315
356
315
332
413
327
319
236
272
306
342
336
191
235
327
354
299
329
206
374
343
304
349
354
174
275
218
336
292
281
262
302
301
290
259
248
421
299
336
346
364
283
243
305
295
256
375
271
358
283
253
336
305
372
312
312
329
334
385
263
352
297
333
389
317
300
398
310
361
346
332
273
265
290
314
307
332
404
375
254
307
423
325
309
333
315
368
237
347
272
293
287
304
323
303
220
355
315
356
339
320
293
390
354
324
243
322
289
320
379
356
349
228
310
287
336
335
333
304
314
318
344
378
319
330
269
346
286
308
331
326
251
235
354
317
279
354
245
300
321
245
269
295
286
285
313
282
305
324
373
312
388
311
334
291
276
348
309
308
418
334
291
282
371
339
338
282
372
353
248
315
265
293
246
328
318
257
306
308
312
397
299
269
373
231
279
302
285
367
245
279
312
318
362
298
274
312
333
301
268
274
262
379
339
324
316
264
303
279
297
306
294
332
237
325
319
355
211
302
344
354
284
392
330
276
321
362
360
249
279
337
330
364
349
352
282
305
342
256
316
424
336
349
379
278
249
312
321
286
297
307
319
340
285
249
340
341
325
331
321
297
344
367
315
353
300
293
335
392
301
276
329
339
297
323
340
368
255
283
263
341
348
371
269
346
326
275
266
286
403
271
247
283
317
322
338
378
350
255
329
293
324
265
341
296
265
255
339
307
305
326
362
312
234
307
378
365
346
310
290
299
361
291
283
386
377
307
344
353
329
347
345
370
347
282
337
291
383
313
332
353
367
274
330
389
297
302
317
275
307
384
251
307
287
266
239
260
264
353
296
285
329
328
301
316
337
301
289
400
330
296
307
351
285
356
278
353
274
390
383
251
325
314
372
297
307
355
294
263
260
329
307
361
374
357
276
338
283
274
335
377
281
234
302
267
275
249
380
251
343
300
306
288
340
318
303
315
288
361
425
315
286
317
356
239
315
241
356
356
377
330
273
307
378
278
346
323
342
395
274
312
233
373
285
317
296
331
243
357
309
289
328
330
376
335
310
262
301
282
258
356
318
258
279
276
319
288
246
329
299
370
235
329
391
420
390
347
355
361
338
251
159
354
319
345
343
335
313
277
344
394
320
260
327
300
337
379
302
322
348
388
320
293
337
256
375
311
246
344
447
333
318
299
254
324
400
326
352
266
303
305
353
213
294
368
282
273
368
307
310
302
260
327
305
294
299
287
252
243
354
317
272
299
275
296
260
266
269
389
339
320
228
257
303
265
285
440
315
253
376
375
346
352
329
326
413
278
314
302
325
294
383
255
272
274
339
242
340
323
281
259
360
286
303
374
248
294
308
327
351
303
328
371
352
321
323
277
221
232
296
253
247
258
257
236
307
361
382
250
374
310
347
265
243
339
301
330
268
334
341
255
303
368
300
330
392
345
414
295
301
284
231
369
256
310
354
254
298
257
330
307
372
289
361
263
327
340
286
276
299
336
328
281
331
441
255
191
250
347
278
339
337
256
269
290
311
401
331
346
312
375
271
279
329
323
339
319
401
342
315
277
374
349
335
304
326
332
300
271
316
339
289
216
268
375
241
301
314
352
313
247
397
259
303
337
337
249
317
355
405
360
316
382
346
307
288
209
341
341
331
304
336
338
350
359
268
405
324
233
264
344
336
280
374
308
294
230
234
372
368
309
256
234
346
364
265
324
298
242
262
371
340
369
353
368
338
310
345
284
398
244
366
379
305
300
397
369
321
287
224
311
369
379
349
301
266
229
351
246
204
351
345
293
328
281
351
325
321
377
375
300
290
327
363
291
332
333
270
360
358
365
372
349
274
290
280
273
362
261
346
347
372
279
317
297
327
338
348
263
250
297
268
287
318
358
373
295
311
321
342
355
340
298
380
273
279
339
321
307
261
366
349
309
357
231
270
300
356
333
381
313
341
289
319
367
368
305
313
326
303
378
273
350
208
302
326
228
223
311
295
306
372
386
304
287
243
295
356
398
324
255
368
423
286
248
247
285
316
320
365
318
306
320
318
218
375
335
287
272
288
275
343
392
285
339
258
271
297
242
404
250
297
280
281
261
272
306
292
330
227
346
279
311
298
302
383
275
335
346
320
216
346
277
383
318
319
322
389
303
256
387
282
345
332
417
343
377
360
235
310
378
246
306
277
347
307
368
302
346
350
394
302
328
301
260
320
258
302
332
280
260
352
261
326
254
249
295
377
268
415
386
323
349
323
313
386
315
285
341
321
353
222
314
326
329
300
342
324
321
377
327
264
283
206
253
364
353
338
249
323
313
365
358
212
314
346
371
288
294
378
395
362
318
373
288
357
295
289
209
356
278
307
310
333
335
272
365
312
231
454
355
274
288
282
394
314
325
353
302
345
303
258
221
301
269
267
297
331
280
363
249
413
362
386
277
325
333
304
312
327
434
296
299
312
366
329
216
283
364
270
306
362
360
252
306
257
295
249
379
352
279
300
380
312
296
328
338
327
327
316
298
293
373
309
310
305
311
307
313
336
243
265
281
342
342
225
271
284
326
296
356
300
342
257
266
287
331
316
293
327
318
320
348
394
248
403
266
314
273
303
251
312
285
231
313
181
215
354
348
285
303
304
303
372
352
352
336
357
298
352
339
314
348
344
331
350
378
337
311
326
310
346
319
324
345
324
303
356
348
395
284
321
244
291
296
293
327
391
285
342
309
308
285
408
295
350
409
265
340
305
344
284
310
216
347
217
393
313
301
323
215
317
212
408
309
353
231
372
226
367
379
306
277
336
274
268
299
370
336
281
361
264
275
259
304
305
304
285
322
383
244
343
310
364
287
334
404
348
307
327
289
325
353
275
302
297
292
353
327
406
342
363
361
319
301
358
337
407
318
373
293
287
337
261
253
313
260
310
328
350
331
288
307
316
298
284
273
308
357
325
325
326
334
256
387
347
255
357
299
232
298
320
317
337
335
358
306
400
344
360
329
338
267
269
322
319
357
278
388
383
420
341
369
320
311
244
293
315
307
242
282
279
294
324
280
309
273
351
289
325
286
320
264
279
262
274
295
322
291
304
329
386
283
292
316
332
273
422
349
326
229
344
194
371
320
315
328
317
278
348
367
411
301
344
194
375
337
403
318
294
258
267
312
339
305
336
319
263
276
305
298
353
358
278
329
298
347
337
246
276
325
270
285
369
321
327
352
304
358
268
313
361
254
295
314
375
367
375
316
346
349
363
332
352
234
337
325
307
278
293
294
303
319
358
339
334
433
269
266
255
309
343
261
342
270
238
347
256
236
285
282
355
324
310
383
296
267
253
340
372
335
347
299
231
311
315
315
323
297
252
245
315
392
247
296
360
406
287
338
415
310
368
365
300
260
315
284
369
301
271
265
306
319
400
337
353
296
336
284
191
208
236
279
332
295
262
309
311
338
310
357
299
235
310
294
241
362
308
266
281
269
273
297
309
320
379
256
429
336
286
409
354
398
325
335
287
376
346
203
316
324
295
307
282
348
275
312
273
305
320
298
259
339
364
381
334
385
410
319
325
375
348
332
293
304
286
305
295
416
346
305
334
316
247
300
372
242
377
280
314
240
336
281
347
333
329
291
336
298
302
286
284
415
370
299
331
269
320
219
347
329
286
261
362
309
368
336
381
275
238
331
297
305
330
371
331
326
291
416
349
279
352
276
336
250
352
294
300
303
273
227
342
320
386
259
302
259
261
281
290
365
326
336
441
298
333
303
272
361
365
311
292
351
292
294
270
323
329
314
302
323
371
293
326
363
210
259
381
269
287
376
249
248
295
274
293
386
335
364
336
345
305
277
309
258
372
307
290
293
338
345
325
370
325
208
288
334
339
246
334
374
249
275
339
234
321
313
367
246
327
208
307
311
284
264
360
298
369
338
292
267
266
408
285
343
369
318
425
358
295
339
365
334
291
360
254
317
302
275
309
297
324
406
389
342
309
289
361
242
332
295
320
274
303
295
268
306
321
305
254
257
338
343
274
268
273
266
360
291
378
376
208
210
363
354
332
259
275
275
311
336
308
432
309
306
316
240
334
291
402
244
306
383
351
297
413
249
279
250
358
288
251
312
378
303
258
298
354
354
374
356
237
306
299
345
309
345
302
337
362
311
327
282
263
373
298
317
361
339
316
357
335
332
325
281
315
341
280
306
325
231
350
296
299
251
308
322
300
362
299
360
255
365
342
327
288
363
308
332
280
271
296
368
284
300
281
300
345
329
270
312
301
315
324
303
307
333
311
337
334
306
231
316
252
278
359
361
276
409
367
323
353
271
314
376
290
293
250
315
211
228
331
357
364
338
387
247
223
290
381
344
319
272
380
314
352
403
344
293
383
289
297
353
277
355
256
358
295
337
381
324
324
308
306
393
343
250
290
323
260
219
300
348
340
354
368
343
308
299
370
337
378
371
294
310
281
363
317
315
360
289
335
303
259
280
258
363
341
259
324
241
202
309
296
339
340
277
344
363
266
291
357
347
337
340
227
420
193
363
265
371
333
304
356
341
297
415
348
273
310
242
317
347
398
408
247
294
316
343
315
360
253
338
296
284
277
384
314
270
340
263
273
336
407
250
314
380
309
307
328
296
312
335
394
227
308
167
350
325
342
268
282
375
323
263
288
338
239
299
277
371
362
296
373
402
345
311
291
298
333
342
332
356
308
192
314
183
395
277
336
329
315
367
323
364
393
376
287
303
296
344
363
319
373
234
322
336
265
339
298
358
346
298
269
362
359
345
347
324
312
297
329
294
367
315
333
316
299
388
304
320
258
335
304
241
354
322
249
249
348
344
346
311
324
372
262
320
295
314
354
267
445
325
323
326
280
293
287
453
347
276
272
360
389
295
369
323
321
295
366
323
300
350
317
297
373
366
393
346
347
317
313
258
377
293
333
349
339
300
373
263
333
285
347
263
267
361
270
287
263
270
243
295
331
226
297
377
300
354
296
450
294
332
287
262
377
381
272
316
328
267
291
266
333
311
376
269
291
316
269
367
348
318
331
248
284
313
314
294
222
368
346
294
284
312
287
356
280
349
314
305
266
387
332
224
367
256
315
332
329
323
305
328
402
335
257
316
276
265
331
303
297
310
350
291
366
325
329
290
288
254
256
370
343
355
354
346
332
369
343
365
306
353
445
311
361
367
283
280
309
351
328
295
351
300
284
337
242
252
337
308
281
281
327
313
298
358
305
304
210
253
297
317
333
281
358
322
344
240
290
385
313
302
283
277
303
374
281
268
320
370
282
437
289
340
302
321
261
273
378
297
292
233
283
323
358
375
243
379
396
325
348
394
366
360
305
309
303
350
219
337
328
351
331
333
275
360
233
286
333
369
350
300
340
323
284
298
225
368
301
320
272
367
300
217
330
292
392
331
334
306
237
308
389
269
392
313
312
276
355
278
305
263
325
265
295
362
299
291
392
314
353
314
261
327
329
363
279
297
277
285
296
298
371
297
281
326
369
341
297
321
323
360
305
278
313
245
365
356
268
276
351
288
365
358
340
298
372
301
314
305
267
376
337
317
391
294
336
245
193
319
285
368
283
343
282
319
340
328
358
358
306
319
326
260
233
252
292
326
337
288
346
225
291
353
403
258
255
268
295
343
304
335
365
293
318
274
328
241
299
266
295
310
317
323
281
272
362
310
342
365
289
347
313
330
316
391
356
289
313
244
258
234
279
346
247
328
324
328
374
324
340
335
305
306
292
315
286
297
239
380
268
313
287
372
252
303
284
344
399
316
269
393
301
388
249
269
275
284
263
276
240
302
414
344
234
357
380
363
294
299
340
230
364
232
310
292
331
395
312
328
327
310
385
364
283
348
351
276
258
351
345
305
339
354
322
329
286
359
296
312
418
416
307
348
255
309
283
302
241
350
290
294
323
333
271
280
259
370
305
300
371
253
346
355
317
351
355
333
311
381
331
407
348
347
315
252
297
290
265
311
326
297
324
373
304
413
317
297
396
203
429
332
329
324
276
356
402
399
364
335
261
305
360
250
317
290
311
313
339
353
267
374
305
350
225
360
291
205
333
386
384
268
292
289
269
407
364
325
304
249
260
353
390
374
304
300
332
316
264
332
256
278
252
387
318
337
403
326
339
319
262
406
253
317
333
317
315
288
305
314
406
332
315
250
290
273
319
245
285
324
315
382
373
183
380
240
295
337
372
284
278
268
363
398
251
313
352
366
282
411
305
292
306
323
323
350
359
258
357
277
314
352
365
338
314
332
385
246
345
340
447
372
345
331
332
288
362
286
320
288
343
343
261
262
351
328
338
345
307
280
252
327
289
320
361
316
337
273
346
324
277
367
213
379
243
288
313
350
346
314
286
200
369
287
335
230
319
328
259
244
304
355
276
335
310
224
243
331
387
243
289
325
321
374
355
297
297
388
314
350
256
296
249
299
312
297
321
333
347
303
309
396
269
328
326
333
366
414
306
303
310
333
379
286
249
339
362
282
315
320
253
292
297
347
372
317
282
285
289
249
343
257
301
305
392
338
335
270
218
359
299
370
327
234
319
294
317
333
297
363
287
421
248
321
311
391
403
259
311
298
317
246
252
272
334
302
306
285
309
302
336
301
201
307
334
304
288
247
307
297
376
365
362
263
273
285
337
384
336
278
411
311
326
356
343
305
382
333
371
310
226
304
222
261
376
389
275
326
338
253
353
288
260
253
330
369
322
361
344
304
390
308
337
419
254
293
348
327
315
237
313
353
255
355
323
306
313
263
322
314
348
277
199
264
288
357
317
400
341
346
364
326
390
367
318
280
264
248
282
304
256
301
336
327
379
327
350
279
262
317
376
372
306
305
327
317
280
361
279
320
383
363
367
323
280
292
331
361
271
316
355
320
343
304
243
230
316
281
311
308
331
273
363
276
300
268
352
260
297
323
194
290
232
272
326
298
263
307
229
272
338
333
310
301
364
306
375
387
364
374
314
270
315
352
224
276
289
318
330
368
271
312
365
343
258
385
359
287
344
351
248
273
420
283
361
274
314
307
315
283
321
227
310
304
312
316
281
250
298
237
278
351
334
318
301
301
296
398
315
380
289
261
370
312
296
316
345
277
264
326
343
279
323
406
317
322
363
403
338
346
389
369
346
283
300
270
250
336
244
257
324
319
261
334
340
307
305
350
309
271
240
281
355
275
283
385
286
270
355
332
264
348
258
309
297
322
304
322
376
332
310
303
368
300
304
342
266
332
282
284
323
319
196
330
329
300
333
381
329
351
376
329
249
261
319
337
294
395
338
344
324
387
366
359
380
330
306
356
239
279
303
330
331
319
365
309
336
324
375
301
310
391
361
276
304
282
354
300
322
318
301
350
307
343
316
365
281
341
392
291
224
270
325
325
275
331
366
350
275
349
288
286
330
302
354
303
292
278
308
267
274
332
388
318
240
365
329
301
379
284
304
286
331
421
364
315
295
340
320
361
314
348
413
336
307
357
307
282
301
333
340
253
331
294
343
279
341
346
263
154
272
338
377
196
284
321
298
312
322
401
334
358
253
312
323
253
295
387
355
358
354
363
328
350
333
343
250
420
324
369
362
234
293
280
343
338
193
304
233
350
337
265
341
290
272
351
298
324
291
271
310
409
383
388
337
319
341
322
272
316
264
339
336
373
250
325
267
355
376
326
333
355
385
281
306
347
317
338
417
297
256
346
335
342
310
309
379
219
278
315
285
300
378
307
291
367
296
371
372
289
359
344
351
323
250
367
264
378
365
322
334
390
303
344
290
266
303
275
255
272
307
314
324
329
297
367
291
320
283
362
333
313
313
275
308
373
259
377
286
318
374
394
375
335
242
330
235
366
352
421
376
359
254
277
366
272
330
273
310
409
293
367
311
361
276
338
301
289
316
282
398
280
328
271
297
311
354
305
340
308
342
315
407
280
280
341
274
235
261
364
305
318
283
288
388
286
335
244
330
411
446
314
304
289
319
317
283
347
341
300
298
245
408
261
239
311
257
261
243
372
289
219
303
266
324
323
355
332
235
318
192
305
347
320
356
412
259
281
331
262
344
229
283
324
348
295
263
261
405
413
292
262
258
360
351
347
247
295
341
323
328
364
300
304
265
405
309
338
367
361
382
339
291
331
375
280
337
256
427
334
284
365
333
318
318
363
335
271
341
363
394
267
349
284
371
334
288
315
341
319
284
303
339
283
384
308
405
369
361
337
345
289
350
270
289
238
303
320
372
336
340
379
357
313
320
320
342
274
386
291
330
361
277
322
379
216
267
316
387
336
293
320
320
368
363
301
271
323
244
315
241
284
380
288
288
275
276
305
273
333
315
345
280
326
355
269
338
362
312
343
347
301
357
250
385
391
283
312
319
313
271
313
273
324
242
351
331
282
365
304
301
259
276
234
396
334
350
254
265
345
291
259
311
333
330
258
362
278
360
305
258
281
297
321
358
225
334
312
260
326
252
298
320
279
320
302
217
330
316
346
274
288
238
424
363
288
331
298
235
298
212
321
342
356
260
257
308
324
304
338
353
371
363
407
363
262
315
362
300
333
362
309
341
265
360
316
364
350
326
348
333
383
394
343
358
366
306
284
223
319
289
277
331
277
348
330
276
314
295
277
274
348
339
332
328
373
382
200
369
381
314
322
379
311
315
340
392
351
288
292
359
310
345
350
291
317
334
252
281
344
359
260
400
301
325
253
385
293
303
294
296
267
312
262
321
326
313
251
305
278
299
291
377
281
378
236
351
300
262
276
326
356
317
268
280
384
295
306
404
359
342
308
311
322
264
300
299
262
357
189
329
396
368
219
334
304
332
367
351
262
352
290
281
281
322
263
278
362
347
177
303
374
347
383
329
274
370
309
281
329
255
304
279
276
272
267
329
258
282
308
278
380
313
318
356
248
338
281
310
330
241
325
302
292
309
262
297
317
302
226
355
391
273
398
305
260
329
268
310
366
286
315
329
246
288
352
340
218
323
298
310
259
354
317
313
327
309
361
311
328
229
350
349
311
332
297
341
280
328
294
371
322
295
385
329
380
387
367
304
324
284
258
306
325
314
275
320
314
334
336
286
261
198
270
390
408
331
230
308
368
357
288
332
370
387
243
337
362
350
335
291
310
317
281
394
332
368
319
375
253
367
325
339
352
370
325
345
223
320
324
317
297
341
329
255
308
262
232
304
323
312
305
332
216
323
363
264
291
338
326
340
365
302
268
294
348
290
343
345
364
306
314
390
312
318
357
320
327
232
327
293
321
273
302
328
358
266
399
327
314
359
337
345
391
191
255
305
304
267
276
241
307
257
331
278
332
399
379
337
304
352
372
252
322
274
321
305
341
367
231
271
259
362
290
315
304
310
361
289
316
361
327
360
351
300
325
305
346
354
269
315
317
360
371
277
259
322
324
351
304
334
304
283
270
343
313
390
354
376
305
333
351
320
331
291
424
360
350
326
259
290
306
290
382
255
371
417
348
367
362
299
285
311
335
274
319
328
254
281
352
303
281
293
372
287
372
298
391
375
283
318
365
331
302
329
307
310
258
370
277
363
302
262
331
263
356
299
327
279
298
281
326
189
246
286
309
330
333
335
270
306
340
298
347
276
375
337
346
352
331
357
222
298
377
378
254
293
327
283
323
370
278
384
284
385
267
287
357
240
327
307
240
321
363
302
376
232
316
304
223
303
361
396
251
303
332
349
365
318
361
400
284
263
317
308
305
376
258
326
290
328
274
311
250
283
309
343
324
337
288
351
286
338
309
283
273
283
310
269
271
218
364
263
299
329
273
343
282
361
314
318
302
296
271
294
292
261
373
224
277
256
290
244
292
367
284
334
366
319
309
318
318
346
344
275
355
333
334
388
279
296
313
237
305
319
270
235
321
304
358
349
293
351
308
263
390
342
296
361
283
402
310
257
340
364
309
300
234
294
384
298
382
328
319
275
406
271
365
336
324
233
237
297
356
200
305
346
360
333
316
338
328
357
280
340
336
386
334
354
309
347
329
355
269
368
262
298
269
345
317
313
344
291
361
366
338
376
366
359
372
308
321
335
305
306
301
307
290
320
349
375
397
256
237
297
333
379
297
332
273
361
390
416
331
257
264
308
313
372
315
247
377
303
325
312
360
360
357
283
387
223
300
347
291
348
313
398
343
307
282
261
309
368
371
396
348
280
290
297
262
326
338
258
376
372
374
280
309
208
311
292
335
355
331
285
286
359
292
285
334
282
330
281
263
281
299
343
351
346
359
330
272
285
319
289
333
289
295
386
273
319
372
355
378
301
320
326
331
291
338
282
353
254
311
338
313
367
330
261
322
311
364
246
388
362
286
351
275
275
333
284
393
283
289
358
318
268
324
324
296
294
250
300
274
298
260
326
340
291
273
393
300
340
345
243
317
387
318
359
325
317
302
356
349
389
402
301
244
293
308
402
339
319
400
418
381
285
322
296
232
292
416
263
312
387
314
265
346
297
394
290
318
318
227
325
282
303
335
320
247
317
288
212
376
324
389
337
255
252
375
357
265
270
401
265
326
291
336
348
265
289
271
245
360
339
318
253
273
221
322
275
308
251
324
272
210
271
336
405
260
278
230
348
277
208
240
295
302
331
315
315
296
258
352
331
317
388
303
343
338
399
287
383
340
311
274
284
288
309
270
308
292
366
331
314
268
371
256
320
369
313
338
270
338
359
303
268
280
316
272
314
294
291
338
261
281
304
343
307
353
382
333
370
337
264
267
231
318
292
421
315
344
401
290
277
327
308
319
384
236
289
296
331
256
276
317
257
407
266
350
315
366
424
276
314
322
343
253
244
295
286
227
349
287
369
307
312
199
321
374
382
196
245
298
331
387
270
341
345
249
225
361
332
253
322
324
355
367
389
350
277
318
266
282
259
343
349
314
325
365
268
207
291
289
247
334
338
330
271
320
314
270
352
342
350
307
346
314
349
289
237
385
217
337
291
370
353
371
349
340
317
293
359
225
411
279
310
367
296
319
278
264
339
247
264
325
406
333
339
363
308
319
379
246
230
324
356
260
379
352
385
319
298
314
268
342
288
278
319
332
343
289
455
323
311
326
285
353
329
276
288
303
286
376
311
380
337
333
318
324
288
331
356
382
316
296
332
322
223
352
376
327
370
371
325
408
356
362
305
267
350
363
372
285
355
225
329
267
338
350
300
388
296
256
306
328
378
345
331
371
236
330
287
359
300
327
283
244
356
193
322
262
350
383
303
255
227
267
316
332
376
341
316
333
294
282
337
335
257
299
322
292
349
321
300
341
412
344
376
316
251
262
336
398
270
233
269
249
391
277
283
361
378
339
345
312
290
344
353
332
355
260
347
272
350
278
278
301
295
333
372
273
305
332
267
362
384
275
317
232
324
299
336
289
322
243
332
355
431
323
332
289
378
314
251
291
297
412
267
374
302
274
335
303
285
293
295
321
358
277
254
342
317
342
307
331
373
400
340
294
282
371
292
342
247
330
311
336
247
291
336
249
269
341
312
299
304
346
356
405
334
327
333
291
267
256
351
304
343
371
223
319
310
209
310
316
283
308
306
288
298
336
272
294
246
358
268
363
307
318
253
251
378
242
363
244
346
343
358
311
308
379
313
296
398
344
366
335
368
279
241
381
330
414
343
333
216
364
385
384
369
306
237
301
259
298
390
349
331
335
366
273
312
375
313
300
277
326
310
323
233
303
392
296
224
345
264
296
377
317
297
348
284
343
400
262
303
351
296
274
252
270
283
283
354
313
293
314
256
334
370
364
339
271
297
303
309
386
367
245
288
343
314
332
360
307
250
327
353
271
439
341
385
345
336
280
273
242
316
342
381
320
321
270
325
287
232
277
228
294
286
322
355
404
285
342
302
393
335
303
337
350
294
229
249
311
325
273
337
290
331
348
290
374
331
246
385
368
299
231
271
244
343
304
391
315
325
409
328
325
301
355
286
306
319
347
229
390
340
319
286
450
269
358
288
358
284
327
326
236
217
321
399
279
324
379
273
283
317
307
304
236
353
307
362
269
327
321
375
408
300
321
398
284
261
316
363
289
230
296
366
337
344
343
337
281
298
328
353
365
390
320
301
379
361
329
244
270
335
242
338
372
306
367
306
272
314
445
282
360
336
297
302
316
280
334
277
292
321
295
375
182
225
308
360
326
248
277
281
340
298
332
372
322
251
301
330
360
366
250
225
325
344
311
356
322
266
396
326
296
307
319
286
313
312
349
288
316
229
446
351
273
266
339
369
248
332
320
362
240
344
315
323
355
297
319
246
365
285
372
303
307
283
310
300
305
262
316
260
395
417
346
298
309
295
317
355
354
342
327
251
270
296
304
252
242
277
260
377
262
354
267
376
441
313
325
314
254
330
374
321
312
289
239
371
271
228
271
295
206
350
252
255
329
242
244
282
316
208
265
348
318
296
335
410
268
327
271
388
255
386
353
386
309
362
371
388
333
333
329
327
306
343
387
362
282
302
368
297
372
314
267
311
357
381
307
348
285
329
338
307
303
306
325
257
367
261
367
349
304
383
266
299
343
311
314
272
307
372
254
256
299
316
285
323
283
335
331
329
370
309
260
323
374
248
333
300
257
335
357
337
268
314
297
390
322
363
308
380
289
284
318
360
279
402
321
378
397
293
280
257
235
246
365
336
341
344
318
317
263
360
375
377
373
342
328
247
382
300
359
298
337
281
339
333
291
295
297
333
276
302
341
321
268
351
304
393
333
226
379
285
335
317
295
321
279
365
303
264
253
314
308
306
370
351
381
327
335
305
434
330
322
350
334
217
346
318
305
282
288
338
273
327
295
284
337
289
371
300
387
227
340
282
365
291
342
386
380
308
388
292
327
273
301
324
345
399
316
310
313
328
274
291
223
302
280
330
286
302
348
328
332
286
273
359
360
338
306
274
298
310
252
305
330
342
268
360
336
254
291
324
365
285
239
315
354
268
334
346
299
320
275
252
339
307
321
394
309
380
326
341
237
294
255
270
193
263
237
295
352
270
279
326
348
334
331
257
303
259
342
264
333
269
352
257
352
297
284
374
399
367
279
299
320
212
359
294
311
273
333
349
331
355
301
281
241
341
317
343
316
257
342
354
303
293
334
344
316
333
356
313
228
251
248
277
253
358
267
301
300
329
323
264
376
299
271
233
324
249
285
245
363
295
302
349
286
271
298
365
283
320
322
286
322
320
296
248
321
300
329
304
284
239
324
200
311
328
375
284
298
316
297
325
285
310
322
393
369
326
315
373
347
367
357
263
322
212
407
304
232
326
292
302
335
227
242
302
246
314
322
355
335
327
302
319
347
301
282
233
330
275
266
352
200
318
317
230
274
269
327
306
344
290
267
274
348
277
307
316
248
341
273
358
298
274
329
314
326
350
329
277
351
290
356
272
313
271
348
359
349
317
339
297
376
323
293
296
323
297
330
375
334
263
274
258
275
397
327
319
355
408
333
163
326
262
333
340
326
384
277
267
308
335
302
313
316
201
326
351
302
288
311
354
374
347
319
308
334
323
390
277
383
322
304
288
309
331
201
368
312
327
354
324
315
297
333
350
351
332
295
344
257
296
353
349
226
312
307
336
297
351
275
219
355
292
267
329
362
286
364
315
324
336
303
255
272
343
334
226
338
373
276
345
349
353
279
275
245
300
379
288
354
280
268
278
239
267
297
328
336
354
350
258
311
325
335
279
369
331
325
308
339
280
331
326
286
382
353
376
340
335
304
351
308
305
267
339
325
276
313
320
332
286
264
247
311
370
360
248
322
251
286
242
373
376
296
286
278
282
338
234
315
321
314
335
338
376
365
253
321
317
328
295
329
335
261
292
283
345
310
360
327
352
355
311
216
283
307
288
245
297
297
303
342
338
351
200
377
324
327
301
308
391
251
359
273
296
344
201
252
300
261
267
274
355
283
293
253
337
353
204
301
320
367
369
316
389
384
279
196
268
361
303
343
331
244
301
320
344
380
246
332
246
294
336
319
279
304
440
317
239
273
258
256
276
215
274
366
363
339
335
337
299
314
302
371
333
301
330
341
303
279
304
312
258
248
287
326
271
343
284
326
280
309
336
296
301
341
295
325
252
290
235
338
301
290
280
248
285
295
343
404
358
277
288
229
288
376
279
352
290
300
241
352
321
371
292
398
325
342
313
243
277
386
341
307
316
337
262
287
372
249
293
353
323
323
294
235
286
277
232
327
350
310
354
317
359
279
336
367
326
271
225
315
302
280
379
270
383
316
266
291
234
319
309
327
279
336
340
250
296
396
275
338
325
369
371
340
316
300
401
355
401
249
252
339
302
328
264
323
303
311
287
330
307
291
336
382
325
197
296
309
251
371
299
281
284
293
297
323
315
255
257
251
326
377
261
324
246
336
382
316
348
330
274
255
290
216
308
412
328
332
237
226
311
335
366
343
287
343
295
369
339
337
351
297
318
292
372
293
333
238
302
304
260
323
304
313
284
330
379
321
302
302
382
405
336
308
242
328
305
318
307
281
361
354
214
321
312
250
374
340
304
324
219
296
336
297
287
320
234
287
294
351
321
351
292
238
308
314
326
358
374
279
298
347
307
308
365
294
287
311
349
324
236
307
342
299
275
334
354
327
326
289
308
362
291
274
320
320
294
338
333
286
290
341
418
289
324
398
302
382
302
332
345
290
307
303
320
343
307
228
343
349
267
235
398
321
259
227
387
326
263
379
351
365
314
253
250
260
300
272
282
353
288
316
378
277
313
205
298
373
297
347
311
333
359
202
407
368
320
374
296
247
367
334
308
324
248
318
343
443
297
384
259
224
350
283
317
279
387
379
292
310
358
260
354
360
349
348
296
309
344
406
405
233
319
340
272
357
361
319
359
324
359
325
307
279
254
311
319
335
324
345
304
297
293
343
295
296
277
306
338
402
348
240
361
292
302
222
375
321
343
324
306
372
291
390
217
260
238
260
285
309
248
220
408
339
382
228
250
279
311
255
299
260
298
249
244
335
352
297
363
295
340
359
353
327
389
331
279
304
297
283
288
309
265
373
339
325
292
315
335
336
282
312
307
337
254
431
292
303
328
314
259
263
365
315
266
298
348
286
414
250
345
318
337
296
295
337
296
261
313
286
363
396
297
316
307
248
270
312
410
302
273
235
217
312
275
235
330
392
357
337
232
340
360
263
270
365
296
319
319
294
310
349
289
303
226
342
299
378
286
410
320
369
338
345
246
375
317
305
296
368
355
278
335
260
244
367
309
273
315
256
324
307
397
279
314
286
346
283
277
265
303
313
348
352
303
242
403
307
278
357
258
275
388
333
288
345
319
390
263
372
355
286
309
289
343
292
369
320
339
358
352
238
353
331
305
322
352
268
322
337
316
298
258
355
322
415
323
334
377
315
349
196
332
273
303
295
335
256
256
311
266
308
344
294
311
346
287
340
369
287
376
277
299
300
322
333
231
313
311
347
319
352
224
357
363
324
348
217
325
312
400
354
320
313
326
274
394
333
305
325
250
362
316
400
297
320
357
250
293
344
317
290
332
343
361
252
380
298
235
347
242
374
291
304
353
192
273
348
219
266
241
323
346
249
240
397
318
312
390
273
324
245
383
313
331
393
219
297
352
299
286
279
344
245
283
289
287
305
306
321
312
234
343
304
363
382
363
293
326
292
310
401
391
279
329
333
305
365
334
354
244
320
435
333
326
358
308
350
357
313
363
355
299
350
242
234
275
392
253
318
346
354
291
224
341
332
262
357
270
276
325
334
359
351
290
339
303
314
315
330
271
297
299
241
322
302
307
277
382
290
379
339
295
317
352
250
297
332
357
368
322
295
329
393
345
341
323
377
262
335
276
295
268
316
322
344
270
323
310
233
361
365
335
299
334
325
312
329
362
326
291
263
265
261
290
375
357
291
276
261
393
339
284
391
336
292
360
407
249
301
342
274
278
305
238
320
322
329
347
323
241
228
288
311
311
317
310
246
314
275
313
238
330
344
283
258
274
373
255
353
282
280
319
243
194
353
352
267
341
347
296
279
342
265
236
374
298
253
353
286
293
321
345
309
314
405
366
320
296
341
384
277
304
340
315
325
311
310
311
311
340
313
314
383
330
333
280
349
325
324
371
379
269
311
304
313
313
321
307
351
287
278
297
401
299
291
298
355
311
303
303
320
363
370
266
331
293
288
316
259
318
287
244
347
306
371
318
319
268
336
280
240
257
329
362
297
310
313
273
320
277
408
319
334
277
404
311
349
366
326
348
344
286
308
215
351
308
292
389
325
272
334
326
339
350
342
341
323
279
324
263
309
358
337
349
341
226
336
333
359
372
341
359
347
229
411
261
358
312
249
214
249
362
374
269
365
257
304
332
353
409
257
290
252
313
344
377
263
332
373
329
404
340
360
295
263
380
276
333
301
267
232
345
355
256
388
345
372
326
254
267
345
289
322
252
262
257
350
327
293
239
335
438
283
370
325
296
376
341
355
334
331
346
296
308
278
364
332
398
305
343
265
264
299
329
323
299
345
365
298
330
282
349
356
354
348
248
318
335
358
363
363
316
346
220
238
327
324
316
337
247
376
346
308
309
362
325
334
270
258
296
305
326
290
292
352
327
384
360
295
331
350
257
318
381
217
281
315
286
265
353
328
295
277
312
306
293
259
310
364
301
332
235
315
281
272
261
364
334
418
307
271
342
287
323
304
318
290
388
275
385
275
312
315
335
322
315
311
275
324
254
356
295
336
330
217
349
388
312
325
270
287
198
297
250
312
331
296
348
349
324
321
244
271
312
302
306
388
223
325
264
319
307
286
234
306
349
278
223
258
277
371
369
280
372
354
349
276
286
396
258
317
275
333
269
290
275
338
408
299
354
273
328
338
295
275
253
280
399
339
418
263
367
291
290
272
325
364
305
307
327
337
321
314
396
384
233
411
269
356
302
336
337
301
287
279
302
362
365
311
247
349
287
289
342
350
324
261
279
314
309
353
291
267
373
351
264
303
397
242
310
298
298
333
377
266
247
223
244
356
365
341
383
324
287
273
305
325
337
326
358
356
341
260
329
323
320
318
371
297
332
326
241
283
349
282
325
264
285
302
308
305
399
281
327
261
258
382
298
307
358
233
272
253
339
328
345
362
390
314
311
313
324
398
218
329
383
336
394
409
326
318
336
333
323
293
297
301
358
282
305
268
331
362
309
269
326
388
326
271
345
250
299
323
361
298
305
330
283
306
259
373
299
372
300
322
371
337
343
342
328
253
319
223
300
330
265
342
303
298
308
348
265
313
318
339
309
345
295
314
318
259
355
376
376
283
328
312
355
249
373
317
341
327
341
327
306
340
395
307
270
372
344
353
344
357
361
297
334
314
324
303
265
276
328
280
287
345
372
351
370
227
331
298
265
292
308
226
383
296
270
303
271
276
348
321
292
220
341
325
331
332
276
282
306
349
309
329
279
315
282
372
335
344
294
316
226
370
318
307
294
337
275
347
275
338
323
314
308
344
304
306
330
328
304
332
317
308
170
345
311
326
347
331
269
336
338
338
312
304
322
299
316
356
334
381
296
298
296
323
317
357
300
405
273
332
359
384
303
261
387
320
331
323
250
373
314
322
228
331
264
278
289
405
357
278
340
226
326
297
323
282
305
332
243
311
325
297
225
293
322
331
274
336
289
343
333
339
327
243
336
290
276
363
358
297
284
307
308
295
344
349
412
263
243
357
318
339
282
312
362
350
342
381
314
326
228
359
380
332
384
310
323
321
344
318
315
326
380
275
223
349
343
343
279
339
248
413
341
324
291
314
226
348
309
336
256
375
297
334
331
268
338
228
306
358
348
297
277
318
294
317
271
333
294
281
290
252
313
340
326
257
277
298
338
297
368
295
329
270
278
260
354
318
270
287
342
365
262
304
325
394
279
311
310
317
357
342
320
287
295
287
228
313
388
333
310
320
396
268
280
212
323
296
380
288
299
298
279
298
288
370
354
343
311
373
284
290
301
352
406
305
227
350
315
344
259
284
262
310
336
278
368
347
293
336
267
377
327
254
352
323
349
324
377
348
302
376
288
279
273
255
421
299
349
344
305
293
385
351
320
314
213
344
309
218
286
343
293
384
303
282
319
309
281
237
359
349
303
322
349
347
332
268
322
343
289
233
288
291
360
380
254
336
321
319
304
352
467
304
312
326
282
384
214
232
328
333
313
326
277
331
304
286
259
284
284
324
253
289
324
348
247
317
329
300
308
279
370
303
339
396
282
348
313
268
322
382
222
312
368
296
295
300
380
248
224
254
294
295
289
307
276
320
342
367
332
294
472
280
313
326
379
347
252
351
324
303
216
334
262
312
298
353
241
397
303
284
342
306
244
276
336
361
304
353
283
290
251
302
346
314
321
370
320
341
305
303
301
285
271
282
361
326
197
325
309
317
399
355
372
305
298
357
420
306
311
292
336
276
303
426
295
235
334
284
263
359
318
252
315
398
316
320
368
340
348
295
231
390
299
337
346
339
346
290
320
302
283
220
299
346
262
298
280
214
340
340
222
270
229
333
282
291
403
319
277
272
292
352
264
389
346
292
298
353
282
326
272
296
330
169
384
256
309
342
353
382
292
346
263
284
304
292
329
309
317
318
368
385
264
360
226
366
299
305
276
375
396
348
226
230
282
340
342
278
272
274
297
386
304
336
349
304
312
290
342
342
255
351
359
240
260
326
302
284
301
342
332
293
244
353
339
330
321
334
300
287
339
351
350
258
402
303
254
201
368
342
332
328
321
347
345
378
301
294
297
351
371
269
373
317
256
255
299
300
347
286
355
369
256
312
394
307
329
300
293
345
302
380
303
395
317
387
250
273
331
277
354
302
304
276
406
281
368
367
376
257
380
347
362
306
335
331
341
294
386
272
405
326
306
324
309
296
328
327
352
349
303
323
254
262
227
304
304
287
267
366
277
335
331
272
376
313
371
300
254
348
316
306
353
368
248
341
293
255
333
318
284
319
322
342
344
336
346
349
296
335
318
352
335
339
291
429
257
341
361
237
337
249
350
359
296
361
343
350
298
267
349
316
363
388
369
343
387
301
257
306
398
333
280
328
309
349
305
343
365
340
346
334
271
309
352
339
241
322
364
317
314
391
339
365
335
361
281
295
313
368
333
376
300
333
306
346
306
291
331
372
297
256
319
311
288
358
281
344
323
318
279
298
323
243
347
298
325
313
345
284
232
299
275
303
281
298
313
308
338
182
213
396
300
237
410
277
231
238
370
316
269
326
194
350
278
293
385
269
237
313
325
392
307
377
250
226
319
281
253
264
417
284
276
380
292
344
311
310
310
336
259
363
287
278
357
280
350
245
335
334
378
239
306
394
346
258
355
274
411
321
274
379
365
324
293
334
304
376
306
335
294
347
385
257
332
383
325
239
308
300
352
343
337
337
311
379
273
356
267
248
268
321
336
336
285
212
288
360
301
337
320
369
389
348
343
309
370
331
426
329
247
265
338
336
420
332
312
301
294
244
408
340
202
367
289
399
357
280
345
302
294
310
373
335
298
320
284
312
333
379
379
391
355
280
337
338
266
358
287
365
230
324
335
321
250
376
311
361
427
314
310
358
398
298
238
366
308
345
346
305
245
304
323
383
337
255
301
288
349
269
277
403
399
325
284
343
330
316
431
312
337
301
270
304
321
242
268
258
357
278
287
272
294
291
272
265
337
339
320
357
280
204
392
282
351
346
369
228
388
316
267
377
384
329
263
333
321
330
336
336
339
369
328
293
248
336
222
314
206
270
339
370
384
344
288
280
320
303
315
354
316
386
270
259
320
319
364
377
310
348
298
308
333
292
286
325
273
331
245
386
317
288
310
295
241
309
405
344
338
333
345
333
272
252
308
286
266
276
347
278
339
322
327
315
246
283
305
284
223
274
322
318
377
363
269
296
349
310
207
292
355
324
307
299
328
358
274
292
353
242
329
265
264
450
347
321
360
382
392
303
329
236
249
353
347
256
286
347
261
344
206
366
380
333
283
310
329
324
304
231
368
325
317
308
331
323
224
376
319
268
268
312
328
417
286
398
309
284
329
372
313
283
328
287
343
363
342
344
294
377
338
278
337
239
292
292
340
269
299
311
382
309
286
398
279
296
277
303
264
281
336
304
263
321
356
284
350
309
338
237
215
254
311
292
342
262
354
331
268
330
257
308
350
286
302
359
298
374
267
349
359
328
335
297
329
344
296
331
322
324
314
410
390
275
342
316
354
414
420
376
235
316
293
286
248
235
323
306
310
364
249
382
326
326
295
298
283
299
250
391
287
278
230
252
325
311
305
356
342
337
264
351
256
230
288
252
315
337
302
344
362
347
405
341
322
354
313
385
335
307
318
314
316
227
266
307
227
323
262
382
298
290
355
361
211
275
295
333
298
289
283
322
346
281
347
395
384
313
322
396
269
238
223
282
283
286
286
361
305
389
339
343
355
369
389
351
291
297
345
248
346
363
301
387
340
306
323
339
383
361
326
337
319
326
283
339
329
273
224
324
322
232
361
319
290
341
350
346
347
284
325
283
345
291
373
351
291
357
253
256
336
287
365
360
291
342
291
348
314
293
266
233
254
324
304
300
400
265
316
397
342
309
381
340
323
338
378
298
293
300
280
296
221
317
297
335
285
347
324
316
331
385
315
248
224
329
255
327
289
432
377
348
337
448
326
321
207
272
354
293
322
196
345
300
290
277
324
362
320
284
308
236
275
354
323
362
306
153
269
257
234
310
304
317
323
299
340
304
283
254
349
341
316
283
313
373
294
312
344
306
284
365
287
294
288
353
320
250
279
290
262
394
243
345
257
286
410
354
316
334
255
301
323
385
382
369
276
346
323
285
362
250
327
348
188
304
331
342
405
380
268
351
397
426
365
259
346
356
283
334
351
306
230
281
364
286
240
341
318
326
280
354
336
339
355
317
310
350
302
249
301
291
283
323
328
316
289
277
315
336
257
289
317
334
338
272
332
363
363
297
285
290
384
352
362
333
324
334
284
387
327
309
380
383
305
321
308
298
312
360
363
319
333
276
299
343
294
363
311
329
330
250
319
333
317
297
374
269
397
397
256
361
341
321
236
335
346
301
388
334
342
374
264
296
368
318
283
364
342
394
403
306
330
215
321
244
322
409
256
371
312
409
317
398
246
314
290
310
312
345
284
351
338
344
292
281
316
337
336
330
373
305
293
282
330
304
327
277
366
296
318
392
335
328
404
356
257
263
323
312
351
261
371
327
359
289
291
279
357
306
252
348
268
283
282
350
313
368
309
341
307
386
261
400
301
324
309
328
311
368
331
382
338
340
312
352
295
294
266
277
298
338
368
341
299
388
354
196
313
286
217
398
287
371
280
320
257
317
302
353
303
334
376
223
266
353
346
304
338
344
310
255
302
280
368
335
230
371
264
336
300
195
311
291
327
362
292
226
283
335
295
332
292
362
376
294
147
322
337
322
290
424
318
313
340
340
324
314
209
330
276
327
237
379
297
255
362
348
385
327
265
292
330
332
373
417
333
240
318
323
356
323
289
322
313
317
347
312
326
295
305
312
318
271
343
348
351
339
257
220
287
232
297
285
334
330
361
275
302
352
240
284
195
329
304
263
291
330
340
365
276
325
375
188
310
325
242
373
290
332
344
256
286
393
265
353
281
295
328
283
324
382
268
317
425
248
315
351
326
415
280
226
351
339
216
309
443
270
344
303
230
327
384
240
378
214
356
299
332
358
297
190
338
269
278
337
325
377
340
216
298
309
338
377
344
307
360
337
368
346
310
310
295
323
291
330
281
281
342
352
252
373
301
241
277
356
199
269
326
395
364
323
373
361
237
266
306
282
326
353
331
344
297
317
406
274
238
267
309
325
271
314
396
286
219
345
324
311
345
357
383
317
299
313
258
357
344
242
309
308
291
345
323
362
338
389
229
336
329
273
280
419
332
336
378
323
326
305
315
343
300
305
333
311
347
361
300
369
340
335
339
408
304
330
376
273
247
343
345
239
278
322
351
359
306
314
312
273
290
307
395
363
306
315
359
296
229
325
328
310
386
389
295
311
281
322
297
351
316
369
370
342
277
363
334
354
240
311
233
264
294
321
268
349
258
313
287
336
309
300
322
300
355
318
335
324
280
304
306
326
330
298
242
381
334
298
337
362
322
347
328
313
386
232
349
363
253
273
368
258
279
303
370
245
297
361
325
343
294
364
346
291
308
323
389
212
306
357
319
412
312
236
404
379
292
319
312
331
287
337
211
346
341
302
404
315
292
273
328
258
358
237
305
282
340
298
360
288
309
316
340
315
299
316
303
278
379
350
391
333
320
336
319
260
297
364
304
313
335
242
290
293
329
327
372
307
349
263
324
356
320
353
338
245
365
311
296
314
396
304
345
429
289
308
359
286
321
341
339
356
245
279
287
355
317
365
284
296
312
315
319
308
340
365
327
349
301
352
257
299
293
395
334
307
342
265
422
397
352
377
251
328
254
412
357
354
320
326
291
328
322
352
324
347
280
293
332
317
242
346
350
264
336
366
350
228
350
338
297
274
350
327
330
340
368
315
274
332
340
308
286
348
303
304
303
345
319
349
369
385
337
296
417
273
431
281
329
337
292
339
315
385
426
268
244
243
271
380
343
334
254
286
330
347
288
400
172
306
264
293
376
355
318
321
263
298
376
333
337
427
313
295
366
196
361
302
329
279
365
315
341
310
330
245
316
275
384
325
377
341
231
352
421
327
357
271
373
319
284
272
278
372
279
332
381
364
358
229
292
368
265
308
304
245
316
347
305
338
285
265
278
332
377
293
260
289
359
345
403
283
289
218
352
336
305
263
291
302
349
278
340
408
295
177
295
325
272
333
295
283
327
334
342
406
303
371
328
319
350
320
383
331
366
350
275
243
237
303
353
370
252
368
327
238
289
298
297
291
411
245
296
266
281
315
298
317
328
277
247
279
376
261
288
275
234
331
310
314
343
360
295
393
375
321
333
328
298
355
302
247
336
334
285
328
306
299
373
326
284
354
361
303
340
264
286
397
168
361
354
326
263
252
346
302
298
262
320
319
384
332
286
282
300
274
249
362
330
423
364
374
206
273
225
309
284
312
319
227
288
325
357
301
393
378
322
346
300
210
211
311
317
366
379
229
347
310
348
289
295
303
375
349
237
342
297
280
295
243
273
335
333
259
294
300
304
323
425
245
378
373
317
253
361
334
262
306
299
338
294
248
353
275
360
302
246
268
339
239
362
287
341
387
315
312
272
327
400
293
318
353
358
311
212
327
319
324
338
409
259
376
315
344
239
264
294
254
320
371
279
327
280
364
352
275
298
287
254
303
306
298
300
288
368
286
301
361
265
340
267
302
298
309
340
396
242
407
343
298
285
291
316
276
291
212
389
296
323
328
269
347
345
290
347
348
322
303
328
301
260
275
280
303
358
313
295
275
386
412
326
270
331
389
338
342
313
309
224
288
262
335
267
370
306
349
281
298
386
257
300
330
312
347
373
307
318
304
295
370
281
325
333
306
356
255
302
338
297
270
350
349
301
355
308
290
267
234
306
280
346
349
354
340
379
350
324
364
342
280
349
226
246
390
302
341
314
313
257
306
323
357
362
308
275
256
386
311
325
276
355
334
302
339
201
301
283
346
259
355
377
372
271
357
294
413
332
299
271
286
337
323
326
265
310
306
308
342
363
321
307
355
261
326
389
283
363
299
223
268
345
313
294
368
295
283
329
290
256
264
331
327
263
289
284
314
304
349
334
315
277
288
237
295
291
297
344
314
261
281
318
289
288
348
326
310
289
322
202
370
358
292
298
267
359
281
291
245
384
308
264
265
358
223
347
358
440
255
323
341
316
329
276
270
270
401
320
361
336
372
330
344
360
388
311
289
218
240
287
313
379
277
277
304
364
316
349
344
313
283
315
242
408
356
392
312
307
282
312
285
338
315
331
244
271
391
346
276
372
240
322
244
314
316
383
356
366
240
343
295
360
336
353
286
311
349
335
304
407
297
342
247
360
368
368
358
237
300
322
255
331
323
363
314
302
399
336
409
220
284
372
327
359
242
390
265
338
350
287
277
367
226
321
181
321
326
365
271
376
346
318
270
366
419
288
286
338
364
373
395
272
330
339
339
313
328
248
372
338
259
308
312
317
305
395
317
288
311
362
299
320
179
295
320
313
297
360
387
242
313
320
387
208
260
307
300
326
361
321
328
333
317
280
337
331
253
293
315
323
252
466
290
290
287
289
357
287
349
320
279
276
325
366
313
275
273
295
311
313
254
323
370
313
250
241
226
349
223
355
371
286
281
187
365
341
331
309
259
294
398
290
352
327
307
312
271
219
285
343
359
254
279
345
376
328
327
386
383
286
405
337
430
315
285
274
345
321
342
320
283
319
277
302
432
365
345
347
399
312
287
345
313
335
314
335
372
361
261
313
322
338
320
327
398
356
280
347
400
302
333
372
325
327
339
240
306
361
272
304
376
257
362
257
417
252
396
320
368
367
345
352
348
281
249
266
289
354
267
283
339
349
223
339
357
307
279
267
303
300
323
346
314
259
399
318
253
371
390
339
312
355
318
353
263
337
292
384
362
280
354
298
417
308
353
273
251
360
245
362
316
249
318
269
278
253
263
355
335
374
331
281
336
367
367
341
330
366
264
292
304
304
367
334
374
307
314
149
347
343
277
341
270
277
340
349
309
337
288
322
229
294
285
304
382
185
333
256
309
292
300
323
284
340
269
324
341
248
235
317
319
305
294
325
334
338
394
243
311
199
308
266
324
383
268
262
315
241
400
307
339
342
331
280
393
301
336
337
369
345
355
293
394
343
312
419
322
327
375
302
337
312
273
280
303
303
344
282
322
272
329
362
320
301
340
305
334
335
327
255
333
279
317
323
313
368
276
368
253
344
372
254
372
272
294
339
384
355
290
342
347
297
221
336
357
344
241
349
292
370
335
356
369
325
312
353
270
300
370
339
346
273
274
287
254
236
270
244
293
336
310
307
279
322
277
333
259
287
258
282
319
392
238
332
316
375
261
274
370
298
347
322
343
308
381
216
373
289
270
299
320
363
373
265
398
292
335
349
327
314
362
326
341
328
350
334
283
220
331
363
284
272
336
329
388
307
290
306
345
308
350
271
304
325
341
367
265
370
391
292
335
356
288
369
381
285
309
336
211
328
305
312
337
327
315
333
281
349
326
244
295
332
331
314
310
191
265
262
263
278
300
317
308
300
255
243
336
224
358
314
342
271
356
342
288
311
332
266
358
396
319
262
274
327
297
392
306
295
282
364
335
283
253
290
314
371
421
270
316
338
365
315
279
346
355
228
323
277
343
300
308
281
338
285
393
288
286
358
360
275
312
289
281
339
276
416
343
223
268
383
303
288
292
342
235
281
347
294
353
332
355
306
394
359
293
277
304
259
329
375
324
329
335
278
316
312
239
281
315
304
312
331
343
312
353
304
296
275
302
304
286
276
211
326
298
317
403
276
297
258
327
298
351
303
389
221
348
359
364
327
368
304
345
269
208
279
277
286
297
304
327
273
268
269
357
349
302
318
315
351
318
316
300
324
318
326
343
335
362
374
334
393
334
333
260
351
297
291
282
290
310
295
194
345
328
318
350
226
342
377
253
348
346
365
346
327
321
324
356
243
336
380
326
306
258
364
347
304
324
316
372
345
378
330
290
330
341
269
304
288
342
258
339
309
256
302
229
355
309
322
317
247
319
331
383
369
298
357
305
343
388
275
399
317
287
286
312
324
344
344
298
230
213
325
279
287
378
320
251
308
304
282
338
289
350
217
315
277
247
308
379
349
325
335
330
290
360
316
325
295
302
343
333
263
316
298
312
261
324
413
264
268
369
307
251
310
413
383
330
336
289
365
287
307
257
303
303
346
299
299
343
284
268
313
355
313
345
291
357
284
271
273
364
301
258
303
222
326
302
356
261
282
239
244
290
367
389
306
295
336
289
217
349
346
343
319
292
277
320
244
307
277
283
352
325
308
304
319
361
338
297
333
347
382
293
336
304
380
294
279
298
322
326
277
330
277
346
315
244
241
278
380
353
284
285
406
360
348
342
329
412
325
356
363
233
267
354
301
316
281
356
300
314
217
276
312
227
340
305
276
334
404
300
336
298
330
322
261
392
300
290
235
235
282
371
322
235
310
320
343
324
257
253
291
297
331
353
213
368
387
333
332
255
333
348
300
285
403
299
282
370
264
401
329
387
334
251
314
303
318
325
324
359
264
229
351
354
399
337
311
231
333
371
333
270
215
367
361
321
329
290
203
332
420
289
253
255
297
329
308
336
368
424
355
317
295
229
337
300
281
298
368
398
342
354
340
319
275
321
319
307
328
280
378
352
342
321
396
293
364
314
299
382
377
257
291
304
284
342
338
371
348
275
330
328
283
332
330
294
282
331
389
323
329
379
344
258
309
348
296
252
356
322
355
303
285
379
259
395
290
333
381
318
310
356
363
305
326
342
363
282
317
336
310
314
241
289
309
375
366
316
270
287
357
318
309
278
318
345
281
277
264
312
297
292
331
266
231
358
348
332
297
326
354
359
335
318
306
299
311
344
281
330
304
368
324
373
350
286
309
375
329
411
354
306
351
303
247
293
355
313
293
304
331
312
350
381
277
324
355
299
264
288
311
302
267
259
320
360
219
386
270
366
292
350
269
419
360
322
313
320
352
358
285
345
272
363
334
354
290
347
313
329
387
252
392
223
366
264
344
400
369
359
400
342
399
275
206
285
245
268
292
335
297
362
321
343
307
406
264
273
246
280
325
352
297
292
349
373
358
374
381
298
283
316
340
345
326
371
323
305
310
363
350
304
368
270
366
263
308
357
344
351
363
306
362
289
292
283
317
356
296
315
288
330
320
319
295
307
316
375
312
409
307
336
333
336
391
225
339
352
358
298
291
330
308
307
393
262
403
344
371
347
323
334
252
303
311
332
307
315
335
212
308
273
335
309
279
347
298
259
284
325
330
306
261
344
345
317
376
279
340
335
297
356
325
287
375
332
307
386
301
227
301
413
288
330
291
193
348
349
265
331
308
304
215
289
272
260
329
377
406
276
387
301
356
370
282
328
302
337
367
319
266
333
274
273
219
283
314
294
319
304
345
354
324
341
261
274
321
243
367
315
356
284
285
260
351
373
325
316
257
371
298
279
260
315
334
239
348
301
317
333
305
291
389
336
286
309
335
297
306
279
246
381
338
311
345
307
332
412
360
336
301
339
375
254
381
363
312
291
268
355
285
306
264
322
313
354
267
237
403
354
248
251
343
282
418
247
280
255
348
375
380
348
329
360
280
373
342
291
332
303
298
340
317
388
349
340
310
293
282
252
278
277
296
288
394
336
309
291
285
259
300
368
248
353
288
340
248
400
286
327
362
368
333
320
280
331
263
272
291
415
248
404
270
242
312
350
387
322
304
305
289
349
401
234
286
343
284
383
313
398
289
276
304
392
314
335
388
257
321
322
350
363
364
366
283
294
285
389
338
280
315
299
371
355
295
287
239
279
418
266
276
382
317
242
295
287
300
293
323
289
335
362
278
325
371
361
280
337
337
325
304
235
314
238
370
286
279
308
348
282
380
369
340
363
338
340
200
314
350
324
328
299
367
356
329
362
285
302
188
291
277
284
345
323
286
324
311
363
256
326
187
362
358
319
250
338
317
234
379
251
402
335
277
369
295
357
317
378
258
357
364
386
420
320
286
392
272
315
336
262
335
240
289
302
268
402
293
333
220
292
364
431
329
244
439
297
349
245
369
303
273
300
342
337
343
325
292
330
332
447
272
360
363
301
326
337
253
239
352
350
365
321
339
383
250
267
361
255
333
352
365
380
290
253
315
259
344
253
303
374
341
364
220
237
335
365
329
312
320
313
335
336
258
332
303
301
325
299
332
291
381
365
297
244
353
370
251
280
279
359
352
387
318
337
308
285
257
334
351
363
281
334
319
219
326
328
320
303
349
350
379
344
339
313
332
364
304
391
301
349
265
301
380
294
375
353
318
331
345
264
368
336
320
290
326
235
417
316
288
283
277
196
269
373
352
330
305
320
364
323
242
290
234
331
222
370
320
319
299
324
296
321
250
349
294
309
287
388
238
289
265
216
364
311
365
305
280
397
356
411
297
292
263
412
303
318
366
321
266
343
364
266
286
306
290
271
351
300
340
325
276
361
305
255
352
341
335
285
301
338
337
324
409
314
322
298
299
393
382
252
324
291
311
304
292
310
375
327
348
298
411
325
203
357
314
270
250
221
286
322
287
285
318
342
342
306
318
320
320
312
272
292
364
364
236
407
419
298
331
311
292
240
230
216
329
289
351
348
316
309
333
337
356
296
295
274
278
378
290
331
258
247
332
292
339
310
354
291
225
272
359
364
257
294
332
291
257
303
258
321
370
282
343
303
272
326
259
366
259
365
281
355
288
327
288
319
300
396
391
247
247
269
231
391
316
260
267
294
419
333
325
354
257
275
204
339
311
256
375
419
347
331
310
407
276
283
291
399
277
362
362
394
278
337
424
357
330
289
355
300
266
351
268
308
300
365
312
404
331
293
263
392
308
293
218
246
355
345
310
252
351
296
356
287
313
290
333
310
355
370
209
333
291
315
330
344
359
357
416
243
370
333
320
313
345
304
279
293
322
273
256
364
277
364
258
313
272
362
354
292
259
362
342
304
372
329
338
322
324
330
289
371
231
337
258
280
388
335
261
243
396
331
304
360
276
311
321
276
264
296
272
294
317
232
344
279
367
307
339
365
293
299
288
290
263
349
345
272
350
334
288
385
356
322
344
328
347
330
357
287
346
250
279
349
272
350
402
336
299
301
344
360
312
407
287
278
281
343
367
302
340
312
305
353
287
244
359
306
309
360
294
378
332
349
276
287
388
273
341
297
328
264
319
332
411
311
392
326
283
310
275
257
356
331
291
312
349
350
346
351
349
361
346
303
330
340
310
386
276
271
358
322
270
324
353
441
326
362
336
259
328
339
334
317
367
257
345
355
307
332
335
360
257
303
300
346
308
285
370
267
261
306
335
291
305
341
305
316
304
270
436
339
291
284
341
326
380
276
334
320
340
381
269
284
241
267
301
340
305
332
228
344
386
332
262
339
216
321
359
338
288
329
352
353
295
314
285
269
281
314
348
266
320
240
260
286
383
280
198
301
363
209
339
269
305
314
345
297
206
388
236
340
309
310
247
325
383
372
251
343
293
319
279
328
307
301
340
269
336
393
319
332
294
287
326
390
308
325
350
263
300
409
342
388
256
239
314
263
299
296
344
378
303
251
286
333
338
267
253
315
311
352
281
349
313
281
327
285
318
227
318
237
247
300
312
348
286
289
363
321
344
306
387
236
291
309
377
259
361
300
324
306
311
309
276
283
389
347
330
297
291
275
235
310
317
277
308
306
253
241
245
280
346
355
333
317
302
293
226
382
274
285
323
359
278
327
353
319
310
274
328
237
241
268
371
288
331
281
211
261
268
340
309
359
305
313
252
350
322
272
285
338
300
294
313
342
257
297
290
408
331
324
402
309
319
292
247
273
348
258
291
289
319
302
333
271
247
292
292
329
330
347
241
288
342
284
305
329
351
328
347
268
306
309
291
331
279
303
302
313
329
286
326
323
376
290
299
327
246
316
303
306
328
354
368
258
298
409
325
372
374
265
366
265
408
364
252
312
376
301
344
406
296
336
274
326
352
313
239
382
299
388
365
324
314
345
340
281
321
304
301
289
371
236
293
334
364
349
326
285
361
297
270
290
309
331
216
310
281
246
304
273
310
384
300
380
303
323
320
417
383
316
345
381
285
312
369
361
279
255
401
315
229
313
237
381
399
387
274
351
293
310
271
268
273
304
289
240
272
312
344
319
306
330
288
266
365
371
368
340
277
347
205
256
312
376
338
300
316
172
294
325
347
214
394
353
293
308
365
298
304
315
282
176
330
254
418
368
311
334
396
283
356
316
270
301
289
434
368
288
294
337
227
310
362
395
355
304
274
231
319
313
337
330
322
217
300
322
311
312
337
308
194
379
343
281
431
299
313
274
364
261
311
283
316
347
262
315
280
288
285
295
345
352
283
314
389
337
361
364
390
275
367
268
321
320
294
326
363
286
324
300
327
248
312
285
319
313
315
299
298
298
284
283
323
328
319
312
351
225
301
269
327
325
289
218
339
320
276
338
258
377
343
309
390
356
345
380
304
345
326
343
297
312
353
313
253
377
365
347
347
332
333
332
305
323
361
325
408
253
307
346
309
248
358
393
363
309
377
314
274
327
384
295
337
338
347
362
294
313
347
448
359
366
308
309
314
290
379
349
367
294
262
294
300
297
310
293
403
309
270
326
297
392
328
364
296
339
329
376
294
339
302
229
354
302
286
343
297
307
335
336
329
342
250
384
300
365
299
330
263
318
217
328
344
236
278
320
319
302
259
313
340
255
312
236
291
352
328
300
321
353
367
341
377
245
318
334
409
345
186
263
305
323
315
238
264
341
279
314
316
336
406
305
342
278
270
203
321
340
356
357
251
264
324
340
371
262
359
304
235
236
311
273
259
358
278
270
349
380
257
344
295
349
279
325
362
371
339
244
344
372
349
238
315
339
376
282
331
389
388
372
416
352
311
376
323
328
296
384
392
324
395
309
306
322
332
302
266
299
347
319
347
250
315
361
443
292
270
220
253
373
333
323
276
354
301
343
324
328
354
321
359
341
278
337
324
265
357
257
185
334
341
242
206
254
340
256
320
401
334
318
305
265
326
291
370
308
348
262
318
250
342
335
338
261
235
336
338
241
302
302
296
337
293
294
315
280
324
349
351
285
316
379
313
278
330
334
391
233
334
343
337
336
391
292
306
286
311
323
364
343
257
329
323
368
279
326
312
219
265
342
284
276
389
298
285
354
295
306
229
305
317
291
358
400
381
314
312
262
283
332
339
324
382
302
289
301
333
336
253
310
382
294
279
294
338
260
281
356
364
209
256
332
321
322
284
352
338
295
315
368
335
342
331
231
273
265
359
397
284
336
253
232
293
302
297
277
290
302
282
330
323
390
292
293
344
346
279
305
323
265
271
329
296
355
329
276
321
312
382
304
324
352
378
366
381
284
322
307
292
324
322
345
367
359
354
285
232
276
290
312
290
281
315
272
355
318
322
304
385
263
292
329
245
367
267
225
269
259
337
326
340
244
307
249
306
378
315
273
298
211
356
315
339
390
294
344
377
331
318
350
411
274
342
265
319
352
297
343
333
302
352
351
309
420
299
359
340
241
397
269
355
339
345
361
311
296
333
363
329
291
367
259
344
269
287
355
322
348
310
341
244
319
326
342
321
194
300
275
324
249
338
294
281
310
331
340
322
252
252
324
303
321
325
354
350
388
320
270
256
302
327
323
239
247
346
283
330
273
258
280
224
305
351
277
364
330
372
326
311
264
302
267
401
344
396
349
270
272
265
342
330
301
348
303
256
290
298
295
337
315
330
312
312
312
298
313
245
305
332
315
285
269
389
229
350
292
339
243
308
296
391
395
377
298
325
369
315
353
347
291
347
393
325
350
319
396
327
287
363
315
237
256
308
325
322
344
278
341
259
293
306
294
257
353
346
307
399
311
346
316
298
365
390
331
290
325
228
325
316
298
306
408
325
321
310
332
341
254
230
274
306
223
244
398
380
332
276
296
322
354
405
298
334
384
312
327
338
256
318
387
333
299
385
316
332
368
270
342
314
313
361
322
318
244
383
290
367
356
342
312
357
303
276
371
342
250
353
318
286
354
347
340
338
290
393
329
222
338
213
279
279
225
269
242
351
318
356
331
334
250
319
340
318
332
337
322
271
336
314
360
406
336
303
381
364
275
324
270
246
325
282
304
232
312
276
333
368
349
352
261
396
298
306
255
323
276
321
302
377
374
396
358
305
325
369
304
331
385
276
345
314
323
430
290
290
249
329
253
267
299
319
292
342
342
345
333
404
228
321
264
325
283
415
265
316
283
314
364
198
266
340
296
336
326
292
330
320
273
291
395
326
296
310
344
361
314
286
341
252
257
256
381
302
341
390
289
242
324
404
366
283
233
361
353
267
232
233
387
264
290
378
300
351
334
262
312
320
322
287
240
303
378
325
372
281
314
388
295
279
230
299
392
332
368
353
319
352
344
299
336
349
311
216
319
356
220
350
298
287
324
375
347
309
345
327
348
295
315
308
311
379
340
340
348
362
403
353
332
312
335
306
287
350
289
215
313
260
282
376
354
250
292
267
331
363
283
355
321
378
334
296
342
285
321
315
334
338
320
352
278
323
274
304
287
272
287
358
336
291
334
284
269
326
243
343
327
308
358
362
287
372
401
408
382
282
283
346
324
363
317
324
383
293
265
327
303
360
365
214
323
358
383
329
292
297
340
284
305
345
321
305
378
377
362
250
299
311
300
359
388
272
311
237
311
216
271
339
348
323
411
256
353
334
321
313
316
337
279
354
271
348
346
339
363
324
355
262
384
224
341
311
307
400
354
212
270
310
332
342
279
311
289
366
282
273
292
340
383
333
356
238
296
311
281
261
333
322
309
370
291
340
334
308
299
361
261
344
325
360
242
315
318
305
277
338
243
197
289
262
265
244
286
252
259
376
382
263
352
236
345
263
247
272
239
293
391
320
305
210
378
279
209
320
350
406
296
298
278
343
276
343
210
335
247
353
291
312
375
351
394
314
330
266
257
368
332
292
266
303
355
296
278
367
313
293
365
318
313
312
316
277
321
396
257
334
357
231
336
366
378
308
278
384
258
334
283
288
248
275
296
262
314
358
302
344
333
245
311
310
271
307
226
312
301
308
302
306
435
268
349
313
357
424
298
361
328
327
335
285
378
311
357
330
294
298
350
290
214
308
295
342
289
305
323
298
306
312
336
282
277
332
342
282
343
302
215
289
271
261
375
354
358
298
308
328
385
255
263
237
282
286
343
285
287
325
285
327
384
279
339
255
281
339
270
279
330
365
305
315
291
308
268
317
328
334
351
283
242
311
326
339
329
293
286
240
272
298
295
300
274
370
380
370
282
251
326
225
311
238
398
313
346
282
298
337
298
342
343
281
187
257
292
337
322
323
300
297
324
374
231
255
279
285
305
284
331
329
337
273
315
303
312
238
339
371
273
317
276
341
343
380
274
267
358
269
278
271
361
308
329
409
337
356
331
273
359
283
354
347
326
363
356
231
301
385
281
248
290
343
389
347
380
326
349
314
277
398
346
335
298
343
384
269
334
173
336
318
293
320
271
348
341
270
296
382
266
357
272
274
365
337
293
298
289
274
364
327
312
359
333
333
256
305
336
331
298
297
317
350
253
344
338
297
269
339
312
322
337
379
251
332
304
326
334
419
314
325
335
316
301
238
319
329
272
303
261
259
291
330
307
325
302
314
312
251
285
293
400
223
280
308
357
308
329
353
322
349
243
296
383
318
314
393
359
300
365
327
323
325
310
202
319
364
370
389
334
341
237
352
356
302
416
186
309
275
297
301
302
344
368
330
325
361
241
332
317
371
329
296
283
314
381
313
328
355
280
394
267
337
317
356
313
233
342
323
330
349
361
289
356
390
238
264
289
395
357
396
254
324
339
261
335
274
339
253
321
329
388
336
295
279
298
370
302
305
321
301
422
321
280
271
281
245
386
319
224
347
318
426
330
334
304
397
343
342
228
312
390
327
339
299
336
296
315
402
313
299
331
325
305
288
292
373
385
309
225
361
296
303
354
312
264
275
336
291
307
314
259
335
269
351
337
347
396
217
384
327
329
277
346
302
339
305
276
281
324
384
321
315
269
296
391
294
309
334
345
379
373
314
329
351
396
395
284
319
360
262
389
300
343
310
355
291
229
397
321
296
241
302
328
318
352
327
329
313
272
356
290
351
355
311
342
335
336
289
320
244
346
284
266
324
306
273
299
348
310
348
334
364
301
277
317
250
270
358
314
265
313
282
342
345
329
388
306
273
384
304
343
315
258
293
307
241
406
298
275
235
254
302
258
279
275
325
344
253
242
301
309
271
327
348
252
364
344
328
349
317
253
353
332
260
359
353
262
333
315
282
301
294
268
273
325
293
351
362
364
279
345
270
334
315
268
347
274
319
393
293
316
305
360
260
338
385
380
303
319
244
291
310
352
332
328
280
384
327
339
305
336
322
355
405
316
313
360
308
374
312
365
270
328
301
307
289
337
289
316
285
345
377
259
311
303
325
299
333
334
260
237
325
350
275
280
313
307
301
229
395
303
326
271
323
248
296
290
281
394
312
253
299
273
340
354
249
293
317
353
285
319
324
367
364
299
419
290
353
271
364
291
236
247
362
315
317
370
303
326
340
369
304
381
318
315
390
343
341
362
352
293
289
358
219
312
352
299
328
329
280
304
344
301
318
265
393
315
313
353
295
262
227
304
337
367
250
286
399
388
398
363
394
439
333
199
321
424
273
323
305
326
264
235
249
391
225
268
320
377
399
234
251
284
242
261
314
283
382
292
327
284
351
364
302
344
314
326
275
323
299
356
237
332
341
250
269
322
302
308
299
323
319
207
276
317
273
365
353
311
358
311
352
314
308
306
388
238
327
348
360
350
335
277
277
379
254
314
344
324
280
386
335
274
329
320
344
322
352
226
301
272
318
346
310
291
306
260
311
334
298
275
368
268
290
301
216
327
357
322
361
344
274
365
358
284
368
248
285
249
363
344
237
220
348
283
329
307
263
311
268
378
283
280
314
315
335
313
340
270
336
318
271
284
314
355
321
333
277
256
284
368
316
286
377
396
196
292
307
259
302
339
259
315
264
373
297
357
374
359
323
350
311
340
328
340
310
338
339
366
175
319
306
263
283
239
416
277
269
309
294
259
237
305
367
343
344
312
306
327
353
305
293
288
365
283
391
336
262
327
393
228
399
346
207
237
259
242
329
246
322
381
335
376
362
377
320
270
369
349
287
360
248
279
410
335
300
326
324
289
290
319
295
324
289
290
310
289
287
278
230
340
364
320
364
311
458
243
283
308
345
282
389
327
340
298
383
291
358
366
327
308
307
273
359
247
298
338
186
313
310
321
226
315
331
367
311
311
367
322
299
329
305
245
327
372
321
315
345
272
324
299
311
295
280
333
340
296
281
314
359
298
301
350
270
325
283
267
407
275
358
290
364
260
336
298
308
263
321
366
278
251
280
342
356
255
303
390
302
329
348
336
306
311
315
330
254
368
244
311
351
370
292
321
236
384
378
307
213
293
305
278
270
307
363
270
342
326
315
276
303
326
339
303
395
325
324
366
225
360
268
238
314
355
354
355
351
380
320
314
297
218
265
365
281
419
269
334
331
316
311
331
350
263
334
264
363
359
422
316
297
295
346
318
330
360
376
380
246
333
393
286
224
368
330
394
329
318
276
299
318
305
358
281
274
322
305
269
275
390
305
373
218
345
240
289
298
222
370
275
357
333
283
328
272
332
341
302
371
351
293
299
397
288
371
308
400
347
270
253
269
279
367
348
381
311
281
365
300
358
327
234
275
292
308
245
315
278
263
348
328
317
308
298
312
272
376
333
277
276
255
308
305
340
376
263
268
203
327
350
347
362
331
304
390
392
330
316
299
319
335
326
281
378
306
300
273
366
309
351
207
280
310
264
320
258
234
226
270
329
381
288
280
264
263
338
314
238
267
296
289
347
303
358
338
333
275
335
353
284
315
331
362
324
250
315
193
306
275
355
324
311
285
317
343
235
259
322
275
348
312
263
338
290
328
352
388
310
291
273
281
291
262
332
333
395
312
298
286
363
354
310
347
317
257
375
339
285
262
259
362
269
338
294
260
374
353
329
271
360
269
252
272
304
354
250
363
343
201
305
332
288
225
272
289
202
308
346
236
315
367
380
347
392
302
369
247
279
346
318
290
318
325
314
236
247
312
389
276
306
279
233
243
248
324
362
299
296
297
400
323
332
272
318
318
353
240
333
383
351
346
274
243
247
327
360
335
334
314
305
417
258
395
298
253
279
320
361
314
290
319
290
326
275
288
393
276
333
277
330
339
309
370
327
410
279
348
295
297
311
298
312
411
337
311
360
303
357
341
356
334
409
418
309
373
336
336
287
321
352
291
334
375
296
317
325
165
336
349
288
400
321
301
312
257
222
269
336
379
301
255
337
362
287
291
283
314
302
306
305
358
239
335
396
380
313
360
296
346
297
350
315
386
317
304
254
237
366
264
268
354
378
286
279
351
277
253
296
401
268
344
355
349
322
255
242
341
276
327
320
318
278
265
322
321
277
337
348
337
307
345
339
343
353
362
291
290
286
287
319
210
331
339
286
377
256
406
287
271
265
316
345
415
303
306
343
299
283
321
232
256
244
326
331
293
305
335
316
293
412
335
390
248
266
349
254
279
350
271
244
298
341
345
256
239
359
372
314
324
335
373
300
363
323
338
296
415
269
378
384
268
345
288
366
351
321
251
276
404
327
333
274
298
204
235
210
360
358
244
298
364
313
391
250
285
288
262
348
287
320
315
271
391
281
353
316
256
258
270
317
248
280
313
383
308
331
355
280
363
285
269
310
356
349
257
339
267
291
300
303
338
384
275
317
310
315
323
366
374
315
358
330
342
258
324
308
297
383
269
236
275
237
372
265
291
329
332
321
422
336
320
373
304
313
337
326
314
386
328
387
216
324
349
309
316
261
335
303
329
249
339
182
286
324
285
357
353
233
361
326
312
369
251
292
281
321
308
374
362
324
257
345
378
248
310
311
325
380
289
360
303
281
357
319
312
240
350
345
297
323
254
342
283
283
339
259
354
323
367
323
328
349
266
286
290
320
272
337
369
286
333
334
257
342
288
358
374
254
317
323
279
369
261
256
399
282
293
317
249
273
295
351
299
320
354
263
328
298
246
321
350
217
281
283
348
282
330
271
376
298
226
311
310
366
355
298
338
293
441
290
277
298
449
263
337
312
320
268
330
350
393
350
298
328
350
326
373
276
327
278
320
284
317
364
354
251
337
311
324
357
364
260
279
269
374
312
333
330
241
349
315
274
373
321
322
294
284
295
390
328
255
308
337
263
332
250
320
257
262
253
302
345
309
323
298
302
346
299
246
401
357
370
262
322
355
364
309
374
347
333
356
327
250
288
310
339
324
299
351
347
315
374
369
334
273
265
251
352
372
329
280
328
346
298
345
294
360
335
291
329
352
375
317
333
327
323
312
350
288
266
326
329
351
259
324
276
334
374
291
341
394
289
362
259
297
311
316
301
387
264
322
278
330
291
355
370
290
292
388
335
374
301
295
278
287
287
286
283
299
333
290
313
317
319
291
272
311
216
343
249
261
314
272
293
387
334
382
310
378
318
368
357
312
294
289
324
358
356
307
285
360
345
314
280
284
309
333
291
359
223
305
322
359
303
268
325
329
345
260
291
363
281
381
331
237
341
287
249
394
378
306
352
424
315
338
252
270
337
257
359
409
318
277
324
304
295
301
310
252
259
339
359
241
314
265
368
243
336
269
287
237
289
336
395
278
288
316
281
289
321
349
301
308
251
284
305
290
305
269
308
249
341
280
256
311
344
287
247
286
332
293
306
278
364
260
351
300
340
286
323
345
374
249
373
278
257
264
331
268
335
340
360
297
252
349
313
371
339
344
304
273
265
367
254
285
285
383
237
342
313
290
325
270
302
325
261
335
351
334
318
280
332
272
322
263
306
259
340
303
267
339
390
337
208
345
296
387
322
340
367
327
318
352
373
258
351
328
297
267
313
361
282
413
348
321
283
310
304
356
306
327
312
263
274
357
270
363
185
290
360
263
338
362
294
355
361
301
351
238
278
334
285
400
280
353
267
349
238
341
315
339
323
309
308
316
330
363
372
338
259
326
313
255
233
326
339
371
285
322
306
345
332
383
319
338
272
332
193
290
345
355
370
349
264
300
303
271
301
354
309
318
347
299
318
266
330
342
307
323
275
301
337
326
282
288
313
320
319
256
355
277
354
295
278
314
259
321
312
369
282
335
249
343
398
270
312
325
240
303
439
304
331
269
373
262
307
374
368
294
276
334
326
318
314
353
372
362
323
361
267
386
295
343
335
293
335
341
345
394
355
264
318
239
307
334
409
310
361
272
337
244
352
312
286
329
361
289
355
332
361
274
320
408
345
304
285
323
296
308
242
377
290
359
286
255
381
392
326
305
278
383
314
371
309
293
374
274
291
388
337
379
293
380
263
308
283
253
333
347
286
312
276
355
322
265
335
194
273
325
320
334
353
289
244
338
320
259
252
341
363
339
253
375
296
350
341
228
212
342
233
284
393
307
272
299
315
352
285
322
307
360
276
270
318
339
332
358
294
248
382
363
341
316
336
274
387
362
327
357
345
236
327
272
321
290
264
402
373
285
176
330
250
398
364
337
257
346
290
323
289
269
386
334
342
261
384
332
276
343
229
291
306
349
379
310
317
356
251
322
215
272
290
344
390
312
391
341
330
263
289
366
340
301
394
312
322
287
310
314
276
269
326
288
257
381
341
257
257
364
260
292
317
314
339
421
346
371
370
353
324
341
269
321
416
234
296
293
343
362
312
311
343
325
299
285
349
286
338
351
344
343
272
320
274
391
343
328
286
268
343
386
361
350
415
393
291
342
353
258
370
289
269
305
383
357
348
310
389
322
221
365
305
302
298
383
279
307
303
338
342
230
250
340
308
362
316
240
249
285
278
342
352
329
335
371
294
368
238
314
315
274
321
290
353
336
292
408
304
273
334
330
268
168
283
341
282
355
242
367
238
381
270
270
317
227
347
401
315
303
320
283
214
342
233
347
292
280
300
302
340
243
218
320
216
317
287
293
238
297
312
306
227
323
256
376
301
345
363
338
316
355
303
352
267
370
379
308
305
401
282
387
355
316
288
301
297
339
272
376
288
238
343
299
244
272
266
321
394
390
326
336
368
318
327
178
382
336
368
298
323
269
401
314
291
346
335
296
267
341
380
274
297
326
358
420
310
337
314
320
378
276
305
329
339
320
265
338
321
290
365
368
232
302
300
246
239
270
306
353
330
264
321
400
282
296
343
307
299
289
358
371
319
259
240
347
275
329
280
274
263
329
430
348
429
331
289
285
349
297
404
341
357
336
355
294
235
275
308
287
296
318
367
340
318
270
326
296
339
288
312
248
386
339
273
245
215
319
308
289
250
429
292
341
310
380
380
361
322
320
252
324
326
304
390
321
255
297
289
372
294
374
279
251
324
263
299
379
372
324
280
301
361
342
345
289
239
385
279
386
311
373
343
237
428
323
314
316
374
291
221
286
366
317
287
299
290
253
359
303
264
307
377
292
325
270
348
340
218
323
326
305
352
379
277
406
330
330
257
304
273
376
263
351
266
354
274
322
304
276
230
339
314
223
338
314
273
342
315
343
361
366
290
239
354
370
364
300
384
285
378
258
300
323
257
330
353
349
244
356
254
306
290
275
245
324
280
238
328
361
240
358
321
391
332
361
230
243
294
253
323
347
301
280
376
296
322
369
238
330
326
348
384
291
289
365
267
348
241
264
398
340
361
334
367
289
354
275
344
307
344
323
299
348
271
249
229
383
388
322
305
328
335
344
352
283
334
278
235
398
291
324
351
295
265
316
333
315
328
314
283
215
257
348
347
385
281
239
366
285
373
358
387
294
290
311
333
314
314
220
328
287
344
269
359
272
334
377
316
331
371
284
386
310
246
387
262
328
300
327
341
334
291
296
328
360
258
342
309
331
340
344
381
251
358
262
313
283
235
321
298
263
302
268
352
358
277
317
292
295
305
351
304
248
251
319
323
303
239
336
343
356
358
377
317
297
380
322
308
327
392
333
292
252
356
357
410
254
242
370
348
319
305
244
320
299
326
299
325
286
332
231
334
329
277
299
388
384
306
271
361
256
299
355
347
330
265
330
329
288
311
291
397
365
334
293
347
256
337
316
259
345
340
321
250
358
330
377
330
279
314
363
325
311
314
326
280
334
330
277
302
335
375
332
322
308
348
316
228
365
329
216
296
279
282
286
332
336
343
234
325
368
364
329
298
399
309
226
377
346
331
313
350
256
293
287
302
332
259
296
389
345
308
289
266
288
341
390
362
315
343
279
325
343
305
256
381
326
340
366
219
221
377
379
326
341
367
330
310
379
267
235
336
347
267
325
298
334
312
310
321
295
296
345
319
319
316
357
349
358
247
171
272
264
302
281
260
349
328
275
319
265
238
297
292
341
331
238
256
418
246
203
227
365
277
285
257
297
300
331
380
287
329
340
271
344
300
377
240
258
298
260
322
302
424
373
291
335
278
282
325
282
318
394
317
316
385
328
303
295
349
275
345
305
329
289
316
306
313
342
278
381
341
369
313
330
355
266
299
348
307
254
287
387
360
343
358
403
305
359
323
336
304
283
229
365
326
297
208
361
311
311
258
268
315
304
286
330
291
308
294
296
277
225
310
253
346
330
307
365
322
250
344
344
277
297
284
389
322
396
383
354
280
284
289
296
424
223
340
353
305
311
284
323
265
388
256
273
348
366
339
286
293
289
285
334
338
280
333
276
373
372
332
320
323
303
326
298
408
372
330
282
262
387
345
310
381
318
293
348
286
318
348
214
342
269
353
325
347
277
290
317
359
318
313
321
293
228
385
320
331
324
310
326
344
275
275
375
342
238
359
228
215
355
283
281
365
308
286
373
253
338
323
303
343
251
278
365
294
350
347
347
324
293
319
329
355
361
375
348
284
284
280
303
303
371
360
291
254
336
252
341
329
285
297
218
381
331
261
318
317
292
309
270
266
259
301
364
254
371
395
304
285
436
288
419
357
328
243
181
255
301
285
242
336
364
329
383
381
311
246
228
313
322
210
298
303
296
390
237
340
288
256
289
311
324
392
273
323
322
360
316
370
339
275
318
287
352
312
274
373
240
313
316
333
305
356
354
336
365
292
321
242
321
369
330
360
316
296
269
316
273
364
325
240
364
285
338
320
385
226
292
292
386
306
354
395
339
330
390
258
354
304
383
340
299
276
394
285
305
300
326
280
339
310
351
329
209
327
337
329
257
309
367
354
224
249
358
265
295
336
406
333
309
312
256
295
260
328
283
264
275
353
309
309
333
301
400
278
322
385
377
301
235
352
357
291
277
322
329
309
255
284
280
301
280
328
321
282
264
323
289
344
382
360
300
302
316
351
349
320
296
177
304
302
316
289
292
373
339
318
357
360
344
311
311
239
351
400
372
351
297
310
274
287
350
313
353
355
373
364
327
280
327
342
351
251
237
293
283
359
366
281
241
288
226
313
393
344
333
322
244
371
359
307
304
303
270
285
243
209
351
257
408
363
422
426
305
271
333
262
393
346
351
354
278
379
267
351
349
376
327
242
329
284
310
259
302
333
308
249
303
301
256
297
296
446
294
357
386
288
307
316
231
307
349
350
383
278
247
297
387
377
361
211
259
354
360
353
188
325
316
251
372
287
306
285
285
272
243
289
263
334
324
235
337
311
317
341
336
371
391
278
338
360
418
320
226
284
293
375
338
296
319
362
341
260
353
335
337
324
308
350
329
409
421
301
315
393
341
315
348
317
350
264
230
356
357
275
196
327
347
325
344
263
371
330
231
172
282
321
286
326
369
333
394
361
346
313
376
384
377
242
378
317
303
361
330
376
276
323
321
292
320
235
377
342
430
368
397
261
286
267
318
307
343
319
292
251
387
368
317
362
413
332
336
300
252
387
342
210
280
302
291
280
346
348
325
345
313
281
370
345
344
319
262
199
313
290
304
368
354
324
342
320
362
296
311
303
301
334
344
289
358
245
371
381
286
276
259
332
307
364
333
318
329
358
333
255
347
255
328
306
386
270
371
342
392
314
340
359
321
344
202
235
322
284
283
337
310
252
351
284
379
286
307
384
250
335
344
369
302
281
295
319
288
357
304
333
342
301
271
304
346
321
313
296
314
316
322
302
334
298
315
233
341
366
326
295
289
219
314
250
337
261
335
291
328
327
336
275
370
372
304
355
263
297
341
269
342
270
320
355
298
354
296
254
267
399
325
276
373
325
286
278
344
273
285
211
315
369
353
301
377
322
330
290
270
286
296
303
343
310
270
283
282
364
260
334
281
253
308
333
345
339
343
331
336
348
265
253
335
298
356
326
258
336
400
267
330
354
280
242
350
345
314
352
318
288
339
321
292
253
368
303
350
294
303
396
300
309
300
312
290
362
372
342
360
327
247
305
289
291
381
338
332
340
316
369
342
286
370
402
286
270
374
316
342
254
283
305
316
309
345
269
292
285
261
273
248
419
377
309
292
358
420
260
323
315
357
361
328
325
275
254
320
347
309
402
346
302
334
305
284
312
376
288
384
331
284
361
330
412
431
326
256
225
264
325
342
287
285
288
331
269
363
287
318
317
333
249
258
370
332
218
399
289
243
355
397
296
378
340
346
225
378
379
336
282
334
277
311
292
298
330
360
245
350
334
339
281
298
312
296
291
283
319
329
302
341
325
277
337
370
299
318
329
235
216
263
326
322
350
207
329
250
246
299
367
359
346
300
303
255
390
353
371
347
319
329
225
357
220
260
321
346
358
324
319
311
259
304
339
351
259
335
339
384
349
301
319
399
263
333
253
271
267
329
379
322
404
350
324
293
179
326
306
307
293
346
303
308
319
260
249
330
313
314
388
236
248
367
303
317
371
325
357
314
336
337
361
391
292
309
286
362
291
355
314
391
245
365
339
244
317
331
325
276
289
339
286
390
288
312
324
326
315
194
272
349
352
293
336
278
336
303
254
331
332
344
381
343
377
292
237
387
286
294
373
275
271
277
357
311
354
262
397
312
334
231
198
270
303
343
310
215
332
335
281
329
286
359
337
249
317
305
324
271
303
253
405
289
332
260
242
334
340
212
290
354
323
331
323
297
335
367
257
195
340
274
238
307
328
321
348
315
300
293
376
301
330
291
337
350
284
313
333
334
310
332
316
302
346
302
328
355
291
331
303
370
381
341
371
245
314
319
367
301
348
283
279
410
395
289
302
283
344
359
421
254
325
330
214
354
271
311
311
358
343
259
246
233
351
370
323
338
289
372
346
228
314
198
300
332
210
307
358
294
298
336
231
345
334
314
244
341
305
335
356
351
384
198
357
324
325
312
320
336
265
384
360
303
244
353
298
318
350
295
318
387
254
315
293
297
325
324
325
323
311
310
246
387
318
317
252
369
325
333
283
252
264
354
279
326
349
342
277
289
289
254
376
266
301
341
410
325
238
375
336
358
271
312
408
296
266
262
337
306
320
375
299
332
254
336
355
345
313
298
288
284
364
323
205
401
312
271
294
343
302
332
300
322
275
362
347
258
314
316
355
257
259
251
343
329
340
271
340
338
300
309
275
416
287
345
328
226
334
388
338
323
408
331
358
282
272
308
321
336
327
297
334
362
286
329
318
299
371
376
279
338
348
312
293
246
309
339
254
336
373
348
379
393
321
283
302
287
294
326
271
320
357
297
361
268
335
414
312
305
277
321
275
347
320
322
285
347
272
287
322
404
341
280
386
190
263
367
349
256
317
366
317
282
302
266
329
263
198
308
298
288
256
322
307
237
346
340
411
298
206
310
289
291
310
288
389
210
305
356
353
282
378
288
342
393
327
306
304
289
274
306
350
313
310
296
274
393
215
273
305
339
327
280
278
358
248
361
347
270
389
283
370
355
353
345
270
347
344
314
322
290
301
398
386
354
370
288
299
289
372
339
312
277
347
263
276
279
277
318
334
288
308
354
389
306
330
331
316
324
316
309
270
357
264
234
360
279
211
351
351
322
293
321
298
353
374
415
332
296
405
323
338
304
286
336
415
287
254
340
381
316
344
203
271
238
272
292
321
248
289
330
329
367
299
339
335
423
314
254
279
338
291
412
289
288
328
241
338
275
266
390
360
303
330
329
358
308
230
320
337
389
269
285
290
322
260
305
321
293
312
298
216
307
338
300
315
377
363
263
340
270
239
332
321
334
293
374
299
291
280
253
305
306
298
279
287
282
326
353
342
252
228
360
297
340
309
275
342
299
351
284
329
370
321
330
340
309
355
298
318
246
320
266
247
282
324
287
306
297
256
271
236
258
381
341
329
350
223
377
217
278
363
312
374
311
314
358
329
326
378
330
307
354
324
307
297
329
349
330
247
344
356
271
338
278
293
314
305
315
276
293
274
331
300
396
242
387
257
234
251
275
325
324
338
380
323
340
337
306
280
250
328
286
319
323
320
347
254
341
385
332
336
343
280
336
348
342
240
299
337
349
359
365
271
316
386
372
341
296
291
287
216
340
299
325
313
363
314
406
304
368
344
267
199
232
281
235
290
355
328
295
399
270
330
311
323
351
209
277
314
247
362
274
370
353
256
369
343
285
329
310
321
264
273
249
257
248
352
296
289
302
322
312
396
340
324
404
254
277
314
283
387
317
367
331
219
324
300
304
305
347
311
272
359
367
330
399
284
383
301
287
326
328
340
308
309
327
407
358
223
255
286
289
303
375
265
288
297
370
351
319
335
252
345
299
338
347
323
334
313
302
322
367
308
361
375
350
285
307
273
379
287
345
324
302
363
238
276
298
389
303
351
315
395
250
265
319
263
343
307
319
313
320
241
352
370
273
336
338
324
351
367
278
315
282
289
242
270
246
265
395
342
271
342
386
291
267
352
326
352
331
226
277
283
270
305
293
397
372
335
369
311
365
337
332
341
330
314
339
321
217
301
285
223
381
242
272
277
233
342
313
238
377
269
310
266
240
380
291
308
292
358
249
319
281
261
352
337
309
236
356
341
295
297
269
345
373
283
308
277
328
325
321
367
320
300
248
302
264
305
367
311
393
332
256
386
274
308
336
329
282
369
377
233
376
293
298
337
381
339
312
309
323
320
350
334
252
283
268
256
340
311
299
419
380
350
331
351
258
291
350
312
220
334
352
334
306
360
334
307
361
310
326
385
321
254
335
361
236
278
315
279
225
303
316
306
320
244
366
399
371
359
354
442
300
242
281
298
360
308
341
295
236
321
293
268
250
307
234
215
347
330
272
265
319
351
302
250
228
365
275
365
272
315
397
321
327
267
293
348
440
357
340
391
313
217
274
242
356
213
298
313
363
281
366
273
345
383
244
353
366
361
360
279
276
341
342
337
312
372
333
311
300
314
333
275
266
323
313
284
376
324
301
385
315
305
353
378
373
399
337
334
394
223
268
290
368
347
264
310
309
257
332
396
341
353
330
324
304
319
316
325
252
332
427
317
416
323
239
378
334
375
336
306
330
338
432
395
318
274
409
315
299
261
204
260
260
281
409
346
344
251
348
329
288
266
316
368
315
294
346
357
330
300
373
310
261
308
351
336
346
335
350
386
304
247
300
362
320
367
389
189
233
295
255
307
300
314
276
371
387
283
311
371
357
396
337
336
280
357
283
347
292
328
275
338
313
269
269
292
322
387
311
332
354
305
352
357
249
233
292
306
349
310
284
337
239
351
319
322
331
269
317
320
418
292
255
275
346
325
259
316
304
302
351
238
289
269
417
382
274
361
308
379
325
296
246
313
248
304
377
329
307
413
298
396
302
300
340
286
248
293
371
263
312
289
292
327
321
305
346
303
287
320
422
282
338
288
349
308
257
328
407
274
312
320
338
340
344
237
288
291
323
238
365
364
288
314
207
285
244
333
287
344
336
338
327
289
398
321
330
265
241
299
360
372
377
334
298
330
319
271
284
329
351
338
315
242
322
300
334
368
377
303
228
281
313
367
368
373
261
255
334
316
291
345
291
312
309
305
358
302
375
353
214
279
251
371
307
253
332
387
306
285
335
304
348
346
405
327
280
374
358
329
323
338
274
254
293
343
295
308
220
319
285
259
366
315
293
319
294
309
266
329
241
282
246
294
287
356
318
303
335
322
384
309
321
386
271
333
236
306
353
310
224
287
307
304
314
380
296
245
381
280
240
187
253
281
315
366
290
329
345
335
326
334
315
345
286
306
343
307
276
260
225
284
310
343
257
253
318
396
309
361
288
296
300
282
358
334
327
263
289
248
328
256
348
296
315
233
271
344
253
293
258
358
228
285
309
260
199
258
317
282
280
317
314
247
365
330
338
374
313
235
274
304
354
270
341
302
338
366
201
393
327
329
280
282
250
329
337
378
321
341
272
284
336
374
308
351
423
278
289
370
239
391
317
217
406
241
275
287
378
387
312
360
350
306
319
276
355
347
200
269
269
340
313
294
333
319
284
344
315
413
290
295
362
295
226
284
304
310
271
371
307
261
327
345
418
341
337
251
355
357
253
365
197
364
280
266
333
265
302
345
285
376
378
350
338
364
404
243
331
275
322
305
333
283
310
296
278
393
383
304
303
362
355
281
301
303
295
299
365
397
380
186
393
368
308
273
217
345
380
400
387
303
243
320
336
280
306
360
266
266
285
291
326
253
352
284
258
324
364
378
358
341
282
288
308
347
339
356
305
290
343
274
253
304
371
310
223
293
331
311
257
325
266
304
318
355
271
301
197
292
326
294
399
338
369
352
206
341
282
354
348
350
260
338
371
350
338
380
296
305
286
358
300
333
276
283
332
273
310
342
349
271
299
298
385
344
268
306
373
356
362
362
311
354
307
274
260
280
327
302
380
353
299
321
302
269
239
251
337
253
319
305
360
187
319
236
346
336
311
232
338
416
308
330
362
397
356
368
364
266
386
291
424
317
359
310
394
284
357
258
274
354
287
379
239
342
273
271
288
362
297
328
303
286
306
375
300
299
311
321
344
329
305
402
390
324
260
275
334
291
415
269
283
319
312
363
303
276
332
326
292
366
355
303
322
361
314
326
394
365
317
331
297
301
357
382
315
295
336
372
323
285
362
322
390
288
332
250
277
308
287
277
350
378
367
339
272
251
290
347
258
231
311
418
206
394
343
295
345
294
290
343
297
418
264
345
287
375
336
227
211
345
350
326
234
301
234
318
299
291
321
293
300
260
336
261
240
351
324
304
332
262
350
332
199
320
315
293
292
329
203
301
311
266
327
322
315
270
294
325
335
295
335
249
311
327
348
354
299
282
330
304
257
255
248
294
266
335
343
362
383
386
299
318
304
276
304
327
307
265
216
271
295
364
363
239
343
334
354
308
312
280
344
240
366
259
345
336
255
390
300
368
339
396
362
400
349
363
321
290
294
359
212
278
278
347
320
311
224
335
294
314
302
377
366
255
356
350
308
266
410
409
377
407
303
382
329
395
377
284
289
342
272
248
285
321
385
355
290
276
342
320
345
323
309
330
326
285
342
320
327
376
235
293
308
355
332
380
299
262
349
220
373
336
326
377
287
255
287
272
344
412
269
265
322
281
270
266
271
330
244
356
329
315
361
356
317
367
313
241
289
347
307
316
290
299
274
341
337
301
315
314
284
385
262
305
383
233
337
307
244
285
303
380
316
335
345
308
313
298
334
280
330
369
338
382
254
272
354
328
366
242
300
303
318
410
296
321
313
266
323
287
294
374
187
325
248
284
279
364
316
377
402
281
327
294
301
278
338
288
302
206
315
330
323
277
278
287
242
376
373
345
324
385
322
264
369
375
336
351
210
228
316
295
284
278
233
296
410
268
256
329
332
358
310
270
303
346
258
365
350
291
331
285
302
319
329
325
273
419
273
313
348
391
325
300
322
301
360
349
254
275
358
364
367
310
247
276
302
355
285
372
340
340
283
381
369
295
327
344
287
292
334
244
341
232
234
300
314
280
253
284
266
314
275
297
241
285
419
338
264
345
314
284
375
280
257
226
319
260
292
269
273
361
322
305
339
382
267
322
370
294
289
359
289
315
267
374
241
326
244
445
330
278
365
317
260
361
339
264
417
279
339
310
283
232
268
330
296
304
349
335
342
338
342
309
315
252
312
334
356
312
335
295
321
267
299
370
312
342
380
311
294
381
260
304
386
366
273
272
331
276
339
317
339
355
340
254
336
314
360
307
302
278
388
359
328
385
333
371
332
328
353
333
184
231
343
283
295
243
329
332
262
310
334
260
295
327
265
367
280
315
321
311
271
353
283
300
300
252
272
279
334
332
338
277
318
320
397
307
332
391
284
366
372
341
329
301
369
384
271
318
293
353
359
308
252
424
310
251
258
286
315
384
318
277
335
297
205
216
333
357
269
320
304
298
256
305
341
310
337
283
304
307
378
272
333
357
289
331
308
282
242
342
261
310
376
338
347
268
332
378
319
339
382
286
299
295
328
290
361
290
281
311
300
298
285
354
297
313
271
255
406
355
411
358
318
262
331
350
260
325
340
347
286
332
282
282
239
344
238
284
349
342
335
380
313
341
275
311
296
304
277
336
312
291
310
336
305
334
380
334
362
256
237
350
291
242
302
278
296
339
291
355
267
398
291
313
289
359
283
310
288
308
300
321
320
343
323
395
364
300
363
249
335
334
363
269
362
372
308
337
346
319
322
292
348
263
287
305
284
337
370
342
398
353
333
282
219
254
291
355
377
325
308
357
339
293
281
325
301
307
303
273
277
216
307
260
335
293
389
318
254
281
370
302
255
307
304
357
389
344
279
347
347
302
204
355
305
298
257
339
298
351
274
299
260
284
300
366
288
314
348
370
330
216
253
218
326
286
305
303
298
330
301
334
365
309
305
300
302
375
375
340
340
286
364
314
332
283
339
321
360
305
297
339
388
292
327
270
319
409
361
273
328
358
291
344
317
297
347
320
301
259
313
306
250
271
208
271
268
315
325
300
405
356
423
391
332
304
264
332
294
348
355
323
280
330
409
368
364
322
366
290
334
387
355
329
332
258
310
325
343
359
326
405
213
299
407
285
334
370
365
382
365
293
393
232
296
322
355
310
330
291
327
271
230
388
294
296
280
376
313
265
353
315
301
355
337
319
385
259
307
365
318
312
273
349
362
321
348
248
321
301
350
302
330
336
407
294
213
327
335
280
353
408
383
328
350
349
332
313
330
342
354
355
298
315
387
354
392
292
272
346
316
205
342
321
357
335
291
297
324
303
373
323
260
317
263
376
339
350
306
203
352
390
352
300
242
236
323
330
376
271
311
268
362
335
300
262
285
257
305
275
372
318
308
322
351
349
312
348
321
282
358
318
360
260
321
321
383
293
351
362
325
211
344
306
282
262
340
354
346
342
299
319
303
413
332
393
317
328
274
332
320
324
329
327
317
319
260
323
349
400
371
327
259
369
274
275
336
236
217
332
354
308
227
290
352
292
375
308
328
266
338
245
211
340
373
323
324
360
303
320
368
298
285
366
254
411
297
360
379
331
275
301
364
297
337
321
367
391
337
360
359
304
369
229
345
324
228
325
319
282
356
309
275
282
322
359
372
329
363
323
286
344
264
356
351
303
316
291
248
270
365
276
345
339
272
221
265
306
239
344
297
321
299
267
316
297
294
335
302
297
301
305
295
328
283
314
377
355
320
381
391
287
359
349
277
308
272
247
338
217
332
347
286
390
310
342
344
284
293
238
304
364
317
330
244
355
371
267
275
256
291
334
320
295
317
338
323
302
304
308
344
379
255
289
319
291
300
351
390
313
256
294
256
293
321
280
357
312
328
351
354
368
317
302
327
356
283
259
382
302
377
377
282
332
313
310
310
344
257
270
235
289
334
411
308
345
333
329
263
294
316
285
265
357
354
344
354
310
321
361
302
341
415
281
418
295
351
382
261
267
302
350
353
285
327
323
351
407
263
360
285
344
247
308
318
304
374
294
385
287
291
276
344
386
286
356
349
271
275
335
429
348
222
411
398
318
344
314
232
382
303
315
323
326
295
404
342
385
282
336
378
341
298
338
279
276
233
289
305
369
357
359
343
282
357
282
330
385
323
340
255
328
283
309
312
227
188
307
362
331
337
355
297
339
297
312
332
360
326
354
285
397
369
315
337
210
350
227
347
351
342
298
312
249
239
283
314
289
260
258
252
285
317
372
381
354
278
327
362
297
300
298
346
375
321
283
281
329
332
377
330
310
410
348
338
369
322
315
294
348
351
275
271
445
267
315
282
379
364
391
336
274
330
308
373
365
353
422
382
239
289
318
287
375
248
357
325
334
252
300
312
328
303
402
260
303
284
234
387
343
236
366
336
256
233
313
301
316
368
334
242
323
251
356
301
292
406
446
301
365
330
296
325
313
373
358
346
246
273
325
235
349
296
289
282
309
297
338
353
312
383
302
325
330
316
237
392
301
339
352
342
279
405
304
322
307
232
349
373
328
243
315
365
303
333
259
323
323
308
327
344
266
307
291
256
377
295
354
292
249
303
383
288
319
317
317
355
284
348
315
293
205
342
295
336
354
323
268
314
335
284
309
339
284
428
323
264
295
219
326
371
226
340
209
289
343
304
325
263
234
305
282
376
305
316
289
347
314
334
259
361
278
295
323
351
304
345
305
378
361
358
336
315
267
306
320
299
347
380
355
279
304
256
331
375
302
354
298
352
294
180
352
265
233
294
253
323
275
308
293
315
317
274
327
369
356
345
279
274
352
311
315
288
317
357
307
393
307
245
339
332
289
328
297
303
242
380
324
264
266
348
370
293
314
352
296
305
404
343
311
312
344
262
278
318
360
377
324
267
315
263
353
322
325
310
332
332
247
274
257
306
309
322
340
364
276
359
353
313
314
256
241
358
333
324
385
333
267
238
299
291
286
381
349
226
310
385
375
348
300
319
338
357
314
295
263
317
279
271
319
313
289
361
293
315
329
254
285
291
333
276
343
377
348
331
339
350
353
308
319
280
287
300
279
318
403
357
254
384
279
321
297
320
328
355
275
392
238
364
294
246
286
295
302
285
360
369
340
229
320
268
298
312
280
321
329
277
251
333
320
259
396
324
268
291
320
346
373
296
275
307
350
248
252
333
290
327
353
312
421
291
344
322
278
344
298
301
376
263
283
255
295
294
263
293
337
368
260
404
327
292
381
230
415
290
269
332
288
336
297
286
341
315
305
298
391
322
302
264
226
304
369
316
374
315
291
288
221
316
334
406
277
337
347
333
270
283
347
323
321
292
412
371
304
357
383
272
302
303
338
299
288
349
358
369
366
323
348
342
352
340
362
368
260
348
326
318
315
252
296
313
370
300
352
336
242
372
350
283
292
315
292
322
277
276
341
258
377
346
323
299
369
345
273
290
357
362
287
334
333
307
282
307
358
332
316
389
281
304
256
318
337
344
322
301
296
368
378
363
378
219
371
284
298
352
265
250
281
313
300
301
427
320
254
298
389
280
356
374
253
346
258
291
367
222
321
280
277
214
304
237
257
283
268
306
276
266
299
253
368
291
313
316
290
357
286
276
283
354
368
258
359
332
289
334
392
225
323
295
347
316
235
245
290
339
360
296
304
365
268
302
393
318
355
321
369
335
355
458
291
322
250
357
279
317
306
240
289
356
331
366
332
340
293
267
281
291
332
323
361
259
338
332
356
306
263
305
326
313
247
323
371
343
274
356
253
227
308
322
347
281
319
345
352
347
289
328
392
334
363
391
319
316
306
367
381
350
308
222
377
310
290
337
308
249
323
298
324
401
380
327
300
371
393
322
308
229
387
308
241
408
248
337
342
295
318
261
190
299
331
298
419
376
304
360
318
315
267
291
372
217
334
268
348
334
369
356
333
343
298
321
316
334
318
338
316
320
219
312
348
336
386
398
377
238
247
360
382
270
319
302
281
207
306
241
303
318
253
333
328
331
312
322
298
312
302
322
315
305
262
317
280
238
328
330
307
328
380
318
331
276
312
271
352
301
310
284
252
274
264
300
271
240
358
276
272
300
307
381
331
313
301
353
312
287
263
313
261
289
289
320
384
338
346
411
339
408
302
356
349
269
319
323
225
380
236
310
263
332
280
384
310
270
303
385
304
341
300
253
340
306
306
291
312
329
244
357
323
333
252
382
367
274
340
335
308
344
323
351
301
248
392
285
292
328
297
394
223
304
286
331
248
342
287
359
233
368
329
305
305
282
329
234
295
329
294
370
375
332
342
286
393
315
327
346
308
331
346
317
265
290
258
317
397
284
278
416
308
313
302
283
300
332
268
339
292
380
359
271
361
303
307
255
281
330
289
305
276
378
310
323
315
352
314
390
426
305
287
296
196
323
299
396
350
317
283
404
361
246
250
291
298
329
259
308
289
308
297
360
310
369
313
296
350
394
334
314
359
293
222
271
337
284
327
293
375
330
352
373
336
266
334
253
310
271
315
348
266
236
283
307
290
293
347
375
375
316
273
340
315
285
276
303
319
396
323
370
291
264
305
238
324
363
298
283
357
331
315
274
340
337
299
294
284
343
359
377
380
354
339
300
401
344
424
286
315
396
296
311
335
403
312
313
314
254
316
441
315
292
289
346
372
273
337
312
310
334
367
336
315
275
368
311
289
296
251
319
260
366
233
346
250
292
304
301
331
227
399
353
305
252
295
279
279
266
240
333
304
265
340
310
352
322
246
356
262
293
282
381
299
268
274
286
296
295
342
278
256
274
319
245
376
296
311
310
315
334
242
337
312
339
246
324
301
303
337
331
279
370
298
385
313
264
371
368
301
356
279
349
307
285
350
325
336
365
301
293
332
332
301
326
386
304
280
304
293
368
296
376
367
306
300
306
361
230
308
377
370
250
346
249
297
356
323
313
308
360
344
286
259
354
313
292
293
375
381
349
296
251
359
353
309
368
322
279
296
328
356
277
241
349
387
263
321
270
305
326
324
306
270
326
328
253
225
296
299
295
346
292
295
247
358
267
334
406
284
271
339
257
275
353
263
362
246
293
323
324
267
346
317
381
335
286
253
312
362
306
263
332
373
334
270
300
293
340
364
354
333
355
344
350
381
339
269
292
342
327
383
329
288
287
343
344
237
269
310
326
245
254
332
312
248
343
319
308
314
307
324
257
367
281
325
249
307
383
311
398
250
320
312
308
367
384
341
406
225
289
337
270
343
339
297
318
220
334
333
297
327
225
319
365
297
279
297
328
347
227
345
312
356
347
335
338
395
403
297
311
307
404
368
281
328
284
314
287
306
359
225
347
351
309
287
279
271
349
324
317
311
392
285
375
305
353
309
330
279
231
323
269
266
306
402
235
291
356
262
276
298
181
356
288
174
270
376
361
353
303
248
268
322
344
340
275
337
364
307
324
363
275
264
283
316
295
351
313
269
320
357
250
344
388
217
288
354
278
329
274
356
293
340
303
278
185
260
340
280
245
336
316
321
220
376
423
369
282
291
325
322
367
275
332
279
273
360
252
298
392
253
286
354
339
432
311
329
222
256
296
313
294
295
319
301
266
322
382
348
385
268
294
279
317
259
300
373
316
322
362
345
371
298
187
257
383
338
302
243
367
317
349
296
377
301
274
301
305
290
314
221
356
302
358
305
309
309
315
216
243
204
308
304
302
312
443
302
377
369
317
349
234
323
337
260
263
298
325
218
377
297
388
365
351
302
297
369
320
294
365
331
393
309
284
218
298
332
329
261
284
268
354
411
359
351
368
384
260
347
364
407
288
303
309
342
413
317
337
328
347
292
326
294
307
389
226
295
281
352
398
277
362
308
304
359
319
321
348
279
226
262
269
373
299
382
341
334
265
278
216
310
288
298
212
326
346
336
350
351
364
303
382
246
267
298
369
355
266
321
327
388
309
263
362
312
244
344
358
269
385
226
294
338
290
376
315
360
366
395
311
364
353
281
369
248
261
320
253
288
272
253
332
275
271
319
225
260
375
307
325
265
333
300
331
369
310
248
359
365
243
363
351
340
253
277
347
301
250
398
227
309
278
338
311
339
375
345
322
276
332
359
365
327
334
330
324
319
295
256
292
354
441
307
318
293
282
329
294
298
358
351
307
292
294
280
269
372
376
374
346
283
267
328
356
332
335
252
238
330
331
311
287
287
335
314
279
329
293
397
305
341
335
370
196
241
276
312
381
353
329
340
384
229
277
251
248
266
338
221
315
354
258
235
385
329
301
407
306
250
273
325
259
276
339
260
358
287
351
300
337
364
251
356
336
306
281
351
351
281
357
247
266
296
377
330
365
275
343
287
268
360
301
296
250
374
247
292
295
312
262
359
307
337
288
387
253
336
303
298
257
314
358
268
283
326
373
223
261
343
303
326
385
246
339
274
303
325
266
360
306
293
368
345
354
272
242
395
297
309
303
417
325
259
339
350
280
298
388
293
337
324
337
370
361
297
350
242
331
318
219
248
373
331
297
307
292
351
336
341
383
355
396
350
293
300
327
240
297
333
261
278
269
275
322
285
327
376
268
391
302
308
265
304
337
332
263
293
339
322
363
412
294
313
428
429
317
371
306
322
264
237
280
312
279
230
247
278
304
284
320
379
292
254
324
321
349
358
275
315
373
315
357
370
293
241
313
358
344
305
308
394
341
244
284
376
283
361
375
311
333
350
343
326
313
295
281
354
396
383
185
299
402
319
281
323
279
276
388
271
336
375
239
285
315
318
329
350
299
221
338
296
294
255
236
363
345
336
331
237
317
249
297
413
341
319
229
252
340
272
318
327
353
335
344
261
301
329
338
296
341
336
362
352
281
268
293
352
353
320
323
291
306
244
294
256
365
275
295
311
318
307
345
322
316
313
261
319
270
358
316
377
312
296
362
434
291
287
350
292
443
362
288
304
322
293
360
383
278
347
274
217
310
380
362
365
321
331
244
288
322
252
273
325
463
359
350
304
303
334
303
304
309
401
287
362
344
379
299
366
374
272
347
328
362
234
347
243
382
349
292
337
329
326
340
319
343
298
415
363
365
302
353
264
311
305
273
334
306
273
316
308
249
227
376
294
249
289
272
300
216
367
330
355
356
272
356
338
209
351
314
300
349
228
324
331
365
328
322
294
315
357
272
285
335
299
356
346
285
250
294
254
309
365
259
387
422
289
293
322
279
326
272
220
327
324
361
316
254
316
334
294
257
293
259
364
231
286
353
315
323
335
310
372
304
325
299
322
244
323
250
320
380
325
283
285
299
262
308
331
299
343
291
340
290
307
256
299
363
272
283
307
365
287
303
278
365
316
348
334
309
364
304
237
354
323
280
250
278
306
284
296
234
263
258
309
255
263
312
322
323
340
366
304
281
363
351
267
235
353
278
373
283
254
319
259
304
201
239
369
368
328
288
345
359
219
396
272
291
354
354
379
322
347
350
323
326
238
314
377
327
350
304
167
316
278
362
323
249
359
263
308
378
343
296
346
366
314
349
365
313
275
328
303
410
314
344
303
267
298
268
333
333
359
304
410
253
274
426
262
252
341
356
278
341
326
209
295
271
357
308
297
347
264
305
328
267
387
398
286
246
237
298
342
246
396
304
355
334
367
294
316
316
355
325
303
249
301
282
293
343
285
374
356
383
329
335
341
344
279
331
371
295
257
332
382
335
271
311
307
332
350
413
250
300
315
318
399
266
315
293
320
348
302
344
317
297
335
378
239
391
358
315
321
327
341
238
343
437
368
371
364
289
323
336
282
322
265
348
359
304
342
268
386
389
417
332
249
312
320
302
367
324
313
384
306
343
324
338
357
375
283
308
211
259
300
315
278
339
280
212
352
424
333
358
269
311
360
453
327
397
351
390
318
328
325
395
247
367
215
312
300
310
293
252
331
347
282
291
318
346
318
334
301
344
331
364
298
331
324
316
327
430
309
326
416
269
358
330
262
329
308
453
330
270
245
315
241
249
278
324
332
356
310
320
350
355
304
314
328
308
324
421
214
302
304
334
299
361
303
337
300
364
281
346
302
392
265
304
302
311
293
254
271
351
305
318
356
373
286
276
276
289
329
258
356
359
323
316
281
393
292
321
324
333
371
259
309
302
323
311
341
316
359
371
321
347
352
325
364
370
347
257
315
387
399
320
293
244
261
362
313
283
319
228
259
364
356
302
360
327
286
349
383
295
361
290
367
244
273
331
333
330
232
267
285
326
337
258
273
375
295
328
320
340
385
339
242
347
304
296
272
295
372
300
307
308
339
272
262
340
308
367
291
198
287
284
343
307
336
337
328
281
423
247
329
331
295
275
369
282
307
320
327
268
380
314
330
337
302
258
284
325
258
371
324
312
287
326
307
243
298
357
270
369
289
273
282
381
341
319
296
343
315
338
299
261
307
250
298
305
263
373
283
334
291
318
350
271
276
336
310
307
307
312
329
330
303
330
311
295
331
289
375
273
394
391
318
371
405
367
322
351
328
390
311
281
316
256
293
389
364
302
309
317
357
299
377
264
325
330
382
274
365
338
255
345
297
303
354
180
338
250
296
349
394
374
320
294
332
210
424
358
331
346
358
290
257
301
277
288
429
371
311
270
273
300
468
265
240
270
306
262
305
214
322
335
390
308
305
267
321
377
332
362
320
333
355
315
299
390
285
340
289
246
260
302
397
301
321
353
239
336
278
398
370
251
343
387
346
252
234
335
363
229
240
302
333
396
325
289
342
313
282
289
285
389
298
270
326
351
347
277
368
299
338
269
352
237
392
335
314
358
289
308
290
293
312
292
344
262
357
303
336
302
319
320
362
321
362
285
353
364
268
310
305
309
228
349
347
267
301
334
351
348
289
281
350
300
249
295
288
357
329
277
366
257
313
388
355
393
308
273
291
377
274
355
318
344
359
317
247
318
222
310
323
268
432
327
326
348
347
365
294
341
360
265
318
319
291
337
302
319
379
229
239
300
300
292
319
313
335
283
369
334
344
297
338
249
311
427
274
304
317
303
291
303
325
362
272
262
348
301
302
305
313
320
294
237
289
245
269
356
404
280
376
271
231
372
292
331
311
264
314
314
305
340
296
324
333
323
324
269
283
317
309
354
328
310
287
388
315
309
274
351
272
381
314
309
358
317
297
300
317
226
309
383
250
269
326
339
369
340
277
301
335
343
292
292
263
360
290
308
192
350
350
380
342
291
317
283
331
340
405
250
328
249
365
317
344
315
268
389
331
326
355
366
344
268
291
347
301
412
329
384
286
339
287
307
338
278
345
304
356
311
303
278
365
387
243
285
312
309
288
311
392
335
269
335
382
357
321
244
294
303
293
312
329
221
280
337
237
333
340
367
383
247
278
304
335
382
423
331
213
294
291
282
324
188
336
342
222
330
409
293
335
290
375
274
327
298
340
301
338
257
306
249
332
351
284
308
375
363
249
357
329
370
320
347
285
227
342
295
324
237
315
221
246
365
274
376
271
338
254
273
246
312
312
310
391
254
291
225
300
328
303
342
286
313
309
305
331
274
324
262
317
315
264
340
330
325
296
361
301
258
242
278
385
340
400
317
351
312
290
313
316
317
409
311
266
337
393
286
361
372
275
391
281
281
230
346
342
356
319
255
343
280
259
321
390
371
291
338
313
302
263
351
288
252
301
260
297
359
387
313
330
292
304
174
253
306
361
336
322
309
328
270
320
293
274
404
249
366
404
312
247
404
325
348
282
247
375
313
331
342
351
234
327
347
248
294
375
347
254
313
247
294
331
316
240
322
325
366
255
311
363
330
330
313
312
321
354
267
265
304
362
343
298
347
256
296
366
327
343
337
285
284
303
270
333
342
384
283
252
313
284
364
347
295
336
304
346
301
378
356
422
293
232
328
328
360
339
295
358
273
274
279
282
387
294
392
185
449
355
339
339
273
353
297
387
333
222
269
367
403
409
334
348
258
240
332
198
362
251
306
260
349
325
350
323
354
318
333
312
278
368
337
290
337
335
323
336
269
254
331
387
348
323
379
317
263
267
320
295
359
364
283
341
328
270
309
283
407
347
363
296
357
296
364
319
377
280
266
344
389
119
369
333
336
264
284
338
281
315
310
308
286
170
362
316
351
334
249
304
300
278
253
383
288
348
312
327
391
252
331
353
325
325
321
295
371
311
303
300
330
259
358
250
339
336
271
275
348
317
279
397
277
337
301
318
337
198
340
320
243
363
279
343
373
287
382
310
352
366
264
251
255
278
230
306
250
309
359
367
389
358
242
248
321
238
296
210
327
320
292
320
314
393
311
346
302
296
290
281
364
352
293
334
329
323
282
301
279
303
293
335
231
279
262
262
380
309
276
335
216
376
334
227
320
362
305
300
316
337
353
303
309
308
329
284
371
329
271
218
329
294
285
346
275
336
328
329
294
331
299
263
278
336
310
261
287
289
288
306
302
335
427
360
275
283
365
273
213
253
327
332
345
328
310
306
333
310
306
332
346
340
267
333
220
354
360
254
308
233
308
401
294
318
270
362
330
344
343
302
307
285
271
385
328
309
265
367
247
344
295
276
327
385
328
319
325
276
342
241
305
293
245
258
329
334
293
275
402
198
291
334
310
373
280
384
437
233
378
331
322
261
280
364
314
361
313
411
390
276
274
313
359
379
288
350
260
305
329
333
220
219
330
325
280
358
385
332
305
346
331
289
317
301
397
285
340
299
340
280
263
364
286
239
341
331
366
263
306
355
383
327
368
404
283
351
353
351
259
391
291
313
352
372
319
308
312
301
344
258
273
434
337
334
295
327
297
318
238
226
305
291
254
214
316
267
297
263
282
309
275
333
288
262
365
257
422
315
241
345
331
316
334
235
309
244
298
344
373
362
248
353
366
306
359
353
242
326
329
400
327
381
297
258
305
246
359
311
321
268
370
323
302
326
362
260
264
284
359
410
278
360
184
319
335
293
292
323
404
280
284
224
310
272
389
318
326
334
307
383
322
346
349
234
284
321
339
322
321
347
331
321
256
270
349
305
346
270
337
333
343
282
362
293
401
328
313
262
237
275
278
188
289
356
305
226
322
280
293
287
241
245
321
373
366
369
262
250
330
268
286
421
317
234
382
209
373
294
339
310
297
345
320
316
383
308
288
337
354
283
283
331
278
312
326
317
243
285
353
350
353
251
234
289
286
209
251
309
236
385
338
294
318
284
328
331
267
264
341
325
422
343
321
307
230
302
367
242
280
368
313
299
380
346
240
350
315
396
371
297
368
338
339
331
305
233
300
342
314
301
311
231
327
310
321
332
339
308
244
334
279
292
274
356
296
350
301
282
281
350
303
265
286
323
300
302
346
265
353
355
308
322
284
398
274
272
346
354
311
332
308
302
286
311
317
233
289
350
274
248
367
286
297
304
322
352
326
327
287
233
230
308
318
286
322
248
256
343
298
384
329
272
362
372
291
315
378
316
270
362
299
249
316
273
355
334
364
308
286
260
348
295
308
295
298
311
354
310
309
352
327
319
354
363
285
231
343
287
340
316
345
374
321
280
418
268
346
285
315
277
265
299
302
341
358
348
294
298
304
297
328
222
329
294
284
305
243
343
246
324
372
343
287
226
324
332
318
264
318
398
277
317
192
344
304
298
409
284
315
318
304
374
362
295
362
316
233
334
286
338
312
322
230
229
282
291
282
382
249
232
350
270
337
330
380
286
319
343
318
340
304
279
377
320
241
319
301
357
319
308
329
392
343
346
379
323
370
320
310
287
335
323
331
427
333
319
288
274
328
367
379
351
274
340
344
338
343
376
294
294
279
247
262
412
242
293
242
324
373
280
280
395
346
302
286
344
296
321
237
363
320
364
312
362
328
334
293
243
378
365
372
406
340
294
319
350
356
331
302
350
279
234
227
336
260
289
404
309
285
307
333
337
318
278
321
344
315
346
315
261
329
228
390
320
305
356
310
315
274
318
233
331
328
269
308
281
316
259
329
301
211
290
338
398
287
271
424
245
324
420
334
324
318
299
313
282
321
286
300
335
302
307
339
307
303
330
302
295
233
279
333
323
338
356
268
288
313
279
285
351
278
308
281
328
313
278
238
333
336
292
303
284
402
312
326
392
288
248
321
304
362
306
322
339
393
343
342
303
305
420
375
282
294
310
352
285
295
303
319
339
282
322
337
275
394
362
327
356
290
318
313
238
303
265
272
335
282
319
269
352
335
315
298
286
331
298
347
377
327
260
323
313
376
324
291
353
268
326
337
380
369
301
339
340
229
266
358
327
345
327
289
282
355
331
269
313
282
304
400
323
277
362
362
327
352
315
412
264
266
353
375
362
218
309
292
367
308
339
281
265
312
321
246
307
328
369
419
339
408
292
387
320
299
212
323
240
229
264
335
309
391
315
306
333
299
292
338
311
294
243
223
349
338
268
339
279
366
324
353
317
356
361
312
255
325
363
318
324
248
257
283
306
258
264
310
311
320
326
317
361
294
334
343
303
339
385
243
275
353
285
268
202
280
348
337
339
316
307
280
346
387
296
212
330
220
317
289
286
278
215
340
268
329
325
331
378
318
326
287
291
241
395
310
325
323
317
313
333
307
393
338
364
296
377
274
334
350
260
388
421
319
307
333
333
340
361
353
294
299
297
303
273
340
350
297
354
281
278
288
286
319
330
327
322
351
324
341
233
371
306
271
357
341
309
292
360
315
382
348
252
293
253
388
277
333
380
289
367
284
329
305
317
298
299
341
278
377
299
339
332
341
324
291
294
338
288
253
300
336
305
348
331
372
265
285
382
341
335
310
354
296
422
323
244
403
365
163
417
395
309
341
221
293
269
313
310
275
334
392
349
304
310
345
296
316
281
346
349
281
269
337
336
335
283
324
313
312
314
342
275
353
347
293
298
222
390
292
334
290
281
375
310
335
264
320
324
349
364
378
282
328
297
319
306
306
303
368
393
363
246
299
332
333
277
256
377
316
301
370
353
274
336
318
335
298
350
332
376
252
305
277
313
260
337
236
389
270
306
261
230
291
349
306
308
211
365
367
319
273
302
355
274
382
314
349
327
321
252
351
309
436
295
302
369
321
278
349
296
284
331
355
361
306
316
368
307
349
386
322
365
314
357
411
305
332
342
343
256
327
405
376
325
379
364
353
359
391
333
353
307
217
304
390
322
355
307
302
276
281
343
270
349
361
315
275
266
295
329
304
310
312
335
286
324
302
266
273
308
358
302
283
258
362
359
338
292
308
388
321
323
234
344
341
319
318
335
301
336
254
294
365
340
343
344
305
287
208
349
364
324
344
279
311
247
317
295
365
241
320
366
288
369
346
358
286
303
374
319
287
351
346
276
242
295
243
375
208
328
302
172
375
249
296
292
322
355
351
279
360
353
290
306
339
254
314
292
282
338
273
262
461
296
297
364
362
344
258
392
339
297
252
302
335
335
307
233
285
345
293
343
295
371
365
338
350
210
354
330
295
408
285
250
360
383
287
361
267
329
373
259
338
327
333
268
300
345
319
239
337
349
264
297
252
343
294
304
309
280
293
326
338
306
374
372
389
334
338
299
389
308
381
312
205
240
342
400
287
310
265
276
273
322
205
353
358
337
228
379
355
309
336
387
328
364
315
273
282
311
316
286
375
326
265
413
414
302
362
367
366
329
335
324
309
395
362
361
350
350
328
261
366
309
303
329
302
286
367
292
324
232
421
296
298
314
302
335
391
338
344
354
369
324
366
264
338
351
410
329
320
311
271
311
277
355
318
297
272
273
347
274
326
404
339
355
320
196
296
271
307
382
298
318
333
322
277
347
283
278
283
355
279
361
378
332
259
325
313
272
263
406
411
358
341
279
414
290
265
318
360
313
304
287
323
313
357
334
291
331
270
289
364
323
291
300
210
264
373
280
335
330
296
213
265
373
265
313
340
332
353
383
270
212
277
304
226
286
358
278
351
350
296
282
353
317
351
291
281
307
270
321
315
290
269
318
288
281
350
307
219
250
368
303
307
286
301
368
308
293
353
306
327
318
382
312
221
278
373
350
318
300
270
278
243
260
375
340
341
308
318
316
331
310
344
252
267
344
393
373
341
334
339
317
352
299
292
374
274
315
317
339
288
340
313
384
329
312
310
349
212
331
320
266
242
303
324
305
380
342
376
343
348
248
223
395
303
282
328
300
241
351
370
270
300
376
320
286
309
286
321
394
310
314
362
229
317
279
255
312
352
372
286
346
388
331
345
308
326
272
351
330
371
324
332
403
309
316
275
290
244
289
365
312
378
313
332
319
349
345
232
277
339
290
331
301
358
325
405
223
266
382
406
296
302
276
248
333
334
324
406
318
331
239
308
388
379
310
350
333
343
403
215
383
292
331
254
226
320
325
385
421
302
297
287
377
313
267
253
327
275
320
356
272
310
295
385
304
356
268
204
246
291
291
237
278
370
349
298
302
333
283
305
317
289
375
325
304
351
301
240
299
365
258
292
329
280
281
256
371
297
237
252
261
316
282
301
297
341
282
264
348
283
300
328
332
262
293
338
265
294
280
402
311
317
305
362
310
415
319
365
306
328
364
334
343
316
274
275
306
369
289
331
296
324
241
268
374
407
346
354
278
282
347
345
380
337
274
364
383
396
386
356
295
270
271
338
341
250
300
285
302
225
300
328
304
398
347
248
293
329
326
265
331
351
251
333
321
291
279
304
300
329
295
313
349
358
300
327
241
258
330
326
327
380
315
287
313
273
339
379
256
304
299
369
356
369
370
295
294
343
305
285
364
365
324
280
329
287
318
292
303
355
246
277
289
375
297
340
354
303
256
280
403
338
377
297
232
340
356
300
346
341
315
314
302
279
327
368
293
334
288
329
297
313
199
293
385
334
297
283
333
351
279
330
378
234
317
321
370
271
384
345
320
358
248
327
334
324
329
271
366
268
281
326
332
278
352
325
355
345
234
286
378
247
326
308
391
374
376
359
290
334
374
310
330
358
347
312
262
325
290
280
344
362
379
327
253
307
346
327
384
333
282
368
395
275
382
326
308
326
266
294
294
304
320
422
366
372
349
267
304
248
315
402
331
223
307
281
344
266
325
304
267
202
330
261
270
275
301
296
365
292
373
375
316
304
321
302
281
255
365
359
235
339
314
304
268
312
415
221
272
354
293
306
311
301
298
311
314
235
324
267
240
323
324
346
228
314
375
303
376
256
362
344
360
277
255
356
307
269
286
305
280
377
317
318
292
299
278
322
404
323
340
306
289
359
346
332
292
248
287
317
284
348
385
338
269
228
248
329
372
334
305
347
332
348
348
325
322
318
323
337
309
254
329
364
312
328
349
349
291
320
335
378
256
328
221
291
317
281
319
257
291
339
265
315
375
242
340
352
288
396
350
282
326
341
280
354
248
296
267
328
206
294
285
376
321
266
319
299
308
385
377
324
256
344
315
283
350
374
310
285
332
308
335
306
230
252
220
364
341
300
333
306
283
316
333
231
304
262
368
330
271
368
281
323
367
320
340
230
328
424
398
378
417
322
243
349
333
338
327
269
324
297
328
339
312
333
355
235
354
394
245
325
312
238
300
306
317
334
339
376
311
284
270
281
274
358
255
238
301
346
298
381
358
405
297
385
298
345
316
294
330
331
312
354
339
340
310
352
394
293
347
338
389
342
270
321
329
368
243
283
321
322
374
364
356
323
233
302
290
275
325
362
231
316
331
296
305
294
373
330
281
376
330
257
336
296
327
253
284
326
297
349
292
314
318
351
328
375
347
346
294
317
348
264
251
369
326
250
246
329
372
380
352
248
270
247
315
326
302
273
318
311
281
292
265
215
402
314
326
349
224
301
331
303
318
315
300
318
324
287
306
328
272
286
435
277
184
367
229
340
294
385
297
320
332
279
252
259
357
243
328
337
341
385
312
324
378
301
277
333
349
348
293
329
294
287
336
263
322
319
302
278
284
361
232
326
318
283
345
296
297
327
315
394
329
326
352
242
342
282
335
350
414
395
289
256
274
281
251
371
261
251
362
295
357
270
382
340
381
328
294
307
338
343
328
241
273
352
306
252
392
258
326
219
256
270
349
353
328
281
268
307
345
259
275
344
337
315
320
308
372
387
350
359
345
363
321
236
269
259
337
288
273
352
315
284
377
283
338
246
303
254
370
280
239
296
328
345
259
319
313
334
409
371
354
337
299
299
363
293
249
327
213
273
264
391
288
297
319
302
338
365
327
285
281
315
299
214
205
345
328
283
345
261
243
302
338
369
259
370
331
349
234
288
277
302
296
344
324
331
270
268
390
304
392
318
274
305
240
267
238
359
302
295
308
291
396
329
355
300
306
290
224
417
316
277
391
389
372
260
312
323
363
289
365
232
312
335
369
306
380
313
279
252
341
262
276
240
324
316
434
325
307
286
365
249
364
304
343
245
286
324
320
265
284
336
299
287
328
356
329
280
321
338
323
214
340
258
277
362
302
322
308
296
362
307
321
261
325
285
312
364
358
285
282
254
379
305
315
318
345
319
368
271
330
324
296
335
304
398
349
389
321
263
333
331
295
343
388
346
252
324
274
297
307
294
301
267
306
325
337
355
207
260
314
326
335
264
365
346
382
325
357
260
171
317
298
312
297
265
366
216
265
372
324
251
275
397
272
303
271
313
379
322
225
327
290
315
301
265
306
292
260
371
291
325
295
338
378
353
403
334
307
333
320
286
285
357
287
252
342
394
331
319
283
357
326
378
319
302
295
359
280
341
331
300
359
299
255
342
331
301
257
305
339
381
305
342
301
373
371
217
284
346
220
273
376
328
370
343
219
333
379
317
340
219
363
360
376
278
329
315
324
358
271
249
371
330
384
249
299
313
336
241
329
319
357
418
367
260
348
336
290
321
388
324
342
347
226
327
279
330
331
294
185
332
330
249
279
397
327
366
292
274
212
366
334
295
286
289
346
313
321
375
379
331
288
377
265
346
310
259
357
308
296
299
282
300
378
358
401
374
307
309
321
309
327
271
265
327
277
316
389
324
241
300
323
287
373
363
302
320
307
359
252
326
355
328
368
293
307
282
335
313
317
336
260
310
347
336
300
360
361
318
349
330
276
331
232
311
307
324
312
378
351
358
371
272
284
313
356
365
296
302
355
262
360
362
313
227
287
281
278
361
291
310
347
302
299
251
318
262
243
372
277
347
299
352
272
360
335
336
328
333
322
316
292
268
301
344
345
273
271
313
310
238
311
376
316
223
277
385
274
295
278
279
370
390
289
291
375
362
356
286
236
347
306
295
348
284
302
329
386
344
291
267
357
338
390
311
273
291
306
300
291
279
338
280
342
284
234
334
327
408
308
292
298
328
302
302
363
362
294
388
304
454
303
415
325
239
309
343
315
210
322
203
268
333
275
324
268
318
297
393
320
318
344
385
300
340
306
287
218
321
300
370
259
279
319
342
337
235
353
286
367
278
353
313
285
322
316
344
206
361
253
355
306
286
315
368
286
324
348
293
348
314
273
366
238
422
271
359
319
345
333
325
312
343
268
394
303
423
317
281
308
336
232
294
238
322
325
320
333
264
333
344
238
350
280
302
362
221
389
273
317
313
349
299
327
327
270
326
319
329
328
269
272
330
373
268
317
375
379
323
326
341
351
304
329
297
377
338
346
263
244
275
311
321
301
332
349
255
383
390
339
299
313
282
243
332
280
253
376
297
295
293
333
348
217
181
317
314
237
271
268
238
319
290
354
340
351
369
317
266
402
295
348
345
258
315
351
328
248
347
336
260
325
283
364
236
375
323
276
303
383
305
305
308
340
375
289
280
320
407
324
375
317
405
322
373
338
339
290
249
259
266
353
314
369
257
314
285
274
333
313
349
308
317
365
183
324
315
267
319
355
370
253
301
395
384
345
322
270
300
365
288
298
255
299
383
255
301
274
363
349
296
295
317
313
250
368
249
362
229
335
293
267
363
307
287
314
343
345
306
378
308
319
306
455
280
323
363
327
305
331
370
260
271
423
308
295
362
287
231
328
310
292
321
285
285
268
245
282
321
326
318
409
314
393
343
310
282
363
382
336
309
268
323
312
250
333
282
307
284
320
286
298
335
286
314
311
342
280
301
292
294
290
298
352
284
304
269
290
294
351
322
307
272
288
267
255
315
297
292
323
368
360
224
348
313
394
358
349
362
261
339
316
264
337
228
408
349
337
289
287
346
202
350
265
342
291
336
300
350
305
397
262
304
288
265
328
316
285
390
213
349
272
314
414
336
283
346
323
348
356
342
337
349
327
269
285
297
349
384
283
354
298
292
356
253
374
234
265
285
355
300
383
370
360
248
315
386
350
272
345
297
277
293
323
305
356
335
377
414
358
290
337
266
357
294
393
354
258
287
382
263
337
270
291
352
376
289
311
297
301
328
328
333
253
306
304
251
279
255
278
330
322
297
313
183
285
315
279
269
367
330
308
274
336
318
268
297
311
327
361
351
326
354
313
303
337
259
324
315
359
315
354
273
254
362
364
314
395
303
304
324
239
290
274
288
239
245
367
336
314
277
293
310
320
317
279
277
334
277
286
385
347
297
337
329
243
271
309
375
279
183
275
359
365
215
330
293
390
310
361
294
329
384
315
308
292
378
248
316
339
330
395
310
302
345
362
355
374
368
256
312
369
297
258
282
289
376
275
250
337
248
347
290
307
343
338
250
373
324
371
246
257
297
346
413
265
314
338
368
293
307
336
401
282
274
252
364
280
296
314
304
284
327
299
325
360
309
285
331
279
359
314
260
272
303
299
316
276
297
278
311
283
236
324
329
342
337
376
273
333
325
352
364
333
292
326
343
314
345
348
368
368
342
322
249
254
325
288
256
201
339
371
276
278
414
365
235
362
301
351
308
254
328
296
377
353
388
308
324
282
313
234
369
331
246
320
325
404
317
319
376
356
360
313
335
245
199
323
270
327
354
331
340
340
284
335
316
256
324
323
365
361
231
363
280
257
298
430
272
384
292
266
352
238
316
292
313
271
313
293
389
278
230
399
310
304
367
294
311
344
290
323
425
369
328
308
279
375
359
309
390
271
352
383
272
394
298
307
266
357
303
323
352
330
296
308
383
274
310
344
309
299
249
358
227
330
259
289
389
297
315
243
421
350
328
341
307
278
289
307
293
322
292
310
297
346
381
342
344
310
331
342
344
311
297
282
374
356
320
294
346
387
268
299
298
279
290
355
308
343
332
248
272
320
267
263
238
308
365
362
315
348
341
356
239
353
291
338
345
313
343
350
315
438
315
331
274
308
315
290
315
244
306
280
343
350
286
331
241
378
377
283
298
323
377
321
300
253
325
252
359
326
278
319
292
314
275
308
285
293
403
301
318
313
337
288
281
347
302
320
320
250
312
331
294
309
312
229
313
357
311
312
409
301
332
328
351
361
295
296
343
263
243
340
274
277
299
342
315
355
333
270
287
301
309
394
406
338
351
346
357
327
386
365
271
212
303
301
388
261
282
293
243
348
376
352
315
305
309
290
266
307
266
334
345
318
343
320
359
391
354
363
358
305
257
297
284
391
333
289
279
382
325
359
255
379
233
280
263
345
290
301
324
253
257
375
348
361
276
333
296
278
323
353
371
372
300
295
364
374
345
318
288
321
207
327
330
344
338
279
359
311
341
336
277
271
286
345
300
346
276
300
279
213
326
300
308
351
278
281
348
378
366
312
283
383
353
332
369
217
326
356
321
286
360
270
339
275
362
289
356
314
262
263
340
315
215
300
355
349
347
295
321
328
350
374
318
331
317
308
309
366
232
376
396
255
298
354
325
311
294
364
366
366
356
274
358
297
316
332
418
337
281
309
354
332
351
331
233
292
315
284
281
321
295
329
383
386
294
351
367
269
332
380
249
311
274
305
196
366
270
339
295
246
275
361
315
328
382
340
390
372
352
349
285
306
279
249
322
322
308
289
349
241
400
311
280
399
335
203
273
383
325
375
310
229
355
308
261
322
419
364
336
371
363
314
343
299
322
368
338
339
311
297
343
375
204
334
271
257
402
322
350
335
292
297
373
255
247
269
293
282
284
303
377
286
264
322
311
324
361
346
188
377
354
353
252
273
352
349
339
286
367
213
285
360
342
277
364
327
342
347
367
223
317
290
226
293
241
344
333
228
212
299
355
345
324
314
223
256
287
331
327
309
366
330
300
320
293
404
274
359
306
288
304
290
259
230
388
327
382
325
294
309
413
288
313
371
289
313
266
298
295
323
324
265
315
324
339
333
328
344
312
287
354
376
240
348
300
267
305
264
309
297
376
254
302
337
300
338
331
338
332
404
295
318
357
243
278
260
316
394
194
252
328
272
282
352
276
262
298
333
361
298
357
339
316
265
337
322
325
312
315
348
304
237
334
386
294
282
250
383
340
292
378
280
304
356
343
322
379
264
357
332
304
264
289
274
285
290
313
359
368
282
360
291
305
293
264
240
356
315
338
313
310
283
281
399
347
370
274
346
378
330
298
328
354
264
228
341
213
256
268
272
323
334
310
325
329
241
310
260
316
362
329
371
314
286
326
281
290
241
320
314
309
360
318
221
384
355
316
290
389
310
281
262
268
389
386
329
313
319
281
252
328
295
401
270
336
257
376
273
343
374
321
257
397
271
339
299
353
328
381
356
371
181
281
326
493
317
353
363
321
377
401
344
334
297
321
233
283
348
368
354
350
388
341
246
338
345
339
298
314
319
312
318
291
294
271
348
314
371
307
296
304
337
348
332
300
256
310
333
287
242
358
313
292
288
350
285
343
306
255
382
315
276
283
315
342
285
353
349
277
279
372
369
290
281
277
263
345
309
319
283
267
209
237
383
351
331
286
368
286
302
352
272
256
268
293
290
387
292
292
367
254
237
342
226
300
291
291
339
281
296
415
274
348
323
301
297
334
355
255
287
277
313
355
279
229
253
295
300
329
334
283
271
442
331
223
339
367
280
223
310
319
352
368
239
376
363
263
244
325
339
402
386
287
384
329
350
373
318
307
360
295
256
329
347
344
247
339
199
332
341
258
293
289
261
368
303
242
390
265
331
265
366
299
347
367
294
299
367
313
285
378
322
321
309
320
365
315
314
215
320
284
319
246
355
345
244
301
285
288
305
407
338
321
340
280
318
266
201
403
282
347
312
297
346
351
251
322
286
375
338
339
303
320
314
361
326
311
278
240
342
316
302
370
369
301
317
352
345
333
339
345
297
329
354
309
433
281
246
324
280
266
308
330
381
285
348
277
306
333
303
316
248
350
239
244
389
325
235
350
299
366
296
385
283
350
349
377
359
309
315
255
284
263
315
337
389
308
337
265
273
264
276
286
393
362
268
279
319
319
358
397
303
374
357
357
291
319
283
307
293
304
362
317
345
253
279
225
314
367
223
335
342
363
288
325
372
301
307
264
272
374
276
209
249
235
394
184
322
260
301
342
181
314
328
294
319
201
253
268
316
323
356
309
258
271
300
270
336
284
322
291
309
317
299
307
318
300
320
310
280
301
333
237
327
331
261
346
302
252
306
389
362
273
363
326
374
243
385
328
299
359
336
325
325
327
245
294
320
224
264
283
218
275
308
290
385
347
409
411
229
299
344
308
242
230
293
371
291
358
286
357
282
333
366
367
289
292
278
254
296
266
397
280
393
358
348
310
281
342
333
347
278
282
345
262
309
351
379
315
232
373
291
346
288
361
348
396
370
391
292
298
237
311
309
318
281
339
365
376
391
253
270
364
275
327
275
258
343
362
359
309
304
326
248
329
295
334
365
292
381
189
331
305
238
326
303
344
299
270
331
336
341
328
331
353
272
332
322
298
377
338
242
292
324
282
324
363
349
352
298
377
266
288
307
274
306
311
243
304
407
261
333
319
322
425
268
308
374
269
307
273
384
339
281
367
337
218
336
296
296
352
297
358
261
272
333
279
306
265
326
328
267
219
331
296
279
382
408
356
362
303
367
288
358
279
306
360
402
242
355
352
298
354
241
340
270
339
329
363
341
305
345
304
374
431
361
277
306
386
414
210
256
330
294
269
282
326
319
347
306
321
296
335
392
344
329
301
337
301
233
338
325
346
322
396
346
294
329
346
318
319
316
274
326
320
370
357
370
331
319
320
203
319
334
266
367
295
281
322
239
331
300
339
347
267
310
358
246
410
383
351
300
299
294
335
374
264
311
250
208
278
259
296
277
395
214
290
263
332
302
333
289
282
358
358
279
314
305
304
331
399
296
338
311
359
383
330
359
354
278
299
283
376
326
242
278
313
341
358
397
280
307
258
273
273
258
337
344
329
347
350
337
394
290
218
277
338
274
270
334
256
344
370
333
282
329
352
317
260
264
338
304
375
209
270
293
344
327
404
316
300
315
284
278
323
226
286
354
232
317
236
373
360
372
365
324
256
356
356
352
407
277
299
354
367
312
269
280
275
288
371
412
273
364
347
364
298
272
319
319
325
222
347
398
288
300
321
353
299
340
403
343
342
274
311
329
327
353
339
316
317
378
282
257
273
342
380
357
336
403
316
294
326
254
391
229
254
313
329
295
320
267
359
273
318
329
276
305
296
284
337
336
260
354
353
359
286
315
275
344
315
272
347
311
290
283
404
353
263
282
401
297
243
348
347
340
385
313
391
266
329
248
256
306
267
270
295
351
262
255
299
282
349
312
266
343
338
329
325
231
273
318
367
326
376
251
315
322
321
271
275
370
319
297
258
181
384
323
305
240
225
356
355
304
310
324
251
302
301
265
322
324
299
349
345
318
242
272
330
316
396
320
302
315
300
364
281
348
306
311
325
240
279
295
303
281
284
313
338
383
271
250
328
246
359
291
351
346
297
203
312
338
309
304
272
306
359
382
313
344
317
361
282
338
343
350
350
220
275
275
330
341
356
327
289
367
286
346
329
352
340
339
262
260
395
264
325
258
319
302
281
248
270
384
261
329
302
390
350
346
297
282
405
292
272
354
403
320
365
310
260
303
340
278
351
313
249
256
302
362
308
274
324
344
348
367
271
272
297
327
313
397
309
335
298
245
272
320
364
379
421
306
317
279
335
346
336
320
348
320
278
403
228
351
287
359
296
370
239
321
356
368
289
312
286
277
325
309
302
405
272
312
274
289
358
310
297
302
266
350
301
380
303
344
265
365
326
304
302
301
300
317
231
330
318
306
395
315
312
302
371
369
297
324
305
347
271
339
327
344
327
259
347
330
250
328
350
261
306
222
317
309
288
340
411
277
303
343
337
402
333
298
324
281
249
344
278
372
217
311
275
281
218
288
285
253
325
330
333
263
336
314
328
300
321
292
275
332
333
335
338
315
329
322
241
248
316
226
307
279
387
256
362
268
302
378
211
316
238
287
250
343
279
416
220
335
283
313
358
329
357
316
398
370
321
274
328
325
299
375
229
286
362
333
359
290
262
364
299
369
370
299
267
340
267
294
302
280
327
364
310
308
330
285
318
311
277
282
273
364
316
310
311
297
368
299
265
310
333
347
428
272
335
249
246
295
355
305
304
213
364
325
330
315
303
280
250
307
357
251
335
355
333
275
318
295
368
374
284
403
319
270
304
358
339
323
274
365
272
391
236
264
335
283
297
247
397
317
344
290
321
345
361
362
310
289
388
346
336
343
306
348
338
309
298
249
355
337
264
279
185
243
353
326
313
316
341
309
330
355
348
330
286
206
203
348
336
249
377
272
354
319
295
293
347
398
355
362
283
264
358
233
337
371
293
244
241
294
381
245
404
279
333
253
303
285
346
319
353
272
364
287
323
240
345
332
264
293
298
354
328
214
284
335
306
351
381
291
352
278
368
358
347
336
324
341
230
379
369
315
322
388
320
378
349
322
273
336
361
325
315
315
337
242
297
293
256
279
297
270
302
256
342
218
318
331
355
278
311
278
305
357
275
348
312
227
242
376
296
327
271
376
254
303
303
239
336
341
343
294
390
265
281
297
333
279
312
393
235
319
246
353
307
365
284
313
286
342
382
364
329
250
348
295
323
274
337
377
382
245
237
333
428
285
377
276
279
322
294
279
320
294
302
346
225
280
340
344
337
330
278
310
307
357
302
283
356
293
376
342
240
344
366
262
307
322
324
319
258
403
370
376
331
287
349
361
241
368
342
292
256
274
312
198
301
232
285
293
304
278
359
351
318
318
313
409
270
310
230
286
358
308
406
363
308
396
386
365
376
273
298
344
302
340
332
286
300
355
327
307
308
336
316
345
321
352
318
378
175
260
413
278
338
379
250
288
317
288
291
254
346
356
346
332
302
358
328
328
330
321
212
336
328
295
354
335
195
346
399
291
281
385
346
315
322
366
337
307
368
376
334
383
331
334
327
226
331
292
306
255
303
396
347
338
316
256
328
348
326
302
281
259
335
337
279
238
303
352
233
349
301
329
373
304
322
317
291
332
324
331
285
183
299
267
298
339
313
299
297
368
301
355
387
277
366
307
328
360
439
307
295
336
391
309
281
299
289
285
299
307
260
337
353
356
313
264
324
366
223
325
188
371
320
332
238
312
326
356
293
305
363
241
318
304
330
316
395
311
247
230
329
303
279
262
360
194
281
302
313
338
406
339
339
359
251
327
330
334
290
297
347
352
263
369
320
311
310
349
413
300
314
312
401
301
271
274
283
372
308
242
354
313
324
295
351
359
356
307
258
225
371
317
314
241
307
301
356
374
312
202
320
276
361
326
294
382
295
227
344
328
385
302
311
348
309
302
286
263
333
309
349
212
309
282
320
297
239
324
304
279
306
398
312
261
287
387
270
303
340
334
279
261
362
354
328
367
341
345
289
302
372
284
348
307
331
293
307
417
315
306
232
368
341
341
324
388
344
335
253
284
358
312
319
296
338
300
311
298
270
300
346
301
269
309
360
309
383
395
249
354
336
258
318
339
301
370
387
314
345
261
342
291
303
329
237
313
298
310
322
320
306
295
291
336
356
363
364
271
254
343
332
312
336
331
269
235
274
327
277
318
265
390
280
293
336
284
270
225
318
267
329
224
229
331
380
329
296
279
301
330
289
296
306
347
350
265
311
283
307
250
375
270
298
350
405
245
286
306
295
355
358
311
340
372
289
273
355
356
370
286
361
290
318
309
302
306
275
249
384
366
319
283
352
291
318
371
346
319
299
364
301
359
335
288
322
409
273
341
333
238
293
370
257
342
358
349
312
322
238
367
361
342
297
359
364
321
337
281
323
282
247
317
364
367
412
301
322
288
268
407
301
286
380
283
334
336
342
309
206
284
269
329
317
318
343
287
298
356
348
350
331
280
322
379
333
330
396
409
322
367
288
327
269
263
221
316
183
328
316
313
287
323
284
303
391
326
290
316
281
268
294
261
244
369
363
311
262
384
333
217
303
253
279
327
269
296
295
417
301
317
332
384
376
290
340
260
358
225
363
311
291
272
331
265
309
251
350
368
403
270
297
240
322
214
343
328
321
274
302
286
298
201
429
260
350
289
356
265
307
300
254
332
357
377
319
349
319
319
352
336
305
353
332
289
283
243
356
318
275
135
323
332
279
319
425
360
321
394
403
290
340
282
307
298
324
267
348
340
376
178
364
317
311
276
382
389
361
266
307
411
361
314
327
395
377
364
361
274
272
248
364
275
276
388
393
293
282
304
310
377
301
400
314
341
346
285
341
267
317
344
298
310
386
297
431
359
281
372
286
254
286
357
290
327
312
294
336
271
252
294
332
362
316
369
298
249
309
244
224
271
325
312
273
312
341
359
266
287
343
288
387
330
352
338
349
298
249
279
348
325
321
300
318
283
322
278
254
281
327
272
306
329
323
347
327
341
288
276
355
317
296
249
305
301
347
287
287
290
398
315
337
228
343
336
290
341
375
319
283
274
358
384
302
391
348
301
317
276
400
255
358
383
341
248
372
344
232
251
217
374
255
328
305
400
316
308
390
331
339
303
222
295
243
339
311
400
286
296
282
310
328
335
354
235
326
349
360
360
173
199
311
335
280
247
361
256
334
341
311
266
388
244
328
250
299
326
335
264
321
331
308
313
297
340
386
260
349
395
394
392
272
317
284
361
274
230
284
298
363
351
277
355
369
313
241
387
265
317
320
243
385
266
363
236
281
301
259
296
334
304
397
357
296
358
300
414
314
392
259
306
300
318
277
344
240
266
328
299
238
302
344
242
293
218
286
264
339
320
241
342
272
341
318
290
382
235
295
320
292
344
311
318
273
326
286
371
324
272
368
257
307
313
324
258
361
395
280
273
301
342
245
297
337
303
258
319
274
325
379
274
250
299
257
328
270
370
305
352
215
273
282
317
283
316
281
374
250
234
327
255
266
338
357
244
364
300
314
338
301
356
328
317
341
294
390
347
294
253
317
321
244
279
260
283
309
342
336
334
353
309
327
245
287
355
337
355
342
296
309
273
269
330
331
283
359
309
357
309
323
397
291
333
261
311
251
285
331
321
347
294
246
333
304
304
369
383
338
282
359
258
324
317
262
357
354
402
319
372
371
343
321
373
281
213
321
383
342
245
271
211
348
307
291
313
354
295
237
261
324
231
313
341
198
305
339
322
341
294
356
297
265
316
330
255
359
335
308
339
275
343
239
338
348
336
369
348
264
283
232
358
272
331
274
314
297
294
280
339
356
403
333
339
350
365
251
350
282
313
372
291
209
252
344
339
332
313
343
260
326
330
311
409
323
373
322
350
295
282
248
243
448
334
271
247
277
241
349
298
268
356
271
355
307
338
208
312
310
359
335
330
322
326
297
323
290
373
340
295
340
336
354
270
215
351
344
336
243
275
335
315
386
341
334
293
383
288
343
351
284
319
288
349
246
329
370
340
264
281
345
265
361
361
247
330
326
284
322
346
335
392
216
338
364
255
257
236
308
328
289
347
343
400
268
264
275
365
339
302
303
241
329
330
246
315
288
319
242
313
257
374
316
295
348
292
302
304
316
282
209
324
246
196
258
313
320
373
319
311
385
395
299
328
242
290
276
363
287
325
299
317
301
322
398
348
275
353
320
360
320
287
384
241
285
231
355
283
276
283
379
351
339
364
289
340
295
295
351
309
312
299
322
326
352
356
321
311
233
319
320
346
378
337
236
232
323
303
294
324
377
239
316
316
315
286
279
333
282
319
323
374
250
294
296
348
300
293
329
363
347
340
266
324
311
302
357
285
306
270
232
332
209
366
287
352
354
311
312
360
296
312
244
384
283
368
287
328
194
292
299
275
304
322
319
339
335
299
405
294
241
358
308
334
227
217
279
328
319
288
315
330
350
314
335
299
253
345
302
320
384
231
297
312
241
291
301
295
267
346
295
373
347
332
347
350
388
398
296
291
279
398
215
299
332
347
233
289
335
306
349
292
329
324
310
267
235
294
333
308
331
342
369
284
321
221
241
301
279
322
391
309
305
246
326
297
367
366
377
331
257
349
226
263
296
332
282
292
221
371
390
305
290
287
330
314
350
323
355
275
255
294
320
337
296
272
322
262
310
304
351
340
273
299
341
207
387
383
351
337
328
368
210
279
286
264
332
319
412
376
298
275
306
276
358
273
304
301
328
307
361
290
370
253
299
405
301
318
357
332
330
268
320
286
317
333
257
329
256
381
362
312
326
374
293
307
362
301
345
389
275
338
338
290
260
301
275
360
330
312
338
354
335
285
336
267
339
309
383
308
396
351
336
342
287
341
308
317
338
332
338
287
307
271
360
292
326
313
342
312
311
324
269
284
328
380
342
285
267
265
386
304
318
391
337
300
380
327
339
316
280
344
297
366
308
288
241
317
339
355
306
289
336
334
289
322
292
307
297
299
238
336
313
339
349
317
311
379
352
310
292
368
235
315
339
237
355
352
363
298
234
363
328
341
314
377
298
283
280
320
409
261
382
373
335
418
233
393
245
276
262
290
287
368
350
314
318
334
354
357
334
325
244
374
354
315
355
372
386
370
289
251
311
309
302
299
288
262
267
226
364
355
323
246
250
410
311
329
292
290
388
311
305
340
250
296
328
300
323
342
320
324
257
278
315
337
175
279
289
303
363
285
286
257
312
307
272
325
357
345
335
302
296
383
379
331
382
269
366
340
329
332
371
343
348
309
265
243
314
428
288
306
314
364
326
326
286
257
284
321
291
280
339
269
365
336
339
290
291
409
326
286
301
366
295
303
284
378
311
250
356
294
319
368
274
361
325
262
227
375
327
374
350
337
376
350
327
315
292
280
338
372
225
350
349
293
300
326
368
380
358
352
283
365
323
358
302
344
285
332
257
381
325
308
245
362
332
341
347
258
265
237
257
382
355
292
358
346
290
348
277
359
267
355
296
270
267
333
340
253
352
268
294
300
347
304
295
304
395
359
267
243
303
312
433
331
355
341
260
362
344
333
333
308
362
316
370
209
343
297
322
326
322
383
337
256
372
333
326
274
362
290
349
276
322
322
342
305
244
330
248
230
318
282
287
231
334
380
347
347
413
261
291
276
287
298
345
331
347
348
423
400
263
340
234
362
312
322
407
366
296
292
324
187
284
373
247
303
319
367
266
379
269
328
340
268
308
280
289
294
355
381
354
280
273
401
292
293
349
321
314
269
289
244
314
238
314
302
337
350
338
241
291
336
290
305
228
275
310
351
286
376
355
285
354
329
325
299
309
334
290
394
308
365
294
279
269
335
355
309
341
382
393
323
341
296
328
352
261
326
302
331
381
346
415
308
338
361
341
214
362
297
388
295
350
298
320
406
343
337
269
346
327
402
247
317
301
311
341
231
393
245
314
293
366
333
356
355
411
325
330
352
268
304
337
250
369
286
336
241
322
325
359
274
248
323
295
303
330
321
273
299
292
353
324
354
325
266
288
233
315
298
342
242
324
344
265
277
397
394
317
333
273
353
382
295
327
251
278
362
268
324
311
328
330
325
337
285
403
355
315
392
321
328
390
301
303
271
371
349
335
280
353
270
332
356
333
318
233
284
346
290
394
377
238
371
335
325
315
331
310
325
345
387
326
364
325
277
342
224
274
350
317
318
295
276
290
307
297
327
353
287
323
301
344
278
349
359
326
367
255
382
364
248
252
275
318
369
316
326
214
271
254
327
343
287
345
332
357
350
337
371
364
331
270
349
287
241
264
319
288
338
326
300
390
349
304
329
308
364
278
301
372
419
269
323
315
285
251
265
321
411
412
254
278
286
374
324
293
328
340
362
244
381
369
279
380
280
313
301
325
328
303
343
242
345
309
334
365
308
259
295
316
307
272
281
338
339
298
383
274
316
316
290
277
249
342
342
305
407
347
339
299
419
293
354
370
262
325
341
274
353
287
332
263
313
256
312
266
349
354
299
386
346
251
381
330
241
330
352
384
402
395
329
268
290
284
308
261
306
350
394
294
304
275
319
361
375
342
271
364
244
370
347
229
340
308
389
321
284
334
351
319
288
371
332
369
420
255
312
304
318
220
364
236
345
269
330
283
317
341
369
349
286
410
307
289
284
225
364
255
300
320
293
335
274
351
345
294
283
313
234
340
291
340
376
344
288
291
334
331
360
316
314
397
255
315
347
326
320
319
327
313
290
358
284
341
433
372
330
275
251
298
278
395
284
357
271
332
382
269
243
308
451
276
385
288
282
323
267
233
298
325
330
348
318
328
348
309
278
310
303
322
364
189
272
245
347
376
307
291
385
304
437
305
308
318
329
283
372
370
303
350
265
264
298
320
344
334
305
303
318
363
255
350
290
367
315
301
361
286
299
354
298
265
338
275
362
306
333
295
312
378
244
294
349
327
350
300
457
357
291
223
344
325
346
275
385
283
336
308
345
330
285
335
235
357
271
387
316
291
336
393
314
334
357
329
185
296
345
247
289
355
296
321
268
282
220
252
384
252
370
361
351
294
339
378
302
320
299
343
283
317
330
318
344
369
325
307
328
328
329
335
283
333
297
286
275
302
278
263
305
356
362
368
323
329
275
349
235
383
298
363
247
362
286
360
301
224
218
336
229
251
298
354
305
354
308
279
395
340
290
324
355
348
302
310
343
334
297
347
383
272
340
292
290
344
349
347
298
392
338
314
320
249
309
303
285
379
295
290
340
339
250
252
366
314
322
334
328
247
296
354
253
178
354
241
314
348
369
304
288
386
272
319
288
456
346
318
310
342
334
291
291
238
285
373
307
350
339
275
286
333
359
348
321
303
349
349
336
335
276
309
284
279
363
354
309
342
323
264
234
342
326
251
291
364
285
368
378
306
377
347
361
299
325
384
248
338
271
282
371
303
290
216
382
378
301
322
386
310
280
316
320
322
333
229
333
308
340
309
310
289
355
342
331
280
325
328
252
277
375
319
280
232
384
349
351
351
302
355
274
297
340
237
300
317
384
321
300
336
321
308
349
328
272
295
350
327
304
352
290
303
309
337
342
281
310
158
321
294
391
331
312
259
269
332
314
287
383
327
296
250
334
310
280
331
228
294
256
251
366
320
324
326
365
301
315
271
311
216
356
331
354
277
334
287
261
357
260
278
314
325
309
296
291
269
393
405
418
312
370
312
347
335
275
359
358
319
303
337
326
317
285
318
272
294
339
378
329
280
339
273
326
286
341
278
283
345
288
322
312
339
356
351
246
261
417
253
330
274
341
392
347
375
329
268
334
324
307
293
300
278
335
316
298
365
317
340
362
327
388
280
309
363
351
304
220
311
302
278
280
341
379
324
264
436
246
352
361
256
269
361
323
316
305
371
351
398
301
221
321
262
284
285
335
362
289
264
344
292
280
317
326
365
305
267
275
321
319
329
288
353
302
257
321
311
303
178
355
283
287
301
264
226
299
352
329
200
308
290
335
268
326
335
325
356
362
309
342
260
339
307
328
311
304
331
385
349
382
387
278
423
417
314
293
346
357
274
288
333
299
294
306
332
262
297
365
354
329
284
347
326
332
297
318
288
260
253
257
315
325
396
316
412
329
353
310
259
332
331
306
383
272
336
339
359
265
314
238
322
292
298
330
336
263
368
351
260
359
311
348
285
361
216
324
301
222
317
269
333
382
401
199
328
352
287
246
293
389
270
384
394
376
411
328
300
257
292
256
337
252
362
318
313
319
291
294
355
379
332
262
341
397
360
267
320
388
262
315
333
338
324
316
316
346
267
349
307
289
349
371
277
281
204
312
294
318
303
392
291
258
291
272
345
322
387
390
388
273
281
345
256
321
287
272
352
343
312
326
305
347
319
292
280
328
367
261
214
347
341
280
306
238
324
366
275
377
367
316
249
297
319
253
322
348
395
344
296
265
262
331
366
354
335
297
267
353
353
363
358
352
367
360
295
400
295
309
333
326
274
304
302
355
305
318
348
279
366
362
313
305
382
331
369
437
312
320
276
268
401
278
366
309
372
297
302
337
288
240
302
224
346
314
372
210
376
290
345
310
372
367
292
207
299
396
337
237
251
349
224
328
317
308
303
356
314
237
341
386
344
366
232
310
314
356
341
210
323
371
315
297
360
431
297
275
327
349
257
292
362
318
338
307
272
262
312
258
320
328
287
266
373
276
370
373
324
297
342
362
381
348
219
353
403
322
348
333
220
287
236
251
314
269
330
354
300
337
242
314
355
358
303
351
338
345
318
249
244
364
289
277
277
302
406
336
267
280
299
204
249
332
333
372
310
343
308
363
278
369
306
361
316
358
315
353
273
310
313
285
349
315
283
342
367
267
372
231
331
357
286
291
331
341
257
371
299
252
334
368
300
299
332
304
268
332
331
357
327
269
329
257
293
210
353
294
289
296
262
330
358
238
367
357
264
307
357
306
318
344
385
239
304
403
284
307
297
333
333
296
343
379
372
281
292
214
322
289
340
358
305
303
311
368
383
300
272
238
299
340
384
290
265
334
365
304
303
204
355
332
293
349
397
259
234
210
331
299
313
332
387
285
372
276
342
327
322
403
327
333
356
340
350
328
390
303
284
281
226
336
374
337
320
316
307
333
261
323
405
353
344
335
385
306
308
268
295
308
290
259
282
248
397
283
311
314
251
288
336
243
270
332
361
348
275
252
362
341
268
243
361
331
368
215
286
384
277
261
360
318
315
388
294
301
310
296
415
308
267
319
327
294
270
273
283
326
346
243
225
322
305
273
304
262
420
432
257
336
420
348
351
253
247
267
316
209
315
368
301
294
328
296
332
244
312
247
316
341
346
342
274
330
258
317
302
349
275
295
320
282
307
373
317
278
297
351
332
312
329
258
295
336
321
335
235
301
461
359
291
305
284
321
292
400
338
299
225
343
298
220
355
273
332
280
307
337
283
326
247
242
292
325
317
332
230
300
348
352
329
356
303
385
363
376
291
310
359
312
334
298
333
311
337
321
263
224
308
324
236
332
280
376
238
356
261
262
291
338
374
328
258
360
387
343
269
274
314
313
294
291
320
369
289
338
262
290
334
291
241
289
398
389
277
256
314
357
283
328
268
282
317
355
390
291
380
305
322
274
308
408
359
304
311
293
283
230
393
357
352
355
364
281
341
351
338
283
344
366
324
306
319
348
374
298
286
251
293
293
284
324
340
376
314
374
301
336
344
325
355
340
343
297
290
336
295
298
282
330
352
320
331
350
235
368
339
323
328
393
367
315
295
338
331
308
352
316
349
349
380
217
320
307
288
244
261
358
229
352
308
259
315
289
342
398
295
396
368
298
285
259
298
287
348
289
334
295
295
364
320
323
241
281
362
306
323
354
246
314
318
363
337
286
313
302
189
342
283
290
268
325
240
318
303
295
307
278
284
246
262
350
288
202
292
352
277
313
376
299
232
317
346
270
280
318
344
282
317
349
361
354
264
351
347
342
391
310
350
330
301
293
370
409
288
305
249
287
438
308
317
318
310
368
257
286
266
372
269
295
398
422
305
292
327
372
298
322
305
328
366
291
272
328
311
307
385
276
372
360
284
303
377
306
321
343
310
277
319
294
281
228
346
331
286
333
311
230
278
431
296
367
322
282
276
311
303
272
263
288
302
227
374
398
280
313
366
212
344
304
395
322
349
284
285
360
344
375
303
274
328
372
281
312
376
258
310
380
324
379
260
272
321
323
295
291
311
303
342
318
291
319
311
322
303
355
282
382
357
343
271
266
395
231
310
364
347
226
245
271
368
310
344
214
347
287
259
326
352
294
299
294
319
332
374
282
309
292
251
376
294
293
353
316
296
321
356
323
366
291
260
283
372
256
261
279
380
377
425
341
246
286
282
325
304
351
379
325
315
401
305
311
317
362
358
314
316
300
296
317
356
370
270
322
304
345
389
301
350
293
293
284
367
309
307
343
348
365
230
307
348
330
276
369
331
278
310
353
288
189
345
283
330
352
346
326
380
279
310
359
370
305
326
382
316
347
323
395
320
334
350
318
316
291
233
328
328
336
247
288
339
290
333
328
350
328
320
258
302
366
315
328
366
351
217
273
306
320
341
220
276
308
263
375
299
259
261
273
302
405
287
296
288
344
380
361
312
342
284
262
309
297
279
346
295
274
361
360
314
321
315
276
304
352
296
337
341
369
349
301
337
382
313
278
383
400
381
319
378
369
307
298
299
285
266
184
253
295
352
299
335
312
288
246
274
337
202
280
341
314
273
350
285
284
387
295
256
343
276
343
322
294
348
278
306
312
320
278
345
388
350
315
322
314
399
349
304
297
294
334
399
295
353
370
247
357
356
339
255
387
354
249
256
346
261
259
270
364
461
338
324
334
290
324
375
351
317
413
312
357
351
314
310
260
332
343
264
297
390
314
327
253
416
392
389
299
262
320
364
307
372
267
264
312
360
311
286
367
286
299
297
349
268
369
362
348
317
213
375
215
307
312
327
373
281
283
312
251
412
338
391
367
383
302
249
273
334
344
265
304
327
318
285
272
227
418
402
375
276
348
313
238
281
396
331
333
280
366
251
321
358
370
378
364
255
303
263
377
338
288
252
351
280
312
296
271
315
307
315
273
359
411
320
297
345
352
343
352
349
302
346
339
278
282
322
340
332
327
343
288
345
352
332
334
278
318
330
286
269
357
330
314
274
223
315
327
327
328
333
309
330
216
268
365
351
312
371
254
334
289
313
347
359
272
266
323
376
275
320
312
286
240
366
298
383
339
434
360
364
277
365
298
302
306
291
399
281
334
325
306
286
356
313
259
283
247
375
292
301
365
304
255
262
318
346
299
282
408
354
321
313
403
349
342
295
266
285
343
264
327
336
318
403
301
333
352
353
345
332
344
279
276
319
231
264
320
310
311
357
381
321
263
368
371
318
276
397
239
271
279
319
377
355
385
385
345
320
272
394
302
363
276
349
220
307
298
318
307
306
354
226
301
339
294
317
350
344
303
333
390
296
318
322
357
291
306
360
362
232
339
329
309
344
327
396
299
273
346
305
355
311
326
337
291
382
269
299
389
318
375
279
334
307
274
268
272
274
356
278
252
346
245
285
266
334
334
249
293
249
322
364
344
329
296
345
372
349
342
286
285
421
382
255
362
331
277
285
278
330
356
315
376
388
317
294
302
230
302
336
335
301
261
304
269
390
260
318
316
373
310
350
314
289
373
262
301
330
303
286
244
288
314
307
240
329
291
330
321
270
247
384
383
337
350
275
341
313
385
238
364
294
271
312
225
232
365
281
278
288
356
360
313
294
363
383
266
356
258
386
237
333
316
305
268
294
256
334
330
251
307
314
312
314
356
321
265
400
282
306
248
260
284
413
197
299
307
399
371
338
288
305
331
384
374
359
364
343
276
298
333
282
291
343
320
331
283
347
297
362
377
377
285
329
309
285
319
326
310
367
270
295
307
334
321
324
374
304
306
350
356
290
328
291
300
276
280
263
292
343
331
297
297
322
295
301
325
365
357
344
320
289
252
329
300
295
286
320
272
256
314
357
314
278
238
326
332
244
298
331
257
297
285
295
280
272
241
236
343
316
395
290
271
242
279
367
331
272
217
364
285
292
309
260
243
343
260
346
274
318
306
339
325
226
347
258
308
363
321
342
282
257
314
296
317
280
268
350
263
209
290
261
382
302
339
341
325
281
346
297
300
389
327
319
326
309
404
232
287
309
327
317
290
301
342
331
194
210
325
328
338
270
272
358
279
315
340
328
350
217
385
251
341
308
247
296
222
251
342
325
311
231
268
275
293
357
309
340
367
311
310
381
272
324
311
374
350
341
295
341
277
286
339
359
209
213
387
293
270
361
333
352
303
300
377
327
300
301
337
315
272
314
325
314
343
356
296
318
281
316
325
299
349
346
297
322
337
384
274
363
302
345
264
395
355
307
278
306
350
323
219
336
287
329
339
339
295
296
334
334
359
340
328
266
344
303
334
346
328
432
343
389
259
328
387
288
414
326
329
325
271
322
299
329
342
329
333
313
322
255
339
369
338
403
299
285
389
323
346
423
386
271
354
412
268
293
363
314
255
348
280
402
278
373
315
368
254
301
307
289
345
337
373
375
302
382
342
317
322
351
324
271
237
206
291
320
293
257
325
362
251
277
355
331
293
337
351
365
301
369
275
305
324
289
325
343
313
294
289
247
239
328
249
298
271
291
325
403
305
364
321
338
253
336
258
291
348
238
351
376
385
433
308
346
271
391
301
314
286
395
309
328
237
252
318
310
299
369
231
360
321
369
260
337
357
308
323
194
368
364
380
309
185
219
299
251
393
391
345
206
361
325
329
311
367
281
360
258
258
347
304
350
292
390
298
348
369
352
308
344
274
307
262
299
362
288
310
277
324
302
261
355
230
386
366
296
337
261
275
357
338
307
260
304
294
217
295
296
330
317
367
318
321
280
455
350
313
347
249
309
332
275
372
327
364
293
356
336
329
288
256
297
298
337
390
360
350
375
272
369
302
234
318
311
327
235
328
289
345
298
299
264
369
337
344
269
224
275
343
355
318
329
314
365
309
235
295
287
310
337
401
315
200
367
309
375
296
322
326
293
222
231
352
267
320
246
277
350
313
289
338
238
375
298
338
371
405
284
254
298
320
269
381
309
295
320
318
316
292
260
331
295
353
224
261
304
341
295
247
306
335
282
314
312
333
394
357
335
278
339
290
326
301
311
337
316
243
338
349
388
274
257
276
411
266
310
373
335
296
289
324
225
298
305
297
315
321
343
340
358
335
275
261
234
330
356
317
236
259
233
368
409
309
328
254
307
259
350
299
331
373
309
265
273
310
376
283
290
365
393
319
312
368
367
315
320
286
302
337
215
368
283
220
284
383
331
307
295
244
357
277
393
321
373
355
278
250
344
366
313
290
346
291
344
243
297
424
395
332
342
229
266
232
268
353
325
245
379
305
260
303
326
367
320
290
328
334
383
317
302
341
339
339
253
334
265
328
300
344
289
303
294
220
322
211
319
375
348
178
334
274
389
336
314
277
307
338
270
373
269
350
258
276
341
274
329
301
279
367
368
320
296
381
279
308
194
284
332
296
321
272
343
299
323
362
263
345
279
239
255
321
332
307
315
335
342
325
354
282
260
352
290
313
293
357
341
330
302
262
323
342
333
293
394
236
227
434
260
251
324
232
259
317
356
365
303
303
319
302
239
375
312
273
289
279
269
280
346
356
284
293
309
327
340
318
353
246
316
320
293
293
330
280
314
332
402
310
311
338
323
307
386
355
268
354
299
376
274
303
221
280
226
243
299
251
343
317
370
310
341
270
369
235
303
316
328
299
395
297
316
305
288
340
295
292
224
312
280
301
350
315
327
326
334
362
263
273
255
345
298
378
298
267
308
287
272
378
283
298
202
356
344
263
337
311
362
337
357
312
265
322
330
309
322
369
328
273
220
289
241
297
368
284
277
314
298
389
335
266
206
357
265
349
366
232
354
326
340
257
367
229
343
360
355
348
333
369
236
346
328
270
387
342
368
414
315
365
294
328
414
344
340
262
256
309
330
319
381
302
348
359
249
293
322
319
320
296
363
308
342
367
298
360
353
270
252
347
313
323
308
416
383
342
312
274
278
395
316
186
342
265
333
307
284
341
442
346
332
250
433
368
308
279
376
254
351
249
356
386
285
272
382
308
338
353
311
292
336
301
355
279
342
220
279
345
357
265
314
336
314
218
399
371
335
361
346
230
304
374
309
326
343
229
318
321
372
324
354
266
350
294
285
243
296
334
329
344
219
300
284
262
331
356
429
250
340
311
476
377
361
303
432
296
298
368
377
296
291
231
305
337
281
297
346
419
343
259
291
376
268
311
302
233
326
284
218
349
292
269
315
275
287
331
209
344
308
214
311
336
311
269
342
377
339
327
284
338
331
299
191
314
314
321
341
327
241
311
256
381
308
261
351
425
288
307
336
328
406
388
375
243
260
249
389
264
353
349
363
202
342
323
302
259
314
344
290
326
240
377
322
289
269
381
317
387
242
300
357
276
298
262
305
297
286
319
385
281
277
244
346
297
327
297
364
230
285
315
244
338
350
322
300
337
320
343
275
272
321
376
305
233
294
406
387
366
274
301
302
395
315
257
283
280
338
309
310
249
319
316
286
323
362
273
294
331
371
228
297
253
246
304
292
309
301
384
369
310
319
275
339
319
336
372
308
314
336
243
408
368
307
325
303
267
405
333
250
330
345
311
274
348
334
327
310
355
399
368
267
276
356
347
271
265
262
289
298
388
326
342
310
357
305
306
367
307
273
249
392
322
360
260
289
300
222
270
315
273
249
323
275
267
291
346
250
297
284
269
376
338
371
355
301
317
371
380
312
261
184
344
353
289
386
296
302
302
384
248
333
373
357
266
273
402
347
342
335
358
345
253
181
319
269
300
312
325
236
253
345
282
257
360
284
339
344
261
266
298
291
242
258
260
329
293
353
206
261
331
241
368
263
350
331
374
375
321
350
301
326
228
331
290
364
315
184
253
314
327
311
310
328
277
212
320
340
328
284
273
313
291
398
357
245
324
314
341
306
331
297
182
337
329
267
380
308
349
296
285
381
411
399
349
354
265
302
252
269
314
292
289
259
304
330
307
332
321
295
172
351
255
369
293
273
240
281
330
333
311
335
381
341
331
260
303
331
339
372
315
334
292
298
342
361
317
287
310
228
328
359
309
294
366
253
300
370
362
275
320
281
370
344
364
312
288
272
389
308
373
372
353
318
362
307
277
343
332
310
333
334
246
333
310
364
289
285
290
382
324
335
289
353
360
253
350
233
339
201
318
327
286
280
268
348
273
364
267
291
291
344
273
359
363
412
265
270
341
353
327
287
327
345
328
305
380
233
329
385
226
288
309
328
307
361
378
344
307
294
312
343
318
263
274
322
338
310
326
340
294
357
300
258
277
326
325
286
345
333
338
318
323
249
340
329
317
221
312
343
350
306
345
336
343
317
354
287
297
269
359
273
333
260
258
239
287
305
301
390
293
395
176
308
268
261
323
323
296
278
240
322
383
300
243
303
297
292
408
289
295
319
414
281
289
204
272
344
223
369
351
371
296
264
315
362
355
349
300
349
431
257
317
378
260
339
323
302
401
307
259
433
351
355
278
237
268
335
434
261
284
282
374
337
430
332
342
309
407
277
383
335
328
403
263
299
345
370
269
305
427
297
279
283
267
282
284
338
198
390
346
305
331
324
326
245
347
273
344
424
330
383
345
403
263
324
350
313
341
346
331
290
353
322
312
353
337
278
288
309
250
328
266
354
398
300
378
318
302
335
390
381
339
355
349
391
301
248
334
311
239
337
363
288
289
249
315
340
336
295
282
291
323
250
348
261
352
297
409
250
314
231
347
395
404
296
312
364
304
293
239
269
348
323
359
295
362
254
359
312
262
286
393
368
338
359
348
300
364
336
335
396
225
309
353
326
350
306
333
327
321
317
345
306
302
382
314
300
299
339
380
235
348
300
348
327
311
242
295
309
351
404
297
375
307
353
296
306
253
241
330
298
312
280
357
252
350
365
390
352
319
350
335
285
346
344
327
347
344
290
313
312
311
306
414
371
322
341
288
362
303
342
269
330
392
344
378
279
219
237
324
388
301
242
218
353
329
338
279
311
357
350
360
248
280
310
382
345
287
336
259
404
333
357
364
210
355
303
329
291
332
253
374
308
348
281
379
350
312
368
317
286
281
357
318
312
266
233
312
338
390
239
242
312
382
318
289
335
307
374
371
275
265
255
310
287
310
214
329
313
406
307
325
283
395
294
344
303
319
330
224
368
290
340
308
354
330
320
286
264
338
210
316
312
250
342
403
327
245
325
269
280
291
342
286
360
377
291
285
228
280
317
274
331
307
271
360
327
281
362
326
375
322
321
373
255
405
372
333
337
291
317
379
248
323
368
289
271
342
398
268
239
318
309
327
292
284
237
246
307
364
321
340
355
318
264
313
338
290
398
306
353
406
302
350
310
249
222
325
381
264
232
357
314
299
350
325
210
330
256
258
329
308
300
305
356
287
309
302
346
250
277
319
356
289
315
302
248
317
342
329
413
363
290
333
262
234
337
273
307
309
200
337
349
354
245
227
395
316
414
244
187
282
279
309
412
320
272
378
363
310
341
338
419
303
301
348
306
329
357
325
283
285
273
306
314
258
279
335
346
257
291
417
322
301
260
316
366
347
335
306
350
299
334
304
257
248
300
357
399
313
340
301
292
343
284
324
256
307
271
302
383
332
309
220
252
331
260
337
279
354
262
383
319
333
391
294
287
309
277
246
276
325
277
322
307
395
325
316
310
261
331
421
305
224
301
320
272
337
315
264
342
234
352
344
358
301
317
273
232
394
227
359
380
265
214
285
303
307
349
376
275
302
281
310
347
383
395
240
204
247
312
349
341
408
246
337
304
313
369
327
283
317
317
248
336
320
312
368
274
273
362
295
360
399
232
369
312
380
318
354
305
343
311
367
263
302
300
251
302
300
361
379
281
327
322
336
333
299
366
382
366
342
321
379
290
281
290
291
347
345
245
306
351
302
250
372
311
296
396
362
311
216
308
285
297
369
257
382
323
363
246
335
320
317
337
325
362
290
336
305
389
298
357
315
333
289
325
282
284
293
314
273
346
286
237
328
278
368
347
305
337
433
398
330
316
362
306
306
402
316
308
355
357
365
294
354
262
222
295
300
333
375
350
296
368
388
302
257
287
332
321
289
346
351
379
330
238
328
290
331
322
229
345
244
287
317
318
302
201
325
294
264
317
262
310
288
376
279
352
317
351
293
405
346
269
252
334
229
352
315
279
382
318
375
274
382
269
330
350
389
279
256
276
362
347
284
270
348
276
334
244
271
334
311
268
246
359
355
283
227
317
272
315
365
391
391
435
272
276
319
364
373
326
316
313
370
356
219
275
333
306
263
247
244
319
331
348
357
259
273
360
373
362
287
300
398
308
319
261
323
270
321
350
320
351
405
256
292
245
300
380
327
337
260
256
264
280
288
313
249
375
291
365
344
365
286
278
335
304
300
319
346
351
303
320
313
309
270
305
344
262
411
251
371
344
284
311
313
288
287
209
332
306
281
247
329
299
333
302
330
361
341
338
355
256
386
315
311
306
294
327
297
352
175
392
275
341
425
318
337
253
359
307
321
330
305
318
312
349
341
330
343
324
230
360
390
324
337
330
384
254
306
268
370
346
406
324
321
322
326
329
305
232
337
286
257
243
270
279
316
323
322
277
304
315
343
290
314
287
258
371
273
285
356
227
277
345
282
365
306
299
351
331
362
237
279
216
341
322
295
345
334
352
372
291
408
284
353
329
312
378
405
328
372
282
351
322
301
318
312
248
359
282
344
206
288
408
381
274
250
341
298
329
346
319
328
330
335
360
271
265
288
358
366
354
299
282
367
350
305
297
311
374
314
312
365
433
308
284
329
284
227
277
274
350
283
273
212
338
377
307
260
326
285
274
322
368
406
261
386
309
326
336
343
249
360
333
361
247
326
325
318
356
356
314
327
326
367
376
331
341
289
384
313
292
245
275
380
240
358
375
293
325
253
301
314
316
374
284
351
303
363
268
297
314
383
307
364
280
255
269
295
336
365
329
235
366
306
382
364
362
330
357
279
378
311
231
332
288
377
286
372
297
336
320
304
295
283
292
325
306
269
321
313
377
338
307
309
274
213
208
298
312
177
289
290
319
271
301
307
279
282
289
336
304
220
366
294
387
330
309
308
262
287
323
314
351
265
316
302
218
369
315
380
357
370
329
309
366
295
289
296
335
263
342
334
321
304
228
245
273
273
372
332
243
318
254
408
388
301
306
305
361
311
280
273
259
281
341
330
322
261
326
396
370
344
236
323
372
311
291
395
357
294
319
304
331
309
352
287
246
286
346
310
315
314
308
249
327
363
264
342
368
292
268
303
295
236
349
326
300
303
257
320
310
314
308
389
285
347
308
341
311
278
358
386
319
256
317
218
286
305
359
235
242
311
348
332
347
363
313
251
305
428
259
355
290
286
322
307
303
359
267
411
304
362
335
275
269
219
312
320
364
283
382
308
328
325
309
319
316
266
352
305
344
341
285
316
330
269
319
298
326
312
341
282
320
253
322
268
365
332
379
306
341
283
355
318
299
314
340
283
439
362
307
342
276
290
412
285
236
337
286
396
320
372
264
366
339
356
316
340
368
341
257
310
289
284
305
369
275
322
320
333
294
247
325
261
301
292
307
323
322
361
329
362
231
338
315
374
258
289
360
361
321
271
396
366
308
375
248
388
358
283
315
382
349
349
307
359
342
386
277
355
347
321
368
326
276
305
322
321
358
357
312
291
362
233
349
278
286
395
271
296
307
259
329
287
246
333
263
309
320
402
304
294
253
320
414
239
307
320
397
370
387
307
255
242
349
247
281
291
219
341
299
307
351
250
309
318
392
345
313
279
378
354
368
269
346
367
290
379
347
297
338
282
346
335
239
332
391
259
331
316
339
359
414
346
319
300
333
346
348
210
322
357
358
360
345
256
330
282
344
316
265
363
341
308
307
268
310
309
270
333
165
362
301
326
360
302
297
310
326
263
409
322
332
311
393
347
384
286
362
294
257
306
284
351
291
299
280
338
362
253
319
249
366
207
336
352
213
394
271
292
316
391
298
272
342
296
294
292
290
264
290
332
324
285
296
277
229
254
350
302
337
382
329
281
281
275
320
347
358
314
260
290
282
354
363
384
359
319
287
272
267
264
331
432
262
253
250
380
285
401
340
296
281
370
294
309
317
321
308
268
250
341
331
267
336
300
350
344
325
305
314
319
306
322
354
286
333
377
272
311
303
398
325
276
321
282
289
345
320
343
270
276
326
225
279
355
262
315
309
288
384
292
307
303
340
285
294
290
266
358
359
289
312
232
333
248
286
398
410
307
295
344
283
276
289
270
270
303
317
343
254
246
316
354
280
318
379
260
354
341
317
353
297
281
199
367
319
325
269
292
301
266
327
258
321
289
325
261
298
351
345
385
316
308
357
316
345
341
338
456
286
194
288
322
245
373
415
256
378
296
371
343
281
295
277
320
311
252
331
352
309
428
304
361
325
304
334
306
326
406
359
350
319
350
447
291
322
323
371
283
267
338
327
309
268
356
379
386
292
261
314
338
329
326
343
283
265
354
281
240
325
259
313
383
358
279
278
305
262
249
328
274
376
303
352
317
314
351
236
334
336
369
276
386
437
344
349
343
359
326
281
362
351
264
237
305
403
336
361
308
322
309
344
317
365
305
349
274
371
287
352
302
350
327
402
281
345
245
310
282
305
326
305
326
225
269
282
322
349
359
365
321
337
382
280
373
214
277
316
337
303
324
339
271
318
292
305
304
290
229
246
315
378
317
239
304
312
296
361
382
346
316
334
334
286
250
338
305
313
336
365
267
215
361
458
271
339
233
259
304
280
327
377
399
367
346
289
296
323
241
257
296
362
278
333
371
328
322
250
334
321
305
287
307
348
326
320
236
317
309
286
318
293
350
308
332
324
358
353
288
282
324
315
389
293
354
271
205
341
342
354
294
395
286
337
291
404
276
329
291
375
294
266
335
315
306
253
269
279
319
353
438
290
322
251
313
351
350
279
396
328
273
310
367
324
277
281
272
361
278
310
359
352
325
289
273
306
259
339
293
283
344
288
287
284
369
317
347
276
343
308
295
324
275
263
325
381
316
347
369
237
318
309
311
367
372
410
280
289
328
345
338
224
230
280
285
328
283
271
304
260
248
297
355
314
324
303
333
261
272
203
274
311
282
357
368
320
259
281
311
261
320
337
321
299
326
224
290
315
392
346
331
283
318
257
334
329
236
279
363
357
232
381
350
270
314
240
311
313
274
395
267
291
372
310
405
318
266
341
272
336
395
262
364
327
363
288
280
318
342
364
309
239
264
307
288
395
300
234
403
395
415
291
361
319
320
255
327
417
348
353
320
320
307
323
320
370
336
323
301
324
325
402
263
346
346
329
324
218
266
391
302
339
364
237
323
367
324
355
322
316
240
343
319
406
376
237
313
358
359
367
283
313
295
351
321
366
388
179
333
301
233
299
286
339
350
314
336
326
308
245
234
243
273
261
307
383
291
350
283
251
370
329
349
372
251
304
393
355
302
336
336
216
308
317
344
359
357
320
370
297
237
280
282
308
284
364
237
340
371
372
340
359
371
343
259
317
314
289
324
331
356
368
299
312
385
261
339
267
334
352
226
327
248
392
412
263
310
242
374
353
265
276
304
317
375
331
278
322
361
422
367
388
274
368
240
276
304
327
371
344
395
344
245
341
378
279
387
392
335
284
300
358
340
274
291
343
284
304
301
336
340
227
370
363
360
329
258
301
288
314
267
344
301
313
271
393
293
283
380
281
373
398
352
253
300
316
278
339
323
347
253
346
286
319
298
284
368
338
289
400
361
358
243
289
263
318
302
279
256
273
242
273
312
334
353
373
280
349
327
364
364
346
310
241
330
269
339
363
333
352
318
314
341
313
320
382
327
306
294
289
342
329
272
277
318
321
340
324
337
300
361
285
374
212
312
307
318
289
326
321
343
324
292
297
313
239
261
309
335
348
291
276
236
340
283
283
304
274
331
365
349
409
292
259
340
294
324
373
371
332
306
322
230
243
272
210
328
281
320
240
339
353
251
418
350
297
349
353
206
305
335
332
310
337
312
366
338
325
302
330
204
315
365
279
356
373
232
295
353
282
309
324
263
304
349
313
329
288
338
298
277
341
321
343
315
314
276
304
352
336
334
281
263
320
299
379
301
279
368
313
261
338
234
215
286
305
262
265
340
374
284
259
271
256
309
353
307
314
353
290
344
331
337
353
362
275
303
282
345
318
281
293
313
333
268
313
361
307
234
330
330
229
376
342
348
349
358
393
351
336
241
339
276
354
225
344
238
323
315
332
336
247
355
349
259
333
305
346
348
279
425
332
362
371
305
310
255
286
342
344
335
311
359
307
364
222
291
282
242
371
364
349
344
308
357
325
348
272
309
361
345
305
353
353
353
332
312
257
352
319
334
305
316
332
362
270
347
337
335
404
313
319
356
281
325
262
344
318
215
299
386
303
235
306
356
269
339
421
260
292
339
301
192
208
287
356
241
294
299
306
313
268
352
311
305
330
275
372
367
315
245
277
349
274
357
378
261
338
371
311
348
340
316
334
338
388
305
304
265
420
206
269
333
365
273
362
319
323
255
319
273
330
376
350
335
262
369
367
339
284
374
314
353
229
276
378
367
385
289
274
215
289
340
299
284
368
341
352
366
303
226
247
322
335
270
345
354
375
332
278
410
274
283
256
294
311
348
314
361
311
292
411
311
329
369
266
357
313
300
362
251
336
332
345
330
330
358
361
340
270
350
360
448
359
373
361
314
345
285
306
306
346
316
278
324
266
300
314
395
344
314
262
333
344
230
350
333
294
357
377
262
294
262
327
305
349
387
268
350
334
228
318
279
305
223
389
308
340
342
291
289
333
284
279
350
382
368
333
275
340
327
295
330
336
338
289
275
308
340
374
365
292
307
255
279
315
301
263
246
315
317
285
355
424
375
307
229
360
340
305
283
276
312
346
384
341
292
286
351
294
251
222
305
351
373
210
376
328
257
292
281
257
312
278
345
318
385
304
293
334
380
348
399
323
331
282
357
249
303
342
411
280
389
271
309
394
249
322
226
376
338
334
361
313
277
348
373
344
285
295
278
296
324
253
269
295
295
294
335
310
341
408
322
312
332
280
306
277
381
298
298
347
343
307
330
314
293
434
337
286
298
383
362
331
325
331
346
347
279
339
326
332
311
391
235
308
291
407
301
338
398
381
287
257
415
285
320
351
331
330
252
295
302
373
352
318
248
346
246
334
240
343
282
317
276
339
358
311
309
254
313
365
352
341
345
377
269
367
248
372
213
320
332
302
387
350
328
301
303
309
251
332
331
330
360
328
329
357
342
293
314
316
264
324
306
314
294
275
395
359
299
321
298
344
311
362
351
338
332
345
327
287
312
310
362
341
355
250
300
313
331
200
281
263
361
251
290
375
369
391
290
347
332
375
300
311
299
342
238
316
349
339
380
308
301
353
288
342
332
315
295
325
428
280
306
325
366
332
242
407
325
352
331
224
370
325
263
262
302
326
317
276
315
323
335
278
253
338
297
331
322
303
362
364
365
284
294
285
319
306
337
252
308
442
292
322
266
328
385
286
339
284
305
329
341
244
282
346
292
294
315
315
279
328
291
288
331
325
365
335
322
317
304
242
314
368
399
360
391
342
375
297
408
302
336
227
348
305
215
352
238
316
332
349
384
276
232
356
404
278
342
443
305
365
356
332
317
293
354
331
279
352
356
397
356
306
308
264
280
222
366
324
381
269
352
372
254
316
373
310
342
295
349
234
330
327
351
327
318
352
285
316
425
383
278
256
319
271
332
236
389
346
325
303
386
340
331
340
335
332
298
310
338
314
305
355
316
340
379
320
251
192
355
245
209
305
342
317
359
336
316
362
346
306
310
341
301
422
329
279
307
292
358
281
300
301
312
368
284
280
234
243
276
357
335
266
237
291
306
294
264
336
359
363
343
311
241
292
305
399
301
393
323
322
323
337
252
284
362
218
352
261
282
307
305
283
301
317
297
261
288
236
271
345
329
328
260
391
339
292
314
276
329
381
296
350
348
315
387
407
345
252
349
384
345
193
317
246
300
379
281
317
290
270
291
277
352
381
233
323
288
378
404
368
328
319
374
358
396
319
381
309
286
300
345
389
372
382
358
298
360
333
309
384
259
270
310
338
305
244
325
297
339
281
261
353
289
386
290
275
303
301
289
340
328
274
324
360
256
370
331
293
350
324
319
336
312
368
239
364
293
315
261
293
289
250
362
347
314
259
278
307
363
382
359
268
313
357
267
246
296
204
352
422
265
276
320
275
379
285
330
316
360
372
260
340
289
279
279
330
340
298
316
337
334
298
296
269
273
249
243
263
229
255
302
247
365
266
272
335
274
255
355
269
354
322
341
219
313
309
227
394
306
308
334
404
300
358
258
350
327
191
267
340
248
442
336
299
357
375
384
301
303
290
319
253
294
384
363
313
331
281
340
377
323
268
300
247
346
274
332
357
294
325
350
259
312
278
357
356
281
298
304
338
283
331
311
412
296
285
233
283
321
300
385
359
293
281
232
302
358
263
332
319
282
216
372
292
336
307
288
425
329
279
337
319
355
446
379
310
275
349
299
249
321
288
334
315
321
280
367
316
308
277
276
363
265
287
308
259
360
316
302
332
291
407
399
293
354
304
259
296
335
310
292
287
357
364
339
358
387
351
340
347
291
359
295
363
309
385
355
337
286
335
383
289
326
280
379
275
329
211
359
359
313
305
351
361
285
344
301
340
253
358
362
324
294
354
265
305
340
329
313
303
326
243
364
192
258
212
300
329
359
369
333
316
344
299
360
289
357
394
344
389
389
332
328
300
353
432
360
214
261
384
328
329
329
372
381
360
366
361
291
290
302
345
329
255
265
313
314
269
345
318
254
380
381
303
263
331
331
355
360
300
383
350
309
301
315
290
345
361
336
279
316
297
211
406
297
340
420
212
326
338
373
337
294
274
262
311
337
311
284
375
337
342
353
334
339
354
304
220
308
311
295
366
341
382
232
332
333
277
232
390
251
363
339
377
330
334
338
272
357
316
331
354
324
283
406
289
310
350
330
311
282
304
341
238
356
311
360
363
308
406
311
300
334
293
267
305
423
317
262
317
374
345
295
380
284
286
312
361
298
336
417
339
323
303
293
378
264
280
331
291
369
350
321
325
404
272
432
339
312
308
359
264
297
377
326
313
373
328
357
223
327
240
176
373
336
225
298
310
251
344
340
366
327
344
346
377
358
354
252
313
330
303
354
289
261
283
324
333
311
393
341
304
254
356
254
327
258
238
322
313
299
358
352
221
304
354
280
365
293
356
367
369
409
356
279
290
293
314
272
313
355
298
270
337
331
292
318
288
333
307
373
400
328
381
311
319
286
307
367
306
362
240
262
348
257
341
388
292
299
260
263
319
348
290
319
226
277
293
298
322
363
294
309
336
276
281
349
387
387
336
353
334
261
422
305
294
299
324
251
299
350
266
336
331
353
237
275
274
384
281
308
231
319
248
280
250
336
350
280
267
289
336
328
373
253
398
375
340
233
304
390
252
292
315
320
372
311
343
302
397
321
366
317
338
285
361
217
353
299
338
336
329
301
344
266
281
316
323
256
325
332
365
323
281
326
277
340
319
267
195
313
266
291
382
360
344
373
279
330
369
277
308
340
297
258
305
321
254
374
276
348
268
342
208
264
278
292
257
366
335
285
320
324
274
362
391
301
338
297
329
358
329
319
280
295
311
300
320
304
339
234
352
280
295
357
291
367
346
277
296
358
372
312
333
382
306
324
328
242
316
244
372
292
435
355
300
303
312
323
344
331
347
302
246
297
346
323
402
247
322
304
313
330
374
268
374
329
274
247
271
220
306
231
243
314
319
353
289
303
365
310
330
235
249
342
366
335
352
347
229
320
306
290
243
366
303
287
258
325
244
327
345
330
363
207
285
329
364
309
298
344
258
323
284
346
294
353
302
244
322
413
356
220
344
293
271
365
274
260
363
285
313
294
256
322
231
302
296
270
233
363
331
382
353
259
276
406
272
340
342
334
264
353
331
356
255
298
301
403
302
364
277
349
374
298
367
342
335
310
321
347
321
364
396
231
407
312
307
396
394
284
314
245
276
354
370
350
320
238
349
259
298
302
297
312
315
352
284
302
288
285
371
355
303
334
377
309
345
412
361
286
323
276
281
318
292
274
367
230
332
272
309
358
249
314
368
272
285
313
294
315
298
325
280
459
272
336
244
326
357
274
270
348
261
293
285
400
358
315
277
275
326
280
355
341
233
347
364
395
350
274
329
333
298
375
315
349
314
323
378
311
271
371
279
244
247
317
257
355
247
361
354
331
362
267
287
266
290
304
348
292
270
310
325
220
350
236
285
337
318
352
302
369
262
272
318
317
284
361
323
285
360
317
245
302
357
380
296
329
311
290
376
363
362
348
261
249
254
220
331
354
354
289
296
315
320
314
399
288
341
333
345
301
385
309
307
307
319
264
320
249
293
309
251
302
279
329
315
367
292
301
305
224
231
365
339
287
364
287
324
378
312
339
272
230
308
262
247
324
332
350
353
287
289
309
337
279
313
304
263
266
295
329
302
275
374
322
354
305
361
292
292
337
328
389
312
352
357
294
329
340
256
259
356
292
319
284
319
254
317
320
347
300
257
339
299
339
349
296
275
254
279
377
334
308
302
266
253
248
341
278
316
216
360
309
367
311
300
322
318
412
371
319
311
322
352
363
341
298
332
373
286
283
218
350
335
362
267
310
317
305
294
445
324
332
275
352
376
295
261
382
354
328
276
412
339
369
280
257
301
351
329
396
367
381
344
327
313
276
305
320
345
438
241
338
350
411
339
323
284
351
294
293
327
304
274
280
353
342
272
240
306
320
230
363
347
411
378
226
312
278
280
295
316
327
307
359
333
319
316
320
317
333
282
330
281
315
306
337
318
298
248
298
370
408
289
385
403
387
389
293
296
292
329
241
292
395
336
365
310
300
353
330
316
263
308
316
303
308
386
230
321
310
309
377
247
385
329
332
346
342
229
340
266
215
248
300
394
358
346
296
343
315
407
281
291
371
322
349
197
322
277
330
265
344
266
326
381
351
306
327
353
314
279
342
297
281
288
331
339
331
300
276
326
403
278
377
318
326
348
321
312
359
199
277
308
306
322
363
299
356
259
355
288
321
269
337
356
350
257
286
292
320
415
298
264
384
391
270
389
359
272
255
332
325
284
336
309
310
282
208
271
384
259
330
311
378
258
309
355
304
323
273
294
348
357
278
279
336
416
322
257
294
381
329
367
334
342
314
314
339
280
246
259
277
295
340
327
269
350
363
329
345
265
298
353
320
324
303
314
264
338
310
310
319
299
284
279
316
355
288
274
206
370
309
335
411
322
292
367
240
325
352
286
377
339
367
392
323
301
394
273
353
323
364
255
339
301
375
369
294
354
341
315
249
276
330
332
277
354
349
365
277
350
280
388
355
278
387
359
365
323
283
315
277
352
366
273
292
241
280
404
333
341
332
368
357
284
323
276
357
403
294
286
309
291
347
309
311
361
322
355
340
311
306
300
383
295
325
252
296
370
317
366
328
330
425
344
356
347
367
272
303
254
288
330
225
315
349
276
400
344
322
344
311
310
185
273
363
331
379
429
355
345
336
282
322
341
330
308
315
373
301
326
437
257
332
317
340
267
325
332
251
290
318
322
313
276
306
263
242
285
402
343
328
340
326
403
274
335
296
372
273
317
285
290
369
355
350
359
304
346
289
326
342
340
245
237
343
369
372
308
301
262
300
350
270
291
290
218
408
404
323
399
278
277
289
355
385
293
327
292
308
290
354
233
264
312
381
332
261
304
283
273
328
169
269
310
394
331
362
259
281
271
309
355
318
324
345
316
276
261
209
328
391
276
254
347
338
229
368
332
290
337
249
381
298
257
320
322
276
325
355
339
283
340
309
321
288
222
313
331
255
315
351
297
345
333
247
327
300
269
358
344
283
371
298
291
245
332
251
205
305
315
375
335
338
289
371
225
298
303
335
264
271
292
281
326
383
252
299
293
282
263
265
340
311
337
297
274
272
352
282
372
270
301
279
302
313
265
309
270
347
323
250
328
308
367
316
303
330
385
374
327
355
408
285
386
276
328
241
271
339
319
303
305
276
291
318
263
286
343
256
354
349
342
350
333
407
340
368
264
307
301
319
328
292
317
228
320
314
315
344
399
305
424
266
257
280
270
381
277
324
254
340
332
317
270
323
307
322
326
243
287
269
372
321
348
253
314
287
281
302
185
344
268
306
306
332
312
298
386
346
247
303
339
280
338
277
319
327
295
286
313
277
306
303
333
324
349
353
362
371
317
278
269
345
300
335
286
384
320
288
265
321
357
310
307
256
375
274
312
298
269
359
340
332
312
262
282
337
310
241
286
348
365
314
275
226
363
283
270
311
288
312
196
376
347
326
303
352
373
315
349
304
321
275
319
208
274
386
277
293
354
319
324
289
366
205
317
246
328
292
258
320
265
318
332
256
285
290
318
313
319
332
304
248
323
231
343
321
338
263
336
289
313
370
323
303
306
300
318
291
299
352
328
239
287
376
273
359
295
339
222
286
342
359
244
422
271
363
289
309
309
353
246
323
384
320
292
327
351
325
351
295
360
368
292
175
260
274
354
281
326
359
314
377
344
260
366
322
341
280
281
315
346
363
367
321
348
299
321
318
325
360
366
376
283
278
299
351
383
264
313
344
288
379
336
359
348
333
287
325
366
272
341
306
284
269
319
246
359
303
398
233
314
302
359
301
314
299
325
319
331
328
331
348
265
391
301
264
329
367
322
312
368
316
300
368
281
258
293
392
379
294
322
257
291
354
361
261
317
217
191
336
329
320
292
289
275
292
364
367
291
343
376
271
303
229
258
323
363
330
292
353
355
309
357
426
271
366
350
257
231
292
331
372
301
293
276
265
384
374
301
350
341
379
301
313
369
356
328
401
335
284
318
278
344
311
327
344
387
327
318
323
342
315
262
327
302
361
294
334
337
308
372
323
365
296
330
324
363
244
367
358
325
394
320
341
303
258
350
307
297
308
317
334
307
325
409
304
341
315
282
348
338
270
387
373
397
381
292
342
315
278
258
414
344
331
316
326
398
374
369
363
330
272
277
306
318
249
423
250
312
312
318
319
284
289
241
319
355
371
224
357
358
358
380
326
351
397
336
304
342
313
368
317
186
269
378
289
296
277
192
423
402
401
237
336
361
314
318
374
408
286
409
374
334
321
327
307
356
268
316
358
364
274
331
285
232
276
419
244
320
254
296
389
281
291
289
328
339
334
362
353
298
303
278
325
295
393
322
256
333
309
327
281
319
378
363
368
283
322
286
256
377
353
328
322
345
385
326
365
286
272
374
334
246
327
292
320
355
309
347
306
279
308
307
253
272
327
250
287
374
382
301
348
342
277
336
322
309
339
344
310
315
258
316
315
288
267
290
318
335
351
294
300
374
344
404
368
334
212
384
297
278
347
253
282
341
244
300
375
318
326
234
353
274
285
315
267
326
301
289
257
232
349
301
329
329
272
305
369
357
252
340
229
278
349
258
327
306
321
326
222
346
287
291
223
342
324
274
243
317
330
321
338
356
385
349
331
264
272
357
326
357
305
262
271
317
380
295
276
282
321
357
263
395
328
279
351
203
314
350
283
336
259
276
355
192
256
202
368
362
328
294
289
327
416
343
277
348
350
310
319
324
324
354
348
238
306
372
307
270
314
384
353
254
350
236
284
321
361
383
327
284
337
353
304
294
279
301
312
369
300
390
269
297
221
298
246
294
298
269
335
280
346
289
392
299
319
349
373
303
442
345
344
262
378
355
296
323
216
313
298
316
246
367
300
349
278
365
245
321
270
318
333
343
373
351
382
328
309
348
351
335
341
295
352
353
315
332
323
259
335
376
256
373
358
307
317
359
285
419
347
342
349
356
346
269
247
372
364
253
362
373
255
310
292
341
271
279
293
213
249
295
265
277
295
398
323
311
286
264
323
385
252
384
366
365
387
373
272
388
295
348
287
319
378
411
289
377
306
264
366
332
348
272
394
278
328
296
379
302
305
360
332
293
355
233
357
330
313
279
330
276
341
388
299
323
282
316
326
411
321
341
329
380
359
195
245
369
274
364
328
288
197
381
378
301
270
355
295
331
367
350
335
375
291
326
342
335
246
377
286
324
318
299
294
264
340
276
293
314
235
333
390
238
366
389
325
306
349
371
331
326
368
261
382
299
321
354
316
371
292
335
343
263
281
217
350
306
329
234
347
342
274
330
300
339
274
293
325
299
295
346
328
257
340
332
305
267
335
293
349
256
318
242
395
283
287
330
217
306
349
318
318
386
372
316
378
357
261
256
317
352
304
267
322
381
324
326
359
297
313
315
386
326
268
338
324
350
307
316
320
293
262
306
361
314
318
365
275
348
349
271
237
341
227
307
293
383
200
301
328
341
355
308
345
317
255
236
304
306
310
244
333
352
290
354
297
282
334
250
325
315
333
311
266
317
342
372
312
314
355
283
272
277
305
398
348
376
288
323
367
364
243
277
311
334
396
398
264
380
337
322
398
305
342
306
311
317
357
380
314
334
318
337
308
316
267
228
179
287
208
313
216
349
310
330
354
365
382
334
313
312
367
369
304
395
282
276
338
372
247
312
332
308
330
335
365
312
305
369
270
333
243
346
370
330
357
251
317
321
275
268
322
277
269
277
313
329
379
305
402
291
320
267
436
328
288
381
365
236
317
305
361
339
343
287
347
283
347
389
269
365
390
228
385
280
375
304
270
255
330
358
331
332
331
275
352
325
304
370
227
339
277
366
325
346
350
386
326
357
311
312
324
268
351
308
334
281
269
342
265
286
357
259
308
315
353
349
407
308
360
369
366
381
315
320
348
340
330
268
268
430
356
332
284
299
363
251
370
302
331
294
326
283
272
312
317
298
293
323
368
380
329
252
311
333
287
304
411
371
292
335
287
348
334
286
292
284
295
296
382
322
381
318
351
255
269
339
341
389
308
329
299
415
312
286
279
267
359
302
327
323
393
392
305
318
281
307
301
238
359
324
327
284
252
368
276
318
262
305
382
303
311
292
330
289
308
347
326
275
290
338
363
294
238
307
211
389
306
274
330
316
268
359
340
303
236
326
343
376
310
336
317
350
274
299
294
339
239
310
327
332
263
287
264
274
307
269
324
335
287
277
287
283
346
332
347
388
283
261
312
278
291
275
300
325
262
302
383
321
403
253
317
335
399
194
363
274
275
321
337
315
281
326
295
293
324
255
301
282
238
321
363
318
328
253
283
306
301
297
316
322
269
273
391
251
241
326
319
277
265
302
329
291
352
290
263
374
333
242
273
313
297
293
279
333
365
267
353
318
329
305
329
350
321
330
362
341
306
330
294
344
334
274
280
343
326
275
361
408
356
297
272
304
308
321
278
271
279
314
278
232
298
244
254
277
323
318
321
336
324
321
341
307
274
348
299
261
297
285
250
262
238
374
286
357
267
330
413
297
359
351
349
411
294
407
288
343
219
362
311
221
283
349
314
252
353
315
267
339
227
258
304
312
347
382
309
312
306
337
372
265
314
345
322
226
277
293
289
314
318
260
305
337
337
324
349
280
304
347
339
389
392
375
392
309
323
272
267
306
297
306
292
379
370
334
286
244
343
201
411
247
344
339
276
330
286
360
320
245
295
391
340
368
373
319
292
362
326
264
302
314
251
185
295
247
308
374
261
384
237
347
310
246
363
383
434
327
296
302
417
318
321
294
357
319
271
332
305
334
329
373
319
316
267
263
271
272
343
290
390
304
365
392
259
311
313
277
371
262
265
340
239
388
352
304
317
208
281
331
284
314
396
290
369
305
378
295
311
355
283
402
386
404
338
264
267
336
288
287
313
247
345
344
257
241
270
304
372
309
343
367
197
320
312
270
375
328
330
314
272
348
365
356
308
290
325
340
261
364
343
310
398
313
320
274
273
309
349
227
331
254
309
367
344
363
311
307
295
326
301
331
358
282
277
389
286
332
347
328
307
285
271
279
277
347
399
315
254
326
261
411
262
323
249
277
309
287
196
310
275
279
346
298
314
285
232
340
344
384
327
364
280
353
351
372
290
264
313
302
220
283
276
310
318
366
347
382
254
278
295
264
313
213
379
407
320
334
306
301
187
304
256
324
274
349
325
354
441
258
305
343
317
301
269
344
321
294
325
292
329
337
363
281
295
367
308
272
281
321
320
287
300
248
301
363
299
408
318
283
327
266
314
262
329
320
245
362
316
301
345
369
324
289
329
330
307
188
382
299
336
341
281
316
381
304
348
291
281
334
325
343
322
336
320
306
267
346
283
258
307
374
345
310
328
260
335
336
356
252
334
327
310
316
281
255
352
316
372
278
294
312
321
317
361
356
318
366
396
336
327
264
262
265
341
309
242
241
298
282
211
353
349
301
238
316
356
328
315
304
354
367
295
292
306
317
279
333
331
353
286
352
333
400
295
297
322
339
344
354
302
327
372
286
377
337
299
329
339
268
239
315
281
292
279
290
319
275
392
291
308
321
288
343
318
231
330
368
305
282
358
337
338
332
317
309
343
342
291
288
375
288
366
255
315
368
266
324
327
290
306
335
340
346
285
405
296
274
303
267
276
267
388
218
355
376
292
327
300
301
351
396
395
413
313
334
340
373
362
317
395
403
227
252
324
241
390
375
338
373
291
293
335
355
355
311
364
322
384
319
313
366
357
295
338
310
320
287
346
280
309
256
379
342
340
290
308
301
314
429
312
314
334
352
333
319
240
295
259
361
334
350
350
328
273
344
400
373
361
286
325
338
292
326
357
291
280
366
263
318
343
367
317
251
232
336
384
329
367
323
337
331
302
310
366
339
216
378
315
389
315
307
227
292
291
297
283
279
274
333
322
241
363
324
349
320
209
350
216
309
296
298
315
310
370
268
345
221
315
384
354
320
263
306
302
217
266
228
295
298
282
312
276
263
289
263
310
342
391
356
313
357
308
338
362
336
325
280
331
322
285
373
273
339
326
407
241
366
261
289
374
367
364
347
307
330
302
243
330
328
283
338
341
266
351
264
266
298
304
314
332
396
270
294
377
368
302
310
359
314
295
382
280
250
314
338
345
268
302
256
301
345
384
321
357
359
337
274
376
298
361
298
303
395
318
335
342
320
340
299
322
262
272
306
325
295
280
332
361
253
336
361
331
377
361
329
398
423
318
385
339
375
395
333
241
351
367
348
305
302
319
273
281
268
358
361
351
305
340
291
343
301
277
327
272
339
360
304
310
391
317
305
331
344
291
319
340
356
297
312
301
289
370
324
243
320
305
323
340
311
308
333
336
266
408
414
327
270
318
350
275
334
269
271
317
352
353
328
260
270
328
388
415
418
281
202
294
251
312
368
305
222
305
271
310
192
273
285
334
288
339
376
356
324
307
307
316
233
267
269
317
357
326
337
321
334
241
367
249
301
306
284
349
234
293
274
303
302
327
277
371
344
269
281
260
305
318
357
266
299
336
292
327
337
325
270
316
340
340
359
316
249
300
327
256
326
279
301
277
272
258
296
377
340
303
282
368
255
331
264
349
358
309
247
298
373
357
272
361
261
361
283
305
318
344
298
372
324
267
452
297
265
236
375
198
354
398
301
270
325
262
335
364
328
314
327
345
346
403
328
383
292
272
294
338
309
295
257
290
339
276
264
359
392
268
416
320
286
313
314
357
319
296
372
267
307
255
304
293
249
318
330
267
325
186
321
249
371
355
364
290
288
325
354
245
308
347
275
270
289
328
268
352
312
313
359
345
348
259
305
348
313
338
297
298
361
291
313
284
470
247
325
301
371
341
253
201
292
306
323
373
299
263
286
372
293
460
439
319
260
400
368
341
284
305
337
333
316
328
246
373
279
238
252
291
338
317
301
348
384
288
287
338
296
362
255
290
334
323
340
302
376
313
262
296
290
331
275
359
333
280
352
219
241
343
273
294
302
370
274
289
237
384
294
331
272
306
374
366
314
291
349
321
335
323
274
212
259
287
386
352
211
338
234
359
370
374
283
259
358
250
259
323
196
332
353
317
331
284
277
326
329
303
324
283
262
305
341
323
247
290
300
279
359
350
377
253
366
300
266
285
308
344
409
312
277
272
299
315
296
315
357
306
275
355
287
296
259
288
339
251
351
336
336
301
386
321
228
248
414
219
378
347
365
286
270
345
365
241
336
333
300
266
286
285
290
341
327
417
384
257
283
314
239
441
285
284
285
356
263
339
349
320
338
326
272
318
289
387
343
295
298
380
307
253
372
264
278
336
330
269
367
277
309
323
274
374
282
305
299
330
350
323
353
245
403
346
366
351
239
340
314
288
278
304
368
312
343
340
312
323
237
349
321
301
359
409
307
270
354
403
295
342
363
305
308
314
308
303
371
305
285
233
290
351
318
286
332
265
321
270
306
327
258
283
308
301
338
224
344
294
384
254
375
286
281
322
365
320
366
321
288
311
266
242
343
355
298
324
379
335
328
257
391
314
358
369
386
352
366
400
245
291
319
322
275
200
303
295
250
345
319
354
276
329
371
334
271
262
402
334
247
227
310
288
343
300
368
290
369
271
264
292
297
306
363
253
309
349
361
286
337
302
286
318
301
338
294
182
306
379
325
247
324
379
228
284
281
355
267
266
320
302
331
379
290
405
252
333
350
335
423
349
362
293
311
259
236
255
319
324
305
331
345
319
345
274
386
304
372
365
381
362
332
256
371
199
270
322
274
355
301
338
286
322
302
277
326
319
371
274
336
212
380
368
348
387
322
323
373
325
223
421
342
335
280
293
302
330
294
265
349
234
322
242
384
357
356
267
364
294
254
315
341
323
354
245
320
333
382
259
292
307
276
270
315
386
374
349
379
336
239
269
335
345
344
344
299
296
254
429
276
340
328
280
256
312
333
355
323
324
287
324
268
291
308
361
320
292
356
336
318
293
252
316
350
287
408
373
268
312
335
308
421
365
300
335
301
291
400
333
301
337
368
273
298
300
257
373
347
301
436
330
387
357
249
347
253
403
382
367
390
356
387
271
304
379
281
238
277
335
358
318
272
351
406
353
342
393
292
295
273
275
298
363
315
286
353
328
238
330
316
341
323
273
359
252
361
324
267
313
266
296
297
231
356
361
361
296
205
304
429
330
317
286
331
240
341
369
417
243
334
310
322
286
345
316
347
243
345
478
356
397
347
324
367
316
381
310
385
270
244
335
279
288
292
332
297
222
379
271
332
232
322
295
331
320
206
275
325
304
357
288
385
283
299
325
306
296
386
419
347
366
358
361
293
344
379
282
253
273
383
299
376
299
320
323
355
260
304
258
301
385
419
289
285
331
304
210
294
350
354
382
280
264
328
267
328
303
348
221
329
373
245
345
390
327
273
312
313
267
216
331
307
435
365
316
311
346
215
289
197
338
392
355
319
264
344
308
281
364
368
344
350
342
328
343
228
313
320
383
290
327
377
315
303
322
271
215
330
329
271
224
387
360
232
299
317
382
264
394
306
345
352
307
225
294
407
424
242
349
308
169
377
307
367
258
265
332
315
340
357
349
315
355
338
357
292
279
232
273
293
305
349
272
364
360
305
342
308
259
268
270
289
372
303
327
335
293
342
257
273
316
278
277
352
329
318
325
351
334
292
232
341
264
320
330
299
373
278
251
351
346
231
324
338
331
321
279
331
294
350
394
274
354
349
325
338
268
344
328
339
315
320
371
327
308
285
345
242
343
358
360
322
328
327
374
323
235
323
340
289
366
312
274
303
324
268
250
271
324
342
363
317
349
333
415
328
387
309
234
246
275
392
221
313
338
283
243
315
258
380
386
255
278
337
286
224
359
383
321
272
236
360
272
371
282
322
267
275
326
262
338
258
257
269
397
277
232
323
317
268
305
338
287
352
334
273
309
309
310
302
262
376
285
363
212
368
357
367
398
310
332
257
321
270
335
309
313
297
270
338
393
346
312
338
260
287
328
367
314
305
338
346
361
352
208
370
273
324
344
300
263
362
305
277
319
305
381
300
297
329
235
314
309
297
268
324
388
274
387
364
189
315
320
415
362
266
313
274
291
304
317
300
302
330
235
321
354
302
385
290
290
330
378
361
300
315
245
355
353
349
286
359
435
263
305
316
306
353
316
251
293
300
304
308
281
303
291
340
329
383
358
369
301
286
342
295
321
287
339
290
401
223
236
318
318
275
293
368
277
333
306
361
363
343
252
287
405
276
358
330
363
364
308
244
336
324
327
405
271
297
304
265
303
332
365
207
344
329
351
370
254
359
401
350
294
347
368
310
286
276
358
372
263
326
313
314
305
312
286
383
387
373
299
294
369
319
338
292
234
389
390
319
329
349
316
252
369
281
273
307
321
273
303
350
347
303
293
330
292
286
321
264
207
291
334
311
316
357
280
342
318
335
352
302
374
408
337
370
322
267
245
283
304
318
388
332
351
304
348
351
276
292
380
357
281
286
262
294
367
386
308
303
333
220
314
316
288
243
317
348
264
319
342
387
260
300
334
429
262
317
333
395
404
339
351
296
378
317
306
337
338
353
275
312
361
336
304
269
323
208
277
350
341
327
314
328
375
341
346
349
267
268
371
302
421
400
223
299
259
339
311
273
285
300
372
369
377
383
385
339
331
340
233
294
274
265
312
208
340
323
302
373
299
334
269
356
318
315
352
298
329
383
322
356
330
356
320
262
254
354
350
380
319
385
324
266
307
360
291
317
360
300
383
295
321
396
267
277
294
362
253
299
317
389
318
277
363
350
345
367
282
413
305
297
341
363
313
314
311
249
253
269
275
328
306
308
340
250
245
285
320
301
345
238
366
327
311
334
286
382
389
342
182
244
244
324
265
299
335
306
409
380
358
318
373
255
294
321
297
322
312
313
328
353
305
287
325
316
314
315
343
253
344
350
257
352
329
304
283
321
287
338
373
317
260
322
290
344
282
335
377
227
366
315
300
374
327
355
385
327
315
339
232
348
313
323
325
367
306
350
285
348
330
315
308
248
386
265
279
307
322
354
346
286
336
366
321
334
342
327
276
335
336
360
287
303
369
276
362
338
342
418
309
363
260
246
227
355
222
291
280
359
297
265
266
312
253
347
286
375
379
375
267
246
332
334
353
342
293
331
350
232
322
349
344
312
402
294
275
245
367
350
270
282
240
349
329
217
307
282
327
291
319
339
260
301
351
374
403
228
294
360
340
368
357
326
342
323
298
296
301
346
362
296
370
314
308
277
374
326
251
294
431
214
310
248
383
355
368
362
375
387
295
258
422
335
278
347
320
356
208
400
326
315
312
318
365
279
270
333
389
262
290
265
315
307
315
345
286
295
372
342
332
392
336
326
387
358
334
299
368
343
346
323
266
329
393
341
343
361
276
311
306
310
289
282
290
292
326
255
252
421
334
296
328
343
261
336
433
304
251
241
293
388
298
401
342
287
320
283
361
369
272
278
241
334
304
338
274
330
301
356
294
315
355
310
320
325
286
347
335
324
312
258
325
340
263
323
414
300
312
292
295
326
256
341
290
311
405
309
299
345
315
336
296
295
328
305
294
255
334
303
281
283
293
323
304
345
278
324
353
310
348
360
386
331
363
427
400
331
329
227
326
290
316
338
332
214
348
310
253
396
307
369
317
332
292
307
324
213
300
278
337
300
300
285
285
337
258
328
368
339
368
291
290
293
289
272
274
244
331
252
290
308
365
286
277
302
335
294
336
250
328
350
290
379
297
270
276
327
247
274
284
292
277
452
341
358
274
411
349
275
307
321
334
315
327
274
357
352
286
343
293
312
337
303
379
282
306
312
375
243
226
267
303
308
268
322
337
273
449
286
358
325
295
290
324
309
303
353
271
322
344
281
321
314
305
330
309
258
319
367
335
277
350
323
309
337
387
395
290
280
344
359
285
340
345
331
360
297
355
298
359
281
328
387
290
319
291
249
332
295
327
262
285
311
270
361
332
308
352
319
307
384
286
348
332
327
313
358
312
340
293
259
358
382
359
298
319
338
319
278
281
315
278
265
323
229
260
361
360
330
417
305
336
311
355
311
230
381
351
284
333
290
333
271
155
362
245
348
358
271
298
370
290
322
275
308
360
344
379
383
293
352
303
256
355
314
284
315
321
244
290
273
278
271
273
316
294
295
376
330
231
340
239
304
344
368
297
366
345
281
332
281
279
360
245
254
301
333
287
349
365
283
246
281
281
360
326
280
364
323
343
243
325
327
277
379
274
311
240
302
332
301
352
344
352
354
343
323
323
282
304
269
318
371
364
241
337
256
250
322
281
383
281
331
350
361
261
256
332
309
263
318
367
279
334
332
285
430
296
261
299
252
304
283
355
307
232
384
251
258
324
288
300
294
368
251
379
287
302
298
298
334
279
289
325
341
297
322
288
260
374
252
317
264
345
290
262
413
317
262
310
360
365
222
304
360
340
322
394
287
267
322
324
381
321
301
261
299
343
290
299
331
355
317
375
285
336
257
371
337
338
282
382
390
329
352
291
356
312
286
227
360
328
305
313
307
370
260
312
290
341
290
248
259
359
346
279
343
360
350
267
300
257
290
310
294
367
328
318
286
343
214
319
290
342
427
344
297
188
413
353
286
379
269
357
387
274
209
329
391
321
330
287
316
261
233
331
327
359
321
356
300
324
303
261
345
347
387
349
271
350
360
285
355
245
377
359
303
290
360
332
277
323
271
252
334
289
246
343
356
343
301
392
364
410
280
342
297
384
373
384
327
304
331
303
395
285
312
252
362
290
291
383
370
373
303
324
302
361
351
341
333
228
259
358
280
318
299
316
304
334
322
320
385
243
296
317
360
274
292
319
372
335
308
367
298
338
217
356
268
272
288
285
322
303
258
281
241
277
282
291
269
249
268
385
317
376
246
236
280
322
340
307
347
351
409
374
361
338
315
270
368
209
217
228
288
330
311
299
350
306
370
359
330
410
338
341
335
293
239
275
313
250
310
415
393
368
274
294
253
238
365
362
224
255
361
330
283
313
344
289
255
332
265
323
350
346
405
413
274
326
388
313
351
327
307
438
329
368
275
315
428
352
264
341
312
309
264
356
285
333
305
312
345
276
312
267
278
309
292
336
332
257
312
282
360
327
358
252
325
374
389
328
275
321
307
397
265
323
265
174
387
248
320
251
408
329
330
231
338
321
283
300
322
270
326
314
388
347
355
334
312
263
369
398
238
326
288
208
296
324
311
375
333
367
223
286
311
322
246
366
358
234
369
341
346
346
305
275
313
317
406
345
339
316
293
340
263
266
281
275
365
349
307
307
368
356
344
341
341
336
354
289
352
249
330
279
310
311
281
378
333
263
257
301
355
248
307
237
299
209
335
315
313
335
351
195
320
354
375
288
316
282
332
296
358
280
323
379
300
305
249
354
321
226
256
267
306
413
324
269
269
283
258
285
319
350
248
342
325
308
401
320
280
333
354
306
354
331
334
320
213
319
354
315
270
249
288
336
271
328
218
348
292
311
329
280
283
303
268
394
331
354
253
320
378
329
271
323
207
294
299
298
332
259
312
272
280
391
310
339
331
265
400
304
312
331
333
277
360
345
291
253
315
320
226
271
334
290
288
271
276
370
327
358
311
321
362
338
330
267
320
350
241
258
291
339
315
300
343
307
349
344
315
265
328
328
310
273
317
286
318
292
335
349
314
251
388
362
390
234
341
311
361
294
329
272
322
284
317
357
294
391
341
300
343
301
343
339
341
297
358
311
369
285
376
322
253
370
263
389
363
299
285
358
325
232
356
365
304
394
304
338
299
243
311
271
312
375
382
312
273
388
411
366
300
344
269
399
276
306
331
301
267
274
288
331
331
319
202
333
273
421
337
340
343
363
311
374
400
305
390
299
345
404
316
350
364
366
342
308
311
230
248
319
277
262
288
377
364
375
336
332
248
299
373
255
198
283
232
302
271
307
334
321
322
338
302
342
335
319
330
309
408
304
302
251
340
370
295
240
398
272
346
352
302
313
308
283
219
351
352
272
394
346
265
321
331
383
305
254
277
300
280
381
313
302
275
366
275
350
344
306
317
203
301
318
264
297
327
316
368
230
249
350
392
373
251
263
291
243
294
309
317
291
310
361
302
305
304
324
267
316
346
388
275
345
305
410
317
192
286
301
322
333
322
405
305
346
312
305
257
318
298
296
339
291
327
281
268
260
306
221
293
219
322
219
282
282
241
395
290
265
346
416
349
268
327
245
329
276
329
270
316
333
327
223
371
250
328
343
372
377
304
224
326
275
312
358
257
346
389
361
268
314
363
396
333
274
411
340
337
286
264
307
322
327
311
387
264
310
357
325
312
309
269
249
194
320
308
279
390
319
352
312
342
304
358
313
289
362
381
340
289
273
187
330
361
321
294
266
295
265
312
382
338
294
306
265
249
281
285
275
316
283
255
378
356
306
352
322
351
348
384
385
338
326
348
301
319
284
335
298
338
323
395
301
330
352
358
346
298
343
318
380
365
295
251
313
331
268
263
315
324
315
207
315
309
268
389
316
327
372
266
308
294
411
302
370
333
316
347
302
322
351
236
360
243
375
296
375
304
282
341
236
316
309
336
340
277
316
360
378
416
390
400
315
328
252
316
311
299
342
309
280
323
291
357
371
340
344
299
275
362
328
319
339
286
345
365
333
343
301
299
335
410
233
273
310
354
285
271
282
370
317
329
291
347
290
309
274
334
294
399
348
364
336
352
307
323
346
381
213
322
371
385
328
270
317
222
270
366
292
282
240
243
303
243
311
284
259
219
262
355
323
353
347
295
323
338
335
275
340
273
325
325
336
375
186
311
279
289
225
379
407
342
236
238
255
277
347
350
227
313
280
320
263
382
265
266
259
259
356
293
317
256
209
304
317
321
282
232
293
229
304
364
370
321
241
320
265
278
263
260
334
373
280
352
327
321
348
298
275
338
285
272
359
337
314
401
357
383
348
343
313
291
321
373
298
324
335
365
291
359
301
261
292
264
297
330
322
297
277
300
331
264
335
282
341
313
263
340
235
328
296
365
383
344
289
324
307
301
269
298
367
355
389
301
388
307
273
345
284
334
285
266
334
336
264
256
295
338
253
258
317
308
301
365
286
382
335
293
230
296
249
290
312
352
288
279
315
341
302
347
274
397
244
260
262
258
309
271
257
315
241
401
265
344
372
320
312
325
304
336
318
332
313
210
270
313
332
356
317
275
244
301
314
333
295
332
293
303
367
291
298
394
258
324
203
292
319
336
360
371
349
333
232
331
330
338
341
284
382
327
348
364
293
358
366
319
292
433
302
238
375
248
325
319
341
290
308
280
273
335
268
289
298
309
247
338
308
345
326
303
327
261
284
258
347
316
340
311
351
288
360
387
319
324
273
298
356
257
360
290
251
285
409
320
248
338
346
322
290
270
330
270
362
320
334
303
280
357
318
244
292
382
307
369
377
339
246
316
357
306
372
302
415
414
243
293
319
234
354
363
334
314
363
335
389
287
235
402
353
250
362
361
348
382
318
313
305
328
309
400
269
323
285
296
274
232
357
287
351
331
288
362
281
319
277
344
330
238
375
260
251
325
270
288
251
309
337
337
252
280
324
328
326
354
275
358
263
391
296
243
314
356
308
345
277
270
349
348
283
322
351
266
199
222
230
307
365
301
398
392
379
247
347
390
296
311
344
328
289
297
198
327
368
235
326
342
265
316
257
269
323
281
337
313
258
305
308
258
327
374
375
369
273
251
293
302
265
261
324
370
352
342
295
382
244
281
290
365
344
318
346
314
332
313
311
251
340
386
256
339
251
333
270
331
368
363
280
320
315
433
362
291
217
350
278
302
323
296
305
361
295
316
339
288
320
377
314
347
312
292
313
224
302
265
250
282
364
289
281
357
317
294
304
332
322
261
363
451
303
313
310
309
392
329
354
301
337
275
320
312
408
295
397
368
310
273
346
393
229
322
268
356
291
295
358
296
320
375
375
348
304
315
329
283
327
284
357
346
292
315
325
285
326
387
381
320
342
304
245
304
322
272
291
314
370
325
375
307
305
317
300
233
282
311
333
283
228
315
263
344
287
287
333
342
258
248
276
343
291
338
332
271
379
364
380
205
240
323
294
263
414
265
352
229
253
373
355
410
349
310
331
250
275
332
332
375
281
413
260
310
353
295
404
287
319
349
293
246
321
276
296
336
314
277
399
323
259
336
357
269
385
267
356
268
301
299
306
316
313
298
283
333
258
305
263
335
293
433
277
281
297
300
293
295
267
315
309
371
239
278
362
263
275
352
370
287
259
351
292
355
334
308
353
300
282
358
340
289
225
285
328
207
327
358
324
410
295
322
346
411
291
304
293
359
280
288
344
224
332
269
352
308
239
450
235
342
369
295
362
342
207
324
359
262
270
306
391
447
253
368
371
262
301
352
288
212
252
337
282
347
296
222
324
335
261
403
312
347
346
339
414
247
314
290
376
210
384
231
295
267
231
372
355
270
270
327
370
300
298
327
320
310
269
345
326
326
338
352
345
354
270
390
281
297
356
286
362
365
338
328
288
315
352
297
339
280
345
368
280
221
375
349
261
296
256
302
352
357
306
311
299
337
304
355
368
379
293
303
302
356
322
290
289
284
300
330
289
394
306
392
294
267
285
297
347
256
306
279
258
337
256
275
324
332
269
277
282
377
303
334
357
366
332
353
351
313
396
362
315
352
335
270
320
293
308
311
339
345
263
334
290
286
337
376
329
319
332
326
235
283
377
306
238
316
247
317
359
257
325
382
276
366
406
279
299
349
323
220
331
276
337
275
310
357
356
421
333
367
225
276
373
370
283
334
398
286
366
292
272
324
256
374
335
349
260
297
262
345
360
328
236
300
342
350
339
369
302
388
403
259
344
317
275
325
392
342
362
274
302
289
330
281
309
389
324
249
365
315
247
332
224
274
293
314
330
328
326
381
281
279
389
325
361
239
269
312
369
350
337
319
312
386
346
305
230
266
257
347
215
371
337
354
269
302
300
317
317
341
249
309
270
311
328
307
280
324
246
314
240
377
393
321
252
372
317
319
288
246
391
212
281
223
358
273
257
365
203
262
247
323
284
314
365
349
321
346
251
244
292
270
312
339
351
297
374
322
275
328
262
249
289
277
247
268
334
299
245
283
283
375
264
370
327
335
299
391
265
299
362
251
316
410
345
329
331
296
400
283
172
340
376
318
274
288
235
352
244
277
309
278
282
277
320
310
288
311
248
392
278
335
332
313
309
335
275
347
298
345
308
314
274
301
301
331
311
348
342
280
333
315
273
321
425
312
328
337
375
385
248
327
283
322
363
345
294
350
291
253
292
351
321
309
370
320
335
409
322
378
311
323
363
289
221
309
276
375
331
270
314
387
338
385
341
279
262
353
411
287
335
411
356
271
354
254
282
313
280
278
230
278
280
331
333
283
304
353
293
304
294
316
316
278
276
248
344
348
355
320
281
289
253
328
300
250
283
294
326
358
330
296
324
295
238
337
350
319
272
308
333
350
352
386
390
321
254
282
207
334
246
307
256
355
381
298
322
326
353
240
386
234
387
334
350
281
301
345
262
355
300
305
358
350
226
249
283
382
359
365
281
301
361
269
277
284
299
294
262
282
298
344
272
296
359
321
350
337
312
278
329
306
253
336
268
345
267
338
322
361
334
302
286
364
323
336
263
271
381
287
321
353
358
308
341
306
293
315
302
323
375
308
290
314
321
291
323
266
444
279
308
302
355
348
301
274
323
300
297
304
345
304
268
342
308
407
395
327
387
373
303
314
309
336
244
394
335
345
318
319
284
328
383
269
396
237
301
301
292
361
326
325
294
287
306
275
356
336
312
299
319
211
297
357
325
256
286
377
315
363
372
246
313
376
308
393
221
364
275
344
306
343
293
284
329
357
321
336
319
241
333
236
314
366
277
308
331
329
330
202
197
300
286
291
324
300
318
346
356
371
391
360
311
341
330
276
245
338
363
287
269
332
313
284
344
308
334
288
305
319
278
308
340
326
311
346
324
319
315
325
349
252
299
325
355
397
292
337
352
357
371
336
330
326
333
304
401
320
309
409
343
432
370
345
292
326
339
361
223
343
322
356
345
252
356
312
319
309
335
288
248
353
297
338
339
307
375
276
290
333
396
289
321
300
311
260
291
275
370
410
256
311
310
330
347
334
267
316
351
238
320
334
412
270
250
262
257
345
323
219
301
287
380
325
347
308
258
285
361
341
326
346
237
265
300
354
345
303
301
302
334
323
308
333
333
419
312
303
315
295
288
345
277
347
283
256
292
339
316
359
301
295
319
305
340
310
305
332
332
376
339
347
260
315
288
353
237
249
333
343
376
328
301
275
323
316
320
267
303
272
367
360
288
296
318
319
344
306
282
317
335
320
313
264
292
308
263
311
327
262
347
311
342
286
328
283
293
330
302
378
299
359
214
313
314
285
318
285
326
310
331
364
324
369
291
251
261
280
299
262
294
311
322
234
319
390
297
330
341
387
338
291
323
396
321
299
368
280
372
182
329
354
296
343
315
289
312
286
315
297
311
391
354
364
326
321
308
258
299
362
408
351
367
326
340
312
330
335
264
297
341
303
317
345
263
358
257
286
278
345
270
323
238
321
289
373
351
298
233
357
331
312
335
381
242
345
280
330
242
365
313
252
296
306
269
356
288
268
378
356
237
340
346
279
368
295
275
316
388
289
368
303
364
317
261
342
332
381
364
319
361
327
264
382
337
290
283
275
275
387
284
303
319
316
293
308
255
304
288
287
318
273
237
366
342
266
306
328
351
314
313
303
250
343
224
305
300
323
314
348
356
306
283
326
347
283
248
262
300
311
307
338
306
394
296
401
300
292
306
263
331
239
309
265
335
219
365
327
290
278
366
309
330
276
340
325
368
365
319
297
392
252
314
280
359
291
272
357
389
318
336
330
267
260
386
365
369
337
248
296
283
333
336
296
327
323
312
334
333
261
272
350
340
305
333
304
286
320
312
397
326
331
348
281
318
396
305
275
315
325
279
241
304
315
360
307
344
344
341
313
329
265
235
366
322
257
261
345
304
215
364
393
343
303
338
311
332
336
257
303
332
306
335
360
296
322
363
211
288
255
261
251
329
388
329
232
349
388
286
317
374
292
363
271
288
290
349
343
276
261
305
343
274
303
337
325
275
318
312
359
312
325
354
364
334
284
305
254
366
335
279
338
359
353
299
316
338
321
293
305
266
379
255
288
262
350
285
305
228
355
387
256
456
337
282
269
296
276
272
264
289
302
445
328
298
252
258
320
280
244
378
279
322
404
342
302
319
371
349
308
286
397
339
319
356
340
288
314
346
327
354
315
279
298
275
265
356
296
328
234
259
365
251
298
367
283
342
336
385
261
265
200
247
369
302
278
321
367
338
271
347
322
245
352
342
346
271
336
224
319
397
349
364
260
354
303
357
251
288
291
271
321
256
291
294
396
317
315
306
309
351
336
273
354
353
365
345
422
297
248
337
245
275
311
259
318
302
317
394
287
315
374
327
310
285
228
343
296
343
247
290
380
362
359
357
373
360
239
315
229
350
321
310
357
313
354
296
268
339
337
347
308
381
329
302
308
393
331
381
298
346
309
326
350
276
330
375
273
323
337
291
331
321
361
349
380
318
312
349
337
272
307
304
351
287
363
285
295
282
287
361
299
273
293
294
312
332
230
264
326
251
336
287
272
319
348
323
245
219
212
249
313
295
287
279
329
323
263
310
322
305
313
274
333
339
365
331
321
376
260
304
332
292
296
346
379
387
357
360
315
218
366
317
303
327
320
292
336
301
362
265
332
293
292
327
296
249
399
281
300
289
292
246
268
276
265
376
202
326
417
294
392
303
286
303
319
334
343
302
332
316
268
233
279
368
361
354
356
343
305
321
364
237
304
380
297
302
374
303
384
289
368
351
309
221
330
364
257
246
285
285
317
288
288
276
319
426
339
297
387
351
333
273
285
415
338
183
337
321
330
287
293
259
406
265
365
291
390
339
346
309
203
332
328
330
306
301
344
373
319
426
346
386
376
283
301
262
303
315
391
217
327
309
356
227
340
316
300
298
408
291
209
340
276
303
239
264
341
308
336
325
303
281
361
356
349
324
250
307
271
274
266
331
290
357
309
327
294
219
248
308
335
319
248
258
314
277
273
262
286
283
296
350
264
247
365
334
281
334
202
321
283
357
226
315
258
270
320
400
311
302
355
345
325
373
294
312
242
388
257
363
342
336
297
326
304
340
296
376
280
337
357
328
323
293
338
343
403
323
309
334
269
275
259
284
297
314
325
288
315
399
259
284
328
285
262
268
338
338
326
317
326
360
333
389
317
332
318
293
264
336
321
226
408
326
252
289
311
318
227
260
304
325
284
361
246
313
306
249
314
334
326
325
304
309
298
298
384
305
328
308
293
356
372
360
284
418
304
339
313
305
348
268
299
274
283
280
304
383
376
311
310
288
309
281
255
295
391
215
294
274
291
361
349
347
246
330
263
249
298
355
292
281
349
300
361
313
357
272
331
381
386
243
351
284
288
257
352
327
331
253
319
407
313
340
325
339
245
379
268
347
295
299
324
348
303
378
383
212
370
326
380
261
342
308
270
370
328
190
312
307
386
306
293
412
302
406
373
222
306
342
296
296
279
299
296
296
359
237
309
241
227
328
393
290
298
305
312
303
353
314
383
298
301
348
241
222
265
271
359
331
291
369
383
320
374
366
253
341
368
320
318
330
329
307
215
332
398
270
318
380
268
328
354
357
342
313
426
357
331
259
310
303
379
323
362
279
389
245
273
386
264
325
303
355
311
371
298
315
337
366
316
344
322
280
304
262
283
253
317
233
318
331
299
257
333
333
306
228
373
323
299
305
330
374
301
378
283
317
280
263
333
357
323
260
244
332
338
303
273
310
229
280
250
245
311
247
364
354
287
263
353
262
368
274
297
353
271
259
273
234
264
285
356
206
222
266
308
295
265
350
310
438
310
250
291
254
366
381
346
338
325
266
325
343
359
372
371
268
324
323
252
384
312
276
314
298
345
304
303
324
314
259
340
299
212
314
292
293
277
307
266
371
346
353
227
343
338
313
319
355
321
334
344
366
382
399
400
340
328
356
336
266
329
301
317
343
251
398
366
371
256
216
419
315
276
344
272
348
325
303
317
345
252
320
340
295
333
335
272
291
320
258
345
341
323
308
361
275
302
370
408
293
305
289
358
398
347
300
322
324
333
281
347
321
309
369
320
329
217
386
332
311
329
264
442
342
191
307
383
199
351
306
346
276
309
347
238
375
373
267
307
316
305
335
352
341
376
354
274
305
384
349
351
295
330
375
360
400
389
317
358
398
343
277
296
329
346
335
291
321
321
316
326
371
310
318
343
366
231
324
282
311
338
232
303
286
362
343
312
322
242
231
264
369
266
247
344
292
304
384
297
355
329
277
346
323
354
314
294
263
308
322
284
294
321
309
376
300
319
342
366
356
324
379
365
278
400
246
302
270
254
360
323
283
294
335
273
330
465
286
284
311
332
331
324
333
319
295
259
255
279
271
302
310
286
347
363
367
319
247
377
353
321
289
339
310
292
253
295
273
269
324
258
302
329
313
253
359
306
405
268
394
333
308
316
355
368
314
272
353
265
309
255
349
344
274
352
402
372
260
377
323
302
301
394
298
386
286
375
284
233
339
388
345
295
356
342
347
265
288
289
326
335
356
321
338
300
230
360
301
272
330
326
336
362
324
269
375
362
314
355
408
325
294
350
317
284
287
280
294
368
265
284
360
332
326
304
273
302
350
376
296
304
341
336
327
284
337
319
267
294
287
333
259
313
205
309
324
342
268
343
341
331
364
272
315
309
354
297
284
337
288
406
279
325
322
313
287
321
338
273
345
302
278
363
300
297
299
315
330
331
358
437
367
280
315
250
327
343
362
285
348
299
282
283
304
328
290
306
333
306
263
288
386
321
394
394
329
333
329
230
325
252
266
285
315
362
309
259
385
328
305
291
366
385
379
234
323
416
296
373
314
308
210
290
351
330
296
238
338
374
314
252
245
240
397
281
245
337
317
360
336
285
370
273
347
298
331
372
319
302
260
251
264
270
343
332
263
332
323
312
242
374
244
325
306
351
296
321
289
343
310
299
329
430
317
361
296
347
268
269
330
313
385
282
226
399
347
309
260
288
391
410
323
313
349
244
291
273
271
325
314
286
259
333
324
368
325
355
289
299
272
325
345
367
291
292
359
320
311
366
318
271
317
301
256
418
313
281
345
321
295
388
243
399
321
411
350
253
352
349
258
344
355
287
322
297
387
376
347
306
300
321
270
295
314
314
344
376
289
267
332
373
247
318
252
323
339
226
252
353
288
264
390
348
316
303
372
303
317
295
257
342
333
266
341
368
257
327
288
297
316
317
299
328
319
387
280
305
309
289
330
252
273
359
366
316
148
326
343
305
348
254
346
331
306
389
234
279
270
289
247
356
345
316
331
295
327
265
331
323
313
365
272
403
393
324
294
384
331
376
364
267
423
358
367
395
286
338
313
380
364
416
321
350
314
250
233
275
253
311
365
384
351
266
362
260
352
271
316
340
305
387
234
339
345
336
251
279
247
276
363
403
372
376
281
270
389
303
382
326
278
310
327
292
325
298
275
307
360
304
348
322
283
307
324
262
358
317
258
311
328
461
321
241
350
286
324
304
270
402
355
416
321
380
385
310
355
313
356
349
309
331
323
360
289
339
267
304
248
324
279
331
232
336
318
344
312
248
326
312
179
280
344
367
301
298
291
293
287
348
281
368
285
269
252
307
371
325
320
315
352
246
363
324
318
227
303
254
366
323
290
258
319
321
331
373
323
338
300
250
254
293
387
345
365
314
345
296
372
388
303
319
340
289
297
365
377
308
266
374
302
296
282
340
268
269
365
317
322
259
433
325
302
352
276
330
380
232
331
337
314
315
381
369
330
289
324
265
301
431
270
334
338
391
211
288
295
393
311
298
316
312
321
321
294
285
290
403
289
275
268
245
321
207
340
291
366
345
341
289
409
287
264
283
333
295
300
337
299
287
307
280
254
338
336
370
268
356
323
368
354
354
325
334
349
339
213
398
234
341
299
229
365
304
352
340
335
360
337
364
309
407
271
361
298
266
264
280
195
363
254
372
405
320
314
318
347
396
368
316
302
278
353
294
310
336
280
305
319
314
285
344
275
278
369
393
211
282
336
403
270
326
306
382
338
297
329
304
311
346
382
357
371
348
314
336
285
282
315
385
264
288
373
249
321
308
319
297
272
362
294
380
245
346
370
318
235
329
217
317
344
249
309
292
398
295
337
309
267
369
282
311
261
286
260
300
346
363
385
344
363
329
291
325
281
323
374
290
330
258
295
220
287
252
351
361
351
307
372
272
338
227
310
244
373
352
299
387
324
324
423
319
295
278
365
279
313
340
252
300
328
289
380
294
347
337
296
348
274
323
374
261
333
284
323
374
337
332
298
329
246
313
290
281
344
325
313
357
339
372
353
321
318
345
298
289
358
329
308
237
336
294
343
320
329
276
299
272
311
281
332
266
376
333
291
191
283
309
295
319
288
266
271
332
364
295
313
343
268
338
425
319
324
386
234
295
266
305
280
291
382
349
279
283
311
343
348
310
350
248
337
310
288
297
379
362
357
291
296
261
309
211
375
248
299
305
285
302
356
330
346
358
269
359
385
377
285
288
388
314
341
245
200
289
269
283
299
259
303
293
295
349
272
296
423
324
311
375
361
340
338
281
319
234
308
219
359
362
355
318
294
282
312
396
299
270
242
308
282
303
299
325
395
407
351
249
324
305
221
296
321
399
249
356
324
350
323
338
357
251
251
275
391
288
341
373
357
325
321
357
294
346
363
244
362
376
336
249
281
248
391
281
371
339
333
340
267
328
322
322
333
298
362
284
296
201
327
264
234
419
304
384
325
403
341
344
378
317
336
376
371
295
281
302
391
361
395
343
216
270
305
323
327
279
330
386
296
240
268
339
320
394
343
353
247
310
339
329
364
334
302
308
390
378
354
301
290
300
231
350
263
282
362
321
213
358
398
288
331
269
321
268
327
351
389
238
272
324
343
389
337
328
230
341
278
347
343
298
325
235
412
421
289
214
299
309
360
261
322
306
354
368
339
277
299
370
246
283
240
207
376
251
269
267
264
317
320
289
356
294
319
327
328
276
333
296
359
236
413
390
305
310
319
269
254
348
296
351
341
311
304
330
306
340
343
330
282
344
295
342
234
289
271
289
219
287
286
230
326
363
307
273
303
268
289
380
352
383
322
339
326
271
342
287
325
310
322
322
318
345
340
381
327
390
266
306
261
331
349
284
323
330
278
275
315
335
228
220
375
309
309
283
372
239
351
342
328
299
328
299
399
324
343
256
353
316
221
319
336
319
301
329
355
352
259
350
319
352
295
366
330
244
331
293
338
331
269
340
269
324
320
289
259
342
331
304
314
291
377
312
268
254
312
372
347
348
324
296
301
238
358
337
316
394
296
367
325
350
358
308
289
315
283
286
373
273
303
239
347
419
383
257
418
225
226
302
306
275
423
337
371
348
376
336
356
272
348
303
295
328
273
389
345
313
356
354
283
306
242
303
357
253
414
308
286
310
336
314
304
285
238
322
341
268
336
233
256
335
371
310
358
366
413
320
352
354
332
220
252
328
362
311
261
259
163
284
273
358
347
345
255
381
211
288
286
261
260
287
346
297
346
293
335
330
295
345
267
272
296
344
385
282
297
380
325
262
249
265
353
307
206
284
254
282
335
249
311
290
298
317
259
370
326
349
318
294
312
280
313
371
294
254
335
316
241
325
343
352
271
302
379
279
318
249
290
338
277
276
352
339
333
283
340
226
389
300
304
348
290
389
350
248
248
329
344
314
255
297
301
387
254
306
287
289
270
315
298
188
323
298
343
246
303
348
304
299
317
314
380
333
368
399
338
338
252
363
399
296
395
311
288
288
278
219
345
368
279
366
320
362
333
309
292
277
279
256
290
333
280
320
327
320
361
374
300
284
354
325
279
329
304
368
325
359
352
359
308
271
345
326
393
383
276
261
276
399
354
319
212
321
271
309
287
321
267
403
317
308
300
300
298
276
213
304
363
356
272
341
325
360
313
262
355
307
263
332
373
320
275
334
307
311
342
277
264
364
271
246
313
223
288
260
292
374
319
273
379
262
360
307
301
305
307
335
320
300
326
287
353
289
336
287
351
403
306
296
331
250
376
299
275
310
271
257
327
267
333
327
294
321
270
336
404
291
306
374
339
421
333
295
388
327
367
294
359
261
257
299
264
279
324
345
345
264
360
313
319
362
259
369
263
290
343
299
348
334
278
287
290
298
310
280
352
279
293
283
358
320
267
337
343
312
331
348
357
295
322
393
296
365
323
279
369
360
311
334
272
316
299
326
350
353
300
326
338
281
397
359
329
288
329
365
275
347
305
345
359
394
241
293
250
258
360
265
325
255
335
313
201
276
276
283
275
274
311
270
243
390
286
301
396
197
289
278
425
325
367
296
320
261
312
246
334
402
319
320
333
334
359
401
394
265
290
299
328
269
321
427
300
363
361
307
185
329
316
338
322
276
234
297
323
355
338
366
325
297
303
316
377
283
275
416
346
291
368
290
278
314
366
345
331
284
352
328
333
322
288
319
438
342
349
321
369
358
299
263
358
268
269
290
319
368
287
314
284
398
349
434
324
246
238
356
306
288
345
379
326
292
290
265
396
251
269
363
322
303
327
336
298
255
376
310
213
296
332
290
349
359
332
320
308
254
292
324
343
320
397
299
355
330
305
349
305
326
311
224
319
280
319
327
320
309
333
386
354
247
281
351
327
325
353
433
385
352
262
327
312
274
290
341
366
321
336
250
317
404
376
268
370
269
326
327
312
263
353
281
332
311
388
289
372
336
360
246
294
269
392
313
288
269
310
311
200
314
396
281
261
371
369
310
334
391
359
227
257
232
303
245
305
355
358
373
248
339
328
375
276
285
421
352
281
398
264
295
375
362
233
304
339
332
328
330
361
318
267
301
349
259
231
287
213
338
277
249
418
246
343
309
399
307
353
295
330
324
251
312
318
331
318
282
301
288
279
342
328
222
349
342
339
311
360
335
399
263
373
234
320
241
356
267
273
364
267
338
373
298
347
357
414
328
233
363
332
368
372
334
302
235
337
287
293
368
304
317
330
336
327
372
348
319
374
288
260
258
251
273
232
265
216
320
276
344
375
391
373
253
473
349
290
290
313
281
292
325
327
274
319
337
298
314
212
271
294
323
311
367
368
370
276
357
418
294
334
295
369
348
278
274
262
355
325
282
342
376
259
356
301
281
267
354
270
331
227
267
304
428
315
347
322
290
262
358
365
259
257
298
349
298
316
276
297
261
328
398
329
271
354
360
266
266
272
315
335
293
287
363
284
363
277
361
315
244
288
337
271
265
317
324
311
316
341
404
348
315
333
328
327
280
252
333
255
330
299
317
399
328
374
267
301
318
295
270
347
388
374
301
332
406
278
341
321
322
331
256
339
374
323
344
229
396
332
271
232
288
338
352
301
300
312
309
331
340
354
330
306
329
428
372
282
249
272
282
239
299
229
258
246
325
301
287
334
338
275
337
356
397
220
307
306
297
327
408
319
306
261
290
277
239
329
278
330
304
306
225
357
256
264
353
227
260
320
299
349
377
232
304
345
282
341
406
243
304
291
282
315
367
324
369
350
343
386
375
320
315
272
279
319
329
258
323
280
377
258
320
306
357
362
316
344
304
298
317
359
321
283
263
303
361
302
337
329
408
400
278
363
344
333
303
337
298
359
307
252
313
388
288
290
346
292
402
324
312
275
346
277
340
333
392
309
288
275
343
322
316
299
330
317
308
305
188
315
380
328
362
304
318
309
315
364
249
337
285
313
361
335
344
334
285
264
257
354
269
234
268
366
281
297
310
313
363
367
351
274
355
340
303
250
240
224
334
287
297
326
263
255
241
232
339
326
253
310
325
274
309
323
272
351
308
318
374
261
336
293
344
294
292
288
322
281
251
360
345
282
283
363
372
341
333
256
317
237
385
263
346
189
325
363
319
307
349
293
257
394
315
305
327
340
241
357
279
345
379
371
252
267
321
280
270
329
356
368
253
262
296
306
354
279
409
339
345
345
305
260
305
245
337
321
246
362
344
344
333
323
284
322
265
386
271
295
368
270
315
327
327
249
353
293
357
257
346
301
325
285
336
239
307
288
329
274
335
258
371
269
303
310
274
271
299
314
318
286
327
371
318
282
282
322
274
323
362
303
282
349
310
282
438
419
319
288
354
295
325
306
301
213
197
363
358
340
298
294
287
381
328
305
298
288
289
361
250
378
319
302
327
285
262
335
300
270
328
404
319
313
271
325
357
305
303
257
328
300
298
323
369
252
323
278
307
294
270
326
299
338
320
251
338
243
368
342
328
298
337
341
302
282
246
281
333
361
315
248
341
401
296
329
347
402
300
317
249
266
312
332
335
288
353
316
389
315
310
279
271
286
335
324
318
271
312
341
333
365
343
304
294
254
404
280
231
192
335
334
237
312
383
310
333
333
325
270
280
287
359
279
345
391
282
296
358
258
356
343
259
367
311
279
253
319
302
302
293
264
277
271
324
389
377
234
290
294
311
270
382
340
321
327
280
307
270
286
290
245
343
274
333
294
364
272
351
261
267
286
317
326
432
339
245
395
292
284
321
358
311
231
356
306
392
423
268
233
340
318
317
297
341
326
304
229
304
334
307
338
388
269
233
322
245
301
369
317
371
329
340
310
333
361
366
315
299
310
277
264
365
330
305
348
355
310
298
241
341
278
310
280
279
331
354
334
399
332
306
244
294
303
395
343
264
364
323
253
180
291
351
340
251
313
408
318
277
317
413
224
292
325
346
352
392
280
354
382
318
323
306
315
316
298
363
289
258
392
385
279
297
367
309
351
274
330
248
261
342
289
275
215
224
213
321
257
265
324
328
294
307
333
298
326
296
217
306
295
378
383
322
327
342
325
303
291
221
270
333
330
292
283
338
274
246
390
346
343
278
241
253
242
170
355
243
324
373
274
367
289
260
319
291
384
316
371
320
321
321
375
268
241
303
327
332
345
241
190
336
379
292
337
364
291
358
286
337
386
362
351
331
387
291
250
346
279
353
360
325
340
308
393
392
297
277
333
394
357
264
330
379
378
287
261
313
362
295
412
297
309
308
249
264
372
251
364
265
330
263
368
349
340
310
243
266
267
297
321
366
294
380
298
327
289
303
266
321
353
328
354
328
352
307
251
267
302
334
198
306
329
356
231
297
312
356
328
259
289
309
373
315
316
314
245
252
275
291
305
304
277
327
322
328
276
252
243
244
290
285
260
350
335
219
257
183
319
289
255
278
315
352
323
379
336
361
286
268
299
246
291
317
286
313
253
278
411
274
287
297
315
247
306
292
310
330
309
311
340
302
328
303
312
329
225
256
304
233
311
375
293
340
287
358
297
318
259
354
373
328
281
355
359
271
364
267
312
295
340
279
318
325
296
333
347
281
329
329
301
289
295
299
352
245
287
343
269
311
278
282
399
268
275
317
261
344
299
306
335
349
346
324
332
256
314
295
295
321
306
284
309
377
363
339
344
391
299
358
295
347
237
358
335
381
269
283
328
290
320
285
288
327
331
299
381
271
309
323
385
286
326
360
342
317
278
348
395
308
369
348
311
351
314
364
332
245
389
318
264
301
394
274
326
297
231
331
204
360
325
302
329
358
272
354
268
390
322
303
284
324
229
255
272
315
315
382
258
329
338
294
314
240
299
334
322
320
302
318
293
332
288
266
325
320
298
295
231
270
359
296
271
253
274
273
294
364
301
302
319
346
320
271
368
276
251
307
289
301
253
311
332
295
321
321
355
269
375
270
307
316
320
314
244
269
343
239
284
349
353
231
338
300
351
325
367
350
371
352
294
364
351
323
334
384
278
270
320
343
341
256
318
306
308
327
317
312
280
299
224
329
344
367
310
395
271
340
294
318
269
301
277
325
266
299
256
332
297
326
362
212
257
292
374
353
338
239
292
286
355
273
310
306
359
373
273
361
280
359
310
381
275
299
255
346
294
342
315
329
221
290
286
323
260
296
327
348
344
342
320
381
359
284
280
345
315
347
364
304
300
318
316
283
328
307
272
315
306
280
287
247
336
236
375
351
305
293
266
333
246
304
226
308
296
337
375
313
325
323
310
254
298
366
356
289
365
302
407
330
270
311
237
262
347
416
227
273
214
322
280
363
310
230
300
328
317
331
374
311
214
217
397
313
332
335
261
330
305
340
360
311
260
340
297
310
386
334
263
364
298
408
283
329
320
280
335
366
428
258
372
223
350
312
338
298
284
294
357
321
290
320
247
323
333
309
279
369
361
327
229
360
301
346
298
358
396
378
232
282
362
310
347
358
344
360
272
279
344
294
358
321
385
262
331
313
343
371
321
311
343
358
252
303
333
360
251
312
359
281
312
315
308
292
375
286
341
347
285
314
312
248
304
399
238
254
373
332
295
284
314
301
343
375
325
316
328
297
312
339
311
325
341
270
293
395
395
291
326
372
332
321
338
335
305
368
308
306
288
297
297
344
326
365
285
256
315
319
389
324
307
311
278
175
430
347
354
345
338
355
274
345
375
370
258
249
242
359
313
217
354
301
290
290
331
288
283
331
295
392
284
299
369
338
285
294
307
336
287
372
290
403
333
307
303
335
299
325
283
258
356
306
322
354
212
270
243
307
306
338
251
339
265
297
247
319
292
287
308
309
335
238
276
340
340
222
238
242
348
322
284
240
312
328
348
281
331
248
346
302
262
342
260
271
316
267
276
342
307
323
293
367
307
375
260
404
321
191
342
265
394
301
281
280
276
327
326
378
260
289
378
294
338
339
294
352
282
359
298
420
329
323
313
288
293
256
304
257
335
304
246
290
322
281
371
397
363
363
336
292
358
290
335
331
316
292
360
335
312
315
263
336
307
252
291
253
296
302
209
306
406
321
352
294
348
350
266
313
320
278
300
385
252
315
364
376
337
327
314
278
368
287
292
342
412
301
328
294
291
362
358
353
253
266
380
312
270
310
358
320
353
312
264
282
260
301
327
299
344
274
326
285
316
311
320
334
335
288
270
313
287
394
360
327
342
361
343
360
375
346
390
247
249
367
355
333
346
304
240
386
397
340
316
317
320
320
314
285
358
295
241
270
324
298
264
303
262
328
313
340
320
349
290
244
334
368
285
381
326
334
311
291
381
384
378
399
311
324
324
281
302
357
351
310
309
395
322
291
293
236
328
318
397
382
324
260
322
268
382
320
290
303
320
334
316
242
358
264
375
376
342
342
270
303
255
317
304
209
307
327
254
294
341
374
227
315
352
330
296
298
250
336
323
258
336
266
348
299
365
305
340
362
331
384
309
251
339
335
278
343
291
248
415
302
237
334
236
283
298
329
353
384
307
339
290
371
285
246
236
341
281
294
319
323
375
329
308
318
246
332
311
302
322
225
294
289
410
319
286
297
298
346
277
350
301
300
301
267
270
362
364
296
304
333
323
284
413
311
247
298
316
291
295
290
292
300
304
453
346
330
282
241
327
292
369
285
329
231
341
344
358
388
233
354
268
348
351
307
365
401
331
334
285
347
300
305
341
338
287
371
369
324
352
327
346
260
394
267
315
367
317
290
258
243
325
290
327
299
304
282
299
266
405
282
293
287
236
323
341
288
325
271
297
344
267
251
351
361
316
301
306
316
356
296
365
297
372
293
276
276
352
300
316
351
304
400
323
300
342
295
325
279
279
306
226
271
337
257
289
314
301
293
379
289
394
251
286
289
302
282
315
383
331
322
321
363
258
309
297
349
320
310
438
311
270
310
211
320
296
262
322
285
292
306
285
314
253
313
217
290
403
271
268
276
332
318
277
263
409
271
281
384
318
444
234
290
250
361
287
310
300
378
391
337
319
361
355
397
327
207
222
289
325
312
318
330
356
276
266
348
279
287
316
339
307
351
370
392
242
284
247
300
332
388
279
288
234
224
248
329
354
308
286
325
372
361
330
277
296
305
253
338
231
371
394
295
395
280
263
250
297
320
318
386
340
413
316
373
369
390
292
334
332
376
314
246
264
262
305
329
249
339
322
297
286
312
312
300
360
243
340
338
273
421
340
337
337
209
316
275
315
303
417
367
340
285
328
246
278
342
296
332
365
310
267
248
363
365
316
266
278
350
313
331
316
303
353
281
277
224
312
340
218
324
330
345
308
278
385
289
243
333
411
354
304
267
322
342
346
312
365
306
321
299
271
246
259
290
311
303
340
345
354
334
324
322
321
332
316
206
329
334
240
263
255
362
392
358
291
257
342
345
241
350
336
291
325
289
236
224
235
246
336
343
347
223
357
414
321
278
286
246
327
312
315
300
351
350
305
297
358
300
200
307
377
342
296
366
280
326
360
300
346
337
362
299
245
319
366
343
188
265
269
358
311
352
348
271
329
346
368
261
317
301
348
329
231
322
296
365
348
359
282
373
293
306
336
413
337
310
368
293
239
307
180
306
323
269
409
383
407
320
383
242
299
323
393
338
397
364
301
359
310
331
246
351
358
318
360
290
324
308
228
286
290
380
358
353
265
308
417
324
279
282
322
279
328
286
223
188
389
359
406
347
304
351
332
407
290
303
271
278
340
285
385
288
308
303
365
340
306
313
307
296
309
334
289
268
333
295
249
310
283
296
277
343
274
257
282
325
318
270
375
333
336
251
352
315
397
347
307
256
336
224
331
227
277
342
319
358
355
379
272
358
370
363
397
289
280
287
275
326
307
247
293
330
324
235
360
288
365
337
285
265
290
300
286
339
362
397
377
352
349
319
340
250
332
333
272
324
399
292
330
214
291
402
331
319
344
423
351
359
294
418
336
183
208
299
270
341
344
423
385
251
391
401
361
326
238
316
259
356
368
270
333
409
366
347
352
315
399
301
334
262
269
266
250
307
360
255
325
288
308
291
342
261
377
326
306
274
308
389
306
295
289
368
288
282
257
349
311
298
391
292
377
316
300
370
276
267
370
327
312
335
358
259
313
327
358
329
338
334
314
318
286
279
294
330
167
263
314
304
300
342
295
373
259
331
257
322
262
269
385
249
366
236
321
342
362
300
327
224
288
323
359
329
360
309
380
293
324
286
328
326
369
333
298
262
355
372
323
326
330
371
303
269
355
303
327
362
285
288
284
309
338
323
328
277
325
291
243
345
372
379
261
310
197
281
317
380
279
387
258
286
316
414
326
296
312
308
332
255
339
427
319
336
226
361
374
346
319
296
322
284
284
336
361
312
254
196
329
332
330
383
323
322
251
284
310
316
326
229
255
322
283
286
260
296
376
284
345
348
344
357
356
277
229
323
300
387
310
324
267
248
253
307
368
261
306
364
383
295
264
359
260
376
258
317
305
336
352
396
261
300
313
285
320
304
337
278
335
345
294
279
258
342
252
298
264
258
338
380
268
293
336
316
341
297
279
299
341
287
298
378
297
300
275
343
328
311
242
310
338
372
295
327
276
320
368
337
365
331
242
356
310
308
369
337
310
330
293
381
338
343
236
314
321
383
426
371
348
259
325
248
275
291
288
284
287
298
345
305
249
303
313
302
287
299
300
285
320
322
278
315
357
316
258
314
334
306
323
258
294
226
386
244
393
224
266
291
299
338
291
285
306
304
297
296
343
329
330
285
327
299
298
306
258
254
313
253
326
334
244
348
289
346
321
249
254
317
305
310
327
298
347
256
337
344
314
293
339
324
324
225
267
261
313
326
255
262
247
261
361
338
288
303
265
290
255
383
348
269
421
280
373
310
406
372
346
282
281
338
283
329
311
324
276
337
316
293
232
406
345
350
328
186
240
338
330
301
299
340
274
235
271
420
369
312
192
278
280
265
265
336
301
186
385
385
336
331
302
302
383
283
266
357
351
361
258
398
285
211
368
401
317
261
305
305
296
362
352
373
324
250
269
341
276
349
306
287
248
288
312
273
345
390
333
400
251
330
321
352
296
261
323
305
277
281
287
281
227
320
258
379
262
271
294
354
260
371
324
281
263
290
299
374
269
262
315
299
386
372
332
381
275
398
344
321
327
234
305
304
290
370
282
259
348
249
345
337
348
210
362
362
310
258
305
413
344
361
302
315
369
303
321
425
388
246
282
292
353
354
246
293
309
288
392
299
249
318
361
269
343
257
362
281
332
314
316
356
289
295
238
272
325
302
313
318
246
301
315
300
348
320
347
361
310
375
263
279
390
377
301
286
330
370
370
331
369
406
305
298
305
219
269
341
308
327
324
273
298
336
326
310
297
302
234
337
346
287
295
333
291
299
270
354
282
202
382
329
327
348
296
329
398
327
329
401
335
302
227
308
382
371
363
372
281
353
319
349
337
304
299
312
354
332
337
398
309
393
306
221
331
332
315
311
385
311
345
353
223
316
339
287
295
254
326
269
231
273
333
335
317
248
267
303
424
345
314
403
315
343
325
305
307
347
357
303
266
270
312
378
343
393
280
277
348
345
324
337
342
360
302
353
269
296
334
305
258
279
365
335
345
346
277
299
335
248
330
254
290
371
371
284
271
355
374
340
240
263
210
254
346
300
402
364
323
266
249
264
266
430
353
306
349
265
380
328
346
308
348
393
281
314
281
326
356
220
254
344
345
356
293
358
310
358
338
315
337
243
316
308
299
321
373
333
348
389
297
348
311
349
386
353
291
256
231
344
345
275
323
266
316
224
250
241
327
313
258
301
312
247
268
312
303
381
331
243
281
234
345
258
278
426
375
301
278
300
246
274
365
384
295
203
239
352
290
361
366
274
334
279
317
314
324
259
355
274
305
375
358
282
319
263
229
237
301
370
293
230
444
350
324
330
335
363
256
303
287
292
293
274
344
314
284
301
366
314
355
377
305
193
261
307
313
260
226
320
334
299
342
327
281
396
201
309
362
311
371
331
336
276
371
203
265
287
358
326
363
305
314
386
296
318
336
309
321
299
254
284
253
342
400
372
293
316
243
319
265
326
317
348
270
330
390
279
307
323
380
299
300
253
379
350
328
341
391
292
351
341
238
278
201
350
344
384
325
258
273
274
358
329
347
324
281
271
269
365
311
227
290
308
233
341
238
330
320
155
342
270
295
337
335
372
357
321
277
268
247
352
331
389
242
334
331
340
336
329
359
301
201
399
355
337
356
179
332
349
373
315
352
350
271
274
320
297
281
311
292
360
340
318
343
307
395
351
329
266
337
352
353
331
292
249
330
376
381
237
333
335
279
305
365
328
320
331
280
336
305
343
330
256
310
269
350
244
286
266
172
314
311
275
357
295
365
365
339
332
291
362
322
376
243
304
276
284
337
274
367
305
361
310
200
398
240
313
255
336
316
258
332
312
297
355
275
296
354
332
338
314
319
229
332
305
370
289
330
378
231
310
343
351
355
296
308
335
333
354
280
313
371
264
238
241
249
262
230
379
264
339
322
327
283
337
326
290
369
282
283
311
353
269
290
328
416
351
294
407
314
289
367
239
325
246
316
371
357
274
346
320
310
318
294
353
382
307
292
332
280
413
312
309
243
342
354
319
414
328
312
338
319
357
338
330
367
327
289
283
341
231
348
289
308
293
253
252
331
312
355
318
321
270
382
300
289
279
293
369
330
350
285
337
344
334
307
355
292
352
299
287
324
335
279
309
336
319
303
287
316
324
255
233
347
250
287
145
266
314
320
282
279
358
238
333
266
322
309
348
373
245
264
318
401
321
350
353
377
349
286
260
325
307
298
290
327
389
324
377
355
277
343
315
308
176
365
246
323
269
325
370
349
394
379
370
326
309
264
298
384
370
342
179
395
285
403
278
357
328
307
316
379
336
353
324
364
357
316
285
300
339
244
289
361
329
320
345
313
277
265
339
261
235
324
385
320
270
355
280
352
288
364
321
242
323
385
375
307
290
313
321
275
265
306
272
365
387
373
305
328
348
346
285
250
274
408
373
278
337
314
237
245
273
343
298
298
321
339
370
363
451
402
350
308
377
340
264
313
260
245
337
365
369
328
417
357
282
315
351
263
365
284
363
311
365
368
321
317
311
328
238
384
359
326
375
345
274
305
395
382
293
264
298
337
272
293
227
313
352
203
342
276
385
346
273
303
285
322
297
286
332
285
359
304
324
312
306
279
307
348
368
365
202
416
350
410
297
353
247
351
252
324
318
295
364
266
283
361
327
352
250
296
300
350
310
312
272
317
297
260
368
318
290
339
233
272
335
236
371
316
311
325
335
355
362
325
272
337
293
321
353
310
318
324
341
350
361
237
277
301
326
323
299
414
276
341
242
320
335
365
247
330
334
337
355
316
333
224
323
232
461
233
346
342
350
320
275
337
312
380
417
308
366
392
308
355
318
283
215
377
345
237
383
301
337
348
327
297
330
371
405
267
312
256
276
315
339
328
217
369
305
278
309
299
327
313
313
334
268
358
283
338
356
346
314
379
256
289
221
312
331
370
274
381
302
294
309
388
332
350
322
301
319
349
306
297
340
333
301
265
244
298
346
303
312
312
350
353
309
341
240
274
292
311
324
245
343
347
313
278
291
394
349
325
321
274
310
255
328
241
304
252
382
260
314
321
319
263
399
367
387
333
305
273
306
381
296
313
297
334
458
236
312
273
304
328
325
237
378
345
282
302
346
261
355
325
317
298
332
380
342
305
325
313
348
275
299
302
373
346
230
291
349
334
289
274
291
358
307
379
330
337
243
333
343
365
305
388
344
332
270
397
351
273
229
285
319
306
297
348
314
264
306
277
333
299
357
300
309
329
329
320
314
382
347
297
384
310
327
296
212
336
253
335
330
337
292
332
324
311
324
358
326
288
297
298
322
252
233
246
288
293
358
290
299
326
297
259
325
318
313
218
298
328
304
269
348
324
302
224
307
365
323
289
317
395
317
294
341
373
309
302
323
323
232
269
289
321
294
361
310
312
249
271
333
337
244
312
326
270
302
392
341
272
249
357
387
327
313
290
337
394
349
313
353
301
288
360
393
396
352
346
273
255
305
284
339
209
284
336
391
310
356
303
283
291
339
271
280
319
376
297
304
286
307
339
334
262
316
244
382
373
345
305
274
270
303
319
339
284
349
310
268
313
303
317
406
253
328
291
383
357
364
355
352
325
355
266
264
309
335
326
335
256
358
287
386
271
286
271
231
382
281
327
235
369
400
284
397
233
315
355
329
288
316
329
272
330
285
280
391
329
321
382
352
352
348
344
277
324
322
361
389
303
333
308
264
251
418
262
232
254
308
295
245
305
273
267
327
324
373
367
246
300
301
268
277
255
328
333
284
290
349
279
330
272
250
348
286
291
358
300
364
388
276
338
347
393
433
284
410
297
325
261
285
332
355
367
379
350
342
340
383
423
389
263
376
389
363
254
342
326
292
410
302
365
366
273
342
286
372
340
290
336
350
297
302
330
320
260
330
308
315
182
304
290
299
372
326
275
303
283
267
319
314
343
201
354
363
297
327
232
270
280
213
368
309
290
325
367
317
308
345
366
312
254
403
366
303
305
284
427
313
351
342
313
313
246
327
244
377
344
314
363
300
325
332
358
354
294
406
368
306
310
207
298
255
345
318
329
310
282
338
364
311
246
305
277
340
314
351
366
266
353
245
350
299
284
305
357
366
276
334
303
226
292
323
304
308
319
269
306
345
354
298
217
326
349
301
296
361
295
287
343
259
192
381
341
251
319
355
317
279
194
313
328
365
306
382
292
351
251
277
347
311
397
243
310
289
256
273
344
302
317
322
369
199
370
360
347
368
275
233
304
354
336
289
322
331
269
256
345
226
311
341
248
387
383
296
383
348
359
293
279
261
348
297
335
332
398
278
399
305
363
297
376
267
343
422
345
282
332
323
395
302
335
340
265
381
408
326
331
301
305
367
329
263
317
224
305
414
302
304
276
347
360
297
376
342
300
348
302
314
299
254
296
375
354
385
324
317
333
290
338
315
277
294
275
287
360
239
330
347
303
326
270
308
273
365
326
320
235
378
314
379
247
324
290
222
305
275
359
313
297
261
321
219
303
253
346
202
357
291
295
300
326
331
375
340
290
288
378
285
335
354
308
380
200
285
338
313
329
273
223
328
254
280
345
302
263
320
345
336
310
339
307
329
380
236
313
293
376
276
372
346
338
290
302
396
376
342
264
321
357
295
316
351
320
294
297
329
261
320
375
335
325
328
344
338
287
370
326
297
216
294
267
364
297
278
300
335
327
320
304
372
302
294
317
354
319
268
307
316
327
304
345
311
358
292
358
291
334
325
270
258
258
292
254
296
334
322
324
260
221
286
272
330
225
342
282
329
376
315
329
233
300
361
395
281
297
303
357
353
403
227
239
376
286
349
350
303
353
378
294
361
341
271
321
340
352
319
331
354
302
325
314
363
372
362
265
401
330
352
339
337
313
360
345
308
327
313
391
262
273
364
286
424
263
300
362
260
369
364
251
303
341
268
319
271
210
314
254
367
280
265
330
253
335
294
321
321
293
371
334
336
310
336
305
258
356
352
345
282
329
294
354
307
376
280
335
357
329
305
248
353
260
273
328
251
270
274
348
308
288
297
347
434
313
261
300
289
347
296
370
308
397
269
332
389
253
322
344
307
284
270
302
285
297
287
224
259
278
296
286
248
358
282
349
364
348
356
237
266
283
364
340
414
334
313
298
312
368
315
306
352
326
357
270
329
352
295
308
331
328
329
361
386
288
366
281
315
324
357
333
237
354
351
294
258
345
361
278
342
211
411
311
297
304
329
288
248
307
351
308
344
424
296
367
219
343
332
323
381
314
377
337
349
302
465
231
272
326
344
346
377
331
350
307
300
319
294
414
305
197
356
373
386
254
248
266
352
357
306
283
275
353
285
265
343
339
287
271
304
333
288
330
303
255
390
319
228
317
252
279
349
370
271
335
431
320
312
413
294
329
324
300
361
228
369
357
382
309
386
300
308
255
311
375
351
278
323
298
304
271
258
303
389
347
320
303
291
334
318
363
371
314
372
296
390
282
316
278
355
304
320
234
390
313
282
357
284
358
233
355
366
367
334
250
365
238
353
355
237
267
334
348
273
320
365
384
266
356
327
350
288
297
330
304
299
336
325
263
268
317
353
296
302
308
376
367
268
321
314
334
262
222
296
361
250
348
366
271
335
240
327
265
383
299
279
330
295
405
270
360
346
374
287
296
293
249
269
297
323
319
337
291
266
347
319
347
325
285
296
280
206
287
358
310
387
379
322
321
249
344
322
316
418
317
343
327
269
335
259
288
287
261
286
347
386
378
392
369
253
345
366
356
357
336
295
370
337
351
295
256
312
392
349
267
324
364
298
326
280
334
398
194
290
303
290
342
314
287
330
373
346
359
243
337
320
362
321
308
316
316
297
281
329
352
374
279
308
304
332
307
342
326
295
378
290
327
401
317
312
288
325
335
327
237
300
339
319
319
317
309
365
297
291
285
318
295
302
284
331
301
375
334
283
300
368
346
358
385
424
238
284
410
330
251
344
194
335
276
328
213
290
291
365
325
357
296
304
286
222
330
316
324
330
310
360
251
235
315
359
298
294
253
386
286
380
401
284
311
363
304
351
322
319
376
255
336
370
388
319
264
335
315
271
405
284
377
319
411
327
301
359
321
279
320
290
262
294
269
283
274
275
213
429
296
299
281
422
352
300
375
319
366
301
395
270
355
309
334
318
344
281
291
359
330
296
315
261
285
358
258
421
384
320
296
290
314
362
279
366
379
283
220
362
352
348
313
253
410
343
303
277
330
386
327
333
343
341
348
372
317
320
322
299
288
382
329
303
367
274
281
368
301
346
408
312
247
344
349
229
411
319
370
314
280
228
349
272
355
300
269
331
324
375
296
313
306
240
218
289
265
289
318
334
338
373
279
340
330
340
345
346
313
332
338
312
315
265
368
249
390
315
331
322
318
383
296
329
322
195
235
366
277
325
369
304
251
285
269
155
330
250
284
278
276
281
325
352
329
263
365
254
331
304
406
278
361
268
369
355
245
339
290
359
329
365
339
352
423
300
300
244
344
286
311
253
315
271
296
372
329
192
275
324
323
302
451
297
365
247
287
218
322
323
320
324
307
322
399
319
305
338
330
335
277
315
315
316
208
319
339
345
268
341
264
321
230
359
410
227
327
320
295
322
374
332
258
310
301
251
391
282
264
317
369
402
268
348
289
345
329
293
376
190
349
337
272
263
307
327
333
339
370
285
357
367
329
249
314
361
369
283
287
299
344
372
264
311
300
319
284
314
266
237
340
365
299
301
324
228
278
356
314
305
373
254
398
343
292
355
339
291
301
330
279
349
344
261
190
358
333
305
368
297
306
231
344
272
321
316
342
374
319
299
280
296
362
324
325
290
264
308
346
362
330
342
311
376
317
375
302
295
287
354
327
272
365
348
357
245
327
348
289
379
326
317
295
312
298
281
382
266
276
335
238
334
379
389
280
399
324
303
325
357
411
272
277
315
360
369
329
326
342
326
353
270
353
233
330
299
320
290
379
312
346
326
353
368
315
280
411
306
321
317
208
309
283
337
291
326
377
260
300
270
296
327
355
351
381
321
317
359
402
360
330
270
303
261
400
445
325
255
315
334
327
307
329
385
355
279
352
382
318
324
355
376
316
373
303
368
282
348
287
261
253
391
353
263
294
328
315
329
397
321
297
375
262
308
326
315
403
278
312
425
337
293
338
272
312
329
220
344
319
345
301
415
273
329
285
370
290
334
352
252
375
277
330
318
308
274
427
312
325
316
357
299
329
293
405
200
274
299
351
299
377
323
366
321
314
343
305
396
288
289
338
350
363
279
384
335
376
323
307
399
224
299
368
317
239
311
333
287
329
342
310
226
271
348
251
351
319
304
246
287
268
284
366
304
262
328
329
335
299
336
337
307
393
328
360
243
275
354
356
340
280
309
333
190
315
339
369
287
407
275
231
369
341
319
331
299
347
304
320
268
329
329
299
333
256
303
258
324
309
270
362
345
361
393
289
243
303
371
349
327
303
266
322
270
336
361
342
325
313
317
361
374
266
344
240
315
336
259
339
244
349
203
233
310
278
346
312
329
397
338
319
336
358
332
362
326
350
303
376
276
306
326
379
245
334
366
272
255
316
220
338
261
299
255
308
344
270
316
353
371
375
275
258
358
318
281
270
328
314
277
317
356
259
318
335
341
409
331
340
251
301
302
299
361
307
333
351
271
277
319
271
327
321
277
320
318
339
376
297
299
369
291
381
304
285
258
366
251
358
259
323
247
358
334
285
258
371
335
276
355
352
314
302
340
327
344
281
320
267
280
287
331
367
335
371
326
336
263
254
337
344
392
290
306
315
309
364
337
345
346
263
288
280
347
364
267
292
387
222
241
240
298
279
346
356
320
348
316
344
331
385
280
267
292
378
263
307
363
321
302
317
231
285
279
304
293
293
239
358
321
290
274
318
350
268
403
381
320
383
287
372
280
272
354
246
337
299
280
255
326
355
349
345
264
352
323
395
348
380
261
223
309
336
380
356
337
348
283
268
432
351
186
309
317
326
262
361
376
322
281
214
434
305
267
334
330
338
290
357
334
271
297
391
341
224
314
319
317
287
312
290
337
322
295
312
320
329
251
304
348
199
307
244
377
292
354
362
262
289
323
357
315
297
282
320
338
338
327
305
329
346
274
355
322
292
395
282
293
314
289
298
302
296
275
309
271
358
431
346
354
263
294
336
274
261
219
349
275
310
281
326
271
277
308
247
335
230
293
239
346
312
285
305
417
334
342
322
358
343
291
360
340
341
327
390
337
273
257
295
383
363
357
367
332
308
296
268
255
294
336
285
321
359
336
300
332
368
372
310
339
406
353
379
278
311
320
305
329
394
358
399
282
351
341
383
335
315
295
321
316
291
285
383
324
314
235
291
264
285
358
347
368
286
249
330
278
372
374
240
286
377
298
298
322
355
342
292
340
316
371
282
255
311
345
264
329
242
368
318
383
284
322
292
275
274
282
354
394
345
315
352
382
316
320
229
307
317
317
253
345
289
338
223
395
373
291
264
319
275
337
255
250
314
303
283
356
240
347
348
390
313
292
335
267
331
311
302
272
368
358
304
291
262
350
376
336
314
395
336
328
314
410
340
389
297
303
338
317
319
268
301
311
347
282
402
260
265
375
287
316
332
288
329
334
308
397
371
307
417
311
251
312
383
273
313
301
315
336
364
301
249
282
242
348
349
295
281
352
345
350
313
243
300
313
296
301
254
255
337
311
277
277
326
282
252
281
359
286
296
271
290
273
375
414
339
315
244
354
206
219
343
277
347
321
324
350
293
269
289
333
266
267
268
286
305
316
292
353
351
265
341
273
320
372
345
274
307
343
338
364
360
236
265
321
300
285
329
295
276
242
271
274
302
381
328
340
279
374
281
350
328
338
278
225
354
298
258
278
352
287
315
247
373
380
267
292
369
323
283
320
355
243
271
335
266
335
343
349
286
280
282
321
326
354
318
349
223
255
291
321
296
344
294
213
317
291
340
317
311
315
338
290
370
263
360
240
331
301
323
401
317
322
358
282
270
350
231
342
335
281
304
284
375
308
340
328
306
327
301
279
385
370
218
273
330
342
280
350
378
278
351
332
325
396
361
211
336
375
296
308
309
403
359
337
348
305
267
351
335
279
287
396
402
300
324
324
354
276
275
328
301
358
327
298
298
362
212
341
297
291
253
375
235
380
275
208
375
378
423
280
325
300
249
344
388
249
298
317
351
283
278
319
363
372
296
321
290
255
289
247
363
336
303
278
275
316
300
344
346
306
292
282
300
281
256
306
275
346
268
343
222
320
368
350
355
307
300
289
323
274
264
328
347
307
436
290
254
339
390
327
271
287
284
289
226
252
232
335
304
437
315
255
304
286
294
292
262
333
337
284
285
237
336
306
351
367
286
320
298
338
280
385
293
342
246
282
383
371
293
267
313
235
241
415
368
328
405
335
305
339
262
337
247
288
373
301
282
326
258
312
339
338
254
306
349
346
301
305
352
320
318
310
293
343
375
257
289
335
346
244
337
364
302
269
339
360
330
232
314
281
379
317
354
326
328
365
310
278
306
293
310
345
304
292
303
266
353
301
260
355
339
395
306
266
328
299
282
411
330
302
397
365
341
314
335
334
324
340
327
274
336
260
414
322
384
298
269
395
330
272
294
314
296
369
234
316
274
300
351
296
386
288
307
291
271
337
319
400
389
308
349
247
381
278
274
443
302
328
343
310
310
318
364
320
334
353
245
286
347
370
272
321
303
298
320
288
343
346
185
302
375
325
325
272
342
329
359
258
281
383
333
297
379
249
343
316
366
331
283
314
311
247
321
273
266
296
302
285
321
193
342
312
328
343
367
302
323
266
311
271
369
333
351
345
376
314
348
296
364
204
347
377
325
353
338
344
364
327
280
241
317
161
350
252
360
329
360
344
317
317
334
309
290
322
302
369
391
291
291
329
224
352
234
266
330
343
275
324
294
364
251
370
315
267
374
345
400
290
335
321
282
242
301
349
294
256
308
379
245
325
244
248
361
292
321
269
314
438
277
255
325
299
359
328
425
286
311
324
344
355
245
326
261
331
315
246
336
210
301
349
267
225
275
263
275
278
255
371
316
335
366
286
324
370
302
279
286
216
332
290
337
286
278
415
385
326
333
383
323
280
345
334
376
297
322
315
313
280
272
307
269
300
316
360
363
318
254
338
281
362
313
338
270
316
363
316
282
380
392
322
329
288
273
302
384
266
363
315
334
337
238
252
342
301
333
292
320
326
268
296
338
283
387
350
246
329
358
240
368
299
367
434
288
298
369
310
261
314
363
274
222
387
372
379
266
346
382
313
368
246
315
385
312
351
318
374
348
339
264
337
356
338
317
243
316
267
288
330
313
293
373
315
315
271
355
330
348
297
299
328
278
357
240
322
399
287
280
406
261
329
332
278
282
298
310
326
352
381
306
322
343
315
342
333
290
390
274
361
374
306
392
310
333
360
364
379
253
276
363
274
241
333
309
332
261
310
275
276
266
345
322
245
373
347
312
259
286
372
408
351
319
278
419
399
254
242
347
381
328
316
311
270
314
316
324
282
250
348
358
339
329
306
353
353
297
260
300
352
307
283
384
333
304
262
270
285
296
386
382
318
296
387
408
349
338
270
353
307
325
296
368
308
333
309
177
261
307
242
309
304
259
353
269
302
344
237
358
351
330
402
250
268
368
222
300
385
293
330
250
267
323
314
342
343
243
386
282
355
308
301
289
366
209
327
330
313
353
223
267
345
298
326
321
275
352
372
303
256
288
350
413
317
269
322
271
328
385
311
263
365
396
304
325
246
271
332
299
333
287
307
294
346
284
280
376
197
287
354
344
303
310
353
324
304
220
299
322
300
376
353
331
374
395
386
358
306
371
286
294
254
331
389
360
360
326
327
267
292
223
291
318
354
262
347
282
334
311
275
389
317
291
315
320
280
291
409
314
291
237
300
368
320
368
322
273
274
350
398
326
264
267
391
280
246
322
392
262
304
319
322
282
289
394
319
280
288
381
320
373
309
341
374
386
364
380
361
365
350
274
350
316
317
281
255
303
307
379
354
344
352
334
243
250
354
351
340
334
374
253
301
263
297
324
328
345
331
273
317
324
323
305
354
326
240
384
352
395
337
368
320
275
407
370
413
346
260
300
330
275
367
261
373
211
380
311
364
322
368
346
417
281
149
268
353
276
384
358
401
341
359
348
359
268
262
290
357
389
340
376
343
268
375
342
294
331
278
395
336
383
264
391
315
384
326
306
312
403
351
275
342
334
315
267
310
303
255
176
312
226
270
307
372
283
307
305
318
354
296
307
391
360
283
234
401
307
288
396
313
261
333
270
388
410
387
280
312
298
358
309
338
347
280
387
245
303
271
273
265
303
381
340
348
371
328
264
300
256
351
367
330
287
354
340
340
322
344
264
283
296
321
307
387
363
376
411
295
372
256
320
314
290
346
325
256
365
268
256
311
349
361
330
258
343
243
355
258
349
372
211
340
197
305
324
245
376
297
316
359
349
313
372
361
305
299
333
270
322
338
300
316
346
342
364
303
311
310
275
292
296
282
363
337
282
323
395
247
311
265
341
297
328
283
243
305
260
317
360
341
352
363
370
325
390
317
330
429
298
322
275
311
316
316
179
358
269
290
320
189
340
366
296
353
247
385
210
280
258
360
366
263
420
273
335
358
342
321
304
340
274
336
237
320
380
314
279
365
341
308
283
383
354
353
304
303
279
292
380
358
308
323
189
332
276
341
233
319
316
382
385
353
361
264
325
352
281
288
299
360
347
328
324
253
371
310
383
333
339
342
317
354
292
391
341
275
285
282
313
357
356
364
288
327
314
323
365
326
289
320
356
313
337
374
318
299
314
343
359
375
274
379
325
345
366
269
332
323
265
284
287
304
336
294
293
257
381
409
287
224
326
298
330
274
305
271
258
278
278
363
321
307
332
292
279
340
294
256
265
326
362
313
234
353
378
333
330
319
327
339
288
257
322
292
276
342
286
291
291
240
328
261
356
363
299
360
274
357
380
311
335
230
392
320
354
222
252
376
327
292
315
323
320
301
293
292
280
342
258
337
296
354
338
287
392
269
348
307
256
304
269
324
311
307
316
294
290
420
360
229
333
328
243
192
193
342
279
246
338
344
296
300
253
255
286
366
333
312
288
327
413
356
353
317
362
305
306
372
270
363
352
287
309
246
292
385
363
333
304
235
290
336
350
262
303
419
365
319
304
315
222
273
354
259
355
366
278
275
372
209
341
359
347
327
388
344
332
298
322
352
280
290
283
250
285
334
286
316
410
330
341
331
252
449
278
250
389
289
351
297
373
304
286
319
290
289
217
293
328
296
319
301
296
265
340
316
425
248
339
342
355
212
324
328
261
306
286
320
351
269
261
344
276
335
305
355
245
347
238
359
266
350
291
384
306
356
256
280
262
283
370
299
246
287
236
315
298
215
302
289
359
265
339
275
345
349
299
323
284
287
294
355
279
376
274
358
313
293
378
343
284
357
253
220
415
236
306
369
326
366
233
323
367
381
352
270
325
294
360
360
323
280
338
360
320
361
283
293
344
348
302
283
373
300
293
340
334
263
273
310
347
347
310
327
322
354
313
351
375
340
379
346
352
274
314
327
256
295
323
259
368
357
258
361
325
393
382
275
308
313
284
295
325
340
312
332
272
338
313
319
309
354
292
345
270
283
367
327
293
260
288
353
413
245
314
304
241
254
257
333
312
334
328
355
370
323
368
330
320
297
252
221
312
289
339
382
275
269
415
347
281
378
332
358
338
301
281
354
290
350
360
378
395
333
217
269
354
335
341
375
326
222
222
375
351
296
296
252
294
311
342
347
368
280
335
359
407
200
303
297
379
347
356
328
304
304
374
303
303
271
287
334
369
293
289
380
342
311
384
332
293
354
318
212
330
293
297
385
318
335
234
326
286
298
377
321
266
297
246
351
354
353
266
293
343
229
327
250
438
290
330
335
371
380
255
348
304
321
294
265
338
265
327
364
312
332
307
388
321
352
406
325
244
301
363
352
266
256
394
254
310
304
247
315
379
289
335
325
344
339
363
261
381
275
375
236
322
278
313
252
347
309
302
372
381
294
240
353
310
285
319
308
370
370
295
271
305
291
365
278
310
373
287
296
297
334
339
340
330
363
329
335
345
398
372
309
254
317
294
372
351
312
260
349
354
311
329
335
347
315
287
370
246
342
299
277
325
281
386
289
283
310
343
337
326
303
235
323
293
287
408
311
324
296
364
309
278
381
424
305
289
380
357
374
327
342
265
302
256
333
279
273
396
233
322
353
373
359
224
315
392
290
303
341
280
309
256
378
256
280
366
361
313
278
300
346
298
288
254
266
327
262
295
285
285
277
354
311
352
306
260
344
383
355
375
370
340
289
310
191
313
326
287
293
378
323
291
320
233
339
214
320
261
281
317
319
322
387
368
339
306
294
353
333
318
313
274
324
339
347
320
346
371
273
324
230
322
323
333
360
336
320
346
246
235
333
368
283
334
343
262
340
308
317
274
295
381
338
272
266
314
317
364
328
314
294
359
368
270
310
357
331
200
244
355
220
295
316
308
330
271
304
276
303
400
267
403
275
294
285
337
332
233
274
402
257
337
396
303
259
250
352
298
361
297
243
336
338
324
361
254
357
312
254
388
290
316
267
230
336
371
381
335
297
350
362
410
341
382
365
347
278
317
272
393
315
286
302
369
289
245
335
424
303
317
286
305
247
280
277
352
309
288
327
315
294
301
389
356
350
257
378
347
337
363
357
259
311
311
285
333
333
304
381
337
320
292
315
354
272
250
312
345
317
235
302
351
237
294
312
225
334
313
326
362
239
312
301
320
320
337
363
249
233
343
367
323
351
326
371
324
277
282
240
391
299
197
352
291
340
327
297
330
320
357
322
322
333
251
305
330
297
297
270
398
370
282
297
317
387
280
295
302
345
299
318
261
322
318
351
269
391
270
289
317
225
357
274
313
309
360
200
313
293
290
244
306
282
354
287
339
244
348
336
278
278
349
252
242
289
378
303
320
264
272
341
380
254
228
320
303
284
210
359
330
329
297
295
310
324
303
322
364
352
303
301
342
283
281
250
226
371
263
317
258
341
358
327
309
294
364
355
215
373
261
334
312
288
265
219
383
248
386
402
310
286
350
311
273
269
260
286
254
325
346
309
317
379
317
287
356
325
349
319
334
252
358
285
247
206
328
286
357
264
298
296
303
359
317
371
336
359
328
311
329
301
263
340
264
317
300
324
307
328
306
286
378
243
275
382
310
253
319
359
326
296
397
300
352
391
344
195
341
297
344
396
440
373
277
396
328
330
351
315
294
349
355
363
287
298
342
381
276
251
211
300
298
344
243
227
303
233
354
375
255
228
299
370
245
286
254
312
291
238
319
267
295
298
347
225
336
370
228
335
359
287
330
244
316
292
259
299
311
340
248
331
338
337
299
344
251
323
251
330
323
368
284
330
319
316
390
295
272
384
356
343
298
303
323
310
350
294
418
335
412
353
378
259
208
327
300
340
324
311
349
365
334
351
329
301
286
379
248
278
271
310
333
358
350
263
331
291
316
290
269
206
331
288
287
286
275
364
339
294
363
298
302
372
416
277
291
338
289
285
266
343
271
334
300
274
351
356
340
319
379
324
313
281
334
271
351
324
367
316
262
274
392
284
332
406
350
278
295
246
281
324
327
350
288
348
388
366
340
390
271
298
333
426
297
297
302
381
260
288
290
378
348
249
369
315
247
312
349
353
369
335
266
314
273
311
392
283
341
274
432
277
370
366
348
312
326
334
247
349
331
377
396
322
325
312
420
278
375
301
311
247
361
297
290
271
322
353
232
334
354
293
319
309
356
233
350
270
304
401
265
332
240
302
367
266
329
314
354
276
309
274
335
314
316
257
315
335
312
342
233
398
302
373
295
195
331
311
298
274
229
330
259
336
245
330
327
354
287
348
318
297
364
353
229
387
273
394
259
245
297
211
337
321
392
308
332
291
226
335
324
355
289
377
346
323
258
265
332
348
231
316
294
338
265
315
233
296
353
335
369
324
265
276
338
316
331
374
323
315
257
326
350
359
367
397
344
265
238
297
300
307
341
347
294
321
285
351
234
335
357
294
363
352
281
350
287
256
279
334
341
338
335
289
314
225
297
380
311
331
321
386
380
364
327
370
301
268
314
304
327
303
338
349
311
288
308
296
405
324
325
376
288
311
378
302
361
295
297
319
307
343
263
354
286
362
269
365
331
306
266
297
333
287
333
242
263
260
334
296
393
279
286
302
342
389
240
413
250
366
376
284
320
368
275
221
261
321
295
325
255
304
299
309
281
341
353
262
257
352
340
363
348
266
259
320
331
291
281
347
350
309
426
297
363
308
356
318
267
300
218
316
298
300
291
285
265
349
262
357
365
412
380
323
292
299
365
217
400
364
301
379
349
333
294
315
269
204
333
386
287
274
262
333
352
326
264
371
251
345
258
318
306
304
342
321
320
303
383
346
312
342
252
344
270
332
239
339
306
336
338
246
393
284
401
313
321
337
306
270
316
298
282
380
269
306
345
318
343
411
336
362
285
278
405
373
329
217
345
375
328
355
336
263
233
340
328
304
279
339
302
372
272
370
296
341
371
245
343
362
381
288
308
296
338
275
306
261
305
363
319
252
324
299
366
301
270
312
319
332
276
290
286
365
347
304
335
283
316
351
339
285
369
272
301
298
299
262
322
342
319
355
345
393
298
347
365
329
376
227
271
229
304
337
261
196
307
256
311
363
377
314
291
324
393
354
327
280
335
317
315
294
337
314
276
366
293
302
369
343
318
355
216
269
293
377
331
255
387
360
250
320
222
307
326
304
298
352
384
276
293
278
321
338
424
387
356
281
459
323
298
381
319
324
321
334
332
282
335
307
256
279
282
341
356
330
307
319
312
303
308
274
293
349
331
258
314
337
364
340
337
245
373
359
359
337
233
374
271
280
258
424
315
328
251
337
346
325
299
280
306
355
325
378
286
385
307
305
305
342
336
314
329
272
288
277
288
278
275
355
320
375
391
266
260
315
279
294
316
262
208
291
270
312
424
342
260
318
368
331
327
317
312
233
282
368
395
352
322
302
230
190
379
329
347
324
404
160
365
335
279
359
376
347
358
296
246
301
305
333
257
350
335
252
335
364
309
273
372
348
388
285
307
338
350
305
327
340
344
343
318
291
367
303
355
317
321
273
258
282
326
356
382
326
387
285
318
305
303
336
328
359
303
368
296
274
348
376
360
333
338
354
303
316
320
353
335
346
214
339
277
389
294
306
296
280
282
276
376
441
349
263
333
250
285
354
346
330
435
291
263
319
292
270
347
319
362
285
380
423
326
409
282
383
309
354
333
290
343
257
365
277
262
275
277
342
262
340
270
272
313
369
318
309
249
271
257
332
369
380
342
294
262
316
343
347
273
266
292
345
310
278
281
398
390
358
360
208
323
330
330
280
322
328
266
281
356
311
331
367
309
314
294
299
361
363
350
243
295
293
314
314
299
345
303
405
362
385
309
386
306
313
265
357
372
296
340
269
333
254
178
232
355
335
303
336
402
281
380
373
333
286
241
301
241
318
266
329
285
349
270
357
294
329
336
313
264
274
328
264
315
300
305
307
374
206
302
294
245
230
308
299
281
301
354
354
395
280
288
346
262
286
308
318
411
392
336
268
309
314
390
246
359
331
350
353
326
321
217
316
257
273
359
225
291
313
278
374
334
284
368
318
275
345
306
355
357
302
333
344
294
316
299
274
326
280
290
322
294
350
400
395
303
333
289
292
412
375
349
292
396
231
323
222
373
317
348
307
267
298
364
297
313
347
313
336
302
290
302
308
375
368
250
260
293
298
226
308
288
337
321
309
331
277
312
366
381
287
362
415
267
315
373
355
237
311
354
420
328
351
364
346
406
318
281
288
288
224
315
341
261
339
198
345
329
399
324
276
295
377
349
294
295
381
295
329
319
297
296
314
338
322
376
287
376
276
294
335
328
351
295
303
368
331
277
291
284
340
355
338
353
309
322
293
312
317
338
430
275
227
349
364
419
332
285
274
320
344
360
374
352
356
309
248
294
299
350
322
393
326
334
332
372
308
261
343
264
270
296
274
338
272
321
218
320
331
289
290
250
257
273
377
238
184
325
408
351
269
317
321
361
256
308
311
299
278
328
228
299
305
353
342
285
276
313
252
328
331
294
309
307
330
296
271
305
209
309
316
262
283
301
309
268
291
210
273
286
294
387
271
327
330
355
285
337
301
316
248
358
325
304
293
360
330
358
261
332
291
286
320
349
301
332
291
286
335
338
293
295
316
315
313
296
376
343
307
349
325
332
359
279
379
342
332
258
281
342
352
239
339
326
311
319
294
295
347
344
346
298
231
282
286
296
325
327
310
329
285
281
287
252
314
312
338
319
253
349
260
278
323
312
383
345
344
391
239
306
341
327
322
327
191
264
323
241
314
330
360
289
345
385
398
343
258
338
385
273
360
364
253
313
282
284
228
339
337
299
276
276
314
310
335
287
231
267
276
251
376
304
371
341
322
317
288
373
325
357
371
306
340
319
299
320
371
344
233
266
271
292
369
355
239
328
354
304
298
344
280
299
315
376
369
335
282
322
269
339
321
212
357
272
284
361
374
416
340
262
340
286
321
237
280
298
273
369
346
329
320
350
285
328
311
307
331
363
333
402
304
328
310
317
403
371
334
386
287
290
279
250
321
341
378
332
332
291
291
309
289
271
275
328
373
340
270
366
290
275
303
342
286
234
361
412
352
368
333
381
237
238
260
379
361
330
422
357
295
357
282
370
349
262
333
318
298
242
342
286
240
218
303
301
328
412
356
376
309
376
371
378
223
355
375
259
310
297
348
342
294
344
284
303
330
330
333
336
359
267
274
309
306
245
338
316
334
288
284
387
310
306
325
238
336
286
311
332
283
247
385
294
302
310
321
287
310
378
357
257
193
296
269
279
347
286
262
304
327
243
333
331
391
317
344
237
328
349
280
386
276
312
264
336
359
341
381
289
266
323
316
321
346
353
290
335
339
319
277
311
365
352
338
370
293
304
345
338
283
292
344
300
384
335
344
268
295
300
370
378
403
355
316
316
260
333
440
306
308
381
268
251
301
216
312
352
306
279
262
314
333
327
262
278
297
307
313
308
435
342
283
342
351
321
372
276
361
222
227
324
322
349
300
348
345
225
291
316
346
299
243
329
301
235
322
277
283
361
304
248
308
349
272
293
358
350
330
266
266
321
276
337
300
283
284
310
351
306
333
349
260
353
327
268
330
231
233
339
279
286
384
349
401
243
331
288
318
412
366
333
275
268
306
322
364
333
211
318
278
342
336
328
312
308
261
381
387
255
317
321
364
301
317
263
371
354
378
378
285
297
361
322
267
386
363
303
350
339
303
318
330
355
286
269
270
308
315
375
283
252
279
347
264
335
400
288
357
371
287
297
337
372
256
254
264
308
350
230
368
318
357
301
329
282
307
385
410
312
304
341
317
339
224
266
299
370
308
349
276
280
317
283
208
333
436
304
370
288
311
289
301
336
372
243
391
281
257
228
308
278
349
324
293
308
294
276
260
331
266
343
352
313
277
267
294
311
277
284
344
296
294
351
280
373
353
398
351
322
250
295
278
266
305
340
385
289
428
250
340
314
319
256
358
287
244
357
330
373
275
321
270
374
300
332
361
472
352
301
392
305
268
334
306
314
374
316
345
292
292
315
322
341
358
411
247
310
261
311
324
256
280
280
273
314
381
298
280
271
347
300
287
264
331
287
367
341
293
360
266
228
308
303
249
376
286
340
395
348
368
282
361
318
294
356
273
303
331
383
341
282
348
266
302
304
323
358
223
314
352
321
315
286
311
295
316
356
327
247
293
318
404
320
309
306
309
256
301
263
294
345
212
336
357
333
271
288
253
352
329
347
366
239
206
261
359
301
308
356
357
307
376
279
252
319
354
250
314
295
249
300
347
274
322
288
338
278
289
334
314
285
310
221
315
283
313
310
291
351
383
378
287
368
365
319
326
255
352
268
292
284
287
339
353
268
299
331
417
247
323
206
317
301
351
309
268
308
237
247
344
322
325
329
277
298
237
297
275
302
367
301
364
297
352
365
288
401
360
386
322
321
301
326
268
203
301
311
275
305
278
255
263
339
330
310
362
286
387
288
300
233
296
348
363
303
312
329
368
374
236
335
358
365
324
356
311
312
354
245
303
310
341
361
373
306
326
225
316
311
320
299
391
327
372
310
327
298
375
332
287
338
282
238
398
333
264
354
342
299
281
258
344
318
311
283
283
310
408
302
284
366
334
308
320
323
352
312
343
304
322
315
260
197
301
274
301
241
275
309
364
236
302
322
324
341
304
299
364
278
246
248
353
264
301
281
283
320
326
311
311
303
295
355
353
302
324
362
320
304
321
322
243
340
366
379
287
354
312
280
350
320
364
338
346
366
361
284
311
318
335
300
364
308
347
248
300
331
327
332
291
331
333
341
340
340
312
326
312
223
323
426
413
289
372
297
313
347
299
327
273
282
280
251
162
307
352
284
219
275
359
270
327
252
449
286
266
280
306
328
299
242
339
281
227
268
286
345
322
305
272
300
343
369
315
338
389
323
347
315
370
328
264
290
400
277
366
381
341
214
224
259
421
344
305
396
316
324
283
401
295
226
297
270
331
262
284
279
235
276
242
453
291
349
280
307
318
292
371
281
285
235
334
335
275
335
266
315
363
357
278
363
281
381
281
301
397
326
340
309
330
390
353
379
314
256
424
299
243
290
348
334
299
370
331
346
305
203
339
393
308
363
296
287
288
298
386
306
375
423
362
388
258
215
295
308
311
305
311
222
352
312
333
386
373
338
320
226
409
242
293
197
240
361
205
273
298
310
288
256
248
321
377
213
274
301
359
237
325
379
289
275
216
330
318
328
317
244
281
272
310
255
267
401
352
288
299
393
280
296
285
233
293
349
349
342
293
271
314
281
368
284
331
390
367
353
381
239
348
320
264
393
266
313
268
354
336
311
382
372
345
349
318
344
276
276
281
373
271
336
272
327
342
375
349
370
363
195
315
361
274
347
352
352
326
291
266
325
316
275
306
292
245
285
355
258
340
329
298
399
314
347
312
300
348
386
351
307
301
318
328
341
286
344
346
254
273
254
338
195
248
233
334
243
308
304
322
256
333
358
307
400
290
338
292
269
231
304
273
412
272
319
319
369
308
329
338
349
326
310
262
314
275
330
313
321
268
287
289
381
222
314
313
379
301
383
354
326
330
362
307
372
237
292
309
361
401
351
343
289
336
304
384
370
291
351
363
322
357
340
285
408
330
282
257
359
383
298
333
351
364
365
328
353
346
380
310
266
363
334
381
245
306
315
281
328
282
324
258
251
287
390
343
305
228
415
382
314
367
269
336
324
417
254
271
312
380
293
384
288
348
352
276
326
286
296
336
281
227
320
356
293
284
377
330
294
250
335
294
291
283
299
319
366
268
298
352
385
306
322
320
322
394
352
280
351
321
212
302
294
291
314
391
266
260
292
329
333
318
288
293
379
382
282
246
287
296
365
361
306
317
265
310
249
356
360
266
264
376
279
282
275
315
361
337
321
269
269
305
302
395
327
401
386
281
323
350
303
288
388
353
335
372
259
298
340
361
345
329
359
379
343
336
217
337
279
324
323
320
368
302
355
429
396
295
332
328
314
272
345
355
389
374
366
257
244
330
252
246
342
238
333
322
348
333
327
398
342
242
316
259
363
310
273
304
310
289
347
315
364
253
285
345
335
322
280
376
401
315
215
300
362
362
334
343
329
231
326
382
280
426
372
276
299
322
305
295
360
311
394
328
292
343
296
301
327
363
325
378
311
298
344
268
351
257
277
312
339
332
302
264
364
294
317
386
334
302
304
337
345
314
283
276
286
255
255
294
356
285
262
242
325
284
316
251
314
281
317
292
329
291
303
346
256
345
361
302
342
328
385
314
314
285
270
239
303
345
329
354
318
363
382
327
333
263
316
321
313
331
285
397
278
327
300
336
322
349
301
332
322
314
337
335
282
300
239
352
344
311
349
277
288
302
323
277
311
303
265
325
402
374
339
255
249
233
302
299
313
265
307
231
246
326
305
329
361
393
291
336
277
296
314
241
315
277
314
240
278
322
290
359
324
324
327
304
255
267
332
360
338
299
246
313
296
332
359
355
407
294
340
336
296
272
317
326
364
367
235
274
299
362
390
311
296
384
347
353
295
339
301
301
328
336
305
260
304
256
319
244
281
358
276
323
358
335
268
354
306
350
270
388
279
306
377
379
294
302
348
368
414
245
253
331
365
221
307
276
331
385
294
339
356
399
355
306
372
371
268
275
340
348
352
325
302
310
308
313
373
386
392
312
270
209
365
300
368
338
290
275
309
336
299
272
337
319
307
354
363
323
348
336
300
346
296
273
344
285
310
414
313
292
295
281
310
370
301
322
269
287
260
337
284
335
351
296
282
350
343
311
378
339
360
389
291
281
372
266
348
355
331
341
330
282
267
315
296
355
347
293
219
323
360
245
258
323
326
279
415
298
307
205
270
225
311
308
281
338
277
337
309
278
341
310
315
349
322
359
310
317
288
263
338
344
291
275
290
351
394
366
323
354
387
319
337
331
327
358
357
380
243
272
316
395
360
298
351
328
426
354
372
405
233
255
369
330
349
311
334
326
348
364
360
280
315
260
245
303
319
409
362
258
367
329
343
305
309
292
242
293
283
293
368
335
356
326
369
280
310
297
372
345
298
228
330
314
308
406
329
191
314
242
311
333
430
375
296
307
343
275
338
196
309
316
354
339
245
341
304
305
328
380
349
362
313
341
245
327
369
332
324
378
304
266
264
354
295
294
360
306
346
269
283
254
329
323
298
209
282
208
368
396
231
367
289
331
299
361
244
261
394
380
308
346
336
307
327
360
360
355
395
292
294
290
285
234
297
333
294
363
295
292
240
328
301
392
376
338
359
281
391
343
270
286
366
314
366
360
278
359
334
285
271
274
284
217
343
282
282
300
275
285
427
300
326
377
222
330
169
336
259
392
393
308
323
252
262
387
351
247
277
233
391
351
339
343
310
214
241
299
366
243
329
307
367
312
295
328
310
263
326
288
291
250
296
259
326
388
342
260
268
363
237
346
352
323
309
365
342
337
295
300
323
323
288
257
300
399
343
277
269
360
317
319
404
275
257
358
330
322
288
359
247
272
224
391
294
262
394
378
215
391
295
260
264
385
365
262
362
255
334
350
305
299
306
273
229
314
403
301
256
351
348
268
338
378
279
229
377
344
315
348
365
329
382
308
366
325
360
306
304
336
383
289
263
342
292
247
365
290
334
310
379
290
378
338
285
280
342
322
277
375
268
273
273
301
240
305
378
352
378
289
260
322
368
310
318
358
264
332
372
305
295
235
322
380
295
271
314
283
319
329
384
342
282
350
321
347
380
323
313
303
299
358
259
329
313
396
300
287
128
351
483
264
264
301
332
327
373
356
384
300
273
292
318
348
249
297
265
443
281
270
260
242
298
413
261
334
309
331
398
303
321
330
309
346
355
280
299
307
245
336
364
354
366
280
269
257
286
307
319
335
328
348
252
261
362
287
246
323
358
264
334
307
316
353
306
358
416
283
389
312
316
313
317
212
344
241
235
324
242
373
383
404
313
311
285
253
286
334
306
354
278
349
355
220
259
268
328
320
214
349
270
285
375
309
362
304
248
287
277
290
299
343
289
350
321
253
310
376
297
343
278
310
257
308
375
270
283
336
275
313
307
302
374
296
270
311
314
312
253
265
269
295
406
385
347
273
354
381
302
286
356
400
330
321
315
303
325
364
276
294
336
312
368
296
290
279
334
335
273
234
348
260
326
312
342
295
275
343
348
331
291
323
280
379
383
312
305
315
263
318
308
360
337
330
344
431
374
322
320
334
327
302
348
261
300
375
293
410
313
325
258
284
276
256
264
341
294
354
339
341
266
279
327
372
334
337
385
286
281
297
235
322
327
223
367
344
234
383
402
343
352
314
283
367
316
383
343
319
280
259
341
347
348
303
235
261
340
241
264
308
280
442
276
333
395
306
296
368
270
256
328
338
339
350
326
396
322
333
232
293
352
205
217
335
371
344
367
301
311
325
289
297
340
396
285
360
247
330
290
318
304
351
425
364
342
313
263
290
238
264
392
280
313
357
331
313
225
288
342
386
303
331
401
385
317
347
359
285
278
270
331
201
264
360
349
297
264
399
292
376
365
223
392
298
275
271
301
259
244
261
303
216
284
328
296
263
431
275
344
275
324
327
402
247
274
322
301
347
320
199
370
317
361
348
269
329
334
300
303
384
304
376
303
355
329
310
312
285
371
236
266
259
302
377
324
281
347
371
318
275
382
360
304
316
350
345
285
219
400
313
183
309
299
302
356
307
231
289
307
277
329
298
354
329
294
300
290
287
363
345
361
378
225
233
228
352
358
299
231
305
235
249
232
275
312
306
350
245
355
322
338
371
378
344
327
274
285
289
266
316
275
376
334
328
298
291
334
290
346
347
315
272
276
335
381
357
266
250
345
377
311
261
319
278
261
288
305
302
286
288
394
304
237
300
308
350
415
311
359
308
346
331
264
364
242
256
340
356
256
331
355
250
348
284
284
350
345
282
273
269
314
339
268
284
367
360
319
242
354
282
268
309
342
296
296
367
433
317
344
310
397
342
405
313
333
259
343
344
238
312
393
394
386
325
275
249
430
309
305
308
278
330
284
305
321
372
398
317
275
310
254
315
335
305
345
211
362
225
339
315
303
359
411
360
344
253
260
332
361
345
285
269
315
358
285
323
354
319
268
281
245
330
305
383
283
318
295
405
279
280
333
310
331
322
253
334
332
364
252
324
363
267
335
291
273
292
317
331
345
290
264
316
196
279
324
315
266
360
336
334
334
272
251
312
338
291
328
320
314
221
275
358
320
279
236
321
410
321
328
256
242
290
218
251
384
302
367
276
360
361
281
324
320
258
427
375
292
411
335
163
304
272
303
283
389
292
316
296
307
281
281
311
301
426
306
342
310
397
262
290
309
278
258
323
390
263
359
307
311
242
294
206
315
378
201
279
316
225
376
355
217
343
350
335
266
272
359
380
236
235
380
290
326
348
299
258
274
334
312
328
398
305
293
316
346
351
344
255
298
325
383
236
308
348
277
393
307
319
347
353
324
319
299
383
291
270
337
346
325
418
322
276
348
320
351
273
300
306
296
399
283
296
355
348
329
319
319
326
292
240
285
381
338
334
307
303
331
389
289
313
257
358
257
313
314
377
330
367
381
322
328
209
376
243
295
363
351
243
293
253
367
231
371
253
248
301
294
379
324
355
334
273
284
319
247
385
294
288
272
298
324
323
385
310
350
312
322
293
313
347
296
308
291
226
309
297
337
270
297
367
356
346
243
287
308
401
394
274
297
319
316
271
383
296
355
269
353
275
321
273
217
303
364
243
252
349
372
311
290
272
362
339
323
327
319
299
321
347
296
291
278
273
318
276
348
271
263
252
277
340
335
297
368
283
233
320
337
313
340
296
300
271
382
293
281
405
335
316
324
246
290
282
326
373
326
338
295
286
306
311
292
268
368
264
245
272
305
315
296
328
304
251
261
391
359
235
253
320
328
418
219
300
319
314
322
328
330
338
359
337
350
387
351
263
280
268
356
403
303
280
229
345
333
318
335
355
294
381
292
373
303
306
329
249
396
375
379
325
320
393
213
353
311
309
271
325
275
283
252
323
316
231
374
292
314
329
344
296
343
281
273
247
339
321
346
323
306
331
254
301
344
319
292
358
317
374
301
351
291
279
257
355
307
257
268
308
299
358
294
348
373
320
343
332
268
338
271
312
314
290
252
363
347
344
337
346
321
336
359
320
308
350
306
375
387
291
312
318
338
324
325
297
360
312
301
284
224
250
250
363
275
287
384
339
324
310
279
313
269
346
288
243
291
347
311
300
320
399
389
333
301
236
206
302
298
323
264
384
371
288
340
366
273
316
184
301
363
298
291
272
255
341
343
378
325
380
346
271
351
378
329
292
212
320
203
356
316
307
315
329
303
294
223
242
353
306
312
307
259
240
343
368
297
380
299
212
323
293
290
274
384
293
304
360
337
319
312
329
342
305
233
329
254
343
305
271
306
293
335
256
309
384
268
267
276
271
319
337
300
371
277
331
378
354
288
244
317
280
376
249
316
244
305
287
368
350
334
287
339
250
364
406
232
281
295
276
330
365
303
273
362
321
282
237
285
301
271
312
325
242
320
248
298
304
288
351
301
271
257
377
261
291
353
296
321
306
387
313
323
308
368
296
395
263
292
311
352
281
360
355
247
340
288
351
266
313
294
384
282
244
336
375
318
299
297
383
426
335
269
350
284
448
294
333
329
284
303
443
293
301
360
308
342
324
362
237
228
382
286
314
291
318
307
363
364
322
331
369
317
332
354
300
270
290
318
294
353
345
338
239
364
279
314
315
301
374
292
373
268
382
218
289
300
284
301
372
343
316
317
305
286
241
280
224
337
349
309
258
317
286
388
250
280
289
339
319
279
271
361
323
322
223
354
286
298
390
269
318
293
334
335
321
277
281
277
314
252
314
342
326
306
306
390
358
318
264
267
347
394
299
394
327
365
379
379
400
284
222
381
370
232
271
284
346
300
285
295
313
271
303
390
341
343
329
204
299
327
315
306
339
314
256
294
349
271
265
245
298
267
340
257
375
338
364
348
290
318
355
328
296
286
393
420
301
370
298
294
344
355
290
326
311
342
295
337
335
304
273
329
267
318
348
318
288
307
338
289
228
289
307
331
329
310
341
294
356
326
319
301
397
302
281
408
342
243
341
272
296
377
351
285
295
300
318
355
344
338
326
349
364
378
327
340
294
344
324
348
269
345
299
270
352
304
329
240
247
286
261
387
330
298
350
348
381
242
297
278
276
330
319
285
322
337
334
339
267
337
338
351
360
309
332
403
246
293
338
312
322
366
292
238
360
307
315
316
302
306
345
271
268
301
300
297
289
340
309
361
299
328
378
426
238
326
311
334
339
325
277
360
275
358
279
347
268
345
379
284
272
262
278
274
376
298
343
301
319
261
341
323
305
352
337
329
250
301
330
350
324
281
221
320
302
243
300
297
357
282
314
341
374
331
365
342
321
325
359
366
329
283
314
294
270
295
291
295
340
257
281
372
247
325
321
345
319
349
383
291
340
273
325
284
327
277
333
305
272
300
249
342
274
353
289
368
195
281
319
306
357
301
300
275
286
212
352
297
290
356
309
289
306
330
244
367
254
323
276
326
311
344
306
366
256
330
385
317
348
288
367
301
311
275
379
274
300
322
333
293
356
400
306
334
286
336
364
392
300
348
262
276
344
337
333
276
282
387
322
308
276
276
320
326
383
343
371
323
313
363
347
331
351
357
267
368
306
279
346
364
355
267
383
314
267
304
337
331
368
277
306
376
273
324
319
333
315
259
240
337
350
320
251
307
292
347
366
306
293
304
290
259
303
352
359
294
360
345
327
384
276
288
379
319
342
305
331
343
357
314
307
335
328
285
313
281
321
301
309
307
360
397
342
378
333
217
341
279
335
402
344
218
334
374
328
329
344
372
331
320
308
268
338
348
296
316
352
295
313
381
386
315
269
219
423
211
321
292
269
280
296
300
255
235
331
340
255
333
358
313
298
232
375
316
283
337
310
352
340
246
358
326
249
397
286
348
261
337
349
404
298
316
381
302
354
399
323
337
350
370
325
324
262
332
302
270
363
332
244
346
282
314
413
321
285
207
335
310
334
367
234
387
300
314
344
210
317
336
253
311
328
334
257
291
339
302
269
325
342
396
263
415
306
290
294
271
311
362
411
336
372
382
264
267
315
360
292
327
334
335
308
248
393
338
370
310
306
358
318
374
264
304
293
287
230
278
195
246
298
352
291
328
314
292
354
276
283
369
236
329
226
297
374
275
218
265
356
262
325
332
423
262
277
267
355
329
279
342
382
281
414
271
268
352
262
307
315
318
365
301
310
308
347
341
271
324
327
276
296
341
297
298
347
241
236
339
319
312
297
345
318
394
331
367
297
314
313
319
307
271
278
390
343
307
317
353
297
301
267
330
337
286
349
394
238
329
285
304
342
334
375
279
375
287
325
232
322
270
316
320
321
368
369
240
255
308
293
273
231
400
308
346
392
347
316
347
395
386
354
310
362
389
344
345
337
247
255
291
330
327
278
321
302
250
228
309
328
332
266
356
311
316
393
323
415
385
310
329
318
262
367
334
324
301
284
325
281
356
306
281
361
354
368
177
243
375
290
359
407
362
298
294
325
391
268
273
322
313
337
354
329
281
298
232
347
264
329
278
419
280
204
294
323
398
263
302
340
265
394
389
409
341
316
285
238
360
325
333
334
423
275
330
273
286
240
349
285
283
356
326
264
341
243
303
319
280
327
329
371
273
326
307
352
285
300
335
343
333
259
363
341
358
322
322
391
294
400
318
306
321
282
299
282
379
380
357
227
256
389
265
398
246
328
269
353
269
281
330
385
312
266
246
367
253
312
307
294
245
374
278
313
385
359
319
321
295
259
316
372
400
315
304
310
386
324
352
371
301
316
374
339
332
366
264
328
309
293
267
309
304
290
274
373
283
353
344
290
274
304
381
302
343
284
405
361
341
328
294
311
333
337
272
241
386
371
288
313
329
298
293
303
320
352
381
259
367
326
325
309
313
345
198
315
309
296
318
345
313
356
407
303
336
305
310
335
348
310
258
319
313
275
306
334
403
334
248
247
244
302
355
277
307
357
335
242
199
297
327
289
310
301
346
347
250
263
280
255
321
235
400
301
277
301
320
358
283
317
366
270
352
344
243
354
356
333
334
298
315
335
296
278
324
285
291
247
339
257
339
370
342
354
369
362
254
245
340
326
280
298
273
302
325
277
315
309
381
385
312
313
256
286
292
374
342
354
310
282
299
300
373
368
287
306
305
331
337
393
354
253
349
383
259
298
332
322
349
277
374
334
402
244
342
239
334
317
313
342
350
317
359
288
320
328
327
397
385
290
323
349
379
342
332
218
261
358
279
287
295
334
249
373
303
328
342
366
332
312
347
386
362
334
226
317
315
298
304
238
263
334
440
357
315
326
290
266
241
295
321
272
250
325
328
381
328
335
280
369
312
265
270
372
393
318
292
311
324
372
402
302
292
257
303
282
298
294
393
375
338
353
321
354
303
353
301
377
202
290
310
327
278
265
313
370
360
287
353
243
401
297
318
255
330
337
343
312
270
324
313
298
378
342
287
375
273
376
257
228
290
285
338
345
415
281
361
319
290
337
326
354
265
334
325
314
285
293
319
268
308
323
272
369
312
345
386
286
288
371
334
357
343
325
298
329
286
339
382
233
327
329
317
340
305
288
315
309
340
304
269
391
349
303
352
303
278
305
302
253
324
334
375
408
344
429
395
232
294
296
373
268
374
261
333
349
317
283
335
349
376
304
319
323
310
301
418
341
295
302
331
211
312
258
274
284
284
329
363
349
302
306
237
295
215
311
277
347
378
303
246
314
306
290
287
266
340
305
277
280
271
306
246
281
360
356
281
352
322
243
309
352
396
240
250
380
291
281
281
258
326
284
220
377
284
341
278
275
379
273
285
344
260
239
358
348
346
311
293
263
287
317
296
385
316
282
361
310
277
279
259
376
336
300
335
366
296
345
322
247
311
320
384
311
261
257
280
360
304
292
231
267
285
327
332
363
327
378
375
269
294
285
347
386
376
312
300
251
342
291
352
347
267
288
310
306
211
306
318
251
265
329
299
377
327
334
255
320
282
244
233
348
317
319
228
314
304
362
271
340
322
314
318
350
260
318
357
305
274
332
353
185
386
279
336
284
402
362
341
338
309
364
274
339
384
303
256
382
258
249
364
269
332
294
310
296
321
302
313
356
324
319
288
271
306
270
350
306
285
244
293
296
343
287
268
335
299
298
340
325
333
317
340
301
296
318
278
313
303
360
351
266
286
319
310
314
300
196
240
184
303
347
398
293
309
343
341
274
300
372
317
323
326
354
292
263
346
351
288
308
292
351
223
305
303
262
351
266
391
309
293
332
324
337
198
334
345
233
342
300
304
272
395
272
329
342
253
232
313
325
370
251
367
329
261
372
332
304
272
285
252
282
378
384
342
300
302
380
258
344
361
273
367
289
285
335
341
317
384
229
373
331
281
316
307
377
389
245
361
318
345
413
308
387
322
255
385
290
263
312
368
323
371
253
320
241
276
229
373
333
309
403
353
339
326
337
348
351
358
210
376
285
363
318
245
286
377
288
291
261
247
411
296
419
362
369
309
269
303
266
288
300
341
398
326
350
351
333
395
319
354
259
249
416
377
265
322
298
355
359
387
326
319
333
327
247
350
307
315
345
318
331
281
310
311
373
294
300
302
376
333
321
292
315
320
337
321
367
241
354
338
253
385
294
325
274
341
328
363
325
292
351
338
331
371
343
296
284
317
417
320
384
287
301
312
276
366
314
329
443
299
391
369
262
357
326
378
309
246
310
342
358
289
291
357
294
347
352
378
308
240
312
234
342
304
267
213
325
267
286
280
334
274
216
276
362
326
361
288
378
281
294
188
279
310
269
291
242
318
308
234
379
339
261
238
318
222
354
337
341
283
383
310
290
391
291
234
234
320
312
311
210
334
262
379
337
269
369
226
263
268
410
352
311
318
328
353
289
301
346
303
282
312
277
379
370
300
336
347
335
314
383
311
377
310
214
345
339
281
369
407
326
310
316
418
375
318
318
325
301
333
391
194
337
357
346
338
341
261
305
329
369
368
370
320
410
346
269
378
343
191
379
233
358
316
372
266
356
247
368
352
369
319
327
308
250
357
347
252
247
349
282
324
288
323
299
302
306
335
251
363
299
321
342
319
343
260
222
309
380
281
297
314
307
308
273
366
366
291
389
308
245
258
285
365
305
290
293
332
262
364
290
281
308
321
240
342
386
347
280
307
285
283
306
241
359
285
292
342
241
299
280
366
319
337
324
337
264
349
308
236
339
334
314
295
266
339
330
207
331
325
334
356
280
278
437
409
318
360
382
386
319
299
274
404
349
313
345
321
303
367
326
280
294
331
366
331
422
268
360
322
288
403
314
276
293
285
344
279
193
340
275
276
308
378
381
388
324
266
310
315
354
294
268
339
302
290
303
302
225
314
304
329
333
275
331
307
418
262
321
265
315
318
357
232
258
322
314
370
268
331
325
280
227
337
329
357
314
254
380
362
280
339
306
329
287
334
295
340
240
317
346
317
312
323
211
312
297
279
242
297
280
291
286
366
367
315
244
319
281
345
330
335
322
223
287
333
316
389
343
273
326
282
299
329
330
361
371
298
328
307
330
292
272
359
356
344
249
294
270
306
303
240
361
217
321
248
310
269
323
325
304
326
330
268
324
320
314
303
348
267
376
359
312
304
306
304
295
321
301
361
247
390
353
326
323
290
366
240
250
242
315
286
291
379
371
357
291
418
409
226
370
414
247
374
377
304
305
203
306
344
309
289
333
340
367
322
263
306
322
310
342
268
353
267
305
249
354
293
287
412
319
291
210
273
350
307
300
290
299
305
364
267
333
340
365
249
316
410
339
348
245
311
333
322
360
284
241
391
300
389
336
265
328
295
288
313
310
341
369
314
358
328
324
336
305
320
342
382
327
326
286
284
293
313
256
287
292
331
282
361
309
315
268
351
318
307
252
343
369
304
370
287
385
303
362
321
325
240
359
365
290
272
359
239
189
312
293
264
274
288
269
305
375
299
331
269
297
224
217
344
241
325
289
290
291
292
312
306
271
365
314
310
246
323
352
310
266
329
261
330
239
312
333
360
220
274
322
245
233
342
396
366
302
314
301
314
285
257
386
346
292
344
271
322
408
431
363
339
327
317
349
270
315
282
304
316
244
350
398
333
405
279
300
319
327
303
328
358
309
322
344
319
329
319
312
359
329
327
252
313
319
298
343
302
257
322
366
300
320
292
319
384
316
389
362
353
370
341
308
361
289
341
270
325
321
283
363
281
225
362
369
297
313
298
304
357
331
259
371
222
306
313
362
383
331
368
313
287
264
275
355
335
248
375
318
346
283
301
197
254
341
367
325
338
362
316
370
328
305
265
290
342
351
329
364
232
285
259
346
320
307
355
384
327
232
332
379
256
331
288
303
331
339
263
303
311
284
374
376
340
226
304
395
366
346
250
280
342
306
361
327
265
316
293
277
346
336
258
344
317
316
392
280
292
256
345
352
324
355
404
284
333
366
272
272
365
262
296
251
214
308
282
337
276
322
242
327
339
291
336
326
320
360
274
328
295
301
371
295
293
309
311
316
312
278
254
313
366
344
261
236
339
353
304
316
256
240
301
346
382
286
317
324
361
313
368
267
311
248
321
322
307
301
297
368
280
246
299
255
274
354
343
315
341
239
365
391
393
438
270
345
302
340
323
307
258
372
263
349
252
342
285
292
310
308
271
347
336
271
229
311
330
382
297
387
277
287
311
266
291
351
325
279
329
282
364
294
286
334
297
335
306
274
351
312
370
326
340
356
377
324
336
279
254
307
326
286
368
351
358
415
405
246
265
333
391
332
413
366
321
336
203
357
279
288
330
298
359
230
409
278
297
248
230
321
310
282
374
350
327
330
261
343
267
269
348
393
273
236
258
308
258
270
325
304
434
325
231
265
306
347
304
289
192
337
240
303
362
272
329
334
344
346
300
310
217
257
423
330
351
295
222
271
351
326
280
385
319
327
253
330
229
322
345
332
367
377
267
355
265
293
255
327
358
221
297
287
310
320
356
227
264
288
325
342
351
329
321
364
327
362
334
289
327
305
326
325
300
315
287
291
325
281
362
343
357
294
274
261
284
290
331
320
278
282
371
257
243
248
332
360
296
333
356
376
326
384
348
381
320
294
347
293
335
320
298
339
353
367
297
352
318
268
228
341
227
282
370
319
380
344
282
362
325
364
295
371
363
359
287
270
305
319
347
423
334
280
314
315
311
334
306
377
364
360
330
322
337
332
322
352
366
358
340
276
236
270
306
258
328
364
338
370
359
314
300
331
256
243
283
343
400
317
282
346
261
288
292
356
264
408
317
277
321
314
299
286
286
305
282
292
286
320
393
244
259
384
312
236
336
385
313
341
291
329
372
323
370
295
192
285
312
194
408
359
308
240
321
312
347
298
272
402
310
344
289
312
371
304
287
330
271
343
318
338
314
292
296
265
384
349
351
267
304
351
357
274
324
278
351
367
330
251
241
213
352
279
301
315
260
291
357
377
206
327
272
333
354
298
372
292
319
330
300
357
368
266
238
320
333
301
341
311
286
240
257
320
295
297
241
329
348
329
238
301
345
228
385
361
280
317
266
369
297
350
290
377
234
430
281
324
321
340
268
265
315
404
370
405
295
389
267
350
340
281
315
328
315
367
257
338
359
333
246
296
233
356
297
310
308
275
320
350
324
310
374
284
268
372
314
389
389
347
326
312
286
313
376
344
421
288
244
328
266
411
315
302
351
254
357
243
269
365
338
373
343
273
346
286
207
299
356
380
316
324
314
348
254
350
253
345
306
330
335
274
294
330
324
367
279
281
304
334
296
334
322
270
369
367
296
304
324
347
353
342
273
247
311
290
293
327
374
333
339
222
364
415
373
285
289
342
392
300
270
350
324
337
396
315
313
362
299
322
295
312
367
258
350
326
357
357
390
357
397
365
206
338
277
263
282
297
304
301
245
320
357
335
340
270
392
246
334
258
358
398
351
343
312
353
346
330
307
282
323
399
350
323
388
320
351
311
309
238
403
239
293
389
349
295
325
274
306
366
446
259
220
373
263
207
288
265
294
279
290
316
330
273
330
228
182
384
274
351
361
299
332
371
325
336
185
237
347
254
376
194
325
347
378
271
342
336
326
332
234
275
299
337
330
315
315
389
354
306
316
345
329
299
317
225
370
250
309
333
304
265
330
294
285
251
270
368
345
328
301
286
282
331
305
354
339
316
356
333
351
395
353
379
349
272
285
374
231
318
264
322
312
373
331
233
343
331
308
303
303
259
329
283
388
333
297
315
365
369
314
339
299
302
340
337
286
289
349
360
310
296
352
326
327
286
332
367
316
277
325
337
285
336
265
341
306
302
299
310
273
395
349
254
270
235
288
333
381
339
350
348
294
304
377
324
363
372
376
346
341
312
335
313
345
295
284
284
298
340
378
303
299
301
263
278
268
351
285
326
335
282
288
403
380
285
254
347
287
287
327
294
305
328
264
359
344
363
256
274
224
302
359
345
363
273
262
327
309
350
295
376
323
261
305
292
247
314
303
311
309
322
335
307
371
338
296
359
290
300
297
332
310
351
250
332
271
314
245
262
309
345
266
367
242
318
362
371
349
267
338
223
324
319
316
316
309
329
301
186
304
348
274
326
344
327
324
349
273
232
356
265
298
304
303
333
339
304
320
263
242
291
270
320
303
401
415
339
348
281
264
365
273
358
285
321
285
295
380
408
304
336
300
257
271
343
316
339
293
330
318
365
420
277
325
400
279
359
297
272
304
351
223
420
386
299
362
293
307
262
315
398
356
365
247
296
341
349
339
328
408
300
267
277
354
359
395
272
365
375
319
426
301
349
286
320
341
284
329
372
322
409
349
353
314
362
299
310
344
303
365
305
230
333
284
305
313
284
328
363
330
378
202
325
267
320
255
293
303
283
351
336
353
345
303
339
383
351
239
346
283
287
297
321
274
310
307
341
377
299
256
239
286
219
306
300
317
318
277
297
419
256
272
353
305
276
308
341
328
344
282
243
287
218
278
357
311
384
371
291
324
269
391
331
380
307
348
271
341
286
404
357
296
370
253
333
285
255
341
329
314
309
368
316
316
346
376
321
296
334
405
392
367
398
319
248
327
260
267
308
319
270
308
259
314
386
223
338
301
338
400
336
358
364
256
363
317
284
300
295
331
378
353
328
329
248
215
286
253
328
286
275
344
267
401
387
264
307
377
320
335
290
288
357
282
267
371
289
321
283
317
318
308
329
385
387
300
325
425
343
319
345
307
287
366
287
307
305
220
265
284
315
412
267
392
379
241
380
380
348
319
310
346
305
321
283
341
346
306
401
269
399
341
316
317
358
348
352
348
263
307
296
320
307
294
276
298
370
360
294
313
360
328
284
275
338
292
280
331
307
291
218
313
269
295
392
281
259
296
330
350
294
301
337
346
330
405
311
240
345
314
268
369
239
355
382
232
319
275
301
372
296
390
299
316
293
338
327
266
270
319
354
344
310
380
294
259
258
363
398
277
340
231
319
351
362
367
291
330
234
339
334
324
299
359
326
341
221
191
246
339
285
302
370
303
371
303
363
272
373
233
336
331
273
216
343
320
307
411
347
308
306
254
295
286
268
305
294
337
312
307
324
305
290
267
346
248
292
314
297
372
265
246
265
374
360
401
339
264
325
330
277
338
264
284
350
270
315
313
388
352
397
316
358
384
323
369
247
319
383
368
327
272
313
399
314
303
336
303
412
265
354
239
351
241
277
244
303
292
321
292
358
310
355
298
267
332
310
257
290
346
378
305
217
234
303
407
378
351
381
287
266
298
360
404
370
371
254
310
360
297
309
295
266
321
330
327
322
380
347
414
333
329
309
335
282
186
324
351
318
361
339
337
354
299
309
414
306
251
276
321
257
335
402
294
354
337
324
297
259
408
358
342
362
321
306
224
292
285
302
291
321
316
299
253
316
299
409
363
308
291
415
275
321
221
328
286
279
405
316
295
290
307
210
334
311
312
385
292
343
388
330
437
364
404
322
318
278
272
309
372
300
347
287
330
369
329
311
310
268
366
308
297
290
274
271
303
375
342
271
367
342
343
348
262
269
307
319
308
318
321
330
302
305
392
315
294
309
359
292
291
297
353
262
366
352
341
308
356
280
305
371
298
386
310
343
281
365
363
281
370
309
254
268
374
362
360
274
356
390
365
343
363
376
372
305
309
371
345
379
385
318
361
337
315
331
341
174
296
385
309
299
254
379
259
254
372
304
300
329
315
286
284
309
287
387
252
290
339
262
239
234
280
358
314
206
365
344
347
281
334
335
274
313
328
313
292
284
340
269
287
368
273
298
400
296
349
341
310
306
393
302
271
241
357
396
240
366
406
304
330
319
266
336
340
264
238
327
303
332
315
345
271
241
378
412
281
297
318
375
384
267
273
302
292
373
292
357
260
390
303
318
275
289
312
255
264
364
361
375
291
261
311
377
285
343
272
314
235
278
257
254
299
309
360
359
299
293
312
385
329
282
241
305
298
340
250
332
290
342
373
387
300
238
347
310
313
354
233
236
276
327
343
258
279
229
327
272
341
324
372
392
317
294
240
270
272
273
345
303
340
332
309
281
363
393
355
351
283
261
273
314
369
318
275
298
297
319
317
301
392
305
319
311
360
333
291
429
339
375
340
305
255
313
310
290
345
333
336
283
281
314
236
294
324
312
376
309
313
336
391
233
229
427
360
245
313
278
286
251
289
395
377
317
295
309
311
357
407
188
430
326
259
353
332
323
249
359
372
368
324
349
294
421
303
283
319
182
321
287
358
377
255
338
299
312
389
242
280
281
358
339
333
271
304
354
336
243
326
312
313
309
392
321
230
370
301
337
320
287
278
291
289
281
353
294
343
292
356
357
312
309
305
419
381
353
381
291
335
327
336
420
316
345
330
296
233
312
303
379
264
289
262
256
346
232
251
294
408
313
309
328
306
264
250
221
319
372
299
330
356
275
338
359
277
385
319
295
235
359
230
298
288
393
334
276
341
241
324
311
355
258
295
308
262
259
278
422
259
342
337
307
370
338
350
200
367
271
344
361
337
366
281
311
306
303
320
379
297
371
281
363
277
342
321
248
319
350
312
285
302
296
354
341
239
293
342
271
343
312
325
347
352
235
277
388
368
350
276
325
386
333
354
324
309
342
294
282
358
322
373
370
208
295
336
261
316
354
258
264
391
402
234
346
358
310
243
285
340
367
402
286
360
256
308
339
273
266
309
370
320
256
296
230
285
312
328
327
268
301
348
256
301
328
301
342
375
292
297
293
381
260
272
326
273
343
350
344
345
285
312
372
293
334
274
309
326
319
333
307
336
214
294
274
312
365
301
311
336
340
332
384
308
371
341
345
299
303
361
309
415
247
236
327
375
324
237
258
305
384
311
356
279
330
294
304
293
291
266
295
310
289
336
366
402
339
299
338
338
289
269
319
367
236
323
394
303
319
298
376
389
303
376
304
250
275
235
268
362
346
341
271
399
280
321
316
350
307
318
317
331
355
343
254
319
382
310
382
307
342
383
366
303
377
241
319
319
307
399
379
304
249
272
290
334
296
304
302
363
320
218
328
311
233
306
383
369
322
217
291
273
367
337
279
273
291
343
286
275
231
307
258
289
356
246
338
256
355
363
376
360
279
329
314
321
401
285
263
271
355
316
329
322
287
375
355
319
288
338
374
312
236
276
236
331
317
254
267
246
376
330
293
315
307
344
292
312
305
295
278
281
299
335
268
362
308
213
309
307
391
304
360
279
273
324
352
280
246
359
295
318
304
372
320
334
342
233
325
363
386
289
322
282
304
310
340
326
320
201
331
317
274
398
341
337
227
301
329
362
319
282
291
308
277
364
313
322
320
290
297
354
334
386
335
343
372
295
362
359
353
324
269
367
340
312
379
375
228
321
341
274
253
324
247
331
311
355
319
266
289
286
333
338
321
288
352
300
268
366
350
251
348
283
302
245
281
211
284
306
327
298
440
396
337
288
385
307
322
259
341
272
386
364
306
310
298
293
306
308
383
286
350
270
319
286
325
263
293
266
256
346
386
387
251
258
343
354
354
281
333
362
333
323
296
283
307
302
293
294
272
355
251
267
296
334
284
276
272
285
308
300
329
354
328
308
305
289
313
330
268
297
339
283
269
313
354
375
280
369
318
362
318
342
365
362
346
379
295
255
321
298
245
291
343
336
357
319
386
305
277
289
329
369
399
391
364
329
325
336
277
290
378
202
240
309
228
321
307
374
306
270
363
321
333
319
307
324
329
226
361
343
271
308
267
392
327
242
335
323
361
379
291
338
294
281
302
306
301
312
373
335
219
279
376
308
336
350
310
408
283
393
279
298
377
260
302
262
301
278
281
270
325
281
211
402
294
341
290
298
294
317
289
366
327
357
295
332
327
322
356
280
385
270
261
296
377
340
295
373
413
376
299
283
366
335
270
324
313
335
318
239
265
267
270
282
293
279
276
334
309
274
332
391
387
335
312
330
458
272
359
325
317
308
337
321
335
301
266
314
320
280
349
314
324
339
268
316
267
286
255
345
323
355
331
317
333
428
382
287
272
355
272
291
316
296
355
366
280
247
296
280
279
372
314
372
312
325
329
270
382
222
317
305
260
365
365
273
272
249
367
294
349
399
366
309
326
388
254
348
292
273
313
312
274
299
240
338
318
336
282
279
306
281
303
305
322
320
368
331
284
316
321
311
307
332
271
329
344
328
342
272
212
272
190
270
318
283
296
356
283
293
328
373
221
309
343
352
256
314
328
315
286
247
237
311
288
235
341
344
307
377
321
297
361
238
372
331
344
280
276
344
248
396
292
353
324
260
287
295
292
328
286
337
311
275
347
300
264
318
296
312
236
363
381
244
297
314
360
314
417
363
345
299
281
320
318
313
373
358
390
307
341
387
270
286
316
374
360
329
331
342
356
357
296
360
309
342
373
439
285
282
260
305
373
310
295
265
276
302
322
233
272
269
282
236
339
318
343
300
249
287
313
317
332
387
309
299
239
345
345
352
295
291
224
373
327
302
198
323
404
260
333
351
298
369
307
286
309
355
222
382
327
341
290
310
375
270
359
316
243
292
326
292
292
282
226
317
247
294
258
314
288
291
276
344
334
320
270
306
320
261
369
266
363
373
246
307
303
306
366
257
308
324
343
404
287
266
293
247
331
389
311
352
432
231
323
308
367
322
386
372
366
296
292
373
339
348
267
266
378
364
279
382
292
241
289
368
379
390
314
336
229
325
334
304
223
360
358
312
250
312
395
354
324
270
334
258
301
258
341
340
272
345
278
319
400
272
415
345
264
281
288
291
296
356
407
327
358
288
335
313
231
317
287
363
391
323
351
334
350
344
340
357
410
385
350
301
285
317
316
345
376
280
333
324
295
255
302
389
332
345
259
384
355
267
286
224
356
333
234
333
348
332
189
405
367
345
284
330
299
346
279
339
301
330
341
240
328
255
324
339
232
315
370
260
205
320
358
287
309
265
367
322
257
364
334
282
260
279
314
250
360
298
298
322
263
357
377
263
221
280
265
356
306
332
265
285
338
294
370
366
268
282
375
322
338
313
397
341
303
297
262
356
343
369
284
379
264
241
302
249
347
374
359
253
304
248
299
408
285
283
356
317
393
296
356
225
308
369
371
315
313
407
345
266
311
331
295
312
304
279
351
308
392
350
327
354
337
384
306
333
304
353
302
246
354
314
394
298
218
382
304
343
301
325
366
344
443
380
314
310
306
237
365
406
334
363
311
301
311
292
353
330
250
265
341
259
331
411
338
318
242
257
246
348
320
282
351
365
338
261
404
411
351
283
371
333
214
314
350
243
266
388
261
327
305
390
388
317
354
326
382
279
281
357
341
271
337
347
331
294
264
329
336
355
294
324
282
299
348
366
311
292
276
289
340
361
367
321
243
276
243
380
381
389
352
376
285
334
287
368
315
316
237
282
256
395
309
328
290
230
379
344
312
350
323
301
403
239
235
278
273
322
264
298
376
374
316
429
290
290
332
382
309
351
185
309
336
319
312
233
271
340
272
319
298
385
351
255
330
314
245
345
360
279
345
257
364
333
274
395
343
379
294
323
314
361
267
285
271
329
301
334
277
378
311
362
342
324
323
286
338
272
337
251
262
359
279
253
344
325
293
281
344
336
392
361
252
243
352
313
300
335
330
337
299
334
316
302
265
303
345
325
294
265
284
286
276
316
347
325
294
366
321
303
278
315
275
323
296
337
306
220
348
338
289
294
273
339
224
354
363
366
293
332
262
206
277
344
286
334
299
387
355
282
323
338
334
313
268
339
281
322
372
324
290
361
311
280
296
327
365
351
352
311
281
368
340
320
296
324
292
255
278
311
220
369
369
355
315
326
344
278
315
294
258
272
388
346
281
350
307
298
263
310
351
279
317
352
317
318
307
343
277
341
315
376
306
263
252
319
296
228
301
357
338
285
301
337
382
245
347
340
318
329
471
323
297
309
345
327
301
304
304
397
324
353
427
348
287
334
285
256
267
348
306
395
313
385
346
397
355
307
326
304
255
317
367
274
337
273
376
353
343
379
335
339
374
299
302
278
263
306
342
303
256
319
242
334
330
287
362
318
218
392
337
279
388
345
300
331
278
343
250
281
357
329
364
363
300
276
294
232
305
325
322
263
323
278
321
343
298
313
335
343
288
263
361
347
303
361
309
276
368
351
395
389
244
344
316
276
237
327
281
344
313
362
269
396
229
295
352
343
319
324
356
339
282
297
321
348
314
289
363
274
300
269
252
327
277
302
286
329
370
378
336
268
337
329
201
428
314
280
222
306
264
348
345
291
371
290
337
269
353
327
248
273
263
294
272
252
352
305
390
342
351
318
355
289
412
295
307
368
283
344
290
287
399
284
230
262
270
285
324
296
376
348
338
309
334
293
299
395
333
331
305
216
324
318
336
241
315
292
311
296
411
250
354
308
259
299
356
246
246
341
277
249
343
260
389
253
330
367
297
314
364
307
325
276
327
351
290
353
420
318
256
363
288
424
331
245
278
378
325
269
279
335
244
301
305
258
266
350
246
321
338
350
311
356
329
333
394
340
299
301
309
300
318
261
258
337
324
255
379
314
242
322
322
309
355
254
364
308
285
272
340
298
292
335
291
294
298
323
313
302
315
321
318
278
242
298
358
378
287
301
315
358
282
396
310
237
345
222
272
385
292
370
299
355
321
327
329
316
334
363
254
279
270
370
292
249
324
260
277
292
307
274
264
326
440
313
296
302
353
335
283
277
295
316
288
373
304
345
320
328
346
259
293
308
296
372
331
257
295
287
268
299
344
292
284
325
374
305
309
331
292
334
331
307
304
302
321
360
337
343
295
326
236
278
363
312
330
349
240
313
354
404
265
341
335
354
272
278
295
369
310
324
354
374
310
317
308
344
337
267
377
265
332
373
382
385
309
358
260
308
313
368
344
246
317
360
317
305
308
204
351
271
339
421
213
303
348
265
382
276
295
327
313
397
334
235
412
313
333
256
325
277
338
256
369
308
291
295
343
327
398
246
198
314
337
302
366
282
326
332
228
275
265
307
279
331
264
411
174
347
350
376
241
295
381
298
260
331
317
338
344
280
367
339
317
316
342
325
322
320
359
328
330
279
342
365
284
371
361
269
361
310
298
326
383
310
258
322
357
237
301
396
306
277
314
320
313
346
327
351
352
339
346
263
365
341
303
332
347
309
284
381
240
326
304
312
382
383
265
347
310
329
325
368
350
241
364
225
305
249
329
271
297
287
258
352
317
313
320
304
293
331
308
325
353
348
300
299
290
290
392
280
384
321
280
383
277
285
366
411
376
359
408
337
377
302
402
294
337
260
253
281
307
295
289
329
293
322
249
291
288
312
258
307
385
243
378
304
352
294
334
308
321
240
298
327
293
274
344
346
280
275
276
352
223
392
270
344
333
285
254
321
348
253
348
316
375
203
339
329
372
318
345
330
307
319
349
356
330
325
320
264
274
264
321
325
308
356
318
380
230
307
373
266
380
291
264
221
287
277
323
354
412
341
397
329
336
308
293
328
307
231
273
298
350
302
319
323
246
252
257
349
296
370
378
390
318
401
370
336
248
289
352
328
328
333
281
312
268
346
356
245
302
356
345
240
223
303
283
318
301
360
198
341
229
394
283
364
248
312
302
326
302
292
304
325
280
323
325
298
361
299
343
296
368
270
329
211
314
313
325
344
327
277
352
333
279
286
370
318
311
276
277
343
282
300
345
383
319
359
357
232
211
282
370
319
301
379
241
339
369
348
310
344
344
279
332
274
318
326
328
290
248
319
366
300
323
286
262
365
341
259
474
302
360
320
392
244
285
320
285
377
345
364
300
261
317
308
298
320
374
317
353
377
300
313
375
237
322
281
381
345
297
308
291
310
365
253
317
221
356
387
364
358
348
357
320
317
246
332
221
316
257
277
178
388
267
334
309
285
355
290
339
315
365
319
312
335
285
356
330
321
236
354
358
293
347
402
368
385
338
317
332
268
328
242
266
304
302
388
325
351
319
325
255
264
386
330
336
341
310
386
315
312
360
328
321
256
254
315
352
260
285
290
329
236
328
272
319
332
308
276
337
352
270
309
374
347
294
272
309
312
324
287
294
312
269
250
343
281
308
306
383
304
255
272
228
264
328
223
251
347
287
274
318
286
300
372
333
335
302
333
266
303
309
350
334
301
252
317
310
330
278
234
278
297
319
356
326
267
379
305
271
387
319
369
352
309
251
352
324
297
313
344
331
283
272
353
274
314
228
326
372
318
289
265
333
319
370
316
384
309
315
269
374
379
264
333
301
287
305
325
335
378
327
366
290
209
370
315
337
404
289
395
274
381
365
289
343
287
298
305
346
298
264
360
310
330
314
382
321
368
336
310
331
321
325
338
272
328
363
319
286
340
299
328
272
203
257
278
301
337
330
325
379
285
376
308
348
236
360
257
312
299
290
276
275
242
371
368
300
314
279
241
389
331
338
245
391
249
312
300
338
335
294
386
227
365
243
254
304
333
344
307
296
289
273
353
321
336
360
279
333
338
299
313
294
288
335
320
292
267
356
291
318
356
257
313
381
380
328
197
307
272
353
313
309
276
365
324
336
302
283
325
373
283
268
286
341
299
313
308
273
392
238
310
273
365
279
385
294
323
291
260
270
257
365
332
254
300
315
297
339
395
373
356
334
302
321
277
374
363
292
369
371
402
368
327
355
289
353
317
301
391
392
314
346
240
390
378
261
235
348
313
263
336
334
304
334
316
290
341
375
370
362
246
251
273
406
244
346
238
312
319
351
336
335
408
292
276
303
341
332
366
305
370
323
285
341
314
294
375
353
343
351
340
304
309
225
345
359
293
391
374
319
226
279
378
342
381
309
233
299
420
302
281
335
266
284
335
379
326
324
323
341
338
288
290
303
320
348
299
305
215
320
275
375
301
292
358
297
325
334
267
329
306
316
301
356
418
248
345
340
383
330
306
296
296
270
380
297
328
293
193
256
288
298
324
298
286
339
337
326
310
276
288
387
272
335
277
287
332
255
335
344
281
408
333
307
293
225
347
299
395
249
345
318
334
319
289
320
264
260
322
351
262
306
303
380
326
345
288
308
275
374
351
331
281
299
214
313
359
292
339
260
259
355
329
270
326
425
336
283
341
328
259
303
288
335
371
329
365
322
391
361
280
361
330
357
240
334
346
297
368
251
277
275
341
265
303
192
408
272
362
373
236
325
235
363
300
320
333
297
365
334
309
295
320
340
295
389
340
226
298
332
359
236
289
334
321
291
339
336
256
282
330
314
234
352
401
486
353
373
361
291
296
309
300
305
328
304
289
337
263
231
310
294
351
359
294
278
350
291
334
245
334
348
334
260
267
322
305
383
327
305
351
343
325
346
318
284
210
312
285
367
270
365
244
364
358
241
335
287
302
258
302
346
314
282
254
327
269
344
331
395
311
218
300
312
316
333
310
280
295
209
261
258
378
310
247
247
342
270
280
350
374
314
308
203
333
432
365
357
278
322
312
325
308
390
363
363
281
378
250
352
310
289
297
373
340
313
387
339
384
283
366
289
372
285
394
300
348
327
352
358
363
329
248
313
242
295
323
307
307
324
323
235
305
287
387
374
338
244
216
342
349
301
313
288
297
324
297
307
224
299
368
285
273
336
302
326
250
293
277
325
235
322
282
338
308
262
313
270
235
267
330
396
376
218
298
339
328
323
309
333
300
380
268
299
253
177
243
267
329
310
332
372
337
273
361
257
336
339
387
327
389
305
343
237
318
360
278
280
353
270
275
347
297
319
241
339
315
322
303
276
295
309
277
289
224
367
351
274
289
251
255
381
292
340
336
353
394
319
283
313
311
239
278
311
286
415
262
324
313
302
302
287
325
280
294
352
288
287
345
290
340
234
329
192
354
314
328
319
377
301
286
313
288
282
216
245
311
341
360
313
423
370
370
353
304
363
295
272
299
340
309
241
256
355
313
378
386
278
314
285
321
284
358
283
341
274
265
328
237
305
228
235
329
323
316
269
361
342
260
274
343
284
322
270
315
297
316
276
292
290
237
344
311
257
324
221
291
335
361
274
334
335
368
365
255
248
342
425
367
273
300
307
357
304
335
233
300
249
356
354
403
306
225
399
355
250
254
332
290
327
307
190
398
283
300
324
343
307
312
340
351
404
267
299
304
292
270
294
281
252
339
387
398
316
380
334
367
287
312
273
342
327
383
322
349
262
280
367
281
374
291
348
299
368
296
356
261
347
336
263
276
286
453
314
320
307
303
309
313
329
316
337
267
398
364
329
343
323
277
287
272
312
305
327
299
362
299
373
291
345
335
316
253
350
274
334
307
319
282
429
317
229
391
356
307
303
355
253
294
327
308
324
261
352
295
315
334
244
260
334
385
271
248
256
344
347
309
403
351
329
255
345
372
380
294
311
233
366
302
303
314
340
346
354
303
398
280
378
298
223
309
265
297
352
255
305
258
270
336
336
260
342
264
313
372
286
277
355
324
347
374
323
435
317
296
365
321
279
305
380
237
364
360
256
310
308
341
335
342
398
307
372
227
322
314
293
365
302
252
345
412
270
351
335
353
350
308
294
336
284
328
302
302
305
330
343
347
388
325
310
383
287
337
267
334
308
289
309
293
320
307
282
410
310
346
378
335
302
263
355
399
332
387
346
340
275
306
385
338
269
344
289
323
338
359
279
343
328
308
309
347
307
313
289
327
317
378
316
329
326
282
309
401
351
282
350
289
331
335
306
311
380
338
367
303
223
325
240
316
414
288
355
408
372
255
299
265
344
322
282
258
279
363
357
327
289
321
307
390
309
326
310
343
330
394
283
374
330
339
239
243
357
355
205
320
237
300
309
328
301
365
377
328
321
393
307
332
363
317
299
293
276
266
263
338
348
262
321
357
267
231
346
316
293
316
347
254
266
400
309
286
399
315
311
327
408
330
367
291
246
371
293
312
385
326
295
317
249
355
345
328
385
307
327
330
348
310
323
374
365
301
383
341
335
200
268
301
285
271
329
342
399
281
333
335
298
323
298
296
366
355
299
237
327
337
318
305
270
325
432
300
259
389
323
409
397
337
331
347
269
302
322
326
308
302
333
288
350
283
334
275
222
319
353
370
357
372
288
291
350
286
300
346
305
399
307
333
346
372
292
276
351
360
320
332
380
410
436
347
310
305
325
313
280
255
343
247
415
282
264
331
304
303
247
274
374
278
337
316
379
336
328
385
259
272
375
314
356
369
316
355
383
231
335
281
303
386
271
317
296
260
256
315
324
345
367
343
421
248
294
285
237
335
266
352
297
284
344
318
344
346
372
327
293
323
319
275
350
245
314
308
309
350
313
194
295
340
313
336
382
388
283
330
374
246
320
263
305
376
316
315
316
377
293
324
323
390
311
259
360
285
290
285
295
288
308
310
270
263
339
242
367
317
345
287
380
344
249
294
405
416
257
310
355
243
374
339
367
348
331
317
300
343
307
264
271
275
369
327
253
220
291
382
307
319
282
361
335
314
303
406
300
336
280
273
377
297
254
368
367
336
246
336
267
285
236
339
286
290
362
313
320
319
277
324
343
409
369
270
302
257
264
303
322
301
320
345
278
352
303
344
373
354
296
365
283
244
322
264
270
283
234
256
257
346
385
256
381
361
240
259
309
267
299
312
379
325
290
370
382
300
313
213
272
270
339
253
288
325
277
359
342
419
274
303
365
282
346
345
358
298
341
286
356
365
316
284
391
322
298
358
329
360
268
317
364
254
295
360
373
317
326
282
300
353
321
310
337
334
325
362
319
303
299
334
343
286
310
303
300
331
278
299
275
411
302
267
424
349
209
285
347
350
304
265
382
370
355
331
269
345
363
316
336
356
305
359
332
319
330
372
321
299
310
422
327
243
267
375
272
277
250
334
282
284
320
288
337
310
365
357
296
331
324
291
325
305
264
283
263
309
385
216
355
357
384
313
360
276
296
241
302
339
329
254
349
338
279
347
318
371
313
369
321
303
302
233
252
334
312
376
346
276
350
327
314
324
375
321
391
241
299
399
383
318
303
321
308
336
400
341
351
357
430
343
294
327
294
337
378
272
308
352
283
352
284
392
339
287
336
340
353
317
356
235
238
337
353
237
337
306
293
305
344
192
229
255
356
357
286
290
296
273
356
271
328
378
359
294
349
380
328
225
299
184
335
332
371
331
345
349
359
346
358
247
399
376
227
378
284
327
232
258
335
258
313
312
310
274
283
344
264
315
311
304
380
322
296
295
361
327
285
257
248
322
292
242
256
362
339
343
338
310
374
246
287
365
203
373
215
245
309
352
297
251
337
353
275
291
277
396
294
338
263
268
370
330
273
292
421
287
334
322
275
353
323
340
292
352
331
331
308
185
373
332
336
358
311
267
305
294
350
304
290
285
272
355
332
291
300
381
336
286
301
338
357
251
259
347
323
297
343
291
352
290
353
306
235
290
328
299
302
357
301
307
309
241
366
286
327
332
288
325
353
335
404
328
306
273
274
311
251
301
211
276
328
295
241
308
349
376
278
393
233
340
303
297
339
244
346
307
297
310
312
327
236
251
314
296
321
345
402
331
287
346
320
308
306
297
321
213
290
335
292
298
320
289
355
305
281
341
283
339
274
327
323
375
363
332
310
389
324
229
328
289
355
363
330
351
274
326
293
348
297
340
361
303
271
284
252
247
402
332
303
270
293
299
328
330
321
398
309
351
343
341
222
230
354
378
303
334
286
364
308
245
360
272
390
306
317
323
402
366
263
340
270
380
229
331
291
318
304
433
261
307
238
309
318
305
329
314
301
315
298
369
376
348
340
359
355
291
361
316
219
361
328
350
400
337
295
307
261
279
311
274
313
295
380
244
362
310
372
303
294
307
361
299
286
354
315
316
325
374
362
308
383
294
251
372
298
334
370
353
339
356
304
209
382
264
320
270
355
344
371
288
314
278
384
287
368
300
328
313
312
336
335
309
321
366
319
310
346
307
367
354
388
330
259
357
310
301
244
286
330
331
315
351
342
355
295
392
357
370
315
392
276
362
312
272
249
325
344
317
372
367
320
313
239
269
381
363
411
341
269
443
278
378
374
275
282
274
309
282
357
302
388
249
370
341
327
314
286
310
360
299
311
315
277
396
398
306
327
344
267
358
302
335
245
378
313
273
256
281
319
293
282
280
351
275
356
265
390
285
401
243
322
240
277
364
339
323
274
278
332
324
291
360
346
378
335
309
205
273
301
366
267
275
300
295
313
337
254
274
300
330
337
265
352
327
324
320
212
375
303
326
346
387
382
372
325
299
258
371
265
320
368
344
279
346
318
282
344
308
350
316
338
352
335
304
329
277
396
258
342
361
320
288
278
300
295
333
262
327
342
296
258
314
294
205
344
375
262
272
280
299
213
281
227
310
298
289
363
386
393
368
369
216
325
300
315
330
357
340
241
383
279
295
287
296
373
309
341
325
252
267
225
365
265
351
287
348
359
214
343
360
251
396
284
369
326
353
307
368
319
349
354
263
342
253
273
248
328
335
292
386
300
218
316
340
348
255
405
224
318
235
235
310
289
318
332
256
306
360
313
343
381
307
245
411
373
354
267
351
323
303
344
398
256
257
340
317
272
375
208
352
318
349
327
310
333
277
257
305
298
300
356
369
293
372
351
300
387
322
296
343
346
270
358
337
365
276
297
328
335
316
278
282
377
284
386
333
249
370
304
248
316
286
264
394
357
269
278
342
354
328
353
310
274
307
277
396
193
303
372
382
376
322
331
283
316
269
334
212
373
334
316
327
331
307
404
339
316
294
298
256
361
321
326
259
369
316
262
255
272
237
279
385
402
278
309
370
304
356
243
240
329
357
345
293
313
357
288
406
276
298
403
384
385
343
329
392
371
258
344
265
319
387
357
311
267
365
311
270
295
327
363
355
268
348
342
274
290
302
266
322
316
319
346
293
304
368
347
349
273
320
251
371
355
321
323
304
332
206
336
319
297
357
238
292
336
300
287
320
274
330
266
259
293
300
428
285
216
349
297
343
310
293
275
262
268
322
310
345
305
279
305
411
315
345
328
251
200
356
292
272
302
219
317
227
273
343
266
278
308
325
325
350
413
214
339
274
395
377
333
305
320
349
260
276
270
288
344
343
284
302
266
286
359
260
322
329
388
338
332
302
373
317
345
359
316
335
324
300
353
326
337
326
340
323
309
365
233
289
363
417
352
324
317
385
361
265
349
339
310
323
254
316
310
429
336
341
400
248
357
292
293
309
304
362
329
358
275
238
229
346
363
335
268
281
331
289
343
326
285
356
221
298
261
329
353
297
295
356
341
319
329
382
329
214
297
356
378
334
324
251
279
294
311
271
290
304
359
298
298
322
281
360
263
300
309
350
281
360
331
330
312
391
217
327
276
309
354
401
244
339
359
331
337
279
324
303
385
347
329
359
280
288
421
250
416
273
348
264
384
367
350
322
348
410
310
312
304
306
298
310
347
273
239
353
322
325
352
274
280
330
381
336
241
303
346
347
335
302
314
338
318
302
247
262
428
312
309
203
360
397
282
254
313
323
217
298
259
309
241
363
370
244
329
267
368
351
280
351
196
331
271
375
384
361
342
331
291
358
237
284
308
286
318
281
307
289
313
323
277
265
330
396
305
297
318
245
301
309
315
291
334
322
298
281
338
320
330
352
280
300
423
375
353
333
329
265
325
279
280
330
361
306
364
326
287
389
241
311
267
302
351
320
361
276
308
290
312
319
340
285
392
340
248
308
278
274
282
303
388
318
333
288
226
414
331
422
302
340
267
361
400
248
284
321
302
363
261
336
270
235
296
344
338
274
234
333
363
214
286
362
373
290
330
326
349
307
233
231
376
303
371
269
321
304
301
306
306
265
377
291
356
357
274
276
313
357
312
289
295
293
326
388
325
250
351
340
286
332
318
271
273
282
339
350
268
268
351
324
318
306
303
348
377
295
297
292
320
298
307
183
318
303
272
283
335
223
269
316
319
249
331
320
296
326
328
269
272
386
260
343
378
341
243
281
310
332
353
402
295
258
235
339
324
359
333
327
339
310
341
369
289
339
338
248
356
354
332
279
295
301
297
366
231
362
322
295
303
232
331
291
267
290
310
248
322
314
362
386
359
385
323
291
302
285
267
324
363
312
445
312
238
354
265
345
290
327
307
336
343
246
254
308
334
301
259
334
291
260
324
362
346
319
346
361
357
302
310
243
427
299
298
279
263
313
305
324
333
288
273
293
321
339
284
301
354
281
331
349
356
367
269
334
359
301
314
305
270
250
346
227
315
317
218
359
260
375
309
279
369
365
248
303
255
339
325
361
295
354
338
232
276
297
342
313
347
327
313
316
329
297
318
282
334
322
272
316
313
310
319
272
268
313
334
251
279
310
278
322
355
438
235
386
318
344
362
334
328
326
315
246
280
275
279
277
318
323
318
343
346
377
418
402
316
232
272
287
349
276
325
262
288
299
237
233
247
352
333
252
317
288
354
370
362
259
355
344
279
420
279
347
268
312
327
276
299
298
289
382
311
278
296
324
341
361
348
334
321
374
193
272
359
342
339
316
344
304
241
430
282
304
289
272
202
370
325
350
322
212
305
376
378
345
309
345
294
319
371
342
242
360
319
314
323
356
277
300
283
359
322
296
375
280
277
275
360
325
287
323
266
343
312
303
359
360
343
374
222
270
410
361
334
326
344
370
331
378
287
336
255
318
330
304
321
424
251
298
179
294
253
306
289
261
262
334
361
428
282
374
295
305
258
335
387
322
285
287
325
347
330
421
346
263
335
281
281
278
320
318
353
323
277
420
380
350
322
357
303
299
264
367
202
273
310
333
295
296
337
304
373
191
327
264
248
281
375
348
239
400
342
295
316
239
224
325
286
393
342
308
326
381
284
285
305
295
302
364
340
300
349
301
247
297
367
315
204
323
325
274
236
311
299
295
328
311
368
326
356
360
302
294
325
272
407
329
292
310
363
301
349
240
329
335
396
306
336
284
301
316
376
302
347
345
325
276
278
307
326
227
350
272
305
332
315
348
307
269
344
303
337
299
378
280
396
292
285
318
359
329
268
341
296
378
340
253
245
352
361
303
249
276
299
307
384
283
257
309
317
388
320
386
360
286
350
284
323
387
319
318
225
278
286
289
316
247
314
375
340
379
286
348
382
332
270
326
343
349
265
349
266
238
350
318
247
354
367
347
310
375
321
288
346
338
296
297
361
279
415
366
306
302
335
328
297
432
368
243
257
358
346
268
288
303
368
186
219
318
309
365
377
348
282
272
288
262
383
312
285
306
321
348
292
321
322
341
309
273
269
376
336
263
268
261
314
355
299
387
341
324
375
324
375
270
338
334
327
271
328
295
292
383
323
310
319
302
228
299
320
277
347
336
292
334
324
310
291
345
297
296
345
194
350
299
323
385
294
265
254
299
318
235
353
313
339
324
262
201
326
222
304
300
308
331
282
305
327
333
374
338
387
275
342
330
388
301
305
327
371
275
309
311
300
336
256
243
350
303
375
274
331
285
265
378
277
296
333
338
305
372
342
309
300
344
291
274
315
315
304
264
312
328
277
266
220
268
315
348
311
385
305
429
389
282
310
286
338
309
284
343
321
346
405
357
318
285
324
310
322
311
289
259
286
319
291
303
331
307
297
359
348
368
242
279
360
385
259
320
320
357
279
329
338
309
249
334
267
335
239
317
306
241
344
250
260
267
265
398
283
317
339
323
223
383
278
396
338
362
371
294
324
264
385
326
291
333
324
324
302
348
337
381
301
288
361
290
246
271
327
362
291
299
342
386
325
272
291
318
247
344
405
269
330
342
274
331
308
298
310
307
305
341
342
361
286
237
351
218
363
403
237
336
322
300
294
293
326
171
320
336
380
382
237
230
378
228
290
267
269
349
253
349
231
308
261
391
230
251
251
275
276
349
334
348
342
271
298
313
358
321
371
291
271
261
310
269
234
275
406
268
276
324
338
308
295
289
383
306
289
306
299
294
384
356
291
331
310
312
352
280
322
301
315
353
408
368
364
283
252
332
307
270
368
346
324
337
354
299
434
391
344
336
350
314
339
300
221
311
377
357
325
302
285
241
343
245
239
328
329
275
369
305
372
310
319
253
333
378
362
362
347
404
341
346
326
315
386
247
252
381
383
254
272
351
275
258
358
301
340
323
336
373
361
304
301
320
383
342
293
308
375
301
402
359
343
333
276
317
339
316
358
329
341
324
378
317
312
229
333
349
257
308
232
371
347
270
239
308
324
295
366
256
353
387
246
248
290
288
320
243
368
275
271
313
264
267
312
261
315
320
368
343
300
324
340
280
286
348
265
268
354
275
285
317
255
325
340
269
424
281
309
290
360
268
306
289
254
290
218
352
374
294
315
313
313
334
339
361
270
365
330
264
256
356
304
326
433
377
267
316
256
327
296
397
304
324
281
319
391
342
306
349
299
345
320
311
369
311
336
359
358
345
335
232
326
315
355
322
369
350
232
366
332
316
351
317
378
242
257
357
291
336
367
261
332
339
396
244
344
188
315
310
414
332
366
284
289
371
317
303
388
411
356
285
224
233
269
282
365
293
391
405
264
320
332
245
266
375
279
318
336
251
323
282
272
340
263
390
362
313
387
357
269
319
349
285
328
306
346
326
258
287
344
318
341
321
362
256
406
296
378
306
268
276
346
317
305
363
381
304
283
381
317
270
292
280
270
281
389
343
320
261
350
316
330
308
351
356
293
289
270
290
377
376
246
347
386
307
222
277
318
355
307
295
270
403
302
350
323
363
286
389
336
269
409
286
266
379
370
265
253
281
276
304
376
193
344
367
281
306
329
273
342
400
291
296
338
335
301
307
255
297
342
251
307
273
269
240
330
256
381
336
300
288
223
225
349
263
291
355
250
232
289
299
297
336
208
207
323
343
386
273
267
332
293
367
327
356
269
354
323
337
297
333
354
346
191
346
405
273
319
264
284
267
329
306
346
339
396
260
361
352
313
323
317
276
237
311
297
283
284
387
312
241
298
321
304
298
328
292
426
431
289
413
340
265
310
277
329
364
324
337
312
299
350
366
323
325
323
359
312
270
308
297
307
242
313
310
352
302
269
240
278
357
345
313
374
340
400
283
356
255
285
269
398
271
319
319
235
224
363
306
203
280
342
281
368
261
248
300
346
280
262
283
281
264
295
232
220
292
328
361
284
316
352
277
393
309
370
240
207
331
370
343
396
286
268
374
356
294
358
314
293
353
389
285
336
325
340
321
297
338
326
375
352
263
259
385
310
301
269
293
308
308
315
401
309
246
322
364
304
302
313
274
368
349
373
326
328
302
297
192
374
259
344
377
280
352
321
229
313
365
286
277
291
358
315
282
342
343
330
255
319
343
277
246
292
223
264
327
280
355
346
266
230
365
283
367
380
378
362
280
365
413
257
250
317
258
398
340
291
317
302
391
330
328
354
314
388
374
235
359
315
352
356
284
349
311
326
352
373
341
177
283
358
301
211
278
386
278
285
322
348
248
296
379
327
275
288
331
291
381
257
296
403
293
305
388
304
263
366
314
324
317
347
353
278
279
219
338
293
372
321
306
360
424
360
369
303
347
302
335
307
267
331
225
299
413
344
353
334
320
288
250
258
253
283
261
329
289
290
271
292
240
351
261
350
225
287
265
303
303
252
268
350
259
329
275
286
318
361
263
286
287
299
247
360
352
281
315
242
342
323
242
281
330
375
332
329
278
243
343
331
390
312
310
228
301
308
335
329
345
323
315
286
313
289
304
340
339
302
386
331
413
328
306
309
239
281
237
298
265
267
360
281
372
339
344
301
282
378
362
226
292
266
386
232
280
320
343
294
316
399
288
338
311
279
334
242
326
294
275
266
354
357
300
338
298
312
302
250
271
313
398
316
320
334
322
353
366
297
321
286
325
219
324
333
343
341
345
214
304
247
346
331
321
312
342
326
299
281
291
266
331
340
261
334
430
352
351
262
348
290
319
332
328
337
318
357
231
351
305
270
291
264
268
301
314
385
338
279
278
351
321
251
281
354
245
258
366
246
309
309
377
307
312
316
306
311
277
279
285
346
337
390
370
302
325
273
365
363
321
343
285
292
329
338
246
326
301
405
310
327
299
350
343
383
348
288
371
313
313
351
337
399
317
258
398
310
296
353
349
260
287
313
327
330
264
366
311
353
318
379
270
343
305
282
303
346
376
294
293
277
279
385
319
285
315
317
311
394
349
305
333
326
259
279
293
330
276
328
381
324
331
253
258
275
305
240
247
296
313
372
339
320
300
268
162
368
314
334
360
333
279
267
304
335
355
338
348
329
376
356
292
315
335
358
262
374
297
315
414
295
306
278
319
337
221
329
296
286
195
310
286
279
340
276
313
297
410
346
328
300
273
259
224
329
278
363
365
377
326
283
253
224
404
363
359
284
266
348
313
306
388
273
301
297
342
242
365
352
317
360
339
390
328
320
321
283
287
348
406
273
391
263
282
325
309
246
341
381
251
324
333
266
268
309
323
308
324
302
338
369
295
299
238
299
317
387
316
293
253
360
290
251
270
377
315
294
256
340
349
280
360
298
323
309
371
309
235
344
263
358
310
255
271
278
287
345
293
388
280
424
235
328
323
350
385
310
355
352
322
315
299
337
398
289
255
260
286
312
283
252
348
338
285
271
307
332
346
357
328
291
274
364
292
286
259
387
271
239
286
300
273
279
331
236
371
300
295
214
365
314
284
290
306
344
339
296
329
327
317
237
248
383
285
327
350
251
298
316
332
284
274
276
355
395
285
313
333
217
311
266
305
379
340
212
376
342
335
371
320
254
264
217
312
230
342
324
286
375
257
382
333
270
306
336
334
268
331
377
329
265
285
297
295
248
359
381
286
329
344
280
290
275
241
269
339
292
320
276
318
195
379
329
313
371
278
300
326
297
346
311
337
226
322
285
376
263
291
332
326
367
306
301
214
341
308
366
388
315
297
314
380
368
337
304
331
270
289
363
329
360
348
338
314
226
310
272
259
316
293
313
353
312
284
279
307
408
334
295
191
336
270
318
308
285
284
362
372
291
303
230
305
373
271
311
316
346
334
264
293
328
308
345
313
305
381
372
309
242
317
305
363
319
339
354
358
275
309
282
383
280
280
276
343
326
333
327
267
326
317
360
296
266
278
271
274
332
341
263
376
318
379
329
328
353
246
361
273
287
276
331
280
371
311
351
309
295
272
348
354
350
384
310
337
335
351
308
305
353
340
262
358
297
368
361
250
239
351
234
322
327
334
241
414
305
274
304
285
351
312
368
365
343
273
343
369
294
246
218
352
295
341
350
413
289
275
246
360
299
324
267
359
333
264
367
188
327
301
298
261
223
313
376
338
404
307
398
328
368
292
268
283
341
386
345
245
396
329
295
433
341
296
271
348
337
383
314
348
305
317
285
290
395
267
263
282
188
296
325
311
364
308
318
344
359
286
274
257
303
294
326
316
292
376
313
376
365
291
319
322
327
348
297
361
336
287
270
286
268
294
314
337
349
305
260
294
343
347
282
362
237
366
332
289
293
341
303
253
286
308
299
354
215
358
238
230
289
300
279
309
309
349
252
368
299
355
377
277
327
290
339
359
186
295
361
330
354
268
212
280
386
403
313
306
365
313
314
353
304
333
395
344
261
263
340
350
351
336
275
335
276
327
376
364
397
353
234
349
325
351
267
339
301
355
326
299
183
283
288
263
279
295
298
299
256
253
352
328
267
340
377
338
379
308
380
264
401
274
206
300
294
271
367
284
289
316
247
274
315
309
319
350
300
314
331
301
279
261
369
278
311
368
302
296
300
325
369
359
384
381
331
224
231
359
293
317
300
354
304
221
314
286
352
376
318
261
284
350
344
310
400
254
252
263
302
281
328
338
308
422
356
388
353
307
320
329
362
263
252
369
312
333
269
331
326
339
321
300
241
358
395
332
365
263
387
273
332
347
414
356
294
388
358
395
323
286
318
357
313
275
327
315
303
333
276
319
368
298
322
280
321
309
330
306
344
230
266
327
325
263
336
244
323
258
320
357
320
242
405
296
356
388
375
215
363
377
330
315
374
375
326
255
342
342
372
348
324
211
276
265
242
290
321
359
341
287
371
297
328
329
334
316
350
332
349
261
323
307
289
341
348
329
296
347
290
343
274
286
360
309
327
362
301
335
341
286
265
341
292
277
396
309
268
322
258
371
284
314
326
255
326
282
296
305
305
269
389
238
346
327
313
320
358
319
309
311
382
391
308
287
312
370
307
307
298
339
363
346
317
357
302
302
322
327
300
238
345
296
289
328
309
231
248
313
333
340
333
308
321
293
294
212
248
396
372
340
362
302
357
361
306
238
314
334
325
319
317
356
320
369
428
290
388
336
298
273
275
344
345
340
322
326
337
343
294
295
343
336
323
320
325
335
309
272
357
365
286
334
296
255
332
347
289
283
261
271
316
435
317
406
334
358
278
306
256
312
336
308
358
278
350
300
320
289
300
295
334
296
364
336
346
375
378
311
298
266
258
335
309
357
246
302
294
209
276
334
332
347
304
267
345
327
212
257
331
297
322
357
274
262
218
343
252
309
347
347
307
277
339
331
304
327
315
253
273
306
350
274
372
354
313
272
364
294
362
316
293
339
264
385
269
355
341
306
310
330
249
264
242
326
248
327
347
303
352
363
384
233
379
311
368
333
286
297
353
288
343
256
246
267
300
322
317
294
321
363
323
342
271
292
302
257
334
333
291
322
317
280
223
309
305
311
257
286
259
311
353
238
301
311
335
308
395
307
421
217
346
315
256
327
292
358
325
303
281
266
274
380
391
385
298
391
320
359
217
282
378
356
330
236
317
342
313
269
391
305
251
369
363
276
437
283
234
307
331
287
334
269
302
290
270
318
282
379
274
342
308
235
321
210
346
371
314
316
266
282
306
349
346
330
365
300
333
395
313
372
301
313
297
269
293
356
231
299
303
288
337
347
320
278
314
371
293
356
361
321
293
330
367
336
311
345
281
327
270
270
289
295
299
295
272
351
332
266
211
314
268
333
398
249
318
295
322
339
269
393
255
347
327
320
337
233
262
240
301
271
336
327
278
362
413
362
345
342
393
368
356
350
381
342
251
297
391
317
362
310
247
265
244
332
310
325
336
359
325
271
314
351
392
289
262
372
351
270
297
250
235
297
341
267
301
252
293
273
336
359
237
316
330
326
370
277
321
322
338
302
216
344
263
318
317
322
264
344
370
300
379
284
307
343
313
339
396
320
357
341
312
350
339
349
243
317
367
289
390
299
285
249
233
385
427
320
272
320
305
295
265
302
295
366
249
387
354
340
344
313
313
310
285
325
448
324
416
356
275
298
283
256
337
384
254
327
302
289
366
314
262
296
292
273
258
324
301
322
323
268
291
337
320
397
241
379
340
379
301
306
311
240
337
341
368
310
275
289
428
308
303
258
378
380
339
320
295
361
329
334
310
352
203
341
322
379
340
313
348
331
365
254
356
378
254
290
326
338
319
291
278
325
316
299
302
384
241
350
358
293
229
358
346
269
284
327
352
252
355
380
319
289
277
252
279
288
343
253
318
357
318
383
295
339
244
289
279
343
392
306
241
279
402
267
317
283
393
260
317
361
371
350
332
362
306
324
311
306
309
229
322
284
246
411
301
419
360
239
272
289
248
282
344
374
351
294
317
370
357
312
393
325
404
323
282
244
338
213
236
207
246
298
323
348
365
325
286
264
292
272
307
365
395
362
416
265
260
298
282
272
305
412
312
354
326
317
290
334
374
313
304
232
256
302
240
350
342
280
296
301
284
271
302
364
309
238
265
300
290
288
295
353
386
362
309
332
294
284
325
326
315
384
348
346
322
324
394
311
321
338
267
368
223
329
277
344
338
383
356
292
428
271
385
231
285
326
318
291
357
339
389
293
307
339
251
274
372
362
341
348
247
338
269
258
233
365
345
354
348
359
329
341
282
272
351
354
343
333
269
358
357
333
266
394
295
304
300
340
285
283
365
386
303
317
285
267
348
311
344
284
309
244
322
264
348
306
271
330
319
282
269
317
346
351
319
249
316
278
266
330
359
285
365
345
264
288
251
276
352
228
369
334
331
307
411
319
391
301
273
246
361
344
292
268
349
320
315
330
363
211
355
235
301
250
273
201
393
271
287
301
293
261
282
281
339
323
371
311
380
342
359
345
272
350
206
307
271
346
317
307
321
324
246
294
292
258
366
320
314
211
267
330
219
235
340
360
223
217
340
279
341
288
271
302
325
364
362
219
357
252
300
340
327
308
404
268
406
379
302
359
360
354
335
319
282
263
319
338
319
316
312
290
246
246
287
324
338
356
274
369
328
221
348
321
227
304
356
244
290
372
383
323
352
297
299
303
299
288
268
343
311
258
356
280
305
334
296
328
359
380
300
251
310
256
281
249
310
205
287
312
278
331
269
270
329
337
394
280
332
232
369
284
306
325
284
234
275
328
241
345
336
266
314
346
314
386
324
392
283
356
251
266
314
315
250
315
403
317
265
347
290
309
372
290
336
348
261
314
297
220
359
374
323
302
281
326
302
312
326
363
355
284
363
333
350
279
253
319
357
324
324
296
345
288
307
318
347
369
326
297
339
365
327
332
299
268
404
251
268
272
376
349
348
289
236
310
381
399
281
344
321
364
303
282
302
324
313
332
297
318
356
382
337
381
356
320
351
360
330
333
312
317
282
337
299
312
331
347
374
338
308
263
319
281
340
394
301
405
306
317
325
338
363
372
279
322
269
339
327
254
312
256
334
288
312
370
252
365
285
311
386
341
266
364
293
300
239
407
319
256
311
280
281
331
393
401
313
305
354
271
348
252
295
325
368
313
299
321
317
345
346
314
335
305
223
379
381
219
332
309
266
263
249
351
338
297
370
336
341
305
323
301
317
336
254
338
312
242
276
347
316
209
359
350
371
332
298
321
332
303
354
348
307
316
351
349
336
313
324
274
331
404
330
375
312
325
385
318
314
354
349
289
317
358
288
232
284
339
263
332
311
347
340
324
345
297
228
168
301
305
252
309
337
279
315
370
278
270
315
302
321
237
303
420
303
305
228
270
222
236
403
304
317
266
431
367
279
290
393
290
271
294
294
308
376
234
249
357
307
299
346
358
317
251
281
359
333
208
282
288
341
328
381
289
266
321
278
360
351
345
327
305
241
344
475
304
234
393
246
363
328
303
271
308
352
336
365
316
342
313
417
259
288
372
304
296
245
404
306
303
355
307
313
278
382
326
303
277
340
334
337
317
284
292
299
303
328
342
379
286
369
337
297
375
295
280
288
349
262
222
320
322
279
300
336
345
275
347
335
243
335
266
299
367
300
340
307
285
347
294
320
241
288
317
356
326
278
274
332
344
263
333
281
284
321
264
298
379
295
326
351
322
358
316
258
325
375
359
275
423
229
300
337
259
325
286
290
345
299
302
329
305
303
366
330
324
317
237
358
255
342
402
355
270
342
315
243
310
297
321
281
247
392
325
265
327
286
321
307
264
349
257
340
333
333
298
342
342
321
253
340
336
331
333
323
354
385
286
334
328
355
314
359
226
367
367
276
347
353
329
286
286
299
354
342
284
327
289
297
260
289
356
272
293
345
297
312
364
357
342
353
369
221
228
362
348
299
359
289
208
341
342
247
273
259
346
283
254
272
297
262
344
394
397
307
266
325
314
345
283
347
310
319
369
280
292
408
337
316
334
312
253
308
256
331
270
322
321
384
382
329
393
265
363
325
299
330
357
277
328
287
234
286
311
279
364
238
297
284
286
347
295
388
369
351
291
310
395
383
309
248
325
280
328
308
312
340
352
327
350
307
347
252
269
335
316
344
346
251
241
291
346
359
301
335
259
347
339
272
327
264
241
278
388
307
307
268
286
351
370
320
315
323
263
287
373
294
329
352
292
370
304
374
273
290
323
291
365
337
374
338
304
358
285
311
348
393
244
390
254
335
227
293
293
299
378
271
350
353
338
342
369
334
324
338
262
316
272
364
298
226
250
318
322
263
323
309
362
271
390
260
261
360
291
325
306
254
367
319
325
272
323
332
322
374
354
327
340
292
344
339
374
401
291
331
391
342
371
269
401
358
388
307
365
257
260
299
331
269
304
334
336
319
330
405
262
310
359
370
445
365
368
347
293
337
290
358
287
311
271
317
339
295
380
270
345
220
257
390
308
339
360
303
321
360
293
275
346
378
289
242
311
373
325
282
360
347
325
373
418
302
270
270
303
271
300
337
333
331
325
284
294
335
287
247
332
270
277
326
273
310
291
280
333
327
246
294
262
345
250
250
342
332
342
344
336
226
327
271
335
423
326
388
358
345
278
342
324
279
213
299
264
259
258
329
329
335
181
308
295
301
352
302
401
316
339
364
337
301
352
377
294
310
342
270
329
320
317
282
272
292
282
262
334
337
313
322
354
364
320
313
267
251
344
312
331
281
317
314
272
352
303
310
291
208
295
311
332
297
323
305
314
354
373
313
332
324
332
234
362
300
333
373
352
307
287
255
298
334
352
270
260
271
366
324
317
348
329
305
299
293
276
303
323
367
287
328
290
317
334
300
311
325
445
330
330
236
303
377
242
267
289
302
300
275
336
308
260
247
289
269
307
323
293
302
314
324
373
301
350
305
325
404
329
347
285
266
235
267
337
304
270
348
268
276
355
330
302
284
276
253
372
405
326
335
341
363
325
308
380
308
341
322
242
225
269
319
224
335
328
337
294
284
299
313
273
360
276
345
319
313
332
285
302
282
264
244
331
338
366
246
351
370
398
331
378
318
240
261
375
275
293
373
274
362
279
410
291
343
346
310
340
308
339
368
284
333
365
302
343
287
278
308
327
322
376
392
324
220
298
385
371
320
368
350
351
277
371
416
295
298
356
365
268
416
370
290
317
308
293
333
323
248
340
309
266
296
333
306
355
288
347
328
363
329
260
296
407
305
276
363
317
304
308
247
294
284
318
327
296
382
244
279
301
288
387
314
374
258
284
325
298
248
323
354
374
263
336
328
307
301
280
385
275
327
366
261
318
360
262
383
302
315
373
240
232
349
270
285
349
344
261
379
344
291
271
351
333
339
287
340
356
265
268
380
283
329
264
189
271
334
227
275
302
338
220
307
316
318
329
325
337
301
362
329
303
329
316
334
350
284
348
301
264
313
350
347
314
332
363
375
299
360
292
284
355
344
378
329
298
314
310
312
258
394
296
286
406
365
340
322
309
352
297
301
268
333
341
313
314
304
314
338
302
260
363
334
352
321
262
236
295
320
357
283
352
346
297
278
414
266
271
308
313
236
299
220
394
355
327
321
369
300
314
363
287
329
325
329
270
335
390
283
328
313
295
256
303
383
255
295
299
354
372
284
319
371
386
285
280
236
314
391
332
289
257
279
327
354
320
329
230
319
351
276
348
318
322
233
302
270
388
303
291
410
269
310
261
421
349
316
341
295
326
329
290
332
324
363
303
411
349
302
367
311
381
316
417
367
277
350
284
299
333
306
415
336
330
287
287
250
331
281
376
378
321
301
262
385
313
365
310
310
314
313
322
346
350
350
310
304
392
345
339
312
302
242
282
275
348
308
342
317
196
410
225
238
301
229
263
306
310
341
369
305
390
225
305
347
251
297
259
323
307
366
169
269
351
227
235
347
339
283
314
291
268
334
287
383
302
370
397
311
307
312
361
378
297
368
357
331
361
326
389
323
266
221
373
416
381
303
341
253
278
298
267
368
362
307
329
256
295
204
312
311
360
379
397
269
368
307
267
266
264
283
379
337
351
326
261
329
357
360
374
337
353
356
313
360
273
309
295
314
291
392
276
337
334
368
379
334
365
335
228
281
377
324
353
322
300
330
271
330
283
334
381
354
284
316
313
275
259
256
332
315
327
301
280
314
339
326
316
342
315
339
353
310
286
259
293
319
397
323
318
329
275
311
277
367
320
307
311
356
242
359
348
282
313
379
290
349
314
336
279
243
375
298
397
259
281
298
257
299
343
365
225
242
277
362
299
299
219
249
256
319
267
251
330
240
276
302
324
366
254
253
379
363
347
316
349
366
354
324
362
314
308
242
336
407
402
344
359
300
305
320
291
306
336
376
337
360
200
268
296
303
237
284
367
231
299
324
343
308
362
309
338
306
257
290
318
298
339
339
245
344
370
389
378
384
263
331
295
364
313
255
365
249
282
248
264
326
348
322
318
297
353
322
288
308
336
326
277
362
335
313
408
342
404
281
322
316
323
384
317
332
264
236
300
313
360
412
368
247
347
394
318
302
333
341
355
350
296
332
223
342
369
354
385
277
349
302
363
284
409
371
284
283
366
338
350
325
339
324
281
310
364
302
345
344
357
270
335
423
291
302
322
245
279
236
306
335
333
373
387
388
288
279
265
272
344
302
274
331
283
343
359
260
329
315
234
371
320
364
338
335
262
307
359
336
249
337
244
247
278
249
239
381
347
377
245
255
289
294
338
247
346
281
396
232
326
244
272
293
340
244
286
334
289
311
318
295
389
379
280
284
300
293
356
363
285
357
319
307
361
325
342
342
337
356
330
268
365
394
348
324
392
276
437
321
350
255
250
301
347
265
284
399
285
343
328
322
436
251
334
300
372
301
354
364
304
348
349
347
304
268
279
361
272
306
314
370
319
285
250
307
378
247
343
289
260
255
329
351
321
209
361
216
272
329
281
305
365
283
389
291
311
236
264
295
385
313
333
338
241
280
271
338
290
252
311
381
368
395
365
334
315
301
330
313
336
250
318
249
321
400
268
370
339
347
272
383
273
292
307
337
277
274
359
270
268
314
270
308
368
337
319
340
357
324
308
300
310
314
252
355
328
324
357
328
305
357
341
279
320
378
338
361
328
303
346
391
320
350
287
317
256
352
339
390
338
360
285
295
265
284
312
314
239
285
364
367
333
310
337
332
342
342
319
340
377
410
269
198
345
252
240
373
275
350
293
319
289
300
390
285
261
293
266
314
277
264
276
294
372
313
376
340
281
260
318
368
382
271
404
296
221
300
334
291
361
350
269
303
402
369
287
334
343
274
322
324
325
342
286
390
335
273
340
272
347
335
349
265
344
348
282
326
343
348
317
353
298
345
307
370
385
277
333
309
339
314
271
304
243
274
335
324
380
298
297
319
353
321
432
297
332
323
293
304
359
390
429
340
261
359
366
327
305
332
306
345
346
279
319
364
397
314
279
301
292
301
356
326
336
233
345
380
335
252
274
349
308
337
184
329
256
352
278
270
227
247
294
361
295
304
333
280
348
325
262
337
323
253
277
284
302
214
334
310
433
394
283
407
327
361
228
257
333
356
270
321
391
333
421
324
266
336
315
256
390
329
293
255
295
339
327
308
338
221
323
292
297
396
356
321
268
281
283
330
293
381
358
352
344
368
335
300
313
261
339
355
398
257
346
320
298
333
426
265
330
264
356
382
306
326
316
252
261
285
332
307
389
361
415
281
214
308
342
265
318
419
346
258
283
376
321
243
261
350
296
313
320
373
286
399
290
292
323
384
371
251
319
278
303
297
242
236
235
348
386
323
397
381
252
303
290
297
349
332
317
335
296
336
260
340
331
328
297
251
341
361
245
277
299
292
304
267
276
381
301
290
314
302
308
347
254
321
339
337
218
323
348
354
234
323
229
347
308
317
409
351
366
320
264
329
363
330
308
265
219
362
250
360
297
281
332
317
312
389
377
366
307
303
367
295
260
326
419
385
372
365
336
290
267
217
276
314
335
305
237
297
354
230
352
334
304
288
418
300
318
348
254
282
225
370
375
306
347
364
324
327
323
286
316
299
274
335
331
302
342
344
306
256
306
342
212
318
341
389
374
335
354
294
263
314
313
256
342
340
342
228
320
270
298
331
312
331
247
290
379
323
375
332
284
264
297
265
352
362
280
285
277
318
365
373
286
289
264
300
246
343
361
372
315
303
322
306
311
323
330
317
317
258
355
296
375
291
289
344
276
329
394
360
221
331
336
231
344
312
350
286
345
292
337
297
326
354
270
269
303
311
383
293
310
357
363
382
306
283
298
261
236
285
346
280
397
305
333
311
348
173
430
384
271
288
310
310
288
243
278
323
305
331
288
364
236
293
300
352
376
277
364
411
304
373
340
398
342
297
336
364
284
284
247
359
301
228
337
340
342
429
280
268
362
356
276
260
338
357
285
314
271
303
367
285
368
309
325
318
251
271
364
308
257
347
287
197
334
279
289
308
278
263
279
259
255
299
307
251
408
353
309
336
250
295
340
258
318
327
288
281
327
282
331
295
273
341
338
323
354
310
334
338
314
313
344
300
295
200
318
394
336
330
356
375
302
310
282
302
360
355
286
392
383
284
322
347
380
384
307
318
350
305
370
342
258
302
350
219
271
309
272
403
343
352
323
308
354
287
326
316
329
219
348
370
267
358
375
352
341
243
303
238
340
300
403
361
307
347
293
327
395
285
312
295
276
391
396
313
338
338
226
333
352
272
286
272
229
269
291
294
303
276
294
341
372
310
369
285
381
206
318
328
347
318
323
340
424
276
349
310
195
316
281
326
214
272
289
329
288
183
313
236
321
310
396
279
298
379
404
254
366
380
372
292
280
336
260
302
364
232
296
388
287
296
347
377
359
374
360
324
298
328
357
245
269
379
292
367
351
285
226
304
259
302
241
310
390
341
313
249
352
319
316
328
264
348
357
393
391
325
263
295
255
300
357
299
302
315
246
309
363
312
292
298
392
342
372
266
343
319
300
378
249
360
320
245
310
289
315
318
383
293
268
361
283
334
331
382
346
320
302
386
326
301
395
245
330
311
293
332
409
303
345
391
325
328
239
323
300
255
289
392
313
335
363
329
224
395
320
300
403
297
303
351
365
310
371
352
251
310
200
394
269
302
289
321
328
292
339
219
291
328
287
311
358
283
283
331
377
303
305
317
358
357
337
335
290
308
345
296
335
382
342
381
367
252
308
279
334
363
314
309
335
265
267
357
309
334
345
331
323
303
364
371
300
327
304
326
364
341
268
399
340
311
327
423
348
271
263
307
343
341
202
292
309
248
388
306
392
325
416
380
328
286
354
392
330
387
227
270
194
358
388
372
386
312
393
329
253
216
327
350
350
355
282
307
219
327
321
304
375
375
320
316
326
390
346
287
377
334
276
338
372
377
406
338
258
340
295
266
338
308
316
309
376
300
259
303
334
316
340
274
288
324
293
350
340
335
319
317
310
248
304
329
308
278
251
295
349
330
287
314
374
323
294
418
348
278
265
316
382
362
325
348
320
260
189
283
270
289
263
342
319
303
310
323
258
338
309
340
282
372
292
213
380
278
292
358
424
384
256
292
366
254
248
404
292
299
230
257
272
257
341
306
279
413
348
284
283
331
346
308
312
298
323
337
373
352
377
338
342
304
286
356
339
253
274
313
288
412
208
240
357
394
269
319
284
351
357
286
312
291
332
293
317
272
344
222
318
366
344
309
300
270
298
266
301
385
263
413
291
290
304
310
404
383
367
305
295
335
368
270
284
385
348
387
245
298
201
364
318
352
397
368
371
364
288
314
271
293
325
261
340
334
311
317
273
282
291
303
298
267
315
272
349
294
285
322
268
270
354
222
374
367
333
297
316
295
383
372
386
336
367
347
299
348
314
276
418
281
397
272
304
312
264
312
316
373
260
318
296
356
278
350
315
330
378
282
244
344
346
346
391
349
279
361
331
381
259
360
264
337
365
442
347
312
370
256
286
388
367
321
328
338
318
325
378
306
324
382
290
326
375
366
286
289
334
363
342
338
364
199
332
342
275
308
344
388
294
303
309
236
338
305
276
339
334
382
350
267
337
282
343
297
364
365
324
321
245
282
456
281
325
234
315
309
273
363
394
296
337
334
298
374
301
264
213
301
328
321
324
319
240
226
240
354
293
304
270
330
250
308
286
356
367
236
254
367
305
325
289
278
348
307
355
274
351
302
373
276
373
372
293
318
321
350
313
314
259
282
323
245
353
387
260
344
350
303
377
284
349
315
291
306
337
320
357
321
307
333
273
245
356
316
292
307
306
242
420
348
406
303
354
308
298
230
247
374
371
355
320
276
400
235
304
395
381
375
404
360
261
319
336
284
321
270
311
292
355
306
285
308
341
269
241
340
369
395
312
303
306
288
390
346
324
383
290
293
323
349
331
301
277
284
279
319
286
400
289
280
315
311
245
268
253
360
376
368
310
280
297
323
215
301
309
368
303
268
329
396
226
287
351
333
395
301
381
279
322
348
268
303
319
264
341
246
279
316
305
308
347
343
302
295
322
267
389
351
379
302
367
285
371
356
364
300
364
236
387
342
308
401
397
304
234
374
369
324
251
368
293
327
314
331
271
311
238
229
344
354
197
233
354
341
347
352
318
336
419
363
276
236
282
387
311
309
378
344
354
239
380
373
357
279
333
354
327
355
262
164
344
273
368
360
282
356
274
326
293
325
254
349
373
244
320
321
355
376
341
301
319
314
288
337
279
319
396
314
299
387
367
310
272
356
370
272
302
313
380
395
334
297
334
296
369
400
321
282
297
224
359
355
312
287
224
352
425
270
281
265
287
355
348
345
347
344
288
335
359
320
287
352
396
354
272
297
320
268
326
364
228
313
421
208
343
316
355
306
233
320
202
362
344
334
339
354
403
243
321
351
307
363
366
336
270
322
364
397
358
381
287
299
355
335
331
270
361
349
413
326
329
368
294
368
316
343
330
394
254
398
278
276
370
317
291
295
284
318
333
256
341
356
334
338
350
304
295
343
337
292
380
303
378
390
350
258
345
298
274
300
319
291
367
355
267
378
309
250
361
246
326
304
337
329
264
265
285
360
323
286
336
369
307
264
307
279
378
311
384
331
307
319
260
419
327
259
308
363
251
286
323
316
347
240
343
317
329
357
326
348
342
320
388
388
275
248
292
248
270
262
398
279
323
272
275
343
353
229
277
362
302
266
395
343
268
350
273
313
305
314
308
338
222
343
277
340
426
334
261
369
291
244
270
261
290
337
320
278
332
208
305
296
295
362
360
370
291
346
369
333
219
344
290
332
286
327
335
292
258
264
378
299
311
322
317
350
306
273
359
285
358
340
268
339
259
294
331
283
343
272
368
298
386
312
335
304
312
321
334
355
351
283
326
337
306
283
382
350
332
277
324
322
411
353
300
273
259
334
332
237
272
319
307
305
339
314
360
254
264
351
285
325
309
319
332
299
396
246
294
294
294
300
263
301
318
287
377
286
313
287
425
399
305
254
299
309
383
289
298
238
308
273
314
350
340
279
339
241
289
275
272
260
305
352
319
322
260
289
331
326
311
406
233
338
325
230
284
382
314
324
387
309
273
316
289
229
340
322
228
233
310
306
346
412
332
288
299
365
335
370
313
223
320
338
341
335
301
308
293
315
261
299
307
323
281
343
359
348
303
308
367
307
279
361
341
229
386
276
391
360
307
346
334
319
333
365
292
401
359
250
236
301
300
281
283
352
268
283
256
245
325
217
288
254
298
361
298
211
329
248
282
313
244
292
295
338
297
295
315
253
322
300
340
287
318
367
287
297
316
250
266
307
283
326
305
309
294
312
261
289
293
362
235
293
201
280
300
277
340
283
364
309
333
300
257
336
357
254
280
281
270
392
310
386
341
343
359
322
406
291
284
280
264
284
328
249
353
317
254
298
245
336
310
340
318
291
374
338
247
309
411
310
328
379
316
311
372
408
264
323
331
289
245
381
344
249
285
335
345
260
364
358
283
327
340
328
308
194
315
287
335
319
272
285
335
403
277
347
232
233
326
242
312
344
336
283
227
329
308
258
373
223
287
324
302
354
319
375
381
276
246
322
274
342
307
303
412
364
192
289
276
338
279
353
295
359
323
349
244
299
315
290
254
245
357
256
333
339
369
293
347
356
349
289
324
293
315
277
277
314
310
264
379
358
344
330
238
312
341
261
294
358
311
327
305
292
302
264
324
297
398
374
259
300
316
327
361
275
262
389
284
341
363
306
352
348
286
395
343
343
188
349
284
301
297
402
339
307
293
275
354
288
203
212
311
360
367
323
381
341
344
318
260
276
329
358
315
306
209
327
336
346
316
291
384
197
301
337
262
259
309
203
246
308
263
351
299
278
308
276
257
333
263
255
319
357
323
334
319
301
241
346
364
256
326
303
353
316
311
324
348
369
247
276
380
307
334
415
260
305
322
253
293
296
268
398
279
319
308
332
337
277
333
310
280
292
290
318
322
357
335
349
303
323
383
319
359
272
335
334
386
363
334
222
270
303
366
305
411
287
352
344
356
324
323
274
338
314
290
238
265
259
261
298
375
311
264
249
325
425
305
315
332
342
315
340
323
304
338
369
349
306
334
198
239
314
290
253
298
349
345
321
286
305
288
260
325
354
264
318
402
320
273
294
263
284
309
287
277
294
306
270
331
264
340
300
375
291
382
271
270
319
313
270
199
294
403
403
424
310
290
246
319
305
292
361
298
260
300
314
364
263
352
322
401
325
388
382
318
319
314
207
371
375
322
344
264
318
312
325
334
356
330
356
326
256
304
287
223
415
235
290
318
340
308
388
287
288
302
284
310
364
282
364
332
333
309
286
289
335
385
338
293
306
314
297
399
335
368
341
370
296
300
360
275
302
375
333
354
272
281
303
249
264
295
305
369
353
302
369
372
373
361
341
285
252
375
353
240
323
325
272
325
253
353
367
291
364
242
355
344
249
312
366
322
322
296
248
414
344
281
333
357
391
334
359
347
207
304
249
284
322
255
306
308
323
340
365
299
310
298
382
274
314
324
355
307
304
300
280
345
280
299
250
275
348
338
301
273
352
343
214
348
299
321
378
317
315
330
294
377
359
362
311
308
367
274
334
333
310
314
303
272
301
332
281
357
376
297
311
325
286
313
343
280
342
274
273
276
316
272
293
352
267
302
338
294
352
266
362
366
233
315
344
260
303
325
327
323
330
319
333
309
259
306
256
330
338
353
266
456
268
329
341
399
358
257
317
317
299
316
320
283
343
377
311
280
315
261
394
370
303
312
295
287
325
369
305
311
335
407
304
318
353
341
320
312
322
361
332
386
296
345
333
290
224
273
373
294
325
246
352
309
290
290
305
359
243
257
343
313
299
334
326
287
393
281
285
325
326
388
330
301
267
272
272
348
331
318
365
267
331
350
305
330
325
366
307
313
247
346
293
295
366
315
214
299
346
318
270
380
264
329
331
327
335
360
362
354
276
364
310
356
296
293
309
321
236
315
348
334
318
262
319
320
273
330
273
327
314
352
263
372
430
265
269
244
276
242
241
407
276
255
368
313
367
292
258
343
324
348
304
364
415
268
329
329
372
366
284
370
351
318
385
307
250
330
305
330
365
329
256
292
302
310
339
376
252
336
248
348
306
358
290
272
349
277
256
379
303
260
296
253
343
315
431
249
365
351
355
260
302
364
207
314
403
325
289
362
300
281
237
298
338
257
330
306
260
350
273
348
337
244
273
374
297
394
351
342
302
308
352
323
329
254
264
257
326
337
250
362
339
294
354
366
312
267
326
355
244
345
415
279
321
322
318
257
282
360
318
305
285
330
300
314
375
193
384
266
278
332
356
248
404
351
252
309
256
268
307
390
257
330
321
360
280
352
318
409
317
332
284
255
392
334
297
328
305
331
277
317
406
290
297
311
353
321
244
271
289
289
276
333
364
323
347
278
325
245
404
370
344
288
333
346
364
324
332
233
291
312
359
385
307
321
343
377
351
351
356
357
214
377
247
295
392
277
311
337
301
343
246
298
330
352
348
357
331
270
256
336
319
283
207
316
276
346
291
315
339
289
342
295
292
381
328
326
338
370
365
317
308
303
281
307
281
316
360
239
278
309
322
257
310
340
378
302
289
269
311
305
380
297
284
258
321
259
286
254
378
318
288
267
305
269
408
273
389
328
300
265
293
384
298
280
279
342
265
228
306
313
374
234
289
373
259
272
374
305
322
379
265
321
309
264
359
316
363
231
347
331
306
354
380
381
371
342
378
295
252
361
335
376
284
329
302
363
307
255
323
352
359
397
309
320
338
304
341
284
288
282
379
324
329
286
406
380
357
308
316
352
292
367
308
249
341
292
353
380
182
295
330
343
293
355
334
282
301
356
302
334
318
326
348
241
305
266
408
326
293
309
346
425
234
326
283
385
384
195
256
284
259
286
313
256
289
262
398
343
328
189
333
381
312
300
361
429
324
384
273
283
335
281
343
337
391
334
297
303
326
325
365
305
249
277
328
285
294
356
298
300
349
295
350
284
271
232
340
365
288
332
365
316
305
287
339
322
262
334
255
352
273
340
208
276
251
323
330
315
262
379
304
370
295
350
309
287
362
346
316
315
259
417
371
363
366
271
377
352
335
277
297
339
311
316
301
319
348
385
325
344
326
304
285
296
376
299
393
363
362
323
312
293
350
269
319
297
207
319
287
355
327
276
318
231
278
357
308
333
330
256
297
265
282
284
278
303
304
327
245
308
305
343
362
343
377
326
319
240
332
338
314
255
363
301
330
327
341
318
321
382
336
355
331
358
300
307
318
253
353
337
330
334
355
334
302
341
316
307
336
340
305
237
328
344
255
351
381
285
305
231
325
286
361
220
317
287
246
353
304
325
274
325
283
280
294
320
343
313
272
314
350
327
335
356
280
366
250
326
277
213
323
360
324
210
296
369
380
338
318
306
340
322
273
299
315
279
367
377
417
297
408
343
246
261
380
374
327
353
222
281
262
355
371
257
340
327
312
338
324
340
319
316
259
308
231
349
276
305
264
309
366
381
261
308
361
285
359
328
368
367
307
295
365
319
278
331
339
286
303
279
283
326
301
352
286
346
343
405
348
354
328
328
296
301
330
294
274
319
331
282
224
308
213
367
303
404
350
331
351
276
334
340
284
244
337
222
347
354
222
350
355
277
311
365
291
229
355
279
341
290
371
368
299
373
284
282
301
356
242
351
286
317
353
316
281
399
275
337
284
365
248
346
369
251
293
356
230
281
325
348
343
339
351
313
298
389
306
350
315
258
321
323
322
274
361
324
295
335
299
310
351
341
236
325
337
366
312
301
263
304
375
300
265
267
329
330
340
351
315
338
353
285
327
262
313
258
371
239
260
366
336
331
333
311
463
335
312
255
281
264
288
284
359
263
315
285
308
287
252
319
254
335
308
307
286
341
357
249
267
274
298
302
311
367
345
264
258
276
274
331
376
292
333
327
309
347
341
340
394
271
287
305
324
367
324
368
224
304
357
389
273
366
265
291
276
326
236
270
313
303
324
361
302
300
260
227
337
341
328
326
327
286
319
352
349
325
273
252
356
321
337
341
307
198
299
335
282
298
313
344
289
270
359
360
344
348
275
355
368
317
289
314
330
279
284
383
370
381
343
252
290
289
304
303
315
232
362
302
275
290
331
315
378
288
309
299
226
300
278
407
316
327
335
265
362
336
340
378
271
287
320
364
300
291
361
383
295
320
275
187
300
322
281
337
300
393
351
391
252
370
213
312
273
235
349
314
353
267
414
292
320
240
313
302
266
371
332
323
359
256
313
298
281
354
301
252
279
337
272
321
266
326
357
293
321
310
308
362
330
235
266
312
332
238
282
317
300
256
332
312
293
404
266
284
305
320
329
345
374
293
340
318
311
260
279
436
337
325
345
359
411
297
305
263
347
279
276
321
301
321
228
293
345
282
356
277
262
203
355
297
412
281
301
374
257
324
408
392
265
428
340
321
273
313
292
337
320
255
340
253
280
238
237
232
343
343
327
296
326
330
217
371
384
289
341
275
284
345
375
292
378
309
408
346
369
364
336
347
303
301
354
353
279
279
234
355
282
318
262
240
356
363
316
291
317
306
260
306
269
308
326
360
215
284
288
303
321
340
327
343
273
284
296
320
322
259
399
259
337
278
304
261
274
241
271
366
269
306
341
272
273
252
362
352
298
400
382
191
325
388
227
194
279
329
340
245
350
356
345
328
391
286
289
263
253
336
288
351
319
298
343
320
310
273
283
285
275
305
257
335
358
311
295
312
364
288
392
264
360
290
334
276
285
278
260
272
312
187
268
286
315
333
291
263
325
389
338
275
280
267
286
298
301
260
221
268
405
237
365
339
266
295
286
300
333
283
342
226
330
392
306
314
323
329
312
318
331
233
290
302
291
382
353
330
276
335
377
347
305
322
255
306
240
338
354
273
352
329
252
280
326
371
274
296
263
277
317
367
266
324
330
251
352
338
297
242
358
299
238
227
300
291
302
240
307
374
328
349
316
383
245
318
350
405
322
249
265
337
307
338
333
301
294
329
311
363
287
333
288
309
209
285
288
277
342
388
318
246
224
350
330
241
299
348
361
296
315
375
329
288
271
308
382
346
362
324
371
268
344
322
346
349
350
229
237
274
394
291
339
368
288
397
374
308
331
406
316
326
328
256
307
302
363
333
235
392
346
305
301
320
283
294
308
314
355
355
343
245
275
388
343
238
292
278
381
330
231
283
346
337
327
428
384
347
293
314
357
339
385
353
307
392
274
337
332
323
345
249
348
296
318
313
321
349
276
311
392
285
255
361
274
309
280
282
394
353
263
317
352
322
321
309
278
440
323
256
333
349
333
284
330
347
203
352
315
308
283
270
343
317
336
253
301
302
173
276
288
322
283
370
289
364
389
329
339
332
303
405
298
339
391
289
343
252
317
301
322
255
280
364
344
383
359
337
228
261
399
299
372
282
264
262
260
272
336
375
237
301
373
305
348
335
363
359
397
397
278
344
329
286
289
356
372
199
411
272
333
304
402
325
333
402
234
339
277
350
355
327
246
341
349
341
315
330
274
342
348
335
324
223
224
264
353
308
323
263
265
321
290
253
275
307
185
291
318
326
330
312
290
335
365
375
360
268
206
388
263
374
307
358
258
302
307
205
262
286
239
291
246
385
331
274
302
281
260
347
297
326
351
379
328
329
275
309
279
346
271
279
300
344
307
376
257
374
378
323
233
271
314
287
292
359
374
337
353
378
318
333
349
269
356
374
343
246
285
288
318
351
236
329
312
394
335
429
351
289
340
361
337
288
327
297
332
361
315
264
316
300
272
366
306
272
274
347
342
359
311
295
366
230
387
337
327
389
364
254
328
357
295
291
274
261
348
297
261
325
299
348
295
396
282
276
354
298
309
299
328
237
212
352
287
385
242
322
318
256
353
408
334
260
273
251
358
320
358
337
307
275
348
275
325
329
315
373
345
252
326
343
317
217
268
318
394
353
380
341
401
304
299
258
350
310
289
259
229
306
286
288
180
343
299
292
292
343
280
321
265
319
365
334
332
345
335
322
293
347
271
308
235
306
373
316
301
362
265
337
336
303
363
342
348
257
397
322
287
260
285
247
219
371
301
366
239
281
346
308
308
352
385
270
329
250
359
319
308
296
235
296
333
325
384
409
358
381
286
334
335
288
319
354
311
358
223
369
365
281
359
282
316
346
281
351
389
332
325
287
279
362
308
279
301
230
366
309
303
342
350
344
324
308
324
292
421
383
343
286
346
365
397
238
350
306
372
247
305
353
335
315
350
242
343
260
348
371
348
304
318
325
330
332
341
281
288
337
342
285
357
353
305
323
366
302
268
287
227
312
314
178
260
316
293
371
305
384
318
322
231
371
328
261
295
334
287
342
312
393
359
318
314
268
289
276
309
270
350
235
290
341
291
226
324
268
327
376
320
352
344
318
284
311
317
322
213
335
289
285
264
312
319
335
304
322
356
305
301
323
291
298
322
281
244
351
347
378
303
318
217
345
275
276
286
311
351
301
293
291
303
252
301
337
271
356
327
306
328
335
368
284
229
274
346
300
349
317
387
298
352
325
275
384
282
274
331
256
240
315
332
232
379
319
281
295
389
318
277
247
277
375
201
401
311
242
344
375
278
358
303
350
339
263
295
299
388
277
324
366
301
295
288
323
277
260
374
281
339
359
381
277
359
296
362
332
320
277
401
341
396
337
350
246
266
325
326
274
310
224
351
247
295
332
363
357
345
310
282
278
238
305
312
311
303
318
347
324
290
317
332
356
289
386
416
220
316
367
353
268
383
317
351
320
300
371
334
328
308
366
309
296
325
322
333
278
312
354
366
306
422
340
379
334
352
203
389
246
392
305
298
363
328
270
362
290
270
361
280
330
358
315
301
292
404
320
398
252
285
298
333
251
352
325
388
359
283
394
297
344
344
371
297
278
290
358
251
314
326
339
226
337
321
314
358
353
290
402
362
352
280
321
292
416
318
291
329
274
291
333
367
306
327
293
222
323
328
301
331
256
354
288
264
334
274
314
321
231
267
287
333
307
391
322
321
232
394
263
299
328
339
362
325
252
221
353
336
385
283
320
345
294
339
327
289
296
376
307
256
414
373
323
299
293
340
297
269
347
378
350
258
312
302
283
276
398
300
248
262
391
213
250
341
336
305
232
322
398
319
284
258
253
304
295
305
323
332
307
280
342
292
428
283
320
340
282
316
313
338
312
264
247
277
357
269
326
299
306
339
310
366
315
297
247
269
217
299
324
290
375
318
312
324
282
322
308
321
232
284
333
243
287
296
282
394
316
342
280
311
262
361
336
332
358
324
289
261
297
298
299
275
317
287
233
374
231
345
317
297
273
313
287
333
303
291
256
288
348
308
325
300
337
331
381
336
309
316
324
319
264
300
295
241
230
281
320
258
416
315
288
317
330
233
342
349
309
275
201
239
310
332
279
284
283
262
283
195
286
273
325
276
306
293
277
347
308
291
302
261
351
380
369
342
298
335
319
307
360
377
331
326
356
273
421
361
297
301
362
388
218
380
327
293
275
274
317
309
285
290
326
347
343
279
295
351
294
357
374
308
326
341
288
357
332
251
302
229
348
324
314
351
272
263
265
388
353
335
315
300
337
297
315
332
402
353
273
336
303
385
327
311
302
306
291
348
286
361
357
380
245
294
299
407
234
276
343
331
323
330
272
294
316
317
361
298
247
354
312
232
355
312
340
313
338
349
416
328
266
366
330
259
301
338
375
320
317
313
312
266
345
277
253
358
247
354
294
318
370
238
432
239
353
311
276
303
392
318
281
232
324
268
294
310
299
379
348
277
342
336
317
220
351
201
293
356
296
292
288
303
336
237
392
363
335
287
261
252
378
283
281
317
222
279
329
320
375
334
346
288
287
355
262
366
293
263
353
267
328
318
255
330
356
344
315
342
303
212
251
172
281
241
390
225
310
352
276
234
362
385
285
294
339
373
286
233
339
298
272
282
319
237
274
357
287
331
305
243
384
321
293
351
354
310
324
270
277
332
293
431
255
327
308
278
320
385
278
338
282
317
387
339
341
346
243
278
332
271
343
230
278
273
376
363
315
358
342
296
281
307
393
260
359
376
319
348
359
379
362
329
300
361
276
295
276
335
354
327
308
328
276
407
312
233
263
269
311
342
272
279
273
279
431
381
316
305
277
246
293
369
360
386
374
312
345
245
385
332
316
316
283
335
282
279
337
350
389
315
344
354
355
344
249
259
261
358
270
318
304
310
366
420
307
292
395
355
370
293
338
286
284
359
367
249
303
327
348
346
275
221
235
257
334
294
214
360
357
320
339
293
289
326
283
332
330
247
239
361
262
368
346
267
374
299
321
262
284
256
266
311
289
349
341
325
291
214
249
335
319
275
378
360
282
315
364
423
262
288
319
326
308
264
389
304
279
362
342
268
309
294
317
374
242
384
366
325
323
259
335
306
336
339
278
283
334
345
359
357
300
337
308
365
324
373
332
280
315
356
306
335
367
267
249
330
341
358
347
321
339
258
291
372
240
257
424
324
358
396
233
291
353
318
343
337
354
275
410
295
274
284
310
301
311
275
234
322
313
329
270
394
336
265
256
299
321
374
344
442
261
314
260
298
271
309
401
317
239
283
315
337
386
270
348
261
311
310
283
309
289
330
269
338
260
310
322
296
303
252
279
365
281
402
290
308
289
261
361
275
274
275
347
205
330
280
353
299
375
363
309
383
328
305
368
301
308
248
328
273
313
329
238
279
355
316
318
319
323
280
305
346
339
392
296
296
313
275
282
356
267
298
317
279
377
342
349
245
300
390
334
305
251
319
370
227
300
366
334
347
259
368
238
302
378
316
313
317
305
245
326
285
316
330
362
286
286
263
292
268
334
312
280
242
416
312
345
347
371
328
354
274
293
236
332
324
276
295
192
334
302
327
311
281
305
342
409
342
400
248
243
341
362
310
353
320
313
354
310
392
247
348
378
333
379
337
299
424
270
261
178
333
224
315
357
350
325
316
373
276
354
298
255
302
415
303
333
306
326
346
300
354
340
287
326
300
339
345
263
343
353
366
348
348
281
281
304
420
327
327
297
331
310
227
285
323
294
317
358
309
365
296
328
327
330
347
238
304
322
365
313
360
383
382
316
272
362
257
319
328
286
271
300
415
272
269
361
232
331
290
330
358
415
301
280
247
321
280
324
356
371
250
299
380
348
357
286
289
354
295
274
204
258
276
315
313
352
354
341
352
398
228
361
325
308
250
330
355
268
188
304
319
364
223
301
345
248
348
247
309
275
392
432
330
324
333
321
318
285
282
285
310
356
314
317
312
275
320
342
351
309
255
282
391
329
197
245
373
332
366
315
326
271
280
357
379
306
153
303
352
267
357
336
303
341
239
287
308
396
337
339
331
297
389
354
311
430
353
344
353
166
312
342
334
330
342
412
310
344
363
257
395
272
357
317
309
284
349
358
366
296
309
349
320
350
289
291
306
303
301
351
298
295
368
358
296
363
283
314
243
378
280
258
272
324
285
228
271
347
379
411
340
285
332
380
331
376
306
345
308
260
372
337
274
342
380
318
215
337
359
381
239
322
251
368
316
358
330
343
338
327
253
304
360
400
313
204
288
369
348
400
253
307
347
292
334
282
311
412
278
314
321
328
287
369
348
262
287
321
319
246
295
275
262
374
261
345
244
274
368
291
374
283
366
319
280
264
295
270
258
323
317
369
311
261
346
377
389
295
348
315
244
372
321
245
352
310
223
287
294
336
317
295
301
369
324
357
319
389
310
311
284
267
319
315
255
352
332
347
294
237
250
342
358
265
343
358
341
286
347
311
299
226
431
344
313
303
325
314
320
360
290
294
389
255
309
308
335
291
331
310
287
228
284
345
242
385
366
257
265
400
333
317
371
300
292
228
274
264
353
180
342
245
310
344
298
334
316
352
358
317
364
295
301
221
309
332
317
312
290
276
384
202
372
335
371
273
341
357
276
278
344
303
372
260
230
309
292
388
354
337
321
307
293
296
243
366
344
358
307
264
341
350
301
321
278
353
302
258
290
289
284
378
319
308
382
383
283
349
379
317
334
335
318
328
392
283
264
341
340
219
320
331
224
288
274
340
290
390
257
365
359
424
357
208
301
292
319
387
375
253
266
320
376
370
362
322
298
358
325
316
296
399
320
310
315
277
359
375
338
292
314
284
353
288
299
305
357
343
405
200
308
306
352
364
417
261
335
328
200
327
446
324
322
346
292
302
367
353
342
373
365
377
336
391
310
262
272
301
325
280
226
367
393
291
264
351
383
313
296
288
298
336
321
325
341
334
309
256
260
262
317
329
329
324
329
365
263
208
365
362
325
308
303
315
328
232
306
289
254
273
313
347
351
305
356
317
287
248
303
293
294
341
370
348
377
283
262
335
299
332
256
266
284
272
319
269
228
315
379
339
388
288
279
265
400
271
408
340
314
336
348
355
293
420
318
213
369
330
242
340
289
267
256
320
315
365
305
272
319
268
270
344
304
306
222
288
259
353
289
329
351
363
337
292
344
221
356
297
271
302
367
266
320
289
299
381
303
293
304
374
282
225
351
308
331
384
376
328
283
306
383
289
304
268
261
290
327
351
314
332
326
326
331
241
351
341
374
215
282
247
350
279
303
254
308
296
198
318
249
372
307
291
294
305
368
275
359
303
218
345
340
301
312
341
237
335
323
372
276
403
310
332
351
325
332
251
338
410
353
261
348
355
291
342
289
341
358
374
306
342
382
266
315
336
316
275
324
330
367
309
274
421
326
334
346
298
282
340
332
276
296
362
287
350
421
299
309
242
257
293
360
319
262
346
338
401
358
266
206
305
309
318
341
281
294
426
325
354
351
310
291
364
298
231
267
338
329
346
389
281
287
377
363
371
291
312
304
392
273
310
329
330
322
280
374
336
353
360
247
196
314
307
352
297
302
288
327
354
402
295
285
283
281
378
321
361
326
295
343
286
317
282
318
307
301
332
297
371
242
289
245
347
254
337
385
274
234
324
265
316
350
357
386
288
330
274
303
215
318
299
308
294
348
229
291
346
350
282
349
306
329
350
329
314
261
243
330
362
371
243
407
314
306
311
384
269
346
306
372
277
351
253
330
338
333
332
348
295
318
292
401
365
332
358
369
312
154
341
293
283
370
351
290
326
299
283
223
339
246
305
301
274
288
369
300
313
327
422
358
394
315
352
329
296
339
382
348
300
347
288
362
352
328
395
292
291
280
209
221
275
209
298
347
291
331
304
272
303
280
302
314
362
367
368
240
297
275
272
332
251
271
227
343
282
398
313
265
293
314
326
322
166
298
319
313
221
342
276
310
340
318
412
289
290
251
268
335
160
291
315
376
335
326
301
227
354
300
289
224
270
374
372
359
283
293
344
304
251
290
311
338
301
227
287
310
331
311
324
336
344
316
253
314
377
299
265
306
376
387
298
299
364
330
303
367
251
322
284
246
283
283
319
320
294
302
298
340
344
308
255
338
300
388
252
280
320
258
333
299
301
307
334
316
296
287
350
367
326
339
363
272
223
353
319
320
332
284
281
293
209
298
341
299
269
294
363
308
331
330
277
280
354
322
216
311
319
325
299
345
391
312
426
372
284
278
332
327
247
421
317
324
290
359
319
303
335
293
342
325
386
295
283
296
388
293
271
355
310
336
402
269
287
375
301
308
388
253
344
283
297
186
368
300
245
322
229
351
365
332
306
367
326
439
324
291
345
209
357
367
295
375
287
247
325
362
360
306
344
341
361
339
299
304
296
349
312
283
313
320
265
322
389
274
351
330
313
337
352
384
262
342
346
308
314
248
303
251
379
285
303
390
336
355
299
258
286
358
328
423
314
393
296
332
344
316
333
251
403
250
278
375
318
339
307
323
231
282
326
381
255
220
283
293
268
342
369
314
213
268
267
335
272
268
317
303
288
312
306
290
293
276
335
366
310
353
331
234
242
425
337
356
265
342
316
369
279
298
351
299
360
247
304
267
418
377
317
300
372
340
349
306
312
353
325
303
317
262
349
348
240
254
292
330
341
260
223
305
288
287
283
325
322
302
341
323
317
345
270
319
334
360
277
299
300
271
314
362
291
272
244
304
247
293
312
270
340
272
241
341
315
372
324
338
316
366
322
302
311
278
381
330
353
272
364
278
331
328
371
298
321
328
242
357
295
330
299
314
336
225
323
297
252
369
328
245
310
414
408
306
283
296
337
315
329
309
325
286
273
281
349
315
372
293
382
307
292
341
272
317
336
405
305
289
282
309
355
245
363
316
360
256
330
356
307
321
291
308
248
337
316
334
335
366
278
220
321
333
338
352
292
316
260
310
336
379
299
269
335
195
307
265
293
326
317
275
361
367
340
338
266
301
307
272
322
305
320
272
313
308
316
370
297
326
310
352
318
383
303
353
311
288
283
259
351
343
327
325
313
329
308
256
268
335
314
384
293
273
271
296
385
306
219
260
279
177
298
316
219
327
257
338
320
344
241
340
345
324
385
344
254
353
381
236
296
362
249
280
304
324
314
278
283
326
416
366
354
299
265
265
368
289
333
293
353
345
326
360
391
340
358
335
345
295
304
313
360
323
303
301
366
362
323
342
278
285
287
264
333
357
259
357
226
370
348
326
340
244
406
261
298
400
290
338
321
269
328
376
242
293
282
260
367
222
333
319
319
339
289
258
398
289
331
342
282
338
343
280
338
384
334
304
245
283
263
404
403
226
342
329
323
277
285
350
241
211
293
356
312
263
372
332
362
338
254
235
294
336
301
301
378
309
413
313
358
290
272
321
327
301
306
300
248
329
268
239
320
301
375
397
296
381
239
298
326
231
264
327
294
308
277
419
318
307
345
349
223
359
259
379
315
312
347
281
258
320
331
403
277
275
327
208
349
369
327
285
276
353
290
302
334
303
352
334
310
286
274
273
315
301
327
417
356
362
246
304
348
320
314
297
346
271
328
339
307
289
321
290
325
260
296
403
355
359
239
290
229
400
316
325
209
328
277
281
342
320
295
414
355
325
277
306
286
263
306
309
339
321
311
319
316
256
266
282
287
301
333
351
352
367
297
313
282
317
365
231
345
329
216
243
303
267
343
265
235
368
318
317
303
266
317
372
282
295
316
249
290
283
288
277
330
272
248
328
283
371
324
310
213
243
396
270
244
349
347
335
246
368
283
221
331
297
322
302
341
360
231
263
328
349
318
282
313
363
286
324
358
312
332
321
308
339
366
270
259
367
240
364
332
327
356
241
303
376
323
380
401
252
277
329
341
319
265
363
332
218
330
322
280
283
240
296
361
315
328
346
305
293
297
345
318
322
236
319
330
320
290
273
329
289
259
308
299
343
339
406
285
301
288
281
281
245
255
233
358
296
307
306
371
313
308
300
332
291
282
363
365
352
361
360
341
333
223
322
310
233
320
336
267
289
264
299
235
399
436
264
365
272
426
341
348
346
217
235
296
330
259
234
293
284
367
352
397
375
255
326
273
427
293
337
293
321
265
290
339
254
241
361
329
352
366
341
298
256
312
311
280
307
328
324
295
286
267
307
375
317
312
316
285
365
241
351
254
287
284
367
355
301
290
398
307
262
277
292
209
315
204
294
383
299
285
359
242
376
310
262
358
292
344
349
242
262
354
353
380
288
292
315
343
322
291
294
343
277
301
348
283
296
287
250
384
419
323
269
320
279
331
308
308
375
299
311
359
387
233
247
249
271
316
316
332
348
303
312
305
300
301
372
309
295
334
230
316
318
265
364
298
296
339
332
295
310
321
321
304
309
372
361
243
324
368
341
268
370
283
337
296
264
335
301
289
319
361
374
265
332
327
344
338
348
351
277
327
270
351
277
295
321
354
326
331
330
257
372
375
345
286
316
297
328
399
242
255
357
252
361
334
339
329
282
371
228
312
379
271
309
229
252
331
222
228
301
352
329
308
297
287
330
354
311
422
338
276
304
346
220
299
250
299
390
318
344
299
244
326
320
343
240
326
322
232
386
247
323
343
236
376
224
358
329
328
407
275
193
323
259
292
266
314
257
325
304
378
366
362
332
310
272
366
220
345
355
287
229
252
421
298
424
336
335
243
332
250
313
247
205
302
296
319
355
318
333
346
279
313
332
319
384
376
314
394
275
348
306
241
332
331
336
287
289
283
309
312
252
367
275
332
343
334
287
324
369
324
276
228
274
339
336
280
309
222
355
308
283
252
293
287
245
365
317
340
287
279
374
305
401
367
363
283
381
410
322
278
225
255
375
285
320
298
282
270
328
290
278
323
289
328
263
289
355
279
314
306
312
300
318
326
317
292
390
349
366
280
330
360
318
350
402
283
297
232
275
367
281
245
330
279
284
313
303
234
269
357
325
378
338
267
412
322
280
253
285
312
317
245
244
272
321
324
301
350
293
266
329
279
282
328
350
279
339
290
351
321
268
194
297
332
302
412
303
259
387
404
280
301
278
251
292
356
243
364
264
356
260
277
313
276
325
368
373
367
323
317
284
315
362
356
365
317
356
313
286
397
298
364
373
307
313
358
375
210
336
348
340
299
394
261
289
323
219
228
299
385
319
352
225
272
363
377
289
322
345
305
355
250
236
278
254
363
381
342
290
267
195
305
361
343
278
341
398
234
235
288
273
323
277
271
279
259
318
285
365
213
284
325
343
333
326
291
340
332
319
265
311
223
345
313
339
237
392
330
372
369
332
314
338
308
296
299
295
310
312
347
427
265
279
329
352
318
294
264
355
316
364
331
257
287
234
273
218
317
280
286
201
382
342
289
239
268
378
327
282
382
299
343
337
330
300
334
292
351
349
242
367
399
301
346
242
327
247
359
361
324
287
357
292
243
290
368
253
355
299
404
289
351
284
403
326
355
272
268
317
318
280
287
358
300
315
286
312
403
337
316
386
311
305
316
313
316
308
320
304
291
323
308
344
346
307
293
328
260
313
216
290
280
364
227
368
302
292
299
213
322
392
304
318
373
357
314
359
309
246
312
255
349
311
299
253
277
278
312
282
270
360
248
300
329
325
301
368
294
207
306
293
262
272
293
338
252
358
301
249
367
287
346
321
284
302
253
317
324
365
383
306
328
316
330
305
273
246
291
306
191
334
293
298
241
327
337
375
230
398
308
311
325
329
332
394
340
349
304
316
297
347
435
287
358
293
302
256
361
375
260
233
274
292
358
339
323
355
350
393
318
212
277
348
208
281
338
266
315
296
344
355
277
359
332
230
291
429
263
351
346
259
270
321
374
291
276
282
265
408
353
286
324
359
303
347
274
265
270
302
308
324
321
283
301
327
331
325
300
350
312
339
334
372
254
281
291
238
305
348
348
227
383
342
271
275
227
338
385
258
284
222
314
333
195
330
387
301
289
258
335
313
300
319
305
318
355
283
327
338
372
255
319
222
335
319
336
287
315
383
296
303
287
341
302
300
276
342
346
371
296
254
266
367
316
271
334
332
346
299
290
323
263
282
341
283
280
255
300
374
349
332
357
324
354
276
332
366
304
295
297
250
303
338
286
329
315
323
318
318
338
278
234
249
250
398
285
391
304
316
372
350
368
301
347
239
314
364
313
281
300
378
254
282
299
303
322
335
289
385
325
304
314
407
378
334
310
296
191
287
334
300
306
372
323
369
305
326
327
368
320
363
337
264
342
236
340
257
338
303
299
320
278
390
320
334
270
296
360
326
377
345
354
297
219
317
299
295
284
427
308
284
313
295
252
400
347
330
314
286
328
336
395
351
286
376
318
298
271
312
281
378
361
361
361
274
248
319
280
276
287
345
327
315
294
410
375
307
358
348
254
249
387
333
301
203
330
406
331
319
309
305
363
360
355
317
329
352
332
163
387
273
352
323
309
325
271
295
287
366
288
327
391
298
270
186
355
330
231
339
338
357
277
281
345
281
347
307
313
272
316
396
368
336
335
362
267
286
256
240
329
350
374
318
271
294
303
390
355
401
290
260
259
338
283
329
258
317
347
311
288
296
306
302
370
285
295
401
295
356
277
263
359
278
263
223
414
245
355
303
306
339
318
331
263
273
274
330
333
395
326
318
322
305
319
340
333
268
309
338
318
273
382
328
395
340
364
276
260
320
404
238
330
391
251
276
275
264
326
322
326
276
344
307
227
293
274
292
355
283
293
255
300
382
361
278
255
310
237
278
358
241
327
356
312
246
323
211
260
248
276
286
332
206
364
366
331
323
346
422
246
304
276
309
336
252
395
375
312
377
334
348
271
346
308
287
252
299
275
330
299
345
331
298
342
349
241
313
378
366
281
263
247
267
349
399
338
396
313
358
329
364
300
333
252
335
298
295
396
291
315
262
247
297
358
321
349
261
369
243
337
354
308
355
292
255
330
342
253
246
280
333
321
298
311
332
318
316
274
215
321
344
306
348
339
198
336
327
324
291
294
318
291
362
322
320
380
326
210
306
311
307
303
392
296
363
294
248
348
346
381
344
337
263
366
311
319
381
390
278
237
361
316
360
264
287
375
266
296
307
349
277
382
355
276
305
207
292
292
350
389
266
341
355
308
393
299
255
373
225
306
316
318
362
378
320
330
314
343
346
371
351
316
324
387
264
205
255
297
254
308
346
259
240
344
265
253
302
320
361
296
307
300
270
363
281
239
328
223
291
309
327
250
307
210
267
312
330
343
350
308
312
300
372
328
304
352
347
278
306
238
318
333
251
326
247
254
249
279
380
338
254
337
387
353
328
340
356
295
309
289
205
249
373
272
355
398
347
323
335
363
324
226
361
302
315
360
366
251
263
336
338
320
346
237
354
315
332
366
254
301
254
340
338
317
335
228
217
346
282
387
320
350
341
344
343
285
290
318
267
326
337
293
296
267
277
332
289
307
376
254
318
308
342
311
319
301
367
321
318
184
330
284
300
335
302
295
236
294
287
307
351
300
276
328
404
316
236
326
286
236
342
317
335
262
369
277
280
264
228
204
246
292
337
273
366
309
390
268
332
303
260
291
243
240
304
319
403
317
270
327
317
291
293
270
403
348
349
359
373
377
325
348
358
326
329
335
252
416
298
388
257
290
260
319
328
321
364
326
332
340
290
303
368
306
287
339
319
346
289
278
338
335
296
302
303
309
246
305
264
256
303
321
291
246
279
323
254
417
303
298
313
291
383
254
354
323
340
243
259
317
308
256
257
380
414
269
297
303
284
264
335
221
333
273
279
346
352
237
305
310
265
307
341
227
278
208
331
282
297
251
271
269
328
305
383
334
348
292
327
384
317
271
282
367
346
386
265
298
332
285
271
328
281
348
293
360
348
347
366
347
346
308
326
320
364
267
326
397
334
376
353
314
199
359
339
342
349
284
292
342
386
256
269
327
384
283
297
349
244
199
344
305
227
350
225
296
280
359
299
414
370
337
365
320
280
291
307
279
210
316
297
316
268
336
325
386
322
316
332
333
272
340
276
291
251
251
355
301
247
315
286
267
310
382
339
390
313
350
346
373
287
318
284
324
241
299
272
200
307
304
318
349
320
328
317
246
286
384
344
313
290
292
318
237
321
298
333
320
340
373
269
193
266
356
279
332
283
320
276
357
331
296
304
293
378
328
249
353
271
362
375
333
316
321
303
316
317
216
313
221
339
322
261
348
352
316
321
311
288
311
373
245
317
294
267
289
374
316
335
279
303
400
348
278
318
330
338
276
290
340
326
248
332
396
368
334
359
312
336
258
291
324
375
292
328
285
281
346
338
320
332
363
346
292
293
267
324
370
353
365
280
353
383
298
378
355
247
404
347
335
297
262
385
366
328
355
303
346
297
298
293
297
342
282
276
321
367
358
280
323
343
347
262
270
219
330
329
302
336
254
325
258
327
316
275
299
358
353
313
374
317
365
341
318
351
257
327
412
357
320
326
317
288
296
299
326
328
313
272
309
280
362
275
311
343
283
259
243
331
290
382
404
301
328
337
261
275
310
265
354
279
400
331
310
354
307
383
373
388
225
302
342
233
320
354
312
381
273
288
239
211
212
245
402
230
328
245
389
367
333
249
321
394
319
318
329
316
324
361
313
394
402
328
291
305
336
315
305
329
236
300
341
324
332
349
339
280
326
295
294
309
216
304
319
298
350
315
317
410
340
385
279
307
280
320
292
352
314
262
362
288
273
366
328
312
395
334
272
298
292
331
268
303
279
374
266
371
317
361
355
271
330
305
291
358
235
312
316
300
292
335
318
261
318
291
382
337
347
330
241
366
343
277
280
313
286
275
189
348
313
356
320
269
347
306
365
345
327
315
300
322
303
312
276
317
340
267
281
345
239
247
258
314
263
253
310
269
340
347
261
271
312
319
317
331
387
348
326
350
324
228
329
378
274
289
320
295
338
327
305
242
250
330
284
397
216
351
294
294
330
288
347
355
269
334
403
376
388
310
296
300
310
313
348
302
248
295
351
303
385
337
273
314
291
350
346
446
362
325
275
282
327
253
295
296
329
307
333
358
325
343
279
361
365
278
302
191
284
310
317
304
264
329
365
346
355
317
254
288
248
305
271
226
295
299
349
330
273
178
316
375
346
283
297
312
349
334
389
243
306
326
350
271
290
353
336
313
274
343
272
301
349
289
277
369
358
303
283
268
275
185
294
318
309
353
340
273
278
289
249
372
320
273
342
366
314
320
270
333
352
313
300
317
226
296
275
384
420
286
386
383
361
237
354
307
316
326
332
292
299
294
337
342
347
255
343
281
258
286
290
316
323
305
296
315
243
271
354
226
364
305
277
334
280
301
397
329
305
310
312
264
369
293
302
313
355
320
373
301
218
280
294
382
308
300
306
336
293
341
362
351
227
326
277
329
321
388
290
393
349
330
311
326
301
378
323
357
339
305
269
319
356
396
314
293
318
352
336
229
340
322
327
365
306
323
241
301
303
424
233
253
302
342
297
281
337
346
348
308
355
383
290
387
374
420
297
263
388
382
325
370
224
295
251
242
315
333
305
313
308
309
272
373
301
281
320
276
333
364
392
322
250
344
327
387
305
303
299
309
285
353
331
324
268
337
330
273
284
243
303
405
297
276
257
385
388
256
294
263
310
215
284
303
332
281
304
335
311
302
287
337
288
348
339
238
365
304
347
382
313
375
234
248
333
269
304
340
276
355
292
283
368
273
340
261
270
357
269
275
351
326
325
332
376
341
248
300
318
326
229
286
338
337
281
273
291
306
327
301
393
333
345
310
330
295
307
348
222
364
300
356
347
258
265
274
318
266
298
254
287
375
306
282
304
277
317
307
329
216
321
269
309
332
369
323
299
324
282
378
245
292
351
291
315
314
280
293
321
339
372
365
298
271
292
286
319
344
346
355
385
380
288
245
204
274
288
338
305
339
276
258
300
321
361
292
330
367
328
386
367
398
291
286
281
236
325
312
299
297
313
427
319
332
293
341
249
348
279
289
260
289
316
222
327
308
309
244
369
334
334
350
382
335
326
331
344
312
359
304
403
343
259
332
341
397
398
318
240
312
232
318
338
302
273
260
304
269
351
296
295
338
313
297
272
308
305
320
229
341
337
304
359
286
351
312
285
389
359
257
287
281
269
289
272
313
309
352
368
306
249
278
312
330
356
292
306
323
343
339
362
302
372
278
361
399
287
291
340
247
333
335
339
308
343
310
370
305
272
302
398
315
255
324
369
282
343
349
335
348
276
320
316
387
383
357
390
419
266
312
335
342
306
365
324
317
405
318
327
374
353
302
303
377
241
298
324
371
274
266
296
374
255
362
212
309
270
286
315
404
279
303
319
385
413
363
306
359
333
360
294
328
362
286
298
334
317
369
379
248
357
308
330
195
297
351
347
244
305
312
298
361
363
379
378
384
329
248
340
321
279
352
231
279
341
285
239
170
322
267
298
310
322
331
301
257
270
351
288
344
325
333
333
339
338
348
235
420
251
313
238
388
267
305
334
345
351
324
344
374
334
302
344
318
259
306
295
257
421
351
329
235
324
331
332
344
232
370
275
250
372
243
290
319
264
325
299
319
317
300
313
294
337
308
394
330
307
345
343
266
361
270
385
261
312
275
294
300
310
306
352
368
361
306
319
402
367
335
339
375
281
361
389
212
375
255
369
252
291
283
313
370
348
358
313
331
326
341
315
263
314
300
349
344
398
271
297
245
327
336
308
370
362
249
277
343
329
257
248
352
322
324
329
412
309
292
304
359
290
316
344
330
335
380
298
325
314
257
337
304
313
348
313
310
261
315
303
327
412
252
265
277
322
367
286
249
335
239
348
213
276
341
332
323
313
317
346
331
326
246
253
330
318
355
322
346
259
275
349
331
391
279
276
360
362
282
249
300
271
365
324
310
372
267
283
278
287
363
266
284
226
307
296
368
238
272
292
366
311
341
312
197
309
392
371
344
239
256
333
324
386
281
287
343
215
318
251
423
254
369
343
312
245
315
288
307
207
321
304
334
366
324
385
308
336
310
354
278
210
315
384
335
305
316
349
276
294
332
306
360
296
385
299
354
251
350
246
376
321
392
344
302
312
335
296
334
385
383
244
271
288
435
297
290
279
285
316
316
283
270
367
347
309
352
347
298
275
287
219
306
350
295
369
304
291
202
351
261
310
330
330
256
239
449
333
348
332
258
243
195
291
270
360
299
325
273
358
311
303
302
250
361
357
341
335
269
255
287
291
248
295
316
253
307
327
351
343
321
358
315
418
325
328
328
332
354
265
319
331
325
328
281
301
301
324
271
298
346
305
335
299
301
311
299
354
314
363
369
346
321
347
286
378
297
301
372
320
345
307
309
306
338
235
282
390
315
338
336
390
327
342
281
273
336
399
349
346
353
238
326
406
380
341
268
279
391
204
277
323
312
301
289
333
268
341
233
326
320
387
240
277
255
302
316
273
327
345
333
280
250
315
409
194
326
417
356
348
278
366
377
265
294
306
316
280
337
286
331
294
292
373
318
332
362
312
265
284
252
394
359
279
261
321
288
342
362
329
240
337
235
335
268
261
342
351
284
339
213
356
378
410
279
176
372
326
334
319
358
321
330
339
345
359
402
313
411
253
245
361
323
316
261
345
296
285
361
269
264
331
348
277
358
330
400
404
329
323
372
303
399
296
304
344
359
346
254
301
348
251
350
303
316
333
355
312
336
373
300
290
309
324
320
292
320
344
363
313
261
336
303
371
351
249
317
312
291
380
283
346
226
333
310
306
322
328
312
272
333
298
311
263
330
445
337
288
276
286
287
234
246
332
302
362
354
326
317
240
279
335
298
320
304
392
289
323
304
261
354
210
359
319
355
270
337
217
303
278
252
364
355
366
289
283
308
331
272
325
313
336
346
258
313
357
296
311
264
300
301
300
348
332
262
276
280
402
284
261
208
325
337
317
317
360
304
399
276
322
318
314
308
262
330
324
303
341
371
266
296
405
334
241
256
333
303
301
293
282
312
357
282
277
314
336
296
267
321
350
278
315
244
315
259
313
322
320
212
257
307
275
349
269
360
309
263
292
293
382
238
365
297
320
314
288
339
242
298
350
397
274
343
364
286
312
280
294
306
285
337
350
368
340
338
301
258
366
387
250
406
323
289
322
344
318
288
420
348
316
296
289
307
273
274
356
373
236
344
324
289
242
278
263
340
302
342
286
316
353
324
166
352
313
305
381
428
345
459
339
263
353
363
241
363
274
346
270
270
375
401
312
308
306
331
330
306
360
320
352
296
306
412
241
349
285
328
357
346
328
270
244
323
276
204
406
304
311
238
373
370
301
357
342
336
308
310
345
314
296
362
349
324
307
369
271
283
336
248
249
378
228
291
290
283
242
306
373
324
334
257
258
267
241
283
301
246
334
337
347
275
280
313
407
452
356
360
285
330
355
264
326
356
304
304
298
400
365
319
346
261
341
306
194
369
353
374
413
315
324
298
363
369
295
274
242
287
271
315
266
398
254
321
317
306
331
296
239
390
331
361
332
333
347
372
291
292
287
374
307
375
252
324
303
354
298
362
349
342
358
225
278
321
338
281
195
271
321
325
347
333
202
380
365
300
349
238
340
302
437
270
334
348
176
336
274
314
343
329
319
301
219
307
325
269
239
270
409
274
310
339
290
273
259
353
360
300
285
314
327
313
323
343
358
363
372
375
331
287
287
307
401
274
371
303
367
283
348
373
300
354
298
327
372
233
308
289
350
386
381
312
282
329
313
370
262
317
284
257
246
369
287
279
276
386
246
326
282
394
327
291
341
299
288
273
304
307
265
323
335
330
281
318
319
360
339
328
262
291
292
268
342
286
302
312
251
309
300
329
343
278
365
323
270
219
301
303
295
358
270
332
343
263
322
242
262
329
363
313
275
280
295
404
401
280
374
270
312
347
303
360
321
296
377
339
310
332
322
264
317
368
285
385
348
350
278
261
322
293
366
374
272
338
316
346
302
305
276
262
373
303
338
293
391
311
237
327
347
280
329
307
344
321
305
387
262
289
354
259
389
367
256
346
286
371
394
270
273
292
335
297
465
372
243
349
270
307
343
397
361
274
298
322
352
337
265
298
358
304
284
324
296
326
271
300
267
341
277
378
184
264
271
345
306
340
338
307
330
238
324
341
256
282
273
307
246
310
277
239
245
313
265
319
338
382
277
336
314
385
362
279
287
296
279
144
306
299
309
437
315
322
240
325
320
374
344
396
346
361
330
327
386
395
320
319
342
330
353
303
326
338
247
226
284
274
319
316
336
359
338
302
394
347
322
247
350
316
256
393
367
300
337
323
330
309
355
276
350
259
310
289
341
385
244
277
343
294
359
327
364
282
384
395
401
343
361
214
360
321
350
318
344
352
294
289
345
230
314
306
388
231
372
316
332
296
294
321
273
405
318
313
304
272
320
345
354
344
374
350
329
302
249
283
331
342
331
289
226
304
331
300
277
311
332
325
337
292
262
306
286
295
298
224
341
352
378
264
308
329
261
322
276
289
352
381
326
269
309
265
228
307
351
315
325
317
312
294
308
329
260
336
292
301
344
369
298
265
308
313
320
306
264
284
182
271
317
237
292
333
264
305
302
254
343
355
325
316
324
369
217
332
298
268
355
331
264
322
369
266
316
367
257
331
264
311
281
337
259
391
301
294
283
375
320
292
325
354
254
260
392
264
232
282
345
348
345
282
283
317
252
325
277
274
289
342
373
340
362
270
285
233
304
308
287
227
359
286
403
299
304
224
299
293
351
260
329
339
357
268
348
275
353
348
201
303
324
345
300
276
264
228
305
336
279
246
341
272
330
304
467
305
242
399
362
353
202
316
336
233
241
273
290
315
237
349
361
251
242
316
349
333
286
359
312
301
349
333
225
324
320
297
322
374
304
294
314
340
342
344
317
312
357
232
333
287
303
318
269
349
331
355
366
313
343
346
338
368
326
298
338
313
419
368
280
205
392
361
405
243
341
264
366
319
277
267
272
395
271
316
319
316
288
350
345
340
272
336
351
266
308
318
290
271
259
365
379
258
259
285
221
354
274
340
242
208
312
378
278
340
328
301
277
387
346
322
289
320
262
316
343
272
243
296
342
303
262
282
283
323
324
277
383
327
315
305
318
260
346
323
326
145
365
396
279
379
310
313
312
260
404
338
261
284
337
405
320
294
286
187
352
381
367
339
267
284
273
351
328
355
341
231
277
269
288
334
147
380
353
282
318
290
418
327
339
367
314
328
303
410
295
279
269
402
300
317
301
384
265
315
255
280
248
230
271
349
356
318
312
350
325
359
352
388
383
270
338
332
300
302
283
386
305
373
329
301
376
297
380
395
341
269
284
276
386
270
313
322
333
376
320
358
291
287
307
303
355
414
292
318
354
306
367
304
303
316
311
282
257
303
312
225
309
355
312
351
321
355
351
326
268
334
282
341
305
281
305
324
391
334
357
329
262
369
288
379
427
361
346
274
271
278
377
342
303
310
210
428
244
274
293
336
278
272
284
320
294
261
278
338
333
294
214
309
249
330
270
179
283
300
317
302
262
270
353
299
285
358
321
291
287
341
346
316
331
275
314
353
379
296
269
257
314
241
379
283
316
346
333
305
305
281
247
252
332
234
332
304
367
271
263
306
336
364
226
204
285
312
390
418
303
403
324
322
260
283
346
301
328
334
273
297
311
313
291
231
331
321
319
280
344
311
234
275
287
295
270
290
266
292
364
322
260
301
360
258
324
347
387
255
359
299
306
286
318
253
313
348
254
312
335
339
292
234
319
255
321
289
302
368
338
343
303
293
279
297
376
315
269
343
287
308
292
424
247
377
310
284
313
300
258
310
256
369
370
235
353
358
324
316
331
337
332
279
349
284
359
310
359
327
360
346
286
323
285
335
291
240
299
261
288
369
356
348
326
296
311
203
263
290
285
257
298
293
313
309
219
280
355
250
244
336
376
349
297
291
269
282
297
240
330
330
346
325
351
345
366
276
344
256
357
272
283
246
255
287
309
368
314
361
281
362
321
327
305
271
319
302
378
338
330
340
337
339
338
296
304
407
239
248
302
353
290
352
331
231
325
301
221
369
275
383
281
327
323
298
245
304
358
429
362
268
348
339
290
260
247
185
251
289
275
367
277
299
321
356
277
283
304
338
352
371
313
269
332
312
308
343
343
313
271
364
336
297
305
275
374
336
378
286
321
354
318
323
303
423
368
364
256
332
305
297
372
362
309
344
355
320
283
395
307
336
177
351
330
241
322
284
268
325
307
252
312
338
271
348
346
307
341
285
337
365
276
351
326
373
349
348
356
359
281
340
316
237
251
311
341
262
291
289
319
349
406
309
293
210
283
247
349
255
321
351
338
248
288
324
319
304
342
296
310
397
305
235
334
310
346
308
353
272
379
365
366
292
335
323
365
317
364
318
300
337
307
339
262
340
331
281
231
249
292
287
293
257
307
288
324
309
287
262
350
393
307
252
327
338
320
326
334
332
328
353
276
394
303
335
192
345
368
300
286
364
262
296
266
345
204
310
320
288
326
268
338
337
323
296
265
364
301
324
362
332
363
293
237
318
353
332
321
235
258
256
243
276
326
342
392
355
297
312
377
294
253
294
317
352
333
329
285
316
402
301
231
290
322
233
333
323
338
309
362
322
239
356
302
223
259
314
355
307
305
333
321
287
275
375
355
264
292
319
375
322
279
230
285
298
298
310
327
244
360
306
327
350
301
277
265
217
328
352
306
303
259
323
318
303
265
160
323
302
315
354
323
285
326
316
360
327
360
290
283
284
295
340
259
312
328
320
321
314
320
299
271
232
371
241
331
421
368
366
285
259
346
263
410
224
343
355
329
300
378
310
345
267
272
319
344
325
323
308
213
330
280
338
313
328
298
239
312
360
238
401
312
291
325
335
265
306
302
241
330
356
309
375
310
316
358
332
347
291
410
309
305
379
356
350
380
374
301
316
330
366
327
295
280
264
304
249
308
340
243
252
269
387
322
302
329
315
304
188
344
314
343
317
328
302
325
330
243
356
309
308
278
366
275
328
295
359
316
306
265
310
372
297
305
360
322
332
320
292
321
171
281
345
233
267
326
308
280
331
273
295
406
318
339
225
307
300
312
247
277
189
354
251
276
279
354
300
326
334
352
351
300
281
411
390
350
360
336
351
329
319
244
315
297
345
343
364
336
345
285
259
341
364
321
301
318
318
351
360
335
252
309
399
311
321
315
249
317
304
288
338
254
329
429
324
363
305
293
349
396
296
276
395
319
294
334
347
295
309
249
295
354
283
314
289
253
306
277
330
369
361
300
254
360
362
305
350
285
266
240
352
272
299
327
324
313
272
317
204
265
348
212
267
301
302
281
331
315
328
352
242
311
360
288
230
380
359
358
333
264
345
251
295
327
280
278
276
358
283
363
322
318
340
398
319
238
310
254
256
286
363
339
303
313
276
364
224
299
271
244
311
325
310
367
407
282
346
305
298
303
320
325
370
313
269
258
339
295
321
273
302
311
339
320
309
329
413
357
314
344
361
330
363
305
259
314
324
315
366
378
286
342
339
360
338
355
357
272
316
393
328
275
340
346
243
227
325
335
336
322
245
326
297
287
260
290
321
333
399
339
344
312
313
299
186
349
341
317
339
309
423
297
303
369
373
309
365
388
361
261
331
252
309
279
283
241
331
310
274
286
259
272
337
291
279
280
317
304
284
262
333
356
336
376
296
309
245
376
295
347
347
263
282
268
267
365
252
332
305
336
310
394
275
307
266
278
202
373
286
372
284
379
346
315
377
333
288
211
307
346
399
333
329
443
355
302
292
301
376
266
268
346
274
397
314
210
279
338
350
309
300
261
372
293
246
346
317
314
358
316
312
268
315
309
331
379
404
248
281
417
393
334
347
301
331
355
347
304
387
256
399
369
323
338
254
351
331
287
323
277
334
315
364
300
368
289
293
343
304
297
319
338
312
230
276
383
298
279
295
329
311
367
285
317
272
234
405
321
317
302
292
234
235
286
355
319
310
286
382
390
339
287
343
282
260
291
333
368
364
311
235
336
290
212
338
283
322
187
345
296
318
370
379
310
338
243
344
231
377
293
301
216
325
381
244
321
314
319
307
357
324
292
370
340
280
263
296
332
315
222
300
346
266
388
325
343
258
383
284
350
348
343
293
393
284
407
260
339
362
325
278
350
302
318
367
285
284
402
330
355
261
336
273
334
329
224
298
359
257
313
292
243
298
373
295
343
365
336
280
304
301
315
255
325
269
383
286
322
271
275
303
293
248
253
273
341
386
287
261
334
309
365
328
291
291
276
366
336
318
273
301
329
244
334
279
353
386
306
305
356
242
381
318
429
345
248
280
289
333
392
319
395
375
277
232
372
296
309
319
313
377
349
354
241
339
285
332
387
281
291
260
344
307
310
275
325
352
213
248
397
277
320
316
353
345
336
244
285
329
371
368
295
330
311
292
368
356
362
269
279
241
294
314
350
316
261
321
258
355
392
348
278
272
373
330
301
227
356
360
299
325
313
351
341
322
352
329
286
255
389
316
288
268
333
314
343
312
328
275
291
382
260
362
259
368
292
295
418
247
304
304
330
373
272
317
402
277
219
295
311
299
336
248
232
316
377
354
353
430
355
365
313
352
333
336
331
314
307
324
373
263
232
324
285
330
361
377
308
345
313
301
383
324
329
324
298
316
354
326
364
333
320
285
340
306
242
340
356
278
325
284
339
355
254
309
276
388
338
396
242
367
348
323
284
272
310
311
361
297
289
309
393
295
310
375
312
279
327
321
273
313
379
349
284
307
265
322
340
350
348
302
322
339
276
329
302
361
304
322
266
326
330
263
309
266
409
366
258
282
232
257
253
266
318
303
199
325
286
253
294
359
318
358
303
296
325
300
219
310
267
282
355
309
345
152
338
399
253
326
334
266
322
322
374
296
269
381
317
254
281
247
394
366
340
340
314
281
327
340
354
329
372
361
268
297
343
341
369
287
332
344
284
260
199
332
334
289
349
369
329
404
302
256
301
351
330
348
280
207
327
350
418
345
374
308
316
290
312
314
312
241
320
394
355
298
357
323
282
392
389
285
333
342
298
323
294
285
285
347
335
278
311
306
335
308
322
327
333
312
295
344
305
303
299
344
310
276
294
334
330
341
322
275
333
291
302
387
265
270
277
326
322
316
341
297
374
280
290
366
296
368
279
340
277
317
312
347
218
318
285
238
316
307
235
320
311
314
387
244
323
296
360
267
371
314
343
351
274
248
327
375
320
202
334
339
353
328
332
350
227
277
295
244
295
297
298
297
343
319
341
300
341
375
355
355
273
230
339
270
224
286
332
303
374
273
315
358
431
338
334
384
337
377
267
336
281
386
288
383
312
382
288
314
303
366
323
274
297
278
312
374
255
395
297
303
308
270
370
332
381
361
224
288
332
354
297
290
355
333
322
325
283
315
320
282
250
286
347
323
383
305
280
345
239
401
258
383
341
270
238
396
375
255
307
318
309
293
299
334
351
342
311
322
397
230
300
333
288
356
225
279
288
257
268
333
314
337
297
324
339
344
302
287
234
236
339
305
286
268
369
331
285
264
254
256
362
306
322
266
331
253
256
329
297
283
257
335
229
308
367
239
310
372
378
291
268
390
349
347
345
380
321
292
274
325
313
365
342
286
323
336
348
340
343
304
305
354
329
321
354
300
353
240
352
362
273
335
319
320
343
329
361
288
329
328
360
371
324
319
345
322
278
252
311
294
301
269
302
386
355
336
363
335
293
343
301
354
373
283
288
298
312
338
374
279
260
332
201
295
325
367
343
277
369
263
256
321
287
307
285
375
341
337
229
293
350
293
379
289
238
317
333
394
321
311
361
242
277
379
274
306
367
336
345
289
354
385
328
234
269
237
326
263
282
394
345
289
256
357
316
337
287
320
350
320
285
337
324
301
367
321
317
355
369
286
242
210
353
260
297
276
361
345
264
301
296
309
342
292
325
343
291
365
342
314
266
299
323
298
298
346
336
338
399
306
291
330
271
295
259
262
311
294
318
332
357
340
360
292
283
310
364
312
285
350
345
244
335
310
354
285
276
377
314
285
392
342
270
363
301
294
377
367
306
273
269
250
328
302
297
387
353
385
360
263
358
371
329
374
270
319
329
295
374
357
354
256
256
245
269
305
237
375
281
342
313
395
276
256
333
287
294
274
350
230
285
240
324
218
257
270
328
222
270
322
317
192
244
316
326
338
239
332
352
285
315
261
238
313
314
302
392
283
286
329
353
355
278
304
322
333
300
297
361
298
319
368
367
344
353
213
330
226
354
355
299
339
298
332
295
277
295
291
326
278
267
325
344
321
246
325
304
315
316
315
310
306
362
280
224
318
303
245
289
339
234
389
357
266
318
334
316
295
309
331
402
329
269
391
379
304
379
299
329
292
272
401
251
292
380
308
372
287
281
317
339
350
325
221
314
313
333
246
232
325
359
310
333
337
246
333
374
342
399
242
297
293
326
310
394
381
283
304
314
324
288
246
351
314
334
387
303
242
255
339
304
271
356
385
286
295
264
351
311
257
323
156
311
360
322
245
270
305
345
306
343
315
263
335
237
297
369
257
323
330
306
348
329
409
261
321
344
360
340
396
321
218
256
298
358
286
339
281
315
260
313
326
272
349
245
307
353
362
298
377
303
314
319
273
369
271
313
290
269
285
287
299
291
254
406
235
327
287
296
372
301
324
338
373
367
343
284
347
380
301
329
296
308
304
303
287
307
308
323
322
288
416
364
254
365
275
327
290
234
367
316
361
307
371
276
374
375
337
376
315
344
303
259
292
332
302
318
326
293
359
346
353
193
296
322
290
293
357
314
307
307
443
367
315
299
313
359
297
332
303
299
391
299
278
339
408
338
408
302
394
344
382
291
339
294
335
327
311
285
303
335
300
285
375
257
336
366
248
302
257
305
276
326
332
307
309
323
319
317
322
269
260
253
306
366
354
402
335
265
325
275
362
392
223
345
294
243
347
299
334
326
325
295
347
293
430
363
223
311
293
348
305
337
269
320
328
311
357
379
383
317
332
238
343
299
394
355
296
285
257
346
369
361
263
288
317
338
290
308
250
283
333
247
351
341
333
276
254
306
361
270
342
358
324
311
325
285
380
330
323
294
334
318
363
241
330
413
349
271
359
304
206
312
308
342
302
274
213
314
268
287
320
325
373
311
288
314
387
230
302
278
325
307
248
326
332
386
405
370
287
358
274
271
425
311
318
294
302
377
301
301
350
273
369
300
325
249
397
364
349
271
360
367
327
340
365
305
314
317
452
344
360
347
316
316
375
366
273
265
276
281
380
304
251
340
311
248
307
344
314
383
347
333
309
272
375
325
321
364
306
396
291
285
332
303
315
373
240
287
324
231
330
269
357
307
248
259
316
318
333
299
331
293
306
295
273
298
307
315
245
395
302
251
224
366
350
271
324
209
236
356
344
377
299
254
303
284
368
395
330
251
341
350
313
211
301
354
323
305
427
325
312
352
334
333
312
371
343
371
402
270
272
358
349
237
358
348
307
308
246
342
331
271
239
364
353
294
366
292
349
265
255
285
298
291
320
333
248
355
313
332
319
323
292
352
252
294
399
396
261
304
385
348
287
389
343
352
295
316
276
309
325
283
369
272
301
309
291
251
429
336
328
247
294
311
341
303
277
316
369
374
371
350
272
243
368
261
264
351
310
288
267
299
283
224
345
280
359
296
238
244
321
334
358
199
327
304
329
357
252
284
304
238
235
333
303
347
392
216
349
304
287
262
385
383
309
344
378
330
194
263
305
355
348
282
314
341
330
226
258
367
363
270
289
308
312
314
363
362
312
325
245
280
261
250
228
382
260
352
258
351
288
377
374
373
348
255
203
309
272
368
306
359
291
282
308
325
272
256
360
339
317
315
336
352
283
332
341
281
300
345
328
317
339
347
344
348
391
331
368
310
441
324
359
315
354
242
299
227
369
308
248
340
290
324
340
309
303
275
328
302
331
373
334
381
319
332
267
368
246
295
259
339
342
329
329
331
307
226
392
350
284
271
361
329
302
321
282
360
282
263
381
335
321
312
318
303
380
409
340
332
350
364
267
303
358
332
323
321
319
315
248
319
342
260
283
351
251
362
241
288
336
304
273
320
368
294
330
270
384
333
345
366
343
333
275
363
349
258
352
367
374
314
336
325
326
385
326
320
330
248
250
360
324
322
253
332
364
294
320
303
345
237
303
351
306
317
324
305
384
350
264
269
323
326
282
347
375
371
356
323
291
287
227
383
342
287
364
346
228
401
288
338
277
282
321
302
300
373
290
230
284
238
225
279
347
307
327
264
315
355
344
219
364
319
378
327
256
309
310
367
263
325
256
270
309
275
358
323
351
342
386
368
265
318
305
310
363
328
290
358
339
283
260
263
325
359
382
299
328
320
309
346
231
323
344
388
295
285
368
314
400
337
272
330
384
328
313
233
293
345
351
323
394
375
318
256
274
314
359
327
252
334
287
263
375
332
230
312
375
375
348
332
321
316
316
290
350
377
359
295
326
348
273
394
345
294
349
366
349
196
339
327
347
285
310
357
290
298
326
300
332
364
247
342
363
282
339
233
345
273
374
199
272
191
223
323
300
323
352
358
289
407
301
372
294
318
356
336
170
336
357
421
311
326
312
329
288
403
355
301
341
318
303
273
299
303
325
317
330
374
264
401
401
347
333
370
332
357
279
297
315
330
310
336
345
286
324
335
330
328
223
346
267
331
328
313
338
305
384
307
309
250
341
344
247
354
336
329
327
387
293
337
303
380
329
268
318
322
333
363
341
324
289
287
330
370
318
339
332
326
321
354
291
347
301
320
268
313
332
289
431
374
281
212
308
302
260
287
304
373
331
244
328
319
301
247
332
292
270
379
354
349
362
314
347
255
368
401
295
311
366
286
214
181
319
323
279
382
273
241
286
268
387
196
322
399
339
277
286
314
244
362
321
319
326
270
293
318
338
293
319
395
287
257
346
343
319
278
358
267
324
253
276
318
313
280
409
375
322
322
302
325
226
250
385
353
320
283
329
393
241
383
305
377
298
343
329
289
280
341
327
229
333
341
427
340
332
260
334
259
334
399
295
315
235
332
362
254
344
350
341
311
279
325
300
316
317
321
448
390
294
331
298
339
347
301
367
352
327
354
382
345
363
261
325
350
355
319
318
270
309
281
308
262
192
291
329
286
399
278
312
299
361
316
362
205
260
228
315
331
259
326
401
282
326
372
346
377
268
374
388
286
316
303
246
291
419
331
327
356
397
377
251
324
272
322
265
238
228
304
288
377
313
283
215
353
284
312
349
286
375
289
280
296
279
378
314
366
278
288
325
359
379
328
340
267
271
300
355
278
353
326
344
307
359
321
328
359
266
361
253
245
323
335
341
325
339
401
339
360
305
358
313
292
390
353
383
317
320
308
271
332
355
297
326
340
314
256
252
336
281
355
342
288
297
313
275
326
281
334
427
387
307
311
314
350
348
211
302
378
275
260
343
331
310
313
368
240
325
288
386
280
363
313
385
254
376
288
321
302
315
384
327
334
242
330
317
300
355
319
262
271
315
300
345
320
311
310
357
322
335
311
319
305
304
333
287
226
347
308
363
286
303
405
190
341
351
213
223
352
354
293
297
329
264
320
335
317
329
208
284
319
338
284
300
253
309
362
299
308
416
272
303
304
280
270
321
356
338
322
253
341
355
338
398
354
405
270
375
323
253
266
276
234
299
303
346
251
320
348
346
346
380
365
241
291
362
273
329
414
261
294
345
315
300
344
358
305
330
342
327
334
351
321
229
289
299
312
213
263
370
303
372
300
284
255
350
263
275
349
253
258
241
307
371
385
306
260
244
335
289
355
290
333
286
400
329
322
340
354
299
313
321
395
274
280
284
350
315
335
345
330
364
383
325
306
288
389
315
273
357
332
305
356
292
292
395
361
362
287
310
294
355
332
429
350
266
314
352
333
333
327
283
267
330
370
364
318
332
230
264
311
299
295
398
340
306
308
340
221
299
307
285
316
289
271
280
340
301
371
208
380
377
302
333
380
347
324
252
361
357
353
310
318
318
286
355
284
328
348
337
273
318
252
315
334
320
313
301
373
276
320
345
297
350
315
336
306
362
252
350
307
326
325
356
361
329
384
198
254
323
268
300
371
308
225
274
399
334
365
317
278
325
341
234
242
248
284
314
310
233
325
310
298
328
376
393
308
395
335
301
330
297
312
324
260
374
306
337
199
242
350
369
330
296
262
273
289
280
279
347
286
312
335
323
310
375
361
290
346
332
303
246
391
293
255
259
305
267
271
280
345
240
251
322
319
292
335
229
364
301
323
309
316
316
396
409
321
392
345
327
301
393
335
344
354
354
249
330
405
320
301
183
340
344
312
274
331
297
344
217
271
259
264
336
361
283
317
305
341
300
335
306
346
348
310
309
335
311
392
220
311
281
336
374
345
236
254
322
302
349
206
301
366
363
249
235
322
276
222
297
266
350
313
361
248
343
322
410
281
272
262
361
374
358
314
322
240
268
335
267
308
335
288
324
296
268
261
348
363
278
298
290
223
270
344
288
248
348
260
309
224
271
368
271
281
383
342
284
343
300
281
324
409
342
266
320
337
351
340
368
276
296
366
204
312
346
295
313
317
325
271
339
354
276
330
334
307
353
295
338
326
333
330
301
270
319
289
318
236
302
287
313
346
282
339
253
359
259
356
371
341
297
331
417
298
308
274
345
302
272
363
339
230
340
385
271
285
267
335
377
369
229
283
288
312
320
374
356
336
377
321
312
329
321
280
247
292
322
263
310
315
336
243
286
372
432
409
336
303
301
377
255
248
353
246
342
270
340
276
280
294
325
312
348
418
340
335
220
332
221
276
272
370
274
353
343
230
224
376
314
323
406
276
257
273
252
298
270
314
223
313
299
322
247
285
297
309
307
287
334
245
339
314
327
280
372
355
300
382
286
316
302
334
309
375
326
298
291
388
393
374
338
295
368
343
249
357
347
356
303
361
252
343
291
368
247
314
274
284
302
246
315
356
328
340
328
330
305
295
342
293
310
264
296
337
307
325
320
266
358
345
290
285
381
311
362
359
320
312
283
382
314
243
424
297
274
363
312
346
336
347
290
366
311
280
308
259
260
375
369
319
261
320
390
304
272
296
242
405
395
300
368
295
260
346
258
389
282
335
273
362
257
282
315
369
330
378
308
354
307
351
288
341
335
315
309
300
357
272
212
254
294
320
285
300
268
301
321
292
328
333
262
317
325
214
314
368
301
376
367
219
364
315
213
248
314
332
356
326
359
279
304
299
310
385
330
278
296
287
311
335
273
332
331
372
292
274
348
325
289
323
272
305
326
274
282
287
231
312
348
252
366
395
322
361
295
288
251
304
294
372
253
307
292
367
366
342
358
269
299
314
334
330
238
321
354
271
296
270
270
333
343
310
320
302
227
319
281
216
200
303
350
275
318
335
364
332
329
269
272
308
251
291
292
354
252
262
335
270
289
279
337
324
278
327
271
382
335
291
317
307
295
340
251
262
229
388
276
274
312
288
282
390
373
268
272
360
292
287
372
396
358
361
340
346
347
290
236
338
215
312
290
282
375
270
314
303
282
279
373
343
325
301
414
352
311
308
276
313
298
291
292
332
245
281
299
376
179
292
279
351
272
326
337
314
337
246
347
272
301
312
297
361
253
422
328
301
281
298
300
306
342
354
320
269
359
251
359
351
335
382
377
309
413
284
375
261
268
325
271
310
381
280
353
352
365
276
283
309
304
299
366
325
308
341
303
243
274
305
306
270
326
316
421
269
279
318
309
316
356
369
326
233
275
238
308
335
295
320
343
283
315
419
355
248
322
306
302
314
276
336
353
297
303
305
275
305
389
376
301
408
293
314
268
406
364
339
327
271
358
312
306
284
346
369
262
327
225
294
252
328
296
396
218
379
351
321
343
303
439
361
412
265
197
312
332
269
261
339
269
264
292
336
323
303
394
344
359
254
273
324
327
174
381
243
325
335
319
284
343
333
274
319
360
322
305
342
261
337
334
344
372
245
342
294
358
330
311
328
267
302
314
253
336
316
319
293
338
285
342
318
404
295
293
211
322
369
303
267
369
236
318
296
244
380
333
395
327
262
316
374
336
302
326
330
218
291
262
294
333
380
267
346
308
216
282
355
298
344
319
364
326
298
349
248
330
328
291
388
293
317
390
273
319
326
228
415
297
281
330
342
324
327
344
317
279
356
341
316
269
354
317
340
382
294
391
271
299
322
274
282
345
331
280
315
353
269
285
288
414
356
355
328
315
257
279
254
341
297
305
308
317
373
241
329
291
312
299
314
286
295
325
370
291
330
310
361
354
342
255
327
369
283
327
313
329
299
332
304
326
275
291
299
297
272
329
372
263
288
365
396
369
337
349
315
329
300
301
348
233
318
272
246
322
276
243
388
328
349
274
340
317
380
320
408
308
231
328
274
397
301
326
352
271
272
261
311
292
290
373
184
240
321
249
336
339
306
336
266
279
346
283
316
239
227
307
243
273
313
265
389
381
259
293
298
376
269
317
301
274
306
295
381
311
320
241
269
276
251
335
316
277
319
291
263
259
332
292
199
278
299
301
358
299
277
361
324
335
266
339
322
266
326
357
254
342
334
324
258
304
328
337
385
379
323
327
322
348
337
378
303
313
331
275
281
383
304
284
222
381
275
278
314
342
380
323
396
301
376
347
323
288
302
298
376
302
352
333
332
286
359
329
373
290
323
338
286
352
352
366
245
335
369
389
329
370
264
323
349
377
374
417
280
343
299
231
287
418
345
371
265
264
304
283
396
320
302
336
339
247
336
316
357
316
287
349
369
246
254
343
366
337
285
316
312
376
306
345
297
259
322
358
351
265
332
333
358
224
333
388
391
358
321
328
299
267
285
343
266
365
370
305
237
351
258
311
270
292
268
405
371
350
374
276
229
239
275
310
266
291
328
283
356
364
358
314
371
347
383
262
340
227
301
360
295
362
302
302
334
436
307
322
349
241
375
400
261
346
239
279
246
304
261
215
308
257
330
320
327
337
408
306
289
278
362
337
322
252
286
256
295
334
352
277
302
353
310
220
308
332
338
294
292
379
325
329
321
363
346
282
297
304
313
263
360
297
318
323
371
205
368
346
338
231
301
274
459
226
351
274
252
336
335
348
287
363
344
390
290
361
343
251
291
285
296
326
291
229
294
289
355
392
344
296
256
274
319
313
378
348
408
332
341
319
304
325
357
291
322
400
229
348
251
298
297
315
225
292
268
318
411
326
325
349
227
376
256
379
400
301
338
351
298
364
386
352
287
311
277
369
368
243
312
283
321
234
256
342
291
331
360
386
340
337
277
306
288
344
386
384
297
264
325
332
331
297
298
320
275
350
336
370
285
324
290
294
290
282
346
306
289
352
353
278
297
372
301
311
273
242
302
302
340
328
340
353
322
359
332
310
242
389
335
322
324
315
360
323
261
375
265
344
276
317
244
339
277
356
323
374
321
349
247
311
348
256
298
278
222
335
310
293
298
377
350
328
287
316
253
360
344
239
286
262
320
392
408
327
350
276
313
381
318
371
266
261
318
313
369
347
234
421
374
307
304
339
345
241
340
257
287
342
317
298
337
338
326
245
337
312
305
209
336
295
320
391
220
306
303
361
297
195
308
300
324
299
312
332
314
308
304
304
303
207
235
318
316
274
345
305
411
293
275
353
372
349
300
322
331
180
308
382
276
361
307
320
360
322
191
379
337
303
397
335
368
349
333
386
320
363
353
314
247
319
373
350
310
248
347
310
235
345
254
349
335
269
351
385
273
364
313
344
295
285
324
322
352
340
377
305
227
380
240
369
279
305
362
365
265
373
325
377
367
323
296
313
332
338
291
299
383
304
271
339
316
346
219
373
298
290
252
334
309
300
314
299
304
266
251
332
336
356
281
309
284
327
308
362
295
361
313
340
366
230
377
254
330
252
352
248
347
354
290
361
317
327
311
408
315
321
266
333
323
308
291
267
259
248
318
325
378
326
359
298
219
246
425
304
308
273
281
347
276
345
256
307
346
331
239
417
391
317
305
358
326
320
379
312
384
349
341
294
314
308
285
290
319
292
265
311
354
247
297
275
297
342
357
318
237
295
322
385
338
276
373
350
337
272
349
271
286
340
330
417
379
281
383
270
247
335
314
296
325
309
350
361
236
349
392
309
325
363
311
406
329
362
307
250
293
305
271
335
284
271
273
318
354
276
263
290
274
244
327
375
392
321
279
286
279
382
397
301
356
338
227
296
277
226
340
344
377
326
219
387
357
298
377
349
281
296
294
235
330
370
351
362
233
298
358
266
233
306
283
290
336
327
370
296
358
205
359
239
288
245
352
188
307
266
365
269
375
225
341
403
315
317
376
353
304
248
355
344
297
303
375
321
301
369
320
322
290
293
374
312
334
319
262
327
349
288
321
253
247
283
298
318
312
302
272
332
279
348
319
368
394
314
234
356
329
317
291
290
249
297
308
286
400
267
314
420
324
325
331
267
276
278
246
256
251
316
329
346
253
420
303
275
423
289
369
278
303
371
301
348
275
353
353
272
330
378
361
244
316
326
319
241
376
283
328
231
218
338
346
297
276
306
282
358
386
326
361
305
362
318
284
338
269
279
340
292
292
331
312
294
330
307
294
290
296
248
259
305
338
339
369
380
279
263
365
354
349
328
241
346
347
335
324
354
311
308
303
281
280
412
347
334
335
285
241
281
307
325
233
404
349
246
361
285
264
300
254
271
272
341
359
337
349
335
294
290
432
338
352
247
381
394
296
333
222
343
313
362
349
285
249
356
291
316
318
320
276
258
381
327
299
392
302
262
375
319
381
283
295
309
312
323
308
265
221
317
232
282
247
269
325
317
339
297
277
281
329
293
347
282
338
347
271
320
276
374
321
272
298
322
280
265
350
278
329
285
277
385
301
310
400
330
332
312
280
242
360
235
318
370
334
341
293
336
351
320
317
314
274
386
323
333
296
374
276
246
316
328
353
316
289
341
429
375
329
380
295
335
362
306
262
291
260
363
374
319
309
349
298
335
328
286
259
313
297
298
345
364
289
311
324
340
431
332
322
255
357
369
347
337
354
304
349
318
275
341
285
384
279
280
352
347
285
321
330
338
308
318
279
292
178
315
293
283
308
353
228
374
352
377
341
308
332
328
390
252
360
299
287
264
324
318
311
358
286
317
268
215
243
320
318
263
297
303
282
312
380
346
329
336
297
337
387
339
336
367
297
233
315
211
300
330
374
337
345
300
323
311
323
362
258
295
263
360
256
254
282
355
414
309
265
315
278
374
231
291
338
313
339
311
341
220
248
291
334
364
341
338
246
337
359
365
342
321
329
317
220
323
369
268
346
344
322
253
317
279
303
374
323
331
258
277
378
350
396
286
249
397
387
343
274
329
298
277
270
353
356
288
252
306
349
311
366
370
293
334
217
291
355
385
316
370
277
275
339
314
334
334
260
297
293
312
344
314
399
269
282
302
280
320
293
376
314
268
340
346
361
390
339
290
268
264
302
228
308
231
343
383
311
259
380
317
293
348
340
348
366
334
313
338
361
331
339
392
256
372
364
386
331
315
387
320
355
341
348
356
304
324
306
342
301
327
285
354
276
302
295
350
395
361
357
344
288
261
230
366
309
351
290
265
287
272
307
378
247
291
303
441
394
376
278
263
290
304
353
349
244
402
359
257
300
317
337
304
310
243
230
298
339
372
300
309
343
355
370
270
362
265
259
304
304
317
333
312
279
320
276
268
261
327
310
324
337
356
247
331
322
306
384
306
334
227
257
245
210
285
339
363
260
392
340
369
355
317
304
378
256
292
378
348
294
195
309
262
354
319
196
274
264
314
291
267
340
268
383
362
347
318
307
340
302
367
329
322
332
296
333
176
306
374
339
268
345
314
342
368
348
306
208
349
388
303
279
360
308
292
335
276
281
295
249
282
311
316
375
256
321
306
350
261
298
279
247
304
302
372
319
307
326
275
279
318
324
336
299
204
342
364
320
279
296
312
404
297
345
336
318
327
315
403
286
342
234
324
258
273
327
361
263
345
239
303
303
387
356
297
349
330
340
281
283
287
329
265
368
275
380
328
241
309
244
263
271
357
275
280
358
318
316
326
283
258
369
278
375
346
329
304
342
325
243
293
337
326
285
336
386
336
372
340
296
232
279
335
287
261
211
304
442
314
314
292
373
331
335
241
303
232
340
318
302
257
407
244
287
248
289
383
298
329
314
311
321
332
359
266
314
380
343
362
350
271
252
352
283
334
284
328
351
369
326
325
402
314
230
342
277
293
316
257
328
246
283
348
354
320
357
341
284
336
267
362
327
253
345
319
346
323
384
255
345
309
313
306
357
344
319
346
289
230
314
251
315
379
292
328
284
335
370
271
363
293
368
357
323
234
378
360
408
324
303
280
250
339
376
332
339
291
236
284
350
330
264
310
353
269
273
354
359
313
317
331
348
293
329
397
334
312
274
279
356
384
338
280
280
327
220
318
256
261
290
221
367
305
399
338
301
274
350
383
328
370
282
374
303
339
309
312
284
276
285
350
269
342
373
260
259
250
397
382
399
337
335
340
322
323
262
368
389
331
241
284
274
350
342
250
304
248
304
320
338
244
315
341
324
286
331
343
337
322
295
380
288
397
353
351
316
292
246
374
285
250
267
319
284
279
300
382
331
261
296
414
337
281
345
294
328
330
350
346
373
281
237
359
378
302
246
159
342
253
319
369
307
355
317
409
329
306
363
275
315
279
289
318
343
391
363
301
247
266
315
358
251
330
231
266
320
318
299
383
299
347
310
304
276
258
318
364
283
312
312
367
374
346
299
316
281
334
257
291
317
359
223
300
364
366
386
358
299
362
323
285
291
318
325
316
323
289
248
365
352
272
288
271
274
235
374
373
316
315
337
366
334
369
241
367
351
297
350
270
325
351
240
355
381
296
312
300
349
350
356
312
370
360
312
292
314
277
309
395
261
332
327
379
410
385
336
279
224
234
331
295
331
337
313
261
343
218
302
289
296
302
275
382
417
256
286
248
367
374
325
323
310
314
302
299
323
312
341
343
327
279
340
360
334
313
407
335
332
346
288
384
312
348
269
332
295
357
354
328
322
206
324
260
332
221
327
268
244
324
289
300
380
247
268
363
368
342
280
308
345
235
395
390
334
333
305
345
337
360
268
371
319
311
344
302
381
287
312
290
352
325
250
335
312
372
266
338
271
307
257
339
284
369
264
356
276
335
318
366
269
256
241
352
343
308
278
362
283
326
288
348
347
206
279
329
326
279
301
268
360
320
201
274
300
374
301
227
293
258
272
351
370
323
333
270
304
265
325
390
328
266
281
291
327
349
339
268
254
355
258
303
295
323
336
340
359
364
266
285
275
270
334
389
349
383
337
333
297
299
353
214
323
298
305
322
308
240
326
331
417
341
316
343
266
287
288
354
324
387
372
309
253
351
237
335
419
327
309
271
371
333
372
315
396
342
308
348
214
335
387
356
342
302
218
288
252
332
368
341
325
376
279
377
236
309
332
299
359
338
307
373
314
322
249
383
263
362
315
330
366
293
306
284
276
223
337
298
336
267
354
340
393
361
246
320
294
301
320
337
253
288
338
296
234
362
271
316
254
355
270
318
237
399
353
327
386
272
363
410
389
307
330
320
363
348
371
289
269
255
387
228
318
344
210
396
311
364
264
273
282
320
376
264
284
225
333
358
288
338
316
336
332
341
325
253
282
329
301
295
341
306
279
344
290
388
260
244
364
325
281
326
313
324
295
271
293
277
359
342
306
257
264
307
266
286
266
369
338
327
305
297
358
316
362
314
268
242
279
304
378
341
352
330
351
300
315
334
369
259
260
293
311
369
285
350
308
206
319
325
366
356
339
328
242
280
290
371
346
309
295
307
340
272
337
228
293
279
366
328
335
366
277
359
316
293
351
289
386
348
317
376
324
254
286
304
350
234
369
255
328
336
290
380
370
345
369
315
376
300
265
259
347
386
290
315
332
260
382
376
273
294
320
329
369
334
291
351
289
349
260
334
264
330
315
299
376
311
313
293
374
351
370
305
284
273
299
297
294
382
220
380
328
294
250
332
348
311
366
319
318
211
253
344
420
318
395
351
226
245
332
282
256
369
348
320
288
218
327
295
235
312
394
400
350
344
399
293
411
288
302
326
371
294
285
345
283
337
344
324
417
393
297
275
303
299
374
388
238
336
251
255
305
297
270
290
217
332
285
313
298
325
267
349
298
315
318
336
389
357
310
339
251
358
347
320
321
298
322
294
336
341
320
324
314
340
236
334
314
354
363
381
428
307
303
267
295
356
381
350
352
324
339
334
261
324
292
271
266
354
356
274
355
311
275
244
354
346
354
302
277
348
315
310
251
380
319
427
277
318
329
352
223
298
321
212
290
309
383
243
289
288
310
344
249
295
282
339
346
378
290
320
325
289
391
293
309
300
319
340
209
212
251
301
269
344
312
373
340
292
365
257
317
337
296
384
321
320
371
321
301
318
332
392
326
346
301
341
372
334
344
325
324
339
349
373
285
381
313
258
290
234
297
332
278
317
317
284
392
315
348
302
313
335
382
291
290
224
325
272
318
327
320
300
401
340
281
299
197
343
390
317
293
277
345
314
348
219
347
311
217
335
341
299
240
316
359
313
328
246
247
409
377
325
289
292
396
329
272
321
259
348
321
420
346
292
279
302
365
227
340
328
314
361
272
343
300
317
213
294
330
356
370
286
284
374
354
352
291
139
311
315
348
278
351
231
256
377
305
344
326
327
316
311
370
330
344
280
293
352
337
366
309
285
315
327
269
352
351
338
256
329
384
209
309
299
225
276
310
357
354
312
319
317
316
392
227
261
328
363
310
304
299
329
313
343
275
337
313
267
303
294
339
320
420
316
260
296
331
351
298
348
334
285
304
269
319
286
327
315
332
373
364
245
333
322
341
281
322
266
372
244
332
289
275
294
320
288
275
222
381
305
297
324
275
390
312
298
316
335
316
291
428
326
285
338
350
275
290
263
287
305
378
243
355
309
329
321
290
275
221
304
299
331
255
257
220
345
326
369
387
304
345
354
330
301
330
257
350
264
350
360
325
238
291
364
291
332
365
262
362
306
317
245
374
322
318
310
354
306
216
367
272
323
390
304
251
299
286
379
315
377
314
361
383
358
323
367
277
255
343
331
266
323
287
364
351
322
235
346
270
294
400
328
377
323
368
282
322
370
313
312
322
313
293
339
315
301
321
272
284
341
331
324
186
370
318
294
377
348
340
276
281
296
328
292
340
331
366
342
262
256
286
276
253
309
353
247
307
354
284
350
277
269
259
282
332
319
419
327
333
310
295
267
353
269
329
320
426
360
289
227
427
346
300
313
300
299
255
269
333
304
283
331
372
371
334
321
252
307
300
337
323
293
295
301
277
323
262
287
399
257
357
321
350
253
342
375
299
336
329
315
327
258
331
242
308
335
275
339
288
278
250
308
287
304
299
313
320
337
345
353
237
334
306
312
315
166
346
260
332
279
281
333
269
326
398
263
297
286
253
408
307
307
299
279
351
273
296
290
326
340
284
370
313
368
270
359
378
253
339
353
287
277
312
291
345
363
238
371
276
300
326
388
305
348
363
373
261
337
306
299
352
298
216
305
284
315
260
262
346
350
276
246
305
334
294
343
373
319
355
271
327
237
330
272
242
338
330
317
370
285
404
392
244
318
343
323
307
281
345
283
351
286
226
360
315
380
314
344
345
348
321
254
287
301
266
376
337
242
333
383
220
272
278
299
275
338
280
314
243
372
278
331
319
346
340
295
250
288
349
330
276
337
372
294
227
349
453
365
381
389
365
210
212
295
199
260
286
321
310
348
325
317
346
353
215
275
347
261
347
244
326
311
348
337
385
312
320
347
295
403
389
329
343
328
289
295
279
350
323
249
326
327
383
342
286
392
352
353
327
279
401
312
368
278
382
325
365
373
312
346
355
347
308
336
365
289
297
328
358
323
251
294
364
230
318
288
367
348
318
325
358
336
392
387
327
400
238
342
351
320
355
299
311
274
320
263
341
259
393
235
219
359
326
336
407
307
331
388
353
336
407
292
337
281
313
332
360
298
233
313
328
273
279
287
280
249
319
272
336
338
395
388
226
328
283
311
330
236
292
361
342
370
329
359
307
311
260
239
315
292
366
342
334
346
334
302
416
273
276
329
291
253
326
354
324
260
328
306
273
280
286
338
305
374
244
333
240
331
343
285
319
335
274
319
312
279
344
337
243
244
272
363
297
355
304
287
330
318
293
285
344
260
363
269
272
244
320
355
248
328
289
296
348
290
243
279
333
294
351
360
275
279
378
291
302
343
299
303
365
328
353
267
326
380
287
348
354
334
310
292
241
300
361
351
377
393
330
268
277
301
297
310
316
334
274
385
282
333
336
370
267
283
241
358
323
303
296
311
235
316
444
281
323
333
234
278
340
298
381
397
318
327
353
302
344
261
275
340
323
278
288
289
276
328
335
382
388
404
358
364
212
302
391
291
246
297
423
319
268
348
345
358
347
355
307
331
291
354
340
257
366
369
295
328
262
356
349
318
299
350
252
318
343
354
313
286
357
320
336
272
234
260
383
299
274
389
324
318
288
358
261
269
286
231
302
277
311
331
206
329
316
324
358
385
260
311
284
298
304
307
362
320
370
256
280
312
304
372
332
297
317
353
303
308
356
381
342
396
262
325
269
290
273
350
289
343
335
316
270
399
261
329
272
336
404
317
362
315
332
322
325
435
303
359
296
325
290
289
328
280
356
218
310
285
320
312
384
342
247
342
279
281
366
326
277
297
390
259
345
298
262
336
324
315
403
329
348
342
300
334
323
317
273
353
352
323
397
256
271
393
322
408
314
309
230
321
247
334
293
327
254
288
357
331
340
289
288
226
243
295
303
326
381
373
256
321
337
322
355
352
358
302
346
292
308
360
276
293
271
341
296
252
235
251
283
312
337
359
320
298
303
288
356
240
334
251
256
235
263
334
307
288
313
209
374
318
301
400
270
304
263
397
354
324
329
343
292
398
336
366
329
252
371
282
366
328
275
313
231
309
312
289
200
292
404
374
342
362
314
315
295
309
342
248
305
302
332
361
340
384
330
240
238
300
301
257
300
242
329
301
335
359
356
348
305
373
229
266
327
330
334
306
291
223
345
237
214
318
321
360
309
272
367
265
309
392
304
357
274
310
301
284
301
260
249
408
395
321
359
378
422
242
296
330
362
331
256
238
313
304
286
294
355
279
376
334
290
258
341
381
302
322
312
328
347
336
320
293
299
280
230
314
278
354
304
332
287
300
282
333
347
359
255
377
301
319
321
277
390
307
294
233
365
283
367
320
334
316
330
352
287
282
335
321
259
312
314
342
312
306
334
257
349
292
236
355
310
363
357
278
343
370
296
325
274
317
365
367
310
299
392
363
359
287
371
228
310
367
308
358
342
328
293
311
328
242
321
298
321
313
250
257
316
334
277
332
234
372
362
309
334
295
306
305
297
336
275
352
268
280
276
393
357
356
298
277
244
338
279
296
313
352
322
279
339
383
291
203
250
338
359
335
271
271
341
332
295
329
301
290
360
355
318
317
364
249
343
288
330
323
325
353
336
351
307
322
309
341
295
312
227
337
287
315
352
346
347
321
377
328
269
318
243
315
390
341
328
258
339
359
310
298
324
391
384
297
281
325
345
341
352
397
366
271
381
290
273
277
303
330
300
349
348
332
289
267
286
288
395
295
282
267
341
345
242
287
257
349
353
273
342
359
309
208
355
305
283
321
237
217
342
371
269
252
294
308
296
313
270
266
376
318
282
319
352
309
319
239
324
171
348
337
225
352
289
278
352
318
286
353
341
378
354
276
353
365
254
342
426
319
250
349
340
239
311
297
311
385
326
293
316
330
268
293
251
356
265
290
294
273
335
373
329
389
286
276
224
327
278
337
303
238
253
285
300
258
290
331
316
365
245
303
239
236
277
412
408
358
242
272
284
232
436
315
384
343
354
347
304
331
247
333
314
282
302
259
366
366
243
275
366
315
371
304
354
324
230
335
295
317
346
236
247
422
214
363
339
366
243
359
325
306
288
331
369
282
259
238
300
342
321
252
240
306
269
290
367
309
370
338
267
282
316
315
314
398
370
270
298
271
332
339
340
310
283
367
319
343
219
344
310
225
347
403
359
360
343
311
302
272
331
319
285
291
366
379
364
344
284
347
309
252
328
251
264
366
311
295
287
270
260
276
300
377
394
350
237
317
327
343
338
316
281
366
320
349
295
445
356
259
340
325
317
306
284
277
264
305
306
326
326
264
334
299
342
325
255
360
222
324
335
313
271
236
386
317
291
282
306
273
245
380
320
235
246
284
311
288
313
285
332
266
255
383
319
325
264
317
286
326
300
356
337
352
257
253
273
289
249
295
324
353
309
312
282
287
389
350
357
292
278
391
327
288
362
226
331
326
369
298
314
353
234
348
394
325
339
289
335
310
291
276
334
334
297
341
342
290
296
361
259
315
410
364
327
299
283
288
345
342
396
380
291
302
300
277
272
343
359
308
394
304
407
325
392
240
295
324
361
360
296
321
322
359
260
352
444
309
295
302
276
355
271
297
309
319
389
313
321
327
289
344
364
315
285
214
424
280
307
333
351
364
347
317
399
337
318
321
308
322
333
346
285
330
265
298
361
401
296
296
315
341
297
288
266
411
336
240
252
314
267
330
320
333
328
400
303
256
304
391
335
368
277
310
228
359
316
331
311
364
268
311
305
326
301
296
250
258
317
344
330
338
251
281
360
332
346
268
236
269
367
357
366
358
366
341
274
232
389
339
372
334
329
360
326
308
323
276
321
370
326
325
371
336
295
282
201
291
363
323
339
380
333
300
286
353
369
376
316
315
285
243
270
287
347
297
361
321
400
313
284
338
267
330
244
305
422
242
294
404
260
334
334
237
275
298
264
256
287
346
332
392
311
254
311
357
337
269
323
290
366
344
303
272
365
345
259
372
356
362
340
296
383
280
319
321
319
246
323
319
337
328
383
232
356
272
280
312
289
354
271
270
226
334
354
332
341
396
304
273
296
272
384
238
349
344
408
325
320
335
364
320
290
264
265
313
285
372
353
288
363
233
407
254
331
354
284
317
303
335
292
375
350
280
343
285
279
270
250
267
337
264
241
308
260
307
354
384
291
315
294
255
296
353
282
372
283
341
337
335
308
348
276
316
344
365
225
314
325
253
343
352
297
350
333
358
328
237
359
400
297
330
270
420
336
368
315
352
254
360
274
310
336
363
295
304
357
343
265
246
323
305
414
266
319
378
311
289
332
337
328
302
301
285
325
369
314
283
340
222
377
328
376
344
296
353
296
290
311
358
358
303
285
300
323
384
343
417
306
370
383
327
380
320
357
346
301
327
304
362
303
371
270
334
311
315
280
280
294
349
366
345
326
333
312
276
292
340
366
362
246
342
363
313
208
366
306
366
389
262
314
220
332
345
347
410
294
327
296
349
279
352
340
304
221
373
282
381
349
253
251
310
323
379
329
322
298
355
320
262
284
318
300
298
370
334
347
307
305
305
336
370
349
312
386
313
300
317
376
280
323
276
262
221
324
252
352
262
305
252
292
299
302
335
306
358
323
381
308
358
288
303
297
317
286
357
328
304
312
321
368
253
286
316
291
322
293
366
280
281
297
266
302
371
322
362
359
316
280
269
297
339
310
345
289
418
317
271
330
325
309
271
228
384
290
358
278
334
337
288
354
305
305
252
251
369
287
209
330
272
301
359
263
316
347
301
284
321
297
305
270
345
337
300
352
302
307
399
327
331
295
299
321
255
278
368
346
313
349
332
295
327
364
242
317
339
361
351
330
359
265
395
291
291
388
314
266
280
371
381
324
233
375
280
277
264
397
316
309
282
354
272
315
225
262
390
341
329
293
318
326
313
321
291
290
324
310
334
341
306
312
339
403
289
279
230
356
333
313
328
321
258
253
353
259
288
351
322
381
349
356
305
367
291
369
307
253
306
263
303
266
358
232
351
296
337
280
317
276
309
344
331
325
319
289
376
329
340
324
330
317
309
302
242
365
293
276
327
303
371
330
259
291
268
314
322
239
328
327
265
326
316
315
343
348
291
273
324
256
348
353
380
273
375
305
254
297
323
265
313
326
399
333
325
189
348
346
333
390
230
272
337
304
377
368
307
305
339
354
307
402
314
310
344
379
354
373
263
297
318
208
415
376
393
323
307
261
285
415
329
313
295
307
287
345
277
256
360
354
262
330
317
233
393
318
309
242
320
322
347
288
321
326
348
363
252
315
258
265
317
308
374
370
307
268
258
366
370
273
296
258
354
311
286
309
305
319
322
296
304
345
346
326
302
231
330
386
379
332
375
358
293
339
268
298
276
315
315
244
222
348
337
303
287
391
377
353
265
322
307
344
212
348
300
375
336
289
363
273
333
307
311
323
331
308
312
354
434
268
352
313
219
318
266
348
400
298
289
198
306
315
362
273
311
295
357
251
376
344
363
323
350
232
295
352
376
299
296
302
261
272
275
320
364
287
348
266
224
387
304
300
371
308
380
253
419
343
289
335
339
279
290
322
295
311
426
359
383
307
255
263
342
386
203
278
306
283
395
343
294
290
331
328
371
324
188
350
323
247
349
376
320
294
330
309
299
258
280
257
325
327
335
297
379
301
263
275
274
311
351
318
307
268
285
291
332
225
368
302
344
189
246
295
291
326
230
379
357
297
323
287
293
321
375
327
358
282
365
277
312
376
356
368
258
345
332
339
339
306
276
233
351
359
362
349
311
392
302
387
387
373
335
388
309
323
332
215
272
263
378
304
248
316
305
312
291
350
264
304
243
416
332
297
333
333
286
303
279
308
338
235
318
273
356
354
374
377
329
242
325
332
271
349
338
256
322
350
355
378
363
337
313
300
252
320
250
356
340
291
287
405
318
276
386
357
302
303
336
260
286
316
353
360
217
387
295
421
258
383
264
296
345
285
300
299
324
298
286
250
352
314
290
247
256
298
328
326
416
261
305
241
325
317
315
376
342
324
356
412
275
342
264
293
277
337
310
339
379
359
271
300
384
287
365
357
322
316
220
324
237
285
260
281
305
293
318
352
394
406
284
272
395
326
248
331
351
331
373
273
349
300
236
341
336
388
357
314
312
356
250
356
281
301
279
359
272
319
365
370
280
290
344
328
341
347
346
314
342
364
375
403
325
269
236
316
393
351
335
289
300
296
348
257
253
330
306
337
310
288
285
235
365
317
346
334
349
419
304
324
293
271
257
370
264
294
323
313
267
283
278
219
296
280
313
301
332
301
334
300
338
323
244
287
319
313
295
322
417
341
251
336
212
266
330
293
290
292
352
346
304
323
327
323
300
370
302
314
298
319
265
358
407
311
385
296
357
292
371
361
257
292
368
284
316
242
292
310
287
313
290
270
354
317
342
316
358
281
265
276
351
304
263
376
289
354
285
309
371
324
327
276
328
275
267
352
322
367
328
346
388
344
279
318
319
269
339
277
206
346
459
219
368
319
259
316
317
372
327
247
300
367
355
309
283
327
294
292
278
304
340
335
187
328
395
242
251
307
268
353
375
278
291
302
223
362
362
285
294
319
330
302
292
359
329
312
238
295
345
311
285
299
378
272
364
375
309
274
309
281
348
261
317
250
297
358
286
350
340
275
334
355
351
335
317
360
312
333
291
265
282
292
376
247
315
345
290
310
367
333
340
311
310
315
283
296
298
382
298
275
363
286
370
314
332
303
326
317
332
404
367
306
321
313
362
266
296
428
313
328
316
292
377
298
334
311
264
338
374
358
289
385
342
361
381
316
341
303
359
344
317
282
352
209
311
401
337
274
313
316
301
312
322
276
362
291
387
309
300
284
254
343
354
300
295
297
227
388
281
369
279
314
327
434
278
242
298
387
338
336
237
320
357
352
296
272
300
325
318
325
311
271
303
286
291
331
277
349
359
329
334
288
265
334
335
310
392
335
267
412
286
370
351
354
290
355
349
295
343
257
281
306
340
375
369
323
296
333
415
310
364
265
239
227
294
327
282
344
242
302
284
337
364
263
324
347
445
344
314
271
283
308
263
306
328
248
304
354
318
215
357
278
346
294
228
332
331
289
303
323
329
338
271
317
362
291
294
375
399
337
222
293
268
344
342
394
349
314
392
273
361
349
236
365
390
363
381
280
337
279
240
386
317
314
341
311
320
360
325
363
285
331
340
275
345
230
342
288
325
407
334
302
357
253
354
322
338
327
313
291
320
353
306
272
321
386
353
252
299
349
276
378
307
466
309
342
308
341
301
291
337
324
185
327
322
340
260
304
206
274
337
336
359
288
316
309
261
299
329
268
301
258
341
311
279
331
277
333
345
272
298
326
321
283
267
276
357
317
342
340
304
366
345
298
336
411
288
322
327
357
320
412
301
162
391
347
289
327
335
365
325
274
366
365
372
277
266
348
345
337
298
362
279
292
262
262
420
273
325
291
295
347
343
251
254
297
316
333
274
352
368
285
400
343
271
329
348
265
322
319
255
314
318
301
314
319
320
343
352
260
296
231
307
279
319
364
302
339
353
335
321
301
221
287
254
306
333
345
425
275
339
291
319
403
288
283
344
307
316
267
315
255
250
293
369
350
306
333
329
301
365
273
304
297
332
341
288
289
106
320
294
239
279
350
329
308
192
280
363
316
319
336
290
289
265
302
338
335
365
303
343
344
375
284
368
288
347
328
238
269
312
383
309
331
346
350
366
180
373
323
332
296
288
367
337
290
328
380
313
319
312
356
335
357
345
374
357
408
331
357
253
241
335
315
276
399
330
189
387
239
251
307
251
350
426
291
392
295
287
267
226
322
322
260
318
239
352
292
347
240
305
307
277
381
359
354
249
256
349
397
260
303
282
360
276
359
312
267
379
344
390
268
372
327
321
330
330
379
311
269
373
394
329
273
298
324
391
286
282
355
339
312
237
343
347
281
288
276
261
391
321
224
302
282
286
263
283
298
283
282
233
382
311
342
309
318
360
254
380
277
321
358
322
387
233
335
310
320
289
312
391
355
282
253
371
367
334
324
306
425
256
361
343
312
333
327
361
344
252
314
262
339
295
383
318
302
329
205
339
297
341
331
314
354
286
343
338
312
311
341
408
347
228
306
293
324
302
325
239
302
346
398
301
282
367
270
314
335
315
281
280
295
334
351
318
384
318
302
306
201
347
353
263
318
245
269
240
356
325
298
268
290
326
371
368
375
309
267
338
299
304
366
343
369
267
411
346
304
327
306
338
269
330
323
239
348
406
328
308
301
243
353
214
296
338
259
303
289
255
278
325
373
264
347
344
330
289
330
276
248
278
294
409
284
334
318
401
310
352
369
371
332
304
371
300
298
289
346
284
319
424
328
325
189
396
265
287
299
362
438
338
294
320
383
374
333
234
343
297
324
227
315
364
308
391
271
299
323
283
255
209
344
346
341
329
307
250
376
257
440
261
293
231
288
326
320
319
259
303
350
271
290
273
334
203
268
340
320
370
294
323
320
317
297
409
300
375
352
344
295
368
325
234
373
298
339
396
342
322
362
326
279
335
376
301
298
330
374
343
314
356
314
362
246
351
291
297
298
243
300
312
368
300
268
290
264
361
354
336
237
372
282
269
364
292
349
315
313
376
374
309
329
304
352
336
373
308
342
289
313
294
332
256
275
263
317
268
349
326
333
304
276
224
277
376
320
358
298
361
343
302
319
283
229
342
419
277
280
318
279
331
261
389
324
319
265
260
341
337
312
262
334
313
360
379
284
317
276
280
325
247
355
345
299
273
247
321
329
282
359
391
309
260
365
399
284
253
259
326
336
334
319
379
314
361
339
366
318
307
277
337
347
315
307
318
339
359
353
312
297
304
298
336
298
342
284
286
277
294
326
293
346
313
281
277
318
369
341
312
356
343
299
303
270
335
297
264
319
260
327
295
322
292
343
359
342
290
322
323
262
362
313
255
352
279
319
379
327
318
325
343
387
286
222
343
253
305
267
294
272
280
219
301
277
307
299
327
323
274
310
313
379
330
324
373
308
337
374
316
350
330
258
288
250
358
327
242
251
310
339
289
298
285
303
319
332
293
278
285
339
320
357
402
345
308
327
408
398
296
362
355
275
361
287
332
227
387
343
320
278
242
355
279
307
292
401
281
344
312
373
322
342
289
292
354
255
357
324
370
372
360
428
336
286
374
303
334
371
258
283
318
266
348
348
230
300
283
383
362
203
290
345
309
279
313
366
316
310
224
331
275
381
265
340
266
229
321
379
268
295
240
372
287
361
259
269
343
273
312
344
318
297
373
357
253
215
312
320
336
369
317
266
351
329
252
288
248
365
340
332
399
293
243
291
295
420
416
385
355
344
345
386
209
281
327
234
313
252
294
274
339
292
353
325
325
242
275
265
339
297
339
289
308
302
380
235
312
271
316
382
323
334
312
161
254
241
301
332
249
302
365
369
304
310
341
396
296
385
298
267
298
344
351
388
354
216
303
328
290
303
356
348
342
264
273
311
334
261
363
315
313
341
298
290
345
321
346
362
287
289
320
259
307
235
300
234
316
337
363
291
286
306
315
321
334
225
354
333
363
304
263
315
277
296
290
338
267
283
304
300
269
283
301
381
346
357
351
405
291
408
284
336
333
336
330
390
304
315
309
349
318
315
281
342
320
329
318
367
287
298
309
297
325
258
329
336
242
348
341
347
362
230
290
294
308
268
326
269
353
301
311
405
229
283
373
312
277
324
328
374
240
298
292
286
319
303
331
265
349
272
377
366
323
336
303
331
293
276
292
403
279
373
284
345
298
328
331
344
333
322
355
259
332
356
279
375
281
355
234
297
322
353
322
387
300
372
350
282
272
311
355
336
338
296
319
354
296
366
313
267
297
348
281
357
306
366
297
287
295
320
291
347
262
344
404
336
342
336
301
389
374
307
301
364
303
295
318
341
354
268
324
399
343
298
319
303
280
263
314
306
340
418
350
264
248
334
317
327
286
353
332
240
216
337
335
362
297
284
337
344
334
352
335
326
289
374
344
434
349
352
274
355
278
370
342
384
251
340
265
275
329
371
365
262
290
322
284
370
286
372
265
317
271
358
406
324
332
259
330
249
305
358
240
274
346
374
330
286
220
331
250
326
309
237
328
277
334
350
234
302
240
324
349
381
285
362
259
282
355
417
280
310
190
236
274
299
362
348
350
289
270
369
325
292
296
313
303
334
315
323
294
330
266
314
281
305
386
323
261
364
253
341
381
271
264
350
371
284
261
304
266
347
232
265
345
334
268
307
352
326
275
246
292
282
302
341
347
296
357
252
333
331
265
299
233
427
281
182
365
335
329
298
304
306
242
332
352
313
224
272
360
315
338
299
332
378
375
316
356
376
320
327
281
295
254
266
215
347
311
254
317
297
244
345
340
309
344
285
249
385
296
323
320
261
251
272
312
383
348
219
282
350
313
298
251
368
303
278
361
298
256
272
296
300
245
298
298
347
280
331
310
348
358
321
408
314
294
316
333
366
296
227
355
304
280
260
323
284
283
290
288
311
354
272
339
321
318
319
337
253
338
329
250
337
333
220
272
316
321
234
248
319
322
294
368
287
359
322
374
257
322
353
318
318
388
246
304
308
296
349
296
289
373
353
350
296
355
358
286
326
284
365
378
369
307
329
286
321
282
307
302
307
277
266
259
330
316
270
313
302
345
225
200
283
360
316
335
277
300
352
295
252
318
328
318
298
362
250
404
310
381
254
302
335
353
322
348
304
309
277
340
305
363
331
298
323
397
311
258
425
300
277
306
362
270
284
243
292
268
324
268
385
348
268
366
307
273
270
360
313
303
342
303
340
363
300
292
291
322
378
207
376
262
277
374
299
309
363
254
262
242
353
279
290
333
380
316
276
291
328
329
258
320
333
338
333
337
325
305
337
321
271
347
331
310
412
351
327
343
337
382
228
372
333
374
378
267
258
259
315
293
332
235
293
318
274
290
313
307
268
244
247
414
362
294
311
372
293
304
336
267
366
420
319
319
258
341
296
385
263
331
302
403
325
301
350
278
333
332
271
339
199
253
326
279
299
314
412
351
241
332
321
278
331
284
341
285
241
393
283
342
370
294
305
275
435
327
276
333
311
354
293
392
357
331
263
405
328
278
272
284
335
343
321
343
381
314
321
318
329
264
270
276
254
358
303
340
308
241
315
379
365
326
338
273
409
339
352
317
276
316
282
278
329
342
351
356
335
237
264
306
292
232
292
407
263
369
269
271
274
351
243
337
302
363
367
347
386
325
444
351
294
368
234
346
364
315
310
288
280
384
248
283
258
397
381
279
234
357
288
277
347
259
282
243
329
307
279
371
300
405
391
353
374
363
164
337
354
319
332
322
289
330
296
314
277
315
312
302
306
339
325
315
282
342
272
240
374
398
308
337
361
261
288
316
328
331
310
332
361
271
377
332
313
305
342
324
279
298
247
339
253
316
315
364
268
297
299
414
237
274
289
348
251
284
305
348
323
340
306
330
285
261
303
310
340
322
385
269
238
266
334
372
372
344
276
372
276
234
306
306
297
405
354
251
322
354
213
311
300
308
308
347
310
333
362
357
360
306
375
290
334
301
365
274
303
274
313
326
327
319
333
317
321
234
309
386
240
344
295
302
277
360
287
291
350
258
381
300
304
353
279
329
394
219
254
262
286
322
376
326
329
335
301
293
246
314
286
275
290
362
327
307
403
432
342
317
283
305
393
245
356
353
349
344
316
301
375
281
280
372
286
358
339
266
334
400
250
287
307
293
257
374
334
238
267
327
387
233
209
278
277
371
296
398
258
320
322
226
255
271
283
417
263
344
356
361
348
281
369
265
313
341
320
260
307
366
305
316
325
258
254
368
371
252
328
261
307
354
377
385
320
260
281
344
336
302
344
327
288
366
331
288
319
307
213
199
209
283
291
327
316
273
249
283
262
328
297
280
281
301
286
289
351
268
329
267
219
300
231
244
305
242
341
334
322
339
333
338
302
378
248
327
354
331
309
273
345
332
293
311
372
335
346
310
261
297
324
274
359
346
367
327
337
328
267
276
260
359
291
406
306
323
244
274
356
283
365
339
326
289
312
306
259
312
295
420
229
390
315
306
296
297
383
316
372
275
391
262
261
250
217
228
324
290
245
354
335
274
333
378
331
342
285
257
326
348
390
358
314
368
326
300
237
340
353
285
250
314
370
328
392
239
295
357
293
302
280
269
317
285
305
332
227
269
280
238
264
291
255
374
266
286
370
338
207
301
322
257
283
282
273
350
221
375
255
358
354
393
304
299
271
331
294
267
337
277
360
346
408
328
336
390
296
376
257
318
380
375
301
335
302
330
331
281
329
280
275
310
293
316
314
354
348
304
343
331
314
258
293
410
317
359
375
269
276
247
283
336
353
259
326
376
283
301
251
226
361
312
298
358
314
295
325
352
321
321
349
280
310
313
378
245
239
293
380
339
322
273
315
347
337
274
246
284
338
346
368
254
353
332
252
312
313
365
309
330
374
292
287
320
385
406
349
299
194
371
334
334
348
228
410
379
317
303
247
260
347
280
374
230
323
334
331
382
348
249
382
281
314
382
368
258
316
307
375
284
338
272
282
370
349
374
274
284
385
351
293
305
357
342
305
369
337
308
309
272
257
331
362
324
309
345
385
255
357
286
316
353
253
352
349
280
378
332
333
274
322
329
344
313
308
225
282
356
384
300
396
274
383
427
332
299
350
236
286
297
334
359
289
296
344
318
285
337
394
331
332
240
324
246
403
288
275
258
304
305
289
238
277
272
238
362
411
278
358
299
327
319
250
319
354
346
308
306
227
351
324
263
322
367
296
288
366
253
397
299
316
331
358
336
257
366
348
313
313
277
312
290
356
353
405
331
348
311
406
312
356
303
346
356
300
353
286
314
299
328
321
304
299
220
347
305
253
252
333
279
267
299
327
316
292
263
167
329
307
387
315
243
262
308
278
294
293
297
347
276
333
372
280
270
258
312
274
317
356
326
315
330
336
213
287
317
280
233
340
304
279
276
337
231
302
350
371
273
290
338
363
328
305
304
306
286
279
327
270
353
328
324
358
363
304
373
329
289
383
400
354
227
344
348
290
407
350
292
246
190
313
308
332
303
267
299
202
347
308
274
318
258
413
297
298
266
399
315
282
331
326
329
314
315
310
345
341
236
295
308
309
283
342
265
292
385
281
381
346
293
374
267
304
332
276
287
300
287
291
275
310
382
363
292
372
378
268
323
299
384
245
315
262
324
339
313
397
313
358
293
322
335
245
262
267
292
283
334
416
373
266
377
298
317
365
284
310
360
329
313
378
259
315
439
326
271
346
318
285
261
252
260
243
343
369
330
354
273
313
412
187
262
317
299
327
347
337
307
270
329
354
246
230
334
292
231
262
294
293
329
270
323
387
293
325
280
291
356
303
307
314
309
344
285
211
287
356
326
365
267
249
316
260
262
300
335
281
364
225
362
323
310
335
370
318
224
303
348
261
278
346
348
316
209
242
304
316
284
310
330
281
357
297
251
338
352
258
289
308
361
281
328
342
325
331
298
262
277
353
329
317
350
416
333
368
220
368
265
325
324
324
359
242
292
302
345
281
239
411
318
306
310
246
282
310
347
274
347
225
314
246
275
305
337
284
264
256
341
264
282
311
276
262
279
300
365
326
299
360
367
287
226
351
332
307
313
327
318
254
329
366
353
347
255
342
266
311
383
365
326
320
325
396
274
241
356
325
259
267
353
232
366
366
298
362
261
285
332
278
288
334
318
330
329
282
281
284
295
325
345
382
266
243
287
363
341
332
341
363
240
334
298
291
374
343
263
389
310
285
351
259
384
321
272
336
317
305
324
353
341
205
281
304
317
357
288
258
281
278
310
347
333
298
361
332
334
318
332
300
349
228
342
292
318
368
347
252
283
309
332
330
364
270
336
322
305
326
348
354
351
352
291
217
333
331
233
274
346
325
331
300
268
302
353
281
318
284
318
331
241
392
336
313
293
337
396
320
355
388
290
350
233
288
271
346
294
343
294
278
342
304
361
351
335
283
264
313
251
372
339
338
304
444
377
315
243
274
271
391
289
296
342
348
294
266
333
383
331
269
283
268
334
287
319
315
395
293
248
346
331
320
306
306
382
269
326
341
345
299
338
322
294
295
308
344
297
278
306
276
343
349
262
298
272
348
291
330
347
344
225
236
320
331
312
265
344
366
298
373
341
298
352
315
329
347
323
324
291
228
310
321
176
358
311
349
328
331
270
267
332
336
330
240
293
348
315
307
370
256
297
294
354
268
271
232
305
333
299
305
324
306
370
352
326
282
275
332
283
309
348
316
330
324
356
271
356
260
373
367
314
277
329
358
237
336
340
326
311
286
303
299
273
311
272
262
373
304
267
360
346
334
316
280
354
354
372
335
386
315
365
353
348
192
358
301
297
284
239
300
272
327
366
308
324
255
348
251
302
302
307
353
310
387
319
375
228
402
327
307
349
325
311
342
341
286
255
320
245
335
321
261
214
285
228
312
360
345
307
346
303
353
284
334
268
213
292
333
358
328
318
326
329
338
367
299
326
326
316
316
269
313
357
353
354
375
331
282
269
317
339
325
239
359
385
347
323
332
360
285
357
315
388
273
331
263
243
358
358
265
283
305
261
333
331
310
313
342
317
381
271
322
328
269
347
293
334
326
306
338
384
331
396
281
307
284
356
319
342
287
387
325
289
327
307
306
302
342
353
336
344
260
364
291
368
286
314
251
341
380
293
295
269
298
339
325
378
353
377
340
343
337
316
334
307
328
264
373
299
376
316
343
332
382
324
271
296
350
312
373
361
276
248
328
322
313
282
305
275
279
378
284
217
351
376
275
368
333
326
324
380
309
338
221
337
339
353
298
378
324
366
289
372
341
297
349
263
333
338
389
343
322
316
341
338
389
295
320
335
345
331
329
360
342
291
252
404
301
302
310
314
272
324
281
303
300
323
285
302
352
342
268
334
303
253
371
326
349
254
290
324
318
340
341
246
318
229
303
342
347
272
391
318
284
269
228
343
293
335
310
260
336
245
273
247
373
254
302
318
302
358
332
399
366
315
256
306
270
238
285
287
268
320
271
348
320
340
295
318
263
271
314
352
317
319
283
332
161
317
331
306
332
285
358
283
381
325
351
365
328
340
280
279
302
353
352
265
314
278
293
306
360
314
322
329
324
232
292
252
307
319
312
382
269
366
293
274
327
269
360
312
370
330
342
359
265
258
398
361
274
362
354
255
313
252
331
304
321
318
346
289
310
368
283
261
253
355
350
317
299
283
418
344
333
328
318
345
362
370
297
277
179
322
276
291
351
297
325
389
306
311
371
301
314
307
398
309
277
331
301
319
372
262
287
355
324
347
367
275
370
209
367
390
248
312
339
342
290
307
232
295
363
378
316
342
344
257
273
352
322
335
248
264
353
322
400
363
340
359
260
293
356
396
279
243
390
390
326
203
361
327
255
302
317
292
338
323
385
373
294
331
318
400
388
325
315
376
317
348
400
339
329
304
335
350
382
333
351
240
335
353
310
297
329
347
268
303
287
350
274
255
382
291
286
310
266
342
283
252
365
251
321
290
323
358
354
355
352
299
297
382
338
327
302
218
332
301
209
332
363
287
325
353
348
316
343
333
325
261
374
371
325
278
331
336
369
334
231
238
300
359
334
305
357
314
265
380
335
372
285
342
310
301
286
344
315
251
317
290
312
318
362
372
383
318
334
235
356
337
337
255
352
278
312
334
339
298
376
297
323
316
250
246
273
353
311
287
342
298
342
329
286
244
270
311
235
285
362
365
364
317
378
344
351
270
373
223
293
305
292
339
344
284
325
346
361
328
331
307
301
312
319
311
253
268
213
345
289
316
289
332
313
403
346
312
404
280
297
303
371
314
271
244
322
319
276
384
196
331
293
309
380
340
375
322
303
314
358
337
319
312
392
299
335
339
251
354
327
326
286
278
421
361
316
252
384
334
312
290
355
293
341
340
356
332
355
325
288
296
302
308
328
424
309
289
266
371
296
318
239
324
355
294
256
327
287
311
276
349
366
272
316
407
287
336
345
294
315
286
368
261
282
272
290
300
305
374
272
349
261
274
272
296
271
296
317
309
359
281
342
266
292
378
324
356
357
311
297
241
260
306
294
329
388
284
346
248
291
304
220
258
324
326
270
310
301
390
412
328
377
323
226
344
357
351
267
253
396
327
240
297
347
237
353
347
292
282
290
317
317
386
305
315
311
283
279
379
351
339
329
261
325
334
265
367
409
261
407
349
351
327
328
335
344
285
271
239
337
221
333
231
290
373
224
318
324
302
326
345
342
391
325
323
298
293
385
359
338
365
265
266
287
323
265
271
305
352
368
345
229
300
286
363
310
350
241
273
207
317
303
251
338
273
290
308
373
332
317
376
332
318
291
310
384
395
349
295
301
369
258
331
363
329
284
307
336
317
273
355
349
341
306
273
411
271
351
255
313
380
259
323
297
330
288
266
358
317
395
295
316
328
250
278
365
377
295
327
253
338
337
325
226
343
349
247
282
344
275
377
349
221
378
268
324
346
270
313
297
286
299
301
323
330
315
352
308
334
360
265
373
253
381
359
383
308
301
341
335
326
302
321
270
338
335
333
253
304
422
332
322
320
308
298
333
316
376
304
323
287
349
348
379
323
352
297
316
381
325
335
367
340
306
291
360
312
384
264
351
206
364
241
298
263
289
308
274
278
325
303
357
285
302
335
366
341
322
263
336
309
262
293
248
335
294
372
338
332
310
325
365
353
347
264
349
210
275
312
259
317
391
356
284
249
325
362
260
332
337
316
280
376
368
299
370
321
339
347
333
320
417
305
366
366
376
264
217
290
365
350
335
284
326
250
313
337
406
323
366
284
313
352
292
259
340
334
330
414
304
275
241
309
346
266
320
331
380
297
334
325
273
252
342
323
244
358
272
305
291
339
315
318
340
363
261
319
269
451
295
264
253
280
268
410
287
286
300
336
270
259
374
333
405
347
283
370
359
373
263
251
361
253
367
352
239
343
300
265
393
416
311
347
331
327
250
290
293
298
281
341
319
332
266
308
338
337
384
340
361
314
335
371
273
339
300
346
243
327
346
308
257
362
358
282
213
321
316
322
268
296
323
229
328
379
267
307
337
341
337
353
343
256
311
320
341
353
358
307
298
238
298
310
365
365
350
289
301
254
280
279
359
274
308
355
318
346
411
316
391
426
375
373
299
330
270
283
275
282
344
348
307
327
332
333
228
436
322
323
279
245
230
318
356
361
328
384
303
308
364
311
319
321
330
437
283
347
388
357
294
369
418
352
299
316
365
339
317
284
269
286
407
328
330
306
354
327
333
297
324
331
292
341
278
339
359
368
330
322
356
329
385
263
240
318
397
344
291
261
248
309
281
341
284
339
386
350
299
270
236
355
336
240
318
315
274
342
366
359
369
336
343
312
226
336
337
341
373
347
270
267
214
361
269
428
310
287
336
286
410
296
318
259
289
286
322
333
266
210
326
310
320
299
429
298
281
315
277
403
247
339
313
282
226
328
351
371
411
367
343
267
264
287
304
320
246
233
367
309
358
293
275
298
318
333
285
326
303
291
347
314
293
243
297
373
318
290
240
248
319
338
306
321
307
227
321
332
257
309
374
329
352
302
266
317
222
319
292
371
220
347
316
306
253
401
261
252
189
346
304
337
375
299
257
380
287
314
352
371
371
292
289
354
305
327
318
256
258
278
297
301
355
347
330
294
232
288
340
337
283
244
307
288
253
413
335
375
316
267
377
258
241
312
381
322
266
292
305
267
371
325
338
391
301
371
387
271
318
343
244
364
281
321
322
359
305
182
433
345
355
236
274
228
237
323
262
292
284
316
356
280
345
264
362
307
355
305
321
349
375
343
303
359
279
330
359
213
273
267
284
388
336
348
372
284
292
320
301
299
273
281
368
275
295
273
334
335
366
344
318
346
394
311
363
362
324
331
203
290
315
236
289
310
298
356
436
355
243
369
369
261
332
264
365
361
359
325
276
274
296
340
355
309
345
298
221
396
258
377
258
236
334
308
274
300
414
294
249
391
404
369
342
286
304
320
335
282
334
240
300
373
309
348
354
298
312
297
333
315
319
334
303
282
314
257
354
276
356
326
327
273
274
335
388
359
321
385
239
347
309
286
273
288
277
300
228
346
308
278
301
312
250
298
356
306
312
386
344
285
252
233
319
374
374
320
275
336
229
296
278
307
274
321
309
295
245
390
314
312
333
332
303
222
365
260
265
405
307
313
412
344
355
371
300
390
276
333
314
373
323
246
351
260
365
283
348
353
326
335
326
279
307
331
210
356
356
372
309
336
274
295
228
297
358
273
350
253
299
284
338
306
264
373
407
323
315
348
238
314
314
206
306
312
255
307
299
319
305
380
320
366
332
343
361
388
301
261
308
360
323
247
325
342
249
333
261
297
240
306
323
255
364
308
344
349
363
348
320
431
421
413
359
268
352
319
313
333
308
293
365
313
269
277
296
353
268
370
312
194
282
266
334
418
253
330
291
347
279
330
228
231
296
333
376
332
244
226
415
298
294
306
391
292
316
315
349
337
308
362
335
309
339
417
316
306
382
329
304
254
299
340
390
349
376
326
318
345
350
307
352
301
340
368
299
351
340
376
364
260
386
251
267
310
338
302
376
277
296
324
322
250
346
299
346
360
329
276
352
339
385
369
345
311
274
286
254
330
347
350
192
297
277
344
295
338
309
308
363
251
363
335
306
306
284
326
256
291
248
298
251
298
345
219
261
237
268
261
283
289
322
253
329
436
306
305
358
342
322
330
322
371
260
325
254
345
335
331
252
284
321
279
403
285
363
320
268
193
241
319
270
327
323
312
314
317
310
267
360
390
220
297
291
292
282
219
298
257
254
294
313
358
308
356
303
309
348
327
303
448
340
378
331
399
311
292
313
335
311
305
404
269
335
274
255
305
290
336
346
313
385
363
369
230
295
169
351
309
353
368
360
360
316
344
321
414
295
345
367
299
333
377
287
315
315
263
331
278
222
294
353
319
286
319
277
346
333
283
233
313
302
301
249
259
229
276
306
250
300
286
318
361
252
283
351
381
371
316
349
296
301
289
321
294
334
328
335
255
359
259
355
272
384
276
353
331
349
286
309
354
354
345
246
286
384
287
292
290
394
259
300
268
360
365
296
359
292
423
368
329
397
335
320
307
256
292
252
337
332
327
277
311
309
335
305
297
412
362
322
281
283
307
267
355
349
342
312
310
344
348
274
402
294
293
320
322
296
343
267
345
342
291
235
313
335
295
360
275
355
353
323
261
374
353
265
333
346
251
291
336
309
351
365
306
349
334
242
272
431
301
294
351
322
317
285
309
265
413
222
327
341
313
257
294
350
344
248
261
329
281
300
388
339
352
350
306
255
223
227
240
309
323
242
348
318
273
403
340
317
264
328
310
295
265
298
327
333
277
321
309
271
304
326
315
200
340
407
338
357
384
306
372
325
303
264
321
324
329
197
364
227
358
367
338
313
229
232
291
374
304
334
291
332
326
320
348
317
345
311
217
280
245
278
283
298
344
381
308
239
364
346
382
307
348
339
393
259
332
275
303
311
303
301
370
356
333
354
362
334
300
372
361
248
277
263
373
258
360
340
348
319
310
295
302
322
280
297
368
285
235
335
334
310
354
296
362
296
359
310
320
291
342
346
300
276
327
255
354
332
257
333
272
330
272
300
301
298
237
346
234
393
283
350
323
314
193
385
292
364
344
319
334
302
389
286
259
326
348
323
385
382
302
317
253
306
288
378
294
326
311
386
258
403
380
277
353
354
336
331
305
270
279
375
409
319
344
326
299
239
330
312
278
358
341
393
290
322
298
370
290
321
340
358
332
275
272
319
264
324
261
403
310
296
273
273
253
299
336
345
304
332
257
211
248
349
328
270
269
228
390
333
286
293
355
318
342
244
211
371
308
325
291
301
311
326
286
278
245
306
290
272
360
231
302
341
362
313
288
370
269
349
244
244
320
317
252
361
297
256
363
291
318
288
298
342
338
276
257
338
347
358
266
303
322
332
320
362
329
393
289
296
270
259
372
316
309
192
253
316
306
328
278
281
378
328
318
367
313
359
387
332
402
307
276
335
297
358
350
331
389
290
302
273
294
304
304
296
296
280
344
255
273
308
339
364
274
223
305
357
375
345
329
338
332
254
293
364
244
202
291
343
288
317
344
276
271
252
271
271
324
330
275
386
377
329
243
301
243
249
316
282
318
338
290
298
330
329
299
342
336
338
331
310
344
329
338
376
287
330
317
297
360
343
267
375
313
271
251
330
292
393
336
405
328
218
333
320
348
325
311
349
316
286
312
369
297
379
300
309
317
298
265
289
286
282
282
241
274
255
267
293
334
319
337
357
342
276
315
348
384
401
324
245
285
273
383
433
269
319
287
256
307
323
200
312
344
247
279
376
384
312
317
366
311
299
261
260
290
340
363
352
305
333
306
306
344
297
326
428
326
359
299
284
327
306
343
338
389
326
384
271
286
262
288
301
319
371
243
247
234
344
338
292
352
323
335
413
324
319
341
303
270
335
264
355
206
284
298
323
369
347
249
306
398
315
352
242
281
344
313
290
322
279
360
363
322
285
294
291
289
304
397
286
309
310
242
254
313
335
277
280
263
365
310
312
365
281
230
266
327
423
374
227
293
289
317
223
351
316
316
305
264
288
326
280
291
423
316
308
355
290
246
350
249
245
369
350
329
308
282
319
377
303
314
308
300
287
305
235
313
265
308
359
287
319
295
370
319
343
288
422
344
320
285
264
381
307
342
317
307
338
395
359
328
337
313
360
264
284
342
326
283
272
366
264
351
378
348
323
249
249
317
302
359
306
384
280
285
282
300
293
318
271
255
149
355
385
219
320
334
301
385
306
379
319
351
314
336
297
336
293
387
288
292
299
293
324
276
356
296
376
235
271
275
260
316
280
325
266
302
323
329
372
268
354
266
292
327
334
347
200
351
366
213
336
299
377
269
370
321
275
365
257
315
312
328
384
355
221
291
365
308
299
370
324
283
376
333
306
320
302
260
295
363
269
334
335
407
299
248
299
226
275
415
307
343
388
257
299
295
292
314
261
297
341
274
332
286
320
297
331
357
359
270
240
307
331
328
300
331
300
289
328
289
396
232
318
269
350
292
267
340
356
270
378
327
296
233
379
304
272
357
286
294
276
222
397
278
347
231
400
210
253
372
358
250
299
298
260
328
305
314
264
380
281
345
271
405
257
273
376
289
314
323
403
395
310
294
357
352
306
316
369
364
329
361
368
213
367
359
281
254
270
317
265
324
318
309
292
343
319
344
312
255
319
270
323
332
362
329
272
293
303
300
378
279
317
293
362
354
295
288
383
283
312
291
344
330
356
279
307
301
233
402
258
276
289
358
391
305
311
273
328
258
408
352
329
311
270
258
299
250
310
241
347
284
305
313
208
343
327
322
289
295
279
289
335
297
375
326
332
279
292
392
273
276
248
391
407
323
315
327
281
372
310
322
413
278
284
326
227
287
281
383
272
315
387
355
260
367
285
309
352
446
332
358
319
204
396
357
350
357
382
328
344
380
301
300
308
255
299
317
337
351
339
317
342
421
287
327
311
390
243
288
267
379
284
391
339
350
364
331
282
364
327
288
270
235
343
323
364
388
264
343
294
288
427
333
352
298
329
384
349
327
294
355
365
321
344
270
329
262
342
252
338
250
271
335
320
349
317
285
369
283
368
328
360
255
266
276
256
341
377
405
347
286
278
324
343
336
256
352
237
253
263
380
332
311
277
255
306
328
311
309
258
268
317
324
348
392
335
262
288
282
306
370
316
254
385
298
339
367
363
357
331
374
307
375
316
331
312
314
369
344
328
309
289
318
244
312
283
331
371
377
301
229
302
346
365
318
352
335
314
264
354
321
322
280
304
326
311
365
306
303
306
250
258
234
291
388
354
272
351
316
317
292
274
326
294
276
377
320
253
252
343
374
266
313
194
340
223
376
320
266
273
333
223
251
311
324
218
311
352
406
262
301
320
291
334
335
340
378
332
373
341
353
310
338
312
278
312
305
337
318
302
308
351
330
341
317
299
317
352
273
317
278
300
263
342
315
351
299
347
294
268
326
253
310
304
270
317
276
393
372
335
231
381
263
280
289
305
365
319
384
316
282
295
393
279
342
351
272
278
328
309
307
292
320
350
292
363
286
244
312
255
305
368
294
306
290
311
307
344
320
333
318
383
367
238
296
337
341
362
298
311
258
302
371
364
351
326
331
331
310
350
313
303
418
258
273
321
376
316
410
331
356
284
239
295
285
249
313
386
341
370
293
323
334
390
357
257
318
317
260
257
403
296
280
370
163
335
314
349
275
314
242
363
252
317
372
287
309
400
323
223
308
308
313
300
311
270
359
406
253
316
326
269
297
284
278
244
355
258
268
282
361
311
325
334
348
344
330
284
334
310
265
310
266
355
316
228
309
359
293
343
218
326
298
372
378
272
293
307
377
349
381
252
335
452
272
317
397
285
344
322
291
298
333
314
365
354
331
386
324
339
366
342
310
288
319
359
330
293
340
280
292
354
265
294
303
411
264
236
279
392
352
320
280
358
373
420
393
295
353
312
311
281
308
236
280
291
322
276
298
295
257
362
382
239
250
324
314
267
378
376
347
342
231
399
348
272
278
339
348
329
330
287
266
243
307
307
325
321
350
287
343
333
330
323
329
242
285
315
306
291
313
370
271
312
343
352
298
359
365
303
362
292
347
383
317
277
295
335
282
342
308
282
316
271
286
255
375
260
383
366
364
373
276
328
247
336
305
346
298
374
336
350
371
211
286
313
346
362
283
229
283
351
333
347
286
314
224
322
268
389
221
268
227
371
302
304
330
318
322
307
244
429
355
262
324
306
222
193
276
315
294
301
347
386
299
269
285
270
299
359
261
293
323
274
316
249
327
372
269
373
354
323
254
262
363
251
341
344
331
286
307
268
292
271
376
332
341
334
322
301
321
256
343
275
388
347
314
226
259
330
341
308
318
244
253
290
289
370
270
305
341
226
372
266
225
329
346
339
346
360
297
368
263
311
278
282
298
269
401
259
271
276
365
302
289
288
278
385
334
323
348
268
386
302
368
292
304
307
276
331
345
287
300
318
297
294
271
309
313
349
319
312
353
365
251
336
345
344
318
280
295
330
296
283
302
342
382
408
255
321
253
347
294
285
361
276
230
422
329
308
347
368
291
406
148
299
291
298
309
266
395
322
374
303
284
377
296
307
388
336
235
203
241
381
375
246
407
264
344
298
301
295
257
432
359
346
270
324
298
384
331
309
376
262
274
336
319
247
348
274
402
321
226
316
349
307
341
396
380
330
298
317
339
246
347
314
254
326
380
358
333
275
338
316
322
379
312
335
276
331
277
266
334
341
299
275
238
284
359
310
434
346
246
287
288
307
267
346
291
265
355
338
365
330
382
314
267
259
267
248
395
298
316
314
298
309
303
229
297
310
293
327
287
361
333
289
349
303
369
388
327
392
334
318
341
313
365
398
289
292
279
321
262
298
340
314
376
216
285
307
329
339
293
309
361
276
331
355
317
348
249
312
301
326
326
330
279
330
333
333
296
289
332
318
262
249
255
309
367
273
338
222
317
320
298
321
241
331
300
299
242
335
253
290
275
294
270
310
313
301
339
330
326
238
273
298
387
298
331
346
296
323
324
305
380
322
228
341
306
293
301
296
241
282
275
341
293
385
356
364
347
287
310
346
336
282
327
313
337
291
332
308
255
227
355
313
348
273
359
337
315
371
321
347
231
390
336
223
375
377
236
328
307
268
403
305
354
236
331
281
416
333
305
334
311
255
297
333
245
261
336
291
285
301
330
315
248
252
344
287
208
307
335
299
313
381
366
267
318
339
313
349
347
298
353
295
372
467
333
306
310
356
282
301
337
258
339
329
258
370
302
268
246
306
275
319
373
354
294
280
287
219
271
301
331
319
404
358
289
328
201
389
360
247
323
327
276
310
334
326
311
351
240
306
219
344
366
340
333
325
270
345
300
344
312
324
307
314
277
457
311
393
307
372
297
276
334
260
297
318
337
330
326
298
367
234
316
340
248
363
376
323
291
316
254
394
286
251
315
363
335
328
315
293
279
338
303
255
267
298
342
309
305
364
331
349
264
359
258
369
298
311
384
236
392
365
317
365
292
278
270
265
262
341
374
329
328
357
291
368
294
298
368
309
358
335
265
267
340
309
356
330
254
320
329
265
324
363
372
236
297
280
417
276
336
338
244
329
336
312
268
355
235
329
283
418
346
302
304
301
402
288
344
266
300
358
274
322
329
334
321
310
328
382
334
396
277
315
267
309
277
325
324
367
304
344
284
356
237
248
369
418
242
374
295
316
313
323
355
304
413
389
369
350
245
247
326
294
233
360
253
381
390
311
321
418
312
285
298
349
305
383
304
290
347
291
302
283
317
364
335
394
388
273
358
258
218
302
284
261
336
373
406
420
277
269
397
310
296
262
331
281
324
261
286
323
278
265
324
320
366
296
271
360
312
365
356
290
288
291
366
345
292
296
328
325
247
329
325
279
304
316
308
310
351
343
348
412
355
276
306
251
333
303
313
293
344
300
271
323
304
319
361
287
359
330
317
234
315
320
458
290
256
305
294
340
234
217
313
325
248
349
302
396
335
317
440
308
354
334
371
309
219
344
322
333
281
422
385
340
302
330
332
325
293
312
340
373
300
362
272
396
330
284
233
362
274
204
357
343
317
303
336
339
322
217
290
307
260
258
283
345
402
361
307
322
334
349
337
242
304
262
258
314
333
251
316
262
315
368
359
281
402
339
355
380
315
329
273
346
309
355
294
300
361
259
297
242
319
284
337
317
362
338
327
400
274
309
334
282
363
322
224
338
300
269
366
298
260
255
328
358
335
257
423
288
319
318
330
274
321
257
338
380
306
296
316
355
375
287
326
341
219
321
407
295
253
330
380
301
395
333
301
310
234
346
303
225
433
276
269
339
332
409
289
361
342
351
293
370
278
282
342
266
376
407
341
331
252
347
325
276
282
298
302
327
356
345
257
338
297
354
362
303
252
283
330
369
305
277
404
393
253
351
361
294
263
377
341
312
266
331
384
316
312
222
335
371
372
207
292
278
434
292
287
356
357
348
263
366
259
340
324
374
345
270
274
252
342
342
340
374
323
366
342
358
339
302
325
344
246
285
246
297
273
324
291
317
300
275
311
303
329
321
397
335
337
406
319
349
327
341
313
432
236
295
374
325
349
366
337
362
362
326
361
340
374
317
286
237
364
302
312
335
384
370
409
312
349
294
268
300
304
275
318
285
314
365
325
224
343
278
324
274
266
357
252
268
286
221
326
321
274
289
326
367
340
316
336
299
264
294
310
278
344
297
303
335
296
347
302
269
373
268
363
326
299
260
321
222
301
308
353
225
289
291
325
305
269
337
344
309
312
324
346
390
266
269
274
295
314
311
358
332
317
339
324
326
306
313
373
330
253
316
224
332
352
283
246
363
326
330
377
291
304
328
287
343
349
239
341
244
338
208
235
311
329
304
280
303
353
390
373
288
375
392
368
296
257
271
327
338
360
313
295
329
399
248
300
317
327
215
287
331
367
345
285
396
320
316
332
462
287
320
322
328
350
398
305
332
374
334
320
294
308
253
362
304
265
338
344
282
345
244
237
354
339
308
374
283
241
340
350
398
333
259
328
314
323
344
307
309
282
394
265
290
283
321
410
418
404
224
373
339
299
379
267
319
308
322
306
336
373
357
261
317
223
273
324
305
344
347
352
388
322
293
389
419
302
376
296
334
294
317
284
284
276
223
289
267
349
339
374
267
325
378
353
288
364
376
308
273
325
240
346
340
256
280
399
360
334
264
268
352
313
340
303
274
317
214
284
384
359
313
306
274
314
231
364
300
399
228
286
255
307
375
415
411
306
312
334
323
220
258
281
326
351
404
285
339
316
271
264
277
392
312
326
243
309
318
243
334
360
346
317
275
324
312
274
252
325
378
288
385
296
300
344
364
266
316
304
303
371
299
248
317
283
264
344
306
331
253
252
286
291
335
277
258
250
269
298
349
393
331
242
295
228
292
343
249
290
287
377
326
305
328
302
310
241
263
315
269
336
309
342
288
286
320
266
366
342
276
256
343
299
248
287
370
199
359
345
337
290
339
373
341
294
317
277
333
378
382
285
240
339
324
270
291
343
350
324
347
324
254
302
287
328
344
333
328
319
326
335
312
318
304
304
349
394
313
262
338
293
295
297
325
340
325
344
262
286
316
332
310
255
267
379
297
280
325
336
324
232
302
251
396
284
355
287
290
240
279
310
252
339
304
307
304
385
347
284
311
360
402
296
329
262
289
313
328
378
280
349
277
301
350
336
339
269
379
397
291
334
345
264
386
352
282
301
323
348
311
378
412
305
324
272
345
298
305
381
292
332
364
401
256
373
285
399
295
376
283
355
276
302
330
256
319
318
327
352
257
349
333
389
240
286
304
249
231
331
378
370
388
295
353
351
261
247
249
291
278
385
329
350
330
267
320
299
289
388
367
331
376
291
277
339
272
350
364
367
353
325
331
275
339
356
282
311
339
313
312
311
232
360
343
361
322
324
306
304
389
237
296
281
312
359
248
322
320
299
280
284
309
320
315
359
268
316
255
326
303
435
313
326
328
308
301
233
224
247
323
301
265
332
355
228
290
233
303
311
349
295
340
391
407
292
348
312
402
300
295
290
235
350
378
325
306
341
322
382
292
330
323
289
360
451
318
273
229
298
303
231
281
277
366
323
358
346
326
345
348
350
409
315
388
263
295
333
331
364
330
298
326
371
323
335
266
362
360
395
325
345
228
265
238
366
288
297
413
306
391
305
313
269
338
290
363
357
366
198
321
316
318
316
309
277
302
288
290
381
387
373
348
283
267
262
287
367
312
278
227
342
351
272
302
341
303
313
290
299
333
227
328
269
253
341
315
307
360
322
304
330
334
392
261
263
344
266
345
323
354
298
303
273
233
376
306
283
272
270
276
339
378
313
347
298
278
308
306
324
302
340
261
343
314
358
302
302
295
281
355
409
223
237
376
377
211
257
339
313
276
367
357
330
265
307
298
370
374
380
229
261
242
263
253
332
260
326
303
373
214
310
303
355
283
356
398
379
232
348
310
295
305
323
319
350
357
293
338
278
336
297
275
285
382
316
403
289
271
324
356
356
317
267
363
357
325
284
309
210
323
264
227
344
371
315
264
382
297
400
359
290
242
322
363
306
291
299
327
342
373
321
307
280
373
355
278
399
255
386
344
409
355
313
307
336
310
409
281
323
405
309
267
342
282
275
335
255
348
452
296
278
255
334
313
332
359
364
268
362
395
359
272
326
311
394
307
315
312
384
286
258
250
398
297
261
364
291
259
230
337
279
363
361
315
240
341
340
339
263
302
348
276
289
283
280
330
325
342
341
339
340
330
309
306
309
391
355
277
319
310
323
328
370
345
346
348
351
342
359
304
384
293
325
283
314
300
291
328
332
255
306
351
432
302
286
363
258
349
353
375
331
345
318
322
357
351
356
339
380
370
270
326
289
299
311
327
266
317
275
261
364
358
373
362
269
281
279
316
315
317
382
335
292
363
360
242
261
302
379
327
263
324
350
337
277
241
284
262
241
290
342
295
343
264
299
339
240
345
249
324
298
257
333
321
292
318
383
295
344
304
313
347
319
214
306
341
264
338
301
342
264
255
405
308
366
340
276
254
319
312
304
294
299
282
377
330
249
305
271
333
336
355
340
325
299
280
275
361
291
239
307
272
254
350
344
240
346
319
209
294
276
389
316
318
349
306
367
345
335
376
241
276
316
330
373
367
249
336
381
269
266
295
251
345
229
294
342
283
278
326
347
334
266
313
226
385
292
362
292
299
297
293
286
348
292
340
403
254
357
359
355
306
354
313
259
268
363
359
302
310
251
284
331
350
292
346
309
348
337
284
318
375
267
265
286
282
330
357
261
343
279
328
379
337
375
373
338
236
264
282
332
331
302
349
286
297
310
317
292
287
297
310
309
317
280
438
213
347
361
305
338
314
338
316
384
371
290
319
369
343
339
314
384
423
332
329
372
335
270
314
364
308
312
311
304
257
307
289
282
346
251
311
296
340
339
337
278
336
327
326
322
309
328
341
306
359
260
283
326
327
286
296
323
385
270
325
295
365
320
303
376
302
309
313
344
333
265
391
293
307
307
269
339
285
218
352
254
383
318
339
329
282
373
300
278
281
310
295
269
253
309
191
286
303
259
230
338
363
230
279
310
378
286
394
357
269
337
387
312
358
376
255
331
305
348
322
310
280
428
349
305
307
259
365
340
333
333
343
289
316
229
281
226
371
280
346
331
296
337
323
380
277
310
354
290
307
336
275
304
275
263
288
325
316
227
357
179
307
283
252
334
253
347
356
238
310
266
234
343
339
283
303
367
282
320
315
322
318
379
286
288
300
375
327
335
251
267
314
219
274
355
327
310
231
349
359
318
317
273
337
308
264
383
284
384
330
408
248
341
358
256
318
330
316
303
340
369
318
356
357
267
239
337
368
359
376
291
334
332
302
281
278
298
232
286
261
328
305
252
278
326
266
305
298
392
202
307
375
240
286
425
355
315
298
410
383
286
316
302
333
405
290
291
268
288
274
281
358
336
342
317
297
317
272
320
295
323
338
337
355
281
374
323
215
370
202
304
271
287
321
374
310
361
309
266
277
310
346
296
282
277
319
314
336
302
302
349
364
350
343
382
389
197
327
338
309
325
352
290
350
300
314
240
285
272
319
325
290
314
251
312
260
338
382
280
362
308
287
282
328
252
288
379
319
336
346
327
312
283
314
242
320
336
381
283
263
299
328
273
377
329
260
303
378
272
368
403
344
272
363
369
285
326
295
309
390
363
321
292
354
273
312
311
317
279
381
354
359
314
256
317
347
313
280
294
309
304
340
332
369
333
370
333
320
388
352
363
383
280
367
316
330
327
278
319
298
334
297
309
310
264
254
316
271
346
314
286
274
308
309
305
299
329
354
328
337
352
207
301
298
270
322
325
272
322
276
268
330
396
359
274
322
332
277
364
299
352
322
341
255
295
355
298
324
347
318
390
360
297
440
317
306
270
342
336
310
277
273
336
271
341
335
256
352
287
315
250
279
323
359
309
267
327
333
429
363
344
306
285
341
367
381
277
266
302
338
340
336
322
330
371
239
346
323
296
375
387
276
259
336
225
337
352
255
315
319
327
266
277
318
282
328
368
326
192
355
348
278
355
262
237
366
402
342
295
309
288
295
303
314
310
362
342
326
233
295
274
278
331
262
305
352
269
333
290
268
313
265
268
358
283
275
311
353
342
314
315
394
303
350
343
282
413
301
313
222
221
371
346
316
365
338
354
315
345
321
289
367
314
315
349
255
351
336
304
267
314
283
288
311
374
296
350
334
338
275
275
364
333
302
307
269
326
378
388
375
265
356
276
250
359
332
283
308
398
352
229
272
353
270
304
325
310
366
357
311
313
282
323
336
355
243
322
286
283
289
351
350
297
273
191
390
297
360
310
410
261
291
333
316
332
284
266
345
231
341
346
255
325
312
295
346
279
294
373
377
194
334
360
339
272
339
303
293
310
340
391
366
303
256
301
184
214
297
337
376
339
289
256
368
415
401
271
324
336
283
309
291
325
307
395
314
354
282
363
348
250
345
330
300
379
323
333
341
369
321
316
268
280
290
379
334
295
410
279
280
297
284
294
345
339
330
238
280
354
354
337
314
270
348
309
383
319
305
338
218
328
284
380
317
347
314
338
363
283
272
258
225
290
367
310
320
365
324
316
284
368
311
354
311
374
332
319
412
372
292
326
319
323
335
332
356
255
338
409
308
269
318
272
376
338
401
277
330
364
376
300
325
420
288
353
415
337
296
233
323
263
316
329
299
291
327
361
346
388
282
326
314
347
343
274
271
273
365
361
300
295
281
250
309
367
289
339
383
280
262
309
277
281
349
337
273
273
307
330
296
331
360
335
321
293
225
323
221
296
335
377
420
290
173
355
385
253
269
299
256
273
324
356
266
323
306
339
243
390
271
278
379
299
289
347
364
345
282
312
376
283
380
260
298
297
254
318
369
319
297
226
332
377
335
392
362
265
389
320
332
279
330
336
313
277
341
281
256
396
314
288
375
378
342
350
327
304
394
217
310
328
298
308
261
292
258
420
359
335
332
321
285
331
302
323
332
321
294
294
320
347
288
318
234
233
346
311
352
426
293
392
316
351
324
305
319
319
262
278
255
349
373
256
207
313
315
255
286
323
313
293
288
369
294
390
351
370
220
361
278
291
348
394
274
273
381
232
374
272
325
302
314
347
342
275
333
351
288
339
265
279
292
293
261
314
292
376
348
265
342
321
336
268
342
366
330
228
323
330
320
300
311
227
254
273
293
335
405
337
343
311
299
251
328
242
237
281
301
326
360
231
303
315
284
267
290
339
402
318
251
279
259
307
338
330
394
306
298
304
434
364
331
360
358
351
335
276
380
245
352
276
369
265
398
328
319
327
319
341
377
282
293
361
322
312
280
360
307
305
332
261
276
408
257
323
299
273
335
307
261
282
351
336
210
345
359
405
314
307
339
309
294
294
413
216
335
286
291
338
237
282
317
287
339
243
321
313
249
299
343
427
314
238
288
345
361
328
262
259
283
216
314
264
322
308
369
338
204
233
309
292
211
351
375
358
297
350
382
312
351
337
317
297
364
340
382
349
325
260
309
308
372
290
288
315
270
425
310
362
415
401
286
303
372
343
312
428
362
283
248
293
243
272
335
313
271
268
300
244
336
260
339
269
319
299
390
235
276
341
303
355
219
303
281
307
294
312
206
251
373
317
308
337
262
322
351
309
360
313
349
321
342
340
208
296
237
338
359
373
373
359
342
369
292
288
339
319
274
367
394
327
250
346
276
402
328
368
317
302
239
273
385
330
393
367
282
235
245
283
225
332
290
291
322
241
258
343
303
304
348
280
346
319
208
196
342
230
306
293
333
285
317
280
334
319
271
276
259
307
353
345
344
388
257
226
300
345
277
307
304
359
327
328
315
410
330
262
245
365
337
300
382
351
310
351
329
288
319
341
273
278
219
259
344
320
289
260
387
261
371
299
354
229
348
313
331
287
268
333
298
246
375
268
324
277
342
353
335
342
355
316
248
250
338
246
230
434
311
313
363
313
240
278
373
281
302
321
337
363
309
410
349
257
234
330
200
365
278
321
277
308
327
290
228
287
336
324
343
253
318
372
302
363
323
246
295
358
251
308
281
351
276
360
265
301
368
340
327
310
290
363
317
349
318
408
296
329
322
337
349
337
378
296
358
282
335
250
310
355
215
302
319
343
325
318
337
212
247
348
391
230
279
276
347
295
294
305
248
307
286
360
295
330
329
382
313
354
300
301
330
345
327
338
422
403
388
345
325
280
371
278
307
299
363
345
321
361
277
335
247
251
256
350
400
313
217
284
315
322
313
265
338
303
355
303
357
292
301
337
341
325
314
338
339
360
313
303
281
326
323
301
330
291
285
309
338
337
320
359
314
403
256
327
337
303
231
325
310
278
340
337
333
356
300
178
366
262
308
332
284
310
356
367
326
276
358
340
345
359
304
341
236
332
321
287
262
314
375
248
276
449
341
285
348
301
305
293
230
270
330
323
328
294
349
310
337
307
339
357
377
312
357
274
255
247
312
340
367
225
297
365
314
283
344
326
246
298
336
323
355
325
245
394
337
378
249
286
331
346
357
317
360
316
263
328
300
322
303
390
298
311
295
382
255
326
213
319
269
352
239
321
364
314
307
308
342
361
353
385
362
271
351
332
344
276
325
335
332
389
319
333
356
287
298
266
286
365
260
347
302
302
298
321
346
352
302
310
346
300
307
289
327
396
283
307
350
364
358
324
377
285
229
298
293
338
363
323
346
184
242
267
278
330
299
281
320
335
287
371
354
391
240
303
340
238
330
358
373
245
268
344
391
311
286
245
287
366
356
297
329
255
231
285
365
415
215
297
232
301
297
309
303
306
381
369
254
199
328
275
261
343
338
254
299
331
349
271
325
320
365
326
370
326
337
287
311
334
319
237
343
294
315
312
291
369
349
324
358
264
321
384
351
221
289
359
268
359
336
291
393
295
311
246
303
322
331
322
327
339
278
329
303
228
268
248
358
294
340
248
334
300
331
353
376
386
344
300
359
383
357
345
299
282
260
274
281
346
286
337
338
350
332
389
304
336
264
350
322
359
331
289
335
282
335
358
299
356
229
372
324
314
308
357
225
362
334
265
327
395
246
258
266
297
393
289
308
433
311
254
326
220
265
309
316
321
319
300
277
326
290
293
271
253
339
383
355
303
305
341
310
326
275
305
291
343
371
299
273
365
270
318
340
232
355
253
285
293
407
380
364
316
244
331
284
303
329
281
385
344
294
362
340
301
202
359
213
231
332
329
303
327
361
330
283
314
249
343
350
239
258
260
324
319
270
227
314
375
322
374
298
242
242
313
289
300
246
304
339
291
259
373
364
403
305
350
315
342
305
355
287
319
302
296
376
313
340
240
337
279
365
352
352
325
297
298
308
255
277
320
233
397
347
386
262
448
316
323
288
297
365
357
358
337
412
355
272
261
371
281
270
298
301
339
292
256
337
349
344
220
362
254
346
285
346
271
279
289
314
384
386
273
331
331
294
278
341
280
406
317
223
311
384
424
330
300
297
331
402
351
330
235
302
416
263
311
308
269
321
335
343
297
361
303
349
256
359
302
362
331
345
322
371
256
255
364
327
307
250
298
318
327
312
277
381
357
217
236
392
373
270
333
283
377
265
332
266
323
360
300
327
276
304
289
207
356
270
319
275
379
298
336
274
230
354
352
248
354
386
452
246
312
257
338
404
352
367
304
339
325
295
365
313
357
282
365
319
329
298
311
197
283
364
370
310
340
296
368
343
254
325
243
256
287
219
321
307
291
382
295
327
195
300
285
356
256
278
259
313
371
300
299
336
355
379
330
343
322
374
271
409
305
321
272
359
405
415
240
231
364
349
291
382
262
328
338
398
341
348
342
362
344
380
348
350
290
349
288
263
286
276
282
303
282
308
254
323
374
325
317
363
309
319
337
294
252
376
315
369
376
278
232
307
310
326
276
307
264
317
289
329
259
346
300
297
377
392
336
291
281
212
346
331
312
281
256
217
293
267
308
342
286
329
321
372
336
241
372
356
298
308
357
304
312
283
366
319
377
422
286
346
298
383
297
392
257
320
341
384
332
281
285
312
346
280
337
417
307
346
329
322
328
353
296
352
313
270
266
303
226
325
338
307
271
321
297
314
264
343
340
255
276
298
328
310
238
401
264
221
272
264
268
277
332
291
328
320
389
280
281
317
314
392
312
348
328
335
333
403
338
323
309
381
290
373
284
258
284
318
337
251
347
287
337
387
359
340
354
379
306
345
243
266
380
293
362
311
318
352
367
355
325
370
360
283
220
302
354
386
294
266
363
380
242
268
312
286
284
386
381
362
355
348
330
300
284
408
310
276
254
319
329
228
291
306
388
204
351
288
269
337
241
384
360
345
295
391
275
242
304
302
375
348
303
299
284
274
304
335
379
286
299
240
314
316
348
354
313
308
274
369
312
237
294
285
293
258
306
318
329
293
288
236
370
367
242
217
334
327
288
342
331
303
275
264
347
311
309
325
264
324
279
307
274
344
335
317
234
363
281
313
331
262
332
351
332
306
374
377
352
285
324
344
314
391
283
302
271
364
226
240
401
343
279
277
373
338
272
280
235
396
360
349
415
345
258
370
223
286
258
312
303
360
302
325
297
351
341
330
324
290
322
248
379
332
300
298
311
341
390
285
345
278
271
280
339
307
262
380
308
346
398
309
265
296
285
349
303
347
286
287
354
304
329
334
327
299
330
278
308
239
398
407
298
305
313
276
294
303
317
364
279
317
400
284
386
284
273
377
318
279
244
325
320
372
406
304
244
255
290
297
316
347
257
307
272
355
363
255
274
399
294
269
395
402
331
365
344
311
325
325
324
343
346
265
290
318
270
208
349
366
354
352
333
371
293
342
268
372
269
321
324
266
360
396
229
351
340
336
235
364
319
240
267
367
364
400
347
345
283
337
362
344
269
292
346
301
354
339
387
345
319
311
374
348
299
264
349
337
343
349
322
334
296
285
345
353
334
276
301
376
309
315
352
311
363
273
304
324
358
313
371
370
399
341
338
216
326
311
372
301
348
357
339
341
332
367
372
236
292
317
376
284
279
276
256
379
277
292
278
203
381
273
279
346
359
300
341
284
337
365
328
366
293
372
272
244
255
295
265
256
316
370
255
411
358
310
327
303
283
245
262
269
343
288
283
309
275
289
331
287
210
346
328
352
272
340
354
291
362
324
307
344
331
363
314
252
332
336
367
344
333
317
241
287
317
307
236
263
402
282
340
338
353
245
263
313
344
306
385
268
373
228
289
277
348
299
337
361
245
331
330
264
321
263
306
307
361
374
357
260
402
315
315
315
333
298
370
241
224
344
260
302
357
337
368
235
291
314
345
290
324
364
263
320
196
354
256
234
258
365
334
310
273
343
354
305
309
278
257
264
258
329
298
322
354
285
289
322
329
326
255
270
347
242
385
342
287
321
337
237
336
340
263
207
355
263
313
268
250
307
287
372
352
324
293
330
389
352
310
334
397
294
390
325
339
277
323
267
269
355
372
319
338
264
359
374
332
253
300
343
269
318
327
349
306
272
295
295
342
308
299
321
293
342
239
292
330
341
361
318
239
382
325
309
359
261
325
407
346
328
285
328
272
349
324
299
334
370
323
333
288
289
296
351
349
248
294
354
307
429
288
365
423
346
314
222
373
273
317
340
383
321
283
332
326
251
208
302
348
287
281
330
363
321
280
312
271
320
378
357
268
405
243
298
338
356
250
273
240
307
339
260
383
259
348
316
343
329
337
352
299
298
337
321
381
338
271
409
332
237
344
358
353
341
382
351
303
321
378
292
350
349
264
285
359
334
279
356
260
287
307
320
305
267
314
379
285
280
277
238
302
277
282
303
265
351
366
314
323
321
307
384
274
282
298
372
284
274
338
245
299
311
225
298
347
347
272
386
248
310
279
374
259
331
343
323
344
325
380
345
407
345
319
415
347
346
338
377
302
213
230
339
318
357
239
359
377
306
328
278
349
297
277
283
315
340
420
295
296
392
379
335
271
251
340
284
300
347
338
337
264
325
291
339
331
373
260
347
335
354
346
311
327
263
316
259
325
301
372
274
381
372
271
301
321
379
336
266
334
363
321
281
301
294
303
355
304
363
335
286
336
274
345
419
357
315
266
295
274
208
314
402
240
327
347
289
326
243
251
284
335
230
282
342
261
367
346
304
271
278
304
258
313
276
240
259
356
327
377
284
375
232
263
213
287
362
371
266
298
348
286
361
319
278
313
301
295
258
307
317
298
281
314
339
324
347
454
303
331
397
421
357
272
366
255
356
334
318
360
264
295
322
311
391
334
390
380
411
260
310
326
256
292
396
244
277
264
259
332
370
403
355
263
343
304
334
328
297
340
395
292
292
342
309
318
379
298
344
323
340
367
336
311
321
325
339
400
295
305
309
363
378
282
327
279
294
357
327
338
304
384
378
345
311
345
343
264
327
377
284
272
301
338
334
398
354
347
277
307
278
294
303
335
371
224
265
230
350
264
311
269
358
333
280
341
299
374
398
338
360
326
325
256
319
309
285
284
287
291
308
348
256
339
355
250
326
395
321
343
290
335
265
341
344
304
239
328
364
324
282
251
386
288
358
344
330
425
304
353
399
285
345
247
230
289
321
263
270
293
261
348
256
262
303
256
297
244
303
320
324
332
362
277
321
287
239
306
297
343
243
290
321
387
344
337
249
235
231
291
348
280
320
339
296
294
318
316
307
327
243
385
339
305
281
310
355
243
288
328
275
327
317
324
245
349
363
369
273
376
314
245
349
374
314
324
336
268
321
213
342
307
379
322
304
343
296
281
344
259
308
405
300
368
383
291
267
315
330
239
308
252
171
282
283
323
325
336
301
359
358
407
359
312
347
329
288
310
390
360
296
346
395
295
273
348
348
286
266
348
281
286
324
276
324
383
395
278
358
254
371
301
333
315
378
346
341
331
346
363
375
271
256
346
262
380
300
367
368
331
314
316
302
302
297
308
320
292
280
325
298
329
245
275
236
298
265
309
319
275
335
257
230
320
286
350
370
278
310
318
327
368
329
329
272
333
354
385
360
267
361
341
304
270
343
273
389
326
387
287
340
334
271
318
275
295
255
344
322
266
299
353
330
337
305
281
259
256
372
299
255
286
427
361
385
324
378
251
350
435
269
281
323
269
284
275
330
326
328
330
277
322
390
281
334
398
315
306
309
366
320
226
362
271
277
281
310
293
348
304
305
273
358
266
334
318
323
347
243
282
366
261
307
330
385
308
225
272
360
291
283
311
247
322
282
308
243
382
304
297
376
282
258
273
338
368
268
288
403
305
387
273
265
373
308
308
363
302
327
349
324
341
299
231
327
360
330
252
343
272
234
263
317
313
312
232
291
245
295
259
277
345
318
273
273
361
407
271
296
252
335
377
266
311
339
324
361
351
348
337
293
356
400
338
424
259
326
360
271
330
330
381
309
252
297
277
341
175
357
318
309
250
413
287
321
303
295
293
338
268
261
282
318
254
337
331
308
286
289
289
321
305
358
259
376
342
341
348
345
251
345
328
308
240
320
298
358
362
378
294
233
360
324
304
311
375
331
228
244
366
321
360
405
395
324
340
356
290
294
347
316
343
288
303
438
315
362
289
376
386
354
273
346
345
356
383
309
260
280
316
292
366
325
306
289
292
328
279
266
362
261
257
235
293
388
267
305
255
326
348
376
348
283
303
304
386
326
303
283
250
320
274
291
327
288
376
332
290
208
275
286
356
330
388
366
252
288
290
350
372
373
280
298
367
386
230
282
340
351
297
315
322
389
259
233
327
202
326
339
260
237
260
264
330
330
368
302
343
293
301
335
316
296
253
210
323
336
364
353
359
262
198
347
369
343
452
342
305
311
289
319
344
299
298
284
249
346
293
245
323
397
287
332
312
335
366
336
250
288
254
239
336
271
315
167
288
316
330
361
354
287
369
274
411
352
323
316
348
325
301
317
306
291
326
357
331
351
326
296
343
260
381
381
311
276
300
330
265
375
350
287
203
272
314
292
316
256
252
394
344
382
331
298
351
338
293
358
310
276
315
332
232
332
283
394
327
304
264
293
277
403
343
350
327
348
281
311
329
357
283
294
358
273
300
370
273
329
321
258
293
284
347
311
383
250
303
361
343
231
368
321
343
352
331
322
361
257
280
360
312
367
332
421
221
330
274
349
301
274
341
319
322
331
347
302
425
307
313
338
367
338
291
267
290
314
331
303
301
298
247
343
292
314
318
388
305
304
333
347
358
296
368
319
290
312
284
352
342
304
316
244
277
240
249
328
362
338
316
321
384
240
256
238
323
299
285
293
246
292
289
396
268
297
269
270
298
278
327
347
286
260
384
301
301
291
355
345
283
344
297
304
230
327
296
256
239
393
373
314
345
329
384
322
349
328
373
313
265
356
373
263
286
278
303
312
360
290
317
305
341
307
291
282
255
369
323
360
283
305
325
325
304
382
356
384
364
273
314
219
292
366
308
298
271
250
269
274
305
332
285
317
300
301
290
290
366
349
316
409
270
383
317
324
271
371
368
242
344
288
285
371
378
254
343
275
303
343
245
268
308
345
338
269
406
338
332
225
294
286
319
272
318
381
293
367
406
315
280
263
356
372
337
355
325
368
368
287
318
266
350
328
284
307
374
299
265
209
313
351
403
344
235
261
253
272
283
326
276
276
305
318
375
377
322
284
304
311
349
304
274
350
339
273
280
313
326
360
229
356
352
365
301
277
278
339
340
282
287
321
287
323
386
394
303
330
307
294
296
334
309
308
314
280
332
338
279
248
248
405
323
300
351
322
361
322
338
315
331
329
359
273
265
254
271
271
350
274
324
357
316
229
338
286
277
350
258
238
387
352
341
214
347
316
279
270
384
355
291
355
358
309
290
317
339
326
364
353
298
375
283
273
322
269
296
248
239
301
338
299
312
315
292
294
306
368
318
260
314
271
322
314
299
278
325
333
366
432
265
299
327
340
261
321
360
330
299
379
243
325
286
262
335
234
335
315
326
328
330
229
268
277
344
369
393
291
281
291
241
337
377
299
223
323
307
353
322
337
369
230
329
306
375
389
376
274
328
334
304
273
313
338
331
280
295
372
336
405
396
278
302
335
344
234
282
385
341
302
368
384
327
365
232
348
209
287
214
248
390
269
292
296
338
259
338
286
370
346
353
351
315
308
309
326
250
336
267
356
319
234
380
229
343
311
302
267
362
237
274
296
296
259
300
358
319
339
272
419
347
276
309
285
303
311
346
259
355
275
333
297
249
253
292
323
323
281
354
309
327
283
263
279
316
218
352
281
388
293
325
312
378
307
369
348
315
335
328
307
377
287
294
242
356
302
243
351
264
201
276
248
392
310
355
295
242
322
365
232
301
304
224
287
289
300
268
412
376
278
311
387
307
346
166
331
364
270
332
325
305
303
352
336
315
261
359
307
318
263
376
385
345
224
280
224
274
292
366
378
352
338
253
386
246
333
309
320
319
297
319
332
280
295
248
327
260
353
328
320
278
306
299
326
293
388
347
354
313
364
367
366
385
284
359
303
316
336
403
305
362
293
278
316
351
305
230
309
370
305
347
359
295
293
238
364
251
280
322
310
328
406
312
319
253
341
306
333
276
323
226
318
311
351
383
288
265
316
297
337
412
343
370
336
298
285
288
230
305
298
286
253
290
303
308
349
328
332
366
237
317
395
327
343
349
297
376
212
342
225
337
371
298
334
321
322
327
266
410
352
285
294
384
258
238
316
280
222
285
351
259
304
335
368
248
306
379
359
267
319
253
298
428
352
282
317
315
255
253
410
343
382
370
310
306
339
410
312
286
322
291
370
287
299
262
353
253
357
210
349
312
266
295
361
333
288
324
360
302
263
383
265
357
344
355
283
362
308
270
334
313
343
368
334
356
298
323
368
379
294
416
280
308
374
384
278
281
341
306
317
298
360
277
332
358
325
230
361
319
281
367
364
297
303
252
332
278
262
337
373
309
340
376
313
319
346
300
273
263
349
376
372
239
338
339
352
307
326
269
277
321
261
365
275
296
349
303
307
334
300
285
308
305
289
309
378
304
312
393
373
329
377
333
307
344
312
309
287
259
275
302
374
355
424
319
340
277
252
331
248
326
266
348
319
347
265
309
354
284
264
302
375
303
356
325
264
347
330
312
259
332
291
283
319
289
352
388
255
345
258
261
361
332
268
324
316
300
296
386
324
390
289
337
317
252
295
314
374
330
364
309
405
372
266
337
287
293
352
279
324
389
311
287
223
327
341
392
325
335
288
348
245
323
299
296
296
303
313
394
318
248
340
283
416
399
311
291
287
305
241
310
257
378
285
300
275
241
279
299
339
247
349
307
293
332
333
337
316
384
283
288
323
398
317
327
330
329
295
343
267
346
303
249
302
326
301
284
326
253
325
355
425
352
401
330
376
303
308
330
344
266
252
200
331
369
340
359
305
246
319
358
287
325
329
317
289
322
300
386
322
226
334
355
340
300
379
318
260
347
294
358
291
272
233
396
288
338
368
299
346
326
358
306
344
300
342
417
379
323
280
283
283
349
276
370
298
398
338
335
314
308
314
288
381
319
385
229
296
365
376
264
347
242
397
359
274
331
280
261
305
292
353
290
352
346
350
255
320
347
337
260
344
291
287
410
424
339
306
282
377
291
338
288
302
410
370
247
349
368
317
245
287
311
287
262
296
302
291
313
267
301
276
339
250
254
310
269
331
301
366
252
318
299
363
239
377
276
377
377
345
293
335
358
280
267
319
325
290
398
356
272
349
308
335
343
359
333
271
371
332
279
311
365
293
352
269
270
269
308
290
283
332
309
269
264
308
350
303
269
322
305
266
296
303
378
291
351
241
283
283
249
318
307
350
288
232
283
241
239
313
312
321
393
369
410
204
327
309
298
308
315
219
288
292
387
186
339
313
267
311
196
299
310
242
333
351
357
341
268
294
408
340
308
268
366
258
335
298
302
408
325
359
309
316
241
393
289
301
345
244
344
295
271
321
302
305
325
319
346
348
273
370
342
278
326
295
319
320
282
317
266
331
312
290
299
330
318
233
324
234
327
306
338
286
323
303
340
335
271
362
250
375
327
355
301
306
298
293
309
298
354
347
318
381
241
219
387
313
352
292
354
270
416
303
300
319
342
313
293
315
297
302
321
274
269
331
350
306
375
303
281
345
299
352
355
332
300
262
287
326
371
364
392
312
400
340
203
324
286
297
315
308
344
386
166
263
340
357
247
339
274
313
332
257
305
294
381
273
319
347
289
285
281
249
302
264
306
293
265
305
299
299
315
302
307
277
318
295
286
392
231
251
321
283
363
310
289
306
326
232
389
333
335
347
297
392
252
339
313
381
288
326
279
303
320
289
265
317
341
381
284
278
340
319
320
265
375
316
275
380
347
280
317
266
306
348
347
293
303
294
396
172
323
345
355
260
347
280
268
358
243
276
277
285
275
294
306
350
279
286
272
256
285
354
266
361
296
304
309
195
251
257
318
347
292
370
237
314
341
247
229
268
353
374
340
380
295
316
341
270
304
314
333
310
318
285
320
331
247
291
408
313
409
396
369
324
315
307
379
355
281
347
380
274
284
330
325
369
373
305
364
312
349
391
365
350
262
311
285
332
377
313
374
370
267
314
296
373
349
288
295
319
307
336
314
269
288
245
357
362
259
304
299
315
371
353
318
232
358
338
230
371
280
293
295
269
391
329
357
263
374
335
270
332
309
345
353
398
271
369
286
242
360
282
329
353
322
293
321
329
299
332
272
332
402
303
349
364
348
297
276
322
237
335
275
222
350
336
429
308
306
298
331
331
265
277
324
235
334
197
325
237
323
340
256
333
311
326
321
384
268
348
322
339
349
345
310
360
351
313
397
287
295
292
349
284
348
338
278
276
300
278
276
359
280
300
255
322
278
344
261
325
296
337
345
378
378
289
365
349
373
345
389
365
386
386
288
291
377
348
375
297
293
274
345
301
291
340
285
308
306
236
298
343
322
355
331
307
288
335
283
345
245
362
320
353
316
240
305
328
318
301
286
285
303
335
301
372
352
322
314
336
330
334
192
259
386
291
242
329
282
278
253
335
312
406
277
298
264
318
291
242
289
286
314
306
284
320
289
291
263
312
310
349
384
399
338
310
343
305
283
359
349
309
282
328
272
289
305
302
326
340
366
316
264
333
262
352
295
247
348
367
290
289
292
366
310
306
308
299
296
281
313
313
358
342
333
289
328
333
270
298
282
316
336
311
352
353
323
417
345
240
314
300
369
315
313
336
292
238
305
342
360
349
256
356
357
287
351
269
315
304
332
319
380
292
327
328
321
297
310
311
308
326
322
294
338
178
353
270
308
296
272
367
321
272
376
339
306
365
346
352
271
345
368
299
292
322
294
327
377
290
302
266
326
382
327
373
301
395
301
328
289
348
268
340
360
362
280
217
332
348
328
297
338
387
353
288
254
268
289
289
351
310
318
356
334
324
333
295
270
344
323
234
270
295
345
324
272
261
334
331
332
317
389
324
241
260
295
350
253
243
307
314
291
304
272
255
292
379
275
330
360
256
353
381
262
289
358
316
270
410
347
279
372
397
253
305
315
311
343
381
247
317
227
254
309
321
381
359
342
359
324
260
363
205
269
254
381
277
311
276
277
291
294
310
291
242
294
311
368
335
329
255
319
343
368
341
396
235
354
333
366
330
244
345
355
295
311
334
281
266
292
296
314
229
298
250
299
324
403
280
296
275
311
298
284
299
288
364
283
295
342
181
351
363
407
353
343
232
326
270
285
310
348
310
303
258
242
292
336
305
281
275
309
361
329
350
367
247
295
297
294
335
299
356
357
359
291
315
315
305
259
304
374
196
378
289
359
249
320
278
286
369
292
278
280
280
354
376
311
326
264
370
290
263
306
333
254
267
329
314
310
380
299
229
259
345
365
378
240
274
303
384
252
340
305
263
300
251
263
311
361
340
273
363
334
252
258
270
293
224
281
316
272
254
312
405
210
341
307
364
302
332
383
207
306
379
275
283
346
335
343
259
298
362
271
303
312
379
289
377
356
363
330
263
353
293
277
293
289
330
297
364
315
350
338
311
335
284
323
298
233
378
343
372
233
300
315
321
270
370
285
339
279
307
357
298
284
265
361
290
290
229
240
336
295
302
361
357
397
348
343
336
340
335
342
340
326
324
335
327
385
280
267
325
282
241
320
288
380
348
241
394
353
301
384
346
319
224
288
319
358
323
336
312
368
234
314
320
372
256
304
348
295
334
277
268
272
277
248
352
271
279
292
321
286
327
336
203
351
382
279
322
316
334
350
324
319
352
285
301
368
247
351
329
282
304
269
320
347
238
362
301
358
260
290
286
308
404
314
304
326
406
304
362
319
381
231
289
283
342
320
344
329
331
339
308
347
206
288
285
353
342
289
335
293
322
293
365
324
334
335
318
312
354
273
257
357
357
266
373
305
297
345
420
263
340
315
354
354
314
260
366
270
369
333
332
337
409
355
304
300
270
336
301
282
249
358
295
316
315
330
340
295
324
317
310
354
355
299
291
277
345
253
254
343
325
373
344
297
358
328
310
303
251
314
308
321
239
322
318
282
301
277
292
346
303
266
290
311
235
313
372
435
301
271
295
299
254
379
322
303
263
364
366
295
206
250
280
351
303
325
380
297
270
332
378
350
391
317
347
331
346
289
188
326
272
210
381
407
355
327
334
298
319
302
331
356
426
332
385
283
345
337
280
314
303
272
337
245
279
322
275
355
288
283
242
270
294
393
369
290
343
368
299
331
256
238
262
252
332
327
339
297
238
242
360
279
247
298
311
312
354
365
307
316
338
253
337
358
263
374
341
237
339
279
328
288
276
264
325
292
328
313
320
341
319
388
299
336
269
341
351
349
259
299
261
330
240
368
356
311
350
290
277
287
373
308
317
311
342
367
311
308
381
310
308
296
329
289
363
282
350
281
351
346
242
310
316
354
286
296
297
307
416
288
443
243
351
289
249
368
319
267
327
237
299
318
265
299
260
286
272
320
273
335
324
234
280
305
308
295
311
299
293
292
288
330
345
300
304
315
358
378
279
322
318
267
352
329
385
271
294
382
318
317
311
335
371
300
262
386
319
259
203
288
283
272
337
324
370
308
313
370
247
383
302
290
311
361
213
287
304
284
284
246
343
324
232
302
318
329
290
296
353
290
305
335
311
279
272
298
335
361
278
342
345
301
286
405
306
295
339
244
209
369
335
292
275
309
287
235
373
337
297
259
380
251
222
397
366
255
317
350
379
361
312
335
350
250
350
301
264
257
346
278
335
329
322
298
307
331
282
314
353
303
337
345
422
408
362
293
330
364
274
379
298
339
330
333
310
289
189
266
354
365
354
291
309
272
339
281
249
289
335
332
290
333
393
394
305
261
309
325
380
343
293
326
270
319
319
294
350
352
336
360
220
283
304
195
373
321
389
254
368
235
349
381
283
313
289
340
265
362
358
319
329
378
344
318
321
361
318
324
274
326
313
250
372
332
250
368
305
391
203
291
367
351
362
360
367
347
366
308
342
275
334
327
309
264
313
376
298
329
244
367
291
369
296
320
353
341
386
339
326
291
331
299
322
366
369
367
291
345
226
316
182
324
330
330
303
220
343
323
331
328
371
275
367
349
329
332
375
340
300
341
316
357
348
323
313
393
333
283
303
362
288
296
356
283
294
381
381
339
366
279
343
315
315
323
255
296
289
346
335
324
255
288
300
336
256
286
341
262
310
358
313
299
241
359
246
323
321
340
319
205
356
283
346
356
351
229
387
362
266
360
294
350
204
316
302
324
218
245
321
335
403
268
328
340
295
311
247
365
355
275
324
365
296
282
241
278
264
356
392
340
250
354
382
331
311
385
280
248
355
308
327
348
296
312
306
322
253
313
373
308
413
351
305
258
343
238
315
299
361
355
244
349
331
355
369
339
323
351
315
318
338
244
333
354
293
267
302
348
277
350
249
309
305
331
394
364
304
336
357
299
299
352
366
339
325
321
311
390
254
334
264
301
303
194
409
365
296
276
256
328
288
249
383
326
271
269
252
400
314
326
342
313
335
317
388
292
309
319
387
392
343
255
339
278
349
342
310
405
312
330
320
329
291
360
349
273
344
361
333
304
346
277
328
320
383
267
304
351
321
234
346
341
319
343
330
320
328
305
294
366
341
324
245
322
371
200
337
353
261
333
313
299
289
281
328
304
340
305
296
362
309
273
346
303
294
275
322
295
333
329
255
288
341
266
324
336
393
350
325
349
253
219
354
255
287
320
381
373
335
338
387
273
314
276
273
331
298
318
329
282
296
345
306
260
345
333
283
338
281
287
152
223
341
253
295
323
369
219
277
355
359
339
370
243
369
334
322
308
222
274
394
331
286
342
327
360
306
425
371
173
365
391
297
282
308
272
330
269
373
330
309
282
212
294
325
303
238
325
213
331
299
292
326
361
325
344
313
213
350
379
345
305
307
300
288
324
344
264
317
285
344
328
285
333
322
350
382
264
283
279
234
356
317
348
340
261
345
367
341
349
336
402
288
241
299
332
257
275
389
375
316
334
333
398
312
363
365
333
344
257
348
339
278
274
273
305
294
334
319
179
263
284
301
335
270
347
336
260
316
360
317
361
333
375
341
375
352
352
272
380
385
335
343
317
367
395
371
338
353
254
380
374
349
318
293
400
403
274
380
332
391
301
299
265
322
298
263
353
400
378
302
273
363
361
341
333
297
335
278
253
317
331
379
347
326
331
307
282
288
352
310
305
327
368
336
322
315
263
360
356
313
326
294
270
271
271
356
300
302
237
255
341
341
255
204
338
238
389
302
366
409
296
319
309
379
285
365
306
332
295
302
329
317
299
286
334
313
328
306
314
327
294
314
283
310
256
257
284
286
361
402
295
307
263
243
263
306
286
342
349
379
294
363
339
411
349
250
359
249
348
327
281
321
307
354
373
261
347
318
305
301
311
378
348
327
277
382
238
381
266
352
312
312
267
304
345
242
318
346
308
325
381
294
304
314
346
381
325
295
289
318
340
354
296
299
382
218
346
261
262
289
302
322
337
274
274
327
297
294
340
283
374
275
325
408
329
312
305
324
375
415
267
325
346
329
356
274
355
240
306
307
373
407
265
373
343
207
359
314
366
291
217
241
238
397
314
291
332
340
350
268
361
276
242
326
339
263
332
275
267
311
266
323
228
317
364
367
261
271
305
324
274
334
295
325
390
314
349
223
337
337
329
347
250
304
309
270
293
352
359
295
231
334
309
309
340
342
370
309
291
281
301
320
351
318
324
333
304
318
324
287
368
324
370
391
347
372
345
331
339
244
378
305
379
246
271
306
357
340
332
237
297
309
386
248
361
313
274
317
273
398
382
406
338
316
245
326
368
278
218
312
305
244
353
301
288
210
195
334
345
412
329
322
336
362
328
259
324
325
280
299
335
229
295
323
302
377
349
300
258
345
382
345
316
296
348
316
303
316
290
275
366
328
364
358
353
385
333
349
336
344
371
365
302
370
337
235
328
364
282
313
289
339
365
360
363
280
298
342
279
333
276
295
312
242
332
305
290
296
333
304
341
368
312
317
226
300
360
402
354
252
275
320
320
382
310
344
361
322
372
293
282
331
266
385
343
186
353
328
250
357
347
347
329
252
270
342
358
328
230
415
333
290
264
310
290
304
371
342
240
345
254
363
332
317
339
344
373
331
306
301
348
340
313
257
336
258
328
329
229
221
260
203
234
284
225
327
395
338
290
374
272
367
328
369
356
319
345
360
310
321
298
255
373
342
295
387
405
301
315
366
295
368
350
301
359
301
297
306
334
312
304
393
316
359
401
359
247
327
342
383
307
313
296
260
208
420
307
298
273
303
351
379
298
383
252
312
299
317
324
323
321
306
303
351
350
302
309
319
362
371
334
354
322
222
286
309
259
296
420
320
299
352
309
358
321
226
394
292
237
322
360
342
271
325
316
345
340
336
413
309
355
325
233
291
303
268
272
329
375
296
255
409
328
277
302
278
410
284
371
351
261
364
230
324
246
318
280
280
394
281
302
271
316
327
233
322
339
340
344
319
324
349
333
319
329
300
430
341
393
329
337
369
308
265
384
347
300
228
332
354
295
256
388
367
293
294
318
324
261
343
246
328
337
281
275
348
399
384
255
288
348
357
311
354
318
297
324
307
310
315
357
340
329
312
356
441
296
301
267
413
270
350
287
353
284
382
231
321
338
342
402
300
358
274
318
315
328
241
359
309
285
328
288
226
267
346
349
327
341
324
271
329
377
352
331
273
242
335
392
396
337
336
278
291
425
409
291
238
300
388
377
332
325
360
334
322
244
307
358
294
231
293
304
302
327
325
335
330
341
319
312
343
399
346
320
353
301
315
280
286
340
326
331
274
314
295
292
326
311
332
267
345
326
298
340
312
318
246
302
296
304
292
313
350
319
349
308
300
368
320
262
317
304
370
334
266
320
302
300
346
293
338
337
263
220
363
248
413
366
294
346
370
366
257
266
262
292
290
369
364
245
297
316
248
383
333
394
295
309
261
328
298
281
290
374
279
257
352
369
294
256
346
390
268
349
382
262
253
336
355
377
266
255
247
313
341
317
211
311
224
339
401
210
417
378
315
336
372
404
292
304
295
339
295
323
353
311
308
245
372
253
298
326
323
361
355
310
362
402
332
302
317
238
324
271
284
300
291
409
419
409
357
249
329
245
272
246
346
270
320
385
292
301
292
326
333
320
289
317
334
322
388
323
353
288
320
266
353
279
302
298
311
349
314
297
383
315
352
411
288
238
248
257
318
258
283
276
312
347
307
387
286
333
313
382
246
301
303
337
298
361
283
334
428
321
336
227
343
344
318
296
393
238
359
309
279
391
290
349
420
318
262
401
314
317
313
421
202
296
364
208
306
326
266
371
344
383
355
300
401
304
246
292
237
294
270
316
224
350
333
350
348
300
381
276
342
222
348
262
283
282
380
313
345
296
304
314
302
300
381
308
318
245
353
268
323
310
302
261
241
289
346
365
295
320
344
359
303
216
360
343
407
310
345
331
320
315
339
278
337
291
298
244
326
358
376
348
326
394
405
315
349
259
279
335
331
279
220
319
302
346
359
325
260
289
335
435
266
273
346
363
272
314
294
394
255
289
324
375
324
380
270
336
307
351
335
217
286
329
255
321
365
362
345
291
285
309
323
278
272
357
391
293
315
318
383
166
259
321
362
297
303
333
315
259
315
354
348
275
338
360
350
299
278
215
346
327
327
290
331
304
338
290
325
306
247
270
329
353
247
313
428
316
301
377
389
300
319
400
327
353
332
312
316
330
325
341
298
332
164
344
319
266
263
368
259
226
301
294
238
303
383
318
356
332
314
326
315
271
298
287
291
336
338
349
301
273
354
268
377
323
288
344
282
302
309
332
250
314
326
232
386
247
290
330
263
327
350
266
340
277
265
292
209
258
334
346
330
300
303
317
392
287
270
347
269
291
255
286
271
300
268
330
326
241
292
260
285
257
269
335
389
324
311
275
318
318
323
292
316
247
320
360
347
304
303
292
338
265
296
232
372
335
331
358
292
326
373
223
267
336
296
300
244
264
321
353
353
278
412
344
316
292
401
304
265
289
296
276
318
307
363
348
355
308
416
245
344
377
320
200
321
346
381
326
296
252
297
260
297
324
328
326
284
271
207
334
369
291
305
367
279
307
320
368
322
318
357
352
348
377
287
226
296
300
236
372
299
353
313
365
411
368
220
285
333
339
364
345
297
269
364
297
317
282
306
270
396
270
342
298
319
279
318
355
297
323
368
297
323
386
347
338
324
258
388
298
363
224
343
319
355
397
391
252
302
314
305
315
238
351
291
382
280
380
291
358
389
310
406
308
298
288
274
321
363
329
374
261
383
401
403
385
291
314
345
340
262
351
367
281
267
323
267
340
310
249
253
265
400
363
402
252
376
262
245
342
405
292
313
263
305
339
296
330
311
361
235
302
362
328
241
240
282
347
355
321
392
282
306
270
311
346
336
366
277
284
305
404
352
342
239
290
351
294
385
331
340
261
343
256
334
398
384
366
293
336
315
268
395
244
289
401
344
269
331
268
329
309
284
338
337
315
304
265
311
396
359
311
229
338
379
255
309
285
313
306
301
378
327
369
296
305
381
295
300
236
312
382
321
276
324
269
327
309
350
326
332
283
347
290
378
270
325
279
273
331
347
248
290
213
276
381
317
311
289
310
279
392
401
278
248
281
338
292
291
385
343
371
294
298
371
327
299
295
317
335
314
369
307
365
265
330
390
324
346
308
378
314
364
297
432
324
364
272
368
287
288
308
326
348
325
260
336
390
389
319
385
371
249
290
318
280
352
281
297
420
371
247
248
372
295
340
298
330
349
286
338
317
317
263
372
336
374
300
311
358
301
232
246
275
438
294
357
336
372
246
362
372
339
287
264
355
332
323
290
393
318
306
366
354
321
209
256
398
325
217
259
283
353
340
297
314
395
366
296
324
391
284
310
240
360
248
227
311
293
288
361
242
293
338
294
375
350
273
298
241
317
260
327
245
210
332
336
309
292
355
332
304
331
326
254
305
340
347
278
283
320
300
316
347
291
341
373
313
340
273
327
225
321
372
250
364
286
312
277
338
328
282
266
334
314
343
354
291
292
421
292
299
290
306
291
267
335
349
302
415
404
376
363
329
336
344
267
281
259
304
258
309
304
334
298
288
300
259
430
298
357
164
375
332
292
401
306
257
373
281
299
379
295
323
348
280
281
318
365
440
278
264
428
251
218
351
280
243
345
312
322
330
263
301
370
342
249
261
362
322
323
309
255
425
338
329
389
284
383
283
351
291
374
261
354
340
350
355
331
302
289
392
280
331
291
303
289
338
381
348
254
335
285
250
304
201
369
319
349
319
322
327
331
267
291
357
362
359
277
379
294
310
240
335
336
368
351
367
276
342
369
369
386
314
342
373
342
290
336
282
284
309
383
328
262
283
381
321
303
372
285
263
407
301
240
326
324
316
250
349
369
396
218
334
306
297
253
365
356
322
324
345
321
365
398
311
328
340
341
245
321
301
323
300
294
256
381
376
292
331
317
336
284
338
335
310
311
232
414
226
351
382
347
379
265
296
422
349
321
304
306
327
328
252
326
273
334
338
274
273
289
334
282
327
381
330
324
255
287
276
279
268
311
380
305
297
336
310
249
345
274
302
327
400
435
370
360
340
393
300
303
291
344
293
300
388
301
296
336
285
286
345
327
316
396
284
337
297
311
377
353
341
307
272
284
299
350
410
268
299
357
315
362
309
315
281
406
190
297
202
336
339
320
326
299
322
251
362
388
334
370
379
308
345
360
420
336
330
291
382
430
228
307
307
337
346
246
311
375
280
299
310
282
333
331
298
341
289
322
357
244
224
364
284
280
248
387
358
368
287
287
376
369
276
287
344
347
313
304
266
361
344
262
246
307
306
333
303
336
264
246
365
225
306
257
284
298
240
294
323
349
338
345
347
278
374
337
354
368
300
354
313
359
348
334
341
242
382
325
255
308
421
289
346
329
436
292
327
416
285
271
305
398
303
312
286
264
292
322
285
289
342
419
351
295
318
398
296
303
311
236
358
309
275
335
358
264
291
317
348
322
241
360
388
285
222
346
328
327
311
384
293
302
325
345
263
350
295
257
307
298
352
296
333
345
307
387
283
288
402
312
309
327
225
265
289
322
265
392
246
340
327
295
354
288
234
313
429
302
322
295
299
313
353
339
366
306
307
288
318
321
325
347
319
322
274
371
323
242
321
206
360
330
310
401
386
305
236
292
342
283
348
333
368
328
313
314
291
348
349
370
309
330
262
234
258
454
312
337
255
323
294
349
347
301
283
327
316
235
356
356
402
357
309
316
347
257
330
363
339
267
272
268
346
339
389
359
300
357
311
359
334
351
383
363
276
298
344
235
281
338
269
315
404
310
303
254
306
333
300
357
321
275
316
370
282
307
391
316
308
198
297
265
339
300
307
269
287
400
324
299
418
373
312
284
241
312
353
333
345
371
315
212
329
363
338
234
379
293
355
332
299
408
266
300
306
279
333
231
313
329
285
332
261
228
332
282
274
386
257
327
234
306
215
364
300
372
277
307
298
291
310
271
334
269
261
355
334
249
381
381
334
280
372
352
336
319
364
285
269
265
319
324
379
376
285
337
286
300
413
281
370
317
269
311
349
331
339
356
328
404
340
304
287
293
371
362
369
280
355
223
364
328
244
343
239
377
319
223
385
358
299
266
223
306
299
211
281
269
307
386
301
353
373
375
339
264
408
263
311
314
378
353
339
284
290
297
251
271
341
312
256
397
230
350
286
302
347
313
257
279
320
280
341
309
345
328
318
351
323
284
348
349
311
318
307
329
357
264
371
313
252
287
310
295
356
283
277
308
305
316
349
368
390
306
314
263
302
306
303
329
317
390
289
306
172
302
350
304
324
313
266
300
412
345
391
242
334
291
328
337
312
368
359
282
355
344
317
356
294
302
351
369
396
289
327
312
316
310
415
406
329
320
289
317
399
339
337
300
301
240
255
386
355
315
304
304
335
347
355
272
275
382
303
279
324
303
343
416
384
317
339
288
336
381
228
345
352
337
287
307
400
334
241
377
363
357
371
273
279
370
375
336
353
261
351
228
271
287
314
334
367
275
312
281
316
322
346
344
276
336
286
325
309
269
323
289
339
298
358
268
309
221
317
349
301
327
295
357
271
352
271
282
340
242
218
338
343
267
352
288
279
359
280
372
273
260
362
353
386
360
338
285
302
307
247
400
361
381
268
337
271
391
310
395
291
302
256
313
344
287
374
366
303
349
401
371
250
283
393
327
383
323
175
288
306
350
331
318
236
310
327
385
351
422
322
270
394
262
337
286
284
250
323
372
291
341
327
354
412
314
286
310
295
304
286
351
331
323
347
336
394
305
279
193
399
310
301
304
255
338
410
341
328
279
314
315
252
310
318
251
232
328
245
325
332
334
270
299
333
293
347
349
292
253
344
320
277
366
327
315
272
336
293
338
326
347
387
298
333
299
280
314
295
388
351
266
291
232
271
301
281
227
303
245
331
292
208
238
255
283
355
337
387
347
287
362
372
334
380
288
255
283
390
349
197
295
194
357
307
327
332
393
325
364
353
282
344
191
302
295
323
275
402
322
353
257
371
336
298
338
270
316
240
291
321
350
338
316
411
283
317
316
307
328
342
284
357
373
345
308
340
354
315
372
349
342
275
310
225
336
366
362
300
410
290
351
232
389
377
333
298
365
299
316
316
300
205
294
317
329
278
316
280
423
285
315
339
261
291
368
347
324
274
302
293
369
313
317
318
331
317
305
289
300
276
289
325
315
274
288
348
240
357
235
374
336
250
296
277
268
289
365
271
355
304
333
370
220
337
285
347
273
374
284
294
314
417
303
307
399
401
306
308
255
266
307
321
341
299
385
262
202
264
355
328
341
254
310
340
371
357
332
398
286
276
269
298
339
349
340
350
383
432
291
288
208
309
316
328
325
272
320
319
284
255
352
231
244
292
232
243
346
295
380
327
317
260
357
311
273
386
265
344
251
261
327
261
296
317
340
341
254
395
293
271
320
357
283
304
310
262
365
288
333
360
314
186
342
256
301
296
290
344
408
371
383
327
227
238
290
381
302
290
410
317
367
306
296
372
276
324
274
331
309
318
308
378
356
261
370
361
344
418
322
422
269
304
347
369
332
278
342
319
359
355
386
272
296
263
314
385
269
298
331
330
249
328
261
288
337
324
421
270
228
339
363
274
315
231
314
294
320
293
393
269
302
316
356
347
368
214
186
320
356
284
328
277
370
279
274
354
280
336
343
379
293
293
226
421
224
284
361
341
307
369
283
254
355
289
295
363
413
345
293
248
261
338
295
306
330
419
350
305
284
284
327
358
330
329
341
341
301
359
263
262
307
247
289
252
312
367
347
345
327
301
295
286
349
375
322
367
286
297
278
244
277
250
411
273
286
282
354
303
258
294
372
303
386
342
295
343
297
287
311
337
356
368
334
321
319
364
367
321
322
345
296
308
310
296
292
322
287
319
293
270
304
263
259
247
277
322
380
317
290
260
362
317
312
368
266
380
245
285
218
307
357
292
293
278
305
243
367
329
408
274
394
359
236
278
424
340
346
299
396
275
245
291
335
335
320
352
247
297
283
309
368
327
308
306
302
269
269
323
286
205
360
300
184
292
381
302
341
323
342
309
387
312
302
357
353
358
395
348
342
372
274
323
431
297
310
312
283
259
264
338
290
385
274
362
309
265
384
260
300
294
275
325
351
282
276
243
341
317
288
245
303
346
370
329
345
435
308
247
266
368
264
257
365
284
336
320
245
411
266
273
321
288
307
312
362
281
363
255
346
320
277
430
371
276
384
336
343
348
222
293
345
271
334
290
309
247
370
312
344
397
289
306
295
356
235
360
387
251
356
370
322
299
300
289
312
256
302
296
308
353
360
357
345
290
256
383
301
340
278
354
375
354
284
336
276
304
273
315
289
321
317
246
329
340
280
259
312
269
286
273
328
327
273
287
302
237
267
346
290
278
297
300
269
222
304
330
321
325
275
329
312
359
289
284
279
340
261
352
340
357
338
229
342
362
296
245
327
280
358
271
304
396
319
293
334
314
374
340
339
300
385
236
219
296
361
368
325
417
270
357
391
363
327
312
300
302
338
289
322
287
380
346
320
280
219
365
338
332
324
280
377
346
344
333
289
362
357
232
266
359
221
326
418
320
269
314
245
296
356
282
331
327
378
336
401
312
363
277
362
345
363
316
352
290
305
267
244
336
340
335
290
310
270
293
331
252
384
230
263
303
321
319
294
289
356
255
325
325
350
297
329
269
351
332
308
355
303
291
411
348
265
334
335
346
359
407
317
330
271
378
353
281
272
403
298
260
346
330
326
347
416
291
351
331
315
351
317
266
255
341
281
305
326
268
266
324
286
306
352
265
319
351
365
285
313
325
355
282
372
360
372
290
261
329
311
299
363
355
327
299
358
319
294
355
350
396
305
377
195
404
284
347
363
314
304
237
241
303
302
310
279
318
278
309
326
319
294
283
317
241
342
309
391
317
272
429
263
282
358
309
350
300
324
390
311
319
255
321
309
435
337
290
360
313
384
247
276
297
267
418
357
251
372
347
349
283
395
238
263
312
238
396
283
315
377
237
325
298
313
295
266
312
346
231
361
312
344
257
268
368
294
357
348
280
258
291
317
248
298
239
294
368
305
320
309
313
332
293
321
345
304
300
390
336
363
305
336
272
353
350
316
320
322
320
307
281
246
267
284
246
307
300
355
290
276
263
284
271
348
342
241
308
319
321
263
253
328
396
264
276
350
362
354
333
267
329
335
253
249
240
373
309
209
300
342
293
342
267
280
290
340
215
302
379
331
371
294
346
263
357
349
212
263
257
382
328
328
245
284
290
367
384
352
277
427
332
312
306
294
316
309
338
330
330
371
389
325
315
351
371
356
405
308
299
262
259
269
352
319
339
366
302
246
244
342
301
337
335
343
308
312
217
293
266
321
289
311
220
372
307
394
298
322
246
293
350
397
325
323
320
263
334
272
272
234
310
396
393
293
340
334
295
255
305
369
213
362
372
326
319
319
396
354
375
276
283
345
285
299
314
297
338
329
315
248
305
351
306
271
296
383
379
271
306
321
336
331
416
312
322
331
406
268
363
269
329
316
344
275
404
272
309
254
264
306
326
325
353
325
247
344
302
307
280
292
289
279
229
355
311
317
218
357
327
272
299
346
328
266
354
318
346
341
277
279
293
286
351
300
366
269
288
301
308
326
307
365
345
425
347
361
240
316
257
279
288
340
328
350
275
325
315
320
336
295
288
358
342
312
299
339
362
259
317
280
271
341
262
326
251
342
259
247
308
321
259
374
340
311
343
306
249
286
315
279
296
284
284
357
361
299
256
306
242
366
311
193
282
271
251
317
294
306
359
280
331
299
362
353
321
261
397
318
374
286
392
333
325
341
371
323
233
308
348
288
212
285
332
277
334
259
265
450
317
350
319
289
430
294
284
330
240
322
306
239
321
344
249
411
290
350
358
356
288
299
299
328
329
291
265
343
312
313
369
270
350
323
369
315
379
289
384
304
307
316
281
315
266
306
362
303
304
289
287
332
373
405
313
351
341
389
389
308
310
340
365
382
283
321
378
269
358
343
313
261
368
271
432
315
254
241
337
227
362
273
355
366
267
234
396
282
361
366
310
307
355
381
334
291
291
224
361
319
275
284
314
290
273
290
329
257
287
330
356
277
383
354
284
241
273
296
339
301
334
341
320
337
363
313
270
300
295
364
284
362
315
264
297
348
265
318
258
328
304
329
349
320
342
340
320
252
296
262
274
300
332
381
357
230
345
323
327
268
240
275
312
340
335
233
339
265
315
324
331
365
364
337
293
302
284
340
315
282
317
263
352
315
268
352
299
393
361
294
352
354
341
317
297
357
226
275
375
328
322
308
306
356
294
292
336
329
340
354
300
230
274
340
356
314
359
243
300
375
354
346
356
295
365
358
282
285
318
275
291
265
315
398
356
281
277
232
359
363
373
289
258
380
356
300
367
273
324
287
284
357
325
346
268
309
285
263
274
407
307
321
303
358
362
273
311
324
380
317
295
290
380
311
362
369
249
339
318
364
297
286
259
353
362
360
290
312
387
325
217
291
264
281
344
339
373
323
257
308
305
246
265
380
286
322
304
362
283
375
314
319
268
290
384
314
340
246
315
359
296
306
251
249
316
278
305
371
297
365
318
406
263
337
385
365
316
319
317
293
359
352
309
299
293
330
347
266
291
299
309
309
387
313
326
226
379
222
289
294
222
252
307
314
287
286
310
337
376
266
310
257
343
281
289
287
288
385
259
292
372
275
319
278
226
337
261
271
253
308
337
322
327
328
258
324
248
247
239
310
379
278
194
307
328
272
268
274
264
326
333
293
286
321
308
388
322
246
413
361
318
318
308
384
288
374
363
310
371
252
311
326
315
319
263
294
249
296
335
313
305
289
320
300
235
341
319
341
314
398
280
292
353
337
212
308
323
296
267
267
207
314
328
358
272
234
400
291
254
291
351
330
299
243
314
283
376
327
355
340
282
327
362
305
270
352
336
310
318
330
221
316
273
283
337
289
351
276
285
302
232
338
288
301
291
333
277
322
351
278
333
223
234
286
315
289
314
278
349
315
374
309
318
294
278
282
276
370
373
324
307
321
333
363
282
339
344
287
267
363
291
383
323
325
387
334
337
370
309
295
331
379
320
373
321
377
306
318
386
253
373
349
305
266
269
336
271
198
268
273
298
328
315
234
366
318
300
310
420
320
317
246
305
294
308
308
343
360
284
353
351
317
350
267
323
346
304
292
244
312
306
349
333
326
285
266
350
291
319
302
289
214
364
277
304
296
340
251
335
292
392
296
359
309
264
304
341
319
345
347
362
324
347
394
277
373
250
314
311
296
326
287
297
293
285
275
354
307
373
311
245
372
334
344
341
378
361
290
332
311
292
366
272
325
316
355
383
347
342
363
300
335
279
337
357
348
302
274
344
347
300
251
320
251
237
387
364
364
316
384
351
329
342
327
295
265
319
387
416
317
259
238
343
368
396
299
216
339
375
329
330
362
304
329
260
254
334
323
345
268
318
276
255
294
285
237
254
276
347
315
248
273
336
331
414
267
304
259
320
341
326
255
302
405
326
293
296
344
307
342
369
319
236
265
282
386
287
285
348
328
322
324
297
361
256
344
298
306
267
275
291
354
324
156
311
275
380
363
356
373
289
396
361
311
365
319
384
253
330
321
266
293
306
223
405
232
384
315
324
290
283
260
314
308
295
264
334
331
299
355
299
311
346
286
344
353
257
282
342
364
286
256
302
305
218
344
375
339
291
355
284
301
312
277
264
296
327
403
305
331
351
369
299
313
354
293
345
286
381
357
315
246
284
327
348
287
287
267
273
357
285
299
298
295
362
232
257
370
268
299
338
247
244
333
394
283
358
305
267
387
281
374
306
314
336
289
305
316
361
367
340
323
286
353
269
286
303
343
357
375
383
319
353
348
304
309
273
371
353
287
298
252
313
348
328
256
296
262
325
314
347
255
288
250
260
374
380
319
343
296
389
318
340
313
278
263
290
272
281
328
302
325
372
363
313
310
359
379
323
262
337
337
264
302
297
357
253
324
303
263
266
287
387
302
171
377
320
275
301
310
344
261
389
275
303
371
250
248
267
364
363
306
338
337
396
331
331
302
300
310
236
306
305
293
350
294
335
353
336
254
312
379
360
368
193
402
384
272
320
296
315
362
421
251
346
328
300
242
275
329
271
319
283
346
358
241
308
282
280
323
305
323
314
250
302
308
288
390
330
276
324
339
338
217
301
243
351
288
340
344
329
289
233
292
326
382
290
248
336
279
267
349
282
297
222
362
417
304
363
338
402
290
300
335
374
265
321
408
410
345
293
383
313
316
325
294
233
294
398
349
339
367
343
318
276
229
316
224
367
330
349
349
235
368
324
347
379
301
294
249
327
335
333
392
347
288
326
248
382
375
345
331
311
463
273
280
304
294
349
275
358
331
270
340
311
232
369
297
266
223
295
303
319
329
330
332
291
264
298
294
266
317
361
237
282
338
332
345
311
253
404
349
283
279
385
312
342
319
354
303
394
288
375
240
194
152
349
298
283
295
348
361
321
280
335
345
295
243
322
279
325
327
320
406
333
319
305
424
307
310
282
401
336
346
339
340
309
340
325
265
332
347
285
346
299
327
344
314
266
271
259
280
359
335
239
354
385
240
313
218
329
293
302
308
295
297
316
333
359
331
301
352
359
357
285
317
312
407
275
316
370
304
309
330
341
348
232
304
311
302
337
330
283
335
375
265
299
257
306
352
334
314
303
323
328
277
349
349
245
236
371
369
336
249
353
430
299
369
377
264
383
339
291
268
221
249
349
292
340
411
326
394
278
340
311
330
302
303
362
377
267
362
355
373
275
263
286
368
283
331
285
279
268
370
342
308
366
357
279
368
357
274
309
339
430
239
268
421
239
246
198
293
269
299
243
235
298
327
297
387
286
332
358
341
315
251
280
333
289
310
340
284
259
300
395
362
304
232
329
358
297
331
328
283
265
338
416
323
243
359
337
375
300
271
295
307
333
388
283
310
293
322
339
334
324
339
355
294
225
314
393
290
334
280
372
278
344
330
221
280
304
333
447
284
273
326
355
308
364
293
337
290
253
354
255
276
328
235
312
398
327
353
294
266
388
306
359
262
348
267
345
247
254
318
275
309
323
330
292
219
301
392
364
393
335
252
269
326
336
290
331
323
333
314
316
332
327
342
266
328
304
274
342
328
407
270
352
264
302
318
336
280
333
281
331
319
386
308
299
330
238
332
354
263
318
310
348
289
330
296
300
327
221
248
292
302
290
340
247
198
309
367
394
317
334
315
233
331
268
322
286
336
318
371
302
383
440
283
299
312
260
316
271
258
368
337
362
284
406
264
247
378
307
272
252
297
310
312
292
355
326
338
272
362
272
307
275
272
249
282
400
376
317
345
334
323
279
266
317
304
296
352
354
360
319
268
264
346
330
262
384
309
314
358
233
339
334
236
367
301
318
355
261
302
348
338
275
286
268
294
374
251
281
340
325
319
346
352
367
283
339
380
295
322
255
392
385
336
284
318
236
269
356
341
322
325
286
359
176
296
207
255
275
235
369
395
304
355
295
302
301
319
307
395
267
275
346
313
347
315
298
272
294
274
292
343
291
292
345
393
329
292
324
378
321
341
298
305
396
301
342
291
318
172
311
270
289
191
355
353
298
300
333
340
300
363
344
313
327
305
348
268
302
348
318
336
264
316
322
295
342
321
365
286
372
297
225
285
330
316
311
251
310
301
236
319
301
383
280
371
358
332
323
283
216
295
361
405
323
291
345
296
277
320
291
388
307
330
316
269
236
296
342
351
295
318
352
336
306
381
338
332
278
287
336
337
210
325
289
273
314
348
269
346
303
297
257
311
268
351
331
324
289
340
348
428
382
367
366
310
367
314
335
344
329
343
320
351
258
355
322
266
326
347
335
249
328
339
307
356
290
349
369
367
271
270
354
343
370
274
325
295
332
344
352
237
323
274
442
268
262
265
292
259
272
322
333
324
336
317
324
323
337
354
300
305
352
303
290
344
340
288
291
242
251
279
335
335
401
291
314
309
381
335
292
400
373
274
421
417
288
290
253
338
321
326
315
337
278
356
260
305
334
303
359
344
334
339
315
280
356
298
229
312
313
296
312
331
350
357
354
329
365
269
314
396
300
390
342
237
338
223
308
329
305
241
281
305
319
311
306
310
278
271
215
302
324
320
264
318
349
357
407
384
303
299
278
359
366
352
314
346
408
325
344
295
291
329
298
378
374
277
295
338
272
301
323
315
326
279
181
311
369
303
309
349
377
236
317
383
305
300
301
267
336
287
300
350
329
367
295
358
369
340
252
331
334
324
199
260
358
328
357
349
357
343
328
270
338
295
308
226
230
351
380
277
344
339
265
308
378
211
391
358
315
379
213
300
275
353
342
253
370
314
290
277
362
264
322
307
316
256
280
363
382
316
277
341
353
364
301
354
312
345
355
360
346
317
235
351
344
341
313
366
260
247
251
223
324
356
269
363
377
288
301
331
286
260
333
332
339
344
358
367
320
413
292
352
326
329
300
306
254
298
306
282
322
381
313
292
269
295
339
397
372
364
298
292
395
351
270
324
331
328
294
285
296
407
270
238
387
303
339
364
272
301
313
254
318
306
279
279
358
318
337
275
276
291
338
330
302
342
261
373
305
340
294
257
297
353
301
292
307
361
350
347
295
280
390
395
398
316
325
384
285
328
330
361
295
361
274
340
311
314
300
305
339
405
241
294
327
341
319
275
374
262
318
364
419
366
352
299
352
277
249
303
338
343
398
342
292
331
240
292
271
277
395
243
298
380
278
254
343
316
336
388
367
340
305
329
259
233
338
391
235
338
321
328
309
339
340
300
311
273
324
285
311
353
282
341
320
268
338
270
411
338
351
393
325
289
333
315
321
340
291
313
329
247
286
277
384
259
362
274
320
308
325
251
353
304
339
276
327
316
362
264
315
252
214
280
190
209
356
292
233
367
262
250
247
324
333
310
270
356
312
330
338
333
304
301
321
258
303
350
334
327
322
327
225
333
311
289
378
306
275
346
261
222
321
332
262
311
225
318
304
275
304
333
303
405
256
385
304
334
212
350
282
233
360
264
303
319
291
323
295
401
204
324
322
306
287
353
285
331
325
274
316
359
370
274
296
302
264
339
282
336
336
342
345
308
364
319
310
345
313
262
357
360
208
261
280
320
350
331
345
337
351
337
271
276
293
324
290
352
277
338
234
291
307
336
295
305
348
327
362
238
326
279
350
305
259
311
310
371
265
258
371
316
240
324
350
261
286
363
338
315
338
383
226
355
338
276
340
317
272
332
288
260
375
317
380
388
286
262
375
303
353
342
293
405
353
301
357
247
297
306
331
280
283
311
340
321
312
416
314
229
275
276
331
306
247
377
242
360
326
311
298
293
293
327
255
301
269
319
271
278
350
287
294
340
375
362
360
364
295
356
333
318
436
315
371
263
332
288
338
341
309
276
259
249
420
236
422
281
323
355
275
350
316
312
404
359
271
302
306
274
359
269
363
353
310
315
336
300
392
281
393
353
384
339
329
295
274
274
352
288
220
232
349
211
364
342
335
349
352
345
379
297
308
278
308
321
270
338
303
333
292
299
304
320
311
286
291
384
353
337
297
222
270
374
274
322
356
300
287
396
194
331
329
301
219
319
422
271
312
301
249
330
347
356
308
310
288
355
314
351
305
346
378
330
282
302
271
274
371
314
207
298
244
294
294
321
376
313
274
336
399
347
349
327
319
272
177
319
385
362
337
357
298
322
352
384
273
335
378
280
299
303
286
314
378
340
414
295
357
349
351
279
327
340
313
285
412
367
290
319
379
388
343
337
276
332
337
281
273
290
288
322
288
307
317
282
413
326
338
250
297
296
297
300
283
377
383
360
307
309
291
280
360
327
386
289
387
260
338
263
256
360
313
296
286
279
373
400
342
242
286
273
279
281
268
324
356
348
309
234
325
288
293
313
343
295
288
311
254
363
354
305
389
329
322
301
260
294
385
274
307
323
300
356
280
322
276
348
301
298
370
402
383
276
324
304
277
333
245
293
393
332
344
290
339
299
359
323
310
285
322
279
245
390
352
234
337
335
323
281
331
328
384
237
304
344
278
345
249
292
249
256
407
374
356
278
287
316
347
284
328
397
322
322
352
363
349
298
326
294
273
343
332
377
391
267
283
349
264
325
276
309
329
286
346
348
407
318
327
337
299
324
284
290
361
329
391
280
339
288
418
306
342
393
350
331
286
292
290
438
258
271
327
277
347
364
266
334
273
230
314
328
314
269
334
317
267
337
296
374
363
347
380
354
315
356
312
325
300
299
269
319
311
276
320
314
323
333
290
264
280
287
352
303
343
292
276
307
308
313
314
276
303
292
284
340
395
325
314
376
338
291
345
387
380
310
231
262
308
278
302
371
244
325
305
299
298
331
376
255
388
277
320
283
324
414
253
273
325
360
332
303
336
295
381
350
252
315
331
344
317
331
337
368
302
323
312
341
302
344
282
322
230
294
319
294
286
254
343
305
382
283
353
324
317
322
318
334
293
409
320
228
225
322
356
240
340
387
292
332
297
305
390
252
382
386
380
317
296
329
294
290
293
282
241
326
234
378
350
311
314
345
298
310
364
270
264
347
319
304
282
307
284
299
322
268
326
309
311
279
353
364
310
375
299
170
267
273
341
329
284
295
249
411
325
261
393
371
350
406
345
357
331
377
373
369
284
347
308
299
264
260
288
357
273
257
266
214
297
324
325
280
269
275
373
347
260
341
302
257
293
279
324
313
320
314
285
347
360
345
284
254
297
325
351
301
275
344
284
350
310
372
317
343
373
285
383
321
348
332
329
354
254
331
364
274
334
266
341
364
292
293
259
387
311
290
320
328
331
239
351
367
364
281
240
356
326
345
273
288
351
315
262
329
344
334
353
379
424
338
316
352
289
318
263
321
274
249
356
336
247
355
335
243
315
300
219
264
301
261
342
227
280
295
265
317
330
361
317
429
362
333
311
379
257
308
261
274
242
328
287
197
360
289
320
338
334
275
338
255
372
281
405
310
288
307
392
275
323
403
328
345
319
262
264
299
301
274
322
357
373
342
320
261
338
277
282
309
292
311
357
374
366
255
263
262
330
345
357
240
343
376
350
343
335
429
289
324
313
365
422
374
340
372
281
300
385
311
304
288
303
317
377
363
275
308
235
228
341
348
253
320
300
306
267
342
315
210
301
310
303
318
324
272
385
416
273
445
368
331
338
256
280
194
311
341
365
351
306
252
311
324
283
257
311
294
306
274
259
273
385
305
269
380
283
334
324
333
298
301
374
357
275
310
282
313
333
370
287
246
277
294
396
250
294
331
366
360
291
301
350
344
347
367
301
356
327
332
301
315
269
279
289
349
301
289
363
322
360
320
283
269
309
432
315
315
298
252
274
302
314
341
345
318
269
345
346
363
307
264
340
350
391
271
215
255
299
233
304
316
293
263
369
273
368
251
311
332
288
324
320
311
348
298
306
304
316
299
313
264
321
296
363
308
259
342
374
333
277
279
306
222
282
334
283
287
352
363
343
326
364
309
301
240
300
294
277
366
334
287
381
409
367
394
261
358
359
222
272
284
271
292
341
272
221
347
300
274
371
386
319
310
339
265
353
325
319
329
407
321
366
309
304
323
374
271
276
317
247
288
237
276
308
264
295
264
319
292
336
184
348
326
341
314
281
306
385
257
267
409
316
335
333
308
367
320
276
332
268
387
340
346
357
288
378
302
340
331
296
283
322
304
318
287
268
352
335
280
345
323
302
386
299
311
287
358
342
343
334
233
336
370
335
388
303
375
266
352
240
236
349
296
342
389
309
334
245
354
346
297
256
286
323
342
312
331
324
254
330
377
305
288
347
308
322
312
296
305
307
277
288
301
257
325
277
387
232
312
286
265
269
342
307
356
272
344
369
341
309
345
268
318
336
273
311
309
358
331
258
323
304
400
341
295
289
367
240
309
340
302
264
316
305
304
394
316
350
363
243
312
379
320
278
297
286
306
316
271
338
271
358
276
306
292
307
274
331
240
286
250
377
278
342
345
369
325
254
253
316
375
291
281
362
233
289
205
265
268
297
342
346
292
259
411
412
304
249
287
303
229
267
286
387
338
359
373
254
345
333
370
334
282
413
355
383
267
320
293
365
281
287
311
360
326
270
349
361
258
353
347
256
339
323
293
330
243
389
277
344
292
226
271
317
312
300
294
292
251
293
350
361
290
258
390
264
400
347
286
257
290
386
248
308
304
402
315
329
331
311
388
343
380
340
416
242
363
300
295
254
295
309
280
272
228
259
264
312
305
378
358
332
279
247
255
302
290
345
342
294
289
324
307
351
297
290
307
351
402
268
357
355
252
363
364
315
307
237
395
294
311
280
297
310
318
324
356
262
315
278
363
277
356
342
366
339
261
308
333
305
256
351
338
291
366
235
243
212
400
310
337
344
342
361
230
368
237
317
346
298
290
295
397
286
223
233
272
250
373
298
294
399
245
223
361
379
311
394
324
276
337
283
321
350
314
303
306
254
422
239
274
301
354
432
354
240
347
331
326
325
341
308
326
329
256
382
320
329
313
397
353
273
203
361
254
365
290
290
292
212
297
408
302
342
315
359
343
334
262
349
366
281
332
274
281
270
348
300
300
350
270
335
390
238
309
341
251
199
256
311
281
382
324
290
274
367
267
307
294
267
233
259
272
357
281
325
252
292
300
258
192
412
302
350
296
331
318
323
314
339
323
361
270
348
262
389
307
344
364
311
345
264
350
306
343
362
304
375
360
305
294
387
229
335
336
291
236
344
309
305
255
360
255
378
296
271
272
319
313
296
260
340
224
322
328
316
346
228
313
353
324
219
382
358
334
307
229
302
335
278
319
310
310
277
245
267
277
352
235
377
291
388
297
267
328
269
356
305
296
368
334
342
330
347
308
291
356
232
266
254
263
294
379
349
307
208
286
371
349
230
389
376
331
356
318
321
340
317
301
294
332
261
255
233
354
271
347
312
357
246
296
340
357
269
271
312
349
275
290
296
260
348
361
335
345
295
283
336
349
219
326
344
336
317
305
364
361
260
374
279
298
341
334
345
295
285
299
282
323
282
320
245
270
270
327
361
270
292
371
353
309
340
293
336
343
253
331
282
303
291
375
295
280
230
313
364
361
299
320
362
321
325
279
275
324
303
216
290
293
355
401
329
342
376
293
273
323
352
306
387
295
253
332
338
362
325
287
272
300
337
334
294
309
256
338
261
338
297
345
347
358
308
367
333
358
391
312
334
359
404
278
317
298
273
331
301
316
330
347
289
311
353
299
311
363
253
382
305
339
367
272
325
341
364
243
388
362
251
277
335
319
323
294
394
289
356
348
319
332
386
253
352
305
304
217
297
435
362
281
331
276
219
301
358
298
378
382
277
392
340
274
307
349
298
288
336
262
217
261
239
294
344
356
323
354
289
312
356
379
330
310
360
363
313
336
322
315
340
287
320
308
346
339
292
340
334
259
325
252
300
229
277
221
356
392
284
349
330
332
356
290
279
334
367
274
346
242
249
284
268
275
323
352
290
313
272
273
276
292
348
320
380
281
319
313
304
334
314
278
198
334
304
352
279
282
324
261
266
379
302
251
255
338
215
396
328
235
364
346
292
324
308
366
305
287
267
308
228
380
244
333
307
218
275
307
362
243
275
357
303
353
227
288
335
274
342
381
353
320
369
206
328
339
260
378
325
356
323
284
244
332
212
317
368
277
370
283
332
288
299
300
284
323
339
344
298
258
304
374
328
319
372
249
339
329
305
325
264
328
383
365
318
281
345
373
280
350
309
275
227
218
271
325
375
302
302
314
314
291
312
291
280
304
372
285
269
329
377
271
302
293
359
364
261
357
283
345
238
348
268
324
240
332
386
287
408
331
344
322
361
261
250
355
264
337
332
335
308
352
268
326
295
339
258
383
345
361
285
312
371
290
329
316
328
331
339
350
346
220
250
332
260
377
214
333
365
323
249
313
333
334
329
342
270
352
276
357
339
376
347
304
287
221
235
286
291
264
337
376
323
319
315
341
293
281
348
343
396
390
242
271
347
292
331
312
392
294
323
267
284
221
358
327
315
394
312
325
287
332
268
217
290
247
296
270
329
323
317
337
297
371
309
268
327
281
331
347
294
258
272
402
384
364
325
296
361
305
340
323
327
295
358
388
389
343
304
312
325
321
352
255
326
347
305
338
339
287
305
317
284
368
303
335
243
334
402
348
355
280
331
301
334
306
281
313
307
388
305
311
263
274
329
346
299
320
283
335
348
354
332
338
329
345
253
257
347
313
266
322
178
329
297
331
276
396
374
307
306
331
271
334
264
296
354
351
246
306
303
363
332
305
338
339
314
335
324
291
317
290
345
221
337
297
266
313
296
275
290
302
336
245
343
342
315
339
322
354
293
351
339
257
316
338
331
384
288
347
318
240
279
299
355
271
293
282
229
321
279
291
347
217
327
293
354
297
263
354
375
261
258
229
428
265
267
333
274
342
348
271
366
346
321
336
312
259
300
404
327
337
340
365
360
322
299
359
245
333
319
301
308
246
335
323
319
358
336
350
347
307
359
350
407
348
320
275
292
284
341
279
336
336
351
309
374
388
331
298
274
384
337
342
313
304
378
294
369
427
320
312
324
364
362
268
345
331
298
339
310
294
388
370
270
320
344
323
355
292
249
317
333
317
312
334
345
315
216
347
353
344
301
325
352
284
248
286
328
301
257
301
383
312
351
281
359
353
323
341
349
324
300
349
276
303
293
311
320
299
391
265
354
341
355
306
270
293
354
320
206
331
370
231
324
276
367
370
368
316
290
343
326
305
366
239
344
347
350
311
398
342
335
281
336
304
269
332
242
285
370
366
389
316
295
281
280
303
298
243
279
285
306
315
272
276
309
344
342
286
358
250
305
353
339
348
306
288
401
238
332
339
354
299
343
289
312
328
263
238
324
379
389
359
321
290
276
402
313
341
261
342
260
274
319
280
381
283
256
312
298
354
288
250
312
364
325
292
302
336
340
253
362
308
334
269
322
345
352
328
363
338
336
354
322
311
211
307
329
272
284
353
305
302
324
334
274
279
334
308
412
277
423
268
329
310
360
338
353
267
316
290
308
345
346
348
329
351
286
320
294
465
252
332
396
353
400
291
394
351
354
280
286
345
362
409
388
283
327
314
360
348
324
279
309
377
323
251
284
327
359
361
246
283
327
307
267
316
317
335
262
329
338
330
297
386
265
324
305
368
376
334
245
334
298
293
336
363
332
262
315
362
350
342
357
373
244
359
317
282
273
306
314
351
300
277
307
355
289
255
281
324
365
308
272
311
321
366
294
333
291
237
235
273
364
273
309
284
336
300
326
245
333
418
325
268
345
321
350
324
372
392
259
269
318
355
288
237
288
317
324
295
290
312
329
309
325
353
323
246
301
207
244
293
359
341
272
269
324
257
328
282
345
384
366
195
352
310
261
340
345
283
289
333
268
350
336
327
344
296
274
344
357
314
319
291
301
359
204
329
320
283
311
281
368
288
352
337
351
272
349
279
335
295
338
296
283
309
289
250
214
363
341
286
314
339
357
304
290
309
309
323
277
308
286
262
325
272
323
356
274
381
273
383
299
285
336
323
331
323
284
342
327
351
327
307
267
271
275
283
366
268
290
246
343
381
290
304
233
289
367
319
252
310
327
252
248
339
315
303
271
261
348
317
304
298
399
292
334
286
346
257
247
344
363
301
369
375
360
285
263
294
330
295
290
308
252
362
373
255
341
360
218
275
284
322
209
367
267
229
315
249
290
303
319
401
342
298
308
290
288
273
327
255
327
330
350
303
295
385
298
254
285
368
319
258
435
311
316
284
388
333
351
287
301
351
340
336
400
320
337
292
350
350
271
319
359
342
344
364
309
290
296
327
316
347
342
202
325
363
354
250
335
335
319
318
323
309
275
222
361
247
279
420
341
335
275
304
276
263
286
322
201
308
334
274
312
289
316
337
332
298
231
314
328
304
331
320
263
385
303
354
282
327
329
210
285
317
270
293
292
244
274
243
316
339
345
307
391
258
267
328
353
299
238
270
347
277
270
246
222
258
355
368
341
351
335
402
247
298
292
404
398
309
284
394
313
313
302
316
382
328
282
261
328
318
331
333
248
376
313
368
373
328
316
262
327
375
344
292
314
376
245
267
305
324
309
377
300
255
333
303
304
347
361
253
333
250
304
361
361
281
292
308
288
340
305
364
316
316
282
264
306
267
333
352
227
378
280
301
269
277
348
313
309
306
344
301
293
261
299
330
297
319
351
285
294
356
400
282
361
327
279
356
348
301
393
303
370
393
344
268
285
360
240
328
282
240
271
342
331
368
368
332
290
403
338
291
286
261
273
294
292
310
285
339
303
374
333
300
275
264
298
325
272
271
310
259
321
340
337
367
301
267
300
359
315
328
346
274
245
270
290
322
321
362
228
301
308
278
290
333
275
274
382
311
263
340
321
204
349
317
288
314
391
215
305
371
333
382
352
310
348
305
261
327
334
327
323
268
301
321
332
295
222
344
316
326
328
331
317
259
292
313
303
365
371
387
236
328
345
319
339
322
299
336
275
288
335
473
287
389
411
284
269
271
322
316
319
235
354
338
370
373
381
311
277
306
367
319
350
348
247
356
360
265
343
360
255
371
298
314
288
318
380
395
315
319
341
292
312
242
375
380
306
335
267
373
299
336
243
308
332
277
265
282
277
338
299
272
317
307
307
302
304
323
255
392
347
332
287
258
319
347
223
230
311
370
326
310
310
320
273
352
357
345
316
305
387
271
319
285
304
302
308
299
267
290
315
377
236
391
326
263
248
289
252
341
318
272
359
329
284
319
423
276
306
303
309
314
254
306
272
258
308
337
415
165
351
302
359
316
299
258
288
325
221
307
354
348
352
235
193
299
417
342
379
212
378
303
353
196
299
316
252
307
254
324
288
345
272
350
292
257
309
332
320
300
301
294
278
241
217
351
413
319
367
309
378
404
298
198
397
323
266
221
358
387
352
342
339
298
424
356
300
296
387
280
352
397
275
331
381
366
346
280
264
299
335
290
313
335
357
285
385
302
412
313
303
369
312
251
381
344
299
342
312
305
358
326
303
324
300
287
300
342
303
327
288
279
336
361
285
293
343
280
420
350
264
259
305
236
249
335
341
280
351
272
340
306
373
236
321
328
266
239
328
303
383
336
362
318
311
368
358
361
338
352
312
276
272
352
385
315
329
308
285
368
262
341
276
317
316
344
275
339
261
261
387
256
315
284
308
319
280
356
463
304
298
321
348
316
237
256
293
360
219
400
340
236
340
302
295
349
322
321
306
246
373
302
261
364
311
280
305
242
331
374
311
337
258
292
310
354
317
304
264
334
175
323
303
312
362
300
250
357
355
341
268
318
281
361
304
365
360
349
372
322
328
273
306
283
294
338
358
251
283
259
367
366
330
306
320
271
382
349
382
369
367
261
295
345
339
376
368
238
310
346
255
366
334
289
393
372
314
340
307
347
254
317
316
322
268
316
321
296
270
342
354
331
250
446
380
312
287
295
314
340
373
307
315
338
249
311
366
340
373
353
306
311
403
301
273
266
328
310
339
266
283
328
383
227
322
259
251
337
332
333
327
332
311
298
310
307
306
327
359
349
328
332
246
311
330
364
310
360
345
361
332
289
252
385
301
344
294
359
322
396
324
293
296
335
373
280
366
339
344
327
367
364
357
294
217
326
369
315
310
295
331
331
217
342
287
353
343
322
291
280
289
325
267
318
336
271
280
417
304
271
335
327
302
299
334
285
330
304
363
339
380
313
300
293
328
355
333
299
268
235
313
297
219
366
405
377
240
339
297
284
329
306
226
320
328
265
360
308
402
283
298
350
340
321
315
239
381
264
255
313
262
324
344
288
295
277
312
326
273
263
247
332
302
292
283
276
393
276
309
321
239
308
270
316
262
236
304
306
439
337
280
375
335
311
319
241
300
294
327
312
296
224
350
266
324
346
363
360
360
325
322
321
258
347
285
355
305
316
344
302
324
286
309
311
238
341
376
256
364
340
304
386
256
270
338
309
310
270
255
329
316
360
228
291
330
333
321
332
254
316
418
347
414
255
301
366
317
310
283
285
355
328
350
346
360
272
366
255
322
255
340
355
380
326
311
386
403
409
272
345
308
260
262
352
299
253
406
353
410
308
225
254
242
311
368
353
309
352
279
318
335
271
314
304
342
341
245
355
216
301
354
364
347
241
336
285
305
366
262
298
293
328
296
295
332
368
272
322
291
309
299
306
322
341
374
362
322
325
309
317
308
333
360
275
306
348
269
299
380
366
281
221
346
273
336
269
352
323
399
331
341
326
360
219
365
292
297
342
364
373
347
302
327
268
346
336
291
350
366
313
378
335
340
298
282
288
259
377
307
297
346
341
274
309
274
341
322
279
320
391
334
309
225
312
259
399
288
365
388
321
298
223
341
264
387
320
343
305
350
306
326
312
294
325
240
317
365
398
243
296
298
366
317
364
262
266
335
264
307
315
377
314
382
285
380
325
329
362
284
276
357
320
325
296
336
331
261
335
396
320
301
330
380
339
324
265
278
348
283
391
254
309
305
307
288
362
318
186
350
330
319
382
259
340
280
399
326
339
283
330
380
357
285
360
312
325
344
371
372
272
315
297
291
114
354
274
278
297
315
374
271
299
309
384
358
315
313
354
311
368
286
332
326
282
287
305
325
349
349
266
321
279
356
325
352
312
351
303
342
307
311
321
303
382
297
342
314
316
417
345
306
302
350
299
301
353
376
340
355
315
344
261
395
298
290
319
354
342
321
320
226
330
285
325
319
418
161
293
298
308
206
202
299
281
312
260
343
244
314
317
331
314
370
288
339
301
323
248
296
344
312
349
307
333
354
331
308
291
314
291
301
229
311
308
277
248
298
362
343
241
330
382
275
289
307
258
344
385
337
247
345
270
322
399
372
308
337
318
303
282
356
239
346
294
270
373
343
336
313
393
288
325
256
304
286
289
303
362
255
315
333
273
387
319
349
306
350
306
292
352
310
292
307
388
281
272
335
295
324
308
348
350
326
328
291
378
326
313
263
339
287
259
310
304
321
349
395
310
247
317
302
347
250
221
314
302
342
364
400
308
347
310
346
319
275
341
292
403
297
331
364
310
269
363
296
292
379
223
331
343
283
309
358
355
355
369
372
175
335
317
320
395
292
293
310
324
319
380
325
308
268
314
365
249
311
266
377
350
337
270
342
292
363
211
317
330
315
358
305
313
349
340
281
273
343
290
367
328
388
325
305
351
331
339
305
268
332
311
326
313
293
359
256
296
376
302
271
321
395
324
307
274
267
307
320
381
365
348
265
289
294
358
341
268
310
351
268
360
263
399
314
323
308
297
297
217
412
263
267
295
292
366
327
230
324
333
322
306
405
254
302
377
337
314
283
344
338
305
273
315
319
304
302
277
306
436
237
261
331
301
333
281
340
332
316
369
334
321
328
322
281
340
303
358
350
320
381
318
283
300
233
291
376
365
266
279
349
328
312
310
254
299
363
351
320
397
351
209
244
255
305
256
362
336
209
292
218
321
297
338
383
315
203
248
275
332
318
278
321
271
268
293
333
291
289
315
340
281
408
334
272
341
240
271
407
312
273
400
310
247
332
447
315
347
309
352
291
348
333
420
321
304
203
264
358
345
254
291
307
301
267
317
323
325
316
337
342
292
270
345
331
279
289
266
362
299
366
312
277
307
358
290
234
271
354
362
333
339
343
335
289
276
322
327
322
327
403
194
301
319
359
314
329
330
382
297
339
279
340
326
344
332
298
258
369
369
328
314
353
331
334
292
341
304
281
317
258
320
292
327
301
281
298
335
325
310
326
249
337
236
349
227
346
289
316
341
335
300
325
363
378
271
308
294
396
326
363
252
387
284
281
264
241
274
359
392
319
275
346
266
340
309
283
277
382
339
327
368
367
342
223
344
341
333
360
301
380
355
284
317
285
268
294
283
360
316
286
262
290
359
373
320
366
338
296
316
308
339
314
303
358
320
416
316
305
332
301
329
338
350
294
313
287
264
290
357
310
314
268
354
331
343
278
332
359
306
333
361
271
307
336
351
374
179
366
384
297
361
311
266
344
282
262
309
326
313
269
352
314
353
213
358
292
385
339
339
377
352
352
313
328
350
253
315
304
292
322
329
288
278
289
285
296
354
272
288
267
249
336
386
246
354
351
352
294
383
282
306
260
299
334
289
273
243
347
287
320
365
247
286
328
312
258
304
257
327
323
301
312
347
337
336
321
296
357
339
375
322
339
343
290
319
338
293
306
304
313
273
365
247
286
329
395
341
346
301
325
311
310
291
331
298
323
298
275
374
304
283
298
304
284
326
272
336
211
351
382
340
333
370
272
298
313
369
239
250
279
361
372
363
416
323
288
329
255
288
302
273
295
358
278
300
406
317
328
360
390
350
335
324
337
297
283
306
302
373
401
360
194
329
334
263
330
347
303
289
383
331
377
264
318
272
308
352
316
317
331
409
404
240
289
314
341
347
241
271
299
385
353
269
293
334
351
283
348
360
351
327
386
325
288
304
282
347
364
429
336
356
272
347
342
322
300
358
399
329
268
332
320
277
338
283
324
333
343
312
226
365
330
331
272
231
317
258
257
274
269
333
316
289
342
321
398
329
347
361
333
290
291
328
326
277
327
315
302
237
249
293
315
290
284
379
343
220
349
327
391
264
286
309
269
368
331
338
369
280
358
307
397
306
266
267
365
385
262
409
336
371
361
366
285
314
371
298
364
348
327
347
295
343
398
317
280
388
318
357
306
285
318
318
334
324
321
365
324
259
284
390
333
370
307
285
316
266
348
329
331
316
297
298
251
431
340
307
378
318
326
266
262
384
260
309
287
324
325
319
246
348
429
261
326
350
301
278
371
354
353
377
290
300
315
328
345
304
348
360
290
335
279
295
279
298
269
380
329
304
327
325
268
287
288
269
312
329
283
267
360
315
363
368
273
384
321
292
265
209
248
401
317
366
315
321
377
314
279
389
285
304
384
264
317
258
314
369
353
357
261
289
334
343
302
274
293
281
380
243
192
301
226
318
341
306
293
271
426
339
414
313
278
323
292
262
271
340
291
336
318
332
293
316
364
308
320
302
303
303
244
366
345
279
359
300
359
235
303
355
339
291
398
328
351
320
291
317
305
362
256
373
272
342
287
377
343
339
366
277
394
332
381
263
330
318
351
338
274
331
316
291
230
335
253
320
271
354
292
293
389
321
326
347
361
333
316
410
341
387
231
286
248
272
385
284
316
350
204
313
280
203
280
349
344
263
305
384
353
292
370
301
258
287
325
397
385
323
218
340
305
329
373
340
307
304
325
358
366
283
317
397
385
328
339
261
382
419
327
289
385
316
359
335
260
395
372
301
319
280
360
251
367
333
315
348
366
285
310
275
332
405
354
226
280
314
338
346
274
407
313
268
365
350
261
254
351
333
314
351
287
337
284
270
338
436
324
393
322
381
310
231
371
323
353
316
305
262
305
370
326
336
344
259
293
282
406
231
320
331
353
239
342
251
399
314
286
292
333
226
274
273
368
271
312
280
292
361
362
342
339
312
359
316
320
330
274
308
400
324
253
203
303
328
379
391
330
341
268
263
350
192
318
334
300
248
354
344
283
295
316
313
373
244
265
399
341
215
253
306
368
260
311
310
308
335
345
287
381
322
363
331
307
313
294
244
309
282
339
307
297
315
406
337
335
344
384
352
247
304
216
322
296
265
327
370
341
390
298
231
374
353
343
326
387
316
317
348
388
313
321
316
307
328
351
294
347
332
319
318
234
222
365
293
310
350
334
334
296
309
308
204
346
312
260
393
251
350
295
299
370
336
362
266
361
368
314
330
367
229
304
316
326
272
309
272
306
247
364
314
282
331
397
333
334
433
300
273
257
274
338
315
356
345
303
228
303
299
313
288
350
343
241
381
342
400
227
329
373
341
381
338
364
302
292
333
284
309
299
255
324
360
223
288
271
349
374
341
334
325
302
369
266
348
324
303
353
334
282
368
318
287
307
266
340
223
418
238
313
338
303
269
301
286
327
306
330
371
313
330
287
315
319
420
353
264
323
324
307
304
294
363
287
295
310
365
310
401
308
300
317
380
254
283
335
253
308
333
272
354
247
311
237
320
350
293
322
285
338
393
306
341
356
320
301
282
345
295
298
355
323
259
207
317
368
316
363
285
300
311
343
275
348
310
225
348
269
328
293
287
257
343
256
303
359
345
350
343
372
327
290
325
408
285
255
426
357
234
260
332
355
332
288
307
341
331
280
373
203
257
266
269
293
281
370
390
309
255
249
391
286
242
303
301
368
246
263
280
328
291
412
369
288
311
243
380
336
290
287
307
309
314
270
323
354
292
263
359
241
227
301
340
297
303
368
257
346
307
285
344
321
395
253
318
339
363
327
323
244
374
382
299
258
287
201
348
328
370
280
297
325
266
319
336
316
360
326
365
227
400
301
230
288
340
341
341
259
314
354
339
233
316
276
355
367
320
321
368
252
249
310
345
350
311
390
351
290
311
349
253
332
277
318
446
339
349
322
343
312
410
314
360
313
305
199
254
337
304
312
364
326
334
372
330
322
276
294
283
291
384
313
422
370
313
370
287
317
275
303
310
312
310
298
341
344
285
320
358
360
351
257
303
324
282
246
376
298
381
284
358
349
340
288
392
258
310
309
353
322
307
284
381
301
278
226
258
310
330
310
294
360
245
308
294
267
386
215
332
338
260
340
340
260
360
299
323
330
312
279
376
384
255
285
343
339
290
316
392
298
295
330
277
258
342
336
269
206
296
272
303
256
328
305
363
279
341
361
271
315
283
354
274
383
295
295
332
392
308
208
343
263
351
336
305
317
343
336
359
332
271
246
283
320
328
298
334
300
294
342
327
269
238
341
398
345
292
317
353
258
372
273
344
293
298
306
351
366
348
294
352
333
326
357
312
282
350
297
328
310
340
324
280
360
319
339
227
317
297
255
219
344
343
325
277
287
294
273
334
335
365
382
291
367
365
318
323
327
262
369
310
358
241
375
350
349
348
387
362
300
281
386
350
358
303
265
347
309
271
322
304
361
293
286
388
324
400
351
268
258
389
237
280
300
321
325
334
282
323
324
246
273
323
409
275
279
286
331
332
451
345
261
302
323
339
222
231
254
267
304
289
366
334
351
278
374
246
263
328
332
249
311
323
230
356
313
243
345
379
335
294
315
203
290
233
355
320
336
233
271
261
309
309
412
298
280
337
288
260
379
324
269
326
357
356
345
363
293
256
255
269
281
300
219
317
363
323
292
389
305
319
329
255
451
375
369
310
343
284
334
260
282
424
333
200
337
328
360
266
259
377
309
327
346
265
295
366
356
316
237
326
342
371
332
339
306
271
387
335
320
270
350
383
358
273
351
340
286
323
301
272
202
411
334
252
245
280
219
339
396
354
316
262
308
316
323
297
324
366
260
328
336
329
323
339
270
332
237
268
320
353
270
295
346
342
273
348
355
361
389
306
271
334
308
301
260
295
361
317
323
325
250
223
240
314
251
315
326
342
300
263
362
218
316
320
277
261
317
295
239
279
274
393
326
341
329
281
320
234
276
264
293
310
258
312
265
258
334
297
302
332
347
369
304
293
257
291
303
317
249
316
317
320
329
335
368
306
284
308
283
283
344
228
226
276
251
306
325
344
331
316
317
304
296
308
329
267
273
281
345
323
318
356
308
309
218
338
287
366
362
306
291
340
300
333
345
331
371
340
311
256
292
394
365
368
320
328
192
346
248
355
310
298
347
278
306
322
294
362
249
303
269
314
321
224
356
326
353
345
312
325
338
294
335
338
336
267
239
388
330
330
288
373
246
285
302
286
234
359
382
284
356
354
289
380
314
361
355
219
373
381
367
324
347
319
250
310
318
295
242
321
250
280
341
351
294
280
279
391
282
285
294
320
369
278
360
270
297
330
309
349
355
272
284
332
330
282
355
336
256
362
269
270
278
291
313
377
317
308
306
356
319
241
324
370
284
317
402
303
282
331
331
258
301
269
342
290
264
336
304
415
335
371
300
281
308
328
360
323
304
280
331
357
292
370
314
295
320
359
362
267
315
304
343
287
232
332
398
302
252
328
383
337
294
278
328
328
244
315
379
265
204
326
389
281
365
341
315
349
301
318
346
292
248
313
334
299
336
371
375
315
264
389
327
295
324
381
325
304
279
320
325
384
368
314
278
343
251
258
332
327
356
371
302
359
322
350
369
300
303
242
375
329
348
313
265
339
357
317
251
280
433
259
286
215
381
292
299
351
364
359
373
331
313
315
344
332
295
322
330
294
348
308
382
268
257
287
259
320
245
358
219
301
229
322
308
373
339
283
342
301
326
303
335
354
341
329
286
317
354
369
245
231
354
349
275
285
273
258
271
381
289
295
327
270
284
361
377
342
392
390
266
322
405
315
227
345
295
387
325
395
354
269
341
353
331
246
352
295
297
354
281
316
280
293
252
304
379
319
322
279
283
298
344
377
281
230
386
341
315
359
312
322
340
267
359
349
360
360
336
341
290
262
286
331
347
215
394
376
332
319
299
205
335
339
302
323
230
354
421
312
326
342
251
369
357
350
344
273
260
291
363
226
335
314
304
263
309
285
296
373
295
326
313
327
362
275
316
318
374
349
374
221
373
358
265
291
321
205
377
380
294
291
347
228
314
333
251
314
287
341
256
369
263
312
362
402
306
230
305
243
318
262
385
328
263
288
304
341
343
317
375
405
227
297
367
333
346
333
306
328
395
311
371
275
316
290
238
318
362
347
360
220
323
366
375
246
371
373
270
269
330
353
278
390
306
329
353
284
284
253
328
313
351
273
235
335
358
376
377
345
301
330
372
248
274
317
322
346
320
336
287
364
278
347
365
453
315
313
299
276
400
301
343
354
277
316
289
347
290
347
334
294
312
273
271
370
334
273
349
400
355
310
237
279
277
236
278
339
436
328
280
384
276
320
342
291
288
282
360
283
365
361
339
341
277
380
351
264
301
236
318
329
287
266
303
295
291
308
303
338
341
287
423
408
307
313
362
376
331
265
347
219
362
265
333
305
273
270
316
209
370
353
299
249
265
317
266
349
356
296
311
290
237
306
318
245
267
257
298
414
338
257
375
288
278
310
295
304
312
315
339
338
329
382
288
321
358
304
407
309
374
347
294
228
320
244
334
363
306
364
342
326
282
337
333
322
327
295
329
312
316
365
375
281
330
314
271
252
257
300
344
274
259
276
306
327
348
271
365
298
329
382
326
284
392
270
337
270
374
292
313
313
396
376
282
389
351
340
367
340
253
389
272
345
293
329
335
235
343
333
368
299
383
388
299
373
381
362
327
374
380
367
303
285
372
250
296
378
384
319
323
314
311
294
272
348
341
348
259
322
287
291
359
264
272
386
320
297
264
314
255
420
223
258
267
319
351
308
326
367
305
369
379
352
279
392
241
340
246
273
266
331
339
305
312
283
373
357
317
351
289
231
235
326
291
281
375
314
245
378
272
311
240
304
245
338
332
409
353
332
337
321
271
211
361
281
310
306
320
363
335
307
339
383
314
272
290
338
356
333
339
306
316
324
214
306
368
281
289
287
262
395
262
333
413
373
313
346
324
330
320
263
358
342
340
235
320
368
309
367
238
304
333
325
291
305
299
307
308
385
366
351
293
303
320
368
272
318
337
306
393
369
292
307
318
289
366
341
244
340
315
324
247
314
319
261
335
272
375
400
348
280
382
259
367
214
317
354
328
309
272
248
295
308
322
294
336
312
336
348
286
333
418
352
368
292
343
207
340
381
201
313
333
354
362
301
321
310
258
209
386
283
303
245
340
283
319
261
364
263
346
327
304
254
235
303
388
330
329
322
311
291
314
306
367
355
390
314
327
301
347
256
310
243
334
307
302
231
264
284
266
284
360
347
228
289
337
360
287
326
279
235
249
340
348
313
342
312
355
393
253
371
330
301
392
323
355
304
368
343
282
335
294
319
321
303
290
348
286
329
294
325
315
231
285
307
368
369
358
317
292
249
374
290
289
278
330
313
288
360
309
324
324
334
303
295
343
272
285
362
394
311
334
311
209
328
335
359
262
339
350
349
341
335
238
301
227
319
307
269
316
375
289
257
289
363
371
409
323
313
379
325
337
310
315
392
301
340
324
276
333
270
267
234
305
339
394
283
293
329
394
408
391
293
301
242
284
269
321
219
329
278
351
331
337
356
228
313
235
258
361
262
334
286
288
319
338
271
266
217
357
281
245
318
351
344
286
347
308
285
339
345
301
256
311
307
365
299
336
318
371
342
256
294
301
324
300
294
292
273
406
366
311
304
360
390
320
268
215
324
323
330
308
245
305
296
367
396
350
273
256
260
299
344
370
376
316
355
318
335
306
308
288
291
376
308
368
281
264
313
315
333
332
336
326
354
349
380
255
316
348
319
311
333
307
338
366
354
337
290
346
256
345
344
357
381
272
318
345
318
328
316
298
348
257
401
288
345
325
286
362
277
258
272
345
350
357
313
281
347
359
431
263
381
331
226
331
364
279
401
298
273
344
301
324
289
282
298
343
398
343
293
354
318
300
319
289
303
293
329
288
237
353
247
387
220
379
326
303
300
262
339
328
305
285
324
384
343
354
355
331
320
307
310
272
312
344
300
253
301
271
246
351
356
370
371
221
330
328
320
288
342
287
319
296
285
320
242
343
310
376
309
385
363
333
250
351
337
362
323
339
288
271
349
318
307
314
236
330
300
282
353
338
270
332
350
311
282
270
346
279
337
274
313
169
267
265
350
334
313
322
301
412
392
320
342
322
214
252
328
372
309
314
259
319
268
270
271
303
340
396
233
299
410
288
337
306
306
314
293
304
283
301
324
308
399
362
299
304
379
268
348
324
298
301
296
330
201
273
383
253
353
364
280
309
209
296
289
305
278
356
377
347
306
271
323
358
338
318
348
274
300
303
347
330
385
380
321
284
342
307
351
366
243
360
319
322
323
361
233
245
230
260
412
352
356
293
286
302
276
278
332
257
244
294
362
305
363
341
202
275
340
238
328
322
345
358
339
292
298
336
307
282
265
261
253
328
387
309
323
247
324
331
295
376
375
257
342
338
346
353
366
338
312
248
315
366
287
196
304
274
273
297
346
307
288
320
276
299
236
271
369
313
382
265
324
308
442
332
339
276
269
276
335
367
256
326
307
297
273
329
306
386
294
374
232
253
362
279
340
311
371
324
296
316
291
365
302
399
275
384
318
419
300
288
414
262
309
371
263
281
289
298
350
348
326
259
373
305
347
405
275
316
346
386
255
336
318
312
376
307
280
311
356
315
347
307
308
317
371
345
180
399
320
291
238
381
298
347
328
355
333
367
367
227
349
304
302
290
322
289
299
337
335
333
421
341
230
282
369
334
304
352
377
315
376
307
323
241
203
266
315
331
369
292
281
364
382
374
310
258
289
226
301
315
276
349
341
363
301
288
355
264
353
289
317
322
343
420
322
267
292
349
241
290
371
392
334
298
327
267
322
220
363
275
328
318
368
291
388
251
309
401
264
340
161
266
306
401
295
233
264
269
324
317
430
299
388
369
237
329
199
317
350
369
353
306
352
275
338
361
268
338
317
272
282
446
277
333
305
293
235
242
280
312
324
277
294
224
390
289
322
232
358
300
340
363
310
316
263
339
322
359
288
261
275
304
329
280
340
395
304
312
342
349
224
327
408
286
304
320
371
314
336
374
292
344
327
296
291
365
371
237
221
344
276
295
332
299
336
265
341
266
274
264
278
324
347
375
338
349
343
302
352
209
252
331
315
324
358
307
272
327
277
325
296
283
277
281
283
309
294
267
345
334
261
327
266
277
324
284
405
338
234
283
279
322
378
291
269
175
357
309
328
380
352
275
325
302
320
291
308
243
366
354
292
246
341
284
298
263
362
400
356
254
234
313
277
223
322
336
376
312
291
262
250
287
341
313
339
313
234
343
340
267
304
282
326
372
317
396
217
381
297
338
343
356
383
347
318
284
323
364
220
285
335
315
250
390
325
259
295
316
357
309
320
299
253
304
229
356
284
371
335
350
259
303
311
268
343
346
332
322
318
345
303
225
294
363
408
278
400
335
344
346
319
303
327
344
325
321
297
332
318
339
293
307
302
321
421
301
312
311
375
261
285
245
279
453
368
335
292
292
292
233
308
326
294
320
399
327
286
316
312
294
263
276
342
300
333
348
330
353
339
312
365
377
373
273
384
339
369
316
389
368
229
316
298
336
350
388
330
332
319
295
389
328
313
279
351
300
286
208
317
321
345
339
244
286
267
378
297
365
245
380
318
270
345
348
301
327
296
300
253
353
342
289
322
349
321
336
314
289
257
325
281
308
299
304
256
327
374
236
238
265
349
251
324
315
317
317
275
371
293
295
295
274
323
269
237
345
358
243
311
373
269
300
361
319
264
290
321
302
299
306
361
276
349
296
344
326
323
263
329
276
277
313
273
271
312
395
382
307
247
334
274
263
274
308
304
314
381
270
278
311
305
300
298
228
276
301
262
308
303
311
257
281
318
323
289
250
236
281
310
300
262
319
428
245
254
240
275
254
290
374
339
347
352
280
334
331
370
218
330
321
307
422
270
360
378
262
361
249
208
346
218
303
322
268
320
318
262
313
284
390
316
302
369
339
365
289
361
355
300
215
304
360
252
338
311
312
320
288
285
314
369
270
357
367
352
416
281
290
363
301
293
332
417
319
333
270
333
304
199
299
370
228
377
301
368
289
361
350
273
351
258
291
358
239
262
340
368
371
354
344
316
358
369
319
335
388
360
208
348
312
351
313
256
256
358
341
280
343
345
267
220
325
350
319
405
329
311
270
263
367
304
285
345
341
277
320
390
392
311
151
276
267
311
263
373
305
351
265
312
353
379
315
297
290
250
287
307
317
375
385
318
337
315
327
350
251
306
280
253
314
325
344
339
350
321
316
237
306
357
344
312
310
292
260
315
314
330
344
264
312
400
264
305
377
259
291
373
287
388
455
301
299
363
360
346
365
316
295
284
343
311
360
267
323
241
220
238
268
280
280
314
260
318
299
255
258
361
328
273
326
375
324
320
309
269
317
264
384
325
299
358
344
277
343
339
355
291
354
317
323
225
388
317
249
324
318
310
333
326
361
343
377
360
319
344
208
202
346
344
350
335
358
225
389
353
290
363
414
301
419
220
404
262
380
329
338
236
317
267
356
303
363
274
334
280
345
344
310
286
371
267
267
289
308
308
352
294
313
256
343
337
318
291
312
357
361
283
316
313
338
283
244
265
272
329
377
276
248
355
335
273
314
333
312
344
307
300
345
238
355
378
339
231
331
298
285
379
391
390
302
248
304
325
299
307
329
322
395
328
250
325
323
350
377
377
272
337
330
311
317
290
278
280
340
324
335
311
254
317
372
360
311
267
267
349
326
359
301
272
313
283
366
381
317
272
306
260
289
296
357
313
359
302
386
270
360
280
286
364
340
248
383
297
298
340
408
267
292
344
295
286
352
241
304
286
215
310
281
355
360
283
328
315
319
280
336
325
250
295
263
319
331
286
236
269
289
305
284
304
331
284
337
336
361
376
378
314
341
315
351
287
272
299
333
331
277
427
350
388
223
339
363
339
406
364
288
383
379
294
297
279
345
364
324
213
354
388
362
370
261
237
329
319
350
295
272
308
288
312
304
314
352
357
282
338
303
329
341
262
291
342
359
263
360
335
242
326
251
252
313
295
336
242
307
266
336
375
329
312
302
311
279
372
274
347
432
300
199
289
257
273
263
373
280
338
336
342
318
333
362
280
330
230
326
330
273
348
305
297
273
311
265
368
283
363
374
345
371
349
293
264
303
341
312
336
368
306
351
325
349
320
286
386
343
405
280
258
448
342
358
318
326
312
331
318
362
247
323
285
252
307
287
320
278
339
328
325
309
362
349
377
310
342
285
352
376
296
292
324
228
300
318
315
315
334
366
265
290
360
262
277
263
236
382
274
355
345
363
373
375
250
333
317
299
337
346
364
198
307
318
254
245
388
306
336
341
291
297
305
267
365
273
344
355
236
301
304
309
314
338
339
306
298
342
230
277
326
299
264
325
325
309
312
387
268
419
234
307
315
286
265
278
269
364
337
377
346
357
293
282
380
368
265
367
340
320
270
264
333
276
346
319
372
381
355
273
333
369
297
367
376
313
306
354
325
332
276
259
286
362
297
332
276
365
367
327
292
302
352
327
289
352
347
275
354
317
372
376
326
293
341
362
395
296
301
300
328
241
314
339
314
338
410
388
342
350
307
304
235
301
281
336
367
357
330
289
323
314
308
397
349
348
403
317
320
314
323
310
318
293
312
346
256
411
377
303
308
311
365
299
316
246
258
346
327
329
235
293
358
309
432
290
279
241
249
384
302
248
386
307
291
347
287
284
326
348
228
300
367
338
338
255
331
328
348
248
371
347
293
335
347
333
326
324
275
349
350
294
297
383
393
381
313
332
274
284
243
294
337
279
344
333
291
321
354
293
350
272
292
327
292
288
276
345
310
378
356
367
308
326
251
296
259
364
298
340
365
346
401
331
352
316
343
348
265
297
351
346
316
334
324
406
318
337
323
336
247
369
298
326
388
373
438
317
316
303
295
358
325
329
339
319
388
344
356
368
287
370
321
286
246
381
263
353
310
343
380
289
327
269
349
330
258
405
352
280
291
293
326
296
370
346
249
314
192
405
343
237
369
310
325
315
355
339
359
277
289
349
304
269
371
417
307
339
306
396
390
321
396
347
375
392
284
355
300
336
275
251
275
325
373
222
343
342
295
290
258
295
299
286
315
302
356
288
282
276
336
263
384
331
277
319
265
350
316
241
321
344
283
411
386
361
357
379
317
298
267
270
344
275
285
289
311
270
343
323
296
371
333
270
291
351
253
234
302
291
228
269
300
327
309
310
308
395
224
260
305
297
221
322
220
319
294
298
308
251
364
270
308
312
412
269
376
335
268
277
301
366
327
355
365
262
250
317
308
278
341
387
339
295
298
361
255
351
268
294
343
362
372
243
267
356
353
312
357
315
300
350
357
280
304
264
395
397
342
319
343
276
313
342
346
256
338
300
325
335
279
325
243
328
281
278
286
298
304
322
281
304
286
303
333
275
421
289
252
378
251
309
312
324
318
255
320
279
277
328
255
284
272
286
340
311
252
313
330
340
323
277
342
352
267
384
357
355
287
356
304
325
375
319
223
302
322
375
279
354
251
275
288
286
326
331
320
312
385
315
410
248
386
238
379
310
324
304
290
446
298
312
340
314
330
296
255
265
276
366
368
272
398
314
385
385
344
297
261
350
400
300
248
292
327
304
240
299
341
301
283
313
198
356
348
354
312
241
335
355
393
379
350
321
336
344
324
381
305
249
344
330
296
304
208
323
310
291
298
298
263
349
201
339
326
323
262
293
263
277
320
301
359
294
315
315
359
280
286
297
292
316
311
307
349
256
292
306
287
165
268
322
242
363
287
317
318
319
346
294
335
282
345
295
312
348
287
292
213
271
333
312
362
294
361
394
381
269
386
325
320
324
297
327
282
304
356
270
360
265
348
308
243
282
308
344
302
330
352
261
251
213
356
292
389
371
353
286
345
252
426
325
249
296
250
388
254
370
317
271
283
343
291
276
306
358
361
282
196
219
295
299
317
374
332
302
308
272
262
312
328
290
350
336
316
363
348
270
270
401
347
299
280
320
281
374
288
287
316
297
334
406
265
366
313
325
338
290
283
295
290
323
196
333
391
318
326
225
244
335
248
386
362
300
298
303
313
389
304
330
330
290
375
357
332
309
361
316
339
334
255
322
316
375
339
276
241
297
326
397
280
331
278
325
417
295
309
317
346
328
265
290
281
318
330
235
354
293
278
336
326
252
281
319
284
351
282
277
273
290
217
392
291
308
347
350
348
360
379
337
263
382
303
308
281
272
358
343
362
337
307
288
335
342
271
280
355
294
279
261
334
340
380
390
277
314
293
257
372
357
252
280
314
320
373
370
244
225
306
335
343
316
214
350
363
315
355
374
302
325
397
383
298
332
270
347
303
279
266
384
321
284
286
291
336
315
285
365
373
308
377
368
401
379
275
288
328
321
330
365
358
360
291
277
365
303
299
305
331
228
285
244
282
280
317
277
339
384
292
325
297
298
278
356
325
289
287
217
253
376
299
333
272
290
317
254
271
365
287
321
288
329
265
337
376
321
288
320
348
357
346
319
365
320
311
344
357
332
370
239
341
312
269
308
391
204
343
260
270
319
227
344
325
309
325
342
303
350
293
322
231
319
270
320
264
297
253
236
319
369
254
287
346
361
309
259
348
301
371
301
294
374
365
247
287
297
268
270
331
319
309
359
314
304
233
314
347
271
293
335
367
213
287
350
299
381
304
342
350
421
298
271
275
257
418
337
295
334
274
345
349
349
327
371
363
317
246
259
280
283
309
360
370
316
441
351
224
321
393
337
290
318
360
345
295
274
325
279
328
386
292
305
333
301
328
403
249
269
320
235
376
317
308
377
431
307
300
276
307
397
315
301
388
382
364
345
260
288
311
355
326
419
290
277
360
288
325
308
336
305
353
319
286
273
307
275
327
352
271
341
281
344
349
287
283
302
282
370
399
274
262
303
208
304
344
299
316
228
262
279
305
386
284
339
282
286
289
295
383
359
267
411
333
335
257
234
290
334
252
337
340
267
302
299
327
312
270
275
247
374
323
253
257
190
381
360
247
382
242
329
337
356
298
287
326
230
241
369
274
314
287
380
343
250
318
374
318
305
326
311
381
291
298
407
238
351
365
333
278
344
368
314
286
261
373
309
274
334
281
367
328
357
299
320
280
346
336
261
257
317
322
326
416
375
368
320
298
311
245
297
325
267
409
252
319
356
336
388
384
298
404
282
273
351
309
363
281
311
309
347
313
400
318
341
306
285
302
309
399
267
337
333
230
307
312
329
247
364
313
319
286
270
371
368
295
289
307
440
335
306
304
293
295
329
284
321
401
364
326
330
347
297
287
349
338
365
331
394
311
327
273
312
340
260
263
376
330
284
309
364
293
377
257
292
352
286
242
387
324
336
263
265
338
276
277
336
311
290
374
340
360
314
349
345
329
333
275
301
308
260
300
315
220
332
317
351
223
343
287
261
383
366
295
389
359
327
317
334
269
273
341
277
355
286
350
273
382
354
271
421
313
357
311
285
388
273
235
284
238
311
376
244
297
365
324
275
301
266
358
309
270
262
358
385
307
288
320
278
373
368
352
313
331
281
226
354
368
266
362
304
320
341
350
352
363
349
328
249
350
295
315
344
315
283
292
284
350
297
310
282
272
306
339
294
316
353
343
303
310
366
302
293
350
369
366
258
366
397
339
298
288
307
384
271
359
319
333
326
379
306
274
291
266
329
291
250
255
286
258
367
226
296
302
317
312
307
368
335
349
283
393
338
350
354
383
301
341
336
389
267
320
356
223
345
312
371
278
346
376
345
305
330
265
228
261
264
295
256
328
258
373
268
288
316
253
302
359
305
328
273
326
296
355
255
263
335
282
279
372
308
346
379
345
358
258
295
334
309
306
392
313
367
339
336
295
276
286
257
291
309
325
232
326
274
358
296
278
264
327
330
409
309
320
323
348
268
327
318
388
409
382
314
345
264
292
318
302
421
241
313
310
347
266
308
247
230
357
365
363
302
265
344
258
314
234
302
294
320
289
362
331
307
251
279
293
367
338
294
342
276
271
303
328
359
333
292
290
282
322
269
350
373
353
308
330
308
350
285
258
320
256
328
379
332
320
272
399
331
333
222
326
321
334
279
358
363
353
366
268
287
298
281
330
300
238
307
354
368
274
405
298
305
308
336
252
312
308
367
401
356
290
235
348
307
295
273
299
249
335
326
380
304
382
389
323
341
343
272
349
351
339
240
236
356
354
382
296
341
410
298
210
301
250
390
286
234
406
357
281
325
314
265
311
412
318
292
269
335
333
306
289
311
308
307
253
329
319
366
357
311
265
377
289
431
240
269
315
341
291
345
296
338
244
302
255
317
347
308
359
342
306
336
357
367
227
363
257
360
412
375
230
312
241
325
285
338
336
309
276
372
309
336
319
344
325
271
288
280
412
355
293
319
371
262
301
311
419
331
315
391
355
341
367
371
271
265
242
347
278
284
346
291
332
326
338
328
326
321
298
281
353
221
426
348
243
195
303
287
297
302
298
280
317
381
335
296
269
317
270
336
326
366
285
330
373
366
343
332
284
260
294
431
308
283
280
348
321
360
237
289
269
374
320
305
295
320
255
280
356
322
260
323
286
359
327
307
270
273
377
301
312
336
247
307
260
275
352
387
248
310
327
324
293
348
347
341
328
345
313
258
269
339
332
270
374
335
355
283
337
348
369
268
351
239
270
316
331
354
361
328
214
286
366
303
301
314
275
262
370
375
343
353
314
396
342
337
246
297
306
293
368
312
339
292
275
335
366
336
290
307
290
369
312
328
354
278
309
305
360
350
370
268
292
240
266
261
337
309
253
377
304
285
329
302
352
250
261
310
280
365
389
298
310
350
324
365
332
285
314
279
308
388
300
391
287
387
367
388
348
348
199
257
278
303
366
409
393
282
301
236
298
386
268
378
322
293
240
274
318
335
281
262
294
279
309
351
291
342
327
290
311
374
321
277
302
337
305
335
283
383
305
320
335
228
289
264
267
259
315
324
354
308
270
271
276
338
360
308
348
371
258
266
356
278
330
317
318
311
246
323
264
281
304
298
322
272
365
317
227
414
342
339
302
292
367
387
284
326
250
353
327
311
278
367
296
343
417
336
304
271
262
314
251
277
306
298
343
298
315
268
316
319
244
297
315
381
340
360
277
387
328
344
384
365
340
319
355
312
288
398
344
351
339
341
405
337
302
278
294
285
282
277
336
341
375
337
331
317
379
268
336
331
305
345
408
317
322
318
324
286
326
364
322
283
288
294
363
261
274
290
315
363
290
354
378
200
290
347
405
370
285
275
315
213
195
252
340
340
362
301
273
305
300
298
338
316
286
347
347
308
294
327
305
324
303
288
310
285
267
291
347
341
381
296
378
310
247
269
348
304
230
306
321
320
287
275
357
359
307
269
272
337
300
305
307
345
316
280
330
258
299
272
262
391
311
335
378
247
326
314
361
325
351
341
309
303
293
360
350
412
223
302
381
300
286
323
258
220
289
285
348
333
244
335
306
354
235
196
295
325
331
364
325
279
301
255
294
212
343
292
230
324
300
308
341
326
371
256
360
322
290
213
321
339
304
340
242
352
287
336
281
363
328
369
299
288
267
421
294
305
214
237
297
297
318
266
321
254
378
314
252
309
311
338
294
270
286
363
364
344
411
281
261
333
327
335
270
274
350
294
292
328
359
312
363
314
377
256
220
312
341
217
318
281
310
346
251
341
311
291
279
329
284
239
336
225
354
345
273
362
327
298
358
272
305
379
300
285
313
351
325
277
268
353
366
346
372
285
328
375
370
288
327
362
331
267
223
327
335
299
339
360
338
330
352
287
239
343
261
340
252
384
315
346
225
213
301
356
326
361
305
342
331
301
304
224
348
347
274
309
260
286
282
308
198
380
311
322
332
363
319
261
315
348
299
282
312
267
299
242
275
259
351
270
203
353
374
359
306
328
294
374
286
321
321
356
336
265
277
213
394
357
365
283
320
337
374
275
361
358
263
327
347
312
375
294
353
313
351
341
283
282
327
376
367
344
354
311
351
295
296
305
311
359
344
344
325
400
272
360
341
256
352
342
329
273
336
280
371
292
403
300
376
383
280
357
304
309
256
280
262
299
275
320
353
335
233
306
274
362
278
361
357
268
288
337
402
330
337
327
327
356
251
370
321
303
298
294
343
299
332
211
347
323
283
339
318
333
330
302
318
325
292
340
365
320
285
291
365
307
394
265
309
386
294
330
286
356
285
299
273
224
278
272
374
313
337
288
349
408
246
227
287
353
356
265
311
354
287
307
287
385
385
368
302
232
339
304
296
351
245
399
308
328
296
304
353
272
325
296
313
334
295
262
254
313
347
241
227
293
347
326
322
328
243
360
277
354
340
309
216
284
372
357
241
279
292
295
361
322
291
307
392
339
259
324
171
412
318
303
306
377
397
328
356
377
201
348
372
371
326
391
319
270
344
375
344
278
383
361
339
279
355
330
340
320
260
322
376
326
333
314
308
413
311
209
318
269
272
312
351
321
264
351
346
290
253
317
331
315
288
300
384
262
348
301
310
392
376
305
345
312
320
318
336
280
289
348
325
331
315
285
344
302
327
336
208
263
304
287
287
225
294
243
342
310
279
285
373
239
412
316
309
378
248
297
281
274
393
339
281
336
389
257
211
339
270
335
306
350
321
300
345
257
339
305
318
376
282
316
335
248
325
379
329
305
371
304
391
289
308
354
389
298
232
340
301
317
307
354
386
332
339
325
304
336
260
349
248
322
336
331
320
303
339
261
242
308
273
313
240
326
364
310
249
304
336
301
308
331
285
296
285
305
254
349
362
334
284
233
349
355
323
324
308
261
203
324
341
273
377
324
288
364
253
308
387
290
331
372
319
269
401
360
311
329
289
251
324
328
316
271
321
359
344
337
329
287
335
352
239
344
326
345
261
290
310
397
382
336
309
302
338
272
379
360
315
237
259
314
424
305
282
276
354
338
358
362
322
352
293
311
389
350
336
323
384
355
352
318
312
311
277
272
356
295
259
222
312
315
283
370
273
279
343
308
273
348
345
337
351
273
244
288
371
225
302
360
265
275
354
361
227
302
269
409
316
233
271
378
271
269
268
280
258
255
349
274
291
324
315
236
334
245
302
344
313
310
324
294
294
450
345
331
324
316
336
290
234
300
349
330
382
334
263
262
341
390
267
313
295
314
435
218
358
259
304
321
275
296
377
342
314
294
380
248
317
360
337
368
291
289
271
293
285
389
313
365
322
310
271
375
341
366
300
303
373
272
311
309
384
284
296
309
283
318
329
331
274
316
308
320
307
262
324
271
240
299
282
235
351
347
342
315
301
380
366
319
355
329
275
336
335
290
347
345
285
327
325
330
347
319
341
377
307
311
339
343
306
358
280
287
351
356
262
289
217
414
350
343
394
266
320
308
236
314
288
251
349
311
329
309
294
300
274
240
275
390
282
333
339
270
364
353
303
311
320
287
341
343
342
358
319
287
330
325
284
333
320
366
395
307
220
311
302
387
345
315
223
333
279
318
320
319
285
304
336
346
334
317
272
360
345
286
306
353
324
271
312
391
313
358
329
310
287
335
370
327
325
326
326
358
299
315
206
283
325
292
258
289
387
320
361
328
374
343
289
325
358
323
436
368
256
277
307
251
273
394
220
300
301
308
276
362
343
308
348
377
382
260
335
343
304
223
212
384
317
260
263
257
356
304
362
358
416
314
245
422
330
250
328
333
331
245
332
266
333
315
286
379
379
302
321
354
315
345
371
279
282
282
340
360
270
359
310
276
259
340
284
288
269
315
328
308
334
335
321
262
334
338
294
329
326
361
250
352
298
421
272
385
249
305
374
310
327
294
389
320
333
285
403
329
354
322
334
363
303
259
277
351
296
275
366
257
344
272
267
315
319
352
349
316
366
313
291
308
301
333
283
347
335
267
334
376
195
239
335
344
372
195
316
259
382
347
282
283
337
349
263
198
308
355
351
314
308
311
392
295
286
286
404
298
285
305
291
307
311
313
375
313
217
346
306
346
308
337
300
328
288
289
285
357
342
402
291
284
319
324
339
323
322
297
402
275
360
373
347
280
385
278
334
301
366
260
320
345
357
293
325
409
259
258
294
292
348
363
330
280
332
293
297
313
360
344
314
330
344
294
312
268
323
313
282
309
267
324
293
314
297
259
278
418
291
334
314
374
328
355
251
335
240
311
257
346
259
293
336
266
338
343
233
372
394
253
258
323
311
300
324
325
310
350
244
413
336
292
312
336
362
259
356
352
369
368
393
248
281
284
307
356
326
266
314
294
272
292
276
336
336
362
230
323
303
343
281
348
248
231
398
312
282
294
313
375
337
330
311
256
336
303
398
384
297
329
368
310
307
398
362
368
387
301
319
206
303
338
312
356
339
334
334
331
288
306
386
284
312
318
315
246
314
289
361
348
343
273
347
358
272
338
284
335
186
249
315
396
334
343
398
275
361
262
263
365
312
293
356
356
231
307
331
319
337
303
400
339
322
281
260
337
323
282
307
333
302
307
301
351
245
279
355
283
268
342
293
314
300
299
297
288
337
240
285
287
378
295
316
263
271
222
409
405
355
343
293
360
279
280
288
355
322
262
324
323
349
312
325
274
257
303
364
319
221
239
400
290
345
368
310
334
338
331
343
260
332
315
324
239
325
419
301
278
322
407
279
333
284
360
322
264
379
308
344
348
190
355
343
419
331
258
290
377
370
392
248
251
305
299
241
264
260
268
392
328
300
302
259
343
335
342
266
287
357
344
250
244
306
402
272
350
344
273
278
282
410
325
288
226
274
310
272
382
328
293
316
300
268
330
328
259
285
362
292
297
226
358
352
261
324
304
295
331
348
297
315
321
356
352
330
286
312
357
292
233
353
349
323
393
343
342
297
312
325
364
315
372
335
365
305
291
325
371
244
301
276
332
319
346
308
273
369
265
380
347
341
342
324
316
366
379
246
341
370
367
360
321
315
340
301
272
232
385
309
336
337
357
413
328
347
247
238
326
323
370
322
322
318
333
386
298
282
319
331
291
301
336
273
355
333
366
307
291
278
286
277
289
358
328
301
254
263
283
388
243
333
321
257
427
348
351
230
365
214
289
319
287
310
282
331
309
238
274
385
290
345
291
341
305
308
376
272
367
333
383
281
320
381
344
289
278
296
337
347
297
315
336
330
247
325
330
353
358
376
400
328
307
354
246
203
340
329
356
325
317
397
364
366
270
337
278
340
209
361
367
326
313
327
227
317
271
335
364
309
325
325
384
303
282
263
389
229
280
372
383
321
227
282
318
264
354
320
381
294
314
299
284
344
358
408
339
308
278
258
382
335
258
246
323
307
372
260
298
276
304
297
273
349
189
300
250
360
362
332
291
347
297
276
352
387
294
378
301
222
275
350
376
310
341
314
345
303
308
352
319
357
342
312
413
393
408
253
348
350
307
302
294
327
256
330
300
367
327
354
342
382
317
312
298
297
286
339
283
416
327
368
371
385
356
352
293
254
283
304
282
370
362
280
311
262
332
309
276
299
308
341
244
362
293
347
283
261
343
382
290
375
307
357
323
329
318
307
316
329
322
415
304
347
326
358
387
310
264
278
361
311
246
266
319
299
316
295
346
305
321
341
280
278
247
387
329
341
355
349
408
377
337
270
286
299
307
388
301
329
375
318
364
288
322
243
306
283
392
250
335
332
269
255
317
331
268
286
328
336
286
295
327
278
260
296
365
354
375
330
300
284
226
281
330
363
216
299
286
410
311
266
333
290
302
345
318
249
274
359
330
267
384
257
353
278
310
228
370
339
295
357
335
349
210
387
259
232
422
277
323
305
359
325
336
332
378
333
330
401
294
337
299
350
294
387
354
370
314
267
302
351
247
284
289
289
315
275
220
267
352
313
295
314
317
244
256
386
285
350
305
285
321
359
278
293
250
335
342
363
350
290
313
313
240
296
254
291
338
294
379
265
245
385
394
290
390
162
343
317
398
335
322
352
242
375
327
268
318
365
382
311
283
250
356
361
321
293
327
287
355
363
276
368
293
306
341
344
336
292
293
235
360
283
328
341
275
361
302
372
319
289
294
282
332
307
223
410
249
325
358
359
384
254
286
290
303
369
277
255
323
350
374
280
289
301
302
345
290
274
350
408
349
286
291
328
362
224
259
322
319
320
294
323
284
303
318
360
312
297
422
305
350
350
277
297
357
261
381
296
394
354
283
298
270
322
312
248
258
334
350
303
315
309
249
359
391
344
344
328
278
338
261
331
244
358
269
236
286
365
335
302
378
367
340
274
399
294
261
304
289
378
375
278
332
269
295
335
293
287
319
320
272
369
299
296
284
268
279
301
212
356
293
409
329
392
332
300
376
277
197
266
258
379
378
271
345
330
282
275
294
317
367
324
271
341
409
267
326
381
358
342
251
257
338
302
443
314
340
308
309
311
190
297
295
362
332
295
322
270
301
303
326
253
351
334
361
293
294
316
358
363
329
291
338
199
334
339
265
344
233
388
322
355
297
288
322
386
321
304
305
301
239
317
320
328
334
339
276
396
341
294
234
224
245
331
296
257
260
359
349
317
271
321
349
345
288
273
327
343
340
303
300
280
349
273
253
370
275
277
296
342
261
295
299
312
283
347
320
266
302
375
363
308
261
318
347
293
325
338
293
254
314
304
404
377
407
361
331
263
358
370
340
311
312
360
316
323
305
333
338
371
371
219
362
269
295
382
168
284
291
285
348
256
348
296
322
360
308
283
305
290
386
337
300
417
344
246
392
310
230
345
353
390
363
282
363
312
354
254
327
299
315
312
189
341
358
310
327
315
380
335
265
308
238
351
258
289
313
358
324
379
296
283
320
319
257
327
400
270
273
304
355
296
364
307
211
342
259
241
305
336
326
267
294
289
389
286
307
327
317
297
227
340
328
361
397
285
355
301
320
368
325
344
319
387
393
272
257
322
341
335
294
354
254
301
268
283
332
287
263
344
292
348
316
262
330
289
369
351
364
341
301
375
359
273
314
330
298
302
326
303
359
382
330
342
258
415
344
316
303
380
275
287
320
362
436
327
342
332
331
394
349
306
277
309
313
332
332
331
269
409
283
378
336
300
411
325
306
311
369
333
312
278
305
356
296
291
285
265
354
325
332
423
243
304
274
360
295
324
401
258
282
300
317
330
300
297
276
293
259
278
369
246
320
318
318
352
312
263
301
334
373
407
279
353
299
348
352
276
297
346
297
291
260
361
324
278
346
247
291
383
360
294
303
241
322
191
374
314
319
284
371
308
338
304
293
266
340
247
312
349
335
260
327
333
317
331
364
320
261
296
336
282
352
282
385
405
348
297
294
347
295
220
322
306
317
257
331
314
335
398
381
313
320
321
287
294
326
338
311
389
273
386
310
268
268
381
381
326
301
318
365
297
338
304
329
212
332
302
336
350
330
404
285
299
343
359
362
269
217
253
318
387
357
288
286
296
335
291
271
261
323
303
343
288
352
262
230
254
280
331
335
277
258
311
328
316
275
301
382
303
337
294
263
332
283
279
293
282
312
312
244
274
353
275
287
209
330
267
338
199
268
346
344
358
387
341
338
291
349
276
282
327
276
386
301
277
334
333
298
267
216
368
285
332
284
371
270
349
328
389
323
297
320
364
282
432
350
289
340
283
355
235
377
341
288
309
447
336
296
291
282
290
310
333
219
351
378
319
389
344
321
327
272
288
307
363
424
360
365
388
410
316
332
373
268
346
393
279
339
284
279
285
326
364
287
299
361
301
305
268
314
302
351
305
337
313
314
315
335
296
306
280
300
318
274
304
262
282
299
420
316
349
341
352
339
316
265
257
209
306
286
354
361
273
297
368
325
331
379
316
286
268
328
363
215
263
334
320
294
332
277
289
348
316
296
327
336
335
293
299
289
347
307
350
281
281
340
272
297
303
354
391
269
397
326
259
299
372
267
348
280
370
230
247
279
371
282
377
293
385
283
336
334
368
294
411
315
374
286
243
405
316
257
297
286
330
352
331
373
337
338
243
316
353
350
412
221
398
268
382
286
347
358
336
291
216
348
346
380
416
317
220
292
327
347
228
407
346
229
318
294
236
310
304
370
307
308
366
223
316
329
280
277
319
365
284
315
356
336
364
297
282
292
304
252
331
307
292
349
272
279
274
345
313
339
410
270
331
303
333
301
329
272
322
296
269
353
369
255
289
280
320
337
347
253
216
336
319
314
286
340
282
270
293
310
376
348
342
337
373
343
410
224
305
274
325
325
324
304
272
284
337
280
315
342
328
282
246
239
312
314
342
342
341
331
341
296
300
323
351
365
283
313
397
380
317
283
392
309
302
330
291
281
275
293
374
315
338
298
415
270
302
308
359
342
294
380
307
328
245
306
338
305
288
271
341
275
229
313
268
363
243
311
275
295
351
337
296
243
325
278
315
352
330
236
269
323
243
245
370
288
305
335
295
395
284
383
228
373
249
314
392
347
389
381
319
331
251
299
329
408
325
323
304
277
363
288
291
334
331
412
310
333
375
242
324
333
222
238
328
334
289
299
297
320
346
304
341
337
352
310
292
307
309
300
328
274
380
361
329
258
342
302
270
350
384
384
374
335
315
299
338
264
322
396
299
340
407
286
314
327
298
362
333
276
330
293
329
271
370
326
371
289
206
373
329
279
365
333
305
292
369
300
295
270
396
325
344
349
308
326
280
330
264
281
352
292
346
327
311
310
352
355
324
269
325
289
279
299
280
267
235
279
328
321
267
356
350
281
299
337
333
259
327
269
373
398
337
278
321
374
299
363
333
352
273
278
326
231
294
318
262
258
350
306
317
371
268
340
378
373
270
361
299
335
226
331
424
322
334
326
292
275
309
276
328
352
251
361
337
283
242
297
310
344
348
229
328
273
344
356
307
329
411
304
311
347
276
309
238
356
335
318
265
332
354
246
371
316
307
328
341
330
352
334
359
396
336
296
325
304
276
337
307
357
397
347
277
313
417
401
291
388
355
256
340
331
297
214
274
303
334
325
320
328
272
336
292
322
312
312
254
394
331
287
353
307
303
242
307
304
334
282
336
238
290
278
357
362
304
208
272
321
232
269
326
332
291
277
270
400
361
321
341
225
254
389
263
324
320
281
331
266
350
362
386
312
368
247
340
290
357
308
305
377
288
402
245
317
376
297
353
245
280
410
306
290
325
343
345
367
298
328
239
322
295
358
264
318
347
272
287
346
407
317
326
322
354
339
265
360
334
270
350
342
319
348
328
256
279
316
318
313
273
397
295
350
255
281
349
356
289
363
307
340
388
256
307
300
295
293
322
276
282
286
320
325
345
387
246
280
310
260
324
350
226
341
305
264
254
305
302
357
261
341
196
330
220
331
355
297
341
314
334
257
294
287
345
246
287
365
283
384
295
360
279
325
375
230
309
477
281
333
319
314
341
367
386
329
305
278
318
343
335
277
347
271
263
348
305
310
252
294
279
350
273
298
292
304
314
260
289
368
272
284
406
238
235
344
377
317
322
301
315
312
401
260
275
323
332
365
401
263
362
233
287
307
364
314
257
278
256
334
257
330
331
379
288
394
396
296
376
334
336
342
315
250
261
265
324
328
258
330
301
413
347
373
253
317
287
266
299
363
394
323
322
332
222
258
338
397
345
337
349
291
296
329
272
289
283
275
363
275
250
372
357
293
325
273
307
353
237
279
244
342
291
358
324
395
192
340
356
357
391
352
225
376
310
312
389
311
346
244
379
339
295
265
369
255
269
265
264
344
272
401
349
251
339
296
334
361
305
323
303
348
325
321
349
329
310
365
379
376
326
253
208
305
298
387
290
290
389
320
427
257
360
344
282
313
254
374
346
243
386
340
384
242
340
301
366
296
303
399
343
303
368
287
300
342
355
342
336
329
424
405
369
334
271
330
320
365
375
317
298
328
247
294
232
231
354
341
357
233
352
295
315
326
329
303
416
372
426
304
249
269
305
295
370
280
326
323
292
304
312
339
253
235
322
236
346
218
296
306
356
332
329
309
333
347
270
338
327
235
290
320
292
344
211
338
293
380
189
372
230
271
322
244
307
275
304
356
343
260
375
349
302
336
307
320
279
318
358
284
337
321
280
362
302
339
295
335
244
362
256
326
332
310
361
336
323
240
307
258
281
324
340
294
227
272
310
340
277
281
276
382
336
383
339
376
329
361
308
282
323
336
311
272
357
273
321
370
322
262
306
288
329
315
301
365
216
307
370
342
310
302
344
354
274
352
203
358
257
409
279
296
397
360
307
337
374
265
277
343
289
288
292
329
265
292
366
332
294
322
279
384
296
425
308
283
341
353
290
332
270
344
204
336
305
395
302
317
335
273
327
246
345
343
260
334
304
226
339
297
283
272
362
311
329
382
271
369
342
316
381
278
299
303
387
343
314
275
357
311
260
314
266
333
357
346
348
259
339
291
331
295
295
318
353
309
285
279
244
352
348
251
341
376
292
301
343
337
349
287
442
266
333
276
326
362
272
335
307
325
341
263
350
288
389
342
290
279
286
363
292
337
326
278
327
317
302
325
310
420
314
357
275
335
312
227
330
318
214
331
281
237
376
310
349
321
274
323
377
391
276
329
304
309
305
336
326
279
362
295
347
295
296
322
338
276
311
408
406
353
333
271
308
238
365
386
322
283
302
252
221
275
255
290
294
294
303
320
374
328
303
358
284
286
313
370
420
330
391
335
310
285
357
318
349
330
244
244
332
290
232
300
288
293
401
318
294
288
296
275
225
311
324
369
277
291
316
341
268
231
363
299
362
252
374
279
264
364
404
268
315
396
342
329
327
367
279
359
324
394
298
324
286
346
269
306
340
375
303
293
318
299
295
224
350
306
325
241
370
313
279
292
315
340
286
317
317
279
277
311
366
318
301
363
134
379
369
353
242
284
364
279
292
332
390
276
371
342
244
284
274
218
243
258
327
294
319
338
342
388
351
340
360
200
331
387
287
269
309
240
324
333
342
210
185
348
317
350
256
364
332
228
331
299
310
323
295
315
353
271
297
316
279
301
299
287
342
278
309
333
228
351
324
293
283
390
332
302
317
283
320
297
316
298
404
334
317
308
397
440
309
235
307
278
250
274
305
300
338
320
287
338
305
275
372
345
313
255
361
304
249
242
283
245
262
322
279
260
301
353
273
255
329
261
402
381
276
320
291
304
351
255
399
282
257
293
250
312
319
318
388
334
326
302
327
296
332
349
334
288
354
294
265
354
303
335
307
289
273
317
302
272
294
339
379
305
345
354
257
356
380
285
239
293
227
273
309
437
378
290
325
281
340
291
352
397
349
260
213
370
334
280
347
312
303
242
309
297
350
314
322
305
315
320
362
332
366
227
206
327
301
338
311
318
336
311
331
265
269
259
298
337
279
304
343
292
230
318
322
333
314
378
427
305
299
202
351
398
367
315
326
308
333
288
319
222
309
338
330
324
347
296
355
261
272
288
334
400
268
298
354
274
305
345
246
376
341
259
367
322
329
240
231
339
371
311
328
315
265
339
290
323
328
246
271
303
356
319
376
303
321
337
336
339
299
300
316
377
278
355
387
283
315
415
324
381
339
331
251
386
357
368
238
324
290
288
286
303
406
326
380
343
294
336
308
319
321
297
310
339
396
324
354
347
347
272
303
292
277
274
281
364
338
300
302
353
314
240
391
424
279
361
369
361
394
326
302
344
340
308
217
273
356
343
311
371
316
296
282
357
316
336
349
306
322
343
286
314
333
331
361
303
331
221
233
375
325
272
280
302
262
254
304
358
254
270
355
345
348
341
267
304
286
196
362
362
324
306
349
326
363
333
317
221
350
354
283
409
306
247
330
261
306
341
311
356
239
360
293
324
260
208
332
321
316
317
317
340
301
305
342
310
323
319
399
289
262
400
292
315
302
281
372
347
319
345
357
290
260
333
232
378
284
234
303
341
313
266
425
353
313
327
394
284
270
370
294
354
295
262
315
239
257
259
324
305
340
259
317
335
210
317
267
268
254
296
304
408
264
305
347
330
295
312
280
284
231
377
297
197
271
293
332
321
361
373
421
278
279
360
293
277
308
326
315
364
318
384
379
357
267
331
287
301
310
333
279
307
295
295
299
320
327
321
262
379
295
315
391
330
311
335
296
389
279
336
304
240
300
313
318
301
394
264
292
327
286
363
328
308
375
329
326
289
356
328
337
308
316
264
314
296
352
368
339
331
324
298
346
288
308
313
393
306
269
302
297
342
322
346
311
320
321
317
305
261
362
291
353
312
313
345
326
311
305
313
321
279
375
249
297
265
275
324
283
282
406
323
252
338
296
253
270
291
362
343
325
249
323
332
261
305
359
291
392
326
228
340
271
292
215
313
322
244
412
339
386
301
334
364
348
312
346
315
342
339
358
333
308
276
330
326
310
313
272
315
392
253
251
314
268
276
302
253
323
252
391
360
292
248
295
268
279
307
280
319
321
296
379
290
310
372
257
217
290
331
336
294
345
332
250
306
376
324
345
369
289
346
308
219
286
318
291
360
382
414
328
298
245
303
381
358
306
395
341
320
329
305
370
333
344
333
306
256
314
302
296
214
312
320
364
291
266
288
336
384
338
314
349
250
305
230
312
272
293
295
347
370
338
274
324
382
324
428
264
307
363
378
309
300
426
381
274
309
286
343
394
294
276
277
211
289
296
256
309
259
360
275
327
300
355
355
320
335
370
338
341
407
316
317
201
356
355
348
322
287
316
348
282
287
283
315
251
226
294
275
296
409
282
219
273
305
272
328
332
256
285
304
355
349
348
353
334
318
240
305
351
320
296
296
358
365
343
241
329
322
283
384
329
321
362
335
337
342
355
414
375
340
348
250
351
305
262
322
282
263
394
309
390
244
288
372
360
219
380
328
246
363
325
218
337
332
357
305
258
271
253
228
325
261
316
306
313
356
313
312
355
363
311
307
349
282
373
289
335
233
281
333
335
290
238
295
265
303
374
306
335
321
318
328
278
326
230
298
274
331
293
343
264
344
290
225
314
243
334
332
312
327
404
356
332
259
265
333
299
334
345
336
363
392
339
304
360
377
353
331
355
248
350
285
315
283
312
331
323
301
370
352
348
296
282
257
261
310
375
355
256
311
325
309
311
366
354
347
264
362
407
294
301
330
274
317
327
303
287
317
357
274
373
332
306
306
327
310
240
317
254
361
277
272
370
308
287
351
284
273
339
313
335
324
292
303
246
304
320
346
378
338
326
258
363
174
331
333
248
354
273
306
362
288
324
298
329
241
311
324
272
360
338
309
379
300
278
302
311
362
364
325
287
292
278
267
264
331
258
352
334
312
297
370
329
335
327
290
330
312
305
321
298
243
323
249
294
233
266
346
335
283
340
428
329
314
297
307
312
386
251
317
318
350
350
276
344
327
362
395
340
261
378
337
337
267
239
336
305
300
298
351
334
301
297
390
293
302
294
333
254
347
393
258
365
289
291
321
342
350
349
330
319
265
355
314
347
368
351
307
372
373
307
403
342
360
226
303
287
320
348
339
289
328
303
257
342
377
285
263
320
288
384
309
350
264
277
346
281
322
321
296
359
297
317
272
307
345
316
405
327
309
326
331
354
277
310
271
255
291
268
355
331
286
332
310
326
301
349
369
276
357
397
293
218
385
322
252
329
316
215
269
366
334
360
310
388
347
379
324
345
353
351
298
318
405
312
356
351
242
363
302
237
271
344
310
224
336
198
363
235
221
329
339
275
292
346
265
326
347
207
277
327
309
323
325
366
258
383
317
312
274
271
233
295
283
393
375
362
259
404
364
230
310
301
277
351
296
335
315
267
305
319
394
214
329
305
345
293
343
340
211
395
355
328
296
392
314
277
217
309
364
301
385
304
297
269
344
296
272
367
237
344
254
224
315
399
290
327
340
371
319
293
355
311
263
382
190
249
358
347
296
311
373
326
340
305
294
204
364
277
362
256
324
309
350
333
358
317
438
304
270
319
369
362
377
425
360
315
323
278
362
360
373
326
265
340
384
299
331
269
369
302
308
335
308
307
321
298
382
294
289
276
292
360
321
241
339
291
281
329
310
343
374
310
339
341
322
248
275
346
349
323
324
331
345
310
301
306
308
343
327
272
273
357
408
308
326
396
339
339
336
300
294
339
306
221
320
283
310
401
295
218
351
243
248
382
314
329
230
391
296
254
328
289
298
315
270
255
290
376
284
294
278
319
340
280
329
337
339
326
312
349
253
285
323
314
248
348
257
315
318
342
326
348
294
296
354
337
296
359
249
335
325
344
311
303
289
306
327
320
228
182
394
351
298
351
328
333
309
285
320
279
280
379
396
360
338
309
327
334
342
357
294
278
292
310
291
312
265
357
267
261
363
292
320
385
280
246
371
267
324
339
317
314
339
300
295
376
322
379
243
361
292
216
315
306
324
216
322
369
266
255
299
317
336
305
278
295
313
314
343
349
256
318
303
241
256
295
287
346
419
345
312
273
385
361
323
300
337
372
313
237
333
263
261
318
264
284
248
318
296
316
371
323
400
356
348
301
313
372
294
315
320
259
354
365
377
315
394
348
271
274
302
394
301
361
333
258
338
301
334
327
336
332
339
327
234
336
410
325
365
312
264
412
299
269
258
405
304
348
317
255
352
256
284
343
400
341
286
277
352
350
382
362
309
263
344
247
298
296
292
424
411
229
333
353
357
310
335
335
286
370
320
320
296
306
394
303
203
363
357
345
266
349
359
313
267
411
204
283
327
291
283
317
229
225
293
372
294
226
354
356
342
250
317
265
383
330
318
352
315
268
249
265
277
326
351
356
336
254
296
361
354
325
390
353
399
195
294
317
357
254
271
284
276
393
358
344
297
391
296
258
287
296
373
291
251
317
432
359
404
294
403
261
282
323
283
202
299
317
346
380
280
327
369
342
326
327
315
331
333
310
330
340
403
286
275
249
369
328
344
366
336
296
262
393
334
361
320
345
371
258
291
297
330
421
291
350
309
366
332
344
312
259
361
323
228
275
304
322
264
308
337
249
345
266
294
272
276
272
322
235
354
366
371
332
314
326
335
269
357
244
258
305
312
263
294
350
289
264
340
298
311
301
291
280
299
272
355
295
302
211
305
330
319
284
278
255
331
346
299
289
346
358
408
342
338
273
321
357
335
332
329
263
260
336
361
313
384
304
308
232
321
326
345
282
416
378
284
386
369
310
219
245
326
350
370
329
292
327
322
301
404
281
320
293
220
337
302
313
364
349
366
310
336
339
307
328
225
327
337
351
291
342
325
338
328
422
318
252
333
278
236
277
253
241
311
271
305
289
320
276
329
333
253
284
390
347
260
297
354
326
266
274
337
289
303
305
280
350
253
291
269
286
378
333
337
349
290
299
238
300
311
338
257
346
397
263
270
353
396
346
327
344
425
311
299
282
288
219
353
371
346
403
337
276
370
279
312
309
264
395
366
240
406
306
343
254
287
300
284
242
299
313
325
305
297
346
332
321
338
215
335
340
364
276
304
265
310
347
370
283
180
303
301
351
299
381
354
297
300
198
289
282
335
326
322
304
337
204
327
347
353
359
347
284
302
272
307
292
326
430
268
442
351
297
270
314
281
382
312
295
276
299
395
335
279
374
303
212
250
263
342
404
302
228
233
353
311
318
294
317
219
304
312
319
411
364
295
378
366
308
344
270
324
309
345
248
311
321
322
220
272
314
357
340
218
346
376
249
354
304
273
381
362
311
301
352
298
336
312
300
267
255
266
321
393
357
318
253
329
314
319
295
239
344
290
319
277
412
277
357
284
325
346
245
321
232
294
295
328
259
269
339
254
354
354
252
239
385
327
300
283
358
417
311
356
288
303
315
309
361
275
362
342
317
299
322
389
354
334
295
351
325
274
296
343
286
248
328
349
291
299
319
269
249
205
396
272
340
406
297
348
313
302
322
296
339
342
359
278
243
312
347
316
325
348
339
380
341
339
355
307
347
287
264
311
347
297
329
326
410
323
215
343
388
287
329
292
328
359
355
276
298
310
314
311
321
277
353
306
283
261
381
451
339
227
256
325
319
298
367
375
284
328
373
331
336
350
377
395
304
392
256
314
299
311
272
352
323
278
274
249
302
334
353
362
273
380
354
315
276
247
355
234
391
321
297
345
303
303
325
349
340
281
330
395
351
324
256
276
267
312
249
352
330
327
274
263
382
291
314
386
309
297
312
384
311
364
206
287
304
297
325
347
347
384
314
259
249
229
361
315
319
289
221
312
344
267
296
311
248
356
313
335
346
331
328
279
303
296
383
282
316
272
291
419
285
319
318
263
439
359
361
264
397
340
266
356
313
353
365
327
348
256
332
343
265
343
337
288
372
370
318
379
379
214
335
370
341
329
403
286
389
320
305
299
267
290
349
320
300
298
372
301
359
260
352
278
303
331
349
296
398
286
323
249
287
268
333
350
328
265
265
314
309
216
256
330
323
390
300
385
247
340
303
289
324
288
272
332
255
327
260
257
356
340
272
270
356
347
323
374
335
280
300
403
191
346
318
250
213
336
308
294
323
357
328
357
426
297
385
302
351
301
338
306
339
290
326
296
269
348
240
366
264
337
336
337
252
329
286
317
294
329
312
327
334
299
333
409
325
306
337
354
212
365
295
264
311
372
322
235
358
280
245
343
335
242
319
341
417
239
289
302
379
356
327
222
357
276
274
345
228
319
292
319
387
345
274
288
271
326
339
306
323
299
356
340
302
336
354
385
236
315
269
314
238
318
269
326
259
315
363
365
280
313
333
303
342
436
357
334
295
295
238
326
342
253
304
242
281
330
367
313
341
251
272
325
298
258
185
312
365
299
304
363
256
358
282
316
298
283
263
366
213
336
341
374
254
339
357
314
426
355
360
274
265
329
381
257
296
294
265
310
326
332
250
379
329
333
315
265
288
302
361
344
218
313
264
346
371
358
254
330
331
335
328
384
303
269
310
275
237
346
301
307
310
323
306
367
281
352
335
354
228
383
286
291
337
350
326
356
414
275
344
387
373
231
294
246
383
345
292
345
360
376
332
355
258
272
310
345
260
306
357
309
326
300
372
309
398
354
304
308
216
300
333
285
316
244
270
322
295
274
294
354
296
321
352
337
331
366
302
304
297
323
362
357
299
346
323
320
263
311
219
311
308
251
376
291
349
311
258
249
350
293
346
356
274
327
262
380
315
260
321
335
334
236
292
292
300
288
329
267
298
327
294
324
233
313
231
270
375
329
347
324
346
382
309
330
326
346
334
304
316
378
242
402
219
272
288
316
370
284
303
225
375
313
334
340
282
317
294
319
363
361
316
407
252
354
345
385
385
326
288
305
295
267
333
324
316
380
305
274
290
325
285
406
397
289
333
302
317
360
278
310
389
337
333
281
314
299
373
365
283
372
266
267
297
315
335
322
393
291
309
349
310
280
325
398
312
282
309
317
309
343
356
273
330
285
280
318
354
274
296
334
290
270
267
343
365
334
331
290
205
334
303
372
346
318
383
194
269
351
310
300
266
293
315
377
328
282
327
354
344
273
353
381
303
292
247
211
353
323
377
407
320
414
274
306
289
308
317
356
315
356
290
280
390
335
272
352
324
283
312
358
333
317
334
313
308
340
377
347
365
322
290
177
358
331
318
277
333
383
259
279
270
361
333
309
271
335
313
285
311
309
270
290
336
391
253
327
328
322
292
329
277
315
341
301
281
360
294
376
210
267
311
427
281
277
337
341
339
328
257
316
283
226
299
340
316
273
274
362
335
389
327
307
264
316
325
321
428
379
362
329
429
304
278
380
332
313
236
290
324
408
414
291
354
292
339
334
337
342
315
274
243
380
364
243
287
299
279
336
289
330
282
317
261
275
306
369
325
304
310
349
271
376
299
313
309
332
241
403
273
352
246
308
255
336
309
400
310
261
379
308
374
303
295
272
349
334
306
238
317
352
295
242
313
246
352
283
247
339
293
313
227
273
435
301
342
250
327
274
332
270
349
263
309
254
423
284
349
332
246
339
272
341
359
311
259
378
271
380
269
276
345
326
363
275
258
286
357
337
340
285
277
318
339
305
285
368
288
257
313
366
197
277
397
273
311
287
348
392
258
318
363
341
334
421
379
292
313
236
317
323
230
309
384
319
406
266
311
382
281
355
369
384
325
243
272
380
236
404
278
426
253
302
323
298
365
340
343
316
272
270
351
315
278
280
333
312
282
389
364
358
325
351
262
300
341
329
308
305
319
234
321
349
225
304
238
373
302
350
378
422
293
309
301
265
371
292
390
354
323
390
234
370
345
240
378
281
228
333
305
387
209
326
329
248
336
359
333
375
176
399
321
339
306
324
343
332
302
317
324
358
360
300
321
321
337
327
367
372
271
370
287
389
436
278
403
302
345
319
310
351
324
307
421
255
429
321
359
285
391
278
349
312
251
298
311
359
306
340
295
341
270
285
347
294
342
289
322
299
283
293
296
299
333
299
365
312
266
310
355
363
315
304
375
403
241
250
275
330
376
392
346
276
319
277
288
350
316
346
323
273
317
269
389
325
287
263
318
280
296
356
296
253
315
307
347
322
395
312
321
310
354
401
331
327
345
332
306
341
288
333
275
337
306
311
305
354
367
350
216
288
225
301
302
264
347
366
306
288
336
385
371
358
246
367
363
283
359
303
243
303
275
237
353
336
274
357
290
271
338
317
286
238
361
278
327
323
266
313
270
318
339
296
331
308
321
266
322
351
320
319
335
299
283
268
288
312
314
360
290
285
268
371
344
379
299
311
278
359
348
304
303
254
293
312
294
215
281
308
352
372
293
301
265
323
330
271
355
282
265
294
328
299
333
328
327
200
308
269
329
348
354
366
329
316
313
343
281
248
283
271
368
344
317
390
303
313
296
334
298
369
300
325
352
235
255
386
326
316
319
351
380
263
403
285
258
312
259
309
337
320
342
270
318
307
221
338
376
319
293
287
307
329
371
400
262
306
288
332
289
310
246
391
295
331
293
266
330
244
300
290
252
367
362
228
263
273
273
251
358
366
319
242
256
326
320
339
325
384
269
248
308
361
295
310
291
360
341
271
289
244
274
376
357
364
375
306
362
290
346
290
392
366
274
384
242
359
326
338
342
287
283
304
262
222
270
343
349
289
220
313
319
296
273
300
284
330
300
247
287
279
388
245
278
340
269
305
380
296
305
307
275
327
259
244
321
329
374
290
312
286
300
246
363
304
328
247
297
240
321
329
299
365
290
311
406
372
310
248
356
342
308
341
332
242
369
290
365
362
285
270
297
349
227
247
310
332
327
372
262
363
297
296
280
357
379
304
369
292
292
294
265
291
306
350
272
288
375
312
366
336
304
268
321
279
368
274
282
354
290
275
306
282
286
440
330
298
252
275
354
267
341
328
319
321
277
350
296
231
265
337
283
251
388
253
332
331
328
319
336
295
307
341
318
369
342
319
243
264
388
337
306
353
324
238
367
301
275
359
261
321
306
289
316
321
331
367
345
382
360
302
343
305
337
272
321
268
395
291
325
307
322
278
215
358
339
351
295
277
309
386
280
314
409
298
303
363
358
381
322
313
224
278
359
314
420
375
356
314
286
322
277
361
239
312
277
264
324
321
336
322
258
267
273
351
332
281
305
341
181
365
401
271
290
306
379
375
266
348
354
382
383
303
345
351
270
338
295
322
298
341
290
277
270
339
186
332
309
339
282
236
239
323
310
354
321
331
247
373
357
331
308
336
409
333
295
286
250
337
232
236
319
237
351
279
309
289
323
324
289
278
363
316
364
369
317
240
307
348
337
372
404
357
265
316
304
256
271
342
404
260
338
372
345
358
288
324
332
296
270
292
345
199
323
279
370
359
300
371
234
265
278
316
304
326
282
346
315
369
290
362
339
233
363
312
251
369
330
303
327
338
334
397
333
392
274
277
282
286
301
422
326
277
279
333
334
314
237
304
388
268
342
319
360
339
330
353
328
332
352
226
323
354
385
302
327
245
296
275
283
330
371
324
291
278
366
358
286
372
358
290
345
339
257
286
294
392
372
234
389
225
316
325
304
298
315
323
314
332
283
262
325
319
280
356
258
344
354
349
298
368
220
318
371
353
309
312
327
327
303
265
315
332
241
249
401
225
290
296
278
395
239
377
308
344
414
326
344
337
289
326
291
334
288
326
395
331
328
330
366
389
297
258
361
313
403
292
263
215
290
266
410
251
231
345
280
325
280
333
367
252
322
339
199
335
338
365
286
327
276
344
299
353
383
376
375
317
268
348
325
253
306
275
281
262
283
306
353
347
404
354
284
370
322
369
328
306
298
316
262
293
274
336
222
385
282
304
306
330
298
310
251
319
291
373
294
357
431
325
327
392
342
323
335
281
350
301
313
450
316
350
295
373
323
262
333
313
337
348
345
348
365
348
243
288
362
342
379
369
315
279
293
270
378
366
332
272
345
252
316
317
228
289
290
309
266
335
317
365
248
319
350
253
257
284
326
322
367
261
301
350
333
316
297
251
287
366
290
299
356
301
334
286
236
348
249
322
323
330
340
382
309
318
326
377
365
324
232
285
337
256
228
280
364
279
212
316
367
348
311
273
409
310
294
376
236
303
364
315
411
348
224
352
401
292
253
310
239
365
377
230
336
284
292
300
334
333
324
320
356
262
270
362
306
343
326
395
262
345
371
287
277
343
364
295
319
405
363
278
283
406
351
310
330
360
267
363
232
328
277
329
284
319
316
309
329
351
379
343
379
254
315
290
251
300
340
284
406
343
322
264
271
310
314
351
238
321
335
207
332
329
378
299
302
317
270
294
319
362
335
271
270
229
247
294
348
286
408
318
313
252
368
265
352
286
300
323
313
274
270
335
291
343
322
346
403
265
249
321
357
297
342
361
351
169
268
275
296
336
365
278
374
310
322
260
289
336
394
321
435
264
318
330
196
334
361
309
326
322
327
239
314
261
272
327
302
275
273
316
346
368
326
289
355
337
282
318
275
260
370
261
290
290
295
305
273
338
310
334
376
328
357
375
236
271
269
324
291
393
373
214
191
328
287
319
295
258
305
333
294
220
331
370
366
362
280
313
232
330
304
250
382
333
301
303
345
308
303
387
299
307
321
291
360
341
306
311
286
300
299
341
345
262
234
319
304
296
223
430
297
354
269
352
274
330
282
263
317
281
337
276
277
326
340
241
316
276
341
333
267
295
291
356
333
397
330
397
376
393
375
250
257
265
441
329
396
327
288
232
352
248
321
270
325
289
380
313
321
269
310
361
311
268
335
346
365
322
323
252
306
270
265
338
306
307
300
334
297
307
250
311
384
368
285
398
303
384
371
327
301
348
214
314
273
267
351
321
305
385
272
221
324
333
357
246
294
319
312
299
203
382
323
293
221
282
296
346
346
265
338
345
405
384
339
179
299
394
369
334
340
304
365
323
273
310
396
296
347
388
326
318
264
273
281
344
355
313
313
309
267
304
337
318
335
398
346
317
314
284
361
280
289
305
268
231
301
383
381
309
384
303
312
339
325
249
274
371
367
308
340
328
285
296
310
294
332
272
227
411
302
241
353
240
276
314
344
409
362
366
214
337
310
239
323
367
313
375
326
375
381
320
267
294
331
312
220
318
363
219
276
378
282
315
257
307
310
243
351
282
305
342
322
283
363
303
363
331
298
242
287
390
254
329
325
312
341
344
412
276
320
323
322
418
323
306
249
285
303
281
349
263
292
174
300
239
338
326
233
222
322
370
321
302
304
352
463
339
288
300
339
365
362
386
362
397
392
288
262
302
370
257
254
220
301
323
285
328
363
276
366
268
296
229
266
253
320
312
348
341
347
294
283
325
348
320
377
206
416
311
334
362
379
351
340
308
386
296
339
393
291
321
352
292
299
280
323
288
289
249
263
324
295
321
336
323
348
295
336
352
275
317
352
332
240
305
297
392
316
295
342
293
342
310
341
293
301
271
323
381
285
265
341
283
274
317
342
345
295
351
234
299
319
316
362
259
344
333
337
306
317
312
337
326
321
303
368
236
355
297
299
383
311
317
344
199
299
286
389
327
406
353
289
309
313
337
351
393
345
339
307
297
402
253
224
226
327
279
369
365
348
310
384
286
355
335
266
345
351
382
333
317
304
297
297
265
416
401
302
406
310
294
303
321
286
292
305
285
320
315
248
331
376
296
237
298
314
244
294
285
300
379
334
287
312
303
321
307
236
290
448
343
339
385
245
294
289
276
292
281
368
291
237
313
302
345
205
289
257
288
331
268
292
342
431
356
285
306
324
275
269
289
321
357
236
243
286
328
284
292
406
325
305
306
315
336
234
313
320
309
407
320
300
350
286
342
301
292
292
282
312
327
262
291
353
317
256
358
365
281
394
387
256
323
313
349
245
364
307
327
350
260
278
341
288
364
290
342
325
348
385
239
276
298
278
311
288
332
388
302
310
327
327
271
292
313
250
313
298
410
335
326
255
403
313
428
333
310
359
371
365
350
347
316
262
274
384
355
314
337
257
346
377
227
244
281
324
252
352
247
314
407
252
388
281
288
232
277
361
322
317
383
249
290
304
295
234
270
259
435
308
269
238
314
307
221
298
328
241
327
256
367
365
266
354
361
299
362
352
378
295
331
382
339
255
325
237
310
310
305
352
325
332
296
284
268
275
283
416
370
255
297
306
307
350
353
367
332
293
331
365
257
304
297
359
314
304
294
236
322
316
367
252
312
259
400
307
306
335
264
347
307
284
303
254
373
308
250
289
234
291
290
323
280
322
339
324
220
325
346
354
256
474
302
345
233
272
288
333
286
320
355
341
274
348
374
356
290
258
312
265
278
354
299
240
325
319
311
208
323
345
300
372
344
282
374
334
348
371
425
194
324
297
307
320
332
283
374
430
329
294
347
348
369
383
289
337
305
354
282
257
304
296
324
299
331
322
368
324
352
329
325
271
228
339
232
280
299
330
390
289
384
314
303
297
326
312
375
306
302
327
369
326
275
308
295
325
267
371
301
250
233
353
320
270
251
358
332
381
299
356
275
343
314
338
358
317
320
309
314
324
330
288
342
312
330
298
338
267
323
234
288
385
248
273
275
263
341
289
286
306
343
325
315
277
263
385
233
294
276
296
282
332
301
229
384
309
298
269
362
289
333
295
304
359
353
286
308
288
293
318
347
312
261
348
317
326
366
333
319
310
314
271
310
323
357
365
262
292
344
413
335
349
343
247
290
391
305
299
268
320
326
269
341
351
340
279
297
316
313
293
272
363
357
285
345
325
277
301
355
331
210
306
257
418
339
267
410
278
386
341
321
253
312
243
315
247
255
283
271
343
290
352
229
275
269
382
340
365
308
397
332
279
253
350
291
278
308
307
300
234
319
312
334
332
329
337
292
307
336
394
274
252
288
313
305
303
347
319
273
366
332
269
330
276
344
384
280
284
299
319
264
349
349
316
280
373
332
271
257
321
333
292
320
394
334
362
307
340
364
348
336
328
233
299
281
317
272
377
301
339
266
307
374
309
363
296
340
321
338
338
274
300
161
255
283
282
288
368
311
262
305
379
247
293
345
342
306
258
242
267
287
264
298
307
321
279
317
318
302
305
387
288
274
311
340
346
290
373
302
221
406
333
319
301
345
291
331
307
313
306
383
350
307
294
294
281
292
295
283
354
318
246
288
287
282
353
302
249
346
341
242
342
284
351
356
371
352
296
334
366
249
312
308
301
408
282
368
315
289
352
270
281
385
324
317
269
219
303
259
349
289
319
299
338
337
160
281
293
251
251
325
300
377
377
249
321
266
386
400
348
301
305
337
270
279
263
296
287
333
356
359
253
321
331
375
348
310
306
329
242
366
265
353
306
343
376
302
342
345
340
351
330
290
327
246
289
259
225
280
316
427
270
414
281
360
311
349
325
285
347
238
331
271
284
257
282
317
266
229
357
317
317
356
292
313
310
334
257
259
339
370
357
337
407
271
279
308
295
316
324
252
350
335
332
315
365
274
298
280
342
395
298
315
278
381
267
338
297
232
351
280
351
360
313
345
319
251
324
267
272
315
330
282
308
304
326
306
353
360
283
346
274
351
304
278
284
295
253
316
270
306
319
283
301
354
362
275
247
245
398
329
308
339
300
254
291
353
300
323
406
358
335
365
368
312
386
326
377
327
323
311
243
311
382
276
343
306
373
350
254
305
322
321
343
320
304
292
324
275
192
380
323
268
329
364
307
342
312
268
338
437
238
332
362
234
309
274
282
247
269
378
271
263
296
288
283
280
352
292
318
311
293
337
261
247
387
294
304
341
333
349
311
410
279
277
309
296
265
347
276
209
303
399
312
320
383
345
330
330
314
313
284
329
296
197
321
333
411
355
345
335
207
395
294
377
345
298
347
357
324
292
397
330
336
321
273
366
266
435
276
262
331
255
341
356
317
347
284
270
345
215
323
308
381
277
309
341
373
335
330
397
245
349
281
363
297
264
343
333
238
316
310
298
326
286
297
281
296
286
321
252
380
307
264
338
339
316
276
411
380
403
281
352
373
361
328
292
321
297
303
368
246
277
252
359
288
371
210
300
328
361
321
328
351
314
292
331
368
427
309
276
268
343
283
279
344
327
295
251
316
299
311
422
293
259
340
322
303
310
234
219
287
266
331
341
330
221
336
308
289
234
279
330
308
318
333
281
280
321
359
322
262
327
288
334
291
274
344
346
296
326
297
297
329
333
264
308
310
331
351
306
323
257
336
235
335
349
308
370
289
271
376
273
337
311
362
382
341
307
307
276
316
387
277
329
292
239
325
309
370
374
350
327
280
351
370
222
339
359
237
403
239
235
286
287
342
395
188
382
328
368
301
261
336
267
273
291
363
317
257
291
344
296
381
273
276
269
367
281
296
342
264
390
379
370
334
275
294
398
306
378
382
286
333
311
316
346
250
303
229
349
281
263
313
274
390
358
220
381
297
375
298
308
326
294
315
323
355
374
348
258
254
331
313
408
328
325
305
326
263
354
333
324
248
313
292
269
315
325
286
268
329
306
365
264
244
425
282
308
258
360
340
324
272
270
341
255
276
360
299
324
317
359
277
377
300
347
343
260
316
382
263
178
346
238
368
327
395
297
329
346
265
335
332
283
283
303
316
426
274
310
291
269
373
349
300
323
257
317
389
262
310
204
341
290
367
401
293
379
316
284
258
426
275
258
390
291
373
292
270
359
400
345
249
366
313
312
280
279
302
325
282
375
320
346
348
312
372
313
275
369
280
302
403
276
309
293
250
321
275
237
330
275
368
374
321
338
303
291
208
363
256
289
334
277
348
313
270
305
335
266
188
299
280
320
254
358
359
333
324
326
383
310
369
379
288
222
287
246
363
242
294
335
338
294
352
343
322
256
333
293
278
300
286
357
343
279
315
354
312
315
253
415
332
297
274
320
302
244
305
349
348
381
402
344
290
315
250
402
339
343
337
328
296
279
314
342
232
230
382
327
230
367
353
342
379
305
370
278
345
336
295
329
362
305
316
272
321
320
277
315
285
326
350
309
252
355
268
393
378
396
289
351
350
256
350
318
301
340
345
311
342
302
250
260
350
255
341
306
361
365
312
294
309
349
294
385
348
302
329
317
275
243
290
396
323
361
356
393
320
367
289
248
378
347
346
271
230
288
388
322
291
351
309
244
265
400
298
391
332
310
358
267
340
315
329
223
393
310
341
391
319
303
310
316
331
263
373
336
321
370
249
354
306
313
282
339
405
268
349
338
359
312
342
299
285
289
300
323
265
277
244
308
336
318
333
413
282
310
268
304
306
270
348
293
294
273
371
313
286
260
221
321
377
223
292
343
300
318
323
329
265
218
297
308
313
297
299
360
310
380
315
261
367
298
364
256
327
383
331
406
283
291
219
312
277
251
344
296
329
265
371
353
352
253
347
259
289
363
340
329
320
275
360
285
321
309
353
291
324
285
298
260
316
352
256
339
321
229
348
202
360
321
305
287
323
294
299
304
358
291
237
317
377
281
237
292
342
294
308
313
324
251
340
251
329
310
306
342
291
308
270
266
284
278
281
300
290
314
337
233
324
295
317
256
332
338
307
333
304
278
269
388
346
264
329
326
368
260
392
349
284
380
314
309
292
292
353
321
406
216
375
311
256
316
391
374
410
244
299
266
321
389
373
325
382
271
303
272
321
331
311
280
334
260
294
344
307
253
422
318
353
322
361
412
288
328
269
262
298
321
282
369
312
293
351
356
350
298
284
326
250
377
358
315
290
326
395
291
232
334
389
271
376
259
223
364
291
364
292
296
337
292
358
262
334
256
273
333
216
338
323
262
343
291
307
349
192
354
282
354
320
355
328
322
372
389
332
335
283
339
371
264
319
321
297
395
276
237
261
388
276
265
302
286
327
372
303
324
323
260
230
289
351
297
383
345
346
245
340
373
334
247
331
352
364
323
231
346
343
272
322
369
389
389
226
319
278
328
281
394
282
309
241
302
337
347
382
394
305
431
327
353
366
300
328
309
272
342
359
318
297
342
413
328
351
281
345
197
367
366
403
346
316
332
317
295
320
392
330
285
298
314
376
281
331
365
358
363
347
366
391
318
326
391
307
323
327
289
304
280
306
396
313
290
295
367
241
293
299
352
289
340
417
282
341
325
275
305
268
380
389
363
374
310
327
373
388
355
313
368
253
452
371
315
351
363
332
329
281
343
294
312
311
351
300
191
312
287
361
284
273
327
325
299
282
344
296
362
286
351
459
310
245
248
284
358
305
331
271
241
255
268
402
330
284
252
235
298
277
278
389
321
360
246
314
323
261
290
297
302
342
345
375
310
332
338
315
326
298
308
335
314
287
350
261
315
323
263
303
252
339
258
306
319
312
292
330
387
306
378
280
332
344
366
395
374
399
306
349
188
316
296
365
301
305
332
252
409
300
407
283
302
309
301
283
310
339
243
323
254
269
297
286
321
331
444
277
282
310
349
403
315
314
345
340
272
297
302
299
293
312
355
222
340
300
273
333
280
262
313
300
423
294
225
312
322
380
334
317
240
375
315
382
375
348
371
287
273
324
322
314
262
296
380
307
311
350
307
401
299
299
387
351
318
341
243
309
275
255
369
200
312
294
340
283
417
301
300
225
285
277
333
288
294
357
266
285
304
302
346
371
316
296
343
356
263
388
327
281
377
273
298
296
286
279
307
330
306
214
317
375
275
377
281
365
296
254
241
330
312
340
335
330
370
339
317
252
252
294
323
299
339
344
338
358
397
311
278
330
297
366
383
393
366
321
256
365
330
359
386
268
189
295
267
205
396
291
307
351
330
364
281
256
288
291
331
340
333
312
279
300
315
324
340
316
302
375
300
310
251
358
397
358
293
319
345
381
356
384
294
299
315
362
295
287
314
355
324
282
335
340
382
390
285
243
411
360
388
330
390
305
317
249
293
328
348
224
409
342
283
264
401
360
295
311
309
269
285
349
337
265
303
316
374
358
270
219
334
277
330
352
276
304
413
361
261
307
348
429
318
361
344
306
344
437
239
362
323
302
286
214
343
294
326
213
381
313
339
298
326
316
309
280
321
299
330
284
245
359
316
316
293
234
279
292
434
311
305
263
382
344
301
281
351
305
280
293
340
384
337
387
296
324
291
299
367
378
341
351
277
267
314
350
261
355
342
352
316
267
275
366
319
302
390
339
311
236
292
299
372
305
226
292
336
221
332
271
270
420
291
370
333
364
417
299
332
331
296
279
330
337
374
306
306
330
347
344
313
284
353
377
383
330
260
327
302
286
282
342
343
267
318
261
315
347
243
245
320
278
328
346
326
323
343
363
342
351
294
314
350
293
308
289
343
306
265
362
370
299
341
318
229
364
327
304
232
302
328
319
307
337
262
255
250
265
297
323
319
347
283
322
309
267
305
370
283
330
316
242
331
251
322
254
290
325
307
310
352
313
281
417
287
258
343
249
390
339
293
320
281
365
222
339
278
304
295
331
317
298
440
335
395
344
321
376
339
368
332
291
255
318
220
302
296
395
294
255
340
216
406
349
338
346
362
329
268
249
295
259
360
376
308
370
406
305
381
401
287
262
294
306
319
351
238
312
296
273
336
292
243
389
264
316
318
299
388
304
341
301
243
345
348
332
367
352
391
349
284
314
344
310
376
349
314
358
226
271
347
364
355
316
260
247
309
293
313
361
221
387
380
289
384
237
355
274
279
244
358
329
329
373
309
309
321
318
317
311
317
335
303
218
307
330
323
229
301
319
293
302
322
277
369
378
257
376
243
240
272
301
273
352
321
292
335
261
304
330
326
274
295
330
373
334
317
367
381
243
366
335
343
290
396
325
251
413
336
289
339
313
295
306
307
302
367
302
362
344
316
357
350
362
297
324
269
269
299
422
340
224
336
284
302
312
299
333
359
296
320
239
227
280
311
341
323
322
307
324
319
252
308
289
284
315
219
287
313
242
314
274
375
396
280
297
425
289
271
335
270
276
362
216
386
294
323
253
300
305
291
343
326
307
224
376
245
256
291
284
334
381
370
304
288
309
390
340
363
341
309
278
329
296
359
258
247
369
401
337
378
260
277
345
346
249
299
307
303
352
324
241
310
282
275
315
340
321
421
320
301
218
296
281
262
397
380
336
306
398
348
315
266
291
303
330
326
286
363
326
307
370
346
299
288
304
257
364
328
398
400
325
366
319
329
354
342
265
338
271
341
352
294
314
346
385
336
310
380
356
309
336
327
354
277
309
314
312
344
337
241
299
309
288
315
394
385
302
311
333
291
331
325
362
294
336
235
283
323
432
415
418
312
266
376
319
360
349
292
308
369
277
326
272
236
310
355
282
291
307
322
368
289
384
253
369
322
355
399
339
255
327
299
376
244
316
355
363
249
328
325
301
245
309
282
247
243
360
279
302
259
353
359
269
291
337
370
228
349
325
290
304
365
296
351
335
185
293
276
300
247
358
192
369
263
311
245
333
329
337
356
354
294
305
394
241
243
268
342
326
241
313
354
264
342
326
331
382
296
255
299
367
362
288
298
399
270
187
303
306
325
358
263
317
286
316
320
248
318
268
316
317
297
301
346
359
361
293
381
294
310
266
363
238
305
264
303
287
178
241
291
346
400
295
256
391
310
275
362
296
323
363
361
304
258
275
327
371
321
286
325
370
270
333
262
368
402
315
280
288
341
395
336
365
284
282
282
265
298
234
338
373
288
332
313
275
215
385
326
315
341
297
328
359
323
300
290
284
411
348
264
438
384
313
296
341
273
294
392
345
340
337
331
336
227
257
282
301
338
360
375
267
255
357
237
320
364
312
383
295
307
333
295
300
269
284
214
353
371
388
379
283
390
313
336
333
262
273
313
265
335
332
295
346
343
247
334
377
346
274
383
349
295
276
390
357
359
404
284
300
311
417
347
334
330
315
251
302
307
273
325
250
318
360
350
313
307
342
379
299
366
278
432
293
362
299
320
256
359
280
341
330
336
329
332
368
314
375
248
318
308
324
285
302
296
396
241
318
301
339
290
364
344
303
352
317
305
222
296
412
434
259
277
270
330
386
365
293
419
223
320
267
312
248
291
365
325
352
351
365
306
292
338
288
374
354
314
330
328
310
363
337
342
280
253
361
355
345
345
349
289
319
280
275
256
360
260
395
329
235
244
310
262
314
405
271
261
265
332
319
260
302
290
358
336
309
293
314
332
312
248
391
311
320
270
296
287
325
305
250
261
344
281
322
320
280
321
358
349
271
270
304
420
318
327
345
389
322
247
361
318
331
284
320
298
146
385
325
383
389
260
347
368
303
317
319
345
319
270
379
278
308
309
246
376
301
338
314
245
289
295
262
307
327
294
328
306
364
317
257
354
329
319
233
338
308
270
336
342
263
295
338
322
362
388
366
297
296
275
365
373
349
322
340
297
326
363
309
324
255
268
278
296
294
220
293
282
243
322
360
393
304
306
307
333
333
242
285
360
328
297
393
357
327
216
338
281
305
341
326
343
186
319
155
375
288
391
294
363
317
336
248
258
312
338
308
291
361
340
305
304
387
300
267
322
303
284
376
322
321
315
315
337
316
296
260
348
315
252
278
311
426
292
297
217
382
338
389
379
393
347
282
344
282
243
402
353
361
237
363
352
304
239
335
288
384
356
278
245
346
380
258
237
311
346
291
344
344
291
313
361
356
290
315
269
354
243
283
374
403
221
351
337
332
334
314
351
314
389
287
304
288
271
342
428
304
366
309
337
335
332
318
350
363
325
338
299
240
402
351
396
371
389
235
281
428
338
312
359
285
340
323
344
361
362
348
293
262
260
380
405
300
197
377
302
301
324
312
326
300
253
252
318
297
271
393
250
348
330
397
288
331
366
264
283
305
295
324
274
332
406
407
243
315
327
410
312
318
353
280
325
365
378
283
294
308
340
383
357
372
354
350
312
294
357
271
369
320
305
339
247
228
264
298
242
376
419
280
334
351
328
368
327
313
357
357
442
250
344
268
337
314
262
314
313
265
278
371
305
287
233
374
294
332
287
259
303
358
323
354
288
265
290
223
274
295
334
287
359
396
365
331
330
340
345
325
335
306
301
318
313
332
317
355
320
363
320
343
312
300
330
248
254
331
272
222
381
351
233
270
300
332
360
379
274
365
299
390
353
350
365
344
245
302
252
345
323
319
272
302
314
335
347
312
275
299
306
244
325
320
277
278
385
306
260
309
363
298
325
367
345
335
325
333
343
293
321
341
296
305
384
260
354
396
344
326
357
292
368
309
313
270
255
326
380
330
234
244
271
308
312
199
298
289
286
418
254
311
286
284
384
314
294
387
268
246
344
327
320
326
342
318
313
388
294
284
313
288
306
267
355
333
235
320
269
380
297
223
344
323
312
369
384
286
356
286
330
363
335
300
349
346
366
265
342
378
239
372
197
262
268
318
341
377
355
364
357
375
343
288
281
368
333
197
327
294
389
280
209
243
319
337
352
266
363
398
381
279
279
325
336
358
310
312
364
276
293
316
215
261
276
365
221
368
257
398
342
303
320
350
369
290
345
274
237
329
339
268
303
311
316
328
367
319
398
316
372
303
357
274
254
299
277
300
305
272
355
314
250
356
320
284
250
306
312
280
402
261
269
332
219
329
378
355
266
315
317
310
229
316
297
261
322
350
299
306
343
293
338
333
322
334
329
268
335
261
280
299
240
286
259
276
211
318
326
212
258
377
277
303
323
289
351
273
347
287
373
337
305
367
409
320
304
335
333
286
214
267
258
286
176
409
278
316
277
293
312
291
359
339
406
332
347
248
314
386
269
338
267
409
383
350
327
281
361
246
351
312
381
314
312
299
308
295
243
351
308
396
236
337
181
297
260
372
321
353
318
363
335
318
365
315
272
254
297
286
424
320
246
358
178
241
309
298
217
290
340
359
276
358
380
335
326
336
378
252
295
282
330
336
285
368
352
323
326
343
359
268
272
358
320
370
353
214
338
335
332
319
367
247
295
304
335
337
229
294
329
280
392
370
353
272
196
329
362
313
274
358
308
360
281
319
332
386
367
373
307
324
304
436
238
348
362
314
231
261
315
280
373
282
288
362
327
251
306
271
299
308
329
317
294
396
354
294
317
237
263
353
348
331
308
323
333
391
329
263
256
346
315
313
327
333
326
318
334
323
314
303
403
390
300
320
363
243
311
320
320
358
253
395
319
305
270
362
332
316
334
399
334
310
216
317
304
300
264
328
281
299
345
358
363
259
369
337
247
312
359
299
273
352
287
315
357
289
331
314
326
323
375
198
272
270
366
248
336
356
351
229
268
321
367
320
333
317
286
299
310
283
299
428
352
377
302
303
314
394
358
320
341
373
284
296
350
325
333
344
318
293
223
360
239
321
338
320
355
290
180
373
249
255
325
321
312
318
316
321
312
323
280
405
352
358
295
369
249
318
314
345
272
370
386
290
420
351
297
363
346
280
324
241
376
334
332
400
308
301
260
336
350
255
381
340
301
382
263
280
367
345
274
246
280
397
304
321
370
277
286
282
396
323
335
377
346
310
292
333
320
312
297
344
285
265
339
323
329
275
351
355
358
307
316
328
276
285
323
284
318
283
361
245
303
327
292
364
293
309
295
319
298
267
266
311
281
282
313
215
279
281
285
312
359
410
389
383
330
300
351
337
312
260
355
359
299
382
318
289
357
334
250
340
304
272
294
249
233
361
339
215
361
298
307
334
278
361
321
222
347
299
296
255
324
265
398
330
297
306
384
354
293
331
270
320
317
263
353
219
344
244
308
302
346
313
292
269
321
295
363
257
261
324
273
255
362
374
318
328
337
330
279
293
273
368
320
349
346
302
373
373
326
179
297
272
286
339
310
353
219
363
336
316
316
323
298
309
352
331
342
406
236
311
309
304
373
195
290
317
315
342
416
261
329
307
370
285
330
336
329
253
297
330
330
308
287
299
343
368
379
365
340
348
339
320
323
302
316
313
286
231
312
327
458
394
307
350
341
291
299
290
289
324
355
349
275
274
300
373
272
418
330
357
262
315
377
395
305
364
359
308
298
324
375
293
265
311
338
339
369
327
331
367
377
326
343
281
297
380
281
362
259
318
314
359
306
206
352
248
388
353
302
299
365
339
363
235
283
321
251
291
370
333
299
367
318
390
342
389
248
293
280
294
325
347
289
296
314
239
353
320
376
331
256
302
267
350
374
375
372
225
362
293
306
346
292
296
329
312
340
261
306
304
315
306
322
290
279
305
421
267
260
287
277
371
299
354
289
331
339
390
370
372
341
358
305
349
372
356
327
356
320
295
259
316
332
308
251
357
277
325
345
338
273
268
283
308
350
276
419
348
292
322
327
276
316
350
282
340
375
381
381
323
366
272
268
395
347
390
336
256
356
366
271
329
353
359
312
242
271
288
345
346
359
320
275
331
315
269
267
301
375
301
267
277
354
323
299
365
381
305
255
397
329
296
331
279
352
283
411
309
270
264
330
325
349
375
338
315
368
365
369
275
382
298
291
334
375
334
361
335
385
329
302
290
288
263
345
279
304
312
333
268
296
252
281
348
333
349
319
358
339
262
435
281
249
303
414
301
316
257
370
327
354
321
408
258
315
293
431
314
304
321
262
279
289
336
334
347
356
243
346
332
337
375
386
289
392
379
335
212
375
385
225
351
382
226
346
300
279
320
295
391
320
269
314
417
324
358
335
233
355
360
334
415
266
231
349
268
279
339
346
374
340
298
303
410
282
376
271
251
377
257
340
263
319
260
282
340
308
313
346
309
362
358
348
288
338
295
405
323
246
329
252
322
299
285
270
356
332
223
281
273
342
319
259
269
325
381
314
399
344
240
237
351
370
342
263
417
371
340
348
307
249
283
311
314
248
271
357
362
260
310
172
301
280
333
375
278
289
335
321
333
324
336
310
299
360
317
317
378
300
321
294
267
260
288
372
238
400
338
354
302
341
326
388
355
321
369
340
297
254
272
343
354
371
298
354
336
416
230
281
313
355
299
237
281
289
337
364
331
345
344
347
282
281
298
374
239
341
238
287
306
276
277
273
330
350
317
339
338
346
363
332
343
350
323
295
370
353
355
330
363
320
260
266
317
276
300
261
294
278
311
243
340
306
271
330
322
302
338
341
311
358
275
366
318
346
314
283
290
368
293
276
344
402
352
394
272
264
273
337
400
292
275
269
294
261
362
359
340
258
372
390
389
238
345
298
267
321
350
351
291
367
356
332
257
426
346
312
293
293
302
305
294
309
279
328
284
405
261
287
177
310
223
339
300
325
233
275
221
312
402
267
412
329
339
374
352
284
264
390
355
325
295
311
384
300
343
265
315
340
350
276
351
377
351
363
320
295
276
299
344
280
245
350
296
338
293
302
302
322
315
358
297
319
294
247
376
315
332
288
393
323
299
342
406
329
296
287
241
335
333
339
301
239
268
294
353
355
272
315
332
278
293
317
261
275
317
260
241
263
339
327
317
279
356
331
313
338
288
291
326
343
356
367
261
304
326
344
298
283
238
232
312
367
276
292
266
273
347
269
286
278
336
211
212
348
362
336
313
283
234
320
313
346
306
400
342
288
303
275
270
272
349
354
349
295
321
200
309
245
396
280
331
278
296
333
224
268
320
301
306
294
299
312
231
273
332
269
217
344
337
278
218
345
349
351
348
392
291
254
394
252
366
368
317
369
283
387
342
324
286
309
318
289
375
376
268
368
353
293
279
321
324
290
314
257
266
368
376
299
284
289
304
311
350
307
305
296
338
308
362
359
354
354
311
296
336
305
268
271
309
289
391
276
338
253
340
277
243
355
369
273
316
268
365
350
358
357
350
374
264
335
270
361
263
407
363
354
375
348
311
302
334
322
322
314
296
284
311
329
342
293
232
319
296
308
292
400
320
299
306
359
347
300
316
390
353
296
303
354
352
330
356
291
314
349
328
281
272
205
303
309
299
323
286
288
268
341
390
310
326
215
314
245
334
374
421
362
289
324
287
314
356
269
297
339
350
233
282
261
327
287
318
345
319
250
258
305
351
238
256
309
300
381
295
285
277
288
294
368
340
217
282
257
333
313
203
323
347
235
395
354
291
372
308
381
399
324
406
363
343
324
306
258
287
282
364
239
281
330
352
284
262
348
383
261
309
265
259
416
360
265
346
330
297
277
304
298
348
329
302
281
406
319
388
374
386
272
273
339
359
389
348
303
327
337
375
342
306
295
293
316
205
333
276
300
332
262
253
320
400
316
375
301
289
369
341
231
331
329
315
376
344
343
356
300
366
264
342
310
302
317
368
284
265
302
285
315
297
316
316
284
293
285
250
324
257
343
360
288
325
275
268
354
306
333
349
383
364
304
204
248
356
332
406
344
180
297
251
274
287
304
353
323
394
390
281
327
298
326
349
369
339
266
387
437
389
328
340
372
318
401
326
365
328
274
272
378
347
351
264
361
298
280
324
346
356
356
271
276
331
321
309
283
223
323
288
313
260
342
299
394
328
218
345
275
311
361
260
341
308
310
274
266
344
329
372
299
300
346
360
384
312
358
238
243
308
303
351
308
349
354
373
409
347
368
351
291
323
359
322
300
392
340
315
355
279
310
402
329
365
366
241
308
276
427
273
220
322
289
332
382
215
352
271
345
287
384
355
377
369
275
407
345
277
365
320
265
290
391
350
320
282
312
276
332
374
272
311
343
362
307
285
365
273
249
364
210
373
291
281
340
312
362
333
382
295
306
339
277
315
341
247
308
264
411
316
278
347
411
293
295
309
308
319
340
345
327
334
277
358
296
363
314
328
333
354
292
291
308
262
318
305
353
257
298
364
373
298
322
238
324
282
268
226
363
241
324
262
266
372
319
302
327
355
369
382
264
235
237
360
312
360
353
254
354
366
302
340
226
210
335
312
396
322
341
342
248
305
318
279
352
303
240
415
342
427
351
318
233
331
312
353
301
353
306
299
341
289
341
279
270
311
307
322
294
272
262
307
331
274
314
284
237
298
301
267
307
282
331
301
417
303
329
339
386
316
316
343
392
210
258
299
303
290
322
288
326
285
340
319
339
352
328
252
352
212
337
319
303
339
345
233
252
317
338
372
331
304
272
343
386
367
342
369
300
361
343
299
320
323
390
370
239
295
335
261
206
349
345
333
281
313
402
236
224
333
285
322
330
335
274
285
212
325
282
366
353
315
315
344
293
296
297
345
309
418
298
267
359
405
308
311
226
316
260
257
306
258
192
284
265
287
369
272
337
290
242
309
342
345
275
291
325
303
294
378
270
290
337
301
404
358
358
350
170
332
367
302
301
311
320
371
345
349
313
257
366
318
297
336
310
310
350
254
395
283
325
250
247
317
234
311
332
295
298
297
388
304
378
302
310
277
351
285
324
408
237
309
247
344
286
252
322
261
321
294
364
344
360
370
279
311
291
265
349
303
266
384
291
300
334
272
282
323
232
331
357
368
321
285
263
373
291
314
354
326
353
330
286
258
290
304
322
318
318
273
248
382
268
326
350
339
317
377
286
365
307
391
277
345
354
240
335
230
282
353
338
378
350
366
306
306
338
336
348
346
236
266
282
287
428
295
304
388
305
259
322
417
238
326
331
302
328
378
312
311
308
302
326
354
342
315
306
346
318
302
341
258
315
343
330
296
354
287
370
280
375
305
321
269
337
298
337
298
340
279
376
282
369
281
265
304
357
295
353
351
368
338
271
342
315
265
349
343
255
362
363
350
308
309
306
279
325
222
311
252
304
343
397
246
331
384
297
360
381
381
324
325
273
307
336
270
313
331
319
265
348
396
329
239
368
311
337
282
350
274
217
373
315
359
300
273
308
317
259
308
229
254
317
323
233
245
321
328
251
319
318
379
295
285
312
324
332
324
251
246
284
290
378
288
373
369
293
276
261
253
309
274
309
279
261
368
396
339
276
367
293
332
411
352
296
368
331
234
391
324
278
321
303
438
316
346
358
353
323
335
296
366
331
292
351
273
301
305
320
385
434
329
372
313
269
354
260
258
273
325
329
373
297
341
286
316
288
363
413
287
364
351
347
221
280
407
346
307
358
273
340
309
296
316
309
305
330
386
373
354
295
327
287
298
347
321
287
322
332
294
233
411
303
300
296
357
350
298
310
263
343
266
401
179
299
359
284
364
335
248
327
257
369
345
394
274
329
308
275
264
334
328
259
249
381
305
275
289
357
303
302
218
365
352
272
295
375
370
305
369
358
380
336
259
373
381
308
292
243
348
337
238
376
319
413
332
320
367
346
345
395
270
282
321
284
357
325
256
258
295
304
320
303
325
393
282
328
405
326
362
369
288
253
353
390
379
327
353
335
301
307
273
277
335
229
356
323
284
310
409
317
296
347
225
356
353
307
405
361
336
204
324
275
235
292
297
375
343
318
270
275
319
320
316
235
286
316
322
228
352
305
256
331
339
290
344
280
338
325
345
317
290
324
340
319
261
270
325
325
366
313
277
329
338
329
313
257
351
281
353
252
285
341
220
251
361
283
290
269
274
261
271
359
312
338
220
280
345
356
402
266
398
291
412
335
277
307
330
359
346
335
261
331
301
357
283
270
317
290
312
328
348
258
310
253
280
376
274
340
369
328
235
344
348
315
350
323
342
317
305
362
333
335
374
333
254
270
246
354
342
290
349
291
374
264
292
298
342
281
281
373
281
320
327
308
230
341
259
328
354
303
370
292
349
334
295
303
280
337
254
316
314
237
241
353
336
276
386
263
185
334
400
276
351
307
259
302
263
236
340
420
350
328
298
277
315
302
352
315
290
376
360
305
282
296
372
308
334
340
219
373
291
326
295
340
230
344
315
307
282
272
303
296
392
321
276
376
292
243
346
263
314
260
288
265
329
223
240
300
309
277
208
339
308
260
320
273
310
207
434
307
419
261
219
319
295
311
361
311
292
327
365
302
334
241
302
307
382
337
360
253
310
399
375
259
383
323
195
262
299
338
229
283
359
320
354
296
263
312
302
259
299
350
215
313
307
308
254
305
301
335
326
351
280
310
293
330
348
267
173
294
313
240
237
330
320
326
267
372
333
392
321
272
332
374
233
326
232
340
359
304
339
386
341
271
307
264
235
373
344
311
367
281
330
258
342
288
377
344
326
305
266
274
283
310
317
364
216
292
354
368
316
315
347
304
253
300
343
328
315
248
325
334
302
292
277
313
204
234
252
334
319
401
287
290
287
292
292
237
303
344
338
276
300
343
304
277
298
406
276
254
320
316
318
319
374
282
319
326
319
343
312
355
303
283
309
293
269
219
318
268
317
423
275
424
368
326
299
242
342
320
276
332
326
336
312
283
328
295
331
318
309
338
309
361
340
332
298
252
292
307
282
300
260
372
348
376
272
326
370
296
313
356
253
294
240
289
365
265
395
345
238
287
386
263
354
280
270
386
330
398
291
285
315
290
309
327
273
341
290
322
265
333
290
232
330
327
340
362
307
270
265
218
353
359
343
314
333
294
348
330
310
370
316
373
247
302
402
347
413
309
363
396
234
336
142
295
274
368
281
307
344
269
303
280
217
314
396
364
303
371
404
334
348
320
303
268
301
375
340
267
290
334
276
350
333
356
254
324
332
402
390
305
274
309
340
383
307
325
214
413
264
392
201
286
322
285
247
258
275
327
317
343
361
325
348
327
257
278
264
362
349
324
313
334
315
330
308
277
292
282
245
339
279
369
355
393
330
394
281
308
299
324
325
310
354
271
381
372
338
317
307
301
206
286
269
359
340
367
273
318
290
339
356
309
296
334
298
336
303
357
293
320
362
313
305
325
317
377
347
344
301
362
297
324
331
338
299
274
331
289
307
283
270
296
388
327
309
275
360
317
377
264
284
317
316
296
310
269
321
332
325
298
340
357
367
319
313
323
252
364
356
298
359
377
305
271
334
329
347
371
307
315
346
342
341
344
294
293
348
186
315
372
334
341
300
335
260
353
302
328
351
368
331
295
297
321
355
346
245
321
262
331
318
198
349
345
288
329
383
331
362
304
225
323
324
302
322
382
386
280
342
329
256
198
317
337
315
329
273
264
331
354
304
387
235
276
336
345
320
392
308
385
308
247
364
319
278
278
400
280
362
263
330
362
369
326
256
321
354
317
315
345
296
367
345
251
255
203
250
348
289
337
424
377
309
283
319
354
321
272
308
295
396
371
354
293
328
347
309
315
219
280
251
298
379
300
263
285
337
398
305
340
278
285
327
257
230
389
377
387
333
260
287
297
238
386
371
325
306
303
284
345
387
347
329
281
277
276
287
256
306
312
407
296
384
321
280
357
388
308
336
299
358
342
334
324
304
319
360
263
270
299
289
320
259
372
324
299
409
274
276
320
255
257
345
347
293
296
390
319
332
311
356
295
266
350
288
281
342
312
242
323
300
319
303
344
348
346
275
359
281
297
343
283
396
382
367
341
289
270
288
321
358
267
377
378
298
294
339
294
264
294
351
262
331
304
354
284
269
299
347
344
359
303
321
246
289
290
374
271
265
242
300
343
348
256
245
297
318
296
288
225
241
323
339
274
333
313
266
297
282
347
318
419
350
276
377
285
296
208
350
300
288
283
325
305
324
317
341
353
308
264
321
312
285
271
250
294
269
306
272
308
328
297
286
397
319
270
303
257
316
350
270
325
290
395
333
274
321
306
329
234
221
329
367
282
359
274
367
256
338
344
367
329
310
247
321
326
325
281
330
323
304
317
287
299
355
273
342
448
305
372
297
278
304
267
289
265
360
319
299
346
324
280
322
293
251
272
375
359
362
218
414
342
255
373
405
336
388
377
278
336
387
392
345
301
382
268
313
265
342
255
293
320
303
374
389
325
284
371
351
372
332
308
245
317
327
304
269
283
282
251
339
291
298
373
249
361
259
288
203
343
298
362
345
246
300
262
285
385
279
301
436
331
355
302
243
269
299
327
289
341
336
361
414
356
328
373
336
320
271
305
291
306
314
354
345
249
403
361
353
298
336
345
276
267
402
305
314
324
376
256
351
304
301
293
250
270
337
298
318
309
302
396
380
289
310
284
320
366
408
242
321
336
368
225
250
281
341
310
339
297
358
346
241
356
325
317
214
320
326
341
328
411
260
324
278
341
315
328
297
351
345
284
359
347
337
289
193
280
376
342
321
395
334
290
338
283
260
268
356
382
188
275
333
344
344
268
379
346
294
289
259
279
354
386
200
326
233
327
249
381
317
249
340
372
356
270
308
269
336
221
279
348
268
384
332
305
402
339
308
323
387
301
304
264
315
345
341
337
269
345
293
322
316
294
332
295
365
287
328
332
322
386
306
284
327
349
311
355
370
264
367
362
346
377
324
332
334
264
378
330
360
365
330
345
315
244
322
243
298
319
311
286
287
282
306
298
305
341
335
305
263
347
311
392
317
314
353
325
302
284
330
406
374
410
348
339
296
374
353
205
300
376
358
337
359
348
355
310
361
360
337
245
266
340
242
348
245
358
331
308
232
314
314
358
257
328
330
296
323
367
236
318
329
362
252
266
217
308
326
228
348
320
313
306
318
334
276
321
367
263
334
235
289
327
307
328
236
264
275
346
289
354
297
402
267
314
309
254
336
368
344
272
281
248
287
249
263
378
272
320
368
350
373
301
300
364
323
338
333
298
278
374
352
265
321
351
343
325
258
369
350
397
344
312
333
375
312
343
263
316
375
332
337
263
333
304
273
315
366
275
351
304
402
321
284
307
333
376
320
272
205
364
376
271
330
366
320
294
301
295
291
282
318
261
328
303
359
269
350
384
239
247
245
283
317
318
412
312
277
314
333
294
277
316
283
223
345
318
282
339
299
341
360
342
361
350
244
290
316
371
289
271
268
320
345
348
295
264
323
318
306
301
301
307
283
295
328
242
294
206
314
364
305
360
268
344
331
286
336
276
377
335
401
373
305
322
290
327
289
245
295
344
344
252
322
264
348
296
320
310
310
315
230
280
322
283
337
281
313
300
320
262
363
381
305
266
394
379
287
307
306
334
322
325
365
347
266
371
374
268
404
253
236
301
353
319
309
314
321
325
295
338
295
383
282
276
359
278
367
338
361
406
340
294
272
283
358
340
230
322
320
317
292
309
361
278
329
386
286
375
299
258
332
371
349
267
300
308
346
261
300
373
249
367
329
385
306
262
344
273
332
291
277
325
357
285
251
311
263
383
254
361
257
325
361
295
373
343
294
308
339
313
276
345
359
318
311
263
212
288
280
285
338
304
407
428
327
355
349
307
246
288
321
301
272
301
350
279
308
274
260
386
398
289
306
341
289
341
280
223
329
255
249
318
357
282
357
229
334
327
324
316
351
320
310
232
240
376
434
303
383
313
349
285
318
305
310
253
323
289
329
363
387
303
316
344
307
346
329
318
356
339
246
327
307
431
341
395
318
315
278
382
381
394
309
222
366
283
229
360
240
339
288
338
342
341
359
371
321
326
322
321
296
272
347
291
280
348
291
330
335
291
347
287
182
280
336
346
312
326
291
375
362
307
333
251
338
286
337
314
423
321
255
347
333
322
305
321
280
299
337
290
329
339
313
285
271
324
325
356
238
331
326
340
360
350
372
363
310
227
341
289
279
251
232
372
335
341
332
284
355
332
287
364
399
315
267
339
361
322
257
295
346
290
330
399
267
360
265
311
334
326
354
341
264
268
320
281
374
356
329
334
328
428
400
362
292
354
370
296
272
389
321
311
306
307
368
205
346
407
423
235
309
338
305
389
278
324
365
357
367
346
286
281
335
279
351
312
398
308
291
335
401
287
353
346
316
351
351
296
303
362
360
311
359
410
374
326
386
289
225
322
391
390
271
263
311
381
345
288
251
332
324
341
230
362
299
309
353
351
309
311
332
324
358
269
390
289
303
274
365
301
336
279
369
305
256
303
312
287
286
400
403
387
299
304
367
367
261
403
330
313
345
247
261
302
413
301
250
325
272
301
277
313
280
326
346
282
325
356
238
283
294
377
252
303
295
291
332
283
341
245
281
352
295
290
306
354
343
387
312
320
350
266
321
297
357
282
319
367
336
241
313
373
361
313
302
326
337
287
360
342
374
326
275
313
352
329
342
322
302
279
350
271
276
301
228
285
299
310
283
318
312
281
248
295
355
282
352
314
250
224
338
212
301
336
331
294
235
227
353
249
330
337
323
360
262
314
205
373
342
353
287
307
324
305
294
308
340
312
373
356
303
294
363
348
331
421
298
348
364
312
310
286
275
262
288
294
289
268
328
308
342
360
239
321
382
298
311
348
326
220
363
324
279
358
273
334
323
315
380
313
302
258
295
248
252
260
295
381
275
379
364
325
259
355
312
342
331
413
312
322
324
317
263
304
285
240
376
363
317
288
309
384
343
329
354
362
376
319
290
324
355
346
272
246
315
297
265
333
338
369
339
304
404
336
285
346
357
303
350
282
316
259
329
337
416
295
369
284
292
389
299
290
311
313
364
379
340
355
241
418
351
216
344
302
337
223
367
346
329
357
252
190
309
347
295
337
249
296
426
319
275
370
256
318
345
315
328
294
326
356
260
315
336
274
357
262
323
323
326
410
305
354
263
316
279
339
333
361
243
223
267
333
369
411
264
267
259
286
264
374
258
316
253
307
308
316
294
324
338
293
352
295
299
320
375
270
307
363
323
266
333
310
272
296
345
264
352
325
289
324
280
349
289
219
256
260
293
288
316
324
307
306
268
372
386
276
342
282
353
339
329
272
234
255
341
309
345
332
303
299
354
461
277
330
342
298
198
282
330
381
335
377
401
251
351
318
281
291
366
373
303
277
314
422
316
309
321
352
220
402
281
341
341
281
301
353
331
365
287
339
318
281
322
288
192
326
314
278
375
271
334
374
283
440
312
274
337
304
340
385
262
287
364
338
335
422
285
307
324
333
342
274
287
353
293
350
280
340
336
307
380
195
310
371
265
389
325
295
315
240
303
230
313
377
315
318
282
283
303
360
295
377
387
318
266
262
316
343
391
327
360
362
310
328
329
275
308
292
280
312
377
293
349
321
319
269
298
308
380
317
315
325
237
341
328
311
304
359
396
382
343
274
266
394
316
271
237
344
339
264
250
215
315
345
273
336
334
295
356
317
226
265
322
313
307
251
290
275
261
270
286
311
341
374
308
355
290
357
296
294
295
250
282
322
313
341
303
358
288
355
271
246
294
331
331
334
307
345
268
342
348
325
273
358
338
298
326
296
278
314
339
204
333
276
373
376
270
335
307
335
319
408
346
280
302
292
226
302
277
313
319
352
319
293
300
261
308
295
385
330
321
300
343
346
325
308
439
280
317
312
346
281
285
278
386
286
354
269
318
346
315
348
284
278
309
256
312
261
352
285
302
362
272
378
281
255
399
287
312
260
374
332
356
308
294
282
303
351
419
276
328
320
384
244
205
356
313
272
338
314
318
264
375
413
252
256
300
265
228
263
343
335
273
304
331
291
364
227
331
346
370
263
340
374
397
321
347
257
324
345
316
344
349
413
284
248
278
285
291
426
309
256
321
285
321
351
393
381
222
303
338
320
243
374
284
360
309
247
336
365
291
354
401
307
361
310
359
278
296
284
301
275
345
275
269
323
373
263
322
230
266
263
288
355
318
350
311
364
315
312
290
323
280
353
351
342
305
378
333
396
315
367
246
256
334
287
270
397
226
339
296
328
334
369
287
350
313
325
297
314
383
339
263
313
242
378
348
303
257
376
250
304
381
341
375
348
275
292
257
247
288
250
359
306
299
271
327
250
279
353
282
252
317
375
287
367
282
279
353
343
297
364
309
348
301
293
338
402
292
307
331
336
350
281
328
271
295
328
357
258
290
396
321
325
291
369
346
314
227
277
273
285
345
393
377
330
295
280
275
295
316
346
270
341
306
326
290
296
330
266
261
377
325
309
312
263
304
256
334
357
305
300
343
284
331
301
338
208
308
325
338
377
397
301
308
374
341
393
293
345
337
221
363
398
313
322
317
338
258
257
340
281
297
389
289
372
346
312
335
366
354
346
309
291
328
426
305
326
317
278
345
288
331
339
384
285
259
354
354
253
296
258
271
334
360
381
327
326
299
376
328
277
259
321
322
341
307
340
320
312
234
282
343
341
294
326
360
237
358
280
275
337
305
357
292
310
248
271
340
349
279
307
320
301
336
368
356
338
344
278
329
322
308
298
283
210
358
261
421
386
398
321
319
303
275
273
269
249
365
303
282
367
364
324
272
353
276
271
322
312
385
328
340
258
315
283
375
407
344
340
328
279
346
346
267
352
270
344
258
342
328
314
443
342
337
269
407
298
219
322
321
360
325
307
371
366
311
262
335
304
292
344
269
310
339
456
388
288
256
276
367
368
265
359
309
271
262
370
370
342
344
357
279
328
342
297
299
263
291
349
367
289
252
329
393
301
277
324
338
393
268
304
319
333
268
361
318
321
333
261
289
319
320
270
340
276
355
305
298
341
312
283
269
289
211
277
363
326
287
316
293
228
351
381
345
442
382
214
302
316
350
332
327
316
312
332
252
263
340
344
336
305
368
388
289
349
341
216
349
253
281
405
374
291
302
321
321
292
348
327
284
350
303
298
249
311
311
295
340
332
380
276
333
322
343
378
348
323
325
274
284
246
310
327
224
312
336
290
309
396
288
339
371
314
257
361
333
327
307
262
400
330
370
315
312
311
360
230
340
393
350
402
256
305
299
360
377
284
297
289
301
339
252
281
345
281
327
324
338
410
303
307
274
334
308
334
413
342
371
309
268
380
312
354
309
358
253
403
368
323
308
342
252
349
282
395
327
317
381
359
242
375
265
329
285
299
290
338
222
417
341
301
268
320
346
380
313
344
327
298
303
379
337
271
297
269
260
270
391
327
313
312
412
312
282
316
281
324
355
302
294
326
246
375
247
356
262
286
299
335
296
335
411
353
331
300
301
282
327
261
311
267
286
307
186
289
347
292
331
349
294
234
314
348
291
299
266
394
366
286
358
353
323
359
295
351
329
328
361
271
283
257
418
307
372
378
366
352
411
318
262
310
326
229
365
356
352
348
269
327
412
307
377
342
266
346
286
326
319
250
321
369
305
360
248
265
414
356
313
288
266
344
354
337
278
305
312
238
313
329
326
286
293
329
311
339
291
292
397
354
342
257
295
338
358
398
291
248
266
295
325
391
317
276
288
275
294
292
280
244
282
362
349
312
266
321
322
299
388
382
245
345
341
286
347
328
304
316
434
265
420
304
270
350
317
344
285
306
329
339
367
336
336
301
384
273
360
345
298
341
278
349
355
345
310
262
316
219
356
340
397
330
239
294
371
238
313
273
345
345
306
357
298
318
311
331
336
399
354
338
330
281
291
247
339
333
338
246
308
286
292
266
377
326
391
296
378
379
342
342
357
396
341
264
378
347
254
329
325
250
260
275
324
314
304
333
328
334
291
410
318
308
216
276
266
275
304
329
338
289
253
353
253
311
339
228
380
392
366
308
302
308
314
367
332
330
301
244
323
399
270
306
378
345
325
217
390
181
342
420
291
234
262
332
316
317
317
369
277
374
257
356
281
326
306
247
285
275
351
308
253
342
336
322
348
281
242
332
323
335
276
330
304
318
409
330
398
304
322
301
268
363
343
309
335
334
335
331
289
265
290
301
370
296
351
182
400
334
283
315
293
322
324
339
335
343
330
326
374
271
325
320
347
319
278
366
345
376
257
375
325
282
336
252
272
382
290
326
319
324
375
320
280
305
390
288
266
328
331
440
271
357
360
305
366
245
313
245
362
258
318
273
292
326
325
272
206
273
299
360
322
360
271
269
337
345
263
291
262
391
289
369
333
377
383
341
334
275
398
286
307
246
348
328
297
317
358
200
319
284
279
321
246
363
304
257
320
324
358
340
262
307
322
355
327
362
274
342
297
356
347
388
289
368
381
359
320
282
290
244
293
350
407
342
335
268
348
400
270
285
306
367
262
311
348
332
213
270
303
348
381
308
313
303
309
363
340
391
306
294
278
286
345
255
326
406
354
319
257
281
390
353
311
269
257
293
369
287
280
396
295
344
359
314
343
322
353
243
256
316
343
257
357
344
311
310
379
301
334
344
357
333
239
331
279
327
345
328
349
320
263
337
301
362
330
325
296
324
330
302
307
320
354
307
324
283
360
334
368
235
336
426
357
251
283
275
360
318
333
353
294
302
277
251
355
342
224
344
282
291
279
361
368
254
341
405
380
324
303
349
379
332
291
313
354
344
358
309
324
272
369
360
365
339
272
273
334
340
314
285
378
296
339
307
310
351
355
335
323
273
291
353
325
375
271
366
360
290
244
333
313
244
276
307
316
288
346
290
369
329
340
300
309
321
281
286
342
354
250
343
326
270
374
260
370
243
319
315
323
264
304
328
324
217
307
309
353
330
367
307
279
414
283
200
299
337
340
258
296
333
320
282
275
310
289
349
357
237
258
399
336
305
251
376
284
303
252
187
335
330
276
296
302
241
322
275
324
349
305
312
305
341
353
248
331
334
379
290
369
310
422
285
334
282
229
329
196
392
248
312
340
265
316
268
260
277
270
310
318
368
353
257
311
303
331
318
339
239
314
421
302
363
222
304
299
325
313
234
317
324
339
328
348
262
368
276
302
342
318
351
399
343
346
253
320
404
253
257
278
322
404
377
295
338
332
325
322
274
270
307
283
328
249
277
298
338
254
332
311
349
363
299
332
397
271
329
298
339
356
319
280
343
288
372
272
306
281
261
386
299
388
265
392
325
384
268
349
240
386
335
327
361
315
316
315
362
285
314
350
328
248
296
308
252
280
321
377
245
299
333
277
343
361
348
280
335
330
326
316
353
329
326
222
353
281
327
319
262
381
288
298
281
367
379
375
384
382
278
340
284
293
325
286
306
303
258
296
307
276
318
265
348
317
289
276
267
301
272
341
334
311
350
317
267
411
329
274
301
314
350
309
233
302
274
278
332
246
365
336
278
373
302
190
290
335
298
261
328
381
301
240
381
160
279
292
222
357
287
263
291
275
342
356
344
306
211
384
356
338
308
358
332
341
271
336
310
307
286
228
377
306
297
320
274
231
310
355
322
327
339
260
365
275
322
335
271
249
314
247
252
324
252
354
290
337
279
332
354
253
297
293
401
311
311
345
282
320
364
299
266
266
380
376
245
246
307
364
247
308
213
299
257
249
375
281
352
209
320
317
266
263
316
375
299
306
293
313
331
341
381
316
297
261
299
379
316
309
317
349
268
386
325
349
301
399
309
275
401
281
386
376
319
213
319
333
298
307
323
362
381
270
344
353
339
273
284
383
222
301
336
214
396
254
320
353
307
364
300
332
295
387
384
354
263
299
274
351
316
346
319
369
303
385
369
276
392
283
239
346
230
220
303
299
369
280
337
332
257
325
295
270
282
288
326
298
345
367
279
362
348
354
297
356
257
345
279
366
303
331
295
276
287
479
335
382
280
281
281
359
265
329
364
298
350
338
291
370
340
306
322
333
322
267
328
369
267
265
297
301
259
325
328
272
238
312
297
347
352
325
314
416
356
379
329
242
230
362
253
330
331
276
274
371
349
308
405
352
300
293
309
295
336
239
325
291
355
325
336
302
273
320
282
347
319
273
388
327
317
380
297
310
341
326
363
297
314
288
375
350
279
315
190
324
350
304
258
381
297
253
322
299
317
318
341
403
332
389
303
342
327
262
323
253
295
287
301
311
321
361
323
354
313
328
304
300
352
316
287
320
293
356
299
339
267
340
313
345
262
327
381
324
216
301
330
316
352
286
349
363
344
259
292
258
378
370
265
336
323
374
357
366
348
345
360
331
324
325
373
231
358
282
244
334
282
359
291
289
325
384
270
292
247
291
327
404
238
322
356
287
345
260
293
203
285
316
305
266
309
353
312
255
273
311
422
307
365
249
315
300
326
303
326
259
317
354
347
285
313
306
335
361
406
324
253
324
435
378
395
348
335
296
309
308
304
316
336
322
268
374
328
305
311
264
356
297
334
345
303
336
295
292
343
338
280
236
355
382
268
251
255
326
364
342
349
227
339
392
295
371
324
369
353
241
298
333
358
411
243
195
320
367
315
255
354
350
350
279
325
345
319
324
368
335
332
339
407
278
305
279
273
350
341
244
320
268
284
231
371
365
283
324
368
285
362
287
330
312
235
318
340
400
327
385
236
304
327
344
335
413
271
186
283
320
281
261
317
257
304
310
326
362
314
290
234
302
289
363
343
321
285
285
281
320
294
309
317
377
360
318
269
302
404
330
344
298
269
388
318
336
277
299
272
304
358
324
359
315
330
285
325
395
339
355
288
340
306
316
366
253
280
327
308
347
314
287
312
243
324
328
308
286
322
268
382
389
296
129
299
274
232
385
336
314
363
345
360
302
327
311
337
279
339
270
284
306
358
324
376
309
309
357
336
314
285
385
320
324
340
390
283
317
290
326
245
295
333
339
400
338
298
327
319
250
375
356
272
287
312
286
329
359
306
392
369
304
346
320
266
365
298
319
352
287
371
249
313
299
346
396
310
297
389
325
304
336
218
231
268
349
338
325
353
319
297
364
404
320
293
339
310
373
313
297
225
345
382
352
400
372
301
258
254
264
302
331
316
332
287
363
313
293
319
373
322
324
354
289
282
397
319
358
332
377
341
397
338
307
306
356
302
314
309
278
373
339
289
294
215
297
370
305
337
285
336
365
324
309
392
281
361
296
246
255
343
258
401
325
344
329
359
310
319
328
279
310
240
375
345
270
331
303
268
374
312
334
315
290
296
353
374
291
277
230
279
367
251
327
328
305
310
259
323
349
274
310
250
258
360
358
330
346
343
260
340
350
331
325
270
344
317
326
313
290
222
286
342
263
283
382
314
322
360
350
316
260
363
288
342
328
256
353
201
311
291
250
375
332
331
321
317
296
351
338
254
308
327
202
335
350
341
334
220
275
318
322
332
367
406
359
292
286
359
338
233
313
381
289
329
376
246
223
345
303
327
253
364
377
249
263
279
299
339
307
329
362
282
262
381
339
341
373
338
254
375
333
278
344
269
259
282
320
317
285
360
297
392
248
400
280
332
334
330
284
288
340
216
355
359
203
309
325
315
266
331
376
341
346
332
368
269
314
263
301
335
427
383
351
258
272
315
299
267
322
407
378
384
317
345
292
307
359
295
306
318
270
317
355
326
340
334
272
272
333
185
326
248
362
362
269
301
321
391
325
303
290
252
415
336
330
384
332
365
307
378
282
369
404
247
309
273
274
341
356
343
276
278
351
212
345
387
317
233
314
287
340
309
292
323
321
341
339
270
260
346
319
316
339
327
356
373
339
344
299
294
285
360
267
351
284
318
292
250
321
286
346
350
298
345
256
330
327
317
324
347
382
287
236
338
314
355
408
374
313
284
300
313
325
302
319
304
295
266
282
331
252
384
260
319
307
297
354
293
305
326
352
349
282
315
314
372
336
317
351
250
343
287
288
210
411
353
317
384
327
388
314
305
370
310
335
374
291
239
246
373
296
303
339
355
355
300
178
308
350
331
297
311
306
303
366
350
329
241
310
318
254
289
347
335
297
336
338
314
395
307
190
315
320
306
414
393
283
298
315
303
245
305
381
314
247
377
216
302
358
222
359
337
346
351
281
370
391
310
306
361
301
285
347
357
285
230
283
337
269
408
434
368
317
275
347
370
378
365
259
379
387
284
299
267
341
286
374
282
225
266
322
311
328
229
252
327
354
213
288
362
277
322
292
319
391
350
287
400
361
370
368
358
304
252
332
238
291
233
377
281
307
335
306
294
254
349
344
300
283
253
269
302
343
257
269
362
257
334
315
316
242
255
282
314
355
263
319
280
295
376
271
293
267
340
302
282
298
303
348
237
327
369
377
355
304
324
377
393
299
350
260
313
346
237
278
258
325
294
231
358
315
334
360
347
243
326
371
253
327
288
320
352
267
287
298
251
278
388
326
348
338
269
301
291
335
233
313
277
334
292
264
406
360
309
354
278
298
352
253
320
386
268
343
244
323
316
366
267
347
304
252
268
289
334
339
368
337
341
281
315
287
323
287
304
323
328
307
322
416
341
328
305
325
367
378
320
291
294
362
309
235
250
358
287
275
334
272
323
313
281
374
215
325
316
359
313
418
278
331
323
350
357
305
342
278
354
297
302
304
384
268
226
357
270
381
261
322
336
297
297
252
363
296
360
294
318
333
354
257
424
280
266
287
311
324
333
247
353
338
323
376
320
271
350
304
314
295
330
324
252
279
280
307
337
307
302
280
309
338
340
349
375
265
295
313
409
265
284
366
319
338
301
270
379
313
346
290
304
274
239
313
331
354
300
211
362
362
342
290
353
301
421
348
345
285
262
284
327
300
266
307
235
306
299
212
307
301
366
322
297
349
218
331
283
283
270
332
345
282
265
326
335
328
295
277
343
343
372
361
326
353
382
341
257
330
276
280
301
299
396
391
356
388
298
324
299
345
312
295
408
357
292
316
289
273
347
257
296
307
249
313
349
336
400
381
290
299
309
417
265
353
278
304
331
312
346
305
311
321
364
276
377
335
311
293
313
293
276
282
367
409
334
265
274
383
354
264
354
342
211
331
329
265
338
375
312
308
329
379
313
285
287
316
313
295
326
291
300
343
309
270
299
228
347
402
305
331
371
360
324
415
353
368
278
366
318
430
347
296
255
320
374
218
230
361
287
325
266
263
220
340
304
250
273
269
275
349
283
353
316
352
349
341
370
269
372
294
334
270
290
275
329
321
358
262
316
339
293
344
321
283
257
185
305
421
328
285
317
247
395
384
331
275
272
310
321
325
381
248
273
297
317
292
373
316
302
381
288
272
332
301
282
310
276
361
255
345
345
400
326
422
343
359
327
331
291
292
276
302
267
307
298
348
348
371
331
283
331
359
342
326
307
295
334
370
307
235
340
340
282
352
307
328
247
236
309
305
244
272
363
359
328
297
320
270
245
238
313
317
332
253
316
357
330
358
322
302
178
343
327
297
276
394
339
315
336
388
345
340
313
401
282
288
346
289
332
353
244
355
363
303
296
291
294
335
281
365
322
315
258
360
379
241
202
285
321
334
289
316
234
272
343
349
349
275
301
232
318
349
336
366
284
318
228
351
327
285
226
351
314
303
281
329
353
311
318
398
407
313
408
337
307
346
348
245
356
332
352
348
306
397
319
287
316
277
312
326
296
240
401
376
323
327
262
350
280
296
346
351
376
364
388
260
333
311
242
197
369
269
332
286
284
290
343
348
314
283
374
378
272
297
295
354
365
299
403
266
379
351
356
335
316
303
299
275
311
304
364
339
329
257
368
306
375
307
331
242
263
311
336
352
258
247
405
276
332
348
271
376
263
315
314
275
344
380
269
375
221
375
358
291
361
349
312
363
333
288
322
347
309
289
343
331
274
240
326
293
296
307
253
319
331
337
271
338
279
388
253
254
290
298
304
324
289
277
298
354
263
252
346
405
360
329
312
326
355
343
344
301
359
290
328
218
290
407
375
324
371
289
276
336
314
331
410
338
262
336
256
345
317
357
347
333
304
253
321
275
282
294
271
373
326
363
312
285
310
310
321
324
343
332
257
324
390
279
271
338
301
240
324
293
397
275
361
324
332
385
243
326
361
206
369
347
275
334
298
306
337
283
311
290
320
338
343
310
289
278
404
418
223
323
313
328
347
322
303
324
341
274
315
284
335
307
257
362
287
249
368
333
273
322
371
375
373
327
245
353
279
317
271
279
328
396
339
229
289
329
326
302
384
315
337
266
427
347
295
301
361
338
270
349
335
373
364
341
260
307
278
308
225
328
285
269
284
321
326
338
306
332
372
255
341
277
404
382
345
325
265
397
330
247
369
407
345
211
221
373
302
311
291
296
225
352
330
264
269
294
394
276
320
164
371
333
296
370
359
362
386
374
272
328
281
350
386
242
350
373
341
349
278
387
329
321
273
242
323
355
314
326
363
302
272
378
373
338
380
274
323
343
365
346
328
289
310
266
308
309
296
290
326
303
282
329
344
341
348
359
328
353
340
306
286
244
342
389
293
299
308
314
215
276
364
380
258
357
266
286
334
341
275
374
272
346
284
261
247
284
341
340
361
281
314
253
252
252
280
373
302
261
337
303
264
332
324
316
384
244
326
350
266
369
359
329
369
276
322
293
282
238
308
277
266
272
273
293
286
316
306
365
334
266
299
294
380
270
292
365
327
297
381
335
321
403
407
289
293
308
249
296
348
330
357
370
387
285
478
279
321
355
230
251
400
324
338
245
318
179
318
325
276
343
234
357
288
356
347
296
316
288
297
276
310
292
351
254
307
261
328
282
299
235
344
268
327
277
318
336
380
246
364
333
264
306
365
277
271
334
294
330
311
278
413
330
265
354
319
347
250
297
361
254
322
317
288
271
328
347
332
382
248
274
368
307
335
254
402
291
278
298
292
371
317
253
328
309
362
258
337
328
337
354
234
338
355
231
324
351
271
340
359
320
265
239
307
309
261
432
331
342
419
311
381
270
289
237
287
296
326
414
346
278
357
351
345
270
340
336
236
323
331
281
294
363
257
277
193
303
308
316
325
309
247
311
284
354
261
332
276
303
375
269
264
301
320
290
291
235
352
249
293
254
324
304
285
342
355
300
313
282
358
296
328
354
320
306
289
293
291
368
233
297
338
242
321
303
286
363
280
274
283
334
350
316
321
242
316
297
396
321
276
336
309
300
395
275
378
316
269
314
383
287
383
334
352
333
277
250
264
242
403
293
319
402
244
296
277
264
295
223
328
279
335
210
311
297
298
280
259
238
411
300
266
343
276
275
325
312
311
329
315
397
389
320
327
352
271
265
348
319
303
274
288
338
298
366
342
349
375
328
305
240
300
281
329
358
282
296
272
301
230
365
324
361
282
357
258
375
230
277
320
302
347
339
209
310
341
319
329
324
292
374
237
334
347
321
394
312
364
264
284
313
241
338
384
278
419
281
211
400
316
313
309
331
270
330
298
331
349
365
388
300
352
367
314
238
245
318
240
252
269
284
305
337
312
296
284
158
305
365
322
314
337
332
336
355
310
191
390
335
431
325
341
276
327
263
316
330
246
337
288
296
333
329
269
355
372
377
262
188
270
276
297
277
338
329
286
264
291
350
400
337
324
239
313
308
333
357
303
334
295
359
381
375
300
301
374
349
315
288
300
324
391
239
315
282
263
276
388
233
341
327
339
337
328
325
320
395
311
299
295
301
377
306
335
338
405
360
316
343
392
356
267
325
287
359
265
311
361
231
296
339
273
320
326
331
378
346
373
329
352
225
335
322
318
261
329
360
349
384
204
284
300
314
310
308
261
266
221
211
278
390
312
259
276
328
280
269
280
335
343
278
356
287
236
350
359
263
309
311
285
329
350
331
339
271
238
207
287
333
330
278
303
316
370
279
303
328
365
311
269
352
352
305
310
362
235
365
309
265
313
329
360
308
233
272
350
253
249
360
284
312
232
357
325
357
281
300
378
347
322
321
289
260
303
372
291
332
313
251
284
363
229
261
370
292
233
295
353
315
266
326
319
391
280
253
315
334
337
340
340
303
285
305
310
348
369
266
284
302
258
303
240
316
384
370
239
390
349
278
277
321
296
262
306
317
349
303
300
400
314
286
286
346
298
286
261
349
384
344
314
280
313
327
344
349
272
286
287
264
292
327
356
317
367
352
328
387
374
368
278
372
337
347
341
276
317
293
301
356
298
368
280
386
287
271
244
338
348
296
344
286
272
302
313
302
335
371
360
284
379
344
283
238
250
305
310
385
376
315
328
263
318
289
334
298
327
307
353
311
386
285
334
246
206
313
295
225
237
359
291
336
302
243
286
250
290
246
330
223
357
339
301
379
307
350
302
352
328
296
302
286
411
335
267
255
261
313
317
305
315
387
409
281
404
341
344
288
351
208
300
315
281
309
243
379
319
336
382
382
400
274
342
251
319
239
263
353
286
387
273
303
295
283
311
384
352
281
269
338
300
296
353
280
247
307
360
227
256
238
255
320
306
366
305
361
277
310
355
333
282
247
326
217
359
318
264
367
367
333
365
280
347
323
330
284
357
261
383
394
297
333
338
311
308
307
337
337
363
338
297
251
330
379
324
250
282
273
315
354
267
283
430
294
246
259
286
295
324
301
304
283
317
321
302
350
318
281
315
318
311
257
360
279
377
326
327
347
393
338
387
351
287
362
346
291
339
408
243
371
265
358
344
379
348
308
292
272
248
302
320
273
270
333
285
292
323
389
319
235
290
313
299
341
310
303
265
330
369
149
270
327
312
391
298
317
333
400
267
298
363
319
337
378
280
288
231
254
399
356
310
296
321
329
238
329
341
344
350
318
269
309
391
217
335
396
234
333
341
326
287
329
252
330
304
272
343
281
327
300
249
307
306
322
300
268
317
242
377
367
340
298
401
275
324
325
238
298
285
376
337
367
378
354
217
421
302
308
294
261
288
351
283
324
205
238
364
276
246
322
332
293
347
308
262
303
310
354
373
266
275
275
294
335
391
270
352
351
381
323
342
315
320
298
325
332
330
269
379
341
326
327
401
249
339
287
301
302
332
305
306
330
288
302
388
349
330
293
279
299
320
337
328
351
367
280
371
344
414
281
248
358
337
327
387
390
279
297
324
288
337
219
327
328
343
273
234
324
294
345
287
248
293
326
304
341
376
220
378
243
328
345
363
371
300
326
394
288
271
322
252
315
261
320
288
267
287
341
265
330
356
319
260
286
310
347
294
321
299
275
310
325
324
331
319
353
343
407
299
362
341
324
301
326
361
352
284
326
334
275
335
297
325
319
285
271
355
347
283
314
362
261
352
305
232
411
287
269
201
316
347
292
312
326
292
322
316
323
296
332
265
334
363
440
392
309
388
258
283
355
272
332
297
339
253
335
350
252
284
345
381
391
357
328
327
260
325
404
343
377
260
301
355
211
278
227
378
278
317
339
270
338
289
286
316
331
304
336
277
322
369
286
315
356
354
371
307
383
368
284
283
304
300
367
295
304
267
339
308
186
306
341
369
340
266
382
332
307
257
347
428
371
334
248
407
377
337
197
327
318
342
327
340
329
320
340
310
282
309
258
310
308
241
366
273
328
242
333
325
335
277
277
354
281
410
319
329
312
289
253
263
306
314
295
309
356
348
338
255
357
338
305
319
350
287
288
320
376
322
334
285
338
375
309
293
356
334
278
323
308
297
353
263
391
351
357
366
384
274
341
267
349
328
352
317
366
289
371
351
413
246
278
339
310
212
280
310
328
301
282
317
337
328
405
227
334
349
396
320
292
369
324
337
331
362
332
325
324
378
280
355
355
392
256
281
340
287
229
353
292
280
267
303
277
311
297
284
333
286
292
264
302
324
346
382
298
351
378
329
398
340
318
370
310
387
293
224
300
305
323
290
292
272
349
315
367
330
283
305
344
260
342
347
256
310
333
279
352
315
352
349
379
260
380
345
301
387
178
335
354
380
217
391
360
305
358
421
324
321
360
275
194
322
277
334
260
279
261
349
368
379
394
360
315
310
350
246
336
238
256
311
295
322
356
340
282
348
327
296
297
322
321
293
320
372
301
280
313
307
298
340
281
228
319
321
322
366
357
350
395
283
292
333
301
298
296
296
331
337
309
285
354
318
308
315
222
319
366
312
294
386
316
320
315
364
316
368
321
275
360
292
305
261
267
323
341
265
286
326
335
343
311
269
218
297
317
236
230
329
364
272
249
272
322
357
326
354
307
326
362
430
347
291
340
355
357
299
354
324
299
394
231
401
314
335
221
315
298
325
311
296
321
391
315
256
230
287
305
326
306
263
348
355
343
326
255
245
239
231
360
349
399
264
326
255
333
318
332
273
402
297
331
248
344
195
287
258
333
325
279
295
371
308
290
322
322
256
281
286
283
240
351
297
282
315
290
275
324
261
337
264
353
270
325
281
375
296
265
348
372
220
350
283
323
402
353
321
283
336
335
341
303
325
272
356
323
293
237
293
334
434
328
299
338
244
379
329
356
298
278
325
342
244
240
322
302
364
326
307
336
327
266
346
358
292
281
352
360
392
295
194
385
317
293
267
353
404
293
267
384
410
319
385
228
289
379
271
294
342
365
297
442
279
272
385
351
309
363
341
306
325
365
270
230
276
279
187
349
415
361
311
318
271
285
326
272
344
334
269
360
250
241
278
271
276
275
350
353
262
335
285
329
365
263
218
383
375
281
283
354
260
338
274
329
336
335
286
299
383
407
277
321
305
299
208
353
315
396
361
300
321
344
295
229
238
324
320
377
383
348
370
332
412
326
248
310
367
385
309
303
351
271
347
299
321
265
354
359
276
336
370
330
336
339
332
356
318
271
272
365
359
322
338
355
337
339
276
277
317
232
349
274
339
305
285
328
346
344
228
332
370
305
311
282
334
293
297
294
274
323
284
259
313
363
355
345
383
294
308
334
315
351
352
268
324
254
322
314
322
384
263
267
315
306
345
310
294
268
195
280
376
268
333
240
359
345
347
289
255
384
256
269
259
273
296
366
364
372
368
262
304
225
378
347
335
358
303
379
335
390
302
330
310
257
284
307
316
345
340
329
262
177
251
331
307
367
279
238
298
315
293
306
322
366
257
302
292
323
352
327
397
344
424
357
309
302
255
344
340
340
307
279
428
391
365
347
349
393
294
246
306
380
328
214
353
327
298
316
399
322
358
326
244
328
314
294
309
330
306
346
280
282
265
298
259
305
337
310
375
241
225
296
305
318
306
410
274
342
334
296
296
306
306
334
378
356
372
213
264
216
321
288
273
387
360
295
324
351
299
332
276
311
236
357
347
298
315
361
277
259
301
239
333
363
306
301
238
393
312
334
371
328
378
271
319
265
259
285
332
339
388
325
320
297
309
328
300
288
233
334
273
286
402
338
284
321
252
351
255
273
342
212
258
267
319
343
346
411
406
322
315
326
298
346
327
259
308
396
277
279
298
364
332
317
266
263
257
279
324
315
255
398
389
314
322
444
300
240
336
376
314
268
327
358
298
264
323
380
327
329
256
342
307
335
312
275
304
291
334
339
324
325
342
299
399
400
325
284
358
274
256
247
347
327
262
328
361
305
342
224
318
385
358
307
321
282
323
308
264
340
236
267
236
338
337
309
347
247
329
336
283
347
322
330
319
313
327
312
290
261
298
247
339
250
270
306
250
250
359
348
300
305
363
282
326
363
367
266
319
392
270
333
314
317
344
336
342
294
249
384
352
315
205
408
270
342
294
327
284
300
237
348
389
318
294
306
319
267
273
345
301
282
333
354
390
341
346
357
188
354
267
296
370
381
329
346
244
303
310
259
324
312
372
292
394
316
306
291
300
314
242
323
333
292
364
372
366
312
249
331
268
255
386
362
306
417
288
317
320
348
305
221
351
325
282
330
336
275
329
321
330
303
383
284
326
260
281
260
293
338
340
190
314
263
357
314
248
307
304
317
254
267
339
369
294
333
219
358
331
330
348
385
258
275
284
318
281
301
305
319
313
258
370
260
340
282
250
261
269
310
217
254
366
318
331
344
336
224
301
321
374
316
283
307
392
311
353
324
239
364
330
301
336
296
250
322
345
271
325
282
322
323
307
230
221
333
316
271
307
352
327
312
322
241
383
351
326
320
262
314
227
284
371
307
187
303
257
279
323
295
322
246
246
371
416
332
269
198
327
267
296
324
313
316
322
333
403
382
342
222
292
343
275
271
381
411
389
331
311
371
368
330
359
263
260
393
317
307
354
356
383
281
274
300
333
349
298
227
340
334
350
265
330
352
312
316
310
289
376
319
276
318
298
273
345
276
319
313
324
295
348
264
322
360
348
284
312
266
264
341
323
319
314
243
369
270
306
381
319
345
400
322
238
335
303
330
367
275
289
346
328
308
379
278
379
341
391
356
289
351
358
285
320
344
340
300
286
334
306
290
267
396
370
309
257
343
354
323
321
221
270
376
254
352
424
331
291
300
181
364
343
354
359
285
345
373
295
303
343
250
305
400
332
365
361
243
316
338
364
303
326
288
326
358
345
323
341
338
317
267
353
287
295
348
307
326
288
271
343
273
256
336
309
313
379
334
256
230
339
312
240
281
236
258
326
352
340
369
255
346
389
338
373
340
331
219
369
284
334
359
261
260
300
376
278
280
316
317
350
361
331
248
321
416
317
287
333
384
247
404
306
269
376
283
373
286
361
332
316
333
276
283
326
334
341
327
298
300
342
303
324
323
219
353
304
356
335
342
299
417
386
413
268
359
341
250
307
317
260
339
333
319
363
321
286
283
314
286
326
290
317
364
354
261
345
308
352
259
211
336
333
349
325
323
337
394
298
333
279
283
424
311
306
368
255
324
298
286
211
290
368
301
338
316
342
250
314
301
329
337
292
322
257
347
340
385
432
245
269
309
374
273
380
292
379
276
368
375
338
325
277
336
350
383
368
370
284
323
330
271
273
310
284
389
313
340
291
226
304
289
265
323
275
301
325
390
356
349
402
324
384
343
358
303
310
270
297
343
326
318
308
349
246
277
290
248
398
301
271
245
454
305
296
321
266
299
320
352
281
230
294
289
314
359
305
267
346
324
285
355
294
412
311
258
337
247
320
391
238
303
368
305
315
314
341
279
294
294
305
315
240
280
357
291
330
350
280
298
323
355
341
307
319
317
341
319
337
309
253
291
415
367
283
295
385
271
336
380
356
385
298
400
360
370
328
247
336
355
379
193
352
230
225
225
295
347
319
273
284
326
281
355
309
327
301
324
244
325
314
340
345
367
294
307
342
303
294
348
358
309
352
324
297
307
356
340
292
313
265
321
284
317
336
354
323
301
379
213
346
357
416
417
340
357
344
284
290
310
403
289
381
267
263
293
340
332
326
315
250
277
332
300
280
373
289
342
305
363
265
254
346
334
365
315
313
353
327
312
286
339
353
331
257
316
291
375
398
340
283
373
311
301
334
297
344
355
299
269
391
260
286
438
218
303
271
302
291
265
307
370
269
258
302
353
263
362
365
230
363
268
326
308
267
404
353
285
324
369
294
317
331
297
288
347
387
288
359
353
327
324
317
321
321
281
271
325
267
349
373
238
244
317
311
290
257
244
353
351
320
325
313
309
186
287
322
247
424
306
350
321
337
296
246
282
341
323
327
225
326
278
319
354
284
365
334
279
238
373
255
293
252
325
340
287
241
299
343
298
280
327
221
393
368
299
287
278
345
290
272
305
372
288
332
304
373
329
352
287
264
262
379
345
319
366
360
327
251
240
344
324
328
371
319
374
323
316
305
292
308
303
388
270
292
228
360
254
365
271
300
390
386
347
305
290
327
292
294
358
326
361
309
386
244
246
357
352
216
322
210
366
292
323
322
279
342
380
238
363
356
316
358
262
307
347
326
288
307
263
287
300
317
397
288
316
282
381
376
324
361
372
348
321
369
230
277
321
379
230
281
292
371
271
282
321
309
266
289
286
291
269
341
186
341
350
279
271
321
318
329
274
308
239
304
390
244
223
232
319
330
255
311
247
320
289
380
317
353
362
380
308
283
426
315
286
278
229
344
270
384
262
256
316
320
365
355
276
293
268
375
296
328
345
259
394
362
290
352
278
419
378
313
308
332
288
269
225
279
364
340
292
404
351
318
214
245
290
385
323
276
354
316
283
343
328
336
356
361
326
358
313
359
329
227
367
332
291
312
274
301
250
254
273
286
349
331
291
338
363
315
310
321
312
334
309
368
292
307
260
283
275
367
295
279
331
338
373
324
286
306
287
345
341
334
351
280
291
341
275
306
259
368
276
290
416
362
371
311
351
354
333
270
338
378
278
379
363
409
336
374
338
305
293
383
304
329
329
311
429
377
314
291
346
342
338
373
381
272
284
300
319
286
289
339
327
324
363
335
379
375
261
266
284
345
297
343
368
239
350
288
391
281
252
254
248
406
295
315
308
367
311
379
337
295
290
286
290
322
318
338
237
310
351
303
306
304
338
394
362
286
303
281
236
375
307
225
276
314
312
313
351
341
185
289
316
357
291
340
419
362
383
336
372
352
322
243
365
345
287
333
258
371
447
256
350
434
321
314
316
375
337
224
398
373
346
286
280
288
317
305
392
347
393
374
261
327
392
309
274
267
193
316
327
302
354
279
375
298
255
265
282
344
318
332
333
327
319
284
298
241
304
287
331
359
352
305
327
255
269
359
288
331
372
374
312
330
354
307
334
219
350
275
349
277
354
284
280
352
238
313
281
263
318
357
282
343
282
220
314
392
247
354
425
316
224
361
388
368
284
304
308
399
320
340
339
232
274
285
293
370
327
334
228
328
356
337
338
344
360
281
286
403
354
350
379
324
370
283
365
366
267
337
312
348
305
243
449
267
326
266
269
293
291
293
343
232
298
242
212
293
349
428
310
382
355
304
247
367
313
307
366
346
308
324
242
309
260
268
343
323
265
282
324
230
319
395
301
288
298
314
303
359
362
302
311
321
332
265
350
274
296
306
280
387
348
189
393
377
320
276
354
360
308
357
396
237
289
220
247
376
252
288
330
346
367
242
259
410
270
331
271
304
397
309
315
365
294
351
313
322
296
299
383
409
408
329
359
285
247
312
303
232
345
286
363
337
318
338
296
332
360
263
235
279
264
352
374
371
242
388
380
238
324
293
336
328
354
345
274
299
326
313
295
294
298
282
291
241
233
301
325
312
349
268
277
394
383
237
375
328
306
249
286
244
377
285
334
279
319
334
314
315
346
319
331
340
340
359
285
286
322
230
395
364
328
399
310
388
274
342
328
320
376
283
267
388
362
351
336
340
381
303
247
290
276
319
303
331
307
266
368
356
436
288
291
359
306
311
329
340
279
340
306
266
280
298
330
268
316
313
301
328
318
281
329
327
301
298
270
307
265
276
270
306
319
263
376
291
354
342
318
283
274
347
252
352
292
347
291
264
302
320
283
282
338
304
302
245
363
292
276
252
317
307
315
306
321
289
338
282
271
348
309
293
367
331
282
368
275
269
302
341
200
203
288
377
298
291
268
336
269
386
278
246
308
280
342
390
353
357
332
247
315
310
348
290
316
366
396
355
311
343
373
341
244
241
328
286
241
276
369
296
273
343
319
359
308
313
362
271
402
298
371
251
335
307
317
303
280
309
321
401
343
299
276
355
363
333
359
360
306
371
345
349
331
347
265
350
311
429
287
407
329
316
272
320
341
300
280
358
342
328
332
330
299
267
296
326
231
280
299
312
299
301
300
345
414
282
272
338
336
357
240
363
322
293
354
308
320
319
274
313
310
219
308
321
305
310
336
353
398
346
286
315
305
258
310
353
361
383
273
328
306
352
365
335
301
352
386
332
283
386
394
275
387
338
254
256
315
262
371
346
316
341
314
247
361
243
295
355
350
345
319
400
333
314
335
255
285
349
281
314
315
338
295
298
324
351
347
305
289
329
389
275
393
299
371
237
294
286
235
270
330
318
251
370
350
334
305
317
313
331
334
295
307
292
257
332
285
317
312
321
272
256
269
267
295
347
314
351
335
264
360
288
288
334
301
301
330
398
428
247
247
235
277
279
340
389
359
255
317
300
385
285
290
301
327
372
302
387
338
351
407
271
246
383
293
227
276
264
273
242
363
294
364
325
253
229
237
375
300
284
304
365
318
300
306
339
262
223
390
326
301
324
348
328
423
305
388
229
474
295
332
340
321
276
245
343
338
280
345
321
305
265
360
323
381
287
382
312
272
338
411
393
312
326
322
239
306
248
274
283
282
254
316
334
314
344
310
312
331
343
334
305
272
324
374
212
372
287
343
330
307
288
350
259
276
281
386
341
323
408
318
261
344
259
329
306
298
279
229
301
301
288
312
321
344
262
329
306
320
274
330
253
358
298
306
297
338
333
342
366
339
367
254
221
244
337
290
374
302
292
292
329
230
374
305
262
335
262
348
311
334
408
325
302
318
316
307
279
312
339
423
432
309
317
341
282
302
281
346
395
318
285
274
295
292
270
349
268
298
270
315
276
300
227
295
339
288
278
347
328
248
292
311
319
284
263
321
261
292
232
277
294
314
357
302
296
326
281
316
255
261
322
268
372
305
201
259
367
259
343
359
352
353
362
352
311
341
318
348
283
235
312
311
374
363
263
237
339
275
318
297
322
311
388
369
330
272
272
294
410
317
223
306
332
348
282
351
282
310
272
336
309
256
353
337
297
412
210
291
343
336
294
265
312
308
295
381
288
344
342
328
268
382
278
311
399
277
336
325
302
363
281
295
374
320
287
341
351
317
340
302
268
265
221
263
285
343
386
275
310
398
342
296
347
315
263
294
364
286
348
316
334
229
331
266
278
301
375
262
350
333
363
295
294
314
323
281
349
265
343
339
361
314
344
267
361
309
351
265
309
267
273
247
253
357
340
204
386
350
310
305
350
327
294
345
272
359
349
323
353
321
278
347
335
212
225
331
279
313
262
251
239
294
352
398
276
279
359
348
339
275
350
350
326
339
351
311
314
305
299
301
378
319
325
225
338
277
274
350
298
346
233
305
385
348
239
262
240
473
307
331
430
365
282
274
287
302
334
293
291
258
240
273
331
331
287
329
319
300
269
324
310
313
377
326
281
260
367
420
243
393
313
281
354
303
347
350
259
277
331
408
270
359
314
378
286
279
298
415
355
340
271
283
314
336
324
340
320
294
309
272
320
280
318
343
299
314
328
355
313
307
259
326
246
327
373
313
351
336
331
362
326
336
278
260
289
308
358
248
412
364
289
255
337
246
256
373
247
265
324
321
295
286
260
358
369
386
254
289
279
300
367
342
271
305
339
368
308
320
362
231
365
368
455
293
259
294
345
367
320
294
289
300
330
301
271
277
345
318
299
389
366
367
316
361
310
297
332
308
345
311
330
276
380
274
317
317
315
377
289
255
342
278
288
380
392
304
359
298
344
280
193
308
279
256
297
336
346
256
186
302
373
273
327
364
281
279
301
298
323
338
323
343
348
259
316
354
352
320
294
288
364
323
364
235
353
354
397
353
253
308
231
305
322
333
411
339
270
221
275
294
322
283
245
262
310
299
268
365
347
331
343
346
365
299
349
316
303
368
348
264
343
287
351
344
418
267
271
292
381
356
342
354
288
284
277
285
375
373
264
309
310
319
298
299
334
328
356
360
272
325
216
338
226
341
343
327
238
295
309
343
288
350
284
312
266
280
343
300
306
195
268
303
315
293
290
329
334
366
291
311
238
353
340
379
249
399
310
354
326
312
338
317
406
228
295
261
314
321
375
274
395
289
332
374
268
340
249
288
345
242
356
310
295
281
294
364
324
312
296
354
348
236
314
306
384
333
307
338
367
310
274
317
250
305
348
347
272
315
307
340
328
334
383
305
210
324
344
229
308
286
352
337
287
317
265
341
386
386
326
304
268
331
237
325
349
202
341
363
306
312
361
325
361
307
368
335
277
259
332
270
262
289
324
336
325
347
304
320
337
314
388
329
306
307
339
307
322
250
356
331
335
288
391
332
305
372
292
315
269
329
266
307
247
304
394
351
314
356
327
418
319
329
335
262
266
347
364
253
317
309
291
398
271
310
300
357
323
293
318
345
350
306
319
204
278
315
325
335
330
249
319
309
381
401
263
364
314
330
339
329
313
297
240
327
363
347
302
250
308
264
344
322
332
215
351
258
265
353
370
273
315
371
278
291
338
293
316
359
276
336
280
294
301
316
259
358
299
296
332
263
334
269
268
292
270
292
347
257
294
300
308
276
383
426
298
340
284
258
378
336
353
301
337
311
368
271
325
347
368
262
263
315
352
298
354
374
322
276
329
368
276
343
287
338
240
291
287
348
305
246
297
386
320
319
310
301
339
382
329
372
271
309
326
315
273
304
365
300
341
237
310
318
344
372
332
318
329
347
261
340
282
385
352
348
367
220
336
353
274
367
352
395
338
262
248
331
318
336
421
310
350
359
251
324
273
293
320
319
314
301
266
301
439
321
290
333
325
324
310
333
335
339
274
354
322
356
317
324
337
271
270
327
247
345
289
228
276
259
267
304
340
333
270
285
332
333
272
319
345
342
287
313
252
342
367
345
307
386
356
308
336
359
315
336
332
276
265
367
291
323
271
389
317
338
316
367
288
381
362
330
337
321
256
316
346
269
291
404
340
292
308
352
362
308
259
352
372
379
283
379
285
378
328
355
254
356
292
294
295
297
286
324
326
322
316
242
312
292
269
363
277
370
378
325
279
330
350
305
264
344
264
381
364
274
287
257
325
227
300
341
246
305
449
224
279
320
395
363
349
368
360
393
281
329
228
316
401
307
308
385
314
277
224
293
349
360
288
374
347
353
241
282
421
342
190
325
302
285
265
308
272
251
299
287
361
282
289
341
366
335
320
353
269
359
353
403
378
275
262
229
279
296
385
331
334
292
325
340
374
252
365
352
269
374
320
333
336
221
379
274
333
378
263
344
378
346
404
322
281
266
282
346
372
290
283
300
361
345
310
343
251
329
296
314
339
347
285
294
301
246
348
354
272
300
383
376
238
335
310
294
297
325
367
386
345
319
234
286
256
251
313
277
331
271
273
313
347
318
278
301
285
268
359
345
336
330
299
282
331
227
313
291
309
303
381
320
304
374
362
378
271
320
306
299
320
334
340
352
344
356
307
291
381
276
404
308
367
333
363
373
277
293
264
296
335
371
361
335
279
376
262
304
382
324
280
375
269
370
288
346
299
317
416
402
327
318
365
347
342
375
326
342
342
353
345
314
298
339
290
306
327
333
265
338
285
215
388
245
287
360
375
352
224
312
366
309
229
368
321
339
338
319
423
380
350
294
355
385
270
343
398
273
314
265
319
290
309
342
232
326
230
313
256
358
396
262
298
362
319
319
359
388
314
294
327
419
267
312
382
354
370
262
395
227
324
267
238
317
305
302
368
363
313
333
247
319
348
313
337
413
320
367
294
370
332
318
338
281
303
375
391
257
278
308
272
309
324
273
283
288
304
321
358
330
317
313
293
393
336
390
328
272
318
339
312
335
286
240
339
248
354
388
296
263
267
283
344
287
285
371
310
246
343
348
356
297
276
333
371
309
383
347
300
384
365
274
365
385
266
298
406
271
256
265
262
266
301
321
331
341
280
331
318
248
330
341
344
368
268
343
374
331
241
369
349
257
296
219
343
218
224
353
342
258
259
372
368
371
255
274
329
369
315
357
361
375
346
285
312
359
297
292
341
245
305
252
256
354
342
318
344
308
338
311
265
336
264
313
317
388
324
284
264
384
281
325
325
372
402
309
239
356
338
318
330
287
318
312
352
274
303
275
272
309
376
338
336
324
344
267
296
291
348
325
330
347
362
299
264
370
298
348
289
297
250
435
368
272
278
364
332
339
293
289
341
300
243
322
303
296
369
293
365
305
309
382
307
240
331
351
329
338
319
347
248
335
270
347
338
318
268
316
416
320
274
284
333
330
226
297
313
323
402
269
292
327
322
353
225
307
387
355
293
293
284
332
392
338
355
348
354
347
299
405
342
273
290
342
322
328
262
261
256
339
308
312
307
344
299
340
279
362
301
311
294
275
240
296
333
275
354
287
310
328
320
249
311
239
239
380
339
316
255
417
322
284
318
345
396
276
312
321
310
331
387
369
339
259
307
344
426
321
275
264
391
314
294
251
402
319
326
383
316
224
285
317
363
314
283
350
292
352
311
363
258
276
336
392
297
302
372
310
345
243
322
304
324
320
303
385
346
343
290
329
331
314
279
357
356
274
423
291
391
286
350
381
347
285
394
319
332
312
378
232
238
297
284
283
284
271
288
313
278
306
271
405
382
357
340
356
349
365
313
244
364
348
354
368
326
336
331
278
326
254
314
298
302
269
316
294
264
384
346
301
230
356
384
389
291
319
298
301
337
331
336
281
387
346
359
285
368
353
282
277
311
269
273
283
384
306
296
330
255
330
313
247
349
306
373
301
384
359
272
314
318
296
302
286
290
341
332
373
306
338
335
276
257
334
278
318
298
265
359
279
310
353
370
350
335
236
354
338
301
322
281
274
314
296
402
297
258
209
395
354
385
371
318
323
307
325
299
317
365
274
320
324
272
269
255
317
252
322
294
252
339
336
355
303
341
325
331
263
276
336
307
300
343
302
283
341
342
382
307
388
324
173
362
409
316
304
350
282
307
313
324
308
304
262
273
357
343
336
310
358
327
326
294
406
307
309
228
309
250
321
365
331
315
370
356
297
313
335
280
333
277
310
264
363
316
330
353
298
257
383
382
280
306
219
337
394
387
249
341
301
321
318
368
387
343
279
307
300
403
296
270
243
337
286
282
270
309
357
396
316
257
264
298
278
287
337
251
387
298
275
257
365
374
256
359
377
318
310
370
260
309
352
346
309
315
302
246
380
334
290
345
356
262
366
317
339
305
351
306
267
359
368
249
353
329
352
309
331
303
345
331
284
268
323
319
302
263
363
398
288
377
255
323
295
317
407
337
310
296
287
389
326
369
247
243
338
364
423
397
300
241
266
307
379
277
341
327
247
296
313
458
261
285
325
338
302
320
324
348
305
344
378
395
345
317
358
300
279
281
287
280
320
367
317
312
338
303
280
292
304
254
302
299
270
276
276
357
225
242
313
314
337
370
318
341
333
346
264
327
395
331
347
263
298
357
244
316
326
299
285
338
341
260
334
301
310
332
239
309
284
226
257
304
347
353
296
298
239
363
258
323
298
276
307
380
278
318
283
274
300
336
374
309
350
285
409
345
326
283
337
311
386
358
326
291
241
339
306
185
302
314
345
346
320
290
346
298
348
355
301
296
301
209
273
243
326
293
301
362
374
341
234
305
361
327
279
298
375
296
325
372
342
276
291
330
331
386
295
291
354
294
285
283
302
299
355
329
319
316
270
295
361
317
364
298
290
265
309
367
360
392
430
258
299
331
318
408
350
270
365
432
345
263
325
308
301
300
301
295
306
341
254
300
327
339
266
328
340
357
287
290
252
297
298
251
298
357
377
283
262
328
319
312
285
304
379
331
317
274
361
263
330
284
322
251
348
357
300
363
346
280
331
279
332
282
348
368
340
265
317
356
342
325
353
304
363
358
279
266
302
275
302
229
340
262
237
348
331
293
341
385
342
268
264
397
346
335
279
313
327
351
297
283
309
390
281
343
277
360
311
254
344
299
334
319
313
370
338
330
272
358
310
328
349
367
299
221
282
384
244
340
384
285
346
222
324
267
385
293
331
412
282
269
301
277
363
268
372
292
309
285
316
333
355
318
203
362
329
326
360
279
365
273
312
349
320
239
270
400
343
310
311
383
252
334
320
229
384
324
321
243
280
332
329
347
311
285
312
285
332
300
286
292
313
326
318
320
274
339
360
290
309
338
273
348
326
259
290
348
341
297
289
300
341
279
306
273
290
307
274
340
373
250
363
302
298
326
385
299
295
336
265
343
327
268
355
257
296
337
313
311
274
443
233
367
351
339
336
282
286
332
295
291
269
259
329
344
328
322
413
290
337
295
342
401
405
288
389
316
307
342
337
291
304
321
272
366
399
305
370
367
324
290
269
264
296
229
339
355
345
324
295
289
322
340
297
315
295
365
254
352
293
214
284
347
344
336
374
285
363
389
300
340
322
318
257
284
235
356
350
268
344
323
351
250
302
328
362
332
265
270
318
296
351
230
317
388
419
379
367
298
336
255
315
393
328
271
349
279
344
389
363
272
322
261
214
296
232
349
351
289
388
196
277
368
312
351
255
296
284
330
266
314
299
231
287
330
311
293
346
380
285
314
356
234
289
334
370
313
285
317
302
314
300
363
277
393
295
288
395
360
288
361
310
298
238
244
313
314
311
335
323
310
395
316
284
295
240
346
278
331
335
325
274
246
286
295
274
361
310
347
325
275
298
388
299
340
278
334
294
295
298
291
357
310
328
325
361
211
383
263
315
249
304
328
270
317
243
347
306
296
291
391
376
306
304
351
352
357
269
373
307
289
212
244
253
396
319
372
312
380
268
341
337
313
331
343
424
353
331
343
248
338
328
267
335
361
366
327
318
302
327
347
331
298
315
350
369
223
313
236
272
286
301
354
313
298
404
339
280
301
321
325
336
364
249
342
387
338
314
272
289
282
280
266
275
194
292
259
347
375
340
386
294
310
301
350
321
308
263
344
323
310
364
250
339
289
265
386
279
287
340
306
232
306
316
319
314
345
327
341
356
295
415
292
299
276
293
351
285
310
375
378
365
279
256
283
277
298
291
418
364
188
387
281
257
349
190
377
276
254
334
282
281
312
370
259
266
303
279
287
260
313
350
247
233
360
308
281
321
301
299
282
390
327
331
374
309
306
293
351
275
371
261
435
329
333
232
316
345
338
443
324
329
300
256
249
325
355
384
273
276
314
309
332
351
354
330
343
324
311
341
322
351
273
275
334
336
274
344
326
316
314
384
364
395
313
351
284
347
312
251
354
337
377
308
309
297
325
242
275
284
294
238
258
331
350
331
323
332
227
347
345
337
285
259
367
377
355
345
314
326
282
316
352
286
336
288
393
281
362
321
253
359
327
400
315
275
348
387
300
294
270
281
329
332
351
292
305
351
296
288
400
327
341
283
361
334
364
355
354
307
296
323
328
307
375
340
332
333
274
300
282
339
337
282
227
360
337
362
277
324
356
337
339
289
373
325
268
251
262
347
322
284
367
320
344
337
228
329
382
258
415
338
254
278
290
300
296
333
359
340
323
235
308
315
215
335
341
320
266
305
348
359
404
363
223
343
278
319
310
299
311
351
311
325
305
322
302
265
314
303
391
354
346
279
337
343
315
290
327
276
432
335
276
274
321
313
288
343
324
386
285
335
314
238
300
280
251
286
296
331
305
345
362
338
361
303
354
351
333
323
333
281
281
311
295
335
363
289
354
291
345
328
359
249
309
361
344
363
250
294
305
302
317
410
251
296
299
376
352
351
272
304
308
366
269
343
317
290
323
300
283
310
347
331
312
352
353
317
261
334
300
362
300
266
330
334
270
345
266
352
312
321
296
344
298
288
290
286
249
338
361
316
253
339
362
308
269
362
271
382
320
290
315
334
272
267
307
341
376
338
230
378
337
283
346
315
304
310
329
217
260
259
299
278
270
384
353
290
344
320
344
369
293
378
337
320
240
266
382
320
243
408
367
390
379
347
330
405
272
303
299
397
378
312
362
263
264
319
300
409
304
301
262
339
325
275
248
299
325
293
290
298
374
287
360
287
356
292
294
350
314
326
378
287
331
287
364
343
199
326
278
351
353
286
296
420
240
293
248
278
308
290
367
281
401
339
344
300
325
349
330
296
284
301
238
377
275
260
311
260
301
290
303
329
312
277
297
289
349
367
217
373
318
255
328
307
263
300
383
289
378
342
256
278
232
259
348
294
356
329
280
313
345
394
349
251
343
348
274
328
323
362
335
350
294
359
187
278
277
357
383
355
322
306
316
283
294
313
277
327
316
370
318
279
262
255
359
293
334
319
344
278
270
389
266
298
365
287
331
327
297
380
353
295
319
321
285
301
362
292
307
329
366
284
301
272
244
256
349
347
344
299
325
333
335
329
413
237
338
362
388
265
329
345
370
365
319
328
339
271
235
272
235
246
280
291
334
261
354
366
343
291
278
347
320
241
302
403
267
423
296
344
407
251
282
295
359
304
304
434
364
218
311
442
311
355
281
299
272
254
329
258
300
247
355
400
301
266
282
337
326
263
264
309
369
277
303
354
346
315
301
373
322
270
272
318
333
293
291
272
297
264
270
277
364
342
366
228
257
277
305
339
255
307
302
225
380
377
259
325
286
399
366
329
343
307
367
332
321
342
353
370
213
318
291
353
297
275
335
283
233
263
312
305
348
288
287
333
375
336
256
301
325
363
361
325
391
220
262
293
363
338
281
280
361
311
274
343
221
309
330
380
392
314
279
281
250
277
299
399
385
383
263
290
289
330
340
351
277
279
384
287
345
352
304
364
212
349
338
373
268
324
337
344
281
308
317
309
240
323
306
279
266
257
277
345
346
352
321
269
368
358
357
296
342
238
289
350
362
368
304
299
320
276
259
225
409
336
385
278
303
362
380
335
268
320
296
271
398
286
379
278
363
270
320
349
262
334
303
309
301
305
282
283
280
364
286
384
395
292
317
272
242
250
318
290
311
325
371
285
280
305
359
365
238
328
292
331
330
302
369
209
267
320
236
357
282
356
354
265
354
338
292
249
378
372
357
288
342
326
309
393
276
315
280
327
359
310
265
222
333
227
274
239
301
329
347
270
307
327
345
305
339
292
307
260
271
324
237
286
279
244
319
310
268
315
395
362
265
348
266
393
273
260
284
314
246
330
369
313
312
333
344
308
335
380
318
316
352
295
262
287
271
363
346
293
308
285
372
433
375
299
339
403
377
276
231
261
321
232
256
268
307
404
294
307
297
321
407
331
308
369
360
366
371
327
286
264
227
398
327
289
339
338
301
318
302
321
357
273
337
349
201
360
380
334
239
253
322
222
284
271
291
358
355
370
262
327
351
344
322
299
400
298
313
269
308
273
345
302
337
212
284
240
402
248
362
318
351
339
337
300
291
350
334
364
280
274
316
353
379
295
374
263
340
330
271
386
222
249
368
344
290
372
316
291
367
322
310
313
381
262
321
280
292
321
296
345
238
277
386
299
369
393
329
293
263
353
379
353
405
208
266
380
310
252
334
353
361
346
281
258
310
369
379
344
226
247
398
370
404
312
332
264
336
315
331
368
355
288
285
354
255
257
312
382
322
239
285
319
304
424
397
277
327
306
312
291
319
327
325
218
284
374
280
248
355
283
265
219
392
222
346
272
340
272
265
364
346
438
394
370
280
340
287
388
396
309
367
345
302
379
339
297
350
260
386
327
254
245
294
348
319
386
415
293
323
295
280
291
304
358
339
301
364
298
342
328
268
347
269
373
323
369
395
283
395
267
255
326
361
335
283
316
288
355
310
287
355
347
384
335
340
356
276
277
386
333
336
306
341
397
324
319
303
327
333
332
345
296
230
213
345
358
318
255
369
331
306
427
310
337
321
298
302
227
363
329
290
342
339
295
314
286
348
397
298
268
309
334
339
315
380
293
333
242
307
376
288
383
259
319
298
349
256
302
277
303
296
361
331
340
374
288
320
333
324
266
230
276
310
296
305
335
395
318
286
299
327
346
279
310
355
374
378
339
275
279
293
392
350
318
310
251
323
297
332
331
289
277
386
366
241
362
335
341
340
279
272
202
265
319
333
302
277
309
336
220
386
313
280
330
250
308
311
313
356
353
274
253
317
348
280
280
352
333
291
238
302
393
304
351
301
251
292
258
421
256
222
364
289
364
263
302
269
283
350
352
370
218
295
368
339
344
241
299
319
319
285
356
298
367
291
284
451
288
321
288
338
265
265
290
255
361
288
303
305
221
315
291
320
344
245
325
360
292
272
368
368
319
321
300
337
258
269
269
330
341
319
286
258
308
297
262
360
317
314
341
259
378
295
353
269
192
362
254
354
278
272
357
226
247
275
264
283
323
300
261
293
279
332
334
286
253
108
234
314
337
228
374
282
348
211
293
363
313
318
348
274
361
367
314
348
287
264
334
324
362
261
321
309
321
298
257
292
297
339
219
354
351
375
347
354
328
330
300
352
356
274
309
261
343
269
352
349
292
327
269
290
285
351
257
310
298
350
342
305
374
360
350
295
262
358
301
319
245
338
386
276
259
321
257
326
291
294
353
336
339
361
330
367
308
322
260
317
317
300
342
343
389
381
279
256
253
306
326
289
327
291
334
277
322
305
330
327
227
315
247
243
273
242
355
289
350
330
323
322
244
296
300
331
359
243
195
355
350
303
332
279
436
308
361
309
297
317
311
347
319
341
245
287
340
316
346
253
292
361
272
284
324
323
262
280
269
301
228
251
335
369
400
365
177
328
199
380
283
394
276
314
332
276
381
381
335
251
411
355
251
354
302
274
259
308
263
315
279
330
193
315
257
321
394
285
334
337
327
332
307
303
379
287
333
248
250
262
266
340
345
324
278
315
313
313
263
307
324
300
369
353
338
319
385
328
387
329
313
316
334
272
359
392
383
291
229
285
343
330
401
367
245
319
241
353
354
240
382
381
370
276
363
316
266
299
286
342
278
303
334
320
306
256
315
303
261
332
346
219
283
305
312
344
260
297
377
214
329
329
349
239
262
331
333
344
295
266
232
352
246
361
269
375
299
318
365
262
320
413
312
373
305
297
278
299
264
338
284
283
318
350
381
344
341
416
320
255
280
280
241
262
259
219
379
261
290
358
354
424
336
341
301
301
357
287
371
412
340
318
275
335
306
283
242
267
370
323
317
367
281
362
298
340
275
321
384
248
241
302
317
285
381
267
336
292
379
328
268
286
307
343
291
356
284
356
314
239
336
346
300
194
290
341
339
378
256
359
291
296
343
321
295
207
415
293
359
307
292
266
267
374
258
375
351
297
356
321
364
248
347
356
384
347
353
357
319
343
388
360
309
292
342
306
244
372
368
324
335
356
334
385
329
325
340
267
186
309
407
369
313
340
347
349
320
291
314
339
304
371
263
348
357
335
370
299
373
311
284
315
334
324
394
264
356
346
293
329
331
350
356
285
299
258
364
346
340
342
355
309
364
303
329
360
375
333
311
332
296
252
363
299
299
253
329
351
320
253
264
291
398
219
268
233
325
406
323
242
298
360
359
344
283
275
286
364
265
330
342
338
347
250
388
323
299
293
298
303
288
398
390
350
386
299
330
287
330
252
314
309
313
367
347
307
290
339
379
353
396
333
299
327
337
360
372
278
342
282
352
362
344
365
343
319
305
399
400
353
308
357
304
344
332
383
260
285
324
320
365
336
373
347
310
401
328
332
330
342
386
335
319
309
280
343
278
350
327
310
325
283
355
227
297
238
318
416
300
368
335
397
366
314
367
312
342
270
341
298
285
313
322
311
372
339
380
346
273
301
343
328
295
288
252
277
281
300
274
322
346
314
396
288
334
271
315
298
299
371
366
356
348
333
345
292
257
358
246
231
362
278
304
323
293
292
335
200
338
287
310
274
345
261
368
318
408
348
302
287
324
312
324
321
350
286
293
302
254
332
360
374
307
341
349
339
342
355
274
321
366
291
400
274
334
305
374
272
316
378
282
281
287
232
350
285
252
414
359
346
362
230
293
295
351
247
380
275
318
319
342
346
294
335
258
304
279
390
336
356
271
304
341
354
237
305
334
263
344
305
288
336
307
328
323
320
318
241
390
322
301
221
357
311
299
281
309
334
351
269
248
357
243
294
283
350
341
241
355
346
271
379
368
315
295
299
282
322
289
309
248
194
308
327
261
425
323
268
304
306
260
337
356
376
299
336
373
282
346
362
274
293
363
269
334
285
274
367
272
326
383
390
297
336
362
391
374
273
380
283
357
261
329
321
331
315
319
422
350
306
340
322
401
267
314
354
333
282
285
327
337
304
324
294
358
332
306
294
294
399
347
322
311
275
334
315
367
376
365
325
286
325
320
264
353
391
257
298
274
332
325
300
316
317
353
283
287
307
283
318
304
368
363
351
419
324
247
326
338
307
300
278
263
434
289
265
308
305
367
347
268
345
362
312
245
353
346
284
387
324
315
330
312
334
203
347
304
327
361
323
331
291
312
333
316
269
235
317
323
259
397
391
293
337
328
306
347
258
265
274
323
345
266
287
295
291
399
261
311
275
356
375
375
295
322
341
317
217
329
315
376
265
333
384
254
286
276
368
369
295
353
324
307
362
308
383
351
341
340
247
316
335
250
204
344
406
239
331
335
264
350
305
319
332
273
276
288
263
292
360
301
336
301
359
341
311
311
295
270
282
332
236
312
370
307
262
361
358
309
296
281
267
325
348
376
246
413
215
291
333
364
348
267
287
284
289
260
276
311
237
322
341
308
287
301
317
329
249
317
300
291
356
292
231
278
329
280
300
375
256
197
273
327
282
261
326
244
297
306
354
362
224
416
318
282
288
264
333
336
385
294
302
277
334
316
218
296
225
224
279
334
275
298
272
370
276
333
320
341
337
325
309
246
317
288
266
334
356
368
286
319
299
314
362
315
247
292
339
316
349
324
345
351
314
364
384
354
376
320
342
333
295
332
295
261
267
314
271
342
375
219
320
270
240
314
302
255
322
362
254
325
302
262
271
370
309
257
299
351
296
330
370
228
397
269
341
312
277
366
340
289
232
273
264
358
296
257
332
319
329
256
314
256
350
256
324
296
306
260
371
387
334
288
317
278
276
381
277
245
327
399
279
275
300
251
306
220
277
307
361
288
274
301
384
228
256
312
332
274
362
279
239
344
338
354
273
249
372
307
329
379
417
257
347
319
271
265
336
283
340
240
267
322
221
303
340
278
295
273
337
286
370
312
367
313
286
326
303
238
319
324
331
320
319
373
348
281
311
309
386
230
340
316
345
293
387
219
304
282
313
271
349
355
335
319
302
270
297
310
243
294
371
313
351
314
303
300
266
261
315
295
283
256
299
291
335
341
334
269
229
338
311
305
268
287
293
283
260
385
357
320
328
260
356
290
407
349
338
299
299
358
383
312
340
341
274
323
309
319
299
309
298
305
265
279
349
353
305
327
279
253
332
197
271
302
286
358
353
334
301
337
392
323
285
326
315
385
283
313
385
255
337
283
284
275
315
298
296
372
362
365
321
354
327
279
284
335
310
351
291
322
291
311
256
304
305
295
382
331
394
284
306
215
373
289
316
355
312
306
332
332
318
400
279
210
294
333
232
302
256
274
296
365
347
315
354
364
360
316
317
291
278
332
230
314
326
213
293
305
300
302
321
236
269
284
309
398
308
320
307
182
321
264
333
394
255
380
378
382
361
359
304
346
322
278
339
251
408
292
251
344
230
265
381
220
361
389
348
278
300
300
229
289
264
317
319
229
316
305
353
206
336
276
321
241
368
314
297
336
341
309
343
381
322
390
300
297
258
351
285
279
316
356
246
350
323
368
363
257
324
258
272
303
216
265
297
286
292
352
317
276
298
229
305
197
371
279
264
308
302
277
278
283
297
319
312
298
339
356
309
350
243
279
350
362
258
311
335
301
381
390
377
343
324
329
344
273
326
335
365
273
301
355
283
215
328
303
362
294
363
398
343
282
290
244
289
310
281
328
213
337
415
327
358
398
378
318
349
292
243
340
264
386
248
344
302
284
361
256
268
329
363
310
322
320
334
348
319
291
306
376
314
302
322
364
310
333
212
299
281
385
215
364
346
289
291
266
371
393
320
286
324
318
317
353
347
225
280
327
251
240
320
359
308
338
268
310
334
299
268
270
338
237
236
282
322
271
306
321
285
264
318
329
327
257
372
315
231
336
327
315
276
370
342
357
340
373
286
308
317
306
327
246
352
304
311
332
344
287
332
345
240
411
332
364
347
371
289
283
338
311
285
320
221
383
197
348
269
362
290
258
425
345
347
273
346
319
384
309
302
293
353
302
322
329
322
241
322
371
258
293
307
195
337
300
258
324
302
315
302
382
335
257
313
389
299
361
331
317
348
332
347
346
320
288
250
267
316
315
316
310
314
307
369
362
236
312
323
277
329
338
356
266
365
240
296
259
329
323
417
257
300
389
295
361
308
292
297
330
357
283
270
263
291
367
394
270
299
309
343
261
220
326
341
329
275
307
262
326
295
355
326
233
418
224
351
323
326
344
259
387
347
378
344
330
263
215
422
291
271
313
314
309
404
321
333
281
303
342
262
334
287
330
280
386
247
375
403
368
367
260
339
370
299
292
326
284
354
374
307
248
358
248
353
312
333
402
319
306
326
258
285
340
291
383
384
365
327
283
252
332
310
299
302
347
275
270
255
308
302
314
351
282
295
255
312
368
278
247
459
369
361
294
357
355
266
320
365
312
279
300
268
277
218
329
221
370
272
323
217
312
302
257
358
337
292
320
293
313
285
252
300
309
238
286
245
267
260
357
352
357
343
302
328
350
307
317
247
333
309
410
329
396
354
292
250
360
347
256
372
277
345
267
330
280
301
333
298
270
330
280
276
258
300
316
306
322
206
368
225
295
402
283
305
322
262
347
328
347
283
408
293
306
255
333
302
372
350
311
384
342
316
262
381
345
321
309
302
324
282
345
320
357
353
314
363
310
335
267
359
391
229
364
308
293
368
306
340
306
358
260
372
267
320
290
330
381
298
298
324
269
347
311
350
276
420
292
393
318
301
352
292
368
335
277
304
340
309
294
310
265
335
334
333
325
266
275
290
347
327
308
290
335
250
264
339
322
367
388
323
370
284
258
284
341
368
321
308
337
353
303
257
159
237
291
416
355
254
334
352
288
343
255
335
336
255
291
349
304
345
295
312
322
352
317
349
311
295
313
301
206
288
264
333
327
293
272
374
347
359
242
339
341
338
356
301
342
411
303
246
305
387
346
311
364
376
344
265
319
316
313
295
346
340
354
285
290
383
375
321
340
223
278
306
363
287
334
321
284
244
271
336
293
274
341
353
335
321
337
303
251
300
324
387
321
305
408
262
281
282
334
315
293
371
336
322
321
235
260
330
270
327
265
269
336
266
209
326
272
266
217
382
395
309
395
337
327
333
294
379
319
333
257
256
334
213
190
331
336
318
264
328
292
292
332
303
316
336
284
379
317
223
393
319
387
260
365
264
333
369
358
244
325
335
269
316
295
317
374
358
327
289
337
331
346
309
305
341
261
408
327
348
244
293
346
341
373
335
338
265
341
341
261
355
308
311
314
331
293
375
331
329
221
407
258
377
290
255
289
341
289
344
285
329
277
346
271
305
277
304
330
273
338
306
304
283
315
324
280
300
254
227
293
340
324
285
330
318
291
252
290
329
323
282
287
274
285
239
356
261
310
369
340
308
259
333
325
329
310
274
270
339
270
288
295
304
288
353
293
295
392
342
242
278
277
304
306
374
249
295
415
279
310
294
293
285
302
332
305
307
369
306
364
323
372
347
283
295
296
325
382
354
350
369
349
277
348
315
229
241
210
343
268
377
189
306
232
281
291
385
327
303
354
363
287
295
315
314
309
227
241
264
357
321
218
321
298
332
320
310
284
230
323
290
341
297
367
253
292
323
319
255
245
218
266
300
311
298
301
358
338
356
368
267
304
227
271
323
325
284
289
370
268
342
274
364
349
266
280
351
330
343
323
323
264
317
395
342
358
317
268
295
379
307
335
308
403
284
340
278
307
365
392
256
347
294
282
381
293
328
320
270
276
363
294
351
323
314
232
346
308
310
299
331
301
316
250
287
301
342
328
289
388
259
286
254
353
272
295
367
270
296
370
373
268
361
355
198
290
281
298
306
325
271
314
270
348
275
292
333
395
283
341
410
252
398
161
329
236
403
363
343
322
337
270
251
326
262
349
289
336
344
396
320
309
298
366
328
343
291
358
321
374
338
382
333
257
336
268
353
392
334
323
236
345
333
278
372
271
291
378
247
327
302
244
284
299
299
321
314
281
317
346
346
216
158
297
342
259
272
262
345
321
292
304
382
304
403
331
308
296
286
312
343
404
348
306
363
231
308
364
268
325
240
370
354
284
330
298
266
266
201
322
313
303
366
283
372
342
373
339
300
377
339
356
418
347
329
324
363
331
317
333
263
354
356
363
312
287
335
322
301
254
321
322
379
290
357
356
331
331
373
249
358
326
246
194
242
337
268
257
318
312
441
364
358
254
353
329
263
356
368
366
338
342
364
278
276
333
317
278
384
340
373
304
387
285
271
328
264
363
345
322
354
265
347
318
269
369
315
311
284
341
332
348
226
364
310
367
326
354
386
294
298
294
372
336
364
361
274
389
312
328
261
278
354
312
296
366
284
304
266
344
244
272
310
193
275
312
359
328
311
299
348
276
294
271
272
292
368
313
285
229
309
371
322
246
282
368
346
298
317
292
369
341
399
281
336
345
333
314
377
374
322
234
325
273
332
306
283
389
292
366
314
320
257
346
319
312
286
303
352
358
344
284
367
331
364
297
266
321
244
333
281
276
217
266
265
305
324
319
296
365
293
318
232
363
278
283
286
278
340
218
341
275
354
328
340
345
282
285
345
307
345
318
364
355
372
289
275
349
322
188
307
320
177
291
342
358
295
334
344
332
331
283
241
323
321
374
343
329
261
254
331
289
320
251
289
380
420
222
322
302
333
355
294
295
297
275
336
314
333
345
236
325
288
337
321
355
380
276
263
331
318
378
239
331
396
332
284
323
249
322
329
304
199
339
216
358
256
302
317
333
346
263
332
284
410
333
316
345
307
295
341
307
323
215
243
222
369
328
347
354
318
355
314
389
287
371
383
324
278
270
277
372
311
321
312
320
216
294
335
315
338
314
350
298
318
333
333
348
312
340
269
338
307
308
312
338
306
330
265
292
244
263
333
325
257
244
344
276
289
347
243
266
262
333
389
294
313
391
217
297
319
289
342
277
260
332
366
255
329
248
202
353
312
264
352
324
255
254
246
368
346
301
286
377
316
286
378
412
268
268
250
341
309
319
248
315
346
302
205
309
359
315
358
318
313
306
360
334
255
296
337
263
296
319
315
348
386
253
313
384
320
416
303
344
347
274
320
359
325
352
338
275
299
335
289
253
318
327
331
352
398
294
308
260
242
307
329
265
357
245
319
297
304
398
326
331
362
325
386
357
341
288
332
317
353
290
332
380
300
353
305
317
226
334
310
331
379
337
285
289
314
324
304
275
281
322
330
360
254
348
331
279
346
370
330
342
287
245
397
253
294
288
258
357
363
290
317
349
280
346
293
307
258
234
300
338
323
341
324
371
320
382
299
317
292
297
386
276
340
333
268
229
258
315
264
345
298
330
290
403
338
371
360
299
283
408
335
311
286
307
244
407
420
329
337
304
288
298
286
309
307
280
278
252
399
327
285
346
317
356
264
278
313
336
263
274
337
285
295
339
326
304
357
352
283
297
327
320
353
383
347
286
286
347
294
322
329
416
319
266
315
373
312
289
374
270
317
306
297
314
276
341
251
298
250
322
294
320
256
261
256
300
308
288
254
331
321
270
374
275
312
244
203
365
283
209
354
285
265
308
356
316
268
257
248
350
329
323
305
348
335
339
340
348
432
249
327
331
322
353
276
365
372
276
284
334
280
295
286
191
306
263
199
239
304
309
348
361
374
360
296
256
317
270
288
324
338
350
319
324
327
321
279
327
372
257
298
286
293
326
341
309
383
309
253
279
336
325
367
289
372
371
360
294
331
357
271
339
413
280
290
370
346
293
271
330
376
372
296
303
236
307
283
330
361
339
340
346
275
345
351
342
250
329
255
235
379
269
347
290
385
271
288
378
360
257
395
362
352
225
327
306
351
344
283
326
295
304
241
365
315
317
312
335
282
370
321
327
335
294
336
340
268
293
341
240
344
247
288
305
303
337
264
304
305
335
316
368
322
379
325
334
275
350
336
272
266
265
275
373
282
273
343
289
274
359
208
327
298
323
341
347
286
324
277
291
287
344
362
292
291
332
371
305
350
280
331
365
351
312
321
305
324
386
299
328
390
312
256
367
271
306
301
289
279
257
295
322
309
335
277
186
321
304
328
331
294
287
378
293
342
343
325
283
267
290
265
319
279
237
313
342
300
312
323
335
251
247
351
334
334
274
329
263
322
373
335
345
327
250
251
383
359
318
341
336
276
290
342
367
315
277
369
344
305
358
287
319
321
299
297
314
299
276
310
270
330
293
337
278
322
251
320
300
322
295
392
276
334
318
260
277
286
305
340
448
402
320
314
371
322
326
344
310
229
355
313
414
327
255
324
355
292
257
354
201
381
326
202
368
337
308
397
316
261
323
278
340
313
319
319
264
276
218
294
296
263
294
314
389
335
313
318
330
379
334
395
239
277
379
301
311
348
319
309
253
253
246
319
322
270
275
308
335
304
224
352
331
286
261
370
316
329
327
363
271
331
442
334
289
355
309
359
338
248
280
258
300
315
357
362
383
389
252
305
280
323
380
357
338
338
278
411
284
316
318
306
336
273
183
304
437
316
342
297
342
305
325
351
330
320
344
285
266
265
273
284
326
263
337
356
296
356
297
285
328
299
320
224
195
334
334
372
291
321
309
338
346
381
340
299
365
294
320
320
327
300
398
334
289
288
254
294
383
278
367
273
267
351
297
319
322
298
369
318
369
352
339
311
202
321
231
269
306
339
269
335
273
329
301
240
319
433
318
207
408
255
299
316
259
392
375
289
378
275
329
372
328
388
310
281
287
279
309
375
227
363
248
386
323
324
323
267
338
370
358
340
374
291
344
248
341
299
226
266
314
323
325
298
323
398
400
379
360
285
291
271
315
325
344
381
345
318
270
367
341
356
325
315
339
355
331
279
305
328
366
356
326
350
318
330
289
305
404
382
378
339
315
367
317
299
267
322
318
241
326
372
299
284
253
380
347
321
317
342
397
253
321
347
284
352
334
333
316
370
319
380
345
330
292
309
265
356
263
313
227
208
347
305
321
316
289
315
246
376
404
257
333
338
305
288
259
323
263
340
338
367
303
264
214
345
287
353
340
290
204
325
304
357
267
267
356
321
301
259
354
370
316
354
297
388
228
324
343
309
249
309
363
321
253
316
433
245
254
362
311
361
358
241
314
308
331
339
413
319
316
286
292
269
315
361
375
349
315
243
232
227
331
308
287
311
240
355
242
326
296
288
329
267
290
285
374
250
277
432
331
294
315
379
265
317
364
365
336
342
340
334
421
304
347
276
334
381
288
314
318
349
370
319
287
270
352
302
290
289
316
271
294
375
342
318
273
285
329
327
292
290
289
333
280
349
331
268
290
360
349
309
292
246
330
241
330
306
357
250
265
379
308
309
336
295
293
341
302
313
235
300
332
350
310
306
297
336
321
288
308
211
378
314
348
264
269
336
377
350
322
338
286
327
315
258
364
315
233
324
343
255
384
312
383
379
330
301
290
295
339
332
341
294
333
340
348
329
339
416
299
353
307
228
291
341
298
324
258
325
317
321
346
248
334
327
345
287
379
223
300
295
256
330
352
250
322
354
326
256
379
336
291
348
348
340
314
280
334
304
328
340
412
329
384
329
348
314
352
313
317
329
314
273
283
342
319
206
218
375
210
307
375
327
347
302
376
294
302
317
341
356
294
412
352
360
313
388
301
272
332
358
267
330
382
351
292
294
363
314
277
373
357
356
389
337
284
222
339
302
261
352
390
324
240
212
362
235
299
261
344
273
292
278
340
357
364
293
267
285
279
280
211
364
325
382
337
342
367
311
300
344
318
287
355
327
342
317
336
322
344
353
334
315
364
385
278
330
366
291
299
312
258
376
277
267
398
295
362
255
346
337
422
270
222
318
334
331
358
291
321
318
383
303
345
223
388
277
317
220
303
367
255
332
383
330
344
308
302
372
267
270
355
299
342
266
330
354
325
321
352
417
297
262
318
309
352
281
302
241
360
243
362
303
410
298
283
398
285
411
341
311
383
248
290
356
387
337
292
307
382
359
238
325
298
369
340
301
291
302
302
323
322
331
333
366
326
372
325
338
265
347
304
329
314
308
335
362
288
304
319
307
287
312
349
316
285
302
301
310
222
336
308
323
253
296
362
349
322
365
236
353
305
333
315
354
223
325
377
355
308
246
375
314
352
215
310
346
235
274
390
275
313
392
272
376
376
292
419
274
303
264
373
180
288
368
346
236
309
301
365
249
227
256
319
304
304
308
282
298
269
359
286
300
324
253
301
368
323
243
255
317
343
308
251
279
353
286
271
357
289
298
288
362
257
281
233
360
348
323
327
278
344
291
295
364
273
267
319
322
326
299
392
288
285
407
242
369
307
256
299
258
331
319
367
260
393
257
267
358
337
276
413
332
368
360
300
256
308
334
292
317
336
347
358
300
272
312
409
343
318
270
210
296
338
250
337
249
318
293
297
350
284
309
329
358
215
266
228
273
399
346
304
329
319
292
316
376
285
311
278
324
287
319
338
296
332
243
316
306
308
309
288
304
238
339
331
299
369
271
278
325
352
302
245
312
286
256
332
364
312
309
283
261
316
269
311
301
337
337
232
361
328
309
355
338
303
237
335
317
286
295
331
317
355
311
302
333
353
237
276
349
402
374
261
297
353
303
255
197
294
372
310
324
399
288
303
355
324
349
332
275
314
425
261
352
354
280
259
379
286
310
356
381
255
366
353
328
370
328
307
240
257
252
288
243
303
280
329
229
372
329
330
398
283
251
324
361
296
290
297
299
330
366
308
321
369
343
354
240
417
371
313
314
333
322
342
288
265
364
387
331
349
335
273
283
290
313
341
250
303
373
321
346
339
333
340
343
322
288
310
300
203
215
353
277
328
290
360
343
261
321
339
284
272
269
295
344
262
305
279
384
278
293
391
303
336
375
313
292
305
383
293
262
330
293
339
253
347
317
295
378
280
409
283
315
348
316
347
385
322
168
331
321
335
310
327
322
293
264
346
402
313
422
338
340
268
271
233
235
350
227
345
340
382
329
260
292
313
323
384
297
304
284
281
342
343
186
391
379
303
338
276
326
325
268
263
398
352
274
300
314
351
281
289
288
338
268
265
303
332
405
341
281
320
349
294
304
362
255
321
242
303
305
367
325
351
372
301
260
348
257
300
282
348
371
373
277
336
304
324
321
356
279
337
305
303
364
347
355
269
307
334
298
298
311
287
349
375
389
393
316
319
352
367
347
351
324
321
392
329
227
326
305
290
383
259
292
298
311
361
275
279
261
324
282
281
301
386
326
282
228
314
282
279
314
342
253
288
346
336
414
322
416
295
313
318
382
326
412
266
344
282
307
269
324
263
302
369
329
322
264
304
289
335
341
385
309
333
343
355
342
302
263
271
284
249
369
385
312
242
272
247
350
372
325
384
270
264
281
278
328
370
251
332
424
301
368
315
347
251
295
307
305
334
377
220
264
316
333
306
346
230
351
332
315
378
276
322
321
261
388
315
376
295
272
227
340
251
378
366
343
352
270
282
307
279
275
355
331
314
332
353
234
380
247
382
353
345
317
278
292
301
383
354
335
305
336
290
354
212
371
299
362
382
319
356
414
319
321
278
349
332
366
315
316
320
336
297
253
294
329
331
351
294
263
349
308
236
350
284
309
372
319
294
377
288
237
346
315
318
309
375
260
344
384
265
243
288
248
352
275
313
370
283
346
255
287
366
358
304
311
371
325
321
325
297
260
354
288
352
233
343
271
265
311
331
391
290
338
288
327
367
358
338
301
278
259
334
314
291
305
297
317
385
354
333
346
287
231
310
329
340
311
228
336
305
280
294
332
280
326
394
309
316
300
283
284
349
363
356
249
308
303
392
313
305
322
299
334
338
324
255
266
282
287
344
299
369
317
333
242
339
374
305
354
290
426
284
357
328
265
278
346
292
363
327
382
338
288
342
306
238
333
252
347
411
315
345
356
333
351
353
393
376
284
299
351
363
342
256
323
306
324
308
397
233
268
289
359
241
343
257
331
265
369
305
271
364
216
304
305
289
342
310
364
366
253
305
348
269
319
301
383
285
310
313
306
403
336
342
336
311
299
280
320
271
312
308
280
312
320
366
302
253
242
281
349
218
342
287
298
319
254
315
308
328
217
338
267
207
338
378
337
272
357
266
330
401
339
330
346
317
316
311
321
308
370
296
312
279
250
245
284
285
370
308
306
194
349
323
291
311
362
314
330
334
245
385
269
287
375
262
308
289
247
326
276
358
350
236
262
301
228
258
358
374
387
335
329
281
373
329
357
369
366
372
363
345
290
334
323
261
332
372
290
272
283
335
303
273
356
348
213
268
282
296
329
239
342
321
319
347
334
299
273
331
335
307
332
318
375
355
309
317
330
275
344
346
286
248
339
364
324
353
225
312
275
348
351
404
350
266
293
393
386
325
359
293
291
308
294
293
251
276
344
331
346
331
323
268
295
355
350
319
345
284
304
293
321
213
299
343
368
295
264
370
311
319
361
259
338
298
295
330
294
360
282
325
293
403
318
328
258
334
300
274
283
264
356
254
318
352
387
323
327
264
278
327
356
279
311
311
351
292
325
330
385
276
276
354
241
300
339
264
294
314
297
339
367
360
329
284
320
332
263
360
280
352
408
278
311
246
363
285
299
344
320
293
309
287
276
327
289
281
348
326
248
382
308
316
359
292
380
321
312
292
262
385
204
249
384
308
372
294
233
322
306
292
307
301
314
303
368
292
311
304
313
369
269
341
368
349
305
342
291
245
255
334
302
310
294
397
337
350
378
293
424
321
346
322
322
319
385
318
289
350
319
397
270
269
383
292
363
342
338
273
289
271
235
360
295
315
245
289
224
233
312
321
259
327
323
235
273
376
362
325
297
253
313
304
319
420
307
260
355
334
240
247
270
249
312
315
280
287
347
334
298
352
261
341
310
265
270
328
257
310
388
326
301
229
358
372
303
345
380
293
310
336
342
362
348
367
265
246
302
327
242
271
287
379
293
311
256
276
263
252
357
422
337
346
376
278
351
312
280
343
248
390
274
322
274
312
356
330
252
260
355
331
276
307
305
357
384
341
362
330
334
368
371
343
288
318
328
180
423
368
357
269
309
228
336
275
304
351
284
268
349
352
335
286
285
291
409
429
363
309
251
315
299
311
315
317
325
377
258
321
400
311
242
367
271
303
271
366
254
330
292
310
343
330
391
294
354
367
270
334
287
334
289
259
319
271
359
305
329
314
328
289
286
367
404
345
324
326
363
324
378
324
313
324
272
264
296
341
359
271
372
319
310
353
331
322
363
365
253
336
254
286
338
314
301
329
346
295
267
267
292
346
275
311
242
293
338
315
335
321
341
331
321
305
327
402
354
331
328
302
235
270
357
252
323
363
349
312
238
317
332
341
336
421
273
417
313
342
274
330
337
347
438
259
279
339
303
311
308
272
299
256
302
340
345
347
353
354
359
286
335
292
266
262
294
378
323
384
309
270
265
264
252
277
305
347
330
362
339
306
270
289
321
325
361
298
346
309
282
241
318
341
314
323
291
303
327
373
328
339
364
244
310
269
292
311
305
369
351
335
253
347
268
357
354
352
337
318
282
216
313
339
319
294
373
293
367
339
361
303
261
357
332
302
322
304
257
331
311
221
353
375
329
343
345
333
278
276
281
339
383
305
307
275
241
335
294
268
344
314
243
313
340
365
349
346
284
262
320
245
280
358
274
166
314
309
310
323
300
267
306
296
309
305
290
354
299
292
341
310
258
312
282
306
264
308
366
399
292
385
330
363
333
287
304
273
273
313
314
341
305
375
329
286
349
328
348
279
285
215
270
324
366
376
283
344
283
358
383
333
308
288
368
304
303
317
421
333
346
370
233
369
344
329
249
351
307
341
231
253
346
308
328
277
245
358
382
367
326
286
331
338
260
427
278
288
371
302
335
292
298
267
334
336
357
334
245
326
247
301
326
323
243
320
290
296
392
304
283
327
383
283
319
351
286
297
355
313
380
373
321
264
341
309
350
295
363
291
355
278
298
302
313
320
367
385
358
275
378
338
344
241
307
317
302
323
333
313
327
276
362
333
258
309
254
305
259
327
340
412
302
284
236
296
319
331
351
382
343
255
315
365
304
240
322
324
299
294
274
248
243
376
314
293
419
272
333
356
335
315
377
346
284
190
242
318
287
257
302
393
304
332
331
280
325
367
315
339
344
312
292
302
241
387
328
327
349
338
401
285
208
323
331
288
366
141
362
400
291
311
356
417
320
301
355
288
339
275
319
340
391
339
336
310
329
261
270
261
297
293
347
317
314
323
322
367
368
303
352
291
258
324
311
330
342
267
326
267
283
368
283
296
276
301
356
363
379
288
323
283
310
380
283
296
369
264
335
349
353
360
303
285
331
299
256
370
406
343
287
375
313
313
312
238
307
241
330
279
266
387
294
314
338
383
302
337
325
335
335
325
310
348
331
301
327
328
272
264
356
330
249
350
267
291
364
318
288
237
278
311
335
226
339
299
299
320
315
293
294
318
351
277
341
331
311
298
251
311
307
296
332
307
336
334
290
353
339
168
386
329
352
253
281
385
332
260
319
317
332
300
306
356
338
266
295
296
360
282
306
300
288
370
313
271
362
286
310
273
300
368
308
312
300
349
328
255
347
318
312
286
291
270
306
288
233
288
281
312
341
335
306
286
281
300
401
358
374
350
422
342
362
400
290
327
317
310
291
194
357
421
397
335
408
351
333
299
367
363
325
331
256
350
322
338
258
338
370
390
313
325
348
341
304
287
330
279
283
273
418
276
360
318
361
309
285
345
290
286
356
276
290
262
353
388
244
362
325
309
350
361
326
349
333
365
298
381
358
342
341
239
304
296
313
359
380
280
315
277
336
318
256
345
321
302
277
341
294
252
293
283
337
340
219
282
225
269
375
391
324
307
318
334
250
261
339
360
356
351
294
343
330
327
325
385
217
367
358
309
289
347
299
358
287
314
331
344
237
263
327
312
347
277
322
245
365
338
296
371
392
389
338
389
298
298
351
370
332
286
302
388
261
337
288
300
290
296
240
388
267
271
284
320
321
380
315
254
320
354
336
353
353
343
319
305
290
230
296
357
237
303
304
326
269
271
300
248
283
307
331
317
286
348
313
333
317
309
350
277
264
295
339
258
351
293
293
377
335
318
339
313
312
237
234
214
339
265
401
356
295
342
330
319
292
312
256
285
312
260
286
278
291
276
327
353
324
243
254
322
213
354
375
302
215
298
299
282
324
329
267
328
220
370
286
411
336
373
352
315
315
396
216
303
352
394
240
326
239
320
372
379
354
354
298
328
279
360
310
310
244
280
284
358
322
313
317
338
316
324
334
240
311
304
301
304
339
317
296
309
271
313
327
322
294
303
286
268
354
371
320
287
320
265
298
312
298
329
301
329
295
326
281
270
302
323
274
354
334
302
322
378
338
311
337
342
326
317
360
202
335
279
285
302
258
333
324
365
303
328
352
314
332
324
329
318
322
290
397
282
329
362
317
228
371
339
269
326
289
232
347
394
300
264
221
358
306
333
302
344
294
372
259
393
336
337
384
222
391
230
271
330
321
349
353
338
321
331
288
407
325
385
303
352
273
366
340
241
268
371
314
322
361
320
340
341
279
353
356
323
404
377
318
300
409
290
332
334
258
349
394
260
423
312
226
297
376
405
347
372
354
337
319
295
333
337
416
344
288
296
245
350
256
316
354
358
339
312
288
343
279
382
330
380
365
286
374
352
296
318
299
232
284
369
342
334
291
268
307
308
242
319
329
322
274
349
284
364
294
304
298
319
311
332
248
339
362
397
288
372
284
271
322
368
310
256
326
285
347
282
301
261
305
367
292
312
233
356
358
272
279
233
430
250
317
315
287
371
346
297
437
285
325
320
334
268
373
357
303
296
320
300
310
297
275
303
326
343
346
348
338
282
344
350
326
356
279
335
307
356
302
241
397
352
324
370
334
358
218
245
225
270
361
281
336
360
310
301
379
255
226
362
233
309
319
341
306
337
238
279
314
302
293
374
311
229
284
331
376
345
272
366
328
262
343
294
304
342
343
351
351
278
346
333
301
311
346
334
309
326
313
347
305
295
320
305
371
293
306
300
285
394
318
348
384
409
376
323
312
363
245
307
376
277
236
334
260
275
302
305
263
251
264
308
218
285
315
287
309
327
354
315
363
242
262
295
327
362
298
205
371
334
292
304
316
331
325
263
299
306
372
264
294
255
349
248
352
271
244
302
307
320
308
296
345
352
278
260
394
352
326
372
355
349
306
301
358
358
367
300
308
343
248
231
300
318
236
313
383
349
317
341
296
278
393
330
337
247
310
329
299
282
387
342
249
308
331
316
332
343
253
221
312
284
382
323
303
311
331
326
347
362
303
338
341
284
316
385
320
288
247
284
325
367
274
376
333
352
303
375
303
282
349
412
269
323
342
338
340
387
269
326
238
422
387
318
369
189
354
291
298
276
321
263
276
352
294
322
365
306
382
351
301
311
410
404
308
262
216
355
250
277
315
309
237
301
321
281
339
239
295
385
379
370
331
323
267
353
282
313
324
413
333
327
344
323
372
334
321
238
293
370
333
257
370
293
331
292
374
344
351
315
286
380
301
319
314
312
276
388
365
255
331
398
322
249
259
302
405
260
350
391
354
266
315
359
361
228
339
309
366
283
407
224
233
292
367
366
408
266
333
249
308
386
416
359
295
265
268
355
376
280
315
340
370
331
313
371
336
287
375
335
351
370
370
300
261
323
210
244
269
379
312
312
322
329
262
311
330
327
281
369
289
340
289
301
296
293
306
356
330
290
326
355
313
244
308
277
286
273
266
279
330
307
302
261
279
261
272
271
301
348
348
343
325
315
375
342
267
381
269
409
276
353
323
307
307
299
285
267
360
205
285
279
333
338
307
265
328
279
236
408
309
319
339
298
302
256
269
308
362
282
354
332
366
409
290
291
384
364
309
273
312
274
266
287
398
353
404
294
299
387
311
322
282
279
292
329
323
276
327
309
290
226
334
275
371
309
304
309
291
372
235
247
287
321
334
283
350
301
319
393
264
351
208
308
320
320
312
356
318
320
213
326
333
307
365
372
329
326
282
365
328
307
307
331
269
355
350
332
313
294
360
297
333
317
336
344
286
376
335
350
269
248
318
267
290
367
307
362
368
394
397
332
342
319
288
291
300
377
296
308
294
277
326
332
296
230
364
289
343
315
266
332
227
346
311
309
309
278
252
319
375
259
307
354
363
276
277
355
308
301
285
361
276
298
305
316
351
314
341
352
230
242
167
307
334
245
357
327
368
318
269
322
364
366
372
342
295
356
359
275
383
325
329
292
363
238
340
298
335
401
333
297
366
277
313
292
336
340
320
380
346
317
294
277
403
293
320
356
206
354
323
365
275
352
338
321
341
275
314
298
282
262
247
361
296
366
299
276
302
234
250
294
279
319
250
327
355
263
245
371
364
281
301
329
297
226
267
302
290
324
330
316
312
294
334
263
343
333
298
342
377
344
360
338
265
378
321
298
236
324
277
370
374
310
315
297
343
326
285
349
288
337
336
306
362
385
299
379
308
257
384
283
311
269
348
331
326
338
269
310
317
296
290
365
259
261
269
323
386
246
306
238
332
370
288
280
319
262
328
306
276
293
311
289
295
314
313
355
359
262
291
183
379
300
273
231
384
293
268
397
260
255
369
258
353
351
319
373
328
333
320
372
369
311
263
260
242
323
343
284
309
240
358
336
315
267
261
250
335
335
305
302
343
322
346
284
375
322
324
304
290
289
370
353
247
318
379
337
392
344
381
332
330
272
305
350
349
323
323
318
359
318
292
386
358
321
322
312
288
335
376
350
366
288
250
339
409
250
396
270
292
405
285
311
333
362
333
315
336
317
389
329
355
353
212
318
294
334
265
319
279
323
311
345
335
343
378
240
337
293
347
407
328
326
403
393
246
272
347
219
376
297
331
271
271
358
355
253
307
257
309
293
224
338
309
346
313
313
303
327
341
370
370
276
312
286
296
332
339
340
421
365
286
315
337
368
220
263
310
340
347
401
339
245
340
415
356
321
270
313
306
317
303
256
254
312
328
202
414
288
367
293
285
266
233
278
321
302
263
209
319
252
371
342
268
388
302
330
307
281
357
285
406
331
402
263
295
336
385
353
420
277
354
381
323
314
305
235
366
376
297
313
305
266
363
303
344
337
369
277
336
227
291
262
371
340
303
347
326
307
305
281
245
291
322
326
291
284
351
331
267
359
307
323
356
286
340
298
312
333
318
345
348
280
261
331
323
365
326
342
331
308
230
267
342
324
209
342
331
245
366
300
294
312
321
342
231
309
352
365
296
305
311
320
279
382
360
308
272
294
340
337
240
329
339
283
389
360
361
315
321
353
380
382
400
272
340
370
391
305
329
310
374
309
330
274
347
339
212
287
329
333
324
326
301
309
347
269
243
330
347
318
308
344
294
352
352
355
356
306
278
370
308
305
311
325
339
256
282
383
361
315
367
370
348
324
369
354
308
396
264
427
351
334
292
331
229
324
288
213
331
288
306
254
254
332
370
330
373
304
252
268
290
298
284
366
345
323
289
351
309
205
299
371
332
292
287
283
330
326
350
252
239
218
257
333
360
293
258
377
293
372
301
289
371
295
352
311
325
258
283
294
300
300
306
323
396
342
348
346
301
331
365
364
335
250
287
319
331
308
361
350
249
273
296
221
386
291
365
233
240
332
306
429
309
243
329
391
257
303
220
371
299
343
259
314
318
365
327
294
347
379
310
292
343
312
393
302
329
277
329
319
313
306
386
278
349
342
296
353
369
291
408
206
356
266
252
254
331
278
212
364
227
249
307
368
344
315
335
292
318
332
314
308
271
320
355
300
414
311
289
337
359
295
356
329
318
323
266
306
342
290
277
305
290
386
303
406
333
308
287
407
357
307
324
323
241
328
338
241
310
391
265
325
344
402
305
304
357
344
337
321
338
282
378
337
362
371
251
300
331
348
300
329
341
286
271
337
344
287
357
338
322
313
292
338
349
403
315
313
265
287
262
270
313
204
270
350
405
370
415
308
321
308
305
382
301
312
242
340
340
315
260
336
341
312
356
373
306
389
287
249
336
262
362
295
275
431
308
295
318
333
230
353
352
278
380
275
307
330
351
261
362
327
293
244
361
346
338
295
311
252
247
294
326
355
369
254
388
312
292
325
255
258
308
285
343
358
325
375
235
316
257
303
340
309
314
362
258
287
280
285
259
298
314
271
252
343
323
345
348
279
317
336
312
360
417
299
365
278
373
326
243
263
228
295
337
381
280
364
283
362
342
252
309
267
347
279
194
273
312
261
348
360
299
225
346
315
334
345
364
341
322
286
292
366
343
400
312
303
334
334
284
356
261
322
424
344
328
333
252
282
331
355
344
365
318
282
292
344
324
277
330
326
289
302
307
334
322
305
277
250
331
390
276
365
346
350
375
332
392
246
362
297
340
299
251
330
361
300
301
270
295
344
351
348
346
355
312
293
332
322
373
317
409
296
409
324
293
318
318
370
277
324
336
313
348
209
290
246
377
267
198
363
284
301
243
356
327
357
334
382
299
283
351
254
321
235
314
345
252
373
308
311
303
303
373
292
352
334
208
337
285
312
327
274
402
284
377
346
338
308
341
349
309
301
308
311
266
240
327
253
288
349
298
362
321
302
365
215
232
339
341
318
393
356
280
263
363
289
277
343
394
337
326
338
368
316
297
300
291
338
249
345
259
242
327
239
321
344
384
309
332
304
369
345
307
335
253
289
397
284
288
309
381
312
303
328
353
398
316
355
354
262
372
256
236
279
364
376
299
255
305
337
343
290
301
313
333
290
290
362
273
410
281
325
282
196
295
321
340
411
373
356
289
365
309
385
374
251
359
316
382
351
276
388
274
359
341
320
254
320
306
264
313
294
317
311
257
379
306
299
360
329
360
260
320
339
332
360
347
348
337
309
312
279
367
337
291
292
335
333
228
322
320
274
308
280
231
323
321
283
327
315
256
320
252
234
290
227
226
309
339
312
379
337
387
254
334
261
265
360
345
288
316
309
329
290
371
341
325
352
283
259
356
380
365
317
279
331
474
377
295
326
409
319
378
279
284
328
320
372
333
391
305
355
260
384
268
282
356
353
325
246
284
318
246
243
272
306
324
351
289
314
331
324
286
392
322
304
348
342
345
348
251
373
268
270
281
349
305
254
287
303
283
297
311
333
281
332
348
370
320
333
267
257
278
228
408
259
255
359
337
327
378
313
352
316
269
295
385
286
322
324
325
243
248
279
319
284
299
350
269
270
240
327
307
303
242
307
259
387
370
359
305
329
356
274
244
327
310
294
335
346
294
380
304
244
327
317
330
277
342
304
378
322
299
404
353
295
242
289
282
373
330
391
297
322
283
191
251
301
311
314
318
371
301
274
354
352
324
289
426
347
245
319
379
355
382
340
374
354
268
293
272
284
311
390
282
290
296
268
308
269
304
326
291
312
379
323
391
301
241
391
295
314
203
318
317
293
304
298
276
235
345
324
315
278
319
286
278
344
339
366
305
405
209
306
303
334
334
251
303
301
303
333
321
302
331
347
295
306
263
363
252
297
315
267
374
336
315
345
413
312
257
324
289
383
365
242
273
297
351
214
305
321
338
409
319
344
247
342
362
316
360
307
266
412
317
304
272
353
337
412
319
327
334
286
267
239
385
385
348
338
343
348
306
333
304
386
359
230
337
413
292
283
329
317
275
247
332
334
251
252
300
391
327
282
229
225
297
227
291
338
278
344
350
341
314
260
268
203
383
291
225
344
391
290
345
325
319
315
319
254
356
306
290
370
315
319
260
360
285
302
356
315
380
337
334
290
341
340
267
349
320
316
303
408
378
249
322
255
352
293
309
301
296
339
285
411
335
333
326
294
330
271
343
388
295
308
223
327
235
364
314
340
271
364
350
267
350
325
336
264
306
312
357
241
295
296
329
345
331
332
338
369
254
310
282
349
309
283
285
386
244
294
356
305
401
329
324
240
329
384
162
361
367
321
263
359
272
361
358
378
375
288
303
312
197
282
275
372
297
310
327
257
336
291
304
363
410
353
269
307
388
273
367
312
288
251
368
276
363
326
360
320
324
351
309
364
308
379
264
352
361
381
383
227
336
242
380
361
294
294
317
259
414
223
291
312
342
278
285
315
336
300
246
281
277
300
323
259
263
337
208
258
301
343
356
373
289
285
252
311
374
325
223
355
324
285
216
335
327
255
301
401
298
368
289
367
297
351
287
389
335
288
313
278
307
379
370
303
360
238
221
334
278
325
306
329
254
288
326
290
328
321
239
323
235
376
306
338
331
379
343
290
365
271
319
351
346
307
369
288
237
274
292
342
337
374
326
397
210
304
316
280
283
246
337
301
297
263
281
336
231
287
258
346
274
328
284
344
314
342
356
399
332
320
359
295
375
250
286
254
278
251
304
410
363
306
330
321
282
367
335
324
397
253
342
271
293
291
329
385
263
348
329
320
315
232
266
271
268
305
264
297
305
261
331
282
246
281
246
298
265
364
293
334
357
265
367
376
342
374
363
294
300
343
270
263
360
321
297
243
355
330
322
325
364
355
351
370
295
225
327
342
282
265
340
298
352
329
366
405
367
312
327
344
370
225
368
251
262
268
284
285
331
263
293
299
338
304
318
329
274
265
389
243
305
383
270
218
240
291
401
179
334
267
316
329
292
322
337
331
385
327
385
270
341
332
267
311
352
319
320
294
375
332
325
304
388
262
312
305
316
372
311
352
325
301
296
327
375
322
283
286
333
386
332
262
297
266
320
309
342
254
254
303
357
401
317
289
378
240
300
324
234
223
291
373
386
354
355
264
269
399
261
373
334
307
354
352
264
265
275
344
335
344
372
325
312
310
277
275
375
355
324
368
322
331
287
317
286
340
328
328
348
313
340
303
386
274
375
356
343
373
345
389
346
330
394
347
305
327
256
261
289
332
300
245
274
376
243
234
342
343
250
256
350
325
323
416
247
300
302
314
230
292
274
321
298
286
258
304
308
339
341
357
304
344
306
297
331
425
330
328
416
342
276
299
270
289
301
386
356
268
282
307
342
345
316
301
365
323
283
296
366
336
316
259
334
288
322
389
344
372
306
267
286
336
373
261
350
333
303
303
266
315
240
340
247
351
378
309
295
292
263
278
327
298
323
339
330
339
279
321
310
304
317
404
374
289
327
275
337
240
288
268
306
275
338
296
353
358
341
267
301
254
227
279
296
285
363
353
342
271
201
295
312
343
244
232
343
239
266
262
332
298
301
264
321
361
375
324
318
330
311
344
299
333
334
323
270
330
307
293
269
360
303
289
333
403
394
290
334
350
350
362
267
260
302
251
277
270
296
315
316
376
359
250
354
338
339
309
286
310
356
297
315
320
372
343
345
323
355
354
346
359
373
312
251
361
366
366
314
329
315
304
382
306
328
329
354
292
276
355
326
396
274
351
254
290
301
321
326
335
382
358
354
383
245
225
349
280
284
329
361
304
292
329
335
254
431
279
305
323
313
371
346
326
358
209
272
358
307
293
361
306
317
238
328
254
314
333
326
374
350
362
375
243
372
230
359
330
270
364
400
239
280
365
270
310
310
403
322
315
303
348
262
298
328
312
323
293
317
313
255
302
258
330
356
331
331
299
317
351
339
356
323
325
267
344
306
275
358
294
275
275
256
347
248
249
400
267
265
286
343
411
241
298
334
324
351
351
379
283
289
402
338
342
339
275
343
238
354
256
253
296
318
329
271
401
321
318
295
414
235
315
380
346
317
239
307
297
356
272
311
340
298
359
282
357
364
284
339
333
367
255
378
328
332
277
334
330
318
304
345
319
300
278
277
271
297
261
323
365
228
251
301
257
369
288
276
313
322
272
310
287
300
312
335
388
292
384
314
326
316
322
326
395
311
340
335
317
354
271
310
282
338
336
345
335
334
315
351
296
303
342
385
343
396
396
213
260
315
302
333
236
345
329
296
371
386
284
306
311
277
243
357
341
308
375
254
378
300
357
272
332
337
344
309
357
325
316
367
297
276
318
273
352
265
330
285
359
343
265
319
238
315
348
300
309
309
309
286
326
274
349
344
246
280
314
370
321
339
241
322
291
354
353
231
324
324
380
340
340
291
296
254
361
294
316
307
301
349
282
296
255
284
353
292
294
376
333
400
376
290
267
268
252
299
349
302
367
315
249
351
278
321
211
325
269
311
308
300
289
339
406
347
293
351
325
303
351
328
268
293
261
305
302
396
292
351
372
314
297
257
216
380
349
328
323
356
233
295
310
286
344
328
273
274
369
326
322
333
272
371
292
311
204
273
388
374
318
357
249
391
340
302
332
257
379
288
374
305
361
310
330
307
255
325
282
427
316
321
290
280
352
245
362
300
243
373
360
322
283
303
346
294
335
237
405
268
319
298
312
261
359
337
338
343
275
361
349
252
361
370
344
321
336
349
323
319
392
292
299
317
268
270
306
364
254
214
308
304
351
350
350
358
336
372
365
314
318
266
217
252
289
289
233
303
365
336
371
302
238
392
282
306
327
315
242
299
347
302
274
297
349
394
365
275
329
329
324
351
276
347
311
338
266
334
285
273
291
305
348
282
284
324
286
393
352
263
388
316
245
295
330
307
330
357
370
313
276
270
293
316
226
320
334
294
308
245
329
327
325
364
290
305
285
259
286
285
255
313
234
365
290
309
237
279
323
319
334
377
350
349
271
284
333
359
343
318
323
270
338
229
313
240
337
293
326
380
383
316
341
312
350
335
352
307
278
341
254
283
329
371
235
228
342
271
330
280
316
306
253
391
309
267
273
342
292
315
342
329
358
269
259
309
349
410
252
248
306
354
348
315
260
392
364
279
396
272
289
346
372
323
318
289
286
293
218
313
376
373
343
352
303
330
303
298
278
312
280
343
344
345
287
225
347
361
233
351
359
233
328
350
248
326
254
239
320
272
387
417
298
288
319
290
317
333
329
287
338
241
244
324
358
338
290
388
230
273
320
385
356
326
314
331
356
251
239
303
388
354
284
346
373
304
310
360
271
311
344
307
362
332
328
386
342
295
338
294
402
324
280
318
286
358
306
324
364
273
382
365
310
306
276
245
340
356
300
314
293
367
307
386
285
297
390
345
247
358
334
325
303
344
369
330
339
257
349
328
336
324
346
288
275
338
315
360
265
262
336
285
371
305
281
337
374
257
310
360
342
368
295
316
286
263
243
317
311
326
297
312
300
284
390
284
369
256
296
246
318
288
341
281
359
370
312
334
330
288
328
354
285
234
354
424
302
228
245
285
430
278
313
370
326
291
232
303
366
291
319
349
284
320
298
304
344
300
312
303
260
349
315
355
356
363
318
343
319
339
279
309
287
239
253
321
343
324
295
373
329
296
329
371
341
232
318
347
328
397
365
296
330
225
384
371
408
256
363
342
175
322
305
372
286
296
321
344
319
344
261
361
291
429
347
356
326
318
362
382
305
276
332
349
256
287
225
401
376
257
304
334
347
315
249
321
373
321
281
315
320
278
313
287
302
323
397
336
327
397
412
330
368
319
263
274
321
359
289
323
338
308
285
407
322
337
306
359
266
286
328
318
264
275
295
348
277
352
371
338
328
219
302
284
380
403
300
275
425
302
287
341
333
365
302
305
229
297
360
310
304
336
372
261
285
298
374
305
336
306
393
377
294
350
263
221
346
302
375
328
302
252
335
321
304
363
351
266
329
274
323
342
362
293
315
320
281
347
271
405
308
287
309
252
274
404
347
245
324
302
317
283
274
416
311
285
283
300
376
313
331
347
268
281
285
324
280
362
318
376
291
257
324
316
315
231
380
399
296
287
316
337
319
222
362
248
290
305
314
319
317
213
310
290
350
316
319
383
282
313
343
350
371
322
324
355
295
362
315
371
304
314
289
274
320
295
223
285
332
366
359
345
312
283
327
311
390
350
340
397
289
325
333
274
294
307
312
419
335
424
272
243
359
278
277
272
297
387
250
338
346
337
314
206
308
304
359
276
295
369
282
246
291
375
345
299
335
309
253
285
323
335
253
263
346
187
242
281
335
301
317
217
296
305
334
343
327
320
260
321
317
290
245
371
350
359
307
303
322
361
293
291
296
386
353
396
312
327
343
277
327
270
221
322
365
336
297
294
314
325
387
336
235
340
282
295
348
356
298
309
305
287
243
299
361
259
393
339
335
378
282
405
292
234
310
288
352
367
234
400
271
290
367
285
342
340
339
321
355
300
321
343
342
294
305
261
339
375
295
393
342
328
334
293
252
357
256
346
341
382
312
270
368
297
306
348
302
359
346
309
366
323
279
332
351
294
335
382
331
332
427
329
272
352
237
359
319
349
389
222
301
281
263
318
276
228
271
322
261
350
324
341
292
292
280
356
294
326
348
284
304
336
219
312
294
228
371
285
308
380
309
328
357
354
265
351
391
337
301
312
267
348
301
310
317
272
345
268
359
387
306
347
312
272
312
413
332
349
207
322
359
218
365
301
350
288
236
259
338
302
299
370
298
246
276
356
386
293
352
288
370
332
296
391
283
320
298
272
342
283
397
306
310
365
270
293
256
319
390
379
289
337
316
355
295
286
389
313
400
375
320
236
335
276
355
249
324
349
280
329
445
383
391
470
274
295
275
306
318
308
325
248
336
324
319
353
361
265
283
372
300
374
354
258
343
310
294
415
360
324
362
279
320
238
384
305
365
283
300
316
332
304
356
360
273
278
336
261
314
276
326
271
360
328
289
271
294
303
268
377
337
306
361
345
296
315
262
301
283
254
335
368
309
315
323
407
321
339
300
268
301
313
265
403
337
328
214
342
194
304
347
374
234
259
391
379
350
318
398
292
288
273
362
308
313
284
279
291
294
341
303
197
243
364
310
282
337
294
293
249
323
357
311
281
348
335
277
247
277
261
308
298
284
300
353
331
292
262
339
407
307
294
304
232
354
266
271
358
320
358
242
313
261
296
293
306
310
271
383
320
321
333
323
353
273
313
427
309
368
387
361
346
356
352
350
289
260
344
346
329
280
267
358
340
367
318
364
305
293
291
280
337
342
263
305
343
318
327
340
353
324
275
360
303
287
299
404
197
361
307
366
290
305
341
261
317
386
285
336
318
465
280
298
313
323
261
387
323
272
331
266
268
333
310
397
262
228
407
266
416
363
326
318
256
381
359
274
358
346
269
309
301
355
349
283
366
356
331
294
278
341
337
271
303
306
252
319
296
272
341
324
367
324
358
355
270
223
394
348
339
301
298
270
333
350
310
254
412
339
363
359
281
312
296
324
238
261
321
280
301
338
312
307
367
362
359
231
330
338
373
290
365
354
342
299
307
285
256
278
336
285
323
406
360
313
306
354
247
345
337
293
341
256
322
352
349
306
317
268
405
363
284
310
306
349
358
312
314
327
352
317
310
310
259
289
307
249
282
357
261
296
277
349
370
355
332
266
358
294
276
364
383
321
217
359
352
319
329
349
380
321
179
290
268
260
273
378
328
346
271
303
360
383
355
339
229
278
254
288
275
265
296
302
378
396
263
330
363
275
299
330
268
275
323
247
286
365
311
358
298
354
372
324
295
349
286
299
245
283
288
346
284
303
279
350
352
341
319
314
310
338
218
323
310
294
339
330
236
351
277
253
339
264
341
337
342
383
289
260
361
364
306
321
358
200
241
368
276
342
256
361
327
375
316
271
397
364
293
277
355
307
358
325
322
336
292
297
312
308
385
267
289
315
313
286
286
395
405
342
333
315
299
281
271
346
287
330
304
322
317
335
347
355
377
277
218
325
240
316
289
166
359
304
261
278
429
320
323
357
301
256
314
248
299
366
334
372
399
324
314
317
241
251
303
330
317
323
313
328
377
370
366
330
248
226
326
312
267
376
395
349
309
337
295
343
351
311
244
342
251
384
362
328
395
378
291
349
293
234
300
290
337
281
246
355
351
348
293
356
332
237
272
292
312
380
362
293
354
339
360
236
326
296
307
329
305
341
255
384
277
370
320
285
300
251
326
298
340
291
289
259
296
304
310
339
265
248
280
270
287
301
357
268
331
306
360
287
316
404
286
276
393
383
348
351
343
388
335
384
309
305
345
265
330
285
244
329
264
375
387
313
363
260
366
368
330
342
290
377
357
232
288
338
350
259
254
231
320
317
254
319
380
237
264
284
376
387
314
288
314
238
260
352
366
332
310
287
319
305
301
365
287
356
275
307
290
314
218
309
303
228
372
401
343
351
285
339
342
266
285
304
317
252
257
263
313
412
341
328
283
378
358
305
347
333
325
444
228
252
346
345
357
280
268
229
336
302
311
295
337
375
377
375
333
281
293
362
306
340
264
270
301
310
320
320
286
302
236
314
347
286
336
301
307
328
384
333
280
336
302
329
273
283
297
270
309
201
336
226
303
326
221
294
272
272
217
279
424
337
424
290
339
381
309
326
293
378
284
316
393
264
315
264
367
262
233
259
373
229
285
206
336
327
286
314
352
355
327
315
344
391
284
375
236
348
227
345
299
306
270
304
301
302
287
212
298
282
318
341
303
311
376
318
412
371
257
344
322
384
311
350
308
353
274
321
312
284
297
271
323
333
293
256
327
284
241
323
328
317
356
352
266
391
330
312
263
318
318
289
232
344
293
357
293
267
365
310
244
345
270
323
283
287
274
233
284
301
372
317
303
299
382
331
255
378
340
335
361
300
297
323
248
355
359
348
313
285
311
340
390
301
326
379
287
358
311
267
281
305
302
284
257
354
304
348
362
338
335
361
285
345
333
318
394
310
276
326
323
216
343
388
402
285
390
276
300
287
290
277
279
310
358
253
314
333
256
245
252
295
311
272
319
291
423
319
297
314
303
365
310
425
342
298
297
283
362
364
288
323
351
380
285
337
336
284
301
307
392
402
250
313
291
277
380
294
250
314
386
290
309
336
353
272
292
321
372
365
320
325
332
276
354
338
366
321
336
404
343
303
290
262
273
362
276
337
360
218
289
330
336
342
279
283
384
316
276
292
312
350
323
241
361
260
264
330
303
310
293
328
266
332
269
297
292
293
333
277
379
357
337
274
370
242
374
367
275
259
299
308
303
294
328
251
334
356
303
324
410
369
293
254
299
367
316
284
332
260
352
366
365
232
377
375
322
387
290
358
268
292
281
268
335
390
379
319
357
294
369
241
314
304
344
275
374
327
329
386
324
312
338
270
338
327
347
385
291
332
376
320
320
353
366
353
295
313
310
271
281
343
272
184
318
332
260
269
339
280
333
307
370
399
336
310
244
315
347
325
309
297
323
294
392
342
310
236
300
340
339
349
315
241
347
268
290
447
320
281
333
260
362
284
248
290
290
293
346
368
326
300
404
365
325
341
314
276
318
355
251
314
333
327
264
369
339
357
373
270
278
342
252
361
310
246
338
315
298
345
349
270
344
362
302
304
355
346
228
344
343
341
247
341
252
364
334
293
328
371
311
364
246
345
326
285
330
250
267
316
331
335
312
341
325
311
271
401
293
344
327
342
320
340
230
268
331
311
314
425
260
338
320
362
222
358
318
290
249
248
347
311
294
260
314
326
318
334
317
270
298
340
377
325
293
321
275
326
338
316
348
271
325
297
323
261
274
340
322
351
358
321
249
345
266
213
316
308
200
274
260
367
276
231
295
317
356
243
330
276
362
276
288
333
372
227
342
335
315
302
380
308
323
368
381
368
313
331
354
391
311
333
338
288
336
282
299
270
315
399
246
290
296
330
283
306
369
353
354
323
341
236
364
221
305
302
290
248
384
378
331
290
292
363
363
337
381
306
291
271
337
309
275
282
304
336
267
380
307
287
320
282
302
330
338
260
368
369
216
327
295
291
233
238
234
202
342
304
370
346
281
329
329
166
373
373
365
312
413
291
314
274
322
271
255
280
371
298
271
275
256
285
362
335
351
347
202
266
364
308
258
299
319
386
209
292
351
312
356
296
289
326
335
255
314
254
391
239
314
312
382
285
350
330
388
243
354
316
332
292
227
347
379
355
168
259
271
360
331
404
372
246
334
332
246
379
338
341
367
314
259
306
372
279
321
299
309
320
382
294
318
369
346
357
361
309
275
286
304
328
336
265
288
273
371
294
310
331
259
300
391
325
287
313
353
337
274
298
241
388
264
341
308
349
389
255
327
321
385
255
303
380
290
318
327
395
319
281
338
259
258
363
312
260
324
308
388
335
370
302
242
431
197
315
289
300
352
288
244
380
230
359
312
244
306
297
307
336
417
354
336
278
287
294
397
315
343
272
388
402
353
256
339
304
317
346
361
185
246
326
383
321
364
283
389
337
349
313
379
370
314
308
286
264
304
285
259
404
306
375
376
352
348
318
359
318
310
323
257
272
253
242
361
266
280
338
304
274
292
347
345
291
304
231
295
276
275
348
359
264
326
303
332
417
246
333
379
366
285
345
349
361
279
247
252
371
287
330
257
302
297
247
350
308
324
327
324
341
406
374
406
333
338
298
422
303
388
287
341
294
282
338
335
340
292
283
243
398
314
285
201
355
262
345
351
327
308
337
311
333
274
353
280
343
315
357
364
320
326
349
367
279
352
318
366
262
269
345
278
321
267
260
295
374
327
391
355
257
388
281
320
232
292
275
350
219
362
360
249
309
243
256
284
305
231
317
274
298
377
338
329
303
329
278
251
278
254
256
327
353
267
330
320
370
345
303
353
290
340
205
338
262
307
330
254
304
411
338
312
263
340
342
338
241
357
298
364
254
250
297
374
355
284
343
259
329
317
328
280
290
296
298
345
361
319
248
270
340
313
361
388
386
308
269
355
371
273
246
233
343
310
288
388
345
302
355
265
347
295
305
268
313
279
372
297
329
374
312
279
316
293
259
272
286
198
325
270
354
309
295
315
285
303
357
259
363
326
349
323
251
261
362
356
338
373
411
330
343
322
359
301
316
357
288
298
327
281
236
357
256
304
334
376
369
274
304
295
286
328
362
301
210
430
378
319
309
281
239
304
329
261
385
304
337
306
320
244
316
316
304
344
244
396
308
262
349
337
390
293
246
269
286
359
346
259
208
253
350
316
310
326
347
328
288
329
338
296
279
244
292
319
276
357
343
369
427
318
366
374
317
295
299
353
357
242
243
260
383
365
305
326
215
274
294
240
277
316
311
282
335
369
391
356
346
304
280
244
275
363
286
239
322
352
226
407
302
295
270
318
350
296
397
406
363
330
268
317
317
238
331
303
287
330
372
326
260
289
287
365
295
353
308
297
336
241
384
363
341
271
356
374
226
325
250
329
290
364
340
231
259
303
302
339
287
285
348
333
283
260
286
374
347
275
324
315
346
356
393
337
306
256
354
320
268
319
325
266
212
357
308
336
337
280
352
379
369
347
343
335
308
272
321
267
362
293
339
241
346
331
345
350
415
314
427
310
362
380
289
260
224
260
272
334
354
355
306
391
295
312
293
269
392
287
316
224
313
289
277
297
338
316
344
331
355
336
318
306
241
247
285
293
336
270
393
359
369
349
305
296
414
281
236
312
311
231
306
369
300
348
356
411
338
347
290
255
355
281
298
357
305
290
303
355
257
321
273
330
211
358
363
355
285
310
360
361
321
351
394
355
383
355
310
303
241
329
321
326
242
383
255
328
285
209
378
346
278
240
338
298
305
241
235
334
309
332
289
316
223
293
313
272
302
270
220
293
309
282
301
312
325
327
337
274
326
273
309
258
309
394
349
263
335
356
368
332
397
408
416
357
344
301
336
286
229
274
317
350
316
406
290
362
346
296
292
330
262
294
253
253
318
335
297
349
344
291
275
347
335
366
382
373
294
248
281
317
345
300
256
284
269
323
289
398
362
330
242
307
300
287
218
257
349
329
325
255
335
319
299
253
383
293
299
295
297
331
271
278
194
307
324
317
317
294
382
337
306
251
331
309
253
355
377
285
362
262
319
374
390
240
290
257
250
295
348
330
315
385
289
365
314
340
306
320
318
343
307
345
369
387
311
258
213
298
267
308
373
294
317
230
265
329
258
348
362
284
356
388
367
241
313
326
284
287
416
352
324
297
348
288
259
256
300
339
257
287
339
327
335
316
290
283
296
363
286
379
362
244
273
346
329
260
279
293
223
362
426
315
293
349
379
347
266
281
315
340
277
330
318
311
260
249
366
215
338
358
307
350
289
334
301
293
354
394
306
279
317
357
333
303
277
331
273
299
251
341
264
346
290
302
278
367
343
358
258
303
361
300
309
278
328
283
332
282
338
365
250
351
295
335
282
336
388
323
341
276
297
340
292
357
297
324
257
317
343
282
286
296
336
298
319
326
349
273
343
347
327
293
353
337
336
311
341
277
299
345
281
304
315
262
421
260
275
317
388
395
309
315
312
323
289
257
309
325
264
281
258
296
341
271
304
342
365
439
363
310
350
276
263
382
375
331
315
305
281
310
364
303
353
341
297
301
353
293
283
365
356
315
277
336
437
238
368
306
269
307
207
381
338
258
344
204
320
340
302
313
307
277
326
324
296
289
346
326
342
329
297
337
242
380
235
348
417
316
388
327
329
291
274
290
363
399
268
366
277
245
342
306
232
324
320
360
334
253
368
259
329
327
258
259
279
263
324
232
286
320
332
352
300
376
349
248
295
378
282
331
389
358
350
364
369
308
244
313
367
347
342
318
332
328
269
319
358
344
271
304
350
297
280
318
193
371
347
230
333
388
296
342
378
326
311
292
326
236
313
298
310
358
337
343
362
287
321
248
277
301
388
254
257
265
387
387
341
328
320
318
382
337
272
336
287
364
315
363
360
287
316
360
258
287
327
353
379
327
327
381
337
342
310
346
328
311
276
401
273
407
309
305
258
290
329
327
303
258
274
270
290
312
305
254
325
274
391
304
375
317
374
253
340
281
340
301
349
305
365
378
295
375
329
365
329
353
392
310
374
348
342
322
361
350
377
270
285
376
347
313
339
376
287
362
334
345
369
269
330
392
284
343
324
314
326
286
335
319
328
258
330
298
309
241
365
282
227
332
301
309
337
283
380
314
375
256
398
313
245
376
319
257
313
339
288
343
353
278
300
308
290
268
390
346
332
346
305
359
309
302
371
274
330
347
291
308
281
296
241
291
295
342
338
295
270
335
340
283
358
365
387
269
350
307
323
298
270
252
334
378
358
337
309
326
343
332
318
273
251
347
378
304
426
252
261
307
382
364
321
274
265
339
277
285
310
262
259
278
280
290
251
278
301
370
285
309
375
365
286
392
362
248
328
374
276
359
283
288
336
329
306
277
345
306
294
387
263
337
336
219
368
316
233
275
310
344
310
279
312
307
293
254
249
299
364
298
359
295
394
374
297
348
338
315
404
307
275
319
311
275
340
323
362
289
275
377
255
311
332
410
368
268
231
384
285
325
273
288
340
408
387
271
247
257
211
263
368
310
328
312
327
386
256
254
388
309
350
334
275
404
235
332
291
302
285
290
218
316
367
326
346
329
346
306
336
333
378
244
305
266
274
275
375
220
279
331
398
357
335
325
336
367
302
275
316
264
289
346
368
320
321
315
336
291
345
363
238
398
329
274
255
285
285
319
339
385
460
359
281
362
345
365
325
337
421
236
347
324
263
282
312
239
363
310
277
302
302
297
347
298
304
291
320
362
294
345
348
223
201
375
309
317
305
407
302
389
335
384
354
350
302
382
294
325
306
256
268
300
326
330
306
357
344
322
353
274
292
369
316
318
256
334
357
341
231
276
333
366
360
340
289
260
305
278
248
389
332
312
332
333
330
254
359
285
283
380
380
292
320
259
229
258
271
357
363
317
381
302
333
331
331
305
321
354
315
372
317
263
361
364
345
262
367
303
321
335
347
302
379
318
292
399
376
286
346
339
338
231
252
317
347
276
324
296
247
400
274
282
352
290
257
262
366
295
269
252
272
301
282
285
332
364
307
253
322
368
407
333
338
365
332
312
303
285
298
341
322
294
261
291
371
275
362
340
332
309
194
267
333
340
342
305
378
365
309
290
272
256
326
274
329
320
347
275
282
314
334
338
241
322
233
246
341
255
360
305
334
271
364
275
216
323
266
308
317
281
334
309
330
308
329
303
311
321
326
207
307
307
238
351
334
337
310
346
241
305
360
397
223
349
305
306
353
355
271
301
376
339
340
407
331
288
345
371
310
248
261
364
340
402
333
327
293
319
317
221
323
257
289
320
331
281
386
335
293
403
328
354
267
335
333
280
373
368
355
262
337
248
350
303
362
327
300
293
326
220
290
332
398
374
261
273
334
321
268
382
318
384
386
256
344
257
364
339
262
266
339
366
352
403
354
314
367
344
326
291
291
330
302
269
309
328
309
239
333
326
316
221
298
345
336
309
323
289
294
238
266
345
274
297
373
285
289
286
288
336
359
293
394
224
285
266
268
245
274
288
257
323
267
314
302
290
304
298
276
356
342
291
271
335
321
335
244
335
373
331
315
328
319
222
339
403
293
331
242
308
374
286
308
354
307
317
321
385
340
379
341
335
300
336
268
327
327
287
332
292
289
328
416
273
329
246
267
310
350
307
348
356
260
286
228
376
280
296
306
234
312
255
367
348
398
368
315
374
314
375
405
264
313
332
312
390
410
377
304
293
265
292
336
375
274
339
348
285
343
303
316
385
357
383
329
362
250
296
300
322
269
384
336
374
352
257
292
299
330
373
320
327
301
228
282
371
349
262
348
327
313
357
381
317
310
250
260
277
328
320
270
307
316
263
265
348
353
311
325
287
390
337
330
291
350
293
345
348
295
322
298
343
295
287
376
257
335
280
311
306
382
412
287
336
333
333
394
305
321
319
251
253
252
224
308
289
376
228
296
362
271
369
297
303
374
310
352
286
295
299
279
317
368
333
342
317
324
321
330
376
386
358
379
238
304
323
377
309
349
254
334
283
270
289
242
298
316
344
365
248
339
284
294
320
244
345
366
348
234
201
291
303
357
347
299
250
299
366
261
311
391
342
293
315
351
297
309
386
280
305
334
300
248
415
317
326
333
272
315
326
294
369
298
368
367
242
314
319
293
334
329
378
363
306
332
314
349
397
301
301
266
339
345
317
326
326
363
328
287
272
451
352
310
245
284
338
330
372
327
316
360
359
291
346
320
228
244
244
393
357
416
293
326
221
274
273
343
299
266
279
283
328
294
288
284
337
336
345
323
272
319
362
333
309
243
399
255
298
342
426
300
317
334
316
373
305
311
310
288
241
304
250
371
315
330
333
322
306
319
296
250
349
269
373
341
240
314
416
426
311
347
374
264
320
397
329
313
368
323
305
298
252
362
297
416
304
342
335
310
274
167
332
316
256
380
291
380
259
341
268
268
253
166
295
363
301
361
264
324
283
361
336
321
298
290
306
348
347
326
292
337
404
268
333
368
296
377
310
277
331
298
362
228
294
393
226
326
262
365
275
341
266
329
335
354
311
259
336
313
313
211
329
306
311
322
352
363
289
310
351
268
246
396
264
331
270
284
338
325
302
313
314
331
367
288
281
307
271
349
276
322
299
238
420
343
277
328
344
281
377
303
305
347
261
259
323
318
239
307
354
352
342
273
311
347
293
190
349
350
277
377
344
362
273
318
218
336
268
369
315
282
309
225
211
245
267
328
308
300
350
310
271
377
280
348
294
327
275
272
301
257
393
264
407
270
236
273
271
371
302
306
266
252
359
352
438
320
304
311
324
266
213
287
328
204
267
276
265
311
308
377
291
314
402
342
276
339
347
328
261
309
290
356
299
296
317
358
303
320
231
268
274
330
350
261
297
343
367
307
225
294
375
207
283
323
318
285
350
355
375
319
391
279
393
294
226
302
277
350
283
273
312
280
311
305
269
258
314
270
344
287
401
332
244
335
277
345
309
325
255
339
344
386
359
337
376
297
392
343
336
313
320
309
227
290
270
294
373
347
344
354
306
353
286
225
371
243
316
342
367
309
346
367
372
355
273
322
353
318
405
326
318
225
339
301
371
338
279
193
384
327
371
349
272
338
235
349
312
348
336
335
206
274
277
320
351
302
298
344
370
312
327
334
297
318
311
352
315
251
256
371
344
321
275
283
304
347
348
259
305
285
308
341
311
346
330
195
358
280
308
336
322
306
376
341
295
334
331
266
272
349
314
329
441
326
352
359
310
259
314
367
352
194
336
280
329
311
336
361
312
307
275
333
306
387
292
348
346
306
363
364
316
300
324
345
276
297
301
317
332
318
242
326
295
270
344
290
305
343
263
313
319
264
334
352
334
274
305
356
327
324
273
333
282
288
236
286
253
339
372
341
284
344
426
311
287
271
315
330
256
258
339
283
161
343
370
339
366
288
302
286
299
333
314
309
345
328
272
285
293
266
327
280
353
239
259
404
369
272
339
285
281
331
309
296
305
342
260
258
174
335
279
340
281
351
297
337
300
331
288
312
329
379
341
304
324
295
361
319
291
228
276
279
353
259
337
386
351
334
265
295
278
346
296
325
340
349
313
304
323
326
369
352
243
309
259
297
425
289
396
256
299
393
298
356
338
354
412
282
251
355
412
260
338
362
307
343
240
308
302
295
325
384
348
365
331
236
273
296
366
264
244
305
259
245
303
244
303
320
319
317
255
350
191
286
375
258
234
335
319
391
307
306
293
373
342
327
259
320
286
311
342
269
306
254
364
311
304
355
245
278
351
326
313
316
315
264
372
254
343
293
267
289
344
320
387
288
291
340
410
264
417
343
245
236
295
314
356
322
259
279
266
367
383
331
282
354
290
408
279
377
349
350
313
411
285
336
273
326
318
295
278
238
285
306
311
262
270
352
289
293
340
306
366
330
280
328
345
344
255
304
303
254
327
359
359
293
396
347
343
333
294
357
374
352
394
303
346
338
370
286
371
299
331
269
278
305
324
253
362
372
274
380
350
286
282
249
306
246
314
341
276
219
367
270
235
346
320
302
354
343
321
323
276
279
331
352
322
203
349
343
273
266
238
379
367
290
293
346
330
296
299
255
317
344
351
368
310
373
287
255
267
329
256
315
369
331
263
362
305
310
325
323
294
314
287
339
329
332
386
333
270
339
321
296
321
299
338
250
333
317
360
326
308
280
294
376
268
316
326
323
293
354
293
336
247
346
278
350
338
285
382
345
406
310
346
366
279
328
396
387
317
337
286
358
294
337
408
389
422
400
342
305
347
325
320
374
368
379
315
327
281
284
237
296
356
274
387
384
236
238
277
285
266
321
295
352
339
358
252
272
300
375
364
293
395
275
266
356
330
374
322
327
355
328
328
391
288
329
317
265
339
240
301
347
303
321
376
287
295
303
380
300
331
291
363
326
304
326
334
298
280
266
345
302
336
312
329
330
260
318
241
343
298
422
252
328
299
349
359
309
332
338
304
221
240
317
343
320
278
280
355
274
343
394
361
353
317
298
250
308
309
247
398
322
269
329
266
387
284
342
298
292
204
303
342
285
345
413
326
271
376
428
290
324
336
310
332
400
298
181
329
379
275
201
349
270
351
245
301
402
325
256
369
292
299
312
297
318
350
267
339
349
352
294
372
336
298
352
287
336
329
209
345
271
361
280
372
270
353
326
299
352
301
317
325
343
318
255
350
257
342
220
206
403
283
320
326
349
326
253
300
301
338
335
271
370
261
304
241
286
320
262
291
320
302
304
306
365
379
257
341
318
374
351
288
318
349
301
304
310
326
336
287
276
292
400
319
348
338
323
303
220
322
339
243
325
239
347
293
295
307
286
282
324
266
312
373
342
286
262
298
349
267
363
291
299
290
296
251
327
278
139
328
288
375
316
402
332
426
356
240
389
269
351
315
339
307
230
328
263
287
340
302
308
350
255
284
287
351
270
260
313
281
318
332
390
247
364
359
308
296
357
279
331
263
302
335
352
308
278
292
246
372
322
298
271
324
264
266
382
318
223
355
384
362
371
273
348
301
364
287
393
363
319
321
327
300
236
368
280
359
364
284
282
335
257
262
327
338
306
326
306
335
367
249
369
260
402
362
303
342
284
184
356
308
352
240
278
333
436
347
286
358
283
290
347
360
326
317
262
282
297
344
312
256
264
298
340
371
351
347
295
332
291
285
300
323
286
352
362
310
295
283
356
274
353
280
272
242
260
391
241
299
306
318
370
242
238
315
376
348
296
373
367
372
299
260
274
269
346
345
306
260
270
322
323
341
353
346
257
315
307
272
248
300
376
316
319
298
280
356
320
252
300
265
255
349
306
380
297
355
345
272
280
289
328
273
321
379
293
381
240
235
347
313
359
314
295
336
282
274
351
338
289
300
290
289
346
279
356
368
311
295
326
301
287
361
278
332
338
308
288
365
318
303
278
247
351
289
252
283
307
272
351
293
297
299
405
296
358
226
337
340
330
299
358
342
324
264
320
361
392
396
320
380
329
343
372
321
305
270
352
345
381
319
323
364
380
298
294
254
284
272
385
272
260
287
359
390
299
341
353
297
366
316
369
289
381
248
318
308
340
316
315
298
340
307
318
363
287
294
303
324
280
262
341
318
214
302
253
254
319
364
273
311
340
343
314
366
368
398
353
249
239
306
399
311
350
337
332
321
373
288
310
321
281
348
285
378
390
278
305
355
291
316
388
242
353
327
281
372
290
357
339
305
358
280
224
254
456
279
323
314
375
305
352
287
374
290
407
343
333
320
272
299
244
293
365
273
249
312
346
280
280
308
271
370
306
332
198
347
315
351
320
362
351
333
252
318
339
334
353
297
317
315
284
243
354
368
361
389
362
310
434
276
367
332
307
373
281
257
348
310
335
287
298
262
345
326
361
276
402
343
366
288
319
339
235
285
307
339
320
350
282
303
333
300
287
337
291
361
329
237
365
352
321
278
290
395
346
349
303
375
324
345
361
308
314
308
372
277
304
263
343
354
353
287
377
344
354
339
345
290
322
361
291
281
286
294
339
292
329
315
317
310
347
325
297
341
326
347
346
362
315
324
316
324
412
371
348
262
275
287
276
247
323
254
346
329
251
257
333
323
425
349
297
297
272
340
365
245
394
325
243
265
320
334
309
355
352
299
291
293
338
307
331
320
244
308
337
296
330
385
371
318
314
279
353
352
351
363
278
369
342
290
329
379
369
294
268
216
308
322
357
395
375
304
297
348
339
360
343
386
239
307
334
361
313
327
176
330
353
275
308
276
239
353
236
431
320
384
230
287
380
297
304
378
289
282
300
347
387
314
289
270
281
283
377
382
357
244
308
294
304
364
296
282
253
306
260
255
368
260
282
303
358
361
227
293
364
299
376
283
326
220
372
377
343
271
277
280
385
299
301
352
342
338
330
270
332
375
198
339
312
357
240
281
284
362
263
315
167
368
353
306
333
214
302
250
361
350
360
358
324
387
329
327
342
298
381
364
321
284
313
304
389
367
255
308
374
321
237
335
305
292
236
238
305
353
347
363
325
361
244
296
339
311
347
289
368
326
326
382
316
304
333
257
280
278
322
351
331
322
267
303
348
314
317
370
377
237
326
301
399
367
257
299
383
303
361
342
299
290
311
315
337
266
326
325
306
254
275
299
333
323
286
413
360
309
321
249
333
374
367
236
235
270
341
297
217
256
370
345
343
322
377
336
306
344
303
344
338
414
340
312
289
296
203
400
359
307
397
341
357
353
395
297
377
269
367
253
319
328
309
306
337
304
345
269
316
356
313
345
279
342
294
333
279
272
249
380
320
302
345
295
265
306
284
331
347
253
381
324
235
331
342
316
309
279
292
294
356
283
196
346
335
313
344
374
351
326
291
314
242
309
333
377
401
397
293
441
299
349
253
371
197
277
336
259
319
261
299
295
366
352
400
345
283
339
317
317
338
327
322
340
328
267
290
188
287
279
316
287
357
384
350
339
354
349
280
322
271
305
268
369
334
351
286
249
311
328
350
379
245
326
267
328
308
303
245
272
301
385
280
428
289
331
274
316
403
298
279
276
282
310
272
393
262
248
317
344
363
297
263
296
396
293
387
258
316
318
241
254
369
322
316
367
326
438
297
382
284
320
397
394
308
286
348
296
291
368
306
309
270
282
290
194
299
237
380
287
304
331
294
327
376
321
358
296
343
282
266
204
305
286
314
291
252
382
283
289
290
376
340
329
377
322
249
313
269
301
271
282
389
318
309
230
420
392
355
305
322
284
200
296
335
361
279
335
199
359
307
338
428
310
367
350
276
329
318
328
216
394
325
317
230
246
252
252
332
304
260
298
266
308
354
277
353
342
349
312
309
317
301
343
410
240
224
277
383
273
308
268
368
278
338
245
292
275
298
286
376
298
331
261
384
298
287
335
310
356
280
287
338
384
288
241
300
316
327
301
294
304
305
371
273
258
312
354
345
338
356
366
246
320
443
314
277
318
291
256
271
378
344
374
375
308
341
339
312
356
283
378
307
228
378
265
259
277
352
348
321
361
334
367
259
315
358
355
274
365
341
363
325
256
402
259
343
338
269
343
302
289
293
351
333
327
320
306
411
308
287
237
281
318
301
322
331
370
317
326
358
306
327
371
333
294
345
330
322
380
358
300
384
367
342
268
342
233
251
268
325
321
335
282
300
238
272
260
407
390
280
337
263
294
336
311
311
316
287
306
356
235
253
304
385
301
292
264
396
386
260
351
375
340
321
389
246
255
262
320
307
300
358
376
297
238
365
315
344
305
319
320
315
341
302
295
289
320
360
292
259
324
327
324
272
270
374
301
273
331
268
338
278
246
230
382
250
348
273
379
318
327
251
298
270
335
352
269
268
284
298
332
398
328
301
258
291
351
359
289
322
300
290
218
373
375
344
295
352
296
214
276
331
323
319
250
284
284
337
261
318
309
329
324
363
424
351
281
294
285
280
304
261
354
295
252
339
353
357
301
346
324
208
353
274
320
298
341
315
315
304
366
284
340
227
356
317
354
343
295
250
348
371
302
321
318
237
285
404
250
344
336
388
311
384
342
289
356
262
315
294
347
299
260
354
359
277
283
369
258
338
380
335
323
258
262
363
257
261
301
326
307
336
288
345
255
308
355
336
272
330
260
373
266
255
312
333
313
445
299
279
298
288
378
380
367
216
303
235
294
318
294
235
256
341
326
336
302
336
373
220
340
341
329
332
348
233
302
325
333
307
343
333
352
387
228
276
297
262
345
267
311
317
267
339
347
267
250
285
346
276
381
263
321
402
379
185
353
327
336
277
364
237
250
377
371
318
329
274
286
308
345
230
309
333
330
339
223
376
325
320
326
331
333
235
267
270
276
259
325
299
286
292
247
281
309
295
374
325
277
323
371
329
400
316
346
344
245
328
358
303
292
398
358
285
315
336
385
355
349
261
366
278
316
270
343
326
405
346
347
285
262
259
276
293
413
274
369
313
341
234
290
263
289
414
429
252
276
386
399
268
291
364
363
358
349
288
302
375
310
363
284
334
341
295
304
354
272
284
308
312
290
310
329
294
324
322
320
345
349
326
390
267
286
329
300
335
410
282
422
363
332
406
255
310
369
274
355
305
293
384
296
302
344
267
274
330
319
256
239
274
361
342
420
348
398
390
295
357
318
281
332
352
309
285
278
350
276
281
343
301
333
372
260
340
291
272
343
351
285
330
280
319
348
420
322
344
379
340
237
347
302
306
282
320
290
323
324
300
369
302
321
271
316
323
351
388
364
239
359
249
352
301
269
301
308
344
142
326
223
338
270
300
350
239
289
300
377
318
274
278
304
294
210
295
325
327
342
262
350
386
293
252
254
266
319
323
342
335
291
286
354
362
293
315
300
346
287
226
311
348
219
282
396
302
329
273
353
267
320
265
307
356
345
323
335
368
337
406
332
283
270
389
278
282
277
265
315
334
350
398
355
329
349
377
380
267
311
265
341
348
308
190
295
421
346
306
308
332
279
369
224
351
302
281
295
316
281
283
225
299
314
264
371
317
264
438
354
337
351
277
298
371
363
270
340
359
319
354
329
333
354
281
348
310
290
362
262
386
299
297
290
382
275
271
420
189
379
319
313
334
342
415
319
298
316
369
340
328
279
341
289
265
347
362
263
270
423
411
247
278
394
326
301
303
247
239
256
277
297
239
314
287
380
253
245
322
321
326
283
321
288
296
262
314
289
336
299
306
292
314
291
314
353
334
342
292
339
254
304
261
289
356
221
305
211
351
306
367
355
325
275
320
315
355
337
317
293
309
278
335
303
272
335
195
368
291
337
335
272
339
369
348
307
326
268
284
233
271
324
306
309
320
351
333
297
365
297
278
313
393
345
318
340
317
274
199
192
394
291
409
361
358
285
232
270
264
310
323
334
346
261
318
325
290
327
313
310
198
274
292
391
204
327
351
316
393
291
305
295
291
320
367
371
273
348
343
322
327
302
288
279
334
301
296
204
296
301
343
354
287
317
329
303
386
329
263
392
331
304
321
255
318
339
305
399
367
293
264
339
245
299
332
294
391
339
310
337
379
320
344
370
414
269
290
329
305
281
294
303
311
236
339
328
344
362
199
243
315
335
316
360
273
322
322
367
349
404
275
316
278
274
324
380
241
320
295
180
303
319
281
327
308
300
202
354
373
273
297
310
373
319
302
306
320
245
283
356
272
319
261
338
304
300
296
385
272
360
325
364
255
355
331
348
249
259
243
374
280
347
356
334
286
267
309
250
284
410
372
322
357
328
379
294
322
297
366
316
282
269
299
290
364
232
340
311
292
288
292
360
358
327
312
361
321
309
333
341
404
280
296
368
349
330
345
383
332
283
257
409
364
343
313
303
390
296
247
327
359
269
338
291
301
389
271
294
279
317
235
300
371
273
298
289
288
399
425
271
299
339
332
343
259
378
336
274
299
278
352
345
308
235
317
292
266
274
341
247
358
287
266
282
328
423
364
242
317
288
348
302
338
314
331
294
363
283
227
318
268
366
324
405
293
321
324
308
320
320
314
353
334
269
303
332
240
313
321
259
369
349
329
258
329
277
288
331
304
273
358
254
296
375
327
282
310
259
227
237
324
226
362
281
348
253
282
344
354
324
331
319
309
317
283
270
265
431
283
317
205
303
275
248
331
364
302
273
338
303
326
295
266
325
358
258
374
303
325
279
244
268
294
361
306
319
393
317
362
201
354
339
345
401
321
353
371
376
376
223
320
335
301
236
320
245
333
381
259
340
340
333
339
350
393
272
324
308
328
360
306
335
315
320
343
305
269
340
272
305
371
306
397
260
335
299
346
303
376
365
318
261
316
253
307
346
332
350
246
303
365
342
224
341
325
249
345
311
302
372
330
358
354
263
295
278
227
306
316
318
363
295
302
323
337
325
383
309
373
404
367
250
284
380
395
364
256
377
228
324
296
432
302
292
248
252
300
383
290
281
365
293
268
236
345
291
252
338
318
337
352
264
271
294
333
201
286
266
342
293
357
267
290
308
294
239
412
302
343
267
367
287
329
354
329
329
336
304
258
209
391
207
307
239
335
319
408
374
232
264
311
315
349
273
275
308
300
293
296
353
271
292
375
353
246
295
344
266
321
281
240
349
324
353
272
302
274
277
324
319
271
356
333
270
242
315
344
348
344
331
323
329
332
266
309
278
392
297
305
358
321
278
219
323
365
188
256
265
335
341
254
365
331
336
360
318
350
318
327
325
358
286
296
316
326
272
300
238
349
274
283
295
293
231
333
295
232
310
363
282
377
278
273
305
284
297
347
370
353
324
296
326
281
216
319
344
350
378
350
330
238
402
302
366
241
308
292
300
299
275
322
350
341
315
330
300
294
356
370
346
414
329
275
353
264
323
375
359
288
371
390
287
253
239
418
288
234
352
300
264
250
382
265
435
364
311
301
335
332
226
319
377
377
327
311
291
299
313
266
262
284
295
323
237
333
353
367
317
301
291
205
341
421
373
306
284
317
361
356
329
267
229
290
344
368
227
286
237
301
382
257
280
353
311
366
326
315
307
299
287
332
346
313
312
300
299
299
286
346
278
240
363
314
348
307
291
327
320
335
360
373
246
297
303
285
359
340
332
290
401
333
312
308
297
275
413
270
359
321
300
299
288
204
276
287
302
309
240
289
248
344
334
334
363
326
267
353
322
288
299
324
290
322
339
309
401
338
293
319
316
290
363
375
256
350
276
367
264
257
368
328
381
387
315
335
327
404
272
250
232
305
366
269
272
408
324
294
330
305
316
246
257
283
326
291
288
336
327
259
252
329
366
329
383
360
325
369
380
286
250
221
353
362
335
353
331
286
342
386
386
342
320
200
311
401
287
233
348
344
336
329
313
307
257
312
383
291
243
327
394
435
321
215
355
254
385
373
297
407
302
390
315
342
308
261
291
360
220
314
286
333
299
338
279
284
374
331
328
352
311
307
308
369
263
328
293
304
277
328
384
298
305
385
335
331
383
329
354
344
401
233
346
298
370
422
378
288
343
315
232
267
218
369
263
184
284
328
328
274
383
349
380
425
414
285
371
326
267
226
218
397
363
238
389
354
307
237
277
267
321
268
268
354
305
369
319
400
253
346
313
235
277
339
215
349
320
348
195
263
248
309
303
300
349
350
254
298
298
339
378
373
358
389
371
354
373
325
367
309
347
321
371
266
400
284
291
405
331
387
249
245
352
282
272
338
232
349
251
336
252
280
283
336
267
339
327
354
297
372
291
315
340
288
288
309
289
352
352
323
324
350
272
311
359
297
312
396
285
303
306
332
270
323
294
375
282
363
341
228
304
252
359
278
299
257
330
283
345
334
248
224
308
340
365
343
303
237
237
329
380
274
349
301
234
386
312
289
289
279
357
346
337
314
396
337
423
292
270
289
337
373
296
266
304
302
376
372
286
311
301
243
267
312
362
304
329
343
315
313
273
325
370
315
341
321
297
343
333
257
330
311
394
310
370
320
260
305
386
310
328
307
309
255
387
335
315
300
302
278
227
249
374
336
248
316
273
305
372
276
360
241
296
233
270
260
343
284
400
355
287
337
286
386
344
258
331
358
297
366
304
317
318
232
211
348
281
369
333
299
291
357
388
285
320
294
294
377
235
296
314
378
241
312
276
319
311
364
278
277
402
314
380
339
321
303
285
276
326
275
342
269
354
275
314
342
348
285
309
311
339
346
357
293
338
326
219
364
308
249
305
393
280
326
319
329
293
271
287
274
307
312
244
290
370
279
279
353
291
371
325
298
322
327
322
358
336
372
310
304
334
310
282
370
280
252
319
280
321
271
282
260
359
323
426
285
293
293
301
283
253
393
294
296
320
412
349
247
310
358
276
314
320
336
292
329
296
382
333
413
309
311
374
385
271
298
269
353
345
287
282
312
250
278
351
309
286
364
317
341
251
388
256
264
366
313
300
346
363
375
342
311
298
350
419
263
328
345
291
271
288
463
335
227
385
335
256
327
298
276
225
314
344
366
375
386
286
279
385
208
273
336
301
398
254
312
283
357
309
395
270
386
332
238
315
311
315
261
335
282
318
275
392
300
232
309
290
268
337
337
321
255
316
366
296
323
344
364
313
348
391
346
328
310
236
375
348
312
287
317
339
362
340
368
289
346
379
383
320
310
267
272
388
368
352
352
292
342
294
313
318
358
248
358
336
296
300
294
313
370
335
315
318
324
287
315
325
212
291
306
359
335
312
335
302
400
311
331
320
204
255
322
311
371
350
357
302
377
211
351
309
237
301
320
367
326
313
230
253
258
274
317
300
301
310
282
274
296
281
317
333
411
332
387
334
310
400
363
264
301
331
323
364
320
283
282
313
329
266
266
410
323
265
282
376
387
326
309
288
231
361
291
283
316
333
344
311
352
275
375
261
372
310
311
275
297
386
399
290
358
336
253
288
265
367
354
380
313
257
341
367
320
400
324
372
315
331
292
331
280
288
283
246
280
253
320
334
331
295
315
318
409
286
347
339
269
253
249
305
364
364
286
302
316
306
285
295
296
270
341
323
277
388
281
292
322
349
330
366
328
330
333
257
338
329
381
302
282
359
325
329
373
393
310
282
307
272
299
359
300
280
267
322
293
336
294
362
391
275
370
337
306
337
339
262
349
260
177
371
229
303
308
304
259
331
271
334
311
307
393
362
363
340
302
295
269
373
322
340
331
277
218
326
327
352
363
280
366
396
226
294
224
320
251
338
364
340
267
301
289
298
359
328
351
239
338
342
383
227
404
332
326
349
357
363
275
239
271
338
271
293
302
334
371
224
301
360
276
262
342
306
274
269
334
345
316
239
315
303
351
279
319
320
265
317
294
277
321
360
364
303
315
303
372
363
318
379
247
290
275
329
223
264
380
349
302
292
411
305
265
394
365
318
339
320
329
334
289
364
346
292
321
311
352
339
377
232
347
258
317
346
311
343
267
325
360
306
302
338
362
335
339
287
425
365
269
363
301
275
401
382
322
349
300
329
322
286
321
322
353
278
316
419
341
352
362
379
295
325
286
383
332
417
345
370
347
306
330
303
287
293
274
366
451
255
322
284
331
321
303
238
286
364
321
331
318
335
301
335
318
376
315
381
362
356
303
380
346
364
315
319
353
352
370
321
249
323
339
301
331
327
277
374
290
331
278
313
289
309
267
311
375
276
365
278
341
273
290
316
323
200
329
356
350
287
301
264
329
346
221
321
361
307
333
321
238
293
324
324
294
420
349
322
353
369
307
306
326
304
308
275
281
383
319
276
308
280
367
393
288
268
303
355
369
346
354
350
383
379
339
372
345
292
258
274
261
295
324
318
291
303
244
322
256
358
279
286
227
353
228
219
278
328
312
383
334
245
280
355
224
227
378
327
258
326
337
321
258
313
321
355
337
316
391
327
309
236
308
314
322
333
372
311
266
368
370
346
375
342
382
266
340
330
339
318
404
321
311
288
353
272
321
291
292
303
305
294
294
314
338
254
387
298
374
255
265
279
343
279
332
329
369
283
379
272
343
339
307
361
258
333
355
258
249
176
389
425
364
356
299
325
288
274
313
381
306
340
332
273
327
325
313
248
347
336
362
289
289
290
272
360
322
269
328
320
324
389
281
370
291
356
293
318
330
389
378
268
311
343
275
372
344
374
313
360
286
324
313
312
263
322
338
304
309
298
318
360
333
344
292
311
288
299
305
281
395
274
298
280
370
319
310
322
295
368
376
355
305
321
302
234
330
298
372
276
237
309
364
249
283
356
279
325
279
392
307
238
323
286
381
271
340
312
377
312
304
222
317
297
234
367
306
410
337
377
237
242
322
307
387
307
284
277
198
297
376
348
356
264
327
247
255
322
313
256
326
324
387
271
371
345
346
192
336
280
302
372
307
254
388
367
266
274
328
322
305
230
420
390
368
322
294
357
336
328
361
350
360
277
288
315
259
325
304
349
296
329
390
318
268
256
328
287
307
267
302
309
348
295
321
259
245
325
382
312
347
331
354
355
309
223
350
349
253
279
320
349
328
299
343
271
315
398
306
320
266
304
325
291
297
363
329
356
267
365
328
301
294
295
251
422
257
323
278
454
310
279
341
335
294
304
278
333
345
371
326
290
314
398
267
206
284
318
335
303
282
259
377
366
265
339
329
295
322
386
328
280
381
252
380
444
378
313
270
282
272
346
272
296
373
350
279
421
289
236
333
302
328
387
360
361
328
239
320
348
320
334
399
272
347
320
376
325
278
397
353
262
310
306
241
278
279
295
329
355
296
296
302
350
336
351
357
329
312
257
291
377
265
268
338
315
297
300
313
283
352
204
279
218
279
293
341
369
274
252
342
352
294
320
351
287
306
295
276
293
296
308
382
308
372
191
278
337
322
396
317
328
350
284
356
351
289
324
319
369
346
270
340
380
353
350
315
296
330
239
383
404
307
307
261
294
318
316
382
365
346
342
301
240
310
392
300
262
309
301
346
260
284
372
239
310
322
334
371
359
292
377
288
415
251
262
243
326
394
407
312
289
347
335
364
274
158
261
376
258
348
374
269
268
333
307
295
264
286
318
272
253
349
298
200
241
339
240
286
320
222
344
343
310
304
305
323
322
398
290
394
367
333
279
318
310
292
219
293
348
329
352
455
332
375
370
333
280
293
241
272
326
368
354
287
304
320
353
381
331
355
268
336
315
404
326
244
347
347
321
340
311
349
252
273
288
275
294
241
320
349
322
299
304
324
342
294
318
291
300
403
378
291
329
321
229
297
333
310
342
332
302
329
320
341
313
351
326
310
291
336
338
288
428
296
307
274
319
311
360
308
282
355
284
311
314
322
326
274
279
308
323
407
388
398
301
237
247
286
350
332
277
397
296
400
319
291
416
317
354
222
273
272
329
342
280
328
309
302
340
258
405
326
349
349
332
318
342
367
386
254
296
191
299
356
254
290
325
428
263
268
331
297
319
281
270
340
353
365
386
331
249
306
329
401
323
382
405
336
305
329
273
249
357
361
338
333
322
326
403
375
230
320
412
380
319
361
333
247
310
368
319
365
325
324
275
276
274
276
329
379
314
304
306
339
307
318
273
298
249
272
356
409
237
304
274
303
358
300
297
335
353
324
386
360
332
446
362
273
360
262
333
372
273
313
359
266
319
368
330
326
308
258
357
378
351
336
258
267
322
375
320
300
385
362
371
222
244
363
307
344
343
339
321
319
338
326
336
336
314
317
285
261
324
283
269
365
295
324
286
282
315
284
396
335
272
356
350
297
350
331
265
231
335
304
296
307
267
302
334
329
349
306
367
338
298
301
317
320
360
283
308
299
274
361
329
292
207
343
363
403
269
341
226
343
318
295
319
367
326
210
324
303
307
282
326
387
248
318
268
276
310
405
392
279
383
340
359
259
309
296
314
329
270
323
318
347
353
278
359
336
260
280
351
286
296
279
343
348
273
416
364
320
253
327
259
267
323
263
370
226
343
333
203
370
267
306
327
343
264
302
243
337
300
354
225
321
394
266
375
289
305
258
300
222
377
333
239
391
305
288
275
333
266
349
340
384
324
370
397
299
380
390
295
340
349
311
361
295
379
299
299
295
276
351
241
238
231
338
232
264
309
297
303
270
361
319
366
336
189
269
344
351
326
300
276
213
290
306
326
291
286
284
348
292
324
357
284
297
325
297
309
298
322
322
343
293
271
354
290
333
362
347
269
287
361
336
275
348
346
386
325
264
249
267
340
388
316
337
406
278
314
398
347
373
275
341
317
350
269
278
349
360
247
302
288
228
283
312
278
361
324
292
336
290
302
350
342
357
329
301
280
343
311
354
271
315
298
360
328
337
304
274
337
336
250
344
335
309
330
263
268
273
298
356
263
343
443
245
275
395
288
335
290
324
334
401
273
297
260
341
374
298
292
368
299
305
323
337
348
258
342
314
361
373
225
286
292
273
366
351
281
374
264
377
363
383
352
316
345
315
320
319
345
278
301
229
294
266
295
375
272
365
337
280
259
390
343
285
260
328
286
283
321
320
308
335
299
249
370
265
305
337
323
352
342
277
363
319
312
286
348
259
452
264
308
302
282
289
355
341
276
336
262
272
249
311
337
341
269
315
310
314
242
327
335
318
312
262
257
232
360
304
297
368
330
344
361
376
291
351
337
323
244
262
362
284
305
373
282
323
249
276
263
192
300
342
372
353
318
312
387
313
275
289
304
330
392
328
336
301
263
340
346
365
238
272
371
306
301
358
313
338
332
311
324
297
381
325
384
343
329
345
276
302
284
310
266
351
233
285
227
319
357
286
386
355
322
294
342
327
363
328
311
311
302
269
371
349
362
340
262
342
325
262
277
235
313
298
333
272
350
353
213
320
294
319
262
316
295
320
350
253
258
289
228
321
304
292
360
283
267
359
304
292
347
327
359
373
281
277
282
248
323
281
285
321
403
324
263
250
369
302
339
249
301
254
253
313
240
299
374
274
351
235
245
302
336
263
339
328
276
348
289
318
316
238
327
262
273
305
305
318
233
339
422
277
331
253
328
245
299
373
329
370
296
307
303
244
252
324
280
345
430
269
386
318
369
335
340
278
331
284
394
275
244
367
312
336
308
317
327
279
406
286
326
355
350
361
292
364
284
285
298
338
226
333
268
297
364
381
379
345
296
359
389
347
336
294
269
316
269
258
368
402
378
250
280
259
280
290
246
281
272
326
387
263
277
331
330
245
285
225
287
323
348
261
387
364
324
327
242
337
298
396
331
254
205
351
250
301
335
351
215
342
319
307
273
376
308
323
260
296
272
284
302
301
335
351
275
342
303
334
318
288
330
248
238
270
339
367
334
288
249
255
290
303
251
333
263
278
309
272
299
300
264
272
228
304
264
288
313
279
310
301
288
298
276
332
347
247
347
340
222
295
344
252
172
289
340
379
316
305
352
418
304
318
295
205
276
251
248
327
331
432
406
265
305
260
340
240
358
222
326
231
327
353
346
346
304
363
226
359
324
250
318
357
321
345
284
298
340
356
365
318
324
247
410
290
343
361
315
296
352
275
306
337
265
312
351
323
322
267
349
342
336
286
328
394
302
281
325
363
372
303
288
259
236
351
337
366
297
356
285
296
386
334
353
307
397
361
335
262
305
388
334
311
278
337
324
320
418
318
262
351
308
356
321
316
297
255
320
344
380
256
296
308
333
288
279
350
363
316
299
287
305
346
310
356
205
341
321
257
270
294
268
356
366
310
312
281
291
306
278
285
377
366
338
284
282
356
249
333
352
359
277
417
331
336
365
361
311
344
374
311
345
244
311
236
401
289
368
424
336
278
249
309
333
253
382
267
331
350
326
273
301
344
327
301
379
321
357
341
265
333
313
314
387
390
295
316
362
379
376
255
315
402
341
328
354
301
308
255
251
296
331
388
252
347
238
355
271
316
333
299
253
270
336
330
197
289
336
294
321
330
310
313
279
346
332
356
320
305
342
329
360
361
268
252
347
338
320
308
303
288
369
276
269
359
344
267
355
257
333
416
302
376
400
407
310
264
365
332
358
255
373
299
279
306
386
336
329
276
411
336
438
348
312
255
325
315
360
313
353
375
295
237
412
314
274
257
323
246
294
291
214
310
227
402
341
327
302
306
393
363
290
261
321
273
298
339
275
328
308
378
190
226
295
374
319
353
359
328
317
283
381
306
340
294
292
335
263
302
325
289
306
338
254
277
255
229
341
344
309
338
310
320
389
342
266
192
231
283
267
325
335
360
243
282
317
262
307
294
397
296
248
352
310
306
262
325
310
352
346
326
265
373
326
358
312
375
271
288
289
356
346
311
371
423
205
270
321
330
297
276
333
274
282
351
276
247
306
345
271
343
289
388
389
335
346
294
350
335
296
273
240
362
313
362
303
340
295
347
322
337
262
260
352
322
231
316
323
376
304
313
408
310
305
277
323
320
345
328
343
305
294
212
349
314
238
388
358
301
318
297
346
346
237
257
343
367
370
267
235
334
298
298
272
337
338
330
369
270
359
307
258
377
282
267
288
319
318
309
242
296
348
400
338
354
401
287
237
329
326
303
255
359
273
384
233
407
300
400
301
284
359
345
303
289
357
256
249
278
300
270
293
270
295
391
307
334
251
365
295
233
307
289
298
297
316
322
248
307
361
387
385
236
364
345
261
340
294
329
250
323
385
297
330
319
314
293
303
269
292
306
302
289
351
356
278
389
340
310
375
417
391
297
310
320
328
270
290
328
331
367
324
348
275
366
324
281
276
278
266
261
370
416
307
230
270
304
347
241
354
273
323
327
276
316
377
375
288
237
314
282
227
312
365
242
247
294
272
350
323
273
284
314
212
316
297
340
367
246
411
255
354
244
275
304
376
344
329
369
306
286
300
346
315
307
261
327
318
369
289
277
344
319
271
329
272
327
399
278
315
298
334
332
359
345
311
289
324
300
303
347
264
273
336
307
273
363
403
323
308
325
319
323
320
313
264
275
303
389
385
334
242
256
313
370
243
322
328
315
379
374
253
331
336
283
351
342
357
327
171
203
385
371
362
374
348
282
396
344
307
334
308
357
388
378
313
381
296
325
323
320
364
344
369
358
255
365
351
287
329
265
259
327
339
349
289
331
288
283
323
267
338
317
348
331
328
335
318
284
346
340
245
316
273
314
305
332
258
327
311
322
317
351
311
319
287
299
280
360
278
389
288
350
229
303
323
286
370
284
342
286
306
348
310
390
305
353
333
327
310
317
309
351
332
276
350
275
289
325
303
356
305
354
306
312
272
292
388
335
365
292
369
321
360
266
248
295
297
389
289
306
308
351
252
224
254
290
260
334
310
292
219
267
282
294
308
307
310
314
297
276
304
350
229
234
270
312
256
336
331
291
418
311
209
320
410
340
349
291
292
332
220
235
333
268
308
314
310
297
359
359
338
375
325
269
357
352
263
368
329
280
345
298
345
377
354
279
278
309
297
340
319
327
383
330
271
380
288
267
323
304
315
331
313
299
329
292
296
289
376
315
221
282
289
301
347
323
379
277
296
383
299
407
314
419
379
239
264
303
324
342
330
295
356
384
296
328
367
332
286
372
340
334
321
317
301
359
324
288
378
320
438
341
311
284
372
341
309
318
317
297
344
287
287
326
362
314
340
280
251
329
311
354
202
318
273
355
306
291
309
278
341
293
297
291
250
276
224
372
231
356
347
288
264
304
280
350
242
295
327
342
371
280
169
295
308
332
317
321
365
334
345
272
366
315
307
369
336
263
359
324
308
336
289
328
327
359
261
275
355
373
299
343
331
285
379
343
343
306
289
246
266
319
285
320
381
353
273
364
354
319
364
368
384
325
323
344
329
346
356
365
376
346
242
379
295
373
347
382
275
310
375
367
258
326
326
237
268
306
282
331
357
300
227
354
246
257
285
368
326
309
342
393
306
316
342
358
366
350
330
296
334
378
183
304
309
257
369
233
360
326
340
291
253
268
284
345
338
344
263
336
324
354
381
275
269
343
383
340
305
374
375
279
316
360
373
334
364
335
352
304
333
351
369
374
299
296
379
335
372
347
330
273
280
306
363
345
315
347
327
309
267
290
404
315
300
321
249
338
300
299
303
327
308
258
295
354
397
395
252
325
268
275
420
306
308
324
294
269
321
323
291
260
288
282
270
362
374
337
329
299
340
336
267
328
428
291
348
381
245
342
347
308
328
279
290
356
303
325
255
297
240
296
317
306
367
365
304
275
269
292
316
352
314
288
264
308
266
250
347
235
387
352
290
394
388
345
340
338
337
323
408
372
385
278
415
193
246
349
298
289
242
339
252
375
379
262
324
341
344
303
307
318
365
245
303
321
271
275
336
355
343
337
339
320
297
332
310
262
340
389
291
315
306
358
368
332
318
354
354
296
289
262
311
349
329
336
331
296
325
294
256
328
236
271
373
331
444
281
323
290
377
335
280
293
365
226
302
354
309
258
328
342
347
317
292
298
273
281
338
321
360
316
281
283
281
386
353
318
327
277
276
322
339
316
269
283
310
341
345
458
394
312
342
273
309
275
296
285
320
324
302
377
330
334
352
345
317
409
294
286
360
309
357
243
323
223
325
356
321
390
328
359
315
319
356
305
244
352
246
270
270
314
328
325
292
349
341
322
290
302
281
333
325
249
335
334
325
301
448
321
285
305
284
310
301
336
341
318
385
298
287
303
363
322
398
356
314
240
285
326
266
311
366
329
294
336
354
293
271
270
303
339
237
274
302
331
358
335
338
366
285
346
304
275
295
229
278
262
301
320
342
325
261
339
317
346
290
330
263
251
311
345
317
357
333
328
336
324
318
297
296
273
321
293
390
202
293
250
256
386
344
251
326
362
321
387
290
251
379
400
263
318
313
309
327
258
287
270
292
333
270
333
309
349
310
363
250
339
339
344
268
363
376
337
266
330
252
353
319
273
361
226
246
274
320
303
350
357
244
323
330
346
376
313
310
301
344
344
304
277
325
318
308
280
342
248
330
311
188
348
373
338
355
295
276
332
339
382
302
330
300
338
300
297
319
166
356
309
274
367
222
241
310
364
320
340
287
349
366
344
316
291
367
378
283
342
325
288
243
273
287
279
263
302
350
334
371
226
321
341
326
250
336
318
282
279
335
334
224
353
282
287
351
215
380
238
376
259
287
313
312
321
296
309
258
312
311
277
368
335
285
401
335
351
313
211
265
407
286
339
388
344
304
276
341
243
329
403
335
365
338
310
312
308
295
253
256
319
381
235
287
206
363
401
354
277
349
308
280
209
297
358
301
388
316
298
385
306
261
335
296
326
253
287
372
215
327
309
231
328
325
347
348
326
340
318
400
337
289
262
325
250
284
309
369
333
387
261
320
276
296
290
366
319
281
251
263
254
361
293
373
312
369
367
380
264
260
333
216
297
300
405
359
354
378
222
336
307
260
293
326
310
275
293
273
304
413
288
316
315
348
308
276
356
376
349
340
279
348
290
223
352
278
287
237
292
348
348
333
322
237
347
307
270
331
268
332
330
303
311
343
330
281
301
323
309
329
329
344
293
283
291
223
277
261
315
329
317
358
293
355
339
349
290
338
267
320
316
319
350
390
363
361
351
233
347
336
312
290
346
350
271
306
302
290
318
247
305
362
316
326
307
251
250
317
301
348
269
259
342
230
315
348
318
373
312
380
255
395
321
332
360
294
254
260
329
298
358
305
250
307
243
278
261
386
351
305
299
309
346
273
261
319
438
301
269
322
324
305
278
314
300
294
277
350
365
395
291
310
318
257
338
304
295
306
307
364
390
375
366
296
270
358
332
231
360
254
233
349
278
333
342
307
383
299
350
333
239
357
219
351
273
365
379
351
359
357
325
315
280
362
396
331
276
323
309
312
339
268
352
307
390
224
299
339
380
309
289
366
329
304
335
319
328
362
256
298
255
323
262
283
297
329
327
304
301
265
191
382
214
314
310
318
337
275
204
233
347
274
288
325
331
292
357
337
335
344
237
242
306
246
385
293
319
362
309
330
367
300
284
238
285
339
285
425
295
295
315
327
338
313
295
326
352
306
284
302
401
310
336
351
294
318
274
314
418
251
303
360
219
318
298
329
256
276
213
228
387
261
257
364
357
276
278
374
410
379
346
285
307
290
404
351
311
279
308
317
286
292
338
353
394
369
338
327
274
305
308
242
279
364
264
241
268
269
250
340
255
231
324
316
298
284
321
343
305
305
286
259
320
327
226
328
375
275
349
334
373
269
359
333
352
297
317
310
207
355
371
353
338
338
261
321
250
266
353
329
287
220
384
355
297
397
351
351
316
319
252
383
387
346
293
345
327
319
355
315
284
389
228
320
306
252
362
383
277
330
309
360
304
308
333
296
357
243
292
364
301
289
290
354
289
311
286
280
259
315
362
325
339
311
428
316
286
298
365
338
260
362
286
360
253
282
293
231
401
246
331
321
363
264
216
326
355
289
273
324
300
291
333
328
358
295
299
388
330
281
348
276
289
375
334
261
312
256
295
346
351
304
318
376
344
332
315
322
353
255
308
328
306
312
360
274
248
298
282
275
295
263
269
248
444
338
277
278
355
360
230
339
382
359
296
315
287
251
414
320
337
286
250
385
264
351
335
263
276
275
302
266
250
380
275
229
325
324
415
280
288
285
230
337
263
312
366
353
323
335
367
308
377
348
325
281
345
276
347
326
280
361
275
312
335
350
207
220
274
273
311
363
308
266
281
288
329
412
292
365
320
301
273
285
319
315
323
335
299
353
344
275
340
341
333
363
324
295
258
306
333
269
277
379
305
357
231
288
258
336
350
336
289
311
297
347
362
352
284
384
299
344
250
313
317
270
352
330
294
255
283
357
327
232
346
313
397
328
323
339
381
307
353
322
317
394
270
329
310
247
321
329
234
223
299
306
381
352
356
276
352
358
385
337
341
297
380
349
290
264
346
330
273
279
346
324
308
283
373
372
396
347
344
276
291
373
323
353
349
344
305
377
316
314
201
267
355
267
338
363
321
326
307
386
355
361
300
262
316
358
239
306
343
248
307
250
314
340
324
287
356
286
341
384
344
294
339
323
336
387
372
280
384
334
321
267
386
277
292
307
275
352
227
287
386
333
339
279
319
342
266
273
345
298
304
355
285
297
310
322
311
310
318
353
342
311
308
280
288
245
260
329
391
355
322
292
335
305
393
299
389
392
276
264
338
364
259
266
341
330
213
317
366
247
327
291
283
315
195
165
254
374
276
239
308
326
297
245
254
264
363
330
295
332
282
312
257
316
279
418
276
372
202
283
173
282
297
237
253
385
371
255
328
295
250
368
387
302
352
356
317
288
247
356
297
318
258
326
384
401
356
317
361
278
298
252
248
315
326
307
243
381
279
347
282
315
260
348
409
315
319
304
306
355
309
274
337
325
206
348
281
309
354
323
255
342
334
340
194
343
271
267
379
301
330
347
339
230
317
240
314
294
320
342
268
358
365
310
282
333
329
369
321
292
358
283
255
289
336
325
284
324
328
258
339
243
216
326
300
272
323
377
410
409
267
314
258
385
312
388
315
374
274
304
285
348
304
310
327
397
344
346
295
383
319
365
395
287
319
386
258
334
306
295
240
287
323
334
376
225
294
234
291
332
271
210
356
341
367
405
347
391
348
294
323
327
272
278
288
278
320
278
423
244
355
314
365
338
316
306
282
337
388
355
275
311
359
346
325
326
268
267
278
341
336
306
340
369
271
272
326
291
310
319
297
341
188
286
322
238
317
341
251
291
284
327
300
294
248
300
330
331
330
339
291
325
277
348
363
276
353
288
294
366
319
264
336
324
345
295
331
293
253
250
368
284
286
346
277
327
327
236
325
279
342
419
282
391
302
342
198
357
316
328
340
351
381
320
333
342
291
305
317
332
254
336
415
309
325
266
276
268
417
313
309
269
317
252
290
379
319
273
257
292
337
325
366
291
328
333
255
346
284
338
216
383
249
261
309
257
370
435
212
391
320
306
283
439
321
339
304
372
286
233
378
342
301
313
322
320
327
339
309
295
347
373
294
335
326
358
345
368
303
355
291
293
261
324
285
289
350
351
254
379
309
267
365
338
308
364
356
249
281
262
324
293
400
298
301
289
283
319
318
293
343
342
318
353
322
308
327
395
203
291
283
379
300
332
334
248
308
367
287
271
373
351
296
350
353
298
319
339
338
347
286
270
343
274
337
325
261
277
360
248
319
370
337
371
345
371
409
272
271
328
315
372
374
399
364
249
380
267
309
288
304
381
295
280
337
315
321
306
328
322
283
321
340
297
277
332
281
263
373
325
303
279
261
333
259
221
377
211
262
355
355
315
294
344
315
362
263
271
334
357
317
333
301
349
354
258
288
349
294
358
366
324
361
312
315
410
394
317
338
334
269
327
274
337
349
361
278
329
353
304
306
324
300
246
326
343
348
254
292
290
311
384
321
324
309
317
287
318
340
247
320
375
262
278
343
281
327
322
336
411
325
306
329
265
294
324
224
307
405
228
270
363
260
350
303
350
292
350
384
348
333
299
287
341
312
328
278
299
215
317
244
355
336
355
325
295
291
356
331
303
363
343
268
344
341
325
244
265
319
318
343
243
311
309
307
262
352
239
332
289
337
239
306
299
313
289
315
269
331
316
284
287
271
407
296
344
266
298
347
288
380
322
331
310
227
292
341
303
384
334
323
364
331
335
341
331
337
313
307
340
345
309
324
278
389
327
315
282
357
308
365
320
390
272
332
315
360
299
242
355
334
341
258
252
403
284
375
294
364
283
305
311
342
249
316
278
377
286
348
265
307
297
344
350
328
385
354
328
408
410
319
333
359
267
282
315
324
380
270
362
339
340
368
389
269
308
366
322
303
342
313
293
288
287
330
363
315
282
308
289
241
329
265
291
322
404
315
351
350
381
385
322
229
309
346
295
340
255
285
262
348
305
300
301
286
340
324
342
249
273
273
275
343
242
379
325
312
338
348
341
378
377
271
331
305
365
293
278
318
279
326
320
321
309
304
225
406
342
250
198
340
301
336
226
283
313
341
314
313
287
298
370
389
229
295
282
289
288
285
318
254
302
334
314
329
354
289
275
325
248
319
350
337
313
317
315
269
236
290
268
242
286
324
396
348
330
268
289
291
213
280
374
214
332
337
287
299
268
324
377
418
340
290
316
334
360
303
289
395
356
359
288
350
304
309
318
302
340
395
251
305
375
306
300
278
276
348
359
338
402
298
352
230
348
306
337
418
239
309
375
322
341
243
299
314
350
286
251
383
343
312
364
344
318
231
341
320
318
318
330
249
276
357
318
284
293
254
372
274
328
347
327
343
239
395
353
260
267
310
263
342
284
386
327
298
358
300
328
388
305
350
402
323
361
352
318
287
287
306
318
332
397
332
335
323
357
370
366
333
336
332
372
287
269
262
318
345
257
298
229
284
276
357
270
335
271
317
354
313
320
291
305
337
297
304
385
308
294
334
343
353
295
278
274
362
324
273
349
339
373
272
330
301
282
289
322
282
264
217
298
349
412
424
291
262
351
352
288
324
342
386
286
249
317
341
264
350
346
295
302
355
280
280
307
318
343
275
357
371
270
257
373
281
367
340
226
374
295
305
233
352
381
289
288
325
347
402
296
289
288
344
327
288
334
320
293
342
298
340
246
326
334
391
244
378
356
301
353
323
347
352
279
389
329
246
363
329
313
335
312
330
249
258
273
332
291
243
272
247
328
313
338
315
276
314
288
329
288
290
287
293
302
359
342
249
380
297
303
352
312
326
352
350
264
240
351
264
287
378
413
311
365
282
342
288
310
293
365
325
274
373
224
317
271
301
269
318
296
363
364
368
282
338
248
243
317
322
369
262
244
325
278
330
224
310
285
370
319
306
308
371
335
347
337
274
274
326
317
246
254
335
310
311
366
293
311
338
355
302
338
327
347
322
359
338
309
335
323
344
359
344
361
353
314
366
337
347
311
214
391
340
285
380
354
297
304
355
294
324
337
341
328
360
357
396
239
314
289
270
392
306
275
276
395
327
286
315
355
374
318
379
299
306
266
276
368
291
315
296
324
300
327
377
268
291
364
333
240
281
271
327
354
265
245
335
321
296
331
330
268
286
414
347
207
380
300
353
338
318
287
343
360
367
299
305
251
358
281
297
357
390
191
379
299
208
292
353
344
313
257
399
258
294
349
349
266
279
366
379
310
322
367
304
307
328
378
344
319
316
353
396
271
352
321
283
307
293
283
259
348
368
334
309
328
281
297
346
289
312
321
255
343
206
239
351
344
285
341
280
299
295
380
326
245
359
361
263
329
380
336
281
295
171
331
300
204
303
359
258
331
324
238
330
311
253
319
387
269
327
306
314
311
284
316
322
367
319
284
375
280
355
332
311
328
353
348
301
298
215
354
278
307
305
285
286
272
307
338
303
364
266
311
273
354
316
332
313
288
364
317
320
239
322
283
322
280
193
229
285
318
288
329
313
396
375
324
331
330
263
317
232
256
291
267
324
339
307
332
281
280
223
344
249
266
295
249
328
315
291
276
371
327
328
316
394
312
324
335
299
258
244
343
283
359
245
341
339
339
278
237
369
242
303
381
246
383
338
303
369
324
322
282
385
285
246
283
336
217
361
303
402
313
302
405
321
249
304
352
281
288
370
312
383
329
369
271
294
262
386
279
341
304
306
363
325
293
320
163
322
292
291
348
323
386
336
154
263
319
320
328
369
296
238
259
241
357
342
297
299
269
352
328
323
350
329
306
360
310
327
336
330
290
376
304
290
209
301
285
341
313
360
286
263
289
339
308
388
335
296
346
297
284
241
339
266
271
347
319
363
297
321
297
272
281
312
368
267
316
223
346
261
283
321
266
300
210
266
288
343
315
326
383
283
351
300
315
334
349
354
359
250
349
311
380
333
326
335
261
340
328
232
315
297
311
232
367
385
340
284
390
363
190
283
388
323
325
251
276
310
283
343
316
258
241
287
305
344
338
326
316
351
258
346
340
381
320
318
284
391
362
400
346
350
312
248
374
284
314
350
291
369
314
216
297
323
263
262
287
359
399
345
351
270
275
349
292
268
394
373
367
312
281
346
370
275
351
293
268
274
246
351
399
357
353
364
345
256
314
374
339
296
352
300
315
318
348
335
315
336
301
290
326
283
344
316
294
283
244
321
323
308
300
324
298
392
312
323
318
320
316
338
257
405
311
275
265
292
225
387
326
364
335
290
316
293
309
319
301
289
308
315
290
390
336
226
284
365
338
301
312
262
354
317
344
275
291
324
386
275
326
342
277
256
253
303
340
276
376
293
340
271
309
343
257
284
339
255
384
200
351
311
344
377
334
395
306
376
335
264
372
314
289
345
327
301
350
302
286
268
353
377
397
242
357
346
316
349
302
288
321
326
313
280
305
312
305
393
271
247
279
283
370
325
338
371
257
356
277
264
357
399
343
308
319
282
244
435
303
213
294
387
217
227
228
336
321
381
261
326
313
299
350
327
298
275
259
282
362
290
396
230
340
371
283
264
302
230
304
328
243
293
309
304
309
308
377
221
265
371
378
299
331
358
363
266
337
336
324
377
325
293
325
332
292
285
407
314
360
287
262
245
331
366
364
334
290
334
321
278
362
301
311
306
203
252
398
275
304
331
263
339
290
302
301
416
330
353
282
311
273
283
334
198
343
342
313
391
245
281
294
306
275
278
266
291
270
325
353
325
292
267
347
379
298
313
365
281
392
223
323
333
395
367
253
375
357
371
321
292
380
404
277
349
436
385
264
425
305
271
309
355
335
311
384
348
311
263
341
306
305
351
351
318
330
285
350
310
270
285
218
391
349
385
352
331
295
318
360
292
250
280
277
288
335
343
323
315
372
328
322
244
311
341
291
233
259
330
315
351
304
382
323
353
178
331
238
338
290
220
335
303
330
311
256
277
285
257
293
366
366
393
270
385
342
293
291
311
308
205
269
242
279
316
247
372
304
345
267
366
345
311
279
350
244
409
285
310
311
327
357
258
257
324
319
366
292
232
299
352
328
340
293
322
277
360
372
320
357
264
306
291
253
360
312
304
276
284
344
252
315
202
304
345
250
330
348
199
309
351
305
291
283
336
305
346
319
323
346
305
294
321
268
319
323
256
268
271
195
339
340
352
341
391
308
336
238
317
335
347
313
357
258
307
305
311
311
316
277
287
304
287
237
357
355
379
317
330
300
327
357
258
259
310
319
366
369
315
311
265
343
303
390
374
318
337
381
382
323
339
210
273
327
282
330
319
299
318
319
374
329
288
235
325
276
276
309
296
329
364
236
286
302
279
347
332
306
354
286
198
286
332
351
300
310
339
338
350
364
351
297
264
338
307
279
264
290
288
245
223
252
331
303
269
345
270
243
255
309
322
296
274
378
372
278
327
315
310
300
332
294
385
309
339
356
324
370
251
307
312
331
403
311
252
318
324
347
289
357
228
292
355
253
371
231
352
332
366
311
302
257
319
344
342
333
294
308
246
336
374
297
359
346
364
284
305
285
330
293
308
300
268
262
217
291
291
419
299
344
345
285
381
267
352
254
270
139
284
329
258
310
366
319
303
291
256
322
367
366
292
289
312
262
288
311
376
296
280
317
301
270
348
331
350
359
296
411
325
298
316
308
237
300
274
381
400
330
312
331
316
305
369
290
274
358
307
420
360
385
352
267
363
296
213
253
392
259
351
348
317
359
392
284
230
320
257
303
267
346
295
388
269
359
248
297
358
342
255
300
318
371
344
311
280
266
256
323
308
329
330
287
289
257
313
311
332
290
391
297
344
307
356
337
252
299
304
269
278
295
379
375
292
271
283
295
370
347
328
358
327
314
233
338
343
301
255
413
367
331
326
313
311
292
358
370
273
393
213
301
322
302
322
363
301
333
332
252
319
276
311
311
370
356
384
368
215
356
308
357
301
297
341
345
294
321
252
263
314
279
315
306
306
329
207
368
330
349
328
374
315
288
310
414
258
272
288
245
254
380
392
225
321
315
218
324
337
261
318
324
372
316
294
366
340
369
267
367
304
341
328
301
247
360
296
311
329
290
408
333
293
259
341
372
304
277
318
328
383
309
374
231
286
341
291
280
249
318
259
357
282
272
325
258
280
267
336
312
249
396
303
290
335
373
312
359
314
294
296
306
329
312
309
342
201
309
333
385
413
286
344
400
315
316
294
316
314
336
403
356
343
293
238
335
324
290
291
294
251
260
326
275
340
280
297
241
299
252
276
270
347
324
342
260
324
369
374
354
312
327
327
335
295
331
394
279
345
232
372
387
339
359
336
379
180
277
255
300
278
381
326
258
316
256
326
248
284
409
254
306
238
350
317
286
222
352
353
269
362
393
312
279
215
408
336
324
330
312
366
398
289
421
342
414
361
327
278
314
300
277
310
361
312
343
418
333
378
306
345
250
339
354
357
316
346
288
340
343
342
332
260
333
310
355
305
215
323
375
265
347
277
260
382
334
288
383
224
380
383
361
352
233
384
329
267
323
319
290
342
404
287
317
244
272
279
327
331
282
324
388
255
290
366
363
340
339
326
334
279
357
346
257
361
277
289
331
338
315
267
336
293
333
229
324
249
311
337
314
290
320
261
365
402
350
354
267
311
284
224
305
330
256
277
438
349
272
404
349
240
354
245
405
347
269
310
334
293
293
306
336
347
343
393
343
344
236
381
315
350
271
395
246
335
366
319
306
312
339
265
308
306
366
299
318
328
283
322
333
398
329
353
316
251
207
334
269
363
322
249
241
336
411
313
292
321
313
345
281
319
261
371
294
290
364
264
211
313
246
290
293
283
334
312
294
270
327
319
263
244
213
309
305
328
272
418
386
331
253
313
321
304
310
272
383
335
364
351
323
292
297
319
216
323
326
290
410
308
380
333
336
269
328
265
281
378
386
336
319
284
270
339
345
336
220
291
340
358
338
269
385
359
306
308
302
342
323
317
274
320
286
416
348
328
334
292
286
335
327
316
334
328
300
391
336
276
339
303
368
259
293
284
310
366
331
333
255
334
315
312
285
359
340
308
289
292
327
298
384
264
332
315
343
286
318
288
220
299
361
270
351
327
357
359
363
265
287
309
213
353
331
296
321
259
310
360
343
305
293
376
322
290
312
314
284
244
320
349
329
387
314
368
243
432
317
368
247
341
268
304
305
298
348
220
322
295
277
334
267
336
356
338
273
306
257
276
392
331
372
262
358
240
315
328
307
390
280
297
350
378
379
366
352
398
350
300
331
302
338
319
353
262
358
372
381
454
228
314
288
364
336
334
278
324
306
326
255
323
340
298
366
268
288
366
302
215
294
417
316
320
309
360
286
285
306
277
337
289
370
314
255
254
322
300
312
232
326
317
280
335
384
370
292
260
298
357
351
336
340
227
329
357
309
305
307
268
289
302
251
290
287
317
297
348
319
340
364
323
363
389
342
309
177
298
283
300
385
212
313
286
310
291
353
349
242
278
300
251
345
355
312
343
329
274
390
376
273
238
293
357
325
374
257
380
257
206
222
306
388
318
321
332
281
214
372
370
374
247
298
367
317
275
276
315
321
317
315
269
432
308
311
333
319
354
357
259
309
352
331
333
293
266
326
302
288
296
281
319
366
300
300
299
329
251
381
424
232
356
367
351
255
346
236
364
339
248
388
393
292
274
289
247
326
372
305
312
330
270
257
358
254
249
244
325
293
368
316
323
355
232
368
330
375
253
334
249
318
317
223
393
373
343
334
326
375
290
231
389
264
387
265
334
337
299
320
260
338
367
400
330
259
355
289
365
243
249
319
314
363
238
287
376
324
278
337
358
193
312
331
344
345
363
292
339
202
335
308
292
294
325
204
296
316
296
311
333
285
277
333
324
258
336
275
400
280
276
286
321
299
280
311
375
425
281
351
339
368
319
369
291
311
399
306
336
344
301
316
251
395
290
295
371
214
277
289
299
284
381
267
360
316
335
314
339
335
364
337
345
352
282
285
253
332
301
345
384
360
331
250
378
337
301
312
289
422
352
373
262
296
383
301
301
349
231
298
282
331
337
387
382
380
321
198
345
308
336
352
366
312
366
354
267
319
247
300
280
352
373
308
255
342
305
320
334
310
315
345
320
371
261
311
333
281
313
382
240
271
321
273
221
219
321
257
279
321
312
301
324
378
339
291
403
374
295
316
305
315
275
298
324
342
279
297
314
253
336
325
293
369
351
410
363
362
276
319
313
259
279
269
249
389
347
262
316
265
264
303
244
284
266
327
318
256
237
349
286
338
363
311
279
362
376
336
324
325
286
300
371
389
305
348
334
306
274
317
286
339
323
246
380
444
304
264
330
278
260
273
260
298
405
302
257
328
318
344
346
322
370
237
211
312
321
330
294
291
235
267
302
304
341
320
384
401
276
296
356
315
415
263
297
329
343
309
257
313
325
389
371
353
308
336
351
306
256
321
326
308
349
335
321
279
352
303
379
324
390
302
271
323
273
295
295
360
359
346
361
293
338
269
327
359
350
376
205
265
380
328
296
270
307
246
262
313
323
290
325
288
369
360
270
337
317
237
293
327
326
348
326
323
269
310
296
305
329
312
261
374
399
356
293
330
313
332
342
347
313
341
376
320
332
330
280
318
373
327
226
288
281
376
280
332
320
328
340
264
277
321
274
299
375
406
258
221
365
365
251
283
351
316
334
305
357
306
361
301
331
289
211
279
308
369
291
383
347
288
294
312
218
308
256
323
345
307
300
283
328
227
280
360
360
308
283
271
264
356
291
258
388
296
255
401
265
386
334
270
324
246
266
289
255
212
323
326
258
315
318
356
344
266
357
253
255
307
409
296
288
285
287
236
368
286
354
278
265
358
285
336
291
263
371
354
362
317
254
349
319
374
259
349
340
318
287
299
317
335
367
251
293
351
361
328
317
361
335
261
331
331
338
320
214
379
280
244
302
371
331
306
290
250
338
218
347
314
373
350
374
255
308
250
338
280
345
407
339
304
290
255
361
317
206
344
316
279
272
332
244
304
273
310
297
307
306
300
433
353
374
267
341
234
388
296
298
303
337
268
343
303
281
271
353
260
306
286
359
292
318
384
293
328
302
316
291
364
321
300
258
350
290
360
339
258
401
289
268
317
352
333
348
361
390
338
262
313
385
414
330
359
358
302
340
372
251
326
312
321
247
273
368
265
321
269
276
324
359
275
411
294
335
349
244
323
292
316
235
257
309
365
277
196
289
334
317
349
316
345
336
338
300
327
212
350
340
267
306
295
425
334
287
335
289
367
323
317
303
314
305
285
296
234
197
347
305
414
359
370
325
356
296
364
258
303
327
337
258
301
325
256
346
296
373
276
340
349
359
329
303
352
365
284
328
284
297
382
429
276
324
252
273
222
265
375
279
214
299
298
331
192
253
328
366
282
305
354
312
338
271
277
265
237
275
335
409
269
338
296
382
374
277
354
336
297
335
309
319
255
376
259
280
242
248
342
315
355
305
390
250
286
314
293
354
334
335
309
355
333
315
303
293
404
231
368
338
354
352
389
313
297
375
240
259
310
265
287
339
381
308
246
345
350
322
400
257
265
341
248
296
338
249
299
332
394
273
352
374
355
339
276
320
317
281
403
358
334
304
288
287
252
306
323
322
315
298
308
314
359
298
318
305
346
308
304
255
230
299
359
277
360
346
326
293
297
321
273
309
368
367
377
377
327
243
374
308
213
362
326
303
272
324
338
313
284
221
321
391
349
293
333
350
309
371
266
287
345
369
343
211
346
329
370
264
322
309
428
269
386
349
389
345
280
415
367
323
412
370
359
290
273
373
299
304
341
271
338
347
293
329
347
353
330
371
329
313
299
248
273
265
279
429
332
320
297
307
353
387
297
198
313
340
254
376
366
284
295
360
347
252
373
321
282
299
314
322
389
296
325
298
311
309
385
239
374
368
311
270
354
317
344
326
327
352
270
309
336
284
346
339
350
323
350
285
307
229
301
323
342
353
405
371
273
329
321
300
384
292
265
329
351
287
253
316
339
341
304
346
275
332
266
318
302
331
280
312
314
311
267
295
318
360
301
321
234
352
306
355
312
355
257
312
382
349
327
416
314
277
275
322
204
309
253
377
311
256
358
329
308
380
328
248
327
392
349
375
274
328
339
260
313
295
289
355
293
294
275
287
295
268
353
377
306
288
325
359
333
309
365
420
337
274
231
371
225
291
375
314
303
367
298
336
355
262
345
322
314
342
312
283
321
298
336
301
320
320
262
245
342
326
349
264
355
376
258
334
292
268
309
362
289
326
359
359
217
360
319
328
351
266
288
330
265
339
321
375
293
338
298
291
310
319
279
320
374
349
348
326
280
332
302
334
276
297
279
348
362
271
288
391
375
377
275
305
364
283
308
272
346
302
308
370
316
302
346
394
260
208
259
218
318
266
371
322
313
308
331
356
333
311
406
294
382
376
235
256
277
380
405
393
347
375
372
359
292
309
241
340
337
298
310
364
372
269
356
357
294
231
340
338
378
327
256
373
256
268
224
289
383
215
297
342
252
345
309
327
305
347
292
398
409
262
230
272
294
301
337
393
250
345
349
280
353
282
304
183
424
318
269
293
260
330
343
266
287
350
257
332
270
307
204
325
279
297
340
328
324
355
351
275
280
349
356
396
356
330
275
315
334
367
297
310
416
282
310
293
356
318
304
276
284
312
340
310
297
257
337
244
321
227
304
265
319
337
303
266
278
328
326
316
249
295
332
296
327
330
231
286
286
287
248
288
341
348
320
270
377
338
334
292
327
363
384
364
350
295
238
247
321
347
354
365
316
296
400
365
358
314
340
345
368
242
324
231
303
281
339
281
290
231
304
334
303
326
308
330
291
348
375
299
373
361
290
347
349
259
322
318
393
293
295
232
320
348
270
269
288
319
271
297
314
349
392
280
387
309
229
309
328
393
359
303
329
316
277
257
280
329
338
294
280
389
315
187
262
375
348
352
354
292
302
283
376
303
395
325
368
260
330
279
299
360
384
361
302
371
344
229
283
275
259
352
382
312
348
300
353
346
296
221
349
296
337
272
304
401
304
301
300
317
412
231
313
263
253
303
357
311
324
335
364
361
326
382
285
394
292
348
306
315
294
381
397
314
321
284
325
329
290
301
260
369
340
292
345
312
329
380
336
249
313
329
341
325
357
371
319
240
271
317
359
317
354
228
344
347
299
362
304
393
304
304
184
261
330
305
360
350
302
374
345
327
275
276
317
257
223
323
298
340
305
403
357
312
282
322
288
370
349
290
403
303
277
229
341
265
304
292
301
267
210
388
294
324
365
292
330
340
316
330
357
314
305
310
306
309
283
248
226
350
283
263
304
284
278
368
280
337
317
214
303
217
379
301
414
314
304
310
357
327
306
381
326
375
392
327
372
323
367
329
408
369
299
341
334
338
338
336
336
295
248
368
421
294
367
283
334
345
313
301
321
391
325
272
350
336
327
307
249
234
302
361
204
273
436
321
389
298
296
303
310
224
386
321
341
279
316
254
359
284
324
335
284
330
263
362
349
298
316
381
273
371
304
369
290
345
410
312
268
432
398
347
315
353
396
307
304
219
319
313
308
319
266
332
374
289
257
334
215
335
310
272
289
269
325
239
286
351
338
352
347
310
337
254
386
366
323
243
392
353
306
337
317
322
343
339
300
340
368
395
382
387
321
338
368
298
330
250
345
351
334
244
296
310
316
308
366
353
222
340
261
302
266
290
252
269
228
297
286
299
262
267
356
220
287
413
386
283
289
322
299
358
242
275
312
285
287
294
270
326
285
282
245
282
346
328
263
237
380
396
335
263
387
268
227
333
314
328
307
295
252
286
343
249
359
245
284
290
273
346
328
357
303
328
320
268
358
313
298
246
376
327
336
361
275
279
311
294
333
324
356
333
333
225
326
401
332
344
280
271
318
295
281
267
289
235
288
252
323
273
272
335
269
332
266
302
314
302
259
392
254
294
289
313
355
278
388
274
316
418
355
280
287
331
272
325
225
294
291
326
380
247
374
272
317
314
366
335
385
400
301
287
334
306
363
312
359
347
360
264
379
257
261
344
272
297
351
278
337
232
271
205
293
358
354
260
257
293
307
243
312
387
323
297
320
405
304
358
369
315
309
301
330
347
230
292
351
350
330
351
342
335
281
304
344
349
333
353
231
291
348
304
261
315
309
304
332
340
325
325
326
310
340
330
352
374
298
298
369
283
309
316
266
297
286
330
275
313
322
306
360
371
370
323
294
385
329
335
296
290
346
365
385
334
322
333
237
261
269
299
343
322
287
288
231
216
374
270
314
277
265
334
312
276
346
319
313
352
327
335
337
309
341
344
319
294
254
395
227
337
351
333
300
335
311
339
384
310
325
369
256
316
312
267
343
361
343
314
315
299
352
309
360
258
336
240
310
312
324
290
247
341
346
343
306
335
258
268
294
310
307
287
309
324
250
318
297
350
397
309
341
310
385
326
323
352
346
277
339
264
362
342
284
327
363
235
331
372
339
330
292
227
305
288
293
353
295
353
302
366
354
294
338
316
250
237
285
347
340
338
278
311
390
246
237
253
348
286
317
368
311
385
330
266
327
237
260
298
328
347
340
293
288
337
239
355
291
285
285
335
263
293
357
320
243
245
344
278
344
363
333
346
314
334
346
301
256
310
270
365
324
272
328
360
312
209
344
309
376
229
205
337
351
341
323
334
348
404
227
209
291
308
239
370
286
300
384
333
376
318
316
376
285
287
318
299
334
279
319
327
296
275
322
340
247
343
304
324
369
328
342
344
234
320
363
339
331
335
325
199
261
314
337
385
274
273
378
348
295
326
339
289
336
374
308
200
290
346
253
322
313
311
292
299
346
306
327
332
356
318
310
310
300
357
246
329
304
325
336
353
270
317
334
350
337
314
355
361
373
344
333
252
283
325
250
413
321
260
306
303
275
304
355
248
280
338
255
248
364
263
315
322
269
234
273
311
359
308
321
317
302
410
267
317
331
273
357
303
281
290
367
312
331
314
414
282
329
320
279
274
349
247
416
372
205
324
362
298
267
328
343
344
302
311
257
377
229
389
331
281
283
357
363
280
291
288
282
302
297
318
322
377
256
269
405
471
275
247
348
429
343
253
311
303
299
282
325
356
263
334
380
390
319
347
407
316
329
320
320
334
279
298
292
318
321
287
272
250
357
347
288
313
322
374
300
330
335
282
269
296
190
341
346
241
320
229
394
312
339
291
285
341
355
370
382
296
312
374
311
297
331
344
369
328
314
313
295
310
342
340
290
253
306
299
237
342
273
341
268
313
334
248
351
359
268
429
365
325
221
255
296
252
278
343
298
296
381
324
339
328
309
289
323
290
282
275
284
307
321
295
343
313
256
272
274
317
336
371
306
410
272
403
328
315
309
307
291
358
284
244
336
309
308
271
319
388
390
368
299
361
291
274
382
284
312
307
311
283
356
277
348
315
236
325
348
311
370
286
347
246
307
309
340
366
328
352
336
295
391
280
273
325
306
308
297
325
325
286
310
295
360
328
341
267
259
377
387
379
326
307
309
294
280
295
312
295
315
317
311
282
256
338
291
321
326
323
314
335
314
266
353
293
318
308
319
283
379
379
356
317
275
364
336
331
332
268
257
304
338
261
300
250
390
306
294
331
299
288
332
296
332
373
353
269
328
341
308
261
334
389
264
368
297
326
356
302
392
314
331
312
373
308
329
288
321
348
404
355
338
338
293
332
286
327
389
362
287
301
335
223
318
332
349
267
272
289
362
319
365
296
353
287
363
248
340
346
354
233
354
280
273
343
313
273
361
289
265
346
317
349
316
385
248
250
241
394
364
269
348
372
377
348
257
262
276
319
341
318
316
340
378
391
317
410
286
309
290
349
356
272
339
306
309
332
263
278
274
340
282
266
316
295
315
320
272
292
312
324
285
407
373
367
260
315
315
321
310
349
270
324
322
310
339
296
349
337
310
326
318
268
277
307
389
210
267
307
291
328
291
328
295
326
321
286
353
394
383
351
265
359
343
364
296
293
343
357
291
334
357
309
337
345
280
213
172
255
374
306
432
329
373
321
272
261
271
389
379
310
349
358
326
353
304
403
302
226
381
315
274
307
366
328
350
333
341
324
266
263
324
330
336
379
282
345
324
330
323
312
345
300
205
346
303
231
368
235
222
248
323
357
278
370
316
312
355
302
314
328
295
336
313
332
374
312
343
334
386
383
283
360
335
352
244
330
266
286
299
259
400
343
274
355
272
284
305
270
244
343
340
362
319
293
341
408
331
325
335
320
326
247
355
332
332
314
359
314
357
288
226
294
323
313
272
308
260
417
286
385
354
268
324
327
270
195
347
365
356
310
285
336
279
291
340
298
344
226
283
276
213
255
262
368
372
266
389
333
316
295
302
367
335
252
335
339
230
215
271
329
281
324
243
349
335
303
330
301
328
225
335
370
342
227
318
382
253
286
315
324
372
369
275
247
336
315
261
354
248
220
416
339
349
330
366
237
336
305
366
332
302
366
361
354
329
286
254
395
307
252
241
284
309
304
246
232
293
336
306
333
233
311
305
293
385
343
288
378
332
321
239
302
285
299
274
345
382
283
312
369
264
318
320
272
313
337
393
318
349
255
231
377
322
307
342
248
292
391
343
389
334
270
299
373
358
245
364
381
369
386
306
346
314
325
422
311
263
300
296
322
338
263
302
258
333
303
343
268
258
314
236
352
286
392
317
381
307
302
305
332
291
334
372
275
271
353
313
274
337
301
303
337
396
307
342
338
308
350
257
288
278
235
220
396
290
355
400
263
196
319
307
336
288
269
326
283
350
345
359
358
345
344
378
392
350
340
248
320
276
377
361
301
363
371
230
228
310
303
350
336
286
310
313
347
283
285
347
288
362
367
223
316
337
364
373
299
286
242
357
291
226
283
326
222
324
323
264
216
306
364
303
374
261
374
268
301
330
284
312
387
324
289
366
299
342
334
338
316
333
371
306
361
300
312
305
322
360
387
195
312
307
299
301
312
338
266
302
250
344
301
372
313
370
377
305
373
319
379
312
354
288
379
350
377
248
206
368
304
300
282
408
324
263
415
307
289
276
250
236
228
294
312
235
299
321
308
259
266
305
258
347
424
351
347
321
245
300
281
302
249
354
290
284
312
350
294
374
325
298
323
224
300
222
346
375
243
277
336
346
333
260
370
312
374
358
319
242
338
225
321
354
288
311
361
373
331
330
364
390
375
309
307
340
358
383
383
293
372
352
391
316
265
335
315
350
357
323
372
318
279
335
348
350
268
250
411
316
234
339
268
333
300
297
324
375
281
315
309
258
323
311
323
347
316
375
331
384
324
348
272
208
341
335
272
292
389
325
353
406
334
338
336
322
357
217
261
317
281
447
276
316
325
373
328
317
336
304
310
273
287
298
336
339
377
270
326
214
350
228
264
355
296
345
308
303
378
280
340
321
321
298
389
332
270
337
300
329
357
264
267
360
322
320
326
301
320
337
289
256
278
363
377
291
295
390
283
324
310
377
356
402
375
360
248
300
270
305
363
284
314
272
272
267
371
318
282
345
350
304
330
306
377
273
303
330
298
344
247
368
321
284
306
324
364
277
337
374
276
344
356
356
363
339
328
308
400
318
302
266
278
278
282
419
279
253
285
338
380
326
393
398
242
318
321
320
365
285
328
235
303
315
292
313
300
312
309
293
313
320
246
281
316
318
288
337
244
281
303
354
314
288
341
299
363
337
245
302
337
343
343
337
345
382
329
339
232
369
271
367
302
306
297
378
316
236
320
379
321
370
387
327
262
321
307
346
370
275
288
269
355
290
332
226
313
252
407
355
309
279
233
331
380
337
310
319
232
318
343
399
321
271
286
329
217
358
335
228
273
341
292
281
363
311
338
355
313
341
348
321
341
340
306
290
310
324
292
245
327
231
387
337
305
286
265
257
297
312
260
381
256
301
385
274
302
268
316
240
326
340
407
302
285
298
352
248
365
261
293
239
255
262
319
255
333
347
366
281
300
327
409
325
295
354
299
284
379
337
337
303
321
344
265
323
289
311
265
313
371
334
330
305
381
267
326
304
261
365
343
270
346
309
323
376
265
269
277
232
328
277
276
247
236
279
307
386
365
331
344
292
269
441
374
293
346
334
247
271
299
282
270
299
331
395
310
298
297
320
313
316
338
315
339
273
347
329
317
311
265
277
258
311
277
323
298
388
265
322
379
315
350
342
259
309
359
330
253
383
333
284
275
282
296
316
279
388
305
281
389
293
245
378
325
291
336
262
329
264
282
286
318
310
333
317
259
226
286
328
387
283
286
352
305
314
328
246
335
273
295
314
358
342
391
361
267
303
290
266
311
296
267
341
336
295
322
345
263
227
268
329
241
311
229
282
311
318
299
318
267
334
316
287
310
321
331
325
332
275
348
346
333
333
313
249
414
335
310
289
246
336
295
246
257
220
249
406
374
310
271
258
314
358
300
335
340
395
285
351
308
274
271
249
372
410
256
282
383
331
299
276
299
323
344
326
275
354
241
366
361
263
356
298
214
268
341
324
345
360
239
269
290
286
278
252
349
324
390
353
341
342
327
340
299
333
382
367
278
299
347
332
332
355
314
269
302
261
265
358
299
347
285
310
320
315
321
300
317
306
305
277
333
348
339
308
234
339
262
387
283
325
345
299
393
331
341
308
252
342
275
321
388
360
196
355
396
316
343
321
324
279
280
344
395
377
317
321
331
278
264
330
315
301
223
406
305
302
314
312
313
323
305
261
379
330
337
347
317
258
238
308
301
295
281
357
294
378
387
274
327
357
293
281
333
373
276
325
370
281
296
242
315
307
378
307
273
312
368
253
360
294
394
328
285
286
380
261
274
250
322
335
355
342
297
335
253
295
323
369
376
294
367
219
295
313
292
243
293
238
333
281
271
329
298
279
263
252
294
364
332
375
306
322
248
311
368
294
369
209
325
306
331
316
257
297
359
385
367
356
366
254
388
298
325
313
370
305
257
319
327
297
351
307
408
239
253
300
384
291
345
254
286
310
302
294
349
352
331
387
367
433
217
358
253
339
326
344
353
377
247
315
278
309
242
291
250
336
315
372
282
285
266
323
287
352
332
351
337
347
311
387
296
315
250
316
266
323
387
356
349
350
272
215
306
394
306
266
289
274
283
321
404
230
279
282
348
311
383
379
178
278
321
291
370
262
357
272
351
387
386
302
340
239
307
362
348
274
297
309
364
372
361
365
336
272
322
310
381
350
332
272
269
362
455
251
305
343
280
268
306
361
352
352
299
263
292
287
312
304
313
344
283
268
347
321
187
340
320
253
242
291
290
328
343
305
340
277
331
277
289
293
328
299
328
289
402
326
285
355
272
262
295
286
318
336
291
251
284
301
208
286
330
278
346
360
335
314
381
202
342
313
331
288
377
308
260
314
312
362
313
333
261
345
377
319
348
369
335
310
296
330
238
338
285
273
308
351
280
368
373
353
354
374
234
357
268
344
315
274
365
244
332
314
374
362
275
382
349
317
315
330
268
271
310
283
286
332
356
322
327
323
362
343
302
221
343
327
245
336
304
344
264
245
280
391
322
278
334
389
292
371
338
356
298
295
295
295
280
337
287
303
283
358
369
358
415
361
360
289
326
330
309
286
307
357
324
257
328
234
266
365
300
362
273
361
278
379
212
246
323
369
375
332
357
327
372
413
279
282
350
351
391
350
325
324
297
318
268
340
305
290
317
342
372
223
264
341
384
365
330
352
337
269
325
248
336
333
225
341
258
289
331
341
257
374
268
398
319
324
317
221
421
272
247
326
362
353
310
298
375
301
327
300
377
271
270
238
294
365
297
285
391
351
297
355
354
272
299
232
299
322
337
303
378
283
335
353
282
299
311
298
270
334
378
374
353
306
267
290
286
301
261
347
307
333
282
295
294
342
357
365
322
308
338
291
347
393
298
248
348
386
286
340
310
311
347
224
297
392
306
407
374
388
364
258
391
350
221
348
354
307
290
319
339
242
369
317
361
310
340
351
367
306
362
376
300
309
223
250
273
340
284
258
326
236
297
265
350
338
355
269
320
417
350
362
227
296
378
291
370
274
293
361
346
336
386
301
366
356
391
283
321
301
316
211
292
290
323
219
394
257
349
334
316
232
287
287
360
303
361
349
344
422
363
230
325
350
334
359
261
301
399
323
294
319
288
267
359
342
329
332
275
334
324
325
259
256
305
366
364
344
373
322
304
298
252
321
252
357
275
341
213
295
397
321
382
257
356
346
300
280
316
276
286
393
294
383
342
213
319
339
312
341
270
275
356
242
313
357
248
403
345
301
371
281
347
269
271
287
425
245
379
233
291
284
274
332
336
293
315
359
354
422
308
313
327
253
366
332
302
353
340
314
363
238
288
373
398
325
289
317
280
303
313
333
363
359
234
299
376
368
285
256
230
246
333
353
320
309
330
252
355
282
260
340
369
337
204
294
304
383
379
372
339
301
376
357
248
429
304
272
359
332
329
311
243
325
360
296
335
288
295
311
352
361
306
287
386
304
323
397
288
373
351
264
263
321
341
312
264
295
381
387
284
347
357
393
271
276
306
346
377
298
370
344
331
257
383
340
276
309
273
267
334
321
306
256
306
345
287
362
264
303
265
352
229
347
244
315
347
267
248
326
279
284
302
341
378
355
225
328
304
328
396
319
305
311
281
377
307
274
288
347
279
241
332
345
345
333
258
390
294
350
301
285
320
341
358
278
285
417
299
254
327
336
277
328
291
301
224
376
295
308
327
281
386
299
333
294
323
311
282
320
243
356
304
329
304
315
363
374
289
285
314
358
287
305
244
220
402
396
272
328
317
288
348
268
306
345
381
307
300
329
383
336
256
295
326
338
323
346
374
363
300
350
319
310
287
293
337
345
330
334
382
305
294
318
323
308
357
365
335
308
355
428
360
348
383
393
321
321
337
274
319
345
317
346
332
342
332
339
280
317
281
295
291
276
358
247
402
328
351
243
407
340
253
335
334
284
303
405
358
311
346
353
230
253
301
279
265
402
360
283
323
353
320
376
297
268
314
337
244
338
261
352
343
320
286
323
286
298
279
377
295
381
376
272
328
361
312
373
304
358
282
378
356
279
270
410
267
279
291
279
289
316
298
313
292
310
387
285
268
320
245
316
317
228
281
350
264
253
335
285
316
349
343
298
330
332
310
338
255
295
221
274
325
364
344
261
329
342
299
251
313
319
356
317
338
370
270
341
326
279
337
283
320
307
337
297
334
268
289
267
333
326
353
340
256
350
261
389
290
300
300
377
336
258
302
304
340
314
306
298
404
324
324
360
303
333
325
337
307
263
365
349
322
297
414
326
290
298
326
275
351
367
322
367
291
299
309
284
309
281
312
268
321
294
313
298
261
268
310
334
319
399
392
318
328
329
334
322
364
338
286
329
350
392
422
275
387
285
244
307
364
301
274
333
319
235
303
270
345
328
282
367
315
388
258
366
299
305
246
298
344
326
358
316
255
267
269
371
250
312
328
195
352
334
345
271
279
314
318
289
329
352
362
332
307
317
339
336
335
312
322
322
346
314
304
345
347
364
325
226
287
262
185
309
261
312
342
268
267
319
267
280
344
283
331
317
237
394
374
314
301
305
314
274
322
368
341
348
360
324
347
435
265
262
280
354
336
299
318
413
349
275
295
349
332
309
367
347
333
304
264
360
363
261
269
209
402
332
304
237
306
282
365
404
292
330
412
282
296
289
329
293
353
262
320
373
315
287
266
315
308
303
329
323
278
358
318
244
313
297
312
372
221
371
333
303
333
321
282
302
372
299
348
348
284
233
346
372
295
312
252
368
309
352
311
272
390
339
348
310
361
325
382
322
332
310
258
278
343
339
261
283
376
298
351
279
288
285
313
341
291
275
368
327
282
391
352
305
279
342
350
311
290
309
304
315
298
325
352
305
346
347
274
344
241
334
387
304
348
374
340
364
319
311
360
285
325
395
378
386
315
350
369
324
296
295
270
321
307
365
225
347
286
436
295
385
265
319
309
278
381
310
337
367
254
314
412
239
278
244
321
315
344
393
238
256
406
439
331
306
355
347
290
239
375
325
352
264
284
277
351
255
426
363
417
350
345
327
320
292
316
358
353
307
331
303
263
348
337
338
280
337
292
284
291
279
281
266
314
285
261
341
356
350
346
373
293
288
275
328
310
305
295
351
326
360
281
348
304
257
335
356
249
331
397
248
318
366
284
299
329
300
294
411
303
345
325
280
281
254
295
306
333
326
274
333
390
259
284
342
342
362
379
351
343
346
351
266
303
313
389
316
316
269
334
342
236
345
330
263
322
354
278
254
314
293
316
302
275
372
262
245
367
321
251
352
341
297
337
323
307
307
305
258
246
365
351
351
306
389
286
231
283
324
296
350
336
332
226
285
269
232
298
321
301
260
297
268
291
303
276
270
353
346
300
362
311
397
287
389
273
325
263
318
262
278
304
318
341
263
323
255
311
315
338
270
413
283
297
347
286
246
282
295
340
349
381
298
275
317
329
277
339
274
297
383
315
275
276
330
290
346
370
273
308
254
322
303
303
344
257
328
392
269
346
289
299
227
288
283
245
315
364
388
262
259
371
378
364
421
321
315
380
401
331
368
305
241
255
380
258
378
206
241
356
266
348
317
273
250
282
299
252
264
292
265
267
316
331
335
301
319
380
397
310
329
334
345
315
298
306
368
347
337
340
327
346
326
402
352
334
269
375
279
254
372
384
304
241
330
242
240
371
330
235
365
241
310
367
326
368
384
328
363
288
263
261
321
282
281
324
231
266
378
300
274
313
381
407
285
377
332
313
270
350
294
343
328
329
302
333
348
304
202
173
314
321
330
416
259
387
289
322
274
290
320
307
280
324
363
291
308
264
307
334
287
243
283
305
352
290
288
349
310
249
343
346
302
264
357
344
245
349
269
342
317
359
308
275
365
413
265
283
255
419
311
308
378
267
274
334
274
260
244
279
366
287
373
333
279
298
283
436
330
255
307
326
220
340
408
344
297
328
262
304
332
299
314
307
322
375
358
286
268
278
375
290
259
302
264
363
379
332
248
269
324
280
289
246
267
275
333
251
251
346
297
371
351
342
295
260
316
347
276
370
300
266
359
329
349
282
345
314
299
374
281
314
376
393
287
313
330
352
361
295
252
320
268
266
281
325
332
378
383
308
342
413
354
272
264
384
278
297
206
374
317
293
292
378
317
360
282
326
359
283
320
270
383
308
405
266
329
350
364
309
295
327
389
296
370
199
361
372
340
319
267
334
383
220
291
274
417
304
292
345
413
241
345
279
291
287
232
290
330
260
340
368
303
320
229
315
351
372
245
342
369
299
276
377
350
337
275
307
318
318
329
303
335
306
294
258
362
366
333
292
250
238
295
337
294
303
360
322
405
321
303
380
292
312
322
283
375
227
306
348
338
244
314
321
284
290
319
365
309
394
316
306
260
294
313
383
361
285
256
282
313
350
224
269
358
275
343
220
308
307
304
270
389
358
314
342
282
372
210
272
354
258
391
327
322
315
311
254
353
435
261
297
312
312
242
338
299
235
286
388
323
321
317
253
305
320
324
355
369
389
397
328
412
249
367
286
357
240
268
268
316
346
376
329
344
347
299
323
277
305
315
266
293
345
349
376
364
315
320
397
411
361
281
296
375
277
398
290
313
270
257
399
285
331
313
370
342
366
404
291
311
287
267
353
246
360
257
272
271
332
332
305
242
354
251
303
361
295
264
290
410
296
333
232
280
289
366
321
241
369
373
266
343
373
309
315
298
330
309
429
369
334
379
336
332
323
326
459
317
396
319
351
351
321
299
256
262
243
320
324
219
349
360
291
389
292
324
359
312
323
295
331
343
351
288
293
366
319
272
275
321
316
368
302
335
422
308
314
325
277
342
292
290
307
283
333
229
324
283
368
357
339
223
332
353
317
339
330
296
338
380
357
296
226
344
358
343
252
263
379
303
386
279
268
296
303
294
256
303
337
340
369
247
362
356
382
300
280
393
328
315
344
422
333
362
313
389
350
296
321
344
303
283
303
350
318
330
332
280
226
282
248
287
337
239
383
295
342
315
312
330
414
302
304
282
409
268
255
293
242
386
311
387
308
381
226
281
353
336
364
247
344
287
315
300
270
298
247
308
301
307
328
333
320
286
354
325
250
334
282
311
259
321
336
274
271
317
369
342
333
265
268
340
257
351
338
323
335
309
348
292
311
286
302
270
316
317
403
295
249
352
296
312
293
278
343
226
310
301
327
288
299
368
363
349
309
290
231
325
274
265
271
324
309
371
364
222
360
299
282
278
368
270
296
266
309
270
212
301
248
385
302
227
317
319
387
345
267
285
381
335
292
271
283
314
374
177
298
359
304
319
346
375
238
339
376
397
237
263
351
376
270
321
290
228
269
365
284
201
392
327
276
420
263
275
311
283
311
342
187
257
363
358
291
343
337
330
262
329
285
355
325
334
379
343
418
375
284
256
271
284
232
309
317
317
273
346
354
383
377
323
335
306
332
235
337
404
336
365
361
322
297
234
303
254
306
366
350
338
323
229
382
364
312
333
384
302
367
297
308
351
262
317
248
301
274
292
278
364
331
247
308
273
328
312
323
314
284
271
256
347
376
255
324
408
352
322
266
344
345
281
314
276
345
312
365
382
289
265
294
333
281
350
377
291
307
338
374
352
326
414
303
245
338
303
260
280
393
322
349
320
297
283
312
290
341
322
371
290
360
218
325
356
296
318
379
310
221
317
359
346
363
324
261
300
356
316
348
313
301
312
368
290
327
320
415
315
237
239
347
250
393
262
338
258
322
279
301
338
290
310
354
287
266
388
298
381
409
256
347
311
297
270
310
323
339
342
373
299
326
408
380
296
309
374
273
378
385
289
302
262
220
304
238
318
232
275
246
232
340
376
244
292
334
337
351
377
349
392
306
321
437
383
283
305
362
362
332
338
302
253
366
297
395
274
306
272
328
366
303
363
297
307
286
314
263
309
355
370
247
329
290
347
279
281
252
371
317
254
312
299
384
312
277
284
373
274
389
337
406
304
317
332
343
313
305
296
365
255
323
291
356
302
314
383
316
390
268
280
323
337
317
372
337
330
329
300
266
338
250
382
257
318
339
286
197
386
243
283
254
293
348
310
338
322
288
396
262
367
314
369
299
331
387
383
372
356
317
280
316
367
280
316
417
288
205
285
286
353
284
311
330
329
294
355
314
359
360
352
334
332
294
271
322
372
307
321
359
283
331
318
390
191
182
324
299
355
318
353
256
357
346
355
296
307
409
343
353
278
313
272
369
327
365
279
314
296
253
302
402
265
351
379
320
277
329
346
341
347
229
216
276
339
375
284
343
455
353
273
291
365
320
287
377
336
279
303
314
341
312
293
299
309
360
344
363
259
291
320
363
253
255
289
244
283
354
283
286
398
272
320
370
378
271
360
326
349
307
345
314
359
240
306
346
303
273
323
325
321
337
343
324
334
292
346
302
366
323
223
357
365
290
325
358
361
377
352
290
330
336
243
315
311
382
392
308
391
333
362
260
375
264
370
399
288
327
356
356
247
344
305
309
349
339
273
407
342
284
326
318
282
246
349
327
310
377
354
373
341
371
210
308
378
237
345
281
272
322
333
304
288
371
337
274
295
336
362
293
315
255
287
256
284
372
349
399
380
248
238
325
274
344
354
326
316
331
313
318
330
351
264
361
298
269
411
270
389
329
279
413
318
276
359
312
337
323
271
269
302
301
332
264
324
329
283
317
338
361
328
360
227
294
359
226
340
352
279
232
309
314
245
372
318
256
314
398
252
329
299
286
311
341
304
326
363
395
364
248
355
393
409
304
370
286
255
385
242
320
395
383
344
311
305
276
297
345
437
309
258
245
293
295
335
397
357
340
369
300
349
315
341
303
286
291
355
247
366
223
328
210
390
337
336
345
270
269
257
368
324
317
412
227
251
383
315
309
279
338
272
387
307
355
292
321
321
379
327
279
345
352
276
269
276
317
317
316
341
254
264
355
343
332
302
266
272
291
312
395
378
393
344
408
355
355
362
300
324
303
337
350
338
304
329
347
399
292
393
332
360
316
281
377
350
294
359
307
293
391
294
284
337
257
336
311
304
277
318
386
254
292
336
320
463
303
345
356
319
340
303
328
253
248
278
345
361
359
253
357
325
333
311
354
378
307
379
290
372
284
283
289
379
259
415
375
348
353
319
370
331
371
361
368
272
231
280
246
326
245
326
267
328
270
374
280
288
225
286
349
297
337
299
356
299
407
309
272
294
198
344
250
273
355
384
311
366
370
276
321
351
338
344
334
279
378
253
313
368
322
341
295
318
409
251
366
289
411
386
342
347
333
321
325
355
312
402
330
410
334
378
301
315
311
325
246
367
338
324
294
323
265
298
363
369
269
287
305
277
339
385
349
357
369
244
365
265
329
317
324
261
328
262
293
428
327
317
330
272
352
270
381
279
358
309
309
359
265
303
413
207
225
313
319
344
328
327
202
345
238
340
385
289
350
266
275
329
343
389
296
400
387
329
369
399
284
206
269
325
301
210
317
356
258
277
315
331
235
275
240
273
276
281
318
298
323
307
301
357
374
343
343
346
382
346
363
299
312
276
315
347
323
375
303
321
285
350
345
312
302
236
253
262
356
256
360
262
245
318
307
336
301
279
255
315
298
271
253
340
329
329
278
330
356
308
374
307
308
361
361
384
322
250
257
353
318
340
260
383
341
331
330
315
349
278
439
266
237
360
331
338
312
293
307
290
357
278
340
273
374
341
337
291
292
367
394
318
357
347
404
323
278
324
290
391
293
249
303
372
339
335
257
281
293
390
286
354
311
361
307
384
375
309
254
356
322
245
358
300
266
268
331
313
329
394
291
271
404
354
318
261
323
329
357
242
324
276
383
304
404
340
280
290
318
303
341
284
265
386
249
311
281
324
325
339
330
279
339
251
309
243
334
291
337
353
290
261
311
344
330
315
295
264
389
295
312
370
325
321
325
299
447
319
303
262
316
362
334
281
359
314
360
318
282
289
346
238
310
308
264
296
342
381
304
380
277
384
292
301
258
308
329
339
340
354
363
341
283
362
295
372
305
329
382
382
311
336
256
349
355
326
269
348
314
315
324
316
320
262
336
245
335
371
325
366
321
352
324
284
324
340
270
265
304
365
217
309
314
286
373
379
347
253
245
326
292
281
318
372
235
333
256
352
364
295
350
261
413
346
326
348
294
343
265
218
217
227
411
383
433
333
232
310
334
422
317
206
265
274
272
327
310
309
341
398
373
322
296
323
267
308
343
295
253
257
256
337
264
312
284
322
300
299
297
352
308
476
254
333
332
321
352
308
340
326
286
298
279
362
275
330
291
271
375
297
328
320
351
372
341
388
361
282
239
342
314
257
348
246
351
328
399
316
403
369
300
317
321
349
374
367
284
339
344
264
283
324
322
307
346
340
237
300
284
337
303
303
374
371
292
342
389
295
321
331
308
326
339
284
390
259
366
364
311
344
383
357
292
351
391
309
297
293
336
340
327
366
376
302
344
368
285
314
278
300
282
364
316
275
344
368
242
304
283
327
279
387
309
297
347
383
267
369
346
268
309
295
195
433
409
344
262
328
304
375
317
360
254
340
338
374
311
334
382
334
333
279
313
349
319
314
255
330
240
341
349
313
385
255
414
279
266
277
367
312
267
226
303
280
321
264
283
401
319
276
293
307
335
397
244
292
341
354
317
319
357
344
383
333
300
378
248
274
278
350
350
300
365
311
334
244
271
308
343
337
372
285
338
331
307
284
280
323
323
329
359
284
355
236
394
313
266
334
288
360
304
416
305
264
281
278
304
332
365
322
290
302
347
376
429
419
365
212
300
308
324
283
331
311
332
351
345
333
320
288
306
274
322
283
322
390
336
301
334
344
300
342
297
311
300
337
364
246
317
361
276
271
406
386
330
234
309
310
302
362
229
325
382
256
349
411
293
352
259
350
338
314
234
304
345
374
259
320
357
244
314
317
321
351
301
304
246
251
318
276
319
275
247
403
343
352
312
298
228
314
322
364
316
356
250
196
300
319
354
262
240
348
255
345
210
372
317
354
342
309
385
266
359
363
311
301
309
374
295
283
347
283
347
293
338
233
288
348
270
277
299
315
405
347
192
330
290
364
270
259
369
255
264
317
295
305
339
323
282
284
333
336
329
289
254
321
288
293
254
219
330
282
320
323
357
324
292
366
333
301
293
338
310
334
294
206
282
342
358
344
329
369
369
266
333
273
316
266
299
235
303
291
265
254
257
347
362
244
344
270
302
300
292
307
310
300
241
375
344
370
296
380
185
280
278
301
328
291
278
328
293
304
277
295
372
342
387
294
265
271
254
321
239
284
261
304
342
304
363
332
371
330
391
282
348
320
338
262
296
359
352
324
316
313
232
288
326
272
348
379
333
305
346
328
345
292
384
283
220
312
327
350
286
326
229
345
307
370
254
280
275
314
333
346
318
389
311
259
299
333
318
237
313
272
331
363
236
369
265
282
291
349
366
355
271
324
350
353
336
383
344
283
332
337
315
315
333
263
318
320
332
326
276
389
374
303
255
336
306
283
344
279
331
314
253
276
352
319
303
326
283
285
352
236
219
287
355
296
324
292
229
338
371
249
319
414
285
378
296
270
315
386
292
281
333
405
378
344
332
325
318
313
339
360
355
337
347
327
316
326
348
277
328
291
324
295
302
366
273
196
300
276
286
335
376
366
252
315
292
345
316
347
308
290
334
313
244
298
364
391
318
339
263
301
353
309
337
386
351
310
261
334
218
308
281
373
390
315
340
385
400
366
307
296
248
348
355
340
327
346
269
295
323
296
356
414
350
341
328
263
253
314
347
337
311
291
389
312
404
340
376
331
316
273
309
246
305
254
264
311
318
260
331
301
323
293
362
336
302
257
337
326
254
233
359
291
341
275
312
307
292
355
235
307
391
338
240
313
364
342
336
313
367
272
344
304
337
348
354
243
319
315
355
221
274
372
365
315
333
333
324
305
329
321
229
374
313
331
295
240
349
357
338
281
321
252
335
319
318
339
317
331
358
332
277
373
303
278
324
286
361
334
294
254
327
412
350
305
338
364
419
259
415
396
284
401
315
338
359
312
389
334
323
199
324
287
349
252
367
284
329
252
214
256
300
254
287
246
346
336
284
375
346
254
318
409
306
226
189
287
352
282
286
305
260
276
283
313
345
323
350
337
227
284
322
241
310
337
261
340
314
255
383
285
389
278
206
298
341
272
303
338
386
318
265
307
350
291
367
337
263
366
365
336
242
353
334
427
268
288
404
321
407
330
342
287
344
320
345
395
356
380
333
355
322
324
361
355
250
284
335
337
280
323
349
355
339
326
349
279
334
260
337
343
285
368
267
263
243
332
329
230
357
299
346
230
367
276
346
340
391
351
276
297
347
371
258
249
301
298
337
350
318
294
262
299
346
288
294
339
396
346
293
335
306
347
246
238
331
391
278
316
309
365
333
315
277
341
321
312
323
360
284
317
320
399
360
324
295
276
299
269
198
299
242
281
359
261
329
366
351
279
294
284
374
366
328
339
253
316
373
345
346
290
284
314
307
304
272
271
332
235
362
348
314
345
390
262
359
299
308
265
268
335
277
365
338
261
259
401
296
356
218
421
334
335
400
337
303
338
295
305
275
341
290
345
322
219
252
292
326
324
314
363
320
266
314
272
269
316
299
327
390
319
342
323
316
287
369
388
281
255
274
355
295
316
234
344
331
317
360
360
338
246
299
308
316
321
351
295
310
317
350
254
324
376
375
280
328
336
248
333
302
335
351
331
283
385
224
326
362
302
281
298
352
379
325
319
320
315
360
249
293
345
288
364
302
310
324
274
351
345
309
398
331
299
359
387
308
293
323
317
353
259
292
354
286
319
260
344
372
370
347
307
245
286
383
358
315
363
376
205
327
313
280
292
242
330
355
274
243
374
443
256
373
322
264
340
330
314
380
373
339
355
352
240
306
334
356
333
336
255
352
337
386
300
237
318
146
323
395
304
326
348
211
322
363
213
356
262
382
361
314
322
343
256
305
316
308
251
337
311
255
338
312
322
281
288
268
231
300
398
223
268
265
276
304
281
348
387
278
364
302
293
259
399
265
261
285
319
318
309
261
289
317
341
278
298
330
291
300
327
303
365
212
306
324
303
325
299
324
318
342
333
266
319
261
210
273
285
419
309
303
299
327
326
271
301
270
282
273
346
273
325
305
327
275
328
298
349
368
343
274
322
333
302
289
315
287
371
330
320
296
323
363
324
293
336
343
386
394
338
313
283
398
334
339
358
329
297
261
289
257
295
372
322
332
320
323
303
289
382
317
422
344
334
281
351
388
338
340
276
311
373
277
337
222
337
329
307
348
298
330
265
278
324
351
331
327
294
336
361
293
344
293
342
282
318
319
303
326
284
267
383
300
366
288
324
264
352
366
440
388
280
297
353
329
289
328
311
224
304
270
313
318
269
317
294
372
336
258
274
255
365
314
279
355
299
381
384
249
359
250
349
275
314
275
332
342
266
409
326
292
335
263
372
300
402
333
309
278
317
346
362
277
305
349
395
244
347
279
367
286
339
267
318
330
317
339
403
331
332
391
262
291
346
306
407
300
315
243
314
268
311
274
279
286
329
307
359
289
322
301
396
265
373
319
354
285
314
329
313
383
272
367
337
291
378
308
343
302
303
346
229
304
398
330
371
246
366
296
312
292
264
257
279
351
368
268
313
313
260
358
318
293
388
334
288
309
284
300
308
360
383
302
332
285
342
345
430
404
319
298
288
370
307
302
331
279
383
335
358
256
274
351
354
298
300
419
257
360
361
324
284
346
292
369
331
209
294
258
305
273
345
240
361
316
353
279
272
307
311
279
344
345
212
302
301
293
340
397
274
341
296
354
284
340
364
360
252
382
325
336
290
355
268
303
338
317
294
383
295
292
354
269
362
318
310
268
300
303
279
364
293
249
273
322
323
414
318
264
316
379
275
316
275
265
281
258
278
336
315
275
353
385
350
396
318
286
302
299
312
309
343
289
274
366
330
338
285
305
286
312
292
210
297
313
287
369
267
385
247
273
333
211
373
307
326
375
342
309
335
336
295
414
266
309
318
394
293
315
281
332
270
280
358
280
270
291
334
197
291
333
347
363
330
339
309
368
306
335
315
244
329
300
343
359
392
271
238
324
359
345
293
278
361
295
362
283
303
306
305
338
330
301
307
384
358
246
364
337
282
342
263
412
321
366
328
376
326
232
129
333
312
298
291
287
313
313
262
357
264
275
310
352
399
309
265
309
403
335
276
297
381
400
268
289
262
257
343
318
265
365
293
353
300
318
356
302
253
291
309
342
310
238
252
302
205
318
279
323
305
256
310
345
363
358
412
353
321
281
347
267
282
331
251
228
333
376
300
356
367
327
231
347
299
368
308
392
262
303
379
337
308
251
306
326
366
334
338
234
299
329
400
318
231
338
358
286
271
283
295
269
283
306
319
299
347
327
360
365
221
277
372
281
363
346
334
334
352
289
241
288
321
346
367
338
336
252
339
322
363
320
255
326
322
339
337
358
358
321
387
360
346
341
230
292
362
296
198
312
278
306
360
301
364
279
318
305
290
317
261
385
322
271
422
284
284
323
352
304
231
275
395
314
320
289
261
424
306
366
336
328
321
353
283
301
344
340
337
279
280
296
409
284
241
272
283
286
331
315
384
209
266
259
332
305
348
347
312
314
296
265
278
372
332
333
293
268
372
313
281
257
302
323
359
339
373
298
317
332
272
276
296
297
356
309
258
346
351
298
343
379
295
343
304
278
288
331
273
275
302
399
278
273
268
354
279
299
343
214
307
262
397
340
268
343
300
380
358
404
366
243
386
281
332
230
302
195
374
343
343
326
247
302
402
361
295
281
280
340
262
300
259
294
353
267
310
267
240
369
314
306
308
334
237
302
309
220
263
299
323
308
289
349
355
336
297
316
296
289
305
318
366
255
338
280
337
298
323
307
281
350
418
336
341
356
317
253
268
333
331
227
359
342
285
293
298
286
340
312
350
318
270
314
279
297
246
273
323
260
376
373
401
306
300
344
173
318
370
354
334
218
323
274
346
275
240
311
304
295
271
275
350
346
297
339
314
330
227
326
347
256
344
301
372
209
414
251
355
298
327
285
266
284
354
337
355
354
366
266
355
285
275
285
397
311
254
279
269
301
373
281
296
377
342
373
297
376
273
365
346
376
349
303
349
393
361
341
314
296
338
336
373
261
291
335
398
249
385
311
284
264
236
363
278
300
295
331
359
383
398
293
302
366
281
275
336
326
318
336
338
291
285
301
325
281
352
380
274
317
354
285
357
331
280
313
372
324
268
313
310
378
301
340
367
370
260
245
344
321
280
358
234
326
307
269
268
239
295
254
300
288
236
286
181
261
310
333
345
325
340
284
327
312
330
343
418
343
344
391
320
316
332
352
308
238
350
255
352
295
364
296
288
240
375
379
273
391
383
198
290
409
246
389
339
299
234
334
271
302
313
234
366
279
283
265
359
290
319
338
275
343
347
258
260
298
268
272
408
340
278
420
288
350
401
310
251
320
361
316
253
348
399
392
382
273
313
376
257
291
324
300
266
306
375
347
291
242
337
442
338
292
305
390
419
360
304
378
332
270
346
275
340
280
277
285
350
352
263
369
327
332
317
395
347
393
344
313
377
278
288
297
394
316
322
340
299
244
339
278
313
364
306
331
402
362
281
353
397
346
269
306
276
328
324
401
389
338
257
303
256
249
363
332
316
342
230
439
304
352
345
230
387
334
422
348
311
284
312
222
344
324
377
296
409
319
279
289
317
348
326
322
179
325
303
376
342
337
341
380
333
294
259
387
312
319
331
235
276
203
257
324
343
258
358
299
332
341
335
280
291
310
390
371
309
345
303
327
327
258
316
282
384
345
358
338
363
284
327
263
368
370
308
333
381
313
360
327
357
293
338
360
371
335
334
326
357
328
275
276
284
264
274
287
299
346
355
370
298
312
285
371
281
326
317
350
282
347
322
363
229
254
362
413
288
334
356
323
250
262
262
317
361
353
346
313
336
332
274
228
297
321
297
251
306
395
287
323
299
367
402
352
302
298
295
347
313
343
259
352
470
373
323
192
367
382
261
305
326
304
302
335
362
264
290
265
275
285
319
271
335
342
280
326
304
295
259
333
376
327
394
283
289
339
295
351
386
349
324
284
309
268
301
272
323
344
365
366
318
342
231
292
385
360
310
333
266
284
258
229
293
373
311
310
342
379
287
304
295
213
344
354
306
244
278
379
271
297
278
267
299
376
249
197
314
273
300
341
322
310
362
286
285
288
303
327
333
351
258
356
285
310
267
310
370
394
319
262
278
356
305
369
258
350
329
384
253
306
257
360
320
328
277
308
288
390
412
289
310
289
253
293
378
325
321
333
378
402
287
419
398
242
266
301
387
259
281
293
358
387
299
316
334
306
342
312
373
371
309
347
340
314
306
337
288
294
390
297
361
274
293
274
338
409
328
312
368
285
364
353
283
361
366
306
328
189
267
360
298
253
334
179
276
306
284
305
225
268
327
258
234
295
312
292
292
304
370
286
362
247
268
308
265
347
346
296
332
274
381
396
335
375
293
374
341
329
327
350
263
341
277
320
369
332
384
208
331
315
310
275
323
366
324
261
293
297
254
298
283
328
268
277
352
253
275
328
351
337
343
271
355
361
323
336
417
401
302
240
363
324
288
307
325
289
312
365
266
367
283
355
317
275
252
279
244
234
294
312
292
228
282
373
333
297
234
353
320
287
272
273
349
334
378
317
273
335
298
322
327
323
274
272
305
326
314
331
427
309
302
339
356
378
367
325
390
413
393
273
223
339
396
248
333
369
255
343
282
263
349
308
338
302
348
312
267
328
319
382
312
323
281
276
330
376
277
312
360
323
246
271
421
291
365
371
306
391
336
266
251
401
317
289
292
350
315
356
231
362
355
285
291
268
216
296
341
325
250
346
330
322
302
344
289
366
198
277
320
360
316
250
251
425
267
268
321
369
380
381
261
260
340
269
296
369
302
338
378
396
372
337
342
342
233
331
283
303
287
280
357
377
324
230
323
360
362
309
329
368
263
342
350
253
364
283
370
279
330
347
297
366
360
331
323
254
292
359
279
277
258
271
351
261
354
337
351
329
339
265
282
278
308
341
256
284
227
293
339
308
392
373
354
292
375
302
378
305
400
328
282
382
298
443
338
344
374
329
323
287
360
260
375
302
261
418
313
235
341
245
270
327
315
339
239
330
305
297
275
300
210
271
301
248
232
308
358
330
270
304
306
282
298
338
295
348
382
302
253
221
265
376
353
323
316
282
236
295
350
329
301
370
291
386
331
256
313
279
295
316
264
347
330
338
314
244
283
277
358
337
349
368
300
281
284
364
274
417
324
344
282
339
345
390
299
273
268
270
278
352
300
275
263
312
293
334
327
362
269
332
372
309
236
317
214
314
295
359
305
320
261
333
334
283
286
324
296
233
226
317
290
235
410
290
313
271
195
267
330
319
351
333
298
341
282
368
334
350
258
262
289
337
340
380
344
263
353
273
382
352
348
420
349
294
234
402
381
307
294
308
294
336
376
324
293
264
358
307
359
385
393
366
324
384
274
217
392
254
303
271
274
322
193
249
262
297
292
327
311
334
314
386
379
173
346
311
281
302
317
346
305
288
292
266
276
357
259
322
215
281
312
226
245
268
321
290
363
369
306
340
295
293
344
325
319
375
282
318
336
286
245
284
254
295
288
329
292
294
306
407
314
312
260
274
227
374
315
360
383
351
301
357
337
347
373
389
257
346
291
367
298
352
214
318
265
336
277
313
267
331
324
301
334
284
314
342
369
209
338
428
356
278
303
292
289
227
378
311
309
333
343
250
286
266
331
278
324
281
323
348
319
350
273
369
324
306
279
334
361
235
328
334
364
275
301
273
374
274
271
261
370
335
320
299
382
377
333
352
301
303
316
291
321
230
251
314
323
236
318
286
373
275
337
306
304
313
354
248
302
328
279
347
241
317
240
327
333
253
346
257
324
325
283
315
311
295
330
263
348
305
284
292
315
244
308
307
370
302
302
376
362
377
294
328
340
308
251
239
314
370
302
298
329
306
353
289
336
374
299
282
266
341
338
312
343
387
370
349
311
356
271
388
328
325
368
345
368
367
396
357
262
227
309
324
324
273
372
325
286
283
317
342
262
286
349
362
322
310
216
346
268
327
341
317
339
365
291
305
280
234
363
336
344
318
311
344
349
293
303
241
328
260
324
256
323
310
316
315
327
336
347
257
263
360
304
271
278
310
308
376
281
234
273
340
333
328
290
360
366
269
282
295
330
288
319
297
209
370
360
282
295
344
388
254
427
295
279
276
369
165
337
404
272
381
260
306
393
312
294
320
329
347
342
360
371
310
267
252
318
281
331
259
244
341
302
337
282
286
346
359
313
391
242
296
409
352
289
302
402
299
355
273
377
339
337
317
281
266
295
339
359
334
305
359
313
348
382
273
323
352
359
363
191
364
317
356
419
295
258
334
285
271
341
267
421
347
318
346
364
349
337
369
309
312
352
326
299
287
372
379
268
288
308
305
324
322
233
328
319
389
451
349
277
254
262
364
278
331
292
369
350
252
286
330
376
252
300
281
327
394
365
307
325
386
265
272
277
253
323
340
334
290
238
309
232
269
355
262
334
263
315
357
313
323
356
373
245
340
281
334
283
265
354
289
274
318
337
222
337
322
319
329
276
256
337
363
279
393
344
307
314
321
252
276
368
378
375
363
282
224
274
342
272
377
283
271
411
311
346
362
384
253
272
274
391
313
333
320
302
361
315
250
291
341
298
338
470
416
253
294
393
274
305
309
383
309
310
294
358
320
280
318
309
404
370
316
335
317
313
372
292
227
282
264
321
339
310
364
318
322
359
292
316
347
422
353
312
339
263
348
223
328
345
234
413
255
276
333
344
358
261
342
269
303
439
297
340
285
404
251
282
321
347
327
345
347
301
365
294
320
296
391
281
334
285
282
367
370
257
343
268
287
278
332
257
334
343
279
287
318
322
344
309
316
269
300
353
269
273
247
303
317
329
334
242
343
243
319
321
399
272
382
411
270
265
362
364
282
309
272
343
299
354
343
303
376
289
291
357
240
347
321
407
290
314
317
348
332
275
298
419
337
318
298
350
231
312
273
265
274
334
306
231
211
344
368
290
314
340
347
274
275
352
327
390
275
342
274
306
296
338
310
293
333
319
293
290
274
288
370
323
332
271
366
252
371
296
286
261
292
296
364
365
271
253
388
360
232
300
314
286
347
342
280
301
305
321
313
394
315
281
316
308
333
293
367
339
272
273
293
281
236
319
405
304
325
273
334
416
351
309
308
311
298
296
315
296
344
192
357
263
382
324
348
345
329
334
267
330
321
338
285
315
245
280
236
255
329
284
324
257
274
337
339
295
288
339
335
349
427
377
354
355
301
254
346
306
443
295
254
372
296
301
288
190
312
382
317
308
389
216
282
234
350
352
334
259
331
285
334
309
396
337
285
293
208
369
295
338
258
354
319
361
303
366
343
278
342
264
369
368
335
301
346
332
324
372
229
357
340
332
271
273
388
312
313
350
332
290
298
359
217
317
372
364
285
316
263
377
271
351
315
401
276
264
348
302
332
254
349
382
390
322
366
318
277
352
280
377
313
354
316
232
283
295
273
360
328
374
371
383
300
316
312
356
316
294
381
322
359
367
388
303
294
314
219
401
304
283
329
236
312
289
292
306
289
303
315
338
244
351
320
293
330
331
286
316
340
310
243
341
392
307
320
214
360
380
285
342
354
315
297
352
352
261
306
281
332
314
344
352
414
289
282
317
315
323
257
268
334
299
259
268
285
259
353
270
267
284
302
375
307
249
291
337
370
391
321
318
326
215
398
308
260
336
297
258
285
235
307
365
263
240
319
331
353
279
340
375
271
306
316
356
339
340
291
399
322
355
306
313
261
373
347
336
314
346
287
275
365
357
292
310
303
319
333
359
342
375
271
383
315
357
343
253
338
338
330
277
321
391
392
409
240
274
310
259
312
307
346
334
321
349
327
296
381
292
292
412
340
396
338
300
365
363
240
336
360
330
256
358
293
263
307
299
386
362
307
315
366
338
266
309
410
363
236
329
383
295
328
377
338
258
312
299
325
337
288
345
293
420
281
335
276
379
286
286
358
184
374
354
350
261
305
291
379
294
322
332
362
336
330
278
365
339
233
306
269
333
302
338
254
311
272
342
276
345
304
267
371
276
392
294
283
297
290
350
355
271
264
338
256
307
230
311
308
315
292
330
258
334
409
278
227
346
306
274
353
225
263
296
393
291
337
274
353
341
307
312
266
282
369
304
278
304
339
320
238
346
341
277
396
272
233
371
345
342
322
215
349
339
417
346
300
302
334
154
321
243
334
267
322
314
288
298
313
296
287
295
290
293
359
333
340
320
261
340
337
325
338
315
277
315
258
247
320
378
305
329
273
285
381
329
341
290
320
259
277
255
339
342
354
257
393
346
361
303
361
310
272
314
326
360
374
332
288
359
299
326
340
305
440
348
286
245
292
255
326
335
262
327
364
283
329
270
343
327
314
268
370
316
303
280
331
356
331
292
335
356
323
337
400
389
310
314
277
349
262
368
314
271
350
331
312
302
355
308
260
307
298
268
296
316
363
287
326
270
321
359
342
320
411
320
314
319
328
222
371
238
324
272
282
243
341
278
305
297
341
353
283
298
248
366
331
246
332
418
349
295
293
291
357
315
239
286
365
286
260
344
345
251
349
272
244
323
242
296
339
317
363
345
356
282
246
329
320
319
295
312
349
338
259
305
278
318
372
320
248
316
293
360
283
312
215
292
285
297
379
297
310
328
265
333
421
263
290
370
331
269
342
276
298
398
273
376
279
275
337
358
317
347
295
224
287
357
316
302
293
281
283
266
390
280
326
326
268
298
334
339
281
287
353
349
282
323
269
239
298
371
294
274
326
319
267
228
329
347
234
273
333
370
301
347
288
377
285
335
401
333
320
291
275
302
340
318
332
282
231
347
388
305
240
284
285
343
351
382
322
347
350
323
329
344
302
275
348
234
320
297
321
329
309
307
399
397
286
299
300
365
226
339
301
327
357
367
340
297
291
336
318
298
320
339
321
276
336
330
308
312
336
287
266
277
282
290
188
273
286
315
308
289
381
269
312
300
305
302
325
277
240
381
358
289
294
218
238
317
302
354
341
363
269
423
295
243
388
377
318
270
387
287
377
309
240
373
360
330
346
309
406
215
381
320
334
297
279
286
354
356
313
249
340
309
380
272
309
276
305
245
262
243
275
285
277
303
365
326
289
343
324
238
249
353
319
281
314
298
323
298
364
384
274
337
248
314
307
394
279
282
367
305
370
299
444
289
313
374
300
344
292
333
332
326
398
300
358
301
298
340
315
380
297
279
281
357
293
324
301
339
296
288
374
385
257
289
271
367
310
298
274
338
331
316
425
334
338
248
338
335
269
364
374
303
254
374
323
192
269
311
309
356
283
247
280
295
338
311
408
280
357
325
314
282
304
333
302
299
342
328
367
258
312
296
282
347
314
332
348
197
337
337
278
308
266
293
213
218
333
206
393
297
241
394
373
270
310
354
321
270
233
312
355
346
322
238
330
333
337
307
322
328
338
288
297
346
295
385
281
333
276
321
318
344
279
253
275
345
302
315
297
312
283
326
298
333
331
354
315
310
332
333
350
326
320
252
332
338
345
399
345
381
293
325
289
301
332
315
344
391
197
362
373
380
295
273
261
333
259
405
338
296
399
405
283
373
279
341
339
341
349
270
344
321
382
191
305
290
348
310
318
243
330
343
256
293
412
329
288
234
303
404
342
282
303
305
323
322
296
330
335
327
279
358
346
275
261
281
281
268
286
214
326
281
291
332
282
408
403
328
319
336
403
343
382
253
288
326
336
324
317
347
286
272
363
275
348
316
360
393
305
348
348
352
282
349
329
381
316
289
338
430
331
339
329
278
302
412
225
345
290
350
296
328
338
365
406
276
223
342
279
265
350
308
341
294
335
326
345
287
291
216
269
287
359
268
255
315
275
350
390
329
282
353
323
250
391
338
292
296
333
307
344
357
354
334
248
363
340
355
324
287
297
274
324
300
375
311
344
370
305
355
311
340
401
351
218
339
294
297
272
236
377
264
260
369
372
289
317
271
325
237
271
260
312
262
274
329
271
295
314
336
199
354
283
368
332
321
348
323
272
292
273
319
396
285
359
305
306
340
350
222
357
300
281
446
305
280
284
400
355
177
272
371
298
247
226
270
209
346
215
292
337
378
304
323
336
301
276
325
333
308
357
324
378
291
323
332
364
310
355
335
309
288
315
372
337
297
352
285
267
268
289
337
307
277
315
256
257
281
335
313
355
328
354
342
362
317
251
278
285
312
304
274
227
291
362
244
297
331
270
325
275
304
318
354
315
272
309
353
336
344
279
350
297
308
321
310
355
342
296
295
314
318
303
351
305
328
316
301
327
286
236
398
271
348
339
334
410
382
383
346
393
400
317
257
313
349
266
359
257
286
359
257
351
231
311
281
262
353
338
315
365
221
262
347
239
363
376
283
318
410
326
283
273
307
302
320
365
205
220
276
365
365
294
217
364
371
316
377
326
319
417
272
297
278
316
352
300
428
426
340
273
325
267
406
298
309
356
294
283
339
275
286
416
294
340
330
309
256
288
305
295
262
382
305
348
338
364
331
274
314
298
291
320
325
295
319
329
365
351
324
336
275
391
273
347
347
323
252
324
366
412
263
339
365
316
328
303
310
277
295
325
319
257
293
273
283
305
296
377
256
245
315
326
305
319
265
396
400
340
350
326
372
280
372
363
259
234
335
296
310
322
375
364
219
347
294
379
257
304
327
316
324
308
255
315
376
311
305
272
340
275
364
356
207
362
307
350
232
277
389
402
312
330
264
294
332
322
324
339
244
292
318
299
297
296
248
345
311
292
227
362
279
287
368
293
317
406
338
306
325
384
274
300
330
260
292
358
366
298
317
328
315
299
266
301
357
281
349
359
269
329
342
376
314
296
315
279
360
326
346
328
373
273
246
323
342
310
312
323
357
334
336
331
333
340
257
355
332
333
304
321
320
257
360
288
285
352
268
387
328
327
331
277
252
339
286
285
291
395
354
310
333
328
289
310
445
382
307
302
398
319
264
326
289
284
393
353
355
248
337
285
342
297
317
322
302
346
346
391
364
326
294
297
185
361
281
304
388
252
297
368
352
341
324
296
324
370
292
299
372
314
288
280
325
354
313
247
430
272
328
349
292
352
279
310
332
294
297
271
288
300
334
379
339
411
306
336
312
241
275
324
299
347
292
237
207
347
379
305
306
308
285
293
351
251
338
334
211
336
277
328
342
306
343
299
282
327
330
256
378
291
306
266
310
329
338
266
302
340
299
319
369
268
247
308
324
383
296
265
378
338
325
310
290
264
311
302
341
299
282
321
397
303
335
389
305
270
359
352
243
303
281
369
297
320
330
291
332
328
364
294
307
292
313
300
253
344
323
293
251
394
295
314
276
357
350
322
311
271
326
239
259
315
355
370
287
335
280
405
261
331
323
347
290
382
258
313
298
266
308
337
310
274
407
379
255
306
305
372
318
403
321
379
437
349
425
319
246
300
332
285
324
356
269
321
339
291
283
281
370
334
320
266
279
328
327
258
331
317
284
331
324
244
297
208
353
280
331
271
275
217
324
312
346
311
355
338
351
309
256
302
269
289
315
355
366
298
293
337
257
319
406
255
308
315
355
324
267
341
372
322
306
344
271
384
233
359
358
366
237
294
259
359
293
271
324
340
350
352
206
401
194
293
325
350
368
231
299
292
290
354
321
257
255
340
321
326
257
232
403
363
352
240
273
400
252
278
329
285
340
353
356
298
253
290
257
230
231
371
377
331
355
327
294
286
311
305
388
216
321
301
254
357
258
267
309
320
354
340
316
301
312
278
265
348
346
354
281
341
311
371
303
401
253
314
308
319
363
278
348
238
336
330
291
278
324
325
408
309
348
361
254
314
250
309
399
347
287
277
309
295
332
327
198
278
296
301
330
360
275
315
313
245
218
297
322
312
329
318
299
319
355
320
312
320
312
346
372
327
337
320
283
234
306
323
353
258
330
255
365
285
293
249
301
265
387
254
341
333
313
335
297
309
334
340
349
246
364
377
266
338
329
276
305
255
354
402
294
345
319
306
374
376
309
349
306
384
288
332
280
343
370
410
301
207
379
321
362
338
362
313
343
272
350
351
301
294
292
290
180
307
380
291
336
252
248
437
261
355
255
272
298
293
269
294
315
201
320
305
316
282
328
308
298
361
283
368
245
241
246
313
202
353
322
273
294
321
316
319
255
340
272
281
320
352
347
302
279
332
334
360
365
341
400
377
280
280
281
305
244
295
371
338
321
329
253
251
259
378
328
294
305
314
283
310
330
340
386
382
309
296
309
403
283
236
267
375
410
276
344
299
358
348
228
331
375
362
369
261
385
280
314
290
340
385
363
346
377
305
253
339
322
356
400
342
342
307
409
320
312
354
363
335
251
308
281
288
357
270
292
289
317
324
289
292
447
300
202
319
302
233
392
273
365
343
303
313
280
351
334
317
247
350
356
345
348
276
385
244
337
336
317
376
362
374
292
270
405
217
313
239
344
339
287
351
293
395
333
280
331
330
365
356
357
346
335
279
313
332
339
292
292
382
392
354
369
344
244
364
335
360
242
253
313
272
339
337
230
331
362
346
272
371
311
325
315
310
261
278
324
389
373
262
311
266
333
258
407
283
285
381
214
311
342
318
249
271
271
282
381
347
213
289
262
351
376
297
399
288
304
297
327
246
394
261
276
335
353
338
244
250
321
305
342
341
351
354
336
348
346
373
324
326
328
285
360
251
269
263
326
353
318
238
365
328
342
378
413
308
354
321
303
306
347
384
267
318
314
308
293
298
323
371
337
332
385
307
312
255
399
355
187
316
361
362
320
271
319
332
288
359
289
305
330
287
287
293
399
312
374
354
336
342
357
359
249
270
281
248
265
282
269
324
326
307
304
353
324
274
378
225
345
308
335
278
307
372
327
307
336
225
316
281
310
377
270
287
336
311
291
358
364
316
259
364
334
253
325
269
272
313
243
320
297
417
364
360
308
301
306
355
273
325
312
347
319
290
304
352
316
358
344
378
275
302
326
359
396
330
374
290
291
322
324
336
306
323
285
298
240
312
251
351
287
327
317
370
359
323
316
294
357
307
285
293
335
315
337
306
300
343
344
280
314
345
367
387
282
350
287
316
228
232
361
359
358
296
295
325
338
386
313
343
327
293
317
260
267
240
300
306
302
275
357
378
260
316
325
313
310
353
315
340
261
314
323
385
325
429
290
282
350
314
366
385
348
275
311
265
340
332
273
297
345
358
328
324
344
352
334
322
307
315
323
364
286
290
357
359
323
320
331
311
413
290
281
306
300
290
313
359
349
331
342
337
322
320
232
263
296
307
292
278
294
258
371
299
318
357
312
367
301
309
417
230
354
359
341
299
261
315
269
395
269
318
200
285
267
270
229
313
304
272
315
282
208
346
334
360
297
366
309
394
246
334
360
330
275
296
363
238
289
352
349
222
340
255
340
265
199
385
316
328
309
356
328
321
310
338
355
328
318
332
299
288
281
262
343
354
375
281
302
362
313
355
354
336
354
319
297
340
314
300
299
336
293
324
349
396
386
283
354
332
323
372
300
267
427
282
263
372
296
354
293
297
300
208
341
316
331
375
322
381
339
352
317
319
317
301
372
261
325
229
320
267
372
339
307
399
328
335
236
331
355
292
295
265
330
282
195
259
271
311
346
403
291
259
340
247
356
333
364
291
321
360
318
331
300
348
305
306
312
315
305
335
273
291
241
278
245
333
380
333
215
344
336
289
402
330
278
381
329
264
360
387
378
333
320
247
359
314
298
303
319
307
299
339
391
270
295
362
315
291
396
303
302
338
218
358
297
397
384
298
349
315
322
337
291
288
281
312
281
221
264
293
223
329
328
363
356
328
261
299
329
367
330
339
347
373
396
280
296
300
345
355
369
263
271
273
300
341
387
380
335
328
366
358
258
356
294
269
339
238
351
305
324
348
419
343
279
254
323
287
264
372
329
276
388
369
274
336
310
305
380
315
370
247
233
332
271
232
298
302
291
317
345
329
361
307
341
146
303
296
311
237
326
285
286
244
389
280
309
320
311
268
307
268
231
323
201
291
335
265
303
324
344
313
304
254
322
352
295
297
380
230
281
391
317
345
287
376
294
263
312
339
299
289
303
282
311
336
306
384
330
195
222
207
269
270
357
379
297
322
339
364
362
200
287
371
223
353
351
352
340
305
284
305
398
308
324
395
364
290
366
307
364
248
312
290
272
259
328
260
304
389
359
280
234
315
387
305
236
324
353
276
316
313
297
369
330
379
363
277
272
350
344
240
221
339
305
281
385
316
326
221
363
278
243
272
358
306
326
324
267
321
215
317
304
323
282
317
250
283
300
284
331
309
344
263
311
318
284
351
337
429
414
268
237
279
306
334
320
339
266
184
376
313
341
264
268
379
355
367
346
213
264
387
303
269
358
287
283
289
330
341
301
383
361
258
367
255
356
254
268
357
339
322
299
212
310
284
299
275
273
295
242
344
270
228
303
256
301
363
319
239
304
339
325
312
340
317
319
341
276
371
281
314
258
338
335
316
347
262
316
291
314
286
302
245
301
276
221
358
313
359
345
365
296
286
279
325
372
295
337
350
309
342
311
314
344
314
323
359
309
286
292
217
376
323
309
349
329
321
391
250
326
375
332
361
342
316
309
302
313
389
269
318
327
259
322
376
258
255
242
398
328
278
257
367
318
364
350
402
286
346
291
336
282
361
247
355
361
310
216
329
343
396
342
351
239
290
241
344
244
273
323
377
296
362
230
307
341
311
301
337
249
272
357
327
376
310
318
339
326
311
328
340
315
317
339
250
270
284
364
325
356
295
306
287
268
258
329
326
358
332
280
283
373
338
336
370
269
304
319
230
382
290
341
319
311
257
314
287
270
287
351
289
319
361
284
344
213
295
384
274
420
374
315
323
317
269
432
306
295
244
348
270
387
332
343
301
245
342
351
291
346
362
344
249
294
372
356
247
287
275
378
326
354
210
281
292
185
297
286
323
264
248
261
326
347
282
304
326
316
239
330
290
251
223
352
289
261
352
339
307
358
324
268
291
323
336
324
354
358
366
269
320
367
278
309
394
312
356
255
335
289
352
361
354
295
288
347
179
301
351
256
327
329
288
397
341
292
249
268
340
339
317
318
282
252
371
277
295
370
403
316
237
366
300
300
321
278
303
287
274
275
272
373
317
325
350
308
369
401
340
392
401
352
316
290
351
302
340
298
244
292
296
352
302
336
351
311
393
254
316
261
361
349
318
388
299
374
259
283
307
324
327
318
319
337
326
274
347
382
353
328
313
352
346
376
324
357
314
300
400
313
302
303
283
279
366
365
360
379
262
356
302
295
258
278
395
289
396
281
326
366
307
307
232
307
325
220
330
384
257
400
280
325
319
319
248
313
252
287
380
344
313
381
353
240
352
191
290
298
341
273
375
390
269
332
295
314
297
341
211
365
301
277
332
312
403
323
348
348
280
375
322
266
326
351
299
266
324
230
310
261
415
280
380
282
269
265
329
377
335
382
351
362
222
270
284
318
246
280
339
306
329
314
279
355
308
277
368
322
322
315
388
307
324
304
335
345
296
336
311
345
318
370
279
291
351
262
263
378
319
300
316
246
331
304
304
297
329
244
325
297
326
266
347
362
364
288
287
323
343
379
305
314
276
271
347
310
338
336
286
287
253
292
285
343
367
290
372
217
367
303
332
263
353
287
352
240
322
350
371
348
322
336
340
313
308
337
332
308
269
277
369
290
281
236
311
334
317
321
315
302
274
329
311
283
345
314
217
273
302
312
329
324
327
375
332
339
341
318
344
274
256
375
307
331
302
315
310
319
343
348
299
266
341
309
383
334
285
238
345
322
287
360
371
340
328
281
300
339
327
254
311
356
391
345
286
308
352
289
313
375
316
315
281
306
348
279
302
297
262
298
278
395
315
367
354
284
349
237
366
405
365
349
435
319
222
317
350
243
301
366
321
293
374
289
299
306
370
308
291
269
306
279
320
374
399
364
289
351
341
338
326
312
282
321
376
306
307
334
267
331
370
302
400
282
267
328
318
374
332
229
368
249
290
299
313
402
319
375
324
389
275
314
322
337
352
351
322
375
234
275
370
283
363
357
287
240
350
342
397
300
378
364
319
326
294
349
326
333
405
334
285
311
304
296
292
249
394
327
367
334
184
268
232
325
235
367
322
352
333
312
373
317
266
325
343
277
374
322
267
435
324
350
295
228
316
343
297
294
298
267
308
221
294
313
281
358
382
319
350
313
286
236
365
305
246
356
347
314
341
361
356
319
351
288
390
346
394
294
290
272
273
299
335
324
263
299
328
348
234
335
332
325
310
339
344
342
298
272
379
260
408
293
245
371
254
292
345
267
364
322
252
287
366
352
283
321
278
349
337
238
252
332
320
342
295
308
275
248
337
374
300
327
299
207
338
366
213
366
355
299
302
338
294
315
333
306
370
388
313
370
295
290
307
333
346
338
320
345
298
296
256
315
315
383
332
313
270
233
275
226
240
336
377
383
293
351
314
330
321
364
374
278
331
289
266
350
344
329
293
370
280
243
247
303
274
359
365
307
337
256
243
341
339
282
281
286
318
350
316
336
332
264
352
335
283
328
352
297
268
284
318
218
309
295
272
305
244
307
310
313
356
200
353
355
322
328
290
294
333
342
236
328
311
285
336
302
293
332
227
350
326
243
310
332
350
264
341
257
323
349
319
406
309
290
349
336
399
306
412
330
281
267
266
338
245
315
286
294
280
246
324
395
330
306
356
303
303
375
350
359
291
363
237
326
161
402
260
230
342
368
321
294
298
318
332
283
334
334
342
362
287
312
276
315
315
331
333
339
301
298
315
295
319
368
330
348
372
320
341
309
327
232
341
341
317
270
325
215
302
332
367
276
380
348
352
338
312
299
354
225
240
281
213
302
293
248
358
297
270
289
341
363
298
271
349
280
368
325
293
277
351
340
184
385
332
292
304
260
334
256
399
370
327
311
346
314
345
283
321
321
279
260
323
340
321
352
282
307
356
331
324
302
286
269
360
294
346
267
316
316
347
330
344
276
339
388
336
262
294
345
311
304
290
228
334
313
372
343
260
377
319
251
299
350
285
275
274
274
283
355
345
251
364
338
258
341
413
334
306
269
276
325
344
288
363
276
266
284
289
276
304
331
334
312
376
319
265
259
392
329
266
255
300
250
318
362
254
288
257
269
308
333
353
383
326
401
390
359
234
370
337
313
362
250
324
318
329
299
369
382
307
382
274
262
342
310
412
296
239
252
330
360
317
290
241
340
346
363
263
282
294
382
376
364
283
282
268
319
400
280
300
300
336
291
317
340
279
272
229
322
243
369
301
333
242
314
382
289
316
315
254
255
359
319
231
288
279
338
234
337
342
343
370
381
290
340
248
385
320
345
298
271
312
397
286
270
317
271
298
284
257
322
301
249
332
308
333
388
297
309
325
307
342
269
259
333
273
223
304
327
271
300
286
282
313
328
259
343
334
280
349
210
268
296
300
424
244
295
312
270
293
213
336
333
282
403
218
352
334
344
363
327
366
369
236
237
345
270
277
326
299
269
418
173
211
322
351
319
253
347
219
310
351
380
320
292
336
357
325
280
367
277
397
263
295
388
270
284
368
312
261
316
354
326
241
310
350
374
297
308
300
267
265
260
332
346
289
278
173
294
294
277
277
373
327
300
374
327
234
275
334
374
302
378
401
349
377
276
295
343
255
355
294
341
290
285
330
280
353
212
301
324
378
315
261
298
298
283
295
243
316
336
290
234
260
297
303
338
272
179
259
408
247
332
221
261
244
310
345
241
286
344
297
343
406
280
339
342
338
233
323
333
346
313
328
366
291
304
327
348
380
188
312
290
339
315
288
310
314
247
362
247
367
447
324
339
415
335
291
333
346
328
368
311
227
343
268
275
352
310
371
353
358
283
317
298
435
328
315
338
246
313
262
342
362
364
349
337
243
379
240
321
392
313
304
331
312
252
290
395
385
335
303
338
341
324
330
286
365
338
338
299
307
337
341
242
325
281
288
223
327
415
301
313
344
211
358
303
367
290
227
291
303
368
315
308
341
327
302
236
298
288
331
388
287
254
287
322
298
312
278
392
315
315
273
304
285
164
307
315
260
304
329
328
344
347
384
340
356
379
378
365
251
368
224
277
335
322
316
321
309
210
247
229
311
281
398
286
381
313
311
312
375
305
220
312
293
382
296
274
290
342
249
258
316
348
331
328
294
311
267
288
326
308
308
355
224
296
295
299
272
242
387
290
255
281
302
307
312
306
282
241
280
352
296
326
328
332
279
313
333
373
268
280
289
383
337
352
284
335
323
306
349
209
324
358
376
383
400
340
325
312
235
377
262
279
199
343
295
263
333
293
314
327
376
324
321
323
425
316
310
390
336
315
332
381
278
287
206
281
349
290
276
324
238
342
214
261
305
368
313
383
389
336
394
356
302
349
302
382
311
268
240
415
310
272
352
246
342
310
349
361
251
244
265
340
355
229
305
335
340
363
324
300
395
328
361
320
333
315
334
324
309
316
309
321
329
327
263
322
375
313
338
275
298
397
383
308
261
367
290
212
357
232
289
183
311
280
246
333
289
265
297
337
281
332
290
336
299
326
322
319
372
323
317
314
333
375
341
301
332
226
268
272
221
329
256
276
328
321
265
327
341
302
413
342
207
335
298
260
348
360
273
368
315
226
266
289
321
347
235
338
309
295
360
318
290
356
291
283
232
272
301
268
278
315
228
335
272
330
370
262
364
281
327
292
330
248
319
344
342
330
298
338
405
320
333
355
343
330
355
308
232
344
381
283
246
315
274
336
306
380
341
302
275
339
359
393
272
308
278
214
237
411
367
312
341
408
413
279
377
268
337
249
346
289
340
367
332
327
286
304
258
318
324
301
306
336
260
286
350
274
322
291
362
286
357
266
333
335
335
320
343
261
323
330
338
327
217
282
285
373
222
316
359
273
290
315
331
325
263
343
293
339
289
375
336
345
329
364
306
338
316
328
374
355
283
224
329
365
353
284
310
385
278
292
322
327
400
314
343
329
390
384
271
256
398
385
307
320
284
300
246
310
285
249
201
255
322
322
274
316
340
356
321
254
275
346
321
361
293
343
314
367
300
319
317
290
230
319
330
380
309
369
278
280
333
347
294
302
384
240
321
295
326
348
288
253
293
303
323
399
366
297
344
352
255
213
326
350
351
331
308
260
267
267
354
323
363
337
356
377
318
297
305
327
336
326
293
301
392
397
319
275
246
334
218
314
309
325
299
301
365
324
359
366
269
318
324
261
365
308
333
304
327
405
319
304
301
312
271
318
269
335
345
329
347
308
286
305
305
306
366
258
309
257
341
334
344
289
307
293
286
394
354
340
295
250
321
297
345
376
391
393
265
311
281
350
295
304
306
273
380
358
379
263
384
378
401
377
330
287
278
284
292
334
369
302
385
249
318
316
269
307
318
358
262
321
309
334
228
369
240
300
366
328
294
326
316
272
303
383
286
275
227
374
375
278
283
218
266
319
300
360
349
345
269
387
306
316
314
338
311
339
309
382
308
285
332
296
278
310
364
386
331
273
310
270
341
342
270
354
370
301
316
258
367
395
272
307
287
359
274
350
313
355
317
348
286
352
327
220
216
324
281
271
264
324
247
238
330
343
224
383
368
264
375
337
258
348
224
201
347
368
254
365
314
372
301
361
329
286
217
296
285
349
305
269
298
299
342
346
277
284
387
320
306
278
384
341
346
387
280
344
289
258
372
241
257
338
336
302
350
279
335
193
289
268
267
383
352
281
255
397
321
344
266
427
284
354
368
310
307
364
304
298
362
297
240
305
342
288
344
308
306
319
291
322
275
360
337
370
265
297
326
299
329
330
343
309
378
322
301
249
378
351
311
349
239
378
313
323
259
291
250
360
356
304
297
301
348
362
283
359
327
296
276
323
308
282
359
332
343
309
295
341
276
318
232
343
272
333
273
309
331
307
305
368
298
261
278
232
404
312
304
318
291
315
306
326
329
262
307
350
297
336
314
289
309
305
300
283
336
388
349
238
296
367
371
340
313
327
313
310
328
290
259
327
327
265
408
359
375
232
388
388
365
361
278
322
308
305
342
249
350
277
267
302
310
262
359
300
297
369
298
260
328
349
333
192
323
330
341
369
346
353
253
340
336
215
244
383
333
274
306
305
342
255
275
219
274
273
252
335
348
282
359
233
395
337
366
311
298
312
317
314
327
360
284
303
250
257
290
308
367
342
352
387
337
358
380
393
167
245
250
338
343
319
351
319
259
288
342
385
312
269
374
276
349
301
266
300
335
293
389
288
292
298
341
299
231
330
268
287
350
325
333
331
275
350
332
253
315
369
314
399
286
342
332
339
293
275
331
300
321
305
310
344
281
314
248
237
329
250
285
307
284
279
306
270
306
278
346
284
383
335
250
301
307
297
380
353
287
356
320
342
295
276
322
368
306
245
283
277
319
342
334
277
337
332
321
271
308
375
289
353
287
248
266
396
270
344
358
287
351
384
254
314
235
399
338
368
262
281
331
263
332
340
332
307
365
274
336
351
342
347
330
362
339
322
365
419
309
352
303
324
286
275
360
331
329
419
321
318
323
337
393
333
331
331
346
335
306
380
339
360
338
263
315
342
355
366
370
292
291
369
425
392
345
302
398
352
344
299
342
266
314
398
351
381
371
337
316
270
332
228
304
344
385
320
336
311
292
242
374
367
353
439
352
310
262
379
383
316
321
367
305
333
430
249
320
292
253
322
328
421
317
311
355
263
330
344
316
347
330
291
337
314
314
404
273
210
321
286
204
310
291
328
345
326
314
330
265
310
246
264
405
293
351
230
310
336
309
278
372
280
280
305
342
308
376
270
388
351
297
351
248
286
264
315
293
343
331
372
330
271
387
373
344
330
315
294
358
308
321
395
303
416
257
290
297
360
346
277
336
265
344
345
331
315
338
315
271
287
339
285
397
358
303
323
306
239
260
304
319
320
318
248
280
268
286
285
272
393
285
268
321
393
264
319
328
300
296
332
172
327
303
302
354
292
279
293
322
394
274
266
301
356
270
352
331
350
327
285
314
352
361
270
397
303
276
319
324
339
327
297
309
242
390
326
331
305
361
337
344
301
243
300
289
342
336
291
321
323
331
275
292
327
339
287
268
340
271
264
370
304
383
357
306
269
382
360
305
327
262
381
316
330
304
337
236
406
266
319
295
274
297
328
266
259
385
305
395
350
347
374
343
247
348
241
208
377
232
303
287
247
318
252
326
405
318
292
347
348
328
321
336
367
319
343
242
245
382
345
337
308
316
330
330
300
279
298
273
318
322
318
290
340
286
336
271
257
327
282
298
355
242
342
312
370
295
371
342
376
221
317
357
293
288
378
292
262
355
277
330
365
341
285
307
256
229
383
323
292
357
343
325
337
344
339
327
275
279
275
365
351
319
273
287
292
321
330
329
319
340
313
300
327
258
313
380
331
337
305
242
367
254
302
371
347
316
395
261
348
330
311
351
259
361
259
381
333
364
248
386
247
349
250
269
322
290
269
289
241
258
344
394
331
261
328
318
347
391
355
286
274
343
291
274
283
332
320
318
389
334
378
336
321
264
391
327
230
331
442
330
352
324
317
396
311
317
309
268
305
286
180
264
305
313
279
336
377
345
318
298
369
383
242
366
349
348
344
331
334
206
305
326
340
360
238
333
253
312
303
285
323
424
337
309
294
285
308
374
205
344
304
383
250
274
359
298
250
396
288
327
355
300
318
294
293
368
313
284
270
255
286
385
389
293
305
377
399
292
306
293
390
347
322
376
363
261
348
312
333
286
292
331
292
358
287
216
289
311
300
332
284
339
204
362
287
305
289
390
286
302
335
261
233
330
335
338
389
315
320
381
386
348
292
213
314
243
390
248
335
374
305
310
286
258
328
245
256
313
266
302
186
316
222
322
219
218
278
324
309
392
308
282
321
287
282
325
364
304
273
340
321
317
340
326
281
281
290
308
289
327
345
196
311
318
318
200
310
311
379
438
265
320
317
325
345
400
378
323
325
306
315
295
402
359
299
308
275
386
338
276
323
252
283
365
339
341
268
363
338
315
320
302
294
302
270
360
391
289
281
331
272
308
330
277
401
212
388
351
305
367
313
278
258
324
382
285
341
331
283
296
297
312
245
391
274
345
359
324
342
239
250
320
264
269
318
304
385
290
274
322
375
327
315
375
337
334
249
285
250
273
256
360
289
312
315
348
348
342
357
377
329
294
286
279
373
321
256
293
244
250
336
288
207
313
359
319
333
212
350
384
208
352
311
287
386
285
308
283
290
343
266
291
291
307
297
425
297
392
331
343
286
297
313
336
307
270
274
294
308
350
204
236
300
440
292
269
313
336
349
268
321
246
352
325
317
286
302
245
326
335
362
312
349
311
321
328
261
337
339
294
278
298
252
358
380
386
417
269
347
354
272
274
339
320
245
385
239
399
298
268
372
284
343
273
332
268
356
372
306
311
326
420
351
294
263
407
360
318
329
366
337
320
310
286
285
243
294
261
321
289
347
350
323
295
335
369
297
345
311
321
398
375
333
394
280
290
319
300
267
260
345
310
295
253
239
307
297
276
197
307
330
301
345
361
349
336
291
332
340
287
374
272
359
329
305
342
339
286
312
304
411
278
287
230
330
223
369
271
326
364
279
307
265
263
359
328
286
357
268
243
345
319
312
304
351
313
350
335
327
381
320
272
300
377
304
329
299
314
332
332
357
321
411
239
300
327
279
353
279
314
334
332
272
293
311
245
306
327
362
309
340
359
351
380
280
368
308
234
276
276
389
341
284
334
339
332
315
370
367
319
342
215
385
309
318
262
305
339
291
376
338
356
317
238
295
367
333
284
255
286
349
305
313
301
266
260
316
316
241
365
244
298
302
272
341
262
322
295
244
376
233
237
313
293
276
315
306
268
373
329
229
254
224
339
339
307
315
223
321
402
223
283
331
305
374
339
257
347
379
329
356
350
338
292
240
290
313
330
298
342
342
305
338
404
406
257
259
288
315
325
337
273
248
307
359
298
303
288
308
366
231
389
297
262
310
258
338
319
245
253
318
315
336
321
282
294
290
314
336
200
358
319
279
289
353
275
311
299
346
307
407
326
227
324
352
321
277
319
362
396
268
306
303
352
293
245
344
334
235
334
294
327
256
326
276
352
319
331
334
290
349
265
308
327
307
348
376
311
356
367
306
338
359
393
274
347
329
360
334
347
273
305
270
257
357
323
277
290
313
285
255
188
303
340
279
326
250
313
348
319
319
302
361
372
279
257
320
307
336
328
285
362
289
235
299
300
284
274
302
261
251
279
378
368
259
322
299
334
375
300
427
375
327
331
374
267
234
392
287
358
329
240
315
378
310
252
370
337
300
285
349
312
363
319
395
327
339
263
255
325
294
240
263
331
391
280
315
303
298
289
324
243
213
319
292
403
278
284
354
309
307
288
252
304
328
328
396
336
261
283
257
219
332
222
377
271
313
300
211
284
347
313
241
323
381
282
317
256
450
317
334
320
301
324
321
267
328
339
334
278
361
299
349
392
310
297
259
299
345
340
304
394
312
391
261
302
358
334
324
363
295
364
350
342
332
309
346
329
282
353
353
325
383
290
341
229
347
290
267
298
272
319
318
321
366
338
302
213
274
363
391
343
268
414
343
357
348
347
353
331
362
239
241
267
320
342
357
311
374
408
344
233
374
289
265
302
299
364
334
309
385
326
329
383
318
257
320
344
370
323
262
335
340
384
356
268
311
336
289
328
326
275
273
368
312
310
311
220
229
260
280
381
349
357
411
275
334
287
286
377
328
205
373
305
440
250
305
330
299
328
346
333
302
355
311
351
277
358
329
383
332
290
394
343
284
249
350
359
259
386
278
359
243
330
309
388
221
335
389
282
355
361
299
336
316
355
372
374
282
359
331
299
256
321
231
305
340
382
288
298
291
258
305
396
308
365
342
248
256
334
350
321
227
278
386
317
320
253
376
260
367
317
314
342
349
389
386
300
397
251
270
359
334
314
339
308
215
283
328
389
354
321
313
385
297
342
377
251
317
283
363
299
341
281
251
357
295
327
367
383
317
319
279
292
333
299
386
256
346
283
379
322
345
279
381
307
333
311
283
315
275
296
350
301
339
303
280
319
258
282
383
316
338
328
366
301
351
315
295
224
264
361
412
352
281
338
371
293
253
355
280
351
299
295
328
319
301
251
326
270
274
320
284
374
373
348
281
333
328
298
300
319
366
313
376
289
349
366
339
340
292
303
291
308
269
380
436
349
412
373
331
356
321
340
291
374
345
340
293
371
343
279
360
250
284
276
341
324
290
277
290
436
364
365
329
270
343
261
268
324
329
322
427
302
308
318
292
402
359
281
276
306
250
248
367
367
293
368
253
287
311
312
332
272
310
334
345
398
249
402
313
304
311
256
276
218
261
363
413
359
301
338
311
325
314
334
340
291
292
303
292
272
333
296
348
316
324
305
288
333
302
329
278
285
327
335
309
330
295
257
362
235
301
343
387
339
311
315
376
284
267
332
296
283
345
347
317
279
325
272
290
294
240
320
224
310
254
358
331
274
341
282
253
332
309
304
317
356
349
326
248
314
303
326
395
321
294
373
305
282
301
293
234
369
209
280
241
284
391
349
305
331
277
314
269
313
318
295
253
254
354
318
287
386
364
369
348
332
264
320
314
325
346
362
364
268
299
348
298
296
312
273
320
294
327
274
278
313
274
209
332
296
367
234
326
335
380
380
233
280
334
311
261
336
322
275
300
342
290
301
277
327
333
278
262
369
355
289
342
411
378
352
362
355
293
328
299
239
297
331
337
354
228
339
357
398
284
354
358
357
314
393
325
257
359
352
249
373
345
287
399
278
291
367
253
313
304
288
292
334
278
330
281
287
243
264
331
363
285
326
246
275
338
310
314
341
355
298
310
366
324
314
346
275
289
283
314
346
367
279
223
281
294
279
360
327
311
279
281
287
343
377
265
202
284
346
343
393
353
354
313
332
419
283
309
327
342
415
299
360
263
302
391
310
336
191
425
197
252
330
374
414
344
371
388
353
263
297
295
350
299
250
302
297
336
211
329
350
304
307
318
269
316
282
369
291
347
322
354
348
399
394
359
395
372
277
348
243
300
338
296
300
233
378
336
319
320
243
318
435
317
330
295
269
285
300
300
328
287
305
369
243
300
325
276
353
258
309
294
319
331
317
347
375
368
357
332
309
303
332
310
361
352
307
392
358
330
341
335
312
316
293
348
285
299
326
339
319
337
326
319
303
355
272
279
281
314
275
320
313
267
320
383
288
396
332
299
331
329
225
394
339
312
357
269
345
310
317
323
319
297
304
245
289
357
369
263
360
243
254
287
315
326
375
327
301
281
321
331
294
248
310
336
151
234
385
338
378
379
283
350
319
287
327
364
302
338
348
268
348
340
276
337
362
304
350
227
314
223
306
316
294
329
305
291
258
295
324
266
326
287
324
381
339
394
282
262
330
348
356
263
302
395
355
197
340
381
312
411
371
296
408
370
319
368
303
345
319
309
365
352
381
291
345
369
279
290
322
361
260
255
250
304
385
168
258
346
317
365
230
318
315
317
260
283
344
362
223
287
315
275
399
352
308
367
307
327
371
347
273
319
363
289
287
309
246
312
369
268
326
324
254
330
334
275
346
329
231
324
344
280
336
276
320
340
313
286
253
274
313
240
324
307
287
351
350
260
271
286
315
273
320
385
354
246
260
279
367
358
291
220
308
285
328
223
338
327
337
331
363
386
221
314
347
303
277
340
256
394
343
329
289
344
355
304
299
257
319
293
236
330
339
308
395
358
329
266
318
323
243
267
356
315
278
315
353
235
308
349
296
315
331
390
338
312
314
313
316
324
324
374
299
339
300
317
339
307
293
324
336
315
314
355
388
304
367
372
356
359
278
348
389
303
312
385
290
348
348
341
305
307
329
351
314
266
306
250
270
325
289
237
273
379
250
252
302
401
307
324
309
314
354
328
372
355
280
334
322
312
356
347
236
336
360
296
287
315
311
379
349
375
302
320
229
294
412
297
288
281
334
347
272
218
332
309
300
353
291
247
316
324
291
311
260
197
312
310
348
311
272
278
289
345
289
272
327
368
324
337
342
345
257
244
295
265
232
259
354
372
260
246
434
361
276
253
302
353
311
328
361
359
388
284
341
227
315
326
350
370
273
307
282
309
280
389
366
363
303
304
318
313
359
333
303
267
248
319
284
276
323
401
417
332
346
344
352
412
294
438
310
331
332
354
315
275
326
365
347
351
437
320
387
399
302
353
304
305
346
347
329
300
342
310
287
349
308
326
337
338
362
347
315
458
353
291
402
344
276
273
414
331
256
360
315
261
362
260
233
289
410
266
224
295
303
317
236
310
301
325
360
356
343
355
233
264
336
314
321
220
213
374
417
318
396
367
331
316
407
296
309
271
375
277
334
315
251
271
363
229
266
304
239
356
357
234
311
325
239
278
301
228
282
327
323
257
326
349
367
358
269
328
247
306
424
328
332
358
311
319
367
328
350
319
313
243
253
269
293
290
358
414
338
370
328
269
326
340
293
313
344
232
324
351
330
314
245
273
252
395
333
319
309
375
250
353
307
412
273
375
342
336
305
334
368
270
223
262
273
251
186
351
344
368
346
319
235
285
326
355
272
282
335
363
316
359
301
303
353
267
318
370
409
356
357
321
329
317
348
244
312
308
316
248
344
260
330
295
287
335
297
307
318
334
317
350
339
328
285
372
370
242
312
404
331
415
308
396
263
334
317
266
305
368
298
335
343
365
315
304
335
305
347
277
307
339
393
386
315
269
321
365
315
320
289
327
270
277
348
321
321
357
329
269
304
302
267
277
206
385
303
271
301
331
227
260
312
289
306
307
279
315
320
295
305
298
344
264
388
305
346
246
272
380
346
274
274
388
248
319
244
245
336
343
356
368
273
308
319
230
288
349
308
256
405
331
246
306
336
266
312
238
360
253
336
223
351
314
203
298
299
322
365
286
380
277
322
390
358
277
228
229
297
321
338
350
302
243
284
279
394
226
328
334
372
322
278
392
263
345
345
206
402
397
251
290
279
264
322
370
304
250
323
254
289
282
332
223
335
183
324
302
296
322
262
319
292
356
331
290
290
337
293
319
400
312
353
265
342
329
350
262
357
304
312
337
362
288
292
325
322
259
313
343
332
303
277
321
321
248
269
296
328
359
392
257
239
339
312
370
289
310
333
342
313
278
258
244
314
322
301
278
347
302
279
344
316
289
283
288
293
331
307
326
350
292
356
310
354
311
289
320
279
335
307
322
274
347
369
287
311
410
319
285
320
412
329
305
286
323
337
307
241
313
248
372
329
327
334
332
376
319
401
347
255
367
313
277
364
325
252
336
306
343
274
356
335
258
231
238
296
265
299
341
312
338
344
352
375
223
296
301
264
272
298
262
390
351
326
261
320
378
316
271
296
345
240
272
262
373
285
401
389
286
348
328
309
274
298
292
308
263
351
320
326
345
286
307
294
238
350
331
280
362
262
260
289
311
312
327
281
367
353
245
293
370
368
392
318
351
308
297
357
330
340
261
359
317
289
308
397
353
307
326
323
317
370
356
236
288
352
348
304
348
285
345
442
345
252
323
337
290
261
279
339
372
304
290
246
332
295
333
345
340
344
301
316
299
416
303
284
262
320
262
311
286
319
289
297
257
259
247
343
325
289
364
365
207
283
356
277
323
256
273
295
390
358
304
369
297
351
254
311
301
231
357
342
345
333
340
290
363
306
387
365
361
290
317
335
350
301
254
299
362
279
399
375
283
331
279
261
349
287
277
301
240
232
309
334
371
342
259
286
277
285
312
315
278
361
299
327
295
322
373
308
358
291
369
301
360
360
322
253
338
328
347
299
344
254
294
345
334
366
282
296
266
383
270
342
260
265
334
356
320
279
349
389
369
322
382
318
283
311
264
334
394
311
332
371
274
374
278
308
267
300
273
378
287
278
317
288
274
284
334
391
363
268
254
260
197
234
265
186
332
325
347
269
359
336
328
301
325
248
290
337
360
344
295
317
270
331
290
154
241
287
375
326
298
419
348
379
328
319
348
346
275
319
331
341
319
343
282
320
333
359
322
343
251
304
284
346
299
343
331
388
291
286
295
328
324
355
319
341
385
316
329
338
263
368
250
346
288
315
354
320
388
345
261
327
318
286
373
298
304
265
291
338
283
352
295
331
314
351
320
253
319
227
294
286
289
359
289
291
335
253
375
275
321
351
246
234
276
292
269
374
266
333
301
360
342
371
275
329
330
256
321
308
353
325
332
320
289
329
239
340
345
288
339
324
331
292
345
367
349
302
310
282
331
321
307
311
297
309
284
320
354
339
394
363
322
381
348
353
372
285
273
334
353
216
355
272
340
294
387
310
290
316
349
300
306
319
234
285
362
289
368
336
291
270
252
303
335
335
348
288
214
323
242
295
321
281
326
291
309
302
261
272
263
336
265
350
190
331
321
292
373
336
340
310
372
376
336
277
261
360
301
382
291
309
307
259
252
283
312
294
380
229
301
355
286
322
289
346
361
390
343
278
234
287
354
307
379
335
281
372
346
338
390
384
328
259
354
276
350
319
337
403
295
369
260
389
386
299
346
327
359
383
258
375
338
325
368
255
225
356
314
298
277
352
290
317
325
293
318
304
361
279
330
312
314
315
385
317
298
350
329
356
328
359
398
324
280
285
258
359
348
389
270
325
185
292
348
351
268
237
309
427
217
289
325
340
251
213
268
242
291
296
378
301
343
335
260
381
346
310
350
313
287
278
305
345
302
359
295
362
302
349
381
289
380
314
329
343
335
320
229
328
333
267
320
264
295
247
286
271
330
374
321
333
338
306
317
329
411
321
343
313
412
312
253
302
313
321
333
373
236
279
363
317
418
261
311
247
291
389
207
326
356
314
304
367
370
376
338
367
320
339
286
373
291
298
226
307
286
369
291
214
330
351
284
313
325
315
336
348
266
349
364
365
295
308
381
340
277
359
321
404
310
305
354
344
424
290
341
295
319
311
317
319
341
203
372
305
330
278
246
302
359
321
406
358
337
335
299
251
317
268
256
261
351
264
220
286
307
387
342
203
268
256
359
262
334
342
298
338
276
315
280
283
351
353
318
329
320
282
387
401
312
331
332
344
357
263
304
284
410
269
364
326
367
273
288
331
296
336
364
324
291
213
309
335
242
278
387
305
276
309
193
292
369
412
375
288
293
330
315
346
286
291
256
292
326
349
284
262
245
296
304
318
275
281
298
366
314
384
354
312
416
375
388
291
376
241
381
323
291
366
232
304
327
352
258
352
332
325
342
264
272
330
249
303
368
385
342
315
275
293
384
323
334
340
287
306
264
385
359
378
379
315
320
309
319
290
311
375
378
291
254
326
378
361
294
340
339
356
310
362
239
348
380
421
347
349
326
319
279
302
396
279
334
279
293
373
314
294
283
285
296
256
321
338
354
375
305
331
362
362
281
310
292
368
402
336
345
355
316
268
303
312
346
322
300
270
329
319
341
279
360
283
308
355
271
258
369
347
301
304
275
308
328
310
363
362
379
350
271
385
366
352
301
314
313
293
337
327
319
316
304
310
296
346
279
286
281
264
334
296
334
330
359
292
249
281
345
279
344
288
309
278
344
284
353
309
291
287
317
282
338
445
311
318
289
265
361
333
322
310
260
311
342
266
278
345
259
316
383
355
290
356
262
293
296
391
302
334
268
337
302
338
317
319
320
301
293
338
323
333
294
258
317
339
362
303
251
309
368
304
341
317
353
313
300
331
303
252
334
423
341
409
268
314
294
332
256
234
342
345
358
272
296
307
312
254
257
308
220
284
306
332
289
268
329
279
332
228
293
303
319
337
321
355
282
297
364
365
347
269
275
334
353
334
227
368
343
217
276
269
212
368
318
261
335
315
337
243
294
231
343
346
346
339
393
334
315
261
308
269
349
329
375
272
379
285
272
303
405
316
256
352
231
370
299
351
302
264
326
365
310
317
311
343
368
354
335
267
324
291
326
291
310
328
293
375
280
370
347
341
314
316
251
301
302
311
346
368
327
348
261
312
375
306
347
353
318
286
266
334
217
382
310
378
316
319
293
313
330
269
324
269
411
242
291
235
278
349
313
346
335
291
274
388
295
251
326
236
325
386
282
270
339
362
348
401
383
229
286
267
329
218
323
319
300
371
258
279
312
264
260
321
347
327
296
345
297
307
316
284
294
361
342
318
244
379
305
349
329
322
321
250
313
362
272
318
347
269
282
328
336
307
339
302
368
328
259
303
365
299
298
282
286
293
311
307
390
345
348
367
322
364
299
337
406
294
377
346
334
289
283
310
317
344
354
336
305
275
231
286
342
238
359
361
331
322
360
325
286
281
314
269
322
293
322
357
303
312
319
285
310
276
314
325
293
315
292
309
329
368
383
323
367
376
240
347
296
328
355
302
274
305
332
309
288
278
377
293
322
297
302
289
292
304
332
324
210
249
301
313
185
289
387
284
263
274
389
324
273
310
378
305
245
365
354
324
324
300
274
343
336
303
327
251
321
324
292
364
283
361
308
306
287
398
348
358
319
371
284
222
347
341
413
360
251
310
319
310
311
308
269
376
318
392
346
372
291
361
371
294
349
296
253
293
353
306
291
336
316
297
293
271
360
332
317
251
345
357
293
316
271
354
348
467
346
345
328
319
350
332
279
344
341
315
339
351
378
401
280
242
323
307
371
318
354
288
382
299
293
352
291
326
389
244
278
290
288
271
282
352
284
343
251
354
267
296
318
348
302
344
333
365
393
352
372
210
224
310
361
293
352
288
314
317
306
317
295
250
354
374
321
315
349
334
379
269
259
256
351
301
366
342
366
380
286
324
336
299
382
326
279
297
353
268
395
302
314
247
268
321
336
322
334
297
273
341
301
259
272
265
383
354
237
343
255
307
363
322
321
286
259
237
302
328
241
302
293
386
298
372
283
291
327
258
329
286
340
324
322
285
323
242
266
353
219
289
310
295
254
393
277
342
330
332
308
264
394
293
326
244
317
239
346
385
357
348
263
284
328
267
300
318
355
256
322
361
260
296
281
341
331
306
379
329
343
253
329
245
326
220
307
337
334
302
290
309
295
278
211
302
384
311
238
257
389
343
410
259
388
211
303
429
318
297
316
312
369
364
405
332
323
325
372
333
290
273
321
304
428
204
321
374
341
374
317
343
310
342
304
281
311
332
313
417
337
244
297
392
297
277
305
249
376
346
239
275
267
281
340
321
382
282
305
283
324
421
273
336
298
264
348
298
295
303
300
353
308
270
312
322
287
293
360
353
273
328
198
392
283
254
290
317
404
345
345
361
276
358
290
332
215
267
315
367
395
290
259
353
379
366
273
387
301
386
405
279
234
362
350
352
236
308
341
293
328
371
370
321
305
282
278
219
334
277
322
324
343
236
301
325
291
435
363
362
327
377
328
382
281
360
340
369
316
292
373
349
359
284
310
360
335
330
416
302
322
341
315
289
350
281
252
303
389
299
392
298
355
380
305
335
354
277
237
357
310
290
283
298
302
289
369
265
349
289
399
334
313
319
312
220
357
304
224
342
234
385
373
348
408
323
322
424
281
348
310
274
269
263
255
301
255
353
324
311
218
278
335
244
364
341
353
256
319
275
391
376
346
357
363
262
301
351
309
273
306
297
292
377
354
369
312
307
315
258
333
384
312
282
376
288
261
341
266
331
287
270
343
218
315
303
336
313
328
324
301
336
303
339
276
349
366
271
354
376
277
379
379
298
377
251
344
264
345
342
295
350
322
247
318
313
349
297
305
388
364
313
261
359
244
319
330
332
324
331
283
338
293
316
336
348
355
327
317
338
274
355
303
288
288
334
227
349
330
325
280
377
328
348
246
240
351
360
283
325
334
301
325
266
327
293
303
261
370
300
411
337
281
356
351
363
366
306
279
331
334
298
350
362
323
268
337
350
283
323
252
367
297
308
336
297
263
334
315
320
302
261
433
285
332
358
286
223
385
362
327
317
335
280
320
304
282
335
302
302
405
208
341
300
352
299
249
339
346
315
353
317
380
347
270
378
311
254
347
365
230
287
253
362
324
280
325
287
332
331
342
311
246
370
243
258
270
307
309
257
341
349
300
253
294
305
369
356
295
314
356
250
300
300
356
380
327
291
244
344
294
308
365
346
254
310
265
283
365
291
275
265
354
365
337
299
266
312
370
336
302
317
291
328
234
252
371
326
276
391
342
283
339
330
380
344
279
328
317
280
326
413
340
341
350
364
309
328
320
246
341
256
309
299
308
334
287
407
229
259
376
197
304
259
306
292
320
222
366
241
366
304
373
301
283
302
333
225
356
367
347
379
343
376
308
294
273
309
201
231
317
287
219
286
214
242
338
274
256
295
303
344
249
290
291
310
297
271
382
270
198
359
292
285
309
297
315
327
344
248
233
291
306
363
302
260
291
380
315
296
251
404
240
331
260
248
321
292
265
361
288
253
297
312
382
251
334
323
231
290
321
310
323
375
294
292
353
297
265
279
332
329
308
269
348
275
386
380
358
288
351
327
346
285
355
330
402
305
229
340
367
262
277
278
273
319
377
364
347
367
342
378
333
326
383
282
378
310
309
219
318
385
325
283
308
218
384
338
320
344
274
334
216
326
364
321
303
270
258
307
326
245
316
283
265
325
321
246
290
336
225
304
327
299
287
343
299
342
316
308
345
379
244
305
428
339
253
244
246
378
285
312
334
338
366
349
259
341
382
351
284
324
262
319
284
322
256
319
332
287
376
324
296
359
262
382
294
263
260
343
274
338
287
309
259
297
300
301
293
286
214
347
272
359
372
362
380
251
324
357
365
338
359
375
335
270
311
308
293
325
318
296
294
379
361
324
381
318
353
266
290
264
252
281
356
368
311
365
272
340
349
338
278
405
240
385
320
285
388
290
251
316
262
349
381
273
252
333
327
414
355
344
301
291
311
384
324
302
337
324
360
298
342
329
288
286
319
209
237
314
306
305
404
288
350
302
378
259
323
293
359
333
295
278
328
266
249
251
277
287
325
313
356
393
320
308
315
356
362
369
335
315
412
306
331
288
326
303
305
260
311
330
275
343
250
325
272
327
317
327
376
301
237
305
279
364
248
301
336
344
272
348
311
326
260
328
305
328
251
338
239
362
353
318
279
387
322
286
301
293
325
308
295
316
337
281
268
296
332
398
304
341
357
372
229
313
355
354
281
331
351
280
291
367
362
371
350
287
340
258
261
192
249
345
288
259
358
286
287
314
326
292
336
329
283
297
334
337
326
438
248
323
282
264
407
290
367
280
271
161
268
310
326
321
377
289
225
345
340
342
355
269
274
262
285
377
341
351
364
264
258
286
364
300
390
316
342
421
252
351
304
278
306
298
401
380
342
262
337
256
256
327
279
282
346
353
314
209
342
341
286
347
418
375
271
277
242
275
303
243
424
370
380
306
352
269
304
351
299
294
384
331
262
343
248
243
371
241
220
219
277
306
297
285
249
267
275
338
355
406
342
265
328
364
333
355
347
306
305
315
308
339
342
322
371
303
350
346
312
280
396
343
330
339
312
336
280
334
213
221
320
258
170
245
382
228
410
259
311
319
325
235
207
273
404
232
335
250
295
293
258
372
386
401
301
311
355
314
314
390
356
253
377
271
363
355
210
354
300
328
278
281
364
342
330
371
279
277
365
319
307
423
297
405
305
286
336
380
292
333
284
286
298
276
349
339
251
273
304
272
296
366
303
284
320
311
347
247
285
340
270
339
358
269
343
228
357
313
335
340
294
357
248
370
372
254
332
316
328
285
384
315
275
243
384
283
277
350
365
320
381
265
305
323
352
355
391
408
307
236
264
338
302
268
246
243
241
206
340
341
270
221
305
323
297
280
243
320
359
243
281
249
352
373
293
214
330
323
332
310
330
314
402
315
267
291
422
215
352
344
308
304
319
355
295
277
346
336
275
267
300
323
284
282
342
316
315
385
370
269
372
228
366
245
325
457
278
279
234
288
386
328
286
334
288
289
335
281
315
262
346
373
253
298
311
292
331
335
339
286
322
343
297
362
283
353
350
290
431
361
245
242
307
279
274
270
282
353
257
272
341
289
300
328
342
337
333
238
276
348
361
287
378
340
324
350
265
338
286
367
351
252
269
358
346
337
331
300
331
305
241
272
385
295
341
350
304
316
378
329
395
301
364
271
359
197
299
317
274
367
243
364
341
270
307
360
286
261
376
325
336
294
300
361
308
382
272
325
325
334
362
295
288
302
322
322
294
422
314
343
340
291
347
403
387
300
405
348
289
254
327
295
315
318
307
357
330
307
316
276
332
279
360
363
351
309
319
295
278
328
283
354
362
352
256
372
294
322
258
329
314
309
255
314
294
323
285
375
290
354
342
289
325
384
299
262
332
343
332
410
304
396
352
371
297
296
323
284
262
340
340
344
339
390
249
289
282
358
372
314
344
308
366
345
333
368
381
304
335
339
313
344
301
339
339
370
357
349
384
335
268
301
367
358
405
256
301
351
302
228
392
338
358
324
292
315
359
377
267
294
320
324
356
340
327
349
287
322
267
372
349
382
305
415
276
315
356
322
334
302
260
309
283
297
328
326
267
289
411
332
330
336
329
317
298
275
383
303
303
325
348
288
288
289
356
330
322
316
253
348
316
421
262
278
391
282
319
335
340
231
307
255
322
262
361
322
388
346
241
312
288
290
241
306
289
350
339
350
326
381
318
357
273
290
314
306
266
395
420
322
309
315
296
310
280
351
307
361
297
302
321
387
315
234
306
310
331
333
412
341
309
370
344
343
304
327
393
378
277
277
362
364
343
368
337
299
329
306
311
347
266
261
249
395
344
375
290
368
348
343
353
339
382
317
371
321
327
315
324
326
330
372
336
358
293
420
314
365
358
317
364
282
349
316
355
289
380
335
304
343
262
316
357
310
325
310
320
323
341
336
337
354
293
323
288
308
380
347
276
383
306
324
337
351
272
365
365
269
294
318
322
311
335
221
334
321
265
316
267
359
280
339
316
307
415
340
272
333
331
360
370
309
353
342
279
367
313
153
277
287
272
331
327
407
258
326
323
284
269
302
345
261
331
385
298
397
300
298
327
241
260
352
339
349
301
366
290
372
259
298
353
293
279
351
360
308
255
301
412
233
359
367
306
282
330
352
276
376
360
295
358
322
351
329
396
396
325
320
339
337
376
392
294
321
291
249
333
339
330
295
255
266
340
361
258
304
273
305
255
224
348
318
292
267
342
307
277
367
376
347
292
255
312
328
369
323
352
240
381
255
326
316
374
301
339
341
359
321
331
219
335
271
363
301
309
332
255
396
324
367
348
289
325
325
387
360
247
293
280
246
242
413
336
353
252
347
328
310
324
344
369
329
269
318
350
284
279
323
351
324
361
398
257
370
401
372
332
345
258
352
413
326
256
296
333
286
299
268
343
308
335
409
303
312
300
342
266
328
347
310
424
290
290
369
357
352
258
269
297
278
288
293
248
288
296
346
341
383
323
425
316
383
329
336
310
390
273
290
250
375
393
287
285
307
286
252
236
296
339
326
345
397
325
322
340
299
305
246
355
324
306
285
261
310
267
275
240
345
325
370
287
351
352
333
292
359
359
316
327
407
269
324
308
260
349
366
328
313
204
246
317
280
227
251
237
205
360
379
299
330
305
317
321
337
363
318
355
382
366
281
310
419
274
258
325
280
301
318
371
284
325
342
328
296
282
251
298
270
289
243
275
275
349
363
278
289
285
369
226
260
283
387
292
372
347
340
321
272
372
326
411
223
301
263
292
322
351
298
250
296
314
333
283
281
369
248
395
363
277
345
323
321
320
344
326
325
251
340
253
339
337
345
290
321
313
285
319
354
257
359
365
351
286
340
377
352
339
356
397
301
299
345
339
293
237
306
330
321
326
249
328
330
385
340
299
283
276
391
322
324
334
267
395
326
220
285
276
254
333
320
349
284
373
340
349
312
294
340
330
329
254
321
242
274
273
302
234
309
348
256
300
334
382
250
243
243
328
364
266
262
281
299
340
317
349
305
268
207
264
408
348
307
369
316
278
278
324
231
267
367
327
286
347
328
339
349
292
302
254
298
349
307
330
410
273
279
237
317
281
176
253
316
242
325
297
285
296
256
296
357
356
278
200
198
281
385
244
343
313
335
302
303
339
407
355
363
311
277
327
331
260
322
335
262
356
363
298
304
263
334
341
311
349
262
248
299
244
238
313
389
354
423
355
304
387
351
306
314
278
204
330
364
251
287
327
343
311
370
293
389
333
342
266
333
276
314
207
266
322
387
408
369
324
243
184
324
325
298
227
342
314
393
299
322
281
303
243
297
310
282
294
407
336
332
336
334
346
316
368
323
240
308
315
362
347
262
321
376
349
241
351
353
290
312
351
352
343
333
257
346
350
292
313
304
259
238
388
227
336
296
377
275
375
276
319
325
370
301
248
328
376
263
337
348
370
299
283
304
341
357
250
351
255
202
345
328
356
316
340
327
348
281
332
369
265
408
337
311
330
240
243
345
372
337
299
428
269
313
265
295
331
293
355
373
271
352
269
342
316
336
365
357
310
369
318
293
301
309
247
257
390
357
319
197
287
372
302
353
329
318
290
261
302
335
236
347
278
362
434
333
275
267
325
360
341
237
173
310
345
319
317
341
339
317
318
350
352
294
233
328
321
355
298
285
262
259
338
302
298
309
289
372
343
293
298
330
282
344
329
294
322
344
276
392
374
297
353
338
335
297
241
286
324
304
309
399
363
297
355
329
358
347
320
312
390
349
250
332
280
296
374
320
398
351
311
307
325
326
311
302
395
342
323
336
243
267
398
305
342
309
272
226
295
187
303
356
327
322
345
291
336
299
314
180
385
299
302
376
277
355
351
376
251
365
260
424
273
296
247
293
302
298
331
302
325
293
372
327
303
248
248
292
367
337
345
300
355
289
319
295
276
303
282
328
287
383
296
306
315
224
315
315
378
249
338
321
289
294
278
327
359
317
330
275
392
304
290
329
277
324
372
333
265
262
245
356
331
260
416
259
311
355
306
306
318
341
274
374
357
354
345
353
326
405
407
343
247
257
310
271
293
312
269
320
300
299
236
326
276
307
338
348
329
263
291
296
386
340
323
280
274
342
381
253
291
286
259
295
328
321
323
347
323
364
293
341
294
364
346
345
384
304
293
310
365
289
293
326
318
282
374
301
249
290
425
276
326
284
351
303
393
266
346
250
225
299
307
315
321
225
312
337
275
299
298
396
303
320
402
281
364
298
340
326
336
292
437
285
316
308
372
358
375
332
293
309
345
300
331
326
330
343
314
327
337
351
333
378
300
356
371
299
286
304
265
321
310
318
364
333
399
309
286
300
295
322
315
304
387
331
299
280
274
327
405
275
304
264
280
301
249
303
286
298
299
312
311
348
342
325
379
324
346
376
257
302
356
320
350
361
327
350
285
400
287
330
292
238
284
284
375
322
366
205
257
378
391
341
325
265
301
357
326
279
333
372
246
328
227
289
287
310
336
274
292
436
397
309
301
297
325
292
285
243
205
343
296
355
350
351
326
298
348
297
330
250
380
219
361
281
309
318
284
356
319
343
338
336
271
366
324
275
344
361
292
273
291
303
314
320
287
341
297
311
293
232
377
357
337
302
325
299
290
280
303
314
365
372
354
246
301
271
318
369
292
325
358
263
208
229
371
359
228
249
346
303
329
255
293
393
292
351
296
320
331
347
340
315
283
352
326
334
252
282
359
295
323
284
353
381
357
300
258
346
214
327
247
262
274
310
359
252
340
298
281
291
259
389
295
331
377
313
385
360
247
390
275
392
264
312
350
368
362
282
363
283
355
308
378
224
317
267
259
331
248
347
387
370
276
284
314
326
285
320
347
369
317
372
392
330
312
334
288
258
354
303
290
321
305
311
310
297
333
285
278
269
316
346
346
326
335
330
353
319
310
295
377
258
367
276
349
346
333
357
312
250
328
286
351
346
294
316
346
370
302
357
261
354
363
283
293
261
288
288
316
269
267
370
258
377
315
304
299
239
341
328
312
364
374
258
307
258
284
325
290
363
310
270
331
232
234
340
362
277
213
295
298
284
278
290
298
272
303
343
332
307
278
259
293
334
253
288
297
299
234
391
368
237
349
236
427
329
265
350
297
377
330
194
246
285
310
382
382
317
313
330
371
334
310
269
327
301
333
293
336
295
301
336
319
269
293
356
389
356
342
306
322
283
363
337
325
408
266
302
306
319
352
343
297
373
334
341
313
382
237
367
372
217
382
263
356
358
317
319
364
304
383
271
346
350
315
290
247
315
299
305
365
270
374
368
308
238
320
269
363
306
379
225
336
324
320
440
383
291
322
349
359
322
383
235
278
324
344
370
227
386
347
343
303
412
360
307
354
302
378
356
360
361
404
280
331
405
372
297
355
289
280
389
334
249
283
291
282
360
362
262
215
310
318
344
325
358
392
291
364
244
323
323
290
296
349
308
227
314
283
293
314
278
325
348
313
361
365
265
390
318
306
208
335
317
359
252
279
387
289
297
341
253
371
380
330
351
255
325
313
367
271
334
320
383
343
400
234
394
273
330
373
343
289
191
254
371
320
380
300
311
320
296
275
313
232
261
359
222
295
343
276
282
339
293
338
250
357
314
280
357
260
322
288
287
354
346
297
209
268
256
298
279
356
277
316
277
280
352
306
356
279
355
321
349
336
357
270
320
350
341
352
267
283
309
272
338
323
351
333
379
407
240
283
394
307
283
345
328
363
252
306
321
293
329
276
231
307
311
268
297
353
288
354
319
290
336
322
325
308
310
324
291
382
322
312
301
291
374
323
335
316
304
297
297
253
317
347
274
336
347
348
280
282
296
333
382
356
296
397
203
369
318
322
298
370
263
316
351
287
280
299
399
257
338
384
279
341
344
309
343
376
393
265
245
346
344
351
299
188
377
286
311
253
318
280
245
270
262
350
270
318
316
278
306
282
337
377
363
318
311
231
382
217
305
256
283
320
345
317
292
360
304
323
323
279
306
373
309
357
353
290
339
302
247
266
365
242
319
345
324
191
378
276
346
288
300
360
345
348
251
404
298
253
287
375
315
330
323
242
291
321
340
261
316
271
330
300
391
356
343
347
243
319
208
249
310
318
355
338
340
349
285
327
265
317
356
375
350
386
294
306
285
301
296
371
267
210
313
345
344
282
312
337
347
315
348
333
359
289
343
272
287
322
317
279
402
300
314
297
348
279
296
325
344
307
294
280
354
269
269
292
236
369
296
278
246
390
300
373
344
320
295
275
372
355
287
325
302
254
253
403
300
265
311
388
354
368
203
291
336
337
307
303
360
342
373
258
337
283
227
335
313
325
346
220
256
288
307
331
328
325
400
300
385
311
311
288
294
260
341
332
351
241
241
293
341
269
420
323
385
269
328
304
391
261
333
315
330
334
314
294
340
312
296
296
385
322
377
262
292
305
310
231
275
333
349
213
381
373
306
281
272
261
248
266
376
300
272
335
331
276
313
220
316
279
313
290
394
285
331
395
386
309
375
300
229
299
342
300
288
313
223
258
324
371
268
350
244
309
340
281
293
283
332
314
253
319
279
269
305
367
303
325
293
343
285
281
315
222
260
344
315
273
387
257
293
331
351
289
294
264
368
375
373
379
390
301
291
275
305
291
301
347
328
360
363
347
310
281
339
331
266
214
301
314
382
386
247
353
282
350
250
326
330
328
291
318
299
288
232
279
422
381
291
285
260
327
239
376
326
306
286
309
246
337
288
435
279
316
321
315
338
269
303
358
250
305
266
223
244
342
351
372
298
252
329
276
293
329
363
363
379
341
311
273
373
278
276
313
291
289
314
314
335
336
296
292
317
322
318
339
424
384
366
328
255
242
318
262
392
319
279
307
286
245
238
296
304
311
290
341
269
388
274
293
264
299
308
268
310
283
287
341
340
383
289
306
297
299
313
290
303
306
292
303
343
329
279
348
360
266
370
423
397
344
398
360
305
299
328
286
212
334
280
344
266
365
274
351
365
308
366
304
340
399
361
310
332
246
309
379
319
290
372
275
365
391
352
292
255
393
309
376
382
317
276
275
317
291
357
387
264
271
285
322
325
316
320
280
291
347
286
311
287
354
379
321
239
310
314
345
350
296
346
313
314
241
354
315
372
331
300
303
340
319
318
356
240
272
316
344
353
260
329
364
276
289
258
311
286
299
297
308
295
233
331
223
398
278
283
279
300
308
346
336
341
336
269
351
381
259
336
403
286
289
321
401
290
330
287
306
322
316
268
336
331
241
370
358
344
276
320
289
298
282
339
374
228
263
264
323
235
321
341
355
252
352
259
323
361
311
327
278
343
293
326
403
299
345
338
268
278
365
257
262
322
354
264
325
336
353
325
340
343
358
315
305
316
378
354
262
304
314
262
328
267
291
312
347
321
329
401
324
329
290
337
259
360
367
323
198
287
345
396
336
298
315
360
371
388
268
347
299
298
280
344
414
361
285
370
330
331
328
262
322
294
323
254
286
303
290
317
244
328
315
359
301
259
315
271
301
334
272
190
323
336
223
303
299
267
319
335
393
276
361
358
311
292
295
306
320
267
290
314
344
349
343
308
286
335
327
313
302
250
331
339
402
384
373
335
319
276
322
316
249
321
421
309
293
258
315
291
340
355
368
355
291
344
331
316
338
384
303
263
354
336
296
243
358
354
349
336
231
332
363
384
345
274
306
350
310
294
348
331
317
324
313
326
300
305
267
358
290
347
342
320
325
354
341
247
404
368
221
276
299
331
300
320
352
230
301
291
306
283
326
340
293
272
276
365
411
342
276
293
341
271
322
297
292
293
306
317
317
254
338
342
272
307
361
290
289
267
263
335
245
314
314
261
349
255
371
247
383
366
237
282
395
362
340
260
253
258
310
342
367
365
350
291
368
260
331
327
330
336
247
319
289
291
231
374
195
339
282
195
263
300
302
251
308
332
313
202
259
308
320
265
324
238
297
245
267
230
363
330
265
316
359
276
299
340
361
324
219
323
384
271
321
310
403
350
320
349
243
344
312
284
304
244
327
220
374
334
278
345
263
282
289
261
343
340
298
290
332
250
312
264
353
305
312
333
367
328
381
313
377
334
243
306
288
307
299
356
327
267
400
334
372
378
254
331
342
376
382
302
351
340
352
321
326
333
344
396
307
356
367
275
300
388
313
338
311
333
291
287
389
226
235
319
277
340
369
349
358
275
342
299
326
293
337
312
277
324
337
311
323
354
255
337
291
379
338
346
253
295
298
370
265
317
289
316
354
327
317
318
335
236
337
297
322
299
330
248
315
306
378
319
302
345
267
339
309
300
287
438
308
345
385
339
312
357
381
280
256
285
275
276
257
289
308
331
339
296
302
346
325
407
315
331
382
315
287
260
287
317
270
216
275
317
251
251
346
320
308
294
300
345
352
376
347
321
387
294
235
342
304
348
309
265
245
378
290
303
296
289
390
314
267
334
279
205
342
260
262
362
373
379
296
340
304
414
344
304
198
331
231
308
299
261
340
317
437
345
320
407
347
312
298
322
320
325
339
315
333
322
352
355
344
361
274
358
305
276
263
295
374
250
285
271
305
368
318
330
261
351
314
355
319
292
253
345
365
270
257
362
376
375
289
415
415
315
320
271
329
282
285
325
404
329
280
343
372
335
365
318
319
281
290
348
297
336
357
354
371
369
313
357
317
341
215
294
266
312
274
357
309
324
325
285
334
328
335
235
323
312
306
271
334
358
322
391
197
243
274
287
309
381
344
327
341
353
322
250
326
360
380
335
337
300
331
305
324
273
322
380
329
319
349
326
332
308
304
392
377
329
395
316
324
270
282
347
305
371
322
348
326
300
287
404
297
315
279
310
263
330
292
354
347
408
312
260
359
334
311
270
341
344
313
308
308
355
314
333
328
324
310
253
299
355
392
272
342
278
295
353
316
291
274
306
333
331
332
276
333
319
255
366
278
271
348
323
284
393
424
286
343
303
296
291
305
306
316
287
265
311
266
285
383
242
313
271
342
296
326
306
292
373
280
302
336
238
357
349
309
323
319
338
347
309
409
246
357
219
317
258
340
324
239
351
398
213
339
383
342
267
277
388
324
334
343
283
283
261
282
334
282
404
351
285
267
393
355
275
336
292
347
286
255
287
213
427
339
320
415
257
335
296
282
265
311
327
344
249
391
321
330
341
373
334
274
258
305
353
202
256
315
290
301
416
330
343
322
357
347
342
319
301
279
286
311
357
310
391
360
252
294
381
327
280
410
285
355
273
313
311
341
335
318
262
313
384
290
307
341
383
262
343
232
420
381
332
334
273
289
297
292
283
344
328
301
343
234
311
308
331
366
308
267
387
264
238
332
342
295
268
367
343
391
312
323
307
341
259
309
318
264
293
268
245
371
270
335
301
282
293
343
224
315
352
267
317
282
284
402
317
320
309
252
402
282
330
379
283
269
249
380
340
319
308
384
366
313
359
285
330
296
308
280
227
317
278
351
302
288
215
335
277
233
354
334
371
296
279
286
293
247
287
295
278
344
262
311
294
372
306
416
301
277
364
302
250
356
316
336
262
325
350
272
282
299
353
411
266
349
304
311
320
333
266
402
260
292
319
406
285
387
311
253
347
296
329
306
349
380
388
303
346
310
318
301
302
342
297
354
287
278
366
367
323
389
288
361
342
271
339
370
333
335
367
298
324
325
281
261
311
255
341
247
288
366
400
246
333
329
355
345
318
410
292
300
287
301
325
320
289
356
346
404
258
355
406
357
252
291
309
328
270
358
310
305
302
408
356
248
330
239
280
312
313
258
362
350
355
377
359
330
259
291
364
292
272
366
324
315
316
305
342
392
321
333
248
286
333
326
311
281
161
276
383
317
199
347
262
334
354
306
401
317
373
333
355
287
243
343
321
365
368
328
268
257
280
321
229
317
391
318
256
353
344
286
245
345
324
250
346
389
271
357
313
234
320
346
339
324
319
270
290
368
266
280
354
308
284
394
291
250
327
352
289
331
380
267
233
284
353
330
311
407
329
343
292
299
277
296
280
335
351
282
265
279
289
178
359
302
257
402
263
298
350
328
257
291
315
307
323
292
362
318
321
308
380
327
252
248
341
192
306
244
312
317
270
317
309
294
311
330
311
356
292
280
311
284
280
351
321
250
296
342
257
281
230
358
254
342
243
327
354
310
331
271
293
413
315
305
320
347
292
308
387
253
305
320
303
323
409
367
317
310
297
315
398
338
269
305
269
351
232
308
252
328
381
340
343
394
339
282
369
281
335
306
288
298
293
392
350
327
291
332
304
332
294
340
343
360
347
243
298
333
307
299
350
390
214
386
331
355
286
362
270
332
333
375
309
284
227
364
288
342
323
273
320
285
417
331
299
376
261
349
344
256
330
321
257
352
288
244
354
288
394
334
294
376
271
327
276
345
297
344
303
267
334
307
307
267
319
317
323
299
239
336
332
326
293
319
324
357
221
353
382
340
223
316
308
241
363
318
249
424
382
346
317
345
354
328
255
367
345
322
286
320
252
391
262
319
274
314
351
298
311
320
245
382
371
297
352
316
276
253
329
293
225
351
337
368
349
306
256
243
316
332
388
389
240
307
338
337
349
266
296
353
304
269
348
271
321
357
258
362
355
361
317
382
370
323
356
266
340
289
220
396
352
279
258
351
366
261
364
222
306
330
294
351
304
326
276
320
239
348
389
343
358
363
312
333
329
344
286
304
407
290
317
360
188
245
370
303
315
299
323
340
296
290
379
284
268
342
303
283
260
349
395
270
280
332
317
359
295
365
353
336
302
305
361
319
271
277
346
311
325
325
381
304
249
266
352
321
293
241
259
338
394
278
276
271
363
277
350
396
262
323
273
321
314
262
293
282
281
362
271
395
325
327
284
307
335
294
240
321
288
416
317
220
293
333
344
261
259
355
266
260
267
354
264
260
246
317
288
291
238
351
306
338
320
350
339
405
355
312
352
332
309
256
368
271
324
269
243
385
382
367
341
209
301
272
331
273
253
330
261
316
325
272
274
336
227
333
277
280
288
358
319
228
275
381
304
306
324
285
328
276
349
359
348
348
386
340
319
240
326
318
312
247
302
297
402
253
391
348
324
282
268
261
374
243
300
306
312
337
266
290
305
340
358
264
271
278
297
282
245
224
321
334
347
417
374
378
272
293
313
340
390
318
403
358
253
312
291
247
247
300
366
398
343
344
397
313
297
242
343
282
362
342
370
353
229
261
371
312
363
305
253
297
303
230
343
313
305
284
364
313
351
356
275
413
318
340
264
264
388
308
364
330
276
308
267
301
356
252
318
336
325
354
359
356
301
309
276
296
375
337
355
314
338
355
354
405
285
294
208
276
334
352
323
263
326
336
348
394
232
372
269
335
359
243
255
347
305
397
359
380
276
281
337
296
310
395
337
289
285
270
341
291
366
356
341
297
330
329
385
304
384
327
304
309
309
269
352
335
292
351
240
318
296
341
327
334
279
334
314
289
360
301
325
314
386
399
308
390
308
243
429
340
306
335
307
289
303
340
290
309
418
393
268
376
303
339
323
261
371
269
358
281
325
377
311
355
280
346
344
330
421
245
301
301
355
298
337
362
349
260
269
289
320
348
304
294
360
323
303
265
331
320
292
331
265
216
248
325
351
338
342
300
310
353
316
253
397
299
239
289
374
255
426
249
301
324
235
268
365
316
273
304
292
374
303
271
274
357
416
363
275
349
319
374
346
342
355
353
400
335
273
302
319
324
369
347
306
260
335
327
200
290
360
342
321
254
352
335
265
352
282
386
280
325
381
291
295
206
310
367
288
300
344
271
324
317
331
300
236
343
391
247
324
292
298
343
342
379
373
305
370
318
277
320
234
300
271
235
316
334
298
288
366
295
399
302
345
304
220
368
279
371
297
272
337
401
295
322
383
312
327
245
250
281
244
262
342
406
297
241
315
381
347
325
304
291
267
277
273
211
326
391
300
270
306
351
337
315
337
245
286
313
317
367
324
418
308
282
345
274
287
352
293
322
294
377
313
319
350
347
347
415
339
301
308
379
368
286
225
268
303
348
280
289
306
336
364
306
328
332
325
297
316
313
249
349
307
272
362
292
300
309
396
291
343
308
287
302
346
313
308
325
294
233
371
397
327
337
321
335
469
298
306
236
305
316
323
389
323
275
333
363
321
338
283
280
249
375
225
354
356
265
323
310
305
271
330
317
334
181
309
360
301
367
348
206
353
374
237
244
260
376
333
279
267
315
381
207
248
273
220
365
287
323
328
283
353
361
329
262
360
364
392
340
360
250
291
297
311
227
268
398
379
351
296
360
329
305
382
404
275
374
228
335
313
297
238
326
303
287
273
254
328
289
323
233
338
252
329
265
244
324
344
371
299
348
321
327
304
284
285
358
300
302
295
283
302
230
222
364
271
384
335
349
268
313
334
305
315
319
352
314
235
316
276
375
359
244
250
313
336
317
341
295
332
354
319
290
320
337
343
379
308
340
319
293
378
353
300
320
309
334
360
372
362
248
267
360
308
336
314
365
316
340
316
249
261
283
348
319
320
299
345
374
289
337
347
297
349
298
303
219
263
380
343
307
265
291
327
278
319
252
302
288
340
241
264
269
287
298
355
309
341
293
340
285
307
387
339
351
266
316
323
345
288
291
335
289
314
311
249
346
316
352
292
316
327
228
260
288
336
307
324
344
247
271
420
321
344
386
336
272
212
279
347
311
379
355
270
278
345
303
365
306
289
243
390
329
337
383
357
321
292
363
285
217
350
326
248
372
289
281
210
341
373
315
267
315
333
358
302
324
304
267
229
331
318
313
255
313
365
274
325
292
295
384
287
340
287
268
307
298
387
294
352
258
317
292
350
297
348
279
286
307
363
240
359
291
371
326
389
348
287
349
234
311
273
329
281
335
375
245
249
283
345
332
365
314
271
293
225
359
292
345
378
261
297
207
323
324
374
358
346
358
324
353
276
351
330
277
318
290
294
270
347
339
357
299
325
291
368
340
251
275
255
366
272
298
361
291
370
301
273
327
364
288
311
322
414
264
385
306
253
292
296
288
327
315
300
316
368
265
269
317
258
384
327
311
383
294
282
319
373
274
289
277
293
296
303
358
333
277
307
280
348
239
278
281
267
354
368
364
310
335
328
346
264
289
305
365
363
312
298
381
315
282
342
340
234
223
291
287
283
308
319
294
289
290
317
296
260
294
345
199
250
286
282
380
300
240
317
367
249
316
288
371
327
353
411
315
326
310
295
366
266
329
306
350
375
380
308
251
337
294
351
302
218
287
329
330
264
270
260
335
355
301
374
302
315
350
313
285
340
334
313
331
347
345
286
351
333
212
229
315
320
362
350
273
254
312
391
255
312
288
272
295
344
338
361
380
343
332
321
363
271
291
355
285
318
305
247
310
275
346
339
257
285
266
273
313
324
267
382
357
302
325
347
251
347
394
373
255
319
317
359
317
341
281
258
247
304
321
372
254
342
299
295
341
321
222
373
345
201
309
312
269
389
293
392
340
314
313
370
326
317
380
277
312
316
249
292
252
250
312
345
233
352
314
304
316
339
239
273
338
245
265
340
315
307
319
275
250
316
328
312
333
281
251
325
310
381
325
338
372
233
270
310
236
277
289
306
384
317
354
302
344
328
227
276
303
325
303
266
335
335
376
275
228
350
365
351
334
245
260
374
303
368
270
345
295
233
289
304
391
286
317
359
356
356
246
253
353
276
286
273
296
279
272
306
297
304
327
369
313
241
343
304
299
269
333
415
299
257
368
350
315
305
295
290
308
255
287
236
236
308
284
352
325
322
340
328
355
374
369
326
279
367
282
325
315
316
265
365
361
396
333
352
333
298
318
300
369
373
371
300
287
352
341
342
354
273
349
381
382
250
350
365
297
349
316
323
345
264
334
318
271
391
327
270
240
396
404
356
280
293
268
263
350
281
271
285
303
453
343
253
375
366
321
332
227
383
306
331
299
287
300
285
363
328
237
350
262
253
276
264
300
307
246
264
302
310
281
330
318
290
356
301
263
277
330
263
371
279
260
353
332
263
284
284
311
381
336
340
336
313
288
311
332
268
313
340
371
254
341
323
310
284
315
336
338
363
248
313
345
302
351
303
274
248
215
225
273
430
301
368
411
366
244
333
379
383
334
282
313
224
266
376
299
255
250
329
283
309
273
332
301
277
212
333
380
416
371
382
240
241
313
338
266
408
347
348
257
269
401
339
287
309
312
297
346
354
288
332
314
332
340
319
331
314
266
224
329
174
298
320
297
314
291
356
345
313
363
308
300
303
319
252
369
285
378
336
319
362
322
306
347
338
338
326
346
340
233
305
301
333
404
279
287
293
279
354
376
424
311
331
287
378
365
421
252
320
299
293
270
351
318
314
314
375
360
323
300
407
294
366
350
372
259
343
360
279
237
386
304
358
311
246
331
282
351
293
293
230
304
337
339
286
302
293
401
285
354
219
341
315
292
393
364
375
294
311
311
257
338
287
265
383
428
303
318
283
362
253
309
332
300
296
311
213
253
332
330
375
297
250
309
283
358
256
269
299
322
341
339
376
367
363
316
368
361
323
330
287
308
349
317
354
344
292
346
260
316
274
345
301
327
339
278
285
342
322
335
293
336
247
325
298
318
260
388
262
345
221
334
381
270
351
266
247
307
331
340
331
354
308
320
376
216
377
352
314
319
315
276
303
350
356
374
340
342
326
308
289
236
301
280
265
298
270
371
343
339
270
334
290
328
384
361
278
360
329
331
330
292
325
335
240
318
306
388
305
354
203
276
367
327
269
367
312
364
316
372
309
238
311
277
366
318
286
364
242
363
370
312
320
240
350
329
339
308
337
309
304
342
395
336
268
306
370
345
331
293
314
318
319
318
332
241
342
405
378
275
306
307
299
323
305
299
331
251
264
272
327
337
302
380
340
266
271
337
307
285
295
300
318
404
283
373
238
301
289
358
328
316
351
328
264
273
311
337
275
365
305
312
343
294
328
290
244
381
249
315
301
290
342
368
307
326
255
320
308
396
288
302
355
324
254
365
264
330
328
366
349
342
297
393
429
353
376
316
388
412
445
256
291
342
303
348
289
320
304
370
249
311
253
296
327
278
321
302
355
356
312
364
300
285
258
339
285
278
269
295
329
340
185
298
373
311
307
360
334
264
325
358
287
306
251
392
271
367
378
316
378
334
335
289
388
216
340
313
225
286
305
363
335
251
339
236
292
272
307
322
320
338
332
279
264
324
347
312
282
323
282
367
274
351
317
308
239
371
283
325
364
339
375
258
272
391
392
274
275
246
283
249
300
296
297
277
238
308
295
271
296
312
347
316
321
242
352
314
296
330
322
302
324
286
330
360
332
357
338
294
335
279
397
335
318
290
330
235
312
272
322
308
325
270
402
323
277
344
265
338
270
348
315
400
365
280
316
329
357
337
347
272
358
395
363
287
279
259
275
296
276
314
273
287
286
378
366
409
342
364
279
340
311
274
308
368
281
247
314
270
334
310
368
266
334
297
326
357
324
362
356
347
336
325
328
323
274
257
372
355
355
354
326
370
360
358
325
363
245
376
288
383
297
389
266
320
369
252
385
332
201
318
357
366
369
301
280
278
304
362
356
301
239
320
296
251
332
257
301
396
251
340
328
279
300
295
306
312
283
303
343
278
243
342
323
397
314
404
292
237
329
338
298
333
270
277
262
346
301
242
268
319
317
256
327
272
310
348
358
395
351
252
289
286
445
374
335
276
313
233
341
327
362
361
395
310
419
196
271
325
295
334
343
291
371
283
257
258
263
270
279
396
264
341
276
299
397
368
341
301
298
311
359
315
251
305
330
229
267
383
336
277
293
392
316
318
265
265
282
325
301
355
352
306
386
414
268
423
329
275
320
313
270
292
301
347
270
341
353
348
363
354
322
296
324
294
354
290
351
345
341
288
283
284
254
292
369
258
265
285
329
276
298
289
261
247
282
308
331
341
296
229
323
370
303
292
319
333
341
265
314
331
365
298
250
245
307
318
309
284
233
362
336
307
298
354
346
299
406
327
398
272
275
266
353
300
280
375
351
323
291
315
376
339
313
324
329
344
395
246
307
408
303
240
331
328
300
328
392
364
280
331
329
398
294
352
350
282
329
323
289
333
335
272
327
326
328
319
370
251
305
315
351
284
352
406
288
252
266
336
406
370
375
302
275
280
251
284
337
329
343
232
210
373
341
290
383
342
311
318
291
279
343
395
303
355
351
339
347
263
365
378
311
317
319
269
407
290
332
268
338
327
300
397
325
366
314
266
308
269
341
301
417
353
355
348
351
274
353
322
347
367
275
294
343
359
334
329
322
323
286
349
345
269
362
334
331
309
311
330
295
263
359
339
233
333
239
365
359
314
331
392
311
341
355
280
320
357
337
266
345
284
317
248
382
315
319
309
359
375
378
325
260
309
310
419
409
273
300
316
325
287
371
315
281
368
302
392
334
366
308
278
273
301
366
287
323
329
256
356
345
349
209
252
340
207
274
407
330
230
307
336
341
350
370
329
352
302
350
303
307
302
321
366
364
272
304
291
249
261
306
317
343
369
214
381
277
339
237
263
391
275
298
327
261
356
326
237
269
360
297
294
355
369
314
289
306
315
293
323
339
291
367
316
252
304
245
338
372
354
247
345
286
327
319
242
298
270
354
295
309
325
373
328
343
354
266
380
377
231
269
319
271
340
333
312
317
324
325
327
272
294
335
333
320
298
361
266
326
316
331
309
286
323
272
353
286
283
317
318
273
270
300
392
306
391
282
263
227
398
318
350
338
268
284
248
307
204
278
217
318
188
364
281
289
287
301
297
299
353
312
414
348
311
333
287
406
336
232
337
277
412
256
255
388
347
309
282
387
316
356
365
367
247
291
322
323
403
365
321
279
287
273
378
330
318
389
253
294
329
298
319
243
289
354
345
310
272
267
284
341
307
316
407
296
376
371
331
345
361
310
296
318
342
349
380
285
361
291
311
282
330
317
271
301
349
281
289
275
374
401
288
376
243
337
365
376
312
245
244
346
371
270
320
323
309
271
296
202
198
327
321
247
324
292
282
331
393
322
303
264
356
322
247
270
242
305
253
353
323
299
290
317
368
330
333
366
329
296
417
290
319
319
345
321
247
277
359
290
226
275
331
310
340
304
356
335
340
261
269
307
262
281
361
298
266
271
287
291
327
311
311
322
364
300
281
362
298
282
370
289
203
324
310
306
378
306
307
242
352
350
343
308
317
366
304
265
242
303
330
315
283
345
379
205
304
252
400
346
329
438
291
315
314
258
295
281
370
320
328
339
261
264
294
206
391
197
330
288
340
346
291
307
333
339
313
262
331
293
340
288
410
370
269
389
261
290
337
421
381
357
238
319
299
317
298
366
295
310
240
322
301
287
379
260
327
380
220
378
341
237
312
365
241
272
359
287
301
323
213
325
304
267
382
305
235
316
239
274
304
329
285
259
330
229
384
312
309
359
329
389
322
389
399
343
229
362
265
354
256
299
301
267
358
364
344
349
264
302
369
380
344
352
282
345
400
324
340
285
347
311
285
337
308
322
307
324
362
318
265
356
289
324
327
351
276
329
336
397
212
352
382
302
284
304
245
307
345
351
326
312
371
369
292
324
297
309
346
336
338
233
378
298
311
365
328
381
309
353
331
346
294
383
309
289
311
375
401
363
191
318
275
346
327
263
373
309
292
218
295
320
343
306
299
317
355
290
334
300
334
269
383
255
296
230
412
267
372
362
320
331
249
257
292
268
304
223
313
273
320
326
315
329
303
180
338
369
340
306
311
300
261
327
289
309
348
336
360
346
266
256
275
326
326
326
346
279
278
306
352
313
391
307
370
311
350
373
363
331
321
253
369
252
346
391
264
301
243
334
349
299
262
327
281
332
288
332
288
351
313
297
303
339
290
279
260
286
332
326
287
247
303
362
362
383
315
378
297
364
351
294
351
281
331
266
308
282
289
392
345
313
317
351
299
281
373
310
343
289
370
312
322
314
369
323
326
319
285
331
252
303
310
343
339
345
277
316
319
327
242
221
330
243
274
388
351
342
294
267
340
375
326
311
329
342
330
342
214
415
391
290
289
219
308
355
331
303
365
308
310
307
315
333
289
299
308
328
343
287
299
254
337
383
297
332
375
295
227
241
275
305
272
301
322
291
351
324
286
309
368
327
342
281
292
321
264
329
305
274
282
303
364
295
346
289
248
295
325
309
289
341
303
368
347
281
267
371
360
334
259
297
304
271
289
280
291
361
302
263
327
358
330
377
279
283
184
393
371
372
262
279
277
305
396
261
342
332
247
310
325
377
292
325
323
283
287
323
297
347
320
321
281
334
293
283
307
375
258
318
263
324
353
292
229
283
331
352
307
283
335
350
235
329
350
311
314
324
317
395
342
290
300
309
316
289
346
216
349
423
344
307
294
371
344
325
315
325
339
317
357
283
414
352
366
347
307
310
336
269
283
305
344
250
367
337
325
240
296
329
255
305
408
335
405
334
311
270
371
249
358
356
249
295
270
370
239
281
335
388
293
292
324
317
340
303
320
327
295
321
365
339
284
295
256
201
286
318
236
269
330
313
280
332
285
291
330
307
273
350
357
305
361
228
324
340
316
330
362
308
249
309
331
361
351
354
342
316
355
309
306
301
324
378
322
306
332
291
304
334
316
308
261
322
251
301
251
327
383
408
251
405
325
327
368
297
331
211
314
358
384
326
321
303
281
286
339
229
305
333
272
248
364
367
364
308
358
375
316
367
284
322
269
332
329
266
334
326
312
339
372
268
335
225
290
361
253
330
376
307
320
292
300
364
235
303
301
236
333
339
351
379
343
326
231
377
240
402
383
220
280
314
319
313
296
299
362
282
383
325
232
370
345
317
310
226
309
284
330
346
234
253
269
312
382
254
310
402
220
369
285
323
342
297
303
329
294
313
316
272
291
312
395
330
298
341
304
335
379
395
348
311
287
322
325
356
349
306
359
281
250
354
246
351
347
324
326
331
297
266
267
336
230
318
279
299
353
286
434
311
287
292
355
376
333
240
365
310
289
303
333
313
246
263
286
335
297
238
342
213
312
297
314
284
329
334
290
306
394
406
312
317
267
377
342
362
257
368
369
285
302
322
296
279
327
296
308
280
411
330
336
336
318
274
373
300
335
369
324
382
349
325
384
391
320
347
281
361
327
365
331
274
338
302
276
305
292
328
367
258
253
319
418
296
327
320
289
303
291
234
293
360
347
328
332
337
316
369
327
283
342
313
319
292
359
266
309
309
297
312
322
349
351
348
274
334
399
246
304
315
362
350
338
340
349
262
352
330
367
405
326
335
320
305
385
344
371
207
354
324
302
313
350
325
326
209
303
353
308
329
330
299
319
334
295
243
272
328
263
341
272
385
288
346
295
366
439
346
337
348
267
230
347
341
360
271
321
279
370
268
343
321
314
304
283
280
336
413
418
279
351
299
319
277
356
416
374
245
299
386
259
335
321
357
330
307
331
350
339
317
297
373
347
283
360
366
325
370
332
322
311
329
261
244
344
352
408
379
269
270
313
358
263
325
296
313
300
284
299
404
300
302
254
316
331
365
283
404
340
293
298
290
235
264
260
330
284
324
299
320
334
315
278
306
305
280
304
344
274
339
400
306
342
274
348
325
310
404
291
369
328
374
147
278
326
298
259
294
254
297
287
287
301
332
304
269
355
274
301
384
287
277
260
356
323
332
268
327
286
292
286
382
307
241
294
393
291
350
301
372
282
393
317
280
336
351
320
359
289
342
368
372
297
283
330
316
369
346
355
293
361
239
324
276
210
274
369
334
308
359
324
358
279
327
371
332
276
315
301
256
397
412
277
401
299
321
355
263
371
345
294
357
418
277
389
305
269
248
329
205
325
373
291
315
325
324
352
287
318
338
398
287
267
245
336
411
355
352
357
323
291
242
278
329
330
212
309
341
314
363
324
371
272
339
375
331
231
341
350
288
293
292
311
326
313
340
384
409
308
322
340
301
383
251
350
319
312
356
352
334
353
304
278
355
254
250
341
384
312
305
344
359
302
437
346
327
299
302
377
319
358
341
396
364
341
385
361
348
292
309
362
361
251
311
380
306
385
279
356
333
338
341
305
259
238
341
316
393
316
288
350
343
376
218
331
322
265
308
248
372
370
351
312
275
266
312
256
304
390
253
282
308
257
340
273
307
273
250
301
310
399
250
333
293
283
287
296
257
259
258
252
350
410
259
267
366
338
316
335
319
358
201
296
319
257
395
278
285
386
343
264
294
399
290
291
370
336
314
324
336
314
290
226
343
304
384
280
375
345
397
279
229
340
322
336
329
371
306
297
323
329
309
365
317
330
199
330
255
349
360
249
307
308
347
310
315
280
259
330
362
319
272
314
274
322
243
342
286
316
305
335
315
248
349
307
354
359
282
340
354
280
270
279
271
227
277
370
285
323
338
392
319
283
293
287
367
316
373
337
335
385
366
261
374
338
311
268
273
277
289
351
242
392
401
296
363
297
281
330
314
274
296
407
293
320
325
347
224
258
361
293
334
340
322
326
307
348
282
330
342
269
343
259
343
318
335
318
319
292
285
263
357
264
270
276
277
416
297
246
366
208
304
340
287
345
341
291
328
282
298
384
234
367
413
292
389
253
341
308
297
326
236
292
262
411
291
287
272
291
283
284
295
295
337
286
328
266
312
384
273
358
295
317
298
348
336
325
282
280
289
278
227
340
349
336
297
338
253
311
361
240
323
253
244
343
326
321
334
294
335
263
298
238
318
277
362
337
389
318
349
342
341
261
334
296
291
287
346
348
283
352
250
285
305
320
303
352
261
301
293
346
345
255
309
336
266
346
354
336
279
336
316
390
340
382
312
258
305
370
281
318
375
293
261
364
334
238
382
286
292
318
281
283
332
356
280
290
318
314
355
350
319
353
272
274
338
305
316
332
341
306
268
286
315
263
370
341
270
298
342
352
329
375
346
252
333
345
336
345
308
323
347
323
263
289
280
220
349
297
292
330
261
308
366
350
345
328
239
307
301
341
248
360
382
239
259
354
294
322
333
361
327
360
310
356
311
359
255
252
321
314
282
297
354
341
290
373
272
322
264
334
338
196
311
355
234
308
332
371
341
271
254
332
353
399
282
388
255
269
299
235
312
284
314
221
348
253
265
360
366
387
351
334
350
301
349
343
331
398
253
246
420
313
313
291
294
279
283
328
344
312
289
353
271
354
301
384
303
262
348
311
252
388
246
281
248
351
335
284
350
272
308
321
337
337
302
296
303
264
382
332
264
295
232
262
312
257
327
393
211
317
343
377
373
358
295
294
272
369
357
351
292
364
331
332
293
304
319
387
355
347
324
272
335
332
282
326
372
245
332
333
394
368
318
350
277
355
280
321
253
334
342
234
320
360
309
309
238
294
373
357
267
341
436
279
362
373
300
300
361
367
347
293
350
292
284
329
373
332
281
419
352
321
415
266
342
312
427
342
293
327
236
369
364
363
313
319
289
342
328
328
258
356
340
210
366
304
303
295
330
369
331
251
258
329
316
295
219
341
303
327
397
322
276
311
330
307
376
322
335
267
341
360
280
329
360
373
258
207
297
312
302
325
250
350
317
384
280
302
338
323
234
339
356
254
342
239
380
360
338
353
336
293
321
405
275
312
298
308
317
279
370
292
288
352
344
334
273
324
361
348
316
264
346
241
267
295
368
303
287
297
359
330
270
328
332
269
266
297
294
335
320
244
306
313
262
294
271
337
331
334
433
310
266
344
224
274
279
393
401
381
350
361
227
312
324
316
280
403
355
265
280
305
267
303
306
284
299
288
327
360
324
334
277
200
258
349
266
268
346
217
309
356
271
311
362
261
365
325
341
400
260
325
310
378
422
324
314
366
235
228
336
291
261
337
334
374
385
359
324
349
257
260
419
371
299
307
348
318
388
257
333
370
316
313
320
251
384
272
330
350
341
295
295
324
304
416
315
287
361
343
327
323
262
239
350
339
301
310
263
246
336
280
292
290
260
302
245
361
311
357
318
295
373
363
276
334
287
358
273
315
285
312
272
344
385
256
312
405
245
336
353
400
270
264
293
358
371
294
297
226
320
275
361
399
399
392
258
309
369
317
279
381
325
348
384
328
353
344
331
302
318
322
242
296
262
368
401
372
263
316
406
335
264
330
180
293
273
321
359
410
259
328
387
400
314
329
253
339
297
238
316
257
305
317
298
331
312
277
278
315
289
254
337
318
324
418
330
322
242
309
278
380
332
351
362
411
306
274
272
292
284
312
413
310
377
363
275
314
351
304
326
292
325
300
359
310
329
392
356
379
362
278
273
282
284
336
341
337
329
342
335
296
353
327
228
339
258
301
324
325
379
369
288
253
263
312
298
387
301
316
311
266
320
385
335
365
278
300
317
292
226
344
361
252
375
310
298
334
322
354
220
356
361
270
331
321
210
381
415
263
245
269
386
367
323
405
324
334
372
193
249
338
264
368
329
305
308
245
307
250
290
367
380
207
288
311
297
351
348
370
339
229
355
354
330
286
372
327
268
237
292
206
303
295
235
413
350
285
350
330
318
419
321
349
348
294
291
393
269
354
319
357
303
301
280
370
292
242
309
302
310
333
256
272
322
305
331
306
240
239
290
424
283
382
333
295
308
308
345
343
370
278
219
289
327
305
259
334
265
268
306
311
301
313
315
370
262
302
265
317
337
280
279
374
330
334
337
264
331
240
299
323
388
263
390
275
329
266
326
346
223
330
312
399
357
303
278
234
385
281
324
360
256
315
325
277
232
295
382
306
331
263
276
317
382
303
325
368
359
421
356
288
317
334
273
347
354
275
264
302
305
346
370
360
304
376
336
286
260
338
308
398
231
258
244
254
367
316
254
313
293
362
388
298
351
352
276
233
298
342
303
372
287
349
245
325
290
364
260
292
333
247
442
315
288
358
312
326
353
371
345
325
302
329
316
281
390
256
337
291
304
304
308
251
267
321
333
268
375
386
260
351
246
325
405
375
267
396
288
269
382
315
305
377
223
330
285
269
282
331
289
355
292
432
298
287
289
333
302
305
318
359
289
312
281
277
215
255
354
339
346
313
358
334
321
344
207
295
305
346
279
316
340
254
413
236
343
312
199
268
243
332
258
288
322
285
307
371
279
295
288
190
298
285
269
341
285
329
292
358
317
313
333
295
267
306
313
346
268
282
400
252
247
348
262
327
362
255
326
325
317
334
344
292
401
272
267
323
336
318
316
336
290
304
373
338
225
409
323
351
308
337
328
320
404
346
294
339
249
395
358
368
272
395
279
258
319
272
318
327
335
321
284
335
233
313
325
364
358
345
315
278
368
321
367
354
160
412
283
355
277
260
340
210
262
250
346
272
356
332
339
295
301
281
302
271
300
386
243
270
319
290
342
400
254
332
326
269
314
298
276
369
314
264
273
269
388
378
320
348
270
249
319
324
295
304
366
254
349
293
315
313
277
306
284
347
433
268
267
320
362
343
275
231
326
337
335
357
394
312
329
424
275
321
333
405
394
316
343
301
330
296
302
295
301
369
384
320
264
256
338
257
302
267
336
340
361
322
263
294
321
306
395
367
396
373
319
326
282
313
242
335
284
320
300
320
288
339
321
256
310
244
386
317
324
341
289
307
303
368
390
303
375
280
386
270
369
285
297
257
426
391
260
375
392
315
269
424
331
258
282
327
308
370
328
244
282
352
381
297
316
245
296
350
289
307
390
303
326
330
350
349
357
340
282
375
282
303
293
299
276
272
275
282
320
364
339
285
233
330
255
235
409
290
264
351
362
334
295
268
305
324
360
357
258
344
310
331
233
221
273
307
385
359
380
364
267
379
390
335
329
342
319
344
283
348
349
321
303
326
342
310
381
299
394
334
308
334
353
315
328
353
377
255
315
309
271
272
303
336
270
312
305
347
340
301
310
281
408
355
321
343
314
251
317
354
352
257
273
340
356
310
206
301
346
330
263
240
280
357
278
311
268
324
390
284
382
340
362
246
341
377
263
326
334
300
400
376
350
317
323
333
263
316
313
272
322
320
346
268
367
265
347
322
287
329
360
323
323
368
268
271
250
288
418
327
254
298
330
318
305
330
378
282
372
309
346
256
294
300
272
254
311
310
271
341
266
238
380
329
332
349
334
324
368
290
327
392
367
342
386
290
235
238
293
325
368
310
404
274
367
195
289
292
343
311
325
346
324
341
340
354
336
313
288
261
344
238
391
373
388
352
268
286
329
302
284
315
327
353
275
426
348
338
366
227
270
254
301
264
343
308
429
295
242
329
277
253
313
262
308
317
344
256
423
284
365
356
343
323
298
343
312
333
361
311
368
397
358
348
320
326
279
333
348
286
357
318
318
372
303
326
294
243
213
304
326
299
184
281
267
385
318
321
231
268
317
327
337
263
267
300
348
326
272
390
315
297
303
295
268
356
308
252
316
291
324
219
305
342
327
315
327
357
275
347
335
306
386
289
298
310
263
375
251
239
299
349
280
350
276
282
364
332
390
270
316
327
421
313
228
314
317
219
314
308
333
349
318
209
311
322
307
274
305
294
253
259
361
368
426
283
297
383
307
358
283
323
293
257
357
279
353
364
245
308
358
311
258
271
320
316
353
331
209
333
342
341
258
294
380
377
221
340
292
283
343
275
347
362
296
337
335
244
332
269
348
322
374
334
348
372
324
299
329
254
348
304
342
340
349
359
386
274
338
281
291
394
396
295
258
382
252
365
283
335
291
249
284
325
318
291
370
308
302
385
308
352
352
284
285
325
350
337
317
356
283
303
294
296
348
355
295
301
315
355
338
282
258
235
346
345
352
358
263
292
264
338
293
290
273
182
218
312
288
323
321
338
239
323
362
359
343
332
330
397
325
309
311
304
297
376
333
300
328
286
413
322
370
249
281
308
384
291
265
242
290
318
349
287
264
269
309
342
235
419
324
356
240
268
265
354
267
254
305
280
299
317
389
301
328
413
292
300
275
297
377
277
335
385
340
290
331
361
274
346
224
254
339
374
224
334
393
265
276
287
290
367
260
367
402
346
340
359
230
324
322
266
388
342
297
316
275
384
375
271
371
312
314
325
335
361
293
268
414
355
262
286
371
275
324
360
315
393
252
306
385
255
376
277
314
282
338
205
307
290
281
278
301
331
303
335
410
325
291
329
230
359
293
351
325
345
251
300
353
326
283
334
345
332
373
352
241
282
287
340
411
288
373
315
345
312
273
250
313
283
277
323
240
327
390
301
280
288
306
278
298
304
259
373
303
270
349
276
346
347
324
339
267
282
286
366
299
381
338
377
335
372
292
327
337
345
251
369
353
226
352
279
302
143
250
323
317
397
252
346
329
240
233
345
349
306
370
326
329
348
332
384
337
348
309
257
346
320
426
375
366
384
351
274
301
321
267
297
351
292
365
284
351
376
327
374
362
283
267
328
319
344
327
352
330
357
295
286
259
372
301
327
350
247
276
331
248
333
308
281
384
319
296
344
312
383
292
304
290
345
329
342
301
320
367
409
284
283
297
317
338
293
299
265
388
331
312
314
347
301
384
287
299
318
325
305
348
389
308
397
350
307
366
384
366
338
272
243
266
339
300
303
329
334
356
310
359
334
344
368
269
333
393
323
272
268
330
327
345
341
310
353
278
368
277
268
294
272
320
294
306
232
326
274
407
337
324
364
311
256
326
302
341
332
272
322
338
300
317
366
337
365
242
364
276
300
337
282
351
239
355
344
372
258
256
338
272
265
358
354
269
192
327
356
339
315
323
353
330
364
315
278
321
309
317
293
307
428
367
335
292
299
292
346
300
339
371
371
388
320
409
270
337
337
359
292
322
331
300
387
342
344
267
350
324
297
384
372
339
316
263
340
246
293
259
282
342
381
242
285
341
368
357
282
184
257
333
310
301
270
245
312
230
318
261
370
336
254
330
358
331
224
302
272
279
333
237
285
343
285
275
399
314
305
328
262
259
316
347
319
294
321
264
328
297
306
277
274
307
335
352
219
314
406
396
350
318
386
342
255
311
284
310
359
274
255
277
365
315
279
303
332
382
228
290
401
293
323
298
389
326
278
364
354
317
343
357
331
281
392
325
292
327
316
367
312
392
374
292
267
326
311
368
292
301
246
296
321
409
310
317
333
262
343
365
273
313
311
271
320
322
265
288
376
368
328
324
315
336
323
331
345
331
333
344
258
310
321
316
250
302
296
355
307
245
298
339
368
371
281
231
330
245
262
298
314
259
289
315
221
344
390
340
330
266
301
283
225
434
333
394
306
374
316
355
340
297
296
322
261
347
282
351
325
335
269
377
269
292
287
281
362
342
380
292
277
305
381
379
353
389
386
352
320
342
300
354
323
235
277
320
360
345
335
354
345
354
243
277
200
301
427
373
285
331
352
317
305
293
286
315
354
338
264
341
295
250
247
382
395
319
317
357
301
261
265
317
276
280
244
301
352
366
328
348
322
363
353
260
378
223
280
320
330
349
212
365
395
299
352
325
240
224
359
335
308
367
283
310
354
327
271
354
306
358
194
400
324
377
253
393
362
352
294
295
175
303
330
324
397
290
328
304
371
328
319
320
244
435
346
296
381
318
307
272
309
345
341
285
304
217
311
378
376
297
273
353
313
257
308
331
318
289
354
352
286
342
286
265
414
309
353
319
300
329
283
318
237
378
346
316
426
331
394
356
347
335
306
323
297
383
353
275
287
281
310
337
310
285
312
322
380
275
378
292
271
291
426
334
284
230
432
373
361
348
273
323
351
282
315
274
292
255
289
317
336
290
274
235
254
269
331
332
355
263
313
339
311
282
357
438
294
282
317
352
313
369
316
311
289
283
363
316
332
356
250
346
339
274
360
323
218
289
355
271
240
348
294
344
329
244
289
280
347
324
305
321
340
304
300
351
359
296
314
357
306
271
379
260
329
371
285
302
317
311
346
393
316
297
353
361
381
334
251
269
241
264
328
348
341
335
338
284
295
324
343
316
236
288
346
270
318
385
381
285
281
399
338
286
341
277
236
355
300
367
378
358
300
359
311
289
297
341
401
308
389
324
265
236
294
327
269
271
239
311
318
273
327
320
295
388
264
296
266
340
289
367
281
391
312
260
289
325
297
339
384
403
261
267
329
336
325
289
272
326
229
385
296
277
349
314
268
392
322
367
272
344
270
388
345
261
257
310
224
224
341
349
296
340
346
366
333
307
393
335
280
229
294
291
263
316
346
359
350
270
320
252
353
327
292
244
293
295
342
352
368
359
266
324
236
334
262
319
311
415
342
265
323
351
273
292
253
381
348
351
361
331
320
398
278
369
267
271
256
355
406
320
379
354
344
295
336
309
302
287
345
341
288
320
332
286
288
312
293
231
359
336
326
327
266
347
350
348
406
333
309
267
300
268
279
309
374
325
320
374
333
344
277
411
339
368
319
300
340
330
270
273
310
264
398
275
311
269
347
251
378
398
347
254
343
384
251
249
287
236
384
308
332
277
322
351
374
354
302
377
354
392
341
335
332
316
293
273
313
363
285
302
287
340
289
281
365
307
251
292
275
277
345
330
331
290
287
357
343
338
369
360
259
378
363
348
297
286
291
360
313
365
357
345
320
364
351
253
306
292
294
342
248
269
431
289
289
290
344
366
367
353
333
248
355
319
335
286
309
253
305
255
306
349
291
302
309
369
251
312
310
315
325
280
333
269
347
326
261
332
298
355
250
349
372
324
390
299
294
332
330
301
361
276
328
356
216
334
351
338
382
319
343
289
359
277
369
334
271
299
321
388
386
349
285
291
347
283
393
297
308
308
354
261
348
342
235
242
333
331
309
305
326
368
294
270
292
320
324
389
312
338
298
262
287
350
278
266
336
298
309
299
307
316
287
345
337
337
272
233
278
341
316
365
321
274
263
346
293
270
285
366
330
269
322
322
337
252
297
358
270
311
357
328
378
313
301
335
350
312
220
290
322
324
353
368
321
267
392
304
220
312
353
369
348
348
294
358
277
260
317
309
369
261
333
315
338
325
298
403
316
269
324
280
366
401
372
273
315
322
374
305
310
372
293
388
303
288
299
318
410
349
314
245
284
304
366
336
298
290
272
337
377
440
295
275
360
323
344
314
307
344
250
335
325
367
425
309
247
338
344
351
355
254
319
261
314
338
338
329
371
386
327
329
320
293
339
380
270
355
375
393
319
330
319
323
291
305
342
315
323
299
361
386
322
374
391
345
350
393
298
349
289
322
304
290
340
361
288
271
250
388
313
342
355
354
375
255
288
304
204
293
376
274
319
372
309
294
387
376
312
338
241
304
257
366
244
263
221
331
236
254
211
327
320
321
257
280
297
265
332
261
263
319
381
334
311
259
295
238
295
337
335
311
316
370
308
304
320
374
331
343
302
262
310
309
313
279
295
368
331
324
416
272
253
313
380
287
312
287
342
326
344
354
321
294
288
217
360
265
412
279
287
339
307
276
288
292
206
351
273
306
370
381
363
253
294
302
256
290
353
331
382
221
435
388
338
336
373
278
239
287
263
334
386
287
224
320
339
355
299
331
346
353
333
317
272
327
294
315
242
327
262
311
313
287
355
377
355
313
327
298
324
345
373
329
360
262
433
297
249
313
277
312
239
323
379
254
364
300
369
258
284
296
323
255
357
288
294
360
314
359
253
274
295
320
322
357
287
289
334
269
323
257
315
332
318
254
342
241
321
352
338
386
338
306
348
334
358
340
286
291
329
281
296
344
284
332
339
225
359
274
284
244
263
321
310
287
263
338
276
305
238
344
366
292
322
392
356
303
328
350
326
327
334
314
276
351
283
374
317
259
284
355
221
374
322
334
342
403
357
268
292
323
320
350
272
292
329
346
292
305
358
270
358
283
241
259
298
281
384
279
375
318
262
333
338
318
265
293
312
356
259
361
269
323
312
347
377
302
373
317
407
241
305
228
329
478
391
276
375
305
410
376
256
334
301
197
275
268
402
346
292
363
220
220
206
319
360
307
285
320
340
327
384
342
345
300
311
399
349
292
344
305
432
303
315
335
266
252
274
264
289
277
306
290
279
301
325
360
338
340
328
257
336
325
351
320
338
325
316
278
262
356
346
277
169
259
371
306
326
421
221
338
297
351
327
265
357
424
295
378
327
371
355
346
308
360
284
320
404
331
329
365
362
285
383
344
296
325
373
257
231
259
400
393
358
337
334
262
202
261
317
279
315
300
290
304
284
272
366
282
254
388
376
385
308
328
308
295
329
298
249
294
353
280
439
315
268
398
307
325
333
331
404
268
293
307
256
379
256
288
346
311
275
272
351
249
330
337
289
248
373
369
379
272
271
274
293
342
281
374
314
279
303
255
265
241
299
286
330
294
311
261
323
343
348
330
344
331
373
324
378
374
335
385
310
341
341
287
324
265
277
260
419
398
296
277
252
234
285
260
289
298
325
325
284
303
357
271
335
379
391
313
275
335
327
348
425
357
304
397
407
341
304
292
358
271
298
320
301
341
268
324
330
342
312
349
310
312
355
255
284
373
304
352
317
364
311
249
313
343
340
381
418
389
293
288
357
369
311
303
318
350
335
269
306
263
326
264
376
347
297
273
345
297
344
283
358
266
339
329
224
321
313
299
289
264
348
330
312
318
245
317
348
364
239
309
213
274
326
402
345
250
359
405
324
302
252
360
315
348
293
307
292
326
233
332
314
247
331
353
390
310
304
310
281
287
325
229
295
362
304
293
250
342
284
285
325
311
260
286
270
309
290
327
311
326
223
265
339
353
381
389
283
427
301
384
263
255
287
263
326
278
336
329
326
279
334
293
209
366
352
343
310
292
318
304
327
296
315
285
358
255
427
324
319
339
315
338
234
346
354
312
274
248
378
347
355
370
346
292
339
333
283
284
311
273
306
301
307
309
317
335
317
325
331
279
356
294
288
292
323
393
333
229
314
329
414
406
387
341
329
270
333
390
420
349
242
308
368
320
334
356
321
304
293
329
286
283
288
333
347
288
213
307
342
374
333
304
301
258
256
332
313
290
340
270
287
211
336
295
297
256
329
405
378
272
316
280
304
216
315
273
281
278
280
416
333
362
314
384
298
392
399
373
340
316
409
316
375
279
353
355
291
329
300
335
324
294
271
323
276
302
379
310
314
291
347
299
372
316
320
242
290
288
340
388
358
319
363
270
325
359
352
250
263
344
248
316
326
241
317
335
308
286
350
362
314
284
292
353
368
315
263
358
353
342
290
256
293
227
225
376
263
312
305
364
307
362
318
386
331
394
320
336
330
302
293
346
343
283
285
318
315
325
378
308
297
321
359
331
306
290
334
378
257
283
381
329
299
311
218
330
324
299
332
348
324
369
280
214
342
313
299
264
402
346
217
253
313
361
331
363
378
268
284
346
326
349
247
322
359
323
330
289
342
355
356
302
326
345
302
266
347
395
341
302
286
306
330
296
376
335
296
360
359
386
298
260
337
346
291
408
282
309
295
253
307
359
296
301
355
310
278
361
310
343
365
262
404
238
225
285
373
290
303
296
312
338
348
334
323
287
353
390
279
396
308
283
343
283
364
300
322
287
291
250
266
315
309
237
363
267
358
335
273
250
310
350
350
277
289
336
327
296
327
320
338
262
312
345
357
300
301
360
281
310
345
293
291
275
308
311
264
267
272
299
266
335
253
267
342
347
341
361
378
336
249
286
260
368
359
357
259
330
343
250
245
291
326
353
330
352
376
280
301
262
297
230
300
364
289
335
330
315
259
357
343
305
304
315
367
277
335
390
321
386
318
354
319
316
326
377
288
288
309
323
323
355
293
382
305
384
343
316
276
341
290
357
268
353
354
313
316
315
298
310
363
321
261
312
311
319
293
230
379
299
402
303
320
364
218
352
294
366
359
334
350
350
328
324
357
396
300
349
346
248
335
345
365
348
316
314
319
298
291
339
277
338
293
366
247
335
334
340
333
303
329
366
374
302
343
352
281
329
381
298
356
231
307
291
278
331
354
278
253
341
283
306
313
370
304
306
296
254
280
272
321
248
265
294
292
342
339
322
282
337
319
342
276
257
321
275
235
285
310
275
245
255
360
336
327
330
300
359
309
326
298
313
328
350
338
310
322
305
301
334
341
280
328
391
200
303
326
300
326
307
279
364
204
303
317
379
302
336
309
352
241
328
377
337
272
307
330
292
401
405
355
245
234
367
325
373
299
358
349
289
303
228
434
288
358
335
332
362
428
294
339
351
173
339
320
320
333
385
300
305
373
271
327
306
261
438
263
349
321
249
293
324
329
362
362
352
328
404
318
316
330
255
279
301
353
250
325
325
347
324
359
318
261
394
264
250
356
294
375
305
319
352
380
329
313
239
294
295
294
277
322
272
376
279
312
364
325
346
332
224
373
376
387
358
257
389
281
317
300
314
282
382
290
244
370
281
299
274
246
265
267
300
270
244
364
281
313
288
352
359
284
409
282
338
362
334
319
350
374
350
319
308
368
226
314
291
328
324
363
290
268
323
270
346
370
281
291
327
307
342
337
261
315
403
311
357
336
203
350
238
389
406
360
305
268
297
202
313
286
207
346
313
345
356
384
333
306
328
347
342
269
322
316
294
264
189
274
309
338
315
286
418
318
359
380
349
327
359
271
402
364
296
276
298
248
328
283
313
270
322
365
277
315
285
292
308
283
282
329
349
233
347
246
294
287
320
348
312
249
395
358
369
336
318
367
328
345
292
345
326
373
247
301
319
283
255
263
302
318
270
383
252
305
343
344
337
201
283
406
374
320
272
287
252
403
235
383
317
265
334
258
297
311
217
347
328
396
285
315
280
327
387
288
278
243
288
387
305
396
283
291
260
235
346
320
369
318
372
252
303
297
387
254
304
305
338
332
280
309
306
349
274
325
242
314
318
348
340
214
351
389
354
333
311
315
274
369
301
342
357
382
306
305
274
335
259
291
279
301
232
346
369
337
245
350
304
322
272
305
328
348
314
297
268
259
348
354
332
360
338
316
257
419
339
385
360
386
200
303
384
271
356
391
349
359
313
344
463
303
248
355
282
264
267
334
413
254
260
251
343
384
269
320
292
290
321
283
339
259
304
281
349
270
268
297
289
261
299
321
328
268
340
263
310
210
310
287
300
340
283
391
328
359
254
283
266
270
264
315
376
289
348
347
273
325
284
297
284
359
336
337
282
335
319
372
440
334
346
313
324
327
321
346
308
340
317
336
334
344
307
287
270
437
374
342
335
270
296
317
283
315
363
325
265
387
359
348
319
288
355
308
382
372
349
289
379
370
365
325
377
324
293
235
250
335
364
311
299
324
269
363
245
372
316
340
359
296
318
357
242
349
349
292
367
207
261
304
285
249
295
232
318
333
271
394
303
325
282
245
300
305
404
304
324
289
419
349
371
322
292
283
295
373
372
308
367
346
307
305
346
309
373
236
341
238
303
391
316
341
341
353
293
347
330
248
328
335
355
285
318
353
394
347
295
355
349
300
316
337
333
423
236
344
256
270
436
356
281
307
301
312
286
310
350
306
357
246
291
329
319
412
259
282
290
341
283
324
288
234
422
357
309
336
276
254
320
250
360
377
365
319
308
367
332
275
235
370
295
369
312
413
379
418
383
301
309
312
336
303
344
346
319
249
304
326
359
389
318
259
325
205
395
363
273
350
307
374
261
342
385
262
356
275
301
310
258
317
187
290
353
280
362
338
209
336
307
345
355
338
328
343
321
322
321
169
219
298
278
362
338
346
263
267
349
307
235
277
301
296
369
266
320
297
380
338
360
315
308
308
407
240
302
284
306
357
272
280
311
307
247
268
350
289
248
339
300
319
319
359
328
385
267
294
313
250
318
336
336
351
330
316
284
364
342
276
257
280
335
310
351
304
353
336
250
370
334
358
304
269
204
353
281
225
319
385
313
410
322
309
246
346
369
301
313
248
285
347
317
285
294
279
299
360
362
280
307
326
309
321
331
297
252
238
298
353
332
212
272
347
337
335
285
342
300
412
279
295
316
321
324
339
254
288
309
256
319
378
388
325
285
346
383
341
345
305
410
269
320
240
282
263
373
296
306
282
290
315
243
285
374
277
322
380
399
212
321
347
278
283
333
335
319
327
257
277
334
333
322
300
320
356
321
328
352
304
284
376
319
349
305
356
320
280
357
320
315
264
361
341
355
414
301
359
235
350
237
366
335
306
275
270
289
301
329
287
368
252
264
407
285
294
300
298
372
283
322
273
291
257
390
266
389
367
363
310
301
337
322
348
349
297
309
308
252
213
338
334
336
387
361
315
393
259
367
314
368
276
371
371
319
374
388
305
263
341
364
311
260
299
341
280
363
220
319
350
308
277
255
309
342
274
337
325
385
298
374
278
440
325
400
286
337
287
339
286
261
364
297
338
288
247
265
244
288
284
416
324
235
354
372
305
224
356
295
268
318
298
380
347
247
289
267
255
314
352
288
312
365
308
411
365
294
321
317
297
315
354
285
284
322
301
267
389
380
272
345
329
314
309
236
183
280
329
342
309
299
258
332
231
408
334
377
326
376
241
397
370
293
337
298
355
327
329
270
345
307
322
319
391
377
302
255
303
245
364
339
313
371
356
302
231
243
344
329
323
399
383
380
353
357
307
313
382
277
420
216
281
314
350
404
318
325
252
334
267
396
249
329
279
337
319
347
322
352
259
303
329
345
287
339
337
314
390
375
335
308
339
259
365
272
242
324
354
289
361
294
289
285
297
196
366
282
338
283
339
349
307
224
337
268
311
337
283
239
388
315
322
284
257
256
271
363
424
279
307
355
343
343
257
204
249
301
329
262
369
335
264
219
394
308
313
298
342
394
381
359
363
309
296
331
344
384
286
316
267
347
249
280
308
292
209
304
287
327
399
261
392
363
320
324
364
345
318
322
384
240
283
289
267
295
353
248
408
365
296
347
287
300
327
374
376
321
355
292
285
249
376
351
299
299
304
315
352
252
238
298
300
244
214
292
326
319
288
317
333
256
367
350
265
343
283
319
284
257
285
256
377
302
358
266
382
235
306
265
353
267
374
352
337
330
308
251
336
364
304
287
330
176
357
310
351
282
266
281
354
331
348
370
381
267
325
388
307
375
367
265
360
353
275
305
345
273
320
380
258
311
285
361
287
380
251
406
338
352
260
334
350
380
290
244
372
309
335
310
252
330
313
345
273
325
277
281
379
308
378
296
355
315
386
288
251
275
369
336
330
264
264
233
319
335
384
301
364
398
304
283
337
281
337
274
290
332
274
358
341
409
263
282
304
326
323
318
227
394
448
331
351
232
398
340
335
242
207
369
271
405
287
378
311
294
304
276
336
389
311
282
366
288
301
249
312
287
326
302
122
284
350
349
327
155
351
359
357
316
387
276
334
238
363
258
322
385
303
362
381
364
250
276
277
425
294
259
234
280
281
227
342
317
356
175
306
259
288
366
366
200
293
334
276
333
371
252
297
306
336
392
316
302
353
262
357
351
342
360
312
377
276
369
279
269
377
315
324
321
335
278
286
339
327
342
294
315
296
361
350
302
387
364
306
365
283
265
324
384
274
227
348
317
289
360
305
273
313
349
254
313
376
297
310
315
311
259
321
379
325
222
247
383
323
330
348
357
337
299
333
304
246
371
363
281
342
312
287
238
272
284
316
260
374
347
344
249
217
349
273
336
310
255
398
395
262
348
274
356
347
337
282
328
296
299
270
347
304
319
381
269
312
278
263
284
278
332
383
277
334
318
227
309
359
269
323
310
250
290
316
285
298
256
287
357
400
267
297
273
253
301
331
307
378
401
363
303
310
354
262
320
270
368
195
338
262
216
301
383
363
332
297
334
371
278
324
290
271
250
369
370
256
306
339
303
340
234
323
344
306
364
250
362
284
299
349
388
332
338
290
275
227
207
322
371
386
343
359
342
267
323
272
367
300
311
376
378
273
409
312
360
344
339
289
313
423
349
353
282
371
332
319
259
360
253
260
315
324
294
322
354
382
363
258
310
242
344
326
372
381
382
210
328
335
334
318
335
291
262
293
284
372
247
396
317
188
344
267
309
327
318
358
360
287
337
282
304
271
252
344
301
340
364
216
331
319
333
367
283
365
363
331
305
351
316
367
263
272
275
319
312
406
342
322
342
369
333
283
332
387
314
346
226
334
261
303
367
299
330
346
331
271
296
248
352
246
354
268
283
311
277
213
338
352
306
229
329
336
389
312
267
341
283
329
403
289
344
333
233
281
369
255
276
285
302
306
323
348
306
314
330
344
302
314
367
369
361
321
315
266
235
282
316
400
264
295
271
329
273
358
311
338
310
233
334
262
364
278
366
289
253
344
401
278
295
355
269
321
294
310
300
219
332
276
321
375
389
341
335
282
304
298
281
303
341
202
236
322
311
272
299
287
339
332
296
249
325
362
259
278
303
375
422
355
342
272
247
303
338
242
351
271
327
350
382
296
334
342
315
317
357
279
346
335
365
308
295
286
366
249
324
281
388
272
366
243
298
282
339
342
317
269
354
273
384
278
345
162
329
273
388
386
265
320
362
342
327
279
341
281
345
343
380
312
345
316
377
293
361
325
344
247
395
384
383
334
245
326
223
400
301
346
305
355
352
254
354
298
291
327
333
339
290
226
329
304
356
268
284
307
295
344
197
320
270
339
312
342
335
291
277
301
308
326
347
327
294
357
240
318
346
356
260
307
423
334
374
257
368
236
343
382
271
298
297
345
214
337
238
303
290
285
317
287
346
303
316
286
328
270
269
338
316
286
371
315
276
254
284
312
389
277
284
390
176
357
289
310
300
372
266
383
228
289
347
285
301
244
326
291
308
332
300
259
372
373
287
326
261
269
375
319
240
331
363
260
341
345
272
345
294
310
284
329
339
332
328
359
391
283
354
339
325
285
302
348
327
300
359
329
330
304
262
266
344
331
395
309
319
312
283
351
333
293
268
307
315
405
382
273
324
257
388
268
254
233
361
307
353
305
293
334
353
340
381
332
308
332
397
233
379
311
408
270
335
327
315
400
292
306
263
250
333
360
360
337
260
371
348
310
336
360
417
380
326
340
360
390
357
432
321
333
277
350
321
396
339
327
329
257
293
312
307
273
333
337
290
353
316
350
350
289
369
312
318
290
265
311
358
343
341
232
255
311
302
235
392
327
345
387
369
296
293
378
357
267
285
251
280
323
291
287
273
322
302
344
326
317
206
289
309
292
322
330
282
320
290
326
331
265
319
213
330
250
370
281
285
310
336
290
360
264
342
376
300
320
331
331
274
268
342
262
316
404
246
278
310
307
327
329
349
301
348
310
298
271
289
373
351
359
338
286
326
286
326
375
332
319
249
251
322
354
269
297
277
309
253
266
299
273
290
298
344
305
362
306
308
321
278
309
280
335
354
346
286
271
353
401
330
303
372
260
331
328
379
367
321
312
336
385
287
237
329
228
296
261
260
225
278
326
318
327
262
278
329
291
337
322
319
338
284
304
327
344
261
337
250
352
255
323
324
257
260
284
281
253
300
374
271
295
409
327
265
294
180
265
267
321
261
369
247
323
349
339
295
339
290
354
332
297
190
336
312
328
360
297
322
285
257
283
353
318
270
295
328
269
309
388
295
322
246
315
204
236
286
329
343
379
270
305
349
283
293
358
381
248
378
371
287
348
219
346
335
326
267
275
286
336
304
256
255
303
273
368
272
302
414
304
324
292
354
293
384
403
376
336
331
240
272
369
262
279
245
310
233
281
394
280
313
322
301
358
292
310
318
272
341
304
341
253
251
286
381
246
357
322
345
352
317
300
335
335
381
380
335
393
331
373
314
234
372
372
254
328
275
332
247
286
327
358
297
293
232
304
309
260
285
321
318
317
335
390
406
349
235
346
384
336
287
260
356
288
254
311
319
238
348
332
284
295
308
332
345
394
287
335
375
266
304
237
264
319
338
277
351
325
316
299
348
295
320
289
351
266
353
296
293
333
280
330
278
396
364
345
405
236
235
318
289
288
352
338
253
244
324
346
344
322
384
337
288
296
342
353
290
355
413
299
366
299
295
333
294
341
302
339
295
310
351
321
245
257
370
281
288
248
308
316
316
269
232
332
365
320
314
358
348
305
300
366
295
274
309
382
374
262
370
353
359
343
335
299
297
307
297
321
272
270
328
306
269
297
305
311
286
377
343
309
393
297
347
303
260
290
317
285
206
329
303
327
348
287
366
326
282
325
309
314
252
361
337
320
310
393
311
209
371
208
322
299
356
265
346
401
372
349
272
296
289
292
288
343
300
304
366
307
345
318
323
212
370
304
365
223
287
294
381
353
289
316
322
358
313
301
345
290
323
293
358
220
267
370
352
351
358
347
259
333
285
316
223
371
287
338
241
350
303
285
313
324
337
291
330
369
353
385
302
415
329
319
301
317
351
346
342
260
330
230
246
366
380
324
364
302
362
313
292
262
272
322
286
238
286
292
358
323
317
235
276
312
300
317
246
348
311
333
338
340
311
331
252
320
324
222
283
309
298
404
402
310
299
345
314
302
325
330
337
273
312
353
337
252
415
286
326
314
265
245
313
296
367
322
307
329
371
337
400
265
284
368
340
283
379
402
356
292
275
356
354
350
289
347
272
267
350
383
419
296
391
352
294
339
341
277
329
272
347
286
293
302
344
308
370
277
302
287
373
265
290
331
308
240
264
340
357
310
251
302
382
277
233
362
354
307
292
238
298
236
363
362
308
333
300
261
332
350
288
310
314
290
309
307
343
232
269
259
334
379
290
245
289
328
366
341
278
277
343
373
311
339
317
275
264
260
340
266
309
318
311
295
340
360
388
316
409
343
324
301
332
284
411
321
268
349
324
310
295
287
293
307
345
227
376
343
349
261
377
299
336
382
386
356
283
317
306
311
303
292
310
306
324
290
333
264
381
282
336
281
300
371
315
309
268
263
273
332
256
304
287
283
282
359
379
266
295
271
343
289
305
331
325
325
306
300
325
328
387
283
312
307
259
257
272
328
273
361
245
351
279
359
338
232
329
330
313
385
348
259
326
285
292
279
343
292
323
304
326
365
275
373
343
336
330
353
362
332
289
305
368
358
336
336
265
347
313
261
288
297
304
332
265
248
340
366
412
323
316
358
259
290
371
319
227
328
354
317
331
296
260
386
337
306
374
233
320
340
336
230
335
291
273
343
337
354
223
402
303
309
299
315
334
415
285
322
291
230
420
296
244
351
399
261
386
335
308
337
290
309
217
290
284
303
262
295
250
272
291
289
379
288
356
267
380
267
281
349
305
324
343
348
299
276
291
337
359
301
328
374
334
319
207
243
311
409
252
354
322
266
390
330
321
311
282
294
324
303
231
224
343
298
334
330
287
341
251
307
251
375
415
323
320
363
366
291
343
342
336
226
325
281
300
364
384
371
367
325
314
338
397
297
341
275
352
294
317
300
383
331
350
321
354
360
333
387
322
364
345
264
307
334
297
335
256
309
322
276
330
302
313
280
362
259
329
346
273
324
296
318
320
355
245
281
300
270
293
276
398
322
300
311
302
359
359
360
257
317
374
382
280
330
372
335
254
354
313
319
322
312
304
337
361
242
371
413
250
308
331
317
333
364
300
302
394
213
273
346
319
351
349
222
236
340
308
295
375
308
328
369
235
372
270
292
352
366
267
288
269
225
268
357
334
348
324
269
341
315
291
369
277
298
185
250
182
382
274
302
299
240
355
253
376
402
262
276
342
364
292
285
221
304
282
295
281
274
318
356
365
352
363
309
306
319
285
295
299
273
370
307
305
347
305
369
293
375
419
275
321
338
305
376
314
338
311
329
278
298
300
377
235
277
337
379
285
377
319
229
301
288
242
360
318
313
333
282
325
327
328
335
339
386
310
320
310
352
296
318
354
386
254
260
260
241
235
333
302
374
241
285
223
411
307
341
288
329
329
294
277
353
380
251
308
351
299
343
296
371
372
320
349
362
355
280
278
237
350
371
336
360
412
302
320
331
290
262
354
376
302
333
275
300
375
252
341
375
333
312
338
288
377
267
249
299
349
203
352
315
300
298
320
320
359
255
302
306
463
316
354
302
255
347
330
332
302
360
231
383
302
282
264
330
346
290
350
318
293
344
348
322
267
255
345
378
348
365
240
306
367
315
339
247
363
303
258
385
254
267
363
343
317
346
248
320
366
281
292
376
287
323
235
361
268
375
329
311
329
400
291
259
305
259
332
355
238
348
339
248
346
329
261
347
323
342
329
387
276
353
253
296
347
273
291
426
305
302
305
317
292
286
323
337
324
258
360
281
385
343
332
331
260
282
288
254
353
341
238
329
286
407
396
303
278
267
269
304
411
398
323
368
308
277
282
295
339
252
325
285
332
251
242
356
363
276
303
268
238
304
344
264
356
323
294
286
322
273
263
338
241
304
348
393
299
373
291
349
341
330
363
317
395
270
312
285
285
304
307
322
353
326
318
320
438
358
297
292
336
380
274
314
245
301
340
336
361
267
350
320
306
197
276
326
305
367
307
291
316
298
328
330
311
396
361
265
329
323
330
320
303
283
271
275
257
248
252
328
285
252
245
264
276
308
361
207
301
356
260
247
221
306
304
249
293
364
348
205
342
293
392
301
370
289
325
273
249
239
383
373
327
430
348
394
358
397
251
330
343
357
328
270
312
310
269
306
260
353
336
340
383
317
324
329
305
274
311
302
331
285
334
309
408
309
373
279
400
324
262
254
332
168
310
318
345
303
286
214
328
385
234
306
268
314
370
375
241
349
315
332
326
322
317
354
283
385
366
322
291
364
314
344
334
298
346
336
357
292
314
364
288
255
318
263
354
377
292
255
209
304
346
255
364
390
248
256
371
244
313
353
312
278
298
324
332
417
375
299
393
384
303
281
302
338
323
346
360
338
289
249
262
334
272
349
286
389
320
396
344
276
321
272
307
350
342
379
237
312
264
297
328
355
323
328
266
216
170
354
355
303
300
315
384
283
298
309
292
269
302
264
287
363
265
260
250
375
243
325
403
278
335
279
330
292
301
342
303
307
288
322
330
286
256
351
258
311
300
310
299
333
299
401
300
328
294
402
309
251
333
278
334
285
410
278
366
355
368
336
318
285
382
314
274
197
379
351
335
341
351
306
374
346
210
346
313
297
305
325
311
267
297
284
313
376
299
173
340
388
390
220
280
316
354
208
387
349
316
300
314
367
337
322
302
285
269
312
279
298
303
325
299
321
325
227
370
299
322
358
337
269
263
311
249
314
371
261
345
311
255
370
290
321
259
201
323
376
167
299
339
364
333
330
223
240
285
400
324
355
306
418
327
266
388
358
283
278
357
296
339
300
366
376
330
252
335
268
309
309
350
301
221
350
391
279
224
339
311
305
242
289
339
317
338
202
277
371
398
381
352
267
326
297
362
243
252
261
309
337
283
307
299
349
362
333
337
295
355
360
303
289
370
316
321
284
333
292
241
308
305
361
198
377
369
343
324
289
255
379
310
283
356
252
336
328
351
374
294
300
273
286
310
267
288
331
311
286
299
374
362
324
302
324
340
209
314
250
334
312
238
332
297
379
273
249
291
397
342
235
257
323
328
277
365
311
263
298
270
334
286
274
260
205
291
374
400
293
310
394
375
335
373
278
350
296
216
307
293
330
297
335
380
309
297
389
270
243
397
423
412
342
308
383
312
270
309
405
303
310
306
287
373
291
319
310
265
319
347
299
325
421
295
310
320
313
237
371
395
347
271
217
344
303
261
266
325
313
300
266
248
341
305
237
349
294
238
364
291
185
367
364
362
275
378
245
296
330
350
270
228
290
337
292
262
355
286
281
313
379
342
303
276
231
301
279
265
356
367
304
316
340
348
297
313
248
348
309
271
360
316
293
319
323
350
275
239
318
296
295
295
304
311
368
436
322
316
322
349
345
385
320
259
288
353
321
308
322
335
330
246
265
357
324
331
261
270
362
310
290
428
282
303
396
388
239
308
315
250
315
347
336
316
251
288
385
361
238
371
335
333
324
340
346
242
261
382
222
327
367
438
315
312
172
261
337
247
315
344
361
326
293
325
353
291
415
309
332
296
364
250
300
278
355
301
297
355
290
242
349
317
336
360
369
339
388
390
265
382
356
317
336
297
275
338
338
217
291
294
274
327
357
342
217
285
291
290
348
319
334
281
380
263
284
358
322
265
399
402
318
378
389
318
338
335
285
298
318
333
297
297
290
304
339
252
271
333
348
253
359
221
292
285
271
242
306
330
307
246
364
360
288
321
245
254
234
362
318
335
332
323
273
296
270
331
360
438
292
312
218
341
350
261
341
252
298
319
310
368
286
322
332
392
306
365
334
247
408
279
229
232
248
276
368
284
318
289
410
271
251
339
391
304
269
277
314
316
336
305
315
418
414
309
261
329
311
335
305
315
296
232
327
277
330
367
284
428
329
295
249
294
360
351
169
398
333
298
326
323
295
279
381
264
341
307
285
363
204
257
390
284
298
305
267
283
411
331
273
376
376
290
361
310
327
233
294
288
383
317
254
225
296
264
377
281
364
395
309
340
380
318
268
259
385
284
317
285
336
373
289
396
370
298
368
334
364
410
319
332
304
324
383
361
249
300
212
295
312
277
366
338
336
323
349
278
327
300
345
318
251
266
305
309
241
344
373
308
392
368
360
361
248
295
261
268
252
341
367
260
301
369
322
387
258
316
298
295
198
292
317
351
369
337
325
384
341
313
414
264
261
335
351
333
312
373
305
282
321
303
339
310
311
288
396
317
318
283
328
282
268
322
324
292
338
301
328
381
388
273
374
326
258
301
323
374
291
353
269
305
322
346
329
385
305
393
362
284
246
331
365
284
358
390
283
351
302
307
274
390
234
281
329
288
264
314
319
281
348
363
298
301
355
292
323
299
201
361
250
251
282
368
371
319
320
292
348
391
269
303
359
288
369
326
306
282
365
302
231
292
244
268
295
290
357
269
340
342
367
342
294
376
308
272
312
384
329
279
350
337
377
408
255
230
315
270
253
276
290
301
306
289
294
309
339
338
319
344
356
303
335
304
433
232
244
318
230
423
393
280
262
334
315
298
363
309
306
328
350
307
315
355
336
358
281
312
279
228
350
380
268
293
309
210
373
220
352
335
224
283
276
407
292
241
354
243
314
360
279
388
333
284
226
293
224
318
389
328
326
264
343
253
305
334
372
282
358
317
328
328
261
276
309
299
301
262
299
305
246
217
189
381
332
398
342
354
258
333
308
290
370
315
255
310
283
430
342
270
240
402
257
361
325
247
375
298
357
288
341
357
322
260
296
362
288
254
284
338
387
294
310
206
283
361
333
286
369
319
351
321
239
352
258
274
386
295
232
326
302
345
326
319
301
230
270
242
271
342
340
346
268
316
222
360
288
248
361
343
284
302
308
318
324
288
247
350
314
306
314
325
370
295
327
382
361
318
306
320
289
217
352
326
295
243
391
316
343
304
314
241
390
370
333
241
343
361
354
297
288
271
314
335
253
318
334
314
352
263
296
260
263
363
393
279
316
291
331
344
352
314
362
366
371
275
359
322
216
342
361
275
302
315
261
282
341
305
271
323
335
327
368
358
235
321
283
303
333
336
338
355
289
242
269
306
358
253
316
264
366
311
340
313
347
274
353
264
313
263
268
322
309
351
244
341
329
372
347
336
285
381
325
288
339
295
355
299
336
263
270
278
277
373
275
227
362
389
354
341
293
262
263
271
403
296
270
295
338
342
285
279
354
339
243
318
359
351
270
305
294
331
283
312
380
246
304
214
240
294
307
398
390
289
312
354
254
305
344
341
383
260
318
306
290
304
328
384
325
350
347
327
334
362
291
338
310
394
255
352
321
294
340
361
309
252
336
355
322
301
269
280
322
253
344
330
341
415
368
323
239
357
351
339
368
363
285
288
274
390
365
290
352
278
344
361
300
242
314
359
411
330
281
340
201
355
299
326
350
407
316
297
260
284
326
352
343
352
303
302
325
327
333
269
262
353
360
311
308
291
321
277
380
324
373
347
301
407
339
310
292
239
322
266
357
325
328
326
372
322
331
316
320
331
325
349
287
317
266
293
405
343
364
305
295
214
362
389
301
319
251
362
358
386
378
268
300
353
366
418
344
325
324
330
245
297
331
390
271
300
286
277
377
267
225
280
373
299
356
347
247
373
362
307
362
331
287
305
362
232
288
328
304
318
369
335
285
255
402
371
363
292
375
304
302
291
333
336
315
312
242
288
311
221
378
339
312
304
296
297
341
237
359
289
294
271
200
294
292
261
359
314
375
362
238
319
342
311
305
309
288
318
313
220
351
328
353
237
321
316
324
360
284
313
331
310
317
318
348
247
332
265
369
297
257
369
293
272
317
318
308
276
331
309
302
278
318
250
305
408
409
324
331
305
298
267
260
260
357
311
346
380
301
204
400
326
296
271
273
280
327
309
330
384
268
255
340
322
291
328
241
368
303
442
282
385
340
262
296
312
361
306
275
414
296
339
389
355
352
271
250
351
341
389
296
357
320
265
283
295
345
351
336
144
355
317
354
315
402
346
358
386
289
361
370
356
371
381
262
349
356
276
306
395
328
393
267
235
330
387
365
337
330
273
294
328
283
379
305
271
280
322
308
410
296
317
294
329
390
279
303
181
297
251
340
292
361
269
305
320
358
278
308
287
278
366
367
374
227
406
310
363
390
300
309
344
269
250
319
318
240
342
290
295
307
326
353
299
264
379
405
266
295
228
338
359
301
189
338
355
349
380
312
308
340
255
271
310
296
281
329
266
262
248
350
296
341
313
270
360
250
362
296
329
330
326
268
300
306
237
284
316
433
371
277
329
295
245
391
375
372
229
334
324
381
289
373
243
355
206
354
305
361
321
343
259
295
336
315
319
359
340
409
273
252
272
296
285
344
326
254
319
316
317
354
278
321
332
291
343
339
272
360
298
309
309
342
378
357
314
249
261
278
287
345
274
260
326
225
236
291
303
353
306
295
338
329
328
273
274
327
266
244
311
370
333
283
358
330
291
355
315
362
337
306
336
311
307
274
259
324
330
280
313
361
430
282
289
351
303
293
298
333
283
300
333
350
316
308
330
364
347
333
260
436
331
327
303
323
347
291
349
263
254
346
302
324
335
414
313
351
340
326
304
309
247
359
342
299
355
415
287
346
333
353
349
394
319
262
291
365
361
259
306
290
331
254
334
322
312
330
320
317
274
282
340
338
346
226
330
379
298
397
314
288
248
247
307
314
353
258
374
272
288
269
273
345
312
329
291
297
291
311
231
324
289
299
407
379
364
361
308
344
267
334
363
343
301
339
295
298
229
376
352
399
344
227
374
309
311
354
251
322
347
291
310
302
351
232
308
324
264
266
363
351
358
344
340
279
373
257
259
283
259
369
368
329
371
305
458
311
317
343
301
386
286
326
267
342
418
288
294
246
373
352
362
252
366
338
338
228
326
272
302
331
323
352
381
370
229
433
401
260
347
365
274
260
278
254
289
356
288
276
323
338
340
339
341
351
385
376
385
376
391
318
350
295
248
336
302
267
326
340
304
321
372
357
289
292
397
239
352
286
284
314
355
295
291
307
321
235
292
310
312
327
332
308
344
312
278
355
291
340
293
359
339
294
244
399
326
261
289
301
312
334
318
341
289
290
366
295
294
324
371
254
386
402
366
325
324
355
284
351
305
272
311
322
401
328
391
324
281
302
302
297
363
294
263
308
298
314
260
384
293
378
305
301
318
318
359
329
362
291
391
330
369
402
301
363
303
389
284
376
303
350
329
268
358
343
287
281
372
305
276
297
294
302
270
337
282
262
280
315
416
283
307
342
229
325
322
356
388
342
331
328
369
282
364
308
257
335
305
374
308
290
253
281
248
314
273
372
354
321
344
286
270
274
332
385
260
333
348
306
298
324
308
225
341
392
313
397
278
303
307
314
320
356
343
393
378
266
291
315
242
321
315
452
335
344
307
284
229
289
291
347
311
298
322
328
364
302
301
330
350
305
299
413
311
333
340
406
283
380
359
312
311
303
369
227
269
327
280
354
281
309
329
280
253
272
356
361
308
305
306
265
345
258
292
310
281
339
259
304
354
338
352
317
346
316
340
383
317
243
296
314
388
336
355
272
320
382
410
326
341
355
349
300
296
328
334
324
341
364
295
273
273
270
284
287
338
353
384
302
280
349
331
292
297
368
338
290
387
360
284
266
368
332
263
332
266
271
334
298
290
287
404
331
312
340
272
368
326
285
368
404
314
285
353
346
315
270
289
315
333
275
262
351
357
369
334
269
330
418
257
347
365
319
335
253
324
290
311
324
270
285
317
326
343
363
363
310
315
364
288
283
293
273
275
306
305
380
311
294
312
310
358
240
282
339
335
289
334
341
414
259
280
354
295
339
238
272
340
389
393
320
296
262
360
253
315
193
357
379
313
329
344
320
312
288
278
267
288
371
300
292
363
288
356
288
171
336
325
265
377
354
379
360
182
336
265
293
269
380
268
314
240
244
298
346
405
305
326
361
341
352
380
320
269
294
290
248
317
348
314
324
277
310
344
278
343
319
346
395
324
371
323
300
372
279
402
322
288
323
329
270
380
344
352
360
330
336
318
393
297
299
371
334
313
302
324
258
330
325
310
228
293
258
286
304
324
416
293
292
333
333
235
351
283
268
339
365
249
290
380
346
392
301
354
351
278
220
389
300
238
434
271
306
258
341
288
306
356
247
334
332
409
335
259
353
306
265
266
342
381
297
239
373
294
373
301
379
390
320
338
332
216
235
356
300
316
413
318
271
309
240
199
340
318
345
280
291
354
368
281
337
224
351
394
319
381
404
365
218
297
328
342
305
323
255
216
304
295
304
303
370
369
315
286
297
266
213
267
320
329
259
258
357
267
370
322
371
231
213
411
226
364
336
307
291
334
371
277
347
330
355
234
350
302
348
341
268
279
316
241
277
315
338
298
348
384
321
345
321
266
367
328
326
310
253
306
282
262
300
243
369
261
307
259
278
268
358
256
317
196
301
314
297
288
375
243
350
359
326
297
313
296
295
321
283
319
303
301
255
199
311
323
275
425
346
363
359
297
266
423
329
319
249
306
321
304
303
310
349
310
344
301
363
378
275
225
274
314
308
282
295
284
307
367
327
334
373
303
282
307
270
359
356
393
296
321
384
311
279
317
291
333
347
362
203
290
323
289
355
290
352
355
345
403
353
325
380
291
316
300
287
281
294
357
291
351
280
365
340
249
282
359
310
288
393
316
337
256
286
224
320
331
319
304
191
268
329
312
299
327
248
327
316
321
270
320
243
322
314
244
295
302
234
300
279
325
295
324
279
316
393
292
283
283
373
282
270
374
271
354
313
339
268
236
313
303
205
341
258
343
367
303
283
309
232
260
364
359
372
283
305
339
267
361
288
395
316
315
293
324
316
283
290
277
333
366
343
391
192
299
304
343
319
409
285
264
334
366
372
318
352
298
304
389
345
277
246
375
288
433
330
329
307
346
317
288
329
356
263
322
377
366
284
286
342
311
318
326
261
310
269
256
226
313
351
329
330
295
352
302
259
308
281
342
326
244
377
366
338
351
310
342
280
329
320
252
326
331
269
319
334
224
332
317
269
319
234
279
341
327
303
281
357
349
290
377
253
404
273
331
326
327
281
340
269
253
285
346
374
281
297
242
286
264
314
284
325
395
288
332
362
314
315
281
299
268
367
388
321
262
300
286
224
287
337
339
334
361
275
345
255
336
336
278
367
351
283
276
307
332
224
319
327
388
309
255
366
329
336
324
376
258
340
325
245
294
290
364
330
375
312
341
269
253
355
284
318
354
338
341
298
318
341
369
248
269
327
284
320
323
268
272
266
306
211
399
343
287
353
396
348
247
254
326
364
327
314
338
337
349
343
400
314
319
260
285
361
320
294
233
290
370
271
363
326
343
376
267
344
296
335
301
481
372
306
353
174
334
287
188
332
325
258
275
254
290
269
320
360
382
298
298
302
373
265
300
392
261
341
330
283
400
350
270
265
221
275
304
285
304
369
343
294
294
331
383
379
289
269
334
277
317
266
311
408
389
324
405
359
228
327
393
336
276
361
311
314
348
308
244
319
318
367
369
199
340
273
383
297
285
329
361
271
394
357
299
326
355
339
345
232
328
246
336
298
358
319
359
312
264
366
355
209
342
372
273
378
264
325
340
320
245
319
312
245
326
287
380
280
333
350
297
371
279
330
293
352
273
391
301
309
258
354
347
326
364
338
381
240
375
236
336
232
321
307
343
350
351
334
334
228
325
368
296
261
345
322
259
326
387
304
255
362
325
243
324
389
292
316
329
318
232
300
319
374
297
388
295
260
248
317
390
367
355
291
311
381
304
266
282
301
252
278
319
397
268
350
317
319
330
238
401
372
345
263
329
309
292
378
341
332
315
388
331
315
285
333
238
371
345
368
256
287
283
302
308
239
323
359
384
364
261
372
296
368
219
333
291
291
322
352
405
295
337
329
368
320
278
338
306
273
339
234
304
353
359
340
242
345
303
376
236
397
379
254
321
302
348
331
377
318
243
318
331
294
299
298
187
288
313
304
314
303
320
316
299
349
326
253
295
377
228
364
335
315
299
371
367
315
347
373
294
299
289
283
386
332
226
343
294
309
293
347
300
396
269
338
352
381
325
336
372
352
320
321
295
313
287
370
303
257
284
289
319
331
325
364
277
311
312
267
378
296
246
284
295
273
291
346
332
329
270
384
325
330
314
284
330
320
304
377
275
265
288
249
287
267
297
282
184
327
296
377
339
214
323
327
332
256
344
268
289
360
310
319
311
253
352
302
350
335
308
390
335
323
375
330
238
281
342
303
331
343
283
355
339
292
336
242
223
324
354
215
320
286
323
372
396
388
289
414
288
372
290
327
289
312
322
378
247
321
310
364
312
382
310
340
370
294
361
363
289
301
307
250
301
304
322
325
351
320
283
335
309
337
284
270
339
279
290
326
322
368
306
306
390
261
256
295
240
325
286
323
299
319
303
245
319
320
283
314
339
331
310
354
346
399
234
274
380
315
283
338
285
361
349
354
289
312
289
297
405
338
279
249
246
308
299
232
342
320
263
350
271
351
206
285
224
397
332
340
290
293
320
318
261
352
395
316
281
284
360
377
348
355
304
264
331
335
252
297
298
288
305
368
244
359
257
354
301
255
365
310
311
335
384
324
327
385
429
328
257
255
322
345
273
239
343
224
344
255
277
368
308
328
333
345
265
289
305
285
288
207
261
323
276
322
314
361
264
344
361
286
350
313
378
282
365
338
273
346
281
353
298
287
311
368
362
289
320
287
356
255
309
263
382
321
354
344
243
312
257
277
330
374
381
326
324
284
267
322
310
376
317
212
368
354
350
248
288
340
270
275
259
332
444
353
320
230
277
386
371
292
321
308
310
303
324
370
390
365
350
332
275
315
344
348
378
316
367
376
347
265
336
296
322
259
192
302
361
262
412
365
243
372
299
409
370
266
236
283
336
327
229
390
243
390
287
390
281
314
311
323
316
305
334
319
213
362
367
316
331
382
320
300
299
350
368
352
354
301
333
273
316
260
340
329
266
419
227
310
343
222
299
314
419
199
343
372
340
317
287
317
310
290
317
318
277
333
324
336
310
287
319
302
319
173
316
361
327
321
260
328
330
333
368
374
314
355
312
322
247
243
266
299
356
307
391
368
288
343
293
266
312
357
264
305
260
322
350
286
376
334
277
302
307
353
280
274
337
243
339
268
352
248
335
285
247
267
281
220
322
330
230
278
334
311
320
320
277
293
338
251
345
311
278
281
369
332
342
325
371
325
267
430
270
266
287
323
289
341
340
276
352
326
205
276
236
272
240
286
328
301
315
319
276
333
351
238
279
327
286
284
345
310
319
254
301
350
363
289
284
338
311
311
308
340
343
303
322
328
301
357
317
316
321
275
392
328
359
245
269
336
262
253
397
325
295
352
323
306
371
279
382
334
420
253
266
358
302
340
243
263
344
305
289
357
252
375
388
286
382
332
291
355
247
364
279
322
315
345
345
399
361
306
405
287
322
309
332
268
321
274
288
269
340
270
265
297
295
425
293
293
300
269
310
275
277
285
275
349
387
302
322
343
315
309
291
293
313
357
381
278
297
339
324
347
246
336
253
319
302
258
203
315
304
322
322
343
253
327
292
344
318
335
335
288
273
274
296
379
283
251
413
386
319
360
317
222
275
253
283
281
295
394
373
303
370
212
275
381
366
335
294
302
283
278
319
327
329
285
420
223
309
364
298
280
306
323
337
349
248
363
240
343
346
325
304
328
266
319
364
312
365
295
221
263
275
296
348
199
334
306
328
354
275
339
317
320
367
328
203
295
343
379
335
238
387
332
307
325
317
380
301
315
362
307
344
310
264
330
343
293
328
312
348
328
287
270
309
355
352
396
350
259
239
343
372
297
296
291
341
324
272
259
333
309
250
237
296
324
348
277
242
373
349
387
266
286
333
319
293
394
339
295
337
262
323
331
364
200
277
322
324
315
335
359
376
339
365
271
200
282
330
426
309
352
344
330
364
394
317
327
275
281
346
248
293
379
343
379
320
259
317
377
372
376
327
333
217
392
268
357
317
323
265
298
280
334
320
282
344
308
317
311
227
304
319
385
221
313
376
302
244
377
327
232
336
339
338
310
351
340
299
353
324
304
347
356
379
276
327
356
330
316
332
373
298
382
303
287
338
273
301
323
232
358
276
292
383
279
354
409
340
355
267
281
242
271
292
310
286
173
309
355
424
245
299
306
351
379
341
310
328
296
312
201
332
379
275
334
342
267
352
347
344
323
306
326
246
301
300
384
350
283
268
323
267
306
321
359
353
295
271
300
313
283
270
387
296
277
289
323
288
295
313
303
227
258
309
380
247
314
322
327
313
281
382
259
310
182
330
376
233
332
238
367
334
323
304
362
296
314
377
287
376
316
343
326
353
309
296
256
351
310
282
306
301
304
295
276
253
264
335
269
398
366
329
329
356
348
284
366
319
379
325
348
305
261
271
277
337
352
384
261
301
311
366
227
326
339
269
325
359
279
361
292
323
306
355
343
301
317
393
302
312
224
295
356
278
311
328
293
412
242
354
267
254
351
339
329
268
272
266
316
237
327
316
270
389
309
301
278
237
293
308
342
338
309
325
282
294
357
220
344
318
246
365
309
305
305
258
285
333
308
349
367
334
272
366
290
323
412
275
204
310
292
289
217
373
374
276
336
265
256
327
321
324
369
377
377
287
375
349
307
319
312
224
309
268
386
232
403
342
311
234
365
383
373
320
377
349
353
339
349
414
363
280
300
282
337
253
316
264
328
267
279
346
318
333
346
353
308
346
360
330
302
374
334
223
259
321
376
327
356
238
286
406
328
355
347
300
301
347
315
285
349
307
303
307
309
295
368
415
328
378
342
355
306
320
341
339
343
292
377
311
295
413
387
325
357
288
365
368
272
295
333
370
326
328
202
329
380
360
379
320
380
256
354
366
303
319
389
335
248
386
304
353
333
327
278
302
341
276
311
323
260
302
361
354
360
219
334
357
309
396
344
417
370
322
337
394
278
340
348
308
355
314
233
387
247
291
352
340
336
386
286
277
362
372
276
366
335
319
341
300
358
320
313
244
287
271
268
363
259
201
337
310
304
311
228
313
342
350
270
286
291
304
293
281
298
297
226
276
376
344
281
314
267
361
355
283
320
282
317
317
280
298
341
303
270
319
338
311
365
344
321
307
253
445
312
365
320
261
310
306
322
290
379
327
333
309
331
369
390
255
373
288
317
248
337
262
377
373
338
289
335
304
287
289
302
325
298
335
298
281
283
256
316
318
281
346
304
284
362
302
241
257
320
300
296
304
322
323
276
372
284
324
280
356
300
322
330
388
375
315
369
319
377
296
356
279
412
309
294
343
367
368
326
273
306
270
304
283
282
378
278
305
159
386
269
347
313
381
367
270
331
357
311
324
296
284
336
340
300
297
344
316
338
301
273
318
315
343
384
366
326
313
356
383
256
322
335
306
399
246
201
257
353
334
346
281
287
319
241
304
315
322
346
275
347
289
233
276
361
376
337
333
370
395
259
330
259
288
329
216
261
331
352
365
264
339
320
314
358
256
297
326
373
318
383
299
317
343
378
268
287
357
269
276
336
305
329
233
364
301
241
387
210
284
333
248
247
365
410
200
335
318
293
320
324
257
385
345
237
387
285
367
336
299
382
293
371
289
330
390
279
312
281
350
374
369
363
351
326
242
308
302
308
365
233
290
281
342
302
326
297
374
321
311
310
265
307
317
247
333
284
363
346
367
279
339
231
248
295
288
323
267
304
347
353
341
328
280
266
281
309
347
370
253
219
296
300
346
298
331
290
235
302
280
322
302
333
298
299
322
319
312
341
288
283
354
398
306
328
285
315
321
297
329
269
312
296
271
313
322
272
429
385
296
299
358
267
324
337
318
257
236
359
283
300
313
300
350
370
294
310
375
352
349
255
240
339
371
258
308
288
336
338
274
312
297
255
243
352
274
402
268
239
353
395
353
360
325
361
325
252
389
373
279
343
249
297
398
296
357
224
280
325
379
360
355
302
249
341
412
383
256
288
331
326
304
379
295
341
268
279
236
386
311
291
399
357
351
304
352
369
299
376
324
395
382
280
364
386
267
311
389
261
279
173
321
293
279
418
331
347
328
317
246
249
365
359
398
255
395
334
329
300
297
253
289
238
359
292
213
342
343
345
327
286
359
279
346
319
329
325
333
313
288
269
294
372
396
233
355
330
376
317
301
294
285
335
299
325
381
293
329
353
380
348
302
298
277
353
367
277
386
281
365
267
320
310
204
180
298
257
310
340
326
392
396
249
265
373
391
320
299
298
291
231
342
297
308
398
280
376
327
302
244
229
356
292
250
386
336
355
292
309
341
335
247
268
333
257
276
274
319
375
353
318
361
351
266
311
379
294
244
338
369
291
269
301
368
289
300
265
334
294
300
279
335
362
333
278
347
349
395
372
327
321
283
329
328
402
400
312
280
319
296
290
295
365
296
278
290
241
281
314
242
323
353
261
279
231
292
307
355
371
353
296
387
365
314
327
233
340
250
275
338
351
331
328
337
298
367
225
344
389
237
330
277
329
223
307
258
320
355
283
312
241
240
410
319
229
312
314
410
271
312
368
255
300
239
378
342
323
326
357
315
296
327
278
296
341
270
253
349
353
199
320
300
312
294
226
237
345
318
340
247
307
299
283
290
330
314
326
346
309
336
347
310
347
244
245
321
271
353
192
297
274
406
332
335
361
307
330
272
386
292
288
325
238
346
384
286
275
267
235
263
386
316
353
339
350
310
229
267
330
306
332
275
406
283
303
337
308
252
348
361
376
190
262
337
321
349
264
266
331
348
411
317
333
298
336
277
376
361
281
294
320
386
335
315
311
323
337
309
274
316
295
333
277
306
281
316
341
307
332
382
387
325
299
307
282
283
316
356
266
322
233
291
341
273
283
349
368
328
294
276
207
323
325
318
279
303
295
263
342
273
339
328
346
398
310
273
317
375
305
399
367
326
361
305
329
344
357
359
405
350
264
332
335
248
228
336
272
326
346
360
278
318
287
299
352
284
297
279
284
361
406
342
351
346
317
354
342
276
312
268
218
340
291
288
383
293
391
301
250
300
341
345
313
373
347
341
324
315
316
343
292
290
398
336
375
370
292
273
309
320
330
347
343
233
267
293
320
351
280
303
304
242
307
315
233
313
303
344
287
211
243
328
334
268
361
272
306
372
271
324
242
320
387
346
377
246
251
334
345
291
352
255
313
296
248
232
351
327
388
290
291
418
339
410
414
332
371
337
268
331
309
319
322
282
362
324
297
248
371
261
304
331
246
292
316
296
320
346
263
317
348
307
275
356
324
320
284
296
297
380
323
289
266
306
292
380
318
294
242
252
311
360
278
347
277
358
296
291
382
336
378
297
360
315
317
269
281
370
268
278
357
241
338
307
273
329
284
299
344
384
311
299
321
355
327
324
385
333
317
293
319
311
396
364
261
349
277
303
264
290
392
284
287
300
319
244
251
288
286
329
257
342
249
395
249
347
249
335
252
306
277
358
310
310
333
348
308
269
375
265
298
360
307
336
284
361
375
329
354
213
329
183
333
364
260
288
310
368
322
328
333
386
385
321
341
327
409
376
277
331
348
261
265
231
279
361
346
274
215
397
310
232
272
332
367
293
370
246
340
272
361
332
399
247
266
276
328
328
293
362
310
341
355
298
258
254
272
211
295
244
235
276
324
191
372
303
296
342
268
336
312
334
412
410
320
326
354
279
244
343
346
326
291
334
351
334
390
318
379
250
318
318
383
260
305
396
281
310
308
311
264
244
271
312
323
322
275
326
279
347
350
334
226
255
290
328
351
333
291
303
300
325
305
248
328
288
267
361
296
296
288
323
343
329
329
271
270
338
299
260
304
289
313
337
261
363
295
301
252
327
273
305
289
311
264
300
343
331
267
239
330
278
364
253
377
234
338
349
271
401
256
322
244
245
326
406
341
295
306
267
274
349
242
303
340
235
362
399
373
378
298
318
308
401
318
345
322
316
366
309
319
352
333
354
256
329
331
310
324
359
303
346
340
350
310
313
347
282
357
349
327
298
298
360
261
342
229
298
309
389
280
308
274
285
239
287
273
320
311
367
323
300
304
314
317
318
292
302
308
365
373
370
350
301
347
265
290
363
240
331
315
335
342
223
239
328
347
283
308
305
294
303
239
299
274
288
382
273
293
293
245
287
345
279
303
323
236
335
296
297
388
308
359
305
334
298
280
288
383
325
380
299
301
253
379
381
379
332
306
336
266
310
284
279
278
284
282
304
350
293
331
420
309
334
264
292
390
335
359
225
339
372
307
325
224
313
301
268
290
314
343
318
347
300
328
369
243
297
368
310
235
351
292
362
371
334
283
286
398
339
289
342
347
427
293
316
318
387
342
362
321
335
294
240
359
281
367
335
307
283
339
355
278
314
318
297
352
256
245
299
334
216
325
185
389
343
315
358
365
285
284
224
365
241
316
281
316
320
327
285
352
344
379
279
293
302
340
348
358
284
349
323
382
324
259
299
247
342
309
309
300
345
347
366
280
394
304
283
236
356
335
311
330
372
316
298
307
340
277
265
304
308
321
283
352
355
354
257
355
435
306
344
352
358
296
272
292
345
342
300
302
292
291
308
321
324
315
290
405
318
273
288
337
317
341
402
312
297
278
403
340
303
283
338
262
334
407
362
267
278
311
310
303
361
349
271
316
292
299
344
264
292
314
364
345
272
301
293
368
267
343
320
306
277
341
260
342
384
322
288
300
276
330
289
365
403
313
367
316
399
359
356
350
313
331
316
271
407
300
359
415
297
296
323
209
255
328
326
325
385
351
298
326
333
379
385
234
347
313
379
297
352
235
254
350
254
336
350
317
363
228
276
264
267
333
325
354
302
342
332
413
291
275
271
234
267
332
342
292
290
382
303
266
322
309
313
315
389
379
279
316
230
355
357
354
389
363
387
255
320
369
305
322
347
301
349
341
314
288
353
319
308
287
312
343
293
283
253
335
339
303
240
245
295
344
342
291
336
238
277
401
359
351
350
241
317
383
340
248
292
386
297
298
326
246
406
318
302
365
301
315
370
335
224
247
315
334
346
273
380
274
322
312
303
342
363
310
322
332
379
363
354
278
293
205
293
404
310
268
275
379
279
319
272
348
250
362
309
361
412
376
391
332
277
325
303
297
286
306
342
331
274
260
305
285
372
329
312
306
360
367
303
299
355
310
264
396
338
301
328
318
367
318
285
325
273
350
287
297
294
291
306
375
266
318
317
328
361
378
313
333
292
309
362
355
351
261
365
323
368
383
348
312
392
321
376
293
272
272
234
377
273
345
375
312
286
339
236
313
216
301
335
307
334
261
326
343
333
326
363
284
322
261
252
305
306
272
372
313
333
340
316
272
335
224
337
346
272
315
221
396
355
293
290
298
328
295
365
328
330
402
253
351
228
254
224
385
270
308
319
363
351
354
352
332
377
301
352
333
305
299
234
339
297
261
238
316
294
309
278
323
286
325
297
286
250
341
331
389
355
259
345
332
330
431
378
300
400
310
293
268
321
309
308
325
347
306
302
259
351
374
311
224
310
285
304
304
319
360
385
352
203
387
320
391
369
333
339
375
302
303
316
296
329
282
304
266
308
367
349
314
331
331
290
274
385
316
341
291
258
228
365
368
313
368
372
259
304
319
234
374
304
338
358
354
293
306
252
294
355
328
330
296
381
369
363
366
381
381
332
274
373
346
262
260
297
322
328
291
282
330
378
347
262
287
353
344
342
232
360
269
238
301
286
341
262
384
346
359
322
326
358
356
274
283
247
285
234
415
303
303
285
333
326
275
309
314
365
312
326
363
334
292
296
319
395
315
280
266
267
335
357
362
244
323
270
341
302
257
278
328
301
272
323
298
364
252
295
301
284
268
360
214
324
351
350
284
273
299
296
344
368
342
355
288
278
255
286
284
348
326
231
273
312
339
295
306
317
167
265
358
373
311
309
320
316
284
353
292
354
271
334
391
347
432
345
357
355
322
308
339
284
335
273
313
326
309
292
347
364
321
307
294
342
347
429
280
291
303
344
299
366
374
350
256
388
303
265
317
309
269
458
336
381
344
338
269
301
340
422
408
242
335
349
342
377
314
255
232
232
365
288
367
317
265
330
262
364
286
370
369
336
314
343
301
369
316
373
366
254
328
363
333
383
323
250
263
351
311
313
276
350
312
277
267
424
327
380
412
312
312
321
336
367
312
310
329
306
341
355
297
307
261
250
265
332
284
207
322
312
310
315
249
243
313
274
354
287
248
285
368
290
342
302
358
375
353
254
353
332
245
276
284
325
332
335
198
380
260
274
335
325
376
304
294
256
355
329
235
305
277
329
330
277
251
275
279
329
318
311
280
324
312
271
283
278
315
280
307
315
241
310
355
325
297
227
358
289
276
419
296
307
305
398
305
292
341
308
351
274
413
269
310
281
331
353
372
384
353
316
283
253
307
368
345
230
370
304
339
276
385
328
319
277
224
293
293
348
293
321
342
334
308
254
340
335
345
290
315
205
247
286
346
301
341
269
288
320
305
363
275
255
400
314
310
313
302
328
338
370
248
268
391
239
298
296
302
361
347
339
305
302
278
368
346
303
330
324
315
303
292
382
345
326
382
333
309
283
329
333
420
308
344
328
376
335
335
273
314
361
334
299
203
292
288
264
337
347
288
371
398
297
253
286
307
264
299
342
331
336
324
303
317
377
349
264
282
321
221
426
290
269
406
271
380
336
322
331
326
297
341
356
325
315
290
341
321
329
331
383
304
320
349
276
352
312
308
224
335
305
346
281
351
344
286
303
317
240
301
261
377
325
328
305
312
272
335
351
255
312
309
278
266
265
299
327
358
298
436
280
346
261
369
451
292
304
208
265
284
369
383
240
331
321
288
356
226
355
311
259
279
360
247
335
355
327
314
268
353
460
316
379
331
344
298
400
313
387
214
277
268
377
278
299
359
300
301
219
341
278
323
334
340
311
297
329
351
238
323
328
335
279
343
323
281
250
392
338
323
328
264
335
306
307
318
228
312
383
376
301
341
262
327
282
332
336
330
310
296
283
279
311
379
350
342
264
396
251
277
346
328
308
391
258
334
302
287
263
355
324
380
265
417
316
312
385
283
355
380
322
235
307
236
209
290
308
289
274
299
274
391
278
273
337
280
333
329
286
274
310
328
384
244
316
262
402
354
338
258
312
316
390
365
310
402
329
314
400
309
278
293
383
323
308
287
319
289
342
321
263
304
332
311
316
215
298
301
208
432
314
297
343
278
253
276
324
307
249
369
318
280
299
264
341
294
326
339
397
298
328
310
319
311
340
306
362
348
271
265
291
369
338
296
269
377
311
269
280
369
270
315
364
306
283
281
347
357
275
340
200
306
318
328
258
341
321
340
305
246
307
355
382
285
342
314
357
289
270
372
368
327
347
298
282
300
310
354
301
265
343
345
303
309
267
331
353
280
327
274
423
328
328
331
312
304
307
316
273
310
283
294
352
289
415
307
309
390
356
272
446
271
352
319
310
284
308
269
301
340
371
366
283
310
316
309
325
406
297
384
256
318
334
291
302
390
241
306
323
303
314
298
267
333
335
257
351
263
344
277
415
271
221
393
310
323
292
267
376
231
413
360
305
210
280
284
277
266
334
331
293
300
324
379
365
343
259
293
366
303
322
274
315
263
312
309
314
348
315
315
390
321
383
297
313
354
319
346
305
260
300
357
292
322
312
325
322
336
382
368
377
335
279
301
341
338
309
349
263
262
337
277
273
280
333
298
351
341
383
283
318
338
273
348
309
391
301
337
291
303
340
386
300
311
342
300
307
309
363
342
305
284
380
214
243
392
303
314
250
303
304
289
357
344
373
310
343
309
270
312
256
344
339
366
318
334
377
357
284
357
241
276
343
337
376
260
264
322
353
241
297
298
319
285
308
253
282
320
269
292
307
334
356
373
365
295
280
343
359
293
246
310
314
346
301
279
384
291
336
347
419
289
279
319
332
252
347
315
279
313
284
279
368
306
327
322
317
300
242
296
370
276
277
342
343
267
340
333
361
230
425
314
293
337
301
291
359
288
314
248
275
352
320
330
260
318
287
259
349
311
274
290
187
331
281
256
304
337
335
258
315
319
338
252
303
283
359
276
280
355
289
387
326
334
319
270
395
388
286
291
338
355
368
318
270
353
314
328
347
254
390
311
395
369
335
277
338
320
330
293
276
317
340
300
345
368
274
200
358
325
331
323
314
374
276
397
256
234
401
348
285
322
316
243
337
294
283
307
280
250
302
274
314
320
327
319
353
316
386
312
356
356
266
335
348
252
394
306
321
261
378
302
243
290
253
350
337
322
277
363
346
330
324
223
337
389
311
364
354
350
278
322
264
338
276
246
365
307
357
281
345
264
304
346
342
309
382
295
295
303
346
326
382
250
372
341
344
296
305
266
321
227
273
345
312
271
275
258
312
262
325
326
411
335
270
291
330
349
321
253
294
399
220
304
273
247
374
263
284
288
256
353
362
209
246
258
361
339
245
340
267
368
325
263
314
304
360
355
340
258
347
336
320
293
285
328
249
325
341
265
369
304
303
380
231
361
391
348
341
247
324
250
398
289
341
356
418
441
355
275
314
359
288
314
243
228
248
327
273
300
275
358
322
344
342
431
181
286
345
335
335
290
346
361
287
353
397
299
341
326
287
338
368
342
340
293
291
355
276
381
299
382
272
282
330
379
257
279
321
317
334
335
331
276
270
275
289
389
356
319
344
305
366
341
263
315
344
324
382
335
310
297
283
297
273
328
259
293
252
255
293
301
314
321
243
285
305
346
353
296
319
291
258
324
316
349
316
305
277
311
303
335
287
260
321
276
273
288
282
385
360
332
287
366
295
282
344
284
297
356
347
236
274
355
395
273
298
304
316
288
294
305
305
339
290
361
372
223
345
329
251
282
263
291
328
314
335
312
363
286
293
363
228
346
332
365
317
353
332
352
335
280
272
379
267
320
266
323
310
273
287
323
303
293
242
284
257
218
318
279
369
285
268
269
328
414
317
374
285
307
386
206
278
337
389
305
338
338
257
254
291
376
315
357
357
216
289
280
348
318
206
312
244
357
324
335
336
339
344
282
354
334
328
290
280
284
333
281
401
299
306
324
335
319
333
360
268
376
297
353
440
354
243
350
324
365
325
311
341
339
295
259
297
408
408
228
330
330
314
267
301
378
307
306
326
290
291
356
282
356
316
354
336
369
296
346
315
244
390
352
360
268
336
394
309
332
310
309
348
248
253
309
305
363
329
332
273
261
261
340
373
418
314
302
301
234
228
310
356
331
290
284
332
285
363
297
289
312
283
396
312
316
273
294
267
288
384
331
359
325
338
310
309
274
295
313
311
368
330
393
297
296
292
316
329
295
332
232
279
328
344
255
278
298
321
362
437
263
327
359
349
355
305
306
346
237
295
282
344
287
263
316
383
318
346
250
271
206
168
388
330
278
355
364
327
359
336
377
301
353
354
266
298
362
333
286
326
331
296
380
386
291
359
314
375
218
301
374
417
329
337
289
250
282
363
394
387
297
357
327
316
383
348
280
342
387
314
333
292
350
314
317
338
248
290
327
279
334
359
300
324
324
381
321
382
402
363
334
323
366
365
250
333
230
299
228
334
269
347
281
301
374
287
297
307
358
350
317
262
309
309
345
308
305
418
353
271
290
288
291
326
275
330
282
276
421
381
231
264
225
314
402
274
352
303
344
345
311
277
361
369
259
314
286
289
310
369
252
298
259
338
321
175
300
321
351
223
321
332
334
305
303
247
348
282
311
329
220
342
273
346
292
281
354
306
324
379
181
257
294
350
314
315
258
349
312
284
348
293
288
245
401
360
274
309
259
292
344
353
343
272
297
328
332
321
288
225
258
391
369
335
241
237
303
356
330
409
367
302
374
344
286
283
293
280
283
322
252
325
361
352
290
340
305
347
312
358
328
248
324
346
347
342
206
267
370
333
316
296
345
304
266
337
295
289
357
257
305
298
291
322
330
409
382
337
362
269
297
354
330
360
334
282
320
365
234
322
282
281
372
334
360
349
252
331
361
236
286
311
356
285
378
303
215
349
301
257
318
256
319
248
270
361
345
328
258
308
209
345
351
346
292
295
339
313
331
319
370
269
360
364
258
285
342
304
418
235
325
261
336
389
327
233
296
361
408
290
300
357
308
327
353
343
249
315
359
304
330
297
266
213
310
369
203
290
376
294
350
313
269
288
290
349
352
387
245
287
310
311
272
265
290
300
336
332
332
346
370
199
312
386
229
343
364
212
362
320
311
334
367
300
236
243
275
342
274
359
310
362
289
313
312
295
272
401
285
323
314
214
369
327
349
222
271
297
307
252
405
346
264
285
274
309
351
324
324
250
330
301
191
313
306
289
365
341
397
271
344
319
359
302
319
265
284
396
360
274
308
347
327
244
255
202
307
309
307
373
263
247
295
226
326
267
335
380
314
271
352
354
305
307
310
261
341
339
367
360
276
315
347
310
318
378
271
295
347
275
290
290
281
313
266
352
372
280
365
316
270
316
301
307
343
302
272
324
359
288
378
324
336
346
279
293
312
321
311
319
353
343
332
317
319
312
285
367
245
204
346
236
349
300
170
354
291
278
225
262
337
263
250
314
299
342
356
331
388
318
283
399
306
236
277
293
279
321
348
394
332
293
309
285
328
381
337
423
249
304
298
172
339
329
282
270
280
378
331
296
347
305
313
449
335
373
294
332
318
312
293
384
360
349
377
379
359
308
286
240
358
319
225
323
331
356
316
362
365
226
217
319
373
270
277
322
334
231
281
229
364
351
288
236
288
378
368
190
271
312
316
319
277
344
336
333
304
317
356
321
335
269
299
345
277
331
366
278
420
316
288
345
340
348
346
285
242
389
297
327
356
309
325
446
268
283
323
288
291
325
323
238
284
333
358
381
384
277
325
335
278
338
344
287
281
357
319
321
343
354
254
294
327
274
239
303
298
421
262
274
347
230
356
242
352
267
229
376
357
387
238
275
378
250
362
285
354
279
250
341
302
356
231
281
356
248
266
271
319
354
341
308
356
318
328
294
279
241
307
299
357
324
241
407
272
397
309
335
318
358
303
315
306
245
263
300
289
267
344
320
289
286
307
318
305
394
377
296
384
339
317
396
268
356
299
312
351
330
252
296
267
345
320
317
294
279
320
233
332
347
315
313
340
347
355
376
273
330
421
262
306
285
222
351
324
297
347
224
284
240
287
363
376
328
358
295
265
345
236
300
311
327
365
407
247
357
276
331
437
350
286
342
201
295
280
325
283
282
253
259
382
286
227
290
298
325
305
325
279
320
321
325
304
396
344
366
379
343
256
251
300
319
207
321
267
289
292
257
357
326
217
330
325
310
330
290
359
283
304
240
296
300
306
248
270
346
374
345
354
348
357
269
299
384
236
298
302
293
269
302
315
161
304
293
338
382
314
399
324
327
254
244
304
282
286
300
241
341
290
319
329
257
235
311
277
387
321
431
280
373
292
337
374
296
264
354
342
311
275
327
234
241
305
250
360
305
362
386
248
258
334
273
252
329
341
269
368
219
327
316
276
363
338
368
361
378
258
392
374
383
316
312
318
349
329
389
315
276
249
341
329
330
277
394
315
250
356
345
300
302
318
296
271
326
299
323
400
230
290
333
317
320
254
290
330
279
307
340
278
342
228
338
294
370
385
370
286
275
233
315
326
341
205
277
328
285
351
376
311
291
285
361
291
324
333
350
230
325
322
421
322
366
296
363
277
319
319
296
304
345
306
253
292
262
333
321
310
315
249
349
309
360
265
319
264
320
389
380
330
296
369
312
316
298
345
325
352
317
239
290
265
343
189
311
391
319
301
322
373
378
346
364
340
292
335
431
246
233
316
347
385
238
364
338
248
356
366
355
319
329
323
337
269
265
277
235
208
313
350
348
339
385
333
297
377
268
200
322
374
373
253
275
326
433
346
277
250
310
325
379
297
257
340
312
360
302
240
364
313
217
317
290
385
308
357
348
268
342
308
320
255
277
333
314
312
238
270
322
283
304
414
173
302
291
337
333
353
400
251
292
231
278
332
323
281
347
306
313
323
332
280
305
351
294
335
393
321
341
367
254
299
361
360
359
348
305
314
331
350
347
284
326
323
377
288
325
350
274
361
297
316
355
252
323
334
311
317
310
388
349
225
333
324
332
288
327
296
313
316
384
351
371
244
322
397
315
324
328
347
358
246
272
280
402
312
285
335
282
283
341
288
301
295
330
343
284
379
276
401
248
299
348
295
392
240
267
353
346
190
328
376
348
329
251
260
249
376
194
299
336
361
279
367
365
326
361
225
371
302
394
337
364
283
287
289
319
284
314
320
325
358
305
276
324
301
319
380
378
253
257
333
378
337
317
322
336
307
300
341
342
339
349
272
409
320
306
318
297
307
201
223
328
324
355
380
261
362
342
392
328
246
275
320
296
320
324
322
275
319
282
235
336
188
291
415
299
308
313
399
374
375
230
358
310
228
266
303
335
288
285
334
375
278
292
285
308
347
332
294
290
234
238
325
387
290
314
367
349
372
259
317
238
309
311
322
263
302
250
260
378
372
233
248
294
324
426
284
236
320
290
338
317
331
248
354
337
312
397
353
290
339
308
305
226
336
270
369
285
345
264
257
337
239
388
335
316
293
397
258
356
278
402
413
254
230
376
333
381
321
312
329
346
261
359
361
307
344
380
425
335
312
380
313
303
283
338
269
334
289
313
282
293
306
406
359
332
293
309
236
388
300
360
317
284
293
297
345
256
274
246
335
354
319
297
305
316
282
320
331
376
267
336
289
313
298
282
307
258
288
340
345
257
339
356
304
274
252
351
251
244
278
250
299
385
369
282
301
316
286
334
353
351
320
324
299
409
333
398
320
417
302
334
288
293
338
289
375
307
369
247
315
431
340
300
304
319
369
296
236
284
379
310
376
360
311
282
388
341
297
305
301
312
304
334
331
322
367
354
331
286
267
269
302
310
269
291
347
296
331
369
364
268
323
330
258
323
361
239
384
334
403
329
351
291
301
302
358
293
270
330
341
266
335
280
314
256
284
276
387
341
369
315
225
300
305
383
334
336
376
321
335
302
327
242
242
339
316
306
363
246
309
324
313
307
266
321
317
312
276
280
335
389
273
231
279
248
237
349
308
285
296
299
274
310
402
349
335
344
246
346
335
333
258
374
298
344
360
204
313
302
312
295
289
343
300
330
264
362
356
267
370
350
311
299
332
370
286
352
359
247
253
281
250
334
359
288
307
282
323
325
283
353
398
316
340
318
295
291
325
308
308
278
347
331
350
235
372
381
255
303
323
419
359
275
315
254
282
278
320
263
365
337
258
302
323
333
339
304
323
405
393
348
418
282
254
300
287
336
419
336
301
305
246
340
300
333
285
291
303
328
303
291
274
312
317
339
385
335
348
342
255
211
325
359
373
284
283
316
315
344
359
319
319
277
314
393
214
322
318
382
349
348
395
312
299
318
406
289
344
360
306
289
335
295
308
251
319
296
387
371
334
337
264
358
309
387
249
330
325
280
369
372
291
382
308
269
302
306
274
284
227
273
266
362
286
206
267
304
329
295
375
356
278
319
334
343
270
355
342
360
252
322
314
310
301
230
352
386
364
306
250
286
348
350
314
262
245
316
269
319
335
355
238
318
292
314
267
312
321
287
325
381
319
287
350
245
345
309
341
351
321
366
281
271
387
350
299
309
377
337
288
297
294
284
313
194
279
312
334
374
395
344
294
328
358
336
194
370
291
262
326
276
282
365
283
335
263
253
305
345
367
319
298
312
341
318
299
350
356
369
301
340
283
222
351
251
355
274
255
284
354
314
324
317
322
341
335
274
263
338
354
306
329
272
283
392
321
375
293
356
312
267
296
272
256
328
344
372
306
266
217
304
393
371
289
292
381
332
278
249
259
245
319
243
245
334
323
328
282
298
311
316
273
264
260
353
286
271
322
273
374
353
288
399
348
366
317
371
318
361
344
305
410
333
257
307
381
278
355
259
313
321
354
294
345
372
313
310
302
423
256
260
320
349
324
309
185
326
331
342
340
367
268
350
273
400
325
320
325
352
239
327
348
345
279
275
408
408
311
281
363
340
314
261
343
354
303
311
237
338
291
305
344
330
379
229
262
286
276
367
289
421
340
320
291
225
310
382
362
358
330
246
332
331
344
298
272
326
308
335
346
319
379
317
330
378
372
291
364
388
386
414
276
283
272
357
280
344
281
286
253
383
258
301
309
326
316
343
382
282
318
260
320
370
365
317
339
300
337
284
332
331
296
260
308
302
318
340
322
260
327
318
350
358
281
377
376
412
345
320
358
262
273
331
327
292
229
337
315
422
345
344
312
371
336
301
319
322
346
281
342
358
297
284
341
404
330
344
262
267
387
296
348
332
247
343
328
257
343
312
320
327
370
373
309
311
322
317
241
369
263
371
344
362
335
324
336
320
289
347
342
420
292
269
365
301
273
326
288
323
361
331
332
258
240
278
380
393
333
319
404
276
300
253
327
354
260
360
307
374
391
317
331
298
308
308
245
335
314
287
274
390
286
342
331
284
279
364
255
346
273
330
339
356
346
322
280
348
308
383
322
323
308
260
273
342
297
366
300
256
315
321
284
292
278
303
240
279
344
281
352
311
323
332
345
295
249
255
347
340
284
381
319
379
401
336
284
381
272
398
242
222
272
293
290
363
341
283
210
365
249
311
312
301
338
330
280
285
297
262
337
367
318
260
267
242
367
272
314
328
377
279
389
351
354
310
342
312
241
325
239
269
331
242
312
330
345
309
256
329
284
380
281
325
373
271
227
238
296
276
301
273
325
310
278
357
271
378
262
320
374
307
387
247
381
312
363
316
358
285
388
366
366
322
341
322
295
370
303
312
351
310
276
317
261
406
289
255
326
240
421
328
330
273
304
333
275
333
351
339
310
343
288
277
325
330
339
322
341
270
299
413
352
275
284
309
327
398
340
319
324
354
392
262
267
353
299
388
305
347
298
284
277
335
329
296
272
294
340
316
354
316
284
320
442
272
302
278
309
331
177
332
402
326
248
254
351
377
352
261
304
356
282
315
344
344
354
303
316
303
296
270
301
355
232
228
334
344
295
337
319
375
266
390
308
283
301
326
299
411
266
257
337
351
359
339
308
247
299
215
241
258
362
276
355
303
372
345
297
287
357
400
347
376
322
344
337
210
362
415
300
299
271
385
340
340
353
264
345
323
325
372
304
303
196
390
365
275
334
357
326
319
340
282
265
322
342
294
302
321
312
369
323
343
324
362
325
385
319
300
297
327
258
333
279
337
366
288
245
296
315
291
352
338
357
272
386
240
300
337
351
314
411
401
356
296
298
326
297
315
312
327
204
385
298
338
281
281
226
251
304
252
289
365
317
283
259
365
265
236
269
295
385
231
249
315
220
302
351
290
304
365
309
253
339
265
342
232
331
335
244
348
345
363
322
174
325
273
346
330
327
421
339
352
329
285
286
298
315
284
276
262
289
356
268
255
298
325
338
321
376
252
278
302
323
297
261
352
293
361
276
383
272
281
348
324
320
349
311
400
320
301
315
335
395
348
288
360
349
304
303
338
353
322
246
328
314
423
287
321
313
228
338
345
291
340
334
284
353
274
285
315
292
342
259
311
261
306
331
380
302
386
211
366
301
347
367
335
297
339
421
286
372
320
314
245
328
321
378
349
263
270
323
348
289
320
341
340
251
388
286
322
374
372
275
260
301
340
414
370
276
265
278
305
285
232
311
281
403
393
315
300
245
394
357
354
369
300
285
372
250
344
307
242
347
264
287
257
282
346
284
327
269
293
322
269
267
268
289
308
344
311
348
337
389
288
215
297
358
330
337
342
338
327
330
366
377
331
352
427
310
308
325
341
328
355
286
362
315
247
281
260
355
356
242
292
297
341
297
394
240
337
255
325
229
309
339
310
299
335
386
254
303
284
325
350
343
341
366
276
348
312
320
258
278
314
289
335
257
371
324
301
322
301
318
214
366
326
306
282
403
409
275
331
328
302
334
310
298
348
221
247
257
298
374
317
352
313
322
250
291
216
337
332
317
302
355
272
325
168
296
228
269
333
286
369
285
269
376
320
349
272
300
322
314
347
356
360
290
244
299
310
360
250
331
306
281
209
294
335
336
283
342
271
253
300
348
379
288
313
311
296
282
307
315
325
229
291
307
348
308
289
333
312
301
402
242
367
242
266
301
270
284
214
350
341
315
310
311
232
233
271
334
275
205
272
300
335
290
308
308
267
293
324
276
325
355
305
396
341
228
249
341
268
336
304
227
339
364
290
352
362
258
305
356
209
328
409
415
332
315
253
340
253
339
354
363
339
358
322
359
249
303
229
328
284
313
319
365
334
283
355
280
370
306
215
240
325
279
246
329
370
315
366
319
326
330
375
349
303
310
263
338
329
312
304
287
336
311
314
305
254
296
255
183
378
371
250
287
199
310
228
327
322
422
290
362
284
369
258
343
308
226
230
308
324
269
249
344
269
318
326
348
292
345
349
285
268
316
316
359
410
341
302
273
294
276
265
259
382
223
308
196
355
305
323
290
325
265
300
320
402
331
307
365
323
217
369
303
279
281
407
381
339
350
328
263
366
296
338
281
219
326
297
311
400
329
339
298
333
318
290
262
255
297
245
380
320
377
370
315
349
230
275
337
289
397
419
292
341
275
283
357
359
318
305
297
274
325
309
295
359
317
377
232
309
327
329
312
379
338
336
278
302
331
273
331
379
269
328
382
361
219
297
330
327
331
385
300
331
298
335
311
337
316
350
381
366
323
336
357
264
373
287
287
271
366
396
304
303
329
310
407
365
371
330
389
243
261
268
283
301
315
293
344
286
330
348
299
411
293
341
361
333
344
239
292
320
339
323
394
299
265
271
343
348
344
341
345
178
283
305
280
349
291
290
381
374
306
398
316
343
249
322
306
340
338
324
321
334
328
260
289
348
348
304
344
291
293
410
345
307
281
334
215
278
279
279
295
283
320
335
324
391
419
322
317
319
346
284
258
327
296
315
326
311
344
289
255
219
266
320
347
359
345
293
309
255
372
323
304
329
355
359
341
296
308
242
257
292
330
340
362
296
276
328
272
300
255
347
320
339
167
273
296
261
271
370
291
236
261
303
368
296
317
342
323
299
279
295
228
273
381
315
297
344
348
266
331
398
334
341
290
377
291
291
355
253
350
289
280
267
235
345
292
381
336
316
268
293
342
318
394
335
356
305
296
297
268
303
250
219
238
360
307
261
333
374
346
388
314
314
335
306
395
343
341
351
245
338
346
294
356
298
320
335
271
351
358
307
297
306
273
361
415
362
313
364
328
366
269
238
276
299
407
308
345
285
392
267
361
360
365
349
416
289
302
284
235
250
377
321
274
397
378
301
311
314
379
246
253
274
353
355
291
324
298
359
304
388
340
274
311
317
367
227
356
280
321
225
361
315
363
367
323
320
296
391
321
364
367
342
364
300
375
331
307
283
254
278
305
295
319
240
326
319
311
333
324
277
376
300
359
292
302
323
280
378
289
275
288
324
353
361
311
222
303
271
360
288
261
219
280
301
294
277
309
260
400
358
414
323
244
291
322
284
293
246
275
318
310
279
289
249
326
290
312
309
396
340
347
350
305
273
327
204
296
293
282
348
293
349
222
284
259
350
356
308
298
285
347
329
361
261
293
346
367
334
290
332
294
298
329
225
364
318
379
301
339
246
355
285
361
322
271
273
254
312
284
301
307
351
391
220
285
263
346
342
344
401
322
358
371
278
364
264
373
258
255
330
387
314
311
367
269
374
313
300
278
301
382
317
240
356
324
330
304
288
361
239
296
375
371
304
214
315
330
333
358
309
292
236
311
327
370
313
353
283
264
314
336
361
243
361
347
321
382
363
341
246
289
284
293
320
332
271
309
243
219
284
347
398
317
314
303
295
355
233
343
346
335
295
407
342
324
434
266
293
322
280
370
354
352
331
338
307
338
273
347
356
294
366
286
347
277
296
352
302
277
306
348
359
320
274
315
270
396
299
310
313
329
391
343
313
231
339
333
355
378
290
390
298
314
304
376
253
301
299
370
340
246
309
325
290
336
238
354
278
242
267
263
297
343
332
343
372
346
227
231
316
236
302
298
305
270
321
396
360
272
385
366
359
241
316
346
257
341
239
243
364
281
277
270
285
294
370
239
371
315
345
397
333
306
376
352
231
301
333
267
328
278
350
347
258
304
400
345
289
262
296
364
288
348
274
295
252
371
328
294
389
348
296
207
293
353
343
290
273
371
335
331
347
325
355
296
358
166
360
363
351
322
313
340
372
205
374
330
367
244
354
227
377
308
301
284
311
388
265
279
273
296
365
276
360
307
268
336
354
315
288
286
306
352
323
347
295
279
373
342
363
353
335
334
303
328
288
341
322
337
338
391
313
314
287
307
356
343
288
298
158
324
295
368
286
349
304
285
353
300
303
259
293
287
281
312
359
319
313
308
390
230
312
267
344
272
370
275
300
270
342
287
343
254
361
299
329
288
359
267
382
304
374
298
325
358
259
353
318
298
352
378
279
392
281
274
373
275
297
371
319
358
301
399
314
329
261
326
324
392
266
264
224
355
285
301
281
303
281
306
284
321
316
282
287
271
359
228
321
340
307
420
337
347
273
284
281
282
360
318
427
321
313
273
303
270
246
338
268
288
303
245
307
306
396
258
316
311
336
251
303
327
284
282
352
221
193
376
306
338
319
264
297
326
295
293
297
255
310
399
354
309
335
318
385
250
355
310
330
357
313
215
260
294
243
328
353
345
302
318
329
308
271
322
323
333
246
334
316
277
234
287
263
335
282
317
267
298
363
297
319
320
278
285
271
355
326
228
287
311
292
401
313
362
323
304
317
277
362
306
343
279
373
251
280
342
344
328
346
303
371
341
302
317
317
343
283
397
232
340
296
262
434
277
291
358
315
332
330
284
303
258
280
332
246
359
310
355
272
292
279
320
296
367
308
309
343
284
327
314
339
338
334
224
300
366
278
351
353
259
321
259
355
254
282
319
313
348
297
292
402
287
348
280
347
375
351
316
333
263
280
350
319
216
275
368
298
328
298
332
360
309
329
370
334
246
210
285
261
291
219
390
309
204
343
332
249
298
320
294
356
224
312
293
250
341
256
270
241
205
268
376
293
280
276
273
328
382
358
246
214
277
272
354
281
293
312
359
321
385
308
327
375
361
328
354
356
379
217
317
298
273
316
373
410
341
248
342
337
293
366
316
391
346
269
351
336
247
347
324
157
374
301
330
359
303
372
205
350
287
246
396
238
350
307
345
263
364
285
309
382
359
273
328
275
332
278
361
307
328
343
296
339
281
382
380
264
303
394
311
280
358
289
342
340
310
299
325
276
321
273
209
263
268
280
275
356
368
321
350
292
335
267
256
266
307
338
372
404
323
354
306
310
275
295
338
337
345
346
271
357
302
264
293
347
353
400
337
337
290
321
275
279
318
375
295
384
348
343
333
344
360
309
355
368
308
349
233
351
363
348
416
314
284
233
348
296
275
286
326
330
298
386
347
302
394
280
298
374
319
325
267
344
389
381
234
313
341
360
335
215
372
316
281
279
249
257
332
387
321
292
324
315
269
323
377
329
260
311
286
320
303
360
312
272
391
211
335
279
333
273
260
244
303
332
272
327
254
274
358
280
256
217
225
325
350
378
273
302
353
284
325
264
318
333
295
353
278
311
369
299
279
321
356
335
295
306
349
320
299
301
271
295
311
269
329
335
363
221
334
299
318
296
270
385
385
389
368
378
397
343
288
261
286
316
285
366
304
294
337
305
354
336
315
290
313
320
335
284
276
306
356
266
370
388
350
324
249
304
213
227
308
300
274
387
232
310
376
288
314
376
364
259
412
313
361
329
263
314
307
310
347
356
336
289
319
362
339
351
364
289
250
335
278
270
219
338
284
311
311
316
320
288
339
330
324
325
256
316
398
348
310
269
276
392
233
374
228
331
355
287
302
362
353
337
382
359
325
367
311
291
261
324
324
249
353
333
260
354
340
368
371
220
314
300
275
250
313
367
335
327
348
322
312
290
198
312
342
367
238
343
262
287
224
364
254
303
310
349
310
362
318
390
329
324
277
322
264
165
414
274
322
255
320
332
380
325
324
351
319
313
286
279
306
358
352
311
339
283
285
324
293
300
202
300
361
326
275
352
334
301
353
376
373
313
327
238
364
349
334
277
329
339
366
278
345
311
371
316
358
306
323
323
339
326
239
250
371
279
333
331
363
252
317
302
267
346
327
278
323
348
266
320
415
279
305
326
178
243
253
268
379
242
313
227
344
290
252
320
265
281
267
353
300
356
265
390
376
325
280
345
275
275
239
303
352
311
352
242
381
298
339
300
274
323
315
339
286
254
248
284
281
326
270
315
349
307
290
314
350
328
327
311
319
292
334
421
361
272
348
271
249
320
296
304
342
356
357
311
294
264
377
242
366
294
371
282
318
386
273
294
343
316
389
302
336
317
277
289
314
372
241
394
291
292
315
255
267
307
350
290
390
392
238
357
346
262
387
306
345
306
325
347
397
251
303
375
239
377
363
317
311
347
242
360
382
345
279
256
354
313
222
361
310
268
309
331
333
272
294
287
282
292
277
330
323
269
308
241
319
405
223
205
324
357
292
350
365
307
281
428
386
291
314
279
337
379
345
386
241
349
317
258
320
357
350
300
347
405
278
397
231
289
357
340
242
330
257
253
250
281
279
222
339
173
293
351
219
328
278
269
312
298
338
300
296
416
248
281
339
321
375
329
352
356
303
357
322
281
331
354
355
297
307
303
376
327
362
358
375
332
330
331
342
309
287
263
248
305
323
288
267
291
239
351
314
365
328
364
291
375
284
345
361
340
227
409
318
371
303
268
262
333
368
372
416
325
242
364
282
327
302
286
246
373
391
330
283
285
338
278
353
337
297
274
355
300
346
408
257
371
357
323
320
339
358
256
311
373
309
296
316
303
285
311
309
334
305
273
334
353
382
303
353
275
285
366
302
341
313
326
345
318
284
303
316
269
303
337
280
341
237
274
287
351
367
308
352
318
322
387
284
265
279
285
326
383
278
324
377
307
343
410
273
368
332
328
273
311
367
254
283
299
287
334
251
322
340
366
207
263
281
329
325
261
327
296
259
301
305
267
387
338
306
322
362
306
272
301
352
274
355
333
276
259
397
334
291
357
353
376
334
278
324
340
302
321
294
333
377
351
261
280
238
311
247
317
337
355
257
313
263
301
228
344
272
289
312
307
341
217
337
332
360
307
257
285
319
282
371
386
287
324
334
391
287
333
252
259
316
355
339
285
344
310
310
325
342
419
373
393
292
421
195
339
322
366
302
343
302
249
271
292
294
277
356
327
407
358
288
339
314
307
305
414
285
224
351
219
307
212
369
324
308
286
295
305
333
375
280
370
361
274
341
318
298
373
275
398
283
418
311
261
363
291
355
307
313
262
368
353
338
393
375
335
356
373
307
267
386
368
321
347
313
347
221
336
358
309
275
290
360
251
239
218
293
366
266
319
322
346
324
230
313
310
297
341
381
333
339
371
297
307
265
264
350
306
279
295
345
353
302
314
390
228
300
286
286
305
346
287
278
254
259
326
327
333
309
326
311
262
259
319
341
313
329
345
319
370
332
338
348
357
305
340
289
296
286
268
302
300
286
324
294
364
268
334
352
326
335
231
420
229
291
268
362
323
304
259
287
368
369
265
381
314
298
257
362
342
290
334
256
271
323
314
334
395
310
304
372
194
350
336
299
270
299
329
373
337
317
229
309
244
368
300
396
325
198
386
333
408
305
331
334
303
254
341
301
292
324
331
351
311
356
437
358
310
310
278
366
315
293
340
257
325
290
367
347
290
320
310
297
278
382
321
298
327
274
311
363
334
283
287
317
258
349
373
292
246
320
292
265
322
317
292
315
309
296
325
331
305
260
299
394
304
302
253
321
281
382
321
311
311
267
310
200
281
315
401
283
378
278
298
390
291
342
331
357
366
345
388
400
324
307
338
284
347
333
320
312
335
353
347
388
354
378
279
376
272
282
281
298
413
396
284
315
294
311
320
302
337
310
298
339
366
307
308
249
320
317
377
304
328
267
296
356
280
347
300
344
294
309
281
324
403
324
293
268
293
406
366
344
294
255
387
303
329
293
334
352
357
321
369
278
325
337
310
244
305
345
318
345
376
314
314
221
235
252
277
303
283
288
319
362
373
304
347
390
225
338
386
308
334
310
230
334
239
317
367
331
198
216
351
302
326
309
303
284
273
229
377
275
272
330
270
306
391
280
349
300
327
376
343
212
291
305
377
212
321
244
221
287
269
323
276
296
282
358
352
248
308
305
383
290
239
352
343
304
361
360
376
296
308
268
313
314
291
397
348
292
307
294
273
374
307
253
343
369
299
362
319
386
333
340
291
294
315
320
338
351
242
294
281
359
394
296
284
288
351
315
318
346
395
298
340
262
289
315
395
382
285
243
370
338
387
312
212
362
309
254
362
328
325
283
300
243
316
306
253
339
341
279
367
350
354
349
329
284
386
262
301
323
359
277
254
351
273
299
311
317
306
314
318
252
303
344
341
340
374
308
335
380
356
294
323
392
448
368
370
306
294
364
301
402
368
276
322
288
313
306
398
238
317
278
236
370
289
328
322
391
334
252
329
230
330
306
357
287
276
291
279
268
364
282
275
396
418
323
388
326
261
361
312
301
375
329
342
311
433
330
268
262
247
284
258
300
415
269
350
299
274
331
302
332
308
294
287
319
346
325
346
389
309
285
310
323
315
472
305
290
433
333
269
305
394
327
374
297
374
324
333
250
249
380
239
339
343
261
278
419
292
333
359
400
387
268
258
281
386
349
296
368
342
340
329
356
337
298
266
255
355
203
323
366
316
314
310
356
375
315
288
286
294
312
275
310
294
288
316
316
273
295
365
268
369
345
279
370
256
323
330
327
360
332
330
337
378
357
354
294
316
301
382
335
309
413
276
288
251
391
296
356
285
336
320
354
403
317
318
360
301
285
418
355
381
224
342
274
279
289
353
299
316
291
317
335
286
397
350
330
317
328
315
364
353
256
254
277
307
337
329
313
303
297
247
315
277
268
274
294
180
365
279
262
325
388
343
260
327
261
307
265
313
250
266
306
311
300
303
264
281
372
384
323
381
409
256
351
368
246
310
281
337
307
328
278
270
307
265
357
308
338
301
381
365
361
277
312
390
404
363
299
280
278
297
322
282
315
432
314
355
344
299
302
359
329
301
256
306
244
260
434
436
363
285
253
304
302
281
338
303
361
368
346
324
274
337
279
360
261
267
254
294
330
343
154
284
315
287
341
301
351
323
283
306
300
316
361
336
312
298
272
341
334
314
334
367
341
225
347
198
363
375
305
352
333
321
297
273
341
262
375
321
379
257
325
252
295
315
292
396
342
276
271
294
310
326
240
287
379
253
347
213
239
294
363
257
277
230
275
290
354
296
322
299
296
280
245
368
302
274
290
207
360
307
391
336
204
228
280
267
257
246
352
258
326
279
292
382
285
337
325
282
400
281
404
277
355
320
448
358
290
296
369
325
330
268
341
355
244
289
310
299
299
326
360
287
343
380
367
291
277
251
217
303
266
326
316
319
343
321
306
325
345
306
391
394
323
291
199
366
311
308
345
304
306
262
305
285
351
327
310
234
408
340
212
303
357
289
326
295
275
321
327
328
292
316
311
288
268
347
265
332
243
314
391
344
325
296
320
358
332
324
305
344
273
302
396
321
237
341
320
347
422
355
286
255
279
347
308
263
258
294
384
279
253
216
271
324
350
314
309
356
336
393
303
414
385
283
231
305
340
300
230
362
222
285
293
300
396
284
320
313
325
260
310
256
332
351
286
368
237
317
291
356
340
320
316
225
311
361
329
382
355
268
308
339
322
362
270
392
333
309
311
343
309
344
272
306
315
321
389
267
335
280
356
213
278
214
279
359
344
291
393
308
292
304
296
226
334
308
287
202
280
368
307
266
397
343
345
296
275
300
378
348
261
337
317
347
330
244
326
307
341
336
377
287
259
291
295
339
264
315
258
316
275
396
240
275
351
279
371
278
268
336
298
338
333
304
318
323
294
225
336
240
340
269
228
282
295
312
344
376
351
405
345
345
291
358
292
317
305
340
234
321
367
340
253
242
383
278
329
295
268
287
280
308
311
379
376
368
326
334
385
370
342
285
346
295
373
320
346
363
278
309
319
336
264
326
366
334
281
348
248
308
299
174
355
280
333
349
360
314
395
389
363
325
353
361
325
388
286
329
251
334
287
353
312
263
366
281
312
336
327
308
348
363
351
342
296
292
275
335
317
269
409
297
317
347
300
275
267
269
305
251
277
381
264
225
345
332
318
421
293
202
252
364
320
244
332
233
303
349
407
262
335
324
463
273
348
291
360
366
334
297
312
282
350
295
415
328
241
268
278
361
296
289
348
291
294
338
261
343
338
302
377
334
376
279
304
343
368
358
312
276
325
245
318
343
291
277
345
363
374
293
285
300
338
265
257
296
253
240
328
356
358
243
287
367
389
354
314
284
351
367
348
359
297
332
242
251
287
284
268
224
394
358
258
337
271
360
354
320
309
307
279
271
278
271
277
332
354
346
363
315
345
324
346
297
325
401
307
331
303
297
412
332
334
280
362
334
335
289
353
313
304
422
289
331
259
302
246
364
277
286
319
306
326
248
252
320
355
298
413
337
323
242
346
392
406
353
350
319
298
356
330
341
299
317
253
317
313
316
293
291
334
244
356
326
298
315
286
368
372
359
357
435
407
371
280
261
297
362
364
374
237
289
357
286
353
324
323
329
326
369
375
338
322
306
241
205
395
350
306
259
374
281
305
268
399
260
354
238
285
358
306
377
379
349
292
335
286
265
444
317
317
338
316
320
321
282
288
287
276
295
335
306
341
394
347
238
288
244
240
247
308
362
314
257
305
430
296
337
302
345
318
339
314
268
372
294
312
366
332
281
292
350
264
334
275
352
299
293
282
311
260
317
310
262
326
316
358
311
371
293
433
332
393
290
371
318
278
255
385
363
365
276
346
407
323
338
361
249
204
302
338
334
372
345
400
308
337
288
331
401
276
266
322
295
330
310
314
272
315
328
319
290
263
314
400
307
313
323
278
353
294
320
213
305
286
316
322
291
276
335
322
255
281
359
285
316
306
379
327
334
263
331
255
240
330
311
320
280
292
335
276
414
274
195
353
301
331
293
271
352
299
319
305
317
267
286
312
302
330
215
387
316
307
274
385
324
306
272
337
352
342
339
264
346
355
378
327
277
404
326
414
267
282
264
292
202
300
306
351
309
311
211
316
322
268
383
374
318
262
282
331
278
351
343
294
404
384
361
335
377
237
282
286
290
372
276
358
327
328
329
224
351
319
328
358
296
231
392
346
305
323
307
414
353
305
326
367
310
323
310
315
259
316
268
276
325
287
351
273
312
374
265
309
333
291
323
277
336
282
384
285
254
428
385
312
320
320
325
360
283
319
255
358
325
303
240
230
368
291
185
324
314
369
342
390
349
297
341
320
369
255
294
231
341
306
336
302
305
333
328
361
332
292
262
267
316
339
349
316
258
332
390
294
323
340
233
299
316
306
286
364
275
327
364
302
336
311
270
365
360
211
261
230
321
313
334
368
285
284
360
304
282
311
313
289
308
256
321
339
337
255
216
283
283
357
363
314
355
270
336
274
404
312
334
275
341
311
309
278
263
295
274
365
368
319
308
301
273
384
215
333
335
248
323
419
265
348
214
271
379
331
303
343
351
385
271
335
377
358
328
326
304
351
318
384
268
314
266
234
245
328
291
300
344
269
251
288
272
346
278
253
290
276
297
307
366
326
324
315
299
358
357
300
319
305
312
307
363
359
209
257
383
374
298
247
321
352
318
265
341
299
295
321
359
332
349
249
247
221
261
316
260
247
308
308
327
288
269
289
340
248
347
316
311
277
299
398
344
332
284
320
316
337
350
371
445
253
264
365
367
385
255
351
262
367
306
332
281
258
267
346
330
271
339
248
354
305
326
370
371
298
343
382
374
332
356
408
401
302
313
365
359
300
324
286
353
353
326
386
376
298
381
263
325
316
291
249
356
307
308
306
290
274
242
330
419
261
278
361
266
373
278
340
343
248
292
344
291
390
318
318
431
342
393
338
257
285
404
291
291
200
307
310
403
368
317
239
342
380
285
325
254
396
303
319
256
225
252
347
371
371
363
368
264
340
297
325
372
277
290
267
293
353
297
285
310
350
332
316
311
308
363
321
254
341
298
297
359
286
280
317
309
372
259
225
320
308
163
329
324
349
239
326
315
311
365
266
364
235
339
375
372
313
313
263
281
375
348
318
293
257
306
289
323
280
363
309
317
276
364
261
297
363
345
365
355
190
246
353
282
353
326
247
322
335
332
325
303
343
261
353
254
224
292
253
366
369
347
311
283
249
290
271
327
334
328
318
315
292
349
327
355
282
301
345
331
350
387
377
379
285
305
345
288
337
254
273
225
289
343
299
303
315
335
277
203
358
302
376
303
314
275
211
230
212
287
285
273
274
360
385
337
351
414
367
246
277
264
288
269
238
290
299
202
302
376
259
346
298
324
338
319
369
315
330
315
342
300
324
309
393
260
279
349
330
352
309
352
238
332
310
332
398
295
286
353
236
248
353
345
357
364
268
268
360
350
283
299
338
285
303
311
353
346
349
290
307
273
287
311
314
373
314
314
288
322
376
317
376
322
315
348
381
280
266
355
312
353
272
385
306
340
314
351
322
282
330
236
307
275
356
204
319
344
295
315
322
236
348
279
360
340
332
358
348
310
345
368
284
320
279
310
357
292
327
315
272
352
319
304
363
320
287
340
332
313
312
277
335
294
359
277
411
315
267
227
287
390
356
248
335
299
260
264
260
334
329
273
377
363
366
296
300
272
276
301
310
338
390
298
238
341
279
368
319
442
301
238
240
302
348
406
352
289
336
376
324
314
340
300
272
312
326
292
363
317
309
322
298
326
340
381
314
332
260
348
320
319
377
310
315
390
341
356
333
302
338
295
296
371
339
352
361
301
362
297
346
328
292
338
349
295
304
268
252
286
281
434
313
283
336
307
337
299
365
282
329
326
256
286
351
299
345
330
262
386
305
301
355
279
306
359
294
310
279
321
235
270
334
233
315
318
315
366
301
248
367
304
336
352
234
303
307
282
336
375
361
309
256
249
322
412
336
313
301
255
282
329
319
299
228
296
323
272
382
360
315
322
268
337
374
271
262
337
332
299
355
377
305
330
354
380
353
304
364
341
265
306
326
338
277
298
232
317
371
248
340
293
274
275
330
283
322
297
310
274
294
377
295
336
230
289
348
283
240
310
292
379
238
287
295
327
287
238
317
328
370
369
293
289
350
221
353
201
342
323
305
225
293
322
385
306
358
357
253
326
374
319
285
294
347
238
288
279
338
283
270
268
264
323
330
264
429
313
410
312
298
386
284
345
338
355
244
299
278
299
272
358
372
361
240
322
371
275
287
298
300
370
326
248
300
383
323
383
362
260
313
289
276
248
248
336
237
287
284
258
320
285
281
320
305
287
356
296
347
337
292
321
326
366
281
305
350
274
320
274
326
352
363
315
366
342
268
341
257
222
335
412
268
344
344
310
306
361
302
305
308
345
285
318
307
311
403
330
345
234
335
284
364
381
356
320
324
297
362
388
345
306
275
344
290
348
367
332
351
278
281
278
267
304
288
288
257
303
213
295
248
261
286
397
259
389
336
247
302
351
350
302
279
324
352
287
336
293
300
296
359
287
232
384
361
294
278
312
283
300
352
276
301
384
351
314
296
342
365
408
289
297
220
341
336
368
289
263
225
346
315
292
273
313
312
266
313
376
378
366
362
290
395
350
307
256
349
377
296
366
341
341
320
277
290
262
320
233
343
329
297
423
350
303
273
305
279
238
216
270
399
328
246
346
344
321
389
378
388
333
347
348
269
352
303
386
286
285
264
259
373
317
350
380
316
263
319
266
314
312
384
351
301
322
278
250
346
315
234
291
320
286
318
273
220
277
370
278
263
328
412
339
310
358
301
322
304
314
325
361
246
293
348
347
316
348
347
305
238
330
310
308
293
403
207
347
265
269
329
267
298
290
342
355
315
328
363
363
324
425
279
332
268
270
274
338
307
329
270
261
228
322
362
268
321
308
289
310
294
355
273
349
361
170
343
339
251
364
275
223
330
310
323
299
282
253
281
294
306
270
252
299
360
306
298
370
238
384
338
353
362
368
334
345
226
269
304
315
322
271
325
305
391
354
350
415
287
418
245
322
300
354
384
332
376
261
300
361
203
336
309
211
398
278
343
350
330
269
259
294
413
398
348
231
204
381
351
293
329
289
260
341
247
300
342
243
355
318
382
355
299
262
445
291
388
248
308
319
358
290
370
214
198
353
320
342
270
322
331
304
274
311
291
251
310
372
380
340
347
307
359
323
313
324
259
249
367
280
335
279
303
301
305
356
323
241
317
324
339
279
350
343
334
345
385
264
302
333
341
338
368
345
316
363
403
367
283
206
295
281
271
257
340
304
422
220
323
337
232
261
339
309
389
339
319
304
259
278
314
292
306
451
331
282
349
283
295
346
336
215
369
285
322
245
276
377
250
209
305
344
287
295
369
288
391
367
305
342
323
320
315
319
282
333
316
262
333
267
322
317
301
335
260
350
319
380
357
309
290
231
306
379
319
363
348
309
327
410
333
264
279
350
347
356
224
280
246
334
257
369
334
373
302
301
398
359
312
285
332
309
373
300
326
367
294
327
292
358
280
262
251
328
381
344
273
310
360
317
316
343
333
327
304
266
348
338
341
241
296
248
340
341
257
380
252
201
422
261
355
304
238
400
261
251
310
349
349
311
275
315
337
351
273
278
297
287
292
336
280
298
282
350
348
318
274
371
316
342
275
242
267
237
377
324
319
374
270
243
278
284
321
244
342
333
358
428
346
245
255
298
298
422
389
388
354
258
263
332
364
257
327
324
408
371
312
375
355
259
264
334
342
286
384
297
364
327
344
296
352
294
349
183
347
294
374
256
295
282
332
301
378
301
303
342
295
434
296
310
283
327
370
247
262
412
387
361
355
384
291
290
226
295
279
236
375
255
238
309
338
331
338
278
311
273
288
352
300
285
263
296
323
355
276
330
341
245
201
316
435
295
370
361
322
310
291
261
308
329
332
265
292
285
380
247
309
288
306
258
249
262
258
337
271
364
322
353
229
354
287
314
342
323
323
340
180
278
295
361
238
280
248
292
368
323
358
376
360
385
318
321
336
299
226
344
199
247
323
314
255
396
275
328
288
267
282
355
281
316
242
332
296
313
318
298
382
352
346
367
336
274
411
340
251
343
366
332
324
402
275
336
325
391
244
306
387
335
319
258
350
383
367
275
270
283
285
292
325
326
295
292
388
352
316
277
398
336
261
437
319
349
264
342
314
298
368
249
299
305
272
311
322
399
300
237
247
268
269
295
282
431
311
282
267
311
338
407
378
290
290
285
266
274
330
257
305
321
318
384
314
368
291
275
321
347
249
253
341
260
291
323
384
235
300
347
315
317
251
373
353
348
265
333
228
321
261
287
247
360
392
365
333
369
240
321
365
307
290
373
290
328
307
258
242
337
380
304
222
210
304
257
320
345
311
386
282
321
363
342
354
397
273
349
308
280
341
361
323
407
266
364
243
282
278
344
281
352
332
312
342
314
371
246
290
228
376
313
288
283
312
309
343
308
373
294
364
357
301
327
279
313
278
231
291
236
345
381
296
323
328
330
302
276
326
365
325
277
276
325
287
341
251
291
325
266
284
270
316
333
315
282
316
249
369
385
315
241
234
349
366
265
308
356
347
304
301
316
326
259
276
261
251
279
364
300
257
329
264
289
331
248
322
361
378
351
321
363
288
295
299
385
308
321
404
300
347
329
260
319
263
311
255
291
263
400
419
362
326
343
312
380
267
307
305
344
347
322
315
324
354
316
296
307
335
317
290
291
346
265
288
310
290
280
250
324
378
312
398
280
287
208
393
349
257
373
349
340
297
339
278
360
324
345
354
287
322
308
268
297
311
342
368
328
317
326
362
286
362
387
335
302
344
287
322
320
341
340
297
370
355
380
338
331
297
250
239
257
291
362
258
328
302
368
325
325
260
403
353
343
310
316
328
333
245
271
294
345
394
335
305
338
317
288
257
305
391
301
355
280
260
332
394
295
328
314
191
320
366
283
281
324
237
319
331
300
361
343
329
323
259
281
331
279
293
337
276
296
271
397
264
352
301
297
340
254
336
279
355
332
351
333
350
339
369
256
276
343
325
289
276
304
353
299
259
278
321
331
321
329
379
304
303
285
405
270
324
298
344
318
332
327
311
302
395
333
305
283
336
245
282
349
333
251
300
319
404
347
288
401
325
313
367
338
389
321
310
279
291
186
383
260
320
321
360
287
309
337
331
342
268
338
411
347
391
334
267
217
237
258
326
292
240
370
304
289
290
330
320
280
290
336
363
302
348
371
324
318
304
309
323
403
412
297
349
322
290
350
203
210
284
202
324
341
341
326
345
375
302
289
319
326
288
272
268
340
329
366
355
361
326
310
268
312
313
331
224
307
335
325
262
307
308
257
362
355
268
283
322
319
297
284
360
268
373
394
303
364
407
387
284
332
360
304
367
250
343
290
387
347
259
250
283
401
234
347
372
375
356
362
288
328
387
328
318
271
282
285
316
299
305
347
346
378
358
324
243
248
302
374
315
281
271
365
233
252
352
354
348
279
352
340
328
340
392
278
333
289
298
358
351
359
351
406
317
338
353
361
293
319
234
340
382
354
301
254
416
338
343
329
337
330
359
211
318
261
420
259
283
423
295
300
332
322
335
290
267
418
369
339
343
419
419
371
245
373
288
228
285
290
353
269
274
304
341
343
343
297
272
254
373
332
290
321
226
258
281
277
339
332
365
371
304
320
277
377
304
336
398
307
301
386
237
278
285
394
334
274
279
392
314
355
312
270
310
355
253
306
316
213
272
270
400
330
286
394
264
353
298
347
357
323
333
302
304
271
412
317
260
278
273
358
348
356
315
331
340
284
324
320
310
311
237
252
308
333
278
332
339
338
316
325
377
308
287
310
301
418
332
293
223
273
316
372
257
356
316
285
323
353
339
346
267
307
389
352
274
397
316
288
317
348
337
343
400
341
306
370
334
377
298
322
336
374
317
380
321
334
292
312
306
333
252
352
330
409
363
271
280
293
178
319
404
326
409
372
407
302
272
419
308
308
304
236
270
352
244
371
308
292
368
269
289
329
283
354
278
341
289
347
332
347
300
297
300
381
353
308
387
304
265
281
274
278
315
349
329
319
318
321
239
344
364
288
309
326
291
345
402
249
304
342
259
196
247
293
323
296
288
365
362
334
284
365
271
292
333
333
305
336
358
286
327
310
234
335
362
327
335
226
275
331
258
302
280
331
337
287
293
351
356
316
284
333
321
393
364
310
432
354
341
339
331
307
307
252
274
305
237
306
281
295
300
371
360
277
256
296
314
312
300
305
278
312
323
368
321
288
346
328
375
288
386
338
225
309
309
297
302
391
286
286
274
309
395
321
339
412
311
409
370
303
337
286
298
355
268
375
302
329
255
322
266
329
263
375
335
392
355
369
314
285
268
285
391
247
326
227
197
315
306
337
204
238
318
302
345
345
309
328
340
389
267
316
346
296
333
301
317
272
344
357
334
309
315
264
332
342
334
312
357
283
276
290
286
321
255
270
411
325
357
386
278
285
344
239
313
352
305
334
316
324
238
286
382
282
330
383
295
324
313
300
356
304
244
373
350
331
302
410
347
310
323
267
286
288
364
372
331
341
346
289
292
335
346
308
224
356
314
285
268
328
240
372
350
255
327
390
266
315
344
205
288
302
374
349
327
301
360
283
286
293
313
257
254
325
402
378
240
340
326
273
305
242
228
319
312
340
299
258
272
339
281
365
356
325
240
331
280
329
300
393
314
373
322
271
227
300
411
322
379
345
266
256
342
306
275
286
374
282
359
243
299
323
280
302
359
362
343
273
247
275
224
329
294
295
308
321
276
269
262
372
343
228
257
312
384
322
300
328
293
272
318
349
326
280
323
248
269
243
273
342
240
459
335
330
355
320
268
361
358
346
362
295
270
256
358
362
379
391
305
335
302
333
289
264
308
313
287
344
332
394
284
348
392
355
276
354
305
340
333
391
322
323
300
378
353
343
280
325
360
320
323
220
408
281
347
271
409
268
328
355
177
318
307
346
337
371
250
332
339
307
335
282
312
305
346
296
330
353
235
299
337
212
334
268
226
378
257
337
285
301
274
265
379
383
357
343
206
325
355
281
318
338
355
351
363
313
291
239
349
296
293
298
254
312
358
312
334
248
278
372
296
299
258
322
286
316
319
314
304
382
346
294
338
288
310
355
267
269
333
323
366
320
351
257
326
360
392
284
242
343
327
332
351
275
322
298
309
338
356
369
324
229
330
326
249
291
257
290
302
269
274
358
319
346
299
381
371
347
334
382
318
365
326
222
283
349
323
398
267
315
263
379
288
364
357
308
325
336
321
381
354
320
395
300
264
281
284
322
345
349
367
344
335
315
346
348
293
411
299
277
305
332
354
368
341
375
350
356
266
326
246
281
309
322
283
316
277
277
236
295
308
269
361
269
304
308
232
321
305
299
342
296
370
308
318
271
265
353
259
339
261
347
305
365
353
306
359
278
395
252
390
343
302
341
273
334
295
267
298
319
297
300
318
320
292
304
205
288
266
249
307
270
276
312
248
241
296
307
303
363
335
447
257
308
338
301
314
270
414
334
355
367
298
366
258
272
353
309
275
256
311
308
296
312
301
253
335
323
314
369
347
256
348
315
266
342
374
353
386
303
256
279
313
314
406
345
233
336
251
260
274
313
346
322
310
278
352
306
280
325
306
244
279
281
288
275
301
301
353
272
344
302
321
316
376
293
365
337
274
272
299
174
330
318
323
343
360
361
337
316
331
298
283
332
320
352
269
292
318
286
217
327
332
371
299
297
344
326
352
277
389
313
352
338
389
327
315
314
287
325
284
393
237
339
352
323
358
400
385
221
319
271
287
366
349
360
427
283
334
303
304
354
299
342
260
321
265
341
314
285
287
301
178
250
359
322
402
271
322
357
303
381
289
278
357
315
360
271
244
338
337
362
343
202
287
366
281
267
342
272
320
243
302
263
301
280
288
293
392
356
391
336
270
346
270
246
368
321
317
330
271
333
334
300
328
307
278
211
397
337
346
378
299
362
344
333
237
337
252
338
368
239
305
345
273
328
329
337
297
354
296
327
327
363
317
373
358
372
366
383
314
282
332
271
306
375
331
311
368
397
274
354
348
279
299
346
311
316
273
238
290
277
306
245
346
237
278
314
309
265
311
404
246
310
421
266
353
297
306
264
348
301
325
420
293
374
312
277
318
277
333
360
333
248
337
302
317
288
322
385
306
361
319
401
328
329
325
219
307
284
363
302
270
339
392
268
268
309
351
319
289
339
360
228
336
346
420
267
403
370
241
363
222
265
293
345
295
315
334
286
261
322
249
379
316
320
320
287
290
304
236
330
291
310
282
327
321
319
321
266
305
374
356
345
321
275
348
319
404
339
275
387
347
361
343
321
355
261
346
321
375
281
345
281
364
312
353
301
289
289
381
299
340
350
371
406
305
374
344
289
283
221
295
264
266
359
255
328
346
333
300
385
288
213
348
341
319
326
312
291
404
297
380
221
192
301
284
404
324
329
325
329
344
363
285
348
396
402
252
296
323
332
270
306
296
340
324
345
382
335
271
317
351
343
324
272
239
289
216
363
299
329
341
357
257
311
253
340
261
339
314
368
237
355
332
304
386
337
319
387
307
302
270
310
311
365
334
211
256
338
329
343
303
283
325
266
376
326
321
237
235
313
316
258
361
321
307
251
336
284
303
276
319
308
217
306
386
381
260
293
365
327
371
302
379
213
347
360
334
260
345
300
281
322
229
386
306
344
362
308
317
329
334
274
320
264
373
262
313
304
323
288
346
268
312
307
268
326
328
275
370
310
354
281
313
340
317
299
340
285
339
263
252
372
314
285
321
347
260
349
228
356
386
248
322
312
307
304
387
270
357
287
401
322
265
246
270
279
344
342
253
370
347
198
312
294
347
307
307
302
323
218
334
354
311
372
319
290
335
355
356
309
291
327
404
350
361
255
373
279
255
311
282
322
373
370
416
359
312
275
271
309
343
323
300
280
342
382
305
313
264
339
246
369
344
296
348
333
309
302
277
334
291
408
368
343
339
298
278
289
304
231
225
339
391
364
308
267
325
414
297
287
247
253
259
325
348
264
293
307
334
377
313
306
345
230
270
223
362
300
362
356
314
380
321
281
310
319
346
367
340
361
315
259
255
279
371
288
312
338
321
307
335
354
336
297
418
312
391
304
334
274
412
375
247
332
319
329
325
343
326
338
299
368
297
332
343
347
312
352
326
308
362
367
253
320
305
389
265
338
309
367
297
255
300
269
434
274
217
333
277
358
329
286
281
343
325
361
289
285
360
205
275
237
318
373
346
258
229
309
252
408
337
378
311
233
217
328
353
306
297
335
338
227
397
287
255
264
325
321
307
272
253
392
262
350
232
293
249
313
331
290
298
272
248
351
416
394
307
225
331
288
283
327
361
376
345
375
326
356
329
349
340
357
417
396
178
335
346
371
243
321
363
275
335
425
366
307
299
390
356
263
366
303
301
328
324
310
246
349
312
286
338
300
296
338
312
377
306
349
313
303
281
370
210
324
343
377
368
384
357
303
381
351
269
274
308
306
267
329
226
315
347
358
319
260
349
309
275
281
264
334
242
363
251
217
256
323
323
366
288
271
378
331
320
326
296
361
295
283
284
219
205
366
257
299
339
383
390
247
304
249
307
390
305
269
368
262
400
371
243
213
427
268
365
264
204
291
239
274
344
446
273
337
289
328
295
277
340
289
280
289
294
326
302
350
325
405
284
373
330
292
274
303
262
379
291
381
261
333
334
281
324
312
294
360
353
257
235
268
307
381
338
308
274
298
321
374
311
273
260
338
396
336
278
316
292
360
285
342
291
263
293
352
310
371
348
324
268
340
357
338
302
355
308
279
443
330
307
316
359
316
332
307
374
310
369
324
320
316
305
382
335
359
166
270
305
298
307
367
346
425
450
322
368
318
270
329
328
279
324
413
317
317
372
273
245
328
280
344
368
343
257
312
450
288
285
234
307
286
366
369
288
310
288
254
324
354
303
310
267
264
330
290
297
319
261
399
338
390
173
365
337
290
265
351
264
354
268
400
346
364
272
343
295
228
379
330
260
323
310
295
351
339
387
281
267
288
364
348
353
310
373
286
311
305
291
317
301
295
388
290
352
336
323
297
242
378
307
364
335
297
333
338
355
291
323
330
266
272
334
309
267
248
293
352
339
298
317
277
309
356
287
259
339
221
284
298
310
299
310
331
250
375
356
351
270
310
423
258
243
264
218
296
349
274
342
338
290
325
277
394
262
309
337
333
354
272
306
393
256
397
345
390
405
269
257
300
340
317
228
326
339
366
248
416
358
284
315
325
353
303
263
288
317
376
266
370
308
303
329
283
242
299
327
250
297
231
327
366
289
342
254
328
251
334
327
329
282
297
362
320
359
323
353
476
260
286
351
243
319
310
343
329
337
301
330
378
352
309
289
300
425
270
349
279
281
277
302
275
292
268
364
334
249
342
297
345
343
248
278
326
314
225
366
308
329
425
340
239
376
347
267
348
389
263
255
345
332
271
298
326
238
322
377
281
327
313
268
292
273
301
359
282
314
253
219
303
234
352
347
304
310
297
341
265
323
321
347
299
282
321
297
281
301
331
316
258
253
295
353
395
273
331
356
306
351
285
348
293
341
329
303
386
366
339
318
349
355
346
403
358
336
351
322
337
307
373
279
302
317
378
268
274
299
233
287
271
271
253
353
330
362
298
317
260
254
383
304
275
352
339
314
375
313
351
258
264
284
297
348
349
277
313
349
251
326
268
287
334
312
267
353
322
242
315
268
365
347
275
305
246
350
344
221
358
303
287
302
295
344
337
260
322
249
351
257
370
430
319
210
291
302
339
276
244
235
359
291
281
230
364
326
292
290
313
353
350
323
316
306
274
355
368
338
312
280
322
255
263
339
330
279
366
377
376
270
260
384
296
297
316
271
324
295
328
239
328
361
245
323
309
244
299
318
275
278
302
294
328
314
332
370
302
341
444
318
283
283
306
305
312
367
309
333
406
284
419
279
192
294
314
331
349
348
409
331
297
372
361
322
369
327
281
318
331
313
291
271
320
333
295
362
355
342
314
327
290
346
296
320
328
350
237
374
255
375
183
285
261
337
245
289
283
209
329
337
253
291
335
337
353
317
302
335
289
309
286
372
420
232
288
306
275
250
332
342
272
275
261
311
366
340
337
373
236
352
323
312
363
314
326
319
314
351
359
357
331
243
255
400
273
325
291
303
314
307
255
356
290
353
327
377
342
270
277
269
310
379
325
290
366
327
256
285
284
346
225
348
314
345
314
350
285
307
318
323
287
307
297
319
402
332
293
319
321
306
312
351
339
325
308
323
275
313
281
324
209
288
289
320
292
349
318
294
371
284
279
282
266
355
311
303
273
257
233
345
361
238
383
310
329
315
359
250
328
350
314
271
302
309
236
267
223
339
239
368
330
282
325
236
247
336
250
186
232
266
356
310
335
423
305
346
280
301
392
352
353
263
291
291
329
264
324
345
346
337
365
290
284
264
313
321
346
264
331
332
369
302
285
297
363
369
303
311
318
231
362
312
279
409
384
366
274
215
306
284
328
326
283
330
393
330
401
267
333
248
299
261
251
301
267
260
340
297
289
250
278
339
331
213
372
339
341
313
396
346
230
302
275
293
318
301
335
393
308
371
338
339
232
356
289
302
344
340
285
323
312
356
354
328
426
355
386
222
325
334
321
321
422
320
273
429
238
340
288
343
249
340
306
287
263
325
346
320
388
375
389
277
358
362
306
309
324
234
260
242
188
296
345
305
306
303
360
239
225
276
362
327
295
360
271
287
314
299
300
332
361
295
326
366
265
431
327
356
382
377
354
340
285
335
353
327
260
309
331
200
299
307
277
366
329
300
269
343
368
319
338
234
227
284
363
370
270
317
322
342
293
330
247
339
327
329
312
285
272
286
267
285
294
284
315
279
244
261
213
306
273
337
302
287
301
360
377
293
302
340
340
331
312
410
282
348
275
254
329
436
359
262
319
299
299
291
275
400
327
335
373
388
268
392
303
269
350
341
296
344
305
273
323
303
277
322
293
297
355
333
349
374
297
298
289
306
410
351
357
338
312
280
317
335
325
365
301
321
290
375
309
408
339
315
379
302
378
306
292
292
301
328
370
274
367
336
347
277
374
333
380
347
306
265
321
268
305
327
321
296
349
283
318
274
226
320
295
282
336
362
281
287
282
323
315
268
284
303
235
425
350
321
361
289
377
298
280
251
267
293
343
348
310
254
296
275
283
324
362
216
268
225
332
356
371
281
306
286
401
469
311
207
316
311
289
293
261
323
346
384
295
268
253
301
337
308
346
230
330
310
231
285
280
406
303
293
309
331
331
244
344
273
316
274
311
380
288
228
273
296
301
225
283
385
386
243
290
310
330
394
278
300
274
315
317
394
290
318
322
332
300
360
310
416
340
262
304
338
329
340
354
414
290
243
318
348
291
325
361
328
290
266
374
318
305
379
348
332
279
321
369
323
186
361
332
379
354
356
260
343
316
333
372
362
277
329
314
295
223
288
337
309
323
312
368
232
323
281
310
317
275
338
332
249
295
263
343
360
389
329
236
341
254
360
337
366
253
325
290
317
271
330
295
306
332
333
336
329
365
282
365
252
340
289
186
243
312
304
389
300
279
309
298
347
274
338
346
276
381
346
280
302
290
296
288
291
352
436
318
279
350
233
357
310
296
329
360
305
386
299
315
388
346
432
335
319
382
348
322
337
310
358
312
343
319
341
311
401
363
293
362
370
310
222
306
381
309
290
316
216
320
273
356
371
310
355
283
340
270
380
344
311
306
410
334
299
348
304
358
336
197
358
292
360
329
290
285
296
372
378
305
292
342
311
258
335
338
287
365
330
304
317
246
284
323
320
300
346
283
371
272
251
333
396
335
345
256
298
420
264
290
338
232
311
333
324
327
248
332
361
340
333
389
348
299
315
329
387
306
387
342
338
397
265
361
341
305
324
327
265
330
298
292
354
331
375
230
302
332
276
280
256
327
336
317
332
315
309
370
312
332
313
317
295
315
332
335
288
285
398
323
383
325
346
297
245
336
274
318
293
311
286
351
324
343
314
272
305
259
318
265
409
301
309
296
288
351
338
319
242
366
272
315
321
236
357
281
315
315
357
444
299
330
300
333
334
336
271
337
280
391
323
308
235
333
363
161
292
313
276
292
306
283
378
289
321
340
330
314
284
358
363
353
354
317
394
224
357
301
320
320
316
218
305
347
359
353
196
360
257
326
296
236
327
267
357
389
296
277
321
290
306
358
347
218
291
255
318
342
381
282
338
248
183
278
265
294
281
373
372
309
286
326
346
340
318
384
320
249
320
260
412
362
252
281
313
277
284
339
267
245
242
350
254
333
356
353
289
349
302
271
398
291
273
256
337
271
346
312
365
314
285
304
334
339
269
277
274
337
329
360
269
302
290
318
325
261
299
336
231
273
319
308
307
279
282
324
356
288
318
334
319
296
379
351
239
283
396
293
408
386
273
267
364
274
338
334
296
288
260
302
247
320
247
320
253
266
284
269
374
300
351
279
317
330
326
304
306
281
324
306
260
358
360
348
329
305
303
357
375
228
297
317
304
282
342
300
317
320
348
302
375
285
361
396
297
331
333
274
234
283
290
259
324
295
287
325
404
252
324
294
379
304
302
323
305
313
237
330
316
369
282
397
294
277
338
307
315
385
306
279
269
217
367
268
295
328
235
336
360
364
295
295
339
366
344
372
278
333
303
276
242
300
320
303
382
309
363
335
246
337
239
250
376
397
248
286
254
265
318
303
322
306
342
278
251
380
254
241
297
392
296
355
329
314
349
339
351
308
416
287
317
363
254
273
293
313
329
347
266
413
220
298
238
351
329
354
352
341
309
258
305
267
276
322
222
384
222
305
304
298
336
364
262
252
271
381
297
419
341
330
401
357
337
269
382
238
287
301
311
280
271
244
280
248
277
318
297
274
216
328
279
282
333
288
282
342
358
298
294
305
230
303
389
306
333
377
299
338
301
412
344
314
343
348
339
349
276
328
306
275
288
301
292
328
325
274
259
350
296
315
314
298
375
283
395
386
256
303
304
329
309
298
416
273
370
268
356
309
399
335
272
296
285
313
341
266
351
343
383
284
211
343
282
292
385
365
311
301
366
261
261
342
287
322
280
346
325
355
274
290
313
366
257
316
288
293
383
374
343
309
270
235
316
352
356
328
338
306
358
385
329
258
246
354
312
326
332
327
338
358
317
247
269
330
246
376
359
383
346
360
238
336
321
331
355
324
339
279
338
326
386
261
238
318
364
279
336
336
338
287
267
299
353
375
267
235
248
281
312
349
273
316
355
308
358
305
266
287
246
343
417
338
297
342
327
291
388
304
372
304
347
286
271
301
298
326
315
366
320
342
287
343
272
422
343
298
256
311
304
263
305
299
327
339
321
314
281
281
300
307
246
397
284
363
362
273
253
312
294
350
350
423
291
268
318
327
297
388
281
347
247
312
347
276
321
272
336
226
285
296
277
264
272
327
239
318
374
331
313
341
327
292
299
275
333
380
324
340
323
300
327
409
312
234
344
360
319
335
311
355
315
341
392
292
244
337
319
315
297
310
370
325
364
272
273
333
320
260
286
288
371
351
313
312
345
275
275
354
331
313
287
260
262
353
327
348
289
299
299
406
309
289
349
331
270
270
303
280
369
300
288
351
336
401
300
407
280
317
282
305
278
307
317
360
399
317
330
313
357
317
272
298
361
270
335
353
325
238
295
372
356
352
281
328
244
351
271
301
348
292
327
345
291
365
310
380
305
263
350
369
296
303
337
322
300
312
261
320
255
341
391
382
419
309
286
214
318
291
326
333
307
293
243
218
322
391
261
344
284
262
372
215
332
317
355
294
333
282
334
348
405
349
365
348
325
286
299
352
351
234
361
305
290
401
291
296
316
327
293
305
320
240
234
251
317
271
310
388
313
299
262
338
368
347
311
336
325
332
370
311
373
336
329
347
356
325
294
327
325
234
329
374
397
289
345
333
327
219
339
279
288
324
387
291
270
253
277
308
323
308
262
341
348
269
296
267
311
424
266
322
316
352
307
341
333
351
280
283
391
271
353
286
344
360
298
369
270
300
319
297
230
338
368
323
286
267
301
317
268
350
296
335
421
302
327
335
381
325
281
300
281
240
326
305
313
414
337
321
311
287
343
267
259
241
313
332
290
341
343
243
333
316
324
303
258
386
319
317
319
238
216
303
322
320
262
294
355
236
329
247
272
313
380
358
320
327
296
166
314
343
289
339
261
322
328
330
290
248
358
288
288
333
325
315
291
378
311
234
343
338
335
439
306
341
296
348
332
289
253
389
323
271
266
303
274
351
335
293
326
316
396
340
342
370
282
277
327
299
250
344
311
373
348
326
319
316
302
324
326
325
396
287
273
319
269
348
302
339
324
261
340
333
309
291
356
253
409
273
264
351
372
264
323
287
305
346
325
284
335
255
300
355
235
350
370
295
353
313
294
276
304
297
309
354
291
296
303
345
309
294
365
301
312
365
296
288
362
321
334
256
334
300
311
263
366
268
327
322
253
241
294
373
295
347
314
357
270
365
329
260
233
260
293
332
312
352
307
389
309
380
316
287
319
273
300
339
319
374
385
249
356
270
295
223
343
264
366
318
403
329
316
354
286
318
323
375
297
262
261
324
340
275
310
312
249
245
347
362
246
314
328
309
298
270
350
276
299
294
249
287
286
249
361
239
389
301
295
324
403
385
260
334
244
391
201
395
329
231
263
383
309
385
294
302
318
380
360
277
351
313
342
335
299
287
419
378
351
363
337
338
270
374
212
366
377
293
328
344
275
317
315
339
266
319
353
333
353
222
299
276
320
346
257
269
290
330
403
328
370
377
304
330
358
283
322
325
267
347
332
326
354
363
323
280
269
255
313
400
276
351
327
327
377
409
350
280
274
387
261
402
331
396
321
329
285
302
303
377
267
333
245
347
265
284
233
321
281
390
276
325
301
294
231
323
382
295
251
223
317
362
281
301
281
247
357
321
263
386
291
311
363
355
308
274
234
369
285
360
330
270
313
300
239
298
362
335
369
350
312
310
397
372
282
274
323
331
287
358
220
300
324
257
390
232
289
307
381
353
361
354
398
351
326
357
352
322
331
313
365
263
314
258
410
390
232
408
286
309
311
291
337
395
344
330
293
254
306
261
312
290
279
326
326
284
353
373
271
314
276
315
207
341
356
370
351
294
369
336
380
272
220
391
393
260
390
282
319
356
273
300
351
362
254
257
267
255
384
322
326
311
325
358
288
342
326
309
345
327
322
298
284
327
353
337
277
332
251
332
323
299
330
317
284
327
325
299
383
347
378
368
297
269
339
318
334
351
223
337
337
313
332
287
299
282
328
245
388
228
336
208
307
263
356
358
405
390
248
372
350
308
337
335
261
280
376
267
333
345
341
273
309
297
321
273
309
360
417
297
280
301
353
341
358
383
373
370
249
320
249
375
279
334
348
268
315
288
277
297
317
302
321
332
358
317
408
351
330
346
324
366
408
331
276
377
327
322
290
324
274
322
287
287
257
375
281
291
280
299
242
349
249
357
287
293
315
352
300
251
391
359
376
396
276
299
313
241
358
307
371
287
242
285
320
333
298
311
332
288
263
303
297
308
280
268
332
304
413
307
316
260
258
388
342
379
355
258
365
267
403
344
363
323
343
365
251
378
303
307
318
338
357
336
358
292
296
291
271
304
292
342
370
221
372
273
355
409
319
353
405
375
333
316
306
334
223
294
343
376
307
293
309
371
280
366
227
349
332
255
319
315
289
328
262
346
305
429
307
272
284
318
347
311
213
367
274
291
397
339
210
350
320
325
275
295
342
301
313
346
349
352
332
366
381
256
237
354
327
398
401
245
348
374
262
288
357
358
394
290
381
281
324
276
291
360
331
325
326
292
324
237
280
335
361
370
397
346
306
185
363
372
431
298
330
287
261
308
291
382
277
293
339
316
332
286
371
337
346
390
300
287
365
283
361
392
309
344
367
258
238
307
315
337
323
341
324
359
333
312
379
277
311
297
297
302
338
260
313
341
348
350
364
405
314
392
359
226
296
311
393
293
357
382
317
370
359
213
327
364
291
285
344
289
272
382
316
330
293
222
408
303
282
261
276
322
325
300
324
378
300
265
312
339
298
328
287
249
268
275
309
369
318
265
312
316
312
284
260
336
361
278
229
261
293
364
315
269
385
308
258
218
344
337
296
316
297
276
361
307
349
324
317
273
354
314
312
326
381
234
335
369
326
290
312
284
338
316
361
363
261
337
324
203
371
230
320
374
304
210
301
275
376
347
329
292
277
338
261
283
294
280
347
329
277
337
302
344
275
297
325
292
369
300
306
283
228
363
394
360
303
368
334
368
351
277
322
269
313
308
352
262
297
247
257
324
383
348
282
343
317
356
241
239
369
384
301
302
355
431
381
323
317
368
279
344
272
359
241
334
309
359
291
308
389
283
312
319
350
324
274
349
293
217
308
268
352
282
361
340
343
389
326
340
243
274
324
274
309
330
229
342
327
316
268
370
348
248
342
364
314
226
345
268
343
317
338
221
301
304
311
306
333
363
358
357
293
383
263
275
275
331
256
372
343
297
411
235
259
359
380
361
237
375
355
257
245
267
319
302
308
374
212
235
298
361
299
360
239
276
319
448
320
277
302
306
373
309
358
401
247
357
300
313
313
301
254
346
365
348
401
347
381
305
191
321
357
258
301
271
339
394
299
370
240
326
415
348
252
363
317
360
377
371
405
290
326
395
352
353
336
359
332
306
281
279
281
312
362
316
211
275
321
314
300
189
232
266
296
283
303
333
300
344
325
303
393
392
264
308
243
398
252
306
321
298
317
351
296
379
278
314
311
300
302
246
298
277
339
297
326
310
308
274
276
300
316
306
304
292
397
326
260
342
360
275
326
331
311
261
316
247
257
324
302
237
196
328
367
348
360
374
258
350
457
263
284
278
382
354
323
260
260
309
331
227
355
279
299
364
340
328
390
232
302
312
350
314
320
271
270
320
281
283
368
256
289
405
300
323
345
300
362
347
262
310
288
326
285
320
295
329
282
310
258
287
385
296
405
300
308
369
291
362
334
313
291
417
360
304
369
227
389
258
280
385
302
292
313
173
243
317
270
307
359
297
342
352
332
334
260
318
275
339
289
307
317
277
340
325
261
365
301
345
420
326
357
333
218
341
357
351
309
278
293
318
333
382
309
346
341
260
293
309
285
331
282
333
325
322
278
275
307
387
351
343
362
339
325
324
360
324
273
318
241
238
238
335
412
330
330
303
278
318
302
344
408
338
290
300
317
282
357
328
325
295
341
258
395
248
329
334
224
365
376
352
376
401
342
311
211
245
344
254
311
405
349
324
298
279
320
226
296
282
368
315
325
285
261
377
369
381
317
297
290
300
348
321
280
309
306
331
301
307
271
359
321
261
276
337
291
257
278
302
312
296
364
350
286
285
269
341
264
222
297
337
199
309
260
248
326
244
333
236
309
275
361
362
288
398
288
309
360
327
249
380
229
255
345
372
360
285
315
344
320
361
236
336
362
256
271
314
335
287
348
292
299
339
352
272
373
314
283
337
359
397
338
268
309
274
291
325
390
300
408
311
315
390
254
376
290
382
375
409
341
360
357
323
374
291
279
302
288
328
274
326
430
263
262
272
314
306
347
214
313
353
288
335
281
279
222
345
341
281
225
326
290
221
388
329
268
297
222
358
284
320
266
282
288
350
315
293
324
364
304
289
244
314
262
344
355
307
344
313
309
320
389
266
293
402
244
341
271
343
376
337
302
342
330
342
304
288
318
324
257
333
314
274
343
241
272
368
318
318
245
265
270
317
368
270
273
331
300
297
368
259
310
363
306
344
285
283
255
264
337
349
363
335
353
261
288
354
323
324
321
279
257
399
303
281
273
302
320
362
334
316
328
363
369
262
290
321
266
273
364
353
296
340
302
242
274
272
273
352
326
387
358
294
301
266
303
328
333
327
333
281
354
312
281
323
331
259
301
292
324
378
340
349
255
282
360
269
284
293
333
338
288
265
270
334
332
358
258
392
243
319
348
337
309
372
297
255
293
323
335
345
301
271
329
273
211
336
353
326
391
252
374
299
240
278
254
316
400
280
251
359
297
384
272
302
370
281
316
318
298
287
325
308
337
289
235
290
344
352
262
322
220
334
253
362
282
304
208
407
336
354
216
352
380
371
309
299
327
296
278
346
311
343
287
348
324
376
265
356
286
345
330
286
283
326
304
327
339
299
275
311
383
343
283
254
252
257
360
280
313
246
235
235
279
275
258
377
278
363
377
288
300
287
293
311
288
304
381
310
320
359
189
324
275
442
348
344
369
277
398
311
278
302
305
256
303
345
387
345
345
327
273
289
272
295
302
275
267
329
323
369
385
347
228
322
383
388
364
326
382
252
359
287
262
255
326
297
277
334
306
362
344
303
313
340
316
328
319
297
257
294
304
299
332
314
282
280
389
308
333
366
277
328
251
314
354
296
277
344
318
296
268
362
252
227
277
311
278
335
403
331
282
290
355
301
329
316
306
300
245
309
302
377
282
273
303
245
265
328
301
330
326
271
374
325
334
372
302
299
345
354
391
272
183
322
335
313
174
265
310
234
281
369
324
242
227
327
231
287
299
255
347
280
276
293
332
224
304
263
284
357
386
393
292
323
325
325
294
302
344
332
330
323
311
354
234
341
373
271
207
409
325
286
300
326
317
311
293
321
235
349
336
325
289
351
256
284
251
332
344
336
256
342
278
223
302
327
313
277
306
357
265
388
285
351
312
259
372
322
303
311
262
322
283
275
325
293
346
347
348
211
396
292
411
345
292
215
295
365
348
290
225
257
340
243
284
296
297
346
337
340
262
349
356
358
272
271
294
346
318
294
388
351
375
337
362
270
314
306
325
338
298
356
333
224
338
308
306
302
344
229
287
305
262
334
327
282
250
325
278
352
382
330
241
407
326
324
316
308
258
366
306
317
358
294
337
388
322
292
330
339
300
353
347
255
287
295
288
178
332
342
307
212
257
316
284
236
288
311
402
299
381
337
345
277
336
313
212
298
267
327
272
245
267
285
375
354
306
334
375
352
373
315
343
333
336
255
372
310
316
354
359
357
356
332
296
363
341
322
322
342
316
328
283
308
350
253
318
303
299
278
271
362
368
309
319
305
290
258
380
348
211
306
270
319
181
314
350
351
371
360
249
344
244
251
313
252
323
261
325
333
271
317
351
327
380
240
274
275
353
327
335
339
294
246
339
386
326
310
283
318
355
270
274
257
247
316
320
280
320
331
319
325
322
302
314
338
271
315
393
341
293
397
299
313
257
382
367
366
289
360
300
273
310
294
298
337
349
318
298
364
328
357
420
316
258
308
288
376
287
364
328
368
315
334
314
309
332
365
391
305
337
345
396
271
268
395
283
342
389
287
339
245
337
247
284
300
304
285
335
384
371
272
249
339
326
316
357
315
325
282
232
345
274
351
298
313
334
325
245
263
338
328
350
332
376
414
293
297
277
265
376
272
285
257
244
245
265
302
358
181
359
353
358
307
253
324
260
315
301
351
366
293
272
264
339
247
339
377
366
324
323
323
309
305
385
309
338
256
309
308
291
379
310
282
247
358
204
361
284
356
274
319
290
284
235
375
304
332
416
420
349
312
345
326
319
262
279
330
297
371
365
377
320
302
276
313
355
304
320
358
339
324
358
327
332
267
298
353
300
309
284
278
313
242
303
218
329
257
318
326
332
296
290
329
364
292
220
287
276
401
234
314
301
333
312
427
264
346
275
312
262
267
253
308
352
329
343
333
312
276
265
286
288
239
331
218
350
306
327
331
331
367
304
369
386
218
369
313
362
366
377
243
309
324
272
320
301
248
321
342
372
313
268
284
267
298
338
322
319
307
301
278
298
312
234
302
296
342
415
327
363
345
296
373
260
379
259
337
363
201
360
315
290
260
414
328
286
385
315
243
273
323
352
313
327
268
236
406
330
376
350
285
312
334
321
334
345
342
307
292
322
330
387
334
325
238
302
338
292
329
342
329
268
269
243
321
299
351
249
308
361
336
305
298
355
304
374
282
328
325
278
413
340
271
340
247
335
372
346
406
348
325
374
336
311
266
325
252
342
373
361
311
390
307
307
282
317
337
254
294
305
285
273
396
357
234
284
243
325
388
322
318
375
315
328
263
312
296
322
377
326
331
281
308
261
253
303
277
282
242
350
355
337
318
324
268
349
321
328
264
251
327
264
350
287
332
224
334
343
301
298
289
281
343
226
290
300
260
298
218
401
350
404
345
240
351
366
242
307
287
256
383
273
311
318
335
351
345
249
306
312
247
386
303
327
372
365
312
353
350
246
296
317
373
311
301
260
336
310
286
389
373
338
263
370
344
363
360
354
286
264
305
351
290
280
296
219
238
283
305
329
286
234
347
396
335
338
254
265
287
319
296
317
254
312
362
300
309
337
271
335
292
286
315
344
348
350
299
247
380
303
386
391
324
288
327
353
340
296
243
306
338
256
213
306
364
222
303
256
352
368
244
303
354
361
316
315
344
334
299
323
327
337
352
323
240
305
283
407
367
375
333
258
342
304
336
276
299
251
314
356
316
321
314
283
342
399
248
245
289
300
337
349
337
350
351
416
340
316
354
367
360
330
310
267
286
220
301
340
384
358
344
350
334
372
250
376
349
360
320
307
340
310
397
398
276
379
307
256
300
326
438
336
290
382
333
336
275
267
258
331
369
325
349
258
353
310
432
361
284
308
340
346
281
275
358
356
317
313
307
295
268
321
292
347
288
230
235
270
286
419
283
303
303
308
246
336
394
350
235
283
316
204
349
334
339
413
319
348
313
344
311
353
267
281
341
317
336
290
330
376
352
361
261
298
383
320
367
316
246
317
367
283
297
412
332
319
341
381
276
328
283
356
311
333
267
305
341
263
309
362
278
309
317
331
319
341
296
303
277
267
316
346
290
273
346
374
342
275
363
412
378
266
310
301
292
353
351
342
281
177
263
330
295
344
336
278
288
340
371
300
268
278
249
331
297
350
275
223
322
334
268
324
366
289
356
319
373
356
359
334
367
264
247
289
336
230
364
395
317
362
261
373
340
376
338
335
265
332
333
345
285
296
287
231
392
363
330
332
322
376
333
311
282
295
367
345
294
278
315
318
325
288
343
232
396
296
309
302
315
353
270
305
400
356
320
232
330
320
362
247
287
373
291
334
224
285
354
306
279
288
325
381
353
359
249
447
314
297
285
399
267
342
347
316
352
361
368
290
306
320
332
327
351
252
252
366
374
319
217
407
243
361
329
344
297
386
301
398
308
340
316
245
286
256
378
390
326
363
298
273
336
353
215
274
323
319
416
298
244
285
326
325
269
335
230
303
334
256
328
307
361
379
332
302
339
333
258
267
231
322
281
381
349
339
303
295
295
302
315
303
302
301
251
341
359
301
345
273
339
331
303
291
365
316
286
340
388
337
296
258
344
296
293
312
287
317
270
369
414
318
296
329
350
317
405
327
349
296
267
297
318
306
349
278
305
309
341
322
327
326
338
357
283
311
286
237
269
289
311
301
365
350
365
348
227
331
302
330
310
355
344
270
364
321
312
389
362
389
328
292
291
390
358
366
321
318
217
296
324
343
220
312
317
258
341
322
265
350
381
271
315
333
338
352
374
285
293
388
389
292
350
340
299
336
262
348
380
267
333
372
366
382
283
323
339
284
302
229
271
246
311
326
400
258
289
349
367
336
307
373
325
331
304
262
410
253
313
380
385
294
330
326
292
358
365
312
341
309
334
290
315
309
368
354
229
282
348
253
354
304
291
242
231
281
354
400
224
321
370
333
360
365
276
348
346
328
308
271
358
310
426
347
357
383
299
281
302
421
230
303
320
357
387
313
404
311
250
365
375
320
258
262
320
274
329
294
284
331
325
308
395
323
322
301
299
260
457
365
251
360
289
347
301
334
397
302
255
218
349
313
262
331
284
304
327
391
297
285
300
272
330
344
339
293
307
301
297
287
321
386
291
322
361
272
256
362
343
279
237
304
392
242
271
297
370
285
373
340
306
353
396
305
323
258
353
267
283
306
275
337
322
279
323
339
278
370
377
299
284
391
269
264
276
318
363
302
366
359
295
300
290
256
283
309
358
300
311
372
254
248
294
377
315
249
353
230
373
247
295
318
339
246
311
263
298
312
288
212
289
390
302
336
317
328
287
362
340
361
341
346
337
317
351
351
272
301
340
328
339
313
371
345
347
371
328
270
366
308
306
345
294
320
255
313
254
327
352
296
272
339
352
256
289
270
286
240
367
268
311
377
361
365
344
322
370
292
332
279
401
208
324
291
326
284
319
298
367
353
299
357
347
326
339
326
352
338
341
277
328
311
382
274
348
329
354
330
351
278
320
269
397
292
283
346
308
290
415
333
367
279
326
297
359
275
363
295
364
329
306
365
373
306
367
344
303
338
296
324
282
333
358
297
343
350
260
312
265
309
356
288
297
341
297
304
247
202
338
338
297
328
361
278
347
273
277
302
310
337
256
243
327
308
272
338
346
299
332
319
335
365
377
263
287
287
328
249
326
316
326
237
339
306
305
237
304
252
323
337
395
402
238
311
316
343
274
306
256
248
306
352
361
325
332
352
328
221
277
283
320
396
373
298
306
300
259
296
327
343
332
398
275
354
297
281
263
299
272
258
314
283
343
346
324
285
308
315
342
335
397
199
348
337
344
330
343
306
263
390
335
294
269
361
361
300
315
243
358
304
338
270
345
339
319
289
327
276
353
331
323
327
262
377
322
341
365
309
323
323
296
357
234
436
328
309
274
389
327
331
315
355
351
299
303
269
315
348
332
254
284
375
341
324
255
316
255
323
333
329
302
322
315
303
340
267
364
343
254
335
317
319
319
313
242
275
343
326
272
375
314
322
303
288
320
317
337
265
296
257
319
197
328
273
319
304
318
269
318
350
298
341
346
392
306
324
308
340
301
338
312
272
300
279
368
249
265
311
303
320
279
364
346
299
313
322
301
245
280
346
240
243
341
309
340
303
283
254
305
253
319
314
328
312
316
368
260
355
282
311
293
293
320
288
314
258
311
298
263
354
277
317
314
286
256
308
270
316
333
372
303
323
326
295
364
344
308
360
282
363
323
300
351
328
313
336
270
308
305
316
387
326
292
338
221
338
260
449
351
272
313
254
310
278
294
344
274
280
334
359
321
294
349
340
394
318
315
383
347
337
365
298
292
356
366
302
340
356
300
324
324
344
296
360
327
304
331
356
343
253
261
325
316
376
307
334
315
280
381
274
291
331
356
320
364
306
426
296
376
260
348
283
371
328
242
309
295
271
394
274
374
356
315
329
287
296
324
278
292
356
384
309
311
297
315
316
321
331
309
331
360
293
259
341
232
330
340
360
258
360
323
380
344
297
294
221
299
330
327
324
394
275
317
406
315
269
293
373
315
297
346
385
274
341
324
289
224
369
333
282
312
387
275
308
257
297
329
292
339
282
301
349
321
360
339
339
348
350
314
318
270
294
242
307
412
291
322
345
296
314
283
332
342
298
296
251
276
311
277
269
318
357
302
356
346
252
284
342
317
268
258
239
327
333
370
302
339
316
347
352
267
332
234
315
272
355
271
322
324
368
328
341
227
342
282
352
328
358
338
268
285
318
333
351
277
387
313
332
360
323
241
336
264
294
303
231
352
303
305
316
321
319
355
378
292
296
338
327
267
385
363
277
429
313
332
293
324
328
270
350
332
251
315
369
346
291
302
299
179
348
262
337
328
271
402
261
271
345
257
353
265
323
268
333
373
323
294
300
254
338
398
250
325
334
268
374
302
273
411
352
324
283
314
303
241
341
303
357
242
310
326
228
399
317
279
285
332
321
305
385
321
317
367
404
257
375
286
330
274
264
264
382
365
325
248
326
307
366
354
321
274
322
190
361
326
312
253
353
375
319
278
330
293
270
325
250
364
348
313
356
297
355
284
363
291
289
324
408
278
271
279
320
303
345
328
358
305
328
286
291
418
286
303
253
287
329
314
338
317
313
311
369
335
330
259
335
320
289
437
352
315
291
341
397
345
285
265
269
305
228
307
211
215
327
297
375
252
285
313
290
319
357
308
351
355
233
295
323
311
277
362
339
310
360
280
329
365
370
294
224
308
298
343
329
356
346
357
358
343
315
265
357
374
381
269
249
230
285
204
301
294
230
355
373
364
304
387
369
274
330
302
328
269
305
367
314
314
344
362
284
313
291
304
297
239
335
318
341
341
301
291
307
268
328
286
323
258
374
311
394
353
316
261
345
339
319
374
272
294
314
250
241
350
319
283
279
268
279
429
350
239
379
307
214
277
359
330
335
302
283
341
282
367
387
426
348
300
303
265
364
345
427
336
355
281
325
302
301
328
397
307
241
336
316
342
368
288
329
274
267
315
319
174
254
266
334
395
237
314
317
344
282
272
263
373
238
224
310
324
226
366
291
313
346
358
231
273
279
312
277
309
337
301
307
281
356
269
345
331
382
306
356
270
312
347
253
323
297
343
289
292
305
251
352
288
378
297
407
335
289
272
252
299
374
355
341
318
309
297
299
298
287
337
281
318
314
338
283
284
321
259
317
304
326
253
227
316
380
418
243
344
386
292
320
381
360
383
321
312
338
274
384
408
361
230
315
247
343
297
331
344
378
356
310
300
337
350
242
305
337
306
337
349
302
350
306
316
349
287
277
371
315
323
314
323
319
310
294
302
250
329
330
324
324
298
290
322
270
344
305
292
274
349
326
386
322
324
358
332
317
357
325
362
344
255
250
360
263
360
311
364
373
300
343
295
352
342
389
314
269
393
323
338
243
292
331
272
279
321
238
318
305
312
262
363
290
381
337
320
272
353
267
366
356
287
386
308
233
366
305
371
249
278
344
353
250
275
359
352
323
336
321
368
410
276
267
237
274
322
253
339
278
356
300
328
392
268
337
267
309
247
313
360
248
291
326
272
338
351
263
380
343
276
375
292
312
271
324
400
288
375
293
315
331
324
322
248
227
288
352
306
412
339
330
339
261
345
267
343
297
290
272
333
285
403
332
332
333
280
340
319
269
420
307
318
279
273
313
303
262
281
308
378
344
353
305
319
244
321
354
277
245
419
319
346
350
343
273
360
340
278
282
298
277
352
294
286
349
351
293
365
323
357
311
316
380
215
346
294
298
340
337
375
317
305
334
356
354
261
282
284
273
287
310
457
310
312
261
304
311
309
377
258
318
334
284
305
336
290
241
379
304
301
368
349
272
310
210
314
359
342
353
339
331
251
312
324
366
279
331
302
348
248
356
400
328
318
321
276
289
334
238
356
292
343
336
294
345
305
440
307
347
225
274
392
294
311
304
287
302
284
173
307
329
352
270
288
318
265
283
233
306
293
238
305
324
375
379
298
338
307
287
399
341
318
396
309
232
334
347
348
342
362
355
303
395
364
308
315
291
374
277
277
342
237
270
356
285
288
299
310
316
407
316
246
311
286
337
242
355
327
355
344
288
284
290
264
273
270
309
307
376
255
330
281
325
323
330
300
321
336
267
336
241
292
257
358
315
290
261
287
266
347
271
266
357
322
321
244
332
359
327
289
347
349
341
253
339
319
319
358
350
260
365
306
335
342
264
338
280
387
254
338
304
404
343
258
314
338
296
311
341
340
320
324
310
269
292
216
300
330
260
215
340
366
324
312
298
334
316
263
244
310
283
336
339
344
353
301
232
314
319
311
306
362
315
326
313
321
201
290
254
355
316
270
337
257
297
273
349
192
359
306
314
272
317
320
242
306
297
345
377
337
279
225
379
245
279
299
334
356
235
231
301
350
364
289
354
302
319
326
311
300
332
276
326
207
287
321
346
357
341
346
274
342
269
365
327
381
246
376
268
344
305
362
284
300
243
324
301
239
312
347
349
349
273
346
286
291
280
339
379
352
425
318
355
300
357
334
407
353
337
335
344
338
350
276
248
359
296
334
313
334
341
398
286
382
351
320
286
261
405
399
370
376
339
341
364
250
348
291
346
390
208
323
313
320
360
318
342
339
336
328
409
287
319
295
364
314
346
268
239
301
273
365
314
311
302
330
283
298
229
375
333
305
350
274
326
385
339
302
244
322
276
324
313
349
310
332
408
326
367
205
345
432
309
241
308
297
245
345
356
330
336
296
277
303
334
285
253
263
337
350
305
270
368
322
365
277
356
261
303
253
296
291
351
356
254
334
275
216
233
327
311
287
353
337
291
295
293
294
385
363
375
337
304
363
304
270
301
304
261
319
299
295
349
278
277
316
350
325
314
344
332
315
304
376
195
318
237
307
337
317
383
286
296
306
334
301
268
263
352
340
303
327
275
254
277
404
303
328
324
397
291
270
352
359
246
336
263
291
258
358
456
326
309
341
326
303
359
344
341
317
336
365
308
315
271
402
294
364
323
368
402
330
309
322
292
370
284
340
315
397
293
264
375
301
328
265
329
262
242
303
370
313
257
302
353
346
265
251
226
342
310
334
291
270
246
309
326
389
209
260
209
307
357
278
244
340
372
270
273
339
340
376
388
273
259
343
294
358
310
365
401
342
291
314
327
367
378
279
313
322
323
372
307
268
344
260
282
271
371
387
339
327
254
362
276
308
352
329
252
359
272
313
357
311
291
356
291
348
287
225
243
303
291
356
353
334
333
283
293
320
331
300
325
280
351
296
288
261
338
305
409
322
274
349
356
377
361
263
290
340
379
276
340
279
309
393
299
258
345
304
277
362
261
341
355
298
235
336
266
293
256
283
256
303
336
311
334
344
365
221
289
293
201
334
338
313
243
393
342
347
318
308
301
297
279
332
291
331
308
321
274
361
276
300
274
364
285
279
323
306
321
277
351
388
309
309
322
360
363
385
362
272
326
288
359
236
372
339
302
319
350
318
339
310
381
304
338
332
252
269
324
301
340
277
355
233
240
343
363
265
290
294
296
347
243
321
357
308
364
300
321
336
271
307
297
297
237
401
320
234
241
381
318
363
348
304
273
337
331
333
375
358
297
242
310
368
292
311
340
267
357
287
360
360
262
364
402
273
333
303
305
320
236
263
302
319
246
203
338
263
315
288
374
323
269
312
373
283
262
367
379
332
309
257
297
360
315
301
384
303
279
303
329
372
348
297
321
300
334
311
294
285
359
267
272
324
336
329
273
314
269
285
316
363
372
362
368
365
328
332
294
271
333
303
244
347
291
203
337
345
282
437
268
317
283
339
259
297
255
269
242
307
276
353
322
352
260
334
224
343
355
354
375
327
320
324
329
380
372
327
285
306
404
222
270
389
346
340
253
279
267
368
245
311
259
338
369
275
379
297
336
368
287
326
274
333
327
263
321
343
401
309
370
319
325
238
313
307
299
423
281
329
330
242
291
353
386
268
348
227
368
246
302
269
287
319
289
316
305
330
281
366
345
311
363
255
294
267
240
309
349
290
332
298
373
317
335
281
195
351
312
303
370
293
264
201
287
254
325
332
367
260
315
357
351
331
356
361
342
323
373
281
417
324
262
287
313
377
254
215
286
300
330
286
355
311
368
414
248
238
304
282
242
168
319
246
316
292
326
319
326
299
332
249
360
406
287
268
359
227
354
319
389
361
273
358
241
271
269
338
190
337
335
378
327
306
292
399
306
355
346
402
272
336
287
347
364
316
278
391
234
337
301
326
332
357
300
267
264
331
254
324
260
250
303
325
428
402
331
240
358
305
310
295
355
238
363
340
285
263
324
326
328
316
258
256
219
307
365
354
296
329
343
349
272
246
336
330
333
201
305
295
301
316
338
272
235
288
322
262
222
391
368
295
290
222
340
261
337
250
251
308
357
364
270
300
399
321
341
342
254
289
365
294
244
272
303
303
295
339
335
403
300
344
304
315
368
332
228
333
312
343
338
299
316
365
283
302
368
323
250
325
271
377
271
279
304
222
331
336
268
247
353
313
227
294
337
341
332
365
287
344
335
246
312
450
263
318
351
352
414
344
392
351
428
244
244
388
256
319
305
384
326
305
334
272
376
324
278
269
348
319
277
243
350
316
318
309
290
287
245
329
274
367
308
195
259
328
357
266
300
346
293
238
293
301
325
281
308
285
337
247
396
388
345
313
286
236
331
345
318
306
334
436
379
352
254
377
327
320
324
206
308
308
312
344
398
322
406
267
435
337
345
310
340
355
305
314
386
377
294
348
365
391
308
360
375
321
330
347
329
369
189
299
312
294
253
328
297
288
320
282
384
304
297
312
332
321
375
395
299
339
346
397
379
304
308
366
296
318
274
309
241
306
331
247
366
310
267
408
430
328
269
380
306
356
316
420
354
352
332
279
337
275
282
278
307
319
290
349
375
361
304
243
279
287
279
243
310
405
335
310
266
283
295
280
351
300
383
267
358
271
298
276
354
272
367
290
347
388
198
281
293
256
365
305
314
287
366
320
375
402
400
263
281
345
347
288
302
256
282
322
341
332
395
372
338
378
305
349
341
348
175
307
328
384
378
345
247
334
358
355
355
335
321
237
346
236
379
383
321
269
325
251
247
321
274
287
354
375
348
300
271
253
374
247
368
353
348
348
366
295
343
194
323
281
222
296
379
265
327
346
312
342
250
330
309
299
439
220
288
319
278
281
261
348
289
293
411
311
339
280
219
288
299
359
333
292
284
331
263
332
378
305
366
311
344
303
368
294
214
328
343
331
264
316
394
204
298
345
342
343
253
278
271
250
249
331
382
273
407
328
298
307
354
317
301
342
341
323
313
272
216
302
294
298
245
256
332
363
289
282
317
396
404
364
297
417
335
381
324
300
233
379
309
303
362
269
319
369
326
360
313
321
369
244
437
363
357
348
318
344
254
329
296
316
336
323
340
336
288
270
341
287
296
169
337
269
316
246
274
347
310
260
321
290
379
327
368
282
394
251
396
343
395
297
294
393
307
283
314
361
212
307
279
320
219
322
271
310
334
358
290
310
301
331
254
277
302
267
293
237
401
355
251
293
262
302
342
331
376
383
286
376
321
245
311
436
374
368
369
316
295
229
337
298
331
245
372
318
304
223
294
303
351
333
307
329
279
276
299
347
275
289
308
290
326
223
341
267
349
355
323
272
346
345
305
292
318
257
408
300
389
279
196
276
284
410
333
328
335
262
441
317
266
303
371
337
377
287
355
341
301
329
343
346
318
331
390
256
307
271
282
340
382
314
355
319
325
305
368
386
356
303
348
336
357
288
330
269
278
368
377
309
330
318
270
262
311
313
270
320
292
355
282
324
279
318
327
335
322
298
298
253
331
238
267
297
351
345
369
306
341
237
346
334
349
369
352
295
352
328
318
350
302
291
208
336
312
345
234
406
387
235
293
310
309
308
382
315
348
228
299
281
281
278
247
328
298
355
305
354
368
360
414
316
328
318
276
264
292
331
272
381
342
344
261
289
339
328
298
275
307
235
284
340
332
383
267
365
378
358
311
376
337
278
298
248
296
331
285
357
247
346
236
349
248
275
292
383
325
333
325
350
310
329
255
307
270
316
354
294
331
288
329
277
414
314
222
325
333
289
282
216
338
358
353
312
346
298
267
326
296
342
332
260
377
263
305
389
229
312
284
323
320
305
221
301
344
363
325
308
363
377
280
278
214
247
329
338
259
303
374
230
263
290
306
310
330
312
314
364
352
268
392
334
361
302
338
267
314
297
303
434
332
298
319
249
325
312
338
394
402
289
279
282
285
155
359
336
288
276
284
321
391
332
334
306
352
349
350
261
333
274
289
257
348
317
277
302
311
259
264
398
305
352
287
345
391
365
331
303
345
361
374
329
344
308
356
338
293
321
253
302
250
306
271
349
351
307
324
270
363
292
281
288
347
379
348
293
258
325
354
428
303
276
326
250
330
320
378
318
362
333
299
297
371
344
304
277
286
307
350
329
326
270
387
258
318
273
346
321
346
301
376
354
263
354
290
279
296
325
308
296
337
337
391
268
229
272
337
365
262
304
330
265
327
253
385
289
297
244
293
269
326
373
313
274
325
332
318
270
314
336
278
308
332
353
272
280
265
315
347
317
347
309
334
331
342
307
249
349
377
325
180
292
375
376
282
316
344
339
396
287
344
289
309
379
268
261
287
353
261
364
354
290
260
319
365
269
289
307
295
386
238
292
347
328
368
276
325
332
264
317
369
338
362
307
295
228
199
365
336
358
314
237
309
288
217
319
390
389
334
301
302
316
351
275
350
356
273
305
322
271
375
347
280
301
418
416
354
319
260
413
350
308
313
340
329
393
288
280
244
324
332
371
321
334
253
366
353
276
365
351
288
386
295
202
364
381
322
349
297
266
271
318
339
249
265
372
237
343
353
382
356
286
397
324
316
348
354
283
305
365
334
249
358
353
295
341
362
363
367
318
334
407
321
254
346
311
282
318
262
316
340
287
242
318
259
280
326
344
357
266
358
316
337
282
255
373
354
246
289
332
345
274
253
386
272
190
239
346
286
326
334
227
378
367
303
377
269
243
340
313
261
382
364
250
292
366
275
322
344
288
304
297
273
289
303
252
351
284
285
316
242
293
323
331
250
345
266
321
328
365
295
317
288
297
278
312
276
302
387
263
346
334
354
326
317
306
320
336
307
299
316
348
287
229
360
364
302
277
282
299
262
367
355
312
355
282
360
304
344
310
285
301
305
247
322
366
341
343
357
280
316
347
343
367
404
353
295
366
274
388
431
336
278
346
207
298
195
360
297
327
331
314
270
343
303
251
301
402
224
306
275
378
298
332
322
321
296
258
292
321
347
275
333
291
359
335
292
312
276
317
273
284
400
358
281
357
343
261
306
245
243
272
311
357
329
350
345
314
326
340
342
371
352
313
316
288
430
325
366
291
295
373
329
351
424
309
363
321
390
319
263
352
226
322
202
338
340
265
299
298
414
323
327
337
331
289
365
308
340
407
326
229
340
253
284
361
325
338
295
352
371
354
347
334
320
307
296
312
360
328
353
386
315
272
263
331
406
265
323
376
347
437
341
379
346
358
260
353
278
382
255
313
336
318
244
287
378
272
303
363
329
327
355
309
308
333
290
322
287
313
309
318
314
291
323
356
270
296
384
261
389
331
348
331
339
301
262
320
369
318
239
283
366
324
299
276
363
319
271
287
271
329
335
323
308
327
331
282
377
388
348
306
261
294
436
274
376
345
435
375
266
241
407
407
283
346
246
355
305
326
282
266
350
242
332
323
250
387
265
325
258
351
342
303
254
375
272
201
391
342
306
245
378
375
221
325
333
424
314
313
250
362
348
315
317
334
308
291
351
333
328
313
389
349
355
365
343
426
294
266
348
338
350
380
348
269
347
334
374
280
328
260
395
237
292
405
280
310
326
301
268
268
330
386
362
316
345
343
324
286
281
276
223
274
263
306
325
384
383
289
364
371
280
331
254
363
340
286
318
344
338
224
337
286
273
333
288
311
398
395
340
275
287
289
313
331
299
390
296
346
254
268
379
323
277
336
273
336
211
293
350
318
298
286
332
392
358
275
377
278
351
268
331
283
323
294
188
311
331
273
253
362
337
258
291
205
356
222
305
298
358
301
365
298
277
336
326
344
282
330
317
242
334
247
363
335
265
322
296
262
271
336
271
345
334
269
367
298
341
322
300
373
281
323
365
348
277
351
340
379
330
315
385
383
350
310
302
243
352
268
301
324
304
242
359
225
262
347
357
306
298
271
287
295
275
286
244
380
283
335
301
308
274
263
349
351
292
303
266
310
308
388
296
371
264
379
398
249
290
256
374
315
309
299
327
334
326
308
266
296
265
370
243
296
248
283
297
234
294
298
298
361
271
383
303
297
344
315
302
341
331
343
408
252
321
361
328
407
319
356
388
322
264
300
347
285
285
327
324
315
193
345
388
385
322
364
282
349
301
331
318
222
298
342
329
281
309
330
369
422
412
315
311
313
296
325
262
311
329
272
283
357
371
299
415
282
240
313
298
385
353
366
251
362
315
329
332
352
278
380
294
267
225
351
338
291
297
355
230
240
328
311
365
320
295
321
290
323
323
333
380
342
324
354
319
229
337
335
247
365
392
374
270
286
289
320
220
422
265
354
288
294
315
337
295
347
309
354
304
274
247
389
368
213
360
316
366
295
331
353
322
282
346
252
347
277
324
395
377
329
329
239
200
287
335
255
339
241
324
351
229
316
249
294
369
394
249
185
313
329
339
306
320
293
321
330
391
305
287
334
277
320
355
312
354
302
281
403
335
364
336
288
389
291
255
325
337
368
288
347
394
313
282
250
407
329
412
315
340
417
276
395
302
334
206
368
317
363
317
298
208
279
370
328
271
302
306
374
323
341
327
336
304
281
334
314
291
306
347
297
330
397
327
306
329
344
363
297
305
241
319
225
311
347
366
195
306
304
306
284
273
357
358
345
305
375
337
279
358
297
289
285
286
350
388
253
303
288
345
348
301
324
376
354
357
282
337
204
278
246
251
298
259
336
328
312
382
293
326
375
310
255
230
364
354
318
333
250
330
341
334
251
385
285
371
340
294
330
349
416
350
278
282
317
283
313
348
316
366
266
334
317
361
309
293
354
331
270
349
299
325
388
255
370
308
226
397
342
359
213
322
320
323
287
309
277
304
281
324
285
303
360
366
259
290
324
352
253
368
281
397
380
349
293
375
321
317
304
311
248
290
387
316
345
394
274
312
339
299
374
367
318
292
308
342
344
361
309
330
303
280
314
262
389
387
255
296
357
274
258
407
272
304
205
391
389
358
338
301
364
396
278
322
325
299
273
250
262
287
299
310
313
328
309
313
294
344
333
385
302
267
370
202
321
398
335
376
337
370
222
310
243
358
253
301
329
300
294
302
407
299
262
326
273
320
327
372
331
340
361
330
388
326
350
295
295
310
350
311
369
321
313
343
371
281
291
308
328
183
329
273
237
286
398
398
265
267
315
274
303
274
305
302
286
376
301
353
340
290
276
300
335
336
349
334
331
320
301
302
334
317
343
303
318
318
355
346
297
243
300
368
376
301
295
359
317
240
352
276
267
269
361
383
241
369
212
336
331
379
385
344
316
279
320
328
318
352
318
381
366
290
301
287
319
355
358
377
263
253
321
377
340
329
381
314
233
337
332
287
291
274
242
324
308
356
313
381
320
298
325
299
211
236
373
280
309
271
324
297
259
343
327
335
318
336
342
364
300
342
381
263
278
384
375
379
324
281
292
276
254
284
330
322
330
344
328
272
351
346
323
332
348
344
272
274
297
273
313
313
337
338
283
348
287
311
322
293
277
277
337
352
292
297
211
363
362
324
442
221
210
311
345
310
344
282
315
347
305
389
380
266
246
287
288
249
291
343
308
362
276
319
382
276
253
295
253
343
319
290
327
309
398
288
296
340
352
300
339
322
355
314
353
322
236
284
216
265
313
382
269
326
330
342
301
339
294
320
314
380
330
236
304
347
289
268
370
280
301
263
279
246
299
372
363
283
307
406
343
276
347
283
337
382
294
349
295
299
282
388
298
343
300
276
363
302
356
356
436
349
340
398
367
302
347
364
261
310
245
251
368
331
369
307
357
314
326
245
360
291
304
275
306
318
315
320
356
383
313
310
350
286
256
424
311
318
374
225
324
388
344
293
251
334
395
259
325
241
312
319
280
337
390
304
291
352
235
294
274
288
258
297
319
283
377
359
330
339
305
293
249
332
385
214
362
268
295
218
372
299
392
281
320
267
320
312
293
288
321
346
325
333
367
347
340
305
305
343
290
276
328
323
355
281
303
253
384
355
335
357
347
363
402
304
264
367
324
321
295
354
289
288
287
397
331
250
349
291
276
323
257
359
371
279
309
373
284
259
314
257
320
375
312
290
296
263
318
341
335
323
310
297
312
402
298
292
299
395
286
352
259
320
311
327
439
290
321
343
349
307
365
280
395
353
284
249
298
275
371
370
279
256
350
285
386
321
328
306
317
266
311
317
345
246
332
312
280
316
363
379
262
311
292
332
302
370
270
231
282
376
360
345
355
382
302
313
325
340
362
237
284
293
222
230
398
309
258
364
268
283
321
318
374
309
301
250
241
294
240
385
292
261
341
319
304
278
239
352
335
315
300
235
352
271
310
320
289
337
337
251
337
279
310
315
277
301
340
334
313
358
277
290
257
263
323
339
344
369
310
261
345
295
305
320
251
354
341
332
337
345
366
370
355
297
322
323
304
252
382
309
270
318
289
278
331
312
269
273
328
258
247
268
320
320
344
305
264
322
364
270
336
299
321
341
259
306
233
370
322
323
317
376
265
341
289
280
334
305
277
337
326
271
250
358
322
315
346
415
262
285
292
351
366
325
351
275
348
292
279
353
372
360
382
285
366
300
361
287
315
318
296
396
317
285
403
324
258
311
297
262
278
318
280
373
258
281
314
367
297
267
309
344
330
265
403
291
286
307
319
245
262
313
344
273
297
284
341
334
311
325
272
334
257
296
340
349
253
281
321
329
296
366
364
300
307
338
339
290
339
389
298
329
263
297
317
324
289
270
377
318
309
324
337
244
298
355
298
364
310
313
374
281
360
257
183
370
302
307
304
319
347
361
274
205
333
278
426
376
347
386
316
325
351
251
313
354
306
311
321
345
356
347
260
226
279
284
305
320
378
335
323
370
376
286
351
279
252
331
332
304
397
359
286
301
285
292
371
255
265
314
338
322
277
318
278
387
295
318
287
296
350
392
268
283
321
219
346
310
343
255
261
201
311
296
414
323
237
364
281
290
240
339
330
268
313
325
330
324
331
225
383
344
318
306
347
393
394
337
322
359
300
369
329
286
275
306
354
353
385
294
306
281
356
292
298
293
273
329
359
350
295
323
319
307
287
349
290
397
253
404
350
402
354
300
300
257
267
298
358
313
293
295
263
262
361
259
307
335
315
373
372
316
322
348
342
276
306
309
329
339
312
371
363
299
234
277
324
285
372
272
272
340
289
265
224
364
270
324
304
332
297
350
339
338
342
293
284
296
299
338
289
349
349
400
297
371
370
252
278
391
306
256
422
356
343
355
275
327
331
316
230
341
295
310
311
392
334
374
378
333
240
355
318
357
410
334
294
365
293
240
297
357
330
331
343
359
400
350
267
329
310
400
316
339
277
276
339
280
349
291
343
323
333
292
261
299
363
242
332
318
334
374
277
351
325
297
279
350
260
345
356
315
409
332
317
318
322
268
325
310
289
346
340
341
363
291
173
373
354
356
288
300
298
367
320
305
318
335
264
355
277
272
264
335
345
369
362
340
261
340
364
306
304
344
293
353
344
341
346
351
345
324
344
323
338
330
256
354
248
327
322
312
297
360
325
289
343
393
314
244
286
220
316
285
357
320
252
235
243
298
392
318
328
332
280
306
333
326
384
310
335
374
349
338
244
316
280
366
355
408
271
246
277
309
316
298
273
303
299
283
262
346
348
250
394
327
324
330
339
323
340
308
244
188
326
322
409
247
250
268
334
347
253
302
276
262
324
420
399
305
357
295
336
354
360
251
291
324
360
322
289
339
301
260
388
243
274
356
316
341
335
291
280
230
398
334
304
325
277
294
377
257
350
311
374
352
201
330
388
296
338
267
370
304
258
318
303
311
275
381
297
300
258
303
286
359
253
241
276
354
425
343
376
376
274
416
335
281
301
294
340
299
236
327
322
362
365
348
309
348
313
282
300
367
304
345
324
277
370
188
269
286
356
269
298
345
234
321
307
261
303
337
353
273
350
338
387
277
337
316
267
293
307
308
285
322
323
274
361
314
263
419
221
375
301
353
308
356
277
368
348
323
330
382
329
351
340
265
353
356
323
322
307
275
280
331
347
300
371
247
328
352
273
362
283
348
306
252
318
308
307
330
278
248
401
379
383
327
313
384
297
224
278
358
392
367
358
384
410
251
327
321
333
312
330
314
289
256
341
324
297
291
397
336
369
251
321
192
312
344
299
345
315
280
345
296
304
350
348
282
309
298
302
243
336
348
304
225
273
261
322
234
339
338
310
325
330
347
340
311
305
234
335
256
287
303
324
312
350
301
288
330
372
320
277
259
337
354
347
305
327
387
355
348
366
285
297
284
243
261
307
343
358
347
413
379
284
314
369
368
347
331
277
324
326
275
283
326
307
393
334
340
295
248
320
381
392
352
246
341
371
299
361
347
382
370
298
337
322
375
254
368
266
301
339
226
342
249
352
301
298
307
300
323
323
371
281
281
260
287
265
281
330
356
279
296
323
305
309
290
296
309
389
330
289
374
289
263
310
445
299
374
380
354
279
372
228
303
339
347
355
304
359
224
362
263
252
238
273
319
284
272
238
260
302
279
235
354
255
303
370
339
376
286
268
171
291
343
294
348
335
297
227
303
298
291
361
349
335
342
299
316
290
301
276
276
341
254
221
384
377
311
368
281
325
347
400
285
339
240
383
330
312
318
339
402
331
294
343
231
411
385
295
249
335
370
270
350
322
346
343
293
292
334
272
336
373
317
344
319
286
350
375
243
336
340
348
235
368
393
321
395
361
317
333
316
422
266
285
308
302
254
390
355
319
344
332
317
371
322
327
406
330
271
349
307
323
331
283
356
349
372
362
237
336
342
230
308
275
319
324
300
242
323
351
342
297
376
325
385
367
368
350
371
349
295
292
235
243
383
351
262
334
362
328
379
326
305
320
343
323
323
370
319
321
346
299
318
201
244
258
357
303
336
314
297
292
402
409
301
350
268
389
287
372
383
335
317
278
230
287
350
247
302
365
217
345
247
373
340
306
318
319
350
299
322
240
309
287
257
280
416
293
360
335
284
322
315
306
300
325
229
249
254
358
335
272
326
270
353
352
359
325
259
307
312
336
363
310
296
309
394
287
292
277
331
205
262
286
289
291
269
274
335
317
278
291
340
273
229
315
332
299
356
310
326
353
251
235
331
261
325
279
382
310
302
305
316
257
314
335
265
301
346
364
372
291
233
316
334
339
386
329
266
362
428
338
327
340
238
305
349
247
201
248
331
312
332
344
327
319
380
394
414
319
299
220
361
312
325
321
317
284
302
305
426
324
224
314
267
307
373
325
289
414
399
308
199
313
368
299
335
351
256
249
296
314
394
348
319
388
312
249
369
276
293
293
294
315
330
338
305
320
257
288
272
236
302
309
268
231
329
349
335
284
352
263
334
251
321
347
382
297
318
269
322
331
347
369
278
357
410
349
259
340
341
287
311
352
373
299
268
334
390
310
321
301
362
258
322
243
251
285
265
315
300
343
354
359
351
337
310
355
304
303
324
330
398
324
311
309
244
415
368
327
363
407
339
370
299
367
354
312
299
315
306
243
292
291
288
306
296
325
349
293
292
332
186
291
290
290
285
311
257
303
355
300
267
348
290
334
382
321
310
338
337
227
348
370
291
311
255
279
311
317
368
355
333
331
301
279
313
305
268
358
309
364
321
251
236
313
239
284
270
313
301
282
298
355
386
352
329
345
348
263
298
353
279
339
300
288
365
323
327
270
288
338
309
345
327
303
302
293
313
295
299
353
338
394
371
295
386
241
317
285
315
261
336
290
308
324
259
340
352
344
311
349
181
326
310
286
315
324
203
284
316
326
354
348
383
351
351
323
308
333
316
272
252
368
269
331
284
321
300
348
288
349
357
375
332
374
294
292
368
296
298
315
347
290
245
361
408
238
278
314
292
262
273
275
371
325
338
291
246
352
278
326
323
328
358
321
345
174
299
325
386
373
315
342
377
338
276
244
294
391
268
285
192
320
335
404
336
297
310
254
304
219
318
358
293
312
324
316
371
340
237
368
334
333
360
421
221
338
331
290
307
281
357
343
290
360
263
291
327
345
380
251
249
388
369
263
309
248
302
291
309
299
324
325
336
267
301
343
344
312
294
341
377
335
284
293
343
349
366
310
298
324
284
428
307
239
366
352
365
332
299
319
330
300
262
322
297
304
271
332
282
323
308
292
290
368
266
351
286
268
294
357
270
257
311
339
306
296
218
345
326
318
283
309
331
404
306
284
388
259
280
289
324
331
373
258
336
306
336
195
230
317
279
308
358
353
330
282
278
350
378
372
356
217
350
387
258
249
349
326
325
351
382
316
312
398
330
248
283
342
278
272
305
296
373
297
272
342
285
294
326
294
339
325
315
197
327
297
335
342
351
275
263
326
234
345
313
332
335
290
308
297
375
327
312
288
351
235
384
262
368
308
342
374
366
319
252
249
302
335
346
367
380
288
335
312
302
276
293
396
310
302
340
357
323
273
231
323
366
288
358
298
321
312
251
313
316
404
387
356
307
364
330
320
318
363
347
337
273
273
320
348
309
345
372
338
346
312
333
295
292
247
305
264
399
255
318
240
390
389
342
260
354
299
318
288
322
221
265
376
288
232
264
310
275
357
326
268
337
337
326
353
241
347
310
305
285
236
304
406
302
364
233
386
288
317
360
358
321
359
327
288
390
299
301
275
297
386
333
230
331
269
295
364
370
320
359
335
333
289
334
307
337
333
280
327
381
382
332
325
218
326
414
375
273
336
384
269
287
327
309
300
282
258
374
395
311
292
329
362
281
367
398
344
329
291
367
362
305
289
330
314
368
221
418
301
319
310
327
358
324
350
284
359
218
322
313
289
339
335
337
146
349
287
379
319
426
359
357
394
264
308
244
324
353
246
315
274
355
362
334
285
309
288
252
348
384
293
370
306
269
332
316
301
253
306
292
269
313
326
272
231
293
370
235
318
248
360
277
350
267
261
329
326
307
289
258
330
347
204
320
248
281
359
418
341
340
377
321
223
369
269
404
299
306
361
333
350
281
394
367
356
285
301
379
336
215
295
314
318
271
322
367
318
261
409
380
313
294
248
348
308
300
322
271
266
287
372
359
362
325
335
315
247
299
274
318
315
335
360
244
271
284
312
304
298
301
326
363
285
332
305
332
316
322
279
283
368
286
371
331
220
314
310
321
340
306
389
257
348
316
328
316
315
349
274
313
301
310
330
386
287
348
364
353
319
288
269
383
371
385
363
221
341
303
307
367
347
300
329
285
326
300
229
365
255
323
332
332
264
332
394
353
371
317
297
332
346
349
333
294
328
418
345
398
297
283
322
272
195
350
289
303
309
253
343
244
309
285
257
296
294
288
272
343
378
293
279
313
237
280
374
354
294
275
370
329
375
306
331
231
299
369
354
336
266
390
334
353
300
360
356
309
312
268
306
351
287
231
335
353
309
268
282
307
355
307
386
306
273
294
320
217
287
319
259
293
284
343
392
244
315
276
302
372
299
440
381
327
334
309
290
326
321
273
341
270
328
364
353
364
257
246
301
251
289
332
247
327
294
286
393
321
406
302
288
291
296
296
317
325
298
243
257
348
329
265
372
285
304
255
352
371
273
390
319
346
363
293
259
359
299
311
323
294
325
369
325
285
331
319
310
293
288
326
251
341
382
213
374
280
373
384
246
447
307
348
341
259
276
300
351
363
408
340
303
278
300
357
308
291
333
314
381
337
213
216
330
368
270
344
371
284
298
294
312
234
302
225
292
281
266
301
298
372
303
269
325
406
261
280
288
273
240
295
300
370
343
376
254
344
372
355
247
336
271
245
370
304
357
345
356
259
316
336
298
230
346
396
304
287
373
279
400
269
323
300
357
260
352
393
238
369
307
316
356
337
237
288
296
319
336
391
379
357
333
329
333
314
245
362
306
296
290
333
356
286
323
342
285
366
304
293
276
327
343
315
356
321
237
361
299
349
261
302
205
341
280
371
344
304
362
323
245
277
347
388
289
287
266
302
304
311
294
378
342
372
257
276
295
358
328
394
340
375
383
329
332
269
368
347
299
301
373
367
292
328
276
288
361
312
289
391
290
329
364
266
267
325
406
326
386
296
349
299
288
346
378
377
336
261
316
325
293
357
255
328
286
319
319
329
246
334
327
231
318
378
296
358
250
379
303
384
331
308
327
208
270
337
238
308
301
383
343
356
310
314
336
357
288
272
330
304
238
325
348
258
334
291
348
349
325
292
293
313
372
224
414
250
232
287
367
269
347
436
278
306
315
346
339
284
321
311
365
375
260
335
311
369
264
243
343
344
311
356
359
322
387
356
285
347
253
291
300
313
373
225
282
313
282
322
253
332
339
212
306
341
337
326
240
297
246
346
348
250
348
414
354
328
290
221
253
304
392
316
344
394
355
278
314
293
414
279
245
366
326
350
344
353
365
345
315
252
297
350
280
325
215
342
342
339
318
369
319
243
294
309
312
265
370
300
397
361
327
339
348
299
298
344
208
309
356
341
337
252
258
261
255
259
288
338
318
313
315
382
328
290
281
302
287
260
269
215
324
337
359
348
339
271
281
236
304
338
345
324
348
329
346
319
354
321
340
347
353
338
322
331
314
251
376
336
311
244
311
275
364
298
337
383
392
310
260
328
283
204
314
264
274
258
335
343
338
344
262
309
344
303
298
378
336
342
340
334
277
306
307
294
308
362
283
291
238
311
358
339
320
346
300
376
360
337
383
269
361
354
267
293
284
343
328
284
365
347
366
343
339
262
371
249
335
244
324
232
322
307
322
249
287
397
320
303
292
291
314
304
278
326
364
303
382
395
336
327
334
298
279
319
331
344
351
301
282
346
345
284
293
241
317
373
272
325
374
264
287
298
401
348
320
330
264
298
246
327
310
260
379
319
353
293
320
315
352
329
274
311
267
282
347
354
272
321
220
255
347
281
297
319
338
331
267
360
286
300
302
336
373
413
338
338
292
262
342
264
354
322
336
326
246
324
278
406
334
314
447
226
266
230
323
321
253
353
297
290
326
291
319
225
323
338
346
265
368
339
363
394
355
275
235
321
296
288
305
324
303
307
327
235
331
220
328
244
331
302
393
404
345
330
338
263
264
321
296
289
288
282
281
318
340
292
333
320
326
286
249
275
283
352
350
307
305
339
271
334
295
380
347
286
326
263
339
329
291
238
264
320
309
305
219
283
353
169
341
244
299
330
262
322
382
379
276
281
315
359
301
308
235
252
355
339
220
315
262
353
275
357
331
296
378
362
356
374
357
364
261
269
291
310
351
320
293
348
364
382
372
401
226
374
362
347
347
376
269
314
264
261
261
344
335
272
256
256
301
371
287
362
328
318
318
400
278
405
241
236
298
364
288
350
296
348
333
352
329
283
375
288
305
280
254
324
268
344
317
346
398
269
351
329
306
311
250
324
368
357
309
340
303
327
326
315
221
308
304
382
354
257
354
400
281
319
384
330
311
312
308
282
356
358
321
303
281
313
309
307
287
317
317
371
271
350
382
236
339
350
258
370
309
323
325
316
339
333
311
298
267
236
343
341
288
328
296
321
343
367
370
346
356
352
315
337
339
303
277
288
362
368
312
327
295
381
334
287
266
362
361
261
288
329
310
360
328
321
275
308
370
251
293
289
265
243
438
361
389
291
299
410
309
325
342
393
283
340
357
336
346
361
341
358
338
365
297
301
353
301
296
337
235
212
379
290
339
350
293
352
345
215
299
313
338
257
296
240
346
269
400
305
299
295
394
290
395
241
299
298
253
337
222
264
329
324
342
312
324
338
284
355
385
348
305
297
216
291
386
312
335
256
240
353
356
242
292
339
291
331
282
323
293
392
293
259
255
283
406
255
348
231
371
349
308
334
367
267
371
382
325
249
269
290
354
336
328
262
252
368
382
320
316
291
318
306
366
389
349
236
245
330
329
303
373
388
401
335
291
334
256
353
302
352
292
294
349
382
378
255
296
342
320
274
301
287
340
216
231
305
303
384
340
324
278
358
326
342
309
334
377
329
282
346
368
266
333
281
301
246
356
293
251
288
360
288
337
277
215
309
343
334
324
301
371
275
274
318
303
285
329
319
344
396
373
262
181
308
331
329
302
200
367
223
418
323
366
301
275
256
302
313
290
357
278
321
300
361
284
275
305
275
364
323
300
317
328
256
326
389
332
305
326
353
332
286
183
295
307
275
335
299
307
270
386
283
263
329
417
354
344
420
307
238
290
356
359
363
273
198
357
340
314
385
387
341
264
373
315
338
312
283
280
249
342
349
365
265
333
297
335
257
357
326
327
327
396
392
222
338
251
199
355
265
245
352
349
252
302
271
299
332
268
376
373
218
351
332
261
331
262
312
308
252
320
346
297
334
428
299
324
332
275
311
320
370
328
282
355
359
263
304
306
362
329
339
354
359
366
331
284
315
345
187
298
332
329
275
282
274
349
234
333
313
429
321
323
292
293
323
343
245
351
304
341
338
342
269
267
372
392
364
348
390
361
344
267
344
387
318
424
286
391
237
292
393
318
294
278
334
331
311
362
218
342
298
251
272
311
396
326
379
340
335
261
337
244
374
359
385
394
326
353
308
276
331
364
295
271
385
363
317
270
288
307
407
268
356
334
302
296
274
271
348
230
377
225
328
302
271
307
334
287
263
283
351
300
336
358
338
354
361
264
290
405
243
337
323
340
351
319
346
331
416
303
293
314
294
317
323
304
245
274
345
221
323
256
296
249
354
351
314
230
293
336
327
283
323
301
338
284
379
340
356
354
275
434
275
291
349
223
397
322
345
377
239
397
381
351
236
335
375
316
355
242
306
331
274
354
280
285
307
297
342
247
349
327
328
337
332
370
363
356
361
274
340
327
308
369
343
357
304
424
351
347
239
294
352
295
324
386
331
259
363
277
328
333
326
313
358
254
398
235
342
331
352
322
327
322
339
383
196
337
274
297
295
334
332
359
291
363
308
348
369
344
356
268
312
390
273
316
265
336
277
356
315
367
314
275
272
327
249
307
431
404
325
300
326
296
268
358
296
296
304
301
306
338
330
351
258
372
224
336
355
350
325
341
291
353
259
310
341
323
355
338
297
349
276
336
349
339
357
328
341
288
335
232
332
299
328
294
255
290
390
334
341
308
282
346
311
287
400
397
319
354
332
364
248
352
308
291
261
222
340
319
335
302
341
338
257
285
341
356
344
223
273
306
294
255
314
364
269
365
284
251
368
284
303
276
315
297
320
328
316
369
344
366
312
287
328
334
309
293
278
393
321
296
375
373
357
303
312
328
301
295
418
326
290
339
269
305
274
234
288
372
323
284
382
290
358
290
367
269
231
355
277
251
325
256
336
370
237
328
331
355
317
361
290
376
344
373
344
393
258
297
278
239
351
347
245
371
365
336
317
300
299
379
278
383
350
243
300
343
326
279
364
381
273
351
342
299
302
375
372
240
301
342
386
321
397
302
344
359
285
387
356
191
357
350
280
385
279
322
381
283
334
308
299
295
368
322
366
353
374
326
389
338
301
337
298
269
363
279
288
228
311
341
257
353
322
287
230
303
263
290
304
336
291
360
272
334
340
416
295
331
340
285
342
296
276
172
289
287
368
236
361
404
346
280
298
304
344
291
437
277
338
296
262
353
321
358
344
256
246
311
360
306
291
354
293
388
300
410
278
229
379
342
278
306
252
402
234
337
218
346
336
319
350
312
288
333
319
282
281
356
258
340
288
353
273
263
332
326
349
360
256
311
359
243
285
291
326
314
320
287
243
300
278
291
344
274
318
204
318
366
280
303
314
330
351
324
332
329
293
383
405
341
253
309
351
350
304
292
291
276
306
323
285
296
254
348
296
229
332
298
228
253
343
296
233
286
325
213
335
310
311
340
333
314
244
334
274
294
342
321
380
279
339
218
343
343
250
253
300
386
295
267
323
339
337
353
317
323
353
201
279
335
355
288
284
417
305
277
351
216
319
331
236
355
276
329
324
383
238
289
386
353
326
327
213
265
334
389
329
350
298
383
303
325
344
326
258
261
368
350
310
307
267
354
323
345
283
328
247
336
273
368
229
318
360
410
328
364
321
263
330
295
327
310
344
347
298
308
325
242
286
355
362
306
258
345
364
233
407
240
341
333
247
383
327
313
232
257
336
274
245
381
330
272
369
312
327
342
361
347
308
256
303
298
323
359
300
333
345
280
294
300
324
253
352
302
336
238
317
290
317
311
231
364
354
323
373
348
283
298
337
329
332
359
343
274
333
352
325
388
347
313
221
368
332
395
296
325
356
411
312
342
397
329
339
276
323
273
317
275
338
312
284
273
359
404
267
376
283
269
288
380
246
336
275
314
290
266
303
369
332
303
295
300
278
374
344
345
337
327
300
229
297
373
256
286
342
269
344
324
348
349
285
247
353
315
309
289
289
336
267
306
355
298
328
316
320
252
338
339
387
362
215
296
294
291
336
298
266
315
273
267
327
279
327
326
310
267
361
272
343
269
281
296
326
316
296
257
313
253
292
362
334
236
300
297
307
323
400
262
276
308
275
353
322
243
273
322
279
357
314
263
238
348
342
203
309
320
343
290
345
368
304
355
286
323
269
312
308
318
265
419
355
352
229
335
273
350
310
362
314
282
293
227
358
362
313
286
300
280
350
283
315
287
312
274
259
265
252
240
286
256
383
308
324
304
314
284
308
217
438
324
369
288
318
295
262
351
310
302
278
342
311
364
239
332
263
297
299
353
339
297
396
338
304
324
365
300
366
292
318
330
329
260
359
246
315
340
344
279
362
287
326
296
336
327
300
335
317
287
253
301
281
290
318
320
291
270
276
319
323
297
314
275
331
306
443
301
318
292
350
324
344
277
301
256
268
375
374
352
312
262
400
272
407
372
306
374
270
337
200
291
318
314
284
297
307
343
350
368
242
317
383
266
286
325
289
321
292
375
212
329
367
341
294
341
215
310
308
316
364
276
360
301
297
356
257
369
344
223
298
333
336
341
348
304
382
371
355
331
266
270
338
276
359
274
323
190
313
324
354
266
320
270
326
344
331
243
309
421
300
307
311
349
307
336
343
267
289
274
260
282
378
348
272
305
293
336
262
287
271
366
255
283
342
279
271
255
378
327
338
322
318
364
361
255
328
322
332
315
340
301
403
341
306
230
262
240
287
361
351
360
365
352
369
264
351
360
288
333
318
231
269
271
276
261
308
329
294
306
349
305
345
375
281
298
321
360
377
271
285
329
307
317
329
318
306
329
308
371
394
330
288
231
358
326
319
309
286
388
352
303
285
278
313
228
442
360
274
319
360
409
377
362
331
369
302
263
283
295
295
414
380
342
326
333
267
299
271
393
382
299
396
369
331
310
323
321
358
311
418
326
258
329
286
345
340
332
277
195
268
261
401
342
266
343
339
273
381
339
262
315
338
305
410
310
255
311
368
274
356
387
309
273
263
271
428
278
261
293
413
305
286
374
343
249
199
297
324
261
213
270
316
300
361
349
333
299
374
248
348
311
322
312
197
360
256
292
394
292
359
304
319
240
296
261
332
300
284
274
324
297
352
327
313
421
312
304
373
367
359
242
276
319
302
360
334
346
346
313
281
370
308
275
310
311
349
277
354
341
286
338
360
302
307
325
298
330
420
291
285
326
350
305
227
360
299
314
363
313
375
280
220
367
373
269
280
361
339
308
384
292
347
266
289
249
327
348
289
384
184
234
293
300
310
373
313
329
288
256
331
289
294
357
377
351
294
366
274
296
310
322
296
326
222
265
417
293
389
341
271
293
304
255
235
305
305
363
318
326
328
224
331
378
312
374
358
261
331
285
237
339
323
277
365
289
410
342
327
301
351
350
313
294
298
311
293
269
357
227
334
273
315
345
337
325
306
303
269
291
322
285
389
355
318
328
290
351
344
343
362
209
238
333
379
306
336
341
354
359
334
294
367
286
371
355
301
271
338
362
256
258
326
327
334
308
289
317
319
341
432
302
368
323
338
306
352
316
322
260
397
292
310
267
347
266
290
264
283
348
313
286
289
366
243
404
376
361
315
361
287
289
289
353
312
307
330
283
289
242
294
337
285
266
298
328
299
323
244
328
310
355
270
295
396
316
359
299
312
401
327
316
370
270
379
298
246
301
287
327
286
325
351
330
249
394
336
335
317
379
282
330
363
384
305
297
220
269
316
285
322
256
268
404
335
314
267
379
229
288
283
319
313
329
273
355
335
279
350
348
255
416
343
336
301
326
253
342
337
267
254
297
345
333
267
356
339
370
234
250
284
226
306
275
296
367
356
370
348
309
265
378
268
267
256
257
358
294
340
268
295
286
313
351
363
384
336
255
195
297
313
320
341
296
251
333
377
353
323
318
344
314
279
274
337
345
303
320
314
291
304
319
376
315
304
354
291
265
316
354
247
359
316
268
309
293
335
386
290
353
273
347
280
332
359
283
310
349
242
263
345
368
306
308
288
380
287
350
408
278
361
446
249
273
281
315
312
323
382
339
347
331
245
284
358
313
315
354
350
341
314
288
403
354
307
264
360
336
283
245
323
274
321
309
299
310
266
356
365
342
291
358
397
282
375
336
335
261
383
353
345
271
318
399
360
320
335
300
317
328
392
292
332
388
350
318
357
296
359
265
305
361
336
282
319
301
335
286
344
275
332
302
380
320
277
281
383
380
285
302
270
323
289
301
336
318
318
342
298
365
210
315
301
277
244
258
269
301
305
301
352
351
303
237
235
270
279
268
309
361
381
275
300
257
281
392
352
240
307
325
396
351
254
354
350
219
360
329
270
293
321
316
245
264
319
430
273
301
360
305
284
289
228
333
240
334
311
316
262
299
240
366
340
352
286
296
343
346
372
354
283
342
297
258
326
320
284
212
341
301
253
370
331
334
334
349
372
335
281
269
360
382
396
363
292
294
333
289
333
240
291
239
229
356
365
290
218
323
273
295
339
296
285
306
327
380
258
351
285
304
286
342
273
250
293
272
318
317
473
305
303
375
326
385
308
349
245
307
291
360
334
297
311
335
247
298
370
291
305
349
366
283
358
316
335
326
370
315
364
340
334
373
215
277
372
326
246
356
357
274
320
363
317
280
319
313
355
222
389
284
278
237
298
332
166
371
338
362
323
292
370
270
266
304
334
393
276
342
308
321
347
287
349
323
299
319
326
303
372
378
308
341
349
343
357
280
282
229
341
379
364
267
369
276
308
372
334
230
251
248
260
359
289
371
255
318
306
274
309
361
374
262
253
264
327
381
363
354
273
323
331
314
369
310
296
227
371
309
322
358
319
388
276
301
306
243
340
371
247
252
309
377
302
319
364
207
330
297
325
376
373
368
299
283
337
247
317
223
317
259
348
334
287
266
361
405
308
329
237
325
311
350
356
354
420
225
360
230
321
313
299
375
323
300
246
269
324
333
342
309
247
348
370
256
341
394
348
368
246
240
267
430
237
380
380
287
304
344
299
312
364
335
359
353
270
271
372
319
239
281
306
262
392
286
343
209
378
298
355
265
342
424
372
331
307
343
300
247
399
314
423
271
270
344
332
352
366
344
275
356
337
354
346
305
325
263
313
329
296
334
450
275
262
280
333
281
319
380
397
219
317
278
348
371
335
288
257
288
374
308
275
352
279
363
359
435
375
352
286
227
342
277
267
370
417
278
341
338
245
355
365
373
218
382
358
404
407
282
282
285
289
349
301
269
322
326
373
237
275
302
349
337
292
328
270
319
290
351
285
307
373
327
333
286
366
286
282
251
211
321
247
359
311
327
337
266
288
334
303
386
241
308
325
329
283
280
369
331
385
324
300
287
284
377
385
397
359
362
228
276
301
303
328
352
390
378
273
302
321
346
353
334
248
333
330
365
253
284
347
341
319
309
344
234
312
276
273
231
314
261
319
264
314
383
267
316
325
320
281
234
350
266
306
310
397
339
343
245
320
192
314
320
304
325
263
269
292
290
287
335
331
385
338
329
279
329
258
333
290
345
351
364
370
227
244
234
346
287
315
270
352
281
242
304
281
391
252
365
322
258
292
326
275
316
343
332
335
318
326
409
412
330
347
358
312
339
318
284
329
377
286
366
353
394
308
336
331
305
298
322
318
279
335
325
328
352
366
393
259
339
245
339
267
399
361
287
321
298
362
344
240
216
381
384
396
303
309
264
290
265
289
292
401
289
276
335
339
330
370
389
340
274
271
325
325
209
380
247
340
263
294
323
323
352
287
345
331
341
402
330
277
228
388
417
371
387
314
325
345
276
327
391
318
278
309
281
304
293
415
313
291
333
280
353
349
322
381
383
326
287
366
354
410
344
305
229
287
247
363
372
242
307
316
375
354
279
266
326
242
327
407
362
301
333
323
278
264
330
418
402
403
437
395
418
340
340
290
346
259
333
339
319
282
335
258
331
276
319
296
318
300
344
409
301
298
302
317
268
334
316
359
300
406
294
338
304
306
249
292
371
274
345
375
408
248
253
374
353
385
351
299
351
242
325
285
312
317
297
236
250
331
274
296
254
294
329
256
318
292
390
309
251
290
212
353
278
358
245
375
331
361
318
282
299
300
328
277
279
385
199
426
198
359
277
303
313
344
350
332
269
275
322
284
291
334
288
381
367
336
300
286
320
393
378
363
371
325
376
364
303
264
390
341
256
265
346
335
374
285
374
288
364
350
345
290
355
334
263
298
390
310
320
312
314
246
340
341
372
273
267
283
286
367
342
307
347
282
289
334
300
310
347
299
338
311
228
317
443
321
338
260
313
241
379
372
351
316
268
345
384
373
358
343
320
311
322
308
340
424
364
258
278
274
264
282
382
428
350
333
275
352
334
357
338
326
348
300
273
303
297
371
296
317
252
356
272
295
285
296
296
248
328
366
346
358
287
319
285
349
293
314
245
370
291
203
278
287
235
293
324
324
313
357
340
322
344
286
352
321
311
255
344
280
297
296
343
238
334
247
323
369
300
386
266
364
412
299
304
268
290
316
235
288
336
244
299
306
304
320
410
377
332
240
301
339
343
345
347
315
372
237
325
329
213
224
370
231
302
389
349
338
344
283
322
312
313
254
276
267
293
315
322
313
370
353
271
335
366
387
287
336
329
323
348
278
362
332
302
358
273
295
320
313
343
393
314
364
316
332
302
269
300
238
303
401
321
274
331
284
311
336
288
379
219
276
219
313
241
291
296
331
338
254
363
313
342
328
348
278
363
334
348
344
263
351
206
383
309
242
339
330
329
314
341
360
299
341
250
353
359
376
340
304
419
333
368
332
322
299
369
345
218
287
322
347
305
413
212
286
307
362
326
279
394
313
281
392
320
351
258
317
315
320
256
450
277
310
314
303
278
361
351
198
343
331
344
363
357
311
245
388
367
323
350
318
295
391
323
327
339
289
252
283
330
314
281
360
400
355
271
324
252
394
339
328
341
355
377
335
283
332
324
289
254
257
319
255
293
267
342
258
350
317
260
377
426
338
322
278
348
315
170
283
329
296
324
297
333
266
220
356
252
310
295
398
279
335
313
288
358
294
318
336
340
366
272
324
345
368
281
243
343
260
362
293
306
292
269
281
339
285
399
404
331
350
391
245
281
306
381
355
303
269
319
352
350
273
304
299
223
390
363
226
321
296
359
245
364
254
306
297
361
338
357
283
312
320
256
282
352
303
340
291
270
373
322
328
352
246
270
208
285
252
345
319
248
280
294
374
352
317
302
275
272
297
266
335
362
356
372
295
357
318
269
254
402
331
335
324
354
321
290
343
290
388
366
308
252
316
305
220
331
304
331
271
184
273
324
378
297
285
259
286
308
282
380
396
241
337
413
287
264
325
286
385
295
331
298
301
294
384
269
309
362
257
292
296
321
353
282
371
286
268
382
399
345
316
256
338
364
301
406
283
327
324
310
279
369
319
361
328
339
335
286
286
329
333
373
281
276
326
292
347
326
289
376
254
291
347
350
329
288
321
284
245
328
351
309
322
346
286
295
335
357
293
276
328
323
287
338
309
303
326
380
293
304
303
347
263
264
396
282
309
314
305
292
336
302
318
339
246
257
307
361
246
249
251
283
395
346
355
324
338
329
358
291
324
366
373
391
342
289
326
382
298
320
295
347
245
263
324
362
431
321
352
311
296
349
424
332
260
321
387
260
357
320
362
320
395
225
364
284
325
328
340
277
283
304
319
301
386
312
261
313
336
379
340
159
291
336
350
391
352
265
322
379
364
274
335
315
350
356
389
309
304
304
304
334
287
284
354
266
338
289
334
352
302
379
297
277
366
275
337
217
255
396
312
326
379
335
340
304
287
298
309
359
282
359
379
233
273
367
270
310
329
329
287
270
331
336
302
398
325
373
359
363
313
322
302
329
326
330
326
317
316
243
357
270
267
312
342
391
313
287
332
257
316
285
245
389
304
302
427
307
283
247
328
282
370
338
306
305
296
339
337
365
355
311
302
308
361
320
275
357
311
262
313
259
307
350
311
265
311
227
379
417
373
292
291
247
297
241
290
258
306
431
336
270
265
273
288
329
357
323
275
330
324
327
290
337
359
330
355
353
331
382
279
346
336
306
298
307
370
317
353
377
327
318
268
342
237
246
358
364
245
287
372
231
263
295
295
289
299
262
360
267
309
281
273
308
294
345
313
294
332
330
328
320
280
293
299
387
313
328
349
294
327
347
313
392
239
264
277
324
327
363
261
346
285
244
273
355
319
379
252
353
311
380
344
342
350
312
265
279
372
311
259
366
330
370
348
391
310
311
228
247
275
336
321
303
271
275
295
308
331
223
294
218
322
348
259
284
407
260
363
317
289
326
219
351
355
313
374
206
354
345
315
265
296
305
263
315
364
347
296
302
256
252
277
259
289
237
314
266
328
245
317
403
385
290
272
311
335
328
242
266
338
383
315
256
345
266
285
327
351
313
282
343
373
398
338
306
327
334
367
289
311
337
251
308
323
294
365
354
351
305
394
336
337
405
353
352
318
400
286
312
266
282
378
308
303
325
343
408
281
253
294
286
355
413
292
372
364
224
263
363
283
250
243
280
322
331
363
303
225
364
413
387
297
302
328
350
305
403
377
255
323
273
268
339
337
295
337
347
248
272
333
313
274
307
331
338
341
265
305
276
220
334
325
332
305
311
314
326
346
307
299
284
355
247
210
307
350
213
296
249
381
346
274
358
295
235
319
262
331
288
265
335
378
247
281
251
225
301
349
366
341
348
270
340
269
301
201
365
259
265
359
278
272
352
281
259
363
176
396
361
374
303
327
378
262
309
280
284
273
314
247
333
295
353
366
409
344
252
353
351
398
295
306
288
366
315
355
369
317
310
312
275
168
339
273
347
263
327
283
309
316
244
320
319
372
259
366
283
340
294
300
285
332
248
371
273
343
304
270
401
336
346
245
316
305
391
401
357
179
289
338
320
323
311
234
419
264
297
321
331
263
305
299
276
332
401
238
355
321
378
269
296
268
380
299
270
361
297
359
280
359
235
235
293
345
358
311
358
365
275
313
287
322
316
310
281
380
268
362
238
331
317
293
300
300
316
303
304
276
253
272
315
350
238
312
295
317
327
370
379
330
296
287
356
327
311
279
351
357
259
330
240
320
316
354
263
307
267
287
263
285
313
263
241
315
335
287
312
339
296
302
290
296
344
334
384
271
312
232
361
315
376
402
280
277
343
258
270
354
327
281
350
315
276
363
283
227
273
374
353
208
268
217
303
338
261
242
350
322
305
300
370
329
279
357
363
330
317
316
333
213
360
315
277
235
197
394
281
377
328
352
251
314
276
275
339
296
299
349
346
292
328
277
390
304
308
334
317
277
276
334
346
292
241
318
376
313
285
305
241
299
376
303
312
327
318
347
353
261
384
360
268
315
314
338
358
318
318
249
340
348
315
390
369
285
281
424
329
314
375
342
369
264
335
283
347
386
298
277
329
211
310
348
369
311
243
333
295
294
319
348
270
332
339
339
289
289
319
309
309
302
356
318
259
316
315
382
266
251
335
340
290
369
327
284
306
392
322
244
304
319
307
364
289
315
279
220
388
275
242
346
305
283
272
385
285
231
305
330
328
281
352
356
300
343
255
338
377
269
362
329
324
289
328
389
369
298
281
278
278
315
427
187
381
230
242
413
305
317
282
275
325
263
278
308
370
342
311
326
308
366
325
188
258
273
318
223
409
304
285
274
311
273
307
263
356
247
282
300
341
337
321
345
262
347
307
259
303
324
350
273
243
306
273
348
283
313
345
301
328
289
303
302
305
344
285
363
337
372
254
409
336
273
256
352
309
286
419
223
263
300
348
359
286
272
373
354
340
303
366
311
394
334
332
359
334
277
414
308
324
351
373
317
277
375
301
391
338
271
280
327
231
285
316
369
305
302
348
356
336
310
333
303
308
217
326
290
297
316
273
331
357
300
262
289
353
305
356
327
353
378
248
230
309
322
340
377
344
296
299
335
320
309
279
261
341
296
323
353
346
301
282
285
368
282
353
412
304
339
323
376
285
219
367
290
326
357
234
285
283
296
228
322
271
351
243
387
285
308
392
358
295
309
289
316
316
363
332
385
276
355
325
301
344
444
274
364
397
231
282
338
288
297
296
315
375
319
286
320
267
288
307
282
351
297
214
220
288
304
341
240
294
294
248
332
347
249
281
432
239
309
355
342
357
303
327
379
438
368
308
332
333
270
354
315
354
314
246
286
305
233
339
315
320
276
334
331
334
360
394
338
361
383
334
310
279
357
313
365
326
357
266
310
364
274
329
415
422
301
364
277
310
231
319
307
352
349
313
305
297
362
263
301
389
353
301
336
263
321
241
328
299
279
313
323
332
299
361
276
309
307
243
416
339
339
305
340
293
297
334
323
273
308
357
339
374
279
333
257
306
288
347
305
297
316
243
314
272
312
281
283
395
301
253
319
317
344
291
292
376
316
348
316
277
302
256
309
359
338
273
365
295
358
266
324
312
306
328
264
325
296
318
344
262
312
270
366
291
319
285
209
270
371
320
321
240
284
235
301
310
316
318
341
366
327
331
274
255
192
275
230
293
277
288
318
296
276
236
302
310
341
394
324
269
352
292
338
283
260
305
316
352
353
299
345
388
371
337
361
317
323
343
345
311
399
371
383
338
278
387
272
303
294
287
281
357
336
246
280
407
339
334
343
362
352
302
370
326
356
294
317
306
424
313
359
321
350
222
350
357
247
265
336
311
381
328
274
257
282
263
360
353
235
305
275
335
319
255
310
368
313
371
329
349
322
292
324
356
244
338
193
288
293
387
309
264
256
298
329
294
231
266
314
314
235
432
259
298
389
349
252
257
336
299
380
381
359
319
333
323
301
328
299
362
256
372
357
270
270
350
412
212
374
317
258
290
224
361
289
315
288
322
377
255
310
275
290
325
281
250
336
308
421
316
312
333
316
313
371
275
301
348
252
295
266
330
264
325
340
432
309
381
285
285
307
242
300
388
229
247
305
314
350
328
301
328
308
212
352
257
277
293
363
365
276
386
289
280
417
352
385
314
301
301
286
362
298
297
308
360
307
347
343
341
234
365
301
361
354
293
326
326
309
404
318
320
311
262
346
339
339
322
318
316
377
289
325
390
361
314
245
336
308
246
301
321
348
293
346
235
234
292
277
246
381
358
267
310
349
300
310
301
373
384
332
304
292
293
300
411
304
389
302
310
331
261
353
308
270
234
259
349
305
287
326
285
293
262
302
302
331
301
293
284
314
288
208
270
335
306
235
371
429
366
338
357
332
327
306
290
227
352
297
372
375
298
355
384
330
344
267
295
326
348
313
295
347
376
380
397
317
286
175
267
260
281
273
306
311
238
359
348
387
217
272
340
285
423
223
319
266
346
370
393
415
366
231
365
308
338
389
340
292
309
304
252
189
269
299
296
309
363
253
207
331
388
388
332
251
365
295
311
204
370
325
363
334
240
277
287
365
309
286
274
309
414
303
389
347
326
288
243
343
393
296
313
313
324
272
357
376
348
281
238
392
328
272
292
342
295
233
303
276
368
343
354
264
341
408
311
292
318
375
364
247
305
268
291
303
287
352
371
343
344
278
309
333
363
273
271
284
271
342
271
314
347
377
327
278
294
291
281
322
284
361
274
243
287
275
338
365
302
334
288
257
290
345
298
353
390
145
340
294
307
343
425
368
263
307
262
308
307
280
306
359
316
306
371
352
364
290
301
367
305
268
327
356
418
331
234
327
311
328
308
361
351
313
382
360
224
385
207
328
418
398
311
354
245
266
335
281
323
372
343
324
246
300
264
333
265
224
371
358
367
334
380
269
241
296
375
342
295
320
338
319
287
261
273
289
273
283
189
417
320
286
295
358
341
308
282
407
337
337
249
287
294
290
313
310
233
294
285
309
249
249
365
253
299
309
321
355
408
397
284
349
293
297
268
344
314
349
250
369
318
298
359
402
311
245
343
314
314
306
358
346
344
315
343
204
305
315
269
261
314
358
274
263
310
309
268
326
300
307
353
318
278
201
290
332
273
333
279
390
360
338
324
289
255
275
323
414
323
356
283
255
260
309
405
251
202
248
214
363
284
252
349
287
283
365
253
292
271
334
318
341
376
338
335
347
362
347
248
406
327
236
351
398
230
332
343
327
312
292
346
289
291
337
337
417
379
295
280
351
443
270
333
363
285
381
242
303
258
309
383
344
336
335
263
388
355
389
399
369
336
353
355
289
271
380
187
296
304
403
348
297
309
270
316
343
316
347
239
268
354
307
329
289
301
371
370
322
292
294
247
285
323
346
358
312
382
361
349
377
305
329
324
321
332
348
281
333
262
295
237
330
319
368
258
271
326
369
331
313
371
324
290
350
262
256
313
267
250
364
228
334
324
268
344
397
288
298
357
277
355
241
333
383
380
325
311
341
280
327
263
349
372
380
272
294
330
352
238
285
246
293
360
329
324
328
263
279
292
300
393
343
346
314
220
322
304
325
329
342
415
287
278
218
243
333
348
302
345
313
382
379
320
278
297
355
331
266
294
278
277
318
366
330
297
291
302
319
352
360
329
247
319
348
305
351
372
379
293
268
317
328
343
368
221
401
279
305
316
365
270
383
257
357
322
291
366
317
274
332
295
326
384
376
326
312
331
212
423
339
373
309
369
343
322
367
366
320
316
387
302
345
359
275
274
327
249
286
260
337
327
324
305
305
303
297
199
371
385
330
242
326
330
338
240
297
299
381
401
395
286
332
330
278
317
302
286
331
274
223
296
336
404
327
320
289
271
388
337
231
267
315
320
284
286
362
362
307
331
326
329
320
217
316
341
271
307
309
302
295
396
314
308
328
355
374
189
357
215
360
320
266
320
271
290
292
366
334
348
339
240
235
298
319
222
290
265
358
350
348
305
288
242
316
336
344
267
373
350
313
325
368
379
329
312
335
307
313
295
295
289
263
310
445
357
322
341
309
325
372
346
313
347
354
317
324
261
252
367
308
332
311
210
388
315
353
321
365
273
294
328
327
380
343
290
305
257
369
294
347
324
323
273
308
393
327
296
373
393
324
347
266
336
392
285
268
403
291
296
306
307
297
381
329
363
318
229
359
286
355
387
302
346
324
290
223
332
265
266
347
338
348
339
320
342
278
257
309
318
282
272
397
250
347
378
390
350
328
377
314
283
307
428
318
274
291
347
321
333
312
311
389
321
205
285
369
283
312
252
315
242
313
303
327
301
321
335
281
294
254
350
392
295
311
327
294
319
283
344
368
222
255
399
314
284
296
284
414
405
281
305
299
340
235
288
265
339
253
294
256
260
388
320
362
282
275
385
367
338
354
364
355
302
331
302
277
338
327
308
336
324
330
285
359
334
274
376
332
346
279
314
292
318
350
338
326
343
355
253
369
372
324
300
318
275
271
263
380
325
318
325
330
326
289
341
299
342
348
379
381
314
349
294
310
304
264
347
331
375
408
367
320
309
363
376
340
341
285
343
287
281
375
329
299
360
314
370
351
330
274
362
263
343
367
333
305
283
332
325
331
408
265
349
288
364
283
313
278
292
382
350
309
373
287
277
314
273
382
404
305
311
354
302
410
283
362
293
332
341
299
312
252
320
259
372
316
325
242
316
319
340
313
302
283
293
314
338
307
385
281
288
228
253
339
268
339
272
305
387
315
326
287
334
303
315
320
334
302
287
354
289
319
329
286
345
342
289
328
322
316
253
350
316
269
328
319
317
399
295
307
349
295
364
360
318
343
235
300
320
357
333
367
227
248
293
367
386
327
332
333
335
306
331
357
325
350
333
353
303
259
302
332
282
291
234
303
348
283
336
300
335
309
369
396
235
240
241
344
331
383
370
340
422
289
295
392
381
379
332
340
307
316
315
291
216
376
309
338
345
309
332
337
280
344
336
360
259
278
331
380
412
270
373
360
259
333
317
350
351
319
365
312
297
292
359
337
383
262
233
314
324
278
297
221
319
353
312
329
207
320
281
381
351
329
319
276
268
364
306
272
339
309
378
296
317
342
302
406
274
338
298
317
287
325
275
234
270
316
349
313
266
310
303
363
284
347
355
386
335
307
314
354
340
298
255
380
283
376
220
315
306
346
342
270
291
362
360
329
395
349
258
295
337
305
341
264
375
260
238
291
319
301
381
331
320
333
373
284
282
313
315
284
210
268
329
341
374
314
305
328
319
289
275
354
274
320
315
351
260
343
303
285
284
312
330
331
358
394
240
366
295
241
270
365
283
334
307
298
348
335
287
333
346
291
270
376
332
269
228
321
295
223
285
396
327
358
325
343
298
292
324
377
187
334
346
367
311
245
243
379
232
358
313
364
325
293
313
333
418
251
332
312
383
240
340
270
287
281
275
343
319
410
331
340
350
353
382
323
262
249
338
306
362
304
337
304
292
223
344
375
338
286
333
310
279
362
322
262
323
253
365
280
274
274
327
306
312
312
329
361
346
324
288
370
331
303
283
356
262
367
391
270
381
201
408
256
317
360
436
353
318
340
246
329
319
292
313
341
289
306
336
338
354
319
242
332
362
259
310
326
319
274
289
224
293
408
312
249
423
330
331
312
300
290
327
262
399
343
298
342
379
320
211
289
282
319
242
284
353
268
381
301
282
321
321
354
353
329
261
356
267
322
290
304
373
382
245
276
332
285
300
376
344
307
337
347
369
273
299
243
305
319
328
294
381
222
342
294
353
304
350
310
344
289
325
253
372
319
288
318
329
353
272
295
327
296
259
296
294
255
359
270
304
322
353
225
293
367
314
351
305
277
274
335
349
298
352
357
295
322
311
272
369
295
369
334
363
350
290
306
343
321
345
287
328
320
353
315
256
275
313
324
324
294
279
225
373
281
381
338
307
348
306
303
249
340
328
425
367
284
298
360
285
274
320
256
334
313
238
254
286
274
325
359
257
402
321
281
311
392
338
387
316
322
357
366
255
352
286
281
329
298
292
307
255
360
384
302
291
295
334
302
346
283
398
281
268
358
332
270
433
342
333
320
271
365
343
295
274
366
272
336
362
350
429
368
364
397
301
297
354
306
277
315
310
314
349
359
234
340
250
400
312
325
334
363
343
339
346
330
360
329
352
363
317
326
367
281
309
266
344
234
303
318
304
328
333
197
280
368
359
311
334
312
342
243
329
336
339
345
276
341
299
315
362
242
291
334
369
283
331
314
279
309
293
304
200
304
373
292
312
288
323
292
357
306
282
398
312
329
286
277
331
336
329
301
379
291
377
260
378
296
335
256
387
345
332
353
355
378
311
297
341
277
287
308
313
309
266
314
238
241
314
382
256
338
349
280
336
329
405
304
310
322
349
371
290
403
319
270
342
216
291
311
307
306
221
279
263
306
275
318
323
406
341
363
346
289
298
355
401
316
369
399
347
289
273
296
344
409
335
321
348
331
347
293
200
339
362
290
429
320
254
246
339
306
352
302
258
304
317
310
224
343
305
287
395
306
373
306
237
310
301
289
261
319
326
322
279
349
338
326
280
288
295
259
274
348
255
394
328
306
278
303
358
231
396
347
312
285
331
297
323
255
258
383
285
268
306
266
313
345
337
406
335
308
362
373
337
324
264
313
306
316
213
331
339
282
389
306
403
243
322
321
253
331
296
392
302
313
337
287
410
315
290
268
250
320
251
344
336
318
278
244
243
263
322
303
296
349
379
315
283
376
311
357
310
332
273
355
347
372
321
293
347
301
265
281
289
351
310
246
305
314
361
281
308
353
266
347
337
332
302
353
327
379
235
339
164
325
392
310
335
404
323
347
349
228
376
270
374
334
350
353
406
298
287
329
322
343
313
314
371
314
384
286
415
316
368
287
324
363
276
232
335
375
355
310
303
344
367
383
199
343
310
301
374
342
215
242
387
289
359
209
342
402
312
266
273
363
334
345
311
346
271
218
376
263
358
288
265
273
301
346
266
293
282
312
294
337
332
304
255
330
297
247
306
302
300
296
292
245
320
375
319
339
368
372
346
316
306
234
325
343
335
318
293
255
356
358
248
379
354
332
343
281
288
343
252
298
314
290
291
324
308
324
326
299
251
352
296
318
271
330
341
248
291
325
363
286
256
275
352
259
313
327
330
385
247
228
291
356
266
308
283
255
294
302
324
312
333
294
336
343
345
298
411
296
323
271
296
281
336
292
365
299
387
276
334
297
336
300
307
318
283
228
305
260
347
231
272
305
262
335
304
323
313
273
265
338
282
326
336
323
301
260
333
229
299
333
295
333
311
277
341
267
278
277
340
269
331
333
301
324
361
271
259
352
296
273
246
341
313
345
166
347
268
252
331
265
318
444
333
296
337
354
396
422
411
338
362
338
237
265
286
258
399
353
400
362
244
182
316
298
260
374
331
324
263
413
298
312
397
313
339
300
258
310
314
259
362
336
329
390
346
384
314
368
366
317
318
287
325
336
306
279
266
311
284
247
298
249
275
320
361
352
315
323
347
402
370
331
256
313
291
369
296
289
308
309
347
249
327
329
289
296
385
312
379
391
405
440
308
289
294
306
328
289
319
342
295
368
368
234
281
415
349
279
317
274
305
259
294
298
350
249
381
338
325
305
369
315
247
330
326
335
264
357
304
301
241
358
341
352
405
288
346
357
253
272
270
301
345
347
297
295
351
327
369
297
294
273
299
341
324
365
299
227
342
355
302
261
371
224
358
313
292
354
207
258
313
339
294
392
348
306
315
299
319
321
330
322
401
318
332
342
431
304
294
337
309
368
320
269
337
324
342
286
317
327
283
284
309
346
316
260
349
316
303
354
324
423
412
279
402
332
259
282
310
267
359
312
327
274
317
341
287
220
336
324
316
300
331
356
361
430
179
323
288
348
334
265
353
379
338
309
308
345
342
299
294
331
306
279
337
229
377
298
342
352
341
280
351
357
241
293
276
351
338
346
292
248
289
402
283
313
288
335
291
314
240
276
403
295
235
314
323
355
332
297
332
188
298
361
333
364
330
245
380
251
344
409
328
255
294
341
270
333
354
348
253
279
387
275
309
254
372
350
338
367
244
373
349
325
327
356
320
362
305
280
297
351
379
385
378
326
306
336
283
295
368
346
315
360
318
308
352
317
247
320
268
334
342
305
352
336
312
339
322
326
395
259
327
393
302
327
310
421
268
278
310
274
362
384
309
312
292
320
396
348
297
309
345
322
364
354
301
349
298
314
291
346
264
336
370
314
217
263
291
315
300
279
275
260
393
378
250
310
279
289
357
290
333
356
366
262
244
314
312
299
332
292
345
326
351
264
244
414
345
274
412
298
319
273
283
385
351
313
339
363
307
348
304
253
287
222
344
333
375
386
355
254
248
339
274
260
419
371
291
274
286
366
303
296
333
283
335
356
319
273
201
376
262
285
341
291
347
279
330
347
278
286
384
300
341
355
276
336
371
383
292
344
214
324
372
308
362
270
308
297
384
270
271
402
247
348
289
219
191
265
307
335
247
314
306
364
267
282
422
248
246
364
397
298
275
324
343
370
337
315
247
327
286
219
292
165
339
363
332
304
359
313
308
334
255
344
370
397
332
288
402
268
327
393
321
360
293
381
318
351
252
325
356
356
292
341
302
339
312
354
265
263
303
263
249
277
381
342
308
353
335
308
295
348
305
404
350
318
247
324
334
311
369
366
309
246
336
318
233
257
329
319
353
349
205
333
319
267
387
317
328
390
336
302
379
319
274
374
309
364
365
287
336
294
302
283
330
312
327
330
296
357
277
284
315
315
308
325
334
209
359
326
354
329
333
341
398
346
283
364
346
336
393
317
269
277
288
401
324
328
386
332
284
281
387
348
350
286
305
406
309
286
281
321
294
389
394
330
355
321
334
381
290
236
299
271
257
383
338
320
279
377
280
279
304
201
255
213
351
307
350
255
296
243
331
317
344
422
259
381
348
382
285
353
367
338
346
287
288
271
262
376
245
249
303
259
294
289
281
332
353
326
291
373
303
295
327
329
354
326
330
319
374
287
298
260
384
271
324
310
255
299
351
222
326
228
342
307
286
195
316
316
275
353
362
308
364
325
363
305
340
365
287
373
297
381
302
360
278
236
378
312
382
314
294
335
239
321
293
284
285
301
259
251
250
306
276
296
320
310
357
374
338
260
373
299
284
222
336
283
278
302
351
287
334
274
330
299
403
303
299
298
291
374
348
256
415
349
284
334
287
257
260
302
238
310
347
310
264
331
274
328
270
293
330
281
339
283
292
298
334
347
192
347
296
306
321
358
267
322
321
275
351
354
349
195
247
348
274
335
301
270
266
356
294
266
348
274
369
248
297
405
314
295
390
255
327
372
295
237
305
278
266
336
352
357
288
288
317
374
278
342
311
310
212
264
228
352
278
337
389
316
354
281
321
333
279
266
328
417
283
258
313
376
263
243
300
293
217
247
327
371
335
293
304
313
276
337
247
329
420
262
302
312
278
329
288
313
331
304
383
276
302
389
321
373
305
300
347
292
310
324
371
249
353
333
306
347
316
309
271
255
293
366
282
255
192
350
231
266
378
312
324
335
344
371
330
270
287
323
274
234
312
330
399
298
329
350
257
309
323
261
282
349
402
352
237
290
342
336
388
455
395
332
352
282
268
339
321
202
316
322
324
340
314
320
352
293
311
270
318
285
297
269
349
272
291
347
373
307
273
323
337
354
263
311
348
266
247
391
343
341
295
316
336
276
340
362
359
370
285
377
298
290
242
320
307
369
367
273
280
346
344
296
344
343
289
339
347
348
284
378
353
416
227
277
342
251
355
287
262
324
331
286
297
358
273
322
337
273
318
293
323
331
330
388
252
293
309
360
346
353
254
323
376
264
261
340
274
248
279
224
340
343
319
271
366
351
388
308
378
269
247
312
353
266
397
329
368
313
360
272
234
350
347
259
274
295
325
308
290
279
269
310
342
415
350
274
352
341
288
274
281
349
312
298
345
261
343
323
336
345
305
327
304
325
390
350
303
339
287
354
352
329
285
350
255
338
298
247
296
382
276
304
321
333
251
305
309
384
271
348
288
325
320
355
374
285
308
343
282
258
320
293
331
308
276
337
352
224
249
244
247
306
286
319
342
314
285
323
365
320
342
292
286
349
334
380
273
328
334
360
270
327
290
345
276
246
316
317
295
299
340
358
280
263
317
338
358
323
253
287
247
314
345
268
291
320
204
336
438
306
296
344
299
370
386
326
370
318
309
329
267
340
304
287
384
300
254
274
321
303
312
304
290
315
368
320
338
339
340
341
317
324
299
329
356
323
285
310
320
310
312
410
339
292
317
284
321
325
276
313
315
341
351
368
293
371
240
204
338
367
341
268
344
310
295
324
360
254
328
228
316
292
298
364
261
259
286
234
319
285
432
317
300
346
341
305
338
259
307
304
387
327
282
371
312
317
239
271
298
323
323
245
343
398
340
387
283
359
322
298
332
332
382
257
355
291
363
466
338
312
333
270
321
320
328
225
265
237
277
304
377
282
383
208
353
318
365
331
351
251
303
275
419
270
358
289
402
253
298
287
337
379
317
345
249
268
312
297
315
301
298
300
330
345
374
371
370
379
298
390
360
312
295
342
339
269
360
357
253
262
282
294
253
325
360
265
375
371
358
301
299
204
362
357
301
373
382
263
294
245
325
368
274
304
262
351
367
279
276
323
304
363
228
343
312
391
319
331
290
317
304
352
294
240
368
327
244
344
201
322
238
413
303
294
278
297
373
304
404
327
431
304
286
393
297
328
282
362
338
294
384
293
231
322
305
314
289
267
244
344
321
342
264
324
295
359
333
288
336
253
197
252
234
247
346
275
330
347
375
271
389
327
312
300
244
351
230
290
242
340
313
294
322
320
354
284
346
286
263
286
309
309
286
352
407
255
308
349
389
338
375
274
311
346
368
356
300
310
310
341
340
308
283
403
239
324
332
329
267
327
330
283
249
311
310
373
354
346
335
346
310
340
282
294
345
311
321
230
291
367
328
335
314
320
319
337
252
296
328
296
260
311
336
300
366
376
371
330
287
367
303
371
312
294
346
219
267
330
289
303
366
253
332
429
249
323
298
271
305
275
346
339
270
368
286
349
310
304
342
354
285
386
305
285
354
311
294
291
279
232
321
368
250
384
347
323
344
320
296
282
323
256
296
292
423
291
321
307
308
337
309
343
344
291
354
346
298
285
342
370
325
345
269
268
345
295
311
304
243
308
311
398
392
304
318
380
279
247
313
265
314
339
348
188
344
341
292
347
329
243
290
306
366
367
283
326
323
369
323
272
327
362
343
375
310
258
355
234
326
350
321
324
324
237
305
361
335
266
366
177
278
300
289
316
345
327
274
295
309
327
332
348
279
271
306
314
335
317
293
328
323
245
338
228
280
251
395
240
237
322
360
244
287
319
326
300
272
279
381
384
285
345
270
294
320
372
297
328
353
228
255
214
324
319
280
309
309
331
297
206
371
399
256
360
369
366
307
357
270
319
316
319
322
368
391
316
332
319
313
375
376
355
298
309
351
291
356
384
319
360
298
296
337
332
311
335
365
339
330
302
322
381
299
302
297
279
276
285
328
370
389
241
261
342
254
320
343
251
364
292
244
263
358
305
284
322
350
264
272
306
312
213
246
262
284
300
390
366
339
319
327
378
303
348
315
347
314
320
329
301
348
285
412
308
371
327
367
185
269
380
314
286
281
386
335
334
269
302
249
218
265
330
351
296
273
222
289
390
344
333
368
286
316
223
343
276
411
253
268
341
283
377
380
338
313
305
351
332
308
380
296
253
373
357
329
294
240
277
313
286
331
319
347
276
313
326
298
292
372
252
344
383
257
323
292
333
303
305
305
326
350
296
315
359
307
305
342
280
273
275
306
262
324
285
364
249
339
269
269
321
320
348
294
339
316
330
289
304
264
294
314
294
312
292
283
257
365
298
278
324
349
386
367
290
250
273
354
273
276
307
320
288
250
256
300
295
292
311
325
322
354
263
310
393
272
286
303
352
309
268
313
289
312
348
363
165
352
288
312
307
330
296
271
309
355
268
357
366
357
294
318
298
310
326
374
274
274
325
278
289
238
410
366
413
357
316
374
349
406
375
391
358
212
302
371
305
335
386
268
383
318
331
258
221
265
268
318
293
334
299
332
283
380
343
296
315
375
272
362
315
273
343
300
267
412
309
213
338
370
269
232
347
354
265
380
368
339
289
298
354
347
388
397
331
303
266
302
327
408
377
311
310
252
281
265
321
328
330
216
291
337
214
321
320
329
383
310
350
340
287
311
179
303
380
377
308
304
320
261
262
309
245
299
281
205
337
274
337
349
273
306
327
287
412
354
297
295
330
259
337
347
279
305
283
283
365
238
388
327
230
352
312
294
228
322
271
319
345
295
332
191
332
359
337
404
329
239
416
215
377
355
355
309
333
321
320
339
268
315
237
368
247
239
332
342
330
307
270
356
367
401
262
325
307
324
311
286
267
342
328
261
411
347
266
362
253
259
339
339
334
253
378
320
292
370
294
342
326
351
369
348
256
365
309
341
395
335
334
342
260
333
364
376
432
316
325
373
324
365
325
289
247
311
347
344
346
307
328
308
300
357
267
341
331
254
216
315
345
295
305
290
323
294
345
334
280
355
283
292
303
369
315
242
272
317
290
341
281
293
268
280
283
318
347
329
341
350
340
296
340
341
367
342
379
253
318
292
285
328
326
278
285
272
310
212
301
304
322
288
421
276
282
311
339
349
244
234
297
375
262
311
355
346
360
401
319
382
267
309
314
234
302
303
404
293
267
294
308
285
287
359
291
302
347
343
382
297
338
299
334
368
338
314
365
307
363
345
226
358
307
347
347
272
297
274
291
406
242
305
349
344
332
430
337
324
372
236
347
287
302
235
272
337
338
396
363
233
366
270
257
263
321
265
323
276
339
378
258
300
320
287
263
352
309
334
317
274
321
247
267
296
373
342
301
314
277
249
380
340
375
309
272
304
352
360
328
313
317
247
409
294
306
296
293
328
321
352
220
286
295
339
296
265
286
274
294
302
341
299
336
355
321
283
330
316
314
281
325
238
401
275
344
301
312
278
329
399
417
345
319
287
281
255
336
269
319
278
289
391
380
358
284
291
281
320
296
304
262
348
212
410
326
379
296
385
341
369
356
348
322
277
374
287
393
367
300
274
352
340
300
317
370
336
330
311
321
302
346
371
328
272
295
317
271
327
260
298
329
312
331
323
268
310
333
338
330
268
306
330
276
242
315
336
351
307
319
267
349
275
357
315
366
358
279
345
295
388
313
337
228
289
356
252
246
259
298
347
300
304
288
243
337
321
240
216
271
343
360
337
341
324
277
419
268
262
367
344
356
255
251
309
335
312
314
330
347
277
327
409
218
309
301
294
368
398
351
402
313
383
359
332
251
363
308
347
316
321
372
245
333
391
284
281
284
303
329
267
299
276
272
349
339
297
314
352
256
302
295
345
249
341
351
317
304
332
324
231
286
335
238
317
289
326
339
350
288
275
261
375
314
333
319
301
276
301
339
216
291
375
307
329
288
391
315
368
408
358
269
350
333
319
315
317
304
327
352
316
254
234
344
364
342
346
279
259
296
335
311
264
287
268
409
346
234
262
297
308
232
325
279
284
418
332
327
275
339
309
193
316
324
360
285
323
223
393
307
330
271
235
394
291
280
280
292
330
306
213
407
277
321
314
321
314
332
367
315
333
292
274
250
316
294
349
324
254
333
346
293
248
289
311
264
366
298
287
350
308
364
315
299
311
381
290
323
325
394
255
344
230
239
332
354
282
404
309
413
263
217
305
321
276
257
345
276
342
315
243
289
404
289
323
389
240
247
341
396
356
274
279
327
316
337
397
316
312
283
298
285
370
359
363
356
365
388
342
339
317
369
324
380
288
298
350
263
313
330
257
294
412
297
281
295
314
286
303
348
336
290
337
284
304
368
255
390
262
350
227
341
339
356
272
323
224
309
391
366
314
274
287
334
328
344
319
394
269
255
372
373
245
368
355
297
238
254
311
266
324
267
413
324
327
427
327
330
370
345
313
398
283
288
370
348
312
372
330
320
263
317
391
287
341
359
358
268
239
346
276
401
308
310
318
338
278
357
292
313
393
336
341
281
304
306
295
380
433
222
375
356
364
274
309
306
317
279
386
323
302
282
367
295
282
331
321
290
325
344
368
336
401
371
379
251
267
284
304
276
196
369
312
372
329
347
331
314
385
337
323
295
332
309
304
262
346
389
361
331
278
305
348
308
325
358
237
282
250
284
380
356
279
268
241
365
291
351
342
197
383
285
341
355
320
279
306
441
340
326
352
360
318
276
301
300
264
284
325
270
317
333
278
303
272
324
413
306
348
259
276
274
338
364
341
307
314
330
343
331
263
309
270
361
328
272
334
311
312
325
345
262
374
281
221
340
333
289
319
325
262
349
267
326
309
303
321
312
387
294
332
179
286
359
305
314
331
400
270
300
271
313
293
288
356
391
253
256
381
319
335
362
315
318
294
407
369
332
362
407
275
334
267
390
352
310
353
240
330
260
347
347
305
347
314
268
372
266
343
347
360
358
250
321
281
313
319
286
309
340
351
320
299
271
408
280
290
293
322
353
261
325
343
275
336
386
371
284
334
322
284
250
340
405
299
294
363
321
251
352
309
321
279
320
270
308
324
373
316
291
350
382
315
345
292
369
284
249
329
330
280
369
384
356
314
312
258
285
263
278
308
308
311
266
341
344
280
399
309
237
248
277
311
403
364
359
316
325
293
265
336
329
246
274
350
266
265
336
364
353
338
310
366
309
343
296
359
281
289
282
301
329
337
291
268
283
284
268
299
360
321
395
402
330
310
399
310
373
334
350
352
315
293
287
233
303
312
339
325
292
322
288
297
399
349
334
221
262
325
280
356
343
366
288
313
368
289
277
258
338
343
281
365
344
249
292
297
326
279
292
368
289
357
288
276
399
318
334
318
444
265
225
331
374
331
246
321
253
333
317
368
139
281
336
277
357
276
307
279
313
400
342
286
390
334
330
306
312
360
226
287
226
234
325
315
293
332
387
345
238
235
348
288
323
339
377
302
324
263
327
241
277
315
384
247
298
300
348
331
339
303
261
230
206
330
287
237
354
350
358
309
398
266
288
188
312
348
211
302
375
323
276
343
299
275
315
335
369
291
343
367
273
374
332
315
382
277
287
264
248
365
271
329
268
326
325
323
298
301
314
232
372
199
283
282
294
344
315
310
373
301
327
284
321
236
409
285
374
316
319
394
278
305
333
369
295
367
326
264
244
306
349
266
340
304
220
376
315
310
390
318
282
316
341
373
294
284
348
231
356
336
305
293
289
315
455
319
324
347
291
339
366
292
384
255
329
242
239
403
256
331
339
329
279
368
323
291
293
302
245
340
365
361
390
376
377
289
288
234
355
303
289
379
262
293
304
336
366
285
248
283
324
326
330
377
366
379
300
324
285
323
296
357
324
371
253
370
315
370
381
271
235
328
292
211
371
327
244
280
328
296
352
294
365
290
303
309
325
312
307
301
286
375
282
322
296
301
315
325
348
264
200
363
252
348
282
335
347
283
270
319
347
299
282
299
306
304
294
315
305
333
287
372
235
295
322
280
243
330
321
283
388
337
243
322
299
370
272
283
355
379
296
360
255
370
268
355
366
310
406
394
296
280
315
297
326
334
347
430
346
328
372
418
330
330
327
279
253
270
218
355
285
310
387
309
275
306
394
295
337
320
292
326
356
234
396
319
265
333
325
263
357
295
322
358
289
350
343
375
254
280
372
285
340
333
357
286
282
312
222
377
284
374
338
297
291
287
371
291
380
289
410
355
303
306
365
340
299
321
319
324
234
317
267
320
329
291
333
355
295
238
318
262
279
290
250
335
339
292
331
354
288
303
342
332
305
334
389
321
318
347
308
296
252
258
275
252
347
348
325
365
310
336
304
355
288
287
340
295
304
329
298
299
278
402
286
367
365
301
245
252
312
289
277
253
333
333
209
360
265
305
296
324
259
207
339
241
401
334
287
338
381
284
257
250
395
292
335
303
364
300
320
330
341
341
356
353
208
336
356
260
285
288
327
357
289
355
313
335
326
345
327
271
248
284
367
358
238
252
307
357
243
301
387
289
420
318
300
297
335
279
293
352
311
307
294
293
261
379
360
328
284
341
251
222
345
373
385
296
365
335
251
317
314
322
348
335
323
368
367
329
415
399
292
287
346
371
343
387
327
315
246
297
378
315
348
368
230
264
240
347
303
276
264
298
291
347
374
398
308
316
279
374
266
263
247
435
264
333
334
313
305
276
340
303
408
255
378
307
250
339
338
386
295
349
398
286
331
338
338
361
401
359
342
380
351
412
325
299
354
286
336
381
352
358
262
296
358
260
293
308
311
290
367
379
279
267
353
289
337
332
306
335
353
302
342
338
273
307
363
380
302
336
343
289
390
292
369
304
306
327
305
333
362
294
343
313
275
277
263
232
359
330
354
328
228
351
272
313
366
368
333
297
215
357
296
293
303
309
319
271
343
344
329
248
313
384
255
324
291
315
315
326
291
347
328
358
291
314
343
255
251
380
292
314
295
302
408
354
334
363
301
348
315
396
279
360
345
193
290
399
293
374
344
339
263
333
228
355
314
284
309
383
356
359
308
299
377
359
275
258
351
310
335
289
358
298
345
357
286
340
282
255
393
281
280
321
375
269
318
306
363
373
400
307
317
322
269
422
248
265
285
230
346
356
224
352
309
265
284
259
388
338
262
308
321
302
415
326
332
331
246
375
285
264
371
290
344
273
343
357
280
344
383
359
293
333
355
345
285
353
274
347
257
338
306
304
245
339
350
289
333
344
261
290
299
295
323
302
332
352
237
334
317
336
329
296
292
366
337
333
359
330
345
269
285
318
244
322
323
331
256
320
253
326
345
306
345
261
325
310
283
288
334
329
360
262
373
329
375
258
347
343
315
315
233
277
303
328
294
291
356
303
336
377
284
358
371
226
278
267
333
346
251
329
305
210
298
318
287
346
368
269
349
298
281
286
340
308
261
200
308
390
382
321
224
371
363
306
208
275
276
379
223
298
295
281
315
322
347
319
332
322
329
288
396
296
263
303
336
374
251
332
296
325
335
266
321
350
264
299
262
329
247
384
344
298
357
359
292
345
311
328
410
275
337
281
347
281
320
300
376
291
308
389
370
294
373
372
274
289
354
197
327
319
314
352
308
204
356
320
370
293
327
366
250
329
314
320
347
310
299
287
391
291
302
335
286
301
204
338
338
325
278
364
311
213
344
255
355
338
284
334
323
373
334
341
320
268
271
338
276
249
304
278
269
300
262
282
213
334
312
362
267
287
359
314
249
340
348
325
382
342
257
310
244
337
305
374
354
285
327
358
351
312
278
347
321
381
354
330
348
290
317
298
348
304
257
233
353
332
304
303
377
270
242
284
321
325
330
408
312
312
341
289
318
222
308
338
250
267
298
243
369
380
318
400
279
336
304
337
283
419
386
376
330
280
322
270
345
300
220
270
295
279
285
336
339
260
242
309
385
293
371
286
345
373
334
370
170
241
360
253
294
331
332
350
310
310
310
289
245
324
347
373
346
312
339
293
269
276
271
348
321
278
350
321
433
245
275
255
352
276
178
318
309
289
337
305
369
302
246
290
309
304
311
364
272
329
210
346
346
355
291
267
256
289
341
327
251
383
321
280
392
368
299
253
206
386
262
297
242
291
228
304
286
333
274
316
302
318
315
323
330
378
320
304
383
337
307
255
347
345
223
341
352
329
342
290
343
268
253
281
274
280
271
319
275
202
281
279
308
311
271
320
334
285
343
352
273
340
301
252
323
310
218
264
292
361
356
380
312
334
343
386
310
219
373
378
332
292
302
357
337
318
311
310
332
375
278
347
289
377
204
287
354
282
300
322
286
328
351
324
232
320
289
323
361
264
346
281
300
412
285
327
364
292
331
307
237
295
372
387
331
304
325
308
251
342
419
308
378
354
354
341
295
337
284
348
355
305
321
337
318
296
329
395
325
299
344
354
336
297
382
269
245
287
337
386
231
381
310
359
358
292
345
263
396
364
342
295
285
327
317
299
266
259
290
269
324
299
375
297
300
343
352
312
263
398
380
366
321
392
384
347
269
327
309
334
370
264
386
371
325
262
330
342
317
350
303
325
336
299
239
346
372
288
328
306
266
247
304
243
376
253
323
353
337
227
314
234
331
375
230
335
359
262
359
339
366
377
392
366
353
257
369
311
303
342
308
333
263
300
304
331
304
292
335
280
321
355
322
320
269
374
367
256
332
353
280
312
270
301
252
315
318
347
289
305
245
348
290
420
327
338
285
320
304
280
264
252
189
254
301
286
363
401
339
395
412
313
324
311
330
329
347
357
294
292
282
343
304
342
345
298
256
405
274
353
296
249
348
315
366
313
257
297
300
334
416
361
344
357
298
404
355
349
292
333
285
334
324
269
344
298
314
421
318
345
219
307
332
357
350
278
330
315
238
267
270
239
346
339
306
312
430
304
276
321
322
335
305
360
352
327
348
251
304
282
284
339
358
286
361
291
326
313
253
346
323
305
302
277
250
315
266
317
388
241
362
337
350
277
314
333
373
267
286
347
310
357
245
377
240
333
329
351
327
271
388
355
313
332
339
390
386
373
266
375
283
316
287
333
246
379
302
363
329
354
382
299
364
324
274
373
285
271
302
375
278
294
327
291
342
287
332
275
267
389
266
295
314
347
325
305
228
362
295
289
287
336
312
366
348
334
379
317
270
398
337
246
410
320
340
312
320
302
282
301
365
401
369
321
216
408
371
417
340
322
292
319
298
248
295
286
322
234
358
289
355
307
361
308
369
381
253
312
287
303
343
277
272
354
301
359
310
323
372
337
284
338
268
269
339
320
240
357
281
251
287
345
299
274
275
306
357
307
351
379
280
379
413
301
376
353
344
279
309
309
337
278
309
284
266
362
290
311
310
248
315
359
341
267
369
343
309
366
362
292
306
319
268
382
406
235
407
341
280
310
331
241
291
267
150
289
294
334
268
268
379
303
267
310
372
322
279
216
351
289
245
252
330
302
293
287
319
207
273
260
312
327
359
356
326
415
353
274
340
334
376
364
241
366
317
307
340
332
338
280
262
249
304
288
368
267
323
237
270
266
376
342
373
284
362
290
396
300
336
275
221
271
304
295
277
280
308
356
430
282
334
357
260
307
331
421
270
401
251
291
283
328
338
331
286
309
252
370
395
370
436
307
328
333
353
275
200
230
353
355
408
351
338
306
353
284
267
375
168
377
287
309
318
320
362
342
322
362
350
281
358
322
245
333
316
408
305
289
254
379
277
234
366
290
304
333
399
322
379
270
297
319
287
312
376
293
325
337
337
308
355
274
380
380
275
267
395
278
352
305
330
353
328
283
328
301
315
275
329
205
303
301
267
312
314
289
292
322
272
370
316
234
357
315
353
332
314
368
333
316
326
301
346
343
373
340
264
332
254
393
300
273
306
346
286
266
286
272
264
284
251
360
352
244
414
223
340
176
322
386
375
357
338
303
356
322
330
282
369
344
291
287
302
314
242
301
358
318
278
301
387
300
374
261
296
380
252
278
321
337
305
403
294
319
322
371
211
376
294
321
315
285
281
238
430
379
272
336
315
353
327
365
356
375
342
332
281
346
294
336
333
301
349
265
379
267
343
359
305
338
331
256
308
400
341
339
371
313
300
364
361
313
315
257
293
291
249
297
340
306
334
412
379
351
360
370
244
307
303
333
317
390
260
350
290
285
269
361
361
325
349
350
279
309
377
341
336
291
365
306
226
287
362
340
265
349
360
389
393
349
340
360
330
377
331
304
408
323
291
330
301
305
280
279
319
322
333
324
378
317
321
329
295
297
401
287
236
215
266
331
321
311
285
365
359
343
369
278
355
336
312
295
312
309
373
380
327
292
328
300
375
349
302
289
308
323
238
398
378
273
294
382
268
365
244
330
367
323
277
321
234
329
304
296
298
339
299
378
279
400
278
253
358
301
355
358
346
259
387
351
257
280
337
296
369
336
331
284
348
366
310
277
288
284
363
320
289
361
331
315
370
253
298
267
361
353
324
191
354
371
377
243
327
310
371
358
356
323
363
269
269
331
277
380
385
328
219
333
374
318
423
386
359
323
307
254
372
275
316
276
247
366
280
289
333
244
363
305
361
316
350
322
396
351
256
394
339
278
292
342
387
370
239
334
313
417
229
311
299
269
251
315
313
312
257
369
319
349
287
313
281
306
357
281
292
319
309
265
315
344
300
303
327
326
278
350
272
279
328
253
268
353
339
304
305
328
257
340
289
230
406
406
326
272
371
318
316
262
315
393
284
303
269
258
322
313
284
364
367
376
351
328
323
320
240
324
417
363
334
295
271
333
367
255
319
293
304
279
279
277
250
337
371
331
265
278
327
269
297
363
324
320
286
316
292
353
319
265
280
331
344
305
325
333
343
253
314
348
323
308
271
281
315
246
255
408
338
254
296
307
377
332
266
358
247
260
303
351
330
340
262
271
382
353
285
357
315
325
306
372
328
274
324
279
257
336
355
303
300
331
238
325
290
345
328
342
329
312
325
310
290
349
311
317
305
319
249
340
355
339
311
314
308
370
320
355
327
322
319
312
352
295
241
243
316
337
329
314
332
340
339
260
300
277
336
367
357
247
371
339
354
289
233
373
316
271
357
310
320
233
364
357
255
262
329
282
340
326
287
208
292
307
306
322
297
345
300
324
322
347
228
330
279
305
340
320
395
323
340
342
305
397
284
301
300
321
332
250
312
360
262
326
353
373
282
364
266
338
326
283
365
328
338
277
293
342
301
289
221
333
360
313
347
287
357
298
342
310
331
307
320
258
388
292
216
353
272
315
288
210
238
373
266
371
319
270
261
337
259
274
368
336
279
382
361
394
310
359
355
314
340
256
297
359
357
260
257
413
328
344
338
265
376
295
359
340
351
330
328
345
360
276
246
358
299
292
337
355
289
296
344
363
334
315
263
340
362
297
361
185
416
256
344
376
346
373
321
315
293
298
203
282
277
363
332
369
314
318
315
289
353
329
369
326
321
350
373
330
285
300
296
264
189
348
354
290
323
237
339
339
282
337
331
351
252
346
336
279
350
337
328
235
317
288
295
334
311
359
327
325
285
343
285
372
316
348
336
285
377
285
271
416
276
371
460
268
330
308
388
268
309
359
312
298
317
310
253
257
324
361
286
318
305
286
300
302
349
325
336
268
330
364
336
307
367
343
332
284
301
341
284
362
329
356
306
334
385
340
387
276
269
334
320
285
362
339
304
273
292
361
266
363
211
365
285
291
317
400
357
263
357
299
373
454
305
329
318
376
382
332
335
398
336
319
266
278
346
258
357
385
356
204
287
295
306
336
255
303
338
315
330
365
320
312
231
286
328
357
214
292
284
270
392
283
363
306
291
353
363
295
305
273
262
274
372
295
323
271
286
350
361
381
295
272
267
288
331
295
254
281
370
325
282
404
365
344
373
287
330
291
380
340
314
342
296
280
423
223
317
320
405
368
307
300
322
238
356
315
380
277
315
360
279
314
374
380
336
280
323
291
363
331
291
365
408
289
369
285
307
288
343
418
364
263
357
289
264
349
303
332
279
333
336
331
323
345
332
331
294
352
251
322
281
304
285
282
313
294
346
357
253
283
301
272
248
259
322
295
364
338
275
268
303
321
305
321
363
224
340
284
250
291
353
337
184
255
329
230
335
428
394
310
281
406
366
329
207
341
273
310
296
347
286
302
353
295
377
280
324
338
298
298
246
289
345
370
298
322
246
300
256
329
341
400
347
298
310
264
303
361
342
341
317
344
356
337
347
292
284
284
294
275
246
349
267
347
327
292
325
332
357
324
305
330
311
325
328
369
304
293
288
266
218
237
235
383
282
329
377
319
355
286
376
385
312
276
363
332
341
317
277
290
379
285
415
318
232
336
366
262
288
395
301
388
247
304
298
198
293
342
344
243
298
264
325
316
351
282
259
302
319
300
383
264
288
293
289
334
315
306
259
323
373
316
336
266
317
282
306
331
286
370
234
214
291
313
298
291
296
342
413
313
367
282
394
297
368
258
319
347
346
240
228
380
321
290
284
306
302
240
385
310
265
283
322
289
336
279
329
255
361
294
353
332
357
390
408
266
314
355
337
359
323
381
317
313
359
270
315
342
275
327
408
366
323
354
301
256
207
306
374
344
324
313
351
325
362
316
255
333
252
313
251
305
357
309
316
286
323
266
312
354
364
229
229
286
316
328
307
320
246
313
367
221
310
361
370
344
360
300
286
267
347
323
311
199
352
338
284
302
403
348
335
306
315
270
316
315
304
302
398
290
335
284
280
301
343
299
260
266
296
339
269
369
342
336
350
270
333
294
261
329
278
378
259
299
288
263
348
262
369
352
264
294
325
319
297
344
401
299
349
335
290
299
314
332
313
282
282
332
297
301
338
278
278
302
334
318
332
363
331
295
342
351
322
444
369
339
285
355
295
344
313
382
396
339
239
208
271
234
294
298
285
381
308
410
312
283
209
174
395
262
344
376
239
317
263
274
325
335
281
332
308
318
339
238
324
352
319
304
330
328
278
263
344
322
243
325
322
385
341
375
349
351
364
236
341
315
354
283
316
229
299
327
299
279
313
314
350
338
315
340
284
341
290
288
341
356
310
269
280
295
338
316
305
294
355
315
330
255
286
251
264
387
328
388
285
316
303
284
407
285
212
263
331
385
276
323
356
343
366
378
338
327
292
354
379
318
315
263
315
283
263
307
291
181
262
259
370
350
362
333
298
273
280
387
369
339
441
347
366
370
406
385
304
397
283
330
320
283
322
313
270
312
345
308
337
212
392
303
319
277
371
268
376
263
345
261
341
311
340
369
329
303
249
269
328
302
340
298
405
285
242
328
333
364
326
411
374
397
358
423
361
300
360
344
395
359
344
354
383
291
339
254
280
322
350
301
318
299
291
279
351
378
299
279
328
351
316
359
386
324
301
269
313
334
208
336
282
277
304
319
297
353
394
290
289
378
319
310
196
269
272
330
334
275
249
313
381
310
290
238
334
323
354
246
400
311
335
345
326
227
403
322
324
245
371
318
364
336
241
325
295
331
368
240
247
241
342
319
359
377
340
285
293
335
287
308
280
312
325
376
222
256
358
320
368
404
278
282
270
332
415
336
405
295
303
336
352
260
209
285
257
228
371
385
339
276
326
300
344
346
340
313
315
394
337
276
346
277
342
346
260
287
329
265
285
295
325
283
373
282
343
295
341
279
251
293
341
297
318
320
235
316
338
373
356
315
253
327
247
348
337
299
394
312
330
247
334
352
335
297
217
272
313
283
331
345
260
365
379
393
322
300
384
261
316
277
241
320
297
330
314
291
339
409
313
295
273
292
384
324
405
294
421
299
268
276
270
329
281
377
286
279
339
303
304
315
367
301
322
372
384
338
320
330
410
342
312
279
368
318
230
187
395
315
355
269
333
326
244
327
335
379
375
370
362
261
395
334
305
345
231
320
322
311
329
332
350
264
311
258
322
294
369
336
341
354
224
271
325
334
282
324
333
331
213
282
343
263
285
289
294
300
277
391
242
312
310
314
242
279
290
337
369
334
294
387
251
304
373
349
327
298
299
348
359
249
325
255
322
271
166
265
268
365
342
384
349
306
271
402
260
370
267
270
310
358
283
365
267
352
243
390
305
327
338
350
365
354
329
317
338
332
266
309
360
317
305
319
234
313
344
294
325
299
336
345
365
266
290
267
378
264
330
347
369
282
270
291
325
389
348
255
328
295
327
380
339
243
339
390
350
392
321
364
243
342
297
332
308
281
271
326
320
280
310
345
297
306
330
411
334
374
306
297
403
286
370
270
333
356
275
252
261
336
375
367
300
339
359
358
320
342
229
260
344
258
321
267
320
310
396
390
243
380
328
317
245
241
348
332
313
311
306
296
314
319
328
292
259
334
330
200
303
315
314
319
350
296
323
389
322
334
303
305
339
278
319
298
279
263
293
325
311
314
281
276
360
327
308
335
325
240
247
304
311
320
365
343
334
271
372
356
374
322
280
274
366
393
321
281
270
329
345
299
278
347
245
258
275
272
356
221
313
214
315
304
359
341
373
320
270
335
288
360
354
278
356
316
323
265
291
289
306
310
330
297
336
305
187
302
314
346
355
351
302
296
278
278
202
388
342
232
321
324
352
328
346
413
327
338
265
326
357
346
270
388
274
323
308
280
347
321
273
286
382
323
379
331
296
307
319
326
275
378
376
353
315
316
310
268
340
337
327
386
354
359
339
253
254
321
309
361
260
312
355
226
282
305
294
319
379
342
319
314
210
311
359
311
391
324
271
321
307
352
370
314
358
231
276
355
322
289
239
346
284
374
280
278
318
273
281
317
358
326
308
386
383
370
302
313
318
340
286
361
347
331
266
234
397
316
256
305
301
347
366
316
311
351
320
257
357
355
349
355
305
299
314
282
294
318
324
280
364
368
374
369
337
317
269
290
358
234
340
380
230
331
355
334
303
222
328
255
320
310
287
375
347
305
258
380
236
302
318
287
332
260
324
307
364
346
311
336
311
249
268
314
291
303
340
213
289
239
212
359
375
231
364
321
398
280
285
275
305
374
366
276
329
364
312
360
327
321
379
225
274
218
303
309
376
360
342
333
293
330
311
311
363
367
382
308
275
366
226
368
285
296
268
310
360
255
342
398
340
289
355
309
302
254
285
362
285
326
388
268
324
265
233
360
261
404
395
376
330
260
363
295
312
320
275
388
378
280
249
343
393
283
235
288
314
304
318
272
264
335
324
345
374
249
270
317
329
311
301
346
318
256
312
311
355
285
346
369
288
300
378
361
404
362
303
304
299
379
385
297
242
469
367
283
227
230
356
405
306
226
319
321
303
234
344
291
335
323
302
343
326
246
321
248
277
357
342
286
332
311
310
253
310
266
334
372
342
392
425
284
295
351
284
301
321
257
342
251
337
315
272
383
317
225
300
319
295
351
352
307
372
320
328
307
363
263
232
296
390
336
249
405
305
430
356
263
257
351
319
291
278
328
267
250
293
316
271
323
327
255
330
325
306
365
344
363
284
287
235
359
362
312
288
196
396
341
358
370
270
320
379
304
364
351
340
270
332
297
336
350
288
260
350
391
342
366
310
348
280
307
252
329
357
264
360
362
328
374
283
289
305
385
384
331
236
321
287
335
319
326
295
291
294
346
305
250
310
364
305
354
331
333
336
326
267
298
266
271
280
369
236
316
372
337
342
284
232
366
309
341
295
336
339
322
324
283
297
356
253
367
333
270
369
289
325
315
297
316
360
195
234
247
251
345
357
324
290
379
321
264
347
348
296
321
366
253
373
362
331
347
376
297
300
404
245
254
301
299
275
317
379
296
379
326
274
360
375
339
342
220
373
305
373
261
393
296
290
325
355
273
350
322
323
288
279
297
308
313
319
279
311
356
322
327
301
321
311
336
312
324
302
301
332
251
260
409
248
291
337
333
267
354
269
329
303
328
282
220
280
315
307
163
265
301
341
373
291
286
337
372
322
380
309
229
310
289
335
352
323
333
378
340
324
320
312
338
263
282
361
246
313
310
244
278
274
401
311
404
395
305
271
346
322
381
341
283
302
384
323
265
334
441
330
242
417
410
310
331
255
312
365
271
273
359
247
406
415
333
380
375
296
396
282
324
346
382
312
336
324
382
350
311
301
392
272
315
322
215
399
360
350
278
360
409
329
261
316
293
309
255
298
280
350
205
229
326
356
294
329
289
323
303
329
320
242
326
325
310
341
386
400
273
349
261
307
342
353
270
320
260
333
362
337
409
366
266
319
303
354
310
401
366
323
296
349
279
249
303
354
230
375
265
267
287
201
307
342
325
301
373
356
332
284
247
314
211
348
300
361
351
303
265
384
315
402
297
327
361
402
255
361
285
274
369
345
297
285
250
256
329
290
368
238
280
304
346
323
334
329
358
349
376
331
290
288
281
293
414
321
384
349
313
314
404
291
214
324
266
368
290
349
253
335
332
366
317
349
278
323
327
306
290
243
242
196
338
388
346
317
368
359
323
312
334
361
312
419
294
283
336
320
263
338
344
314
352
254
291
324
272
314
264
330
309
308
364
334
251
352
323
355
360
318
289
346
313
341
325
340
340
275
340
310
311
305
324
356
355
240
340
365
291
294
295
257
323
375
181
303
328
338
338
302
249
310
261
355
387
337
307
268
330
393
353
359
271
349
338
311
312
343
298
330
397
276
291
361
251
406
389
364
286
338
330
347
392
240
363
200
331
289
326
307
351
241
279
240
302
280
312
304
340
329
328
300
365
348
373
340
344
281
294
285
392
307
347
297
260
171
279
312
308
335
315
355
329
296
349
331
303
247
373
313
286
351
451
351
402
321
301
311
287
317
290
342
357
266
188
283
316
270
390
229
269
308
351
325
336
314
393
356
377
345
336
296
313
352
396
384
259
275
405
346
319
295
316
381
322
306
350
315
258
306
193
348
343
345
381
305
275
362
287
309
286
266
244
282
309
326
364
348
326
411
383
311
341
319
318
314
318
334
249
298
254
355
316
311
386
334
394
349
171
329
426
306
306
335
248
343
355
301
257
346
343
319
286
305
318
304
344
357
330
354
278
363
306
218
303
280
270
332
324
287
239
287
362
320
319
357
365
327
381
286
358
294
287
364
374
281
355
365
400
309
312
424
323
315
291
351
349
347
268
228
304
332
323
314
292
267
359
193
256
356
329
341
332
332
423
359
355
311
258
405
270
387
367
239
284
319
331
333
341
309
379
349
315
329
384
281
276
260
310
249
347
334
349
321
244
290
421
307
270
335
322
341
331
375
291
331
377
377
375
354
364
269
289
277
350
332
270
332
341
350
390
313
330
322
325
308
355
220
352
284
313
282
306
381
346
332
402
329
268
340
356
174
321
372
309
377
342
281
319
305
256
317
295
363
295
382
344
388
296
333
361
305
373
288
352
352
344
381
309
379
259
385
331
283
258
305
300
355
304
366
367
370
359
339
327
392
316
340
371
298
376
252
296
288
379
360
393
320
324
320
289
338
343
252
345
261
290
307
332
239
260
252
352
289
313
269
372
284
363
272
325
244
277
422
312
355
252
403
266
343
237
368
313
285
287
343
332
363
260
362
301
351
393
360
276
340
275
352
353
316
305
275
247
271
258
301
296
258
310
352
334
317
334
312
299
312
332
350
372
210
333
330
340
215
229
388
369
255
377
288
381
417
326
289
289
237
260
243
176
340
310
315
304
268
332
322
314
277
304
317
379
357
296
343
326
276
346
226
323
265
253
346
280
298
309
294
348
273
264
299
253
306
359
230
236
293
372
323
237
315
403
366
267
296
287
353
300
331
276
349
349
199
286
343
382
366
236
339
304
277
336
411
390
324
303
243
279
318
277
376
296
222
226
274
339
348
352
330
224
291
359
313
332
349
357
302
375
307
294
306
365
291
246
305
274
290
370
289
348
354
368
386
312
313
307
408
278
347
212
336
289
249
272
263
342
311
283
352
245
330
356
287
362
290
259
262
404
349
311
324
323
308
327
350
207
328
338
342
382
213
285
322
379
317
338
374
322
366
357
335
329
270
286
269
351
321
248
278
401
331
362
306
328
311
330
329
353
311
290
308
288
384
309
224
372
375
276
279
291
348
250
273
360
314
346
311
332
299
319
283
313
273
331
241
320
323
225
305
286
296
308
319
336
318
400
342
294
283
351
335
269
378
305
294
305
282
213
292
259
372
325
319
409
271
296
355
357
311
306
312
332
351
432
329
321
322
324
336
190
282
265
299
311
412
289
148
344
302
361
434
362
366
249
301
375
352
284
352
344
251
275
358
311
273
332
292
291
348
313
320
253
323
288
317
335
271
318
302
367
366
305
278
345
313
245
255
309
212
258
394
312
287
337
340
328
304
341
424
319
251
329
308
335
389
405
399
306
349
288
298
312
341
265
313
381
252
313
268
363
320
235
315
264
253
332
321
301
314
353
278
276
315
329
231
247
359
331
291
288
259
250
309
357
275
297
353
299
421
317
318
299
253
260
296
278
377
279
378
315
275
317
271
284
380
262
288
248
421
392
336
318
357
313
309
261
312
311
255
311
317
257
315
265
231
276
264
356
293
376
330
301
335
339
317
362
419
326
312
357
278
329
366
321
386
347
355
366
335
336
329
366
207
376
360
277
313
202
283
250
362
339
269
340
387
363
294
266
242
323
364
265
364
370
264
334
225
245
249
334
387
328
316
400
341
381
371
316
245
246
283
359
387
349
329
318
323
306
345
372
314
329
274
296
310
348
381
253
308
354
232
364
325
291
313
338
305
332
335
363
286
381
197
300
339
378
344
193
393
240
279
283
285
226
302
243
395
216
298
416
297
295
386
320
264
336
211
348
351
319
275
363
317
254
235
330
260
268
314
399
341
395
254
312
397
339
320
355
317
285
319
253
281
300
325
382
278
353
385
358
320
336
370
327
280
342
242
325
311
291
260
282
318
355
342
311
295
339
373
374
275
315
272
236
269
378
276
312
283
267
358
331
331
277
302
271
248
334
351
293
307
323
272
269
244
271
391
262
352
392
384
294
297
276
307
312
312
225
381
378
343
331
350
261
308
315
379
312
403
238
365
395
408
323
341
362
235
360
254
385
197
349
384
252
264
305
391
304
263
340
309
286
252
292
312
341
297
329
310
396
297
312
314
240
195
375
233
410
317
353
382
285
323
324
318
324
298
307
362
247
295
227
316
249
269
262
256
291
275
299
249
248
350
330
335
297
314
262
357
307
289
279
368
321
339
344
368
297
337
322
325
311
347
289
290
348
328
282
356
348
315
329
336
355
304
316
361
248
315
406
270
325
382
327
294
300
320
383
363
395
274
295
289
258
348
358
328
326
334
258
361
362
256
331
307
353
329
379
211
268
351
298
326
386
185
312
360
305
349
347
289
338
247
295
341
321
332
320
356
247
319
305
277
371
255
300
311
364
348
308
299
254
280
245
283
344
256
293
280
335
320
269
347
329
343
213
240
283
376
259
362
298
340
252
322
240
392
335
385
280
339
304
346
303
255
329
320
299
389
342
289
347
344
273
314
274
268
291
223
273
228
335
350
223
354
382
373
293
369
315
400
301
291
342
292
242
281
284
329
367
254
309
323
303
233
328
328
323
343
321
356
333
344
359
291
249
368
331
277
368
328
328
336
318
314
236
332
274
319
299
253
242
245
328
381
359
356
339
342
330
312
241
243
324
351
328
386
289
387
269
314
245
293
271
245
318
361
345
321
336
312
338
312
283
299
244
352
318
192
333
362
308
275
378
303
416
313
330
290
303
205
363
299
317
314
277
382
209
317
366
302
313
344
351
314
359
319
260
349
287
348
292
216
325
336
329
286
344
325
366
341
302
316
329
315
341
351
288
248
261
335
363
295
359
191
323
309
323
281
414
292
346
271
343
303
389
277
259
230
281
269
328
271
350
259
272
300
339
311
248
308
287
293
273
320
315
277
323
299
249
344
376
325
346
346
305
392
313
348
256
414
281
285
335
264
341
301
236
379
299
226
313
270
332
328
276
296
323
289
334
331
310
293
384
273
307
330
329
301
308
334
332
342
287
307
200
368
308
371
227
299
363
353
302
303
337
303
217
378
314
312
355
347
268
374
357
305
297
261
345
293
390
348
367
282
273
247
343
283
392
321
311
380
343
312
273
288
346
280
316
264
350
309
316
321
344
321
360
431
347
388
277
269
306
335
308
344
298
328
394
313
346
395
243
390
281
336
360
349
367
304
348
341
306
391
286
303
357
270
355
328
271
337
312
334
292
252
306
364
270
307
289
297
268
340
353
304
279
270
281
307
385
358
363
344
297
217
363
324
339
314
354
265
240
309
315
320
350
303
283
307
334
367
205
346
328
242
317
281
274
294
334
349
324
267
291
365
353
316
336
292
296
336
317
415
279
309
305
279
353
296
242
286
299
368
321
353
256
311
273
339
266
326
311
347
362
288
307
347
335
267
393
338
278
299
345
317
192
289
301
326
352
317
314
300
307
374
352
296
151
280
285
319
243
237
248
308
262
348
352
317
314
275
331
324
328
337
286
298
325
226
303
340
274
331
220
324
288
337
270
403
330
305
334
285
345
317
390
341
311
306
197
349
382
353
256
308
352
268
318
343
302
316
288
322
305
272
345
381
245
304
319
293
333
373
368
273
258
324
297
325
328
288
324
278
320
339
307
308
302
364
308
289
310
318
370
289
357
336
362
360
349
324
286
296
333
329
283
347
292
292
314
335
389
378
241
344
388
276
257
302
298
360
275
249
368
346
366
312
290
388
351
348
301
284
345
327
282
330
355
343
317
256
329
270
341
293
361
259
310
334
302
323
326
309
383
311
317
280
299
326
284
384
285
348
258
257
291
325
375
263
300
357
270
260
273
315
213
410
349
299
332
340
330
322
377
337
372
279
348
326
329
348
315
366
349
377
297
331
297
284
301
233
270
287
252
372
260
242
221
295
340
374
299
311
260
249
376
320
296
380
212
385
334
282
287
281
296
345
291
275
382
339
313
273
296
348
324
285
339
330
354
203
220
234
303
243
312
316
256
389
304
348
354
325
366
317
301
220
344
382
278
364
396
201
279
358
350
230
303
399
373
280
263
322
282
277
318
266
300
272
289
347
326
323
308
396
305
403
331
339
348
348
384
360
402
333
254
277
274
276
268
342
302
283
360
281
322
370
355
291
333
287
233
271
273
355
299
398
314
415
350
257
275
273
382
374
348
304
324
361
290
279
303
347
339
320
331
408
284
328
295
296
362
350
260
359
281
370
384
284
245
346
335
413
347
263
407
316
298
326
354
324
250
339
301
231
292
258
282
274
298
277
364
270
399
304
261
323
357
340
254
208
328
392
373
364
302
236
322
385
305
288
322
383
265
337
294
400
370
331
273
376
384
288
354
368
279
393
292
323
252
307
243
339
200
414
316
350
406
307
273
321
327
263
286
304
269
322
303
310
329
378
235
316
288
353
335
340
293
359
329
305
288
316
257
356
307
348
308
327
317
282
318
335
303
389
250
358
346
325
322
312
321
308
311
334
284
343
379
334
300
384
265
355
272
356
335
255
320
329
308
291
310
367
303
272
402
326
347
301
274
264
365
269
221
231
218
209
251
318
314
332
222
362
318
329
323
335
351
328
368
380
326
389
311
361
289
390
376
407
273
286
236
342
421
382
323
291
261
302
347
383
228
317
385
397
289
327
219
362
277
343
300
315
296
280
338
354
292
296
278
354
323
346
363
351
264
432
242
259
342
362
366
340
284
316
332
289
229
260
289
342
279
273
288
263
345
280
334
291
234
326
293
300
330
277
343
300
193
302
333
348
305
297
293
361
363
285
318
328
302
371
347
307
326
277
303
329
234
364
344
310
293
348
276
326
291
309
380
227
237
243
335
300
310
304
308
253
229
288
407
264
408
308
426
368
351
388
385
290
371
273
248
358
301
306
344
361
372
361
351
302
334
276
319
403
314
387
379
291
356
312
322
354
298
323
329
300
216
311
274
346
317
324
299
238
326
200
360
356
313
333
309
311
285
362
298
359
398
315
362
296
343
285
284
324
314
308
329
272
389
361
345
391
310
352
240
292
283
291
279
309
305
237
303
286
256
337
280
237
381
296
259
312
299
205
373
282
354
353
280
386
332
324
342
272
392
321
288
262
306
362
324
316
347
398
362
320
360
320
322
301
263
250
316
306
344
344
337
308
343
309
362
324
336
337
290
351
259
299
264
254
275
266
322
261
287
350
343
343
270
325
320
383
327
337
249
290
312
191
378
379
285
292
319
272
302
239
296
240
340
341
284
332
326
335
325
291
308
371
356
274
332
286
257
321
399
293
331
357
282
356
284
369
259
370
402
396
299
233
295
282
327
297
377
340
322
330
312
377
365
326
290
323
316
276
330
211
319
270
302
300
384
331
322
317
313
330
409
262
348
329
257
300
331
454
353
255
289
313
310
380
273
349
348
328
307
287
359
339
319
409
344
348
328
307
375
236
383
231
250
297
354
288
311
326
256
317
281
308
392
262
300
295
333
327
362
323
300
322
224
283
290
267
315
233
302
343
297
381
312
385
322
252
299
397
313
345
289
261
313
307
333
335
350
348
241
363
256
354
195
346
323
314
328
279
311
365
315
357
268
309
360
245
317
274
336
338
332
242
346
222
348
349
362
313
260
271
324
362
343
374
374
358
377
294
321
357
264
265
280
232
312
304
344
383
305
256
327
393
401
323
268
308
333
335
374
240
356
414
404
340
283
301
285
279
322
325
338
240
312
303
296
298
358
355
322
301
331
203
373
353
272
266
371
322
376
324
332
369
380
274
299
300
367
370
387
277
321
342
341
383
318
297
303
331
213
389
286
388
363
246
369
348
356
341
344
325
400
314
238
376
276
369
285
265
419
313
299
305
352
372
401
291
238
283
380
298
371
370
286
242
311
278
358
330
304
325
312
303
321
317
223
345
341
320
308
348
310
339
363
339
296
381
307
293
343
225
326
311
281
393
334
312
254
306
332
224
331
343
272
285
283
350
305
347
305
366
365
334
215
229
307
267
317
293
254
282
367
276
325
316
311
343
347
297
318
344
336
318
323
322
282
359
267
371
350
392
294
309
305
307
233
286
286
319
327
311
318
206
323
307
321
366
252
282
279
372
333
294
314
272
354
260
308
372
299
379
361
271
324
295
290
293
326
330
350
263
266
305
267
278
256
339
322
309
308
319
339
346
284
308
251
375
297
378
372
308
277
292
366
325
364
365
333
302
320
411
331
320
363
309
347
343
256
251
252
356
330
304
341
310
227
325
357
328
342
311
325
279
269
324
280
254
428
298
256
319
311
320
307
330
305
377
313
287
312
227
369
234
418
351
396
282
341
374
257
284
299
275
387
332
403
366
286
346
346
247
264
324
256
359
305
360
309
250
358
290
252
316
289
277
327
322
261
284
397
305
356
340
352
346
336
327
303
227
332
332
257
318
373
320
273
276
328
307
246
222
297
299
263
324
233
319
219
337
317
334
308
289
321
355
240
279
341
328
341
326
324
312
253
336
344
263
337
303
249
335
354
267
283
289
272
331
258
336
380
363
341
364
333
245
391
357
346
288
285
244
195
327
307
422
299
284
319
365
374
292
343
268
348
347
300
224
313
303
245
293
343
288
400
312
281
292
302
294
306
352
235
321
354
388
355
329
348
352
417
236
346
325
301
303
352
363
285
284
411
287
287
369
361
345
235
231
351
372
355
363
361
354
331
202
407
319
321
203
246
320
340
243
375
317
267
322
342
322
262
324
299
235
337
221
286
302
235
362
327
314
331
374
345
393
372
324
318
326
291
319
281
324
271
351
274
276
342
306
271
333
289
294
329
348
296
326
289
252
339
280
290
246
365
304
330
354
351
284
289
195
399
286
272
278
294
346
318
265
325
312
293
294
280
296
319
251
269
304
340
280
281
348
356
293
251
233
330
322
292
308
222
426
279
301
298
313
359
385
353
312
337
301
344
348
381
302
289
340
351
283
334
305
383
248
204
301
278
273
303
387
305
278
334
308
340
259
345
329
328
288
277
274
273
266
301
327
360
247
361
385
285
313
288
229
350
244
374
305
245
310
262
393
316
337
287
391
343
341
290
307
295
306
340
327
302
259
341
266
283
331
323
310
321
303
292
325
277
296
200
282
274
380
361
367
224
335
306
313
347
398
239
345
275
360
318
296
364
294
265
345
292
325
300
366
327
375
349
283
367
201
314
310
300
357
332
350
336
341
285
281
243
338
317
219
344
363
338
216
285
326
330
385
250
272
419
257
337
381
316
368
349
296
308
254
336
380
387
351
316
260
344
329
288
270
316
287
298
267
334
377
353
265
233
366
355
336
351
338
270
406
340
306
310
240
277
302
347
377
329
331
373
316
276
263
324
392
347
311
314
330
356
274
302
331
289
314
296
351
310
323
304
316
343
304
352
400
379
353
357
317
357
380
353
275
371
338
305
336
275
364
178
350
278
328
371
226
363
311
326
357
329
295
295
309
257
356
296
304
316
305
315
335
245
285
293
295
361
318
348
327
301
305
283
307
333
292
308
360
309
298
253
379
198
257
361
334
282
272
375
249
333
316
253
330
322
379
323
322
198
254
363
399
212
281
327
293
374
300
279
306
259
251
341
278
311
344
322
364
365
293
209
348
370
278
313
287
287
291
275
283
386
359
245
307
365
329
222
202
379
342
254
349
375
256
302
296
345
321
298
332
291
299
351
292
369
300
360
237
326
310
387
395
325
395
310
390
325
394
302
328
329
271
367
282
336
339
238
339
344
295
349
269
309
377
405
311
349
272
309
259
357
334
342
344
327
288
282
340
271
328
287
303
367
372
392
261
366
398
334
309
327
299
370
329
388
255
293
254
311
307
258
328
319
273
302
325
357
368
254
316
277
311
338
289
288
293
311
398
314
388
396
259
217
371
335
246
401
366
313
382
247
288
250
274
279
299
304
261
280
353
239
248
300
398
393
386
396
277
322
350
319
321
357
360
344
367
355
268
292
370
298
396
345
265
377
342
254
243
279
308
364
263
316
310
340
296
358
342
359
341
324
320
259
333
382
227
283
350
319
365
377
258
352
402
279
291
256
354
282
417
218
340
342
249
378
346
341
330
323
229
289
376
303
265
331
333
295
318
309
341
346
214
331
327
297
272
275
346
298
371
335
303
311
358
338
319
298
288
316
203
317
313
358
345
322
285
322
252
361
307
314
328
387
277
258
304
288
402
303
303
252
402
341
290
306
354
325
381
280
258
290
364
334
328
344
307
313
330
246
306
362
349
312
364
337
367
296
316
377
380
305
359
375
281
275
316
273
213
333
326
295
313
231
318
360
351
313
321
369
346
244
319
315
339
366
304
309
326
315
408
258
261
374
295
325
268
319
321
353
338
274
308
324
264
310
312
317
286
287
302
349
283
319
266
322
278
403
367
261
272
322
363
300
374
307
304
358
337
345
397
313
376
320
304
329
316
319
348
327
383
271
353
295
292
274
290
337
405
252
342
213
336
339
364
313
270
370
332
367
338
343
261
349
350
349
337
387
359
371
305
292
261
358
309
333
244
360
321
234
314
272
359
349
360
353
298
316
312
362
313
288
373
221
344
368
325
283
307
283
340
309
260
360
325
340
342
331
215
291
333
372
283
282
311
276
288
354
388
277
333
328
337
295
333
216
286
279
374
392
276
348
313
318
304
289
289
305
319
310
292
329
328
379
289
220
356
272
307
315
319
340
344
313
221
308
377
219
271
333
319
319
323
329
288
263
314
323
317
352
308
431
413
243
288
335
395
401
298
393
317
258
319
320
212
367
350
324
352
333
386
324
358
225
380
307
305
210
312
316
297
299
329
348
305
252
299
352
370
398
258
334
331
290
350
291
304
284
302
286
373
347
259
304
229
359
339
330
299
292
412
352
329
255
299
331
337
332
263
328
282
284
321
293
282
358
269
326
351
353
384
342
253
326
259
315
354
383
288
272
273
336
374
313
252
220
222
362
397
342
323
282
308
297
349
315
338
327
311
217
320
353
297
274
286
245
276
389
276
300
415
265
256
347
296
274
263
273
302
356
322
309
267
306
300
340
384
290
326
329
250
364
344
380
302
292
277
362
286
264
307
313
287
266
304
330
296
324
320
322
313
338
336
291
334
339
320
289
372
346
321
340
383
241
283
328
297
335
263
379
389
335
329
387
335
288
324
322
328
293
323
297
294
327
286
323
413
278
264
298
259
306
441
268
356
290
248
341
299
284
272
271
351
265
293
312
360
307
312
307
305
320
335
330
238
398
346
358
403
350
358
362
338
332
387
333
329
355
360
382
211
239
352
303
306
361
333
306
250
295
401
350
330
295
296
362
323
265
317
289
300
346
318
277
301
360
250
350
320
319
289
332
262
221
343
375
289
296
289
259
280
358
246
271
329
297
268
257
247
296
305
391
200
262
267
333
312
295
330
368
353
335
286
318
334
261
306
335
348
256
326
339
315
307
401
385
361
289
312
360
238
340
362
347
283
303
236
253
241
350
281
336
265
253
311
390
326
317
269
374
336
324
325
276
250
304
308
317
274
323
281
371
343
336
342
283
341
256
280
283
436
293
191
331
346
331
369
291
317
353
324
188
318
319
312
272
317
242
391
342
323
268
354
368
308
353
377
294
331
308
334
273
279
285
334
291
261
344
332
326
344
336
359
390
313
424
372
307
343
369
352
429
333
345
365
352
358
353
354
309
332
322
275
284
325
349
353
261
314
330
280
296
358
318
349
319
344
292
255
321
337
365
347
386
268
255
377
246
299
300
365
327
313
404
297
237
262
308
297
202
349
349
318
448
391
326
296
273
323
292
306
262
377
346
367
273
340
335
263
229
270
241
307
378
302
295
335
255
362
392
325
259
403
284
308
305
419
366
258
256
357
292
273
257
355
291
338
332
254
246
319
336
325
253
279
294
325
386
325
327
290
244
350
286
307
297
326
325
338
315
332
258
371
338
295
264
346
333
365
375
354
374
358
279
265
295
284
322
300
316
271
330
300
368
350
424
385
356
334
320
323
355
289
304
225
354
368
288
280
316
304
348
284
379
374
377
198
366
318
339
351
268
325
322
278
364
364
271
255
286
264
301
299
330
344
282
340
214
297
204
343
256
309
267
341
326
291
303
348
330
260
190
309
383
270
302
247
314
326
324
332
361
345
346
242
359
289
359
374
311
373
336
381
301
266
206
323
301
339
349
341
349
256
334
300
303
293
305
285
282
269
328
320
311
301
351
349
315
200
414
345
289
297
295
343
331
264
303
332
273
356
311
372
291
399
300
353
267
350
296
331
342
297
343
273
228
261
269
331
294
391
328
349
459
317
351
371
251
307
314
320
368
349
339
359
300
244
308
282
364
317
324
323
321
329
357
363
268
284
350
370
423
249
271
262
359
334
322
266
290
378
312
312
290
310
334
333
387
264
221
351
398
329
369
314
278
324
303
330
321
348
290
324
319
310
248
346
286
213
336
334
318
432
245
330
364
307
309
365
424
284
264
364
240
231
324
245
249
365
369
276
264
336
269
350
255
375
287
384
364
381
295
264
344
311
239
292
360
275
299
307
345
314
369
290
266
306
299
312
251
224
345
368
349
326
238
316
327
315
285
266
230
379
406
301
309
299
341
426
339
226
275
314
238
390
362
314
309
332
312
341
352
327
333
345
239
260
305
263
344
366
357
296
300
330
275
355
309
352
231
321
229
345
278
349
333
277
321
272
301
254
341
328
357
259
255
317
310
297
362
352
308
281
389
243
366
309
304
346
249
303
347
330
300
237
346
324
304
289
275
322
332
307
249
285
280
319
305
301
312
211
318
336
293
274
280
359
303
277
237
252
352
308
355
335
334
334
308
312
265
304
336
217
382
369
274
376
298
361
371
232
316
319
354
296
325
332
237
343
293
387
338
253
368
369
265
400
326
301
394
368
345
260
329
319
345
339
223
332
322
389
287
265
340
342
358
345
268
260
332
376
223
290
335
315
315
299
261
280
310
330
308
327
301
303
337
345
296
355
287
324
247
263
342
302
369
365
267
246
340
304
375
375
302
231
202
258
273
321
289
254
301
348
271
442
280
373
245
405
325
351
148
410
337
343
375
284
351
365
345
243
323
334
329
321
365
313
401
356
308
298
298
327
366
320
367
308
291
358
279
317
298
412
283
344
382
268
373
255
310
271
285
305
252
302
285
375
348
291
298
268
293
346
313
269
269
354
285
307
391
346
286
273
351
340
345
319
355
257
234
310
216
332
331
295
303
235
332
243
274
356
333
202
286
346
272
281
352
307
322
347
234
294
276
353
292
375
237
298
261
396
306
281
343
363
385
347
377
323
290
350
273
326
316
285
324
247
278
238
279
355
310
319
300
282
270
320
288
363
295
364
352
291
337
298
405
299
264
306
340
245
385
258
283
294
267
358
258
303
366
271
319
312
287
293
332
286
286
284
361
289
311
283
239
315
368
342
336
319
291
266
303
326
352
342
305
338
331
392
316
309
275
347
296
280
348
381
310
254
309
417
298
355
279
249
250
327
315
342
343
288
455
303
297
257
339
335
314
213
296
295
336
242
304
330
266
331
271
339
341
381
304
279
369
283
318
324
326
271
288
380
356
278
311
382
336
322
363
290
244
257
288
268
293
321
331
289
281
374
305
245
319
286
312
261
250
259
235
201
250
287
355
282
246
242
297
289
256
369
372
294
307
316
388
276
326
275
323
326
293
251
288
368
318
312
284
277
350
253
251
347
333
304
304
305
274
268
297
332
362
365
383
345
247
255
324
388
252
293
257
256
304
344
295
337
318
315
333
285
320
312
405
267
329
337
256
366
353
328
263
248
319
310
258
252
250
386
366
358
304
289
317
257
318
318
296
251
344
411
301
283
296
356
361
287
344
305
320
270
360
275
302
349
312
300
186
330
315
313
336
238
299
320
296
332
285
293
344
368
331
282
303
271
315
231
370
354
308
262
279
331
322
305
319
372
276
334
249
362
333
332
348
324
359
327
437
270
297
387
320
328
304
299
301
332
316
244
238
349
261
283
350
370
383
282
307
292
267
292
303
411
344
303
278
343
274
319
264
376
207
273
329
283
244
332
341
283
342
276
288
315
290
282
276
315
328
312
301
335
262
338
311
325
280
274
377
400
317
300
349
310
312
309
235
374
293
238
371
312
279
321
284
306
336
252
315
342
352
248
241
316
220
360
357
280
357
298
378
383
337
301
276
243
296
301
252
336
266
345
291
357
276
405
301
347
290
230
283
318
357
322
328
337
200
312
328
372
283
335
360
273
320
321
341
288
280
308
323
327
332
365
294
281
290
244
286
364
351
405
326
287
275
242
379
257
265
399
335
381
315
271
391
284
275
309
254
330
354
319
330
346
380
379
335
372
340
374
358
248
286
350
375
341
390
343
305
330
351
267
338
331
301
323
281
287
295
309
319
318
325
416
288
342
356
378
258
347
329
257
395
354
335
353
315
344
295
363
240
334
314
347
322
319
317
370
327
342
299
309
290
266
348
418
340
265
317
299
339
316
302
366
336
376
282
311
262
319
258
259
329
250
271
335
265
316
415
329
263
383
306
292
325
325
295
345
330
306
282
308
371
382
314
302
360
270
269
283
323
347
280
341
305
336
367
308
224
355
356
254
341
315
385
363
398
351
251
338
321
336
313
300
241
305
298
305
308
340
227
339
387
278
295
269
335
361
340
366
302
390
343
306
346
288
303
352
291
337
331
413
378
352
297
282
349
327
238
265
284
339
257
287
430
331
346
382
361
256
281
327
347
333
322
374
287
311
335
351
312
311
328
318
362
273
365
350
317
265
335
292
279
299
377
331
310
359
346
346
269
327
265
265
341
291
322
270
282
386
244
241
432
338
350
354
328
313
328
323
395
284
415
352
313
391
282
249
313
364
343
300
376
292
317
211
237
372
224
266
309
278
333
311
312
337
319
313
331
352
327
251
287
310
267
287
337
293
369
279
332
256
300
267
322
297
372
343
312
218
335
286
345
372
361
343
355
327
274
408
357
383
281
311
297
332
233
353
331
303
370
340
305
326
233
299
272
258
254
352
355
360
374
327
318
255
251
286
402
374
294
292
305
323
269
284
290
303
338
286
367
380
307
258
280
250
242
356
224
277
260
362
379
388
346
338
367
356
324
324
253
324
237
307
316
330
315
321
317
353
178
299
377
363
308
363
328
329
378
336
251
331
267
363
343
349
232
405
315
340
297
270
257
326
380
368
273
275
219
349
372
323
343
315
310
366
367
380
320
320
338
409
307
236
291
311
366
335
370
305
296
309
293
282
244
266
349
341
325
266
324
270
377
339
338
326
344
331
320
312
337
317
247
366
297
305
338
287
224
276
346
271
334
217
354
369
328
315
382
384
293
275
288
291
400
277
335
301
378
284
342
341
286
307
302
255
324
311
295
239
301
334
332
362
361
299
266
363
315
284
319
357
360
307
279
339
353
358
257
342
308
288
267
166
367
303
307
328
264
302
307
333
373
268
283
392
225
367
347
256
342
379
326
341
348
314
299
402
392
390
231
351
272
338
289
261
286
312
292
280
376
342
323
313
276
299
318
321
280
370
317
340
353
403
351
208
364
340
349
374
312
286
253
261
334
413
369
343
368
289
345
312
321
389
312
318
322
336
331
251
308
344
233
279
288
279
350
331
253
348
306
351
237
329
252
244
365
376
266
322
332
342
365
318
376
320
250
353
263
302
295
278
308
322
275
236
314
251
347
263
327
311
263
351
263
289
355
244
295
350
358
303
359
404
340
296
276
291
299
267
240
340
403
275
272
380
338
246
311
276
374
403
312
326
189
338
272
383
359
355
288
328
326
332
276
387
296
324
201
273
290
286
292
272
261
296
284
321
277
218
291
395
351
375
235
302
376
291
211
312
289
310
291
399
312
297
234
258
251
350
258
227
347
279
356
363
329
351
255
367
326
296
311
358
227
297
311
360
340
319
390
303
223
334
273
337
313
288
265
335
316
286
335
309
275
354
310
352
312
321
335
309
256
251
360
383
230
304
309
382
263
270
384
354
307
293
307
359
217
289
323
329
183
293
317
315
288
290
329
256
303
282
307
396
283
309
382
382
353
355
380
357
314
279
326
325
352
341
329
251
306
301
361
340
341
266
227
273
342
334
262
350
319
400
379
278
339
267
256
334
359
355
261
349
373
280
338
309
351
367
361
316
299
322
343
342
238
340
318
218
372
314
322
326
357
379
329
240
304
369
307
307
365
346
293
371
219
321
233
281
258
292
264
239
296
312
223
305
378
289
295
400
331
318
292
286
351
349
336
274
367
321
312
237
289
374
328
323
336
363
275
338
338
331
380
263
367
296
236
376
280
330
297
284
341
354
303
275
283
299
378
281
371
347
251
377
363
387
305
370
303
297
326
387
286
295
247
385
285
287
302
287
263
303
308
358
282
342
311
317
335
379
353
315
243
338
252
433
296
321
389
274
293
354
373
317
332
331
301
219
290
313
399
373
258
281
271
334
246
306
330
267
312
157
276
388
274
297
307
303
326
349
260
285
325
313
355
317
257
253
196
283
285
268
364
302
263
323
345
404
290
361
319
278
318
310
366
302
340
341
294
383
351
330
353
243
353
332
335
270
330
360
264
350
369
337
356
321
332
332
376
272
339
359
385
338
437
317
317
363
321
267
286
256
281
343
307
250
308
347
361
347
232
387
345
307
339
178
296
363
289
250
383
329
288
391
329
378
297
293
306
274
321
391
385
389
273
329
291
340
249
274
328
354
364
284
312
301
318
375
320
241
357
306
331
214
331
250
315
268
352
373
278
276
309
331
330
342
216
298
315
355
387
304
333
275
259
348
269
369
278
319
222
258
299
343
246
220
331
258
256
358
236
271
344
275
339
298
274
326
344
352
273
313
345
391
345
291
231
360
273
333
308
347
351
322
265
297
359
326
222
312
227
253
313
238
302
343
263
283
216
361
297
276
282
319
370
334
329
373
355
322
356
267
363
236
382
359
377
362
233
290
356
438
305
371
247
282
300
328
338
353
279
179
210
286
297
198
314
291
306
217
311
275
345
329
323
350
255
238
256
319
214
368
364
326
330
337
336
365
285
325
258
275
309
345
348
248
313
255
331
374
312
355
254
329
311
296
300
408
290
331
285
211
318
313
250
407
322
236
271
348
392
298
276
421
398
288
293
243
351
364
328
339
264
360
406
301
312
282
341
314
357
271
316
329
216
304
375
352
347
314
248
241
382
287
340
276
317
332
339
284
408
239
355
283
248
319
224
223
317
288
346
374
326
257
288
353
303
282
311
298
232
327
336
305
368
314
396
274
317
360
330
318
346
275
230
288
349
330
342
342
290
292
377
377
360
339
338
372
305
250
291
271
358
254
326
321
376
218
390
312
330
372
321
344
394
268
253
361
279
384
353
317
246
323
323
319
248
270
393
362
271
334
329
364
218
302
332
353
324
268
295
285
247
334
283
308
367
307
228
249
320
362
354
310
330
347
303
328
328
382
276
337
271
320
299
365
266
291
324
346
251
345
334
343
333
286
287
290
316
337
312
198
315
409
272
362
269
369
281
364
382
345
285
302
354
294
387
271
344
202
311
329
364
241
288
325
334
393
216
353
276
364
363
242
236
238
282
316
254
344
242
248
313
280
282
319
317
295
271
357
385
350
269
315
335
327
293
281
304
262
350
263
361
289
264
347
356
329
358
288
314
303
240
314
248
263
321
354
237
289
282
330
233
346
296
320
311
320
269
387
347
303
264
335
297
405
311
316
241
307
314
242
279
256
299
305
422
264
344
265
337
352
274
326
346
310
310
344
375
352
388
276
300
324
337
387
331
386
355
301
254
280
329
286
346
315
396
244
411
352
434
331
305
348
289
335
285
396
352
278
295
345
276
235
231
372
387
315
331
306
252
249
339
321
369
362
276
266
361
326
374
324
271
300
240
311
250
328
264
322
300
379
341
354
305
327
224
274
266
300
425
409
295
346
291
385
336
351
403
297
354
348
380
239
297
308
247
350
317
278
264
289
388
272
320
385
378
298
326
249
347
317
363
300
235
288
337
315
337
316
352
331
325
240
303
248
332
335
246
294
367
302
267
305
291
338
342
270
331
341
276
350
330
352
245
283
267
339
256
220
342
303
353
297
293
339
290
359
286
260
358
390
359
325
298
313
237
287
318
261
356
328
376
298
365
219
349
331
340
273
328
259
327
341
276
269
302
328
300
325
283
267
182
243
307
351
284
322
278
324
308
309
350
305
291
308
362
292
355
347
314
300
336
309
294
231
377
355
325
410
280
378
297
281
287
259
370
308
277
297
334
306
319
281
243
283
283
335
360
336
354
339
372
286
293
367
324
292
271
315
266
325
286
332
298
363
322
327
300
367
324
284
288
292
310
290
298
352
395
286
287
320
367
314
233
313
268
281
310
338
285
348
279
318
288
250
266
246
337
299
338
307
246
293
339
269
403
268
287
275
267
355
347
354
270
337
350
290
402
330
329
261
389
337
358
319
298
294
258
323
374
333
375
333
335
287
266
307
293
291
303
391
314
322
293
389
319
431
346
387
355
350
379
300
323
373
339
293
365
290
281
366
306
310
303
299
266
351
353
242
258
223
354
285
308
331
369
275
392
258
238
311
374
349
203
267
289
296
368
207
277
359
330
300
248
235
296
284
244
298
337
308
360
275
385
409
332
265
280
287
289
335
277
296
232
347
295
316
305
317
337
364
280
293
327
284
284
348
328
279
256
267
372
298
294
354
259
254
283
355
286
313
340
318
299
279
433
271
284
284
288
270
324
331
174
335
354
290
339
282
302
308
322
308
325
287
223
330
268
274
332
385
346
274
310
309
337
389
298
399
348
263
286
306
312
336
294
299
347
319
308
392
352
359
248
290
317
259
300
365
306
355
264
316
261
392
275
339
348
384
319
396
341
333
368
339
248
388
254
322
272
275
430
300
380
319
362
342
321
315
290
269
361
271
261
293
409
339
303
319
447
266
325
286
328
370
405
368
316
304
254
280
396
284
370
357
231
350
364
312
314
254
328
292
275
351
335
272
282
323
406
344
242
303
313
327
386
419
254
267
333
303
319
330
398
355
250
310
291
301
319
334
309
273
290
277
397
275
372
298
261
338
352
293
312
363
269
297
337
251
339
291
342
350
347
294
376
292
340
351
280
363
282
381
289
257
330
375
380
413
380
298
300
266
338
364
358
361
259
266
332
325
253
391
360
343
356
327
274
361
330
348
399
365
274
315
228
295
277
314
378
227
326
377
244
291
377
334
287
313
295
241
191
315
285
239
336
298
317
338
326
303
327
262
303
292
305
359
373
309
345
347
316
286
332
328
300
341
265
302
373
265
350
296
358
318
316
328
323
346
346
352
253
361
285
294
344
296
451
330
294
359
314
244
277
290
291
309
280
356
306
252
322
355
308
335
301
260
271
304
296
266
347
328
385
364
299
353
265
298
373
329
307
355
289
334
353
294
343
355
250
388
358
341
276
342
221
242
321
368
276
292
316
305
279
355
269
290
306
347
399
343
319
294
331
326
317
346
264
301
353
254
288
264
206
341
318
289
392
305
354
325
326
300
309
265
332
308
278
294
340
284
339
289
257
335
284
328
247
316
361
296
270
297
372
384
320
250
347
335
291
308
350
323
345
356
239
312
309
226
369
387
285
260
347
308
312
346
279
256
286
310
291
280
352
286
332
382
315
341
276
348
278
211
397
306
350
329
344
347
322
269
306
388
377
320
336
312
249
276
386
317
328
313
314
295
272
329
321
274
310
378
386
300
265
275
213
367
355
350
291
233
289
288
355
267
314
324
327
346
278
265
231
359
311
316
368
268
291
327
286
336
381
270
240
301
334
342
342
280
376
332
244
269
327
291
292
240
299
363
258
351
338
212
347
344
301
266
379
332
365
329
258
315
352
313
337
280
330
308
399
261
327
370
308
309
259
313
286
213
260
280
374
269
337
354
301
311
360
224
393
337
316
334
257
269
316
338
241
337
333
376
356
342
259
358
276
313
323
339
307
322
307
411
347
355
284
275
270
258
329
208
324
370
306
395
216
224
320
264
285
319
228
429
326
311
320
283
333
342
278
310
333
320
354
294
356
306
275
319
318
303
383
310
370
257
342
406
318
297
334
295
303
287
323
336
310
355
367
345
261
299
383
241
345
318
346
310
372
331
326
308
293
365
287
294
420
343
343
340
291
261
337
254
339
240
320
356
404
326
297
278
322
343
297
367
372
219
356
320
311
310
260
411
334
243
214
272
308
284
290
336
317
392
322
285
316
283
343
270
291
310
304
349
305
295
251
381
348
335
294
236
304
369
333
294
272
209
390
324
343
246
303
307
285
354
400
287
315
352
353
388
301
319
325
292
334
337
336
363
347
346
310
350
305
292
333
374
312
252
323
273
225
251
271
273
299
353
321
363
376
332
313
390
303
326
275
370
282
342
397
271
313
294
259
284
403
231
380
342
328
301
281
351
349
361
252
245
292
380
347
281
306
366
288
351
321
312
303
307
330
346
332
244
307
315
308
345
265
240
339
271
318
317
378
386
293
342
343
321
297
273
261
292
311
291
309
316
251
312
297
262
250
322
299
314
255
395
327
331
291
331
267
306
288
346
275
339
295
353
314
294
366
394
230
353
335
273
333
332
322
298
268
281
402
349
343
276
338
340
306
329
315
345
270
341
387
275
343
259
332
265
312
310
332
223
359
351
332
293
330
302
375
359
332
285
277
388
306
356
362
358
287
344
343
281
208
370
330
251
383
210
369
355
310
330
254
337
360
244
267
296
318
259
343
249
341
270
355
355
249
320
317
331
344
335
297
203
274
379
268
339
288
320
302
372
261
291
354
283
350
327
323
287
371
333
242
373
274
376
381
325
304
358
274
292
348
291
250
330
324
203
337
310
300
274
380
269
321
274
303
356
345
321
322
344
314
300
312
339
416
324
339
323
322
317
391
271
287
279
388
365
244
323
380
244
363
316
339
309
313
307
290
425
356
295
307
277
330
336
310
290
312
342
389
269
279
320
273
349
264
343
350
311
330
431
233
310
351
369
287
266
330
237
227
300
235
333
289
312
299
308
350
356
237
246
332
262
257
407
257
349
340
237
355
321
343
332
313
280
336
289
267
340
318
304
285
277
259
302
293
372
344
270
324
376
275
386
294
355
348
342
304
307
400
204
273
297
267
330
370
319
291
339
337
295
289
340
286
306
312
261
250
325
305
346
301
337
325
321
346
360
316
361
297
334
319
278
303
272
303
303
256
283
258
312
315
375
351
320
332
346
381
302
337
325
342
368
255
380
324
294
335
362
360
341
253
274
219
297
302
293
337
253
293
292
292
345
349
320
317
314
276
290
313
338
283
241
312
329
291
307
378
372
349
276
310
292
223
360
318
354
326
365
378
354
314
273
247
377
352
318
423
298
349
352
287
337
332
256
294
289
303
285
357
396
286
346
319
331
376
393
338
283
423
312
390
366
311
339
257
352
261
294
357
296
393
344
314
324
291
255
279
386
293
335
294
352
405
296
381
379
314
334
359
319
278
286
258
337
274
260
303
244
367
283
234
343
247
340
274
282
309
237
272
337
329
243
272
344
293
283
176
271
306
302
298
271
313
356
330
395
325
272
315
399
285
323
292
367
373
263
320
323
294
290
392
363
307
228
275
296
220
301
262
457
347
273
345
280
277
268
264
309
328
309
273
382
326
241
361
289
306
254
346
352
413
349
351
304
326
334
251
281
284
299
332
331
424
344
314
322
288
290
235
306
356
355
324
307
281
359
359
341
349
325
303
263
346
340
300
418
309
293
329
284
325
383
262
283
160
310
309
340
339
347
267
343
271
284
284
313
319
373
388
274
276
218
331
329
338
294
316
375
363
277
298
320
400
313
395
289
286
344
268
261
297
319
372
364
338
389
294
361
247
367
406
278
328
268
350
300
348
268
347
280
304
329
373
410
326
346
324
362
310
348
343
354
377
376
304
382
303
229
298
372
340
331
344
372
302
318
334
264
296
320
389
318
332
288
343
369
318
273
399
325
308
321
385
379
326
364
357
361
412
316
377
326
329
303
334
327
328
367
251
349
289
336
319
360
428
281
398
328
320
269
285
325
357
294
333
410
325
297
300
328
335
355
380
305
318
376
389
329
299
362
217
332
242
275
277
323
330
320
289
255
297
284
240
398
329
248
311
371
331
227
324
346
270
344
335
253
344
373
296
319
272
216
379
343
279
342
314
397
273
263
342
324
396
305
318
302
284
288
349
300
297
310
345
354
317
319
336
331
262
363
284
325
309
315
274
309
340
360
328
341
274
287
305
348
270
376
327
335
372
396
348
330
295
369
282
293
359
314
389
320
396
257
327
340
369
345
369
332
359
265
314
342
357
312
228
352
293
306
382
275
359
323
297
327
233
281
283
373
333
282
324
284
384
387
286
361
316
307
276
334
332
269
331
254
362
252
269
288
303
376
281
325
275
324
343
321
328
271
333
270
242
246
300
262
294
258
373
334
320
353
313
307
377
263
289
302
298
382
326
369
266
374
376
363
358
236
254
229
297
335
322
279
303
344
304
337
345
316
298
318
256
264
311
339
322
205
292
321
435
356
292
423
329
348
258
298
329
262
202
365
328
346
309
328
361
307
332
342
276
355
212
302
308
358
324
338
306
307
394
333
287
276
279
237
283
266
287
342
275
305
324
361
347
320
307
372
294
378
330
313
301
312
334
270
239
297
375
337
299
255
299
309
296
393
299
354
322
345
336
333
312
353
316
288
299
341
293
264
278
336
324
381
339
357
357
307
312
297
323
278
240
233
374
283
290
335
347
254
242
384
350
347
304
259
320
357
337
336
390
336
263
364
179
292
325
314
379
339
284
330
299
337
383
363
314
228
346
396
334
291
225
287
338
292
267
361
316
335
343
274
364
298
316
289
328
382
334
300
319
304
290
420
291
319
264
396
412
321
263
318
358
331
330
273
265
255
318
318
238
213
294
309
284
380
379
335
340
317
238
329
326
361
269
381
351
301
315
290
300
382
250
400
253
241
358
278
287
344
305
377
330
246
387
298
388
334
268
304
256
306
344
337
331
339
286
243
358
358
357
290
295
375
376
312
341
298
306
330
326
189
331
382
298
381
262
332
177
351
300
301
347
286
386
340
305
324
310
295
337
353
255
245
265
286
276
270
303
309
258
379
348
272
297
348
318
335
319
353
246
377
290
324
265
382
203
363
321
268
313
397
275
301
289
246
384
353
269
332
331
272
236
349
290
267
376
316
210
348
252
277
334
318
273
324
354
299
343
246
325
280
328
306
331
243
230
389
310
307
351
355
270
229
303
273
329
278
377
333
350
334
321
379
294
306
339
276
289
335
293
347
329
291
341
306
255
246
220
361
294
280
246
392
367
340
238
284
404
354
319
326
383
258
278
309
328
281
278
302
272
327
364
303
290
306
294
271
227
319
324
326
395
314
319
382
326
288
286
336
360
335
290
402
316
363
352
294
431
302
405
328
302
270
281
242
319
356
419
360
275
367
283
207
373
400
259
286
291
342
354
306
324
317
302
325
351
266
243
303
339
279
377
288
319
297
261
287
360
274
296
335
304
333
386
324
300
227
239
264
271
346
256
402
316
307
349
311
338
326
371
354
365
226
326
266
404
293
264
326
313
291
259
351
258
314
300
272
418
335
326
357
377
395
324
266
274
274
346
354
343
373
278
338
326
388
273
274
310
374
283
334
291
287
333
270
375
304
273
383
305
331
175
363
331
362
282
326
306
342
248
324
327
245
259
290
298
270
285
218
243
314
267
267
242
325
375
283
312
367
330
306
360
293
284
278
316
352
283
300
294
354
279
268
359
315
318
347
261
248
387
264
348
248
332
292
248
279
318
252
345
295
309
301
378
237
344
284
317
271
345
374
329
357
314
349
317
300
235
223
301
327
304
332
341
383
318
377
410
323
364
354
299
300
290
294
264
328
334
311
302
360
344
322
349
305
249
360
362
357
291
333
246
238
291
291
277
280
265
290
343
301
272
378
298
343
355
362
326
240
295
327
375
267
196
284
355
345
292
283
337
375
349
305
351
342
219
294
255
398
339
353
345
309
235
258
260
305
304
270
311
285
311
294
274
378
340
200
288
289
317
327
337
227
358
385
347
353
329
302
242
362
375
315
298
382
316
276
322
327
315
267
339
340
283
347
357
223
307
344
228
274
291
344
319
399
393
388
358
294
270
319
326
331
302
365
251
334
308
348
410
286
319
362
286
294
314
340
291
309
330
216
365
404
307
324
350
329
336
336
310
226
349
428
288
254
359
227
418
310
320
375
309
281
296
326
330
288
344
310
296
327
307
242
173
335
274
292
334
301
345
309
281
307
303
304
297
322
384
324
305
340
335
312
266
349
337
351
281
269
313
365
292
299
376
330
348
360
294
333
299
314
287
349
317
316
289
323
344
310
328
340
317
244
307
302
330
371
308
382
330
296
311
338
315
375
315
262
330
308
342
242
329
340
340
277
298
293
358
255
369
374
326
306
319
340
301
403
327
372
267
356
301
312
264
330
344
367
293
310
277
387
334
299
337
374
248
344
307
286
254
329
361
343
320
269
363
370
256
312
322
329
316
245
290
349
327
344
295
317
289
222
274
364
226
193
290
345
345
320
304
265
334
336
300
352
264
341
283
317
300
250
309
233
231
319
358
319
240
353
212
304
323
320
237
276
361
311
295
286
313
272
339
295
414
325
320
278
315
287
391
340
343
263
337
382
237
345
363
278
335
344
281
290
340
313
324
327
278
378
321
309
330
292
320
312
260
259
394
379
286
271
369
284
329
316
340
277
201
329
282
241
273
335
260
314
331
315
344
338
284
355
325
340
367
370
316
272
300
228
347
241
257
357
235
367
301
327
271
337
330
273
250
307
374
342
330
290
289
279
298
353
355
284
318
379
285
271
390
229
304
334
413
399
325
293
358
361
357
329
326
360
319
363
334
349
322
323
348
244
354
316
313
352
372
334
290
268
388
287
270
342
283
282
301
327
356
266
300
363
330
363
316
349
298
296
283
278
350
217
314
397
325
275
270
349
335
310
352
338
312
387
286
345
403
288
316
269
285
258
293
317
370
386
183
383
302
356
293
244
312
255
363
250
384
364
303
230
364
406
325
261
256
364
400
250
300
356
337
258
400
251
328
290
399
342
320
331
303
361
228
264
322
265
305
347
261
384
366
305
287
295
296
301
355
331
313
315
290
401
262
347
338
273
273
331
287
313
345
310
342
313
332
294
276
306
341
343
282
349
264
323
337
207
248
309
290
275
320
315
275
311
275
266
327
325
286
291
364
406
224
304
287
327
322
321
318
334
287
323
317
282
266
288
373
351
274
325
226
269
266
282
339
308
407
325
376
403
297
323
360
355
399
320
333
340
358
346
223
341
272
271
423
317
402
278
319
323
266
250
332
356
289
283
357
300
365
345
369
360
257
344
301
252
389
346
321
232
338
396
329
295
374
270
349
269
332
382
289
361
300
364
248
360
375
276
335
226
315
310
277
377
333
278
326
306
350
339
292
392
351
375
360
350
317
421
350
395
348
222
300
217
347
333
370
334
312
318
263
231
339
292
368
355
224
307
310
296
368
280
362
229
369
378
356
278
281
288
333
259
282
375
280
333
298
324
324
342
323
343
356
299
362
339
283
237
387
405
315
313
298
260
308
312
276
286
330
307
272
276
307
305
337
300
289
309
335
274
341
391
335
307
313
288
277
298
280
347
354
286
299
268
361
398
434
300
313
300
386
374
223
296
330
341
306
285
290
267
362
311
210
202
335
337
291
273
357
288
287
352
412
280
284
331
290
284
259
329
384
283
199
308
362
223
353
299
298
337
396
289
310
315
321
314
364
269
323
326
235
305
356
329
294
353
351
324
383
360
355
272
340
340
248
281
330
284
266
309
349
336
287
280
303
357
256
410
369
339
266
270
294
250
348
313
300
236
332
292
372
228
368
354
356
312
386
334
330
321
305
283
314
302
296
342
332
228
271
279
389
334
216
290
267
400
351
242
287
300
337
326
386
295
266
319
344
322
338
352
390
281
302
295
344
315
351
385
416
349
318
350
280
330
294
293
371
369
287
277
270
327
316
277
329
273
347
283
293
311
350
239
231
218
380
359
237
241
336
291
296
304
222
268
312
279
409
308
302
352
354
258
252
314
371
295
323
325
333
231
302
312
393
473
249
397
347
316
320
328
322
265
241
279
320
324
309
305
250
287
355
325
203
293
316
359
359
312
299
430
282
352
310
284
270
304
280
348
286
331
372
378
344
330
345
230
348
319
233
394
332
350
292
337
430
322
354
294
266
316
255
288
200
364
300
340
359
255
315
245
317
333
241
343
376
320
300
304
349
389
288
379
355
375
345
218
314
298
313
333
312
392
328
302
365
324
244
283
246
333
242
366
230
351
320
371
332
278
317
326
380
320
359
262
413
275
288
238
261
248
366
306
336
354
364
340
321
323
302
311
344
295
301
229
265
316
342
274
326
331
242
301
276
362
256
307
353
385
321
353
297
368
304
342
329
326
296
399
209
223
324
356
315
337
310
264
307
309
359
307
380
287
299
377
333
312
325
336
337
306
302
331
308
354
312
281
326
328
379
321
316
374
313
329
268
324
320
306
332
275
331
298
237
330
360
282
235
314
299
367
336
292
335
318
330
332
377
378
294
416
297
299
327
322
375
342
315
354
384
342
266
286
242
333
288
370
280
434
324
299
290
322
319
321
342
336
356
254
310
426
264
373
284
325
358
261
346
337
386
364
299
293
371
258
337
324
342
310
338
320
237
221
238
333
220
367
229
333
402
292
347
278
359
250
335
281
353
331
345
325
262
256
313
297
297
292
257
369
369
408
380
307
351
282
321
267
341
325
274
298
323
311
359
252
319
238
265
306
377
291
283
285
336
316
321
273
282
310
289
284
408
367
293
317
253
296
403
391
327
308
274
325
326
313
305
305
292
319
294
275
293
343
328
338
329
286
310
309
390
318
219
278
324
390
325
377
285
345
252
282
272
391
295
320
330
390
325
380
269
277
313
175
300
296
319
324
339
312
372
296
326
276
315
356
349
310
322
259
383
352
347
243
307
275
313
290
307
356
312
304
267
350
263
335
406
296
361
253
340
274
325
308
359
355
316
369
267
376
325
340
312
327
355
397
353
313
373
304
393
269
269
297
284
370
360
323
323
340
345
308
317
349
275
326
284
348
357
345
328
342
313
317
338
398
386
245
357
279
334
259
314
346
328
352
333
262
307
324
250
329
337
342
251
331
219
338
380
261
341
362
378
330
256
359
322
339
325
230
285
342
356
292
325
330
346
286
316
301
324
328
319
270
329
363
225
418
365
360
357
283
375
295
332
365
397
316
166
294
332
260
274
347
369
267
288
312
339
329
300
326
301
322
293
258
187
344
296
261
426
386
279
300
315
388
275
291
296
350
363
384
360
324
306
290
377
289
360
291
297
307
328
285
257
305
270
342
247
305
366
282
338
381
264
241
301
297
283
265
299
363
294
405
385
336
292
354
349
310
293
358
315
340
193
324
269
322
259
325
270
316
371
361
330
318
326
281
337
269
272
285
335
360
245
319
297
355
331
276
258
274
292
393
417
387
360
310
301
334
344
324
327
283
442
223
307
340
370
305
339
284
348
278
287
328
283
361
318
376
334
330
203
311
298
351
314
348
395
362
363
284
287
311
304
340
333
334
298
327
374
261
363
298
327
292
362
312
319
340
263
319
300
251
333
316
273
307
345
336
302
319
275
242
369
327
248
294
264
341
320
296
280
316
346
347
255
294
375
354
214
287
333
372
249
332
328
317
319
356
362
261
299
308
291
252
362
306
378
408
362
292
315
278
309
329
285
380
250
261
246
365
326
345
292
346
299
284
274
328
284
268
329
288
406
385
342
299
342
363
279
376
364
311
377
244
264
286
291
320
332
370
279
303
345
305
353
360
259
345
322
341
271
418
382
332
326
264
343
298
353
316
330
254
310
315
326
298
235
394
333
317
401
311
264
326
239
315
329
326
275
452
361
292
393
299
334
284
255
256
336
314
311
233
316
293
338
314
257
377
283
276
361
295
323
352
326
350
291
366
327
335
341
346
360
311
315
242
354
304
273
281
255
325
372
267
267
372
281
309
337
290
346
346
222
291
316
338
297
282
385
379
287
362
358
300
251
252
313
327
354
298
352
393
288
282
304
257
311
391
246
314
315
323
346
340
250
346
282
350
241
367
325
312
364
391
299
282
224
369
387
186
301
340
259
381
312
304
331
344
351
384
381
340
252
325
299
302
280
333
183
371
272
323
331
297
359
259
366
338
312
318
331
241
369
332
360
306
324
341
302
288
261
321
322
280
319
272
190
380
291
291
340
353
298
349
365
303
367
376
359
330
357
395
309
329
325
331
300
294
316
392
346
274
329
192
309
265
317
356
382
272
328
275
308
307
289
297
316
238
347
302
245
415
280
356
357
325
288
283
333
307
271
260
343
290
337
356
280
412
337
299
388
393
376
333
383
372
341
301
346
294
307
304
229
252
359
349
291
287
332
318
353
312
321
310
328
313
276
323
275
290
349
212
328
244
246
327
290
275
312
294
202
265
272
310
280
263
301
358
303
289
359
344
317
377
315
254
350
331
283
310
356
313
348
268
332
390
295
300
317
240
273
280
301
317
357
365
317
375
366
390
336
283
345
371
340
352
256
340
331
335
306
232
319
269
310
323
321
379
312
287
318
295
264
374
276
302
335
413
344
316
278
276
328
257
292
287
421
368
309
342
313
253
324
276
241
353
320
264
212
326
307
262
352
330
315
283
337
324
296
275
254
290
279
354
428
326
326
346
371
339
327
262
229
323
286
265
339
244
344
344
367
342
312
354
368
272
316
325
355
357
344
378
306
284
224
252
306
322
300
267
307
278
291
249
235
264
359
293
321
354
357
350
275
317
255
333
286
301
306
314
355
341
370
318
292
327
327
320
327
363
331
333
357
315
320
314
299
259
297
324
336
340
249
304
279
328
302
334
323
276
376
385
254
315
362
289
425
296
322
304
378
297
360
299
404
308
289
365
309
287
261
318
325
318
395
400
306
368
331
285
396
285
283
365
318
303
327
309
281
249
310
322
252
299
351
376
217
360
417
307
323
375
345
246
374
328
250
300
294
314
286
257
285
256
230
309
397
365
309
351
198
262
278
350
341
275
335
263
314
312
367
286
366
382
343
302
324
265
290
297
305
283
281
355
259
296
307
256
298
301
391
356
317
329
224
331
391
369
347
385
323
258
306
231
315
283
292
331
360
310
318
275
318
299
291
324
351
377
272
339
337
303
378
299
327
344
281
397
321
293
233
283
344
352
260
287
251
296
320
286
316
359
333
305
295
284
408
212
289
324
268
256
323
356
320
289
357
319
281
308
248
340
339
349
277
290
375
347
324
204
322
284
397
309
289
333
292
305
298
361
325
380
301
264
324
312
292
294
337
323
393
293
251
297
397
382
339
277
249
304
327
302
225
312
336
322
388
294
227
220
347
307
350
283
389
324
253
383
314
330
298
317
281
329
332
324
312
328
238
269
336
355
328
348
286
334
347
240
336
269
348
329
296
344
356
252
335
205
374
326
305
250
391
340
337
289
326
274
306
326
310
331
285
320
341
351
304
365
326
254
335
334
277
343
332
291
364
338
332
360
387
353
383
380
259
301
303
280
375
306
276
220
341
301
256
318
263
365
271
368
378
318
266
320
310
215
337
289
332
208
345
366
296
244
292
317
324
237
312
287
340
249
309
302
279
259
275
301
201
340
322
307
305
298
269
192
353
216
283
431
240
367
364
287
319
324
276
270
330
325
293
318
281
361
353
406
312
323
330
302
301
246
300
333
248
382
279
237
340
339
328
337
285
283
274
319
358
289
320
350
337
312
361
299
225
322
332
321
317
284
274
356
297
331
341
399
287
395
284
426
318
287
235
343
390
376
325
310
319
283
287
225
354
284
269
256
329
325
352
324
272
250
382
289
405
384
318
265
288
364
312
300
334
347
278
337
301
258
312
258
331
280
342
353
378
221
313
328
353
304
294
417
298
269
341
233
231
304
211
314
312
276
329
336
259
313
351
299
254
219
329
282
318
383
245
379
337
299
284
329
399
318
343
255
295
318
309
318
282
391
305
340
349
298
353
256
343
341
363
267
331
349
359
381
358
307
281
222
396
294
370
341
330
332
349
269
309
306
320
312
180
324
320
224
304
294
353
285
314
318
318
313
348
177
398
327
406
312
324
305
314
320
325
259
322
335
329
347
291
324
342
256
326
296
335
333
238
321
275
356
309
322
226
326
334
272
251
315
284
342
355
331
389
293
334
338
295
245
374
273
364
306
286
305
293
362
342
330
272
312
287
352
336
362
348
350
335
259
293
339
343
329
233
202
324
323
327
288
306
198
238
320
383
316
262
339
324
194
390
371
432
378
274
337
262
360
346
281
385
353
348
365
324
285
366
358
366
379
273
301
287
411
281
326
294
367
319
330
392
320
305
289
279
284
263
283
355
337
334
375
326
357
370
275
347
302
262
370
328
248
302
304
316
331
328
384
299
315
336
342
299
349
384
300
310
265
352
364
280
278
356
278
300
326
375
354
304
287
338
313
312
365
294
240
321
340
391
291
249
361
273
321
300
264
331
385
329
316
366
348
304
294
320
352
349
357
302
307
323
272
321
330
231
288
350
224
309
296
341
324
336
291
405
319
312
395
349
319
275
278
276
319
357
357
382
317
339
273
307
362
364
240
305
316
322
259
341
287
312
404
372
281
311
371
339
269
330
202
308
365
369
323
355
308
358
379
363
268
251
313
343
311
233
314
319
314
308
302
290
249
350
326
286
293
344
313
367
264
370
313
295
333
229
231
293
297
236
330
328
229
359
288
394
381
227
356
382
348
335
314
297
319
282
270
271
362
293
332
246
265
279
314
254
254
292
311
277
293
292
315
275
326
327
362
302
295
305
345
319
281
262
328
265
283
330
248
337
315
284
273
289
262
343
272
371
321
364
250
352
279
363
348
299
286
413
257
310
325
297
401
307
378
323
326
371
330
373
273
351
439
330
265
229
437
350
332
237
301
340
311
319
309
270
393
331
295
322
265
368
310
331
267
392
318
291
325
323
252
364
304
313
274
237
319
346
407
387
281
243
336
234
309
335
285
392
416
381
295
348
350
305
278
242
333
292
304
291
295
287
318
372
347
274
321
374
298
416
308
322
381
298
271
268
292
256
342
319
277
340
310
290
309
324
304
261
354
285
288
247
338
244
267
326
288
296
427
223
231
331
275
403
339
292
274
317
286
240
308
261
398
290
368
335
363
371
238
303
210
359
250
352
306
332
375
319
289
361
248
342
208
409
397
344
342
245
272
369
304
305
336
270
296
264
291
302
291
295
394
295
269
321
323
262
335
295
262
276
374
289
389
322
273
264
377
261
297
307
334
314
372
301
333
413
277
360
322
256
328
303
298
317
302
317
257
292
363
336
311
281
287
277
324
315
270
247
221
353
361
349
321
322
295
290
409
339
301
328
270
317
308
312
343
337
290
263
310
350
225
310
350
332
350
237
266
363
244
388
318
334
289
411
325
308
293
321
313
333
270
283
248
285
390
319
348
323
276
345
307
336
331
333
314
318
303
252
325
360
348
299
331
268
330
398
261
398
261
358
385
350
321
321
256
384
290
320
375
306
295
267
318
380
254
295
343
347
368
303
295
355
181
346
203
280
378
301
230
300
412
326
322
210
364
285
272
306
247
347
330
293
279
355
327
333
305
247
335
276
338
278
320
242
241
279
250
340
346
352
270
361
373
247
360
260
321
272
303
241
338
303
260
344
374
277
324
320
217
303
353
382
364
303
387
400
312
234
308
348
229
212
318
259
273
296
349
362
301
342
279
320
258
324
352
317
363
307
281
205
271
378
414
257
344
357
335
291
292
283
323
318
392
365
273
301
225
345
332
302
307
303
284
239
373
284
251
313
378
243
259
285
332
361
194
234
280
329
347
314
344
340
323
316
323
268
369
262
355
294
313
318
371
363
348
363
307
428
330
361
280
384
296
307
325
334
312
294
307
389
337
268
311
274
277
401
313
310
257
248
337
359
251
318
342
320
328
268
316
261
305
292
330
314
303
341
287
292
356
273
360
265
314
324
296
281
254
311
316
341
362
314
316
191
343
260
275
305
264
287
348
377
319
308
382
240
292
356
317
319
277
306
300
241
330
356
340
304
329
356
371
367
251
283
211
376
269
269
327
355
318
358
381
331
252
277
266
383
315
330
303
237
295
357
324
303
336
326
331
349
302
306
376
277
430
334
268
343
238
324
342
250
361
336
264
344
285
351
362
257
260
325
271
388
338
312
329
316
263
316
347
265
271
307
301
316
346
358
216
328
308
288
292
390
320
314
277
274
289
362
296
389
290
349
325
336
345
336
252
328
305
348
249
317
279
309
380
336
323
252
406
257
347
286
391
350
272
301
341
328
411
363
322
275
272
270
289
358
361
423
350
308
338
366
326
295
324
293
300
387
381
329
318
284
289
369
351
318
348
217
387
272
406
278
347
263
319
321
348
300
338
295
328
348
394
367
322
231
360
310
342
333
315
337
365
366
315
273
324
282
339
322
422
222
361
299
295
201
293
378
362
321
432
282
287
315
299
310
386
310
323
345
274
361
331
298
314
336
366
258
342
295
284
316
273
359
329
261
280
235
350
326
303
352
351
329
273
332
275
404
311
286
334
350
246
319
305
291
346
302
338
292
348
365
326
336
340
302
316
319
366
418
281
364
327
306
368
272
255
223
274
416
378
330
261
318
328
339
287
205
307
364
289
380
354
331
295
354
257
403
397
393
309
350
354
334
353
395
363
341
392
348
335
301
326
264
402
312
318
282
264
322
319
345
380
267
326
267
291
324
353
282
394
361
323
288
345
393
276
328
322
375
330
325
370
312
223
253
332
303
366
321
353
337
307
364
403
409
285
334
283
355
305
296
252
326
318
327
313
377
374
319
363
253
285
376
283
291
252
354
253
352
300
326
276
310
320
216
266
295
360
311
304
412
373
251
376
279
380
345
327
257
306
256
295
329
317
304
263
388
307
330
376
252
311
313
328
284
322
278
344
278
333
314
242
301
388
372
268
278
374
291
342
287
304
297
209
302
332
327
303
262
268
306
245
292
294
341
328
312
335
336
310
392
215
253
291
350
364
335
307
367
262
330
363
352
278
255
210
325
322
266
233
312
353
298
343
241
352
313
260
335
329
302
315
366
260
346
403
337
299
333
385
297
286
366
345
368
344
221
380
331
395
328
375
210
253
354
338
265
342
323
316
375
361
326
321
366
331
324
331
235
239
266
353
378
331
270
294
274
348
368
206
276
355
310
300
208
266
284
278
305
360
299
362
303
335
302
363
360
234
386
289
321
302
353
281
350
302
338
322
332
292
355
323
289
251
281
306
322
321
291
361
347
344
345
385
326
357
305
337
342
387
321
336
331
371
350
358
404
387
309
312
323
274
283
380
321
269
283
368
236
378
287
349
346
345
316
280
389
351
319
301
318
320
324
312
316
281
259
327
277
329
262
381
356
292
327
382
327
322
304
363
360
308
312
365
207
378
365
352
294
349
342
313
204
312
286
283
322
339
309
347
320
388
379
401
260
338
222
311
321
273
302
285
331
342
384
422
304
338
322
385
303
325
316
362
298
243
226
312
276
372
287
343
346
407
295
293
325
339
330
302
298
257
284
332
248
306
333
291
376
296
287
350
221
332
356
415
332
213
367
278
297
309
236
355
291
270
292
269
279
293
294
330
326
304
332
268
259
240
278
386
345
279
268
254
259
353
289
327
291
328
326
233
328
367
336
331
374
366
333
212
315
248
307
310
359
307
315
309
323
365
329
227
361
317
319
393
338
352
339
370
306
329
270
306
348
309
261
364
389
311
311
369
302
313
209
251
303
263
337
294
329
341
382
233
320
346
345
353
327
279
406
315
273
294
361
397
325
319
272
352
379
326
347
357
305
318
298
353
261
336
255
328
302
280
253
321
287
362
349
418
258
342
325
382
333
288
304
311
327
306
299
296
262
342
248
368
325
359
237
355
337
274
289
224
350
308
355
330
312
370
327
352
283
257
426
370
254
322
290
279
287
348
327
335
306
319
227
283
413
264
299
262
303
299
348
233
288
226
324
263
263
312
318
252
345
384
375
310
308
379
343
272
304
342
246
391
312
330
265
385
382
291
345
330
337
329
287
371
275
330
281
342
359
258
351
317
265
390
227
256
302
337
308
286
344
253
289
346
423
254
282
254
344
351
340
349
346
322
316
256
323
297
281
244
262
353
333
255
296
268
277
353
362
293
330
351
224
301
302
299
293
298
343
295
364
267
271
414
301
309
284
286
286
313
370
318
321
380
372
290
408
221
382
357
386
300
375
319
364
342
323
365
221
273
352
390
279
307
321
249
366
324
370
304
312
295
276
403
283
283
353
354
319
335
257
306
200
354
270
289
345
252
307
246
331
268
306
398
345
295
288
307
325
228
305
355
296
413
281
285
366
350
277
253
314
341
286
356
298
276
274
231
264
248
343
251
350
330
197
324
279
243
348
294
296
205
479
336
312
327
308
276
285
310
319
299
294
417
375
338
351
323
276
306
329
255
296
381
301
261
319
335
312
291
313
295
266
288
279
322
262
333
378
378
270
279
340
296
315
296
302
296
348
305
240
361
350
373
296
259
305
355
273
333
281
357
345
239
383
272
317
333
288
324
274
277
373
332
274
342
355
386
364
355
320
379
248
303
286
394
217
306
264
327
316
329
360
314
304
304
335
330
303
343
365
266
310
304
254
327
279
388
320
284
239
250
241
268
228
295
348
302
321
419
284
350
297
389
318
244
337
317
346
311
301
246
262
339
321
347
248
313
292
368
286
357
293
331
288
242
338
248
394
392
307
265
322
332
333
309
299
318
273
318
307
177
276
378
275
354
375
352
303
304
341
262
351
306
326
257
296
200
324
347
399
297
341
346
239
364
216
334
276
379
296
371
287
305
211
316
268
285
349
366
384
366
328
293
375
329
314
257
272
276
220
337
310
266
309
279
360
357
311
250
282
319
275
288
254
312
308
352
206
249
331
292
352
343
325
354
294
276
360
280
339
237
376
327
385
361
324
348
294
319
372
285
306
335
308
298
363
291
275
290
329
339
351
300
325
203
275
404
275
316
329
372
344
365
138
323
251
281
288
324
308
316
330
316
281
365
285
293
412
219
331
374
311
340
320
319
272
267
287
330
326
299
330
337
326
280
405
366
280
280
426
347
244
331
260
342
339
300
289
322
295
333
316
293
257
305
302
348
252
327
320
296
259
268
267
366
324
306
328
310
293
353
315
295
238
294
287
383
255
306
360
283
348
295
337
307
269
363
289
401
345
362
300
361
283
328
260
389
313
300
289
313
330
312
286
256
318
341
347
360
316
282
332
321
241
383
244
263
331
354
382
385
268
328
326
372
250
275
358
348
258
363
356
320
328
294
290
233
284
277
241
307
343
357
298
334
321
381
383
281
253
258
367
235
346
324
292
249
380
273
349
375
276
269
403
347
258
288
301
349
333
301
354
384
354
314
336
281
325
269
297
283
420
375
402
284
368
278
323
379
246
375
296
353
281
310
253
193
290
318
340
361
342
285
368
296
234
247
318
336
346
264
310
311
315
307
285
343
274
330
326
328
279
279
294
288
329
320
244
315
377
299
385
327
331
339
267
353
350
352
342
201
358
364
280
349
278
387
306
284
399
290
348
323
348
369
364
334
294
410
388
328
311
342
318
241
304
338
306
283
190
249
356
306
329
303
284
338
248
368
320
302
346
269
341
289
386
316
348
324
318
227
319
339
296
305
285
310
340
334
328
302
329
320
328
256
359
339
329
318
284
336
322
245
307
342
389
324
273
321
347
300
291
314
330
313
254
325
365
301
287
336
335
328
349
382
277
378
253
334
363
274
257
293
322
377
292
252
304
300
275
310
323
328
320
285
332
249
236
312
280
313
305
238
260
274
359
288
323
314
251
362
295
263
286
235
405
262
257
332
346
253
310
328
282
297
295
321
315
298
278
356
345
315
260
320
301
303
414
312
326
382
290
328
307
318
262
300
253
311
352
282
348
333
333
353
247
331
387
280
315
383
364
281
337
348
335
309
327
319
346
352
300
318
265
239
223
389
305
309
286
267
233
343
269
355
288
349
356
296
339
314
306
334
342
236
317
383
288
319
360
220
294
285
336
330
293
395
364
339
318
270
336
300
378
318
301
265
321
321
288
257
370
255
340
312
269
296
293
305
322
365
322
353
290
274
283
324
322
356
299
357
265
306
346
341
207
320
379
314
336
208
294
338
278
348
272
363
294
275
304
314
328
256
385
275
313
350
317
312
286
331
355
274
377
307
322
253
319
347
286
254
273
311
286
290
338
302
335
327
327
398
278
317
366
319
330
243
340
244
333
329
228
333
273
351
365
294
307
305
346
331
276
359
313
267
265
286
283
292
284
360
269
336
414
420
391
428
253
304
272
248
316
331
225
340
311
262
291
340
259
330
289
328
283
343
230
306
360
399
329
340
256
270
302
357
335
231
354
328
386
289
310
393
249
325
289
242
381
353
316
321
304
305
341
257
366
260
350
281
337
341
395
275
250
335
384
242
294
375
381
408
295
391
336
342
289
365
322
231
343
359
363
239
256
363
338
327
295
266
321
387
362
333
237
291
289
260
307
351
348
300
358
357
361
298
304
318
256
358
269
275
299
277
247
323
265
381
383
262
266
303
301
206
340
327
276
388
311
325
430
312
277
350
286
322
327
255
353
351
266
256
301
343
347
324
284
296
277
326
299
407
338
362
349
313
251
350
316
344
359
330
300
355
304
289
280
230
273
265
307
347
321
301
330
329
318
320
350
394
379
364
316
390
347
283
311
363
315
214
305
272
311
315
331
348
279
313
388
275
293
341
302
241
332
256
351
272
274
279
303
308
277
273
231
253
305
387
295
246
317
251
262
286
304
385
319
352
298
387
304
344
236
311
310
325
357
312
332
360
333
296
318
399
207
417
269
287
300
271
344
299
318
312
245
324
278
315
296
249
313
300
329
328
342
326
257
289
297
365
310
342
246
284
337
322
223
308
303
265
281
296
300
283
324
290
355
273
264
274
269
374
261
310
343
338
280
345
348
354
223
327
259
289
359
194
404
386
194
323
332
213
352
350
316
327
301
380
291
370
379
334
360
265
274
280
293
258
359
354
327
331
283
362
243
265
338
365
283
289
286
345
359
353
328
318
258
256
290
251
351
363
362
298
375
276
339
256
345
363
296
312
327
261
361
280
284
287
294
318
308
397
346
323
378
319
384
328
329
366
324
302
312
317
306
372
290
235
380
262
399
253
260
343
318
349
340
358
322
368
310
308
339
330
330
312
221
343
290
260
304
350
195
305
386
386
348
375
337
358
350
234
358
341
335
288
275
275
275
379
375
359
262
344
313
363
278
343
340
369
404
305
374
354
298
305
271
325
354
316
244
315
321
365
354
299
269
316
357
374
334
312
264
354
236
395
214
301
337
298
306
276
359
306
402
342
232
296
297
310
315
297
255
371
361
379
348
238
311
229
257
246
337
283
318
298
298
300
255
396
349
370
223
236
291
263
319
343
326
273
321
331
324
393
345
281
374
262
257
332
341
339
232
187
317
344
311
282
341
262
370
294
364
303
326
400
316
296
363
355
285
315
307
257
342
252
425
234
224
365
258
286
309
356
339
269
358
336
287
305
358
360
318
283
301
242
328
292
289
361
296
301
348
369
283
316
289
294
327
345
245
406
275
294
309
322
330
326
299
318
235
316
319
291
349
357
312
299
332
362
278
220
342
265
327
320
263
365
308
343
275
295
266
364
310
440
369
351
219
252
310
306
381
286
312
294
288
359
211
270
291
336
295
335
290
261
338
376
267
204
231
228
301
307
316
289
377
370
348
289
260
349
299
335
288
265
306
372
277
286
369
356
386
365
315
284
308
333
255
300
281
357
279
351
354
289
270
395
314
353
417
238
381
370
350
244
367
313
317
234
373
345
358
245
362
390
263
383
304
390
285
450
329
342
312
388
319
308
280
372
322
320
233
283
291
296
239
437
245
378
326
270
288
278
324
338
292
271
320
247
250
238
245
337
238
361
311
278
344
296
354
278
430
301
298
293
296
319
303
243
276
320
321
350
326
342
385
329
268
367
333
313
367
294
350
271
351
332
298
308
262
331
374
308
265
252
336
323
406
272
323
293
347
279
322
323
303
387
280
234
203
243
320
315
213
272
311
346
268
286
334
385
269
329
328
346
314
310
316
272
414
346
340
265
251
313
363
301
348
298
387
381
331
303
292
356
311
306
356
389
230
289
327
306
336
382
247
283
341
357
352
315
299
278
361
322
407
359
264
329
274
268
236
359
309
288
244
302
368
370
303
263
271
377
221
389
371
313
325
407
269
239
306
308
307
409
368
254
342
355
305
287
348
364
315
278
257
240
312
340
307
258
345
342
317
268
309
349
353
318
309
251
329
249
316
260
294
382
275
329
340
342
378
320
286
334
303
284
352
374
322
232
338
378
223
307
325
351
311
294
369
185
242
297
347
345
280
267
310
358
303
387
398
252
258
307
259
275
362
329
258
286
314
223
280
242
225
319
346
369
279
298
363
318
346
375
377
285
289
316
275
319
343
276
290
317
288
312
333
219
402
292
267
331
338
378
348
329
311
292
356
323
324
321
323
322
288
345
328
263
276
339
331
378
355
323
381
299
355
241
316
357
347
330
352
270
313
301
328
314
377
328
313
328
301
345
323
363
333
344
321
275
373
398
297
352
392
294
342
306
301
339
403
335
336
316
391
295
360
293
274
298
293
342
315
360
189
273
301
228
307
281
366
382
316
352
348
299
240
252
318
244
341
339
317
284
335
363
377
304
425
324
244
382
329
379
313
366
289
300
301
387
364
320
361
390
380
269
249
346
296
376
393
275
232
374
345
200
324
345
327
310
355
329
233
330
280
301
292
232
302
203
331
259
278
295
259
347
284
319
262
274
333
347
380
391
315
434
312
313
361
330
359
326
245
242
313
321
348
286
373
328
308
376
289
267
326
314
300
283
319
248
315
230
309
286
325
285
331
368
384
244
308
296
329
357
397
357
312
251
302
330
338
409
259
279
371
325
294
232
258
397
329
319
312
276
311
289
354
414
316
331
242
285
366
319
364
250
256
376
355
385
397
370
306
302
372
269
336
324
363
320
322
343
391
269
254
341
348
256
365
335
324
322
325
334
303
303
387
311
248
316
261
254
269
321
313
361
308
394
273
339
370
293
273
285
330
251
282
346
325
359
361
410
348
390
336
287
256
295
385
355
385
230
366
321
320
378
376
405
381
324
282
268
302
344
326
333
337
362
305
282
312
339
216
314
327
400
358
323
307
355
376
280
325
372
321
252
322
313
269
289
352
226
300
388
329
323
304
344
284
253
410
246
271
425
315
309
351
407
365
364
272
306
366
311
237
387
290
288
339
338
384
357
287
294
369
257
339
293
322
379
325
337
391
305
317
295
307
299
362
297
269
243
370
305
341
350
344
327
262
300
340
225
353
329
317
195
292
296
267
300
338
319
334
262
223
277
327
343
368
245
312
403
375
295
360
291
329
361
337
277
361
315
332
305
253
314
308
350
286
347
315
338
344
319
362
342
347
368
279
384
292
388
360
352
288
401
306
224
262
282
354
234
338
304
311
215
306
313
325
360
273
281
280
330
299
292
359
331
327
286
289
365
322
364
320
233
259
304
288
281
301
293
289
353
276
302
229
319
303
341
347
246
313
389
353
345
246
418
345
356
323
342
259
306
256
308
274
342
271
321
262
337
354
236
358
262
294
343
294
246
324
321
408
242
312
387
347
325
297
330
308
351
279
389
379
325
300
358
291
315
307
289
318
291
395
310
325
258
376
337
349
276
311
290
409
313
280
299
281
315
346
265
346
350
271
328
307
364
323
414
298
351
332
319
371
290
279
289
316
345
355
320
303
280
398
358
265
311
323
329
311
308
375
246
320
380
368
326
334
308
284
341
264
296
297
344
257
338
297
273
282
268
328
272
245
361
249
355
283
306
318
247
245
251
310
237
236
366
347
340
331
251
267
409
295
240
293
278
349
371
259
280
380
327
350
362
197
285
348
342
279
289
326
259
292
283
406
358
324
318
278
274
275
371
292
445
223
256
378
363
351
341
305
292
310
360
312
405
287
244
317
315
308
344
316
322
349
295
358
396
303
238
289
330
330
346
278
356
301
321
332
302
319
363
378
340
265
291
246
339
281
338
379
194
276
293
338
311
256
304
290
352
300
289
319
367
286
369
351
382
340
338
320
318
263
308
293
348
321
258
350
368
347
281
370
362
247
307
317
278
312
348
354
383
337
285
288
295
407
296
290
329
331
313
278
386
237
365
287
276
268
366
318
318
321
304
226
260
310
333
380
270
314
323
287
299
325
268
361
320
344
298
257
201
264
323
290
284
294
334
281
332
305
352
318
359
317
283
335
358
294
314
341
393
374
270
236
361
223
366
359
326
292
364
251
285
219
361
251
265
385
265
372
318
187
392
306
344
351
213
353
297
382
299
301
344
384
238
280
299
318
278
370
269
333
266
324
276
259
296
393
281
340
270
253
287
375
252
298
344
235
320
286
369
342
329
228
321
383
247
296
294
301
325
349
280
316
340
353
285
329
323
321
243
276
293
274
390
344
350
312
238
260
321
309
320
351
311
292
304
205
302
204
343
370
342
348
286
277
398
298
346
346
349
308
283
307
281
299
311
336
285
264
283
337
339
320
283
331
340
287
273
264
337
331
324
236
332
295
237
375
351
244
340
316
299
327
337
384
301
355
384
268
301
268
252
308
292
279
239
349
298
391
300
335
308
298
373
316
303
298
234
317
325
339
312
360
303
316
304
362
330
291
337
339
361
298
387
274
237
301
242
334
302
391
361
354
368
283
251
287
381
292
352
295
342
415
316
349
289
323
352
375
322
373
254
326
331
356
331
340
331
254
350
369
305
301
301
334
227
228
330
288
326
334
364
293
344
339
231
353
247
334
265
360
248
361
380
300
338
250
305
302
328
293
315
320
276
304
263
374
434
298
336
316
273
362
263
247
362
310
415
384
355
214
287
371
370
249
374
325
266
280
268
291
334
338
342
332
413
330
274
233
351
261
313
322
338
288
297
318
409
309
329
281
325
283
206
335
321
254
403
363
384
335
294
243
257
297
419
345
263
301
303
353
325
305
296
266
336
302
371
374
365
380
228
262
287
271
277
340
277
275
291
280
317
268
407
320
269
372
392
344
292
360
371
258
313
348
298
208
320
326
345
271
353
272
291
366
365
284
439
236
262
289
362
362
375
272
347
356
273
311
346
356
281
254
314
288
258
294
300
345
229
319
388
294
295
302
325
224
272
257
336
246
288
348
303
256
375
382
214
360
293
337
308
309
287
327
299
328
351
256
353
290
242
358
243
248
285
375
384
298
355
246
289
368
395
309
289
319
322
284
356
305
334
340
323
296
284
330
360
310
295
377
373
339
374
303
345
334
318
313
379
292
301
346
388
338
338
386
325
357
278
333
338
298
343
297
301
261
355
354
320
312
376
323
291
284
268
374
371
350
371
295
316
315
359
261
309
314
320
373
338
223
292
273
273
383
383
268
309
308
357
352
308
313
271
269
411
380
312
271
277
247
270
277
314
301
352
259
290
365
312
309
397
252
268
349
306
353
271
221
212
275
310
299
304
331
278
340
321
322
309
365
296
300
348
292
220
280
289
299
316
299
313
288
274
330
349
290
318
363
434
359
343
331
329
290
294
308
221
301
219
327
373
308
277
338
355
295
236
272
316
416
382
258
312
352
328
295
319
409
300
329
340
290
356
368
353
280
280
338
297
250
360
337
303
242
309
268
250
276
343
358
336
340
359
286
367
340
295
356
322
319
303
378
391
319
324
284
309
326
341
309
215
281
410
344
422
207
289
318
317
302
272
285
334
259
315
337
391
279
265
377
385
306
374
277
302
296
384
325
311
285
275
308
307
271
344
334
252
275
354
338
338
408
292
288
309
280
382
356
302
292
272
393
343
327
283
352
355
317
285
325
319
262
311
272
333
361
276
353
264
323
371
264
202
344
312
292
278
361
285
225
269
310
396
308
284
324
350
270
305
353
338
304
359
286
385
275
304
351
333
284
333
225
379
324
300
392
298
409
343
301
346
313
306
359
319
228
304
342
299
272
320
334
267
330
388
261
222
272
301
373
290
350
294
298
349
268
255
315
317
340
313
299
282
270
302
299
324
336
326
301
303
388
242
325
277
370
255
353
332
329
347
377
272
236
382
367
360
248
332
263
298
371
393
246
389
326
266
318
237
305
341
356
318
346
303
289
380
353
293
358
409
283
316
331
257
267
238
428
325
333
340
318
339
278
334
279
417
301
275
369
289
253
271
359
295
366
393
408
379
332
242
324
230
350
280
322
270
287
341
297
325
304
313
274
380
322
321
329
152
382
217
312
328
359
334
311
348
422
380
278
334
347
345
314
295
341
325
247
307
297
298
267
340
283
252
340
309
327
362
332
224
312
291
302
283
396
329
297
287
261
333
275
394
321
295
249
322
325
314
256
386
223
318
269
425
314
274
377
305
287
323
379
318
277
406
274
359
297
318
329
356
254
303
299
360
343
296
335
352
283
270
321
282
307
296
366
319
395
268
391
355
319
303
352
319
308
257
342
346
427
405
327
249
341
252
301
334
321
422
296
255
314
389
368
294
284
374
312
384
250
330
304
284
324
346
292
274
302
266
326
355
339
313
322
370
404
312
222
331
264
330
315
289
287
367
327
262
245
336
273
268
328
348
276
277
320
329
385
329
270
324
313
336
328
276
315
280
213
334
334
337
264
260
236
272
335
199
369
358
364
301
381
365
379
339
320
299
253
347
292
253
352
327
321
329
291
336
338
327
361
283
317
326
280
353
363
294
276
258
285
290
280
284
362
322
394
253
321
332
241
318
209
258
219
302
340
325
300
291
326
366
289
326
304
297
342
363
299
357
296
335
310
304
328
276
392
308
380
330
322
370
334
321
268
338
364
309
282
264
307
326
259
328
298
193
290
240
313
361
229
378
326
250
354
246
275
305
294
293
256
259
322
344
282
281
340
409
238
377
290
381
223
295
322
315
271
285
356
244
303
363
341
290
317
319
296
242
330
326
336
340
354
363
426
341
357
305
337
328
333
290
255
332
296
381
302
278
305
285
329
342
339
314
326
334
344
300
284
316
346
347
312
341
357
330
253
400
243
309
380
327
317
346
268
281
340
314
329
270
331
359
198
356
363
253
286
319
318
395
278
338
372
302
285
303
366
371
324
241
314
286
329
268
283
305
285
322
321
346
304
335
247
374
301
275
270
394
293
307
296
230
373
326
383
259
264
381
298
317
324
232
308
302
288
334
330
340
284
226
342
363
369
273
295
309
347
346
363
343
382
293
301
340
307
318
271
237
331
437
306
389
330
235
323
267
318
327
275
360
279
296
377
305
342
277
353
373
313
297
343
342
297
295
316
256
322
220
307
318
380
347
389
262
331
395
337
312
357
304
311
301
295
299
350
319
241
357
293
323
323
276
312
315
285
319
367
248
325
289
378
254
400
268
367
342
235
347
263
256
362
347
287
313
290
290
264
344
354
304
397
209
348
344
322
352
267
347
291
222
336
298
299
335
280
298
288
291
299
361
405
323
371
238
314
270
361
288
306
275
364
375
349
271
324
323
210
355
328
374
269
312
254
333
250
314
233
302
273
262
278
299
281
346
372
309
399
335
341
301
320
398
356
369
326
372
330
424
330
277
267
296
276
311
332
322
266
338
255
257
275
238
280
340
315
267
235
360
319
359
284
399
361
259
268
362
316
400
325
351
349
343
301
300
321
368
255
284
279
310
384
326
337
307
303
362
328
316
251
249
281
292
371
278
319
231
382
289
299
345
343
349
304
310
304
287
376
336
361
286
321
300
344
288
292
244
324
310
334
296
333
339
341
370
312
272
328
320
335
204
331
311
270
265
329
330
374
342
287
320
322
272
268
351
299
328
348
327
288
304
301
342
235
322
279
254
220
306
301
277
276
327
315
260
316
250
323
316
359
378
266
300
278
298
370
330
360
303
366
336
302
322
286
329
215
313
284
283
275
333
409
278
379
343
328
286
328
311
296
287
284
354
239
436
219
334
294
280
341
286
329
309
313
354
249
391
282
379
354
296
302
315
252
368
255
320
263
296
372
384
324
289
352
203
314
308
395
373
310
319
317
283
305
248
374
227
356
297
359
372
304
292
380
257
293
296
295
346
354
288
284
305
158
368
320
305
282
412
359
316
296
368
375
287
368
400
289
308
255
260
276
236
390
339
303
224
354
276
280
342
322
222
315
348
300
331
351
319
302
314
321
234
333
328
267
329
283
379
327
339
359
340
368
315
315
298
330
320
333
257
418
345
305
324
334
327
253
307
401
340
319
308
362
383
362
274
294
297
318
299
288
287
390
333
312
419
314
328
266
331
326
361
355
293
294
260
330
322
335
308
354
287
302
297
293
315
284
360
248
327
293
340
338
370
260
361
381
319
271
316
293
305
353
310
286
315
252
289
343
311
344
333
290
282
369
301
356
375
261
341
299
361
392
250
394
379
362
266
354
306
306
361
364
272
278
408
259
305
316
355
390
294
374
299
308
349
238
316
388
250
317
324
333
302
224
243
341
262
267
317
289
386
279
242
297
254
254
278
345
342
296
339
310
388
318
339
330
389
267
384
284
416
304
308
285
361
332
320
231
294
360
371
378
246
255
291
357
325
378
267
275
234
303
382
282
352
350
231
220
301
361
277
343
312
323
232
377
254
261
378
237
319
245
340
291
266
278
306
349
379
357
318
364
341
329
355
293
314
288
338
361
313
322
335
389
273
305
364
254
359
284
320
319
268
315
400
370
279
391
279
354
302
303
329
353
253
321
227
382
271
302
246
360
361
319
305
317
251
425
348
339
352
387
307
324
312
315
323
322
328
255
346
296
329
316
302
269
331
256
390
268
247
357
327
305
326
297
302
310
299
282
199
337
290
289
300
296
404
295
366
394
301
400
270
338
315
310
335
328
319
266
270
412
279
294
354
294
244
339
310
364
330
348
237
281
267
414
325
273
328
288
303
320
305
304
377
338
285
395
303
294
301
340
303
318
297
341
318
285
379
351
356
325
379
272
321
335
330
288
317
247
391
279
330
329
231
340
313
251
335
348
297
395
337
349
352
372
326
321
345
351
286
371
320
316
304
300
284
324
376
275
280
260
427
318
278
300
323
260
339
371
321
290
278
370
261
289
315
365
295
349
228
315
333
326
325
342
248
264
353
338
384
345
379
324
361
367
334
235
325
336
305
400
272
363
386
365
275
326
323
330
338
290
308
271
348
288
266
325
306
312
335
353
327
314
343
292
334
328
299
267
337
283
358
303
182
331
386
314
393
363
374
234
305
260
307
220
223
329
315
369
396
357
281
202
271
331
360
357
221
242
371
284
282
320
330
293
365
333
337
312
261
397
334
391
307
362
330
403
297
317
280
321
330
319
394
368
364
314
333
390
381
338
284
389
287
301
349
236
300
400
286
402
333
343
363
395
271
324
319
318
345
242
344
302
370
354
246
307
262
313
344
333
377
282
320
298
349
433
330
323
394
314
184
298
319
283
260
349
303
268
311
268
301
193
301
365
347
215
333
322
349
373
332
244
346
340
240
303
286
320
262
331
328
224
320
308
365
254
399
375
302
355
405
344
343
297
279
306
300
287
341
319
225
364
257
262
339
332
348
269
261
286
253
342
393
310
337
314
293
337
321
373
339
341
237
288
269
269
304
348
318
308
368
242
265
278
356
280
222
286
314
303
345
322
296
326
352
260
289
341
312
373
287
332
327
330
328
249
315
280
246
284
283
371
319
270
322
329
347
265
282
294
326
282
384
275
356
388
298
342
256
316
308
289
302
324
322
287
407
332
278
366
325
293
302
324
346
350
296
309
311
341
290
393
276
310
318
222
345
302
365
318
252
292
314
258
326
278
297
351
329
404
341
292
313
332
299
241
338
269
296
323
264
346
323
216
357
310
353
319
299
199
368
399
349
307
290
308
301
387
329
288
307
284
252
267
393
318
347
297
404
352
314
205
338
351
294
280
306
350
290
321
268
307
385
311
296
307
291
308
352
260
299
326
245
360
307
397
327
336
353
290
324
337
378
340
370
292
384
356
306
287
350
314
228
335
409
338
321
404
326
356
249
283
339
286
355
274
365
328
299
357
332
325
318
360
207
349
296
185
360
324
309
301
218
333
347
352
304
362
380
273
303
317
279
316
300
246
278
400
322
306
370
278
269
361
230
327
312
264
363
292
378
303
305
345
244
277
250
377
271
275
354
382
307
358
375
385
303
294
300
287
306
331
196
261
271
361
321
280
281
285
344
321
330
269
361
228
378
339
365
326
327
322
346
336
386
316
351
335
325
317
327
336
398
325
366
316
333
244
308
319
329
307
322
333
329
283
278
319
293
274
307
332
335
323
315
291
252
326
288
338
315
295
301
305
294
322
261
302
346
332
277
325
333
338
297
302
313
277
297
341
295
354
305
320
299
385
327
257
335
332
292
261
329
298
360
360
338
284
379
342
287
230
358
334
373
352
366
339
321
272
353
332
340
317
265
328
300
301
380
382
318
336
170
345
323
323
319
309
311
342
340
277
271
293
294
267
355
314
365
429
367
265
307
387
295
354
311
310
330
215
373
301
283
254
297
355
298
305
354
210
314
307
292
294
327
238
339
278
340
374
290
339
317
347
336
278
292
306
248
337
282
352
340
324
311
312
252
407
281
353
285
384
290
281
404
195
368
322
317
266
347
292
317
306
255
266
309
291
417
375
285
335
335
220
365
326
419
370
389
333
227
335
304
242
309
292
215
286
311
344
265
249
280
334
297
326
325
302
361
376
242
293
363
277
308
350
357
272
248
261
341
255
363
297
236
342
342
222
325
338
367
322
351
299
305
274
344
244
303
299
282
342
359
328
342
312
288
259
274
310
338
337
278
301
365
315
245
360
319
239
230
324
227
386
304
416
298
247
162
227
250
315
352
242
303
278
290
450
273
224
370
373
332
345
412
340
360
379
287
339
371
270
337
290
244
256
338
308
309
257
273
265
289
279
323
314
350
320
350
251
360
388
321
322
225
348
273
342
347
252
359
341
291
316
318
293
326
310
347
345
350
313
326
212
370
271
381
327
300
322
285
397
326
390
249
341
232
352
320
323
323
342
327
356
346
275
322
305
397
330
310
243
418
302
386
346
260
305
255
306
278
306
289
317
350
313
337
384
348
316
336
283
226
361
391
340
326
231
336
283
298
279
270
385
345
279
328
306
313
311
340
263
310
335
352
280
247
299
407
303
313
300
267
376
391
322
433
353
328
436
309
305
277
295
312
295
290
286
343
294
327
309
365
317
384
226
305
390
353
346
313
403
357
354
335
288
340
392
331
348
323
323
323
313
312
350
299
243
310
323
360
321
343
340
218
364
358
255
343
363
342
322
341
333
254
296
301
346
332
279
322
398
331
291
217
290
352
196
292
373
328
232
255
318
322
346
333
369
289
281
365
323
377
292
315
354
280
372
357
372
371
314
178
389
353
341
329
252
260
350
327
278
252
394
263
363
338
324
376
359
306
305
373
295
253
310
364
275
269
346
308
384
320
326
361
296
264
343
289
287
266
201
303
314
310
397
273
342
309
333
350
307
292
322
274
277
259
294
286
346
408
320
310
332
305
309
292
262
307
258
312
282
325
275
270
298
349
323
313
367
298
269
378
291
328
263
352
279
402
353
313
294
299
283
373
327
352
344
339
255
344
326
351
350
336
345
248
269
300
260
241
302
337
284
347
270
298
289
310
366
312
258
309
377
319
377
266
264
235
368
299
345
268
336
317
262
360
364
345
249
321
327
304
333
341
346
273
310
327
283
298
365
286
324
373
327
301
263
362
315
293
297
333
324
367
334
302
286
394
339
310
306
340
267
254
354
297
279
321
325
344
382
371
324
296
264
358
410
376
356
294
337
365
388
298
278
304
319
361
339
317
334
273
271
291
347
284
276
309
306
372
294
272
314
231
348
327
305
389
282
358
322
317
314
327
350
339
298
252
228
315
382
330
352
382
247
278
364
254
284
370
249
346
355
363
312
297
302
357
291
426
220
305
359
327
325
334
343
315
275
279
253
330
352
294
315
328
358
303
334
239
311
290
328
335
376
213
314
302
368
278
260
293
215
250
294
341
346
331
292
365
336
312
347
287
319
383
340
241
382
284
150
324
250
298
285
336
327
302
420
314
274
391
326
308
354
316
382
350
336
372
263
303
289
280
261
308
336
253
328
327
288
295
308
278
285
346
358
290
248
260
313
213
251
318
327
235
262
331
333
236
270
329
304
325
321
349
327
312
317
170
279
371
276
269
290
294
297
284
372
331
338
429
274
389
272
359
238
292
303
266
314
408
295
314
348
277
292
291
280
291
339
286
290
255
329
326
279
271
241
226
294
355
271
351
329
297
278
349
292
316
369
359
278
330
297
327
439
288
297
308
295
301
239
312
288
304
332
286
306
314
413
343
387
319
342
364
322
353
334
369
355
329
264
274
279
297
231
315
356
405
273
367
312
294
251
249
300
292
325
253
320
309
340
298
324
422
351
348
345
280
345
318
381
363
304
309
422
366
288
329
323
326
314
317
364
259
212
284
357
290
338
316
323
390
321
346
296
349
371
277
287
251
298
262
389
310
371
374
335
292
284
286
305
368
238
368
250
359
320
372
269
399
300
239
298
308
306
261
330
213
317
220
222
290
318
310
372
315
395
290
326
342
306
329
302
366
296
241
275
205
358
295
352
319
384
366
325
274
332
314
309
268
299
310
282
270
349
301
399
364
336
295
401
358
379
349
379
249
326
260
365
307
282
326
306
259
300
286
289
316
328
246
340
314
287
274
373
281
299
353
320
267
330
364
220
258
351
283
334
307
347
280
379
298
324
316
277
362
370
289
246
360
278
295
398
218
360
313
290
328
387
336
333
393
345
392
245
374
363
344
317
352
365
325
364
296
316
309
287
323
268
311
310
321
414
263
347
281
338
305
340
352
292
321
292
360
286
303
300
345
339
335
277
335
371
306
329
388
282
301
189
325
412
322
275
322
279
348
303
303
332
306
284
377
293
327
380
332
239
293
296
282
337
279
280
230
305
423
389
324
356
366
399
258
241
350
368
303
365
299
354
410
355
323
265
380
325
350
320
374
360
396
242
309
310
369
261
311
293
342
366
416
307
206
371
293
393
266
310
294
288
254
361
309
326
329
320
336
367
236
343
316
268
318
315
353
293
350
318
269
375
380
391
310
307
336
385
349
246
267
354
333
353
333
257
328
356
337
276
311
290
245
363
278
224
303
333
285
352
250
359
369
390
375
283
256
283
326
318
358
278
339
354
273
303
242
282
283
276
258
308
358
329
402
293
293
184
285
349
311
301
336
317
245
383
369
254
314
348
369
361
321
288
228
248
356
327
286
324
381
286
304
343
333
305
323
298
399
344
319
287
305
322
400
276
270
254
222
265
297
350
344
259
373
303
265
350
291
252
380
249
365
343
361
288
276
322
278
322
319
295
295
322
308
236
321
359
315
312
350
286
329
327
295
364
312
343
287
293
280
318
263
413
265
366
306
345
418
315
264
328
332
313
348
337
277
340
315
312
267
263
338
335
347
306
373
313
316
255
270
339
234
341
299
358
343
382
255
254
276
337
197
336
318
305
253
289
338
302
336
355
377
319
343
329
289
332
315
235
364
341
359
359
367
283
314
350
332
301
338
248
288
284
307
351
272
352
228
307
255
261
343
285
237
382
305
324
311
314
243
242
286
371
363
294
263
375
319
379
382
327
309
328
289
332
301
354
348
254
353
376
346
327
294
302
412
271
298
302
329
245
322
317
267
345
293
287
325
261
198
334
304
383
318
281
390
287
347
256
288
310
351
279
317
373
317
250
247
280
359
293
356
353
393
323
260
230
291
297
310
366
313
325
351
362
319
389
277
276
294
264
387
284
289
337
326
270
286
278
277
275
311
313
327
324
323
307
251
300
334
312
288
354
262
330
322
368
356
347
216
351
231
325
247
253
352
280
355
302
227
295
366
294
269
335
299
323
444
289
326
337
321
379
273
397
290
367
281
269
266
337
248
237
267
321
382
349
346
342
309
335
293
320
266
217
182
317
415
308
342
245
316
331
328
271
285
291
364
328
293
328
321
238
312
347
393
257
396
275
338
294
350
266
300
312
281
298
335
289
317
321
328
381
341
292
393
367
279
289
267
258
337
302
361
337
288
353
305
309
355
245
390
341
316
307
296
341
366
228
332
305
392
329
340
308
288
334
339
369
320
316
306
309
330
321
341
287
212
314
282
288
297
323
311
336
272
310
307
323
292
249
316
329
309
227
337
358
269
269
404
295
280
312
263
307
269
379
357
405
338
298
331
341
357
299
373
283
289
362
217
383
378
324
338
423
309
379
291
287
362
296
313
351
335
325
253
325
315
317
392
388
357
324
367
328
345
299
279
369
418
319
363
269
264
387
299
273
270
297
209
321
336
253
383
377
314
317
315
248
290
325
342
331
262
335
306
367
342
236
326
281
257
349
389
295
395
334
379
356
326
280
369
301
370
378
356
248
353
279
278
377
340
341
227
360
309
334
284
354
331
298
240
210
250
295
302
330
303
260
330
287
282
281
289
289
369
332
336
221
321
314
314
297
357
309
204
312
183
278
337
299
302
311
319
310
330
291
293
338
286
367
328
332
247
332
308
209
370
301
359
297
330
311
344
382
370
281
367
381
352
319
332
310
263
329
304
309
290
332
334
316
254
309
284
352
278
341
298
366
296
309
299
363
373
275
374
291
271
327
382
324
390
334
288
268
384
310
335
275
288
363
228
285
347
321
364
266
287
275
322
339
389
347
248
300
325
337
237
248
377
362
283
369
337
334
344
282
294
289
355
296
267
302
284
293
334
371
370
261
270
253
271
296
351
252
260
266
295
331
355
334
235
279
292
371
349
337
354
365
258
332
338
362
393
423
324
335
324
263
251
350
288
367
298
230
281
354
271
394
262
330
339
301
278
315
268
383
402
295
256
331
325
336
402
377
334
305
311
308
286
338
270
431
332
284
362
350
366
331
342
282
308
319
345
397
309
364
320
416
330
278
326
341
344
330
239
339
358
334
298
344
362
329
326
328
323
375
217
235
280
345
357
279
348
341
287
320
385
313
336
392
315
348
299
241
272
304
237
356
232
298
368
306
365
322
350
312
352
265
356
338
348
357
380
315
375
347
302
290
232
308
404
377
271
283
304
304
390
332
293
303
311
261
320
366
294
305
277
281
329
346
292
329
270
342
291
225
282
312
382
356
258
297
319
313
373
276
365
251
232
356
274
358
318
283
307
336
323
308
284
317
390
389
334
312
286
276
277
278
348
349
257
292
287
283
397
341
299
310
298
379
381
233
360
351
331
270
294
208
392
301
292
368
283
369
259
348
330
355
237
364
274
306
278
276
344
325
290
279
282
340
271
319
283
366
358
308
257
407
294
316
341
320
290
249
322
310
295
378
240
350
329
323
283
214
352
359
373
325
252
344
354
306
254
317
251
228
346
358
261
280
280
260
354
348
275
314
308
297
325
288
318
300
269
241
297
296
339
285
288
333
339
261
289
317
289
268
288
375
244
304
346
330
376
331
384
341
322
182
319
360
356
356
308
292
283
303
386
340
408
315
362
345
297
243
330
280
270
355
340
343
329
372
350
274
362
375
382
292
313
286
326
363
327
378
302
409
323
363
260
253
217
263
315
382
327
305
323
381
403
266
323
318
268
324
301
361
310
337
264
337
344
258
307
253
339
305
308
315
307
325
345
287
244
280
345
295
381
298
297
341
377
314
271
252
309
241
292
307
310
245
312
294
251
348
311
286
318
297
220
364
277
321
323
265
233
263
334
340
376
230
317
300
328
301
387
258
301
378
306
300
317
293
224
334
337
343
298
336
374
287
255
297
338
265
404
372
372
337
377
310
371
304
367
429
347
287
342
335
316
344
274
267
314
278
366
228
289
274
319
276
350
271
270
437
297
293
256
355
274
273
321
306
323
306
267
415
377
297
291
330
328
301
345
247
358
264
271
363
331
319
225
207
325
332
302
279
341
222
283
338
316
283
328
238
270
317
327
315
372
371
328
344
272
242
339
251
348
328
260
285
252
336
296
311
299
274
278
285
306
311
275
345
337
287
337
302
371
372
391
282
250
307
345
386
379
287
365
257
400
324
310
255
261
452
316
328
238
296
295
185
272
337
257
318
324
341
299
348
298
275
341
350
407
338
309
319
226
323
331
325
283
325
418
323
374
361
336
354
372
293
330
291
337
285
309
391
284
358
223
271
375
334
393
279
271
285
206
305
303
342
363
361
275
254
382
312
342
295
240
358
361
303
318
272
358
368
398
289
292
306
350
251
355
251
252
379
282
368
329
316
292
285
308
315
279
290
310
378
355
298
342
298
335
251
290
341
353
294
345
287
259
316
322
354
284
292
343
324
311
364
267
408
413
402
285
274
288
327
336
260
242
350
322
262
376
272
356
344
385
286
371
327
337
362
289
338
346
392
324
209
318
366
310
319
342
281
370
399
281
315
327
302
318
379
318
304
283
337
320
388
291
351
328
426
292
261
313
291
298
380
302
358
311
313
322
298
257
274
303
318
218
434
309
270
385
357
364
296
347
267
290
331
277
313
326
322
297
317
314
316
308
286
329
323
435
369
301
316
301
257
311
233
273
218
288
350
351
265
366
251
361
409
299
368
301
317
317
316
255
303
346
301
268
325
313
315
317
301
323
306
285
262
304
237
269
265
331
273
327
300
283
346
286
311
278
355
278
333
309
297
356
243
318
287
310
380
305
256
372
299
260
323
349
228
298
294
366
256
316
262
309
244
367
183
374
261
224
286
239
257
249
254
308
343
290
261
379
338
370
264
300
294
302
343
369
273
314
291
314
315
347
326
385
338
390
342
349
286
293
391
380
329
274
367
329
309
320
319
313
307
346
312
282
295
268
234
360
306
372
274
312
385
307
338
326
389
324
364
299
332
347
292
296
236
309
276
322
274
305
312
287
376
397
335
313
358
327
337
240
328
320
306
291
275
242
398
352
320
270
413
406
279
395
214
351
341
331
344
324
340
357
390
323
350
334
361
366
250
324
370
332
266
339
231
280
285
290
339
311
220
339
325
337
385
361
310
366
315
369
311
314
284
292
327
337
334
295
272
292
352
348
288
243
339
268
303
278
315
379
278
401
331
229
325
322
298
318
245
395
271
342
292
364
360
375
331
304
322
324
295
233
311
298
282
348
310
399
299
258
358
304
286
276
337
329
301
363
233
417
332
390
362
376
247
303
220
322
285
325
292
251
343
311
239
391
312
335
373
331
315
348
351
334
314
308
419
335
303
343
268
235
204
264
271
292
352
355
263
295
317
344
342
335
320
321
270
344
392
329
212
333
304
295
346
299
365
322
362
278
354
362
305
383
307
278
258
279
373
299
324
378
322
308
310
242
290
305
290
306
237
324
322
225
281
323
337
332
304
340
350
317
306
280
300
245
292
392
232
240
370
405
270
299
301
321
298
302
300
330
269
277
354
339
307
296
302
292
465
256
293
302
311
275
322
329
314
330
261
236
228
331
363
314
393
301
336
372
388
295
279
325
367
316
308
386
300
249
354
329
274
325
378
307
317
346
442
373
375
311
277
360
241
277
335
289
319
339
275
263
287
315
275
290
340
344
379
318
360
303
329
292
256
366
277
352
344
364
302
426
371
331
276
338
375
361
356
313
340
188
410
230
308
333
313
327
380
356
287
256
353
267
279
303
294
438
312
299
258
294
294
279
325
380
297
339
304
305
331
313
373
274
355
270
345
207
338
288
328
356
280
368
241
245
303
237
375
272
316
324
361
324
339
368
281
363
337
322
348
262
267
350
304
282
279
391
235
353
278
305
276
334
249
356
274
335
334
272
385
358
299
244
401
395
267
359
316
291
344
324
287
309
326
364
209
285
281
327
294
286
294
344
247
326
287
242
337
243
376
326
257
295
294
275
310
344
309
304
304
289
322
299
284
331
302
333
328
336
306
352
366
343
263
346
261
286
282
324
300
273
329
409
308
284
315
326
328
343
297
320
293
222
420
332
296
315
350
365
410
324
308
266
340
305
371
368
288
383
280
320
366
325
300
373
265
244
333
257
328
397
308
316
331
343
362
406
288
305
402
253
309
379
345
354
363
302
380
212
296
396
298
328
356
250
327
318
284
272
313
383
295
362
288
293
331
323
440
388
334
323
381
328
363
343
337
372
335
284
310
352
286
295
339
349
317
329
340
214
317
384
368
351
350
364
378
290
356
245
372
333
402
390
356
342
359
352
254
288
358
346
271
296
345
285
320
380
298
384
243
329
308
307
265
326
355
350
333
271
338
283
330
253
356
249
351
394
351
351
286
295
289
320
307
397
286
295
265
280
273
285
422
283
347
325
193
282
261
241
308
237
270
365
245
297
331
287
284
351
315
231
275
294
295
239
264
290
300
325
294
334
289
349
288
335
312
316
406
307
242
278
308
357
352
301
278
285
399
282
383
287
313
258
268
295
242
361
296
410
291
224
283
295
321
382
330
383
340
302
299
351
335
290
336
254
330
324
352
339
245
313
394
289
340
307
373
363
357
253
356
220
334
342
357
272
307
391
289
350
219
351
307
246
224
327
340
366
299
316
297
290
257
296
289
354
275
245
361
279
289
296
300
243
301
239
382
310
412
300
272
297
306
245
235
279
330
397
365
271
358
308
326
276
385
228
320
327
365
406
360
276
277
293
338
331
356
284
344
387
213
359
382
308
335
354
283
234
219
362
296
349
359
303
403
370
326
366
374
342
377
348
321
335
276
364
318
336
250
349
346
282
366
349
383
253
211
310
314
324
203
238
318
252
306
312
321
290
317
333
400
269
335
377
242
351
265
331
245
262
288
307
310
309
229
363
413
293
298
266
263
362
414
345
285
382
332
303
248
300
340
304
289
254
327
301
302
252
394
229
217
326
353
313
319
300
381
327
276
325
345
273
359
288
345
317
318
301
253
326
303
259
360
308
211
310
303
395
315
242
321
285
385
342
278
317
317
237
326
289
292
338
295
280
355
313
342
318
338
339
309
390
275
333
338
275
349
302
336
347
378
274
310
308
363
334
319
325
367
359
312
336
282
298
310
390
353
392
278
206
338
304
297
354
375
325
328
365
230
264
345
318
300
303
419
327
239
372
321
313
289
338
309
393
370
374
306
305
383
334
263
309
345
347
393
309
269
327
311
324
358
296
239
360
250
270
334
278
346
359
339
251
332
290
315
378
372
336
313
311
340
295
288
301
276
331
396
317
308
374
307
357
241
305
282
274
316
362
358
266
333
319
282
353
370
354
258
327
312
345
220
410
318
295
307
328
324
281
286
388
343
269
314
346
306
419
292
342
285
306
282
304
315
307
319
385
295
353
260
236
313
219
284
324
337
284
293
312
251
442
274
232
395
328
326
324
278
393
233
273
330
355
278
332
331
318
253
400
349
269
332
196
351
364
290
316
242
255
353
391
348
264
358
248
256
376
289
371
323
372
277
306
219
314
331
363
363
353
278
284
252
340
208
390
296
343
357
325
373
359
340
309
298
353
253
370
385
325
394
343
328
303
376
255
290
320
268
316
272
257
296
291
272
353
233
320
300
348
253
249
305
295
368
340
364
265
249
293
212
285
294
293
365
400
354
377
295
338
397
261
292
301
279
266
307
342
311
387
262
330
344
291
337
229
376
382
333
315
354
369
239
341
213
350
326
340
329
346
340
381
308
375
275
228
303
237
353
336
293
301
260
355
344
320
279
301
326
303
295
279
314
311
291
295
339
323
299
351
320
344
369
324
373
274
415
338
305
280
328
334
333
374
333
318
341
367
278
302
279
384
304
292
276
318
212
307
339
266
410
377
341
302
304
308
270
386
396
335
362
341
296
268
328
363
281
377
234
403
345
261
300
256
367
329
325
214
296
319
328
313
344
342
311
260
358
321
317
267
363
324
342
396
341
332
255
300
352
266
269
327
292
339
275
264
398
341
232
351
290
347
323
363
259
306
293
316
332
286
285
348
352
385
330
366
389
319
220
245
301
291
311
313
297
275
267
327
294
369
349
316
342
374
307
276
246
399
267
271
328
300
296
318
324
272
253
363
208
285
423
380
304
352
233
347
278
252
364
367
331
281
231
338
315
375
373
349
301
418
336
363
298
292
409
346
338
375
293
222
374
410
275
253
337
315
274
305
236
331
294
247
327
325
347
347
365
312
316
358
292
362
324
370
326
281
335
375
306
295
374
222
388
445
319
269
377
333
256
388
303
366
256
306
321
321
359
374
363
312
298
290
357
320
302
337
324
357
294
396
330
321
317
316
347
329
220
270
372
369
351
274
296
361
270
251
316
353
284
352
317
370
414
376
371
327
304
291
388
321
312
385
253
299
281
323
344
259
316
353
299
340
328
305
365
276
330
334
346
357
276
325
290
370
308
324
331
249
258
202
273
316
286
321
307
383
288
328
271
293
297
265
313
354
330
363
244
328
305
303
321
311
257
333
237
357
286
263
310
286
257
345
282
275
340
275
254
259
366
367
412
321
263
285
313
279
321
391
317
261
233
363
352
428
303
346
315
324
301
364
222
265
224
344
338
263
361
354
307
296
349
352
251
306
300
275
457
319
345
319
346
257
298
346
334
415
297
309
284
333
331
264
362
417
295
336
304
277
312
340
281
333
261
346
309
325
337
373
280
329
194
311
291
328
335
353
305
356
299
307
266
335
315
230
289
344
332
240
334
301
347
263
249
342
359
295
260
265
331
264
264
261
284
312
356
289
380
298
318
371
306
315
343
363
349
358
232
387
302
366
310
367
323
339
281
350
326
270
296
253
320
290
313
276
265
286
289
316
261
334
333
270
352
344
323
357
346
320
317
330
341
331
301
402
314
312
400
339
324
296
228
301
296
345
400
304
346
208
332
406
258
277
337
311
281
321
257
389
266
269
236
370
349
252
350
267
346
326
333
320
341
280
365
272
321
292
333
353
276
256
194
331
403
195
248
402
366
290
330
352
370
260
362
320
273
266
315
269
296
298
315
203
370
274
306
321
304
354
338
334
333
326
376
299
349
353
376
310
345
265
371
288
337
333
314
328
278
282
251
366
352
309
315
349
326
295
385
278
358
316
401
368
317
340
319
352
346
325
362
280
330
338
203
272
285
375
260
322
359
352
332
280
343
287
300
311
337
340
325
305
320
394
265
322
315
303
309
326
267
323
255
270
345
320
297
318
331
386
331
252
265
311
360
380
271
318
351
284
258
339
314
350
314
208
326
350
275
262
317
324
343
299
302
266
331
277
304
354
281
244
221
362
291
308
304
310
329
374
259
338
374
297
348
432
310
357
257
226
321
336
301
293
332
280
400
312
335
374
316
374
360
293
330
389
348
314
406
268
347
275
300
330
239
350
347
284
344
327
346
289
327
287
317
352
351
284
278
352
263
288
277
331
301
304
264
265
364
309
374
303
287
326
323
344
339
372
363
262
306
364
278
333
311
267
292
275
335
336
276
322
348
282
373
379
247
374
276
267
294
295
324
289
396
259
327
248
286
283
417
300
293
330
270
317
362
236
272
276
248
249
448
337
378
315
316
364
277
297
365
332
318
359
291
313
330
349
259
253
236
257
350
323
215
327
314
363
353
316
316
325
358
423
338
346
367
345
321
370
370
322
286
276
315
306
315
214
269
286
304
294
369
265
354
332
319
302
320
272
304
392
386
384
323
364
298
295
324
299
305
327
352
359
240
298
223
294
345
344
318
377
273
324
270
334
355
299
344
312
317
297
405
264
327
307
345
320
300
307
249
314
378
353
313
316
320
234
244
283
315
387
358
328
359
377
225
249
254
281
191
356
378
316
330
317
373
275
262
342
331
265
379
335
358
309
309
307
365
353
225
274
269
295
268
360
349
367
343
274
358
352
349
331
280
280
287
260
304
310
349
284
318
342
338
332
331
302
302
331
337
328
316
344
298
305
313
321
279
358
272
353
377
375
250
360
348
310
302
345
363
216
307
363
386
320
311
366
240
252
305
354
270
286
298
335
352
261
238
275
273
367
290
326
260
333
322
306
369
332
308
243
334
303
429
341
325
339
288
347
348
279
344
317
333
328
236
260
237
273
315
243
222
331
319
343
350
237
323
247
355
326
249
239
344
218
346
302
386
376
308
348
288
336
275
318
354
321
261
332
320
399
287
203
250
312
388
262
359
279
274
301
363
304
399
366
227
360
321
377
352
232
351
313
376
376
233
335
416
306
311
303
322
299
249
359
308
335
312
264
322
303
378
300
304
327
311
233
351
339
327
348
384
299
334
356
275
316
281
327
279
310
348
292
306
290
250
289
265
350
347
350
414
286
369
259
307
367
314
329
320
318
332
334
271
430
320
304
276
264
374
323
345
315
372
437
365
312
342
301
292
291
335
356
342
329
347
322
279
266
235
320
310
311
288
296
281
295
234
360
299
344
245
308
337
230
359
210
340
265
360
349
363
315
346
303
385
323
351
292
298
315
260
302
340
267
359
295
243
314
317
286
216
354
218
272
347
275
286
352
261
362
304
350
328
324
264
280
355
325
338
348
301
296
358
310
276
252
351
305
321
340
346
317
293
369
254
358
307
345
362
295
244
394
298
374
294
351
303
307
312
306
264
318
255
312
259
284
293
273
275
263
264
265
294
343
223
371
330
328
357
258
358
278
321
356
363
302
323
294
306
256
280
310
290
333
272
313
281
347
322
272
372
275
281
301
380
322
247
304
256
355
261
318
234
346
347
358
275
376
295
278
325
330
334
317
291
395
367
399
227
286
335
337
300
262
401
292
341
295
251
318
380
316
299
342
380
261
309
371
239
322
345
370
363
321
294
296
354
309
344
318
299
346
216
363
335
215
251
305
374
381
326
283
286
272
233
251
246
333
229
348
311
370
294
340
393
336
375
378
220
308
375
299
333
258
262
332
359
291
314
351
341
347
334
315
327
327
287
335
305
293
261
416
337
290
293
348
372
336
295
284
288
382
275
343
356
194
224
328
242
344
349
336
406
361
332
340
310
285
291
311
284
338
328
304
309
291
308
389
353
334
273
278
324
305
236
394
375
314
259
352
347
343
249
265
277
264
225
346
233
365
308
275
249
314
284
325
291
320
317
296
346
338
338
361
221
375
305
334
329
338
299
304
319
315
330
403
327
293
291
324
362
296
267
301
301
341
371
394
267
279
290
405
343
402
273
265
279
341
304
324
367
308
332
370
304
337
288
274
309
299
308
348
292
311
223
269
318
246
262
368
333
337
378
307
290
361
391
300
340
289
358
257
290
310
327
320
313
351
297
288
354
348
316
278
315
330
242
271
339
278
281
308
328
262
291
358
293
280
281
235
336
277
349
353
349
343
359
391
283
235
406
343
291
274
323
359
293
300
347
283
357
334
334
252
296
325
307
289
393
271
408
322
353
283
337
358
333
345
367
272
304
377
354
193
341
360
329
197
263
331
300
402
331
363
321
358
310
369
388
299
326
383
326
355
352
314
270
409
302
305
240
310
271
254
246
301
401
331
306
237
268
306
348
345
264
355
299
297
400
406
366
341
343
285
311
269
303
271
281
244
320
305
363
294
319
327
313
316
379
352
321
307
304
328
299
371
310
307
224
239
288
328
313
296
281
226
350
331
344
318
389
316
302
391
339
375
331
259
299
370
324
345
383
258
336
301
305
249
348
309
312
288
330
242
251
379
230
343
275
369
337
376
330
396
401
422
396
348
377
297
372
312
369
217
331
297
284
311
327
307
339
350
227
247
368
330
290
320
380
267
209
283
309
359
300
336
332
322
331
305
347
405
278
293
349
394
355
354
338
331
306
345
281
348
308
363
275
265
318
367
319
253
281
204
413
294
232
341
316
316
349
287
265
207
332
328
320
305
348
277
311
353
278
345
309
317
330
351
293
309
309
326
302
299
274
316
336
339
323
336
355
283
316
253
305
292
318
296
352
219
326
335
282
343
249
276
300
236
297
265
303
322
357
274
325
362
358
325
293
279
313
350
337
475
357
403
295
313
325
330
382
234
384
375
373
358
305
370
404
359
340
332
296
390
324
247
364
331
314
348
252
353
239
359
305
350
258
288
384
361
343
347
264
316
302
382
365
269
323
394
377
326
297
204
326
369
326
347
262
318
247
331
324
267
352
287
357
350
341
324
314
292
325
330
346
285
354
416
306
270
258
261
420
298
348
315
358
305
309
304
334
290
256
333
274
242
316
314
328
353
334
299
396
301
286
243
307
309
266
287
274
247
337
294
321
274
322
302
265
325
374
301
365
313
336
226
241
354
383
287
305
286
476
335
364
386
296
273
248
345
383
316
283
342
302
311
305
406
284
287
318
363
268
280
354
322
240
262
318
381
328
365
341
264
360
341
297
244
398
294
347
291
302
256
246
262
382
294
237
352
373
317
332
288
232
346
312
268
261
383
336
382
317
352
315
231
275
203
328
283
274
281
239
215
351
311
357
316
346
324
269
311
340
378
293
291
273
311
362
334
341
372
352
232
338
351
309
304
312
279
374
321
280
298
318
382
230
385
314
255
236
305
311
388
342
364
314
294
317
332
334
334
304
388
370
361
354
319
268
321
291
300
318
361
372
346
385
366
396
362
351
291
247
284
341
319
285
284
301
274
369
295
338
312
262
292
354
300
239
307
264
373
374
306
333
290
337
230
287
269
275
332
245
380
274
262
297
261
269
255
214
255
327
375
318
370
242
299
361
326
233
345
293
283
342
302
266
248
296
342
320
273
306
263
322
337
356
379
403
266
335
332
295
321
347
289
302
305
375
315
297
318
286
379
295
220
360
379
248
301
366
284
170
302
261
221
314
255
321
407
328
309
357
266
351
242
355
313
359
316
325
380
219
344
323
208
255
394
286
274
289
353
353
281
266
329
358
250
380
318
301
349
300
260
279
361
281
372
416
331
223
340
353
296
363
317
224
409
355
385
378
326
344
287
369
315
283
365
362
289
394
332
324
316
372
354
373
321
310
247
350
279
338
367
316
386
357
258
276
358
321
325
294
263
335
341
415
319
303
301
270
341
296
351
379
377
361
275
271
314
326
371
387
342
227
288
254
262
339
260
293
309
349
325
360
306
298
295
312
273
230
213
314
321
312
259
295
327
393
379
278
352
311
325
372
299
321
269
269
302
307
332
358
380
338
310
273
272
340
325
371
398
335
310
278
329
298
300
336
346
400
232
283
330
249
269
351
395
317
321
339
279
314
362
297
305
346
319
284
289
354
358
313
336
351
390
282
365
306
276
352
295
352
279
208
350
298
311
350
304
361
336
181
384
386
392
374
321
406
312
333
354
248
392
344
388
320
344
365
282
360
268
282
354
283
326
294
341
248
282
366
225
346
313
238
299
321
279
326
347
303
310
310
362
333
347
326
332
288
275
368
337
337
389
357
273
273
323
335
274
336
344
298
308
338
356
296
378
331
289
283
291
316
217
343
323
305
293
308
299
300
367
293
361
340
299
273
283
331
355
279
278
322
291
299
352
304
296
357
187
314
354
365
301
312
365
344
294
353
353
370
300
337
275
316
195
280
311
380
251
294
361
303
307
315
383
378
294
403
269
309
326
301
214
356
361
277
288
340
305
319
358
393
269
362
299
322
321
299
358
303
310
226
320
260
295
246
346
221
280
210
265
318
304
299
349
359
321
325
272
341
283
356
356
353
365
391
317
362
351
383
346
358
298
363
321
332
249
340
271
271
346
425
326
294
328
362
320
347
323
319
259
315
341
320
229
280
326
366
351
293
346
270
385
301
301
256
243
294
295
309
226
315
321
392
283
342
260
288
311
423
280
325
359
288
363
319
335
327
308
377
300
387
383
348
261
281
351
342
333
319
327
358
320
260
326
316
360
281
333
259
340
272
326
365
268
343
371
351
316
266
335
400
311
264
319
365
374
381
351
252
219
346
340
311
353
355
389
311
211
259
342
348
398
383
366
353
268
279
305
262
284
301
325
250
341
415
231
400
259
340
315
257
290
307
325
327
330
275
229
290
312
267
333
284
307
333
336
308
321
289
230
330
349
332
337
317
336
399
308
343
324
312
371
318
343
354
374
260
304
330
372
353
202
318
306
334
255
355
313
304
249
364
329
384
315
306
275
293
292
390
343
354
245
320
243
302
393
282
215
259
250
241
402
307
314
373
282
394
308
349
248
336
280
324
276
347
377
227
325
220
280
350
208
322
360
284
261
311
355
335
351
249
328
425
284
287
306
382
259
315
334
350
294
269
330
367
279
352
378
251
360
368
350
324
314
286
341
248
299
390
345
326
325
372
243
268
300
330
246
366
366
318
284
354
270
279
274
305
278
330
337
337
309
238
253
344
321
285
305
370
256
357
268
334
336
320
287
285
288
435
356
306
326
228
337
235
337
369
276
240
344
319
252
368
259
273
230
271
314
270
376
349
294
347
309
300
334
319
303
306
317
353
343
304
291
305
362
318
325
345
323
372
224
416
327
372
337
350
359
340
275
268
281
413
264
347
312
275
381
214
318
291
298
303
386
297
348
300
341
281
372
305
281
343
376
355
336
347
360
299
315
335
340
338
293
352
287
405
351
316
344
257
266
291
273
313
284
325
310
307
233
345
356
303
342
312
269
284
376
267
260
321
359
251
312
221
416
309
216
294
307
281
249
324
321
386
307
322
275
307
319
173
418
319
275
249
325
301
343
259
284
304
364
248
366
327
286
364
361
308
331
275
310
258
252
342
338
374
155
364
346
358
300
317
283
311
208
309
317
315
352
339
319
229
292
281
312
356
371
298
256
362
311
337
306
353
319
302
314
277
219
373
289
272
347
319
338
364
339
322
299
238
377
367
321
285
337
314
236
359
327
331
302
382
346
329
297
343
351
297
299
384
301
297
363
294
284
289
290
300
323
357
368
338
349
343
324
286
340
389
223
336
347
291
361
356
360
312
389
224
382
339
355
264
267
318
235
316
299
282
319
386
302
228
279
329
238
294
300
292
376
337
303
348
366
272
235
343
260
280
380
291
366
345
281
302
295
335
309
253
380
335
348
292
339
311
324
294
299
296
272
353
309
360
287
260
319
339
381
301
309
265
373
351
279
285
283
357
353
380
280
445
336
249
356
308
361
279
327
325
325
218
349
299
253
311
311
281
298
336
381
319
307
304
398
364
366
327
353
350
304
248
316
351
270
359
392
281
227
321
242
310
402
346
279
228
332
326
293
278
305
195
265
368
302
354
313
268
339
283
295
360
296
331
289
269
365
285
349
375
403
370
321
263
320
301
342
362
359
370
240
385
358
337
285
340
252
367
317
347
317
256
368
375
332
295
293
181
312
291
301
359
299
345
303
361
274
308
295
332
304
311
296
368
276
319
302
407
193
281
330
289
292
283
344
357
350
349
310
312
340
349
323
369
280
317
325
316
363
309
372
248
336
346
302
325
361
271
339
270
402
408
339
293
305
373
277
311
262
293
251
327
229
373
267
263
376
270
384
210
292
285
337
369
276
377
315
361
328
303
276
305
313
297
301
392
279
232
316
280
357
321
277
335
359
310
269
300
318
329
346
333
317
336
327
298
248
193
251
352
343
299
368
299
289
376
271
360
247
324
339
253
301
306
318
298
277
274
311
293
328
346
276
399
261
317
263
330
349
287
287
255
315
404
271
286
223
282
370
324
264
362
376
287
386
421
332
363
361
352
321
372
321
323
315
302
256
317
306
270
318
276
420
368
322
250
366
319
359
354
259
343
279
356
401
262
301
323
338
195
295
383
364
243
282
303
279
251
305
285
324
306
277
290
382
311
383
318
395
272
227
235
316
302
322
315
331
303
323
349
361
376
264
356
318
357
323
311
342
335
280
372
227
275
353
276
353
410
367
325
280
376
310
295
355
322
337
377
332
262
413
318
224
232
340
292
297
400
276
318
332
367
254
279
325
317
273
276
375
339
358
323
353
294
323
315
263
327
296
298
276
246
269
370
318
339
239
317
287
329
312
298
276
272
321
349
358
338
300
256
247
352
307
297
264
285
325
281
198
361
305
305
350
328
278
326
354
331
266
229
299
319
373
306
229
261
299
302
298
257
244
329
373
350
356
322
312
307
311
365
285
354
288
281
316
231
297
415
322
362
330
284
271
254
320
281
230
320
320
303
264
277
295
301
274
362
336
337
337
296
376
369
359
322
308
312
327
299
327
346
354
351
297
340
312
336
324
365
341
231
330
383
288
276
292
365
397
318
284
281
293
282
274
261
323
295
289
372
333
219
358
396
350
332
286
338
266
339
236
307
290
291
375
291
370
409
347
325
360
285
396
361
261
315
224
350
293
397
342
291
334
251
320
367
386
294
302
342
277
286
294
279
206
376
310
350
338
250
287
344
286
302
355
347
308
322
309
281
371
189
272
308
312
345
210
299
224
207
293
312
298
338
294
281
320
300
390
289
289
330
285
310
360
293
330
285
340
354
308
356
366
350
325
384
272
247
455
383
270
314
315
398
394
273
347
216
246
311
333
318
277
311
365
337
371
314
349
321
310
231
310
311
302
322
357
293
294
278
346
315
336
286
289
301
281
360
262
326
335
293
299
348
203
392
376
311
288
354
315
373
349
366
337
356
301
320
287
369
284
258
335
346
359
331
255
360
347
309
296
299
354
381
298
170
332
340
336
248
426
364
318
304
286
238
304
264
225
311
238
294
313
341
319
296
318
349
274
326
329
256
389
334
326
380
290
404
312
277
253
275
322
321
325
364
323
313
271
375
319
386
316
357
305
369
264
300
318
298
319
383
254
395
331
353
367
357
312
301
309
227
281
281
285
265
300
288
293
271
278
349
339
301
338
317
268
326
318
272
370
328
312
279
423
304
310
321
319
333
281
338
329
332
281
362
311
380
258
293
321
254
303
317
407
298
253
382
257
378
250
307
373
287
372
365
311
281
293
323
291
309
289
317
273
311
312
380
370
399
287
239
291
303
383
257
365
325
279
298
347
282
305
412
276
374
304
363
337
340
342
238
298
295
345
316
280
294
346
396
287
336
338
324
270
242
300
283
328
303
257
301
311
378
382
281
308
310
375
285
341
283
386
319
343
334
350
282
322
330
314
364
286
302
294
281
337
245
310
308
344
231
346
331
293
337
383
271
368
312
358
292
282
271
302
214
301
293
360
320
380
246
399
317
346
366
396
328
350
300
171
311
288
383
334
333
332
340
335
316
274
294
292
332
270
321
299
351
319
358
303
291
401
363
306
253
293
326
273
334
328
285
284
332
273
371
309
272
320
337
290
358
265
295
254
404
319
286
277
370
335
288
296
336
283
349
334
257
219
338
294
329
298
296
325
204
305
346
251
272
297
313
346
219
251
335
365
327
330
243
255
318
284
304
350
316
305
270
355
340
348
378
292
298
347
310
320
385
256
321
327
383
312
316
254
274
289
291
227
330
382
301
315
323
318
331
350
313
307
237
216
272
417
282
352
306
310
325
257
276
342
292
375
353
334
300
284
310
275
229
207
325
364
327
345
379
320
229
380
357
333
306
321
331
357
246
385
326
374
326
257
318
307
375
317
367
338
379
357
325
329
345
366
394
360
286
341
252
337
381
340
360
439
304
354
333
367
345
340
301
293
285
311
316
327
265
304
332
349
331
368
350
340
340
250
332
301
340
362
287
345
396
327
437
242
364
359
310
263
300
296
297
328
212
373
333
307
349
344
353
218
337
273
351
257
247
320
325
278
296
363
345
194
276
359
300
238
287
347
368
326
264
290
397
291
319
370
288
338
341
251
242
287
295
312
310
326
324
362
358
316
338
327
346
375
297
338
313
296
249
358
354
309
297
393
278
342
263
308
357
318
373
327
304
272
326
396
373
313
253
270
302
278
373
311
307
265
327
278
270
397
371
293
320
399
251
276
260
280
362
248
301
392
421
324
201
264
338
332
378
278
379
310
328
268
356
351
371
236
291
356
309
248
330
323
320
252
279
296
313
326
277
392
345
311
319
301
286
315
350
262
272
346
329
373
292
267
311
275
266
349
296
236
295
325
356
270
281
322
329
255
355
208
309
305
273
302
268
219
378
298
299
290
390
278
283
272
325
331
357
285
291
337
367
348
295
323
300
272
350
267
364
317
301
380
291
328
291
342
432
262
296
269
307
273
365
327
306
383
322
384
305
323
311
358
305
227
278
276
345
360
235
320
302
289
371
398
257
364
300
330
288
266
269
379
331
328
309
292
281
360
331
425
301
228
335
285
304
346
224
352
387
304
332
346
314
385
303
330
314
313
349
271
288
446
288
299
337
461
316
386
334
290
373
316
304
333
387
294
371
310
367
301
337
346
316
328
303
258
319
365
220
358
270
243
363
308
361
353
294
239
248
273
375
206
326
270
410
259
330
346
325
304
329
329
301
341
313
315
293
287
281
368
277
288
333
337
312
240
291
358
335
242
360
261
344
340
325
276
380
328
329
299
290
298
301
352
337
393
275
323
380
338
355
234
274
304
229
321
303
364
352
313
362
324
311
388
355
300
247
347
344
358
327
296
270
281
255
341
282
338
317
278
336
298
348
258
333
302
325
378
282
346
341
308
398
336
319
224
303
273
311
334
337
298
419
426
358
322
253
301
359
278
349
366
377
312
336
325
306
223
301
317
281
342
335
293
288
301
218
346
286
335
328
332
267
342
308
299
346
247
335
308
295
319
302
315
376
341
363
335
418
282
354
265
300
301
274
388
426
295
236
305
288
286
322
319
291
334
285
355
249
321
400
354
441
339
274
346
220
378
392
366
317
315
315
308
374
305
312
356
352
336
346
259
368
244
382
379
277
333
314
326
237
327
297
306
289
367
347
306
373
324
362
315
272
392
351
235
292
233
340
321
261
301
322
306
285
266
244
264
331
289
304
367
300
287
259
397
373
364
342
308
294
326
312
322
362
389
379
284
377
344
324
258
391
291
338
281
238
270
285
369
261
383
333
250
302
345
233
364
283
302
317
314
385
332
282
317
363
304
289
351
326
321
314
360
310
271
271
334
359
399
267
319
383
249
328
368
182
418
351
368
307
352
226
263
351
291
264
293
274
314
325
289
304
312
339
296
307
299
296
340
299
252
277
352
320
273
254
333
286
287
296
368
311
305
301
389
323
312
378
308
303
294
228
345
234
325
259
312
338
368
285
339
310
363
255
323
323
292
296
307
319
313
270
298
355
331
338
383
275
347
300
339
373
356
336
326
227
325
246
349
390
274
357
385
323
177
351
291
293
266
281
271
305
281
319
283
279
341
387
202
272
364
342
356
307
300
352
402
339
279
248
304
355
326
296
280
320
357
322
262
347
306
342
339
218
369
364
314
311
231
207
383
351
266
273
313
410
322
309
309
353
370
310
301
313
366
272
249
267
397
317
289
305
293
371
329
239
315
386
372
352
361
265
365
298
315
284
324
362
347
259
340
331
264
301
282
282
263
221
271
257
325
409
353
277
384
303
301
283
217
305
320
288
360
333
361
327
280
262
314
273
286
303
322
346
321
364
394
334
389
305
308
287
358
341
334
288
379
331
255
337
300
351
275
346
287
222
281
255
350
286
330
284
305
308
412
348
276
287
397
281
345
274
323
335
309
306
322
366
348
267
364
365
316
349
291
263
326
301
305
333
271
251
333
273
369
301
379
274
422
324
254
300
285
336
376
342
331
347
330
315
248
343
293
307
239
264
306
444
245
379
364
370
307
327
364
314
322
267
375
319
258
325
287
244
328
325
237
329
315
406
324
265
339
291
315
214
270
244
370
329
289
249
368
245
353
320
331
295
249
343
290
342
337
270
312
357
337
291
312
346
316
405
314
293
336
344
263
332
310
270
378
290
329
205
309
352
425
324
296
310
317
326
329
326
326
263
370
232
310
297
396
301
391
362
277
344
311
349
293
259
331
200
315
332
267
233
299
325
361
307
349
337
284
334
402
315
286
308
306
419
281
336
321
305
193
362
374
387
286
276
256
367
346
398
387
337
237
329
333
362
341
332
275
246
246
347
413
244
332
393
335
342
294
292
393
350
332
275
347
327
386
388
327
304
327
307
377
252
224
328
374
324
288
322
258
265
280
261
318
296
329
316
286
403
324
327
268
291
351
365
288
259
336
342
248
448
301
351
386
365
300
297
349
285
329
354
246
375
310
384
232
398
345
321
308
312
350
349
338
288
254
301
297
303
308
278
326
248
237
285
267
320
313
341
399
348
287
251
378
355
296
335
332
352
373
336
292
367
329
235
258
297
330
292
294
325
333
262
304
347
311
362
340
358
249
293
268
295
350
254
365
334
327
310
332
312
353
288
374
296
281
294
314
347
327
287
232
285
294
318
363
339
326
313
343
309
358
302
353
309
320
348
346
243
334
365
316
327
324
374
358
287
226
294
385
288
272
346
355
221
293
355
314
293
376
348
278
236
355
356
325
280
292
315
273
327
228
252
300
285
415
305
308
403
318
322
329
358
276
382
328
286
379
353
258
252
315
269
270
248
268
191
334
392
359
321
335
286
287
291
263
308
347
330
317
299
361
324
338
286
222
276
308
337
225
379
299
337
358
317
334
293
257
273
365
252
373
313
305
354
263
248
290
293
341
305
323
329
393
345
286
377
320
334
368
346
237
327
371
372
345
415
321
320
308
254
364
254
357
266
333
304
372
364
319
404
307
336
358
244
330
295
334
330
350
361
294
252
291
297
317
314
369
422
320
326
347
336
281
310
266
328
358
354
308
290
315
361
401
203
252
325
333
309
171
314
335
317
282
281
227
294
287
351
364
315
269
386
320
316
262
205
303
319
316
256
327
364
343
321
286
314
382
299
341
323
344
381
339
359
334
356
305
244
309
375
310
267
300
285
316
248
354
289
305
369
367
371
291
372
270
370
342
351
326
342
338
338
270
306
307
303
334
312
333
374
188
343
226
279
328
330
329
309
352
229
280
329
357
353
327
288
321
335
259
352
286
297
270
412
310
296
321
304
297
294
263
311
362
296
333
328
352
264
296
311
333
352
350
344
281
283
320
417
343
323
309
403
291
330
293
237
297
327
357
268
359
357
380
319
322
239
352
327
362
208
360
304
252
318
331
234
420
296
309
343
367
352
311
358
299
315
275
326
313
309
291
287
345
343
332
308
339
334
319
241
350
275
315
218
397
382
263
362
324
276
284
338
266
346
298
276
362
321
320
368
339
247
358
205
292
297
308
365
316
342
254
283
291
387
308
274
304
326
298
332
291
309
321
224
320
251
259
252
302
294
261
275
299
365
245
344
272
367
358
369
368
289
357
237
343
367
270
266
226
275
291
333
279
324
292
310
329
286
362
352
375
296
326
347
320
292
322
368
330
260
319
378
295
233
274
346
269
311
273
295
317
237
309
301
344
344
372
283
357
345
343
308
295
239
275
389
324
370
326
317
291
287
233
363
307
307
280
267
359
304
358
324
327
314
350
373
208
187
351
264
402
277
348
348
334
382
297
298
329
257
322
340
366
293
287
263
403
338
339
298
253
333
266
328
324
372
335
307
246
348
351
322
287
336
299
335
289
333
347
301
385
254
342
403
344
365
352
357
294
353
335
292
360
326
307
332
221
371
307
349
260
309
293
325
303
269
289
337
272
270
377
307
312
263
341
368
307
328
355
300
303
284
365
331
319
357
356
397
430
332
312
318
252
309
213
316
333
312
276
309
354
348
330
330
268
333
310
238
277
367
284
323
265
388
362
307
315
314
234
353
379
349
257
346
363
334
268
334
318
284
304
331
341
344
264
268
327
328
340
331
316
292
237
340
297
296
265
340
337
316
324
328
390
299
255
363
327
251
332
336
286
319
316
330
353
224
354
344
278
365
225
386
334
343
336
295
339
286
354
344
387
354
289
296
364
366
324
216
355
249
280
348
300
311
353
352
311
358
293
286
322
316
416
309
308
316
291
313
267
307
317
367
195
272
330
214
254
290
244
345
317
258
286
223
358
338
351
253
256
273
270
299
297
346
330
311
332
268
277
274
317
369
334
330
283
310
344
363
361
331
364
357
322
265
375
346
214
284
372
326
386
334
306
271
279
266
415
312
268
257
432
395
277
341
361
326
285
285
376
363
367
260
233
263
298
214
380
291
313
288
327
295
356
278
278
297
334
290
306
287
296
338
212
337
396
332
342
366
323
258
259
226
281
391
296
320
362
310
270
268
291
284
319
279
310
313
349
376
296
398
382
294
346
288
285
279
405
411
347
367
311
355
276
346
270
262
258
303
215
342
283
305
347
288
378
342
188
316
275
351
315
376
315
234
388
280
345
369
272
349
237
293
317
345
364
245
359
349
358
380
284
341
343
252
238
312
368
388
304
190
302
301
420
409
313
232
324
304
354
350
301
335
346
375
345
374
337
342
323
335
309
316
405
355
279
360
195
330
390
376
357
268
296
194
328
252
366
352
278
276
298
293
199
434
323
340
332
289
309
318
339
342
298
293
363
362
306
298
279
283
277
359
374
244
353
239
332
212
372
314
331
254
262
304
256
273
343
313
301
340
282
295
309
288
349
285
387
339
372
307
344
361
294
281
318
245
297
351
359
296
317
285
310
218
268
288
374
350
347
339
284
353
288
342
270
289
287
349
233
340
315
310
316
313
378
322
322
343
283
327
353
306
336
330
263
346
246
284
291
311
272
304
397
284
301
302
241
411
335
260
387
413
314
316
280
342
335
290
306
330
246
350
368
292
312
308
300
327
217
333
255
290
341
296
302
179
249
422
344
303
342
293
305
299
307
297
274
354
270
377
315
310
312
380
310
367
376
330
234
312
346
331
294
346
351
261
276
284
362
349
294
281
364
370
319
284
306
293
334
341
268
278
316
360
257
233
338
202
284
323
243
361
340
367
334
327
382
278
353
294
277
299
351
336
311
348
277
362
299
326
293
269
227
147
326
308
352
256
353
319
299
428
243
346
307
340
312
344
315
247
344
310
327
360
208
259
355
317
324
329
328
344
319
305
314
313
312
258
285
363
326
346
383
259
340
294
270
323
332
367
306
301
300
285
297
266
307
320
349
344
216
267
332
320
395
308
243
297
349
330
401
324
238
364
320
219
368
401
314
240
326
375
249
302
315
320
362
316
398
315
319
346
277
371
312
354
340
288
312
331
314
244
316
263
262
320
326
342
319
323
217
333
338
312
306
344
311
346
282
272
351
287
354
339
326
300
375
337
257
251
391
253
367
284
303
375
322
334
331
282
283
297
279
333
317
333
392
403
324
308
260
275
334
253
294
321
253
313
287
284
250
320
279
326
303
302
319
290
331
292
345
277
283
356
290
308
322
342
365
363
284
294
331
313
308
280
321
309
352
312
313
226
334
335
280
320
218
289
306
420
351
286
369
351
316
295
251
215
380
347
243
392
292
322
389
345
320
352
319
336
277
308
282
309
334
324
315
373
302
300
283
349
220
334
246
298
342
320
319
297
310
343
306
261
255
337
306
363
308
360
289
329
349
343
371
273
280
278
312
286
350
273
281
325
310
311
278
372
270
339
357
285
344
203
272
314
246
290
286
340
325
288
377
359
306
322
369
298
381
305
268
230
269
267
323
244
309
338
249
304
246
273
329
344
347
340
415
253
358
291
346
266
338
268
341
353
292
283
334
365
314
373
318
334
335
255
307
301
344
274
303
292
350
321
324
282
356
239
289
365
399
312
312
361
334
289
361
201
295
214
358
303
369
197
348
366
293
287
360
235
350
296
255
290
298
386
348
240
421
302
285
244
269
367
327
256
325
285
303
331
308
305
248
395
387
324
338
297
292
240
395
338
329
299
255
306
362
232
268
287
289
313
306
321
363
316
267
362
321
292
294
353
349
290
322
376
355
260
314
311
316
320
330
369
257
338
322
245
266
317
304
350
190
295
352
370
424
375
219
369
286
345
298
291
276
281
381
293
394
353
251
403
262
272
308
340
323
313
332
304
292
335
356
319
315
276
334
362
284
319
325
370
252
319
220
247
326
326
333
352
367
297
278
264
289
376
333
252
293
311
245
250
250
272
326
269
305
307
401
327
294
237
318
243
249
373
327
284
324
385
266
307
290
322
324
328
301
301
271
266
401
298
287
283
304
315
320
318
242
313
304
329
284
338
305
309
282
298
327
296
231
344
341
312
300
320
386
301
349
275
310
287
296
263
276
305
295
290
363
331
251
395
290
330
348
253
416
282
334
295
348
341
319
322
312
368
331
312
343
266
290
204
323
270
383
368
329
281
295
298
316
281
348
310
312
271
353
267
303
256
263
232
307
304
408
262
365
335
387
321
269
319
388
355
283
204
347
339
255
333
292
378
366
337
331
310
350
293
328
369
357
258
313
330
376
369
343
364
316
293
294
394
264
379
316
256
227
311
315
357
325
226
350
355
314
278
356
305
322
290
259
338
209
256
282
261
298
300
273
348
345
390
294
317
293
295
289
334
321
345
216
285
221
300
304
308
312
318
306
285
382
381
296
220
307
247
350
248
264
278
334
374
384
292
361
343
273
278
352
343
306
347
397
266
308
334
263
296
272
312
411
304
321
345
357
352
282
247
298
311
354
367
324
335
311
305
240
397
342
347
348
324
308
274
290
241
349
286
344
218
371
380
302
334
298
286
325
362
302
286
309
289
288
340
361
339
346
320
337
367
354
326
274
366
312
258
296
276
375
408
309
301
315
297
249
292
252
324
350
238
406
349
345
301
335
313
250
269
243
296
310
419
347
287
271
266
291
313
340
306
328
360
365
332
360
353
304
380
258
310
310
356
354
317
313
267
342
361
312
343
306
301
278
368
325
332
246
337
322
350
294
401
263
371
246
332
332
302
322
315
361
372
325
251
329
261
337
351
317
350
288
323
309
319
356
296
345
276
357
247
279
385
331
326
366
344
306
341
304
290
245
293
267
361
271
360
338
310
427
309
331
412
309
343
335
314
321
323
326
368
291
314
287
286
367
363
320
252
300
323
357
236
252
293
315
272
300
366
261
322
249
386
329
328
328
339
384
368
274
283
301
357
392
310
389
250
316
285
331
409
355
367
337
303
316
273
304
386
286
314
284
303
287
285
312
387
362
309
248
266
319
302
402
320
354
284
337
276
255
390
267
344
302
317
252
281
333
368
288
241
322
225
452
303
273
246
282
230
282
271
284
371
334
310
281
299
319
348
254
344
358
320
309
353
288
330
317
336
225
291
322
263
320
229
282
353
345
374
365
390
365
344
342
277
259
400
335
336
284
322
343
382
380
297
365
397
244
220
337
302
278
323
252
276
222
260
185
369
312
291
313
341
269
271
435
257
335
341
400
320
250
267
303
324
256
315
258
317
268
366
276
228
320
261
319
231
317
320
346
260
298
248
403
335
306
292
361
379
254
266
339
357
265
277
367
339
387
272
288
315
295
270
246
303
317
259
280
278
328
358
339
294
284
354
293
365
303
352
323
322
305
373
366
287
363
326
303
399
305
322
375
261
226
275
384
329
299
331
259
293
407
287
278
299
299
329
393
349
293
237
296
359
280
340
290
273
302
308
373
331
332
318
369
148
340
336
369
411
238
288
343
266
361
343
317
267
292
301
259
307
286
278
342
310
281
381
344
383
274
401
357
326
394
203
292
217
292
405
381
366
219
291
245
365
315
413
322
353
345
350
358
321
275
331
273
345
361
336
308
368
306
381
248
318
326
308
304
377
282
294
302
352
348
324
379
366
319
285
307
262
311
246
341
312
308
309
280
263
315
352
384
257
296
291
318
233
328
328
369
337
330
280
301
353
317
326
434
255
347
337
317
274
217
332
360
349
326
342
338
329
236
303
313
272
330
258
326
332
326
307
312
243
312
302
303
334
265
343
348
327
339
352
371
369
322
320
408
284
271
290
369
319
340
444
381
303
339
372
283
319
381
338
314
303
346
274
307
251
274
351
261
267
374
348
288
388
370
319
428
284
347
288
338
301
403
225
312
310
334
311
336
361
308
344
334
302
366
186
384
276
207
351
356
316
362
339
323
335
343
277
288
284
355
333
298
318
198
261
277
408
297
302
220
311
289
341
272
343
265
312
327
294
296
298
363
350
284
232
335
366
406
300
304
225
314
404
294
322
362
289
249
328
254
263
303
378
421
335
363
258
266
287
343
317
349
299
298
369
289
288
298
279
322
308
387
287
283
238
307
318
340
337
281
378
183
318
252
297
353
297
357
384
331
354
321
306
259
328
273
329
240
320
342
284
334
266
258
276
265
277
261
262
400
349
352
301
300
243
307
310
355
278
375
349
306
349
342
392
310
286
270
336
306
343
363
305
235
358
355
370
312
264
358
410
315
248
288
306
261
321
268
248
317
404
373
333
379
250
237
283
288
299
338
334
355
302
320
217
317
319
286
287
291
335
358
299
343
307
305
291
319
310
308
301
353
321
319
317
358
340
281
292
272
306
330
270
262
315
387
352
403
348
317
341
389
319
325
354
254
279
215
311
268
254
352
323
348
329
336
315
258
364
340
233
313
338
353
236
273
287
251
268
243
235
301
365
331
354
304
329
389
352
248
353
296
347
318
323
390
293
387
334
282
314
356
340
373
290
358
363
343
369
281
298
288
306
233
383
276
323
323
306
257
328
322
310
326
321
260
288
318
285
383
298
296
271
322
242
320
348
323
327
324
348
389
329
337
331
339
296
285
283
306
310
418
259
334
324
327
350
237
293
324
328
385
290
341
290
225
336
285
387
278
305
337
302
297
296
404
309
274
376
335
252
274
218
274
292
388
260
199
307
417
282
247
353
235
360
334
350
347
214
287
207
337
289
318
357
318
291
284
313
330
239
367
229
264
290
316
348
264
325
361
284
375
239
298
282
288
348
367
297
242
293
307
390
337
272
331
256
320
294
360
337
396
365
314
320
363
281
317
254
316
311
317
310
307
264
311
256
331
316
281
286
266
305
265
320
269
332
246
366
235
213
365
270
308
318
260
302
454
326
248
393
315
305
382
332
339
434
237
253
309
321
275
393
297
302
310
279
264
375
333
295
367
316
319
285
304
343
316
320
292
297
328
355
312
322
265
298
366
319
309
346
368
360
376
337
325
314
313
396
335
325
359
309
342
350
294
307
360
329
359
309
269
357
322
278
349
332
301
322
261
313
348
264
290
220
268
379
264
307
293
326
318
281
222
312
314
246
379
332
368
225
315
226
310
308
323
261
322
367
290
308
296
324
371
369
383
280
341
284
286
246
279
341
185
304
332
269
231
357
360
376
221
415
207
325
350
273
323
317
367
360
343
312
303
305
238
277
316
315
339
371
316
262
296
290
357
344
220
339
378
388
272
261
309
315
307
349
340
336
359
314
273
354
344
361
334
342
267
352
275
295
273
272
288
295
325
305
295
236
303
324
288
276
304
258
404
296
190
352
313
297
362
328
403
397
357
310
267
329
359
404
337
280
342
339
284
384
337
237
358
288
301
333
389
232
302
323
362
282
306
289
374
271
273
302
292
292
323
314
316
400
304
281
390
342
323
305
351
254
266
297
345
216
432
337
234
387
325
249
296
356
338
333
218
335
293
325
324
229
331
313
300
373
217
275
318
314
313
288
260
337
243
371
282
342
316
313
280
373
364
283
309
333
290
310
327
312
290
246
285
298
352
287
306
346
253
298
292
251
355
270
291
372
325
218
246
311
342
371
235
330
410
280
273
234
260
337
300
268
278
308
334
282
379
236
344
316
295
315
334
279
297
330
394
313
328
319
336
320
287
321
301
321
346
320
295
288
327
333
393
329
293
323
287
302
371
238
303
350
360
367
306
362
336
348
372
321
294
339
313
303
281
390
303
276
355
353
311
339
366
355
333
427
395
348
339
317
310
204
312
348
255
290
331
366
286
364
322
316
273
258
280
306
245
358
351
396
297
269
229
344
334
294
288
424
256
296
396
326
379
292
298
304
353
238
304
345
357
266
322
267
343
335
270
313
268
282
353
276
341
240
373
381
384
381
327
313
316
368
394
257
241
260
299
322
385
284
299
277
327
336
320
324
244
430
306
379
313
352
243
279
299
304
297
366
282
362
279
323
337
338
283
334
290
261
341
255
231
321
279
377
385
286
338
284
286
344
269
354
257
273
290
243
290
307
327
302
359
315
320
328
315
318
359
385
280
302
333
342
242
323
305
345
346
284
309
364
297
278
299
291
212
290
253
351
390
295
362
282
289
317
281
310
369
342
290
257
239
317
335
253
365
290
323
333
276
269
324
275
378
365
381
279
340
279
293
220
352
328
388
213
336
259
317
312
390
326
272
310
280
265
312
361
331
344
413
322
243
354
414
350
258
292
380
362
324
337
309
254
382
338
326
333
329
360
364
329
337
330
330
306
343
220
320
333
309
355
355
334
328
311
236
380
300
294
339
302
268
310
329
266
328
347
288
310
262
369
308
302
302
375
343
338
335
327
244
306
297
373
307
329
245
283
267
249
303
372
344
299
320
326
225
337
397
330
297
355
392
344
346
266
303
291
313
284
290
372
364
341
295
314
339
296
249
328
377
324
381
381
319
348
353
277
377
350
271
288
309
233
345
321
291
363
225
339
227
254
338
319
332
335
317
354
330
290
349
368
321
331
351
373
383
287
335
273
322
320
365
293
330
294
320
350
348
299
396
357
323
339
416
339
239
304
358
301
343
315
365
321
275
290
316
275
323
328
288
265
325
346
284
371
376
299
296
316
401
235
355
293
273
283
383
273
321
305
317
369
213
306
230
315
224
343
317
352
282
321
334
278
277
311
257
237
323
361
271
282
366
300
377
279
273
296
269
301
298
340
237
352
312
349
357
238
288
315
287
355
340
298
274
285
337
301
259
258
333
254
278
328
298
240
261
325
394
314
322
332
335
345
320
309
302
307
318
305
285
292
289
313
294
314
269
344
308
286
266
340
238
328
332
353
225
376
355
367
281
302
302
304
314
326
334
285
335
249
368
340
242
230
321
305
224
347
299
363
330
317
327
251
316
338
280
270
389
380
370
283
266
325
347
240
343
355
331
320
372
291
274
323
373
339
313
349
321
340
321
336
239
282
320
374
315
331
273
333
323
290
244
323
350
298
256
290
384
319
327
271
336
370
389
219
309
300
267
289
281
273
259
233
329
312
297
316
349
283
270
301
338
265
257
333
273
307
303
351
349
336
265
297
356
325
400
311
253
288
270
325
317
250
322
251
352
287
325
375
329
307
276
228
243
351
309
295
367
263
223
316
335
271
238
306
349
342
365
306
335
299
271
337
353
295
271
281
249
306
336
415
324
292
293
246
291
411
330
350
338
301
260
299
275
382
307
282
342
320
352
381
365
264
388
251
337
306
318
305
297
292
308
290
328
385
299
288
363
281
347
290
374
334
287
379
365
279
314
301
316
312
267
336
331
351
355
351
424
316
361
303
386
311
289
273
314
285
296
326
374
268
315
259
353
424
313
354
299
310
391
299
326
259
324
346
306
250
384
244
307
370
291
357
270
327
316
367
320
337
246
300
397
301
364
338
291
306
288
303
316
368
316
317
282
297
279
247
379
340
355
294
289
334
300
333
274
359
337
350
264
262
394
286
298
232
354
297
354
264
300
247
331
252
383
342
309
302
280
343
291
295
400
268
268
306
303
277
283
281
315
269
402
309
301
281
390
354
293
346
312
332
307
332
314
287
302
369
364
266
302
260
272
261
339
321
382
329
315
310
296
349
295
233
308
364
360
309
396
291
324
390
381
296
307
344
396
254
241
246
316
281
332
272
318
305
360
355
337
257
268
340
201
299
254
321
270
340
320
315
305
319
365
262
293
325
333
435
319
228
317
353
324
320
253
320
279
360
263
353
337
368
374
297
386
386
334
236
342
245
358
297
303
380
323
231
293
319
172
318
274
262
333
282
218
338
291
244
339
286
298
371
218
378
297
388
358
292
355
321
342
222
306
354
285
314
308
258
306
296
329
310
287
338
238
325
223
367
218
365
379
235
293
339
225
367
236
271
306
248
362
278
356
337
349
277
313
316
325
340
361
309
268
285
419
321
303
357
303
291
346
353
366
295
291
312
362
294
310
245
310
262
287
223
332
320
293
295
377
272
297
339
369
252
382
346
230
337
333
378
335
383
307
305
318
266
350
274
353
452
318
294
304
293
336
319
256
244
250
295
372
302
338
372
312
304
366
333
288
336
316
392
267
308
282
287
340
301
383
380
282
269
310
295
299
319
322
285
324
320
322
327
281
306
300
274
332
224
214
322
287
335
337
340
332
345
208
266
428
261
353
335
376
318
318
361
290
341
352
237
230
206
313
336
309
352
308
265
301
292
360
249
347
344
391
308
318
298
353
315
258
325
341
351
353
321
226
359
336
313
302
394
294
289
293
258
265
255
370
375
275
305
387
360
348
301
350
357
292
287
285
352
266
297
299
314
308
316
286
214
305
380
350
374
292
301
348
281
270
287
310
367
276
313
333
338
343
354
294
306
302
346
305
242
316
368
244
340
313
325
343
306
271
355
235
322
332
302
330
316
319
339
357
294
321
329
241
355
274
308
335
273
363
373
337
334
302
337
278
200
359
230
288
356
262
255
265
290
280
267
309
382
296
248
278
330
349
297
277
375
348
345
363
263
338
278
270
326
289
341
378
241
299
363
282
301
332
337
303
394
262
299
365
255
343
277
409
337
323
319
330
276
243
342
347
244
216
352
236
318
401
296
387
341
258
438
362
321
346
367
308
170
364
323
322
320
218
323
278
301
340
309
300
293
357
255
329
350
360
306
358
379
340
295
325
299
286
317
310
276
251
379
358
282
362
352
265
318
370
250
335
397
331
295
371
337
287
299
295
307
364
311
339
268
308
309
332
341
304
404
324
283
252
291
290
311
317
274
327
349
370
401
223
307
295
337
313
258
319
323
276
316
322
276
279
303
399
331
299
282
230
269
353
308
378
322
333
243
331
246
279
311
353
376
430
308
230
291
320
383
280
295
345
249
383
370
398
308
262
238
348
420
312
313
259
283
369
419
306
279
280
317
279
375
302
318
313
296
289
350
294
284
371
302
337
329
300
311
325
242
374
362
242
386
360
369
267
247
351
311
290
305
323
343
323
402
382
262
347
240
332
361
323
302
271
264
416
292
312
352
288
238
354
263
267
354
255
228
364
308
316
374
343
378
333
302
289
296
424
333
272
324
339
327
374
268
358
291
291
297
288
357
320
352
323
287
191
324
271
382
372
350
258
263
347
322
307
312
230
218
310
282
377
271
352
317
335
234
346
345
290
302
301
303
336
346
291
227
323
346
328
285
267
338
265
329
213
344
266
259
293
330
332
339
273
384
394
315
405
357
319
260
323
280
382
232
320
298
298
288
331
326
361
352
342
285
338
287
307
317
290
308
272
288
346
345
295
348
281
305
369
375
310
312
271
377
355
351
334
302
270
349
240
385
346
309
294
301
281
233
260
277
393
280
288
274
343
349
395
294
247
298
337
237
234
410
342
373
318
315
343
313
263
368
299
269
264
274
403
280
351
322
343
329
318
300
300
250
368
291
260
294
339
283
258
353
297
212
285
326
322
268
315
298
305
301
306
335
276
314
407
341
374
314
280
311
297
234
328
309
348
304
242
295
324
348
213
228
316
404
265
286
343
233
339
290
331
332
324
279
404
325
286
345
289
405
375
318
340
370
331
292
362
315
294
290
252
274
318
393
202
316
304
300
349
251
334
413
304
336
301
326
329
325
301
245
340
303
241
304
348
241
366
304
323
253
316
261
326
328
314
232
382
340
354
302
308
355
295
268
295
360
295
275
366
405
248
267
276
263
255
299
297
315
379
299
304
394
368
313
297
398
310
353
309
346
311
279
393
255
295
331
320
309
351
411
320
254
348
280
402
292
336
312
360
343
325
307
307
396
249
367
296
283
243
250
271
360
349
369
345
390
333
375
228
248
363
316
316
331
339
337
352
349
360
360
309
343
311
342
342
316
273
308
317
334
267
354
297
314
251
319
404
293
301
323
297
310
302
318
341
362
323
297
338
300
277
281
345
329
205
293
301
311
345
221
342
202
299
343
334
231
368
298
357
320
326
315
342
277
231
305
340
308
282
382
291
331
299
241
240
237
362
302
374
236
293
221
243
334
389
300
338
357
297
327
370
277
304
349
313
368
371
326
365
279
310
361
265
285
370
342
338
282
283
336
223
316
360
335
338
186
308
323
305
352
297
321
347
367
342
247
315
330
337
213
333
309
305
394
268
333
325
359
310
266
369
285
375
286
306
391
282
365
320
416
382
304
333
294
359
291
319
403
362
280
295
312
425
348
365
314
326
341
303
296
329
325
295
310
309
296
348
275
274
293
307
298
412
371
282
372
359
342
306
365
352
320
305
380
255
413
343
367
331
327
321
312
303
353
364
245
333
384
259
295
228
340
311
319
361
383
233
277
294
374
367
332
270
347
239
332
288
353
323
297
371
234
282
323
338
310
301
241
224
356
181
416
275
323
365
370
326
297
247
393
249
342
327
402
255
353
339
265
362
346
352
351
289
340
208
292
281
359
369
293
315
299
311
302
313
254
321
341
307
296
344
400
358
291
298
284
322
268
360
244
237
301
311
249
318
288
295
364
332
341
370
303
372
264
347
339
274
315
351
325
199
272
313
279
348
303
328
394
415
369
331
229
302
322
403
360
255
315
389
346
368
363
314
261
324
279
334
317
444
317
353
318
373
366
298
314
249
307
292
361
416
252
284
347
331
332
333
280
280
365
302
370
341
409
296
313
388
285
327
300
341
296
347
267
290
398
363
342
341
252
294
319
405
234
272
402
288
276
324
359
307
342
253
242
293
418
356
374
303
284
323
331
343
337
316
344
290
321
386
278
318
268
329
383
214
280
354
345
331
307
275
293
316
288
272
324
250
351
338
288
347
227
277
209
314
300
330
291
354
263
278
310
276
355
329
302
307
367
420
215
363
297
335
356
340
361
360
213
383
357
259
310
331
260
336
354
365
260
304
302
331
235
319
293
372
284
366
258
362
317
392
312
367
338
349
326
269
365
370
315
301
260
301
355
341
278
294
252
299
359
350
325
360
378
247
293
337
302
323
285
241
283
246
302
292
258
314
349
271
276
241
280
291
250
296
280
329
360
348
340
232
351
377
352
330
320
275
336
202
381
343
229
326
257
294
329
360
359
373
261
249
336
299
317
300
340
285
318
249
364
276
258
329
314
383
319
286
346
321
260
326
367
452
343
275
286
350
281
302
291
375
325
378
314
357
347
269
355
290
282
338
298
292
348
293
325
281
326
289
324
308
374
350
281
277
355
289
354
321
261
351
335
271
266
346
269
311
328
235
344
221
403
275
347
336
264
376
292
323
319
324
299
291
295
336
254
245
365
353
264
399
198
318
278
239
344
352
330
312
234
222
379
272
263
348
360
426
403
408
337
353
284
249
309
288
305
359
243
281
371
229
308
365
284
356
322
283
325
375
339
227
385
315
329
325
255
324
335
362
203
303
350
296
357
385
278
255
370
362
318
279
338
317
349
296
292
230
226
412
303
366
362
315
369
370
356
345
374
357
305
273
367
298
323
248
320
273
348
310
328
293
322
260
374
285
292
326
361
342
264
331
283
382
373
442
265
312
307
263
296
251
353
362
347
264
195
329
347
332
342
292
326
359
331
360
291
388
308
321
434
282
305
411
320
304
310
374
349
269
252
368
339
350
249
297
296
337
217
318
324
342
277
181
308
286
293
302
286
273
242
248
321
273
322
317
362
295
345
267
280
308
377
335
240
387
348
336
383
337
278
328
251
359
325
293
327
351
363
294
229
312
310
310
326
353
429
295
329
313
305
303
321
240
386
253
284
283
374
315
333
249
269
369
256
322
342
232
412
317
393
422
335
289
293
297
245
326
326
313
293
310
305
302
350
352
356
389
325
232
266
357
319
239
329
281
315
279
292
267
294
365
310
278
331
300
279
272
299
283
403
293
285
311
309
241
348
301
278
357
300
347
285
286
313
259
336
347
317
184
340
299
350
283
374
374
328
379
266
389
245
223
370
305
354
344
308
379
393
334
294
317
316
381
370
341
312
379
326
302
258
310
289
346
279
312
211
371
273
265
319
373
303
327
324
305
311
320
317
341
318
351
346
291
266
274
295
286
408
258
313
394
286
223
328
327
315
351
273
385
265
247
246
370
303
340
309
347
320
324
298
334
345
247
401
297
221
299
295
287
360
281
314
316
365
348
349
346
306
371
348
279
272
264
286
299
297
448
326
333
314
228
323
373
273
362
293
342
367
311
282
296
328
321
399
395
249
289
320
317
314
297
312
258
379
346
362
342
325
312
377
292
346
350
303
338
288
321
267
340
310
316
404
307
343
318
318
417
363
362
305
323
320
305
328
289
326
350
293
357
314
291
350
381
334
319
388
316
403
319
354
432
327
280
261
360
260
253
263
406
393
360
322
283
316
311
294
294
328
350
286
319
245
316
372
205
221
313
345
357
243
282
380
303
294
350
272
338
216
343
330
338
291
252
328
365
202
209
207
325
406
220
356
238
320
357
291
382
366
344
311
316
283
338
366
370
399
300
332
361
303
288
379
210
305
298
385
233
328
317
309
329
293
221
264
313
306
335
305
360
241
302
399
260
281
372
309
344
268
304
319
394
315
321
301
358
202
341
266
368
323
355
292
293
358
287
321
383
280
267
290
307
248
322
249
384
362
327
375
244
305
350
334
319
343
343
342
336
388
300
350
390
307
356
338
351
359
321
321
311
273
255
326
256
363
291
327
350
357
354
293
359
309
338
347
280
453
298
304
292
324
372
308
277
246
335
293
355
318
355
428
369
284
339
370
241
307
322
310
337
332
333
289
327
277
252
291
376
323
346
405
321
407
333
284
291
258
336
307
322
240
268
302
280
326
392
353
294
323
347
285
212
291
351
304
297
312
316
337
309
321
301
334
370
374
363
311
311
349
325
334
372
401
270
306
309
233
203
282
311
343
231
282
296
273
380
306
205
323
406
334
299
332
230
416
299
280
296
318
296
314
288
355
226
248
330
336
220
322
306
309
341
226
405
298
364
258
374
369
237
240
346
371
339
392
226
262
357
278
272
358
367
352
313
228
305
373
280
270
305
343
301
289
366
309
292
236
327
350
313
327
371
304
370
318
316
340
269
244
392
295
265
370
287
270
352
283
331
347
340
253
328
274
343
296
267
370
349
310
373
271
324
283
379
274
250
301
319
324
276
319
269
324
300
328
305
294
284
351
426
274
321
295
354
249
322
269
430
375
311
285
296
257
259
335
348
304
370
227
355
343
259
269
352
286
304
323
263
265
322
329
370
320
313
337
311
366
300
367
359
279
320
297
260
399
308
304
300
311
300
346
367
356
303
361
237
193
389
281
328
325
304
332
301
368
290
273
352
288
293
311
368
270
351
351
378
402
306
297
296
271
256
278
282
243
285
250
188
323
315
275
428
363
312
295
280
275
338
306
310
334
262
265
343
309
303
423
333
354
328
271
387
333
313
251
283
320
378
236
401
378
310
416
334
273
312
342
324
303
410
336
250
301
273
353
387
282
334
324
294
328
334
329
301
291
303
391
231
256
203
326
331
257
327
310
239
304
372
344
311
270
348
276
243
360
246
350
272
305
306
381
289
314
375
331
362
294
362
227
262
250
222
255
251
323
321
354
303
296
372
356
387
318
290
289
332
307
280
252
340
236
326
363
246
358
358
277
333
257
368
322
316
309
300
334
370
303
331
306
330
358
314
377
362
279
269
247
296
317
250
390
291
389
318
285
339
351
290
265
322
309
364
358
337
268
280
284
343
335
335
268
309
309
313
358
326
331
310
268
336
300
262
267
301
296
292
314
317
287
305
326
344
303
284
291
334
385
209
334
329
395
300
348
338
253
344
376
201
331
367
277
252
277
294
360
286
383
309
352
350
357
220
336
326
300
312
376
338
281
384
336
337
370
402
298
250
276
330
262
306
253
364
328
315
352
275
384
387
347
319
211
349
241
392
320
384
297
379
209
244
339
284
322
248
274
295
323
322
300
301
262
274
296
256
361
316
313
276
364
235
307
323
380
327
331
333
267
335
320
359
328
392
347
260
275
245
297
312
272
254
307
331
333
267
290
308
329
302
323
186
302
329
324
286
344
342
407
280
236
279
413
334
243
350
345
374
331
337
331
345
329
346
327
255
362
243
346
343
337
346
295
322
333
347
369
352
357
360
375
335
299
346
323
270
260
341
303
238
312
268
297
323
295
324
341
302
277
360
289
392
291
359
310
297
308
242
254
361
346
313
322
315
357
287
247
317
370
301
287
332
248
354
336
315
334
310
337
306
340
336
297
326
307
330
369
360
368
344
298
293
313
306
309
310
351
298
362
264
271
290
398
373
390
291
370
287
254
369
417
215
352
365
298
300
311
255
247
280
330
241
350
270
353
309
273
341
305
359
319
286
390
353
306
278
310
292
297
381
288
236
290
300
352
401
317
336
329
374
411
302
343
278
306
321
261
297
245
359
353
298
271
342
403
316
291
350
257
304
389
310
312
322
243
291
297
322
329
355
291
323
403
387
282
336
314
371
293
327
343
295
293
321
275
305
276
345
294
345
329
306
306
347
348
282
360
322
322
343
338
318
254
313
305
252
273
285
213
216
312
425
363
274
300
268
339
304
297
334
368
366
263
330
359
278
297
298
377
338
315
348
327
274
279
377
359
233
299
359
371
304
348
285
353
339
327
251
342
298
319
374
278
348
330
356
289
274
339
318
323
265
292
346
294
304
368
343
297
322
334
340
371
227
329
315
274
327
362
311
281
333
255
311
262
335
360
300
285
353
374
348
384
305
381
279
336
325
211
336
341
334
350
358
245
296
416
304
264
319
341
381
270
245
280
294
310
320
348
311
252
348
309
365
314
360
287
316
320
246
314
374
332
347
457
378
337
272
337
284
309
298
273
325
326
253
319
292
283
302
240
349
289
285
335
369
340
296
289
346
391
387
293
316
285
375
284
335
341
301
309
329
305
267
372
340
298
250
320
347
348
279
342
295
350
371
320
317
332
329
317
253
352
345
389
330
334
372
270
342
328
212
348
278
323
370
347
263
369
340
324
301
273
345
362
292
359
254
416
265
225
297
375
292
319
364
405
310
315
263
364
277
329
417
252
296
343
299
320
333
266
341
215
416
416
313
348
283
337
406
227
283
320
307
329
271
334
343
276
326
378
313
278
361
307
340
317
367
231
348
324
334
318
337
381
365
323
348
305
290
345
371
401
317
357
345
310
296
260
326
321
296
367
252
360
256
363
340
333
386
317
267
364
286
306
263
370
267
232
328
313
345
321
422
378
354
284
310
276
333
333
393
304
317
303
283
298
406
342
206
404
240
278
327
311
266
331
286
324
325
293
286
333
320
378
342
333
295
355
314
307
373
345
319
348
361
266
340
309
215
281
365
269
358
292
280
299
327
335
312
346
266
290
316
414
455
300
216
300
267
364
361
245
260
262
317
310
299
359
329
267
340
302
283
405
313
394
306
333
371
292
287
284
299
277
238
256
326
308
253
302
367
346
275
343
295
340
312
336
280
404
301
257
376
304
290
272
279
238
251
232
322
350
292
354
259
304
326
299
366
408
202
312
316
272
334
265
308
397
366
344
325
329
352
260
348
329
305
293
285
344
314
337
356
217
277
303
243
296
259
319
332
374
333
262
288
341
290
356
233
373
347
360
349
244
303
257
326
322
271
396
310
373
263
279
218
302
319
347
328
305
328
327
248
343
290
289
298
284
208
356
312
354
314
230
377
271
287
292
275
292
283
339
313
268
374
289
352
375
339
322
355
303
334
392
279
253
290
265
286
231
258
329
351
310
319
264
342
277
263
353
328
340
307
283
303
322
317
257
277
248
299
323
246
245
317
240
359
296
294
378
310
312
369
346
412
368
338
371
358
320
286
270
267
259
358
254
308
261
344
314
375
240
295
432
257
302
378
379
311
335
350
319
334
323
365
340
292
290
401
262
323
361
341
289
317
335
300
389
247
340
374
307
347
298
414
285
282
332
330
338
322
300
326
280
366
343
349
273
369
374
333
337
319
318
311
338
276
277
361
257
387
286
384
353
314
264
297
284
232
337
318
314
318
304
286
256
318
246
377
317
344
343
263
300
279
286
292
400
399
270
262
284
325
363
319
385
294
272
295
326
375
266
357
356
329
315
351
290
325
299
334
263
330
328
343
236
263
264
260
359
292
340
341
338
292
329
273
330
336
340
297
293
318
349
312
281
328
348
312
327
360
276
278
384
334
305
311
348
361
319
314
241
303
285
296
288
280
340
281
321
363
334
314
279
274
271
302
277
279
390
274
276
307
270
362
383
313
315
279
322
343
362
283
406
255
313
256
324
350
285
357
327
334
305
276
378
317
301
306
354
326
336
338
230
318
288
331
297
347
327
330
341
256
295
346
262
373
345
314
265
356
316
294
315
310
233
317
337
352
403
280
376
371
304
375
284
312
300
364
270
302
414
362
371
234
311
255
300
253
324
341
269
344
325
322
379
348
236
281
295
305
303
336
343
315
378
293
359
327
271
322
299
352
358
315
301
237
281
400
314
244
252
340
259
251
371
312
304
308
332
325
298
338
289
280
378
373
299
378
337
332
291
277
316
316
237
290
325
304
236
355
300
305
389
322
264
307
251
235
273
353
335
286
255
321
256
323
210
362
381
371
361
376
331
356
239
354
326
211
295
447
278
371
275
380
315
397
403
315
292
353
273
308
341
211
318
350
316
338
303
292
311
308
386
322
357
397
283
411
396
309
326
296
293
334
292
283
318
310
305
349
264
313
288
312
229
343
288
343
318
394
351
319
376
248
281
334
304
251
289
252
375
312
281
305
330
324
358
296
324
319
297
406
346
321
314
338
364
356
289
369
350
335
309
391
300
373
356
324
397
316
308
288
342
302
251
288
333
313
309
286
307
374
331
317
275
298
357
243
394
312
338
347
311
236
341
275
236
347
342
371
301
270
318
343
319
266
237
283
359
335
263
365
297
316
335
258
273
394
286
317
271
305
234
313
293
309
328
310
348
369
373
326
368
304
311
312
252
259
263
329
311
308
325
335
316
265
227
309
252
310
271
404
345
376
325
274
310
250
287
359
326
336
317
260
259
247
279
295
246
348
345
287
312
287
389
303
308
341
245
327
410
260
241
307
248
245
302
360
388
424
312
330
292
333
297
354
320
379
170
285
336
381
319
290
284
351
309
284
237
329
317
287
311
427
350
298
382
377
270
294
266
344
331
343
303
344
263
349
313
326
332
293
296
313
337
264
271
322
332
310
315
315
273
256
320
362
265
316
293
368
342
283
287
253
308
285
254
357
342
353
265
339
290
323
356
302
287
263
241
232
296
391
390
353
277
301
308
343
302
383
328
276
346
276
382
381
349
305
341
313
333
297
326
304
336
397
272
410
362
278
337
331
274
332
309
292
364
277
289
366
365
236
307
270
290
282
295
374
298
336
250
296
242
278
366
303
309
271
358
340
300
236
342
334
351
317
224
257
262
221
291
380
264
379
418
379
352
283
260
329
392
316
328
241
416
359
378
363
366
332
342
324
295
303
314
203
270
284
322
321
352
218
375
303
356
302
343
286
352
296
221
277
250
307
324
391
375
406
420
306
413
296
293
211
289
270
228
316
353
284
203
220
350
311
381
351
308
334
362
362
259
323
200
278
293
339
371
273
263
320
291
289
346
288
365
301
286
310
389
271
340
313
242
367
284
348
332
322
346
377
355
301
308
282
365
301
280
307
300
290
370
307
268
405
353
301
381
267
302
258
322
261
236
336
314
321
273
266
330
248
221
278
248
323
348
287
345
340
221
386
330
341
353
299
323
279
287
361
360
307
245
331
273
362
240
367
389
369
335
245
301
270
326
304
356
331
285
243
289
393
349
262
232
323
353
276
251
310
374
341
355
281
383
250
322
327
387
264
304
322
372
269
309
268
267
336
249
357
291
343
318
287
216
300
342
256
294
314
316
253
272
339
324
366
364
350
337
322
344
271
270
271
281
215
228
305
349
339
307
292
300
349
214
266
271
302
350
352
268
283
236
367
293
329
448
291
353
338
349
384
328
390
209
338
347
308
393
371
323
297
311
387
262
299
323
285
307
362
267
243
304
272
325
366
280
396
296
319
323
288
307
310
295
339
262
283
310
282
348
307
364
328
304
360
257
324
342
321
333
289
306
333
275
296
374
241
315
326
277
347
353
279
350
275
331
313
398
306
318
314
362
321
298
302
316
298
335
265
292
284
324
315
364
324
318
267
306
334
291
378
338
278
282
319
269
287
299
330
280
328
349
288
309
220
348
355
286
319
281
303
288
311
297
339
368
227
262
325
267
312
250
256
306
353
328
310
354
310
332
354
285
349
253
237
276
271
339
277
322
325
316
297
362
288
329
264
309
401
327
325
276
281
383
277
288
295
221
311
276
302
344
238
322
288
246
293
312
346
344
353
290
320
306
287
314
259
294
329
283
274
373
301
351
370
308
295
300
305
328
288
281
353
275
375
301
390
286
338
356
316
436
301
340
365
294
332
385
308
329
350
295
299
291
325
297
367
264
390
323
348
329
313
370
324
373
374
310
313
272
254
402
235
360
264
379
305
293
315
259
360
296
347
306
229
310
374
244
254
320
355
295
311
281
346
367
396
317
273
320
258
371
329
300
331
336
299
393
374
361
313
335
303
314
372
424
417
370
266
287
352
294
394
356
242
294
402
378
324
277
348
289
249
346
280
379
303
248
420
365
315
203
266
368
330
230
348
314
314
301
323
227
332
302
233
351
391
298
335
349
304
262
354
291
267
340
397
334
262
334
224
353
299
327
351
314
344
349
327
373
273
286
363
361
312
248
297
368
363
335
392
396
337
330
342
303
421
295
359
371
321
314
321
281
302
275
262
391
298
360
385
357
374
300
357
255
348
314
331
307
419
301
340
312
333
256
317
292
361
372
325
251
422
325
286
337
328
280
356
324
281
340
394
262
386
376
408
220
332
360
340
377
376
320
277
334
377
317
382
276
337
249
311
302
282
334
315
334
254
386
289
267
300
343
289
325
347
345
342
359
306
297
341
294
260
327
315
301
387
297
241
329
288
366
304
375
352
222
358
242
277
303
270
402
302
289
288
276
374
334
346
296
336
384
386
234
238
400
317
335
421
292
352
299
367
373
412
332
259
253
312
350
280
343
231
242
248
280
253
367
261
379
297
318
352
338
248
388
313
306
319
326
412
297
379
368
337
290
308
324
356
296
318
304
306
396
367
301
348
285
409
312
217
286
281
321
325
253
332
346
341
275
313
220
354
338
255
263
296
309
357
348
344
328
298
275
311
297
278
277
242
349
285
361
394
351
281
289
266
364
298
335
276
350
292
331
269
377
311
303
359
246
348
334
278
327
274
336
344
270
326
224
306
293
319
306
309
337
360
335
326
293
229
234
379
315
308
315
347
335
271
359
299
347
270
342
272
274
333
267
265
364
210
355
359
343
338
377
361
324
393
251
339
184
276
201
397
244
356
280
263
288
305
341
414
401
283
277
253
326
267
323
263
330
344
276
332
394
247
314
324
262
349
324
290
285
430
330
358
363
341
275
305
351
318
280
326
315
201
304
307
224
393
346
329
285
381
318
381
311
302
341
334
330
247
291
244
394
351
333
298
312
309
252
331
336
248
300
354
351
351
376
374
262
369
326
360
322
345
270
277
279
261
236
308
365
299
341
344
287
294
348
298
202
359
342
379
297
282
297
322
298
314
305
260
266
353
327
358
292
348
282
384
283
282
315
285
289
274
343
361
319
281
272
391
377
311
371
348
247
293
317
329
408
274
348
312
332
408
336
297
315
378
351
291
277
342
350
285
307
263
279
324
385
241
332
220
258
310
320
243
291
267
338
358
297
319
309
385
359
287
311
371
341
335
318
342
214
363
246
343
292
297
307
327
315
349
318
300
315
327
315
266
295
302
296
366
388
344
288
385
418
333
343
240
303
293
298
347
312
296
268
355
240
279
284
284
287
272
223
347
367
315
353
245
372
307
238
311
327
361
290
319
289
258
331
276
265
296
391
372
298
322
288
329
300
341
364
367
279
248
247
398
273
340
337
347
253
416
294
268
221
300
273
353
355
311
286
263
351
296
303
328
370
300
320
322
318
324
326
358
353
314
301
253
320
298
342
313
286
385
285
274
336
325
345
350
306
370
245
347
316
311
295
376
336
326
333
394
225
368
258
396
349
262
294
242
341
321
272
325
292
277
359
291
269
259
336
406
284
298
274
335
306
271
317
335
326
330
260
312
310
337
348
349
303
262
290
343
344
375
339
320
327
282
305
304
282
358
322
238
264
293
328
330
372
344
351
388
367
277
319
367
343
343
283
280
350
281
307
355
361
301
319
312
280
254
338
323
302
295
313
371
354
266
302
315
244
318
320
292
351
310
332
256
355
394
326
290
278
299
346
296
319
303
278
243
271
278
327
257
317
363
297
295
356
315
292
317
296
256
380
330
314
381
251
271
299
340
246
359
349
304
272
358
321
361
260
314
360
406
255
298
267
187
314
285
368
264
331
300
340
310
325
376
333
331
265
333
259
245
287
367
339
236
248
354
314
337
326
309
346
327
322
228
328
248
268
320
372
324
346
342
300
313
266
308
331
259
287
355
316
308
273
322
287
344
286
309
263
295
231
274
406
373
288
221
307
359
348
309
277
255
341
309
335
232
337
284
402
239
346
220
280
347
302
286
301
281
283
306
299
365
312
346
331
294
338
301
322
311
228
268
272
336
317
319
286
414
219
340
323
372
240
353
301
263
313
320
328
355
377
361
286
284
390
272
347
237
304
271
361
315
183
350
270
269
276
296
331
284
340
361
318
316
328
333
297
386
385
311
301
361
344
278
209
312
340
322
263
304
358
338
394
373
306
370
266
400
392
216
344
304
396
312
292
358
280
404
359
305
203
207
327
349
256
275
294
338
277
278
316
256
238
363
232
297
331
313
383
241
410
253
294
346
353
260
320
187
296
311
340
396
266
382
304
320
314
333
323
312
326
373
294
330
335
347
272
287
236
392
311
315
276
298
323
354
300
255
349
297
382
348
242
403
338
366
368
318
268
364
334
396
283
275
358
363
318
338
388
249
263
264
280
299
287
329
257
272
266
338
231
295
236
306
342
311
288
314
294
328
326
285
315
334
318
372
262
336
311
353
335
271
296
307
293
312
252
377
408
376
303
371
345
361
270
312
300
342
293
379
213
358
336
297
317
343
343
288
323
313
330
339
299
339
268
321
351
291
270
367
262
401
314
285
342
336
344
259
359
313
258
288
322
382
335
325
297
297
301
363
203
295
350
326
345
281
338
268
309
322
315
313
358
352
313
295
411
292
230
291
228
262
354
263
356
294
294
386
337
356
316
287
269
299
265
312
295
368
356
304
352
387
293
271
384
330
313
285
241
279
267
301
342
343
406
280
323
380
320
285
377
284
331
280
330
255
290
331
237
381
313
293
282
333
241
364
357
235
372
297
319
328
272
287
357
352
297
277
302
271
303
330
369
365
346
330
341
259
333
267
333
358
301
276
373
331
286
296
350
364
302
257
321
301
386
219
311
283
282
328
301
387
327
299
328
333
342
283
279
261
315
246
350
330
263
285
386
333
311
361
304
395
329
270
264
348
278
274
245
267
354
351
302
274
263
348
335
267
334
271
348
327
315
377
302
333
302
325
288
252
332
283
325
257
286
256
330
312
280
315
288
353
271
297
270
335
383
309
376
318
379
294
294
433
319
305
290
297
278
338
339
356
332
341
267
354
315
288
360
276
281
390
379
257
402
276
325
284
339
245
281
302
295
268
386
304
325
326
322
349
346
383
297
309
245
367
215
327
288
269
333
255
292
252
297
345
346
264
425
350
324
308
269
293
292
204
232
359
271
332
371
337
299
326
279
398
213
365
195
252
319
337
303
285
311
336
286
260
306
337
315
324
345
286
309
342
321
344
268
314
296
336
255
419
405
308
344
271
283
340
366
339
380
349
385
284
279
466
327
260
288
388
250
308
325
312
362
288
392
340
292
338
302
346
361
251
334
408
242
328
345
335
322
336
345
281
252
366
244
262
365
283
298
323
403
405
352
301
329
278
232
247
306
334
346
226
379
404
313
323
215
283
278
391
349
390
396
281
247
362
368
320
325
295
303
323
222
373
288
276
350
298
245
315
250
245
350
264
280
269
376
289
383
258
370
197
382
392
354
300
332
307
270
368
393
276
324
372
316
379
315
269
334
329
348
330
319
368
246
338
315
275
321
328
318
286
329
336
394
287
377
227
229
390
297
334
336
370
198
258
320
330
327
342
276
288
364
319
313
330
285
323
292
244
312
306
413
365
394
296
360
346
368
321
254
221
304
291
240
328
281
344
321
276
283
250
300
388
245
269
337
256
282
320
210
252
293
314
406
354
266
310
278
295
356
310
203
350
271
307
295
273
341
384
413
291
323
285
374
293
338
249
308
261
285
278
295
318
411
393
320
296
322
276
260
279
324
305
350
331
353
297
263
328
335
300
314
323
366
322
378
331
248
310
241
301
285
371
319
302
265
346
252
394
386
353
352
371
299
322
166
328
312
278
253
337
349
341
310
189
319
290
296
394
315
259
327
309
283
358
303
376
350
288
336
363
255
302
312
267
330
294
354
276
324
427
271
327
315
254
275
327
235
383
265
377
337
268
216
315
326
305
292
336
317
379
272
328
314
289
346
348
278
311
311
303
361
331
327
323
312
374
383
274
267
278
316
278
339
331
341
292
390
227
334
278
344
322
377
298
325
328
389
286
362
400
296
357
323
385
332
277
272
298
316
331
246
288
295
248
293
344
375
304
369
318
243
317
256
293
315
289
319
251
315
319
295
313
358
290
325
237
412
331
334
337
385
344
316
328
348
269
380
350
335
207
305
315
299
351
357
278
279
359
286
336
282
335
386
246
278
340
274
354
285
310
336
213
284
313
321
403
364
338
288
326
340
304
314
235
315
331
297
255
336
300
303
279
422
259
326
369
370
353
386
332
379
298
354
331
327
267
343
240
292
351
409
273
372
300
356
363
339
295
300
328
254
418
364
211
390
338
248
334
304
412
334
241
369
334
303
381
338
338
278
376
379
296
265
298
374
332
327
356
219
286
324
294
322
313
329
348
328
376
236
332
243
335
370
249
376
302
203
206
374
309
356
255
341
324
299
408
263
276
219
277
350
302
414
295
299
354
350
276
390
357
334
239
333
363
324
290
267
327
341
369
295
279
313
240
282
316
329
430
317
399
271
386
264
337
322
352
282
274
379
306
293
301
361
268
296
300
379
296
280
251
296
295
329
302
261
273
334
342
282
375
365
304
359
335
302
298
312
362
246
267
337
298
309
313
234
275
363
341
334
262
326
263
257
298
227
284
253
314
333
333
282
316
283
310
308
350
327
370
278
364
354
320
317
300
346
350
351
384
276
331
252
352
353
241
263
351
303
352
290
339
278
270
301
259
173
339
300
322
316
330
271
305
318
387
263
378
368
294
349
335
299
329
378
291
396
385
305
363
317
226
344
243
329
358
314
292
345
304
266
366
342
205
363
343
307
316
276
254
295
291
297
366
368
316
297
314
269
303
344
296
389
335
272
335
281
300
220
376
387
325
305
317
311
313
389
320
359
371
342
390
288
285
344
264
326
415
263
346
352
321
277
342
256
345
397
256
334
336
294
262
322
321
306
274
353
334
362
318
270
279
332
358
328
296
301
288
303
251
369
294
264
262
397
316
316
404
324
314
378
300
288
303
301
353
348
296
338
279
400
337
321
297
356
291
300
283
347
311
293
201
384
323
288
328
334
315
333
258
396
241
290
294
213
325
331
314
371
290
371
362
317
259
243
273
300
303
362
329
284
248
397
246
341
327
301
301
307
336
262
336
312
322
345
280
232
304
302
355
293
345
379
292
244
389
404
381
371
331
278
315
375
335
299
220
285
383
305
268
279
313
287
291
232
300
243
376
305
296
362
263
308
390
337
358
330
335
191
284
323
323
249
241
316
317
253
281
347
353
287
384
297
371
346
300
302
297
397
288
308
300
264
399
324
402
328
315
301
284
325
269
289
286
293
273
267
311
357
280
369
352
376
332
327
330
271
278
278
302
346
407
293
344
299
258
373
280
318
305
307
332
347
242
327
299
331
299
328
314
293
347
286
296
336
214
376
319
302
298
284
282
333
236
324
301
302
332
283
291
289
376
288
305
379
244
392
331
338
340
324
293
375
387
392
302
324
359
294
285
288
358
377
407
368
284
337
312
311
287
277
313
368
328
319
343
301
296
288
341
349
317
403
291
309
289
232
356
310
279
280
248
372
349
309
347
332
321
382
307
301
285
338
294
236
282
251
204
302
274
308
262
380
339
244
293
339
300
302
387
368
321
309
271
301
310
272
362
309
330
369
231
339
364
342
348
290
299
294
299
316
398
336
303
302
342
290
277
329
301
346
336
238
324
367
326
344
392
305
324
233
295
351
299
395
295
317
324
302
374
315
376
261
329
307
377
334
266
383
398
289
400
206
320
312
340
296
246
310
337
416
224
326
241
346
319
328
299
336
377
303
342
262
318
393
330
314
271
287
288
315
384
375
345
321
398
332
360
221
333
312
335
254
259
254
347
345
319
185
304
331
333
289
302
264
377
329
294
298
220
273
259
297
302
347
285
372
283
263
230
313
309
264
326
364
323
304
331
272
277
241
295
301
320
347
316
362
303
343
300
341
375
368
308
241
315
328
329
354
347
282
327
373
233
368
289
312
317
279
313
383
324
280
306
369
318
327
228
375
366
225
334
268
340
254
344
291
310
327
283
396
279
257
312
286
348
251
315
253
333
373
249
270
365
328
316
353
336
315
330
339
262
308
407
311
336
291
306
337
308
270
335
253
322
386
320
220
208
375
289
237
245
231
357
339
281
273
307
339
326
324
336
351
311
287
366
292
345
250
313
325
314
329
274
262
157
237
315
380
272
298
390
316
351
343
258
290
261
371
363
313
363
277
403
302
343
385
314
242
351
250
276
300
275
356
372
295
294
360
375
332
302
320
285
288
324
337
340
275
324
346
399
339
327
291
361
354
245
336
345
292
343
285
280
305
420
372
343
320
261
342
288
342
316
399
281
335
350
270
324
304
307
336
223
390
302
302
263
286
279
336
282
373
346
346
314
367
334
320
348
299
355
360
361
346
392
388
228
302
308
272
291
277
281
315
338
383
387
318
346
350
292
254
276
351
409
365
312
309
326
310
319
354
285
204
297
372
349
325
350
316
344
266
328
244
281
369
255
374
292
223
345
297
346
322
306
362
245
302
277
254
298
364
389
285
252
451
337
396
373
316
222
303
380
317
367
304
364
270
330
323
336
325
295
234
386
357
258
269
339
348
260
294
292
313
384
398
334
327
363
263
334
349
323
372
316
302
263
377
308
322
237
337
300
345
288
375
279
351
302
354
323
362
320
275
269
376
264
340
391
333
309
258
222
274
364
362
295
294
250
321
306
333
282
255
327
354
206
356
310
329
392
366
253
326
294
292
299
362
223
354
236
312
359
223
291
238
356
328
360
381
294
344
332
221
335
277
310
387
320
320
242
339
310
299
277
274
285
297
330
304
365
357
304
347
310
277
133
322
259
357
392
340
252
294
314
364
325
361
339
299
225
336
236
321
286
282
304
373
277
400
352
287
346
290
229
258
262
305
330
306
313
350
345
314
302
335
296
344
314
280
348
405
370
325
302
360
319
340
260
348
237
326
383
253
363
330
371
330
268
371
210
359
386
257
249
374
315
375
393
333
294
231
278
303
320
374
392
314
331
331
293
259
266
348
307
395
301
325
340
364
362
305
383
301
335
323
275
381
356
325
348
299
300
328
329
303
208
248
351
253
334
227
247
386
369
354
268
341
386
275
326
352
302
324
315
266
326
327
269
322
355
321
309
369
310
281
345
257
371
283
219
307
309
302
285
317
325
341
303
363
211
280
325
334
303
298
313
390
364
315
296
294
233
327
266
324
347
357
363
316
323
323
394
263
382
290
304
390
315
303
320
317
321
304
349
258
368
368
363
289
332
379
326
234
284
288
261
196
331
335
292
303
325
323
392
359
207
354
322
267
282
307
271
395
328
338
366
286
378
382
369
364
302
316
275
360
368
310
353
275
319
290
275
336
414
309
316
280
296
307
349
236
297
357
229
284
405
377
310
321
306
344
322
282
339
292
277
401
333
309
251
301
308
283
283
287
380
342
344
316
377
297
374
329
366
342
242
279
276
298
191
293
268
375
313
268
383
366
349
355
325
386
342
257
267
217
330
360
238
299
354
306
328
243
367
271
354
230
325
306
354
243
292
231
302
332
353
320
360
336
263
290
326
296
355
337
346
336
287
312
389
333
251
325
315
302
327
276
286
328
294
290
382
297
293
261
333
317
369
351
275
332
320
287
346
366
274
283
351
327
313
260
329
344
315
276
247
355
301
366
297
341
270
317
285
279
274
258
348
391
326
359
332
262
349
262
330
360
320
246
280
395
376
292
253
302
297
265
399
335
346
280
314
258
361
250
323
303
272
307
251
314
300
240
313
239
381
278
223
340
275
347
390
255
347
261
252
306
383
304
340
351
270
308
263
416
423
344
309
383
324
279
289
395
270
241
306
335
317
318
280
312
296
291
283
309
327
308
288
366
308
363
324
317
229
378
357
235
365
256
231
326
313
251
358
260
320
297
390
338
265
351
330
347
353
293
385
272
359
294
346
344
299
309
339
251
356
268
308
311
364
296
433
375
253
330
225
287
345
310
335
321
341
370
352
339
329
379
313
359
324
237
388
241
316
324
307
223
350
386
346
348
261
336
298
363
335
336
286
310
347
427
283
251
369
362
337
349
299
318
335
275
355
289
322
411
401
238
322
310
328
269
357
321
400
302
276
337
242
273
285
308
282
351
329
262
310
296
249
323
341
353
285
224
315
341
297
282
336
335
422
323
350
313
373
311
240
330
396
327
341
298
281
332
290
333
342
377
264
250
353
385
341
326
304
416
314
367
289
273
274
346
374
301
368
323
307
289
323
352
239
300
276
370
266
320
337
395
357
311
327
242
315
324
397
284
307
328
300
347
362
365
294
245
355
303
308
343
322
252
376
301
308
255
327
288
259
348
334
257
299
320
292
251
319
303
331
361
324
367
271
351
337
390
324
346
348
371
242
414
291
273
385
364
304
351
265
315
380
298
295
302
320
353
240
244
335
371
329
340
280
300
255
327
310
297
366
339
270
371
301
394
302
306
321
378
250
342
300
225
327
371
328
319
297
336
340
326
290
340
210
326
327
238
292
184
346
252
298
294
306
389
341
350
279
360
370
300
348
309
255
373
311
380
368
290
265
334
270
292
300
311
330
298
346
267
306
168
386
283
314
323
307
366
251
285
299
305
356
287
306
369
287
266
335
313
286
267
339
334
422
275
375
293
265
377
342
323
351
321
335
380
295
340
275
285
396
285
279
291
321
317
293
268
301
304
317
276
325
293
297
280
358
337
378
326
293
382
286
295
267
307
304
292
316
320
377
290
275
352
329
315
335
299
341
307
241
296
358
350
331
299
324
253
262
367
359
341
325
322
324
405
285
314
294
289
338
328
290
287
251
349
329
378
347
311
286
305
238
396
243
282
316
276
396
311
308
296
310
358
285
278
289
348
255
320
288
310
369
405
363
389
343
365
376
300
259
311
311
256
331
342
363
347
322
296
319
368
262
410
407
366
355
283
385
260
304
303
325
297
284
347
307
286
332
296
294
295
293
376
314
295
326
297
274
294
250
283
317
327
390
372
320
308
297
336
324
341
354
264
273
325
409
311
302
371
285
320
364
329
340
324
272
276
281
375
300
283
287
322
321
356
331
369
251
307
268
330
296
265
326
309
344
306
369
411
402
282
309
300
322
368
329
320
236
315
278
278
259
349
289
262
383
310
375
266
309
326
407
284
282
324
323
313
345
270
370
342
292
369
402
302
304
398
259
385
342
225
386
267
255
347
304
281
320
330
303
310
355
298
308
330
321
280
341
357
315
407
309
317
291
370
316
337
278
263
356
338
273
330
333
239
307
273
295
330
336
255
270
264
377
257
248
350
259
295
366
277
339
352
257
256
375
380
312
293
284
318
287
282
320
370
257
314
266
246
341
276
336
286
242
358
315
336
262
296
300
333
276
278
289
318
367
317
282
321
250
261
281
321
352
327
203
266
415
307
315
309
289
364
327
319
343
303
369
344
359
400
338
323
304
397
284
305
309
344
301
349
331
341
375
281
307
351
330
306
334
386
349
287
287
312
283
331
260
318
301
341
337
319
296
367
338
334
329
335
324
273
321
334
371
336
339
254
340
331
350
326
392
345
272
347
284
343
298
303
284
349
335
336
219
363
316
312
360
354
318
337
394
367
359
357
218
329
291
336
370
334
281
382
339
305
290
344
307
359
382
283
313
275
264
260
284
218
204
326
319
278
355
341
346
255
339
353
373
216
407
299
323
352
345
307
302
287
327
311
234
296
270
258
405
340
320
353
366
307
294
347
289
313
311
290
279
308
272
319
251
392
381
260
266
235
267
317
345
374
341
267
315
273
321
235
299
324
376
277
323
316
326
277
246
276
323
256
242
349
311
330
267
242
332
287
168
288
242
294
318
225
289
232
361
294
295
259
362
422
347
371
311
326
376
268
256
335
384
309
386
214
337
289
326
329
328
313
337
394
352
328
306
295
333
308
340
358
305
286
344
449
358
286
323
333
315
317
259
296
364
285
275
331
253
285
194
387
304
272
268
324
316
345
313
324
331
338
290
306
336
301
334
284
328
255
222
298
271
284
225
295
372
223
403
359
364
317
238
266
392
249
279
276
343
321
286
328
312
385
239
363
357
277
371
275
349
306
250
337
310
294
299
258
343
344
369
348
297
361
347
339
347
323
275
268
349
252
327
316
345
313
334
306
334
379
320
247
334
280
356
268
292
330
245
344
342
307
377
348
416
314
315
262
363
365
224
300
240
313
352
316
197
168
314
303
331
331
297
310
281
297
367
351
304
361
201
370
324
312
312
314
361
304
311
262
328
348
261
244
323
330
255
316
352
242
369
330
333
368
302
349
319
272
230
312
331
311
284
322
329
316
334
292
251
438
376
262
251
272
351
288
378
270
260
296
304
294
302
329
337
261
277
287
314
268
301
256
328
359
362
377
313
241
311
311
284
374
366
287
320
366
327
313
292
318
336
343
350
256
300
340
329
240
237
271
344
371
318
333
342
378
321
237
383
324
320
279
267
278
353
285
272
382
303
327
302
343
214
317
332
320
249
331
294
316
345
297
274
247
339
330
407
337
258
388
361
307
315
308
334
324
361
317
333
320
294
394
405
352
319
327
334
311
357
315
333
256
292
239
296
327
389
393
247
260
345
348
281
305
388
360
403
407
276
240
291
314
337
387
342
290
334
323
379
334
322
292
356
360
304
303
219
267
279
305
350
337
270
309
364
295
268
274
347
340
275
347
256
317
221
338
269
303
343
357
344
261
319
241
343
255
317
319
296
276
380
355
340
255
272
223
349
322
293
318
321
369
331
323
244
324
331
235
246
380
373
287
291
346
317
346
307
344
228
285
354
319
327
235
429
287
404
212
213
372
248
335
334
417
299
302
269
341
239
233
287
312
176
346
386
407
349
315
281
284
356
326
317
313
300
300
309
308
301
258
226
296
325
341
349
242
311
314
345
347
349
340
306
304
336
343
295
318
314
367
359
320
351
363
253
284
384
237
327
326
319
421
335
353
271
269
374
336
338
289
279
273
346
224
315
390
341
302
305
337
332
347
340
276
332
360
228
315
332
332
330
326
369
268
370
364
402
275
338
354
337
292
269
324
276
296
297
267
376
309
318
288
305
267
360
263
310
310
354
422
350
311
341
377
347
260
346
383
275
195
264
324
308
297
269
311
291
314
236
364
293
308
285
321
309
271
322
238
331
300
271
340
345
319
304
242
280
313
313
332
207
300
294
306
234
302
252
303
365
270
280
286
382
309
260
306
358
213
336
294
335
329
392
310
318
199
389
315
413
282
304
343
292
338
311
310
340
303
266
313
341
245
362
326
277
289
362
316
258
292
391
331
336
375
399
392
282
323
327
332
410
318
334
290
372
332
400
241
294
337
288
292
346
309
426
297
300
268
353
238
347
306
315
230
386
408
246
309
259
316
287
256
364
219
325
334
342
373
245
366
362
358
280
298
403
340
344
292
323
288
288
217
345
367
256
251
306
297
275
318
304
324
267
289
330
369
326
353
286
302
390
259
283
290
367
317
393
250
284
337
263
330
326
372
298
281
279
321
342
261
292
412
271
302
266
352
319
388
322
310
309
197
331
288
241
211
321
378
306
255
378
341
319
267
357
313
354
404
370
247
347
299
327
313
352
433
252
352
219
277
261
315
328
338
323
382
354
275
345
311
324
311
299
279
246
340
252
360
344
313
287
278
282
294
424
430
337
343
354
304
319
204
350
372
349
290
327
309
330
261
306
291
316
339
338
339
331
369
343
298
266
379
308
328
270
275
376
346
318
252
307
232
316
347
281
279
228
360
435
336
226
282
370
311
299
306
266
389
376
285
364
398
359
301
239
311
286
273
305
401
317
285
322
296
314
265
347
320
307
335
369
351
353
327
347
290
269
310
348
301
313
335
293
292
392
293
332
400
317
349
340
268
254
236
284
302
400
388
401
293
336
230
275
346
287
282
381
394
315
304
264
232
312
305
374
323
359
332
341
373
281
327
252
313
320
334
281
357
350
328
326
330
289
344
330
283
377
409
344
333
286
369
361
224
282
282
283
376
306
364
375
326
293
311
382
264
348
317
319
336
297
424
296
284
341
378
327
292
269
336
348
318
280
256
303
301
327
256
336
305
259
271
379
319
307
333
313
306
308
252
339
269
344
313
320
309
275
237
363
324
292
296
333
393
336
294
377
328
322
291
344
294
298
294
373
261
364
385
327
321
363
337
355
271
319
285
304
356
323
274
320
297
343
263
252
285
323
389
201
323
313
294
407
263
266
317
355
340
337
320
332
417
363
191
248
298
369
301
282
270
307
306
397
305
311
367
288
296
358
344
255
222
267
412
360
295
279
354
332
355
365
369
272
389
317
374
277
318
344
302
214
328
381
269
266
365
213
343
224
319
443
413
356
287
359
324
332
329
290
273
212
309
366
233
242
275
239
293
338
260
284
315
280
333
324
326
326
322
362
306
319
264
242
348
330
292
237
302
351
348
392
333
346
346
370
352
326
324
372
354
269
369
327
340
296
280
279
286
409
302
321
306
365
252
346
301
319
310
282
302
309
288
337
340
377
315
317
233
329
320
345
189
389
280
306
259
251
356
301
324
409
384
322
272
282
435
329
301
251
371
285
337
340
308
346
228
196
300
272
313
320
276
288
289
205
325
281
275
299
281
329
341
332
314
308
348
226
328
278
335
298
268
232
312
302
296
294
366
261
301
234
254
283
362
322
347
250
351
356
309
372
321
314
359
309
346
279
399
269
384
332
307
328
381
351
303
268
332
391
230
356
321
320
305
321
367
343
271
377
307
276
266
322
335
327
379
205
310
273
289
366
222
386
350
289
351
340
330
355
360
234
328
317
308
326
258
342
273
349
287
343
377
353
367
298
306
281
309
291
357
368
331
290
304
289
330
357
354
239
333
347
305
290
327
307
414
311
336
348
235
312
362
314
319
238
338
287
334
272
309
404
340
297
340
317
274
339
318
327
295
315
231
297
300
282
239
390
335
354
359
182
378
297
323
286
352
328
346
251
317
379
280
320
334
340
283
344
337
331
301
322
311
284
316
264
395
332
294
377
310
334
310
339
339
348
321
310
381
314
302
300
351
302
274
337
340
269
283
340
313
226
241
329
304
309
297
310
278
317
275
368
306
350
286
265
372
334
376
354
297
311
340
287
257
336
308
284
307
311
358
314
314
360
298
327
257
300
265
342
330
307
316
309
323
228
299
311
232
309
316
312
245
395
351
286
299
313
315
282
323
339
240
303
396
346
352
326
431
282
336
258
287
290
282
301
335
302
315
352
324
365
258
279
294
330
331
242
423
355
330
248
320
315
277
252
292
370
310
341
330
374
373
314
222
364
276
360
297
311
323
301
192
324
311
387
268
279
334
272
293
345
307
371
258
335
341
272
328
314
315
311
298
273
301
290
253
223
354
322
355
251
394
372
266
313
308
235
365
337
272
337
280
396
354
312
264
342
351
244
302
337
238
286
331
362
388
343
285
356
407
282
362
273
287
347
381
251
288
356
413
278
342
370
342
256
369
332
289
310
305
298
294
293
319
274
332
278
252
259
383
276
303
255
264
351
307
332
415
349
331
297
342
330
286
346
385
371
278
233
277
328
330
310
309
331
330
363
250
314
301
389
344
368
302
294
359
318
323
258
333
301
357
283
361
328
295
339
375
331
362
273
332
337
315
268
249
363
331
271
326
336
340
318
232
257
363
225
308
294
359
372
291
285
335
355
362
270
294
283
286
329
262
313
350
313
327
346
304
296
329
308
316
356
297
277
330
351
307
324
274
415
421
290
334
375
344
265
273
320
267
267
382
303
323
356
271
368
349
292
275
203
315
298
250
398
286
357
315
253
329
237
352
251
251
306
300
286
303
258
315
230
323
294
292
339
221
275
300
372
332
326
251
261
272
294
355
319
323
338
295
263
312
359
305
390
330
333
272
241
309
309
298
362
367
288
355
260
302
234
300
261
336
362
285
287
334
292
284
276
282
242
293
291
314
413
368
336
349
252
245
379
290
315
340
352
305
283
385
279
296
229
298
266
241
297
408
361
301
358
377
316
310
380
292
290
233
352
319
336
286
348
340
260
336
376
331
353
337
365
285
300
312
337
328
333
313
317
359
261
326
344
346
283
263
357
338
268
359
387
336
344
288
343
263
307
271
324
327
311
327
328
394
224
351
290
281
272
308
302
260
336
273
316
373
386
223
393
325
331
311
325
322
367
239
338
325
343
352
334
320
250
410
249
347
330
276
395
292
300
321
287
336
290
366
333
372
266
268
330
241
257
337
301
328
383
283
307
300
338
340
316
362
337
252
324
320
351
371
362
301
345
218
267
270
349
293
351
302
310
308
350
315
286
380
290
336
327
286
264
241
288
251
375
343
292
357
259
238
250
311
321
378
405
270
310
280
316
265
324
335
288
328
276
249
243
331
251
263
354
256
302
350
342
319
320
331
302
414
313
354
363
357
360
280
312
387
327
351
222
384
336
261
281
289
373
215
228
292
225
245
354
330
282
288
380
237
319
298
365
360
334
325
338
306
278
347
302
381
297
376
356
287
338
313
290
289
296
340
276
337
379
304
290
359
187
282
340
324
362
272
373
303
299
345
288
270
398
342
251
369
303
365
341
339
352
324
258
300
369
331
227
300
313
245
221
312
279
252
311
265
382
299
338
380
254
362
325
350
338
341
198
335
263
261
380
322
316
331
412
251
351
300
308
327
386
301
257
320
368
293
215
314
313
289
396
360
304
369
275
282
332
405
218
301
271
260
391
388
290
387
225
340
339
344
344
344
315
330
347
273
264
315
249
277
258
278
275
239
273
292
315
262
309
344
304
386
282
384
240
324
282
319
294
366
255
303
362
341
335
296
355
389
394
315
271
272
283
382
295
215
300
251
272
325
281
252
348
236
367
286
377
305
269
360
327
334
338
297
324
308
330
255
232
292
313
357
381
326
220
305
279
378
299
290
345
281
266
366
330
264
206
250
376
309
267
249
328
300
275
303
249
285
293
276
292
329
256
317
272
377
286
240
229
393
276
398
253
373
302
329
238
245
287
310
243
364
355
257
319
354
335
298
372
239
313
279
302
301
288
330
311
315
353
287
336
382
287
228
312
241
333
289
328
316
257
224
369
390
260
306
286
277
319
256
387
310
339
296
325
388
308
300
321
282
372
320
309
333
332
273
320
280
302
326
339
305
343
348
294
316
299
278
331
253
289
296
356
326
267
340
373
307
328
351
326
209
342
361
304
305
338
316
275
296
332
339
319
308
324
326
289
339
264
357
287
262
324
282
336
252
330
290
339
271
354
333
408
269
222
284
309
328
315
351
344
278
302
305
306
328
333
325
342
315
362
353
352
267
322
339
284
287
272
326
328
296
400
307
385
228
299
421
281
266
316
332
388
336
322
333
268
281
326
286
314
346
285
332
437
371
242
306
267
312
308
335
265
327
400
365
337
427
339
298
257
369
351
262
330
330
288
352
338
368
315
293
291
338
350
410
301
309
330
265
237
274
278
348
337
238
316
295
276
284
297
336
332
336
308
219
341
362
264
354
275
284
375
365
323
318
329
263
396
332
335
340
282
278
325
342
312
378
437
269
334
221
325
331
290
253
363
408
267
231
316
341
358
351
286
331
354
350
305
303
399
278
298
284
337
294
296
295
375
283
324
232
332
308
290
338
305
307
325
240
339
284
332
341
329
249
307
387
237
281
289
342
317
336
216
461
361
366
192
354
347
292
343
322
315
385
286
300
362
304
293
306
280
316
345
386
289
318
263
322
311
312
309
323
350
315
348
333
298
364
281
271
288
318
318
365
243
306
349
326
238
317
342
287
333
344
379
380
302
370
380
350
222
235
285
314
372
279
338
334
245
367
267
425
309
284
326
317
375
290
229
251
304
332
292
267
374
279
338
378
336
251
275
387
372
342
266
304
345
243
311
295
344
222
355
294
346
311
295
278
308
300
284
360
273
233
326
268
354
272
402
312
337
311
277
241
361
285
366
297
289
394
304
401
271
294
279
356
299
308
297
336
349
355
391
308
290
387
284
358
294
333
306
343
346
370
326
297
227
289
299
294
239
191
328
347
361
317
267
346
331
350
332
296
385
325
330
244
357
309
303
332
375
326
295
311
265
299
305
309
287
420
296
286
332
332
265
257
268
318
330
270
343
255
316
266
217
318
336
361
285
270
358
318
319
352
364
300
337
415
251
291
350
319
375
311
289
271
336
312
371
361
201
250
361
262
333
302
329
387
347
310
312
371
265
335
434
286
381
316
287
251
332
294
323
310
339
335
364
367
396
355
355
342
319
255
387
309
337
322
308
333
290
369
333
368
335
353
355
316
310
237
335
361
264
273
386
357
350
301
365
267
272
357
279
355
252
294
213
342
323
306
310
294
247
325
263
336
275
318
345
236
349
320
307
278
235
306
282
366
345
260
228
363
318
280
326
276
357
281
351
324
267
347
317
288
357
327
306
336
389
391
339
323
385
345
242
305
393
293
304
262
366
351
309
332
262
295
317
336
336
333
325
265
343
285
276
296
284
206
178
345
279
328
351
292
434
328
340
351
271
332
263
196
382
299
352
345
414
297
285
279
377
295
340
266
315
299
262
304
308
304
283
295
308
389
313
436
297
297
343
339
299
330
339
277
239
346
266
314
344
303
281
356
371
263
321
370
317
311
215
309
340
278
268
340
283
329
288
372
332
224
389
284
231
228
315
366
252
362
370
285
310
182
337
391
325
331
243
378
270
322
256
327
303
347
313
276
310
339
321
301
316
318
353
365
312
354
355
317
316
362
390
333
391
298
373
345
320
269
305
347
352
254
372
310
255
363
315
201
275
290
320
311
401
345
332
314
262
380
291
283
270
311
237
335
344
314
305
246
270
343
292
199
307
319
294
332
336
342
353
280
353
232
266
329
269
272
332
360
180
252
306
312
275
316
374
323
289
364
346
381
303
267
258
307
349
317
324
328
285
307
378
249
307
368
359
337
269
301
320
290
286
332
297
280
259
303
262
339
282
294
310
320
336
299
339
348
307
336
284
304
392
349
272
252
230
339
335
295
308
322
358
295
363
352
343
288
372
279
324
286
309
313
317
353
335
326
333
300
333
362
371
400
324
325
341
352
380
270
253
354
319
390
374
280
292
303
304
307
343
350
348
252
330
270
262
239
384
281
330
261
280
272
319
326
339
252
368
324
357
357
331
397
445
298
327
369
337
173
425
349
225
322
248
302
358
255
294
232
402
346
365
283
360
301
271
279
403
364
247
295
341
238
288
257
307
370
367
278
295
297
244
280
304
396
287
271
420
230
332
282
301
262
355
280
261
350
316
239
319
286
267
415
370
307
309
315
256
319
237
375
338
299
365
396
370
369
349
224
334
329
327
404
364
349
393
347
339
318
339
303
234
250
338
235
419
232
285
288
385
205
252
291
348
272
276
269
370
415
344
319
335
352
319
364
330
341
298
430
314
396
348
390
308
282
355
370
406
356
419
286
351
340
295
291
297
354
276
246
341
432
370
357
316
273
245
331
332
347
296
371
300
337
326
346
343
264
296
279
328
334
328
271
296
246
283
278
339
331
243
324
256
301
361
337
315
335
352
356
313
293
349
311
294
296
284
352
338
306
349
280
270
273
297
321
273
379
281
265
369
351
410
333
296
242
330
310
368
277
314
349
270
268
336
349
395
222
268
326
257
288
339
303
278
266
384
202
292
301
301
295
308
287
298
323
315
320
342
352
269
313
269
327
370
316
364
318
305
244
384
244
331
344
375
287
308
367
406
380
362
359
379
329
316
331
306
240
338
282
303
352
363
275
359
364
309
287
262
315
427
343
373
295
375
250
353
318
307
304
301
358
313
359
319
291
236
407
308
342
283
318
375
325
363
322
257
262
281
284
387
368
357
299
332
315
362
323
366
334
381
321
322
321
285
317
338
360
293
308
324
281
364
329
275
378
305
319
302
282
340
382
361
328
309
291
295
276
312
447
338
320
291
233
350
316
304
366
266
326
264
202
329
366
312
251
320
260
404
304
340
324
330
361
311
349
188
334
316
321
241
311
328
334
298
403
285
300
243
343
332
359
282
270
326
311
308
330
329
376
263
315
231
292
313
300
318
303
341
353
414
270
309
346
297
301
294
303
323
337
316
368
388
373
322
349
251
266
293
292
251
283
302
289
272
245
339
293
340
303
336
370
271
371
300
321
350
333
337
229
266
311
307
340
327
215
359
347
348
283
319
279
363
330
294
411
311
285
297
274
312
296
334
335
418
341
286
250
299
405
211
246
209
354
342
385
317
381
255
317
350
233
234
338
301
324
319
297
347
313
350
350
335
247
316
435
354
316
324
345
353
258
282
341
382
327
279
311
382
389
338
310
254
248
373
253
265
326
275
332
318
251
288
303
276
320
314
246
267
285
270
371
323
324
402
329
350
189
266
387
314
315
295
325
336
344
305
322
376
255
378
353
368
309
346
272
363
363
315
345
356
301
311
358
381
385
354
316
290
332
304
233
305
362
324
369
304
261
295
293
292
360
339
291
298
390
280
296
288
268
346
380
293
295
265
361
338
324
371
401
302
451
314
431
331
352
361
265
300
253
278
351
385
232
283
362
356
362
341
355
417
281
273
416
272
342
292
344
283
402
235
364
272
234
227
388
235
287
270
274
356
298
297
363
254
341
260
347
223
355
296
313
340
311
246
260
305
319
332
304
363
265
363
351
375
303
243
269
362
378
327
361
382
293
445
290
308
248
341
248
423
350
326
300
362
332
256
225
376
291
318
350
367
354
277
315
178
286
268
305
325
318
304
292
294
335
376
282
320
265
342
321
323
314
372
334
339
364
375
363
267
317
299
327
336
330
401
328
326
329
348
362
349
326
359
287
279
270
262
334
272
358
285
336
289
302
234
269
306
241
269
315
379
296
335
310
323
311
251
264
317
363
288
343
244
340
280
234
333
345
340
276
271
305
303
284
312
327
391
334
298
370
226
337
416
330
345
330
303
328
279
332
376
303
325
320
221
331
270
336
360
324
280
339
371
402
319
295
271
314
244
284
331
270
271
359
334
235
360
238
336
344
285
313
432
420
329
316
377
282
275
320
265
298
400
254
356
280
277
333
250
229
301
271
288
243
352
307
313
276
338
341
391
323
268
344
363
338
285
282
231
364
372
335
321
381
249
299
302
233
234
256
329
359
371
353
375
307
374
272
193
306
363
321
366
252
310
339
267
312
330
381
335
347
375
341
304
332
287
249
328
318
272
348
289
248
357
343
271
369
324
305
322
384
300
368
238
366
293
289
379
342
330
385
276
262
324
364
249
328
319
271
290
313
359
355
319
375
313
297
278
312
355
315
333
371
364
348
315
266
339
304
296
340
332
343
321
316
330
281
334
351
320
275
202
357
298
235
263
364
272
347
303
362
269
349
324
321
314
295
322
224
305
332
397
352
300
307
310
351
367
275
314
352
238
263
320
378
297
320
286
303
241
416
374
347
327
315
367
288
312
356
284
387
260
209
326
294
303
335
370
257
336
254
351
328
279
362
352
298
355
220
320
321
339
340
278
314
322
369
321
339
282
307
327
283
321
280
336
291
319
380
372
318
362
256
315
304
312
310
377
318
302
295
283
390
378
315
301
283
321
234
332
254
303
395
275
342
371
273
350
318
367
342
375
233
278
231
355
321
276
253
248
301
372
271
296
371
355
370
337
312
327
319
264
281
399
306
318
313
385
325
359
341
333
304
361
286
335
293
301
269
226
300
407
235
325
338
215
336
297
345
314
286
347
314
339
236
365
203
296
315
292
292
277
374
329
358
247
256
274
275
349
249
344
330
360
259
290
346
378
253
315
269
317
297
273
303
329
324
332
276
330
350
316
352
314
297
373
357
256
289
269
286
267
214
399
319
281
368
238
302
383
414
309
292
330
281
290
323
280
317
354
321
290
335
287
325
303
277
377
296
330
334
269
359
390
343
357
360
359
274
270
346
255
292
287
224
286
337
282
330
276
377
279
295
271
315
346
284
284
324
352
336
350
258
325
330
307
309
324
349
255
265
249
328
375
237
301
301
284
241
243
259
371
263
370
294
290
317
311
435
329
313
347
374
331
267
302
311
303
271
256
329
293
355
298
270
253
342
291
356
304
281
347
284
284
306
244
353
336
313
293
360
311
245
344
339
413
224
269
309
256
338
352
305
299
264
340
315
385
389
215
343
319
317
292
240
356
192
392
232
308
390
188
329
391
358
325
266
326
286
324
376
326
276
348
323
257
379
337
311
353
293
270
314
345
360
346
339
325
391
294
372
337
335
310
305
269
299
268
358
329
333
292
320
300
294
297
193
291
331
315
324
343
328
390
237
269
294
291
372
338
355
384
361
300
320
334
355
317
298
363
166
320
421
329
313
325
281
314
275
274
254
347
329
348
340
374
439
305
347
272
308
280
376
297
358
343
270
347
365
300
380
323
282
293
342
266
288
318
322
254
309
295
313
323
313
334
293
291
325
288
321
350
261
321
258
325
328
345
311
357
388
336
345
336
311
318
266
276
344
377
213
313
325
299
311
318
332
274
324
316
327
293
298
339
326
367
301
246
291
358
339
238
231
384
394
257
343
325
249
247
302
371
276
280
349
370
371
387
319
317
302
364
273
345
382
258
285
298
291
310
250
318
302
370
279
376
263
335
364
353
311
393
342
361
365
252
294
269
299
310
318
381
339
342
215
377
371
353
332
328
340
363
339
348
323
248
341
313
340
295
371
349
418
285
326
304
345
306
274
392
312
309
342
290
301
325
285
362
281
313
399
309
302
321
317
369
396
266
256
335
390
218
321
360
270
336
301
298
354
330
313
162
325
413
291
305
296
249
362
245
361
352
311
376
245
288
259
440
367
311
384
256
296
276
320
315
304
353
367
328
340
337
367
380
284
316
332
325
308
296
334
338
290
333
272
276
325
287
250
297
253
344
402
344
320
311
378
287
270
272
304
285
326
285
378
359
336
317
293
269
270
301
358
268
335
329
327
283
300
323
317
232
238
313
268
386
306
336
387
307
281
308
351
303
310
227
327
261
332
355
278
315
318
255
271
263
307
317
367
207
292
312
353
338
296
294
340
374
308
260
245
364
270
377
314
340
258
336
300
278
349
337
263
373
323
277
301
302
404
301
350
361
347
280
320
342
283
327
358
328
284
296
358
272
307
328
391
307
297
259
256
318
337
261
264
391
388
361
327
319
302
342
295
334
334
305
356
356
301
274
330
379
257
281
254
306
316
290
335
306
342
276
332
300
325
280
353
308
372
405
395
322
268
316
375
356
311
313
362
307
292
352
225
339
326
290
303
314
351
261
265
373
363
318
345
324
355
320
284
306
303
288
276
342
314
288
372
348
317
340
330
293
268
315
295
361
376
278
266
360
361
245
318
319
377
324
348
305
324
331
386
308
349
383
385
313
272
373
325
394
255
240
377
357
284
326
298
292
287
298
353
342
304
396
296
301
273
355
281
279
218
327
365
324
289
380
331
336
412
394
310
312
331
288
292
277
302
357
369
330
289
416
301
275
281
303
254
302
215
306
331
292
219
340
311
332
390
297
265
270
317
304
303
342
355
342
315
300
356
418
262
310
260
309
321
349
346
362
359
378
265
295
364
321
366
351
332
250
379
280
267
286
315
403
298
314
387
303
274
267
233
365
350
264
273
317
295
289
341
308
345
359
258
369
386
313
347
376
247
334
359
327
378
318
283
347
253
300
273
351
281
348
286
369
369
345
333
269
369
310
275
351
331
329
314
359
270
366
310
293
313
313
260
338
277
297
324
330
319
303
283
342
270
328
288
300
295
265
303
294
355
238
354
320
274
345
299
360
313
311
389
372
358
297
248
244
343
323
329
365
311
322
407
258
312
350
327
343
274
280
294
350
308
277
361
303
299
400
359
356
232
296
330
297
341
371
315
295
384
302
354
337
334
400
296
292
327
367
309
391
371
253
233
313
357
273
282
334
342
351
295
364
391
352
298
324
267
312
327
274
295
360
240
327
318
317
353
278
214
319
298
311
368
302
302
260
316
290
312
257
369
300
360
309
349
349
218
358
313
343
330
321
323
235
328
277
259
343
351
379
255
301
270
326
366
358
324
369
338
278
298
386
308
306
370
314
349
267
307
237
330
367
346
269
237
349
257
329
365
316
270
374
359
273
305
397
375
245
313
418
262
341
221
301
356
321
242
368
318
283
296
360
301
311
335
334
335
279
297
299
255
285
208
346
296
321
362
271
371
371
315
290
315
314
346
213
322
309
359
395
344
277
320
309
298
304
294
296
245
289
332
321
411
227
297
380
349
306
270
333
361
279
344
309
263
269
252
258
344
270
341
381
266
284
325
263
242
434
248
425
358
323
290
321
367
317
390
277
289
273
314
398
316
272
246
392
293
335
351
307
376
399
283
326
334
377
313
349
319
225
365
207
309
295
369
319
281
337
380
232
261
371
286
357
299
323
357
258
337
385
327
322
306
278
335
371
360
273
269
328
297
297
311
251
318
340
254
287
295
313
238
341
346
317
317
377
349
403
362
308
294
268
361
178
363
357
393
297
259
338
378
284
289
312
285
304
286
301
230
353
305
334
319
261
358
390
329
370
279
279
320
346
308
370
341
316
321
379
358
331
312
371
258
259
303
361
372
318
356
287
336
332
383
322
288
295
200
233
339
358
340
348
292
341
317
258
305
321
307
250
275
305
328
252
268
279
308
295
304
392
366
235
356
374
289
374
273
264
289
310
327
275
331
289
282
296
365
381
297
414
276
289
294
352
310
322
261
292
324
323
388
283
329
304
311
328
366
333
286
317
289
332
299
284
248
282
299
291
327
240
349
262
373
383
289
337
292
316
239
249
345
308
413
374
316
362
363
317
335
300
311
240
306
248
284
324
347
343
380
320
348
294
288
330
325
316
304
361
319
275
292
277
249
333
310
399
253
237
317
300
333
392
289
296
337
267
306
271
304
247
333
332
289
357
272
316
367
304
372
328
288
376
307
294
351
310
287
329
363
363
279
314
316
267
291
233
339
321
308
372
365
227
357
316
339
372
362
354
294
275
327
302
311
304
331
359
318
258
311
333
369
383
225
315
353
193
283
345
384
262
357
405
278
376
300
332
347
385
253
355
328
246
286
305
325
263
277
235
392
250
278
322
324
293
260
338
277
305
361
292
321
288
327
326
355
305
330
277
343
300
363
299
302
321
297
300
329
194
283
335
320
344
310
268
347
303
284
395
378
316
332
313
241
271
337
294
334
346
397
364
317
399
365
314
364
305
281
377
252
356
300
283
354
290
342
284
337
293
215
314
271
245
302
260
272
356
330
250
304
354
307
362
338
349
351
307
373
377
326
358
328
325
297
269
242
367
321
369
337
340
279
282
291
274
398
381
370
316
344
302
343
356
396
334
277
397
289
334
323
303
377
348
290
243
272
317
306
299
321
320
310
397
302
273
280
275
266
284
365
351
289
292
338
232
348
366
405
361
273
287
328
296
302
297
334
386
349
299
225
330
341
271
364
355
343
329
267
299
283
327
362
294
346
292
311
373
336
280
346
304
390
212
285
278
331
319
385
258
344
277
289
273
350
278
308
315
264
278
257
352
375
334
342
314
333
289
337
269
328
392
292
348
282
237
312
322
323
324
360
353
267
374
325
332
255
330
353
335
327
354
331
356
289
301
294
314
303
284
323
354
324
338
384
390
275
315
291
294
269
323
316
335
355
277
239
308
272
391
225
260
311
351
258
388
210
262
283
304
330
253
311
261
260
257
314
330
340
236
257
335
356
355
331
314
327
321
241
285
331
320
390
275
301
329
314
363
311
253
333
336
366
253
299
356
380
329
356
352
333
307
294
263
333
291
262
341
248
308
347
329
281
326
250
328
208
327
306
304
297
356
332
317
352
235
344
361
316
335
380
261
371
312
329
282
286
294
334
351
390
288
368
350
283
325
289
355
193
367
247
349
333
385
254
278
311
259
283
287
348
311
281
378
263
328
292
415
338
335
332
301
246
345
322
310
286
404
337
287
344
279
291
378
333
339
306
355
303
302
300
386
391
287
331
326
312
346
298
284
353
297
279
313
317
339
254
276
345
277
307
282
309
279
208
338
324
372
320
270
335
320
288
299
357
320
245
336
321
295
275
356
251
344
295
315
297
271
370
350
248
347
265
337
294
406
298
369
373
309
350
294
426
252
335
334
291
269
366
327
312
327
323
307
332
234
276
311
286
332
310
305
316
213
323
272
294
305
261
351
263
314
312
286
324
303
306
421
335
373
402
365
288
339
245
331
270
389
375
270
367
359
340
349
380
327
258
250
332
269
334
295
341
325
332
317
320
234
334
349
285
301
365
258
332
339
297
281
425
262
289
273
346
362
374
302
307
328
289
264
299
243
245
360
348
283
296
344
352
287
374
331
254
386
352
384
291
301
280
367
226
293
264
358
330
330
307
320
334
300
270
206
303
383
284
342
302
307
340
276
315
317
312
291
357
282
341
408
349
389
264
255
290
261
302
311
325
288
315
265
362
309
310
328
261
354
338
277
335
293
301
394
347
322
281
348
377
262
295
335
202
286
253
365
315
363
377
380
249
301
208
266
300
355
360
282
261
329
338
276
318
344
320
339
386
332
269
321
360
401
346
278
307
226
423
361
250
304
321
368
258
303
365
311
336
287
285
375
371
335
311
297
329
334
324
321
244
355
281
290
326
369
296
295
339
298
216
313
210
328
262
275
244
346
322
325
274
225
284
275
391
281
293
289
314
318
320
291
254
324
286
299
293
219
331
316
274
355
372
306
296
348
376
264
302
300
282
346
344
315
278
300
316
368
352
302
264
309
366
330
269
320
312
361
363
369
316
328
323
309
279
318
226
362
351
250
237
257
328
328
361
349
300
334
407
271
322
230
264
325
320
375
291
264
342
375
315
351
314
370
267
337
311
355
233
347
332
348
272
406
177
309
321
280
312
244
318
296
366
274
253
353
245
341
289
377
296
273
294
333
343
353
316
363
261
287
282
298
295
307
323
257
298
343
338
348
287
289
330
378
313
363
381
332
265
280
334
296
306
365
353
431
312
309
386
356
362
274
298
373
240
310
319
273
335
236
327
327
327
377
348
344
315
347
250
350
382
281
284
355
265
253
338
294
302
306
336
351
380
355
379
301
278
246
332
288
334
366
301
387
356
316
411
212
410
243
316
354
249
389
298
300
278
309
384
397
306
321
278
315
360
327
398
309
253
401
289
296
288
337
323
325
324
289
312
326
291
305
322
395
284
308
304
321
323
298
340
311
374
290
293
311
299
247
414
368
354
200
300
267
257
269
272
339
326
290
299
379
376
318
310
292
331
270
385
367
228
370
415
303
307
352
322
332
291
408
294
375
346
328
285
307
299
385
317
256
314
322
391
260
340
256
320
286
401
282
270
272
336
330
359
295
342
241
265
347
329
342
311
381
347
339
293
276
282
231
322
254
274
266
295
382
412
362
303
341
356
338
308
257
347
292
323
377
236
328
308
307
206
342
366
374
320
338
387
332
315
310
288
336
262
325
378
275
328
309
299
364
306
318
251
291
369
277
319
360
376
286
349
315
342
356
366
335
308
253
356
261
315
261
408
232
295
309
342
327
288
346
283
295
369
312
317
330
336
302
190
279
297
349
400
323
319
295
322
380
358
306
263
267
290
277
317
284
398
295
239
341
354
360
258
439
289
287
298
360
316
306
320
376
320
370
355
306
337
340
291
271
288
365
320
254
264
222
322
291
291
393
299
321
374
371
356
339
406
404
315
278
427
324
342
325
352
292
352
325
325
322
287
331
268
237
324
311
312
325
297
324
301
375
357
313
234
232
349
329
327
291
305
378
291
332
316
277
304
299
291
327
319
351
348
309
311
345
247
321
362
262
325
220
324
238
434
251
287
306
307
387
351
284
310
279
274
278
352
344
322
345
365
362
368
309
309
341
322
267
322
315
397
188
294
292
316
323
354
295
216
313
307
343
328
290
275
374
291
330
365
280
327
253
370
339
363
318
335
328
326
269
294
256
227
370
323
277
325
357
266
364
305
256
277
349
345
374
286
367
305
257
253
249
222
355
291
352
307
300
249
315
221
335
238
305
365
322
241
355
334
256
347
289
221
266
238
304
319
309
379
296
335
399
369
311
295
340
247
298
298
309
208
370
390
332
347
306
258
307
298
286
257
257
363
360
367
323
322
255
340
244
252
366
311
337
273
380
337
297
258
354
293
318
356
419
309
341
346
272
369
271
281
370
409
360
354
305
337
388
229
243
285
339
277
279
296
304
275
400
320
345
336
291
297
240
328
289
347
267
255
316
304
412
322
295
333
296
393
345
309
263
205
210
289
309
277
353
284
298
296
292
214
325
325
386
357
307
406
317
270
327
389
321
371
332
397
350
310
223
287
359
384
337
317
273
393
304
309
300
327
380
363
313
336
335
340
289
279
294
328
330
294
313
278
286
341
395
292
281
392
312
317
315
289
377
291
415
339
368
327
371
305
347
384
365
301
309
274
356
319
288
347
306
327
320
402
314
371
236
291
312
324
297
305
367
317
311
309
268
390
361
399
315
241
321
399
355
304
380
247
291
319
344
270
289
348
253
295
322
270
331
340
331
309
348
264
330
395
324
333
255
288
326
312
352
309
282
273
246
362
311
307
262
325
355
305
306
288
406
332
361
323
333
269
324
258
299
352
313
310
334
392
368
328
371
278
283
337
276
337
309
278
321
304
327
323
297
294
338
285
346
380
253
315
342
341
325
282
318
340
300
262
289
259
242
321
352
341
347
398
272
346
243
208
282
283
329
382
305
347
302
312
255
356
339
303
293
246
271
273
317
291
361
388
297
334
367
324
283
302
369
247
282
399
385
366
342
270
322
348
338
299
300
282
412
233
322
387
264
320
376
264
321
313
317
292
264
408
191
322
298
245
402
277
361
308
373
288
372
328
365
299
270
357
291
307
356
216
362
226
327
256
301
259
366
423
419
322
398
398
416
300
327
264
372
355
338
299
285
365
376
315
342
310
322
322
320
412
347
400
304
272
294
328
309
325
332
258
325
358
268
334
300
343
308
313
323
301
335
309
326
291
280
245
334
282
329
221
362
286
349
389
300
262
294
303
249
391
267
292
318
299
359
287
310
279
337
371
258
303
368
257
379
266
339
279
336
292
296
308
287
325
359
363
318
339
273
295
305
299
243
322
295
344
308
270
357
344
286
367
371
327
241
364
337
287
294
209
275
422
364
387
231
332
265
327
278
265
355
316
268
343
365
340
371
341
323
372
308
231
411
360
367
293
357
351
346
345
261
248
283
333
361
318
293
375
275
329
369
287
407
258
406
281
329
338
298
298
372
293
227
319
252
310
353
337
329
275
274
230
356
394
380
300
268
283
369
283
391
288
231
317
271
311
334
295
351
328
292
223
311
335
376
175
348
309
310
272
217
318
367
268
264
382
359
279
285
314
347
219
361
320
392
393
284
400
303
274
375
273
401
328
345
384
322
294
278
314
325
287
276
332
229
352
371
331
328
311
277
266
366
207
220
300
362
329
369
227
309
377
381
333
334
353
299
302
295
337
339
300
369
375
355
349
285
269
281
225
205
322
213
284
352
360
302
296
311
364
322
362
375
325
262
338
257
276
362
257
305
372
334
354
240
291
339
284
369
375
365
282
330
299
297
315
235
343
303
357
348
391
290
374
246
343
275
315
310
323
305
326
304
279
339
287
310
314
368
350
277
300
352
308
354
289
345
245
264
290
334
289
368
375
365
359
314
329
286
314
253
370
282
277
289
284
298
297
258
276
280
312
366
240
278
355
321
328
366
297
357
208
340
336
237
343
218
270
269
370
349
299
341
279
375
298
303
310
377
296
291
292
372
298
329
317
241
298
386
333
264
373
333
307
279
332
395
351
373
254
328
299
348
353
364
327
369
310
292
305
275
254
372
291
274
295
350
298
243
326
329
328
316
269
275
335
253
296
278
302
272
302
397
310
307
306
291
305
334
394
352
374
233
309
334
389
316
367
295
314
384
277
379
259
257
360
329
284
349
288
331
342
337
349
248
269
276
265
225
307
429
306
329
314
273
298
295
301
351
354
346
340
376
326
355
268
221
226
388
289
273
222
206
338
237
314
265
226
331
291
392
330
278
322
363
309
266
262
305
298
349
252
234
312
370
321
265
340
291
397
414
299
295
236
328
306
321
352
240
351
169
331
329
343
368
375
279
335
282
331
281
310
230
250
297
298
322
325
333
336
234
215
315
289
308
312
326
311
309
404
240
312
355
299
356
282
346
350
272
353
340
317
337
255
330
341
276
325
315
296
347
319
351
315
281
307
268
359
346
305
291
300
223
306
347
302
389
240
339
347
402
274
252
327
319
216
356
330
348
356
287
355
225
226
402
367
353
319
270
336
326
354
309
293
367
238
286
262
309
253
359
276
267
321
350
323
266
333
353
370
290
320
322
338
300
241
369
288
294
363
359
318
300
342
338
297
352
320
310
369
277
302
392
384
257
315
417
321
310
301
316
350
247
252
332
388
239
331
345
389
351
338
309
383
286
282
227
399
320
347
314
335
267
264
319
378
308
283
291
295
388
357
289
264
348
301
312
330
338
331
330
288
308
322
262
245
322
340
266
274
315
235
349
314
326
326
319
390
309
323
203
373
270
354
345
297
270
325
334
328
217
343
352
316
315
344
332
328
262
354
363
356
288
350
261
306
325
354
307
374
331
356
428
260
363
283
387
299
333
221
284
330
344
323
303
277
352
372
369
266
327
274
397
348
331
220
297
359
302
342
288
278
327
272
255
366
270
330
339
321
341
306
290
355
311
365
306
375
156
330
328
317
325
254
399
321
337
261
348
273
311
302
266
367
354
339
319
346
329
336
387
329
330
299
299
318
226
298
364
213
258
343
383
298
308
347
359
394
381
275
291
291
320
253
308
374
363
333
277
254
244
281
317
268
337
281
233
296
310
329
308
290
352
266
247
318
284
376
325
230
172
278
312
231
331
310
319
297
340
359
343
274
334
266
307
290
356
375
308
311
335
282
323
269
347
353
300
352
291
253
350
375
298
321
247
374
317
289
396
307
298
325
385
398
364
331
377
383
260
332
386
331
343
239
362
336
376
319
283
270
386
258
235
313
362
337
266
296
280
316
242
363
326
272
348
340
246
334
369
371
290
295
291
317
291
293
305
322
252
355
416
265
392
399
257
269
291
235
293
258
294
405
345
299
324
289
329
378
247
326
284
310
319
337
217
352
295
301
359
288
360
313
304
252
356
331
380
248
234
229
270
359
274
276
358
283
308
339
345
321
297
366
383
277
283
230
347
265
361
333
280
214
301
223
371
337
255
212
410
348
261
366
333
287
302
344
265
316
289
263
289
298
333
354
273
290
321
216
321
378
346
277
342
322
305
312
297
273
333
288
386
304
329
306
365
292
320
283
256
312
405
217
354
208
233
308
347
326
247
409
353
351
257
333
264
364
265
366
316
259
317
267
314
362
360
262
281
303
304
272
318
349
309
236
287
316
316
312
309
372
259
367
308
335
241
332
329
299
311
252
279
216
346
301
245
281
318
321
274
258
324
358
266
325
211
349
259
271
245
283
331
308
374
354
287
327
324
314
392
303
290
306
314
356
335
323
324
309
324
359
314
348
332
308
251
307
330
355
346
333
259
332
330
232
334
319
329
370
319
310
296
255
332
282
300
286
325
349
250
290
287
335
265
308
344
284
321
358
341
352
368
358
290
398
336
234
321
306
270
327
314
355
276
311
244
368
365
398
320
287
250
314
366
327
249
350
357
328
314
353
300
395
423
279
321
316
292
210
365
317
322
310
341
294
317
256
274
291
362
335
317
283
311
373
391
341
317
297
245
205
425
314
314
297
350
340
366
313
359
308
295
291
338
301
389
236
310
332
367
363
252
313
314
312
356
305
329
354
295
301
378
293
247
323
399
291
256
324
357
323
339
278
284
293
375
294
258
288
330
311
316
340
256
363
303
308
308
299
322
250
334
328
339
372
293
339
367
402
305
347
303
275
254
272
303
345
320
360
254
377
319
307
343
300
294
253
246
272
283
360
432
289
277
313
361
328
302
370
315
416
321
275
300
294
408
305
234
392
371
302
367
316
383
383
285
311
320
273
321
438
334
360
320
266
228
371
355
264
316
354
260
336
321
311
306
283
325
326
386
226
361
380
366
212
331
316
313
328
261
387
200
350
321
358
319
295
293
340
327
299
370
291
349
402
362
341
266
290
382
310
331
263
385
339
353
315
340
308
330
334
271
294
343
292
278
197
333
317
294
355
301
335
330
317
310
315
293
231
265
229
336
307
393
356
234
382
287
331
324
253
358
285
267
380
287
207
283
269
309
344
308
385
238
304
234
280
208
334
263
361
325
350
345
331
315
280
242
315
291
368
283
324
259
284
297
352
298
320
360
381
257
276
267
277
269
391
245
276
310
159
296
299
266
311
347
282
296
276
357
332
306
317
389
387
340
394
242
355
290
332
257
307
371
387
351
276
341
338
319
343
270
329
401
317
315
267
321
248
351
346
368
263
337
316
290
392
278
239
297
310
292
314
286
321
323
320
241
292
243
324
345
370
352
323
284
411
290
266
351
225
255
332
315
362
276
290
255
288
300
311
262
311
322
245
250
322
311
277
282
375
386
273
320
285
319
304
290
214
304
306
345
350
278
227
345
299
260
291
274
298
272
293
333
276
337
282
300
267
348
337
315
253
315
328
380
274
349
297
253
303
302
371
278
234
255
304
277
384
271
299
236
260
286
331
307
363
258
397
315
335
358
415
355
406
268
320
392
257
349
318
302
259
331
323
298
324
309
324
312
319
300
391
231
239
399
364
295
378
298
303
317
267
271
390
320
276
359
313
291
346
354
367
313
243
294
313
320
297
272
386
346
334
384
336
299
339
331
206
298
302
345
384
372
309
346
290
338
296
310
266
232
337
310
291
386
299
343
305
343
262
244
315
293
320
307
332
294
350
332
365
283
237
372
303
356
376
325
300
271
290
339
330
301
283
293
322
400
264
341
343
318
252
358
256
311
339
323
330
324
277
355
342
347
291
252
395
348
318
273
284
339
298
407
312
299
288
307
316
347
358
277
330
293
320
296
292
310
325
225
297
379
275
300
377
364
319
304
314
404
322
291
297
363
318
323
367
370
321
384
303
288
283
418
344
375
345
282
290
380
402
411
317
317
357
348
327
370
288
294
257
303
394
367
316
322
346
275
363
286
317
160
406
363
298
334
299
219
413
323
321
453
361
287
299
301
330
297
346
261
310
237
273
342
348
373
308
257
297
226
265
365
342
254
296
284
316
361
198
287
342
305
338
331
293
305
315
282
230
311
302
301
293
335
270
323
362
216
252
416
422
282
275
265
261
348
289
376
238
368
235
350
325
270
249
346
251
330
309
366
260
355
360
365
382
314
358
369
335
378
321
297
329
332
238
310
277
306
361
279
331
317
289
365
330
261
311
286
356
354
214
316
275
305
397
348
280
413
299
278
279
357
335
337
277
355
418
310
334
284
358
294
344
332
331
332
407
291
403
300
295
253
302
358
320
290
334
388
307
383
438
349
410
303
326
341
302
295
355
321
315
348
278
335
273
268
287
303
366
284
311
245
339
296
330
370
322
330
356
304
368
344
251
275
209
262
404
335
361
413
369
266
198
286
330
279
291
299
292
361
353
323
270
363
262
344
371
311
279
267
329
326
277
278
217
249
290
284
292
267
297
331
322
344
248
290
324
259
301
361
336
309
268
296
329
375
248
317
302
324
303
320
311
314
217
293
306
354
348
361
327
324
285
328
310
294
301
307
275
287
328
275
316
328
368
271
339
340
301
296
342
240
290
305
286
329
232
287
346
336
281
347
296
340
271
334
353
290
325
230
292
286
299
342
396
237
313
300
312
330
327
249
323
353
223
244
306
369
287
247
291
342
266
320
328
337
295
311
297
319
296
277
302
337
286
396
252
312
361
214
286
343
370
320
250
357
303
177
339
339
384
265
339
368
299
330
249
296
382
355
283
332
336
299
360
232
313
229
253
343
310
308
241
269
268
333
283
305
381
278
345
286
293
328
323
357
292
371
282
386
278
311
312
385
356
333
319
321
274
378
235
273
368
315
308
311
377
370
309
286
333
364
389
293
309
362
273
330
302
241
367
319
272
297
343
384
345
380
355
347
323
370
391
313
332
326
336
312
322
247
330
292
281
311
299
291
375
259
323
357
299
352
387
239
337
362
325
305
339
354
361
300
331
330
355
339
321
255
308
301
313
330
343
394
332
348
368
322
285
283
438
235
301
332
257
330
345
367
297
270
330
221
361
307
293
305
236
343
326
369
283
350
340
354
309
257
304
342
304
322
410
328
364
375
346
303
313
346
326
388
290
312
276
358
324
301
333
349
383
333
345
320
323
321
298
334
289
376
302
323
310
228
357
336
391
325
373
300
323
266
284
350
355
331
326
287
261
278
270
338
344
303
347
357
306
280
261
326
286
344
332
299
383
276
340
296
314
322
371
300
286
317
328
308
348
319
330
333
428
328
390
375
376
359
255
383
309
297
339
306
287
336
336
337
405
325
280
349
286
376
288
271
350
329
341
279
372
332
260
279
316
294
328
326
346
310
377
348
340
322
267
325
305
289
363
269
324
306
238
279
348
294
347
246
333
306
320
271
362
300
298
359
285
342
250
350
339
260
354
332
332
287
283
305
352
348
330
364
371
301
270
340
284
392
302
321
306
392
352
370
320
272
348
285
300
309
360
314
280
288
302
359
326
316
250
323
307
202
347
283
406
372
305
354
319
343
273
371
297
315
287
379
270
317
335
286
276
304
294
359
271
300
209
364
322
255
245
362
255
260
307
335
324
387
303
305
356
344
330
379
276
290
300
189
322
344
295
373
293
396
284
330
343
351
350
311
407
368
352
314
342
336
364
314
327
211
316
285
285
289
329
286
320
325
301
331
349
277
297
294
267
335
354
319
315
266
354
327
308
350
305
342
349
299
305
286
288
326
297
304
309
366
264
243
302
284
307
316
323
334
306
309
315
311
272
343
271
339
266
336
234
305
313
313
343
256
322
316
315
296
304
338
290
371
268
245
281
339
317
279
296
322
380
346
248
338
345
255
275
284
249
275
306
265
306
262
313
292
356
291
304
410
359
282
289
433
334
288
282
314
355
300
229
334
315
296
342
279
338
336
270
290
309
263
356
394
376
345
255
335
246
308
298
309
296
301
355
275
310
267
341
246
279
385
274
355
359
234
353
356
291
335
290
291
354
345
274
366
351
384
265
376
340
338
255
248
342
290
292
283
326
298
304
321
391
292
322
355
314
365
278
251
300
283
270
312
328
253
338
231
222
370
291
419
331
240
328
298
232
301
336
280
422
428
343
222
296
258
336
340
224
402
252
305
272
320
322
382
349
308
293
269
256
302
310
348
301
291
309
250
386
326
373
295
359
282
258
276
290
249
316
278
349
324
428
296
347
335
336
332
357
269
314
324
288
277
293
328
298
331
332
395
351
271
328
286
251
243
394
306
403
238
314
364
312
322
341
289
282
261
286
307
262
301
406
364
346
251
347
337
313
314
336
344
339
362
322
385
321
359
265
322
300
271
330
366
265
328
346
220
355
280
321
331
280
322
280
332
318
384
320
307
328
333
314
336
319
354
304
306
385
261
315
321
301
291
366
369
348
305
284
336
373
331
377
347
329
343
262
289
360
326
269
425
281
344
323
299
356
323
315
322
315
301
346
321
299
265
343
343
271
367
346
398
306
293
335
349
299
383
398
254
344
319
191
379
246
323
319
377
293
339
331
258
319
298
258
339
329
337
356
373
348
367
318
284
291
366
371
413
291
367
282
281
315
265
316
260
256
334
311
380
297
303
340
284
387
375
293
268
325
292
379
389
276
321
291
313
401
360
298
359
358
270
341
363
376
233
332
310
300
340
302
376
302
264
258
330
313
289
358
346
266
335
373
323
340
337
319
337
361
352
377
374
281
267
327
302
284
328
343
322
339
331
385
289
285
356
296
386
346
304
303
271
354
350
356
330
232
221
261
342
244
340
315
349
317
297
383
366
370
397
309
294
310
323
330
353
390
396
295
332
307
387
406
198
277
338
332
213
343
367
349
347
233
312
283
421
336
428
328
241
215
350
375
321
395
329
321
299
352
239
290
311
290
260
275
362
334
354
295
249
399
327
348
311
321
304
330
324
311
306
338
325
326
391
320
263
316
261
338
318
270
327
311
377
298
341
305
274
341
305
280
277
362
296
336
382
397
355
380
253
238
348
301
367
355
382
237
367
315
245
361
382
352
380
261
266
372
306
306
318
297
280
306
405
221
289
356
294
299
353
390
265
300
318
316
403
319
309
267
210
318
320
312
350
225
279
304
303
309
293
320
341
396
273
290
258
277
324
349
313
402
300
379
355
388
284
322
311
352
324
301
293
376
322
350
353
359
236
352
344
272
337
320
387
263
258
309
303
327
283
379
361
302
337
344
341
342
366
405
281
343
334
332
355
294
337
329
304
344
298
325
303
194
318
334
338
331
361
245
314
286
305
290
309
353
328
318
340
246
269
357
286
251
342
328
429
286
349
263
288
277
226
280
413
246
297
336
312
344
281
339
357
307
280
320
280
337
299
354
304
293
311
363
340
313
251
283
406
399
285
301
323
306
317
306
341
303
347
277
326
332
316
295
341
345
305
293
314
377
304
363
338
288
274
380
281
332
262
372
329
351
360
292
343
296
299
320
302
323
278
247
318
333
345
354
290
336
304
419
326
310
357
299
321
370
321
322
299
281
318
316
258
319
337
314
271
382
377
329
358
311
269
284
361
263
441
390
282
336
313
320
306
423
268
305
320
338
328
293
348
311
377
386
286
291
341
185
384
321
303
368
309
385
390
288
340
333
365
319
382
403
335
363
318
280
264
282
301
305
332
301
316
288
352
308
325
235
376
345
342
361
398
237
348
210
317
310
250
254
371
358
289
311
324
356
368
291
290
348
337
366
320
368
274
287
304
312
308
340
337
345
281
360
348
374
337
243
243
360
344
347
334
324
324
325
297
389
336
364
313
243
348
251
327
296
330
261
343
398
337
362
368
336
334
248
360
280
354
316
325
358
276
367
276
269
322
303
390
288
336
230
392
245
272
350
362
323
233
271
281
412
317
338
305
374
297
320
295
323
347
305
362
358
348
339
395
261
300
268
330
408
248
329
372
407
274
198
366
301
390
363
295
312
297
322
343
341
356
363
267
335
308
241
352
348
338
290
307
376
282
367
314
348
279
267
273
336
310
300
420
405
331
291
324
339
299
339
201
299
268
312
280
322
375
366
384
286
339
251
314
305
222
304
257
252
269
235
384
339
317
290
307
299
336
248
256
299
324
282
265
309
364
284
320
334
291
262
309
373
289
251
298
281
270
291
300
301
284
274
389
303
353
288
236
203
323
335
348
276
261
403
291
334
393
300
355
356
309
231
364
380
292
293
310
389
382
290
334
286
248
336
363
331
343
285
307
280
392
309
318
256
373
264
362
280
264
426
308
358
311
259
298
310
351
315
329
252
307
333
382
339
303
336
330
305
255
281
319
338
377
389
323
310
401
297
380
339
300
313
262
393
338
363
299
352
344
352
351
266
333
291
297
264
324
330
232
275
279
365
325
263
318
357
321
362
319
265
295
330
334
221
287
316
341
333
277
360
359
374
282
336
306
367
285
319
294
379
280
324
215
229
269
342
264
277
338
317
398
316
218
304
322
324
363
334
296
414
308
283
285
304
244
348
303
359
325
266
390
250
286
345
357
369
300
324
338
275
245
307
332
306
332
243
337
381
355
300
279
346
354
277
369
349
224
277
313
275
267
241
341
166
196
347
302
276
331
285
370
271
370
283
294
320
366
303
340
369
274
342
339
329
257
270
348
284
356
253
242
237
248
335
335
315
316
354
358
237
260
372
300
256
354
290
313
307
330
271
345
292
263
361
353
384
329
350
251
414
285
349
339
297
286
366
337
258
333
294
342
328
326
301
318
283
351
320
342
312
392
290
312
348
329
306
319
264
301
340
273
308
355
362
346
330
337
256
277
413
314
305
348
326
307
392
268
286
288
321
283
254
256
335
384
337
301
292
285
295
272
381
293
287
289
352
368
248
396
365
324
314
284
292
294
346
325
310
376
311
300
328
328
239
359
333
350
328
362
318
250
280
322
314
312
315
257
446
274
294
319
329
331
348
331
317
336
368
312
283
385
349
304
311
272
331
308
251
311
336
356
360
287
322
328
243
392
230
282
350
335
311
305
307
357
274
331
262
294
311
355
297
278
297
256
282
355
213
425
304
325
212
310
281
292
350
264
338
383
279
300
269
298
334
280
336
314
339
301
372
336
310
325
341
224
313
291
355
329
322
309
244
349
371
286
312
282
293
302
293
207
339
298
289
355
350
261
319
218
353
351
337
329
341
292
339
343
262
295
375
353
304
239
246
393
257
307
323
362
301
260
321
295
304
345
353
238
300
371
320
322
344
357
359
228
369
322
248
367
295
291
363
309
292
259
271
240
356
191
338
307
315
395
226
329
270
307
348
282
267
284
270
296
356
328
332
285
370
310
331
275
322
326
431
302
377
286
305
311
314
382
350
330
289
363
375
289
361
252
371
264
342
258
286
334
354
288
370
352
297
273
354
339
263
356
369
375
269
297
319
288
244
293
320
211
333
280
257
269
259
282
286
266
344
306
327
298
302
392
276
257
333
417
303
303
354
353
299
291
305
315
272
296
286
292
278
233
322
342
272
258
322
306
268
254
349
383
307
347
275
323
272
306
333
316
351
332
265
321
354
281
315
327
394
324
327
310
288
300
281
345
327
421
400
328
316
369
254
274
319
338
366
307
301
337
353
351
337
387
316
327
378
310
300
236
320
318
330
294
359
403
335
376
311
328
314
220
399
285
306
228
302
310
351
300
326
371
295
251
352
281
302
276
282
354
275
243
329
225
320
318
271
378
346
320
357
334
355
386
296
268
302
357
421
298
268
387
284
374
287
316
281
291
370
289
286
383
347
334
317
326
367
300
324
265
281
361
259
300
336
289
297
416
307
381
302
296
359
284
260
310
293
325
312
279
310
307
277
351
307
277
282
296
297
374
268
307
294
320
274
373
336
267
272
307
313
248
310
325
342
304
338
362
286
371
243
296
272
268
357
297
315
298
346
354
302
227
295
307
345
248
293
309
337
355
386
285
344
367
293
286
343
236
340
350
226
270
367
308
358
306
273
246
294
318
296
303
293
364
341
296
323
296
210
258
334
339
306
350
373
324
321
255
349
332
264
300
382
396
303
354
305
322
312
290
319
299
318
360
329
299
333
299
359
327
300
244
388
334
353
264
283
268
275
264
376
312
254
315
303
317
341
310
275
302
294
331
279
264
320
322
294
314
284
346
268
324
392
329
342
314
342
250
325
254
315
292
330
246
278
366
298
366
273
309
386
350
402
340
290
383
284
360
368
377
307
301
330
301
387
373
249
246
312
327
359
327
299
370
254
269
318
260
280
263
303
295
328
304
307
296
288
259
300
393
308
357
298
300
337
431
336
342
285
292
362
213
287
314
380
330
255
361
342
299
290
347
290
320
295
295
350
382
299
338
345
302
297
387
263
310
327
348
264
331
207
347
272
282
351
282
339
278
280
283
310
268
277
379
286
311
328
307
308
309
252
300
354
233
345
323
265
327
342
301
328
298
274
421
289
279
400
363
356
282
388
318
347
314
308
372
289
273
256
383
299
355
268
270
327
338
371
417
333
349
262
420
306
286
269
245
342
356
232
302
360
300
369
392
305
370
299
326
360
324
336
300
315
355
341
220
345
302
335
391
354
323
409
320
316
405
344
300
339
309
276
326
235
312
278
304
319
393
378
217
297
366
315
310
361
396
360
324
266
308
296
271
366
344
317
279
302
312
324
364
350
371
310
293
305
356
311
336
409
234
268
359
318
232
332
222
310
344
258
364
312
385
275
323
310
255
339
303
291
331
292
345
268
342
350
333
335
293
328
253
344
322
301
308
340
270
248
287
293
383
384
277
356
265
340
249
330
369
346
244
340
387
280
294
304
309
368
329
334
363
308
410
248
241
283
325
305
399
227
311
371
376
351
328
284
369
381
271
337
303
287
261
309
310
316
337
348
344
383
321
305
326
273
298
298
343
318
298
334
300
305
299
326
372
311
305
378
291
310
260
353
278
267
355
331
304
357
380
374
208
284
365
340
354
308
348
296
280
350
323
338
319
309
327
296
383
358
316
406
293
370
354
352
257
315
278
329
323
340
304
307
313
311
389
360
254
224
354
372
351
202
310
338
326
317
313
398
327
293
385
250
416
255
238
287
316
275
369
327
350
307
225
324
285
208
326
395
275
351
348
294
297
237
308
365
326
286
371
389
303
331
314
266
327
308
236
292
259
297
335
295
362
376
372
302
276
364
345
374
297
360
328
365
269
312
250
249
353
257
385
342
302
399
301
374
373
265
241
341
381
316
328
358
328
326
326
342
306
348
242
321
361
335
278
339
368
356
297
297
358
290
262
304
294
355
336
341
329
246
291
329
289
296
322
320
334
400
295
309
353
287
294
296
349
396
293
309
294
324
284
287
293
337
248
306
398
267
268
295
364
293
302
316
253
328
315
310
311
280
330
326
332
286
365
321
320
339
261
364
354
215
308
263
372
281
343
336
221
374
316
263
260
220
329
336
342
336
329
348
277
318
339
396
311
384
341
359
317
241
294
257
265
326
298
313
312
255
325
272
302
315
344
321
405
278
382
311
344
400
331
304
340
240
321
331
222
377
189
286
368
230
339
353
356
329
377
336
286
248
408
303
306
255
402
284
352
337
294
291
278
336
349
305
331
297
203
240
220
244
402
303
294
299
285
356
322
440
288
308
354
371
268
300
354
323
316
260
298
339
341
248
286
290
314
250
282
214
201
353
289
251
293
320
268
294
234
220
363
264
348
380
249
274
281
330
323
292
369
309
367
275
207
263
286
367
262
380
288
361
304
293
202
318
345
287
286
378
294
285
345
341
307
365
270
318
344
279
302
220
368
318
327
363
343
211
404
322
373
307
273
368
257
299
322
265
346
379
373
277
352
362
323
304
348
310
297
237
338
348
349
263
342
336
233
303
303
310
330
277
319
277
369
327
351
302
334
267
302
363
334
404
269
311
359
296
323
377
339
293
283
318
364
304
346
301
339
306
283
266
294
307
363
310
322
380
354
317
315
397
285
338
334
290
322
342
317
278
359
344
288
329
299
315
243
354
305
363
233
313
351
339
412
313
342
344
380
374
309
365
291
328
302
314
251
278
309
353
174
346
319
316
315
264
254
327
348
343
411
357
335
319
340
284
305
308
350
285
293
359
263
225
255
272
277
306
361
358
335
295
366
309
397
430
333
311
374
374
320
307
306
343
303
379
357
326
376
302
375
335
314
362
326
369
292
353
381
364
249
289
241
274
358
265
268
290
328
314
322
359
329
376
381
236
340
347
288
311
286
374
473
255
343
386
293
279
309
305
396
352
272
288
247
321
357
318
337
398
327
372
340
343
364
250
259
318
348
239
307
361
273
263
330
342
315
213
222
301
286
280
404
379
378
261
404
343
341
362
326
265
271
320
360
334
356
334
297
269
286
325
363
300
257
390
269
297
285
297
416
316
358
326
290
232
312
353
394
249
317
248
362
326
365
334
302
272
307
333
304
255
317
348
296
370
293
311
262
318
233
342
331
280
329
301
300
360
383
335
380
286
278
367
255
322
294
345
305
309
350
284
365
244
363
322
321
346
265
303
315
303
299
319
302
285
359
287
287
344
401
287
301
334
254
449
279
318
280
304
326
372
314
302
346
363
260
266
325
373
254
336
309
326
305
333
292
396
340
256
434
256
353
320
322
295
274
300
286
309
299
314
327
344
275
352
338
260
331
400
330
320
322
300
242
298
266
399
348
322
409
200
330
356
285
319
312
362
306
348
328
364
281
261
306
240
290
224
292
330
264
411
333
374
331
282
401
380
309
348
289
253
235
303
311
349
228
298
392
339
338
290
352
286
358
285
283
330
238
281
276
432
332
373
331
311
289
324
361
289
225
382
390
246
309
339
220
234
291
317
295
340
346
274
332
267
394
294
159
317
343
285
291
346
320
301
271
373
341
355
414
259
309
258
230
330
354
327
361
294
369
303
260
353
362
242
255
348
300
316
335
429
328
284
367
292
270
278
273
286
364
309
381
209
264
331
344
283
335
317
304
327
413
322
295
290
336
391
403
402
337
370
355
307
239
275
347
219
381
335
289
396
275
284
393
354
419
386
324
292
260
345
324
368
255
275
307
360
316
290
347
311
247
383
306
346
296
331
293
269
293
310
296
372
361
345
276
286
300
307
315
375
319
277
388
304
298
294
274
319
353
343
323
260
368
320
265
313
366
309
265
345
266
322
381
320
345
336
282
325
341
296
342
289
275
359
299
349
326
299
373
273
346
425
343
355
283
242
321
366
322
382
266
241
307
376
322
278
290
334
336
260
261
359
347
327
321
381
220
291
286
294
275
381
320
324
339
350
303
319
306
239
323
330
345
281
247
271
289
322
255
321
302
336
287
338
275
320
302
257
285
364
387
301
342
276
331
382
336
355
342
289
344
403
366
273
291
399
304
355
274
383
299
367
211
272
340
260
299
360
253
364
249
354
333
300
270
286
277
248
312
312
270
356
315
321
292
289
291
295
337
376
286
291
411
333
372
280
294
412
290
307
284
324
292
345
245
317
303
314
289
364
300
303
357
269
299
294
330
312
303
374
299
310
310
327
397
308
276
338
255
361
317
262
339
295
272
408
263
269
357
377
335
309
292
333
385
338
320
328
239
339
368
405
323
321
266
297
421
298
303
251
323
362
332
283
388
378
291
379
306
253
367
334
330
268
331
376
164
358
276
315
368
259
351
302
334
339
293
317
315
278
337
311
320
311
327
349
257
348
323
305
319
248
229
300
275
303
286
288
239
265
276
330
280
271
288
392
333
380
258
337
355
362
328
384
369
368
262
292
233
334
392
312
293
285
366
351
291
297
233
381
343
371
304
285
321
353
271
357
245
394
356
284
354
274
371
292
356
269
326
195
293
316
301
266
303
292
355
295
354
271
344
250
329
381
352
335
361
314
294
244
372
370
247
312
304
283
327
312
376
278
321
268
310
307
326
298
290
334
361
348
309
322
334
239
363
222
292
362
276
286
318
265
407
285
258
332
302
323
272
316
344
299
319
368
338
261
299
400
376
310
314
228
353
303
342
330
352
308
333
427
362
286
327
281
265
380
361
367
356
308
255
349
274
372
336
263
368
308
326
255
276
269
258
350
327
394
298
287
330
321
222
364
316
293
241
312
317
352
272
354
273
263
354
261
325
386
276
324
390
325
251
352
283
320
300
352
301
287
345
314
283
380
246
270
288
320
290
345
300
330
357
283
360
358
298
366
336
283
281
360
211
314
311
319
263
360
338
354
268
350
346
436
308
307
313
307
401
294
267
335
321
369
330
246
322
379
342
314
325
314
222
242
403
220
256
333
283
334
379
320
303
242
284
323
218
326
319
326
326
304
381
315
236
250
301
390
303
402
327
249
320
279
323
308
256
357
364
287
277
390
306
345
318
365
260
323
304
392
295
332
300
378
346
328
319
366
371
317
280
295
331
339
401
361
303
267
356
261
216
293
306
270
342
353
328
375
316
319
317
276
312
332
394
292
360
331
322
364
312
279
393
348
246
301
331
316
206
218
364
288
297
254
277
333
293
230
355
301
277
302
283
277
345
375
389
369
335
260
344
259
297
307
271
294
295
322
336
285
336
329
344
278
353
318
327
383
293
366
230
320
304
281
407
313
306
337
374
320
255
243
269
316
300
304
413
331
369
265
312
255
355
343
348
331
260
296
290
358
275
269
346
291
244
304
278
308
268
434
366
374
315
333
333
318
355
320
356
296
320
337
364
282
348
279
296
319
320
312
356
211
334
342
396
288
318
352
300
298
316
219
355
294
309
368
333
339
283
326
339
356
334
364
312
264
310
331
269
357
352
261
325
319
324
231
384
375
301
331
272
316
282
274
397
266
268
277
316
286
292
268
346
285
272
380
297
267
345
323
367
327
348
367
309
287
288
329
304
331
334
255
365
290
287
361
272
350
289
333
276
269
278
347
326
237
289
301
393
374
278
264
373
318
339
365
297
291
313
369
317
368
327
325
251
270
272
354
322
327
279
271
329
310
247
342
365
291
234
317
303
275
272
334
220
341
310
260
340
285
277
382
305
366
388
415
322
304
307
281
391
259
344
302
290
376
214
245
340
355
271
244
379
388
355
260
250
222
321
261
334
314
291
270
373
293
247
299
280
330
279
231
292
365
304
284
345
292
260
245
356
259
248
351
319
321
345
267
354
305
298
284
248
332
256
272
382
357
412
294
346
331
337
327
343
291
348
314
329
359
237
369
338
275
277
299
335
294
368
300
306
220
274
302
396
299
345
229
354
331
320
343
336
273
353
355
254
321
289
302
317
253
316
227
327
310
283
318
369
367
400
340
327
289
279
284
346
276
368
293
261
434
359
367
298
301
242
279
293
322
325
343
264
346
298
294
289
309
328
319
309
331
307
258
303
281
342
323
213
206
366
307
306
330
305
313
262
397
352
332
337
290
216
379
291
262
282
299
290
368
248
214
337
297
310
416
323
334
295
296
353
273
278
270
275
287
381
307
283
296
260
273
266
374
383
273
343
296
344
261
348
362
318
307
267
304
347
269
206
313
299
233
260
293
271
302
412
302
338
322
196
420
361
346
246
263
282
221
291
302
284
332
353
345
264
336
317
347
350
299
333
343
425
222
273
364
345
233
278
273
331
381
285
296
341
266
352
330
368
263
338
315
293
263
229
362
308
366
248
271
306
300
310
326
325
360
375
398
291
316
335
295
238
343
307
249
359
293
300
348
293
418
320
277
290
294
312
347
395
325
389
374
257
313
297
318
290
326
303
317
288
312
337
356
314
272
350
281
361
326
261
279
191
323
239
380
318
303
372
319
258
320
349
292
276
338
355
259
277
348
212
217
353
339
346
367
403
364
361
254
390
288
253
260
338
399
323
289
312
297
360
323
267
329
271
269
285
338
322
335
362
340
315
371
263
290
330
377
311
255
227
389
380
407
299
223
346
343
350
310
264
346
246
317
319
386
250
321
329
318
304
350
354
284
267
277
328
268
312
238
310
273
279
300
321
262
311
294
280
328
352
378
303
316
262
302
266
298
340
250
287
297
266
253
306
263
349
381
375
350
341
319
274
313
212
249
323
343
342
306
318
361
344
287
287
334
273
375
298
425
333
314
307
354
391
241
347
291
331
295
241
309
362
243
291
402
211
289
303
282
283
308
288
326
353
262
312
244
304
348
347
185
271
300
216
328
324
349
320
371
342
250
349
282
303
260
386
287
339
343
312
271
320
265
341
369
270
252
363
241
360
301
310
341
330
255
335
316
295
328
352
355
311
302
339
292
223
335
281
402
327
338
276
266
305
374
264
351
320
386
252
374
359
318
318
344
359
349
253
243
325
321
403
367
289
408
333
241
285
345
277
251
327
310
311
292
250
344
408
373
322
397
286
277
293
427
297
279
327
347
363
289
393
377
380
374
311
266
307
394
302
372
370
274
361
293
260
277
332
288
270
345
247
309
325
311
328
365
330
306
314
269
319
341
198
321
341
294
333
343
353
359
392
297
260
291
319
301
348
346
253
310
283
264
340
345
420
400
316
321
294
287
310
331
281
307
364
346
278
344
263
283
343
252
346
339
364
319
294
271
318
359
186
384
320
302
274
271
314
251
321
269
310
361
330
381
325
321
285
275
280
303
294
280
260
350
235
346
296
296
341
339
309
381
291
287
296
371
296
298
306
344
290
352
269
425
304
357
346
348
287
308
271
298
296
349
317
307
269
340
334
345
312
299
316
292
285
312
391
349
397
257
295
300
267
363
334
322
266
354
282
312
241
310
300
418
236
330
284
281
263
374
274
336
334
266
333
310
299
326
298
316
393
330
333
380
266
251
257
252
311
289
263
295
371
326
374
374
319
314
357
310
311
257
351
285
284
372
255
365
312
401
309
205
321
243
370
299
291
366
290
365
280
308
367
329
386
299
239
309
264
225
371
306
302
378
385
274
186
324
380
348
333
250
316
346
231
316
308
256
373
286
356
324
310
334
315
315
334
282
281
329
347
361
355
261
267
296
361
344
308
305
298
241
344
342
241
255
379
252
373
320
218
331
277
316
338
339
338
346
285
366
312
288
260
242
264
252
355
310
337
258
349
429
327
351
238
302
388
306
275
325
266
361
309
224
306
248
435
274
372
253
283
306
357
309
287
281
294
295
317
310
360
349
334
232
257
371
310
410
242
325
341
320
313
311
290
297
318
241
321
355
260
213
289
285
353
243
337
413
372
299
347
269
371
350
380
310
340
235
292
294
300
288
347
312
298
264
322
289
299
356
368
296
355
347
304
324
342
274
343
314
249
240
367
268
355
306
278
365
421
235
253
324
289
344
295
329
329
320
248
263
306
320
346
301
401
333
360
262
381
337
316
379
344
394
288
294
283
347
397
325
327
338
337
375
316
386
281
341
289
223
305
359
324
323
280
372
316
250
383
384
246
361
319
255
253
294
371
313
255
349
433
273
353
363
286
376
258
283
351
318
270
301
332
412
256
396
324
354
371
275
258
295
347
269
283
313
309
260
337
284
295
306
372
316
329
286
316
370
308
267
344
292
275
334
252
268
307
305
432
338
350
329
333
315
227
333
282
336
245
327
356
365
332
282
366
296
266
252
313
318
372
399
337
293
345
260
344
371
300
276
363
328
328
274
356
338
334
344
367
332
299
289
350
349
337
280
377
380
361
327
331
365
260
300
251
328
335
200
255
309
378
284
200
270
289
312
329
295
288
342
326
268
330
296
404
377
303
364
309
345
302
221
308
312
350
291
306
344
353
274
299
302
282
413
345
335
251
286
339
339
273
379
310
304
355
301
303
323
280
420
381
292
382
262
302
338
301
277
215
355
338
329
317
338
379
356
282
264
303
366
323
250
317
281
444
338
199
365
351
328
392
288
284
259
258
293
346
288
267
390
319
316
376
355
349
318
354
290
317
228
364
325
290
285
229
299
190
228
379
367
320
259
351
295
313
338
207
311
328
300
275
276
287
337
351
349
331
318
327
345
393
256
306
251
272
335
225
336
326
287
281
302
296
320
373
300
284
294
341
275
259
383
308
330
295
282
350
330
335
353
293
323
285
311
268
308
328
336
341
365
329
252
300
344
332
245
310
341
270
270
306
351
306
270
363
305
326
319
248
345
237
321
298
339
235
346
272
280
273
296
299
286
350
300
312
358
341
287
304
324
359
339
291
284
331
303
381
289
312
379
299
268
416
299
229
267
346
225
293
368
368
290
301
338
264
288
324
354
283
325
295
251
385
371
264
347
283
285
427
282
218
323
198
305
412
317
312
312
373
300
370
391
381
304
296
269
341
231
318
351
279
305
324
288
256
305
348
315
254
299
292
241
338
300
346
330
366
257
299
352
369
383
356
334
371
380
283
334
342
303
333
263
337
317
360
320
287
347
285
332
389
252
345
307
213
253
298
214
336
376
284
304
299
321
321
362
320
320
273
340
383
299
340
337
346
340
339
353
304
231
355
324
287
362
271
357
332
302
251
334
409
363
341
301
320
290
336
310
309
288
312
404
369
290
330
268
241
326
352
379
315
261
286
347
379
362
356
303
295
316
371
234
299
288
259
341
317
256
300
280
341
223
339
417
363
313
227
336
327
295
277
346
332
335
284
340
347
223
401
255
256
347
313
313
347
405
341
322
322
255
243
350
316
295
342
316
314
354
344
326
293
315
303
228
402
277
319
350
378
334
342
365
312
270
280
265
289
335
314
338
276
375
323
284
368
327
308
207
355
331
270
284
317
258
300
339
276
304
366
292
327
366
297
325
282
314
260
230
316
301
387
258
358
335
303
249
377
248
383
420
325
307
312
215
307
329
328
325
355
283
326
346
221
226
252
270
333
310
272
276
325
255
299
268
290
218
347
302
281
312
346
273
198
312
280
354
281
359
283
274
342
308
341
310
260
341
253
259
369
255
321
277
251
308
343
401
224
316
399
293
312
257
302
412
379
337
342
341
315
374
326
258
342
345
349
297
245
355
306
301
365
396
277
277
323
355
353
350
340
332
375
288
303
214
323
338
429
355
263
308
345
307
325
345
253
300
318
310
320
345
276
254
294
319
363
328
304
332
333
264
350
279
268
355
291
307
309
311
333
337
210
276
275
385
294
373
234
352
340
322
248
390
310
229
350
327
221
408
254
263
291
236
251
364
322
371
259
320
300
197
243
287
343
249
279
315
304
299
304
239
256
314
251
307
375
316
288
234
337
301
286
340
310
235
338
333
317
284
199
375
379
361
308
355
362
337
296
309
301
307
290
370
267
262
293
353
282
327
351
288
330
323
337
373
296
345
314
322
235
357
353
243
290
345
229
300
285
344
353
347
338
298
292
307
300
290
368
334
311
250
231
361
362
361
352
324
325
334
304
363
357
302
335
246
334
288
227
332
344
399
300
385
293
264
257
338
343
297
337
281
320
289
317
349
303
378
332
295
360
301
382
302
310
362
368
329
274
309
302
279
272
344
349
259
336
352
315
339
335
285
335
360
217
244
328
270
261
358
207
411
324
327
399
375
282
321
296
305
371
301
343
373
211
269
334
341
297
280
329
319
347
302
258
309
381
285
233
282
269
244
277
364
232
290
326
279
330
256
273
241
347
335
303
292
285
312
318
314
314
347
272
335
297
291
376
333
345
323
242
325
223
364
341
324
345
343
321
346
302
285
290
242
342
226
308
306
310
327
371
276
366
296
328
356
305
323
388
320
364
302
305
260
286
269
407
231
273
255
364
294
263
317
324
333
229
281
316
257
378
342
295
300
328
323
298
343
317
313
259
221
258
270
335
330
301
288
333
309
312
324
356
357
316
243
301
379
319
383
338
390
333
380
253
348
305
324
328
294
342
300
323
369
324
276
404
329
396
387
318
268
307
262
317
243
282
309
304
233
310
342
278
334
333
220
298
303
306
326
351
355
378
212
321
302
376
208
312
285
318
339
300
246
267
266
331
258
284
298
271
427
308
325
321
384
290
348
365
314
382
301
353
199
299
364
280
240
363
326
264
349
358
338
237
278
252
360
259
292
315
338
323
250
293
361
285
350
228
326
339
371
369
362
323
329
260
341
299
241
364
324
270
358
336
366
264
336
306
303
330
250
340
361
327
338
344
350
371
351
333
317
370
336
256
287
302
400
265
301
280
283
266
334
444
370
307
265
340
357
296
330
343
394
349
373
307
314
342
347
320
300
268
368
298
266
349
292
339
345
345
331
361
293
335
264
354
245
307
254
423
330
350
367
291
352
377
300
288
234
296
322
406
300
293
406
352
287
278
277
274
375
350
291
349
306
340
265
269
278
339
223
388
310
272
304
253
241
353
253
286
221
327
331
384
238
287
231
338
364
326
356
299
349
337
355
305
338
280
377
248
312
326
390
332
304
331
310
297
380
325
315
342
274
319
341
314
310
349
405
349
354
303
367
272
262
272
403
314
357
317
299
316
329
315
342
354
284
308
351
300
312
296
392
265
312
345
349
319
374
343
302
287
360
262
277
353
383
341
310
291
305
180
345
306
245
349
311
325
336
230
246
353
357
278
346
281
287
275
214
267
261
323
335
277
284
354
285
315
290
260
317
264
369
414
282
387
366
316
407
307
289
335
283
348
276
294
344
363
305
311
342
369
364
269
280
285
309
271
271
249
252
232
395
375
286
372
286
291
300
340
380
352
277
379
304
365
339
351
326
428
368
239
307
371
273
315
325
244
299
307
322
349
306
301
339
268
358
405
320
323
405
299
272
236
365
346
345
310
279
251
299
241
355
306
347
287
287
340
350
249
214
393
367
275
288
389
332
227
376
298
319
363
312
338
353
248
253
352
321
299
318
321
342
316
415
322
251
400
283
229
332
345
287
343
296
254
326
315
379
318
325
332
304
337
302
296
313
371
352
340
433
418
330
383
277
333
274
274
329
360
300
276
257
394
307
341
348
293
331
282
293
294
367
255
333
325
353
253
258
402
259
342
414
258
342
288
275
258
264
303
336
341
394
271
337
314
322
305
331
345
257
329
214
298
324
237
282
340
322
297
312
343
366
314
303
384
279
348
264
276
351
374
370
298
291
331
317
300
326
256
325
281
374
309
298
412
277
306
308
337
317
247
345
347
324
348
349
317
366
234
344
356
416
391
322
385
299
218
378
362
369
209
373
303
247
307
272
368
338
354
349
242
339
335
246
301
290
269
313
298
285
303
310
349
312
359
372
401
310
336
330
274
307
307
404
324
277
288
331
281
347
287
250
349
291
335
279
325
335
269
292
273
278
295
346
294
363
330
371
365
256
355
298
326
278
344
370
327
317
312
363
326
324
312
356
303
287
278
259
329
312
275
297
328
295
347
190
340
307
319
365
314
285
260
328
340
306
368
268
360
332
368
284
344
418
316
303
366
257
265
355
289
328
336
339
394
347
315
377
295
274
314
258
363
348
367
306
306
319
373
348
254
327
331
306
326
305
356
307
265
314
266
387
363
317
317
312
331
334
308
325
329
289
313
322
254
345
279
302
277
319
292
367
312
345
356
302
291
271
302
262
301
326
351
240
312
278
344
306
319
277
302
269
265
340
325
336
317
304
397
320
316
352
271
399
188
350
346
351
386
376
279
310
344
314
295
374
245
377
317
312
222
316
327
296
289
369
293
281
363
318
395
281
273
349
326
332
305
337
299
354
299
353
299
344
248
333
294
289
396
351
284
299
319
282
325
289
309
300
276
345
357
351
382
337
419
281
378
316
270
244
327
351
238
242
327
327
281
245
244
323
333
281
347
254
358
325
330
315
300
317
338
319
306
347
331
403
296
309
328
360
312
288
298
306
231
249
326
303
345
260
328
255
300
314
222
262
264
283
347
314
349
330
305
296
267
353
297
336
311
238
278
278
299
286
240
301
294
368
331
329
321
258
305
275
326
277
376
296
337
331
287
411
293
346
236
330
329
289
310
317
310
308
283
305
302
312
307
364
418
237
251
218
278
415
285
340
340
301
361
324
232
234
237
353
360
216
392
370
298
312
291
339
224
354
319
270
375
305
381
322
271
256
317
280
299
326
287
314
370
222
305
381
239
366
292
274
241
306
262
319
336
317
233
340
283
318
366
302
359
286
413
283
290
323
315
386
248
370
275
321
204
317
323
298
214
301
388
300
300
278
265
300
330
308
259
262
284
344
269
283
247
288
372
316
337
268
306
296
293
335
236
296
326
277
381
295
295
255
281
306
263
313
329
338
277
301
290
269
326
317
378
295
239
296
272
290
375
330
256
296
325
331
315
302
291
348
316
287
348
338
319
281
346
415
281
341
379
315
234
346
270
315
332
393
307
315
366
319
341
378
272
325
343
414
276
292
368
298
298
371
335
377
298
413
273
303
282
346
284
316
298
405
313
286
324
405
295
315
351
373
314
348
230
306
308
378
251
329
296
283
333
317
317
329
394
290
271
310
356
313
253
343
250
381
288
171
272
274
321
342
403
351
235
265
398
385
324
331
290
256
356
302
282
349
318
337
263
339
341
338
385
413
253
326
288
273
326
320
199
239
353
302
381
310
325
327
202
357
350
254
327
306
324
326
284
336
262
316
318
327
318
351
300
359
311
377
377
321
341
307
356
352
291
325
334
342
259
310
350
320
330
352
347
334
310
318
292
352
314
354
282
314
295
303
359
317
362
341
234
301
293
245
329
305
325
325
285
327
359
351
213
328
353
259
281
368
232
291
311
386
225
337
347
348
305
347
288
304
322
333
290
314
284
344
274
306
302
321
370
368
301
266
222
274
312
289
347
242
391
259
313
256
355
307
275
356
309
324
345
320
268
321
373
333
285
339
306
299
334
363
298
348
346
300
342
293
251
266
341
286
248
234
341
373
347
369
280
317
314
332
185
354
257
280
322
285
280
352
305
312
349
364
377
274
320
291
370
287
337
266
418
272
332
341
258
314
425
324
316
331
264
262
365
242
356
289
329
362
314
355
339
213
287
339
324
345
335
334
321
344
334
399
297
373
369
251
333
290
225
360
299
338
321
360
336
312
318
316
401
226
347
391
339
374
311
290
338
302
337
266
339
372
316
355
339
338
376
290
343
348
328
358
336
310
324
213
329
276
293
376
322
365
315
250
345
350
224
255
320
360
311
327
396
317
337
261
346
355
388
272
331
328
322
268
358
364
326
337
235
320
401
371
224
365
367
314
326
265
346
381
317
280
285
288
361
289
310
381
347
372
262
343
306
295
319
334
340
218
317
375
272
293
284
360
402
232
269
246
377
260
236
327
294
309
408
241
376
257
329
320
340
232
330
286
282
279
346
296
291
287
226
291
325
379
308
355
298
312
301
312
254
309
238
275
171
403
348
349
332
297
330
308
320
353
246
394
366
285
252
378
294
383
378
348
196
244
326
376
265
348
325
344
327
286
309
178
350
334
330
226
372
292
308
243
293
349
400
391
344
308
273
267
333
371
353
305
305
294
237
365
325
324
299
335
223
343
269
270
335
363
345
290
267
273
322
363
264
300
280
309
348
286
301
298
356
269
340
342
335
312
372
292
323
254
319
371
326
261
246
355
348
283
272
379
232
352
320
282
272
210
259
324
364
305
252
268
335
306
394
304
278
384
316
296
330
378
311
258
240
319
377
320
305
232
287
374
255
262
360
434
271
344
337
236
353
343
296
393
320
267
275
296
280
299
373
338
241
328
392
299
288
323
308
273
230
336
360
335
289
227
310
292
354
332
326
333
256
327
331
391
277
292
273
322
340
367
343
358
416
307
360
358
273
283
309
394
310
232
348
289
319
278
309
335
304
264
310
300
285
301
315
305
221
244
290
305
286
352
222
310
312
324
308
340
292
331
309
356
379
283
355
297
363
348
307
292
199
365
259
274
338
286
252
325
314
291
383
391
293
256
377
323
339
330
326
286
362
363
228
267
308
330
287
309
326
281
386
331
317
333
386
400
270
374
303
293
270
414
250
249
347
324
325
308
279
311
270
183
346
354
344
332
317
327
314
280
380
236
326
259
327
307
284
307
227
325
277
367
386
290
287
336
305
342
335
339
328
322
275
373
305
333
270
265
371
364
316
331
346
402
298
343
263
204
258
286
267
378
246
329
304
309
282
328
381
350
314
247
295
238
333
226
343
312
328
259
367
302
396
338
316
368
291
368
283
310
299
383
409
298
289
372
345
362
284
361
253
379
283
397
325
307
284
353
350
279
237
332
396
266
358
270
320
407
299
344
258
271
309
326
355
290
353
243
292
292
263
275
353
314
299
275
386
278
340
257
266
336
302
274
273
342
362
373
358
293
246
363
390
397
300
314
369
338
354
347
348
315
297
356
371
309
324
376
243
332
269
301
268
296
261
319
298
261
323
338
339
271
321
304
317
317
365
351
328
278
311
283
284
375
339
301
356
338
335
333
359
349
296
302
339
364
330
278
334
281
312
324
339
358
247
309
289
326
358
349
309
309
281
359
283
382
293
355
338
292
225
345
252
318
436
265
267
394
369
292
371
336
311
318
243
260
303
359
333
319
242
370
377
264
266
326
407
334
294
315
240
351
270
323
319
343
343
260
289
228
308
263
337
364
389
334
259
347
330
268
333
397
322
333
330
357
340
230
316
315
255
327
259
328
289
327
294
392
264
264
353
380
245
343
317
266
326
233
287
325
306
297
298
337
381
412
339
289
400
327
376
348
320
331
278
293
322
153
372
290
267
377
332
306
276
355
330
340
245
278
319
310
202
323
321
367
320
361
355
290
296
352
287
320
231
347
306
318
341
288
373
301
411
257
364
283
259
402
295
361
273
308
234
313
287
263
317
401
288
266
300
383
244
272
324
303
269
416
435
280
213
288
271
299
314
396
271
384
261
375
372
292
384
266
238
310
246
206
267
355
286
305
291
310
265
302
301
241
272
258
302
395
388
275
290
294
378
340
293
265
291
305
348
337
384
333
289
347
302
288
299
328
317
304
360
244
323
332
276
250
219
354
300
338
374
329
344
295
306
351
340
375
354
357
399
324
221
260
322
334
294
247
302
288
372
347
368
296
350
383
343
277
309
259
376
277
356
383
347
374
308
296
283
387
426
302
271
258
282
326
246
315
287
292
356
431
321
311
237
301
295
340
250
323
255
308
330
313
307
358
332
296
286
331
237
362
300
219
334
262
290
339
338
323
230
255
261
324
311
245
320
362
272
268
343
315
273
309
320
342
312
308
320
331
275
369
307
249
341
394
225
358
388
310
280
306
306
232
367
290
288
382
257
286
341
349
321
401
246
310
293
264
325
271
325
224
309
242
343
282
310
323
289
239
386
381
320
320
270
340
331
449
315
296
255
317
258
330
283
413
321
269
377
369
291
339
323
371
337
369
242
281
285
331
306
407
392
284
326
298
315
284
369
284
286
297
336
280
320
395
321
239
356
336
265
369
304
284
293
338
315
315
373
252
258
324
308
321
286
320
334
304
257
359
324
378
276
217
300
312
264
288
284
218
352
316
333
391
314
402
326
300
307
287
263
319
273
290
351
295
363
296
266
276
376
289
334
354
293
270
284
403
328
287
258
375
280
372
297
301
357
346
293
327
285
247
332
299
355
359
379
279
252
313
319
277
388
352
309
377
316
268
335
315
195
261
337
339
289
338
339
270
390
317
299
293
303
322
276
319
308
371
344
292
358
370
320
295
293
393
361
303
245
250
230
358
367
313
329
352
274
318
292
286
330
395
283
322
261
307
301
317
325
392
355
210
279
342
357
417
283
379
269
281
213
390
266
279
321
412
346
399
245
385
274
283
238
349
309
342
262
240
320
403
258
389
296
364
314
268
394
362
349
296
312
268
249
329
266
269
336
306
324
362
255
348
317
297
267
236
373
378
342
308
318
402
329
310
282
284
269
393
176
288
364
295
211
261
305
313
251
394
273
391
267
347
295
304
291
328
371
350
424
365
304
358
319
327
312
374
280
354
300
242
395
311
252
238
227
256
321
321
416
358
288
312
313
260
283
348
268
284
295
367
322
287
304
382
265
346
284
308
339
318
263
376
209
394
346
294
378
418
305
311
334
385
428
330
272
303
332
304
291
295
321
273
315
243
286
316
350
367
321
272
237
361
282
370
363
359
319
334
334
273
301
342
302
261
321
304
363
284
361
294
346
337
268
249
227
313
267
317
333
292
249
363
309
399
222
326
322
337
391
240
348
342
315
300
311
336
319
266
263
329
321
329
290
305
327
407
249
307
338
315
313
307
355
368
290
326
331
358
362
262
252
317
312
335
298
233
323
322
335
316
403
269
313
290
364
309
254
291
245
284
323
310
274
308
296
325
397
305
313
307
305
313
324
395
252
301
373
331
296
378
271
324
347
308
344
386
231
283
279
249
315
309
319
273
349
334
275
252
283
351
333
284
341
302
364
346
274
303
314
362
261
371
255
330
248
283
382
310
354
381
329
363
267
301
427
228
299
336
223
384
288
311
302
223
372
331
240
261
367
218
287
305
305
288
324
318
232
291
257
298
394
304
306
262
339
346
335
261
289
303
274
344
272
292
339
298
267
281
338
308
357
335
334
326
347
294
314
346
325
325
312
319
377
292
361
360
347
380
288
248
260
293
269
313
305
277
280
318
318
417
367
316
356
371
321
229
315
303
326
299
301
316
330
304
375
321
324
384
328
362
323
397
364
340
355
286
392
320
319
362
322
322
327
281
307
292
357
331
300
355
266
325
255
312
308
298
282
362
288
358
250
270
306
225
267
339
264
448
300
316
315
344
325
424
275
363
227
366
263
315
345
184
309
199
282
219
311
313
311
376
379
276
353
258
269
344
275
261
215
321
414
317
362
313
331
228
364
366
349
311
306
310
329
269
348
311
305
330
305
356
301
314
319
309
360
269
304
250
391
401
265
259
241
303
362
281
264
430
266
255
328
361
341
291
340
383
262
300
276
330
310
365
297
294
274
243
347
379
350
336
288
388
286
364
389
250
274
336
324
324
260
249
380
365
306
229
276
303
323
335
277
322
304
266
346
371
375
292
307
250
264
399
362
277
266
323
298
335
305
335
306
339
284
256
324
343
404
325
282
289
344
300
303
287
247
378
314
335
359
284
315
277
325
344
307
273
356
361
266
330
295
280
376
332
294
320
365
232
294
352
220
294
251
349
286
313
266
362
365
405
315
251
384
336
377
340
299
339
306
240
357
288
328
306
299
328
338
387
312
324
263
414
309
303
367
256
227
207
357
283
309
303
341
357
257
271
368
361
280
227
372
278
338
338
297
294
354
342
319
311
280
258
368
362
385
315
350
324
323
258
359
280
300
393
380
371
360
369
348
402
249
237
344
366
308
241
350
336
414
330
396
290
342
204
363
360
378
308
314
380
277
324
229
324
387
277
441
273
288
308
339
327
250
297
252
394
306
293
325
301
294
388
330
343
358
294
251
326
319
264
257
324
300
312
183
299
310
206
255
293
286
331
332
313
373
272
325
300
316
339
265
312
259
324
233
339
271
286
337
378
335
301
296
330
316
406
373
278
295
252
244
267
277
319
366
296
249
334
410
308
376
426
314
310
232
348
264
318
260
376
367
252
279
244
317
318
262
266
324
332
381
307
266
348
300
348
404
280
288
296
296
436
380
315
293
304
359
318
320
369
323
302
212
228
303
350
301
346
289
346
354
334
360
204
293
356
305
270
276
413
288
376
212
320
219
349
320
301
349
367
329
299
292
243
372
269
368
290
256
247
260
302
256
366
343
357
293
302
281
309
339
373
346
309
323
300
283
353
292
309
327
307
342
301
285
299
349
336
253
286
317
356
309
318
232
288
356
322
356
321
359
279
256
272
281
266
270
237
252
329
357
315
386
226
263
359
300
277
190
321
307
267
244
300
382
250
339
319
403
315
282
299
374
238
260
338
266
274
351
353
366
203
201
280
249
264
277
333
272
403
305
286
274
408
370
296
342
287
374
371
392
270
288
329
336
367
292
392
335
342
294
360
283
338
380
262
360
381
266
388
311
256
331
335
276
282
372
318
429
374
367
375
351
227
343
254
245
332
270
271
294
308
336
267
196
347
273
327
253
284
258
319
337
307
277
341
302
291
392
382
354
393
301
333
319
338
284
313
367
322
369
303
391
259
352
250
311
299
391
216
296
315
293
328
306
265
255
307
318
303
397
304
295
242
338
252
316
269
312
303
287
307
298
342
270
330
388
318
391
297
240
278
322
276
387
403
369
338
364
246
311
347
242
326
333
296
299
344
338
337
293
310
290
326
332
314
296
251
270
272
302
335
249
234
350
303
356
245
221
258
225
371
394
244
322
359
328
279
223
323
277
265
332
241
285
441
326
277
378
373
335
347
268
362
301
335
359
266
287
383
285
356
396
252
337
332
350
267
304
270
288
337
357
268
328
238
194
320
386
278
305
363
311
322
292
291
235
310
349
303
377
311
254
279
232
314
333
351
322
366
243
417
329
251
291
437
232
362
366
244
298
290
317
286
281
351
305
300
306
327
265
324
275
338
317
320
401
326
313
348
244
293
296
339
418
343
277
304
341
280
345
346
384
276
277
349
298
298
307
287
358
320
366
307
349
280
358
365
242
300
296
330
364
209
321
288
350
402
296
309
293
364
269
353
275
304
358
243
305
290
280
307
236
274
326
334
286
323
308
319
311
382
338
322
268
434
340
342
348
335
250
284
284
363
331
367
280
325
296
304
307
351
390
299
322
342
329
359
350
282
361
271
317
288
324
319
356
355
298
258
383
296
249
243
332
289
296
330
329
329
340
324
419
395
318
257
303
321
370
207
378
273
312
275
267
320
299
272
338
295
278
276
353
397
259
345
332
283
305
323
298
328
385
314
245
357
316
307
344
331
353
286
288
251
300
298
260
338
344
220
199
365
327
311
336
344
283
303
408
311
271
298
287
355
350
338
384
308
315
331
328
362
340
291
364
368
344
257
340
247
351
389
341
299
316
296
253
326
266
232
226
300
309
327
388
345
333
349
342
261
377
320
323
287
307
280
390
310
251
323
318
297
253
389
352
389
275
347
308
253
280
430
247
252
401
311
287
381
256
277
337
346
319
315
269
235
384
318
361
243
285
341
378
309
306
300
365
281
343
322
310
318
257
328
330
319
278
341
310
308
317
280
383
250
266
343
303
307
328
316
305
330
330
361
376
306
377
343
312
324
264
278
382
345
310
270
249
203
278
307
318
355
305
299
260
264
295
320
319
298
330
316
275
361
371
334
321
318
338
280
322
392
361
258
282
307
362
287
295
379
311
343
306
286
328
267
305
367
325
239
304
356
233
367
347
339
367
397
355
326
217
370
264
378
268
295
284
355
293
329
370
314
298
405
379
325
315
332
354
352
345
273
326
346
284
293
303
323
288
358
368
244
239
389
285
349
368
330
264
315
310
273
288
271
263
338
337
272
319
360
259
337
348
296
376
406
323
263
325
325
381
353
312
304
377
290
379
296
335
395
325
368
324
286
324
332
397
252
260
320
332
376
311
390
327
265
323
335
340
299
354
331
352
313
200
265
258
300
281
272
361
319
330
318
305
328
258
299
326
352
228
367
362
330
250
293
351
343
275
243
354
380
318
306
278
328
302
278
370
337
324
331
310
308
316
324
294
412
356
273
311
356
431
316
313
296
323
361
343
317
181
363
384
371
311
340
324
274
292
367
309
277
305
364
329
326
368
424
283
258
352
363
319
271
353
309
298
346
369
374
285
281
319
266
364
327
359
323
349
318
287
378
329
298
270
359
405
270
286
375
306
358
297
293
283
342
275
262
331
267
354
257
348
340
291
239
302
332
323
280
265
275
258
327
339
268
325
355
315
341
256
349
330
318
337
306
269
270
294
263
340
284
347
260
366
358
348
320
281
334
370
338
266
276
346
327
334
288
320
258
320
256
238
381
312
271
394
306
313
301
315
274
289
251
294
337
261
318
391
322
334
339
378
273
364
335
344
322
324
311
229
257
313
403
293
317
323
347
364
243
402
313
323
357
264
362
343
354
321
369
362
267
327
300
267
267
304
288
226
256
251
327
336
222
293
314
257
280
325
348
366
316
245
355
327
349
418
376
320
306
316
270
332
333
325
320
363
262
243
358
341
348
260
316
317
302
292
308
324
230
352
263
324
336
281
293
350
321
332
347
352
370
333
387
298
368
347
344
344
226
325
300
338
252
225
305
304
300
344
342
257
388
349
304
388
290
345
363
345
414
315
291
311
233
349
336
289
336
309
351
301
285
354
276
286
313
277
357
332
311
348
377
238
333
324
326
196
351
291
269
343
326
362
299
303
316
287
290
239
377
310
290
347
347
280
290
341
311
348
355
369
330
283
299
268
285
337
289
282
324
283
307
341
326
250
268
366
445
276
306
332
299
221
392
309
302
291
231
317
368
309
303
294
221
260
285
309
355
263
236
336
335
266
272
348
270
329
351
319
323
341
279
283
346
280
375
388
402
308
287
301
349
263
317
292
371
322
255
301
288
269
332
307
306
379
294
290
266
368
303
199
314
364
310
295
281
348
374
311
373
257
306
299
306
314
330
306
297
251
375
301
323
280
338
277
338
286
403
318
325
222
346
311
227
347
242
401
370
336
345
295
296
261
328
314
385
297
303
339
314
273
240
339
325
286
298
356
336
319
314
329
310
284
227
347
276
345
338
243
307
379
301
341
325
256
252
281
268
345
351
256
285
306
294
321
253
257
294
268
323
385
363
305
360
184
404
293
420
251
246
222
314
234
273
273
353
332
302
347
447
365
270
333
333
340
312
386
308
298
297
329
237
328
343
265
354
337
340
361
365
360
354
280
247
347
315
312
348
333
238
302
283
326
285
302
336
265
251
384
343
373
329
297
299
283
326
359
370
376
420
284
312
294
317
365
283
316
308
364
339
390
407
339
376
405
335
334
301
314
338
310
298
354
274
275
304
269
404
289
276
214
324
304
340
275
347
302
332
262
336
292
339
302
296
286
255
335
236
386
287
317
285
282
288
318
371
313
346
333
326
296
324
304
360
333
356
243
339
296
341
330
262
347
289
331
332
296
272
208
364
271
334
368
342
320
308
332
320
327
324
329
299
282
315
374
373
311
300
312
343
350
284
255
362
230
329
327
309
299
348
300
375
259
220
376
342
290
284
333
419
332
361
286
313
277
347
297
300
309
332
297
311
253
334
296
380
385
278
328
398
320
253
357
325
310
345
286
306
266
258
396
266
377
319
351
260
340
385
282
400
267
317
262
277
309
317
393
327
351
360
311
307
262
345
349
334
389
291
323
264
322
308
298
308
272
340
277
299
276
302
348
424
282
346
233
377
255
376
323
328
191
262
324
268
370
249
273
411
208
260
276
419
404
379
373
319
286
392
324
280
342
370
323
303
253
358
270
352
287
281
379
339
278
307
300
322
361
324
357
304
240
357
355
373
357
269
395
242
308
354
257
402
330
296
358
285
316
355
318
387
291
219
295
383
248
350
335
329
244
318
341
292
271
265
345
377
285
284
283
286
314
342
314
269
391
332
312
331
277
241
276
300
294
365
307
323
321
308
329
328
317
327
379
342
334
320
376
264
374
348
348
352
265
402
339
274
333
187
397
325
385
330
345
343
222
288
328
377
304
288
256
310
308
388
310
303
365
340
255
355
302
301
301
298
240
320
322
270
317
286
265
309
300
308
373
276
304
223
269
285
318
336
271
375
351
300
361
246
229
259
287
287
357
347
281
260
350
344
308
284
333
334
292
285
330
333
417
230
300
318
337
424
333
240
294
372
329
364
245
362
343
208
303
345
338
276
320
333
290
368
240
324
303
368
323
288
276
268
318
311
281
343
256
285
272
351
367
376
297
312
267
281
355
314
326
321
376
285
269
312
380
335
300
356
393
345
409
274
341
337
282
328
368
248
291
374
308
260
255
365
311
335
349
317
286
267
296
385
310
329
313
274
286
345
331
233
284
333
248
245
337
267
246
251
391
297
355
235
263
388
320
195
326
328
345
346
236
371
259
281
270
312
286
383
247
356
321
301
325
320
320
293
360
331
359
382
277
298
356
345
260
331
348
330
248
287
323
355
303
298
230
326
326
315
375
316
328
274
355
266
364
355
286
301
260
421
326
260
348
316
285
313
291
227
328
334
327
269
390
382
298
325
357
332
289
347
274
313
356
279
269
275
284
366
334
259
274
375
328
323
326
329
352
333
303
320
291
257
393
333
282
303
305
301
365
302
314
283
338
307
372
339
275
343
372
401
327
379
374
311
417
231
308
321
311
260
274
375
344
348
335
260
304
303
424
370
361
263
300
254
327
380
340
341
259
307
217
368
314
350
373
262
252
304
284
298
357
289
331
341
359
312
313
242
355
330
228
345
345
243
305
340
198
282
277
266
197
327
224
305
393
310
334
396
357
359
349
351
327
295
345
270
287
291
327
347
330
333
291
326
278
325
308
301
317
350
309
323
362
332
357
319
289
261
412
363
385
414
282
269
274
243
316
318
276
270
282
329
362
337
372
284
364
371
264
225
335
326
338
212
356
327
378
314
337
348
341
275
372
337
391
289
395
301
237
287
295
222
389
365
304
316
413
318
351
395
303
316
362
356
339
313
352
317
241
298
231
319
341
404
355
330
440
285
346
338
356
331
299
362
310
349
252
347
365
263
327
263
289
235
370
310
349
344
369
364
388
315
314
296
267
287
300
376
317
345
301
308
268
326
273
358
289
334
318
288
258
261
254
318
313
382
266
300
377
336
298
372
362
347
350
297
342
290
243
342
341
331
391
327
288
353
240
374
248
369
184
375
314
285
402
344
366
329
241
312
328
314
312
298
348
359
288
260
392
369
310
323
417
224
368
348
331
380
346
294
248
294
287
273
302
354
305
371
283
265
304
323
299
266
330
291
236
259
364
305
355
294
281
294
374
348
311
361
338
325
319
359
314
305
313
327
291
285
336
348
295
332
339
380
286
392
340
310
348
322
296
350
263
335
312
349
297
259
368
340
317
284
316
299
287
256
306
322
272
284
317
359
322
300
244
316
294
358
254
291
279
358
401
324
294
323
401
359
281
339
250
281
331
269
328
296
338
291
308
377
329
378
240
410
257
390
352
297
359
324
311
279
290
207
273
415
327
241
259
389
345
350
315
303
287
231
290
316
299
319
324
335
285
325
304
322
364
351
389
181
311
302
379
339
312
302
341
337
264
276
357
282
310
355
322
320
415
369
367
365
223
306
255
276
282
346
345
355
326
397
303
311
320
319
371
313
282
310
311
230
381
311
274
388
357
214
255
252
365
327
330
292
246
310
280
363
361
278
258
331
328
380
275
309
363
283
304
394
423
382
295
414
356
388
377
312
392
318
325
333
336
335
321
297
275
380
347
321
327
359
315
365
249
292
274
398
380
208
338
291
319
318
256
330
387
317
273
335
330
291
393
364
331
274
299
351
286
363
309
347
404
268
296
366
387
357
362
275
354
352
340
286
266
326
298
324
317
267
372
385
346
286
224
237
357
302
295
347
321
385
280
326
307
368
381
258
171
362
276
277
279
313
327
354
302
327
259
256
302
240
305
274
314
320
347
261
354
271
291
307
226
300
363
315
246
349
330
326
313
358
322
306
305
402
360
308
310
388
347
407
323
386
348
319
327
313
334
198
365
332
345
312
365
306
354
263
326
320
346
301
342
284
271
316
381
303
258
332
330
351
328
270
346
388
267
280
343
327
313
287
354
395
307
356
369
350
331
342
313
267
238
196
333
400
317
269
268
304
341
357
342
243
323
312
208
381
247
306
415
374
334
318
303
291
301
348
350
282
273
219
210
318
322
312
315
293
353
341
276
345
274
297
226
301
351
235
271
306
285
297
350
262
290
320
356
296
282
300
322
352
336
257
382
269
324
388
349
282
312
378
344
365
250
326
298
384
305
304
334
333
326
271
255
288
331
358
381
207
337
319
342
346
315
233
286
281
305
271
351
324
290
290
261
335
340
264
313
343
297
323
273
270
327
317
407
308
269
395
277
341
277
253
297
273
333
256
356
252
224
297
359
339
264
235
289
258
313
282
301
333
371
307
250
340
382
396
289
279
316
311
357
241
326
358
230
377
296
320
330
348
408
274
303
374
285
343
257
354
330
360
327
305
319
269
319
345
360
283
407
297
250
366
288
253
352
315
347
355
403
237
237
307
297
277
306
307
270
336
211
285
347
242
324
361
279
214
309
337
370
324
296
309
335
315
278
326
405
295
343
271
247
340
282
325
294
280
370
320
234
280
289
324
263
376
315
326
312
291
331
281
298
280
265
312
355
300
334
252
297
383
265
252
226
266
275
413
355
322
351
315
373
303
252
387
360
290
298
319
330
347
335
239
347
377
363
345
333
337
306
345
297
352
403
279
362
358
296
326
271
318
385
362
307
288
350
327
317
252
312
324
322
335
282
285
239
314
289
293
308
323
252
362
323
337
329
380
334
229
259
323
335
334
322
235
325
321
323
242
293
401
337
371
277
224
385
266
319
322
228
355
331
291
348
324
327
215
332
405
236
327
340
323
288
353
367
285
294
282
345
266
324
332
410
327
303
375
283
254
364
249
367
343
312
294
165
365
255
255
377
351
294
354
334
305
331
272
306
246
290
322
290
268
290
300
321
290
341
280
316
355
318
305
367
284
274
380
350
316
348
304
311
410
392
332
337
304
268
283
282
290
254
368
324
290
387
320
311
302
202
312
307
325
313
329
355
376
264
309
289
311
328
312
393
387
315
347
328
225
335
379
274
205
332
328
343
341
353
339
357
290
306
355
225
343
301
278
316
357
210
357
327
358
282
301
351
372
210
397
393
283
321
369
393
364
315
348
322
385
281
324
282
301
408
295
325
339
376
319
350
351
336
339
335
396
269
305
354
347
363
354
346
326
237
369
252
330
394
365
248
300
304
287
264
273
227
227
249
392
312
343
313
317
295
310
318
262
388
349
262
391
316
301
284
347
274
363
331
265
251
288
320
331
305
344
299
255
350
317
405
267
365
314
274
378
366
300
277
314
295
281
323
308
280
391
346
336
280
343
302
280
231
277
288
345
238
299
307
277
424
202
324
311
319
302
374
276
206
257
318
343
364
298
294
289
262
364
296
324
364
366
255
335
283
302
318
375
279
293
265
308
357
311
317
343
384
287
292
324
343
298
314
307
341
341
383
356
315
288
314
306
319
289
253
392
404
412
289
268
266
313
317
324
340
181
252
284
296
312
277
286
261
250
348
314
295
326
296
268
316
322
362
330
266
294
338
330
300
292
405
412
350
331
375
285
262
278
357
317
335
177
313
352
375
255
342
327
322
299
446
338
300
279
191
289
306
274
358
281
363
313
304
242
328
311
384
309
318
297
250
276
369
279
323
312
355
322
322
248
371
304
382
267
301
324
294
350
372
320
309
307
369
361
380
352
298
295
338
335
346
321
322
395
325
331
371
295
347
279
347
307
339
370
365
327
323
335
279
296
319
380
305
357
288
229
301
326
359
321
261
352
273
289
341
313
325
340
339
260
400
374
336
262
288
291
327
378
304
344
325
326
293
476
245
350
311
296
295
310
402
310
348
310
286
321
307
379
360
346
292
333
300
253
312
257
365
326
260
263
230
330
363
369
321
321
271
265
313
324
325
262
369
286
352
256
377
341
374
383
358
375
331
258
415
280
292
337
355
269
332
371
352
289
269
277
262
310
309
278
352
372
232
218
333
274
205
317
280
200
274
328
280
315
309
298
314
361
309
352
390
305
343
300
340
353
348
281
224
250
250
317
348
338
345
324
383
338
293
274
287
316
330
300
334
323
282
224
350
262
348
315
337
324
390
363
371
336
322
380
393
356
329
327
269
321
324
276
315
342
281
351
284
247
301
334
311
350
385
306
279
267
341
297
282
255
326
380
340
332
394
277
303
374
257
422
302
355
291
407
354
355
344
256
306
282
290
314
269
293
266
278
385
370
357
342
361
368
350
308
379
311
333
379
279
353
261
416
364
273
250
364
252
390
344
240
275
267
363
322
356
243
313
303
316
245
345
264
355
335
304
310
299
310
325
299
300
261
321
383
293
314
254
239
308
359
313
316
344
348
349
315
391
332
285
316
371
411
315
336
300
287
299
278
294
350
285
243
286
281
306
334
322
297
328
264
278
296
337
313
255
316
356
343
378
318
377
362
304
313
321
272
370
366
318
270
338
267
300
274
357
265
377
255
293
330
288
323
278
345
318
253
318
334
302
313
341
275
262
294
425
298
372
268
350
368
240
313
352
285
356
283
419
288
293
340
235
321
370
373
267
376
299
330
337
384
322
383
291
288
345
295
325
315
308
301
316
286
318
301
266
353
270
298
327
298
305
288
260
295
275
248
268
346
362
352
247
363
394
351
336
317
340
359
320
274
294
319
305
299
377
179
301
314
345
327
282
251
276
319
270
235
313
295
358
391
301
282
327
425
312
386
332
303
305
355
283
240
279
224
284
271
235
333
369
301
291
249
328
404
357
251
293
337
215
335
398
299
297
309
328
352
300
333
344
324
329
306
274
288
316
220
223
343
280
305
318
299
288
310
343
337
265
377
343
312
340
266
330
350
308
247
279
279
238
298
290
275
265
243
316
314
313
291
245
344
328
311
363
309
276
328
219
287
213
376
280
274
270
252
275
353
298
367
314
410
303
267
295
259
282
310
356
322
292
302
366
381
251
358
328
276
297
388
366
254
353
354
320
412
365
367
376
330
334
292
300
380
267
265
282
349
332
275
408
354
385
391
373
260
365
292
350
308
310
290
306
297
270
387
287
308
276
356
237
229
295
243
269
376
387
376
385
311
359
327
323
369
317
322
289
246
323
323
292
244
333
336
298
343
323
312
338
403
295
232
215
347
250
375
315
258
336
243
273
246
305
231
348
315
314
343
282
266
278
298
328
298
340
344
286
264
294
336
276
295
331
253
312
379
385
347
232
261
288
282
253
320
344
316
303
298
296
391
219
315
346
299
289
273
317
306
294
416
313
330
274
265
287
345
334
320
300
338
351
342
333
397
260
317
436
268
359
292
342
358
347
350
315
365
280
254
367
404
291
249
313
270
291
372
335
347
316
332
321
235
303
365
315
283
298
282
247
348
346
292
260
248
279
309
354
297
390
256
313
318
311
311
306
247
312
353
300
242
328
327
318
353
376
325
264
364
305
333
304
295
338
333
309
260
325
324
291
329
358
337
280
235
337
303
316
315
363
379
350
392
353
245
259
435
339
291
361
423
286
351
324
303
255
303
362
294
281
364
314
329
310
406
298
360
365
339
336
329
360
316
302
316
342
285
255
259
327
303
312
248
300
352
275
316
353
279
385
336
263
263
357
396
362
182
323
325
343
221
316
381
282
275
363
309
380
298
320
345
345
382
322
320
345
274
250
356
235
322
273
264
376
360
333
317
398
327
309
276
319
323
304
344
369
330
310
324
282
381
243
393
340
299
208
324
315
289
308
328
354
337
255
251
297
381
409
358
298
370
359
325
353
294
273
336
313
306
365
301
360
333
291
366
350
272
247
306
321
288
359
269
355
393
288
359
321
285
367
231
281
301
363
301
313
343
417
363
317
344
301
337
374
267
271
287
363
311
314
312
399
258
413
377
279
371
319
294
395
314
317
305
311
346
321
280
317
362
314
312
299
352
343
291
302
284
308
352
331
365
320
321
318
307
313
325
232
284
289
308
293
219
296
265
301
239
285
334
284
328
329
292
367
314
279
365
331
281
362
326
301
276
354
288
259
249
338
332
430
319
367
308
316
311
439
383
304
225
249
199
269
404
383
280
289
324
354
340
286
293
343
274
371
322
313
296
317
373
352
344
318
328
337
292
329
341
289
323
360
229
255
386
370
341
382
290
359
311
322
290
295
336
321
343
384
276
281
291
303
274
335
317
371
318
371
327
278
246
268
316
382
303
363
324
291
366
240
308
331
282
344
317
262
398
420
319
316
392
318
324
334
371
331
297
380
210
317
324
366
335
200
345
310
336
360
313
300
369
312
306
354
283
266
307
413
301
257
343
311
246
287
327
320
292
316
366
324
198
275
305
400
269
363
214
370
293
314
368
396
310
318
308
244
264
252
369
295
215
248
374
336
308
392
245
280
292
221
293
345
347
372
405
375
294
297
321
217
351
361
337
306
342
326
370
287
269
317
392
277
303
341
402
298
308
332
308
212
302
302
353
373
336
327
334
291
323
349
294
375
365
273
343
262
319
277
293
280
251
376
337
292
322
324
299
325
202
331
303
259
277
274
299
301
340
266
304
332
288
268
335
324
303
365
336
350
306
357
303
317
375
317
323
268
244
324
320
332
380
324
295
274
399
363
301
342
305
290
355
407
288
280
291
417
288
334
373
258
236
291
399
290
304
346
275
278
307
277
248
256
322
205
280
374
309
322
321
302
256
298
226
265
318
201
314
311
337
272
348
328
238
313
317
322
266
303
249
317
277
326
329
319
262
361
288
267
337
269
378
242
360
324
364
367
340
361
313
343
291
261
229
288
272
361
391
279
341
393
243
402
405
300
321
278
350
267
280
324
330
292
267
337
225
258
368
371
317
351
221
335
267
414
286
331
372
313
337
318
306
299
279
389
248
296
265
339
343
405
239
317
351
294
346
281
279
333
324
271
335
347
274
316
277
380
277
294
295
311
380
326
331
266
261
304
341
296
349
328
302
350
304
293
256
316
258
357
349
349
317
286
268
313
365
297
326
366
305
325
285
279
319
287
373
336
311
357
293
340
376
372
337
299
336
313
327
268
230
293
399
320
396
208
293
346
328
281
328
343
255
301
308
323
317
369
277
303
379
342
348
322
406
353
225
299
293
342
328
294
328
309
299
284
227
300
334
318
306
339
268
279
302
267
322
297
337
242
309
365
346
296
342
278
267
390
369
324
309
305
234
210
337
325
233
245
309
308
301
307
376
400
254
284
270
318
336
308
304
306
278
259
398
298
316
343
310
330
256
277
241
291
319
359
262
303
326
308
352
231
302
358
356
286
275
322
330
378
311
361
391
322
393
219
350
311
336
332
376
331
359
320
292
375
308
338
291
267
345
275
246
369
355
323
240
296
310
325
367
364
309
371
351
364
335
225
325
265
395
360
334
258
343
334
328
316
298
243
244
270
276
333
218
260
317
320
265
295
317
300
231
293
368
352
288
382
304
243
386
384
245
285
245
345
267
304
330
358
314
305
310
330
337
229
322
314
317
344
389
389
333
265
353
293
225
299
243
361
299
297
270
348
257
358
392
401
334
304
363
330
296
213
324
364
274
287
321
360
252
370
297
350
299
326
348
312
296
285
340
307
303
240
274
306
309
355
293
346
358
377
328
375
351
349
339
275
382
322
310
400
361
375
243
348
276
334
298
316
391
331
357
365
298
323
270
362
358
343
456
263
325
362
214
285
273
390
388
300
264
284
380
310
267
301
302
348
356
339
367
386
274
294
334
294
270
345
363
331
356
409
355
307
321
282
406
295
363
338
392
314
333
318
309
412
357
316
271
261
363
261
311
296
247
322
320
236
224
299
295
366
304
312
268
372
301
305
375
293
277
315
318
333
263
359
312
321
365
219
261
401
346
336
340
286
377
351
370
268
346
270
350
322
291
263
188
363
411
388
297
213
360
295
279
409
273
295
295
367
250
347
328
284
237
339
314
302
395
371
302
309
251
252
303
275
270
341
281
274
232
311
344
238
237
286
297
340
309
255
320
256
332
266
313
322
354
241
255
245
305
277
357
353
352
327
308
298
254
275
309
321
375
292
299
322
245
274
376
341
263
322
356
314
310
242
287
309
298
269
270
257
309
279
331
323
245
310
254
329
288
307
363
341
358
264
300
389
292
322
377
319
337
271
362
326
372
244
378
311
388
274
325
363
345
264
315
311
322
331
329
307
275
376
276
302
288
302
293
334
335
409
228
325
374
362
354
355
301
342
345
308
409
323
330
318
294
265
300
353
373
351
224
184
368
367
283
350
246
350
329
260
252
361
282
314
290
308
303
301
284
317
309
377
231
344
324
242
339
258
365
341
309
251
337
338
283
270
319
255
264
256
336
355
250
321
237
279
323
245
249
262
369
257
322
302
332
309
323
307
332
348
293
252
297
310
307
370
242
278
303
302
310
295
292
315
323
348
353
365
304
362
332
330
376
348
254
280
278
294
316
346
328
295
304
313
325
270
330
366
296
278
326
292
314
353
355
271
205
306
321
266
276
315
342
290
313
373
204
305
320
404
352
267
380
308
332
317
305
405
286
349
373
307
299
294
331
277
299
325
285
287
344
311
238
235
254
304
301
298
267
236
322
371
377
257
288
290
356
357
344
310
247
281
306
386
355
353
361
247
342
314
293
228
271
314
347
317
299
322
323
312
220
368
332
333
300
354
313
325
233
322
360
376
349
409
342
337
317
310
373
362
269
257
262
377
295
354
349
368
421
323
323
281
289
337
227
344
318
372
249
263
243
203
334
289
328
317
279
333
360
275
325
325
284
374
388
281
306
281
226
327
371
262
382
330
269
273
365
221
301
420
331
288
392
397
298
262
314
281
287
306
298
289
343
319
334
367
250
437
225
322
327
372
289
274
294
426
256
334
305
328
327
336
369
396
361
303
343
300
348
274
312
357
333
313
261
302
286
291
256
298
325
292
373
303
352
266
282
359
328
367
349
306
296
321
338
375
338
378
399
291
275
357
380
295
347
284
307
358
267
344
375
215
408
319
301
347
318
320
324
267
272
275
349
374
352
251
252
288
315
339
283
330
343
207
269
315
319
369
278
295
262
346
309
221
309
299
237
366
346
318
334
173
335
365
332
262
309
381
308
303
309
316
343
367
313
303
371
277
299
309
360
275
269
358
246
328
237
308
334
312
299
365
255
347
340
371
265
385
280
255
326
407
230
329
279
305
386
304
337
351
325
356
277
260
214
323
342
360
369
357
380
283
331
265
320
306
266
316
299
326
393
320
298
387
300
385
226
359
325
318
266
363
384
337
391
247
295
295
274
287
328
342
302
304
352
295
366
325
329
335
288
337
233
288
345
245
292
329
427
343
335
293
312
283
299
307
386
362
316
316
277
311
286
312
340
317
282
247
310
343
334
321
284
339
341
304
293
340
386
329
290
355
359
325
241
235
252
207
229
246
301
357
226
362
352
284
348
264
329
280
301
377
319
301
325
364
273
281
340
382
307
279
267
266
300
398
298
267
317
286
306
316
288
285
243
381
348
294
288
302
230
332
390
318
304
196
274
298
254
326
343
352
339
320
296
327
400
330
233
310
303
386
258
295
383
255
331
328
304
363
274
344
292
336
263
342
300
338
297
251
230
253
331
358
322
410
186
281
259
283
333
348
368
277
364
322
307
353
376
254
350
278
364
290
350
272
337
411
258
377
333
305
370
395
300
340
295
351
345
287
334
358
285
277
267
323
300
270
333
342
280
327
264
335
293
330
304
365
310
335
254
341
291
319
312
328
366
309
309
365
379
361
270
400
291
299
367
295
308
283
311
369
376
299
303
363
321
390
320
278
304
372
284
320
376
262
377
387
319
308
311
326
319
238
373
327
338
272
372
381
341
299
303
295
337
263
308
327
230
304
306
336
347
392
323
297
293
297
265
331
311
363
346
328
330
333
259
334
420
361
286
380
319
392
316
301
326
264
402
390
323
376
169
315
308
354
302
335
369
325
285
336
322
355
329
324
279
292
301
303
273
302
342
355
237
333
361
324
297
363
332
333
293
358
330
289
273
358
279
374
311
331
318
243
348
281
407
313
393
252
454
323
206
347
281
375
300
329
340
323
263
352
350
306
371
375
349
361
390
258
321
368
355
287
371
362
282
277
359
306
291
288
347
323
377
283
305
292
298
317
348
320
327
326
323
218
336
318
249
285
365
242
355
329
345
284
308
286
400
339
277
278
331
348
337
259
395
225
315
327
285
278
349
329
334
293
293
357
306
258
329
193
364
316
301
369
383
347
328
316
324
286
331
287
380
340
320
298
270
361
316
264
353
383
272
321
320
366
323
385
271
278
270
260
338
352
219
322
353
313
232
304
306
282
342
268
271
346
330
304
332
354
369
354
328
323
354
350
310
415
241
293
296
384
359
249
295
246
191
344
270
359
341
305
322
271
314
290
352
338
293
363
281
378
356
349
289
336
296
245
219
306
383
323
268
277
398
232
307
289
331
344
296
309
316
325
296
396
394
275
302
356
281
297
303
321
274
364
368
296
300
364
280
322
369
347
360
340
258
323
230
375
275
310
353
312
308
280
300
344
308
249
321
342
319
338
245
356
263
376
295
377
325
303
313
282
295
244
319
331
272
384
271
340
326
278
186
321
312
315
353
300
351
313
258
375
357
227
346
350
339
293
358
184
320
341
312
363
337
264
321
240
290
318
358
365
287
316
340
286
260
365
362
357
283
278
335
265
331
270
303
382
333
330
324
310
297
338
289
307
366
370
391
298
389
360
291
402
406
307
354
302
351
284
333
295
267
264
364
365
356
267
244
387
279
252
289
351
340
307
334
256
286
291
336
354
302
317
330
390
250
276
294
380
345
375
259
276
265
371
249
244
139
291
325
420
288
356
314
365
417
266
236
276
353
309
381
281
305
294
328
288
331
378
325
310
304
313
383
300
256
383
384
329
296
268
350
308
309
321
299
329
349
275
344
343
379
303
317
338
391
337
339
350
242
281
323
395
326
264
272
255
319
368
324
304
321
320
321
319
326
319
358
367
325
361
358
289
361
345
434
337
337
291
424
409
380
290
359
330
299
372
317
217
316
314
264
276
365
381
287
246
294
333
353
238
298
332
352
408
309
383
347
228
301
246
364
322
257
352
255
319
298
320
284
265
332
350
352
285
313
277
194
271
384
323
310
328
239
370
235
253
357
349
322
259
304
296
271
347
355
296
344
276
393
371
294
310
334
280
248
370
365
301
313
332
277
283
344
315
299
339
308
328
335
336
328
323
269
282
320
333
356
258
316
269
295
381
315
385
297
299
359
317
378
352
310
260
303
265
335
331
262
348
374
278
315
314
222
378
261
313
368
378
249
266
302
237
367
249
275
311
275
371
277
288
344
314
275
276
318
308
341
347
307
275
385
268
388
294
342
317
282
326
321
359
372
325
272
313
295
363
307
342
139
273
278
335
274
296
253
347
290
332
307
332
361
356
355
291
236
305
303
339
422
288
363
358
361
338
336
297
357
386
340
323
307
316
325
359
332
244
288
325
346
322
246
318
300
330
292
228
324
353
329
344
282
326
305
318
384
312
312
376
268
303
370
356
318
258
269
316
341
320
329
286
306
308
366
301
332
378
369
321
264
336
327
325
332
395
346
306
231
313
354
350
300
265
298
342
346
297
314
292
307
302
298
324
372
381
362
318
321
272
263
326
339
295
209
312
369
306
312
292
319
271
271
282
357
324
364
319
255
279
287
304
359
222
260
286
323
231
268
299
324
371
328
336
307
323
307
390
232
350
306
334
325
341
323
350
334
265
241
325
324
329
302
394
302
355
375
262
309
273
356
350
268
374
332
269
333
288
290
323
304
287
330
345
307
279
352
255
291
355
333
371
281
288
347
252
196
292
330
372
233
335
262
230
307
315
319
380
344
369
285
389
299
285
281
216
354
330
302
339
251
289
302
301
323
373
354
368
302
262
302
301
326
357
259
294
370
362
325
353
279
193
328
298
298
283
263
345
381
350
315
341
274
363
360
354
336
334
348
359
336
355
318
380
305
275
264
323
379
318
334
271
374
302
276
349
215
299
348
346
334
299
303
304
325
323
269
317
391
341
343
282
273
222
343
334
322
304
277
274
335
302
281
391
257
325
305
332
365
337
260
294
298
324
298
338
379
352
362
281
265
274
276
264
259
294
244
282
363
275
340
426
327
273
404
311
379
368
395
317
255
335
305
281
233
390
266
276
293
305
290
362
303
274
332
330
260
336
338
303
330
393
399
275
325
311
322
301
341
313
312
285
317
243
331
262
407
351
296
358
347
344
311
350
212
331
269
294
373
336
261
258
299
354
384
323
330
287
308
289
239
267
375
277
324
314
338
291
269
321
255
278
326
304
289
346
377
342
279
279
284
281
242
372
354
321
288
320
386
394
229
292
337
375
354
336
304
229
378
293
327
259
300
321
243
324
400
365
336
269
230
290
327
315
455
367
363
381
362
329
313
347
345
307
356
278
339
396
264
338
266
319
313
242
316
303
336
266
244
226
253
285
358
299
311
289
266
404
335
277
337
267
314
321
402
253
327
336
304
342
375
307
356
268
311
281
333
253
307
363
338
352
359
325
213
281
320
293
319
243
390
403
322
369
278
419
294
299
343
323
322
394
298
352
393
390
276
192
277
354
275
336
277
291
243
304
262
342
338
371
348
296
244
340
311
308
320
277
232
307
316
368
321
368
348
403
324
337
397
299
312
256
241
294
277
345
362
331
271
362
260
248
386
316
316
218
388
297
320
342
250
329
335
327
312
295
288
298
320
356
303
383
287
283
303
289
356
307
336
249
372
281
357
339
302
303
400
257
292
299
269
349
370
354
347
386
287
259
232
323
338
287
336
331
274
335
288
269
300
301
329
388
313
294
319
281
306
373
318
335
360
331
314
357
431
403
354
421
327
338
379
350
321
269
347
247
265
295
339
424
301
325
268
322
259
346
337
304
356
373
357
329
347
291
297
272
316
266
369
296
282
328
362
258
287
308
331
294
324
305
339
270
367
294
346
347
294
340
261
298
323
312
260
291
322
320
378
365
399
255
368
319
413
319
316
323
424
276
304
360
341
329
337
275
325
322
290
357
321
303
352
319
291
304
250
376
386
379
307
338
340
284
283
347
373
272
275
336
334
271
359
330
275
363
336
297
299
304
387
336
305
239
377
282
425
297
372
341
308
308
369
317
343
364
300
314
303
355
278
338
312
294
362
301
334
357
357
298
329
305
252
294
295
289
258
313
331
316
267
337
309
265
365
395
371
299
357
241
381
247
316
394
415
304
266
327
279
333
390
358
336
330
288
404
307
298
305
365
297
360
352
362
319
298
263
317
246
316
285
320
235
324
380
337
300
239
314
381
331
275
354
282
304
324
344
324
311
357
308
323
247
275
276
309
243
368
382
262
372
323
313
335
360
198
360
299
306
296
306
361
331
349
304
322
290
286
431
333
420
212
325
318
365
246
315
335
321
370
296
349
365
331
315
341
339
314
372
286
313
306
262
337
350
377
385
324
268
272
345
338
283
304
348
308
283
252
353
260
371
297
289
322
278
303
334
292
266
432
345
217
352
329
290
238
310
285
273
306
275
271
263
355
278
403
345
298
267
317
289
322
352
265
297
377
330
299
291
305
291
248
312
305
386
365
322
335
367
315
316
306
358
291
295
303
273
215
360
370
325
293
277
280
277
267
364
362
302
353
295
283
317
309
370
331
353
233
330
324
386
276
286
324
331
261
273
338
298
324
313
301
234
229
326
287
272
330
284
306
311
249
367
313
336
358
361
371
349
273
298
330
293
327
313
318
328
368
324
238
363
333
335
306
316
324
376
322
298
320
340
275
327
348
296
319
304
374
316
341
336
274
341
325
285
328
301
288
417
218
349
396
285
307
167
353
344
287
218
356
272
363
297
274
321
298
300
346
286
342
289
338
263
348
393
306
374
388
371
398
238
365
350
285
286
244
302
340
331
329
388
261
358
280
334
296
342
320
308
303
342
269
244
248
270
315
297
386
273
330
334
311
274
368
303
315
254
354
301
278
343
386
309
252
353
276
331
232
338
293
352
333
343
304
318
329
333
383
300
354
327
292
292
333
342
351
348
272
346
340
359
340
337
292
319
331
303
355
248
294
329
272
328
322
413
408
276
262
311
344
322
257
337
288
279
277
252
376
341
360
342
248
248
281
374
271
343
335
259
351
386
330
344
278
375
369
340
330
287
308
360
355
287
332
308
317
369
352
376
346
345
258
370
347
281
282
315
316
430
365
342
208
398
303
313
324
291
318
400
307
340
300
373
356
301
275
244
244
313
340
371
309
350
371
330
341
332
338
326
285
331
369
262
369
278
322
320
289
269
258
281
274
380
300
238
350
350
291
334
269
240
324
290
284
322
341
253
320
278
258
329
371
375
356
323
324
223
279
257
304
305
356
354
333
327
284
297
296
286
270
286
289
343
333
261
356
304
297
248
356
358
300
399
335
237
371
259
277
263
354
377
361
267
298
298
356
260
340
421
324
384
352
310
315
313
305
338
357
318
291
381
275
381
326
286
341
266
409
306
285
364
311
341
358
286
446
237
317
354
351
339
315
334
296
251
336
286
318
272
329
348
306
283
319
305
346
290
215
263
370
325
292
268
280
304
283
287
398
340
279
282
305
249
291
305
337
314
293
298
326
370
340
370
256
308
294
233
287
364
290
242
343
276
379
249
322
317
306
176
270
359
311
293
226
253
293
378
283
236
399
314
377
287
305
343
342
223
255
280
288
343
288
350
315
310
278
383
239
258
296
378
346
306
255
323
239
398
392
334
345
305
350
352
351
302
294
397
347
240
321
363
337
252
380
285
407
354
297
379
362
340
300
375
323
306
306
249
327
269
402
312
379
312
322
279
388
267
241
220
355
346
344
278
261
297
278
398
336
274
337
275
329
274
313
394
322
276
359
249
322
249
325
348
372
359
364
307
306
316
293
272
355
358
280
361
282
240
273
269
316
334
367
263
348
362
348
260
301
287
339
279
306
343
319
330
326
334
356
351
356
246
344
266
291
305
431
271
224
333
338
287
290
315
344
366
248
309
323
357
303
298
349
273
362
309
279
284
256
271
264
269
252
338
286
362
264
306
252
254
311
377
310
279
289
378
333
311
337
327
367
403
292
262
361
301
380
339
291
298
313
209
304
315
328
276
339
341
329
406
381
311
389
301
330
294
222
308
272
326
328
265
350
297
264
305
372
346
302
265
273
403
372
350
311
366
289
340
338
317
277
352
211
320
432
418
273
369
222
340
297
293
332
273
296
223
295
401
328
315
301
224
318
300
344
301
366
307
376
297
350
386
338
281
353
322
339
336
306
351
311
207
322
347
370
327
373
339
308
320
316
342
406
251
309
245
274
322
333
309
372
394
357
341
272
330
343
310
283
305
307
292
324
333
367
289
331
295
328
362
279
265
393
332
262
238
349
364
347
289
272
232
312
345
376
292
375
349
307
350
340
331
338
318
335
302
273
390
364
339
345
363
346
345
401
213
332
283
269
265
330
284
292
320
278
394
300
245
350
255
324
365
363
327
225
314
321
383
308
351
388
329
298
238
300
300
235
302
332
242
330
320
281
334
345
333
320
312
324
332
330
284
293
332
262
306
335
292
287
395
323
310
357
311
363
362
323
326
406
285
334
302
226
329
300
385
350
300
322
312
325
265
321
264
381
325
354
275
341
269
256
322
295
284
280
329
326
291
356
285
362
326
307
284
259
304
306
369
324
364
314
378
326
404
284
279
350
244
387
369
291
296
349
308
330
250
339
267
268
304
329
245
275
288
349
289
387
282
294
359
254
227
387
378
302
306
337
265
293
284
308
357
368
273
321
275
284
331
297
257
254
238
417
291
331
211
270
294
302
346
315
268
388
341
393
288
324
295
343
346
408
320
314
214
370
311
287
274
374
311
345
373
342
278
256
334
350
232
330
340
375
272
395
275
334
369
291
253
283
310
279
347
392
299
298
373
267
347
349
363
387
351
253
325
322
347
338
328
368
360
369
235
294
383
341
320
238
313
298
324
281
392
307
298
266
228
320
301
303
385
249
327
359
294
305
353
228
314
281
330
256
298
269
370
338
243
327
224
267
339
252
195
324
354
328
310
368
350
305
309
310
327
318
315
302
292
331
362
309
285
348
324
317
368
324
306
345
256
320
303
357
387
324
377
376
319
321
287
312
310
298
289
298
320
364
350
281
330
312
210
392
331
394
286
293
259
344
324
371
267
362
350
331
246
364
339
328
322
255
326
280
326
279
325
368
328
346
339
299
256
251
254
299
271
346
411
260
277
308
296
333
277
331
300
313
303
324
312
339
339
307
334
298
273
296
353
327
227
318
271
318
321
273
366
298
315
299
330
390
295
277
355
286
395
308
326
287
321
316
353
382
329
268
251
356
280
229
294
229
349
344
427
282
270
238
243
281
258
246
224
423
300
367
373
278
371
297
291
447
262
326
359
335
304
286
296
380
314
267
335
219
365
392
421
330
314
322
386
310
226
284
341
316
335
366
291
344
325
267
248
389
322
366
301
370
390
413
228
309
315
408
253
204
319
321
265
385
299
291
317
313
216
323
287
315
262
336
346
302
378
339
325
292
236
383
310
209
327
276
307
322
288
322
319
331
333
292
310
341
246
311
367
347
346
267
364
280
321
362
316
351
318
223
274
365
335
314
281
380
274
332
270
214
378
341
277
268
262
327
318
338
297
305
347
304
376
249
270
312
394
418
305
299
331
346
250
374
333
286
255
330
369
332
305
357
333
286
321
307
326
381
387
341
362
432
271
298
325
299
348
375
280
376
317
348
268
240
225
286
292
295
290
341
389
338
286
226
300
305
345
321
303
256
356
328
276
342
364
409
288
259
353
292
373
342
259
348
279
265
312
279
326
416
277
390
281
258
348
338
278
316
319
366
324
343
325
307
324
386
300
364
312
378
332
321
308
419
337
252
265
323
415
371
310
284
266
359
281
321
313
325
297
285
384
280
359
341
259
337
299
367
337
301
253
295
300
300
268
302
316
257
320
320
381
285
262
274
293
249
280
329
363
312
284
296
338
331
346
316
357
271
335
318
415
337
288
329
331
317
346
317
300
402
375
328
328
371
280
275
344
324
247
320
308
316
292
322
398
286
297
342
356
409
284
364
311
367
245
321
305
307
349
362
357
262
335
322
341
365
338
343
283
357
322
314
327
338
358
291
296
297
385
312
251
326
331
339
315
256
410
359
293
369
320
277
369
311
332
356
276
296
344
314
351
319
302
306
361
276
348
375
332
347
330
408
317
375
273
351
301
276
305
301
342
298
243
351
302
322
290
273
300
331
312
256
348
280
299
307
383
292
248
279
263
304
304
317
279
393
352
279
399
290
286
305
317
319
341
311
330
267
254
411
285
333
350
327
336
334
301
315
366
328
359
248
371
415
369
327
305
332
389
261
243
385
372
338
285
294
293
289
356
311
290
291
332
295
243
285
338
299
342
324
483
375
231
287
283
286
361
251
355
350
262
253
330
263
387
261
303
283
311
346
339
239
362
359
307
330
301
309
274
339
369
291
338
237
276
332
301
324
388
310
377
318
390
313
298
344
321
318
292
271
368
331
271
356
330
287
263
377
313
290
279
279
329
266
292
256
343
281
283
356
313
306
285
372
291
249
333
246
304
325
225
251
335
343
289
344
386
329
341
302
366
307
407
329
326
302
316
404
317
340
323
353
291
338
291
236
334
340
310
393
266
303
258
403
412
287
409
330
298
292
297
333
353
246
282
226
284
406
273
313
373
356
326
290
322
255
284
320
331
316
333
330
314
221
315
305
249
337
282
331
315
278
332
339
297
308
352
331
313
275
321
246
345
304
298
282
300
399
276
351
360
312
363
315
336
255
369
354
311
439
310
258
248
343
383
259
269
245
402
322
193
289
321
303
225
392
379
346
271
284
303
307
348
292
339
352
277
270
325
363
324
323
320
299
356
292
369
267
314
307
196
378
332
368
266
265
307
305
358
317
325
320
214
363
370
316
343
321
286
307
295
306
362
324
257
406
226
182
411
319
402
319
331
334
233
410
355
217
290
327
398
249
317
296
308
293
309
393
278
225
272
384
438
348
353
346
430
373
354
339
353
305
313
281
324
312
336
243
267
375
307
340
281
300
328
369
339
335
336
331
318
371
287
333
344
341
355
311
292
294
310
356
241
370
260
269
372
308
303
331
439
342
365
360
292
347
330
335
318
292
378
234
295
279
278
316
301
316
296
313
255
311
352
260
305
242
312
297
327
313
332
337
310
261
357
416
272
348
324
331
310
353
274
333
313
378
306
290
349
365
348
331
399
348
340
255
320
312
285
370
321
292
294
330
304
318
357
299
305
311
249
240
382
277
350
315
254
340
235
317
391
271
256
376
337
323
304
293
310
365
331
314
338
308
285
316
279
313
293
283
346
315
345
395
306
399
312
336
362
405
347
361
332
299
321
287
347
279
247
315
339
323
198
269
365
349
402
366
353
291
300
285
277
262
384
366
361
392
375
315
308
359
352
314
347
332
356
206
355
336
336
325
309
315
349
276
324
272
310
284
335
278
274
330
389
407
317
325
320
362
383
321
299
387
263
308
342
318
359
384
323
304
321
333
340
312
362
310
276
353
289
411
373
400
319
368
350
317
244
352
336
243
307
372
338
368
320
290
222
373
347
359
303
355
281
389
308
294
263
284
390
261
273
306
338
328
356
268
290
318
312
396
246
213
324
297
317
361
392
342
366
249
248
217
292
303
309
319
342
295
279
350
327
370
284
373
281
323
310
296
334
370
321
287
373
299
286
355
246
243
338
254
339
331
319
374
328
336
349
325
340
324
303
339
320
229
304
342
380
353
323
303
364
366
319
286
313
320
273
369
324
381
250
293
322
313
335
269
259
342
301
346
344
304
370
350
259
349
346
302
303
353
291
270
283
291
329
382
341
362
336
350
327
293
325
288
283
274
349
300
390
184
311
220
279
323
316
318
330
363
275
284
343
334
276
292
296
358
241
308
299
332
214
335
240
374
332
371
301
348
388
357
238
329
295
303
332
418
250
328
349
273
333
370
348
286
381
308
214
349
343
309
324
357
409
297
269
251
288
339
306
295
372
377
287
377
302
296
255
365
323
401
307
352
290
231
347
294
320
360
241
297
314
311
212
307
238
283
271
269
343
287
259
276
346
288
272
373
279
323
324
326
282
280
364
384
394
269
320
348
345
255
289
343
276
391
316
341
293
356
254
254
273
390
288
388
310
234
296
302
338
328
328
405
364
380
323
365
336
340
321
294
362
368
314
283
334
327
302
283
351
290
370
336
372
341
251
297
330
304
336
378
314
360
343
319
361
352
306
251
323
331
367
273
350
296
268
269
294
328
272
257
286
289
336
277
330
271
356
288
310
254
341
339
312
294
276
401
299
247
296
283
278
290
355
330
345
273
309
353
292
337
263
366
309
366
311
325
276
329
234
240
337
275
340
356
339
294
296
338
386
377
297
313
278
266
292
374
370
323
376
362
363
291
212
374
331
249
410
333
359
345
214
186
307
295
313
274
285
278
332
339
278
287
252
281
350
269
335
293
416
291
304
356
311
392
316
288
287
190
290
279
353
338
367
358
239
282
317
368
272
302
311
312
261
321
300
337
298
323
318
295
260
309
375
328
336
247
339
392
364
330
326
311
211
284
363
319
320
293
351
272
351
373
351
373
344
315
328
361
296
319
349
236
315
374
338
272
386
287
242
280
359
302
356
350
310
271
263
289
374
309
254
325
240
248
265
341
322
322
316
322
280
391
354
313
345
321
251
243
324
314
339
317
300
283
295
322
291
344
310
271
264
239
371
330
303
370
307
250
299
359
326
231
354
377
344
303
367
312
300
244
258
307
348
341
338
354
304
302
317
313
236
274
337
337
355
273
348
393
333
339
315
270
393
311
290
286
356
328
276
269
364
340
214
330
317
307
261
357
392
321
259
333
339
283
218
314
386
355
340
340
316
276
315
321
290
408
333
329
360
331
316
350
307
271
319
378
289
281
333
350
209
394
354
362
319
289
335
258
305
296
297
345
266
323
339
370
272
295
261
287
344
344
239
291
334
324
366
310
259
287
249
404
314
290
276
321
347
341
252
401
273
294
365
401
296
299
329
288
307
364
311
348
359
272
305
327
358
268
276
327
336
371
273
326
341
333
265
341
339
293
347
292
288
330
312
314
319
317
351
316
282
355
351
236
234
373
409
251
367
218
302
316
268
311
282
360
325
263
349
391
390
343
340
318
367
312
345
369
334
350
292
192
360
335
339
356
266
269
298
349
274
262
276
317
317
351
402
261
253
351
253
331
356
299
289
299
313
368
378
382
305
457
302
253
311
330
287
230
405
355
265
341
287
342
349
313
317
310
319
245
315
291
295
278
330
372
280
347
322
295
299
354
375
351
308
346
339
285
416
379
321
289
410
337
256
229
357
324
310
340
374
220
345
346
341
305
289
278
195
322
346
374
339
312
337
331
320
264
350
422
298
279
282
286
276
320
256
376
265
271
295
375
303
404
342
278
352
324
304
296
293
347
333
368
332
354
425
292
246
318
330
309
354
342
303
288
301
249
287
313
331
322
332
343
366
337
308
340
390
296
362
339
320
305
347
331
303
315
326
240
330
316
388
288
305
384
321
339
240
347
348
329
323
320
376
272
311
273
382
347
378
319
317
313
273
301
316
268
391
319
258
330
384
351
390
328
290
341
285
247
366
319
233
317
343
378
337
282
271
281
304
360
234
315
289
283
314
294
245
317
331
341
228
315
296
244
363
297
309
257
358
360
348
369
325
300
305
425
247
279
348
310
306
355
347
292
302
287
299
280
342
372
301
338
246
312
260
310
333
398
235
340
397
271
392
320
314
300
330
266
315
252
305
267
255
315
410
372
336
294
277
274
319
261
262
278
340
320
415
332
306
297
396
309
337
313
434
279
319
352
321
402
340
305
225
232
323
256
372
298
327
344
304
306
349
308
249
336
249
381
291
362
349
283
315
390
200
361
288
281
364
362
276
303
368
346
290
316
327
335
325
315
339
290
338
308
251
340
236
335
396
296
351
390
300
334
297
352
324
351
430
303
317
307
312
313
335
300
275
255
350
306
337
363
346
318
298
351
369
328
315
348
329
309
341
378
289
411
300
323
282
329
387
384
222
346
336
343
257
377
360
281
279
227
377
271
280
324
330
274
326
359
343
342
284
319
283
371
249
324
309
322
347
298
291
303
254
331
306
297
343
245
277
298
397
335
339
350
358
344
234
289
318
299
254
289
299
295
243
284
371
316
367
323
298
294
427
285
345
229
373
343
343
349
398
380
262
329
311
274
317
348
160
244
362
346
381
287
322
326
267
315
290
299
323
322
262
330
254
324
291
294
344
312
319
332
311
317
351
324
327
238
319
355
307
324
423
360
319
297
266
330
401
320
281
284
343
323
238
297
314
337
340
301
267
325
308
375
279
393
309
353
276
287
362
322
299
328
356
325
364
324
228
291
310
281
295
340
340
240
345
360
414
333
348
330
268
249
382
334
250
275
330
307
284
387
315
328
397
215
316
321
375
294
277
321
255
306
244
387
291
295
346
282
362
392
410
333
322
304
215
360
320
295
338
319
363
308
270
245
385
392
324
361
334
318
356
283
333
316
322
396
375
371
351
196
371
371
245
383
271
301
356
312
283
252
305
287
276
303
328
353
362
268
342
330
384
344
316
324
291
231
305
275
291
356
270
301
371
307
241
361
299
384
406
317
328
344
306
293
289
322
262
391
357
353
260
306
365
380
352
362
368
305
281
341
285
314
227
280
346
305
400
262
279
378
429
323
412
293
328
307
358
461
330
272
306
328
401
283
372
343
257
400
255
270
304
277
367
327
296
349
261
279
236
327
347
355
295
253
356
301
278
349
245
249
301
296
286
289
347
286
292
298
312
242
221
278
341
366
336
339
293
263
289
314
240
281
360
285
290
267
305
321
313
324
343
247
290
342
292
367
369
256
329
359
284
309
308
345
327
367
311
401
339
285
367
216
358
329
291
327
258
264
318
333
357
256
274
361
352
362
339
355
247
355
322
298
332
310
269
255
314
294
335
298
318
236
397
264
330
311
367
347
348
261
330
385
253
256
274
365
340
300
341
286
261
283
318
267
307
351
290
182
393
350
352
285
310
248
283
314
353
305
345
389
323
356
282
383
284
278
301
339
348
314
292
318
289
275
266
325
328
301
358
316
368
343
386
362
410
351
309
338
333
202
286
355
430
288
272
301
316
364
362
305
379
356
315
367
268
297
323
275
270
395
316
355
332
332
235
337
282
340
311
265
271
225
263
332
358
255
270
419
357
300
238
284
407
279
302
280
321
278
313
297
370
310
240
302
317
305
288
314
320
386
298
333
340
358
225
262
306
284
313
390
289
328
237
382
272
267
309
292
299
278
333
364
363
266
367
293
266
320
303
270
296
375
351
282
288
312
377
370
366
391
373
277
303
324
366
334
327
325
241
267
368
304
269
320
196
281
313
240
259
315
332
340
364
307
312
301
295
265
377
313
335
310
312
287
250
417
381
247
322
239
333
324
371
281
339
267
299
410
301
380
331
353
273
407
304
337
204
292
354
385
293
382
322
263
348
361
268
327
288
341
374
327
380
347
387
338
295
303
251
311
198
361
307
249
306
241
276
341
316
313
265
272
297
300
381
359
247
256
298
314
322
342
250
317
321
338
301
330
324
371
352
320
301
304
312
303
313
314
293
289
370
337
377
316
325
222
368
312
295
395
316
304
314
253
249
368
302
373
298
371
322
353
281
250
251
297
255
308
346
307
223
242
313
277
262
351
389
336
372
349
326
321
381
366
320
285
308
261
282
384
258
302
306
223
340
292
367
271
327
288
364
296
310
345
287
236
327
231
294
331
372
349
247
335
322
389
305
318
322
402
315
337
382
311
297
410
242
336
291
302
338
330
320
303
283
351
343
324
296
264
366
312
370
417
386
384
386
336
353
319
288
298
301
318
289
304
313
317
374
370
237
293
442
312
357
375
342
223
273
263
308
278
373
311
306
339
308
328
381
309
287
346
333
228
296
309
351
330
328
306
375
406
379
274
305
288
271
371
289
356
303
334
262
342
313
247
327
340
298
281
316
355
299
344
330
341
277
338
333
264
349
359
277
371
262
336
342
319
300
378
302
303
246
332
288
253
290
261
316
298
311
256
304
293
268
363
360
383
319
249
294
278
391
382
391
300
307
266
356
269
196
327
379
306
405
301
191
232
368
312
329
362
374
324
420
310
327
307
315
385
302
269
273
280
386
328
356
323
330
288
281
257
277
310
310
303
298
323
221
265
321
283
226
374
315
378
325
300
349
340
269
287
364
351
313
288
278
306
377
271
271
226
270
348
339
248
267
331
277
371
313
310
358
306
362
312
317
367
409
339
308
332
291
371
352
319
328
259
294
283
355
254
248
267
349
246
318
283
278
345
188
290
292
315
418
361
362
368
238
307
383
257
193
337
329
206
355
315
343
338
359
271
302
359
324
272
330
359
255
334
257
393
318
380
296
269
351
242
368
334
361
313
281
343
337
326
269
327
376
343
314
369
292
301
383
367
293
280
313
295
346
264
332
264
248
345
329
276
295
322
338
328
344
379
361
250
278
326
319
364
365
260
232
295
272
330
284
329
362
328
272
322
246
319
298
359
330
336
406
385
319
296
275
389
271
255
406
199
339
286
278
309
277
354
366
229
287
353
322
262
382
375
322
303
329
355
385
320
355
344
304
222
368
279
289
320
328
381
310
349
292
296
334
247
317
295
283
307
336
383
257
327
234
340
279
317
311
276
319
313
388
296
356
314
359
323
319
258
261
283
247
384
422
292
280
336
372
286
302
367
329
277
412
299
260
245
260
323
366
314
349
309
268
312
282
244
207
275
363
364
338
313
314
307
319
281
249
280
289
371
225
329
309
335
309
316
298
287
330
315
266
261
334
227
243
281
321
339
295
316
313
247
288
314
281
303
327
251
284
308
319
368
280
351
226
357
247
370
284
300
310
297
274
221
296
310
253
342
366
297
268
334
302
278
260
278
280
308
262
305
332
264
315
280
393
342
247
350
311
347
349
386
322
310
389
380
359
376
430
327
234
316
251
267
369
271
391
358
363
292
320
397
306
292
337
251
423
362
236
282
325
264
321
299
327
386
318
340
366
317
312
291
353
361
263
301
400
190
288
387
302
353
302
295
371
290
355
341
283
347
285
356
188
326
381
259
278
252
323
274
244
362
294
395
330
328
312
298
288
307
257
254
340
342
359
210
375
291
344
242
308
313
342
323
345
365
339
358
273
347
336
239
332
352
366
241
370
260
229
302
309
287
260
292
259
399
359
312
289
294
309
335
300
259
324
325
343
299
329
348
333
392
294
301
269
331
324
281
306
213
310
282
297
345
267
420
355
360
217
332
306
331
261
263
228
308
372
321
333
393
314
403
369
271
357
279
346
306
255
282
378
292
203
353
336
333
280
362
260
274
279
284
250
308
360
277
316
278
354
433
331
364
275
317
262
361
276
319
257
308
288
312
304
340
358
334
312
391
356
235
322
290
278
362
329
276
349
355
299
316
267
353
236
361
282
344
245
382
348
370
342
281
213
305
304
285
322
318
324
380
289
288
333
281
294
322
309
353
324
259
272
339
349
344
316
337
259
300
296
279
317
265
273
298
309
267
313
273
304
368
281
320
283
274
348
407
351
241
310
283
296
347
306
263
328
240
328
323
257
313
288
298
344
279
321
275
227
352
285
359
338
285
316
279
336
260
310
269
330
313
305
342
262
320
365
369
297
279
242
263
316
340
252
240
257
287
382
309
363
284
321
267
325
258
260
350
241
357
357
303
215
317
364
290
257
355
347
338
345
311
295
397
341
290
324
259
315
297
343
293
296
337
337
352
272
269
263
268
283
199
311
334
268
342
315
282
227
306
335
270
345
368
248
385
261
335
282
361
280
277
222
284
287
250
284
226
296
332
277
324
357
367
330
289
388
325
278
298
389
302
394
299
293
231
370
374
374
307
326
360
359
270
343
313
348
332
305
348
284
317
355
346
338
248
370
336
355
297
303
263
303
332
347
295
386
272
313
366
301
310
327
265
371
248
321
270
269
303
322
331
289
271
318
331
325
300
346
315
327
253
364
388
324
327
312
327
322
298
296
273
307
373
429
396
250
332
375
367
320
347
280
314
291
322
374
258
319
360
345
380
268
337
306
295
324
290
320
346
259
349
383
258
284
319
269
329
334
306
354
292
270
264
379
288
291
347
328
284
322
306
313
366
343
318
373
336
258
331
321
323
360
306
339
274
283
298
329
315
347
293
261
298
327
413
405
337
357
306
302
341
347
346
276
327
290
286
293
246
297
302
317
295
276
422
283
343
262
365
342
312
375
283
315
315
330
373
325
362
316
439
364
307
344
225
307
233
331
309
275
291
283
390
282
259
254
357
291
295
288
277
361
326
346
225
351
278
294
241
234
300
301
290
303
321
319
376
363
336
265
409
280
306
341
343
366
347
310
287
343
260
348
340
394
269
188
325
322
337
350
347
316
333
244
318
441
358
291
267
344
313
368
335
336
292
384
315
301
174
409
333
276
285
359
336
287
255
317
307
292
372
270
285
260
302
371
310
321
289
353
343
302
412
283
343
366
334
376
275
287
316
255
349
197
366
275
243
325
332
260
270
271
294
402
327
313
241
294
312
342
259
323
355
340
291
276
397
353
354
339
326
288
464
323
305
314
305
322
250
277
310
350
384
340
403
293
309
311
300
233
366
338
392
242
373
361
347
414
327
268
314
311
377
252
237
374
306
293
372
323
409
290
339
398
356
295
301
339
295
351
306
303
253
299
252
311
328
265
328
312
258
340
292
331
283
335
376
235
300
327
292
281
286
362
324
346
284
368
358
367
315
379
307
272
323
198
219
299
249
351
280
296
288
281
288
308
352
294
314
280
285
299
304
293
350
333
326
293
315
320
256
315
354
360
216
269
338
330
239
314
301
348
334
309
328
271
304
352
407
325
319
328
338
321
231
268
314
291
267
346
308
316
316
373
328
303
337
325
319
268
298
327
303
294
284
319
283
270
328
225
328
413
236
291
282
312
412
284
318
292
276
244
316
353
291
389
326
315
222
373
244
370
400
316
289
270
259
366
327
234
309
341
311
215
278
281
230
332
290
341
313
306
337
372
355
365
241
338
284
257
282
329
343
225
336
298
325
304
276
306
258
401
302
329
303
325
339
369
359
273
308
311
257
354
332
318
316
363
249
299
291
312
323
347
336
388
385
245
323
328
361
334
366
363
304
271
278
232
350
344
278
376
231
295
342
345
366
277
335
364
358
357
298
350
250
361
248
376
315
274
300
201
276
313
308
306
342
260
300
275
319
358
303
282
292
302
279
276
312
263
333
329
202
304
281
232
339
365
325
333
249
312
325
375
314
271
310
330
300
266
291
300
408
354
245
287
290
207
376
433
384
363
311
331
344
320
322
307
294
328
328
349
259
302
326
381
349
341
271
317
281
357
332
282
247
340
339
328
382
318
290
377
314
339
302
295
353
356
325
389
313
223
330
372
364
295
373
306
311
304
331
228
317
322
356
297
242
304
381
301
356
355
306
265
293
298
307
326
300
319
209
300
258
348
341
351
400
293
290
367
306
324
316
333
383
247
342
333
271
310
349
256
343
263
221
284
309
280
329
329
294
294
314
367
414
313
348
259
221
343
311
307
243
332
299
237
344
323
383
354
331
341
322
295
357
302
258
306
348
383
343
398
325
355
334
346
249
392
239
328
283
244
280
430
344
350
263
308
345
245
311
305
273
337
296
407
333
361
318
272
299
300
285
217
354
263
363
257
389
371
285
279
382
318
349
252
305
364
237
356
298
278
325
348
287
304
385
312
265
320
324
331
326
410
293
322
294
264
301
264
311
295
290
322
371
287
332
320
258
362
260
340
349
210
326
262
344
369
307
336
346
271
327
326
365
256
345
302
259
313
289
329
380
291
325
274
277
216
276
293
316
301
308
279
356
319
298
362
281
392
259
367
393
358
337
264
299
220
353
336
276
293
377
362
375
304
349
283
313
383
280
265
293
306
339
299
290
382
290
233
340
321
220
252
291
337
306
302
343
285
325
342
352
329
358
281
325
243
333
348
299
325
355
406
380
370
308
234
249
306
334
288
339
349
284
339
276
361
360
324
315
413
380
316
278
320
347
223
319
352
272
389
346
273
325
321
326
332
350
259
243
297
390
323
328
427
301
316
356
307
324
310
339
341
323
382
273
249
318
357
319
319
253
287
274
329
335
276
378
362
228
267
336
288
313
453
338
355
298
325
353
352
233
297
264
339
310
243
356
356
371
307
264
326
304
288
308
271
391
317
282
273
317
293
323
333
337
318
298
345
292
342
259
371
361
336
268
351
292
332
330
355
309
361
323
376
279
412
256
358
328
306
309
337
284
354
352
319
294
236
289
363
429
346
269
252
383
353
310
310
268
292
393
268
381
310
324
327
333
371
372
355
348
167
334
338
265
213
256
264
314
221
295
284
306
340
333
344
312
329
283
360
349
239
273
304
281
343
287
309
345
299
270
215
252
295
309
320
346
245
325
246
298
322
282
344
353
297
325
343
360
392
367
224
267
306
341
355
291
325
292
367
289
326
281
305
256
303
309
285
225
288
336
343
380
299
308
367
332
320
283
348
323
340
295
265
358
351
351
344
293
357
243
220
318
278
318
235
325
298
329
273
308
381
254
267
345
316
267
273
344
350
230
329
280
267
307
288
347
404
299
293
284
269
323
246
270
286
328
366
318
341
288
292
260
296
255
306
297
303
258
341
346
366
350
287
349
324
335
302
307
323
184
341
272
282
276
355
314
324
293
304
320
311
391
354
252
386
224
277
263
258
331
198
288
324
339
353
291
310
322
327
355
337
282
307
358
312
315
285
227
329
316
382
363
273
308
340
290
352
349
368
303
255
306
302
322
258
264
299
239
327
367
341
346
334
342
322
351
308
289
286
274
263
327
285
288
325
299
215
341
324
254
288
302
269
341
257
430
350
356
335
301
380
333
295
309
290
263
203
365
270
281
347
284
365
214
198
285
246
358
302
270
335
393
344
214
254
350
335
351
298
332
326
356
205
295
386
326
248
320
382
319
235
312
374
236
336
321
313
346
286
297
296
386
272
273
375
243
261
274
285
275
419
270
319
304
327
266
305
348
345
369
329
392
285
306
326
293
282
242
273
304
260
284
325
266
302
276
235
343
324
261
311
389
265
303
397
295
357
316
356
312
365
341
356
254
365
396
328
329
282
363
280
279
303
258
304
327
380
308
352
288
270
347
277
315
369
349
297
282
285
344
298
270
327
299
328
336
304
332
302
370
296
336
383
332
339
351
357
337
315
382
346
365
368
276
297
327
352
355
330
344
249
253
381
327
299
319
326
365
282
412
347
381
241
300
328
342
397
334
310
339
312
315
308
325
290
360
333
298
298
317
252
415
361
289
282
329
244
269
226
367
239
334
231
403
347
331
360
328
295
244
285
307
336
335
342
360
359
297
365
307
341
310
294
340
352
274
303
223
306
320
242
337
265
334
304
275
296
295
276
329
325
312
326
354
268
306
301
284
349
286
294
311
323
284
268
335
331
325
293
364
336
288
430
353
298
278
343
390
229
348
354
342
313
263
310
328
318
400
343
346
284
347
303
319
377
282
327
325
366
301
280
364
307
293
340
319
331
361
335
284
361
232
394
293
376
245
338
308
247
262
352
362
349
331
202
308
289
338
375
430
277
285
228
288
294
322
287
293
265
235
320
294
403
297
266
278
336
300
272
354
223
314
375
386
293
285
228
360
219
356
369
303
361
280
309
293
263
278
202
313
328
265
271
332
268
296
334
378
311
395
337
384
299
235
309
373
352
319
335
307
344
292
290
275
257
274
268
313
350
337
347
319
251
332
285
310
357
318
339
313
274
363
355
285
306
327
284
274
402
346
347
275
361
327
335
241
261
293
329
295
253
302
257
308
291
253
301
307
269
345
304
238
275
313
298
260
376
264
315
271
248
380
236
326
287
320
274
300
232
365
289
293
323
375
260
292
295
258
308
289
326
358
308
313
319
406
353
364
322
349
324
404
270
318
349
274
357
276
378
292
304
388
293
406
285
300
268
333
380
391
341
335
327
315
374
319
266
290
357
374
329
366
337
288
376
376
332
248
279
338
321
351
308
280
220
397
386
173
308
320
362
350
301
313
380
327
366
258
287
319
354
389
361
353
394
309
304
315
380
312
316
366
347
293
368
371
251
311
307
286
294
307
310
251
382
304
275
383
263
318
336
342
347
254
308
374
270
332
296
299
295
286
322
304
299
347
265
345
256
377
201
281
326
330
296
315
365
350
297
253
366
346
329
328
247
328
317
308
298
293
383
363
337
371
303
363
366
275
298
331
254
341
273
333
353
230
243
344
435
291
360
353
291
292
359
329
294
258
269
348
310
301
268
366
256
310
354
261
312
253
331
351
219
303
295
270
321
355
268
256
284
327
301
330
297
304
380
319
248
416
386
280
258
280
363
268
369
332
236
291
394
325
268
326
267
301
274
206
332
339
346
377
304
375
382
392
230
367
311
296
339
289
256
316
361
290
304
304
318
371
326
294
316
307
306
297
283
326
339
358
352
300
371
262
232
279
274
267
369
326
297
273
318
278
273
346
280
351
337
321
396
293
216
314
296
282
232
278
350
375
346
269
230
314
285
311
224
240
315
283
304
357
232
283
313
309
286
256
327
294
365
351
343
306
318
286
277
305
381
304
411
287
357
346
274
282
321
311
328
276
402
321
366
290
338
354
325
318
335
330
293
360
261
296
377
337
325
283
174
335
355
293
265
367
377
327
289
335
310
336
397
365
315
330
325
364
321
331
356
226
265
247
325
343
304
365
317
331
412
337
310
382
329
338
218
320
326
293
358
354
233
361
335
430
366
338
343
311
324
221
364
282
357
319
366
310
363
331
401
404
307
328
229
329
347
290
323
292
278
400
392
201
311
269
337
305
294
364
294
372
335
280
336
293
381
356
272
256
342
318
251
393
377
303
285
290
324
298
346
272
294
259
326
328
225
277
340
302
334
288
277
370
285
344
454
362
340
378
348
301
283
304
262
311
263
259
354
350
309
319
338
297
378
407
369
342
335
284
364
311
245
346
354
356
337
361
357
328
290
263
349
338
335
340
218
335
302
334
331
351
277
340
396
292
320
313
323
358
340
341
306
354
296
233
310
349
303
397
312
288
280
373
303
307
327
361
205
263
287
236
339
248
296
307
307
234
436
341
331
273
329
322
298
346
322
325
332
324
265
380
287
324
319
294
330
332
303
348
338
261
318
294
372
329
245
309
281
365
347
354
321
262
329
293
271
237
262
299
307
336
342
386
340
333
361
267
332
319
352
384
414
407
358
297
310
290
365
400
300
326
263
241
378
309
374
180
358
308
343
347
383
365
329
302
289
229
337
264
347
330
327
245
353
377
261
427
315
343
305
307
323
304
388
267
315
354
265
346
261
272
321
291
337
318
331
367
333
286
342
280
356
281
340
302
329
325
340
293
290
288
304
341
289
372
309
337
330
379
333
296
221
283
257
334
219
329
272
317
270
334
308
311
280
327
270
268
385
352
233
301
227
289
298
254
181
345
319
306
254
283
302
284
360
294
298
354
273
338
284
301
385
290
394
389
344
350
364
369
308
243
228
356
378
245
253
360
234
287
356
380
298
291
344
369
315
267
353
321
330
305
320
280
302
312
314
330
361
260
333
347
242
371
320
332
277
282
319
335
333
255
367
326
250
311
329
253
350
299
404
330
387
290
442
294
319
335
341
295
275
364
304
300
313
336
316
357
300
273
245
267
273
357
282
353
313
304
330
218
288
248
322
329
303
360
321
289
317
344
371
342
337
256
295
326
337
326
291
215
359
325
294
240
290
317
300
315
363
362
279
372
364
270
369
417
292
294
339
369
283
303
270
349
327
322
273
288
388
269
227
385
376
292
337
362
336
225
301
342
305
306
339
291
288
328
265
338
241
341
335
362
367
308
333
259
309
330
338
323
332
256
221
288
373
335
391
277
337
395
350
382
341
256
305
287
321
325
291
196
306
326
342
224
306
291
400
379
300
206
336
212
328
326
294
284
289
371
314
392
250
334
298
336
315
225
298
279
306
284
299
324
294
284
361
296
253
459
302
362
386
292
271
330
327
343
302
398
319
375
318
363
259
244
266
308
303
335
207
324
267
334
364
308
368
231
357
306
384
304
279
334
323
379
317
359
334
367
286
328
379
291
353
374
346
331
422
346
316
311
376
373
239
274
383
336
336
263
260
352
281
308
259
323
308
262
300
319
309
308
284
286
377
294
339
296
337
290
203
308
356
322
270
258
307
253
367
397
309
310
280
240
344
279
347
273
327
344
264
347
372
232
346
324
261
296
353
334
243
326
300
365
315
257
328
324
369
292
274
322
279
297
353
334
344
268
326
408
338
322
254
331
343
275
264
273
264
336
351
312
319
329
326
309
356
354
354
256
303
323
287
263
339
389
391
263
286
223
304
351
301
302
377
321
311
341
358
278
299
304
320
334
282
267
357
400
365
255
241
327
359
341
328
316
306
311
339
226
313
337
257
386
308
284
335
297
335
220
350
341
328
282
338
313
296
319
308
355
282
407
301
364
463
262
219
292
408
267
375
351
296
367
309
334
306
331
364
277
303
372
270
331
286
325
311
316
338
354
272
328
291
376
297
293
307
355
352
360
328
370
324
276
336
323
328
312
325
297
274
273
258
243
420
354
290
292
318
374
382
340
386
245
330
356
286
334
366
245
324
322
322
263
273
213
357
312
264
353
390
303
294
389
287
369
252
340
385
383
357
333
333
350
325
432
214
308
323
294
328
326
307
291
356
338
317
290
340
281
366
339
313
351
353
322
253
319
330
295
305
217
261
249
300
382
286
288
321
352
239
294
356
360
292
368
299
310
306
237
365
329
238
308
380
316
272
414
323
352
290
282
348
390
353
292
289
419
331
270
413
328
281
253
408
316
265
276
340
310
322
303
216
306
338
282
234
337
360
268
283
338
224
252
335
308
315
238
400
348
332
379
304
239
297
370
327
303
328
342
321
251
358
354
328
327
238
363
296
411
277
279
305
331
340
328
298
262
208
350
306
302
308
291
266
307
342
261
251
317
293
273
343
342
366
303
304
319
370
291
276
257
264
370
296
300
312
336
246
351
257
344
266
313
268
368
258
380
294
327
358
267
265
306
335
286
347
332
313
344
406
368
277
390
249
311
307
320
292
362
337
383
322
280
299
344
252
325
374
284
290
309
280
289
294
293
378
312
363
318
340
355
300
299
325
281
349
370
259
290
325
284
340
338
310
281
347
300
317
281
299
342
323
277
390
328
345
395
310
260
260
349
300
387
311
386
284
279
290
265
358
370
286
287
286
343
295
330
296
439
367
325
344
237
275
345
330
290
303
332
327
345
386
342
305
374
374
389
310
229
318
261
339
290
345
298
350
345
297
154
299
285
303
329
322
363
211
293
273
318
324
335
311
298
341
408
254
354
315
340
361
341
386
242
294
337
348
318
303
289
352
410
299
295
359
378
369
344
282
261
338
257
236
354
311
301
416
345
282
333
286
322
384
279
289
316
402
354
356
365
340
341
371
279
302
365
271
301
318
325
341
340
267
324
401
348
291
296
302
268
338
260
385
338
311
231
252
388
313
283
286
271
253
293
391
404
395
331
225
262
323
404
371
279
336
396
344
224
359
324
354
286
276
306
366
347
283
300
302
292
325
320
361
322
382
354
265
292
290
339
209
270
335
314
298
350
386
331
314
222
328
367
340
339
277
347
278
322
305
338
289
254
337
207
317
219
300
336
264
347
339
199
242
319
302
358
337
307
302
380
341
266
307
263
329
315
330
298
278
282
344
408
404
283
395
362
313
384
263
304
362
372
313
234
321
338
324
306
367
281
380
359
306
291
418
317
257
349
291
291
284
343
274
320
325
254
321
386
226
312
291
381
269
321
273
387
242
229
332
335
296
360
343
270
333
324
310
360
289
259
265
299
318
269
372
291
378
323
299
267
356
369
300
227
265
308
356
332
222
334
187
389
272
335
252
280
318
297
348
322
403
222
372
272
381
288
294
343
340
297
381
303
378
312
313
356
346
329
259
313
352
356
310
311
342
358
376
239
312
368
186
297
342
334
292
298
335
316
359
449
304
257
262
227
324
381
276
335
253
268
346
368
382
286
339
297
336
300
257
253
229
395
287
306
360
245
344
308
253
326
287
272
284
366
345
299
283
352
296
269
278
310
336
301
325
227
360
302
266
366
279
385
335
337
327
259
275
300
322
296
258
363
332
373
332
379
351
316
303
351
368
327
364
315
380
244
295
357
349
361
256
279
249
337
330
331
256
325
354
359
251
163
289
298
307
312
359
291
245
355
298
340
344
278
312
305
256
361
338
395
229
332
341
369
384
376
328
344
330
254
319
345
351
354
330
260
313
393
339
347
310
274
294
364
322
336
280
383
285
346
354
302
307
220
394
375
364
275
288
302
303
201
272
355
322
318
297
388
284
310
349
314
400
330
341
366
295
312
363
371
354
352
285
279
288
283
350
283
408
386
308
308
328
342
291
277
382
342
374
398
328
223
286
359
282
304
299
346
320
365
349
264
355
361
323
287
251
299
301
302
345
315
303
412
302
430
279
278
283
359
323
297
337
320
281
277
314
317
200
328
209
262
317
316
335
327
283
341
321
346
348
273
360
259
377
309
279
286
315
325
339
356
290
332
365
341
306
302
312
264
438
284
258
321
309
374
304
272
329
373
279
388
329
244
312
303
342
383
369
291
335
324
325
340
343
252
301
350
300
390
328
291
256
435
332
310
313
260
325
241
373
337
347
310
353
369
242
264
330
358
299
336
356
287
298
377
254
359
287
359
329
351
346
294
327
410
297
359
362
359
349
301
315
261
245
314
246
339
346
359
338
316
277
273
339
281
287
250
328
290
306
313
307
298
298
336
323
310
287
384
302
334
307
273
325
324
381
307
375
241
302
299
395
289
220
235
199
357
234
319
274
296
349
290
315
373
362
294
363
379
279
334
282
390
293
372
258
315
289
229
297
292
297
358
343
257
302
372
413
357
332
283
305
442
291
332
291
331
255
285
303
310
285
357
338
336
223
370
346
317
372
364
331
314
324
373
281
313
369
404
396
382
389
341
411
332
329
277
266
353
339
360
233
196
296
275
299
318
307
343
327
348
373
291
216
281
260
323
346
365
280
348
340
263
307
276
351
296
282
331
346
330
256
257
370
318
318
385
414
374
387
266
337
308
351
334
309
318
380
334
325
328
362
331
378
370
306
291
314
328
379
348
267
301
320
313
330
345
323
290
356
230
283
367
349
286
321
328
290
304
298
341
351
331
322
309
409
372
347
370
331
271
267
316
293
292
342
306
353
364
354
379
361
344
340
282
310
336
361
310
289
410
293
299
320
253
297
286
285
372
329
401
233
303
361
322
345
266
334
342
368
258
328
327
338
280
261
306
297
265
311
252
277
324
342
305
269
374
323
327
231
273
315
271
377
311
374
295
266
368
323
240
362
368
376
334
258
336
297
349
277
336
355
331
345
284
341
294
162
293
360
313
239
297
298
241
277
407
266
316
221
407
280
319
282
279
322
299
328
283
320
266
267
335
292
295
286
306
338
320
301
322
296
282
337
321
319
376
358
328
335
296
276
255
367
354
312
275
401
301
419
265
335
355
309
269
329
319
243
373
371
316
300
310
314
278
317
322
403
318
369
373
384
203
321
251
368
300
268
350
251
291
309
283
353
263
351
295
264
340
369
243
323
231
343
385
337
286
254
388
302
319
270
293
339
308
380
355
328
307
306
297
308
377
267
347
378
347
272
299
415
335
331
379
322
322
406
325
302
349
340
348
333
261
261
305
298
323
261
359
342
319
356
313
290
371
319
399
299
287
339
267
331
327
397
381
348
270
374
347
334
301
286
374
362
359
304
344
378
235
289
305
208
244
339
229
267
326
365
275
217
372
277
410
338
226
333
221
316
318
371
429
344
273
296
265
348
250
213
272
233
312
403
353
378
337
385
376
382
316
322
332
300
267
419
259
291
269
312
348
329
306
306
330
293
288
333
330
387
354
253
287
311
226
340
357
288
262
364
360
303
340
415
323
229
417
287
313
312
311
298
326
274
228
276
333
413
324
365
357
340
323
336
305
301
336
286
371
250
285
249
288
300
350
328
259
347
362
292
358
333
351
309
316
255
350
341
319
333
339
294
362
334
308
375
344
309
346
273
306
289
313
334
272
328
297
288
310
318
301
325
309
304
319
353
256
350
313
403
302
342
348
242
286
338
334
274
365
295
387
345
410
360
347
357
274
273
295
272
371
348
265
285
340
301
307
290
340
303
356
236
331
332
270
232
305
310
301
348
301
353
331
361
352
345
290
326
294
283
308
283
384
383
272
331
379
348
325
347
274
301
268
306
300
293
367
379
378
297
223
332
320
338
342
312
332
415
340
351
339
259
282
322
345
371
342
356
392
334
311
326
275
308
292
297
278
414
301
355
365
310
328
280
313
404
323
350
334
317
317
293
298
334
278
293
255
315
289
345
337
304
350
348
248
188
332
343
204
296
353
283
363
365
339
300
197
303
282
288
387
235
290
381
369
289
293
260
270
412
376
317
401
298
351
256
307
315
312
402
335
331
317
303
434
357
366
314
307
304
339
269
321
343
325
282
273
257
287
348
299
311
308
289
380
336
293
283
309
284
283
285
355
391
326
266
268
382
268
380
195
374
322
272
327
364
263
411
306
274
321
358
390
287
299
295
285
396
330
318
336
332
321
412
314
346
332
274
375
327
249
282
326
288
292
330
272
310
258
214
403
288
321
356
343
360
265
316
248
254
271
340
325
367
281
317
298
344
275
318
285
323
303
370
294
288
330
277
299
209
301
251
402
273
294
328
347
414
297
251
319
319
426
315
432
313
312
387
310
312
311
314
301
299
322
302
311
249
346
232
355
310
310
278
233
290
334
258
296
372
290
266
376
256
236
297
282
303
360
342
317
299
298
321
322
392
273
321
400
276
263
311
303
293
321
285
285
285
350
262
268
316
298
304
269
381
297
286
265
414
302
265
335
294
310
312
291
305
334
253
238
353
261
221
277
374
226
337
358
398
361
257
261
319
364
290
402
314
308
294
366
313
410
336
288
377
289
326
210
307
335
376
345
286
323
361
362
317
365
367
288
283
339
291
259
331
311
335
231
305
290
311
324
221
321
363
255
296
392
307
362
379
378
342
318
311
241
321
276
298
332
294
279
297
250
389
390
341
278
285
244
340
265
285
385
291
281
273
293
264
263
300
314
284
326
325
310
267
243
293
321
302
361
332
308
335
381
258
320
254
272
341
263
356
282
335
281
373
322
238
340
302
326
357
290
310
350
336
347
262
295
353
342
351
317
298
314
294
342
345
329
238
320
301
361
389
299
287
296
264
357
313
305
400
229
251
276
313
327
304
293
320
343
314
241
365
302
351
305
214
381
314
318
242
298
351
271
336
281
301
289
339
316
290
330
294
382
382
333
276
265
257
368
367
293
339
307
262
354
358
324
252
304
270
254
360
342
331
357
262
389
329
328
334
313
271
264
322
298
398
285
361
301
264
305
330
295
353
364
395
274
308
336
328
288
206
267
298
295
268
225
336
277
354
391
278
281
307
263
225
287
351
334
303
323
242
356
383
297
321
290
333
348
332
241
344
340
296
228
371
333
316
342
307
244
332
344
319
257
340
340
352
342
283
326
265
331
349
291
288
296
308
312
264
344
354
296
333
239
361
266
267
314
380
262
288
298
276
350
282
316
297
296
300
346
303
247
279
383
284
295
207
316
356
279
282
253
370
287
371
326
363
308
337
304
349
268
256
292
402
304
348
256
382
370
346
242
317
318
295
373
232
345
310
391
327
320
312
229
286
325
347
336
312
352
297
225
304
241
402
364
271
342
367
217
339
327
359
276
354
337
284
315
284
300
249
321
329
312
297
269
313
278
342
313
304
347
311
307
283
312
307
296
277
346
342
332
267
276
336
379
288
333
350
316
288
356
306
407
316
372
273
350
281
353
343
221
247
393
282
373
316
258
356
320
214
353
334
300
319
356
370
342
340
327
284
374
316
324
327
297
292
320
282
286
334
367
309
292
391
344
324
348
315
239
314
290
334
320
310
296
265
359
289
285
388
290
355
356
265
294
282
266
289
276
266
406
318
340
335
270
318
413
283
323
288
267
269
311
250
344
237
362
289
153
314
304
373
300
330
292
350
317
341
297
330
353
313
309
303
230
286
306
378
287
258
377
385
365
294
360
419
323
356
394
370
255
253
287
296
302
267
328
194
235
290
369
330
372
388
228
368
329
283
327
348
409
311
358
363
285
296
323
313
351
302
331
375
315
299
330
396
388
395
370
288
322
370
263
325
332
290
331
369
342
415
316
259
282
338
384
317
333
314
304
339
324
288
422
317
337
311
356
248
273
315
306
269
291
286
325
318
373
292
313
317
362
248
358
385
325
278
224
373
287
240
362
318
281
379
357
341
329
327
336
319
314
339
312
270
221
363
339
280
343
385
337
245
287
370
327
357
259
325
331
361
319
277
386
305
365
360
322
329
245
331
215
295
281
339
289
329
331
318
292
326
372
274
315
271
320
275
317
305
271
330
250
361
287
415
294
273
383
286
330
368
275
237
367
362
343
243
258
279
329
339
343
394
319
192
350
306
317
283
279
309
246
292
386
324
310
332
302
267
306
351
361
344
245
381
386
284
344
285
295
211
332
417
347
312
251
354
325
335
329
237
319
268
258
253
320
373
284
360
308
328
321
261
262
386
309
345
308
304
221
121
338
314
267
282
334
287
253
382
299
311
314
257
344
427
333
397
363
413
263
256
375
327
286
309
306
376
360
319
374
303
287
335
317
263
304
288
361
383
321
316
324
309
319
276
360
341
318
380
366
291
361
293
318
221
332
325
347
309
344
294
336
313
226
275
305
396
275
321
236
255
266
352
296
267
321
337
304
267
315
293
291
241
234
289
379
359
321
287
318
440
316
254
283
330
276
355
319
355
347
306
353
319
288
257
266
277
281
334
394
378
334
357
272
220
301
308
327
302
267
273
321
335
326
373
375
360
305
288
340
317
322
288
317
342
309
296
330
278
330
237
272
331
350
297
357
303
370
272
359
270
339
333
277
334
361
279
294
301
330
268
323
396
296
339
334
307
329
313
432
337
373
353
344
424
291
325
249
302
274
293
272
279
222
304
294
394
287
407
248
303
367
306
373
277
354
386
356
235
244
327
337
306
382
391
247
175
302
283
269
311
331
326
280
288
276
260
253
298
298
347
287
368
267
322
325
295
266
350
359
348
350
321
328
277
321
292
287
318
262
256
388
291
325
259
356
324
315
240
276
340
371
274
284
278
329
282
273
266
349
351
237
403
283
298
298
327
398
258
280
311
344
339
248
329
344
322
394
324
355
205
383
356
292
300
254
339
374
357
318
335
309
297
316
365
297
362
352
332
291
243
358
391
290
297
353
302
371
406
388
334
311
356
297
393
275
305
351
283
307
300
340
248
379
201
309
224
339
275
275
357
330
318
373
306
247
343
239
238
295
264
310
348
325
332
364
282
262
360
350
365
273
338
282
318
311
273
349
378
267
282
316
356
372
244
380
408
339
312
394
382
320
231
340
358
316
408
327
427
288
388
290
206
291
237
307
345
295
278
328
308
240
350
382
316
225
287
254
323
337
341
344
280
359
342
330
283
384
266
311
308
333
253
255
357
270
312
261
232
268
307
339
357
324
371
338
353
332
324
285
296
347
244
292
371
350
244
364
404
304
318
251
365
273
350
324
357
394
354
241
198
256
372
331
319
298
220
318
342
369
274
333
362
257
157
320
272
290
284
288
289
257
214
314
290
281
305
354
328
383
349
298
343
322
286
309
319
311
307
309
302
316
308
319
211
293
304
285
327
260
261
392
279
368
322
359
287
221
354
335
229
208
331
380
315
245
278
254
396
331
336
410
369
280
256
306
258
270
198
297
310
341
383
294
238
377
341
312
353
343
229
334
377
276
274
319
274
302
374
287
266
328
321
293
341
284
357
356
300
287
320
287
416
268
284
327
172
363
308
243
251
333
240
282
391
254
321
334
248
278
322
289
351
317
347
299
338
288
265
314
309
269
236
331
296
358
301
328
349
282
311
268
277
198
326
295
344
371
370
325
273
205
391
309
307
358
317
259
259
365
342
359
307
270
329
263
307
371
279
294
344
317
296
365
337
312
356
322
349
368
279
254
378
262
290
373
261
305
386
320
293
278
348
232
288
343
345
264
360
328
366
383
329
370
336
315
332
308
356
282
369
369
273
245
245
290
331
310
337
414
328
338
335
268
321
273
325
393
204
341
387
329
311
306
321
346
267
321
296
263
350
280
304
323
320
305
336
367
255
337
369
228
365
303
292
347
337
304
365
340
299
394
250
283
245
303
337
388
358
300
270
358
292
259
412
323
312
290
279
333
192
363
283
305
316
322
314
306
294
313
367
384
308
335
293
340
275
333
235
322
254
305
323
388
337
289
325
271
251
357
430
309
326
388
245
340
312
313
389
314
378
387
317
338
341
360
212
228
312
348
224
338
304
314
248
237
368
260
293
277
261
329
315
319
295
332
272
372
410
314
259
314
344
270
352
331
310
377
238
311
387
306
333
329
319
340
331
287
366
255
282
365
320
331
274
328
419
356
388
310
322
360
340
304
377
363
318
367
400
398
358
252
351
336
341
246
267
330
310
257
349
296
330
369
334
277
383
414
267
339
261
293
400
346
368
342
356
339
320
407
292
302
334
419
289
377
402
267
385
402
391
294
370
279
328
299
336
350
312
300
295
356
279
313
259
371
299
378
324
262
247
257
275
311
397
310
307
303
234
295
374
280
360
254
328
279
307
268
211
335
292
295
278
344
358
348
316
390
258
382
266
202
261
279
380
241
348
202
374
328
293
302
291
379
389
282
289
327
280
381
346
298
336
335
347
277
286
336
307
269
320
399
326
244
333
278
366
235
252
277
306
351
281
329
373
297
268
299
373
409
398
314
273
298
308
362
327
294
232
307
295
369
300
353
313
285
348
323
355
337
346
334
374
269
351
249
242
289
304
325
247
378
331
320
250
341
308
307
288
380
284
218
224
272
415
288
401
358
340
212
378
362
272
347
275
324
346
311
323
273
354
301
356
378
333
352
319
214
298
283
303
340
240
312
338
327
405
321
359
217
324
359
308
310
283
296
248
264
343
262
336
337
279
334
291
361
349
317
356
346
336
324
308
290
302
289
322
325
349
268
287
301
293
401
271
326
298
272
290
266
320
339
270
290
334
320
273
278
332
393
265
257
351
341
309
327
337
392
343
359
293
318
326
275
288
224
244
426
371
283
267
292
340
415
311
314
319
348
287
393
328
357
353
327
279
395
310
301
306
349
280
223
261
315
350
286
375
332
348
256
248
366
336
397
274
306
370
337
342
361
303
361
361
253
341
298
187
274
292
250
323
407
270
217
269
344
433
266
351
326
357
257
331
376
329
317
270
313
252
295
329
325
341
282
244
248
298
318
282
260
302
258
263
303
316
408
385
287
236
424
374
361
336
290
389
354
349
310
331
300
358
324
293
337
388
280
289
350
364
337
342
298
274
292
293
370
349
321
333
377
307
328
287
281
356
321
303
330
271
337
351
295
331
372
309
319
367
293
386
431
341
355
287
282
261
384
347
332
343
323
357
296
327
251
261
309
264
351
280
346
343
328
299
250
315
270
260
304
338
181
268
315
262
315
293
340
251
291
293
388
294
405
416
222
268
250
417
287
250
235
271
287
329
343
205
346
313
274
378
339
237
341
310
305
271
277
244
308
358
270
329
320
270
321
346
315
380
304
279
331
352
348
395
333
322
276
327
285
268
365
317
378
380
322
261
289
211
316
246
402
354
285
252
330
317
357
280
401
281
351
363
262
357
243
298
321
303
314
379
260
371
341
256
313
327
218
376
265
236
246
314
395
289
300
273
305
300
319
330
236
327
356
242
323
274
273
336
300
293
410
278
277
405
228
288
248
387
240
293
294
328
239
361
353
299
333
321
328
285
293
264
307
363
352
318
327
271
393
344
369
280
358
312
332
257
268
307
323
302
267
321
225
293
356
364
337
388
337
359
271
377
302
259
361
353
297
334
219
361
283
305
321
298
225
229
357
271
317
334
347
328
292
288
304
339
325
222
350
326
343
297
269
316
315
321
190
290
224
311
305
290
290
294
354
315
378
297
416
344
228
374
371
317
275
351
362
326
338
383
286
354
224
281
212
329
375
306
304
341
365
283
321
264
294
359
333
293
364
313
296
333
281
410
257
312
379
373
346
339
273
277
335
314
280
349
340
270
340
322
306
310
227
356
351
356
301
310
366
235
318
346
374
306
359
268
442
305
345
324
377
391
262
351
270
316
285
367
326
273
397
297
283
227
309
334
407
261
385
374
272
345
369
274
291
382
220
342
213
339
257
276
272
356
260
361
340
301
337
340
282
277
361
340
262
328
295
335
314
339
362
338
257
290
358
353
323
333
376
356
350
331
368
339
278
381
339
359
318
282
265
382
354
352
378
296
396
342
361
267
325
343
255
267
361
370
327
349
269
299
278
348
351
395
334
341
282
300
295
269
332
348
282
250
413
290
325
363
285
327
386
327
280
307
366
365
300
245
352
259
273
347
311
343
347
334
298
237
338
253
289
236
312
324
284
298
288
355
314
321
296
281
355
337
327
318
277
396
296
282
267
319
258
356
353
279
221
234
343
278
310
257
325
313
289
375
421
242
356
362
283
288
297
349
316
320
363
278
321
284
345
271
320
325
337
321
330
345
335
249
248
362
306
294
246
359
323
275
254
369
353
338
384
334
347
330
339
293
265
215
306
271
348
345
343
351
308
303
336
355
296
254
369
275
251
269
269
266
276
361
350
308
296
336
321
311
289
406
279
365
372
215
237
310
321
373
323
302
288
323
322
284
309
308
322
299
321
299
284
378
333
282
369
336
231
254
406
323
349
378
318
303
244
329
336
233
396
316
431
277
364
351
371
305
338
271
342
316
314
364
343
316
260
280
302
238
327
330
304
316
336
278
310
310
351
297
362
330
338
333
319
247
264
298
314
253
324
336
270
352
264
328
266
217
289
369
308
321
299
334
289
347
322
316
320
374
281
340
216
289
213
323
359
336
353
296
327
285
314
359
385
272
252
288
370
277
249
378
307
230
220
263
293
358
308
340
268
357
390
293
281
318
319
282
366
335
342
324
304
353
298
326
321
347
307
259
348
353
319
324
411
305
359
290
379
350
288
356
262
251
350
332
233
309
287
342
300
324
373
383
329
255
254
276
252
363
216
313
269
323
352
357
269
247
183
292
419
341
273
243
236
221
302
337
314
370
349
280
202
300
351
261
370
272
288
325
208
413
382
326
311
270
302
267
350
378
341
288
301
293
389
333
342
350
286
419
357
287
385
277
289
327
330
346
305
318
346
299
331
249
331
356
315
345
292
309
245
376
325
371
403
276
371
294
313
247
316
395
310
292
343
302
261
255
341
295
280
352
283
369
276
296
322
417
333
360
231
235
197
291
390
327
295
269
241
327
381
328
304
395
331
244
317
334
360
303
344
262
281
307
321
343
373
281
253
380
383
380
268
249
297
348
191
354
273
294
308
348
328
388
312
334
292
312
300
266
254
285
310
290
362
274
300
337
348
359
382
366
193
247
278
360
369
347
312
364
327
310
311
322
282
278
349
330
373
289
276
365
324
275
332
292
341
281
234
297
358
315
318
368
338
321
347
396
310
315
303
382
344
322
272
281
267
334
296
255
297
338
399
275
352
309
296
337
252
298
285
272
330
337
320
330
258
327
202
340
254
320
320
303
260
335
294
327
361
314
330
288
283
254
318
358
234
250
281
274
276
335
353
340
332
301
304
277
371
359
289
273
262
273
344
349
334
342
326
353
281
336
294
274
289
325
308
340
271
307
283
308
354
316
275
391
293
297
323
395
288
306
363
287
298
344
323
322
244
341
316
292
371
273
406
284
325
389
310
321
331
381
309
232
216
271
335
290
230
240
270
328
325
285
234
268
281
334
249
342
278
268
380
303
277
306
258
352
361
246
259
399
350
311
302
311
264
401
296
278
340
329
384
367
253
362
376
296
302
360
329
342
340
239
371
328
398
312
326
335
228
328
359
307
342
365
305
342
285
319
335
331
264
365
377
236
265
232
311
330
301
398
305
239
376
236
248
418
234
267
342
264
323
330
278
349
273
354
348
321
358
301
331
207
355
292
281
360
376
278
297
330
336
307
301
337
292
355
353
348
336
270
309
375
292
381
286
346
274
359
318
265
334
295
335
350
353
360
322
319
349
348
325
308
232
308
256
331
345
263
349
331
317
268
324
410
307
345
332
299
291
311
362
303
404
252
316
362
307
331
307
218
307
342
318
369
260
330
325
278
290
337
349
277
357
333
367
256
275
336
308
267
299
274
262
303
292
292
267
317
292
340
325
339
332
278
350
330
267
321
335
350
381
377
290
259
284
338
384
287
266
394
330
342
288
330
395
310
368
304
298
328
270
351
319
306
329
321
334
310
342
390
294
344
301
249
279
425
237
292
392
318
334
321
243
328
244
354
242
341
260
309
355
339
311
398
238
323
293
346
288
422
285
247
354
290
276
328
378
263
378
332
310
336
360
350
289
341
389
342
282
255
355
337
379
362
304
249
250
284
294
379
318
303
317
289
365
311
364
328
380
314
271
301
330
294
251
348
277
345
308
322
273
255
364
367
241
375
285
314
332
317
246
277
262
267
304
347
329
310
295
382
297
269
269
303
267
314
309
283
296
329
296
300
321
402
308
299
337
283
325
311
269
347
306
323
323
290
379
420
251
335
349
272
344
355
316
257
357
393
334
325
318
344
298
321
305
337
284
298
354
360
339
331
265
367
335
267
307
404
334
367
353
339
262
404
321
347
296
270
296
317
313
316
380
292
300
370
292
300
347
321
193
274
317
321
307
366
324
281
356
249
311
257
378
296
322
383
309
345
308
311
292
278
375
291
246
374
189
303
381
400
275
291
393
316
307
344
371
263
301
297
397
248
343
373
216
327
244
348
286
330
243
265
345
307
270
277
274
292
270
277
291
355
325
366
281
285
422
349
300
225
308
247
348
317
403
219
255
340
256
258
366
347
298
295
343
300
272
308
334
355
291
295
291
331
300
294
334
356
299
323
278
328
238
266
363
308
284
330
335
308
361
277
312
376
350
317
281
278
369
341
322
349
376
316
192
443
309
297
312
335
344
222
368
347
342
324
241
320
223
353
336
329
318
268
315
264
308
407
318
322
312
325
271
322
395
269
314
367
317
387
233
336
311
230
318
331
312
340
360
368
266
338
311
323
278
335
329
309
287
307
334
303
330
388
429
362
332
337
282
370
311
319
359
368
337
265
360
269
253
319
338
260
282
354
299
315
321
272
336
387
350
323
252
305
367
329
348
315
317
303
301
296
320
370
332
388
334
306
240
344
305
330
262
231
296
326
378
230
337
325
342
299
369
359
389
316
280
319
287
279
300
224
326
299
328
334
327
284
309
335
309
345
337
327
359
322
338
332
280
297
332
343
360
308
315
396
311
380
378
265
364
211
310
353
312
372
301
279
311
238
285
327
337
286
419
382
269
370
241
346
321
252
386
253
347
355
247
296
407
363
271
289
264
334
248
326
299
266
329
317
363
284
321
271
354
283
385
286
305
208
335
302
289
356
293
377
405
358
288
286
311
269
329
326
248
305
318
311
306
348
308
303
340
287
384
284
299
311
287
322
307
302
373
309
295
300
369
305
273
305
363
377
329
293
414
347
294
321
353
268
249
274
328
371
237
318
323
273
229
306
324
407
299
264
225
351
358
273
264
379
341
251
399
346
322
245
304
315
342
369
374
381
345
363
290
389
364
378
390
292
336
275
342
199
377
328
311
269
360
326
304
297
349
219
301
345
281
306
347
329
208
319
342
329
267
294
344
317
336
257
390
276
319
301
229
375
395
331
273
245
321
220
291
337
354
330
333
332
344
307
160
361
302
292
248
323
387
273
338
303
316
333
368
293
213
310
403
248
262
284
196
254
315
359
338
327
308
250
307
343
332
299
393
284
277
239
340
277
257
332
364
353
375
320
379
345
372
350
402
350
306
317
229
307
225
315
337
330
280
306
359
196
322
360
263
400
237
338
317
345
366
344
388
215
323
368
265
351
250
315
346
338
321
288
244
280
319
319
309
291
397
366
320
285
390
417
385
330
318
362
268
420
303
312
229
290
416
381
285
375
254
307
268
271
230
355
348
310
312
318
353
333
313
347
362
370
282
283
340
332
289
259
238
398
316
349
293
263
366
310
369
320
361
402
340
307
295
301
285
349
297
307
278
380
343
320
291
301
282
323
319
319
293
330
372
262
310
361
277
377
390
233
308
347
308
268
312
402
308
297
377
363
285
337
296
302
286
288
303
277
239
214
239
278
353
299
333
341
309
400
311
224
264
246
314
284
331
357
309
351
305
311
288
351
292
320
379
328
246
312
335
210
374
330
297
322
305
243
379
382
317
346
355
280
279
261
296
371
314
313
332
292
334
398
271
271
297
381
229
302
304
356
209
331
404
317
326
333
220
291
365
340
325
322
281
354
335
325
336
276
340
247
340
315
254
312
323
296
316
377
313
254
349
392
290
248
291
301
324
335
380
409
343
339
328
287
304
310
373
281
315
308
322
366
368
388
253
332
303
286
225
285
296
351
241
298
345
316
297
275
310
360
277
302
310
356
320
320
340
329
314
265
239
367
283
301
327
254
298
319
327
313
356
287
335
345
290
332
291
338
252
351
275
267
320
345
330
417
308
222
298
308
265
324
356
355
317
299
274
267
320
313
348
286
306
313
350
363
373
406
319
302
298
322
289
362
272
338
219
198
184
326
306
293
301
295
323
369
289
248
283
332
253
308
277
315
287
346
266
279
267
328
239
417
407
258
407
280
216
371
285
359
309
254
365
311
312
318
329
285
295
400
268
292
308
339
295
253
293
262
367
291
340
303
268
362
434
189
305
285
335
338
269
310
331
296
248
380
393
286
369
308
385
201
302
251
316
320
303
329
247
289
392
285
291
275
263
275
371
322
386
372
337
324
373
325
333
273
300
339
287
310
372
340
331
371
303
276
289
288
310
244
307
325
336
366
308
306
347
309
342
265
335
358
388
360
326
329
369
280
399
280
354
236
322
329
344
320
392
325
301
323
328
330
190
346
394
366
273
374
308
385
257
354
306
381
250
311
226
306
353
283
248
377
327
286
356
314
374
279
290
254
312
350
254
321
363
297
278
321
313
262
332
336
318
308
401
339
268
312
304
275
342
338
332
332
289
408
355
332
305
344
342
253
309
194
342
327
367
307
277
243
272
300
325
313
335
347
338
300
278
281
278
269
307
262
343
303
243
226
313
352
260
332
295
297
303
283
239
240
304
273
349
414
305
379
330
284
316
326
301
331
317
346
350
311
458
305
306
333
349
286
288
299
251
367
314
298
297
336
254
266
317
338
303
360
249
312
360
278
360
353
292
361
351
351
325
277
272
374
285
276
276
310
332
280
381
317
318
350
318
292
328
278
247
341
365
343
330
293
315
334
365
376
341
388
388
340
299
243
348
353
346
296
225
310
311
281
332
369
374
339
324
324
309
301
350
296
353
351
261
263
327
374
311
380
395
356
327
350
361
285
309
286
296
345
295
319
250
361
403
341
326
405
295
237
339
365
266
240
336
344
318
203
265
296
285
322
284
330
268
315
368
320
331
349
328
236
279
402
291
260
363
311
339
336
312
317
346
301
347
289
285
339
265
394
287
327
282
322
374
349
388
326
354
313
379
360
286
259
334
356
267
377
320
395
293
369
253
298
310
280
281
338
317
289
328
267
254
360
274
218
343
344
356
301
244
286
317
371
357
259
323
312
352
302
341
295
310
355
358
382
321
273
244
314
346
246
356
260
321
346
387
319
344
313
352
294
283
334
293
334
329
350
247
364
317
318
345
317
383
335
374
267
250
289
294
297
340
288
337
337
378
238
315
309
310
283
308
333
297
340
286
345
271
198
336
328
316
370
300
318
344
351
343
333
372
333
250
336
298
247
351
231
319
290
248
371
339
279
260
294
348
314
325
311
304
356
342
243
325
319
374
337
331
214
337
308
266
277
246
314
432
341
356
292
331
304
285
277
378
223
252
310
327
318
357
293
394
274
215
315
271
339
266
295
273
362
288
309
356
321
304
319
332
402
385
353
334
342
313
248
296
353
276
339
276
362
334
279
309
317
267
288
376
325
345
342
302
354
345
373
334
281
260
360
259
329
353
281
359
357
290
346
266
353
285
391
296
372
279
275
302
281
231
339
394
261
317
341
287
348
350
323
322
308
256
343
355
349
220
347
340
302
345
348
300
322
260
274
318
293
344
325
354
309
356
253
281
289
323
260
284
338
235
286
359
339
319
368
310
275
290
291
396
366
370
315
340
257
285
284
308
370
269
339
306
330
258
343
277
270
363
294
271
312
370
342
291
344
257
374
280
369
369
279
374
277
315
311
299
351
281
259
282
332
370
300
299
351
325
309
304
351
373
350
346
310
420
315
234
333
318
295
349
337
370
304
281
298
296
281
340
272
307
335
311
404
312
248
388
317
319
307
277
333
256
314
267
329
331
415
328
344
330
302
349
332
324
305
334
340
361
367
304
282
333
270
308
287
394
416
383
404
325
298
270
299
219
287
319
418
316
274
376
295
318
266
249
429
298
401
286
255
324
324
340
327
356
271
316
353
294
361
315
300
309
296
342
367
358
240
370
236
343
288
353
282
305
237
274
298
305
337
331
381
380
267
299
373
408
297
368
283
326
277
273
355
284
300
349
361
279
329
359
259
254
399
257
274
307
325
296
337
350
268
338
353
343
361
358
383
297
345
349
334
410
338
350
316
317
319
341
340
310
308
269
335
284
309
322
334
285
363
293
321
336
274
323
322
381
263
337
326
317
306
271
351
318
283
358
341
356
306
306
323
274
347
310
344
347
289
341
306
317
228
354
272
400
344
348
366
326
329
218
385
230
271
249
407
325
380
322
386
318
345
269
357
312
304
330
305
273
346
405
345
332
351
344
265
339
291
374
322
360
355
288
354
308
287
350
290
390
298
268
359
287
350
249
340
331
302
298
284
244
299
340
383
332
354
319
236
322
312
336
309
325
297
372
368
333
310
326
298
334
319
334
324
342
387
375
283
288
380
278
324
333
383
263
314
338
309
376
304
291
304
310
288
377
346
233
335
356
302
352
281
340
350
357
336
202
349
376
364
327
387
283
416
300
325
335
282
365
314
314
371
310
266
267
331
312
241
350
326
333
277
330
368
312
194
311
321
301
297
337
364
300
302
288
336
347
294
278
301
329
316
317
355
335
247
327
313
326
295
307
294
316
377
256
317
261
320
321
348
309
362
299
335
281
328
302
352
389
260
335
327
256
260
350
213
293
239
302
365
354
330
304
242
268
375
270
354
342
296
214
349
311
327
295
284
325
317
307
285
306
309
286
263
312
308
276
344
358
293
281
274
355
304
366
396
288
297
304
328
388
302
287
256
314
337
331
329
278
305
274
274
321
297
265
306
296
353
243
296
277
251
299
309
339
318
281
259
276
327
305
260
341
275
317
261
354
316
248
274
224
310
294
265
280
299
269
236
292
316
306
279
305
402
311
289
248
378
258
255
362
301
256
329
370
288
379
273
300
341
348
364
371
303
326
294
329
278
272
297
281
364
384
285
330
373
261
326
291
358
289
312
368
266
356
290
277
227
298
308
361
262
269
217
342
361
365
286
290
342
299
348
300
228
316
322
220
324
314
261
322
296
370
362
366
287
272
348
358
358
246
380
326
277
406
338
387
274
376
309
226
248
369
328
264
322
348
346
359
342
283
307
258
248
390
355
326
354
227
309
323
315
263
294
364
342
296
360
278
300
334
341
329
343
304
294
373
314
348
355
363
317
303
296
307
289
324
340
291
292
288
264
306
246
349
311
317
294
318
292
330
275
338
277
295
349
296
288
337
284
301
325
338
341
314
304
256
387
290
359
265
276
345
295
385
321
380
305
362
297
351
390
355
298
285
366
331
335
379
319
366
304
302
315
350
308
293
388
275
285
401
344
217
341
266
280
239
308
295
306
296
274
411
278
302
297
342
341
308
297
389
413
347
281
316
327
291
254
347
307
304
265
271
262
299
342
383
338
301
339
343
356
298
266
382
243
252
331
260
300
376
296
216
381
320
262
261
275
376
265
278
265
364
210
186
326
331
304
291
251
240
259
342
301
325
369
335
278
306
318
378
309
346
216
296
373
345
273
368
362
348
385
364
227
306
346
377
323
305
310
339
299
263
307
283
290
374
308
346
275
370
320
291
267
308
275
288
283
311
352
261
234
332
345
310
327
330
288
341
288
272
302
318
218
302
316
267
271
368
304
347
328
326
325
346
339
239
338
299
332
223
381
289
312
239
323
320
396
276
269
309
334
381
297
339
322
360
284
334
324
238
319
372
341
394
294
341
309
296
358
326
338
314
261
388
329
269
406
272
330
278
209
296
340
321
341
278
243
251
335
306
270
275
253
253
319
331
310
317
296
342
226
364
328
316
337
265
274
252
317
315
297
304
328
274
256
182
307
376
316
373
358
396
359
266
246
316
245
401
292
379
330
354
314
267
372
324
352
286
377
332
312
272
383
360
281
299
241
359
331
371
326
319
352
260
230
324
284
278
418
333
197
379
295
283
267
266
312
341
250
268
354
362
243
332
353
311
235
264
329
275
402
374
378
286
334
318
349
354
207
326
319
323
331
354
306
332
262
312
328
305
410
316
348
233
332
365
312
388
259
348
271
298
253
312
349
328
287
397
313
352
424
359
259
274
281
319
360
312
332
275
311
327
370
346
254
274
304
338
259
301
359
369
391
319
253
286
240
369
372
363
254
268
259
304
276
373
301
332
280
335
254
333
307
263
266
266
303
339
320
258
272
279
353
253
331
295
347
304
343
312
362
313
298
152
255
314
320
364
385
343
372
283
350
330
290
249
219
315
361
266
316
318
259
318
315
229
282
355
376
281
346
350
290
267
342
331
279
287
316
342
352
371
238
298
323
275
276
258
298
275
294
325
270
285
324
267
259
346
267
333
225
326
356
340
248
317
289
379
315
388
287
309
396
360
374
329
345
312
313
212
342
317
225
249
325
392
329
319
240
235
327
335
324
215
353
393
333
351
311
379
292
350
346
339
225
267
287
305
276
313
319
330
252
412
390
383
301
346
284
263
294
323
355
320
338
391
319
341
416
246
298
316
304
209
333
285
228
310
300
284
351
309
299
280
375
286
292
261
353
322
379
289
289
286
330
240
299
270
339
421
322
247
339
325
352
333
274
269
291
316
339
285
247
342
343
260
332
289
285
319
309
296
292
271
285
254
165
295
278
350
342
357
377
272
383
376
331
307
292
323
259
295
270
313
325
231
392
387
354
342
375
406
364
280
220
257
293
333
320
344
405
348
325
291
316
262
278
341
341
317
241
240
276
311
260
314
368
346
294
306
321
281
383
224
302
335
324
368
302
336
315
259
370
331
303
345
414
323
264
316
337
280
347
307
376
199
362
365
335
366
306
309
309
353
346
332
334
289
320
302
319
302
289
374
322
221
249
356
278
374
294
297
362
280
343
348
369
292
353
288
288
362
340
271
392
251
332
305
363
294
286
393
234
307
253
326
312
331
369
329
349
328
255
327
331
318
324
234
307
306
374
353
368
377
310
304
302
341
343
345
363
345
248
256
335
276
378
296
257
354
303
322
294
408
296
341
215
365
284
289
287
312
307
271
366
260
350
290
283
264
263
330
330
330
327
261
330
282
361
317
298
361
349
294
378
289
377
320
386
292
334
357
383
351
329
373
327
322
226
332
275
304
279
308
279
325
263
267
320
328
284
279
331
334
215
297
311
292
288
292
397
280
272
319
264
262
321
293
304
351
361
326
297
302
338
324
270
339
307
369
338
306
316
377
313
355
294
249
288
277
318
216
274
303
306
351
257
311
355
387
276
312
326
357
342
307
206
325
283
371
339
328
278
295
321
322
297
299
292
290
354
296
344
258
267
311
330
324
284
387
407
312
253
317
226
339
371
283
368
302
255
305
400
278
207
367
369
252
334
354
299
307
343
324
404
294
349
267
309
354
350
292
291
349
304
344
309
357
289
272
275
361
412
283
267
260
281
315
344
392
344
377
220
320
381
318
307
390
265
278
290
395
322
304
352
269
262
377
331
402
307
329
354
310
284
221
252
348
389
314
177
354
321
324
348
278
348
309
351
344
311
386
317
336
317
394
303
335
339
243
329
322
414
260
294
359
341
321
296
277
366
350
345
336
388
227
376
343
376
314
358
294
334
340
352
334
336
368
288
252
293
327
229
283
370
306
330
301
363
304
336
257
273
362
386
294
318
330
282
335
296
287
319
423
277
287
296
344
341
393
269
348
297
331
339
365
329
326
335
302
288
290
335
309
263
274
293
301
359
361
287
391
315
395
289
285
305
303
336
332
337
269
348
288
374
347
307
309
312
343
292
316
400
340
299
331
232
329
314
244
373
310
266
349
328
240
287
332
319
349
358
286
332
315
291
340
293
332
290
302
275
245
340
272
327
343
264
383
345
372
347
374
308
352
397
345
410
277
383
357
314
341
309
341
348
204
371
335
272
304
314
300
297
224
350
368
336
283
358
369
313
217
373
338
244
317
318
332
295
346
304
348
313
270
358
308
322
350
341
362
270
284
365
367
310
321
344
388
295
287
362
269
313
352
280
334
304
335
356
275
317
346
343
274
299
307
313
323
394
323
305
269
397
343
354
379
279
346
255
252
288
297
321
253
350
257
278
350
269
325
301
326
315
343
295
348
260
405
362
302
293
380
321
320
364
281
287
309
268
259
366
380
303
295
326
248
290
336
329
307
235
241
335
324
334
297
326
394
396
284
350
320
318
297
261
300
340
310
362
302
270
337
352
276
356
376
314
247
263
360
355
388
349
323
321
379
312
359
244
344
399
255
351
302
300
303
298
337
358
292
267
319
335
275
307
254
280
296
242
334
361
397
397
274
276
275
326
313
306
224
325
326
342
301
377
355
309
268
321
318
391
392
348
410
245
325
341
286
361
318
252
372
366
343
241
320
262
426
315
232
355
318
384
273
320
375
351
360
237
344
359
308
286
328
320
341
319
255
374
218
343
364
265
333
288
326
326
291
306
282
280
247
344
297
267
278
233
366
358
357
333
305
308
226
254
280
265
279
379
318
371
279
407
298
382
327
287
306
336
291
301
298
374
281
275
374
350
219
309
269
379
356
298
290
357
348
316
288
321
261
197
327
232
357
309
342
392
247
308
406
290
329
384
355
242
228
354
268
329
283
349
308
389
270
337
352
406
310
305
337
318
284
306
314
257
342
378
334
250
329
279
370
377
317
376
409
325
325
401
220
257
356
379
372
411
280
353
364
404
346
293
303
286
328
343
329
271
344
316
313
335
373
393
274
248
349
285
294
373
379
350
335
374
328
367
316
257
257
381
336
221
353
332
344
309
319
355
266
367
417
260
317
354
349
298
332
377
293
276
309
231
229
349
389
384
268
348
278
350
338
364
358
326
379
278
405
235
296
351
326
270
344
279
332
290
317
336
387
333
313
330
327
269
272
325
277
319
265
358
292
213
327
227
344
306
323
272
301
334
319
321
346
245
327
323
230
218
275
360
289
383
252
260
383
326
321
360
254
332
360
330
267
225
295
249
403
420
227
337
280
428
266
355
335
301
295
312
279
290
309
251
325
380
374
343
283
261
337
338
373
266
263
315
243
375
280
280
344
288
342
332
362
391
373
335
305
325
346
364
242
357
345
307
288
259
326
334
294
327
342
291
285
295
238
329
251
301
293
353
363
334
275
335
328
361
303
243
342
247
257
367
305
255
326
334
297
332
299
266
328
342
306
361
357
357
299
303
393
269
319
303
325
335
391
281
253
285
283
299
311
265
282
312
234
369
326
369
411
271
319
268
338
304
247
272
281
301
221
284
346
336
356
293
307
279
332
253
282
346
369
346
300
261
311
319
328
244
255
322
382
323
323
356
315
297
305
304
378
313
353
384
351
351
298
318
257
382
302
318
268
388
344
318
253
346
257
343
359
365
317
370
342
332
417
292
322
308
282
274
283
323
380
294
371
281
300
272
302
352
276
345
314
257
260
316
339
265
293
307
373
236
357
309
378
274
414
378
346
322
373
352
335
282
388
277
294
321
357
377
309
343
336
316
356
292
278
317
395
305
398
288
326
335
328
321
319
300
308
331
277
385
374
355
264
361
314
353
349
284
349
341
264
326
308
318
360
299
327
387
284
341
305
293
262
291
325
323
362
310
419
255
302
297
360
207
284
278
392
308
354
289
252
264
314
304
292
333
351
283
284
278
297
339
302
314
388
303
333
345
336
407
308
365
311
316
387
311
305
325
278
344
299
249
381
354
280
302
345
323
341
413
361
321
387
309
338
383
329
402
281
333
289
280
244
309
299
283
344
333
290
314
291
241
346
300
277
297
362
330
338
268
346
400
296
389
294
344
296
281
338
340
255
311
284
230
346
304
280
298
329
345
329
308
347
319
266
346
314
323
286
379
301
232
308
315
339
296
362
319
285
327
306
381
290
361
300
324
327
362
351
316
295
373
269
363
307
342
346
319
302
314
367
270
303
278
355
299
327
363
372
310
250
310
289
365
336
310
342
336
302
302
352
353
335
276
272
290
335
253
307
294
270
340
274
297
300
258
349
347
321
297
276
315
342
357
300
298
295
326
278
338
243
271
276
285
392
270
236
326
240
254
357
275
317
303
219
337
248
317
370
362
331
318
275
366
360
281
347
334
325
292
237
273
313
221
282
331
334
284
291
339
342
307
207
321
355
262
322
296
317
310
291
391
325
272
255
344
279
360
258
208
284
317
300
358
312
342
305
346
310
249
381
361
347
289
280
359
306
302
299
350
329
325
297
317
421
359
282
239
338
371
379
357
151
353
300
240
357
344
311
310
350
275
230
317
336
308
283
367
326
292
313
407
274
251
337
306
296
285
262
298
357
253
301
253
334
263
325
319
334
305
308
340
297
304
351
253
278
413
344
231
317
327
265
330
276
212
370
281
285
287
280
363
328
382
335
269
284
353
377
361
357
345
354
325
236
382
403
333
285
307
251
339
299
318
302
215
282
351
348
274
334
283
359
248
303
352
294
349
338
363
313
313
228
317
286
283
327
280
398
269
373
333
314
359
317
279
320
402
318
338
307
312
348
310
333
353
336
267
327
324
314
309
321
291
336
375
285
383
302
306
241
289
322
375
328
322
283
301
218
311
222
276
299
273
248
265
388
331
343
318
361
378
337
314
341
309
344
323
369
371
283
322
352
372
283
399
305
346
336
243
338
348
327
406
340
301
378
415
323
296
286
280
229
279
284
251
315
318
175
339
240
282
293
384
313
343
328
273
310
325
366
307
317
324
284
325
320
230
251
305
336
358
346
329
380
276
215
306
392
295
407
329
342
271
322
385
295
359
342
292
345
333
312
241
284
331
370
257
305
353
324
242
301
386
331
345
313
333
298
215
283
268
363
295
423
326
337
326
282
307
385
314
272
363
376
257
362
268
306
398
377
330
302
320
338
303
292
321
297
352
275
315
281
321
327
333
397
348
345
292
322
336
263
365
302
263
329
337
309
316
406
372
208
322
224
289
313
314
277
392
298
402
244
313
305
350
315
291
329
324
377
297
286
360
205
335
318
283
312
261
296
233
213
292
310
362
353
286
343
330
323
328
358
355
350
340
326
352
279
212
307
322
274
328
338
255
331
310
233
281
242
359
354
359
288
342
280
323
310
334
353
326
249
241
304
327
239
342
315
363
359
362
413
295
345
267
319
333
357
407
372
293
400
293
291
301
347
262
299
268
269
350
380
356
327
300
391
325
361
238
358
316
266
327
322
408
382
325
295
306
325
376
330
276
266
295
234
315
285
245
311
298
275
345
321
305
399
334
342
318
362
411
286
288
298
352
216
343
225
366
315
303
262
290
263
257
347
352
296
276
361
295
283
370
353
271
347
285
324
329
326
299
378
373
266
321
344
294
338
311
346
313
248
313
319
394
353
328
299
311
307
307
329
302
302
282
350
317
296
298
359
327
281
216
233
323
328
278
266
358
272
285
255
269
283
287
390
278
304
315
325
281
326
326
318
281
355
337
342
251
295
336
285
374
338
385
357
184
285
342
289
260
350
372
309
318
369
334
335
341
294
215
272
292
289
345
361
328
363
275
322
334
351
406
308
360
388
279
307
298
364
374
314
286
279
300
324
336
314
255
212
283
337
338
359
302
281
247
375
254
358
283
250
365
305
314
298
294
350
318
337
352
338
300
205
299
302
297
307
256
301
298
308
344
335
344
286
289
306
352
258
333
314
409
297
212
335
292
324
329
272
230
314
355
457
375
409
366
291
291
333
293
336
299
331
274
355
292
316
337
347
314
297
322
297
276
278
293
293
279
357
287
291
289
308
315
363
319
336
308
306
288
322
272
393
332
357
343
308
376
291
266
296
254
314
403
276
397
332
380
297
286
285
361
336
320
270
379
309
293
352
307
268
357
315
277
340
474
281
248
303
280
291
303
393
297
342
298
276
318
255
356
357
321
314
288
313
346
303
315
318
336
324
213
280
370
331
310
339
268
256
283
312
256
300
316
354
314
315
393
378
288
307
317
252
281
340
400
387
308
245
360
285
353
308
297
348
257
376
371
293
275
274
303
350
331
322
283
337
233
252
259
383
255
313
339
277
317
269
301
302
298
317
326
354
339
391
336
315
399
298
243
242
257
321
357
257
281
369
366
261
211
202
370
290
358
254
351
268
268
294
266
295
342
266
304
284
289
268
366
337
310
367
301
317
404
344
262
347
325
330
291
317
415
257
341
283
220
351
299
281
269
307
327
283
347
295
377
294
302
380
281
349
409
261
263
341
313
364
353
373
303
315
317
370
347
330
306
329
286
251
311
248
290
253
234
282
287
249
195
334
265
226
348
319
210
381
341
336
363
234
253
315
318
335
324
311
323
445
271
361
289
403
264
332
292
315
340
313
341
320
239
357
289
345
324
243
338
351
258
333
262
263
318
363
370
261
306
307
283
316
323
396
302
383
274
358
339
357
333
355
239
377
311
279
272
306
351
171
298
303
326
369
371
334
297
264
315
322
293
320
365
240
315
319
382
280
392
424
350
268
276
236
287
233
342
382
362
314
301
405
305
285
394
291
266
369
338
312
261
300
208
370
265
275
281
338
250
306
370
279
254
279
388
345
302
366
293
266
280
254
395
319
316
179
338
248
290
283
421
365
289
209
292
351
240
268
374
201
359
389
351
220
299
324
368
244
326
311
283
356
394
380
289
352
354
340
339
253
376
232
324
321
320
338
418
323
343
304
303
356
350
332
374
326
355
372
369
291
376
285
356
305
304
321
375
295
290
302
388
309
347
323
220
316
300
330
345
278
316
280
342
308
330
394
380
382
290
347
346
279
336
399
337
282
339
345
270
424
254
314
302
277
311
330
302
262
322
223
261
285
275
379
268
339
343
374
316
364
299
328
305
370
368
299
345
305
330
325
315
364
299
303
320
317
347
296
280
198
376
380
275
434
315
296
218
262
337
261
272
231
310
311
360
315
344
279
359
300
344
252
267
263
274
368
350
280
359
315
210
322
389
312
278
370
370
238
320
305
333
304
302
301
270
348
341
328
270
284
386
358
279
345
308
288
357
294
298
278
276
348
280
323
390
326
431
384
352
247
361
367
301
331
291
357
297
321
355
338
342
353
330
399
277
339
364
246
277
281
381
390
334
322
258
335
294
360
332
308
347
345
395
363
292
343
355
304
371
331
269
267
233
283
289
238
300
284
332
418
359
304
336
341
378
337
292
326
312
353
359
328
281
284
360
396
151
276
289
340
361
356
334
379
324
341
299
287
286
215
284
309
321
232
334
265
362
323
316
369
334
248
326
376
367
382
270
332
302
312
276
311
248
334
324
356
247
282
284
200
235
346
337
359
300
333
385
275
286
359
347
406
372
340
256
388
336
348
302
203
310
310
391
401
292
324
326
316
362
342
274
260
325
347
335
309
318
291
306
306
370
349
322
334
353
285
308
310
312
302
385
351
236
297
232
363
272
365
339
340
387
353
351
266
275
296
287
316
290
300
268
356
289
313
286
290
324
334
278
361
345
293
354
268
277
359
289
344
347
377
373
261
270
232
369
340
300
331
280
302
258
264
272
358
339
364
372
340
375
207
288
282
279
334
270
312
343
291
299
291
317
284
411
323
372
339
233
398
304
318
274
291
351
320
294
324
327
327
266
318
355
324
337
225
297
258
235
335
336
293
350
298
305
293
298
321
349
282
394
262
393
343
421
259
306
322
304
344
350
278
315
327
331
251
303
228
263
349
292
354
297
318
333
354
257
258
299
288
373
334
318
256
271
314
354
290
311
318
328
286
277
267
269
319
303
345
292
285
330
341
236
313
281
318
342
288
246
259
283
317
275
334
247
268
282
288
294
326
332
327
337
245
355
254
266
387
276
319
336
334
275
315
372
290
282
347
360
284
307
306
266
272
381
320
288
248
277
308
364
324
289
325
329
381
272
300
323
354
322
353
352
334
323
360
309
349
382
340
355
402
361
347
316
302
347
271
313
265
352
313
331
306
314
293
249
328
303
303
324
337
322
318
335
370
322
286
346
299
372
325
357
357
370
380
348
347
289
298
306
368
219
344
342
263
328
317
257
372
279
273
346
265
318
402
265
339
283
300
280
349
307
335
277
359
246
294
318
297
335
250
361
349
408
289
294
375
289
277
219
366
340
274
326
319
362
337
209
358
305
402
335
274
285
326
290
289
386
304
342
362
355
331
279
322
352
278
344
317
292
294
374
410
299
286
347
411
365
404
280
352
295
248
281
274
307
292
292
191
351
312
256
349
356
338
340
315
369
302
357
345
344
353
299
285
304
270
294
238
351
367
281
324
281
364
318
376
289
277
367
308
290
264
311
335
273
294
314
326
264
341
269
319
340
290
286
256
374
327
354
280
387
350
303
249
271
285
369
320
383
295
371
240
352
276
311
246
356
272
296
312
349
398
302
297
313
245
260
254
282
292
330
298
311
260
386
318
359
319
209
335
332
264
356
299
384
297
318
377
404
313
377
291
240
328
263
355
361
363
318
333
343
242
406
329
377
259
332
305
263
300
361
368
296
294
315
348
364
316
276
317
349
357
242
371
328
270
257
382
269
251
331
356
343
372
230
198
306
205
277
323
395
351
366
338
377
264
269
384
346
304
319
382
285
221
359
237
336
267
328
313
303
308
355
333
324
256
365
309
300
281
321
351
246
263
333
286
365
329
234
267
335
370
284
334
258
337
351
304
241
340
297
328
281
337
284
364
302
345
331
351
245
354
306
370
304
361
309
284
355
356
364
279
323
377
381
383
335
334
335
284
346
316
299
323
309
318
254
297
327
261
397
339
283
299
305
348
264
259
256
276
295
395
281
356
423
336
239
362
419
311
264
333
373
274
385
400
299
335
359
400
305
366
336
313
234
247
360
304
289
334
338
373
261
368
307
320
255
360
286
375
363
327
299
407
299
292
382
361
281
309
327
380
377
284
305
324
343
354
341
296
221
331
349
295
296
346
340
392
344
296
337
360
219
273
248
293
339
300
322
292
349
326
307
330
253
265
355
216
295
309
329
266
311
313
311
269
355
384
285
310
298
372
348
372
294
292
301
344
308
299
287
351
256
319
396
348
273
241
310
316
315
412
377
314
320
273
284
299
364
296
407
203
349
239
379
297
302
359
294
294
310
344
346
380
325
257
344
344
330
314
329
265
304
327
388
294
310
210
354
303
344
313
299
350
326
306
338
322
273
319
329
286
373
254
360
315
354
374
326
313
342
338
328
286
349
437
262
330
391
336
320
285
258
340
278
266
315
425
349
351
300
389
295
323
356
332
209
305
338
352
322
281
299
276
372
355
332
323
333
322
286
356
308
282
287
377
256
313
256
368
261
302
330
320
363
390
288
302
242
359
296
387
293
382
244
288
338
298
290
351
257
369
227
302
298
269
327
331
358
312
326
213
316
310
313
258
333
333
281
337
360
328
301
385
252
368
255
297
313
320
343
397
288
246
296
356
352
334
259
328
273
342
352
303
223
347
315
321
311
304
374
333
383
214
307
306
218
352
370
355
294
354
341
310
245
371
226
411
347
283
353
295
244
282
273
323
371
337
322
344
260
322
315
363
323
347
368
363
275
376
344
378
301
313
341
279
356
327
321
378
338
233
191
327
271
281
295
311
302
288
322
336
322
273
303
318
256
374
340
377
267
352
352
360
325
417
272
255
413
423
313
317
240
365
315
214
294
302
379
288
264
372
283
293
332
318
381
301
306
289
309
263
254
289
300
347
290
282
303
272
329
308
268
372
363
367
318
336
219
260
314
372
334
275
329
294
307
278
264
393
281
429
306
273
375
280
381
353
344
363
328
358
266
264
328
333
268
286
341
335
247
316
382
284
370
306
308
271
288
318
399
314
316
353
263
324
293
343
339
336
342
240
279
364
306
343
329
345
325
332
322
401
318
308
270
369
292
247
343
344
380
252
408
346
349
294
376
238
327
348
242
303
303
289
345
325
332
357
383
280
300
337
316
364
358
286
302
276
298
401
350
245
372
304
329
324
267
206
284
343
315
399
260
262
337
371
385
308
268
339
372
299
291
278
321
310
344
260
326
244
339
267
290
325
325
345
328
282
339
332
341
324
326
295
308
183
297
316
233
374
315
419
371
308
313
310
340
359
314
335
361
338
368
353
352
322
337
310
242
288
346
336
297
297
353
322
304
256
259
392
292
326
381
221
372
249
319
335
335
282
279
270
386
296
337
348
358
335
333
248
298
385
345
294
322
335
274
322
360
330
300
323
347
299
307
351
275
290
299
254
355
315
293
303
341
355
358
318
325
327
290
316
326
315
328
273
353
363
318
302
345
297
258
420
243
397
260
277
305
317
351
391
318
350
285
320
292
265
359
318
369
260
289
334
345
278
259
222
373
233
340
380
263
269
285
414
339
327
231
366
315
278
312
319
352
308
228
408
277
305
325
308
317
328
290
311
350
362
234
277
319
355
329
377
250
314
423
393
168
307
283
300
257
257
369
333
286
346
301
283
318
388
328
356
334
304
406
297
247
248
312
289
313
330
343
320
384
299
277
236
350
340
318
383
326
289
254
353
303
311
247
346
338
312
324
293
400
373
284
257
367
307
362
276
291
269
220
327
213
329
290
279
362
319
345
333
289
355
380
334
313
331
293
375
370
294
384
233
278
349
347
276
357
292
297
365
314
332
304
312
350
300
261
252
273
317
352
311
296
303
288
336
372
265
334
310
374
397
332
338
294
340
335
233
392
331
272
283
284
301
396
379
394
344
205
357
268
353
269
286
348
252
323
226
230
277
231
367
408
327
312
324
320
309
252
304
361
357
272
407
313
269
282
314
302
349
287
289
311
248
342
300
317
262
247
292
348
253
268
274
321
312
314
378
388
335
289
337
285
283
300
353
321
345
255
370
300
323
307
336
332
336
288
217
368
318
299
364
383
362
382
292
314
328
322
295
206
319
236
361
391
344
340
239
357
355
330
318
358
311
268
271
342
294
323
333
342
342
340
325
334
331
309
342
359
308
347
308
303
311
217
281
321
251
361
375
390
336
380
257
233
359
348
380
360
324
240
330
344
347
291
324
314
310
379
319
330
322
283
394
341
289
251
333
312
342
332
353
196
335
274
395
338
293
278
219
382
282
310
284
292
325
359
345
255
326
342
361
318
343
433
246
347
340
359
257
416
317
301
356
279
292
337
425
313
295
289
349
326
272
358
336
298
249
299
290
303
216
228
331
298
284
292
321
308
269
384
337
328
374
338
369
327
309
348
319
316
328
313
383
243
335
369
363
393
251
396
331
355
347
248
252
403
361
302
273
248
265
256
290
288
348
293
252
285
257
373
261
371
322
282
318
251
302
337
397
307
238
298
314
273
256
294
301
340
210
324
280
322
293
272
352
364
307
290
281
262
203
237
350
317
281
323
322
304
298
324
334
321
237
366
263
289
277
351
319
350
401
313
347
319
359
343
255
312
323
316
374
350
232
319
311
290
377
301
306
316
326
329
392
295
288
224
310
325
304
290
340
313
268
248
262
341
285
322
329
264
337
306
288
327
337
380
236
403
339
280
257
255
276
377
323
226
397
353
296
320
311
268
289
253
317
240
302
257
289
283
326
348
349
408
313
301
280
312
245
345
336
290
222
296
365
393
296
343
303
299
269
270
348
330
271
316
237
325
344
206
276
326
312
392
273
220
375
362
283
329
289
330
309
374
274
293
317
287
316
235
329
339
294
312
277
254
300
398
302
240
283
237
262
277
270
272
278
305
317
278
285
296
336
252
361
322
319
359
235
255
357
301
325
282
315
256
328
284
286
265
322
302
386
311
351
312
254
337
345
324
325
321
327
272
391
278
254
361
282
227
322
286
305
265
370
247
337
304
320
386
276
281
267
301
163
369
361
384
298
298
375
270
222
296
327
338
336
304
337
410
289
317
262
400
256
354
392
334
324
303
338
334
273
312
333
345
323
287
311
296
368
273
340
304
292
290
303
354
210
306
316
253
288
388
267
321
333
342
344
243
336
325
341
275
352
333
235
309
279
341
271
250
210
305
331
380
316
320
231
242
273
267
279
298
308
320
280
315
330
369
289
295
326
331
360
260
228
259
341
346
328
330
319
387
323
314
328
328
347
300
331
313
228
269
266
282
330
300
253
346
304
314
314
243
310
328
327
299
326
339
356
315
289
305
314
305
316
405
325
331
303
266
269
355
351
380
367
269
332
390
379
415
305
304
311
360
326
218
322
299
319
366
239
325
332
295
274
349
293
287
213
262
376
316
384
336
356
270
314
291
370
339
282
249
352
289
381
337
333
279
369
313
331
353
312
238
288
296
272
325
323
340
297
321
343
287
382
324
328
333
312
317
248
278
375
231
278
379
267
381
252
331
345
283
316
333
298
377
236
275
256
254
303
248
329
266
227
279
341
371
244
325
366
328
284
283
337
377
362
281
328
293
345
272
362
369
264
313
289
311
338
317
276
303
374
247
300
303
287
340
366
311
350
367
205
303
412
326
309
239
264
376
285
391
303
365
312
336
316
306
256
360
232
310
319
369
334
269
323
251
355
280
321
295
332
282
246
306
322
324
360
367
353
357
340
267
336
284
321
330
309
263
322
313
337
382
279
350
355
336
238
289
318
334
320
331
244
287
358
347
330
363
286
329
342
331
282
238
337
340
278
312
337
362
293
331
347
239
300
313
356
233
348
356
325
315
318
278
397
277
411
291
352
269
284
298
335
332
299
312
219
247
292
340
360
306
334
263
344
281
316
342
350
262
293
288
342
298
320
311
332
374
223
362
232
220
343
317
274
229
343
322
389
315
372
324
287
334
220
292
289
304
424
269
298
249
382
282
277
284
295
233
299
326
293
381
433
326
340
381
298
348
360
316
298
349
326
370
360
354
281
319
309
375
285
385
358
361
208
244
309
326
361
347
272
379
325
397
329
289
253
365
367
284
216
310
332
315
216
279
389
336
316
302
304
261
332
258
351
304
372
275
325
278
321
223
283
328
312
324
346
381
296
332
328
377
247
275
282
305
295
376
325
337
318
287
373
392
262
282
255
260
300
285
348
268
315
332
353
388
215
333
309
299
424
241
309
364
279
299
286
335
234
364
405
273
362
317
363
349
324
283
320
260
349
275
310
292
322
317
272
285
358
314
426
357
272
299
272
326
387
288
229
374
282
422
319
321
334
301
371
317
347
334
267
289
254
251
280
352
278
329
357
339
379
306
293
330
334
216
364
314
303
387
329
245
307
206
273
308
256
307
324
297
267
327
330
306
301
347
379
327
337
285
347
295
381
303
269
380
268
293
366
278
334
294
329
357
334
347
335
260
247
357
244
310
323
357
281
297
326
349
361
310
360
320
256
320
367
335
376
284
328
348
321
347
316
250
375
325
285
343
287
299
316
302
333
430
326
313
269
370
297
353
305
451
297
319
242
255
329
247
293
287
278
307
297
312
253
326
304
304
296
204
295
325
336
358
223
315
354
239
324
322
325
343
383
367
307
287
321
299
329
299
300
316
235
374
320
356
311
324
281
322
284
363
293
317
395
305
360
363
222
350
258
347
367
305
334
365
345
260
301
293
374
357
301
406
309
303
337
349
286
366
322
299
331
337
268
278
261
308
308
381
282
364
368
360
283
375
293
291
357
325
364
331
357
281
266
293
364
353
355
266
331
316
332
276
204
332
281
262
294
295
341
327
359
333
227
402
388
320
312
280
329
369
271
265
274
318
273
261
312
355
343
249
294
345
242
282
245
336
332
368
274
366
357
268
332
433
314
300
369
340
286
308
283
325
369
315
287
259
311
338
291
381
340
296
290
351
228
210
371
355
262
307
308
366
344
269
333
377
359
314
233
324
378
336
327
247
273
319
371
378
383
322
313
224
304
295
332
320
324
275
354
261
255
355
296
321
307
290
308
290
330
310
353
375
314
268
343
310
340
318
348
358
427
391
296
300
287
379
395
298
381
325
294
284
353
349
407
326
297
293
300
274
357
373
373
386
266
322
188
321
253
272
233
307
333
407
371
311
284
308
367
311
327
350
267
365
337
344
337
253
264
309
348
302
339
313
252
269
308
335
289
288
282
277
295
264
272
314
311
365
356
348
377
369
352
277
266
360
290
267
286
261
266
365
295
316
362
311
381
373
308
264
314
384
281
329
343
359
357
253
280
322
347
292
383
252
308
326
333
288
358
333
301
340
346
332
237
355
283
379
265
320
295
263
322
278
305
362
275
299
270
263
307
330
317
317
314
343
298
257
309
337
339
341
367
356
302
234
278
300
280
344
275
317
321
259
361
346
365
264
318
329
251
257
320
338
264
383
325
321
262
254
296
308
238
260
270
237
329
355
322
363
293
389
334
291
331
305
337
262
373
278
301
290
386
371
315
349
295
332
240
382
322
223
311
300
333
386
293
398
316
312
332
295
360
365
330
296
356
379
347
268
332
305
341
293
292
304
306
336
308
284
337
400
330
359
291
276
314
285
321
344
258
301
344
305
333
318
254
295
286
355
287
378
292
271
382
246
343
293
341
292
314
308
344
369
323
324
406
371
364
241
332
233
249
390
330
361
268
307
282
337
341
293
265
352
373
128
329
258
358
325
275
317
357
349
290
305
300
270
346
329
266
372
320
315
297
337
248
380
265
312
318
305
242
343
310
333
328
408
348
248
307
365
315
309
314
369
243
306
351
329
364
327
354
302
250
354
370
252
267
312
311
344
211
262
293
280
273
228
311
270
358
325
260
302
329
295
248
340
326
352
309
401
333
334
300
342
361
299
336
354
282
275
390
343
332
319
361
284
304
325
241
278
354
311
324
280
340
341
298
337
328
257
266
382
379
300
304
357
358
299
272
336
328
310
316
245
305
309
309
289
304
330
322
282
277
314
315
327
331
341
303
298
326
360
333
282
336
273
310
283
399
273
301
298
346
335
290
360
358
266
293
303
350
319
235
307
235
314
320
390
426
353
344
318
298
326
370
356
322
346
307
351
340
398
350
291
372
216
333
310
377
283
246
368
342
325
331
361
310
359
220
284
328
355
348
357
331
313
313
302
325
247
354
330
320
238
433
354
340
252
268
343
209
346
337
274
314
247
340
352
304
344
399
327
365
392
332
329
259
317
239
258
304
389
363
382
309
274
298
305
364
268
280
329
374
374
226
307
356
319
309
351
332
345
346
378
328
342
313
304
350
310
303
287
331
314
320
315
379
234
324
303
275
247
333
312
267
355
391
303
300
254
314
266
383
396
337
319
256
402
257
358
261
354
255
256
237
319
261
246
372
299
329
373
339
360
276
296
280
318
254
312
359
305
367
335
313
297
391
306
318
331
328
324
276
322
275
344
280
378
374
260
288
286
284
366
339
221
332
316
270
293
335
319
344
446
239
380
340
348
305
371
348
339
369
266
336
333
283
361
258
363
282
316
302
308
388
299
323
335
277
330
352
301
347
360
377
282
312
308
301
318
327
207
288
367
398
335
249
291
236
328
321
295
251
315
293
395
362
267
260
338
388
293
333
256
377
300
388
285
347
255
324
292
311
299
336
304
331
410
334
308
268
304
351
202
319
366
342
346
289
291
256
315
268
336
356
407
356
333
331
335
252
301
334
255
345
348
227
259
288
288
336
314
295
339
199
310
306
331
303
307
368
306
308
237
366
355
332
364
257
318
347
305
328
382
296
260
348
266
299
342
299
334
349
381
301
284
257
382
371
320
289
247
384
256
370
275
300
358
258
292
370
264
264
327
320
274
279
355
293
351
330
293
275
366
357
321
333
309
359
331
283
373
335
381
334
346
342
249
406
317
371
348
352
346
292
293
342
329
350
292
350
291
361
278
288
320
298
316
358
283
299
282
326
333
232
391
234
372
326
363
387
348
279
309
338
206
306
286
334
399
382
313
312
310
317
294
266
314
273
358
309
363
274
255
373
382
327
311
376
307
280
351
311
349
304
254
315
359
341
311
324
206
323
283
254
280
328
326
346
323
294
283
250
318
296
327
357
347
256
309
245
327
336
278
355
378
343
374
280
322
371
292
336
309
277
365
305
307
343
254
268
332
286
289
225
261
276
320
302
322
342
350
350
337
327
359
285
314
306
361
262
340
350
451
271
309
277
332
355
250
297
294
290
355
243
308
323
356
359
317
321
351
263
307
321
290
315
303
330
315
314
322
412
291
262
318
231
385
320
313
313
296
320
271
289
281
307
323
408
281
359
415
429
337
400
327
272
370
294
316
239
207
298
352
339
357
360
357
355
386
321
263
302
269
316
371
340
318
341
274
339
324
320
293
313
246
278
343
259
339
272
281
359
415
333
346
337
287
320
326
298
235
386
285
254
376
322
294
342
280
284
369
242
232
375
296
208
379
336
272
390
354
332
424
315
322
198
360
368
354
311
285
224
341
289
284
320
363
293
287
261
332
300
331
302
295
238
277
258
335
242
353
300
347
281
326
407
434
304
319
297
264
282
321
323
202
367
339
303
317
324
236
296
310
282
291
305
319
344
261
236
333
258
314
274
253
235
251
313
342
378
296
224
301
321
238
341
299
255
283
377
323
291
287
295
410
219
334
376
414
328
267
275
339
312
313
283
318
285
309
324
370
320
374
370
332
240
251
400
306
407
341
381
327
293
305
351
319
287
308
347
254
265
235
299
324
344
213
334
251
294
388
336
403
300
282
355
283
330
284
302
366
256
323
223
182
308
413
280
296
299
261
224
381
258
320
269
258
269
287
273
431
346
292
321
261
328
302
320
318
364
355
233
332
331
307
380
256
325
306
368
400
369
352
392
421
280
327
355
276
350
265
330
315
352
178
376
345
295
302
400
390
358
342
414
255
299
329
303
365
287
324
278
310
279
249
260
392
319
354
348
362
292
341
360
386
304
328
255
294
366
254
346
299
353
388
309
350
287
308
332
342
191
272
345
361
294
249
301
238
326
330
307
305
358
247
278
307
371
313
342
216
332
273
335
376
309
308
291
304
309
362
324
261
278
242
321
327
257
343
323
254
298
281
342
355
358
314
364
304
291
314
242
336
349
373
352
244
305
397
309
315
326
262
333
299
370
294
348
337
364
331
287
281
369
284
362
373
285
299
349
326
205
292
286
332
267
303
280
252
347
371
274
294
314
381
303
339
281
332
302
423
309
333
359
375
243
284
335
377
361
276
301
326
277
278
270
398
366
318
269
287
361
318
306
288
312
296
279
344
263
294
272
323
281
321
333
278
321
285
285
280
281
359
386
311
345
303
284
340
373
274
337
251
270
336
347
302
387
300
217
321
366
316
307
329
293
295
381
273
294
357
338
301
308
360
247
350
382
292
288
323
341
263
310
303
309
372
317
348
292
368
282
284
222
350
328
278
331
356
304
286
252
230
283
300
344
258
324
268
269
319
340
349
296
228
352
381
401
315
298
293
289
280
333
298
235
304
340
317
357
343
421
325
242
344
317
404
381
312
280
343
281
205
318
359
328
251
365
394
346
310
323
239
284
316
334
282
280
316
318
233
321
292
233
393
321
245
358
400
279
297
359
264
252
224
281
259
230
337
313
306
227
368
361
273
247
281
278
336
243
253
250
333
347
293
303
301
204
358
345
303
322
332
251
312
263
327
291
278
282
348
340
356
299
373
307
252
302
353
352
355
299
358
363
278
306
351
328
309
269
300
316
264
297
381
352
361
336
188
339
325
357
425
263
320
325
344
299
367
322
378
302
269
345
266
309
379
330
300
363
303
288
371
398
293
291
385
339
322
263
311
239
342
283
322
248
298
273
369
246
279
276
352
341
286
347
317
311
345
352
345
313
295
363
287
377
263
357
285
357
347
225
351
274
351
280
396
263
247
287
255
313
296
239
318
300
279
244
342
368
316
240
374
258
266
335
313
303
311
245
327
389
303
308
338
283
206
341
203
344
350
293
356
329
449
362
345
329
225
305
387
316
375
338
318
336
280
255
329
286
337
347
363
317
259
394
341
288
375
302
315
337
312
322
356
351
334
244
334
351
334
343
297
307
310
372
303
283
318
283
274
339
345
380
298
270
302
328
392
337
367
262
323
336
244
400
339
333
371
336
354
291
344
291
278
292
247
317
323
345
259
309
318
318
229
249
323
277
365
291
338
287
239
322
344
326
324
396
328
311
378
295
303
338
304
284
302
207
248
376
377
300
379
342
234
314
337
264
346
370
333
297
369
347
281
371
378
286
337
274
312
266
307
293
285
316
298
328
315
344
253
275
326
225
271
345
356
332
281
326
323
351
284
340
309
273
335
292
316
371
278
306
327
366
346
296
318
320
311
411
333
275
298
343
333
349
326
298
287
375
273
351
318
306
348
341
338
284
366
389
370
209
273
306
240
366
247
319
346
365
329
301
269
313
282
369
432
277
310
375
250
344
420
232
261
301
332
281
367
254
311
312
297
349
326
298
247
365
303
330
289
320
288
258
434
319
283
404
294
289
363
341
357
322
317
317
243
250
262
391
361
239
247
313
328
349
313
322
330
360
285
294
305
313
313
335
282
300
374
314
258
283
296
398
343
264
293
303
366
350
286
366
248
258
271
273
292
334
337
271
232
307
284
356
317
342
294
338
257
358
303
302
257
264
245
325
342
362
289
289
342
334
289
273
356
271
347
316
287
298
272
340
244
292
315
337
271
361
287
365
324
359
319
222
248
278
311
320
312
288
352
254
326
295
396
241
325
305
354
295
368
312
311
348
262
356
288
357
292
318
388
226
305
340
358
351
294
249
345
302
235
355
229
331
293
351
327
282
274
277
217
251
339
239
331
312
282
273
364
379
346
290
329
290
320
318
392
315
316
294
310
330
343
241
330
264
284
277
295
415
319
363
240
288
329
401
301
240
276
296
264
364
225
287
299
343
349
405
378
309
342
340
350
316
413
297
296
346
326
391
378
325
348
338
360
374
331
338
313
282
291
330
280
317
329
395
356
456
289
363
327
288
262
248
415
299
373
328
362
319
296
364
293
340
253
325
315
394
231
325
323
223
317
347
306
260
338
327
275
373
330
299
371
323
227
352
355
325
317
264
347
343
257
333
347
251
319
370
312
305
324
311
352
232
306
330
222
356
304
227
334
386
327
307
367
296
258
320
308
287
254
318
398
237
322
262
261
336
365
328
244
323
372
286
298
230
409
254
311
330
295
323
323
238
364
273
240
285
272
307
315
252
363
345
339
281
254
299
270
270
314
300
354
356
336
295
289
309
289
276
383
337
295
295
334
315
443
288
336
325
334
320
352
366
293
246
351
319
355
367
313
346
270
351
241
264
330
344
264
311
392
333
337
353
368
278
312
301
320
308
322
354
351
275
329
383
295
348
361
341
318
376
347
255
349
307
373
296
344
338
332
316
367
317
291
255
350
279
291
381
285
297
250
367
262
353
243
295
271
308
331
367
405
362
358
327
266
348
321
314
312
319
387
401
266
279
287
338
347
389
352
320
282
285
352
331
354
281
252
289
370
318
319
310
294
282
342
328
333
350
361
312
329
317
306
298
287
278
362
306
288
330
322
306
400
269
315
389
250
287
355
326
276
306
274
238
291
311
227
327
257
236
325
360
349
387
307
222
377
305
294
321
328
326
352
283
267
325
246
305
333
303
260
386
401
340
281
308
327
276
274
277
324
346
299
341
301
291
335
323
272
309
341
273
401
293
381
269
335
338
401
327
375
248
348
420
358
352
298
353
349
238
299
343
275
349
323
317
280
283
330
360
334
270
293
293
322
300
245
338
257
272
384
331
388
365
275
316
319
328
295
300
354
266
243
260
338
252
311
340
295
293
377
367
341
336
280
318
313
372
276
354
358
349
358
255
334
350
306
188
348
353
385
308
313
356
278
313
329
281
273
307
294
321
287
332
373
335
358
339
278
355
318
307
266
294
301
266
339
259
252
337
272
309
324
387
280
409
347
237
296
257
310
309
326
265
363
315
332
328
255
351
251
329
284
339
284
313
344
243
293
325
313
385
327
282
310
363
297
378
325
337
326
356
303
333
300
290
260
211
308
277
288
329
322
357
298
316
358
360
313
299
287
313
288
341
339
288
276
315
294
376
373
218
316
291
205
303
344
312
278
343
256
276
290
327
284
350
272
258
310
368
249
311
374
261
280
303
333
300
325
336
378
293
244
334
233
297
341
346
235
336
335
323
276
296
364
300
376
328
363
294
337
296
325
358
303
317
306
271
302
315
371
354
331
269
236
377
382
317
250
298
268
368
361
280
332
286
309
336
284
285
377
328
286
353
362
354
399
357
337
360
317
375
333
310
385
213
263
266
315
339
311
271
327
331
352
330
236
352
321
278
313
335
377
343
318
329
311
379
329
299
314
295
299
315
342
275
351
324
328
334
280
311
290
352
377
351
313
347
372
321
382
320
310
345
322
308
355
233
283
321
307
403
329
393
254
361
270
368
300
297
386
371
426
297
319
327
274
329
229
371
304
271
275
420
340
358
318
389
327
311
314
400
290
327
285
362
346
363
310
221
321
242
300
307
344
366
342
233
300
260
279
339
309
331
362
259
362
330
314
264
357
339
314
281
314
366
334
305
187
301
279
377
298
281
381
312
340
319
322
350
381
358
359
270
279
371
342
320
300
273
325
302
339
267
317
301
304
347
256
278
313
314
329
274
334
304
381
370
224
352
269
333
336
307
320
238
316
345
322
330
306
331
305
332
328
291
336
269
309
355
335
318
244
265
218
313
337
364
301
343
334
268
150
282
356
312
267
310
305
251
304
291
355
347
317
320
296
324
266
316
337
321
352
341
426
300
267
386
256
238
385
320
330
380
255
369
296
275
401
304
318
371
327
292
243
292
338
321
286
373
291
300
295
364
329
372
374
251
265
370
304
296
236
268
278
315
316
393
250
381
308
281
280
397
359
323
257
316
270
458
218
286
331
352
323
282
275
315
380
356
365
262
261
336
244
394
364
339
298
364
250
359
290
416
247
298
285
315
273
312
294
335
392
358
373
278
302
345
291
235
328
331
299
286
297
342
280
301
319
328
354
297
354
276
329
350
338
307
312
325
349
299
396
345
297
428
355
343
316
212
402
367
249
318
349
329
206
406
328
313
346
369
366
321
317
287
313
241
236
357
362
347
307
337
341
296
354
255
296
323
400
379
380
358
226
258
369
285
354
272
345
272
332
358
341
282
333
307
305
342
277
243
325
293
333
309
282
267
270
414
320
301
337
271
289
373
314
369
259
351
319
289
350
326
312
290
327
313
380
392
353
276
294
265
260
288
318
324
283
357
324
308
332
314
304
268
276
379
286
280
299
358
316
236
374
331
277
359
318
288
341
306
257
307
368
384
339
333
294
322
336
274
225
334
338
340
297
334
264
375
302
316
300
314
321
293
290
312
297
313
343
393
263
303
351
326
290
292
321
333
360
334
405
202
296
255
334
297
281
328
336
322
331
306
310
335
213
272
364
324
333
379
326
370
326
307
255
380
342
379
324
279
324
328
299
295
309
316
308
220
328
317
345
396
350
332
267
335
310
336
337
265
326
250
335
377
332
387
301
327
283
362
295
229
296
283
285
305
292
412
292
318
312
269
291
377
371
371
329
388
277
363
370
322
407
345
289
340
418
309
275
317
364
258
391
328
293
311
280
340
286
258
380
310
314
270
326
266
292
280
338
285
316
334
327
369
251
367
261
296
343
341
297
387
333
308
311
343
341
347
368
269
278
349
325
327
321
373
274
308
371
296
347
304
278
319
330
333
302
281
286
298
250
330
323
328
256
350
323
353
292
292
299
367
341
320
297
307
395
270
368
252
319
395
254
382
262
296
271
331
377
319
371
238
308
382
249
325
334
372
307
229
286
357
355
320
327
363
299
312
298
192
297
380
312
293
298
299
259
293
345
254
260
352
294
286
360
329
342
336
338
316
282
369
271
381
316
387
409
379
329
306
363
280
226
288
290
252
274
313
317
159
329
286
348
288
350
345
299
348
329
271
276
318
294
352
379
356
289
342
394
264
328
312
340
311
294
403
278
267
331
299
334
355
302
359
363
328
254
252
363
329
291
306
310
317
385
224
295
347
244
386
240
346
315
282
366
282
390
345
294
251
276
349
239
397
319
308
352
378
387
289
344
328
315
318
316
235
378
291
352
312
321
272
323
327
294
310
325
302
303
347
266
349
269
285
359
327
259
345
331
266
324
207
332
328
392
340
231
224
326
280
337
279
306
320
256
300
331
298
354
368
352
399
353
297
376
415
206
297
334
345
330
376
372
301
300
323
389
351
266
382
258
399
284
401
328
338
293
264
311
321
316
334
336
360
321
371
340
275
394
382
390
247
364
326
328
370
364
265
356
257
351
288
256
347
367
322
398
361
353
369
319
279
236
273
354
335
374
299
375
328
333
377
314
326
251
367
225
296
336
328
321
317
274
276
303
335
309
308
334
318
266
305
280
264
291
414
268
283
364
262
318
233
354
337
341
272
224
298
357
347
341
292
289
256
320
318
262
293
312
343
258
322
330
298
355
309
367
278
257
343
437
302
346
249
247
275
299
338
285
259
290
438
329
344
307
364
373
425
268
267
266
339
362
316
354
347
290
361
343
426
322
266
304
357
348
316
340
331
292
243
355
360
363
421
280
304
318
320
276
251
296
257
354
344
276
349
234
379
288
385
301
334
315
365
313
342
273
358
245
317
248
313
259
300
289
343
332
319
362
252
388
339
282
203
242
412
377
308
310
311
390
276
314
321
345
280
336
251
310
350
369
264
301
224
322
316
345
346
283
228
301
227
378
292
264
304
279
240
272
249
350
334
320
284
392
391
373
329
350
340
247
313
241
356
254
320
270
355
371
303
302
279
359
383
234
277
259
397
368
342
311
307
317
363
387
315
302
334
407
368
331
303
297
342
314
336
279
228
263
282
292
354
268
350
310
301
284
347
326
231
288
352
292
249
253
272
284
228
366
264
306
314
356
276
263
346
235
324
317
342
288
311
330
327
364
323
285
341
244
396
348
312
300
292
308
191
371
261
364
363
295
331
298
344
325
311
205
372
285
336
273
331
309
410
315
366
273
314
224
348
344
259
332
427
329
280
292
395
289
313
276
356
328
257
312
352
360
342
304
315
261
313
320
295
310
289
275
323
330
280
297
324
371
400
387
332
362
273
317
329
314
313
278
287
331
303
345
287
402
259
382
382
244
269
311
319
314
432
368
269
342
271
340
373
297
276
311
304
316
377
256
291
377
349
278
315
337
293
352
299
255
306
300
356
286
331
323
308
276
302
347
352
256
317
329
280
311
298
368
375
366
291
246
346
275
365
340
340
312
291
245
384
293
330
235
240
335
361
280
316
250
330
288
304
213
269
363
308
373
368
314
337
300
337
339
390
379
250
301
293
276
292
287
392
360
324
329
399
326
275
340
355
323
312
315
254
297
351
313
287
407
375
310
335
249
342
305
323
248
403
368
311
389
305
293
396
303
395
326
317
307
277
290
326
288
307
287
256
374
308
339
276
339
333
348
316
296
329
256
306
385
374
344
326
346
358
229
383
327
350
364
341
233
327
263
354
318
330
354
270
218
308
323
345
381
314
309
290
289
346
269
308
413
276
382
331
364
262
355
296
280
243
351
362
255
328
320
357
338
314
269
398
303
293
313
389
279
341
286
273
282
309
339
338
320
268
429
246
263
392
292
329
253
368
390
357
381
337
312
247
339
282
281
302
244
304
342
321
367
241
308
311
300
327
327
369
321
402
278
256
289
312
344
296
349
258
382
292
395
371
285
314
339
329
440
328
313
305
288
235
338
277
346
379
251
368
306
330
307
308
413
310
340
275
339
296
251
258
329
338
297
283
300
311
366
379
298
353
312
252
280
362
265
305
308
301
332
316
264
239
240
365
277
290
343
280
348
331
297
375
303
277
239
368
308
375
249
268
408
383
263
399
303
378
287
248
238
349
295
347
266
327
228
319
298
246
367
374
286
349
231
302
352
259
353
288
273
357
373
294
326
347
333
311
373
344
294
320
260
314
348
375
282
348
339
309
316
265
319
277
312
339
285
396
251
269
348
341
393
331
331
289
390
326
317
322
315
319
279
306
338
296
317
320
233
365
307
335
321
298
330
280
283
275
243
323
343
329
282
331
338
282
364
367
304
354
331
326
281
289
226
283
281
337
369
359
277
274
285
323
395
301
350
293
264
351
315
190
275
310
307
287
305
373
254
320
325
326
361
383
265
320
330
333
302
368
294
285
316
356
381
319
306
255
276
331
269
303
341
322
278
316
322
346
386
273
227
269
260
375
375
311
304
313
290
377
198
311
258
263
319
301
286
329
290
355
309
258
282
386
263
277
307
320
324
338
197
296
343
326
383
334
283
319
183
311
298
259
289
335
348
298
278
300
345
257
247
273
307
276
309
358
360
424
324
276
221
284
255
303
301
353
257
286
291
371
348
325
154
388
316
404
314
287
402
330
288
377
377
264
392
345
347
381
403
317
342
322
310
266
340
377
331
289
328
322
374
313
267
359
420
279
337
309
345
287
334
296
258
377
297
338
340
337
394
364
342
327
351
399
337
263
233
345
261
296
311
275
301
348
413
261
291
266
331
287
345
326
350
302
274
370
323
263
355
362
301
415
334
297
323
281
316
402
264
341
364
313
250
347
349
274
337
391
236
330
328
338
333
356
308
361
325
269
287
362
395
309
254
271
272
294
275
336
345
292
274
309
275
331
388
344
325
317
283
400
237
363
333
315
296
375
312
244
347
295
330
316
288
379
237
304
279
405
341
319
271
345
354
290
336
240
342
385
338
325
257
353
245
392
353
314
280
259
378
304
421
325
275
309
261
290
305
296
275
289
331
212
377
339
279
269
325
296
298
329
313
308
353
323
330
330
255
367
307
250
366
226
319
348
258
283
294
316
335
312
291
335
291
342
354
277
245
339
345
333
311
332
296
286
309
356
327
305
175
266
287
295
372
342
337
369
324
355
290
423
298
214
333
352
333
273
357
269
292
290
388
347
326
349
405
359
251
337
245
280
240
295
297
353
318
275
268
345
357
348
357
358
327
332
339
384
345
363
325
310
371
397
291
398
289
278
398
291
325
387
272
358
327
358
373
288
304
323
292
298
398
252
320
322
305
371
320
258
400
288
343
295
274
363
355
283
346
358
339
337
377
364
383
315
290
306
340
287
343
316
313
269
374
414
304
264
298
294
360
342
206
314
316
310
319
339
257
382
357
279
274
330
394
342
328
285
341
360
288
256
250
345
327
345
394
260
306
307
260
287
308
291
321
280
300
330
375
308
350
328
339
311
242
366
314
299
267
418
219
317
389
327
308
250
368
358
341
329
255
356
297
352
387
267
342
390
311
348
332
315
276
264
370
314
285
285
347
330
318
316
295
348
260
273
326
364
285
289
296
373
338
370
319
321
297
302
369
402
338
348
351
237
302
286
319
303
368
316
374
322
333
323
279
254
218
303
301
333
286
370
296
339
262
207
345
350
270
356
370
351
307
254
221
344
295
330
298
307
361
295
216
286
335
263
224
263
279
330
321
268
302
250
291
362
358
259
279
287
344
245
214
308
241
296
322
285
279
376
271
315
315
359
313
287
278
359
259
322
297
335
302
403
344
311
334
291
301
339
341
250
259
342
341
227
330
355
254
356
343
223
306
334
304
259
298
298
278
283
388
255
356
297
404
358
352
374
360
277
348
322
209
370
341
354
269
314
338
258
359
252
328
234
391
352
323
255
201
283
242
323
245
264
363
271
277
313
375
271
312
276
350
322
303
329
313
350
419
278
362
281
305
345
335
318
355
252
394
388
339
347
366
369
390
320
305
278
357
371
314
336
289
447
318
296
328
300
260
299
295
321
302
240
337
318
320
310
286
362
351
313
311
369
352
273
279
359
317
341
365
235
294
311
293
295
268
350
350
245
186
333
320
277
306
254
330
327
316
375
351
328
344
262
382
366
316
312
321
330
337
400
316
374
297
355
267
294
320
382
345
294
282
352
367
279
228
318
278
309
367
314
308
327
401
341
295
267
308
284
314
349
315
325
305
367
280
202
346
251
280
375
350
277
355
353
393
326
365
312
334
353
291
385
382
308
321
383
262
287
333
258
353
375
337
389
338
329
314
273
308
278
370
305
385
364
251
302
371
309
266
202
270
256
229
259
290
300
328
294
267
352
286
336
339
297
409
285
312
331
297
291
351
340
336
306
302
330
269
390
388
413
283
408
282
341
324
245
330
257
255
270
342
403
272
326
312
382
388
350
355
333
354
246
359
296
240
311
343
337
335
318
294
336
318
231
252
289
279
262
318
311
300
329
343
275
208
425
324
332
284
352
319
367
288
308
353
270
280
370
330
320
332
300
360
320
245
242
278
296
291
298
294
348
305
272
255
351
314
364
311
308
304
254
298
358
337
290
349
330
258
346
310
321
395
295
321
371
324
282
334
325
288
310
355
341
355
401
363
283
313
311
275
412
376
222
331
305
350
405
209
342
310
349
302
339
246
300
328
364
341
295
320
335
346
317
273
352
314
306
350
303
309
387
326
378
243
360
312
262
400
351
288
310
271
383
256
328
318
348
282
364
368
407
255
292
247
315
353
335
357
252
279
225
381
245
301
383
324
349
368
332
269
227
329
296
350
335
281
286
293
291
310
336
345
335
219
359
260
213
340
255
336
305
306
302
317
216
276
288
275
257
238
230
372
307
276
328
281
351
399
303
393
331
392
332
319
297
274
264
322
288
385
413
399
294
336
373
286
293
317
261
284
259
280
294
366
326
285
302
348
377
304
266
256
330
338
356
370
356
256
314
278
310
367
326
372
382
384
334
356
260
338
378
231
325
253
336
203
329
322
339
262
320
316
305
324
347
367
326
308
314
264
363
333
266
301
295
300
311
328
406
365
403
258
442
293
333
361
278
305
296
356
345
302
190
314
273
343
319
266
257
302
295
289
421
305
355
293
280
267
251
418
274
290
346
318
294
286
337
306
325
323
389
286
290
269
395
358
327
352
288
315
340
264
313
264
334
362
312
335
334
414
369
298
305
240
329
277
365
282
415
327
320
343
345
324
268
283
359
278
327
341
262
266
283
326
337
250
305
318
308
366
321
301
324
321
369
263
358
352
278
265
353
286
330
302
326
310
247
415
327
275
274
313
261
366
256
328
343
315
271
328
346
317
308
315
308
315
296
377
289
425
361
353
350
384
295
300
296
352
301
245
317
332
400
391
332
272
301
300
301
270
313
274
358
278
313
399
331
281
343
301
284
358
289
343
369
368
303
343
353
312
366
250
337
375
331
346
295
306
331
269
310
310
371
327
341
224
198
243
337
272
319
286
325
232
335
291
352
326
204
341
374
265
274
264
332
334
283
410
366
368
317
405
299
346
341
303
312
303
362
323
262
248
302
272
213
291
297
293
292
359
382
312
268
405
215
395
247
264
312
292
297
192
333
229
280
336
369
303
383
322
391
403
316
353
329
298
333
262
250
260
362
234
317
291
326
361
316
354
413
290
318
285
347
244
268
329
327
273
357
425
384
314
354
271
369
291
357
330
319
266
260
324
283
322
302
301
341
338
321
333
325
279
293
297
390
325
346
221
225
342
269
292
362
291
335
265
215
268
297
337
275
369
288
219
250
364
257
345
369
352
403
278
334
275
380
268
270
217
378
315
416
287
337
325
278
368
314
352
283
290
295
305
358
371
355
300
274
317
292
255
311
191
313
285
269
292
287
298
253
312
290
317
345
292
339
362
355
342
209
324
282
334
301
350
354
255
387
309
267
296
290
370
281
365
381
369
278
288
344
240
227
237
301
335
329
298
289
343
249
298
334
222
309
271
300
358
345
283
281
346
301
371
386
366
370
333
296
273
303
362
303
292
287
284
373
316
329
286
294
382
227
272
327
342
341
317
281
277
377
314
302
288
311
301
343
355
335
362
250
334
323
291
298
259
338
267
324
281
230
206
354
335
350
258
315
386
368
345
325
323
274
361
369
320
325
263
322
358
330
374
252
301
360
238
313
334
325
369
309
280
319
263
380
349
325
272
330
257
338
205
377
306
239
310
359
299
315
347
369
300
301
239
261
275
343
379
269
321
271
366
330
278
368
360
349
336
358
398
196
317
263
369
251
345
309
333
306
359
348
339
339
228
329
317
252
367
407
329
382
289
322
279
324
360
345
308
373
240
212
266
400
344
277
363
279
268
313
363
322
380
393
231
324
373
370
263
366
298
375
289
305
366
255
361
408
253
290
323
364
259
276
222
274
348
314
338
330
338
347
231
302
315
260
268
306
270
247
320
329
311
276
322
256
371
451
346
248
331
355
308
270
329
359
250
326
329
232
328
284
397
289
363
325
332
364
260
368
323
293
352
267
318
326
339
309
362
416
372
290
274
283
333
381
288
284
282
294
302
348
274
356
309
357
316
324
323
351
373
274
250
325
296
323
322
219
385
359
299
400
285
408
283
338
240
334
375
279
349
278
328
288
356
338
249
253
342
311
292
228
339
308
330
347
315
252
277
334
316
223
279
355
319
418
303
261
305
353
324
342
368
300
278
320
305
358
302
373
235
286
286
357
296
308
307
345
347
229
278
312
316
324
294
384
359
318
327
323
377
338
316
337
225
318
334
356
318
261
269
290
356
324
310
361
341
367
407
303
251
383
279
384
289
248
314
335
283
333
255
275
313
347
264
342
371
352
237
316
289
293
303
378
317
370
374
345
256
386
364
293
298
281
342
348
274
332
326
353
248
287
314
313
281
298
357
258
319
306
310
227
322
285
289
321
340
369
370
372
361
328
249
249
300
357
271
316
369
325
264
383
337
324
350
356
276
347
339
357
295
302
307
299
365
293
328
287
281
300
194
362
323
322
393
281
264
324
352
271
342
380
321
333
314
271
329
465
299
306
413
380
287
340
322
330
343
355
320
289
356
294
335
284
375
319
288
256
361
330
299
292
309
355
302
278
387
385
306
300
327
251
342
311
376
327
289
311
200
391
330
371
325
274
322
363
387
333
351
173
292
293
311
280
342
362
339
343
343
298
347
319
357
328
369
268
330
308
277
304
412
203
301
282
273
321
359
295
317
384
229
337
320
392
335
340
290
360
302
338
387
241
254
381
344
359
336
324
286
405
275
328
297
305
333
344
343
276
324
366
287
335
304
256
374
275
320
267
330
300
352
366
316
375
308
418
259
295
357
295
351
305
295
350
233
228
325
342
341
244
353
277
346
279
283
362
352
359
324
272
395
289
338
296
417
273
333
362
326
227
338
307
404
282
413
357
283
354
344
240
337
340
279
398
316
309
344
301
342
247
271
285
279
340
373
338
325
324
322
240
309
324
321
364
429
321
347
388
277
296
305
284
345
347
290
202
213
331
348
312
350
318
220
389
328
296
255
292
375
264
288
296
324
380
342
359
373
316
291
346
288
313
399
402
382
399
303
277
344
313
363
339
320
316
334
386
228
357
330
234
254
304
376
357
261
345
311
358
331
298
295
366
282
282
360
255
352
310
311
291
347
381
316
334
361
314
289
298
254
305
268
251
323
302
306
362
374
289
351
326
244
301
386
348
418
294
369
307
294
364
282
340
329
369
353
315
352
340
318
300
314
329
299
363
379
268
375
388
277
326
364
316
324
322
408
205
305
296
390
215
199
256
331
371
272
319
302
317
298
366
382
350
259
331
301
275
358
284
365
323
256
334
307
302
361
348
300
331
321
359
253
288
371
334
334
337
303
276
318
387
265
349
370
292
393
276
416
290
354
291
249
275
362
323
378
371
240
235
262
285
294
357
299
277
326
346
343
371
335
346
362
360
277
325
291
315
327
337
236
331
333
369
288
362
332
333
344
369
340
274
292
269
339
325
252
357
241
328
387
317
393
353
343
286
334
269
355
251
287
393
269
262
331
293
307
326
223
306
246
288
302
336
300
280
358
416
287
261
351
326
327
331
377
251
405
378
406
350
324
348
240
350
293
325
361
283
342
256
404
348
375
284
267
249
267
302
314
357
326
418
226
253
327
324
365
394
309
317
249
323
338
337
370
301
358
263
342
367
243
325
377
371
325
253
283
299
253
353
272
321
318
302
340
313
280
295
337
276
368
270
291
242
271
222
348
312
291
311
327
333
298
332
296
301
320
364
302
270
297
408
373
343
361
317
341
262
211
277
244
176
270
309
375
297
280
316
330
291
336
369
288
282
368
315
376
280
270
267
253
335
314
335
334
332
364
326
328
313
311
351
340
342
245
330
330
343
171
285
296
327
231
342
380
365
298
296
345
367
328
311
325
304
372
253
289
378
287
385
339
307
296
273
271
283
390
326
280
292
329
276
303
275
382
331
238
346
282
363
346
316
391
327
342
344
315
252
355
372
419
258
299
353
313
312
265
344
311
309
353
356
273
351
256
306
314
337
369
359
282
344
333
259
345
349
282
208
366
280
332
353
350
345
384
268
313
321
433
361
268
378
263
333
192
304
334
336
387
340
331
327
295
346
378
260
340
313
331
336
308
284
377
369
384
330
271
271
281
300
339
281
387
347
366
310
352
301
290
340
251
377
323
290
249
290
288
344
332
340
255
246
201
369
242
310
359
321
223
330
272
346
345
298
339
394
323
308
288
246
289
227
339
288
305
245
336
350
307
322
311
274
278
340
327
365
387
304
338
264
283
435
398
362
331
246
365
309
340
314
371
224
253
261
315
299
281
336
298
161
280
339
317
316
314
414
238
298
294
348
341
245
311
306
403
346
295
284
295
308
294
375
358
293
281
305
286
327
340
313
324
290
357
313
287
353
378
340
295
322
274
303
333
323
361
335
242
242
348
270
253
329
293
317
361
336
247
279
340
246
348
313
237
285
299
253
322
290
326
378
343
254
302
393
344
287
383
357
344
380
321
169
378
316
288
375
285
263
334
297
347
294
319
268
300
312
308
231
348
390
291
200
295
316
378
298
324
298
315
436
309
291
260
344
352
252
284
326
336
232
317
266
301
360
192
282
354
219
333
333
372
259
298
341
356
338
316
298
299
354
265
317
343
293
349
350
341
312
282
326
288
346
373
315
331
212
273
412
256
259
295
429
336
343
201
207
307
296
332
346
327
383
338
264
354
269
317
345
325
373
307
411
315
288
284
299
390
298
378
360
269
371
263
327
328
286
269
337
304
333
294
241
260
401
340
291
319
386
285
284
397
188
259
236
334
307
339
270
270
380
352
315
372
267
269
287
300
296
292
253
298
377
296
311
363
362
304
241
221
253
378
301
317
220
329
282
269
367
326
349
288
382
290
347
306
354
283
371
202
342
261
285
328
363
352
322
302
289
313
276
320
305
342
233
258
279
360
329
326
286
266
389
320
297
305
300
270
342
275
285
338
380
333
234
233
245
306
336
272
280
255
268
331
377
304
363
289
351
396
335
334
310
269
333
302
334
239
306
305
344
411
337
423
347
384
257
312
312
315
343
321
363
302
326
246
301
338
373
290
348
331
342
228
371
255
328
328
304
349
282
430
314
312
373
363
352
330
401
333
233
286
340
312
340
332
282
320
353
358
303
290
319
341
310
342
334
327
359
284
295
297
301
323
332
262
357
245
308
309
382
214
434
314
296
336
242
334
351
341
306
321
325
290
325
421
357
343
248
291
361
240
232
261
298
314
241
308
325
296
319
287
377
250
304
324
239
235
296
323
361
355
255
308
299
326
378
307
268
314
291
282
351
266
348
377
312
322
406
310
296
371
276
375
324
299
241
251
399
344
293
404
372
234
349
287
354
337
313
281
247
341
247
346
305
356
248
257
373
284
281
274
286
235
312
338
322
383
370
303
350
356
242
314
257
269
323
347
394
363
301
353
358
238
312
355
347
323
295
253
319
281
356
365
348
371
301
305
320
324
276
295
348
351
254
280
363
313
316
365
315
328
320
311
379
288
362
303
292
358
279
304
305
321
242
243
316
314
307
367
167
313
261
296
330
313
317
336
259
304
259
331
389
346
299
267
276
250
259
310
421
346
279
249
321
193
262
325
313
399
339
358
364
288
300
385
344
256
341
369
341
240
275
249
248
392
303
296
318
398
339
327
421
295
300
318
328
350
282
359
287
346
386
316
374
354
347
336
292
324
393
336
294
308
298
269
313
340
318
361
312
272
315
325
289
285
285
249
358
313
290
263
325
302
455
345
332
314
270
381
322
266
366
237
332
263
341
343
315
321
311
279
306
404
322
424
369
295
279
378
391
425
277
311
394
295
366
298
320
277
365
317
325
327
339
389
299
184
325
252
236
361
345
302
380
358
390
278
363
317
309
357
260
223
237
254
372
373
305
324
376
351
230
342
325
220
355
281
333
410
281
313
317
363
336
334
324
305
374
351
285
285
368
315
272
322
252
253
299
320
433
248
327
303
340
372
306
348
271
311
313
279
315
288
334
314
367
243
334
294
315
308
361
298
224
328
310
313
285
323
312
331
328
318
289
246
346
236
343
324
232
327
226
345
298
329
240
298
271
303
269
270
378
292
379
310
224
329
289
343
331
291
392
329
402
299
272
309
298
292
380
391
221
363
265
336
311
334
254
311
235
257
326
264
375
415
262
377
367
343
374
287
357
223
380
389
357
247
358
328
265
336
345
289
293
319
296
331
341
218
249
312
312
323
325
396
358
393
332
306
367
320
235
300
225
297
335
306
300
337
378
318
315
278
291
322
263
283
278
315
247
380
386
281
401
320
326
345
327
262
303
295
332
361
382
311
217
218
287
346
280
360
336
297
389
304
314
343
336
270
351
358
338
351
292
251
284
340
307
313
345
235
276
310
221
284
300
323
306
312
342
299
408
299
349
316
338
298
346
324
364
374
292
236
303
355
300
365
322
340
346
261
343
301
312
334
338
356
389
408
311
317
313
358
231
297
336
330
314
187
322
304
299
351
350
325
306
247
344
290
228
374
404
344
251
316
338
277
285
290
367
293
312
234
310
297
306
325
343
250
320
239
416
275
327
337
308
225
371
309
309
318
356
272
341
364
282
243
357
315
272
350
395
322
321
315
334
333
261
367
271
289
367
339
237
316
404
357
309
380
309
291
359
315
282
285
266
286
283
371
325
389
398
315
381
363
346
254
327
376
354
350
266
356
244
301
342
387
372
282
296
303
294
351
321
341
243
292
270
294
332
258
431
324
324
337
320
262
410
373
330
323
332
271
338
392
258
332
303
237
248
334
374
315
411
295
369
330
290
284
334
398
363
325
260
298
234
298
405
320
241
273
319
333
293
337
261
315
300
410
392
337
314
309
237
284
437
254
309
325
341
360
349
229
390
301
334
363
355
366
358
280
406
265
292
315
355
331
372
282
298
304
330
350
366
318
368
306
327
309
317
270
242
370
388
288
295
340
342
264
352
353
264
265
365
347
338
370
287
273
331
289
456
328
277
363
304
365
257
280
301
330
273
366
335
287
370
298
310
316
325
272
321
311
295
341
263
347
195
289
307
268
386
298
334
288
312
337
261
286
354
364
379
310
377
264
358
304
274
304
340
274
306
348
341
389
266
350
381
328
336
305
237
310
385
292
292
390
384
317
296
341
312
293
329
276
357
326
246
397
364
283
324
290
362
346
298
280
396
272
298
276
264
343
303
304
314
313
324
401
405
357
257
395
320
282
321
363
291
330
288
275
303
222
403
281
370
339
364
255
333
296
283
305
311
379
309
376
293
408
276
306
259
363
356
311
275
368
315
330
309
325
317
314
331
319
332
262
344
361
314
311
315
372
302
319
324
276
269
369
271
232
305
306
250
338
345
327
370
290
344
351
390
289
332
307
290
352
253
293
343
276
314
402
225
324
312
297
316
279
271
304
268
290
432
384
431
347
312
356
279
315
270
331
280
355
288
227
265
312
315
348
306
276
338
256
322
224
380
346
305
355
306
281
299
292
232
434
397
275
353
257
342
281
342
292
357
325
264
293
234
328
293
359
352
264
253
297
314
311
326
254
314
292
360
241
341
293
256
350
283
271
292
328
251
279
391
382
227
297
294
274
314
334
314
354
323
205
257
286
271
258
323
319
410
292
374
377
351
271
264
315
270
278
257
326
284
258
269
321
272
341
364
333
295
379
344
386
302
426
325
313
306
367
301
269
272
364
259
274
374
305
347
288
272
382
300
298
300
375
340
318
229
348
280
258
379
280
337
317
361
313
349
286
341
336
270
303
282
361
270
345
290
291
373
310
350
274
354
351
355
303
391
331
340
291
396
343
351
317
264
321
279
377
337
367
241
268
292
332
316
362
354
340
354
292
318
312
346
263
365
279
398
258
229
323
308
352
366
391
327
243
371
295
310
253
356
285
249
287
288
273
320
343
334
331
347
271
296
358
312
329
267
342
278
284
309
247
239
255
310
362
355
371
317
337
218
343
241
262
265
353
376
332
282
247
280
362
320
353
204
325
355
386
361
363
232
246
330
327
227
223
372
285
364
280
285
269
321
369
314
294
318
328
262
249
303
360
308
286
377
213
257
305
362
363
307
339
312
299
380
376
310
285
257
273
330
353
352
292
367
231
347
394
323
317
285
310
279
421
324
343
318
264
347
309
286
317
317
296
301
336
268
363
321
363
309
317
294
270
306
322
348
400
238
261
286
312
345
246
243
172
375
296
300
381
317
305
416
291
386
381
411
310
331
352
295
358
340
300
360
318
311
311
378
291
332
361
269
336
327
305
289
290
437
348
276
333
372
289
230
335
329
331
366
316
319
298
359
320
305
369
287
300
320
277
358
323
270
342
368
261
318
320
409
363
407
239
324
340
349
304
307
329
402
325
283
281
297
337
304
223
309
280
302
321
240
255
302
327
373
337
265
305
276
271
370
311
285
296
297
247
297
320
356
327
268
351
312
314
286
352
287
279
256
351
313
289
230
345
387
301
240
282
235
303
329
280
316
316
289
272
351
278
319
342
296
287
286
260
361
295
400
316
340
369
239
369
318
380
337
292
272
339
273
295
326
346
254
398
341
393
292
261
272
245
251
304
342
312
401
344
300
301
312
254
259
291
294
260
329
299
328
355
268
367
278
265
391
273
348
274
334
424
286
364
262
417
233
330
293
362
332
326
363
266
286
290
333
286
350
283
268
293
356
281
381
375
375
370
383
268
293
299
374
252
364
328
325
294
401
368
322
286
245
356
392
313
359
371
371
325
295
273
269
355
303
305
263
379
303
352
299
257
386
262
308
314
338
317
328
239
274
263
259
356
351
308
339
354
251
219
338
328
381
301
255
327
368
279
253
346
321
329
278
257
314
355
265
246
331
357
414
326
294
362
275
267
380
324
358
308
379
412
379
279
314
311
297
314
329
260
380
373
348
331
225
330
364
343
360
230
298
366
331
311
308
277
275
376
404
293
316
261
300
269
297
350
288
366
335
327
313
357
330
341
384
316
322
418
360
285
315
343
266
310
253
397
263
339
313
353
299
296
210
336
234
243
338
281
307
330
326
311
326
262
326
387
234
295
224
307
261
315
348
347
280
338
346
326
313
294
301
261
345
356
326
319
325
323
335
291
353
336
340
340
301
293
369
318
306
361
316
321
250
376
292
268
374
333
297
333
342
348
277
266
388
269
318
335
405
236
332
247
278
369
386
324
328
305
282
322
284
314
342
344
357
246
349
337
347
332
330
257
428
206
192
306
353
313
306
338
274
296
357
294
344
307
371
347
280
266
277
389
353
249
335
265
178
250
316
397
310
320
335
303
293
298
282
325
273
356
361
377
327
308
387
351
333
388
227
214
331
305
286
315
293
317
310
368
286
332
308
337
407
335
317
278
294
361
275
367
293
280
311
279
334
367
289
266
355
320
226
351
357
349
297
373
306
323
188
255
317
305
269
336
319
399
340
421
336
304
278
271
329
334
308
266
312
286
366
278
254
289
317
338
263
274
331
337
299
331
349
295
271
257
282
357
325
348
299
229
339
346
406
298
347
420
297
296
215
230
358
295
337
284
297
307
252
324
363
273
344
272
347
351
349
222
326
333
254
387
252
343
358
335
272
381
358
360
283
282
330
375
380
327
376
302
334
255
303
282
324
267
274
384
265
303
357
354
368
287
289
401
278
361
267
296
326
244
327
340
303
322
283
366
340
224
326
325
343
337
351
281
302
369
319
275
306
363
364
292
370
248
247
309
344
288
367
275
282
292
373
374
399
346
303
365
316
239
271
348
310
321
259
266
255
279
353
327
254
291
412
256
272
347
310
297
322
300
358
337
320
336
285
379
244
270
346
388
343
327
372
339
293
328
340
343
303
381
324
261
283
315
301
306
287
363
341
348
311
327
318
315
378
321
277
382
295
286
290
334
291
310
355
318
297
350
261
310
282
348
319
297
399
348
225
363
395
327
216
277
335
259
306
265
395
280
335
280
416
386
386
390
299
366
324
297
306
334
301
300
330
312
314
259
319
308
267
268
277
334
265
296
268
235
320
300
217
344
343
313
359
359
304
242
317
323
371
261
310
321
303
380
335
329
281
346
275
314
221
368
251
301
407
373
261
341
347
266
329
358
317
328
363
296
384
355
350
388
370
286
358
375
286
365
347
222
291
415
276
300
311
350
307
275
283
293
359
332
294
346
273
323
256
355
333
264
327
324
333
374
390
302
364
284
309
288
346
298
335
401
298
268
269
339
285
271
326
306
319
366
285
263
303
304
305
352
316
269
340
287
273
243
317
372
330
295
350
284
328
364
234
293
330
232
414
330
299
261
334
260
351
334
343
311
371
315
227
264
307
306
295
251
316
281
311
310
312
374
235
268
287
382
379
290
306
351
368
392
303
339
408
404
416
312
266
299
361
403
293
366
205
289
297
347
336
333
351
375
280
283
189
279
310
320
292
266
372
327
255
309
313
305
310
259
359
313
295
372
322
333
306
319
346
281
283
246
308
348
358
292
329
372
352
339
317
298
248
361
334
339
384
400
337
320
322
396
358
319
386
345
301
338
264
348
309
344
331
342
329
290
330
350
366
310
311
317
298
378
298
351
306
310
336
267
333
292
396
272
342
378
306
357
301
341
268
306
316
257
282
218
391
248
267
326
240
295
382
331
362
309
300
256
266
314
307
274
296
348
255
262
239
384
305
356
243
309
307
226
355
280
296
249
342
207
369
384
299
396
381
297
307
276
282
359
312
281
338
308
329
313
371
400
357
390
210
347
349
329
333
342
336
333
294
363
377
289
232
284
367
380
292
291
241
291
317
242
269
371
304
300
265
312
357
342
334
330
275
308
280
354
280
321
287
375
330
308
306
301
350
285
342
244
356
297
294
368
360
361
295
290
280
282
379
383
357
302
329
296
289
309
241
358
298
337
289
386
314
311
354
225
343
240
208
362
321
257
267
260
323
390
415
275
318
435
375
308
341
327
268
348
390
298
370
360
336
334
316
259
298
363
324
266
273
384
329
408
305
357
355
335
400
346
337
230
287
338
352
381
265
313
376
329
281
394
273
317
295
294
404
325
304
293
309
317
302
278
307
304
348
346
335
330
331
300
324
317
363
356
324
356
342
357
268
311
326
292
300
297
356
309
257
277
327
234
255
248
384
338
410
333
372
243
241
336
253
272
318
361
334
253
316
360
311
383
352
366
351
328
314
300
314
333
344
307
265
406
294
259
362
354
317
300
305
323
262
391
405
274
341
274
352
435
307
369
331
312
273
264
275
369
366
197
213
339
383
344
314
302
381
310
375
294
291
282
378
390
351
279
269
263
289
297
303
294
364
299
314
343
387
291
352
315
299
263
417
317
311
281
355
364
250
324
340
323
387
304
241
346
304
292
330
292
294
271
371
279
334
320
272
332
376
319
346
385
310
310
358
350
418
397
340
359
429
321
313
385
342
339
361
439
268
344
307
343
286
320
357
316
289
370
388
320
361
312
272
296
404
400
348
346
321
297
282
382
330
323
271
288
301
262
294
367
314
307
358
318
327
294
305
353
318
346
215
293
320
271
327
306
351
342
273
275
273
312
311
307
269
331
343
320
320
322
308
346
328
286
303
350
395
326
239
261
285
336
282
306
311
223
329
216
331
364
305
310
292
260
334
370
339
303
285
318
332
390
248
290
297
320
386
417
246
302
298
330
262
346
273
283
271
268
263
288
261
276
333
276
302
295
289
271
331
269
306
370
357
307
313
318
355
308
328
361
339
331
369
379
270
340
395
364
316
260
306
334
218
321
335
313
378
301
301
334
370
328
359
269
301
294
261
253
279
271
291
302
287
265
371
356
282
310
227
347
373
329
307
341
287
232
352
295
365
426
309
242
385
317
374
340
300
294
392
358
373
380
348
328
325
340
326
335
334
405
332
293
320
309
306
326
395
341
329
246
282
325
338
259
278
309
384
477
297
367
275
342
328
307
315
298
331
421
300
256
337
308
346
286
335
239
329
350
257
335
279
285
407
324
246
312
286
327
193
289
333
281
345
268
313
328
291
302
324
223
300
282
312
335
303
320
322
338
378
341
352
252
290
268
333
352
352
320
239
373
339
334
375
332
291
340
252
307
285
332
329
328
328
241
401
353
360
338
298
281
286
325
275
301
313
383
337
210
343
286
291
365
295
373
320
354
344
316
328
300
260
312
283
283
325
298
301
344
339
301
369
328
421
304
388
288
268
288
354
333
340
409
405
268
326
279
320
309
345
298
233
270
318
351
341
338
322
331
281
239
287
358
224
226
395
258
362
316
345
357
288
346
283
345
366
328
288
325
255
308
306
363
329
265
288
257
306
279
265
341
392
318
214
321
398
367
294
284
384
338
314
335
294
340
354
319
383
343
278
270
336
286
300
309
315
298
279
261
282
366
331
424
375
341
310
412
341
323
359
389
309
216
313
379
257
295
287
273
284
321
299
248
330
321
246
369
340
399
254
303
339
319
294
287
344
342
337
243
281
257
220
274
314
244
293
198
332
306
419
303
323
336
327
262
308
228
337
213
311
321
292
326
300
357
244
304
386
290
311
364
339
353
301
282
284
316
338
382
282
337
347
285
301
348
339
281
316
306
334
347
351
259
263
342
243
407
274
383
302
333
273
321
292
315
299
239
306
281
292
317
326
319
299
358
220
379
351
364
289
284
364
308
231
282
297
367
253
310
306
340
305
337
278
309
372
363
212
295
299
275
327
352
266
321
351
264
339
396
299
363
373
335
319
345
306
372
363
253
276
340
317
355
330
382
327
192
304
341
385
339
349
403
285
316
263
242
237
374
340
255
326
265
318
265
361
384
322
402
289
367
310
379
340
301
324
306
308
376
304
334
297
320
289
359
361
218
375
293
310
292
279
361
315
319
321
281
260
270
357
269
211
294
385
303
340
371
345
330
321
315
301
204
311
264
261
358
322
313
328
277
319
271
394
358
369
283
401
369
395
352
339
359
222
328
368
301
320
298
290
350
327
294
340
266
364
341
350
373
375
302
330
311
304
278
344
322
224
293
327
283
267
320
291
326
310
366
297
337
376
299
360
297
392
298
328
258
383
315
353
306
313
326
328
272
267
287
275
343
359
369
358
439
247
351
334
316
315
312
239
233
342
304
313
357
311
306
314
317
236
323
337
297
353
271
278
344
346
284
236
287
423
321
270
336
359
341
373
304
398
239
359
299
303
288
230
293
358
315
345
301
327
333
219
340
402
376
293
333
409
339
309
355
255
256
352
307
350
281
318
278
332
358
329
311
371
283
313
320
243
345
339
258
403
357
305
308
315
340
292
343
269
292
279
317
344
223
379
350
410
334
292
302
310
310
321
297
333
303
314
320
295
337
220
312
272
268
325
386
288
223
358
338
335
377
352
418
406
368
308
287
289
336
324
295
275
382
333
374
328
377
294
271
272
381
391
333
345
341
365
257
399
291
250
254
329
257
337
358
380
239
321
338
290
291
211
341
327
359
303
282
268
318
232
301
372
354
352
314
280
303
349
349
252
253
368
381
346
357
343
367
329
338
293
373
309
394
307
299
373
326
345
359
307
370
316
335
390
346
285
368
324
300
280
267
350
293
384
300
343
277
351
384
414
354
356
208
303
235
309
382
241
367
343
289
266
381
309
374
313
409
268
303
319
324
337
307
367
278
306
355
279
304
365
349
328
335
387
328
288
337
233
305
323
362
429
372
308
329
414
352
330
415
302
282
267
272
349
308
303
269
319
285
275
229
200
346
350
349
286
284
302
267
344
309
267
314
321
348
313
242
281
359
347
384
340
349
268
362
263
334
331
355
334
308
350
263
295
348
314
324
268
289
360
297
216
284
341
347
342
281
369
348
354
309
288
301
431
343
346
346
284
341
317
265
324
281
254
362
234
257
325
319
365
328
322
323
283
329
314
325
409
167
328
290
315
282
266
263
335
308
315
315
350
337
374
290
368
276
266
365
326
335
269
273
357
287
300
320
302
329
309
343
316
284
343
333
273
343
309
325
294
350
258
237
322
331
394
349
233
346
335
360
286
288
328
300
315
218
238
323
328
276
247
282
423
294
281
315
290
266
204
342
283
325
327
313
328
307
269
217
341
268
345
308
306
281
273
349
331
311
284
243
394
337
317
269
354
288
377
336
269
367
277
325
216
256
380
353
299
303
321
288
294
240
231
303
360
307
390
312
448
349
314
270
297
263
336
390
269
298
373
334
270
238
209
269
247
213
254
270
311
370
297
258
306
254
282
374
298
312
220
353
330
354
325
302
321
254
291
312
347
279
328
367
273
371
344
278
311
313
316
271
283
293
283
288
245
398
301
278
365
411
329
308
297
348
363
339
342
339
304
268
346
364
321
412
377
265
308
260
329
344
291
255
348
390
317
294
273
316
334
368
325
292
381
300
308
329
321
286
324
373
338
284
351
335
277
351
288
279
348
330
373
326
264
314
362
421
289
315
279
282
291
235
284
318
309
280
261
330
321
313
345
333
283
218
322
294
235
303
281
317
308
324
279
371
286
324
229
317
322
338
295
357
259
246
297
331
290
276
334
322
303
358
248
264
343
360
353
339
328
252
382
309
297
314
334
234
340
327
301
339
407
288
273
335
337
387
296
289
327
327
349
353
291
431
262
365
254
241
340
307
295
259
325
322
256
351
352
355
333
310
357
284
252
345
268
339
299
261
331
263
282
272
303
411
336
285
284
330
347
233
384
268
285
311
265
369
425
300
259
361
320
256
351
371
277
314
357
303
311
358
312
409
331
274
321
359
245
303
325
275
272
303
313
367
366
245
247
399
283
286
349
296
294
335
223
282
341
359
270
283
295
295
315
367
359
415
361
353
351
320
244
374
306
328
298
216
319
331
204
330
188
337
272
366
329
323
385
295
258
284
327
348
310
346
382
301
326
259
282
298
320
324
237
359
337
345
357
283
365
353
284
275
319
322
345
361
231
348
348
305
420
312
341
317
371
282
275
329
296
338
342
284
324
383
307
315
236
312
322
335
331
318
390
324
307
370
314
296
346
332
390
261
377
314
369
375
322
309
321
274
369
296
367
259
276
241
326
311
329
318
332
321
319
323
357
388
320
298
260
362
396
351
249
278
352
340
337
293
374
294
357
259
397
300
295
287
377
266
370
318
319
319
305
291
327
352
242
363
354
379
259
247
326
236
282
351
392
334
261
301
311
336
315
284
315
300
306
249
276
281
272
246
385
314
335
328
336
286
330
250
400
288
341
295
263
324
357
376
353
344
330
314
314
236
361
256
251
264
323
220
317
311
318
273
348
353
297
342
401
292
313
211
354
319
326
363
284
337
321
358
268
366
300
389
340
307
341
313
344
347
333
284
336
324
257
378
313
212
280
380
286
354
331
281
243
338
342
323
323
344
356
292
288
322
360
275
408
362
302
304
370
259
303
261
350
283
350
293
258
309
354
231
346
382
398
243
309
309
261
338
376
320
341
354
336
398
297
291
320
356
328
289
403
313
224
342
286
339
291
323
306
323
290
293
343
288
325
344
347
398
315
382
271
281
295
248
360
339
315
323
341
336
296
324
288
343
276
345
261
359
316
297
222
325
317
273
299
364
267
329
345
276
323
341
318
276
312
346
336
337
391
343
350
205
290
312
308
323
350
277
390
336
355
298
289
317
279
340
304
254
310
315
369
370
235
321
365
298
285
269
362
298
290
361
225
292
325
390
337
287
312
301
354
386
372
266
270
326
265
320
298
403
326
264
337
255
387
354
283
380
351
348
323
257
302
299
282
291
293
280
369
319
322
399
338
354
391
304
298
317
310
343
255
372
337
281
267
204
344
351
315
268
320
337
271
345
316
264
336
358
362
270
328
292
364
295
291
295
336
365
335
339
305
326
344
306
230
264
312
334
294
329
287
334
306
291
319
324
263
312
336
264
343
209
315
307
328
262
326
350
330
247
290
269
388
294
282
369
297
419
294
333
263
319
312
338
384
394
345
345
367
321
275
297
375
345
370
295
399
245
387
318
336
290
353
264
242
281
292
333
312
285
389
325
361
290
369
302
275
292
429
285
389
325
276
249
299
327
245
287
356
299
273
327
318
281
321
343
328
314
359
321
326
242
398
269
361
285
330
298
334
269
313
380
314
290
286
346
250
296
365
316
308
348
326
371
377
316
315
375
301
349
268
270
296
380
331
322
337
364
342
335
409
270
378
282
225
349
271
281
378
312
273
362
288
313
235
313
320
311
335
314
307
397
265
323
367
289
292
305
314
388
268
351
373
343
243
368
367
335
339
378
263
383
353
277
338
328
275
351
283
308
248
321
300
327
359
306
278
257
223
351
352
284
288
356
286
310
225
295
319
326
337
266
261
381
329
268
324
322
310
317
405
371
262
345
336
321
266
292
343
349
363
340
278
269
402
311
317
426
193
363
366
293
281
318
314
272
273
302
295
356
366
190
263
325
244
319
331
356
306
343
324
306
300
302
269
373
391
291
291
317
250
227
274
350
363
289
397
333
343
320
264
310
386
313
372
368
381
267
300
303
370
304
293
195
346
311
317
303
393
374
320
305
294
319
352
348
276
323
280
343
282
266
326
341
358
281
326
328
276
192
329
340
300
334
284
340
310
312
393
253
380
359
344
289
284
302
213
274
349
377
289
389
296
316
301
351
293
368
304
315
372
400
357
365
340
307
313
316
315
365
241
311
319
307
332
339
276
271
344
348
274
292
255
345
327
305
345
318
288
225
305
322
336
298
379
236
313
299
300
237
236
307
314
256
286
361
314
369
286
292
295
304
312
309
403
346
319
336
222
298
390
304
275
309
278
368
364
313
260
255
237
307
316
323
328
323
354
231
361
229
321
339
290
261
346
379
310
294
290
412
316
309
333
277
311
310
264
288
331
360
329
240
333
268
304
345
313
226
311
301
271
330
317
295
396
324
251
235
246
361
323
355
326
326
330
292
290
323
376
315
269
365
307
329
226
287
249
330
393
327
291
284
295
329
253
208
327
353
375
319
277
348
326
269
343
361
221
345
340
371
363
297
370
385
332
298
351
306
355
314
292
279
318
363
339
280
419
294
250
242
315
318
370
328
380
348
337
302
415
308
435
349
266
352
358
306
290
247
328
291
384
333
278
349
290
265
318
285
327
309
275
273
338
291
427
339
368
352
399
333
291
352
216
329
355
254
361
329
369
290
182
333
261
312
299
281
279
312
279
359
347
332
371
337
348
326
427
262
287
245
313
322
231
319
371
350
287
343
284
280
357
290
364
314
299
304
286
298
277
208
397
306
354
317
311
285
301
356
273
319
317
260
322
309
382
269
343
245
294
274
352
337
328
212
278
380
306
225
287
277
326
336
356
294
399
263
294
294
227
317
299
320
289
309
414
279
294
358
349
288
417
275
290
231
362
320
341
298
391
218
338
330
263
345
260
376
285
293
339
283
268
367
311
311
189
303
294
294
335
356
321
275
314
354
285
399
314
266
306
312
331
351
370
403
259
263
339
377
397
285
340
262
339
338
356
353
304
351
358
362
337
283
298
326
258
318
316
355
261
338
300
262
287
252
221
300
266
296
357
366
373
277
323
278
281
411
337
347
357
236
295
312
284
214
414
416
273
306
305
287
392
291
305
324
354
287
330
279
394
261
348
209
318
319
266
278
322
227
327
307
316
337
346
305
324
315
275
245
302
392
339
274
343
326
315
398
279
397
372
295
378
349
383
339
254
363
323
275
262
332
269
302
378
220
311
281
356
286
326
328
297
244
363
358
293
265
383
126
264
342
290
293
288
258
313
333
387
318
302
231
362
239
296
270
350
387
398
339
308
349
346
241
399
316
311
319
342
294
294
285
351
242
274
243
340
322
282
300
379
341
258
307
353
344
293
350
267
301
368
297
396
356
254
329
387
357
319
289
331
268
298
292
272
270
325
301
279
318
209
389
312
311
302
325
324
330
261
242
299
300
336
285
316
321
292
322
381
303
385
330
328
267
333
309
310
338
289
329
188
337
300
269
290
289
344
312
281
267
304
303
302
395
312
422
239
360
334
307
329
293
370
358
372
338
335
319
267
362
309
298
348
305
255
281
294
310
259
313
366
388
355
346
334
382
322
368
216
287
238
294
270
275
283
317
304
314
330
268
275
375
326
368
332
275
354
272
284
327
360
321
315
282
338
304
277
401
324
266
323
267
244
349
261
342
332
311
274
304
312
294
302
407
325
344
381
362
301
298
352
270
253
275
371
344
296
256
285
337
266
266
300
366
274
308
298
313
370
302
308
266
400
303
275
315
325
314
348
394
272
283
299
391
354
267
362
293
290
331
330
348
357
265
294
264
319
352
282
283
356
326
275
309
360
360
339
295
293
243
349
327
209
248
352
331
276
285
348
327
367
335
352
282
349
366
274
204
358
319
333
342
321
360
326
295
235
307
292
283
406
286
373
263
259
291
273
241
282
290
302
340
380
365
312
313
234
258
207
261
217
311
261
329
273
319
279
290
282
348
390
289
346
357
341
334
276
333
316
245
380
229
312
327
346
364
249
331
285
311
310
359
363
243
338
297
363
366
340
319
338
350
353
303
252
326
393
363
277
287
333
322
324
288
294
279
338
397
345
276
324
330
253
280
315
343
264
386
321
311
224
361
282
320
316
328
340
307
350
303
322
365
245
200
355
276
363
216
215
376
301
384
302
390
333
397
315
315
340
251
360
363
409
327
348
274
246
357
289
421
235
246
366
338
339
294
238
324
325
255
357
393
247
342
378
296
347
371
416
269
346
321
327
358
297
359
345
327
298
391
333
341
332
266
345
358
284
339
220
369
283
302
317
283
255
348
344
338
265
347
400
357
331
337
306
332
325
368
267
271
327
402
339
267
311
319
294
365
260
341
377
263
341
287
309
273
339
344
272
304
366
319
309
307
384
349
381
288
339
274
324
353
300
303
362
292
374
238
280
341
315
310
303
308
296
339
349
396
368
415
267
343
260
283
322
251
336
324
321
339
331
347
357
234
290
335
374
305
312
316
406
364
322
252
282
328
346
327
216
299
300
332
264
299
289
342
305
270
284
397
336
288
279
260
285
357
318
348
322
291
320
303
377
284
367
348
315
387
339
268
287
374
309
321
361
346
328
287
327
269
296
318
338
364
191
277
301
274
278
325
392
322
296
283
317
386
291
284
341
331
352
330
317
333
271
334
317
258
256
281
367
336
366
316
319
289
336
301
325
297
240
346
341
307
345
299
304
327
369
290
338
321
331
319
297
269
227
361
247
285
273
280
321
341
235
288
306
305
315
332
275
381
290
323
266
295
325
335
333
394
313
309
280
282
325
324
419
310
303
290
268
231
292
261
381
272
336
305
287
282
307
268
369
375
343
387
315
323
383
251
344
287
327
299
292
293
305
289
386
334
367
285
288
339
309
310
303
316
394
246
315
247
295
376
364
283
263
290
253
351
365
300
346
344
329
232
254
305
288
292
353
299
290
363
343
384
315
347
322
287
361
397
265
267
240
293
321
324
247
359
284
338
255
212
259
414
286
286
361
385
365
193
397
367
292
367
335
289
270
358
267
328
247
284
355
333
350
301
408
402
345
366
275
250
242
337
302
373
341
289
387
364
332
287
356
321
345
354
308
271
374
314
435
278
367
335
322
361
272
274
284
307
327
316
325
280
292
232
298
327
370
305
382
315
360
305
385
298
281
241
324
335
307
331
312
342
314
370
319
269
340
367
307
380
399
286
266
344
272
256
277
325
298
322
277
337
288
253
293
371
323
338
291
307
359
319
244
311
340
329
306
354
286
356
295
292
381
349
316
424
310
249
385
253
291
385
269
331
268
371
336
266
295
323
324
256
359
277
331
289
351
362
347
358
322
284
289
384
354
302
240
349
256
339
242
401
369
387
318
318
388
341
382
358
451
334
339
278
364
281
370
321
326
379
334
351
322
270
349
330
243
290
266
224
343
317
423
311
342
342
321
361
373
301
319
372
294
327
320
410
345
242
254
320
363
346
354
358
298
266
312
284
337
365
334
298
372
298
336
314
266
314
296
289
328
303
329
379
360
338
198
308
309
236
338
336
373
238
316
311
273
373
321
352
342
335
314
209
340
321
324
327
348
319
323
326
347
238
343
302
294
271
353
307
355
314
303
330
290
159
307
275
368
252
360
282
306
329
233
328
274
295
335
302
309
330
299
220
354
354
291
371
340
368
175
370
274
276
258
348
325
360
352
343
245
274
229
362
336
298
254
306
286
309
300
342
356
313
237
306
377
311
321
332
336
280
290
380
349
319
317
348
304
354
307
334
347
262
298
286
337
365
225
282
281
210
348
359
381
262
254
310
382
270
305
196
304
325
282
307
250
417
324
309
369
297
386
325
219
303
366
329
314
349
316
311
278
262
266
361
377
334
351
296
319
314
342
254
304
316
307
363
229
292
282
328
348
279
331
333
357
314
342
313
267
311
358
344
327
344
288
275
343
282
217
346
246
375
315
279
307
434
325
328
295
359
344
310
298
253
319
337
277
357
272
274
320
228
276
314
283
305
324
272
333
302
355
346
373
318
342
288
291
302
220
314
265
324
378
346
338
320
286
293
339
273
338
328
264
253
276
273
345
293
280
345
342
324
346
353
366
262
335
300
252
304
333
286
378
358
235
327
270
359
296
301
289
307
319
341
245
281
324
388
346
293
284
307
266
288
305
365
323
285
395
335
303
268
305
277
323
307
308
327
287
315
277
339
327
348
308
323
366
322
400
401
357
400
353
389
364
354
269
312
130
253
344
424
357
275
317
274
271
371
340
353
272
244
198
320
239
254
281
322
272
259
298
274
286
241
388
325
305
334
365
315
356
276
330
354
248
293
364
285
301
321
317
315
373
357
334
285
350
307
326
278
389
346
372
285
345
278
365
290
328
351
328
311
302
286
353
291
412
336
252
269
310
256
382
247
355
326
234
332
356
273
341
306
372
296
298
297
373
369
271
317
291
296
310
317
372
261
284
261
388
346
351
336
313
357
301
338
301
366
314
317
328
262
231
303
300
290
349
263
389
310
312
262
266
280
322
324
378
298
273
351
334
277
364
290
311
360
330
224
273
279
388
250
369
310
379
333
295
284
335
341
218
331
386
219
233
294
269
249
270
301
363
275
342
395
309
360
323
299
256
392
323
364
314
311
340
334
344
350
362
395
303
329
364
383
285
288
337
306
287
362
397
227
317
345
334
338
383
291
275
379
331
315
264
344
326
333
326
297
294
359
403
331
415
285
287
344
377
210
252
298
327
331
364
308
349
231
292
368
307
304
284
351
246
388
307
327
329
372
293
295
284
330
339
299
329
297
370
265
325
308
338
433
245
329
375
371
289
331
410
340
274
306
249
284
268
326
245
341
298
207
208
324
399
303
294
306
267
367
342
312
237
386
315
330
397
314
295
356
291
305
365
377
404
278
272
324
343
399
258
300
280
277
294
295
276
255
332
302
323
396
350
344
293
322
286
375
300
306
305
319
338
287
361
307
262
443
278
302
339
287
269
296
305
368
352
299
283
292
369
218
405
260
325
304
314
316
364
263
314
383
368
307
280
200
265
367
328
363
371
340
343
367
259
358
316
235
325
325
274
319
430
305
315
340
284
239
252
314
306
284
363
349
260
301
389
335
302
274
298
335
291
260
281
354
369
342
351
306
248
359
337
334
373
373
316
403
307
335
398
419
361
290
368
355
281
360
321
288
352
407
333
270
331
335
351
317
299
242
365
242
343
343
346
237
333
253
299
345
328
353
280
356
277
276
303
348
341
307
341
278
254
145
213
291
274
267
352
367
290
327
356
311
302
294
302
229
255
238
275
370
363
369
300
251
334
319
330
271
324
255
244
350
319
259
289
240
353
370
333
310
323
302
321
298
363
307
372
268
264
374
291
240
347
312
358
347
256
260
292
304
306
316
447
315
291
284
295
301
318
296
319
249
286
289
319
360
320
283
356
325
348
309
332
291
330
307
310
335
293
331
313
294
351
334
287
316
325
296
246
326
340
286
253
301
293
307
360
347
345
359
270
225
298
364
312
316
277
344
307
298
305
370
264
315
383
314
221
325
252
312
339
245
284
394
282
290
391
287
336
324
416
286
351
340
275
381
301
351
277
367
314
283
294
263
320
304
391
315
298
343
295
367
348
318
281
280
344
300
327
348
243
332
348
356
311
354
307
364
302
348
279
220
358
350
349
279
364
325
395
351
295
315
337
382
258
282
314
244
335
244
263
311
334
307
290
308
259
344
302
333
350
290
304
236
266
332
342
342
261
354
293
247
368
353
322
346
339
329
274
284
325
309
292
381
312
309
320
386
310
405
385
312
254
309
401
390
347
316
324
332
312
332
213
364
304
306
361
322
340
194
315
321
226
291
309
366
358
346
363
378
335
320
282
224
380
356
358
316
334
235
353
281
344
346
317
291
328
331
320
376
276
301
285
245
375
354
318
384
293
282
326
379
289
384
360
338
253
300
395
320
295
326
338
351
302
351
342
318
289
297
321
251
292
316
363
293
338
336
257
331
236
280
352
323
293
357
308
341
354
302
313
351
323
369
330
381
342
301
286
251
305
297
315
285
293
308
371
316
303
279
350
344
360
273
294
279
355
313
238
341
266
270
248
284
284
325
316
271
263
328
269
344
268
355
385
329
293
321
329
258
243
347
323
317
327
242
309
293
328
337
345
358
259
289
300
316
360
305
343
310
327
310
329
314
351
248
242
333
338
308
271
387
308
321
306
300
284
329
240
242
340
320
318
312
327
392
375
316
302
338
263
299
380
297
273
283
287
293
310
341
300
288
382
411
450
315
241
326
303
346
356
369
325
257
304
314
332
361
253
309
263
300
337
311
314
389
326
402
350
377
364
322
280
294
296
350
242
186
273
317
276
289
326
369
299
294
275
261
388
291
332
335
297
356
306
314
322
287
344
344
378
280
338
366
180
335
305
266
332
264
316
260
292
347
381
386
342
314
362
272
389
279
323
397
291
271
284
338
351
302
298
331
273
313
297
388
392
343
322
250
343
358
361
300
284
352
286
254
336
321
292
347
282
359
259
284
404
308
309
313
325
326
342
349
323
277
374
353
241
331
358
325
280
306
310
354
306
287
290
324
297
379
295
276
368
261
323
374
265
323
331
286
237
240
288
287
310
266
360
319
383
294
308
342
269
320
364
329
308
333
320
336
289
256
312
264
370
289
368
258
289
292
249
254
307
243
288
295
342
306
294
359
409
353
232
244
288
351
349
313
346
267
259
367
365
261
326
351
405
269
329
288
254
367
243
235
222
340
373
348
343
248
366
259
333
389
368
342
367
378
295
277
353
248
365
290
282
351
352
343
302
327
325
342
381
315
264
240
210
337
306
275
324
314
369
358
380
278
348
302
350
324
284
245
263
299
394
327
313
337
274
341
345
364
402
272
294
276
242
287
304
331
279
314
409
258
288
367
273
301
350
311
218
336
375
254
293
216
313
387
367
307
381
352
261
298
253
290
392
342
279
312
317
349
197
389
350
314
302
293
326
361
379
332
340
270
271
309
331
349
323
223
228
328
219
255
319
296
345
268
313
369
276
364
226
290
300
317
284
314
331
277
378
269
309
294
312
252
320
266
342
320
325
315
288
262
298
346
335
280
285
353
261
350
311
275
271
316
338
261
362
335
322
308
344
292
215
292
334
317
304
230
366
268
335
312
312
278
337
317
295
332
309
361
375
345
217
352
374
352
329
287
291
378
333
288
328
270
325
301
393
253
316
238
402
297
331
346
285
210
260
343
292
302
322
333
324
421
324
279
335
312
350
377
323
307
343
304
325
289
347
293
321
292
265
359
245
289
296
354
313
342
350
332
320
385
286
351
271
248
365
404
340
283
287
394
293
407
371
309
332
346
263
250
301
380
265
320
304
372
276
293
350
331
244
355
350
372
278
281
291
289
314
314
278
409
265
420
291
359
305
340
281
389
337
324
271
331
376
260
269
364
264
304
333
309
332
352
313
298
338
348
301
285
329
312
321
319
326
362
350
304
302
284
358
331
231
213
347
260
286
281
338
311
248
298
350
253
269
391
315
330
316
317
315
309
326
298
322
325
384
274
400
324
268
342
412
371
328
315
313
362
332
303
325
336
390
258
297
347
321
229
285
340
261
348
335
286
362
375
331
318
360
302
375
270
293
329
223
292
370
378
348
311
312
291
384
320
316
396
324
330
332
367
350
372
236
278
266
312
381
261
341
321
294
303
305
230
207
276
332
255
339
363
279
295
383
338
313
275
317
317
372
351
281
314
361
361
365
344
268
375
313
309
314
267
318
340
259
315
339
383
303
268
293
289
196
264
242
280
341
234
318
311
298
245
219
293
307
302
267
277
253
303
251
342
308
309
355
350
295
363
279
329
374
315
372
277
397
340
327
332
314
284
317
311
326
308
230
310
245
309
299
309
300
312
271
285
350
365
278
356
382
372
366
329
269
365
249
273
299
336
254
401
237
365
385
358
331
306
280
363
351
306
286
331
302
312
337
301
271
276
296
341
323
293
319
349
337
391
353
254
333
375
346
294
306
282
329
296
285
319
353
287
342
207
358
312
395
294
249
303
335
333
284
320
314
293
318
240
351
357
262
318
215
334
350
336
321
275
440
339
352
286
299
272
311
333
276
319
311
315
209
344
279
356
310
301
317
303
325
324
294
311
300
323
351
206
359
283
283
235
310
376
350
308
244
340
256
231
293
353
274
352
349
363
310
312
279
346
403
343
352
342
273
323
287
306
325
311
293
323
252
322
267
291
381
282
262
371
393
346
323
281
332
368
345
207
321
314
353
234
243
271
283
302
305
370
307
323
271
377
302
317
260
338
282
303
261
350
295
406
306
223
351
265
226
319
343
307
319
255
298
310
343
344
281
286
310
330
350
297
334
241
364
280
362
305
397
251
285
314
348
343
222
373
370
278
346
295
323
235
332
307
392
276
313
370
285
323
321
360
367
278
353
305
329
218
352
333
353
325
287
304
322
304
301
275
292
385
260
367
312
268
337
319
316
283
310
328
270
285
260
413
305
310
263
307
268
341
335
325
269
345
301
314
367
362
175
273
257
258
329
406
258
363
232
303
290
315
313
374
227
319
285
300
231
295
294
292
294
385
277
273
356
286
379
331
411
302
276
333
312
323
378
307
348
350
378
310
322
327
266
279
331
280
335
318
298
377
313
310
300
362
398
312
340
169
262
288
317
288
331
346
363
371
283
391
353
292
357
332
279
306
227
394
305
354
386
325
369
286
312
277
392
353
303
371
325
338
297
361
335
285
349
273
271
306
365
209
344
364
311
266
269
396
234
399
237
386
329
355
294
329
345
234
342
308
282
356
223
297
324
293
336
354
367
293
322
353
311
334
261
328
331
317
317
361
301
303
269
410
293
214
319
299
247
265
327
226
298
283
385
257
236
357
272
381
378
288
312
291
308
348
343
251
307
277
409
252
337
342
364
320
285
392
332
335
391
295
281
283
253
331
258
309
326
368
285
377
315
353
392
344
249
326
315
293
176
286
277
259
272
340
301
298
337
279
359
303
337
352
329
312
303
231
286
298
342
362
279
318
302
297
350
271
310
321
356
316
219
338
300
236
290
311
336
318
315
353
313
281
315
273
315
345
295
302
331
324
292
374
308
263
305
345
341
344
364
317
366
268
235
342
283
260
321
268
304
372
404
303
335
336
337
371
387
378
266
293
393
295
303
345
335
275
313
254
387
186
294
267
310
336
297
293
338
304
341
351
378
294
393
321
379
308
291
343
386
276
245
366
323
356
286
381
264
270
305
336
273
274
322
307
363
329
225
296
359
235
299
248
219
346
341
374
276
360
349
274
327
290
342
282
243
248
303
312
341
426
326
297
280
225
264
277
305
293
437
260
324
323
325
347
340
239
259
193
326
343
375
239
331
282
330
364
357
309
289
309
329
260
274
360
307
297
287
321
284
374
330
312
271
222
207
381
299
362
362
226
290
362
377
282
293
299
372
275
336
265
319
266
320
296
399
363
298
303
246
303
359
427
328
354
319
391
259
335
355
329
290
389
340
314
358
347
347
277
368
301
322
362
265
319
345
335
300
357
356
355
302
318
260
270
275
329
353
323
373
259
358
341
280
332
385
301
216
321
330
299
241
316
337
174
313
330
297
304
258
324
391
273
361
262
312
291
375
359
328
285
304
304
330
293
281
349
263
416
221
369
357
411
284
338
331
359
309
256
272
301
270
336
261
255
334
335
293
271
357
268
269
283
404
314
348
329
268
313
230
335
259
365
277
287
346
286
397
346
306
339
368
283
399
278
310
326
359
396
275
252
322
295
366
294
283
283
281
332
197
311
346
306
341
278
292
328
278
292
288
279
327
386
345
302
262
321
285
377
376
250
303
316
290
249
292
300
339
325
278
288
313
309
291
303
341
242
305
369
325
296
318
230
260
368
351
279
285
290
283
366
273
299
252
417
282
349
360
321
346
346
396
218
381
398
363
373
369
354
377
335
310
335
297
291
328
348
326
333
353
257
338
302
304
291
335
319
396
301
259
363
304
350
310
338
332
255
372
307
308
314
375
303
319
312
353
321
321
323
207
323
228
293
314
322
318
310
297
283
367
378
249
369
328
311
302
362
305
382
309
264
349
335
355
307
302
276
260
354
282
338
386
329
324
385
251
315
329
244
274
290
330
382
322
294
339
251
285
281
285
345
298
334
349
329
293
336
403
315
346
317
366
309
309
344
291
334
261
278
344
303
259
337
309
371
340
338
348
363
332
302
280
299
296
229
318
353
296
285
311
369
324
361
335
320
260
313
259
366
253
354
245
252
254
332
352
314
359
366
362
247
363
335
382
303
264
357
330
273
250
283
285
311
338
225
305
246
300
245
380
280
344
252
338
285
336
299
332
333
338
417
311
280
305
237
306
232
247
319
340
370
239
355
359
305
288
354
330
281
348
323
320
358
355
264
296
290
258
314
303
270
357
320
335
426
336
283
292
326
317
368
296
348
218
331
207
383
329
355
295
307
258
315
355
265
378
303
341
305
311
325
348
381
333
407
327
348
336
310
360
322
345
348
332
257
379
304
314
352
278
297
304
306
244
352
292
279
336
325
341
323
305
365
299
358
291
400
289
361
346
333
359
321
321
362
316
290
338
296
316
315
298
317
296
350
328
308
279
383
359
372
363
252
308
252
258
297
339
329
339
401
334
280
358
275
372
320
364
298
317
305
303
268
356
322
338
324
189
249
255
346
213
367
344
356
357
274
235
335
333
316
313
322
331
293
267
297
316
310
350
336
348
309
336
243
405
370
350
320
286
273
324
304
293
327
328
238
348
310
245
362
299
286
367
317
283
270
348
296
434
327
379
324
359
330
366
345
403
319
278
304
372
351
289
286
382
287
343
313
366
387
254
257
317
283
378
278
393
258
264
309
287
422
282
290
364
336
263
318
428
343
314
343
362
341
348
279
282
326
278
271
316
303
403
381
328
371
332
383
338
268
320
274
271
272
346
367
345
249
251
329
292
366
364
331
267
251
331
290
329
334
209
347
422
362
284
301
281
280
285
316
299
268
331
303
291
243
302
323
232
320
348
359
355
346
334
252
293
372
281
328
247
292
305
332
265
306
268
358
330
281
252
281
264
366
338
240
329
306
236
282
366
336
310
373
290
295
365
287
236
373
350
306
257
318
283
269
300
350
306
260
401
279
412
383
339
306
346
329
303
378
365
266
317
447
319
321
313
326
322
277
360
291
335
314
317
309
324
325
329
347
332
322
365
348
394
311
287
366
356
238
292
241
320
343
278
282
320
304
375
261
329
275
326
290
271
354
298
329
298
244
316
291
252
334
287
295
251
252
353
336
303
332
291
297
382
250
322
300
321
291
369
269
339
260
302
280
342
309
374
308
259
227
338
300
220
237
354
296
342
238
356
382
297
296
382
318
322
317
274
348
277
348
323
253
380
290
246
365
346
353
294
294
265
317
328
213
337
294
280
289
329
258
399
326
314
282
340
296
258
386
322
343
287
265
346
312
336
258
221
262
338
390
321
316
309
363
326
276
304
311
410
423
271
300
335
351
354
324
310
331
339
298
304
412
367
323
299
349
261
398
287
252
385
345
345
295
303
331
393
355
299
283
363
284
396
287
378
265
291
258
355
271
277
325
400
307
287
358
344
242
351
326
297
426
313
407
311
377
295
326
275
322
316
239
366
225
296
335
316
287
333
377
226
375
281
264
322
316
277
321
395
322
358
250
365
296
302
390
317
397
331
390
354
299
280
296
264
354
325
288
325
228
233
229
377
251
323
350
359
211
283
335
349
262
344
267
298
355
274
302
305
249
374
359
343
345
379
423
202
321
319
281
261
337
372
284
357
317
304
338
324
231
405
362
340
230
294
335
336
289
328
350
292
407
316
431
319
375
301
237
231
322
320
381
335
350
327
227
348
267
362
305
314
409
293
320
329
343
368
357
322
376
316
279
310
315
320
241
423
221
392
273
376
353
249
240
321
306
278
280
270
286
274
287
316
345
308
367
317
298
359
279
370
323
287
321
360
350
360
297
278
288
345
367
268
360
291
240
253
312
326
306
355
294
425
346
389
267
275
327
364
337
299
350
253
273
327
280
312
297
373
342
278
230
269
354
340
300
317
322
294
260
269
328
339
427
360
378
303
322
319
330
303
280
242
286
230
278
245
402
253
275
372
307
367
278
224
379
369
414
353
322
326
253
234
295
390
287
251
330
274
308
333
286
298
329
248
330
352
316
266
331
284
340
294
274
360
334
372
324
229
312
252
320
246
358
348
358
230
283
329
306
311
354
368
326
348
314
227
321
282
395
351
256
349
330
247
339
386
286
394
292
331
338
348
271
350
336
383
268
337
415
296
374
339
356
293
369
297
369
240
308
262
269
290
286
336
356
361
302
336
314
188
358
295
321
308
387
232
341
312
379
331
343
319
313
311
324
236
350
353
337
247
332
411
256
421
318
268
285
277
307
398
311
308
358
360
243
307
292
294
337
303
187
277
308
289
311
330
327
257
296
318
289
346
316
294
346
300
333
326
406
325
408
230
311
407
326
380
339
328
215
270
325
283
304
316
279
326
297
279
329
408
321
264
338
270
238
302
293
377
216
237
313
290
230
281
352
352
242
303
371
289
323
262
412
303
351
344
378
242
326
335
302
298
275
315
350
317
398
259
303
290
300
316
374
403
349
319
291
261
317
318
309
316
287
357
359
257
323
248
261
323
293
324
269
351
301
399
314
328
386
284
300
294
403
323
286
347
306
235
454
337
331
292
338
298
292
296
349
320
352
363
279
246
312
270
298
293
297
334
272
290
340
274
333
321
308
328
224
265
319
255
336
293
240
334
276
229
324
336
296
314
257
357
249
310
286
342
286
197
306
304
343
303
334
314
293
293
333
274
383
259
252
358
336
431
297
236
387
281
303
336
251
340
339
252
350
288
288
345
344
272
346
287
332
338
350
297
282
365
367
324
231
300
319
293
276
276
283
325
340
347
308
329
256
361
325
297
331
285
360
373
300
303
362
370
293
362
356
264
281
320
290
331
328
246
288
321
247
344
335
235
269
279
364
208
364
292
228
314
334
320
370
298
366
329
277
299
346
333
337
266
350
250
325
284
285
297
282
298
264
326
355
407
252
317
287
343
315
394
263
277
269
332
340
343
342
324
373
325
314
330
328
342
253
299
289
299
343
303
368
334
254
324
257
353
306
338
351
336
316
418
278
272
311
361
308
380
288
302
408
371
339
316
309
320
243
245
352
338
367
343
380
355
329
338
249
291
320
385
266
300
303
355
345
285
288
311
269
366
287
343
311
304
290
356
291
316
295
324
325
322
316
330
281
364
303
373
336
357
260
446
283
353
350
344
366
347
297
318
262
302
352
322
311
306
295
236
402
274
315
307
390
346
281
415
290
337
340
345
275
207
350
317
372
308
374
382
377
335
285
240
278
347
352
322
318
292
372
398
250
338
419
324
380
333
237
333
274
278
266
314
308
270
298
330
213
310
315
332
361
307
341
244
334
265
288
323
293
283
357
296
324
390
323
327
243
322
270
291
332
286
290
357
354
388
351
348
349
377
243
278
318
236
267
327
287
281
250
294
262
324
298
341
272
237
295
332
365
314
303
330
280
306
345
295
281
379
317
321
261
318
296
328
315
270
281
321
355
335
328
281
405
319
315
313
333
298
363
343
279
312
330
363
330
241
312
215
241
327
313
367
285
324
363
322
300
297
264
335
279
252
259
280
294
274
368
375
216
326
310
273
360
296
373
261
310
332
302
196
259
339
328
301
228
336
266
279
245
263
264
323
346
347
313
340
280
276
371
256
408
360
333
306
339
334
274
286
276
391
242
220
312
319
295
348
304
361
282
367
295
306
316
207
225
286
291
278
303
376
264
346
340
322
253
328
353
284
311
256
267
349
334
214
375
269
326
346
311
308
205
357
368
243
319
329
469
338
310
312
354
287
333
329
331
336
314
299
286
339
239
241
305
299
345
294
376
352
241
302
321
246
300
244
354
295
286
318
352
323
264
360
297
300
308
289
287
338
243
370
294
384
265
339
235
364
351
272
310
263
271
369
318
334
286
290
313
335
297
355
298
300
352
206
349
221
341
329
341
353
324
282
343
262
279
377
273
381
347
326
260
296
357
218
298
331
436
226
329
283
348
363
283
376
400
298
299
335
236
332
322
306
316
341
257
264
259
307
354
306
366
315
339
286
317
302
325
396
310
249
341
307
317
446
271
365
315
356
334
328
266
302
231
324
288
300
379
399
325
303
245
292
272
293
349
321
160
281
330
334
424
359
308
303
332
280
325
371
240
385
329
379
316
314
279
365
296
435
331
353
265
368
294
326
283
285
284
213
299
223
252
299
360
254
243
331
220
329
312
377
286
302
290
304
352
237
377
419
228
353
351
277
211
304
346
317
312
361
247
355
271
343
281
330
355
400
287
331
358
292
400
274
367
248
369
435
257
280
359
322
333
380
339
265
313
347
254
378
269
368
273
359
330
320
396
354
284
334
328
354
344
395
355
305
288
214
365
260
349
352
312
306
327
369
234
323
303
260
362
357
382
295
356
329
248
262
324
251
300
377
350
340
327
403
328
281
278
346
283
384
197
233
246
336
322
384
328
368
204
254
343
305
340
277
303
383
357
306
306
321
304
309
325
257
322
328
385
288
275
423
307
351
280
338
318
235
289
233
281
378
261
311
318
223
366
341
336
294
281
337
319
356
345
265
303
294
310
400
331
340
176
270
344
294
269
347
290
387
329
246
263
345
333
335
393
350
296
289
320
309
364
290
365
317
366
341
348
386
379
309
268
428
320
260
357
338
342
265
338
340
353
344
315
337
302
367
337
403
300
279
265
339
330
277
315
415
362
343
354
348
339
289
263
296
307
231
239
378
261
279
254
297
244
280
343
258
353
385
367
349
317
237
267
404
259
358
273
381
336
278
339
324
319
306
378
285
313
376
297
342
299
348
280
318
289
348
348
331
357
387
293
346
224
279
289
312
253
340
414
330
238
309
305
277
266
335
223
325
341
386
286
315
272
274
303
382
379
370
298
411
274
319
365
312
320
339
366
366
359
418
371
320
298
350
249
377
396
326
331
283
365
356
265
292
226
347
327
251
316
427
288
338
223
353
337
308
258
349
395
282
243
309
350
367
405
343
252
310
323
300
419
319
323
353
268
351
354
310
301
290
337
296
352
280
365
311
353
333
255
283
294
307
253
358
308
355
364
262
347
315
265
395
361
282
241
337
318
317
299
355
314
260
260
297
267
324
350
324
333
384
362
327
334
321
328
284
320
275
207
302
276
323
286
328
412
322
304
291
331
228
339
291
274
351
379
345
283
378
362
277
326
322
314
320
274
237
280
338
251
262
275
353
301
235
387
361
336
313
252
281
248
401
273
336
310
342
296
342
355
287
321
359
293
341
389
281
265
283
334
368
322
303
311
314
304
354
369
354
404
397
308
244
354
281
298
366
292
305
297
375
362
292
314
335
339
372
270
411
348
345
354
302
329
265
346
377
297
335
445
317
326
309
292
311
338
340
351
337
362
363
296
407
316
327
324
319
302
338
319
350
266
394
238
358
302
287
255
308
346
268
400
247
363
250
379
309
310
350
306
277
314
301
309
311
278
306
338
306
260
314
311
333
267
305
367
301
414
326
345
309
308
291
330
284
267
241
293
272
325
316
311
255
251
371
315
345
411
343
419
258
315
236
353
347
374
264
375
325
331
278
352
380
274
297
326
281
290
348
257
266
322
360
322
271
361
286
250
332
384
246
387
336
318
288
260
245
302
317
350
350
336
297
250
342
368
261
292
306
262
290
288
249
228
407
354
332
238
353
314
208
304
276
290
275
312
328
367
387
317
272
306
285
316
243
256
379
330
359
324
353
211
326
345
354
276
350
263
271
295
326
281
280
292
376
341
305
334
264
295
243
343
341
272
283
246
340
296
367
324
355
279
325
300
321
336
342
301
280
336
282
292
309
371
313
320
334
239
315
354
371
369
303
366
293
344
353
304
331
234
357
324
322
240
271
285
368
348
294
302
312
369
288
312
255
319
323
334
231
253
342
290
428
338
291
292
240
282
368
317
322
447
319
264
326
257
353
296
270
363
338
314
275
316
349
310
329
337
267
344
321
306
333
332
327
264
389
209
330
285
356
341
328
275
309
359
245
309
293
223
321
335
373
236
385
312
347
362
323
248
319
383
237
356
280
341
354
343
219
365
281
293
342
296
356
362
362
347
216
449
266
351
335
329
292
254
353
337
326
372
270
350
234
319
317
348
340
369
337
341
247
348
226
375
295
285
309
273
308
298
297
280
356
382
268
298
398
272
270
266
321
313
310
328
357
347
335
363
366
201
305
334
360
253
361
360
365
271
275
286
282
370
302
302
236
330
356
346
300
310
387
272
286
326
410
380
334
350
277
380
327
241
403
287
331
316
263
336
345
327
283
309
336
307
348
282
319
391
326
313
312
293
315
326
349
359
212
248
266
375
324
356
343
280
272
310
389
277
357
324
260
355
350
261
312
260
327
268
238
255
301
246
336
348
272
292
293
293
293
284
296
393
383
356
319
316
303
329
362
337
287
393
258
311
272
291
280
350
364
306
261
283
308
299
371
350
320
293
279
348
309
347
242
319
325
354
313
311
237
206
305
299
375
339
391
329
216
341
282
261
264
282
297
291
307
240
258
285
380
355
305
292
365
360
281
302
351
335
324
272
320
293
286
326
350
305
330
294
341
309
296
250
245
297
277
225
242
296
294
314
367
341
373
323
338
314
441
313
258
344
344
331
332
357
287
321
281
379
313
339
319
303
299
252
322
227
377
288
237
387
316
348
235
276
291
274
314
336
296
356
373
303
340
235
327
291
326
284
344
241
293
270
359
355
207
359
265
381
312
337
329
352
288
289
264
308
325
365
310
304
336
348
325
384
257
293
355
238
275
345
378
310
313
369
320
325
309
356
304
307
299
262
358
287
359
271
344
374
319
385
401
352
337
312
323
307
286
352
255
328
307
305
249
340
275
267
339
321
325
326
311
365
298
293
245
287
348
361
291
395
319
391
249
266
338
276
263
340
305
332
315
246
285
303
306
279
374
270
294
338
267
211
335
329
332
343
213
312
294
220
274
269
385
265
322
247
309
312
271
271
245
280
284
213
275
295
339
356
310
394
326
375
275
375
251
313
374
219
363
324
361
229
301
294
387
327
327
221
279
361
346
315
291
315
345
257
358
322
324
318
342
294
292
353
349
312
343
283
263
316
298
312
361
317
353
301
322
352
321
306
333
278
334
316
249
321
273
351
330
346
328
272
282
383
326
388
303
299
244
280
314
377
316
324
371
301
355
231
222
346
313
397
328
280
326
320
306
297
321
396
305
204
330
317
308
334
268
300
326
331
336
235
329
307
335
378
308
346
323
386
346
297
264
330
332
340
271
386
367
339
272
332
369
227
358
319
332
303
370
307
294
353
374
263
348
335
273
325
310
354
294
269
323
327
334
358
234
376
314
269
283
335
327
307
278
282
340
327
254
322
345
340
358
335
388
326
291
377
306
344
349
348
322
362
256
302
328
274
333
281
306
240
273
319
316
321
243
367
334
338
320
292
296
253
339
313
307
325
241
341
257
279
381
232
332
312
335
359
277
314
223
390
326
300
263
404
245
313
321
265
352
297
298
348
334
228
294
249
328
379
306
252
384
262
313
354
391
298
282
313
279
233
337
330
372
396
330
347
291
378
330
355
354
265
360
343
245
272
360
266
318
304
284
261
309
392
338
346
314
332
345
261
210
407
342
294
322
346
304
286
282
245
215
351
291
320
314
392
350
374
272
277
305
330
283
349
306
357
430
339
293
381
353
376
300
259
229
286
380
283
267
315
308
322
240
306
273
307
403
311
281
333
261
248
291
399
284
311
301
345
261
279
318
367
336
316
321
307
313
394
419
294
330
293
383
301
303
268
289
297
312
312
289
341
289
303
337
244
345
295
300
258
310
263
355
234
312
304
392
341
356
356
352
259
353
258
334
338
344
303
364
359
226
309
314
330
286
379
326
337
311
259
314
299
288
251
232
357
264
324
326
291
340
372
383
337
310
299
320
305
287
298
254
233
424
364
298
230
264
363
352
374
257
412
340
266
343
363
328
303
369
287
325
327
407
308
332
269
363
312
266
242
334
328
381
291
301
320
309
357
305
261
327
351
315
356
328
375
348
340
310
430
351
233
360
352
297
250
346
311
211
337
220
307
333
246
323
341
318
297
273
340
263
375
315
330
257
318
340
260
405
309
411
251
221
334
265
339
386
351
361
273
209
442
336
341
265
320
326
270
358
340
323
319
289
356
309
340
284
293
320
245
315
289
290
321
357
218
349
420
312
330
350
410
356
214
317
272
351
239
348
295
303
354
292
301
304
326
321
356
349
358
277
305
198
330
374
330
324
295
353
332
281
342
254
378
291
267
316
301
317
284
312
299
276
243
296
413
269
307
379
322
352
344
283
264
286
340
292
281
383
353
337
308
288
313
325
321
282
309
313
326
236
277
318
365
307
311
300
289
396
247
303
385
313
285
371
378
330
290
386
413
350
306
249
286
349
325
260
333
363
265
247
277
339
238
322
396
343
265
318
280
298
340
319
358
389
324
335
296
282
270
343
329
267
298
349
313
355
255
264
369
333
368
337
264
328
312
330
287
377
338
346
339
347
267
251
401
290
260
261
256
356
364
278
327
397
209
332
362
322
284
316
340
214
336
275
270
291
362
370
316
298
273
262
256
251
254
251
370
279
284
295
360
320
344
367
320
382
293
305
302
355
322
387
355
370
341
268
359
342
405
273
324
288
350
278
254
275
333
259
372
348
332
321
372
240
324
297
303
311
283
286
339
275
271
384
284
319
399
358
378
343
323
281
296
381
290
355
293
348
279
267
258
331
253
334
344
282
268
241
312
300
253
293
378
234
300
233
254
309
305
435
336
324
230
398
302
369
387
285
282
381
329
362
377
329
248
292
330
348
378
232
334
331
376
328
344
251
265
281
222
337
334
456
238
346
237
299
268
367
335
305
293
270
239
374
338
281
244
291
297
332
313
252
357
358
295
235
340
357
234
265
425
347
304
265
359
285
397
261
309
368
309
321
254
262
335
357
314
335
330
373
284
336
274
274
303
258
210
286
259
295
343
285
391
376
348
288
297
165
342
292
319
343
307
337
339
360
320
304
435
352
359
371
288
321
272
354
322
297
288
393
251
353
355
326
291
345
387
278
348
332
377
335
312
341
315
336
255
296
360
342
416
317
338
305
335
277
309
295
368
297
358
387
298
376
276
204
346
413
372
280
313
228
204
316
384
296
390
315
275
364
282
307
272
220
362
316
325
382
298
328
358
377
325
209
297
318
312
275
370
311
289
212
271
258
315
335
375
279
417
341
305
243
308
307
315
362
330
299
292
302
329
262
264
307
332
345
296
374
262
345
357
288
332
340
255
354
341
318
373
294
358
336
389
311
242
235
341
325
302
235
292
387
356
318
225
371
329
299
335
360
272
273
330
302
315
362
351
295
354
306
291
338
394
311
394
237
338
286
206
285
366
357
342
388
265
331
286
412
237
368
380
251
301
381
310
343
365
216
328
327
315
312
301
387
273
304
298
370
378
334
284
328
307
399
372
277
418
276
307
325
296
336
263
320
274
286
334
357
335
307
275
334
356
344
272
305
277
298
282
330
296
305
319
393
322
291
332
324
393
321
262
367
300
287
366
396
312
334
315
281
299
383
340
266
275
299
324
340
339
303
346
304
325
261
273
306
381
243
256
327
327
306
323
243
326
286
359
331
254
342
343
293
346
338
387
287
335
283
309
300
283
310
315
265
354
319
349
301
350
288
362
313
327
307
273
284
382
330
342
338
302
260
332
373
289
345
347
335
346
266
236
263
255
274
355
265
307
285
361
287
320
332
321
258
391
302
302
289
406
264
374
300
314
261
280
239
310
293
194
334
280
400
250
319
338
358
324
364
293
324
323
277
314
335
338
368
308
318
283
368
386
352
304
265
338
378
273
240
305
368
320
293
363
202
288
285
278
314
347
300
368
348
335
327
347
264
294
318
294
322
406
392
299
326
308
335
273
330
287
287
273
253
277
303
349
188
396
253
292
276
236
426
377
331
282
308
290
316
368
308
314
269
376
354
347
301
330
355
300
250
336
317
223
269
358
288
350
303
287
343
397
294
391
286
370
318
319
323
284
215
329
309
377
205
284
345
255
300
264
279
323
270
262
325
316
257
255
314
294
296
250
259
373
360
288
283
296
306
359
307
340
290
296
360
363
313
299
338
265
300
305
327
257
384
381
294
333
291
318
275
355
298
385
397
318
298
299
319
337
348
309
394
201
236
267
390
213
322
277
354
220
332
401
314
291
368
329
357
348
294
308
336
301
289
303
391
407
351
329
379
285
370
305
312
362
272
311
297
325
210
276
362
252
295
335
318
244
282
327
336
364
291
376
367
333
338
287
291
407
243
368
319
363
332
336
341
315
284
422
270
427
315
366
303
342
303
351
314
309
253
363
313
342
267
341
277
325
214
279
324
282
300
348
349
333
306
298
255
384
340
329
285
372
336
341
330
383
358
251
320
315
288
245
340
372
374
365
321
328
359
316
297
258
278
362
326
304
293
311
296
291
290
326
327
221
325
294
366
269
335
347
360
352
319
353
346
352
361
292
329
276
347
333
395
314
393
301
290
405
320
316
248
365
331
259
350
356
285
408
231
451
413
353
362
312
381
309
316
329
346
370
364
251
368
371
347
324
339
339
344
311
338
257
348
306
402
356
254
382
358
299
247
371
306
290
299
331
287
285
314
367
355
314
306
322
341
393
265
326
307
346
384
342
363
294
317
302
251
351
281
286
241
299
316
378
278
306
342
336
317
290
277
344
311
391
177
360
362
284
332
265
361
313
290
298
311
308
226
269
328
367
330
267
306
334
305
380
313
297
375
389
309
321
333
288
296
322
300
342
293
370
224
197
294
295
336
310
291
298
313
318
358
330
304
293
298
355
268
310
285
257
249
300
280
353
369
294
293
277
244
297
334
310
278
318
365
261
292
273
319
393
243
301
292
326
311
382
323
238
341
321
313
265
359
283
305
304
338
292
394
331
274
290
328
363
258
267
341
310
289
279
252
361
298
312
339
294
383
323
287
290
318
365
363
254
189
223
251
357
361
266
342
323
320
327
283
265
252
361
314
321
313
291
318
305
297
341
214
248
282
326
298
328
350
308
293
286
334
330
296
389
349
310
338
367
289
367
386
247
252
238
288
243
349
343
266
276
367
357
325
297
315
299
315
335
289
275
293
359
283
310
289
224
273
336
359
261
368
336
348
238
293
286
346
206
344
291
263
274
387
367
306
350
256
340
325
329
356
338
289
385
315
270
368
327
346
284
286
388
249
315
244
263
311
283
342
319
318
327
370
298
268
270
268
377
231
291
324
353
305
373
328
307
373
310
351
376
210
328
359
341
271
308
284
276
245
341
341
335
341
303
298
302
294
336
271
281
228
325
311
299
300
356
401
365
328
338
307
307
309
308
325
313
266
320
291
307
304
355
333
351
347
325
287
314
376
242
337
326
272
323
312
334
299
242
351
256
366
359
368
222
250
317
331
274
324
249
223
318
335
348
345
296
298
363
165
297
318
361
216
315
295
185
360
356
348
350
320
325
288
255
328
294
326
234
271
303
337
216
264
368
228
293
350
293
299
281
325
336
333
333
349
281
356
287
371
351
339
333
399
365
307
317
332
299
273
348
372
353
329
345
284
323
319
236
371
303
356
318
368
385
273
224
323
308
324
344
292
337
283
348
268
336
373
286
289
388
302
321
363
255
278
327
246
318
293
345
362
307
384
202
339
280
252
355
338
293
201
307
290
370
293
299
356
325
313
316
272
324
305
322
323
344
292
278
255
307
286
346
279
315
283
405
313
303
399
263
361
406
324
317
272
382
301
273
276
352
273
237
385
332
269
327
320
320
286
315
283
309
374
404
321
382
336
240
348
315
330
342
395
350
329
272
318
353
330
342
324
282
327
353
321
368
341
338
361
308
355
294
237
282
231
394
259
414
282
257
270
294
356
330
350
359
256
246
295
310
318
261
356
325
315
292
317
288
307
363
308
323
279
364
279
273
258
258
303
278
268
238
328
357
255
303
257
399
259
281
278
266
259
319
331
377
275
391
315
311
389
314
293
344
386
367
287
290
330
314
392
294
320
325
379
351
305
363
270
329
323
291
311
282
310
333
275
389
341
303
267
234
259
350
273
251
304
317
337
371
314
368
254
272
297
365
366
261
236
249
322
245
327
287
296
360
325
393
332
353
293
336
327
399
307
312
371
343
234
390
288
241
315
258
330
286
327
238
386
361
372
216
303
359
302
333
358
299
222
262
329
275
356
346
327
277
329
251
366
261
389
327
255
334
411
292
364
359
297
282
363
371
199
332
297
264
358
284
380
383
288
283
333
266
354
331
257
332
240
336
276
322
275
392
278
398
301
337
392
336
323
298
216
315
387
282
390
341
241
301
240
345
361
281
218
327
307
310
256
364
342
310
239
411
258
332
280
235
316
387
317
282
369
327
180
259
396
302
353
224
276
313
253
242
336
298
304
339
340
272
330
339
350
290
311
373
365
246
328
301
302
321
282
254
302
419
353
379
302
335
331
272
312
348
273
327
357
380
397
293
310
237
365
301
280
306
320
356
330
265
339
326
268
233
329
358
321
299
281
318
333
308
351
263
285
355
290
335
314
299
316
288
267
293
396
337
246
298
279
294
394
311
302
375
364
361
249
324
328
248
299
293
309
285
356
358
327
336
275
329
341
363
308
308
370
315
344
320
393
304
241
334
231
339
294
285
284
276
206
328
382
325
346
347
338
290
371
273
380
250
414
291
315
312
292
355
303
277
348
262
277
296
287
302
357
296
277
294
315
338
305
354
316
335
361
392
341
380
356
303
275
360
348
216
273
351
245
277
318
278
419
334
345
280
418
250
339
374
226
356
340
321
307
280
298
291
395
312
292
325
373
305
308
421
328
366
274
273
242
365
231
227
311
290
306
314
294
326
319
340
432
307
243
285
302
253
377
266
349
299
359
332
385
354
289
307
382
345
242
253
364
384
318
300
319
326
375
252
320
350
295
297
326
358
254
372
308
360
343
294
334
412
315
337
371
351
233
319
372
249
344
343
313
349
289
331
356
291
288
306
254
424
287
274
316
307
223
429
348
292
337
235
253
273
274
306
355
315
337
359
260
341
372
270
302
255
279
375
273
328
396
313
344
280
220
336
327
330
275
292
327
280
367
340
313
394
363
225
342
282
245
306
267
358
373
379
264
319
355
363
341
379
284
353
288
344
312
313
420
299
237
331
335
330
317
338
235
340
268
234
378
303
304
309
208
272
276
227
271
231
277
325
248
284
375
332
273
302
267
191
288
308
272
269
279
197
233
363
328
294
366
404
356
297
358
255
329
280
281
321
406
289
374
332
273
372
263
324
257
350
375
294
271
270
326
237
272
289
264
269
267
339
336
245
316
290
324
347
310
288
310
355
367
323
275
330
406
333
239
341
314
365
286
343
349
236
276
280
257
314
297
397
309
403
359
329
260
234
310
386
288
354
374
262
327
320
306
285
250
309
312
304
247
305
314
343
334
350
275
297
330
340
264
287
314
297
325
366
327
304
345
280
360
383
297
346
354
290
208
240
311
207
294
311
326
350
233
373
317
329
258
288
241
354
381
270
285
403
361
326
307
270
298
340
316
321
331
368
324
327
354
347
250
296
269
268
320
296
287
324
384
364
403
380
343
314
282
285
286
312
278
284
305
334
361
368
298
426
343
188
278
353
281
340
351
208
346
269
353
274
308
338
337
206
362
262
349
333
307
218
258
327
374
263
325
301
305
337
277
318
299
332
393
344
321
313
401
279
297
301
244
271
339
242
342
265
408
345
306
384
276
299
344
328
295
341
262
330
346
368
341
282
294
314
280
333
385
338
293
369
319
331
286
273
307
278
362
303
310
344
216
352
360
328
369
345
295
309
334
347
278
280
324
261
399
247
320
205
266
221
317
322
358
311
278
345
324
340
302
363
317
257
283
253
275
331
267
284
328
295
253
324
336
311
314
308
395
378
318
349
295
252
291
303
243
445
222
249
293
251
376
262
334
261
330
240
370
291
250
304
342
258
327
380
290
308
256
350
345
373
295
314
371
298
360
387
254
297
307
325
229
365
266
385
397
302
324
324
390
329
282
355
313
268
322
376
269
318
286
381
266
313
361
316
256
271
332
359
335
260
383
325
302
292
245
325
335
349
300
349
477
347
340
261
340
283
369
299
320
370
370
347
289
310
303
345
325
313
327
331
273
329
371
244
361
334
329
296
267
352
380
343
299
254
433
294
266
261
240
303
368
280
384
344
244
389
284
336
347
265
272
333
294
316
329
399
217
283
259
334
335
261
309
361
359
290
312
309
320
232
317
301
391
379
380
315
290
297
263
260
257
330
316
321
255
340
338
217
287
332
369
313
361
396
356
266
298
358
274
286
425
347
314
286
266
283
283
265
271
344
327
298
314
284
237
194
323
368
227
298
276
365
216
340
319
378
350
260
336
321
357
262
333
284
347
235
353
305
247
316
249
284
322
249
410
373
333
320
266
335
379
314
386
373
362
326
299
289
252
381
310
369
315
344
297
215
287
311
274
302
268
305
392
257
355
409
330
323
322
364
369
364
395
301
338
342
372
380
348
285
357
361
309
357
347
322
326
241
329
317
351
329
312
297
324
259
248
390
365
300
353
283
301
286
344
294
397
334
256
314
335
391
327
258
272
353
306
303
262
261
264
290
246
342
283
273
271
243
377
321
288
235
369
266
361
328
359
370
257
317
308
285
330
311
312
293
359
321
362
290
344
236
279
302
305
359
358
233
304
347
322
345
307
293
330
335
347
332
329
262
335
377
320
286
248
299
366
284
336
286
240
301
304
411
324
315
309
274
315
240
350
354
321
250
376
288
318
286
243
393
336
283
338
308
275
343
224
351
322
228
271
319
355
312
319
334
309
245
313
267
371
248
364
282
214
326
289
378
281
355
297
298
323
297
241
262
250
405
288
320
358
290
354
296
334
255
297
283
365
348
379
362
330
363
265
374
369
299
277
335
291
277
251
365
313
260
282
391
321
268
361
302
282
314
278
285
276
341
234
260
358
312
297
302
344
311
313
337
337
347
344
374
261
354
347
309
301
359
271
365
366
380
286
313
327
351
357
253
221
364
307
258
371
248
264
294
254
291
327
346
384
303
299
349
246
325
309
305
258
319
266
385
304
348
325
339
319
302
327
298
361
205
261
272
311
422
287
288
308
341
363
342
397
332
309
349
289
328
328
310
277
326
437
421
342
278
313
357
348
284
248
299
348
314
373
329
268
334
240
341
385
266
318
353
306
256
356
335
344
312
344
380
247
354
352
360
361
242
255
304
346
396
308
371
275
248
310
199
320
319
342
336
333
286
350
372
352
353
228
366
429
283
311
260
245
273
339
312
354
258
315
356
332
334
331
251
346
348
335
272
336
325
351
298
352
243
231
324
263
276
227
332
304
402
258
376
289
312
372
316
362
354
413
386
268
267
342
396
314
371
237
409
268
306
378
316
249
298
274
292
244
347
279
302
354
383
254
352
362
352
336
331
314
291
296
321
333
337
312
322
349
264
284
329
348
313
395
298
252
334
272
297
375
403
396
301
307
307
352
308
390
334
299
262
343
345
344
255
304
408
353
278
370
267
337
272
227
315
363
293
347
408
210
260
328
356
256
307
310
304
272
278
198
244
314
334
429
337
258
260
339
320
280
231
269
244
240
354
268
326
394
389
216
313
240
296
312
288
387
219
309
344
333
355
389
256
376
308
254
344
290
336
304
315
311
384
326
309
298
294
270
291
311
330
233
336
327
310
272
311
408
387
335
351
278
304
422
246
332
271
286
272
319
382
311
385
328
271
348
310
342
312
350
323
297
271
331
315
283
333
306
255
231
294
291
370
427
244
326
347
308
247
309
271
269
322
344
343
284
307
269
356
270
338
299
337
280
315
269
320
380
327
294
339
337
340
296
335
339
313
312
295
308
302
339
371
300
307
331
310
260
360
313
321
273
296
305
346
342
324
326
249
323
252
173
335
274
415
328
324
345
232
263
344
366
359
354
380
289
286
345
287
298
318
228
278
357
269
360
355
300
265
357
314
338
278
244
282
353
328
315
419
308
286
349
380
315
324
332
375
322
398
240
402
294
288
352
393
308
311
336
310
278
278
336
308
341
310
318
354
312
238
379
285
346
395
322
286
294
281
347
326
369
322
250
304
379
385
365
369
382
231
325
286
339
242
288
327
370
351
303
279
206
344
329
298
412
227
343
340
310
357
328
366
327
323
305
279
357
288
313
337
359
332
279
352
198
332
249
323
370
341
300
354
360
343
261
292
290
305
344
315
335
314
279
282
268
314
352
315
373
270
365
366
331
354
253
403
301
303
311
321
350
322
309
259
307
299
342
324
358
334
317
365
357
250
274
340
408
363
378
324
356
300
351
313
288
284
322
235
230
331
334
341
243
268
330
307
386
402
301
280
341
331
278
326
312
388
275
295
368
346
317
317
310
379
275
310
248
268
385
261
315
371
407
275
315
282
382
345
315
288
307
320
401
304
279
390
294
350
333
357
245
382
310
405
319
286
262
349
286
322
310
368
260
283
284
280
311
333
329
278
269
271
292
275
335
372
258
376
342
282
333
336
333
311
373
357
342
311
287
351
373
276
376
299
303
328
391
279
342
300
279
323
360
266
359
332
258
286
312
274
363
347
313
327
256
303
277
304
252
334
370
280
346
407
310
295
328
340
325
327
374
305
323
342
301
328
400
280
324
302
364
282
351
324
334
386
302
267
285
348
257
346
390
298
382
353
336
245
309
316
255
247
346
396
357
306
253
253
287
271
320
335
381
276
318
377
370
330
252
345
262
271
313
242
274
237
333
347
320
350
335
343
287
336
345
288
339
252
360
307
386
308
314
318
330
375
288
292
384
316
324
336
345
290
365
300
354
285
333
308
259
312
314
340
366
267
263
389
317
358
318
337
311
283
260
348
345
348
353
316
357
288
300
372
378
299
246
275
352
364
373
376
288
309
301
311
340
347
310
299
287
254
314
256
345
298
260
358
308
316
319
265
318
372
332
349
340
285
318
312
276
314
344
300
299
351
324
342
335
358
301
289
314
332
315
290
214
350
287
365
301
347
344
261
359
335
365
353
367
286
281
245
265
362
261
308
291
286
329
354
411
390
365
222
319
336
368
173
302
365
330
312
308
287
315
318
286
329
329
327
343
275
352
278
300
325
293
319
307
204
243
281
312
288
335
357
314
303
279
265
329
384
381
307
342
338
371
321
290
314
257
287
298
311
270
334
377
283
284
286
314
273
336
341
356
369
317
280
349
366
300
310
307
345
290
324
307
258
290
279
370
259
270
386
323
337
259
328
313
358
375
275
388
359
351
229
330
356
351
282
314
346
313
269
306
326
333
358
348
300
298
327
284
310
298
263
323
341
316
220
344
397
399
246
347
346
270
346
363
324
288
388
307
268
331
269
313
277
263
333
352
316
312
364
271
259
296
265
366
291
324
339
250
277
364
402
304
235
303
270
275
343
226
288
299
308
355
379
361
299
350
303
351
384
311
333
341
362
306
336
355
297
262
352
274
346
308
276
393
310
327
284
300
307
309
257
325
240
272
281
331
363
257
255
412
305
319
263
311
280
325
325
298
297
352
251
356
322
263
272
327
273
344
338
382
198
282
340
354
289
259
304
237
343
362
312
341
297
252
278
330
336
312
355
343
309
242
379
429
321
306
353
207
360
335
204
354
288
321
315
248
351
304
248
398
305
272
292
331
287
265
338
336
308
268
305
336
285
344
343
319
207
366
326
309
264
291
262
334
299
288
354
362
286
368
356
355
383
293
216
325
341
312
272
337
266
305
377
287
355
298
262
354
279
352
368
351
266
355
237
366
336
403
342
379
402
294
366
372
275
373
315
300
339
262
337
280
343
230
335
256
282
258
283
338
364
349
339
242
330
344
324
236
260
219
299
346
356
304
287
262
302
262
250
313
277
292
307
306
244
294
343
313
282
315
338
386
340
220
267
329
366
287
367
265
349
347
326
340
306
380
300
292
216
354
374
393
354
297
389
344
305
330
282
361
195
343
279
308
341
384
332
292
300
339
399
292
334
338
333
357
271
226
383
333
343
314
267
304
347
318
384
311
342
325
384
372
366
334
312
325
298
296
351
348
313
336
306
292
338
277
369
296
325
275
323
346
312
269
329
364
277
326
338
285
323
291
328
376
251
255
271
346
285
358
282
286
307
289
304
310
240
252
411
334
361
333
256
272
323
258
286
310
300
367
263
289
395
308
312
246
333
255
231
325
353
309
311
370
424
291
341
363
349
323
355
289
282
342
346
308
245
327
383
353
350
241
292
284
296
342
346
326
324
375
185
319
252
316
293
214
309
307
330
253
274
359
310
303
303
366
352
242
343
310
421
366
354
318
348
288
323
246
308
258
327
295
296
321
346
285
276
310
277
262
298
286
239
392
343
373
318
307
371
373
349
315
374
290
410
300
336
371
380
316
374
395
280
385
292
352
324
313
245
266
340
290
332
333
291
264
305
343
329
364
322
333
290
345
324
329
332
314
218
302
302
257
304
283
367
355
323
371
269
321
318
329
354
290
336
308
321
299
333
221
343
294
287
298
283
274
309
326
345
304
251
355
387
351
292
286
261
309
284
274
343
340
288
353
312
294
328
277
285
212
292
116
348
289
301
351
364
364
307
370
381
401
290
223
237
391
366
314
394
293
337
365
263
253
265
266
250
357
329
264
285
372
342
262
354
273
318
268
325
172
357
334
312
346
320
236
254
303
290
339
333
280
298
322
326
335
304
318
359
343
305
340
297
343
358
242
272
261
340
410
305
289
299
298
285
253
361
379
302
334
319
295
374
389
286
349
339
228
212
285
331
323
303
299
322
344
351
359
355
308
356
348
297
268
409
276
284
301
370
270
363
265
316
258
275
325
271
394
306
266
307
366
410
270
374
368
385
399
247
323
341
293
333
302
243
353
289
312
341
274
363
316
350
269
342
328
418
293
225
341
335
247
317
344
327
359
299
296
335
367
321
283
277
305
337
272
363
300
303
255
307
320
318
294
265
357
343
405
309
379
314
313
344
293
308
344
392
235
273
208
352
373
273
383
346
389
275
291
384
367
341
335
297
275
216
321
312
370
335
304
303
297
316
330
387
321
324
224
311
394
366
290
341
290
372
321
346
219
352
199
319
302
238
320
354
320
363
302
286
298
267
323
283
352
321
337
341
333
431
342
308
309
327
312
305
341
264
285
271
315
295
301
308
334
304
275
303
331
344
277
305
276
246
303
317
313
308
360
263
326
300
328
371
315
370
317
390
323
336
317
324
310
275
269
323
361
338
230
296
283
305
311
252
294
393
295
336
357
344
380
394
352
349
308
376
269
347
303
356
326
242
340
320
343
257
237
315
180
327
309
350
397
316
353
317
302
392
341
364
343
285
391
336
319
354
279
372
317
314
352
308
323
259
289
348
316
342
268
336
257
308
283
374
338
279
315
192
335
381
344
351
348
359
260
277
337
302
347
282
312
366
246
406
308
317
282
319
263
397
327
327
332
284
243
406
294
389
376
297
291
278
274
309
343
290
215
383
309
337
337
352
301
300
276
296
297
315
298
324
321
401
312
355
256
341
253
269
352
383
214
323
350
309
367
252
253
203
368
315
282
287
340
318
223
303
251
270
303
313
351
303
334
300
383
319
335
244
273
309
332
343
266
298
226
340
285
280
334
401
261
384
417
341
328
341
293
353
323
362
311
393
359
325
269
403
403
300
241
268
325
305
269
403
291
323
337
328
293
328
288
296
314
313
334
228
388
297
370
231
298
328
379
359
375
266
381
289
347
393
274
329
238
367
266
341
346
341
313
288
307
337
282
406
286
292
343
306
364
342
329
326
359
322
359
319
388
418
322
306
312
304
373
286
298
359
306
370
316
281
383
296
378
384
351
363
329
297
284
289
266
262
337
301
253
307
313
382
218
238
349
315
333
295
320
359
283
311
293
310
319
296
391
263
305
343
257
292
300
286
329
306
283
336
303
326
281
347
330
310
324
308
362
417
289
328
313
221
375
329
254
303
301
220
259
346
363
315
371
303
314
352
355
367
349
263
264
317
312
290
310
408
276
300
367
355
340
329
380
283
355
273
323
347
297
259
334
336
394
357
314
327
321
298
242
252
352
298
238
350
344
318
334
264
293
422
309
293
321
370
341
241
294
336
360
372
298
371
315
288
328
327
276
371
369
287
347
305
255
299
386
342
315
350
379
334
330
345
196
303
325
394
265
269
306
330
309
311
361
292
362
315
339
370
283
404
309
308
339
290
330
385
309
349
366
255
322
308
336
308
354
280
345
271
303
292
298
254
333
269
338
244
305
249
301
331
411
363
243
347
335
261
201
346
319
391
343
261
301
338
299
271
330
411
311
269
348
285
399
358
265
298
302
314
288
424
242
372
307
379
298
296
288
290
369
335
321
346
343
246
236
343
332
309
361
316
245
253
343
384
319
303
311
381
292
325
292
321
305
305
350
326
271
327
350
317
320
269
312
318
287
368
301
250
332
353
246
267
340
383
365
265
296
368
305
342
316
285
367
262
327
302
349
292
354
328
307
403
267
296
333
315
281
351
330
309
355
299
325
325
353
349
306
288
228
354
303
278
263
312
383
375
352
359
388
307
370
307
332
320
367
299
305
326
356
230
320
356
385
359
274
266
313
287
332
253
348
360
323
335
247
380
372
255
382
282
304
336
362
330
221
261
339
265
346
377
312
365
308
339
321
335
366
365
302
338
267
345
284
382
290
319
263
312
292
320
270
280
344
245
381
324
332
316
327
290
362
385
370
349
302
317
234
390
295
261
315
331
330
231
368
305
381
361
330
367
379
259
286
338
311
288
322
290
368
292
413
367
266
318
290
213
328
326
388
233
257
313
345
371
271
398
391
309
351
342
342
336
337
273
257
339
327
418
299
270
266
270
354
313
271
300
399
315
249
326
234
334
335
302
344
261
289
363
308
350
338
278
290
361
385
253
314
295
289
311
262
254
272
204
379
333
286
336
339
356
255
361
262
309
328
380
339
311
271
284
280
342
334
328
329
336
330
272
381
340
358
198
348
370
333
392
308
293
351
261
323
338
354
311
321
371
315
323
313
274
359
340
379
377
288
308
320
321
315
301
335
299
301
271
307
293
389
297
325
278
333
335
363
281
335
227
369
327
343
298
221
358
370
322
354
320
402
326
343
316
296
327
341
318
316
372
418
293
413
303
351
284
267
318
370
356
271
385
312
361
372
412
294
343
239
336
236
304
315
312
387
344
304
332
348
368
242
271
258
393
292
332
375
401
383
263
340
262
209
394
294
344
281
390
280
348
341
279
345
324
326
309
288
320
337
291
338
297
296
360
345
311
379
318
307
355
330
223
404
344
306
262
281
302
299
362
315
338
401
335
377
380
295
277
281
364
294
342
309
323
319
258
305
320
310
345
365
343
269
287
307
263
283
299
342
307
363
270
348
297
367
248
322
296
258
340
306
285
316
292
346
282
291
380
347
369
301
250
305
407
362
231
278
315
327
333
290
378
370
298
270
424
302
352
314
287
310
386
292
352
353
313
268
245
402
359
375
269
333
356
264
300
361
324
392
260
312
311
319
368
308
295
292
295
286
258
301
358
329
393
369
276
265
299
276
360
253
344
356
311
326
296
291
287
260
343
372
227
299
339
331
419
354
300
264
354
352
276
340
289
331
259
305
331
323
330
348
289
401
242
266
332
327
260
287
323
219
362
341
285
365
366
316
394
349
196
249
290
248
342
349
301
333
333
357
348
373
339
292
407
272
328
453
284
359
320
341
333
317
269
337
291
336
385
267
323
323
280
322
391
284
297
352
356
259
258
310
370
354
328
355
242
357
349
262
348
331
341
381
335
297
341
380
368
290
357
355
317
302
355
351
397
341
416
235
288
220
247
312
336
316
377
314
252
319
259
373
342
360
339
342
321
358
304
177
312
288
274
358
309
244
294
271
304
359
431
328
368
417
326
348
311
323
265
321
307
304
295
330
254
329
298
398
256
324
186
313
291
263
396
353
256
353
290
381
306
310
336
387
311
418
386
182
305
282
270
375
363
290
354
328
290
309
285
303
312
292
283
304
342
247
251
273
310
331
326
275
272
340
279
357
353
390
388
437
307
408
359
312
315
278
376
372
224
324
362
269
337
316
268
312
270
320
302
270
269
314
274
315
276
329
323
286
334
274
268
372
324
253
321
326
295
315
307
292
313
406
300
293
374
235
333
305
283
329
334
312
277
430
246
381
351
283
301
244
345
322
314
365
304
258
250
377
327
291
314
374
286
315
395
355
343
276
308
371
332
311
299
344
419
323
358
396
300
277
219
286
276
328
372
288
247
306
331
328
335
397
326
366
282
368
359
346
265
396
279
333
244
305
314
227
242
226
253
372
356
312
400
350
257
270
291
329
295
273
317
311
409
311
356
326
286
327
309
357
331
355
312
254
313
398
272
236
387
325
298
240
294
236
307
325
294
404
299
295
412
320
346
346
366
371
351
355
278
367
282
311
299
359
339
285
456
281
398
323
348
362
314
244
291
409
394
381
405
359
389
363
363
241
338
327
371
268
304
243
244
300
281
290
286
299
402
326
283
297
255
242
330
266
256
348
370
338
354
365
367
259
358
350
306
302
359
358
288
266
357
229
362
351
316
279
364
240
401
294
277
329
310
336
269
313
294
320
359
317
253
222
335
350
337
364
347
233
312
298
310
260
334
268
276
305
306
363
321
367
348
263
373
292
325
269
288
265
295
294
308
269
278
353
274
332
329
302
225
381
347
271
318
303
314
311
337
285
264
328
355
316
327
276
317
297
217
349
356
285
343
360
328
302
339
356
292
299
358
335
411
372
274
354
256
339
317
311
309
357
378
323
292
344
343
355
300
310
265
266
296
315
322
324
354
329
222
321
369
312
334
308
329
253
355
365
386
277
305
275
362
239
341
335
369
308
231
228
306
353
358
342
305
277
355
334
320
218
277
385
250
344
343
349
297
272
350
298
374
299
344
290
357
277
321
310
351
267
356
337
350
298
286
287
292
366
296
287
255
304
401
234
343
246
303
243
367
311
386
352
313
292
264
363
378
284
402
386
319
311
369
309
331
335
266
294
353
318
264
352
334
279
397
199
300
222
337
355
315
281
229
305
361
290
380
392
323
339
290
331
247
273
276
272
304
379
387
244
383
294
374
309
343
275
300
294
342
351
310
345
307
384
311
302
278
323
308
260
303
291
322
248
373
253
340
287
335
377
368
290
365
296
343
414
243
240
277
306
337
321
291
395
297
283
313
384
343
294
358
405
307
387
354
244
345
261
291
238
317
194
351
344
275
315
239
327
337
346
333
305
326
356
323
378
295
309
388
254
262
258
367
344
299
408
398
287
332
338
300
256
275
253
305
266
328
377
248
300
278
255
332
375
216
252
319
315
375
264
285
316
269
417
279
319
332
325
288
312
323
369
355
403
353
357
382
318
275
274
308
340
269
261
200
293
301
263
296
403
369
331
334
266
297
336
329
274
321
290
291
306
335
359
365
217
273
340
291
366
270
350
294
310
278
301
285
222
236
377
289
334
272
314
354
284
360
336
267
307
324
339
274
307
319
327
241
276
346
363
304
312
282
337
327
312
362
290
251
333
330
312
300
313
351
287
329
319
333
314
382
355
289
328
285
265
342
354
339
342
284
301
343
289
354
324
268
302
318
290
263
279
364
190
275
296
279
281
270
281
296
331
256
326
257
330
322
339
266
357
353
337
337
304
309
337
311
317
333
364
350
295
334
262
252
260
380
284
325
282
409
263
265
315
400
349
338
273
272
300
353
400
253
272
340
356
393
349
365
298
325
364
345
327
328
382
268
281
275
277
294
314
347
311
333
384
210
303
360
330
329
322
314
328
293
349
233
287
343
384
387
301
293
362
362
364
365
354
318
314
349
338
218
345
380
341
343
265
285
318
287
354
303
380
246
396
391
252
341
343
374
361
228
278
305
364
226
261
281
327
333
368
331
342
278
333
359
291
306
319
203
297
306
420
301
233
314
348
301
364
372
280
349
363
417
293
306
319
377
283
377
298
354
306
336
280
281
332
330
255
356
266
255
249
299
354
305
359
209
357
350
330
286
307
290
278
267
370
298
301
318
327
331
324
315
290
265
308
276
315
242
388
327
323
364
370
397
246
323
311
297
338
365
348
335
302
275
271
328
269
197
327
374
284
370
368
297
353
337
379
341
250
340
356
357
251
262
344
351
287
289
305
349
316
299
304
321
318
347
333
278
221
291
320
382
336
353
295
281
335
257
332
377
281
405
249
244
362
326
311
298
311
318
264
395
293
338
372
386
306
358
313
347
302
325
443
380
405
297
306
264
322
279
318
293
342
340
332
268
293
300
339
283
321
278
340
319
318
466
306
293
320
193
336
258
384
301
327
333
268
260
300
283
347
300
330
297
335
309
284
337
355
285
235
331
212
332
276
288
325
311
287
281
321
341
295
377
295
338
224
374
415
383
377
324
308
356
362
373
360
269
241
330
324
321
382
329
297
352
296
378
298
348
341
283
289
298
323
341
320
300
409
313
265
384
361
225
377
420
318
354
200
372
351
316
398
317
287
306
330
300
300
286
396
354
286
407
314
239
337
357
298
284
283
354
284
385
362
270
346
408
379
314
363
330
290
312
336
345
319
224
344
382
349
285
341
292
237
256
362
360
348
302
317
398
302
322
279
273
274
324
306
375
263
302
267
310
369
362
283
205
278
310
299
288
195
232
345
359
302
323
331
357
375
331
351
341
238
322
364
304
302
308
332
311
323
336
282
253
293
279
394
358
296
252
338
352
329
314
297
293
381
263
313
331
156
325
331
344
227
293
263
341
277
346
294
281
376
338
290
348
213
317
275
250
388
345
371
373
315
375
353
248
296
334
277
331
323
262
316
288
385
282
281
324
312
305
330
265
291
339
231
290
429
349
356
348
355
305
313
340
323
306
387
312
280
312
335
380
299
268
296
350
293
388
375
327
304
310
296
400
334
299
278
348
475
299
319
322
297
367
331
274
346
329
356
318
317
233
346
390
299
330
243
363
288
326
323
320
380
302
259
353
321
319
238
300
267
392
201
310
253
301
395
337
301
337
280
248
248
391
257
383
357
228
294
323
358
339
306
282
311
315
215
339
270
259
310
257
291
213
380
232
327
228
316
308
323
337
305
297
348
305
192
353
358
278
311
326
319
398
324
270
297
289
317
271
331
241
321
293
359
201
269
243
331
372
348
313
299
297
238
311
340
341
296
336
338
303
335
337
329
357
342
357
302
390
325
310
295
365
379
341
230
352
366
237
278
316
411
205
353
294
315
292
339
340
275
264
333
283
355
336
315
362
374
255
389
356
317
326
287
364
293
392
310
298
301
308
387
372
321
329
349
303
372
391
301
280
336
310
270
255
267
287
258
373
373
267
368
332
229
386
334
277
270
340
339
299
328
296
347
330
304
398
266
307
336
287
280
340
386
415
286
396
361
264
345
305
328
324
376
323
243
321
311
240
247
272
356
322
301
314
302
288
269
210
255
329
339
263
362
305
323
282
294
319
328
278
310
275
348
383
347
275
350
302
351
305
291
322
264
293
325
324
317
301
308
238
385
351
358
203
328
286
357
278
332
351
349
316
298
313
358
320
359
322
280
336
290
335
310
229
358
343
314
281
251
311
305
307
260
319
311
299
281
386
287
349
408
331
278
249
250
293
280
307
274
374
325
339
344
276
414
286
318
341
264
295
249
259
316
268
374
347
312
329
312
264
317
228
339
388
314
267
396
348
302
273
310
384
368
244
273
378
291
303
338
244
280
326
373
316
358
278
318
368
351
344
316
300
364
316
314
341
332
327
249
311
266
280
338
312
403
251
254
312
374
306
277
285
280
352
324
285
356
309
407
362
336
383
256
359
322
265
319
233
345
363
385
388
338
351
326
343
372
312
274
318
302
324
369
352
379
275
315
308
419
318
294
299
341
334
279
324
308
284
339
279
276
201
398
330
298
310
357
334
272
343
222
258
307
296
255
335
239
259
257
310
296
331
299
226
272
308
295
186
304
360
276
317
375
251
351
304
346
308
290
392
337
339
335
254
272
365
384
299
237
287
348
342
296
350
310
385
191
302
349
206
276
303
331
360
328
327
355
321
259
319
286
312
279
331
300
324
261
279
318
309
361
332
343
272
295
329
323
325
271
330
310
305
330
331
328
291
313
262
308
323
283
313
218
305
306
302
322
316
304
306
255
333
304
255
254
363
310
307
357
324
222
282
342
289
329
307
253
313
299
313
340
254
322
339
284
252
370
374
328
335
330
363
336
260
355
298
345
296
303
318
268
311
352
299
295
267
289
328
303
320
321
231
313
325
374
309
313
304
231
332
329
329
243
305
292
343
397
286
286
301
258
327
340
286
312
314
330
367
305
251
332
353
336
308
259
242
335
367
379
253
328
303
296
297
365
318
279
322
223
367
326
257
272
348
309
339
290
321
333
361
308
333
219
372
310
222
338
277
268
367
339
331
288
201
310
343
340
285
273
345
270
343
288
398
222
294
425
365
285
294
274
264
334
339
375
331
332
243
344
389
298
330
303
351
287
267
323
329
305
259
325
417
339
250
260
354
297
346
305
343
306
392
391
296
352
355
357
362
327
379
402
389
301
286
310
319
357
327
364
326
287
333
269
268
394
333
410
406
397
268
357
296
293
320
338
232
272
406
442
284
303
263
329
305
256
273
337
334
268
280
409
258
331
349
345
384
313
389
278
316
272
231
311
308
272
256
367
393
217
375
296
342
360
343
376
306
254
262
259
321
312
348
412
341
380
227
235
231
332
289
274
321
292
317
282
332
325
275
384
275
349
392
396
346
300
346
337
298
303
361
302
308
270
333
367
306
291
326
386
382
311
324
331
298
351
281
327
333
350
297
324
354
334
342
389
321
284
322
330
375
369
313
365
412
315
287
332
321
356
291
357
307
275
269
289
355
235
378
352
285
305
242
327
353
333
370
371
288
340
345
292
269
359
284
342
386
342
278
298
330
385
343
316
338
333
373
330
369
294
380
369
255
351
298
407
329
313
329
279
261
297
323
304
390
320
350
358
332
294
334
399
266
335
324
265
326
301
333
168
339
361
344
385
335
356
329
249
326
338
267
401
378
288
345
329
301
312
333
372
288
316
277
352
339
340
299
286
372
216
315
400
314
277
407
224
284
345
322
351
318
345
303
368
317
296
386
330
237
348
436
294
324
309
333
280
281
280
368
306
324
335
335
295
357
357
279
206
248
410
237
336
339
377
295
307
337
333
387
308
284
279
314
292
225
344
365
348
226
304
318
331
350
367
306
358
208
294
278
295
255
357
383
326
223
319
351
356
304
240
349
263
344
289
346
360
294
286
226
360
249
365
370
357
279
350
331
207
257
251
314
358
273
327
247
382
266
369
294
279
265
331
346
266
347
252
350
358
283
289
304
336
260
325
250
241
317
327
329
291
330
377
297
388
312
280
331
393
243
306
249
331
247
295
319
313
345
341
334
263
245
282
250
382
284
336
312
320
320
269
357
382
352
306
310
382
340
299
358
387
311
301
388
240
282
301
328
311
266
316
358
309
356
295
392
289
341
416
290
274
257
328
311
331
316
332
353
336
257
312
312
344
311
369
281
246
358
271
250
316
369
310
377
239
310
373
382
320
368
263
309
252
270
293
282
308
276
314
324
272
233
358
342
312
411
300
322
336
349
343
279
306
319
358
371
336
277
324
356
303
284
365
234
223
321
276
273
201
254
325
386
362
308
293
298
384
383
305
296
338
237
374
335
237
303
316
380
357
385
297
324
350
393
389
313
398
223
253
198
317
293
306
276
351
323
270
299
325
324
321
330
288
363
247
311
307
368
285
353
342
328
337
325
266
271
328
250
259
306
334
279
307
210
421
246
387
299
287
255
253
281
326
277
270
350
345
350
315
385
307
279
345
262
269
263
312
306
353
315
295
277
396
351
330
317
242
341
291
276
351
238
314
285
327
334
337
407
310
298
276
305
364
273
298
338
342
326
375
340
326
378
334
323
315
302
320
330
272
243
230
323
350
297
259
314
267
284
360
336
280
299
212
303
305
360
410
388
366
344
314
343
318
351
312
271
323
318
328
372
336
288
358
304
347
284
343
306
246
242
259
282
251
388
329
281
374
274
334
267
315
351
274
268
334
326
307
385
246
211
336
324
222
405
249
345
279
276
311
286
399
331
226
265
235
311
372
347
250
352
337
293
195
372
348
375
315
263
313
300
302
288
363
334
240
340
357
247
391
261
321
319
314
247
342
350
334
250
290
330
316
340
322
300
322
339
351
306
181
295
321
248
337
440
365
245
277
354
350
294
271
356
337
373
272
337
207
361
267
317
304
306
316
313
340
263
389
276
352
255
255
342
347
326
355
376
299
312
301
237
381
361
359
314
327
270
341
368
348
260
272
305
311
327
293
371
372
364
251
273
376
383
363
286
316
232
250
415
266
325
299
399
331
337
272
337
301
352
344
279
298
282
297
343
338
338
335
392
368
291
307
306
297
324
338
330
387
287
310
339
346
326
259
324
325
274
348
264
337
260
218
283
300
390
325
243
364
326
272
286
276
275
364
351
262
234
377
280
325
284
330
342
263
315
331
403
360
315
324
310
367
348
301
297
300
275
287
282
383
237
366
323
320
325
220
385
379
249
311
348
315
299
217
303
345
310
315
309
349
346
253
362
285
252
344
318
304
326
299
251
296
276
331
339
371
329
383
278
395
276
265
220
365
274
390
318
300
286
302
312
354
329
311
329
371
335
374
400
222
217
299
287
281
340
278
354
312
280
359
275
321
236
384
330
334
255
344
308
362
335
308
270
236
329
351
283
282
263
253
291
279
247
309
347
341
313
354
362
352
306
333
316
337
256
394
322
323
376
331
292
272
330
368
358
336
368
326
266
243
314
264
296
336
279
225
297
321
333
313
304
330
264
258
386
367
354
259
289
302
246
283
338
337
333
351
304
385
390
323
319
311
319
284
338
304
334
284
323
247
248
354
310
278
300
289
337
238
376
290
339
351
216
363
369
372
330
314
294
376
318
316
316
323
328
303
339
305
360
318
326
363
290
206
244
312
348
417
354
275
363
321
260
309
359
271
266
350
312
311
300
297
322
338
398
268
337
299
240
271
259
195
322
311
328
323
387
271
371
282
339
374
334
334
332
330
389
245
335
311
338
319
330
266
306
296
253
286
289
330
345
247
287
288
293
302
264
362
202
298
356
306
369
340
324
285
292
348
365
267
304
331
317
327
324
301
254
253
388
350
328
365
340
250
311
266
304
411
322
430
309
285
268
306
404
330
318
332
306
332
294
367
273
262
329
352
289
293
311
349
270
284
296
202
321
286
387
284
267
393
294
248
272
314
436
299
291
324
283
245
309
309
330
275
354
308
260
310
326
312
267
295
294
332
306
300
350
263
349
357
334
234
306
319
285
353
281
264
320
320
342
301
328
323
312
354
343
349
336
325
280
339
286
261
283
330
356
306
230
282
253
215
376
331
357
338
332
266
316
290
245
364
299
259
323
313
318
328
317
332
308
305
343
265
289
366
234
267
359
362
341
302
266
269
289
288
342
282
318
256
208
381
240
337
363
303
345
278
346
287
347
388
338
269
293
338
351
196
173
282
352
302
348
343
341
302
355
351
297
238
361
252
272
315
283
360
311
313
402
239
246
371
312
285
398
352
289
286
280
317
344
323
278
223
253
298
346
276
341
296
292
341
325
293
377
331
287
305
381
293
364
336
298
270
361
321
274
330
261
314
288
326
325
330
366
364
282
345
320
269
265
317
367
398
248
318
233
264
287
270
371
347
318
224
297
332
396
319
280
265
303
274
304
316
330
306
295
321
254
374
348
260
315
358
366
317
314
266
209
277
286
304
284
342
332
356
217
321
310
309
296
240
358
368
316
287
330
292
351
331
290
234
319
334
325
298
325
298
298
334
326
270
381
360
332
298
290
276
337
314
300
301
341
354
267
362
314
280
322
302
277
305
289
342
338
380
324
282
356
275
326
320
360
335
272
335
363
364
343
375
304
296
347
354
396
301
346
302
284
264
296
345
364
302
344
220
258
304
333
294
389
344
329
310
380
323
352
326
313
341
313
393
325
329
266
328
273
252
376
259
315
260
362
329
298
369
260
275
344
396
275
285
397
315
287
260
284
371
256
353
246
240
380
336
309
318
373
295
364
296
386
321
277
339
355
306
342
322
366
351
372
294
262
236
375
324
303
401
335
280
309
342
346
342
272
338
298
352
339
304
267
317
363
310
326
312
351
241
241
295
247
291
310
361
311
320
233
306
294
297
341
340
342
260
307
323
308
351
254
293
359
319
364
249
309
322
289
333
281
334
216
340
262
323
368
296
281
289
307
311
302
350
390
285
412
275
251
296
236
399
225
293
387
308
382
288
348
277
298
347
398
246
231
286
333
364
277
243
361
245
319
333
326
297
342
323
268
241
298
397
324
320
280
337
328
307
275
242
301
341
329
348
386
310
373
302
382
308
273
333
245
340
326
348
410
334
332
288
213
324
295
302
301
329
343
337
308
230
328
307
310
401
280
273
326
312
358
396
369
335
220
300
299
301
315
330
368
363
346
408
247
336
334
231
266
285
342
361
331
331
355
288
275
271
387
197
326
390
347
226
313
346
316
344
292
326
372
387
390
336
298
347
329
363
217
288
284
231
255
242
357
379
327
347
253
322
292
269
368
392
331
215
281
335
334
372
390
322
297
364
254
315
345
333
341
355
238
275
333
371
329
300
397
346
365
298
335
332
266
344
258
317
349
260
293
360
314
261
279
304
278
365
275
373
310
291
301
248
254
313
348
343
273
295
306
323
384
230
302
329
288
308
299
272
349
331
392
254
230
360
341
406
306
274
331
317
288
332
323
326
388
354
276
365
332
300
220
318
310
326
349
303
270
299
326
317
367
274
317
263
331
303
286
377
334
364
242
375
252
329
365
359
311
315
356
338
358
302
304
284
268
365
335
368
357
319
317
340
328
328
352
376
306
395
271
258
312
372
372
350
276
258
350
291
260
349
310
357
327
329
359
277
291
267
291
322
305
353
343
259
322
303
308
277
345
397
257
268
412
336
343
339
349
324
337
384
301
343
364
211
376
378
227
328
279
244
339
292
303
348
373
355
300
274
344
325
347
221
404
383
336
365
326
290
306
371
380
292
368
277
392
359
318
330
374
266
319
246
331
217
282
311
260
294
281
322
272
249
309
347
318
358
338
243
326
363
307
337
302
341
351
329
196
330
383
257
304
260
268
313
338
238
372
212
286
361
371
322
259
201
285
270
311
327
333
254
335
299
317
330
282
393
358
278
248
373
337
304
388
307
323
313
380
361
235
315
268
352
278
381
280
270
339
298
421
405
345
314
268
281
370
352
345
299
300
381
329
257
343
248
275
341
260
245
278
250
331
264
285
322
279
379
336
283
322
262
273
321
382
296
317
365
336
232
359
349
301
354
320
278
275
287
372
328
340
293
223
371
318
249
310
332
328
401
322
279
291
220
336
316
288
315
303
394
304
317
301
285
346
312
319
315
400
328
316
268
256
411
282
315
223
280
302
233
305
285
296
357
249
296
292
309
266
356
354
276
407
309
357
330
320
298
420
344
244
335
303
295
341
323
346
308
306
331
336
327
364
313
308
351
357
309
245
311
349
333
322
275
298
350
315
298
355
336
375
261
325
319
350
354
303
273
294
364
329
250
315
256
287
339
329
288
362
313
376
339
341
353
280
336
278
278
422
364
367
335
338
338
313
386
294
295
323
352
310
407
368
266
267
331
378
316
332
332
266
358
357
325
301
271
273
223
343
292
305
307
352
370
266
340
339
330
384
307
358
303
274
350
274
312
377
396
348
390
406
363
274
248
347
246
363
245
331
271
350
261
290
302
318
275
293
249
324
354
259
303
390
329
336
270
297
299
319
321
250
305
353
340
299
236
207
338
271
358
290
225
361
318
223
354
300
356
319
331
337
359
219
280
409
323
291
308
335
285
448
370
325
356
363
297
269
309
406
362
349
268
324
277
307
338
345
297
368
363
318
401
293
370
407
400
303
362
295
371
310
394
286
342
342
344
267
284
315
298
406
328
329
343
354
342
283
241
339
307
347
301
267
336
286
325
267
279
321
327
351
240
308
265
433
338
407
282
318
338
324
333
305
281
308
254
341
310
295
349
392
243
341
414
249
342
406
351
279
266
328
348
241
433
367
433
236
343
332
268
368
342
367
303
333
295
324
264
331
287
355
267
344
314
375
356
347
305
307
258
412
283
249
260
309
309
358
278
382
337
275
310
289
309
230
257
279
396
307
366
280
387
303
301
271
289
302
251
370
309
350
285
341
260
287
282
312
297
316
220
306
284
365
294
303
305
276
310
312
357
367
371
273
265
259
260
315
326
271
361
295
273
381
341
340
304
253
279
361
333
305
368
361
352
324
328
309
343
347
366
375
348
317
290
327
339
299
351
340
236
298
313
368
284
349
309
348
337
414
274
384
281
336
307
229
261
261
383
284
294
311
329
311
294
321
384
313
327
396
297
238
404
246
366
290
350
328
305
246
341
340
339
337
387
286
200
332
264
269
269
257
331
264
250
282
239
308
268
324
217
357
333
300
293
317
264
253
222
344
319
265
315
317
256
343
286
292
292
276
343
399
297
303
346
296
295
345
332
265
211
249
300
345
374
366
307
208
294
333
262
294
365
196
245
350
349
314
297
308
238
358
304
281
355
297
323
343
257
297
227
364
326
339
366
282
357
262
335
346
337
320
326
375
298
363
247
276
343
212
307
345
322
208
354
289
334
355
395
343
314
360
285
326
282
375
326
316
315
340
261
237
287
224
403
303
357
234
262
286
361
215
310
292
297
307
280
419
287
241
232
339
331
395
295
328
289
347
336
374
249
360
274
325
284
328
287
384
303
223
333
318
318
270
347
320
349
347
271
377
354
266
242
317
283
338
300
324
324
271
296
371
264
323
308
325
313
368
294
219
378
259
325
311
259
362
318
288
274
360
297
295
259
347
326
356
333
457
234
231
391
328
309
367
334
263
272
376
297
390
331
254
270
316
347
294
335
299
333
368
306
287
313
334
244
210
253
343
340
356
334
341
272
369
336
222
385
307
303
339
283
425
336
372
154
354
357
242
266
308
322
321
383
412
352
283
308
312
274
245
357
324
302
368
420
343
365
363
346
318
334
387
270
282
265
348
400
347
208
383
267
312
314
281
257
358
310
161
323
385
357
299
235
325
311
279
308
304
350
269
334
279
324
308
336
235
378
347
233
268
357
300
357
400
346
329
315
359
378
389
288
333
262
351
281
362
290
334
278
268
372
246
221
300
283
315
279
299
255
290
230
290
278
317
346
336
316
324
291
327
392
293
345
355
239
293
291
365
322
368
385
315
408
270
290
234
323
319
335
282
225
383
268
378
327
316
340
288
351
406
350
376
270
348
295
355
251
344
273
268
366
345
326
367
263
342
357
237
374
339
258
299
263
294
357
260
364
269
367
335
350
340
332
389
298
350
355
340
376
327
361
375
289
371
325
292
285
236
238
318
169
329
370
294
341
340
335
350
334
280
292
256
211
218
235
340
260
382
229
266
298
271
358
348
345
298
347
368
330
360
405
230
330
339
306
368
318
321
341
265
257
255
340
369
315
380
282
385
298
354
303
262
254
329
216
277
297
346
351
265
394
384
351
279
363
292
317
309
310
310
320
342
368
311
361
290
323
312
368
366
363
347
339
329
349
240
324
289
341
280
365
414
434
340
256
298
302
354
259
228
320
300
338
246
268
296
353
373
349
316
330
346
267
340
324
304
337
308
364
280
406
352
355
353
314
313
322
230
328
340
318
395
301
242
323
373
266
372
332
298
258
331
313
401
358
296
333
295
272
295
307
269
287
271
311
407
264
238
309
277
212
350
223
309
216
299
271
294
366
388
324
305
298
260
338
384
323
290
293
233
348
325
378
334
333
290
288
281
325
283
329
368
321
245
319
293
319
328
353
388
291
262
292
277
359
335
382
295
313
415
433
386
332
342
332
290
328
253
287
308
235
175
343
303
304
232
374
307
293
333
302
382
368
378
272
278
349
316
340
359
381
358
284
289
334
322
308
346
294
319
287
276
273
309
378
314
307
298
382
293
324
401
349
237
386
272
304
324
371
362
325
263
292
358
297
210
347
356
309
187
388
288
253
336
329
294
302
287
300
321
263
313
413
374
339
357
384
362
341
334
335
266
306
282
418
361
322
225
364
330
332
347
372
325
293
361
352
344
354
313
256
322
308
386
269
384
227
293
323
373
356
347
368
371
270
306
342
286
325
343
299
282
295
276
297
288
292
363
306
275
375
227
249
344
322
320
358
356
353
270
300
357
302
317
205
238
323
310
288
290
247
296
374
316
332
359
295
345
328
227
429
263
347
308
310
269
318
297
278
244
382
306
336
285
358
347
275
310
364
360
369
277
250
383
336
323
360
282
298
257
267
298
310
301
258
307
312
244
293
380
280
364
398
345
363
319
298
283
320
273
330
322
273
340
403
316
279
335
266
279
336
423
373
222
289
198
284
292
365
293
361
327
315
313
349
299
336
311
306
327
294
338
291
425
345
324
333
405
380
318
334
351
329
301
337
312
384
336
287
303
319
314
349
312
352
401
365
327
360
415
313
362
346
283
357
334
413
271
301
304
313
290
398
295
282
376
319
327
290
287
254
314
313
325
266
245
329
262
282
329
306
263
280
366
333
412
370
320
339
338
293
339
257
255
281
288
298
386
319
346
312
308
411
435
278
281
273
379
312
335
333
365
316
296
360
298
237
350
325
267
328
332
307
377
295
271
338
327
295
313
319
318
343
305
332
320
277
280
288
350
365
297
358
328
230
348
296
271
285
291
336
316
366
309
315
299
366
317
342
307
221
303
324
373
289
332
367
290
359
374
316
310
268
274
337
233
342
328
337
367
364
322
269
317
220
357
421
290
337
377
334
284
375
303
375
298
302
330
308
336
314
359
316
287
383
321
414
254
282
211
363
317
330
275
193
315
364
296
395
306
327
291
307
262
357
360
308
297
306
343
307
307
342
284
341
345
285
312
357
350
357
319
293
323
312
298
365
258
325
199
319
347
295
373
350
271
320
235
278
371
238
393
287
360
419
262
261
292
280
363
325
349
298
271
359
336
298
324
299
305
316
327
292
325
296
291
351
283
232
347
310
288
341
247
265
294
264
360
344
301
326
347
282
351
263
318
349
276
256
341
315
361
376
328
283
275
309
279
297
271
293
369
326
370
278
326
295
285
263
352
288
337
315
322
396
359
244
348
343
327
343
248
336
282
224
277
374
277
317
241
275
363
222
287
258
309
259
328
276
323
343
393
349
287
286
361
376
331
396
334
257
335
333
329
313
281
265
308
322
248
274
290
341
304
211
303
243
291
327
318
351
285
401
349
254
313
301
356
280
315
282
358
303
379
312
287
323
286
237
280
319
385
278
332
275
359
358
305
300
340
368
332
355
310
377
272
299
291
392
394
325
340
297
333
325
315
311
259
222
299
344
339
371
315
308
286
322
236
291
370
341
356
382
303
393
310
283
377
285
315
346
307
326
369
261
314
292
303
258
344
290
340
381
280
352
340
317
408
279
360
251
276
224
319
316
389
274
305
312
350
390
353
395
373
307
278
327
335
330
240
350
362
303
323
336
378
283
292
313
344
291
381
290
349
324
351
301
323
334
314
343
281
333
294
341
253
279
281
325
316
320
288
329
322
317
340
339
362
343
299
222
297
336
347
296
285
318
340
332
273
355
278
334
380
258
268
359
328
382
329
313
324
457
379
331
299
307
361
333
325
276
361
228
260
367
285
262
366
335
198
335
325
365
251
294
270
325
286
327
300
281
274
283
297
326
400
297
367
341
378
316
357
400
268
246
338
237
302
271
278
256
353
265
362
238
318
284
293
271
244
327
295
335
330
264
324
358
317
325
269
380
293
285
307
372
290
366
302
313
264
345
277
355
339
335
314
289
266
367
330
277
349
366
329
325
224
300
313
372
335
362
361
282
316
302
345
375
349
319
331
335
307
273
326
206
297
232
330
289
377
327
352
346
305
300
351
283
295
346
284
323
331
309
381
292
301
408
309
321
390
350
346
352
321
290
285
391
373
310
319
264
255
311
373
293
326
336
327
383
310
318
361
355
358
366
318
292
316
284
381
329
274
321
308
403
368
282
293
279
248
221
293
318
315
353
320
318
309
347
402
360
281
342
246
259
280
395
226
284
301
228
289
312
322
354
418
332
356
291
250
333
322
216
334
288
409
393
319
385
277
357
287
290
295
253
267
323
316
249
361
256
281
344
224
334
251
372
379
303
333
307
256
399
277
299
289
283
267
317
290
397
222
358
244
295
318
300
338
270
291
463
199
305
305
321
230
319
258
287
333
341
354
345
374
309
305
213
267
279
392
362
321
342
283
245
352
316
339
272
253
301
309
226
366
335
258
325
293
205
322
367
337
305
347
335
283
347
282
292
344
314
297
323
290
369
286
339
282
361
307
348
338
320
287
321
355
282
311
319
288
315
277
247
331
372
388
276
269
325
365
284
331
269
304
281
292
417
294
342
300
292
301
391
288
303
361
289
301
364
276
307
342
325
302
306
304
339
283
309
385
342
367
295
303
320
283
332
332
328
304
231
290
372
300
357
304
325
291
312
351
295
323
341
367
308
329
342
294
326
284
336
280
292
336
265
323
309
323
331
292
353
372
333
311
329
266
259
326
358
374
305
219
368
396
336
319
312
301
270
220
268
331
327
320
345
367
336
307
304
314
307
338
372
278
263
368
381
360
298
302
341
388
299
357
354
221
280
323
292
370
318
338
279
366
346
307
378
398
318
368
327
328
309
268
345
333
298
342
344
277
290
314
316
260
309
265
272
331
389
254
340
250
352
245
329
315
316
282
304
277
324
238
346
336
334
206
305
316
296
257
364
272
335
320
192
322
300
257
296
273
285
318
337
334
312
313
358
354
379
255
288
346
384
301
281
361
273
245
309
352
335
311
336
337
291
356
362
258
311
344
324
289
291
358
357
291
351
252
281
253
237
352
292
364
233
410
315
363
182
352
312
277
393
306
357
341
286
393
309
293
279
325
262
295
312
260
363
258
310
305
276
310
344
332
319
258
304
367
340
301
337
360
248
305
313
369
305
301
288
322
379
394
330
286
244
251
341
290
360
321
353
319
357
292
238
337
376
348
243
213
297
276
325
338
285
315
252
425
313
348
294
336
306
334
236
340
302
242
302
346
311
372
397
325
342
283
327
341
252
289
231
357
243
369
334
326
338
279
298
341
289
354
306
308
343
370
271
292
333
323
344
288
307
304
292
334
276
349
360
259
271
345
242
208
378
384
245
319
285
413
322
374
267
363
327
326
328
312
346
293
306
247
241
439
332
242
251
357
329
334
203
376
332
331
289
293
317
342
255
275
419
326
348
317
331
361
266
302
300
341
352
274
288
335
233
346
340
275
359
300
349
421
338
298
291
348
393
363
340
318
314
323
312
400
313
389
271
325
333
287
281
280
332
330
345
270
340
313
315
287
374
272
315
310
295
294
323
308
283
376
354
298
253
275
332
373
294
262
345
319
293
312
431
273
339
323
303
351
365
305
311
311
412
321
342
336
362
374
271
320
308
351
235
290
348
344
332
348
365
280
330
263
316
333
306
336
255
250
312
319
371
282
374
327
351
302
358
277
347
252
264
333
312
313
347
272
322
285
244
332
304
346
297
285
287
307
304
364
318
381
336
281
350
331
338
261
296
382
357
390
295
317
256
255
385
377
331
307
343
334
302
349
293
314
257
291
289
292
392
264
317
331
350
331
329
341
253
239
315
319
418
337
292
207
333
319
347
310
298
307
318
290
298
343
213
244
322
362
325
237
257
391
368
303
374
311
319
354
282
336
342
334
260
354
317
293
316
368
337
310
304
240
404
385
246
318
256
195
304
263
378
342
274
296
327
284
275
382
258
326
280
309
302
340
222
239
421
378
281
328
333
306
304
322
220
327
343
290
310
332
344
349
310
368
317
244
408
303
318
296
297
325
239
379
192
344
338
281
330
292
351
357
360
318
305
388
282
296
361
316
291
293
308
316
271
406
383
320
286
383
299
329
317
333
377
336
350
310
326
345
356
305
286
282
267
409
254
343
259
355
346
304
322
298
364
266
373
313
292
310
304
372
296
336
344
347
255
351
344
320
358
310
302
290
300
382
261
226
381
287
278
405
334
304
223
340
314
311
366
268
372
378
323
321
285
324
324
261
207
349
253
334
301
342
303
382
342
269
331
325
304
283
277
338
309
263
314
360
327
314
379
351
338
373
299
274
325
307
411
271
283
336
257
373
388
296
245
293
269
313
280
235
251
323
315
331
414
374
290
318
360
305
368
355
227
328
208
239
332
342
318
298
300
266
328
343
293
322
259
363
367
320
214
379
331
239
327
265
304
240
318
285
298
309
326
380
299
323
314
339
254
329
323
337
339
348
271
269
352
295
312
323
324
230
259
329
204
328
301
302
275
357
306
410
234
252
313
345
337
271
349
278
295
306
320
405
374
335
233
337
291
354
346
283
200
233
371
257
212
301
331
334
396
291
268
265
368
269
355
293
383
283
352
291
301
279
300
331
360
308
263
332
330
387
317
298
289
318
302
275
354
306
257
245
318
351
200
308
329
299
309
331
297
341
259
381
324
282
328
308
359
271
384
353
314
360
320
298
326
322
266
314
357
260
235
277
330
383
291
344
265
297
343
293
285
359
276
323
258
337
333
325
326
261
334
281
303
229
296
251
288
266
287
322
337
309
351
284
262
344
299
229
266
285
279
372
379
340
330
219
279
411
260
295
396
380
326
291
336
331
285
285
372
273
275
355
309
286
366
358
398
355
273
234
306
327
316
266
364
365
386
243
362
354
394
313
314
351
290
225
371
299
336
322
317
313
276
356
369
288
259
334
283
326
375
374
362
403
313
279
240
335
371
343
252
407
333
339
367
308
368
400
311
362
241
327
321
369
266
370
333
320
217
366
350
355
376
289
266
395
305
318
339
359
365
277
316
258
333
363
305
328
273
295
248
317
300
297
333
252
397
276
293
388
302
324
247
326
314
293
271
257
266
281
248
229
377
348
331
262
327
336
330
305
359
351
339
394
389
327
326
331
390
339
318
324
331
344
298
273
422
358
316
347
277
372
365
237
301
276
346
316
278
284
326
330
343
297
269
284
234
300
358
321
276
384
265
354
237
259
384
415
286
316
364
306
332
356
333
392
235
237
350
273
382
327
286
350
301
234
310
351
288
331
284
339
322
269
266
275
290
310
290
282
272
325
297
328
345
308
278
289
252
302
362
294
313
316
320
279
262
349
314
203
273
296
340
272
313
236
253
344
331
285
415
281
336
355
324
418
365
358
227
314
316
285
294
341
364
352
305
270
350
329
337
316
311
304
320
243
364
317
412
276
409
310
339
272
247
296
380
341
251
446
381
196
320
262
349
340
230
280
262
422
241
319
299
298
348
311
306
318
294
186
310
320
311
236
274
249
349
282
308
276
237
278
345
318
310
345
333
302
328
350
219
281
371
357
402
307
361
329
392
269
266
261
355
357
349
357
378
372
258
311
259
255
286
281
334
339
356
328
376
289
383
336
292
386
320
311
250
270
300
325
351
269
316
341
307
333
382
259
347
313
329
270
353
330
304
314
325
341
298
330
328
256
357
311
375
286
392
344
241
305
277
378
299
206
272
301
355
307
323
342
313
210
357
306
349
265
379
298
336
281
406
367
312
306
344
245
323
395
279
327
344
379
372
317
326
307
336
264
291
350
287
255
272
234
315
392
362
283
314
312
308
294
302
304
334
356
342
291
317
293
369
313
319
307
310
354
292
320
343
214
351
250
291
368
300
329
324
340
303
282
400
363
344
290
253
328
374
295
252
414
308
296
320
235
290
267
266
282
253
285
357
315
306
322
353
347
368
333
304
294
303
338
317
266
266
317
369
319
314
264
400
259
262
262
371
294
372
292
237
248
457
326
326
257
370
289
353
282
336
327
327
353
291
256
321
272
261
291
304
355
294
310
366
287
305
425
334
317
321
343
337
274
297
242
316
343
225
358
259
292
279
263
240
336
345
302
355
307
284
320
335
302
274
250
371
328
356
315
325
227
330
321
331
357
264
290
261
326
308
380
302
274
293
293
316
278
398
290
314
304
352
271
307
383
283
332
261
343
357
355
333
298
280
368
257
369
291
296
255
359
409
283
287
312
336
284
299
342
327
358
359
271
293
329
312
323
386
307
353
380
324
358
303
261
322
372
219
310
322
355
285
346
339
230
325
347
220
324
279
318
304
225
340
271
390
294
326
399
257
270
304
266
369
312
362
407
303
282
318
301
281
376
258
267
316
355
329
355
395
361
339
414
329
255
297
398
360
263
365
340
372
313
292
358
308
404
291
352
397
370
280
239
314
343
311
328
366
345
364
337
262
263
291
257
324
285
386
312
386
271
300
275
301
236
276
307
320
338
345
345
350
204
272
311
256
301
282
394
314
316
221
363
311
325
234
277
325
398
321
273
338
309
237
301
310
229
406
309
317
300
379
361
328
329
350
298
336
312
199
409
398
357
346
306
328
291
301
276
372
256
336
324
323
341
294
254
314
256
334
397
286
360
266
314
281
316
314
293
386
273
304
312
349
365
390
381
313
299
363
232
320
341
257
241
268
271
363
318
351
250
213
314
294
352
318
303
262
289
373
345
310
340
291
365
355
388
341
358
264
269
265
288
333
295
250
391
308
350
303
336
338
344
309
323
258
304
286
257
235
331
383
263
351
298
452
269
297
350
233
309
352
329
221
301
302
306
312
302
296
360
370
332
288
386
236
381
301
257
302
266
348
242
327
311
345
347
388
301
279
348
346
249
385
300
362
329
341
364
244
319
378
233
239
322
232
357
347
252
344
342
347
344
343
334
349
280
322
343
350
248
315
245
292
256
338
279
378
320
300
364
182
387
248
344
334
371
367
297
370
350
399
303
248
319
400
355
262
376
369
305
316
326
385
293
261
290
283
315
274
323
294
303
338
275
309
337
267
219
231
365
373
293
316
311
326
354
296
339
395
284
291
306
361
314
342
263
287
297
268
282
268
268
365
354
301
260
284
330
338
420
255
280
276
246
383
261
277
320
265
357
303
310
301
315
359
261
302
331
308
281
323
259
381
317
328
286
331
298
350
303
244
345
262
358
295
301
335
365
315
449
380
340
309
263
392
334
368
186
408
325
300
342
330
358
358
231
367
290
391
251
219
334
259
293
262
281
434
302
314
293
283
352
293
322
292
320
318
383
350
346
307
356
398
279
278
343
325
234
332
339
300
380
345
305
217
379
358
329
358
316
333
297
231
322
270
283
409
295
267
303
295
355
383
201
316
373
403
242
323
243
302
208
283
338
348
274
291
237
349
288
269
260
334
395
304
317
302
343
342
340
274
331
201
337
311
395
293
288
301
275
280
307
210
301
311
273
355
319
399
376
204
252
265
364
319
246
259
257
323
288
302
364
313
294
341
397
339
321
320
293
244
314
320
345
341
340
352
234
311
362
282
319
330
322
250
292
271
335
247
293
316
299
337
286
295
222
312
390
243
370
301
326
328
305
292
339
342
363
344
328
197
360
390
305
303
368
316
251
278
317
358
263
252
332
307
298
357
276
353
341
267
366
281
320
325
391
312
274
286
305
351
236
328
299
292
270
212
302
354
314
434
384
275
342
347
331
289
335
339
259
218
320
271
358
271
294
338
307
280
274
311
277
327
214
325
295
332
324
346
308
297
289
294
315
277
352
329
217
294
286
302
288
366
273
334
319
333
368
286
297
333
282
337
344
314
411
235
343
277
249
260
387
311
377
322
311
303
324
343
296
330
181
319
266
397
357
330
330
308
311
310
272
298
285
254
349
300
240
306
263
316
275
355
286
278
278
400
292
368
353
245
313
333
295
330
319
351
263
289
352
292
335
323
316
267
355
306
344
279
267
307
443
281
321
273
318
218
340
286
267
305
261
253
358
347
277
369
335
240
297
297
271
382
316
325
264
390
302
346
242
353
252
234
253
409
296
338
268
356
317
380
207
282
360
256
307
332
306
358
365
310
283
349
327
334
268
264
315
270
280
250
269
278
278
320
282
320
341
299
304
256
262
288
346
324
342
308
372
251
322
316
254
315
388
264
379
251
381
348
286
332
351
319
330
248
282
324
371
374
345
362
375
317
286
318
233
414
307
351
311
286
315
353
318
292
265
294
349
289
392
311
282
218
352
299
263
333
284
235
340
254
318
218
296
404
240
325
319
291
295
323
354
316
418
287
280
345
348
379
304
273
348
354
358
357
244
281
306
321
327
270
362
314
316
263
327
325
330
377
281
211
313
325
361
314
369
358
382
292
324
255
311
324
336
288
292
322
330
246
248
328
387
346
369
296
319
280
341
351
314
235
271
337
298
296
299
344
362
431
257
368
314
358
330
346
332
393
279
280
365
257
338
315
303
377
270
244
314
349
248
356
294
282
279
312
207
250
294
283
311
352
295
298
266
338
338
315
389
331
333
324
258
277
372
330
387
329
332
330
252
389
265
373
314
246
359
296
296
273
299
283
303
328
287
301
307
353
320
383
409
285
229
419
311
245
324
424
306
322
300
330
337
278
370
357
383
319
250
371
289
309
284
345
412
363
341
329
336
300
284
314
341
305
306
308
297
323
297
342
265
337
337
319
238
318
305
340
307
316
303
340
349
338
328
367
360
336
247
259
270
363
405
262
265
262
339
307
384
344
318
341
305
298
305
309
284
336
366
277
314
289
364
297
286
377
327
302
267
353
261
296
278
319
301
327
369
326
287
235
281
260
288
306
304
342
267
402
360
299
319
409
291
336
268
330
330
311
367
306
309
252
322
375
354
193
272
303
367
245
366
415
402
328
312
294
332
361
401
338
201
363
385
242
301
338
302
268
333
302
305
286
291
349
300
297
282
283
349
377
318
354
300
368
281
268
319
322
324
260
224
361
376
343
356
361
263
299
330
248
303
242
341
322
330
248
341
321
303
352
284
310
342
204
274
296
357
268
304
246
360
301
397
281
326
311
306
331
357
325
294
309
350
289
322
380
391
381
237
351
256
408
375
275
291
297
346
344
303
358
318
340
275
294
252
303
337
330
338
226
200
329
247
299
344
314
398
360
331
380
268
302
328
301
360
311
355
346
285
327
229
345
225
365
268
315
363
319
316
305
392
279
347
374
373
311
352
256
350
343
363
221
386
257
294
336
326
275
330
294
211
348
347
335
388
326
390
263
310
348
362
296
327
295
298
251
301
338
310
308
264
330
308
315
277
342
307
281
308
337
290
380
357
222
321
280
292
415
246
219
319
312
337
309
337
298
322
350
305
367
299
340
346
376
322
280
339
376
392
275
285
237
259
327
348
316
395
230
354
344
332
259
354
352
315
314
338
322
331
280
325
387
390
338
341
265
308
296
319
238
311
310
330
291
365
332
380
325
294
258
357
295
321
320
361
329
281
347
373
265
347
295
382
353
260
310
305
363
274
358
302
299
292
297
363
290
320
312
315
340
297
177
332
348
354
359
345
311
281
263
370
332
275
302
324
281
369
336
350
224
409
319
329
361
374
339
314
332
346
314
334
251
340
327
301
298
326
298
321
385
295
253
260
312
289
244
340
355
219
360
330
378
364
322
282
361
306
354
312
304
235
353
275
310
306
332
302
279
285
301
295
340
336
373
331
270
322
313
296
334
350
261
278
279
272
306
278
229
294
328
297
318
293
282
331
274
376
380
375
356
292
300
411
340
363
268
340
279
340
293
354
356
404
261
364
395
294
276
351
392
339
323
320
284
378
268
279
317
214
364
253
316
305
364
316
296
300
340
336
237
351
249
275
271
386
295
386
303
254
305
351
231
325
282
262
300
344
361
330
361
348
287
313
341
376
346
284
344
298
339
313
381
289
306
273
358
266
339
231
347
238
311
273
320
337
359
378
288
319
298
301
342
231
307
339
346
270
302
294
295
368
352
325
308
343
305
309
170
390
266
424
373
335
300
280
379
343
332
364
357
375
344
357
311
284
308
373
348
291
358
280
330
317
355
307
331
308
352
344
205
355
346
375
334
300
266
344
402
330
374
325
285
328
211
252
279
323
361
324
334
302
303
300
190
266
291
395
309
346
287
348
380
244
364
285
283
264
301
282
328
228
312
277
291
293
313
323
355
304
201
368
329
328
310
285
423
362
300
339
369
374
291
203
294
359
345
369
365
305
388
385
331
263
329
323
313
375
333
326
374
316
299
255
235
307
261
284
230
299
298
299
270
307
354
366
288
293
301
273
321
234
298
351
318
307
219
332
314
302
281
234
298
349
289
326
255
335
304
304
394
340
324
286
326
268
384
404
328
296
333
295
338
346
318
369
333
370
337
270
304
289
322
321
335
266
353
267
373
370
252
247
342
267
315
257
273
384
307
294
302
353
377
341
324
284
361
339
332
368
247
353
223
315
311
331
299
273
310
308
311
338
235
416
312
270
275
346
257
334
345
406
285
347
283
346
334
362
319
365
287
365
311
305
353
241
385
377
311
329
287
351
415
334
324
352
297
237
282
235
359
323
341
236
371
351
292
273
319
320
409
261
335
344
341
260
324
328
353
361
297
248
274
368
342
299
300
310
233
281
356
350
224
250
380
291
304
382
337
336
349
297
352
389
271
331
312
341
374
214
316
259
374
460
297
326
266
247
313
302
329
207
274
253
236
323
274
364
232
281
311
375
259
331
330
313
378
239
398
373
247
379
266
247
341
289
282
391
322
387
284
302
306
371
351
338
314
359
361
289
271
309
260
350
298
241
346
354
308
341
276
341
345
299
356
312
327
259
330
271
313
385
320
343
338
326
298
278
347
313
255
392
343
345
260
272
409
319
328
274
240
357
338
265
331
384
327
387
327
292
350
222
396
308
287
338
362
350
240
346
302
301
380
333
258
314
335
239
280
354
261
257
350
286
291
332
290
306
281
367
334
317
333
300
275
317
387
363
350
367
277
372
324
252
257
291
333
312
259
385
327
378
314
297
368
334
297
307
262
246
328
327
312
310
267
277
308
262
327
350
316
366
309
298
315
217
358
241
321
316
350
354
276
301
329
303
302
310
332
353
324
261
348
360
261
307
309
356
381
253
239
268
293
314
308
328
315
300
310
353
370
276
400
369
377
277
326
302
362
304
290
250
319
298
268
333
286
262
339
299
308
291
291
279
319
238
240
321
327
319
373
348
338
338
383
304
299
286
305
310
327
355
308
274
278
278
287
272
340
306
299
353
255
256
354
341
431
393
356
219
275
390
303
355
275
305
283
380
265
281
259
259
268
278
282
321
331
276
324
346
361
302
334
354
330
370
282
349
299
309
328
227
225
308
318
370
282
268
338
377
241
290
286
374
317
302
297
320
353
350
249
324
397
372
322
259
287
267
295
303
355
353
329
323
376
311
280
329
266
299
288
322
211
395
270
371
290
436
347
381
341
310
325
280
291
350
287
374
369
340
316
374
359
318
269
272
390
381
262
314
338
387
250
283
262
286
324
362
313
276
324
250
325
352
376
280
294
265
290
289
325
275
417
314
292
289
302
369
317
370
312
304
248
301
282
295
293
281
328
352
334
304
269
231
299
348
361
201
298
366
232
291
356
342
402
326
341
310
413
250
303
294
291
312
284
379
306
293
353
352
253
294
288
357
271
346
293
364
320
332
338
403
390
303
335
358
326
294
332
238
338
338
268
292
323
357
322
304
286
334
333
304
307
275
329
401
193
364
255
327
341
303
243
383
321
336
351
305
320
377
347
286
315
313
377
344
338
348
319
343
331
295
362
221
271
302
264
377
311
315
207
325
289
315
253
286
285
251
308
393
364
339
354
348
279
328
286
309
334
276
280
287
273
314
391
365
281
309
261
319
344
323
362
299
282
368
301
262
334
337
292
321
322
267
278
308
252
343
309
345
276
342
272
288
368
304
348
359
368
414
306
268
360
313
312
321
306
261
314
299
289
370
254
301
347
266
264
308
314
372
360
328
328
362
357
246
321
339
351
293
430
320
351
292
293
353
312
259
272
372
380
340
362
257
265
384
317
336
381
336
212
320
278
377
342
291
319
375
321
321
326
330
318
257
326
340
296
314
300
234
261
281
368
280
266
250
396
367
321
363
254
291
259
323
259
362
345
297
266
276
278
352
323
297
315
328
290
294
293
229
297
372
299
244
256
220
232
333
354
324
362
312
291
325
290
373
270
261
346
395
302
404
321
329
329
259
318
318
315
355
357
341
374
365
415
285
260
383
324
293
316
323
349
287
315
379
332
221
296
354
311
284
373
331
280
203
252
353
288
336
367
275
262
391
331
362
357
348
303
257
262
323
296
351
330
394
367
290
308
303
320
372
300
270
354
415
421
333
373
218
318
288
350
368
333
302
278
217
319
377
320
249
268
211
331
376
266
311
348
362
267
320
267
353
295
265
348
264
328
293
276
308
340
275
221
281
328
341
343
255
387
351
318
310
292
342
412
308
293
344
264
257
292
274
384
344
319
330
291
302
301
321
315
358
301
345
279
296
368
266
391
365
327
286
373
335
288
252
295
369
265
325
346
309
316
322
404
258
406
254
347
336
347
331
274
336
294
350
328
339
324
302
294
236
335
372
305
303
291
355
316
332
387
299
275
337
296
353
254
318
325
327
253
302
356
379
225
390
324
336
390
359
272
227
392
357
318
324
274
299
360
243
378
329
313
276
263
339
293
279
280
341
290
271
378
253
316
280
331
313
300
344
269
283
281
300
345
382
317
331
362
315
264
255
319
334
317
356
314
245
339
329
326
342
314
307
304
311
291
223
325
364
357
353
339
289
291
248
284
307
292
343
352
422
357
360
338
359
272
412
264
303
296
301
347
302
331
327
271
279
233
265
346
234
329
337
265
329
359
312
291
247
343
363
361
386
302
328
357
321
296
328
287
300
313
310
313
314
382
248
301
296
328
296
283
328
314
279
378
291
304
370
234
383
275
300
257
337
269
251
372
314
294
291
355
283
358
362
361
376
312
306
307
297
274
311
292
405
356
363
270
214
344
329
345
294
313
233
312
313
224
287
358
391
325
351
411
318
346
339
370
373
301
326
306
291
322
358
236
188
419
242
285
337
315
361
206
346
248
331
305
299
278
361
356
217
387
302
310
303
293
329
287
383
292
348
247
295
378
307
358
339
338
336
350
317
333
360
331
303
389
253
324
382
326
248
271
380
237
291
296
324
305
334
404
342
292
325
339
397
216
277
273
309
327
297
328
297
372
289
364
321
306
455
370
272
305
332
267
302
414
338
329
399
445
298
323
366
365
271
255
264
370
268
395
364
359
302
347
307
329
345
245
410
277
289
316
333
329
349
350
406
285
291
314
250
254
302
367
290
280
383
330
302
345
350
302
302
322
329
310
276
381
298
425
322
396
232
278
325
294
329
356
264
305
355
318
301
290
314
341
317
218
310
355
271
333
319
255
318
369
279
283
271
350
223
359
252
324
307
319
391
235
341
291
340
319
300
231
262
315
370
312
316
322
327
337
284
310
332
386
380
348
309
297
253
289
308
276
337
281
319
310
250
312
294
319
352
297
267
320
249
401
317
308
280
312
303
350
365
269
290
388
283
351
290
291
296
340
333
342
339
307
383
328
289
356
271
362
296
301
304
198
248
309
240
366
266
279
299
331
351
252
298
336
266
310
327
290
413
310
307
309
322
171
309
352
432
282
275
347
314
320
333
259
258
301
294
317
355
254
307
249
262
330
352
324
331
360
348
305
270
278
354
334
391
343
310
346
333
348
309
269
236
362
356
338
332
294
340
242
313
279
246
262
290
256
250
265
361
316
307
340
274
340
350
238
303
358
337
367
363
346
317
322
278
340
361
329
242
288
375
270
346
295
343
356
301
352
319
252
325
250
304
363
340
297
279
303
297
322
330
360
315
286
313
317
335
284
362
350
347
385
340
282
388
342
405
338
265
267
363
277
379
304
332
366
257
260
399
331
360
287
270
296
326
309
345
296
289
343
370
279
298
371
374
362
310
279
342
359
344
269
331
323
227
248
349
283
303
340
343
231
258
401
328
313
273
341
330
294
234
305
329
386
287
367
282
303
356
372
345
381
343
250
309
342
341
324
284
223
289
373
359
371
362
370
365
244
346
318
292
346
361
335
356
311
333
295
255
272
346
319
371
307
357
296
338
264
345
315
391
387
366
290
370
312
300
288
363
298
324
380
286
387
241
295
253
411
327
357
304
341
322
286
331
312
385
278
280
389
357
378
295
280
391
358
312
334
313
274
326
376
459
383
304
345
334
205
317
314
324
279
333
297
306
386
269
315
295
300
346
341
367
324
173
331
305
272
345
392
329
332
438
304
319
362
345
391
229
270
276
315
295
341
366
268
318
277
337
316
347
296
283
336
352
310
281
322
301
264
332
376
387
342
261
208
373
262
330
364
292
299
288
311
269
367
334
363
316
254
267
328
332
269
320
396
369
336
332
352
363
285
276
351
365
304
360
304
311
348
282
295
396
297
315
267
387
429
383
287
322
371
362
308
320
441
338
237
316
322
357
375
297
308
281
275
248
375
263
285
310
363
306
342
288
259
328
303
337
268
311
255
354
343
305
372
270
318
305
300
344
286
345
350
360
351
274
319
323
277
339
272
235
305
310
182
283
343
273
336
360
347
232
309
319
295
348
237
282
316
260
325
354
384
411
324
350
387
286
318
405
339
280
346
319
349
336
363
255
357
365
354
249
375
387
309
338
345
347
317
308
299
333
330
302
266
343
337
336
307
351
293
319
304
330
399
278
225
345
256
245
266
334
384
307
307
351
307
289
298
295
266
249
233
326
270
334
279
301
322
324
335
252
290
326
313
318
346
305
332
407
390
323
338
305
275
379
314
299
291
297
308
301
245
331
288
312
314
339
325
292
300
348
198
334
252
327
290
306
251
292
321
305
290
207
277
346
348
309
344
269
337
309
208
324
377
342
323
345
299
337
238
454
288
352
351
343
300
294
302
305
322
270
300
252
361
307
309
360
314
311
371
374
279
318
329
302
244
337
335
352
279
278
346
370
310
359
323
304
292
281
319
266
282
308
408
288
367
275
356
326
366
294
369
269
296
298
410
342
325
317
343
248
218
301
240
299
344
255
319
331
342
374
382
313
285
291
353
358
309
306
355
324
305
335
293
313
289
328
342
352
345
346
348
271
331
273
350
339
273
318
389
369
401
364
305
304
389
285
276
271
170
273
294
393
306
285
287
263
246
319
341
295
368
379
270
294
333
296
324
311
357
286
315
401
365
303
347
385
308
398
326
213
282
341
295
301
270
305
374
327
284
260
228
253
296
377
270
358
284
260
294
321
402
331
376
244
361
307
257
321
218
249
341
320
306
298
319
371
229
310
297
333
327
363
334
346
177
330
291
342
396
275
336
320
246
294
367
310
303
339
376
393
299
251
295
291
268
422
369
240
251
291
309
280
265
332
276
276
284
334
279
368
233
305
237
306
255
264
323
296
435
274
258
317
252
370
353
335
393
312
366
411
284
256
388
352
263
300
310
288
357
319
301
311
365
348
320
344
369
307
293
295
311
323
319
265
345
312
318
298
289
305
321
316
308
322
275
290
299
354
336
342
293
374
299
336
301
319
345
295
327
397
257
305
350
311
362
306
334
317
363
326
383
304
277
256
258
334
265
297
372
363
265
349
298
263
326
335
281
336
277
278
376
383
274
332
282
338
303
354
321
316
316
314
368
248
330
324
358
347
282
314
387
392
339
362
316
323
325
343
307
333
339
361
341
269
343
312
365
265
309
275
300
348
219
306
348
364
289
329
290
324
300
277
321
378
330
408
252
253
240
305
283
368
366
327
357
338
339
273
327
340
396
264
382
302
341
252
330
359
336
305
297
330
302
214
366
235
299
297
325
290
260
371
269
234
380
307
310
334
339
312
394
329
266
319
316
283
327
355
296
262
321
259
265
240
244
272
351
189
286
297
247
349
327
282
297
428
314
388
274
296
278
292
360
343
364
255
299
312
261
316
298
372
337
313
239
361
315
301
257
308
318
282
260
356
246
220
280
371
314
293
343
341
392
363
286
297
225
348
359
336
353
282
318
289
286
368
258
325
332
322
320
349
281
321
322
242
304
395
302
371
250
324
264
283
310
290
314
278
358
412
260
255
363
335
321
337
260
247
396
283
436
316
377
249
328
316
328
352
314
338
342
253
340
319
308
408
349
316
360
302
256
284
304
359
276
319
298
308
289
356
339
312
361
300
336
247
253
362
377
275
295
331
218
322
320
300
369
371
317
346
248
388
368
278
311
321
371
331
271
332
272
295
315
274
280
301
413
284
296
371
330
357
396
312
268
272
386
357
364
380
357
343
263
336
310
434
315
366
274
244
288
280
275
295
350
286
291
381
303
281
271
328
284
345
291
275
328
234
250
232
298
323
298
308
376
294
334
340
211
304
291
307
324
391
364
312
342
354
289
312
271
346
271
299
290
332
289
360
376
382
321
372
288
301
381
381
360
372
224
333
256
270
312
383
322
303
281
279
336
288
343
320
295
319
260
296
267
348
259
342
310
310
213
361
298
320
235
276
278
309
277
325
336
314
370
326
267
305
291
375
374
330
337
327
358
311
291
302
353
290
336
356
287
313
288
428
331
289
344
369
279
309
311
343
319
337
313
249
322
320
243
319
290
334
350
254
389
287
384
300
263
252
332
272
340
328
326
327
409
266
386
352
288
304
328
334
253
364
260
350
353
267
318
357
273
342
301
367
349
296
241
254
310
329
324
296
260
336
334
318
282
288
303
274
274
306
321
383
296
351
264
275
254
314
368
352
313
176
319
319
301
325
320
335
335
261
343
261
264
183
346
342
262
397
298
314
418
246
346
280
393
393
277
329
283
349
374
310
298
275
323
317
358
389
324
303
362
311
288
316
294
332
327
358
245
283
323
283
318
305
246
281
337
353
346
264
307
321
313
320
328
338
273
340
330
357
317
247
345
257
250
377
331
316
337
317
344
298
308
392
363
385
277
322
252
316
366
238
399
246
301
297
308
395
344
230
225
292
334
320
309
351
292
328
366
377
256
302
285
261
318
379
344
326
372
339
316
345
337
271
336
340
326
327
348
312
404
303
361
315
273
296
329
314
291
313
355
337
365
291
328
249
362
265
277
215
295
309
334
286
288
314
313
274
322
343
309
226
328
378
363
284
256
317
324
298
333
266
273
373
281
352
328
380
348
338
338
259
290
277
252
245
262
335
254
331
255
373
354
332
353
274
413
329
393
374
278
304
231
278
348
302
253
393
358
296
244
279
286
290
304
376
205
393
286
385
269
289
281
323
211
248
310
390
264
320
400
300
291
316
286
299
269
297
203
323
329
338
282
242
227
366
371
287
278
253
388
277
259
336
276
270
335
346
310
308
290
372
269
274
277
291
267
298
375
429
346
344
376
363
330
377
376
262
371
324
295
309
299
347
352
320
317
352
244
324
360
349
283
263
343
332
330
413
324
308
262
270
297
371
367
326
325
316
401
324
208
276
309
285
314
345
301
323
348
315
322
321
244
311
300
231
373
345
282
330
376
349
216
263
242
378
286
287
393
314
226
330
345
238
386
410
329
348
352
334
247
279
331
310
351
324
341
346
352
332
375
317
350
374
345
301
332
372
344
299
345
311
262
313
339
309
319
328
271
243
333
271
346
314
262
318
369
278
380
313
331
276
343
353
360
320
294
372
238
300
295
316
279
368
276
300
408
346
305
318
286
249
364
349
363
312
358
338
337
360
301
322
245
323
395
314
227
358
335
297
342
259
329
307
432
327
288
329
246
365
291
293
355
329
353
329
280
340
268
291
278
359
318
261
299
268
330
267
347
309
330
310
251
308
358
343
296
351
295
339
377
204
326
302
334
267
298
304
187
344
294
200
322
397
415
352
312
334
370
261
231
286
297
337
355
330
350
334
305
240
299
322
369
341
420
309
290
372
346
316
340
343
366
298
395
345
274
354
296
303
309
387
308
245
358
380
393
316
377
328
372
281
314
261
286
327
366
403
335
251
328
359
352
353
262
282
195
341
350
240
359
359
333
256
279
279
263
355
323
345
307
355
399
406
391
381
365
342
293
246
304
364
313
273
372
383
322
314
340
314
303
318
399
302
333
293
325
312
221
327
356
314
338
346
370
298
255
344
312
261
372
341
272
260
305
356
290
228
322
318
299
261
335
270
310
242
307
393
239
307
376
294
334
352
280
318
294
319
336
380
375
362
338
276
229
266
302
309
272
261
280
370
307
315
266
310
387
315
254
260
309
389
257
360
312
258
309
290
395
303
332
338
237
361
388
308
325
323
338
280
314
336
302
361
365
357
287
287
336
263
317
280
351
340
289
327
274
301
294
304
296
304
285
275
322
314
330
299
276
319
324
328
345
337
315
300
318
354
224
296
269
352
338
267
305
362
299
242
295
313
306
351
315
327
295
309
368
331
304
322
264
358
369
350
359
305
380
266
301
311
301
311
336
289
339
328
338
322
252
316
292
285
280
348
341
345
258
278
364
241
289
411
261
325
265
269
327
336
242
354
253
269
335
352
291
343
240
269
279
344
311
390
274
291
267
310
344
338
368
259
376
310
275
353
284
337
334
281
341
261
298
274
310
260
308
323
258
376
316
303
416
231
275
298
323
259
324
361
214
376
322
360
289
232
386
309
300
223
314
317
295
361
368
304
421
245
341
215
332
290
287
287
323
371
288
283
340
339
406
329
352
393
300
311
378
297
300
308
338
319
307
280
311
376
242
315
254
326
286
291
215
294
361
268
327
339
299
309
275
327
253
239
296
268
272
359
380
270
338
268
236
345
326
354
296
323
352
283
301
314
274
307
334
331
355
280
319
313
316
327
393
325
312
334
287
275
264
324
375
267
361
344
272
368
391
330
382
303
260
291
344
276
404
265
299
251
316
303
295
263
329
363
323
367
314
296
379
270
302
334
266
296
250
255
298
307
291
363
396
364
272
410
314
295
365
388
314
421
398
296
317
333
340
377
359
247
213
275
194
311
261
384
356
293
331
291
270
303
327
334
386
255
318
323
379
296
324
371
339
356
294
236
296
379
278
252
388
291
314
368
366
329
291
281
349
311
346
354
366
266
289
352
346
280
297
318
365
334
407
350
294
337
304
293
331
274
374
301
313
295
274
286
329
277
313
367
303
330
297
354
332
299
345
262
253
377
281
316
308
268
285
337
295
265
312
310
387
392
330
359
241
306
370
358
357
315
268
290
307
328
346
365
328
395
308
350
297
255
327
378
311
368
260
335
284
314
277
249
334
323
269
229
293
326
336
327
313
301
314
267
346
316
301
217
369
317
365
289
283
362
346
344
311
317
335
339
272
291
299
331
310
301
273
323
260
310
290
293
342
293
298
344
335
396
258
259
226
277
317
397
335
314
307
422
358
337
365
334
303
282
278
325
328
366
325
306
384
292
366
312
287
275
230
273
319
326
332
311
323
330
298
353
263
237
299
327
338
368
301
310
378
272
365
325
371
354
286
278
322
285
353
271
365
324
312
252
290
305
370
330
253
290
351
342
332
329
419
317
264
249
297
268
364
329
418
377
344
336
311
271
305
382
247
309
318
265
310
257
279
327
264
354
307
307
265
348
296
320
304
295
289
312
325
250
275
276
308
278
294
307
320
333
384
274
379
287
392
281
274
323
290
409
314
335
277
297
310
297
280
393
301
335
434
409
386
239
350
316
296
348
250
308
262
312
347
354
279
254
278
369
395
307
364
323
271
216
268
299
281
375
341
331
330
241
335
389
269
329
335
368
335
348
312
372
286
381
294
282
299
299
277
307
339
340
361
344
289
263
309
276
310
371
337
284
314
317
300
333
237
299
360
293
289
252
398
379
281
262
263
339
311
338
278
264
257
278
272
344
195
298
284
370
336
365
297
283
285
266
354
301
278
291
344
315
355
275
408
346
372
370
321
277
238
350
293
315
270
345
293
359
341
343
350
360
280
332
261
306
279
400
359
296
253
348
347
310
359
284
252
301
290
248
311
328
226
312
377
341
274
355
354
364
368
278
337
362
348
379
358
344
405
321
385
328
301
351
226
399
316
323
375
352
377
316
276
333
266
268
397
357
320
332
286
347
225
351
425
360
338
296
311
335
369
376
308
307
434
270
279
258
344
336
273
269
309
324
220
260
396
350
332
262
293
346
301
330
367
281
344
372
337
337
296
341
310
361
354
319
393
272
259
275
338
379
318
359
332
390
326
326
365
347
258
269
289
438
288
334
347
332
265
346
352
308
277
326
350
312
310
407
383
411
356
291
327
343
341
315
297
320
277
281
317
284
281
344
329
237
311
361
342
357
360
329
314
382
260
195
311
347
340
337
353
210
348
313
236
317
318
313
259
348
327
262
243
303
299
301
306
244
229
291
284
330
324
294
323
384
313
313
331
272
290
383
288
332
272
262
309
300
323
362
307
330
315
347
360
313
274
328
306
269
423
361
316
307
402
370
316
303
302
301
285
272
268
321
351
313
357
347
327
340
369
213
367
322
306
302
253
249
307
372
413
353
345
276
364
322
323
368
295
327
305
320
257
381
326
327
318
227
310
362
334
426
386
268
389
312
317
286
276
333
304
313
284
292
274
267
346
347
336
331
308
295
305
310
303
360
300
292
339
345
235
359
329
296
340
329
340
320
363
285
346
317
310
266
302
311
365
393
380
330
262
223
237
279
249
261
385
395
297
320
313
364
327
301
344
323
379
238
381
307
256
282
300
321
375
321
331
306
293
331
371
237
302
361
353
326
348
321
395
313
345
381
320
283
309
301
347
380
373
288
417
321
298
360
324
294
311
253
323
245
267
312
282
236
340
319
319
386
296
318
312
326
298
260
311
274
323
278
362
399
271
360
309
302
290
275
280
409
344
290
282
302
256
278
334
297
319
255
352
238
238
371
366
345
315
284
247
391
321
297
291
396
332
364
282
314
372
271
291
369
279
322
341
335
317
298
290
317
314
263
295
264
296
354
307
325
262
304
333
254
287
297
300
305
392
423
249
362
296
336
355
316
306
333
337
251
327
246
365
317
330
378
359
295
307
379
316
271
294
314
232
280
344
417
272
315
339
320
377
320
343
288
331
241
272
338
285
328
386
330
395
254
318
314
293
253
315
271
253
365
307
272
321
359
326
301
245
312
320
353
296
361
362
266
320
400
310
319
307
380
394
339
333
263
315
253
286
330
326
357
261
202
314
389
312
339
362
296
372
311
366
336
337
385
322
328
233
337
286
326
356
331
318
311
242
360
402
348
298
417
200
404
327
301
325
237
390
342
374
252
338
352
396
304
341
273
339
329
326
353
251
373
330
369
243
353
328
334
321
299
317
374
321
349
368
415
336
265
417
337
236
351
306
410
260
328
168
334
321
288
300
271
358
338
375
367
277
269
321
262
365
350
339
325
410
279
275
263
371
347
358
371
238
318
332
272
271
348
291
311
334
353
319
382
349
329
377
307
335
308
388
319
403
259
377
256
265
197
419
354
281
238
400
290
378
308
316
350
363
276
296
345
356
358
285
266
308
346
261
298
284
353
290
321
263
284
274
304
329
302
298
292
319
262
266
316
373
297
292
355
372
328
376
307
345
336
324
370
375
237
308
293
280
323
340
329
311
376
305
383
259
325
326
269
373
314
317
309
319
330
338
232
307
344
306
315
325
323
353
286
292
310
371
287
247
320
298
289
344
342
300
388
362
291
321
339
350
370
322
301
346
292
369
354
318
303
289
332
336
351
350
275
258
192
377
260
263
227
276
352
351
292
383
305
286
352
318
378
315
224
292
276
209
331
219
283
348
377
389
280
349
265
298
312
268
380
276
312
394
281
357
331
337
268
273
368
360
270
292
301
294
303
321
320
368
316
293
270
319
291
311
295
331
275
320
331
339
288
263
326
303
225
294
281
331
255
346
377
321
346
315
287
252
211
414
356
243
336
280
295
176
315
309
223
323
248
383
306
305
330
207
261
341
340
290
331
340
359
278
285
349
229
327
336
387
305
259
254
299
294
320
347
332
274
355
267
363
374
296
397
308
375
348
318
338
272
232
242
370
304
361
360
268
281
310
324
269
249
275
300
324
272
326
281
263
294
351
286
291
305
290
373
356
332
348
310
303
378
331
359
338
355
311
281
355
322
257
265
355
293
381
304
350
317
354
316
232
257
302
395
328
371
317
333
344
269
370
305
340
367
334
300
223
301
411
272
268
341
350
283
293
340
342
367
335
290
397
331
364
293
314
261
347
297
272
287
271
329
349
395
316
367
342
345
329
309
270
272
231
320
255
308
369
284
263
323
287
374
363
292
288
305
226
235
321
280
305
323
370
289
331
314
324
330
349
389
273
323
284
376
305
322
359
331
289
283
260
337
216
248
415
354
305
250
326
352
330
286
324
349
265
305
361
343
308
323
336
254
340
322
301
360
332
347
300
324
291
310
300
325
275
379
351
353
248
295
326
269
310
301
241
327
283
431
368
336
331
301
283
351
339
399
332
294
399
345
250
260
430
286
261
329
310
291
261
344
322
392
325
259
280
267
310
280
300
237
268
263
317
319
347
344
270
278
301
237
304
335
403
328
350
283
304
344
224
252
338
350
316
352
368
317
316
262
381
292
220
286
273
316
379
319
306
246
314
317
374
317
358
267
327
341
357
379
328
281
328
350
284
210
360
342
240
295
350
381
329
342
306
358
269
194
356
318
342
339
288
257
284
282
301
281
326
296
325
312
324
305
310
368
337
360
320
302
317
284
303
306
348
328
330
317
317
343
231
285
312
286
319
320
376
262
362
221
313
328
387
255
338
420
324
252
246
284
307
245
243
315
238
347
388
334
374
280
277
339
238
277
371
299
234
314
296
220
352
339
227
366
341
327
311
266
392
304
296
300
345
260
258
307
285
341
313
305
251
263
392
361
295
354
321
299
288
329
380
297
327
364
265
268
330
297
308
314
329
268
324
347
413
251
267
269
342
373
318
356
292
366
293
370
316
293
362
272
263
300
330
328
241
221
277
344
284
406
332
276
342
322
325
334
337
251
331
389
325
284
352
353
370
239
363
332
328
277
295
380
252
280
353
342
324
263
355
358
323
373
342
320
342
320
285
385
315
389
387
358
283
373
360
263
315
309
378
320
366
347
260
347
271
298
300
345
248
255
337
288
297
289
342
189
331
260
306
284
282
358
264
286
323
301
303
310
329
323
347
297
341
363
396
371
272
333
231
223
367
356
383
245
258
332
388
401
286
278
369
333
352
307
266
334
282
391
311
277
280
280
332
386
333
333
334
388
320
305
229
319
261
341
348
399
324
347
269
281
297
290
262
288
306
276
294
247
315
299
319
307
305
335
180
314
274
331
318
285
311
320
404
310
361
318
291
336
320
334
287
383
342
244
312
444
310
324
242
303
286
248
320
331
315
334
299
304
279
296
360
250
304
268
360
360
340
270
303
355
330
330
337
236
376
341
344
339
319
303
379
299
398
330
337
374
341
300
355
340
342
306
290
304
354
340
339
343
316
281
314
359
252
270
390
277
255
325
318
338
315
197
312
314
292
311
371
331
300
284
283
308
347
282
377
336
314
225
335
314
312
250
312
326
310
296
313
375
220
357
270
378
303
302
336
343
327
307
328
306
331
362
391
291
237
299
334
261
347
336
347
251
358
303
310
319
282
200
301
277
321
277
370
336
287
303
283
349
288
369
221
336
291
368
278
286
262
346
282
345
404
236
344
346
314
324
314
334
378
325
348
371
333
352
248
241
326
272
340
349
309
305
330
298
379
405
326
338
320
272
313
327
277
292
271
322
302
343
226
377
253
238
240
293
217
322
371
224
342
358
322
306
313
333
314
314
282
341
332
361
295
319
246
252
259
321
276
352
318
319
314
273
326
303
353
325
326
290
351
314
336
394
343
376
341
348
286
284
305
349
331
365
339
382
303
361
280
358
285
373
219
369
280
329
369
301
293
299
256
283
330
342
284
281
303
332
256
298
387
350
326
259
315
291
251
283
235
251
278
328
239
320
368
290
321
364
321
287
251
301
347
276
275
368
341
366
239
377
404
359
273
305
377
314
256
458
303
265
330
279
390
394
357
405
379
302
318
302
298
281
296
287
406
275
337
250
328
290
376
354
275
345
332
265
332
359
390
421
322
280
304
291
359
284
298
312
238
329
304
348
258
348
335
366
290
342
312
311
264
396
375
218
298
382
294
301
360
301
375
310
350
310
284
350
313
382
319
295
267
203
300
308
308
361
256
428
327
318
252
261
330
268
284
326
307
352
350
322
373
301
245
378
310
315
297
360
293
279
370
361
367
402
337
353
304
363
338
292
322
362
300
363
322
272
378
332
284
368
261
318
278
256
363
326
348
273
324
247
419
319
217
230
150
263
200
242
250
205
174
239
171
159
167
195
193
192
150
121
150
194
208
201
171
253
123
227
208
150
150
167
202
181
203
250
201
158
150
208
176
229
137
172
213
259
124
207
239
172
230
150
192
137
182
150
150
170
150
123
112
172
147
165
207
150
202
208
229
201
121
135
150
257
226
192
150
121
150
193
179
121
135
194
302
208
192
159
176
150
208
121
203
176
177
137
121
112
167
193
227
165
233
171
112
175
121
194
150
170
234
225
159
147
223
121
150
229
239
203
123
176
181
194
124
121
243
218
258
112
121
172
235
231
229
187
232
206
187
167
115
208
171
263
186
121
208
170
150
226
112
150
158
194
158
145
158
175
150
233
165
115
150
208
228
195
176
167
237
203
207
172
124
208
172
231
208
159
170
205
172
121
167
150
205
158
121
231
238
217
150
184
170
150
167
194
215
192
186
123
150
150
112
158
170
177
208
112
135
237
225
176
181
186
150
124
121
167
200
208
167
152
115
194
112
150
240
187
150
202
194
147
146
226
268
150
228
225
160
172
150
168
150
192
170
208
210
137
228
150
124
130
177
194
192
150
177
172
170
196
112
194
172
167
172
150
121
177
170
203
150
150
194
112
112
236
194
172
174
174
182
190
112
208
176
150
206
121
161
272
255
187
121
177
243
210
177
235
187
170
130
121
123
229
150
167
175
121
189
168
112
210
171
181
178
250
170
220
156
115
130
174
209
112
202
121
150
174
213
150
121
170
194
112
112
235
173
150
187
193
208
208
208
210
112
150
199
121
150
168
160
208
121
136
123
202
229
221
171
167
189
112
187
208
171
158
150
121
174
194
123
208
190
195
150
220
143
189
153
179
186
170
150
121
302
202
115
234
112
172
112
265
186
170
231
167
150
205
123
143
121
223
157
228
150
121
150
208
208
187
252
212
238
172
137
201
226
228
170
193
205
205
150
158
174
176
172
176
189
128
208
193
203
228
150
163
124
164
112
165
121
121
135
112
254
230
165
194
272
158
229
121
181
208
208
121
263
171
229
136
135
215
187
124
112
193
123
150
272
208
112
150
194
159
181
192
177
161
177
130
121
159
115
144
177
170
201
194
112
231
172
150
171
250
237
205
135
186
121
112
220
171
208
112
229
112
239
165
193
170
150
237
160
171
237
176
112
150
170
150
164
177
150
167
245
172
170
214
159
112
150
194
135
170
152
172
176
171
263
192
172
165
121
299
227
179
212
158
208
172
279
187
121
135
150
121
158
282
172
189
112
150
150
232
123
162
150
186
208
167
150
194
112
167
203
112
132
136
181
172
194
192
240
238
210
112
112
193
207
193
208
266
230
179
201
150
208
156
193
170
187
201
150
257
208
124
184
217
186
150
226
123
203
112
112
150
256
176
172
181
123
158
194
115
214
112
112
201
195
167
112
160
175
121
156
205
202
112
121
208
212
195
167
208
229
226
214
112
150
170
112
212
193
112
201
176
170
167
128
216
150
171
208
121
150
135
204
208
135
121
177
172
112
121
178
155
135
172
172
171
121
172
227
194
199
190
172
159
210
203
123
150
112
112
150
123
112
233
150
137
150
152
112
112
121
192
143
205
159
192
203
112
121
150
174
212
158
208
112
165
170
123
123
150
175
159
170
147
208
208
156
195
112
123
189
165
170
167
150
160
150
121
210
207
181
209
242
167
135
124
128
171
208
202
172
147
229
170
208
214
158
170
237
243
269
194
112
192
112
172
121
167
121
115
293
150
218
135
208
150
121
174
112
164
172
128
174
112
172
137
167
146
232
121
205
121
208
229
193
237
171
150
170
167
112
156
121
181
206
302
150
112
136
150
112
213
112
136
207
193
121
121
210
160
170
165
150
257
121
150
135
181
205
225
170
201
192
206
207
121
231
198
121
237
121
176
217
241
210
121
250
203
231
147
121
201
167
150
196
168
147
150
219
168
123
112
135
139
194
209
194
208
186
150
167
216
170
215
150
172
229
167
137
121
222
159
159
172
112
121
158
150
349
121
231
121
213
121
237
181
136
112
167
236
176
159
192
218
228
218
212
150
165
137
150
174
159
193
176
112
208
150
137
150
212
172
208
112
121
210
167
115
172
121
135
150
212
159
208
228
228
202
204
263
170
124
263
147
227
150
147
181
139
219
170
121
150
112
208
112
178
121
208
179
150
174
121
112
150
135
112
150
172
150
121
156
174
271
158
170
159
228
170
205
135
236
150
172
166
233
263
181
112
176
150
172
150
195
115
176
150
208
150
202
258
208
150
243
172
147
228
171
165
112
158
136
112
243
187
150
194
218
123
150
158
121
147
208
150
150
211
195
123
242
186
182
150
220
150
194
195
242
171
186
150
192
186
121
177
228
123
195
231
208
150
170
150
150
210
171
202
233
150
167
177
150
219
150
136
150
186
236
150
167
173
194
176
150
179
168
112
208
112
210
150
123
187
115
193
172
203
150
176
121
136
136
235
170
218
172
150
112
171
194
170
112
165
208
193
176
137
228
112
171
186
112
179
232
137
217
137
121
167
160
171
278
150
150
121
175
201
112
222
144
228
112
176
170
165
150
112
168
210
208
176
226
228
225
232
181
201
159
115
123
112
267
147
233
165
164
201
112
146
201
171
121
150
112
194
121
121
123
193
299
150
123
121
172
112
123
232
150
112
176
302
159
167
150
121
217
139
181
161
158
186
185
225
123
223
231
201
202
159
160
121
172
176
172
232
150
192
208
192
121
193
167
121
208
172
172
121
175
216
176
172
171
112
201
176
212
228
218
174
170
195
210
121
131
167
163
302
177
112
112
172
112
150
220
124
171
226
172
236
233
225
130
150
194
192
207
128
123
167
170
206
208
112
128
150
216
349
208
167
112
121
112
112
112
193
195
150
165
202
186
236
123
167
218
150
112
212
112
121
247
128
208
203
276
171
147
241
186
172
208
228
209
121
136
112
208
192
199
150
150
208
167
236
137
211
208
208
143
167
158
171
203
124
193
150
150
170
201
150
155
204
112
227
150
193
150
160
254
179
167
170
195
121
124
208
174
172
150
170
150
165
112
112
227
150
222
152
265
112
202
208
299
194
121
172
202
121
165
121
170
112
208
225
225
167
165
170
112
150
250
250
187
123
174
226
194
150
203
168
134
172
208
237
195
193
112
208
132
219
112
121
167
214
147
210
135
215
170
112
167
208
121
165
150
150
150
218
150
216
121
124
156
167
228
214
172
227
195
171
144
175
237
159
203
128
121
150
150
172
171
225
172
197
137
121
171
195
212
211
217
219
194
171
239
112
170
123
112
224
150
208
254
150
135
150
147
128
115
226
172
177
150
271
229
174
112
196
112
187
206
121
167
150
181
176
184
150
150
161
147
208
121
208
143
250
123
112
172
177
208
168
244
164
170
167
172
121
130
112
115
176
239
150
193
237
175
231
112
172
170
112
250
121
158
265
173
112
137
150
210
225
216
208
165
172
240
121
164
194
171
176
135
190
220
228
203
228
147
217
172
112
208
152
115
121
208
186
210
193
172
217
195
167
201
208
182
172
182
196
208
141
208
131
164
204
137
121
167
158
194
137
170
115
135
112
208
210
150
161
176
192
112
239
165
189
150
112
181
121
177
139
121
216
221
217
170
130
150
121
230
174
171
136
212
136
172
165
228
121
279
181
195
181
208
165
150
143
167
235
193
172
150
112
156
150
165
121
195
172
164
165
171
212
112
201
189
238
150
167
152
121
204
172
208
137
147
201
186
121
215
239
170
112
136
201
228
178
152
128
259
112
171
208
112
194
193
241
199
208
171
150
215
128
281
112
247
171
228
150
217
192
167
247
172
167
240
160
171
121
164
165
210
233
147
130
136
121
208
197
212
121
112
187
150
170
112
237
193
150
202
170
170
194
170
174
178
196
112
156
160
231
181
174
170
196
202
147
212
121
194
202
276
167
167
150
231
192
193
112
112
159
201
208
206
112
216
128
139
317
182
181
112
123
213
150
135
160
177
212
208
150
112
165
172
159
186
150
145
237
112
226
302
194
150
150
150
220
136
156
176
250
158
233
167
210
170
115
205
164
201
112
150
135
150
240
208
115
239
209
172
241
217
172
112
186
115
202
123
167
170
175
182
229
150
168
276
115
150
121
150
194
150
181
187
150
261
164
270
150
130
150
150
231
143
264
174
121
124
115
176
115
150
192
150
233
167
221
175
202
112
171
167
302
112
121
170
136
210
121
218
170
158
136
170
208
121
121
176
121
213
217
150
182
210
147
237
115
156
201
158
210
215
172
137
167
193
220
187
176
214
172
150
196
112
167
174
121
165
150
115
181
181
208
150
150
212
231
121
130
150
115
219
150
208
150
181
207
172
179
210
121
204
217
237
208
150
121
195
181
147
194
201
112
167
174
150
167
150
212
186
170
112
220
237
172
240
112
171
201
178
232
150
195
136
112
112
228
147
136
123
121
121
165
208
112
123
167
203
225
177
112
240
264
210
209
160
170
207
150
228
136
201
168
171
186
186
186
176
158
210
220
123
217
170
172
204
194
192
225
182
171
121
211
172
150
167
208
202
112
161
199
160
159
177
203
208
170
201
161
193
209
170
255
170
235
112
121
195
150
150
150
112
112
170
212
121
128
208
150
244
150
202
203
121
208
186
137
205
237
121
167
167
254
165
128
187
172
193
165
182
167
178
121
153
188
123
165
192
121
144
121
121
194
121
172
201
112
203
124
112
150
189
177
212
229
161
150
115
208
112
157
194
112
112
150
217
172
135
121
203
210
193
186
112
250
233
112
225
193
170
193
150
167
208
182
121
150
115
242
170
186
112
152
150
230
158
167
174
171
170
150
123
112
205
208
144
212
208
204
172
231
187
170
112
121
194
112
112
189
121
239
121
170
160
121
150
121
160
152
206
231
167
150
121
179
172
175
158
240
150
170
128
121
137
208
234
156
176
196
150
194
130
112
115
187
176
187
150
170
225
167
121
167
193
179
220
121
212
170
121
150
203
220
203
165
121
150
121
159
204
170
150
212
130
165
231
200
250
165
194
171
194
164
178
150
208
233
157
218
135
150
156
112
226
208
150
201
137
112
112
150
191
267
207
121
208
121
177
208
181
165
112
164
172
239
121
233
194
150
217
121
167
123
193
128
194
204
112
112
112
172
174
121
174
160
194
165
150
170
215
181
212
212
112
167
162
203
194
311
121
189
181
281
123
167
176
226
112
174
141
150
212
228
269
177
164
175
181
233
218
226
150
202
195
121
172
181
181
137
121
112
121
259
172
165
205
112
112
226
112
176
124
203
212
112
218
136
136
150
202
171
198
121
205
150
208
172
239
266
161
240
112
115
176
150
201
218
150
150
193
208
194
181
165
177
123
150
137
112
121
276
190
112
210
176
164
144
165
160
150
255
187
150
112
167
203
186
112
212
186
172
216
225
208
208
231
124
121
135
205
205
181
215
121
210
211
158
150
194
112
167
207
171
170
165
150
112
194
121
121
165
194
167
135
112
168
112
168
215
121
176
232
170
112
219
195
121
172
121
181
176
250
158
205
152
247
121
150
163
172
182
181
214
156
165
246
187
179
231
112
150
159
135
210
121
193
225
177
192
181
165
135
208
158
136
121
160
150
136
150
167
172
121
112
187
236
136
112
130
150
170
121
165
172
124
121
222
196
112
121
156
170
115
177
171
210
123
150
214
143
167
164
165
112
172
176
195
202
208
147
232
218
123
128
194
225
158
217
160
210
141
112
241
112
234
112
150
157
121
150
181
150
121
160
131
278
167
256
202
150
147
150
176
130
171
203
170
152
195
208
172
219
194
208
181
150
187
217
135
263
150
172
193
112
214
186
233
176
150
150
239
112
164
172
186
112
121
208
186
172
167
187
187
156
185
156
181
170
210
233
121
172
194
112
121
139
171
195
167
232
150
112
195
121
181
130
171
172
150
150
147
164
265
168
150
184
238
134
172
215
112
234
174
112
150
150
172
165
181
135
152
121
213
186
168
225
172
202
112
112
208
193
231
150
121
220
209
150
150
264
112
168
170
199
183
208
121
187
150
208
175
208
177
150
150
121
181
112
137
231
172
176
150
150
187
228
179
121
259
167
152
209
123
171
112
112
232
137
176
170
150
194
150
159
172
165
173
214
159
156
165
210
237
167
194
243
186
150
167
121
208
121
167
121
176
259
208
150
170
150
172
112
115
233
167
170
130
112
187
239
159
179
115
255
143
150
172
112
171
112
233
167
150
153
171
112
150
150
208
121
170
194
176
112
208
207
170
165
160
160
176
176
121
203
150
150
205
112
186
172
208
234
202
152
112
241
214
233
150
198
214
172
164
150
158
194
147
172
208
218
145
167
165
192
121
121
143
147
202
172
150
124
171
172
137
167
172
281
239
121
172
236
208
209
115
150
121
177
243
189
208
170
153
194
176
194
171
220
229
167
170
216
170
246
172
228
160
150
112
153
170
210
150
208
195
241
150
211
298
165
121
171
150
165
156
170
208
150
276
170
207
208
112
112
150
208
208
202
202
228
131
112
293
172
121
208
112
200
150
112
253
186
205
225
172
208
121
179
181
220
208
168
167
112
150
137
208
123
112
167
228
112
130
112
121
150
168
223
170
165
232
208
173
123
176
203
167
112
171
181
220
176
144
197
171
186
150
170
216
218
159
171
159
205
236
184
204
239
121
112
124
176
167
234
202
205
145
229
225
171
171
208
193
246
150
201
150
150
112
178
124
158
135
121
112
177
220
167
150
112
167
121
165
226
194
186
164
228
123
167
156
172
181
220
171
165
115
112
172
150
155
165
130
192
121
172
167
135
172
159
203
158
209
172
112
194
226
171
112
167
176
167
178
208
112
121
176
193
208
159
121
123
112
170
172
150
195
181
172
208
150
147
136
170
193
112
150
202
112
112
165
192
207
215
208
237
176
176
150
124
121
150
150
226
139
112
132
192
121
260
222
161
212
168
202
121
172
203
183
209
201
241
170
123
121
123
112
181
124
112
212
165
137
121
112
202
167
135
172
220
143
150
229
189
208
297
192
195
177
228
194
112
112
121
167
208
175
174
231
168
147
210
167
161
121
150
136
121
150
176
121
259
158
128
208
112
112
192
158
181
262
195
204
242
162
210
175
112
174
121
231
112
160
196
194
211
205
302
135
194
112
182
121
206
150
147
159
150
147
121
112
181
172
197
150
121
225
167
161
159
202
112
240
172
195
173
167
112
171
214
124
171
112
237
121
150
240
112
194
160
112
121
209
278
165
164
176
112
186
165
170
150
176
175
187
253
121
199
174
177
258
225
229
208
112
207
171
167
205
189
223
170
186
165
171
208
205
172
172
170
212
172
150
112
207
209
208
172
167
150
150
167
172
124
193
255
193
167
263
124
152
121
208
150
202
165
258
212
172
165
237
115
121
208
196
150
144
112
172
150
179
112
208
167
187
160
208
239
212
121
121
135
181
196
112
168
112
220
170
218
128
112
167
210
176
152
160
208
184
136
257
150
192
121
164
115
170
172
237
220
112
172
219
229
172
167
204
228
167
143
208
121
194
232
121
170
121
139
212
234
190
150
186
121
181
150
121
176
150
122
186
196
121
215
170
211
212
202
225
167
165
112
227
209
150
172
172
171
190
170
137
137
172
121
172
147
167
150
150
121
216
174
150
143
165
135
168
264
144
226
174
170
147
156
168
202
115
191
167
172
211
112
208
172
171
147
112
181
302
144
170
150
207
208
150
150
181
153
112
254
172
202
121
220
225
115
123
208
264
208
230
123
175
112
128
201
112
121
194
202
194
121
150
201
150
136
121
168
150
240
150
150
159
112
175
121
181
208
112
137
137
137
209
150
208
255
121
150
176
171
147
174
208
232
167
186
115
209
193
186
231
115
112
240
186
255
150
121
147
165
194
147
170
195
168
186
156
143
200
177
150
194
195
226
208
225
263
150
150
150
220
136
128
264
161
201
171
112
130
201
192
150
210
167
167
181
299
208
112
253
187
258
228
181
225
172
192
192
211
150
150
228
172
112
167
121
176
112
147
169
201
160
150
181
176
186
208
194
112
167
150
210
175
228
170
137
167
165
121
160
176
167
213
176
150
174
170
220
175
302
112
167
172
165
230
150
172
212
194
205
168
175
235
167
186
145
256
176
168
172
167
208
150
159
150
208
112
112
177
270
208
121
171
150
219
112
150
150
115
121
193
150
256
112
205
172
121
121
112
112
172
259
150
209
208
171
159
112
185
276
112
164
112
210
278
136
112
121
150
135
112
112
158
181
112
205
217
167
112
223
156
172
152
181
112
136
208
202
254
176
174
197
123
192
302
172
179
207
213
121
121
225
194
112
170
150
163
121
123
194
209
212
215
165
168
159
187
150
206
167
239
161
255
123
170
202
202
232
171
219
181
206
112
121
208
208
208
172
121
121
171
208
167
194
156
229
165
147
121
150
170
112
174
131
186
176
172
150
216
170
150
202
233
167
173
159
202
128
172
144
203
136
172
150
112
170
243
208
147
186
189
228
112
208
112
165
150
112
240
160
121
215
215
150
170
263
123
167
201
204
121
150
147
121
232
123
150
124
164
278
112
171
150
112
211
210
170
150
164
228
150
232
172
174
121
112
159
112
206
208
172
112
121
226
165
209
167
201
167
201
203
170
112
161
240
171
156
179
190
168
121
207
193
167
201
186
174
156
210
121
181
150
223
121
204
208
139
193
112
172
177
112
112
152
176
209
233
197
165
208
165
150
203
194
170
150
135
210
210
124
212
247
112
172
150
160
137
112
112
136
121
135
171
237
172
176
112
281
175
135
208
135
121
165
186
170
198
160
121
136
121
194
121
194
170
121
178
150
160
112
124
135
167
235
112
167
194
170
170
203
158
121
121
208
137
250
112
112
150
124
121
112
112
280
192
123
112
227
167
208
170
194
124
158
186
245
171
165
158
150
195
147
112
187
217
193
232
157
228
181
187
181
115
150
263
203
213
112
172
172
179
124
167
196
205
150
172
231
130
172
167
112
137
172
209
150
234
112
167
164
137
150
190
198
252
255
150
208
218
121
194
176
150
208
112
150
177
112
180
255
255
112
187
203
136
182
150
172
257
186
112
136
112
167
208
112
168
135
179
208
158
123
163
171
205
175
175
205
210
123
236
229
167
259
123
202
150
216
121
181
170
172
181
121
179
223
112
239
128
181
123
150
135
112
150
194
170
115
136
123
112
208
150
258
186
186
187
170
193
112
243
167
208
112
172
189
112
121
135
275
186
210
123
121
175
208
124
150
112
171
208
150
228
240
136
171
210
175
137
228
150
172
150
218
150
159
225
218
202
172
115
254
250
203
172
168
150
184
121
248
121
174
172
137
150
150
121
165
210
217
242
167
150
112
124
150
150
147
121
167
143
228
172
186
150
115
112
223
171
225
203
168
255
121
179
112
220
165
168
272
219
121
132
112
112
121
115
150
150
150
135
176
136
150
176
171
228
123
121
169
179
137
257
121
112
194
112
160
171
195
130
172
205
193
131
150
128
130
208
121
121
274
245
242
165
156
136
232
240
150
165
112
208
170
195
167
218
181
212
170
187
150
193
231
112
172
195
123
150
137
208
174
202
202
150
112
150
196
207
160
121
240
115
242
136
235
201
175
136
176
239
195
112
208
279
189
170
194
208
135
219
121
173
158
123
121
112
218
193
171
112
173
112
112
219
121
238
172
176
208
128
172
257
167
174
147
207
226
193
176
158
112
178
176
240
121
159
193
121
172
135
193
216
112
136
112
189
112
112
302
202
121
121
170
250
211
135
203
150
112
172
130
136
121
152
167
195
171
194
121
171
150
273
158
253
123
112
181
170
121
172
208
208
150
177
147
143
150
176
193
121
250
150
137
208
115
206
150
282
187
164
112
112
150
194
181
150
197
225
121
176
150
302
192
171
187
208
206
302
226
209
172
112
231
170
121
194
130
158
228
171
150
121
230
211
181
178
112
177
268
158
170
135
121
170
112
167
196
112
201
186
161
171
192
121
201
170
209
150
121
172
112
209
177
150
248
121
226
137
276
194
124
121
112
164
201
208
152
165
208
208
231
176
212
189
172
263
137
247
112
229
143
225
112
137
175
121
165
205
208
150
143
228
112
208
265
123
121
150
192
123
218
237
225
220
171
208
164
130
159
175
115
121
208
150
170
156
231
186
150
208
268
202
171
171
112
135
112
219
236
208
150
193
167
150
212
217
208
121
123
213
137
165
123
112
195
171
205
172
112
255
317
128
237
170
236
115
171
112
172
177
112
121
206
150
172
226
250
167
172
208
170
208
121
250
150
174
212
121
171
112
150
235
224
243
236
210
192
163
255
194
175
167
112
112
177
213
121
136
167
147
181
156
112
190
187
121
208
228
150
170
167
172
150
137
189
182
176
150
210
248
208
188
194
220
137
112
112
150
123
150
173
172
156
172
224
228
253
208
115
150
167
170
135
159
237
176
164
170
121
231
167
200
171
250
121
167
165
150
177
171
255
274
167
150
112
172
217
165
150
150
121
186
150
121
206
160
112
165
207
123
206
121
181
167
165
137
121
218
255
136
147
150
192
170
150
150
201
150
167
161
194
165
175
189
121
121
150
193
228
195
147
205
172
150
112
186
112
171
212
172
205
156
205
130
202
150
167
207
123
175
112
121
255
208
112
208
172
121
167
209
170
164
208
228
121
174
112
135
208
171
157
212
208
208
171
121
150
171
243
259
112
136
112
128
167
150
175
237
220
203
195
112
112
121
219
181
150
176
192
185
150
123
123
121
226
228
112
255
201
150
239
238
233
202
167
227
237
143
170
121
150
237
150
176
150
195
236
217
172
220
112
157
136
172
121
150
121
228
174
201
112
112
193
112
167
167
130
150
150
150
121
156
220
208
181
291
121
150
167
123
237
186
255
170
112
243
208
228
203
147
226
121
208
189
207
209
121
208
179
179
158
112
135
212
196
112
203
150
217
208
231
176
176
112
218
121
171
156
158
185
192
165
112
172
172
194
187
150
121
207
136
243
121
216
190
112
206
208
121
167
231
137
237
167
225
136
150
214
159
228
172
207
121
150
172
112
112
150
150
167
185
160
167
143
112
187
121
112
164
150
112
121
237
231
165
112
160
137
208
171
172
186
170
239
203
196
123
121
150
168
186
150
213
121
121
112
112
217
112
123
275
179
160
292
201
150
172
179
181
121
174
139
135
220
196
150
208
194
150
186
213
208
233
172
112
121
238
210
150
201
121
181
208
228
121
121
226
121
115
272
170
250
112
121
172
150
194
147
208
244
143
208
156
241
112
257
112
181
147
228
201
167
216
150
123
193
156
233
160
225
115
210
150
167
150
201
147
190
112
177
205
208
121
217
239
170
123
236
121
112
150
231
137
210
165
112
208
202
159
150
112
150
178
150
223
208
176
228
239
185
205
170
237
143
250
181
278
203
194
237
208
124
275
150
208
112
228
237
181
123
150
165
228
181
150
302
172
112
171
174
112
172
135
136
201
130
194
112
184
165
115
208
112
123
186
136
112
121
121
112
182
172
165
176
170
135
207
219
171
167
247
299
124
165
231
112
150
187
250
112
219
130
212
150
135
112
232
136
150
150
184
186
115
192
147
150
167
150
112
221
171
170
112
234
218
172
208
271
150
172
167
156
172
177
112
212
150
172
231
219
239
255
181
150
121
203
212
195
194
255
164
143
112
176
171
124
212
160
150
178
170
112
176
134
167
164
171
130
250
281
186
128
150
177
150
137
167
121
121
112
164
167
208
177
218
187
159
237
179
123
201
150
176
244
171
187
167
150
263
186
159
281
181
164
202
124
181
201
176
150
123
205
112
219
181
291
130
211
210
170
302
147
186
112
192
136
112
167
167
200
112
240
202
212
175
177
150
157
170
182
137
171
171
121
170
150
208
121
150
112
177
250
182
112
136
202
203
193
167
121
170
150
121
187
165
177
147
215
208
235
121
220
112
205
228
233
150
231
123
171
150
150
202
121
195
172
121
237
149
237
150
147
208
186
202
172
147
276
171
150
131
136
167
201
112
121
112
135
121
208
167
165
258
176
192
192
193
150
123
161
171
208
172
121
147
171
150
231
172
170
201
150
201
159
112
123
159
172
112
186
216
150
121
135
155
223
112
185
187
161
208
123
201
167
121
228
123
162
239
121
208
112
170
246
276
167
217
156
203
178
195
181
165
172
150
170
112
219
208
150
195
172
226
147
195
184
112
150
171
167
165
172
150
208
239
171
220
171
121
171
215
184
112
167
163
178
150
235
164
159
121
135
212
136
216
150
219
135
150
165
170
112
224
165
297
150
187
264
137
150
192
147
165
218
150
161
115
170
123
123
121
186
302
176
227
208
208
217
136
144
176
137
161
171
240
150
219
217
150
215
194
239
167
243
121
235
194
185
123
194
121
170
171
158
172
181
167
150
112
171
123
218
121
121
208
150
192
167
137
167
239
179
212
208
158
150
112
208
208
115
150
186
115
176
208
171
158
121
208
139
170
112
195
187
167
226
121
112
112
172
179
123
195
121
170
150
238
220
231
174
150
197
228
208
171
226
112
112
165
174
181
121
123
112
194
198
239
229
150
202
208
226
121
186
250
186
164
165
172
208
167
176
210
189
121
208
123
172
243
175
175
150
186
150
167
225
210
123
225
181
225
150
135
135
150
172
263
158
208
205
128
121
215
112
225
112
121
208
121
208
167
150
226
112
213
201
137
174
194
150
194
150
158
170
167
172
247
186
213
150
179
143
175
194
150
170
135
150
150
187
135
241
186
172
252
135
112
167
220
136
150
170
233
195
223
233
239
186
201
176
217
184
165
156
167
121
220
167
201
225
121
112
150
234
208
121
213
121
150
121
194
239
181
234
150
152
164
170
175
228
172
159
150
176
112
112
225
208
195
121
184
112
112
172
121
121
150
150
112
172
156
218
150
187
160
170
167
201
181
239
135
170
150
207
210
266
237
187
136
206
158
225
203
150
121
181
159
147
112
112
170
112
150
225
150
181
187
121
123
112
167
150
171
210
150
165
158
170
208
150
159
112
150
167
228
176
172
112
172
253
160
128
115
219
210
144
241
150
184
212
181
250
229
121
208
172
187
214
112
112
175
112
263
124
150
121
136
150
146
143
112
121
112
112
150
128
195
193
121
144
172
150
112
121
259
130
172
186
210
187
167
228
220
152
167
164
121
201
210
150
195
139
171
191
150
167
121
152
201
112
172
195
112
150
170
170
299
237
208
121
249
212
160
150
150
123
239
181
172
190
203
216
176
165
112
171
123
171
225
165
121
132
112
186
150
124
150
229
167
225
187
228
136
231
156
219
177
121
150
159
170
250
184
170
204
160
208
150
121
150
112
171
150
219
158
171
237
226
144
208
210
135
123
237
130
250
186
112
250
208
213
181
237
123
123
121
212
194
172
228
115
144
167
274
112
257
187
137
123
228
207
150
150
215
181
139
130
218
212
137
208
187
136
115
241
170
121
112
171
170
187
167
112
170
150
171
184
121
202
226
187
172
170
193
121
121
112
130
250
208
150
112
189
245
167
112
220
170
239
121
202
176
131
136
167
121
121
124
150
264
121
137
171
193
112
112
150
208
172
208
250
235
150
121
194
195
112
165
160
202
186
135
167
217
232
150
112
226
194
203
193
165
171
150
150
208
172
150
195
250
172
112
217
158
170
168
225
201
189
172
170
124
193
219
193
198
195
208
228
112
225
150
170
135
208
172
169
228
236
130
150
231
121
176
167
263
233
208
171
112
112
234
121
208
167
190
112
205
194
302
201
216
150
181
150
170
112
167
165
152
112
139
112
218
222
212
147
228
167
112
195
150
270
272
237
225
150
208
241
196
255
206
171
112
135
171
208
112
121
230
212
150
196
167
150
212
152
208
170
171
123
243
176
121
186
172
150
170
193
208
195
172
121
172
170
112
123
121
204
226
176
203
174
112
215
192
253
222
209
237
220
150
212
196
171
226
229
216
123
220
135
219
167
158
112
302
202
135
239
150
265
208
150
214
168
181
112
170
208
112
165
224
218
112
220
153
112
121
203
136
121
112
177
247
176
203
208
121
173
121
263
181
193
163
202
112
176
137
220
194
194
167
143
121
264
250
121
208
176
136
165
174
208
229
112
112
177
171
136
152
165
209
186
192
121
215
152
167
208
229
167
303
121
135
170
123
135
171
121
208
135
172
203
112
210
176
219
282
112
112
121
194
150
150
246
195
161
225
155
193
167
223
165
121
150
189
217
276
201
150
167
112
121
172
232
137
193
201
186
226
233
208
229
150
112
208
158
150
170
167
172
202
202
250
121
130
194
121
172
194
150
170
228
207
208
150
208
179
112
150
121
220
178
208
112
150
193
171
201
150
201
230
150
231
179
112
135
186
172
172
207
167
170
257
200
150
112
205
152
201
239
150
171
112
167
167
172
147
172
194
177
121
208
123
235
150
237
135
208
150
112
168
121
121
194
176
171
121
167
226
112
194
250
162
178
121
220
243
121
112
157
172
167
210
150
165
167
170
279
112
136
143
170
210
208
121
130
170
215
112
229
115
112
123
150
137
156
150
123
172
137
190
193
171
172
112
175
112
150
150
278
115
121
207
112
112
208
160
239
112
186
194
174
203
143
226
236
123
121
121
161
121
123
157
150
188
172
150
121
164
234
269
150
171
145
208
198
112
156
165
167
167
137
193
121
171
234
121
112
167
172
150
112
190
225
167
150
112
121
167
130
147
187
150
205
240
150
167
177
229
115
150
181
115
210
232
181
121
187
150
231
195
149
194
208
227
150
238
195
164
123
135
257
112
193
205
112
170
217
131
150
186
264
112
172
181
164
158
267
150
202
171
236
144
208
187
112
192
167
137
112
156
165
170
201
150
167
239
176
175
121
194
181
170
176
135
135
237
121
187
121
189
210
150
143
165
112
121
178
212
208
208
252
112
237
164
187
170
136
221
196
302
112
112
150
202
234
272
112
186
112
194
174
205
165
195
181
167
135
171
181
123
187
208
208
228
301
121
171
171
172
167
172
172
172
228
172
136
223
225
147
232
201
171
176
150
174
176
226
250
167
170
160
208
150
208
172
167
112
171
212
152
194
167
258
172
130
181
165
152
171
112
168
150
158
137
187
182
206
172
123
163
112
172
194
165
167
170
156
150
112
172
228
172
177
206
143
144
167
192
208
158
192
112
165
210
187
135
162
121
214
250
165
164
112
136
162
175
228
178
112
150
171
150
150
234
121
172
157
137
121
255
150
150
121
121
150
228
150
237
112
112
112
124
165
187
186
177
210
172
168
150
171
176
172
216
203
208
228
135
176
162
212
208
150
147
176
209
279
172
184
171
123
208
187
135
112
135
124
159
255
187
239
218
202
150
135
128
112
165
218
121
112
216
121
112
187
236
177
198
150
156
211
194
175
135
167
112
253
123
136
179
174
194
202
156
210
228
130
150
176
115
170
255
212
112
167
135
195
179
170
170
263
177
171
194
170
236
150
170
137
159
150
123
131
208
261
195
202
112
172
112
131
207
135
123
150
112
237
194
213
228
208
164
208
208
172
226
228
248
123
121
217
121
228
171
203
170
121
167
167
233
194
150
170
163
130
237
223
176
250
159
170
171
167
182
171
208
208
112
150
226
208
217
255
167
193
202
208
195
237
150
208
208
150
192
211
208
150
203
167
112
171
112
194
235
181
112
135
121
150
172
229
171
255
239
147
121
211
121
192
112
194
165
143
232
231
112
121
228
150
197
279
135
112
216
150
123
201
136
194
150
168
171
158
161
157
112
150
121
112
208
203
181
150
121
218
150
233
147
170
204
165
195
121
160
181
171
210
225
123
176
112
239
193
170
137
112
121
150
159
239
182
208
220
159
173
150
130
150
121
146
195
150
236
150
112
115
195
243
121
177
115
121
245
189
193
179
150
174
181
112
243
233
255
208
167
216
156
193
208
167
121
124
250
150
219
187
121
123
112
176
189
167
136
147
244
112
226
112
135
121
137
165
203
150
260
255
121
226
239
131
201
150
115
150
158
150
205
170
187
150
150
240
139
128
208
158
150
210
123
237
181
232
112
171
172
112
112
226
135
250
158
236
112
121
172
112
150
156
150
210
212
112
221
193
195
187
208
202
115
150
172
150
121
124
130
112
155
195
237
112
176
147
112
194
112
150
163
156
170
124
217
176
167
202
159
255
194
150
203
112
227
186
167
210
176
143
215
176
170
195
167
211
239
123
216
150
172
250
121
186
205
150
147
150
210
176
167
164
136
163
172
194
225
160
181
186
123
112
228
210
172
167
168
121
239
225
115
210
112
147
137
143
112
202
150
187
208
177
179
176
166
184
137
195
215
150
147
194
171
176
121
208
165
121
202
128
123
208
112
194
136
170
144
193
121
150
194
150
171
130
167
191
150
150
226
172
232
208
150
245
150
167
228
172
112
219
150
187
176
267
226
121
231
112
160
220
135
167
112
181
112
181
135
171
176
128
167
176
187
121
171
228
204
165
234
150
159
123
226
181
274
167
150
167
220
172
182
217
143
172
208
194
195
231
228
128
150
210
181
150
200
167
181
152
159
208
121
232
112
239
170
172
150
231
150
150
181
186
263
255
208
208
203
165
194
208
179
150
156
231
112
208
128
112
194
167
176
181
150
165
159
172
297
174
121
123
228
208
121
176
224
164
135
162
170
190
186
159
121
146
112
112
121
170
177
164
202
212
176
233
207
167
194
170
172
112
181
150
226
194
150
172
238
121
112
150
228
167
112
156
225
182
239
168
121
262
158
150
207
172
211
112
168
171
121
193
150
217
194
112
176
122
147
156
176
165
194
195
216
171
173
189
171
231
189
229
228
187
187
112
170
112
150
186
150
205
135
242
153
112
135
171
165
213
208
158
213
208
135
212
215
150
172
182
150
225
205
121
136
150
237
177
112
231
124
201
167
165
219
223
255
194
150
207
253
203
157
208
128
163
112
172
186
121
176
150
167
150
121
211
270
175
112
150
187
208
208
174
136
150
205
172
248
139
170
253
194
115
123
112
172
115
121
131
165
153
170
208
123
172
264
121
178
124
150
167
112
176
210
248
124
112
121
193
227
147
112
150
194
164
172
172
212
121
135
227
172
167
197
172
178
208
115
150
186
158
177
193
137
172
201
208
121
150
213
136
237
150
182
150
112
231
202
186
213
136
112
121
167
161
130
208
239
175
178
265
187
123
167
250
112
158
159
228
241
150
143
121
203
196
121
152
150
172
165
213
112
156
203
226
234
222
177
171
232
192
193
208
173
112
233
243
194
160
137
112
121
162
170
112
194
214
172
216
186
165
172
195
137
165
194
214
135
220
225
121
158
123
215
165
208
253
156
199
170
150
186
136
123
186
202
174
123
121
231
159
212
167
172
275
167
170
186
208
232
278
150
171
112
137
150
176
150
181
186
199
195
194
150
250
171
159
214
157
207
227
179
112
150
121
172
172
150
150
243
121
136
194
186
124
121
121
237
156
230
231
115
189
112
231
165
167
239
204
112
203
235
236
112
121
278
212
112
203
121
112
255
192
150
164
112
259
202
172
229
170
121
128
230
147
115
150
215
150
190
176
235
170
172
123
160
121
147
208
121
137
137
112
150
228
112
112
123
220
121
168
167
194
137
193
150
123
165
237
158
178
196
112
174
217
194
147
191
179
112
186
243
161
147
167
208
150
176
172
167
226
186
123
159
172
147
112
170
121
234
158
150
172
208
208
128
112
237
112
278
171
147
208
171
237
192
183
170
147
150
112
172
168
205
250
112
121
112
168
135
167
176
121
242
234
187
260
121
183
208
165
112
181
150
112
192
205
178
172
167
112
158
172
170
128
219
172
202
186
172
279
207
211
202
172
181
194
170
150
165
170
171
172
112
136
121
210
123
156
234
171
150
150
128
136
172
208
123
150
227
170
201
172
199
228
156
177
112
250
112
208
121
174
121
278
172
150
172
208
121
163
121
202
123
170
112
167
160
203
152
263
150
150
220
212
135
176
210
213
121
217
121
208
201
175
186
175
123
170
121
255
187
208
159
121
172
203
250
259
112
115
165
221
130
208
168
171
171
187
123
241
168
202
207
284
112
112
244
150
121
165
193
232
167
237
150
190
112
123
240
159
201
238
189
247
121
164
165
121
115
238
150
112
177
239
123
156
137
206
121
158
176
208
212
167
112
237
193
208
195
208
124
189
174
213
150
194
194
175
183
208
165
250
124
165
136
112
187
150
263
121
195
177
121
167
236
159
239
121
276
123
240
176
192
161
112
171
172
208
172
250
208
177
208
208
159
167
136
123
192
193
194
233
208
186
205
139
171
208
139
208
121
159
216
194
167
228
156
170
202
228
203
123
189
121
164
186
208
150
150
121
220
193
195
304
231
187
179
135
164
171
186
112
172
165
150
112
170
202
123
170
123
205
150
208
112
234
170
150
220
257
190
159
237
239
195
112
149
131
170
171
208
121
176
121
112
150
150
170
192
137
150
136
165
150
208
187
168
165
181
207
212
165
265
208
193
215
167
137
171
150
286
158
225
200
130
172
200
171
212
213
121
172
205
150
192
164
208
112
123
127
208
187
121
195
167
167
176
208
150
150
121
112
121
212
187
112
112
231
123
171
167
177
208
187
228
210
178
236
167
146
253
121
208
208
123
208
225
170
150
172
121
112
121
192
171
208
150
112
135
228
208
172
177
228
181
177
124
121
219
150
121
164
152
208
156
121
193
170
208
210
167
195
135
213
150
226
112
115
165
179
150
121
150
112
165
167
168
137
195
239
201
147
172
150
170
170
204
150
150
172
128
201
194
176
170
112
112
150
159
195
112
207
135
208
159
207
227
186
121
214
172
171
236
208
150
172
195
159
112
112
137
150
172
225
112
208
202
168
171
238
210
135
212
212
160
167
228
121
225
137
208
136
181
191
275
112
201
124
194
171
178
150
263
278
112
112
177
175
172
170
187
197
214
208
150
162
150
123
175
130
250
150
176
121
194
194
171
112
121
150
217
165
112
168
121
171
147
160
184
186
121
121
217
215
183
170
171
254
112
194
193
150
172
208
167
218
150
225
152
217
172
150
177
220
156
220
150
279
121
256
164
252
137
156
121
207
128
172
112
228
167
112
152
177
115
136
167
150
214
210
171
212
228
170
181
159
150
157
112
173
170
150
208
170
210
170
172
150
237
208
196
150
208
171
241
121
196
112
227
150
171
115
242
225
112
130
243
150
208
170
172
112
172
121
216
121
205
181
135
112
187
173
123
123
202
195
170
150
208
190
112
121
181
167
150
147
172
128
208
165
121
255
229
264
150
218
205
123
112
112
194
146
135
168
202
171
193
208
168
208
250
193
240
150
150
176
171
174
173
218
205
150
239
178
165
153
112
250
202
257
163
242
203
112
170
168
172
150
152
208
228
167
192
249
193
136
218
208
112
174
279
172
187
236
112
147
121
231
237
230
150
228
212
219
170
187
250
150
136
302
189
226
121
208
189
203
150
172
150
179
121
112
150
112
121
115
167
150
167
208
150
123
144
112
172
137
150
167
121
208
162
150
237
167
137
181
171
208
150
137
263
181
184
123
172
150
171
112
150
112
189
172
150
198
238
194
231
170
174
112
257
212
195
201
160
150
121
150
203
115
150
135
213
259
150
135
207
208
167
179
209
156
278
165
167
186
150
244
218
150
170
158
208
123
172
121
137
203
123
171
201
250
210
121
167
208
150
239
112
168
194
171
121
143
181
167
171
150
186
172
121
208
160
112
208
225
164
168
165
160
150
137
150
172
165
150
135
112
124
210
121
170
212
150
208
167
112
172
115
112
212
150
172
208
121
128
207
217
201
194
194
194
209
170
172
167
150
254
228
226
200
150
112
203
190
195
220
150
208
208
260
121
255
121
276
121
112
208
112
186
192
172
121
136
121
167
168
112
121
112
150
150
162
150
219
135
150
193
112
220
150
172
130
121
115
186
112
112
208
228
181
171
121
181
177
195
121
150
243
195
121
135
135
228
208
123
172
170
150
232
174
150
150
172
220
266
121
203
208
179
172
121
121
199
181
150
190
193
218
174
112
241
201
228
170
164
167
253
150
172
160
131
172
150
208
255
201
121
112
171
156
135
208
150
178
202
194
203
135
194
121
112
205
128
232
194
150
236
150
121
179
208
150
172
172
156
216
150
112
176
243
170
172
171
202
236
176
176
123
181
193
150
194
122
170
150
150
219
167
150
147
146
186
215
193
225
259
150
150
184
170
217
121
170
186
150
238
171
203
208
135
141
150
208
171
172
112
228
208
172
150
158
237
195
218
225
171
250
164
184
195
192
167
150
112
152
194
150
194
165
165
174
175
255
121
195
112
228
159
150
150
193
165
237
233
210
195
255
228
170
176
208
194
150
237
112
176
172
205
196
228
121
150
186
243
243
135
228
137
150
143
171
214
207
121
167
176
210
208
208
112
172
236
261
112
181
220
195
150
176
147
176
112
150
208
147
175
112
210
210
184
214
170
177
288
218
172
194
121
172
174
203
176
150
136
250
229
226
112
158
112
281
150
123
147
171
150
137
121
150
121
150
150
181
226
135
250
164
176
112
217
158
207
112
203
305
189
121
150
247
112
150
121
137
172
165
263
112
150
228
223
172
207
137
121
132
241
150
136
204
187
193
150
208
194
150
186
171
201
174
121
229
150
150
171
194
233
121
195
172
123
170
121
208
193
193
162
158
172
156
123
172
220
220
150
172
186
121
181
135
233
112
171
217
172
137
270
167
150
237
181
112
235
210
121
181
201
123
123
147
115
164
147
150
121
255
170
121
150
143
150
150
167
213
208
170
208
208
201
170
150
195
130
194
158
172
112
150
193
210
195
176
175
172
195
167
160
208
150
121
258
123
209
239
136
205
112
190
217
152
150
121
150
170
208
170
124
208
167
187
124
112
150
255
167
123
170
218
123
174
121
121
167
208
194
208
231
112
195
112
172
135
203
198
137
123
204
208
210
150
250
237
150
172
150
170
202
158
239
219
179
228
130
237
135
123
170
208
121
112
208
112
201
186
168
121
179
112
112
229
150
121
172
274
208
172
172
165
194
172
279
164
205
121
112
150
194
167
234
176
174
150
121
208
164
136
150
143
220
130
150
170
112
150
121
201
165
156
121
112
112
194
162
112
136
165
170
150
150
150
167
172
202
231
171
150
208
214
150
208
176
206
150
213
203
123
183
165
150
250
137
222
167
150
179
165
172
112
143
152
165
112
172
167
172
210
207
112
156
208
244
201
195
115
202
171
208
225
228
210
123
275
208
206
170
219
164
121
196
168
112
172
194
193
202
218
112
150
181
123
150
233
121
112
172
168
179
112
203
171
112
112
170
170
221
112
203
207
181
150
302
112
164
193
147
147
186
172
172
158
159
255
193
226
219
204
208
160
165
228
208
243
174
177
181
150
170
150
123
121
167
208
121
167
130
245
172
112
208
150
150
208
115
136
237
130
171
112
228
123
121
201
121
219
208
150
170
115
210
232
167
228
150
164
150
213
121
150
225
150
208
124
112
186
181
157
112
214
150
160
219
219
228
112
176
121
194
194
168
152
171
208
219
170
194
150
250
123
136
178
170
123
208
188
208
192
245
168
147
181
239
115
204
201
171
167
201
195
195
208
171
197
170
170
172
229
193
210
172
192
195
112
275
191
181
195
168
164
210
228
150
170
217
232
165
170
209
159
187
201
229
112
208
184
192
144
123
205
208
192
112
243
170
171
112
177
199
150
123
150
170
174
112
228
150
204
150
121
121
172
193
170
187
150
150
174
217
160
171
150
112
123
250
213
193
258
121
165
123
284
124
177
147
147
255
195
121
216
121
157
121
112
112
124
121
112
187
170
171
171
164
233
121
172
195
172
191
121
115
121
193
217
121
229
165
231
124
150
112
121
150
121
252
171
121
121
172
112
202
112
150
150
150
172
236
211
121
181
207
171
314
212
174
150
179
218
173
172
213
165
121
150
172
177
150
208
208
176
217
123
231
171
297
208
228
156
150
123
174
208
231
208
150
150
130
181
137
121
112
170
165
112
121
121
219
172
172
150
112
208
121
302
150
150
203
135
150
203
193
208
170
170
171
121
202
220
152
167
150
172
235
153
218
150
128
194
150
112
165
195
201
170
121
164
150
123
215
189
123
203
208
121
194
201
208
143
150
231
228
167
186
186
112
152
228
112
208
146
172
201
150
177
128
171
193
150
193
164
196
172
112
171
172
136
228
112
212
172
112
121
150
121
150
192
157
121
112
121
150
167
112
128
170
237
237
212
208
184
164
121
167
172
123
150
112
168
170
147
150
165
167
171
137
112
212
123
186
136
165
176
150
112
121
254
215
172
210
171
150
167
181
195
150
131
112
121
150
150
150
147
194
171
163
236
203
203
112
172
112
202
231
182
136
244
150
172
171
163
121
208
187
172
112
115
112
168
192
112
228
150
121
121
181
243
217
172
220
233
121
208
232
171
159
150
187
165
168
170
170
176
201
194
208
121
206
150
150
237
187
146
167
201
236
112
181
327
121
121
226
150
150
207
249
193
121
167
115
170
186
147
195
170
188
112
203
187
115
150
159
208
165
171
297
233
211
146
150
275
123
170
121
156
158
165
167
243
193
121
226
190
121
208
156
174
170
121
165
218
112
170
263
150
112
150
124
186
121
112
150
121
171
165
150
176
227
123
212
172
147
194
177
121
231
121
181
137
168
135
150
235
167
112
121
223
299
176
172
165
124
112
218
207
278
172
172
168
176
112
150
186
226
181
150
171
209
197
130
172
208
176
124
144
121
172
115
171
174
128
167
135
176
123
115
112
181
150
195
172
241
112
112
165
112
165
212
150
183
177
144
191
219
257
208
192
229
186
170
171
121
264
112
181
194
208
207
121
167
218
137
175
220
112
156
130
121
231
167
167
195
170
150
243
219
201
207
208
165
181
217
130
171
181
172
176
137
186
167
194
218
128
168
150
181
228
121
176
208
112
232
193
121
193
158
202
121
150
164
115
171
112
121
115
156
123
236
233
115
150
170
218
137
241
208
182
168
176
150
112
121
121
171
150
112
172
225
170
182
176
121
121
121
228
171
186
170
302
187
164
170
250
172
172
150
137
208
167
181
171
165
159
172
342
112
172
143
194
123
123
172
147
208
121
136
123
172
150
205
115
158
202
170
253
150
121
193
195
121
263
186
224
150
112
112
136
203
172
177
150
208
159
128
112
174
165
208
226
193
171
144
181
172
177
225
225
152
150
260
128
150
112
112
182
112
150
205
150
123
121
217
185
189
165
159
121
165
175
121
169
214
121
123
202
112
228
184
121
208
150
150
150
150
130
193
189
150
173
167
128
193
171
184
179
164
170
176
172
176
171
208
176
233
121
150
194
150
239
167
208
186
112
152
123
208
299
112
112
124
136
177
195
165
121
123
170
164
171
124
170
234
172
150
152
175
123
165
187
177
228
147
121
121
136
239
194
139
112
130
228
112
176
112
215
230
136
208
172
115
203
189
165
167
184
237
167
177
121
289
147
150
121
194
192
194
121
176
172
123
121
215
193
239
150
112
136
123
220
150
150
189
165
121
115
150
115
130
172
208
195
176
232
208
112
115
150
150
236
168
194
192
123
208
121
223
170
124
115
112
186
171
149
150
167
121
156
172
208
150
176
237
217
167
112
121
202
187
263
167
187
123
208
243
181
167
208
186
121
194
123
172
176
208
172
219
147
181
171
201
276
164
214
150
167
121
150
112
176
172
164
181
150
172
203
195
115
181
181
137
112
121
137
230
112
243
172
150
210
121
194
177
124
176
208
150
130
235
177
150
172
172
170
168
121
237
150
176
112
112
171
210
177
208
212
210
123
176
229
112
165
183
247
176
170
220
195
230
167
115
167
150
135
237
210
264
194
208
150
112
176
242
194
212
273
121
165
121
112
170
167
172
167
150
115
121
216
150
112
212
112
263
112
112
160
208
192
121
254
135
159
112
121
112
220
121
124
193
189
121
124
257
121
115
150
179
171
193
240
171
194
121
220
123
219
210
123
172
237
136
265
160
112
176
136
136
165
202
139
209
237
158
189
226
158
220
187
150
208
164
177
201
208
233
208
229
172
112
135
204
112
217
187
150
176
240
208
112
123
121
228
181
276
208
124
112
158
201
121
219
228
194
177
172
150
172
121
167
217
172
152
199
208
176
112
143
150
173
239
150
150
281
177
167
167
112
275
172
112
213
219
124
159
202
150
146
186
150
302
214
152
150
198
121
121
159
164
234
150
170
150
121
170
172
150
201
121
167
158
165
112
158
112
172
234
167
171
147
150
160
226
193
208
202
208
176
150
265
150
226
143
143
176
205
150
228
147
170
137
121
177
170
202
189
124
150
121
112
121
203
150
272
135
170
147
172
150
208
231
137
174
115
112
147
112
112
150
208
158
171
255
167
231
121
159
150
112
124
243
165
150
121
194
167
112
172
112
112
123
150
146
181
201
193
165
259
112
167
135
112
176
165
176
115
229
112
190
150
121
165
112
147
150
229
210
172
159
124
217
121
233
165
112
171
203
121
143
150
172
208
187
158
208
168
210
112
112
210
208
123
172
232
121
172
121
194
202
150
150
302
172
121
201
147
123
212
255
192
150
172
172
231
115
150
170
172
141
150
208
255
208
112
112
121
165
236
243
150
112
217
135
178
208
177
231
165
193
202
210
203
170
208
123
170
112
124
175
112
135
137
208
241
193
227
171
232
208
229
228
181
189
164
121
112
136
112
136
209
121
255
208
172
135
170
226
213
112
219
112
143
162
205
176
224
181
194
137
150
302
135
172
165
172
208
266
208
135
171
135
112
160
171
150
145
123
208
121
112
121
172
172
121
121
228
231
172
193
237
239
250
150
212
177
112
208
239
217
255
150
164
186
212
136
208
176
147
220
203
233
223
193
158
150
192
165
150
165
208
177
121
176
190
150
205
135
150
165
172
147
172
172
147
180
150
176
167
167
203
250
196
112
181
176
128
123
215
302
167
124
159
150
158
158
135
270
231
167
124
208
128
150
152
123
228
302
176
167
237
121
201
187
171
112
174
208
124
250
275
123
176
150
171
112
144
172
150
121
170
255
231
172
121
112
246
202
112
170
112
136
176
158
165
208
158
202
208
208
202
226
195
112
112
186
156
112
150
160
144
147
164
208
136
181
136
269
238
171
150
186
112
150
112
212
112
165
172
189
160
147
186
170
164
208
121
164
167
137
150
112
228
172
255
236
172
121
115
112
156
168
136
228
167
186
242
228
243
167
220
172
123
150
156
208
152
181
211
278
194
112
204
208
228
167
208
210
121
150
121
208
208
123
175
165
228
194
172
187
237
176
112
121
147
210
123
112
123
121
121
201
112
187
160
302
181
172
171
177
167
208
208
121
202
257
150
204
193
121
186
208
150
150
171
161
121
208
212
263
164
219
121
137
187
171
201
112
171
232
240
112
150
208
202
152
174
171
171
144
144
124
137
158
228
263
136
208
210
172
123
150
112
150
193
208
150
177
171
170
172
195
112
112
202
112
160
167
112
112
115
250
207
112
150
150
170
223
112
241
218
121
170
172
147
215
115
136
237
171
150
259
123
208
240
112
112
167
219
189
194
123
176
160
207
167
162
208
165
193
112
171
212
112
112
181
147
205
121
278
150
159
121
121
167
292
231
244
137
186
208
158
121
121
220
231
121
203
150
190
193
172
165
186
112
150
150
112
172
193
224
208
121
167
121
209
164
237
228
112
225
203
208
197
205
150
177
220
121
112
121
121
213
194
167
121
175
192
160
192
121
233
226
128
190
223
176
124
217
167
112
150
209
172
240
135
128
150
112
150
121
157
112
201
135
112
112
240
165
130
186
121
216
251
172
192
208
189
150
245
208
172
177
240
170
164
112
208
150
136
172
121
112
112
112
200
276
150
264
208
150
121
226
208
194
160
164
243
212
255
112
239
302
150
247
204
123
150
150
181
112
112
210
121
168
192
206
170
208
194
121
232
172
228
124
194
208
172
181
121
218
249
135
123
150
150
208
210
176
201
201
189
181
115
150
137
216
121
150
150
167
189
255
164
220
161
123
267
194
150
189
184
167
194
124
226
150
160
186
172
112
112
150
167
150
150
226
152
135
176
115
199
150
165
112
268
168
194
172
121
210
170
208
228
199
159
181
158
147
150
137
193
150
181
171
171
121
144
124
208
150
112
263
150
167
205
187
172
198
156
156
121
207
121
143
208
225
170
130
167
193
165
208
195
156
130
181
187
208
212
121
112
123
131
208
112
121
237
121
171
115
164
150
167
121
208
137
135
220
228
150
208
267
121
121
167
210
123
218
208
203
186
150
202
170
212
136
227
167
172
159
121
121
121
150
177
203
112
176
193
302
164
193
112
150
211
225
212
168
172
243
233
237
112
174
112
171
112
167
150
150
202
150
278
170
150
256
150
175
215
150
189
219
181
239
128
200
176
193
231
217
115
186
112
241
136
150
220
198
186
160
121
187
167
135
204
112
150
150
225
112
112
137
263
177
194
172
121
237
158
150
112
233
175
174
208
212
264
220
184
253
250
144
193
228
202
174
206
171
229
212
112
172
213
172
123
167
172
121
167
212
208
112
123
208
112
165
186
167
176
182
150
143
195
112
171
112
278
167
217
112
137
150
170
150
121
244
121
171
136
123
207
136
112
112
236
208
208
123
112
121
231
203
150
112
160
164
170
112
276
209
136
137
150
172
121
196
182
172
121
170
194
131
177
112
112
192
241
150
193
194
136
228
240
205
150
208
112
195
150
145
176
165
170
139
121
121
177
189
121
123
226
121
123
226
150
176
121
137
123
112
231
194
150
208
172
237
112
171
195
217
152
150
137
217
135
167
165
176
208
212
236
172
121
229
159
192
123
172
121
174
123
112
176
217
124
112
150
219
186
213
172
115
217
112
150
224
137
165
171
171
150
150
164
150
167
123
159
181
196
220
292
159
137
172
197
136
171
123
231
168
208
229
172
112
172
121
186
123
232
250
205
234
167
150
171
150
167
193
121
172
302
121
208
115
112
167
165
121
220
164
202
170
172
172
150
121
121
208
167
165
123
194
121
112
121
167
266
208
121
215
124
229
121
112
278
115
167
150
215
164
276
210
150
150
206
159
179
177
176
179
172
160
121
123
150
191
187
172
144
194
203
211
150
201
208
135
255
238
160
238
150
189
186
207
193
150
234
143
131
159
205
213
112
121
186
211
187
115
237
219
150
121
150
112
187
150
196
112
209
212
248
166
150
176
187
165
220
234
195
167
137
115
170
112
135
137
263
121
179
202
219
158
199
121
170
237
152
150
208
278
137
170
174
239
167
193
218
121
150
153
121
136
150
196
171
150
141
172
203
238
121
150
181
112
196
165
152
135
112
172
255
194
135
264
121
176
124
202
147
194
281
115
172
145
171
225
112
208
112
214
210
177
192
239
152
121
203
157
179
121
164
130
187
115
121
170
112
150
112
227
135
172
208
176
170
147
279
240
147
150
150
135
237
170
121
189
161
164
231
112
141
150
194
123
215
112
225
208
172
256
163
172
208
158
121
165
112
182
121
172
135
197
181
187
135
195
150
167
172
170
121
161
167
227
112
174
159
157
150
112
219
135
177
112
150
172
150
193
165
263
208
265
213
121
173
201
181
219
181
228
112
207
130
121
167
121
170
172
112
236
163
123
181
171
167
211
150
130
123
150
164
159
176
150
170
237
209
208
212
147
211
223
112
281
181
186
112
234
165
171
112
137
190
217
150
171
170
181
150
161
164
202
121
212
150
228
165
193
208
121
194
229
112
150
209
112
217
228
137
150
147
121
150
158
167
150
208
208
172
170
172
257
112
150
115
124
135
121
112
172
112
202
240
190
229
208
135
172
150
238
135
112
182
214
170
170
225
226
208
172
227
171
208
112
228
208
244
194
168
121
165
211
150
190
197
170
159
186
172
167
218
171
187
150
115
171
171
112
226
187
174
170
224
235
207
112
165
150
135
170
167
121
121
227
181
167
231
150
239
205
193
208
186
112
146
150
171
230
164
112
236
202
172
177
236
121
152
202
226
171
193
132
172
201
137
150
226
128
150
112
150
112
176
195
170
186
181
172
157
208
246
141
194
136
172
264
218
158
123
124
150
150
121
150
150
150
179
186
137
171
171
137
123
178
150
121
182
170
150
231
207
121
128
112
158
209
170
121
239
121
150
195
123
115
112
112
167
208
202
112
172
175
159
121
112
156
194
167
112
208
160
228
150
150
161
224
237
147
181
208
124
207
152
204
172
177
112
121
203
178
177
239
112
112
112
112
208
172
243
193
135
181
137
167
144
161
172
150
208
208
170
112
170
121
121
202
168
187
208
208
195
112
195
112
208
164
202
112
214
239
233
165
152
158
226
239
224
172
165
219
112
302
228
208
248
186
168
121
160
162
228
217
150
121
161
193
112
150
123
150
189
112
177
112
228
190
190
128
150
176
256
150
136
231
121
214
208
186
121
256
208
171
181
186
170
112
150
156
219
149
171
150
159
194
121
218
175
167
228
152
187
186
121
208
211
177
112
172
157
112
168
167
121
158
243
150
112
124
342
130
121
208
194
194
258
171
170
232
135
193
112
239
204
220
226
112
172
176
187
196
206
121
150
150
223
131
172
112
202
195
192
187
170
139
234
218
135
150
240
267
164
167
207
112
121
150
174
210
202
220
112
201
181
121
172
150
175
181
240
167
201
195
115
121
124
186
264
170
194
181
167
121
203
170
123
115
208
226
194
208
170
196
193
178
186
167
150
112
115
203
186
199
112
243
167
202
207
112
150
165
237
171
165
212
112
171
172
121
121
168
210
187
112
165
171
219
208
150
191
201
150
208
150
121
203
194
112
172
150
237
127
143
181
150
172
121
121
112
239
237
250
112
167
121
229
139
164
208
115
207
175
121
212
172
150
164
195
172
167
124
204
115
208
150
121
130
112
135
202
150
167
208
150
259
112
112
208
156
130
123
237
186
121
121
208
172
228
250
121
174
167
150
192
210
195
150
207
128
272
176
150
112
112
208
150
186
123
208
181
233
231
267
208
172
236
182
208
181
208
146
115
184
147
175
150
137
178
202
112
189
165
201
171
225
184
199
187
150
150
219
181
158
135
171
123
192
228
187
150
202
212
199
170
112
187
208
173
229
215
176
115
150
136
202
167
158
195
203
112
208
203
167
165
121
204
150
220
218
135
177
172
150
150
124
112
195
150
147
208
147
225
187
255
219
150
150
112
121
128
171
211
177
215
194
121
128
193
201
137
121
210
184
204
123
171
195
139
112
112
171
239
121
208
235
165
123
201
112
215
162
112
266
210
217
195
191
135
232
187
135
121
181
112
112
210
210
124
112
160
150
112
156
176
167
158
186
208
208
224
121
161
136
150
167
112
165
172
112
170
172
250
209
164
112
210
170
212
239
196
121
220
152
124
181
171
173
150
150
297
208
194
112
202
235
159
203
177
150
186
112
208
150
150
186
112
181
228
158
226
189
143
121
112
186
150
137
121
150
243
228
208
212
123
228
159
165
149
112
177
219
207
112
226
121
115
208
172
150
176
177
186
212
159
214
205
258
171
152
208
147
121
164
179
217
177
136
195
150
172
112
234
170
238
112
228
147
147
147
217
121
227
225
121
112
172
167
172
208
150
171
170
208
187
237
170
224
202
250
250
136
172
215
112
212
194
210
172
162
112
150
202
170
171
178
181
190
184
160
123
150
150
171
112
136
202
185
205
170
172
137
249
181
208
222
112
167
152
150
128
167
257
167
150
177
218
215
197
112
186
127
121
164
208
150
112
208
240
112
136
192
158
190
194
209
150
167
168
220
176
204
150
112
263
121
219
187
192
250
194
184
121
194
167
136
210
201
137
123
147
225
228
208
179
172
199
167
112
181
121
181
121
150
172
170
123
112
123
170
241
257
181
247
164
168
208
189
171
150
231
170
255
172
157
123
250
121
167
181
239
121
176
128
196
167
146
121
247
174
172
121
112
147
121
237
150
165
239
175
172
208
213
112
172
167
156
150
172
170
128
112
121
170
256
181
170
172
172
121
170
176
170
121
123
150
115
186
121
150
228
228
203
112
176
121
218
150
172
157
174
242
168
150
194
187
121
121
186
112
189
160
112
112
202
167
231
195
176
217
121
147
201
175
170
121
228
250
205
150
174
167
123
112
150
165
208
130
121
121
170
136
187
123
112
167
240
193
121
203
121
171
167
121
121
139
167
150
194
171
194
226
121
279
150
201
121
112
156
152
239
177
217
176
210
192
160
135
147
219
171
172
167
131
196
147
160
240
167
208
121
201
201
193
167
130
121
164
164
156
150
210
128
177
121
112
150
170
237
237
150
135
159
181
220
150
210
150
250
121
194
208
112
121
267
220
156
150
171
177
208
121
152
150
160
203
208
208
121
112
147
229
176
170
167
193
156
165
150
174
137
135
208
150
210
171
136
208
167
143
171
186
228
121
128
136
167
112
115
218
212
112
228
185
150
137
170
181
176
196
172
181
135
121
170
124
121
112
112
221
150
167
121
147
228
167
172
150
208
208
128
121
147
150
167
220
272
233
135
165
135
176
170
160
167
115
160
121
147
130
136
150
112
193
150
152
121
115
150
124
167
194
195
181
250
112
164
134
194
194
176
170
112
167
112
150
255
250
167
237
115
255
219
156
172
112
158
150
207
112
176
121
172
205
150
202
139
176
121
128
170
181
112
123
167
123
239
150
242
167
115
112
121
124
212
208
170
112
160
171
195
167
250
243
121
112
172
250
137
216
165
207
130
123
170
167
240
172
143
121
123
112
208
239
171
131
167
250
208
219
245
121
215
121
194
178
239
121
176
143
121
176
208
121
190
172
196
136
112
195
167
217
170
208
150
174
150
207
228
150
158
181
150
121
165
208
150
208
112
172
237
250
112
121
212
224
143
207
170
150
123
112
170
112
218
218
137
172
210
112
194
121
168
242
237
167
256
164
136
171
155
121
121
187
156
150
201
152
136
194
170
208
150
135
171
121
203
150
302
218
172
202
150
226
150
276
135
202
236
165
123
195
181
137
184
112
208
210
194
243
231
135
150
130
208
136
128
229
259
165
150
150
256
208
172
263
193
220
170
123
178
136
167
208
112
112
158
276
186
115
121
194
112
208
121
158
115
121
123
208
158
150
234
297
112
136
203
243
172
167
192
181
181
150
219
225
112
137
187
201
150
186
172
150
187
194
167
181
171
276
268
212
123
164
247
112
195
176
176
171
172
166
147
158
112
170
239
241
175
123
167
225
115
136
235
132
147
172
123
121
121
192
167
242
206
112
135
173
156
150
186
208
150
158
171
192
240
112
130
112
112
195
209
112
132
229
171
150
112
172
161
150
150
150
123
158
136
170
170
150
187
176
150
150
146
176
176
171
150
121
186
147
172
121
175
150
121
177
123
115
201
112
203
112
176
115
195
115
150
192
208
174
112
235
136
176
168
208
150
246
167
158
257
193
194
170
172
167
123
121
250
237
150
195
187
177
172
219
228
170
228
193
217
167
232
202
179
167
150
112
170
121
176
194
250
170
174
172
112
165
112
150
130
112
172
150
210
208
194
121
202
159
260
210
210
223
115
195
112
172
164
130
150
194
112
150
121
212
156
212
225
177
136
123
150
165
167
208
150
168
150
172
181
137
112
170
199
121
170
205
172
158
150
250
160
190
210
150
124
175
218
181
121
193
228
228
231
139
195
211
150
181
182
194
231
112
170
202
208
236
152
150
165
112
121
147
137
172
112
177
186
115
171
194
170
112
150
112
237
156
158
121
167
165
150
158
136
121
135
150
177
150
181
160
121
161
165
124
232
150
233
208
205
112
112
208
171
150
112
147
186
130
135
150
264
135
150
234
171
147
163
161
112
216
174
130
136
155
123
226
181
181
112
121
215
121
265
171
171
150
147
168
123
137
121
121
184
167
135
237
181
237
170
204
121
278
112
150
112
135
112
165
150
171
194
185
237
150
158
147
184
121
112
192
164
150
112
167
152
171
171
201
172
159
199
112
121
171
257
150
210
263
150
150
112
160
186
112
208
171
115
174
217
112
150
228
112
121
176
112
217
150
177
203
135
121
150
167
176
112
112
112
143
219
167
215
181
164
123
208
134
170
227
208
172
194
177
112
174
228
186
121
172
170
220
237
150
279
121
227
173
170
229
115
172
228
200
112
216
208
171
187
167
194
167
232
135
112
159
170
147
112
239
194
310
180
287
121
174
150
112
172
251
176
150
150
112
137
167
112
228
170
112
165
195
208
147
250
167
164
159
171
112
240
165
112
112
219
137
150
228
186
171
208
225
186
196
170
207
121
147
112
137
172
171
186
165
143
165
187
112
112
181
208
158
150
112
168
112
112
225
288
156
147
194
112
115
226
210
225
168
197
189
186
150
112
228
187
165
270
256
150
167
112
165
159
220
135
150
124
128
228
160
121
164
112
164
165
208
207
250
213
194
179
218
218
219
150
201
160
135
150
176
112
172
160
172
150
171
195
236
176
150
112
232
192
121
112
208
220
228
137
228
158
214
231
208
192
250
208
172
112
158
194
203
217
130
121
195
210
208
123
172
124
172
124
150
201
112
136
229
145
170
203
209
232
171
237
170
210
239
177
172
193
115
190
167
121
181
177
208
182
123
186
112
167
121
159
181
167
194
219
164
210
176
150
229
150
228
167
201
210
181
124
278
137
212
203
167
276
208
297
150
170
208
112
132
218
225
212
233
205
193
150
121
172
171
131
112
208
159
255
172
112
121
193
219
112
150
172
112
127
219
112
146
203
137
162
172
228
228
136
254
202
112
112
237
189
170
181
135
143
181
165
112
112
208
112
153
115
150
194
172
150
279
143
168
170
205
220
201
150
172
121
193
220
186
192
253
171
121
193
208
231
150
225
203
156
208
171
256
187
137
208
143
115
136
207
144
217
194
150
190
112
186
121
208
150
226
147
137
121
112
170
121
157
123
121
112
193
158
220
165
194
164
194
167
181
145
112
274
226
171
176
208
150
205
167
205
208
112
193
150
170
245
130
150
186
174
128
202
121
153
150
227
229
187
239
171
172
160
112
152
206
210
131
137
175
208
181
170
208
121
211
165
159
228
165
194
175
112
170
172
209
209
112
167
123
159
112
150
171
150
171
264
217
194
150
196
174
209
150
170
172
128
150
215
194
223
112
208
121
187
202
181
231
112
255
157
121
208
171
123
194
167
165
228
226
167
231
150
172
212
183
150
170
112
121
218
150
167
170
202
200
203
115
172
150
208
150
112
176
223
167
112
112
276
121
208
146
115
112
112
112
121
165
128
175
158
167
123
172
196
172
212
196
264
112
157
170
208
258
150
150
193
176
208
121
123
150
209
150
172
147
121
208
121
201
156
152
200
186
194
187
135
170
112
219
115
197
158
137
112
184
112
170
150
156
121
124
121
112
170
209
121
210
112
274
112
175
176
150
121
172
121
150
172
146
172
121
121
176
150
208
150
112
179
112
159
302
175
181
209
112
112
128
177
274
150
219
115
228
164
121
195
186
161
152
172
130
167
112
167
201
195
161
208
171
165
194
228
123
192
165
176
164
222
193
257
150
186
187
130
217
201
112
253
172
170
176
165
164
172
167
112
195
156
177
112
212
164
168
124
179
231
187
112
187
156
184
255
167
276
172
208
112
176
181
181
121
136
170
187
164
167
121
182
124
207
172
210
171
121
217
178
192
152
150
121
176
186
212
194
181
121
150
112
121
160
150
204
159
203
150
143
229
179
150
276
112
176
150
168
217
147
158
112
208
193
143
150
187
150
187
208
203
242
201
112
150
112
218
204
147
181
166
150
121
216
150
228
159
150
208
225
189
226
123
258
187
237
218
203
115
112
234
164
187
167
150
112
135
208
187
225
150
176
150
137
210
220
193
220
208
232
218
250
170
165
232
208
112
172
194
194
218
121
124
167
150
123
150
150
170
235
182
208
171
209
150
150
176
115
212
184
136
150
238
121
170
137
178
112
176
172
209
150
150
175
121
150
302
203
143
244
121
202
284
226
135
208
217
160
178
189
137
204
121
115
150
112
181
226
124
220
246
239
150
160
171
181
164
208
234
219
121
165
193
217
150
112
135
232
121
152
186
150
171
208
184
176
171
208
216
349
208
174
192
150
172
208
112
167
150
150
158
124
208
123
150
135
181
112
174
231
172
150
220
189
208
121
210
176
121
255
167
112
170
121
150
150
190
137
170
231
171
177
241
112
176
238
212
121
192
208
123
165
150
150
181
150
208
157
207
290
170
216
171
121
255
150
147
172
121
112
150
239
197
170
194
112
165
210
150
150
195
150
159
181
123
136
164
123
172
194
135
150
135
193
130
172
212
124
208
150
171
223
208
121
135
196
203
112
208
342
171
157
220
187
172
150
112
167
123
205
187
170
205
128
226
212
187
228
205
170
214
172
208
135
150
181
167
163
115
217
302
271
158
150
150
112
228
195
171
121
171
158
172
147
193
115
170
121
250
205
206
150
112
202
159
276
167
150
196
150
181
112
115
194
172
205
195
198
150
137
121
121
147
192
177
167
231
255
208
150
192
167
176
123
150
237
203
150
170
112
165
143
150
121
150
150
202
112
123
194
276
112
181
123
167
121
254
112
181
205
168
171
170
150
131
235
137
123
203
168
135
219
137
112
172
112
171
172
170
181
193
181
176
228
171
150
136
171
165
112
171
121
150
177
115
175
228
176
150
115
112
228
206
167
121
208
144
143
121
177
165
167
170
121
208
167
165
208
175
150
187
177
208
208
164
202
112
228
172
195
150
302
171
172
177
128
208
112
144
167
172
220
211
202
226
201
217
143
143
121
208
168
112
159
112
263
112
135
112
121
181
121
193
221
147
135
226
228
112
217
112
150
135
171
207
165
237
203
181
260
121
181
242
229
187
150
211
226
150
175
235
186
150
150
165
192
112
203
237
185
172
193
165
150
176
208
150
112
171
255
121
208
164
167
112
121
150
187
222
112
229
136
194
178
227
150
194
112
136
121
112
172
150
231
150
208
212
176
150
208
260
206
208
150
181
135
147
112
176
208
150
193
188
150
150
192
115
260
150
208
228
302
194
121
208
167
226
192
123
208
175
156
263
297
175
121
158
115
167
227
176
124
253
171
112
202
207
228
194
184
121
214
112
112
147
189
230
194
112
112
205
112
187
208
152
170
210
121
243
208
194
112
168
170
112
112
170
203
186
171
143
176
150
150
186
150
112
121
112
156
228
123
187
235
150
150
172
204
150
208
186
181
263
168
237
210
160
193
239
121
121
164
175
185
193
112
194
170
228
171
201
112
170
197
121
171
150
179
202
214
177
208
158
225
112
181
174
112
202
179
199
121
121
171
123
204
150
150
128
112
187
208
208
241
150
193
201
121
164
176
174
223
123
208
163
229
275
167
226
242
150
194
121
208
230
173
176
150
123
158
121
208
200
202
208
121
143
112
124
112
121
244
182
194
150
208
193
217
235
202
208
205
196
123
121
124
112
255
150
214
187
150
228
147
115
285
169
172
170
172
195
170
205
193
171
194
158
121
206
239
112
203
245
302
137
208
150
112
213
217
237
150
250
167
237
150
130
147
121
170
135
237
181
253
159
256
124
135
250
176
150
124
143
225
159
150
158
196
165
112
156
187
167
121
228
172
170
233
112
147
176
177
170
150
194
112
112
250
172
201
187
150
112
136
208
150
147
143
177
152
115
181
172
185
219
150
208
112
165
167
150
112
211
170
150
250
208
112
143
167
112
208
115
210
232
171
167
278
172
171
208
123
185
170
112
159
202
150
150
208
192
137
143
224
171
170
171
135
150
112
172
136
263
147
192
170
170
209
121
209
115
240
205
137
172
150
150
150
159
176
183
182
276
210
170
239
237
214
250
150
124
192
121
208
181
150
150
112
194
167
123
160
194
186
167
121
208
181
150
162
220
136
160
121
171
150
225
250
229
259
158
112
168
251
250
121
173
121
121
232
123
128
213
123
240
165
201
150
197
202
150
205
176
203
121
121
208
143
208
170
229
123
121
121
170
192
217
208
130
150
202
172
238
121
176
150
187
174
186
135
150
192
150
112
174
242
112
201
189
112
167
240
181
112
174
226
195
220
112
172
229
177
194
235
175
195
112
230
224
194
184
276
223
204
181
173
212
183
112
121
227
124
195
121
112
178
226
150
208
175
226
172
226
187
150
257
208
123
156
147
219
123
214
121
176
132
123
123
174
195
186
240
112
170
150
172
167
202
165
189
112
156
226
207
136
121
219
176
208
150
208
184
124
150
121
112
243
121
164
165
226
150
181
184
136
194
112
165
208
210
222
193
196
124
150
172
164
196
196
207
167
170
150
112
210
172
208
214
150
123
180
121
130
194
150
192
291
257
201
150
136
172
208
172
181
112
193
124
194
172
170
170
150
123
214
130
181
150
115
112
255
121
213
170
112
195
112
112
172
203
123
208
165
150
272
164
199
175
167
250
177
176
121
112
220
150
170
186
170
177
123
171
170
172
137
121
172
164
214
115
150
201
150
208
224
208
112
208
150
167
211
232
178
237
164
165
259
276
214
112
124
121
150
115
150
150
123
167
112
208
176
112
186
195
255
186
137
241
147
257
213
208
214
208
181
121
150
135
177
187
150
186
135
150
172
124
121
121
172
208
112
181
150
233
257
159
195
212
232
150
189
115
121
167
175
112
219
150
158
203
112
167
167
206
167
181
112
150
195
237
158
212
297
274
150
179
112
115
265
170
150
121
228
189
171
237
112
165
250
255
160
186
225
217
172
214
254
194
115
167
112
278
186
150
123
112
272
171
172
178
124
228
177
193
177
158
174
121
137
237
202
219
217
250
156
171
208
255
176
124
176
177
176
225
185
146
150
150
239
136
234
232
181
206
236
181
208
219
112
208
280
167
178
297
171
135
121
167
172
170
158
220
150
112
150
150
218
112
144
172
159
170
210
150
225
112
123
181
150
243
164
203
278
218
168
276
112
186
195
156
203
194
158
208
131
112
150
112
112
178
208
165
250
150
192
177
234
242
112
179
194
168
136
208
150
112
232
146
193
176
123
265
130
208
228
121
238
194
210
172
170
208
186
250
123
167
172
167
187
237
239
167
121
171
123
193
150
170
195
167
208
210
170
203
172
152
130
172
112
147
186
237
237
170
139
112
255
112
170
150
123
219
144
185
239
181
150
172
150
121
240
202
150
208
167
150
150
121
152
187
167
220
121
121
121
121
226
170
115
167
158
150
255
147
123
121
258
184
195
123
165
176
189
208
208
112
196
150
172
203
171
150
115
232
121
201
156
167
159
150
210
170
165
150
217
208
176
167
242
112
112
123
150
203
209
112
208
115
210
135
171
172
150
194
201
150
150
150
194
276
150
150
150
201
164
195
135
223
210
135
150
194
195
193
170
172
201
225
207
121
112
172
145
202
112
150
172
215
174
158
130
164
144
123
172
184
174
167
193
222
121
121
172
193
164
228
171
243
160
193
235
201
121
150
160
123
150
253
172
171
181
150
121
112
150
172
150
150
150
208
230
159
228
193
115
112
203
137
150
150
170
170
150
112
228
172
194
228
172
195
231
146
210
208
135
278
112
121
115
208
170
187
135
170
123
202
167
154
172
167
224
228
150
194
150
208
150
192
157
186
123
196
223
112
194
199
231
236
112
239
208
235
177
165
213
121
137
150
131
112
150
208
187
176
150
210
172
196
124
150
137
187
186
130
205
124
186
231
150
202
218
202
216
237
135
239
112
150
193
164
112
164
181
168
121
225
156
170
212
150
137
150
187
165
121
150
165
150
220
135
172
172
121
171
112
172
139
147
291
150
171
167
115
216
158
201
212
228
195
112
181
165
124
228
167
112
194
199
210
150
135
112
124
203
112
170
112
121
123
172
196
112
121
227
121
172
121
209
210
128
150
195
112
150
150
192
201
206
158
192
121
112
159
165
112
255
235
167
170
130
187
205
112
147
112
150
112
165
112
121
121
128
112
130
112
250
171
208
171
218
187
150
227
192
150
150
123
168
123
193
171
121
208
112
229
201
150
112
164
112
185
208
208
121
144
186
159
222
190
162
121
186
236
188
224
208
161
150
167
202
171
269
187
265
201
135
135
121
184
150
227
150
211
146
121
172
210
181
150
220
147
194
112
150
176
167
123
112
240
270
150
121
167
150
208
150
233
128
170
224
171
112
184
164
228
121
172
181
218
176
135
171
150
150
172
217
137
208
112
202
145
193
124
158
203
112
210
203
174
167
229
165
112
165
134
182
250
167
228
170
194
112
165
121
186
123
172
245
165
206
167
172
112
187
205
121
186
203
195
259
171
150
135
167
174
175
200
167
187
190
115
112
150
228
208
170
150
121
186
172
146
172
220
163
208
176
170
112
172
150
233
130
211
123
121
112
176
194
311
258
211
241
202
136
220
194
137
112
177
121
170
177
123
235
121
121
112
172
237
215
150
156
115
160
150
187
250
179
194
181
121
186
208
152
165
181
208
208
121
143
124
167
232
150
121
226
166
150
179
158
158
121
152
172
164
277
150
194
212
202
227
172
137
150
164
209
187
112
172
123
159
157
177
150
150
137
170
187
229
115
160
201
202
137
177
226
171
150
150
150
172
217
112
121
121
192
124
176
121
174
168
121
112
168
121
226
198
208
195
112
189
176
266
228
150
124
260
158
137
150
229
167
167
150
207
170
195
225
124
208
167
212
152
121
194
170
150
172
177
165
170
208
194
150
121
177
193
228
170
218
175
240
208
181
236
172
228
112
167
193
208
181
160
150
112
278
228
171
150
170
121
203
112
225
211
158
147
187
171
210
147
137
160
123
121
112
121
150
112
112
167
189
208
123
135
172
276
137
168
168
112
233
181
186
224
201
150
194
137
121
150
164
136
187
112
187
181
186
208
112
254
147
128
205
121
152
194
165
194
215
278
123
223
203
121
208
224
123
195
194
150
121
136
124
212
218
202
192
231
186
112
207
208
167
115
171
165
112
175
170
130
208
193
207
170
150
128
176
112
164
121
195
150
236
187
181
250
172
208
150
112
121
208
121
237
150
170
181
112
189
176
150
203
172
293
121
232
150
172
165
160
167
186
193
150
181
218
115
208
121
112
121
121
194
226
150
210
208
170
212
202
171
196
135
146
172
171
112
115
176
123
210
210
178
194
203
171
165
150
123
112
234
150
121
208
225
112
150
121
176
121
150
219
112
177
112
167
178
112
150
229
215
195
170
176
170
208
165
158
218
208
174
150
150
150
112
208
167
112
137
205
186
157
115
170
150
112
112
225
232
203
159
218
144
181
136
164
192
177
218
150
212
193
170
187
203
150
255
194
260
163
143
171
186
208
121
160
115
208
172
112
208
121
123
177
186
241
201
150
150
176
218
147
164
123
172
121
143
176
167
128
201
196
208
181
112
150
255
150
233
150
187
150
165
136
181
137
226
167
150
150
165
208
137
112
186
209
194
210
186
230
208
172
208
176
229
121
186
192
112
170
121
177
121
172
208
112
152
121
137
150
195
150
197
175
156
135
218
144
152
171
225
135
177
144
172
172
194
150
150
167
150
186
124
172
181
194
159
229
123
167
208
204
167
143
208
121
170
208
250
137
167
115
179
156
194
112
136
136
255
150
255
195
182
181
208
301
170
259
150
130
172
194
167
272
150
167
237
193
181
255
150
112
150
172
201
165
112
123
282
150
152
121
112
152
112
150
210
239
228
181
136
176
174
167
143
208
187
208
181
171
208
112
172
150
208
201
150
194
135
123
182
150
193
112
226
202
239
112
150
167
232
170
165
115
208
121
232
150
208
208
150
121
112
152
174
147
130
172
167
192
250
147
168
187
150
177
208
201
165
150
216
228
172
187
238
243
130
163
112
150
112
134
112
150
212
128
112
165
121
219
239
195
130
172
112
150
208
136
121
172
150
181
237
121
237
112
172
152
112
159
128
159
214
147
121
172
121
135
160
150
137
164
208
147
153
208
164
186
112
121
194
196
211
123
172
176
257
181
205
208
222
165
112
214
121
121
217
208
184
150
112
123
167
167
121
189
250
167
167
225
208
167
172
208
130
208
201
121
137
171
150
208
184
171
168
231
237
135
260
213
135
156
150
121
121
164
153
206
172
218
211
208
185
121
123
228
181
150
264
124
150
208
176
208
171
128
152
220
147
241
186
168
208
136
150
172
215
135
121
121
158
112
220
210
145
171
112
181
196
150
112
179
167
124
123
176
135
167
226
150
174
172
174
121
208
177
227
123
150
112
186
175
194
112
170
121
208
147
112
160
182
194
167
152
112
193
121
231
201
112
225
121
112
170
188
150
217
112
181
150
168
265
206
181
150
211
121
179
147
123
112
112
150
167
152
156
123
202
176
143
203
147
235
150
137
255
112
179
121
194
236
171
189
194
160
128
214
208
353
112
147
150
172
112
244
234
121
150
112
150
212
123
207
205
208
121
235
112
174
172
121
150
231
208
137
167
121
121
198
172
193
121
112
123
208
213
123
112
193
150
212
195
144
170
202
150
150
172
184
170
150
150
194
121
172
213
188
164
150
112
123
203
150
167
121
160
112
172
165
165
231
225
272
204
194
165
170
121
170
176
186
208
208
208
158
124
112
171
164
165
143
203
244
176
160
201
112
136
217
207
165
210
208
156
136
177
150
219
208
208
112
208
208
231
150
217
121
171
170
112
150
121
275
112
172
208
172
121
150
112
136
170
150
150
181
174
137
143
112
172
194
201
150
135
170
194
212
121
233
167
150
123
181
156
137
112
112
130
150
207
150
208
150
121
123
167
186
112
150
208
194
182
172
158
187
184
152
143
208
262
201
170
112
150
302
150
150
172
207
150
209
171
203
121
136
150
181
208
150
237
167
171
167
112
121
121
193
208
168
150
150
212
279
150
172
112
121
217
208
205
223
179
209
189
193
150
167
202
137
186
168
167
243
112
164
171
250
245
202
203
112
170
299
174
147
157
112
112
164
237
177
121
150
139
197
171
208
259
225
170
112
194
263
228
172
152
232
229
165
194
170
146
263
270
112
150
112
228
150
172
141
161
187
152
150
165
228
150
167
175
229
150
173
228
115
121
137
172
150
137
237
228
204
203
172
250
215
171
210
136
150
150
121
135
161
130
112
150
115
150
171
112
112
112
181
150
192
159
121
156
202
150
150
170
159
208
196
150
255
112
167
112
226
208
221
210
302
150
214
121
137
208
170
189
112
130
150
115
231
187
172
156
130
170
172
194
121
170
121
150
171
215
237
121
226
230
229
174
276
152
208
187
280
263
172
208
176
223
135
130
226
177
239
201
170
121
223
150
150
208
231
193
198
172
150
112
181
170
121
143
164
194
112
217
164
208
112
228
179
208
185
208
121
214
203
203
226
150
135
208
194
181
170
189
210
192
192
150
186
150
150
167
195
121
150
143
161
176
164
302
193
243
121
176
159
216
208
210
172
219
159
121
229
121
123
135
211
225
177
170
112
189
150
231
121
121
158
263
136
219
211
231
237
207
243
250
209
274
236
208
112
158
201
150
167
121
175
172
136
194
181
211
267
242
167
192
206
192
193
121
112
229
150
208
156
161
176
170
135
239
217
167
112
156
179
121
201
168
150
130
135
164
228
234
235
150
135
165
187
194
171
165
207
171
121
170
158
112
187
172
160
121
112
150
150
202
167
150
150
167
195
112
187
186
172
202
167
189
171
182
187
158
196
208
121
224
167
135
115
232
228
112
172
245
202
208
112
202
150
124
227
208
193
187
194
229
135
168
124
150
150
197
165
150
112
150
112
167
176
174
112
208
150
243
194
165
167
170
226
112
210
208
244
144
181
193
195
112
222
135
170
167
136
167
207
176
121
121
194
124
167
243
208
272
177
115
172
121
112
112
186
168
236
136
228
182
220
135
158
137
159
152
203
186
150
181
210
189
202
136
112
229
208
112
112
121
165
150
112
112
234
170
196
150
194
243
232
174
188
150
239
179
147
170
234
176
210
173
195
112
183
172
189
241
172
194
263
195
167
112
112
123
226
112
187
219
168
181
121
194
203
172
158
112
186
150
181
165
121
137
210
229
171
237
167
177
217
150
139
130
112
211
112
170
121
124
193
193
121
147
150
150
165
250
189
170
136
232
150
112
193
152
141
167
208
147
181
167
193
112
112
170
167
172
150
167
167
203
194
210
112
123
232
172
179
123
168
135
112
147
150
156
121
208
202
112
201
121
112
194
241
184
112
170
255
275
177
150
167
121
150
135
112
123
164
150
235
208
229
150
193
150
165
123
112
171
225
123
203
170
250
170
220
204
236
197
175
112
172
123
150
165
202
184
112
112
212
219
150
208
150
144
121
150
150
121
170
208
152
187
174
150
121
112
187
177
187
165
201
130
168
130
170
123
168
137
207
150
201
201
208
150
112
172
150
165
194
208
150
204
172
143
112
123
178
171
150
177
160
198
228
208
170
136
150
152
223
172
217
121
194
219
187
135
194
170
208
150
201
172
172
187
227
172
150
188
243
160
150
170
150
165
121
124
236
231
172
172
137
228
194
186
172
215
190
228
205
202
192
278
208
181
112
150
220
150
150
195
232
228
172
255
112
172
228
194
165
171
112
121
187
123
172
203
198
198
171
181
197
208
162
150
176
262
112
208
242
223
239
172
205
257
208
172
124
274
186
208
150
171
226
159
121
150
213
112
239
139
192
171
265
115
214
276
144
159
180
112
167
159
112
228
170
124
195
128
225
201
160
174
174
208
202
135
194
202
121
170
172
115
135
175
150
136
143
170
150
208
167
217
181
227
152
201
150
172
187
208
150
231
218
201
150
150
167
186
121
218
170
137
208
130
112
177
112
150
150
218
241
123
171
112
219
206
202
181
112
194
275
237
225
208
167
172
150
150
147
150
253
164
170
150
299
172
172
215
150
181
272
281
186
150
164
208
158
215
276
182
220
152
121
234
135
186
170
208
121
195
170
137
137
208
176
240
112
207
171
150
276
137
208
192
202
231
209
192
174
123
190
208
219
235
167
176
226
266
112
302
172
160
136
150
150
167
208
172
112
237
255
112
228
123
177
170
231
228
115
242
121
187
217
200
208
208
194
121
216
218
258
143
228
121
121
150
164
208
160
161
186
150
202
208
156
167
150
121
159
255
235
250
150
278
212
135
210
150
112
208
210
167
217
167
147
187
135
259
150
143
123
112
123
121
158
172
150
225
228
115
167
159
152
181
170
164
172
121
150
195
218
150
121
171
224
135
112
170
208
176
205
172
112
206
121
112
192
112
149
225
112
115
112
159
193
193
168
159
189
160
171
123
217
150
123
181
208
147
146
150
182
208
207
208
112
171
281
193
171
121
215
193
208
121
147
150
203
165
123
254
123
278
170
193
176
193
115
112
247
193
228
112
150
193
181
228
239
243
121
207
226
201
112
208
152
176
195
208
167
208
194
208
176
236
112
216
211
150
150
187
121
165
213
128
171
236
181
150
112
150
121
181
181
172
250
167
194
150
255
146
112
112
187
228
181
242
172
187
124
112
215
167
221
121
112
158
228
121
123
228
171
193
167
181
171
178
187
150
173
150
150
208
115
253
177
121
178
299
199
121
121
203
112
112
186
121
288
181
237
121
121
229
225
270
150
150
181
170
124
228
112
190
115
150
201
150
160
191
187
112
215
176
181
165
198
208
218
211
164
121
176
156
232
172
284
176
121
257
253
124
192
201
121
172
150
176
208
189
112
172
240
147
112
123
224
230
150
195
112
164
220
112
112
265
150
228
237
112
186
112
215
123
112
215
121
278
112
112
208
208
195
121
121
158
263
167
136
112
195
171
137
115
165
238
272
124
185
226
171
187
170
150
112
150
121
220
128
112
121
181
136
181
121
112
136
202
150
121
170
267
152
250
208
201
226
203
121
229
150
121
139
187
150
123
208
236
150
192
195
112
227
112
164
187
150
264
136
237
176
150
236
130
112
124
165
181
172
167
222
150
112
150
196
176
150
167
121
112
208
112
150
150
172
196
121
194
164
225
165
156
194
214
112
212
112
121
121
164
167
121
136
123
112
121
232
167
150
112
123
137
164
267
212
150
112
177
167
112
168
112
230
181
150
202
167
190
192
121
150
167
121
187
196
150
166
244
181
187
167
192
159
208
197
202
194
208
150
156
208
121
167
194
229
121
168
167
123
172
112
200
135
193
186
201
186
250
220
156
172
177
235
156
226
176
167
150
150
219
150
167
192
239
208
195
171
228
150
112
150
232
150
208
170
112
240
227
121
223
203
165
202
150
158
121
187
174
182
162
167
179
164
194
171
164
207
202
156
215
112
171
208
208
220
165
144
228
112
186
176
167
229
346
121
171
150
160
150
228
147
172
150
121
205
121
187
187
186
112
255
216
170
171
207
178
254
121
170
121
170
137
136
150
176
170
162
112
170
240
158
194
150
186
150
229
302
115
202
121
208
150
174
170
121
123
167
254
170
112
170
115
217
275
112
136
121
115
208
176
245
208
177
201
150
208
186
112
121
220
174
208
226
137
208
195
176
150
195
165
167
228
208
150
220
165
172
121
211
177
150
152
133
302
172
170
263
150
150
121
181
186
208
167
193
176
237
210
237
230
121
163
112
150
257
238
195
112
186
216
170
150
144
172
112
185
239
225
238
115
195
236
167
112
112
212
208
202
226
150
181
150
226
207
281
172
231
213
215
150
200
112
181
187
159
121
112
112
178
165
136
176
121
145
150
136
172
137
243
150
231
150
225
123
136
143
237
121
112
136
260
168
150
212
179
167
208
167
170
167
255
172
229
237
165
115
150
167
208
150
166
186
150
115
168
171
150
216
150
130
193
172
235
202
176
219
121
201
189
231
115
150
208
212
150
210
208
219
237
150
207
164
182
195
178
177
121
150
208
170
251
203
112
152
219
208
167
219
186
210
190
112
150
240
201
146
176
228
209
167
192
150
165
193
144
152
112
170
147
179
208
112
150
167
150
167
176
161
112
167
156
193
167
112
208
187
121
192
150
270
262
177
170
229
184
171
220
170
208
164
137
150
162
167
177
229
242
171
314
161
219
112
174
121
150
212
167
112
121
112
237
195
194
258
147
170
121
158
159
202
161
170
189
186
213
112
112
150
263
219
236
237
181
112
137
150
237
210
210
177
135
275
112
172
182
250
173
194
150
112
228
176
228
232
121
246
194
112
194
171
147
156
176
194
150
171
121
150
112
123
194
150
121
171
150
182
123
121
197
235
115
167
197
112
174
250
150
208
172
167
236
165
135
150
121
164
150
224
179
165
187
150
192
137
208
227
210
160
123
176
208
192
137
171
167
167
150
177
172
167
219
242
226
147
202
150
186
170
208
171
112
165
235
123
121
165
112
150
112
231
164
167
150
123
115
186
267
150
244
112
121
176
176
217
194
233
143
112
167
121
171
112
159
232
208
123
228
112
143
167
112
208
123
121
184
150
167
227
112
112
181
207
170
250
167
198
128
195
112
147
174
192
112
170
205
205
186
172
150
208
172
208
167
172
236
150
150
228
137
175
202
212
137
167
115
184
218
172
172
112
170
190
179
124
196
167
150
170
177
196
229
112
121
112
123
121
121
172
240
156
112
194
112
208
159
150
208
145
203
175
173
202
177
121
172
170
165
147
170
112
172
170
210
171
233
177
172
121
150
136
232
150
174
218
171
275
219
171
186
225
208
167
152
194
150
177
112
121
170
206
186
219
150
136
112
176
165
160
124
219
112
123
172
208
123
177
203
172
206
167
254
195
203
220
167
217
208
112
158
165
181
212
210
170
179
194
172
176
186
219
220
187
184
181
121
220
223
123
150
164
164
150
137
112
158
121
208
228
165
208
150
167
188
150
150
174
123
237
208
123
171
216
208
112
150
152
167
189
121
184
182
112
167
170
121
210
186
137
208
112
121
150
112
208
157
112
196
165
121
179
165
170
167
172
182
199
135
172
172
121
112
121
135
250
115
214
275
167
172
152
201
165
250
158
112
176
232
208
123
195
150
207
208
123
112
150
164
112
152
150
135
112
150
250
210
123
121
112
220
121
208
112
150
178
137
208
115
228
210
112
150
225
165
150
156
208
189
178
170
208
175
177
181
170
161
167
121
208
203
147
112
172
190
279
159
147
202
172
145
150
185
219
192
124
172
257
190
196
112
150
115
279
193
165
170
302
121
205
150
193
150
178
203
208
186
160
150
112
112
233
195
167
172
165
172
147
179
228
167
112
281
210
190
237
237
150
121
150
112
135
157
112
208
216
121
239
121
124
150
238
172
150
147
176
150
298
172
297
167
112
112
181
121
181
173
219
208
150
150
150
178
255
121
208
208
170
186
112
207
115
210
193
170
167
150
208
121
150
195
121
150
212
152
121
165
160
231
112
194
185
176
167
167
112
187
150
176
208
208
121
121
202
121
172
237
229
232
208
194
147
170
152
165
208
245
253
121
208
150
112
150
231
208
150
172
176
172
112
195
193
121
112
181
144
172
121
208
150
214
193
135
112
170
121
112
150
202
121
136
170
217
112
302
115
170
217
115
112
218
167
170
112
112
130
135
228
156
135
112
172
170
150
165
150
112
170
137
158
112
131
150
208
112
123
165
112
136
208
181
212
172
115
176
208
210
239
112
112
171
210
187
156
176
112
115
187
208
230
184
150
167
168
212
236
147
170
165
172
150
193
168
203
112
192
121
167
194
174
173
121
146
240
150
243
232
171
112
112
112
112
195
160
172
229
237
150
203
150
170
202
165
202
150
147
150
135
121
208
150
123
150
224
236
170
150
188
202
136
167
181
203
150
137
176
219
150
194
150
135
257
250
210
121
202
237
293
209
234
172
170
150
190
150
186
254
150
121
193
240
112
228
160
170
182
171
123
135
181
184
186
150
112
121
115
150
208
112
288
164
150
194
123
112
156
167
121
255
147
161
121
112
171
203
237
168
232
121
170
112
167
150
193
150
150
156
121
232
186
172
121
250
112
147
219
195
250
226
150
150
160
167
150
112
160
112
137
208
150
239
144
208
150
112
215
164
240
112
164
172
202
147
150
203
130
112
259
202
199
150
203
164
210
150
176
147
172
176
171
240
193
221
130
150
121
167
205
158
178
121
137
115
257
121
175
121
150
172
121
253
172
215
208
228
208
231
112
150
185
121
150
293
228
150
210
112
150
150
208
185
194
150
121
192
181
217
167
170
257
137
150
159
150
177
172
176
150
181
136
112
208
135
143
210
208
170
147
186
172
150
121
137
181
147
207
165
112
237
161
121
252
195
150
187
168
147
181
172
115
165
150
150
112
181
172
162
176
208
172
112
187
165
165
208
270
208
150
112
208
170
208
112
201
208
147
237
228
192
112
186
218
172
121
171
165
115
208
135
174
150
121
195
150
175
193
189
203
147
182
210
121
158
150
112
182
172
247
208
214
193
208
121
152
147
269
137
137
152
208
208
121
214
121
152
150
167
208
175
172
165
187
172
265
165
219
201
237
150
208
150
150
136
224
194
174
266
146
181
181
165
170
250
167
172
162
150
205
184
171
195
150
177
172
159
195
194
240
150
172
172
121
276
206
193
147
220
172
135
208
205
214
121
192
123
205
263
162
147
121
150
115
136
136
112
160
175
137
167
135
170
199
172
167
202
172
174
112
182
208
112
137
228
160
228
302
168
150
167
212
115
150
121
150
212
121
112
123
172
147
112
150
211
112
250
186
206
112
174
208
123
167
195
164
135
202
112
186
208
210
281
158
158
172
193
229
243
193
150
147
150
208
158
210
150
150
171
174
208
135
189
170
127
158
203
121
177
135
130
195
172
190
121
220
147
150
167
123
150
156
265
193
186
164
158
218
195
237
150
123
177
165
112
121
167
121
288
237
150
167
165
112
150
112
150
167
181
195
160
195
255
201
219
250
112
112
187
194
150
167
130
172
206
218
176
136
228
203
212
150
112
181
195
150
172
195
112
135
112
112
168
115
210
172
189
203
115
181
137
134
264
165
195
186
147
225
187
150
171
172
212
210
228
243
121
170
150
208
170
150
171
150
128
181
112
158
135
160
208
170
166
115
172
213
112
239
172
172
147
137
150
171
234
165
231
232
176
112
164
147
136
226
147
176
170
172
137
121
121
193
172
152
137
144
165
121
150
123
165
165
112
192
121
295
208
235
150
150
208
217
199
189
208
299
150
121
112
160
224
150
112
123
112
208
175
112
172
150
150
202
240
187
158
228
171
242
112
150
136
229
231
237
250
218
167
212
121
205
233
181
150
250
299
150
247
162
112
121
229
208
233
202
152
150
170
171
257
167
112
115
160
143
226
158
208
204
195
150
164
143
210
135
115
112
165
171
226
189
112
168
121
121
204
121
217
150
150
231
170
150
172
195
156
186
226
171
112
190
228
150
121
160
137
184
150
170
200
150
170
176
187
150
115
112
112
227
255
165
150
150
172
172
171
212
167
208
172
297
170
121
136
121
170
121
112
203
123
192
121
177
123
205
231
165
171
137
181
150
184
231
199
112
112
203
143
172
147
159
181
124
124
171
203
211
158
217
121
172
170
167
112
215
170
174
171
135
177
210
137
172
150
146
121
112
121
150
189
112
203
186
187
158
167
172
240
278
193
193
208
160
121
112
195
218
212
212
150
150
171
204
172
164
171
194
135
136
263
218
167
112
184
201
150
170
158
186
136
121
135
170
231
150
159
181
170
172
171
150
171
158
121
193
136
115
177
136
156
170
225
220
121
197
263
150
170
150
112
194
190
170
136
208
171
176
192
213
112
195
112
231
186
143
203
115
177
175
124
193
208
168
193
186
144
200
170
208
212
165
172
121
171
300
164
158
193
158
208
165
150
193
123
192
208
160
302
130
244
170
228
168
112
208
208
156
159
121
276
112
171
176
150
192
171
206
217
259
150
137
158
112
210
245
170
177
172
158
193
121
225
137
175
186
170
150
121
121
123
207
194
121
136
165
159
137
152
170
195
172
121
121
208
150
228
150
150
172
158
229
172
195
208
124
172
208
112
178
121
179
242
167
128
150
162
188
139
172
150
171
167
150
202
150
231
115
193
172
170
181
150
165
208
124
176
209
208
208
190
150
121
181
167
210
200
150
234
150
112
115
167
242
208
150
150
115
208
194
172
121
115
186
237
137
170
112
112
170
217
135
172
170
208
263
164
172
184
222
164
208
150
195
212
201
136
121
243
172
210
130
150
210
172
237
170
112
220
112
167
135
209
194
150
199
194
172
217
175
112
236
112
121
143
150
112
181
175
172
167
172
143
112
150
176
208
231
136
147
112
172
245
112
175
208
202
112
204
172
121
200
189
150
179
121
176
176
150
218
226
170
241
137
150
130
194
176
172
250
167
150
208
158
150
171
167
201
147
150
112
121
150
172
121
164
112
171
195
255
179
112
267
193
175
115
205
195
136
187
150
172
121
172
207
168
208
121
150
171
210
172
150
112
223
152
194
150
180
121
217
171
181
218
121
271
170
232
150
203
121
150
208
186
204
127
201
163
219
121
167
233
176
121
201
121
194
147
170
112
212
146
150
195
193
162
123
240
205
150
123
150
137
201
112
121
219
256
210
181
202
121
176
171
150
225
150
192
184
197
182
250
121
115
172
150
112
171
112
150
212
123
121
228
176
112
231
112
201
112
112
208
172
150
193
146
123
112
208
239
208
228
121
160
121
112
112
150
150
152
236
137
186
194
235
242
167
215
168
171
171
150
165
123
186
170
150
150
172
112
123
150
121
194
206
112
237
170
139
189
219
147
176
208
230
176
226
123
226
136
121
136
228
208
150
121
121
193
206
123
212
177
220
136
216
219
170
178
152
150
167
170
208
150
112
208
181
112
193
167
160
123
213
172
150
225
168
121
195
230
160
115
184
205
135
240
170
210
219
181
112
237
137
172
186
208
150
164
156
121
208
226
176
150
210
123
136
265
135
167
216
250
121
213
112
218
150
231
121
208
208
184
187
124
134
250
218
209
170
130
150
150
218
167
213
194
225
121
212
194
193
177
150
167
150
243
156
219
237
235
165
168
157
174
228
150
208
164
156
300
203
170
150
136
121
112
208
170
178
115
159
121
112
187
150
202
177
174
112
147
194
131
170
189
219
237
128
165
218
112
115
181
185
150
123
160
170
213
150
171
112
135
171
112
112
136
112
136
230
220
150
240
176
179
194
171
255
194
236
112
123
150
228
237
170
174
164
171
115
194
237
201
226
150
182
194
121
121
178
121
171
195
121
130
174
172
208
121
121
150
216
220
158
193
135
187
179
150
187
236
112
150
150
112
202
112
258
208
112
193
112
184
135
208
234
198
177
112
177
179
156
121
172
170
227
176
219
243
217
250
150
167
150
208
144
276
215
215
165
233
121
121
260
193
172
150
170
150
162
181
228
210
206
172
235
150
112
150
150
223
121
208
187
188
208
232
121
164
121
195
150
150
112
201
150
150
210
200
208
150
112
208
121
121
171
202
233
112
208
121
212
194
233
197
121
172
112
171
112
226
121
186
186
150
150
187
228
238
228
202
255
239
177
145
245
173
121
159
136
121
202
160
121
124
220
215
165
150
121
193
150
159
215
164
175
172
227
150
187
152
233
228
206
165
210
136
170
112
170
123
112
130
231
276
112
209
112
209
216
255
202
150
208
167
167
159
208
209
156
170
164
187
150
187
202
220
208
177
165
147
274
165
150
197
176
250
150
170
150
112
202
121
226
172
165
167
186
121
112
123
112
237
217
240
186
150
130
112
123
231
193
158
158
121
203
130
186
170
201
203
231
208
176
150
123
159
163
198
250
228
208
174
112
187
237
228
128
136
168
172
128
112
150
228
156
237
135
136
167
208
136
302
270
202
187
150
172
208
175
135
179
187
121
172
156
164
112
194
167
112
242
112
164
181
167
194
202
121
168
156
174
208
302
226
177
205
239
123
150
231
208
208
193
112
121
165
175
165
150
137
192
150
165
165
177
112
167
200
187
214
150
200
228
206
174
178
225
263
150
181
150
226
150
121
218
196
112
158
112
167
186
228
189
124
194
170
150
131
205
150
212
136
112
123
171
228
225
234
112
158
112
167
112
172
186
121
159
177
181
128
228
121
245
170
150
208
208
194
186
230
121
193
150
187
150
112
164
231
220
150
177
128
194
121
112
193
170
150
201
159
112
143
224
112
208
112
194
245
130
239
121
220
181
176
159
208
172
205
235
239
121
194
158
201
242
274
207
209
121
210
177
257
193
112
185
150
112
203
172
171
170
147
115
175
150
193
184
165
239
179
205
121
170
123
212
189
150
186
208
165
203
112
172
187
208
112
224
171
167
171
150
143
145
121
172
208
123
202
193
112
181
112
121
167
112
159
160
194
112
121
178
167
121
150
174
152
171
208
121
152
150
177
159
172
144
276
168
236
255
123
237
165
243
225
112
150
218
150
121
152
170
150
171
272
165
208
239
178
171
115
112
112
115
172
241
150
150
150
150
176
220
194
263
150
201
121
121
112
170
150
182
279
135
115
150
186
297
156
147
165
170
174
158
137
209
115
150
186
211
150
194
181
172
238
201
112
232
208
174
172
160
112
112
177
143
184
112
219
192
172
171
143
121
167
250
210
187
112
150
112
228
172
184
229
115
172
210
265
255
123
240
121
195
112
201
150
121
112
150
171
172
150
150
150
176
172
121
121
264
123
297
216
171
197
211
130
210
137
215
229
121
194
186
112
164
172
135
226
189
201
194
255
112
187
257
206
121
112
150
132
240
227
137
186
150
128
229
172
158
181
164
226
181
233
150
167
190
150
150
217
167
172
239
176
168
150
226
150
135
112
165
220
152
112
136
207
112
193
228
160
112
177
112
150
202
150
136
194
170
208
195
150
230
150
150
112
193
210
112
171
137
186
124
187
181
137
171
170
181
278
187
121
187
176
150
232
150
237
196
121
181
136
121
150
112
172
115
208
167
187
219
167
112
175
250
167
121
112
228
136
170
112
171
177
150
136
167
177
150
112
231
212
172
150
143
184
150
124
172
128
302
177
137
167
123
150
192
112
173
171
112
232
123
139
225
228
197
170
218
130
177
167
176
124
112
150
211
181
150
112
216
219
112
121
137
172
193
181
112
193
165
167
193
237
171
121
177
177
220
171
181
207
202
192
172
112
208
165
216
205
121
202
208
205
198
240
123
194
208
186
269
137
136
239
165
202
302
115
258
263
231
267
112
195
112
121
193
150
121
156
172
228
217
150
202
112
150
121
174
135
288
160
208
152
112
167
123
210
124
171
150
160
205
121
170
170
156
124
168
135
128
229
203
261
112
171
112
232
201
212
150
231
112
198
172
158
220
196
209
150
205
172
203
136
159
150
205
112
121
150
176
164
188
123
218
247
150
176
195
161
121
115
167
167
206
203
172
208
170
172
176
194
239
179
150
150
186
167
272
150
144
172
165
167
165
167
162
168
213
236
121
213
165
172
179
171
170
156
123
208
112
123
171
193
167
181
150
171
167
202
158
203
121
123
159
150
121
131
228
121
112
176
160
156
208
202
112
165
123
152
128
150
112
202
186
216
150
179
123
205
164
131
156
187
225
152
121
121
234
181
128
195
225
112
115
159
210
186
176
136
208
150
202
258
302
207
176
136
121
121
160
201
150
193
208
165
150
257
250
112
121
176
124
157
236
112
167
239
112
135
225
150
112
150
203
184
170
208
203
244
208
150
167
171
237
208
193
173
205
162
186
172
123
164
112
112
150
158
302
112
164
112
179
165
237
121
112
182
144
135
150
115
121
135
171
202
137
175
150
203
170
228
194
121
165
208
174
185
237
194
171
150
228
167
150
203
136
208
150
217
130
181
210
195
178
196
201
165
172
121
168
181
194
115
172
279
123
121
112
177
112
242
123
167
123
181
143
178
172
241
172
187
193
192
137
202
112
171
202
159
176
115
164
137
130
112
150
150
159
158
112
146
226
147
136
165
123
187
225
112
123
216
121
165
193
123
181
141
219
244
112
192
135
150
177
177
174
112
158
150
137
170
115
193
170
112
231
174
112
210
207
170
192
124
179
182
112
150
176
150
121
210
167
213
276
167
172
208
185
165
150
123
167
170
165
160
202
167
121
136
123
156
112
131
174
150
202
205
150
152
112
112
167
121
186
167
168
150
208
121
137
205
217
150
160
136
167
201
210
193
135
302
184
170
150
263
164
152
112
150
208
203
170
112
202
170
265
150
205
165
186
210
164
150
210
195
150
150
123
150
233
212
143
187
194
174
194
112
112
112
143
232
202
135
175
181
208
204
150
172
172
150
194
227
210
218
112
215
136
172
136
159
207
174
181
112
195
211
179
112
177
150
170
144
171
255
187
201
112
159
150
123
112
150
167
160
150
231
208
228
220
171
158
137
121
150
167
167
302
194
172
150
150
143
147
204
150
121
143
187
189
208
162
171
167
186
150
174
123
112
172
219
112
172
212
150
158
135
220
136
150
181
150
206
182
121
187
208
124
193
193
167
159
150
150
121
171
208
207
210
112
176
250
112
123
276
172
112
150
150
228
139
150
165
217
150
302
206
208
156
172
172
228
229
121
150
214
150
150
194
150
143
214
147
226
232
121
202
121
273
218
189
231
212
170
170
121
164
158
217
186
178
184
269
172
112
237
172
121
121
254
112
177
170
170
150
167
127
150
112
121
112
174
121
137
136
187
150
123
239
181
112
167
112
150
257
165
165
174
121
174
278
123
112
175
237
121
121
187
220
217
150
112
193
203
150
263
136
165
230
161
171
121
157
228
228
204
158
167
229
226
156
214
112
112
159
233
152
171
121
150
250
112
121
195
112
135
137
112
208
201
210
167
208
150
170
150
150
208
121
112
205
121
156
302
168
167
172
172
150
170
124
121
243
112
167
173
150
226
121
112
167
255
137
112
237
165
150
178
208
152
128
157
150
158
193
187
112
201
159
195
181
170
165
112
135
136
196
163
231
150
150
182
237
159
112
135
172
232
237
176
112
240
194
171
165
270
170
121
112
187
136
150
179
235
171
167
121
150
150
164
187
136
164
208
112
236
136
255
156
150
147
121
112
164
158
121
150
121
206
136
137
137
121
112
237
150
136
112
232
208
159
121
121
218
228
124
147
112
228
228
229
228
226
170
150
177
150
172
150
186
115
172
150
195
192
217
234
136
302
228
220
150
121
227
185
170
112
112
112
199
121
250
112
124
266
170
123
240
228
208
123
223
121
209
225
135
161
176
150
121
258
196
137
112
236
150
147
150
189
202
208
121
202
181
112
112
172
171
181
170
121
177
121
112
112
121
201
121
172
121
135
170
227
183
170
112
186
187
150
170
121
150
165
124
177
167
208
208
160
121
121
184
234
115
226
167
162
276
150
156
170
165
208
150
235
215
150
170
121
130
150
167
189
248
170
135
205
218
137
144
147
123
121
181
181
112
121
135
170
187
229
174
170
112
112
112
234
207
112
143
121
164
225
195
159
249
192
168
219
152
171
182
136
150
272
115
123
228
177
112
121
123
150
121
208
172
112
150
206
150
171
181
209
147
165
198
136
207
150
121
218
170
195
112
112
221
137
181
173
150
137
172
229
194
172
150
144
112
121
208
165
164
170
121
187
121
121
167
250
179
200
195
150
158
182
115
115
194
168
112
172
186
137
208
150
121
170
123
135
170
121
121
177
115
163
147
176
195
172
194
195
187
176
165
167
195
228
232
208
164
192
172
158
112
121
224
112
136
136
170
158
137
176
274
172
136
121
121
219
121
170
124
136
158
112
136
208
137
193
150
179
112
150
112
150
212
186
221
123
226
121
121
130
121
121
170
237
172
123
121
150
136
165
159
203
112
112
172
203
274
193
150
150
237
137
184
112
203
112
195
150
115
112
136
185
150
164
150
121
176
121
215
234
135
170
112
165
112
205
179
186
229
195
152
152
172
187
208
174
196
198
147
171
203
124
137
233
150
121
112
112
228
159
181
156
194
167
208
121
237
172
165
203
150
167
135
201
145
150
225
210
150
231
164
250
165
208
121
210
186
150
150
186
112
226
189
150
123
121
202
150
195
112
181
208
112
189
228
150
121
186
210
112
218
172
150
212
121
187
181
201
175
112
171
165
182
235
144
190
150
163
239
167
195
170
193
171
263
136
202
172
217
150
186
145
121
150
220
209
171
228
176
186
208
178
134
123
208
208
167
236
167
150
150
210
278
161
112
232
218
157
171
165
243
121
201
194
172
170
226
150
121
167
165
208
112
186
112
198
187
176
136
228
172
150
194
112
172
150
150
218
150
121
250
212
170
112
212
170
112
202
228
186
175
121
242
112
198
172
172
208
187
225
167
121
263
121
210
203
157
208
171
204
112
112
150
233
137
195
135
150
112
172
170
245
186
231
201
215
194
302
135
136
159
179
150
228
150
176
112
208
178
121
150
136
112
150
121
208
186
194
193
212
159
145
112
221
192
194
164
178
171
186
135
172
167
112
167
112
150
229
165
186
171
208
124
218
112
228
181
195
195
181
150
143
191
223
171
172
170
150
223
150
171
171
214
170
167
152
182
172
194
123
194
193
176
150
123
112
208
171
150
172
167
209
165
150
236
112
220
174
193
215
112
206
150
172
136
220
205
112
199
253
237
167
238
176
115
187
197
172
121
165
112
112
201
232
128
245
152
201
167
219
218
130
181
186
150
171
150
176
195
160
132
257
167
171
121
137
112
218
199
137
112
182
168
203
204
172
274
121
150
208
137
150
112
195
172
123
137
182
263
193
147
225
200
181
230
227
145
168
181
257
218
150
150
150
195
165
121
175
181
150
187
221
239
123
203
208
216
123
219
147
219
128
150
219
208
135
172
167
208
121
239
150
201
156
187
208
212
112
123
237
167
228
171
150
203
112
193
186
208
170
228
208
136
121
121
202
208
203
202
220
136
190
210
150
177
221
215
174
135
202
167
208
167
167
128
175
164
171
121
236
135
170
121
112
112
112
202
210
112
123
135
167
228
159
121
143
194
137
279
193
152
192
193
208
176
128
177
167
202
169
177
150
172
170
208
181
170
112
241
245
203
193
176
172
121
135
172
187
180
150
207
158
210
112
150
177
216
181
123
208
145
164
177
195
137
165
112
178
186
239
128
123
167
121
161
150
137
175
195
197
170
150
157
112
171
170
162
201
123
271
112
150
192
171
193
205
172
112
173
239
139
170
154
210
172
150
121
195
210
121
167
243
167
121
150
150
128
231
177
208
167
167
161
173
194
146
171
150
214
150
181
170
164
158
194
150
150
112
172
150
121
176
190
147
175
181
189
158
171
167
112
150
150
130
135
147
172
167
181
112
167
174
121
150
121
112
229
137
150
135
172
181
195
208
208
150
170
150
181
207
143
121
209
165
187
193
219
175
194
204
233
165
176
121
121
143
208
112
203
198
194
170
196
215
150
121
198
112
112
208
194
137
234
150
121
150
121
264
170
212
231
194
112
175
193
123
147
121
171
121
177
207
194
112
195
150
175
170
158
203
167
112
220
167
123
201
112
128
200
218
186
121
170
150
150
185
123
165
179
194
174
144
115
224
136
208
128
220
121
208
135
150
192
212
150
172
172
179
150
201
150
237
135
164
208
223
123
193
172
112
217
237
172
172
186
174
123
163
167
162
193
121
121
167
175
207
201
184
179
150
172
187
167
208
170
168
160
174
123
162
210
150
123
212
195
176
157
195
198
167
170
121
231
200
239
112
181
112
167
218
205
150
185
208
112
150
207
164
112
121
150
121
234
220
171
112
165
171
228
150
121
137
175
255
170
172
192
121
167
170
172
213
123
121
214
176
189
171
150
187
240
160
187
112
150
172
247
112
217
302
139
150
192
112
233
112
208
171
136
115
112
123
207
170
150
112
137
165
196
212
224
226
112
136
150
176
150
181
150
171
123
167
190
208
112
219
167
158
217
170
112
121
121
201
124
237
185
137
172
139
192
175
194
150
165
257
176
112
216
167
150
244
242
112
121
150
158
123
211
229
223
112
112
186
239
226
170
112
150
112
204
158
195
150
208
168
220
202
121
186
210
112
181
157
170
175
187
172
187
112
187
167
160
228
208
171
228
160
150
112
150
112
210
150
167
112
218
176
201
208
147
189
201
199
195
150
237
202
172
176
242
228
171
170
112
208
160
121
156
234
172
195
172
137
172
136
124
234
112
201
121
112
201
194
266
150
172
112
112
203
238
205
174
150
186
228
170
130
112
112
123
170
244
124
112
171
150
121
186
121
121
195
121
124
150
202
167
190
167
193
112
156
208
124
237
230
150
230
171
186
150
115
194
195
208
294
168
150
121
231
186
255
137
112
150
213
143
181
208
150
187
123
196
164
237
228
208
147
177
208
170
189
239
167
167
150
112
150
228
232
150
168
202
176
121
201
193
179
130
150
186
187
176
135
179
203
220
150
186
150
160
231
121
225
150
124
213
150
154
186
203
150
115
165
167
136
257
159
178
209
171
136
195
150
193
150
202
135
192
244
121
123
172
194
170
112
208
276
150
208
112
208
247
121
167
115
121
150
226
112
150
150
195
150
112
121
112
121
115
150
150
150
165
167
208
193
210
207
181
239
150
202
195
231
121
228
231
167
159
121
171
213
217
135
150
171
175
184
181
137
223
226
176
154
167
121
172
121
186
150
112
128
181
195
193
121
150
239
123
208
168
150
121
265
207
112
168
186
207
130
152
246
152
137
135
233
156
170
194
207
256
150
171
150
150
186
121
167
150
218
112
112
150
179
219
217
150
150
164
181
170
112
156
212
112
180
219
112
165
136
181
195
112
209
167
150
123
150
164
112
147
131
167
220
136
201
150
150
147
208
171
181
159
208
253
262
121
205
112
167
278
167
208
224
201
272
201
147
150
193
150
150
186
202
112
195
257
203
176
165
215
195
121
115
121
230
201
150
212
202
189
172
172
205
158
121
174
176
150
203
207
159
144
171
115
172
156
225
194
176
208
167
112
170
121
170
147
213
150
179
170
184
186
112
175
207
112
202
121
198
170
209
121
172
194
199
167
112
181
172
182
237
170
171
228
121
112
112
121
186
185
219
172
170
175
181
170
164
187
228
170
171
225
121
141
112
196
171
186
172
112
246
121
167
150
136
208
123
172
239
167
234
112
176
167
210
160
223
192
219
121
112
207
121
207
150
201
239
115
121
121
208
150
172
171
150
123
186
201
112
150
225
160
164
135
167
121
170
150
115
209
212
188
121
230
121
112
188
181
278
123
121
172
128
254
193
237
181
121
226
170
137
130
167
112
153
171
175
150
205
115
112
206
186
237
147
112
259
177
172
128
150
245
121
176
242
123
165
112
135
156
150
167
202
112
171
194
192
161
150
150
112
204
228
172
144
123
171
208
150
159
112
206
150
184
165
245
187
112
189
167
172
136
170
232
184
150
232
194
112
167
167
176
213
192
172
225
159
176
181
203
255
203
259
147
131
150
147
158
112
121
212
156
144
159
112
176
185
215
237
171
123
147
186
172
181
263
177
208
187
181
225
150
163
124
150
172
121
172
167
201
150
112
228
121
121
208
121
143
208
112
172
150
170
167
164
159
190
170
179
208
247
172
170
174
160
189
181
220
212
150
150
231
220
210
194
150
152
121
208
160
165
170
208
225
172
220
228
171
112
208
179
150
137
208
181
150
115
170
220
208
176
276
181
208
174
150
121
202
143
176
112
208
128
112
112
167
164
165
194
225
172
278
112
219
123
194
228
150
272
208
212
186
187
121
147
171
235
150
247
172
198
205
150
237
208
240
150
150
193
164
150
135
150
112
112
239
259
210
150
152
150
123
150
208
121
121
210
112
217
167
175
193
194
233
121
165
170
123
170
112
161
121
194
217
150
160
205
167
229
276
210
150
195
190
165
165
240
115
139
115
121
176
170
150
181
136
161
170
210
136
112
232
208
167
257
150
194
121
177
208
194
159
172
112
112
196
150
255
150
170
137
240
212
170
179
124
177
172
172
115
131
150
121
218
171
136
196
172
208
212
203
172
156
172
172
124
124
184
178
209
150
150
193
272
150
121
176
112
176
167
121
121
279
150
147
121
209
150
170
150
165
170
202
131
202
177
237
167
121
172
208
186
172
150
150
208
209
190
228
219
236
121
170
150
147
208
112
172
150
123
167
135
150
210
208
135
208
150
231
200
228
158
217
150
170
171
237
172
150
208
250
202
170
160
112
219
124
214
121
150
172
200
189
166
203
186
170
121
176
209
150
176
150
201
170
112
112
171
123
112
112
207
208
170
156
112
237
167
197
205
170
112
163
136
171
170
208
170
172
150
196
150
150
171
201
201
176
238
112
208
171
121
150
170
164
150
259
194
192
165
164
202
121
212
249
121
195
172
200
147
194
237
172
167
210
152
121
158
230
157
195
112
112
112
112
207
150
170
124
208
171
193
143
186
259
150
143
173
205
190
178
170
218
208
195
194
112
136
170
112
164
172
208
170
150
208
208
208
170
233
181
150
172
136
121
208
208
150
171
172
192
123
208
112
196
150
121
147
184
112
228
167
181
219
202
208
231
121
178
195
115
130
121
193
226
168
217
112
200
156
208
194
208
195
194
168
112
172
208
112
203
121
121
171
231
158
121
255
181
228
171
112
135
195
112
201
112
167
171
115
186
150
157
214
112
150
228
147
186
203
208
112
143
136
208
171
150
208
150
203
112
186
170
112
150
112
164
232
121
112
123
208
228
237
150
181
150
228
156
112
203
150
150
135
123
150
171
226
236
195
168
302
150
115
237
167
225
123
150
170
150
206
181
152
124
219
150
264
150
186
172
201
225
165
165
225
112
123
124
161
255
112
121
165
201
165
112
198
242
137
208
150
164
115
193
170
165
192
130
202
229
177
135
164
167
121
137
112
170
150
193
150
159
186
164
255
216
160
112
152
196
175
121
214
200
208
112
167
152
172
228
194
112
137
172
150
128
112
201
167
150
112
176
150
130
204
243
112
194
165
115
136
130
181
170
165
171
201
186
150
115
181
165
194
147
135
208
181
208
243
206
225
220
228
186
172
193
112
205
196
184
135
237
172
159
112
187
150
150
121
121
208
274
158
171
150
150
150
186
150
212
115
165
226
208
124
112
223
121
194
150
115
186
214
158
150
170
195
175
150
209
136
123
124
176
168
112
208
227
226
121
162
164
165
208
208
147
187
228
225
124
255
112
172
150
217
112
115
158
171
168
170
203
121
172
216
176
171
170
224
195
187
212
167
136
137
194
136
176
165
278
225
112
210
150
272
167
160
269
274
150
179
112
194
112
124
130
171
210
150
170
194
144
172
165
228
150
193
136
135
136
136
112
175
156
112
170
164
158
203
310
247
150
121
123
135
172
228
208
121
167
150
130
178
177
121
255
214
201
173
181
150
193
172
172
210
172
156
112
167
202
250
237
167
302
218
186
121
220
150
210
168
112
112
209
187
181
123
124
208
184
150
186
112
147
192
172
159
159
233
196
123
121
112
208
202
172
170
208
170
135
217
170
121
121
124
147
136
150
272
172
208
193
181
165
112
150
201
194
189
121
231
176
121
181
167
174
164
115
150
121
181
112
279
181
170
171
237
171
192
174
187
225
177
236
211
231
208
177
150
174
167
176
159
150
280
208
121
219
121
175
176
172
215
176
172
168
248
135
130
112
229
121
211
203
174
181
199
167
208
265
172
302
243
112
136
195
121
220
167
281
172
172
171
207
112
208
167
121
167
224
112
205
112
112
172
237
112
193
123
206
167
170
112
158
171
112
208
121
195
171
123
229
159
194
168
187
150
174
159
165
170
168
121
172
160
205
165
192
167
167
172
211
182
186
150
231
200
112
167
156
112
136
172
123
121
112
121
208
136
123
123
112
172
172
121
167
167
112
186
150
177
225
167
164
139
170
123
150
193
171
115
195
150
112
186
208
121
124
193
172
165
219
220
208
150
207
172
208
167
165
194
150
112
179
220
189
208
135
195
181
210
205
167
193
150
186
137
150
137
255
164
121
172
150
202
177
150
112
192
175
208
112
112
150
172
210
146
186
232
115
235
150
159
112
170
194
171
195
186
294
208
123
150
223
172
219
165
128
170
226
171
195
187
193
150
181
121
172
150
223
123
192
228
214
168
150
167
137
193
171
121
208
178
181
156
150
219
167
176
202
121
150
147
238
121
150
177
164
245
176
227
208
167
208
172
167
121
210
172
209
130
181
121
128
112
172
243
232
150
172
150
172
121
112
121
135
150
174
210
147
150
172
172
135
229
208
187
174
112
228
150
226
132
115
196
123
121
150
121
150
164
211
192
121
240
208
234
156
182
258
170
150
227
167
137
112
208
115
135
227
150
150
246
171
150
226
192
164
195
177
208
123
208
167
227
132
112
150
207
150
195
167
237
192
165
164
172
172
135
208
150
167
112
170
112
112
165
194
194
243
201
174
150
205
121
165
150
112
165
150
201
178
177
171
205
130
159
193
150
150
186
184
171
170
189
152
112
112
160
181
159
181
203
150
213
121
239
150
167
189
150
150
207
172
112
208
112
121
195
181
123
170
171
196
167
245
167
123
156
257
165
121
172
255
150
171
123
172
193
115
150
112
172
123
167
245
112
121
201
121
203
150
187
171
130
121
150
112
259
225
240
208
121
212
160
158
167
193
115
208
206
160
164
212
186
208
159
112
218
121
130
208
177
195
135
136
136
174
170
136
150
202
143
195
202
212
115
112
150
147
203
240
124
208
115
158
115
121
186
184
215
150
172
136
158
157
164
171
229
176
208
186
150
130
208
136
112
112
150
112
131
225
208
170
185
198
165
121
218
240
194
115
135
121
210
150
150
165
192
210
121
150
121
193
112
112
156
112
112
210
208
123
165
162
150
202
176
123
172
237
172
201
167
217
187
112
208
228
112
202
124
121
178
130
121
112
210
121
136
174
136
150
172
124
112
211
112
121
112
203
150
231
208
112
247
187
221
170
186
186
255
231
167
115
153
186
123
121
150
150
160
237
177
121
158
112
195
147
208
229
158
150
220
201
167
112
170
112
112
181
175
167
278
167
223
224
186
121
152
158
115
137
143
208
121
187
124
167
289
186
232
150
150
150
121
175
171
170
202
238
121
194
150
228
150
195
209
170
201
176
170
181
112
177
121
112
187
194
167
172
171
231
181
150
147
193
121
150
167
112
150
150
157
172
202
172
167
112
171
219
172
150
112
178
121
209
181
195
172
123
137
179
213
112
200
136
112
232
208
208
167
194
210
112
184
184
150
200
203
208
123
194
187
176
192
193
121
239
150
205
150
275
177
171
193
200
171
123
187
121
150
150
235
210
164
170
231
123
181
150
147
201
210
208
150
150
115
147
170
135
194
137
121
195
121
193
228
193
115
211
121
176
152
147
233
112
275
150
128
150
192
214
237
171
207
170
115
250
173
147
208
219
171
239
170
112
202
212
271
150
194
170
171
194
167
143
150
147
219
186
150
132
170
217
165
160
217
242
150
112
115
167
208
194
181
172
226
207
255
189
187
112
121
176
236
112
172
150
177
208
232
150
150
243
124
165
220
171
162
156
181
121
253
228
231
121
112
150
175
112
177
186
136
197
208
181
150
302
150
240
203
150
202
150
208
147
112
150
187
199
220
207
259
210
193
208
143
112
124
123
121
170
178
112
150
112
112
152
186
171
112
225
278
194
208
147
236
171
208
208
150
202
152
150
172
135
115
201
152
263
136
268
181
195
171
172
112
150
201
165
150
210
150
171
229
137
150
217
170
167
121
150
250
165
137
136
112
167
121
175
112
170
201
172
237
186
237
243
123
186
150
121
150
172
121
150
167
187
216
135
112
150
167
193
150
150
228
159
147
208
245
112
208
202
177
181
232
135
172
230
130
121
237
147
150
208
112
208
112
201
112
194
167
212
208
150
150
172
167
202
203
175
112
121
186
115
123
135
176
258
165
179
143
207
121
167
193
170
121
208
239
150
187
210
210
136
115
112
208
177
152
181
178
201
112
159
223
207
112
181
121
158
121
164
152
172
210
194
128
171
112
168
208
177
164
167
135
121
192
150
150
135
150
184
177
123
124
210
112
150
121
150
210
123
130
158
112
215
202
172
235
150
231
112
182
112
220
115
121
121
164
121
150
170
237
115
216
250
112
167
210
121
150
212
193
165
123
157
112
150
121
203
121
172
135
150
174
195
124
176
128
202
123
167
302
219
150
172
224
202
220
136
181
220
184
167
185
167
160
275
150
168
162
187
121
150
168
150
121
190
170
172
171
112
266
150
115
112
115
121
164
112
112
171
147
121
150
112
170
174
201
112
112
208
147
150
176
121
112
276
152
189
123
150
167
115
150
123
112
165
112
219
135
208
258
208
158
181
201
137
194
193
115
198
208
112
121
121
228
150
228
208
190
171
208
208
165
150
229
224
112
165
237
171
150
195
150
164
216
167
123
121
150
121
121
112
121
181
112
187
257
152
150
172
193
235
137
143
123
112
172
150
170
265
123
217
241
239
137
112
174
183
112
167
112
150
183
201
137
162
121
112
245
187
176
112
135
112
178
112
121
263
178
112
150
150
172
212
210
150
194
189
112
144
150
193
218
152
186
255
164
167
150
243
212
135
190
112
115
172
194
150
194
168
150
210
243
203
112
203
137
208
121
112
208
112
167
222
187
193
208
192
112
194
257
112
135
112
150
170
165
172
167
193
171
228
172
112
170
150
121
186
244
195
184
249
214
206
172
208
258
184
175
121
215
123
236
207
160
121
137
184
182
112
187
150
112
181
232
243
150
204
112
170
112
121
123
210
112
265
112
167
112
150
208
130
150
226
124
201
239
147
150
162
168
121
203
193
135
171
150
201
121
233
170
172
240
255
208
158
160
203
182
194
172
172
112
150
208
150
150
236
121
150
236
181
208
167
181
156
219
172
201
167
176
208
112
150
201
112
153
168
219
207
150
213
228
167
135
172
150
172
167
152
250
208
200
208
237
171
170
181
146
172
210
121
250
213
121
167
250
171
115
115
208
186
213
194
135
112
208
253
240
150
194
184
241
181
208
123
219
112
239
172
121
112
167
146
228
263
150
208
121
181
165
167
167
250
178
174
112
196
172
150
123
176
186
164
112
165
167
171
171
112
164
223
137
201
112
206
228
207
202
135
242
241
150
150
150
262
150
112
201
202
167
201
143
121
257
139
234
194
115
150
181
170
220
217
237
150
281
170
150
208
182
121
172
123
112
262
189
220
176
177
195
165
231
172
130
112
172
171
112
112
147
229
197
194
208
171
202
123
219
112
240
135
218
164
205
250
187
171
172
112
136
112
184
208
150
150
150
274
204
228
121
171
136
242
225
112
208
167
171
123
171
130
165
158
112
178
189
218
297
194
167
171
176
172
121
165
208
187
121
123
207
160
227
240
124
167
112
160
194
165
210
112
143
150
297
150
228
276
136
130
241
208
176
150
228
150
112
170
167
179
172
178
115
259
112
212
255
171
172
231
143
208
171
112
208
237
158
136
112
208
170
137
184
218
205
195
121
201
112
186
170
216
150
210
123
150
177
174
172
197
172
112
202
177
231
158
164
144
192
195
172
208
121
210
143
165
181
231
207
121
255
124
244
112
170
208
121
144
228
170
150
217
195
208
164
112
237
171
164
112
167
170
171
121
121
212
128
195
137
150
121
170
165
208
181
123
229
150
159
123
171
150
297
192
112
112
121
123
187
194
115
194
112
112
207
176
170
190
121
228
192
208
201
201
150
237
112
150
202
147
201
172
208
121
208
170
208
208
209
220
275
204
176
121
112
150
112
228
212
150
212
135
128
194
121
205
135
227
217
121
176
170
192
165
229
112
121
176
170
112
112
208
170
115
204
121
136
137
150
150
150
203
159
165
170
147
177
150
112
121
170
123
150
229
172
213
158
258
198
143
136
150
195
137
112
228
208
150
208
226
150
172
150
135
150
156
172
171
167
171
135
147
145
143
182
228
112
202
170
124
112
172
171
165
212
112
150
187
112
170
167
156
167
195
123
122
150
194
179
146
172
171
121
124
121
150
181
220
201
167
167
150
112
165
112
150
255
170
181
112
121
158
181
144
168
274
134
121
159
155
112
172
187
165
150
212
181
210
121
112
226
186
209
170
171
172
210
238
150
167
247
150
250
172
167
165
157
243
181
150
240
150
135
121
115
172
194
112
192
136
168
210
112
231
150
176
196
112
263
172
112
181
150
152
137
228
218
187
193
121
150
212
187
112
215
112
193
176
184
194
164
158
112
217
112
136
158
121
172
136
135
167
115
150
115
150
229
165
165
196
121
228
171
112
225
216
203
121
236
228
178
112
112
220
202
195
237
240
112
165
121
176
121
197
201
164
165
205
112
112
150
172
150
186
115
171
137
211
150
208
208
202
112
228
162
177
150
208
237
208
172
112
167
172
238
158
202
192
165
238
176
112
112
179
124
112
237
228
228
235
187
172
184
176
121
232
124
176
150
123
121
137
225
170
192
250
208
172
262
150
183
150
167
147
218
201
172
150
212
181
121
192
219
239
224
123
167
226
172
178
150
112
187
203
170
213
164
150
208
176
167
184
167
171
112
121
229
112
250
150
167
201
209
170
220
255
214
172
135
112
150
112
237
208
194
112
194
217
130
112
121
146
150
231
199
159
208
221
167
259
112
205
175
194
208
128
229
262
210
152
121
164
112
160
220
275
170
208
181
150
237
170
202
176
239
297
130
123
172
112
208
202
237
192
255
241
174
167
195
179
128
112
210
208
186
124
193
115
194
112
170
150
170
226
194
218
150
174
171
179
150
193
208
164
172
219
123
136
165
150
204
172
170
150
226
172
220
136
150
121
150
150
131
245
167
121
150
217
112
232
181
202
195
170
181
171
171
112
181
183
147
187
159
123
135
181
150
181
123
208
213
203
203
193
150
167
202
121
123
194
121
112
171
150
112
164
121
170
144
150
172
176
201
152
209
170
147
216
121
212
259
112
124
189
167
255
121
220
218
150
150
208
208
302
165
208
177
219
146
121
226
170
278
123
210
121
112
170
228
167
242
171
112
150
212
121
112
112
194
150
150
208
136
112
207
272
167
239
208
208
172
202
193
150
112
259
263
217
167
150
177
212
121
172
194
130
281
170
194
172
172
187
124
172
121
156
150
150
112
209
112
208
168
218
167
205
132
135
143
115
239
112
172
177
167
233
150
229
123
181
230
208
201
150
174
172
171
242
201
121
150
179
123
121
186
230
208
218
170
121
121
175
152
196
165
121
121
121
225
150
137
195
193
150
164
176
170
194
170
194
193
237
175
231
208
115
150
121
112
167
167
171
233
210
195
208
150
237
228
210
194
136
165
130
186
181
171
172
168
250
232
112
147
150
255
115
136
112
212
299
211
136
160
172
112
121
232
150
228
181
192
250
231
121
170
181
121
219
239
167
170
277
208
207
135
112
167
231
121
249
121
210
219
112
124
158
164
179
208
143
170
167
171
112
123
178
121
208
158
176
186
112
225
193
233
208
124
272
214
208
150
208
217
194
184
156
121
163
240
177
121
195
158
115
167
170
276
150
254
203
167
115
172
208
172
150
150
170
205
182
239
202
150
196
170
202
239
150
192
218
219
214
250
193
203
181
170
136
160
194
112
168
192
212
219
137
231
150
121
208
212
208
200
186
168
167
123
209
235
112
239
193
228
112
115
186
135
203
187
233
123
167
150
164
193
139
167
112
150
208
203
121
150
176
218
209
276
199
208
147
186
112
176
228
115
203
237
186
150
171
172
143
150
161
237
226
220
232
217
112
124
208
193
217
272
121
175
157
205
302
123
123
115
121
208
208
112
115
207
222
218
112
172
167
195
302
167
208
137
195
170
266
195
195
165
177
164
194
176
258
170
181
203
233
178
147
150
150
228
209
115
150
215
208
208
181
147
150
208
276
135
135
174
136
167
115
150
208
121
223
195
115
112
123
121
174
199
156
208
196
121
143
136
170
170
208
112
215
220
112
136
150
150
123
115
210
150
150
152
172
115
147
172
167
112
170
194
167
187
150
276
121
112
165
150
172
192
186
181
150
150
123
195
274
204
228
223
239
161
230
208
121
202
225
172
201
121
147
194
170
121
187
219
186
150
147
208
193
112
186
150
240
121
203
203
171
147
137
150
112
215
112
160
239
123
228
240
250
121
112
112
123
235
170
228
150
196
229
112
121
172
195
150
176
174
150
172
176
217
194
167
112
199
112
208
204
176
121
208
181
112
208
150
150
130
212
171
208
159
130
170
150
172
224
152
165
170
112
174
150
205
217
121
150
165
165
112
112
228
150
229
208
181
121
187
150
227
112
128
201
171
150
195
229
194
170
167
172
121
201
208
255
212
170
167
150
171
263
112
220
210
219
195
171
146
181
201
213
261
187
121
170
199
150
112
193
150
150
168
150
186
208
161
112
171
192
225
121
150
208
112
112
174
201
121
150
176
221
121
144
210
121
171
167
121
175
187
193
195
208
216
150
219
112
229
147
176
243
231
176
208
124
193
175
203
130
165
177
228
201
155
194
217
130
171
172
195
187
181
182
121
121
258
168
187
172
232
159
212
231
167
208
150
158
146
165
211
267
203
150
194
233
121
238
174
167
115
190
171
186
121
152
112
218
233
202
150
123
167
112
163
212
205
175
210
243
163
167
163
257
173
228
210
143
186
193
121
123
137
121
137
147
176
136
150
228
167
172
238
210
168
172
137
131
228
121
242
112
171
228
135
198
124
202
192
255
147
209
193
167
228
175
204
167
193
150
112
115
217
203
181
201
164
195
229
269
194
150
208
193
208
147
237
121
187
150
194
193
239
188
181
189
250
186
112
150
220
112
158
150
115
115
150
239
160
201
205
160
229
147
159
167
159
150
203
201
210
150
150
193
184
112
121
137
112
172
112
184
123
243
150
112
207
202
150
170
160
230
150
172
205
240
195
162
112
201
150
196
242
187
135
220
244
160
150
177
174
112
146
228
206
216
205
208
208
194
167
128
228
112
171
167
192
150
226
208
176
150
181
179
156
150
135
233
177
143
137
210
112
147
112
112
164
195
135
193
137
248
194
228
170
112
121
208
123
177
217
186
226
115
179
123
172
167
160
112
193
226
206
143
190
214
112
211
205
172
193
121
150
187
137
150
167
137
112
121
208
112
167
204
194
135
150
187
160
202
157
150
150
167
137
240
112
112
267
222
186
130
232
121
121
121
186
181
112
150
170
167
225
237
150
158
112
178
212
121
128
172
193
228
231
174
112
193
150
181
115
177
123
219
123
121
250
194
300
167
223
171
150
208
121
150
136
165
180
150
177
176
181
121
202
165
112
112
137
202
255
143
165
176
218
171
124
121
184
121
242
115
121
121
112
121
187
176
186
172
186
160
135
181
115
302
147
112
220
277
147
239
123
202
210
178
238
167
193
172
177
193
275
112
121
208
160
213
121
112
150
238
164
250
239
137
152
181
167
194
150
181
167
170
144
112
150
234
164
112
121
150
165
204
171
112
210
121
159
193
136
160
259
156
187
171
194
121
150
150
158
171
186
202
150
238
150
302
123
121
208
186
170
256
212
150
121
123
150
167
194
242
146
170
150
176
208
136
193
172
175
112
112
112
177
121
150
195
202
216
121
170
193
124
208
150
165
112
172
225
112
121
195
172
112
244
226
135
208
150
112
112
150
121
213
163
174
208
172
195
112
136
123
160
236
172
121
212
150
158
215
220
263
115
219
112
233
150
237
167
135
150
150
281
159
165
170
165
112
121
115
112
172
121
150
167
228
150
172
208
219
112
194
228
112
199
112
170
137
172
112
227
150
203
208
159
189
124
121
186
112
208
176
207
121
260
176
205
193
112
150
171
112
208
150
121
150
220
167
150
187
176
184
156
194
231
150
150
160
233
130
208
216
195
164
121
167
121
171
172
179
225
218
172
255
132
112
112
150
150
165
231
209
198
242
214
184
150
165
208
153
135
242
195
159
208
228
233
186
212
240
112
239
194
131
208
135
165
216
176
112
121
208
174
150
216
202
174
158
218
112
152
237
121
172
176
121
152
228
194
203
229
145
172
176
121
147
165
160
207
112
159
217
121
193
121
201
233
237
179
203
147
121
193
167
174
161
171
193
150
225
170
231
112
228
235
121
239
128
112
150
158
130
220
112
150
161
121
243
217
193
229
279
193
165
164
135
172
123
143
258
171
220
176
115
215
123
181
121
158
174
210
150
158
176
201
136
253
243
202
208
136
147
156
170
128
171
121
121
203
150
203
167
171
147
167
131
172
176
168
112
172
115
150
112
208
255
211
165
228
150
147
150
121
243
137
229
228
171
208
124
115
174
159
208
217
212
181
205
209
189
203
172
170
136
121
150
121
167
112
121
150
166
232
231
186
150
165
210
250
237
203
201
112
208
206
121
112
157
181
147
178
193
259
150
150
231
147
156
211
112
208
171
214
207
121
181
195
170
194
124
219
239
220
150
181
186
209
229
165
210
121
160
167
225
212
121
177
229
121
193
170
222
193
195
150
171
171
132
240
137
112
235
170
170
181
112
223
184
130
123
112
150
112
187
219
181
177
187
186
192
181
220
229
201
212
208
112
176
176
239
112
150
121
150
172
146
121
302
160
208
194
121
181
202
167
112
212
150
208
217
207
150
165
201
164
172
167
123
277
160
162
241
165
171
238
121
144
150
123
150
209
130
121
238
244
172
174
112
226
123
181
250
170
130
172
193
115
170
208
212
172
150
167
172
165
210
150
123
112
121
195
150
194
193
161
220
112
170
112
115
288
171
172
124
172
112
251
210
214
172
171
220
150
208
121
232
176
121
203
249
150
137
217
131
144
179
204
112
165
193
112
172
228
172
147
172
150
112
112
150
208
201
207
179
161
128
210
253
213
187
197
112
150
164
135
150
159
123
226
136
136
220
137
194
207
168
228
228
121
195
201
121
121
216
176
194
112
181
170
165
200
165
121
121
201
215
201
215
167
169
195
208
172
205
172
193
150
167
181
215
121
176
167
239
123
172
157
176
228
171
150
150
215
205
124
181
203
228
210
168
158
269
135
193
121
187
121
172
194
123
194
212
112
238
170
123
150
255
170
165
123
192
228
228
112
209
250
194
115
150
208
150
228
112
112
201
177
176
203
121
112
164
150
159
212
150
176
175
225
121
177
228
172
165
147
152
150
210
160
112
112
150
150
203
112
112
121
202
121
218
228
112
201
172
239
123
112
172
121
181
121
208
123
121
158
164
202
150
250
175
150
207
121
150
167
171
231
214
150
288
172
203
204
112
112
193
150
136
121
159
208
172
112
121
216
208
121
156
121
150
208
253
112
137
150
150
203
208
170
176
187
150
212
170
121
112
137
136
172
203
171
128
204
172
219
112
206
150
176
165
181
165
223
171
112
193
165
216
121
190
147
158
194
194
170
235
198
263
167
228
112
152
121
167
190
172
135
112
172
135
217
165
172
150
156
167
172
123
176
201
124
205
208
171
112
194
121
150
112
147
226
135
192
232
146
216
202
121
172
150
206
181
202
159
172
112
192
165
121
135
121
203
172
112
181
181
172
150
228
121
150
112
171
263
150
279
207
150
172
176
176
158
194
112
237
147
208
228
174
189
208
112
112
170
192
123
208
201
192
210
170
115
228
209
160
112
150
112
121
203
167
174
204
150
220
150
172
167
217
227
170
167
137
232
176
150
203
164
137
172
242
170
167
165
193
260
124
217
135
121
137
112
212
299
177
121
208
208
186
212
179
222
150
115
156
112
112
150
187
121
228
209
121
165
225
205
175
150
194
187
171
150
186
171
237
156
123
208
302
150
112
181
205
112
195
112
208
121
208
209
233
193
158
165
165
172
176
263
152
165
207
161
229
164
165
176
212
176
172
112
219
211
170
172
189
250
115
158
135
228
182
150
115
112
208
192
150
235
150
179
302
152
176
165
192
167
112
208
121
172
121
194
150
137
170
172
208
121
202
216
150
112
194
172
187
181
150
150
124
187
150
121
213
170
130
176
150
112
121
194
210
137
172
276
255
136
171
179
210
150
112
167
239
160
194
226
167
150
225
177
150
150
150
173
229
150
150
270
147
112
136
208
115
168
186
239
234
284
170
112
112
158
167
171
177
112
229
196
226
170
112
123
196
112
112
208
171
194
112
135
159
175
168
186
226
165
218
150
112
194
193
165
167
208
171
121
201
147
112
278
150
208
176
150
194
208
150
150
150
121
176
237
194
164
233
121
208
228
202
171
134
225
205
136
230
184
170
167
174
150
207
263
112
219
158
208
150
136
170
135
237
150
171
161
121
208
150
150
193
210
203
150
157
165
214
112
171
232
152
150
167
194
136
255
171
172
187
121
158
167
213
150
240
165
172
112
172
112
277
197
115
150
144
123
242
170
121
172
171
150
121
172
181
179
112
121
193
150
245
150
194
171
194
216
214
112
229
194
150
193
208
181
220
112
187
239
224
115
115
112
150
167
172
150
121
164
150
112
193
160
208
214
243
165
196
167
165
112
212
121
131
137
147
112
167
112
181
194
150
193
112
176
186
112
253
150
121
150
216
217
177
150
121
112
171
167
121
172
150
150
177
212
160
176
147
150
209
241
121
165
115
297
217
181
194
112
167
176
121
112
121
172
208
150
208
172
150
150
150
197
176
137
121
171
228
121
172
263
228
130
260
121
123
212
250
150
123
180
150
167
219
144
121
172
150
207
181
186
216
121
176
175
200
187
167
193
195
130
176
172
172
165
195
208
150
152
112
257
168
176
208
147
217
136
171
167
194
255
150
112
212
176
179
237
206
150
137
226
172
208
112
187
121
199
172
181
137
186
167
165
192
194
112
167
228
160
115
241
135
243
201
170
207
150
121
171
282
121
186
233
179
121
212
158
186
112
172
167
297
112
171
123
150
121
135
212
174
172
208
150
158
112
167
160
250
124
165
231
137
147
150
150
112
193
123
149
165
187
150
167
208
123
185
172
121
176
208
207
194
194
123
121
150
170
237
167
147
228
179
208
130
146
115
121
194
170
194
147
150
190
136
245
210
208
158
121
207
121
150
121
112
167
170
219
159
237
195
240
168
186
212
195
147
130
112
137
167
159
128
207
124
170
208
121
147
186
172
172
112
172
214
150
194
187
165
171
176
121
112
121
174
194
115
150
152
181
136
186
158
150
121
217
150
172
150
130
243
170
216
172
115
177
212
150
123
208
230
203
150
156
172
201
181
187
172
208
186
112
170
112
228
147
172
212
245
248
208
112
208
112
121
195
194
112
121
136
210
207
164
150
150
150
147
123
260
162
115
168
158
208
159
150
250
171
218
165
150
121
150
150
150
172
208
159
150
165
167
187
209
227
121
218
160
150
150
250
201
150
121
112
136
121
208
131
171
267
210
170
193
170
192
186
190
112
210
112
171
150
186
165
294
123
181
121
208
207
240
112
229
174
150
208
135
150
181
130
208
112
150
211
201
263
112
121
193
150
115
202
115
159
218
181
168
227
281
240
187
215
167
202
121
112
150
112
171
217
131
182
112
164
208
189
150
172
123
164
121
205
210
128
121
265
121
121
112
121
199
239
167
123
228
181
150
243
247
150
150
200
167
121
112
210
150
231
165
121
278
112
181
302
208
170
112
225
112
172
172
185
237
112
158
245
194
224
150
150
208
121
150
167
181
181
192
171
112
210
150
115
123
229
137
196
136
112
121
167
150
124
150
218
150
150
168
167
234
208
170
194
152
121
217
172
172
255
137
121
216
115
150
112
112
121
123
121
208
137
150
112
128
228
150
112
171
206
150
150
254
217
171
172
112
237
193
150
181
198
202
150
121
189
228
159
150
112
194
207
181
210
175
243
121
150
112
164
170
112
172
167
198
237
150
150
167
297
171
184
255
232
210
192
112
208
150
186
210
121
260
176
237
203
195
193
167
147
172
172
226
202
156
112
121
123
189
135
123
186
194
127
121
164
167
164
210
121
112
112
194
172
218
215
121
167
241
193
150
184
150
167
170
150
135
201
170
143
150
112
147
170
185
228
170
112
208
208
170
167
194
150
112
208
189
181
150
112
172
167
112
131
209
150
210
179
204
208
213
195
112
184
208
121
112
112
226
208
135
205
171
167
250
170
195
201
225
172
121
160
174
233
167
224
236
121
208
123
205
167
240
150
121
112
167
121
175
187
112
150
175
209
302
121
121
186
219
172
226
247
150
219
208
236
194
178
112
158
152
243
156
186
219
147
167
112
212
195
123
208
177
135
112
156
177
150
112
197
192
194
181
171
159
186
193
208
244
167
217
160
217
170
208
112
228
112
201
150
228
112
208
205
208
157
115
172
121
156
181
112
115
121
187
150
164
150
112
220
150
172
195
167
150
112
150
229
201
150
182
213
208
202
226
150
172
205
263
172
167
166
208
193
152
160
192
176
112
158
159
123
220
170
208
170
195
171
177
194
121
228
194
165
208
208
195
157
174
167
112
216
205
203
162
124
177
150
150
121
150
160
112
302
150
112
136
167
150
172
150
167
123
231
202
137
121
208
181
121
227
212
235
150
210
216
193
208
165
189
123
226
228
176
168
172
186
263
152
201
150
194
136
152
176
208
177
165
172
178
121
123
204
214
208
121
112
171
208
112
226
208
172
150
177
121
112
112
121
209
112
228
205
135
121
150
152
121
121
220
212
194
232
150
121
236
182
164
170
202
212
150
172
170
240
167
150
171
209
208
123
190
187
161
112
147
112
194
217
229
165
225
239
228
237
226
279
171
150
239
207
228
112
208
172
271
158
121
230
228
121
112
170
150
164
130
165
112
195
123
164
215
208
124
212
186
203
193
228
150
147
194
207
208
186
192
136
201
299
237
112
171
226
112
164
172
150
170
186
167
112
130
121
172
233
146
121
186
208
206
121
112
176
167
212
275
175
208
167
121
195
208
172
294
135
150
172
257
217
202
136
171
150
187
168
172
272
170
112
167
171
161
150
121
150
167
123
217
214
195
147
210
115
132
132
172
167
178
112
136
205
150
225
218
150
219
112
123
158
174
112
214
160
128
245
123
130
170
112
255
167
231
239
112
215
255
112
112
137
168
164
258
150
208
175
167
218
152
172
232
226
172
176
186
121
150
150
177
134
208
121
210
233
255
172
172
203
309
156
121
201
208
170
203
228
112
226
112
171
194
257
193
112
150
152
195
186
123
194
135
208
130
176
177
195
218
150
137
115
178
124
232
199
186
182
255
112
170
165
167
115
171
187
254
208
112
195
150
186
228
159
121
171
123
150
165
170
150
254
165
150
184
342
112
150
182
179
239
144
170
112
202
239
201
203
137
164
158
170
123
137
208
174
146
194
121
172
123
243
112
165
159
170
194
167
194
147
112
172
112
209
170
135
194
176
150
167
123
115
187
112
171
184
172
150
130
229
165
150
167
172
176
233
112
121
272
139
181
112
194
167
121
171
274
121
228
211
136
210
208
239
171
195
168
130
172
112
115
215
205
207
150
171
200
223
237
208
165
170
208
239
112
170
112
167
147
177
152
226
112
115
194
203
150
159
212
194
150
123
210
165
123
170
208
112
150
194
216
208
160
150
194
121
186
181
186
112
121
150
201
150
170
150
233
112
121
174
195
208
136
227
181
150
235
342
178
172
195
123
150
123
232
147
147
112
135
115
193
160
195
150
150
220
176
165
150
112
228
218
112
159
196
170
160
150
276
172
112
176
121
112
237
165
165
167
121
219
215
195
208
160
246
115
189
220
225
171
150
172
208
165
176
167
217
147
210
112
255
222
167
168
278
168
160
171
172
172
208
192
186
212
150
150
227
211
192
147
170
172
121
233
167
208
112
112
167
193
208
255
181
121
210
176
208
223
165
167
208
194
208
171
194
150
168
165
210
278
193
112
121
112
177
150
115
218
172
121
186
226
206
123
112
115
237
264
164
176
228
174
194
112
164
172
167
238
176
252
112
150
220
186
121
136
121
112
201
258
167
150
165
219
150
137
171
229
150
223
168
259
128
170
186
121
176
171
269
299
176
112
194
208
192
112
172
174
168
150
230
244
150
170
225
167
219
172
170
164
112
217
171
150
150
220
172
205
150
121
201
208
258
222
150
121
172
150
206
208
170
211
150
174
112
171
172
112
217
239
229
112
228
208
172
181
158
174
202
124
172
150
150
270
112
121
123
195
201
135
150
150
170
159
187
150
230
202
279
170
201
150
130
121
150
264
112
208
150
150
245
198
238
231
170
150
215
150
112
150
160
185
167
276
172
170
170
208
208
159
195
226
181
201
150
188
156
124
186
121
167
137
150
136
130
171
194
137
150
112
112
170
150
213
150
210
170
170
203
231
137
150
219
150
228
157
112
276
177
172
202
112
208
147
255
276
121
196
135
239
218
237
165
150
236
167
112
112
170
170
156
152
194
112
137
171
278
112
136
150
158
150
167
182
228
176
281
153
112
244
168
192
187
218
112
272
112
165
196
216
170
202
200
172
112
123
170
208
172
135
121
208
112
172
194
187
150
147
278
150
112
112
150
205
170
167
152
202
231
172
186
195
167
202
234
194
210
121
172
115
158
121
150
226
243
153
121
172
217
121
150
172
121
172
193
233
179
150
258
112
160
203
195
135
187
176
170
181
121
170
203
121
168
135
201
237
121
194
147
234
121
167
112
121
123
112
176
201
186
160
208
208
195
176
186
184
112
172
208
164
255
150
201
115
146
193
167
112
112
112
194
112
143
302
172
112
246
123
150
135
193
150
167
181
121
210
112
184
150
197
171
205
232
202
150
165
176
112
167
136
233
150
147
112
244
187
243
208
135
150
121
164
150
170
112
208
170
208
174
210
158
225
226
193
112
121
152
171
159
167
195
131
176
124
164
181
218
186
279
112
112
217
239
193
178
124
115
123
168
218
112
192
159
228
168
112
112
115
186
187
150
203
237
143
159
194
121
150
255
112
174
175
208
121
171
170
165
202
135
151
210
170
121
158
181
233
160
229
174
177
121
231
171
179
158
112
150
228
220
112
121
201
208
150
167
212
135
112
203
170
136
208
176
112
112
123
208
172
217
202
112
168
147
194
171
172
112
176
196
112
214
218
135
167
164
112
186
112
171
150
195
170
112
124
121
121
203
160
150
220
121
208
115
212
176
150
194
210
167
121
158
112
121
150
172
171
150
218
164
112
112
208
228
233
193
210
177
215
135
143
167
156
187
193
156
121
150
276
194
159
233
147
162
164
167
202
202
150
267
186
208
223
208
181
228
150
170
187
172
205
112
124
158
229
121
167
235
208
233
172
181
186
167
208
170
220
156
205
228
164
160
186
168
176
121
176
167
112
112
184
212
208
128
112
208
150
147
112
165
195
147
200
147
112
208
165
121
128
150
170
172
150
171
121
239
112
172
165
203
112
121
150
233
181
137
272
150
218
172
171
221
208
279
214
181
136
150
162
150
150
181
121
172
112
239
202
137
121
226
167
260
123
115
182
181
121
124
194
167
123
228
121
152
167
168
172
208
208
160
121
171
228
233
226
194
150
170
228
203
208
150
150
250
220
181
202
150
177
223
190
187
167
150
202
156
112
150
218
204
212
231
112
228
150
150
158
194
167
121
176
171
112
194
146
150
177
135
177
136
208
121
121
121
112
147
112
124
208
121
112
165
112
207
175
181
112
201
112
150
193
150
243
278
135
172
112
171
167
156
112
164
172
275
167
130
115
150
194
172
136
150
150
203
150
135
124
171
227
150
217
167
177
150
160
137
208
136
171
228
194
194
121
195
208
210
121
168
150
160
121
121
176
115
170
181
193
167
217
112
244
167
195
150
139
175
165
112
160
215
208
194
220
150
173
150
210
228
150
216
164
168
239
150
112
150
159
135
181
165
228
121
121
172
171
172
121
150
172
176
171
219
147
267
150
209
167
176
136
164
201
228
220
186
193
121
208
121
150
231
150
136
156
212
187
255
203
150
115
167
208
123
187
172
276
231
196
121
112
210
172
170
173
144
121
208
203
177
249
150
171
123
112
159
177
186
135
167
182
112
231
121
112
167
208
172
213
237
208
112
165
261
195
112
121
115
112
235
112
213
121
176
203
124
192
171
165
160
121
128
121
150
212
187
208
170
208
232
112
176
150
185
167
170
208
147
202
228
208
239
193
176
121
147
150
112
172
123
181
278
208
231
121
255
172
121
219
165
172
201
170
156
263
121
121
141
237
202
172
194
205
147
228
225
189
240
170
202
172
115
194
121
121
123
297
171
228
219
237
165
150
176
147
112
112
121
150
195
115
186
168
203
216
228
170
150
123
186
208
257
228
152
208
208
208
167
188
172
121
237
112
246
194
176
150
112
112
186
170
135
115
208
171
115
150
171
208
181
218
255
121
115
123
150
177
182
302
278
112
201
208
150
123
150
181
168
240
168
112
159
150
185
235
217
250
255
177
237
224
121
198
266
225
150
123
172
112
201
199
172
208
159
212
187
167
112
250
228
150
150
121
172
210
219
150
123
193
181
156
165
254
150
237
228
158
175
176
150
170
121
158
194
112
121
208
164
225
201
199
237
172
150
165
181
135
123
128
123
112
208
208
179
205
208
176
208
193
219
172
187
231
112
170
170
171
194
167
171
176
165
210
226
162
150
121
198
172
220
121
202
121
135
240
135
208
172
194
112
146
121
194
150
159
123
201
162
121
121
194
255
112
220
150
208
178
236
208
170
272
208
150
121
165
146
176
121
189
139
174
150
208
121
208
121
152
164
208
167
135
135
121
186
112
272
208
147
150
123
195
219
220
121
150
177
176
225
208
208
112
247
156
112
202
150
231
150
165
150
208
124
165
186
177
189
112
235
115
216
210
208
244
205
176
209
121
112
192
194
263
121
121
150
121
171
112
121
220
208
194
121
137
172
177
186
197
196
184
177
143
234
150
172
112
208
176
112
227
189
226
147
190
201
123
194
208
130
234
150
208
208
152
340
181
112
112
150
156
167
226
225
171
215
172
128
181
115
172
202
158
167
186
212
181
200
123
150
172
263
176
135
208
112
123
121
208
112
115
170
150
220
170
150
218
165
203
112
150
205
176
121
141
136
193
112
263
198
121
226
196
150
297
178
267
123
165
150
112
112
135
192
181
225
150
216
181
167
112
167
150
229
150
237
185
205
208
231
112
208
121
121
121
112
112
234
121
170
167
152
172
123
250
172
112
121
135
228
121
115
121
150
150
150
167
257
167
259
174
112
194
210
147
124
203
172
243
246
200
112
172
158
115
167
229
218
137
150
219
150
269
172
208
172
208
121
150
112
150
171
281
213
186
165
150
112
171
150
123
163
233
237
121
128
174
198
150
150
227
173
203
112
189
168
203
121
194
194
135
202
159
112
176
112
208
150
210
238
215
208
150
201
167
150
123
219
239
179
121
240
243
121
112
207
233
157
229
231
171
173
227
177
170
121
158
165
150
176
263
237
193
121
181
243
208
208
226
237
150
135
170
174
167
135
167
172
135
150
130
150
112
179
171
167
170
187
121
201
121
176
150
215
269
208
167
201
112
186
172
181
115
176
150
170
112
176
208
137
177
174
165
195
121
171
201
215
150
186
112
146
193
146
135
123
172
112
150
216
170
172
172
223
121
124
136
181
171
238
208
170
174
214
170
172
208
192
130
212
112
170
227
178
243
156
165
189
137
170
150
150
189
121
210
167
170
250
171
156
121
228
171
212
150
210
206
181
244
210
150
229
144
218
124
195
194
170
150
181
121
236
150
186
167
150
172
170
150
195
121
121
112
147
181
204
212
150
150
212
123
208
150
171
147
181
167
220
239
167
112
186
167
150
201
195
187
172
115
194
171
147
171
254
197
137
147
217
176
164
112
208
187
172
233
121
135
185
203
124
181
170
194
150
121
170
112
186
112
112
150
112
123
150
174
172
158
160
150
225
187
112
181
112
137
123
171
194
135
231
144
150
202
208
198
232
121
161
121
112
208
170
121
187
220
158
150
115
172
291
112
172
194
233
171
237
136
186
112
167
150
186
195
208
174
161
185
228
160
115
172
208
150
121
205
150
150
194
229
195
271
166
342
121
199
167
150
178
194
195
147
136
159
185
170
115
174
172
272
231
121
137
202
208
150
186
150
217
195
136
215
150
170
218
170
199
238
194
237
150
170
181
210
223
164
220
181
121
159
193
181
150
171
112
207
123
132
167
184
212
137
164
150
179
228
150
123
231
208
212
135
233
135
158
112
172
237
202
210
183
150
181
161
175
147
194
176
152
219
150
167
112
231
150
272
112
171
164
208
194
206
195
187
172
265
272
172
150
176
208
128
174
237
150
206
172
175
171
210
159
210
167
242
187
230
228
150
200
181
210
161
200
112
112
187
250
171
112
208
112
202
112
164
171
237
172
181
176
150
167
189
168
121
208
208
208
210
227
201
225
112
220
135
121
172
208
156
121
112
196
167
258
150
121
121
128
150
176
112
210
161
194
208
121
225
172
123
210
194
189
179
146
150
171
202
171
193
232
231
136
250
112
172
176
189
112
201
253
216
208
266
167
115
210
135
158
194
115
204
162
121
262
124
209
160
192
167
112
152
208
299
224
200
172
123
112
207
208
208
195
150
167
121
167
181
172
179
220
150
160
208
208
196
150
112
179
226
167
190
173
248
170
187
201
150
218
194
136
194
201
135
121
121
112
150
172
212
167
228
156
123
184
171
147
172
187
208
112
181
121
172
152
150
208
121
162
235
112
190
135
235
195
196
170
220
150
139
208
112
121
235
264
112
194
121
208
208
181
121
219
121
237
121
202
225
167
150
208
226
150
176
192
159
156
170
196
167
112
179
150
150
208
194
187
144
224
121
228
121
121
121
167
293
137
250
207
203
276
217
238
208
167
171
167
197
165
135
150
121
167
219
112
177
147
176
150
158
215
121
184
239
112
137
165
187
156
181
175
177
239
170
187
150
206
192
210
150
112
121
202
150
228
135
197
121
231
212
121
283
124
172
205
112
247
168
196
152
121
170
207
171
194
152
208
150
150
193
178
150
164
205
171
137
225
112
239
194
159
121
121
186
208
152
220
112
150
275
121
136
150
172
150
172
196
121
194
250
218
150
231
194
143
170
150
121
250
208
160
257
192
190
112
228
302
172
229
177
194
171
186
184
192
174
121
137
150
121
192
150
150
193
187
160
121
171
179
112
150
172
170
230
176
167
158
171
136
167
150
112
150
187
203
150
227
112
167
192
175
121
123
208
121
183
213
121
115
112
220
144
255
187
259
194
186
177
121
171
112
209
150
233
233
208
168
175
124
171
172
121
112
212
174
172
121
208
223
208
170
208
150
130
172
193
217
135
220
121
112
171
181
150
178
179
171
149
152
165
208
231
201
181
152
165
112
212
179
181
121
208
112
124
167
150
212
255
179
221
195
247
236
195
143
225
165
112
228
147
150
150
112
136
176
190
171
150
202
150
194
227
164
236
228
186
137
239
217
170
150
203
229
171
121
124
172
145
112
115
263
193
177
121
150
150
121
136
112
172
176
150
121
176
208
263
150
115
165
168
210
150
112
178
121
168
160
172
152
267
181
212
172
231
112
124
170
219
121
150
112
167
208
171
186
152
121
219
172
121
135
167
159
181
210
115
208
112
167
112
150
203
136
212
186
225
112
175
167
172
121
170
208
176
150
194
124
255
187
150
162
194
172
121
195
187
211
143
255
194
246
121
135
170
112
172
112
172
216
194
176
171
123
172
115
156
164
150
176
150
215
171
176
172
170
112
124
150
186
112
150
165
121
157
190
233
186
172
112
208
150
254
172
202
193
150
172
121
217
165
144
167
164
302
201
158
298
186
239
208
167
255
203
194
236
181
158
239
208
167
242
171
179
226
208
150
112
208
128
112
228
171
172
194
237
208
229
223
112
121
172
237
248
179
121
112
121
156
208
150
223
194
163
150
146
208
203
112
255
162
144
176
194
228
112
171
170
150
230
172
152
157
171
123
121
231
192
170
165
121
205
210
165
136
112
130
181
130
112
208
121
165
112
115
186
171
159
208
150
135
197
208
210
186
217
165
187
197
181
115
150
128
112
200
112
165
167
135
206
181
135
121
172
183
150
177
121
150
167
150
187
112
238
130
121
112
207
123
150
112
218
150
201
174
239
255
186
178
187
112
207
217
167
172
172
167
165
217
150
167
150
233
208
217
159
175
194
121
203
150
121
112
192
170
128
150
170
234
124
150
167
150
207
115
197
123
212
115
156
123
137
150
172
228
228
135
215
172
167
150
144
130
167
258
121
150
172
249
226
121
112
193
150
172
112
171
112
165
211
187
207
112
136
168
181
184
176
150
112
150
208
208
172
208
123
167
171
112
112
150
115
150
172
158
272
192
207
123
115
210
112
228
115
137
172
170
123
225
226
203
208
150
233
172
255
170
249
172
208
231
121
150
192
112
186
130
121
199
172
167
156
205
121
167
121
150
194
150
172
112
112
121
150
112
178
195
121
177
135
167
167
205
250
208
165
121
195
167
112
121
170
121
190
239
176
176
171
158
121
170
128
193
112
255
171
198
121
112
186
115
171
167
128
150
150
167
150
172
135
150
115
121
175
123
172
112
193
212
150
219
172
135
205
167
192
208
150
170
237
150
121
112
112
150
112
165
112
204
167
121
112
231
208
217
112
123
171
137
121
208
150
115
167
294
208
150
172
112
186
174
255
176
150
121
192
208
208
150
246
170
208
171
121
208
112
228
167
193
150
112
137
112
150
150
167
208
201
136
198
130
193
237
202
112
112
112
150
216
208
164
208
167
194
208
187
167
201
112
158
121
170
210
208
135
112
178
170
121
165
121
210
150
263
121
150
170
208
124
121
203
121
213
112
112
208
124
232
171
135
208
150
239
208
208
275
193
150
150
112
112
215
121
150
232
238
181
165
202
194
115
112
207
202
121
112
167
112
168
176
112
150
181
208
137
217
121
195
199
121
187
202
165
115
150
208
170
171
208
181
147
135
143
172
150
150
112
123
135
115
194
205
255
123
242
194
177
260
213
112
112
208
276
219
281
176
121
130
159
123
123
112
172
137
229
123
202
121
177
242
146
112
112
168
165
167
257
208
208
218
212
228
193
189
150
150
253
243
176
167
112
246
225
158
171
112
158
150
121
135
172
150
226
171
121
123
150
158
228
167
150
130
150
167
172
150
281
208
231
185
218
177
150
195
164
171
194
112
121
202
231
229
150
145
219
193
225
165
150
150
121
170
187
121
279
171
159
115
210
112
167
181
136
170
150
239
210
186
135
150
167
265
112
208
276
193
150
167
200
213
121
150
159
226
217
150
186
165
194
167
121
115
130
194
164
193
170
172
217
136
186
195
208
143
187
208
170
150
239
112
115
210
150
172
170
123
225
232
123
168
168
181
121
172
232
123
135
136
112
174
150
123
121
185
121
174
150
176
112
193
143
210
172
150
170
170
274
227
199
271
152
181
121
150
124
150
150
112
181
112
187
156
204
220
167
150
181
150
242
112
170
176
112
112
147
171
121
302
123
168
250
135
172
208
112
170
172
181
167
137
208
229
136
240
136
160
174
150
194
112
177
115
208
170
170
150
213
150
176
123
121
158
123
205
167
121
196
173
130
195
150
231
192
123
194
168
121
121
160
112
150
121
112
217
208
215
211
115
121
167
179
212
239
159
167
121
203
165
150
218
228
135
150
159
167
241
206
255
187
112
192
172
181
112
205
112
172
150
181
150
136
181
112
135
208
165
112
274
239
232
160
150
229
150
172
150
123
305
164
150
187
172
172
231
172
121
186
115
160
208
112
112
201
150
208
150
115
181
181
150
123
112
155
143
174
150
172
192
194
187
121
171
150
143
157
150
150
115
193
202
172
167
228
193
150
224
150
121
208
167
203
210
193
208
136
144
194
208
160
147
112
123
236
193
181
208
167
201
233
137
237
186
136
201
172
165
121
210
115
167
227
177
150
231
112
136
181
302
250
250
194
150
156
220
136
214
176
177
167
150
194
231
239
137
176
194
172
158
201
150
167
193
112
112
137
176
112
150
121
112
121
220
219
208
135
150
174
201
174
190
150
198
123
172
193
171
150
176
208
176
176
172
187
193
194
115
182
150
121
172
264
186
174
112
152
121
171
171
172
112
219
167
167
207
159
112
237
210
176
171
164
150
150
171
172
121
171
302
164
167
215
208
208
165
167
187
194
231
237
228
112
177
170
159
231
208
238
112
228
144
208
112
150
147
121
150
226
209
167
187
170
150
176
205
115
172
123
194
195
264
181
179
115
210
137
252
123
121
167
123
150
150
225
200
121
255
150
176
150
172
150
137
195
160
150
167
162
112
135
112
136
201
165
123
239
137
208
194
115
167
150
236
234
194
182
181
121
112
177
174
135
208
150
168
272
150
159
208
192
194
150
231
121
208
247
137
187
250
170
112
172
112
232
240
170
121
164
176
181
208
278
164
115
170
112
264
164
202
152
137
172
196
121
147
217
150
250
193
210
186
112
123
227
150
172
150
112
137
231
112
202
167
160
157
226
240
203
172
112
150
121
150
206
193
228
208
186
136
172
123
228
150
172
246
255
172
187
208
250
137
150
136
215
171
121
215
208
208
235
121
112
112
257
112
128
185
160
172
150
233
201
170
147
172
150
121
150
176
231
181
235
150
228
236
171
202
121
213
187
247
164
195
121
112
213
128
186
179
228
172
115
186
112
159
112
160
237
259
158
257
177
168
194
175
167
195
123
121
229
194
123
123
172
158
252
112
123
202
207
182
121
228
207
128
205
156
208
150
150
167
231
201
137
217
112
172
112
143
150
165
165
194
136
193
208
147
201
239
165
210
223
123
112
208
193
170
167
179
208
150
170
112
176
237
174
123
143
124
193
179
150
160
170
128
150
178
181
171
219
176
231
216
215
212
173
228
167
170
172
213
250
208
208
202
177
167
225
172
172
171
170
228
172
171
260
147
121
203
201
228
150
250
136
229
187
172
150
121
112
172
159
112
150
147
208
194
195
143
136
112
219
194
143
168
244
146
228
162
193
150
208
202
177
170
244
160
121
210
210
150
135
171
261
203
228
217
172
167
156
165
181
195
193
112
136
237
121
237
208
181
172
210
210
219
207
121
112
112
172
112
176
201
167
167
171
194
208
150
236
150
121
195
150
192
220
170
112
150
170
170
175
210
112
220
128
201
123
208
181
210
160
208
208
201
112
121
137
233
173
218
236
176
165
171
208
165
203
263
121
208
172
170
167
112
167
201
137
150
208
229
123
112
150
172
205
250
231
217
200
170
112
121
208
187
150
255
159
208
171
172
196
175
201
112
248
150
208
210
121
232
112
170
176
205
272
165
240
193
161
137
203
112
121
226
150
123
115
215
172
150
123
160
167
112
112
170
159
121
167
211
250
176
192
184
150
112
150
159
219
112
205
136
171
150
203
208
123
147
208
250
121
218
112
193
208
208
250
208
112
176
150
181
194
211
228
173
121
194
147
150
208
150
172
150
167
228
208
208
172
201
165
194
194
253
123
150
174
112
212
150
115
112
216
208
181
168
176
115
193
150
112
176
121
112
123
165
150
171
174
174
194
121
164
164
208
112
158
164
205
230
121
156
164
199
156
172
164
150
170
150
115
195
150
208
150
199
112
167
165
192
112
124
212
112
167
121
181
178
164
212
195
208
115
150
187
168
123
112
112
208
121
171
115
150
150
215
235
239
121
172
168
143
172
121
156
194
121
172
112
167
150
150
172
208
181
219
165
172
208
121
208
123
150
171
112
175
233
150
130
121
215
171
171
150
130
186
123
208
147
147
137
170
150
223
208
177
158
174
218
167
112
112
195
123
208
171
203
112
167
302
167
208
112
225
112
112
195
171
121
231
202
112
137
205
115
208
176
136
112
121
158
137
252
121
121
187
147
195
234
219
176
150
137
112
112
121
123
150
112
165
214
137
171
164
250
167
181
147
112
208
164
172
123
194
170
121
112
168
112
186
112
170
150
208
167
182
181
123
175
236
208
150
137
235
236
121
181
208
165
167
121
177
150
170
195
121
150
112
196
112
112
176
156
237
168
121
201
165
203
121
172
167
164
150
121
175
201
112
136
115
181
124
189
240
115
234
218
172
121
167
172
150
210
137
232
205
171
121
112
112
167
150
178
226
203
168
150
165
245
302
158
156
229
208
150
150
217
167
150
136
241
272
167
152
171
150
236
170
171
228
170
112
186
152
195
203
172
200
208
121
123
217
121
123
121
130
195
208
121
228
275
210
156
214
158
186
112
136
212
207
112
158
150
211
177
165
112
202
255
112
150
170
112
112
179
112
210
160
228
158
171
121
147
181
143
150
112
170
121
123
225
193
150
225
150
121
150
200
274
112
167
172
255
123
135
112
112
112
209
264
259
121
186
121
112
168
121
170
150
165
186
176
150
186
170
171
115
186
245
167
209
136
150
233
208
207
172
112
181
242
208
112
202
219
160
212
170
174
150
112
121
228
171
207
170
150
158
167
160
184
240
198
208
165
112
136
233
115
181
112
170
150
150
112
143
235
150
165
238
186
208
128
123
172
208
170
187
179
193
208
197
242
194
150
228
181
193
175
152
170
171
150
205
192
150
112
228
208
176
212
150
135
112
186
228
167
210
181
136
156
187
172
135
195
112
250
121
172
121
170
112
208
216
135
167
135
207
137
188
177
170
150
164
150
192
171
274
171
121
123
212
192
171
228
137
121
112
176
186
207
152
271
150
156
165
112
195
123
165
170
172
143
194
150
112
165
229
171
185
170
208
112
121
167
231
174
150
231
178
281
194
112
153
195
121
229
137
234
208
208
136
121
205
157
121
175
121
170
115
123
201
202
170
152
115
228
234
172
202
220
123
236
225
217
195
195
195
208
172
112
112
170
112
115
212
158
123
157
167
156
161
124
186
220
164
208
150
115
229
235
195
170
112
226
208
172
194
177
237
212
160
112
170
158
150
245
150
237
288
167
128
177
121
152
170
235
229
167
153
228
172
121
165
209
167
123
174
231
158
295
208
121
231
171
136
150
170
208
150
170
112
121
210
177
135
174
202
201
123
157
238
123
194
112
269
136
250
194
240
112
150
171
153
158
136
112
121
172
194
208
232
173
150
159
121
200
150
220
159
112
203
137
228
202
112
184
186
137
251
194
157
228
165
136
112
194
112
176
263
150
236
121
150
112
181
170
167
181
240
239
233
228
166
208
257
121
112
123
201
137
187
255
167
195
150
137
236
156
171
207
172
123
202
208
205
171
158
201
172
181
160
165
208
230
112
237
177
147
164
165
150
192
215
203
171
167
150
152
150
208
112
112
210
177
167
167
276
232
123
208
112
187
208
171
278
170
263
112
263
167
175
225
193
137
123
136
143
123
152
247
174
167
222
150
150
170
159
136
217
192
112
150
172
263
187
205
150
121
250
170
194
150
172
170
135
121
170
150
176
189
150
172
150
112
123
208
112
193
171
121
210
150
201
176
112
208
230
136
123
195
150
236
112
121
172
121
263
174
172
179
115
112
228
170
150
218
208
201
154
121
208
176
167
168
168
150
225
220
193
172
202
187
139
121
150
112
121
150
174
167
150
232
201
253
210
208
150
112
143
261
112
112
164
238
206
115
123
203
172
150
159
211
208
167
178
137
203
181
150
213
174
203
181
202
152
202
181
205
171
112
244
201
181
112
150
150
112
194
208
172
121
201
196
150
194
167
123
205
208
211
150
242
243
197
167
123
231
181
184
123
196
165
256
212
186
170
172
170
187
208
228
112
212
150
171
184
208
186
121
215
239
150
130
201
192
170
172
147
192
194
112
189
228
150
171
121
121
112
112
217
172
150
208
150
237
209
240
172
176
172
231
112
137
167
275
265
187
121
150
121
135
228
171
172
167
150
263
212
235
112
170
194
143
170
121
167
250
228
208
121
121
112
181
202
193
230
226
121
238
231
147
170
121
170
112
218
193
150
194
130
177
257
174
121
208
176
164
135
195
223
170
123
172
112
181
112
112
137
112
150
147
208
275
150
164
171
201
131
150
202
179
115
121
210
112
135
181
240
168
170
170
165
165
240
165
195
112
123
121
150
195
171
172
211
167
157
178
205
201
167
201
246
208
150
205
172
208
176
123
150
124
112
186
135
255
123
253
130
121
195
147
177
152
123
192
174
253
165
150
112
121
112
115
147
124
228
208
202
112
172
195
143
112
146
121
112
264
156
161
208
150
130
194
205
150
121
143
165
160
147
172
167
170
194
171
112
135
186
158
195
136
123
171
207
150
150
171
167
239
150
202
178
219
234
171
175
171
210
158
164
167
115
239
297
158
179
167
208
167
181
150
112
228
156
150
230
112
210
150
165
167
121
167
193
249
228
272
233
170
234
176
115
170
186
181
150
150
150
150
121
208
121
150
121
121
226
203
172
150
255
112
112
165
150
172
186
150
230
172
219
165
201
112
170
137
171
192
121
172
152
156
176
175
150
176
168
202
216
121
216
167
274
172
170
150
136
237
137
241
219
227
208
201
123
112
202
249
186
245
167
169
121
123
208
208
135
187
135
121
228
181
208
194
112
171
137
210
123
156
194
174
172
174
164
237
228
150
233
237
302
135
115
167
160
171
123
156
250
234
123
193
152
186
181
135
147
150
181
208
170
171
255
191
192
181
196
263
187
212
152
178
150
228
128
165
123
186
208
170
184
170
172
150
150
212
219
192
194
167
174
220
192
208
136
302
167
135
137
167
121
150
253
112
165
156
170
210
204
112
239
112
121
150
271
196
112
236
237
185
112
121
165
208
209
216
231
237
195
292
204
167
121
121
121
137
123
205
121
186
150
259
208
137
176
121
130
208
187
208
208
208
147
121
172
189
137
150
150
228
170
172
166
194
174
112
123
277
112
192
172
184
172
121
208
250
150
207
150
128
208
228
112
165
201
150
207
167
208
150
170
147
112
183
231
159
190
159
245
112
168
112
115
150
112
231
121
167
172
241
235
237
170
176
115
197
240
181
253
210
123
150
193
136
135
164
112
195
121
150
121
121
195
112
225
209
208
112
172
172
176
210
152
220
121
124
123
165
171
211
186
135
181
147
194
158
210
176
237
288
231
178
194
249
181
170
176
181
193
167
208
207
121
112
172
167
219
112
201
112
211
210
170
172
196
201
175
150
150
230
124
186
233
159
187
150
150
187
194
184
115
123
167
233
167
212
232
121
208
189
239
179
121
208
135
168
158
216
249
158
135
150
159
205
170
236
123
226
115
181
196
158
208
223
172
216
225
135
121
150
137
208
228
172
112
228
112
193
208
136
172
181
128
172
170
172
201
167
167
135
121
136
210
172
220
121
261
250
170
202
147
212
167
193
172
171
196
165
112
121
150
157
186
176
187
150
150
130
210
211
226
121
112
172
172
112
143
201
150
167
170
237
112
213
208
121
172
185
156
214
124
165
112
175
150
181
137
115
206
150
170
242
121
208
123
112
194
181
228
150
112
187
187
176
205
167
150
208
156
203
177
208
112
121
201
115
165
150
196
184
216
176
164
240
147
137
112
203
195
176
220
135
202
209
170
208
186
171
208
172
202
165
243
212
193
228
112
182
208
302
196
167
165
121
176
208
211
272
112
195
212
232
243
164
137
165
121
112
115
135
168
147
115
164
135
215
112
150
192
172
174
228
193
123
170
260
228
202
150
276
172
205
194
194
233
123
219
217
164
178
135
231
115
150
178
226
164
171
237
172
218
208
121
186
207
208
136
150
172
156
150
208
121
203
121
112
194
172
159
112
187
147
228
231
172
297
192
170
112
121
195
231
215
112
150
256
167
179
170
150
112
255
143
204
115
174
167
171
112
121
171
208
175
164
195
121
121
136
112
170
235
176
208
123
112
186
123
167
181
186
172
172
115
174
201
256
170
213
167
164
112
250
130
112
167
250
121
205
171
181
160
171
112
176
236
223
243
170
170
214
186
205
265
121
209
136
226
209
203
172
192
150
181
241
208
121
121
150
249
216
187
167
131
121
181
170
177
236
150
205
171
172
189
112
170
233
219
166
208
112
203
228
123
176
112
115
167
204
112
121
112
136
186
219
150
271
193
121
219
208
181
219
137
171
150
150
112
136
112
208
167
176
124
123
224
167
174
243
147
172
269
150
112
158
150
228
172
164
228
150
181
164
121
150
171
167
121
156
121
112
177
208
284
172
121
115
189
218
233
112
259
181
135
121
195
170
112
165
203
112
186
112
194
192
137
150
232
171
195
171
183
302
169
115
208
130
170
164
112
150
135
170
112
258
172
123
172
178
208
172
121
194
165
172
150
208
184
150
172
158
195
184
147
229
208
220
242
150
158
139
123
210
170
170
186
171
135
115
240
174
227
172
176
302
112
144
207
187
121
150
223
112
203
176
186
208
176
150
193
190
177
187
217
255
231
121
167
237
123
150
193
136
186
172
165
112
123
181
160
217
208
121
194
121
205
234
150
208
228
157
215
150
174
139
170
255
236
178
112
224
177
207
121
231
150
140
150
157
123
115
243
257
176
228
121
121
181
152
112
230
171
170
171
213
112
197
208
112
124
115
247
115
112
192
150
239
150
165
263
194
121
121
278
243
159
172
150
150
164
139
112
160
112
174
218
123
150
265
201
124
150
193
172
220
150
201
167
195
282
170
189
231
112
112
203
202
187
171
194
217
112
112
150
123
208
172
152
158
163
160
194
208
342
165
136
230
170
168
237
150
171
164
237
240
210
272
150
241
259
150
181
170
170
112
172
255
239
210
164
181
194
231
196
205
112
150
218
165
225
225
112
220
193
171
167
219
150
242
123
167
250
250
231
176
212
124
150
194
121
228
112
112
231
194
150
172
212
181
150
237
255
135
123
172
150
250
208
208
212
115
112
226
152
156
302
167
165
164
171
242
196
174
150
165
172
181
186
136
176
136
150
201
194
159
115
175
170
231
123
167
171
161
170
121
208
130
121
121
167
179
121
157
159
150
211
256
167
112
170
217
174
208
121
208
209
170
157
170
210
181
150
112
150
219
208
156
121
167
194
137
136
201
165
208
227
205
115
200
206
259
243
170
167
115
255
121
170
150
208
257
145
195
210
184
172
171
195
121
168
220
302
115
123
207
171
170
123
208
167
167
150
214
123
170
265
192
273
164
228
213
137
121
167
136
208
220
171
128
112
121
203
233
194
167
121
193
171
172
112
150
219
170
172
176
209
152
223
178
121
123
174
202
150
237
207
121
165
136
214
225
167
121
229
171
156
150
190
123
184
112
112
150
263
121
192
112
220
150
123
112
170
158
121
231
167
150
164
150
167
202
150
150
152
150
168
171
219
172
165
239
239
165
150
181
198
121
208
276
179
112
192
112
167
201
172
203
121
202
123
112
231
150
176
112
165
158
186
212
215
193
112
150
201
179
143
172
112
150
150
124
121
172
123
160
203
112
193
137
167
174
186
121
243
112
147
255
112
112
176
150
208
135
174
112
176
150
172
123
158
177
170
121
302
150
121
150
121
171
136
208
150
167
271
193
231
112
217
160
226
158
226
193
112
261
135
178
150
112
150
172
157
250
189
165
158
208
170
121
155
187
165
115
112
192
218
187
170
239
172
184
137
244
228
137
172
121
175
212
176
201
150
168
215
121
181
150
241
189
181
112
258
207
214
112
150
121
201
182
207
202
135
137
112
194
162
228
112
121
135
135
171
164
170
240
205
176
281
208
208
172
112
208
130
170
203
203
150
229
224
226
150
172
156
208
254
194
190
208
172
121
150
150
228
136
203
171
181
203
136
202
128
235
208
203
174
211
168
121
112
150
176
198
150
112
121
186
152
194
226
203
193
158
112
208
121
112
192
208
215
167
112
181
167
207
172
239
136
165
217
170
195
237
255
172
121
210
204
135
228
182
201
150
202
179
172
172
195
229
226
195
150
115
171
203
214
228
221
234
115
220
167
172
172
220
233
229
137
121
150
211
115
150
220
150
181
194
177
181
194
228
157
150
112
240
170
150
170
194
112
205
172
250
124
230
123
194
135
123
204
201
123
208
201
167
171
136
156
165
112
190
150
170
171
173
167
201
192
115
165
150
250
207
229
121
264
278
186
150
150
194
195
170
150
170
223
195
176
165
235
150
147
158
121
170
152
198
167
167
147
115
203
167
225
194
175
170
232
121
123
150
162
112
194
167
123
236
123
121
208
121
193
161
222
172
136
121
137
218
229
121
190
112
112
135
171
112
112
168
137
176
266
121
203
208
167
165
172
150
172
121
172
121
121
156
226
159
165
121
176
160
135
150
112
165
150
112
164
237
112
167
181
112
159
172
150
167
112
237
174
143
173
195
171
171
159
150
201
228
112
136
147
121
121
223
255
291
186
243
112
170
121
165
223
172
112
187
121
172
112
193
195
192
170
150
121
147
242
150
219
232
170
195
121
121
121
160
194
150
124
150
112
208
208
226
150
160
237
190
171
172
171
168
150
112
220
150
150
123
112
208
168
165
202
181
121
240
121
194
150
240
112
201
112
170
170
162
217
123
121
237
208
150
202
150
176
167
121
112
150
160
112
236
136
186
112
170
147
128
121
150
123
228
121
194
278
150
186
165
150
186
112
137
112
112
112
150
194
182
243
207
165
147
121
112
181
147
186
121
297
150
228
204
195
215
152
238
208
150
170
150
208
150
150
112
165
137
135
186
150
228
175
112
214
181
167
187
121
115
250
112
218
143
170
179
215
112
208
220
112
150
112
208
121
170
165
205
167
121
139
218
178
167
112
226
176
161
150
150
152
143
112
121
237
206
205
229
150
252
167
112
115
172
112
192
150
235
112
195
228
167
112
299
208
193
158
112
258
121
150
121
200
112
277
201
112
276
112
185
164
121
205
212
150
121
158
170
171
121
157
273
179
208
112
112
202
223
194
137
112
208
123
172
228
121
121
167
150
170
242
167
112
170
167
208
263
178
228
170
124
121
150
176
170
171
121
150
158
160
194
208
147
170
121
207
150
172
216
171
171
150
147
121
218
165
150
150
243
167
121
214
201
176
121
135
112
194
172
170
171
112
144
128
255
161
121
226
164
121
163
177
237
136
258
135
112
195
123
128
172
228
123
194
240
203
121
170
194
176
228
172
147
208
121
239
208
112
123
167
181
115
121
171
112
121
193
156
172
187
150
201
112
228
203
175
231
238
225
150
172
219
158
194
156
186
208
150
123
150
255
112
210
121
121
220
220
201
181
112
181
208
230
121
121
196
150
150
171
231
150
150
255
161
172
208
208
135
282
150
121
112
250
150
136
210
171
228
168
112
174
208
121
115
112
196
181
167
239
165
179
172
160
112
210
164
165
123
112
167
164
150
150
167
208
143
160
172
112
135
212
150
226
171
112
121
208
156
123
158
112
220
112
229
171
208
167
164
203
237
250
130
181
172
266
195
121
203
195
112
181
137
121
253
165
196
176
112
181
150
136
208
165
276
112
193
210
150
211
220
150
112
170
216
208
228
220
150
215
210
194
150
150
112
137
150
123
185
202
167
202
172
181
240
121
226
128
112
112
159
135
177
121
194
150
150
172
177
210
194
150
165
163
220
170
112
159
112
195
136
172
177
172
202
147
181
177
123
203
228
281
211
171
150
150
258
137
156
172
123
171
187
150
144
112
172
165
124
208
167
112
150
136
112
112
210
212
212
112
233
170
144
232
193
201
172
325
165
220
123
112
193
153
217
208
202
112
170
159
150
181
192
210
150
202
192
208
194
167
192
112
112
224
166
176
187
150
208
203
184
208
135
194
243
202
189
171
147
150
171
112
121
136
194
121
112
228
165
112
194
112
217
220
302
192
219
259
202
171
239
237
202
150
172
112
124
212
217
152
201
203
112
217
115
150
112
158
220
189
172
112
235
121
115
187
232
170
172
174
219
208
171
112
171
121
242
170
150
123
150
124
112
168
135
123
194
193
130
176
167
150
135
195
121
215
167
186
193
112
165
167
172
150
194
150
201
121
194
150
194
165
165
218
121
212
239
207
174
212
139
121
165
121
212
121
255
195
217
137
193
208
152
194
171
237
150
237
202
187
208
186
203
194
210
207
220
158
228
208
232
112
152
121
208
150
175
167
216
228
171
112
147
135
241
150
171
167
150
170
112
121
167
186
228
147
192
172
172
208
121
207
210
172
157
158
208
112
279
171
143
236
112
232
112
172
112
115
150
208
245
170
208
202
150
150
240
170
195
210
220
152
112
215
208
121
201
182
156
171
112
150
194
172
181
115
112
201
208
150
172
136
208
121
137
121
159
208
150
150
170
150
243
112
199
112
228
228
205
203
121
230
121
194
150
210
164
195
112
131
229
278
161
121
165
208
164
210
158
208
217
150
147
176
189
176
202
123
171
150
158
237
124
158
170
150
172
150
164
112
257
112
170
165
112
237
123
172
165
123
130
193
250
170
174
124
196
213
112
208
171
208
121
121
121
208
164
184
165
112
167
228
170
112
178
121
196
184
147
124
171
150
208
228
228
240
147
208
208
161
161
170
231
176
201
112
262
172
210
152
115
208
208
227
178
259
112
170
170
203
167
150
143
150
150
121
172
208
115
112
121
167
150
278
208
237
232
150
172
210
208
121
150
174
219
150
170
115
171
170
176
150
223
135
194
150
112
187
112
167
208
171
200
172
193
165
175
216
121
184
121
237
220
135
121
228
201
150
302
150
121
194
172
228
165
121
112
170
220
147
112
181
216
170
208
222
121
123
172
156
121
229
172
112
217
112
167
208
199
170
158
143
121
146
201
171
201
171
175
228
171
237
175
174
172
219
172
123
171
214
193
228
195
164
209
176
137
121
137
171
112
115
170
115
218
176
121
150
128
139
208
137
121
181
150
181
112
150
193
228
121
123
193
152
112
159
208
137
150
171
121
208
167
209
199
229
228
272
150
172
219
217
135
203
263
171
112
150
150
215
121
121
208
250
147
150
175
137
123
159
171
261
121
187
150
202
208
210
112
187
198
181
135
208
208
170
210
171
195
112
208
160
112
186
181
137
112
205
228
150
170
170
112
184
150
208
193
182
302
194
172
255
112
172
115
172
203
172
150
231
147
237
112
201
123
250
198
150
115
147
181
172
128
224
245
231
150
228
208
112
203
121
208
186
150
112
186
150
135
123
144
112
189
201
228
208
165
241
206
112
121
186
228
150
150
165
210
176
183
130
160
136
227
224
170
170
162
167
171
172
121
208
276
179
171
150
194
187
270
172
182
128
202
170
150
160
202
217
136
147
176
174
112
150
150
225
172
170
150
112
112
135
226
174
150
208
124
177
165
229
130
187
162
158
189
207
177
203
121
112
190
121
112
227
112
150
152
250
171
121
115
231
168
164
208
193
226
121
171
168
229
121
202
150
112
136
210
167
121
174
216
136
150
137
121
167
220
159
220
123
131
237
208
186
172
250
237
208
172
135
112
177
201
204
172
112
235
238
121
206
181
237
175
157
170
121
210
152
121
176
238
181
239
150
182
112
194
147
210
135
168
242
186
190
172
112
176
172
112
112
172
236
150
150
208
163
203
195
147
210
121
172
222
176
152
208
160
161
112
123
112
150
171
112
121
167
115
121
158
152
150
201
170
272
201
159
152
178
172
229
160
176
171
168
207
150
112
208
150
150
121
112
193
192
228
150
150
208
128
172
177
240
150
279
203
155
250
176
170
112
195
121
130
172
170
228
137
177
115
208
213
203
208
186
112
158
150
123
177
112
150
123
228
150
135
135
186
181
167
112
174
170
156
150
152
233
193
212
172
158
201
181
161
187
121
194
112
170
211
137
176
181
232
193
249
240
207
194
172
230
112
167
171
112
192
208
150
173
255
208
135
150
136
229
123
223
144
184
185
150
212
147
172
150
181
150
193
150
176
167
121
172
123
123
164
263
112
167
200
208
208
112
208
241
112
171
250
121
232
174
175
181
192
187
258
167
170
269
177
121
112
121
292
207
112
112
136
135
158
112
112
171
164
229
112
172
171
112
170
112
150
208
170
199
195
182
121
112
121
121
136
193
210
137
228
123
214
176
172
217
150
240
115
210
208
208
194
112
178
210
231
150
171
226
174
170
208
171
112
167
112
150
195
167
112
249
124
181
130
152
146
112
112
112
217
121
147
167
158
171
193
150
193
165
192
208
112
112
115
112
208
123
171
212
172
150
150
192
159
124
208
171
121
206
171
182
170
121
208
193
112
194
204
218
212
231
195
194
272
121
171
204
212
168
208
208
112
219
150
172
233
150
158
150
193
208
194
121
170
124
150
150
220
123
176
170
172
168
123
229
112
167
150
150
194
121
112
112
171
195
167
167
112
112
164
150
112
171
165
115
208
123
194
214
172
167
226
203
121
115
194
181
193
150
255
247
167
158
158
121
181
213
199
112
297
167
137
171
150
172
156
177
167
112
170
150
171
152
171
172
121
123
150
121
229
174
187
172
208
228
176
152
115
150
184
195
123
205
171
239
194
137
235
121
171
218
150
172
177
172
225
208
208
240
284
165
186
137
158
167
137
150
112
226
168
170
170
150
156
179
208
250
193
208
115
255
181
182
208
250
207
208
208
220
190
242
150
112
201
259
194
165
172
194
121
165
212
150
121
167
210
219
178
112
112
167
172
186
146
153
219
231
171
193
150
121
150
176
214
170
176
172
208
181
165
112
193
232
115
159
208
219
112
201
121
206
121
201
112
208
172
164
205
208
172
130
112
187
195
136
208
165
219
112
171
121
208
231
181
121
112
195
150
172
150
176
121
157
199
231
188
195
137
172
150
136
150
167
172
231
150
240
150
234
181
177
194
156
121
202
208
137
170
181
244
266
112
214
144
192
112
194
243
174
171
150
172
172
121
185
299
181
205
233
225
159
239
194
194
150
172
196
121
182
115
112
167
121
121
205
220
112
137
194
135
201
194
172
158
150
176
202
124
181
201
161
150
112
112
195
150
237
123
171
166
121
202
121
168
175
181
194
226
150
147
215
121
174
158
208
136
150
208
172
184
112
282
170
136
150
195
228
208
121
164
167
228
164
124
210
121
195
112
112
150
112
187
228
181
208
150
171
121
143
121
121
208
229
112
112
193
150
171
152
176
196
237
112
124
121
152
121
177
150
208
123
172
112
219
170
187
121
230
164
187
121
136
150
167
143
150
222
181
250
156
170
150
112
170
216
176
150
150
136
135
147
228
194
172
112
236
186
194
150
208
137
237
150
150
164
181
112
121
170
196
150
232
121
112
167
220
158
121
112
112
112
150
159
130
112
124
132
112
232
112
150
121
276
177
121
121
121
112
112
121
170
147
186
176
212
123
186
172
168
176
237
210
160
217
172
172
201
208
150
187
172
150
208
175
239
226
171
170
177
177
150
115
121
150
143
208
112
255
207
170
245
189
229
159
217
163
177
150
215
112
150
147
157
208
186
195
205
189
112
112
150
121
115
136
135
247
136
170
172
194
112
233
211
208
123
196
170
150
210
184
220
208
167
128
167
123
121
150
223
167
172
137
208
250
205
165
172
185
170
208
208
187
220
210
121
150
176
192
164
187
212
203
150
218
178
136
293
150
215
172
172
187
174
192
243
112
112
121
112
208
192
170
147
121
230
186
176
172
136
170
177
167
158
233
147
172
187
170
232
175
152
195
262
231
212
112
172
121
171
121
171
237
150
256
152
150
121
194
166
181
170
112
194
209
170
202
250
164
112
189
136
162
168
115
158
208
208
194
112
136
208
124
213
139
202
150
231
208
203
244
228
124
150
150
150
164
202
121
224
305
121
121
121
121
160
112
176
123
164
216
159
177
121
208
121
198
167
121
112
186
209
160
112
192
112
121
121
112
171
167
171
184
170
121
123
205
144
176
137
172
220
164
167
195
161
208
205
147
135
112
123
195
112
181
112
150
167
237
124
225
121
165
237
165
217
150
209
124
192
150
193
210
135
250
176
239
137
195
162
170
242
165
121
150
181
187
147
250
136
255
115
150
172
112
112
171
208
136
201
172
162
186
208
216
167
115
112
172
194
170
191
171
147
182
230
179
150
208
202
121
112
179
165
121
159
112
231
215
170
168
201
172
194
202
112
150
208
121
224
112
171
275
225
181
208
112
167
150
181
136
250
150
121
150
150
171
112
193
121
265
250
171
112
184
121
135
112
205
186
227
181
115
207
115
112
208
172
214
158
152
136
150
187
150
194
176
208
136
150
150
219
156
302
123
167
207
187
212
239
177
215
208
187
168
176
204
165
150
150
172
212
150
167
171
112
156
112
150
171
184
224
135
172
165
208
121
203
208
160
150
170
112
210
208
186
156
165
171
121
190
150
265
201
167
167
176
194
176
165
176
170
178
150
150
123
192
136
150
112
192
193
217
165
147
171
208
150
150
112
137
121
165
236
115
192
135
171
195
210
124
240
207
172
150
263
194
234
219
217
171
170
247
203
171
193
172
194
170
238
172
175
299
150
232
170
144
112
302
121
165
212
121
136
123
225
128
187
123
250
170
112
207
144
167
187
243
240
209
218
170
150
182
150
195
152
137
165
201
188
172
187
112
147
135
201
243
150
250
121
150
172
112
210
194
152
165
208
170
160
184
214
121
150
152
172
247
177
167
150
181
260
176
159
112
194
202
150
112
123
112
167
208
121
218
167
170
170
176
150
187
184
156
182
170
226
112
130
216
208
121
220
205
250
150
150
150
150
121
208
225
150
178
150
172
170
121
150
208
150
170
150
121
165
115
124
218
167
207
207
170
187
167
135
112
121
172
172
150
174
204
179
160
208
208
121
159
167
171
219
165
192
150
232
175
165
156
212
150
192
197
169
150
112
121
112
302
170
112
123
150
121
112
174
211
112
194
121
115
196
260
150
208
174
150
112
150
243
246
123
160
206
167
208
250
165
130
237
150
150
208
150
121
170
121
123
123
171
215
226
130
208
150
208
150
150
158
124
150
112
172
205
208
201
184
194
123
160
235
150
168
167
170
181
212
226
167
139
147
171
165
179
228
171
195
223
172
187
112
237
115
208
228
172
143
174
203
177
112
208
231
112
172
137
150
255
121
150
240
187
150
227
112
208
195
208
112
150
112
150
188
136
112
150
178
112
135
208
210
172
263
187
150
158
195
174
147
123
150
150
208
159
263
121
272
137
121
174
171
172
167
112
136
167
112
186
160
202
121
176
176
150
208
250
193
165
121
161
112
182
121
166
235
112
205
112
172
243
112
121
228
170
220
135
158
158
137
195
152
164
167
190
192
136
144
208
112
136
278
121
172
150
112
220
135
172
150
208
254
225
123
167
112
112
228
192
158
161
150
233
112
193
226
150
150
226
231
112
124
121
221
208
176
112
194
112
176
233
250
208
181
150
123
137
168
203
112
150
150
156
179
184
150
121
220
112
302
112
216
160
157
170
137
112
150
175
150
206
121
240
171
202
112
181
164
302
241
168
150
201
208
201
201
194
203
128
217
215
150
210
181
150
194
172
112
112
208
170
167
123
234
176
112
165
172
121
172
167
217
171
112
208
181
167
208
196
172
241
112
229
197
112
170
225
136
203
159
201
183
239
172
150
150
189
115
121
167
174
124
207
150
112
112
174
157
156
167
177
172
112
278
177
150
196
156
123
121
115
227
172
181
186
212
234
194
112
150
202
194
136
172
136
264
137
137
128
170
170
217
187
121
208
112
156
208
121
152
217
121
229
208
186
176
237
235
263
172
121
165
150
154
112
124
112
150
152
213
147
150
187
112
170
171
205
150
203
115
159
194
137
187
112
135
141
203
228
137
171
143
181
167
186
121
176
167
150
147
263
221
171
166
174
208
171
224
160
150
266
171
231
194
121
160
121
207
112
176
212
208
170
171
150
217
210
171
171
156
112
170
164
176
147
208
158
172
255
112
136
239
181
150
112
181
136
198
150
178
172
150
150
229
211
147
217
201
135
203
192
302
237
121
181
233
112
210
150
171
159
112
228
112
240
171
112
187
150
199
217
194
167
186
186
193
150
171
226
237
240
150
112
170
150
115
170
171
124
201
181
159
150
263
150
150
112
208
121
112
208
160
121
115
207
208
168
170
112
121
212
263
230
150
233
112
203
228
130
150
112
187
121
212
167
176
232
112
112
112
112
176
170
167
208
123
174
217
227
150
150
187
112
210
112
256
255
202
172
193
215
192
160
217
208
112
160
130
176
208
170
189
263
239
209
203
150
176
112
150
215
158
167
150
218
150
124
147
224
236
150
226
182
165
121
184
136
123
208
205
172
208
198
150
171
167
232
121
150
210
112
150
181
161
121
115
210
121
112
150
171
150
170
150
275
171
121
240
164
186
187
201
208
165
150
195
136
179
146
201
150
193
212
137
172
150
228
121
168
194
212
174
176
172
177
164
233
208
194
202
200
121
171
164
130
135
177
208
229
131
253
123
112
194
137
123
195
208
218
182
112
121
112
123
255
131
208
139
152
136
202
158
171
208
202
193
121
150
137
167
150
112
194
115
176
158
121
255
170
112
150
267
137
115
124
167
157
210
172
150
172
205
137
176
194
232
121
112
172
158
112
136
143
150
167
208
244
181
135
112
112
112
167
239
193
150
121
186
208
193
123
164
228
181
112
165
165
112
158
121
255
150
208
208
240
174
157
172
208
192
139
207
147
150
210
123
186
186
208
135
150
172
191
165
112
205
123
167
226
297
208
156
112
209
243
112
181
112
164
176
128
164
150
156
174
184
187
194
121
170
208
112
183
201
219
220
237
150
121
167
137
265
170
208
147
208
208
112
186
112
165
176
171
168
194
150
175
121
159
150
202
167
167
170
128
121
121
181
135
112
112
193
258
112
150
235
136
165
210
121
236
136
170
150
233
112
231
131
170
158
112
183
150
167
172
202
147
207
150
174
112
123
150
167
202
121
121
194
112
112
172
112
174
167
228
210
276
121
172
214
225
147
172
112
211
208
208
150
228
150
123
123
112
136
128
147
176
170
187
152
112
194
195
177
123
208
121
174
121
150
143
150
115
136
135
202
228
206
177
202
175
228
147
187
276
135
152
112
222
237
208
228
123
112
112
194
210
202
170
187
162
170
208
187
137
270
176
208
135
195
172
220
165
237
276
208
150
181
170
170
112
225
200
112
150
136
176
112
201
240
165
172
123
172
194
156
210
128
124
195
201
167
121
203
112
112
136
121
208
128
123
121
156
226
143
112
150
112
137
219
181
202
231
170
121
203
121
177
261
128
170
150
212
225
202
150
121
150
170
208
135
167
121
173
186
208
121
173
136
305
209
170
112
123
121
255
171
194
121
150
208
181
165
208
232
170
150
240
299
136
177
123
228
121
150
165
217
195
150
172
121
135
177
165
219
137
150
164
181
150
172
177
152
121
112
147
277
181
192
164
203
172
186
170
187
164
184
255
150
243
192
135
121
123
177
150
229
172
239
186
158
258
170
189
177
189
150
152
112
208
176
150
121
192
165
167
167
171
143
193
123
121
194
172
164
112
229
150
218
272
193
227
240
137
159
172
208
112
219
123
263
195
213
207
121
195
212
115
112
176
164
150
208
172
123
176
187
150
171
215
219
196
177
170
135
123
112
167
150
194
173
165
214
193
159
171
208
121
237
170
156
112
207
207
250
147
135
136
208
203
240
229
170
172
112
193
121
112
150
194
121
137
121
123
171
275
115
121
137
171
150
123
192
208
177
112
219
147
166
157
112
170
192
121
164
186
143
176
176
172
121
150
150
152
181
201
203
170
205
231
150
150
172
165
115
112
167
170
207
282
208
172
112
164
176
130
160
121
208
123
165
208
186
215
121
170
208
210
112
194
186
150
231
201
121
194
171
208
160
208
176
112
194
195
115
212
137
112
112
201
219
237
150
158
228
112
209
112
250
186
112
203
170
172
123
247
172
121
176
217
217
182
176
224
171
208
193
177
121
159
112
220
202
208
170
172
212
150
123
121
112
205
172
150
150
203
150
112
121
150
121
158
193
208
167
135
150
112
123
150
150
274
177
202
193
121
239
187
174
208
177
170
144
172
171
159
121
196
263
218
115
150
112
167
199
181
150
170
226
233
186
147
130
112
150
167
152
112
170
170
158
216
139
170
112
217
176
121
193
229
170
177
170
190
232
181
112
202
268
115
121
245
112
165
195
208
150
212
112
147
112
172
150
160
212
235
201
203
112
112
171
177
121
258
170
167
174
172
349
150
150
150
239
193
210
208
192
193
226
187
172
254
212
237
234
255
123
200
150
220
156
171
212
137
150
192
187
205
208
217
204
150
177
123
216
176
192
238
112
170
158
150
112
156
150
137
206
135
137
171
121
121
121
150
164
192
150
208
159
243
302
208
186
150
220
193
227
218
232
112
172
202
208
209
228
121
210
167
202
231
170
172
131
167
224
196
167
156
245
208
121
186
150
160
176
198
165
201
192
240
219
150
150
215
208
172
167
121
136
220
112
278
208
203
170
135
170
232
147
121
198
121
236
150
128
137
115
172
172
237
208
150
150
112
121
167
172
123
150
228
181
201
194
194
220
150
168
170
184
112
112
194
150
112
228
210
202
193
193
121
186
144
150
186
159
216
171
136
170
121
150
186
171
229
171
181
164
115
152
143
194
158
130
276
208
170
167
202
187
299
121
168
179
135
150
150
167
165
185
231
195
266
112
240
208
232
178
203
121
203
181
170
144
174
192
203
158
208
123
186
135
231
112
239
150
250
172
158
220
112
150
172
234
195
233
170
206
196
150
121
226
135
208
137
207
275
194
228
167
121
195
128
167
250
194
167
219
112
170
234
121
223
237
177
176
227
176
112
263
165
181
184
231
150
171
115
171
121
228
172
112
165
238
231
250
115
208
178
112
144
172
136
112
217
167
121
205
171
171
226
187
205
167
167
123
112
212
121
137
123
170
217
150
276
259
171
258
121
112
187
121
227
176
208
135
195
115
177
170
194
172
226
150
228
160
220
177
181
121
121
121
167
121
115
150
276
170
172
190
172
201
168
195
150
150
176
156
130
121
179
170
196
150
128
237
171
194
123
150
130
150
150
231
121
112
150
246
221
229
181
130
208
167
167
187
174
209
207
208
269
150
152
203
150
202
124
121
112
167
158
167
195
199
167
121
186
242
150
150
179
184
201
124
135
267
203
217
112
112
160
208
121
150
227
165
165
172
147
167
121
186
150
238
158
121
165
150
171
186
184
215
112
158
150
136
174
194
228
121
170
121
203
174
174
201
165
193
112
160
187
165
176
170
236
219
150
253
218
115
208
193
152
143
150
121
150
176
205
177
150
150
208
210
150
172
112
172
167
115
172
112
205
213
135
112
150
255
208
179
112
232
232
150
163
207
250
217
156
112
186
150
150
202
230
213
121
172
172
181
170
137
123
194
121
232
135
152
176
276
121
193
171
170
121
276
171
112
150
172
167
205
150
186
219
186
264
189
170
167
112
158
171
252
170
112
112
123
208
243
121
181
167
150
194
170
164
172
121
172
121
187
171
210
253
228
156
164
172
170
228
233
150
218
237
193
194
231
124
128
167
165
242
121
172
237
171
193
182
121
208
150
156
115
229
112
208
123
137
112
257
170
150
174
150
115
254
206
216
121
217
124
150
150
121
167
208
208
230
174
112
112
150
158
112
164
165
167
240
209
150
199
112
115
185
207
297
200
228
135
121
159
210
195
193
228
150
123
176
171
208
212
203
193
205
209
112
214
150
208
150
112
150
219
241
167
136
232
185
112
171
112
203
165
150
147
162
121
264
170
193
123
112
209
177
159
112
250
174
136
112
172
172
150
192
194
150
158
172
170
236
219
208
170
165
202
150
226
121
171
228
210
204
171
218
207
112
165
257
150
201
193
164
150
165
217
115
171
150
171
179
203
170
172
150
241
220
172
173
235
194
160
135
208
236
208
232
150
160
178
195
112
136
112
121
220
172
223
208
150
187
174
123
228
195
112
147
170
233
160
203
212
170
145
167
189
207
130
112
112
167
121
112
212
176
207
112
229
150
150
150
208
150
121
121
219
135
156
172
135
208
241
208
219
163
150
170
228
202
181
112
112
176
150
112
170
112
112
150
189
255
194
208
208
137
156
162
227
167
171
202
177
170
219
112
128
172
202
170
150
121
150
214
152
150
152
170
121
165
272
272
176
112
208
187
130
220
210
150
194
150
186
158
176
172
112
112
123
189
167
220
167
150
167
172
174
239
160
267
150
170
200
167
208
260
147
170
128
128
112
112
193
184
202
136
112
171
150
187
121
172
165
208
176
217
147
170
121
136
137
172
215
112
112
229
150
237
150
112
172
167
170
112
150
112
217
159
112
162
180
167
184
147
150
194
208
150
147
208
222
171
186
136
121
278
112
124
121
208
167
112
112
240
112
202
218
227
150
115
112
223
172
217
201
187
194
150
123
150
212
195
150
112
112
270
137
201
172
150
193
263
112
150
150
228
121
217
112
171
150
242
172
150
123
150
170
187
123
186
250
112
150
176
172
178
150
258
154
156
168
219
153
167
299
202
202
135
176
167
170
208
150
182
121
210
172
112
121
202
208
208
121
172
135
199
152
167
193
167
231
150
171
210
204
150
172
190
150
210
193
176
206
158
197
181
172
227
135
150
210
172
210
124
168
167
260
208
217
176
208
172
202
150
217
208
205
168
208
170
214
112
150
128
150
112
165
186
121
194
176
159
121
208
208
112
121
212
228
112
207
112
150
201
205
210
115
181
128
150
150
130
150
186
112
172
253
135
150
172
205
136
186
235
130
150
208
130
217
225
194
275
150
171
170
167
236
220
147
112
112
186
130
174
264
150
186
165
130
210
176
208
171
175
174
176
112
226
165
208
239
217
167
186
112
217
150
243
136
147
137
112
250
112
150
176
150
233
147
231
112
174
121
137
159
164
181
174
192
150
225
123
164
121
150
225
174
170
199
144
232
112
153
112
172
219
112
241
208
186
210
121
137
165
112
195
173
229
210
210
202
159
208
167
136
176
237
123
179
123
171
152
160
112
171
170
167
150
121
171
167
194
150
112
225
210
202
168
239
121
121
193
196
181
150
172
181
112
157
121
150
135
112
164
212
112
247
179
165
208
121
172
231
249
210
205
112
208
276
121
159
131
158
112
150
112
193
175
164
186
172
170
228
229
145
147
171
176
150
170
158
150
270
194
214
194
187
172
226
121
121
137
150
258
112
112
150
147
186
210
168
208
164
172
123
150
150
275
208
124
170
225
208
121
181
112
167
172
112
150
112
176
198
159
137
121
112
112
205
171
115
195
192
115
150
208
165
194
175
225
176
123
144
172
179
121
165
112
208
212
152
168
172
229
177
203
115
112
112
171
121
150
302
165
202
299
195
162
208
170
150
176
156
150
220
172
170
238
217
152
167
198
194
250
170
225
193
239
171
152
172
164
124
115
176
167
172
193
121
172
121
121
172
121
172
220
208
207
112
167
150
213
150
171
209
174
194
131
207
130
172
186
165
147
209
203
112
164
112
121
112
121
170
150
171
172
171
201
170
181
121
165
223
195
170
112
201
231
150
226
112
123
186
208
186
112
121
158
156
186
112
150
239
170
112
260
168
170
217
172
112
170
187
206
239
112
159
112
205
160
112
194
167
220
170
237
194
123
141
208
121
195
167
150
150
115
174
171
212
193
181
165
208
112
237
121
217
157
112
112
170
172
131
187
121
160
186
150
121
194
130
121
186
232
121
231
226
214
121
147
208
150
193
201
194
161
167
194
175
201
220
112
135
170
258
187
265
231
121
196
239
172
299
167
194
123
228
112
212
205
164
168
145
121
192
164
237
231
112
170
150
159
150
150
112
121
112
208
171
172
193
170
112
165
121
121
123
210
209
137
136
178
170
112
170
135
217
123
206
167
194
137
150
150
203
172
187
136
235
121
150
139
170
150
205
121
203
150
171
123
150
150
208
150
189
204
123
219
171
233
170
208
205
192
150
167
239
206
228
165
112
121
223
237
220
150
112
206
208
181
220
112
112
167
179
237
226
112
177
174
240
121
130
150
239
167
150
238
228
134
137
121
187
136
150
123
170
228
194
215
112
121
182
150
150
150
194
181
226
136
237
112
210
210
147
121
128
165
202
150
238
203
297
147
115
247
176
176
150
121
112
167
150
164
115
112
170
167
186
112
201
124
239
128
121
135
245
200
112
121
208
186
270
150
172
194
150
172
203
158
167
112
136
177
205
170
150
208
176
121
172
143
150
159
150
167
150
137
150
135
181
187
171
170
112
136
121
150
164
167
250
137
189
167
243
152
171
121
112
171
150
143
175
137
192
152
112
150
150
204
170
137
228
225
136
187
121
137
234
233
170
147
112
150
112
150
150
121
192
165
208
208
187
112
214
170
252
242
167
202
187
236
112
170
208
130
194
172
112
112
206
181
172
237
150
121
208
181
176
202
121
195
147
194
121
128
121
208
208
196
184
208
150
170
194
159
150
112
186
223
135
124
150
227
181
115
124
178
226
121
186
212
168
150
157
186
225
184
179
186
205
226
200
112
174
176
163
208
130
160
171
215
170
214
112
135
207
112
212
167
170
168
210
147
184
171
224
276
227
150
123
123
194
123
210
218
207
150
231
150
263
150
112
193
167
121
172
150
208
112
112
208
231
231
159
112
150
208
130
121
241
150
218
121
121
240
167
150
112
220
234
136
174
150
225
167
208
190
219
171
115
237
175
159
208
196
232
208
210
205
210
150
202
211
115
208
135
115
150
239
170
193
212
150
121
124
203
187
263
227
150
214
232
220
227
209
171
135
165
193
208
121
115
186
192
279
179
160
194
112
150
158
170
219
112
176
172
196
130
170
172
150
159
216
181
226
195
193
181
218
121
202
156
155
112
194
143
156
172
223
167
172
112
185
128
250
250
121
144
112
194
204
209
204
212
255
180
136
172
194
172
178
159
112
201
208
208
202
220
121
171
167
194
264
121
136
220
123
176
201
223
147
121
112
150
198
184
121
205
150
112
112
112
193
184
170
124
216
150
207
200
123
150
121
213
207
150
121
187
112
177
165
278
150
176
231
228
172
187
164
147
198
171
196
208
210
112
189
186
124
172
194
171
112
228
121
171
181
115
232
220
165
170
210
172
121
121
112
207
112
172
193
164
130
112
158
195
150
130
202
152
228
172
165
213
112
112
165
172
135
135
135
230
176
211
167
232
164
121
230
175
137
279
187
173
112
143
150
121
263
207
194
237
156
152
112
177
170
147
135
221
112
186
195
156
160
246
170
217
152
212
121
171
214
192
112
208
171
172
181
181
150
194
195
247
208
123
150
177
159
123
115
164
186
193
170
181
189
112
112
112
121
139
150
193
172
187
150
237
171
172
212
219
112
194
181
150
208
170
158
195
210
179
112
185
121
128
123
219
150
170
112
150
177
255
144
150
177
170
160
137
186
121
212
150
147
187
150
186
228
193
121
220
186
198
229
208
184
203
167
212
121
219
175
124
165
143
164
112
232
112
229
150
112
115
170
112
208
255
187
112
181
182
177
165
194
150
171
112
247
225
112
167
235
121
210
121
150
115
170
136
150
233
135
165
186
226
121
167
123
172
187
228
137
150
181
121
236
202
121
193
187
168
156
112
202
198
121
121
228
115
170
150
123
150
136
228
121
220
186
189
150
174
181
270
193
121
235
210
150
208
208
189
167
150
193
172
176
194
112
174
167
167
150
172
172
112
202
238
208
208
147
112
219
165
202
115
150
121
143
201
195
177
194
212
121
177
121
188
194
194
112
123
167
150
212
121
112
123
205
150
208
219
170
276
194
159
130
238
194
192
187
121
150
205
194
182
202
112
172
150
208
152
171
147
210
130
121
123
150
187
195
220
170
147
228
220
112
181
209
219
170
168
150
228
237
112
150
205
112
174
181
112
172
222
123
124
194
177
150
165
147
157
112
150
164
201
205
121
167
176
121
267
121
215
208
259
170
204
121
167
174
164
150
121
208
112
265
207
121
112
187
150
181
135
193
121
255
172
206
201
112
150
150
121
208
150
167
172
112
150
150
150
121
170
203
167
210
147
150
150
150
226
225
208
216
178
172
215
203
208
121
150
150
232
177
150
219
170
136
167
162
181
150
150
170
237
150
172
123
195
176
170
150
194
172
228
208
237
174
123
121
159
162
215
231
112
255
208
165
136
128
236
123
212
150
205
265
161
208
186
193
150
115
194
194
165
223
226
187
115
115
208
208
121
150
228
176
161
150
194
176
168
150
186
208
130
121
183
136
167
121
150
176
208
150
112
181
176
150
112
203
220
121
178
171
263
123
150
112
186
167
150
207
121
180
299
164
121
208
255
176
150
123
212
239
186
208
128
123
112
192
230
137
172
156
156
112
219
121
121
167
208
217
177
167
121
167
112
228
136
208
195
112
128
172
150
219
170
167
121
176
212
150
173
121
231
150
255
150
228
147
165
112
137
121
112
225
220
212
167
194
171
150
172
198
208
220
170
112
150
248
150
121
150
121
262
150
193
171
121
124
112
208
255
232
189
198
186
302
220
150
147
171
190
171
150
121
121
239
208
172
150
123
150
147
165
159
164
135
193
112
164
121
136
237
169
150
193
121
203
123
193
150
237
189
121
171
162
147
150
250
170
112
112
150
181
112
150
172
167
208
141
212
208
150
212
172
176
170
150
172
130
207
209
167
237
202
112
228
137
172
112
150
208
205
153
150
227
172
172
115
187
172
171
231
212
196
187
170
123
272
136
165
196
112
228
226
170
195
232
112
124
212
123
203
112
121
150
160
165
145
172
121
207
196
212
121
147
172
162
181
115
150
174
123
171
208
150
112
160
121
208
121
150
136
150
212
234
181
168
123
168
150
121
231
172
170
172
210
177
121
194
201
112
112
178
147
112
121
112
150
121
115
193
289
121
200
112
170
150
232
167
223
209
208
121
150
112
150
112
158
150
121
187
137
159
152
215
208
240
203
184
195
121
150
123
137
193
209
159
157
189
231
240
208
237
170
112
112
170
234
263
159
202
189
214
112
192
112
208
150
150
121
170
177
165
237
112
150
208
128
208
175
201
170
171
181
203
210
176
176
130
121
237
150
208
186
135
150
231
229
201
150
187
229
171
235
239
135
168
121
168
150
198
237
136
123
164
243
174
226
135
165
239
208
193
112
161
210
165
172
158
187
194
121
193
112
170
177
239
225
229
208
186
170
219
150
112
135
178
192
250
252
170
208
150
208
194
112
172
237
121
235
167
150
265
172
157
195
121
212
167
150
194
174
150
143
186
167
198
176
123
202
156
150
121
210
112
121
181
210
121
123
121
193
124
236
167
170
217
112
159
121
172
150
150
150
115
237
171
150
112
121
121
172
193
121
150
150
150
186
121
147
208
150
158
112
186
230
172
212
217
228
165
160
202
150
231
150
112
159
208
202
112
178
170
167
121
157
202
263
239
123
112
186
178
176
121
135
181
237
172
171
121
193
196
193
143
302
124
227
130
208
157
201
215
112
150
194
150
212
181
170
135
176
241
241
176
165
167
168
241
201
218
212
157
159
150
210
121
181
192
147
170
162
226
212
132
137
150
112
158
156
207
170
219
231
121
112
112
216
112
208
167
208
176
147
175
195
265
181
172
147
170
208
195
171
160
147
170
228
150
150
171
121
192
208
160
131
208
112
181
172
150
121
131
150
208
198
172
150
167
217
121
219
167
165
150
194
220
164
177
150
181
121
302
194
112
150
170
207
112
150
147
217
177
124
150
150
158
172
263
130
170
167
205
159
230
220
165
150
167
112
186
150
186
265
172
121
247
172
112
201
124
112
168
150
158
167
147
172
136
165
147
250
123
229
112
147
297
186
278
123
172
131
150
181
177
160
213
112
112
147
203
201
178
200
112
150
123
150
172
150
194
172
137
150
171
208
233
167
172
208
210
171
204
121
210
208
179
150
112
167
121
217
239
135
112
171
239
121
170
112
135
170
203
170
249
175
244
208
112
220
167
135
137
233
214
121
150
192
167
135
171
172
112
208
112
208
158
164
150
170
115
112
172
208
167
150
243
227
217
178
181
241
195
206
121
164
150
294
124
167
112
203
177
112
171
150
172
220
130
165
208
255
136
231
177
213
222
150
152
121
208
150
229
229
150
150
152
144
284
181
177
210
160
167
177
150
198
192
150
175
137
208
150
150
212
224
164
172
121
172
172
167
176
137
121
112
123
121
187
115
181
226
112
123
115
147
201
203
137
112
130
165
150
121
137
170
150
150
168
171
150
147
172
228
208
263
176
194
147
279
121
194
123
225
112
121
263
198
172
121
170
212
150
112
123
181
181
179
158
158
121
250
228
130
232
136
181
178
172
228
112
112
112
167
150
121
150
194
208
130
112
250
121
136
172
179
167
208
208
115
170
176
167
121
237
207
193
156
171
170
172
150
171
121
136
167
112
150
176
137
150
160
137
181
112
193
208
243
175
144
172
195
208
112
112
177
121
150
150
258
150
112
181
150
195
170
112
286
219
208
150
208
208
172
203
150
203
228
232
136
147
150
135
211
178
167
150
219
208
159
237
196
194
137
241
150
168
208
242
181
195
167
150
206
174
136
136
112
121
176
136
181
187
121
147
115
205
165
112
147
172
225
175
147
150
177
137
168
177
150
112
202
143
172
229
205
158
243
171
224
250
167
165
156
194
150
150
112
150
236
112
137
112
227
210
136
159
115
163
159
172
150
208
176
214
184
150
186
167
208
123
150
208
220
225
167
266
137
239
171
123
213
193
121
165
152
121
112
147
208
193
174
176
170
150
147
174
150
123
172
208
121
299
136
228
150
121
136
186
176
194
150
200
299
205
121
186
181
226
208
170
177
170
137
209
186
219
112
112
150
170
208
192
186
150
112
221
257
150
176
172
172
112
202
150
123
195
210
136
123
130
210
112
250
196
112
179
121
181
216
195
150
228
170
194
112
170
210
199
160
195
237
271
185
150
163
207
112
123
121
208
112
121
238
204
167
112
195
165
176
193
184
115
112
214
197
299
112
171
112
150
177
176
250
135
251
144
220
172
172
170
225
172
173
112
231
255
194
168
150
112
187
237
165
150
192
237
143
195
124
215
121
165
186
112
170
150
147
228
150
195
210
136
123
208
143
208
217
165
194
172
112
201
164
186
136
212
112
121
158
193
150
181
199
112
168
150
121
172
210
170
208
263
172
171
181
217
150
112
208
208
159
123
240
192
150
181
160
150
195
143
186
172
121
250
164
225
227
167
167
147
202
201
176
121
112
214
112
245
228
121
150
135
176
137
121
202
170
164
150
167
264
150
194
212
233
196
172
235
170
136
171
112
150
150
193
208
193
160
239
112
150
135
195
194
167
123
228
194
137
176
176
150
150
255
150
159
150
137
150
182
181
167
112
121
225
136
112
172
243
170
123
167
194
172
185
243
255
297
121
170
196
181
123
181
121
171
112
208
219
212
112
150
208
208
223
171
137
163
239
152
187
208
172
228
150
167
213
115
121
275
136
137
150
150
150
263
198
150
121
208
143
168
208
207
167
147
208
172
172
215
165
194
121
112
210
150
121
208
121
205
170
237
216
226
171
170
218
181
165
231
212
170
187
121
166
112
193
150
150
150
124
164
150
150
115
152
121
186
203
112
208
201
144
194
112
154
208
194
209
150
115
195
237
171
137
150
150
234
211
302
167
192
176
209
178
152
150
232
176
211
112
112
202
177
168
137
170
172
181
152
172
176
205
238
137
135
121
226
194
171
150
193
275
172
112
219
203
226
235
208
170
170
158
150
135
130
201
187
121
112
237
112
205
158
195
150
121
205
159
112
229
165
237
135
150
150
208
121
165
215
147
208
212
197
170
150
297
171
208
230
208
171
212
171
121
167
123
185
167
164
192
195
121
150
208
165
121
208
181
212
150
156
176
244
221
171
179
112
176
150
171
217
176
150
128
194
150
112
121
150
170
157
135
159
150
187
170
176
121
220
225
170
171
159
136
121
172
181
249
228
195
112
112
187
212
112
189
167
167
121
276
176
231
135
193
172
228
158
194
272
206
232
121
136
167
167
150
121
216
150
205
172
121
121
160
121
193
112
165
123
159
171
217
208
233
164
195
228
179
150
176
171
228
150
121
205
172
237
150
209
112
150
147
150
150
194
170
221
167
112
178
171
172
225
167
210
115
167
171
176
121
172
167
207
237
181
255
228
203
147
143
187
150
150
150
150
170
121
150
208
112
257
208
112
257
150
137
202
147
212
112
205
135
165
150
171
165
137
150
172
150
150
175
150
150
235
121
121
115
275
302
150
167
217
253
150
202
181
115
203
112
171
135
231
112
176
170
150
160
214
199
136
186
194
180
150
121
112
150
112
217
228
170
121
150
236
123
150
121
112
205
150
171
171
172
136
167
112
170
210
112
232
170
205
167
187
231
147
164
184
150
203
172
112
112
253
171
174
150
112
208
159
208
198
121
220
208
171
170
217
192
157
171
123
150
112
172
136
128
135
194
254
255
225
208
150
208
150
208
160
181
112
208
217
158
250
150
201
139
160
112
121
176
193
170
181
176
159
124
219
172
192
208
150
172
172
121
176
136
112
150
194
186
136
112
112
172
136
215
208
231
178
112
150
203
160
176
145
137
115
112
172
112
150
112
172
171
208
210
226
158
208
150
228
150
276
179
150
112
220
150
171
150
121
193
272
208
176
212
147
203
228
121
174
167
130
193
121
162
121
235
147
121
289
171
112
112
150
168
213
187
147
167
112
160
171
123
206
212
168
192
170
233
112
202
150
121
112
167
227
152
193
196
231
236
115
150
121
123
198
115
247
275
150
112
170
159
207
112
150
188
112
121
226
137
186
112
254
212
219
130
112
121
150
121
189
112
193
172
172
195
187
167
170
198
121
177
170
165
199
112
112
201
176
176
175
112
158
231
121
237
202
150
167
201
130
135
195
172
112
150
171
136
159
172
281
231
121
158
259
136
228
121
208
228
215
123
175
139
150
176
226
217
121
167
210
177
186
186
121
150
172
176
147
228
231
150
186
130
165
165
165
112
171
181
197
128
168
194
112
150
170
175
195
150
136
112
150
179
215
208
165
208
239
176
225
150
121
147
171
244
150
168
181
170
167
172
195
174
201
112
123
177
181
177
172
208
170
215
123
187
112
186
178
194
208
121
224
123
112
229
112
156
172
123
171
167
181
112
112
228
192
130
156
208
112
239
201
205
243
164
143
112
170
158
147
170
112
112
208
130
187
150
147
176
274
220
237
207
172
137
121
174
213
170
210
215
156
245
121
137
205
115
208
150
150
112
121
131
147
172
186
165
121
208
123
217
229
233
150
121
121
255
171
165
176
121
112
130
137
225
228
123
167
239
121
143
247
121
202
218
130
123
150
159
170
178
112
121
193
207
226
150
172
147
183
201
237
219
242
128
179
121
112
173
172
112
150
136
121
210
208
214
184
121
302
194
171
208
174
150
123
172
172
167
150
128
189
167
170
135
185
226
123
112
150
150
150
136
172
217
165
143
167
167
195
196
165
121
112
115
229
150
130
121
190
121
208
121
185
156
150
175
123
208
165
172
210
121
174
179
112
123
218
193
208
112
178
150
156
171
112
170
121
171
216
208
135
225
192
208
139
210
172
150
112
159
212
112
227
219
173
112
194
137
158
150
297
212
194
176
217
208
172
212
124
135
217
194
157
210
184
123
150
137
112
115
123
164
121
147
187
202
195
212
167
137
124
215
170
218
186
123
220
203
137
202
143
194
121
164
171
121
235
252
145
194
202
170
150
181
181
174
112
208
195
167
164
150
121
192
231
172
193
208
112
176
150
112
150
112
186
112
112
208
172
150
212
150
194
189
233
150
297
172
208
186
192
150
215
168
215
172
150
121
170
170
121
112
137
170
150
121
121
172
212
212
208
124
112
208
168
170
147
178
165
112
112
215
164
158
201
176
165
193
164
121
186
150
193
158
150
193
244
208
112
176
186
208
259
150
128
202
172
167
210
167
135
150
112
187
208
206
202
184
167
112
164
202
263
135
186
208
172
210
210
217
135
237
171
170
124
112
130
121
150
121
152
112
121
210
156
152
250
159
215
170
210
171
150
150
201
208
184
123
243
208
288
121
186
150
121
121
237
132
121
237
170
258
112
225
121
207
150
150
136
112
112
194
150
121
206
112
172
237
112
112
161
263
208
150
228
263
150
150
201
208
112
112
121
231
136
179
237
224
207
167
182
112
160
228
167
201
121
112
177
135
137
161
112
219
112
112
208
165
208
112
112
172
164
217
112
231
121
171
208
208
121
192
201
147
112
206
159
187
121
240
167
121
173
186
112
123
174
170
186
202
167
170
265
136
201
255
112
115
123
170
115
112
123
157
186
112
150
115
170
112
147
208
150
194
167
170
170
205
115
187
204
150
150
170
150
228
172
121
234
302
121
121
233
123
191
170
194
201
121
237
124
208
228
210
167
121
208
194
150
112
212
179
168
192
167
181
150
150
172
167
112
186
160
158
123
121
264
192
262
172
224
121
112
195
172
171
181
217
147
193
121
168
210
240
115
165
150
136
167
172
302
172
235
230
123
181
176
112
168
175
171
136
121
160
255
112
112
221
210
112
172
185
192
231
123
145
219
201
121
150
165
121
172
164
212
134
194
150
234
186
150
112
219
152
165
112
121
186
181
150
272
115
147
170
192
179
208
150
255
214
239
281
193
115
239
121
123
202
228
235
210
210
150
157
112
185
150
112
170
150
202
228
168
226
167
163
150
187
181
208
208
233
302
112
193
171
208
197
187
112
212
136
181
167
208
170
158
150
234
194
228
279
170
176
192
174
112
194
225
190
115
223
194
233
121
150
150
124
170
210
164
121
208
175
225
115
147
186
177
150
193
202
171
193
172
150
181
160
112
172
210
183
186
172
172
121
135
167
216
137
234
176
172
231
167
240
177
164
147
112
167
203
150
228
239
159
174
211
172
150
193
112
199
234
131
150
112
150
172
167
172
187
184
147
150
121
170
159
241
162
121
176
167
204
123
112
128
194
112
174
167
147
144
112
192
186
112
130
184
228
152
212
250
171
182
263
201
156
150
181
263
171
112
181
186
228
201
263
123
150
150
161
263
210
194
194
144
172
168
150
150
171
172
228
121
136
208
150
121
112
226
170
139
240
203
150
121
171
150
112
128
197
150
239
137
164
195
228
240
216
176
170
123
206
170
215
168
208
145
228
112
171
187
137
194
205
121
164
218
172
186
136
158
112
150
219
121
237
167
121
210
208
176
150
147
223
170
195
202
216
208
165
201
273
171
226
121
231
172
186
210
150
160
170
150
150
167
159
172
194
186
228
212
152
170
167
208
228
161
167
192
172
181
208
237
195
135
121
187
237
256
177
175
174
158
123
150
168
165
174
184
121
257
187
123
199
186
159
205
159
115
150
208
230
208
123
170
195
167
160
228
112
150
181
219
150
121
212
112
237
216
189
123
250
128
203
208
171
123
146
164
201
167
195
172
197
190
172
165
202
147
167
261
135
130
137
208
150
135
201
160
220
195
150
216
164
194
167
137
150
218
193
115
185
121
186
181
208
299
132
112
167
150
115
130
193
150
208
174
124
136
231
112
229
150
161
178
176
121
150
150
208
186
175
254
170
181
172
150
115
186
239
124
115
112
207
167
160
250
137
176
176
207
208
194
170
123
121
171
115
150
150
121
192
150
150
181
167
231
123
176
194
112
170
150
112
150
177
223
156
121
241
121
150
233
150
263
181
144
115
201
121
147
158
121
115
112
150
208
208
210
112
219
208
203
187
112
208
172
203
226
164
230
147
121
167
112
112
208
112
186
170
186
171
210
112
136
123
208
162
176
172
156
167
179
205
174
217
170
159
208
208
165
172
170
210
239
216
268
220
132
217
170
210
137
201
176
257
162
177
208
152
202
202
210
150
147
181
176
121
115
165
158
184
165
172
112
184
170
150
226
172
203
137
210
131
165
112
171
150
215
208
172
136
172
256
112
194
201
239
184
123
165
263
207
208
172
203
136
112
208
195
158
165
221
208
176
150
172
208
135
115
216
112
196
244
112
115
147
112
171
195
208
150
165
170
136
170
208
218
176
184
207
135
195
239
239
159
150
208
212
150
202
115
172
150
177
229
186
176
136
179
201
130
121
195
171
193
164
174
176
243
199
225
112
112
237
172
124
121
121
150
150
210
159
181
136
202
131
167
208
150
208
160
150
123
231
121
150
195
194
150
150
194
233
137
150
121
121
215
121
210
224
112
218
130
171
135
204
150
194
219
121
176
150
202
172
123
121
150
160
194
159
171
121
167
176
121
123
136
150
170
121
208
165
221
152
171
217
112
189
150
150
121
199
208
209
147
220
112
201
172
112
168
208
121
228
265
135
193
237
112
170
223
121
123
172
121
150
195
177
158
156
172
112
112
130
112
255
231
150
136
207
238
158
223
283
150
201
174
196
128
156
228
171
128
168
160
150
187
150
194
112
174
150
141
171
208
130
128
176
167
121
150
192
250
270
168
164
121
208
203
121
243
193
136
194
192
194
185
207
139
202
152
170
228
123
112
137
192
150
150
177
172
165
195
150
171
170
205
172
208
231
175
150
164
187
170
160
172
278
196
202
121
208
216
193
170
150
112
172
170
164
170
240
137
165
172
158
147
253
171
130
194
121
255
167
190
121
135
192
121
178
170
228
172
194
115
171
121
152
115
167
121
208
130
161
176
112
171
143
135
176
208
112
170
112
206
121
182
123
171
171
150
150
167
121
167
176
212
153
160
187
150
147
239
150
208
193
192
201
179
124
121
208
172
212
208
124
171
146
150
186
171
112
115
136
121
156
224
123
220
208
112
210
167
212
172
197
211
171
247
210
240
121
190
147
164
112
232
255
186
202
124
115
136
123
167
123
165
115
181
112
150
121
199
228
212
239
174
194
124
208
167
150
172
255
186
150
165
212
234
210
181
183
150
174
150
203
199
112
112
170
278
121
250
130
172
228
112
202
210
193
123
150
150
168
156
186
121
112
245
202
123
150
121
152
218
156
112
192
176
123
159
164
213
170
187
264
150
167
121
141
181
147
186
150
194
250
121
208
150
208
170
121
158
171
208
112
112
201
172
212
194
184
150
219
112
193
172
220
226
186
135
172
150
176
123
194
150
212
208
121
209
121
165
186
192
172
121
167
174
203
112
202
179
150
229
208
208
121
208
254
172
131
208
147
165
158
150
172
237
150
175
220
172
172
150
165
112
197
150
208
135
167
210
123
246
218
177
167
201
206
277
208
112
220
172
123
170
208
112
186
234
164
123
201
208
174
237
193
177
150
208
150
244
150
232
171
158
245
208
234
177
112
167
112
210
150
204
193
112
195
174
248
210
193
170
186
181
302
170
245
123
121
150
172
121
208
195
121
136
132
115
112
195
150
128
208
144
210
250
188
232
228
164
170
158
202
128
174
172
130
112
213
208
219
150
208
170
121
208
121
150
236
121
271
121
172
121
128
168
228
231
208
121
172
203
150
124
220
206
128
279
250
174
212
167
150
276
233
150
168
201
181
144
237
136
150
201
208
237
121
161
208
258
153
219
201
250
156
150
186
172
164
150
112
282
207
158
123
165
206
150
193
121
219
215
121
121
152
167
186
181
150
150
208
121
227
112
167
207
161
112
170
112
170
228
121
193
115
164
141
194
194
112
302
150
150
187
128
208
112
193
172
121
228
172
233
208
115
208
218
203
200
112
143
186
158
228
112
206
174
121
112
167
123
112
150
121
112
208
123
220
112
172
150
112
208
167
115
179
302
214
112
121
167
170
136
167
112
167
225
176
203
121
146
217
150
228
165
167
194
181
172
123
184
181
174
112
193
181
121
160
240
150
208
171
176
192
171
195
150
135
248
193
158
195
177
194
165
208
112
208
152
170
236
150
121
167
112
159
194
265
143
204
186
158
121
172
176
150
210
130
150
172
208
143
112
208
147
219
195
202
112
214
233
208
123
204
150
192
208
150
121
231
236
124
172
215
201
228
171
208
250
196
212
112
170
193
208
218
137
124
112
112
192
176
165
121
250
202
177
171
167
150
172
204
165
181
150
228
236
112
205
150
174
228
208
150
229
172
132
135
115
219
150
210
112
112
150
172
112
170
121
172
220
112
112
123
172
167
112
233
124
150
170
276
171
249
136
194
172
170
233
186
165
237
150
165
187
152
263
225
177
121
150
174
121
150
196
176
191
186
147
208
172
167
146
137
272
210
170
237
232
150
150
121
172
194
112
237
112
112
174
135
150
204
121
152
170
243
112
172
152
275
194
210
165
128
250
178
160
172
168
187
185
158
208
115
168
208
207
184
150
164
115
150
239
181
171
178
208
150
150
236
187
171
172
196
216
168
263
216
123
182
112
168
121
167
150
239
211
150
164
121
215
172
208
130
208
121
187
160
208
152
170
147
172
237
150
112
220
210
135
112
150
160
208
130
203
227
291
214
168
168
115
299
239
150
208
112
203
228
194
250
172
168
174
144
229
136
207
150
170
209
167
187
181
181
165
186
171
135
165
186
164
150
219
121
150
210
150
167
115
170
186
181
172
167
135
136
194
136
172
150
255
112
201
150
150
208
112
167
121
227
172
186
167
193
232
276
237
146
147
237
123
164
170
204
253
147
186
200
237
208
172
167
208
171
112
237
121
121
192
236
150
165
307
170
208
172
242
112
171
220
172
170
147
135
112
137
150
171
150
150
201
171
202
150
156
227
208
150
235
172
150
137
150
208
121
170
237
260
170
208
193
121
177
124
170
217
171
171
187
147
136
170
115
150
136
201
172
170
159
193
121
123
234
214
194
174
168
172
121
172
144
201
112
217
207
112
192
130
137
121
112
208
237
170
112
150
150
150
123
150
227
233
123
212
121
193
170
184
147
203
112
150
172
112
150
187
165
212
165
235
187
112
150
121
112
157
184
281
202
168
121
276
121
121
170
237
209
231
121
236
164
158
272
208
172
112
150
208
150
208
208
136
159
121
204
219
150
112
170
228
208
167
208
150
229
150
192
144
194
136
186
167
172
250
181
250
165
112
137
171
195
187
291
228
112
121
235
121
165
208
180
208
258
112
195
170
121
172
172
112
229
201
202
121
150
167
112
112
112
112
121
181
115
167
208
195
121
208
112
170
233
112
176
167
147
167
217
218
258
123
208
264
208
208
255
121
171
150
233
172
150
172
226
143
123
112
112
150
121
193
171
150
112
226
217
228
136
194
165
237
150
121
238
236
202
121
112
150
112
150
171
150
171
210
181
174
121
271
231
225
211
150
177
150
302
115
182
171
112
150
194
235
159
112
177
112
208
233
210
218
186
170
135
172
150
210
242
159
172
186
212
170
158
160
174
172
174
112
181
207
112
212
172
195
217
199
219
170
115
156
170
172
121
207
185
172
112
203
112
158
210
155
238
152
224
135
231
208
186
167
171
187
178
150
112
121
208
121
130
123
171
171
192
121
147
195
165
150
232
157
115
239
136
208
210
237
112
150
130
172
206
112
192
208
192
170
172
193
225
167
208
210
181
150
217
171
112
150
155
112
182
123
165
171
205
150
112
167
121
112
195
223
181
200
208
193
219
195
210
220
203
167
186
112
219
150
171
172
115
143
121
199
147
172
228
150
171
150
276
217
157
150
172
165
150
167
207
160
159
186
208
121
150
208
112
215
150
172
167
159
150
112
112
172
201
194
147
259
153
198
171
167
158
245
301
137
157
193
150
210
208
171
112
220
112
136
195
150
150
112
112
168
150
159
172
121
136
121
150
172
167
193
112
212
199
228
185
235
174
208
208
121
160
172
247
229
214
194
198
172
228
112
195
186
194
208
112
112
203
186
112
172
165
123
292
165
121
193
136
147
172
181
194
170
167
123
208
136
112
187
165
244
167
219
237
112
112
144
194
170
150
121
255
179
175
203
176
200
205
212
237
139
208
176
121
135
172
172
137
172
112
247
168
207
150
167
147
226
121
121
130
208
150
150
233
170
172
147
123
123
172
168
121
158
123
112
253
112
176
143
135
141
206
164
115
203
190
229
298
124
124
112
181
147
112
112
112
194
228
121
171
137
112
160
137
175
171
174
172
181
187
231
187
112
237
212
135
115
250
167
165
237
150
123
205
152
190
150
161
215
147
159
121
210
235
112
266
177
230
112
205
197
205
181
123
181
194
172
123
205
147
212
181
212
181
228
172
205
143
205
208
150
112
182
177
150
112
184
189
186
112
186
182
225
137
201
121
216
156
121
239
282
170
258
150
210
121
201
208
121
112
177
150
150
137
112
201
159
153
150
181
121
136
150
121
150
194
123
181
121
150
172
172
173
171
204
150
136
208
235
121
194
137
112
217
179
201
165
175
121
160
226
135
195
170
123
201
112
218
137
150
342
121
168
172
211
121
124
124
228
136
136
176
192
179
214
167
199
150
176
186
205
136
165
121
139
208
263
112
208
201
150
171
171
135
226
159
123
165
121
171
150
209
112
150
205
201
124
150
176
150
170
272
165
208
112
158
275
174
112
172
181
194
194
171
150
172
219
171
121
150
209
147
195
194
211
112
192
194
172
124
150
184
252
150
121
175
201
214
136
235
150
170
112
215
112
210
208
192
167
202
207
121
187
124
186
170
251
192
121
136
172
150
243
130
121
150
243
167
136
186
167
205
171
187
150
175
150
143
208
150
150
167
121
208
213
165
194
215
150
175
150
195
121
150
196
210
210
145
150
150
282
186
161
195
163
228
175
121
209
171
320
136
228
136
170
121
158
245
201
231
170
112
178
150
121
170
187
205
136
170
167
160
121
177
150
181
231
159
112
121
112
150
158
150
176
195
201
150
160
156
215
135
228
171
159
203
276
150
150
208
115
224
112
172
214
195
167
121
203
121
276
137
167
112
208
112
208
195
208
208
150
170
203
193
150
112
305
112
121
203
150
181
124
202
112
240
112
257
115
181
112
121
172
136
208
112
112
171
121
203
185
194
193
206
172
208
121
305
172
172
193
185
172
112
139
201
177
195
177
164
167
208
233
194
208
150
156
293
181
276
181
202
174
237
161
121
112
123
150
176
177
112
112
210
136
164
112
165
137
135
199
208
128
150
152
121
171
143
171
112
177
229
195
167
232
150
194
172
112
124
136
201
112
176
167
205
165
167
232
112
172
171
193
233
208
123
150
150
233
196
218
210
150
176
193
176
150
207
176
208
152
172
112
218
181
112
165
203
172
136
160
226
158
112
282
229
228
150
123
112
168
167
175
166
167
121
228
230
170
208
172
233
250
164
121
189
121
150
172
226
234
263
121
193
123
255
172
150
203
172
167
165
150
167
112
150
150
216
162
192
236
171
167
208
208
218
233
208
193
150
170
250
170
218
144
250
244
278
121
172
212
121
189
201
228
166
161
181
147
136
112
150
136
182
150
167
112
167
135
177
168
172
171
172
235
150
202
228
208
112
159
172
121
194
194
192
165
208
193
131
230
121
223
150
147
177
186
150
217
135
121
210
170
226
150
189
121
121
150
137
165
208
219
150
150
123
208
112
175
150
170
181
218
171
150
137
181
228
186
123
174
121
112
150
155
136
201
150
208
121
121
135
123
171
121
121
123
160
159
174
170
123
210
188
208
150
136
164
260
171
208
220
165
159
210
112
121
181
245
158
302
164
112
202
171
185
236
170
187
135
196
212
194
112
240
225
192
112
150
152
175
115
172
208
261
235
172
176
237
121
185
167
278
136
208
150
193
215
124
112
186
135
202
170
161
112
150
150
193
170
172
162
121
189
146
170
112
123
225
223
223
234
223
181
176
158
150
220
164
171
167
201
225
171
250
181
112
112
150
176
203
150
239
202
181
121
233
203
165
208
208
175
150
193
121
182
195
150
121
177
150
141
150
193
135
124
159
170
150
112
210
202
228
181
165
203
112
112
123
235
112
150
112
218
175
213
150
136
150
194
164
202
187
171
281
150
167
112
167
150
193
174
112
112
172
210
238
208
195
158
228
135
150
172
178
175
170
228
112
112
200
186
112
112
194
208
170
112
208
150
135
112
112
150
170
165
164
257
121
166
112
234
243
167
208
121
137
189
112
172
195
150
192
150
112
167
172
121
232
245
121
150
123
225
276
112
123
135
276
121
136
181
248
179
231
136
208
112
215
150
233
150
170
176
124
112
208
150
257
121
112
161
184
150
143
167
121
194
135
205
150
135
177
203
150
167
266
200
171
203
150
210
186
177
194
181
147
190
187
171
181
208
255
187
186
217
167
193
205
112
121
237
147
172
181
121
121
121
135
229
171
150
186
205
150
150
150
231
233
150
121
172
218
150
112
217
121
121
184
210
112
170
112
150
112
121
150
121
112
163
174
171
186
185
167
115
132
170
272
123
149
112
123
171
206
193
128
112
121
121
194
150
177
172
112
195
170
239
181
170
112
112
147
167
193
220
228
186
150
121
123
170
243
186
121
150
208
150
231
150
156
150
115
207
193
226
112
150
135
208
186
220
150
150
232
124
121
112
215
208
112
165
165
232
121
167
112
220
172
239
112
170
121
121
195
150
202
121
213
212
158
130
178
176
181
167
150
123
112
176
112
147
187
112
202
150
207
208
150
171
165
123
112
170
193
112
112
150
194
147
171
185
240
168
187
150
124
171
167
172
112
171
150
210
167
172
195
171
168
225
170
152
203
208
194
150
171
217
172
207
179
164
179
150
215
121
150
170
208
179
143
164
184
220
150
208
176
150
121
137
202
184
216
150
219
150
167
162
176
137
205
157
167
270
208
115
150
165
144
212
150
201
170
156
150
172
200
210
150
229
168
112
150
165
210
181
121
177
203
187
203
172
123
128
206
171
217
171
136
156
112
172
121
194
112
150
171
123
122
121
171
208
181
217
176
150
161
186
242
167
157
121
156
112
276
165
168
167
165
124
237
278
112
150
164
121
137
168
121
159
246
171
164
112
112
170
150
255
176
150
172
172
112
112
218
186
208
176
172
164
181
112
150
195
170
229
112
250
208
121
167
172
189
121
172
123
194
160
203
147
193
112
207
150
121
135
150
112
208
224
167
150
176
209
137
167
135
207
256
150
115
112
121
217
156
112
215
135
150
175
150
178
124
112
128
213
226
112
112
150
207
121
237
193
150
250
254
150
171
128
194
186
121
124
121
137
172
182
193
208
206
172
187
150
192
121
150
150
150
276
137
186
124
162
172
207
186
147
136
229
171
291
215
181
240
112
194
150
264
123
112
179
182
205
176
171
192
180
176
121
194
165
112
150
172
147
167
135
250
150
193
112
226
150
115
252
165
150
240
150
171
124
158
177
200
228
276
208
231
167
232
121
213
186
193
208
123
177
150
243
207
135
150
164
195
229
112
165
158
150
121
208
177
208
252
176
167
195
143
194
150
175
150
115
254
171
112
172
172
121
150
144
171
121
201
150
121
241
171
218
143
121
172
194
176
160
171
137
150
214
210
150
165
152
208
121
121
181
150
230
112
194
112
150
172
196
181
147
205
160
146
244
121
121
181
136
237
136
121
179
199
172
206
164
150
168
195
263
181
243
181
121
194
208
112
170
170
112
170
121
121
195
167
112
196
178
150
147
212
112
128
208
112
143
136
170
147
177
208
195
199
172
176
170
228
143
210
213
247
123
202
112
150
121
112
150
216
121
186
150
171
192
228
123
203
176
176
175
208
123
112
171
232
121
112
201
136
156
121
167
150
172
220
150
158
121
121
208
172
121
194
112
181
245
112
208
112
156
205
112
167
189
150
158
279
130
150
121
150
209
208
121
233
167
147
208
208
186
150
240
207
172
217
176
172
172
112
112
124
158
194
170
195
203
147
263
244
194
167
202
208
121
115
170
228
244
150
210
121
152
112
112
230
193
203
150
172
224
214
205
172
208
121
121
150
201
237
167
207
195
231
218
128
181
112
179
226
112
150
165
137
213
121
168
194
208
203
218
135
187
137
170
177
208
256
112
112
170
171
179
150
167
237
186
208
135
272
172
112
150
203
150
112
115
123
208
208
123
167
150
207
208
136
115
158
231
182
121
170
255
216
147
208
202
195
130
137
121
150
171
228
112
188
177
237
228
228
150
167
172
147
237
194
243
208
235
186
135
150
176
181
211
203
214
144
130
121
193
210
187
123
164
160
274
167
225
208
184
124
143
128
123
189
177
194
171
121
208
194
255
150
233
123
172
147
214
172
187
201
184
218
121
237
202
208
215
231
172
194
121
112
208
115
112
150
237
172
208
112
150
172
121
186
201
196
150
165
167
159
137
172
165
228
194
201
115
115
121
121
158
121
176
184
112
214
112
150
121
208
206
121
135
194
194
197
112
219
212
186
195
208
150
170
214
176
194
208
121
171
171
137
254
172
158
156
186
236
112
208
181
112
186
174
115
176
124
231
112
172
112
225
144
150
184
239
208
139
121
150
150
175
159
157
194
259
124
160
193
112
150
210
194
112
172
171
176
218
278
202
212
112
186
121
177
112
210
192
146
278
193
121
112
150
302
213
112
240
228
124
112
130
112
121
121
137
195
257
238
112
112
193
150
202
137
121
150
186
194
130
150
195
167
123
231
130
210
237
150
150
194
150
121
147
210
112
160
123
112
112
121
172
208
147
165
231
112
208
170
160
112
172
172
210
194
201
137
168
181
237
174
170
124
177
112
186
218
112
158
241
193
156
130
243
196
112
192
170
194
229
112
172
237
160
160
245
201
194
176
112
123
150
212
112
172
193
202
177
121
172
135
171
195
182
165
147
208
177
150
147
202
150
172
233
239
187
121
121
167
172
112
178
172
152
137
150
202
124
170
121
245
167
121
193
124
150
178
186
217
172
201
181
189
195
176
171
170
233
228
150
112
215
160
255
201
186
175
249
172
150
210
150
121
150
124
203
150
128
164
150
135
196
150
170
170
278
147
136
150
239
170
229
209
208
112
229
239
121
225
170
170
170
208
112
112
173
208
236
239
216
237
168
239
302
112
237
195
181
232
112
150
206
247
121
219
164
214
121
112
172
212
137
150
115
174
123
136
112
152
207
254
243
196
194
220
181
227
177
204
216
157
232
263
150
147
112
172
112
112
164
250
158
136
112
172
150
174
121
121
112
112
210
167
172
158
186
150
195
220
220
160
150
177
136
203
181
210
229
229
175
172
276
229
232
112
144
220
170
208
190
121
156
167
168
219
208
170
150
150
150
186
177
150
172
170
167
112
121
171
172
203
150
208
174
230
121
250
112
229
164
186
167
233
112
186
208
171
170
215
130
147
250
174
112
228
193
212
164
150
172
167
157
150
112
137
123
186
208
205
274
150
150
194
208
150
210
150
228
150
225
139
179
167
218
228
181
112
164
147
121
150
218
112
202
174
135
181
112
137
186
112
123
150
205
193
165
171
112
150
172
156
121
215
164
147
112
187
167
194
150
172
173
225
253
150
150
172
194
112
150
210
121
238
208
210
147
193
265
200
205
121
208
135
170
194
121
209
263
236
123
123
164
121
112
177
209
203
201
181
208
202
193
170
210
170
121
165
181
212
229
130
195
160
212
170
189
170
194
150
150
206
167
172
220
225
150
203
208
121
201
182
167
208
172
184
186
136
143
159
147
150
112
150
167
150
203
130
234
168
150
167
257
136
225
217
112
181
112
165
112
150
150
164
112
247
237
147
208
210
214
187
121
220
161
147
194
152
165
123
186
194
112
210
228
112
121
167
123
121
208
167
123
147
194
234
150
208
112
243
150
150
150
158
156
112
175
112
212
172
226
181
203
192
135
271
194
195
167
123
150
165
186
229
211
121
208
172
135
121
194
176
150
208
112
123
226
123
171
207
112
152
171
226
115
193
218
187
222
212
121
121
112
231
165
170
167
150
210
121
150
225
184
172
112
112
150
233
150
219
170
121
198
158
121
150
112
199
112
131
137
150
176
193
121
203
186
176
150
156
233
150
228
175
172
158
174
159
112
112
266
201
226
176
112
112
121
177
192
150
165
123
193
123
176
181
150
150
176
167
121
135
159
112
175
186
208
203
195
150
150
158
225
121
276
170
112
150
150
150
208
170
150
147
158
150
195
131
208
181
203
195
160
150
219
135
219
160
194
121
218
112
208
228
112
135
219
121
237
150
234
171
208
150
228
194
143
208
158
112
192
165
198
123
147
112
158
252
192
150
211
128
147
137
150
160
112
150
165
150
135
112
150
239
240
208
203
147
208
115
171
237
121
123
194
168
228
215
112
260
121
208
123
201
137
271
150
171
123
220
177
181
150
208
208
123
193
112
184
170
123
200
195
147
150
167
112
202
121
156
170
172
160
112
202
172
228
194
137
237
150
220
121
161
250
150
208
238
112
121
161
207
158
112
234
167
172
181
239
170
208
115
137
174
112
255
208
121
165
212
135
254
181
181
158
124
195
112
147
176
150
170
208
170
186
156
112
217
156
203
231
225
168
187
165
150
150
209
207
174
150
150
150
172
112
156
214
201
204
210
215
150
150
121
121
144
130
181
170
205
112
208
263
152
137
175
137
202
171
176
135
135
171
226
203
165
167
193
170
115
187
121
208
135
236
158
147
186
167
139
210
257
237
172
150
150
170
192
195
236
121
121
202
165
218
123
165
150
192
156
171
171
208
121
150
265
206
229
174
240
158
174
150
198
228
208
156
181
150
177
112
121
158
150
112
150
172
208
121
212
150
167
128
160
250
147
267
112
244
112
172
150
175
121
245
210
172
146
228
221
181
201
150
218
157
302
167
232
201
135
217
123
170
219
238
172
112
135
243
121
196
136
150
112
143
164
170
167
150
208
212
112
152
115
121
175
124
131
246
112
150
219
156
195
172
150
210
112
115
170
135
112
172
208
228
208
121
186
123
194
194
167
250
218
177
130
208
150
167
170
115
150
123
150
187
171
121
254
202
158
193
150
137
112
150
167
234
214
112
204
123
172
158
239
208
208
150
123
263
195
219
226
194
195
137
172
164
150
172
225
211
158
112
112
194
150
165
264
175
121
210
193
202
150
172
150
176
192
121
128
112
176
208
205
150
167
218
177
181
170
172
150
193
202
150
208
112
184
208
171
302
136
168
159
136
121
150
253
137
255
201
160
150
150
187
135
167
172
181
112
121
112
150
168
170
237
150
181
165
150
123
150
112
121
112
193
112
194
130
112
121
150
112
150
208
121
150
150
228
191
176
189
212
161
171
121
121
199
156
176
121
150
150
203
218
121
121
150
193
121
189
167
202
208
216
157
128
208
150
297
241
237
226
170
137
208
121
193
187
170
237
267
220
208
228
209
167
150
150
150
236
167
112
263
136
124
112
195
272
226
176
208
112
187
159
150
112
112
115
112
121
244
193
282
147
179
174
115
150
201
175
232
302
144
121
226
208
123
228
170
297
112
121
121
181
150
121
171
112
217
150
144
171
121
210
115
112
171
194
194
202
156
176
230
167
150
208
192
170
170
187
165
302
112
238
190
268
115
170
167
171
215
228
112
208
112
147
132
175
150
123
112
121
171
208
174
112
150
210
181
302
172
269
201
164
231
167
121
228
121
189
228
219
172
213
147
112
237
243
150
194
112
167
193
210
210
204
175
128
112
195
184
172
136
112
121
250
231
194
150
170
172
150
121
187
205
208
152
187
208
123
187
121
150
172
232
207
156
121
208
202
150
187
112
150
208
276
168
194
202
218
194
208
165
121
112
144
150
228
342
219
167
164
150
121
150
115
112
276
167
179
175
203
225
194
137
193
231
150
121
150
241
150
150
124
170
150
170
167
206
150
150
201
150
172
136
150
150
158
181
208
193
203
210
160
149
243
150
112
227
174
228
171
201
171
243
208
112
172
208
112
112
158
171
150
170
171
208
172
193
208
164
226
240
203
212
220
123
172
204
265
212
225
194
278
231
135
192
225
150
250
220
171
112
302
172
237
124
216
245
128
112
205
218
225
197
187
152
170
171
282
165
220
193
112
178
206
130
182
195
220
112
243
112
112
291
128
208
136
229
237
137
187
165
137
167
177
201
156
165
186
141
146
187
135
150
124
223
170
112
121
170
212
172
150
256
167
160
150
135
150
167
187
112
172
112
112
172
136
161
194
172
267
228
172
136
136
121
208
144
123
255
186
187
137
121
156
124
136
172
208
224
112
158
150
171
159
112
112
193
137
217
210
194
212
200
196
112
150
228
235
273
181
168
130
229
150
150
121
234
217
234
150
150
207
208
159
115
176
195
237
172
207
181
210
136
182
194
211
258
250
219
186
209
121
150
193
165
176
156
195
150
209
115
112
181
172
208
156
208
150
150
184
121
167
175
208
194
150
150
186
177
121
150
175
150
165
174
121
112
112
172
241
160
210
136
165
186
165
150
255
143
171
171
172
207
208
208
172
150
259
187
135
193
208
150
167
195
112
195
121
171
121
198
201
112
150
263
208
210
228
158
121
121
202
201
172
232
172
135
194
136
203
181
150
195
112
150
123
150
207
241
150
254
147
112
174
174
181
177
150
193
256
217
150
178
121
255
177
160
171
168
199
150
112
150
217
219
177
136
205
239
165
181
171
150
170
121
167
179
193
172
136
167
170
135
270
121
112
112
150
194
189
121
121
217
229
121
167
172
208
136
237
150
239
176
172
244
121
186
217
172
150
112
172
172
150
150
264
228
176
150
164
219
167
170
219
121
150
192
159
232
172
175
192
144
150
185
178
210
202
112
202
205
228
181
150
128
195
150
208
121
135
231
147
175
137
150
239
150
123
181
199
112
123
225
172
167
150
187
121
143
121
137
150
176
165
193
158
135
237
204
150
175
165
217
228
210
201
150
205
150
121
147
172
187
135
187
217
179
121
176
210
112
212
158
229
115
278
112
115
171
176
121
194
121
177
193
219
150
192
181
121
208
195
123
121
202
171
172
186
171
231
165
164
194
136
167
123
210
123
228
164
172
210
143
137
164
150
147
160
130
121
150
150
208
168
121
167
302
150
172
150
176
219
124
237
196
121
121
237
190
208
208
239
112
238
137
217
164
170
176
181
121
250
208
147
150
135
167
121
234
183
150
164
150
176
150
223
139
121
123
135
213
164
228
237
203
121
186
210
150
231
146
165
208
203
112
198
123
186
137
171
143
184
150
121
177
239
232
208
175
112
250
176
112
164
181
143
186
171
112
192
212
121
150
112
147
239
174
157
171
121
258
167
121
124
263
201
228
124
238
202
281
231
170
193
167
205
172
137
239
259
170
208
208
130
203
193
167
150
228
121
112
171
218
150
112
165
170
150
115
172
208
130
150
193
121
170
112
137
167
211
172
161
171
167
175
225
218
237
267
276
150
121
164
243
150
121
208
179
164
219
208
167
247
195
150
193
212
150
165
170
121
137
136
150
195
123
202
136
164
210
276
170
177
172
203
137
167
219
143
186
194
177
181
123
235
176
112
172
187
208
112
229
261
171
112
112
178
168
205
208
171
227
237
220
165
170
150
190
204
150
205
179
121
150
212
181
186
147
121
223
208
121
170
228
160
181
166
144
184
205
115
270
217
172
176
194
112
174
239
112
170
160
205
208
230
112
187
121
218
174
170
170
170
261
121
112
121
258
187
226
194
170
121
208
150
135
231
182
217
167
150
160
223
112
276
143
128
208
229
225
164
171
205
210
112
159
121
189
208
112
225
186
121
216
203
150
168
168
159
178
121
160
123
206
170
150
179
208
228
112
136
115
112
210
171
255
172
228
172
150
299
121
167
176
136
164
171
237
150
165
208
164
150
150
150
167
207
278
233
208
112
127
150
167
112
150
208
143
177
171
112
165
170
218
206
166
208
150
150
227
181
165
187
150
253
121
112
171
168
227
212
234
112
214
123
150
121
112
112
195
208
208
123
208
186
230
228
150
150
112
137
171
150
194
174
204
128
121
112
150
147
150
158
208
208
164
123
147
112
172
171
150
189
112
121
225
150
121
172
186
170
167
150
212
228
121
201
137
112
112
167
174
195
176
150
208
235
123
121
226
195
150
112
251
121
171
229
112
150
217
201
210
167
157
202
186
121
239
177
150
121
182
172
172
217
228
228
153
158
177
112
150
181
167
212
112
244
194
136
239
150
172
193
136
194
171
237
123
228
160
112
182
150
112
147
150
121
194
237
177
167
124
123
172
115
121
112
170
222
171
193
212
167
212
167
187
160
195
265
208
172
147
130
172
172
195
112
219
136
150
228
210
264
123
213
150
196
156
171
229
176
143
164
186
184
150
121
121
115
202
144
165
165
135
112
171
121
147
121
218
237
121
202
115
177
165
121
112
208
159
181
202
185
190
181
242
170
208
150
150
177
121
112
210
150
150
161
171
112
121
112
172
197
121
112
150
124
121
147
136
240
150
112
150
177
216
164
224
208
176
112
201
244
150
172
150
123
172
195
235
175
236
208
231
121
170
208
158
112
193
239
112
201
156
150
208
167
124
276
208
204
165
208
172
136
150
135
195
272
208
167
167
228
208
170
181
136
181
165
171
112
150
112
193
121
175
172
223
150
172
150
202
234
139
193
171
208
243
208
187
150
136
193
112
112
267
240
150
174
184
212
231
208
157
193
121
121
197
186
171
124
150
236
121
208
162
213
179
204
172
185
194
228
112
208
181
150
150
171
248
167
229
225
205
112
112
121
187
112
147
167
212
202
150
121
215
250
159
121
203
250
112
172
136
121
112
195
176
124
176
208
152
208
121
171
167
150
206
189
158
150
150
177
112
181
145
112
194
225
121
112
150
150
137
121
152
172
181
190
194
208
159
177
121
150
194
229
208
203
150
172
112
150
147
244
167
193
208
181
170
208
218
278
164
213
228
150
124
112
112
208
155
235
208
208
164
195
209
171
208
210
208
121
150
168
112
208
195
147
179
145
208
202
112
207
164
150
241
177
201
123
203
136
156
167
150
165
121
121
171
186
150
158
228
213
115
112
167
195
176
112
201
206
181
130
137
195
137
150
112
152
167
208
208
167
257
136
194
150
150
237
201
135
165
171
164
157
121
228
121
176
137
208
137
208
137
170
150
167
280
208
192
160
165
121
150
233
170
165
112
150
150
218
160
123
156
123
239
158
168
170
150
177
208
234
170
150
112
112
181
201
215
186
152
208
115
181
247
195
167
176
170
219
194
208
178
172
172
150
203
156
150
195
208
172
121
236
112
171
123
150
181
233
208
115
150
147
161
195
136
176
147
205
167
164
228
193
175
208
147
170
152
121
178
193
150
187
181
174
193
150
150
244
187
123
121
157
152
150
202
226
181
121
193
216
181
158
202
112
199
130
112
197
208
195
112
212
255
121
186
208
196
224
162
172
121
177
157
177
112
112
130
189
212
150
161
259
196
193
237
135
121
172
167
150
231
160
121
250
171
176
174
235
167
150
150
196
152
121
170
250
176
150
150
121
302
112
187
234
228
167
169
112
150
147
207
172
187
167
121
297
176
187
208
167
200
170
227
202
121
258
177
143
176
210
240
289
152
150
112
161
150
150
234
170
223
172
194
150
160
176
147
228
172
136
150
147
112
194
121
192
156
170
167
121
150
208
187
259
208
121
225
165
123
112
194
158
231
167
112
176
208
172
121
195
193
239
208
212
158
124
237
214
239
233
131
123
156
165
130
250
176
150
150
121
135
192
176
171
255
172
112
137
112
170
225
167
150
150
121
112
147
194
228
195
164
112
121
165
171
210
121
159
220
181
171
121
245
121
192
252
121
228
181
112
112
193
121
112
167
192
228
150
194
172
219
239
165
150
206
172
112
210
194
172
233
112
150
234
208
187
186
156
185
208
121
165
193
170
165
121
121
112
225
123
201
112
112
201
210
201
112
177
208
172
112
172
210
274
128
170
181
150
206
150
123
209
159
171
121
248
226
250
194
201
158
146
150
207
244
150
150
123
195
208
181
157
150
150
168
186
218
112
136
150
136
210
136
112
136
112
231
228
150
167
220
254
203
150
150
215
167
208
208
208
112
150
167
171
205
172
112
165
121
158
201
241
194
176
259
218
201
177
156
163
112
150
115
165
150
156
176
187
147
136
237
219
121
156
121
208
172
115
150
213
150
228
150
123
121
112
121
112
150
201
226
212
194
208
152
158
112
146
115
123
184
210
112
150
205
150
186
219
112
172
156
177
165
135
175
121
194
237
128
228
207
150
186
172
212
228
176
181
136
147
144
112
176
139
193
112
170
229
121
121
112
112
121
112
176
208
112
176
137
272
115
121
177
225
157
150
231
147
112
206
186
202
195
112
112
164
203
121
160
228
186
135
112
209
170
112
136
207
225
219
172
194
193
171
231
170
150
171
172
270
253
123
238
147
239
172
195
175
167
121
193
121
192
123
203
174
192
164
208
208
173
112
112
202
176
239
195
112
176
200
208
150
181
172
210
178
170
244
167
177
159
124
176
208
177
179
121
170
112
232
202
171
193
121
171
196
229
192
220
136
112
121
179
215
137
150
205
121
164
172
203
172
112
208
181
137
174
176
150
202
264
164
192
112
112
218
130
175
121
136
194
170
170
208
112
208
159
150
112
146
201
241
187
121
172
176
208
215
172
205
187
181
195
181
150
220
179
158
123
212
167
112
167
170
112
150
203
130
150
190
203
112
255
177
150
147
152
172
121
170
181
216
193
112
201
208
147
194
150
208
205
290
121
195
184
208
121
121
160
202
121
123
150
112
276
112
157
278
201
128
167
194
231
130
234
112
171
167
275
194
150
181
159
135
239
121
186
193
150
210
121
171
263
208
163
196
170
168
186
172
150
171
170
216
236
208
170
163
186
134
160
181
208
240
167
177
208
112
121
121
240
236
208
225
281
187
172
167
115
152
135
194
112
128
212
208
145
193
170
123
124
170
172
150
196
167
121
170
237
193
136
121
218
270
171
130
137
208
170
210
150
211
212
135
131
194
172
162
121
219
112
150
144
150
136
181
150
203
150
172
208
193
172
112
208
236
215
193
220
115
164
171
112
112
192
121
163
150
173
150
112
179
172
167
167
208
121
194
208
175
212
136
186
208
193
165
244
193
136
208
161
112
170
112
195
228
121
112
112
150
189
172
233
150
186
121
228
112
167
237
121
150
172
186
162
168
121
172
265
193
152
221
112
176
121
150
150
121
226
158
208
186
172
137
239
172
112
171
150
124
112
123
193
160
194
220
212
150
176
112
187
201
124
135
167
150
172
208
170
150
212
112
181
115
121
121
112
172
137
186
208
225
121
137
123
121
171
186
112
170
174
181
164
171
197
277
150
207
205
208
150
150
150
170
176
143
112
189
150
184
170
115
181
170
150
235
193
170
170
230
121
172
150
167
179
150
260
194
170
171
164
112
210
209
272
208
202
121
223
233
210
124
171
212
237
136
112
194
186
220
150
115
175
165
121
195
150
208
208
205
267
167
112
202
112
135
121
112
194
150
208
241
271
171
228
170
150
208
208
123
112
137
112
237
150
158
186
230
150
135
190
208
135
212
159
112
121
193
167
121
174
232
179
182
135
240
176
112
170
194
205
206
172
150
208
195
130
195
112
323
174
112
112
208
203
208
156
123
112
121
276
202
178
170
150
176
112
193
211
187
172
225
172
264
234
150
208
194
171
167
150
121
192
121
194
192
201
112
276
123
201
172
112
167
217
112
135
112
121
225
150
164
228
150
112
150
194
150
210
229
181
266
121
232
137
121
112
123
208
195
150
121
115
150
255
139
170
226
165
171
150
170
167
124
172
190
217
150
152
112
112
188
212
202
150
121
170
128
160
216
208
150
274
231
112
210
167
210
208
231
150
225
208
172
174
195
195
226
181
121
203
171
121
160
164
170
157
196
150
170
237
179
210
192
164
166
228
139
195
187
135
208
112
171
208
170
176
165
186
112
229
206
167
232
208
158
202
229
186
170
217
239
302
112
143
181
208
170
137
220
150
230
112
171
123
250
150
190
150
167
210
195
165
181
174
232
150
208
150
232
252
121
250
172
202
130
112
186
150
171
115
167
167
121
150
147
150
207
176
172
190
172
258
121
228
171
121
205
150
229
166
181
121
172
193
112
228
121
121
167
123
201
112
205
239
289
177
123
147
171
217
158
192
121
255
115
178
150
121
112
150
167
121
186
198
121
112
176
168
225
112
150
225
219
150
150
167
146
220
202
112
112
172
137
195
150
194
121
181
189
150
187
121
167
150
202
121
211
172
217
112
172
186
167
150
130
121
172
121
165
135
150
202
255
136
174
219
230
208
112
147
208
208
161
121
199
112
144
208
232
147
178
112
165
181
158
209
112
202
212
231
112
167
121
128
124
192
150
170
218
270
223
175
158
121
167
171
218
253
237
208
112
150
171
164
263
115
176
112
194
181
112
137
170
147
172
175
171
146
172
168
176
150
164
192
147
171
163
172
231
150
302
194
212
137
150
192
150
255
172
150
203
179
123
150
178
240
172
167
121
219
144
177
210
238
172
115
186
123
202
173
274
223
167
165
175
208
146
174
211
229
195
167
150
172
135
232
167
187
136
177
228
302
181
267
150
217
170
297
124
112
121
150
150
112
181
219
175
147
112
250
150
121
121
211
203
170
150
187
272
155
112
207
225
240
123
137
147
194
219
175
228
225
172
186
195
158
136
182
150
121
167
255
150
172
112
208
200
214
170
150
206
205
196
136
121
170
168
112
208
112
178
176
239
170
207
150
171
208
123
172
123
189
147
136
208
121
112
194
208
206
112
218
164
230
208
156
174
150
208
147
278
121
229
150
137
172
181
231
237
167
172
244
165
171
112
135
202
150
176
162
112
150
175
179
205
181
150
208
150
203
167
181
150
150
156
147
150
171
121
172
213
170
112
112
150
220
121
281
121
170
203
172
223
208
165
181
215
231
216
227
263
112
167
172
171
170
219
121
220
121
139
176
177
156
208
195
112
243
150
202
112
164
255
208
150
250
128
165
208
150
244
150
207
136
165
171
194
158
168
263
212
112
253
263
208
208
183
150
171
167
172
209
201
150
150
150
208
170
150
158
238
172
158
147
150
121
123
276
195
210
181
112
164
193
223
167
174
164
210
121
150
165
187
172
195
137
194
258
160
158
208
128
150
147
213
233
202
123
121
172
270
181
121
240
121
193
150
227
156
152
164
193
150
172
215
181
186
253
135
112
206
137
150
185
112
215
150
172
174
123
165
168
136
170
167
174
170
240
233
171
199
130
115
208
165
123
135
150
150
121
212
195
176
208
231
167
128
112
172
144
112
212
255
187
150
225
235
172
121
194
112
121
250
284
204
208
208
156
213
115
174
135
171
201
150
112
150
163
167
239
124
112
218
176
167
170
276
207
121
170
150
225
135
196
234
136
115
174
150
144
195
150
172
112
150
194
226
180
121
133
190
150
171
112
228
112
208
232
216
255
302
123
212
157
123
205
112
217
173
262
247
172
224
150
172
121
202
165
143
264
150
136
121
121
186
156
112
147
112
150
255
181
135
147
112
172
115
150
229
228
121
195
172
123
194
112
172
112
128
112
213
218
192
121
171
136
157
165
150
233
112
121
210
194
121
194
195
171
159
159
206
112
256
147
170
121
112
150
237
170
167
150
121
208
255
170
208
165
227
144
112
115
170
239
112
172
174
207
137
201
233
121
150
150
112
150
241
158
158
228
229
193
171
210
194
150
184
227
123
123
215
150
171
162
112
208
210
136
156
203
195
160
228
150
202
150
136
206
150
240
165
214
187
123
173
157
146
195
121
121
246
135
203
228
112
152
250
128
208
157
217
112
223
207
112
150
172
167
281
123
150
112
229
217
165
115
170
150
192
212
135
161
194
158
121
124
212
168
150
121
187
240
208
231
241
171
159
201
167
274
121
229
135
299
170
164
219
241
196
123
150
135
112
210
121
168
195
150
121
255
150
170
205
228
121
181
172
202
207
187
184
137
186
220
150
136
163
208
195
135
135
193
218
137
171
150
150
276
158
112
176
219
124
237
147
121
121
208
181
193
243
136
124
150
202
208
225
171
222
147
150
237
112
170
234
150
150
186
193
150
231
196
201
112
165
235
172
121
231
112
215
225
171
121
167
170
224
233
193
196
225
132
158
121
201
219
176
121
167
159
186
209
112
112
171
256
208
164
165
165
112
236
170
250
163
182
172
121
192
139
121
186
228
233
196
135
123
208
156
123
208
228
226
137
217
112
176
176
135
147
124
208
179
150
228
167
228
112
121
209
176
255
136
112
123
158
202
201
243
217
150
167
209
112
147
121
216
165
220
202
225
187
150
229
192
121
228
208
150
164
211
178
187
147
150
183
123
150
160
112
170
220
112
192
187
172
208
121
112
235
124
181
121
255
112
160
147
150
121
121
124
302
171
177
234
202
172
112
181
186
207
228
213
112
146
186
150
208
128
201
150
212
212
121
164
123
194
215
167
213
121
171
136
165
177
174
204
150
208
167
238
208
167
239
255
195
181
121
150
205
170
121
237
181
121
121
158
150
186
134
170
168
147
150
181
147
112
186
190
178
250
250
210
172
121
172
218
154
219
235
121
194
172
112
244
135
150
112
112
167
171
201
237
226
194
254
186
233
223
123
210
167
208
112
135
186
204
208
112
112
115
143
165
223
186
267
187
112
233
143
208
112
121
229
137
161
112
123
163
201
297
123
225
121
225
157
112
147
176
150
230
112
216
170
213
163
238
150
185
203
194
208
164
173
194
112
217
208
112
235
150
202
137
150
112
208
112
150
213
216
150
170
208
121
230
194
172
215
250
207
220
215
172
194
208
150
186
172
150
201
130
203
219
112
123
121
186
172
220
232
174
137
193
171
201
136
208
174
179
201
172
192
238
150
172
121
208
201
150
213
144
175
170
187
112
193
112
168
228
137
194
123
208
130
175
208
152
150
160
208
238
177
124
193
115
186
172
256
112
168
137
177
153
257
225
240
211
214
215
201
143
150
150
150
171
115
121
170
123
164
195
112
255
144
158
130
121
135
167
150
147
186
220
172
150
170
201
194
172
171
233
121
243
121
181
121
181
121
228
136
136
112
121
203
187
176
121
302
147
208
212
228
137
208
208
247
172
112
208
121
150
167
167
112
135
195
208
150
150
112
121
176
181
208
150
220
160
217
112
150
208
208
150
112
186
209
121
150
217
112
147
212
205
167
172
217
112
137
214
179
195
208
130
167
201
243
217
172
177
208
185
232
121
150
123
171
250
194
112
115
176
112
255
232
121
237
210
150
184
150
123
150
147
172
181
205
187
158
165
160
219
218
121
112
208
150
135
232
150
112
174
112
177
187
163
137
215
158
165
263
112
121
150
167
150
172
229
175
150
197
112
158
165
192
192
210
158
252
202
121
255
193
150
112
150
205
165
177
150
121
170
255
171
112
186
158
165
170
171
199
181
187
165
112
193
221
159
121
190
150
150
164
210
135
231
112
147
115
217
205
150
121
135
112
172
199
204
150
150
172
186
170
121
171
121
205
170
147
115
171
237
187
187
194
167
237
171
112
216
210
218
172
220
123
195
123
150
144
121
201
208
150
150
208
156
112
156
115
176
168
186
208
189
146
195
239
115
172
112
208
171
212
123
143
170
123
159
208
177
228
255
167
121
121
181
137
171
203
150
240
165
265
181
159
170
204
186
187
194
228
137
212
121
112
187
150
121
218
112
186
231
194
160
229
171
256
192
112
121
202
174
208
121
123
172
181
254
170
172
176
172
214
115
112
174
232
177
208
167
172
172
260
121
243
229
150
200
121
150
121
150
174
193
150
195
210
172
174
186
208
150
115
170
167
112
172
112
172
255
198
210
165
201
121
112
171
112
135
232
135
150
278
172
168
150
193
112
242
137
180
159
237
171
150
164
115
112
192
181
272
231
137
186
170
163
186
112
201
229
201
150
181
202
150
121
200
177
168
213
229
263
187
123
141
225
171
124
112
137
158
135
200
157
261
128
239
220
137
112
220
205
121
255
121
150
170
187
160
208
208
237
208
170
112
150
121
192
121
177
228
208
208
135
146
194
150
199
150
172
123
167
150
209
196
150
225
229
212
124
150
165
219
165
203
136
270
150
239
165
171
121
176
219
146
121
121
172
175
263
147
123
209
204
112
208
121
168
130
165
150
208
172
250
170
274
171
150
210
170
121
112
206
156
187
170
190
150
167
167
150
210
124
209
150
112
205
150
112
172
121
123
177
213
212
242
112
170
185
130
150
150
121
136
193
124
194
302
123
181
228
208
243
167
212
208
228
264
130
160
185
226
170
137
177
136
124
121
147
121
212
258
165
144
112
123
176
194
112
228
159
137
181
205
202
112
137
208
219
165
150
112
150
219
187
236
176
179
205
192
170
112
165
208
159
210
168
160
130
150
196
276
152
258
137
210
202
184
164
195
187
159
281
123
150
197
121
115
130
184
237
137
177
150
172
112
170
170
208
170
220
121
214
241
172
170
194
186
212
193
186
187
249
159
253
121
212
172
121
121
139
167
170
150
170
208
164
222
112
136
124
112
165
123
217
267
231
150
199
212
123
124
237
174
231
150
209
258
176
121
182
176
168
181
177
194
215
121
121
168
236
150
171
186
121
178
165
150
228
150
302
121
112
235
302
195
159
150
167
135
235
208
150
164
150
187
170
137
195
167
123
147
240
294
195
210
194
121
246
245
112
213
167
202
112
276
189
258
232
195
112
124
147
112
160
150
150
205
217
186
167
188
161
220
121
112
177
219
193
164
208
174
203
255
212
150
121
115
181
112
167
150
152
302
160
121
196
156
150
167
136
195
121
150
208
234
210
150
136
208
174
194
112
165
150
158
112
172
112
136
121
243
150
130
165
202
252
167
212
192
253
112
175
201
165
181
181
220
179
168
172
147
164
112
150
150
123
172
237
201
121
240
131
247
112
170
186
112
172
228
112
121
167
112
170
121
208
112
259
171
208
232
201
176
143
121
193
160
164
223
253
181
208
172
177
226
121
171
112
150
121
150
203
167
112
208
121
121
170
171
231
124
208
206
250
112
193
231
121
175
212
193
150
167
228
167
219
201
150
207
112
112
170
112
158
208
203
194
121
186
170
147
121
181
150
158
205
181
158
208
184
150
208
172
160
123
174
112
277
150
208
241
208
157
150
115
170
237
194
199
165
121
112
150
170
219
112
123
112
123
193
202
165
123
135
165
222
112
121
202
263
112
228
164
168
112
217
115
136
150
192
112
176
172
121
150
167
233
123
168
261
150
121
167
112
234
213
112
231
168
208
219
150
121
192
112
216
157
170
220
112
121
194
193
243
176
150
121
121
165
219
179
178
186
302
228
137
211
210
150
199
167
181
150
171
208
190
112
213
123
236
150
165
163
202
172
160
150
279
170
193
137
150
185
208
112
210
167
225
172
150
195
229
237
165
135
150
208
150
147
167
276
193
164
127
165
124
208
208
123
177
226
150
205
172
165
205
211
172
146
254
208
172
150
112
208
150
216
181
228
244
135
217
121
207
161
237
194
219
208
171
124
251
121
220
223
123
123
147
147
181
172
177
156
170
250
219
215
231
121
134
112
150
205
112
172
278
121
150
136
121
276
150
164
121
121
170
181
207
112
208
228
218
124
121
232
150
121
165
184
195
208
112
121
167
243
225
156
228
272
172
121
202
194
165
172
174
121
150
203
167
112
160
228
135
195
208
302
174
233
189
235
177
112
150
208
208
168
194
165
171
123
215
212
171
121
202
176
241
257
168
121
228
193
177
130
172
232
228
278
112
195
121
168
208
150
220
184
171
167
228
135
170
195
165
181
215
175
150
167
203
279
150
121
212
137
299
221
176
187
311
189
208
167
194
177
112
170
121
175
112
209
170
232
186
202
181
143
222
171
186
121
150
226
220
121
167
223
187
186
202
230
165
229
121
186
243
130
228
203
164
255
137
210
112
174
150
215
170
165
150
170
254
222
176
160
150
170
164
121
297
244
240
202
150
112
172
208
205
190
121
115
150
170
115
186
170
172
112
112
219
161
172
112
202
150
121
112
150
226
172
186
207
203
200
247
178
167
165
167
112
170
172
112
198
150
164
214
202
194
231
184
176
112
225
150
231
170
176
165
170
121
221
277
171
158
198
130
147
213
150
159
137
121
112
150
112
146
150
150
208
121
197
186
157
150
170
195
192
207
297
150
167
167
170
171
146
112
177
187
150
165
121
115
177
112
121
231
112
150
186
167
112
135
123
143
123
187
172
115
156
208
124
194
172
123
225
150
186
152
219
170
112
112
121
208
172
195
202
112
187
150
199
121
115
202
168
172
237
210
228
170
147
150
112
121
121
112
208
239
112
128
150
238
150
150
219
136
220
267
123
112
158
174
112
121
150
204
172
164
175
172
179
170
165
168
165
205
172
115
137
121
228
112
112
176
245
207
150
255
150
121
176
215
186
112
228
221
208
112
150
124
112
150
253
212
172
150
121
112
158
186
228
167
150
112
201
219
123
241
162
131
208
233
179
115
165
208
195
112
208
170
121
221
246
152
167
171
202
170
201
181
272
212
218
150
150
236
177
150
150
124
165
121
167
121
121
193
171
121
181
150
217
228
166
172
237
121
150
143
167
173
176
210
112
150
112
112
112
150
168
170
171
278
121
172
193
210
188
195
123
194
150
112
121
250
112
167
170
183
121
176
189
143
143
210
194
150
112
244
121
135
208
165
170
208
112
150
137
194
128
150
181
217
130
209
219
112
150
150
128
112
170
150
121
112
159
217
237
171
121
194
212
150
170
171
121
208
128
150
112
121
136
121
167
152
210
112
228
201
150
172
214
233
121
210
211
182
150
112
209
124
164
217
181
189
172
123
216
172
150
121
112
172
187
121
171
270
203
172
216
186
172
112
193
150
150
208
150
121
123
181
172
123
218
150
167
172
112
121
121
223
208
112
174
208
179
171
121
244
152
112
150
150
112
121
194
150
250
226
193
208
167
112
208
150
123
167
171
165
208
171
212
178
172
136
150
115
135
177
150
156
234
112
182
170
121
255
147
165
160
205
112
147
172
172
150
172
176
201
192
137
255
150
172
171
177
177
168
147
147
150
137
115
204
186
112
112
112
112
121
176
172
205
349
201
170
212
213
123
189
208
137
205
208
150
208
201
174
112
218
217
165
121
202
240
212
160
143
112
167
167
172
193
150
176
210
136
188
186
213
137
150
112
172
174
203
208
121
167
194
215
150
244
193
112
150
170
167
147
208
204
115
210
147
177
187
206
188
208
301
152
240
228
233
137
233
172
210
112
172
112
172
112
150
112
165
198
208
193
172
196
205
150
194
208
150
150
159
209
123
215
112
150
181
165
145
150
121
152
160
195
264
115
172
201
265
217
123
211
204
210
150
186
238
215
176
112
115
165
167
112
147
235
121
208
208
172
202
210
231
150
175
123
224
232
165
112
195
264
150
170
226
193
247
208
112
195
171
172
150
121
219
171
264
127
201
150
267
208
121
201
228
112
112
112
208
121
112
130
150
136
215
213
150
260
171
172
156
193
231
147
176
172
194
208
226
123
112
112
230
112
237
170
112
147
135
167
150
158
218
232
228
167
172
194
156
171
209
156
208
181
159
112
135
229
203
112
150
112
172
139
225
115
121
218
135
210
177
219
155
172
172
208
208
159
123
174
112
150
177
232
194
137
121
232
150
115
112
147
203
150
150
196
176
121
302
112
246
150
112
112
172
208
145
128
217
135
227
239
203
172
152
172
208
186
208
112
164
177
172
210
194
115
160
136
121
112
150
201
115
150
164
123
150
194
170
170
121
208
136
195
250
192
150
205
170
167
228
123
115
207
193
171
123
212
205
176
123
248
160
172
217
137
196
194
255
115
130
227
150
182
164
112
177
240
181
228
170
171
172
194
161
195
194
196
150
170
175
195
112
225
206
167
150
209
235
172
112
150
150
150
218
123
160
112
152
112
208
172
186
121
212
220
164
208
211
233
220
150
150
137
274
181
112
175
243
202
168
164
170
115
171
135
112
172
112
121
152
167
137
171
202
150
184
121
182
150
121
123
171
244
164
228
170
265
152
210
150
208
171
233
150
112
150
193
207
205
170
190
150
181
156
174
210
218
112
112
193
121
252
150
255
240
171
165
170
219
167
150
167
167
181
194
112
194
156
249
167
124
150
150
144
181
181
150
161
220
183
208
150
150
255
194
170
172
150
194
176
203
158
264
112
186
123
144
209
192
226
187
176
112
207
168
150
208
112
131
208
123
171
121
192
167
123
112
150
150
176
242
164
121
121
170
150
172
176
203
130
216
208
302
263
167
121
112
150
121
171
147
135
167
121
176
229
239
208
208
171
123
112
150
128
172
121
123
165
112
167
143
150
136
112
121
167
159
219
156
225
150
170
217
255
202
208
225
208
121
121
181
213
112
123
225
112
150
112
176
176
176
146
201
181
187
121
112
165
165
121
143
115
150
112
121
147
124
196
228
192
150
112
121
205
237
150
164
234
150
264
172
165
112
150
135
203
228
177
215
150
208
186
194
181
150
112
207
170
123
228
187
150
193
150
231
220
187
192
167
186
171
225
121
153
121
186
112
172
112
150
228
167
229
121
187
112
112
172
121
165
136
194
187
150
208
112
171
270
150
112
196
150
174
150
115
158
167
171
289
172
150
196
229
147
135
136
164
112
201
157
112
121
181
201
121
194
208
243
189
181
225
208
112
176
150
194
112
208
150
172
123
167
171
208
171
184
123
150
171
112
150
112
121
150
193
192
150
156
187
167
164
230
172
150
150
228
164
172
135
172
237
124
208
176
170
172
167
194
172
112
175
135
193
229
165
112
176
157
121
172
231
123
208
263
121
218
235
150
112
121
150
234
263
208
205
259
150
233
152
150
219
112
237
135
240
112
112
170
193
123
187
124
237
171
121
112
171
274
112
181
173
197
195
121
150
147
168
112
177
208
257
175
221
192
231
112
150
121
144
112
136
225
112
187
208
123
121
207
115
150
168
205
228
230
162
152
147
121
186
121
150
231
256
231
208
150
226
150
158
171
195
208
214
150
177
137
177
167
121
171
176
243
121
207
147
112
171
212
124
207
182
229
208
150
223
163
187
170
237
136
186
150
193
150
208
214
150
121
236
195
150
112
130
165
136
121
208
150
160
208
123
208
121
150
181
172
112
112
160
121
208
180
112
170
112
171
112
150
135
121
181
215
181
172
193
112
123
144
212
158
186
152
186
124
137
112
201
202
150
115
121
136
175
123
168
147
176
228
184
238
194
208
112
179
228
136
137
112
208
191
210
121
171
194
210
150
112
212
237
208
136
165
181
239
214
135
136
176
194
229
208
208
182
181
121
176
182
193
172
112
112
175
172
150
144
170
135
172
164
229
121
193
112
194
240
187
112
112
150
159
123
150
201
150
186
150
209
112
162
167
150
193
218
150
168
135
220
112
181
150
112
150
202
121
112
167
176
145
112
208
121
192
228
150
229
220
168
195
194
174
195
121
219
112
112
209
147
276
167
112
224
172
215
178
179
150
226
192
147
123
243
123
123
123
143
220
212
195
172
158
150
136
240
112
208
165
250
112
225
150
195
294
136
171
218
121
189
150
194
137
112
150
167
150
208
170
164
172
228
160
209
172
176
194
150
121
167
240
213
150
121
166
201
250
121
167
278
181
115
220
187
195
112
112
112
143
150
251
172
176
161
150
182
167
181
185
121
150
195
208
208
164
205
255
192
208
202
112
205
187
112
245
115
121
112
150
150
150
124
193
167
152
123
170
147
170
143
205
194
179
217
208
228
196
170
123
235
195
227
257
186
228
123
208
159
176
232
229
171
164
297
160
150
158
239
135
150
112
121
194
187
150
190
228
150
227
181
112
158
150
147
170
112
208
225
208
156
150
112
208
176
208
219
171
158
147
228
164
184
156
112
212
112
150
112
206
150
199
152
115
208
136
208
121
227
208
195
205
170
112
171
172
245
208
177
208
177
164
150
150
212
194
112
193
136
208
158
173
121
237
226
201
177
182
177
190
112
185
202
150
257
232
121
189
171
147
239
228
228
179
156
121
193
112
112
210
236
137
121
121
219
199
121
292
208
199
243
194
259
208
115
219
171
217
208
143
187
210
193
218
165
209
137
112
177
168
232
208
193
112
112
302
156
150
176
112
123
112
259
265
171
212
250
150
193
112
121
150
189
112
157
167
158
219
225
171
135
150
150
211
186
159
209
150
177
115
208
217
171
164
211
255
276
135
210
112
193
257
130
174
261
203
207
215
171
171
189
170
208
170
165
278
112
225
208
172
121
208
147
158
150
210
175
115
176
112
150
167
172
112
172
193
194
150
234
186
121
112
150
135
170
171
123
150
192
171
123
150
228
186
215
242
170
167
211
150
121
150
194
147
210
112
150
121
302
123
231
239
187
136
164
211
121
172
150
171
112
135
212
181
224
181
112
128
228
229
204
121
112
195
135
201
195
150
115
201
167
231
112
128
172
112
208
210
150
179
123
150
226
177
150
112
208
208
234
210
176
218
198
208
171
240
181
212
181
181
156
150
210
123
121
202
121
115
144
231
167
172
176
150
214
172
167
190
112
176
201
112
170
121
187
112
121
173
250
182
208
192
176
165
186
115
147
231
173
231
170
227
172
150
241
171
235
121
115
150
137
135
136
241
195
172
203
231
196
121
204
194
150
112
121
150
187
187
195
164
233
165
250
156
165
112
150
115
156
194
229
211
128
124
208
194
170
255
150
168
112
121
121
205
112
167
150
302
150
187
263
112
121
172
112
208
172
156
137
201
150
215
229
150
193
158
165
112
112
121
167
143
172
170
216
218
208
150
150
150
233
112
208
115
189
171
112
186
150
121
189
213
112
219
164
150
124
147
134
135
136
115
150
123
155
121
112
192
150
165
170
206
123
123
150
159
228
170
112
171
201
179
137
123
181
208
123
181
156
124
115
227
176
181
226
150
123
112
112
112
207
171
112
228
121
121
112
131
172
272
212
167
170
158
112
240
181
170
219
121
170
123
165
192
181
208
170
167
147
165
130
226
202
150
181
192
150
214
124
198
255
150
150
172
184
208
112
165
150
200
112
208
187
121
165
193
157
195
208
172
199
199
208
112
112
121
217
115
150
150
171
172
165
135
136
172
219
156
171
150
150
176
194
170
241
115
150
170
192
181
158
112
121
152
112
187
121
147
112
186
168
270
177
150
210
160
194
195
166
209
185
150
184
121
223
170
225
124
112
112
112
150
123
202
150
170
137
136
195
150
147
208
229
192
158
208
219
205
135
302
150
112
170
150
150
123
195
181
112
219
150
172
174
123
112
112
121
175
115
214
208
175
275
112
181
115
150
256
171
201
168
128
174
158
214
160
208
195
136
186
231
136
170
215
121
181
143
181
121
130
158
165
136
164
228
231
123
170
187
233
167
193
182
182
135
172
137
179
150
211
172
210
150
112
178
189
174
167
208
211
112
160
200
115
216
263
121
193
165
225
223
150
262
244
206
165
115
156
224
156
150
218
152
220
150
121
160
210
174
121
217
172
150
170
257
201
176
150
172
150
115
187
150
150
121
227
210
226
172
121
150
187
137
171
121
128
263
167
171
228
124
152
137
243
143
194
226
277
121
218
258
207
170
150
250
172
201
215
150
112
150
121
247
217
245
170
205
172
179
210
187
195
172
176
156
253
250
158
247
121
204
121
121
136
168
176
236
144
171
121
181
171
150
208
174
121
171
165
181
121
121
212
179
250
112
112
217
121
172
217
186
124
112
176
123
212
170
204
121
193
194
150
159
172
150
167
115
165
171
150
208
179
164
187
181
207
150
181
170
150
150
130
239
170
150
187
194
123
171
136
123
172
194
130
208
167
168
112
112
170
172
121
229
181
165
266
202
121
194
150
172
203
216
112
168
203
305
205
212
135
121
150
112
137
150
176
121
208
201
239
167
123
175
165
136
167
208
212
230
165
150
115
255
181
208
167
150
130
167
177
192
131
123
208
228
164
186
150
203
115
150
186
203
202
112
192
210
194
174
208
219
112
213
208
167
187
194
150
194
150
174
112
158
194
150
177
208
158
167
237
247
112
172
244
208
168
135
121
206
190
112
218
123
152
112
178
228
150
228
121
181
186
219
112
208
195
112
202
227
158
218
181
112
187
121
299
197
112
203
237
112
201
186
209
130
150
176
213
150
186
165
112
210
236
171
112
152
212
121
137
167
123
234
172
137
150
172
167
219
208
147
112
123
170
121
240
216
184
112
210
170
147
135
112
236
218
150
150
187
123
267
240
121
171
202
228
228
150
159
231
208
150
172
193
210
137
172
237
176
215
112
121
172
219
150
236
218
121
136
171
158
112
194
150
157
143
121
137
231
250
121
205
265
176
226
176
208
231
207
156
212
172
150
112
171
171
208
195
150
174
171
192
194
174
175
225
121
164
158
150
159
150
167
227
165
251
123
124
195
242
112
208
150
181
172
167
165
112
112
167
167
220
150
121
167
165
121
226
181
174
130
150
168
185
187
150
205
165
130
112
143
226
164
170
172
208
123
176
137
121
172
172
130
194
167
253
170
202
208
112
121
176
208
208
172
150
172
194
135
170
150
147
123
293
175
212
112
220
172
121
150
302
171
196
167
121
172
167
241
115
121
159
175
208
121
150
121
168
194
176
135
212
121
171
253
150
192
186
210
228
229
165
167
220
172
143
228
170
201
226
150
171
186
160
121
198
175
172
194
121
186
139
225
112
146
165
168
136
215
229
176
121
194
147
235
171
193
168
137
121
112
194
208
121
152
219
207
184
170
123
172
150
121
195
171
192
112
150
150
112
167
197
152
224
186
150
167
170
208
208
112
302
112
112
226
299
121
156
121
150
112
190
121
175
171
247
150
239
231
181
195
214
233
237
147
192
172
121
206
147
150
121
112
176
172
112
228
176
233
156
172
250
165
187
177
150
170
202
177
209
135
168
193
194
130
112
168
228
170
170
123
238
234
233
228
150
167
167
121
123
167
150
121
123
194
189
112
187
171
222
194
208
188
250
178
121
242
170
121
186
150
201
218
167
112
115
175
228
150
217
168
192
195
168
263
124
112
208
240
165
123
240
168
205
245
150
167
176
205
150
261
136
115
187
171
208
229
150
112
136
202
137
167
181
121
195
135
229
233
216
186
158
192
187
208
121
187
171
245
240
226
121
171
208
121
202
165
150
150
121
170
259
181
170
167
179
150
254
150
202
201
150
214
199
121
217
167
255
150
121
164
208
143
167
200
157
263
230
167
160
174
175
147
165
212
225
212
150
172
237
203
167
112
231
135
123
170
156
186
121
209
201
186
219
178
158
170
115
121
202
152
150
112
165
201
121
112
112
147
165
227
172
165
202
150
236
121
192
276
217
112
250
150
170
205
181
211
112
208
137
150
179
135
216
172
112
213
208
232
167
135
150
171
121
170
171
112
150
210
208
150
214
216
219
150
195
172
215
195
143
195
115
112
237
195
165
156
150
150
150
181
220
131
112
165
167
247
201
215
181
121
121
112
208
160
237
124
272
172
150
229
248
176
167
172
172
156
221
112
112
175
170
163
194
121
208
192
121
137
150
208
112
181
256
112
208
164
181
193
121
172
150
208
167
123
123
112
150
112
112
194
164
186
167
195
194
176
186
150
172
170
170
150
195
150
172
172
135
207
159
164
167
172
121
112
201
121
167
121
174
232
210
156
150
228
171
172
112
187
228
167
181
229
112
241
208
255
150
226
181
112
150
225
194
136
202
186
145
219
165
255
152
170
208
279
147
144
274
150
136
210
278
168
112
229
123
181
170
212
150
233
112
269
150
112
274
174
217
150
237
115
167
143
164
156
136
121
112
121
150
112
131
186
174
112
239
150
223
172
161
167
278
171
112
121
121
150
170
178
150
172
187
250
208
174
147
121
205
228
177
167
179
192
177
228
170
135
167
121
257
186
263
130
147
167
150
137
176
171
164
170
167
164
150
208
276
130
225
255
143
206
225
167
196
228
186
150
244
165
225
207
150
167
240
276
208
147
165
124
136
172
112
255
121
181
192
112
208
121
171
205
186
175
208
226
112
165
128
121
130
112
167
172
150
170
167
170
171
112
193
162
208
187
232
123
160
219
228
121
181
165
207
150
225
208
240
167
150
235
208
124
112
112
181
156
121
170
208
186
165
208
193
150
171
182
150
167
165
165
181
231
201
206
150
208
253
231
112
152
171
165
184
192
195
212
130
171
239
231
167
196
224
112
160
210
160
150
165
277
150
176
150
150
121
233
150
172
112
121
194
174
150
112
136
112
208
124
165
202
137
152
237
121
190
168
207
208
207
196
112
171
135
170
150
150
123
203
156
147
156
160
172
210
136
208
173
203
194
181
150
170
197
167
212
112
253
128
156
121
158
242
193
176
193
172
250
112
112
165
112
203
228
150
150
245
112
208
214
121
172
128
238
115
176
150
150
112
218
167
121
172
253
208
210
228
112
150
258
121
228
170
112
169
261
112
150
208
160
121
121
152
167
208
220
123
208
177
176
112
145
228
167
150
112
219
121
178
130
167
165
170
172
250
239
112
150
208
150
234
150
185
215
150
157
162
124
194
121
121
150
121
187
136
137
171
112
121
231
112
112
192
202
137
160
186
121
121
210
171
150
203
150
172
112
189
210
172
123
170
112
210
181
112
112
160
112
174
172
158
176
135
195
121
121
222
123
167
171
112
121
168
172
168
112
203
163
170
165
137
186
204
136
121
170
202
172
243
208
208
177
208
112
150
121
167
150
136
216
115
208
253
112
121
244
177
150
112
112
112
177
218
152
207
225
181
202
171
226
186
170
167
220
150
124
150
230
218
121
233
232
195
112
168
150
150
218
257
226
168
202
112
164
201
124
176
167
238
112
159
131
121
177
193
255
167
121
121
112
218
186
170
207
172
233
171
112
160
208
172
208
167
128
176
112
168
171
152
208
136
160
112
171
172
137
186
170
208
123
150
136
150
150
158
245
172
124
181
112
194
199
150
150
194
121
150
150
212
208
112
203
258
181
224
150
112
124
147
171
210
211
165
112
202
165
195
226
167
156
170
172
235
237
121
167
186
181
123
121
170
187
177
164
164
167
137
181
143
150
150
208
176
190
181
112
167
156
150
201
167
112
194
240
201
216
207
228
112
147
217
172
179
146
189
115
180
181
201
128
199
177
167
150
121
212
147
121
121
184
177
150
242
135
174
193
208
158
164
176
176
167
112
128
165
184
121
121
150
150
150
239
175
172
112
187
195
158
158
187
172
193
210
220
195
115
150
167
159
124
139
170
259
124
228
135
210
232
150
175
215
171
112
130
164
208
192
181
137
121
170
167
123
121
112
170
112
121
150
179
164
121
150
121
186
112
128
170
240
302
178
167
208
123
201
150
218
167
164
174
123
172
123
112
167
228
121
150
209
150
112
150
112
112
194
187
224
112
164
112
112
177
135
172
242
194
170
150
121
112
206
112
201
210
123
263
121
176
208
112
237
208
121
112
150
194
145
263
150
112
181
176
150
136
112
112
172
150
156
158
239
244
231
121
171
172
203
206
186
229
150
121
172
165
150
167
160
181
150
164
189
150
150
228
112
228
192
208
176
124
237
136
228
150
210
156
171
164
112
250
203
112
121
237
160
170
177
223
172
167
172
219
231
208
158
192
150
165
150
121
201
251
137
205
167
174
150
159
174
137
250
250
168
276
208
201
150
232
202
167
205
237
112
135
203
233
217
177
135
226
265
176
150
112
112
150
187
219
200
112
150
212
245
159
171
121
152
137
143
240
208
233
171
194
167
150
165
210
112
234
121
302
198
217
168
212
195
235
171
150
203
278
170
146
170
121
166
218
172
123
112
136
165
228
201
225
112
170
130
239
263
212
172
208
150
150
170
208
112
121
160
208
152
167
171
263
112
135
226
167
194
172
182
167
216
112
150
189
150
208
248
152
121
135
112
208
207
121
147
234
158
193
228
208
172
240
237
193
164
210
264
150
131
150
233
150
218
219
121
239
150
121
181
174
121
225
177
171
152
121
259
212
136
112
171
112
208
187
191
150
229
182
157
137
121
274
150
278
208
172
112
112
174
167
187
112
170
250
112
228
112
175
237
124
158
198
168
160
181
212
232
176
172
150
121
150
232
172
195
194
112
170
146
172
233
135
112
121
203
237
177
150
167
203
161
192
121
123
172
171
177
150
239
173
265
209
112
150
170
205
193
150
150
176
192
112
156
121
123
137
121
165
172
158
115
187
208
223
186
130
161
226
112
187
166
123
150
220
177
159
181
172
150
112
121
136
150
171
205
121
137
225
238
222
186
186
150
220
172
220
112
202
167
202
172
165
150
150
121
150
160
121
231
146
112
165
210
197
192
170
172
121
171
229
226
193
239
208
150
167
186
150
150
112
172
115
121
124
150
214
208
202
150
177
165
218
112
217
135
207
176
208
190
172
164
219
205
150
208
189
167
186
123
239
167
121
300
276
240
137
217
164
194
181
121
123
218
172
174
186
234
143
215
171
211
212
175
112
196
239
257
219
185
150
193
237
208
130
171
112
213
150
112
195
172
112
264
150
176
170
112
208
181
112
176
238
121
172
202
141
201
150
121
115
228
121
195
121
123
186
150
147
237
193
197
228
167
123
167
172
136
112
112
228
150
121
249
112
208
239
240
210
239
139
194
162
160
185
121
179
208
187
226
178
135
157
139
167
152
174
195
147
257
150
171
123
192
240
158
195
231
167
150
112
179
158
172
150
178
136
194
150
181
150
121
121
208
208
176
112
250
208
121
112
150
112
255
123
130
165
242
193
172
172
192
188
112
186
207
207
112
121
184
181
228
194
201
112
159
208
150
152
170
170
135
112
212
150
165
150
150
211
170
193
172
206
194
167
217
124
150
167
135
150
112
123
121
237
143
167
181
206
181
143
181
128
181
202
121
112
228
143
121
250
121
174
115
226
123
165
121
181
182
236
208
234
167
203
176
183
242
112
112
194
167
207
112
112
186
112
184
193
146
233
146
150
172
186
121
160
220
181
194
217
182
124
150
239
150
112
186
237
203
137
121
136
229
255
167
219
170
135
176
195
150
128
124
112
150
191
222
150
167
167
121
187
144
175
112
186
187
177
150
257
112
135
200
150
167
226
137
135
112
208
121
239
203
208
181
211
187
135
232
112
208
201
229
121
112
170
167
150
186
130
172
123
232
150
208
158
187
175
158
112
177
150
193
171
167
177
123
158
176
164
176
147
128
177
171
150
112
150
123
189
201
214
147
208
174
123
177
135
170
112
208
160
208
187
150
137
150
150
170
193
123
121
170
186
150
231
167
187
172
121
136
237
123
112
208
242
135
177
172
210
176
150
121
178
170
259
150
208
112
349
158
243
242
152
202
178
112
226
210
158
181
112
136
217
208
170
112
115
257
181
112
226
170
150
210
187
150
241
150
201
170
112
171
121
212
112
173
150
150
112
187
152
112
112
165
194
175
187
112
150
146
112
156
150
115
171
150
167
173
112
112
219
150
239
194
112
164
123
165
127
150
227
213
167
219
174
210
208
212
171
194
176
130
112
195
150
176
218
187
201
130
147
212
167
167
170
150
171
137
208
121
212
160
165
263
121
170
172
171
246
158
150
121
198
167
276
112
214
135
179
176
208
203
212
226
259
150
150
121
176
250
115
208
201
176
115
121
184
239
170
112
150
136
202
193
172
150
203
228
206
112
194
112
128
164
194
176
112
186
150
167
112
225
135
121
171
150
150
137
112
174
121
150
216
210
152
171
164
204
150
236
167
128
150
232
170
165
159
212
121
228
181
223
187
112
124
150
135
231
317
193
203
208
121
167
112
171
172
192
189
208
237
197
210
212
174
250
190
167
170
193
218
150
112
244
147
171
170
170
112
165
121
213
181
167
199
239
112
124
172
135
208
239
112
172
150
257
190
150
203
150
186
181
170
228
202
150
171
112
172
239
127
150
225
203
170
112
240
219
150
124
190
112
178
194
137
112
236
135
200
208
115
226
112
208
150
112
167
167
135
220
121
147
181
226
112
135
172
172
123
202
135
172
164
123
137
112
150
150
170
223
112
137
211
171
123
170
223
150
128
219
256
112
150
170
208
150
206
124
193
150
237
240
112
182
201
182
112
187
240
245
121
272
195
177
194
112
167
121
176
112
115
150
208
121
121
209
237
167
135
208
159
150
220
224
172
150
150
152
124
172
244
170
159
208
121
178
150
121
192
225
157
208
192
143
202
208
112
167
205
176
121
112
137
208
112
112
208
158
123
136
182
112
165
212
172
189
201
210
179
174
112
182
172
203
212
112
177
170
164
159
150
208
218
121
121
150
194
208
167
141
150
165
123
121
112
220
121
228
202
112
240
135
181
224
121
198
164
165
226
150
135
121
172
172
203
225
176
170
240
121
215
171
237
135
121
186
112
170
291
218
175
190
121
121
236
157
150
150
194
250
172
150
176
259
237
210
170
121
177
135
121
195
170
147
177
150
208
150
121
150
112
158
255
172
202
201
112
225
220
135
188
147
210
150
158
170
139
190
186
123
193
186
172
172
150
172
176
170
121
219
112
112
167
150
121
112
226
170
112
123
159
112
112
112
168
174
135
165
112
160
150
131
168
208
187
208
187
172
181
228
208
208
165
112
135
170
124
194
172
196
171
112
150
244
207
220
224
226
112
112
121
152
150
186
171
112
274
187
150
112
135
124
194
150
263
229
150
130
198
210
263
121
167
150
124
189
112
221
150
201
135
112
206
121
112
130
121
136
172
193
121
123
167
181
232
150
176
158
165
228
112
164
176
207
176
146
240
150
212
150
170
202
186
124
208
150
150
240
136
150
136
223
137
196
181
202
243
150
203
171
193
135
228
123
164
150
208
121
208
121
202
176
244
112
203
228
135
164
250
175
164
112
233
150
172
204
184
167
181
121
231
177
205
167
208
123
181
112
150
136
150
112
121
135
181
208
226
267
222
177
225
186
112
302
233
217
174
177
164
201
112
172
112
194
150
136
121
150
150
150
300
167
121
150
112
177
167
172
237
186
204
208
165
210
245
239
130
150
167
172
187
228
150
112
150
219
186
150
136
192
150
150
194
187
112
208
239
181
276
175
150
171
112
187
159
121
172
147
179
194
247
233
231
226
167
173
130
150
150
167
137
208
205
208
187
150
130
170
121
167
167
121
174
121
193
216
150
112
218
123
212
165
184
164
150
195
228
231
112
157
112
128
164
150
130
216
144
172
145
203
112
136
130
202
171
196
212
121
195
171
121
136
112
150
203
164
167
203
164
170
172
208
212
208
170
236
193
181
115
172
112
150
160
123
170
208
207
121
192
150
150
219
215
121
202
156
137
183
112
137
144
124
203
232
150
208
123
226
172
165
201
194
150
225
115
170
176
170
150
237
170
150
135
218
267
194
203
121
124
150
165
228
112
112
212
165
237
216
168
181
150
172
150
174
197
121
136
112
176
135
239
190
160
226
167
172
167
186
208
176
130
160
167
210
150
192
150
167
165
184
184
176
172
181
263
121
112
176
130
150
171
186
201
172
121
203
121
245
215
167
167
224
150
112
137
150
150
167
112
150
209
167
177
228
178
121
150
201
201
150
181
150
121
186
115
179
232
181
235
255
156
167
208
192
171
121
164
150
171
150
231
258
150
226
121
121
165
170
276
150
159
208
250
150
170
239
158
195
176
112
218
172
171
217
156
121
121
217
173
216
181
175
232
150
123
208
150
218
257
167
150
112
226
165
137
170
220
205
150
158
264
280
157
124
239
150
208
208
192
121
112
123
227
112
176
190
172
147
172
208
181
112
208
231
150
190
172
201
167
121
121
150
150
150
124
236
176
156
121
209
176
195
121
171
200
206
150
171
195
237
112
112
176
121
150
171
177
150
150
201
176
208
147
171
250
194
171
150
299
172
167
121
204
150
208
160
208
178
150
194
130
212
158
217
150
164
123
150
213
172
192
175
240
257
121
156
161
194
210
170
172
208
194
177
171
171
150
170
185
115
195
128
203
165
181
172
212
112
208
208
150
150
143
121
193
203
232
165
150
167
147
112
112
112
252
150
168
176
112
112
123
123
144
121
121
187
112
172
193
112
150
112
168
167
188
194
192
167
195
171
227
187
167
121
150
156
112
195
167
121
128
121
121
173
112
215
209
147
231
210
202
216
150
171
167
208
181
284
207
167
130
150
150
210
208
123
150
193
136
150
150
220
164
181
112
226
218
174
208
170
220
239
171
172
218
136
137
160
252
152
147
174
172
195
165
165
171
210
197
121
130
144
250
135
112
192
112
150
195
215
192
135
115
112
152
193
128
150
124
219
121
231
137
167
150
217
167
208
112
121
115
112
150
174
220
208
112
112
208
194
115
200
150
206
112
112
147
170
193
217
176
174
219
150
123
112
167
201
121
172
170
195
150
171
159
121
189
115
112
194
141
112
156
159
172
121
150
152
202
219
115
175
226
172
150
194
135
205
205
123
193
150
121
208
187
150
159
112
172
121
176
112
184
121
172
217
121
165
181
237
121
170
208
150
112
121
172
121
136
175
191
228
238
208
150
233
112
112
135
201
121
172
176
228
186
137
202
202
193
112
205
150
208
112
176
170
263
171
187
175
124
211
209
121
171
208
112
124
112
201
167
219
201
172
150
228
150
121
177
167
234
268
112
121
233
208
171
112
171
170
177
174
172
115
176
208
195
156
112
150
146
150
228
171
150
123
270
130
112
193
112
172
212
152
208
253
177
123
210
174
137
115
255
187
112
150
256
181
121
115
212
226
168
179
194
208
219
171
195
150
150
174
152
207
177
172
177
135
121
150
171
121
220
208
167
136
123
207
179
187
124
172
165
112
177
137
130
207
172
170
240
276
180
158
208
207
172
208
150
240
226
293
167
188
174
225
182
217
123
156
152
150
172
228
229
263
242
233
136
171
205
181
176
208
212
112
144
112
179
217
147
121
128
167
161
208
176
240
217
203
226
121
215
159
150
177
121
193
115
121
112
192
172
208
123
281
231
121
112
156
150
112
172
165
159
121
208
150
276
210
176
176
201
150
136
172
228
160
201
150
249
205
173
150
208
112
176
123
210
165
233
257
208
257
239
121
193
171
217
150
172
194
112
181
167
224
208
219
177
167
161
204
150
158
135
112
237
150
210
239
112
112
278
121
150
202
244
165
112
194
164
228
150
171
146
123
128
176
228
135
171
115
112
121
208
186
235
244
172
112
165
160
240
150
170
187
150
171
194
112
160
233
136
228
135
219
293
172
150
167
210
269
230
200
150
194
171
212
210
214
164
201
115
121
195
167
164
112
112
171
150
257
149
150
158
167
123
164
112
212
164
208
124
150
181
208
164
167
150
112
208
234
255
112
172
112
112
150
218
150
198
170
225
193
226
233
212
192
206
174
150
202
112
216
201
208
135
217
269
112
228
170
112
186
150
171
152
208
181
137
212
147
241
160
218
176
121
150
165
150
121
186
214
172
208
150
254
150
231
207
203
167
261
202
195
167
208
156
170
121
136
121
137
121
150
201
204
203
172
176
231
150
210
158
121
150
171
123
167
170
176
203
121
172
182
187
192
255
219
150
232
205
172
172
177
145
175
171
136
195
193
177
237
112
150
150
141
112
229
121
176
194
193
182
172
170
218
165
121
121
156
219
167
239
229
217
112
160
112
160
165
137
181
150
150
204
135
186
152
135
187
177
112
150
196
172
167
137
194
219
112
181
150
157
171
228
172
112
175
172
150
193
177
206
260
158
176
199
202
112
112
187
144
150
208
112
150
115
189
121
234
228
228
112
156
170
195
150
174
186
115
123
123
172
207
159
112
150
223
194
314
165
115
165
112
124
152
170
159
220
216
228
194
121
150
168
172
150
177
150
208
121
172
186
130
150
136
189
195
147
181
290
203
208
112
167
121
150
172
228
152
194
121
181
159
165
112
172
112
193
199
201
202
170
147
121
112
137
135
123
112
172
112
193
168
170
208
195
150
181
282
156
136
208
170
208
165
174
121
150
112
150
150
135
171
249
218
176
244
213
175
112
208
202
244
158
137
212
263
208
159
172
228
208
237
263
121
121
237
150
208
174
123
150
137
203
150
157
150
160
187
157
181
121
124
112
201
121
208
284
302
208
219
209
123
171
178
167
121
240
115
171
150
123
147
167
208
202
150
208
168
201
187
150
208
193
207
112
175
225
186
176
259
230
177
112
171
164
233
164
112
144
150
112
156
215
172
172
190
150
194
121
112
212
201
183
150
208
121
259
172
212
121
176
199
181
227
167
186
156
207
192
181
181
208
135
112
172
176
150
208
176
252
150
231
112
208
203
252
215
137
210
170
172
150
165
194
150
150
196
206
150
152
165
150
121
131
115
147
208
232
172
253
112
176
167
112
170
115
112
136
143
167
121
207
170
121
167
168
112
170
150
147
181
123
170
165
164
171
144
349
160
172
168
147
121
168
170
212
121
112
170
227
226
170
137
228
158
193
167
176
135
128
112
186
181
170
136
258
150
201
208
150
150
121
112
186
112
210
170
195
136
112
167
172
112
185
273
156
194
167
194
112
194
172
147
112
112
150
121
194
121
150
194
165
229
112
208
237
176
225
123
112
208
112
123
121
135
115
152
167
186
150
150
190
135
206
144
203
121
205
150
226
203
115
121
235
186
158
167
205
187
139
164
172
121
231
158
112
217
175
150
208
194
123
150
179
168
121
203
150
219
228
194
194
112
167
175
246
150
146
121
150
115
130
112
195
135
241
201
170
181
257
204
112
137
123
121
121
186
152
176
255
115
172
263
150
156
143
231
220
150
186
167
112
175
186
203
170
115
193
216
112
165
150
121
150
253
124
112
288
167
170
152
121
172
171
115
167
194
174
128
150
115
172
171
215
278
167
253
121
175
239
150
237
136
203
165
112
150
136
121
178
203
177
123
150
130
194
128
207
152
241
172
167
208
164
211
143
194
181
167
208
135
150
172
275
170
112
228
150
186
150
123
121
197
112
123
217
112
243
112
150
234
201
172
220
181
150
177
235
171
208
181
150
112
181
172
186
121
182
121
176
135
121
150
128
176
181
150
243
208
193
150
137
112
172
194
201
208
170
156
181
171
121
143
150
152
159
210
150
170
205
187
172
254
192
224
192
170
203
112
177
175
164
147
203
112
172
186
167
244
121
150
150
171
193
150
112
210
179
150
152
172
266
150
192
176
112
167
112
158
123
244
150
240
228
203
158
112
121
124
121
123
269
196
228
176
137
190
185
208
174
135
150
192
181
238
208
171
225
157
174
167
186
121
150
150
112
175
302
267
255
228
201
150
147
135
112
171
139
150
112
239
187
202
150
204
177
236
150
193
121
135
121
167
165
239
150
172
115
150
152
152
209
202
195
274
150
246
190
112
112
167
136
194
165
150
156
263
217
194
186
137
250
121
112
191
121
203
171
150
171
193
199
124
243
229
121
196
112
161
172
121
228
210
150
112
210
112
238
240
210
231
112
112
253
136
137
208
179
168
211
172
171
205
150
237
121
123
239
240
136
203
112
172
121
165
159
150
150
112
112
228
192
150
170
171
137
170
144
239
167
112
172
197
121
121
210
112
150
128
175
136
150
150
225
143
168
167
193
208
211
196
147
208
121
170
174
168
123
112
177
121
196
204
237
177
227
228
258
150
171
186
201
208
211
179
167
266
189
208
145
174
150
150
121
218
229
184
112
150
172
176
150
124
121
240
172
243
193
171
115
115
170
121
112
121
209
176
121
242
181
179
150
208
137
176
302
112
150
193
232
128
201
172
121
255
195
150
112
161
208
195
112
233
150
121
302
255
167
167
112
187
203
150
160
115
147
243
115
205
194
150
201
167
150
150
174
207
150
167
112
237
207
112
121
177
123
233
228
121
205
187
121
235
170
226
208
150
243
143
205
137
240
150
152
150
121
240
150
207
115
135
192
112
115
121
172
112
167
121
228
172
112
124
220
130
167
187
137
167
115
245
171
201
112
128
168
194
216
170
121
192
159
150
150
112
167
181
203
255
128
217
112
112
112
243
193
220
177
170
264
208
150
235
241
180
137
115
167
112
192
172
112
170
136
150
208
181
175
121
150
218
198
172
215
135
115
112
195
181
228
207
121
208
150
147
267
123
192
164
243
172
202
232
217
201
112
203
150
168
203
115
260
130
156
237
124
121
136
124
147
150
231
150
121
176
208
191
255
112
208
170
187
240
112
192
172
121
121
150
124
208
176
121
187
121
152
150
171
215
181
205
150
168
210
226
167
137
170
184
228
176
112
208
137
171
150
121
167
112
203
112
208
208
208
121
186
204
167
150
147
121
232
199
150
194
176
130
179
150
227
167
193
121
242
159
173
203
226
174
168
121
150
177
178
112
217
228
219
210
150
203
172
112
203
175
237
150
150
124
136
170
121
187
150
208
208
172
160
136
194
209
207
186
172
208
178
212
112
135
228
219
135
302
170
121
218
135
124
121
165
112
150
150
150
244
255
121
237
238
147
223
115
170
193
178
225
195
150
170
187
150
207
150
121
208
236
229
208
231
226
208
162
170
258
231
176
112
174
194
112
204
171
193
185
170
218
172
235
176
218
265
301
171
115
210
168
228
210
195
150
195
123
225
190
231
167
174
121
174
112
150
302
212
193
228
121
168
212
150
208
196
172
230
209
187
212
208
231
208
207
171
181
172
121
135
144
195
136
225
172
176
121
156
121
202
187
160
172
112
150
207
228
159
152
121
231
121
159
121
187
146
170
168
183
115
278
184
276
150
210
192
226
136
150
167
123
208
186
210
208
186
121
135
208
232
202
181
201
150
150
112
121
206
193
264
123
165
171
112
212
250
181
172
172
172
170
136
112
171
194
112
136
231
208
112
150
234
213
150
208
112
203
172
165
170
228
112
150
208
167
202
170
150
139
228
171
196
174
187
112
150
168
239
172
121
170
157
209
168
170
136
112
150
121
228
194
228
195
181
192
206
172
208
206
192
137
121
112
121
194
205
170
217
194
172
181
121
208
160
208
112
177
208
168
177
181
174
121
226
237
206
150
228
176
232
128
171
252
165
150
150
150
172
121
302
208
194
253
130
112
216
228
165
171
136
217
121
171
130
202
181
150
203
181
177
208
177
226
194
152
217
159
147
112
167
194
121
211
172
150
165
210
192
191
147
150
263
150
112
195
112
208
182
205
121
175
219
216
234
150
213
230
220
214
115
164
208
167
187
187
165
186
128
172
174
176
226
112
204
208
176
203
178
150
137
112
196
260
167
152
121
176
171
124
181
137
175
199
137
175
112
121
209
123
170
187
203
158
207
177
220
112
208
231
263
229
150
208
194
167
170
150
135
178
167
208
150
121
208
147
167
112
112
208
165
177
179
174
214
231
195
208
121
150
193
115
274
208
170
135
208
150
177
121
219
150
210
150
170
276
150
220
112
229
181
220
121
208
121
152
187
209
112
193
123
228
121
112
172
121
135
147
112
194
112
150
237
216
177
194
240
187
206
150
121
166
165
112
172
194
227
186
112
202
123
193
172
112
164
243
152
207
197
150
165
223
228
165
121
150
212
208
208
172
176
152
160
176
186
218
167
150
181
137
150
179
150
121
150
112
217
234
150
165
112
165
136
233
208
128
121
167
186
167
164
161
259
186
181
150
226
170
193
172
121
217
123
112
181
112
193
171
121
139
112
121
167
164
195
195
172
194
152
161
150
172
112
168
128
231
203
167
167
208
150
135
195
208
121
112
181
121
184
112
112
150
176
177
150
189
124
135
112
150
150
210
205
112
176
167
243
177
250
234
147
176
210
241
150
243
208
203
194
165
150
130
158
121
150
150
160
172
150
128
121
226
165
249
167
130
171
167
150
150
194
208
212
201
196
239
159
136
182
167
112
216
167
112
159
121
193
250
171
136
172
194
228
167
135
159
174
177
150
186
257
112
121
257
115
147
194
164
163
150
167
253
136
208
176
175
194
150
193
233
245
170
210
159
210
202
171
172
121
195
112
172
121
184
177
220
158
175
150
203
194
165
181
160
212
208
167
137
137
121
194
207
171
150
187
201
201
150
186
174
150
112
121
171
209
150
177
205
237
150
208
171
112
121
170
207
165
150
112
210
208
150
216
112
121
208
180
219
136
194
150
121
172
167
147
208
202
115
170
229
150
203
150
112
150
136
240
196
242
170
150
115
135
175
195
150
112
194
231
243
121
208
150
172
167
121
189
208
172
152
193
167
239
181
150
112
172
204
187
158
176
176
121
167
176
216
150
186
143
213
121
135
236
187
112
232
121
194
231
172
172
172
112
208
205
156
208
178
172
193
172
112
189
112
228
212
172
206
167
167
167
186
178
227
172
147
121
150
171
181
195
234
170
123
196
150
176
172
147
135
124
226
181
200
198
128
177
150
208
201
159
150
228
112
176
271
208
171
208
123
250
158
167
124
167
227
205
176
137
150
121
194
171
176
150
242
128
112
150
210
165
150
112
209
128
112
172
208
208
210
112
205
193
181
181
201
208
208
167
231
150
202
136
165
174
250
147
167
194
241
150
193
165
243
158
112
170
177
115
170
176
135
176
150
176
201
121
172
167
204
228
172
195
121
150
150
161
150
167
121
121
182
259
193
202
150
146
172
181
160
194
192
157
121
150
150
115
186
208
147
112
186
176
167
189
121
150
159
176
121
121
121
250
146
228
158
136
219
217
165
189
143
121
228
172
176
212
124
186
195
128
170
171
186
240
208
143
130
165
210
176
194
150
202
150
115
203
178
192
194
221
165
121
165
150
136
170
150
177
255
130
185
174
171
135
112
203
150
150
136
123
112
139
241
186
208
206
175
170
178
150
229
150
192
150
170
210
243
203
242
250
208
167
211
237
150
112
170
167
112
198
150
112
167
161
241
170
237
201
160
196
208
183
121
171
209
172
195
180
195
279
165
121
112
170
208
212
170
208
174
112
112
201
178
196
198
121
170
174
194
226
231
208
137
203
228
219
172
228
172
236
152
172
150
231
121
215
150
187
112
121
112
112
150
160
226
121
177
121
174
167
226
158
214
150
121
121
220
250
150
150
225
121
147
181
112
112
170
121
225
123
217
187
145
112
171
161
124
195
237
186
143
167
208
121
214
176
150
239
194
176
121
241
181
207
165
195
174
224
210
147
229
139
194
252
136
237
194
167
150
137
112
112
279
193
228
278
175
150
121
172
170
165
112
181
139
195
121
112
150
150
128
181
150
194
150
150
187
150
158
176
205
124
112
135
165
123
123
207
150
121
208
121
302
171
150
172
176
150
171
112
199
152
121
135
147
250
171
195
195
257
172
228
176
170
172
172
228
172
170
223
150
175
172
227
147
210
147
150
150
196
150
121
121
115
150
112
257
194
115
181
172
208
150
241
194
121
201
112
232
150
186
276
150
208
167
206
250
194
171
185
186
208
208
150
135
176
220
231
115
150
121
121
167
194
123
208
167
112
130
218
112
150
174
225
172
173
201
187
112
190
150
150
165
170
112
112
205
218
194
112
121
228
199
121
215
205
170
208
177
187
192
121
172
225
174
150
280
208
150
123
150
228
121
167
121
208
121
202
150
167
208
162
112
156
167
184
123
193
115
121
208
207
172
150
150
170
150
112
150
137
165
179
170
112
112
171
167
167
150
115
215
147
231
201
186
165
208
167
186
123
193
193
150
236
226
188
136
112
150
187
237
225
170
228
171
209
220
128
208
202
219
150
112
112
174
171
162
150
112
167
165
241
168
187
150
170
167
145
172
177
194
174
159
192
112
282
130
121
171
121
196
208
194
150
217
212
172
172
179
203
124
172
212
150
194
167
186
112
121
231
156
220
176
192
250
201
152
171
121
212
150
121
161
228
121
121
181
112
186
171
112
208
171
226
150
167
186
194
181
172
121
162
187
235
112
150
112
170
181
186
187
121
167
167
209
112
172
230
160
123
123
228
121
167
170
150
121
167
170
121
150
231
115
121
137
203
112
194
150
150
167
167
228
231
205
208
192
171
176
112
172
214
202
112
159
150
121
139
213
137
167
131
153
176
167
135
121
165
164
121
112
150
112
172
201
171
192
228
112
218
232
208
208
128
168
205
167
202
121
167
186
170
170
171
208
231
187
192
150
172
237
167
112
189
175
167
181
121
237
170
170
240
208
176
226
181
223
172
165
115
121
235
112
115
150
187
136
227
217
194
121
167
217
176
123
167
208
121
176
186
123
112
219
172
193
237
176
172
176
150
112
150
121
158
171
208
176
167
165
203
203
193
167
112
112
150
240
208
176
208
164
210
210
202
164
236
177
112
193
170
112
237
137
159
210
112
112
224
165
203
160
121
112
232
136
204
194
131
240
121
176
186
150
164
190
220
208
121
121
204
130
135
187
150
112
123
112
165
212
181
136
112
181
208
112
208
176
171
121
194
203
167
165
212
150
112
171
112
150
121
168
208
121
121
171
121
159
135
161
187
263
202
112
176
212
150
165
150
164
216
147
112
150
143
123
210
121
210
123
150
147
180
150
203
210
165
152
246
170
194
194
172
276
221
170
167
130
150
244
112
136
212
171
245
205
112
150
186
181
196
176
123
181
172
202
160
186
201
208
128
112
121
130
193
208
207
150
201
168
112
183
150
176
229
143
160
297
112
135
204
171
225
182
243
171
218
112
123
158
112
190
121
147
121
112
150
170
164
181
156
225
224
250
208
216
121
195
141
258
168
172
203
121
208
228
171
238
112
302
165
172
262
121
184
181
112
112
121
208
228
112
193
150
159
231
174
210
225
189
150
170
164
150
172
220
203
171
186
112
153
112
215
250
121
207
165
112
112
112
112
112
150
112
150
164
167
284
202
177
150
121
147
112
201
150
167
186
171
160
231
112
194
123
172
220
231
159
195
189
135
121
208
194
181
135
244
181
241
255
174
172
121
128
171
205
193
217
121
167
170
158
171
280
121
225
195
150
121
176
135
255
115
112
121
123
220
199
228
230
165
177
167
158
171
158
164
112
173
228
192
204
123
194
168
211
112
150
135
115
112
123
112
150
194
176
266
208
130
124
216
172
202
186
210
167
190
172
170
250
130
165
167
187
112
135
219
112
196
147
121
171
167
112
202
128
112
186
121
112
150
172
201
121
135
198
121
200
208
156
228
170
175
228
150
171
203
265
172
150
194
112
150
207
112
170
121
136
229
112
172
150
121
208
150
206
205
181
255
112
193
124
181
236
210
168
168
112
168
208
123
172
112
195
208
177
220
194
112
179
147
121
121
181
238
170
112
150
208
170
231
150
167
207
121
209
182
161
112
170
203
188
171
150
112
172
112
208
123
250
145
150
123
197
115
121
221
121
112
121
172
167
121
124
135
208
115
112
150
172
229
171
170
194
244
211
171
208
205
165
137
172
173
158
150
159
198
201
192
203
112
121
150
121
241
172
192
208
208
206
172
181
150
212
167
234
150
158
252
112
183
171
236
187
219
158
158
121
135
199
121
136
150
202
213
237
210
121
181
175
228
184
228
150
165
250
206
174
228
278
168
175
257
112
254
112
150
156
167
121
150
170
186
123
121
193
150
124
121
230
219
237
121
171
172
181
172
212
150
202
175
254
174
167
123
121
231
150
217
145
208
195
167
232
150
112
193
124
167
121
196
208
190
190
194
112
217
237
112
194
212
219
167
172
217
208
171
217
150
239
112
170
171
159
208
186
162
164
112
208
229
225
161
170
210
179
198
193
121
167
121
186
115
175
172
150
150
202
171
239
143
218
208
121
156
150
112
182
128
115
231
123
150
121
165
136
127
150
112
202
165
137
186
203
204
250
123
260
150
228
181
150
172
150
203
112
164
187
165
202
187
228
172
203
167
237
203
226
170
130
176
158
137
172
121
209
276
158
197
167
136
123
276
112
150
202
250
172
165
170
167
232
171
193
112
177
112
193
150
172
112
259
172
150
236
128
206
170
137
135
112
172
193
112
123
168
150
228
150
242
176
220
115
112
187
172
227
170
170
218
219
231
216
214
191
150
146
159
171
164
210
137
186
225
208
223
250
181
128
150
201
137
255
203
136
218
239
121
124
121
150
165
123
203
167
234
179
263
208
167
202
112
112
167
167
291
200
212
123
121
115
217
147
165
121
112
150
208
220
194
121
208
170
121
167
193
216
220
150
137
279
150
136
167
123
207
150
121
121
121
112
208
176
250
112
135
135
150
276
121
192
194
208
150
150
218
239
193
121
112
194
202
171
147
193
165
195
137
112
176
112
243
112
112
121
112
171
137
135
170
187
170
225
170
179
145
165
150
123
244
187
112
178
203
167
194
186
176
171
201
168
208
175
161
112
174
201
220
112
186
271
261
194
136
156
121
220
150
150
137
231
243
112
201
171
143
195
228
150
194
186
112
112
208
237
195
136
172
212
205
123
207
130
175
112
115
205
232
208
208
202
176
112
212
225
192
112
167
112
124
212
112
112
112
208
208
202
121
179
202
237
208
121
135
172
232
236
210
219
186
218
220
147
194
123
186
150
194
150
121
123
186
231
150
152
115
160
236
170
276
121
165
186
135
165
132
150
212
172
150
112
197
218
256
255
161
202
150
231
121
165
193
150
112
228
150
121
271
194
112
235
228
208
204
207
208
251
150
121
150
237
170
156
121
150
150
276
128
176
112
167
201
167
171
254
208
150
192
165
150
158
159
165
237
112
167
150
172
208
150
150
112
112
158
174
158
190
150
150
210
232
176
171
177
150
213
260
183
150
160
193
112
212
112
172
208
258
112
210
150
123
208
159
121
228
202
201
156
194
217
121
150
177
194
172
192
150
177
112
172
150
150
220
187
121
228
156
172
172
170
146
216
112
186
194
123
112
170
112
228
158
192
112
193
257
170
112
163
165
121
167
124
137
218
121
150
235
164
211
171
135
167
165
237
150
112
167
127
193
150
165
157
112
121
202
208
150
184
202
167
121
167
150
208
172
121
265
230
165
165
112
234
225
121
208
167
112
189
121
222
208
177
121
167
164
121
189
175
137
203
181
195
150
243
220
121
170
172
165
112
186
112
165
206
143
137
208
135
172
124
144
168
115
167
139
208
158
212
172
152
212
123
171
198
150
112
196
193
150
170
121
205
112
112
136
208
150
171
167
167
208
121
194
187
172
135
171
112
175
150
150
205
165
302
208
170
150
190
269
112
215
123
112
208
192
172
157
128
172
187
135
150
220
150
298
165
176
121
208
121
217
150
259
167
147
150
208
223
208
112
165
228
228
165
139
112
112
123
160
167
164
123
207
248
208
112
179
172
171
150
253
121
167
181
219
172
167
131
197
112
112
158
174
208
175
150
176
237
203
121
157
167
212
159
255
123
172
170
212
165
157
121
171
124
167
179
201
121
177
168
112
208
150
168
203
195
218
170
186
158
135
193
135
112
201
218
188
150
172
121
263
150
187
150
239
202
150
112
228
158
249
112
172
208
179
186
176
121
181
170
172
208
195
170
250
112
181
250
121
150
187
172
146
171
123
121
208
172
150
210
165
121
208
121
172
121
150
150
167
121
176
208
121
172
136
195
121
150
153
245
150
112
184
121
170
176
135
171
171
112
170
181
130
167
225
196
255
112
167
164
202
150
209
176
112
220
190
258
121
171
121
170
112
121
176
213
112
168
128
112
159
233
121
165
121
150
112
150
218
217
150
172
274
204
121
150
164
128
175
171
115
121
263
143
112
193
112
202
150
272
112
121
172
208
181
194
240
123
171
172
218
156
150
215
124
170
144
150
121
158
150
238
201
128
165
215
143
136
174
150
186
150
233
112
115
112
121
179
143
150
112
167
121
112
244
136
177
174
208
124
194
253
150
150
121
150
265
186
208
288
150
193
236
121
208
152
136
178
184
150
208
123
150
193
202
219
211
150
164
150
208
112
165
220
276
112
237
264
189
227
226
207
150
135
150
165
302
176
176
170
182
177
112
121
115
137
172
204
121
173
237
229
255
210
192
219
112
121
172
209
176
170
205
112
176
172
201
112
184
250
222
235
123
150
121
172
233
219
135
172
181
240
150
243
121
123
198
276
186
187
194
112
174
112
228
112
181
164
121
170
123
210
219
203
210
150
263
181
121
257
176
172
194
201
201
246
194
215
167
195
208
121
121
171
123
112
112
208
112
150
172
112
137
172
158
208
121
194
195
271
165
220
137
136
172
143
121
236
123
150
150
186
150
150
194
170
171
150
152
160
123
201
167
175
121
157
177
183
136
208
123
211
167
211
210
159
202
203
239
150
196
240
160
236
181
170
205
167
171
228
150
158
112
172
186
207
193
261
146
176
123
174
208
208
228
228
121
158
247
161
150
176
208
239
112
157
171
167
150
239
172
181
194
189
172
171
150
250
167
136
203
158
112
150
165
150
112
238
136
208
150
171
167
172
209
150
147
121
165
178
167
208
170
172
176
276
172
150
137
201
178
112
115
193
219
150
170
240
187
228
123
150
206
232
246
112
167
193
255
121
170
158
112
150
192
194
164
189
165
112
208
254
202
158
112
228
170
172
216
176
150
152
167
171
252
112
150
160
150
194
228
226
181
160
128
130
112
121
150
177
150
112
176
165
210
170
157
228
231
121
124
254
167
150
172
164
181
172
193
165
165
124
112
124
112
112
121
147
225
115
208
167
121
150
112
175
165
208
150
276
170
210
208
165
150
123
175
147
112
137
112
123
121
228
276
150
135
208
229
150
176
112
150
212
158
150
231
171
172
121
219
121
167
170
236
182
147
186
211
124
121
181
158
160
217
207
230
177
182
208
137
208
205
207
150
123
112
143
123
115
220
167
243
170
202
152
170
171
167
112
208
194
167
208
156
172
177
123
177
178
177
143
136
167
192
171
112
160
208
255
121
195
150
123
208
150
243
250
121
176
192
194
192
172
181
216
121
234
121
121
243
112
170
121
167
121
202
212
112
209
219
167
195
217
199
217
121
207
208
194
181
194
237
193
194
175
220
195
135
299
123
181
192
150
121
181
150
232
147
167
112
170
136
211
195
121
150
147
172
171
121
150
241
112
250
124
121
208
208
167
121
223
121
121
176
136
172
167
193
221
192
167
130
112
209
250
121
165
135
136
210
192
179
150
112
112
164
233
159
281
208
201
150
123
170
186
203
187
211
123
207
237
205
172
240
172
121
112
172
150
112
262
150
207
170
121
115
214
176
198
135
112
170
170
237
210
150
172
159
181
236
173
160
210
198
121
136
208
121
136
150
112
153
157
207
128
112
181
136
243
187
150
112
194
171
181
121
184
217
121
121
121
233
167
170
220
135
165
150
217
156
124
172
256
172
123
176
177
209
167
150
152
112
208
208
112
135
150
121
264
135
181
208
164
187
121
236
186
201
159
165
112
239
195
263
237
150
181
278
150
213
165
112
186
276
204
165
255
160
208
167
227
207
229
150
225
112
115
236
237
189
121
237
156
196
112
212
176
207
179
172
158
172
229
112
218
217
205
128
150
212
193
121
135
172
226
197
137
178
229
225
112
170
220
171
137
112
215
205
162
136
174
207
196
143
161
170
161
172
152
226
121
150
150
150
266
160
167
150
150
177
212
196
225
150
226
233
170
112
112
177
171
171
112
167
121
186
167
121
179
250
150
209
167
121
256
177
228
174
150
150
193
189
282
123
160
239
150
121
167
193
238
150
147
167
233
112
228
136
218
230
194
194
172
158
121
170
186
167
150
167
201
128
158
136
179
194
135
167
231
112
143
112
112
157
186
136
130
208
185
228
121
212
217
241
112
121
121
222
195
302
150
150
193
172
128
225
232
167
181
233
172
121
194
175
184
205
170
112
223
156
187
150
208
123
123
170
299
195
237
263
121
170
178
208
237
112
193
112
194
275
115
147
121
250
172
112
135
228
121
182
150
201
231
150
160
170
150
220
159
167
150
167
164
181
170
186
220
121
195
150
121
121
166
137
242
112
282
183
176
210
170
121
239
112
219
112
218
195
150
289
233
194
170
147
147
218
175
158
171
112
112
233
281
175
181
211
164
112
158
112
112
170
237
171
135
235
156
172
171
112
147
207
164
203
150
239
216
121
193
112
205
150
150
112
156
112
112
168
112
194
150
115
194
150
171
208
231
121
150
121
219
121
170
231
275
150
135
236
197
198
228
135
150
123
121
112
137
146
194
150
115
189
153
112
156
121
165
205
150
210
229
167
150
187
250
131
165
194
121
186
194
167
136
136
128
121
147
150
187
210
203
112
201
112
226
226
150
170
172
202
181
121
135
150
150
223
210
203
194
178
121
208
137
172
121
226
172
165
217
112
112
195
192
172
209
171
189
190
150
186
190
123
187
172
194
112
123
208
241
112
250
135
167
135
284
255
263
208
172
270
172
121
278
165
170
172
150
165
150
172
135
179
172
135
170
115
197
121
112
112
208
123
121
150
184
193
276
239
171
207
225
235
135
130
194
205
208
208
144
212
175
115
179
208
234
136
167
171
123
212
112
150
208
245
171
168
176
150
208
193
208
158
172
240
193
189
186
136
158
172
150
170
193
265
248
112
150
172
204
130
237
186
228
152
150
193
172
176
187
150
171
158
112
147
172
150
186
121
121
208
207
179
172
150
172
150
150
220
214
219
172
124
172
217
121
115
121
150
167
239
208
171
233
187
150
170
238
193
172
171
150
167
167
167
115
150
213
195
150
121
261
209
187
211
172
172
209
112
215
228
121
208
112
186
212
232
150
144
212
168
217
167
181
276
208
112
147
176
177
181
237
203
134
150
170
135
215
237
228
205
121
112
194
194
165
170
184
172
121
150
194
164
112
167
150
236
121
121
150
219
112
150
150
208
172
121
150
115
214
164
150
165
194
112
123
112
302
121
121
112
150
112
220
167
112
171
164
172
255
187
233
150
172
121
250
112
193
171
302
150
112
181
167
128
121
235
136
225
137
228
150
181
215
150
234
150
181
181
299
165
186
239
164
167
115
150
112
176
136
164
194
112
150
150
193
208
124
226
228
121
210
255
190
150
208
124
121
150
112
137
174
170
112
150
171
112
112
112
176
150
164
230
150
150
160
178
231
186
177
225
192
112
121
115
150
165
112
231
176
238
208
171
150
210
186
236
208
170
112
172
170
231
112
246
150
205
150
172
123
123
172
150
170
229
150
305
195
172
177
165
217
172
250
112
136
192
176
150
112
137
208
137
159
170
147
137
135
200
186
167
201
236
193
208
215
150
112
121
172
233
164
124
201
159
276
121
212
200
239
208
237
135
208
150
201
230
123
195
115
150
213
164
167
195
231
168
208
167
136
130
112
121
192
137
232
228
177
177
112
112
112
217
237
215
208
177
112
150
208
112
150
195
165
231
172
112
208
150
121
167
210
121
186
164
115
208
171
225
167
123
171
130
240
228
112
193
208
112
121
248
228
112
181
112
206
291
201
150
181
121
242
112
128
150
158
167
136
201
175
193
128
112
141
158
170
231
150
112
174
158
172
150
200
150
164
136
187
239
204
233
186
123
193
112
150
121
243
121
160
229
176
150
219
236
150
212
218
176
212
168
150
208
172
208
150
158
200
170
201
150
112
121
130
137
168
150
112
165
278
136
112
236
167
123
165
193
212
123
199
231
167
257
172
208
150
217
121
135
121
225
202
239
123
150
112
121
259
171
163
241
121
112
172
217
203
121
112
150
150
121
263
171
201
121
200
265
228
193
225
150
243
212
244
181
150
201
121
203
207
135
150
228
150
216
186
189
202
156
217
181
150
150
189
187
136
171
121
121
229
147
210
150
230
224
115
171
112
176
235
156
112
112
208
165
121
136
218
233
274
172
150
186
143
150
115
208
208
243
172
187
121
121
173
123
202
158
150
158
150
150
172
150
193
192
210
124
121
173
121
150
150
201
227
159
174
137
187
123
172
147
112
172
170
137
172
121
121
212
201
150
237
150
130
228
193
167
150
234
136
150
183
240
121
167
205
112
168
208
172
219
167
236
167
220
158
181
277
231
150
158
150
112
147
228
150
150
208
176
228
172
208
150
121
121
112
187
208
112
220
135
168
164
136
112
181
187
121
121
172
208
135
208
147
112
192
267
181
172
164
112
247
192
216
121
302
170
167
263
208
208
112
170
176
175
202
150
112
150
202
202
112
115
172
202
210
195
167
112
186
167
208
208
210
209
224
207
112
115
172
226
112
137
121
170
164
209
226
152
150
208
231
178
208
124
241
130
170
124
112
208
165
123
205
196
121
112
258
186
123
170
208
192
172
211
181
177
150
216
172
123
121
112
112
112
165
176
236
170
144
150
150
297
216
208
165
160
208
121
124
186
194
165
121
189
112
112
175
172
171
227
167
112
146
208
112
121
135
235
150
121
208
170
150
150
121
160
170
187
228
170
193
150
112
212
160
167
121
112
170
123
112
150
130
167
121
237
170
135
137
150
228
208
165
170
227
115
124
218
170
229
121
255
156
150
112
179
208
253
150
165
150
260
207
162
123
210
270
165
208
171
158
112
158
193
250
213
112
160
150
128
219
121
150
210
165
112
170
121
208
112
112
159
187
181
121
167
206
193
131
123
121
150
164
121
230
171
208
147
150
237
170
172
150
170
128
115
194
147
112
162
156
165
112
160
206
239
121
137
228
186
112
162
179
201
172
172
187
181
121
193
301
123
177
135
150
181
165
194
212
112
167
112
205
193
112
150
174
112
218
112
112
162
202
112
208
171
191
213
165
150
121
237
171
121
112
175
228
181
172
121
121
112
184
115
167
187
123
115
212
187
112
121
201
121
195
150
131
181
208
167
123
186
237
215
228
158
150
121
211
236
147
279
150
208
212
121
202
174
121
121
167
156
150
170
172
150
112
194
219
210
128
201
182
219
136
144
121
165
136
121
176
171
112
150
112
112
193
208
121
208
150
235
208
170
147
207
176
217
228
150
150
187
236
208
167
232
136
239
143
147
115
121
207
150
172
160
144
208
150
135
228
112
203
208
272
150
165
218
205
168
115
112
131
196
150
150
178
112
171
208
150
178
167
194
198
208
150
156
150
150
171
115
203
208
165
179
150
208
228
160
204
123
150
112
167
136
152
302
168
202
150
212
186
165
231
115
208
112
150
147
176
124
202
171
172
216
233
194
121
123
242
193
281
121
147
194
121
144
167
236
208
112
208
205
167
150
165
186
158
167
228
228
136
135
170
167
241
112
170
150
167
181
150
172
172
171
165
207
170
187
136
251
121
177
172
208
237
150
172
186
170
208
172
240
136
147
255
150
167
167
189
172
250
137
112
112
172
201
201
199
164
172
172
179
123
150
170
167
150
273
230
150
121
123
219
174
121
228
115
121
168
130
176
208
181
135
204
172
121
212
225
181
170
216
128
193
229
194
211
237
213
195
123
229
187
203
150
203
121
194
241
210
156
112
233
150
176
143
195
121
123
112
162
228
267
219
128
171
165
165
179
208
112
137
225
177
228
150
159
150
217
137
210
208
172
171
150
276
123
150
183
231
172
150
121
112
208
143
205
150
123
186
150
112
194
112
202
172
217
167
150
272
121
121
210
147
121
150
121
130
150
150
112
112
171
167
181
244
121
212
121
112
121
265
112
167
172
202
152
143
196
121
203
212
257
237
167
227
176
137
201
208
225
164
156
167
172
194
121
168
239
150
176
158
121
228
121
171
124
191
128
150
250
213
121
263
121
135
195
208
121
123
187
207
150
150
121
239
182
150
123
158
171
193
170
181
150
170
212
150
150
228
136
112
159
171
152
121
158
123
172
239
112
150
186
240
121
112
121
205
165
150
112
123
232
112
267
150
237
174
194
170
150
240
171
219
167
150
208
164
195
130
208
121
175
123
207
168
165
130
275
172
266
150
123
150
152
150
137
150
130
225
121
171
112
121
150
176
135
166
181
193
172
176
123
150
158
170
150
168
181
202
165
172
112
159
172
124
208
176
150
170
121
167
167
193
228
172
170
176
228
170
159
136
203
219
208
193
208
112
230
208
183
112
170
121
137
121
143
176
205
121
112
147
194
219
135
186
112
121
286
124
234
112
150
210
150
167
159
170
172
210
164
121
232
231
212
150
124
121
246
150
170
164
121
121
123
207
158
172
174
150
135
150
244
165
177
159
136
112
115
167
158
112
136
172
194
112
150
210
220
165
112
150
172
121
228
124
207
121
238
196
228
150
150
121
205
147
167
208
240
215
121
208
177
136
228
112
193
160
209
217
158
158
150
167
147
186
112
136
208
121
150
168
121
276
177
195
238
124
245
179
150
150
208
191
160
154
228
170
195
160
203
211
112
150
172
203
223
172
208
177
150
121
112
171
123
152
150
228
121
206
121
207
192
112
121
214
172
193
220
176
159
219
171
212
121
150
137
202
172
121
186
172
150
112
213
152
225
121
170
214
194
147
167
275
150
196
150
172
208
182
178
150
255
150
202
150
150
112
137
203
186
237
164
192
228
211
270
211
186
212
193
174
159
276
121
150
150
137
172
112
150
115
202
150
228
208
167
121
165
172
203
171
130
121
210
170
165
231
171
150
152
228
176
112
176
212
158
192
150
150
112
170
173
136
150
112
150
145
174
121
121
208
112
167
160
198
130
165
158
208
123
203
181
172
112
210
121
121
196
186
112
150
208
150
202
121
156
123
135
208
217
217
171
167
170
205
204
171
227
112
228
240
121
243
150
150
165
121
171
176
139
170
228
165
170
171
121
150
228
220
167
172
176
235
167
128
121
112
213
342
143
170
231
171
150
220
196
123
192
272
123
172
130
121
167
112
150
187
208
214
121
172
181
150
172
167
207
121
171
112
115
150
174
123
121
208
208
112
208
209
165
131
167
208
172
181
170
204
181
150
121
202
170
135
136
215
123
112
246
150
208
212
231
170
210
121
212
121
150
150
172
123
214
170
202
210
115
194
167
195
208
201
137
150
112
203
150
139
112
112
150
150
112
187
184
174
171
150
123
121
150
115
168
271
115
112
121
150
172
167
202
199
208
167
239
205
150
208
171
121
235
167
205
208
254
150
220
123
216
124
186
228
182
150
235
182
172
170
167
150
167
150
202
199
172
150
201
237
181
253
250
208
150
172
150
182
167
234
150
218
175
167
123
208
164
112
172
112
194
172
247
112
208
234
208
150
144
158
158
112
297
171
137
112
167
205
170
112
170
175
187
144
203
228
112
219
177
171
150
172
121
208
121
217
194
121
172
187
136
150
112
225
156
202
210
112
147
135
145
208
260
124
194
115
302
194
135
150
143
210
121
190
210
112
161
112
172
123
150
174
167
210
208
231
229
176
121
159
186
231
267
255
203
176
172
240
228
121
208
130
210
150
112
182
172
170
220
112
203
210
181
164
258
121
193
121
212
181
112
194
228
150
150
241
150
112
172
209
203
227
212
121
112
112
121
172
244
194
178
158
172
130
123
121
208
112
112
112
181
181
172
153
137
239
167
115
172
194
186
167
150
215
121
171
170
175
177
150
234
136
212
186
172
255
217
112
181
112
159
176
124
156
150
217
172
158
152
260
150
202
192
174
167
220
171
147
255
297
112
112
112
112
205
201
167
171
112
135
297
208
258
173
172
165
182
147
112
121
112
218
208
121
147
112
150
121
165
121
208
121
152
150
121
135
150
147
167
112
167
121
137
177
200
144
172
177
144
170
150
171
184
158
159
150
208
176
187
172
135
112
212
128
171
167
177
121
112
160
176
203
176
205
195
187
150
270
195
162
167
176
150
210
150
217
208
128
186
167
165
165
177
230
216
205
170
203
177
257
143
112
184
112
112
121
170
206
176
172
112
150
195
123
112
253
212
177
160
167
210
150
112
192
208
112
167
167
205
189
172
121
187
184
202
170
112
194
195
192
237
157
121
150
123
185
112
224
112
203
172
135
121
187
208
124
228
210
216
208
141
112
195
115
225
231
209
210
150
172
150
236
150
178
215
121
112
112
121
112
235
208
278
181
208
136
176
168
201
181
135
164
176
208
208
150
165
150
179
159
152
121
184
254
112
228
201
158
190
210
121
115
150
112
112
195
255
121
128
201
121
159
228
150
194
137
139
115
194
193
172
193
136
226
174
218
130
136
150
172
130
112
121
150
203
208
171
128
135
171
172
156
115
121
112
136
121
171
146
167
209
121
136
150
167
112
137
181
255
208
250
194
250
135
136
150
206
150
123
190
121
187
194
156
115
121
135
208
150
176
135
194
177
243
208
195
123
192
176
121
218
241
186
195
167
150
167
231
143
150
158
172
121
112
186
130
123
170
147
150
220
164
167
236
172
150
207
150
238
112
208
164
112
229
150
243
150
112
136
193
150
237
177
170
135
210
218
150
193
164
112
150
214
189
135
167
228
206
136
150
170
112
208
203
150
237
175
224
150
195
112
112
237
112
150
171
207
150
208
212
193
270
219
229
187
175
171
150
176
130
195
150
208
112
124
121
228
194
205
150
150
257
112
176
218
121
121
150
172
112
150
187
156
182
250
172
150
150
158
112
162
165
171
112
150
172
123
112
150
167
150
292
220
137
219
121
171
160
170
193
150
212
112
150
212
215
168
158
194
112
240
115
165
215
208
302
172
237
135
112
150
158
112
168
208
184
150
164
150
128
209
165
225
194
121
121
195
244
150
150
189
182
264
156
207
112
212
170
192
194
150
150
276
181
255
208
260
121
215
192
201
112
112
147
226
112
231
121
208
121
150
112
147
186
112
121
172
176
112
172
121
170
227
112
164
209
112
247
176
150
115
150
150
121
172
266
176
177
121
187
263
121
112
123
167
186
128
263
181
209
242
160
167
176
160
115
205
170
150
112
170
265
198
194
194
223
177
203
121
112
208
164
130
237
181
207
178
171
150
205
178
170
205
121
192
150
163
226
255
121
150
237
112
123
112
195
121
130
150
172
228
150
121
197
171
156
242
121
172
147
240
112
168
286
195
123
171
207
171
121
233
163
112
171
205
150
213
194
170
167
208
168
112
150
194
174
112
193
190
112
176
150
131
189
123
207
121
181
147
112
164
170
210
159
208
150
150
121
150
150
178
172
195
167
159
112
165
131
250
147
170
176
208
203
167
168
259
205
171
263
150
112
150
147
208
210
167
128
130
186
115
207
178
244
243
112
170
207
112
112
195
147
167
123
150
112
210
121
174
201
121
166
172
135
141
112
167
170
163
150
195
181
214
176
158
112
202
115
208
193
165
171
150
225
167
150
210
228
237
219
112
150
112
147
170
228
112
152
112
177
302
208
176
172
240
194
112
112
241
174
121
150
229
150
164
112
189
208
171
225
150
232
223
121
263
201
112
199
150
167
115
170
172
276
130
177
121
181
121
160
143
229
159
143
121
112
165
136
150
170
214
192
193
136
171
172
112
167
192
159
229
195
216
226
150
210
170
171
208
208
212
121
167
123
121
150
112
150
170
150
226
184
121
150
208
121
115
167
159
123
150
150
112
228
202
261
210
170
182
186
143
212
150
167
234
167
181
112
171
150
150
240
194
167
201
112
112
146
124
208
139
150
150
150
194
189
121
228
239
143
150
150
112
177
270
121
112
212
121
164
230
130
167
208
150
135
112
176
130
150
112
167
219
121
172
112
223
112
224
164
172
231
175
165
208
150
276
208
220
158
297
176
236
162
233
137
176
165
172
121
135
237
137
275
195
218
171
193
195
259
158
112
208
218
228
201
212
157
150
179
124
121
201
210
165
167
150
112
150
150
143
150
112
128
175
237
150
147
121
203
112
121
112
112
112
112
150
176
128
112
150
112
124
256
135
195
150
205
204
156
302
172
159
246
112
112
263
172
176
203
179
136
162
159
123
218
150
206
213
112
124
209
167
147
121
204
112
231
115
150
276
144
192
170
168
194
181
130
150
207
150
150
215
135
150
159
135
165
176
156
124
124
200
193
112
175
184
165
172
202
175
159
170
187
276
217
115
172
214
213
121
121
231
139
186
299
208
171
226
150
229
171
194
147
167
164
150
208
150
181
150
201
176
176
250
227
128
208
214
217
194
234
192
194
137
193
170
112
217
193
172
121
150
215
121
167
250
175
167
160
214
150
150
150
150
112
186
225
168
150
139
181
229
115
203
187
124
164
194
186
217
167
137
112
165
194
137
181
179
112
208
167
208
218
193
121
200
121
144
236
167
112
255
270
192
208
208
121
115
127
121
167
168
172
276
187
299
186
158
177
112
112
226
112
112
115
171
208
193
112
167
168
123
170
174
203
247
123
143
244
172
131
210
194
208
230
165
171
112
167
121
158
216
112
147
194
236
150
186
170
255
112
186
254
181
228
176
150
167
210
121
167
112
244
130
150
130
130
165
112
112
250
219
181
192
136
121
112
160
165
147
161
150
177
234
217
208
121
269
137
181
207
170
208
152
172
121
195
194
171
121
208
150
121
176
219
147
226
121
121
150
172
170
170
208
165
112
210
112
203
206
224
172
121
150
177
212
187
112
165
194
121
202
210
123
112
206
170
210
202
161
150
121
195
135
150
137
130
202
207
171
150
276
167
156
147
112
186
158
172
181
150
174
231
172
162
239
208
112
112
121
135
302
157
170
240
172
164
198
158
165
167
225
196
236
186
170
195
130
137
172
196
186
168
179
112
147
136
171
176
137
135
188
167
162
150
121
121
193
150
195
218
208
167
226
172
211
147
174
210
150
121
208
186
239
212
167
112
121
181
216
194
150
150
255
208
150
171
137
171
177
250
165
194
165
207
150
226
121
201
201
172
218
302
150
160
220
172
212
168
167
150
170
136
121
228
208
210
231
136
239
185
167
121
171
203
165
204
208
208
158
239
174
220
115
137
263
172
209
210
136
112
112
241
121
194
150
150
112
203
115
193
237
186
196
112
194
195
168
214
121
115
165
137
255
212
121
121
112
209
167
158
164
193
233
112
217
112
228
176
194
201
275
239
190
115
150
194
167
228
137
115
210
135
193
226
128
172
158
150
194
172
187
150
194
123
121
112
168
121
183
208
112
193
299
217
160
150
228
209
196
152
150
195
150
207
167
153
201
150
147
209
233
195
172
219
150
112
172
205
176
165
130
121
167
112
172
121
202
158
147
168
178
146
240
211
150
150
240
150
150
181
156
208
208
170
147
124
208
121
227
121
112
255
171
121
170
124
112
219
167
187
137
172
112
121
203
206
150
136
112
165
208
135
112
112
288
208
187
147
167
168
208
165
150
150
255
194
165
210
136
112
210
181
150
150
150
135
170
175
147
171
112
165
150
172
170
226
167
150
112
250
150
203
203
172
241
112
229
236
278
171
112
196
208
112
264
213
121
212
121
172
192
208
208
172
112
182
228
112
208
175
182
112
112
165
150
208
210
212
241
195
121
147
216
221
136
208
150
121
150
112
194
177
174
255
121
186
150
208
112
223
168
121
186
220
167
249
212
150
208
193
124
167
171
178
144
159
112
121
172
170
236
112
171
167
124
112
150
172
147
147
224
167
121
208
178
150
172
128
176
228
112
176
201
187
137
121
176
152
217
196
224
112
112
208
230
150
226
172
186
112
192
170
171
219
176
150
123
208
181
225
172
158
209
181
112
150
121
150
167
201
147
210
201
181
150
150
121
208
147
150
187
217
121
245
156
183
189
150
207
167
136
123
123
170
254
261
112
170
202
208
150
150
167
194
157
112
226
176
216
112
197
121
228
121
137
170
172
212
208
170
121
187
272
179
210
254
174
239
150
195
112
150
197
160
178
181
226
150
150
263
170
112
205
176
150
160
112
177
181
172
194
172
121
203
168
121
156
195
218
263
121
170
112
206
255
150
112
167
175
206
137
170
207
175
199
135
209
170
208
201
112
253
150
164
233
217
170
221
187
193
150
193
194
124
206
175
210
208
233
159
208
112
186
172
195
205
208
171
195
186
121
136
182
150
172
160
150
195
161
276
171
171
176
210
150
172
208
123
203
150
172
170
201
147
167
135
193
121
147
237
124
112
112
150
121
208
259
171
170
177
222
181
208
160
164
147
219
150
176
150
208
121
121
208
199
173
195
199
170
204
167
187
115
204
208
150
225
150
226
187
150
112
211
115
228
202
172
265
216
175
202
172
208
172
156
150
112
193
150
115
137
229
135
208
212
171
269
208
150
278
186
220
112
152
193
194
150
231
181
187
137
150
150
124
135
167
121
135
193
121
150
174
128
112
123
165
215
194
150
201
150
115
170
210
121
112
186
223
181
212
159
214
112
135
208
112
170
208
167
150
112
167
208
208
172
171
130
115
231
167
186
167
239
226
232
206
147
176
186
167
121
208
152
172
220
158
121
172
218
190
189
174
184
150
112
186
219
167
147
112
215
220
112
150
172
112
195
121
112
171
222
215
156
150
150
208
147
250
208
144
217
112
202
201
181
167
123
185
150
150
135
193
167
152
124
123
158
210
304
156
128
209
162
158
212
160
259
150
147
167
187
121
160
174
168
215
207
208
150
176
150
208
156
275
239
157
181
190
212
170
205
165
208
217
218
124
147
137
150
112
112
112
219
256
172
112
172
240
112
212
121
115
181
181
167
172
123
181
234
112
173
112
201
121
121
195
164
136
207
197
202
171
147
210
172
210
115
123
123
159
121
156
112
231
170
112
240
121
208
196
165
194
165
203
208
208
208
150
189
241
135
150
150
150
112
194
208
271
171
208
171
172
250
210
239
121
165
208
171
121
226
195
210
172
228
121
150
147
184
175
232
124
195
150
112
208
208
237
207
217
150
201
150
121
199
158
167
216
150
186
230
150
212
236
112
152
147
181
187
150
112
123
167
112
257
146
217
171
150
112
186
172
181
215
172
175
150
203
212
112
121
225
150
170
150
186
203
172
121
175
208
207
192
150
181
208
150
121
121
112
203
165
112
205
170
208
160
124
121
202
176
159
257
165
147
150
124
112
167
226
121
150
121
195
208
165
208
194
123
187
175
167
202
205
112
123
159
208
219
124
193
172
228
193
150
225
158
193
194
137
150
150
167
172
167
210
202
279
135
124
172
171
257
167
167
194
112
281
112
112
112
121
115
157
121
208
186
208
112
167
112
121
112
195
187
136
159
186
167
186
112
121
164
112
160
121
170
150
189
209
210
208
208
112
121
171
130
186
220
112
156
112
208
121
193
209
173
202
231
171
167
170
186
143
164
196
170
170
181
158
150
160
237
207
208
193
112
194
202
150
165
123
237
161
150
112
226
167
150
165
237
218
186
121
150
228
150
157
123
150
260
150
193
181
171
231
123
193
208
181
150
228
186
124
115
174
158
235
147
208
237
137
121
150
160
172
112
128
150
121
131
165
237
215
158
177
150
167
121
250
112
157
171
121
186
165
217
217
231
164
210
112
123
112
112
201
194
195
112
176
186
231
179
217
172
195
228
136
139
158
112
121
233
175
150
112
172
232
121
186
150
168
176
225
124
150
112
171
146
182
165
172
112
170
172
195
250
150
202
167
135
124
150
167
176
171
240
208
121
130
170
232
353
181
231
170
168
176
228
172
172
121
184
150
150
258
150
112
195
179
167
121
115
147
115
237
174
203
177
158
150
156
228
121
172
186
137
172
147
231
167
124
136
244
123
228
150
112
212
112
171
208
121
205
112
167
115
196
170
181
112
150
150
279
213
203
179
121
121
147
124
167
220
172
250
172
172
137
147
167
124
214
165
260
112
167
135
112
150
194
150
208
177
193
177
237
112
208
171
147
230
115
165
121
150
208
272
137
276
199
181
195
209
150
150
193
208
186
143
135
195
187
121
115
167
259
208
112
112
244
172
171
158
232
202
115
170
121
172
208
172
208
229
150
144
115
211
239
181
267
165
112
121
208
121
208
121
165
234
150
150
201
170
171
194
150
204
184
167
208
121
150
172
208
124
302
214
174
170
143
181
168
208
121
123
112
115
208
112
156
150
238
208
202
172
179
208
124
176
193
121
150
150
121
208
227
121
112
112
121
176
112
184
121
208
112
112
156
193
170
171
171
181
201
255
216
121
196
176
228
150
250
202
150
218
172
136
168
242
112
167
216
208
220
137
112
228
136
172
233
250
171
186
215
165
165
172
177
194
135
255
150
156
208
167
165
177
123
201
150
171
190
189
208
218
208
135
170
279
150
208
165
121
121
226
163
112
150
121
236
167
208
162
172
192
201
217
112
195
115
208
171
136
171
112
171
203
171
123
212
150
171
181
189
172
150
215
124
165
121
193
123
165
136
263
150
241
235
150
203
147
150
124
182
302
250
172
175
177
302
250
177
137
112
202
150
162
168
158
171
112
202
150
199
238
123
121
150
150
195
186
228
112
175
255
156
143
170
240
231
219
135
210
201
121
121
112
194
121
112
202
194
202
150
207
167
171
121
150
157
240
150
208
218
219
192
170
257
160
121
165
137
147
150
150
172
302
213
135
165
112
208
112
178
176
121
232
112
208
205
112
115
221
195
228
172
175
193
201
222
165
112
170
157
145
231
245
171
179
207
208
121
167
147
218
123
203
174
208
202
112
228
181
194
206
207
172
181
150
150
190
194
150
167
121
112
170
263
139
112
150
170
225
240
231
182
258
170
187
230
167
242
174
223
208
218
172
172
170
167
172
171
121
210
172
170
170
168
208
121
130
207
164
217
172
194
255
194
150
274
152
167
208
213
172
161
230
245
208
170
194
196
202
186
131
168
167
208
172
137
208
210
222
165
167
208
150
228
121
112
150
136
136
115
241
168
121
218
112
194
112
167
121
167
136
186
170
171
250
128
302
170
186
218
135
137
147
112
232
219
112
112
201
150
208
228
150
172
209
220
208
121
150
160
177
159
170
179
115
193
217
172
172
167
230
172
237
234
121
181
159
181
172
112
212
165
135
165
112
171
115
237
208
170
184
181
150
112
160
238
236
216
195
137
121
150
150
231
128
208
137
207
202
121
172
168
171
179
131
165
181
150
165
202
202
121
150
112
156
186
112
235
257
167
123
239
255
181
112
215
220
124
121
150
121
123
137
150
170
159
112
136
177
229
182
150
112
162
243
112
121
143
216
188
121
210
237
135
219
112
121
184
112
112
250
137
150
121
121
182
150
165
112
121
190
171
121
112
195
144
229
121
201
181
263
137
161
171
167
208
150
218
112
147
172
112
170
196
178
194
112
167
172
181
208
167
217
123
236
208
150
112
194
192
208
150
189
226
112
194
112
208
172
172
165
270
170
261
237
172
112
228
137
231
193
165
208
121
150
121
208
260
207
121
218
152
267
181
112
237
201
203
176
161
112
150
273
278
147
201
208
181
167
207
150
184
299
240
121
164
278
196
112
137
190
150
226
237
238
208
177
150
195
121
170
165
165
121
229
124
187
194
203
150
112
205
185
225
112
223
152
263
237
172
112
229
181
201
112
171
135
112
176
195
170
112
208
168
165
208
158
186
242
170
212
276
150
167
158
192
112
150
208
135
115
121
164
208
252
172
158
136
208
181
112
150
275
186
147
172
112
150
192
220
239
218
176
150
172
201
182
171
165
210
181
228
178
172
150
223
240
150
170
209
158
150
210
123
190
131
210
181
212
176
158
228
227
150
177
112
263
150
229
247
150
171
115
174
112
208
167
147
112
160
202
121
187
179
137
150
112
181
112
172
247
167
187
112
230
123
137
187
250
215
211
135
121
171
231
210
112
143
182
123
195
245
150
168
184
112
194
135
164
112
112
210
160
150
121
112
194
136
179
201
150
205
186
181
250
250
128
171
112
150
194
250
255
112
150
177
159
121
178
186
254
229
135
150
220
228
233
172
211
205
213
112
195
201
218
250
121
150
220
207
112
135
150
170
115
193
174
121
121
208
174
172
167
227
176
232
217
212
172
237
302
236
233
123
121
124
236
150
171
238
194
130
136
147
208
150
156
165
172
112
158
168
184
187
196
150
214
170
210
181
213
218
195
217
194
231
186
187
112
121
167
208
150
150
231
208
193
150
172
147
302
219
167
150
112
137
150
170
176
213
137
159
137
150
194
174
220
136
238
186
174
121
207
176
220
167
165
112
150
189
136
297
203
123
150
242
216
208
150
112
195
176
217
150
112
162
112
208
172
182
165
167
228
164
150
194
232
170
156
193
150
137
211
228
115
218
181
179
214
187
193
176
257
167
170
192
203
170
194
150
112
112
158
121
121
150
194
121
135
115
208
263
172
208
150
232
208
164
121
112
237
174
112
121
112
112
172
207
144
193
167
150
193
121
143
135
203
255
112
112
187
121
195
202
128
182
276
123
261
112
112
168
179
150
186
150
121
121
205
208
208
150
174
208
112
167
207
150
210
150
150
150
219
164
121
135
112
179
228
192
194
241
193
233
150
128
176
147
150
228
112
195
228
170
229
176
150
170
112
172
150
176
208
112
150
232
167
193
195
147
136
171
123
302
143
150
194
150
237
112
172
239
229
208
159
228
164
200
135
195
208
186
181
171
204
121
181
211
200
165
158
178
181
235
112
236
130
181
165
219
112
150
178
162
158
130
208
150
263
150
158
253
174
150
147
280
205
115
208
121
150
112
193
170
112
147
150
150
175
159
193
137
121
150
165
194
130
158
150
210
150
212
112
147
172
210
231
239
150
208
212
172
123
112
158
228
188
170
165
170
124
150
237
217
187
207
212
172
150
181
121
137
207
150
112
172
194
171
150
123
158
215
212
158
175
112
121
112
167
121
158
255
121
150
186
112
167
172
160
177
150
143
229
208
210
121
237
112
216
208
231
194
121
181
210
208
159
150
167
259
208
128
121
208
147
112
187
231
136
121
167
263
170
121
218
200
135
193
128
217
244
172
237
176
136
152
121
201
182
174
179
226
297
150
226
208
112
208
172
177
112
167
123
237
121
186
174
194
219
124
203
112
192
136
164
165
276
277
150
112
208
150
219
150
121
112
128
150
201
150
179
176
204
156
170
150
170
208
208
112
163
225
112
278
115
175
150
150
167
144
112
172
112
213
121
150
205
172
228
121
172
130
170
152
121
265
115
135
170
165
171
176
112
167
187
226
171
168
177
150
177
112
201
150
212
267
202
216
179
112
210
218
226
265
194
212
187
276
159
171
136
121
184
207
167
349
136
156
205
212
189
207
112
225
264
207
150
136
150
167
172
171
147
208
172
220
207
176
203
168
263
112
150
208
346
187
115
181
181
165
255
253
121
231
172
150
121
194
136
208
233
121
212
147
205
174
121
201
171
150
150
112
137
194
167
208
165
248
160
241
177
228
164
112
176
150
212
112
112
121
158
187
199
177
147
165
219
186
124
167
121
172
201
135
112
112
220
121
208
137
176
121
186
186
205
194
150
150
112
123
121
112
167
121
208
121
212
121
257
181
136
172
121
240
121
229
170
194
236
186
254
170
124
231
121
170
187
206
193
115
208
112
137
276
231
171
176
167
136
246
132
170
150
217
195
226
172
170
213
121
172
121
289
167
196
167
121
231
208
208
168
172
112
208
278
164
208
228
195
255
218
228
123
123
170
135
170
160
207
112
112
195
170
121
121
185
112
123
279
210
196
208
210
230
135
150
121
200
211
150
172
186
202
150
150
121
174
196
150
112
171
146
121
121
123
194
112
245
172
204
160
112
172
194
136
208
121
136
112
237
112
112
175
165
167
165
112
159
150
121
170
112
222
168
208
256
112
205
221
121
159
231
115
208
312
112
209
115
150
210
193
204
233
218
121
172
186
136
150
121
208
167
201
192
242
172
150
189
137
194
121
150
194
228
181
225
202
206
112
170
226
212
207
259
112
255
217
135
171
135
136
136
162
153
150
150
121
171
152
165
137
208
158
121
167
170
213
181
278
160
167
112
156
164
172
150
135
220
172
150
150
150
186
172
167
177
184
172
203
150
210
193
186
208
121
112
181
121
112
202
217
216
172
147
187
234
123
112
206
112
172
121
112
121
215
135
194
177
121
171
121
150
112
208
150
158
186
112
172
137
164
121
121
237
186
202
219
121
187
181
177
150
184
233
220
183
228
200
176
115
172
250
208
220
203
171
231
150
150
181
150
112
112
167
238
112
228
165
164
208
170
121
245
220
112
123
170
124
165
123
170
194
172
241
143
200
165
170
167
165
150
112
164
172
186
121
230
150
147
167
172
115
112
167
121
143
193
302
208
237
172
208
236
186
170
150
135
208
229
177
195
164
229
150
150
167
302
121
112
123
232
112
121
195
112
143
112
152
299
137
172
121
215
150
194
260
150
112
150
112
170
121
167
124
115
121
181
179
205
150
115
112
123
150
167
172
124
175
171
121
239
194
172
112
112
159
112
112
172
150
205
136
167
236
121
178
137
172
215
112
208
172
250
232
208
112
204
171
112
195
184
194
156
150
179
232
121
170
208
236
121
147
150
112
275
150
171
194
150
159
135
136
165
203
208
201
184
121
115
112
168
194
150
136
204
165
171
172
165
112
178
212
164
170
172
144
186
170
137
112
187
171
195
123
171
144
152
124
194
121
172
236
176
195
150
236
181
186
121
112
112
167
158
208
160
170
135
123
150
181
150
181
179
165
121
150
170
195
159
150
177
172
157
211
208
208
112
121
250
112
207
164
123
172
112
115
229
208
172
150
172
176
137
150
150
255
150
123
279
185
203
150
150
150
168
201
181
167
193
231
115
112
172
150
150
208
112
176
255
123
181
231
112
115
208
221
187
170
135
150
152
167
210
211
200
170
121
150
170
170
150
145
112
121
181
112
112
181
204
124
237
124
158
228
174
176
219
198
220
121
149
121
160
112
257
186
205
192
121
218
209
186
208
222
170
112
150
172
150
170
171
208
121
168
112
165
167
229
150
168
208
112
112
171
123
135
172
176
150
136
112
206
121
172
115
181
137
170
135
201
220
150
192
220
170
150
172
121
112
153
187
189
165
194
226
139
167
150
186
123
121
147
112
136
167
171
193
175
195
121
208
147
254
115
201
183
124
150
233
199
180
150
232
112
263
167
187
167
265
172
167
210
216
115
128
181
182
230
194
210
123
150
112
112
195
112
128
165
165
112
195
218
135
171
170
181
171
208
179
255
208
121
165
278
121
150
135
220
232
170
195
164
192
150
195
112
150
150
150
130
123
112
168
121
150
147
193
121
170
260
208
150
150
168
115
112
253
167
194
226
172
197
210
112
159
175
208
135
150
150
208
167
228
150
150
137
218
130
152
172
112
170
176
181
115
136
150
150
139
121
121
215
112
176
208
112
112
159
246
230
210
167
302
167
112
202
263
121
159
165
158
147
176
121
115
150
143
210
136
172
208
171
208
228
176
186
150
220
160
121
187
259
187
171
137
150
168
167
192
170
209
150
170
121
212
112
121
167
214
135
177
165
150
170
218
228
171
220
112
165
177
170
167
228
167
172
188
170
150
234
193
136
112
276
165
134
172
112
251
128
130
176
181
112
150
193
146
194
181
150
170
170
123
170
136
112
174
165
170
112
172
150
215
137
212
150
172
150
121
121
236
172
147
187
156
210
238
112
177
213
156
186
121
150
176
193
167
123
172
177
208
187
150
121
200
226
190
208
150
144
150
170
112
186
136
172
209
172
192
225
172
168
203
112
186
213
149
170
121
172
218
243
121
150
150
167
194
170
167
124
228
150
170
135
200
175
158
121
265
184
184
150
170
181
211
165
219
150
201
209
176
186
195
121
150
194
193
181
150
150
208
232
112
236
115
112
201
137
171
172
150
121
112
150
170
174
176
150
167
255
205
220
238
150
177
172
172
228
158
112
194
204
202
233
121
181
112
112
208
112
172
226
208
121
165
165
192
167
167
181
172
147
176
194
152
192
230
136
176
201
172
172
147
231
171
202
264
150
181
172
176
203
210
137
208
189
229
202
228
171
150
175
196
112
181
196
161
158
212
121
136
121
203
276
201
172
181
150
177
139
121
190
181
172
112
174
121
167
211
208
160
167
242
159
208
156
121
172
208
150
274
170
167
233
112
150
121
208
164
302
150
217
181
150
170
121
121
123
228
112
221
177
135
150
158
208
137
176
172
170
167
139
237
237
228
167
123
171
181
181
121
167
206
124
194
176
150
150
192
112
112
216
267
150
208
150
146
211
194
170
210
135
112
192
171
112
239
147
150
170
182
202
234
172
150
205
192
176
171
160
112
278
156
171
112
121
137
208
112
115
186
123
137
250
181
152
150
150
121
112
176
208
170
150
165
275
170
112
201
112
218
157
220
203
207
112
170
150
212
150
171
201
176
150
237
112
179
112
208
156
150
162
208
189
201
208
165
185
210
152
112
192
232
232
196
187
143
174
112
223
178
121
193
186
201
194
208
121
145
189
186
165
217
170
215
201
214
156
150
150
164
208
171
172
112
150
167
170
174
171
150
269
159
229
152
177
218
163
150
264
147
112
167
150
170
150
147
219
178
123
172
213
162
165
150
121
150
202
194
181
219
219
237
112
170
170
121
150
160
210
121
228
187
237
121
208
115
229
150
255
135
220
112
212
237
240
121
218
165
156
164
156
121
217
115
150
170
130
272
115
175
123
194
123
136
210
123
112
152
156
208
187
208
150
219
171
208
167
165
143
136
112
232
219
112
164
112
167
150
172
194
112
203
165
158
152
208
150
239
167
121
150
128
185
170
112
112
112
189
128
208
176
165
208
112
112
181
112
150
175
172
165
198
150
299
205
276
112
211
218
184
170
245
143
150
121
123
206
170
150
201
194
208
150
112
164
150
178
186
194
217
160
172
275
170
208
164
112
176
121
112
112
186
228
218
121
150
250
121
150
168
255
170
121
170
150
212
239
156
264
212
112
205
156
207
112
165
172
164
240
152
112
193
176
123
150
123
121
112
181
150
195
121
241
172
112
158
143
212
159
112
150
150
121
115
150
174
112
194
115
172
202
172
159
208
150
240
115
195
136
170
147
170
225
194
150
184
150
112
170
210
208
112
112
112
202
171
123
135
172
179
203
135
112
255
194
236
112
218
194
150
165
152
121
228
150
192
115
150
112
147
136
150
158
167
152
143
253
164
196
208
157
194
228
112
208
121
112
112
161
193
150
158
150
208
245
112
164
280
205
181
112
123
112
167
172
181
192
181
172
156
228
150
164
192
123
156
208
150
123
123
237
193
150
190
228
210
171
167
194
208
123
226
208
176
137
239
150
194
207
112
236
121
218
196
167
146
172
165
172
204
112
158
121
210
150
170
186
112
187
165
237
228
220
227
186
136
236
234
208
250
167
184
231
112
150
210
202
289
235
230
176
175
164
135
168
124
121
231
150
150
121
228
210
112
263
171
202
208
121
194
172
250
205
172
150
121
112
150
123
112
171
137
205
167
187
150
135
233
150
158
121
112
167
115
179
178
112
121
162
146
222
150
182
112
171
181
232
123
208
218
210
250
136
225
171
187
171
208
150
150
123
136
177
255
121
229
172
121
176
121
187
208
176
150
270
167
171
121
150
172
210
121
228
170
255
224
231
164
135
150
121
121
135
218
167
208
112
170
171
150
226
218
217
150
202
150
164
193
186
227
121
208
186
292
209
112
171
123
112
150
194
157
150
186
170
171
195
208
194
241
167
123
112
269
112
201
181
206
121
267
202
187
158
135
147
193
179
186
179
181
112
150
272
121
195
243
112
112
184
278
204
186
233
150
208
173
208
112
207
167
195
194
218
194
228
164
150
150
137
112
231
168
226
112
201
171
171
115
262
181
150
112
121
137
205
150
174
233
121
228
192
150
150
181
229
123
207
150
192
194
237
167
150
121
150
265
217
172
239
230
135
194
192
164
187
193
237
228
150
228
217
192
121
167
165
207
203
194
228
112
256
195
160
228
150
158
208
160
194
124
150
146
150
215
112
212
150
202
123
112
194
249
163
233
121
121
130
282
112
228
136
207
181
197
233
121
168
174
202
209
147
172
121
123
150
219
204
172
150
150
112
123
112
214
235
236
171
186
177
201
165
121
218
206
112
167
123
175
121
124
170
227
170
115
255
186
176
121
112
143
171
112
237
228
212
172
137
150
276
136
132
208
150
182
112
150
171
112
192
164
186
175
172
170
170
167
159
159
214
220
121
177
137
208
135
167
128
112
172
170
136
150
162
215
237
112
112
194
121
224
217
172
172
167
170
207
192
150
276
167
124
167
112
137
201
172
208
208
250
170
171
167
150
170
186
245
208
112
167
172
164
121
237
121
208
219
112
171
158
150
123
210
130
193
208
159
202
234
124
171
144
112
208
228
163
112
150
208
181
176
150
150
196
181
150
181
179
172
193
170
121
112
150
186
150
150
150
150
201
176
112
150
176
115
194
121
257
152
150
208
112
172
121
182
187
121
167
205
187
205
177
121
210
220
150
172
170
112
167
150
167
121
112
112
172
156
195
186
172
170
150
250
187
112
190
210
167
171
130
115
194
238
176
121
170
225
171
208
158
210
281
165
156
208
181
182
147
136
150
172
233
202
115
150
136
181
112
137
112
237
187
112
112
181
201
150
135
229
121
208
150
171
152
157
147
172
170
203
150
150
186
123
175
193
150
112
160
150
176
130
121
186
112
123
228
132
172
202
187
172
194
212
121
121
193
195
167
164
195
194
112
160
130
121
181
123
197
179
121
187
112
195
185
176
150
150
137
123
172
160
172
257
171
112
165
175
237
233
166
181
150
232
208
170
270
112
210
176
177
146
167
121
150
170
228
208
174
112
124
174
123
158
147
184
136
238
121
150
237
227
164
170
170
208
121
112
187
150
171
212
208
192
170
231
195
112
135
186
172
186
112
112
176
150
223
121
186
195
189
187
220
150
135
167
150
231
147
302
121
150
137
208
150
112
150
168
171
150
121
218
201
150
150
150
130
158
209
150
159
219
172
147
150
182
231
112
184
112
172
194
219
150
176
121
171
112
238
123
210
172
236
150
187
202
121
150
130
150
267
156
201
112
165
150
150
143
124
136
112
112
229
112
172
172
136
179
172
209
208
135
170
156
150
192
181
162
121
250
172
226
150
112
177
193
121
164
150
207
226
170
168
208
181
147
128
136
228
203
150
171
234
150
172
112
195
198
123
170
112
112
219
150
150
112
255
137
195
121
171
164
167
128
112
150
176
266
210
150
170
206
164
237
176
279
172
112
187
167
150
208
121
112
208
150
228
172
176
176
172
167
158
150
115
175
237
201
220
147
172
121
136
212
210
150
229
207
150
121
150
176
239
235
172
164
150
165
208
170
208
150
112
208
167
115
171
208
165
181
137
121
185
112
220
176
137
135
170
194
208
168
177
170
150
212
233
172
150
112
165
143
219
193
171
263
152
170
165
210
195
208
112
128
228
255
167
167
170
121
208
218
112
137
164
185
150
272
192
112
242
112
172
123
150
147
176
174
115
145
186
181
135
171
243
112
219
112
214
176
170
150
220
208
233
233
257
219
150
228
121
197
186
171
115
171
171
167
152
172
165
178
112
239
156
143
152
170
135
112
181
212
115
210
121
150
210
156
137
158
203
136
202
257
233
167
150
186
181
112
164
112
209
196
165
208
176
187
219
121
112
121
112
171
121
243
174
124
177
239
231
194
181
302
112
171
165
164
176
112
226
150
208
121
226
158
186
156
177
112
179
150
235
161
150
136
263
194
150
209
121
206
172
233
237
158
210
201
208
115
172
194
242
181
167
167
222
172
135
208
112
112
193
150
176
112
112
200
208
150
218
276
112
207
147
112
150
146
258
158
239
208
170
201
204
172
177
250
246
160
171
170
123
123
237
239
177
176
202
203
164
112
231
218
172
172
174
170
150
150
210
167
112
201
147
214
123
195
231
193
193
245
171
150
121
115
233
168
170
177
170
229
202
121
150
231
150
172
198
135
112
217
173
121
171
186
231
186
174
167
130
150
176
150
112
243
150
215
208
160
193
115
219
194
239
217
135
150
167
121
208
112
213
171
202
167
217
172
136
167
208
112
150
176
171
156
263
207
171
214
208
159
181
123
193
192
186
135
112
195
237
208
193
121
150
208
150
164
233
112
208
112
219
165
112
158
168
181
112
115
167
123
207
187
112
172
121
171
205
202
150
112
201
171
229
228
189
139
130
150
121
147
150
187
165
229
170
150
170
172
158
115
112
163
137
208
150
218
208
112
150
121
121
243
158
201
209
208
172
123
201
177
208
181
135
121
152
121
168
205
232
228
208
165
170
165
167
208
259
257
186
156
150
164
165
208
121
167
121
231
170
112
112
219
112
242
194
136
150
150
186
218
208
150
208
150
165
228
123
112
208
150
164
265
176
150
172
150
176
135
214
212
137
123
193
208
276
144
214
226
112
177
231
150
220
136
207
121
136
112
121
170
187
172
195
121
121
172
208
181
201
195
210
121
121
218
135
124
150
255
192
164
165
147
201
178
208
150
208
150
112
112
195
218
121
212
130
170
150
150
208
112
130
150
121
181
112
225
187
121
112
112
112
167
171
195
245
164
170
115
150
213
170
160
112
172
170
158
217
239
123
172
135
150
176
228
193
161
172
112
112
176
186
112
200
150
212
194
130
167
121
218
172
204
170
250
215
253
175
165
150
206
150
121
167
152
212
112
121
112
121
121
208
182
121
112
123
115
193
171
201
194
226
150
150
159
195
255
121
167
194
136
115
112
112
223
194
241
187
143
137
228
150
207
150
167
276
135
194
206
236
186
147
150
208
221
202
112
208
121
170
164
112
150
121
152
123
208
188
150
217
173
186
124
186
255
170
167
112
150
112
240
128
208
159
194
175
215
175
194
160
168
186
186
112
150
112
302
136
112
121
205
153
150
202
172
194
112
121
170
171
194
194
177
194
195
121
181
223
203
165
150
217
170
121
159
136
194
172
167
121
150
121
124
171
164
172
230
121
135
192
172
194
112
265
144
150
112
121
150
215
135
215
112
176
164
112
136
171
252
208
208
165
197
174
171
228
226
124
112
205
199
121
181
121
112
172
217
165
263
121
112
143
150
227
228
124
146
187
121
176
194
160
181
115
179
195
170
208
121
208
186
143
112
237
150
112
172
121
230
171
144
150
168
112
112
137
121
207
136
139
150
165
164
144
245
130
112
167
193
115
193
167
150
179
215
112
208
123
160
305
121
241
121
115
174
112
158
190
194
167
220
150
123
230
177
121
181
269
121
212
156
167
135
210
121
170
172
165
130
121
137
112
179
121
193
135
172
194
112
210
136
158
189
172
121
210
121
208
194
160
170
196
112
170
135
150
121
212
194
228
259
210
121
152
208
115
112
228
123
241
112
121
170
150
194
199
192
235
187
162
171
150
156
135
150
164
217
177
121
135
150
210
144
176
176
115
147
271
137
121
258
121
112
234
115
208
135
130
121
192
187
150
112
193
170
176
115
208
201
208
150
209
121
208
194
193
121
193
170
165
112
181
112
112
167
160
159
165
171
195
228
150
219
177
130
187
210
169
112
200
121
130
171
150
150
137
208
115
240
150
158
205
112
112
112
112
177
130
121
167
128
192
250
192
202
121
121
123
130
150
208
192
276
167
228
121
150
150
232
112
171
160
121
173
199
194
212
123
205
207
172
171
112
171
174
186
172
194
121
208
194
244
112
150
208
112
112
167
245
146
220
262
135
208
170
123
208
170
150
208
170
205
144
193
152
150
239
172
257
112
128
263
193
206
193
193
192
231
150
231
224
208
112
172
170
112
186
112
162
115
150
194
123
150
237
172
162
175
171
176
165
237
193
112
112
172
172
238
165
170
157
235
153
208
147
159
208
243
194
194
112
228
170
150
121
165
195
231
160
123
231
164
186
208
131
112
150
246
167
112
135
112
150
167
264
112
112
181
218
123
150
215
164
112
147
158
219
167
121
194
124
170
121
186
121
225
193
208
150
291
112
228
201
214
147
202
167
176
121
176
190
160
121
167
143
112
121
208
240
150
112
165
219
214
172
172
150
254
172
121
217
278
171
164
214
217
150
158
186
112
150
150
158
150
189
181
184
207
203
112
239
150
150
164
167
164
164
210
208
208
186
112
224
121
202
215
170
112
207
150
150
275
112
112
121
179
176
115
146
172
203
194
255
177
152
135
121
165
176
121
150
227
112
121
193
228
136
208
220
112
235
170
194
150
150
194
186
272
171
137
121
162
121
159
174
165
147
179
135
121
234
171
208
259
185
121
177
121
147
205
226
150
112
201
235
216
196
123
112
176
176
121
210
150
240
226
219
205
181
147
237
170
160
203
124
150
256
121
170
112
168
115
181
196
164
112
197
112
143
203
237
179
112
167
234
135
150
159
136
214
202
194
208
164
123
159
150
177
236
112
150
150
112
172
194
183
136
249
150
170
150
203
112
112
135
253
170
240
150
136
211
156
164
168
194
208
161
194
195
130
150
192
215
170
164
150
112
150
196
121
192
176
112
181
112
250
112
220
143
160
217
231
208
123
167
167
150
112
137
150
150
209
206
233
176
236
172
187
121
156
181
230
208
147
216
167
150
121
167
241
123
243
128
237
204
189
221
201
112
187
167
170
181
217
225
196
170
121
212
150
203
123
195
213
210
181
150
112
218
181
225
172
135
112
167
167
208
150
187
275
121
170
121
150
167
167
160
160
243
123
172
150
128
147
112
172
195
112
163
112
214
187
150
179
207
123
171
112
281
212
202
112
295
174
165
171
121
195
171
165
208
115
121
167
121
150
167
219
150
243
181
150
199
167
165
150
170
210
195
115
192
171
257
112
170
193
186
165
121
165
208
228
156
176
124
194
150
121
150
124
186
150
208
164
150
121
198
206
176
250
228
194
112
112
172
186
135
150
147
208
147
226
193
200
172
121
205
167
121
187
278
231
187
121
123
170
165
150
156
207
192
123
212
225
172
165
121
210
150
214
219
167
258
263
182
212
112
237
128
184
231
150
233
137
135
273
195
170
150
112
194
171
135
121
172
150
186
173
150
187
202
112
208
184
176
172
112
150
170
195
176
150
205
281
205
194
194
112
187
220
207
167
208
172
228
196
210
136
172
152
170
150
172
121
156
189
194
171
258
158
121
167
150
213
135
194
121
208
253
150
136
195
172
165
192
236
181
171
194
147
112
112
209
194
201
165
189
194
112
123
186
112
150
237
245
208
150
158
124
150
136
121
150
257
172
156
176
250
176
171
171
250
203
176
147
208
112
181
121
150
212
150
195
150
181
158
172
181
121
176
130
112
112
165
207
112
189
150
121
150
239
121
160
176
150
256
165
158
157
164
152
168
123
208
208
121
112
162
137
150
123
236
174
181
139
121
167
237
112
179
228
178
181
150
112
270
208
128
208
156
203
194
208
150
226
150
177
266
112
177
150
136
121
195
150
123
228
150
218
150
204
121
187
195
202
231
220
202
150
150
209
128
194
112
194
228
167
179
208
177
150
165
150
167
150
123
224
219
112
202
167
112
159
171
207
143
156
228
204
177
228
130
184
250
150
203
177
208
135
207
112
112
150
170
200
112
212
112
240
168
229
212
181
112
177
231
240
112
152
165
187
220
181
160
159
177
170
171
150
261
123
160
121
112
112
121
176
123
193
112
229
112
210
208
137
124
112
220
172
164
243
167
170
146
208
255
168
112
193
124
220
209
150
121
150
165
172
176
150
136
150
150
150
174
221
150
150
135
150
172
150
187
172
202
176
244
217
172
160
123
115
262
208
143
150
112
167
158
186
186
158
121
150
112
112
167
181
150
156
174
167
170
121
171
150
112
123
167
210
156
121
123
193
212
137
150
194
112
201
208
115
112
121
208
167
167
247
181
150
181
231
177
270
112
115
167
112
159
121
201
123
228
273
150
167
121
147
121
112
121
194
215
171
130
172
170
121
150
121
112
150
186
150
121
223
115
167
176
196
150
208
156
176
217
174
137
235
121
208
264
184
205
182
121
232
121
186
218
208
203
150
239
232
112
221
112
281
121
159
121
170
220
150
231
208
123
170
112
211
215
137
161
112
195
170
171
232
275
176
255
192
112
181
165
165
150
159
121
203
201
147
205
147
115
121
172
170
147
150
112
150
187
121
202
208
128
112
278
194
121
195
150
121
185
176
187
193
164
112
237
175
223
179
112
165
250
112
170
185
195
112
192
150
121
165
189
112
197
165
279
195
150
203
239
250
218
150
121
243
112
208
123
150
199
193
123
210
208
276
121
147
194
112
146
112
172
220
208
172
215
121
121
174
112
194
168
228
208
199
147
150
160
144
170
150
121
208
167
232
150
165
123
231
232
219
207
150
112
112
170
237
167
208
157
186
150
208
208
150
136
172
214
195
208
217
150
194
170
150
223
210
141
177
137
174
187
201
135
220
172
207
139
112
208
215
165
121
243
112
187
186
201
121
269
262
112
220
181
227
186
186
124
244
181
150
208
181
137
150
176
112
123
208
225
123
201
123
199
143
210
145
181
186
112
190
228
232
137
112
112
203
121
121
112
159
186
176
233
135
208
256
150
147
229
115
112
182
155
228
194
121
223
158
135
150
228
123
236
162
202
195
225
170
147
121
175
210
205
209
165
167
208
201
194
219
289
220
112
200
202
121
167
243
152
208
150
150
208
218
183
176
136
174
194
180
112
150
194
238
172
261
121
170
202
195
174
150
123
150
176
234
150
121
150
136
159
199
167
168
228
170
170
123
165
193
137
177
112
172
172
121
150
171
112
193
135
165
150
170
219
272
161
228
137
160
135
167
112
136
150
115
115
208
210
208
208
170
121
112
172
121
136
150
165
115
165
137
202
137
186
150
136
250
278
240
203
121
150
112
176
208
121
186
250
226
112
205
170
172
150
112
195
208
193
121
150
200
208
239
112
167
174
187
157
159
171
123
150
172
226
165
123
150
150
160
123
167
203
150
112
228
181
167
194
192
112
202
150
115
112
150
158
208
229
240
170
275
150
150
240
237
121
112
112
167
264
123
121
205
208
208
201
112
208
170
112
147
150
211
200
137
179
259
135
158
124
112
213
150
158
212
170
150
161
112
206
121
171
170
152
150
227
172
217
171
167
112
227
187
208
167
112
135
112
170
150
203
123
195
172
170
208
211
208
207
147
167
150
167
171
219
194
190
187
176
181
208
121
130
208
123
121
219
230
196
165
144
112
181
167
121
115
124
171
150
205
115
172
178
176
187
150
174
208
112
208
112
186
176
210
112
195
177
159
210
304
147
136
130
121
176
231
137
170
171
194
121
164
167
165
187
150
225
171
112
172
121
178
170
176
121
137
150
263
208
179
121
112
123
194
164
299
172
187
208
231
302
176
194
167
112
208
150
170
124
112
121
124
136
193
233
156
112
135
112
168
176
121
121
208
210
168
210
210
121
135
170
204
194
112
123
152
150
239
172
112
170
194
130
193
229
112
130
176
112
160
172
150
202
220
150
208
121
206
202
171
229
203
147
186
170
165
187
112
171
112
165
115
137
191
121
150
150
150
147
136
199
173
228
194
160
121
170
220
208
168
112
176
150
194
206
208
165
208
160
128
112
172
171
158
171
112
112
208
179
208
130
160
112
112
150
208
135
150
167
150
121
217
208
171
150
194
112
143
201
172
172
150
206
167
112
150
150
208
174
167
167
225
212
170
172
213
121
179
202
181
123
201
135
112
150
128
272
112
112
238
193
168
121
159
171
195
233
167
186
220
243
195
203
121
259
181
202
181
219
150
220
167
194
150
211
208
203
276
135
150
150
171
121
220
219
255
202
187
195
265
178
208
121
171
172
121
121
219
160
170
112
192
150
236
193
167
124
136
234
208
212
121
121
181
174
210
115
137
175
150
241
128
115
121
171
171
155
112
263
137
143
112
194
208
112
194
150
167
176
219
136
210
150
231
135
112
247
112
222
124
130
180
167
137
150
150
196
208
147
124
123
123
167
137
256
213
150
171
181
221
124
208
231
165
150
123
172
150
195
228
121
229
165
150
170
186
150
135
150
167
208
172
159
130
177
168
193
175
150
208
237
284
121
124
176
121
112
159
121
112
194
115
172
172
228
174
152
150
143
121
150
156
112
186
171
172
152
227
175
168
123
167
212
194
193
194
194
170
159
170
226
165
150
194
208
170
208
112
208
201
121
226
177
171
112
171
150
150
112
121
181
130
185
112
279
208
194
208
150
164
112
204
170
164
208
121
171
207
165
174
123
210
208
205
112
177
207
192
159
121
172
171
170
182
147
187
165
264
112
226
123
172
229
123
239
156
208
115
208
172
214
184
150
165
123
150
208
123
135
228
150
208
192
150
201
150
201
165
121
176
192
141
170
229
158
172
186
171
115
124
170
199
197
136
150
121
136
112
112
123
171
170
121
172
229
170
218
177
239
254
208
168
198
181
168
112
201
115
187
194
144
121
205
150
177
124
165
150
168
150
121
202
246
158
172
158
121
172
172
195
137
172
219
112
167
175
194
150
150
137
121
112
194
186
112
112
205
302
212
237
115
128
237
201
164
180
112
131
150
189
173
131
210
170
121
165
187
193
112
150
123
263
158
158
172
194
194
230
171
243
115
228
186
112
230
170
130
179
137
214
228
123
201
147
250
171
112
150
228
193
193
121
194
203
228
175
208
137
208
163
150
150
121
194
150
150
224
172
150
177
187
150
172
171
216
135
208
174
112
150
112
212
243
263
237
121
170
194
172
161
194
165
172
121
150
177
130
195
196
136
123
220
176
152
112
186
124
121
165
150
170
159
170
170
208
137
176
112
121
207
150
208
150
302
150
250
242
208
279
167
150
232
121
152
112
135
171
172
205
112
121
159
112
123
222
203
233
135
150
150
215
143
112
112
158
192
171
121
242
210
208
168
168
176
112
170
201
186
176
273
150
121
278
247
121
150
121
115
168
146
137
150
150
112
136
181
112
250
150
156
208
219
112
121
167
171
171
170
150
208
181
247
136
194
161
139
229
175
150
206
150
150
210
121
193
208
167
143
172
243
250
215
163
158
165
121
271
176
189
150
207
208
187
201
167
158
227
208
150
150
146
130
249
292
201
194
112
171
227
150
172
181
121
124
152
208
121
115
229
156
205
112
231
124
150
190
136
176
208
112
150
208
171
124
277
112
150
172
150
150
167
150
167
162
156
146
182
172
156
164
208
201
236
157
187
237
121
112
170
175
228
176
195
150
136
186
229
233
150
150
175
172
302
194
136
112
123
150
147
193
121
130
189
147
243
194
121
186
226
228
123
167
250
172
171
146
208
184
217
137
208
170
121
156
170
205
181
170
241
170
172
208
121
165
150
208
150
215
121
206
231
124
184
170
173
194
123
202
159
172
174
137
194
228
173
228
231
135
218
112
121
208
112
228
150
186
244
135
185
150
239
212
206
184
112
299
167
199
165
112
181
194
186
157
213
165
172
222
152
203
152
137
137
184
150
228
168
160
112
167
197
167
150
112
179
170
228
208
192
121
150
182
208
212
167
187
112
218
208
201
128
236
112
170
121
170
194
210
150
208
257
247
182
187
232
137
176
121
150
195
121
171
121
176
121
124
229
121
150
205
218
172
232
156
156
147
121
150
137
250
176
208
228
219
121
208
112
156
121
190
208
208
239
208
123
150
121
187
208
258
208
207
112
112
201
167
176
121
207
150
181
172
150
121
186
121
230
135
173
135
112
255
215
167
257
220
171
250
171
195
187
228
121
150
229
121
121
193
157
203
170
150
112
121
172
112
167
171
208
190
171
121
181
112
150
112
201
136
144
150
163
123
112
121
136
158
121
115
170
112
202
143
112
165
135
172
208
228
159
217
275
150
167
170
202
164
218
123
226
243
203
235
181
159
150
137
121
170
150
187
156
177
150
207
228
206
152
255
128
115
112
150
193
207
135
302
112
150
176
194
225
195
121
137
150
112
123
121
150
124
136
208
160
194
121
167
184
147
115
236
150
171
172
112
237
203
172
167
203
123
201
193
225
182
194
135
152
112
150
123
205
112
196
135
137
112
128
150
282
181
115
150
274
208
121
213
159
121
189
233
174
121
278
123
203
192
208
171
183
150
165
187
194
150
176
212
209
186
208
167
150
181
158
208
176
112
147
150
193
231
150
195
199
195
150
112
167
167
181
206
220
186
204
124
194
172
208
150
112
208
130
194
193
170
212
226
202
178
150
197
253
224
150
121
172
150
176
205
201
201
112
181
112
123
150
121
203
150
183
194
112
176
182
150
168
250
150
225
150
121
195
194
150
121
187
147
135
284
208
208
186
194
167
150
228
137
208
208
201
196
226
170
167
256
186
152
171
232
112
160
168
137
208
228
170
124
112
146
150
208
235
112
263
174
195
269
112
112
226
121
225
208
172
176
121
143
170
193
253
115
193
176
267
167
150
235
123
121
252
195
193
219
168
172
115
220
213
150
203
165
115
170
225
121
179
173
172
167
147
205
165
170
167
208
176
192
205
226
135
112
231
121
112
160
212
186
137
207
232
150
150
170
157
231
208
112
171
170
160
212
170
135
172
112
166
135
208
228
112
181
112
136
218
163
112
170
121
170
171
121
186
121
228
112
181
187
112
243
121
167
162
186
278
137
266
115
302
228
181
174
186
112
170
121
228
112
208
226
203
208
112
115
195
168
137
208
143
217
216
130
112
112
208
150
150
121
137
171
228
187
210
121
150
137
143
268
255
210
171
150
228
150
256
233
123
124
208
112
226
137
210
276
255
170
130
276
165
112
150
150
171
278
112
202
150
112
121
203
232
112
171
174
112
228
150
165
288
170
176
194
299
187
121
150
167
121
232
192
220
112
226
170
216
112
202
175
192
208
170
203
165
171
121
212
150
209
112
112
158
186
128
181
202
168
139
159
159
152
250
121
158
253
187
250
228
201
190
186
203
150
167
220
112
233
123
192
135
250
210
112
217
210
170
112
115
195
135
150
136
172
215
121
236
218
112
121
255
236
150
121
208
150
167
171
171
201
121
187
137
302
121
123
200
150
121
178
136
136
167
195
203
199
172
121
172
219
195
150
187
152
128
150
174
123
136
229
112
112
207
156
150
208
194
178
186
189
137
208
185
147
186
150
202
150
212
112
161
150
150
165
208
250
202
176
209
150
192
147
246
167
217
121
210
172
150
218
190
195
213
112
157
219
150
121
135
250
171
194
121
187
165
195
137
167
147
186
150
170
121
187
227
121
177
195
121
184
112
181
176
181
237
124
112
200
172
136
146
222
112
112
150
150
112
168
218
150
187
112
171
150
210
136
210
195
152
177
112
156
167
172
226
164
112
172
181
202
150
135
167
216
171
172
123
112
186
187
123
220
187
179
134
171
172
234
209
181
112
171
215
152
152
158
208
204
121
228
112
208
178
121
171
112
208
160
202
136
136
208
144
165
158
208
202
121
237
195
175
170
202
192
188
181
158
181
181
123
150
112
112
173
171
172
152
192
121
136
190
130
172
121
179
241
121
167
124
208
150
171
150
177
130
255
112
184
172
137
210
190
170
181
165
202
121
150
165
167
223
112
170
167
112
245
239
214
150
208
170
167
147
147
182
112
218
158
170
218
220
229
121
172
181
218
121
112
172
201
124
167
167
150
265
232
112
210
194
112
212
124
171
137
112
112
179
172
230
187
218
299
150
229
171
115
172
181
123
137
135
208
112
150
184
112
170
160
176
150
220
181
176
234
194
121
112
160
123
274
112
167
237
121
210
121
170
172
193
112
208
143
212
136
250
250
123
178
150
172
217
150
112
170
194
123
181
176
208
193
130
186
208
171
159
203
112
181
224
208
186
208
263
172
167
147
203
195
194
112
236
170
150
150
208
165
212
228
181
228
135
203
226
159
150
171
176
121
121
232
112
212
137
167
172
170
225
112
121
150
216
150
150
124
112
312
212
135
210
250
172
219
170
209
115
112
207
177
136
256
167
160
218
146
150
130
112
209
171
112
167
184
187
172
121
156
169
112
196
208
150
121
208
150
210
167
150
167
150
195
194
229
228
112
150
170
137
167
147
150
150
171
200
112
242
135
284
236
201
237
174
187
255
150
205
234
168
121
112
172
231
272
112
112
121
150
152
150
164
121
174
112
112
203
233
240
170
112
150
121
150
121
112
150
202
201
112
194
240
219
196
123
121
121
179
174
201
237
219
208
212
202
240
112
228
165
150
195
121
123
176
170
165
174
152
210
194
112
150
150
150
157
208
130
202
217
150
194
218
150
175
159
150
172
171
112
152
172
173
211
199
150
239
210
112
137
167
208
208
220
194
167
208
150
187
237
208
265
279
115
123
121
150
181
164
207
187
150
158
168
112
159
278
112
147
201
136
172
170
136
174
115
123
150
150
121
218
150
165
208
201
150
135
137
150
167
245
167
237
167
150
176
136
170
112
115
174
157
172
232
160
121
231
171
192
172
173
226
137
112
278
150
150
112
182
112
124
150
170
137
150
215
147
150
165
121
210
172
172
186
167
165
186
244
258
278
115
121
156
208
208
157
242
152
202
170
150
121
121
225
167
232
159
210
165
167
156
237
181
165
181
212
170
160
115
255
237
112
123
135
144
219
179
237
121
123
232
185
241
167
237
112
121
235
203
112
250
152
112
150
172
222
229
181
165
249
167
197
150
170
112
170
186
226
112
228
187
170
208
156
128
172
229
184
112
165
112
229
150
186
164
172
137
192
135
218
152
158
150
237
231
150
216
208
225
135
250
121
121
158
172
208
130
112
112
203
193
203
143
208
121
195
165
112
203
121
150
207
190
210
214
208
228
121
174
121
241
112
275
231
174
176
135
150
186
150
299
186
208
187
150
176
225
181
184
146
192
201
233
136
178
137
208
112
130
160
187
167
171
112
174
208
112
276
137
139
217
233
131
121
179
165
193
121
170
232
208
167
112
147
146
258
158
253
206
208
153
226
199
297
176
150
167
170
135
156
228
250
210
233
242
181
236
170
181
150
112
150
160
195
278
203
205
112
192
241
236
112
150
150
123
150
121
112
170
112
171
176
121
172
216
112
150
208
150
152
189
187
130
228
181
228
190
123
219
170
210
150
172
167
196
194
150
201
179
150
205
172
112
167
311
175
147
112
263
112
172
203
112
124
137
121
165
121
194
302
195
130
172
167
176
167
208
170
171
150
195
135
150
121
220
150
256
115
158
136
231
211
208
186
202
174
150
196
128
217
197
115
187
167
216
172
230
156
112
205
208
184
170
237
219
150
202
216
128
214
150
150
121
237
137
112
167
136
187
217
237
220
150
194
135
208
194
150
115
167
210
176
206
190
229
112
167
189
228
181
121
175
124
176
150
150
150
115
171
123
193
121
196
130
150
302
112
150
150
121
231
237
121
181
256
147
121
121
181
167
112
159
121
208
206
171
172
176
226
112
172
186
201
260
225
124
230
167
135
112
179
213
202
147
121
147
172
150
121
135
168
150
144
135
160
112
218
194
193
170
207
170
208
112
207
112
159
187
121
204
112
167
150
231
150
172
167
167
121
150
235
217
250
217
208
187
187
253
157
121
200
165
157
218
172
253
150
176
282
234
250
219
236
208
124
194
208
176
170
196
135
226
206
150
112
233
179
124
112
112
112
195
170
208
121
208
150
278
172
279
121
208
216
201
194
112
181
172
150
208
178
132
150
172
112
194
172
112
170
172
205
231
193
147
150
112
158
228
112
210
121
214
195
164
170
170
121
123
112
150
112
170
218
174
269
211
209
112
170
209
184
220
150
194
167
210
192
150
130
135
194
255
161
250
167
128
191
187
179
136
150
165
237
171
170
159
194
228
167
121
186
162
150
181
165
218
161
255
150
202
219
170
203
193
219
112
181
158
112
170
194
121
123
195
233
194
112
147
210
173
150
214
234
121
186
195
185
210
124
136
175
123
243
205
201
112
181
162
150
112
112
121
165
208
276
167
150
182
121
257
190
112
237
112
172
150
172
150
228
112
163
150
164
176
150
128
253
150
112
112
165
167
150
150
226
229
150
123
112
172
182
150
123
176
197
139
225
137
136
150
203
124
172
115
180
193
121
123
176
172
228
150
112
177
176
171
112
187
112
121
112
172
124
156
150
121
187
195
228
202
121
195
208
143
255
112
123
147
194
115
112
211
121
233
144
196
208
170
193
213
192
112
121
112
170
172
112
212
202
150
112
229
112
123
170
195
159
185
150
212
235
175
264
160
150
270
150
195
194
121
121
115
171
177
211
208
167
121
150
196
193
150
172
186
171
150
172
150
121
121
207
193
150
244
167
150
176
172
121
121
112
172
243
112
205
172
164
143
112
171
210
144
228
156
150
123
121
158
167
147
195
150
150
160
150
171
152
172
121
121
112
181
213
172
123
208
208
150
172
250
186
218
112
112
143
168
208
173
177
192
202
181
135
159
115
191
164
121
208
136
132
112
150
159
150
112
112
135
167
171
203
167
150
194
181
237
210
136
112
188
158
203
208
156
236
112
150
112
121
236
167
203
176
210
112
150
193
152
150
255
181
201
152
112
187
208
150
263
208
175
186
137
112
248
204
150
112
228
164
238
112
228
219
121
121
136
208
170
170
193
239
170
167
150
143
214
165
172
186
160
157
172
239
165
173
208
208
253
135
171
207
202
221
176
181
137
237
150
164
214
150
177
137
112
112
170
212
112
121
124
167
205
219
150
152
112
121
136
201
170
184
160
152
112
208
234
150
112
167
223
179
184
237
156
174
235
130
177
136
177
211
150
210
150
194
190
224
150
172
156
208
179
150
121
194
225
150
239
115
210
167
194
159
146
121
217
121
150
282
208
212
186
167
263
112
195
182
193
194
121
226
161
123
239
224
194
171
174
187
170
237
208
124
194
121
202
150
164
178
208
171
260
168
112
130
234
150
150
121
209
150
186
112
112
121
239
237
143
182
150
228
207
163
150
121
194
112
112
150
150
189
115
186
195
172
230
137
192
172
250
167
123
121
202
208
174
194
218
112
172
112
203
171
112
136
181
150
150
150
213
150
230
165
172
150
195
228
196
210
137
150
208
121
121
239
156
167
171
207
189
219
186
112
159
160
135
112
232
165
167
150
168
144
181
240
182
186
143
242
302
156
208
156
171
115
181
112
112
203
267
170
150
112
176
121
200
238
124
237
208
189
193
115
159
181
112
165
186
172
177
168
150
179
112
208
257
123
208
137
150
179
176
208
144
176
160
171
218
167
177
194
228
231
112
193
171
208
192
150
150
187
208
215
150
136
147
123
137
272
242
202
147
150
217
228
121
228
121
193
136
170
150
167
225
177
177
208
121
173
150
226
203
217
150
121
172
112
214
167
150
160
188
121
160
144
228
170
144
250
210
208
176
164
112
171
150
208
150
158
184
161
150
240
167
242
150
156
250
219
165
150
215
150
164
176
178
150
190
171
177
150
167
227
199
123
261
255
244
123
112
208
208
197
136
256
143
150
121
112
205
210
156
150
150
208
135
130
212
164
150
226
137
121
112
150
150
150
186
189
167
135
121
202
135
193
193
245
208
208
158
244
203
228
201
164
112
172
150
121
187
150
112
171
208
164
208
123
193
208
121
167
121
112
112
193
159
112
167
150
135
121
170
160
208
227
229
172
172
203
123
181
194
195
121
123
121
187
172
195
158
218
170
156
150
237
112
121
143
150
233
208
243
265
208
165
165
181
181
150
121
143
195
123
150
172
123
157
130
121
167
150
121
112
165
112
170
121
121
136
174
165
158
231
172
167
237
170
112
171
150
150
150
218
121
172
121
184
176
184
231
165
208
172
172
181
135
253
187
181
240
195
187
208
172
177
187
112
137
204
228
121
228
272
210
198
210
193
112
200
147
231
208
207
220
112
171
217
212
112
206
112
136
200
112
150
167
150
202
124
255
112
112
176
146
226
121
178
121
208
115
239
228
121
112
167
205
243
182
152
208
123
150
193
213
181
228
177
218
147
194
172
121
150
211
176
177
234
121
112
168
121
208
150
198
267
224
143
219
255
170
171
112
112
208
170
202
176
136
194
194
208
231
165
112
172
193
208
146
211
210
156
112
156
150
124
226
205
167
208
194
150
218
124
203
203
201
203
172
237
243
201
234
130
177
302
205
112
225
150
227
112
136
121
231
187
208
112
135
212
264
150
201
112
123
112
168
158
168
209
181
170
182
150
237
175
112
112
184
150
167
181
123
165
237
208
165
112
187
112
219
181
213
115
135
239
168
201
167
229
167
123
112
202
232
210
172
112
147
150
135
187
243
150
202
121
236
259
192
143
150
165
208
167
167
212
181
192
150
174
172
174
214
165
174
112
193
112
218
215
150
193
150
243
206
208
231
228
207
172
187
112
208
193
250
230
225
174
245
208
112
112
135
121
112
167
193
156
150
236
112
181
164
158
150
115
156
210
186
212
165
177
193
170
208
238
112
176
171
150
175
221
204
147
150
201
147
121
150
150
254
150
150
150
208
237
276
121
167
172
112
121
168
115
121
150
205
150
218
181
177
201
208
147
170
212
150
194
136
115
174
121
225
158
112
181
147
179
172
265
181
208
164
244
172
157
239
137
190
112
193
179
241
150
167
150
167
150
212
208
181
167
123
121
150
208
225
147
150
218
137
231
150
176
190
170
137
239
212
243
171
135
112
150
171
194
170
177
218
196
147
202
112
128
201
164
208
136
205
178
181
234
181
150
160
150
150
147
174
212
240
208
302
135
199
193
176
171
228
150
165
150
208
121
158
176
208
167
173
121
160
170
112
112
172
121
208
287
112
250
194
121
208
150
160
156
121
167
112
176
135
208
137
131
167
137
212
229
208
150
194
219
123
256
176
158
112
150
150
150
121
150
165
115
194
159
172
184
202
158
195
121
153
226
172
187
115
202
112
112
195
150
124
112
124
112
165
136
172
212
112
112
112
208
231
112
194
208
170
158
112
193
255
242
210
243
202
150
231
121
147
184
121
208
176
208
150
237
150
218
187
212
112
282
240
201
187
181
150
230
194
121
123
121
197
176
212
152
121
150
167
121
219
192
212
203
240
187
195
135
128
193
150
212
121
201
218
187
150
150
150
194
175
112
193
231
200
150
123
150
186
112
192
143
150
172
112
172
123
165
193
208
208
159
224
198
170
171
124
121
172
167
208
160
171
186
167
231
112
158
208
121
208
121
195
248
206
190
121
158
150
112
150
121
150
208
203
257
233
112
121
203
193
121
208
150
150
250
147
160
121
170
158
232
121
172
262
150
172
263
112
156
208
205
170
171
220
124
193
112
123
121
261
112
150
284
187
236
158
150
150
112
184
220
112
212
150
158
172
150
150
150
150
208
238
158
150
208
147
172
176
150
219
195
205
187
167
121
167
207
167
172
302
112
175
175
112
196
170
192
167
112
136
231
208
112
112
112
150
150
112
232
121
121
240
271
172
211
152
123
196
150
225
123
194
194
150
124
112
139
218
181
170
112
208
112
112
272
176
150
112
150
187
124
150
112
150
165
208
112
168
150
112
208
297
168
167
121
231
130
171
212
168
208
254
175
228
164
121
165
170
172
171
171
115
136
172
212
167
137
123
136
150
194
223
208
167
193
112
281
121
237
165
228
203
150
121
208
181
152
193
170
159
220
135
186
218
243
172
121
219
112
150
112
176
220
181
228
203
112
172
112
208
214
218
137
164
165
231
259
160
171
150
123
181
170
112
202
185
217
121
150
136
159
123
170
181
165
172
208
167
121
172
217
167
207
170
150
123
172
210
167
228
167
124
346
195
225
150
167
121
164
112
167
112
137
115
115
208
207
172
189
121
150
198
179
158
112
150
112
124
231
150
150
194
208
208
176
201
150
228
212
123
112
112
193
172
167
150
232
208
121
158
181
112
206
170
235
259
210
150
250
112
200
217
112
195
170
181
181
175
193
171
136
167
186
202
208
196
136
112
167
150
170
158
112
121
208
205
121
202
147
121
172
220
195
193
177
203
212
150
208
185
195
112
167
121
152
195
167
167
150
124
263
165
228
123
171
121
150
167
112
172
172
210
171
210
124
225
167
221
112
212
124
172
188
136
112
250
208
112
121
112
164
205
135
179
167
230
115
190
121
112
212
150
170
150
201
124
124
159
150
137
225
176
121
203
150
187
124
210
150
150
164
187
150
150
170
220
235
225
171
202
150
171
165
150
194
171
187
159
201
194
158
168
187
172
172
168
167
231
158
210
121
238
172
177
216
112
194
170
112
112
121
175
136
150
192
170
219
228
208
218
214
193
243
196
112
146
167
178
121
181
208
194
212
216
212
165
150
243
170
167
170
208
208
121
167
153
172
187
165
170
194
208
203
204
237
165
177
212
130
150
172
297
237
181
172
208
176
121
150
187
150
164
150
208
171
185
115
170
172
171
171
136
123
226
121
137
165
192
164
135
193
165
167
212
160
150
226
228
150
231
186
203
196
174
172
176
198
172
187
136
121
206
150
212
162
172
218
178
168
187
220
221
175
186
112
167
172
150
121
210
152
239
228
121
243
238
176
150
112
215
263
150
150
160
185
171
150
195
175
179
171
167
150
137
165
150
208
239
184
208
136
167
228
112
176
172
195
175
170
150
136
192
136
195
208
150
235
256
150
171
172
223
150
112
112
121
177
202
178
178
176
187
152
121
194
181
124
184
167
228
150
112
177
150
136
130
165
172
124
121
158
172
194
232
210
210
190
209
112
236
189
243
171
112
167
112
167
123
135
167
121
170
174
135
112
121
136
167
150
150
137
186
211
160
150
121
147
136
161
208
165
208
184
136
250
171
115
194
170
112
112
173
167
112
159
158
123
178
220
176
202
179
112
194
199
201
208
210
150
281
231
112
187
150
121
136
186
167
167
200
172
184
137
150
121
167
244
228
150
195
112
112
150
195
214
135
121
167
170
206
150
121
172
112
222
152
147
208
112
164
171
112
228
121
177
112
164
121
205
171
135
137
276
121
181
150
255
250
121
150
112
150
208
160
278
172
207
112
195
202
112
124
170
121
239
121
171
187
137
210
170
112
130
223
186
165
121
208
208
171
131
203
181
167
137
150
127
159
208
181
121
150
202
121
217
220
174
150
121
211
192
171
165
150
172
150
181
121
121
150
150
208
121
171
194
173
150
240
208
194
208
176
255
208
250
137
226
150
219
164
115
278
210
150
112
121
187
203
147
172
216
250
112
208
112
156
150
228
143
136
112
278
199
112
187
158
181
187
167
220
115
167
176
150
173
121
121
194
181
243
150
170
171
203
150
261
167
121
112
167
172
150
210
112
121
170
211
172
194
156
208
150
112
158
121
172
112
167
237
204
237
121
156
172
208
208
240
171
147
136
250
208
172
165
167
137
112
150
177
181
170
174
177
184
210
232
112
164
121
172
189
150
172
228
171
232
136
184
156
150
167
124
121
181
150
121
226
172
195
112
275
152
112
165
150
170
112
205
210
115
121
167
135
165
150
112
136
112
150
112
137
194
137
136
121
137
186
210
150
208
193
112
170
267
168
171
205
206
112
172
208
167
238
165
144
212
208
278
136
171
121
136
172
272
208
168
150
150
150
165
150
208
150
184
147
208
165
121
181
150
231
208
164
112
276
210
172
121
208
181
123
217
211
167
218
179
194
150
176
171
171
190
172
171
156
150
112
193
203
196
167
228
175
172
150
302
201
130
121
121
167
112
181
123
121
210
165
243
150
219
202
167
194
201
121
205
143
172
250
215
226
175
208
166
143
136
150
250
150
181
171
167
150
167
278
172
190
181
152
112
150
218
121
208
121
150
150
131
214
150
150
210
115
208
237
194
137
123
112
182
194
167
172
187
121
181
186
164
175
201
202
171
193
198
207
136
165
171
181
112
172
207
137
202
121
208
167
208
112
181
208
204
146
150
112
266
171
212
212
112
219
150
167
215
170
150
112
207
123
147
208
232
112
168
130
170
150
243
124
112
203
188
150
171
167
156
232
150
170
181
179
212
195
121
115
150
150
172
226
250
226
232
194
194
156
121
217
253
192
208
164
205
186
112
203
195
150
123
150
112
130
123
239
201
176
174
204
177
219
135
208
172
220
180
164
121
181
259
123
150
176
121
184
174
112
135
150
208
150
112
135
171
174
205
150
163
164
176
208
147
167
121
150
121
137
112
112
121
207
156
175
186
176
115
237
193
144
167
135
193
112
181
150
150
263
147
158
123
194
237
208
150
170
112
195
150
160
121
186
112
201
150
112
160
257
112
121
150
121
150
172
203
228
150
217
214
150
121
189
150
164
239
112
181
171
217
215
121
172
131
123
112
210
270
178
164
202
150
137
231
176
112
208
202
203
208
174
112
208
167
177
150
112
208
210
228
171
137
232
258
196
150
210
204
121
186
196
121
231
150
225
115
147
130
203
170
201
250
226
150
208
237
181
186
112
165
171
242
121
212
130
115
167
216
212
238
165
141
112
143
239
146
276
123
165
150
172
150
123
168
115
150
171
171
212
168
121
233
215
179
112
237
222
211
206
156
194
165
212
137
181
210
150
228
208
181
164
150
194
171
150
194
137
194
231
131
240
171
208
123
202
121
207
181
123
112
194
170
202
167
203
212
172
115
150
123
194
147
112
172
121
121
172
121
165
135
198
176
260
263
150
136
179
156
172
205
150
158
190
181
208
224
175
115
240
185
206
258
136
121
150
176
167
235
210
171
208
150
181
179
202
171
170
150
150
172
170
150
210
207
187
193
121
172
212
150
192
150
150
193
167
121
217
198
161
172
112
150
115
229
159
168
177
232
123
150
208
186
212
277
201
226
147
231
160
121
181
115
159
167
158
208
208
115
137
121
208
112
121
187
219
150
177
194
137
240
112
150
165
176
121
189
172
150
167
128
168
112
150
193
150
194
165
208
243
121
137
112
136
187
159
260
121
167
229
171
150
150
223
165
167
112
159
152
232
192
196
172
220
150
150
170
112
112
213
121
150
171
167
226
231
172
150
208
159
165
165
112
150
137
194
237
175
208
174
193
170
263
213
172
208
195
121
170
167
193
121
210
241
172
121
167
193
137
152
143
150
150
207
194
229
170
150
195
158
202
171
123
181
162
211
167
123
201
150
137
123
218
165
239
150
154
187
121
176
201
112
121
112
124
123
208
121
121
165
208
181
236
234
150
112
136
112
201
204
226
231
232
186
121
223
197
170
186
210
146
208
208
123
214
171
158
235
181
208
194
229
121
170
172
123
170
250
297
237
224
226
150
228
193
187
181
123
260
209
201
123
174
112
158
210
121
215
208
232
112
152
175
170
165
175
165
123
231
112
218
112
123
242
164
165
246
194
173
275
137
150
150
208
112
205
208
167
137
185
121
150
112
121
112
170
165
121
112
203
112
193
175
150
164
124
259
150
194
217
112
159
176
186
164
112
150
192
128
121
220
147
150
123
159
168
272
240
215
195
237
193
183
187
187
176
172
208
128
250
135
156
178
229
172
172
204
239
112
208
247
181
208
124
196
192
189
150
217
153
167
217
210
112
170
112
228
239
170
225
217
164
231
187
170
121
123
121
150
204
208
220
123
150
218
121
174
217
150
112
172
150
112
210
203
199
202
115
176
124
172
150
121
124
121
163
186
167
177
137
112
217
123
194
167
150
170
158
175
156
124
264
203
231
162
236
150
242
199
255
168
150
171
187
123
150
123
121
244
242
172
112
187
171
171
150
121
171
250
159
253
177
208
150
228
237
181
218
187
181
152
150
217
172
112
228
179
174
210
172
177
202
121
136
210
150
121
208
194
137
228
208
143
167
175
135
167
240
160
193
132
176
218
150
215
150
187
112
216
150
150
175
159
244
174
207
208
137
257
216
202
112
200
172
167
220
160
170
175
150
208
225
112
121
228
191
121
194
179
208
208
174
255
159
173
112
150
238
164
112
121
193
176
150
135
156
172
205
112
208
121
229
121
112
136
217
213
205
174
223
208
150
150
232
150
186
207
165
194
241
170
136
123
150
165
175
172
121
205
121
137
250
228
228
150
168
190
174
194
172
150
150
244
208
121
202
112
243
186
210
279
147
137
121
193
194
176
202
237
128
158
182
170
167
150
123
218
123
159
175
181
219
211
185
164
181
171
150
121
175
112
150
121
232
186
150
155
257
115
250
123
170
189
112
130
210
171
168
167
186
219
231
121
123
169
150
170
238
150
219
226
150
112
244
112
204
195
202
167
156
228
228
121
179
232
175
211
214
150
121
210
167
208
208
172
152
150
123
150
208
160
121
236
208
150
208
231
137
208
231
150
112
203
172
170
167
228
219
135
172
189
186
128
175
207
123
205
265
208
213
150
263
150
181
264
158
177
174
272
175
176
156
257
150
112
171
170
170
150
150
171
186
112
195
208
176
152
124
112
171
150
135
210
263
121
211
112
158
167
258
168
172
121
167
123
152
208
179
174
194
250
181
172
181
167
232
150
173
238
112
150
137
207
150
147
203
194
194
193
167
165
121
187
220
135
112
135
121
165
194
150
176
137
181
231
181
172
223
208
208
150
210
112
147
150
194
231
172
112
210
176
207
165
135
112
228
150
212
198
136
195
112
240
193
208
193
193
181
178
194
193
203
121
150
192
158
112
121
208
192
168
194
210
121
150
112
172
136
150
194
121
167
238
164
210
192
226
231
177
150
226
196
112
170
172
172
208
121
205
177
112
157
198
208
177
168
150
112
208
168
226
121
206
157
146
112
121
228
172
121
181
112
228
208
208
121
194
194
147
172
156
112
128
112
177
176
257
193
172
150
193
150
112
121
121
112
112
112
150
128
150
208
121
177
220
202
167
171
171
112
135
150
172
150
123
146
150
150
112
150
150
164
192
172
208
112
194
112
150
165
150
130
171
208
150
128
121
147
150
143
137
147
205
181
187
219
236
150
176
112
150
208
167
179
202
150
150
181
172
217
177
174
115
208
163
203
121
112
137
112
197
170
150
112
152
237
212
137
167
170
112
276
143
208
150
168
167
208
135
176
156
112
186
171
112
210
123
179
121
193
181
150
167
171
185
170
170
112
203
143
172
186
112
121
208
121
239
170
242
112
152
123
159
165
150
167
112
150
201
255
172
121
123
187
172
152
228
202
112
212
194
195
150
121
217
181
186
203
121
237
218
167
170
231
167
121
115
194
210
135
233
193
181
137
172
123
193
198
145
240
194
136
181
171
112
143
123
167
210
135
214
123
170
177
150
112
170
266
174
262
231
231
170
171
192
181
168
208
158
189
121
150
147
176
181
135
226
219
253
181
112
165
254
179
130
219
167
112
189
203
228
208
208
231
223
167
150
194
121
186
112
167
225
143
176
121
150
194
181
165
181
207
159
150
150
112
208
123
112
181
194
239
165
112
150
168
160
202
135
168
135
115
168
208
130
150
124
181
150
228
147
137
210
237
150
235
121
181
112
212
112
231
239
216
152
181
121
204
144
167
210
186
231
177
121
150
157
121
171
181
150
207
208
121
232
172
121
121
195
161
137
150
152
150
187
150
121
170
208
150
167
193
135
194
272
211
178
112
210
201
128
150
231
247
250
181
176
172
197
137
135
112
150
196
220
135
121
238
121
112
121
212
172
208
176
176
162
208
192
150
196
121
137
205
172
228
241
158
189
245
170
121
236
244
208
137
165
159
121
130
150
235
176
167
170
112
159
112
172
159
208
203
212
150
174
208
256
112
181
239
201
174
235
121
112
136
181
176
208
181
255
190
171
174
165
112
208
112
150
186
228
121
181
177
150
220
150
121
112
217
170
272
150
172
112
220
181
208
150
219
172
205
135
112
281
238
112
208
223
208
177
150
220
210
167
112
271
147
210
195
112
170
271
241
144
230
214
160
235
171
121
112
176
210
238
207
150
219
128
231
233
152
202
186
211
156
112
286
150
165
243
201
137
121
156
173
165
171
212
160
150
193
211
172
150
207
176
164
228
202
143
202
124
229
212
115
202
281
112
253
165
250
150
208
121
193
150
187
121
121
112
170
184
208
240
150
208
150
233
152
167
150
172
170
208
262
198
145
192
220
121
229
112
263
208
135
167
136
136
112
192
202
186
150
167
210
242
240
170
176
201
177
193
123
172
128
147
167
167
172
121
239
244
186
121
121
205
194
165
171
172
160
171
275
150
186
124
146
228
186
150
136
195
181
208
266
115
124
121
112
150
186
135
302
171
150
204
278
123
170
164
150
172
167
226
174
135
112
172
219
203
226
231
212
215
208
130
137
121
115
184
168
205
210
135
167
167
228
170
202
210
158
219
160
196
210
228
170
181
181
150
181
150
231
202
177
172
112
207
121
237
239
147
121
115
130
207
170
121
150
147
121
172
174
212
196
208
205
228
123
170
147
192
193
231
123
233
156
167
207
181
152
150
255
150
195
302
219
121
172
171
169
171
186
181
232
183
150
121
112
194
150
171
302
112
228
135
112
229
190
150
176
257
171
209
186
189
172
306
158
208
135
112
121
144
150
150
171
112
220
177
275
172
156
121
158
121
181
115
137
171
231
112
163
230
172
165
135
186
208
112
168
194
167
159
150
210
250
136
112
208
187
208
198
172
239
208
172
256
171
228
241
121
190
164
236
150
195
121
208
196
208
112
170
150
192
219
194
135
176
150
237
121
150
167
121
112
227
115
172
112
112
121
135
261
186
121
150
179
228
193
193
230
208
208
150
146
194
167
189
189
179
171
170
208
167
160
237
150
150
156
121
223
171
174
123
112
211
156
150
115
158
194
135
240
181
245
128
198
208
124
150
150
239
238
172
208
243
112
121
205
194
192
225
121
112
150
164
228
210
112
208
160
167
123
167
170
158
150
112
193
173
172
177
172
165
112
208
203
159
150
112
202
171
181
112
229
150
167
265
239
121
185
208
159
228
194
112
136
112
150
254
159
208
170
185
121
202
182
124
172
112
174
174
112
121
222
193
176
167
137
112
121
137
150
203
167
158
158
172
234
147
123
208
202
202
194
214
182
170
171
177
193
208
158
172
202
174
115
176
136
208
150
208
112
204
121
194
121
217
181
150
167
171
123
210
208
170
206
250
165
276
231
150
115
208
233
194
123
181
160
150
220
121
215
167
203
204
194
121
187
121
208
150
150
240
150
204
208
171
194
223
159
206
181
194
235
184
115
187
181
146
176
171
177
167
272
168
112
150
201
164
121
135
160
218
262
112
157
172
179
112
171
237
115
226
171
156
219
150
150
143
121
226
178
167
150
195
112
174
171
208
150
167
172
121
208
176
228
135
184
150
170
207
208
302
121
121
208
112
150
137
201
145
218
165
123
231
135
208
150
195
121
193
208
150
170
317
112
123
150
172
150
159
206
231
150
147
181
121
156
176
112
123
244
168
167
168
150
237
150
112
147
112
167
208
174
136
165
184
121
204
217
171
152
121
112
174
219
121
299
152
208
112
231
193
205
210
144
150
150
205
150
112
150
112
179
172
194
228
167
220
168
194
175
167
121
112
173
165
176
112
112
137
205
208
193
255
150
121
136
170
167
150
195
201
177
193
112
240
167
121
187
150
143
208
208
165
135
181
170
171
217
170
176
150
197
172
112
207
124
150
150
121
168
216
150
121
231
208
201
210
177
258
112
150
112
182
121
170
240
112
181
150
192
112
123
235
167
179
152
168
147
168
187
172
189
231
287
150
192
157
208
121
220
150
147
172
239
250
112
237
112
208
121
216
217
177
196
192
121
137
176
171
194
150
150
164
136
157
165
166
176
172
121
208
123
160
207
167
217
211
164
208
174
150
112
112
181
231
168
194
176
150
159
144
121
171
202
171
137
272
172
237
137
208
150
159
124
181
121
150
150
128
177
171
226
195
226
228
121
150
168
210
150
112
171
250
213
227
112
150
162
243
167
170
168
196
165
231
121
115
181
150
186
184
172
147
218
170
112
240
121
237
229
182
123
160
178
238
158
212
208
147
164
181
181
225
181
176
170
156
195
229
152
201
112
150
171
270
208
121
202
191
201
208
223
227
207
212
236
121
177
212
187
112
168
195
227
167
176
112
170
182
195
112
203
170
186
121
123
237
236
220
164
112
195
121
136
135
159
165
228
177
159
203
192
136
212
171
136
121
158
208
217
150
124
171
150
150
150
239
112
130
223
167
231
121
211
208
201
286
221
181
150
124
201
201
165
172
172
121
123
170
165
136
297
174
165
150
225
170
222
170
239
147
223
150
255
150
158
112
255
250
112
201
195
186
208
167
136
121
171
171
123
230
205
112
198
135
136
175
208
215
137
121
190
217
150
121
158
228
176
121
171
217
147
115
130
239
121
156
212
167
175
150
208
115
121
121
210
202
112
229
210
158
194
174
124
227
130
279
159
193
175
112
185
164
195
213
208
183
123
174
171
150
121
186
195
112
194
147
112
112
170
112
150
186
156
202
112
168
150
201
228
150
115
203
189
150
171
152
231
257
208
178
135
112
278
165
136
198
121
121
302
223
227
187
302
165
201
201
165
112
169
135
112
208
184
121
171
137
172
150
175
121
226
136
208
187
219
172
112
194
176
167
171
212
135
164
184
115
208
195
112
229
150
112
132
165
171
208
121
228
202
115
217
121
112
231
150
211
259
205
121
190
172
218
136
121
213
231
168
158
150
192
152
115
237
137
171
121
123
188
250
198
150
164
150
165
123
165
121
150
243
167
234
167
177
228
171
179
150
187
205
150
212
237
123
150
246
115
136
152
208
172
112
121
193
150
173
150
112
174
164
115
214
112
214
172
212
202
208
164
208
150
181
167
186
112
150
201
167
150
242
187
136
150
170
208
225
167
112
112
301
136
165
150
112
121
246
112
187
171
121
249
150
150
170
194
167
236
112
135
219
175
194
217
150
123
195
172
115
193
150
121
209
121
172
164
171
170
150
208
170
150
171
137
193
135
172
172
228
158
197
242
207
220
150
135
278
150
128
112
136
145
123
220
171
112
121
184
167
177
121
170
167
150
123
172
165
250
130
278
123
195
150
168
132
112
208
112
124
172
150
165
177
202
206
170
171
172
204
171
186
255
208
124
158
170
186
121
189
174
171
164
215
159
112
223
121
150
164
215
208
112
202
167
135
207
195
202
123
150
167
231
168
194
176
158
174
121
171
170
158
167
213
165
150
194
137
143
202
160
208
200
238
150
250
172
167
249
150
220
123
195
167
187
225
112
165
121
195
135
112
130
150
165
150
193
165
121
158
210
139
219
130
156
121
147
208
227
193
172
121
121
170
234
208
208
208
278
195
112
112
187
202
228
124
121
112
179
167
121
170
263
150
255
172
202
208
136
201
150
202
208
182
215
208
194
250
172
201
190
160
146
112
208
170
150
172
121
201
137
235
194
172
228
228
172
136
172
150
187
171
156
242
208
194
112
189
195
195
150
208
164
195
150
194
121
218
237
240
150
160
167
157
194
176
192
112
112
181
196
217
150
302
150
237
182
195
171
172
112
160
195
170
158
115
229
276
112
171
172
165
208
123
181
156
170
112
207
147
176
205
150
143
123
112
202
194
177
112
220
150
181
123
202
165
150
167
179
167
172
163
150
181
147
167
181
162
215
237
137
173
147
202
299
193
150
165
130
150
150
165
186
150
208
239
123
167
176
172
172
153
190
150
181
205
194
112
112
167
158
176
229
239
217
193
115
289
150
112
181
190
121
184
217
121
170
198
193
121
150
189
150
164
201
150
136
226
279
218
210
255
147
112
136
203
123
215
121
160
121
202
112
278
170
123
181
150
150
159
171
202
209
121
239
150
170
172
158
134
150
264
123
121
124
208
121
115
121
121
137
167
181
231
250
194
167
218
171
212
150
115
172
115
150
152
170
226
194
112
202
187
112
188
112
202
150
243
192
112
170
163
170
233
150
186
172
164
123
203
150
171
131
158
208
112
181
208
121
136
176
150
168
219
228
172
255
121
194
123
237
172
168
121
158
212
167
135
137
176
150
150
194
170
112
112
172
172
215
205
193
212
150
121
150
112
167
220
134
172
150
235
165
158
222
172
172
247
112
147
167
147
217
203
223
195
112
144
150
112
137
160
160
121
150
167
193
123
150
175
143
226
208
239
150
150
207
150
112
156
171
205
150
150
121
150
121
217
123
147
165
131
150
150
171
182
204
124
121
112
112
128
147
159
225
165
176
139
259
112
262
241
112
115
150
208
112
165
152
121
208
193
121
150
112
124
150
181
112
170
165
196
186
176
134
228
170
112
150
115
267
159
195
176
177
123
123
123
150
170
167
194
207
121
202
164
175
208
121
205
150
212
211
137
208
123
176
222
150
150
193
150
208
195
224
203
208
135
210
150
170
162
112
263
167
150
208
150
171
168
121
150
150
208
170
173
137
208
165
112
195
135
237
112
205
123
112
171
226
165
156
186
121
197
194
220
121
240
121
112
187
208
172
165
237
130
231
165
210
171
216
194
186
150
112
189
243
147
189
121
207
193
242
172
170
186
123
139
179
137
112
195
212
115
150
170
167
150
112
172
156
112
136
208
231
177
159
172
130
248
240
228
219
135
202
170
150
152
212
193
112
170
192
115
171
207
150
112
167
158
236
168
208
121
137
112
171
234
165
150
171
177
156
220
208
172
121
137
208
112
208
172
224
159
112
160
150
158
202
193
215
147
156
187
263
150
194
201
137
208
150
121
171
150
163
215
150
208
167
150
176
218
137
112
208
165
263
176
112
150
203
115
112
150
112
212
276
171
189
186
203
123
203
278
172
257
185
201
200
176
265
121
228
250
208
131
164
150
115
112
179
135
167
135
112
233
152
225
203
208
167
181
194
156
112
166
167
177
167
167
255
177
172
159
172
193
181
115
205
150
112
228
147
193
181
167
234
168
112
194
121
137
121
123
176
150
193
150
257
147
193
181
170
170
170
121
177
175
167
174
181
172
261
112
121
211
179
181
161
210
208
172
165
150
135
174
178
150
112
112
123
128
121
171
172
160
170
112
237
170
160
184
225
123
165
176
177
202
168
193
150
217
167
165
203
208
121
181
228
215
121
130
147
220
229
208
211
128
238
170
196
228
150
112
207
167
172
112
203
276
156
201
260
218
179
226
123
194
170
220
112
210
243
121
281
137
112
123
300
206
195
167
135
234
172
213
172
172
171
181
112
121
179
187
121
208
208
194
123
112
212
121
204
216
121
205
194
123
170
194
170
121
207
124
175
158
174
243
165
175
121
217
192
182
202
128
160
167
202
164
217
228
208
150
174
208
161
167
159
223
163
179
167
112
147
211
135
220
193
194
176
240
123
232
170
208
112
171
177
186
147
202
208
121
217
135
165
121
112
147
121
258
171
115
208
208
165
210
194
123
237
171
164
150
112
112
174
164
176
171
194
232
171
231
255
194
130
195
212
150
186
225
112
159
208
170
170
121
121
112
172
158
147
152
147
172
167
147
198
150
202
112
123
170
198
121
112
207
237
250
160
121
135
208
112
150
135
150
182
172
112
121
150
150
208
112
150
115
150
167
121
235
158
176
170
112
302
176
165
202
157
176
137
176
112
250
170
165
164
115
164
167
150
194
171
112
123
232
135
237
187
112
181
150
174
168
144
237
112
128
274
123
228
150
208
123
147
207
115
167
196
141
144
150
171
130
172
208
176
195
164
121
167
131
150
167
219
121
147
215
121
194
186
112
175
208
121
193
201
150
150
244
202
156
115
189
187
210
176
207
205
179
150
175
150
123
219
208
165
150
112
147
215
177
115
181
187
208
170
275
167
150
121
112
192
112
239
201
232
112
150
208
231
136
112
171
121
178
179
276
238
208
171
123
216
208
150
124
165
150
172
137
124
150
219
202
135
250
170
135
165
229
195
112
194
150
208
219
112
233
193
159
123
186
244
208
226
164
231
112
194
112
112
137
208
186
115
165
150
212
270
147
147
112
177
163
121
150
150
202
208
242
210
112
165
208
236
217
241
214
235
156
172
171
189
112
137
233
121
170
112
189
186
238
237
231
112
165
112
147
216
220
112
121
167
176
220
239
150
194
150
228
156
225
121
160
177
194
181
150
146
262
228
165
150
170
174
201
168
212
170
156
172
172
230
170
192
218
150
157
121
165
194
115
121
207
181
171
176
212
212
121
150
228
158
208
165
115
171
174
177
234
200
150
223
181
121
135
202
135
137
240
121
112
193
112
246
211
176
112
123
181
112
179
112
112
135
150
172
210
236
121
159
164
168
112
194
112
165
121
158
208
193
112
208
177
208
136
150
203
167
194
226
150
177
193
170
201
137
227
176
179
160
121
123
172
115
231
150
208
150
156
150
135
230
112
130
112
171
231
181
171
234
165
164
121
165
150
165
121
181
167
203
121
121
209
135
205
217
185
250
121
222
121
181
150
172
174
143
208
228
112
121
137
115
211
150
112
156
195
121
123
169
160
193
181
208
124
112
225
194
202
112
150
192
208
175
112
150
150
239
208
233
187
158
167
150
167
257
264
170
112
172
121
112
228
219
168
204
243
121
150
194
144
210
172
208
112
210
156
208
167
214
150
150
135
220
164
172
228
135
164
171
150
167
176
208
170
112
112
176
121
239
167
193
124
193
121
156
112
164
165
193
217
207
189
137
112
228
195
165
168
167
276
226
225
184
239
209
165
194
167
208
250
136
165
186
156
123
228
176
153
205
225
219
191
150
208
128
172
121
115
150
194
150
204
170
158
135
164
112
121
184
131
112
172
150
112
167
150
137
255
167
150
176
168
229
112
170
302
181
177
240
171
209
150
217
112
136
220
278
112
175
121
195
121
186
164
194
150
171
150
208
150
233
174
194
170
112
208
193
226
192
217
124
253
137
186
181
124
190
158
121
121
186
115
150
112
112
136
208
191
150
152
193
184
201
167
200
150
186
202
150
231
218
160
121
179
208
209
150
115
181
112
237
276
228
208
123
112
267
223
121
210
171
167
176
172
193
143
121
150
164
167
112
226
150
228
172
208
171
121
112
130
219
170
150
147
112
112
208
170
194
152
167
207
150
150
192
150
194
195
150
167
150
199
136
172
121
225
174
192
211
186
181
164
121
167
210
172
135
152
150
115
121
156
230
172
210
115
203
150
176
150
123
208
167
192
238
115
208
210
249
226
171
150
139
150
123
150
150
112
112
208
150
150
150
115
203
186
150
194
226
228
228
165
193
124
263
208
210
112
218
203
276
176
121
192
150
137
121
194
210
147
124
208
243
150
219
150
171
218
150
152
187
250
137
177
121
208
223
121
282
165
175
181
255
164
177
112
177
135
187
112
175
123
121
210
123
150
194
202
255
137
121
171
210
172
159
115
121
208
228
210
121
135
279
181
172
175
228
159
177
187
147
112
137
164
194
217
194
172
186
165
190
112
121
121
121
208
121
150
228
112
170
179
150
194
150
167
199
144
172
178
150
112
167
195
121
228
112
170
194
159
124
203
228
121
208
150
121
158
159
194
150
167
228
121
229
167
243
211
112
170
172
150
112
170
208
152
112
112
112
167
131
135
115
150
231
171
112
190
112
150
209
150
171
208
233
150
121
121
208
123
123
178
121
208
194
211
112
192
112
170
134
212
217
112
237
170
167
121
181
249
172
112
176
121
225
124
218
179
150
170
170
217
224
216
115
121
167
121
207
208
150
212
208
170
165
172
150
150
112
167
167
186
181
150
167
250
184
112
237
203
167
194
121
135
197
150
165
112
121
214
192
150
150
219
167
150
167
159
112
123
112
121
216
123
228
172
165
121
171
235
186
207
167
202
112
208
215
203
135
208
175
219
121
112
196
179
302
260
112
170
215
167
194
208
208
150
121
195
208
112
195
170
250
121
165
232
228
177
112
150
177
205
226
207
208
208
112
150
248
213
208
208
208
177
159
209
150
208
135
171
216
229
150
112
112
208
250
218
246
161
217
170
170
112
112
121
150
160
237
218
250
136
175
203
143
121
167
123
150
180
196
167
265
171
147
112
121
172
121
255
121
150
121
212
220
167
210
112
150
156
150
150
208
202
150
159
172
115
170
195
112
208
192
176
243
121
209
112
220
172
181
195
152
167
225
121
150
150
219
172
208
216
123
150
150
121
150
159
220
150
121
167
150
170
186
172
201
190
201
115
150
177
212
150
226
160
112
171
150
167
259
208
150
241
150
220
150
187
187
187
186
121
121
150
181
112
156
186
176
136
165
190
176
172
172
152
199
208
150
121
171
147
214
167
229
224
178
147
255
115
208
192
172
112
121
219
152
112
208
112
115
124
136
150
208
172
123
135
112
186
150
224
208
208
136
121
176
121
178
167
234
123
112
153
150
128
150
194
112
190
210
211
157
136
150
193
208
225
135
305
167
112
150
167
171
208
136
112
121
186
233
136
172
187
255
136
237
121
167
150
143
170
172
150
205
171
209
150
224
179
124
136
135
164
136
208
208
194
136
170
245
231
137
189
181
134
220
170
202
186
150
228
250
147
135
172
172
212
152
172
150
147
176
186
176
164
112
115
208
194
193
150
205
226
112
195
121
170
121
112
135
193
235
150
193
239
201
177
250
167
135
167
112
112
159
195
216
181
172
231
248
164
115
146
121
121
165
121
170
150
172
175
150
128
220
194
150
228
228
150
150
121
184
171
256
203
208
170
150
235
193
123
121
275
194
156
124
159
115
237
112
121
186
150
112
246
136
172
251
150
115
213
121
167
220
115
121
112
152
158
150
208
172
143
172
170
217
207
171
195
220
170
179
170
177
176
154
225
167
147
208
205
172
130
258
247
228
121
228
112
194
208
177
195
137
123
195
150
147
150
167
121
192
124
123
112
152
146
172
181
193
150
193
194
233
164
174
121
176
233
177
172
171
228
172
121
115
171
112
168
181
172
121
167
189
150
170
165
208
194
165
124
123
158
208
217
210
187
201
121
112
201
239
192
170
130
194
217
181
112
124
165
239
176
136
145
172
123
115
263
208
112
229
172
219
112
112
176
194
172
130
150
163
243
208
237
150
112
170
136
150
112
160
208
112
150
150
112
123
167
181
171
210
212
160
171
231
112
167
208
208
144
164
172
194
228
121
172
175
176
121
225
164
172
181
115
231
170
176
167
179
112
150
150
195
112
158
235
177
121
150
205
172
302
121
243
178
219
264
160
164
176
226
208
121
158
194
204
206
172
210
194
157
193
188
112
246
150
158
205
212
173
232
200
193
150
172
121
136
240
150
156
168
158
208
205
150
182
223
150
150
166
172
208
176
112
176
194
208
146
170
150
150
182
208
177
172
170
214
157
156
150
186
175
121
181
165
112
150
212
112
150
160
121
121
205
228
227
196
194
208
121
135
208
220
112
150
181
225
150
112
170
175
211
203
150
194
121
112
211
156
208
176
255
176
165
121
237
179
208
112
165
112
180
194
123
143
181
150
176
159
229
121
254
257
121
159
167
158
200
150
234
194
232
172
164
147
147
176
181
225
165
112
220
250
124
159
234
150
253
232
123
135
123
150
112
217
202
137
193
171
112
170
171
223
135
177
123
205
194
159
167
243
150
219
237
121
207
135
150
167
150
244
121
243
168
226
302
175
201
156
121
176
168
152
165
220
201
208
153
196
186
255
121
208
171
146
208
112
202
209
208
112
194
172
194
186
150
193
276
171
215
179
168
208
181
130
172
158
281
197
208
231
246
212
231
128
188
196
121
178
158
165
121
181
124
174
239
177
170
204
112
150
172
167
121
173
208
165
172
174
194
209
236
196
170
233
147
121
171
167
164
121
112
171
150
208
150
150
194
196
121
121
163
192
158
201
257
165
172
130
162
112
218
217
203
121
112
112
220
208
208
121
181
121
208
172
211
150
128
208
186
176
112
150
112
176
186
150
208
172
201
227
112
165
150
187
208
135
172
150
150
112
159
224
229
171
165
207
162
174
150
150
131
139
132
196
208
209
171
212
228
226
159
217
170
124
112
150
172
172
164
167
112
150
137
278
167
167
112
229
208
245
167
233
168
112
232
167
170
123
121
209
205
195
208
207
160
195
176
232
196
229
186
274
193
135
223
128
208
228
150
212
239
123
187
240
177
167
208
135
236
112
112
236
167
250
192
172
162
174
186
244
208
115
123
150
234
194
194
209
167
137
121
172
121
226
302
167
181
123
164
121
174
167
121
201
205
171
194
299
167
228
279
150
152
172
150
164
145
242
150
112
112
186
170
228
150
237
231
175
212
171
187
207
205
223
194
193
165
172
198
167
167
259
219
210
112
275
121
208
208
164
208
112
208
150
160
163
135
112
121
123
172
208
112
152
112
186
214
150
150
170
170
112
165
150
212
208
121
203
228
167
218
172
112
194
263
190
194
170
112
124
121
181
164
193
208
121
246
146
150
124
208
215
278
194
115
176
231
201
150
123
257
167
237
209
165
192
186
121
147
201
238
112
194
182
121
152
128
121
194
216
150
225
124
160
112
167
239
218
150
228
181
181
159
136
137
115
112
249
240
150
150
209
239
171
156
255
164
213
218
147
207
150
202
147
265
150
164
150
258
152
233
112
150
112
147
195
156
150
199
150
156
224
168
112
123
159
121
184
240
256
130
227
194
198
131
170
208
175
210
245
135
167
216
176
172
161
121
167
150
131
150
171
193
121
208
208
167
172
237
159
121
228
184
150
149
112
150
233
112
170
175
239
150
121
204
171
123
150
146
186
164
150
165
207
212
160
237
147
143
150
234
243
150
233
170
231
150
147
150
199
121
150
112
235
172
165
208
156
112
112
165
121
242
123
121
165
167
265
193
181
121
121
150
193
150
185
152
208
112
195
121
239
112
172
172
237
112
128
152
150
181
112
219
112
150
171
174
150
208
156
164
228
218
174
115
176
181
112
216
150
177
159
150
112
210
112
233
239
219
150
130
214
121
182
168
212
194
171
121
121
112
216
194
136
150
202
137
184
164
260
170
165
121
174
112
170
150
143
150
152
226
170
302
181
156
187
112
112
112
150
150
228
236
220
167
208
184
167
210
203
121
232
121
112
167
174
167
186
156
176
150
205
210
193
174
239
121
187
218
202
208
174
247
255
195
208
150
193
128
187
194
187
121
172
231
135
150
121
220
198
150
208
112
212
112
176
112
150
167
136
150
172
112
124
137
147
168
228
172
194
194
210
112
172
150
158
121
136
171
159
208
223
272
208
123
235
211
203
150
121
112
115
123
152
210
112
165
157
205
181
150
172
128
150
150
237
171
170
121
152
121
156
225
202
150
168
168
229
170
212
165
210
158
112
228
159
112
135
208
242
225
192
211
121
218
167
159
112
124
256
121
172
183
150
219
112
150
112
229
121
208
225
136
213
150
137
205
208
208
276
150
202
124
165
112
208
121
208
123
186
147
208
112
195
244
150
112
167
128
150
208
121
226
150
217
112
150
207
150
150
171
112
121
210
208
150
194
179
121
165
158
232
172
201
131
239
123
193
130
164
167
112
170
223
172
205
112
170
150
170
160
171
181
150
194
181
165
205
168
167
243
213
121
124
170
112
170
171
216
112
202
225
210
233
194
225
112
160
115
208
233
170
202
112
147
121
210
177
135
112
167
226
168
208
150
170
121
170
121
186
195
264
112
213
186
167
210
171
228
112
186
195
172
172
121
212
177
171
159
171
194
170
208
239
150
217
176
123
219
136
208
170
112
250
178
209
181
202
171
121
181
150
202
165
147
208
199
150
150
263
174
210
112
112
135
112
179
206
147
217
176
237
121
302
176
201
237
165
152
150
170
172
216
121
112
123
170
218
206
198
186
200
112
150
233
150
130
223
208
208
194
150
121
135
239
150
220
124
150
172
171
135
239
159
229
160
210
194
302
176
278
193
137
176
212
150
186
181
168
161
299
237
121
195
218
211
205
150
121
115
167
234
112
186
147
112
172
210
112
165
124
137
195
190
165
239
208
190
121
172
150
150
194
160
170
167
112
194
238
112
167
291
193
219
150
208
150
164
192
150
236
150
112
158
208
123
287
158
167
150
121
121
181
182
152
172
208
112
115
112
137
261
172
135
197
150
165
123
123
172
233
212
218
228
178
121
164
112
244
170
226
175
208
208
135
171
171
150
247
150
136
112
150
212
196
136
121
239
225
112
208
121
239
150
170
175
150
237
121
136
123
159
130
135
193
208
136
121
123
237
112
177
124
135
150
255
121
197
187
233
124
150
165
210
231
202
187
221
181
201
112
121
222
184
186
150
192
112
174
170
176
232
150
201
157
170
121
161
175
175
160
237
171
150
215
245
212
112
243
172
121
150
172
193
112
192
152
185
181
176
248
124
192
150
186
181
150
176
194
209
195
212
186
220
208
177
112
170
176
226
194
186
150
150
193
208
112
150
176
176
208
150
150
150
162
167
176
159
112
172
121
202
123
235
115
171
150
208
150
161
112
208
176
228
112
302
195
192
161
150
207
167
121
150
171
128
219
112
208
217
167
171
159
121
177
186
220
193
171
186
150
121
121
121
160
197
159
144
208
112
215
209
159
158
208
202
219
147
172
203
276
175
208
201
198
167
210
172
112
187
150
167
208
218
158
150
152
171
152
254
121
150
158
152
240
121
165
171
195
196
167
232
147
238
112
156
150
172
208
172
239
208
130
170
228
210
150
121
164
217
260
152
112
193
184
167
164
212
172
264
167
177
112
150
171
121
228
208
112
175
177
208
208
222
276
112
226
217
123
123
170
195
172
202
208
243
224
245
150
174
136
112
172
147
208
168
203
112
219
194
150
150
121
170
141
193
202
112
201
163
112
124
195
121
158
112
202
137
181
206
121
202
240
186
150
275
137
176
167
193
121
194
174
176
172
201
177
150
121
164
135
135
229
208
123
172
167
275
276
203
255
121
112
202
213
121
112
112
216
171
121
147
255
112
150
174
250
202
112
156
121
195
219
202
195
121
193
136
214
171
208
181
143
161
121
255
217
167
121
174
194
212
115
233
115
112
121
174
212
150
186
112
164
208
194
228
121
201
220
194
167
167
226
112
136
282
167
210
226
210
167
150
203
228
208
207
150
186
255
112
150
184
143
205
210
121
130
208
150
123
150
233
172
150
139
208
112
205
208
150
237
170
121
164
208
112
181
197
167
157
112
217
176
245
170
186
150
208
150
228
170
112
167
121
244
171
150
121
170
165
231
150
112
164
159
226
137
150
150
241
212
121
150
208
165
123
112
112
158
136
137
112
150
210
159
176
167
202
164
195
171
121
112
121
171
203
215
176
121
171
112
164
195
219
150
159
121
240
170
172
147
162
136
147
230
121
208
170
150
150
250
112
115
229
226
174
220
112
112
150
150
112
165
194
176
172
112
167
193
115
137
124
186
173
115
194
150
210
112
121
204
170
218
167
139
181
150
112
112
192
171
167
123
172
112
192
167
191
112
172
172
139
150
228
195
172
238
121
229
245
112
135
123
165
186
237
150
208
186
172
177
159
190
123
150
181
208
237
167
172
177
176
172
172
187
150
202
150
186
208
164
164
205
226
265
115
212
167
112
202
215
210
243
150
181
132
237
269
242
137
240
194
136
233
112
171
121
128
121
167
150
137
130
121
250
112
202
121
202
164
150
194
124
112
170
208
233
205
167
255
186
150
165
112
219
115
177
150
121
195
143
112
150
147
218
217
150
181
150
237
121
194
150
228
229
159
150
171
215
171
186
121
208
161
121
193
123
150
176
176
167
190
237
194
112
196
241
164
208
208
121
150
121
176
150
224
112
112
227
186
295
194
187
137
208
176
237
178
112
171
208
231
167
167
167
206
171
174
176
182
112
167
165
258
215
170
121
195
208
229
244
150
123
218
150
124
152
263
228
174
237
232
239
121
147
167
123
187
143
112
165
150
156
170
245
178
112
205
143
112
171
215
158
121
167
204
205
165
167
284
192
177
195
173
202
239
172
165
136
150
137
150
172
217
159
215
172
172
123
164
147
112
157
195
112
150
189
145
172
171
150
165
135
167
208
226
253
167
171
165
115
208
150
112
135
121
205
121
171
172
171
112
217
210
256
172
212
195
208
121
176
135
112
160
181
170
239
171
208
219
212
172
250
115
121
190
121
123
128
170
255
137
193
136
171
202
150
174
170
208
136
185
238
150
217
156
160
205
152
207
175
177
171
150
150
194
150
167
160
135
112
165
150
112
170
202
159
115
159
208
167
112
159
112
250
172
194
150
202
112
112
203
112
167
112
112
194
112
186
239
186
112
176
237
121
192
150
239
121
255
150
210
205
205
194
177
174
184
121
112
181
226
195
135
150
130
121
165
219
112
123
189
194
176
121
236
181
195
186
201
219
150
150
194
123
123
158
165
208
236
172
208
121
150
112
210
135
182
123
128
194
150
158
172
219
112
170
181
193
112
121
167
195
150
150
121
157
194
112
121
238
121
170
170
136
203
124
136
233
186
252
212
121
237
167
208
193
212
225
229
255
121
172
123
208
208
219
150
135
171
165
228
228
176
150
250
172
237
121
213
257
211
193
178
167
156
115
165
121
212
254
167
150
167
237
112
194
150
208
202
121
207
124
194
177
112
186
252
189
194
176
172
172
222
124
176
278
171
170
193
121
233
112
128
302
203
121
186
124
205
167
150
172
225
150
231
173
208
202
192
207
205
173
150
165
121
175
232
112
147
203
167
225
208
147
167
208
167
152
263
150
186
172
172
176
172
121
217
217
220
121
255
194
201
176
190
164
167
112
181
112
128
208
150
228
173
187
112
139
165
171
205
165
208
112
164
208
190
112
137
192
254
201
112
158
179
121
235
171
165
139
115
124
121
170
236
266
165
212
121
136
150
245
228
208
217
270
167
167
187
228
203
135
150
220
161
121
136
147
150
172
137
208
208
168
150
121
150
121
210
250
124
123
232
150
210
171
115
150
208
172
150
150
193
246
230
242
177
208
194
203
212
210
174
150
112
211
171
214
146
257
187
175
232
203
150
174
172
234
172
172
182
210
177
150
121
237
112
170
226
152
156
192
150
228
176
181
121
150
179
208
150
172
201
228
150
176
171
195
137
265
135
150
167
210
181
208
240
214
172
233
202
112
259
121
135
150
121
150
171
135
137
121
150
171
164
228
167
255
198
178
192
123
136
150
208
158
121
115
190
181
171
130
208
193
112
112
144
112
210
194
220
302
194
284
208
208
121
208
121
206
123
128
240
194
135
173
197
150
170
112
170
177
171
171
136
193
165
219
164
121
150
128
177
171
193
150
201
112
171
112
112
175
150
121
150
202
167
150
229
208
112
156
136
112
208
207
121
143
228
112
121
164
164
172
176
176
170
193
121
204
150
174
216
112
226
172
170
164
121
150
201
112
150
193
187
167
123
112
231
228
208
230
195
194
160
228
214
237
112
172
145
150
208
150
150
150
150
162
172
229
208
115
112
112
121
196
241
177
208
115
165
115
248
158
210
238
150
175
121
121
208
171
167
176
172
158
181
172
150
137
181
176
202
121
172
203
112
193
181
168
165
121
169
176
201
136
187
219
186
186
121
250
210
112
112
165
147
121
112
121
170
121
237
176
168
158
158
195
182
208
236
238
170
112
187
172
176
219
194
152
150
167
170
112
150
210
176
121
203
231
181
176
210
199
167
130
121
243
136
212
115
217
136
194
150
194
121
112
237
165
219
171
112
186
168
171
228
215
121
112
228
150
123
150
210
163
177
124
121
112
168
112
228
208
193
172
150
171
121
135
112
172
181
264
250
171
200
165
124
250
210
193
112
209
115
143
253
195
203
112
177
171
170
170
201
150
181
171
170
172
156
150
176
196
112
214
164
186
143
121
150
121
189
189
231
200
237
115
183
136
272
136
150
195
208
112
237
187
194
170
210
150
202
121
182
195
197
112
267
112
121
121
112
182
152
124
208
159
207
112
150
150
240
170
121
203
178
150
179
135
186
112
150
150
112
186
171
184
219
172
176
226
178
123
112
157
193
172
171
181
112
217
115
123
112
130
115
150
177
231
115
165
123
208
165
205
150
112
228
121
167
204
136
215
217
165
282
123
171
156
237
237
121
112
150
156
202
159
172
150
195
150
238
212
212
193
208
135
171
171
193
123
299
112
177
143
212
143
231
186
174
250
130
167
174
212
207
176
150
194
150
157
165
121
176
150
135
176
170
172
223
123
170
159
172
150
146
121
203
152
217
112
171
135
112
201
196
150
171
259
208
202
168
128
112
112
229
182
150
121
112
208
165
195
112
195
171
204
152
150
172
167
144
239
192
137
150
150
238
159
150
219
215
165
167
176
121
123
171
215
147
121
302
135
173
193
215
194
150
208
167
150
121
179
167
181
135
136
230
231
170
231
150
176
160
150
236
229
205
275
168
150
158
150
205
121
112
229
112
121
202
255
121
121
181
150
150
239
152
218
170
186
203
172
228
208
137
208
170
208
209
150
121
181
265
150
204
150
181
208
112
195
167
177
231
135
193
172
137
112
171
208
150
263
170
205
150
203
163
198
147
147
165
193
167
171
176
172
257
159
172
167
281
203
128
171
189
170
150
228
150
237
208
174
231
112
115
164
159
302
192
121
263
150
112
226
150
225
181
194
112
187
193
181
121
112
227
170
123
172
210
150
121
176
128
208
172
250
144
170
135
121
150
165
112
165
171
208
165
170
128
150
150
130
225
121
112
150
121
208
167
208
171
260
202
229
137
172
258
202
194
228
212
156
128
139
192
262
112
167
130
186
176
164
150
121
158
190
208
112
112
150
177
203
170
152
112
194
112
123
216
121
201
164
176
208
193
153
190
189
174
174
164
143
177
165
167
123
184
150
150
194
171
123
172
121
137
170
112
208
176
181
171
150
247
160
225
135
225
203
159
186
223
212
150
193
128
121
135
208
112
208
190
135
208
209
112
217
223
121
250
172
209
150
167
209
172
121
201
194
190
230
177
150
124
177
208
235
230
121
137
207
152
165
150
200
150
130
121
202
167
172
194
170
168
176
150
181
175
165
250
136
233
177
112
230
150
202
165
165
150
165
201
160
171
187
167
215
171
121
179
195
159
185
189
150
230
135
260
239
121
150
208
124
165
121
179
150
121
193
161
121
170
193
238
202
193
171
167
172
209
214
121
172
137
174
150
208
121
190
200
115
226
167
171
172
115
164
137
195
213
221
184
147
121
187
150
167
121
150
222
172
203
250
170
150
121
240
176
147
202
168
210
167
206
197
150
152
170
130
208
123
167
121
167
181
176
172
229
182
209
264
123
112
135
167
167
208
121
112
213
192
168
170
150
186
181
177
121
258
121
112
167
165
150
121
172
123
150
200
208
212
174
170
172
214
255
123
112
208
135
253
181
217
242
212
123
193
121
176
150
181
112
181
150
171
210
128
150
112
206
208
167
150
171
112
137
202
250
121
195
181
121
186
245
165
167
167
174
167
250
150
202
135
112
206
254
225
167
172
231
217
121
121
218
202
150
171
123
192
254
156
150
212
164
147
150
220
177
121
170
220
150
228
170
121
112
112
165
121
170
170
112
123
150
176
193
150
237
202
167
237
159
181
115
150
124
186
201
201
112
174
263
219
150
170
174
150
158
269
175
135
152
223
146
216
150
143
135
241
172
171
186
112
121
244
121
200
231
198
160
194
178
112
135
176
177
208
208
146
112
202
228
228
121
236
179
152
233
208
225
208
194
181
150
121
207
208
147
165
299
218
121
167
112
165
165
168
203
115
150
112
272
206
167
112
171
150
112
210
112
121
168
150
196
226
239
208
168
112
165
207
165
112
144
150
124
214
208
202
194
121
187
167
172
215
239
121
208
167
165
147
240
136
150
143
115
236
156
137
199
235
170
165
150
239
121
212
174
112
121
112
206
112
150
121
172
229
150
170
208
186
208
234
194
156
177
208
150
194
172
238
212
172
177
202
219
174
195
181
167
150
187
177
206
158
167
234
170
208
227
160
158
270
171
121
250
170
112
170
189
240
150
136
201
224
156
159
228
208
182
150
229
150
167
112
229
121
150
165
240
231
150
255
269
179
284
177
187
217
193
187
171
150
208
164
112
124
128
150
181
177
208
121
112
121
121
205
143
208
121
112
112
208
130
194
123
159
226
112
171
128
121
195
170
150
172
150
176
237
171
150
121
136
150
208
112
203
196
186
160
208
170
121
229
112
112
150
147
171
143
112
172
150
167
150
207
167
112
150
208
112
167
156
137
239
195
112
150
112
218
159
208
228
115
136
172
228
159
164
167
192
176
121
172
234
121
202
195
194
124
112
123
208
112
150
213
217
150
208
194
112
136
194
150
170
177
150
208
135
121
208
181
170
223
171
135
167
150
150
112
112
135
167
150
172
112
220
150
150
208
112
176
112
112
193
240
167
150
121
177
139
237
131
165
143
150
219
112
245
121
112
172
203
171
121
167
193
147
177
229
208
112
150
150
150
176
187
167
205
168
176
121
172
150
112
121
212
112
228
165
220
206
194
170
181
160
243
170
150
123
208
213
208
220
156
135
257
150
168
121
150
150
186
163
112
172
167
165
191
208
228
150
150
208
112
172
177
214
228
170
112
172
150
174
150
143
156
212
177
194
167
205
230
171
171
192
200
228
208
224
150
173
222
112
201
187
302
121
208
176
160
121
147
121
192
121
112
197
112
196
208
150
123
112
252
172
203
137
208
245
164
175
112
193
112
150
239
173
239
150
194
121
150
112
152
165
207
172
193
150
218
159
219
135
208
112
184
135
171
150
121
150
167
279
194
112
121
192
123
176
194
112
150
170
181
176
176
194
167
250
121
172
302
302
215
112
226
170
150
171
130
121
165
121
123
137
150
210
147
167
194
112
258
178
171
192
112
193
205
137
167
171
121
150
150
150
239
217
186
162
233
210
210
202
164
228
198
172
150
158
112
229
161
121
112
112
257
112
112
235
211
112
219
170
181
210
128
128
150
181
194
123
194
193
222
112
170
176
150
171
196
228
228
233
176
239
172
121
171
172
112
150
172
172
230
177
218
167
112
174
181
150
172
187
173
150
150
171
123
121
158
150
179
147
121
182
172
150
164
208
172
208
210
201
112
112
167
150
150
170
150
208
180
181
121
240
181
145
150
115
267
112
167
112
121
306
121
203
165
192
167
173
187
137
144
121
212
232
112
159
187
123
190
186
150
229
241
226
170
172
146
112
178
156
128
237
121
160
156
150
230
210
177
210
250
150
176
136
112
202
144
231
265
172
158
237
170
112
123
166
150
172
228
112
150
171
112
208
176
164
253
121
135
208
221
112
150
231
255
172
210
286
179
237
227
150
146
172
123
156
171
174
201
202
208
212
135
207
112
170
147
135
208
137
150
112
278
146
165
181
164
112
181
217
121
147
237
174
112
121
175
170
225
231
121
150
231
217
192
167
123
187
160
251
150
208
187
189
150
167
130
150
136
143
171
165
202
216
205
194
176
147
214
123
135
135
123
150
136
237
112
112
208
112
200
147
244
202
228
167
135
172
136
121
112
231
170
150
171
278
193
150
176
258
172
165
124
193
199
176
179
234
164
220
177
121
168
214
121
192
176
172
191
171
121
210
204
172
206
219
112
176
112
176
186
137
178
234
170
170
208
199
231
152
112
121
112
180
112
147
158
112
160
167
186
160
208
150
274
112
192
130
147
137
112
218
167
112
174
159
194
170
181
121
150
173
162
172
112
121
123
112
261
231
210
219
235
121
167
234
167
112
164
112
195
226
135
115
167
170
208
219
165
272
250
112
112
182
112
159
259
165
121
208
239
121
144
112
168
150
179
193
112
197
121
181
228
208
228
112
208
170
194
150
156
150
121
112
124
186
152
199
239
257
115
203
112
121
208
112
176
150
207
165
225
208
164
165
121
250
121
225
112
255
112
202
220
150
196
150
167
167
165
229
194
231
137
115
150
208
124
208
165
112
209
112
112
181
218
201
150
187
219
128
167
208
261
186
193
219
123
171
204
147
150
242
193
168
192
210
112
229
137
124
121
143
220
224
123
144
194
168
112
135
135
171
226
227
123
229
121
170
112
172
137
194
171
165
123
171
167
150
238
176
150
170
239
194
123
112
187
112
135
150
150
124
150
172
232
165
121
150
208
201
112
168
112
208
187
150
225
237
150
123
208
239
136
170
150
137
214
121
112
172
167
150
216
196
208
209
302
159
112
143
112
164
147
213
228
112
165
150
192
170
167
167
193
210
112
230
219
136
112
194
240
250
121
121
181
150
123
150
182
112
167
233
172
217
112
208
112
124
242
121
137
193
208
150
189
150
205
135
150
159
210
112
240
171
167
112
201
218
176
112
176
112
112
121
294
147
176
174
208
207
215
245
172
112
208
194
176
121
112
228
123
195
217
172
228
167
177
115
239
194
200
170
211
112
172
239
208
112
193
177
171
203
137
150
210
150
199
164
176
150
167
216
187
172
143
150
176
187
112
186
112
137
172
121
226
150
121
121
112
176
143
121
121
121
201
172
112
195
150
147
164
212
185
121
121
228
202
176
167
112
121
170
208
112
171
137
124
208
159
229
143
255
212
150
212
263
179
192
172
136
160
194
150
150
170
121
171
218
137
232
121
112
121
150
220
150
193
208
173
123
115
217
112
112
177
150
171
136
185
170
130
136
203
202
175
112
188
150
135
210
174
170
208
159
121
158
147
167
123
150
161
284
187
123
152
157
208
170
167
167
186
210
216
228
137
276
170
218
150
130
150
172
216
121
167
147
115
112
203
172
135
150
139
112
130
232
211
213
191
219
167
167
176
226
216
150
196
121
150
170
150
235
121
147
186
196
187
176
152
112
121
150
199
194
214
208
172
112
204
121
205
112
203
159
170
150
121
237
213
237
137
112
167
150
178
135
174
112
112
194
170
177
162
112
170
121
179
150
280
245
112
156
186
112
112
121
121
172
121
128
164
112
146
208
123
143
213
115
150
121
276
176
150
236
112
121
202
150
194
157
179
226
176
121
123
123
181
218
176
184
231
112
195
177
121
208
195
245
205
112
112
211
172
121
172
195
215
184
150
172
302
172
170
150
208
215
167
158
112
170
150
156
150
192
200
155
158
112
198
181
123
160
212
231
121
172
112
226
112
172
164
234
121
150
112
171
194
187
239
171
135
174
112
152
121
150
170
123
194
232
121
150
209
203
172
208
208
172
209
203
208
112
209
195
212
121
121
121
210
171
152
121
150
177
208
203
121
115
178
217
150
228
186
150
157
112
172
232
150
234
208
159
212
150
181
135
186
150
167
167
160
172
208
194
194
115
150
236
208
115
181
172
215
161
167
209
198
172
167
112
165
199
147
194
150
150
194
200
194
112
167
115
112
208
147
150
172
170
158
150
197
150
167
231
172
195
193
112
201
171
167
203
235
150
115
193
115
121
237
255
165
156
231
193
156
178
194
121
201
232
112
208
194
253
124
150
150
165
135
156
150
136
176
224
194
171
218
203
208
150
210
165
150
255
289
171
208
258
228
159
123
217
121
112
186
176
167
112
177
186
167
190
208
215
214
147
170
150
147
226
121
208
231
212
172
175
167
170
231
144
172
121
171
150
150
212
112
112
220
150
112
177
123
194
112
112
189
172
164
150
208
253
167
246
208
150
243
164
115
170
233
158
172
226
167
115
194
121
160
128
123
167
228
158
115
195
123
121
207
173
312
172
150
121
156
201
276
181
130
172
150
230
257
136
177
167
137
242
193
193
190
181
167
176
223
158
112
239
121
207
172
206
150
221
194
121
186
164
154
170
186
112
156
242
112
121
167
208
150
158
177
174
172
207
275
121
150
208
263
204
167
194
150
184
167
171
124
152
112
226
172
112
208
121
130
121
210
232
208
171
220
176
193
123
165
204
165
211
145
220
208
236
172
195
269
255
194
136
172
175
172
150
143
112
176
130
112
194
150
123
164
123
186
239
112
171
172
150
124
194
194
255
172
208
167
121
150
177
121
203
121
150
229
135
150
150
112
218
239
187
150
225
208
194
150
167
167
121
276
121
205
121
281
168
257
208
165
192
216
241
167
112
121
150
121
121
150
265
178
254
208
195
229
194
181
171
226
160
123
124
193
208
172
208
216
208
255
208
195
225
150
228
112
210
193
172
171
165
175
121
158
202
202
112
150
170
121
214
203
121
136
216
170
220
171
231
228
156
236
239
121
165
229
112
195
239
115
263
210
121
112
112
239
136
121
240
130
123
165
121
181
150
170
172
255
150
208
181
210
217
150
172
263
150
167
150
172
156
112
226
147
172
226
192
176
177
243
150
208
112
112
203
210
150
150
123
123
146
112
172
235
170
123
186
170
186
193
201
186
121
150
161
208
136
218
143
193
279
195
218
194
147
150
167
170
160
219
171
216
181
236
172
228
226
150
124
158
165
121
112
159
170
181
172
165
167
112
208
181
167
176
208
194
256
226
204
197
198
193
263
203
171
121
237
233
197
190
196
240
136
167
195
150
170
112
219
218
167
150
231
179
121
208
193
172
239
219
243
249
164
112
172
121
172
156
144
199
194
228
112
112
263
171
135
165
112
150
177
226
121
237
121
195
121
255
218
193
135
172
121
225
121
164
208
194
112
135
112
210
196
217
208
176
121
150
187
198
205
147
172
177
121
121
121
258
202
172
187
218
165
150
172
121
171
159
217
272
201
167
160
168
278
144
231
174
115
150
264
147
150
123
208
150
136
187
144
217
171
181
150
172
194
185
135
121
209
150
208
121
150
112
170
112
202
150
150
115
208
115
187
167
164
189
187
206
112
181
150
172
203
136
165
136
176
186
170
150
186
208
164
161
208
112
146
174
228
112
181
170
208
181
150
156
202
208
213
150
121
147
112
167
112
179
153
112
165
232
171
137
218
150
192
187
132
171
229
121
130
172
205
202
112
170
137
136
276
115
228
150
187
194
187
218
150
185
150
150
213
192
195
176
220
150
171
220
164
121
260
137
150
157
112
147
217
210
203
112
205
245
158
208
172
172
130
172
203
170
150
172
112
226
218
218
150
167
198
165
176
167
170
206
150
202
158
171
172
112
167
208
170
112
150
165
123
208
124
150
189
147
186
193
238
182
112
137
144
216
279
171
203
112
260
171
201
208
201
121
112
150
156
112
150
150
112
250
150
150
193
121
239
235
174
150
150
121
170
121
121
193
150
187
229
272
167
210
112
212
164
233
213
153
226
112
194
123
202
172
171
165
185
135
239
202
202
237
127
170
172
233
123
193
172
150
115
207
170
150
172
208
112
121
160
220
170
218
121
167
236
112
229
193
198
121
123
219
147
186
112
167
187
121
171
302
195
218
167
193
172
209
171
161
123
164
206
171
167
160
239
112
131
121
158
112
237
208
164
171
186
231
123
212
150
112
123
278
172
302
150
150
150
176
194
153
176
137
172
208
121
112
124
220
112
165
228
167
194
167
206
229
175
176
179
123
250
181
176
205
240
172
121
160
170
121
176
121
150
121
112
112
171
150
121
275
112
218
210
225
194
222
189
211
212
172
172
231
172
194
115
121
240
121
150
171
173
208
171
159
225
150
186
205
132
150
186
219
121
130
181
152
159
167
181
112
190
175
172
186
115
115
231
112
171
112
135
150
181
150
208
165
170
112
208
150
275
226
208
181
228
150
243
168
112
193
187
205
205
150
172
189
150
121
187
186
181
218
150
237
121
201
121
150
112
147
231
203
150
172
231
150
139
197
228
195
135
171
210
186
171
202
123
210
172
229
194
150
112
172
170
265
208
121
174
159
208
150
255
231
167
186
115
208
208
208
171
282
150
208
112
121
121
165
195
193
150
177
177
241
112
123
187
150
167
121
227
193
150
217
112
139
112
124
170
158
196
112
208
164
132
121
115
176
121
121
150
237
234
208
112
208
171
171
167
190
205
150
121
206
276
210
195
121
237
272
208
220
223
282
112
194
239
171
229
121
192
130
150
150
201
165
150
281
123
208
121
112
121
171
195
211
171
181
158
112
121
257
150
136
170
174
210
150
121
171
171
228
230
179
121
214
208
124
112
243
217
112
112
121
121
123
167
137
172
239
227
194
130
228
237
194
212
147
208
186
165
165
121
241
137
193
160
112
193
112
203
147
189
112
208
234
250
172
165
170
187
196
228
247
112
236
193
112
181
218
228
202
121
208
208
150
147
121
150
217
187
121
136
228
136
112
158
150
168
172
276
208
150
170
167
121
176
174
152
231
205
217
165
121
150
167
164
112
123
208
198
121
230
112
194
194
194
219
181
121
165
195
219
112
167
163
228
172
164
250
130
213
150
174
123
163
150
173
121
174
156
156
231
150
193
208
171
217
147
112
147
231
150
112
150
178
195
150
165
228
159
219
172
208
197
218
112
225
208
263
167
165
123
196
150
177
210
112
112
258
112
146
208
137
150
112
240
171
176
121
175
210
230
217
150
150
172
112
193
281
164
208
192
150
124
237
208
150
170
136
204
209
201
150
167
135
121
168
150
167
237
170
186
210
147
121
198
244
112
237
150
121
171
194
203
150
147
150
130
123
152
229
112
208
228
172
172
227
150
152
274
150
193
121
159
302
150
172
112
240
158
172
219
186
150
147
167
150
121
135
121
171
229
215
195
210
165
121
208
172
208
194
165
263
121
220
276
112
232
158
231
167
232
261
150
212
112
216
147
168
167
195
188
194
112
240
181
150
172
237
194
210
112
240
164
150
150
175
201
207
215
172
160
112
176
195
177
218
112
176
150
254
203
176
112
112
135
136
239
237
193
230
121
136
150
123
176
195
237
161
227
178
165
170
171
210
208
170
186
176
199
130
237
156
172
217
150
150
193
112
189
228
278
150
210
174
207
150
225
175
170
165
194
170
181
218
121
181
267
172
159
121
170
238
121
159
263
201
227
112
150
121
137
208
150
237
124
150
172
250
232
208
203
201
170
195
112
216
112
189
218
124
150
229
165
193
206
165
192
150
112
233
135
203
172
158
157
135
208
152
187
186
170
150
150
121
168
170
121
128
207
171
112
250
213
137
172
112
121
171
121
167
205
199
192
214
121
228
203
170
156
171
160
170
208
170
194
121
121
228
136
121
178
171
242
150
276
160
121
150
168
216
208
130
150
121
194
171
208
164
112
165
136
150
218
123
181
112
216
112
150
136
167
207
150
167
152
158
167
150
121
165
167
150
112
135
208
112
176
150
150
170
136
203
121
137
112
112
167
254
150
150
172
121
215
209
176
121
150
170
150
121
168
170
175
208
208
168
186
231
123
203
150
165
177
166
150
112
121
226
232
112
192
112
150
121
172
112
136
164
219
181
112
213
123
158
167
121
176
250
220
130
238
177
231
195
186
150
150
112
250
195
192
204
112
181
172
150
121
208
220
170
150
200
150
146
186
121
181
150
305
112
177
180
112
136
170
123
164
202
172
150
150
159
225
233
121
192
176
228
182
210
112
150
112
203
150
170
112
112
150
112
238
165
158
150
192
135
226
172
245
175
261
250
112
112
147
158
164
112
112
167
190
246
150
150
150
242
228
302
276
128
150
115
171
176
228
128
208
159
121
221
170
150
176
237
193
182
167
272
208
176
278
150
201
201
201
193
233
121
150
112
177
208
136
121
204
288
112
156
136
220
236
193
229
157
179
121
193
196
121
194
172
137
150
207
194
137
172
168
229
172
181
112
121
195
194
167
194
208
219
208
112
135
165
171
158
176
135
194
240
171
165
194
194
177
121
172
150
181
220
123
172
228
150
178
172
194
112
112
156
112
206
162
164
144
167
156
187
195
236
172
302
167
112
208
115
226
150
197
150
177
170
128
130
137
202
297
189
150
112
193
112
112
121
137
170
170
152
170
175
217
167
150
150
150
172
123
210
228
259
167
231
209
176
175
207
247
167
203
112
164
186
121
150
150
167
242
172
203
203
177
121
112
150
150
112
172
159
185
137
213
192
150
202
112
150
121
112
201
123
167
150
150
161
168
170
128
115
136
177
137
204
174
208
176
208
130
170
112
150
112
158
121
190
181
194
181
135
150
201
176
235
150
208
112
202
171
189
150
193
244
202
139
150
150
174
172
123
278
123
135
150
201
215
137
248
167
121
124
143
150
218
174
203
137
150
150
233
121
176
167
219
168
228
167
115
212
216
175
121
170
123
112
150
115
208
121
210
171
237
150
150
167
240
170
159
121
172
170
208
168
112
160
121
208
152
202
219
181
208
194
162
174
215
150
168
112
184
209
233
217
208
121
156
150
200
229
194
181
233
158
239
115
195
195
115
188
150
193
208
260
208
165
187
157
150
181
172
205
112
218
172
201
208
150
170
187
150
156
175
233
192
208
123
237
250
112
121
208
208
170
194
152
219
121
128
174
172
112
167
112
150
235
172
178
167
196
195
195
181
247
135
150
302
150
172
150
123
172
112
115
121
135
112
181
150
168
170
210
112
263
228
121
150
130
171
168
181
123
143
167
181
123
164
150
150
150
164
212
177
160
112
181
182
147
194
152
266
124
123
150
255
172
152
174
121
172
174
208
167
208
181
179
172
233
177
215
172
135
158
162
137
175
121
208
143
136
121
208
229
215
112
181
187
193
179
165
208
194
171
179
253
208
121
210
171
220
170
172
112
181
254
171
147
181
193
302
123
228
228
186
150
112
186
172
177
184
130
136
170
112
230
150
112
150
150
217
167
123
177
194
171
172
208
164
246
186
193
172
145
137
238
112
167
177
171
150
165
194
165
194
137
193
112
130
237
250
177
208
121
121
261
243
228
167
259
150
112
171
150
172
272
194
186
121
228
112
177
228
237
172
186
237
150
193
137
223
135
112
135
164
159
121
150
202
150
218
115
229
172
214
167
194
128
152
112
167
159
224
202
196
194
171
121
130
112
172
112
150
150
121
180
135
218
208
208
165
205
194
121
234
121
170
212
150
150
121
214
237
228
121
162
225
156
217
176
124
232
195
203
121
160
205
213
112
277
112
263
213
165
152
172
150
112
137
181
195
150
172
208
112
136
167
195
147
136
112
174
135
175
115
208
150
150
150
213
175
167
208
167
152
150
228
172
115
115
194
195
152
172
208
165
210
167
179
228
157
200
112
156
211
167
167
171
171
250
208
219
150
150
150
167
112
233
176
112
182
121
164
181
225
186
171
179
260
253
201
112
194
212
243
115
112
112
171
228
156
208
112
112
181
194
237
112
208
121
165
150
225
217
201
225
194
158
208
123
210
221
146
233
121
172
217
141
131
272
157
164
150
112
123
195
121
205
172
150
226
176
171
165
112
112
205
150
115
177
112
202
193
121
112
167
160
174
267
177
144
238
193
157
255
208
210
146
170
130
195
112
172
236
181
150
121
170
135
123
112
143
220
250
172
164
184
121
177
202
160
186
150
175
210
150
187
136
201
187
158
152
150
112
172
215
150
172
194
150
208
193
237
201
167
177
257
172
121
158
172
121
150
217
121
121
112
176
238
233
121
112
121
150
150
165
150
192
150
121
210
112
150
237
165
189
170
202
121
112
181
170
163
156
112
135
147
150
229
121
208
194
112
167
229
121
147
205
195
171
121
150
150
165
150
147
190
193
158
164
112
162
208
214
172
260
150
112
123
168
172
170
225
176
170
176
208
208
227
174
201
170
150
150
159
167
171
195
208
150
150
121
193
158
112
112
112
162
174
123
174
135
229
255
208
121
193
121
250
167
112
167
145
112
158
124
112
112
150
159
250
250
121
167
150
179
272
150
136
150
168
156
181
172
250
167
174
135
150
170
244
194
202
186
208
223
238
150
208
231
231
208
162
240
150
165
130
121
297
237
167
181
115
112
208
121
177
112
172
237
186
195
305
165
242
121
264
170
161
112
195
194
217
202
198
121
179
231
208
193
152
172
187
210
170
159
176
172
123
167
170
210
121
146
150
167
150
139
208
150
131
208
178
124
193
176
112
121
150
112
167
121
179
237
168
205
203
208
170
211
201
121
195
170
172
174
243
167
258
136
168
121
167
150
112
245
150
240
159
167
172
150
150
181
167
186
192
218
150
303
112
231
172
172
150
123
164
171
176
207
226
165
170
170
232
176
170
194
239
164
172
217
170
165
150
164
112
121
150
123
172
177
233
150
167
196
150
165
150
150
208
167
121
128
203
130
174
112
136
112
150
123
219
208
203
172
218
244
121
195
176
239
172
263
195
192
143
121
226
228
210
115
195
121
175
165
165
276
168
170
195
201
150
123
203
136
225
204
124
165
150
135
123
150
112
112
143
112
165
202
201
177
135
198
160
150
159
208
202
121
170
121
150
136
150
170
172
232
170
150
123
190
194
175
208
150
185
167
137
112
195
210
121
170
255
112
238
172
193
150
150
262
143
112
123
200
167
112
176
182
228
194
179
171
245
299
168
231
135
237
150
165
194
175
194
164
121
208
112
165
192
165
208
112
167
202
208
121
201
121
158
167
172
198
150
217
212
232
165
136
232
181
193
157
185
121
205
203
187
194
244
186
147
121
194
176
239
143
208
194
123
186
164
219
175
187
228
203
147
160
175
226
208
223
112
172
165
187
160
194
150
121
150
136
208
121
112
150
186
205
150
181
171
193
156
205
150
160
150
218
112
225
201
186
172
167
207
181
194
121
167
150
193
123
143
174
167
135
208
112
250
233
135
121
128
150
195
208
172
112
215
115
150
172
275
202
135
150
167
181
195
203
147
159
150
317
158
205
124
178
228
170
194
232
215
172
123
176
121
203
150
217
150
147
208
147
176
171
112
187
212
208
150
121
195
121
123
112
115
121
195
115
208
165
208
172
172
205
150
167
192
176
242
202
302
150
172
201
173
249
123
187
170
220
195
178
147
208
255
233
150
150
194
208
203
186
165
147
178
167
208
150
150
194
121
195
130
171
237
208
219
164
165
123
158
167
209
123
203
231
228
112
239
186
213
123
302
164
186
224
194
147
150
187
240
186
192
115
259
218
186
243
150
176
168
220
195
150
228
212
150
121
170
167
112
150
123
112
167
233
208
171
208
112
172
212
198
214
124
168
121
238
190
208
170
208
130
194
172
112
217
112
195
192
121
121
115
181
121
123
174
123
167
220
112
171
121
152
170
210
172
217
302
205
212
121
289
171
226
172
159
261
167
215
231
121
127
167
150
210
177
112
219
139
124
156
187
195
150
165
150
123
228
158
191
313
257
186
112
112
143
212
243
177
186
195
150
121
147
161
170
186
132
237
112
123
302
121
219
136
219
194
179
229
112
208
167
112
190
208
121
259
195
208
121
170
121
201
172
158
136
150
167
220
121
208
112
130
172
176
158
112
243
210
150
207
159
150
202
195
302
115
143
150
112
171
112
165
265
187
235
201
186
168
194
121
302
112
150
150
171
208
150
208
121
147
172
137
219
123
112
173
174
189
121
150
112
121
135
215
147
150
176
144
172
170
150
226
202
195
112
267
136
112
165
121
136
137
176
112
158
171
121
115
170
257
156
112
112
212
229
136
187
135
137
143
150
181
250
150
164
112
259
208
193
172
167
121
193
213
176
208
157
172
159
136
121
187
194
250
208
147
150
212
158
203
208
112
121
237
240
164
167
170
257
135
150
167
112
150
177
217
194
150
245
217
165
171
167
156
150
172
112
186
219
208
150
112
275
112
276
220
170
198
226
165
150
150
167
194
112
112
208
112
210
158
150
167
223
237
241
112
112
187
240
150
172
165
302
217
235
165
210
150
165
172
150
121
167
152
212
181
184
203
231
112
123
112
112
112
237
176
233
215
167
172
181
121
172
121
186
199
150
231
208
150
193
210
112
233
259
194
170
195
121
135
204
160
150
234
263
237
218
123
208
147
121
194
143
170
171
121
176
190
237
121
239
130
123
174
172
178
187
143
171
255
228
172
137
136
209
167
167
121
170
171
215
150
194
196
150
259
112
170
208
167
172
115
172
177
150
171
112
250
170
278
160
130
264
150
121
186
150
228
167
177
165
205
208
208
150
167
171
176
150
192
208
208
171
150
203
170
210
150
115
135
172
203
167
160
171
150
121
164
165
171
234
208
160
161
250
139
177
121
170
208
193
137
172
112
189
150
171
202
165
128
150
159
225
144
112
123
121
239
208
112
276
170
112
201
210
172
147
135
112
174
112
259
112
150
167
215
179
194
121
166
172
195
158
203
237
172
170
181
198
181
112
195
193
228
205
219
177
208
167
171
208
167
112
176
112
112
202
186
210
135
115
150
217
135
189
172
112
112
172
137
222
202
173
231
150
112
112
208
203
147
203
112
194
198
181
112
143
195
150
123
156
201
165
150
177
225
112
121
181
150
112
158
121
177
220
241
135
112
112
150
212
123
131
228
232
158
150
208
170
150
228
170
194
172
226
284
237
170
236
172
121
156
152
115
121
220
150
172
165
112
112
124
221
197
115
170
123
215
121
121
202
150
237
216
220
208
112
176
194
135
112
212
123
186
137
171
223
233
150
150
218
150
226
212
187
112
121
229
263
167
208
231
121
207
229
214
112
123
176
135
194
130
189
165
225
150
150
210
196
172
150
135
171
136
136
215
194
203
172
235
121
112
150
228
158
130
165
150
171
193
177
121
159
172
187
177
207
112
123
123
175
243
121
144
121
136
181
112
228
147
176
196
121
175
150
176
170
203
123
150
239
112
115
150
181
121
171
239
194
225
150
167
136
159
202
172
150
173
202
115
150
167
220
172
173
208
112
170
305
179
208
147
208
150
135
158
150
135
158
121
112
243
175
135
121
112
187
170
172
167
121
150
150
156
194
150
159
186
168
112
150
259
229
201
121
112
112
147
176
281
201
219
159
185
194
208
176
170
167
234
121
152
150
150
223
136
201
150
187
121
121
223
150
112
194
215
137
170
171
195
150
187
159
150
147
242
112
137
167
167
194
263
194
150
121
176
212
201
112
121
165
217
121
207
150
237
233
150
181
181
210
167
115
201
193
121
208
121
167
115
260
150
179
156
167
247
159
172
171
150
278
195
190
194
115
121
217
170
236
150
218
123
172
211
147
192
150
150
175
123
171
112
207
112
160
167
208
202
194
170
208
186
121
115
143
226
210
176
174
161
223
171
164
229
208
217
171
150
164
165
239
167
243
231
136
112
121
121
123
208
124
196
193
208
143
177
208
115
201
184
121
219
170
121
250
162
135
159
203
225
150
121
112
150
112
226
181
171
192
150
121
194
150
172
195
208
136
150
170
198
206
170
237
193
220
150
208
208
152
150
245
139
194
208
189
247
273
177
121
135
207
181
135
172
195
175
172
170
170
209
167
237
228
212
115
194
237
244
121
170
139
208
179
112
112
201
194
112
150
186
170
112
192
218
231
170
162
276
226
170
170
150
135
187
187
208
202
150
215
209
123
165
170
150
188
198
182
181
121
137
136
186
231
147
176
202
167
186
172
194
150
123
208
237
112
181
121
167
228
193
112
193
170
194
150
146
181
244
150
123
112
172
176
231
181
150
181
193
147
123
168
172
199
179
208
170
164
181
161
147
121
226
160
137
165
217
150
143
167
175
165
208
207
186
123
170
150
172
187
124
121
112
123
186
150
207
112
222
159
121
170
228
195
150
187
208
302
156
170
150
168
150
139
167
150
211
123
243
194
164
167
208
219
171
193
176
165
170
186
121
194
231
137
228
152
158
121
123
150
170
150
123
208
172
121
219
136
192
210
150
115
165
175
159
112
187
123
136
195
137
194
150
218
121
194
209
179
136
136
150
256
192
187
185
150
229
229
112
135
208
150
190
130
136
214
150
150
208
258
136
201
170
121
220
223
208
112
194
171
121
115
203
164
181
150
186
130
112
186
172
160
187
112
172
203
208
143
112
205
147
147
135
150
176
258
121
184
194
121
193
135
206
260
192
121
121
208
123
178
121
219
150
123
196
208
150
137
150
150
170
150
121
215
208
121
171
197
158
123
121
158
150
121
233
187
203
215
112
237
176
229
135
135
203
147
218
228
205
150
176
172
195
143
210
121
137
170
136
192
150
112
208
130
150
112
147
171
192
168
156
158
112
112
144
158
121
208
228
121
134
202
177
212
228
203
209
208
121
156
168
121
207
167
215
121
112
165
179
232
123
184
186
112
208
167
123
173
241
172
112
208
150
121
135
136
195
150
195
223
187
192
164
150
112
186
156
220
181
170
170
203
135
187
208
150
237
121
259
208
121
135
183
217
172
150
150
124
167
123
137
150
143
210
237
112
164
194
208
179
150
150
139
121
172
135
121
170
183
208
150
194
171
136
232
159
208
112
170
150
165
170
136
228
150
217
136
112
150
165
170
184
201
147
179
160
218
171
121
177
250
170
170
172
121
194
167
158
209
146
112
167
150
211
218
170
112
115
233
181
137
136
171
121
150
208
128
242
156
150
189
170
210
185
135
150
181
242
150
208
171
131
165
186
235
172
194
170
172
219
123
231
172
150
165
121
121
210
212
150
162
211
222
167
165
193
150
196
176
197
181
121
231
194
194
147
123
158
228
204
202
136
177
220
167
165
170
174
150
213
150
157
150
159
150
189
229
112
194
158
208
130
112
228
112
121
181
208
208
150
112
150
172
189
150
172
165
112
177
171
194
195
206
115
121
160
181
167
196
176
150
255
217
150
194
167
240
124
135
191
115
172
136
115
164
181
157
150
176
112
152
147
112
218
276
208
112
167
143
121
231
181
178
177
216
240
164
146
195
135
192
186
184
171
172
192
217
172
215
174
112
208
121
115
165
167
167
210
169
257
181
172
121
150
170
181
150
112
211
156
150
220
121
150
112
192
179
165
121
231
231
193
176
150
150
256
121
233
150
112
112
193
112
172
171
314
201
239
205
171
172
238
211
144
150
172
121
121
212
170
165
165
193
123
121
150
167
172
205
150
195
112
217
176
193
137
150
150
121
177
167
219
209
121
123
195
186
172
150
172
112
237
217
208
194
170
167
168
171
121
188
207
150
163
184
232
192
121
260
237
208
128
112
112
121
159
215
170
236
208
156
220
112
121
167
208
172
165
181
179
193
208
150
112
170
217
143
239
228
162
187
150
239
121
121
165
228
172
123
150
143
167
150
175
136
121
177
150
150
255
296
193
123
112
181
168
121
150
187
137
186
172
150
203
208
243
150
135
175
160
208
217
150
202
208
195
127
150
172
112
146
121
195
201
167
167
243
202
175
171
170
207
192
172
212
182
168
137
159
238
170
172
121
150
150
210
195
219
194
112
123
150
170
115
192
177
172
196
171
167
181
208
196
192
162
168
210
121
121
135
219
121
206
176
121
168
175
186
124
175
212
195
186
121
112
208
181
260
172
217
190
208
112
199
194
228
136
210
152
160
112
123
206
150
112
167
208
208
167
150
121
223
157
212
174
208
194
196
225
203
150
121
194
217
150
167
112
160
208
150
163
212
150
215
207
112
211
112
112
216
203
201
208
172
186
228
193
229
136
194
112
179
137
210
179
135
208
112
220
136
211
150
208
170
195
202
207
210
123
144
150
112
170
150
112
172
164
112
112
150
123
150
150
112
199
171
221
193
215
217
150
187
254
167
130
150
112
194
194
143
208
130
158
112
220
171
186
226
177
176
167
172
208
123
200
150
124
135
209
189
235
150
150
206
123
150
112
259
121
160
208
231
201
181
230
123
123
225
150
228
150
242
135
156
150
220
135
167
112
215
212
276
150
179
150
165
112
159
181
121
175
159
112
172
128
202
193
192
219
250
170
147
112
150
208
173
150
196
159
150
167
208
192
158
189
121
136
157
150
208
181
136
172
228
158
208
157
272
150
186
195
177
112
136
171
236
123
195
278
150
167
137
172
185
210
208
187
112
112
112
202
181
164
194
150
195
150
192
203
160
159
240
241
172
112
219
207
186
128
208
112
176
112
186
184
150
210
194
232
195
217
112
121
208
229
130
121
112
167
115
165
172
112
121
187
123
181
165
123
165
189
112
205
252
186
150
172
112
112
121
112
121
147
237
168
150
208
239
195
128
121
171
115
193
247
219
203
112
172
112
194
177
254
170
208
181
112
112
218
172
176
112
201
207
260
239
159
219
160
112
214
121
174
165
150
115
182
216
121
124
150
208
208
150
224
208
121
112
112
176
186
223
209
112
250
181
135
220
170
211
237
237
150
203
253
123
208
208
131
184
121
194
135
167
172
150
171
121
170
208
231
121
150
123
121
172
241
208
170
171
121
150
231
208
150
193
122
237
173
150
123
194
158
193
187
137
123
178
137
150
258
208
150
255
131
121
112
112
170
150
171
170
128
170
172
208
171
208
112
157
208
185
115
112
170
135
177
201
229
175
112
112
164
167
150
210
233
299
186
112
187
150
112
137
171
150
195
112
170
172
112
164
112
112
152
238
164
199
198
208
164
238
192
172
236
128
210
136
121
124
231
206
256
203
208
112
193
167
239
194
135
195
112
208
171
299
121
171
112
194
208
229
205
121
121
194
121
165
208
193
165
228
190
167
121
182
112
186
165
208
136
193
150
171
135
299
161
121
187
150
150
150
208
228
246
255
135
123
232
208
150
112
130
292
229
112
190
167
112
172
237
115
170
147
164
258
205
121
150
136
193
240
172
243
112
112
121
181
208
212
232
150
205
171
159
179
195
136
185
179
181
121
177
172
150
121
150
186
150
181
167
150
121
146
150
150
198
112
150
205
205
121
112
112
201
112
228
137
233
167
208
144
121
150
174
112
137
170
176
204
150
196
159
115
136
136
226
208
219
123
201
121
208
175
150
186
112
112
150
157
170
243
150
171
170
112
208
112
202
253
172
121
231
121
186
150
112
230
232
167
112
176
145
208
243
212
202
112
121
217
175
225
158
194
208
144
150
193
254
190
204
208
150
112
150
171
150
156
137
165
177
150
136
217
194
195
216
165
293
135
115
121
228
136
263
174
177
167
112
187
150
115
217
150
115
121
172
121
194
150
157
158
219
181
112
212
220
211
205
186
123
150
203
207
150
181
237
172
150
205
208
115
124
241
257
121
245
177
150
208
233
160
123
187
121
194
178
112
216
172
150
196
202
187
172
170
219
207
135
204
112
150
265
112
186
170
150
228
162
150
121
167
150
164
186
150
239
203
156
164
174
170
167
147
167
112
150
201
165
123
112
123
182
121
243
240
194
121
167
157
121
123
172
112
112
261
121
244
263
143
202
135
150
121
169
150
121
150
121
172
208
115
193
137
208
135
112
193
171
170
186
112
123
211
231
121
208
194
165
231
121
219
160
201
165
112
170
150
226
240
150
267
208
112
250
196
208
150
143
205
137
172
124
236
150
167
170
208
112
228
174
124
187
171
225
222
175
257
136
152
150
172
156
121
181
150
150
219
167
112
156
150
112
208
112
121
150
121
208
205
143
121
181
176
195
184
135
150
121
170
112
172
204
208
208
167
171
167
150
193
243
195
150
174
150
174
150
172
121
171
112
237
208
137
170
203
193
147
254
194
172
112
164
165
135
121
176
167
112
164
112
228
149
150
156
208
219
193
150
226
121
150
233
121
171
112
233
144
121
112
136
160
262
121
187
186
115
121
159
112
192
121
172
150
112
228
195
159
162
202
208
150
115
186
112
171
181
168
171
181
112
240
158
181
186
218
170
121
146
238
170
136
150
112
258
121
208
121
121
121
121
115
124
112
135
150
150
156
171
115
220
171
210
195
121
201
115
187
147
167
172
195
237
207
160
150
185
189
171
112
123
186
112
202
226
164
239
193
210
150
194
112
187
250
219
202
168
150
202
150
121
257
192
156
218
147
187
210
150
150
210
160
123
112
205
194
150
182
231
150
112
187
172
171
112
261
175
172
175
123
175
208
250
136
162
150
192
167
239
168
150
150
167
128
167
170
217
280
121
202
150
121
219
276
208
178
160
147
121
193
112
203
172
208
121
195
152
150
241
211
112
241
158
229
167
172
208
203
136
164
150
195
212
167
167
239
123
136
124
236
181
187
121
193
167
171
187
195
135
241
123
167
208
162
231
208
240
255
168
112
170
208
112
219
243
115
164
208
208
112
170
165
112
208
160
186
170
156
181
165
174
112
162
115
160
201
186
172
168
112
237
167
170
150
196
136
123
203
228
123
130
170
112
121
112
237
186
150
121
150
195
214
205
228
137
158
171
229
176
112
212
213
218
150
178
250
220
181
176
158
137
215
112
130
128
186
175
147
247
260
147
143
226
123
190
170
171
220
228
208
152
137
194
170
171
181
167
182
201
121
112
263
284
121
150
150
112
159
121
121
202
112
146
210
170
150
123
181
186
184
150
130
147
228
167
242
150
197
170
181
112
112
112
150
168
150
220
112
123
121
208
147
176
174
272
193
212
150
172
208
167
147
135
210
147
112
220
219
147
243
150
123
150
124
199
187
150
112
165
158
228
170
121
177
161
171
178
176
193
181
226
112
255
172
171
167
165
189
156
121
143
165
159
123
121
123
112
203
193
208
208
131
112
170
150
112
235
150
150
150
164
123
210
211
131
121
179
150
176
189
170
150
189
172
152
121
201
250
172
194
150
233
229
112
193
195
160
123
186
150
123
150
164
208
168
228
115
187
123
227
194
193
150
160
272
147
150
187
194
176
145
172
157
208
186
121
150
147
150
170
124
171
161
204
212
160
121
189
170
208
150
121
150
152
206
202
228
112
167
147
137
135
172
193
178
172
150
121
150
187
121
112
184
121
170
237
205
219
152
213
178
189
160
181
150
193
170
179
158
159
214
179
250
215
220
192
271
171
172
150
121
160
187
112
165
208
147
194
121
170
150
124
167
112
112
150
167
121
150
250
167
208
171
213
112
150
208
121
193
250
187
143
123
250
215
196
171
170
150
176
171
172
171
150
186
171
231
134
228
219
208
179
208
226
168
150
193
135
167
112
208
194
178
158
172
174
170
112
150
226
112
147
212
193
147
112
112
123
152
219
172
150
214
164
112
202
170
179
150
198
164
240
216
121
150
204
135
186
134
171
236
220
124
176
174
150
176
150
172
150
150
112
220
150
186
202
233
150
147
226
228
167
195
172
212
177
210
150
172
215
167
172
123
112
176
147
196
239
112
112
124
121
205
121
123
112
135
194
219
112
112
121
112
112
194
112
168
187
176
208
150
217
128
171
112
150
152
112
121
176
171
172
192
123
170
236
232
170
208
159
170
121
165
193
150
172
200
164
112
143
213
135
124
172
208
168
223
218
121
228
229
221
112
208
143
210
150
172
172
213
208
193
193
159
195
165
171
121
240
238
217
170
186
208
208
123
283
158
208
171
231
112
121
165
194
150
208
186
135
196
208
172
112
194
228
208
205
189
170
137
228
112
242
112
208
174
150
121
172
189
112
121
143
160
260
112
212
194
202
136
186
255
135
208
192
181
165
208
237
194
239
302
150
136
150
176
171
217
194
165
187
137
165
218
112
168
112
121
164
159
175
181
172
147
201
171
112
160
178
236
131
121
203
121
172
159
208
225
164
115
228
136
136
112
112
242
208
208
176
207
219
276
121
234
231
121
135
171
121
172
233
162
170
193
172
240
210
123
135
150
175
170
115
167
150
150
172
194
128
186
112
167
165
176
162
121
121
121
216
150
185
233
112
177
172
112
195
193
201
194
165
112
121
207
210
192
121
208
121
136
171
112
208
193
172
160
204
201
178
167
150
241
159
121
175
190
115
112
112
208
167
147
176
150
205
123
185
123
220
164
181
112
135
135
226
230
150
171
255
203
196
170
112
210
112
123
240
217
123
158
172
208
159
152
112
165
112
123
167
208
171
170
130
187
172
121
164
175
206
150
194
200
211
208
171
200
164
137
209
112
156
213
231
194
112
176
150
218
228
250
208
172
219
194
166
123
181
137
121
172
200
137
186
112
136
112
202
193
150
179
184
229
170
150
242
112
170
121
229
181
195
195
210
167
137
170
186
170
172
255
182
238
198
217
181
226
121
143
202
121
250
210
192
150
164
172
130
194
195
194
112
174
150
147
167
144
209
150
159
217
171
112
160
155
124
172
205
115
172
150
121
170
216
167
123
150
112
150
156
167
112
229
123
172
210
194
214
150
123
220
150
164
174
207
171
121
150
201
212
112
187
121
181
194
145
135
121
147
205
218
123
278
237
136
175
167
173
152
158
121
159
173
172
208
208
202
239
135
210
168
208
181
135
172
189
176
228
115
112
188
150
171
160
208
176
112
150
257
170
177
246
150
150
112
143
150
121
208
181
139
253
170
237
152
226
156
167
167
171
167
136
225
207
187
172
172
167
150
203
208
123
150
121
298
187
112
112
193
150
199
170
228
192
189
121
181
208
231
208
156
187
215
112
189
236
167
165
112
112
167
250
243
150
190
112
208
194
232
172
170
250
150
121
208
208
216
150
245
115
112
187
150
162
176
167
177
123
172
237
112
170
212
130
172
150
193
112
171
171
164
150
219
194
194
170
115
194
137
172
144
112
164
143
123
208
112
186
121
220
150
112
208
208
220
193
150
112
171
150
196
193
147
121
203
167
170
232
165
150
150
192
121
170
136
172
150
115
238
257
150
121
255
174
201
167
172
150
263
135
112
194
170
181
232
174
150
196
112
150
272
176
172
174
121
167
150
168
150
150
263
172
186
192
136
170
208
112
192
228
186
172
237
176
225
226
165
186
170
176
208
208
112
210
121
135
121
240
279
170
278
189
174
123
147
112
231
171
167
121
121
203
115
208
177
121
172
215
181
123
130
171
170
112
212
123
121
121
174
195
150
275
177
112
205
123
112
234
147
218
150
208
112
150
167
255
202
150
172
202
176
211
112
150
171
167
150
174
208
150
207
136
172
115
121
181
112
187
130
228
150
167
200
202
150
135
162
112
164
186
208
192
150
208
197
218
194
172
170
194
208
263
231
176
194
231
181
193
112
121
168
168
158
187
121
112
150
226
187
193
137
168
228
211
178
150
167
150
208
121
167
165
150
156
150
207
212
123
164
171
246
206
150
150
115
215
206
112
181
150
201
167
172
211
226
147
146
135
150
150
203
243
185
202
176
121
159
181
181
201
190
112
150
112
231
208
112
207
121
121
150
167
196
112
256
182
159
160
237
208
174
259
179
112
209
121
201
165
219
147
189
121
121
208
208
115
150
186
187
208
150
255
176
208
121
172
136
208
136
121
237
150
207
123
182
143
194
208
150
170
201
186
147
212
112
276
176
115
176
203
208
194
208
181
165
208
194
150
217
212
121
150
210
147
208
274
150
172
200
202
170
237
121
195
194
150
112
232
112
143
165
123
121
213
170
172
135
208
143
192
112
150
150
172
121
192
208
150
161
135
168
181
178
281
121
210
135
143
157
217
228
218
112
186
219
176
209
171
137
210
230
121
170
121
171
162
222
121
244
150
171
121
167
225
229
170
150
158
115
233
231
255
186
186
193
137
121
193
194
112
212
150
215
171
176
167
172
187
152
150
150
150
208
208
210
172
195
150
112
112
150
128
136
170
171
244
137
202
181
214
194
229
193
150
121
205
194
193
165
121
237
272
231
165
172
240
167
190
176
150
201
213
196
112
150
186
150
208
137
174
121
181
278
172
186
121
181
174
115
164
220
150
112
112
150
112
174
150
176
164
112
150
172
201
150
190
212
229
150
172
172
150
171
121
112
123
172
112
201
172
255
170
150
201
208
226
172
186
150
121
209
112
260
167
170
150
174
170
204
121
150
172
226
112
135
112
187
201
182
186
181
175
170
195
150
179
123
194
124
229
171
193
194
212
232
193
192
123
150
216
121
175
235
243
176
121
186
195
150
112
136
170
112
167
136
259
240
202
112
150
124
112
150
209
158
195
210
171
136
135
158
150
150
197
218
136
165
263
150
277
187
160
230
170
150
150
167
174
208
184
121
164
171
158
150
174
158
203
213
112
231
150
172
112
200
124
112
217
239
194
123
150
218
195
167
181
112
123
112
193
112
156
160
201
152
191
187
187
208
135
170
121
208
121
217
250
121
150
170
112
202
242
156
233
208
176
192
141
220
172
207
123
203
152
150
164
112
197
194
228
191
135
201
124
150
167
172
232
175
135
195
161
219
176
112
112
160
172
184
210
112
193
181
167
198
172
175
150
167
165
226
170
121
115
217
179
237
167
211
205
207
211
131
201
112
257
121
150
208
172
131
150
136
150
112
112
177
216
171
123
212
203
152
121
121
112
179
112
112
214
112
121
150
150
123
250
208
172
181
226
194
250
121
147
165
164
121
115
150
228
192
194
279
150
217
172
217
203
193
112
135
130
121
165
232
172
176
192
123
121
186
194
172
210
150
194
150
170
158
193
150
136
137
222
159
121
172
176
136
150
137
112
201
187
302
150
195
231
170
217
207
274
150
259
172
171
187
170
121
226
121
112
165
194
112
193
227
121
172
135
150
210
115
167
170
150
193
202
186
181
150
150
226
144
170
156
112
226
152
236
150
172
150
211
112
170
150
171
186
172
225
139
259
179
150
220
181
121
255
150
150
172
121
123
252
212
195
150
232
172
176
194
214
150
158
186
178
170
131
167
218
147
135
137
193
179
172
170
170
150
150
112
150
156
186
158
150
167
135
237
165
112
277
202
164
150
123
208
150
152
115
130
112
137
112
144
212
231
201
137
212
218
203
165
172
172
112
137
208
150
174
112
220
172
112
210
121
172
231
193
121
197
172
220
115
228
208
143
150
208
194
237
150
269
150
150
128
202
219
216
121
195
194
150
172
136
112
150
193
202
172
150
124
150
172
135
165
181
121
218
121
171
172
150
144
165
167
282
208
162
205
186
260
172
231
121
159
202
167
123
146
175
163
236
250
193
193
112
172
147
135
115
186
181
232
147
112
112
124
121
112
210
302
217
150
263
164
121
225
177
194
208
181
207
186
232
232
219
192
210
112
170
208
208
171
112
216
124
187
208
136
158
121
150
158
194
176
208
112
208
205
112
121
208
201
172
172
150
112
186
203
160
167
209
177
115
302
171
208
150
150
300
208
150
208
186
150
208
208
121
212
136
217
112
182
186
160
229
135
167
156
226
228
239
167
165
112
135
172
208
220
237
250
196
121
187
199
230
150
239
208
112
152
150
231
123
208
202
112
206
137
150
112
244
170
205
150
228
214
115
187
228
174
176
112
147
150
170
228
136
208
208
212
203
194
167
150
167
203
121
250
150
121
137
176
203
121
199
194
231
217
176
193
231
179
167
137
112
212
170
171
167
263
193
208
210
137
205
135
186
176
182
170
225
229
219
167
203
195
253
201
112
276
115
172
171
170
150
121
218
253
208
156
208
208
158
150
192
176
208
112
167
112
164
179
150
135
250
112
135
112
208
177
168
130
112
172
164
194
150
115
121
152
171
194
121
123
147
193
150
269
115
228
172
179
146
172
123
150
242
150
144
167
112
243
174
136
254
115
137
205
164
150
121
217
193
128
174
215
170
220
171
167
215
121
186
121
226
137
193
228
208
112
112
205
177
199
239
172
121
150
193
175
112
198
170
170
194
170
217
158
228
194
150
203
137
284
173
217
157
165
208
147
302
170
121
176
112
167
205
167
137
143
225
150
229
218
245
237
150
121
236
112
210
258
130
143
195
128
150
150
112
219
121
207
150
121
158
170
174
170
164
150
130
215
193
121
210
259
150
150
150
194
202
228
176
225
172
218
150
165
178
171
121
175
192
172
150
121
193
252
121
237
112
176
181
112
112
112
238
121
164
150
208
135
192
170
193
186
194
301
193
172
150
150
150
236
158
167
250
172
121
193
115
202
193
121
112
241
121
172
172
171
255
231
223
192
205
192
174
112
160
121
112
172
186
150
150
208
150
172
228
164
156
212
208
227
112
121
218
186
235
121
121
213
124
150
186
174
192
195
128
112
205
178
203
214
277
210
215
172
176
136
135
186
232
191
264
274
207
167
240
175
208
212
202
135
228
212
178
150
112
160
255
226
228
194
144
175
121
136
201
167
170
150
207
193
228
170
237
205
121
250
236
187
172
170
187
147
130
176
147
156
217
171
239
172
228
187
123
190
177
150
167
150
121
150
239
121
207
128
171
150
215
177
240
112
199
220
202
159
212
150
164
121
175
123
265
150
150
139
243
112
199
217
174
112
265
181
112
170
205
157
162
135
112
237
167
278
167
121
170
150
150
176
175
197
176
167
170
179
156
181
167
208
112
176
172
187
184
179
194
247
193
228
186
208
112
197
193
194
115
248
121
208
232
211
152
193
177
171
186
193
240
174
219
121
136
112
169
182
219
159
150
147
112
115
209
243
123
150
150
121
147
158
233
167
164
136
121
112
210
194
143
175
167
150
150
156
172
220
194
121
208
112
203
112
193
137
193
186
172
208
168
228
112
152
167
236
137
208
147
217
186
207
212
187
167
186
165
208
205
124
205
112
171
219
250
164
128
253
150
150
243
208
174
289
123
210
112
181
112
208
112
255
228
112
150
198
172
121
187
179
123
136
147
121
205
137
194
150
212
256
254
225
121
150
175
112
176
239
172
239
167
112
323
237
170
135
172
208
164
228
167
121
136
112
174
234
228
202
194
231
176
172
214
239
115
172
167
195
210
112
121
121
231
112
166
172
167
112
112
121
135
186
160
121
202
208
183
278
171
172
170
121
112
112
182
112
264
206
112
174
181
112
112
221
238
200
177
193
167
160
193
123
228
278
193
212
195
194
112
121
231
195
124
195
121
194
150
171
238
112
156
137
201
172
171
121
250
208
208
150
121
115
184
181
172
112
170
177
187
123
200
112
194
208
121
181
177
172
156
112
150
112
215
121
208
165
205
228
150
172
198
233
181
181
168
147
207
156
202
135
172
167
181
137
123
186
112
228
241
170
167
240
175
207
135
158
193
167
205
218
150
147
150
150
112
135
150
112
172
208
164
170
124
112
181
150
112
186
112
123
165
121
171
208
121
223
121
172
115
210
176
170
173
123
123
135
208
171
167
150
174
170
112
245
167
160
195
208
201
177
135
237
112
205
124
112
177
208
143
112
112
171
175
195
164
121
208
241
121
175
164
121
165
197
150
123
172
112
156
112
152
245
123
158
121
237
137
121
232
181
121
150
137
170
172
150
220
208
112
216
176
167
176
121
246
165
208
115
218
171
124
176
172
174
136
228
181
170
115
135
135
136
206
172
170
172
218
150
210
150
121
136
196
137
216
135
202
150
208
177
156
194
158
215
181
164
150
158
165
167
112
139
171
112
204
228
165
232
223
112
152
121
198
147
202
131
150
207
121
174
181
212
189
150
164
112
188
208
121
124
150
112
168
143
186
226
167
176
239
171
302
150
171
193
112
150
202
192
160
172
173
150
150
208
194
170
192
202
112
115
231
121
115
186
206
159
164
217
254
181
112
186
136
167
137
213
121
167
112
219
158
167
214
150
172
194
150
203
208
216
171
226
115
194
187
181
218
137
121
121
135
121
147
215
136
208
201
150
171
150
130
150
160
171
123
150
121
121
150
233
121
156
150
147
121
135
225
156
178
178
167
165
195
193
145
150
165
150
202
177
165
170
147
121
208
171
165
192
175
172
165
181
171
228
208
170
171
135
150
193
167
260
265
185
218
202
150
121
150
172
186
232
225
150
208
171
209
136
115
170
160
237
181
128
212
228
144
302
172
165
264
263
211
115
150
177
192
121
150
203
172
168
150
121
220
167
172
205
150
172
206
174
215
167
112
193
150
175
263
136
228
124
150
208
237
170
150
201
218
112
165
208
172
194
176
167
121
174
171
208
150
146
170
182
121
181
170
162
245
152
205
136
172
176
207
212
194
195
193
121
171
124
182
150
208
183
208
177
150
179
210
112
167
186
187
164
121
194
194
165
143
112
157
208
210
186
206
121
124
167
150
237
150
150
203
189
150
172
195
123
195
137
172
167
213
172
208
150
172
283
228
172
115
164
194
202
121
112
311
150
195
112
202
167
170
112
121
112
143
238
150
112
170
212
172
123
170
150
165
115
202
150
170
201
192
170
208
167
172
234
165
172
179
167
212
150
112
121
112
176
228
208
208
208
245
135
208
183
212
208
172
200
220
121
218
150
177
210
156
150
112
130
159
159
175
205
226
135
150
193
208
170
150
112
201
174
233
231
235
112
147
167
171
176
247
135
199
170
152
208
150
147
150
189
297
167
150
181
159
256
150
150
170
208
157
195
174
186
226
171
186
194
194
121
112
147
171
194
172
216
194
186
172
121
202
150
167
165
192
147
112
150
131
123
194
170
157
128
165
187
124
150
135
205
196
172
135
112
243
170
150
228
164
181
208
167
137
121
213
130
181
238
178
121
112
150
170
171
172
231
239
112
121
176
236
171
193
112
121
150
192
137
112
150
154
208
137
200
172
167
188
208
150
207
225
205
206
184
174
210
208
192
164
168
174
150
135
147
171
121
206
230
150
202
241
150
232
182
121
147
182
150
172
123
202
167
189
112
121
172
247
112
150
172
150
121
136
112
164
112
115
172
112
167
146
195
232
167
258
143
159
147
208
158
150
231
171
156
278
186
121
274
208
172
135
170
228
121
112
170
208
112
150
231
228
121
121
205
121
186
216
159
175
150
195
170
208
112
150
112
195
158
121
165
121
170
208
150
208
121
200
194
137
150
220
238
130
136
186
208
115
130
150
194
160
225
123
160
224
168
231
112
208
241
178
186
171
210
150
171
181
195
195
208
121
208
212
171
150
184
208
150
150
123
112
171
157
112
194
207
121
239
164
194
167
150
172
150
150
128
228
273
239
217
195
150
121
112
170
159
167
171
170
297
123
121
157
250
121
150
159
112
171
112
121
193
218
136
172
135
121
167
182
212
187
170
112
121
121
181
112
150
173
112
239
123
167
208
150
115
112
208
171
121
112
201
226
112
170
167
187
189
160
158
147
232
158
150
170
112
123
184
121
164
187
212
135
195
225
241
272
228
208
193
158
231
130
202
135
112
112
135
150
274
250
112
150
150
147
227
172
121
229
175
198
210
150
229
112
171
175
219
201
121
208
186
186
166
239
172
176
193
171
208
121
167
150
208
112
236
229
214
112
175
137
176
121
230
112
167
150
170
203
150
150
276
171
156
165
172
121
232
176
201
136
115
123
208
150
228
186
121
192
195
112
239
171
214
184
172
186
164
195
167
208
150
121
150
112
167
255
121
112
150
272
158
136
208
130
128
240
172
112
123
208
150
165
228
112
112
176
195
178
150
209
178
146
172
121
165
230
112
228
160
121
208
144
197
208
123
170
170
150
168
174
210
242
167
135
191
167
163
121
205
121
128
150
200
202
214
187
170
150
193
302
191
170
263
150
156
135
194
150
167
112
208
137
208
181
202
115
203
172
215
170
170
150
121
203
112
150
208
172
208
212
178
121
123
112
123
143
207
278
112
193
167
176
233
194
208
164
171
121
190
171
194
112
167
237
150
172
121
167
198
150
276
112
165
202
242
121
112
150
150
150
150
172
220
112
189
128
121
212
206
194
210
112
143
159
179
201
208
135
167
171
172
212
263
208
186
193
181
170
121
150
171
172
204
112
170
121
176
216
210
203
167
194
271
176
121
158
121
121
121
208
234
164
172
160
235
209
172
276
187
167
194
210
174
156
208
112
250
187
237
150
172
176
137
167
187
172
150
135
167
112
219
121
121
253
184
211
207
174
193
136
207
202
144
123
115
181
237
208
112
121
208
124
193
217
238
212
150
165
150
186
194
135
123
208
176
226
210
179
112
211
121
263
261
112
150
181
170
150
123
234
121
181
186
165
112
115
187
121
164
239
150
135
158
205
121
150
239
156
112
112
150
121
272
150
170
219
181
194
112
239
208
112
112
172
150
156
228
150
212
112
208
212
124
124
189
201
150
214
187
121
170
212
123
229
193
195
112
203
112
121
121
112
150
121
205
165
121
165
193
131
270
208
171
167
172
146
112
172
150
181
187
167
189
193
112
150
165
115
112
172
272
170
115
159
150
112
167
225
194
171
240
121
181
150
170
152
171
150
228
239
263
194
214
217
232
156
256
170
311
172
202
177
150
136
124
279
219
156
186
115
150
186
180
156
164
198
186
172
240
121
121
157
121
150
170
208
205
147
212
208
136
167
171
208
204
239
150
264
174
214
208
167
194
182
164
135
194
175
150
172
135
156
215
176
112
172
208
243
208
206
239
208
176
135
181
158
172
207
112
171
179
195
115
167
159
201
250
164
187
242
237
171
170
123
171
121
150
193
174
112
170
208
135
234
208
187
141
112
209
255
112
236
203
171
149
174
219
112
240
150
150
156
135
266
124
208
164
259
192
112
112
172
150
170
181
272
121
239
208
208
150
121
112
150
152
150
176
236
147
135
172
123
171
165
136
196
137
194
112
210
182
136
193
160
168
121
121
186
121
152
195
207
144
112
193
212
112
174
150
150
240
242
123
137
123
210
213
123
210
208
170
172
121
137
112
208
226
243
167
212
121
121
165
237
212
112
208
217
165
121
147
121
123
172
187
236
157
176
112
236
167
181
194
171
115
245
231
150
156
147
239
150
202
172
203
150
159
121
112
181
167
170
150
150
242
136
136
150
208
184
160
231
208
121
121
159
150
121
152
170
130
161
150
112
150
112
143
212
226
150
167
176
124
205
254
282
158
150
170
121
235
263
150
121
150
178
112
172
123
192
135
170
220
199
171
123
209
223
145
150
177
112
167
150
121
186
181
150
171
174
239
160
150
202
208
150
221
167
147
186
239
171
170
208
205
229
170
275
202
112
265
181
150
189
123
193
121
121
203
157
115
150
208
128
181
184
112
112
121
211
135
194
170
150
121
179
135
150
195
234
231
150
228
172
112
159
147
137
150
146
143
137
164
135
121
150
121
278
201
212
150
158
150
121
121
172
121
208
181
217
150
121
165
205
205
212
279
172
230
112
231
171
194
147
112
128
189
172
150
203
136
150
236
147
193
208
121
158
212
150
150
172
164
156
205
112
205
207
171
121
123
112
184
160
187
247
124
112
112
171
212
171
135
121
112
150
177
216
170
216
112
152
159
220
209
242
112
157
208
239
172
172
123
226
182
199
177
159
237
270
128
158
150
238
124
236
250
112
170
226
171
192
178
112
112
121
135
209
131
150
150
208
112
137
112
190
228
181
168
171
210
150
201
112
150
121
150
244
203
136
255
177
208
112
201
150
136
136
193
193
237
232
170
112
112
121
121
164
150
150
158
172
176
172
202
170
207
218
165
220
154
112
112
181
239
112
156
121
112
150
121
150
208
167
124
159
208
150
250
201
237
210
181
195
200
174
115
172
242
194
228
150
150
167
212
143
194
174
202
172
150
181
229
150
165
206
253
193
193
223
150
123
172
254
172
112
112
121
150
150
121
279
112
123
181
214
172
150
239
250
250
171
176
174
128
121
121
112
168
160
210
123
112
112
194
175
275
130
162
172
121
170
159
182
167
167
124
170
170
231
121
112
150
203
172
208
112
228
147
212
214
231
112
112
195
121
208
147
158
130
175
187
167
135
170
147
213
236
263
150
207
168
177
150
136
150
128
121
150
212
226
219
194
193
150
217
224
228
152
172
164
170
169
150
195
150
187
121
208
224
136
135
147
112
165
170
283
207
112
172
170
150
121
171
225
203
143
150
214
147
150
147
175
121
274
150
168
237
112
112
208
167
150
124
172
170
210
144
239
112
112
172
123
194
202
233
165
210
240
171
172
121
172
255
226
176
158
150
156
176
219
214
121
203
210
208
201
168
231
150
205
172
274
205
150
205
137
212
150
237
196
150
137
212
150
135
165
181
227
112
167
123
143
123
192
147
150
189
181
121
205
193
184
237
112
152
112
135
172
202
172
208
208
150
165
172
150
202
219
219
136
150
121
172
121
213
270
167
135
208
210
277
205
184
172
187
195
167
150
233
150
150
208
121
135
272
187
228
112
171
123
203
196
161
273
225
276
178
165
177
150
199
115
152
202
193
208
168
208
220
177
150
112
208
177
203
112
181
112
112
150
179
165
179
203
216
193
243
195
278
121
216
172
204
175
186
210
239
167
225
112
171
250
146
192
202
112
171
168
171
112
147
171
144
121
168
150
121
171
172
150
130
150
181
172
156
112
217
208
202
201
178
211
250
153
150
112
253
143
121
181
210
170
208
176
135
210
167
170
208
167
205
257
147
208
199
208
186
112
165
172
145
167
226
150
223
150
112
167
150
208
143
208
167
150
250
181
228
137
208
223
112
134
150
226
144
150
112
170
210
123
150
115
170
250
186
172
147
170
239
186
152
147
121
225
115
237
176
193
220
165
235
165
137
175
112
112
165
247
147
167
171
264
165
170
236
139
208
193
195
208
185
150
159
177
137
193
237
172
177
171
231
188
204
115
187
168
137
177
181
112
112
186
150
193
231
226
158
167
121
238
150
194
112
115
150
121
240
181
231
184
150
112
112
112
174
203
208
158
121
186
121
228
150
194
225
184
160
143
158
150
152
236
160
185
221
136
235
121
172
253
123
208
164
121
124
165
179
250
195
167
203
193
244
171
112
147
176
186
167
228
208
196
112
220
123
150
220
172
227
196
121
130
152
220
165
112
161
167
226
195
232
175
121
205
137
178
112
242
167
208
233
150
136
121
172
181
123
232
147
208
123
208
201
172
181
172
219
227
170
258
178
210
189
167
121
208
174
202
112
194
130
228
186
193
255
202
201
176
200
171
123
112
184
250
123
175
196
170
250
257
172
150
121
112
170
208
194
172
123
112
263
165
202
176
164
136
176
201
216
187
171
194
167
181
147
194
150
204
147
168
257
181
115
115
218
172
274
150
201
150
171
123
147
150
172
121
121
121
150
170
186
212
193
121
194
161
181
160
193
231
206
171
246
183
112
181
210
121
123
239
204
150
121
214
150
157
112
123
172
198
172
112
150
123
179
181
147
206
208
208
112
175
164
167
193
181
187
193
143
159
158
121
208
150
121
112
121
228
112
135
150
121
135
219
207
186
112
184
237
176
195
112
150
171
193
167
209
203
250
150
112
123
225
171
216
150
229
208
179
194
194
297
136
194
176
165
150
193
171
302
170
112
172
137
112
228
215
121
146
153
157
181
175
150
194
167
121
170
194
172
255
123
237
172
150
150
112
194
143
150
121
115
123
233
239
237
124
232
168
150
150
172
168
144
150
240
242
175
124
208
158
176
121
208
165
121
228
172
165
195
121
167
136
181
218
167
195
231
193
170
112
235
228
208
194
233
150
123
172
112
130
172
150
170
202
112
212
228
200
175
195
150
121
137
147
123
167
176
121
171
181
186
147
257
208
220
121
203
193
137
171
205
174
150
207
112
174
186
255
150
164
112
124
123
206
165
112
231
176
137
121
202
159
177
121
112
175
181
156
201
150
172
123
172
228
208
150
115
150
170
167
145
121
150
171
208
150
186
239
112
250
128
210
150
121
186
186
194
157
236
150
197
182
139
183
167
112
156
187
265
208
171
144
171
124
150
112
147
165
136
136
112
121
203
136
164
195
187
202
172
278
123
278
233
172
245
112
189
187
176
207
228
112
265
203
112
143
219
208
112
202
167
170
250
112
112
150
150
194
226
299
252
157
161
112
159
150
179
150
174
187
174
176
183
235
147
121
121
112
160
172
204
208
226
241
177
208
112
152
137
150
226
112
112
181
183
172
216
194
150
112
200
218
194
228
121
172
172
150
115
235
156
195
112
112
150
150
178
208
172
150
150
203
121
156
198
121
167
302
181
208
137
203
150
192
195
170
194
228
112
235
123
123
158
164
112
150
121
176
228
150
112
112
194
135
208
112
121
137
172
170
245
193
152
228
172
205
235
150
174
193
186
115
171
170
150
170
170
175
170
175
181
168
203
208
167
201
175
136
231
112
247
150
213
171
150
177
147
115
210
115
176
150
176
121
276
238
212
150
112
214
167
121
157
143
121
229
165
157
112
150
150
172
208
237
121
205
172
177
178
137
170
150
228
150
255
204
167
170
143
172
150
165
228
170
205
203
147
121
150
181
239
165
170
228
181
121
121
195
130
121
233
150
171
150
176
150
156
112
228
195
217
150
170
208
150
171
202
135
157
121
152
208
150
205
228
250
174
170
223
255
150
121
150
156
204
194
121
227
167
135
150
219
112
150
182
112
164
150
160
193
232
137
159
112
176
115
115
158
150
172
219
156
146
121
112
171
212
121
167
170
150
150
203
112
150
181
121
167
172
150
121
165
123
205
172
251
172
181
147
171
135
239
237
121
202
181
112
150
156
121
121
112
226
208
112
181
112
220
123
164
250
172
112
121
150
123
172
228
181
208
172
208
137
172
150
167
158
115
145
212
168
150
208
178
150
150
112
208
194
136
172
112
170
215
136
150
112
236
187
195
165
188
196
121
150
156
231
150
177
112
112
171
121
168
170
112
121
176
150
174
181
164
229
135
206
243
220
150
193
202
210
171
112
165
112
181
158
219
134
123
184
224
150
130
167
121
174
243
136
199
226
228
168
170
229
170
233
207
237
147
150
194
147
176
208
195
171
115
240
194
216
208
171
225
243
165
187
121
150
210
302
150
181
158
208
112
177
187
121
150
238
202
226
176
112
165
123
197
170
234
165
123
147
194
146
121
171
170
158
218
150
112
181
170
171
150
171
170
167
159
112
237
112
212
231
176
232
187
112
265
187
219
124
121
147
193
238
123
167
176
167
229
112
121
115
121
150
218
147
208
228
150
159
112
208
170
112
171
156
112
172
170
210
112
231
223
112
167
115
170
175
121
172
165
190
112
194
194
167
291
212
164
157
181
177
186
150
112
212
194
121
186
147
150
210
167
227
167
170
193
152
208
194
112
220
147
210
212
186
194
112
172
215
112
210
112
181
150
121
121
212
150
150
199
208
136
176
115
181
121
208
196
192
130
112
164
170
219
202
123
212
150
121
124
207
202
121
150
121
150
124
208
150
124
172
162
257
165
255
150
208
208
121
123
121
112
121
220
282
203
171
170
167
150
130
112
219
172
187
182
195
297
228
165
150
150
150
112
221
150
115
150
112
167
124
150
150
150
144
170
208
150
112
167
171
150
201
112
112
136
150
195
121
121
167
112
160
198
265
112
208
150
167
208
193
150
201
150
112
186
112
150
181
227
203
208
121
218
123
147
121
167
193
201
121
243
176
121
234
115
150
217
187
208
217
194
167
203
123
212
176
150
289
167
112
167
172
192
147
121
237
189
181
228
172
170
165
131
172
150
194
208
186
150
170
176
121
167
250
136
130
136
158
297
123
225
150
257
112
167
175
143
147
150
208
174
150
172
121
223
167
112
164
193
208
112
164
152
159
174
202
212
150
150
150
276
172
201
231
175
112
112
218
112
150
174
193
121
121
228
128
112
121
277
150
130
179
137
172
226
176
165
121
135
176
218
171
121
170
172
135
250
210
123
208
167
150
172
150
196
137
243
170
158
150
165
176
207
150
181
123
237
150
194
121
150
159
165
159
152
196
193
152
175
150
137
121
208
203
112
172
172
172
208
128
181
239
171
161
176
181
228
112
202
150
220
227
123
150
172
217
156
112
165
164
160
216
194
112
172
150
193
150
174
112
150
130
208
228
139
136
241
121
167
172
208
137
208
112
164
302
217
182
240
121
228
237
184
187
202
170
170
150
112
219
150
137
170
161
172
183
194
112
172
112
232
245
181
172
167
239
172
112
205
201
231
220
121
173
176
121
168
150
220
165
270
112
150
208
156
231
112
236
172
205
150
160
217
234
172
204
172
164
167
150
147
223
112
170
172
233
165
223
137
152
150
112
112
112
193
170
165
150
121
176
201
193
239
165
172
192
170
112
150
112
112
194
150
239
190
158
176
112
112
112
115
112
193
208
192
159
112
202
202
240
171
166
194
202
121
297
150
121
143
121
196
212
139
176
136
150
208
167
228
218
239
208
176
230
167
150
229
187
231
186
164
121
170
186
112
201
121
273
121
192
187
174
172
171
112
124
250
130
135
124
177
112
167
115
171
208
241
208
181
172
112
206
225
128
227
164
178
170
203
187
178
192
167
212
212
121
123
167
219
150
121
121
217
225
220
150
212
237
172
232
242
217
172
228
121
123
165
193
170
302
112
208
204
189
186
249
170
164
205
112
205
150
198
172
162
242
121
170
171
167
239
208
170
112
187
201
156
203
164
121
194
159
112
158
194
228
170
121
176
123
150
150
193
112
164
171
175
158
137
235
172
193
150
147
150
228
112
112
167
150
167
202
181
150
201
244
242
150
170
186
174
194
187
165
171
121
172
150
112
150
115
217
115
203
237
121
112
181
165
176
246
152
158
167
112
187
171
179
198
167
150
168
207
231
150
136
112
168
176
231
112
302
176
194
112
124
218
212
202
152
186
177
208
257
123
205
199
130
150
159
135
112
174
229
199
206
176
208
112
174
150
121
128
200
209
123
170
164
121
207
214
178
123
208
112
150
173
165
194
210
235
167
189
208
219
226
220
167
229
136
124
237
208
112
171
150
121
147
215
168
208
137
150
179
181
172
115
167
150
152
225
176
150
150
178
121
212
270
150
181
203
150
165
121
112
171
171
167
172
121
208
146
121
187
158
150
165
215
202
249
150
121
150
150
250
165
176
130
208
152
147
152
184
121
187
150
121
167
176
150
176
121
172
184
178
240
228
231
258
187
228
229
217
202
150
193
263
159
161
219
112
121
123
150
167
196
121
112
112
208
177
229
172
188
150
220
112
150
121
150
152
165
217
164
225
150
207
172
137
150
150
135
172
150
165
170
115
164
171
176
181
167
172
165
121
150
172
228
172
208
170
239
255
130
123
171
171
121
121
171
233
150
182
194
124
115
171
233
168
168
121
170
218
208
150
150
229
176
112
172
150
124
167
177
177
121
219
194
112
121
195
217
240
167
186
112
250
150
228
112
136
150
150
208
146
112
210
220
203
189
260
194
172
233
202
159
150
205
171
164
177
176
112
185
167
176
170
193
217
208
208
168
167
150
245
115
186
150
112
112
174
121
181
123
150
220
128
195
203
208
170
171
177
202
112
128
139
174
243
207
121
208
159
185
202
121
131
112
112
150
150
137
172
123
143
112
207
147
232
112
194
167
121
164
192
146
167
121
135
235
112
112
171
159
190
147
137
150
167
181
170
202
130
201
202
208
150
208
202
123
225
171
121
167
192
209
172
172
121
170
226
228
112
198
233
170
170
167
165
263
147
112
156
161
263
194
192
160
172
276
282
254
150
213
164
225
229
121
168
136
150
123
195
112
150
112
121
150
121
165
150
172
263
193
299
239
121
171
201
112
172
208
171
229
187
164
176
237
194
150
225
123
150
203
179
263
152
135
135
135
167
177
250
123
201
150
186
237
112
181
158
208
124
150
194
130
135
175
187
147
123
189
121
176
150
202
112
112
208
205
208
186
193
121
112
302
170
208
137
123
195
276
152
136
208
150
121
186
167
172
181
123
170
224
167
186
112
112
202
163
208
170
205
171
121
174
147
226
208
192
203
160
181
150
194
250
147
192
193
171
216
171
217
172
112
250
112
168
259
123
172
112
194
112
112
219
176
208
201
190
167
150
168
233
202
112
146
112
137
123
194
172
237
150
250
193
226
181
144
172
150
121
164
234
112
121
276
121
195
112
115
225
112
228
179
192
124
112
115
121
255
121
123
203
212
208
152
250
170
150
194
171
163
192
112
115
187
208
121
210
150
176
210
222
121
228
174
167
174
176
263
143
201
195
167
112
187
207
150
236
202
240
171
208
160
213
159
188
169
208
208
176
121
193
167
194
121
170
302
112
279
172
115
179
255
158
187
193
226
172
136
112
150
243
112
165
233
225
181
210
237
244
150
203
186
135
150
160
237
150
158
165
158
164
181
203
121
171
208
150
179
158
121
158
172
220
208
112
167
139
112
217
229
202
223
297
242
150
225
158
139
172
186
135
237
194
112
112
181
172
211
212
302
165
124
167
210
195
204
112
202
171
239
123
181
236
186
208
184
168
172
170
136
123
193
112
242
172
194
123
150
200
217
150
181
150
224
175
171
171
112
202
239
175
150
152
123
172
208
115
137
170
212
170
172
123
112
112
150
124
112
160
208
170
212
172
193
150
201
167
121
184
173
205
174
167
219
150
147
214
158
167
237
145
170
219
275
158
128
172
121
181
248
121
213
217
217
171
181
167
143
194
150
228
171
203
170
150
130
150
208
112
184
121
121
150
130
233
208
112
228
150
218
212
123
158
164
150
112
136
121
112
241
172
150
167
160
202
193
170
208
174
226
130
193
121
165
121
167
250
147
112
203
237
123
164
192
150
204
150
150
196
227
121
225
253
203
208
201
263
121
193
208
136
233
207
187
201
123
121
171
121
201
112
171
136
276
172
121
112
253
123
112
217
172
172
174
194
202
121
220
210
299
167
206
165
121
192
172
172
213
255
248
150
135
193
201
167
150
208
175
216
168
150
222
172
210
203
112
176
181
137
115
239
193
162
124
150
135
194
181
136
228
181
170
175
195
150
165
130
195
121
121
150
215
150
231
240
181
232
187
222
167
171
112
172
175
121
121
167
198
276
210
172
121
199
210
112
147
143
158
112
171
112
121
201
223
239
121
208
160
121
217
121
121
112
208
170
201
208
172
206
231
217
137
167
121
124
137
203
214
150
121
176
150
199
112
276
112
121
224
131
172
247
194
231
121
150
115
220
150
227
124
150
123
239
177
112
258
144
112
206
233
202
112
150
171
202
172
121
231
112
112
228
179
171
150
237
187
206
150
136
177
238
243
225
121
170
167
190
198
115
121
150
112
250
121
121
181
152
150
187
112
150
208
135
147
172
172
210
167
137
233
219
172
112
150
164
150
177
228
186
150
121
186
165
194
150
186
173
207
186
112
159
181
165
227
211
171
293
214
194
136
212
170
171
121
150
170
175
150
245
123
210
161
187
202
226
186
167
188
165
172
193
247
121
121
150
181
194
236
150
171
231
121
222
147
165
165
193
168
150
226
193
187
251
170
210
200
172
150
208
167
112
212
187
212
112
143
128
233
189
150
234
240
189
172
171
112
224
160
229
210
121
165
170
171
130
150
239
232
159
184
208
170
121
201
208
123
156
245
171
157
124
223
178
172
264
172
170
171
191
112
121
121
112
193
255
206
150
297
181
194
259
123
187
112
150
210
150
137
202
203
237
208
112
231
167
212
121
124
164
231
152
121
172
233
159
208
112
192
172
150
177
234
231
173
123
237
187
112
264
171
150
150
130
171
171
150
136
181
170
254
237
239
112
112
212
194
150
193
146
203
135
176
247
121
167
112
150
204
150
201
170
112
150
150
171
208
186
150
195
184
172
220
112
194
150
170
194
112
167
176
150
112
232
186
179
112
172
150
112
121
178
170
208
170
187
115
225
181
152
194
167
195
172
112
121
195
150
208
112
165
124
175
123
245
147
179
121
231
150
208
253
179
216
208
150
123
162
150
121
205
121
249
208
218
195
112
170
239
195
172
112
208
160
172
237
150
186
258
250
187
121
250
170
208
177
121
167
150
121
150
240
121
233
171
192
121
172
173
159
112
232
208
181
123
124
245
121
165
172
158
112
167
193
150
194
123
150
136
165
237
147
150
112
217
165
150
124
150
167
136
172
150
170
210
136
147
168
186
164
246
208
165
176
203
112
226
150
170
121
150
121
240
201
229
301
205
174
112
252
212
112
147
209
158
121
204
208
251
167
205
124
137
121
150
208
208
112
150
115
123
180
150
121
172
123
187
165
150
170
179
208
123
208
208
212
150
195
164
137
150
181
186
208
193
193
167
208
210
229
187
202
121
208
212
201
150
150
183
225
218
186
274
136
135
240
172
208
275
171
150
112
181
168
150
168
181
194
226
150
172
208
234
191
121
210
186
121
136
170
136
192
136
176
228
132
194
150
167
112
278
167
207
240
228
112
136
167
231
208
164
202
121
186
208
112
121
112
121
172
219
220
121
201
181
121
150
161
121
135
186
192
165
168
143
302
170
195
123
165
172
164
167
165
150
121
208
210
240
193
136
164
165
210
257
150
123
150
172
173
158
172
159
167
208
208
112
196
287
167
233
175
136
194
229
202
208
239
194
171
121
210
209
123
207
228
150
208
112
244
150
150
217
208
213
171
160
176
171
179
112
160
121
187
237
150
210
170
165
170
128
112
115
112
187
167
187
112
237
302
179
253
187
112
135
208
112
150
158
147
112
150
195
124
213
112
193
137
165
150
184
237
194
241
174
150
178
302
200
173
161
167
172
121
226
187
156
208
208
121
121
220
268
170
171
187
252
150
213
112
198
218
115
121
152
189
208
217
139
170
150
172
135
218
112
112
184
193
171
158
150
115
147
121
212
177
165
208
174
237
222
112
152
208
167
224
212
167
135
160
150
172
250
170
121
186
123
235
165
150
130
176
172
173
112
137
192
135
112
208
186
112
150
137
228
229
217
112
172
232
150
152
233
236
172
250
150
152
112
176
213
177
207
193
150
172
112
150
147
186
194
150
213
146
172
211
135
160
208
167
112
112
198
144
115
172
195
112
112
121
204
123
178
230
220
152
112
150
195
170
182
226
121
112
112
135
228
186
220
220
208
158
172
171
121
150
158
238
158
217
136
171
168
164
150
176
186
233
208
136
150
156
174
167
233
253
165
234
150
150
150
349
189
121
150
161
147
150
193
135
170
237
159
208
170
181
172
204
137
150
112
177
181
177
220
172
250
165
121
203
121
167
203
172
165
123
115
152
196
179
150
152
165
171
172
214
208
130
161
150
218
121
219
220
147
172
204
170
181
112
112
112
181
172
150
135
187
156
156
172
213
212
147
201
167
207
165
228
208
186
279
251
150
150
177
172
196
193
115
187
230
222
217
134
194
210
170
112
220
177
219
201
150
137
250
172
181
158
150
112
170
208
121
150
201
175
194
164
167
112
202
194
172
136
167
150
222
137
164
136
302
176
172
167
172
121
150
194
150
186
171
112
170
150
172
112
170
203
202
172
215
234
172
174
150
165
208
177
121
170
115
115
121
167
164
230
186
165
150
176
208
181
130
121
165
194
255
150
171
165
136
237
124
174
244
150
132
150
257
186
208
167
150
270
304
150
201
112
237
156
186
150
208
217
112
228
121
165
135
178
208
112
121
112
181
121
195
121
210
123
121
167
147
171
150
112
299
150
150
233
121
121
121
208
137
217
186
263
208
121
121
112
228
239
150
167
112
136
181
171
231
302
230
223
210
280
218
150
170
121
121
194
182
186
112
208
150
121
158
123
200
150
112
208
112
135
152
112
202
208
157
121
160
150
237
195
237
112
181
137
121
159
219
152
176
150
231
158
137
178
223
158
208
168
174
123
172
243
123
189
172
160
172
172
190
128
255
121
200
150
174
164
121
215
166
150
240
172
164
150
182
194
147
137
194
235
177
202
184
205
176
195
219
243
150
112
150
187
172
219
121
225
172
121
121
195
212
176
121
158
128
170
172
176
175
220
257
165
219
208
170
135
150
115
179
150
137
237
144
128
208
254
137
233
112
150
201
208
208
112
187
237
205
150
216
137
121
186
207
237
216
150
274
112
237
150
177
150
232
167
112
186
172
192
158
196
128
150
176
112
115
182
112
158
208
200
172
194
124
212
152
250
236
207
121
112
136
176
195
237
150
190
187
162
167
184
194
112
208
239
178
203
207
112
176
191
137
208
196
181
112
213
130
121
150
112
150
150
112
121
170
112
150
179
194
217
168
194
349
147
172
201
158
137
150
165
171
233
112
208
115
194
112
167
150
172
218
179
130
150
224
186
194
167
158
186
115
175
208
150
207
150
240
206
123
202
176
195
191
202
150
201
214
165
240
123
143
204
219
229
209
150
123
170
158
115
150
208
193
239
177
150
112
171
202
246
150
171
202
231
194
135
167
159
229
203
150
147
167
150
170
210
121
194
123
130
150
177
150
147
173
220
272
112
201
159
202
167
137
121
233
225
209
179
121
177
121
112
210
170
121
208
150
208
219
258
225
192
195
264
115
121
135
165
208
178
147
112
171
136
192
112
211
207
172
208
112
178
150
241
150
250
171
150
150
208
207
150
147
172
165
112
208
170
170
135
112
218
209
150
223
123
256
153
137
208
172
147
135
232
150
150
172
172
167
134
170
194
137
165
255
203
150
147
115
167
257
187
208
112
159
238
193
165
112
150
207
121
167
228
176
208
187
176
177
112
193
168
112
215
172
214
193
208
115
189
150
218
228
177
112
197
200
219
167
177
231
228
181
167
150
212
212
150
172
192
112
135
230
208
181
121
144
123
187
203
176
278
175
237
208
112
165
208
150
265
206
209
150
203
193
112
160
263
147
193
150
167
121
212
128
112
150
189
281
237
172
225
172
186
156
121
208
167
239
181
112
176
208
121
165
176
167
202
165
218
121
201
158
171
112
208
302
112
115
121
186
150
170
239
232
208
150
202
170
121
207
130
150
112
212
237
229
211
232
128
202
123
112
137
115
150
121
174
112
228
136
150
172
121
208
170
147
158
156
195
172
263
150
207
112
135
220
192
208
233
193
208
150
193
121
177
260
176
194
172
257
150
150
166
257
121
208
121
168
112
250
160
112
162
121
217
123
150
136
112
178
112
112
202
115
212
236
130
181
194
115
208
123
237
237
196
112
112
172
217
137
112
160
208
176
208
112
121
208
238
195
167
236
227
167
208
172
176
206
164
150
302
194
121
112
208
164
176
171
150
194
137
178
156
137
137
167
150
237
176
204
206
208
112
150
233
172
194
260
226
171
150
170
121
181
186
112
205
213
112
121
121
192
226
228
208
112
152
174
156
112
124
196
167
194
259
233
136
170
194
263
112
112
123
150
112
170
218
181
208
150
156
150
112
121
187
121
143
123
212
128
202
202
121
206
152
195
170
150
121
172
150
167
150
212
150
227
135
171
167
178
171
150
201
150
172
112
150
123
124
161
150
208
179
157
202
112
176
208
179
219
176
193
146
121
167
121
195
172
150
112
193
121
112
175
167
174
203
135
150
189
284
150
223
195
216
130
112
247
121
167
171
112
167
268
187
262
165
150
121
165
167
165
112
170
196
137
171
150
220
152
121
194
208
229
172
150
208
232
135
190
189
172
193
112
170
208
170
135
150
170
176
170
150
192
150
208
207
240
159
130
112
168
150
121
112
262
150
194
171
194
150
150
167
181
208
158
195
195
121
150
208
228
112
158
184
176
208
172
178
203
112
171
174
158
212
231
123
263
228
168
176
112
207
158
168
157
220
170
239
112
208
237
112
172
165
181
226
208
250
135
208
176
128
228
160
193
193
165
150
201
218
231
121
250
219
208
213
115
150
156
208
201
172
194
255
218
178
147
121
213
194
218
233
121
171
253
192
262
174
115
112
182
112
121
202
164
172
165
167
112
228
226
170
208
172
156
170
174
255
150
208
112
192
150
112
150
250
150
213
174
226
181
121
121
174
123
161
150
137
177
194
149
167
112
201
121
150
170
167
137
176
158
167
170
170
266
165
210
112
195
158
203
150
225
215
203
194
124
159
121
136
186
135
181
150
167
167
124
228
210
121
181
250
170
171
150
121
174
123
229
219
237
172
194
172
167
175
168
121
264
231
201
121
208
174
178
219
167
149
150
195
163
123
156
150
172
243
121
121
174
219
170
172
152
171
279
171
208
121
167
196
237
121
112
174
181
172
112
208
128
235
181
172
170
172
203
150
244
195
172
130
167
150
204
171
121
172
112
115
186
192
167
223
150
159
150
173
203
167
178
192
112
167
121
231
153
186
112
193
167
172
170
203
168
194
208
203
124
172
147
192
170
121
195
203
112
231
208
265
123
208
112
210
194
112
115
197
239
112
196
150
171
167
112
215
150
247
208
250
172
158
112
128
218
187
121
121
150
168
172
121
150
159
137
231
239
176
150
201
135
161
147
226
208
201
135
229
171
150
181
193
112
210
214
208
195
230
115
115
112
172
187
209
150
167
121
208
182
171
185
237
150
152
201
187
150
150
171
121
170
186
112
150
167
115
240
176
112
186
194
121
150
196
171
150
205
150
171
167
112
210
121
167
216
228
143
211
186
209
198
150
150
187
217
170
261
239
123
237
170
136
136
208
112
121
139
278
112
172
170
170
115
121
137
123
186
184
136
179
225
259
233
112
112
195
181
112
162
208
222
208
228
167
229
115
229
112
208
181
181
256
137
150
217
167
208
112
250
187
194
239
223
172
112
172
240
124
112
150
112
112
112
229
170
208
263
194
172
112
193
130
208
164
135
112
121
121
124
136
167
207
112
192
123
150
187
181
172
186
205
193
181
213
230
231
159
171
123
150
112
150
194
150
147
232
196
167
225
112
181
208
160
112
228
167
121
256
215
161
181
210
150
172
172
192
218
172
115
181
194
219
156
168
150
172
150
150
152
112
112
172
135
216
269
159
172
228
112
186
187
210
112
167
212
218
115
150
202
194
168
252
192
237
238
176
184
178
159
112
195
112
276
184
233
147
137
208
137
208
171
150
150
165
150
121
150
158
172
211
212
205
132
215
170
150
121
259
112
164
208
208
150
165
172
175
123
203
219
171
237
193
194
181
171
121
150
194
231
150
121
121
121
112
208
121
239
220
130
243
202
225
121
150
171
150
181
205
150
164
174
201
177
202
121
194
225
176
172
219
174
203
112
193
150
165
112
181
128
135
254
164
250
276
171
208
220
167
167
205
150
195
302
201
121
121
204
297
130
171
302
172
150
263
150
241
167
112
164
150
150
150
194
176
186
179
164
150
130
112
224
170
121
144
210
187
150
153
214
121
174
171
214
121
210
208
259
150
159
121
186
164
219
112
208
165
208
276
208
164
167
150
170
150
239
136
208
159
219
237
121
171
112
112
171
121
167
194
150
201
121
176
135
143
194
215
187
201
190
208
194
170
150
208
203
195
170
112
206
121
112
271
255
137
112
201
189
150
232
194
216
172
175
121
112
137
112
164
181
112
150
208
171
150
179
150
167
172
201
170
137
172
208
147
135
218
167
208
219
164
263
170
208
147
150
221
167
150
134
136
208
195
121
257
250
234
164
150
297
173
167
212
121
208
121
150
208
203
167
202
167
210
165
278
136
208
186
112
210
121
112
150
112
221
150
112
121
160
208
187
167
164
165
112
276
187
121
121
202
165
137
184
228
112
121
121
165
176
298
150
112
135
112
121
172
193
124
150
181
165
160
176
172
136
135
239
150
121
181
212
123
157
172
112
152
156
229
236
170
203
121
174
233
112
121
136
176
202
150
121
121
112
256
144
157
204
165
192
195
173
172
150
150
167
187
165
194
112
150
231
194
167
214
199
156
223
137
210
250
186
231
213
203
150
158
223
203
165
152
112
299
152
208
160
177
181
265
147
112
202
115
165
123
194
227
232
139
228
112
150
172
202
176
121
146
203
229
147
146
121
147
121
233
228
228
130
177
176
150
210
208
205
150
115
289
168
224
150
172
150
165
135
115
192
244
121
240
269
156
135
237
150
123
184
112
174
194
112
170
135
123
208
263
172
208
203
297
237
193
165
187
237
217
208
263
123
174
208
170
208
121
172
250
121
121
172
150
165
187
208
171
130
137
112
186
167
150
112
167
112
158
194
158
150
150
121
150
115
170
209
231
160
123
191
202
121
165
121
112
231
123
164
150
164
172
166
150
211
112
165
158
158
150
121
205
150
147
150
250
255
219
158
167
281
205
176
121
112
187
172
187
176
208
156
150
228
220
237
233
167
227
112
165
257
121
231
150
150
175
176
121
150
150
189
230
128
123
181
137
174
121
112
112
193
130
158
159
150
158
178
219
150
121
112
150
145
150
172
207
176
208
177
172
128
167
170
210
209
112
205
137
195
193
150
215
208
208
176
208
208
174
170
257
150
167
172
123
208
146
115
136
190
167
121
187
209
193
123
206
302
115
187
174
128
172
167
302
115
115
121
208
156
150
115
164
135
136
181
231
172
181
121
150
176
192
170
167
215
174
172
150
186
128
167
171
150
170
176
195
193
167
112
150
112
243
202
121
147
172
187
121
124
150
278
172
172
181
170
202
172
112
150
112
121
150
201
236
186
172
231
167
137
121
121
137
197
196
212
178
170
121
196
167
150
164
272
150
112
150
150
172
157
256
112
264
167
164
124
150
172
194
194
205
172
208
241
208
194
255
231
225
176
172
123
171
167
150
237
195
123
194
208
121
170
234
174
174
121
143
135
112
231
229
167
112
115
124
150
167
112
213
167
268
124
112
136
150
187
218
112
150
150
167
172
121
215
196
136
255
150
171
112
135
172
177
209
255
112
165
190
156
172
150
220
121
223
234
176
164
131
136
172
213
158
137
264
112
171
208
156
170
156
208
112
112
170
223
150
208
167
189
177
121
123
177
176
150
152
226
164
153
194
231
208
217
226
137
276
233
236
115
223
121
234
158
150
210
112
121
165
232
203
150
112
164
150
193
121
187
150
172
195
135
121
121
121
115
112
172
150
193
135
174
253
172
150
219
112
150
147
172
121
160
150
195
187
121
208
135
266
208
265
203
177
196
150
208
137
250
231
179
172
150
203
150
121
246
245
112
186
115
167
214
194
206
181
159
171
165
171
121
150
193
174
233
150
121
144
135
302
215
181
172
172
172
171
124
212
212
150
170
228
218
143
160
164
150
136
176
112
175
150
150
136
240
202
112
226
194
112
172
167
172
137
150
212
115
150
186
136
177
168
164
112
196
171
167
222
150
199
212
112
209
136
194
164
135
112
172
121
208
121
172
199
172
167
137
216
121
194
237
146
215
147
167
123
115
172
112
112
167
150
135
202
112
112
241
208
130
121
228
121
179
115
170
112
121
226
170
231
112
208
159
215
130
121
137
150
193
231
150
112
159
236
218
112
215
186
171
241
208
201
219
150
159
147
150
219
228
229
121
187
171
172
228
220
177
237
208
205
181
208
278
167
242
208
121
112
195
255
150
176
208
172
152
150
194
112
208
193
121
232
211
112
178
172
112
227
243
228
194
115
179
184
150
202
263
152
230
150
171
130
213
150
121
167
158
112
238
228
231
194
228
121
153
165
186
170
150
197
150
137
186
237
172
240
194
167
170
147
208
201
170
176
207
170
210
152
112
130
192
170
165
218
255
208
150
150
112
167
170
168
112
121
186
170
147
218
112
220
194
167
208
243
167
112
176
225
121
159
216
123
210
123
242
112
208
231
167
150
201
150
150
244
208
170
121
156
136
181
121
130
158
167
171
136
202
157
131
170
172
156
112
128
115
171
173
193
112
139
231
266
115
194
217
112
194
121
208
123
150
202
207
121
177
172
215
121
212
112
207
167
181
189
159
171
194
205
194
175
121
121
194
238
135
164
210
167
170
112
170
171
208
121
170
207
168
194
123
208
167
239
208
121
121
137
170
170
250
112
121
160
247
112
115
167
195
195
121
252
112
112
208
135
112
171
187
170
244
240
195
172
172
176
220
171
121
172
212
112
171
167
156
150
176
150
158
237
216
228
208
225
203
240
147
223
181
220
195
172
212
171
150
208
115
186
234
150
204
229
238
121
112
209
123
179
121
156
199
150
210
121
181
209
121
121
158
167
272
186
123
167
150
208
186
220
112
288
165
150
263
255
123
150
256
223
165
152
112
223
121
208
176
128
112
167
176
150
184
201
189
246
160
170
179
177
275
203
164
112
112
150
165
179
177
159
112
208
112
165
194
150
189
208
167
121
167
121
177
150
195
112
228
167
200
147
147
202
150
212
172
220
115
208
171
208
176
144
150
112
112
150
159
170
172
219
176
228
193
121
128
176
136
150
240
177
237
258
164
181
112
201
167
176
208
226
177
121
208
112
190
150
187
112
187
167
124
123
115
167
205
181
199
195
192
179
167
190
150
164
112
150
115
112
177
171
121
172
208
172
121
150
186
239
212
228
112
112
172
175
172
181
226
236
159
150
250
150
228
241
121
210
278
159
229
112
212
174
121
150
112
181
192
150
121
150
176
181
212
210
302
210
121
147
150
174
167
112
167
208
150
112
181
208
194
177
112
186
193
112
187
112
112
171
172
150
208
187
150
123
213
136
177
124
150
172
162
123
135
172
171
226
196
176
150
210
146
150
165
225
150
167
278
230
207
150
220
112
217
195
112
147
208
123
150
204
221
112
157
124
219
205
231
167
170
240
209
228
186
208
112
112
164
237
204
265
147
171
112
193
137
121
228
115
170
121
150
112
150
218
210
147
208
170
208
121
164
172
150
193
172
302
233
121
112
147
150
115
208
172
210
150
150
156
123
190
257
203
144
196
229
183
122
217
209
179
170
112
121
223
128
150
203
255
210
186
112
136
143
165
150
150
230
159
194
172
165
121
177
226
231
167
203
232
223
181
112
150
232
135
150
150
231
160
121
172
150
112
187
124
195
181
150
160
189
229
200
123
115
115
170
112
208
177
150
219
157
147
208
208
150
219
212
172
233
176
121
170
246
128
128
143
302
112
265
150
176
150
150
217
112
137
164
150
112
112
165
144
208
194
139
182
139
150
150
177
212
123
130
123
150
214
196
164
137
198
168
121
167
202
205
187
225
121
159
202
123
112
196
164
227
212
193
236
121
135
136
160
156
112
278
165
123
175
150
167
112
112
207
121
165
123
150
112
150
121
121
112
121
121
150
171
172
176
187
121
172
271
220
221
112
208
112
208
174
121
231
233
195
219
112
123
302
121
112
137
160
156
172
112
150
170
177
171
176
165
220
147
150
172
206
171
243
172
150
210
115
178
182
175
208
112
187
271
121
123
243
150
172
171
121
240
208
135
183
150
219
112
150
150
207
202
150
112
208
202
150
208
236
234
161
205
179
226
150
242
135
121
217
165
259
167
226
194
223
172
171
243
254
208
150
128
228
112
172
208
172
123
156
172
150
245
221
192
176
150
121
197
195
158
136
171
165
227
170
258
165
150
186
156
172
176
255
150
147
150
171
239
171
137
121
236
121
121
121
219
170
128
255
208
195
167
202
112
177
136
176
181
274
167
150
171
121
150
112
167
181
137
184
170
121
187
164
170
121
272
150
136
123
112
135
112
230
150
181
216
158
112
150
121
121
215
164
242
137
159
112
150
112
167
150
195
115
176
128
170
162
212
195
112
181
210
123
135
234
183
232
156
208
112
220
137
162
218
206
208
165
150
121
181
202
112
174
182
205
193
158
203
161
150
217
171
150
150
201
159
179
112
171
121
150
170
171
181
208
147
208
253
150
171
135
150
233
112
121
152
213
167
208
112
112
150
147
181
208
150
205
185
208
172
124
150
147
121
202
123
172
167
150
160
167
225
152
150
150
175
272
186
121
210
150
209
112
172
150
121
137
228
226
159
121
172
196
112
170
121
187
176
150
203
152
123
210
201
237
172
202
147
112
150
181
194
171
195
224
121
203
192
115
168
112
274
205
208
205
192
208
183
136
220
158
136
158
170
132
150
124
255
172
170
170
278
121
187
147
176
121
159
176
194
130
176
164
214
230
171
193
257
172
112
176
135
150
257
150
203
168
173
255
150
162
112
164
195
167
112
203
167
172
193
123
201
150
198
217
115
209
160
150
112
190
194
150
192
171
112
210
190
171
202
156
176
167
121
192
208
167
150
167
170
137
172
159
150
210
167
121
167
170
112
170
237
186
181
192
159
167
193
112
170
164
177
195
165
241
172
228
305
210
202
150
210
150
136
158
211
302
186
237
150
186
167
123
112
174
174
210
194
150
185
160
136
179
135
177
124
168
150
128
121
150
167
171
137
159
220
167
150
225
177
171
121
187
209
187
193
152
231
115
154
158
170
181
192
193
208
124
250
121
150
208
193
128
208
177
208
174
226
299
172
175
150
135
184
220
192
214
231
167
250
173
212
267
121
272
212
170
207
231
152
210
227
167
215
172
112
194
194
199
240
198
124
198
201
203
121
180
186
195
172
167
163
172
166
198
171
254
112
255
135
123
158
177
164
172
189
172
195
217
121
171
171
128
172
112
150
150
168
112
208
112
219
208
236
150
232
128
234
112
150
250
170
150
165
150
172
172
231
171
302
156
121
181
152
150
112
165
164
150
186
158
229
232
204
194
302
165
161
202
158
170
273
112
150
205
203
172
139
226
172
121
167
228
112
203
181
156
168
150
302
194
219
211
229
207
112
278
174
176
171
194
150
172
121
121
171
220
150
121
213
194
203
221
176
172
137
112
150
150
216
143
200
121
184
121
167
203
194
239
167
218
112
147
152
228
229
112
208
128
121
121
123
186
150
150
121
208
150
123
208
150
139
150
112
209
165
135
239
150
187
195
150
237
123
205
150
206
194
205
165
217
136
218
123
136
193
136
238
112
194
231
212
194
208
123
121
156
147
164
150
121
171
202
150
167
237
205
194
264
112
171
201
186
123
208
158
255
112
135
130
112
172
150
112
214
232
164
112
302
121
203
208
150
218
172
115
170
201
123
162
212
121
159
150
147
135
121
147
112
168
181
172
123
131
150
211
167
182
237
121
187
150
112
137
228
264
150
121
150
209
121
175
121
123
121
164
137
121
227
135
202
136
255
210
232
112
121
255
186
172
226
167
172
181
112
137
112
130
112
187
121
112
177
189
250
231
194
167
172
112
167
171
128
150
175
168
208
112
150
164
208
279
190
112
170
208
121
165
217
167
239
150
194
112
170
171
175
174
220
121
158
245
150
150
201
121
181
150
208
172
192
176
230
150
193
194
217
170
121
172
158
233
170
121
172
210
228
112
172
123
121
208
181
201
218
150
143
255
112
194
172
112
150
134
171
112
208
176
112
170
173
186
112
239
212
112
177
184
112
121
157
193
112
207
194
123
189
229
208
212
208
178
212
210
131
150
112
207
124
219
181
167
186
171
220
167
123
181
165
112
135
208
150
186
137
121
208
229
152
170
137
156
165
263
164
212
178
167
205
210
228
121
176
194
207
197
255
121
233
172
150
240
186
189
176
171
136
158
186
112
226
208
227
176
156
206
194
228
112
112
210
150
115
217
121
202
177
218
171
208
176
208
245
228
170
216
176
208
195
172
171
228
179
167
174
156
176
150
172
112
112
208
150
192
112
237
253
150
172
187
208
170
208
123
202
231
196
150
210
165
208
137
194
112
150
167
211
112
147
218
157
150
229
171
150
232
121
228
112
250
146
167
123
226
130
193
176
229
211
176
121
146
112
121
123
238
208
137
112
177
205
208
171
150
187
121
228
147
159
121
112
150
171
112
189
176
167
150
171
150
158
208
112
159
150
208
186
208
159
159
170
177
150
171
135
220
257
208
150
231
220
157
150
170
250
207
135
176
238
210
165
132
208
167
112
208
176
150
150
191
193
164
219
121
238
205
225
173
150
160
123
186
175
121
150
156
156
156
202
181
229
128
130
186
228
170
172
172
121
123
195
259
172
112
112
150
286
150
250
175
150
181
208
121
237
202
172
184
150
121
170
201
150
219
167
150
123
135
202
228
147
150
150
220
165
152
121
156
167
208
186
172
176
121
229
228
121
150
135
208
167
150
228
121
259
205
202
150
177
194
202
239
208
112
179
172
165
231
256
150
219
212
150
223
158
112
170
150
203
112
170
253
136
112
162
112
174
165
123
225
239
170
207
150
212
208
121
216
150
112
237
175
194
192
112
181
171
131
181
167
226
237
123
171
221
195
150
150
187
193
208
181
224
171
137
172
194
217
176
237
175
208
147
165
167
264
208
137
172
201
226
123
208
121
170
187
150
205
181
186
152
172
233
208
231
150
210
194
228
160
194
121
112
194
121
150
164
144
123
299
135
121
174
201
187
172
156
176
150
193
121
112
228
201
121
186
170
112
250
232
182
150
181
208
170
174
167
172
186
136
169
193
136
150
150
171
223
195
208
205
203
112
245
208
194
217
170
189
112
124
193
195
228
231
112
121
194
208
217
112
135
164
228
172
203
150
172
237
150
112
279
158
172
235
150
160
182
166
150
112
184
208
208
112
112
226
184
176
198
174
112
256
186
171
123
195
190
121
181
184
150
240
179
250
229
210
112
172
147
195
263
179
206
187
170
161
184
184
228
211
181
228
172
198
206
187
150
121
147
225
172
225
159
177
208
167
150
112
281
150
112
171
165
170
112
176
220
135
121
194
208
172
184
192
123
228
228
226
203
150
128
201
112
239
172
181
259
165
121
121
150
136
167
194
121
136
150
159
208
123
150
121
208
237
112
208
258
208
121
181
193
242
165
171
208
123
136
179
172
112
210
201
201
205
208
167
172
172
112
136
136
150
136
209
212
202
207
160
168
234
194
150
172
232
219
195
123
208
208
226
181
178
193
187
208
150
158
186
150
228
208
171
135
200
112
165
208
130
203
170
172
208
137
225
176
181
194
124
208
150
195
167
159
219
231
115
224
150
150
150
208
167
224
208
192
210
228
217
191
238
236
150
228
152
186
278
181
253
136
121
177
210
208
112
219
210
208
121
187
228
172
181
150
211
228
156
172
226
193
174
260
263
195
112
121
121
236
167
146
232
193
172
208
237
174
188
121
170
219
186
215
131
130
172
168
181
174
170
195
193
185
150
112
112
150
195
201
150
112
219
168
208
150
137
137
217
203
187
112
121
150
212
216
170
193
123
171
195
164
231
278
150
239
112
150
115
135
171
121
171
212
136
244
112
177
221
153
158
121
150
193
112
121
121
170
136
194
225
196
172
189
189
181
172
170
194
237
212
150
150
181
165
129
123
205
196
200
194
186
124
187
165
184
170
234
276
216
112
112
124
112
228
224
144
150
150
122
171
203
136
143
165
161
121
158
232
164
193
167
181
172
223
203
171
193
176
233
112
135
175
150
201
206
165
239
196
251
172
198
211
243
172
112
150
112
150
171
135
271
121
112
159
228
164
150
180
195
123
220
208
171
167
121
203
167
112
167
135
228
135
121
137
172
115
195
152
237
150
170
150
302
112
159
150
175
137
217
123
112
210
112
193
243
219
167
175
195
228
121
147
172
176
228
176
181
194
257
159
219
229
171
239
195
112
167
172
150
235
218
112
206
121
220
150
150
177
121
186
170
144
241
176
223
195
121
121
150
181
229
194
121
255
237
194
203
165
208
135
237
152
238
167
208
208
159
186
187
123
212
252
124
220
203
276
204
112
170
240
218
179
215
193
257
150
132
123
150
159
137
135
208
135
123
232
112
190
123
244
112
231
171
238
112
172
121
137
208
225
112
181
170
207
150
237
193
112
194
176
228
176
207
112
112
171
150
202
218
172
172
198
193
150
206
192
194
184
112
208
181
112
208
210
115
121
165
112
193
208
150
214
208
135
194
170
123
121
121
208
203
202
165
227
208
156
150
112
165
150
135
150
202
150
172
203
201
112
150
130
167
229
121
171
232
150
250
112
167
181
187
174
225
150
239
172
123
136
123
205
137
192
167
150
172
278
176
263
218
115
217
112
171
202
161
121
229
167
229
208
112
121
202
185
159
171
184
194
190
121
208
167
165
167
172
258
128
150
181
150
171
194
121
262
121
167
208
204
228
170
176
230
171
115
176
164
240
179
160
150
170
200
112
171
201
152
278
194
123
186
172
150
112
150
177
164
258
223
165
136
150
112
239
168
112
170
217
171
170
195
220
112
112
172
172
150
217
220
112
237
124
192
136
112
208
137
228
150
179
255
172
250
147
189
176
177
112
212
164
115
210
160
150
121
192
170
212
112
181
208
195
167
223
150
156
181
208
171
172
201
158
233
168
124
195
190
203
150
177
232
233
165
131
168
208
167
146
201
208
275
208
121
112
167
217
222
170
121
229
123
121
112
177
135
228
185
280
171
205
202
150
172
231
171
177
159
217
218
143
135
184
172
179
178
211
193
200
193
167
112
121
187
172
189
208
121
203
164
121
227
164
147
226
228
228
201
143
150
112
208
136
220
244
121
174
237
160
193
212
171
167
150
164
150
150
112
176
165
150
112
208
150
112
194
202
150
150
171
121
210
135
188
202
228
121
156
238
150
228
187
208
123
137
121
194
193
181
165
208
170
135
186
123
121
121
244
192
137
248
150
181
150
236
150
181
170
171
112
135
192
160
212
150
208
150
112
219
123
121
121
150
239
137
112
150
225
179
121
181
150
172
159
195
201
187
250
170
123
115
170
241
160
171
252
229
172
130
194
123
194
205
170
121
171
174
171
150
208
186
164
121
123
160
196
201
267
172
208
236
167
112
175
210
150
212
192
174
207
175
212
172
150
208
136
219
121
165
167
147
130
172
208
150
130
112
150
226
121
214
171
121
150
228
171
121
181
194
112
150
243
112
143
150
150
194
156
239
228
159
112
177
239
147
121
189
150
112
242
112
150
147
167
255
195
217
213
135
222
171
167
167
196
210
123
228
159
150
137
112
121
112
150
150
161
229
112
112
243
158
198
115
213
260
203
171
174
112
205
184
130
192
112
178
207
167
112
172
152
160
203
214
237
208
211
212
187
146
121
112
276
184
202
150
160
243
259
228
194
229
165
250
150
150
225
112
135
112
167
213
112
137
150
201
194
172
195
228
146
186
130
145
219
176
220
121
172
130
203
208
246
170
123
210
208
208
217
112
150
121
186
253
196
177
238
178
112
244
121
219
231
123
171
208
121
172
150
229
150
232
112
164
112
208
121
121
228
193
234
194
243
112
121
112
121
121
186
170
187
208
272
150
135
202
170
150
272
248
150
121
200
208
210
171
170
204
124
152
208
112
162
287
150
173
233
193
194
171
150
150
177
208
189
112
209
124
210
176
167
121
208
221
168
121
171
124
121
121
186
182
177
112
175
193
159
165
112
193
158
192
172
124
235
150
172
112
115
121
208
156
195
112
201
112
181
181
124
193
220
150
152
186
112
210
136
233
115
167
112
121
235
208
176
201
243
201
121
228
139
147
150
164
195
150
170
203
193
150
159
196
137
171
183
202
121
121
150
150
170
195
170
236
167
161
193
150
121
121
201
181
195
255
178
227
112
232
112
156
135
218
123
112
218
187
112
137
208
208
215
135
121
112
167
171
121
150
213
112
137
112
237
174
209
143
189
150
150
208
172
137
186
172
150
115
207
150
208
170
164
199
167
276
194
150
112
150
181
208
121
208
172
182
159
176
121
165
121
171
266
152
208
150
121
202
157
196
121
112
112
182
147
160
150
150
216
219
187
158
174
112
158
196
112
164
147
172
236
195
121
255
174
176
194
172
187
165
174
193
156
150
165
167
176
130
168
172
195
172
121
112
210
135
159
112
112
172
150
177
123
112
121
174
210
150
158
112
172
250
176
121
217
150
124
282
169
229
136
144
121
112
150
167
172
150
123
172
150
250
152
222
150
121
204
195
176
208
130
187
112
194
150
123
181
158
172
150
112
229
193
150
170
112
186
202
160
167
181
121
250
174
112
218
221
231
121
217
215
214
112
222
194
150
112
121
170
170
159
139
186
150
123
223
186
186
172
220
194
158
208
210
172
152
214
112
112
193
158
212
150
136
168
150
194
147
193
172
165
176
150
112
150
195
171
181
172
167
165
121
150
121
177
121
195
212
112
189
121
167
112
112
112
192
229
164
177
172
187
302
190
193
231
193
150
176
136
150
150
195
203
177
122
112
112
210
136
194
112
175
193
112
123
217
121
150
167
227
159
155
241
194
112
170
135
275
136
167
165
112
240
172
194
177
146
210
158
137
165
165
200
186
130
135
237
175
208
184
150
196
225
112
150
255
112
170
179
123
193
184
124
189
121
202
137
204
195
150
121
150
194
147
170
121
203
160
150
150
150
167
150
192
228
228
228
208
149
123
136
157
115
234
175
208
171
201
255
173
176
112
218
165
181
112
175
168
112
177
172
227
112
112
143
253
112
112
137
121
183
165
232
210
170
115
147
159
195
158
167
112
112
150
112
172
121
112
181
176
181
174
181
195
121
205
240
172
239
182
112
123
150
172
150
152
123
147
205
135
170
164
159
121
199
135
150
123
199
257
211
147
181
115
226
121
208
195
193
112
121
121
150
189
236
150
136
203
112
150
121
208
121
228
150
115
175
171
186
229
167
150
205
170
191
124
172
147
217
135
170
147
112
150
147
170
121
112
181
180
176
112
228
212
236
171
182
240
124
112
112
136
263
177
210
260
209
112
112
181
193
130
158
235
198
121
201
150
124
112
193
165
121
150
165
121
112
150
186
150
171
243
188
168
283
115
177
112
181
150
115
170
150
163
246
150
150
112
208
150
246
168
195
208
150
201
112
136
147
171
208
123
112
143
121
194
121
112
124
302
150
208
112
189
171
208
210
175
150
147
245
121
150
205
186
150
112
176
121
172
150
208
205
150
205
237
121
121
202
150
150
150
112
167
163
228
208
112
238
257
193
170
195
176
121
170
202
222
201
121
210
201
210
123
192
172
112
121
193
150
121
112
171
194
137
208
193
167
112
241
171
273
112
231
177
210
187
112
237
212
167
150
150
150
156
174
135
130
256
193
194
150
172
150
250
171
227
194
208
194
123
150
150
208
123
208
150
182
123
170
208
172
167
123
156
146
171
150
196
115
121
150
150
216
205
195
112
167
213
121
208
181
170
150
226
150
229
229
208
170
156
240
194
187
172
115
121
237
150
237
187
143
112
257
131
121
202
121
192
171
121
121
179
150
172
123
136
150
112
208
208
112
242
150
255
172
121
229
186
156
208
172
172
199
196
202
112
239
150
170
228
194
112
135
150
171
150
233
174
192
150
172
214
172
170
208
123
181
115
186
201
208
146
128
186
167
135
150
223
150
209
112
167
212
147
172
112
202
172
112
172
123
150
115
112
225
159
194
194
195
170
176
205
158
194
181
217
194
172
194
167
201
171
181
123
170
250
231
176
167
147
203
237
160
112
172
192
130
112
201
156
181
201
174
193
178
162
172
112
215
202
208
186
263
172
189
150
190
139
143
137
181
150
112
194
172
243
179
198
115
237
194
186
181
147
250
181
194
184
156
167
150
157
197
195
159
208
186
165
207
171
136
137
167
247
150
150
208
234
233
208
135
237
150
144
215
211
128
160
112
208
112
121
190
171
228
235
144
136
121
172
186
176
150
203
150
229
121
170
219
182
150
172
192
205
136
136
167
135
186
233
257
160
150
302
193
158
112
193
237
159
183
170
115
121
150
187
150
225
135
207
112
244
150
159
121
206
121
128
150
150
220
150
210
231
171
212
172
158
215
143
195
150
196
234
167
181
175
171
167
208
202
137
115
176
208
276
150
112
178
150
194
236
182
150
227
208
172
112
194
170
205
150
112
208
112
172
170
208
124
177
135
171
235
231
161
181
214
171
177
121
115
225
124
170
174
115
208
112
150
208
159
150
226
177
279
150
112
263
217
121
174
150
208
121
170
177
235
208
170
224
150
150
208
121
150
198
193
228
207
112
168
112
181
208
165
190
168
158
211
158
150
171
150
150
150
150
150
208
147
128
164
208
217
123
199
112
150
170
172
137
176
253
237
150
136
115
170
135
208
171
176
121
208
193
135
150
123
134
181
194
194
174
183
208
152
219
172
195
201
218
193
150
159
150
205
186
255
170
121
172
156
189
112
201
171
171
147
180
181
211
150
112
243
112
150
165
112
177
263
159
124
226
123
121
219
112
210
130
278
240
182
112
150
150
210
136
207
172
192
210
166
171
210
171
164
121
229
123
160
237
121
217
165
150
195
203
194
158
150
226
150
246
187
112
192
195
176
228
167
167
302
171
167
123
112
171
150
208
170
150
171
150
112
208
186
172
121
165
144
202
213
276
229
170
124
233
186
112
201
121
121
150
207
195
156
150
135
112
176
121
112
128
172
208
176
137
250
150
232
193
112
170
170
160
218
192
263
194
239
123
172
115
171
281
187
173
150
208
215
150
112
176
136
112
147
216
172
178
145
115
172
135
150
187
222
171
235
150
112
112
226
165
121
121
112
210
202
112
150
201
176
150
192
202
123
205
173
121
112
208
216
176
112
178
172
172
276
243
177
150
172
215
192
137
232
208
112
172
218
193
167
181
121
170
176
135
208
115
115
186
137
171
176
255
150
225
121
210
205
152
174
171
195
186
112
231
199
128
187
204
193
152
196
172
121
121
159
112
121
208
184
172
156
170
201
182
196
150
189
219
150
150
208
147
208
176
237
208
244
112
190
195
150
208
150
124
150
147
243
136
121
218
162
240
121
159
121
165
121
229
203
147
135
159
186
150
112
115
112
231
208
150
186
150
194
124
124
215
218
150
112
159
150
175
208
172
176
278
195
187
156
190
121
203
150
201
196
124
276
186
213
115
150
147
172
177
150
165
115
194
124
135
150
194
193
172
171
115
194
167
172
150
147
208
172
167
176
150
208
152
172
265
187
174
158
121
172
202
208
204
135
165
165
186
112
226
276
112
208
210
128
160
194
150
250
212
121
150
121
181
121
123
232
112
170
217
208
121
259
167
136
150
112
136
150
162
171
165
170
135
193
150
203
150
150
115
150
171
112
112
171
172
239
150
150
123
215
239
121
115
228
212
160
112
165
150
210
150
121
150
150
156
112
147
181
170
165
193
112
143
179
121
177
181
205
172
263
112
208
179
188
205
121
112
193
112
121
121
172
194
150
205
137
220
121
208
226
112
121
172
168
193
162
263
112
175
150
176
161
112
194
115
237
150
235
239
177
136
121
150
228
194
112
238
137
112
192
216
171
150
218
208
165
121
171
208
137
112
225
121
135
176
150
121
182
195
239
228
172
272
176
150
182
207
172
187
121
172
174
181
172
208
167
264
208
165
112
150
167
137
194
219
247
112
231
228
181
208
121
123
150
181
150
185
212
175
150
177
231
212
167
208
198
112
215
112
171
167
237
121
172
167
193
187
123
181
167
186
164
253
208
167
160
150
208
147
208
203
208
137
112
130
181
123
167
202
112
208
112
247
181
172
121
179
150
137
173
237
202
171
207
121
152
177
123
194
172
203
172
167
152
212
175
208
203
170
212
208
147
176
208
147
112
115
197
150
170
193
210
240
150
158
193
170
167
176
128
170
281
170
189
186
112
263
121
123
150
208
167
121
237
159
115
150
165
121
203
237
302
210
254
172
121
228
278
112
156
112
150
248
217
115
143
208
270
263
217
150
176
181
167
176
112
150
158
123
150
208
177
112
195
121
170
112
208
160
170
199
112
219
167
263
150
172
150
170
237
147
164
208
165
121
170
214
186
167
121
153
181
208
179
189
112
218
244
176
167
193
176
176
150
243
128
135
152
121
150
174
123
167
195
172
150
150
150
231
150
135
235
135
121
220
168
229
202
156
112
131
176
121
263
121
181
121
150
186
164
194
225
165
164
201
150
172
226
318
123
164
198
121
121
135
217
167
139
112
201
160
228
150
166
208
170
203
121
128
147
123
137
232
187
147
121
194
223
172
112
135
167
195
159
261
202
255
210
196
115
150
208
232
167
157
121
135
219
194
225
210
208
172
150
112
231
137
210
135
121
112
160
136
208
152
156
188
172
167
137
121
187
150
193
234
228
186
203
121
186
190
171
216
160
241
202
165
193
250
210
163
208
152
135
203
210
172
243
193
219
164
164
194
212
212
167
228
150
150
225
112
144
156
157
237
172
171
174
112
194
181
123
172
210
167
175
188
194
167
112
171
137
150
165
156
179
186
112
172
121
171
186
176
123
170
165
182
171
181
128
199
144
201
211
219
159
121
218
172
209
112
112
112
136
121
150
112
219
165
195
150
165
121
208
165
164
147
112
219
171
160
255
214
150
159
201
194
112
205
230
156
220
174
150
194
112
112
165
228
112
164
141
136
202
208
170
223
176
115
135
164
187
208
208
202
112
158
171
195
165
185
150
146
150
150
150
112
177
194
167
168
172
150
172
231
172
208
152
210
112
121
121
226
115
208
181
177
172
172
112
121
123
177
292
247
208
137
176
230
158
150
150
121
167
121
121
228
112
150
121
150
121
205
183
165
150
136
195
206
150
194
246
136
278
174
121
150
112
165
210
232
176
231
150
150
135
228
239
159
165
150
208
112
233
299
167
208
123
158
175
170
172
226
150
112
136
128
172
172
208
167
112
165
130
112
181
167
128
182
282
150
150
187
201
250
186
124
150
217
112
150
135
150
218
250
156
112
170
112
176
112
172
121
167
136
195
165
179
150
150
208
165
171
214
112
263
191
170
144
181
184
208
176
150
172
121
137
210
172
263
210
231
123
208
186
174
165
136
167
150
147
237
275
135
167
112
170
225
172
167
121
212
112
305
172
193
192
228
112
220
243
195
160
112
210
112
219
223
228
207
112
115
243
160
194
123
177
170
171
212
186
135
208
193
167
121
115
179
130
236
254
227
137
197
233
150
226
195
213
175
176
150
139
172
172
160
150
136
212
208
195
128
164
174
226
121
150
121
165
225
112
165
172
167
150
123
240
210
112
187
112
226
198
237
172
215
167
171
175
181
219
167
137
112
187
164
136
150
208
257
187
147
121
147
203
121
115
121
167
253
135
215
228
181
204
212
165
112
172
112
202
150
150
167
203
112
225
150
112
115
150
239
208
181
225
231
144
225
112
112
170
179
121
121
124
150
158
170
150
121
176
150
112
217
194
218
237
170
231
171
123
121
137
135
205
121
226
171
228
172
193
241
121
205
189
201
167
150
230
158
186
177
150
112
167
171
217
121
191
112
150
170
177
235
150
150
150
171
137
165
181
209
177
112
297
136
112
160
244
124
115
179
172
204
226
209
302
150
171
121
186
130
228
139
192
121
193
202
165
171
131
170
124
171
112
172
178
121
255
152
172
208
150
202
208
144
176
147
201
150
203
181
233
121
112
171
203
121
150
150
135
299
112
176
150
171
159
112
150
186
158
201
121
121
215
153
150
112
165
150
210
121
112
128
203
171
121
150
112
186
208
112
139
215
263
203
172
196
147
124
112
228
194
159
121
185
202
137
150
172
150
159
167
112
135
171
234
112
194
135
172
186
150
112
121
156
167
201
168
213
156
145
174
150
201
228
112
150
171
159
150
171
121
255
171
165
208
112
121
165
150
202
150
177
136
150
167
150
121
228
195
181
223
150
150
208
170
112
121
228
193
172
156
203
167
264
121
228
164
194
208
136
121
172
160
225
277
124
136
176
190
136
208
123
208
228
166
172
187
218
176
150
150
170
208
181
230
193
112
121
150
187
150
234
121
203
150
112
136
217
195
112
172
136
232
250
150
193
112
205
130
171
150
137
150
137
112
158
136
171
147
252
121
243
216
150
278
216
201
167
228
170
112
184
215
208
150
121
112
135
121
158
231
269
150
121
150
121
179
209
208
121
172
229
121
181
187
208
193
150
208
212
136
112
168
156
228
233
123
135
112
176
239
228
212
172
239
167
198
112
150
179
191
160
208
121
228
209
167
150
208
223
181
210
147
210
167
210
237
201
210
112
233
208
159
112
112
170
177
187
171
158
150
202
112
121
176
123
182
112
147
175
231
194
181
208
167
237
208
208
193
177
214
176
121
176
150
182
218
279
170
112
150
255
172
146
172
244
202
173
225
128
174
150
235
252
150
217
199
171
150
179
150
176
192
160
165
150
210
170
136
150
212
150
121
112
237
172
176
243
175
194
159
112
150
121
124
150
150
150
233
144
216
150
150
112
165
194
167
231
157
210
172
150
112
167
121
123
216
184
203
160
194
150
192
112
236
181
226
208
167
182
150
219
112
150
172
150
167
208
136
121
190
167
167
208
170
195
177
187
150
194
217
147
209
175
170
147
123
121
152
170
215
121
225
194
189
171
150
208
229
181
150
115
195
228
177
157
204
171
228
228
227
246
187
150
161
205
156
219
112
112
136
179
150
231
112
160
121
193
196
112
123
170
232
192
176
112
171
175
150
231
166
172
192
172
172
172
170
250
165
112
194
156
172
186
276
171
186
136
228
112
170
121
210
150
170
232
194
239
115
186
257
150
167
167
194
112
115
210
186
197
144
193
170
146
171
231
112
112
221
112
177
175
123
208
115
178
157
112
210
123
231
232
121
205
184
159
218
121
167
194
186
171
207
234
112
172
124
194
170
173
112
121
121
137
211
181
112
171
176
208
239
170
112
236
150
147
276
171
170
112
194
112
242
112
124
228
231
121
228
150
121
170
174
214
217
164
194
150
121
195
175
168
158
207
121
192
135
150
187
208
273
121
135
176
226
259
186
121
160
194
157
115
170
150
212
177
176
208
121
172
165
112
130
167
186
194
112
121
229
192
112
150
181
210
212
172
123
158
139
210
143
158
176
172
128
208
112
172
228
121
137
208
174
276
164
175
167
139
170
208
208
124
168
112
121
135
167
233
226
145
167
112
233
150
194
150
174
158
112
150
152
177
112
167
193
208
208
165
170
121
228
150
226
147
150
212
232
186
215
112
193
150
150
121
223
167
165
147
220
178
189
195
150
112
112
171
208
123
187
211
226
136
167
276
156
208
121
228
220
174
194
130
123
121
130
224
112
136
150
170
210
195
165
181
193
213
227
170
123
170
177
115
176
186
207
265
121
150
121
167
123
194
150
123
261
123
255
207
206
165
121
123
171
150
172
150
215
237
219
193
121
170
160
208
205
112
150
121
194
150
144
165
161
208
136
218
195
235
194
136
239
172
195
112
228
176
168
187
238
150
112
150
165
202
170
174
165
177
182
167
201
160
165
170
209
141
226
208
184
226
205
192
208
212
200
170
171
210
136
112
130
150
165
226
210
199
123
156
164
160
160
216
167
215
208
202
150
193
121
121
225
225
181
165
150
172
128
137
202
203
208
216
150
123
212
121
150
195
237
112
137
233
167
150
220
165
175
136
181
163
150
121
231
158
228
172
268
174
121
171
170
192
164
150
220
168
121
231
124
165
208
150
189
150
172
165
208
167
208
121
193
137
137
172
226
192
194
181
150
167
123
112
232
176
174
176
272
187
184
121
160
112
121
171
170
208
214
152
160
172
168
158
112
217
150
194
121
165
177
164
121
224
167
219
250
150
143
150
150
150
186
171
150
123
208
245
150
137
181
136
179
165
225
171
165
193
201
177
158
222
134
203
186
193
208
176
181
121
123
196
186
112
112
264
150
112
194
208
219
150
193
167
165
143
150
150
150
177
202
178
121
196
208
208
222
256
203
212
203
136
276
263
150
172
150
238
194
186
228
150
147
168
237
135
150
112
270
176
274
195
167
137
170
112
172
160
217
187
171
121
186
203
170
121
167
136
218
174
232
159
150
231
158
146
181
276
115
219
193
228
123
115
232
121
176
112
121
112
112
212
172
150
167
150
170
171
191
167
241
150
171
215
121
220
245
115
150
123
121
177
165
112
194
232
158
216
276
231
147
172
160
186
150
150
165
167
112
150
112
135
156
194
177
112
128
228
179
112
112
171
254
186
172
169
171
123
214
124
112
208
281
112
128
112
171
228
112
112
231
205
165
231
208
135
255
112
112
172
214
259
158
176
187
170
177
270
250
238
172
260
187
112
177
112
186
187
150
208
208
208
150
123
170
150
199
237
207
152
209
170
216
121
181
112
164
186
174
150
275
160
220
212
172
208
171
218
164
112
150
112
193
112
136
193
208
228
143
193
162
115
165
172
254
115
150
112
136
222
193
150
121
170
208
232
150
194
162
176
201
150
115
150
121
150
206
165
150
220
170
177
147
124
172
181
208
208
150
234
195
172
167
212
201
195
250
208
121
128
278
172
121
193
123
172
210
128
210
112
112
184
213
121
150
208
112
124
172
263
176
172
193
159
174
208
205
158
167
150
124
194
164
278
158
147
162
170
150
221
237
228
135
171
176
216
112
175
204
178
112
112
208
167
229
112
226
136
178
187
172
112
207
193
167
131
177
171
112
170
112
150
176
112
156
150
170
150
121
181
112
124
112
192
160
210
181
171
150
121
112
121
193
164
194
150
150
150
231
121
194
176
136
150
147
187
171
164
156
223
112
124
229
231
186
135
150
226
171
143
241
123
121
112
150
200
135
195
255
276
202
229
152
171
228
219
136
247
112
112
202
112
208
137
275
150
136
150
177
193
150
181
172
112
112
207
164
150
181
150
203
196
172
170
226
112
204
201
194
202
137
220
185
226
171
150
115
150
150
170
112
206
170
210
208
210
172
137
112
136
177
186
232
170
219
171
158
210
156
160
278
168
112
170
208
231
112
220
123
212
177
234
236
170
115
172
212
171
243
203
150
208
237
112
121
170
121
112
150
200
235
112
170
176
150
112
150
150
255
187
171
219
136
172
254
135
170
210
208
121
124
123
171
209
158
208
121
112
239
210
171
170
187
112
181
121
112
176
150
180
194
156
226
135
201
170
150
167
136
160
208
167
165
210
302
208
220
167
164
128
167
150
210
123
195
112
175
123
121
167
160
172
196
167
215
168
186
204
167
170
189
181
128
123
171
112
208
176
150
135
186
176
121
147
233
228
194
150
112
179
208
202
260
214
228
123
167
193
136
228
150
160
171
181
121
136
185
186
213
176
208
112
146
121
205
112
137
121
208
167
208
196
135
210
115
205
195
212
215
177
226
204
172
150
208
215
171
156
112
176
226
237
112
150
115
112
231
215
124
136
208
121
212
115
123
250
210
167
112
150
229
184
150
171
208
150
298
112
121
230
168
162
121
210
239
179
194
150
192
123
206
208
112
208
170
187
150
121
159
194
150
121
121
136
164
244
207
170
112
194
226
302
263
121
165
172
191
167
121
193
200
214
177
208
112
182
150
135
205
170
172
208
112
210
121
174
112
170
195
203
158
150
171
208
123
160
137
207
228
170
265
170
121
302
121
226
112
121
174
208
112
112
176
112
167
158
210
112
232
281
195
150
194
112
176
112
162
121
172
121
150
112
160
158
174
150
112
175
121
208
190
147
176
201
167
235
187
208
137
156
161
121
135
167
162
235
160
121
225
156
172
171
208
135
209
156
220
112
167
147
167
208
150
121
217
150
156
172
186
112
165
241
136
167
160
178
237
208
121
123
112
150
237
172
150
176
177
150
194
123
121
181
181
112
208
210
171
150
162
121
134
215
181
172
130
128
121
150
150
124
172
263
219
172
186
150
208
150
189
210
182
172
150
170
112
168
203
115
220
156
201
150
176
112
135
201
205
229
212
160
173
170
136
121
150
208
112
223
172
152
159
150
112
201
203
147
158
130
220
208
112
263
177
112
208
150
193
160
158
112
201
147
203
212
121
167
181
159
112
209
128
187
167
263
160
162
150
181
193
228
181
243
112
195
165
167
177
150
121
232
228
115
168
165
208
150
208
112
193
176
172
128
112
112
165
215
156
123
212
112
208
159
193
217
203
154
233
192
181
170
173
208
228
135
150
166
167
192
275
150
112
170
121
177
123
130
137
181
112
181
135
167
172
213
240
167
137
160
205
217
205
150
112
150
208
177
112
172
115
165
167
136
176
147
228
147
112
121
167
121
147
150
165
150
171
210
150
209
167
128
225
192
208
172
187
233
172
209
236
112
192
130
150
186
213
167
208
165
220
170
185
172
150
112
150
214
112
255
159
115
212
228
215
228
249
112
181
228
213
121
237
181
276
172
208
210
150
171
197
165
112
167
186
112
176
147
123
263
260
150
165
115
165
144
181
135
158
205
135
160
202
167
236
150
160
181
112
192
198
171
170
215
137
193
150
165
163
145
187
112
275
183
115
227
146
112
195
208
225
215
232
121
250
167
121
121
172
194
172
150
208
112
212
227
130
243
171
193
192
112
139
112
218
176
112
112
112
264
203
160
150
164
208
171
160
112
136
186
124
233
175
112
165
181
121
242
112
121
121
137
150
112
210
112
208
299
194
193
115
121
112
112
192
112
171
210
112
202
170
181
176
150
208
158
175
172
121
231
136
186
219
275
160
167
194
165
135
156
171
150
112
220
181
123
158
208
208
210
182
181
228
171
176
208
162
136
176
167
135
256
158
112
171
136
201
150
112
150
183
158
172
121
128
121
112
219
172
208
174
150
130
215
177
263
186
193
184
208
176
167
112
112
181
189
150
208
181
186
205
214
241
252
165
150
123
167
237
226
214
232
194
208
203
186
158
167
176
208
172
121
208
150
172
160
255
167
178
150
112
167
112
228
186
123
214
201
196
167
150
112
150
172
200
187
124
121
144
210
233
112
237
135
156
150
123
121
159
147
220
168
232
112
208
225
146
167
203
192
208
137
173
121
202
194
203
123
232
264
112
112
214
193
172
187
184
121
176
195
192
207
194
112
136
179
112
228
167
202
167
186
216
194
112
167
158
269
237
186
124
243
194
150
167
263
112
121
159
150
243
171
198
184
245
228
171
150
121
128
150
158
165
152
123
195
210
164
150
123
187
112
178
168
190
194
150
150
195
237
195
112
150
203
239
165
112
190
156
121
177
121
165
176
181
150
208
243
225
205
177
159
168
181
172
115
187
167
170
208
167
112
181
237
181
112
194
150
231
150
167
112
221
170
208
150
186
211
222
147
207
184
181
165
237
147
135
189
217
194
172
167
237
214
208
156
235
212
210
150
112
208
210
219
130
194
172
207
200
160
208
170
194
167
193
135
112
150
194
195
112
112
150
172
284
255
147
167
207
219
181
208
115
150
136
112
207
121
150
136
193
124
112
208
235
150
121
147
170
193
172
170
250
123
201
115
121
167
121
130
115
170
121
172
150
220
217
112
205
181
187
202
174
203
112
170
162
176
150
135
112
144
121
189
150
150
150
159
177
123
208
135
167
208
121
137
171
135
121
208
172
185
234
218
266
167
150
225
228
137
234
172
210
168
250
239
172
211
135
218
123
278
237
228
187
123
121
112
189
170
178
212
123
205
182
168
198
181
136
112
236
193
167
193
170
215
208
112
144
171
168
165
181
150
172
228
192
225
223
241
112
181
123
165
143
208
208
123
165
256
150
194
208
112
187
213
150
239
225
302
123
150
236
174
209
124
193
115
115
194
150
112
150
208
158
121
154
167
124
219
209
170
150
302
255
121
112
208
184
178
112
187
112
167
150
112
175
181
150
190
208
176
201
123
189
235
150
130
144
232
208
172
181
121
213
150
170
112
167
136
227
150
150
112
184
172
218
195
244
156
212
160
123
112
152
121
112
167
156
167
210
112
197
121
176
152
228
135
275
228
147
172
112
155
150
112
176
160
170
150
123
208
208
167
112
187
121
150
176
147
150
121
205
192
112
112
164
171
195
195
182
150
121
212
184
208
242
212
193
112
150
123
210
187
208
112
226
171
135
205
203
123
150
192
208
219
172
231
150
175
121
187
212
229
186
157
112
219
203
152
272
193
208
205
121
186
121
150
112
150
214
167
150
208
147
194
150
301
187
216
250
121
228
269
121
219
121
112
123
112
123
194
220
208
115
237
143
239
152
136
208
121
174
184
112
150
170
192
208
174
170
194
112
112
207
194
227
147
187
150
112
172
208
201
240
174
152
150
218
135
158
194
164
172
150
112
302
214
150
112
274
201
181
162
112
112
172
170
211
226
250
150
150
158
135
297
210
123
255
150
112
153
123
208
224
236
176
203
121
136
135
208
112
196
112
292
137
167
239
263
170
171
186
121
226
208
121
167
186
112
184
112
160
150
167
181
150
165
150
171
150
112
165
135
150
112
167
160
123
171
294
177
167
165
150
175
185
193
221
193
220
112
150
172
124
219
112
171
112
194
170
147
150
150
167
112
176
150
147
210
181
158
208
187
167
121
150
165
147
171
193
208
282
135
229
187
255
232
112
170
208
216
208
302
239
150
150
233
168
189
208
208
253
228
147
172
121
121
176
121
112
201
265
112
112
150
150
208
112
193
208
228
152
184
150
168
112
203
150
112
121
238
167
121
130
112
180
173
172
137
164
217
201
150
199
124
219
237
178
210
165
123
178
112
170
218
121
208
249
208
112
112
171
194
130
212
193
137
201
121
112
136
208
150
147
186
136
121
193
208
194
186
121
172
172
164
150
187
172
150
112
198
208
250
172
172
130
167
123
112
244
219
229
181
192
123
170
150
121
178
257
170
174
173
170
167
121
150
165
187
150
186
150
193
184
263
267
197
171
217
144
123
203
257
135
165
208
167
121
201
272
150
143
135
112
112
160
160
195
112
123
194
215
137
205
208
121
176
121
171
181
150
150
218
147
181
124
121
165
121
215
235
226
176
226
150
208
136
255
121
121
187
150
234
121
150
176
121
150
219
121
208
220
186
121
208
175
170
176
195
186
157
186
112
165
135
208
160
198
203
186
168
282
195
150
172
112
121
147
135
112
150
172
112
194
121
160
203
187
229
167
302
121
112
203
187
136
147
201
223
121
202
194
192
274
187
201
202
204
112
257
209
225
207
201
150
208
112
167
171
150
176
208
208
203
150
272
150
230
237
167
167
112
216
208
211
150
112
112
176
225
187
170
121
112
156
187
135
193
217
204
210
156
152
112
112
241
135
112
150
158
177
156
121
121
150
231
112
205
280
167
250
205
189
121
171
152
150
176
254
269
121
150
165
150
253
201
207
167
194
170
197
181
150
174
137
112
112
217
150
228
175
217
132
186
112
150
170
229
235
121
237
150
233
159
224
242
267
218
121
228
170
208
195
181
208
112
112
199
165
208
195
181
121
302
181
186
215
112
241
164
228
112
196
121
194
112
128
176
236
176
121
165
146
176
180
184
208
172
170
152
215
123
130
144
150
150
115
150
192
208
124
248
112
112
150
192
177
121
112
181
208
121
208
182
121
156
165
135
150
149
205
228
210
153
226
181
121
201
167
150
123
152
177
170
150
210
265
177
164
212
172
112
157
156
253
150
237
172
121
171
219
189
112
242
186
146
220
150
150
232
176
194
152
150
150
208
160
225
187
194
112
160
150
172
170
150
147
160
208
172
179
136
167
227
112
220
172
130
170
193
179
121
176
177
186
112
121
198
182
210
123
135
174
167
176
165
112
170
178
167
168
150
121
112
181
150
170
164
115
202
163
150
112
135
165
184
220
150
203
165
209
276
255
121
136
112
174
178
176
112
167
121
167
185
174
186
167
170
143
135
230
136
212
121
112
167
238
208
121
202
201
112
237
150
124
159
195
112
246
150
178
261
163
172
150
194
243
201
170
150
112
220
112
112
164
210
121
135
170
161
121
143
170
123
186
206
156
208
195
177
195
231
177
195
167
147
112
182
209
167
212
121
172
112
112
150
243
121
223
186
167
171
167
172
112
255
203
193
207
172
208
210
195
213
172
112
225
181
205
237
165
245
172
205
172
150
156
123
112
146
172
150
257
150
167
182
202
205
240
121
143
172
123
164
172
160
202
217
194
121
160
170
182
123
167
183
210
167
170
160
150
165
208
150
112
207
194
195
162
214
152
150
112
211
170
224
147
167
123
150
210
195
150
171
121
178
217
121
121
187
240
150
170
112
158
237
220
218
150
177
112
172
214
208
150
176
147
124
150
172
176
291
206
203
258
112
150
173
159
233
150
213
171
112
192
167
115
150
212
172
172
150
181
172
175
193
135
212
123
228
160
206
112
165
208
135
245
170
112
187
171
112
137
184
158
220
212
208
192
130
196
172
131
239
172
150
147
168
208
164
150
112
112
208
216
207
150
112
150
201
165
115
123
164
175
217
112
187
112
217
150
203
174
182
112
208
171
121
123
121
150
214
121
156
121
112
278
123
165
112
218
121
263
202
150
150
172
150
150
115
165
172
167
172
156
210
226
150
130
189
187
224
158
130
208
115
112
237
181
231
115
121
135
196
170
193
150
150
150
112
208
170
150
150
121
121
177
112
150
164
135
136
225
171
121
237
208
240
174
236
181
172
276
150
121
171
150
195
115
237
239
150
172
143
112
208
123
150
112
130
230
121
159
121
115
265
170
112
150
150
228
165
167
150
194
124
150
112
194
164
137
147
121
112
208
150
172
150
192
165
176
202
121
170
193
177
179
123
170
220
112
205
112
196
220
251
172
167
150
112
112
112
123
226
112
121
220
193
186
194
229
150
208
128
210
164
181
213
112
237
229
112
130
231
131
112
137
165
208
147
156
181
240
231
147
212
170
121
186
170
211
209
136
171
153
172
228
227
150
112
176
172
135
210
232
202
170
159
207
112
255
208
171
121
147
181
137
150
208
112
121
150
158
150
124
206
150
217
172
150
131
171
194
121
235
112
150
170
150
150
195
156
164
121
176
210
201
181
112
225
143
112
158
150
208
202
147
181
167
112
112
172
136
136
121
135
176
228
219
194
276
193
206
143
150
181
172
174
263
186
192
165
150
121
147
202
191
215
215
171
174
174
203
167
232
135
240
236
275
211
167
189
209
150
128
210
208
228
121
168
253
239
208
167
172
158
195
177
215
172
136
170
199
150
112
167
172
150
176
170
168
252
160
144
218
212
170
121
112
218
244
112
123
193
219
217
211
174
121
165
266
147
231
112
187
208
181
259
207
172
210
150
150
112
143
186
170
121
158
165
172
195
146
121
165
278
121
179
121
176
171
150
178
123
121
136
186
176
208
152
130
239
147
150
208
112
268
175
170
150
245
218
170
243
208
167
193
112
150
228
156
158
150
172
121
189
150
121
150
152
223
170
192
164
171
200
176
131
123
208
170
165
156
205
198
150
170
168
194
170
174
167
164
254
112
150
165
195
150
220
124
240
156
201
165
168
167
131
284
210
187
228
224
192
210
167
170
165
121
179
121
150
150
187
164
121
131
115
208
112
228
208
167
121
194
150
150
121
150
150
150
171
171
177
121
115
167
150
112
172
175
194
192
112
112
262
112
193
172
175
172
112
194
170
121
136
158
171
150
181
160
207
186
200
193
150
112
150
243
137
112
208
112
279
164
237
225
239
150
208
208
150
182
208
150
170
178
201
194
152
176
264
218
136
121
112
195
121
172
135
194
112
250
150
176
123
217
112
147
150
168
158
178
208
112
228
172
194
179
112
123
202
165
167
174
195
232
123
112
167
171
179
143
150
150
231
172
228
177
150
112
135
175
194
156
192
150
168
112
194
112
203
112
147
203
170
208
212
165
115
224
135
158
150
204
192
170
179
170
121
195
194
165
150
112
176
226
167
150
172
208
150
194
150
170
229
112
128
150
220
112
163
172
112
231
172
147
176
217
167
112
168
172
121
187
150
177
172
195
263
112
225
147
158
194
263
150
170
171
172
167
135
112
201
203
130
176
203
124
172
167
150
261
171
225
121
219
195
121
187
112
207
150
121
172
123
202
184
181
226
121
172
171
121
121
192
202
156
208
121
170
202
241
112
212
226
227
164
150
172
167
172
196
208
121
182
165
115
121
135
112
263
123
243
135
228
150
156
210
150
165
170
242
203
121
150
123
146
194
202
121
171
175
121
115
201
258
147
112
181
259
201
150
112
176
167
208
237
197
218
121
193
193
123
124
201
112
137
122
150
177
150
124
123
237
230
143
194
217
121
275
150
203
229
189
236
147
150
276
135
193
150
143
164
115
112
150
159
112
150
150
196
255
194
203
192
203
147
131
179
228
229
195
112
207
193
193
143
210
165
170
237
123
192
197
210
213
121
123
231
167
214
121
174
231
195
228
150
152
208
150
174
150
121
112
166
123
215
123
189
150
228
121
170
112
175
165
123
177
172
121
160
112
112
150
240
233
208
121
245
167
150
150
210
229
165
156
228
150
150
174
164
208
240
193
130
112
165
223
112
170
164
212
164
212
121
150
150
165
112
172
150
203
208
123
150
245
172
176
112
150
167
121
220
150
216
207
192
170
176
112
186
171
172
137
203
243
202
190
121
152
225
112
232
237
123
195
255
215
208
150
115
208
150
121
194
208
195
205
112
172
150
147
210
250
263
153
158
239
202
167
257
208
172
112
158
208
231
187
233
112
150
112
195
210
172
239
226
112
136
208
143
237
123
121
200
171
186
218
165
121
112
239
194
228
152
233
159
162
158
250
201
150
112
194
186
167
233
198
150
150
194
205
255
203
150
121
112
194
112
172
195
147
136
165
215
165
171
208
150
121
112
207
152
208
195
240
112
167
130
175
212
239
170
190
150
150
121
150
228
181
172
164
123
164
121
202
214
215
212
177
240
189
208
208
220
112
210
150
186
112
195
210
217
203
167
187
158
194
112
112
167
186
193
194
135
225
175
187
150
230
121
137
159
194
223
172
167
170
150
159
158
181
193
123
167
143
150
121
186
208
112
194
160
165
208
164
208
231
124
135
171
232
150
181
150
150
121
177
158
159
172
150
115
255
112
172
167
214
170
158
288
136
175
150
165
150
112
164
121
112
123
150
121
152
158
112
168
215
179
150
135
243
220
211
193
236
219
121
244
194
195
208
193
208
176
156
179
220
112
115
172
185
187
167
274
161
165
224
219
121
194
193
228
137
150
150
187
112
112
172
255
186
135
115
165
165
167
168
161
112
208
172
147
150
160
167
135
199
123
237
121
121
228
150
167
210
150
163
186
137
173
210
208
160
171
121
302
128
186
165
112
225
112
210
172
196
171
112
165
150
150
134
161
227
217
195
177
194
205
150
215
150
112
167
170
201
177
217
186
112
121
226
112
232
176
220
231
165
170
112
201
112
150
121
170
112
121
123
208
112
152
112
150
137
164
174
121
279
193
112
150
121
216
112
150
214
172
165
270
212
165
181
135
228
159
186
112
121
167
150
193
171
165
208
121
194
172
174
121
150
158
179
172
123
237
237
121
208
170
204
150
186
172
162
115
150
112
160
263
121
250
112
170
150
121
112
167
112
175
128
112
112
112
228
121
208
230
112
208
302
195
136
150
250
159
226
144
174
121
237
208
208
170
210
231
192
228
121
150
237
112
192
196
194
210
172
172
143
112
164
181
167
175
136
112
226
228
172
167
115
172
167
150
167
236
186
112
208
165
208
171
202
128
121
121
112
252
115
250
195
176
228
112
189
112
173
167
167
150
130
226
159
231
198
217
186
121
208
112
136
196
229
115
272
150
115
121
208
121
147
208
231
218
143
167
201
147
167
136
171
210
265
269
230
172
112
136
238
218
218
208
210
150
208
231
212
175
179
136
208
169
187
239
208
228
150
198
171
150
172
176
225
112
205
164
220
235
143
124
152
172
171
121
152
208
150
112
203
115
171
186
177
112
176
172
170
172
203
112
170
121
157
186
186
161
112
150
137
150
186
121
216
121
147
135
228
205
214
220
240
172
121
172
170
160
135
139
136
255
165
136
267
227
121
121
170
208
242
255
193
167
225
112
208
174
228
255
112
168
112
202
112
219
203
229
207
170
171
235
172
121
237
150
171
193
232
150
220
121
186
193
174
164
194
237
239
201
152
130
210
278
176
181
178
150
170
164
156
144
179
217
206
150
206
112
167
112
185
302
112
121
205
171
194
167
158
208
237
254
217
252
212
207
210
112
123
121
167
170
165
231
150
112
277
183
130
112
208
123
112
302
189
218
210
217
202
175
186
137
216
123
205
171
208
123
223
231
176
152
112
212
208
171
255
174
197
167
150
170
210
121
232
144
291
172
165
221
121
278
186
278
228
237
170
150
150
201
170
162
112
195
272
172
112
193
194
253
342
167
167
115
172
172
219
150
237
198
165
167
282
305
202
194
223
121
164
208
206
112
194
165
170
150
208
177
137
112
170
167
150
182
150
172
256
136
225
123
150
171
186
121
135
176
135
164
158
123
181
198
213
208
112
130
186
227
112
121
186
150
123
210
123
150
218
112
123
175
150
167
233
167
231
208
112
159
167
167
112
196
172
121
170
212
236
170
150
158
135
227
208
194
150
170
202
193
208
152
159
186
202
112
156
115
195
195
170
150
121
240
112
112
167
121
230
220
168
264
187
170
194
112
150
199
208
144
250
168
219
137
167
150
123
123
123
121
139
115
170
190
143
220
167
208
177
137
228
167
244
172
228
115
223
150
267
187
243
177
146
202
160
121
162
243
214
121
121
172
112
121
174
165
150
167
150
250
112
208
112
172
112
172
160
167
167
192
112
176
172
112
124
171
167
208
176
112
208
171
112
188
176
167
112
158
213
121
208
150
237
186
164
112
121
208
217
170
150
183
136
170
171
150
189
150
186
193
112
233
159
164
150
121
194
150
262
167
137
150
214
167
228
112
172
167
150
167
207
202
194
150
115
167
176
196
123
112
203
208
115
202
181
115
112
135
150
220
172
115
115
150
255
205
187
150
172
172
150
210
121
112
139
193
112
158
228
150
112
130
150
171
150
210
255
171
115
150
217
172
208
196
222
194
194
172
174
112
208
170
150
172
203
228
174
193
171
192
167
186
123
170
171
150
176
203
150
115
195
228
157
201
156
172
171
121
217
177
175
115
187
181
121
150
172
178
150
112
121
137
171
181
121
194
150
239
178
268
186
121
257
189
150
123
159
212
194
150
112
205
170
112
171
186
115
123
147
150
170
112
250
215
210
242
164
112
201
167
210
170
202
121
189
123
244
112
150
207
152
181
170
150
147
167
150
154
112
219
121
202
165
150
172
112
123
150
202
229
121
121
150
239
112
124
121
205
121
194
121
150
214
150
176
167
176
112
112
162
226
112
299
208
150
123
121
208
157
150
193
112
165
112
186
208
193
150
156
223
181
121
205
165
164
164
121
167
167
208
181
158
137
150
150
160
115
242
208
121
276
121
121
225
112
207
158
112
167
166
234
240
150
207
212
123
208
112
175
193
193
189
121
112
121
123
143
112
208
112
167
187
167
170
203
167
137
186
193
207
172
137
212
208
270
121
123
202
150
170
194
228
212
112
164
167
203
233
159
150
150
165
146
208
181
121
121
112
174
179
135
167
136
121
171
208
228
208
228
271
112
212
202
167
128
112
208
167
237
173
150
217
243
121
192
164
237
195
185
112
152
112
184
263
194
236
250
172
185
186
136
203
167
172
186
123
170
240
168
123
121
212
172
123
177
124
121
156
263
124
172
130
212
112
219
281
219
177
172
207
112
172
124
243
170
150
199
112
205
123
196
158
112
187
228
172
123
254
121
194
170
170
171
172
172
165
186
121
187
141
172
177
112
233
121
150
170
223
112
175
112
150
226
121
172
219
208
220
112
152
208
201
112
186
150
112
167
181
112
121
181
164
208
255
153
272
170
186
112
112
195
172
176
172
150
121
208
171
196
130
253
240
167
181
112
141
187
197
212
172
236
207
193
135
150
187
167
150
112
112
112
204
171
135
205
124
171
150
178
172
274
112
166
210
150
150
219
192
121
186
177
121
121
172
172
156
208
215
150
150
171
123
255
187
112
112
183
150
165
208
130
170
121
150
112
304
121
171
123
150
123
135
156
167
195
121
172
229
208
208
121
123
228
195
112
121
165
150
123
112
150
157
208
165
121
137
159
121
238
121
135
195
228
150
177
194
172
194
255
207
215
228
121
242
186
121
115
172
186
203
150
150
121
112
208
219
170
112
220
170
210
181
135
121
187
186
170
139
112
150
112
231
137
112
215
196
167
202
258
187
171
112
183
128
172
112
219
167
272
150
171
121
208
112
179
143
167
235
172
258
131
228
121
115
203
239
112
250
147
237
121
186
150
165
194
112
176
167
150
208
225
208
167
177
194
112
243
302
150
150
212
208
208
224
172
121
199
172
121
150
212
170
276
150
194
187
136
189
192
123
112
243
187
209
258
201
112
167
243
170
170
147
207
121
121
208
171
208
195
250
147
186
136
112
150
186
150
121
175
123
150
172
195
167
186
130
112
112
150
150
161
121
181
172
171
208
250
218
214
165
250
112
150
112
172
121
201
274
112
302
195
201
195
228
186
112
165
112
172
245
150
150
250
232
168
205
150
123
207
184
172
172
235
258
150
156
194
195
112
187
208
123
257
112
167
238
189
150
208
232
240
164
219
150
250
170
121
174
172
159
121
165
121
112
172
201
263
192
115
200
121
171
172
124
112
170
158
121
137
146
167
193
258
172
112
175
135
193
147
174
150
186
121
171
147
112
208
121
112
182
194
186
201
193
112
123
160
170
226
250
192
208
137
172
208
176
112
210
121
237
112
194
228
123
202
193
194
215
256
174
182
150
150
177
112
243
202
121
123
208
229
176
136
181
121
176
121
237
262
174
172
233
147
186
160
208
170
234
135
150
210
194
135
208
165
123
175
174
181
186
150
112
208
152
165
165
203
249
196
196
208
160
189
231
202
136
228
150
195
121
123
171
233
193
112
193
112
150
250
170
171
147
167
217
112
159
121
150
217
150
112
112
203
158
112
222
175
170
181
201
218
123
150
250
172
237
204
123
123
195
208
123
121
175
208
168
201
128
150
112
152
170
135
195
184
130
194
228
121
112
212
186
172
216
172
150
170
203
253
121
160
150
150
172
172
157
187
170
187
243
121
228
208
187
136
247
115
208
121
276
195
121
121
220
220
190
150
232
181
172
112
152
229
147
201
186
123
201
150
263
112
171
123
239
170
123
184
201
121
181
121
217
171
206
174
150
238
170
209
171
112
135
220
112
196
194
237
159
121
208
195
123
205
237
112
201
187
176
167
208
219
239
230
255
137
121
194
162
167
167
150
212
194
227
150
176
193
165
170
115
239
194
171
181
121
123
121
135
161
112
203
279
121
159
158
172
202
150
115
135
219
171
121
208
219
112
176
112
158
212
228
172
121
195
193
121
172
121
150
171
208
112
172
115
121
194
194
208
209
255
112
208
175
156
172
128
160
211
194
162
150
228
150
181
150
194
231
218
112
121
192
150
186
167
202
193
150
112
203
121
121
135
176
112
167
176
121
250
217
184
150
208
236
162
228
112
210
167
174
121
278
208
193
150
150
135
112
171
208
150
122
167
284
170
207
170
121
150
217
112
150
302
112
208
150
177
202
170
150
226
228
235
137
181
208
150
121
201
171
150
150
240
121
241
137
240
208
112
112
208
147
177
208
150
112
167
112
112
172
171
210
121
208
250
187
150
112
174
112
172
124
210
121
176
121
167
159
121
135
255
201
236
177
130
150
302
195
208
203
208
121
196
150
150
124
165
121
187
112
203
112
211
194
115
156
112
228
226
150
150
150
186
172
112
123
209
170
276
167
150
208
115
115
205
123
193
150
112
168
232
181
121
205
177
150
219
112
171
150
170
136
201
181
147
203
208
236
170
176
123
112
208
194
112
204
163
194
121
150
150
226
156
167
213
112
150
200
179
172
150
112
236
128
144
121
171
112
123
170
150
211
112
201
135
144
124
265
150
197
136
170
192
123
250
164
112
136
135
170
123
194
208
121
165
130
112
135
147
131
195
214
144
167
121
201
167
172
208
193
150
137
209
158
128
145
135
214
177
150
124
121
208
171
202
159
178
112
167
135
150
209
150
181
167
167
123
193
195
208
210
121
195
177
171
121
174
112
172
131
181
173
181
187
202
193
112
232
208
201
152
150
182
150
171
208
121
171
223
121
150
167
112
121
193
165
172
160
253
172
208
194
176
208
250
195
160
136
172
205
150
136
171
187
159
150
194
177
208
167
243
121
172
171
233
208
218
177
208
206
176
175
218
195
279
210
276
229
184
150
231
121
181
174
194
186
234
202
150
158
112
208
150
181
130
194
115
150
112
121
152
203
165
228
135
193
137
150
157
215
171
150
152
112
171
136
164
228
172
220
208
130
210
121
112
112
208
112
196
156
202
227
165
112
167
209
201
112
112
150
123
158
225
182
121
115
115
208
228
243
121
124
168
230
195
112
131
195
112
184
233
150
158
228
130
121
171
112
174
136
204
165
135
123
239
135
150
124
121
208
112
150
165
150
194
176
240
121
218
167
165
207
201
205
239
212
165
181
167
156
171
136
150
226
165
136
115
219
150
214
123
112
123
178
239
186
172
212
208
112
128
172
194
208
212
112
184
311
192
152
199
112
150
171
112
121
171
179
123
228
150
152
135
176
266
255
137
121
172
218
135
112
194
212
196
228
208
112
165
121
123
239
200
150
136
208
165
136
121
179
121
228
176
167
150
250
184
112
112
172
208
135
150
128
342
208
171
112
128
237
121
112
150
255
170
209
136
229
202
123
184
165
232
112
170
161
150
112
186
150
194
158
112
200
208
201
150
170
172
231
200
250
150
195
210
255
194
208
172
143
158
121
202
172
167
195
171
112
172
225
250
187
302
171
112
250
237
181
112
121
192
181
235
121
170
136
207
206
181
112
193
217
177
150
187
202
150
233
223
261
170
210
210
212
193
204
181
238
172
218
171
172
112
112
167
189
205
253
193
181
187
112
226
137
208
112
112
112
164
112
123
144
205
112
170
121
191
112
172
167
181
123
150
112
238
196
194
112
195
130
159
172
115
193
195
167
143
181
158
194
135
196
228
150
150
170
276
150
112
208
150
121
123
171
150
181
175
174
135
202
177
278
165
165
158
150
123
175
112
219
208
135
208
208
202
172
121
185
165
171
159
158
134
195
205
132
189
171
176
194
123
121
121
143
268
172
150
202
161
150
212
237
150
121
121
115
172
121
195
150
112
195
130
158
219
202
208
204
196
136
170
235
144
136
181
167
167
135
196
255
121
144
239
176
208
195
177
208
112
136
135
208
228
150
152
123
237
263
174
112
236
209
170
112
210
158
179
135
121
121
231
135
130
229
150
115
172
167
172
152
208
152
171
160
135
121
167
302
208
276
172
205
192
112
156
150
172
115
112
202
112
121
112
150
176
210
193
242
176
263
297
112
189
208
192
188
181
190
147
171
206
177
115
124
208
225
167
112
121
165
137
174
150
177
112
170
112
150
172
208
212
193
182
194
167
234
177
121
137
208
167
115
167
245
279
150
181
208
203
112
150
228
121
150
182
123
177
218
150
194
208
121
170
150
208
215
181
123
123
255
250
214
176
175
220
207
202
195
219
201
115
168
137
170
190
171
193
167
150
150
182
147
193
186
150
274
170
112
174
112
212
233
152
128
170
194
202
238
121
195
112
112
147
150
202
150
194
172
147
121
208
176
130
143
158
208
205
160
170
150
170
112
162
208
135
150
176
229
181
212
140
121
150
150
203
150
136
150
172
202
217
225
172
165
226
112
112
112
220
112
219
225
194
167
186
137
218
208
208
165
237
124
121
232
157
194
208
150
210
186
123
210
205
121
208
211
226
150
150
165
255
181
228
195
150
218
170
231
170
237
203
112
225
208
135
255
147
150
181
112
150
121
121
194
165
190
215
158
208
250
172
228
121
143
175
243
112
194
192
159
121
164
172
121
121
204
170
229
167
150
208
187
183
195
167
171
185
150
112
181
168
194
136
171
135
165
220
150
170
121
115
231
112
224
239
159
211
135
112
278
112
172
220
186
150
150
202
121
203
121
150
203
174
236
253
176
123
171
150
172
167
225
177
150
218
172
215
150
165
112
112
187
121
177
165
112
167
195
172
150
208
150
250
167
170
171
150
217
157
208
150
179
184
167
150
218
112
150
198
208
112
195
208
121
181
150
177
228
212
150
190
187
171
170
147
255
150
112
205
181
189
235
167
150
196
194
203
171
136
171
195
121
181
121
150
212
229
112
220
112
150
136
150
150
284
144
112
205
276
171
150
130
143
172
112
121
230
130
115
265
172
137
112
121
231
208
112
212
152
137
170
237
150
150
165
171
150
172
150
171
208
112
170
168
205
207
246
121
197
186
135
150
112
263
176
150
194
187
143
186
245
123
146
112
167
112
112
167
150
203
297
172
194
168
181
210
121
217
167
167
181
208
192
186
160
181
172
121
176
123
272
143
172
236
112
121
226
121
282
177
144
112
244
121
228
176
170
171
194
214
231
150
150
150
131
112
177
171
190
208
238
112
115
167
194
172
112
121
177
150
161
150
115
150
219
112
170
150
167
168
165
112
150
160
187
112
150
172
193
112
115
240
162
202
171
121
273
184
192
150
150
150
193
112
198
124
135
194
193
150
159
236
150
121
241
159
165
112
121
208
210
137
192
194
172
112
165
152
150
121
212
176
112
184
203
150
202
156
121
171
167
216
165
171
150
181
171
215
165
242
170
121
172
208
150
150
237
150
193
150
112
150
112
112
157
112
135
225
232
121
136
184
209
112
204
176
112
137
212
302
220
278
150
150
150
208
150
220
181
195
256
165
121
237
225
150
208
112
150
203
226
150
112
137
177
171
167
112
176
150
144
188
136
217
220
272
208
172
195
135
159
195
175
112
150
150
240
167
213
183
208
170
238
136
147
159
176
195
164
198
135
165
121
168
150
172
208
161
150
171
225
136
226
164
213
167
250
239
207
176
218
225
112
112
165
210
176
159
121
147
121
170
167
150
164
121
150
172
172
130
123
218
121
147
205
174
205
233
226
150
137
232
150
124
163
255
145
121
112
150
162
201
112
150
121
172
112
150
135
172
150
137
112
150
232
237
132
121
194
112
176
299
208
213
121
121
228
208
228
220
135
175
112
152
112
208
121
168
165
178
194
121
212
158
208
187
226
170
174
135
207
207
112
201
203
208
158
223
150
160
219
195
190
216
209
177
115
121
188
121
187
150
194
177
121
121
135
167
112
202
170
112
232
268
132
171
137
238
192
160
195
112
139
128
176
198
156
112
203
195
121
121
167
193
150
121
112
184
208
121
167
167
176
171
121
208
206
128
172
112
171
171
165
243
186
207
112
143
121
115
171
156
121
135
208
150
115
176
210
171
177
170
174
270
150
123
171
165
177
176
115
232
172
112
150
175
112
123
172
224
170
150
243
167
130
150
112
124
192
160
228
167
271
174
167
270
172
121
150
195
203
112
272
112
170
167
195
255
210
167
245
123
181
190
167
115
121
193
150
150
112
193
167
219
193
150
228
252
150
217
194
192
171
191
159
121
202
158
168
174
112
136
112
136
228
276
220
121
174
136
147
172
259
121
184
194
150
171
121
165
121
172
208
263
202
208
192
165
170
210
205
135
215
112
208
192
164
240
170
121
181
167
278
196
240
150
147
176
171
170
228
150
112
203
236
195
130
121
150
112
175
202
175
124
167
150
194
112
158
160
233
231
112
194
172
167
212
208
201
165
256
176
176
121
112
208
201
121
217
252
150
202
228
210
121
112
121
228
221
177
189
208
124
167
250
228
150
195
167
150
193
194
231
208
181
172
194
184
177
184
130
212
235
147
112
150
168
174
181
136
121
218
193
150
186
121
164
172
176
278
181
203
196
217
176
232
202
208
139
212
167
112
171
158
112
255
167
115
135
212
112
167
135
219
231
193
189
172
150
175
230
213
278
167
203
172
237
210
112
228
213
159
121
121
150
237
112
176
190
189
237
172
167
186
172
150
150
150
208
121
172
223
147
237
203
167
230
135
207
194
237
115
149
150
208
170
208
137
137
121
193
124
115
174
245
150
184
174
112
164
168
185
184
216
208
170
150
233
112
136
231
237
219
112
208
156
150
112
150
245
150
253
234
130
121
165
176
276
112
208
170
121
150
157
236
171
231
144
121
164
121
150
152
202
160
225
112
164
121
150
181
176
189
174
250
210
124
150
220
201
112
112
178
150
135
254
112
194
150
150
212
299
210
167
208
170
167
158
225
112
172
172
233
135
172
131
276
135
197
208
150
150
167
121
233
150
172
192
112
202
121
150
172
231
123
182
228
210
192
247
121
171
177
171
150
218
229
228
176
169
112
121
181
186
121
207
193
121
181
276
112
176
150
167
205
201
112
212
243
173
124
233
176
181
194
128
172
112
174
226
150
175
121
212
121
172
244
164
150
218
121
243
170
172
192
136
135
167
150
150
172
112
245
208
282
150
232
123
231
167
186
167
112
202
115
130
194
196
219
208
167
170
161
167
150
123
181
213
150
208
124
112
231
219
210
203
121
181
212
121
136
150
208
213
193
150
121
167
121
266
165
124
202
112
235
167
195
194
123
164
150
158
112
150
167
181
219
150
150
201
170
152
121
112
278
150
260
193
172
181
150
150
255
112
112
208
302
121
112
224
123
135
150
167
112
160
150
160
194
263
150
208
195
164
150
167
150
121
177
137
137
182
121
207
168
158
112
121
206
150
222
112
150
112
136
121
121
112
239
201
150
150
186
150
150
136
123
208
205
238
165
189
193
150
208
152
159
165
186
172
112
171
203
172
208
181
208
176
233
172
112
112
225
150
264
167
177
167
175
137
208
160
158
177
115
128
172
156
187
112
179
167
168
179
240
160
165
237
150
121
182
203
225
208
137
176
147
237
201
243
152
165
150
135
215
245
137
177
150
186
164
121
135
193
184
124
226
150
210
121
237
121
167
156
220
150
208
164
164
242
165
208
212
225
150
193
167
137
187
158
206
176
152
167
172
201
164
112
172
253
250
228
172
121
212
194
208
215
121
186
172
112
121
123
192
150
121
167
156
167
112
128
112
112
161
121
236
193
208
112
201
121
177
150
131
172
170
171
203
167
187
208
165
219
172
123
172
168
208
146
152
170
172
202
187
186
170
158
208
171
137
167
171
172
165
124
207
167
231
150
208
219
150
123
128
150
208
123
167
201
171
171
203
150
242
177
193
189
172
181
302
121
150
168
172
150
233
194
201
150
194
176
123
212
194
150
260
171
194
167
168
181
150
164
233
250
124
147
112
165
237
175
158
121
186
167
165
150
121
210
112
226
219
147
201
202
208
187
243
210
150
158
147
112
208
112
150
157
150
121
228
112
194
150
208
167
210
219
257
170
195
207
152
181
164
121
204
208
150
208
164
150
177
232
181
168
150
150
121
150
150
167
212
243
158
171
150
171
128
112
267
156
112
115
216
112
136
150
159
147
150
112
158
208
228
150
240
204
165
124
208
167
195
112
150
137
243
207
207
194
150
256
150
136
178
220
240
165
112
193
208
150
112
147
136
167
121
208
278
124
150
176
150
208
121
130
156
152
112
172
208
239
265
123
144
171
226
167
141
189
210
194
121
279
208
112
181
228
197
164
224
208
124
235
166
135
167
150
210
115
171
150
237
150
176
150
146
170
115
150
194
112
186
176
121
194
167
112
209
228
130
186
208
158
150
112
150
194
302
215
115
174
121
193
135
194
152
201
174
150
190
150
121
208
190
170
121
194
181
231
237
172
164
172
150
181
167
147
135
168
147
112
147
187
150
158
115
115
235
165
150
150
170
230
150
212
228
123
172
112
260
195
181
112
251
135
136
147
176
211
112
187
187
167
208
171
112
177
212
156
225
150
228
150
250
172
150
212
171
208
217
212
112
167
250
167
156
150
268
231
121
186
210
281
167
135
181
192
194
227
150
177
193
165
176
136
255
194
172
150
137
208
177
161
128
311
215
167
239
219
165
150
147
112
200
112
150
208
150
112
170
208
130
150
158
245
237
208
194
135
207
143
150
205
123
150
165
123
112
237
172
158
150
195
233
223
202
202
194
177
208
137
123
141
220
165
121
213
121
115
168
172
121
229
158
150
121
181
167
211
186
137
194
170
240
147
204
150
172
170
112
203
170
164
206
160
112
278
112
237
176
167
193
152
121
195
214
212
150
123
194
172
250
112
170
121
115
112
194
150
149
208
208
231
181
228
137
187
208
150
255
158
190
194
150
150
176
150
143
150
171
160
231
121
112
221
186
121
237
172
195
176
150
164
167
112
195
201
121
121
208
172
211
208
190
112
217
124
112
179
229
208
212
121
112
150
220
203
231
180
121
112
121
136
172
232
242
193
237
226
247
193
174
112
112
193
167
112
193
146
201
150
167
150
171
185
112
172
121
170
167
165
170
135
171
150
150
208
121
150
136
150
167
112
159
220
228
135
150
123
112
172
137
121
232
164
167
136
165
174
195
167
112
112
250
192
121
208
135
213
208
172
172
266
204
150
167
197
170
203
131
203
240
208
208
208
186
203
137
171
235
172
172
158
242
159
130
112
174
171
150
150
165
172
121
225
219
150
165
150
239
184
167
176
150
150
210
172
121
171
175
160
167
182
249
150
164
176
237
121
225
128
217
167
112
177
112
112
231
112
205
136
203
150
164
150
181
231
150
121
201
217
171
172
112
299
144
198
123
150
208
228
171
159
172
150
150
165
171
214
192
212
208
176
144
205
208
150
112
207
124
302
150
194
167
195
253
208
206
112
299
212
181
187
179
112
155
112
203
184
112
209
150
135
160
112
171
231
202
112
150
167
112
233
112
112
121
150
150
150
255
189
137
195
228
112
194
199
208
199
158
152
147
186
147
121
201
292
160
187
158
150
171
137
276
187
121
121
150
123
208
186
123
172
170
167
176
115
135
167
121
215
202
236
121
212
208
172
195
186
150
178
152
167
190
112
258
136
208
150
150
112
150
167
130
181
121
167
171
121
172
137
201
112
159
150
167
187
220
263
112
135
186
123
112
150
167
170
176
172
153
229
112
182
165
187
112
170
195
208
150
186
175
245
243
176
231
231
150
121
225
115
181
202
171
150
112
186
194
181
130
194
212
250
193
121
123
257
193
112
171
194
167
215
160
172
150
165
137
136
123
195
208
220
195
150
150
250
167
170
176
252
174
160
112
217
208
164
121
201
226
193
202
195
150
167
150
112
150
115
171
302
177
208
121
150
171
167
121
123
147
170
170
203
112
225
136
172
147
165
150
261
210
167
226
121
217
212
192
171
112
201
150
208
172
150
159
150
228
136
220
121
172
150
156
112
207
210
186
135
200
202
112
177
167
136
233
135
150
218
150
112
121
123
203
208
150
238
112
147
112
189
165
150
150
233
123
216
167
137
235
217
178
215
194
167
115
123
124
203
172
208
195
231
187
215
269
172
205
232
167
121
150
123
230
225
150
208
208
112
201
245
147
174
121
208
230
179
121
150
121
112
149
238
165
121
112
194
165
112
228
201
195
208
203
202
150
186
229
206
228
172
150
112
135
179
150
167
147
219
170
201
263
208
203
150
115
236
193
174
210
165
123
210
112
250
228
177
167
242
136
121
112
195
143
165
194
167
164
167
135
176
137
112
150
193
150
172
211
150
112
156
165
157
159
208
202
121
150
165
168
182
203
121
112
150
171
230
172
150
226
171
172
112
150
194
263
121
139
193
208
121
184
243
267
226
170
152
150
124
172
150
150
218
121
226
219
121
170
112
147
121
214
181
150
121
121
121
202
190
192
208
208
165
112
170
121
255
150
150
202
121
150
123
136
150
115
147
180
231
150
172
167
176
124
150
276
156
214
187
165
137
225
172
176
167
203
187
170
121
150
150
112
202
232
121
150
194
208
150
172
172
167
150
177
112
170
164
150
115
123
250
208
194
112
179
170
195
171
150
200
160
159
179
196
171
208
124
115
172
167
176
150
208
306
228
165
176
194
176
228
121
172
150
208
128
226
134
171
208
112
158
228
174
172
150
147
112
167
225
250
219
241
255
172
208
164
210
170
266
174
156
263
208
112
150
121
147
167
123
302
194
178
210
150
112
241
225
150
135
147
255
121
223
135
250
225
184
136
121
193
112
202
208
207
121
150
172
137
150
181
150
167
177
150
228
153
121
172
172
226
112
187
181
189
170
220
150
177
123
236
115
172
167
212
216
206
160
170
131
211
172
124
123
187
112
208
206
150
192
121
176
171
221
231
112
152
130
265
150
115
176
262
171
247
208
167
198
240
276
150
121
195
242
121
192
171
208
164
150
215
121
152
176
181
193
195
201
176
177
177
186
171
214
135
112
121
131
171
262
167
124
147
231
228
216
150
161
225
112
121
112
225
167
121
172
121
215
131
150
167
123
217
135
123
112
112
170
215
167
203
112
176
159
164
112
156
186
194
112
112
181
150
158
167
150
150
194
112
241
245
172
237
171
121
121
115
170
150
212
112
171
121
168
143
208
167
144
172
115
264
112
174
121
220
152
112
170
263
204
212
123
121
172
152
121
150
121
172
171
195
176
208
159
208
201
201
174
200
112
219
123
172
150
170
150
211
297
237
164
168
211
281
123
197
158
237
121
202
208
250
164
186
274
210
218
177
170
150
175
167
159
124
172
159
208
194
112
195
165
112
190
112
208
243
239
194
165
240
164
152
150
194
121
181
112
186
121
236
121
208
208
164
171
215
194
197
150
229
165
207
184
130
159
172
250
135
121
175
158
236
167
139
172
159
123
121
171
112
150
226
171
211
229
167
147
245
143
186
205
170
150
192
208
196
237
150
123
211
170
208
121
208
167
165
121
150
186
124
167
230
228
171
165
164
190
112
150
227
121
124
172
121
172
225
202
156
186
172
112
196
123
137
121
176
172
167
193
127
112
115
210
147
168
143
115
150
220
150
193
176
112
212
233
152
195
112
178
228
150
135
112
164
208
208
112
115
189
150
150
121
121
236
202
135
123
123
123
150
152
176
167
201
165
165
137
239
239
219
147
201
170
255
172
237
234
115
194
172
112
115
156
253
172
177
172
172
123
115
167
150
128
150
121
135
171
112
193
147
171
177
184
150
160
208
254
112
137
210
112
171
150
252
165
167
112
171
239
121
237
176
208
150
150
208
137
121
203
123
135
123
112
168
150
112
195
112
121
112
165
176
121
112
181
302
251
250
150
216
136
240
172
229
170
112
174
241
115
167
194
167
150
167
208
150
228
186
189
121
150
174
150
271
212
218
171
150
199
150
172
135
220
112
275
211
186
202
123
123
186
123
150
150
176
112
165
203
112
115
240
255
121
202
228
279
181
208
150
150
208
150
167
121
181
136
243
170
216
167
150
170
218
226
163
172
150
225
121
150
172
121
208
210
164
231
121
172
150
258
170
134
178
167
208
150
167
181
150
172
172
150
181
174
232
254
228
174
208
112
156
115
160
172
217
174
121
123
242
112
202
226
230
112
123
208
215
181
192
123
165
160
181
172
208
170
172
150
121
212
184
112
194
156
121
176
222
194
231
178
233
203
201
115
121
150
218
186
192
172
186
176
149
220
255
250
158
156
217
187
165
181
150
208
170
150
121
159
150
112
121
194
179
194
181
200
186
237
170
167
121
255
167
263
197
172
237
203
220
279
158
121
137
226
115
201
207
226
203
212
165
181
167
132
195
263
150
208
115
212
112
186
112
112
170
165
150
172
171
150
112
112
168
174
250
210
112
225
244
208
112
135
137
208
171
124
171
210
167
112
216
220
207
226
170
172
136
150
208
170
212
208
181
218
195
150
208
137
121
236
121
150
252
159
123
193
150
195
245
174
210
150
255
223
208
150
136
112
123
186
150
195
207
123
214
226
214
201
220
186
202
121
223
123
121
123
195
121
171
170
215
172
221
165
150
210
258
156
150
181
208
137
202
175
242
195
193
112
150
150
250
123
209
144
161
176
150
205
112
181
167
112
176
210
208
170
172
167
112
194
170
195
167
150
112
208
225
136
176
208
194
152
233
165
167
174
112
165
263
190
206
195
201
170
172
194
177
158
170
123
123
174
237
160
172
150
265
167
231
150
232
181
192
229
170
208
184
135
205
112
274
150
208
112
112
112
112
150
202
136
174
172
202
150
124
170
167
203
150
202
121
150
236
165
121
121
194
194
150
212
194
112
274
181
194
135
112
194
164
112
181
112
112
135
160
121
160
115
158
232
167
217
161
170
150
195
112
112
193
143
195
172
218
212
174
150
112
176
115
150
275
220
186
112
172
150
159
176
232
187
182
210
150
189
203
187
171
177
172
195
217
150
112
231
170
123
171
203
172
237
172
146
150
186
165
208
197
231
150
237
250
226
174
195
150
150
112
170
228
215
164
172
167
121
185
210
167
208
150
209
150
150
121
115
207
171
112
256
135
202
208
194
170
229
250
143
130
112
150
208
226
219
172
237
150
121
150
226
181
187
121
145
212
189
123
156
215
219
170
187
182
112
165
112
121
136
150
121
239
135
167
167
150
203
112
229
192
210
128
226
136
219
208
242
226
150
201
172
186
172
123
143
137
194
174
253
167
130
219
271
171
121
167
217
208
170
241
194
136
176
302
137
187
202
239
150
121
208
193
158
165
263
161
212
208
208
150
223
230
281
112
165
226
121
175
112
165
212
239
223
178
150
208
112
181
147
195
226
150
163
112
170
228
226
207
143
152
112
210
170
226
115
242
186
121
201
167
167
196
233
157
167
167
172
276
172
195
211
208
150
181
167
206
121
214
150
250
150
134
139
150
112
121
172
112
150
112
112
258
150
174
150
112
112
195
164
172
187
173
147
165
253
171
171
302
150
123
170
172
195
121
164
177
207
112
235
194
167
158
201
195
112
150
135
216
208
176
194
112
238
199
137
210
150
171
165
150
186
257
181
112
210
190
234
177
112
171
170
160
171
157
175
302
165
150
112
121
121
150
186
112
217
147
220
181
174
276
172
167
165
208
210
112
228
112
212
181
150
187
233
150
158
167
184
250
172
179
171
199
165
193
220
203
210
194
176
206
225
150
123
137
171
175
159
165
130
121
172
176
143
121
201
167
194
218
190
121
172
112
176
121
186
112
143
171
165
156
168
193
136
121
193
186
228
150
208
211
121
225
136
123
156
156
112
112
174
167
207
112
135
121
237
228
150
176
176
190
181
134
201
147
123
112
167
231
112
112
195
130
130
150
172
150
150
137
112
167
168
195
112
160
228
112
174
172
165
121
213
112
194
124
121
237
181
150
171
167
204
255
174
150
150
193
112
112
186
233
194
172
171
121
115
112
137
228
167
160
147
135
172
150
240
112
160
112
225
207
172
123
225
170
244
213
115
121
130
172
150
184
172
187
136
150
175
175
224
186
195
147
171
194
121
194
215
150
165
172
194
135
150
208
170
250
150
277
121
147
159
250
170
213
170
135
150
231
202
172
195
171
123
202
227
236
121
135
136
171
170
164
214
150
233
225
199
228
187
171
112
144
226
121
208
112
112
121
201
170
150
112
121
172
194
208
248
172
233
124
175
150
123
150
150
159
112
228
186
228
158
172
139
193
167
189
165
170
193
239
165
150
167
112
164
203
245
194
172
203
156
176
186
208
150
121
167
124
135
171
257
165
121
164
237
137
144
112
217
181
121
121
121
210
212
208
150
167
121
112
172
205
193
208
263
172
150
176
150
208
177
112
158
150
121
172
124
150
208
181
121
172
150
150
112
112
150
123
196
226
121
233
147
150
150
150
187
170
208
264
207
121
168
112
146
172
166
202
150
156
193
192
170
135
150
208
121
196
112
121
179
147
121
112
184
174
172
194
208
176
258
208
172
255
112
170
172
232
121
121
150
112
218
172
170
144
165
150
210
171
181
203
112
165
121
193
171
263
112
144
167
112
167
121
121
172
121
165
150
147
150
160
112
150
170
121
237
112
219
184
208
195
194
186
250
192
172
115
112
112
224
112
195
212
195
212
121
121
121
112
150
150
194
199
204
299
172
172
218
225
225
202
208
244
181
121
172
212
170
240
121
177
208
181
176
160
186
175
207
172
150
112
205
194
170
150
121
170
217
186
174
269
208
208
210
150
195
135
112
147
228
135
181
121
150
194
208
171
150
243
175
112
212
171
242
282
167
121
167
150
181
195
230
250
200
172
150
176
210
228
192
240
121
124
215
212
174
150
202
208
150
208
135
112
255
112
209
185
171
193
230
112
157
194
150
121
194
187
121
170
176
250
216
121
150
202
208
194
150
223
112
181
167
121
123
255
234
161
181
150
150
141
167
193
191
181
183
186
225
176
121
150
121
112
137
184
112
172
206
161
171
112
165
112
112
173
150
112
112
150
177
193
208
152
121
201
128
172
165
228
234
177
167
193
208
167
172
195
112
210
159
236
150
208
121
232
167
121
172
135
112
167
208
123
173
147
208
168
175
201
176
124
208
228
112
167
241
147
228
181
115
200
210
170
231
147
172
123
187
208
218
172
167
171
150
175
177
237
176
215
112
195
167
121
156
164
124
112
112
200
112
186
160
144
202
170
152
172
208
282
229
170
181
156
272
121
187
217
201
170
207
164
112
194
214
112
121
232
217
168
158
150
112
164
228
121
191
152
191
208
150
208
158
187
124
167
206
150
150
115
121
220
139
201
112
150
123
124
175
217
150
150
150
121
202
201
168
170
201
177
175
256
121
172
194
202
186
208
172
177
123
194
172
136
247
121
181
147
167
168
214
121
150
158
150
115
159
150
194
150
112
237
112
137
115
147
171
278
165
192
135
115
159
150
182
234
196
218
112
112
174
189
121
212
112
164
121
220
112
179
185
112
170
187
179
181
135
172
150
171
112
121
218
150
194
167
150
123
194
150
172
168
167
176
167
182
187
194
130
219
165
150
172
150
206
187
210
124
237
170
143
112
112
112
170
160
112
150
172
172
216
160
210
237
240
150
172
190
124
136
184
136
205
112
210
255
146
172
112
253
172
179
213
206
172
171
137
150
203
193
226
150
275
210
208
288
174
136
194
112
228
112
150
150
175
168
187
167
112
194
115
171
121
217
150
228
121
224
150
216
234
228
186
181
170
208
137
139
170
121
291
226
157
164
112
160
192
112
231
174
163
176
181
112
167
208
202
135
172
217
137
112
170
150
139
185
208
115
181
136
156
112
150
220
160
229
194
152
112
176
137
231
121
135
168
158
164
150
208
121
242
202
171
167
232
112
233
171
194
150
150
174
150
181
137
217
112
150
150
172
121
167
135
165
210
176
124
159
172
123
230
255
171
183
115
150
171
112
156
208
208
165
123
112
121
167
208
150
170
171
150
216
205
170
172
115
121
250
195
194
121
263
192
156
165
216
177
182
192
115
121
150
205
150
177
150
216
217
208
167
195
150
203
135
112
192
170
250
150
176
212
262
276
150
123
195
176
150
194
229
112
164
112
172
121
176
123
212
176
157
187
208
281
193
219
263
208
172
171
201
123
150
170
171
150
186
136
171
171
189
172
123
281
159
244
150
210
167
228
150
170
115
172
123
203
121
150
167
170
150
159
112
112
170
201
208
143
241
177
174
195
121
202
172
212
121
167
172
174
167
128
178
123
150
112
150
112
165
209
175
112
220
165
170
112
228
194
170
150
175
150
250
172
225
168
150
171
276
124
226
208
202
220
203
193
124
207
186
112
172
150
150
121
201
202
158
237
112
217
130
150
230
208
168
112
272
150
112
112
181
137
179
194
121
174
121
156
115
199
170
181
195
121
167
167
112
220
171
204
193
147
135
150
144
172
172
152
164
217
135
121
150
112
208
150
205
212
150
121
237
121
195
121
123
112
224
172
192
112
186
236
219
150
123
172
220
150
187
121
172
233
187
159
112
165
150
123
150
136
250
187
170
184
144
150
240
115
192
171
217
167
164
136
167
115
172
150
146
208
167
112
167
137
172
210
112
218
171
121
137
221
150
112
213
208
121
226
158
177
112
213
208
177
112
150
255
112
228
181
150
181
121
212
203
121
150
112
112
237
226
167
112
157
212
123
150
233
178
135
115
209
147
157
176
208
202
234
167
219
228
137
231
179
212
187
150
136
150
170
150
115
112
229
121
220
121
184
144
171
208
112
123
225
249
176
247
201
216
172
171
150
173
189
231
221
179
244
237
208
208
128
215
112
146
213
167
112
220
195
112
130
135
187
164
194
274
204
212
238
112
195
237
123
123
279
150
123
112
176
170
158
178
135
121
170
121
150
128
135
209
176
121
208
187
228
121
171
260
165
178
165
176
178
223
112
208
121
186
121
150
121
192
112
237
150
123
202
112
192
167
201
245
195
205
123
150
177
150
170
112
150
194
150
170
112
112
194
167
167
150
150
250
160
150
121
225
112
177
112
194
217
112
215
124
150
253
150
167
174
168
195
225
203
170
208
124
170
193
227
213
250
189
228
121
202
194
237
124
237
112
112
172
128
124
201
135
186
112
206
175
260
121
196
212
150
196
121
150
195
301
112
172
150
176
152
208
193
136
112
112
208
123
121
228
121
150
228
147
187
194
187
150
194
228
164
165
172
137
121
194
167
208
196
112
121
171
192
181
187
218
128
208
186
186
218
231
177
137
112
150
220
171
164
112
187
233
208
251
112
177
115
115
147
228
208
112
175
218
202
170
190
202
123
147
164
143
172
112
112
112
192
239
210
164
143
167
150
121
112
172
208
112
158
180
232
112
112
150
181
186
112
171
181
150
186
211
189
168
210
173
226
217
167
194
172
193
112
171
172
250
123
167
241
150
228
121
147
208
193
168
242
177
123
112
160
121
193
193
186
135
203
186
186
229
176
160
193
156
150
203
213
250
167
136
187
219
167
150
112
206
147
239
187
172
246
128
144
215
183
210
213
208
247
112
172
208
124
170
121
135
136
208
171
115
171
112
112
150
112
195
150
302
217
159
147
195
150
150
167
171
228
236
171
121
150
164
112
150
172
241
150
208
234
223
181
167
159
150
123
264
167
136
228
150
150
177
136
115
208
168
152
174
187
174
193
218
217
128
208
208
130
208
202
159
210
112
174
150
147
184
212
150
167
135
121
150
167
135
121
202
170
195
172
121
112
150
112
121
172
194
165
121
170
196
233
226
121
202
189
112
173
164
128
167
150
181
203
150
174
112
150
172
135
121
128
150
176
152
194
112
150
123
208
121
175
168
278
121
208
112
172
150
136
210
201
228
172
201
157
164
228
220
147
121
182
150
121
172
199
121
130
121
210
186
176
193
158
208
186
172
121
177
121
112
170
150
150
181
121
203
170
144
123
228
222
179
135
165
170
167
170
136
152
181
123
178
128
192
255
150
150
112
115
176
216
112
270
171
210
219
208
150
150
215
164
205
170
204
186
174
195
208
170
214
159
112
165
211
201
243
202
112
193
150
121
150
160
143
115
167
135
178
228
257
172
208
150
208
276
150
152
156
152
115
165
150
218
201
179
160
150
121
172
187
112
167
123
195
214
186
264
112
215
112
212
170
123
250
135
170
112
219
112
231
243
172
208
156
187
112
193
123
208
219
165
195
226
202
208
257
194
186
121
150
150
150
193
240
171
167
136
171
202
243
150
181
202
231
112
150
229
170
177
209
202
159
156
228
238
136
172
150
196
175
170
208
237
209
150
150
254
112
194
144
121
240
147
215
121
121
121
135
165
136
112
112
219
112
130
192
208
172
171
135
136
143
167
121
167
112
172
150
208
167
165
150
208
115
167
150
174
150
112
172
137
112
112
123
150
112
185
121
224
194
195
176
196
112
112
208
210
194
121
174
170
190
208
172
150
172
192
167
115
150
194
170
233
150
172
239
165
181
210
228
175
255
150
137
115
115
181
172
203
208
172
239
121
121
150
172
228
137
174
174
242
177
227
179
150
170
208
242
130
121
228
143
202
172
196
123
192
121
198
261
175
124
115
250
144
128
186
171
192
150
112
217
174
194
176
225
220
121
202
202
160
193
225
214
193
174
147
193
121
219
208
239
246
112
264
225
170
165
231
150
150
237
165
194
196
237
136
176
112
228
190
172
160
165
152
172
172
194
170
186
112
234
207
208
112
193
128
214
176
150
112
185
201
210
196
160
150
171
150
192
181
150
124
174
172
186
135
123
263
181
150
181
237
130
228
214
161
212
208
150
237
181
187
165
187
181
233
172
121
208
150
170
160
175
170
167
193
229
208
219
121
121
186
150
112
189
250
165
112
150
167
222
159
156
187
112
165
172
121
246
207
121
121
170
233
196
257
177
181
349
195
194
150
112
198
150
192
121
171
172
172
150
172
201
161
159
195
172
160
121
220
160
150
170
170
121
171
227
121
171
227
121
164
166
208
212
150
112
186
123
203
160
121
172
159
181
123
150
205
171
194
177
171
212
150
165
141
178
112
186
172
167
172
171
115
123
170
150
131
150
220
212
121
192
208
260
112
170
193
165
150
223
112
187
167
215
210
214
210
179
112
194
231
171
121
196
150
112
139
193
194
212
208
172
121
176
136
187
121
164
123
181
150
237
159
167
186
170
121
194
210
167
159
194
121
184
196
168
158
210
194
217
170
137
193
158
136
167
159
123
150
159
150
165
208
186
121
121
172
167
124
160
213
121
196
112
137
159
150
123
112
212
206
265
167
121
123
135
225
242
284
168
208
123
123
200
112
185
150
215
165
147
121
274
234
213
196
121
130
121
121
228
145
209
121
194
152
175
241
260
121
171
160
174
112
112
170
181
150
208
231
150
232
112
112
121
219
136
239
115
156
150
202
135
195
167
208
150
210
121
135
208
121
193
181
269
150
229
181
208
121
194
162
220
112
186
172
192
123
224
201
150
158
143
210
150
150
209
207
172
171
176
195
112
150
112
172
172
202
150
177
172
195
165
171
136
150
179
176
168
121
208
229
208
193
228
201
150
112
172
121
254
202
135
121
213
208
121
136
172
181
208
181
147
157
193
150
233
112
158
135
237
174
170
123
208
150
186
299
211
136
177
150
115
150
150
167
172
150
228
121
150
211
196
248
121
124
150
195
112
237
137
112
185
208
160
121
143
239
208
172
115
263
121
150
168
147
165
164
259
196
201
172
121
124
121
174
225
226
150
165
150
112
150
208
112
208
206
217
185
172
158
201
167
150
195
164
123
276
234
172
232
121
195
182
237
123
219
236
123
128
150
243
185
230
210
167
112
187
228
150
237
115
112
181
160
137
218
135
121
204
220
150
135
208
150
238
170
112
175
150
177
186
160
228
112
136
194
177
172
236
121
208
202
208
121
128
135
121
167
172
194
150
208
212
141
150
172
159
115
159
112
137
150
230
164
123
250
220
143
150
112
121
176
210
112
176
115
201
176
210
181
177
233
147
196
150
228
225
203
158
165
208
136
220
150
193
172
171
156
136
172
176
137
159
121
139
208
208
158
231
128
186
199
257
172
228
124
150
143
121
150
228
161
135
187
112
187
170
214
177
231
167
200
150
150
115
124
201
208
121
167
240
150
203
210
112
233
115
211
150
150
112
159
228
112
121
195
150
121
226
172
219
170
150
230
238
176
170
150
135
237
150
150
172
186
172
112
177
136
150
121
210
177
181
238
195
135
182
160
187
124
172
167
203
165
208
171
112
208
112
121
121
242
171
278
171
274
121
257
112
194
167
150
176
178
195
112
229
179
121
179
150
171
150
170
135
121
243
150
218
121
203
179
194
233
160
150
137
135
208
150
112
208
208
112
150
150
192
179
202
169
218
202
176
234
186
208
112
281
150
226
184
146
200
189
320
235
201
236
208
150
207
121
136
193
177
184
164
211
253
192
150
150
289
150
174
112
177
208
176
150
172
229
257
121
136
112
177
150
135
150
208
171
237
218
196
112
112
208
121
172
176
165
136
112
112
150
193
112
198
150
150
217
168
172
237
135
112
198
112
170
240
150
150
181
150
226
158
147
171
174
112
147
150
150
195
150
165
177
219
121
112
223
167
115
167
150
257
158
203
121
193
260
156
150
194
218
241
161
195
208
177
265
168
170
193
162
176
121
208
112
150
219
150
208
177
255
150
201
201
121
274
170
147
115
150
167
112
112
172
170
167
150
150
168
208
150
150
202
112
172
261
147
186
135
177
112
143
147
165
209
150
228
112
112
231
150
276
175
121
121
167
225
302
231
250
172
181
150
232
165
136
150
205
189
237
165
302
177
170
184
194
146
135
193
150
112
167
170
128
220
172
172
147
165
228
208
194
131
170
150
112
225
115
218
150
220
170
121
174
235
208
210
276
147
174
150
187
150
175
212
250
112
170
112
112
165
167
215
176
194
176
167
228
186
150
171
205
136
194
150
220
121
121
165
171
150
136
172
174
146
226
201
203
165
220
161
202
210
192
171
112
194
163
172
240
171
255
249
236
214
172
240
112
121
172
167
179
171
193
217
231
224
112
167
206
195
112
167
208
176
225
121
175
218
112
216
208
121
167
194
196
135
160
150
312
181
195
121
212
121
208
121
150
158
195
208
164
243
112
164
241
123
212
121
201
194
171
263
205
150
167
217
276
150
164
150
112
121
150
279
135
121
135
231
121
184
170
194
184
112
121
150
150
178
233
150
172
175
181
121
176
174
150
186
240
115
172
112
208
121
147
193
194
203
205
150
220
121
181
176
156
200
193
165
195
194
218
150
150
150
153
171
112
192
186
170
164
112
160
137
128
150
121
121
194
172
228
228
176
208
121
150
156
150
121
187
150
150
208
112
195
150
228
275
170
208
208
121
121
156
181
137
124
150
167
201
150
187
115
128
203
265
160
264
121
175
147
165
167
168
170
181
112
231
181
172
150
165
171
239
218
112
115
275
203
115
121
181
192
208
208
164
121
137
145
112
121
213
263
171
161
150
112
187
260
112
124
121
150
219
181
112
233
112
167
123
223
228
135
228
199
152
172
187
167
208
159
194
168
171
165
112
171
177
171
167
238
175
187
208
150
203
112
172
123
150
147
121
167
210
171
128
263
147
112
150
239
165
112
201
201
112
179
177
181
266
201
167
167
187
177
176
232
167
121
194
176
147
175
201
194
237
150
229
112
165
212
172
240
150
158
128
227
219
224
150
175
150
112
121
179
156
217
123
135
165
170
136
171
150
215
147
165
195
203
212
227
171
135
164
208
211
165
150
171
217
150
121
192
214
112
121
165
165
268
150
150
167
302
250
150
152
171
121
208
112
208
239
150
193
112
172
168
185
135
205
172
220
195
165
150
150
194
201
195
199
167
253
112
112
165
112
123
165
195
232
250
135
143
208
121
231
165
171
164
243
208
237
176
121
274
194
193
150
170
112
162
200
193
139
123
112
150
121
121
165
112
150
121
121
239
121
212
136
187
192
112
254
168
112
250
123
194
171
174
136
220
150
112
112
228
256
160
112
171
172
112
197
112
150
175
187
150
170
165
164
190
216
174
115
237
216
203
172
123
253
193
261
167
231
217
165
207
203
217
164
193
121
171
176
176
158
167
181
121
187
193
150
195
172
171
160
186
205
121
112
186
172
150
174
165
121
202
158
112
178
135
208
181
255
112
207
263
112
150
177
225
208
204
172
208
231
164
237
157
121
137
170
167
136
195
186
121
147
144
211
206
206
170
150
112
150
150
150
150
135
144
195
112
128
150
186
208
208
112
187
172
135
136
186
121
121
240
150
112
121
168
165
193
150
204
127
150
112
153
205
158
172
156
186
193
208
276
170
170
121
171
121
186
162
150
210
121
220
237
172
159
112
203
302
177
132
167
150
214
213
171
124
172
112
168
112
150
150
233
121
170
231
115
172
121
176
170
210
121
150
167
205
168
112
121
196
172
112
208
136
121
183
124
237
249
121
150
128
177
168
219
121
186
167
112
112
165
121
121
186
177
237
212
121
128
199
121
172
195
150
150
226
220
171
150
150
194
231
147
123
136
171
206
194
210
112
167
217
171
194
150
115
150
182
150
150
121
195
171
248
150
193
202
194
150
161
176
112
217
112
202
270
208
177
208
147
165
176
195
150
193
195
225
178
202
121
150
121
112
218
208
112
229
241
250
181
208
185
168
172
130
112
187
228
202
150
121
150
121
207
208
158
121
150
112
123
123
239
171
166
128
186
192
112
190
193
112
181
195
214
208
181
186
150
115
171
172
170
112
247
167
112
219
164
150
121
165
150
189
229
208
225
195
165
170
195
136
115
217
112
237
112
220
274
150
150
172
159
201
178
203
192
217
123
195
171
167
112
181
225
121
213
150
147
112
147
165
210
184
150
150
112
150
124
150
239
150
170
112
181
177
297
210
150
189
186
226
194
204
192
121
201
278
172
147
194
176
112
203
112
121
302
112
176
167
205
121
128
150
150
165
150
165
168
112
121
112
194
121
167
167
210
257
239
168
224
232
218
150
203
112
150
232
191
255
112
175
150
165
165
130
218
123
210
195
165
186
150
121
150
216
158
167
167
171
112
220
219
150
263
167
121
181
178
112
112
194
152
243
112
147
176
150
209
112
172
172
150
123
208
168
112
235
181
208
167
112
157
128
150
150
121
150
112
172
170
162
150
174
160
172
150
123
112
150
150
225
164
112
194
158
210
181
150
121
112
121
121
208
172
112
168
208
228
255
188
202
210
181
165
176
150
150
150
136
192
147
170
172
147
234
208
164
228
112
210
121
238
209
193
212
150
237
115
176
174
112
202
147
143
167
112
217
193
150
212
137
167
167
187
195
172
237
226
150
231
172
150
174
208
208
160
194
170
121
172
217
224
211
170
112
219
218
143
165
208
195
213
150
137
219
210
228
123
262
239
165
228
218
156
183
175
195
176
170
165
172
202
112
147
185
195
172
112
112
112
181
123
167
237
172
172
176
158
152
194
213
165
150
193
150
204
197
187
165
239
254
167
195
203
123
171
234
150
195
150
112
145
209
123
214
121
172
171
227
176
193
164
172
112
168
112
150
210
170
121
150
150
170
218
210
167
203
193
181
112
150
136
121
186
250
172
123
172
176
231
112
150
158
112
278
156
194
231
136
208
177
121
237
112
128
159
150
194
201
171
121
167
147
160
168
237
147
209
165
115
181
181
112
115
212
179
208
136
247
171
163
212
208
205
135
123
228
115
150
165
237
220
220
172
150
172
223
150
160
171
195
206
121
249
171
207
228
115
115
121
194
260
215
112
203
123
150
237
258
165
158
213
121
136
123
123
186
112
167
181
228
203
239
112
253
172
123
165
121
208
121
213
172
194
112
219
208
182
172
232
137
208
168
123
176
201
150
163
220
112
220
258
208
182
186
193
176
112
150
208
208
156
215
164
178
201
237
165
187
193
219
167
150
189
165
161
208
195
193
195
208
150
121
194
121
193
135
208
193
186
112
202
165
150
175
150
136
226
150
195
171
124
217
150
135
223
159
112
194
208
177
158
156
170
112
167
205
201
150
250
112
171
152
228
203
236
167
112
147
207
150
218
208
165
167
186
171
189
176
157
167
150
143
150
150
177
257
202
193
170
209
208
158
208
212
172
123
172
170
195
196
265
210
202
202
121
121
121
112
171
302
121
172
231
165
150
302
121
228
171
215
123
181
170
112
193
210
150
121
165
170
208
209
172
167
150
219
186
157
201
121
282
208
135
150
183
115
181
170
112
209
121
200
220
150
231
112
195
229
231
212
112
168
150
150
167
137
150
174
112
150
208
123
225
172
112
205
159
171
152
186
203
223
121
243
250
201
203
165
170
284
121
171
150
195
214
202
275
121
239
272
168
203
179
143
176
170
175
112
194
130
237
170
178
121
171
216
181
171
229
150
167
150
121
167
150
160
242
203
152
192
121
164
147
208
112
112
219
150
121
150
159
185
208
201
186
228
202
172
175
208
208
121
158
212
174
237
219
186
167
172
189
194
121
112
123
240
150
176
181
121
165
157
160
201
193
136
168
112
189
171
167
112
143
189
128
170
265
121
150
220
240
172
137
171
176
212
150
121
150
135
165
163
150
208
158
208
121
213
208
167
112
150
187
181
112
112
194
187
123
150
150
139
215
217
215
237
112
150
195
220
187
137
300
112
187
211
255
212
170
181
176
228
150
213
186
123
170
121
259
168
137
167
175
186
170
150
237
171
181
171
226
208
225
229
166
194
136
130
240
121
115
136
176
217
224
150
193
150
211
195
121
255
187
208
170
170
121
225
150
181
228
167
193
121
228
195
121
175
112
208
164
123
172
208
147
219
168
195
167
165
112
136
158
135
255
150
147
112
203
194
150
210
112
219
136
150
150
176
158
202
150
219
150
130
194
112
172
168
112
181
212
207
189
194
195
144
121
112
130
208
167
150
112
186
177
167
239
123
136
150
112
220
218
152
220
121
190
243
159
112
112
157
237
135
143
174
208
194
121
150
194
150
172
176
167
208
201
172
218
123
150
170
150
150
181
168
160
212
112
170
237
193
112
121
147
194
123
115
150
137
291
121
193
170
150
232
150
185
139
150
172
164
176
121
167
230
144
187
174
172
167
171
181
171
170
243
243
200
172
137
170
208
186
190
112
250
230
147
208
208
199
121
150
150
123
112
172
216
177
193
150
207
121
208
174
255
158
172
121
228
171
150
167
170
159
238
194
143
150
208
146
208
175
167
112
121
230
171
165
121
158
172
171
150
260
208
188
195
201
229
177
172
231
137
187
121
187
112
150
134
150
167
187
172
128
218
181
150
150
150
201
212
115
171
194
150
121
150
172
167
150
128
150
205
112
216
112
112
137
158
239
150
128
124
121
112
150
201
167
135
198
254
123
164
165
217
176
207
171
170
187
202
237
137
123
172
186
208
150
121
165
121
213
156
136
112
250
208
230
112
210
112
150
235
159
177
172
135
162
121
176
240
167
170
150
203
112
244
112
176
150
219
150
157
208
150
187
176
192
121
186
150
150
192
218
170
212
219
172
187
194
121
150
234
152
128
245
176
147
230
221
167
202
254
181
220
202
193
257
216
187
150
164
167
112
219
208
208
171
141
172
195
210
115
130
121
112
121
281
212
123
123
137
195
195
172
189
112
123
150
145
201
208
150
172
258
164
265
112
235
263
174
115
167
170
165
167
150
196
150
256
150
150
137
187
208
171
115
181
207
121
237
172
208
167
195
150
112
228
270
215
228
121
170
172
150
172
121
112
208
210
121
112
128
170
208
209
150
167
187
137
226
192
236
194
250
172
209
203
218
225
170
136
171
150
112
237
190
240
186
135
212
158
170
115
156
150
171
236
112
172
167
172
121
218
208
212
150
229
164
202
121
266
123
172
167
112
112
150
194
210
228
150
202
112
208
121
220
170
185
208
172
201
181
121
161
198
157
149
112
112
121
112
205
112
208
189
275
181
121
112
112
150
123
172
287
144
167
167
187
250
210
176
150
150
171
171
150
112
213
121
212
194
208
208
210
181
196
190
172
112
231
186
112
152
121
150
124
112
215
237
219
218
150
150
150
123
170
183
210
150
214
167
167
241
147
164
201
172
238
121
174
218
204
150
181
172
172
171
165
167
189
156
212
231
237
183
201
112
147
167
181
175
201
152
177
121
112
220
177
176
150
223
137
160
167
172
135
174
207
170
158
164
172
150
206
228
217
167
230
137
229
135
171
112
172
150
208
215
176
150
112
210
250
121
227
112
231
176
178
193
192
121
220
187
238
112
187
171
177
123
208
156
210
112
121
150
165
218
167
137
150
150
208
263
172
202
205
263
172
167
130
190
150
150
218
172
112
152
174
121
170
112
150
208
167
112
121
150
168
170
121
159
188
230
112
123
168
237
220
112
150
203
150
207
208
186
266
263
228
193
297
171
150
194
112
112
205
170
150
202
112
187
121
150
121
202
112
121
112
165
150
112
170
167
167
201
167
181
212
150
186
121
156
172
276
186
150
165
223
263
135
207
170
164
159
186
112
150
243
170
258
237
112
202
226
276
177
227
170
121
181
179
196
112
185
194
172
121
171
112
197
121
150
115
228
187
121
207
123
181
167
214
236
137
171
121
121
115
112
168
150
172
172
225
205
150
172
240
208
150
195
115
150
193
167
112
164
255
171
172
208
181
150
176
170
112
123
171
150
167
160
239
263
171
242
150
184
205
194
137
203
164
171
170
193
112
186
160
171
181
160
194
121
185
150
193
115
172
136
121
231
208
137
112
203
137
112
135
150
130
147
208
192
121
202
150
195
171
194
164
160
208
112
150
202
172
237
150
202
228
171
112
208
208
137
124
203
123
150
186
237
239
121
176
255
211
121
208
242
235
172
208
112
121
265
186
172
136
150
150
176
137
121
112
170
194
176
159
112
156
186
172
112
187
150
176
220
121
112
121
112
150
123
112
150
208
186
220
187
172
194
181
165
201
172
159
220
150
179
203
112
121
121
172
121
165
121
170
150
218
176
167
150
235
130
170
193
201
225
227
127
213
170
175
208
121
170
193
152
171
121
172
150
171
212
124
172
115
167
193
150
165
274
226
229
216
150
123
165
167
172
170
161
172
172
171
228
231
170
150
177
123
123
136
170
238
139
171
121
143
121
150
174
178
239
112
170
243
170
141
130
194
112
220
226
112
186
193
227
112
194
130
171
232
286
179
150
144
160
170
198
121
112
112
150
231
178
160
160
135
131
112
172
150
112
201
150
165
150
152
172
112
196
161
156
192
263
189
181
218
177
112
223
229
228
240
112
183
136
176
186
123
181
210
112
202
243
171
219
258
237
171
121
201
194
156
172
137
121
244
150
223
203
208
128
215
128
228
207
186
228
136
121
167
228
187
150
137
203
223
181
182
158
147
240
121
226
194
208
112
130
128
228
150
155
217
167
112
210
259
231
255
208
170
121
171
208
170
177
210
187
123
150
181
203
208
219
112
150
112
202
233
174
135
239
136
158
150
172
121
112
159
112
194
229
121
219
172
220
189
159
121
136
214
121
208
150
218
143
181
112
208
228
201
175
112
130
194
144
172
121
190
219
135
172
121
112
170
187
123
121
160
165
150
202
121
228
240
187
121
172
199
152
121
237
210
208
255
170
135
172
160
215
124
237
150
193
150
150
121
208
167
212
160
208
186
225
167
167
132
121
171
123
194
147
150
171
150
112
121
112
201
203
217
201
195
219
115
212
215
272
167
165
136
121
157
203
143
276
150
170
123
121
208
123
150
215
208
236
112
206
121
172
237
164
150
165
121
150
143
219
150
235
167
235
201
137
121
156
202
193
121
158
203
165
170
170
217
172
150
150
195
172
228
136
201
167
195
167
237
152
181
165
208
208
158
164
121
150
165
165
216
171
194
226
208
123
228
178
164
112
207
194
150
172
184
193
260
150
181
223
170
194
165
203
302
239
198
250
150
201
170
121
228
218
137
193
112
231
194
167
172
167
156
172
210
124
152
159
258
136
213
235
208
164
194
214
237
121
115
208
112
147
121
207
112
240
167
121
124
164
167
208
181
231
159
171
203
150
158
192
212
112
250
123
121
208
167
170
137
243
220
112
201
146
121
165
167
213
147
167
137
165
209
135
216
159
167
228
202
208
207
225
210
170
175
137
121
150
170
121
150
212
187
121
231
150
231
172
121
121
225
150
192
139
170
115
150
181
297
150
188
263
150
195
194
200
121
147
181
167
237
170
202
278
211
243
135
121
130
208
115
192
172
168
143
172
167
172
167
187
150
217
112
219
245
112
172
124
158
112
143
112
230
112
237
170
121
202
238
112
230
172
150
208
208
144
135
112
167
123
189
137
156
150
150
168
193
230
186
160
123
208
167
259
170
170
235
121
156
170
115
150
208
162
150
170
178
193
150
226
286
170
121
112
276
150
201
182
121
208
150
181
186
195
194
232
228
219
163
210
165
172
147
237
195
202
112
181
137
112
136
242
167
121
150
203
112
150
228
181
168
205
246
170
137
176
176
242
158
150
152
239
208
172
181
150
189
121
150
158
225
121
202
121
121
150
150
150
208
150
230
150
165
218
244
263
214
216
112
170
194
174
232
121
137
150
208
123
228
150
225
172
123
172
208
112
150
147
150
121
174
150
189
176
208
208
164
135
203
250
156
228
214
234
176
123
189
150
112
150
240
136
112
137
112
150
121
150
160
172
137
208
267
150
174
167
194
150
136
121
239
208
208
179
220
192
112
121
195
137
258
150
150
195
160
228
164
194
150
198
124
250
112
219
121
187
187
165
121
202
208
209
150
208
150
168
224
259
112
172
150
121
193
123
150
208
112
194
203
123
135
217
172
137
121
194
230
192
167
190
172
202
165
147
170
172
158
167
150
135
150
112
152
173
172
170
172
190
195
217
145
112
172
186
121
208
181
170
115
210
121
208
170
150
121
220
237
219
225
177
121
167
112
174
172
178
208
172
172
212
208
150
112
135
150
165
232
123
112
121
175
214
150
150
156
112
112
167
228
228
176
150
167
195
123
170
171
164
135
158
228
150
174
277
172
201
152
170
188
191
137
112
112
150
112
181
220
136
112
181
137
112
121
181
205
139
228
150
170
237
202
220
205
208
176
121
177
124
159
207
170
121
121
194
203
194
219
232
208
250
237
208
112
150
170
136
121
159
250
172
167
201
112
172
167
203
112
143
167
150
137
193
177
226
112
193
164
150
123
172
181
208
212
184
205
171
150
183
192
112
231
112
194
171
159
121
226
208
137
159
165
112
128
171
208
171
189
112
208
195
130
276
112
112
152
150
255
143
240
150
137
237
207
172
186
165
165
207
228
152
160
158
152
112
164
208
158
121
150
137
198
121
150
150
231
217
175
147
137
121
170
208
147
276
150
168
121
121
112
136
121
239
214
220
198
121
208
187
242
221
195
233
124
247
166
219
183
150
136
237
150
232
112
123
112
260
210
167
121
150
208
195
176
145
115
150
232
170
121
194
186
152
176
165
150
170
176
199
135
202
189
186
293
212
170
121
115
177
165
165
172
186
202
135
235
164
170
198
208
192
233
181
211
242
263
150
147
150
150
234
276
172
193
167
147
150
278
112
236
250
150
215
167
112
112
150
150
245
112
172
198
124
203
158
167
205
167
172
195
193
152
205
193
165
171
187
190
193
170
167
186
229
212
164
150
181
112
150
208
194
150
177
165
237
112
241
208
112
171
196
167
181
146
181
208
201
150
172
170
160
112
112
203
156
187
208
212
150
299
187
181
165
124
121
171
167
156
150
225
175
208
212
159
220
112
123
189
167
208
203
167
121
193
181
159
150
209
128
121
222
112
187
167
263
136
205
255
302
171
194
193
172
195
213
121
176
228
150
144
150
152
157
121
243
123
112
170
171
112
278
202
192
192
195
172
172
147
219
158
150
195
147
172
159
281
121
208
121
121
112
220
170
177
181
263
150
161
167
112
128
121
201
121
203
156
208
177
167
150
165
170
121
170
167
187
124
176
228
208
196
121
228
112
239
231
212
202
181
158
176
243
137
130
231
121
207
278
112
176
208
176
128
121
208
172
139
239
171
121
195
200
121
135
123
179
158
172
150
121
121
216
160
123
172
150
208
171
193
219
150
158
170
121
112
193
228
171
165
160
204
124
167
115
172
226
297
177
210
170
212
176
170
167
121
220
136
193
137
181
124
228
174
159
159
150
186
190
174
167
210
150
167
165
121
147
239
121
179
112
208
194
220
263
167
112
193
167
201
193
112
211
123
208
208
150
135
157
121
278
159
167
174
112
121
210
150
205
201
159
150
172
194
214
176
150
170
171
150
112
121
167
165
221
194
158
112
201
190
152
201
135
279
123
172
172
121
136
150
245
193
150
121
130
150
170
223
189
187
168
201
121
181
150
150
121
231
121
143
192
112
176
219
200
172
170
112
226
205
150
165
172
112
272
193
145
172
207
239
255
172
167
196
208
208
150
172
167
165
186
172
276
150
112
115
150
231
172
240
208
276
172
158
150
196
165
210
171
112
121
137
123
177
234
150
258
121
226
144
112
121
157
211
150
220
115
112
208
112
150
150
152
243
172
167
176
176
165
112
123
225
228
121
208
179
175
202
157
181
172
223
150
231
181
170
171
167
229
150
205
265
150
143
208
302
171
210
176
286
112
121
212
165
112
226
250
123
135
172
205
236
192
121
218
228
224
278
172
194
150
218
219
176
150
150
112
156
172
181
202
112
121
165
167
157
121
168
150
238
150
172
167
112
167
152
137
123
230
112
121
229
137
215
139
178
193
171
177
181
177
186
165
124
208
231
112
194
135
163
170
194
195
210
112
167
220
196
112
202
168
201
176
170
172
233
194
147
238
263
168
167
290
137
203
193
150
232
187
164
170
150
187
123
195
123
239
196
150
135
195
208
181
187
150
179
231
115
162
177
236
150
193
150
121
189
172
170
172
123
128
167
177
159
112
121
158
181
182
181
112
112
192
147
200
121
121
228
156
150
218
196
115
228
159
196
223
172
208
112
275
150
220
121
244
179
123
212
170
195
150
135
240
181
121
121
150
194
202
150
217
121
208
159
168
171
208
236
208
172
170
201
163
208
150
255
176
164
203
147
167
121
218
231
121
150
203
208
187
176
212
218
124
150
214
216
215
115
195
195
123
170
198
150
147
167
121
210
208
158
162
147
182
208
167
145
112
150
147
214
217
172
150
135
192
135
112
197
171
250
234
137
177
208
218
170
177
167
171
121
187
171
231
208
219
150
209
136
212
112
146
150
198
165
115
233
210
158
192
121
170
165
164
172
121
121
194
112
150
123
150
143
233
112
171
150
160
123
150
167
215
181
194
123
150
208
121
121
150
176
212
150
193
203
150
115
240
181
255
189
179
112
112
147
167
239
112
150
159
212
217
172
257
206
228
112
196
220
178
147
186
164
123
171
215
172
172
150
187
177
177
208
174
168
182
211
112
193
268
161
170
112
167
194
179
136
150
128
165
223
237
172
228
170
235
150
135
150
194
121
121
168
112
181
187
167
194
204
135
159
165
152
165
121
136
207
167
112
201
150
121
112
160
218
130
175
136
150
167
124
123
297
150
121
165
147
174
270
165
176
112
121
187
172
181
167
150
164
193
150
143
121
234
136
202
184
150
136
194
147
194
112
208
183
194
150
176
194
181
121
170
228
121
150
212
170
160
112
160
150
121
112
121
150
147
123
112
112
208
208
159
176
147
238
228
112
112
159
208
150
135
150
172
213
124
172
115
177
112
121
186
193
302
121
201
170
187
150
208
158
124
143
172
223
112
167
167
176
208
172
226
150
243
150
204
208
208
237
147
167
194
177
121
150
208
217
217
164
164
150
167
232
236
123
208
255
181
123
208
156
112
167
171
135
172
172
112
123
158
123
158
176
302
170
213
123
239
157
112
112
193
174
112
121
121
164
241
176
195
170
112
171
158
225
115
208
121
172
171
215
121
121
176
227
115
150
167
150
213
172
167
186
205
170
195
232
158
208
137
150
181
212
220
152
194
112
177
207
239
165
112
181
150
186
158
208
112
167
121
202
112
263
228
255
170
112
135
172
186
257
121
150
165
112
152
121
195
208
302
121
164
112
121
112
112
112
193
201
121
165
150
167
193
172
245
181
121
181
159
208
216
136
205
150
150
172
239
158
202
195
194
112
167
210
216
121
135
167
147
150
112
179
189
143
112
236
150
197
192
156
112
176
112
121
205
228
153
252
170
121
150
112
121
171
172
171
206
205
201
150
233
187
228
139
112
192
228
208
179
112
208
150
121
121
150
250
208
121
147
208
170
208
150
112
208
112
171
121
176
150
167
193
150
302
278
160
214
178
115
193
150
112
112
228
112
186
121
181
208
239
181
150
195
150
165
160
121
302
139
176
194
171
212
187
172
172
195
167
121
201
214
164
123
136
165
192
115
250
174
217
227
121
230
175
112
112
150
194
150
193
130
171
121
181
302
150
167
150
136
150
231
150
123
172
112
121
193
160
181
112
208
150
220
115
255
164
136
210
123
238
247
203
239
150
176
150
171
112
231
112
150
164
209
175
230
150
193
208
207
121
112
234
167
181
214
176
150
208
229
112
171
150
172
233
174
121
176
150
276
150
208
167
128
170
160
167
177
170
150
112
121
121
112
112
193
112
121
255
174
150
170
228
240
194
193
147
242
150
208
299
195
121
135
181
121
137
211
192
186
236
194
112
123
181
150
112
150
208
207
259
208
237
150
130
150
167
243
112
187
150
212
121
214
121
112
170
172
150
208
159
121
171
160
158
150
208
208
170
150
208
150
181
164
150
193
186
115
121
176
150
121
112
196
217
112
190
226
164
150
112
198
147
172
192
112
112
237
208
123
195
150
112
112
112
174
170
121
171
167
115
230
202
124
233
193
150
208
183
167
187
255
171
167
228
225
226
150
186
123
228
150
186
170
130
243
121
167
208
186
231
208
187
139
237
208
115
207
121
255
172
130
184
112
170
121
121
158
172
218
150
194
150
121
208
208
208
150
217
208
194
189
150
239
121
121
171
112
115
194
170
150
236
165
170
246
237
124
150
150
208
121
172
203
172
150
234
250
231
231
181
115
121
172
176
170
112
177
176
147
170
136
150
112
172
112
150
156
237
112
112
219
202
150
150
280
112
177
144
208
171
171
202
124
208
121
123
112
187
112
150
171
170
195
150
150
179
186
210
245
192
150
170
204
201
167
112
263
121
112
233
208
178
165
208
112
112
167
112
123
177
228
240
136
210
170
150
112
208
203
192
170
112
175
217
121
187
225
208
167
172
112
237
112
231
150
150
165
112
217
167
220
193
181
112
223
170
204
136
189
112
160
171
208
137
112
212
195
167
121
164
112
203
128
193
176
205
172
121
171
121
167
194
170
121
208
147
208
276
246
233
150
146
121
112
167
176
121
121
121
123
123
226
112
121
121
143
231
237
150
150
137
172
159
195
161
257
228
208
112
205
112
174
208
182
210
150
219
150
112
112
143
257
150
130
115
192
112
181
231
220
218
128
121
203
160
176
121
208
150
193
203
235
179
184
165
192
112
112
150
150
170
252
238
147
208
150
128
178
170
164
150
123
205
112
286
215
112
150
181
123
231
189
170
167
171
181
164
112
150
186
186
263
150
208
170
181
236
171
136
137
259
167
194
112
208
214
167
217
150
121
137
112
172
135
121
137
158
193
232
181
192
121
176
159
203
242
208
115
176
112
186
193
123
124
150
150
121
152
172
177
158
208
150
165
112
150
150
150
225
187
150
150
193
233
219
112
193
172
193
164
123
226
164
175
150
210
150
165
112
112
130
193
112
150
121
136
167
193
150
217
172
195
170
139
177
172
152
170
150
208
276
180
156
231
175
179
167
112
227
121
137
194
147
195
217
216
202
187
150
172
121
147
158
175
194
112
302
194
112
233
270
195
171
175
176
176
115
183
288
175
167
218
170
187
201
123
121
115
238
202
189
172
190
203
172
186
226
194
181
136
216
167
171
231
150
192
121
181
123
147
170
176
121
150
150
165
172
121
136
159
178
208
206
170
186
172
150
112
202
121
150
205
112
208
150
215
208
181
123
121
201
144
165
255
171
121
150
171
164
226
150
112
112
239
170
212
174
147
171
171
258
167
121
179
112
239
172
228
123
171
215
150
165
145
168
172
228
150
244
130
165
241
121
121
137
165
170
201
211
150
201
135
228
225
212
190
123
150
159
193
121
186
176
112
131
223
172
215
137
167
157
238
228
237
121
189
112
172
172
209
124
165
170
170
208
137
222
150
135
135
112
115
193
192
260
233
187
150
187
199
228
150
112
167
172
212
172
170
242
228
150
181
168
171
186
250
219
150
239
115
240
228
237
208
112
194
137
186
195
201
217
137
175
168
174
158
174
195
172
186
274
150
170
167
181
240
210
121
172
172
182
276
191
243
150
172
225
208
167
192
137
112
150
186
164
176
112
186
236
208
150
112
121
172
152
233
158
186
170
112
112
168
112
112
208
121
231
239
237
170
195
172
150
164
198
176
254
186
174
170
228
112
237
172
150
171
156
121
278
203
167
195
150
121
263
210
242
172
150
172
225
208
231
202
225
245
181
168
234
229
186
150
121
150
121
194
123
124
196
139
112
172
112
193
195
112
164
164
170
171
223
194
112
112
194
112
234
202
158
194
150
192
170
172
171
115
170
121
170
147
233
121
189
150
150
255
231
121
171
207
135
237
121
150
186
181
150
150
233
171
166
230
150
115
136
112
222
235
150
207
165
112
197
181
137
158
158
112
203
174
216
167
208
207
174
167
167
160
208
172
174
235
165
176
164
176
150
128
172
185
208
161
121
193
112
189
156
275
186
159
202
229
228
121
181
188
165
234
167
144
196
236
208
202
208
167
202
197
152
257
112
170
172
207
202
186
165
204
137
181
150
208
124
189
121
160
112
112
231
192
150
167
115
130
187
121
205
297
150
112
229
182
112
150
172
225
201
136
215
170
150
150
167
150
150
253
121
170
170
181
212
189
194
192
135
171
235
150
210
146
150
237
171
112
159
150
208
115
150
167
167
158
217
250
150
235
189
203
201
208
202
182
150
112
208
112
123
167
217
135
210
208
150
135
203
186
186
208
276
197
205
160
202
218
176
177
150
228
193
112
150
187
150
150
195
147
231
136
219
150
112
136
217
167
136
123
287
112
167
115
112
176
231
150
231
150
195
112
221
174
186
226
150
172
194
150
208
177
234
208
206
112
158
170
150
112
165
121
255
167
150
210
146
147
167
150
167
123
186
212
147
194
212
184
170
115
121
128
112
228
219
150
160
167
124
176
221
150
240
206
165
177
177
221
150
255
121
210
112
130
170
182
208
150
112
167
150
170
135
212
208
173
205
167
193
121
121
239
213
226
121
112
177
216
121
174
112
263
150
112
112
165
150
208
174
130
216
159
272
150
170
150
208
175
176
172
172
165
177
115
219
124
193
167
235
112
205
160
201
185
208
167
182
131
229
243
179
170
112
212
156
223
158
174
195
278
150
121
207
121
230
208
231
150
150
208
193
167
208
207
215
212
186
150
194
172
121
146
121
208
276
193
121
146
128
167
150
236
240
198
206
179
179
115
112
220
176
176
150
112
226
150
150
150
171
172
164
170
203
150
203
121
121
167
150
152
159
220
164
167
170
172
165
147
172
189
171
176
203
226
186
121
150
186
121
226
201
123
210
115
152
234
176
115
250
170
208
171
237
186
236
172
159
210
167
172
220
115
150
167
193
208
186
194
150
204
237
150
150
208
206
177
147
242
130
171
150
167
152
194
220
176
150
137
153
170
121
207
150
112
204
175
168
158
115
170
202
158
121
186
122
150
112
186
216
112
195
112
193
162
208
130
174
121
167
239
189
171
187
158
174
171
139
167
170
147
167
123
263
208
213
123
121
176
232
218
147
242
167
123
220
165
176
150
207
150
115
194
172
163
179
150
112
173
210
172
244
112
241
205
156
150
112
194
170
244
165
263
245
207
150
187
121
121
161
172
187
231
147
165
210
150
112
121
112
156
184
209
205
181
167
193
168
167
121
144
172
112
181
150
195
172
238
208
181
171
112
208
193
208
115
158
112
167
150
203
210
112
228
123
274
252
152
228
165
181
208
193
276
135
150
150
219
112
172
174
265
167
181
223
112
150
233
150
176
112
112
219
158
229
215
167
150
276
171
124
112
232
112
137
152
181
217
276
175
237
210
201
164
208
241
193
121
112
137
189
228
170
112
212
163
188
167
137
192
123
183
136
194
150
150
167
187
182
230
208
242
156
150
124
208
147
208
123
165
112
190
150
165
150
208
243
193
150
181
240
168
121
186
186
179
150
184
112
121
112
181
112
172
186
150
232
184
121
243
198
192
208
123
198
136
194
167
194
150
193
219
193
150
187
193
137
152
165
217
112
281
152
159
208
171
229
208
136
302
150
210
157
170
124
121
208
218
170
121
186
228
176
165
181
174
165
281
179
186
207
172
228
229
121
177
176
150
150
208
139
171
121
181
231
208
172
239
127
121
207
150
121
215
152
181
164
165
208
150
112
170
130
172
160
177
181
183
240
201
181
205
121
171
165
150
181
150
212
201
171
172
218
121
112
192
136
167
121
121
265
150
172
150
184
112
228
167
181
170
136
123
150
150
123
160
193
172
150
146
219
165
233
176
150
112
115
174
160
215
146
243
203
176
150
121
170
167
192
170
229
208
233
112
150
112
167
196
121
167
171
150
279
187
112
195
160
212
121
150
123
112
228
163
112
171
121
228
121
124
121
172
170
135
170
167
150
186
210
207
276
112
150
265
193
135
170
112
167
184
145
150
211
172
112
178
165
150
150
184
226
214
194
172
150
123
135
121
150
165
232
186
170
175
135
147
115
121
182
172
112
186
121
207
265
158
150
153
112
187
237
123
171
124
123
193
123
168
186
124
298
208
186
205
196
147
137
173
207
112
194
112
150
193
121
194
121
167
207
197
158
171
178
190
220
112
177
276
184
112
165
193
112
150
193
135
175
186
208
135
208
217
181
128
150
160
238
150
165
211
112
136
112
170
123
190
112
135
193
194
208
157
147
206
193
136
137
198
121
279
207
121
192
208
147
172
130
210
167
174
171
150
172
186
123
158
150
243
205
150
112
219
165
171
150
171
150
172
175
181
201
186
255
121
121
220
186
176
194
121
164
165
208
121
112
172
208
171
233
131
152
112
135
217
168
221
235
112
150
215
172
121
225
171
112
195
187
150
121
165
214
121
159
177
164
232
194
112
121
112
123
121
194
112
165
137
228
208
121
211
195
170
253
150
176
234
159
121
237
204
192
192
187
150
130
121
170
170
236
265
172
165
171
121
112
130
172
186
112
195
173
220
258
219
124
150
208
150
208
123
194
237
225
195
186
216
203
263
121
121
167
211
150
187
226
192
174
199
186
193
201
242
121
150
231
150
208
172
112
237
121
112
206
172
124
239
207
176
115
176
147
201
179
112
112
174
112
177
150
228
239
207
212
172
220
180
238
172
243
130
233
205
112
172
178
195
171
150
193
112
186
121
112
160
228
210
150
208
136
121
228
176
115
208
219
170
150
112
184
186
172
208
202
176
207
220
233
172
167
121
203
195
147
253
112
163
223
171
150
186
171
123
112
167
233
112
195
167
216
150
135
228
112
172
171
150
186
167
213
112
121
112
172
208
150
174
164
150
228
239
181
231
185
228
208
150
150
167
121
203
171
225
175
121
143
182
197
112
144
150
197
181
281
172
230
170
166
208
194
150
172
203
150
135
160
208
228
112
205
193
112
128
150
175
159
112
121
123
194
208
181
144
164
112
150
208
158
150
219
208
150
168
159
158
224
121
208
170
208
150
217
208
234
206
205
150
181
208
181
192
112
215
150
150
172
136
194
124
178
146
210
184
171
210
176
150
276
112
158
194
174
170
123
167
123
219
170
193
171
150
123
228
236
208
193
170
150
172
211
216
202
218
250
255
150
243
232
123
186
270
176
192
228
150
150
150
237
150
112
208
205
135
208
172
124
112
249
281
136
121
112
121
147
123
135
212
137
170
210
121
208
238
124
186
210
201
123
193
121
259
207
228
167
150
123
150
170
112
194
150
115
167
212
209
144
208
150
112
137
130
123
112
172
112
176
124
228
124
193
150
162
121
228
159
150
121
181
176
156
170
224
172
165
121
255
264
208
112
201
165
150
225
220
150
237
220
159
121
240
171
121
235
168
137
115
208
150
229
177
121
121
210
150
150
167
150
170
176
171
150
208
208
249
123
172
135
121
121
112
209
192
182
210
170
193
150
147
150
136
214
160
167
137
150
130
137
112
150
112
164
238
150
176
165
150
186
121
194
112
193
165
112
112
128
112
192
208
174
121
130
176
112
171
123
208
136
201
198
112
172
225
137
165
112
121
172
212
231
266
115
186
112
135
176
170
167
174
168
227
165
212
181
167
177
112
186
167
121
232
165
190
112
237
177
150
167
228
150
171
243
240
112
202
158
160
208
152
177
209
182
196
186
207
150
164
170
136
160
150
112
208
190
137
193
150
171
170
112
150
137
218
112
165
171
226
152
130
121
157
164
121
112
215
219
209
172
121
232
182
121
172
150
167
150
172
186
150
164
208
193
183
211
239
137
121
181
143
150
150
150
123
167
170
150
165
178
167
150
112
158
276
121
150
124
177
167
150
164
174
165
231
208
150
236
123
150
239
167
177
171
189
150
150
150
165
176
192
136
150
231
178
189
171
123
186
264
168
232
130
158
170
112
115
170
194
177
172
150
250
212
202
202
187
172
177
135
302
165
130
167
112
198
147
112
208
112
123
123
231
211
121
112
150
167
195
121
253
150
202
211
137
205
150
150
184
164
170
176
220
167
112
225
123
150
121
147
171
250
208
208
115
167
208
201
170
167
172
112
225
202
177
150
236
240
170
137
219
237
150
205
194
150
228
121
115
208
223
187
186
171
121
123
112
112
137
186
194
177
150
112
167
123
208
228
167
174
115
208
176
150
240
208
231
172
150
186
201
203
263
172
170
167
237
171
201
208
167
159
150
181
186
246
150
150
189
181
207
159
174
217
170
176
178
143
112
147
233
187
201
212
121
228
206
139
172
203
228
172
112
156
272
170
112
196
112
212
203
112
150
136
112
193
135
150
178
194
215
167
276
177
147
195
121
198
228
253
150
112
245
254
150
217
178
216
179
167
136
208
254
135
121
204
150
208
167
123
208
177
121
187
115
121
219
135
150
124
181
121
217
167
239
181
168
112
158
259
150
172
112
171
170
196
172
208
208
171
205
147
262
176
152
150
193
128
171
170
158
150
208
171
250
167
187
137
167
187
150
202
214
136
112
121
150
172
237
150
124
167
174
201
172
150
246
177
167
208
172
150
150
115
112
121
163
193
172
207
208
243
175
206
219
194
228
187
112
112
186
221
211
220
228
202
152
181
172
143
194
170
150
263
193
121
115
167
158
112
150
150
115
170
170
167
194
147
145
237
174
147
136
150
206
112
177
144
201
212
112
164
152
124
167
225
136
137
235
115
170
121
171
207
167
182
208
220
207
208
112
137
158
182
172
128
150
163
278
208
167
121
123
147
166
141
137
208
150
177
194
244
236
208
150
171
196
150
208
174
124
194
150
150
167
123
194
135
121
254
141
239
203
150
212
192
178
205
121
112
158
243
202
225
150
112
236
167
171
172
112
170
162
112
235
158
112
236
193
235
156
121
150
194
150
177
193
112
208
184
159
112
170
208
176
150
150
208
161
159
232
181
112
121
209
143
121
228
207
207
172
171
172
167
165
233
137
150
150
112
163
218
170
177
202
235
121
157
186
210
112
226
165
181
176
240
210
150
195
171
112
203
123
258
275
121
123
195
150
250
121
147
130
228
157
112
213
207
150
194
232
150
135
208
202
170
210
121
215
195
210
112
213
159
112
170
193
187
223
194
228
170
208
203
150
224
171
166
172
163
121
171
115
160
249
147
201
177
143
112
171
150
229
121
170
208
187
121
239
208
147
208
186
150
167
171
231
176
186
172
195
167
121
158
228
121
158
150
170
226
150
150
186
112
208
181
121
215
123
167
171
130
134
210
172
177
137
123
211
186
121
112
214
159
170
112
192
167
150
212
121
136
121
189
112
121
186
218
208
213
147
233
175
263
172
208
112
115
112
203
170
150
167
162
112
123
112
302
172
137
171
121
121
121
172
210
202
181
173
147
167
176
201
112
121
219
147
167
201
189
208
170
112
167
150
174
123
150
291
112
181
226
150
172
150
208
112
208
194
112
213
150
206
137
121
204
218
207
121
123
231
167
168
121
123
158
165
135
175
229
164
194
190
135
240
164
165
121
115
136
201
112
158
123
202
123
195
208
112
150
159
121
172
161
208
124
208
121
172
162
112
137
194
168
176
172
121
112
135
147
176
121
150
172
176
137
167
150
184
124
159
112
223
186
124
208
194
228
195
123
167
201
187
237
172
208
193
167
150
211
201
172
136
150
208
152
282
136
112
121
177
189
164
159
208
112
112
115
164
112
160
150
123
112
194
167
208
208
208
181
173
130
204
175
150
194
208
186
150
170
168
153
150
221
121
171
112
170
156
150
150
150
201
112
167
174
121
174
192
136
130
171
237
172
165
121
204
200
167
121
190
181
150
150
171
112
112
137
150
172
178
236
123
220
121
196
150
150
231
202
195
208
216
150
213
135
172
210
187
112
164
170
150
226
170
210
156
196
267
208
143
150
150
136
171
176
172
150
208
167
229
112
240
112
170
204
112
167
177
172
217
150
232
172
121
239
165
121
152
166
121
150
253
239
150
167
194
112
225
123
147
208
208
171
241
112
112
121
193
168
150
302
137
135
112
112
121
124
171
181
150
170
201
150
241
121
194
276
176
112
205
115
181
112
150
264
176
212
204
171
112
217
172
150
147
215
150
112
115
176
187
167
165
112
171
176
167
193
171
228
167
150
112
150
123
194
219
232
167
177
150
112
245
208
265
210
270
203
256
181
170
121
184
202
123
156
112
170
158
228
147
208
112
121
170
192
164
266
168
168
202
170
195
237
121
150
150
176
208
160
183
220
112
193
258
186
237
209
112
208
167
115
172
172
206
239
176
255
150
121
115
121
121
170
170
112
198
112
150
150
274
235
150
194
150
112
121
195
112
170
170
121
121
170
112
193
175
121
181
187
150
193
112
150
240
181
167
201
121
231
228
170
121
181
197
196
150
193
175
143
182
177
175
147
281
258
144
274
231
171
112
150
168
150
194
167
263
172
168
194
232
150
202
237
182
208
163
112
160
163
208
128
187
121
214
130
144
121
203
135
150
150
143
232
226
121
172
194
203
237
236
243
208
214
178
112
150
150
121
170
167
190
178
121
172
266
181
121
150
159
228
165
150
231
112
275
193
208
195
171
157
240
150
202
244
150
123
195
150
150
218
121
136
157
112
158
153
172
210
172
208
170
150
121
112
123
172
208
202
112
202
181
172
112
167
171
193
121
121
150
181
165
143
172
121
150
156
150
112
171
150
147
210
208
167
176
165
150
210
217
150
172
147
197
172
112
170
186
112
167
170
179
112
137
237
181
210
177
124
203
150
124
159
172
239
219
176
159
183
212
220
237
144
150
171
232
167
208
194
150
176
115
150
121
172
150
212
196
112
144
181
170
192
219
137
231
237
121
123
217
159
232
193
302
228
165
150
112
208
228
194
121
187
150
171
168
228
167
170
194
176
171
172
147
165
165
144
150
121
167
193
121
177
150
150
150
150
177
227
150
115
124
194
170
194
202
215
165
167
223
194
150
175
112
208
150
218
239
123
262
232
143
208
172
150
257
187
228
195
150
132
239
168
112
170
115
130
218
150
244
121
279
168
165
150
160
143
179
208
208
164
165
194
232
171
165
167
233
235
172
172
150
172
181
171
235
172
297
228
112
121
152
213
112
150
174
171
167
112
243
121
150
146
171
217
257
186
154
227
135
209
123
112
203
186
150
135
161
236
237
176
170
112
170
137
121
121
178
240
123
135
135
158
187
176
249
167
171
121
123
167
121
194
112
115
124
195
112
128
165
171
197
201
124
150
208
150
170
112
198
128
150
112
232
211
150
208
201
170
170
121
174
115
176
186
215
150
167
121
208
172
260
195
281
112
210
150
196
187
189
234
112
130
233
121
158
177
170
167
194
150
194
228
115
164
170
227
121
135
187
150
150
172
164
208
187
112
237
112
212
212
215
176
193
237
215
262
263
186
150
139
240
196
150
165
150
209
150
212
168
121
189
112
164
121
218
194
150
112
168
231
112
274
150
150
112
112
171
208
130
172
158
181
231
210
135
128
128
112
112
112
181
115
112
161
170
112
212
218
112
231
150
168
121
193
194
179
168
181
130
168
152
131
150
135
208
112
192
237
194
150
177
112
164
112
112
248
150
150
150
199
193
112
259
208
128
171
208
210
128
112
158
225
186
225
123
186
210
208
170
170
181
150
208
208
207
156
136
170
177
171
239
170
191
112
241
135
205
193
176
198
239
150
186
207
255
239
208
177
112
152
153
172
194
207
207
112
112
137
150
121
167
150
150
121
137
189
240
112
176
181
150
193
192
255
255
265
195
121
167
112
150
112
170
112
205
201
137
174
193
121
208
112
164
193
174
194
170
208
184
170
150
201
165
195
262
144
150
112
187
147
215
168
217
128
170
171
208
150
217
229
208
181
194
165
179
150
208
207
208
150
172
121
121
135
136
112
171
181
150
209
150
170
212
121
167
121
195
214
112
135
112
215
226
231
150
121
150
182
219
202
212
186
159
210
112
112
112
208
202
201
150
137
176
167
213
187
200
112
237
167
150
181
208
174
237
171
150
147
202
137
219
174
112
237
201
276
228
194
150
150
177
214
218
208
150
194
257
170
150
212
121
219
181
123
164
121
170
172
112
171
177
165
150
174
121
186
136
121
172
150
112
231
121
179
156
112
170
152
207
205
172
150
130
167
176
137
247
112
161
208
150
168
192
219
172
183
150
112
153
112
112
219
255
112
174
172
150
202
112
188
207
150
112
208
193
172
112
152
124
164
143
137
158
205
170
112
186
181
226
112
150
121
210
150
168
220
121
162
121
112
181
228
193
201
203
150
181
232
231
181
216
129
170
136
112
208
135
144
194
170
250
150
150
242
143
257
135
224
193
239
187
123
238
176
236
228
150
121
195
208
236
136
123
171
112
181
208
112
192
147
216
212
167
150
150
206
123
172
171
172
146
181
121
167
135
186
253
257
171
112
150
123
112
115
208
228
147
172
156
171
172
299
170
121
135
171
196
121
112
150
157
112
112
170
208
257
215
201
136
172
196
228
181
181
112
177
170
150
202
195
167
144
194
223
112
177
121
171
159
121
121
171
187
260
179
174
121
170
219
123
121
211
167
171
164
112
171
229
170
196
124
150
124
208
208
204
150
208
176
137
187
210
202
150
239
195
215
176
248
204
172
112
181
186
136
150
212
195
123
112
121
150
147
172
225
176
198
172
196
176
112
150
193
112
150
232
167
230
167
147
171
186
205
167
237
297
150
150
164
150
112
195
121
208
176
112
150
167
121
150
220
208
263
187
193
112
171
112
237
208
150
162
112
194
150
150
194
112
199
135
167
157
187
198
115
112
144
167
152
121
150
220
167
150
124
172
232
239
164
115
176
115
121
205
112
208
150
112
213
121
150
172
165
172
181
228
123
124
123
121
112
181
212
170
150
167
186
208
158
186
228
214
193
167
207
240
170
121
167
205
150
208
150
236
229
115
150
136
112
208
112
210
165
186
150
353
196
121
208
121
136
135
150
202
219
121
121
171
278
186
178
164
182
158
150
167
202
112
218
203
121
112
135
147
135
172
112
231
112
167
172
167
150
135
150
112
150
146
172
121
112
176
195
176
190
237
172
170
121
257
231
121
182
194
123
159
186
167
208
160
201
167
208
210
123
187
233
302
218
172
150
136
237
165
181
263
185
150
223
172
208
187
177
176
194
112
228
186
112
150
239
150
257
171
181
215
158
112
223
174
124
202
112
121
143
150
220
187
112
121
112
210
164
135
121
202
237
150
170
234
172
112
210
150
161
121
167
158
198
229
172
112
201
187
172
158
150
171
121
158
260
150
112
186
208
243
174
228
165
137
167
121
193
112
115
233
167
112
160
195
147
164
208
170
201
239
234
194
194
243
165
167
134
194
172
174
167
136
204
193
121
209
136
241
170
195
150
171
150
112
218
136
194
147
121
159
172
170
115
210
115
121
147
121
143
165
121
128
112
123
299
158
168
112
115
172
150
171
164
172
172
223
197
137
112
175
121
246
210
187
150
207
214
150
216
167
174
244
187
174
150
144
176
171
112
150
245
225
170
165
147
194
225
208
112
187
150
168
121
193
135
150
275
231
208
181
228
255
174
158
112
121
174
186
137
115
130
121
187
121
237
168
222
231
146
150
276
156
194
199
186
150
112
205
158
174
150
208
194
121
218
208
202
167
194
170
146
128
179
123
172
208
243
220
171
115
112
255
181
172
240
112
150
121
168
171
193
135
233
208
123
135
136
160
192
152
203
150
201
208
191
112
172
150
121
212
165
137
137
270
121
240
202
121
227
112
165
150
181
131
121
150
226
121
150
112
201
237
112
159
121
208
157
231
121
245
112
150
187
194
121
189
150
226
121
208
208
170
121
182
121
170
123
232
243
193
195
174
208
112
167
156
115
112
175
233
276
123
135
181
170
195
172
128
150
219
172
170
146
233
150
225
229
171
195
250
219
208
210
150
150
172
150
112
156
123
112
160
150
226
228
225
227
193
208
167
112
218
172
208
177
150
150
150
241
150
150
164
150
150
150
220
177
147
245
157
225
208
167
150
235
170
209
181
225
193
274
112
127
250
112
112
150
112
196
208
121
150
150
170
112
170
150
145
150
245
150
187
203
112
112
150
263
112
171
137
208
121
195
197
167
164
255
172
135
195
167
250
176
226
112
157
204
150
115
172
174
121
115
176
172
115
167
172
265
181
225
218
150
136
112
123
192
112
194
205
192
150
194
176
150
112
165
150
112
124
279
206
164
230
128
217
164
227
173
198
146
216
124
112
256
237
190
121
112
157
135
112
112
187
184
193
219
121
194
167
239
186
210
143
220
115
167
234
167
225
170
130
257
121
172
240
150
150
167
121
121
150
164
208
123
172
176
223
167
236
112
150
208
150
171
242
210
150
112
150
112
239
205
229
225
147
150
158
179
215
172
150
150
226
190
186
158
210
165
216
238
172
193
231
135
112
250
150
176
231
202
189
220
170
194
121
187
172
223
164
192
193
121
112
228
172
158
186
150
165
182
150
170
208
205
158
165
210
179
121
152
115
128
187
181
177
165
115
172
202
168
228
187
123
123
181
171
112
193
193
172
123
124
150
137
186
202
231
130
194
112
121
228
143
193
204
219
193
192
186
181
135
159
168
237
194
178
193
121
124
178
121
121
209
137
124
150
227
198
121
193
208
194
193
112
181
172
237
156
121
226
228
189
123
112
186
158
150
121
167
208
185
137
150
112
144
112
176
208
172
172
150
167
172
121
187
217
208
150
159
195
226
202
231
150
192
150
191
217
171
192
121
112
121
123
112
237
112
195
208
181
152
214
193
239
234
196
170
186
172
228
112
186
172
150
201
158
157
181
112
172
241
165
186
171
212
143
112
195
243
237
167
115
255
220
112
170
273
237
112
150
158
228
136
143
206
228
147
226
172
150
176
171
231
112
237
208
165
202
231
208
170
121
170
150
182
137
158
172
167
228
112
150
181
171
144
150
150
147
135
135
112
181
121
112
174
203
189
112
150
150
210
112
203
172
208
112
159
123
222
231
183
172
168
112
182
202
130
156
112
194
239
165
208
238
228
277
121
232
208
112
165
150
123
150
172
208
167
162
228
171
112
210
165
228
212
112
121
208
170
123
158
250
150
220
226
176
172
210
195
123
135
121
150
170
219
112
208
112
136
121
150
150
243
186
208
186
167
121
170
137
217
203
115
112
202
218
198
235
208
176
150
128
217
167
158
150
171
158
112
174
112
231
186
150
112
212
121
210
166
302
208
121
172
231
193
221
194
172
219
112
164
208
198
225
150
160
121
186
203
196
112
121
112
115
211
244
210
112
171
202
137
121
302
201
192
210
171
121
150
170
121
220
237
150
240
170
233
123
250
220
150
174
112
194
237
206
170
201
208
181
226
240
150
237
175
150
150
225
124
194
171
112
193
201
121
165
150
150
124
159
170
112
194
152
181
150
208
208
150
193
208
181
276
167
177
179
150
147
167
121
172
212
112
121
208
195
121
121
121
250
208
187
135
208
172
224
210
166
112
203
222
156
121
196
135
137
150
136
207
201
170
242
208
171
165
121
112
130
219
121
243
239
184
124
124
166
172
235
208
143
167
196
147
112
171
208
112
181
170
147
150
186
187
159
156
201
208
219
124
123
199
278
172
168
121
186
284
176
172
174
177
176
170
150
167
192
121
186
121
228
159
172
172
112
112
167
194
150
150
121
158
112
112
242
176
237
123
194
186
172
208
234
275
192
112
208
231
195
156
170
150
165
187
164
112
193
197
201
147
165
112
124
143
194
172
176
170
186
123
150
218
196
238
189
150
172
150
171
121
204
181
121
121
193
112
219
202
228
150
231
210
137
150
181
187
195
202
208
152
128
215
115
137
250
193
205
124
143
231
217
216
150
207
130
192
167
302
187
186
128
136
219
159
150
194
208
172
177
167
167
302
208
241
160
208
198
195
231
185
208
112
150
213
177
167
219
164
176
175
208
150
162
171
165
115
112
184
194
275
170
184
208
237
121
150
167
233
167
165
158
150
171
112
208
121
112
112
121
121
179
137
171
167
121
121
112
212
172
159
158
128
170
172
147
170
170
181
150
208
187
158
250
170
171
150
156
212
121
172
121
112
176
208
165
215
150
130
210
194
150
112
250
209
171
121
150
135
112
174
135
123
121
128
214
170
112
165
160
123
293
121
186
245
175
150
112
112
159
112
164
115
181
170
203
150
187
137
135
150
112
197
184
112
242
135
208
237
228
167
171
230
203
220
150
112
121
167
170
186
167
123
177
187
165
150
220
150
115
121
219
150
112
170
171
150
150
222
175
150
150
194
172
150
165
112
167
171
150
172
219
112
236
193
214
150
190
223
273
150
150
201
172
184
112
137
178
112
150
147
171
112
136
136
208
208
150
210
158
150
121
147
208
168
284
196
170
208
112
112
167
172
144
121
123
199
194
186
167
115
176
234
214
212
223
121
192
123
189
193
177
179
162
135
190
228
184
237
217
237
172
135
150
228
112
187
112
112
170
121
228
226
123
181
208
112
215
234
187
181
156
167
186
170
228
231
171
123
208
147
170
203
184
263
256
214
121
172
170
168
150
208
227
150
112
152
172
169
202
208
213
196
150
112
150
302
150
150
225
218
112
150
121
172
152
158
150
199
150
150
137
182
193
207
164
175
150
112
171
121
231
150
208
184
215
231
233
238
175
146
172
266
147
253
208
187
172
112
150
128
128
160
214
124
123
175
214
112
172
150
192
237
208
121
171
121
171
121
150
197
212
150
147
212
112
170
194
182
192
172
259
236
228
123
172
176
250
189
176
112
150
253
238
112
272
165
150
229
136
152
112
165
243
121
187
176
115
167
181
192
184
150
225
208
112
121
170
187
194
121
121
171
112
150
147
150
112
112
196
194
219
217
176
174
123
150
208
150
193
263
112
121
226
186
274
150
170
150
254
199
194
112
112
195
302
159
150
172
186
135
112
123
123
172
157
136
121
186
170
112
212
112
239
193
204
193
177
165
239
147
207
123
194
150
170
233
152
172
150
121
164
165
123
176
181
121
112
136
172
150
115
150
183
232
208
170
257
174
203
202
212
210
150
192
172
194
112
175
137
121
179
209
115
198
208
201
184
150
172
159
208
208
192
121
150
214
250
121
208
152
150
210
159
181
242
121
208
264
212
123
177
150
190
172
167
208
173
172
206
226
121
220
147
170
302
156
213
195
121
112
193
158
181
194
208
175
208
150
147
186
201
193
135
150
112
146
205
121
112
124
176
208
231
177
216
121
266
201
170
167
210
167
150
194
194
170
135
121
190
172
161
179
218
241
146
207
121
176
203
143
208
208
179
170
121
112
192
165
167
172
220
112
150
158
150
238
170
115
171
241
172
195
112
208
210
147
228
159
207
137
184
263
195
208
302
187
177
193
123
229
156
181
121
112
218
223
172
239
170
176
112
150
112
220
167
225
144
121
172
208
212
130
205
121
172
181
150
170
192
202
172
210
159
136
150
112
216
245
205
195
112
236
192
121
112
203
135
184
171
150
112
181
208
115
282
121
160
208
159
112
139
121
255
170
112
112
233
181
141
189
147
202
150
210
210
195
243
123
196
167
181
170
171
123
174
192
243
160
204
112
112
263
185
130
172
150
153
220
150
255
229
207
150
177
197
121
172
203
174
254
164
161
224
121
121
192
276
112
234
177
167
150
208
112
135
123
176
228
121
213
205
194
250
186
179
146
150
150
165
112
137
228
239
167
208
210
130
181
263
170
150
172
219
214
205
150
194
156
228
181
167
201
196
231
161
150
160
171
208
201
237
228
135
201
112
198
226
186
112
196
112
147
190
153
112
242
159
205
165
181
168
208
121
137
201
121
194
219
165
167
231
207
123
187
208
160
160
208
115
196
121
156
123
146
121
197
112
235
243
156
229
194
170
137
121
210
170
158
201
121
229
160
170
172
176
137
228
137
184
121
112
278
177
214
213
123
112
181
121
181
123
186
171
171
167
112
137
172
150
187
112
193
184
163
170
201
174
179
121
168
194
112
121
170
176
172
204
172
160
124
121
218
121
208
112
228
150
194
150
181
150
255
165
150
194
203
211
177
203
170
184
112
137
123
246
170
208
147
226
121
208
207
186
135
137
139
112
302
150
112
172
270
150
112
237
171
219
121
231
147
123
264
220
121
240
170
236
172
150
237
124
167
136
168
176
201
123
233
123
194
195
150
200
156
170
209
135
212
208
208
208
147
202
150
150
172
208
172
189
154
226
178
231
112
112
189
121
208
177
181
121
172
173
231
219
112
202
195
135
167
176
154
167
178
233
135
220
192
121
150
150
171
201
210
260
112
170
112
137
150
137
150
219
172
202
170
112
150
164
194
121
150
121
159
150
121
112
121
208
181
135
112
173
210
112
239
200
204
201
197
170
176
172
228
150
121
208
150
136
112
213
112
176
208
172
228
210
121
226
112
201
258
165
172
193
137
208
240
136
202
172
193
186
123
135
195
243
193
147
181
202
242
165
121
152
212
112
150
208
112
208
184
215
181
150
226
181
239
112
121
112
189
208
167
168
171
150
112
123
137
112
112
208
112
174
123
172
121
150
214
248
172
194
150
123
194
171
136
194
167
172
215
150
150
187
137
112
123
192
232
172
297
203
193
201
137
228
212
208
112
207
237
123
123
171
194
187
265
177
121
302
135
150
206
123
178
202
182
194
121
112
112
239
212
123
201
240
150
174
150
150
170
156
208
121
121
144
158
231
212
201
171
171
115
197
150
203
225
186
176
150
150
194
205
171
170
302
112
171
172
121
176
161
121
170
150
150
115
160
112
170
112
193
215
211
165
167
127
121
121
217
174
112
150
121
231
182
187
130
170
171
121
123
135
203
160
171
208
238
187
121
168
167
234
175
208
112
228
170
135
233
161
150
150
124
112
172
150
193
112
172
194
170
171
219
115
257
112
192
213
136
167
186
170
240
194
170
228
130
219
206
121
150
208
205
150
228
203
150
121
187
231
144
172
171
201
242
136
150
171
112
150
121
184
170
206
172
150
112
228
192
194
150
177
193
121
208
112
228
146
112
171
115
136
150
171
165
112
121
121
124
167
152
218
124
156
112
194
124
231
150
226
187
135
167
201
124
121
112
217
254
150
150
288
167
194
229
275
187
170
174
115
123
219
152
229
167
150
208
194
186
212
194
194
158
170
174
195
212
176
150
201
170
167
150
168
112
121
204
150
302
237
195
150
124
225
209
187
158
121
112
150
158
217
240
176
150
179
150
150
208
250
112
150
164
269
123
193
171
121
112
112
202
225
194
178
112
136
167
121
170
172
217
214
194
229
167
150
160
158
112
235
167
219
187
225
176
112
174
198
194
121
208
147
121
194
150
150
208
159
156
212
236
210
181
215
121
233
135
170
167
217
177
150
167
192
158
228
158
150
159
167
214
184
167
205
171
115
205
112
121
192
226
226
299
121
219
121
167
167
189
137
226
230
193
228
112
217
121
171
121
225
165
187
121
112
112
203
176
231
121
208
203
167
112
156
121
232
165
219
170
150
152
172
150
121
216
232
170
121
172
147
164
182
124
167
172
121
181
203
159
229
187
150
181
171
201
171
208
121
150
112
164
208
220
170
208
194
112
214
157
165
124
220
112
208
121
208
186
150
228
112
172
121
164
150
176
121
150
198
207
112
112
193
229
124
112
167
171
147
150
206
150
224
145
181
236
168
175
255
167
165
176
135
121
233
147
208
170
195
150
147
112
160
208
311
255
215
135
115
232
112
190
228
178
170
137
158
165
165
175
215
123
201
290
137
194
167
192
164
185
168
208
231
167
150
219
172
181
115
112
112
208
250
181
203
208
250
170
192
220
112
193
165
121
181
150
170
123
233
199
167
112
193
192
167
223
150
257
172
186
229
225
121
156
237
208
112
231
208
123
270
238
206
121
167
181
184
167
164
202
150
214
193
208
228
112
167
150
124
121
175
172
176
194
150
137
112
220
231
128
165
150
194
218
262
232
193
136
228
172
170
194
274
167
112
172
121
150
207
139
228
181
208
152
256
112
281
250
150
171
137
208
172
170
112
193
210
208
171
150
165
201
150
219
164
121
176
207
231
115
208
176
135
172
112
172
220
225
123
165
210
150
121
213
224
156
203
258
194
115
178
168
135
193
201
190
208
112
121
194
167
170
240
171
172
160
171
230
276
158
179
203
112
231
194
196
297
170
159
208
121
112
172
112
210
219
205
230
150
207
167
193
150
228
112
186
121
254
112
112
150
112
172
135
150
112
115
150
215
208
302
136
302
211
201
172
187
208
150
215
150
176
208
212
112
181
150
187
171
143
112
175
187
137
193
144
182
112
199
278
181
194
225
250
150
193
184
209
121
150
121
135
208
165
227
112
208
112
215
205
150
181
171
181
208
150
123
225
172
218
170
121
213
157
208
212
208
208
121
219
150
158
170
150
171
219
150
121
171
156
217
123
147
167
167
233
225
171
130
206
215
137
112
195
181
150
137
121
136
197
205
174
208
150
136
124
112
208
183
161
173
228
205
152
196
212
245
167
195
176
139
112
123
243
167
167
205
210
234
231
181
164
156
178
150
150
150
236
112
135
186
205
172
182
150
172
210
158
170
121
150
150
135
170
203
194
112
232
194
171
121
121
112
194
150
171
136
194
201
170
187
194
150
171
156
229
239
186
150
208
194
121
220
237
150
176
150
239
112
112
208
167
112
112
121
112
121
170
253
208
121
195
112
204
210
150
150
112
278
150
172
255
181
165
187
150
156
160
193
150
275
176
168
172
135
192
144
150
208
219
194
112
150
302
226
167
150
156
150
150
112
121
123
239
241
150
208
212
193
150
171
137
170
208
150
150
121
150
112
112
165
123
228
179
150
221
189
223
170
165
186
234
123
172
257
136
112
220
228
121
187
112
158
121
208
225
159
171
170
250
250
208
208
208
147
150
121
124
152
194
174
121
206
276
124
176
121
203
150
121
172
158
150
150
216
208
185
213
137
137
159
203
144
203
123
115
123
170
195
219
121
219
150
121
195
237
115
184
213
208
172
112
159
123
121
208
159
217
178
132
209
194
157
184
242
223
121
150
150
177
115
150
174
270
212
167
164
230
147
181
150
208
112
219
186
150
202
177
265
167
150
158
112
167
194
170
195
197
150
165
112
150
150
135
112
228
220
176
137
121
255
214
143
210
164
172
234
208
176
219
121
194
121
150
112
150
164
193
201
164
137
168
223
150
208
237
172
112
209
212
181
263
150
167
165
181
150
124
152
187
195
203
172
208
150
123
112
128
150
164
135
172
226
212
229
112
181
281
202
150
167
176
186
220
112
150
201
112
112
150
170
137
194
202
250
165
230
179
124
150
112
150
163
172
147
172
174
186
164
208
187
257
115
112
226
112
150
228
200
171
175
112
208
150
212
167
136
123
187
172
210
181
186
200
112
218
218
143
219
208
177
112
143
167
209
240
172
121
193
121
178
208
150
135
147
167
237
208
121
115
209
194
181
231
203
121
188
123
115
237
167
158
112
207
121
164
150
228
172
172
302
171
123
156
112
186
170
176
234
112
206
160
221
210
181
160
212
181
150
112
135
194
115
171
112
150
123
150
136
181
170
243
150
208
181
210
191
195
212
141
245
112
123
167
208
234
265
150
167
143
202
224
241
160
202
176
255
195
208
165
150
184
274
228
187
147
175
232
208
278
202
218
165
189
208
208
150
147
115
212
136
121
182
190
123
167
215
205
218
150
112
121
165
208
150
135
131
121
229
172
228
167
175
159
150
231
112
146
233
121
165
207
136
210
281
150
167
263
220
165
112
192
181
135
212
150
165
208
208
194
171
297
123
172
172
243
241
165
150
112
150
237
115
250
215
112
121
201
112
121
172
171
156
115
112
150
219
208
203
150
156
152
137
167
208
147
165
123
172
186
121
170
150
207
171
172
167
210
194
150
219
137
237
112
164
150
167
212
170
208
150
150
181
185
124
194
150
146
228
150
172
135
150
170
112
235
121
112
146
241
275
207
226
123
194
146
170
137
194
212
112
121
123
121
162
121
208
150
210
167
130
170
258
121
172
121
194
167
150
194
167
208
167
150
208
112
123
194
167
112
150
172
263
112
121
172
214
121
202
210
121
257
147
171
228
112
112
150
193
112
172
136
164
167
121
209
241
173
193
112
121
209
172
193
170
150
181
167
255
150
302
201
181
250
233
228
135
211
121
193
193
121
302
175
255
159
194
228
181
231
112
172
150
121
243
112
135
228
228
123
203
112
206
156
150
208
212
150
237
301
187
172
201
112
226
226
202
150
115
121
202
177
228
147
200
194
187
121
243
150
160
150
199
214
132
150
210
150
172
172
196
158
216
205
181
167
225
210
150
112
208
121
228
170
112
178
170
165
243
172
150
121
182
183
215
165
170
170
208
299
137
193
207
192
112
215
248
112
280
201
112
208
167
220
174
121
193
208
244
136
242
208
167
228
208
147
150
123
150
121
170
171
208
209
172
136
121
123
112
208
186
176
194
115
115
194
175
121
194
243
112
172
172
167
228
121
165
208
228
204
175
123
112
195
212
194
158
189
212
208
176
176
193
181
150
136
130
194
255
150
150
135
135
239
177
170
214
183
172
124
208
175
150
121
239
167
194
181
112
208
255
171
150
135
112
167
112
121
112
150
112
167
137
112
223
150
234
210
228
181
115
121
124
150
273
201
150
137
228
158
208
176
231
194
150
216
255
230
194
136
259
124
193
224
208
112
150
176
174
121
178
172
137
152
150
150
112
181
167
187
243
112
228
183
121
208
208
166
170
227
253
176
162
184
192
121
150
115
171
229
199
159
228
143
150
205
112
112
171
217
170
112
192
176
208
147
205
194
187
172
194
202
147
228
195
130
159
167
112
112
135
181
231
136
182
121
135
172
147
112
170
228
237
112
164
167
194
172
160
217
150
167
201
196
208
243
194
193
123
121
225
150
242
172
150
182
279
176
208
121
176
112
150
158
123
174
223
187
260
167
167
123
200
150
112
202
208
172
130
128
136
121
206
121
195
121
297
121
181
165
156
208
150
208
147
190
115
170
266
112
174
170
150
237
112
121
164
208
171
121
157
172
150
194
112
128
121
165
172
112
123
250
216
112
220
121
115
150
212
228
177
135
150
202
136
241
165
250
226
195
167
121
150
172
193
121
136
250
186
211
266
231
123
121
135
152
212
123
112
147
212
167
238
112
208
201
162
121
187
218
112
176
212
238
221
130
121
181
121
201
112
112
208
194
192
130
150
121
164
172
112
174
202
121
160
208
167
207
186
171
115
112
121
208
150
112
123
219
214
237
177
172
254
112
208
112
194
171
165
137
229
112
172
150
170
187
150
170
123
233
220
231
208
208
200
172
112
250
208
210
158
170
233
112
150
135
150
150
196
150
156
168
172
225
128
124
176
276
112
112
172
152
172
121
167
243
167
205
136
184
240
112
177
201
136
147
208
208
150
135
172
112
235
124
123
205
123
130
201
216
135
171
207
220
194
158
171
150
276
121
239
143
195
123
235
167
152
150
208
214
136
172
202
150
112
237
193
150
237
124
112
130
150
171
167
167
255
150
165
236
137
112
231
208
208
112
150
137
150
121
194
172
150
170
164
224
135
112
150
192
181
210
181
208
205
150
210
172
193
208
172
181
229
167
170
226
187
112
225
170
137
199
233
239
226
112
121
170
171
219
130
194
112
243
181
172
150
212
172
167
194
135
150
112
210
137
159
144
150
170
152
121
115
121
168
147
121
187
147
203
186
235
163
123
229
112
192
167
167
150
187
150
221
150
121
123
150
130
150
208
186
112
223
159
176
121
112
165
150
121
112
121
167
156
112
195
156
143
150
150
112
208
115
237
204
123
167
187
135
150
158
167
112
172
228
112
147
121
121
171
150
112
121
121
112
150
186
178
214
201
213
160
150
137
212
112
226
115
172
194
150
177
135
260
123
135
239
187
121
208
171
144
150
167
150
210
170
205
181
187
121
171
208
177
170
228
121
112
168
237
228
171
186
112
112
112
165
170
121
192
195
203
174
136
130
294
227
194
231
150
240
227
123
170
195
202
171
165
176
150
150
112
179
144
112
170
167
172
172
218
213
121
121
172
156
150
150
167
172
210
121
172
166
229
181
121
197
181
175
112
137
302
227
167
202
172
167
194
170
150
112
170
112
202
121
112
171
245
186
150
302
172
167
175
193
223
136
167
239
172
233
172
171
135
208
202
305
176
172
231
226
186
123
150
202
136
150
181
217
236
165
176
159
172
208
157
194
192
121
208
150
167
228
181
194
194
218
150
170
208
170
208
112
210
112
229
150
176
121
172
228
121
226
186
195
235
177
203
218
150
167
150
216
208
159
159
181
115
123
167
230
147
130
200
208
232
170
121
121
203
136
208
124
112
160
150
207
177
208
172
177
156
253
181
250
160
135
167
190
159
176
112
150
203
202
208
244
176
220
192
170
208
202
112
165
150
208
112
172
167
150
112
170
156
167
228
170
171
243
121
150
171
171
170
175
199
112
164
187
128
147
172
208
112
172
203
164
121
182
171
172
184
168
170
152
112
218
112
150
167
212
172
171
150
263
156
233
158
121
210
181
170
207
136
150
130
208
229
208
161
208
186
150
112
209
208
171
121
208
112
170
150
121
121
241
121
166
150
203
210
136
121
156
208
156
112
172
112
171
244
112
170
150
121
123
150
172
112
172
121
165
239
208
136
150
150
194
112
228
195
176
208
208
171
150
220
208
172
208
167
181
237
150
167
167
150
272
137
112
164
208
112
137
203
210
208
112
130
115
128
187
156
208
172
174
208
200
212
228
193
121
167
176
121
205
179
121
210
217
270
178
168
207
202
150
172
136
223
193
112
150
150
193
170
112
121
216
213
278
150
212
194
172
186
171
187
172
171
239
170
194
112
242
176
267
137
112
173
167
147
194
112
150
175
123
170
171
187
208
123
219
203
232
121
130
217
136
231
121
165
176
170
212
186
282
228
112
164
150
112
170
215
112
137
112
146
225
150
177
165
187
208
230
172
130
121
164
225
262
237
150
165
112
193
228
136
112
157
144
170
186
124
237
217
208
150
218
128
208
172
170
202
243
112
121
240
112
121
165
137
147
157
250
172
171
165
112
217
150
165
152
186
255
195
208
208
211
135
135
167
203
217
197
170
201
174
193
112
159
112
156
193
121
112
121
139
150
121
150
112
187
208
211
147
170
172
176
197
208
157
150
115
227
205
167
244
121
150
250
143
150
212
171
212
150
176
172
223
172
211
143
147
202
167
228
208
170
150
121
212
187
208
223
194
208
194
176
112
217
208
150
112
215
121
193
150
208
121
121
210
150
112
253
192
165
208
202
171
112
121
240
112
194
121
181
179
196
112
121
220
245
121
168
121
226
112
150
302
172
174
208
177
232
194
167
150
150
112
186
160
208
121
150
112
152
228
239
123
150
187
165
216
209
115
152
121
171
177
167
264
150
187
121
121
128
259
170
208
167
167
226
204
115
137
172
184
164
210
161
172
229
239
194
136
190
136
112
226
123
240
176
192
167
217
123
112
150
150
202
121
253
170
159
152
121
135
206
263
150
112
150
165
210
123
150
136
135
112
205
135
208
112
208
235
194
124
121
158
112
225
158
302
172
128
123
176
194
170
208
121
187
240
181
123
112
112
121
150
201
186
195
162
112
208
174
194
249
135
302
150
231
212
176
112
220
167
112
121
193
112
150
150
202
199
150
187
167
201
255
225
201
112
209
291
172
121
193
199
150
208
121
121
250
218
167
176
284
182
208
121
171
226
161
170
121
167
115
170
220
176
112
208
174
167
150
216
170
112
121
228
250
201
121
167
239
150
182
217
172
172
184
121
165
174
237
112
121
171
195
135
150
130
181
130
172
194
208
228
139
172
212
135
208
214
194
147
121
137
212
170
223
112
121
167
176
170
231
150
193
186
112
121
171
194
212
194
176
172
210
165
210
112
205
112
190
210
232
250
150
128
184
150
172
123
201
171
150
181
202
121
228
150
141
112
159
175
150
150
208
225
172
150
205
250
147
177
212
150
121
124
208
240
255
112
201
112
210
175
203
161
201
112
214
167
137
210
184
170
228
177
176
115
130
208
184
186
124
136
121
124
204
165
165
152
228
150
167
121
150
123
176
112
115
112
208
112
215
205
185
171
231
194
112
208
123
213
112
171
203
198
121
206
195
150
202
115
172
205
112
170
123
167
176
196
160
121
136
210
241
181
250
184
123
167
172
187
170
194
150
184
112
181
115
250
204
147
167
205
266
186
121
130
186
237
254
136
121
128
170
171
276
209
187
150
170
195
143
218
179
201
130
165
201
239
187
123
112
215
201
112
123
172
171
201
150
212
171
112
165
150
171
112
172
179
205
171
202
137
112
177
150
167
123
150
157
137
212
173
220
233
124
112
112
136
167
189
172
208
112
181
175
167
112
197
150
212
150
177
150
174
123
186
167
150
203
150
291
123
174
176
192
239
150
167
203
134
152
167
194
220
176
234
112
115
112
208
196
176
194
183
121
150
217
150
150
171
229
137
135
139
150
159
123
228
147
150
136
112
154
228
167
187
112
130
123
172
194
160
112
206
121
136
170
194
121
158
112
162
123
150
170
150
150
112
121
237
124
112
202
192
150
150
250
157
227
160
137
146
112
121
131
168
121
211
171
228
150
232
115
194
136
115
195
172
115
150
150
170
181
205
205
123
121
181
208
174
112
276
112
231
231
172
167
170
160
121
150
189
217
172
171
286
170
112
256
164
167
236
112
121
160
208
237
208
150
176
137
194
112
168
135
175
217
228
150
228
112
176
210
135
275
193
164
174
195
121
208
123
228
123
171
250
212
121
121
172
172
194
177
131
158
201
179
160
172
121
121
228
150
181
135
200
121
121
172
156
237
171
150
253
197
112
152
167
150
187
208
236
121
123
112
170
227
150
193
177
208
193
150
121
194
112
223
255
205
186
181
170
121
150
208
115
150
123
112
170
202
115
190
121
121
167
112
112
170
164
170
203
177
175
121
220
172
121
193
181
170
171
185
171
112
112
200
170
192
208
121
124
171
123
232
143
199
121
164
208
150
150
170
150
121
144
171
178
131
121
136
121
208
165
177
220
171
178
164
158
112
112
228
186
193
150
194
194
175
212
263
150
193
237
177
172
147
150
121
168
237
123
121
194
136
208
164
269
259
175
161
156
147
167
145
150
150
192
228
150
112
181
156
150
159
177
170
112
222
137
170
156
170
243
214
150
196
164
186
112
276
150
208
230
176
123
213
194
150
170
172
236
218
192
201
167
208
217
135
115
193
112
150
121
186
172
288
186
208
123
130
177
175
150
171
193
181
112
150
210
150
187
121
181
156
123
150
159
150
170
212
226
172
208
150
186
228
150
228
208
194
206
202
260
121
178
150
208
228
250
174
167
194
164
302
213
225
150
195
232
112
228
167
196
167
112
170
216
208
123
201
164
201
150
150
174
164
170
112
206
150
121
150
202
210
241
229
167
137
203
233
121
159
181
150
209
208
187
150
291
170
186
238
232
121
186
171
207
150
193
112
112
167
152
171
171
281
201
171
181
226
177
112
159
121
208
184
167
184
251
123
163
112
210
150
164
265
167
112
232
172
112
112
220
130
277
112
263
194
150
121
112
152
130
208
150
123
194
208
181
170
171
235
243
172
165
112
181
137
176
143
137
121
199
150
170
176
226
121
187
234
228
208
228
194
170
178
250
241
150
208
121
137
121
230
115
226
135
112
225
121
181
143
274
228
170
177
219
237
211
112
254
170
121
208
170
112
150
159
208
150
233
236
177
163
203
170
176
178
121
255
170
210
229
206
202
121
218
160
150
150
123
123
212
208
201
170
112
123
181
121
198
176
160
167
208
172
128
205
202
168
208
208
202
150
208
172
150
170
208
250
171
159
150
219
135
150
150
150
150
208
202
234
195
189
218
208
112
162
172
112
112
200
112
172
184
146
278
181
253
252
231
181
150
150
227
121
190
276
181
199
165
121
150
150
121
194
208
214
172
150
172
250
228
112
130
167
171
195
150
135
135
164
143
128
121
167
112
255
112
208
167
167
184
172
150
165
208
150
172
208
123
193
124
121
181
172
112
217
186
228
174
195
165
226
121
217
164
130
245
208
172
162
171
121
170
170
135
287
208
217
217
171
150
220
121
232
194
170
207
172
150
158
121
195
167
136
218
172
170
135
121
167
176
194
194
112
208
137
136
112
150
255
171
121
131
150
170
121
167
170
112
150
179
115
204
172
206
196
170
167
147
219
243
181
192
237
206
186
150
161
224
217
217
165
121
171
202
193
237
121
121
171
158
239
162
302
202
182
217
121
186
214
112
121
177
135
194
240
121
241
150
260
172
220
196
194
137
193
128
167
167
186
150
202
150
270
190
207
172
176
121
121
181
124
112
226
143
202
225
112
181
112
123
243
181
178
228
181
150
208
150
150
221
121
112
150
112
208
172
171
171
147
150
176
172
263
220
242
194
281
181
193
239
128
112
181
208
150
210
150
172
112
203
158
208
230
150
172
225
181
203
255
172
250
112
231
131
135
121
187
228
137
162
165
147
185
123
215
228
208
146
241
136
184
210
208
192
202
168
193
137
186
156
170
217
170
170
112
176
167
258
208
150
112
112
150
196
181
208
165
176
136
137
150
115
167
181
181
250
228
171
135
164
228
172
228
115
194
228
222
203
121
208
121
150
203
159
181
147
121
193
194
194
135
214
193
176
128
170
177
187
208
167
123
234
217
208
165
165
218
121
150
200
135
121
171
112
172
123
164
121
150
112
167
123
167
136
208
163
302
197
190
168
124
234
158
161
208
178
278
165
167
276
170
196
121
238
202
150
206
112
112
150
112
167
172
172
150
229
236
194
212
202
201
181
212
174
201
201
247
135
193
202
172
199
226
198
150
121
167
150
240
174
121
167
237
150
201
165
136
121
121
189
171
121
150
233
215
171
208
150
150
212
174
112
227
150
112
137
193
165
150
194
121
144
112
115
175
160
193
187
179
112
172
212
255
166
271
150
165
167
193
194
150
259
195
240
201
121
112
115
205
192
268
181
153
162
164
215
237
167
194
217
136
234
170
171
210
210
123
210
172
150
147
150
181
210
121
171
150
208
161
167
112
228
150
202
170
121
208
212
112
194
150
247
208
143
228
150
241
170
159
208
208
160
112
150
121
202
182
150
185
223
121
225
184
234
229
237
112
175
112
208
130
231
171
179
112
237
195
181
150
176
150
186
135
211
121
150
226
124
167
186
194
176
178
170
219
121
121
164
112
233
158
150
208
115
150
112
171
192
156
208
215
137
194
167
112
170
232
217
220
150
225
150
150
147
171
250
112
171
150
226
232
266
121
121
170
150
137
150
112
212
232
218
231
181
121
150
170
284
112
243
203
130
228
160
215
130
170
115
130
194
112
172
208
152
175
150
147
121
150
259
150
228
170
121
174
170
165
124
150
210
143
186
165
174
150
210
123
176
192
199
218
121
170
177
121
205
211
208
164
112
121
170
112
210
171
164
181
207
112
175
167
250
231
172
156
174
165
112
193
241
208
201
136
170
212
208
181
167
112
208
205
176
204
150
170
193
150
193
160
208
173
208
150
123
112
208
203
208
244
212
172
172
121
205
112
255
124
205
150
153
237
112
158
128
137
121
147
165
112
150
150
195
156
203
234
136
217
208
121
150
112
171
121
201
165
121
112
150
194
217
112
203
208
112
202
185
172
121
147
137
192
112
210
121
150
228
150
158
203
170
172
170
112
243
171
172
112
150
153
112
130
220
172
208
170
141
112
112
176
150
115
121
247
201
112
216
205
121
150
124
121
136
112
150
255
123
208
112
203
206
187
194
228
112
194
192
121
172
186
112
220
172
158
150
208
202
196
247
112
158
121
222
255
220
189
203
208
167
176
112
130
172
167
170
135
172
150
185
150
208
121
112
150
172
147
177
214
172
159
167
193
225
170
164
219
205
208
178
165
112
135
189
204
187
150
150
231
208
208
112
112
112
112
121
147
189
179
121
112
150
158
270
181
233
121
164
217
172
121
176
124
206
208
257
208
135
121
167
170
121
112
205
186
112
124
250
250
208
207
172
170
121
150
136
143
150
217
147
150
167
165
170
229
194
143
137
112
231
147
121
212
123
121
228
121
112
124
158
190
136
186
175
186
201
185
159
196
172
176
139
156
186
112
121
174
194
223
112
112
208
179
112
237
171
194
167
121
226
112
199
208
112
150
272
158
208
220
150
167
175
187
150
143
208
121
150
210
206
136
150
240
179
157
201
150
165
147
201
158
239
123
240
243
121
150
150
121
193
121
158
112
177
231
186
171
147
150
144
223
210
170
172
123
207
150
167
186
172
121
150
112
202
167
177
179
167
208
123
170
208
165
112
181
172
123
243
250
171
192
176
177
250
228
150
150
150
275
165
276
170
181
112
172
112
112
112
121
167
121
208
172
170
212
228
168
234
206
123
167
112
112
150
121
232
167
123
112
208
130
208
171
167
175
156
162
293
208
112
123
121
143
187
166
121
240
172
202
150
181
121
150
170
219
171
183
171
121
121
147
170
193
112
212
112
167
112
237
186
181
193
130
203
302
264
121
208
121
112
135
150
121
244
112
228
172
204
167
160
128
172
167
150
220
152
112
176
255
115
237
178
112
150
172
215
121
217
123
173
237
171
135
172
255
187
235
139
150
165
201
159
194
208
240
171
186
150
150
218
279
135
147
187
243
150
208
167
190
186
202
206
208
217
123
112
121
166
190
208
165
121
181
121
121
207
196
162
173
226
225
115
195
194
150
150
167
231
150
170
112
208
172
210
150
128
112
208
167
210
208
216
176
176
112
115
212
115
177
123
193
176
165
152
172
164
147
167
170
181
150
174
243
172
228
243
202
121
178
121
250
203
208
167
121
202
165
186
203
121
171
172
212
204
177
203
121
112
170
212
234
150
208
123
135
208
264
136
152
194
128
207
174
192
208
203
178
194
263
172
208
208
193
177
172
226
150
223
150
181
150
150
150
198
179
256
115
150
231
243
234
150
137
150
172
168
167
167
123
124
243
200
171
208
174
136
147
194
167
194
167
192
193
150
186
121
208
123
115
181
229
240
171
217
208
208
208
210
124
172
137
173
112
115
172
123
208
241
147
263
244
252
162
135
181
177
192
150
121
150
157
194
174
121
171
165
130
194
112
193
112
150
135
223
208
121
156
150
172
172
187
181
171
160
172
167
177
150
121
202
150
186
115
208
112
172
182
143
193
228
112
194
123
202
208
183
121
229
167
147
208
150
147
181
170
150
121
165
170
212
208
172
115
121
172
174
228
121
178
112
176
266
217
160
147
217
112
150
203
165
186
150
202
128
208
176
136
158
112
165
167
181
150
202
158
181
176
112
208
135
150
243
186
170
121
152
143
230
157
156
121
178
150
203
232
170
135
112
174
171
192
226
208
186
121
181
167
143
123
150
202
242
147
123
112
210
225
112
172
121
164
172
223
143
172
112
150
121
205
137
150
153
112
233
174
150
176
150
135
159
224
168
232
150
123
112
229
172
123
208
193
233
174
195
237
167
186
112
254
208
112
158
150
208
167
112
207
112
239
159
208
192
181
219
165
167
195
215
150
165
150
150
208
173
195
202
139
124
225
171
136
240
136
171
136
263
202
206
196
164
193
172
168
112
121
135
112
112
135
202
112
159
135
194
172
187
150
176
135
112
212
112
212
208
170
123
150
121
194
112
200
176
208
262
112
123
203
121
194
192
121
121
181
172
259
208
228
150
231
208
156
112
165
208
121
250
112
123
150
175
150
223
196
179
136
147
184
255
152
206
186
184
112
150
226
159
150
167
165
158
265
175
130
193
152
115
208
181
123
208
196
160
170
217
176
121
121
203
121
170
171
212
208
217
160
135
228
170
143
208
112
132
186
121
150
150
144
121
234
121
150
136
193
201
150
193
210
150
121
171
150
172
170
112
208
137
171
136
208
121
297
202
167
228
112
176
194
170
243
121
150
112
150
208
228
190
115
150
150
112
156
254
171
150
193
208
202
112
204
136
171
121
150
172
112
121
275
238
121
112
192
205
150
170
155
176
150
236
170
147
121
239
201
172
150
115
158
121
128
193
121
208
193
243
112
115
172
170
136
150
171
176
230
208
175
302
187
205
203
207
239
147
170
215
166
214
187
150
112
121
150
167
250
201
181
145
192
121
202
112
162
150
172
150
232
171
231
112
229
167
187
150
242
199
194
135
218
209
190
121
198
193
112
172
181
176
121
205
224
181
170
194
186
231
208
164
195
210
150
193
164
239
115
194
172
176
181
164
242
236
208
177
181
275
208
112
186
112
208
121
112
121
167
167
112
193
193
156
228
219
112
121
150
263
202
208
255
150
168
202
150
121
170
112
123
192
112
134
150
165
112
112
123
219
181
167
150
196
259
136
183
123
260
172
150
194
121
170
150
167
194
170
219
147
124
112
112
208
137
194
255
209
115
143
171
231
218
170
158
243
167
195
121
172
150
219
173
174
245
194
123
192
170
150
156
193
150
150
194
276
160
172
187
150
167
150
158
167
236
150
190
167
124
247
200
137
170
170
150
212
217
276
184
165
176
186
228
172
165
250
112
121
257
112
150
194
112
167
150
156
208
195
205
178
150
177
147
201
228
237
266
171
112
112
226
176
244
170
112
180
121
121
255
212
112
193
150
198
121
160
167
181
214
167
158
112
233
172
150
208
112
136
121
150
176
305
208
150
194
172
225
150
167
212
231
241
203
189
165
112
217
172
181
173
123
210
212
282
228
219
171
165
202
216
121
121
186
167
112
263
121
192
217
210
130
112
170
155
136
202
112
121
150
170
171
195
199
167
146
112
223
178
121
156
176
124
172
112
194
187
218
172
112
234
150
170
208
159
121
194
121
121
150
217
112
121
172
150
165
167
172
206
190
123
124
197
193
317
115
146
172
136
194
112
121
250
112
115
150
242
112
243
112
213
170
167
171
186
201
124
171
121
243
150
228
159
112
190
112
130
130
172
152
112
115
182
172
194
201
121
150
197
147
232
164
167
210
167
205
112
150
172
152
152
193
165
172
137
150
150
135
204
297
167
194
147
208
121
137
228
208
167
176
147
208
150
235
158
208
150
112
150
202
181
159
150
112
194
208
255
172
128
150
208
237
121
124
202
112
121
136
212
147
156
175
220
121
150
121
172
121
219
208
150
121
158
112
150
112
150
121
210
167
147
167
121
167
115
112
219
239
150
121
210
167
194
150
150
228
243
217
172
168
200
121
177
206
150
135
258
213
167
121
150
112
195
112
150
171
112
217
212
112
121
123
121
201
190
165
208
276
208
208
168
121
208
192
208
137
239
144
195
170
178
172
164
208
201
212
229
112
150
167
202
171
112
194
135
152
112
193
171
186
189
112
187
121
167
187
115
121
192
217
112
150
172
167
260
215
161
143
181
172
121
215
172
150
146
150
150
172
228
179
172
170
276
115
170
210
194
150
194
168
212
112
165
255
172
182
228
238
172
164
152
210
237
150
167
250
157
121
135
297
124
170
112
171
263
112
176
112
182
263
226
202
194
112
147
208
150
193
152
217
176
212
135
137
225
172
158
201
208
160
172
255
259
112
279
150
172
193
186
121
239
150
112
252
205
187
112
181
219
209
147
208
167
121
207
219
150
158
225
194
165
143
136
164
123
237
242
176
150
194
112
167
147
150
168
150
181
170
170
173
168
112
202
130
172
203
176
150
171
170
186
205
137
167
227
121
152
234
202
147
203
112
147
112
150
225
181
242
150
165
112
130
165
170
171
208
174
186
121
174
174
181
176
150
123
176
172
195
112
170
172
121
175
112
123
228
203
112
137
167
152
150
150
167
172
150
147
243
150
123
231
181
156
165
194
195
168
159
150
172
123
150
208
302
192
178
201
150
172
144
170
255
165
179
218
121
202
214
150
171
143
265
172
136
172
187
112
192
121
202
171
159
112
186
172
135
170
212
186
131
150
193
135
112
160
206
226
176
150
272
243
212
201
231
190
237
147
112
150
150
178
121
156
112
177
220
165
150
167
239
150
167
135
167
184
181
233
202
194
150
121
222
150
112
123
112
212
165
204
181
208
201
236
187
208
212
269
121
150
237
237
136
121
157
181
112
210
210
219
179
135
207
123
242
112
172
236
167
162
177
230
112
112
210
176
165
239
172
226
208
150
112
194
146
172
210
174
162
150
193
207
179
193
208
174
156
172
272
187
112
171
159
150
150
198
150
187
172
167
212
136
195
193
210
201
250
150
121
193
137
243
170
115
121
112
193
164
150
167
144
150
112
170
226
210
172
150
239
203
176
253
208
168
143
121
168
141
165
207
187
180
160
195
158
181
219
220
297
186
210
171
210
236
226
220
150
171
185
217
121
167
205
112
143
158
160
136
168
194
202
158
230
187
164
112
112
150
112
121
190
215
218
147
170
225
112
167
172
150
165
201
150
167
123
121
243
186
197
112
302
171
165
272
170
150
150
179
123
158
208
150
186
245
228
168
112
150
150
225
172
281
121
194
171
150
121
121
167
112
233
207
143
137
167
208
231
192
112
177
121
121
193
167
121
176
208
196
202
158
208
150
218
123
225
171
167
128
208
170
150
150
173
237
170
256
150
157
228
137
170
150
176
150
156
194
123
161
112
121
229
172
150
177
137
112
194
124
131
150
112
121
172
112
208
121
240
201
167
182
179
218
188
167
192
220
112
123
253
112
157
172
170
204
191
263
243
112
112
165
186
112
112
112
112
179
210
210
172
172
150
171
172
171
161
275
207
121
172
194
212
217
207
251
181
228
193
124
172
170
194
172
112
123
150
201
121
220
208
228
171
173
186
121
173
208
240
172
225
136
206
186
246
171
208
194
187
121
143
150
127
172
212
201
170
217
136
168
207
204
123
192
150
121
243
150
123
186
171
235
240
202
135
182
123
147
150
112
194
150
172
165
143
165
176
166
162
181
124
135
123
167
112
123
112
194
150
112
302
150
190
150
202
181
150
150
112
208
112
147
202
167
195
187
237
172
144
172
212
136
147
215
137
179
135
112
208
170
193
208
208
122
153
172
167
124
301
210
167
181
150
228
171
150
192
172
170
231
195
150
210
156
112
195
208
226
165
232
181
168
121
112
187
229
112
124
228
167
147
230
121
123
150
210
112
179
112
239
112
112
141
171
193
136
167
150
165
237
210
202
146
247
174
219
208
238
237
164
156
160
195
209
112
123
152
150
121
112
177
147
191
167
124
156
232
193
250
112
171
123
250
245
164
178
220
211
241
240
193
150
167
150
150
275
244
187
202
121
135
219
193
203
170
167
194
195
194
220
172
205
135
192
143
171
210
179
167
172
237
181
205
112
147
171
172
172
167
209
186
231
165
121
220
171
157
167
112
208
177
227
215
130
112
162
276
123
170
181
121
112
192
150
150
229
112
112
203
172
276
172
112
168
112
176
186
208
217
115
172
112
208
187
168
150
172
240
121
166
123
178
195
112
195
195
195
179
172
208
159
193
196
193
150
121
208
172
112
162
121
123
170
150
150
150
156
193
234
177
135
150
124
123
112
208
171
210
233
210
231
123
159
186
167
112
172
112
226
208
156
112
150
178
200
130
167
171
144
112
121
240
208
212
247
221
276
172
243
170
167
112
159
197
237
156
236
112
242
156
115
172
112
194
196
167
228
150
150
208
172
135
170
121
195
170
208
217
115
250
208
135
202
112
195
193
195
215
121
194
121
164
135
112
226
150
130
123
191
207
150
121
160
159
150
237
121
204
167
137
181
194
252
112
172
167
150
112
150
115
143
302
187
225
167
150
112
224
201
212
233
150
231
210
158
136
181
220
250
181
121
228
150
226
177
121
216
112
158
112
181
200
115
167
203
112
271
112
136
215
150
174
157
170
112
121
143
217
171
181
130
182
204
228
195
186
124
255
208
150
194
112
170
213
212
184
252
250
210
112
123
186
205
112
123
150
112
210
150
212
150
112
201
218
179
172
284
229
172
172
150
186
192
159
193
208
164
202
208
164
112
172
115
208
136
112
112
190
171
115
195
167
172
136
123
210
226
160
176
243
115
121
121
165
208
159
218
170
171
123
121
257
150
183
112
171
170
172
158
150
124
218
171
150
224
217
137
228
208
121
207
112
150
167
128
136
112
112
170
171
213
278
150
165
174
171
181
177
208
194
123
239
150
180
197
195
205
123
150
203
150
121
219
128
228
210
208
121
150
167
181
124
228
159
288
193
112
171
172
240
112
112
123
239
139
137
208
235
272
136
167
170
121
150
147
176
112
150
170
121
194
136
121
172
186
150
112
136
147
172
208
179
156
228
208
150
136
150
206
219
238
167
112
172
112
172
281
187
174
136
170
194
211
197
212
237
235
181
159
187
121
137
112
165
115
150
159
150
205
219
112
170
228
112
123
210
112
190
121
150
177
147
121
234
178
208
219
167
172
212
165
150
121
171
171
213
208
112
164
212
167
121
112
187
173
203
150
137
171
280
250
171
150
123
150
112
159
189
201
121
170
112
170
212
112
174
124
150
172
176
208
232
225
181
136
171
172
186
160
187
202
135
150
112
218
150
112
173
150
208
240
123
170
121
112
121
167
214
181
121
171
135
137
231
121
227
112
123
150
171
150
202
143
225
172
253
115
276
195
167
175
124
193
164
170
264
194
170
186
170
230
136
181
237
150
208
150
175
150
174
243
121
121
255
203
244
208
121
177
159
179
179
177
172
124
217
192
128
150
170
150
194
171
144
121
170
176
201
121
164
123
208
112
172
227
158
174
146
167
201
112
175
195
150
164
208
172
112
193
191
136
172
231
123
228
172
112
205
164
208
150
147
171
195
147
250
135
228
172
194
112
243
121
115
150
208
239
112
202
147
230
158
203
185
123
137
172
208
294
112
156
175
208
175
121
167
156
168
147
159
208
121
150
150
152
172
170
147
245
217
226
115
137
147
150
172
231
121
160
194
150
186
147
160
225
215
299
158
176
160
252
196
112
150
171
115
112
171
192
204
196
236
121
208
194
143
137
181
187
212
217
121
150
150
112
170
112
233
157
112
121
182
172
172
152
239
123
112
150
121
176
121
208
170
123
202
150
172
121
176
173
176
229
165
174
121
115
212
171
167
276
216
128
123
143
228
229
194
212
121
171
112
231
170
159
167
210
167
208
172
176
174
219
112
121
150
232
112
167
112
181
150
177
146
121
159
158
203
135
136
137
170
112
208
152
150
187
171
112
112
226
150
150
176
150
112
194
234
201
170
177
150
171
112
150
244
150
210
112
156
174
228
121
112
233
150
237
261
203
165
180
186
112
176
226
170
192
164
121
276
121
147
115
150
195
121
255
123
228
176
255
128
199
143
121
150
121
147
203
158
210
175
137
167
150
112
165
121
208
152
137
167
172
228
112
156
150
167
128
302
184
184
150
150
150
228
201
228
144
121
241
255
150
215
112
195
152
121
150
150
208
243
123
135
150
172
136
237
150
123
150
199
156
170
150
124
185
147
229
186
217
171
241
170
208
172
203
203
176
226
195
150
135
231
172
264
160
150
150
121
172
196
112
167
150
199
205
230
228
158
149
201
146
201
164
231
172
194
263
187
150
137
228
150
207
179
121
165
167
255
176
167
112
171
150
199
167
233
172
150
171
216
121
167
135
172
121
170
217
167
181
177
121
176
150
150
147
150
150
168
208
121
112
150
172
112
255
217
144
172
194
208
150
263
172
193
160
165
150
135
134
160
267
208
210
150
172
195
136
241
213
181
150
237
186
112
112
167
170
202
237
150
208
150
172
230
112
164
193
121
208
349
167
171
167
112
203
187
279
167
208
208
121
171
218
137
172
112
150
215
231
150
195
135
199
172
178
150
121
186
150
150
150
156
231
137
123
167
171
157
147
165
225
208
179
156
193
168
172
150
181
177
173
152
177
135
171
150
150
187
176
258
123
150
130
121
184
171
112
137
158
150
176
193
220
238
205
177
187
203
121
212
121
181
250
209
208
181
150
186
123
135
121
187
170
165
147
167
112
237
112
165
208
194
194
123
143
208
150
231
137
147
263
121
204
230
194
112
112
143
121
115
210
181
159
150
112
289
172
136
150
158
208
165
192
124
186
208
194
250
150
179
233
135
186
150
172
219
167
196
112
267
121
181
207
170
123
121
147
121
150
135
184
208
176
150
240
192
172
208
150
172
240
112
121
121
112
164
158
150
194
121
157
201
172
181
255
172
208
172
192
174
150
160
150
172
150
184
208
186
184
172
150
208
170
174
121
219
240
212
177
192
136
218
172
123
150
112
193
136
165
150
208
150
115
150
206
143
218
164
121
150
176
121
170
179
123
209
181
195
170
150
115
147
175
234
112
172
112
195
248
123
121
193
121
121
121
121
179
255
150
217
239
152
208
213
189
174
172
181
167
160
136
208
177
112
150
192
210
167
121
172
121
178
112
130
112
217
193
150
121
170
208
194
237
112
240
112
121
194
176
172
239
167
206
229
171
170
147
135
199
207
170
150
202
193
115
135
194
190
202
164
212
263
172
121
195
237
112
212
112
150
187
190
121
150
150
170
172
275
150
239
150
165
200
172
208
172
187
172
112
121
112
123
171
112
194
164
171
112
255
172
233
208
115
112
228
173
150
112
160
152
177
156
208
185
208
228
276
150
152
176
121
121
278
170
150
150
150
204
121
152
171
236
168
243
160
243
178
150
215
234
121
112
121
175
203
137
164
193
159
112
112
150
192
150
167
147
112
208
225
150
208
171
208
193
172
203
123
208
150
172
135
194
152
150
281
233
167
150
167
121
137
228
121
112
208
121
150
177
147
171
170
115
274
171
193
167
121
162
223
112
171
170
165
121
150
152
237
202
228
169
239
202
208
207
128
164
243
198
156
225
136
165
115
123
189
191
121
137
209
156
121
235
181
121
150
237
158
115
112
121
239
231
205
171
136
228
176
150
124
121
210
112
172
201
150
123
209
150
205
112
137
150
171
150
170
150
167
170
168
203
176
172
186
181
177
167
177
181
202
232
121
226
150
193
158
253
124
121
208
112
150
176
208
112
121
153
150
255
123
115
208
162
208
136
171
112
208
150
121
112
137
242
170
147
112
112
170
157
112
167
121
228
164
186
208
186
218
258
167
237
112
207
167
150
181
172
143
208
226
257
150
150
170
150
201
203
165
237
150
205
124
167
193
171
152
160
167
243
172
112
146
220
121
208
167
112
136
121
179
176
237
147
210
203
127
194
150
197
210
121
174
150
193
177
195
203
150
202
233
150
152
150
176
227
212
190
208
136
115
178
218
224
150
202
187
194
137
226
208
250
212
150
159
208
121
275
150
242
150
112
194
121
112
170
121
123
137
302
210
181
187
176
214
177
302
208
143
112
276
128
167
208
121
112
112
212
210
147
121
250
150
204
208
112
112
150
214
240
195
208
233
220
226
170
150
167
158
146
170
207
186
226
143
150
172
112
193
171
147
144
172
184
205
181
165
254
112
238
257
208
164
121
112
121
112
212
150
165
170
170
112
150
112
208
227
152
218
112
159
239
121
187
150
112
225
190
124
230
181
167
208
194
186
150
297
147
135
123
207
150
150
171
115
202
212
198
186
171
170
195
302
176
121
202
194
147
210
112
228
190
121
208
112
171
150
186
174
186
208
124
160
150
173
150
150
203
255
193
201
212
240
130
150
137
150
210
237
170
228
150
250
258
167
217
167
172
302
228
210
167
208
124
168
207
123
299
210
193
171
186
158
210
150
112
207
123
192
171
231
150
150
121
121
158
208
212
237
236
130
186
181
171
194
123
236
195
217
150
170
164
136
167
158
228
171
123
239
172
192
150
112
150
172
172
150
165
121
150
175
239
150
205
134
194
112
164
147
165
170
165
208
205
150
171
121
121
123
112
112
168
112
121
150
121
150
167
123
193
150
160
186
121
189
112
177
150
195
176
193
201
121
164
165
262
150
167
233
167
164
121
202
112
150
209
170
123
197
228
189
167
171
228
150
112
121
152
112
177
172
205
112
182
167
220
181
123
130
124
176
112
212
112
176
167
179
164
121
176
123
233
172
159
112
172
112
135
175
115
214
150
208
123
150
123
172
194
112
195
123
137
176
121
112
112
121
159
121
152
144
121
150
170
136
150
172
239
177
181
186
172
150
170
239
241
150
160
257
150
195
255
167
112
208
208
233
217
171
216
150
112
112
208
123
121
302
195
302
150
150
121
150
199
171
181
208
170
121
121
225
167
150
112
136
124
229
208
112
147
178
172
167
121
207
211
194
160
112
150
212
150
121
194
150
172
123
112
184
147
150
112
171
208
172
150
135
150
159
208
112
112
164
171
190
172
121
236
172
137
150
150
124
181
112
176
186
115
203
172
153
231
112
160
170
177
208
234
181
112
112
214
112
219
237
172
150
156
213
231
130
239
130
112
124
203
243
135
172
176
226
187
166
150
179
112
236
150
172
143
233
205
112
152
219
167
186
236
170
212
121
112
112
240
187
302
208
172
215
210
150
256
193
130
250
202
121
112
150
121
165
150
168
150
170
194
112
170
208
187
218
167
208
150
170
201
165
187
221
226
212
121
150
121
225
172
250
168
165
150
121
167
170
172
210
150
159
234
176
170
150
157
208
150
172
194
210
121
194
112
210
171
150
121
228
242
150
202
242
187
121
112
170
174
178
167
121
147
217
257
219
174
150
202
181
121
210
231
112
157
171
194
112
205
195
170
167
171
115
176
156
135
170
227
150
179
194
137
172
223
136
208
196
156
121
230
177
112
228
195
137
150
177
112
174
186
179
237
139
170
208
150
172
170
240
121
170
202
172
194
150
182
164
208
172
270
203
217
228
121
186
219
158
195
208
121
160
156
192
141
208
121
112
121
158
176
156
112
192
150
214
210
112
112
121
271
160
167
203
176
112
150
265
226
121
244
170
197
202
150
216
208
214
186
121
152
131
184
112
218
164
136
187
226
237
233
226
150
182
167
219
168
168
194
225
186
194
212
130
237
175
152
186
193
211
152
172
228
255
150
121
193
193
232
208
121
115
172
134
112
186
208
150
208
143
150
131
128
186
152
220
172
158
175
238
202
192
143
216
112
212
112
201
172
202
121
170
194
194
112
181
175
234
195
171
159
204
202
226
121
194
135
210
150
202
158
124
170
208
177
186
121
172
193
170
255
185
186
170
150
150
128
112
257
165
124
170
196
226
208
195
226
172
150
220
197
212
212
167
237
130
208
176
186
225
121
178
204
136
297
220
112
121
167
218
150
170
172
121
192
226
150
181
206
112
193
170
172
194
123
205
170
150
112
186
167
220
150
210
115
244
210
185
208
177
123
135
121
192
171
205
216
208
135
250
158
208
167
112
198
174
202
225
121
181
150
208
150
192
207
193
123
172
112
165
172
112
147
167
220
178
121
172
176
170
170
168
150
112
186
158
207
276
186
171
208
198
165
193
112
121
150
231
172
214
184
204
150
112
168
112
112
181
181
121
136
250
112
147
150
121
212
250
170
186
150
150
150
150
208
263
265
162
165
172
244
150
147
208
171
243
150
156
243
150
150
123
164
177
271
150
152
212
170
171
208
147
150
208
215
167
115
176
167
195
123
174
255
112
121
190
184
194
123
186
207
150
193
123
225
170
210
128
209
208
203
207
198
112
167
172
121
172
112
167
156
112
237
202
214
205
205
170
194
186
218
150
130
174
172
135
181
215
193
177
229
226
150
123
112
172
275
164
115
170
115
150
176
196
228
112
137
233
150
144
190
123
147
172
135
237
250
150
187
200
172
167
237
217
208
203
233
228
177
165
192
150
192
213
250
112
150
121
147
121
181
150
181
112
130
184
255
176
210
195
170
158
176
150
193
157
210
121
208
171
172
229
263
176
121
123
176
226
156
123
229
172
172
146
187
147
170
215
150
164
203
177
172
150
150
193
192
135
179
220
265
236
137
121
150
123
208
210
121
136
121
181
195
208
225
208
112
130
172
112
175
150
150
167
150
225
172
203
263
172
167
238
147
255
121
220
112
121
187
165
164
112
121
228
165
112
150
177
172
150
185
172
150
170
187
123
167
150
150
112
121
218
233
121
208
181
157
121
152
150
164
112
174
228
201
150
115
208
137
150
253
171
176
171
124
137
112
177
208
147
115
172
112
137
171
177
112
172
170
147
208
208
128
210
194
177
121
208
162
193
218
202
161
112
250
112
158
177
124
205
240
212
189
203
178
167
181
150
165
176
208
135
150
136
163
182
172
124
150
186
210
183
202
164
193
212
219
121
150
150
150
258
176
112
135
228
202
195
150
135
228
208
177
112
150
147
203
208
192
167
150
112
207
160
123
160
219
144
150
112
171
136
150
194
171
112
144
121
150
170
150
186
237
150
121
214
188
176
135
150
195
150
121
208
193
121
167
192
167
171
208
215
195
150
136
112
202
172
150
112
201
208
181
239
164
199
268
217
130
135
297
208
194
250
204
150
194
150
168
208
208
194
156
165
176
176
135
165
171
176
143
199
258
123
121
275
179
165
208
237
179
150
157
112
195
171
205
167
167
168
218
176
180
194
121
176
215
137
208
208
143
219
112
136
219
194
250
208
150
165
208
171
187
250
112
187
263
215
229
112
208
130
195
112
115
186
213
167
115
279
181
167
124
241
136
150
175
115
121
187
231
112
150
208
193
171
150
121
150
150
171
172
172
186
150
219
137
202
215
172
164
150
225
228
167
171
150
112
121
195
171
176
123
201
167
207
150
112
147
219
135
176
171
112
177
177
150
124
130
195
124
176
150
218
112
121
231
205
208
233
237
150
176
203
172
112
136
219
194
112
176
164
203
186
302
237
208
112
150
112
218
121
176
137
208
197
174
112
179
195
115
234
159
302
165
172
167
217
167
112
208
150
112
150
208
208
160
112
176
219
150
112
220
184
240
171
112
170
181
158
232
208
260
181
202
135
112
210
135
194
150
152
171
187
121
150
143
278
242
237
112
176
210
237
231
167
174
200
131
205
220
183
170
193
121
112
177
201
228
121
112
112
181
181
150
121
131
168
208
220
115
123
194
208
150
121
136
124
255
208
193
170
181
167
202
187
257
112
150
137
186
160
172
175
231
177
150
217
121
160
208
150
171
176
205
167
215
176
229
231
177
150
147
112
145
226
112
176
202
115
123
254
208
186
186
172
267
217
215
212
208
168
171
150
208
195
150
112
112
181
165
208
239
130
168
181
137
172
214
187
150
121
203
123
201
171
177
172
208
150
291
150
123
121
123
203
212
167
237
121
164
187
141
194
210
150
123
165
112
144
194
193
171
150
150
175
209
193
171
228
112
161
150
170
121
123
121
187
159
172
194
272
234
123
170
195
240
196
150
123
150
203
196
150
164
141
217
181
160
187
156
193
150
165
174
194
210
177
174
156
121
136
192
136
170
231
172
208
136
164
167
121
159
121
250
170
178
172
241
158
192
218
150
112
136
187
219
241
121
177
184
172
172
175
176
196
172
171
112
218
121
215
228
237
210
159
208
171
121
205
137
112
165
236
115
170
112
123
239
137
130
150
179
112
194
229
135
171
165
194
165
208
208
236
212
176
194
181
112
112
237
121
228
112
194
150
167
231
203
112
231
239
255
181
121
167
112
195
189
194
195
144
255
112
124
171
231
167
165
168
115
217
167
121
121
171
112
136
171
161
170
167
202
171
228
189
172
208
218
167
167
172
121
150
112
112
171
226
170
186
223
121
181
161
165
201
235
112
237
136
172
150
171
121
150
189
228
121
177
150
184
112
234
121
146
158
206
112
121
150
171
174
156
170
167
208
112
167
187
170
177
112
121
121
147
208
181
208
164
112
219
112
237
208
208
121
150
150
128
168
168
137
112
203
206
115
302
186
150
150
136
220
160
137
172
196
243
208
121
167
159
135
235
165
194
208
201
112
168
216
150
255
202
150
121
212
150
150
163
250
278
152
165
208
124
150
201
121
170
177
229
203
179
112
121
239
170
193
165
164
172
278
231
115
179
150
181
198
159
150
136
186
136
156
147
229
182
200
186
161
194
130
228
174
176
167
150
176
112
239
150
240
171
123
150
162
221
135
187
128
121
123
208
193
176
170
217
121
229
170
123
187
112
150
187
150
115
123
112
219
220
220
150
121
201
203
187
112
167
239
212
186
196
150
237
171
177
201
167
170
167
238
219
167
195
112
123
163
193
176
194
143
193
302
201
136
207
121
150
121
201
228
196
208
167
124
208
112
150
170
166
192
210
121
150
205
228
219
171
176
186
163
137
208
143
202
161
202
123
112
207
159
168
150
231
137
172
276
150
177
243
150
234
165
263
187
156
150
212
150
112
177
150
136
160
150
150
197
121
175
128
167
228
150
263
177
159
167
207
237
212
172
112
219
150
236
167
208
150
112
123
244
147
112
171
172
136
169
208
241
208
195
181
174
199
236
170
194
178
254
195
150
257
121
200
187
136
226
137
187
112
112
177
228
167
121
189
255
121
174
167
112
189
112
184
192
115
230
167
143
150
147
121
171
170
182
176
206
150
219
312
194
165
172
181
112
177
187
225
143
201
112
136
123
136
165
196
137
193
208
195
112
201
121
112
186
196
186
128
167
170
194
187
265
137
181
150
152
112
201
172
264
167
240
135
231
255
167
184
192
194
168
174
182
202
121
112
208
175
123
212
144
184
121
150
115
208
112
232
176
214
170
112
167
240
174
208
179
263
222
159
212
181
219
174
189
228
121
121
192
186
150
208
115
176
121
349
172
150
193
189
252
147
115
174
121
231
170
112
208
186
225
203
112
158
135
172
121
136
170
152
176
150
121
172
172
184
176
193
181
172
121
112
208
219
150
121
170
167
150
223
167
232
186
144
121
158
121
240
150
123
170
121
164
121
150
208
167
217
159
164
137
167
287
190
232
121
150
159
150
121
150
167
162
207
121
255
144
112
214
136
186
204
172
184
194
214
121
150
182
177
193
157
164
263
121
208
163
177
218
196
210
121
210
139
174
171
231
167
150
194
170
227
121
236
205
123
210
179
225
181
229
194
171
193
186
208
234
121
199
172
203
121
195
112
172
207
203
112
121
190
150
150
150
228
112
152
226
121
115
164
175
150
231
205
187
121
207
167
168
228
208
176
167
165
165
208
136
147
159
208
137
194
219
121
121
150
173
147
172
245
137
150
150
177
203
164
182
136
157
172
121
167
123
229
112
210
170
177
208
177
232
168
210
219
150
150
152
143
121
192
112
152
194
193
234
176
181
150
232
165
197
208
171
112
164
172
175
171
193
189
150
150
203
170
121
233
137
237
121
159
194
112
112
112
228
203
194
194
214
115
228
112
250
208
172
192
236
150
187
152
156
210
208
181
210
112
228
214
201
152
194
167
228
187
208
220
112
172
150
193
224
150
186
174
112
187
239
136
150
218
130
302
172
208
208
121
130
225
172
121
123
171
156
150
194
159
150
167
170
121
112
234
128
112
170
187
150
165
150
208
164
201
202
156
184
150
210
112
207
220
167
150
123
167
123
208
121
192
112
112
170
150
150
176
208
112
161
281
195
237
164
121
239
231
201
225
137
112
194
204
112
239
190
192
194
208
112
112
150
237
176
208
152
217
159
186
243
170
112
281
121
150
121
150
228
112
135
150
189
227
195
218
150
181
156
150
193
195
160
112
150
150
219
112
172
237
136
246
167
137
121
219
150
121
186
212
112
235
112
112
220
165
175
165
181
112
186
165
247
171
181
174
112
172
112
278
150
167
150
208
150
171
194
150
181
186
291
208
208
112
242
167
150
165
121
283
150
172
213
171
112
231
210
216
150
170
181
170
184
112
165
302
208
219
208
189
201
193
112
197
144
150
172
250
245
112
150
229
240
156
212
123
187
177
207
253
112
192
230
150
112
195
121
150
115
112
172
242
171
165
176
150
112
170
195
160
121
213
194
171
170
121
189
174
159
172
130
173
112
177
150
208
158
208
121
115
165
179
208
146
150
235
181
112
208
150
201
112
172
228
176
212
137
160
170
136
121
186
135
115
208
218
172
137
167
208
302
172
165
136
186
177
245
170
123
172
165
174
131
112
260
181
202
171
112
172
123
194
112
158
115
171
208
121
171
172
170
150
150
150
181
150
165
150
225
171
207
170
181
172
135
112
207
237
150
210
137
150
150
208
150
112
135
150
112
158
212
205
212
240
150
123
124
159
165
242
121
156
172
193
123
150
208
150
150
172
208
228
220
150
156
158
208
204
170
233
168
186
168
190
128
250
220
208
152
160
172
205
224
165
213
167
115
194
189
137
121
229
171
275
178
181
231
208
202
236
121
208
121
172
176
150
214
167
165
171
208
115
121
144
112
192
171
136
167
150
167
170
158
112
172
123
112
172
172
130
193
218
170
219
150
187
112
235
135
181
215
167
167
150
172
112
112
174
201
165
150
112
143
225
176
150
247
176
121
208
177
208
237
112
210
150
144
136
203
223
201
112
172
208
144
208
186
213
150
239
150
112
165
193
150
212
150
202
171
229
123
195
251
121
144
112
121
208
112
231
176
176
189
214
208
208
229
201
286
208
234
223
194
112
165
159
172
195
253
238
244
150
165
206
217
187
176
121
193
156
208
112
153
236
121
216
150
172
137
208
170
112
135
172
214
176
176
150
159
150
171
165
210
136
150
176
150
224
150
150
200
150
137
237
279
171
213
203
195
276
230
255
226
123
167
275
167
177
121
181
232
167
193
150
204
150
152
177
167
208
174
218
121
112
175
150
208
121
115
228
146
112
150
150
165
121
220
171
112
147
269
269
232
168
172
121
172
175
150
176
220
236
121
112
198
159
267
137
121
196
172
121
121
159
208
194
135
167
112
121
202
208
164
112
208
171
112
150
160
165
121
123
135
181
121
208
165
112
229
255
181
210
237
201
215
181
181
171
121
130
112
150
207
185
193
150
172
226
150
171
229
150
239
236
150
112
160
167
186
150
192
150
150
137
121
194
250
201
158
187
167
150
170
160
112
208
121
121
218
208
212
193
208
150
240
215
165
123
150
150
205
159
194
170
194
220
121
206
171
112
237
147
171
228
160
121
170
229
208
181
237
171
172
150
150
181
216
150
139
185
240
181
234
213
194
184
112
112
121
202
181
121
208
112
234
208
177
115
223
225
178
156
135
195
208
192
137
237
121
150
234
175
122
168
112
165
121
203
208
196
115
193
243
150
158
147
204
158
136
150
186
207
158
112
167
121
150
112
165
112
235
174
262
170
228
150
243
158
165
167
172
156
240
121
257
123
160
112
150
187
202
150
150
209
243
208
213
257
168
302
172
208
121
208
112
112
185
159
305
112
202
177
167
170
121
172
147
193
172
207
250
165
181
170
257
195
210
121
121
171
172
121
130
172
121
121
208
121
136
130
167
193
165
121
217
165
297
229
152
231
156
150
115
170
123
112
186
224
112
194
208
194
228
219
170
202
208
194
177
112
193
150
121
208
115
182
137
150
137
213
196
112
164
190
150
171
147
208
182
219
212
150
236
237
150
143
208
177
181
147
176
112
237
112
272
170
212
150
172
175
281
203
115
260
136
202
171
121
219
195
187
195
167
112
121
121
208
147
228
150
178
186
167
137
172
166
112
209
112
203
276
165
167
193
164
121
171
167
121
228
231
202
224
171
208
121
150
121
156
163
226
171
150
196
128
112
195
194
196
220
228
291
171
212
159
170
245
276
156
121
123
112
205
195
150
210
112
228
170
194
228
124
150
194
130
208
206
203
170
233
150
234
185
121
136
163
208
171
210
135
121
189
226
167
178
121
167
167
128
194
156
186
121
112
174
172
150
176
172
208
182
239
112
194
123
121
176
194
172
150
170
193
150
195
150
193
171
131
112
184
208
172
112
224
112
167
187
192
115
170
229
112
210
150
150
147
228
112
150
195
237
186
164
112
150
150
150
171
150
115
112
150
112
195
167
112
189
172
121
231
175
239
159
187
123
171
201
194
136
177
161
176
177
164
115
201
172
112
112
150
121
121
181
231
121
186
172
112
139
181
124
203
144
186
130
137
186
212
189
112
150
225
236
268
231
171
243
228
219
158
112
112
208
121
121
112
137
171
208
212
170
176
187
176
176
207
165
112
170
112
136
172
165
239
112
123
121
208
172
208
171
121
208
186
112
150
208
219
167
112
112
207
121
164
150
211
194
136
121
112
239
237
112
238
194
112
203
176
195
195
161
208
184
167
150
158
165
228
238
121
181
221
203
121
150
220
112
165
121
214
112
167
160
150
196
240
150
179
167
186
112
170
172
150
160
121
208
150
112
135
172
167
192
137
176
186
268
135
253
130
202
112
284
121
165
241
172
210
170
150
203
198
143
112
150
112
172
226
176
194
121
147
179
123
164
209
167
171
231
171
112
165
181
170
201
263
112
159
172
167
187
112
171
233
167
130
112
150
234
250
195
201
193
150
252
195
228
121
231
115
210
195
115
152
212
147
158
158
203
219
128
150
150
195
167
212
175
208
121
186
123
121
220
112
175
112
123
158
223
229
167
264
208
208
201
121
124
130
176
194
121
220
123
203
164
150
112
177
229
221
256
156
227
121
202
112
242
115
147
208
247
171
201
198
230
172
112
208
239
226
179
137
165
146
193
176
112
150
121
160
170
121
112
170
137
115
204
268
150
160
194
255
167
203
207
201
240
207
177
171
204
121
136
210
170
112
112
121
201
112
150
187
146
112
150
135
144
203
150
121
240
219
170
167
141
187
150
194
147
264
161
172
137
208
171
137
156
150
195
186
172
172
136
177
121
193
124
112
179
208
150
121
235
112
165
207
172
150
164
150
193
150
239
272
231
208
201
162
172
171
121
231
175
212
170
208
172
150
150
150
158
195
115
112
150
177
170
123
112
165
112
198
176
150
176
112
172
171
112
164
208
172
150
225
233
171
112
227
194
217
187
112
167
128
171
226
112
239
170
172
186
161
225
167
121
112
172
176
121
112
124
250
121
112
150
188
194
121
189
272
136
112
121
112
171
150
265
187
135
176
209
174
226
167
170
199
115
177
193
115
167
240
170
112
193
203
237
172
240
202
276
235
150
172
174
112
136
112
203
112
210
150
170
184
112
143
150
187
150
203
216
194
150
208
192
185
112
121
207
194
112
112
137
239
170
150
128
164
205
167
150
196
220
212
172
171
146
121
115
226
167
196
150
171
167
187
187
124
194
176
121
170
219
220
150
202
150
229
229
218
160
208
208
150
220
208
179
147
210
121
121
196
121
212
159
164
112
202
143
218
156
196
112
189
139
271
130
250
254
302
112
211
225
167
165
170
135
214
123
167
193
208
201
235
208
143
208
176
226
170
123
201
187
112
179
112
212
169
130
121
123
212
112
187
204
170
182
210
147
170
237
112
228
150
172
150
143
150
112
176
150
192
201
258
217
258
150
152
165
136
194
150
115
137
136
121
187
227
115
150
150
167
171
150
112
217
219
178
181
234
181
158
147
227
255
186
156
212
216
150
177
147
159
170
123
170
150
193
112
193
172
165
208
143
124
167
141
150
121
160
172
235
174
201
150
150
190
112
150
150
168
168
128
302
160
150
200
193
243
171
123
123
115
210
171
208
121
112
112
172
150
231
167
208
121
225
205
159
190
150
150
272
195
165
121
207
232
302
228
208
170
121
121
121
165
172
170
208
158
192
185
150
150
171
186
243
141
196
121
128
172
150
150
123
167
123
185
194
206
150
150
165
193
121
223
176
230
112
212
208
226
121
226
205
181
176
168
165
167
194
121
208
172
121
150
170
137
168
150
237
237
198
137
240
123
143
112
112
112
159
171
196
208
150
121
124
174
174
194
195
165
236
150
193
121
165
172
208
208
194
121
121
137
236
202
225
135
201
172
205
167
150
112
150
112
176
171
187
170
121
198
150
232
171
174
187
176
193
194
147
115
158
121
208
281
152
167
121
112
147
167
167
210
160
192
147
208
170
165
192
112
172
150
251
112
229
228
194
139
208
160
124
112
186
215
158
157
112
168
112
208
172
187
203
176
195
194
220
150
203
167
123
112
182
187
159
181
176
112
165
112
194
231
253
150
150
147
194
171
220
171
147
165
112
202
123
112
240
210
244
170
121
219
121
164
153
121
172
185
206
193
195
170
219
237
172
197
208
219
208
150
150
167
170
208
186
115
172
150
186
130
121
112
210
239
121
174
164
112
170
167
159
165
112
121
181
136
197
247
250
165
183
181
115
181
150
237
121
150
168
150
209
172
137
208
150
181
161
187
170
150
147
156
237
112
112
208
150
158
150
135
167
237
167
259
255
177
192
181
172
195
167
170
172
160
208
150
112
229
124
242
201
165
217
150
150
205
226
115
172
203
156
194
181
115
170
123
112
176
167
171
150
115
112
228
195
225
170
207
150
186
159
112
208
181
196
150
124
212
121
121
150
171
171
137
193
210
177
170
231
112
121
208
121
130
171
170
121
195
201
187
208
162
194
150
130
147
195
147
239
193
150
121
135
150
158
195
172
192
175
208
121
208
143
195
176
150
189
238
229
229
234
187
202
193
172
124
112
165
172
121
170
242
226
203
112
135
170
147
229
281
165
112
263
240
219
167
230
176
224
112
208
208
170
195
170
194
124
177
208
180
208
123
170
164
121
207
172
228
220
208
112
170
186
237
177
112
194
284
195
164
112
137
167
208
193
121
150
167
165
137
112
210
217
170
172
150
112
229
206
212
157
176
210
210
194
212
216
115
150
172
159
243
289
124
150
136
230
228
150
172
187
121
253
177
167
121
187
172
195
177
121
218
225
176
219
170
171
150
159
135
124
123
150
192
225
135
136
150
165
172
121
194
187
112
171
239
229
121
210
228
226
165
172
121
231
124
276
159
112
257
150
121
123
121
230
112
250
165
156
164
156
112
195
112
174
112
152
193
112
228
112
205
112
181
214
159
234
208
216
164
167
167
159
171
276
121
121
135
255
165
177
217
224
150
231
150
121
159
211
136
115
165
214
121
121
115
112
152
172
225
192
216
197
150
202
150
229
147
123
208
171
112
223
176
202
197
112
215
187
172
167
167
228
201
212
201
150
193
171
172
143
121
150
187
187
217
194
115
167
171
112
194
165
240
210
172
170
150
150
171
255
112
150
208
150
147
172
201
170
212
145
172
201
167
112
177
176
217
159
199
167
219
121
179
121
220
160
137
165
159
193
170
171
243
112
238
150
218
165
112
160
181
150
225
193
167
228
112
164
112
136
208
121
147
150
250
150
172
196
217
207
181
150
150
243
121
193
123
150
150
220
112
112
172
115
224
257
232
192
170
112
205
196
225
121
229
212
150
121
165
171
167
172
186
121
121
112
182
150
130
147
150
124
229
150
217
216
167
208
123
170
167
236
146
121
112
192
174
174
208
208
115
165
152
202
123
150
181
135
203
225
171
135
121
112
123
202
172
150
176
181
185
243
238
112
121
166
201
158
135
219
217
172
218
137
237
150
199
233
237
210
150
159
170
123
170
159
112
115
121
174
165
147
167
228
195
170
168
163
150
170
181
239
168
165
150
112
194
112
123
150
237
172
193
112
150
225
171
150
112
172
167
115
112
121
240
115
208
121
112
192
179
187
123
254
232
176
147
112
195
193
121
136
181
228
190
195
245
167
167
239
202
121
112
112
112
172
167
150
165
112
137
150
172
193
150
170
112
213
147
112
172
175
181
121
167
121
170
218
288
228
229
230
290
167
193
175
112
123
208
121
221
250
123
228
160
225
167
232
208
121
150
271
150
112
150
170
219
187
124
243
121
112
186
161
193
272
158
194
186
170
204
181
181
237
150
170
207
176
157
121
175
150
121
112
231
172
229
193
123
160
174
170
237
168
136
164
167
150
171
170
165
123
242
170
165
121
121
212
194
150
216
123
208
170
150
187
121
227
213
170
167
194
214
219
220
150
112
150
167
171
208
121
172
170
193
227
250
269
186
136
243
172
195
248
203
160
243
115
208
202
226
240
112
167
172
208
128
112
172
194
212
112
186
256
217
121
228
208
115
137
167
237
167
201
208
193
208
171
150
170
150
171
231
172
240
186
172
172
112
202
190
152
191
167
240
192
121
165
214
208
112
112
121
220
146
150
121
237
257
228
187
124
224
219
216
150
170
112
272
208
152
210
210
115
172
209
239
167
112
228
184
259
255
207
115
228
128
170
223
177
123
121
121
234
194
244
186
172
207
193
150
121
228
121
177
112
115
243
207
112
167
112
165
193
305
170
121
112
164
150
232
210
124
135
172
128
137
164
198
193
208
121
202
219
137
158
168
137
228
150
150
165
208
225
121
187
159
208
242
121
168
176
186
216
208
172
171
228
184
121
209
123
195
212
240
150
124
194
159
170
121
172
195
121
211
159
137
135
150
168
156
136
176
187
202
220
172
112
136
136
121
194
195
150
150
115
150
147
225
195
167
190
171
150
192
112
165
193
231
172
192
121
112
189
150
171
177
212
170
167
171
172
167
150
164
121
123
150
124
112
167
237
186
121
150
186
264
193
159
181
150
112
157
112
243
112
167
112
215
192
112
207
156
112
165
121
112
187
168
259
158
250
124
159
135
112
194
156
150
219
161
137
121
237
135
121
150
172
172
243
172
184
158
181
172
112
208
250
235
198
153
217
167
211
177
163
208
172
150
121
150
152
136
243
121
150
181
123
112
112
121
195
172
216
123
112
112
239
112
136
121
124
137
170
202
115
174
112
150
242
137
187
115
187
193
172
172
238
143
136
112
112
172
205
112
112
121
278
255
135
164
186
202
201
185
234
186
112
231
231
150
156
112
124
158
195
225
298
177
112
214
158
150
150
172
112
181
167
121
218
112
150
246
177
143
121
195
226
172
187
208
208
159
115
115
147
209
157
137
217
194
173
197
211
277
181
150
208
167
212
210
167
172
207
136
186
175
194
176
163
192
121
112
176
123
215
202
112
165
208
167
190
239
202
112
150
187
203
234
150
202
181
150
167
263
243
193
112
121
172
170
204
167
112
121
159
115
162
112
167
167
158
171
170
198
121
121
150
112
171
171
121
123
136
150
150
208
130
130
198
150
170
202
172
192
112
210
227
150
123
208
237
150
167
167
167
165
150
220
228
150
210
137
150
112
263
150
189
150
194
177
150
170
170
123
150
172
196
208
150
228
161
112
250
176
172
255
216
123
210
241
167
194
112
121
172
171
205
156
135
175
195
170
170
195
233
137
265
112
152
172
128
250
159
187
192
136
167
214
205
192
201
115
121
165
215
208
208
219
224
174
208
160
121
192
219
278
228
194
194
121
195
232
197
135
112
208
195
170
208
150
136
255
123
123
253
187
209
167
170
237
121
147
172
284
123
225
170
257
241
124
195
172
194
172
208
160
193
218
208
112
172
212
194
167
181
208
181
112
150
115
150
172
158
202
172
112
156
127
121
112
150
161
167
173
171
193
208
123
202
150
178
201
184
150
284
135
210
181
135
206
229
150
229
112
220
150
201
264
167
112
170
123
177
194
135
115
152
208
177
200
208
121
164
152
121
136
121
165
227
112
234
135
172
123
208
112
158
168
112
210
170
181
174
205
167
223
231
150
123
150
121
121
257
212
170
112
176
297
182
181
194
250
121
216
208
121
218
165
171
233
228
171
208
121
218
112
150
123
150
112
112
171
121
172
196
177
254
121
164
112
167
172
112
112
193
112
150
150
150
255
167
187
112
193
196
160
121
194
136
167
212
150
174
150
170
208
121
194
150
171
150
147
215
211
171
171
121
210
170
146
210
112
228
170
112
150
165
171
150
172
181
186
186
168
208
150
112
121
167
184
202
144
172
112
187
150
279
124
152
189
115
171
208
123
170
170
210
130
168
157
201
177
145
112
216
207
194
241
179
176
112
136
176
195
121
218
123
121
210
248
192
123
212
226
225
172
121
208
176
123
189
159
150
196
202
158
220
137
158
157
112
172
192
192
194
121
250
167
146
147
202
121
193
186
263
150
136
150
112
215
239
208
121
171
176
196
160
193
194
112
214
192
210
170
172
167
150
115
176
167
196
168
220
150
171
131
121
172
177
238
217
150
237
239
170
243
189
170
184
208
244
198
121
121
239
150
201
175
210
156
208
112
121
121
196
177
218
203
150
112
170
218
164
112
229
112
158
223
150
158
186
203
208
112
175
193
171
237
150
150
170
123
219
205
198
121
215
168
112
150
121
176
220
247
160
150
121
124
172
208
216
205
208
164
263
181
130
217
172
202
165
172
165
135
167
112
150
204
130
158
236
199
231
190
220
112
150
189
231
194
176
164
150
250
253
171
150
112
208
181
195
150
194
112
194
112
181
202
187
112
208
115
208
121
123
203
171
174
201
228
165
139
171
150
150
220
193
214
150
217
112
112
170
179
176
158
150
112
240
166
150
150
170
167
160
236
136
208
171
236
249
172
115
121
219
198
237
217
121
187
181
121
216
135
165
158
167
159
203
115
167
165
150
208
204
172
170
123
121
174
170
121
168
165
200
150
115
123
203
150
212
149
181
112
228
171
205
121
187
209
171
121
158
171
167
176
229
112
164
239
240
202
165
208
213
178
205
174
150
208
186
150
136
181
172
147
225
195
121
201
208
278
135
137
210
208
212
121
171
135
121
135
212
212
263
112
150
190
150
195
121
250
112
238
121
172
200
210
172
156
112
167
121
156
172
167
192
172
243
172
206
240
147
208
189
191
168
112
150
150
152
170
150
172
206
219
136
206
157
136
172
217
194
156
194
208
172
195
121
115
171
208
203
139
137
200
150
181
172
150
112
176
150
208
228
181
112
185
181
255
208
135
172
194
150
196
182
205
189
228
167
121
112
207
212
215
220
115
195
194
208
213
175
121
165
208
121
192
199
272
202
150
216
172
112
147
202
176
112
219
160
165
219
193
136
164
187
150
165
218
150
172
150
176
160
158
165
115
150
174
167
213
177
135
172
171
198
187
227
112
194
160
164
112
112
198
167
205
213
225
150
179
238
207
121
176
112
121
150
236
207
167
121
150
171
208
186
187
112
123
171
144
121
193
176
150
150
230
150
255
130
174
150
112
165
150
226
164
121
218
176
150
210
228
207
112
150
202
150
229
112
135
269
165
195
121
204
163
147
167
150
112
190
220
192
137
171
218
172
150
121
194
195
112
209
150
167
203
275
176
172
160
204
208
194
223
165
208
136
158
195
243
128
112
192
231
167
186
238
164
115
121
215
189
255
150
220
130
165
112
195
210
233
263
170
167
167
137
165
250
152
112
171
143
170
261
210
213
202
172
112
171
208
130
167
150
112
208
171
150
179
167
150
170
194
170
194
205
121
172
208
160
135
200
236
245
174
112
128
220
299
112
203
186
205
131
123
112
165
226
181
147
121
168
137
152
192
150
181
171
150
229
196
170
150
123
159
264
174
194
168
183
177
115
174
150
121
201
208
237
137
121
187
274
172
172
112
194
221
165
171
172
121
260
208
213
230
194
210
210
239
137
187
181
176
115
172
167
121
208
192
187
195
194
112
167
216
275
215
150
160
194
112
208
112
121
150
156
147
228
226
170
170
174
236
150
170
167
186
150
160
216
136
223
207
162
135
150
150
232
203
163
237
150
176
215
237
172
150
112
150
159
121
165
121
121
187
167
112
112
112
112
192
150
181
167
170
195
228
195
147
207
208
150
239
171
195
150
172
172
123
158
156
200
112
229
164
172
137
115
150
135
170
235
171
130
237
291
305
121
130
150
194
147
150
121
112
136
170
137
165
171
167
228
187
123
171
255
186
176
224
123
150
181
176
150
175
121
160
136
150
115
143
121
182
121
165
201
121
156
242
208
121
212
150
177
201
276
112
172
150
228
179
112
187
187
164
176
211
112
181
112
240
150
202
217
208
121
112
231
150
121
150
135
206
156
212
237
121
172
156
121
208
121
186
150
124
225
124
187
167
121
112
186
208
147
208
165
226
121
165
150
275
128
137
167
218
193
208
167
167
150
172
115
302
192
203
121
112
112
172
217
214
195
195
213
112
112
172
171
263
167
187
208
156
215
121
137
214
172
170
143
225
123
193
121
201
205
150
167
172
202
167
219
208
211
150
177
150
220
172
112
177
187
233
150
178
208
193
172
112
177
170
112
164
187
147
195
201
263
171
210
167
136
208
123
150
150
150
136
150
121
150
170
162
171
160
239
164
115
215
115
121
171
172
219
167
150
131
219
219
194
170
112
227
130
150
219
187
112
135
150
172
244
210
112
150
121
150
159
123
284
274
202
208
135
112
146
228
143
186
172
112
150
170
171
227
147
172
136
124
208
255
124
123
165
252
187
131
171
194
123
193
186
150
212
170
150
250
189
194
201
194
265
121
174
208
239
255
121
208
176
208
203
112
177
150
150
171
115
147
123
217
137
121
187
170
170
208
150
181
228
137
167
121
229
229
208
136
121
158
150
139
218
143
152
194
203
232
209
239
150
208
121
172
115
170
219
226
207
212
115
203
121
147
172
186
174
172
216
121
181
121
186
214
176
121
174
150
213
187
130
137
123
187
112
194
115
208
243
220
232
156
123
150
112
150
112
150
112
121
177
228
219
150
237
186
121
172
164
171
171
112
196
150
241
187
208
201
176
150
181
201
239
250
172
193
190
121
181
115
167
136
202
167
255
208
112
236
160
150
221
170
182
128
243
236
223
135
112
121
176
170
172
147
223
158
158
203
167
159
264
112
189
208
112
137
202
121
203
204
301
112
121
217
228
165
115
219
177
178
255
130
213
209
208
172
250
121
150
147
193
231
174
112
112
167
208
171
150
270
167
208
201
121
215
150
135
202
112
121
229
170
170
231
137
170
135
187
112
150
121
112
123
158
112
156
194
173
217
207
112
170
231
121
112
165
147
216
172
177
172
170
208
150
158
195
123
234
246
226
208
115
136
205
152
112
112
207
181
203
121
193
135
186
187
121
144
112
208
186
247
147
150
150
170
172
176
189
174
203
278
150
171
210
187
170
216
124
150
150
192
112
184
112
112
112
162
136
174
156
150
201
172
150
197
112
112
237
208
192
210
132
242
150
176
130
115
170
112
121
150
208
208
124
150
231
150
121
167
229
259
203
208
135
170
170
181
210
112
220
186
177
112
195
115
238
202
172
194
112
172
167
112
150
150
172
212
112
172
150
150
177
170
165
121
150
121
176
203
152
170
217
187
229
226
190
165
135
112
203
170
136
121
256
150
186
208
225
171
163
150
208
150
135
121
164
170
123
201
123
208
181
240
187
198
171
136
112
172
176
214
159
165
150
172
124
112
124
123
257
121
217
216
150
112
168
112
160
177
208
121
112
247
195
147
112
172
112
170
208
184
174
231
202
207
226
172
229
219
121
255
205
112
112
158
208
224
112
230
181
229
121
184
193
112
152
250
220
208
143
170
160
121
124
181
123
159
152
175
201
150
147
251
239
165
167
186
208
121
208
121
228
112
123
208
167
167
165
150
193
150
112
121
135
123
171
233
181
172
124
195
210
112
268
201
121
172
150
112
172
121
202
237
225
226
217
276
150
112
181
112
130
210
121
231
206
263
150
112
112
186
195
112
137
231
172
135
121
181
147
158
186
167
168
172
182
202
175
175
210
194
150
235
228
115
167
201
160
176
195
160
136
172
147
186
135
112
202
202
250
174
194
197
225
166
112
172
172
136
137
124
186
150
252
195
168
156
194
170
135
150
172
250
181
234
136
219
203
224
158
172
177
121
193
165
219
194
121
112
168
112
121
150
121
171
207
135
208
171
150
150
193
112
208
128
121
214
150
205
172
167
160
240
172
167
194
146
189
211
150
147
194
225
130
112
219
167
150
181
216
150
123
228
143
112
186
112
158
115
170
171
181
208
170
186
208
172
172
112
112
203
152
212
112
112
183
264
172
213
176
208
181
203
112
217
172
130
194
214
217
145
167
170
208
130
112
172
227
208
197
208
181
171
191
121
186
194
193
228
184
212
202
240
206
184
213
216
193
112
260
121
160
121
135
186
165
121
156
136
124
178
150
112
171
150
135
293
121
167
168
164
195
121
112
160
137
253
112
208
233
177
172
121
147
235
160
171
208
112
209
121
112
179
181
165
201
171
112
123
192
167
177
121
219
218
115
176
115
150
112
121
210
255
123
150
121
237
193
174
150
172
156
167
112
208
192
194
170
237
121
244
167
204
245
181
212
112
184
165
201
150
137
136
150
156
219
234
170
150
115
238
237
150
173
123
168
208
112
205
112
231
132
263
112
186
240
121
231
234
123
135
172
257
112
137
112
174
121
165
171
160
123
199
123
121
181
150
205
112
150
176
208
193
181
184
170
208
159
136
237
121
156
135
135
112
172
150
170
187
217
187
150
161
132
193
200
247
150
230
135
165
112
190
171
195
171
203
176
238
156
186
239
208
253
150
208
225
208
208
136
178
121
121
159
176
231
208
201
112
227
243
208
198
208
225
121
208
150
136
200
170
171
206
128
172
124
160
255
247
217
215
112
217
220
121
130
161
112
245
220
186
202
112
112
160
171
225
172
112
194
167
150
150
150
150
112
193
150
162
181
172
164
218
187
165
159
123
269
130
187
171
112
150
121
231
115
172
150
135
112
203
192
147
302
112
171
139
150
170
112
124
193
176
136
216
202
195
203
150
167
228
240
112
121
194
221
150
203
164
123
167
199
150
176
112
170
115
159
112
135
218
143
115
258
156
112
121
160
208
208
174
167
209
150
255
239
150
112
195
209
194
228
139
170
157
184
159
211
150
150
176
181
228
157
217
150
164
196
186
136
152
152
165
241
208
150
240
181
150
186
136
124
150
243
192
121
121
193
208
203
176
144
135
193
115
201
170
158
194
202
158
164
187
112
191
226
121
240
112
150
165
150
175
130
207
181
207
281
171
181
194
158
150
121
168
193
121
171
123
232
195
121
150
143
250
228
150
302
210
179
186
150
115
167
229
223
167
167
121
170
150
159
123
212
211
147
226
208
208
150
171
121
227
181
239
239
112
195
167
172
239
112
167
150
150
121
181
238
194
177
202
143
150
171
208
190
187
189
150
213
150
147
208
170
115
208
202
278
150
123
172
208
137
260
182
121
112
208
208
172
228
159
136
181
208
225
187
115
112
150
150
215
208
186
217
171
208
192
121
150
176
199
150
165
232
112
186
217
150
177
159
262
121
195
302
212
240
167
225
195
139
237
150
195
136
164
123
167
160
172
264
136
150
176
150
150
158
150
121
231
137
172
112
123
123
201
232
112
203
121
189
165
172
216
171
182
211
112
208
170
193
170
202
202
256
216
172
121
218
150
150
172
158
147
239
177
170
121
121
150
121
193
226
181
172
194
205
201
228
150
181
137
159
176
121
208
112
146
236
121
228
150
121
228
205
165
259
191
172
171
112
112
203
167
147
136
171
128
241
158
150
228
195
226
121
196
128
213
195
227
175
234
121
150
176
167
221
201
193
150
112
205
136
172
112
198
208
170
143
220
165
150
215
112
112
190
203
165
147
176
121
241
177
250
187
203
170
228
195
112
121
150
181
147
160
135
165
172
207
158
177
190
194
171
203
193
208
121
115
168
201
112
136
215
181
176
264
274
123
167
273
165
170
208
160
230
186
150
250
204
208
167
238
250
181
172
232
121
152
256
238
159
175
164
208
165
208
170
193
167
181
121
200
216
121
121
165
208
172
112
112
201
194
194
121
172
152
121
233
137
130
239
150
203
175
168
263
112
146
121
176
181
121
205
112
112
208
171
170
172
150
150
194
265
187
199
253
228
192
274
213
167
167
165
255
305
112
184
121
112
210
170
112
150
150
123
150
194
214
150
232
144
121
299
121
160
181
150
195
167
208
121
167
208
208
202
150
195
112
194
112
197
112
199
135
135
202
150
123
150
173
167
229
160
171
237
112
175
112
135
175
186
112
121
121
195
121
187
204
195
212
121
267
200
115
136
150
186
150
150
115
150
208
192
194
170
136
202
143
130
172
212
253
172
230
203
176
210
255
206
121
175
150
208
170
144
150
168
143
188
194
172
208
201
112
171
150
186
147
112
135
228
121
192
167
172
150
160
208
213
147
214
135
217
177
202
136
112
121
213
112
194
241
170
172
170
147
174
193
228
174
208
158
198
121
207
136
121
121
150
171
217
137
143
172
123
194
121
121
208
159
121
167
170
150
172
193
164
177
112
167
208
150
167
171
115
168
212
220
112
147
170
263
227
112
171
167
172
172
112
112
217
121
193
184
186
112
167
121
172
165
199
150
208
150
121
123
171
195
220
165
121
121
150
170
136
150
150
220
136
208
167
202
167
178
150
157
123
144
115
223
192
136
165
181
186
136
150
220
194
115
121
172
112
210
193
121
150
207
204
150
202
123
207
115
220
123
263
150
208
159
130
191
150
137
194
150
150
123
172
172
168
150
121
112
195
194
199
121
207
228
179
205
150
194
150
194
150
112
208
150
229
115
112
159
152
121
150
187
194
239
196
159
136
194
121
112
150
150
187
167
172
150
172
170
181
212
112
228
202
121
177
121
150
223
208
121
150
184
112
171
175
194
237
112
112
135
147
171
232
181
208
205
208
167
167
214
115
112
150
135
150
171
170
205
212
175
112
195
220
235
121
203
201
152
112
223
207
150
136
167
150
135
231
220
171
150
164
208
170
150
164
121
276
144
231
150
233
172
208
172
172
208
203
245
112
150
172
177
241
171
112
282
182
208
121
136
112
208
115
112
194
225
228
231
170
150
193
172
206
165
181
198
187
220
181
147
112
236
223
150
187
172
228
233
150
112
158
162
121
208
123
121
231
181
208
112
228
123
195
143
258
121
237
150
136
130
143
121
146
165
176
202
112
168
135
135
181
150
208
226
112
172
161
172
135
121
150
171
181
176
235
121
212
130
209
302
150
170
150
237
185
150
152
143
204
121
181
240
202
112
112
228
208
195
171
181
255
121
196
164
216
115
165
194
181
170
171
130
200
179
212
112
144
199
167
112
112
203
236
167
112
200
165
194
166
159
150
112
194
172
237
130
164
226
195
112
112
171
112
202
159
164
229
137
123
171
157
170
193
208
150
219
237
216
112
135
170
220
165
205
225
168
135
124
164
210
245
137
150
208
194
160
150
187
115
174
112
176
233
259
233
170
112
259
112
186
121
216
186
172
205
216
172
130
112
165
159
115
171
278
137
208
271
170
209
112
228
212
150
208
171
203
194
167
208
167
137
201
150
186
152
227
232
193
121
150
230
213
167
150
167
232
177
187
194
172
121
115
217
254
202
112
112
207
172
267
172
128
172
112
170
150
199
112
150
112
123
231
230
150
201
121
150
167
212
210
167
167
186
112
217
215
214
235
194
208
168
159
150
228
150
168
150
261
225
172
270
121
226
115
123
270
112
147
112
112
171
170
192
194
210
164
225
212
112
112
167
171
229
194
171
177
137
241
278
150
115
165
150
150
150
172
112
156
184
152
171
150
136
172
193
220
156
115
177
167
195
193
195
145
165
172
112
214
205
171
167
150
256
112
277
222
137
147
150
121
216
276
158
194
158
243
177
210
121
150
123
187
177
170
112
176
165
171
164
177
164
170
165
271
112
179
115
167
121
135
210
112
201
208
172
172
179
168
209
158
186
150
164
165
177
150
202
168
186
158
194
167
136
165
167
172
121
207
192
135
210
226
124
136
208
165
121
228
176
164
171
227
208
171
150
121
121
256
193
177
177
172
176
167
150
195
156
150
112
165
223
172
230
172
150
193
172
302
193
167
274
121
167
121
174
150
229
165
112
173
172
150
128
121
150
170
150
135
175
194
171
112
135
171
193
147
218
185
167
208
181
147
121
143
121
172
168
167
208
136
243
176
231
112
233
201
136
193
171
150
217
171
158
172
220
189
231
136
208
171
115
112
192
121
112
213
121
112
123
112
171
123
171
187
232
167
124
231
112
171
170
112
197
168
178
170
228
121
171
182
121
220
172
139
159
150
112
172
171
186
150
115
187
172
187
112
150
195
187
208
202
172
192
167
181
121
150
181
227
112
206
150
112
123
135
112
158
115
165
131
178
121
174
123
115
165
255
170
170
112
121
237
164
170
165
164
112
112
150
150
223
150
150
112
150
172
136
208
258
212
231
121
171
172
243
202
208
194
171
135
112
164
112
150
121
171
215
186
170
226
177
112
239
172
123
150
172
112
123
143
232
278
172
164
167
121
150
158
226
228
170
170
158
112
211
165
202
159
193
176
112
168
171
237
230
171
112
123
228
196
186
147
207
170
208
203
150
208
176
165
150
208
187
123
172
164
202
112
208
150
164
172
170
121
172
170
228
156
165
112
112
112
167
150
150
202
228
170
181
160
187
147
123
208
241
158
172
209
215
150
150
249
220
172
223
112
167
112
193
112
121
121
150
147
112
206
239
112
121
121
171
150
172
176
172
170
207
112
232
170
175
171
181
150
115
128
208
173
181
152
205
112
136
195
172
208
176
181
164
197
112
194
240
208
226
181
112
212
172
150
176
150
121
212
150
165
167
203
253
203
208
237
150
137
218
195
150
194
237
128
171
189
262
185
175
112
112
219
192
205
259
144
165
150
208
231
121
239
171
150
115
150
150
121
210
212
174
150
121
206
150
170
150
164
135
210
143
179
206
136
165
121
121
210
160
112
177
208
112
208
220
137
150
220
130
231
167
150
165
186
112
263
164
196
112
123
170
172
158
158
150
219
150
207
121
208
177
158
181
112
150
207
231
112
112
208
112
185
239
212
212
210
260
121
112
177
121
121
177
150
195
186
208
170
130
121
250
216
159
112
112
232
112
255
181
175
165
121
189
203
229
181
237
182
218
112
172
267
254
165
167
170
150
252
121
172
112
203
226
208
186
194
172
150
194
186
150
121
160
121
170
193
112
139
170
165
232
171
121
255
150
170
230
172
165
112
174
192
233
132
181
186
193
208
208
212
187
223
112
150
195
121
121
175
121
210
209
121
207
170
170
213
112
123
165
176
121
229
112
219
208
150
183
143
170
123
176
159
165
135
150
167
230
115
176
165
177
178
112
210
121
150
123
121
167
181
208
201
112
194
302
243
226
112
177
203
175
203
112
208
195
136
178
208
208
196
150
165
112
187
121
193
240
143
208
219
174
208
167
170
160
137
208
233
112
115
172
217
135
228
208
150
186
150
160
194
150
150
172
257
207
233
174
194
121
187
173
172
192
208
220
147
203
194
121
112
135
172
302
112
165
160
112
195
121
112
250
123
150
137
173
241
160
121
172
193
185
228
167
121
227
152
170
145
202
208
208
168
192
193
150
208
143
170
297
112
156
150
128
121
147
208
167
230
165
186
171
178
165
121
150
202
159
194
121
172
192
219
150
203
150
229
121
167
170
175
228
159
136
123
112
187
150
181
186
190
165
190
245
112
171
150
202
147
150
192
121
216
165
171
115
121
150
147
241
214
112
160
174
112
232
112
220
167
278
230
121
112
279
228
136
150
261
168
150
112
179
250
163
194
112
167
150
195
195
171
250
165
201
193
150
112
150
228
228
150
208
150
167
168
219
115
210
150
194
172
121
150
150
150
177
206
228
112
153
267
121
243
232
150
233
172
159
186
167
167
203
123
176
167
152
150
124
121
112
194
150
223
187
185
156
216
193
240
121
171
150
186
217
147
160
112
210
208
199
210
115
187
226
171
172
150
174
226
123
187
172
179
136
224
195
165
168
176
181
228
193
115
152
204
112
112
176
171
112
201
150
170
195
166
209
112
214
121
121
121
115
170
276
171
165
203
150
245
115
112
254
258
226
210
201
210
137
168
220
177
172
121
217
115
165
207
170
170
193
123
165
112
231
150
112
170
112
195
168
174
194
112
123
171
123
112
203
176
278
164
121
135
167
167
123
170
230
128
170
243
121
208
123
123
210
192
112
186
192
194
219
150
170
121
150
288
176
150
195
236
181
165
212
229
208
203
208
170
186
220
152
228
219
265
112
193
170
167
158
171
263
228
179
112
187
200
121
187
181
272
208
186
135
208
202
115
147
216
237
231
217
239
181
217
162
112
181
171
115
228
115
168
170
150
220
147
233
112
235
164
194
161
208
181
230
136
150
112
115
123
150
150
121
150
159
172
112
170
177
158
210
112
150
150
181
205
121
171
167
137
192
158
167
150
112
210
175
165
115
171
121
181
186
124
121
190
203
159
219
150
176
171
121
187
150
212
150
263
192
150
172
176
170
170
187
128
246
150
158
218
150
165
121
186
121
167
246
147
226
201
176
123
124
193
172
112
112
173
164
121
150
150
208
112
255
208
153
150
150
128
274
170
226
202
121
176
211
170
208
176
203
121
194
112
150
123
150
124
239
150
169
239
172
177
135
208
150
201
115
194
190
150
181
121
121
208
150
231
214
175
112
121
124
165
158
112
171
165
167
212
219
150
165
177
171
196
225
193
112
172
212
147
250
152
194
135
208
130
189
124
238
136
150
194
187
181
167
170
167
234
112
181
121
241
187
265
167
150
190
150
276
216
208
150
112
167
187
193
229
231
131
150
201
172
135
254
121
176
112
210
217
186
190
167
194
164
165
159
167
194
123
237
246
158
203
172
164
224
121
150
237
239
150
123
186
243
177
152
112
208
205
177
208
150
172
167
225
225
210
167
176
150
170
150
202
165
112
288
121
193
121
179
171
173
228
112
115
293
135
172
179
112
160
197
208
208
150
121
139
174
208
135
150
123
112
156
227
150
159
224
172
208
172
218
112
167
112
121
201
121
150
165
229
179
121
170
150
177
150
194
139
130
208
112
164
112
219
208
171
208
123
208
121
266
168
177
181
112
220
176
231
121
240
192
167
112
192
177
208
228
167
136
250
112
179
176
112
121
121
278
233
172
135
177
170
150
121
228
123
202
186
200
150
275
171
203
156
170
172
168
193
191
144
150
164
137
176
172
181
205
165
175
172
112
128
208
195
147
150
205
150
124
186
112
202
150
171
139
165
181
112
143
233
174
124
121
170
220
162
167
121
214
121
220
137
190
170
208
165
168
121
136
112
217
121
208
218
150
195
123
167
150
208
172
202
167
170
219
164
123
172
121
214
150
219
160
112
208
147
121
121
170
147
208
176
112
147
150
187
170
121
176
218
176
171
217
203
165
112
195
228
228
202
164
228
208
136
150
130
172
121
193
168
171
176
121
181
193
210
165
220
187
172
128
112
123
181
220
137
255
167
233
156
150
279
137
228
181
150
195
203
135
177
193
165
150
208
150
176
237
143
178
121
143
159
240
150
170
167
185
112
208
193
150
232
115
195
194
150
217
136
234
193
167
158
208
170
112
112
184
186
174
184
136
208
170
226
172
210
194
112
298
217
121
170
195
150
139
176
229
164
165
112
123
237
216
237
192
159
137
147
164
172
210
121
172
172
150
168
228
152
160
171
208
208
171
207
228
212
165
210
123
203
167
167
135
112
150
172
150
150
112
237
255
171
172
124
121
175
237
181
163
214
246
159
193
208
181
228
170
172
202
192
201
170
229
121
177
179
123
219
147
217
201
193
187
171
189
179
171
135
121
208
205
208
121
164
211
189
150
150
167
202
195
302
233
276
115
229
164
123
208
208
112
135
203
210
150
170
135
121
172
186
167
112
121
172
147
172
186
194
170
240
208
112
167
121
112
150
165
208
208
112
112
172
194
150
278
167
152
193
115
171
176
172
170
170
150
172
112
178
121
156
112
302
260
150
158
195
229
195
112
150
342
238
167
231
124
205
215
225
137
195
137
237
167
121
250
137
152
192
233
112
112
243
181
159
167
176
167
201
202
121
171
171
172
241
165
150
234
228
231
200
282
112
208
130
174
208
211
210
202
137
182
112
112
177
150
179
208
171
150
212
115
202
163
171
166
150
218
208
130
178
150
121
175
237
201
247
170
112
170
170
158
195
150
150
205
210
121
165
160
286
208
161
150
123
121
150
164
208
187
193
150
230
123
172
130
181
170
250
195
150
172
135
208
121
123
172
228
230
112
220
165
121
143
194
137
147
172
210
194
112
124
228
172
223
121
121
164
255
172
212
219
170
203
165
112
170
121
150
121
157
255
150
130
167
121
150
170
208
257
150
150
259
112
186
208
160
212
150
135
164
176
121
207
135
137
150
121
167
254
255
176
174
193
210
228
208
201
150
168
255
112
159
176
196
181
136
115
167
214
158
181
218
194
112
229
150
229
121
135
172
124
112
112
231
124
136
112
121
150
184
136
172
279
136
210
192
180
150
208
171
208
239
137
187
137
171
219
150
225
112
112
164
132
130
207
203
207
223
219
112
157
192
112
229
167
171
194
150
112
254
219
121
112
184
237
158
225
219
317
225
132
167
170
170
165
210
208
121
208
186
228
170
137
192
158
170
158
195
225
186
203
168
121
167
137
167
165
205
234
170
150
237
195
121
208
176
184
230
112
210
194
170
159
165
123
202
186
150
237
174
171
207
173
236
172
121
208
115
219
150
167
205
167
172
237
250
174
124
167
265
150
121
130
150
165
150
168
121
266
208
203
174
215
208
237
302
278
164
158
124
212
150
229
172
121
177
196
167
156
131
112
187
176
194
209
181
150
196
170
208
195
112
150
150
228
112
112
194
112
184
186
208
165
176
112
213
228
135
158
115
250
172
172
212
150
150
349
208
194
175
172
201
112
112
171
182
167
143
174
112
150
172
150
112
121
237
170
131
208
181
174
209
158
121
112
112
183
244
167
165
150
202
253
112
121
203
158
228
208
121
165
172
176
208
112
237
121
195
150
135
171
231
193
170
150
215
194
150
172
208
121
208
137
171
135
278
228
238
172
112
115
165
150
195
121
210
121
181
179
121
123
165
168
121
243
171
150
130
150
196
174
123
170
147
208
112
243
167
172
164
150
150
112
232
220
172
237
112
150
121
220
201
171
239
112
231
234
172
161
160
176
236
194
128
121
231
112
193
157
193
228
219
208
172
150
230
121
208
136
212
150
258
150
212
208
112
150
203
150
275
112
130
112
172
208
187
150
263
172
112
193
135
212
194
150
124
112
150
204
121
121
121
269
136
172
147
187
237
112
240
136
212
170
196
172
121
156
177
135
112
263
112
181
172
202
144
176
150
228
136
137
231
193
208
123
172
219
198
112
171
171
228
112
237
167
172
194
226
150
172
215
112
193
150
193
121
172
167
121
205
150
174
186
210
171
176
124
215
241
150
185
168
121
112
137
112
150
112
172
205
172
230
216
228
112
203
150
287
193
135
208
112
121
147
167
236
219
190
128
123
167
123
150
167
186
150
165
172
195
220
175
136
172
121
263
210
239
263
121
172
181
150
112
172
267
170
165
214
135
218
172
150
193
175
208
194
224
230
150
181
121
224
210
167
212
208
208
150
193
194
156
170
252
187
215
205
189
112
124
225
195
150
150
288
225
171
150
233
165
219
223
172
156
167
230
150
185
112
112
137
167
130
176
212
190
179
192
112
171
221
123
245
181
193
228
193
208
150
217
123
150
150
225
195
198
208
203
150
176
187
167
115
171
178
208
227
112
147
187
202
167
226
124
200
236
165
225
164
123
220
150
112
229
135
190
242
172
136
135
164
123
257
194
179
150
174
187
150
147
220
193
208
176
207
165
165
150
130
228
195
203
166
206
208
228
174
208
210
175
112
172
165
228
112
173
233
147
159
150
187
172
150
167
299
150
121
187
208
150
112
194
121
128
208
150
124
115
167
150
112
171
202
228
213
123
121
229
217
192
156
215
158
150
137
205
112
172
194
172
187
157
121
172
123
206
203
167
225
195
276
265
121
194
217
263
232
228
172
207
177
115
176
121
170
170
208
159
297
171
225
217
150
242
208
172
157
196
193
128
156
172
170
205
168
229
150
176
194
170
177
156
177
150
156
121
115
115
210
194
112
175
215
121
112
160
123
177
150
187
176
112
121
208
156
150
202
212
175
208
253
167
172
176
194
217
171
190
112
177
121
112
194
112
206
112
191
194
139
137
203
181
216
112
150
238
208
195
160
112
112
172
167
158
231
196
202
208
165
115
158
203
171
232
228
202
212
112
181
145
172
201
170
210
145
176
168
178
253
208
203
202
167
147
150
124
150
226
124
112
176
121
112
137
167
176
165
167
170
135
214
202
170
167
172
170
228
243
243
167
135
208
186
203
192
210
150
209
212
181
210
112
202
205
121
165
237
210
159
244
112
237
160
150
171
171
176
231
179
181
194
231
150
137
178
236
195
112
174
150
231
171
150
231
130
192
237
137
158
165
195
278
186
112
207
159
185
247
161
167
171
208
228
121
115
158
115
159
196
165
121
176
220
259
194
141
205
167
172
150
208
167
172
121
210
135
121
147
242
177
121
158
158
121
150
201
208
209
121
184
171
171
172
160
150
135
206
150
171
193
172
123
158
170
171
231
121
168
208
150
112
170
269
208
192
181
181
217
209
187
170
182
121
112
112
167
150
214
217
147
234
121
121
165
181
195
170
217
235
112
231
231
147
291
220
237
206
135
189
225
112
167
167
172
150
130
112
124
208
158
159
278
124
112
224
150
112
181
152
201
150
165
235
192
112
215
172
172
121
165
150
172
112
165
210
208
176
123
172
194
194
192
121
172
123
193
158
162
167
147
223
167
172
208
218
168
167
171
121
167
186
124
112
196
229
170
124
189
170
150
172
208
228
171
150
278
242
201
112
112
147
167
176
115
121
150
121
208
112
187
194
177
186
150
112
278
302
150
121
193
123
210
172
150
170
239
229
112
165
147
167
167
208
124
137
226
193
150
212
205
181
160
150
121
150
123
208
170
121
210
194
112
193
150
150
172
172
195
176
220
168
115
135
160
181
203
112
172
121
177
121
112
172
228
164
150
215
259
112
164
192
220
220
112
150
174
130
228
121
208
194
228
287
208
208
112
112
229
150
184
208
219
152
181
202
193
201
112
165
181
193
171
112
186
165
112
208
121
231
112
112
164
121
123
176
262
220
112
186
112
112
158
136
237
172
192
150
167
112
209
152
150
158
258
194
172
171
135
121
150
220
123
204
194
147
150
115
150
112
210
150
144
147
112
202
150
186
131
258
171
150
130
181
195
205
186
112
226
157
251
112
159
228
208
201
112
187
121
112
121
150
202
150
143
203
167
121
172
147
235
241
158
143
168
208
172
150
123
150
172
121
115
121
165
237
207
174
203
212
172
261
121
272
194
164
228
196
210
137
165
195
112
265
205
150
150
172
150
112
112
112
210
181
208
112
289
150
121
150
167
150
156
167
237
174
189
167
137
172
228
112
231
150
208
165
181
150
217
150
228
204
208
257
172
156
181
139
170
170
278
150
150
215
208
136
195
167
172
150
175
193
213
150
228
177
194
209
121
121
159
147
209
156
177
207
178
201
121
212
150
121
234
160
112
112
121
121
237
203
150
195
164
150
112
168
121
150
124
196
231
121
167
150
240
193
158
220
150
245
174
232
150
174
159
223
150
187
212
170
112
195
236
208
195
172
237
123
170
272
112
194
150
201
212
205
130
150
144
172
137
212
121
197
216
202
150
181
208
218
123
165
165
112
170
167
239
150
150
136
220
214
112
115
187
167
228
152
150
186
121
255
121
121
219
121
228
227
112
150
121
150
229
159
193
150
121
193
121
112
171
150
135
225
302
219
208
187
226
186
154
121
181
194
228
194
123
349
165
121
136
201
160
158
112
177
150
167
171
150
123
176
171
172
176
212
150
168
229
187
112
244
135
212
112
171
177
203
208
263
112
208
176
208
176
124
167
112
181
121
150
215
121
158
274
195
171
121
204
112
170
121
228
172
172
150
150
201
168
121
196
164
228
175
215
112
176
233
112
165
195
214
178
194
190
171
194
208
121
165
165
228
172
150
193
349
205
255
288
276
135
162
210
208
123
112
164
201
121
112
170
217
172
123
207
170
218
179
208
112
171
123
124
152
164
121
174
158
181
112
239
167
143
196
172
164
207
121
150
181
124
172
167
231
172
256
176
112
112
203
172
194
136
150
220
228
234
238
167
159
228
194
274
128
291
147
239
167
112
112
170
208
222
157
174
192
194
239
123
167
157
203
195
172
112
208
235
170
167
150
220
240
171
121
181
150
195
132
181
112
208
203
115
150
136
112
196
174
172
239
194
227
112
210
239
172
181
229
171
112
170
225
210
150
164
150
225
189
229
186
150
170
195
112
150
121
123
174
208
112
181
165
171
112
112
208
194
123
150
160
137
209
210
112
208
207
158
121
112
164
150
192
121
136
112
160
193
194
150
121
195
220
302
205
167
170
150
152
201
170
150
167
112
121
208
181
170
239
143
208
165
112
147
150
195
172
124
164
124
216
175
164
156
121
156
147
255
245
112
130
156
167
172
177
263
112
135
121
150
179
186
160
115
220
121
150
186
150
194
207
210
168
150
244
221
123
172
176
210
215
211
123
203
174
172
150
121
208
225
193
217
167
121
128
170
136
208
220
222
186
210
170
160
237
150
121
164
150
123
130
216
167
234
165
150
128
135
124
184
121
208
201
176
186
208
167
195
123
121
112
179
176
150
136
219
225
202
112
121
160
150
160
124
222
147
158
137
170
165
136
112
121
193
187
150
225
208
150
228
158
112
121
112
205
121
215
150
192
121
150
202
172
150
112
112
123
150
112
112
172
197
128
121
174
123
184
162
201
208
164
221
121
150
112
202
193
121
243
121
115
228
150
121
195
123
150
174
192
243
115
174
112
208
128
165
165
193
197
167
234
136
150
164
237
228
194
139
172
147
184
150
170
137
139
167
224
260
228
123
167
195
150
171
170
150
128
150
128
121
208
208
229
115
193
235
121
208
170
164
172
193
201
165
237
124
192
176
187
112
112
228
170
208
165
150
182
165
181
239
112
165
121
279
150
150
172
150
171
203
170
152
170
121
150
150
242
121
150
211
150
112
181
150
150
216
239
121
112
195
176
208
158
195
202
188
137
156
192
174
112
218
150
112
123
187
225
112
170
150
200
121
208
181
161
172
170
150
112
181
150
175
171
242
291
112
172
176
211
112
208
217
171
170
186
164
124
150
216
112
157
150
156
168
220
229
112
229
121
193
208
208
177
112
210
150
150
217
115
181
194
150
156
167
121
263
112
136
177
210
195
171
210
137
135
167
167
167
173
170
202
209
150
237
174
167
170
171
181
194
135
115
112
174
187
201
150
223
208
165
173
171
150
112
112
211
170
150
150
150
196
205
282
152
112
174
112
112
112
150
171
168
121
181
228
208
172
228
172
172
121
194
181
150
112
167
195
218
115
201
181
163
150
112
112
167
212
207
186
130
150
228
137
240
216
177
193
186
190
147
121
112
143
158
205
176
128
112
124
112
209
210
206
187
123
137
172
112
194
156
250
135
170
150
208
226
194
171
172
208
181
167
214
270
121
112
174
150
220
210
167
170
179
208
227
208
172
112
228
204
181
150
255
177
112
150
186
112
193
136
195
275
187
150
165
123
144
115
150
121
171
172
156
158
177
150
165
215
208
171
165
231
195
112
228
121
150
150
158
165
217
263
211
226
167
172
123
171
137
150
207
172
208
130
171
150
112
165
150
150
135
193
172
158
208
112
112
152
156
123
137
123
194
229
170
210
112
115
150
196
121
228
115
204
167
135
204
124
164
219
176
112
172
172
130
210
226
152
150
208
167
208
244
201
164
165
208
150
150
208
167
165
150
214
167
171
165
177
123
128
250
112
231
135
322
220
158
147
150
137
160
112
289
123
204
172
194
121
174
194
150
167
150
243
192
195
239
232
112
208
206
189
231
202
272
201
189
121
135
158
150
208
181
192
184
208
208
121
115
266
130
242
250
212
189
208
135
208
172
137
150
150
150
167
150
208
150
182
182
208
198
241
167
236
112
159
184
209
210
167
208
131
121
112
128
235
172
121
121
193
123
172
171
147
121
124
181
150
186
172
112
172
124
112
210
164
213
115
170
150
192
195
179
112
194
212
112
150
209
171
150
181
112
189
174
196
147
208
213
121
121
143
156
236
181
171
206
135
172
171
150
150
208
228
136
181
219
194
208
170
170
192
174
112
228
282
181
181
208
250
136
187
158
159
167
172
201
143
171
237
112
201
112
168
171
135
112
123
172
207
186
170
170
150
172
193
167
150
172
112
205
170
202
218
167
270
172
210
150
172
233
203
124
168
225
121
239
241
226
112
228
228
123
195
124
226
187
121
193
159
228
121
123
112
198
112
159
218
228
208
167
202
143
170
115
208
152
130
150
198
194
112
170
172
208
219
167
147
181
231
228
176
123
121
239
195
121
225
172
217
121
208
210
186
112
201
167
168
186
195
136
115
136
283
165
150
150
112
192
229
170
170
211
130
171
174
194
112
175
112
130
196
218
112
112
170
192
225
196
186
175
206
121
115
226
239
189
165
203
112
219
237
233
112
187
278
215
167
224
150
158
209
174
158
165
112
135
152
252
255
178
237
201
165
170
112
228
150
156
197
171
167
112
112
152
150
150
150
165
165
115
208
137
136
121
177
167
123
237
112
112
123
150
212
112
172
226
121
150
137
165
194
150
136
177
208
213
172
143
208
192
178
242
195
182
167
145
181
226
150
150
171
112
150
160
176
167
194
203
193
215
123
250
121
123
201
150
160
194
193
225
128
115
208
150
150
223
228
150
212
165
208
201
112
208
231
175
220
189
203
137
215
176
175
121
178
112
150
194
220
262
150
187
150
166
208
195
282
145
208
265
121
212
123
121
150
216
228
172
202
156
146
192
184
174
194
315
150
112
150
147
179
150
289
210
203
176
112
173
112
150
231
112
203
128
181
150
150
208
195
112
121
219
112
123
112
124
182
150
184
239
167
195
123
158
121
137
174
167
112
201
171
170
150
208
238
208
172
135
137
150
250
170
165
150
237
181
201
158
237
194
121
194
210
170
216
213
170
121
219
170
112
112
164
182
158
176
228
112
121
225
123
150
193
182
178
150
174
115
121
220
239
171
164
167
147
172
176
160
170
144
165
167
253
150
150
206
124
175
208
123
189
201
115
150
219
193
208
150
136
121
180
210
194
115
158
121
193
265
172
237
172
167
112
150
220
123
208
186
123
177
255
164
112
236
112
193
152
150
137
171
159
184
112
237
223
174
150
159
186
121
250
121
150
195
208
150
192
172
121
121
131
228
135
150
172
152
121
121
167
135
187
121
123
115
123
130
158
233
208
123
163
147
211
150
150
172
167
214
112
176
203
194
237
172
194
121
192
147
193
177
147
128
137
172
230
137
181
112
164
228
174
121
115
207
228
221
260
187
163
181
150
150
124
112
150
195
195
208
150
170
121
171
152
121
150
121
160
123
205
187
160
150
137
158
147
168
112
121
139
167
165
208
195
172
181
115
165
121
177
250
172
205
143
226
121
211
150
243
167
203
211
137
168
121
123
112
167
242
150
172
156
150
128
165
246
232
174
121
171
150
150
302
223
194
112
121
231
159
207
112
203
239
112
225
172
237
195
172
171
168
135
191
176
165
187
225
150
112
112
156
137
112
173
150
150
194
194
115
121
193
121
137
194
193
167
281
150
152
186
239
150
156
176
123
224
201
176
150
194
208
152
170
231
181
255
121
243
150
208
192
208
159
150
167
175
175
220
128
121
201
162
206
121
228
150
150
135
216
176
115
150
170
165
203
160
190
272
207
150
167
152
170
123
147
147
170
237
112
194
204
112
150
121
112
219
225
302
209
238
202
217
217
186
150
175
121
152
150
176
115
181
217
150
150
137
150
123
150
150
181
168
115
177
150
168
208
115
196
167
158
206
167
112
167
150
238
147
167
172
150
143
186
239
121
152
165
257
150
123
121
208
123
157
112
171
187
203
170
165
201
165
230
121
270
123
194
204
121
172
214
194
112
181
174
121
170
201
112
174
150
228
167
176
136
217
115
171
208
150
212
176
203
112
115
121
112
208
158
147
201
150
228
208
179
208
121
228
194
156
192
150
194
201
258
150
137
112
226
210
121
202
150
136
165
203
186
194
217
123
250
263
226
150
238
123
135
150
121
208
121
170
112
158
121
174
193
167
194
112
112
112
121
219
202
204
147
193
172
228
136
112
232
112
112
170
178
165
172
172
137
186
213
137
150
193
245
192
164
177
172
172
297
167
164
193
260
201
216
135
196
158
184
187
135
150
137
121
208
150
170
112
228
176
194
170
205
150
205
208
135
150
150
237
208
255
210
194
150
194
150
150
123
121
123
150
208
121
236
236
208
195
136
112
232
210
257
208
115
212
165
225
211
156
187
210
112
164
158
170
167
150
165
150
150
158
216
160
150
208
167
172
112
124
161
121
193
208
210
165
186
112
292
187
137
176
229
228
186
121
121
203
302
231
186
112
220
212
172
166
159
170
202
115
135
160
194
137
158
206
170
195
250
226
171
167
115
150
205
112
150
112
174
121
130
204
276
212
152
187
121
112
124
143
260
150
206
150
202
208
170
167
150
239
171
178
171
150
208
174
191
267
170
208
202
177
177
121
253
172
112
205
123
112
237
186
165
165
121
121
130
160
208
121
112
147
225
121
121
228
176
121
121
171
231
121
170
172
121
150
202
216
219
150
232
149
112
121
176
209
198
172
158
150
150
121
202
115
112
197
232
210
170
215
205
216
257
210
128
194
121
196
162
240
121
150
136
150
187
177
150
123
165
112
210
258
137
228
172
112
136
121
172
167
150
158
214
203
124
156
237
158
207
153
208
168
150
189
150
181
186
208
192
257
230
112
112
172
186
170
124
171
211
174
121
176
150
121
150
128
165
271
167
220
168
182
210
170
172
172
112
164
176
147
112
237
172
192
167
112
172
170
186
255
112
156
265
121
136
175
208
183
112
217
208
208
112
150
218
147
232
186
176
241
150
121
167
170
170
212
172
121
164
164
112
167
150
175
121
121
202
167
147
152
121
121
172
115
182
219
231
115
112
208
244
112
186
209
172
123
239
170
171
152
181
173
121
150
150
228
157
181
164
195
112
164
150
150
112
121
135
195
172
194
150
112
112
171
175
112
188
205
174
240
121
250
150
233
175
208
150
170
208
152
266
177
150
208
123
165
112
143
263
157
208
150
181
236
175
215
112
208
121
222
123
181
202
150
195
121
228
229
208
231
231
156
176
203
112
115
115
186
208
141
115
208
137
170
193
123
302
167
112
323
228
121
123
186
299
121
112
202
257
208
204
170
193
150
150
167
176
150
121
121
112
150
220
194
194
203
158
150
205
112
112
200
112
170
121
150
171
147
164
208
172
157
181
121
121
232
121
112
171
150
177
150
228
112
208
172
192
234
150
181
164
121
215
137
112
227
218
186
231
112
208
209
225
112
203
185
179
136
150
223
162
181
227
150
170
210
165
209
123
167
202
263
128
220
172
181
121
167
158
174
166
167
121
210
150
128
171
176
228
250
201
176
168
123
281
208
220
219
172
115
177
193
186
121
302
112
207
203
167
210
206
143
112
123
187
158
112
237
167
124
208
196
175
150
123
112
202
150
143
194
156
147
124
205
165
121
229
150
228
167
112
216
112
121
217
177
136
228
193
150
112
172
194
208
186
229
193
194
208
123
144
171
228
150
212
211
190
112
121
179
194
121
121
208
112
164
194
112
194
150
193
170
167
150
150
112
172
167
208
150
171
172
243
211
208
150
233
121
203
302
139
150
205
176
136
150
150
208
158
136
147
214
137
112
176
239
112
147
150
150
121
135
195
164
176
225
128
167
195
208
121
224
112
150
150
195
150
121
176
150
128
209
159
167
232
135
172
121
130
222
160
181
202
202
242
240
195
112
170
237
159
112
150
201
157
167
201
177
121
150
171
226
193
172
121
301
237
208
150
229
211
287
112
279
170
225
208
181
150
181
212
276
158
170
121
208
236
167
217
121
175
150
150
204
194
172
217
164
167
194
112
181
112
182
150
150
135
112
231
177
124
194
208
291
208
210
131
167
150
165
228
232
168
238
165
208
208
172
176
196
195
150
164
135
208
121
171
150
208
182
186
208
187
172
190
150
175
170
181
150
181
168
150
194
205
187
152
228
213
136
150
121
121
228
170
227
208
170
172
240
136
228
150
112
112
147
176
205
112
187
187
112
243
112
163
230
198
150
150
238
170
203
171
170
240
171
172
208
170
243
187
170
192
172
187
160
185
215
236
121
167
112
115
150
174
121
171
260
167
170
208
150
123
176
195
157
164
121
150
172
170
207
112
171
112
164
128
202
176
156
150
297
150
208
208
212
198
164
170
170
150
150
150
152
121
172
208
137
176
223
175
136
121
202
194
165
171
167
121
170
201
150
172
225
112
150
150
137
196
195
159
147
203
219
157
123
201
186
215
112
112
163
121
112
208
150
237
208
121
121
168
160
150
172
208
208
302
208
150
115
203
202
121
174
150
147
112
128
167
242
181
208
159
187
150
250
150
242
150
208
112
205
177
147
150
112
150
112
167
244
265
147
175
130
229
121
243
171
198
135
135
147
263
112
196
150
209
176
150
262
218
208
194
112
150
164
121
170
172
163
255
194
171
210
121
150
115
123
150
171
150
190
189
123
121
115
121
158
172
136
137
181
165
187
177
150
167
150
218
210
164
218
121
150
136
167
236
172
121
181
220
112
233
208
115
230
193
210
176
150
171
150
121
168
124
112
171
112
131
112
201
211
211
208
217
112
208
165
170
121
150
208
186
208
152
208
172
248
203
150
208
164
136
167
187
152
130
167
208
123
202
233
208
147
212
203
136
182
123
208
150
150
156
156
164
172
187
159
167
195
112
112
121
150
194
164
193
194
172
121
121
278
121
158
135
213
121
165
150
112
170
121
137
194
136
170
219
170
234
228
214
172
170
175
167
205
167
208
121
150
187
112
174
112
217
178
162
302
208
156
220
167
112
150
240
123
121
207
158
195
112
112
193
195
172
212
121
207
172
158
250
231
137
158
162
182
150
159
194
167
121
231
174
192
112
238
167
115
229
112
202
150
208
231
194
123
227
228
172
194
181
208
150
170
189
158
158
123
121
156
171
112
147
194
172
210
150
112
293
234
179
203
124
123
112
121
175
176
134
208
237
135
112
233
150
146
171
170
176
150
172
112
121
171
150
150
276
112
201
112
208
205
220
123
112
181
112
202
128
112
193
172
175
243
172
237
231
176
167
172
170
123
171
170
165
150
112
201
144
150
135
150
150
172
150
210
229
124
170
236
195
172
208
123
263
255
128
255
208
172
135
121
208
137
174
150
170
203
208
137
135
150
150
233
167
289
112
124
121
136
165
115
147
121
239
195
172
150
208
189
233
172
165
150
264
172
203
211
160
205
112
187
158
208
172
130
208
135
228
177
174
193
195
112
150
240
172
167
170
192
171
165
208
171
167
193
150
208
194
156
208
171
181
135
226
222
121
150
213
150
185
112
121
150
228
237
186
143
121
115
150
121
232
217
263
146
190
150
136
172
189
121
150
210
150
198
112
220
209
208
208
237
179
150
178
172
202
121
171
270
172
150
150
193
150
194
112
172
157
166
121
171
115
216
186
252
150
170
171
171
150
237
167
184
115
275
203
160
128
228
172
112
171
189
123
124
219
276
170
121
152
210
237
178
237
228
165
238
135
123
218
173
135
245
192
171
123
170
112
208
112
150
150
112
115
265
245
175
174
121
208
242
164
150
158
121
150
159
167
186
178
156
123
165
228
152
171
208
178
150
241
165
178
121
193
168
185
150
150
208
147
204
150
112
150
245
218
240
165
115
123
204
150
112
112
130
112
214
238
152
161
207
156
112
123
181
112
150
185
167
230
250
172
112
130
158
201
218
255
164
171
158
150
150
233
208
159
172
150
252
194
150
165
231
115
202
202
208
205
167
235
112
147
121
171
203
123
112
193
167
112
260
150
170
115
231
210
146
121
150
170
181
112
121
172
164
240
172
208
163
192
115
143
121
112
170
186
121
172
195
176
240
150
112
238
194
123
208
209
150
276
137
135
219
291
121
194
121
170
190
208
150
160
255
170
150
264
159
167
187
121
276
121
173
194
225
302
208
181
121
164
172
211
123
177
187
150
112
219
297
200
121
194
112
217
170
177
186
172
171
196
220
150
150
174
150
112
150
158
181
150
150
167
218
124
202
186
136
115
112
178
156
123
274
165
225
208
131
171
228
150
226
171
121
124
229
193
123
112
176
174
170
175
171
123
219
150
150
208
121
152
147
112
208
150
194
112
150
164
150
150
150
167
170
208
112
112
170
123
181
193
193
150
150
215
228
201
214
208
218
112
171
121
150
112
240
194
123
227
174
250
181
156
112
156
158
225
235
208
171
170
123
230
186
226
212
150
167
150
112
175
121
135
167
238
167
208
176
121
156
121
159
124
181
150
186
170
276
115
171
176
121
150
226
112
201
150
219
150
150
112
135
121
150
175
194
192
121
137
208
156
165
150
209
195
150
194
160
112
112
170
212
164
172
112
186
231
208
150
150
112
167
112
136
150
171
208
131
212
201
176
121
167
112
143
174
197
242
243
112
150
226
121
123
172
135
150
165
255
121
177
177
216
121
215
150
219
187
194
202
130
123
210
171
184
187
150
203
208
171
218
167
236
174
170
150
158
208
112
219
121
150
135
225
274
146
170
210
147
208
176
172
165
175
167
112
181
186
208
164
193
121
144
203
170
187
170
231
276
257
194
121
201
203
167
202
121
181
112
210
164
175
112
210
163
112
163
245
181
150
171
112
167
170
214
171
137
112
171
208
208
192
128
150
112
168
203
121
115
229
239
171
172
150
135
297
167
216
208
136
171
121
156
189
121
168
170
208
264
143
231
172
172
158
208
112
112
213
123
219
193
203
194
147
208
136
150
171
112
254
115
172
194
150
112
150
136
121
150
208
177
156
167
203
121
167
121
144
135
172
170
174
240
218
150
208
121
150
235
208
167
208
257
250
159
168
121
232
165
201
112
228
123
170
194
202
171
208
156
147
121
150
150
121
208
228
187
201
202
112
228
124
240
150
250
194
112
158
164
150
228
121
200
208
112
158
228
258
112
112
208
176
150
121
228
150
150
258
171
205
240
150
159
172
121
112
112
123
208
164
186
112
150
130
135
243
196
167
112
186
189
212
150
216
164
147
233
193
159
143
208
158
150
150
136
231
187
152
230
164
123
208
177
150
150
150
131
209
208
123
170
143
202
226
208
115
228
178
208
150
189
171
112
150
112
150
230
121
162
150
228
217
150
228
193
167
135
216
172
203
186
220
237
218
239
202
112
189
212
171
158
112
150
150
150
164
167
208
253
135
123
115
123
170
214
158
187
176
181
176
136
137
150
207
178
250
216
135
194
172
167
136
150
281
150
302
171
181
195
210
195
194
226
112
259
186
135
164
123
167
156
147
172
193
208
237
165
165
130
182
263
152
187
203
177
208
121
240
170
207
123
181
187
170
121
276
177
204
128
193
112
215
184
170
160
237
172
112
150
150
150
150
152
205
195
123
240
112
208
150
187
170
192
147
121
135
194
260
115
208
201
121
208
121
150
167
172
228
194
164
167
167
135
170
185
175
188
172
150
158
150
230
187
146
146
112
218
231
186
181
159
112
195
121
167
121
172
121
189
243
254
208
229
218
121
150
210
202
258
112
217
216
150
150
208
174
121
112
150
200
249
150
123
202
112
150
121
176
208
112
174
171
176
201
238
144
150
121
150
235
273
208
208
121
168
159
150
179
150
150
156
164
227
167
193
349
166
160
170
208
196
112
269
172
160
194
158
240
193
121
278
219
170
172
147
178
123
212
150
112
158
170
165
193
130
137
179
150
208
210
195
150
156
214
208
121
167
177
150
124
150
172
146
175
150
192
201
159
226
202
137
276
137
121
219
193
172
124
158
150
150
165
112
233
176
112
215
201
299
176
135
152
210
150
276
112
234
112
112
263
112
112
150
207
150
220
172
202
187
164
217
167
181
150
121
172
165
215
137
228
112
160
128
112
121
167
112
212
220
112
132
231
218
187
200
242
185
143
115
233
203
165
150
170
172
112
150
250
225
171
208
192
196
239
150
267
236
171
192
210
167
121
187
150
255
112
186
170
173
214
240
150
147
183
150
112
172
112
150
150
232
172
170
186
112
115
150
123
194
128
208
150
167
220
171
208
136
217
228
224
152
212
173
195
218
194
165
112
150
112
136
167
202
194
204
112
112
186
112
121
170
112
177
150
121
172
150
175
152
167
162
123
121
194
219
208
150
115
194
208
112
237
112
160
222
181
137
143
156
130
172
228
181
186
121
214
112
121
170
195
217
186
207
165
212
210
160
167
208
123
112
123
123
167
164
207
121
121
112
121
150
172
170
168
208
121
165
167
177
272
158
121
150
208
231
208
256
171
201
186
217
128
168
225
192
228
208
167
136
150
150
121
250
147
198
219
160
225
165
163
192
115
208
136
192
167
203
208
137
150
121
193
136
150
193
150
112
156
121
206
121
193
123
115
156
195
167
172
165
121
150
167
195
172
212
112
144
121
150
156
233
112
254
207
233
212
171
215
167
174
150
112
187
150
112
243
208
194
175
160
137
170
194
167
121
208
150
216
156
224
150
172
150
112
228
112
112
156
222
165
266
147
196
158
112
229
196
208
243
215
238
165
181
194
147
150
189
208
150
225
231
199
198
186
208
135
150
121
167
249
136
167
137
237
228
181
168
150
187
172
234
239
203
164
135
186
208
202
128
121
150
257
150
175
156
194
150
150
198
209
235
186
195
123
203
112
121
170
186
195
150
150
187
112
121
170
208
251
150
208
146
216
136
220
112
150
243
250
187
170
267
253
156
192
202
167
123
112
170
210
202
150
194
124
174
174
205
194
165
195
167
203
112
112
150
158
192
121
112
196
167
172
228
150
167
194
195
150
112
172
121
150
112
213
136
170
202
190
160
172
121
167
112
203
150
150
181
189
228
150
150
202
137
193
121
121
123
121
112
181
209
208
195
121
197
150
158
171
150
150
194
254
205
182
226
150
192
208
172
170
187
147
181
215
212
143
131
302
208
136
213
128
229
172
150
208
139
181
147
121
210
213
164
205
171
112
257
181
172
198
172
208
174
176
112
165
143
212
112
150
201
276
167
112
208
167
258
136
112
220
177
253
147
112
219
150
112
208
172
115
130
170
172
112
165
112
186
220
167
194
112
150
278
115
112
170
121
203
150
254
112
217
228
214
112
152
186
112
164
150
150
150
121
172
228
165
220
143
150
239
172
150
170
198
121
170
255
201
263
250
112
234
167
176
210
230
150
171
150
297
243
171
112
112
210
163
218
160
192
195
201
202
150
186
208
150
112
172
208
170
150
194
121
172
204
208
167
243
147
234
172
224
187
263
150
136
187
121
150
150
112
150
121
232
164
229
112
171
150
121
124
204
217
172
174
150
150
176
150
156
172
165
171
112
193
212
168
121
112
184
121
194
167
172
174
208
121
226
112
281
193
112
150
210
121
236
208
121
164
208
150
208
159
150
201
208
130
194
194
192
170
205
208
165
208
187
121
208
160
215
213
172
255
250
176
112
194
203
135
112
112
208
112
189
121
121
181
115
215
123
228
112
121
123
121
172
150
152
206
170
228
150
210
121
112
121
132
170
186
112
259
181
150
112
172
121
214
187
229
112
188
137
112
243
208
172
195
302
196
136
208
137
167
136
194
208
167
162
210
121
167
176
208
150
123
137
237
278
195
168
128
228
171
201
112
229
167
270
206
139
194
112
158
171
208
181
195
123
121
112
184
193
152
160
207
112
201
159
176
228
212
147
112
203
150
210
194
195
181
201
237
150
170
176
210
164
167
210
112
214
208
150
160
147
150
124
181
226
193
214
170
121
159
201
123
218
208
210
194
136
209
130
250
244
121
150
208
124
172
161
150
112
172
228
223
121
212
128
240
160
174
165
177
112
194
190
212
181
150
150
123
147
194
208
194
177
121
266
172
247
112
112
239
112
112
225
181
150
121
208
167
212
121
170
194
229
228
165
236
172
192
208
281
147
121
172
201
187
150
167
121
121
172
168
184
222
152
135
123
171
172
112
121
212
167
112
167
194
135
208
157
170
137
214
171
225
208
150
202
150
302
121
193
121
215
171
121
245
193
124
165
112
112
253
170
158
212
115
184
165
159
170
121
210
121
192
150
168
231
178
123
121
170
112
177
195
115
187
181
208
161
150
239
210
112
231
123
150
158
228
121
121
121
150
222
150
260
167
208
297
208
136
112
172
229
219
159
195
167
237
150
171
172
121
242
165
121
233
135
112
150
121
172
175
172
112
226
172
164
203
210
195
121
123
177
152
165
238
137
208
150
112
194
168
112
172
112
121
181
115
233
208
112
181
172
167
199
172
128
135
150
171
170
168
158
237
121
112
208
135
270
161
112
181
208
194
136
238
112
135
150
208
193
172
204
121
211
167
170
210
152
254
179
174
217
150
208
147
137
230
181
137
208
232
167
178
134
158
121
160
150
187
215
206
171
174
215
115
112
241
207
156
160
143
147
217
212
174
202
157
121
179
123
175
112
201
202
257
150
196
170
167
147
187
143
170
177
158
158
219
212
226
164
228
184
186
215
231
170
170
231
219
181
186
182
121
265
210
194
168
219
112
243
291
112
186
172
177
195
208
208
172
121
261
112
208
165
215
186
346
212
302
165
124
150
112
255
208
176
170
147
172
174
205
243
112
219
193
150
218
165
237
226
201
177
115
208
208
150
202
186
150
249
184
121
237
251
189
174
195
221
150
115
121
193
112
255
172
112
112
150
112
121
195
131
172
186
208
167
150
194
167
150
150
123
135
150
172
112
170
121
229
186
217
229
150
172
186
190
186
171
171
230
112
170
187
121
124
176
208
115
137
264
150
121
147
176
215
186
112
167
202
237
112
215
170
228
167
263
178
238
123
219
161
123
218
178
123
167
175
157
123
150
147
212
170
176
128
171
187
206
115
215
208
121
112
150
112
137
212
194
203
208
214
123
150
130
217
175
208
143
121
121
150
170
237
178
156
167
208
121
190
257
150
112
212
150
112
188
209
238
150
121
182
150
150
193
112
203
112
172
176
194
195
184
203
220
172
165
193
237
124
150
158
186
150
112
233
121
208
112
154
176
195
202
137
152
164
121
195
170
192
244
112
207
160
150
237
156
121
232
150
150
112
193
112
128
190
115
112
150
112
165
177
193
112
150
150
112
150
130
195
150
112
174
159
228
160
121
186
203
150
195
150
121
212
112
123
205
267
170
123
186
112
215
150
198
184
250
228
150
152
181
143
150
177
121
202
242
121
147
152
176
150
239
144
112
168
203
208
170
187
150
187
124
164
130
170
112
175
135
150
171
112
171
171
170
231
150
141
194
121
136
147
230
167
121
112
189
172
152
112
121
150
135
210
176
121
171
247
121
210
208
112
143
152
170
187
181
167
115
220
181
112
172
217
193
176
112
112
170
165
112
150
228
208
202
234
224
123
165
184
240
208
136
150
121
172
218
150
189
194
150
150
123
172
242
172
172
176
172
112
121
150
174
150
167
171
264
250
150
237
237
112
186
209
250
210
136
121
225
150
182
112
112
210
192
181
152
195
179
136
115
137
150
195
164
193
220
170
165
187
160
121
150
112
194
123
193
208
179
121
150
176
208
225
121
181
144
115
164
177
171
192
121
211
176
163
170
196
177
194
171
195
150
147
177
176
181
243
181
167
184
187
137
255
170
240
112
136
309
168
172
163
223
112
172
263
207
123
112
121
208
124
292
205
121
170
158
112
201
208
208
112
112
168
254
203
112
150
150
167
232
159
195
196
172
130
112
167
172
112
186
171
202
150
217
121
186
187
150
172
208
139
237
187
168
172
229
224
184
201
181
181
121
177
172
167
115
121
207
135
112
121
201
112
121
194
121
112
195
150
150
193
121
170
167
176
150
135
112
136
159
175
150
182
135
208
226
150
226
130
208
170
150
255
164
150
121
202
121
150
181
194
165
121
150
202
172
112
123
150
205
165
209
202
210
172
112
170
150
226
250
237
164
150
121
179
112
150
270
170
176
112
135
121
237
208
164
164
150
121
112
212
150
215
236
187
123
168
208
185
193
208
150
150
150
112
135
167
201
150
121
205
217
218
172
136
112
187
164
150
207
218
136
193
170
112
167
210
165
112
121
150
112
112
131
150
112
176
274
123
165
202
159
112
150
192
212
137
268
196
167
143
123
150
112
170
165
195
170
229
115
177
171
208
147
167
150
264
169
112
171
208
208
170
121
167
112
150
165
194
193
167
112
112
186
130
128
242
112
167
164
268
203
299
202
144
121
167
150
135
150
112
220
239
178
179
208
223
143
226
171
187
158
121
208
174
152
130
202
171
205
121
208
164
150
150
168
192
123
124
112
271
203
121
203
137
202
231
150
157
136
158
150
112
175
235
112
175
194
250
176
112
208
186
112
228
171
124
168
219
202
112
112
147
112
123
198
112
194
150
242
215
147
214
123
157
195
174
181
200
150
236
124
150
121
160
112
165
121
181
235
205
150
112
193
231
207
228
193
194
192
187
112
250
237
147
208
176
208
195
135
112
176
213
112
165
150
112
174
227
164
112
187
181
258
135
250
150
121
112
210
136
162
217
164
112
150
210
302
244
226
112
170
181
192
112
219
112
156
232
167
121
121
112
193
229
215
165
150
160
208
112
172
208
112
172
150
238
208
167
184
191
150
170
208
121
220
170
112
182
170
199
123
121
186
228
208
112
170
250
121
150
209
123
210
250
208
184
234
112
167
194
193
181
194
121
230
231
135
210
121
150
275
143
219
150
181
137
164
115
157
167
112
150
208
235
193
115
270
206
210
150
239
186
150
171
150
194
175
150
150
150
150
150
195
150
170
203
215
173
202
150
241
124
172
229
158
214
228
195
150
172
150
167
192
121
112
123
172
194
136
150
150
150
212
112
150
170
207
156
170
121
210
172
112
112
135
264
112
121
210
187
168
170
217
194
121
195
212
159
208
152
167
176
200
176
220
218
135
262
176
194
187
175
121
191
150
150
223
112
186
193
124
265
136
228
172
208
121
177
165
167
186
174
112
167
210
150
244
150
121
143
237
198
172
152
263
112
121
212
130
194
135
208
281
112
234
123
177
239
150
228
112
150
187
176
237
147
203
170
171
150
212
112
121
150
215
167
165
194
238
172
216
210
121
212
167
147
164
214
170
246
208
171
167
170
194
167
159
150
207
175
216
112
202
121
121
217
112
167
150
112
150
123
208
233
121
146
208
150
194
167
172
178
167
130
165
226
255
112
112
115
208
170
167
150
172
121
171
210
181
219
136
172
210
121
112
208
250
165
203
160
176
208
198
172
186
228
112
212
170
171
147
194
112
208
136
165
121
171
158
238
171
250
277
128
208
223
231
121
150
158
195
150
112
137
240
176
184
173
231
208
150
263
167
203
115
135
181
150
242
203
150
167
112
123
172
172
150
121
175
112
112
195
121
225
143
228
141
172
115
165
150
212
150
112
176
167
135
181
263
199
121
123
171
193
250
170
208
150
112
228
201
112
123
302
172
167
220
220
115
208
174
150
277
165
169
231
234
158
194
136
165
172
150
170
168
121
190
228
192
199
205
147
121
170
121
275
233
187
194
150
244
121
172
136
212
171
184
123
121
135
158
165
172
150
259
112
165
137
194
121
159
121
172
112
124
150
177
195
121
206
121
121
121
112
210
121
202
112
170
146
172
128
193
150
112
179
150
170
169
207
205
112
121
121
278
192
165
171
130
123
112
199
208
201
112
205
201
208
121
112
236
112
178
192
150
227
181
168
219
213
206
165
230
228
181
172
121
150
167
121
302
170
208
171
165
159
150
112
124
192
112
112
212
112
115
150
174
168
121
187
112
167
195
112
163
227
135
230
203
170
137
195
179
187
181
211
150
176
150
167
201
184
177
212
112
232
182
208
165
150
228
231
172
160
150
158
112
112
150
199
152
164
176
158
228
292
194
144
112
250
150
124
121
228
112
210
242
181
187
170
150
181
112
157
121
112
121
150
150
193
255
183
184
208
123
172
156
181
168
179
150
167
150
135
172
112
158
171
202
150
150
130
177
170
228
170
213
130
228
228
171
112
208
208
137
150
152
172
230
172
288
128
186
162
172
112
112
208
152
162
202
223
205
150
197
150
181
199
150
171
250
150
187
232
201
208
224
112
254
208
182
202
195
112
150
187
121
181
208
194
173
219
204
150
112
130
250
150
302
195
112
192
172
150
176
123
123
112
205
150
165
182
176
176
167
179
112
212
112
194
263
238
205
208
270
121
112
176
136
150
121
161
150
150
112
243
194
123
223
208
167
208
203
208
143
194
171
208
229
204
150
194
112
187
203
234
176
160
195
156
121
174
121
195
136
208
135
194
245
231
196
170
150
207
229
172
206
302
203
124
227
197
150
210
121
193
123
208
157
202
112
201
231
192
208
236
217
171
228
150
208
167
170
195
124
175
150
194
214
257
112
115
210
189
143
194
194
182
164
190
194
121
112
179
156
220
193
164
297
121
152
121
112
150
150
150
230
112
150
171
171
170
112
202
172
112
172
237
171
189
165
167
171
193
135
208
194
195
194
176
130
250
150
150
222
214
170
150
121
281
112
171
208
233
112
178
170
150
123
136
170
112
121
199
112
150
160
228
158
150
233
255
253
175
167
112
181
150
121
115
172
167
195
238
112
123
237
172
218
210
156
218
165
150
121
150
240
170
124
167
121
195
228
171
172
208
147
228
177
172
205
150
203
121
123
208
167
150
208
187
170
170
283
216
206
226
121
112
112
147
160
172
223
202
150
167
159
137
201
172
212
121
172
202
230
112
176
184
202
208
112
121
135
165
177
150
167
171
218
194
225
208
250
216
165
229
150
143
121
202
241
255
124
170
172
144
171
176
195
208
220
212
123
150
150
150
171
203
112
112
206
135
195
167
150
160
167
186
121
115
159
187
202
112
244
112
202
123
172
302
208
150
170
112
147
172
135
255
251
219
167
174
121
205
170
195
187
121
198
226
115
112
112
112
112
208
175
171
135
240
259
210
201
201
237
167
194
128
203
208
167
128
185
176
177
208
174
112
228
208
229
219
112
165
208
121
275
203
164
112
136
112
150
170
246
170
195
137
168
218
121
215
211
176
150
217
150
201
181
165
193
228
187
136
224
167
236
112
168
121
167
228
150
192
219
208
178
158
170
192
146
278
172
121
172
186
136
212
121
196
202
226
194
136
121
186
112
124
121
168
150
202
160
121
150
135
170
137
208
150
112
242
181
167
150
208
194
186
152
224
150
176
232
112
189
187
250
174
195
172
208
123
231
150
123
210
179
112
135
227
238
124
112
139
172
208
150
172
210
195
194
187
124
121
167
165
181
172
219
146
212
150
231
121
156
147
220
195
214
223
167
195
176
187
186
158
194
112
171
185
112
112
212
245
167
112
171
201
235
170
112
209
165
228
186
121
124
150
217
136
208
167
201
213
150
189
202
150
202
208
201
177
112
228
112
176
159
112
209
243
147
201
229
150
210
193
167
121
197
150
121
208
184
172
228
130
112
187
135
167
220
112
112
216
112
208
186
187
130
249
237
172
150
121
136
157
253
112
167
121
128
266
112
205
161
210
208
194
243
171
202
158
193
244
237
121
150
208
123
175
160
208
168
193
253
165
243
150
121
172
112
156
147
258
165
171
112
150
123
128
192
160
164
246
170
181
130
174
181
181
212
112
150
137
112
196
150
239
181
150
160
135
177
164
121
171
203
150
150
189
220
112
123
171
194
123
158
172
220
208
219
190
121
150
121
208
205
187
167
112
193
167
193
208
150
150
136
135
150
240
150
176
121
208
208
202
202
194
208
193
193
171
128
170
123
170
150
123
167
150
187
160
171
156
209
220
172
150
150
221
112
150
112
174
176
112
112
220
171
171
115
250
172
171
121
201
194
112
203
186
201
135
150
231
172
212
121
231
220
112
112
193
231
165
208
121
172
267
121
170
121
150
150
150
150
124
123
216
239
156
115
112
181
206
228
208
172
212
229
170
191
112
170
207
175
193
197
137
137
150
121
121
208
112
219
195
150
168
112
128
150
239
123
181
150
167
217
135
172
150
167
112
150
196
150
112
186
144
207
225
150
112
167
150
207
194
150
124
186
172
167
244
150
196
150
174
208
200
135
147
112
228
232
121
150
112
208
137
157
112
170
276
159
264
215
250
267
150
150
156
237
112
112
167
162
121
250
170
136
165
112
201
193
156
136
172
278
178
210
302
207
179
174
213
234
231
112
210
202
172
161
115
137
165
123
112
123
203
150
159
181
192
150
112
216
208
217
136
135
112
150
212
137
112
147
194
112
165
233
112
137
121
121
135
250
150
208
172
150
192
171
172
172
158
232
135
246
165
165
112
167
150
216
167
121
135
128
172
121
150
201
236
135
150
208
135
123
172
194
168
215
247
150
228
229
175
167
121
123
181
176
121
208
193
219
183
209
217
175
167
221
219
205
150
171
121
195
115
121
183
150
217
203
123
112
195
130
208
150
186
177
150
229
260
128
238
203
159
112
217
193
181
121
159
208
194
176
181
150
171
150
236
150
208
186
112
201
194
193
112
178
184
121
150
170
237
124
150
243
150
231
201
168
195
170
179
150
123
167
231
168
197
156
170
255
179
223
112
220
239
170
130
187
174
171
112
201
112
191
136
170
202
150
231
164
121
193
115
226
121
112
239
178
167
200
121
143
153
137
112
172
128
170
137
121
193
242
150
216
121
150
202
150
170
150
232
210
208
112
174
123
228
123
112
219
121
112
237
189
297
224
115
136
150
167
228
150
200
150
175
167
112
206
212
208
177
212
236
112
203
112
236
202
112
170
136
170
137
172
205
208
175
112
112
112
150
176
219
121
170
147
204
194
255
228
171
210
143
210
150
186
208
112
167
121
172
121
187
135
135
112
112
150
150
152
276
158
165
208
165
147
233
112
215
170
208
165
121
121
136
184
174
193
136
150
112
150
195
185
121
203
165
135
246
223
121
170
112
228
121
186
112
237
192
112
226
167
264
186
158
218
150
165
172
208
194
150
165
112
194
121
274
150
202
181
112
167
144
220
181
217
194
187
150
208
181
115
150
150
302
112
150
150
181
172
150
227
112
153
181
226
205
137
172
208
208
150
229
147
150
215
239
150
194
215
206
168
112
228
121
112
150
150
112
181
177
228
203
170
150
226
194
121
176
181
186
167
112
179
263
232
121
112
121
172
170
112
174
186
216
176
189
159
165
208
219
112
206
194
146
202
223
112
159
136
112
150
121
121
187
162
220
121
170
207
170
150
121
135
121
231
167
263
176
239
207
208
176
228
208
130
112
121
187
193
136
226
121
237
112
164
209
211
182
112
218
123
150
150
160
170
218
150
150
150
112
194
193
250
168
165
243
150
181
147
236
232
121
181
240
167
112
247
203
171
158
159
167
199
159
187
135
170
112
121
231
171
200
218
143
250
234
150
123
121
202
112
172
164
112
167
171
150
130
150
115
187
167
123
150
170
202
121
150
210
208
213
121
115
121
172
112
165
167
181
181
170
159
112
189
139
115
204
172
170
156
112
165
150
228
277
150
195
139
177
171
240
176
217
176
179
165
193
121
137
150
237
195
212
208
208
260
279
121
165
259
121
228
150
135
112
194
171
210
226
228
203
171
220
150
121
121
170
123
171
137
259
253
238
152
112
216
187
194
167
112
210
150
202
209
150
112
150
157
186
192
238
130
176
165
194
170
193
201
112
208
147
176
165
186
220
181
150
186
174
186
170
171
121
192
189
237
167
121
112
123
192
208
150
183
228
150
170
115
202
167
202
171
213
177
150
161
171
210
150
137
197
349
260
150
167
168
170
135
175
186
175
136
112
121
167
202
165
212
164
302
170
150
158
112
192
240
237
112
128
208
186
208
150
176
208
135
245
160
193
150
150
172
186
176
137
220
150
220
167
232
112
186
143
190
198
196
123
165
121
121
167
112
172
208
232
245
237
121
219
212
233
253
156
137
186
176
156
136
247
112
181
278
150
278
170
287
147
208
115
175
150
181
176
237
257
184
172
255
150
112
208
167
172
188
181
249
160
165
121
112
177
112
225
182
121
172
112
203
250
208
208
121
168
150
181
112
236
244
170
112
215
302
192
150
176
208
171
219
232
150
181
121
179
212
121
208
150
167
115
240
112
123
250
121
165
208
160
225
236
112
156
190
150
231
212
130
203
112
206
112
219
220
135
187
170
243
228
171
121
195
147
172
176
231
172
220
172
128
208
172
121
150
150
226
280
158
201
123
167
224
176
121
185
136
121
123
112
136
172
175
123
198
150
228
112
167
225
167
177
112
201
228
146
121
172
147
176
166
238
187
166
186
170
172
135
223
167
150
167
186
143
170
150
150
208
112
233
170
181
137
170
150
239
121
150
232
187
212
194
112
207
167
194
124
121
159
121
187
240
172
137
228
121
181
230
150
228
124
150
237
150
238
170
220
260
208
171
208
112
196
210
167
201
210
150
212
196
150
187
172
203
150
159
211
158
123
150
210
121
229
177
121
115
215
194
172
136
216
196
130
171
136
170
249
112
167
121
238
229
121
121
175
177
112
164
189
168
179
171
112
112
171
176
237
212
220
128
150
121
123
165
147
208
219
121
205
164
208
208
121
176
252
121
257
179
182
205
216
167
112
167
167
130
112
171
228
150
185
182
165
172
167
112
112
150
250
187
231
184
121
210
202
150
259
136
182
186
136
136
112
235
167
167
194
213
186
171
121
112
228
112
212
230
150
255
201
128
242
168
112
219
137
208
189
121
207
240
137
150
238
208
181
137
219
143
112
137
150
202
170
150
112
194
187
158
112
189
150
208
255
121
193
172
172
170
115
150
170
112
137
201
208
189
181
121
167
219
174
168
136
115
208
213
158
112
130
165
121
196
171
121
150
170
190
257
121
172
130
202
172
137
172
121
121
207
150
207
170
115
167
208
124
150
172
194
167
172
121
167
168
211
252
112
150
112
121
167
208
121
150
143
167
240
201
193
172
177
121
112
218
208
168
186
225
112
241
161
186
165
172
164
181
112
210
196
203
207
208
123
227
112
112
172
150
112
121
124
137
193
121
164
112
194
229
208
207
174
210
164
170
150
121
130
208
165
179
150
112
220
208
181
172
115
112
194
212
208
112
170
203
172
150
121
228
143
215
209
202
167
137
199
170
121
194
213
115
143
170
205
175
168
167
167
121
150
208
171
158
255
231
121
112
186
150
115
210
159
225
172
171
176
195
150
276
302
243
260
239
121
150
194
150
171
202
194
247
202
208
137
121
193
187
150
150
112
187
170
187
234
186
208
150
208
201
237
172
152
150
267
194
210
187
147
172
165
112
193
112
302
121
208
177
217
176
174
164
214
167
240
192
174
172
112
150
208
212
170
150
121
253
192
171
276
150
245
135
195
150
170
161
112
255
168
150
226
158
121
112
250
263
167
112
152
171
150
139
150
123
121
210
112
150
137
135
238
112
112
195
167
176
121
121
167
112
160
147
150
194
121
208
112
241
167
290
218
172
276
121
203
150
170
112
150
263
112
121
112
177
195
150
150
158
135
156
172
170
167
136
181
208
175
137
192
237
208
112
174
115
170
199
167
240
234
224
232
195
194
208
218
121
158
243
123
236
172
233
181
158
121
152
211
208
166
147
121
250
156
136
147
150
250
212
112
214
121
150
112
150
112
137
143
115
123
115
229
255
250
162
311
112
171
152
131
228
164
165
225
112
149
237
147
208
156
231
167
194
201
147
167
193
181
237
170
112
112
210
224
121
194
112
121
112
193
123
136
175
137
150
233
150
128
177
171
213
112
215
187
193
218
176
171
163
167
112
112
197
208
208
168
172
121
121
201
112
179
202
121
128
159
189
230
176
172
208
201
150
255
121
181
150
150
112
208
272
121
152
112
150
150
231
172
177
255
121
209
121
223
121
150
172
186
121
158
150
150
112
212
193
150
136
195
196
150
150
112
124
171
194
240
147
242
186
172
164
147
225
192
150
150
220
194
172
150
171
266
144
208
150
208
115
243
131
179
171
164
172
123
163
150
220
223
186
115
167
208
159
165
135
121
216
147
208
152
208
165
115
121
123
170
165
184
167
124
112
177
173
175
204
228
181
128
152
189
150
167
150
191
112
176
175
239
121
241
230
217
256
112
200
194
112
176
146
115
222
257
210
150
170
112
205
135
112
177
181
135
189
121
128
123
136
195
135
210
197
150
238
198
145
167
123
176
270
174
170
195
208
121
170
203
112
170
172
164
112
150
128
167
219
176
112
179
150
123
150
228
170
197
112
181
222
228
150
210
206
302
187
181
194
225
184
121
158
187
170
121
186
224
231
215
150
121
170
150
164
172
255
228
165
164
115
194
150
121
172
170
194
121
231
123
167
112
212
121
193
121
170
240
112
165
165
150
260
147
229
150
150
112
177
165
112
205
208
124
137
150
136
244
172
170
112
205
192
150
264
150
250
172
157
219
260
176
170
211
265
218
170
164
201
150
153
175
124
112
137
167
158
150
177
167
123
202
204
121
228
228
124
170
181
202
157
212
198
187
167
193
170
167
208
112
150
182
123
158
150
179
187
150
176
211
150
208
156
302
167
121
150
228
228
121
170
250
150
208
194
172
243
121
136
167
172
121
172
150
233
174
176
181
128
255
208
150
229
217
112
220
121
171
121
181
194
232
228
203
123
168
237
227
172
231
170
181
238
255
194
181
218
184
152
220
187
163
208
175
206
121
112
136
136
198
137
214
172
210
236
187
156
143
170
176
172
123
193
211
210
112
150
171
210
187
172
121
263
121
165
193
208
165
137
202
160
121
181
112
174
150
192
167
229
150
215
123
250
176
121
135
171
165
167
128
164
182
159
217
161
124
112
258
168
172
202
150
112
202
160
208
201
212
201
150
201
208
172
121
167
128
150
205
124
209
150
250
112
192
167
199
176
171
218
165
121
115
172
171
112
150
184
172
226
112
159
156
297
167
164
121
124
233
167
121
128
200
167
210
176
208
135
167
112
150
241
174
205
150
150
170
172
136
150
208
167
162
190
115
228
276
137
150
228
228
156
150
208
220
201
171
172
150
150
172
172
208
136
226
145
170
121
121
186
170
231
186
177
112
202
121
112
121
121
150
150
112
136
172
181
121
170
171
171
112
243
128
164
172
349
251
266
150
171
152
150
194
190
168
121
159
150
195
150
150
171
162
193
196
185
121
279
121
112
159
167
150
123
150
112
192
171
194
112
164
165
176
208
167
112
208
232
194
202
208
192
195
121
123
190
208
112
177
194
121
192
112
150
137
172
181
213
156
192
218
112
255
121
150
171
167
112
124
112
187
246
208
219
172
150
211
167
237
192
171
124
208
172
165
171
205
112
228
164
247
195
208
186
123
159
152
123
195
124
112
172
170
150
115
167
208
175
172
167
237
121
187
177
172
150
171
144
112
177
121
150
174
236
112
170
208
219
121
112
121
175
150
172
171
158
206
220
150
241
193
144
123
170
121
121
112
128
176
112
184
136
208
172
233
209
223
165
172
115
220
115
231
203
112
121
172
201
137
207
143
217
124
137
164
172
194
152
249
177
207
167
194
156
187
115
170
171
158
112
150
187
208
232
205
186
150
160
150
135
147
112
121
172
152
227
181
212
167
160
234
123
208
187
172
158
176
193
159
160
159
231
208
263
156
150
143
121
243
123
147
172
226
112
181
243
172
143
187
171
174
210
194
171
185
150
186
196
235
112
236
226
226
237
236
176
123
198
150
150
123
150
121
150
172
164
121
205
165
121
174
208
164
187
152
112
147
150
112
112
184
150
144
195
167
208
146
150
176
208
167
250
150
170
152
171
208
121
239
164
137
219
171
150
121
112
158
147
123
112
170
128
168
275
287
167
150
208
115
172
171
170
121
112
147
121
137
244
172
205
202
208
208
150
172
150
171
194
201
165
152
167
171
210
223
195
181
112
175
175
147
165
150
152
121
187
137
170
170
171
170
218
208
176
150
210
175
159
234
121
190
203
276
112
124
243
150
147
150
179
172
192
121
181
186
231
150
172
150
297
210
209
150
150
150
208
186
123
228
172
189
137
172
170
158
172
253
112
137
239
187
256
210
130
243
128
195
193
203
171
172
121
171
121
186
208
150
150
150
243
171
208
112
213
147
170
251
159
257
177
123
212
243
239
128
226
156
121
217
170
267
213
135
112
176
168
164
156
172
173
181
121
205
171
170
208
210
165
121
186
238
170
170
165
121
123
170
196
164
146
193
194
124
255
135
156
167
228
123
208
208
112
164
229
167
167
225
208
121
181
205
175
150
242
121
228
112
172
121
179
150
135
121
150
211
205
239
171
263
186
150
112
165
176
150
219
112
215
167
121
136
121
159
121
121
150
226
170
263
175
112
228
162
150
201
195
239
121
150
187
112
228
208
165
124
193
243
181
194
228
200
145
208
121
206
112
228
201
121
164
187
202
170
112
170
112
172
172
165
225
263
171
230
147
226
112
112
158
164
150
170
176
187
131
203
150
198
176
225
202
220
157
121
176
121
136
175
239
150
150
178
150
135
167
194
112
208
202
208
121
136
215
112
209
177
112
150
156
231
211
263
150
208
115
158
179
150
167
150
197
112
236
208
208
176
137
168
112
123
226
170
156
208
179
174
150
124
167
150
157
150
128
160
150
231
112
121
209
172
186
150
123
159
112
170
137
168
174
160
231
240
202
121
215
159
231
150
170
189
136
194
272
121
121
177
184
112
210
208
121
208
167
163
193
150
121
228
156
115
176
278
112
181
218
136
208
207
172
200
194
208
170
112
194
176
208
121
187
123
165
150
205
112
231
205
177
112
160
170
150
121
208
150
176
121
170
172
112
167
164
234
205
226
271
112
194
115
121
208
172
194
167
172
195
121
150
121
193
121
220
121
159
243
112
112
300
218
167
135
190
168
137
201
208
170
156
176
150
121
210
177
208
121
167
150
130
194
178
193
178
188
121
265
152
150
172
137
156
150
135
181
165
208
150
172
171
207
165
176
150
150
112
212
150
164
123
170
143
181
247
259
112
201
208
167
172
178
136
228
135
225
187
181
121
150
192
172
209
172
202
181
156
172
150
208
112
243
208
167
160
150
171
170
186
167
172
182
124
112
241
171
150
171
231
159
165
255
172
205
150
112
167
172
187
170
243
255
121
121
172
115
212
194
172
171
255
203
150
130
156
112
177
208
121
201
147
165
233
143
263
299
194
231
244
187
168
121
237
272
160
172
150
179
150
150
168
160
164
237
112
174
165
172
150
150
174
150
172
187
167
175
208
152
152
170
150
202
130
176
130
194
164
121
150
112
198
135
150
244
171
150
121
170
218
160
208
150
208
177
123
172
167
215
172
208
212
202
136
115
237
168
112
228
208
172
150
237
112
165
208
205
121
172
112
171
123
121
239
174
239
165
150
187
165
136
189
150
150
240
208
193
167
181
170
244
185
173
112
158
112
170
170
147
112
196
175
112
150
167
158
150
226
150
136
234
178
167
159
121
204
186
167
203
147
184
232
164
170
174
201
172
168
136
236
208
179
115
171
112
147
112
228
165
112
115
112
195
135
136
167
112
165
150
123
228
150
143
136
206
170
167
210
207
193
207
230
208
123
112
150
121
167
164
176
123
208
170
181
193
172
159
190
231
228
112
187
172
208
194
152
170
150
182
121
238
121
137
279
231
112
209
150
150
176
150
237
181
203
152
135
213
172
171
159
186
123
150
112
153
257
121
172
158
137
193
159
218
201
217
260
212
208
147
181
167
181
170
121
237
200
177
244
215
150
226
238
203
171
150
171
112
152
234
121
162
112
168
174
112
208
208
150
193
220
121
150
150
121
167
170
150
172
167
204
112
234
195
254
237
130
193
199
198
201
146
112
193
181
194
115
249
193
208
212
150
156
260
181
208
172
182
171
210
170
121
160
128
150
182
208
228
187
112
123
172
147
123
207
167
150
220
112
194
202
234
250
245
172
150
181
170
150
165
150
150
237
150
121
167
186
194
275
193
121
210
137
167
149
112
239
115
170
187
284
130
150
158
167
228
158
177
228
137
165
174
160
157
177
237
150
194
208
121
204
121
255
208
172
174
187
172
220
170
182
240
176
236
284
150
167
121
150
193
150
212
112
181
145
121
172
121
164
123
158
150
156
211
203
128
174
174
121
170
201
186
231
226
187
150
209
167
158
202
168
150
226
203
112
174
112
121
218
218
208
184
194
165
112
171
208
229
187
182
165
208
167
212
152
147
112
172
174
164
176
150
227
150
170
210
170
203
112
112
170
237
160
252
153
205
121
150
112
171
135
170
167
208
170
121
236
121
150
219
179
223
160
194
150
139
172
181
112
130
186
172
123
150
175
167
150
172
135
150
159
176
136
202
225
201
112
192
150
218
194
195
226
165
135
175
121
115
112
191
266
160
121
204
172
112
112
195
152
172
150
112
246
193
211
181
220
250
173
112
121
232
219
208
237
242
220
121
229
150
112
231
171
160
112
207
201
210
150
123
203
187
172
184
128
181
171
115
239
233
170
121
152
115
220
197
112
112
202
130
208
121
167
121
152
208
226
181
195
115
232
172
276
121
219
123
112
158
226
172
130
237
194
232
231
170
165
212
150
195
172
115
208
165
181
194
112
137
150
123
208
150
172
172
150
168
112
121
171
162
202
150
172
150
231
167
250
172
121
147
211
172
220
255
193
164
112
160
112
265
178
167
150
238
181
112
237
150
167
156
170
170
150
136
172
194
214
195
112
150
253
213
121
121
263
170
112
150
112
207
197
130
172
170
172
228
150
121
186
175
150
226
243
172
137
121
112
112
194
164
249
171
112
231
121
220
121
121
214
202
232
220
192
156
220
170
137
208
112
123
181
172
210
253
167
175
237
167
172
123
150
202
212
112
172
176
193
250
161
150
176
250
135
236
112
194
112
212
210
187
112
150
171
167
150
170
121
164
218
167
123
181
201
217
239
175
207
174
123
147
158
165
137
172
176
150
167
181
172
150
121
176
150
150
172
167
112
137
201
176
193
121
124
150
226
201
175
276
168
172
201
210
203
228
200
121
150
189
208
185
243
184
172
165
137
128
194
164
212
150
172
137
112
112
121
172
211
217
150
172
171
170
208
112
165
165
228
218
164
172
150
160
160
155
121
150
205
220
170
150
223
228
165
185
167
150
179
164
220
135
208
168
208
150
171
121
130
170
160
121
164
208
228
208
224
136
165
172
177
172
184
218
226
159
172
112
170
167
178
170
144
146
164
228
186
135
115
181
203
186
150
235
208
186
275
150
208
225
172
208
177
147
121
150
195
136
207
121
158
234
207
136
170
170
187
135
176
208
170
167
172
112
216
196
211
150
167
250
194
150
150
170
150
178
112
208
198
167
150
223
217
216
170
208
165
165
150
112
228
121
171
147
203
171
121
160
205
150
181
237
240
121
150
207
171
208
150
203
176
123
147
171
174
194
170
186
231
216
167
171
150
176
150
168
135
121
167
176
235
124
112
172
195
182
164
176
240
123
195
158
150
156
217
123
193
150
160
167
160
130
179
174
208
212
165
211
210
274
137
150
276
208
223
172
123
150
160
123
179
186
187
121
257
263
164
171
228
208
112
121
157
239
143
137
115
171
164
184
121
112
150
115
135
208
123
192
121
174
115
228
238
135
181
147
233
150
176
210
170
197
171
193
216
112
170
194
175
170
150
171
172
115
217
150
150
172
208
263
150
162
273
121
209
139
234
112
115
237
168
135
170
248
167
240
194
136
170
172
164
193
156
176
121
171
220
201
171
197
187
208
150
121
275
205
195
143
255
195
121
179
181
112
189
123
171
150
201
236
172
132
181
192
203
121
208
164
137
220
259
197
237
128
209
225
196
189
194
172
171
172
124
220
121
208
150
112
172
159
123
195
165
150
112
160
263
112
195
128
212
150
228
204
165
194
194
121
136
123
147
165
166
176
150
302
172
200
121
231
150
112
121
178
115
172
150
171
139
172
229
202
121
208
121
121
176
115
167
150
221
167
202
187
156
208
193
150
167
112
237
245
121
208
202
136
164
174
226
150
150
163
217
203
150
207
143
187
302
150
207
218
168
112
231
174
165
203
209
135
170
121
237
177
112
121
215
112
150
130
170
177
170
215
194
167
163
172
171
194
227
209
218
150
131
167
156
158
186
167
150
172
115
167
203
241
176
212
208
137
150
202
121
136
150
137
123
233
203
170
112
181
229
160
205
150
172
172
156
208
237
172
194
194
202
112
194
112
152
167
159
121
171
136
152
150
171
178
176
121
136
196
121
205
167
150
136
243
159
208
112
167
210
147
187
201
137
172
181
181
170
121
121
167
181
123
174
208
112
195
231
201
243
112
112
218
172
166
121
115
150
208
208
187
177
205
123
208
112
112
200
178
165
121
208
174
172
150
112
171
208
201
136
167
194
177
112
121
220
208
146
232
172
112
229
152
194
177
175
175
220
139
150
150
121
170
172
232
250
197
112
150
124
240
194
123
134
186
201
207
150
121
159
194
171
172
112
158
208
156
170
132
192
135
115
123
121
160
170
112
171
170
208
112
150
196
171
112
184
123
208
237
137
112
202
121
239
170
164
167
135
172
150
135
226
208
189
121
112
208
167
231
172
112
135
227
112
150
175
181
236
187
237
231
172
147
177
234
170
218
112
208
202
112
216
112
229
171
123
146
150
192
156
123
112
242
137
195
212
152
112
182
220
194
150
220
231
172
195
112
145
167
170
212
176
150
265
130
259
147
208
193
201
150
137
208
112
193
123
112
301
150
208
173
216
112
150
238
165
219
208
210
150
192
135
165
150
172
121
150
121
216
121
161
253
112
121
208
150
276
172
199
353
115
170
112
112
212
135
112
238
171
172
115
217
170
172
225
115
202
196
208
121
121
176
121
210
121
145
170
123
208
201
192
121
150
165
112
167
172
121
171
186
194
150
172
228
121
146
209
212
150
172
198
121
176
164
167
121
175
195
158
112
115
112
240
215
130
167
195
121
158
211
165
150
150
150
112
187
179
207
130
229
172
172
171
121
137
194
172
297
195
112
123
112
121
157
212
208
147
112
123
175
167
263
137
179
189
154
123
208
152
165
112
194
208
156
124
208
112
170
136
143
226
112
150
150
208
193
208
261
150
175
187
255
200
121
136
173
165
208
181
216
170
165
167
171
226
128
150
112
229
150
182
112
173
254
228
121
210
150
121
181
123
112
150
171
209
227
158
217
184
216
186
231
172
112
124
172
147
208
171
193
112
228
150
123
150
212
112
165
167
201
112
124
150
208
170
237
147
124
112
112
183
177
201
121
167
255
150
150
150
167
150
121
226
208
201
170
115
121
237
208
210
208
240
172
150
255
172
135
121
123
121
176
186
150
121
205
170
177
161
208
177
186
136
194
150
201
208
121
186
203
168
194
150
170
187
212
181
150
186
164
167
112
150
150
186
194
194
257
121
137
167
243
259
172
150
187
160
228
121
145
150
158
233
276
187
208
167
192
215
139
159
143
220
123
123
152
229
150
143
137
128
250
156
181
201
172
112
167
170
172
150
150
189
197
172
239
150
150
172
208
150
135
176
112
164
237
229
207
150
218
208
150
194
237
176
220
250
227
150
176
172
236
181
128
183
150
200
209
170
165
112
184
150
121
128
112
225
187
201
172
172
176
121
115
164
112
186
270
220
123
150
112
159
265
112
152
121
186
150
123
185
112
220
232
150
231
172
172
216
208
165
171
123
147
165
209
234
234
167
208
174
150
156
121
228
184
150
150
228
217
159
217
112
278
208
177
167
171
112
181
175
112
147
150
208
177
172
172
112
167
243
158
121
167
147
203
208
112
112
124
172
159
194
143
112
177
124
302
177
165
167
226
195
189
228
123
243
208
115
208
121
112
112
130
150
124
158
112
164
176
184
237
203
112
147
176
198
165
226
178
150
257
170
160
179
137
174
112
187
112
112
123
123
150
218
212
194
181
121
152
121
150
171
159
137
208
136
172
212
174
158
123
150
193
150
121
115
128
165
208
210
112
121
259
177
208
121
112
181
150
171
187
176
171
171
194
210
189
208
207
181
234
167
112
112
112
167
150
208
167
150
112
218
121
177
150
165
181
219
171
167
240
207
207
172
121
243
199
152
258
112
230
150
147
150
193
179
112
171
112
193
179
255
174
123
112
241
143
209
150
124
172
214
150
181
121
121
164
217
223
172
171
150
167
121
150
209
150
150
208
208
112
123
263
112
181
174
167
172
160
194
171
172
150
115
193
112
193
228
206
175
150
201
170
123
150
299
150
177
159
237
136
131
150
189
165
123
137
193
171
204
250
212
219
226
150
112
171
170
181
226
176
165
203
194
121
194
208
174
215
150
202
260
176
112
202
165
228
150
147
170
152
165
121
170
150
121
112
203
130
174
177
121
212
171
158
181
210
217
112
219
172
172
250
171
208
112
160
150
208
150
177
150
255
150
177
302
170
240
137
189
112
194
199
123
182
172
208
112
164
176
112
205
112
123
195
208
229
150
226
112
158
115
158
112
176
250
245
121
176
150
152
208
165
240
302
112
167
165
121
137
112
237
112
135
112
112
150
112
137
208
150
237
167
176
128
203
150
194
112
112
150
150
150
279
171
167
150
176
121
115
276
115
150
136
216
150
150
210
150
220
198
136
172
172
137
115
123
208
150
187
170
199
167
223
150
121
194
172
167
291
195
165
121
135
115
220
165
205
207
196
174
278
158
193
202
167
150
167
182
150
115
136
219
195
276
170
170
194
218
135
208
123
172
152
187
135
193
165
194
217
112
181
168
171
156
170
172
150
123
121
177
192
174
121
139
171
208
220
235
121
204
121
267
172
136
208
112
186
208
150
187
228
121
121
176
211
162
150
171
158
207
194
190
212
112
212
192
228
172
172
174
150
168
276
121
186
176
147
167
208
150
123
194
172
150
150
259
123
130
121
165
181
121
216
121
167
121
201
175
195
150
208
128
205
213
112
208
150
228
176
203
170
150
135
210
181
165
194
194
216
186
167
181
172
167
146
176
121
171
193
228
158
228
237
234
175
237
171
112
167
156
181
128
160
176
150
150
193
150
228
176
143
137
150
229
186
207
112
172
131
181
171
208
181
135
112
218
167
121
172
302
112
170
165
176
193
192
150
186
150
112
112
210
167
254
150
161
121
176
171
121
184
159
112
112
187
193
150
167
112
186
121
208
121
150
156
217
217
112
210
186
193
172
237
208
172
213
156
112
220
194
112
121
135
177
172
208
237
170
112
208
147
165
237
201
203
150
208
112
167
150
167
135
167
150
195
228
112
135
112
112
176
179
187
156
204
170
208
164
228
167
121
115
208
112
192
181
172
208
130
276
231
121
207
150
176
239
150
181
208
230
150
208
300
190
183
208
278
130
152
194
150
203
164
176
215
208
192
195
172
112
205
237
121
121
150
172
121
150
217
212
193
121
237
170
210
165
215
121
112
181
255
150
158
121
229
219
206
165
179
112
158
150
150
121
302
150
194
112
196
121
208
192
189
212
172
112
121
121
218
229
186
135
170
171
272
233
121
189
112
181
172
225
121
171
195
150
208
156
208
233
172
172
121
135
162
150
160
243
150
186
210
150
121
208
112
121
205
210
147
247
210
167
172
171
172
181
170
210
159
195
213
156
170
115
229
124
167
165
121
112
195
194
275
224
121
121
176
112
121
112
150
202
121
112
172
213
231
143
159
170
172
194
115
193
137
177
167
136
223
168
123
186
171
150
219
136
176
112
172
240
239
201
244
193
135
190
171
173
193
193
170
187
230
167
121
186
150
112
147
115
210
112
146
172
121
136
143
225
245
168
274
121
123
297
136
237
123
200
208
150
229
136
237
146
195
150
205
156
115
228
124
212
112
231
167
208
281
147
208
124
232
177
187
203
121
207
137
112
192
112
278
186
150
205
212
168
170
194
170
205
170
170
172
186
112
112
170
170
123
121
212
208
112
175
208
212
210
205
195
164
193
121
158
212
218
220
302
167
194
136
172
194
150
238
208
150
229
225
231
137
112
165
121
137
240
181
203
194
150
181
150
172
112
181
150
131
186
170
115
208
250
177
302
192
167
172
150
213
176
158
255
212
176
150
186
150
208
210
137
168
195
250
168
112
150
194
302
135
201
137
150
202
208
239
112
239
121
226
208
168
121
174
194
121
258
112
208
206
302
223
210
219
230
233
137
181
219
172
250
208
204
156
250
135
200
171
156
164
150
193
239
112
201
190
193
150
165
150
152
208
228
208
172
173
240
208
115
172
172
121
162
112
150
255
158
208
130
202
150
172
121
128
135
167
172
112
175
165
187
137
112
167
150
135
176
208
193
135
150
194
158
172
123
112
201
178
150
121
201
217
176
205
175
266
194
143
150
150
232
150
202
112
147
150
181
167
189
212
121
186
208
156
139
150
237
255
231
112
181
160
186
150
112
135
186
207
115
171
112
202
115
150
115
112
170
150
137
171
177
112
181
208
112
190
164
121
121
181
112
172
121
137
228
167
150
201
150
167
258
152
112
208
121
136
249
167
121
170
112
208
112
231
150
168
112
187
179
112
130
150
172
228
177
152
112
193
177
171
112
172
184
167
187
121
225
250
193
150
150
165
215
130
115
194
208
220
167
202
112
171
150
121
112
112
187
121
257
228
233
150
167
181
170
130
130
135
150
121
167
165
150
150
112
167
112
170
135
121
164
170
123
181
172
201
187
235
147
179
177
167
192
177
170
195
121
112
150
208
121
136
231
150
112
181
209
187
135
205
228
204
170
137
179
150
228
174
147
171
172
222
150
226
167
219
150
256
187
241
112
258
128
150
208
302
130
193
172
192
164
170
175
171
121
150
121
150
150
150
210
170
196
176
167
150
186
219
172
112
215
214
204
121
121
150
170
123
168
150
136
172
112
150
176
171
150
112
150
112
112
208
121
208
167
194
217
208
170
150
170
112
168
112
128
135
158
192
150
195
112
250
165
150
112
150
150
147
172
162
213
165
121
112
150
112
150
112
208
186
218
172
121
176
146
143
187
203
112
170
123
195
172
171
170
237
115
150
205
231
171
128
255
153
123
170
112
168
203
112
112
176
112
123
172
208
186
172
146
123
225
220
150
177
172
200
202
112
187
178
181
214
143
135
150
170
239
232
170
150
112
177
194
115
112
112
186
171
194
143
237
208
193
215
187
194
193
136
112
166
193
233
254
193
263
243
297
192
237
174
212
135
172
115
205
112
174
190
165
239
150
172
229
121
150
194
150
164
170
263
208
150
242
121
123
165
213
112
172
112
212
203
171
121
210
187
192
210
159
147
128
229
112
194
123
172
112
170
181
195
150
168
220
150
136
242
212
150
121
171
179
212
211
159
250
123
203
112
156
112
121
150
194
123
231
212
242
186
156
213
121
137
150
150
255
250
150
159
150
184
217
229
221
202
143
272
225
236
112
150
150
136
121
208
121
173
115
278
170
193
208
177
228
172
137
176
244
150
165
187
123
112
121
198
147
121
229
208
187
212
121
167
167
121
208
150
150
210
236
237
202
202
121
181
137
152
203
216
208
112
229
228
147
112
172
147
177
203
150
136
170
121
176
165
221
164
112
167
167
208
137
237
202
124
150
250
203
150
208
124
217
112
276
150
130
112
165
121
205
192
193
167
220
158
172
150
112
230
159
172
171
212
171
196
208
160
112
128
137
150
189
255
159
134
171
255
193
115
164
121
170
167
243
147
170
220
207
123
263
208
219
136
135
208
150
192
202
172
208
121
226
112
121
121
167
159
150
247
240
137
194
250
202
171
210
135
186
243
167
171
208
165
171
115
123
208
203
150
210
211
228
183
210
186
229
130
165
165
174
279
170
150
112
136
112
181
302
201
164
243
228
156
172
194
302
259
121
181
167
150
187
112
207
156
144
216
121
208
150
176
189
150
121
278
123
167
150
150
135
176
208
160
243
112
121
209
203
171
135
193
172
193
172
167
171
190
112
172
147
137
239
167
187
112
267
218
168
193
124
121
150
152
214
121
208
172
150
112
200
121
156
171
147
210
121
157
137
121
121
219
115
226
143
150
162
170
150
202
112
181
172
172
187
130
219
226
140
179
266
121
167
112
210
156
168
159
193
150
239
195
233
168
175
208
196
202
170
195
160
121
278
112
150
213
157
121
112
215
237
210
182
175
112
266
263
112
172
167
210
228
228
215
208
254
170
150
176
208
238
112
156
218
181
115
174
219
216
112
150
150
121
223
226
202
135
112
167
185
137
193
121
112
112
165
150
181
136
214
112
205
176
150
201
158
210
246
171
174
190
121
112
150
165
171
112
208
168
150
226
174
150
165
203
243
162
217
209
121
170
170
195
182
297
173
115
212
165
121
174
147
208
245
170
177
170
112
168
150
175
156
302
150
150
130
181
172
195
190
150
137
121
112
212
243
264
123
150
208
242
207
223
167
150
128
228
207
207
186
208
171
201
167
203
112
150
212
121
209
147
176
170
214
195
112
150
240
112
208
233
150
195
115
226
174
115
136
186
123
186
194
170
112
167
173
170
150
112
164
281
172
172
167
121
150
124
165
143
171
147
124
195
135
208
121
112
121
121
222
147
176
193
112
135
228
150
202
239
186
150
228
267
182
167
171
185
123
150
187
232
187
196
208
150
217
150
121
225
193
121
228
208
112
112
137
172
208
178
208
150
219
186
224
175
135
192
121
112
136
201
165
208
121
164
150
121
165
237
236
121
170
112
112
164
172
150
136
150
239
223
165
121
170
150
241
271
150
121
150
174
112
150
226
167
150
208
115
172
150
208
150
239
121
186
237
199
228
170
172
167
207
226
121
150
121
250
112
121
195
250
208
165
167
112
208
121
150
145
131
216
194
226
167
121
206
121
181
137
203
220
212
121
172
167
220
143
278
172
219
172
210
167
137
177
150
226
212
136
158
208
150
176
137
112
150
172
179
226
124
204
121
112
115
219
181
170
239
208
112
171
203
176
208
208
112
112
150
250
165
217
219
172
167
201
158
167
172
147
181
115
121
144
171
210
135
201
136
168
279
210
150
150
123
192
200
167
124
224
121
208
165
172
170
112
112
208
121
172
187
123
150
217
112
167
170
130
123
235
115
252
121
159
172
170
172
194
171
137
212
150
193
144
235
208
150
147
174
164
231
217
176
177
164
165
176
233
150
112
165
177
167
187
165
193
150
237
197
165
158
165
121
281
167
208
137
230
170
181
245
267
150
150
112
150
237
165
208
177
181
150
112
170
150
195
225
194
240
197
115
203
170
228
165
291
136
205
208
121
150
170
112
160
208
164
206
171
150
150
112
177
112
150
187
202
186
167
144
112
297
112
135
150
208
228
249
165
187
208
159
236
150
150
237
150
112
143
121
156
174
208
150
150
121
112
112
115
194
112
187
219
130
202
265
177
170
201
112
179
168
177
150
124
123
172
150
177
112
168
115
194
112
217
246
194
174
194
170
167
112
121
112
172
112
204
165
201
112
234
196
150
167
192
201
150
237
218
257
112
260
208
208
194
112
150
212
121
178
112
150
150
167
124
170
219
193
279
165
179
112
187
167
150
186
121
210
186
150
210
150
123
112
171
208
171
112
150
172
171
187
170
186
123
201
128
232
178
164
281
121
217
229
237
256
203
150
208
121
147
150
170
215
232
255
171
186
224
167
112
144
172
112
195
176
181
150
199
170
194
115
181
150
136
208
220
121
121
146
194
236
179
176
170
150
170
257
210
112
167
254
233
165
210
147
170
225
202
181
196
208
170
210
136
121
123
172
168
150
237
137
263
112
203
179
147
210
201
225
112
237
187
123
220
121
230
242
135
166
150
237
203
139
164
244
150
147
202
172
212
203
112
121
170
135
137
208
202
112
194
186
179
171
121
202
123
121
214
302
170
218
172
210
112
208
187
157
165
208
194
225
165
230
194
279
179
121
208
121
211
171
179
219
207
228
207
112
167
170
208
135
112
165
208
150
193
156
170
191
156
179
212
255
150
227
181
159
121
205
253
112
192
136
112
150
274
159
150
167
123
170
167
195
121
135
158
150
123
255
235
174
165
130
112
150
200
195
135
193
208
121
112
174
150
194
150
184
112
130
143
181
164
135
121
167
201
150
186
121
164
112
121
195
121
131
217
245
208
171
115
195
112
168
123
165
112
215
130
112
194
135
112
219
123
121
220
233
205
170
193
187
156
158
150
176
150
121
115
150
150
112
170
121
168
195
240
130
112
167
220
172
171
170
219
112
203
172
150
208
121
208
189
150
121
135
250
207
214
167
136
220
112
205
150
147
184
208
190
137
177
177
171
165
208
121
173
186
170
165
112
208
158
112
157
208
192
208
167
172
194
182
112
150
194
121
213
186
121
147
205
112
186
150
150
137
172
158
274
248
167
156
160
159
112
121
187
208
213
170
121
208
135
112
170
181
171
112
115
174
208
215
167
250
150
121
112
121
160
112
193
150
112
177
167
172
213
176
112
124
147
158
231
112
195
112
195
208
167
135
121
201
236
170
243
112
174
153
208
206
205
112
123
168
137
123
216
112
167
230
194
194
121
187
175
165
171
124
115
214
208
112
232
173
193
121
195
228
150
194
121
121
147
167
158
172
208
144
237
175
198
173
112
137
186
170
115
195
205
245
170
181
137
250
112
121
194
207
112
170
218
194
112
147
208
124
170
174
171
172
186
193
174
194
147
201
167
225
194
121
178
263
170
202
121
112
241
187
112
200
263
208
302
170
150
222
194
202
150
212
150
160
150
160
208
158
202
137
215
171
172
193
160
194
146
150
165
202
150
172
158
207
164
137
157
195
202
165
171
112
181
193
195
131
174
112
150
135
150
158
112
218
160
170
121
165
226
112
177
158
194
187
131
150
212
165
150
150
135
112
228
150
158
176
137
164
175
233
237
123
192
167
226
198
203
220
236
219
121
167
123
150
160
176
172
165
186
193
123
263
112
212
181
192
171
220
194
208
165
204
112
237
227
150
164
135
171
121
143
186
193
112
194
195
229
192
167
228
150
194
178
186
193
208
121
123
136
169
207
167
121
112
208
302
150
195
167
135
168
210
112
165
150
171
172
137
112
233
194
123
240
203
263
112
167
176
170
168
233
208
150
172
164
121
208
167
226
231
147
112
167
187
121
121
228
239
121
150
150
231
150
228
203
152
147
123
121
112
150
121
204
174
123
112
123
203
115
167
256
150
182
157
263
174
112
112
121
112
150
121
150
231
263
150
256
185
165
172
186
152
112
216
212
170
121
112
112
172
246
208
208
112
219
236
150
269
150
203
187
150
176
220
164
171
124
123
220
199
123
112
123
225
147
208
112
121
215
136
146
172
156
170
255
184
171
112
214
168
150
208
212
174
123
150
112
165
237
112
115
172
177
112
123
207
150
172
237
121
204
247
165
135
124
112
208
231
131
187
123
210
215
170
195
194
150
239
208
196
167
112
226
206
212
123
244
150
112
203
181
193
172
250
150
181
150
237
228
115
195
214
176
238
165
167
245
240
237
168
194
172
150
252
208
223
215
196
158
150
115
218
115
121
135
194
121
207
146
150
208
165
170
150
165
186
236
181
121
200
150
250
159
171
159
165
206
172
163
265
181
150
208
215
212
197
150
250
172
170
150
171
192
112
121
147
172
196
210
192
121
112
136
202
195
159
121
150
123
121
237
184
170
189
170
158
121
212
174
150
195
258
208
194
112
150
252
167
157
195
212
121
194
112
121
187
210
218
112
112
179
174
150
112
234
112
208
250
147
208
165
208
205
170
150
150
170
167
150
230
205
208
208
112
150
121
136
112
228
231
112
195
217
172
167
150
167
243
196
121
164
207
136
194
167
167
123
158
187
176
214
150
150
193
112
194
167
219
156
174
192
203
172
112
172
192
112
130
213
170
112
229
171
208
176
124
170
150
170
182
112
150
193
181
112
245
193
137
132
246
150
212
171
246
228
183
167
112
243
171
167
158
150
177
150
217
143
124
170
274
164
208
236
192
147
205
237
208
170
167
139
159
112
203
208
201
202
121
150
174
179
112
112
121
150
272
159
123
177
121
115
167
150
203
150
208
167
135
112
219
167
195
166
150
231
176
187
167
150
171
137
184
181
213
208
172
167
135
242
128
240
167
121
150
112
156
121
112
198
150
172
175
144
270
112
167
239
219
121
208
160
230
228
112
210
212
181
164
172
176
202
252
234
203
208
121
123
112
208
150
171
219
170
228
165
150
112
150
172
256
172
112
164
152
170
225
167
112
204
250
149
121
202
250
225
121
232
130
165
186
112
150
135
124
115
147
121
112
220
208
115
172
112
135
143
187
159
161
208
208
112
170
263
171
245
175
135
184
139
212
150
228
181
208
210
121
208
112
143
158
192
208
172
112
168
115
150
210
188
143
159
207
219
179
216
181
165
225
243
167
170
208
195
187
234
189
136
167
194
170
150
194
130
203
112
177
177
121
150
194
112
210
181
236
143
170
123
220
150
233
121
187
158
174
195
240
150
150
186
123
170
112
190
241
115
135
176
221
237
147
150
150
217
165
181
174
348
208
121
112
176
181
112
181
286
128
226
187
121
150
150
112
130
121
225
215
204
136
243
150
172
121
208
172
205
242
229
208
239
167
211
187
202
112
260
186
150
159
204
112
170
231
172
229
112
158
170
150
160
213
165
115
202
158
208
208
193
255
218
150
176
167
178
112
186
158
136
208
240
172
193
240
228
158
121
121
112
240
143
170
226
232
123
208
115
218
276
121
150
121
178
195
186
196
194
170
234
150
171
150
175
137
176
158
217
232
193
181
167
123
172
121
112
226
181
255
164
226
112
193
172
217
178
176
112
212
192
164
208
112
231
163
167
170
194
201
174
229
150
162
189
167
194
165
115
276
275
172
150
219
194
233
194
186
246
203
150
226
150
150
150
181
250
229
239
150
189
242
121
186
112
208
174
222
208
165
185
235
160
167
157
210
225
202
121
170
226
193
150
150
165
164
112
243
147
152
210
158
186
167
302
195
170
218
181
174
147
194
172
170
228
172
171
150
258
176
157
302
167
194
170
164
167
228
135
217
152
193
170
239
198
234
172
170
112
150
263
208
150
181
207
121
177
167
210
217
228
150
167
158
192
112
167
150
184
208
249
150
229
150
208
242
112
150
159
150
112
150
123
152
137
229
172
176
220
184
186
186
156
137
123
171
150
172
121
150
150
228
150
208
121
187
240
167
112
147
172
209
130
198
194
123
258
150
121
167
121
121
174
165
231
112
124
192
181
184
224
205
123
165
112
123
176
207
112
123
178
204
112
150
121
259
187
135
147
170
208
181
150
208
164
184
208
112
150
202
170
150
150
178
128
112
121
201
150
184
181
136
170
267
112
239
207
250
112
159
302
121
135
157
233
171
186
147
203
150
212
177
223
190
178
185
121
112
184
227
238
136
228
181
112
242
150
167
167
112
112
150
121
234
137
121
208
137
228
215
150
176
186
190
150
150
150
194
137
225
121
112
302
150
121
192
210
146
123
121
170
236
121
150
170
172
194
172
168
115
124
150
121
150
150
212
171
217
232
150
203
150
121
193
172
112
208
276
172
202
123
232
231
257
167
179
234
150
176
202
222
281
121
208
193
170
177
237
135
121
150
270
218
150
172
160
174
237
201
121
218
112
219
176
171
170
121
184
167
203
121
210
186
150
150
160
135
130
217
203
222
194
123
165
208
216
208
150
159
128
124
208
237
237
167
208
171
259
242
167
210
240
176
146
139
150
171
172
218
121
128
189
159
121
193
157
171
240
123
170
240
112
121
186
201
208
115
194
172
234
228
150
177
195
135
179
228
182
176
195
263
210
170
181
112
208
112
193
189
112
158
225
171
150
202
123
167
243
150
186
152
194
150
150
208
123
187
193
236
112
195
112
143
181
214
150
136
150
189
220
203
211
172
112
136
210
112
209
160
172
234
112
159
165
219
150
124
201
172
237
135
194
210
208
150
112
263
202
150
172
232
186
244
176
185
112
177
112
150
150
240
128
239
186
160
170
121
170
194
202
121
156
187
211
270
201
112
212
189
237
150
242
258
171
194
202
222
167
136
150
219
217
196
137
203
167
165
156
202
195
210
150
115
171
139
223
135
194
208
182
121
150
195
171
208
150
255
150
123
121
150
165
170
150
194
192
237
150
236
202
158
150
167
172
195
212
170
121
208
179
165
167
175
179
176
194
208
167
150
172
218
223
121
170
150
238
156
112
164
210
150
208
168
112
170
259
165
121
218
172
112
263
276
112
194
112
181
172
112
193
112
137
112
208
211
205
174
172
150
170
228
167
171
150
208
172
205
121
255
176
172
171
150
147
136
235
228
193
236
218
186
130
214
170
172
172
172
220
112
243
244
236
196
150
170
150
240
212
175
121
198
219
170
208
208
172
150
143
112
167
112
239
205
164
193
112
217
194
238
112
121
128
179
167
159
115
203
123
225
112
225
208
115
150
115
176
207
112
208
146
201
208
176
150
181
175
176
115
253
115
204
195
186
217
164
147
150
171
143
115
112
121
172
236
146
193
214
124
150
175
158
152
172
208
115
181
194
172
194
137
189
112
150
235
201
201
167
112
112
181
130
121
123
193
121
115
136
220
150
121
172
200
150
250
112
203
237
213
112
194
130
112
172
170
150
208
239
150
150
210
230
165
190
245
121
172
150
178
184
193
121
112
170
150
237
233
150
186
210
150
150
168
167
264
135
181
165
231
245
135
144
112
150
137
123
172
115
150
192
195
211
124
150
175
172
194
192
170
172
170
194
147
112
276
150
172
144
164
112
220
174
121
170
112
194
193
150
172
121
115
186
208
181
174
112
208
112
123
156
152
209
237
229
208
177
177
207
112
165
209
210
136
186
121
193
234
278
121
219
167
228
187
121
175
205
225
238
196
112
150
203
147
121
121
202
239
123
121
194
150
172
226
112
253
214
112
167
150
115
135
121
112
121
167
147
121
207
135
176
172
202
221
150
165
238
121
208
206
253
112
112
205
172
228
187
212
131
172
237
112
228
112
123
124
184
208
170
186
112
164
177
192
121
159
174
267
240
217
121
121
221
208
167
210
201
229
162
158
208
229
186
112
150
239
202
278
208
139
150
164
208
195
181
240
157
152
121
167
175
195
231
181
165
168
218
150
240
250
189
250
121
228
276
212
150
123
208
164
194
112
170
220
187
158
112
172
253
121
132
186
150
112
171
208
172
174
208
135
137
150
172
208
167
123
217
150
196
123
172
150
181
228
145
121
175
224
201
225
203
172
193
195
172
147
164
115
171
178
205
208
203
124
186
278
184
121
197
121
174
176
208
150
171
150
205
218
136
115
112
193
177
170
121
184
160
115
174
231
172
150
181
150
174
168
201
130
218
211
212
165
150
123
172
212
123
172
112
130
237
112
176
202
177
121
112
217
123
112
255
136
150
170
207
214
212
208
150
172
156
194
236
121
192
172
160
128
144
171
171
121
212
181
186
174
150
176
136
181
187
165
193
112
164
217
165
136
197
243
176
208
112
130
181
135
137
112
147
112
174
170
112
150
150
209
217
167
201
217
193
262
112
168
135
196
123
263
165
123
208
228
165
136
150
150
172
212
150
233
172
121
150
226
168
210
150
158
172
112
187
182
159
219
201
160
136
233
152
172
112
208
203
237
258
221
208
167
208
210
150
172
192
170
242
150
143
167
170
150
112
181
267
131
176
167
172
112
237
123
220
216
121
137
288
112
150
123
112
112
170
123
150
150
187
136
233
208
210
179
150
128
251
181
147
112
150
150
218
167
158
226
227
181
150
112
176
168
152
123
239
229
135
150
196
170
150
210
150
150
176
115
259
112
112
181
160
255
167
128
112
219
158
262
150
174
135
123
121
181
175
161
135
187
184
171
216
136
150
160
217
168
202
121
121
158
150
166
167
168
112
171
194
219
219
165
264
208
152
150
218
208
150
121
245
192
172
150
112
185
147
237
124
193
176
158
275
190
186
150
195
302
171
150
236
150
150
112
228
174
150
121
178
123
176
174
112
123
184
112
239
179
208
150
205
176
176
165
207
212
112
121
167
208
195
255
229
150
135
174
136
209
195
170
172
152
112
263
194
136
168
112
171
147
217
150
112
236
137
150
121
121
276
203
218
172
208
172
167
222
167
112
204
178
150
159
239
211
181
208
220
112
158
150
231
172
184
243
112
167
112
115
168
147
212
170
208
195
176
172
205
123
207
150
123
170
208
123
172
147
112
218
172
150
225
150
209
150
160
164
208
168
112
203
194
150
186
112
170
150
165
121
123
197
225
220
239
121
225
172
165
130
121
147
201
170
208
165
135
202
124
163
155
165
170
243
137
158
186
176
121
205
112
202
208
165
121
136
210
176
159
237
150
152
112
160
137
171
135
230
278
176
172
112
203
167
150
228
150
112
212
186
237
155
150
237
208
112
150
263
195
185
205
147
172
201
112
172
124
112
150
112
252
170
150
160
167
170
231
186
115
208
223
267
123
150
171
147
150
207
237
186
150
136
121
226
199
164
112
208
208
144
121
208
194
172
202
150
208
186
257
150
230
150
225
208
195
217
172
211
170
172
150
223
144
190
173
213
165
164
150
143
172
121
150
170
245
164
210
172
201
187
195
172
186
231
208
220
135
115
195
208
112
203
150
245
217
208
193
172
150
172
121
208
137
136
112
158
121
167
150
158
112
162
187
208
152
203
167
172
170
121
172
130
264
208
228
200
274
174
171
150
123
112
156
136
194
156
194
121
282
121
172
228
203
167
208
150
150
243
121
164
199
150
202
235
172
121
193
147
170
190
121
208
112
240
150
174
177
150
112
152
282
123
150
143
255
121
165
121
123
121
194
174
170
206
258
186
112
128
181
150
170
194
137
201
184
150
158
290
176
230
150
181
276
275
121
112
150
123
185
150
150
194
181
150
264
121
228
231
158
112
121
112
207
187
238
172
185
176
123
167
121
172
250
235
112
159
159
121
208
150
121
115
201
208
137
136
150
123
178
208
136
171
150
155
187
196
171
255
210
202
181
172
231
260
121
209
121
124
150
165
193
186
137
170
150
130
193
121
237
208
195
150
150
170
231
136
243
208
194
123
152
276
293
207
171
210
150
217
172
112
150
194
240
220
171
186
150
205
201
167
167
237
208
217
201
121
208
172
187
170
112
205
193
112
176
150
208
153
112
135
226
187
170
170
208
112
195
150
150
202
170
112
121
150
205
160
137
171
115
150
187
243
201
115
112
147
186
150
226
217
231
215
208
205
112
210
203
115
150
165
202
121
203
172
225
183
173
157
164
156
150
203
229
171
174
228
156
121
135
210
170
150
112
171
170
215
211
228
121
115
112
172
226
228
172
194
128
165
176
150
239
228
203
219
209
164
190
233
150
124
156
112
216
258
229
165
150
121
112
121
195
150
212
195
208
160
136
171
243
136
171
231
128
224
195
172
172
192
193
171
178
172
165
178
160
193
121
194
156
121
167
172
193
150
150
135
171
112
203
212
167
302
168
128
176
165
112
208
150
112
156
208
171
123
174
168
123
150
170
121
190
193
221
136
243
160
167
112
170
175
167
121
121
150
181
228
179
170
239
210
228
170
195
243
150
121
239
150
150
167
167
121
150
231
170
192
121
193
168
201
172
121
150
123
261
195
165
121
130
165
193
174
121
171
193
208
228
136
255
202
130
172
150
167
134
121
167
150
260
179
150
233
209
240
165
150
176
172
220
137
121
135
150
177
186
175
208
201
172
174
174
150
208
212
137
137
157
159
217
194
172
112
150
175
136
217
220
205
172
156
121
204
194
194
179
208
165
124
121
226
176
181
121
243
147
150
152
150
150
172
234
205
228
250
172
172
150
220
202
218
193
159
112
158
167
208
205
202
225
112
242
136
264
196
112
172
160
186
213
186
181
282
172
201
229
136
205
150
128
112
220
150
156
115
156
121
200
147
150
170
150
137
115
202
168
179
168
200
115
115
172
193
227
198
172
217
172
150
112
121
112
128
165
202
136
210
195
135
177
150
150
121
121
121
212
112
208
201
231
128
177
135
228
237
121
123
121
174
210
156
167
137
112
189
233
150
150
184
150
172
230
167
150
215
150
210
112
158
257
272
194
162
112
222
194
186
136
208
209
159
172
208
150
150
194
194
231
176
206
170
176
201
176
186
115
186
130
115
136
231
243
165
150
135
193
232
192
121
194
221
208
206
250
152
135
174
170
123
115
121
123
208
220
139
187
137
136
189
121
165
174
228
176
184
181
187
150
208
174
173
167
157
137
172
176
223
176
215
167
172
171
195
187
112
234
186
150
112
208
176
217
226
123
135
208
228
112
121
121
208
121
250
208
143
179
228
225
238
112
115
167
219
172
112
172
263
121
233
208
208
159
218
115
150
179
208
177
167
150
218
112
229
150
167
193
123
136
186
181
112
219
121
167
214
201
130
112
237
112
167
124
150
194
165
228
168
197
171
193
202
112
123
130
240
153
208
165
237
181
121
137
228
170
176
186
170
112
203
231
194
134
170
162
139
167
194
202
178
179
260
181
112
121
167
170
210
150
233
152
155
150
267
256
159
170
112
177
172
177
210
112
121
231
202
128
220
121
255
226
208
135
170
214
167
274
115
193
146
196
240
112
206
193
232
204
115
150
121
203
135
112
150
135
121
279
235
228
150
208
112
112
171
135
167
121
150
186
160
150
135
121
165
243
208
242
121
225
170
135
121
121
245
193
167
226
172
184
123
123
250
115
112
150
194
177
150
121
205
228
112
186
121
208
166
123
112
243
167
165
112
181
212
112
150
165
170
229
115
150
170
112
123
159
172
237
209
112
150
226
112
212
167
225
170
165
195
112
240
182
130
172
159
159
216
167
150
172
112
164
181
164
172
170
170
228
200
195
195
219
115
121
115
150
202
210
195
171
150
276
172
176
167
271
236
115
208
176
176
201
112
150
121
136
121
112
228
150
136
190
112
112
121
112
240
150
112
156
200
144
187
167
158
150
123
172
225
220
170
165
112
202
150
150
219
186
112
208
121
201
128
128
172
208
135
150
172
135
243
194
220
124
208
208
302
176
170
232
150
150
156
115
174
279
168
165
172
228
121
176
159
172
147
115
178
121
170
263
170
150
135
167
135
171
112
256
112
250
208
121
242
131
195
165
174
208
172
226
176
177
217
121
231
243
217
212
112
150
174
128
174
150
195
112
193
172
250
123
231
208
150
195
194
200
228
172
121
187
184
176
136
121
172
172
170
147
112
145
152
167
189
170
172
206
150
115
216
168
208
123
168
205
208
152
192
136
232
150
218
150
194
123
165
223
204
139
150
150
176
203
112
150
150
218
206
183
208
150
175
203
160
172
112
208
207
124
115
208
243
121
225
203
208
194
112
150
192
172
144
177
130
165
150
193
205
121
128
217
176
171
121
167
136
202
205
156
239
172
165
209
170
112
150
214
115
195
167
112
241
263
150
112
243
247
112
161
208
172
123
115
172
193
174
187
167
150
131
112
112
276
176
170
167
112
170
149
170
213
171
209
162
144
228
234
150
150
210
112
147
181
121
191
121
165
150
171
171
121
181
150
115
170
216
228
179
150
121
121
201
112
210
135
167
167
176
172
167
175
160
184
201
192
150
207
194
121
167
112
208
137
150
212
178
170
208
206
136
172
231
181
165
123
176
121
186
208
121
175
112
135
223
176
208
150
170
245
172
170
171
159
170
203
112
123
112
171
150
150
232
186
112
124
167
170
150
171
112
112
121
172
210
121
112
220
121
210
134
150
165
221
121
150
112
181
112
171
121
150
208
150
135
121
232
228
167
213
150
212
208
112
137
170
112
193
160
194
150
112
121
165
150
259
150
255
135
136
187
121
137
176
112
121
179
150
184
170
187
147
112
112
167
220
112
112
121
150
199
150
112
237
284
199
112
150
172
208
208
196
186
167
150
164
150
112
241
128
170
189
217
121
174
229
150
177
170
123
150
156
197
112
112
150
146
189
279
170
176
170
172
192
112
150
121
202
172
258
128
150
181
112
170
150
112
128
150
137
121
244
121
121
194
172
112
121
186
130
159
171
159
112
203
150
164
124
186
159
208
193
231
135
115
146
194
121
150
181
167
242
165
231
147
121
176
157
165
150
272
208
208
115
186
150
208
218
130
237
228
195
212
210
152
121
165
150
208
112
160
176
112
228
174
153
165
172
150
170
176
281
124
179
247
208
172
208
172
168
150
268
196
112
208
123
158
150
276
161
165
112
121
171
147
186
231
156
194
165
165
167
205
158
121
208
207
167
136
218
175
147
158
223
168
170
179
135
123
197
210
171
167
187
121
217
205
174
150
232
173
171
112
208
121
135
172
275
239
231
181
135
128
150
174
194
194
187
226
112
186
167
121
112
121
172
112
258
165
167
171
112
121
226
209
123
112
171
143
162
172
150
181
212
194
167
165
231
150
235
121
172
170
216
150
281
136
121
238
121
137
121
170
202
112
115
194
174
150
255
193
170
167
255
232
194
170
115
216
210
172
189
202
121
220
137
167
193
186
135
218
112
124
186
167
178
112
124
226
121
174
170
115
112
228
150
170
135
202
176
112
208
147
172
179
186
167
170
167
112
172
121
121
150
212
257
112
136
152
181
202
172
150
219
259
217
194
172
208
160
174
121
204
150
135
231
226
272
167
221
152
208
228
272
179
112
178
112
150
289
121
181
150
150
135
168
121
121
178
112
167
121
174
263
228
192
177
137
171
121
150
115
194
121
210
112
176
121
150
150
205
112
194
220
150
212
187
123
136
150
121
208
172
250
150
200
242
123
194
165
187
194
167
208
112
135
217
121
168
175
164
194
150
165
162
112
167
112
202
225
184
229
193
150
168
245
150
150
219
112
150
226
158
170
115
112
179
121
212
170
112
274
137
121
121
263
137
187
115
135
201
210
150
175
208
128
112
170
147
164
152
175
237
147
174
150
172
121
112
167
171
194
121
121
150
177
186
229
150
167
211
195
112
150
135
231
208
115
262
176
164
261
150
181
165
208
237
174
220
167
112
194
121
159
228
171
112
174
150
201
172
208
121
164
205
137
162
136
265
187
272
187
160
234
212
167
150
212
264
150
228
207
173
163
172
172
185
150
115
194
202
121
214
135
243
181
220
168
204
158
235
112
176
188
208
112
170
137
150
165
302
164
112
147
208
167
212
171
184
231
171
158
234
194
255
156
195
135
226
195
150
172
112
187
187
167
150
194
167
112
121
210
193
112
208
150
172
234
177
174
196
237
172
165
176
174
168
112
270
165
238
207
167
177
190
160
208
226
176
202
174
158
130
228
150
167
150
187
250
203
150
250
170
218
150
219
187
171
112
150
150
112
170
176
139
193
124
193
112
171
170
112
181
135
202
112
167
150
210
210
171
121
170
121
115
193
167
150
208
150
121
201
220
171
150
112
177
179
210
239
181
168
167
124
201
170
228
212
112
150
237
209
203
162
167
156
188
171
239
112
167
167
212
123
174
112
112
176
159
255
212
165
186
147
170
170
170
112
167
208
150
112
123
229
150
174
208
121
283
233
112
158
203
121
174
195
172
135
208
261
121
121
203
115
174
167
200
194
130
194
112
172
150
171
121
208
112
229
156
115
247
160
167
177
208
176
136
112
257
112
121
208
205
212
177
187
144
170
172
112
150
302
121
256
136
112
231
201
208
156
121
168
188
219
112
121
146
121
227
179
172
170
194
112
172
112
170
160
208
186
241
171
123
123
137
112
112
171
253
212
121
150
150
128
164
207
208
219
164
135
208
135
162
239
202
264
179
158
237
112
193
226
167
130
150
262
202
175
176
150
170
158
135
172
208
150
240
217
194
112
112
136
150
150
178
228
178
228
112
150
147
195
206
153
217
229
187
171
150
183
172
150
210
131
200
216
112
193
150
216
212
231
208
170
168
152
201
164
229
202
208
130
150
231
186
226
150
181
112
121
192
150
193
199
190
112
276
112
149
137
181
112
121
171
194
150
167
235
212
121
150
115
250
170
227
112
229
115
112
124
165
150
112
134
135
228
193
171
121
121
184
158
201
181
217
150
270
160
208
172
160
112
121
130
302
121
194
150
194
112
171
150
143
176
171
199
192
219
137
112
217
212
192
112
231
234
181
170
145
175
112
137
150
226
121
136
212
167
112
240
121
137
150
150
121
165
130
150
167
208
170
242
210
165
150
172
150
172
157
171
150
199
217
112
121
176
209
121
187
167
194
186
216
209
165
181
160
158
135
187
159
171
194
150
181
112
250
159
241
186
202
150
170
112
150
181
146
112
170
121
112
144
228
222
123
212
150
112
112
278
150
225
157
208
230
171
136
164
112
242
195
165
176
171
218
231
150
136
208
171
172
170
112
203
150
136
212
121
201
115
115
121
181
136
242
208
177
214
208
150
150
121
164
171
227
206
196
171
112
167
214
203
170
150
152
195
121
176
243
172
226
226
171
175
121
139
123
161
150
121
253
171
159
195
112
164
171
167
189
175
115
217
209
192
123
112
160
172
159
207
150
121
194
112
121
165
112
212
217
150
165
112
232
218
136
289
147
112
229
228
121
112
237
147
182
170
208
228
121
181
137
135
214
208
204
159
147
112
172
155
134
143
150
150
209
115
128
172
150
121
239
208
124
205
121
112
165
219
194
167
112
177
121
203
210
212
192
208
137
175
195
208
231
152
162
150
212
187
112
167
231
150
208
152
167
182
250
203
208
121
182
171
205
212
112
194
172
187
193
210
181
187
223
190
150
171
171
168
171
208
171
230
202
112
196
194
195
121
237
192
150
172
150
172
222
231
171
181
150
262
187
208
181
230
187
193
240
112
211
181
150
220
232
241
241
121
208
208
255
208
208
121
167
150
210
208
190
203
208
203
124
167
158
121
112
121
150
189
172
291
192
167
237
150
112
112
152
190
112
172
164
203
150
150
171
164
167
123
112
172
112
208
136
272
112
210
115
176
112
186
112
168
181
232
124
112
164
150
171
172
208
174
152
150
210
189
210
228
208
150
172
121
195
167
194
202
150
150
174
150
201
203
194
196
150
192
121
226
208
228
112
112
121
270
194
219
112
170
156
192
167
164
171
173
220
172
121
121
195
172
208
124
194
195
231
240
196
194
150
121
179
186
167
195
121
198
156
150
194
208
164
186
217
171
190
170
241
237
147
192
112
181
150
231
201
187
233
172
115
208
150
209
192
167
150
137
174
165
193
123
112
171
160
216
194
208
202
272
194
167
223
171
208
112
174
172
150
121
152
193
150
165
230
165
167
121
150
228
208
217
207
239
174
184
226
172
121
231
207
201
181
225
121
174
238
210
167
159
121
187
156
171
112
112
215
263
112
150
193
172
276
137
171
196
136
156
156
208
220
164
171
171
112
172
250
195
152
137
187
206
150
150
219
121
112
137
137
206
170
171
205
181
201
167
223
147
147
172
156
268
195
152
150
172
136
150
150
255
193
167
121
112
167
190
181
201
171
123
167
176
236
228
228
167
152
112
164
159
206
123
193
167
166
181
221
170
239
145
174
171
203
226
115
171
196
181
172
215
208
112
123
210
121
171
194
182
167
159
217
130
150
192
121
121
147
207
195
170
190
204
194
228
136
186
121
167
218
174
237
238
137
172
123
121
274
144
135
182
121
121
170
172
233
166
150
219
112
123
165
167
195
152
160
150
233
150
217
167
228
212
121
172
203
147
167
112
237
150
137
121
162
164
167
112
112
147
164
112
167
202
186
228
170
171
136
121
205
167
207
112
112
137
220
167
240
244
165
302
202
171
167
233
197
181
121
229
165
202
250
177
176
112
165
152
193
214
236
205
208
150
172
217
233
171
168
212
250
121
121
172
193
201
202
124
276
121
237
115
150
220
194
112
171
124
123
273
121
181
135
213
186
121
121
299
170
263
212
121
121
231
276
123
167
187
208
112
153
157
212
147
181
192
237
252
201
112
170
128
165
172
167
167
121
135
150
212
167
121
165
172
212
164
208
150
214
150
112
172
202
123
174
263
150
212
208
165
186
172
237
202
150
215
208
150
189
228
160
202
201
128
193
204
112
215
167
150
240
158
171
208
176
150
152
123
220
137
187
178
150
187
165
210
164
164
172
121
176
150
124
112
163
201
174
172
167
219
214
266
302
203
231
174
228
207
228
170
165
112
193
192
187
194
210
237
112
150
170
202
187
150
238
147
112
181
172
121
225
170
165
136
264
174
165
165
112
187
112
159
202
124
255
219
194
167
156
184
172
264
150
176
115
137
121
198
176
231
172
150
235
204
208
121
203
210
121
121
177
208
150
171
170
112
167
231
164
194
135
227
136
210
181
150
208
123
172
172
156
228
208
150
137
192
184
176
159
150
187
255
171
112
186
194
201
150
150
250
112
206
112
135
121
269
181
215
121
162
150
112
167
228
178
147
112
171
158
121
202
167
172
203
196
135
137
158
130
172
208
167
112
250
172
227
210
164
230
170
165
192
150
150
121
131
112
112
186
171
200
209
250
218
177
112
173
231
158
194
121
160
156
208
112
260
194
172
231
242
168
167
171
163
172
186
172
112
193
203
112
205
276
121
150
224
123
121
135
201
121
172
121
150
171
136
238
135
152
167
181
159
167
205
167
279
112
150
112
179
130
181
172
179
203
121
226
177
193
212
158
172
150
203
121
186
135
208
150
150
112
150
172
172
121
156
121
123
176
170
275
159
150
112
167
112
170
205
181
112
226
202
150
195
220
231
208
207
124
181
164
121
240
115
210
181
156
165
152
208
210
137
171
161
226
208
121
167
121
150
112
124
121
159
167
231
112
203
160
123
179
187
237
150
172
150
175
208
121
203
150
270
177
206
170
202
150
147
189
195
208
168
147
170
208
172
121
150
187
172
194
228
164
178
208
171
260
194
121
182
202
112
171
112
176
178
121
121
130
146
166
218
187
194
112
121
152
112
112
179
171
219
121
252
171
115
162
172
150
208
181
193
150
170
193
173
150
229
282
239
150
167
194
186
150
150
215
237
255
112
112
162
186
208
194
203
128
208
189
187
150
180
185
112
150
112
208
158
167
150
241
112
170
172
225
255
150
150
163
194
208
112
172
220
150
150
194
218
187
172
167
276
217
143
167
208
195
203
181
147
239
152
187
228
237
150
150
112
172
207
159
225
121
195
246
172
112
165
115
137
115
136
170
170
115
112
204
194
195
232
193
156
170
189
121
176
178
112
165
198
174
112
121
167
208
208
208
160
163
172
115
150
172
250
150
180
170
209
195
143
112
170
172
112
193
214
136
208
112
175
165
178
186
164
150
165
176
187
123
121
167
137
150
213
212
158
208
167
121
186
170
170
208
260
115
157
150
235
236
204
150
167
176
284
179
170
147
208
159
194
172
121
137
186
112
136
112
208
176
229
250
176
194
278
242
282
172
230
208
201
162
192
150
207
112
112
203
137
171
201
172
214
112
208
203
170
195
208
150
181
121
210
158
193
112
152
135
185
181
136
136
172
210
187
150
158
165
150
172
252
302
150
167
208
171
144
123
137
135
159
167
170
147
205
167
218
207
115
146
147
112
206
150
215
135
209
150
176
181
186
159
171
150
158
194
194
234
174
223
121
216
121
229
187
201
112
112
167
137
208
203
198
176
194
176
187
185
112
187
165
123
245
244
172
167
167
167
173
208
208
193
121
212
112
164
159
112
171
187
250
123
205
228
193
123
208
112
186
236
150
121
147
221
121
214
214
194
112
150
171
160
131
130
170
202
115
187
150
208
121
167
167
168
184
170
112
135
263
150
123
121
135
135
121
181
156
220
139
150
170
245
187
174
270
150
212
300
158
121
194
257
187
201
171
147
204
209
150
202
112
278
207
220
123
210
135
282
186
208
150
112
197
123
172
135
205
228
112
155
172
240
112
239
136
136
250
205
186
168
164
193
176
203
165
239
195
201
121
172
147
150
217
136
123
136
181
112
230
289
202
167
193
220
194
136
202
112
257
170
181
207
186
205
275
157
150
121
112
170
193
121
212
172
198
112
208
237
201
176
233
168
147
146
194
225
174
184
255
167
165
172
160
260
157
150
170
150
150
164
195
207
201
251
254
201
112
164
206
112
167
172
171
177
208
208
170
121
232
170
241
112
130
181
203
150
150
150
121
167
170
115
181
143
135
150
194
150
112
135
176
186
279
121
172
186
112
217
150
175
172
212
150
186
176
219
229
212
181
240
208
182
219
172
165
135
279
112
233
112
208
150
150
112
121
171
226
135
150
207
156
160
226
158
137
174
181
194
242
176
203
158
232
208
187
124
220
176
121
168
181
121
192
123
151
250
200
150
121
115
208
208
231
121
208
176
226
179
112
172
121
147
112
170
233
205
167
217
165
150
150
112
320
135
244
144
121
193
186
112
209
150
261
208
189
137
150
112
211
170
112
144
220
202
174
174
240
150
170
165
305
150
200
210
172
150
186
172
193
121
172
112
241
240
165
167
201
174
150
250
159
210
150
170
165
232
181
115
112
121
178
172
121
121
143
123
209
208
165
128
121
208
208
170
208
297
171
150
136
121
181
112
208
302
194
238
150
203
208
201
150
121
172
160
150
152
184
150
123
112
208
150
165
172
150
195
230
150
115
172
219
121
150
212
228
228
121
158
123
231
121
121
172
254
130
130
208
167
208
123
130
203
228
137
177
185
121
186
121
167
194
234
226
227
208
172
124
150
123
112
170
181
195
157
172
163
124
252
194
186
172
170
171
150
221
112
176
112
165
270
112
235
131
121
150
167
150
165
170
171
121
112
112
208
150
187
205
136
112
170
112
192
167
170
173
171
212
176
226
172
193
214
152
171
137
220
170
170
121
159
186
254
195
121
150
160
217
172
121
220
235
237
175
123
112
115
165
172
136
121
115
112
150
165
217
167
229
112
243
172
112
185
150
208
121
112
121
130
112
115
150
164
121
112
121
152
112
156
225
121
207
172
231
121
167
207
210
175
160
210
121
179
135
167
150
150
186
170
112
218
121
217
165
218
195
193
112
121
171
208
165
167
176
211
195
302
157
233
208
208
167
112
115
112
121
181
170
232
263
250
228
176
218
112
143
195
203
124
150
165
171
147
150
239
212
115
150
210
208
208
112
121
202
237
121
176
204
255
237
241
186
115
203
176
158
150
171
137
150
150
205
121
181
225
226
225
121
201
240
210
176
150
219
121
121
194
112
220
217
174
171
208
186
115
121
112
184
231
208
112
112
231
236
189
212
167
244
207
181
121
112
196
271
165
208
231
177
225
128
136
150
210
228
112
205
260
203
135
202
174
150
171
121
266
152
228
167
121
179
208
188
112
203
135
250
196
121
186
159
112
121
212
209
167
172
135
150
167
220
167
136
208
167
167
112
128
210
179
115
181
123
227
150
150
156
121
121
228
195
150
159
163
112
177
220
208
150
266
124
135
194
167
123
194
176
203
210
112
171
167
112
123
208
276
121
150
150
229
135
167
167
208
112
186
165
187
176
150
208
150
231
121
194
193
208
159
135
172
208
172
181
150
250
150
123
150
167
205
150
201
172
112
208
209
121
193
172
203
112
150
150
123
121
170
193
159
121
128
231
160
200
171
189
121
121
181
171
212
208
228
121
121
172
170
112
194
210
210
172
121
217
130
193
171
208
170
123
181
164
165
150
167
112
112
171
212
173
194
112
159
167
124
150
112
170
193
150
112
186
112
223
150
150
121
225
135
112
278
194
124
156
217
112
170
186
112
193
238
217
171
265
228
112
121
172
124
112
123
150
181
121
157
226
147
135
124
170
212
150
112
184
208
121
182
172
121
181
167
177
150
179
167
112
167
121
219
123
123
212
135
181
174
297
121
112
208
212
136
115
299
171
226
150
112
179
237
193
156
121
170
211
208
112
121
165
137
171
181
172
218
174
150
208
150
112
194
167
150
226
170
174
170
121
170
136
167
208
172
210
136
228
147
171
150
208
178
136
232
171
195
206
201
194
167
136
150
203
172
179
150
193
123
144
112
167
136
123
171
220
158
121
121
150
160
172
150
194
208
226
121
226
181
193
121
112
112
176
193
150
177
203
172
186
150
192
233
173
167
150
121
172
214
255
112
150
115
162
171
136
228
147
167
121
193
170
167
144
186
112
157
226
226
121
150
150
202
170
172
150
208
206
255
115
237
150
197
211
123
115
121
135
170
121
112
112
170
150
163
231
152
181
150
165
197
143
236
172
229
123
302
136
121
164
264
121
112
203
175
176
193
136
150
253
150
212
112
262
213
176
156
121
195
243
150
208
112
223
121
150
137
181
167
112
229
171
270
121
239
136
167
205
176
220
112
165
264
172
112
112
121
121
158
208
121
192
112
121
165
237
112
170
228
174
216
172
171
194
237
150
228
201
186
112
219
171
136
178
147
195
172
112
160
121
172
136
210
210
237
203
135
143
194
115
115
212
187
208
121
112
231
236
241
233
115
208
121
208
112
176
215
171
112
193
136
189
226
181
168
121
158
224
250
171
302
240
184
209
170
208
128
112
112
171
235
208
167
123
112
230
263
237
182
112
150
176
136
170
121
144
186
150
213
172
176
112
150
212
150
212
179
150
112
150
244
112
121
239
135
207
170
170
171
194
150
144
112
150
168
165
260
167
176
186
177
121
121
174
194
152
276
154
121
112
208
150
212
238
220
172
174
121
121
172
135
186
128
121
181
167
150
158
172
170
250
139
250
231
181
165
172
170
112
302
172
172
170
150
112
112
165
167
130
172
210
211
172
194
150
201
150
195
210
236
121
135
225
172
194
187
165
215
121
229
217
220
189
121
112
123
150
150
112
250
150
208
150
144
150
170
174
150
174
349
186
136
121
197
150
160
121
175
215
276
137
226
176
170
121
150
150
172
159
254
243
150
202
208
229
255
174
235
112
112
184
195
219
150
203
150
208
181
170
226
219
213
189
207
193
172
218
208
123
228
297
220
208
263
150
205
239
167
112
170
194
172
121
174
172
135
170
181
121
167
112
240
181
112
237
186
214
121
115
228
225
170
194
130
194
150
210
170
172
165
121
236
176
135
177
243
187
228
123
208
168
235
112
173
179
228
171
112
182
208
150
272
171
112
121
208
187
150
196
150
240
139
123
121
216
121
121
186
167
161
219
150
121
226
150
218
203
237
210
157
156
272
211
164
196
208
208
207
121
193
115
223
170
215
208
137
216
204
185
175
156
181
150
194
165
165
211
112
189
150
121
194
121
186
228
130
181
112
112
172
150
121
150
112
208
112
150
115
136
207
235
167
167
192
163
174
208
236
160
115
189
194
159
194
206
121
195
137
150
147
167
194
208
165
184
186
208
195
176
200
112
243
172
121
121
194
121
150
187
220
121
123
272
115
194
204
172
112
203
231
150
112
195
216
172
177
112
158
150
195
123
228
176
189
226
205
170
208
184
167
112
112
208
240
175
150
186
208
121
164
186
228
203
165
167
150
121
121
171
228
228
124
183
208
121
214
167
181
172
228
202
208
171
112
219
152
150
150
204
158
181
243
150
210
172
171
121
121
255
112
112
123
150
112
192
208
215
150
167
243
123
202
231
150
194
150
167
112
244
194
164
135
158
175
250
150
201
233
130
228
112
170
171
194
181
187
167
203
203
171
150
225
228
186
260
231
176
275
121
255
112
181
165
175
123
175
239
115
171
167
172
167
170
158
147
171
179
112
193
112
187
136
231
135
170
176
236
165
112
150
165
208
137
146
112
123
121
216
160
160
201
171
210
226
237
150
172
212
112
181
121
208
240
123
123
195
202
150
194
137
123
218
264
218
165
194
212
171
172
135
150
121
159
112
167
198
200
121
136
186
172
121
165
121
181
121
242
195
112
121
112
187
150
150
219
167
233
150
172
112
208
135
112
150
181
211
167
143
137
156
150
112
192
177
112
136
156
175
121
172
238
115
240
156
186
121
121
195
262
208
243
112
112
150
150
112
139
171
194
150
196
171
121
228
121
243
150
258
121
195
150
167
243
115
205
160
152
168
150
121
150
208
186
184
150
158
193
215
172
121
220
171
205
194
181
150
150
135
130
150
194
179
176
266
181
174
112
171
150
278
162
174
184
165
203
150
165
137
121
121
223
266
164
181
121
229
112
193
112
152
186
170
121
237
172
112
190
181
167
253
223
159
218
211
121
150
187
242
228
150
150
170
154
150
181
121
237
150
179
181
195
112
137
112
171
147
158
168
208
167
112
123
115
203
132
171
158
165
128
150
150
150
145
210
172
150
202
123
128
176
225
184
228
112
186
112
235
130
270
220
231
196
172
170
168
112
212
158
123
150
220
135
150
201
112
150
176
167
179
208
168
225
171
121
208
112
112
172
170
229
165
121
121
176
208
128
150
121
177
181
115
150
147
220
170
167
171
121
150
121
112
112
170
172
167
208
150
170
226
228
176
205
167
202
121
152
156
208
137
219
121
165
115
115
194
150
123
187
165
236
172
217
150
231
302
128
299
209
121
150
121
150
167
170
112
202
172
170
150
243
227
243
182
236
123
240
150
208
121
150
165
208
121
194
298
202
225
189
194
150
167
231
172
159
208
177
193
175
215
215
170
181
195
176
273
194
177
192
143
167
171
136
168
123
112
175
121
112
202
150
112
172
160
112
185
150
232
150
150
150
121
208
176
150
121
137
150
150
208
121
242
112
195
170
172
123
172
172
210
123
176
150
224
194
112
167
137
128
210
215
150
123
212
112
170
112
228
150
212
167
194
165
172
181
167
150
143
150
223
150
194
135
236
199
208
235
174
112
208
121
167
208
202
150
115
276
276
221
112
167
175
228
121
152
263
112
112
115
210
112
237
121
202
243
164
176
121
150
233
182
208
172
208
208
135
208
115
208
186
193
121
170
195
159
208
150
202
212
112
171
112
121
167
181
112
150
181
220
150
150
153
210
112
172
150
170
205
237
164
150
121
159
121
160
124
221
215
172
192
167
195
342
231
171
112
143
156
186
121
174
167
168
187
172
226
112
193
172
232
112
112
201
230
208
123
152
150
167
112
150
171
208
238
150
123
205
146
267
181
165
195
227
132
121
123
150
186
143
150
174
130
187
208
172
228
112
172
297
208
192
165
150
205
193
128
172
187
231
170
170
171
121
147
150
181
137
136
172
212
150
263
170
150
167
194
112
208
176
217
177
257
167
171
121
201
121
150
172
202
150
167
194
167
123
136
112
210
253
112
172
112
207
150
150
226
156
208
178
207
302
203
150
159
190
189
135
208
170
123
170
193
209
165
150
171
150
177
137
150
220
186
121
147
115
208
219
245
150
186
176
121
186
143
150
112
121
112
248
172
112
171
177
172
150
176
112
192
112
147
237
178
134
135
150
208
150
172
172
209
193
121
202
194
230
193
210
167
196
172
237
150
237
150
150
152
168
150
121
194
150
172
217
171
135
228
121
217
210
112
170
214
112
194
194
213
174
123
195
167
203
115
135
136
176
167
121
121
186
208
156
152
135
150
219
115
172
171
170
194
172
165
164
201
208
255
202
123
121
160
211
135
187
181
170
208
165
150
212
192
170
150
143
112
167
158
172
193
192
239
224
137
186
164
170
147
181
121
172
263
193
176
205
220
237
193
112
112
147
186
150
112
121
112
208
121
170
228
167
253
174
112
214
201
170
121
165
157
173
150
210
208
112
194
124
186
150
218
127
185
203
128
168
150
252
115
202
150
179
147
112
112
178
167
193
192
171
112
218
159
150
217
170
159
204
121
121
215
202
147
177
176
193
158
276
150
150
115
168
112
171
150
192
172
164
215
160
171
208
208
121
192
171
112
172
236
218
193
176
237
170
181
168
176
195
233
179
121
112
165
232
112
193
212
208
212
168
121
167
150
172
231
135
237
112
187
165
208
200
220
150
194
176
173
217
236
170
192
181
208
172
171
172
167
179
150
194
201
150
121
193
289
171
170
208
115
121
167
165
237
211
182
112
121
194
250
212
150
167
171
150
240
136
112
193
112
195
130
121
121
167
112
150
238
170
166
164
147
172
239
225
150
194
186
208
272
275
230
219
136
208
130
164
174
176
150
136
210
209
162
112
272
150
121
147
205
181
164
182
194
137
174
252
115
165
150
186
203
165
172
167
170
123
210
202
237
175
123
123
123
147
302
115
172
150
150
170
278
150
147
218
193
276
203
150
264
136
176
228
135
208
112
121
160
150
112
112
172
121
182
112
137
203
135
202
160
159
112
121
228
137
115
194
152
210
112
156
112
208
205
207
150
177
276
150
112
218
172
172
150
164
177
186
159
176
167
121
164
170
181
143
121
147
194
128
245
177
167
172
218
193
136
186
137
170
158
136
203
201
136
112
208
150
174
193
237
225
136
135
150
137
112
150
112
112
165
160
158
208
156
208
150
208
150
112
112
150
177
220
208
184
150
189
121
150
274
112
172
184
176
217
150
121
181
181
263
150
112
176
145
202
226
167
167
225
121
121
217
112
268
220
201
135
170
121
165
112
193
171
195
112
150
250
208
170
226
150
121
218
150
112
115
112
255
208
208
170
193
240
193
121
124
159
208
220
172
165
150
112
150
121
177
175
186
124
128
189
172
215
165
194
123
201
226
123
172
187
150
226
176
150
171
167
150
171
234
112
208
201
137
150
281
150
193
200
176
186
179
150
276
150
208
215
160
193
121
208
147
150
159
146
229
208
195
177
203
208
121
112
115
187
112
215
240
234
150
177
193
121
208
236
150
171
115
170
121
112
208
165
228
150
239
188
150
150
172
121
174
150
225
150
167
186
112
165
121
172
150
168
150
174
263
177
112
136
112
192
152
195
136
172
167
123
150
136
112
167
208
152
112
112
208
204
136
123
192
208
167
165
135
182
215
174
112
170
244
189
165
212
121
124
218
209
123
227
174
112
186
112
174
135
187
233
231
178
167
198
156
150
147
150
190
172
146
150
170
194
156
150
150
231
208
193
191
195
207
194
176
160
112
172
150
150
302
202
245
181
164
112
121
170
112
219
136
208
229
150
210
167
150
112
121
160
130
194
255
112
123
121
258
135
150
208
186
121
197
172
170
186
175
208
188
112
172
195
170
181
170
135
150
112
124
205
181
181
234
121
187
121
121
112
178
150
171
167
147
171
150
175
112
136
156
147
182
112
255
255
131
121
170
112
211
123
165
241
112
115
121
112
228
150
171
194
187
208
193
255
152
112
150
150
181
197
208
176
150
195
150
150
115
206
159
223
165
201
171
201
132
194
226
208
167
123
201
171
143
172
150
210
208
112
158
121
123
275
210
215
112
137
164
150
123
245
195
193
128
212
208
250
112
112
266
158
208
150
173
112
150
123
228
202
136
150
179
184
121
225
152
174
150
210
172
186
112
194
135
172
177
228
150
223
158
112
112
160
123
150
121
150
193
228
181
147
150
212
150
187
226
266
203
208
112
167
124
150
174
167
170
123
186
170
150
208
167
219
220
165
150
181
121
200
115
159
112
150
228
147
161
121
165
172
239
152
112
143
255
219
240
174
201
165
123
147
171
235
170
153
193
203
232
171
194
158
278
208
229
194
156
136
201
219
202
193
171
220
112
150
193
171
123
158
112
171
159
208
236
167
112
181
150
167
252
208
123
136
167
208
183
150
172
121
170
164
165
199
135
170
150
168
177
202
112
150
150
237
165
143
187
121
194
150
276
112
128
165
123
150
186
210
184
121
165
210
186
195
167
209
150
208
210
181
121
194
150
208
121
186
171
170
121
203
123
219
226
137
150
208
201
220
150
150
136
214
194
176
150
220
241
208
218
136
208
171
167
210
186
176
171
121
196
274
208
210
121
237
218
243
208
226
212
219
206
112
170
136
250
201
172
208
175
172
165
239
189
190
208
170
254
253
124
202
174
210
255
165
208
115
167
216
170
226
164
210
229
171
136
150
150
215
150
195
278
147
160
226
181
121
150
112
150
193
208
170
150
136
208
164
176
112
150
121
218
171
150
150
115
112
150
231
182
186
172
263
195
167
240
171
150
121
194
158
175
159
218
243
112
123
172
194
210
204
242
208
194
172
150
150
175
112
135
189
176
203
167
165
172
267
186
195
220
168
121
209
112
187
150
231
186
172
250
150
152
150
239
170
128
115
112
112
209
228
121
164
208
245
210
121
181
179
178
150
205
160
247
112
228
181
163
256
136
172
210
112
143
202
217
135
174
207
243
112
112
193
181
195
135
128
150
171
135
158
170
238
244
197
181
172
150
237
205
150
174
121
150
181
208
207
123
115
164
208
229
194
121
112
171
167
150
112
150
112
150
181
112
112
212
152
171
208
178
115
156
165
193
205
150
255
121
240
171
112
123
170
172
172
202
208
181
208
112
112
123
121
172
259
115
136
192
171
222
172
121
226
207
123
208
255
165
194
205
121
291
121
112
217
174
176
263
130
150
121
172
178
112
226
193
137
230
228
208
205
135
167
253
150
208
174
232
236
112
202
112
174
123
172
231
160
208
112
212
174
146
124
147
206
123
147
123
229
235
112
170
228
189
176
170
225
176
112
171
135
229
150
208
112
152
112
278
194
177
150
194
150
210
150
170
246
216
179
229
150
137
150
112
150
112
167
203
240
159
193
231
170
256
135
112
159
181
147
123
112
177
178
150
112
160
171
135
164
168
257
208
115
172
220
186
170
151
194
186
165
158
217
187
121
150
208
150
216
150
186
160
150
175
171
194
121
112
112
167
210
115
219
205
202
160
208
167
150
176
218
171
115
172
123
193
215
152
158
150
228
192
228
208
181
250
165
234
186
230
215
172
276
147
186
112
208
210
121
112
167
112
223
171
123
131
121
172
112
135
194
172
135
165
167
137
112
182
170
157
202
187
135
112
226
167
121
150
150
170
214
172
167
210
147
171
112
172
172
171
112
218
112
112
112
150
172
208
150
121
254
194
220
181
121
210
212
112
239
176
194
228
123
243
150
121
170
150
115
121
112
177
203
150
112
150
177
159
136
186
112
208
184
255
150
121
214
152
181
163
302
121
121
179
112
229
172
132
112
201
167
158
136
179
172
174
170
150
215
124
232
189
175
276
150
167
172
171
181
123
223
174
150
263
165
186
150
194
195
137
144
170
121
167
185
156
181
242
164
228
187
167
170
121
150
158
233
228
187
211
228
186
112
181
130
112
150
171
189
165
112
208
128
150
150
198
112
112
150
195
112
135
172
171
186
115
193
146
115
170
176
121
150
112
186
187
258
150
192
201
203
184
237
150
164
195
139
115
193
176
167
150
150
150
229
164
121
112
150
112
128
205
171
112
123
186
208
228
165
112
302
194
121
293
299
194
209
172
203
208
121
173
112
150
176
172
159
172
172
150
171
137
186
158
208
115
123
150
135
173
112
252
124
196
181
202
121
165
172
167
197
210
181
165
176
203
190
256
205
112
171
127
150
208
112
121
150
150
208
181
135
167
121
174
112
121
255
176
156
171
193
150
170
150
170
152
156
136
112
112
176
112
143
175
172
171
208
152
187
167
176
171
135
123
123
152
206
147
164
172
136
167
194
150
182
123
150
152
156
137
168
150
192
112
150
112
147
135
171
124
276
170
170
167
210
208
177
215
112
164
135
195
171
123
121
210
139
222
150
156
150
165
259
121
255
250
201
112
112
150
121
209
186
170
237
121
121
208
195
208
150
164
123
181
174
160
205
150
187
158
112
228
176
159
237
112
115
208
121
167
172
121
215
121
157
186
175
170
231
177
208
121
203
160
112
164
164
263
150
202
194
164
172
172
219
168
112
156
112
172
137
112
112
160
165
172
203
192
172
250
123
112
112
214
167
217
123
150
225
181
212
147
228
124
227
112
203
158
172
160
112
150
150
112
147
267
171
112
170
220
244
121
226
213
172
197
136
145
112
135
176
167
208
194
121
237
186
206
208
265
112
136
228
170
150
121
137
112
194
176
215
178
192
112
172
209
199
170
237
115
124
153
164
143
173
202
198
193
147
167
181
196
135
232
193
121
121
172
112
226
277
208
158
208
150
172
164
168
189
210
158
168
210
208
210
152
115
121
167
167
130
165
170
203
135
263
167
123
150
218
217
212
226
167
147
147
167
237
124
149
159
187
112
204
121
208
123
208
121
194
150
150
135
229
195
121
172
220
143
112
220
178
165
210
152
201
112
181
150
159
203
240
121
137
302
150
167
194
231
121
226
196
130
228
217
181
250
150
167
112
240
124
136
147
139
177
231
159
284
121
192
192
184
156
170
170
203
164
121
208
219
202
170
147
150
167
121
208
216
112
112
150
194
112
181
177
174
233
128
204
150
165
182
176
171
279
172
121
174
121
270
137
150
253
172
123
150
137
225
201
123
115
150
150
158
238
112
208
228
150
128
121
195
152
229
170
150
208
150
150
233
187
158
181
150
205
121
150
228
112
202
205
172
167
115
112
165
150
212
167
223
284
112
263
212
250
187
233
195
167
150
167
256
206
193
112
302
226
150
208
174
177
121
112
216
165
194
150
167
207
130
208
150
237
181
130
150
150
128
123
123
156
218
170
225
150
195
211
218
150
112
197
112
121
128
203
241
177
150
217
187
255
204
135
176
186
172
150
157
207
112
121
172
227
177
282
121
112
178
150
167
136
150
164
172
150
205
194
112
187
150
193
189
208
150
175
192
172
150
112
182
121
208
121
193
121
186
212
150
165
189
203
112
158
136
112
150
165
185
210
177
170
208
181
194
171
121
158
112
112
184
238
193
167
165
176
222
208
214
233
112
112
123
176
187
181
217
150
135
135
167
202
240
228
206
121
172
194
112
289
170
202
196
112
192
173
231
156
112
150
135
171
238
192
150
121
152
172
121
203
255
208
112
153
150
150
121
168
175
226
112
210
167
210
124
150
172
187
235
121
121
115
112
177
228
137
208
212
160
228
235
195
171
172
135
150
233
172
152
181
246
176
121
235
209
121
150
150
208
144
231
150
171
150
200
112
165
208
171
207
161
172
208
199
239
150
212
112
159
208
150
171
241
115
228
210
124
193
147
150
130
174
124
170
121
164
158
170
150
238
219
224
192
162
150
112
202
192
150
236
216
170
215
259
243
167
259
121
211
121
177
167
208
123
123
124
239
272
170
112
159
237
172
216
274
115
150
187
150
208
237
167
230
150
159
112
150
182
150
184
176
186
228
177
159
195
164
179
230
121
208
121
240
218
171
112
205
150
136
164
210
136
233
158
136
208
231
252
150
143
181
112
186
172
164
201
193
150
150
112
150
115
121
135
167
179
172
195
160
255
137
187
172
168
136
221
156
177
112
135
172
137
208
228
208
137
208
194
162
172
181
176
229
185
112
245
112
115
229
159
208
147
127
150
177
112
165
130
208
150
123
170
236
112
150
112
112
187
203
170
121
168
273
167
230
205
160
189
219
121
152
124
112
112
228
213
175
228
112
235
203
202
250
167
237
124
150
115
159
150
150
237
217
186
167
181
150
228
158
177
123
157
208
203
179
147
112
194
173
150
150
130
112
202
112
212
137
150
196
167
150
181
157
152
217
219
124
208
172
121
189
187
121
175
170
237
150
112
244
192
121
167
150
147
217
167
194
194
212
172
167
112
212
228
212
163
194
150
237
158
160
112
174
167
137
150
150
195
123
112
172
181
186
121
115
210
202
217
112
228
256
175
193
130
181
167
208
267
187
219
172
150
194
121
123
112
293
150
179
170
146
243
181
112
121
205
150
202
302
147
136
238
121
171
233
115
130
164
171
186
242
152
240
219
215
167
158
167
168
153
263
205
146
208
150
135
187
128
112
150
172
183
219
157
112
209
212
150
112
173
174
208
123
237
208
150
194
208
172
225
130
172
158
150
212
208
136
196
144
215
150
193
121
208
150
121
128
214
165
165
150
121
172
170
112
165
253
203
167
172
112
121
160
247
124
208
144
123
195
112
194
121
208
170
196
170
150
179
202
174
223
231
147
236
186
192
238
167
112
228
137
193
202
170
202
179
226
159
232
112
150
172
164
167
159
121
150
186
210
170
112
228
192
165
181
178
172
143
170
150
193
112
240
150
225
277
255
202
275
112
112
176
144
202
121
223
137
165
150
167
181
172
168
225
208
174
205
152
121
150
171
165
244
203
213
165
150
187
167
150
255
150
302
237
194
239
130
201
121
194
231
112
150
228
123
201
121
168
121
212
137
170
236
167
226
181
236
208
208
208
244
172
235
165
206
194
208
112
172
164
150
192
150
150
150
210
228
257
186
228
167
168
123
112
203
276
150
157
218
172
182
163
123
176
112
208
112
150
194
121
164
208
144
150
192
172
195
123
265
150
297
112
174
177
177
221
299
208
112
229
112
143
167
202
187
210
112
176
174
121
112
210
176
195
112
172
159
212
112
261
241
207
121
196
159
152
150
112
201
172
121
150
164
121
167
123
194
156
143
156
220
195
112
179
195
171
112
194
208
150
172
167
167
234
152
212
220
112
112
209
176
181
159
229
165
158
249
170
150
170
123
147
195
170
186
204
210
181
218
136
176
208
171
146
181
112
136
136
150
194
225
176
112
172
167
150
167
130
152
171
201
158
193
174
167
112
176
121
208
263
232
147
112
147
212
170
176
232
171
181
202
121
170
150
135
208
193
208
208
167
124
172
208
121
121
187
170
204
184
147
121
112
157
158
161
158
208
123
206
202
170
172
124
208
272
220
121
194
195
195
150
112
171
196
205
172
150
150
112
144
172
263
112
176
246
171
167
112
121
176
150
164
121
208
259
181
172
150
195
276
236
121
170
137
135
193
217
121
121
112
115
203
112
137
209
112
150
181
130
186
150
194
182
170
112
121
175
167
171
112
202
170
121
123
203
121
150
177
112
112
177
171
193
112
112
121
135
208
178
181
176
205
208
112
228
208
194
137
210
112
182
174
193
170
150
123
112
191
231
121
203
214
195
159
161
150
171
167
150
194
112
181
204
150
209
171
208
165
253
175
234
184
181
164
156
187
150
212
172
208
172
112
147
123
170
176
150
123
147
208
150
171
123
217
121
208
162
209
165
121
232
112
218
150
150
150
193
170
208
165
170
176
208
150
152
150
238
143
210
150
250
172
135
161
121
147
172
143
236
172
194
112
232
150
263
150
182
150
195
193
176
208
167
172
130
121
231
121
150
210
167
150
208
167
112
255
123
192
181
172
172
217
121
112
112
224
194
165
150
131
161
181
208
112
203
164
182
226
136
150
150
217
181
150
232
243
208
229
187
137
121
150
229
112
202
240
112
112
158
121
240
250
181
172
207
171
212
250
167
231
127
235
208
177
112
218
147
234
135
137
135
167
137
112
198
194
208
208
167
194
193
135
121
250
150
302
121
147
208
208
130
261
228
219
112
253
203
218
115
152
194
203
174
181
128
150
171
165
177
181
112
167
150
186
130
231
146
135
135
186
146
208
179
179
265
150
172
192
194
150
121
210
255
170
112
177
150
150
181
123
204
170
195
219
130
190
167
121
245
150
196
165
164
237
149
112
121
150
150
214
234
136
181
181
172
135
167
172
194
166
121
181
216
172
170
194
225
167
150
121
210
183
171
177
112
150
190
208
174
224
171
224
237
121
112
200
150
150
171
159
217
157
230
232
150
282
189
179
172
167
150
147
208
172
219
243
112
165
121
150
210
121
112
176
147
167
172
121
150
177
171
181
228
170
112
128
121
202
244
121
170
208
164
194
170
195
143
205
237
112
213
208
150
194
203
194
112
207
121
181
164
186
150
194
217
145
170
193
135
194
167
202
121
195
121
112
112
112
189
150
170
123
228
112
209
168
164
170
150
121
163
170
224
164
193
121
136
237
121
171
208
175
150
150
121
212
209
176
238
219
187
235
181
208
208
150
150
205
176
187
208
302
130
135
174
208
195
214
160
172
112
157
208
112
167
112
112
150
174
121
212
170
208
121
130
150
112
228
208
112
172
137
121
194
236
112
150
208
176
176
112
172
167
147
167
170
239
226
208
231
264
121
225
174
218
143
165
160
168
218
201
194
112
163
237
201
210
176
228
121
150
112
208
208
229
135
130
215
112
181
229
250
201
220
171
121
167
172
194
144
129
175
161
121
237
164
112
228
197
115
172
158
208
123
178
135
208
179
208
194
208
210
208
172
220
172
217
137
229
201
218
208
159
208
181
147
228
167
144
123
167
136
121
147
123
298
115
152
164
178
234
194
186
145
212
136
208
233
170
112
150
112
132
185
229
179
172
137
121
164
208
121
172
130
210
177
278
172
208
150
226
130
121
176
112
158
130
128
208
194
112
112
121
233
210
150
203
123
172
192
168
121
150
174
123
147
112
238
208
112
250
201
150
221
204
150
164
278
112
250
147
121
167
181
121
121
172
231
160
150
112
170
167
150
208
178
156
150
112
150
147
257
135
265
165
201
112
123
167
150
121
158
171
115
130
187
208
159
228
176
214
176
212
187
167
171
176
150
208
181
208
137
171
208
200
115
123
181
136
167
158
262
239
167
170
201
152
112
255
112
221
171
194
240
231
121
254
121
179
176
263
157
182
121
186
218
150
112
150
194
217
115
170
123
112
176
205
208
168
135
160
209
123
147
209
121
208
121
171
212
112
121
131
167
188
228
228
150
121
150
281
112
201
143
205
112
214
150
260
197
112
199
263
150
208
168
167
137
202
150
195
250
150
210
172
135
112
150
112
130
237
121
164
135
167
240
231
177
172
175
231
187
194
208
121
208
192
121
184
176
121
203
195
152
229
150
241
121
171
212
201
228
165
112
201
208
187
195
112
187
167
274
150
186
186
121
202
194
112
123
193
156
186
167
239
159
181
208
241
160
186
150
137
112
112
208
255
218
150
224
112
194
170
172
151
190
121
218
150
196
156
123
279
137
121
150
160
210
121
233
150
165
232
150
150
158
172
150
202
152
112
135
187
150
201
121
208
156
144
112
187
159
150
194
176
124
112
196
181
278
250
123
203
170
121
165
182
150
194
137
139
250
112
121
172
121
228
121
121
172
167
162
150
272
234
208
227
121
112
193
172
176
150
150
212
112
172
121
194
112
160
150
112
208
112
207
150
206
257
146
175
263
217
165
186
163
190
112
112
210
181
112
170
128
160
150
260
156
172
172
210
187
171
192
237
123
200
123
194
243
171
112
167
202
186
150
112
150
121
172
112
123
115
112
136
192
150
177
208
121
171
112
121
193
167
240
161
215
203
193
121
115
170
186
219
220
112
194
150
229
123
150
150
161
226
167
171
205
121
261
121
217
150
137
112
112
194
181
112
150
208
195
184
150
158
215
205
137
150
121
193
112
150
167
112
176
136
159
112
203
195
123
121
128
165
150
181
123
202
201
195
187
112
171
121
147
230
121
121
147
112
243
195
187
254
121
150
150
185
150
112
150
177
164
193
150
186
192
194
165
208
112
150
150
171
181
150
250
115
150
171
237
167
172
239
243
121
218
194
212
208
176
208
194
172
208
170
150
150
229
160
236
170
172
150
164
115
179
210
263
174
121
176
136
185
206
171
112
201
164
203
181
121
193
112
186
213
250
187
121
195
208
150
208
208
172
135
239
112
164
150
121
245
156
206
192
172
121
200
189
302
121
237
178
167
121
208
195
264
112
115
137
112
203
121
112
112
121
188
186
198
172
167
208
137
159
184
135
232
115
121
219
137
181
192
153
167
165
150
150
208
195
121
121
208
208
158
174
150
203
212
172
192
112
167
170
121
130
159
198
128
123
121
121
165
121
112
171
217
147
186
235
172
172
173
150
150
207
158
167
194
186
147
150
112
281
208
170
150
121
228
171
147
160
158
162
208
189
130
152
171
135
219
176
121
186
170
150
121
269
112
170
171
160
121
223
189
202
165
165
159
240
172
150
172
240
194
229
112
208
165
171
242
121
247
176
156
176
208
164
112
171
208
172
159
150
121
192
208
172
239
146
208
193
258
233
228
263
172
178
150
172
220
150
121
150
237
178
199
208
181
115
150
228
170
193
212
171
150
243
168
112
175
194
201
150
150
167
131
210
121
112
112
203
208
208
210
205
164
177
215
112
170
165
171
121
123
208
173
164
172
208
185
194
150
167
226
150
150
172
237
176
150
112
115
171
202
186
206
156
124
172
176
150
123
231
231
137
156
226
170
137
137
177
210
176
168
172
196
170
244
144
177
186
165
164
112
202
167
208
150
170
121
177
115
185
150
203
172
171
112
172
112
165
208
191
217
150
115
176
135
228
174
194
150
181
239
302
178
176
121
150
194
112
121
241
135
231
228
167
161
167
178
239
205
112
181
184
207
139
186
275
112
213
186
193
192
194
176
112
195
219
143
163
186
121
167
208
121
175
150
186
170
181
158
112
137
112
150
164
121
187
112
161
123
124
145
172
172
164
150
157
228
181
228
136
159
230
170
231
159
227
137
212
177
137
121
164
175
137
170
121
226
150
165
123
143
196
172
230
177
167
233
172
210
150
112
216
150
172
176
209
171
168
121
112
212
164
121
212
200
287
135
112
170
160
195
130
181
177
192
192
121
195
150
150
210
150
181
136
208
150
150
170
260
172
121
228
112
159
168
206
121
150
165
210
124
181
172
150
202
243
227
170
208
135
150
194
150
187
208
275
229
227
137
220
167
201
167
228
157
112
155
278
137
112
130
165
228
115
150
235
112
188
150
172
208
123
228
201
150
121
182
128
121
208
137
124
112
150
112
112
182
121
167
219
181
123
208
243
167
176
135
176
226
236
112
172
211
200
165
176
150
167
121
112
167
150
228
208
194
150
150
164
112
167
170
212
245
152
160
195
167
135
195
181
211
165
240
150
121
112
208
150
121
228
228
238
165
201
150
208
112
172
112
207
121
165
265
205
231
150
112
150
208
124
165
237
152
150
112
228
228
112
230
112
219
150
167
121
167
187
123
198
150
165
171
208
267
115
171
170
203
219
199
208
186
156
208
136
150
203
228
272
121
193
112
237
293
158
112
112
150
121
150
167
172
147
226
167
167
167
177
121
159
171
201
112
247
170
189
171
121
172
170
123
121
112
167
172
181
215
158
150
112
150
150
223
150
150
121
135
178
172
194
186
167
167
219
225
150
231
164
135
181
176
124
135
172
150
167
167
187
152
164
167
278
164
167
170
171
170
121
220
174
202
121
150
231
186
170
172
231
147
112
214
172
172
160
150
165
121
172
208
150
172
189
167
112
167
194
165
186
219
181
176
243
228
124
115
172
150
121
115
237
172
170
136
121
170
266
112
239
212
250
150
217
123
112
121
139
135
150
208
208
136
167
130
197
171
208
167
121
201
121
112
176
150
135
135
156
167
171
203
214
208
112
112
210
112
208
150
136
158
136
226
121
181
215
121
237
147
252
150
150
137
193
225
243
167
123
209
175
172
128
167
241
170
158
150
121
239
192
208
214
192
228
171
208
208
158
150
112
176
237
274
165
112
217
152
201
175
277
186
121
112
121
250
177
208
198
195
194
200
150
150
162
240
128
150
232
201
152
201
112
219
208
195
112
112
112
176
150
170
194
150
150
137
152
150
128
150
177
115
187
196
167
167
250
115
135
243
150
168
121
164
112
195
115
208
215
305
193
112
229
112
234
227
172
150
255
247
112
165
210
170
203
174
150
167
130
237
236
240
150
195
171
150
208
231
210
208
172
150
121
121
150
233
157
112
228
167
263
159
208
233
150
172
159
218
158
112
135
150
229
121
201
164
238
156
162
130
208
172
150
174
156
121
240
177
165
176
150
254
158
156
194
136
174
121
195
165
128
167
208
167
121
153
176
176
172
205
172
159
150
171
150
181
159
239
172
195
156
236
150
152
178
150
130
205
186
162
206
179
121
172
150
121
150
135
234
136
187
208
223
193
179
121
156
166
112
210
121
194
232
187
121
181
150
265
112
170
219
190
226
187
167
112
208
135
137
141
167
135
200
167
124
198
150
112
193
150
172
167
250
167
156
200
159
192
220
112
208
209
218
212
181
165
112
150
121
217
121
181
212
176
212
170
121
167
215
174
170
208
233
187
112
226
172
186
231
121
167
220
171
210
167
170
165
164
112
302
194
210
150
112
123
189
228
112
201
199
167
237
200
115
189
234
202
158
121
167
176
235
235
147
121
181
135
150
121
167
172
112
150
112
168
143
210
173
195
121
112
128
246
150
183
170
147
164
123
147
175
167
158
215
163
229
181
150
177
137
121
123
150
167
176
220
233
159
186
123
141
208
175
162
121
156
192
226
253
167
123
156
170
167
167
171
179
208
271
172
231
112
171
202
168
121
282
135
208
145
112
112
112
150
297
172
194
135
135
121
228
226
172
236
136
150
112
214
172
194
206
182
167
150
165
178
208
189
171
137
187
192
187
172
172
208
239
181
171
236
202
112
228
210
187
174
121
208
193
239
162
226
192
186
121
147
228
121
172
185
281
266
121
184
211
228
197
165
208
167
211
225
150
143
258
112
181
165
150
171
136
208
170
150
170
198
208
124
181
184
150
172
233
170
121
172
150
203
112
170
176
112
232
181
171
208
115
121
150
121
150
170
130
144
150
172
208
170
112
137
208
280
172
150
212
112
210
172
228
190
150
183
123
211
204
189
171
150
136
177
175
150
230
115
201
193
176
121
165
171
112
123
177
167
165
150
167
208
137
150
158
162
184
150
186
204
196
172
194
137
195
135
218
152
208
179
228
172
172
171
167
112
208
181
161
186
230
172
208
195
172
263
194
141
208
121
181
210
238
147
150
165
236
171
242
135
179
121
112
130
150
170
227
192
150
152
112
238
158
202
150
177
219
150
136
121
121
170
170
208
121
158
187
181
147
171
174
150
208
194
167
150
203
165
201
233
194
121
112
112
112
175
174
185
208
166
208
172
212
185
235
302
167
217
201
150
237
172
237
150
112
150
210
233
194
233
164
176
150
236
193
112
215
158
121
200
124
150
112
112
187
150
121
150
186
228
168
172
181
180
186
171
123
231
121
246
170
203
150
171
171
194
150
179
123
168
195
194
135
128
123
212
236
130
167
150
171
135
150
121
112
170
159
167
173
225
172
218
202
150
159
143
150
232
281
203
158
172
150
170
221
194
203
172
150
112
195
203
186
179
263
187
225
171
208
121
187
135
193
121
176
198
171
128
121
167
223
123
257
217
237
205
172
170
150
212
288
150
172
186
150
202
194
158
210
208
181
176
176
121
112
150
167
121
239
150
208
208
135
136
150
226
112
124
174
152
193
193
222
147
172
165
228
150
172
194
172
162
135
150
137
135
171
172
112
165
168
171
170
123
112
150
150
150
143
228
112
158
255
170
115
167
158
121
124
177
172
172
121
112
123
136
208
121
172
121
158
150
193
136
176
181
171
209
167
121
172
176
150
168
121
128
150
150
143
187
121
263
156
112
150
178
165
237
181
121
152
171
257
212
174
137
121
211
193
186
150
121
167
209
150
158
176
195
208
150
150
260
170
121
121
208
112
211
143
237
147
158
150
238
172
115
121
172
243
208
121
152
112
156
172
165
170
202
112
171
167
121
187
160
218
177
160
165
171
208
167
204
202
193
219
181
165
123
202
112
217
192
186
188
170
229
121
218
208
228
172
121
228
167
172
208
192
160
171
184
137
240
112
243
172
246
164
181
194
147
167
121
112
123
226
115
150
112
218
150
112
183
226
150
194
195
121
187
170
171
150
194
208
147
172
128
112
112
150
237
150
179
230
302
172
208
121
211
150
186
236
210
159
121
176
136
278
167
193
112
233
172
112
172
202
172
201
172
228
150
115
123
168
112
186
112
112
194
164
172
168
177
171
115
112
193
194
112
203
217
150
143
150
171
210
172
136
195
112
187
229
208
174
193
203
130
196
164
216
181
170
123
112
203
202
164
220
194
165
177
241
150
175
197
212
152
253
208
150
194
121
112
150
167
112
208
150
195
112
250
226
278
121
186
123
253
255
210
121
150
195
210
204
150
158
121
189
176
174
175
208
165
237
150
143
174
208
230
172
210
212
233
167
143
150
112
194
208
176
150
112
210
112
156
112
263
136
121
170
112
121
121
112
201
253
128
193
228
150
260
173
171
150
150
175
124
212
176
182
115
150
167
228
112
168
240
160
121
217
255
193
135
159
210
208
150
112
189
244
112
172
121
241
150
147
171
212
150
208
121
170
202
136
121
150
112
172
167
194
217
182
112
158
171
203
123
263
167
225
150
297
172
144
202
112
219
135
194
176
208
150
187
208
150
136
170
243
121
170
170
112
121
192
167
196
193
150
206
121
150
177
228
207
171
235
130
254
194
181
112
121
175
112
205
208
150
156
181
121
217
216
165
143
172
208
175
121
186
167
172
147
150
150
167
186
194
121
174
112
203
112
231
150
137
172
175
208
201
207
220
112
147
232
208
229
172
193
190
193
136
160
150
123
206
170
201
165
208
217
298
207
136
167
136
115
123
203
150
208
174
150
236
167
212
167
228
199
115
150
194
176
209
112
171
136
112
194
124
167
146
121
208
121
172
170
175
207
172
112
172
172
115
210
194
208
150
219
112
121
176
123
172
187
121
187
173
250
176
260
172
243
202
150
229
121
302
121
176
124
112
181
167
250
230
158
121
150
150
208
161
237
121
173
192
156
121
136
150
172
123
170
237
121
150
223
123
203
115
243
112
150
179
147
260
196
172
150
227
123
173
158
137
255
123
206
215
238
176
136
170
250
150
150
172
156
203
208
112
112
121
121
112
112
193
150
193
167
150
147
170
112
112
123
181
228
112
205
177
150
182
123
213
194
189
121
166
215
112
240
124
187
160
150
112
172
228
123
112
160
165
208
135
112
255
165
217
150
177
130
150
150
212
112
208
121
124
143
208
150
172
187
239
237
150
170
115
164
201
218
172
112
217
150
203
115
201
164
237
194
112
208
207
112
150
214
135
150
147
112
208
257
210
225
112
150
167
172
195
143
228
121
239
121
167
194
212
130
244
170
170
112
146
201
229
150
194
199
261
172
137
181
112
112
165
199
121
115
202
150
150
226
228
158
229
112
218
135
152
112
123
150
226
115
207
171
167
226
202
208
218
167
172
167
167
121
112
143
159
121
130
136
208
112
226
174
208
171
246
165
242
121
167
135
203
112
171
121
167
112
171
244
172
167
210
112
210
150
200
165
112
150
164
131
227
112
194
121
112
205
121
147
121
202
112
202
137
167
136
186
228
150
172
171
210
208
112
203
211
121
112
170
291
170
299
112
208
112
208
168
135
121
172
170
121
194
172
201
121
226
214
167
150
137
121
228
172
121
215
159
150
121
208
175
217
112
194
176
135
164
112
150
144
152
112
150
240
150
212
219
250
124
167
237
121
112
176
147
112
167
237
147
182
231
143
212
217
121
172
150
244
193
196
131
181
121
121
112
231
121
209
255
184
175
175
112
150
167
121
163
150
146
150
187
131
150
170
239
137
167
121
164
235
121
181
167
121
172
177
279
184
192
208
135
176
167
172
228
112
171
121
184
195
170
179
143
207
112
112
228
165
159
121
208
121
228
186
164
147
150
170
226
124
170
173
181
187
193
197
165
121
207
193
121
276
121
201
170
167
150
237
112
272
220
124
194
220
232
208
150
123
208
263
123
150
150
203
150
121
171
121
121
209
179
207
187
201
229
192
187
172
160
112
195
210
165
150
112
156
150
121
172
203
203
216
194
172
194
167
233
191
205
172
201
112
150
147
121
121
112
121
147
229
121
112
192
176
175
150
186
208
302
167
235
187
193
121
164
209
115
186
172
145
171
150
177
175
204
165
179
112
112
165
150
171
218
121
137
150
210
212
168
159
165
172
208
192
194
130
172
152
185
150
112
212
167
218
160
121
222
206
112
192
177
208
121
212
150
272
121
150
164
208
172
217
150
235
167
165
176
112
150
184
260
112
128
150
164
179
250
159
218
215
241
112
123
150
150
170
237
176
218
209
152
208
211
121
147
193
121
112
112
160
195
172
112
121
217
250
170
207
121
121
219
158
176
172
135
112
150
176
170
181
150
192
167
150
150
220
112
240
143
208
115
135
196
150
170
112
213
121
226
112
217
193
123
123
194
156
121
115
208
217
112
181
228
272
210
143
250
171
174
121
150
211
112
170
194
167
121
171
302
231
168
181
150
121
181
240
172
201
167
121
243
136
165
112
150
203
227
121
124
115
208
172
172
128
170
242
229
212
208
172
137
176
112
170
170
172
172
150
165
158
194
121
132
210
215
226
170
229
202
112
112
208
175
150
208
159
181
201
208
171
112
176
206
202
193
208
159
174
158
171
156
123
205
179
167
174
172
176
135
112
150
181
112
239
112
212
195
211
123
186
208
112
236
204
229
264
167
187
171
257
242
237
216
181
143
150
217
219
167
187
172
152
170
205
252
150
172
165
176
260
182
112
170
190
168
208
172
237
165
176
218
225
157
150
157
156
239
208
229
189
137
115
172
276
170
164
194
186
194
150
214
176
211
121
194
150
186
165
112
158
121
172
185
177
172
171
186
150
278
170
167
137
208
195
176
121
205
203
150
167
186
150
112
147
203
167
252
208
132
250
150
195
167
201
159
172
190
255
112
178
150
182
208
123
112
165
210
177
150
195
121
170
179
238
189
124
184
172
194
112
165
182
128
150
137
121
121
123
172
243
112
291
121
170
171
150
121
172
198
112
208
112
147
228
121
157
172
150
208
220
240
208
172
158
208
121
167
112
172
206
217
121
241
135
121
123
236
112
144
121
265
115
237
170
123
121
121
168
255
167
150
112
230
112
112
150
150
121
181
150
208
150
171
192
150
210
115
150
227
121
112
208
193
147
112
121
165
230
121
184
195
112
112
198
212
210
272
184
150
232
172
201
250
210
176
227
121
210
172
225
150
150
229
208
181
162
176
194
135
203
208
152
164
176
208
172
181
150
167
186
210
121
247
186
150
150
170
177
187
181
172
150
167
121
150
208
194
130
250
147
189
172
150
212
150
181
237
205
196
136
121
209
150
229
302
135
112
211
172
172
220
219
181
176
165
150
220
121
203
257
187
181
170
212
121
250
123
210
174
218
150
130
121
265
194
203
170
219
172
167
195
112
112
150
175
229
190
150
208
181
194
219
156
192
174
152
228
212
187
228
208
112
243
121
216
205
181
208
121
121
160
150
112
172
208
123
123
150
121
194
203
187
260
112
214
150
150
167
208
121
139
121
121
260
121
170
150
209
123
167
174
181
167
193
223
112
121
188
157
150
228
208
170
172
121
112
112
224
112
235
172
150
112
121
150
152
181
174
176
227
243
171
150
128
112
208
165
165
194
135
170
172
121
150
112
172
170
150
226
147
121
232
209
172
170
232
208
209
203
150
123
136
164
121
136
208
202
212
217
165
112
228
157
112
150
201
115
202
124
150
121
194
112
199
112
112
172
172
167
208
153
170
112
135
160
185
203
121
239
200
150
201
193
167
168
194
150
124
143
203
150
135
150
194
144
194
212
112
159
171
164
150
170
234
208
208
150
121
150
164
147
150
159
123
168
165
150
171
228
203
245
167
181
186
208
167
172
121
150
220
225
197
112
170
250
121
176
150
112
204
208
160
192
115
121
278
150
203
239
123
170
130
232
228
166
187
143
112
165
197
115
311
164
195
193
150
124
187
194
150
201
198
121
124
112
136
160
195
170
208
172
208
181
162
112
147
170
263
212
228
115
202
167
112
239
192
186
177
150
160
134
186
182
205
112
121
150
150
121
208
115
150
166
147
172
237
181
135
172
236
172
136
159
112
150
194
177
205
167
210
121
165
171
203
121
176
121
150
112
201
176
158
177
190
172
240
157
186
135
170
218
112
115
233
121
181
123
158
177
166
121
217
150
194
158
150
226
194
186
201
172
112
164
167
210
147
150
170
150
150
123
112
172
216
112
208
167
150
172
121
184
253
112
240
112
112
121
165
250
174
121
121
208
263
112
121
194
172
167
150
208
201
150
112
123
170
198
251
237
211
150
202
150
172
167
194
150
176
201
231
150
135
112
164
217
164
170
150
208
121
121
176
208
158
121
167
121
136
203
150
208
161
210
128
150
213
165
181
121
150
228
172
167
172
172
165
150
121
137
176
165
195
181
165
275
178
172
165
203
212
160
208
221
150
225
195
150
174
164
208
121
231
209
232
231
165
164
185
181
194
115
190
229
208
123
170
240
175
167
170
167
231
176
121
150
194
237
181
112
217
176
150
150
112
112
219
157
189
130
168
150
170
204
112
203
170
159
150
115
220
123
123
112
123
167
241
170
172
193
123
170
112
150
112
150
150
171
150
150
176
176
220
150
208
132
150
170
136
165
163
150
172
218
233
208
150
136
255
263
112
210
171
208
112
121
219
167
150
228
146
208
181
123
171
243
164
228
174
196
174
124
210
210
174
150
194
194
176
123
233
167
240
150
203
165
237
236
208
170
150
210
177
112
209
242
150
236
186
150
202
208
112
208
181
143
156
112
159
208
181
136
146
123
170
226
170
192
199
167
150
218
145
135
147
136
172
168
167
171
121
240
195
164
226
150
198
181
218
170
174
231
179
112
177
203
237
121
219
278
112
112
203
172
160
243
187
228
186
181
147
187
112
206
210
150
173
208
112
205
208
242
170
150
258
193
172
181
164
181
184
201
136
174
115
150
121
172
187
130
112
174
178
165
123
232
201
228
150
264
237
170
112
208
121
170
171
150
171
208
170
229
112
171
208
150
112
194
208
150
135
238
172
150
147
225
186
172
170
193
208
270
168
185
231
121
159
158
239
170
186
281
112
150
208
112
123
229
243
150
208
150
239
204
135
170
170
223
217
229
112
152
112
208
121
170
208
203
255
176
150
171
150
170
150
121
172
135
208
115
128
165
246
172
165
167
190
112
171
186
203
182
147
186
186
170
112
208
150
223
234
170
216
215
264
150
176
176
160
194
167
176
112
150
220
123
159
150
217
112
208
165
236
150
195
152
128
195
202
236
205
123
159
152
201
225
150
112
121
144
170
210
112
121
167
205
202
136
150
172
203
224
150
218
184
112
233
165
121
202
208
112
176
181
123
121
209
112
187
228
201
172
241
172
165
181
112
228
121
184
208
211
136
211
228
208
164
208
112
150
165
167
210
170
171
112
203
195
215
158
201
233
115
236
213
150
202
194
147
171
231
150
121
182
208
275
121
215
194
150
150
210
218
112
181
172
238
194
172
203
167
170
171
150
206
170
165
167
192
181
214
179
150
165
185
193
150
217
121
170
112
187
208
226
150
143
187
205
121
128
228
172
150
121
170
278
124
136
207
121
232
192
112
210
150
208
136
167
144
186
195
150
186
112
210
135
167
202
156
170
123
150
181
171
150
123
212
195
241
112
218
128
150
212
236
170
202
121
165
121
112
229
176
204
160
124
191
194
302
179
162
112
189
158
112
201
143
112
170
121
123
150
226
121
171
216
112
150
171
112
170
194
170
220
172
167
207
172
198
121
121
228
144
202
121
193
213
229
208
230
237
195
121
210
176
150
161
209
186
243
150
112
165
208
170
163
226
167
150
184
150
143
170
241
167
150
201
156
170
208
167
217
213
184
149
112
158
212
209
246
175
253
171
121
121
173
150
160
150
150
136
112
161
158
208
115
196
158
240
246
175
150
200
150
237
194
210
237
156
176
172
156
147
168
165
232
208
236
150
226
172
196
121
167
194
136
165
172
172
123
158
170
216
167
123
121
208
112
124
121
175
225
234
121
170
165
267
240
150
170
112
121
186
219
177
124
147
115
172
124
112
199
172
147
121
202
121
112
123
170
121
150
231
179
164
112
121
203
215
150
150
227
220
217
201
167
170
172
150
212
170
121
250
224
201
171
194
167
165
212
213
170
112
171
150
167
135
208
121
130
190
135
302
150
150
208
184
137
217
112
139
121
170
121
176
228
115
112
238
124
156
135
170
121
171
112
207
193
112
172
208
159
186
159
178
121
150
196
156
161
112
150
112
150
186
228
210
228
181
207
170
209
150
150
217
194
202
112
190
208
172
250
150
226
152
150
172
194
181
232
194
123
175
121
179
194
150
150
112
184
192
170
207
112
194
112
208
222
195
112
150
170
265
258
193
172
194
218
201
171
167
123
194
112
123
171
144
171
112
167
167
170
150
207
194
158
210
112
112
165
121
152
183
172
167
172
147
194
164
121
172
112
206
156
255
181
167
150
239
112
198
297
123
237
237
150
121
112
172
158
115
189
135
112
121
193
223
112
231
112
112
150
112
210
137
232
186
209
150
115
167
150
150
112
150
165
150
167
160
212
210
163
150
171
174
243
176
150
150
112
240
186
198
192
123
192
137
150
177
121
172
121
226
172
150
121
194
172
249
193
241
121
112
210
171
128
167
167
250
150
150
150
150
112
192
194
150
239
136
167
179
121
121
176
158
172
229
167
130
146
112
150
115
170
172
150
269
255
192
121
158
150
177
178
121
194
208
177
136
121
239
174
121
150
112
233
255
193
147
220
171
112
150
217
232
208
207
167
229
181
208
171
150
150
187
228
194
208
175
112
150
194
200
150
158
210
171
170
121
172
172
165
165
112
150
121
164
135
172
121
208
224
168
173
172
135
170
181
170
150
172
170
124
181
112
121
150
150
218
237
208
112
176
121
276
218
228
204
172
121
186
192
187
192
121
194
212
193
159
157
186
156
216
201
184
172
226
172
173
226
121
172
121
217
158
208
150
152
165
137
222
194
170
172
181
150
112
230
198
195
186
223
121
211
123
176
167
218
170
172
121
112
167
170
112
172
150
229
219
228
150
199
229
112
195
186
159
208
150
232
181
150
172
232
150
124
220
205
164
150
208
210
150
112
150
150
165
212
172
187
263
185
172
121
226
121
115
137
167
216
171
205
195
139
207
205
266
182
150
170
115
121
172
195
220
232
155
216
150
194
170
224
172
112
237
135
165
121
208
177
150
219
214
112
112
121
121
143
150
181
172
182
112
240
228
209
150
143
137
150
174
192
206
136
194
150
152
121
150
202
150
112
181
150
171
121
208
185
167
130
169
165
194
223
219
115
208
239
167
167
124
121
165
167
194
250
150
193
210
121
213
208
202
171
150
147
176
202
112
201
181
172
167
291
137
121
225
212
228
112
208
156
165
150
225
231
143
208
239
193
181
193
170
172
150
228
203
121
170
266
168
194
160
240
112
121
112
150
162
195
217
121
121
150
150
208
170
112
212
168
137
131
174
171
171
202
211
179
199
150
171
208
112
195
115
194
172
248
121
165
202
177
150
176
213
226
233
250
204
176
170
115
165
167
228
204
112
115
228
123
177
112
136
136
150
144
128
121
176
228
208
150
156
150
250
172
210
112
234
150
121
175
121
164
223
167
194
208
112
112
170
217
184
187
170
187
135
167
170
150
205
152
170
231
205
193
156
172
174
170
121
143
237
193
194
210
228
166
219
208
112
175
192
175
208
208
203
121
150
123
177
172
208
272
165
112
167
291
208
172
240
150
172
208
150
250
194
150
112
172
171
112
150
195
212
203
121
112
164
302
192
241
265
202
184
167
150
172
265
159
158
300
241
135
194
150
112
197
208
223
123
263
121
136
123
144
208
237
150
112
150
121
165
171
199
243
121
121
156
150
112
170
224
177
112
167
171
112
196
175
176
181
112
150
150
202
220
147
171
194
182
173
199
121
225
172
178
136
218
256
172
167
208
230
168
167
112
135
253
150
150
112
176
220
182
207
112
230
171
150
121
171
196
121
167
150
112
235
209
150
121
231
137
228
128
150
172
171
193
121
165
150
167
152
172
121
182
112
159
193
205
137
172
150
186
157
212
194
156
150
162
205
194
181
228
167
247
219
172
150
162
167
171
225
112
136
121
228
176
232
226
177
170
135
170
150
202
130
210
172
192
208
159
208
112
187
204
208
136
185
121
176
150
170
232
144
167
124
176
171
182
150
150
208
144
172
195
226
150
194
128
172
208
237
112
181
208
150
181
193
172
263
195
172
150
185
210
156
167
276
172
159
207
171
112
186
176
194
171
112
123
123
124
237
194
112
171
150
147
124
208
121
121
181
143
175
208
231
176
175
250
150
208
170
112
208
265
186
200
237
150
112
121
208
115
112
165
231
187
165
115
221
171
170
150
194
121
167
176
187
202
236
121
137
172
178
168
210
186
240
211
150
150
121
208
172
176
208
156
164
250
112
218
112
147
177
245
112
223
176
220
164
135
150
112
165
112
255
238
186
123
165
144
112
170
121
145
172
181
112
206
137
181
150
187
150
272
223
186
203
215
275
201
164
174
112
121
255
176
210
150
181
232
188
196
123
171
228
165
231
121
170
231
137
136
253
195
185
152
236
147
229
167
121
121
186
150
167
147
135
156
121
197
184
272
218
164
150
150
267
208
167
112
158
150
178
181
112
186
220
221
150
174
136
236
214
121
137
150
170
186
124
219
112
112
174
115
213
196
150
121
176
112
208
124
201
181
175
208
121
115
167
164
112
170
170
112
181
180
150
187
220
164
186
187
170
172
208
216
112
186
168
189
176
234
193
208
168
165
165
218
207
150
195
210
112
130
112
194
177
135
135
112
121
156
124
172
112
167
172
150
176
171
237
112
342
194
272
150
183
123
205
124
150
139
128
165
242
182
170
281
150
177
181
253
172
172
208
171
112
112
164
177
194
210
150
150
229
186
121
137
158
150
150
170
176
226
172
210
208
165
177
172
198
136
121
121
124
218
239
112
228
135
165
177
203
121
159
150
150
236
175
144
150
112
170
167
147
276
150
170
302
165
193
234
228
176
167
213
202
170
170
112
135
112
150
167
172
181
172
174
213
150
150
172
115
136
201
112
121
180
167
199
121
176
150
218
121
112
115
171
137
202
167
243
183
147
152
192
208
150
170
176
207
218
210
112
210
227
150
146
172
123
229
176
239
194
227
150
165
218
121
128
186
208
187
194
150
187
204
207
153
121
235
130
174
215
192
172
123
236
181
194
194
207
192
201
158
226
208
167
208
186
172
159
195
208
229
217
150
184
112
150
194
228
208
112
123
167
237
172
121
172
194
181
158
150
130
168
186
171
150
167
156
112
150
150
187
158
179
112
172
121
150
159
147
143
121
165
181
206
184
150
121
112
112
150
250
164
218
150
112
187
172
160
112
112
150
193
121
137
168
234
135
205
233
187
150
205
186
202
164
121
216
150
168
146
208
156
123
143
192
185
201
222
210
208
164
121
123
167
121
265
112
150
112
150
193
150
167
167
150
168
164
137
159
194
181
144
171
112
194
112
150
208
231
208
172
112
143
176
112
150
128
208
115
150
150
112
164
112
175
186
250
208
150
176
223
181
135
150
229
228
150
289
237
195
237
250
123
202
208
217
121
150
276
193
112
130
172
172
260
112
196
232
115
137
208
112
172
208
150
185
112
264
263
171
112
205
217
121
228
143
150
170
217
167
204
123
150
150
172
167
172
212
167
193
112
208
167
258
172
121
267
115
150
123
170
228
165
156
178
115
121
170
121
157
170
157
250
228
112
121
158
176
112
121
216
170
195
137
172
167
156
112
172
237
123
128
170
211
208
121
150
124
219
226
112
186
121
208
130
121
276
158
150
150
228
208
194
121
228
121
204
150
217
213
112
167
121
171
130
181
174
167
234
115
152
170
172
170
121
121
239
176
165
121
176
137
121
158
250
123
193
150
187
193
186
196
167
208
163
147
150
170
214
211
150
208
160
121
172
150
219
121
112
193
181
150
171
172
184
112
150
171
150
186
208
170
258
150
242
121
193
165
171
168
194
112
123
208
112
147
181
194
123
164
202
150
171
208
202
147
177
121
172
121
256
164
210
150
208
160
156
194
186
150
167
123
171
236
170
112
241
150
170
217
160
121
230
150
186
115
112
112
181
121
217
115
176
231
215
182
112
165
150
112
181
112
159
170
172
209
123
175
229
124
208
112
135
121
123
150
150
172
176
174
195
123
284
170
150
123
150
170
170
172
174
225
172
206
150
207
176
186
150
197
171
150
167
112
207
121
112
236
150
220
170
150
150
215
194
210
172
136
194
158
264
209
121
176
121
208
158
181
237
130
147
194
218
137
176
112
177
139
112
211
172
170
284
112
171
208
121
112
205
123
194
123
226
112
121
160
128
172
167
167
214
208
219
156
236
150
150
171
171
137
184
167
150
250
112
212
150
178
250
208
167
121
278
150
179
112
208
121
174
208
256
202
201
181
137
121
202
159
158
121
187
176
174
150
181
132
192
202
194
112
168
167
147
121
178
170
206
123
147
177
177
212
112
147
112
210
170
123
121
150
235
150
150
208
112
112
258
172
171
167
208
211
172
205
167
170
212
115
135
184
150
201
206
123
137
123
250
167
210
159
150
203
150
112
112
192
171
194
208
115
195
218
208
172
194
170
232
158
187
171
167
112
112
203
170
205
178
160
172
233
112
123
240
121
229
208
150
208
171
205
172
195
150
225
237
194
214
177
198
232
171
219
123
208
136
194
123
150
150
121
150
224
253
201
208
112
167
172
210
171
112
176
112
112
158
209
170
239
112
176
220
259
165
237
150
253
112
170
136
121
167
171
170
228
251
135
271
147
123
123
176
172
228
112
194
172
187
187
231
167
121
112
193
174
121
115
208
204
174
203
167
186
121
112
208
176
186
150
206
165
252
171
170
136
150
147
195
231
124
178
150
232
212
171
207
220
210
170
208
181
150
121
181
194
150
181
150
170
167
150
179
164
217
258
181
121
253
165
217
112
189
121
150
135
137
195
137
172
112
150
205
274
150
123
131
208
158
150
173
121
137
250
208
115
167
128
150
233
152
208
112
137
153
112
167
150
201
121
263
172
112
150
237
263
121
164
171
112
150
198
234
121
181
182
196
172
136
158
220
220
231
112
208
253
171
172
112
172
195
164
171
202
135
185
174
159
167
202
168
208
150
124
158
174
233
206
165
135
167
187
121
150
131
186
150
208
245
208
121
171
216
150
229
121
121
147
176
112
202
124
200
174
150
160
135
112
112
150
150
240
250
194
150
130
161
139
184
170
174
194
211
208
172
172
205
123
223
214
193
174
245
201
175
200
177
165
139
171
203
186
275
124
171
112
206
208
193
218
214
207
146
165
124
172
137
202
175
137
170
150
208
212
201
230
186
194
136
210
135
112
165
112
121
181
194
172
176
112
121
130
228
130
194
181
206
171
112
170
215
170
136
219
226
172
150
121
175
167
250
172
193
208
123
208
171
130
223
112
226
196
170
112
112
201
165
220
216
202
193
160
135
193
231
167
176
150
167
177
181
150
181
208
219
121
208
230
130
123
202
112
156
130
121
186
208
272
205
150
196
171
174
170
250
223
190
228
136
190
170
203
171
170
220
195
121
242
123
171
123
112
150
112
189
266
231
186
147
196
172
143
208
202
228
143
204
201
213
181
130
167
181
202
123
228
145
243
174
171
176
150
135
171
123
112
121
172
128
208
170
223
170
212
238
147
112
172
205
170
177
164
135
150
112
209
164
150
205
136
115
175
158
160
219
243
170
112
194
210
112
216
123
272
172
112
203
136
167
112
157
121
150
226
181
160
130
123
165
232
199
150
150
167
165
208
192
208
121
172
203
212
167
196
150
159
193
152
170
213
136
194
112
176
170
215
112
150
158
150
187
171
147
223
147
193
207
121
184
176
137
123
143
171
112
171
150
193
171
177
240
278
175
220
139
208
170
177
121
121
170
159
150
112
112
121
189
112
121
121
187
195
211
112
136
170
167
112
170
136
186
225
253
172
150
112
233
220
218
194
150
177
172
170
171
187
178
190
150
194
112
172
164
121
181
208
147
228
208
170
208
136
210
181
112
184
243
121
170
186
227
165
172
189
171
124
229
177
112
203
150
186
121
112
112
112
194
192
166
212
170
237
282
207
121
172
150
121
233
195
150
170
121
202
135
208
172
212
136
112
201
124
172
170
187
236
172
178
218
112
189
121
186
219
146
115
160
174
124
150
123
182
208
112
167
112
115
164
112
150
121
156
212
208
135
124
150
190
112
212
123
208
156
226
205
150
210
170
175
226
172
208
208
130
172
210
209
171
177
121
217
193
192
150
239
112
150
187
170
194
201
172
187
172
179
219
181
144
152
165
194
229
202
150
115
187
112
135
184
194
150
112
161
205
137
176
147
150
162
150
205
167
150
150
171
196
123
112
176
208
112
194
208
212
174
177
175
171
112
168
176
181
212
233
172
159
150
123
202
172
121
150
159
150
255
150
205
210
231
196
156
172
121
150
112
121
232
164
194
121
121
194
172
186
112
150
150
181
171
176
150
123
164
223
150
167
166
167
150
170
223
136
150
176
167
174
218
112
170
246
150
171
182
171
167
213
167
167
320
123
135
112
150
150
250
150
189
167
115
123
115
176
201
121
115
112
147
112
150
181
172
121
124
187
112
130
121
250
243
150
144
176
194
115
121
193
150
112
112
121
112
172
172
121
181
112
121
203
135
233
193
166
124
176
112
202
210
186
112
177
193
193
156
165
124
121
194
130
235
208
156
193
147
208
150
112
194
226
150
177
156
239
243
210
150
203
158
237
123
192
135
231
186
170
229
112
136
174
150
187
232
172
176
158
186
215
137
172
208
112
202
150
235
137
172
136
112
172
228
261
195
121
130
192
150
244
201
150
112
193
220
121
165
241
172
112
193
115
171
195
115
176
278
123
160
150
147
131
203
144
194
302
201
112
302
292
188
279
150
171
112
225
150
264
124
212
112
147
220
112
208
147
150
254
226
121
170
215
171
172
218
217
112
175
181
112
121
239
202
158
170
121
231
152
172
121
150
175
150
167
167
349
121
189
112
228
150
201
176
208
170
146
121
193
128
167
172
235
121
167
170
181
121
233
167
136
211
237
220
184
112
167
150
274
135
146
176
115
170
121
175
194
202
193
226
176
137
150
237
147
164
171
167
237
150
112
121
181
177
135
121
170
195
255
176
146
159
121
201
150
137
172
207
171
150
184
172
150
121
121
170
172
186
237
186
175
147
150
115
147
121
220
174
228
244
112
192
150
150
194
137
194
137
162
217
150
136
121
167
152
172
237
135
172
227
203
195
193
208
210
210
274
201
255
172
150
172
150
170
150
112
271
208
150
243
121
208
112
186
172
128
236
136
121
172
231
158
171
121
121
219
181
150
123
112
168
191
161
186
159
150
237
208
226
170
150
150
137
210
232
172
171
194
137
176
121
159
167
150
112
194
165
150
167
150
112
121
170
150
150
194
123
226
143
192
115
212
176
210
121
112
150
147
150
137
206
172
168
123
150
170
123
261
112
171
233
225
115
214
194
159
112
123
121
182
216
204
188
208
209
224
160
174
171
121
156
213
174
150
171
123
112
200
220
173
208
121
240
187
212
192
147
115
165
231
220
204
237
185
194
193
177
150
115
263
150
137
263
244
176
112
150
208
150
172
203
212
150
150
208
121
258
208
203
112
121
220
172
323
174
193
150
171
165
150
194
170
187
250
121
112
186
208
182
194
150
121
172
233
115
182
123
164
167
176
170
195
177
239
159
195
233
121
202
171
135
212
112
181
193
207
245
167
128
112
255
124
167
112
181
229
194
121
123
121
202
177
190
208
150
186
162
171
205
170
219
170
121
226
259
123
275
115
136
123
194
150
231
193
130
135
177
170
208
143
121
112
240
174
207
242
150
164
121
217
150
241
229
194
123
112
165
121
150
156
159
213
159
181
150
231
181
181
162
208
194
177
149
121
170
225
167
150
112
236
115
150
150
172
274
150
172
112
165
172
187
250
171
186
112
121
150
121
176
208
150
276
165
112
160
198
112
208
239
123
176
172
150
194
265
121
167
135
195
171
179
150
220
115
193
197
208
231
172
205
208
202
232
174
172
192
135
201
231
112
123
121
181
177
181
128
170
112
181
150
156
171
167
185
137
150
135
167
167
112
150
150
208
179
240
172
121
181
179
266
112
123
167
123
208
123
179
176
171
195
226
121
170
147
112
231
150
208
228
181
167
112
225
210
121
121
231
112
136
205
175
112
136
173
181
181
170
195
112
194
172
181
208
208
150
193
112
208
112
176
121
209
222
210
112
130
150
221
167
208
170
255
170
171
233
193
121
167
121
208
186
237
150
112
172
147
172
208
121
121
121
171
123
243
150
150
150
150
250
170
240
123
202
150
171
294
171
208
238
112
228
181
130
112
201
171
218
196
212
150
228
150
150
186
112
123
213
181
150
218
193
167
147
250
215
228
112
206
121
208
172
150
159
194
254
121
121
208
175
150
112
150
160
165
203
172
208
202
121
212
147
208
112
270
231
181
193
135
165
165
233
202
204
250
170
172
115
238
112
202
112
234
123
171
250
194
207
160
165
184
195
184
186
228
124
195
217
170
210
242
150
195
171
179
159
150
219
201
121
112
240
170
187
210
150
135
195
150
175
136
196
201
121
121
135
128
201
171
202
228
121
167
201
115
205
121
211
177
121
167
181
167
121
136
263
237
209
121
203
174
121
112
150
167
137
238
172
121
172
215
158
150
226
150
135
121
215
186
205
150
170
229
135
201
112
112
112
179
226
176
137
165
150
168
159
210
185
193
195
208
147
167
195
212
167
211
112
228
137
131
201
187
123
201
202
233
181
115
170
171
147
112
121
193
208
209
193
150
209
170
159
121
168
212
150
294
150
249
170
181
226
167
181
202
150
181
150
195
136
150
121
220
194
170
234
135
250
214
179
165
164
203
156
228
150
208
243
212
208
231
121
229
121
167
150
229
209
171
232
136
168
112
165
123
203
135
150
156
171
192
186
156
186
165
121
112
208
203
181
225
204
176
160
174
240
224
121
112
165
121
208
171
233
193
240
171
123
194
210
198
165
121
232
121
156
121
171
165
135
150
112
143
158
121
121
112
210
112
187
150
150
276
175
161
112
123
112
121
137
150
202
238
186
165
172
137
121
174
255
115
195
115
159
208
136
112
137
167
187
171
201
210
194
112
150
181
150
150
112
226
167
177
112
123
150
150
172
171
194
210
112
112
176
172
121
194
115
208
147
208
150
223
174
136
208
112
121
210
212
124
128
167
171
205
178
150
187
112
177
198
177
212
112
137
179
228
172
177
172
112
128
184
150
150
150
194
136
246
228
212
121
263
255
159
170
302
170
123
208
212
147
242
150
150
159
208
147
205
194
150
214
150
150
136
123
228
256
172
147
121
123
172
150
210
219
182
121
181
231
112
262
208
186
170
202
212
238
232
170
302
240
172
150
167
176
135
158
195
112
210
218
208
172
243
232
227
262
165
220
231
236
208
121
158
171
208
136
170
150
193
208
200
186
132
263
147
167
130
235
181
144
176
204
239
150
150
172
150
208
112
195
196
136
187
171
158
238
136
273
231
121
172
121
150
275
171
171
112
123
112
167
147
172
208
187
226
208
181
167
160
112
150
160
220
208
172
194
170
182
150
231
152
170
136
220
176
112
210
165
172
112
180
170
165
112
224
128
176
112
208
168
150
211
214
150
185
209
112
135
121
160
121
208
195
150
112
150
115
150
208
172
123
164
236
123
150
229
237
150
176
152
137
137
137
150
203
115
208
150
112
213
130
172
228
182
121
202
124
150
194
176
150
150
195
170
172
196
216
204
172
208
177
192
175
219
164
158
203
121
159
208
236
199
143
135
150
135
112
112
186
231
150
207
177
208
171
121
165
181
181
231
187
167
171
205
237
230
198
214
167
112
186
112
152
123
241
171
170
181
208
242
202
137
172
177
176
150
217
243
184
175
123
180
193
244
215
121
150
112
170
150
194
146
189
233
190
121
121
208
205
243
121
208
232
208
162
170
147
167
237
181
201
205
170
211
156
112
210
219
219
160
172
124
158
165
225
167
170
150
262
121
188
265
165
136
209
171
210
192
181
147
300
172
167
202
201
152
210
302
249
167
226
209
186
150
168
208
112
112
208
112
150
225
121
208
112
179
208
172
112
208
137
123
171
150
208
229
167
231
170
227
212
193
165
150
195
147
136
121
121
123
152
172
172
208
239
112
121
233
219
194
207
244
255
192
150
147
150
195
171
150
165
137
237
165
229
159
121
150
121
150
212
150
112
150
207
174
172
137
172
167
208
170
302
121
219
186
228
196
112
172
130
150
210
164
150
257
115
115
170
163
121
229
150
152
150
121
164
179
112
163
170
195
112
172
135
172
128
172
121
167
150
208
203
136
150
195
187
238
225
167
112
171
144
121
208
277
159
135
123
150
232
112
174
213
176
150
150
186
150
172
131
115
176
207
195
176
123
112
112
226
250
150
136
121
217
202
164
181
302
203
206
260
150
150
210
229
123
150
212
121
147
150
112
150
176
171
123
203
203
136
202
159
165
150
181
150
189
112
112
186
121
232
202
121
112
226
150
121
135
121
160
121
159
150
150
189
130
150
255
121
160
184
112
168
121
158
112
181
210
205
158
136
167
161
135
170
147
171
186
150
112
150
139
112
167
172
143
164
150
179
220
170
228
220
208
137
263
165
124
196
211
150
112
224
165
112
121
150
187
121
178
181
233
259
208
205
186
187
158
167
147
112
112
150
176
137
150
255
194
167
239
162
112
170
150
150
170
123
167
150
212
203
159
152
150
222
141
208
181
121
194
193
150
231
112
212
215
112
228
167
130
121
150
193
172
202
199
210
208
150
208
112
212
135
170
194
184
112
167
231
165
203
223
208
194
206
194
156
208
150
121
123
144
195
171
229
248
150
172
167
226
195
112
205
208
150
187
150
123
150
280
176
121
219
205
121
115
189
208
150
193
202
172
210
181
123
208
167
195
208
217
150
210
135
112
112
186
170
176
150
208
150
195
150
121
187
150
302
112
176
201
250
209
179
112
165
210
170
195
112
186
150
112
112
208
115
187
112
115
150
136
194
158
170
115
124
124
124
205
112
259
233
171
208
112
147
144
252
255
150
121
178
112
150
112
186
121
150
115
245
210
172
172
159
121
123
121
247
174
121
165
241
176
208
112
150
112
121
150
174
208
192
150
172
244
255
150
165
186
176
193
196
121
156
176
164
112
121
174
167
259
152
115
211
210
171
150
137
128
121
143
208
172
112
255
160
255
202
170
230
206
150
187
196
175
121
254
150
177
228
160
204
135
256
171
208
250
150
225
137
181
204
186
227
112
171
121
150
112
121
147
187
201
136
160
228
112
218
201
204
112
112
226
170
152
208
208
167
206
172
170
208
112
208
192
215
171
121
187
201
150
179
159
170
228
112
150
121
123
150
112
205
112
112
186
150
228
172
150
210
212
185
112
208
181
170
201
208
150
112
121
165
150
172
121
227
181
278
121
194
112
208
150
123
147
121
150
112
219
220
135
181
172
208
170
237
208
171
157
165
121
194
170
167
150
171
181
171
225
121
136
220
187
227
137
186
150
123
136
157
156
166
212
172
150
112
167
226
135
167
201
228
208
181
228
147
168
193
121
194
150
208
150
136
150
181
210
181
176
206
181
150
136
121
145
208
150
208
208
167
193
127
131
208
185
203
192
172
275
154
239
171
271
243
176
167
152
203
170
158
212
297
147
172
121
201
175
172
206
150
225
201
165
199
195
209
121
170
176
150
228
209
187
234
172
171
135
144
198
144
203
112
150
185
228
203
112
112
165
121
170
255
263
194
167
175
172
121
170
112
121
152
147
208
207
175
197
212
208
112
158
112
150
121
121
177
258
208
195
174
167
267
205
210
150
167
176
188
123
225
198
112
165
167
121
190
201
228
137
150
302
195
229
198
168
201
239
233
150
208
170
210
172
228
194
112
181
203
181
255
150
194
210
211
233
150
121
121
237
186
123
170
121
137
121
150
150
159
172
150
176
167
240
167
208
193
172
121
150
208
170
231
135
186
171
219
159
158
112
128
172
121
165
137
124
162
150
234
206
181
121
165
112
193
171
167
165
160
150
112
217
187
167
167
150
184
165
143
121
242
112
123
195
202
171
202
121
121
215
186
172
112
172
121
181
251
202
112
278
182
130
192
136
121
172
170
219
201
165
136
121
171
189
208
250
233
178
167
208
175
225
112
176
136
150
226
252
121
253
194
181
130
167
150
192
150
167
171
112
123
147
150
170
176
150
112
112
123
208
176
160
170
167
179
187
150
172
217
150
112
240
112
150
123
121
171
115
121
247
135
229
208
121
194
187
203
203
123
210
112
218
112
115
150
208
187
257
195
200
123
121
213
158
112
217
112
130
164
194
219
194
181
136
215
185
171
121
147
181
181
214
121
281
186
240
202
220
257
172
208
194
137
170
171
158
227
181
237
237
123
150
147
121
112
186
150
167
115
208
147
150
176
174
121
167
174
170
170
121
207
121
208
137
177
181
136
186
161
172
202
121
172
143
123
150
112
250
233
121
212
208
124
124
121
150
112
147
225
172
124
167
209
245
112
233
218
121
202
121
190
229
172
121
112
223
152
139
217
228
172
147
210
195
208
170
150
257
195
205
121
172
231
233
194
179
217
150
124
112
158
157
112
112
123
171
137
171
150
170
112
150
172
170
121
121
123
115
167
248
167
177
170
182
150
208
193
193
187
198
112
170
202
205
225
137
194
220
147
278
192
172
137
150
228
175
147
203
225
150
112
167
174
190
170
228
219
165
208
160
228
185
112
137
195
173
158
128
205
302
164
231
121
144
121
141
217
115
216
179
168
152
150
181
170
135
230
160
213
208
215
162
167
121
276
150
171
115
181
220
204
112
168
208
150
112
208
177
250
178
279
239
150
226
241
213
112
112
208
170
202
128
165
231
150
157
208
172
193
214
121
112
186
170
214
115
218
212
112
215
112
150
121
185
190
201
112
242
150
167
194
136
121
115
181
172
225
237
124
174
121
187
121
192
150
201
150
150
250
170
172
254
172
150
147
172
150
150
208
163
115
175
147
150
123
170
165
233
200
178
172
135
189
112
121
170
165
172
177
121
172
112
175
150
150
208
115
156
136
152
236
112
168
172
121
201
112
172
233
136
176
150
143
137
112
150
150
152
212
212
216
121
121
112
135
184
121
172
218
175
194
218
195
121
121
165
150
228
165
194
159
150
187
171
172
219
228
174
210
130
189
112
135
239
220
167
237
150
112
164
176
213
123
167
156
194
210
181
170
121
276
203
112
135
175
192
171
231
123
263
178
208
194
170
121
121
160
112
143
150
208
121
131
112
198
218
210
239
144
165
259
184
150
159
121
237
232
150
150
205
150
156
193
150
208
213
150
121
193
150
198
121
150
150
158
137
195
231
170
135
175
135
121
208
123
217
208
181
165
170
219
203
156
150
167
150
150
206
121
224
214
172
165
210
276
136
179
128
158
115
112
172
210
177
150
130
115
200
150
181
209
112
218
186
167
210
112
137
150
225
121
150
203
165
184
147
208
171
150
230
193
150
143
237
112
146
150
115
143
112
170
156
112
227
181
171
121
190
170
112
150
231
172
208
172
202
115
159
239
112
181
186
158
210
299
193
121
243
121
208
176
159
181
171
181
112
196
179
165
238
181
170
172
165
225
208
170
208
203
135
160
112
121
112
123
112
124
150
215
147
147
195
112
112
167
150
170
213
146
172
177
121
112
208
208
123
195
112
219
121
112
171
150
255
170
213
150
112
150
205
123
193
137
216
124
115
185
202
121
276
112
150
170
150
228
112
194
121
172
136
135
112
158
147
150
135
197
170
257
160
218
150
237
121
165
170
180
220
160
202
181
202
112
174
177
187
112
165
242
128
121
263
128
212
279
193
217
167
121
181
212
163
178
112
255
181
254
123
203
185
144
159
216
170
174
220
229
177
208
170
150
202
150
215
128
171
150
172
208
121
150
156
150
150
139
121
265
150
255
112
157
171
135
171
202
121
147
158
112
167
135
208
150
112
150
202
112
121
135
150
172
189
176
112
167
144
171
220
176
228
121
112
112
112
121
217
167
218
192
233
167
208
150
182
112
172
136
176
147
150
112
250
171
208
136
212
143
208
204
202
229
216
112
150
208
178
205
150
112
150
112
137
167
193
159
220
137
143
233
167
172
112
150
171
150
196
121
228
161
136
150
115
171
170
193
150
172
170
150
172
205
164
150
167
121
192
228
171
216
150
171
150
167
234
219
192
220
176
200
227
135
220
229
150
121
150
255
177
232
208
174
171
123
172
177
174
181
186
181
156
112
208
124
208
237
208
136
229
170
123
121
195
235
201
217
170
112
240
174
167
156
167
176
181
175
167
155
150
175
172
112
181
150
250
124
235
195
201
217
208
171
150
211
164
182
159
121
229
171
208
236
123
112
112
150
137
167
121
181
232
208
172
176
195
171
191
208
206
243
152
112
150
150
170
150
121
208
194
168
208
243
193
168
121
193
123
136
156
234
150
165
220
170
150
176
229
215
160
171
150
201
127
237
150
121
137
223
150
193
112
159
208
164
172
227
121
135
193
217
213
221
208
171
208
112
189
203
196
177
275
172
165
237
257
220
150
187
186
208
170
195
211
150
121
150
208
124
112
121
112
170
184
201
242
121
167
195
115
167
167
195
135
209
224
210
253
170
202
130
233
167
210
243
150
194
136
237
121
159
135
171
172
112
257
136
208
207
210
208
170
137
137
127
172
208
208
185
167
147
121
172
150
249
219
208
167
139
171
167
150
171
181
215
171
207
150
250
130
237
165
170
186
229
197
165
242
123
171
135
121
194
121
205
204
150
194
150
123
121
171
208
194
112
201
176
172
121
150
194
193
186
171
170
171
123
121
193
112
176
228
210
112
201
121
181
235
112
123
186
238
263
172
165
223
194
150
198
157
172
179
161
204
121
194
212
194
170
150
159
150
208
139
171
136
172
208
167
243
168
181
195
202
160
150
121
175
112
150
264
263
150
136
150
123
167
150
256
172
121
243
112
170
253
156
194
163
150
229
229
187
250
208
150
112
208
196
124
167
193
250
150
172
150
238
194
165
217
193
150
121
165
172
165
147
171
112
150
112
210
302
145
181
121
220
121
187
170
150
172
229
228
170
172
177
112
212
124
217
143
147
170
173
165
150
123
208
198
203
210
135
171
237
137
197
167
170
170
225
170
219
212
218
278
112
176
150
174
202
208
171
150
172
123
250
150
136
115
121
212
187
172
165
202
158
170
112
150
208
201
158
299
201
203
112
177
121
121
210
177
193
208
264
121
208
112
195
150
212
150
112
231
112
208
212
112
177
176
208
208
121
241
196
150
121
209
176
217
121
177
130
171
229
168
171
112
172
112
210
165
121
228
167
282
222
212
208
201
123
112
167
212
208
207
195
205
167
250
121
121
121
143
172
170
249
150
228
112
112
124
159
170
208
121
232
283
212
150
238
147
196
123
121
208
208
150
112
150
186
115
202
181
135
181
121
208
212
135
170
181
170
229
112
150
143
112
135
167
226
147
206
220
220
171
150
226
167
171
112
150
150
178
259
181
139
123
276
157
173
135
228
176
167
150
235
167
130
112
167
171
121
189
150
123
159
187
236
209
278
235
200
192
150
181
121
112
121
208
215
121
150
167
272
176
208
121
150
167
194
136
121
179
150
231
194
228
232
259
160
239
205
165
150
150
150
220
239
202
121
121
150
226
208
160
121
137
136
226
112
136
131
112
112
160
207
135
121
195
170
220
172
170
171
167
112
112
150
150
181
150
171
230
195
112
150
186
136
177
112
150
224
150
150
201
194
167
121
115
112
232
121
121
263
112
112
158
181
167
176
150
112
174
274
135
208
207
215
123
208
194
112
121
150
172
237
179
112
195
139
194
202
226
231
210
150
228
150
150
112
255
176
213
150
112
208
150
150
186
175
192
121
164
115
137
195
112
179
186
171
172
112
150
156
204
226
132
203
158
208
160
167
121
172
226
121
208
195
195
258
181
150
214
210
208
167
112
181
189
159
172
202
226
121
208
167
150
253
173
186
121
121
172
124
150
176
195
112
218
194
112
150
201
208
216
112
208
274
147
242
188
123
173
192
171
121
112
123
233
112
208
205
208
186
208
136
208
196
121
181
203
112
147
176
187
170
201
171
171
121
112
139
208
135
171
226
159
276
208
219
167
171
115
171
256
208
156
264
226
135
208
239
208
194
137
121
121
156
121
255
171
167
239
167
212
136
150
172
210
121
194
176
150
193
123
296
121
150
208
212
121
170
237
272
121
137
194
150
196
217
121
150
112
258
208
150
210
195
121
187
201
150
186
131
167
112
175
167
207
112
207
150
123
150
202
150
172
167
139
201
278
167
235
228
132
174
150
177
208
194
192
186
167
172
160
147
167
195
159
165
150
150
164
112
171
159
150
281
184
185
158
112
194
150
150
232
172
112
212
115
239
225
112
174
237
257
212
212
150
150
150
124
228
124
123
121
170
263
175
121
123
123
212
147
112
208
121
123
167
135
172
121
167
150
165
165
112
193
210
175
150
187
263
187
187
158
202
179
194
112
227
210
131
229
170
164
121
197
150
244
150
158
244
212
225
158
150
150
167
257
195
191
112
172
160
121
181
189
208
237
250
172
233
121
121
237
112
158
167
208
121
112
208
208
170
112
231
112
167
112
112
172
150
170
121
170
208
228
147
150
208
167
150
187
172
208
136
194
171
192
162
167
165
123
130
153
147
165
121
112
212
167
226
193
168
192
194
112
172
195
112
167
112
112
181
201
167
172
189
203
193
121
124
121
144
112
112
202
177
186
150
210
115
187
227
237
208
135
121
250
174
150
208
176
170
203
265
168
168
124
205
208
194
128
115
121
112
170
121
150
150
208
201
193
121
150
172
194
193
232
259
208
112
228
181
194
121
150
186
123
201
222
186
112
259
239
159
123
167
182
121
112
217
121
186
150
186
212
223
147
165
216
193
152
208
177
124
112
130
112
208
206
121
171
174
182
225
165
257
172
182
150
208
274
158
150
208
181
186
123
123
150
112
195
112
172
194
172
150
233
186
208
193
165
237
170
217
112
171
150
233
204
165
164
112
167
214
171
228
208
220
193
219
218
228
135
237
150
172
112
150
214
196
136
235
150
208
278
159
150
172
170
123
161
194
186
193
150
194
187
150
143
150
150
240
135
150
167
158
157
112
193
150
181
179
167
165
137
239
135
228
212
115
150
239
204
231
172
216
171
175
170
135
176
232
210
121
210
193
208
217
150
150
194
136
170
172
205
150
121
171
207
171
229
212
207
136
167
194
170
171
112
231
171
121
193
216
302
112
147
121
181
160
195
174
147
170
170
176
172
299
208
167
255
239
121
195
181
167
159
171
186
112
226
233
158
150
202
172
136
193
152
230
221
135
165
213
181
177
123
172
172
194
255
166
172
171
170
210
220
170
112
172
226
263
167
112
150
177
172
112
213
186
147
172
121
188
150
172
172
210
121
207
121
171
160
172
121
112
112
150
191
174
112
208
115
177
121
195
150
174
158
244
172
158
172
202
193
310
150
123
181
192
186
121
150
172
226
231
237
203
135
121
112
208
231
210
208
172
208
239
236
150
121
136
172
150
150
195
112
172
208
135
172
150
221
121
147
176
171
160
172
164
172
164
208
228
137
214
181
172
194
172
170
150
194
257
172
121
210
239
194
112
112
220
236
167
217
195
139
209
150
112
167
112
150
237
210
215
123
208
181
167
164
192
112
208
202
152
171
165
227
150
237
168
259
112
186
228
219
150
172
170
112
115
210
112
171
208
167
276
174
150
167
210
212
150
112
135
172
208
171
194
121
235
194
170
165
177
172
212
115
112
172
150
196
234
167
112
237
207
186
217
172
161
150
172
172
167
237
121
136
243
123
150
112
112
198
130
121
150
123
167
150
170
195
112
208
177
170
162
265
167
123
152
174
150
240
123
201
112
158
176
167
145
150
228
121
208
170
172
112
210
193
302
208
150
121
192
208
121
237
177
229
195
172
208
172
171
193
112
209
218
160
208
171
204
228
112
167
171
170
137
228
112
112
186
194
265
147
123
193
208
187
115
217
256
208
181
172
150
172
230
158
152
171
194
254
150
228
128
257
187
186
233
208
150
167
121
150
124
194
170
112
256
172
150
208
167
265
112
121
170
229
272
165
150
227
233
228
121
150
161
194
150
115
123
150
172
121
224
136
176
150
221
112
181
112
121
170
172
115
237
177
233
186
136
112
195
150
302
121
193
167
208
181
176
172
208
225
112
200
121
147
121
235
255
121
192
121
218
208
297
170
176
172
170
147
208
212
112
170
172
176
183
123
153
194
137
112
171
253
208
208
121
121
193
237
195
150
228
121
171
242
181
150
208
121
123
150
236
176
170
210
137
150
172
236
112
210
174
121
171
137
112
136
121
193
112
150
123
152
208
150
159
135
168
112
237
123
165
181
150
150
172
121
172
173
115
112
150
150
123
208
121
121
150
112
170
174
194
150
237
172
192
171
112
112
136
186
112
121
150
231
250
181
146
225
150
137
231
123
135
213
219
167
187
112
170
186
168
210
112
206
167
150
241
167
210
240
212
168
150
150
136
121
172
112
167
147
150
242
121
121
112
150
208
150
208
150
121
194
170
121
174
194
112
150
194
112
176
121
220
123
150
150
212
121
170
229
226
203
249
229
170
187
193
152
135
137
190
112
207
165
121
210
121
208
115
115
193
157
239
150
189
181
167
150
186
150
121
194
150
150
112
165
192
167
297
147
228
177
165
147
203
121
250
124
176
208
194
187
112
156
123
181
150
121
112
172
208
150
181
167
250
112
208
112
123
121
193
150
208
186
167
121
167
123
210
128
170
208
176
170
212
237
121
208
123
228
150
177
239
165
150
176
150
152
112
135
176
112
225
210
150
176
228
212
158
276
212
150
165
170
112
136
195
220
121
150
158
167
171
203
172
158
128
228
121
152
232
150
174
215
195
112
121
183
233
112
123
112
242
208
112
171
215
137
177
150
174
196
210
167
250
208
167
167
193
150
150
165
165
236
123
121
150
208
137
171
121
170
121
257
150
193
174
176
150
170
216
187
263
115
175
208
135
211
176
186
232
121
112
181
176
150
112
121
167
150
158
193
237
178
216
150
172
128
244
178
211
208
171
212
195
168
167
135
167
187
121
152
150
195
150
208
145
195
137
158
112
186
112
112
171
207
170
264
212
121
212
112
194
150
112
192
250
112
150
203
150
170
150
150
146
194
193
223
121
259
208
212
225
229
157
175
177
121
193
170
112
184
161
216
112
112
158
203
112
150
201
212
136
217
187
202
239
123
222
238
257
241
302
128
228
121
112
121
232
212
219
184
208
181
112
189
208
177
156
112
181
150
202
170
112
193
229
188
172
172
231
200
171
165
208
112
196
219
130
128
171
158
176
349
181
112
135
181
168
189
123
121
150
172
112
112
172
112
194
175
207
302
156
240
208
297
123
208
136
150
243
236
244
150
225
121
150
172
181
171
203
158
123
210
112
159
112
172
193
112
228
150
150
150
210
159
121
121
212
150
136
250
150
158
157
201
123
150
121
228
150
167
181
112
112
112
174
208
171
209
240
121
150
135
168
177
208
236
167
177
176
208
201
172
150
208
150
135
150
121
237
205
172
278
123
165
181
186
150
193
216
170
121
231
253
208
302
158
178
196
194
170
112
121
182
160
112
176
176
121
210
144
123
299
177
172
228
208
128
210
170
167
198
186
236
174
181
208
240
181
228
212
150
208
167
196
203
112
150
172
150
150
170
193
150
171
136
229
150
207
170
187
112
217
170
112
164
202
170
177
198
194
195
152
112
112
170
243
112
172
167
112
156
121
170
208
112
147
170
121
215
137
121
135
112
121
203
212
128
150
171
214
150
136
150
170
187
150
164
210
172
150
228
123
209
123
208
220
158
160
112
172
164
121
112
150
150
167
170
154
202
202
210
150
238
199
172
121
209
189
208
203
170
150
203
260
208
210
167
150
150
112
121
208
208
228
203
167
121
112
112
165
167
112
121
171
162
150
136
137
208
172
112
150
230
172
112
210
112
263
112
263
186
144
175
123
146
195
194
240
112
150
121
194
167
115
170
226
112
228
192
181
121
150
121
208
174
208
112
186
172
208
228
228
236
170
208
150
171
112
205
171
150
204
121
121
112
121
158
187
150
172
150
121
170
214
228
208
164
193
205
150
172
112
115
150
210
121
278
164
115
208
170
112
128
181
184
178
195
124
112
170
115
171
152
121
187
172
195
121
172
112
150
208
121
176
112
121
168
186
193
165
181
112
121
135
164
150
172
167
201
165
121
228
121
112
208
158
213
121
123
228
170
167
150
212
170
150
150
212
215
217
112
121
145
219
229
176
112
143
207
246
194
123
121
112
208
237
208
299
190
150
165
112
264
165
204
170
170
121
208
198
150
150
170
150
179
187
136
150
184
234
208
208
218
123
233
167
172
208
229
123
192
136
159
194
152
150
189
237
123
255
245
150
167
112
150
207
171
137
121
207
112
112
135
150
232
264
121
112
275
270
207
171
214
189
235
124
182
214
112
250
232
150
187
135
193
156
150
150
156
150
196
123
228
208
172
165
167
302
208
193
212
209
123
165
136
165
181
210
201
112
184
175
202
233
147
121
112
186
150
172
237
167
226
171
196
150
165
201
172
115
193
208
121
178
218
170
135
207
150
121
195
121
147
174
201
112
112
160
194
112
167
170
225
250
181
112
186
121
202
121
228
241
194
150
123
137
112
208
171
172
187
181
205
121
172
172
171
172
198
166
156
187
207
186
112
150
208
172
123
150
121
201
121
214
193
150
112
194
207
219
147
194
194
225
121
121
112
121
112
156
213
208
150
144
208
112
112
130
135
198
121
150
152
194
121
143
147
181
123
112
121
156
165
150
136
167
176
171
112
150
193
170
202
167
112
201
167
217
195
208
170
172
115
186
205
263
160
194
165
112
150
143
150
181
172
121
194
112
121
165
121
150
242
181
171
171
150
201
112
239
121
208
150
158
218
208
135
178
194
233
205
112
177
206
174
171
172
121
150
170
123
150
181
121
121
112
137
302
237
150
172
112
150
181
170
195
194
121
182
152
150
176
170
208
176
208
121
187
198
112
234
224
170
121
170
170
189
232
123
184
135
211
208
159
221
237
170
144
214
150
194
195
150
228
248
159
147
150
229
164
194
208
123
208
243
150
157
150
171
137
196
209
187
264
150
121
112
210
226
156
217
181
121
194
204
135
184
176
165
121
131
124
124
128
177
203
112
130
130
112
150
189
172
194
195
210
208
228
211
168
172
150
158
121
112
236
186
208
121
112
194
266
219
302
172
171
193
205
184
208
207
181
121
152
212
181
165
167
201
228
112
167
167
164
115
182
170
150
226
194
193
121
147
150
192
181
187
210
201
123
172
218
121
202
181
150
171
112
205
167
112
208
164
171
201
157
276
194
172
115
210
226
112
210
174
195
121
239
112
130
152
167
177
172
212
112
181
182
123
263
150
171
237
165
171
208
160
159
188
112
150
172
171
170
112
212
173
203
172
170
158
167
137
121
112
170
193
146
195
239
150
214
150
194
164
174
136
121
147
112
171
170
112
150
112
270
150
112
192
112
176
167
150
171
147
174
226
210
228
181
276
228
150
121
195
208
167
171
115
150
212
165
123
112
131
263
204
170
112
181
172
210
150
219
121
158
112
267
158
121
185
170
208
237
158
121
150
131
112
160
255
150
171
193
181
123
158
186
136
187
210
170
188
255
112
222
123
150
112
167
160
124
225
123
112
278
228
112
172
167
179
272
112
150
225
189
176
150
208
165
223
217
112
160
165
150
228
112
196
177
156
167
187
193
214
158
172
186
112
150
121
210
237
245
112
112
208
186
208
281
243
121
150
112
150
263
144
150
172
112
112
208
121
121
194
112
167
194
137
172
123
112
170
165
130
121
170
193
217
164
184
112
232
150
176
212
167
112
221
121
170
112
150
152
203
276
210
147
270
258
171
170
201
150
147
220
167
150
245
223
225
121
228
181
112
194
176
177
121
210
228
202
150
136
237
172
231
147
121
237
208
156
128
121
172
194
112
143
150
158
236
150
250
150
187
181
112
112
235
192
150
340
150
182
112
226
213
167
131
150
194
115
121
161
150
165
123
240
115
159
152
172
209
112
157
137
150
237
112
121
208
208
211
121
177
150
167
194
170
212
175
172
170
121
237
150
172
201
263
168
218
150
150
194
112
240
172
200
112
172
195
115
135
207
194
130
112
147
208
202
271
239
174
165
193
208
150
281
112
150
168
128
150
208
112
156
236
237
297
172
243
208
203
171
190
231
170
217
156
171
226
136
249
150
215
193
147
178
208
121
121
194
208
123
112
150
198
184
196
172
172
135
167
237
236
112
112
172
195
195
152
156
128
168
136
150
226
172
152
121
147
176
112
132
187
112
112
203
219
168
147
270
150
245
220
121
243
208
167
121
181
167
164
225
203
171
170
121
218
172
152
204
186
170
160
212
179
231
193
135
236
152
176
152
150
123
150
208
242
212
208
235
208
171
150
112
167
167
150
150
121
208
150
204
112
164
121
112
201
208
172
172
172
121
174
208
194
135
236
231
165
123
123
167
193
112
112
167
112
137
252
187
237
123
112
115
150
150
171
168
253
186
160
208
242
178
112
150
150
202
170
183
150
174
137
121
202
208
112
112
203
181
170
242
115
208
150
164
121
208
150
278
187
181
130
177
172
176
128
112
195
137
302
167
112
171
159
208
207
171
171
153
121
175
193
167
218
194
150
121
112
192
112
176
196
112
123
137
187
220
172
146
121
150
150
246
228
150
112
130
193
250
157
112
150
194
128
207
218
194
203
170
217
112
150
123
217
172
208
255
274
159
176
150
176
187
219
112
208
150
206
208
135
212
160
165
147
150
193
167
210
208
150
112
150
173
195
112
172
208
229
171
212
207
112
181
208
156
156
121
121
228
123
243
150
208
176
128
164
152
165
172
160
250
150
194
147
194
187
150
150
205
171
158
150
195
150
178
186
192
112
115
208
218
175
207
237
171
121
263
147
208
156
136
115
174
211
121
176
176
195
112
210
123
165
207
112
165
112
172
115
167
150
207
128
152
112
243
123
187
112
121
167
112
121
170
121
158
150
172
150
123
150
112
171
123
112
210
176
228
158
150
171
123
171
189
121
136
112
179
255
294
112
208
246
250
112
112
121
164
202
208
174
159
158
181
226
150
171
135
194
121
112
112
150
239
193
253
121
130
150
112
121
112
194
135
150
112
187
150
208
195
123
167
112
159
208
165
121
167
121
167
212
216
150
121
213
123
228
172
150
181
231
150
170
165
208
147
172
121
150
274
210
150
171
172
150
172
181
121
208
135
165
175
165
208
137
167
194
112
181
193
172
150
181
150
177
171
147
112
176
168
172
237
208
143
165
121
263
232
112
210
208
202
150
121
112
208
112
121
305
190
255
218
150
150
123
207
187
136
172
137
137
208
199
165
181
291
208
121
238
123
171
205
144
167
211
157
239
189
207
213
193
226
211
121
208
194
171
115
231
217
167
242
194
177
160
194
123
171
210
208
284
210
112
164
167
150
176
187
147
123
193
208
121
186
220
112
228
112
168
218
112
193
204
186
112
115
212
172
150
165
210
228
214
167
112
172
131
165
112
123
208
299
112
121
128
121
147
218
121
172
189
208
121
212
121
208
208
171
168
229
150
189
179
170
213
152
171
167
167
208
143
170
123
201
121
150
200
135
220
210
150
193
135
158
176
172
158
135
194
193
181
150
242
167
112
165
170
165
137
150
150
193
135
150
150
210
203
121
150
150
164
228
156
219
112
135
170
210
194
210
112
229
202
172
208
213
112
123
150
171
158
193
228
115
208
136
193
240
194
150
150
187
243
195
187
150
170
195
208
259
176
167
150
181
150
196
181
297
168
152
172
172
167
170
170
193
186
167
203
158
135
152
147
218
208
202
112
174
194
181
150
203
115
112
147
192
187
231
175
237
135
208
123
187
121
156
194
167
112
170
150
121
167
165
193
258
237
150
156
177
219
206
227
201
112
128
112
194
198
199
194
208
212
172
121
181
202
170
135
112
176
178
150
165
112
172
228
171
176
172
112
150
202
212
208
195
170
121
167
112
121
176
240
225
220
143
218
228
167
209
123
167
208
176
121
136
150
150
254
121
121
123
172
115
172
172
150
150
212
208
193
112
147
146
123
218
193
181
112
177
187
210
143
121
137
170
174
167
171
150
199
158
112
172
171
208
181
170
228
208
231
156
124
147
112
239
181
121
172
195
164
172
170
121
123
150
171
203
147
112
228
150
123
179
112
165
172
170
201
194
172
208
212
121
150
193
172
112
177
167
167
130
152
237
136
176
165
150
150
112
210
172
171
171
239
234
206
226
167
205
150
121
167
176
171
259
188
255
176
250
121
152
237
121
123
199
158
121
112
228
112
150
250
197
112
194
115
208
112
121
124
250
186
250
264
181
203
150
203
115
152
162
220
170
160
159
208
130
115
121
115
257
171
164
171
112
194
156
123
239
181
121
172
167
128
115
237
171
121
234
112
145
208
150
165
112
121
170
172
130
112
186
167
172
112
208
121
112
171
240
145
168
121
187
123
244
170
202
208
193
121
218
210
195
112
135
136
208
150
176
233
167
177
186
276
112
202
265
172
199
172
160
172
239
206
158
112
170
124
150
205
208
172
121
228
112
123
165
147
147
170
194
150
170
249
112
121
213
165
123
150
123
150
128
219
159
181
178
136
167
112
184
193
223
194
170
150
202
302
216
250
210
112
228
201
121
112
160
160
136
152
136
170
171
202
150
165
137
212
150
172
176
121
112
150
236
150
235
192
147
208
123
206
225
150
121
150
150
158
208
147
121
150
150
112
207
150
115
121
189
181
112
121
150
172
244
179
130
162
212
239
186
208
112
208
208
195
181
261
167
203
144
135
150
150
168
160
186
162
172
170
212
226
297
187
112
175
123
135
112
167
112
136
231
265
160
231
201
121
136
137
208
194
218
208
228
194
239
144
222
150
181
255
167
228
194
297
136
167
194
121
147
193
171
123
136
112
223
112
112
150
121
224
193
123
208
193
229
158
263
203
167
147
216
167
112
227
302
182
159
179
150
171
121
167
123
136
170
153
203
189
121
124
187
150
215
225
112
171
176
150
170
237
186
130
172
256
232
171
229
199
212
171
214
202
213
210
255
156
150
270
240
186
121
164
121
193
112
194
112
187
112
112
212
202
121
121
112
128
121
187
172
170
112
160
121
263
176
150
208
150
278
252
262
112
196
210
190
243
194
171
130
150
112
135
231
239
165
171
194
123
203
156
197
172
228
167
165
150
112
147
146
150
121
143
170
181
112
167
201
121
176
128
194
121
112
208
145
173
290
228
150
228
150
115
171
150
172
200
150
150
203
156
159
208
208
264
112
208
176
202
182
167
220
167
194
194
175
128
193
112
150
189
187
176
146
171
165
165
237
150
150
250
150
203
181
150
112
208
250
179
208
112
112
207
205
223
226
202
167
208
165
121
173
187
161
255
112
186
150
150
165
147
167
144
215
121
208
228
121
144
208
261
202
193
198
254
208
150
112
225
150
137
181
167
204
170
165
170
170
150
112
150
112
226
150
194
143
115
115
250
121
128
172
112
152
150
177
121
170
203
190
206
190
135
240
186
172
235
115
165
186
302
167
170
226
144
136
193
112
112
194
192
167
349
201
165
215
167
121
172
124
123
157
257
193
195
150
179
112
181
136
194
150
112
121
171
170
150
150
150
239
115
237
167
172
187
201
167
217
172
150
150
181
112
176
194
145
225
150
203
135
150
158
255
183
171
203
112
302
208
210
228
167
302
112
213
172
172
165
174
156
144
236
174
203
131
147
168
147
150
234
121
218
112
162
150
214
192
202
137
174
229
194
207
199
218
150
226
164
200
194
152
186
159
218
175
171
144
220
121
121
250
121
208
124
170
150
207
195
170
165
197
123
174
137
128
229
181
121
238
195
177
250
201
297
150
127
165
202
121
208
164
172
231
156
150
112
150
174
121
170
224
150
160
263
139
185
172
210
181
121
208
167
121
263
171
136
170
112
208
172
175
167
121
250
121
228
143
208
112
178
172
165
159
181
186
172
215
214
176
123
255
170
150
112
112
226
175
112
225
208
150
204
172
187
150
232
181
172
175
193
150
170
112
184
265
112
279
208
167
206
150
165
164
186
112
137
150
237
219
231
172
232
228
121
123
171
186
229
167
150
202
172
208
220
174
150
210
150
228
272
150
302
228
150
205
186
195
112
181
205
194
150
279
205
174
170
182
150
165
150
170
167
167
112
213
187
176
179
171
250
136
205
112
172
167
224
212
156
121
171
121
193
183
168
210
121
250
150
202
210
170
259
112
235
267
137
172
150
160
193
172
171
172
208
219
112
167
190
112
150
218
193
170
178
171
112
123
208
112
170
247
112
208
276
208
263
121
208
257
150
194
150
212
152
137
112
243
208
174
112
176
246
112
167
137
198
194
168
168
172
174
112
165
167
177
121
150
186
172
237
150
172
172
170
167
193
213
176
112
124
150
192
192
121
186
171
112
123
186
150
168
167
150
150
156
150
150
157
152
201
204
210
167
150
147
203
150
170
112
123
196
231
150
228
210
112
193
228
143
152
167
123
282
219
171
130
220
201
171
210
216
208
194
168
150
112
165
157
123
112
167
161
112
225
115
210
194
172
205
167
152
112
226
167
228
172
135
181
167
177
196
195
233
135
167
208
217
229
146
194
186
240
150
181
216
198
225
167
115
130
250
176
172
237
112
217
202
170
175
150
152
137
164
150
112
242
167
225
112
172
165
194
181
181
170
172
150
165
349
128
159
239
121
234
208
167
208
181
150
238
217
171
112
177
123
195
170
195
250
202
123
158
195
220
150
193
208
112
189
150
123
208
121
229
150
124
167
150
208
164
250
229
172
172
195
150
150
124
121
181
150
237
211
112
226
192
121
159
112
165
172
150
158
170
172
172
212
112
123
121
164
112
186
210
137
121
121
187
171
176
194
112
168
164
174
302
121
121
202
243
203
121
141
208
201
228
121
112
193
150
150
218
167
144
112
243
238
112
143
172
200
195
218
156
195
121
201
124
158
250
147
150
167
170
150
146
137
164
150
159
177
202
165
150
240
165
208
192
150
150
176
171
146
208
121
231
168
150
172
135
170
112
150
172
150
202
195
150
173
255
112
171
176
160
150
147
135
112
212
115
167
112
112
220
223
208
150
208
170
115
167
192
212
243
136
186
143
208
176
171
208
263
208
167
203
112
232
112
210
167
253
112
164
150
263
213
167
208
121
174
207
121
112
198
292
192
208
112
158
123
147
112
190
181
112
150
162
112
205
170
150
240
174
219
187
150
121
121
171
121
208
208
150
165
136
181
112
220
112
150
182
128
249
170
213
323
112
192
208
212
195
160
208
210
171
238
186
123
279
181
166
172
206
115
214
208
177
150
259
203
171
150
168
219
211
178
194
112
130
207
228
165
112
208
115
121
171
121
159
150
121
176
152
165
150
177
247
150
112
121
165
112
137
240
187
207
167
208
172
143
150
136
231
172
208
250
196
168
156
208
150
158
150
239
176
147
170
137
190
137
192
170
167
121
193
174
121
172
112
201
170
195
172
150
121
121
165
193
112
123
219
210
136
170
181
195
192
228
218
128
147
167
121
226
112
137
272
112
228
150
243
190
112
205
211
207
150
194
167
131
170
150
208
150
195
121
112
165
228
208
171
208
172
172
186
172
170
172
238
112
235
208
115
240
186
192
150
150
174
159
228
112
112
167
176
172
158
150
218
167
121
121
196
206
112
239
213
150
112
112
123
215
167
123
174
124
167
188
150
112
194
150
160
218
208
187
121
112
234
171
208
167
208
150
112
112
168
249
235
159
147
228
158
230
121
112
193
146
150
172
208
167
112
137
136
202
167
240
171
167
212
198
112
184
186
186
112
227
112
150
150
112
150
137
176
172
201
208
150
121
172
243
231
239
167
231
112
185
194
164
210
132
170
150
208
220
172
112
202
210
187
259
181
144
121
137
171
112
230
171
135
167
147
130
146
205
240
204
172
156
250
170
210
176
130
194
219
186
121
228
170
150
167
207
209
112
150
208
121
164
231
121
132
136
165
124
150
124
203
128
181
123
172
208
150
150
241
160
208
172
135
150
115
164
251
112
150
172
269
181
112
207
208
171
177
208
150
193
135
226
167
124
150
165
255
135
208
150
172
135
159
193
195
192
121
115
121
112
250
121
121
150
121
234
192
150
150
121
195
135
276
112
195
165
239
144
194
123
179
150
150
186
181
150
279
184
112
112
194
112
203
150
167
258
239
213
235
203
232
147
198
167
112
194
214
191
112
121
124
197
187
210
193
170
174
184
171
203
208
115
112
150
121
186
212
165
121
121
170
187
171
150
121
165
186
167
130
159
165
207
121
158
112
112
218
112
202
186
234
170
121
186
195
160
150
159
237
112
170
112
191
121
165
181
170
208
115
135
121
172
218
206
194
160
159
150
150
240
112
203
112
112
172
202
165
189
137
237
225
123
150
121
121
250
150
167
237
232
135
177
115
208
150
181
112
150
112
121
186
176
196
167
150
124
112
208
112
172
178
150
135
187
121
241
181
237
223
186
150
147
177
170
112
164
176
170
135
171
121
112
176
263
121
167
168
170
217
135
187
168
215
165
112
150
135
203
112
240
208
112
212
123
112
150
193
210
203
181
164
236
121
150
203
121
186
179
121
182
121
210
128
112
112
159
222
181
112
137
150
150
159
202
150
121
123
187
226
208
244
156
165
146
170
208
228
150
170
192
217
179
156
170
112
112
174
121
150
194
181
237
171
136
156
172
208
172
150
150
208
150
128
112
217
159
178
158
112
177
121
147
112
172
208
150
217
172
184
207
168
179
193
215
203
170
210
176
150
170
123
171
172
165
174
231
121
208
150
143
121
186
187
112
172
156
187
202
121
270
226
150
115
202
186
165
150
143
135
212
123
167
135
165
121
198
121
152
121
208
112
194
112
121
135
137
170
123
175
121
171
173
201
135
112
170
123
161
257
171
150
172
158
223
150
124
220
167
205
165
202
194
241
187
135
254
208
172
150
121
236
196
172
218
187
112
207
172
135
174
165
185
115
202
158
244
231
121
135
112
194
201
177
181
150
181
161
150
150
177
177
255
150
175
158
178
150
225
150
150
186
170
175
194
202
176
167
265
115
112
121
159
167
112
121
112
121
150
171
152
150
229
150
112
199
222
231
208
193
158
123
219
150
193
170
176
121
201
123
215
150
239
202
264
170
121
164
178
187
203
181
201
196
172
186
210
167
165
150
136
174
208
121
172
112
194
208
112
150
112
253
121
112
255
150
177
212
219
172
167
186
172
146
208
172
150
232
124
137
167
230
173
192
167
208
202
171
208
266
225
121
121
254
275
112
176
218
176
150
194
121
112
170
172
226
135
150
201
167
121
228
112
144
172
121
171
172
231
165
167
194
173
181
170
210
136
115
159
136
265
193
150
150
202
167
207
121
213
210
202
112
167
175
150
150
124
121
149
112
228
194
170
150
112
164
150
250
170
177
112
170
215
136
170
121
202
194
112
205
130
112
150
112
150
170
208
254
208
172
121
190
150
150
192
193
121
112
130
121
124
208
135
144
112
160
121
170
167
121
170
219
172
167
121
204
170
194
193
172
233
176
147
152
278
172
171
215
228
136
112
164
170
144
229
167
171
172
121
278
196
179
213
171
121
150
193
172
241
182
147
172
160
156
135
186
194
172
193
171
223
164
165
239
135
112
238
121
147
123
112
150
202
181
202
150
135
121
172
167
112
115
237
210
170
202
121
167
229
242
167
112
112
150
174
193
112
187
186
174
124
208
208
208
223
112
215
176
121
150
161
237
210
228
203
121
150
250
121
225
228
172
228
233
177
208
121
156
112
150
208
160
150
240
135
194
167
123
174
201
150
150
121
112
237
228
172
220
208
177
170
172
194
187
170
150
179
150
230
226
150
202
172
214
226
217
237
208
186
112
215
257
121
190
136
243
135
123
195
127
172
208
121
208
170
112
147
228
139
208
237
229
244
187
150
121
135
236
165
222
176
130
150
150
194
237
121
237
170
128
181
212
147
217
137
208
242
208
170
150
194
150
115
193
112
165
170
211
144
121
220
231
136
240
172
121
112
172
156
189
181
150
165
232
150
178
192
202
112
216
194
121
193
237
223
168
237
176
270
172
184
112
186
121
123
152
171
157
247
121
121
150
137
264
187
208
215
164
150
172
112
200
112
208
150
182
208
137
136
279
112
250
112
174
186
130
229
231
202
223
174
223
237
121
123
172
121
242
187
170
112
112
171
167
146
137
176
158
112
128
195
134
208
181
150
163
275
239
171
121
115
164
150
231
158
240
112
121
208
150
137
195
121
214
170
112
195
112
194
171
173
123
194
150
186
230
174
112
208
225
211
257
175
212
112
130
112
150
150
170
171
156
181
226
228
170
172
182
172
170
150
112
175
112
170
136
172
171
165
170
112
136
150
172
231
124
158
204
186
208
112
123
164
121
220
176
150
165
201
242
150
176
195
168
112
143
182
176
172
204
208
167
123
208
121
176
231
150
150
175
121
208
150
115
150
150
121
170
232
147
172
179
230
179
208
112
150
186
203
170
150
112
208
150
121
123
172
204
238
150
186
241
121
115
136
150
218
150
176
162
121
208
147
193
228
167
159
172
170
123
201
112
201
150
170
150
150
193
172
150
178
172
208
208
158
242
115
167
225
167
193
204
199
194
164
206
135
203
201
187
176
112
202
112
181
173
181
150
243
172
167
208
250
228
112
150
123
135
168
192
171
204
136
167
201
255
150
150
150
121
130
187
170
121
168
208
112
136
150
150
124
121
159
220
178
158
112
163
170
143
150
121
193
121
262
160
208
150
227
189
135
112
181
112
112
228
121
233
202
255
212
170
173
170
147
224
195
160
238
171
112
259
172
209
250
172
130
283
212
174
112
167
147
210
159
150
136
231
202
172
241
112
167
136
123
208
112
208
182
150
172
112
184
112
137
183
210
123
168
208
112
150
150
208
150
121
186
181
203
212
170
112
121
208
205
150
208
194
150
187
150
112
115
112
150
123
196
194
170
174
150
146
194
150
124
182
171
214
228
136
150
222
121
150
176
172
150
121
216
135
192
208
170
198
130
239
195
156
150
193
112
194
156
112
115
228
121
226
218
112
165
150
186
150
208
112
112
210
186
124
225
170
150
112
150
150
161
170
195
115
135
172
174
165
112
208
165
168
121
181
150
170
115
150
135
121
181
203
231
121
158
194
165
236
218
186
175
165
228
112
186
112
150
150
203
233
160
172
172
121
223
221
112
147
207
195
172
170
237
219
167
172
121
150
150
210
210
208
150
112
176
227
123
218
112
150
123
228
150
176
194
124
203
177
170
243
202
238
112
121
158
167
236
150
112
112
112
210
187
182
231
150
170
158
233
276
167
220
208
208
231
164
176
121
175
112
121
202
244
192
112
172
194
112
112
172
237
150
176
185
156
238
176
202
227
186
136
150
178
210
207
170
170
121
165
181
182
147
187
181
239
210
223
121
150
135
253
220
137
137
228
181
218
241
123
112
212
230
194
112
170
170
135
112
171
168
202
112
190
193
112
123
150
215
187
172
172
226
176
172
121
172
121
112
214
202
208
112
175
135
156
215
172
158
174
195
150
208
115
150
210
250
186
186
121
229
150
278
178
167
112
137
172
170
167
150
121
229
176
150
112
170
112
208
170
172
226
170
167
209
208
195
150
150
121
130
112
160
231
167
128
150
121
203
150
135
123
181
123
208
194
186
121
112
233
147
150
150
241
250
123
159
123
259
192
176
208
176
121
123
170
187
130
150
137
223
200
228
175
150
203
187
230
198
150
172
150
153
181
150
112
202
184
208
217
243
170
152
115
115
228
167
124
205
175
150
217
181
135
187
207
228
201
152
158
121
137
187
159
228
208
237
208
112
177
208
231
171
237
234
215
121
123
136
121
115
218
112
150
167
235
121
175
177
150
220
210
171
194
135
203
150
170
159
137
169
302
174
195
205
176
195
150
203
112
137
214
186
228
219
208
202
150
167
165
208
252
181
186
172
208
207
270
194
187
229
150
150
112
130
176
123
150
158
172
172
135
121
192
279
177
112
208
214
150
112
135
228
115
203
229
121
176
170
115
231
150
137
249
240
150
217
210
305
239
199
203
193
130
165
231
208
236
216
218
227
147
112
121
192
112
150
150
165
208
187
112
123
115
121
170
176
171
172
186
193
250
208
112
159
112
150
193
123
157
218
170
193
150
157
150
194
150
198
135
203
170
171
171
135
208
167
242
238
302
172
121
218
202
193
172
228
262
208
181
217
150
181
112
150
164
172
236
195
112
174
174
208
216
226
167
170
112
187
150
115
167
186
164
150
112
192
208
181
208
150
208
208
208
170
150
150
123
130
236
159
192
192
150
121
237
150
150
228
112
187
195
215
143
150
183
203
115
124
237
202
150
112
121
237
150
112
150
130
187
165
168
121
150
255
170
199
208
150
228
194
112
147
208
135
171
205
172
201
150
164
196
171
195
186
130
152
228
170
194
211
123
112
170
181
150
226
202
172
208
159
112
150
156
112
150
112
112
231
207
112
130
201
194
177
187
112
167
137
112
170
193
238
177
168
227
304
197
194
217
239
121
172
228
181
121
112
170
150
181
172
275
247
121
147
128
170
172
176
150
112
152
150
218
171
121
156
194
222
208
219
243
192
167
121
176
167
194
121
171
176
165
170
121
237
179
208
220
147
164
170
219
208
220
121
171
150
219
208
258
171
228
186
228
177
164
190
150
150
112
195
121
150
208
193
130
194
136
167
178
161
150
135
208
121
220
250
202
170
208
172
130
121
194
164
160
184
112
165
208
150
123
193
172
123
241
215
289
172
172
200
170
176
112
121
205
172
112
181
121
121
190
167
174
208
186
228
201
165
181
112
160
194
150
112
172
112
171
186
112
212
150
172
177
225
247
112
168
150
194
121
112
178
121
124
153
208
181
228
135
237
215
212
150
208
176
228
136
210
112
167
153
121
123
228
156
150
121
235
159
194
170
177
135
112
178
219
237
194
121
207
152
254
159
158
206
229
172
121
170
302
170
150
228
150
112
159
172
212
150
192
112
121
170
243
121
228
218
112
121
174
181
150
165
121
194
115
150
135
150
168
190
202
112
209
172
208
228
152
187
179
192
212
171
171
121
112
167
253
135
187
194
225
187
150
164
260
150
123
112
217
159
197
167
196
135
135
112
210
186
167
112
252
192
208
166
297
208
162
150
208
235
121
112
208
201
112
194
276
170
213
167
112
147
115
205
218
174
208
158
123
150
112
150
195
121
150
121
202
201
150
194
172
136
112
112
208
130
150
195
170
150
121
167
205
255
214
181
208
150
112
259
193
207
147
194
212
121
167
193
187
157
193
236
150
194
212
224
152
208
150
275
121
239
150
230
150
176
144
236
172
203
194
112
231
121
225
136
172
217
202
178
112
208
187
231
172
232
196
208
226
223
112
156
208
194
196
136
150
205
203
121
172
201
208
162
233
167
226
186
230
172
139
226
212
302
184
201
193
183
121
187
172
135
165
194
112
164
112
145
181
128
195
194
163
187
150
175
112
176
238
115
160
115
139
137
121
165
132
150
112
137
177
158
171
172
195
193
112
255
128
150
276
150
170
112
193
112
208
158
123
181
217
150
112
207
194
157
112
150
194
176
121
238
150
158
121
194
189
121
172
204
205
150
170
121
217
123
136
170
174
208
179
232
176
147
175
112
250
201
265
112
216
135
128
135
167
112
210
171
123
226
167
177
250
165
121
150
121
208
112
170
112
181
112
194
247
200
216
171
208
237
137
194
208
128
223
147
201
150
171
255
170
150
150
208
176
112
150
203
152
208
155
112
226
147
276
112
233
212
231
237
121
112
112
192
121
130
150
208
112
172
228
121
236
176
225
192
121
162
228
130
172
121
263
212
172
254
208
187
208
170
203
167
167
210
123
274
228
159
195
208
254
233
112
208
199
215
150
202
232
165
165
183
123
150
121
230
207
207
150
167
153
123
170
255
170
150
195
170
150
179
208
136
150
112
245
146
152
150
228
112
223
208
121
210
194
112
112
123
218
147
210
237
231
210
135
167
193
121
112
150
208
212
176
194
150
150
165
217
150
124
250
167
173
228
112
150
112
186
167
194
231
228
172
194
181
172
150
147
172
150
218
225
112
167
124
202
112
172
172
167
167
121
208
228
263
167
168
274
211
137
192
208
208
208
170
181
254
203
195
200
112
181
213
189
212
150
121
112
150
150
225
150
150
150
172
158
147
135
181
208
167
202
136
137
158
200
175
207
150
255
218
195
112
112
121
229
177
165
112
187
150
174
264
215
150
112
171
181
167
210
150
147
208
112
195
215
208
171
176
135
172
170
168
121
165
177
112
175
234
168
150
134
121
253
136
194
115
195
123
150
147
137
123
112
171
147
201
112
245
157
186
170
181
158
121
150
135
199
112
250
165
232
172
121
219
179
150
171
242
159
165
150
208
176
238
208
112
250
208
186
212
143
207
210
123
150
135
158
208
128
175
176
171
236
144
158
176
121
150
194
187
230
208
243
205
200
202
165
201
121
112
192
172
176
193
193
150
210
172
121
150
112
167
186
203
226
152
178
210
167
231
172
130
143
220
172
135
123
217
258
208
172
210
228
256
195
274
115
112
150
190
208
173
121
121
176
136
250
137
123
232
139
203
202
208
218
150
174
171
172
170
217
112
123
123
158
212
187
121
201
150
156
219
158
256
181
159
167
271
137
150
172
167
215
172
193
179
217
158
145
232
172
240
262
212
150
112
243
121
202
181
202
228
112
144
167
150
176
152
176
123
189
184
174
174
194
169
263
236
150
150
208
206
229
112
226
121
170
152
150
159
179
112
121
195
160
208
112
122
241
228
167
164
121
165
164
121
172
123
171
183
150
186
121
150
193
112
150
203
208
176
208
112
150
226
192
172
275
216
112
171
172
240
237
165
208
220
112
170
202
150
121
250
187
167
124
150
176
216
112
166
130
165
112
121
112
137
241
193
170
152
121
176
171
261
121
240
121
150
172
208
170
193
145
121
171
196
112
227
208
135
121
123
165
239
243
170
150
112
237
121
112
227
150
112
150
217
210
181
241
207
150
170
196
176
228
150
181
135
186
136
158
181
121
167
231
147
187
150
159
112
112
172
174
177
172
150
237
181
208
181
188
150
220
184
164
276
150
208
231
174
181
205
150
237
276
160
170
124
150
167
208
210
150
194
215
208
170
217
239
171
115
147
194
212
171
162
208
135
228
171
121
178
181
208
150
194
233
178
124
255
167
232
150
194
171
156
112
171
150
174
112
192
170
124
236
172
112
112
204
170
150
237
112
217
241
172
223
220
147
195
171
203
172
171
177
121
112
222
179
255
208
175
194
172
240
172
123
150
228
156
147
167
197
194
172
181
150
233
170
215
112
206
217
172
196
150
226
199
171
181
150
228
121
150
250
172
186
194
121
287
170
123
205
208
186
112
112
205
186
172
217
165
152
167
250
147
193
208
176
212
170
150
137
186
121
174
150
124
121
158
171
170
130
245
255
171
174
150
226
136
112
137
208
112
160
269
195
150
150
147
259
150
150
150
176
201
201
115
128
121
235
137
115
220
137
147
150
121
208
172
181
181
136
184
161
258
121
150
181
121
178
201
121
220
186
231
159
186
208
186
136
167
193
135
231
170
220
121
231
112
115
150
192
137
210
193
219
112
150
201
205
214
302
123
121
278
112
121
218
121
130
208
187
240
150
194
112
201
176
167
112
158
121
208
219
199
150
260
208
193
193
232
121
173
112
128
222
123
189
171
150
174
150
208
194
236
187
175
150
121
212
208
208
112
112
204
178
170
150
158
158
157
112
135
165
192
160
161
227
112
112
297
176
121
201
225
170
121
150
201
150
233
236
208
217
159
176
137
112
203
150
150
147
150
212
208
150
150
201
124
112
202
172
147
112
170
112
159
171
150
171
167
170
170
157
150
171
167
237
147
167
172
167
228
121
253
150
167
233
181
168
171
135
161
189
250
212
152
121
160
202
231
202
226
209
186
265
112
150
159
205
136
172
112
215
147
150
194
194
112
145
150
194
240
172
202
171
202
204
302
220
172
121
121
193
208
214
150
158
112
186
220
135
174
174
170
220
112
260
202
171
202
130
170
136
115
232
239
112
176
176
170
160
164
164
167
208
124
239
112
181
112
150
156
150
130
171
209
256
112
150
175
150
219
171
210
233
150
233
208
202
241
204
208
115
226
247
165
172
236
137
150
172
150
171
115
136
135
150
220
170
150
220
121
150
170
208
135
186
112
135
212
150
194
112
205
201
157
208
192
203
121
150
123
208
131
150
112
220
201
112
176
179
167
181
172
195
150
194
193
150
208
172
137
121
121
147
150
229
112
135
243
123
147
167
112
150
192
150
181
150
176
152
224
150
223
172
121
181
121
171
112
193
112
187
112
112
136
160
136
150
206
170
172
165
171
156
157
208
147
112
112
236
200
195
124
176
147
182
172
176
202
172
172
159
135
150
175
168
121
167
112
194
172
208
112
171
174
159
137
150
250
212
158
121
150
201
167
150
164
115
150
150
187
150
159
130
150
135
150
211
123
227
203
167
225
158
270
205
123
128
172
237
112
209
218
124
187
203
168
181
164
250
170
172
208
225
172
123
112
137
121
144
171
215
203
115
137
123
112
130
228
112
150
123
177
208
172
177
212
240
210
121
195
188
195
194
198
208
210
171
152
121
150
152
112
265
135
170
176
136
207
174
176
204
167
167
136
150
170
212
112
212
124
208
135
130
123
172
123
250
198
135
170
214
121
136
170
112
187
176
208
159
150
121
150
124
150
220
202
158
202
137
172
150
123
177
167
158
147
112
135
238
178
121
177
208
150
115
234
124
112
229
112
121
207
237
123
257
240
121
168
172
150
112
112
235
121
201
164
208
130
157
195
195
112
181
172
112
183
194
237
121
192
201
228
172
175
208
150
164
172
165
171
121
190
234
150
150
150
150
171
229
121
193
123
240
165
239
115
171
172
176
174
115
156
147
203
150
112
121
167
144
228
281
206
150
208
150
208
250
272
253
121
112
164
167
121
203
172
208
170
165
201
202
150
112
195
178
194
208
171
172
207
196
242
121
150
135
136
172
171
233
121
177
178
194
150
215
112
121
112
186
121
157
112
150
167
136
150
250
112
167
112
192
162
237
147
150
158
130
201
115
136
112
158
194
143
164
176
193
208
220
276
112
179
170
240
171
202
121
168
124
150
193
167
170
208
137
158
159
121
176
177
174
250
150
112
206
239
156
150
150
172
123
205
170
229
201
168
243
228
137
181
124
164
172
139
170
193
171
265
240
241
150
135
208
128
121
177
190
171
171
112
176
186
121
220
181
150
121
175
208
115
236
123
123
237
201
130
195
175
159
158
167
150
112
115
176
242
233
167
263
157
219
181
121
236
220
150
112
231
242
179
171
215
219
194
121
173
176
172
171
195
203
150
263
215
115
170
130
250
172
186
194
152
137
176
171
179
150
276
228
172
193
121
192
237
207
181
171
172
243
150
167
158
165
121
112
187
167
167
237
250
150
184
217
208
123
227
178
150
201
171
176
250
150
207
220
207
121
176
112
147
217
202
212
115
150
218
161
219
226
169
150
172
121
171
150
158
210
150
150
212
176
214
207
150
165
172
208
150
128
159
121
121
121
194
194
150
150
160
121
121
172
208
112
170
175
112
194
135
207
144
202
232
193
135
238
226
193
121
150
208
123
159
165
160
181
150
196
112
208
221
156
156
152
150
112
233
231
150
152
194
167
170
232
150
239
225
225
112
207
224
164
147
186
186
167
223
130
243
171
150
150
112
123
202
275
179
123
112
208
208
176
115
150
228
136
181
181
172
208
212
121
200
212
226
218
225
245
212
170
165
112
136
112
178
210
164
200
121
154
237
170
123
193
208
150
189
130
167
167
165
196
210
164
219
165
181
167
209
170
123
123
176
121
210
164
203
150
147
121
194
193
150
243
130
172
164
170
167
217
137
194
278
172
231
235
176
130
150
181
160
121
112
112
208
150
177
193
278
150
208
150
186
135
150
112
213
172
237
209
172
167
160
226
201
208
213
150
123
165
164
170
228
150
167
210
121
150
179
243
208
228
170
194
210
229
274
147
172
194
208
171
121
121
150
112
150
229
130
208
167
208
172
143
243
196
150
167
112
197
176
164
112
150
197
171
234
170
150
183
202
121
194
150
165
254
164
150
236
266
172
115
194
194
121
235
194
187
121
150
234
150
236
177
239
121
219
121
112
112
181
179
124
171
171
217
168
150
172
150
115
160
219
112
212
158
112
237
186
240
201
172
158
193
170
150
137
176
203
237
193
235
121
123
186
123
112
220
240
197
147
208
136
228
165
172
181
226
181
238
112
121
172
208
194
167
208
176
195
172
229
171
150
121
150
176
159
176
177
173
150
150
121
167
121
187
194
240
263
181
237
195
237
150
158
184
185
193
232
206
167
112
150
112
168
157
274
264
112
228
137
219
150
176
130
238
202
193
181
112
121
198
150
150
172
208
187
150
175
281
210
194
208
208
147
208
143
208
198
172
208
214
237
228
121
121
160
220
147
242
112
121
186
220
208
112
167
150
193
112
150
167
228
135
187
167
162
164
150
112
217
150
147
167
228
164
203
112
170
112
136
172
181
209
131
171
203
112
130
112
112
219
260
158
168
168
220
186
181
112
203
172
137
158
121
236
121
112
170
208
170
172
237
150
156
165
276
224
172
257
112
212
170
176
172
192
128
150
150
186
135
228
206
193
181
228
147
170
112
205
150
121
158
172
172
208
112
115
203
208
225
167
112
164
136
181
121
194
176
181
150
193
182
150
121
170
236
170
194
158
150
172
128
210
121
184
172
171
176
187
121
228
201
150
112
195
121
150
150
130
172
181
121
112
190
208
150
247
171
143
223
135
181
159
150
121
210
181
208
174
176
115
165
202
115
210
171
112
112
115
112
112
121
231
240
136
150
168
121
201
172
165
176
121
186
229
233
136
123
260
212
202
112
186
208
210
112
123
208
123
194
172
128
123
171
156
194
150
165
208
159
172
137
212
145
226
150
146
112
257
239
156
176
175
192
112
189
135
124
212
192
167
210
194
159
112
112
150
208
171
123
164
194
241
170
112
121
150
112
150
187
228
150
208
172
250
112
208
194
170
165
202
123
150
234
121
186
112
186
208
194
220
202
186
172
172
124
181
150
150
150
167
181
237
168
147
178
171
173
121
228
172
150
150
164
181
150
176
112
147
121
207
168
121
150
150
263
112
165
121
172
237
112
167
121
143
208
115
225
218
177
171
143
215
174
186
171
135
205
224
150
121
195
121
201
201
170
208
181
112
203
121
150
249
228
147
189
121
177
150
187
218
147
167
208
192
121
231
150
150
123
157
172
150
201
112
121
150
150
167
235
121
167
170
135
164
112
167
112
201
121
150
172
195
181
228
270
231
186
171
246
210
121
255
192
150
136
121
175
190
242
130
172
208
137
153
176
121
171
208
121
158
213
208
193
194
258
150
158
137
164
200
201
212
167
150
194
150
152
150
276
194
115
158
150
194
201
209
173
150
172
130
265
212
170
226
235
168
201
159
150
193
121
217
236
202
172
203
121
135
172
164
167
170
121
147
161
150
212
203
186
172
235
147
128
234
198
208
135
172
150
193
217
231
150
249
185
201
170
135
150
150
242
176
165
239
172
208
136
112
167
171
123
250
170
195
194
195
219
264
167
172
172
165
172
112
228
192
237
208
112
121
263
150
172
186
172
158
236
150
250
182
137
186
228
208
181
112
150
112
212
157
170
170
233
171
171
218
158
240
176
250
170
210
172
171
172
112
165
150
167
158
121
121
192
150
145
228
167
123
185
203
112
208
123
239
170
121
112
181
186
297
182
158
201
150
136
121
181
172
219
186
167
196
150
121
150
215
121
170
187
150
115
128
225
174
143
172
174
121
241
205
192
255
190
135
150
167
210
112
121
208
132
172
208
158
247
189
228
165
150
203
208
173
172
150
181
196
112
112
187
123
206
112
171
121
112
229
194
208
174
201
167
112
115
171
121
123
171
171
166
182
121
165
121
170
150
136
150
128
203
159
213
150
121
201
172
112
231
232
353
203
156
123
121
181
208
192
181
194
231
147
170
112
189
171
189
210
131
121
208
172
208
121
203
136
194
112
228
156
170
121
136
112
217
172
121
190
184
159
236
171
121
225
172
177
225
216
231
173
236
115
177
184
130
231
195
172
196
175
205
172
194
231
190
164
266
201
208
150
150
112
161
210
165
172
164
167
208
219
242
218
203
121
175
135
130
228
136
208
192
213
135
179
121
231
121
193
156
194
112
150
205
229
156
172
176
206
171
172
112
166
177
136
112
170
179
243
237
143
165
159
170
164
172
201
198
232
167
226
158
208
255
135
165
186
176
228
121
112
237
176
150
150
112
210
112
177
136
172
121
150
150
167
150
112
176
172
115
112
150
150
176
112
250
189
208
150
170
112
179
195
171
123
181
184
112
205
121
171
121
194
171
194
195
302
147
137
208
150
112
115
172
115
181
238
265
164
208
135
208
174
137
112
159
212
112
124
150
160
202
150
211
174
212
150
219
167
158
181
147
171
201
115
232
208
208
130
124
135
181
208
156
186
201
253
150
112
121
112
175
170
237
150
128
156
112
195
180
135
182
115
137
112
208
150
150
167
150
165
165
250
171
208
160
172
121
165
147
228
172
112
158
167
167
186
137
299
163
195
172
112
121
170
167
176
210
193
167
189
121
121
112
204
150
194
187
150
184
137
267
112
112
225
167
217
167
167
212
147
177
112
181
208
123
150
167
265
186
196
230
130
112
121
181
152
178
210
170
123
165
170
158
128
159
123
171
121
121
150
169
121
112
112
262
167
167
147
234
150
150
121
193
115
147
112
115
228
192
263
161
186
112
150
187
150
170
186
172
210
150
204
179
150
123
112
121
228
170
150
167
112
150
112
289
152
202
229
112
227
208
170
195
206
156
233
172
121
250
228
220
192
186
112
121
123
270
168
170
130
174
121
160
172
156
255
178
150
186
212
150
112
181
305
184
208
167
137
115
220
167
257
131
170
150
167
253
181
233
167
208
266
202
257
182
165
150
208
253
150
121
121
121
208
208
186
160
187
147
265
124
194
167
193
167
254
136
150
195
208
167
165
167
156
201
112
208
184
165
121
228
172
194
172
172
112
167
208
172
193
167
291
199
207
170
170
136
170
121
112
202
136
172
121
172
198
150
112
229
195
150
170
210
208
137
171
135
121
123
281
208
172
223
193
178
150
160
193
213
202
115
219
150
112
121
208
175
220
207
130
137
121
135
172
201
112
177
226
147
208
171
209
194
172
194
210
187
229
279
159
112
172
194
174
223
176
143
217
121
150
170
220
158
172
299
167
208
112
167
208
112
150
279
150
121
121
136
167
244
150
121
174
201
177
220
186
121
175
115
112
182
150
208
150
233
167
121
163
150
150
208
187
263
121
190
167
150
208
172
143
168
258
219
225
176
115
150
112
121
121
171
260
201
167
144
150
233
170
172
247
170
172
121
181
164
150
231
150
159
121
164
170
205
136
192
187
193
208
172
137
160
175
218
150
123
112
228
112
150
208
199
194
283
150
170
191
112
121
150
150
219
215
123
250
207
220
156
194
187
208
226
203
176
176
205
163
121
112
167
150
194
193
217
145
121
150
112
143
182
147
167
172
167
112
170
232
172
177
170
170
181
112
181
197
218
231
156
112
208
150
194
207
171
281
198
150
193
208
208
239
200
195
172
208
275
195
210
175
115
203
115
150
124
150
172
202
250
171
206
299
170
184
156
112
228
225
112
210
302
121
124
220
112
112
201
121
167
172
182
150
150
228
184
210
172
172
112
128
220
190
112
112
150
235
206
137
227
177
208
167
164
208
209
258
147
202
172
112
135
112
228
121
150
207
150
171
170
250
121
212
135
205
212
226
170
205
171
112
121
220
239
194
211
186
195
202
206
124
186
231
268
112
112
202
236
208
167
165
187
168
170
228
135
150
232
187
206
144
165
121
150
210
170
226
199
249
232
167
243
157
193
123
240
208
112
150
112
248
219
167
181
161
209
177
150
208
181
167
150
245
128
150
121
208
238
150
212
121
150
159
202
278
165
186
257
195
112
171
170
112
121
165
208
209
223
167
150
176
208
232
136
223
112
187
171
171
193
187
150
164
167
171
170
242
150
178
194
187
195
150
224
170
112
112
112
181
112
208
181
228
218
167
227
230
233
115
112
212
219
175
123
121
212
178
167
137
203
195
112
208
160
241
160
254
172
186
220
136
112
112
235
150
276
177
247
226
159
128
203
141
179
160
208
159
226
187
121
150
150
186
208
186
139
121
208
202
135
150
170
115
112
195
167
184
193
172
250
170
158
167
206
237
210
167
219
229
170
150
172
192
250
159
112
249
171
201
150
228
153
121
223
207
150
112
181
208
112
203
160
219
176
112
170
216
243
181
201
150
208
227
205
150
150
195
187
167
181
181
124
170
228
112
150
208
219
186
176
174
112
297
160
160
259
121
228
112
150
224
194
135
112
199
177
194
228
208
181
164
172
237
231
152
167
208
192
130
203
171
112
218
216
203
173
243
203
159
137
223
186
212
204
137
220
128
212
150
172
186
152
121
228
167
193
164
157
257
237
152
177
208
292
263
146
193
171
150
219
150
137
189
112
176
186
170
167
174
186
112
208
121
233
112
165
231
187
240
201
233
168
167
187
205
167
121
172
195
147
167
150
176
128
136
193
167
130
208
121
195
194
121
121
150
165
121
156
186
177
267
181
213
179
172
203
112
199
224
213
259
181
202
160
218
150
201
150
150
211
225
184
250
147
157
121
172
150
193
237
165
112
208
217
226
112
167
192
131
152
226
112
213
159
217
208
121
189
121
137
162
172
152
204
164
167
172
150
123
167
112
229
170
150
123
217
112
208
239
172
208
150
209
136
159
150
218
121
198
167
150
184
229
136
123
170
121
112
171
164
135
121
112
220
136
217
112
231
278
112
136
135
302
115
121
167
176
171
150
167
115
229
121
152
150
208
218
147
210
250
112
112
263
208
167
172
144
150
112
168
168
195
112
170
228
121
121
130
171
210
219
172
265
121
121
112
150
207
136
229
231
123
137
208
263
219
193
167
208
112
212
192
137
112
121
223
167
211
112
181
172
275
177
204
203
217
115
212
193
210
161
199
242
177
195
123
177
121
208
112
160
202
121
150
194
115
208
152
155
160
150
150
123
240
222
250
211
121
194
112
203
219
206
193
112
237
177
150
228
219
195
131
167
159
150
284
123
208
165
167
181
208
202
217
181
170
150
202
121
170
170
112
121
207
203
150
170
208
112
167
143
240
167
226
229
172
208
150
121
238
172
167
231
121
192
203
121
208
167
112
208
203
112
201
112
208
170
167
210
177
112
236
171
165
186
202
156
181
167
150
115
165
112
112
167
219
167
231
193
130
250
210
161
150
136
164
123
128
220
226
231
210
236
219
165
112
214
112
167
237
112
181
147
186
196
115
208
228
228
112
195
167
181
143
195
137
152
145
167
193
150
276
220
255
208
242
181
123
210
181
189
150
112
210
212
232
165
167
152
159
208
112
176
150
121
170
121
112
112
121
147
167
228
112
147
194
137
200
167
112
226
150
173
123
112
172
135
112
112
160
218
150
123
135
121
210
248
176
135
192
176
121
150
156
231
172
150
150
208
231
205
121
112
179
168
172
150
167
112
172
237
150
112
136
275
121
150
179
172
121
150
172
164
150
112
231
208
172
123
112
175
150
172
270
150
112
150
165
152
237
208
217
167
208
229
208
123
112
150
186
121
274
112
173
172
174
186
137
170
121
123
279
147
181
208
157
172
187
192
115
115
172
112
215
242
137
150
121
167
172
139
208
112
179
210
143
170
165
112
172
238
150
165
167
124
172
250
165
167
200
210
202
150
150
168
147
297
123
208
259
172
174
208
238
174
121
128
112
123
150
150
112
137
112
187
194
194
220
123
150
150
121
181
208
150
150
172
112
171
121
220
219
170
172
197
176
135
123
150
208
165
121
135
170
121
208
172
130
115
150
208
167
229
176
112
190
150
170
164
254
150
181
192
220
229
176
205
165
112
242
152
150
112
208
136
190
121
189
137
174
123
167
121
165
165
229
203
165
115
159
170
123
203
187
121
150
172
236
136
150
209
195
139
150
136
121
270
167
150
115
172
200
194
112
137
203
165
156
150
219
231
136
228
150
112
208
121
203
164
150
150
206
228
168
158
205
121
112
239
278
170
172
228
167
121
172
194
174
112
150
112
112
150
146
229
164
123
172
158
150
121
176
123
181
150
167
172
234
156
172
150
112
115
150
121
112
212
158
208
165
121
137
170
208
204
171
150
121
158
201
150
176
112
208
121
210
164
112
112
237
262
170
260
206
177
207
208
189
171
112
187
121
244
281
297
226
112
112
121
257
176
170
112
172
167
124
202
150
175
168
237
167
170
121
208
123
228
112
115
186
215
121
194
172
176
137
178
207
208
123
194
165
196
172
182
202
212
136
206
167
172
112
184
167
194
250
150
130
272
150
208
208
150
121
135
150
158
121
165
121
150
264
176
172
195
167
123
121
115
121
168
150
156
228
115
164
150
239
112
170
121
217
115
208
276
147
121
124
171
146
194
170
216
228
150
150
171
123
112
121
208
156
160
150
176
150
136
164
258
164
177
130
112
179
202
130
237
189
147
172
121
112
112
202
204
112
137
167
121
176
112
150
208
194
234
121
112
244
168
112
203
234
272
112
121
270
112
150
194
175
186
150
147
186
172
181
150
150
239
217
171
208
210
130
208
115
171
205
244
214
208
123
194
150
186
210
150
115
208
211
121
174
208
172
121
121
135
158
229
232
208
202
147
181
150
228
177
176
172
239
208
158
150
193
135
123
188
165
170
158
164
186
186
123
276
172
208
207
121
150
128
210
174
208
121
170
147
208
194
172
193
168
176
164
115
212
194
121
181
123
171
121
195
150
121
228
121
123
150
215
176
209
112
152
172
240
131
195
150
201
219
172
212
210
172
201
239
208
112
167
115
121
170
171
172
210
159
136
115
164
160
150
112
150
202
168
198
208
194
181
112
225
194
112
208
172
171
290
150
205
150
201
194
150
205
187
265
144
207
172
231
217
160
194
193
121
237
152
171
184
156
203
171
208
208
194
137
194
241
135
112
168
273
123
171
112
172
112
147
112
121
210
208
236
256
123
170
135
150
171
210
172
152
279
150
121
164
212
115
195
165
228
246
112
194
150
167
167
164
170
115
170
170
179
208
202
172
121
172
216
170
175
136
112
123
147
208
211
213
186
150
233
272
170
159
210
203
150
121
121
150
167
165
210
194
302
150
156
121
171
112
150
170
175
146
112
200
246
158
158
208
131
164
210
194
112
121
135
210
243
121
228
176
208
150
150
165
172
115
210
258
165
160
194
150
193
186
161
193
123
112
123
167
150
240
203
223
160
147
152
150
202
230
146
234
124
205
124
252
150
167
174
255
150
172
156
212
228
208
342
218
210
193
181
193
186
177
231
215
112
192
172
135
172
216
198
208
208
255
172
218
195
213
208
212
150
128
181
240
202
112
171
150
168
150
150
152
136
167
150
172
170
112
252
221
202
173
121
112
121
121
150
150
115
170
139
121
150
195
152
115
168
164
201
167
121
194
150
115
150
112
210
176
136
263
181
226
195
159
121
208
193
112
208
243
167
143
195
112
170
193
170
297
263
172
220
278
150
171
150
121
123
121
150
208
123
194
167
195
112
202
176
232
194
143
202
112
121
121
227
152
194
112
170
150
208
179
137
152
194
123
170
147
187
137
121
112
167
152
279
235
219
143
164
270
181
184
121
163
121
160
115
137
237
211
171
167
112
121
112
170
233
150
208
222
189
112
150
137
235
121
210
202
150
150
150
208
190
135
112
172
195
135
150
135
233
121
167
215
112
185
135
170
259
203
170
194
194
150
150
170
202
194
201
150
150
145
172
210
208
172
128
211
130
210
131
167
147
198
178
187
190
250
194
217
208
115
226
164
157
136
156
165
172
170
150
176
172
208
121
239
121
123
212
172
247
121
181
192
208
176
150
208
217
162
202
231
207
150
112
194
136
123
171
215
212
229
123
150
159
150
150
112
112
170
237
228
172
172
212
143
150
112
139
202
187
179
265
238
150
158
147
136
167
150
147
172
112
176
150
194
203
165
194
112
217
137
202
212
112
208
167
123
195
194
121
115
171
137
208
178
231
150
192
208
112
152
112
172
194
182
121
215
210
177
150
115
112
171
218
137
187
135
112
123
112
201
202
121
170
172
243
112
193
112
257
259
182
176
225
121
166
121
165
150
218
150
171
115
121
121
170
150
265
219
167
239
121
168
193
208
181
150
121
210
167
135
250
121
150
237
255
150
121
171
297
157
237
167
121
263
123
170
181
171
172
150
187
250
150
195
209
150
279
165
208
165
150
123
196
121
170
146
172
121
112
181
194
152
139
275
112
121
174
167
121
228
220
112
167
181
172
211
147
123
150
121
150
112
150
112
167
168
186
135
112
123
121
112
112
159
165
121
172
112
176
263
171
167
208
208
121
115
172
208
112
193
186
207
190
150
172
202
112
245
150
136
172
150
171
208
212
254
194
152
174
121
167
205
150
112
150
201
156
210
150
159
150
158
164
172
141
225
172
128
121
123
208
255
150
150
186
170
158
152
123
175
243
170
150
272
170
183
228
171
228
205
181
172
158
214
208
219
202
115
208
172
210
150
172
112
159
228
237
167
150
172
165
194
239
150
158
170
139
160
123
236
170
181
150
165
171
194
121
261
172
135
193
226
212
195
164
112
167
172
167
121
112
150
279
202
150
192
176
121
172
150
168
136
195
210
123
160
165
278
167
172
208
193
181
164
212
136
165
112
160
172
121
168
234
212
233
194
167
150
172
150
150
121
184
115
112
228
208
160
167
258
179
164
150
170
214
112
137
170
165
121
228
255
130
234
159
130
121
112
167
150
194
212
200
156
176
172
147
135
175
204
167
137
172
112
237
150
112
150
299
208
112
181
167
202
215
152
172
131
112
240
210
178
150
112
167
121
112
121
172
250
160
165
112
150
150
170
112
150
164
167
220
218
226
112
150
150
123
112
121
167
136
136
208
175
121
297
201
156
174
123
208
179
202
189
123
121
167
193
112
150
186
171
121
121
239
156
156
112
143
152
169
208
234
121
135
174
233
112
174
143
136
210
255
174
150
210
150
239
185
135
121
150
171
197
237
112
167
195
233
187
217
176
229
176
219
167
235
195
136
150
196
123
112
208
147
239
281
177
130
121
146
150
121
137
243
121
174
112
236
181
112
115
150
177
167
208
139
239
281
192
171
167
165
186
112
121
186
167
172
174
130
130
115
170
237
225
186
121
219
170
156
170
160
240
136
220
121
160
172
121
226
208
170
243
193
121
203
150
249
150
215
147
165
112
136
246
136
177
194
112
150
171
128
112
130
144
152
171
203
147
150
130
172
194
160
135
164
212
152
201
208
202
186
233
195
170
178
256
194
144
137
208
121
172
123
192
121
232
176
181
150
137
150
170
164
121
244
219
167
124
202
112
172
208
137
186
150
112
136
121
112
115
302
300
300
201
181
225
171
128
198
186
203
187
207
208
175
136
198
171
172
172
168
150
194
208
112
146
112
150
156
165
181
130
150
176
172
149
242
123
237
197
219
201
121
208
208
215
150
186
171
173
143
112
264
147
205
172
172
181
187
211
165
121
202
208
150
150
130
268
275
112
193
259
121
150
194
181
209
123
167
236
150
123
112
171
177
121
208
150
150
186
150
121
159
150
123
112
212
150
150
112
228
186
123
121
165
121
137
150
237
150
150
208
112
174
232
112
165
232
217
135
176
238
212
178
203
220
174
121
187
112
123
172
214
177
112
167
170
135
278
178
203
121
220
228
217
158
171
150
176
208
181
255
220
150
123
179
197
181
203
121
225
168
195
219
174
167
121
112
146
164
150
192
209
171
164
135
170
207
207
184
217
232
150
137
150
150
123
198
257
165
150
200
165
177
123
137
220
170
150
167
203
208
150
187
123
208
231
163
172
158
112
135
121
150
171
164
112
121
194
201
172
195
212
217
112
218
150
193
121
171
193
128
190
172
250
302
112
123
123
121
135
225
164
150
184
150
193
156
212
218
130
212
112
193
176
167
170
202
112
135
179
150
168
225
228
112
150
112
124
254
152
220
170
255
121
150
228
208
187
174
172
211
150
150
158
115
150
121
162
268
121
130
150
112
123
191
176
208
220
124
208
150
170
121
203
193
208
167
165
196
212
194
112
172
112
168
209
112
243
112
258
171
255
156
150
208
270
150
170
302
158
124
225
179
150
302
147
233
194
112
112
170
123
171
172
150
172
255
167
164
189
147
121
263
235
147
121
167
193
112
195
158
205
238
202
172
200
208
123
150
202
152
112
231
206
192
165
121
203
112
176
121
131
150
172
137
210
167
177
250
135
143
112
121
150
171
172
207
172
123
208
201
170
218
135
112
165
112
170
212
210
156
121
121
172
218
208
150
159
181
220
208
184
172
170
121
212
181
208
112
112
121
171
231
171
170
208
135
228
171
121
219
121
211
192
170
232
164
112
112
179
150
156
231
121
159
165
150
150
174
147
144
150
172
135
150
124
184
121
208
181
202
136
112
121
254
205
158
112
179
170
121
115
237
150
123
121
167
201
150
201
123
192
170
238
201
176
123
168
158
208
115
210
173
187
194
160
239
182
218
184
174
121
136
112
229
203
195
112
187
167
210
181
112
160
112
115
167
150
123
121
156
121
121
177
202
150
211
165
132
123
121
112
216
250
112
255
202
112
264
170
265
212
172
128
147
208
302
112
112
124
147
165
237
121
150
172
177
112
253
121
150
112
160
190
220
172
170
150
194
168
112
190
187
136
136
150
171
150
167
112
167
112
185
147
112
112
165
158
124
124
147
194
194
147
172
226
146
226
112
158
181
121
112
208
150
150
136
302
115
112
159
171
121
137
128
177
235
212
150
112
121
152
112
175
196
150
112
208
172
160
112
234
123
112
193
207
167
212
170
177
217
150
176
208
239
121
139
124
171
128
130
187
157
158
177
259
201
165
157
210
212
150
115
177
278
210
207
219
208
203
112
239
171
170
135
147
170
184
172
269
153
231
165
112
121
159
150
121
150
112
187
173
176
150
121
176
176
208
147
181
228
146
192
203
150
205
177
167
255
208
170
123
201
112
150
123
168
302
215
150
198
210
226
216
121
167
123
212
112
171
217
158
150
112
255
112
163
170
206
121
194
243
220
217
112
172
180
227
203
150
115
179
187
150
152
170
228
176
121
112
170
150
150
135
172
210
184
156
205
112
172
167
237
112
242
131
121
158
208
112
208
236
135
150
150
156
220
250
215
147
137
208
194
179
177
212
156
228
215
150
175
121
128
222
217
130
150
175
177
167
112
187
123
150
152
112
231
172
206
208
170
121
165
187
123
123
112
156
150
172
135
212
171
172
210
130
150
112
137
236
217
171
199
112
123
218
177
208
150
165
112
228
216
207
112
123
200
225
194
143
121
123
150
121
136
202
176
112
193
207
215
150
170
167
150
227
210
255
150
177
207
181
192
208
136
232
165
112
172
228
156
167
156
219
208
181
186
219
123
194
172
121
172
217
208
150
112
123
121
232
167
208
192
150
150
268
115
210
136
186
172
219
219
171
156
167
112
112
112
175
147
175
150
137
150
208
181
187
150
150
212
164
152
115
160
150
112
170
228
112
112
170
200
112
170
150
112
184
202
317
167
150
143
150
216
174
156
167
232
230
236
176
112
228
121
195
159
159
208
123
231
172
123
203
228
227
121
201
170
175
150
112
150
225
159
216
150
165
174
167
185
170
220
112
228
193
146
112
233
172
193
112
112
173
302
135
170
112
121
192
121
167
121
239
150
210
128
208
221
189
218
123
237
150
181
130
237
208
121
176
121
194
115
121
112
194
205
168
240
115
171
237
208
150
207
213
176
170
167
231
112
189
150
123
121
168
208
135
121
201
181
121
167
184
121
247
123
219
212
124
172
208
150
170
193
121
187
208
171
218
150
170
181
171
197
275
221
136
172
208
159
208
170
167
228
167
187
112
276
243
170
167
252
255
130
150
112
112
240
212
137
171
156
193
208
186
181
112
112
172
130
112
177
219
161
272
136
171
210
209
216
160
192
171
172
165
177
150
150
237
181
172
150
210
112
112
172
167
123
150
177
208
187
112
167
177
144
121
172
167
112
112
152
202
203
121
170
240
112
112
210
205
203
225
195
178
150
123
206
172
201
165
208
239
112
121
167
204
259
112
217
171
136
250
123
212
150
201
195
121
121
195
302
208
271
165
121
167
158
165
112
132
112
228
193
137
232
197
231
156
175
150
147
150
208
208
201
172
150
150
202
150
150
121
135
137
121
237
208
212
171
112
137
208
208
215
112
187
177
150
112
112
187
121
164
206
178
181
172
172
147
121
121
177
232
150
123
208
143
121
225
208
208
179
177
233
152
167
112
276
135
217
203
121
167
194
112
208
239
165
165
170
172
177
193
251
243
165
187
171
121
123
223
112
147
150
170
112
219
146
112
121
208
176
208
135
112
213
278
170
150
202
167
174
203
150
174
172
250
229
123
112
150
208
112
218
123
196
158
167
176
198
150
121
121
170
195
242
167
112
164
121
253
172
121
121
194
112
172
170
174
238
160
121
121
203
208
167
232
193
195
167
150
121
158
194
197
150
150
172
121
150
136
186
176
175
210
150
112
172
228
150
182
216
167
208
170
171
161
250
152
172
234
172
150
172
165
121
121
121
112
136
217
243
171
208
150
123
181
167
146
212
171
121
171
177
136
167
150
202
121
150
121
184
299
302
150
156
206
195
172
189
112
186
112
150
171
121
170
150
172
211
302
112
121
194
112
135
150
121
121
137
204
150
158
170
167
115
181
150
112
172
172
233
150
208
187
121
135
147
121
130
121
218
112
264
208
226
236
121
212
172
167
150
112
229
165
201
225
228
179
196
112
150
181
168
150
121
194
195
165
112
152
135
156
239
167
212
150
231
167
121
150
150
115
185
176
147
208
135
121
150
208
123
250
170
217
170
152
123
205
244
112
243
194
112
187
112
167
225
135
228
176
136
115
263
208
208
112
208
172
239
112
171
112
175
208
225
121
123
181
226
112
168
156
112
137
164
210
121
170
177
239
150
150
210
147
237
121
112
150
192
189
121
161
174
167
167
212
121
212
150
201
195
171
208
162
208
160
171
208
150
202
192
216
250
150
150
219
208
136
194
208
168
175
112
195
121
170
167
144
210
137
112
170
202
150
179
171
228
147
121
243
186
193
217
139
215
192
172
123
237
208
203
112
202
219
208
182
150
218
150
208
208
165
137
210
112
229
176
164
158
174
202
205
179
218
231
275
115
124
184
172
161
150
121
135
112
194
270
201
186
121
204
112
181
130
228
194
115
168
220
207
124
167
187
181
212
150
156
208
156
150
147
208
121
177
177
231
168
135
215
177
259
278
130
132
208
208
181
112
170
150
208
112
167
273
135
121
201
208
260
150
135
150
175
112
201
172
130
150
175
225
207
121
123
150
112
208
115
123
128
181
112
176
220
112
216
237
150
172
174
208
201
115
237
170
112
194
150
208
226
171
170
121
152
208
167
170
112
179
112
208
158
150
194
231
201
164
176
203
112
121
193
167
170
112
212
299
174
181
112
150
211
208
228
174
112
115
135
276
121
220
130
229
121
123
150
182
195
167
150
136
219
194
172
112
158
170
136
153
150
150
135
254
112
207
170
157
228
150
176
170
176
157
233
159
164
121
220
172
150
167
225
150
194
254
150
168
112
159
121
201
205
121
167
112
238
165
170
112
226
146
173
170
173
159
112
121
150
218
181
231
172
170
172
150
136
192
150
209
168
121
208
150
172
263
210
112
229
124
121
194
171
128
177
150
121
137
208
219
136
170
238
112
164
266
231
187
177
135
123
121
135
164
201
112
181
150
210
220
121
219
121
128
184
172
192
215
220
175
121
121
150
121
150
194
150
121
218
112
171
172
181
237
150
147
181
150
212
171
150
186
112
170
172
123
156
237
186
150
170
208
150
130
115
150
130
208
164
130
112
220
179
208
192
266
167
210
146
187
210
176
150
187
150
123
135
112
165
226
112
172
172
208
121
243
194
112
137
237
156
234
115
239
137
112
242
221
238
121
137
121
165
112
150
150
205
150
181
157
136
192
135
132
171
242
171
112
147
112
167
275
220
191
171
112
158
150
218
172
164
112
184
152
150
121
121
208
147
184
245
214
121
150
208
165
198
193
170
150
243
208
172
160
174
135
112
137
144
211
112
171
208
171
293
228
150
150
178
194
195
168
156
121
179
208
208
150
150
194
115
230
233
225
150
240
170
170
121
143
194
231
208
172
136
137
150
202
171
232
121
177
179
170
228
181
150
121
181
136
167
150
192
177
112
152
121
172
172
167
158
150
135
157
240
171
115
208
170
195
207
165
112
121
232
219
167
157
175
205
233
121
174
176
112
164
168
150
228
112
121
186
115
121
193
176
165
193
124
115
124
147
159
172
167
167
123
150
210
167
255
112
112
260
135
121
172
195
176
150
112
150
150
161
115
167
176
176
172
160
112
210
123
196
196
121
197
274
208
167
150
202
227
158
176
121
250
150
231
121
181
143
152
241
112
123
278
112
159
112
150
205
181
165
150
158
150
150
121
112
150
171
228
249
150
187
167
225
121
160
178
228
171
200
150
208
123
150
176
136
147
121
158
171
160
212
172
208
136
195
130
208
167
150
112
205
112
121
187
150
150
237
150
302
159
207
208
139
121
147
112
187
194
128
112
187
258
186
178
219
150
228
208
150
187
123
207
225
170
135
173
150
250
112
186
121
239
150
276
112
170
177
187
152
195
177
208
208
115
197
212
121
150
159
172
208
121
150
243
217
174
243
160
150
112
158
164
172
160
135
158
112
172
240
208
175
150
150
150
211
165
171
112
150
167
112
183
176
112
112
228
192
150
181
167
219
201
121
187
150
219
112
194
171
112
112
228
203
121
208
211
121
172
217
137
150
150
165
217
150
238
150
123
150
211
167
150
208
208
172
137
124
218
181
143
112
135
176
178
150
194
123
171
171
197
185
123
181
182
194
165
208
195
203
177
150
123
181
168
172
112
216
217
172
156
121
165
160
124
201
208
150
150
198
121
202
112
150
121
112
244
167
226
135
162
165
135
243
233
181
208
202
208
193
208
121
112
150
256
150
150
195
150
174
231
150
164
212
170
192
212
194
232
121
194
123
198
192
112
239
171
112
159
135
236
172
239
160
177
172
121
167
219
237
213
226
176
176
158
178
174
208
172
165
187
231
137
112
238
237
172
240
208
212
239
150
219
194
220
181
150
208
124
168
167
174
112
167
112
208
174
112
220
158
257
228
227
246
150
186
210
171
231
181
209
170
171
167
150
150
215
112
173
112
121
208
302
112
171
228
174
150
121
165
150
237
263
181
165
203
150
123
172
170
167
237
150
193
112
208
150
255
208
212
202
172
150
237
150
258
217
220
225
143
150
257
164
226
231
165
194
150
112
173
123
193
193
121
158
130
172
112
212
112
263
121
282
170
172
210
115
150
225
167
112
173
172
202
143
172
188
210
123
173
208
135
112
216
208
194
112
210
228
121
172
112
150
121
181
112
178
130
243
210
181
218
150
228
176
192
195
226
150
170
130
123
144
205
167
176
150
123
171
121
170
193
208
112
240
208
112
150
112
150
210
150
124
208
258
198
228
193
150
157
215
265
121
172
128
220
237
208
115
112
172
112
229
172
201
150
203
194
147
232
220
112
203
150
112
121
121
202
164
137
130
219
112
112
171
170
226
172
165
171
121
212
150
201
174
135
112
164
167
208
170
112
203
112
172
172
194
212
121
168
115
150
171
208
150
186
172
236
192
214
250
181
218
170
165
170
225
172
226
207
232
136
193
201
172
121
123
150
112
164
136
190
128
121
210
112
121
135
237
249
167
121
172
186
147
233
255
123
208
195
214
112
112
208
121
171
172
167
190
121
202
168
135
212
158
112
186
195
212
136
164
150
208
121
150
112
150
210
200
187
179
112
208
160
150
228
150
174
152
136
172
150
115
150
150
205
136
225
164
170
167
150
150
136
192
150
174
172
208
186
189
203
212
170
185
137
112
181
171
121
112
179
167
121
121
255
228
174
112
112
185
172
225
121
203
215
187
250
160
150
256
150
156
193
208
150
245
195
167
112
170
159
228
167
210
167
121
172
172
121
186
171
170
258
167
121
174
239
150
170
150
170
172
250
167
143
172
195
112
150
237
121
135
167
167
112
195
179
150
150
218
205
150
150
123
112
150
159
162
150
165
162
231
216
135
156
121
173
177
239
121
121
195
112
121
150
228
112
208
121
220
172
159
115
203
170
161
219
237
172
195
237
170
160
136
255
226
150
170
231
150
112
209
223
208
225
112
135
177
196
231
150
237
186
233
192
171
192
195
172
121
231
202
198
186
226
159
171
165
136
203
181
150
137
171
167
128
181
150
195
170
201
112
167
121
174
182
179
201
150
150
201
150
198
257
112
172
215
193
208
225
170
240
210
205
150
150
172
220
150
193
193
130
187
121
218
157
136
164
158
228
193
150
213
231
115
121
167
193
135
210
167
167
244
164
170
150
150
239
170
208
178
160
167
124
210
208
150
203
208
150
220
208
165
176
210
112
171
171
167
217
177
216
219
219
150
150
121
165
150
123
121
121
172
130
210
243
115
150
115
172
112
150
170
215
194
150
237
150
194
187
208
137
171
217
228
208
172
150
150
123
178
205
150
121
224
250
258
121
186
165
184
150
250
150
237
208
193
112
228
150
239
150
112
212
194
176
237
112
176
170
172
112
167
150
150
187
181
167
176
165
136
194
150
150
121
167
212
193
208
161
112
230
210
135
302
228
170
203
147
112
160
121
150
136
158
150
121
182
181
195
121
208
150
170
228
204
153
231
210
193
135
112
174
167
205
136
172
150
147
139
150
186
181
121
177
137
172
150
167
112
121
181
197
224
212
208
165
181
112
164
195
228
235
210
112
208
150
135
141
217
174
167
137
136
215
159
194
258
195
170
164
171
176
167
121
167
165
171
208
232
216
112
123
272
150
195
231
160
230
168
189
226
112
201
192
225
167
112
176
187
162
176
112
196
147
150
217
207
121
201
176
164
274
210
134
121
150
219
123
171
115
136
123
193
171
181
194
121
167
176
112
147
165
167
146
150
150
160
167
167
216
158
150
150
193
219
193
147
177
112
115
123
172
207
171
212
232
192
205
228
170
136
112
172
150
123
210
150
165
164
175
172
176
150
217
150
187
135
193
150
218
150
172
152
175
112
173
208
212
157
210
123
172
237
150
115
160
123
121
170
203
150
112
220
199
177
228
171
225
181
263
112
194
150
171
193
208
171
247
121
181
208
121
150
167
167
136
167
181
176
167
167
172
204
158
112
247
152
121
167
165
210
272
121
220
232
208
174
174
150
213
208
112
150
172
130
137
186
251
172
121
214
243
172
208
179
178
293
199
150
135
210
170
150
121
159
208
202
208
150
194
123
162
179
121
208
130
187
147
277
176
172
194
181
177
176
258
150
263
182
181
208
170
112
121
217
135
178
237
165
121
169
123
150
202
123
250
201
208
112
136
187
170
167
195
121
241
238
167
220
181
164
135
121
147
207
208
199
158
112
136
112
165
112
228
121
170
112
157
172
168
203
128
167
171
137
205
186
201
123
172
130
201
165
208
196
242
112
165
208
157
186
152
172
194
167
121
163
170
208
112
160
237
171
121
112
217
208
202
167
123
112
193
130
187
175
255
205
176
238
231
181
112
217
255
147
218
150
167
167
150
181
112
167
112
112
208
150
115
112
177
112
175
121
172
167
208
193
137
302
238
282
233
112
150
248
112
167
150
150
112
121
112
121
219
171
150
195
170
165
185
112
150
186
187
171
121
187
158
226
172
175
165
229
186
171
205
150
121
171
171
112
238
150
186
135
181
121
201
212
134
196
220
233
121
190
150
174
210
186
112
194
199
112
199
181
121
274
164
172
194
121
228
186
170
112
266
243
214
150
177
205
171
232
112
121
210
208
112
156
207
172
165
208
137
232
121
263
121
201
186
137
112
124
172
150
150
233
199
123
167
192
209
213
112
199
147
150
178
121
167
121
170
161
196
174
201
203
136
170
201
152
202
231
192
112
165
180
182
135
167
167
112
112
121
170
171
150
217
143
213
181
112
219
181
112
175
112
150
171
136
112
112
237
137
203
244
232
179
201
150
277
294
165
124
208
170
136
186
208
302
182
218
112
112
150
150
228
182
112
172
192
174
130
159
189
214
156
115
174
186
123
216
229
276
212
121
167
172
278
121
186
208
234
170
187
121
161
194
219
150
181
150
200
194
147
136
208
165
237
112
112
121
242
160
121
209
239
176
112
208
208
165
121
165
172
276
123
170
177
121
177
171
174
112
224
150
201
208
112
170
150
167
147
170
112
203
121
172
206
150
172
209
208
186
164
170
206
219
112
143
150
121
147
175
243
174
112
174
172
150
194
171
112
147
226
112
160
150
176
150
264
112
112
186
170
150
158
243
165
235
212
150
121
187
136
121
150
170
208
220
208
187
204
229
167
150
207
123
150
192
211
172
165
165
217
150
217
216
128
177
158
152
150
179
150
150
150
150
150
147
187
182
152
172
201
213
194
165
165
208
171
112
234
112
159
192
121
210
208
202
150
165
278
164
167
190
186
195
208
208
181
121
167
249
112
170
204
170
121
121
143
195
167
250
150
150
171
150
175
193
181
201
208
192
208
137
123
228
208
212
150
202
112
208
267
208
143
174
193
167
171
112
230
186
184
218
112
123
147
225
176
121
112
171
217
147
150
202
230
231
189
152
167
210
168
150
174
121
164
231
238
162
237
186
193
124
112
121
194
193
112
212
128
150
112
167
202
150
144
112
121
247
183
255
170
150
150
115
176
150
150
233
150
168
203
172
187
150
170
147
121
165
177
214
150
187
193
153
170
231
229
181
167
200
171
228
124
236
150
112
121
123
222
212
187
112
170
121
112
112
259
241
194
167
193
112
172
195
150
192
231
229
208
177
212
112
168
115
170
201
219
112
172
150
176
217
158
187
157
112
218
144
165
199
213
172
112
170
121
181
170
176
184
172
194
243
208
189
228
174
158
165
250
228
186
187
207
137
182
152
137
208
170
208
192
218
112
124
247
172
112
186
228
150
172
208
172
186
167
174
150
150
186
165
233
203
121
174
156
150
172
208
239
152
165
112
115
139
193
112
242
172
112
112
135
150
121
172
150
187
150
181
150
212
207
194
143
177
152
190
210
239
176
208
232
263
170
121
208
172
167
197
176
112
218
179
263
135
158
112
150
146
150
121
150
270
172
181
170
121
112
193
174
156
208
186
150
208
255
187
121
199
170
121
258
158
160
184
218
201
150
150
112
199
233
176
123
172
196
135
150
170
250
265
147
171
181
176
150
233
172
150
171
196
172
171
281
231
208
271
112
203
208
276
217
172
137
124
225
165
208
143
194
210
135
194
175
170
112
167
179
184
192
150
208
145
150
167
171
121
150
203
112
211
170
208
121
174
171
150
112
164
150
150
123
215
112
112
282
159
194
203
219
198
202
250
170
208
263
164
177
112
208
150
112
216
217
150
121
195
192
236
150
112
240
216
181
208
237
187
194
239
172
112
181
168
112
123
228
201
112
112
203
121
165
167
218
167
187
112
181
199
121
123
123
190
177
121
218
150
150
115
150
186
167
121
150
150
139
181
112
170
112
231
208
167
214
242
147
208
242
172
150
215
167
160
165
160
150
121
121
150
112
237
170
171
264
150
237
158
176
121
272
174
193
239
150
193
172
208
245
150
176
164
167
115
136
123
195
150
170
124
147
208
121
123
176
192
174
135
194
158
164
201
208
208
135
167
202
247
172
150
121
150
112
263
179
121
115
167
272
204
181
186
167
208
176
150
150
172
150
167
135
194
123
205
121
194
150
237
218
176
201
121
135
123
128
172
176
200
231
121
219
121
112
210
121
234
176
171
112
112
112
186
167
187
150
150
137
172
170
221
187
167
220
205
112
158
174
170
128
220
194
146
193
220
150
187
150
167
121
270
194
150
150
150
167
207
112
170
150
150
135
225
160
172
123
147
187
245
184
171
121
176
121
181
181
115
176
168
171
150
187
219
123
246
215
193
121
158
168
121
241
147
170
123
235
220
203
167
172
210
177
171
198
177
192
167
202
170
112
226
165
112
150
176
123
242
186
228
170
112
112
112
164
182
202
156
186
226
121
121
150
150
215
208
123
208
167
150
167
208
208
236
150
123
168
194
168
167
158
203
168
231
175
112
112
165
181
212
167
177
194
167
202
255
112
112
240
150
135
121
158
177
193
121
224
231
194
121
202
181
201
178
150
150
275
130
207
193
152
172
112
208
167
231
137
152
181
158
186
178
121
150
115
165
161
112
121
121
297
208
158
128
121
265
137
212
158
233
171
128
164
181
135
121
170
135
196
171
167
112
121
121
272
217
171
168
150
194
171
150
181
158
182
176
176
112
121
123
195
219
136
165
210
170
194
121
150
112
150
187
177
172
243
112
121
243
216
275
195
112
136
208
172
181
112
112
230
194
210
164
181
175
150
150
121
128
170
112
135
135
202
123
179
194
121
112
121
250
168
278
220
181
150
112
212
214
231
173
210
176
150
121
203
172
213
181
302
121
186
182
209
150
160
165
202
228
167
196
302
121
172
167
208
208
121
172
150
112
178
135
181
194
193
238
185
123
112
208
150
172
193
207
150
150
147
150
124
205
208
189
172
205
112
115
202
194
207
195
150
172
225
167
177
194
121
121
172
121
174
216
272
250
123
205
278
167
112
164
121
112
174
187
150
208
150
172
165
170
170
150
187
208
208
135
207
123
115
195
112
223
121
203
212
165
158
205
137
205
112
128
225
176
201
201
150
207
195
147
239
150
208
193
194
171
158
112
121
150
167
112
147
231
278
171
112
215
130
254
150
210
239
195
150
203
177
195
172
226
193
112
195
136
243
128
153
192
150
228
208
112
150
121
172
152
159
121
257
175
121
203
172
278
164
112
150
112
123
121
167
172
137
186
176
121
176
165
171
212
202
176
214
121
171
246
121
121
115
195
208
165
200
121
167
136
112
121
195
195
171
135
190
175
193
212
194
128
130
207
167
253
283
201
208
170
150
124
203
135
201
194
228
181
227
190
302
112
195
150
208
158
112
195
181
112
239
121
243
233
112
123
212
121
121
194
150
181
194
206
171
143
186
210
147
121
172
112
167
137
218
255
302
172
143
187
150
150
121
147
123
202
179
112
159
238
112
150
170
172
123
167
164
143
137
172
237
208
158
167
150
112
214
150
176
176
176
159
112
297
205
172
135
253
194
150
121
244
112
112
208
112
177
212
112
121
143
193
121
150
156
200
207
121
170
112
167
250
176
159
181
171
171
167
123
238
247
250
150
207
150
172
170
208
164
167
181
172
229
219
208
172
210
170
223
164
160
202
174
223
208
214
210
165
170
150
172
203
170
121
239
172
231
130
236
156
112
203
167
156
200
207
147
232
123
150
170
158
181
171
137
242
143
172
202
167
302
171
237
165
112
198
130
165
194
194
172
239
136
130
152
172
222
176
232
187
121
219
150
112
136
150
172
201
135
143
210
123
112
130
208
234
176
167
208
234
269
208
172
150
150
209
121
150
159
150
194
121
158
210
156
186
228
182
207
160
150
170
150
229
150
115
167
167
186
220
112
152
152
184
165
150
229
135
162
208
172
210
177
150
135
121
160
121
217
170
121
186
226
167
158
179
194
181
216
150
176
186
159
198
112
194
208
123
181
112
210
128
135
123
172
181
121
150
237
181
177
263
123
112
179
181
187
167
170
208
137
164
178
112
228
121
176
213
180
115
203
205
175
216
143
218
199
123
186
152
112
150
175
187
210
172
130
123
192
165
165
150
225
150
203
243
112
259
121
181
150
150
207
268
174
181
194
172
218
205
170
208
112
178
167
137
210
172
186
144
194
194
201
172
121
121
176
121
202
150
167
150
208
181
112
253
128
135
150
172
246
258
175
150
219
123
123
150
193
136
193
197
208
238
150
112
219
121
150
112
194
150
135
213
171
207
123
228
208
172
164
150
207
174
164
181
213
168
150
152
150
218
121
150
208
171
150
194
146
230
136
192
167
147
237
121
197
159
150
150
177
132
293
112
202
236
112
172
186
112
237
112
220
121
195
121
258
135
112
203
193
233
237
208
150
112
212
135
130
219
121
186
150
130
158
150
222
112
167
136
174
121
172
171
121
208
198
190
172
137
193
182
167
176
174
187
208
203
195
228
112
146
198
158
173
187
165
121
202
198
257
232
150
171
144
172
170
150
121
228
208
162
170
112
167
150
208
208
160
143
150
223
172
172
170
203
219
135
172
232
171
156
228
170
186
112
170
161
121
167
239
228
201
152
275
250
212
112
137
172
181
150
219
205
170
123
213
150
217
112
123
112
181
171
202
112
176
228
157
165
194
223
123
176
210
112
226
137
150
121
112
165
210
183
195
150
121
231
121
112
121
217
187
123
233
194
112
213
192
219
170
201
150
208
194
112
156
210
150
128
150
196
121
194
186
121
210
160
144
121
167
181
136
208
121
186
230
121
121
187
165
231
212
229
112
165
194
156
112
135
170
172
203
210
121
167
137
115
194
202
121
212
176
160
135
146
150
209
135
112
167
121
150
170
137
167
124
203
167
150
121
195
263
201
130
202
220
153
121
123
161
150
208
167
171
220
112
217
112
278
112
208
165
181
112
208
165
112
208
165
152
195
112
121
171
150
216
136
181
176
121
172
121
233
165
201
235
112
209
202
212
223
112
193
167
170
158
150
208
167
136
210
186
124
170
172
123
179
186
212
193
181
186
170
220
186
189
128
171
219
172
136
135
172
226
186
179
177
121
297
172
150
121
112
181
150
207
167
225
150
167
170
208
190
174
112
121
124
150
112
179
224
181
121
112
208
130
167
168
150
266
124
226
150
159
209
241
208
112
135
176
170
150
164
147
197
112
194
150
231
165
208
112
190
264
112
237
171
208
302
170
150
170
112
150
195
187
208
156
170
193
147
195
121
112
170
112
239
150
112
204
130
112
172
112
121
222
181
181
159
150
170
165
194
123
137
194
168
112
214
208
150
210
168
250
159
208
150
250
112
165
112
177
112
112
112
121
223
112
172
121
271
267
115
255
228
121
196
137
187
170
218
193
172
112
226
123
214
172
196
172
226
228
121
123
167
121
176
135
121
112
208
219
150
170
205
150
135
121
112
186
202
150
166
222
208
172
228
174
175
218
167
203
112
233
219
193
170
167
259
123
137
112
232
121
121
157
167
219
194
147
167
112
150
224
220
177
193
150
228
165
208
150
136
278
172
177
128
214
150
160
201
121
192
176
270
237
195
150
263
121
174
121
220
212
121
203
172
112
173
112
112
162
160
175
210
162
199
182
152
233
239
150
231
210
210
208
112
167
221
150
165
177
184
158
224
218
181
112
211
196
209
176
225
171
164
137
201
121
213
231
253
112
121
161
150
215
121
257
112
187
165
181
158
121
171
176
150
172
228
175
231
181
215
228
121
160
147
176
121
130
112
212
201
150
121
208
112
210
135
184
193
150
121
159
112
265
219
121
150
150
184
172
263
157
232
112
121
208
170
121
136
150
136
172
164
171
213
214
112
175
233
171
282
226
121
170
137
203
172
150
194
156
121
164
226
208
136
159
150
237
121
150
208
181
150
176
171
172
121
174
237
159
112
150
222
187
150
205
239
171
167
209
150
233
302
150
174
257
121
112
150
231
172
210
112
181
150
201
194
159
150
219
214
150
201
170
177
159
228
121
121
121
172
231
150
170
180
150
170
112
136
182
115
187
121
150
208
167
177
115
184
230
112
171
150
150
121
208
112
121
170
150
150
201
156
123
194
195
167
278
112
167
130
159
192
115
216
171
150
207
177
172
167
208
135
172
171
210
172
135
194
171
172
123
184
225
150
208
187
150
130
177
150
167
130
137
172
278
112
208
115
241
147
243
150
150
208
150
198
150
181
172
150
181
150
121
135
187
212
112
171
136
226
210
112
195
208
212
158
220
112
231
205
147
123
215
172
208
219
217
167
177
171
201
156
231
194
150
112
158
165
150
150
194
159
172
112
168
268
202
171
201
201
162
184
121
172
217
150
213
137
150
170
172
181
170
112
238
147
121
193
225
230
186
167
208
187
208
150
135
123
156
209
135
274
167
208
181
194
135
171
150
237
167
167
123
147
176
167
214
121
112
152
121
208
194
150
112
205
150
121
208
167
136
171
212
150
250
124
194
208
150
230
124
202
170
121
239
121
112
150
186
228
194
121
150
281
121
228
171
150
212
231
194
272
276
186
121
124
208
167
150
187
121
159
112
170
156
121
171
171
112
172
276
121
208
164
159
136
112
121
150
227
208
205
136
165
164
176
170
172
210
124
181
176
150
177
210
146
202
172
264
208
193
176
216
175
150
212
218
112
186
128
172
167
143
223
172
171
112
208
226
121
276
112
195
172
170
121
172
194
165
112
181
115
201
215
232
158
150
171
172
121
121
224
172
150
123
164
237
213
167
147
170
228
121
234
147
167
201
161
137
187
202
121
121
150
212
112
236
136
164
157
121
299
193
194
123
168
135
112
195
219
195
145
156
150
214
112
158
207
112
218
144
150
201
225
231
150
150
208
130
112
115
150
202
189
112
202
203
147
137
147
223
121
186
170
150
115
207
121
150
194
121
174
123
112
112
150
176
171
112
167
166
112
187
174
179
174
128
150
208
121
201
201
278
189
150
172
112
166
112
170
121
194
170
172
150
201
150
179
214
193
112
121
160
194
210
170
121
130
228
158
134
212
147
195
123
157
221
187
177
152
177
137
150
208
208
172
150
112
181
130
208
194
172
218
206
194
112
121
121
192
121
182
216
121
167
150
176
194
239
167
186
137
211
167
136
143
187
219
121
123
158
179
187
197
121
195
208
218
203
181
194
208
112
212
137
193
182
203
152
165
208
170
121
121
230
164
177
212
238
208
112
121
181
123
176
167
208
237
203
150
112
171
228
255
193
217
167
165
186
171
172
150
112
189
237
215
225
170
195
150
150
195
150
228
171
202
225
158
228
162
115
112
177
167
147
152
135
121
135
121
167
226
112
208
112
210
234
294
150
240
175
167
172
123
121
165
168
167
170
181
121
121
150
123
240
176
112
170
208
243
174
137
210
172
193
121
207
177
112
176
210
203
181
150
136
112
121
115
172
176
208
152
225
194
112
171
184
115
201
112
216
121
165
172
195
231
156
160
150
167
121
167
124
218
137
209
181
159
172
208
167
202
250
150
123
121
243
208
220
150
167
128
150
158
208
205
150
112
123
260
208
121
123
128
121
147
184
174
112
177
150
112
217
176
121
208
187
115
156
121
208
112
208
194
150
160
238
186
167
255
147
213
121
219
150
235
121
121
121
112
144
135
159
158
217
195
184
147
150
170
208
220
131
170
112
208
161
150
150
167
150
170
205
161
121
167
121
130
235
202
167
121
164
212
210
135
262
156
182
154
159
123
147
186
208
121
208
234
208
201
121
231
112
150
121
159
172
121
167
150
176
194
210
121
121
150
299
121
112
228
112
121
181
210
226
184
171
131
121
161
171
276
195
136
282
172
143
158
167
171
228
159
187
172
112
208
198
131
167
181
228
123
150
240
208
121
112
152
150
150
208
158
150
255
265
170
272
210
181
231
172
164
170
158
171
216
208
255
210
203
172
203
130
121
123
150
204
144
181
123
172
150
187
150
147
121
217
228
147
112
189
243
112
123
172
121
172
158
112
112
291
208
150
112
171
171
176
136
210
196
121
123
167
208
234
237
231
150
208
202
147
201
194
208
212
121
231
198
115
170
165
194
172
171
195
181
123
159
220
212
121
218
150
167
176
223
186
160
201
172
185
172
218
208
176
121
164
150
177
176
207
112
165
168
194
150
150
172
112
210
203
159
208
170
244
150
172
123
194
121
150
115
171
159
208
150
150
181
112
159
112
209
172
178
165
170
194
135
181
136
176
208
167
150
209
115
112
172
123
228
150
112
202
237
173
194
170
225
178
202
172
172
222
170
171
174
208
121
200
112
239
172
194
123
158
229
208
167
170
194
112
205
150
192
230
171
170
274
272
195
181
150
112
204
123
159
165
121
246
237
112
203
198
112
191
134
165
112
178
150
207
210
177
200
156
124
241
205
150
150
207
193
194
135
241
208
220
121
150
136
150
170
171
130
123
170
137
150
115
210
115
223
112
121
150
214
194
168
190
121
228
167
210
121
121
135
176
121
250
222
115
170
167
172
170
130
203
205
150
112
124
158
208
156
121
112
121
167
286
112
239
177
112
171
172
123
112
172
123
171
121
178
192
175
150
210
144
208
123
231
213
172
146
150
302
222
158
208
112
167
294
227
239
158
172
210
176
196
150
121
172
164
121
271
123
150
202
176
252
170
180
218
136
137
112
220
112
229
194
150
207
150
167
147
112
128
170
112
112
124
150
150
150
150
181
240
208
159
136
121
112
229
135
200
182
207
115
112
205
112
121
279
228
172
112
150
165
224
187
175
171
159
193
150
172
186
162
124
233
250
150
123
167
167
206
239
141
150
193
156
228
177
228
192
172
150
208
179
170
242
193
186
281
226
170
179
121
150
174
112
165
112
228
177
112
112
121
150
139
158
204
115
208
187
170
136
237
150
211
150
193
237
147
121
150
143
176
115
150
123
167
147
175
210
201
228
229
164
150
176
167
150
112
147
121
115
218
115
157
219
147
172
112
150
121
172
215
150
168
194
121
112
236
244
244
178
212
173
153
208
147
137
112
121
112
112
209
212
243
121
150
181
112
176
121
165
205
161
121
150
171
191
123
124
218
229
172
112
195
208
121
150
219
123
150
217
208
170
192
121
187
128
150
121
167
112
215
189
135
164
181
231
172
137
182
121
167
178
167
208
201
112
171
228
253
150
115
150
228
172
209
195
112
193
150
217
165
194
112
112
202
203
219
208
165
220
164
208
150
225
167
196
164
115
156
150
170
172
150
136
121
184
192
172
172
167
150
208
171
171
231
165
131
160
262
227
193
112
237
203
150
121
112
124
193
171
207
235
150
112
188
220
150
187
165
210
150
178
150
123
135
170
172
112
150
208
150
186
186
150
167
150
121
217
177
130
160
150
161
171
150
170
165
250
150
194
112
176
121
135
167
205
250
215
215
208
121
181
250
170
178
208
261
192
208
208
112
233
181
136
150
208
187
172
112
172
159
112
198
208
112
255
136
250
263
112
187
150
210
150
150
227
158
240
208
223
121
168
167
112
150
195
152
171
204
136
123
192
185
121
202
150
263
153
167
150
210
112
136
157
172
121
214
165
212
249
164
112
159
150
167
205
121
136
171
112
137
150
179
208
177
168
167
234
205
172
181
220
208
168
150
208
144
121
152
203
115
171
150
172
150
171
150
209
244
112
150
121
112
123
121
218
172
171
150
167
243
179
208
112
162
212
192
112
212
112
258
115
250
167
194
112
208
112
172
123
212
179
203
172
112
181
228
195
137
181
172
158
167
121
128
150
150
150
150
112
176
136
279
135
168
150
216
182
250
171
112
176
150
152
228
112
124
193
208
209
121
150
228
200
193
231
115
181
150
130
130
172
150
172
208
176
112
168
172
243
123
184
189
112
160
192
156
112
172
112
176
232
208
170
121
202
186
212
165
243
210
208
123
220
167
112
181
128
167
213
165
153
159
171
208
115
112
150
170
194
208
150
177
164
202
150
167
194
198
193
121
210
231
176
135
187
150
112
164
135
247
150
226
150
112
215
228
176
260
170
150
160
130
172
217
219
208
137
201
136
172
121
150
147
207
150
187
250
112
123
112
150
176
231
217
156
170
245
231
136
150
165
171
248
112
181
150
112
195
121
121
164
278
121
190
203
190
150
210
260
164
150
150
210
302
186
208
171
121
150
162
159
172
112
171
115
121
144
232
255
152
176
170
150
240
123
186
172
239
112
219
203
255
167
121
217
121
193
172
152
144
196
121
220
143
158
175
121
272
115
194
172
167
121
158
233
123
208
121
164
123
167
172
160
165
170
207
250
187
123
189
147
203
167
172
152
246
210
150
167
226
135
225
150
150
194
194
158
193
167
121
213
121
170
263
175
167
141
175
121
158
167
121
112
121
128
115
263
167
239
193
208
121
171
112
194
172
124
112
195
150
208
164
147
170
115
121
150
159
179
178
228
172
228
167
183
171
228
137
121
172
121
156
245
158
112
217
302
124
121
210
150
123
150
172
153
171
212
121
150
232
174
150
255
135
130
186
112
208
112
112
231
158
121
176
112
115
165
208
176
250
160
121
150
150
240
123
150
219
121
123
112
184
228
193
135
170
219
135
150
172
123
139
195
228
176
205
184
170
150
208
144
136
171
201
112
178
170
205
112
174
137
112
171
174
121
147
170
115
208
123
167
193
170
302
150
112
135
263
121
170
181
121
121
150
257
197
112
176
186
175
250
172
217
208
121
171
172
158
121
264
137
194
194
213
237
194
156
131
137
176
182
121
123
171
121
195
195
150
115
112
112
177
115
150
181
210
164
112
164
202
163
225
112
208
227
240
216
135
137
220
187
135
121
147
212
175
165
176
121
235
150
193
165
201
137
193
214
158
231
208
150
170
158
175
201
271
115
293
242
172
202
123
159
146
197
231
229
136
121
170
213
172
170
181
195
207
181
237
121
167
171
233
150
172
162
190
123
202
237
128
207
218
208
218
173
198
112
171
167
181
150
220
277
212
121
207
150
160
262
112
164
167
112
172
189
193
231
150
226
162
150
115
171
172
195
193
123
136
143
147
174
195
222
223
165
205
189
172
150
215
228
212
167
121
121
208
172
137
177
208
167
112
231
135
112
147
245
112
136
205
179
167
170
208
112
152
210
150
158
212
112
165
176
265
208
147
174
179
121
201
176
158
137
174
172
121
150
208
112
210
121
208
150
159
150
170
167
195
171
150
112
136
184
194
172
181
208
152
123
112
175
150
239
208
121
186
240
167
227
228
150
194
112
123
174
214
186
165
121
159
176
210
194
195
255
228
165
220
152
175
171
130
112
167
121
172
167
208
135
121
205
121
208
150
194
172
121
121
170
184
208
235
158
150
150
150
201
150
194
130
175
178
150
137
165
210
210
112
217
124
181
172
167
112
194
115
186
225
176
137
194
123
150
195
244
171
206
302
174
150
172
158
112
172
212
229
147
243
112
170
229
156
150
121
179
112
219
137
172
208
164
121
205
152
171
205
302
115
172
177
121
164
176
143
121
123
167
176
208
201
167
128
112
170
112
135
172
171
231
189
174
150
123
112
206
208
238
226
187
186
112
165
150
195
228
208
208
170
121
112
157
150
150
201
188
131
150
238
112
238
200
172
112
112
202
203
167
263
171
186
112
235
150
164
254
112
112
150
172
147
112
167
181
112
137
192
210
165
135
112
150
150
150
112
172
202
171
212
121
115
167
112
136
170
147
123
167
165
302
112
208
219
121
130
123
220
121
194
150
253
150
162
177
181
271
202
231
112
170
150
121
228
208
121
112
232
238
135
172
250
176
123
115
172
219
208
171
170
112
123
135
150
217
167
273
112
214
167
112
172
187
254
112
208
121
239
176
208
112
232
121
226
172
112
214
135
258
233
170
217
231
150
121
186
158
112
147
112
193
112
215
121
208
130
187
137
203
167
150
135
182
220
195
162
159
203
190
192
164
121
237
164
167
112
150
171
150
121
181
172
208
163
240
150
172
228
131
167
207
172
201
167
177
123
121
150
136
167
239
150
121
208
193
193
112
196
196
228
209
150
228
112
208
208
121
212
237
121
202
123
195
121
112
208
121
172
112
208
212
170
170
150
187
145
178
158
163
150
130
240
130
198
215
112
208
210
219
162
150
112
208
150
135
255
121
150
242
172
236
255
210
121
135
196
208
150
115
208
172
121
170
187
174
121
208
181
176
150
115
203
186
219
296
240
147
121
208
112
121
150
158
112
150
135
112
112
216
204
192
165
208
112
150
172
121
237
150
159
150
172
239
189
203
112
112
112
121
121
121
123
112
112
213
177
175
121
136
235
123
201
208
145
121
208
137
187
167
228
115
234
150
170
170
194
171
234
237
150
172
128
124
202
210
172
123
208
218
147
181
172
217
121
112
150
202
172
144
174
208
202
172
182
121
172
233
160
112
130
150
172
158
135
112
150
150
176
186
147
121
181
194
174
121
210
167
208
165
146
176
169
121
112
208
136
237
220
195
150
242
177
150
231
150
150
112
171
167
202
216
170
176
216
220
194
215
150
239
137
147
157
112
150
233
239
112
153
112
124
228
176
238
174
170
176
150
193
150
112
112
231
168
150
124
194
176
202
171
121
210
196
239
135
164
181
136
112
121
123
176
236
193
217
123
226
123
150
233
147
137
209
172
170
175
256
150
172
192
121
167
253
193
121
193
194
135
121
137
150
150
217
175
208
202
194
150
130
115
159
204
150
112
121
181
202
177
150
194
209
156
172
208
181
159
208
172
212
150
112
112
150
208
187
227
136
112
128
115
112
112
156
250
208
112
170
219
167
214
150
146
181
178
194
208
193
244
203
195
121
168
150
203
257
121
124
112
156
121
150
137
193
203
112
139
240
121
144
121
170
167
150
158
150
192
176
150
121
208
165
121
112
156
262
203
121
112
172
173
297
112
214
160
167
112
177
208
164
171
170
186
121
240
112
112
150
194
171
121
181
250
181
225
206
123
121
250
121
167
237
194
121
112
208
171
208
150
221
208
157
208
243
121
202
231
186
172
255
203
172
232
181
228
168
192
177
267
170
187
150
186
214
192
237
208
226
250
150
195
208
112
150
272
174
208
121
214
112
150
219
123
255
150
165
123
121
121
170
176
115
192
128
176
150
130
143
112
112
112
112
276
203
186
150
150
150
192
172
136
112
208
150
218
208
150
208
194
136
150
167
202
233
150
193
228
237
150
186
176
176
172
208
161
136
170
123
115
115
130
150
152
174
172
170
150
187
159
201
177
195
194
156
150
265
208
167
208
201
171
240
181
215
165
237
137
170
123
123
201
219
194
112
263
150
193
165
175
208
277
112
208
112
170
211
146
112
231
112
208
150
112
194
112
150
160
121
121
181
146
192
227
193
172
150
177
246
170
237
112
121
121
172
177
189
208
143
167
121
147
123
217
194
115
150
160
186
186
228
121
164
150
194
192
217
112
193
177
121
170
121
150
203
112
150
220
203
165
239
137
121
168
236
112
193
280
201
112
198
150
168
208
150
112
203
181
192
168
255
172
112
150
201
229
208
115
228
220
220
240
219
112
172
208
150
171
171
150
150
150
210
167
233
237
121
194
165
150
181
112
123
181
170
165
220
172
220
272
184
164
217
112
177
112
186
156
158
208
112
181
237
150
121
150
112
150
243
194
177
150
112
208
112
128
181
112
272
112
150
194
181
255
172
150
121
121
226
216
174
228
112
236
112
136
175
150
170
231
112
208
150
159
198
112
159
194
130
167
112
150
112
170
207
193
231
160
208
121
168
165
189
228
208
150
172
167
213
208
171
112
206
231
143
115
165
186
165
233
135
150
160
211
242
165
112
112
121
121
112
167
211
121
121
195
175
215
121
239
255
123
190
170
237
244
121
165
208
170
150
150
222
220
150
226
228
208
123
203
121
167
158
193
150
150
219
172
243
130
121
150
130
112
245
135
194
228
228
257
150
232
143
167
184
136
223
137
172
223
174
194
150
164
164
150
193
201
121
194
210
172
181
192
231
167
123
143
167
195
263
201
121
150
112
193
150
158
172
233
150
121
160
121
178
240
185
218
134
150
176
172
181
121
170
123
170
231
211
112
193
172
112
208
160
197
150
201
121
150
240
172
150
238
152
207
121
176
165
121
231
156
252
121
254
112
224
147
196
136
193
278
167
234
150
174
186
172
165
226
112
171
180
212
171
186
170
121
217
212
235
176
150
123
156
121
150
112
170
239
112
187
165
172
158
210
150
112
182
172
217
150
210
132
234
210
174
186
203
232
186
136
177
150
217
210
123
237
194
210
208
112
170
161
150
174
187
135
210
210
220
112
197
157
176
112
223
150
174
172
112
165
150
158
123
187
172
205
215
208
217
150
136
250
172
186
208
232
171
171
143
212
112
240
195
112
196
150
181
202
135
250
112
217
193
255
136
171
194
172
131
130
173
208
257
172
177
121
157
121
174
123
187
181
135
167
187
143
171
115
152
208
184
150
165
172
147
256
136
150
150
207
172
209
112
147
217
150
121
175
150
128
165
112
168
150
150
186
158
228
150
112
124
208
302
150
203
112
136
172
177
179
172
112
186
171
123
147
302
202
216
213
237
193
167
231
112
208
150
196
275
150
202
170
130
171
191
150
132
189
115
112
194
171
159
218
171
203
112
165
170
150
159
212
170
181
165
208
164
184
171
208
112
210
176
179
121
228
150
205
208
150
204
235
190
186
167
150
208
176
167
121
112
186
137
176
115
160
210
150
172
167
150
112
135
232
121
177
211
202
196
112
193
201
181
198
112
112
212
123
250
112
112
121
208
150
121
167
202
217
112
112
202
186
208
121
181
225
170
123
124
193
229
208
143
121
208
234
170
217
150
195
193
112
173
170
202
112
112
121
136
165
170
237
172
208
187
112
242
228
193
156
177
143
112
167
152
194
210
112
203
171
121
223
237
252
255
214
121
167
212
220
128
150
112
115
112
150
121
150
168
150
195
136
112
144
186
194
112
150
112
121
228
179
112
194
210
167
193
150
208
194
186
219
112
224
219
150
124
123
158
193
181
121
150
112
135
184
231
171
236
174
241
242
128
187
194
112
190
209
201
170
217
115
223
112
174
112
144
137
208
172
121
121
112
174
112
194
112
189
195
150
193
209
199
219
130
181
121
167
187
171
228
143
202
112
150
150
171
112
150
225
208
229
208
196
112
150
135
135
167
192
168
112
208
194
194
123
231
157
136
208
121
167
194
206
255
150
201
156
112
234
186
112
170
156
147
225
165
144
150
137
165
150
121
259
112
121
112
201
208
112
181
165
112
203
200
193
171
208
225
150
214
194
156
123
152
112
150
207
123
112
135
112
115
121
121
210
172
232
192
208
171
130
252
158
150
150
179
214
217
177
112
219
158
112
208
263
205
208
165
177
255
208
121
237
177
238
247
230
136
229
209
239
165
146
231
228
121
196
168
181
224
159
194
203
164
172
176
165
247
168
150
172
210
208
150
205
121
172
172
186
170
176
192
150
150
192
121
237
236
260
167
160
171
187
150
150
170
115
150
115
121
172
171
165
210
150
150
144
263
302
112
243
176
121
164
136
172
239
186
196
150
150
196
265
218
171
201
167
171
210
172
186
237
112
121
194
167
150
136
170
172
199
175
150
172
124
136
121
165
159
160
202
115
178
150
121
167
136
208
208
112
172
208
210
150
121
165
150
195
147
112
170
171
231
123
130
112
198
225
115
226
205
167
164
150
172
181
172
112
181
159
212
112
171
170
228
208
187
208
176
195
172
186
136
172
171
150
224
112
194
135
150
170
208
193
205
115
193
112
194
208
181
172
172
128
150
193
189
150
136
165
176
237
210
225
172
112
172
121
124
172
187
121
228
135
170
135
187
123
186
112
152
170
150
143
174
208
229
203
181
121
112
172
150
192
144
112
208
193
121
203
231
158
242
167
203
150
237
201
167
124
172
167
228
159
112
216
167
112
203
139
232
112
172
121
172
156
172
181
112
177
220
150
167
208
150
112
147
181
193
141
150
121
208
165
147
121
112
176
194
158
203
150
219
181
121
288
167
225
159
150
160
150
160
150
165
176
171
207
205
207
130
167
247
242
123
158
212
112
159
115
167
223
176
231
167
172
165
167
152
171
121
210
200
136
278
167
150
167
136
150
150
150
208
164
112
219
228
172
112
165
187
172
159
236
195
159
172
161
164
171
136
184
112
195
243
150
135
208
112
135
179
128
170
150
172
215
121
208
194
208
195
202
172
212
203
236
130
201
115
250
172
123
208
147
150
249
164
194
112
220
144
202
147
150
171
121
121
112
175
150
121
172
171
150
175
150
219
147
112
182
171
150
208
164
172
207
112
165
167
210
137
215
156
223
208
152
161
244
165
171
243
181
170
205
112
208
278
174
251
121
186
150
150
112
123
175
181
175
150
112
172
150
231
186
121
187
212
171
200
150
167
217
208
275
194
174
195
150
196
112
112
208
202
205
225
172
171
172
172
164
225
112
152
157
186
123
223
181
170
167
182
112
150
208
186
207
208
150
121
158
268
112
226
166
212
150
121
187
172
112
259
201
228
210
207
192
152
207
136
165
203
167
150
181
186
171
172
172
147
165
137
121
170
115
189
150
230
172
145
187
135
246
123
181
176
175
115
208
121
121
228
167
194
112
240
208
121
164
215
184
219
121
112
178
186
194
121
181
186
172
208
187
171
167
121
112
202
112
123
237
136
144
170
131
241
195
208
216
137
112
157
219
268
147
150
167
255
172
208
167
194
123
204
186
170
181
264
181
199
210
172
186
152
239
194
210
112
239
181
112
172
121
150
208
112
181
170
112
112
112
181
164
150
170
192
156
172
160
203
150
121
226
167
136
236
112
225
208
188
121
175
231
190
242
172
112
228
202
171
167
167
250
123
264
208
170
193
172
211
231
177
170
167
217
121
171
150
197
150
239
217
112
158
167
171
121
213
176
115
207
137
205
201
150
135
176
195
112
112
207
150
112
128
171
208
172
160
123
167
181
112
209
136
225
237
212
123
172
174
112
172
175
205
112
174
112
228
167
171
172
176
150
150
121
208
194
150
147
201
194
150
150
150
150
150
150
227
208
172
112
171
193
150
112
194
158
150
208
193
137
181
135
123
187
179
150
112
181
202
157
172
195
172
121
181
136
202
150
135
176
121
163
121
233
171
202
121
135
181
112
121
210
210
272
171
112
115
181
212
123
135
167
167
212
150
121
124
150
167
121
112
192
171
112
172
208
236
137
208
121
152
171
136
135
201
150
121
177
112
181
112
239
136
112
208
123
229
194
186
165
123
181
121
121
112
217
121
217
175
158
195
150
170
152
121
112
187
170
164
211
163
112
135
153
174
135
121
156
237
208
112
150
282
112
181
181
208
158
165
170
128
218
235
228
193
170
150
121
171
171
150
150
172
181
203
243
112
210
112
176
202
220
172
195
150
171
150
175
147
176
167
123
210
121
210
255
150
112
208
172
112
201
246
157
172
112
136
218
139
195
186
186
219
228
187
156
112
150
121
172
150
158
112
165
229
208
150
263
208
130
121
217
219
226
172
257
121
194
210
212
207
202
208
150
255
208
250
165
226
128
112
208
193
164
152
112
130
150
181
222
144
231
225
168
167
161
210
121
201
123
121
257
172
150
177
211
242
181
159
121
152
112
143
147
112
219
208
121
168
150
178
181
203
172
244
172
112
121
193
210
161
150
150
237
121
194
186
112
150
121
112
179
112
232
121
194
150
115
172
195
254
229
217
150
219
158
173
208
237
229
208
220
170
192
172
135
112
150
208
150
231
208
165
121
121
150
171
121
223
176
189
214
172
112
203
147
150
156
150
207
123
195
112
172
135
165
164
112
255
150
136
218
181
195
208
150
150
121
208
150
214
165
220
150
240
187
112
187
255
112
171
181
167
195
220
112
121
208
128
124
136
170
112
231
150
230
207
255
293
187
121
177
232
150
172
208
181
181
194
121
197
123
208
112
208
112
157
150
150
208
217
255
165
209
195
176
123
186
179
172
239
208
203
121
193
208
181
172
112
156
136
208
144
210
174
171
171
260
150
226
112
208
112
205
135
172
121
203
164
209
181
112
167
130
172
137
201
121
208
171
172
187
193
186
239
172
190
121
225
147
121
168
147
150
199
192
150
228
194
165
128
226
112
172
236
206
181
121
150
176
208
171
123
121
302
112
168
159
201
170
123
167
123
150
170
170
121
255
150
150
150
135
123
170
136
219
212
137
121
241
167
168
226
137
165
167
228
208
124
121
170
219
158
203
193
172
123
137
177
150
153
123
302
123
150
150
172
219
208
167
115
156
229
218
150
115
237
201
164
179
112
192
115
144
167
250
226
220
185
167
228
161
228
150
208
176
167
150
215
170
199
228
146
172
184
177
198
250
112
208
196
178
220
150
194
112
177
205
171
272
150
158
208
228
112
150
147
152
170
112
123
112
150
203
112
143
172
205
193
226
123
124
196
171
150
231
121
172
167
150
210
220
165
172
172
158
231
297
243
172
137
170
175
181
172
150
165
242
128
171
136
228
135
115
112
160
171
172
208
121
177
192
172
121
174
181
179
130
115
121
208
121
235
112
215
201
204
208
172
150
136
112
170
150
202
112
112
150
247
167
112
255
160
167
112
174
159
112
150
194
172
175
172
179
150
123
174
211
195
194
184
205
165
146
189
176
123
170
209
112
115
136
250
150
170
157
135
231
112
208
135
112
223
121
160
177
165
220
170
156
124
170
152
121
121
195
190
207
237
219
220
170
112
207
171
112
170
232
150
150
171
165
181
172
208
257
123
136
153
167
179
156
182
168
150
112
135
156
195
220
150
112
170
208
202
165
150
213
150
150
136
209
176
208
121
150
112
227
192
121
210
121
112
238
161
172
170
150
177
136
208
208
112
213
112
233
203
164
209
179
167
167
124
112
135
121
201
171
172
137
170
130
121
161
165
229
150
112
170
150
121
170
171
215
143
112
203
233
158
112
112
202
186
123
176
160
194
112
208
205
156
207
150
150
112
236
164
165
172
150
137
208
112
212
121
194
189
150
216
176
112
167
150
170
152
123
208
150
150
192
121
115
250
226
208
160
112
167
112
135
204
159
228
208
150
150
165
302
160
121
176
208
230
172
147
132
237
181
195
112
172
187
208
147
137
203
171
121
167
150
208
123
178
112
192
156
172
201
156
112
167
181
172
208
176
227
150
195
226
195
112
112
150
196
212
171
170
136
150
112
121
208
112
150
121
200
121
170
250
121
165
179
150
201
186
167
226
194
150
150
150
186
218
195
208
228
112
156
172
170
124
150
159
240
218
177
165
217
194
123
159
172
208
213
172
112
229
181
160
193
121
121
207
112
194
121
228
150
150
175
195
205
208
229
198
172
167
121
237
202
163
237
136
182
170
272
162
112
186
174
184
177
150
112
121
195
135
121
112
157
193
181
208
136
136
237
210
135
124
167
121
203
150
121
258
172
219
150
165
150
167
147
152
194
205
194
181
208
121
186
181
168
112
219
212
220
121
212
259
194
121
112
171
150
214
167
220
150
150
193
121
121
123
112
115
212
220
167
112
209
167
172
112
165
121
150
220
112
112
121
121
187
172
208
112
172
112
150
121
150
167
168
231
216
150
150
150
194
150
223
167
302
147
112
150
167
286
181
150
150
228
194
165
243
171
214
172
181
176
200
305
265
135
112
121
208
157
123
212
210
208
115
250
239
197
187
160
124
170
170
233
176
156
150
192
182
172
208
194
112
233
199
170
218
112
150
208
225
250
112
225
187
194
175
130
112
156
150
228
231
172
200
208
137
171
156
123
123
121
121
115
159
150
112
182
225
214
167
208
194
170
159
228
186
158
172
187
282
167
150
159
208
172
219
123
194
112
208
189
159
186
172
121
208
176
176
150
172
226
208
202
159
208
192
278
157
172
175
201
112
181
253
219
217
121
112
121
248
228
121
160
246
172
233
240
112
150
167
165
150
123
143
150
150
174
170
167
121
179
202
226
193
165
124
181
112
112
219
194
135
128
172
171
194
112
121
250
112
218
208
121
121
212
160
150
137
202
167
150
171
124
165
181
240
150
217
176
189
211
112
112
121
194
172
172
208
112
167
123
250
204
192
168
196
124
233
171
204
147
203
121
135
179
123
170
147
186
158
217
238
174
195
150
171
115
121
147
137
150
212
112
212
196
121
208
195
255
172
208
228
171
128
152
218
188
112
150
172
150
137
170
150
228
123
150
134
150
164
187
181
136
121
208
128
170
166
208
143
228
112
135
159
112
288
216
192
112
158
112
212
201
228
143
196
147
112
193
210
236
112
123
229
176
170
171
121
194
231
158
112
203
121
201
170
147
172
228
168
121
231
112
150
265
193
234
210
223
171
207
121
172
121
176
112
123
112
159
150
177
205
208
189
121
219
217
135
123
115
150
176
172
121
170
150
194
174
259
216
220
167
123
205
171
135
174
158
150
158
150
171
210
150
195
123
112
147
137
150
170
208
194
208
176
137
150
193
174
150
123
208
170
208
226
159
170
181
194
137
229
202
210
171
136
187
228
137
168
115
172
208
135
167
225
112
167
186
112
172
112
112
218
214
112
112
179
112
123
160
194
171
208
121
196
195
150
217
258
170
112
112
297
172
186
229
158
178
112
175
176
210
170
115
217
112
150
160
112
167
167
150
112
147
112
233
210
112
150
150
186
220
212
250
174
170
210
208
202
150
216
206
112
121
302
200
135
202
112
218
112
181
171
147
190
121
172
208
130
121
208
164
217
112
112
187
150
228
208
160
112
121
172
123
171
121
115
112
210
159
121
302
193
181
112
216
208
150
253
170
136
183
175
243
181
167
167
170
175
150
176
112
112
208
238
196
115
170
272
165
123
174
170
121
167
167
240
170
170
121
144
202
201
250
165
150
130
152
195
172
150
181
194
181
167
150
165
130
156
150
250
208
121
121
165
112
208
215
181
112
203
167
137
150
212
186
208
202
205
123
201
170
194
171
237
164
195
112
195
192
159
176
208
172
150
195
112
170
237
167
160
192
181
176
123
137
239
147
150
150
137
207
275
250
112
212
170
220
217
112
121
172
170
216
150
175
239
202
236
112
123
150
174
112
170
210
150
205
220
278
165
112
226
150
193
112
147
243
186
167
167
143
227
205
172
164
150
214
135
165
123
112
181
165
150
123
243
147
121
150
175
237
208
247
177
158
170
192
121
210
150
150
228
215
229
185
135
166
121
150
187
194
250
186
202
160
202
202
208
186
200
263
171
210
112
112
112
112
192
176
121
208
121
220
171
164
150
205
165
112
217
243
205
171
121
193
172
121
158
150
164
181
150
150
112
172
205
112
112
208
121
150
208
121
121
156
143
214
121
121
150
171
172
152
121
121
208
121
236
165
158
172
112
112
228
121
150
121
112
170
124
164
195
135
150
121
121
112
219
229
193
156
124
121
208
170
195
172
112
165
202
172
214
159
158
238
167
150
207
187
184
187
167
220
171
121
121
223
170
208
208
179
186
230
223
150
230
152
171
137
150
176
172
202
208
147
123
124
189
121
121
168
233
181
158
159
193
205
160
172
167
193
233
168
150
165
208
181
112
172
204
212
176
226
202
171
241
190
207
202
115
228
179
181
112
121
171
135
190
170
167
130
130
150
150
172
150
161
239
239
208
135
225
143
194
217
201
156
123
216
147
172
171
112
165
112
228
250
155
228
150
275
226
121
121
150
150
121
112
112
172
250
231
170
216
207
172
208
172
150
239
181
121
167
194
176
121
172
144
137
135
186
112
172
112
243
195
186
130
170
181
212
208
167
189
121
121
150
170
228
167
171
195
150
150
208
164
135
212
165
123
112
121
212
218
203
270
159
156
202
225
210
176
170
184
184
190
112
159
150
172
210
121
172
302
171
167
150
194
207
121
217
112
243
189
112
243
176
150
177
201
112
181
177
157
201
170
195
121
150
123
157
167
167
199
176
239
174
156
112
174
196
112
239
112
128
171
298
219
121
186
193
231
112
172
167
235
208
206
112
253
150
171
136
165
112
185
193
135
157
240
208
159
237
184
213
135
175
112
162
208
112
212
195
195
112
232
243
112
187
150
232
136
112
194
208
190
128
128
168
167
165
202
170
201
172
170
236
121
143
207
130
302
121
167
152
112
123
203
135
112
123
206
281
121
112
150
150
121
186
202
123
165
201
181
121
208
195
150
195
150
128
208
181
150
209
123
112
208
115
195
170
150
171
137
233
186
172
123
121
213
208
172
167
201
121
131
121
189
231
143
147
159
158
229
204
174
170
216
210
162
176
261
156
112
196
238
160
165
121
172
150
136
218
172
150
121
167
170
121
208
128
165
223
167
123
112
150
165
210
170
150
238
167
170
170
228
178
238
162
112
229
195
112
195
112
123
182
178
136
160
174
159
165
137
228
182
233
123
112
219
121
112
112
172
160
136
171
196
112
247
146
162
160
167
208
236
150
170
150
167
158
130
167
219
229
123
176
150
194
112
150
206
150
203
181
112
136
208
121
236
172
194
172
150
215
121
121
150
165
186
210
150
150
250
124
167
150
186
121
276
215
115
165
217
243
167
171
219
112
124
227
239
193
201
210
112
150
187
143
202
150
195
144
156
150
225
150
302
130
220
193
150
176
143
150
160
193
174
135
170
150
203
243
195
194
186
240
147
121
203
150
167
170
112
135
112
112
121
209
208
150
214
240
150
195
208
150
121
208
236
121
253
150
123
203
128
121
260
150
208
177
150
233
160
150
167
208
193
172
121
121
167
172
223
121
172
123
121
176
143
121
167
115
160
220
121
208
150
150
167
194
208
208
182
112
150
255
174
147
207
194
170
150
150
112
194
112
212
112
150
150
112
112
194
208
123
190
112
112
150
164
121
181
219
223
160
179
165
135
240
210
112
195
230
211
212
177
115
195
150
208
229
112
130
229
165
168
172
136
121
132
112
112
187
255
237
158
170
181
239
112
115
263
121
194
229
231
255
186
237
137
174
150
121
167
222
150
167
228
171
121
190
146
220
150
121
150
112
171
181
171
235
150
202
171
175
172
146
150
176
139
194
112
112
150
208
208
172
175
150
217
136
237
112
189
168
237
202
194
112
150
202
150
165
150
160
170
163
123
163
137
186
121
217
167
189
193
210
195
176
243
207
170
121
121
172
150
123
150
152
121
187
167
112
226
174
174
130
137
202
112
237
112
176
171
112
208
123
172
150
167
270
165
210
158
130
239
112
130
186
212
203
171
112
176
112
124
112
201
170
186
202
208
147
210
208
136
123
171
167
170
135
121
176
112
208
252
249
112
150
150
213
173
194
233
136
171
147
186
194
130
176
150
121
128
176
208
167
150
176
250
181
123
170
112
123
156
219
186
150
121
195
194
121
144
147
145
201
150
208
228
178
112
112
212
172
194
194
233
192
167
136
171
207
167
181
150
172
170
150
342
218
170
227
208
181
175
150
186
194
202
228
121
228
182
189
235
143
165
159
112
121
205
150
202
177
115
210
112
276
171
176
156
150
193
223
144
112
193
186
239
178
121
171
342
255
121
287
167
123
194
201
194
228
208
165
165
250
211
174
128
244
176
193
112
150
150
112
203
187
214
244
150
206
194
208
150
207
115
280
208
171
150
181
150
165
186
203
135
177
115
193
172
208
150
167
135
207
112
123
131
150
205
218
245
158
205
158
121
204
208
174
208
123
171
181
150
216
202
173
226
208
150
128
144
123
150
177
144
201
174
121
208
123
167
171
194
201
243
231
147
124
121
171
112
178
225
206
121
112
160
193
121
150
162
136
147
171
150
176
112
185
176
202
186
194
208
210
208
170
150
135
228
112
121
112
170
167
150
205
194
158
150
237
228
186
212
175
112
236
130
188
175
194
176
112
112
171
159
168
242
239
193
272
205
226
150
231
150
228
112
112
121
123
176
121
147
165
112
123
172
175
121
112
226
121
193
124
261
146
167
203
212
150
240
112
143
150
121
164
167
150
210
208
167
171
207
150
242
208
135
177
172
170
172
123
210
158
204
135
121
228
208
226
164
143
150
183
194
159
172
209
150
147
186
231
112
121
112
167
121
217
242
177
112
189
208
177
167
187
226
112
136
170
167
172
246
171
167
181
203
220
121
150
208
121
165
232
257
228
242
160
218
232
201
112
170
112
193
181
150
167
207
136
168
121
146
150
150
219
121
171
203
177
150
212
208
208
186
229
208
130
167
150
220
207
112
220
156
170
121
259
167
195
215
143
112
150
194
202
112
242
135
201
194
171
135
201
186
250
172
194
128
150
112
173
208
193
170
121
226
185
171
112
196
174
150
165
112
195
164
190
150
217
121
123
171
112
112
112
141
264
168
124
212
159
202
150
150
190
253
121
178
170
167
165
203
217
121
143
121
202
112
150
194
194
185
172
208
136
112
159
261
218
189
209
135
172
123
228
349
250
112
112
150
150
174
150
219
201
176
208
186
159
158
112
259
232
150
123
172
112
181
235
171
208
218
135
171
143
192
112
112
150
147
150
228
193
170
112
121
230
112
205
167
172
150
136
208
263
170
150
263
150
233
202
179
170
206
187
112
228
178
121
196
211
150
170
121
112
208
121
212
150
159
195
160
182
208
218
200
136
156
112
208
193
121
172
208
112
187
202
198
135
112
165
208
172
234
172
160
202
181
194
170
186
160
193
123
204
186
121
212
186
167
150
112
135
170
164
137
208
150
220
187
150
208
112
208
225
181
202
250
192
136
172
150
150
167
186
150
147
167
231
150
176
175
174
150
223
278
170
215
170
170
194
112
155
150
172
172
137
121
147
300
201
208
158
171
172
189
186
171
123
187
257
184
177
263
121
259
168
171
121
165
210
123
226
219
165
150
219
121
274
167
112
150
164
121
162
208
257
218
170
177
150
205
236
172
210
162
194
250
172
159
219
158
219
193
121
208
121
208
224
214
235
121
194
112
208
195
130
143
228
218
112
150
150
135
253
220
121
221
121
147
112
150
172
123
150
208
150
121
112
181
170
150
193
239
121
167
112
194
208
150
164
165
272
176
170
176
164
165
164
194
121
172
210
170
223
195
278
170
112
177
202
172
177
137
112
255
203
112
150
136
241
203
172
160
203
193
150
173
146
208
192
204
112
175
218
181
193
123
250
172
213
193
174
150
172
208
158
112
147
146
112
112
186
187
150
150
228
211
121
150
171
112
210
112
210
193
171
208
186
121
168
172
172
121
112
158
172
164
185
176
159
158
200
205
231
121
115
160
112
186
176
190
135
165
220
195
112
207
170
131
112
188
165
112
193
123
211
150
123
150
194
186
170
243
181
123
207
112
121
233
124
137
121
201
123
124
263
172
123
184
170
121
150
115
135
167
207
193
150
150
121
165
170
194
193
112
184
157
172
193
150
220
177
225
190
203
181
139
150
167
164
193
217
182
121
208
165
121
150
232
170
115
112
186
208
112
123
115
198
209
172
255
172
207
121
201
255
170
112
112
136
124
112
112
175
186
208
195
112
112
217
241
176
150
150
227
227
203
214
161
150
137
159
121
172
150
218
170
171
121
208
112
228
193
121
203
263
255
263
172
165
159
112
172
112
194
112
121
150
176
282
147
194
159
281
112
194
135
150
171
259
115
112
208
121
193
177
208
176
230
193
231
229
208
112
167
124
202
210
159
150
174
208
195
192
146
150
226
202
237
112
261
172
150
150
230
221
240
208
150
150
208
174
170
217
219
231
176
123
172
167
135
226
181
233
194
208
196
172
167
193
135
167
208
172
137
171
193
165
274
181
195
175
112
187
137
121
115
135
121
112
194
175
209
208
194
200
232
112
167
193
228
150
181
112
195
112
170
147
203
170
168
150
121
231
128
177
181
112
177
150
208
170
147
112
121
263
210
217
150
231
167
181
206
208
121
121
170
205
233
177
176
158
186
176
112
170
123
121
112
223
112
187
167
147
241
213
201
112
158
208
195
170
262
171
170
121
112
167
206
150
150
121
150
187
150
211
152
115
182
159
178
150
171
112
112
176
165
172
237
112
121
193
137
228
212
150
136
147
181
255
112
152
279
165
170
144
226
179
194
159
195
121
302
150
237
167
211
171
123
194
156
239
177
150
237
181
201
137
278
115
112
150
193
136
112
153
165
112
121
112
176
121
167
212
123
130
146
208
178
115
263
150
137
150
174
136
150
135
167
161
178
192
128
186
229
238
135
208
150
250
276
186
205
208
208
243
208
208
226
150
159
115
171
112
170
164
276
150
167
161
208
208
147
225
176
217
147
150
170
165
195
258
160
121
150
228
205
177
150
170
176
147
137
174
150
202
168
170
187
223
123
186
150
168
193
137
123
150
112
123
212
207
150
171
176
208
172
192
112
164
228
172
171
112
150
135
208
150
150
165
115
205
123
150
228
156
131
150
168
159
112
186
150
143
165
115
168
196
202
147
208
150
193
233
124
176
250
112
187
194
135
170
189
150
172
203
219
112
201
150
172
112
196
150
112
150
150
276
121
150
139
150
170
207
231
123
123
121
235
115
179
201
227
168
167
112
208
165
121
112
143
112
255
267
193
187
123
124
186
150
165
156
147
219
179
172
112
176
158
181
121
121
228
112
112
188
228
192
177
176
208
137
177
205
193
188
121
181
150
208
208
243
137
147
278
228
272
123
150
204
177
121
203
112
167
195
167
186
121
167
112
232
171
181
208
112
236
171
171
203
208
150
147
181
192
206
197
208
121
208
236
237
193
156
164
176
167
177
121
158
219
112
172
144
123
208
193
186
168
121
139
177
172
193
137
171
181
228
150
130
210
181
121
239
171
210
112
147
165
150
165
135
209
147
150
177
194
186
137
123
212
258
167
112
150
208
121
150
147
115
121
156
218
150
121
121
121
150
150
179
264
165
121
193
208
121
112
150
219
164
150
171
150
172
121
150
204
186
208
202
135
112
237
150
112
210
167
150
112
160
216
208
165
112
219
112
137
121
172
124
175
158
212
181
192
194
167
147
150
208
170
172
150
171
302
181
172
172
150
236
262
302
208
159
187
223
156
121
150
217
171
187
167
231
175
187
121
167
150
186
186
150
291
201
212
150
121
167
170
165
201
121
112
208
192
150
195
161
228
202
193
159
147
150
224
349
202
170
195
223
161
112
150
121
228
112
167
147
172
159
164
150
170
172
182
112
190
203
194
156
112
150
228
210
236
209
135
184
225
153
150
217
121
112
167
182
150
187
150
123
121
115
176
150
112
234
171
226
239
187
193
150
167
165
175
193
260
147
147
208
137
172
150
237
121
112
212
196
174
121
112
150
263
159
130
250
189
299
208
208
147
121
202
112
150
205
208
167
164
201
179
170
170
135
121
121
189
121
237
172
112
135
194
170
150
177
181
212
198
150
128
207
112
220
208
112
150
215
177
179
123
201
112
112
115
181
176
231
215
179
208
210
112
193
172
112
112
115
167
115
208
181
150
123
123
112
135
219
150
218
150
172
171
201
170
121
167
208
172
185
200
150
121
121
170
131
121
188
160
228
167
150
115
112
181
162
167
207
177
167
167
172
121
223
186
178
181
284
170
121
164
128
208
236
130
196
177
136
187
165
150
255
158
194
150
121
121
225
164
255
160
112
205
121
115
184
121
210
224
208
121
186
172
178
115
244
172
172
178
121
147
203
187
208
123
229
170
124
112
176
203
215
150
112
168
150
152
170
150
187
205
208
115
220
112
121
172
208
208
170
172
208
172
137
135
123
219
150
172
130
150
194
177
193
165
179
235
186
136
165
167
112
170
276
182
257
218
167
123
136
205
157
226
164
172
150
212
165
128
159
207
136
167
112
137
150
278
150
121
211
179
112
128
167
121
176
112
121
112
200
240
112
150
150
190
159
186
135
265
190
170
170
146
158
220
121
176
223
176
121
194
193
236
150
112
172
237
193
185
172
218
150
165
181
229
167
112
220
121
170
238
150
123
136
228
112
292
170
226
121
193
225
167
167
164
189
167
150
150
193
115
208
208
121
167
135
172
244
128
135
228
167
150
182
150
247
279
208
176
219
171
186
226
158
121
164
189
150
165
121
208
229
165
150
233
172
167
195
260
239
115
182
137
112
230
191
156
143
150
124
239
228
159
130
219
130
112
196
150
263
208
121
150
123
271
121
115
214
121
153
176
146
121
112
172
123
215
112
171
254
219
225
150
186
206
150
165
150
262
164
115
123
123
112
195
187
123
160
112
209
176
174
121
203
225
170
123
112
115
208
176
121
234
208
150
257
195
170
208
121
112
171
150
121
112
150
170
112
150
112
167
170
240
123
222
233
150
175
239
141
170
112
121
121
208
181
150
172
176
130
187
223
192
172
167
170
172
150
187
112
196
112
170
197
150
167
167
121
167
217
212
182
112
130
167
121
139
259
212
202
284
123
186
226
217
204
115
157
209
196
123
123
167
112
144
150
160
112
147
164
228
170
121
234
170
150
115
171
150
181
250
202
136
254
205
121
211
190
164
186
227
152
137
123
121
181
124
212
228
193
181
174
135
170
124
112
237
189
231
230
181
174
121
172
210
228
210
176
173
121
184
167
222
158
150
201
208
150
207
112
164
123
208
135
150
210
201
192
143
176
268
171
228
150
194
190
197
181
121
167
172
136
201
135
121
112
218
112
194
231
121
238
150
150
170
123
172
112
150
194
167
186
112
243
121
136
150
305
136
203
235
150
123
150
150
123
203
112
150
172
193
174
171
170
172
193
123
170
121
150
244
156
137
115
164
203
208
206
170
178
208
190
194
208
115
208
162
170
225
159
201
212
172
128
112
168
172
184
150
121
121
123
195
121
253
232
217
150
130
258
208
207
220
208
121
208
187
172
218
150
172
123
208
112
134
143
164
228
188
112
181
171
172
175
165
121
150
123
176
253
195
220
167
231
189
135
136
139
115
137
171
137
112
112
167
112
115
170
165
150
112
241
121
193
193
207
194
282
186
170
121
209
121
150
150
150
195
112
135
123
264
121
150
121
187
137
150
135
123
135
136
194
177
135
176
150
144
115
208
175
121
150
112
201
135
230
234
171
150
123
115
228
112
121
150
201
177
123
150
112
208
150
181
184
167
210
160
175
194
150
160
172
160
182
210
135
137
192
150
156
171
112
181
203
204
172
112
202
174
150
130
215
135
212
174
170
172
228
174
208
172
186
172
167
194
137
186
135
167
205
176
239
208
158
124
193
128
121
184
135
250
210
135
150
150
136
278
220
239
208
230
121
112
211
172
112
171
121
121
146
195
150
212
150
152
121
159
228
208
208
226
123
186
150
195
160
171
170
208
208
182
121
172
171
147
172
128
167
121
174
212
147
112
146
223
210
172
167
147
143
231
121
172
150
152
112
147
134
136
176
167
160
150
171
112
121
121
213
136
193
130
156
187
194
150
150
257
177
205
231
237
167
194
115
150
228
186
184
224
112
199
193
276
196
242
214
258
171
165
112
115
150
199
181
167
153
135
147
193
137
170
208
121
172
112
179
171
195
214
121
200
170
131
147
216
208
212
121
150
206
165
136
112
172
150
208
255
162
174
179
192
187
194
150
172
208
121
167
174
182
112
121
172
201
213
121
186
150
208
172
121
181
160
112
168
112
139
150
112
172
172
150
167
208
123
194
208
241
164
220
170
150
137
192
182
210
161
269
218
171
131
150
172
152
172
123
172
229
192
112
241
156
150
174
172
208
232
136
202
121
281
150
176
167
186
208
212
208
136
124
218
150
150
192
216
112
170
208
112
172
165
158
208
167
150
259
229
150
121
255
196
208
186
168
216
112
192
193
112
112
172
112
170
208
193
172
174
192
212
212
123
213
208
121
150
136
212
112
174
184
237
115
164
205
171
150
150
240
160
236
208
172
123
158
121
205
181
240
217
203
112
160
167
257
159
112
182
121
112
121
208
123
186
236
150
121
194
172
205
231
137
167
181
230
121
144
172
176
207
150
208
150
121
243
115
181
245
150
201
203
189
150
121
150
112
156
150
187
165
167
171
237
198
193
112
207
147
147
181
121
208
165
121
210
170
165
170
121
170
112
208
204
171
150
121
147
172
177
136
192
174
112
150
250
202
150
164
219
164
123
150
121
135
150
123
235
172
150
121
172
228
135
150
210
173
167
150
112
208
194
123
165
112
143
150
170
147
176
186
166
168
143
112
112
121
172
195
237
212
179
172
195
150
112
123
150
150
194
135
143
130
112
164
177
208
167
170
172
159
176
176
150
171
112
240
170
150
161
112
123
112
150
150
171
143
159
162
150
150
112
167
187
181
121
170
212
239
121
205
187
170
198
208
171
136
112
208
150
171
152
170
208
203
208
112
172
239
150
186
150
208
165
255
194
176
181
170
171
193
257
112
112
150
150
167
176
112
168
262
112
123
156
172
207
112
202
225
150
115
150
227
210
193
123
171
187
167
170
165
156
112
150
255
123
231
150
112
121
207
135
184
112
123
239
176
210
150
194
112
210
112
115
210
181
158
168
121
181
239
186
171
220
172
177
121
121
242
176
239
164
121
230
137
297
208
250
121
136
167
150
201
158
208
237
202
178
112
112
157
218
150
170
193
172
141
220
233
194
112
186
157
130
199
112
159
121
210
150
176
167
208
123
172
163
208
218
123
121
202
255
112
150
186
228
137
172
172
150
171
230
150
150
121
150
144
170
121
150
124
196
172
172
167
112
212
176
208
201
186
240
172
121
171
112
167
147
250
158
228
115
208
167
112
209
121
193
255
208
112
171
187
208
172
150
167
208
161
215
195
135
150
194
164
167
150
179
150
187
171
137
112
203
257
171
299
165
203
217
150
123
156
164
150
150
250
150
194
112
208
112
167
115
208
170
165
150
250
212
194
165
170
167
215
136
167
202
170
203
150
112
256
112
112
193
150
165
121
204
112
232
240
121
172
150
231
177
222
137
239
210
121
170
187
281
121
121
112
208
252
255
124
198
241
167
170
302
181
225
181
150
181
228
121
224
150
157
150
112
150
281
193
123
171
187
181
225
174
158
208
112
187
112
203
207
150
167
182
195
139
212
177
264
186
112
195
219
181
112
240
121
177
165
201
170
172
181
171
195
112
150
203
150
172
216
237
112
150
112
112
194
226
272
187
158
137
147
172
150
218
164
135
167
229
147
212
167
237
112
112
121
121
152
237
150
212
123
121
123
231
150
112
150
212
181
136
305
123
168
210
181
181
147
172
147
121
146
150
181
184
128
233
214
172
123
208
167
168
167
112
226
243
172
165
167
137
150
131
147
121
214
121
112
171
229
203
165
115
302
136
208
150
115
210
209
236
194
207
187
170
121
194
121
172
158
171
228
174
186
121
240
265
196
144
158
164
181
144
192
194
121
123
172
230
121
112
172
121
121
172
150
150
170
112
112
121
121
193
207
195
237
171
170
112
232
185
165
158
150
158
192
174
178
193
208
157
121
231
257
178
150
112
150
181
268
150
210
156
171
171
245
174
152
168
223
202
121
121
257
112
150
121
178
211
172
136
255
137
260
204
208
150
194
172
156
255
215
181
238
112
195
147
153
253
172
121
253
208
231
184
150
143
161
164
192
121
167
208
121
167
170
353
135
135
112
150
139
130
172
112
210
121
172
112
242
208
165
121
136
281
121
112
193
121
112
112
210
208
170
112
193
150
172
172
175
158
165
136
215
276
123
208
172
208
150
172
167
186
187
121
201
216
150
170
112
115
236
123
208
112
115
176
208
115
186
112
253
208
164
167
225
158
112
235
228
150
208
112
174
175
170
211
255
230
112
172
231
185
194
115
121
173
121
219
215
208
202
170
121
192
221
195
212
150
220
150
137
112
203
171
207
156
121
167
208
159
208
208
127
172
121
177
185
195
150
208
210
121
239
168
195
137
195
187
250
121
130
185
167
135
121
172
208
192
210
150
124
182
112
170
194
150
115
342
177
121
123
112
112
194
121
121
182
112
208
208
115
195
203
150
121
228
150
208
158
208
123
150
150
172
237
121
269
243
171
226
276
172
135
162
192
123
171
195
112
121
225
150
121
156
215
172
203
174
172
124
135
215
202
121
150
201
150
172
194
242
167
112
255
147
171
229
237
236
167
197
164
189
150
208
187
243
165
150
147
302
171
228
170
237
212
173
170
150
121
276
208
208
208
112
172
172
210
159
136
208
112
147
194
124
152
205
121
212
210
121
208
194
112
202
176
121
150
176
259
121
210
195
192
121
123
168
186
177
214
147
205
167
167
283
232
221
172
176
168
150
208
150
165
255
195
112
181
201
220
217
187
121
179
187
201
136
178
194
228
217
173
121
218
121
176
172
219
172
112
150
112
167
167
210
207
193
174
135
208
186
181
228
278
208
167
178
172
210
171
123
136
195
186
226
184
194
189
194
195
204
112
112
177
195
112
124
209
201
168
165
172
291
112
121
186
136
250
208
210
150
121
168
178
136
172
165
201
121
170
171
170
150
165
150
212
135
181
195
135
212
147
112
262
172
123
121
167
170
182
112
121
183
150
179
171
187
239
161
121
172
121
150
150
172
150
158
228
281
208
165
150
164
228
121
170
194
121
208
225
259
112
228
150
170
270
266
121
250
284
137
181
192
170
121
240
115
150
210
137
130
123
247
225
150
112
150
207
179
167
203
112
159
147
197
179
186
216
236
137
186
175
112
128
176
179
165
202
112
212
167
181
164
136
171
123
150
167
130
223
144
135
272
121
195
193
150
152
112
150
172
121
172
276
156
203
150
208
112
217
150
172
144
195
170
172
198
187
112
239
112
121
228
202
123
135
121
167
170
112
123
150
150
166
293
202
209
215
175
123
258
182
171
202
152
208
171
115
150
274
231
165
215
203
164
181
168
172
170
112
186
196
231
230
245
158
228
195
299
174
121
218
112
187
170
210
208
209
131
167
123
204
178
167
197
159
172
208
112
123
194
240
121
233
163
210
187
195
121
193
167
194
210
193
196
228
150
121
165
173
150
192
186
160
208
171
193
121
216
137
193
202
156
167
121
112
167
150
171
121
150
209
130
115
214
165
202
170
228
165
121
150
193
257
181
178
208
150
112
157
112
172
224
181
255
112
150
208
210
192
228
172
208
168
272
123
190
112
245
170
167
112
168
135
150
172
243
171
112
237
210
228
242
121
170
210
228
177
174
171
192
135
135
203
195
231
167
112
112
172
121
181
135
137
167
187
167
178
210
208
150
130
170
172
200
150
156
187
171
208
192
172
200
121
215
276
231
172
150
147
194
172
112
217
208
172
186
230
167
187
208
273
130
208
121
167
150
150
164
202
170
112
171
238
231
112
171
162
170
112
135
112
150
209
121
112
246
265
150
172
197
160
225
121
231
214
121
150
175
214
150
172
187
137
112
167
215
201
192
194
171
174
156
172
135
232
123
215
135
194
128
137
210
181
150
123
128
172
156
150
254
112
135
135
115
228
208
112
201
124
228
123
146
167
167
218
249
121
177
167
167
195
167
121
177
228
216
171
208
170
121
170
181
172
171
216
172
187
208
250
215
136
171
172
159
164
164
170
150
323
220
150
177
167
219
212
112
150
137
137
193
123
172
165
130
186
150
112
150
208
112
172
208
112
172
263
130
170
171
208
112
208
208
172
150
150
121
137
139
218
112
165
170
198
228
186
121
123
121
181
190
164
136
208
181
194
121
115
150
165
112
187
158
137
218
112
136
172
112
178
135
181
181
212
121
210
150
208
137
147
228
193
112
210
175
168
186
208
150
156
170
167
195
171
174
150
121
158
112
160
112
123
121
170
187
231
112
178
112
150
150
193
128
128
150
186
167
208
172
170
112
164
179
150
240
112
207
228
150
121
167
140
150
112
232
208
177
208
186
254
201
112
123
194
172
123
150
167
226
195
220
175
123
171
187
121
171
177
172
128
165
153
121
162
112
205
231
171
135
208
112
212
202
170
206
202
179
150
171
165
150
115
112
124
228
171
212
150
112
164
227
167
152
194
201
193
165
137
170
112
210
210
232
181
121
112
112
112
112
175
171
124
228
121
121
172
237
201
203
181
136
171
170
194
172
172
179
210
292
193
123
194
150
291
187
121
177
121
194
150
121
207
186
112
121
112
172
181
226
121
208
168
205
174
112
177
150
150
121
171
232
207
192
187
172
150
156
237
121
171
171
123
194
230
164
128
182
150
150
175
112
121
194
208
150
150
208
150
215
112
182
112
195
241
176
158
167
181
170
208
237
171
150
112
208
136
218
137
177
208
244
130
268
150
147
156
164
123
150
170
228
208
213
171
121
135
227
150
187
247
112
150
167
170
276
160
208
311
143
150
170
171
121
150
202
170
232
250
112
159
112
112
208
223
219
112
135
150
112
172
192
231
167
167
210
150
193
263
165
174
139
176
112
112
172
253
159
150
223
177
194
115
112
135
150
112
208
208
208
171
216
282
146
178
167
167
156
164
121
112
208
150
208
186
150
194
208
135
160
228
195
232
174
193
130
121
167
278
121
237
210
112
167
150
121
112
112
171
233
172
135
176
115
202
195
217
208
175
187
147
201
172
150
189
150
201
187
121
176
235
241
150
207
124
172
150
136
150
167
231
208
165
195
208
167
158
194
172
232
121
220
172
112
225
150
187
170
184
176
201
198
228
192
201
181
147
168
194
150
203
174
210
213
189
150
231
170
212
202
235
150
236
170
121
123
210
150
123
177
193
112
227
112
208
264
150
172
254
150
238
121
160
112
172
168
150
145
135
150
201
172
212
172
247
208
150
225
201
150
226
160
112
112
152
203
112
202
210
181
167
201
112
217
230
123
160
136
170
170
170
121
193
186
112
202
121
171
190
201
112
181
123
194
232
150
123
112
168
150
170
208
159
208
165
213
165
156
150
121
186
112
252
199
159
112
193
263
121
172
208
136
112
170
134
208
196
112
237
167
219
225
112
157
181
135
167
150
112
137
112
165
220
121
218
187
170
112
192
121
210
227
172
123
252
251
172
203
170
193
150
124
165
112
124
232
194
150
214
208
196
187
172
192
234
181
181
112
208
171
167
124
218
210
177
159
150
112
112
172
157
123
217
189
112
112
194
155
219
211
240
121
167
219
208
182
202
172
164
265
181
172
112
181
195
123
137
150
214
175
143
112
229
208
130
136
124
112
203
170
297
208
170
123
150
189
123
220
112
186
130
152
194
150
112
233
225
121
121
186
301
170
208
181
150
150
176
179
150
150
112
159
264
170
175
186
112
196
222
217
112
150
171
208
115
150
208
123
263
193
167
167
208
193
150
147
150
212
135
237
220
172
121
262
112
152
150
239
150
170
189
137
112
135
194
170
150
208
121
121
115
170
112
123
121
264
208
112
112
171
170
150
172
174
115
203
229
172
150
168
173
144
112
277
238
112
210
212
170
172
210
218
170
167
121
150
219
150
150
250
208
228
150
174
203
112
172
150
208
167
128
218
220
279
121
112
121
195
128
167
167
121
211
205
112
123
156
167
175
112
172
135
209
164
171
121
208
220
171
147
121
179
160
172
255
143
226
112
130
136
202
165
115
208
231
175
150
193
112
230
171
212
112
124
165
156
209
174
186
238
219
167
112
217
186
112
150
200
192
123
175
165
164
232
174
172
208
207
228
172
190
160
223
150
115
172
211
226
157
174
150
150
192
162
121
177
160
160
208
219
186
187
198
174
172
220
121
171
177
176
168
181
112
150
263
210
219
203
170
203
226
302
137
226
203
147
208
150
159
170
112
115
215
157
167
121
112
112
158
112
159
167
207
121
150
150
187
112
121
181
176
187
112
147
203
233
121
157
217
150
123
112
171
158
171
194
172
230
170
175
255
112
257
112
205
167
177
181
206
172
181
194
150
194
208
112
121
278
150
186
112
181
255
170
121
167
167
208
229
124
176
171
214
170
255
150
241
255
210
112
234
112
164
158
136
112
192
170
181
172
220
112
134
201
207
195
167
121
187
170
194
158
212
228
144
172
185
112
210
115
144
171
195
150
112
150
150
128
172
194
136
112
189
218
112
212
176
158
136
115
112
165
172
121
112
238
165
208
279
121
195
165
153
218
150
137
203
136
208
167
194
124
220
150
213
121
170
177
150
150
150
208
112
150
130
231
187
171
121
208
137
228
170
208
206
208
121
135
228
112
172
207
150
124
165
150
165
112
159
228
208
171
167
159
213
150
112
150
121
208
150
172
171
130
157
150
174
144
189
150
213
147
217
170
121
176
184
176
112
168
261
170
176
228
121
170
193
121
281
205
130
250
172
123
167
187
150
150
112
172
112
171
208
173
150
170
232
171
150
112
150
172
112
172
147
112
208
171
208
150
158
171
193
150
130
150
150
121
212
228
210
213
174
121
146
228
237
196
158
165
213
135
121
195
175
167
131
170
160
202
171
150
195
121
176
112
150
167
150
137
112
186
112
176
147
219
208
170
228
171
250
170
195
112
121
208
112
112
150
150
135
121
165
170
187
202
156
156
204
199
150
150
177
150
193
150
170
112
240
130
150
208
112
208
150
167
186
152
167
137
297
172
212
136
135
208
164
150
172
239
170
208
112
130
121
194
250
177
160
195
147
255
124
232
194
208
222
152
150
186
112
242
167
228
150
121
167
135
150
174
238
254
112
159
197
210
172
150
170
193
201
158
228
112
264
223
112
232
165
165
208
176
121
150
161
165
121
179
187
208
121
135
186
171
150
187
181
171
112
112
112
171
181
177
121
121
255
112
211
157
167
165
208
112
121
150
187
112
250
150
259
150
147
272
171
214
172
167
121
112
203
136
150
208
228
186
240
207
234
121
112
150
170
176
217
187
208
208
186
171
165
150
208
255
121
193
147
212
265
150
191
208
165
112
198
121
203
190
194
203
165
186
167
194
172
214
208
186
217
121
123
242
239
112
189
202
135
135
165
229
225
208
203
205
203
208
112
214
255
158
124
172
115
174
112
123
208
112
230
170
123
193
167
167
193
181
172
196
212
170
112
231
208
217
112
246
181
193
170
172
176
170
121
194
167
181
196
203
211
168
152
208
233
263
121
121
259
171
150
130
121
123
112
165
171
112
123
135
202
167
201
241
112
112
205
215
176
231
203
171
214
150
243
202
217
177
121
167
184
123
123
115
217
123
196
160
172
208
278
124
193
121
137
198
208
167
202
172
204
278
257
174
168
239
150
201
170
156
136
167
188
218
150
167
217
202
121
164
176
150
255
231
212
302
121
150
147
121
150
112
168
123
150
159
179
206
232
150
150
239
172
167
174
112
121
165
167
167
150
137
112
226
243
228
242
187
150
195
208
136
167
121
150
130
123
236
186
237
201
150
137
171
208
207
181
123
171
175
121
124
159
201
112
263
121
193
208
226
208
181
260
170
150
150
231
137
254
150
172
227
152
172
192
170
208
207
112
199
167
189
177
205
184
164
167
237
174
112
263
173
165
212
202
112
160
170
163
229
176
123
165
136
202
193
239
121
185
150
170
150
212
238
112
112
203
250
181
190
194
170
214
198
150
124
115
171
172
231
164
167
172
112
210
150
123
184
194
172
171
212
167
201
167
167
172
150
150
167
208
128
165
231
193
112
213
130
115
115
215
167
130
302
172
171
150
225
156
135
115
208
220
161
161
186
121
115
150
208
211
170
147
302
172
121
112
150
208
179
112
137
170
243
143
121
240
176
177
208
150
212
268
208
112
174
208
123
112
195
207
121
194
207
112
237
206
170
112
170
174
228
167
172
181
150
170
302
205
112
187
121
203
167
158
215
137
161
185
175
167
170
123
175
187
208
150
172
210
177
216
212
171
228
121
150
121
112
219
141
150
170
165
171
220
121
172
172
212
203
184
171
210
263
112
150
161
112
220
150
170
212
237
255
123
171
208
124
167
193
150
172
156
215
172
115
167
121
167
178
241
150
250
170
136
124
161
176
195
236
184
203
121
212
210
112
172
240
208
181
112
194
150
121
172
158
163
150
254
121
135
219
172
243
250
239
243
152
236
112
147
206
199
171
167
186
136
121
208
208
150
172
186
150
167
156
192
172
150
167
150
135
124
167
112
171
172
184
175
172
150
112
239
208
121
171
165
150
124
302
159
167
172
172
170
203
115
171
183
150
128
136
167
121
208
128
161
192
112
167
171
242
231
112
202
150
172
112
194
150
173
171
167
172
121
121
167
150
112
123
121
250
226
225
157
121
163
217
177
112
172
112
150
121
167
150
202
176
170
123
150
172
146
150
150
176
150
136
112
192
243
121
193
137
112
218
147
192
194
115
186
241
158
137
150
187
170
150
123
157
194
150
168
170
171
187
160
203
287
210
112
232
112
121
216
172
239
186
171
172
115
258
121
150
159
150
208
112
184
136
112
170
218
150
187
170
186
159
172
172
166
218
150
156
167
206
171
181
263
121
121
214
255
121
167
233
165
239
135
115
121
215
165
182
172
172
123
171
135
174
131
170
137
112
193
172
208
172
165
176
112
156
121
223
217
220
165
112
187
202
204
217
121
112
207
281
130
194
112
201
121
186
192
150
158
150
249
172
171
279
208
137
208
194
181
203
201
237
215
168
202
217
228
203
147
202
229
112
112
170
112
186
201
152
235
137
135
147
112
150
207
112
150
112
124
112
137
123
202
159
171
112
165
195
237
167
123
172
112
237
200
255
226
123
250
243
150
192
112
167
195
128
250
121
212
135
177
237
208
112
195
147
143
208
233
176
213
160
160
174
253
121
202
220
130
121
150
263
174
216
171
112
165
172
121
150
112
167
207
194
165
170
150
176
198
205
170
112
171
112
212
241
150
228
170
168
171
194
208
147
150
158
187
167
181
276
238
112
230
121
136
150
172
220
172
156
150
171
130
172
241
171
208
112
160
156
137
226
123
167
170
253
181
150
167
150
123
137
214
215
150
115
236
195
171
178
172
170
112
164
193
311
143
176
112
121
172
136
112
208
172
218
150
186
165
165
112
201
128
112
228
238
240
170
112
112
202
174
207
237
181
172
150
194
184
176
210
237
150
123
147
209
112
229
192
121
179
150
237
115
147
167
214
112
209
121
228
177
239
194
130
150
258
164
171
203
165
208
210
237
136
167
172
172
150
167
164
137
121
167
194
121
234
176
196
136
112
121
164
150
219
203
150
192
171
137
202
121
257
217
121
150
192
150
150
208
170
128
112
186
112
121
208
228
193
130
136
164
186
181
208
137
170
171
214
214
112
208
194
121
172
171
150
136
219
164
167
170
150
195
112
237
112
150
112
208
171
201
257
130
187
162
167
213
179
208
180
172
150
144
123
172
156
172
243
232
158
167
175
150
238
209
208
115
192
170
171
172
135
162
167
171
228
167
207
208
171
135
181
112
239
150
143
250
165
208
137
170
167
185
208
160
165
150
174
212
121
210
189
112
160
254
171
239
217
208
228
172
263
150
170
297
208
228
171
135
171
150
112
254
172
167
226
195
270
167
165
203
123
170
136
264
239
165
176
159
177
165
174
187
112
123
150
190
208
203
150
121
259
210
135
112
112
208
144
121
177
172
208
206
228
112
112
115
124
121
218
112
217
208
121
129
208
112
209
150
271
176
171
150
150
208
170
220
186
208
130
167
178
181
112
175
195
121
193
160
218
208
208
181
171
168
112
121
220
181
123
112
136
214
112
150
219
171
135
240
201
172
150
214
121
165
208
165
171
121
172
195
226
170
167
171
150
219
171
121
121
150
150
302
156
217
172
112
250
182
207
170
171
205
182
207
170
201
124
203
159
112
121
150
150
228
112
112
186
219
179
201
210
232
112
230
214
177
112
150
121
208
203
150
123
210
171
202
177
167
112
150
112
231
150
166
112
112
150
152
123
201
128
167
170
210
172
177
172
152
123
135
136
150
216
178
168
112
121
170
112
184
147
181
150
112
159
165
181
241
112
202
139
135
193
174
208
123
208
207
123
160
112
208
172
175
158
121
186
193
156
194
165
121
244
172
137
216
255
123
112
195
121
112
121
220
187
150
170
130
263
159
112
112
121
167
167
112
150
156
237
171
112
172
255
150
262
165
121
194
167
203
202
207
239
112
158
184
159
150
191
181
150
174
163
176
208
171
150
112
121
220
171
165
121
240
135
208
220
136
112
208
171
165
253
143
112
167
128
208
150
217
186
208
172
137
194
150
172
181
150
291
112
112
172
112
150
115
175
112
161
189
137
147
276
204
176
223
150
121
150
170
147
194
150
208
195
177
231
112
135
123
208
194
208
231
170
208
194
150
181
187
194
186
173
112
237
112
193
193
150
152
225
115
150
121
112
172
139
203
185
167
205
195
121
216
164
112
172
194
204
128
193
167
186
199
210
194
228
112
168
208
158
225
112
216
123
172
121
112
135
135
202
121
112
171
203
166
246
239
112
224
152
195
176
203
159
172
267
167
246
172
247
150
195
137
225
167
123
240
112
218
121
212
150
173
240
209
201
150
167
192
170
150
235
172
150
112
172
152
172
121
152
171
136
150
121
257
112
210
131
150
272
171
112
210
115
150
135
237
150
242
112
195
121
175
218
137
112
156
196
250
172
179
174
112
215
112
172
213
201
165
253
206
204
212
237
136
208
115
256
167
172
182
121
137
150
150
172
228
187
165
193
112
121
210
197
112
257
112
178
112
208
171
171
258
212
150
121
172
150
115
147
115
170
170
242
164
150
192
171
177
121
150
150
172
112
124
112
245
112
121
194
232
167
165
150
218
121
244
135
136
112
202
186
158
121
171
135
112
173
150
150
182
152
157
239
167
123
150
208
130
121
176
174
172
170
158
112
171
263
176
228
137
112
170
190
232
226
135
150
172
136
112
177
115
208
170
177
175
208
165
150
172
165
170
207
209
226
217
112
150
150
171
190
171
135
220
217
172
137
165
159
150
112
159
187
121
175
121
147
136
112
233
278
216
121
226
220
167
219
193
187
208
181
131
214
112
121
176
150
184
150
156
123
246
112
212
193
176
208
150
112
123
115
143
208
144
112
152
167
172
200
136
157
172
208
232
121
172
159
112
150
112
121
210
182
112
150
150
172
150
219
123
193
121
150
176
266
121
150
170
167
162
152
253
143
258
187
150
186
123
147
224
208
150
210
202
156
171
153
135
186
250
203
237
167
208
150
210
243
115
112
208
171
228
167
128
186
171
187
196
121
143
170
206
177
176
177
152
186
147
202
150
194
121
210
150
147
229
112
193
121
150
208
121
208
179
219
123
152
121
202
124
123
179
172
228
186
194
123
136
239
150
176
208
147
189
177
181
225
171
137
121
208
150
195
194
150
228
112
259
229
165
220
121
225
176
139
234
121
184
202
228
176
193
194
132
177
240
229
259
194
150
112
121
190
170
170
152
211
172
208
170
150
217
208
150
123
181
112
115
186
115
284
158
207
187
112
123
172
150
250
217
217
237
204
112
201
172
147
167
167
121
171
210
171
165
193
150
208
121
112
123
150
235
172
167
157
171
167
223
135
164
194
121
171
150
150
167
150
222
150
192
176
194
173
186
130
115
147
150
181
171
177
208
224
150
195
112
150
112
184
167
212
176
271
165
167
167
174
165
176
124
167
208
112
165
150
263
112
150
182
121
220
171
150
176
112
150
158
171
236
171
202
112
124
112
208
186
197
225
264
187
170
150
150
150
167
218
240
184
128
186
150
121
208
219
121
209
123
208
172
128
123
165
228
212
150
112
112
137
170
200
301
236
208
217
208
112
123
237
165
194
201
167
204
174
153
123
193
166
159
187
150
255
245
171
170
121
172
278
112
121
121
208
257
170
195
172
167
237
227
112
172
130
264
158
121
208
171
208
150
150
230
152
112
135
164
124
212
112
181
165
115
165
147
176
171
208
260
228
131
170
172
201
171
171
156
167
170
192
150
150
165
150
165
177
124
167
251
195
195
172
158
176
137
203
258
208
136
195
192
158
150
189
150
121
186
225
179
130
121
172
137
156
228
167
170
130
172
150
137
121
123
172
112
121
137
167
121
158
112
241
150
227
237
156
255
208
172
158
232
172
209
187
202
150
177
237
175
175
150
135
181
167
202
187
208
202
266
121
210
150
121
208
167
150
210
124
147
204
231
150
121
112
112
176
195
192
195
136
242
137
124
263
187
225
208
167
132
135
170
112
162
167
159
194
198
170
208
150
112
203
152
150
193
176
115
168
186
112
167
143
150
212
150
193
172
210
264
150
115
207
186
226
228
162
167
150
121
203
202
193
121
218
164
208
112
193
239
134
192
172
193
181
259
205
174
168
217
229
112
165
158
112
208
174
150
139
156
175
121
180
112
115
186
121
121
213
172
212
170
186
168
196
170
112
176
121
152
195
150
156
150
123
253
195
235
164
176
112
150
170
150
112
232
220
195
121
150
160
112
172
135
203
167
112
194
172
218
236
112
112
150
150
178
208
121
144
112
144
121
208
205
239
128
218
208
208
228
178
174
112
236
121
186
172
302
112
112
121
139
176
158
150
150
172
226
112
121
227
143
208
150
172
175
195
150
135
171
248
143
204
163
163
208
215
223
257
167
208
112
208
202
217
208
124
128
121
172
130
112
112
121
192
167
123
171
176
166
160
250
194
207
115
219
137
228
121
159
112
150
121
181
208
150
167
208
186
150
124
165
267
217
218
181
123
171
302
150
150
167
121
150
112
252
268
232
229
218
193
112
208
112
150
237
112
195
172
112
165
121
181
150
172
150
195
158
250
112
193
150
156
194
237
224
225
193
143
150
202
112
216
177
194
172
137
150
150
150
232
115
170
167
186
203
112
242
172
274
221
150
205
176
150
165
150
112
143
112
174
121
202
178
171
194
302
150
176
208
123
175
254
121
194
124
237
302
150
137
184
177
123
208
159
121
150
170
226
144
112
121
193
208
263
214
167
219
250
172
219
202
187
194
192
150
112
192
112
135
209
135
176
170
181
223
208
112
194
158
181
209
236
172
112
112
208
244
170
137
228
121
137
250
112
150
150
219
123
112
175
195
195
160
186
237
150
121
220
237
208
172
165
185
170
112
207
112
215
121
175
158
112
115
167
167
150
208
121
174
175
123
147
147
115
173
297
202
174
205
136
232
150
172
165
263
208
219
121
208
187
195
167
123
170
170
136
171
170
150
150
212
112
167
112
172
242
229
150
171
165
192
112
172
192
173
150
186
208
123
150
135
186
165
150
266
167
121
186
171
208
193
208
150
174
173
112
150
172
170
150
236
171
139
236
208
121
150
187
217
112
207
208
112
170
195
208
195
135
272
150
121
171
137
158
208
203
112
210
150
208
121
135
160
171
218
175
135
157
168
156
205
171
208
121
186
229
156
198
187
235
150
228
112
174
181
176
193
147
171
217
189
121
121
150
165
165
165
250
194
168
201
181
215
188
150
172
205
167
124
121
150
123
210
112
194
257
225
172
208
160
174
121
170
121
121
258
115
208
112
228
193
135
208
150
121
130
172
150
242
228
208
112
201
192
235
167
112
112
212
164
240
208
227
121
237
177
189
112
150
181
243
208
187
172
172
172
212
171
170
238
121
233
123
150
167
150
136
167
193
212
165
175
193
167
175
202
159
164
170
144
121
239
172
228
221
137
152
150
150
167
121
193
112
208
177
259
150
121
203
115
121
171
130
221
137
220
214
130
208
121
172
121
121
121
172
181
150
121
236
184
177
150
150
250
172
167
171
206
137
112
170
121
150
112
150
170
150
150
164
208
178
208
167
150
160
172
228
165
178
165
189
201
174
167
171
175
150
194
194
237
159
186
181
135
147
194
174
150
177
121
112
150
172
226
172
112
205
123
239
112
191
112
253
177
112
150
123
212
150
202
194
171
150
170
170
250
302
240
202
193
150
219
121
208
112
172
121
150
204
237
188
171
150
115
207
150
152
250
121
170
174
220
112
112
135
112
135
215
233
167
232
130
208
171
121
161
202
170
167
194
135
208
208
121
150
112
217
193
112
202
263
167
171
112
167
150
170
186
194
176
245
201
112
115
121
112
112
254
112
112
123
215
170
201
150
196
219
220
121
172
203
175
272
189
244
244
123
171
135
128
123
158
165
210
207
112
177
192
202
167
161
208
172
136
259
234
112
228
121
174
202
150
173
191
201
112
172
239
226
164
217
150
196
230
121
233
112
187
121
159
244
112
186
168
194
167
237
165
150
150
212
202
172
152
150
150
215
112
150
181
150
172
208
156
121
201
150
172
150
115
173
206
170
240
160
150
182
193
165
121
167
159
208
143
186
152
182
170
170
150
123
167
115
194
231
189
171
210
225
208
167
150
121
121
165
172
137
235
225
213
172
239
167
229
112
150
112
172
170
121
250
150
150
210
159
172
177
195
160
242
112
193
112
171
176
170
170
205
250
165
170
174
121
228
198
121
192
130
252
195
165
174
243
219
121
226
217
177
150
215
130
186
171
210
121
121
150
121
121
171
245
193
208
112
160
112
121
200
194
242
152
121
201
150
150
147
136
178
207
228
193
123
121
167
150
121
150
194
247
208
150
115
181
121
156
112
225
165
150
184
181
210
233
150
121
263
150
143
121
256
121
150
123
171
231
189
222
167
156
186
175
150
167
208
150
139
176
198
170
209
150
208
168
176
137
145
170
193
121
229
228
225
193
171
152
136
196
112
167
203
195
171
156
150
172
243
226
112
209
228
195
150
177
115
158
172
172
170
167
202
137
165
205
172
257
150
194
124
150
196
165
187
164
139
208
193
124
229
171
170
121
159
112
208
210
112
207
170
158
150
121
137
231
136
150
242
136
164
192
112
205
260
208
172
152
172
210
206
200
214
172
112
195
172
156
150
177
121
121
208
271
236
236
112
150
208
152
172
222
171
208
150
135
112
168
115
263
243
194
193
208
121
150
248
156
195
172
150
156
193
207
208
242
150
172
150
277
121
135
177
115
165
150
194
176
231
208
121
175
228
208
157
177
217
172
194
175
150
167
195
231
150
165
112
228
150
177
174
121
176
150
150
258
187
176
256
172
160
209
231
214
195
176
181
172
263
243
176
201
250
201
171
201
176
136
231
210
181
112
112
186
121
205
170
112
302
136
150
121
124
162
187
194
182
170
179
250
194
172
186
182
207
201
150
121
212
121
263
208
210
130
170
203
208
172
208
130
153
150
208
167
147
235
121
130
239
136
136
112
167
162
176
136
156
150
156
172
121
112
147
228
112
220
170
193
121
112
167
239
242
172
203
147
208
208
186
131
172
217
112
178
172
208
175
170
208
210
201
160
112
172
147
112
147
171
232
172
112
112
272
208
194
254
181
112
218
150
177
219
172
121
136
175
210
214
257
131
150
190
256
208
209
265
170
143
172
194
202
121
115
170
139
208
167
237
228
150
171
257
112
158
121
214
121
121
250
158
121
171
112
112
170
208
150
186
146
228
150
112
177
181
186
167
150
167
150
112
193
167
212
121
150
194
150
232
186
112
167
228
150
135
123
179
164
195
150
112
221
112
177
112
167
204
150
194
136
150
123
170
207
112
137
194
194
112
217
150
201
152
135
121
121
112
193
112
228
171
207
205
179
162
170
171
150
136
150
150
189
218
171
167
150
255
187
208
165
276
193
165
150
112
150
115
171
239
150
195
150
226
181
171
112
165
136
204
124
176
150
171
174
121
263
112
144
121
112
150
112
252
121
144
121
170
167
246
188
137
208
246
208
137
199
150
160
184
112
121
170
112
123
167
184
207
128
115
121
121
236
150
137
208
210
302
115
172
150
167
182
302
216
167
210
206
194
150
121
167
176
150
156
170
136
176
172
150
147
194
220
121
172
124
167
130
205
172
208
187
121
208
177
177
172
257
194
112
121
165
150
123
192
150
150
123
174
170
150
167
121
130
177
112
150
194
158
136
115
172
174
182
171
112
241
112
219
121
150
171
159
135
208
112
112
172
225
167
130
208
167
121
112
201
121
112
135
231
112
212
205
150
208
253
171
186
239
275
170
150
184
112
219
147
121
130
237
194
187
131
136
259
150
165
183
147
128
174
170
123
172
150
167
150
159
210
112
171
231
209
171
177
172
171
181
121
228
213
172
172
176
150
210
115
170
250
175
112
115
135
226
186
208
195
177
228
172
208
112
174
150
232
231
202
208
172
135
137
167
208
250
167
130
210
229
208
150
176
193
177
170
147
220
176
181
162
194
162
158
150
207
152
112
245
208
208
181
150
208
112
112
168
194
150
170
207
184
156
208
112
193
216
150
208
229
112
217
231
123
238
208
210
150
164
186
208
112
124
167
189
112
237
112
243
121
208
176
176
130
130
175
121
150
171
196
170
208
171
147
150
181
167
265
123
112
203
208
137
222
212
206
233
128
168
170
112
239
196
215
121
176
172
121
213
177
208
208
187
123
159
218
112
201
112
112
181
150
123
205
176
143
165
175
165
176
226
216
259
194
168
112
136
115
112
137
197
164
228
177
170
150
112
205
150
202
176
139
203
194
255
112
167
175
136
181
121
219
208
171
205
208
176
176
208
172
146
115
167
210
217
136
187
216
226
194
239
167
131
165
172
143
242
228
228
121
232
150
197
231
136
176
207
195
137
212
167
202
208
229
121
123
112
150
226
150
175
177
123
171
202
150
172
171
203
170
176
238
143
147
121
177
187
237
152
205
160
208
167
144
135
202
181
121
112
216
112
208
150
214
215
258
167
112
135
208
150
172
174
150
150
123
226
160
152
176
204
172
174
168
201
150
219
208
202
112
112
187
121
171
201
112
226
159
216
181
112
194
225
176
176
123
237
233
208
236
112
112
237
137
233
171
192
174
115
228
225
112
121
167
186
167
208
121
152
150
112
235
121
115
150
112
161
158
135
160
170
172
150
150
212
112
193
170
194
158
137
161
172
112
172
112
150
112
158
276
211
137
174
239
178
152
176
192
147
218
123
193
130
190
171
150
168
135
112
112
179
112
179
186
112
179
216
121
260
135
123
170
194
112
124
164
181
121
150
239
237
112
112
208
194
208
210
167
152
184
208
121
172
208
202
176
112
121
210
212
244
150
150
194
150
175
112
137
121
112
184
182
112
121
200
150
150
216
302
170
150
164
112
112
130
170
186
130
167
112
186
112
208
170
205
208
123
139
150
172
201
167
112
123
208
228
172
177
195
167
115
144
121
209
143
177
168
235
230
259
186
205
201
205
167
253
255
207
208
185
184
112
135
172
112
150
150
165
164
194
121
213
194
236
208
229
121
181
302
174
150
186
205
202
121
168
195
112
186
195
172
150
150
244
208
121
203
194
189
167
171
150
207
112
203
176
167
172
174
217
255
237
121
150
172
164
123
172
123
150
193
124
225
250
272
137
121
123
171
167
150
255
239
164
212
121
121
232
187
170
168
159
177
210
152
247
224
147
147
167
211
198
210
210
199
237
150
171
302
112
137
202
172
226
164
196
186
230
203
171
150
115
172
168
228
167
219
260
192
150
167
219
167
112
234
170
235
123
205
187
171
170
121
208
172
208
278
147
220
170
127
211
213
194
150
147
203
150
177
171
228
194
130
217
135
187
234
123
175
150
202
229
121
172
174
206
150
150
209
190
160
195
195
170
112
150
160
112
179
252
208
167
150
171
208
121
236
147
195
226
123
137
194
172
207
150
174
232
150
192
150
150
187
170
220
176
167
196
150
211
181
265
237
238
171
208
233
193
135
112
170
121
208
201
147
207
162
150
167
194
208
172
231
192
232
136
158
246
159
194
112
121
124
121
150
121
172
167
150
135
203
121
112
225
175
135
135
228
194
150
263
115
143
150
121
205
186
255
228
201
147
112
167
208
150
150
170
231
124
225
135
217
128
172
207
228
112
208
121
144
135
208
185
260
175
232
172
121
181
171
177
167
225
170
177
123
152
112
176
208
185
136
233
212
171
302
150
150
112
187
232
135
167
170
208
150
237
112
152
150
150
165
112
214
174
167
208
170
121
161
172
187
241
172
112
202
167
112
186
150
177
232
164
123
137
208
222
160
124
194
164
215
159
171
136
205
123
238
176
112
121
170
150
121
202
226
264
195
159
150
165
236
147
171
229
112
150
172
150
131
176
212
196
121
231
123
136
251
181
121
167
147
150
220
112
200
190
112
243
150
175
165
167
121
208
150
121
112
193
187
150
172
237
208
194
170
121
194
135
181
121
258
174
121
150
220
112
167
150
150
164
150
220
159
167
112
172
193
208
167
204
172
212
181
229
276
136
170
208
112
239
181
208
123
234
179
202
208
123
266
210
137
213
194
208
150
112
175
147
167
217
136
176
137
150
112
264
217
208
201
150
240
112
121
208
150
205
136
112
175
184
112
243
232
176
192
137
226
187
168
150
112
208
201
121
150
150
136
177
150
164
208
236
121
233
170
183
150
170
112
150
115
193
150
172
121
167
150
208
238
128
240
112
192
136
121
250
121
201
225
170
207
112
237
139
208
171
150
278
277
136
136
214
123
237
165
160
112
112
195
150
167
150
182
178
172
167
208
168
150
150
135
208
150
172
156
228
178
165
121
208
208
172
112
172
194
202
187
160
201
204
170
217
150
170
150
137
213
229
172
181
156
255
165
112
170
192
171
206
152
203
208
162
112
150
190
208
121
204
121
131
123
172
121
186
208
193
211
210
112
181
152
194
135
225
202
172
112
150
170
228
204
170
203
167
237
208
112
256
181
115
205
208
115
159
172
147
135
147
170
170
150
124
228
220
150
193
179
187
170
112
171
158
171
150
160
130
240
220
171
112
112
202
112
152
137
195
112
121
186
150
181
210
211
194
246
175
150
112
115
207
171
170
147
178
147
121
121
202
208
112
217
199
172
150
208
202
112
150
177
229
243
208
112
210
168
228
135
213
170
170
247
181
150
168
121
181
112
158
203
171
150
226
165
205
165
202
186
150
167
150
167
195
176
185
150
135
208
112
208
176
217
150
230
212
115
164
210
267
187
263
216
150
243
208
150
208
229
112
172
219
214
217
150
136
202
112
147
199
112
150
302
171
189
135
181
193
239
135
121
202
160
232
167
115
123
208
136
150
171
158
263
232
194
170
112
211
112
234
121
123
172
272
172
208
123
136
172
164
121
146
112
167
112
184
167
208
171
164
136
181
210
177
150
159
201
150
273
115
186
190
123
112
250
175
237
170
263
112
187
228
167
167
172
112
238
147
167
143
201
121
203
175
212
161
176
177
209
130
112
238
181
208
172
167
176
194
121
150
150
112
150
136
115
115
150
177
136
173
112
236
150
184
237
210
236
202
231
187
172
150
112
234
204
210
112
170
221
112
121
150
214
208
181
150
167
228
208
177
158
150
144
112
167
236
202
150
208
172
167
112
195
195
170
182
137
265
121
135
208
208
167
167
167
143
147
175
194
228
135
170
112
152
121
237
172
121
167
174
170
112
232
225
158
174
187
112
187
172
112
181
150
187
177
150
112
124
160
150
121
238
182
208
123
216
158
240
171
150
156
212
263
176
193
112
112
184
208
171
121
202
198
170
158
150
225
136
179
181
143
276
112
150
167
229
150
174
223
172
201
236
150
150
150
211
150
150
181
112
136
181
171
121
176
150
165
203
170
232
201
112
112
186
171
181
121
112
181
171
220
181
208
121
237
159
219
112
121
112
228
210
121
171
150
215
150
172
121
150
121
209
164
195
171
228
172
195
171
112
228
208
229
220
150
157
150
135
220
150
123
226
174
150
167
150
121
135
150
136
193
219
165
172
167
115
193
123
121
174
240
194
150
112
121
150
181
150
201
210
171
170
152
150
137
164
135
195
220
172
270
167
121
208
115
121
243
150
172
202
136
172
220
228
150
112
150
131
194
167
244
205
112
150
234
174
220
152
136
123
192
150
172
226
171
174
219
201
175
112
207
150
209
208
240
137
174
160
157
176
150
112
181
238
150
170
182
170
172
203
181
252
194
208
121
302
177
150
239
194
170
208
208
192
147
167
128
170
160
234
172
210
275
202
176
171
174
194
215
276
228
208
160
176
172
172
112
150
121
302
121
208
150
177
208
177
164
135
240
121
187
250
264
137
225
121
112
167
150
172
167
112
170
112
237
150
208
176
214
165
206
202
150
172
231
150
203
260
121
135
230
278
167
270
224
128
172
208
270
121
158
112
150
112
172
207
150
238
177
147
150
150
172
174
121
150
121
195
150
147
135
167
239
194
132
194
150
135
112
171
112
186
112
150
174
208
164
173
115
228
228
219
152
112
167
226
147
210
112
253
163
250
150
121
208
150
233
202
147
150
181
204
250
150
168
174
187
208
207
171
112
150
112
135
174
164
150
276
172
233
208
170
165
228
190
208
181
150
186
112
121
157
228
167
112
220
121
176
112
172
121
172
147
189
208
181
192
156
209
208
209
194
192
236
206
159
121
150
288
150
161
202
150
112
112
137
228
112
165
171
167
121
167
239
115
194
121
187
150
212
112
123
220
136
224
168
121
159
139
167
233
112
208
212
150
189
206
170
243
168
131
150
112
237
135
112
168
159
217
136
123
239
174
193
112
228
123
115
150
112
170
171
228
150
240
112
150
203
201
121
171
235
232
181
170
121
205
150
187
136
223
172
172
172
172
208
150
239
167
159
193
112
210
276
136
194
254
194
181
216
150
121
167
121
121
164
219
172
112
115
185
170
137
162
202
123
215
215
206
121
112
194
186
187
128
212
228
150
193
130
231
202
150
167
172
210
257
184
121
150
150
160
172
225
112
208
195
146
135
112
167
197
124
170
121
112
208
228
150
264
150
158
202
121
121
194
172
150
172
172
115
302
112
247
112
150
121
172
187
179
115
164
150
246
223
210
147
135
195
228
204
150
181
121
121
137
186
165
121
150
201
170
231
181
112
150
237
164
112
172
121
208
237
147
172
228
186
210
178
196
128
237
121
238
211
216
168
150
152
150
171
159
201
112
165
150
210
172
150
194
167
239
137
167
187
121
136
194
208
150
147
150
121
170
172
216
150
150
172
137
269
219
231
239
292
112
170
172
220
130
235
121
150
150
207
208
172
136
186
121
112
194
112
147
187
233
150
128
193
252
157
255
228
205
123
121
172
121
197
212
203
121
171
150
121
121
185
147
167
150
152
218
217
172
164
171
197
229
198
165
143
121
167
121
121
174
209
202
172
171
184
121
208
150
187
276
171
186
171
171
150
121
168
163
177
112
218
165
164
176
121
112
186
240
128
121
150
164
182
150
163
231
186
236
171
192
135
176
160
239
137
172
172
147
150
237
112
167
137
150
112
152
205
195
150
170
112
112
150
121
156
178
146
172
205
172
135
112
150
112
136
194
121
170
150
150
216
210
164
115
237
124
176
159
112
195
203
150
246
302
208
130
150
150
147
239
158
150
207
112
112
136
193
208
206
136
150
205
139
186
184
202
197
171
208
115
201
187
218
170
150
236
167
115
253
239
232
174
187
112
208
176
181
176
121
246
137
210
182
207
150
150
217
112
233
165
176
200
238
177
174
130
165
121
172
195
219
194
165
167
150
123
147
231
150
135
170
112
244
253
150
208
112
212
201
187
174
176
208
212
123
160
150
150
226
112
172
186
205
121
150
208
158
150
173
112
210
121
121
112
150
112
181
123
167
170
112
112
170
208
172
187
208
167
225
112
220
228
179
137
195
181
172
167
181
230
195
150
223
136
115
170
121
150
219
190
194
159
158
220
157
197
137
220
278
198
137
187
150
229
167
175
121
121
172
181
150
263
159
121
239
222
200
219
216
186
172
202
112
112
112
135
150
150
121
193
208
193
248
123
150
112
112
231
208
173
165
112
150
208
210
181
167
194
187
164
243
224
123
177
193
123
112
168
112
112
171
213
137
273
172
124
112
172
243
158
150
165
302
190
299
255
297
121
150
135
170
157
152
228
245
121
150
165
136
150
123
237
123
186
112
112
171
226
150
214
183
216
208
160
181
195
150
242
219
170
121
150
147
159
167
176
181
160
156
174
172
231
167
160
194
112
150
216
255
121
205
150
150
208
123
208
157
208
162
150
123
139
150
171
124
121
231
210
177
121
205
147
217
203
220
194
121
159
123
193
202
160
227
150
112
112
228
196
170
170
219
236
231
174
171
112
156
208
112
172
208
174
170
164
163
240
208
128
156
208
112
172
121
202
121
159
302
158
150
150
297
167
193
176
121
199
167
159
177
165
228
150
256
172
121
170
172
232
112
220
112
208
175
228
152
162
182
112
195
130
240
208
205
228
193
164
121
150
231
181
212
305
123
121
171
112
112
154
239
253
172
194
156
208
167
150
212
123
172
263
152
121
257
187
181
236
194
159
208
192
115
165
150
115
186
121
165
164
186
203
170
170
220
112
250
121
228
186
121
165
204
237
195
150
195
112
239
181
171
112
212
112
170
276
171
174
112
112
174
177
121
150
193
170
174
171
136
240
121
171
121
171
165
186
123
112
172
121
229
112
121
121
255
184
231
172
121
225
112
240
121
128
112
150
112
165
252
150
237
208
150
112
167
212
124
218
171
121
150
208
239
182
229
165
164
231
170
208
235
208
184
170
172
230
121
203
207
220
192
192
243
172
121
176
135
160
219
172
172
123
240
170
121
181
137
201
147
156
207
187
134
194
150
121
278
211
186
150
150
207
150
212
259
136
207
207
147
186
150
146
170
181
150
186
170
186
167
121
112
156
150
137
228
230
121
193
112
156
176
202
167
121
219
156
179
171
177
150
158
171
174
121
121
115
189
150
172
165
150
231
172
176
193
164
128
135
135
150
112
121
205
208
150
121
236
147
135
171
176
176
150
195
185
121
112
236
187
242
167
218
176
208
150
135
150
150
256
150
112
228
150
195
231
228
187
204
229
212
219
182
121
170
153
150
112
135
150
205
121
112
186
202
208
181
121
165
123
121
205
201
164
192
181
115
179
112
233
208
228
171
121
156
135
175
190
172
218
229
297
167
112
193
228
194
161
226
186
112
131
228
195
181
150
177
112
162
167
199
167
161
237
193
164
171
246
170
136
279
150
150
173
181
204
170
194
135
201
228
255
225
123
170
208
150
150
170
112
150
172
250
165
186
220
121
201
150
112
147
112
208
228
237
150
218
150
156
150
219
176
194
115
197
234
210
112
219
150
150
203
231
165
159
121
167
121
158
239
112
176
123
171
112
112
170
147
121
150
209
206
152
172
194
172
172
171
115
167
121
208
172
302
172
144
208
147
187
203
208
187
234
139
205
181
121
171
150
170
217
189
210
183
209
208
205
136
164
150
176
237
202
112
150
112
150
187
189
194
165
112
177
226
168
115
150
177
150
221
136
112
150
158
230
287
112
170
137
181
150
112
212
112
177
112
181
225
208
243
156
233
131
171
137
115
239
276
112
193
112
170
202
167
128
157
219
175
239
121
170
112
130
121
121
231
172
195
150
146
165
167
112
156
150
156
219
236
150
144
121
160
200
192
172
178
195
150
171
172
152
227
172
230
187
176
184
167
167
162
172
176
123
194
112
165
237
215
165
150
175
176
239
228
177
277
172
208
167
172
170
194
171
202
165
112
176
112
136
167
233
170
158
167
228
123
220
195
121
150
202
227
112
112
150
121
201
208
112
201
218
195
167
194
208
194
239
121
112
115
112
165
164
192
170
150
207
205
195
202
208
168
228
172
164
195
233
167
112
178
150
237
121
112
228
121
215
143
207
198
121
157
170
225
136
150
226
263
171
172
193
115
192
167
150
192
137
171
170
170
208
179
112
210
210
170
237
172
136
208
112
170
192
112
156
167
121
167
234
150
208
228
212
239
121
130
203
208
112
123
186
150
172
135
121
136
235
176
160
115
121
204
172
212
121
199
167
112
167
121
150
232
225
176
121
121
150
172
160
112
201
143
208
238
181
172
159
208
121
112
197
175
163
150
158
245
112
250
165
279
123
236
244
159
210
187
150
201
179
150
172
237
228
143
150
208
170
112
176
135
202
174
172
170
194
121
121
146
262
112
121
158
193
177
232
205
186
172
167
187
123
150
156
172
182
193
150
215
201
136
187
176
195
172
112
165
212
150
203
178
150
174
172
121
208
167
150
167
201
223
171
150
196
220
124
240
112
121
193
167
112
181
208
194
194
159
255
150
167
139
121
177
208
152
220
121
172
217
135
192
208
167
177
112
112
208
112
177
192
150
158
167
172
276
150
150
194
121
150
202
150
167
136
170
190
208
150
121
174
115
167
172
217
217
203
174
160
216
231
176
171
165
219
201
192
136
112
123
208
212
167
208
171
150
112
233
200
181
263
185
192
236
135
202
175
218
124
274
204
168
208
206
137
123
225
194
218
167
112
250
189
112
123
112
172
167
220
208
112
170
172
112
208
276
112
143
150
112
112
217
128
228
184
150
121
176
189
240
210
220
221
220
165
208
112
175
150
176
232
164
216
228
186
112
135
195
115
172
186
130
115
197
158
177
187
268
135
171
150
167
135
250
212
192
150
172
232
170
121
165
186
172
112
194
168
112
187
260
121
175
167
150
193
135
183
150
112
150
189
226
172
165
172
137
201
171
164
217
210
192
255
121
112
235
255
150
165
253
264
170
150
121
150
167
208
150
137
226
172
165
135
164
199
172
112
124
112
171
228
172
178
121
121
158
218
230
112
112
121
112
115
233
202
231
186
112
112
170
115
112
150
121
176
225
112
225
150
208
228
150
172
112
150
186
226
214
232
121
150
121
112
193
176
164
150
123
203
170
171
121
214
181
172
152
165
186
202
147
112
181
112
208
123
157
192
176
231
150
220
217
112
150
186
112
121
187
235
121
229
177
123
181
115
123
226
135
181
157
208
121
135
220
158
165
208
121
150
172
112
228
135
167
203
121
211
150
167
176
171
207
229
302
213
194
176
208
164
228
150
172
165
115
203
150
147
150
210
112
195
150
150
167
171
182
207
174
167
193
164
123
203
121
228
150
121
170
212
228
139
208
170
150
150
228
152
202
217
121
112
160
194
220
147
135
150
144
112
121
235
228
201
186
260
208
228
112
167
170
171
207
228
239
150
205
123
150
228
150
205
208
181
152
121
167
193
121
147
121
164
177
112
196
194
195
167
170
196
135
112
219
255
209
215
259
194
170
139
165
229
150
226
179
194
123
172
150
203
121
203
192
176
255
112
150
193
112
150
170
112
124
181
112
195
115
121
175
231
136
228
237
150
177
150
150
136
150
159
167
208
302
121
194
186
150
235
112
212
224
150
136
121
115
150
135
135
170
181
201
195
186
112
136
239
228
212
186
179
181
176
112
150
130
192
121
121
170
171
150
123
135
210
121
144
124
115
208
170
115
167
196
237
156
349
143
187
171
181
179
164
201
187
150
237
195
228
234
167
150
112
205
218
112
112
123
178
207
208
121
170
158
167
150
181
167
150
112
167
123
135
150
159
150
112
181
225
112
195
231
121
124
112
121
123
164
172
150
170
208
208
181
112
130
172
210
174
172
170
164
112
150
208
272
112
260
167
136
181
228
202
121
168
159
243
150
121
234
112
207
206
135
177
123
152
112
217
232
217
226
123
131
172
112
167
121
136
170
150
186
208
187
135
202
158
160
170
201
137
200
112
137
194
170
112
218
193
194
192
172
220
202
112
179
222
265
214
226
195
200
202
150
123
219
172
156
150
181
193
187
136
130
237
121
186
255
193
164
172
231
217
171
258
202
136
241
249
150
147
172
192
130
115
260
238
209
276
158
220
150
150
139
213
150
115
302
167
135
193
150
213
172
250
112
159
203
123
121
124
205
181
112
216
121
172
123
112
167
123
238
112
172
164
115
150
208
193
194
112
124
176
137
181
121
159
112
181
215
150
171
112
135
263
207
222
202
172
207
152
150
172
167
199
115
135
212
236
229
167
217
150
115
147
176
237
115
123
171
241
147
170
187
147
135
205
193
112
112
220
168
150
194
164
121
186
237
171
195
181
123
216
207
220
172
170
178
112
205
161
159
171
150
135
158
121
171
231
171
172
158
186
214
150
150
136
121
174
194
121
121
225
147
112
234
121
150
233
136
112
136
112
177
213
167
177
150
112
130
231
121
150
170
150
162
150
150
276
158
263
195
233
171
152
256
136
218
121
231
213
212
112
228
240
121
121
167
121
263
187
152
112
302
171
231
226
150
170
121
208
128
150
202
158
202
143
208
139
210
208
112
170
136
203
152
208
255
165
150
128
112
112
171
121
239
150
150
167
175
208
208
220
115
150
150
147
194
112
112
208
121
208
121
207
124
177
241
203
259
228
150
212
160
187
123
181
121
239
193
211
207
121
170
150
124
115
174
208
187
177
167
146
184
112
136
219
150
181
157
169
216
172
228
150
171
205
147
208
172
150
150
231
167
112
112
112
217
150
167
224
143
112
200
186
121
112
202
124
189
194
150
150
263
112
225
150
150
123
121
174
144
150
181
247
124
208
115
237
147
121
150
302
258
121
135
150
255
132
112
245
150
228
167
178
208
219
112
225
208
186
121
276
208
165
230
147
136
121
176
112
150
121
147
209
210
217
172
150
208
159
150
170
171
121
171
170
150
208
193
176
255
212
177
150
177
150
228
176
243
172
158
124
150
144
171
195
170
171
186
207
208
174
194
208
167
150
220
208
150
193
164
150
213
159
218
167
167
150
137
130
207
121
170
175
112
112
208
234
207
160
167
203
194
112
218
150
220
208
165
208
193
176
165
121
205
150
150
195
245
164
161
112
172
264
150
143
170
218
172
186
202
121
130
217
207
193
226
136
173
229
203
135
181
135
150
212
174
208
128
150
135
273
192
201
159
233
150
112
207
219
181
167
150
115
150
170
218
172
212
208
112
112
185
215
210
160
164
150
150
121
203
192
194
121
211
263
195
149
194
183
160
231
112
115
255
186
171
277
112
152
146
228
244
137
220
176
167
123
208
135
195
178
194
121
233
121
112
172
112
186
121
206
130
195
195
112
219
156
193
123
167
159
171
150
147
152
112
172
135
167
170
121
121
203
167
159
204
172
171
204
150
156
112
150
202
208
174
170
194
225
150
215
176
136
112
130
240
115
159
210
147
164
187
181
135
170
237
246
254
225
174
181
211
228
160
208
123
150
135
176
112
121
178
202
158
172
170
190
156
172
112
115
150
208
112
150
115
150
150
195
137
124
170
121
150
137
121
195
208
193
173
121
121
219
121
143
130
217
219
170
121
241
121
208
224
141
238
172
136
181
150
170
181
172
150
150
165
167
112
228
137
150
115
201
112
147
175
178
159
226
179
123
302
223
193
136
171
201
128
158
181
146
112
216
165
228
164
176
112
195
170
150
112
123
201
305
172
150
135
170
112
150
208
218
167
150
192
139
166
150
150
115
150
121
208
158
150
115
175
123
137
172
136
201
112
121
123
121
121
200
135
172
150
112
171
121
112
172
176
121
215
208
208
187
121
165
194
272
170
177
219
167
250
150
168
202
123
214
112
115
143
112
179
112
124
181
159
208
135
115
167
150
208
159
267
208
168
159
112
115
172
171
237
228
170
302
172
124
194
137
181
123
208
160
150
194
212
136
135
150
170
121
150
184
121
115
202
214
164
193
247
136
123
219
181
121
121
302
201
167
115
170
121
242
178
145
121
220
201
193
201
228
212
112
223
172
112
167
150
115
193
192
178
208
208
130
201
112
170
194
160
135
212
210
172
187
192
228
175
225
170
147
232
228
270
112
205
150
123
181
201
218
112
112
171
217
112
194
171
176
203
150
165
214
170
124
112
112
202
241
201
171
121
170
121
203
176
121
159
207
208
239
219
144
238
150
121
121
172
194
121
150
172
167
171
239
112
184
146
150
164
177
147
150
201
170
172
170
150
135
231
112
171
199
150
112
184
181
150
150
115
115
216
121
123
123
112
152
164
150
201
179
206
229
121
150
205
121
167
156
181
186
177
177
162
164
236
240
196
237
264
177
152
150
168
217
240
255
190
177
193
213
121
167
179
123
195
112
228
150
216
112
185
214
172
229
128
302
225
195
168
157
112
123
112
121
167
150
208
208
150
167
164
167
171
228
181
170
247
150
168
170
208
165
150
121
112
250
170
233
243
174
112
255
203
112
123
177
172
212
208
181
112
278
190
121
173
215
121
227
181
223
212
181
159
195
224
194
147
181
143
112
213
228
194
187
228
150
186
205
230
172
143
150
112
165
121
150
194
265
150
150
192
174
194
202
150
225
207
159
191
160
170
195
187
164
130
150
233
112
112
181
121
174
172
212
150
218
130
112
167
124
162
192
124
194
115
210
229
124
124
171
150
139
121
167
234
137
121
121
239
135
235
228
212
124
121
208
231
215
229
220
275
208
128
150
112
240
121
224
121
172
135
170
124
167
121
210
182
167
150
237
192
150
264
167
121
136
213
220
192
170
216
159
159
202
150
150
193
188
233
123
150
187
186
121
158
172
136
217
170
208
124
170
156
208
123
208
172
197
214
219
121
150
168
112
172
136
192
187
172
185
150
150
186
153
137
276
218
263
165
247
172
208
226
139
208
112
228
124
112
225
342
205
112
137
177
187
164
150
121
192
112
187
259
226
144
112
158
172
174
194
182
147
201
121
136
194
150
172
150
208
121
174
250
144
160
150
162
172
202
194
130
172
238
172
170
187
159
171
150
176
276
152
176
237
194
170
121
156
220
210
252
225
220
172
208
150
152
205
181
172
172
171
208
208
176
176
156
257
228
226
150
164
187
150
170
192
258
181
112
112
220
121
164
156
167
172
193
150
258
177
178
172
232
218
112
150
203
121
170
197
189
208
278
202
172
150
112
176
230
150
210
123
176
194
165
112
136
214
171
172
205
121
181
136
170
112
167
242
147
241
168
172
167
172
165
209
243
219
228
164
229
228
208
150
150
158
171
167
150
112
172
265
211
219
175
212
137
217
161
150
209
150
158
121
208
207
174
171
124
112
130
202
205
186
193
150
150
150
208
121
158
112
208
194
147
150
187
193
266
112
150
185
238
187
136
121
233
203
139
121
202
228
202
112
195
124
238
150
123
112
250
121
124
172
159
174
167
194
181
203
260
150
192
112
186
167
210
165
121
209
158
194
207
135
176
172
167
121
112
194
203
121
248
121
260
158
187
243
135
212
150
212
226
238
150
150
150
121
150
235
202
121
193
195
121
181
121
147
210
208
224
194
167
208
234
228
193
121
228
112
208
153
208
176
150
168
196
123
201
112
150
159
220
112
112
201
170
187
218
112
228
178
193
150
234
150
135
256
184
220
174
124
201
203
124
176
150
208
150
150
150
230
121
209
128
187
150
181
150
193
121
172
210
171
162
167
112
176
208
150
165
112
171
170
167
202
150
228
217
265
197
150
112
194
230
208
176
112
130
259
136
150
228
187
150
208
231
208
202
167
123
150
215
150
121
213
121
150
112
181
219
112
112
150
194
273
209
202
123
123
115
208
225
208
225
167
112
112
202
150
112
167
181
181
150
226
123
172
172
150
181
194
150
208
195
172
208
150
228
170
170
135
184
208
194
171
171
147
181
177
195
156
137
150
189
144
224
165
167
170
208
235
152
193
160
137
150
112
193
195
170
112
150
135
167
159
135
170
208
150
192
172
123
112
250
208
150
302
172
263
121
207
112
150
234
195
112
228
167
193
172
219
150
172
176
137
164
203
181
231
123
150
172
150
123
165
112
302
176
172
150
210
152
228
203
159
121
208
150
167
210
208
156
170
181
112
150
208
131
150
208
171
187
190
202
164
171
112
115
150
219
281
193
188
171
172
172
150
150
205
208
167
112
176
243
159
150
135
150
150
208
136
223
186
208
164
170
202
150
121
208
112
112
160
270
150
112
210
167
123
112
244
189
150
171
135
233
135
167
152
121
177
186
112
220
208
150
226
241
123
136
112
123
112
137
150
170
263
171
186
147
150
160
112
147
172
212
237
172
235
150
137
150
175
208
121
150
150
194
207
255
115
176
167
176
121
167
121
150
193
112
112
112
208
150
112
112
239
150
171
241
217
150
150
150
228
123
112
170
176
115
297
215
112
212
150
171
212
150
182
150
137
159
112
150
171
121
189
112
194
186
214
136
112
233
112
167
165
215
187
159
137
121
208
147
170
167
121
150
186
172
121
174
158
112
150
137
164
255
171
150
198
123
121
123
121
150
226
172
208
160
201
174
158
227
167
112
164
172
167
193
172
195
121
121
112
229
176
228
170
170
124
150
192
150
186
239
112
178
213
157
250
144
150
228
150
194
237
121
150
141
112
250
226
209
150
150
181
210
112
187
150
112
121
165
212
170
202
208
172
171
204
157
228
136
172
150
168
212
121
182
112
208
175
150
171
136
150
195
208
150
219
225
150
175
150
167
147
150
224
193
220
212
167
171
219
112
159
233
231
170
227
121
176
112
176
178
190
130
150
194
112
250
198
167
208
167
121
176
172
124
172
121
264
112
163
136
263
150
204
165
246
176
121
176
112
112
168
172
218
150
187
176
121
112
186
161
121
172
121
166
170
143
236
150
170
121
150
228
179
150
167
121
112
112
231
112
228
115
172
123
203
152
147
174
137
195
176
112
150
147
237
150
226
210
193
167
231
172
172
123
167
179
150
208
121
123
112
123
208
212
170
150
167
208
210
112
172
239
163
181
167
112
186
186
181
179
228
123
194
130
164
112
150
166
176
147
228
210
153
214
211
121
176
176
226
150
170
112
112
193
209
167
220
212
112
228
150
174
263
112
167
204
135
170
231
112
207
112
223
123
121
136
254
135
150
112
150
208
194
228
115
203
219
112
175
176
237
112
247
158
172
236
112
170
237
181
158
194
208
164
135
168
150
167
193
115
112
150
213
112
167
121
172
258
115
202
150
170
121
208
136
193
152
170
263
195
130
176
152
123
121
165
217
150
172
112
150
121
230
188
150
159
172
157
212
121
170
150
168
187
112
112
171
112
176
121
150
201
208
121
115
137
205
181
121
150
121
194
121
194
150
165
112
160
194
150
180
177
175
167
160
208
137
209
150
167
172
175
205
172
179
121
128
115
208
150
136
121
177
171
121
216
208
187
208
112
255
170
225
121
216
242
167
192
121
230
168
156
186
208
167
135
278
170
250
121
112
150
194
150
150
121
208
302
158
226
172
203
179
112
171
210
237
171
150
208
150
156
187
187
150
165
193
150
183
136
172
115
170
112
181
112
239
202
193
171
172
150
121
177
112
176
135
210
115
121
112
112
192
150
171
208
276
176
150
229
172
247
217
112
208
112
172
215
238
193
123
167
176
135
167
172
159
112
194
256
112
208
255
186
165
194
150
193
121
112
172
121
158
150
210
135
259
181
165
121
172
137
147
195
193
186
194
186
139
167
201
121
182
172
112
184
150
112
167
150
182
150
168
121
212
136
201
121
167
162
267
150
194
176
208
147
193
172
123
121
217
167
112
136
150
229
115
123
137
255
202
112
170
176
243
164
208
176
248
135
236
239
194
212
150
143
123
172
231
189
150
179
231
193
172
147
150
165
174
130
121
135
228
170
112
229
193
233
208
150
165
208
168
170
201
121
121
231
150
112
220
194
213
150
186
194
194
217
195
172
194
208
250
172
121
231
121
150
112
172
121
121
121
167
206
203
158
150
175
162
150
212
187
159
187
170
150
158
124
193
150
186
150
225
211
213
165
176
176
157
158
210
123
112
229
170
150
121
176
136
245
176
231
136
112
170
194
171
255
184
208
165
170
112
123
194
181
157
164
147
229
225
150
186
229
121
203
194
193
121
115
165
212
115
242
171
203
171
121
136
115
229
112
170
250
121
208
213
157
229
176
144
299
260
137
130
152
123
187
243
112
193
115
171
202
218
167
184
112
206
170
165
137
256
208
181
233
123
212
112
150
170
165
167
121
150
193
137
186
199
195
112
115
150
130
112
121
135
186
124
176
218
121
250
173
150
195
216
112
112
136
164
112
181
150
121
174
201
136
135
182
121
267
203
150
302
189
176
203
208
192
171
202
152
175
220
167
219
170
147
192
195
112
199
231
172
208
135
137
156
219
271
217
206
150
202
208
281
176
193
226
208
176
210
123
195
112
220
194
172
207
202
174
128
187
112
276
170
177
278
173
150
115
202
165
121
112
170
121
172
158
176
193
302
121
121
217
172
195
156
176
150
196
112
167
150
201
208
121
130
202
208
158
175
203
112
243
172
201
239
130
198
170
150
202
123
112
212
208
156
174
172
228
167
167
212
112
194
137
172
124
112
121
170
219
172
112
195
121
236
203
177
137
112
150
172
124
150
136
229
112
243
171
165
206
231
167
150
206
123
179
112
208
229
186
210
171
176
147
241
176
230
112
253
187
233
121
187
158
172
147
221
228
205
172
150
202
210
112
165
150
194
208
170
157
121
226
150
172
206
158
112
170
233
236
186
170
112
136
141
228
131
222
171
150
115
167
112
176
229
170
258
247
156
239
172
170
208
250
179
172
135
217
137
112
121
263
112
172
159
150
112
230
136
135
167
112
242
150
135
201
172
150
172
194
150
208
167
181
112
208
181
181
112
237
150
123
181
265
209
217
121
224
150
167
112
216
255
217
112
208
121
144
150
152
150
172
112
172
208
150
150
207
121
123
112
276
233
172
186
170
170
274
167
112
165
165
150
124
167
137
135
165
156
187
193
121
112
112
208
226
121
157
146
112
212
228
220
159
187
112
208
159
255
147
112
305
242
150
164
212
209
172
172
172
112
282
172
167
167
124
172
172
181
237
184
228
121
112
194
207
218
159
159
150
147
167
172
240
147
250
136
121
219
181
233
202
170
228
228
170
150
115
150
150
150
112
150
241
226
193
112
171
178
152
167
231
158
208
170
170
193
177
167
198
223
205
157
234
172
150
156
182
137
137
132
228
180
176
147
150
159
146
164
208
170
150
167
172
228
167
150
208
229
121
123
170
150
112
210
171
150
228
121
201
123
239
229
175
219
112
245
167
150
115
172
217
127
178
137
208
194
167
257
194
203
158
112
150
212
158
274
170
121
124
123
240
225
158
223
172
112
137
150
153
150
175
172
160
167
228
123
160
112
121
192
160
171
121
172
175
227
112
218
146
168
156
112
228
172
150
181
164
112
164
172
184
170
121
202
135
172
189
152
150
123
194
172
112
167
202
237
161
187
147
130
112
196
237
208
159
147
128
121
260
150
121
112
150
193
121
165
112
214
208
243
157
165
211
210
112
150
121
194
165
170
177
150
186
124
150
181
150
250
160
210
210
196
150
137
172
150
157
208
134
144
121
115
121
227
187
165
150
185
112
152
171
202
112
158
150
115
208
123
194
207
218
198
187
208
165
123
210
172
150
208
164
121
177
128
112
137
150
194
181
173
194
167
218
121
121
193
168
167
208
186
165
150
112
167
150
172
242
156
147
112
150
246
175
193
178
255
112
243
124
181
203
157
115
220
135
136
143
233
240
155
123
150
186
123
172
161
167
112
231
179
135
250
136
177
209
261
212
205
172
150
215
176
219
194
165
135
112
136
112
124
184
177
186
220
235
205
121
112
112
208
179
112
150
217
181
191
259
112
168
112
217
174
189
181
237
121
167
212
150
181
172
187
121
150
201
121
165
167
112
124
195
249
170
112
174
203
144
193
212
112
150
115
137
192
218
218
112
112
150
131
172
222
172
165
195
181
229
123
276
150
115
214
276
121
218
156
208
124
158
136
263
171
195
230
192
173
190
170
137
193
219
211
181
150
121
150
160
192
231
115
193
234
121
211
207
232
176
231
150
137
112
128
193
186
194
150
172
159
194
172
123
136
208
150
150
186
124
181
112
123
174
172
112
213
231
201
153
238
258
123
186
147
150
170
112
208
189
135
121
115
208
150
150
203
123
121
258
220
170
115
167
174
208
112
112
150
135
186
251
130
199
172
135
243
202
165
130
150
150
121
194
223
217
250
187
168
186
161
181
156
124
172
112
167
159
160
152
150
112
150
210
112
168
121
233
218
207
186
112
160
194
124
172
156
201
250
147
186
150
193
203
185
229
112
194
167
172
172
205
112
112
115
181
150
112
112
121
112
156
210
112
237
121
167
150
210
194
174
112
172
181
231
150
172
208
219
217
123
170
139
228
170
198
187
181
137
190
225
150
112
167
175
157
176
123
195
150
150
112
121
210
233
121
237
158
150
172
112
171
194
167
237
181
248
112
150
181
164
176
150
193
112
165
170
112
232
181
174
210
112
208
193
211
172
112
158
176
121
181
237
176
208
205
208
229
115
136
150
147
147
181
167
201
238
170
156
176
112
176
276
233
167
208
171
112
150
147
210
144
130
194
176
128
228
197
172
112
150
150
181
123
255
204
182
208
123
147
208
268
123
121
112
193
208
190
150
208
164
172
186
158
186
208
217
130
112
150
181
208
231
115
187
150
233
193
112
227
212
150
171
172
167
167
121
228
179
121
171
167
136
150
194
165
181
165
258
170
196
171
194
121
172
137
192
121
121
121
193
195
207
189
167
176
208
121
228
121
289
217
112
123
112
159
208
201
189
214
164
193
208
158
121
123
208
137
208
172
235
112
123
150
208
171
144
210
212
112
147
213
150
231
150
194
158
219
170
137
192
112
150
121
150
194
260
121
150
150
179
150
112
172
165
150
150
208
150
172
137
115
208
143
150
186
203
150
128
184
121
201
220
144
225
150
200
212
223
210
150
112
167
112
130
121
112
112
112
288
112
112
150
112
115
121
255
196
187
181
167
165
167
150
112
150
154
170
212
226
112
112
208
160
172
165
256
167
176
302
171
150
218
172
112
195
139
143
121
112
167
172
160
161
150
121
181
202
161
123
254
145
128
130
150
208
244
231
112
177
112
228
150
112
147
195
177
112
208
150
121
187
152
161
112
158
250
253
124
171
121
170
121
176
136
150
128
156
121
228
224
186
191
264
208
150
168
243
245
170
255
228
207
228
150
112
147
112
187
255
209
112
203
121
208
175
150
195
172
112
112
217
136
159
195
231
231
121
167
244
150
232
186
194
150
150
150
167
165
208
150
150
150
193
172
147
176
171
237
112
210
112
187
124
121
121
231
237
228
167
172
171
174
137
112
124
184
121
204
208
115
189
160
112
237
176
233
215
186
121
121
115
218
242
160
171
150
226
177
135
112
235
150
112
150
176
147
165
208
210
212
175
112
171
150
150
186
150
194
212
160
135
226
121
121
193
211
112
212
134
208
208
112
165
146
171
150
180
150
150
167
167
255
112
112
121
112
112
192
223
243
184
137
121
208
187
121
172
201
250
259
200
176
218
112
123
127
121
231
121
176
226
112
150
176
150
178
150
186
237
178
115
263
181
186
176
208
201
115
159
247
172
195
262
189
172
195
210
128
136
167
267
186
236
187
136
150
158
177
194
123
167
112
208
192
121
181
205
205
150
208
209
167
150
159
112
123
207
210
112
168
202
123
181
208
208
115
150
123
228
238
194
150
228
128
349
172
112
170
150
225
214
158
150
112
242
228
115
208
181
137
150
208
139
181
123
167
150
190
150
208
150
124
150
112
123
112
206
159
197
192
208
214
177
194
157
112
147
229
156
207
228
121
165
217
165
176
208
137
255
203
121
167
150
226
121
187
194
158
196
186
263
192
170
242
168
167
254
208
172
172
136
112
208
150
150
226
186
112
170
159
208
171
170
121
171
219
112
208
174
179
115
112
177
186
167
190
167
130
172
150
220
159
128
176
165
204
184
159
208
121
289
121
217
182
146
171
121
202
232
186
195
208
123
208
228
198
177
167
174
112
194
150
233
167
159
181
165
121
203
121
172
150
234
112
167
267
150
150
171
146
161
159
238
150
121
167
170
181
147
208
150
229
228
211
208
150
123
243
177
217
121
121
174
171
208
112
236
195
115
208
158
206
137
112
208
112
181
112
112
199
212
115
170
225
199
147
186
124
150
187
137
121
150
184
190
112
194
164
175
235
170
150
165
250
167
139
206
165
150
165
239
186
150
203
208
174
172
150
121
150
206
172
112
195
170
123
240
112
136
184
176
150
167
159
208
167
200
226
115
167
240
243
212
236
150
211
210
215
159
112
121
136
124
115
226
176
224
203
156
130
181
165
194
160
210
204
150
172
136
152
112
239
172
112
146
150
208
170
208
246
252
112
150
172
153
193
164
208
217
172
112
177
112
195
171
170
130
228
174
231
112
150
226
130
225
164
115
137
172
112
167
150
165
131
112
150
172
112
250
233
112
135
115
150
115
212
278
273
210
201
150
135
150
250
243
112
150
231
150
165
171
208
112
112
178
150
165
181
147
237
164
135
227
228
112
177
121
121
170
150
112
187
172
167
193
223
197
187
112
219
194
171
242
150
150
112
146
176
216
170
176
121
167
112
171
181
165
165
208
249
156
177
176
121
135
193
208
228
150
175
208
150
112
150
235
175
239
150
112
147
150
208
167
141
112
250
219
123
112
112
121
176
112
121
193
147
192
165
194
208
207
161
121
194
213
164
204
208
123
262
128
208
160
123
192
112
232
228
167
167
164
176
123
123
170
299
150
172
210
112
194
250
143
152
194
181
172
112
191
214
130
123
150
167
210
238
256
176
187
194
121
202
167
193
208
195
112
150
150
115
198
207
150
195
194
192
172
174
112
121
143
176
150
200
178
186
112
150
195
150
165
121
150
121
123
208
172
136
189
213
167
159
172
172
208
170
123
250
112
150
208
112
186
237
186
112
135
172
150
130
171
201
170
195
255
121
226
236
187
250
235
150
112
123
121
195
194
112
152
121
172
232
235
131
194
186
208
174
215
208
121
204
192
115
228
147
172
164
208
121
172
218
203
181
276
150
123
165
112
244
176
276
150
112
202
215
112
172
198
170
121
143
112
150
112
203
112
187
121
276
194
112
213
121
136
184
208
112
228
227
208
255
115
112
121
208
302
203
112
159
167
165
187
135
179
167
157
121
121
232
158
202
150
221
203
218
208
181
115
112
172
168
112
202
121
210
115
181
228
172
167
237
172
115
219
150
137
176
172
112
225
194
150
167
204
187
176
208
242
150
186
171
201
201
193
235
121
170
170
208
172
137
187
158
121
178
211
128
150
200
150
150
112
236
208
203
159
228
112
208
123
211
187
209
112
236
147
195
236
170
210
112
150
172
276
121
275
123
174
233
115
204
159
150
195
170
284
212
229
200
170
171
172
172
137
170
225
121
121
208
259
208
208
210
190
121
202
195
150
145
135
255
150
121
208
229
170
194
181
195
150
121
186
176
195
172
121
121
121
123
112
144
236
199
220
150
177
205
170
123
167
121
186
150
237
177
186
253
195
171
121
164
112
124
112
150
167
208
212
187
186
241
167
171
170
131
121
200
121
208
150
171
239
159
150
121
159
207
165
208
208
195
220
170
203
208
147
147
250
121
231
171
164
226
115
121
112
150
167
220
123
164
250
112
121
208
137
135
112
172
150
228
205
208
150
214
220
226
115
217
172
112
150
208
194
160
229
150
128
147
171
195
112
276
250
220
115
206
167
136
170
208
221
121
228
158
172
276
212
210
128
160
135
121
208
112
193
167
237
176
181
184
136
112
137
230
208
208
215
130
112
231
219
150
241
208
150
184
150
152
226
112
112
172
167
276
202
124
201
193
135
163
150
112
205
123
150
242
161
150
121
215
123
254
143
202
195
112
166
208
135
167
201
112
150
183
112
167
176
121
219
194
112
170
177
121
112
112
216
263
150
172
170
208
257
121
150
170
250
167
231
167
150
123
150
112
167
150
202
172
158
168
159
112
112
239
121
112
150
143
203
250
215
112
171
171
181
170
216
112
228
164
179
275
208
159
164
197
150
276
112
192
182
172
160
150
187
176
130
219
194
121
291
121
212
121
203
302
112
172
302
124
250
167
195
172
194
162
237
297
212
112
194
203
121
165
165
135
228
186
172
165
170
168
214
225
143
234
167
150
255
152
250
121
242
156
165
247
121
112
194
186
203
236
150
193
170
231
202
121
212
167
171
218
112
228
112
177
150
165
181
112
121
172
128
194
112
172
208
112
112
302
172
195
171
205
112
229
232
228
173
195
150
208
170
123
198
112
171
176
171
112
203
136
121
121
147
170
181
176
150
156
186
115
150
150
112
250
208
170
208
123
208
112
170
147
217
143
157
209
214
211
123
182
121
136
150
115
121
192
167
150
212
131
203
112
201
123
121
171
218
121
167
194
175
112
214
192
203
194
165
187
194
211
172
136
223
172
228
228
208
172
193
164
231
194
225
237
164
201
121
112
121
112
146
112
192
121
213
205
170
210
185
186
208
179
186
167
123
112
172
177
112
121
112
115
171
121
150
150
260
112
147
170
167
123
115
172
182
150
121
150
208
150
155
170
243
242
167
208
121
170
172
136
165
136
244
147
215
177
276
112
158
171
135
159
176
121
195
158
229
150
181
195
179
121
212
150
210
237
170
274
181
115
208
227
121
147
186
177
167
150
112
194
112
181
231
208
254
226
121
168
127
178
172
167
182
208
205
147
203
123
239
208
208
121
136
112
226
112
186
194
150
231
164
132
172
168
215
165
208
210
136
172
208
197
186
150
165
231
179
152
112
150
259
177
137
164
181
112
112
150
150
208
228
136
171
150
186
229
218
147
121
170
165
239
168
226
164
228
205
182
146
150
202
112
248
208
209
112
203
172
205
168
170
187
192
112
205
144
176
123
194
282
121
150
202
233
238
219
212
112
167
167
112
147
144
136
112
219
233
167
112
172
167
193
167
112
121
208
150
186
171
194
171
167
112
150
193
208
150
137
150
121
208
203
187
150
229
208
240
150
300
167
202
208
208
124
164
209
192
112
210
209
170
112
194
112
150
248
112
170
112
165
172
112
112
220
181
201
181
121
207
246
176
167
181
219
184
112
167
150
208
123
121
121
186
121
232
160
167
124
150
176
144
187
211
137
215
194
112
121
205
112
205
135
259
232
135
208
225
172
207
250
201
302
182
123
181
112
164
150
208
150
253
181
177
112
232
231
171
203
186
208
150
121
233
220
208
172
172
150
220
150
124
158
112
193
123
235
121
112
243
164
121
214
208
112
176
167
193
171
166
208
150
128
156
165
121
123
177
208
210
172
236
121
209
171
202
187
152
228
242
160
150
150
208
208
172
206
172
200
167
220
150
121
150
208
172
170
123
211
112
208
112
124
112
150
208
171
121
175
158
135
167
190
150
228
237
112
220
201
121
201
112
170
123
201
171
123
172
136
173
201
150
164
218
246
220
167
228
184
112
167
239
156
112
206
208
179
150
208
121
212
164
220
193
121
150
201
150
201
112
172
187
176
208
121
172
150
135
150
208
223
137
194
127
150
112
150
230
137
187
187
228
150
112
177
164
112
150
203
135
218
174
160
219
225
187
201
172
187
123
137
192
208
112
121
194
112
223
112
121
194
160
170
150
112
112
208
121
194
189
150
172
239
196
159
202
195
121
192
237
145
112
156
176
167
136
124
112
115
170
172
177
150
159
147
189
150
164
121
123
121
158
167
150
135
124
176
171
194
195
208
128
124
150
150
264
181
201
235
135
150
203
177
150
228
171
234
115
223
112
112
165
222
121
174
187
237
171
302
121
219
181
112
150
172
195
136
193
167
170
259
112
150
150
115
121
229
150
159
215
130
156
177
171
150
137
171
208
228
150
150
187
239
243
170
208
224
121
112
179
205
208
195
170
176
212
238
184
250
167
214
250
121
200
221
170
216
170
206
171
147
195
136
135
264
171
167
229
208
210
166
147
278
214
121
219
130
229
167
167
121
150
201
239
137
208
174
121
150
150
196
261
287
176
112
121
150
203
172
206
112
186
144
115
190
241
171
176
137
208
181
194
278
194
255
208
208
193
153
150
177
123
213
230
150
236
112
150
165
210
239
265
203
171
189
150
167
208
204
208
121
193
202
217
186
124
159
219
112
165
167
150
144
186
112
150
136
172
208
216
208
186
230
112
150
167
112
112
203
143
171
208
192
150
181
267
121
150
202
194
135
143
172
208
123
150
121
239
215
150
208
202
229
150
150
167
136
194
121
164
112
271
121
202
123
238
121
208
181
135
112
165
152
208
207
208
112
259
213
208
121
124
202
123
218
147
121
240
121
112
188
112
278
112
124
159
112
112
150
208
209
150
194
202
167
181
123
170
193
172
158
257
208
170
150
165
167
115
150
211
152
112
150
253
170
215
184
228
172
210
221
165
160
160
172
232
199
167
193
186
172
168
135
121
234
123
121
167
263
176
231
237
208
112
121
165
212
150
172
168
136
210
164
203
181
164
172
112
177
150
218
253
167
219
240
193
156
215
182
112
187
172
276
205
172
172
150
168
213
189
158
219
208
112
218
121
112
121
194
150
112
247
121
187
135
158
121
112
150
189
121
176
167
220
121
112
172
255
150
194
168
150
171
136
150
203
181
150
212
208
112
182
150
115
228
158
121
276
243
139
176
235
181
143
220
170
181
121
112
167
112
112
165
112
207
202
124
224
210
200
203
121
208
156
192
115
121
124
172
211
182
146
150
170
172
239
137
150
121
158
205
112
181
150
228
238
168
172
170
228
237
236
159
147
176
253
156
150
237
150
238
171
228
203
228
167
263
172
177
226
205
115
240
164
185
174
135
172
172
208
124
167
237
217
167
195
250
137
208
194
160
189
272
158
121
237
208
112
235
112
208
255
202
170
226
112
121
168
167
152
177
237
202
185
121
212
174
156
171
255
162
167
208
150
195
193
156
121
167
112
121
187
165
172
172
150
112
172
112
194
208
150
184
159
150
170
121
121
150
135
210
196
150
271
170
121
228
257
152
176
176
121
194
167
172
172
158
137
172
150
228
112
150
150
124
176
186
112
112
172
112
167
150
181
164
121
214
194
181
135
239
208
112
176
123
261
208
176
150
170
202
229
201
192
177
225
167
112
208
208
208
204
139
150
121
205
171
150
172
112
186
176
194
194
194
121
150
202
205
135
121
179
208
233
112
209
112
165
181
135
156
172
121
186
196
203
121
112
207
159
172
150
112
187
174
130
181
167
208
170
192
209
150
150
194
210
186
112
187
124
135
192
172
112
150
194
237
164
299
201
143
135
172
172
228
121
158
147
229
136
171
213
213
170
165
135
187
150
112
123
130
208
137
212
124
181
214
202
239
121
176
121
212
207
192
208
212
130
194
208
201
162
137
167
208
135
112
209
229
172
150
147
232
239
195
165
193
150
112
228
194
193
172
121
112
260
181
150
167
291
203
112
172
208
208
160
121
208
112
167
199
150
208
231
165
176
170
184
112
226
121
177
150
250
115
181
208
208
208
167
128
206
167
150
167
172
177
195
212
194
193
136
187
121
112
187
163
208
121
128
239
136
112
193
121
211
185
112
170
128
131
150
150
150
193
229
208
121
172
225
186
210
186
181
193
193
121
172
299
147
160
239
150
121
172
220
112
175
150
150
176
282
193
240
121
150
242
112
170
112
208
193
150
186
177
167
137
157
131
193
121
201
240
208
144
150
172
171
121
176
112
165
165
274
181
250
121
208
150
172
147
150
112
150
167
212
208
181
208
150
191
181
234
160
112
218
194
225
121
228
207
165
255
195
203
201
150
147
162
242
159
150
128
181
112
150
207
112
245
172
179
181
123
164
121
232
208
176
121
112
207
150
192
136
144
226
240
165
235
112
232
135
112
112
124
219
194
170
203
170
112
217
229
146
150
150
143
115
211
229
172
275
176
123
213
165
220
121
136
257
150
167
150
202
172
164
121
123
115
194
195
208
208
248
147
147
164
201
121
112
150
255
167
112
112
172
238
237
136
158
135
205
208
150
112
237
181
172
159
130
313
170
172
172
195
112
171
147
121
123
250
214
150
112
112
264
194
121
115
123
170
150
167
174
172
121
167
193
121
136
150
112
305
160
112
237
157
201
162
208
152
176
167
195
112
167
217
170
205
150
146
150
135
121
112
205
178
112
136
201
172
237
150
170
165
139
176
150
121
237
112
121
167
171
170
159
208
150
209
167
112
194
171
174
208
123
121
226
144
150
112
150
209
202
172
112
112
112
171
135
219
115
208
150
247
145
244
112
123
121
172
218
171
145
124
212
112
171
164
250
212
174
150
194
156
292
165
150
150
123
176
167
164
172
208
112
112
136
174
112
128
121
112
112
123
168
150
128
172
172
172
194
184
177
278
177
170
234
168
150
170
176
152
211
150
167
115
184
150
181
123
150
174
205
172
150
176
150
249
236
136
121
208
147
194
121
172
235
112
112
192
121
121
167
186
209
150
176
192
150
231
208
164
207
263
121
112
202
143
167
176
159
123
135
208
178
192
112
170
128
174
165
302
139
150
199
121
181
240
159
170
167
167
208
212
121
168
244
150
152
112
112
164
237
157
150
210
150
202
156
172
208
171
167
181
208
150
171
263
121
233
179
165
214
237
121
208
121
150
112
233
227
237
176
170
170
282
161
230
208
186
150
208
115
220
208
217
112
139
121
130
136
171
192
208
121
136
164
172
159
159
123
150
170
152
172
217
171
176
158
208
121
181
194
194
239
150
121
123
136
194
121
181
202
239
228
136
179
143
150
208
206
112
187
112
147
112
187
150
150
150
115
170
121
189
171
112
215
228
150
208
202
112
195
205
162
194
150
112
176
171
167
137
167
228
176
112
137
176
115
165
202
158
171
179
212
171
150
143
187
135
171
160
172
208
121
147
152
198
112
208
112
228
172
171
150
201
174
140
137
150
150
208
150
176
161
243
171
176
112
121
220
171
166
276
112
176
210
165
124
176
115
185
156
241
167
167
208
170
121
231
177
122
217
150
170
288
194
218
208
209
220
195
226
112
150
164
174
156
193
218
194
199
194
242
150
202
162
236
137
186
130
172
137
150
178
178
184
170
115
121
240
150
225
150
208
197
159
156
231
176
144
194
143
137
136
161
242
214
172
258
177
220
187
201
186
190
159
170
170
204
171
208
181
208
218
112
171
167
236
115
171
121
296
208
136
124
135
219
172
176
176
212
186
208
123
187
150
159
242
139
208
185
164
184
112
150
112
172
121
208
150
123
231
203
172
236
150
171
112
176
147
237
112
210
112
121
147
187
219
272
194
211
186
121
135
186
121
150
150
202
172
158
172
171
229
170
156
171
152
220
167
147
182
124
194
137
112
121
208
135
186
195
170
112
121
128
112
171
181
205
204
128
167
177
172
208
123
181
189
179
135
190
112
143
150
179
225
203
167
121
172
201
115
212
150
121
257
263
187
208
145
208
170
112
176
206
176
202
168
153
229
187
174
121
179
128
238
135
121
121
150
150
253
170
121
115
170
282
139
115
243
252
208
176
112
121
234
150
165
226
121
112
276
171
302
215
171
203
165
115
150
186
157
208
208
112
150
194
112
172
179
208
191
171
208
175
157
170
121
136
167
112
112
121
121
112
112
172
171
172
202
190
112
150
186
232
176
210
158
121
210
115
168
172
128
207
137
165
124
186
193
208
194
177
193
172
175
208
147
112
164
205
147
172
150
172
208
232
150
152
170
239
121
250
112
136
112
167
201
176
123
112
167
150
243
250
250
121
150
150
176
112
150
227
123
176
150
247
147
150
186
137
187
115
112
212
112
236
150
112
164
150
208
249
165
123
172
257
112
231
223
186
165
112
219
150
208
205
239
150
165
150
171
203
203
112
112
123
176
230
187
160
159
112
172
136
172
172
217
203
112
181
156
194
255
176
167
112
137
211
202
259
228
176
178
171
171
221
181
232
243
123
143
150
171
150
194
272
136
194
112
172
177
123
150
165
121
231
202
228
150
208
150
186
213
208
137
150
186
195
115
130
170
228
147
176
115
150
235
212
150
115
136
195
208
121
172
135
171
123
167
208
115
150
194
115
157
236
121
115
112
143
171
121
121
208
167
124
208
171
150
177
257
135
202
181
210
150
121
172
123
112
112
171
112
137
123
206
226
150
172
121
208
150
218
112
112
212
171
170
115
192
218
167
170
172
236
201
243
204
175
241
150
150
112
112
265
172
192
167
123
229
231
165
150
144
150
194
112
135
123
186
228
194
159
112
112
208
121
187
231
112
197
165
164
174
121
150
150
263
152
170
219
121
208
123
156
202
171
170
181
136
193
186
135
141
208
150
160
150
150
220
121
121
218
171
170
228
231
167
187
288
213
172
176
165
217
205
215
194
250
171
174
150
172
121
172
239
171
208
112
208
172
188
143
279
210
171
121
170
179
194
171
150
150
181
186
208
112
176
112
150
195
186
209
150
115
143
175
208
167
112
150
201
136
186
115
115
135
186
150
159
203
172
165
150
167
115
123
136
150
246
145
153
197
112
208
121
150
123
131
218
152
112
112
177
150
242
121
112
210
150
177
177
167
177
201
121
150
112
112
172
193
231
112
208
181
115
150
123
112
203
170
136
112
172
150
143
162
112
178
158
208
204
168
194
187
215
123
152
150
207
130
212
172
168
208
128
176
237
121
170
172
150
112
112
123
112
167
150
112
115
203
186
201
181
193
264
134
208
158
202
112
112
163
201
208
194
208
208
170
121
167
302
201
112
248
171
187
278
143
194
194
150
170
232
240
112
171
177
239
228
172
236
137
228
206
170
121
136
186
112
172
171
168
158
139
174
181
124
121
228
159
171
222
237
123
150
178
150
197
195
171
167
146
150
165
272
181
167
187
208
186
152
199
210
121
167
213
194
244
172
208
193
112
199
170
121
217
228
168
112
121
159
228
112
207
168
121
219
112
193
167
123
228
209
171
194
121
217
220
195
150
112
167
180
165
112
167
112
137
121
239
157
231
165
177
165
115
150
256
121
170
177
165
195
208
194
216
246
194
171
208
217
187
220
135
231
278
172
233
229
214
201
194
239
112
171
171
172
220
213
208
263
172
171
215
172
112
164
193
112
121
150
186
150
172
115
181
137
229
172
172
237
165
240
225
167
228
150
177
136
121
194
189
112
172
150
208
112
172
167
187
181
239
186
186
233
212
130
164
112
232
167
172
187
217
171
212
137
150
130
219
170
226
121
237
121
218
147
208
112
217
212
112
176
274
112
150
124
156
186
121
143
135
231
186
181
137
168
231
124
150
216
164
177
173
171
194
215
121
130
150
150
112
167
208
121
170
184
170
167
112
167
234
167
159
207
112
147
194
236
194
170
208
112
167
181
121
150
186
215
222
208
250
215
121
210
112
172
152
205
202
172
219
170
130
123
112
158
159
172
186
282
202
299
123
112
175
217
171
208
176
183
187
212
135
112
112
176
207
121
189
156
121
150
170
202
181
186
267
150
172
170
171
150
228
123
202
168
123
121
172
150
176
150
135
207
123
201
150
181
186
172
130
202
171
136
186
121
160
208
171
237
179
230
165
167
170
124
121
124
175
208
150
246
124
195
209
150
159
240
165
150
115
150
172
121
170
150
186
210
192
192
181
167
235
176
150
121
172
202
150
137
135
272
208
208
215
121
208
208
150
250
150
150
208
150
212
171
191
214
112
205
150
135
112
177
121
121
228
212
165
136
172
172
167
214
150
231
150
150
121
208
174
159
219
208
230
172
170
172
201
112
195
228
265
112
123
184
196
112
121
194
121
112
225
170
195
150
145
200
206
181
205
210
208
112
186
181
137
150
112
265
201
247
167
170
171
217
123
196
201
184
235
165
121
171
172
170
137
188
211
150
172
208
175
150
130
208
121
112
220
167
167
112
196
179
121
112
237
194
150
112
195
112
170
170
150
210
160
171
123
134
159
137
174
121
112
201
150
165
251
112
156
168
208
128
195
170
214
201
212
121
193
165
187
136
198
137
150
299
216
255
173
260
250
208
150
112
167
137
165
219
121
112
208
165
112
176
112
176
156
219
137
135
208
194
164
208
167
172
186
150
226
217
128
121
121
177
172
208
200
150
123
115
112
170
150
121
123
112
202
156
210
130
121
121
150
172
226
150
219
150
210
112
195
112
150
229
165
170
181
162
171
147
217
276
167
250
208
175
121
121
225
167
219
112
150
156
184
181
215
145
137
112
147
208
121
176
184
240
135
172
170
166
164
208
176
195
177
195
226
201
186
220
167
112
135
137
150
150
227
167
112
195
171
177
121
208
159
210
128
176
257
137
112
194
238
208
210
150
136
121
185
171
136
150
256
250
150
121
201
121
112
147
208
158
150
232
208
112
156
172
203
186
112
181
150
112
192
186
112
137
150
121
208
112
194
171
212
176
170
205
239
201
123
174
136
164
112
202
150
208
210
160
237
186
237
137
150
167
128
159
115
147
150
195
237
112
167
187
167
171
243
150
181
198
183
165
199
167
218
208
181
208
136
174
150
170
208
175
208
121
121
220
174
199
176
210
112
244
164
157
121
208
172
176
176
115
121
135
235
208
176
226
208
150
121
121
112
194
186
203
170
150
167
208
195
156
181
208
167
121
192
150
165
121
175
115
232
112
121
160
167
124
223
226
112
255
195
172
181
172
195
323
205
194
164
212
206
115
121
121
208
172
228
167
167
170
112
150
112
121
112
186
179
181
121
212
210
168
173
112
123
112
150
230
121
123
175
139
112
184
112
115
181
167
165
194
202
170
228
243
112
135
194
240
137
135
210
121
150
172
150
170
207
220
156
136
150
150
137
150
275
150
171
229
112
250
143
231
137
175
172
121
206
194
160
184
121
157
136
128
170
150
172
165
156
150
205
234
112
193
223
194
208
144
112
159
152
121
202
177
150
171
121
181
130
187
112
121
208
150
167
150
181
220
150
238
115
112
201
167
275
112
170
164
231
141
121
172
208
216
231
225
218
247
186
123
179
112
150
205
187
112
146
181
121
123
150
210
228
217
218
201
150
181
164
150
167
240
161
194
176
199
212
137
217
167
172
171
195
213
203
202
208
167
112
167
121
128
150
182
167
121
121
193
112
232
159
172
112
112
276
218
150
165
112
150
112
182
171
208
170
228
186
208
167
112
115
194
235
168
135
112
150
208
231
136
165
121
121
174
247
165
174
123
217
260
202
150
212
213
137
121
135
128
276
229
121
112
179
198
150
128
219
204
186
190
172
112
123
112
172
218
178
150
194
121
193
208
203
170
194
150
167
172
181
192
193
123
196
193
150
228
201
150
164
167
208
255
239
150
112
135
172
150
174
194
121
112
228
167
215
135
234
172
167
212
173
150
150
167
201
220
121
200
137
137
255
234
232
124
112
172
234
181
221
123
203
165
218
193
224
121
181
192
237
164
215
112
218
257
112
158
136
121
123
121
159
144
121
150
150
121
112
137
146
202
231
171
219
112
136
208
150
165
170
112
258
168
193
150
137
187
136
208
172
208
172
187
194
228
193
242
115
208
112
150
171
194
174
156
112
137
212
167
121
178
193
121
170
192
254
112
187
225
167
187
228
208
230
206
171
207
130
234
150
112
130
115
193
228
165
172
156
112
121
123
212
172
212
186
194
176
265
165
160
112
150
208
194
194
210
137
167
250
172
170
112
152
150
136
195
214
205
220
171
170
165
218
220
201
206
167
172
150
121
135
272
205
159
208
121
168
228
150
112
162
187
216
167
158
186
130
210
210
278
231
176
208
170
150
121
150
174
210
112
220
172
206
230
194
172
150
128
225
112
217
215
231
164
135
121
242
165
237
121
112
176
263
160
123
150
112
150
179
208
208
115
194
155
164
194
123
135
233
153
123
208
208
150
128
210
112
239
208
160
201
121
112
241
170
187
276
181
170
137
112
150
193
143
189
121
170
123
165
204
240
150
192
170
170
165
216
212
226
172
123
239
147
208
194
219
137
203
112
193
174
239
250
121
208
170
123
170
208
130
182
216
177
255
135
167
251
150
121
123
170
158
237
150
121
216
164
194
112
165
112
177
208
195
195
121
158
228
170
150
112
123
196
123
186
159
233
112
165
121
206
167
170
161
121
121
240
172
112
208
223
171
215
150
150
150
171
167
171
305
168
190
172
208
208
207
203
193
150
130
136
112
112
135
185
241
123
172
176
192
121
143
201
174
207
193
194
171
201
150
121
203
202
112
112
208
202
202
136
131
112
213
186
207
203
128
115
112
137
150
135
150
208
123
164
217
232
112
121
172
150
240
171
232
158
147
112
121
112
158
112
147
130
128
208
208
157
167
153
171
136
167
177
212
164
206
187
124
226
208
137
121
123
115
144
170
219
115
278
159
185
176
136
176
208
185
231
112
167
193
121
203
212
150
207
209
212
121
260
170
150
112
121
121
121
130
112
150
112
267
165
176
150
135
172
178
218
150
174
239
112
150
239
172
136
150
181
208
215
172
195
150
159
181
207
205
170
150
170
171
150
208
167
240
144
161
150
225
210
262
172
112
150
179
226
167
137
228
208
203
121
171
164
137
176
222
195
207
264
194
135
172
123
150
150
226
121
229
182
150
171
195
202
231
135
112
231
121
112
213
172
112
167
247
220
193
194
150
193
230
112
208
208
237
194
202
123
137
112
167
194
159
167
186
112
193
170
112
176
150
203
172
172
123
193
171
186
181
168
121
170
121
164
278
221
215
208
208
177
156
150
205
143
234
210
213
208
115
112
208
160
150
112
172
215
194
150
242
208
171
167
150
175
121
181
150
121
150
121
195
137
150
121
165
112
205
209
194
124
128
115
161
195
136
214
217
205
208
172
121
201
187
150
121
150
176
170
173
250
228
157
194
202
128
172
195
176
228
240
225
150
229
123
175
253
195
172
208
112
172
167
192
172
177
193
232
174
121
195
220
203
220
208
136
171
186
182
192
267
164
147
263
192
112
164
172
172
112
171
193
228
250
167
223
172
208
264
242
250
219
150
143
202
124
258
124
229
112
112
150
164
194
124
176
174
112
218
189
210
181
202
179
208
172
172
150
227
171
194
220
121
112
208
170
150
231
172
172
171
150
150
167
150
150
165
135
208
250
150
170
150
186
112
181
176
167
205
207
121
135
135
276
176
241
112
228
176
202
121
272
238
172
121
121
207
239
121
208
150
263
121
181
115
167
150
181
202
170
193
204
241
197
150
210
184
186
195
112
194
203
208
170
150
250
150
172
123
170
150
179
194
189
121
217
179
121
150
194
255
150
172
112
150
115
159
194
170
172
150
121
137
150
194
186
123
175
165
157
211
228
150
121
167
121
170
150
130
233
181
194
297
112
228
194
150
112
181
112
112
170
143
135
150
176
193
150
186
136
156
170
147
176
225
220
130
112
208
171
220
179
203
186
150
226
195
112
181
208
219
187
214
112
150
195
165
123
187
170
112
194
112
130
237
112
202
147
144
189
228
203
170
192
177
245
172
150
194
123
176
150
150
136
112
208
121
112
171
194
150
167
135
136
150
150
228
167
208
170
121
123
171
229
208
181
165
186
165
112
202
150
210
193
232
177
193
157
167
124
150
214
199
115
152
170
112
143
199
172
229
208
193
172
232
218
189
177
158
181
245
208
210
112
124
167
215
112
128
302
196
192
212
208
121
230
112
161
240
112
194
150
121
136
240
147
112
137
136
201
150
207
225
112
123
176
212
193
181
171
112
208
150
172
164
150
144
234
187
179
210
161
172
202
210
115
171
112
143
112
172
205
181
233
211
135
158
123
121
170
121
223
235
136
171
204
237
168
164
194
212
172
239
212
199
168
182
163
171
165
131
228
194
112
203
112
208
167
147
130
150
172
225
208
135
112
112
187
121
218
172
128
135
201
210
121
244
121
231
228
121
170
215
208
150
243
174
180
208
121
298
225
183
209
229
311
219
112
150
121
172
143
115
123
150
207
179
181
177
158
172
184
130
112
150
150
136
187
115
210
211
171
170
179
112
112
228
150
189
121
160
193
192
194
210
150
193
112
168
228
234
168
121
274
208
195
171
170
177
136
176
170
165
112
186
228
257
115
171
208
147
231
112
150
156
112
219
167
123
150
150
212
239
178
201
164
224
112
226
170
160
112
188
167
207
220
182
136
255
181
171
202
112
186
167
172
150
172
121
202
121
170
202
170
135
193
172
231
208
172
208
193
112
231
171
237
235
112
131
172
225
150
123
205
165
176
150
194
121
137
229
135
213
232
150
242
205
255
260
112
150
112
228
231
194
172
172
226
208
123
150
150
174
112
213
121
231
112
150
150
147
150
253
121
139
208
171
112
112
167
121
135
181
181
150
172
224
190
215
165
121
135
177
202
178
228
165
150
121
150
112
121
167
150
150
273
150
187
253
158
243
136
172
172
212
195
193
135
158
150
250
195
135
121
205
208
170
225
123
187
112
208
172
172
208
181
195
187
164
181
170
174
160
172
121
208
172
164
123
112
186
208
150
215
130
255
160
232
112
177
194
236
115
176
121
196
161
172
124
219
171
210
115
123
121
182
152
139
112
193
112
167
187
208
172
220
231
193
172
121
170
201
150
165
207
112
112
123
147
136
166
237
165
150
135
194
112
176
263
137
208
157
208
250
204
130
195
202
150
177
112
174
234
194
150
170
157
194
167
172
150
228
172
202
112
159
242
181
219
216
167
171
146
150
237
121
112
112
190
241
186
170
112
150
170
193
267
233
121
207
257
156
121
176
123
170
158
150
159
171
121
170
170
170
214
123
208
208
193
112
181
187
152
223
172
121
205
150
208
172
150
187
208
224
112
112
171
115
177
121
166
172
202
181
206
186
193
202
150
214
275
226
150
177
238
121
112
177
112
112
194
185
170
135
208
201
208
193
112
169
150
137
170
156
211
271
202
214
150
227
123
150
121
201
210
150
202
208
235
172
193
239
203
121
215
160
233
121
150
208
172
123
197
112
147
112
112
112
124
112
219
172
209
112
150
165
136
200
172
208
115
167
244
112
167
176
135
195
195
212
159
170
168
156
150
239
112
208
136
150
150
186
172
237
275
112
176
115
196
112
121
208
130
112
121
150
228
174
121
121
150
171
150
150
210
181
194
121
130
263
194
201
204
121
171
170
202
229
135
187
210
194
123
208
112
150
239
147
150
172
237
203
220
170
237
194
123
168
278
194
199
161
141
176
187
112
208
194
200
112
208
165
150
150
164
208
172
121
150
150
182
112
167
112
174
243
176
276
150
171
201
147
171
189
121
112
135
194
147
167
186
135
150
176
228
214
208
179
201
193
172
150
189
189
112
112
112
179
232
205
177
165
150
252
167
123
177
170
187
177
123
205
208
170
181
228
112
137
205
172
171
208
167
112
172
181
150
172
167
228
192
206
165
188
121
121
217
194
255
220
232
208
150
205
165
112
189
173
205
123
203
181
181
121
112
229
112
219
205
124
123
147
172
115
208
165
150
170
217
187
176
112
121
194
121
208
194
231
121
167
181
121
150
208
121
128
150
193
152
112
232
167
228
171
211
207
203
171
181
175
255
150
208
171
135
171
121
278
167
112
159
112
219
208
167
157
202
150
228
121
136
171
230
187
208
193
263
187
192
150
233
274
112
201
112
194
208
172
167
156
135
150
210
189
121
218
156
167
202
208
186
175
170
150
150
150
121
131
165
121
208
204
121
177
112
226
121
112
209
194
177
147
177
150
174
150
208
186
150
112
194
172
123
112
144
208
177
121
178
121
172
150
121
121
187
170
150
167
128
208
219
136
210
121
208
170
135
112
196
226
175
150
170
210
192
124
177
150
170
172
121
150
130
170
171
144
184
208
121
168
219
121
167
193
121
130
167
172
250
237
203
121
243
176
172
121
121
208
150
160
167
130
194
210
121
194
202
143
150
112
150
167
204
121
200
150
208
229
121
112
171
112
208
210
150
150
170
123
207
171
165
177
112
210
150
115
259
194
208
150
164
208
123
176
274
150
293
250
167
165
150
165
263
121
264
195
121
214
195
193
152
211
231
159
167
171
135
112
150
202
195
112
208
150
121
221
201
167
172
123
174
219
150
208
208
150
208
171
121
181
112
209
194
121
150
167
181
172
187
172
187
186
121
112
128
115
195
150
167
205
150
150
286
150
121
208
212
181
123
172
121
171
123
172
174
164
165
156
150
178
165
223
217
112
175
123
170
203
123
128
150
167
209
170
246
150
186
123
225
172
250
208
265
112
231
112
150
156
136
218
165
208
156
194
170
208
232
172
123
121
226
212
171
123
188
181
217
121
172
167
220
195
220
237
202
171
208
123
260
192
208
164
165
123
170
150
115
207
158
276
165
124
194
206
121
281
150
150
219
147
174
121
152
150
228
177
121
208
136
170
165
158
216
123
194
121
176
171
121
170
159
115
170
172
115
208
156
121
124
185
170
186
135
112
237
121
112
135
123
165
170
171
135
174
204
236
176
176
150
228
150
124
150
146
207
112
233
112
112
150
136
181
150
168
167
226
112
150
112
112
208
112
170
121
175
237
194
208
150
150
212
135
174
121
130
215
194
112
237
190
150
121
205
219
172
150
123
150
165
159
201
167
121
160
181
212
174
121
172
123
115
192
223
156
225
270
165
124
170
195
202
112
112
198
112
208
121
219
124
112
150
121
208
152
112
135
123
150
150
158
203
121
150
112
136
211
137
181
146
171
154
123
168
172
128
211
123
172
168
237
121
172
202
137
112
219
230
239
202
181
228
250
152
181
209
165
163
112
221
121
278
112
189
170
170
189
208
176
228
208
130
168
208
215
164
112
137
123
174
135
210
212
112
150
164
231
223
150
228
228
167
167
150
208
187
150
150
164
178
124
150
207
233
216
243
167
165
158
176
159
123
123
170
207
237
208
176
176
112
130
136
172
177
202
136
229
186
226
171
150
150
216
167
150
203
112
208
172
170
112
173
214
201
112
172
207
150
172
112
121
172
187
150
244
121
186
159
167
175
135
176
179
231
231
198
176
172
165
212
231
172
172
208
121
255
194
150
165
112
135
112
121
147
237
235
150
150
170
214
150
258
112
164
123
219
217
159
237
207
236
193
156
152
137
147
121
263
115
121
112
112
176
112
208
165
218
209
150
312
171
193
212
121
172
163
150
121
135
137
194
181
219
112
174
158
210
190
278
121
121
150
228
162
167
121
208
208
177
186
207
112
172
172
162
172
180
206
177
177
112
171
172
174
254
181
112
112
167
178
239
226
172
195
265
175
220
144
152
278
205
172
171
158
192
112
136
220
250
158
201
258
159
150
137
202
181
212
135
112
112
150
167
147
234
121
208
112
150
171
228
147
194
171
176
121
186
124
181
201
186
150
121
150
121
174
208
201
170
220
164
123
170
171
206
162
158
178
112
194
150
150
202
112
218
208
128
208
208
235
123
171
150
186
208
175
227
150
147
150
144
170
207
208
121
170
135
112
189
123
150
121
136
136
186
182
136
179
176
227
167
182
236
206
210
239
172
192
112
159
236
210
218
112
156
121
228
112
208
150
150
152
194
150
186
112
175
208
203
112
206
121
208
150
164
257
194
176
192
194
158
112
172
202
167
278
112
136
150
179
220
150
171
212
193
171
193
203
121
150
235
219
225
276
121
242
171
158
150
112
189
193
150
172
112
150
112
170
156
208
112
165
150
187
112
167
171
194
208
172
210
137
196
235
162
208
121
170
112
208
208
170
256
121
171
112
193
226
181
216
280
186
209
150
121
201
193
208
123
187
203
121
136
150
220
112
263
192
194
121
165
150
121
208
243
156
172
255
175
165
150
208
195
135
241
167
158
121
112
208
112
150
143
121
212
146
193
194
208
150
150
259
112
121
168
174
219
167
167
112
167
237
194
245
115
150
208
112
136
193
112
228
196
150
225
229
171
152
220
176
172
160
208
165
150
190
302
165
112
170
210
194
184
252
241
228
167
112
167
186
246
187
112
208
170
196
112
112
150
123
202
226
187
121
157
121
208
207
158
202
150
150
135
205
123
194
245
214
167
112
258
208
178
192
159
198
208
243
121
167
239
171
165
172
235
199
177
170
202
276
136
158
239
150
194
192
168
208
123
174
195
146
250
208
165
167
171
137
135
155
123
123
112
112
152
150
150
177
165
170
121
189
215
187
170
115
260
174
112
112
250
158
179
193
208
167
150
155
219
121
263
172
172
159
210
209
143
208
112
156
165
176
158
167
181
237
198
121
172
168
112
274
150
160
239
205
121
167
187
208
150
219
172
150
124
208
217
206
192
244
121
172
121
208
121
150
172
128
147
112
193
150
297
203
219
124
150
240
255
196
150
194
171
137
172
170
171
181
150
150
304
168
216
202
112
213
212
112
158
135
207
186
176
208
167
265
150
150
112
112
112
208
231
175
121
225
137
171
176
159
158
173
195
121
135
228
167
123
205
150
160
150
239
195
225
135
123
203
181
182
194
168
228
156
163
213
234
123
193
158
176
194
239
237
219
208
263
233
216
135
237
202
167
217
211
202
208
202
190
203
167
121
121
186
210
197
121
123
186
121
228
172
215
210
172
202
167
112
171
112
208
112
233
228
123
150
209
243
211
208
172
230
121
135
194
194
195
167
231
159
167
271
167
219
174
272
123
167
150
195
194
208
167
115
115
156
112
187
160
170
152
228
244
194
210
112
255
172
150
171
170
208
178
181
121
208
165
186
112
202
128
193
167
179
211
137
228
228
172
194
150
208
195
202
150
172
112
208
229
123
176
240
123
202
167
156
112
112
170
112
171
176
227
121
164
195
172
154
209
214
112
199
112
167
171
186
219
181
238
150
263
186
167
181
112
150
181
171
231
121
156
239
112
112
202
123
165
168
112
208
143
235
170
172
156
238
136
139
177
255
233
112
112
208
174
112
208
121
226
112
254
167
302
179
194
165
208
170
243
121
200
112
195
201
167
115
176
150
170
135
192
115
121
143
112
164
121
171
121
187
143
231
112
210
220
239
226
245
150
205
167
208
255
150
121
256
192
208
178
176
174
165
230
165
220
218
177
121
202
147
255
170
115
187
112
193
179
179
167
194
150
115
173
150
207
215
165
176
150
115
181
207
112
121
150
186
171
222
170
112
156
165
112
170
263
112
181
150
171
208
201
252
112
165
159
152
121
213
128
175
171
137
121
112
208
228
278
207
168
237
201
121
228
121
170
112
150
228
208
212
160
217
171
212
192
123
112
112
143
194
168
150
177
193
170
165
150
181
194
112
121
181
205
156
170
194
112
150
121
136
137
178
187
212
181
184
112
150
150
208
150
150
115
265
150
137
171
171
249
205
165
112
172
158
112
121
137
237
150
236
164
130
208
186
199
150
112
156
181
123
121
171
176
158
112
150
172
176
112
164
150
192
165
210
112
112
208
121
186
121
130
137
112
152
121
171
172
171
190
218
123
150
175
167
150
201
177
203
202
212
184
208
150
223
121
167
112
112
147
121
121
195
121
136
121
228
202
150
121
250
159
124
242
186
170
124
250
195
144
150
165
234
121
158
167
206
112
212
150
112
202
181
178
176
153
231
172
137
187
205
150
257
150
205
201
112
208
167
225
237
150
112
208
201
205
207
195
257
208
121
121
213
231
182
150
112
208
112
234
121
130
195
235
194
195
193
121
172
150
302
170
195
112
168
205
165
121
232
228
194
208
171
202
170
176
182
112
178
135
197
194
112
121
204
150
121
168
176
212
167
171
186
112
193
136
194
234
158
170
208
229
165
228
121
207
143
175
121
276
208
147
179
167
112
150
202
156
193
150
201
150
183
208
208
250
175
123
184
121
137
135
201
181
177
162
228
150
175
202
171
170
150
150
218
150
160
239
159
302
187
135
112
112
121
147
112
150
150
199
233
150
112
178
176
167
237
136
112
112
241
201
150
263
179
203
266
112
121
152
121
186
194
208
171
159
204
160
150
277
207
186
173
150
202
112
112
167
193
215
150
186
170
281
156
172
226
150
121
223
182
208
150
150
121
220
150
193
167
175
112
176
130
150
172
150
123
231
208
208
256
242
205
186
167
121
112
170
130
208
253
150
112
150
228
160
186
112
165
208
121
174
170
207
193
198
186
121
121
263
121
194
174
231
147
242
121
186
115
150
208
208
159
220
131
208
167
205
121
193
150
147
172
152
198
208
179
112
176
172
174
237
208
171
208
204
201
172
112
216
123
201
167
144
170
175
112
194
201
197
150
156
220
150
150
193
145
121
172
170
172
167
225
212
208
243
167
176
112
177
179
231
112
143
112
153
115
219
121
112
165
227
150
168
186
213
167
143
208
123
210
156
228
150
172
167
204
136
210
121
123
170
179
208
265
242
202
170
260
193
115
112
112
172
150
231
150
121
150
235
152
276
212
137
212
131
226
150
112
297
170
160
112
208
225
193
208
210
112
150
136
158
170
172
160
207
170
157
250
121
172
170
123
210
112
112
121
150
208
115
186
172
112
233
152
168
150
209
160
112
195
136
150
175
150
203
121
159
215
186
179
121
164
234
176
150
235
175
212
112
123
165
112
221
159
164
112
176
112
212
194
192
172
212
159
203
121
128
231
215
170
170
239
150
201
137
176
150
232
172
208
121
255
237
205
202
157
171
123
255
207
210
201
150
181
172
228
193
171
150
201
202
112
172
243
139
208
212
228
208
112
220
176
174
276
201
176
112
121
150
115
172
239
150
187
137
181
112
135
123
195
150
172
121
193
201
255
172
208
215
121
121
241
220
202
121
243
164
184
158
186
242
171
121
220
220
112
187
272
176
121
167
203
172
112
182
219
150
186
189
150
112
150
172
167
207
150
195
128
212
150
174
136
121
181
137
252
208
112
112
193
123
212
207
137
112
208
112
162
207
172
123
170
213
228
194
130
229
135
230
137
170
170
161
121
112
112
255
121
121
198
195
177
150
121
170
156
226
121
147
147
150
112
208
202
193
158
115
194
167
187
167
121
196
152
237
225
115
201
208
257
150
136
160
171
193
121
172
263
112
187
147
150
165
159
147
156
112
233
112
172
235
178
187
167
244
121
175
150
121
150
150
202
181
212
121
202
200
172
112
177
174
187
208
167
112
194
167
112
171
208
250
112
121
167
123
121
123
172
202
112
135
150
232
192
152
159
121
112
112
235
167
193
150
231
207
150
115
150
150
156
223
244
165
167
176
150
167
143
121
179
250
218
177
121
121
207
137
176
186
122
178
217
124
174
160
201
143
239
112
201
208
112
150
150
112
172
158
208
150
112
208
121
170
235
170
121
171
209
150
170
171
223
159
115
238
170
147
112
150
112
208
112
243
150
136
176
150
208
171
187
242
165
249
192
150
150
115
159
112
231
203
237
218
162
175
159
170
208
203
228
201
121
176
147
193
112
171
244
194
158
112
250
150
150
150
175
167
121
152
121
228
172
188
150
203
210
156
159
231
193
228
115
171
172
228
187
172
112
208
130
157
263
174
123
254
181
137
182
172
121
195
172
112
208
208
194
212
150
181
164
218
150
188
194
215
167
212
168
164
167
172
150
150
128
232
124
170
147
123
231
112
208
212
231
208
186
214
219
150
187
193
187
121
177
136
152
176
278
159
171
159
212
150
193
121
202
202
147
147
194
208
147
112
228
181
123
150
172
164
210
112
202
147
112
240
208
192
150
135
121
136
150
186
175
112
158
121
168
152
302
203
158
178
205
123
112
178
160
182
204
202
112
159
150
121
112
167
135
202
269
237
156
208
208
150
167
121
112
123
208
187
172
165
175
156
128
112
178
196
157
220
123
112
196
207
172
121
115
163
182
167
208
121
121
201
150
208
158
199
172
192
165
124
205
231
215
157
186
121
256
165
121
121
181
112
130
225
198
172
226
181
164
150
121
257
165
112
302
250
177
211
156
193
212
217
154
236
208
220
137
143
150
215
112
203
212
167
181
121
150
197
210
231
121
170
231
172
156
250
205
150
266
150
186
219
137
210
121
228
220
247
145
150
212
147
135
208
112
150
187
147
210
175
121
279
124
112
208
124
112
150
195
204
208
170
171
208
203
203
212
168
112
112
231
112
168
150
159
228
112
203
121
160
170
202
226
208
194
172
115
121
135
208
194
165
176
208
212
128
187
112
202
210
150
190
112
136
218
212
121
243
174
285
208
164
168
150
228
167
112
167
167
194
164
150
172
167
172
186
121
130
159
218
150
112
176
194
218
220
194
227
228
171
220
136
214
112
152
205
220
193
172
241
241
143
177
121
174
186
167
228
228
172
275
239
227
255
217
181
215
182
276
137
168
130
195
121
167
201
203
263
123
170
208
176
265
150
172
209
157
229
150
123
210
112
164
214
135
229
236
186
171
121
137
215
112
219
170
165
198
172
187
115
150
150
150
194
150
121
165
193
170
163
237
192
112
156
204
135
112
150
219
208
172
231
172
168
112
150
135
208
192
115
121
212
144
237
202
228
112
206
228
177
121
112
123
170
131
112
150
112
212
170
181
171
135
178
170
237
150
172
255
121
170
112
130
208
167
249
264
112
233
172
194
167
136
177
243
197
123
121
199
208
112
201
181
208
250
230
150
165
238
150
150
193
143
165
121
121
168
228
199
229
150
168
176
124
172
210
112
165
156
150
202
112
164
156
218
152
160
150
121
121
172
208
171
150
208
181
194
216
170
250
150
123
208
156
241
143
112
128
189
170
231
167
150
121
147
136
165
157
208
167
282
190
158
112
255
121
228
121
150
124
227
165
150
162
164
150
246
167
150
150
168
150
181
150
112
130
121
201
170
276
227
112
121
170
176
115
150
217
302
121
171
112
159
150
195
218
263
158
206
112
233
243
199
172
123
112
124
152
208
147
193
158
150
208
150
150
195
123
172
112
112
164
143
170
208
150
229
220
240
128
164
172
143
293
121
223
195
156
167
167
196
121
181
135
192
112
167
195
150
161
186
123
123
150
150
176
250
167
147
202
194
170
186
208
219
115
121
172
196
186
171
192
121
147
124
264
217
150
160
159
189
112
202
150
112
215
156
167
112
208
167
176
150
121
121
172
229
228
185
202
212
115
150
167
150
123
137
170
210
208
112
177
121
130
220
137
150
168
112
164
150
170
220
228
172
231
112
172
159
112
176
187
186
150
172
187
177
150
246
172
167
121
121
150
124
181
227
121
208
171
210
176
115
112
112
150
181
150
237
238
164
170
229
112
181
112
176
112
112
147
172
171
121
172
121
176
179
230
152
121
124
186
241
203
190
176
121
121
275
165
240
150
136
112
207
112
168
176
181
150
123
171
121
123
136
150
112
150
121
181
250
135
159
121
150
193
150
235
195
112
137
195
236
208
130
190
144
143
152
170
135
220
171
136
172
195
147
212
205
170
208
172
174
143
194
150
137
112
150
112
150
172
115
121
176
242
215
146
171
176
112
208
157
260
176
150
150
228
181
173
123
208
158
137
130
112
208
228
181
115
172
209
167
112
150
203
217
165
198
150
123
177
141
164
136
194
217
192
165
112
243
121
237
147
112
203
171
167
112
150
112
147
165
124
195
167
150
207
159
231
176
243
158
121
165
121
170
210
172
147
189
150
112
121
130
223
147
112
208
237
194
123
130
243
137
194
164
121
172
123
217
121
216
150
112
195
121
195
150
170
121
225
150
172
150
172
150
216
237
178
112
187
135
112
178
165
218
150
220
150
172
150
174
172
172
231
176
150
172
112
160
150
176
193
217
137
121
172
194
255
165
207
182
136
150
112
274
172
123
172
112
112
150
128
182
177
150
150
170
228
150
150
164
177
121
257
172
172
150
167
135
195
174
112
219
150
261
165
182
210
186
223
167
158
121
167
208
121
159
240
137
203
150
223
156
210
187
193
152
123
172
179
123
121
218
174
199
167
143
181
128
230
203
136
135
165
135
172
210
137
238
231
115
204
172
178
164
136
150
237
112
195
302
178
172
150
205
167
136
150
210
150
181
248
203
182
121
239
152
207
137
270
265
210
123
181
150
181
207
147
172
150
201
150
137
195
112
121
168
112
112
170
150
174
112
112
167
195
150
194
199
112
150
137
168
123
123
228
150
167
171
112
112
220
260
194
187
208
150
305
172
172
165
165
136
212
229
121
123
158
171
181
232
121
272
158
201
156
212
121
193
198
250
112
121
167
176
130
218
171
243
181
195
210
186
150
136
208
170
175
182
167
168
173
121
150
231
150
167
208
226
168
158
121
164
208
128
139
115
195
187
208
181
242
167
181
147
195
135
190
167
135
150
150
198
176
299
150
112
136
174
208
181
121
194
121
167
217
112
123
172
216
208
172
124
128
192
225
150
190
159
136
121
177
150
115
181
150
208
219
150
181
121
193
112
160
136
152
172
190
192
171
250
159
203
184
124
136
195
204
164
121
192
167
121
172
202
187
152
210
170
112
203
165
150
121
208
208
123
217
167
228
121
174
121
172
208
237
208
193
121
112
176
135
150
208
210
167
267
159
170
121
164
167
181
208
150
217
150
219
184
123
170
185
167
164
195
115
123
150
165
207
193
208
203
215
196
165
150
147
150
189
121
115
121
121
123
172
115
235
212
112
130
167
170
121
121
172
112
187
150
237
164
167
121
194
135
195
174
195
128
164
208
242
150
112
112
208
181
121
181
240
164
207
165
249
213
150
176
112
192
139
171
202
222
160
206
160
212
150
150
135
236
121
208
124
121
210
121
112
156
112
167
150
156
240
181
124
123
217
112
150
203
215
176
177
208
245
208
259
172
234
201
208
174
165
121
147
112
205
241
112
112
181
199
199
206
195
186
193
224
150
160
176
150
203
121
150
208
160
150
181
208
112
189
172
194
150
208
165
256
201
194
150
150
156
115
150
181
172
150
150
187
150
121
121
172
254
208
121
229
189
194
186
181
156
278
170
173
209
222
130
186
150
112
112
167
152
121
177
237
112
205
194
121
112
123
228
165
150
208
218
208
176
150
242
158
263
228
115
210
112
135
187
150
177
156
194
211
164
231
186
112
208
204
121
208
176
112
215
206
150
173
302
172
112
112
263
150
171
137
193
190
228
171
112
112
171
218
159
208
167
121
208
210
164
170
147
228
161
185
228
194
202
176
170
137
208
208
112
115
208
112
164
112
198
189
193
275
217
167
240
121
152
177
150
170
115
167
228
143
150
112
208
115
150
208
157
172
147
208
181
123
159
177
121
181
194
150
208
150
186
167
181
263
167
176
217
172
123
233
137
164
112
121
229
175
186
168
115
123
170
121
121
240
150
150
112
121
187
208
158
123
192
165
181
240
208
161
187
167
112
150
121
202
184
174
112
193
123
150
167
150
112
150
112
223
164
201
176
176
229
115
167
112
165
172
137
194
178
121
208
177
165
112
121
201
208
250
197
210
190
150
150
217
165
170
128
123
123
121
244
219
167
239
150
265
186
130
123
150
112
214
167
198
216
208
150
241
174
194
123
123
167
170
112
195
170
150
208
121
194
150
157
263
121
150
167
121
230
150
176
150
121
112
237
165
150
123
121
201
136
130
121
112
150
147
171
218
208
237
156
187
193
112
207
147
302
218
193
112
164
170
136
156
170
235
112
167
153
171
172
264
208
121
187
112
210
176
147
220
171
115
202
150
189
112
198
257
237
205
164
228
158
121
137
156
220
196
208
195
150
128
112
121
195
135
112
194
219
186
150
203
186
171
165
150
192
112
168
208
161
121
208
195
124
181
121
172
181
165
150
181
121
121
156
112
181
172
209
150
150
195
208
230
223
255
210
150
150
196
150
171
181
168
208
112
231
210
112
164
181
231
208
156
261
170
229
208
193
112
212
195
170
167
193
202
226
112
248
164
160
121
135
245
172
121
150
181
237
152
194
231
181
255
136
115
208
208
239
137
121
167
192
194
147
112
150
208
121
229
205
186
112
243
240
121
177
193
206
174
121
233
167
115
121
150
121
176
199
167
171
150
172
172
237
180
172
152
150
112
182
112
193
175
212
237
208
205
147
115
205
208
203
121
155
171
187
208
181
150
192
121
189
130
168
121
178
160
194
239
147
200
218
121
205
147
159
187
150
168
281
194
255
202
123
172
172
150
170
136
186
208
112
136
112
181
112
112
150
208
172
168
167
167
174
139
193
170
112
170
198
172
208
171
192
182
205
171
208
194
170
124
171
112
187
150
182
171
195
170
150
135
172
135
150
168
121
112
150
139
121
121
150
172
112
167
194
121
167
135
201
123
229
172
172
195
121
150
150
250
121
210
252
177
170
300
201
150
208
112
123
220
209
170
112
227
228
121
168
270
208
272
171
187
202
219
112
124
187
150
150
171
136
150
194
135
207
236
210
115
150
167
172
176
112
150
150
192
237
143
172
257
156
208
170
177
189
172
172
239
174
220
150
208
208
186
159
121
237
123
170
147
241
172
167
167
206
229
121
121
112
178
172
189
171
121
240
260
171
203
244
254
195
193
167
236
112
256
161
124
167
150
168
172
124
260
195
112
186
162
186
150
186
186
121
192
172
170
112
186
194
164
150
168
112
112
137
171
123
208
112
165
176
215
112
112
112
150
123
212
181
172
150
136
112
150
144
197
179
112
208
203
167
115
202
228
208
210
121
112
211
172
212
150
208
150
150
150
170
150
150
203
147
150
248
184
170
171
210
252
170
130
121
297
201
174
229
136
172
181
150
208
167
128
171
204
212
179
112
220
202
194
136
137
180
189
172
194
150
202
150
193
222
214
150
150
112
112
176
208
121
158
195
194
182
150
159
112
171
234
123
186
112
187
150
208
112
150
165
209
150
112
214
150
165
278
115
191
202
172
208
207
112
181
187
112
121
128
124
186
243
192
150
150
208
231
166
150
112
195
205
124
112
112
164
177
172
164
135
112
112
207
170
172
186
139
147
172
196
112
174
181
263
123
172
112
158
186
115
208
265
112
218
150
203
223
210
207
214
228
137
137
112
228
121
150
263
150
170
112
137
167
186
170
182
164
166
239
181
231
112
121
172
112
157
173
208
170
232
150
121
153
121
172
171
123
112
208
171
168
139
121
205
177
214
143
123
150
177
150
150
147
208
112
152
157
112
237
186
205
112
181
210
159
236
175
214
150
297
174
123
174
181
258
124
175
152
121
167
171
112
201
187
218
150
115
121
158
162
208
210
124
177
225
208
167
278
201
147
228
167
136
172
167
172
112
195
229
124
164
123
193
115
171
181
150
228
131
170
137
123
167
121
237
186
181
150
157
150
150
172
112
237
172
194
121
217
112
150
210
177
203
193
172
210
121
187
194
172
214
184
214
177
159
150
112
176
159
112
193
150
121
194
167
175
196
176
228
115
239
208
212
212
136
234
177
241
208
227
112
210
136
250
181
194
172
190
158
210
170
171
208
272
115
164
178
112
176
162
170
215
152
150
208
218
207
164
150
135
172
237
150
156
219
121
147
265
194
159
150
209
150
143
212
150
135
204
176
167
121
208
218
223
181
160
181
239
187
150
150
244
121
181
121
112
196
194
112
237
121
112
112
112
147
202
121
112
115
228
147
112
112
255
208
137
156
112
150
237
179
171
112
225
215
121
146
205
193
150
171
165
112
181
124
112
184
172
181
194
150
250
174
165
194
136
121
196
150
121
208
195
220
150
194
168
121
203
112
193
150
177
112
152
123
150
170
182
176
236
147
186
208
150
250
150
225
156
121
150
121
123
150
137
192
150
150
302
172
164
228
172
231
112
112
225
237
150
172
147
177
112
136
253
112
189
161
176
170
171
112
174
172
167
184
130
112
193
170
201
135
234
168
124
124
208
193
123
170
231
192
226
159
150
179
121
135
150
239
208
250
112
144
170
193
207
186
171
121
123
163
112
160
112
160
121
160
170
203
172
237
167
190
172
150
174
150
248
172
216
130
186
170
203
121
290
259
121
150
112
193
212
112
172
167
186
158
150
172
193
231
167
150
177
194
201
170
121
121
150
150
137
250
137
240
170
150
201
201
167
167
208
123
212
150
143
167
150
208
208
203
170
150
150
141
232
170
112
150
209
137
112
177
219
150
147
123
208
187
195
208
210
150
220
176
219
250
170
171
208
212
123
167
239
181
208
170
137
254
186
220
208
181
112
208
115
193
210
121
112
208
112
208
255
150
159
215
112
210
202
170
172
150
170
135
121
218
170
123
135
172
167
121
208
170
112
152
194
172
192
165
150
123
145
208
137
228
124
256
194
112
220
201
112
195
167
168
175
196
243
150
150
150
225
171
143
121
112
150
112
164
176
121
112
284
112
121
123
192
172
161
150
176
172
121
112
172
167
239
210
172
208
226
112
192
172
143
269
170
208
150
170
143
172
225
112
210
112
174
208
112
234
121
177
250
121
195
147
124
136
170
172
212
123
201
167
207
186
150
165
205
123
208
186
237
121
297
146
219
255
177
112
150
158
124
150
208
121
193
170
181
208
131
112
203
165
171
181
158
194
229
250
239
170
178
215
196
159
137
115
195
165
172
181
152
208
186
189
238
150
219
121
121
208
175
172
260
150
236
243
212
137
156
146
143
218
121
167
187
195
206
243
121
174
123
210
156
150
207
112
115
171
171
115
176
181
130
112
144
177
171
239
121
150
170
215
112
136
135
165
194
150
144
121
202
226
112
112
121
170
208
115
144
172
164
206
112
137
115
121
257
112
112
170
175
171
167
115
121
171
150
228
207
123
160
202
194
184
112
302
181
144
137
212
121
207
176
181
150
176
189
172
112
150
208
208
276
203
174
203
150
240
121
208
225
171
203
168
150
242
160
234
150
150
204
150
194
150
121
160
162
176
112
115
194
172
210
236
208
212
194
228
146
208
160
112
208
176
112
112
158
131
139
237
150
194
193
253
187
212
162
187
147
150
170
150
121
208
150
167
157
121
212
112
158
121
112
150
150
205
194
112
115
217
121
137
198
112
121
172
229
175
170
167
112
150
137
112
208
112
171
194
124
228
121
181
237
121
115
168
146
208
170
228
121
226
150
167
210
136
164
228
112
150
170
254
209
112
121
171
150
115
123
212
208
202
174
167
135
179
211
170
237
165
208
168
208
167
112
112
170
143
243
131
112
150
174
135
242
239
174
171
203
228
167
237
203
150
143
112
218
168
112
164
172
241
302
272
176
121
150
150
172
136
171
150
124
137
121
162
210
178
208
253
150
152
201
150
207
233
202
225
150
207
275
194
123
170
194
181
124
147
170
121
130
150
171
124
124
123
175
203
167
150
171
202
219
243
161
170
123
131
167
121
121
193
208
168
185
152
192
137
174
170
227
208
232
137
189
226
177
167
171
171
179
147
201
112
238
150
150
181
112
150
188
226
115
112
208
112
135
172
137
168
276
226
210
112
115
176
123
168
124
150
123
150
170
121
208
121
170
226
176
194
172
176
168
150
172
172
150
167
112
147
194
172
137
172
150
186
156
193
170
150
121
226
136
150
218
193
208
172
165
123
220
150
208
168
270
208
135
255
172
121
205
152
208
172
176
233
150
189
193
191
165
150
171
167
227
150
170
258
225
171
171
170
167
208
121
112
176
228
112
201
112
147
195
121
174
124
172
237
232
146
150
181
150
112
208
121
176
228
184
150
150
215
186
253
172
184
167
170
172
226
167
168
213
240
179
219
218
165
112
167
112
250
172
112
172
176
112
172
123
243
172
210
167
208
176
121
165
211
150
220
167
193
170
112
237
165
152
187
181
210
228
150
172
176
223
112
112
231
121
121
123
170
167
239
178
182
187
123
135
177
137
254
112
177
156
210
172
159
170
168
121
167
150
172
186
167
208
150
226
177
152
115
208
147
205
112
121
194
181
212
152
112
181
121
231
228
187
187
210
168
112
170
215
164
212
178
195
121
112
194
201
242
176
150
112
112
121
165
208
156
115
150
205
210
198
112
150
208
219
186
207
176
150
198
150
203
160
150
167
244
194
208
227
147
170
123
136
212
217
196
112
167
181
171
217
231
208
179
172
121
121
234
112
112
112
245
143
150
256
170
170
159
112
112
158
137
181
164
206
167
161
172
150
208
172
136
121
160
208
136
217
121
158
147
124
250
135
228
121
216
176
198
181
171
150
186
176
194
187
143
158
187
228
170
203
208
276
115
121
192
182
178
159
195
215
170
163
208
219
150
194
217
250
186
112
168
177
171
228
150
150
150
192
170
121
167
202
184
150
124
208
157
121
193
150
170
320
172
181
212
230
176
194
171
141
195
150
150
181
203
112
130
170
121
165
201
123
123
158
171
170
150
121
245
171
195
233
172
139
170
190
194
150
121
172
242
112
121
150
130
224
121
250
186
208
115
123
208
121
240
228
251
112
208
112
229
172
172
159
121
167
115
179
112
150
112
172
112
150
121
207
121
121
250
208
152
203
172
150
201
231
168
172
121
250
181
196
150
213
284
112
112
157
235
193
213
121
228
171
161
222
123
176
186
208
194
123
258
276
150
150
172
207
231
233
199
171
217
176
150
228
121
218
174
112
174
177
199
241
150
208
267
208
194
177
150
195
181
172
342
158
160
176
297
172
208
171
170
170
172
186
201
193
167
112
233
124
158
208
167
150
238
208
135
187
123
135
112
237
112
150
220
202
167
203
112
123
150
170
208
176
136
189
193
167
156
112
158
112
193
124
150
153
112
171
128
212
172
112
208
112
121
258
136
150
226
159
218
167
135
143
150
208
170
172
167
232
121
167
212
112
210
156
171
176
168
192
193
121
267
278
194
121
121
205
150
171
121
215
135
203
255
207
158
137
123
123
172
137
187
208
171
112
150
121
121
203
165
112
167
212
178
176
150
233
187
121
171
150
150
150
123
207
181
224
150
226
186
194
202
171
219
150
177
224
150
112
165
172
135
174
150
167
194
171
165
193
152
195
193
231
147
150
150
201
193
150
176
121
192
203
195
187
192
167
208
112
171
208
167
219
121
278
147
170
200
278
137
135
172
228
171
130
115
175
208
141
208
221
170
210
121
121
170
179
159
152
171
121
194
150
177
150
121
150
121
189
193
228
167
121
171
202
167
150
156
112
181
208
174
130
112
219
181
121
179
115
181
201
147
112
208
208
208
233
223
115
131
112
170
147
165
181
177
171
153
112
190
150
112
342
208
150
112
187
137
137
147
150
208
165
211
194
150
156
136
112
208
217
112
121
216
218
230
121
135
172
167
121
213
150
150
170
172
196
175
112
150
177
150
170
187
115
112
192
115
194
172
112
202
150
203
177
121
121
176
175
124
121
144
112
137
172
115
121
168
167
179
165
194
278
121
250
227
164
112
150
150
121
228
165
147
150
162
158
137
194
112
165
167
215
150
123
167
208
173
121
194
217
176
194
167
172
112
193
164
150
150
112
170
178
150
173
194
121
160
130
167
150
112
112
124
186
170
208
150
121
150
147
158
194
150
160
252
204
236
193
137
171
181
170
186
223
123
194
218
208
211
207
225
121
208
187
203
203
207
217
164
179
172
217
135
167
208
115
167
145
187
150
174
150
171
112
200
212
152
171
158
215
121
171
193
150
203
172
186
194
208
112
123
227
172
194
187
130
238
186
187
296
225
121
156
158
112
207
181
112
276
194
192
156
121
121
143
242
261
177
147
233
228
164
112
150
194
150
208
236
164
121
150
181
112
135
112
143
215
112
186
112
150
121
165
112
194
172
121
112
181
124
172
187
179
171
150
194
150
150
157
150
217
263
123
112
164
121
172
121
167
179
210
150
150
123
267
202
236
121
112
178
263
196
186
112
121
150
208
112
121
170
112
231
194
112
217
171
121
187
218
162
121
187
124
186
150
112
194
167
229
137
150
226
121
170
167
167
208
112
195
172
193
220
203
172
112
112
121
167
150
124
199
172
150
189
209
167
263
172
150
208
208
115
161
130
158
174
174
150
172
262
170
171
139
167
208
194
136
147
218
206
121
112
175
121
208
160
210
158
226
170
218
194
143
192
121
172
112
241
210
210
160
112
243
227
201
172
172
202
144
187
123
199
208
162
150
131
208
150
150
228
150
257
208
112
177
121
123
176
123
121
112
170
121
165
167
263
150
228
187
207
121
112
208
224
128
112
121
229
186
150
150
165
171
150
255
208
167
278
176
225
121
112
176
210
135
178
121
181
176
135
137
263
121
186
167
174
228
121
228
135
123
211
112
272
165
123
240
235
112
168
121
240
243
123
244
152
170
176
150
121
177
254
237
131
237
171
150
172
243
112
121
245
168
123
197
121
164
164
228
242
208
150
194
250
165
186
188
171
112
121
208
121
172
112
171
123
171
112
193
172
194
167
150
112
172
181
121
170
137
130
212
194
226
187
197
152
164
159
124
179
150
121
171
176
112
165
137
208
228
206
170
115
150
115
186
165
172
208
181
157
112
150
124
150
176
112
237
172
226
289
176
208
247
172
150
170
137
228
150
179
112
159
167
123
137
231
150
128
208
239
136
263
112
228
150
240
115
121
200
228
167
121
150
112
121
150
164
150
238
170
189
165
150
123
173
190
180
186
167
121
209
202
172
172
159
239
150
181
124
210
147
243
208
208
208
121
242
250
250
171
150
150
167
212
220
167
171
124
207
202
150
233
184
196
158
263
171
192
208
194
202
172
153
121
112
157
123
170
216
150
121
245
195
193
112
201
193
202
165
231
208
193
172
212
112
246
167
160
121
261
137
112
112
218
123
188
150
208
112
177
150
150
170
112
156
194
112
208
203
243
240
170
172
181
121
150
150
165
171
194
235
255
137
112
209
170
147
210
193
121
213
240
150
146
112
146
121
270
192
150
112
199
170
115
170
172
218
112
181
150
165
171
186
112
237
171
150
170
172
208
192
172
212
150
112
237
225
150
150
203
136
150
171
121
167
150
208
216
152
197
239
150
112
172
150
121
186
196
164
123
237
160
121
112
150
167
170
121
170
172
171
186
160
208
168
150
112
172
128
257
150
150
150
165
205
170
231
212
150
112
250
150
112
112
121
112
159
194
193
150
208
208
220
150
261
168
150
181
121
228
226
150
194
163
215
137
198
165
181
202
227
203
121
158
112
176
187
150
193
236
237
225
219
115
112
112
187
210
181
194
123
186
194
121
135
172
212
135
235
239
135
150
273
232
215
225
112
190
210
131
181
194
178
150
210
267
208
181
170
112
215
139
195
172
201
194
297
150
245
159
181
250
135
231
135
128
165
112
193
172
112
223
112
158
176
150
186
202
135
165
172
150
112
135
212
176
170
171
115
193
156
193
302
195
210
112
112
226
196
136
115
171
210
121
115
123
208
150
136
167
150
228
121
150
136
162
182
209
193
150
112
112
131
123
230
165
212
121
123
175
278
181
177
176
193
255
156
136
172
123
170
278
193
194
167
179
121
167
237
231
172
202
124
205
150
115
195
150
172
174
237
137
194
228
150
112
172
231
150
171
150
208
150
244
186
204
222
184
121
123
235
123
203
145
243
228
201
201
112
135
208
115
115
171
150
194
225
171
172
170
186
186
123
168
136
207
150
150
112
112
208
213
115
172
150
181
229
208
121
231
221
147
229
176
186
146
211
112
121
208
165
170
112
187
150
194
172
208
198
112
123
150
150
150
208
121
203
203
160
198
189
170
150
171
193
209
150
156
194
207
136
159
208
152
112
176
210
165
121
150
123
112
186
194
195
150
194
123
150
209
226
115
112
167
218
130
263
121
112
121
131
121
210
213
172
181
167
137
208
161
204
165
128
152
181
203
208
121
201
208
194
165
121
121
181
115
228
196
208
208
212
150
201
237
150
121
175
172
194
160
121
177
121
160
176
156
136
150
202
147
112
237
177
150
121
112
190
167
167
228
150
170
150
231
195
192
123
150
167
150
195
121
196
170
150
165
123
172
134
121
195
123
112
165
121
208
205
226
167
187
171
231
150
170
186
255
276
174
112
121
203
121
203
112
170
150
121
177
150
141
147
150
189
170
208
150
165
208
255
150
177
153
226
193
123
228
241
239
223
250
195
150
112
150
130
240
121
171
172
199
112
273
235
112
194
219
170
186
243
193
235
150
220
208
167
171
177
254
172
238
232
112
170
228
208
121
112
112
207
121
225
121
167
121
165
208
137
137
201
172
181
186
223
167
218
165
183
181
150
204
192
170
181
212
147
172
112
121
135
121
172
198
208
196
208
121
150
218
177
168
178
167
175
229
186
112
137
137
201
208
137
136
165
167
156
208
121
123
165
159
172
150
212
172
228
208
176
185
112
143
112
175
225
121
156
204
150
112
150
124
147
189
121
176
167
208
165
204
181
208
181
212
257
208
167
150
165
123
276
170
193
194
124
135
219
263
242
170
150
208
172
172
171
220
274
172
170
156
195
150
186
214
199
150
121
172
112
121
202
258
208
121
136
193
208
253
143
171
207
187
112
112
144
172
121
158
171
176
225
130
192
115
167
237
150
174
164
181
194
112
136
227
112
176
121
172
176
123
239
212
202
168
150
112
192
150
162
208
205
181
112
215
132
233
167
218
121
193
156
112
112
112
203
123
172
112
171
208
135
167
201
243
150
150
164
202
159
121
176
112
171
121
112
201
170
167
219
212
150
164
158
176
170
277
112
205
229
112
167
123
202
218
165
135
165
250
205
231
121
123
195
193
135
240
212
171
174
214
218
193
115
195
194
159
233
205
112
231
121
121
230
194
150
136
158
112
172
186
172
176
150
161
232
205
209
208
226
207
193
165
150
236
207
232
194
123
150
123
284
209
159
208
146
150
160
171
136
176
192
172
208
135
210
189
112
121
167
150
213
233
150
112
172
112
165
121
208
194
112
150
244
226
158
121
208
179
123
205
208
201
112
212
137
170
167
170
170
146
208
218
158
150
260
112
150
226
170
167
170
139
187
121
121
247
136
212
223
121
225
164
195
112
121
279
253
208
170
128
208
174
147
208
112
160
195
121
302
150
194
160
193
150
121
171
137
150
172
150
175
206
174
231
115
195
121
156
263
154
156
167
203
205
215
216
150
124
112
115
192
160
202
170
124
208
172
147
210
193
137
170
172
150
143
236
112
123
121
123
172
121
237
150
228
135
112
170
112
172
164
194
208
150
208
150
205
123
250
150
121
230
189
194
195
165
208
150
172
208
264
199
112
152
121
172
159
150
209
176
170
121
167
233
112
203
115
194
112
150
147
215
112
150
147
121
193
172
228
174
245
181
187
195
186
233
123
165
144
172
212
165
170
171
121
236
112
150
187
121
121
112
112
150
150
150
218
219
170
243
158
214
186
150
150
259
187
193
150
150
172
208
177
194
123
208
187
150
124
167
210
160
170
124
172
196
224
171
150
172
147
208
273
208
115
227
121
210
121
150
208
186
215
181
193
121
228
150
208
150
172
243
112
220
162
172
189
171
150
150
123
158
199
208
167
150
195
150
171
219
170
172
208
121
150
187
167
196
150
156
112
192
112
194
195
172
255
194
135
219
166
208
179
245
121
220
123
202
203
123
150
112
121
153
258
123
164
240
112
176
165
121
170
176
216
150
176
150
186
194
172
208
168
176
212
147
175
203
226
150
171
177
112
112
130
150
150
167
124
203
121
124
167
167
279
112
208
208
202
186
147
209
172
176
177
150
177
123
208
112
228
123
137
170
226
157
202
189
121
204
112
243
193
112
208
115
172
181
300
220
112
112
112
112
112
172
121
198
121
212
208
212
174
172
121
237
196
193
208
150
210
137
152
172
187
123
194
237
150
150
302
186
237
186
150
208
171
121
121
176
172
176
174
302
112
167
172
171
212
170
150
150
136
196
158
184
228
208
208
193
196
208
159
139
194
112
181
150
150
164
171
121
112
233
226
164
172
202
150
112
131
172
124
121
121
192
150
187
193
232
170
171
147
172
124
172
202
115
171
130
112
150
208
195
214
112
176
150
150
150
123
237
201
181
226
115
192
227
167
174
150
150
192
136
170
176
171
130
112
115
184
265
176
207
172
200
244
172
187
175
229
302
205
123
147
150
112
172
137
112
170
170
112
121
150
137
174
121
177
121
198
219
158
208
123
170
212
208
228
215
121
215
135
112
176
240
250
204
181
229
168
157
167
159
135
128
240
227
150
208
150
219
194
124
193
112
171
203
181
208
186
150
112
121
253
181
112
168
263
193
112
208
165
194
208
167
112
263
201
172
171
219
172
112
205
121
217
150
136
172
165
278
150
208
242
112
164
167
172
176
112
172
176
220
121
128
150
170
112
121
208
121
112
172
231
112
112
243
121
220
209
121
128
208
216
192
158
170
172
112
239
167
112
194
167
167
172
165
172
136
112
150
128
208
204
231
201
150
167
123
156
216
181
150
150
181
176
203
150
176
193
165
202
208
112
124
121
194
172
167
112
170
220
115
167
231
203
112
219
167
228
223
176
159
150
160
170
176
121
121
177
167
187
206
183
194
233
228
170
217
112
134
152
170
112
150
192
195
172
112
181
180
135
181
215
181
159
156
112
245
123
181
203
208
211
150
112
198
112
228
225
136
121
165
247
165
158
150
201
205
194
274
208
235
150
281
112
164
208
147
150
231
252
212
215
147
137
121
167
168
226
167
112
150
150
150
152
219
121
136
173
112
198
112
167
233
170
171
216
281
176
233
150
132
226
112
150
232
137
112
208
156
186
245
121
181
181
112
115
225
249
160
176
172
150
112
150
150
230
123
112
192
112
158
250
243
172
150
208
194
175
150
170
193
181
136
231
210
219
172
223
170
247
228
167
150
189
135
128
150
171
112
150
112
150
208
115
225
203
193
150
123
121
121
150
167
167
112
174
186
208
121
121
158
228
121
212
123
154
207
167
112
181
193
237
175
150
139
208
112
123
172
170
235
147
150
263
208
150
170
164
121
150
172
172
158
205
211
152
201
170
220
217
112
172
165
177
164
187
147
246
242
136
234
160
121
160
171
228
115
147
121
177
170
243
121
181
202
170
137
220
115
176
208
150
237
167
167
292
208
172
182
150
195
208
201
176
195
171
112
202
208
172
176
192
167
170
232
237
121
176
230
156
158
159
147
112
194
121
170
177
112
204
112
112
221
225
170
171
185
150
157
176
244
135
229
130
123
174
243
231
112
174
176
233
167
217
167
112
167
112
208
121
123
150
229
128
212
123
167
244
172
150
168
150
150
225
172
176
150
210
123
187
156
171
170
121
208
203
112
150
197
250
152
160
135
130
207
229
194
263
150
170
203
150
167
217
255
208
247
181
167
135
112
210
121
172
112
179
219
194
220
212
157
193
137
112
302
159
228
251
165
115
115
211
260
170
152
136
229
112
112
150
194
171
168
170
165
128
135
124
238
175
201
222
190
195
171
208
159
124
215
186
187
234
194
176
249
137
172
174
181
203
210
220
135
181
210
112
227
208
194
150
147
218
171
146
147
167
176
187
137
112
194
170
243
176
193
150
171
112
137
236
186
150
121
232
121
181
250
172
112
201
232
167
245
193
182
281
218
207
147
167
171
121
168
171
170
137
237
112
252
209
210
172
193
112
171
172
152
220
112
172
219
179
205
147
170
218
121
150
231
239
121
150
112
172
121
165
215
171
212
121
121
203
176
193
208
112
150
170
201
139
172
181
122
208
112
197
143
121
112
237
123
220
150
172
205
260
172
239
135
257
150
210
181
158
121
203
210
112
232
194
208
170
112
174
237
186
121
137
170
112
121
176
208
172
241
168
208
256
121
150
203
208
121
231
135
121
150
150
124
187
136
225
158
201
167
159
167
208
167
123
255
150
187
211
167
231
208
157
164
219
159
230
165
152
184
167
187
201
135
185
205
172
199
156
217
123
137
210
121
112
112
165
170
112
150
146
170
169
192
150
121
123
150
115
171
172
252
195
172
121
150
208
150
177
112
232
157
167
194
128
123
201
121
193
201
112
172
218
208
181
152
124
226
168
130
248
135
187
137
193
190
168
202
121
219
156
135
112
208
181
121
150
150
150
167
171
170
150
147
195
128
156
170
194
165
158
112
230
167
135
171
238
176
187
194
150
165
115
112
171
226
112
208
202
165
121
121
147
167
135
186
265
112
226
192
115
167
112
128
165
188
172
160
130
215
156
178
199
121
250
158
170
121
112
208
278
207
150
176
150
112
137
112
121
233
212
121
165
150
156
193
208
150
147
170
251
121
150
202
170
137
202
158
172
147
229
194
219
170
156
165
276
168
158
112
112
195
208
171
167
196
167
207
164
302
112
164
147
194
181
208
152
112
187
112
195
112
172
150
174
152
177
172
150
112
156
150
150
165
121
194
172
172
208
182
112
208
228
150
172
150
212
235
297
123
172
210
165
112
259
115
150
158
203
250
164
123
172
160
112
271
163
150
194
228
216
115
236
121
262
241
181
215
208
150
150
162
172
167
172
112
121
150
144
130
167
160
202
121
167
164
243
208
165
193
210
123
170
112
150
205
176
112
190
150
255
162
165
178
195
112
112
147
172
150
112
112
112
112
232
172
192
225
123
121
112
200
128
112
189
167
176
165
194
181
171
150
182
192
167
158
158
165
112
165
165
150
112
112
187
112
167
248
185
181
220
167
150
208
193
257
168
215
208
160
158
123
123
115
208
186
192
172
170
208
112
255
121
112
167
172
172
112
170
170
228
167
135
208
112
229
198
219
226
208
195
172
172
137
152
115
170
167
161
112
196
150
112
197
175
172
227
139
121
228
123
112
136
147
147
112
186
194
237
181
172
231
162
150
121
187
172
233
170
195
217
302
213
167
112
112
167
176
158
203
160
115
195
158
135
192
167
193
167
194
150
121
170
170
167
121
112
170
165
112
112
147
299
208
156
297
150
184
181
228
172
121
121
176
121
150
208
121
158
150
121
170
186
172
167
186
170
208
210
263
176
123
194
165
229
112
123
171
128
172
112
121
150
115
150
237
115
246
135
112
265
121
193
207
186
121
170
176
194
124
186
194
179
219
187
187
208
197
167
184
237
150
220
210
171
228
170
123
159
167
208
150
121
194
170
205
232
211
190
150
156
112
208
208
175
121
112
171
232
135
189
136
217
150
194
150
247
150
239
182
172
176
121
167
157
194
210
121
121
150
210
193
187
170
115
181
196
172
195
263
121
150
206
170
208
112
112
212
170
167
158
150
172
123
219
112
244
156
209
172
174
194
176
170
208
112
150
150
186
136
150
170
208
112
242
172
181
170
209
260
208
220
237
112
165
112
186
239
150
112
237
112
150
186
112
176
210
220
243
208
150
159
194
281
282
192
250
170
112
121
150
170
170
170
257
195
144
192
172
172
121
150
231
183
160
150
182
210
121
165
121
206
167
243
193
253
121
176
150
250
112
199
194
150
172
112
121
174
193
208
210
112
115
176
216
172
150
172
172
150
121
150
135
170
167
206
250
150
112
135
237
143
150
186
124
238
189
194
172
135
197
112
135
194
193
201
194
112
210
193
208
203
171
228
220
174
121
172
171
112
229
173
147
150
170
136
121
223
112
173
204
220
181
112
121
217
176
247
237
115
112
150
223
146
112
187
170
121
112
181
220
194
226
193
208
255
150
186
150
136
150
152
156
150
240
193
170
167
112
167
194
144
121
208
172
159
112
121
168
201
136
150
176
186
168
208
112
112
171
200
208
165
112
121
115
172
257
218
170
168
208
115
121
176
170
208
192
124
135
157
205
217
150
172
228
194
208
112
112
187
264
165
240
124
208
130
231
150
208
167
195
229
159
150
158
150
136
165
112
223
233
150
256
174
232
208
165
150
150
121
234
150
177
172
161
121
282
242
170
121
170
208
187
150
150
150
238
164
172
152
177
150
135
112
135
150
150
201
201
156
150
152
112
136
150
112
165
128
135
147
165
172
121
186
228
121
249
150
167
215
112
112
130
174
193
135
205
150
130
205
112
187
208
174
208
112
112
150
176
225
150
150
150
208
147
171
207
226
112
112
288
219
187
171
135
115
181
226
201
195
150
150
172
150
229
210
190
150
167
121
167
227
230
232
232
186
130
130
150
181
172
198
150
124
112
184
185
190
164
176
115
156
147
167
150
181
206
167
192
121
123
112
112
150
203
235
165
112
186
172
177
168
123
195
171
167
112
121
161
136
121
236
204
121
172
194
208
174
121
168
215
177
202
210
150
198
194
143
228
172
187
182
150
150
258
150
170
147
150
123
150
112
167
144
143
150
150
217
170
136
115
121
112
225
123
170
128
175
247
112
167
208
228
194
231
201
112
152
112
158
150
150
112
187
208
160
115
275
135
158
193
150
136
208
150
147
194
219
112
150
171
195
195
112
210
167
121
112
123
206
302
195
167
158
215
147
139
150
167
237
167
170
159
172
193
150
135
208
250
172
189
112
121
182
121
112
171
167
121
112
112
193
123
143
150
123
233
156
123
176
179
150
121
208
170
177
189
164
112
167
182
242
112
112
240
156
255
158
123
176
150
150
135
123
112
210
150
218
159
172
216
212
150
112
172
208
167
121
186
170
210
216
121
230
212
171
150
121
299
170
176
210
208
136
176
147
212
150
164
225
208
172
228
121
208
196
210
115
172
170
112
150
112
167
121
194
150
147
207
184
128
172
299
112
176
150
112
278
143
121
185
115
177
165
112
232
187
112
158
171
203
255
194
169
112
150
150
218
171
150
121
163
231
137
121
258
241
112
145
201
121
164
130
137
202
171
174
197
242
239
204
112
170
237
112
112
198
112
150
201
193
213
112
170
182
121
226
195
187
130
193
192
121
159
112
228
215
187
123
112
121
195
212
167
150
208
205
175
202
123
192
211
208
208
168
227
186
208
135
131
215
208
208
185
121
228
150
218
112
212
220
158
150
135
165
208
207
201
208
121
216
112
228
167
195
171
150
170
159
172
150
178
170
250
115
208
255
160
150
219
150
186
136
135
150
215
121
136
121
250
181
172
115
172
225
175
135
186
211
177
259
218
226
160
181
137
167
172
123
143
196
208
150
112
112
170
130
202
112
216
194
195
136
131
153
202
170
210
172
136
165
112
167
179
157
185
187
216
196
171
240
218
208
240
112
150
175
128
121
204
170
170
231
121
208
228
112
189
237
172
112
170
170
208
208
171
240
165
167
164
135
192
208
186
177
121
276
121
231
208
150
171
287
150
150
167
172
192
254
112
171
176
201
167
176
130
121
170
172
147
167
150
302
208
212
241
170
228
177
112
168
176
211
177
254
251
123
139
165
170
212
115
171
150
164
172
182
212
132
121
186
203
268
170
112
150
156
121
172
176
167
121
174
168
150
150
186
150
167
195
163
225
152
159
242
228
165
168
186
150
158
202
181
263
167
136
150
215
208
211
209
181
121
164
150
197
172
208
165
123
186
150
231
172
158
112
157
222
112
157
208
212
172
158
235
135
121
181
231
198
167
136
272
112
199
250
170
225
121
171
228
150
150
112
112
172
218
112
201
150
210
201
184
187
123
165
112
136
159
150
121
212
217
121
172
115
135
112
237
167
123
194
232
255
150
210
150
192
121
112
186
193
171
112
194
187
167
167
135
121
121
121
150
201
186
194
172
184
163
128
229
121
186
121
121
150
177
112
192
205
150
121
150
195
275
150
158
147
187
213
167
219
121
167
208
150
121
137
150
112
147
172
218
172
135
190
160
167
137
217
152
158
150
165
236
150
121
170
202
159
136
208
204
208
236
137
181
234
170
181
121
195
150
237
112
159
193
164
208
150
208
168
181
115
230
194
168
205
150
121
192
112
172
112
170
124
121
170
207
112
194
121
172
208
205
245
143
171
147
186
208
231
112
147
209
229
112
130
181
150
193
172
121
121
239
208
226
203
170
112
239
150
112
210
207
302
167
165
208
212
172
192
176
243
193
124
121
121
121
115
150
171
202
171
258
165
150
170
201
157
205
208
202
176
194
202
218
210
264
193
172
181
230
135
165
193
250
176
167
112
226
208
121
147
195
137
165
232
176
121
124
162
121
121
231
123
243
208
150
128
150
156
150
121
177
173
167
278
164
189
112
231
170
167
174
172
265
202
250
112
196
228
219
167
226
170
121
263
160
112
112
112
170
176
208
112
165
156
143
136
150
226
176
211
123
297
214
203
220
172
230
208
121
157
150
164
228
157
228
112
226
171
232
208
172
186
194
121
121
112
196
302
202
205
176
240
176
201
215
235
170
237
230
170
193
121
150
193
170
186
112
115
231
232
287
208
203
170
228
121
179
167
193
112
172
186
176
172
112
207
123
164
150
121
193
172
172
187
192
171
194
171
160
135
167
229
150
231
112
136
194
121
152
208
112
150
208
186
121
208
208
208
182
192
130
172
228
172
233
121
124
124
255
150
112
112
175
302
147
115
170
112
208
150
176
152
150
220
230
132
205
150
208
121
192
200
175
186
193
181
150
255
177
150
150
237
196
135
172
202
112
135
194
112
123
195
167
135
181
152
208
208
208
112
160
150
150
206
171
171
123
171
178
167
112
121
150
172
121
121
150
208
170
135
112
121
160
150
199
217
202
195
192
147
158
228
208
207
121
150
242
230
121
237
170
128
172
212
208
204
147
234
216
112
144
187
170
170
229
176
226
150
124
235
112
171
192
229
210
240
123
210
186
158
195
121
121
147
212
112
189
202
112
150
112
150
170
233
209
208
194
176
177
189
150
186
234
159
208
112
136
121
210
112
123
165
208
136
208
186
165
237
176
112
164
121
193
150
115
150
176
112
181
147
274
171
186
164
195
209
150
255
167
121
174
189
112
112
172
293
276
167
172
121
186
170
243
167
164
164
112
112
205
190
112
195
150
197
172
112
150
187
112
150
225
231
137
170
208
172
167
150
208
112
128
121
121
112
165
150
150
123
217
156
228
112
176
150
212
150
143
208
167
193
210
172
241
170
212
198
228
220
167
112
112
177
218
143
150
212
173
150
150
150
164
204
186
121
171
194
237
112
150
208
181
128
184
158
123
112
212
210
162
150
121
194
265
112
130
150
150
208
121
150
150
208
150
212
121
167
192
203
220
167
172
172
121
165
136
210
150
176
187
172
171
137
150
227
203
123
227
150
195
171
208
135
201
233
167
194
275
210
195
115
176
170
170
193
172
150
172
176
112
194
123
212
172
255
137
181
208
218
150
240
232
217
150
172
208
135
231
150
208
195
167
219
172
195
172
112
286
121
137
220
150
167
147
112
150
136
176
194
181
195
193
208
150
217
210
170
172
170
121
121
232
150
167
152
131
124
177
192
170
202
137
181
172
150
237
112
193
150
147
208
150
124
167
137
167
123
218
168
112
210
112
123
228
112
121
229
112
174
167
137
123
177
170
136
150
112
195
228
167
172
112
201
121
150
171
230
193
212
170
158
187
172
250
150
203
121
220
170
150
121
281
187
170
199
186
159
112
123
152
217
236
159
233
121
186
152
121
121
150
195
194
165
152
128
208
168
172
158
217
263
121
150
121
202
135
205
219
156
123
208
205
217
123
193
181
215
165
112
135
192
181
170
176
147
181
136
159
189
212
171
150
186
214
170
112
162
194
121
186
172
228
184
121
160
170
112
156
112
121
170
193
172
183
194
172
112
172
112
194
194
208
123
159
112
187
123
172
302
255
150
172
150
181
112
121
112
181
170
150
176
112
222
150
112
150
184
164
228
112
193
216
257
112
236
241
112
158
152
194
188
195
123
184
121
217
112
159
150
160
147
112
174
170
121
238
172
121
176
177
177
192
210
152
199
112
237
226
178
234
124
150
124
171
177
121
112
115
171
176
233
193
115
172
121
186
208
165
223
225
240
112
174
245
170
181
193
165
170
165
147
167
112
121
235
115
232
192
170
158
195
237
237
210
136
167
121
181
150
115
137
121
123
167
150
150
221
181
218
173
150
234
234
228
121
170
167
208
171
170
121
121
195
112
121
194
165
203
121
121
112
172
227
121
208
135
195
130
112
176
150
150
197
170
167
189
241
217
168
205
208
112
165
172
112
263
150
172
194
215
195
208
181
186
112
247
176
208
170
112
150
112
123
172
186
276
165
112
302
212
192
115
170
229
226
150
233
150
186
228
185
112
150
121
123
181
150
181
239
255
112
224
218
204
228
150
167
171
158
150
266
112
156
173
135
231
121
171
112
242
150
242
115
121
164
193
193
159
210
165
263
228
121
172
258
193
208
177
181
137
195
233
239
167
195
121
205
130
170
159
135
226
121
231
229
123
215
202
150
115
150
112
170
167
203
136
201
170
176
165
181
150
164
299
242
252
194
159
220
213
112
121
112
194
226
115
112
207
228
189
123
147
165
121
208
247
202
112
150
207
175
250
228
159
177
211
218
165
172
170
112
207
123
208
172
147
212
170
256
112
228
152
210
195
194
186
208
186
167
112
279
181
121
218
208
159
186
165
192
201
150
112
226
208
172
194
137
208
121
243
112
159
152
181
172
176
201
136
123
170
112
136
150
198
150
212
170
135
123
193
194
217
216
150
215
172
121
150
121
220
237
172
201
208
178
274
238
121
240
112
112
147
172
353
209
170
150
179
198
176
150
112
147
193
208
234
228
150
112
112
254
210
191
150
194
193
147
112
112
160
195
208
208
121
150
121
121
200
150
170
147
204
252
203
263
250
255
203
121
302
243
150
210
218
121
196
244
136
143
172
121
176
152
208
121
121
123
112
276
233
112
112
238
194
176
172
210
237
174
227
112
210
223
213
121
123
112
172
226
136
208
177
112
112
150
175
115
176
205
121
223
123
274
167
207
150
250
228
150
112
124
172
121
112
297
171
201
228
234
210
208
255
170
123
208
176
226
167
193
130
115
207
157
203
193
194
233
244
121
226
201
167
112
156
170
112
137
112
172
124
202
227
150
121
212
209
167
184
170
167
171
228
202
172
227
150
130
172
237
112
208
158
219
150
150
147
150
156
121
143
178
137
112
150
187
291
193
194
272
177
201
222
171
172
187
186
156
135
192
212
208
198
214
112
197
191
197
131
253
158
208
177
150
167
165
205
128
150
121
171
136
208
150
208
231
187
150
189
172
112
170
217
195
168
176
181
150
170
136
174
112
208
147
150
172
201
208
135
250
147
123
217
167
135
147
150
208
211
163
194
208
206
261
167
112
172
220
203
152
121
168
170
172
184
121
172
135
150
147
201
210
186
167
208
211
302
235
263
130
186
244
124
150
147
123
171
193
194
185
115
235
150
260
150
128
181
112
208
228
202
195
171
172
115
174
194
150
158
136
130
137
177
210
226
206
121
177
147
237
121
150
233
115
181
112
150
186
164
150
121
223
205
176
123
250
178
150
150
167
172
187
193
158
170
137
172
157
112
164
150
137
228
123
235
150
170
136
121
214
112
121
208
195
112
121
150
136
170
167
208
208
150
187
302
150
121
150
150
176
179
115
167
137
190
203
182
167
135
187
112
210
208
121
172
185
156
210
150
150
208
194
123
147
194
152
143
150
112
150
147
121
208
112
210
214
177
172
121
135
203
121
179
147
112
112
135
210
181
160
208
121
223
130
150
228
150
208
186
179
167
150
176
121
165
128
220
226
146
153
206
186
194
255
237
194
153
152
150
263
150
150
167
176
152
229
150
231
194
229
202
226
112
169
167
212
172
112
195
209
181
210
193
121
123
112
121
181
233
220
165
123
172
172
208
164
130
193
172
210
137
208
213
194
177
258
121
225
239
181
189
201
194
237
208
172
219
172
147
121
170
233
170
175
170
136
121
217
208
167
121
123
121
233
150
112
150
144
150
167
135
177
121
121
121
112
150
194
193
112
174
193
228
150
208
112
182
167
121
302
164
170
124
177
147
137
189
231
167
208
123
112
143
189
112
164
123
253
123
158
165
186
172
150
121
232
237
259
167
172
201
150
228
182
112
160
245
208
160
150
123
130
187
112
150
112
152
228
277
150
172
222
124
150
236
168
135
200
195
162
205
167
135
112
223
187
165
112
150
171
202
121
187
208
174
208
121
156
121
171
186
208
257
147
204
167
208
112
170
257
112
139
216
194
136
172
203
240
150
172
231
172
112
173
135
227
159
227
150
207
220
190
210
172
123
135
152
152
193
217
112
150
167
150
167
302
123
115
202
219
259
219
121
150
174
208
159
240
195
136
212
123
179
159
302
112
188
167
112
228
121
172
170
150
177
159
178
178
226
195
156
150
170
195
150
121
244
121
171
136
137
236
202
123
172
279
164
228
172
136
181
186
206
176
150
186
208
112
171
193
220
255
201
150
202
219
112
185
115
112
253
237
112
194
121
115
123
237
179
135
112
203
225
112
158
214
124
121
228
228
194
150
172
208
172
204
112
135
204
150
189
190
170
152
170
208
210
165
232
121
171
175
150
194
121
121
115
152
231
203
121
150
250
150
178
112
112
112
172
212
115
165
150
208
187
227
150
165
167
207
208
192
112
176
208
181
186
115
150
171
158
112
194
150
194
165
165
137
167
121
238
112
172
231
121
208
242
194
263
177
171
250
173
112
210
172
150
137
171
164
150
150
228
210
150
229
181
112
176
121
121
121
232
150
160
214
156
202
175
121
196
170
112
150
112
115
123
112
206
189
137
208
164
202
187
229
164
203
257
217
233
181
208
210
208
112
168
150
172
191
228
123
112
187
202
217
144
171
208
165
192
112
208
186
167
171
228
203
112
217
185
150
220
121
208
112
112
130
228
166
255
112
121
121
167
201
266
202
184
130
135
179
207
231
121
165
121
121
167
135
170
176
174
121
128
181
115
121
264
137
278
129
112
219
159
168
172
263
123
136
228
243
219
220
144
165
172
112
197
170
150
231
150
121
112
112
150
226
159
160
121
181
165
147
210
121
121
167
210
121
121
143
246
143
172
195
135
199
147
232
156
256
216
237
189
112
184
171
172
152
207
150
172
135
115
172
164
221
112
123
225
135
193
168
208
167
136
181
176
112
121
216
135
210
123
192
178
212
187
272
171
150
174
150
159
194
121
187
208
186
208
187
197
137
243
221
195
137
208
124
188
150
150
121
121
263
112
223
178
172
208
112
208
150
147
174
208
123
186
150
199
237
150
193
172
195
190
112
208
214
121
128
135
150
170
167
242
167
237
150
225
202
167
150
203
123
172
150
208
121
115
158
248
165
170
115
215
160
228
112
158
212
240
123
150
159
115
194
224
150
212
112
150
164
178
207
208
150
208
181
186
194
201
150
177
167
214
147
167
136
167
210
167
167
135
158
214
172
208
171
112
193
112
164
121
135
112
112
258
171
137
194
186
172
195
150
218
235
171
186
208
171
172
135
150
172
170
228
164
181
165
186
112
160
176
208
236
121
201
232
123
173
228
112
121
150
112
167
167
150
226
174
121
115
150
121
212
150
186
164
172
179
123
171
196
208
187
215
219
176
123
175
193
112
212
123
171
123
181
208
167
291
222
196
201
231
208
150
219
193
115
136
185
150
202
172
150
159
233
220
225
150
176
112
128
143
162
192
181
171
115
234
181
181
150
175
123
181
121
167
115
167
209
218
128
167
150
112
112
196
201
170
167
220
143
167
121
215
121
112
123
239
193
164
206
123
195
228
194
135
121
139
124
181
263
181
193
112
112
165
137
112
121
150
219
172
220
123
208
201
165
172
170
171
172
210
205
150
150
195
172
131
167
247
121
165
130
176
208
209
112
171
158
171
150
172
226
228
135
137
121
168
112
202
175
156
150
194
173
175
115
121
167
194
208
121
203
170
193
150
121
150
121
220
208
228
217
112
147
165
167
124
239
176
183
115
174
150
208
179
115
257
121
187
208
263
176
170
171
152
171
228
218
150
172
215
208
121
212
115
201
210
112
201
150
130
175
205
195
215
202
226
305
152
186
150
112
156
165
228
112
124
231
146
181
195
184
232
168
248
164
112
171
194
150
112
178
150
187
150
164
167
234
112
208
192
167
195
177
225
208
128
186
130
167
165
174
121
171
275
187
123
121
177
255
135
121
137
233
257
209
150
112
165
146
124
112
150
186
208
121
112
210
150
112
224
194
215
174
172
174
147
136
159
196
115
236
208
150
150
150
121
115
112
159
205
112
239
235
177
112
198
255
167
208
172
194
233
150
170
228
172
112
176
168
121
177
136
195
150
177
112
158
150
208
147
208
205
172
150
137
136
112
172
171
195
130
171
194
186
208
229
194
186
208
123
182
177
187
208
194
170
198
168
209
175
112
164
158
150
202
227
236
200
112
194
139
181
135
172
170
112
150
161
150
195
172
176
112
121
152
170
171
121
112
121
228
121
202
219
136
112
181
182
265
112
208
171
208
150
150
250
194
160
160
143
228
137
241
150
172
121
223
250
167
239
147
208
161
136
121
192
203
225
208
150
121
195
147
176
143
112
176
228
123
211
243
176
130
219
174
135
208
128
212
121
172
112
189
186
176
172
289
112
214
172
115
112
187
209
212
172
123
176
167
112
195
205
112
194
152
226
172
150
112
172
170
135
150
150
200
172
231
172
195
210
150
170
193
158
302
121
210
171
121
135
112
210
195
165
196
112
146
135
170
276
181
150
240
208
186
150
179
195
170
181
150
123
171
170
150
208
240
274
130
115
112
124
172
202
112
121
172
160
121
137
172
229
229
124
197
208
236
170
228
150
121
170
193
207
194
229
235
160
250
201
186
223
172
150
190
112
217
202
159
245
208
112
233
172
150
176
208
217
237
159
214
229
222
150
121
187
167
255
255
208
112
121
150
137
170
194
150
112
194
186
112
193
186
150
165
164
137
172
250
150
115
123
168
160
208
201
150
278
217
171
121
217
152
112
171
167
210
121
234
150
150
193
121
170
194
181
225
217
150
147
112
121
196
176
158
231
240
112
150
165
167
165
181
150
229
219
165
112
209
176
170
121
208
121
162
121
255
123
240
162
172
167
202
112
128
150
172
112
171
208
214
121
168
218
225
240
150
121
165
202
172
135
121
121
177
172
217
150
150
176
202
112
225
150
130
186
150
121
150
150
187
150
174
237
136
201
231
112
112
171
208
172
172
121
150
150
210
167
121
194
250
208
123
121
208
206
164
214
186
181
199
186
123
176
225
150
255
171
194
176
171
112
215
206
170
150
236
228
136
165
181
167
228
171
112
150
271
150
143
150
195
212
240
208
194
130
254
174
228
206
112
176
172
231
115
240
112
123
171
136
194
226
112
184
176
167
208
181
159
164
165
172
228
217
115
115
124
150
156
172
150
175
176
203
170
250
121
135
174
201
121
121
237
170
112
136
250
176
176
228
201
208
150
195
208
155
121
215
170
226
112
202
150
150
181
172
150
265
150
150
220
176
112
136
150
121
171
208
170
147
181
170
217
112
185
121
159
112
224
147
112
250
167
229
190
167
150
123
223
123
115
150
239
167
208
161
112
150
150
112
187
121
112
170
240
225
172
197
217
147
123
137
174
172
194
121
172
121
147
232
219
274
170
219
112
197
210
128
181
168
208
208
164
121
236
203
123
150
201
128
137
186
208
121
211
150
161
176
112
136
193
150
206
170
150
263
170
150
231
112
135
172
112
121
167
192
194
164
231
124
208
150
250
193
237
218
239
186
169
152
147
208
112
121
208
112
121
152
237
130
170
170
167
121
121
208
226
150
135
167
230
152
150
150
150
121
203
150
156
112
186
137
150
170
205
165
214
194
223
181
171
216
228
181
130
172
209
237
263
201
232
210
175
186
194
170
175
250
121
115
112
137
121
192
112
121
150
167
150
167
158
150
121
150
201
135
115
150
181
195
112
263
115
208
179
226
231
219
130
171
112
228
168
220
194
257
165
150
186
112
195
205
158
170
202
201
228
150
112
143
223
193
121
150
240
179
124
220
181
207
241
201
208
121
255
189
158
112
207
189
115
195
201
212
195
207
167
150
112
150
172
228
124
115
158
124
115
159
265
164
170
200
230
260
136
112
176
112
237
257
218
186
112
156
255
231
215
165
195
167
170
213
194
229
238
150
228
150
172
147
219
170
112
171
231
170
123
212
207
159
112
171
212
173
171
123
203
237
220
156
205
210
203
172
219
164
150
208
208
216
170
253
112
161
194
150
128
171
217
263
165
181
208
160
257
231
249
182
121
228
121
288
160
150
121
222
187
152
208
112
158
234
150
150
121
147
150
121
150
183
165
250
172
150
145
115
212
121
121
171
208
160
158
160
187
171
112
208
208
210
168
210
121
150
171
136
208
208
187
136
181
112
201
112
219
240
187
150
158
193
123
201
208
112
112
150
208
194
121
198
112
201
217
150
176
208
164
218
226
226
112
150
150
167
170
192
177
209
194
182
162
194
115
135
112
208
194
136
170
212
193
176
210
123
156
112
195
201
112
137
170
167
150
170
150
170
112
135
195
208
121
266
112
124
170
194
228
263
171
218
213
143
150
250
121
181
231
156
186
221
123
170
172
170
172
150
150
121
135
112
123
137
186
171
150
181
164
115
170
194
210
172
212
208
174
208
171
208
123
150
199
193
234
208
195
150
195
220
201
208
167
167
241
136
208
150
225
115
112
165
237
137
112
150
194
175
112
121
174
170
221
176
208
112
123
172
112
136
112
172
150
212
223
156
171
135
150
112
194
208
167
214
170
259
136
187
208
150
135
167
147
226
146
135
121
150
150
224
220
172
231
150
167
213
135
170
217
194
165
186
112
150
181
150
193
218
208
202
121
112
208
186
123
172
161
158
181
121
150
150
208
121
201
181
150
208
123
150
112
165
201
208
171
121
123
121
172
219
232
150
208
112
112
265
225
167
323
172
130
176
123
112
172
143
165
175
229
162
177
176
130
150
186
152
128
167
156
171
135
167
208
168
197
112
220
181
150
217
237
135
121
150
208
112
123
150
167
171
150
228
219
150
121
150
170
208
186
165
150
217
194
215
143
150
121
112
194
121
135
218
230
112
208
172
123
131
215
121
143
182
135
243
181
144
260
112
208
240
167
112
206
232
152
121
165
227
236
172
159
194
177
164
115
172
208
121
121
208
167
121
170
181
130
112
150
195
193
211
208
112
172
195
170
150
170
158
124
208
187
121
121
205
215
170
112
112
150
177
167
171
167
112
234
168
160
165
150
164
198
201
112
174
121
208
159
202
115
240
181
150
112
302
189
147
187
250
170
150
204
181
170
215
252
215
128
112
112
167
150
244
121
167
121
150
158
139
193
156
130
150
170
225
135
212
210
112
112
199
150
210
164
150
196
165
137
172
208
228
121
172
171
208
176
112
123
208
167
121
136
201
210
197
172
177
167
170
150
208
172
150
150
167
150
150
135
112
150
121
147
112
136
167
175
135
236
176
205
208
177
194
224
241
121
229
167
121
226
250
170
112
226
156
171
115
208
176
121
150
150
164
121
227
231
182
150
160
112
195
179
121
170
187
187
232
121
186
186
164
208
208
159
168
170
121
181
181
208
194
215
150
150
121
225
228
223
112
212
121
276
150
187
121
137
121
137
124
136
192
121
150
161
167
123
112
167
150
193
123
161
239
243
150
170
136
150
232
112
121
165
170
112
172
150
165
160
228
237
204
189
157
121
112
137
112
231
150
150
240
150
121
171
195
197
171
204
240
226
181
112
112
115
172
193
112
137
250
152
170
112
209
179
124
181
146
121
238
231
171
115
170
143
177
208
167
121
278
172
240
121
152
176
164
208
165
172
121
208
168
208
170
112
257
144
176
227
112
121
112
228
160
207
181
172
194
160
137
165
121
196
237
164
181
232
121
226
135
201
192
208
112
171
121
194
112
121
167
199
194
167
172
112
208
184
174
181
207
209
135
150
178
228
181
172
192
196
150
212
181
167
135
136
194
150
176
165
172
123
150
115
112
167
150
135
186
158
216
147
240
237
208
112
150
179
226
150
302
150
171
121
227
194
150
167
176
185
193
121
145
147
218
121
245
167
112
189
181
193
165
302
172
123
121
135
150
158
228
230
172
185
150
173
112
174
210
135
230
164
239
201
228
121
278
115
175
158
150
147
193
171
112
172
115
223
213
156
195
177
227
150
189
121
186
170
152
112
112
276
167
172
121
150
112
150
194
170
208
219
203
152
210
149
150
150
170
170
112
194
193
170
121
135
115
202
150
196
112
170
178
229
172
158
112
112
165
208
192
112
165
112
176
217
208
150
112
264
156
170
121
205
159
218
228
121
187
121
112
218
121
167
123
239
193
112
263
215
239
192
176
172
112
196
177
150
203
208
231
150
175
150
194
150
164
150
243
130
196
112
260
172
112
231
177
150
189
147
112
208
203
172
159
165
171
202
167
135
201
208
112
237
203
172
200
128
171
150
189
170
181
150
177
174
208
147
143
123
112
167
124
176
167
282
200
156
150
167
167
171
196
270
158
241
229
172
190
172
123
156
112
243
176
112
147
172
176
146
201
171
194
237
123
201
186
135
181
121
150
160
150
121
150
150
212
208
172
123
226
123
150
170
228
150
228
172
121
187
175
121
123
168
229
112
165
172
240
112
121
165
152
147
216
244
195
208
172
128
123
112
158
159
192
203
302
231
112
123
165
200
172
135
170
165
176
150
234
208
150
150
150
203
150
181
167
123
136
186
170
150
167
147
150
184
193
181
201
208
150
164
115
181
150
210
144
231
121
229
150
159
225
208
150
179
115
167
181
137
172
266
171
112
171
150
208
219
124
199
228
150
121
128
112
276
150
186
195
121
208
172
112
121
194
243
250
121
172
121
156
165
172
193
170
218
158
150
208
257
217
172
174
211
150
150
208
121
239
121
136
112
187
172
150
150
121
159
201
150
208
208
150
207
150
255
229
209
121
237
208
211
293
159
112
194
176
193
175
197
123
170
135
208
223
208
177
170
245
150
170
174
172
245
123
150
150
172
210
164
121
195
182
208
178
136
176
136
231
176
208
228
171
112
191
208
165
181
171
115
208
226
164
250
112
244
208
123
235
170
276
208
167
219
121
167
112
121
208
159
236
159
172
123
167
150
150
147
187
215
233
208
158
174
195
220
167
147
121
207
112
167
175
123
171
124
228
190
186
235
172
245
184
208
172
201
210
112
177
167
112
225
187
297
174
194
162
121
186
201
196
156
131
115
112
184
218
195
124
194
135
172
147
128
208
121
259
176
158
123
170
186
208
165
210
246
181
190
212
150
187
186
175
228
194
194
195
172
247
228
208
210
121
254
115
150
237
207
150
171
112
218
170
194
228
121
239
172
115
167
150
238
181
159
172
121
123
167
255
135
200
202
208
205
167
121
267
159
146
150
170
150
174
112
150
135
170
150
170
210
167
150
213
171
165
112
150
219
115
156
156
193
150
112
150
150
187
187
121
194
220
112
209
172
121
210
178
121
136
171
112
112
202
121
219
150
165
121
171
165
255
243
196
167
112
170
121
181
208
165
183
123
165
158
130
278
150
202
181
147
194
208
112
157
115
171
181
206
228
196
170
231
123
112
121
112
165
181
212
123
150
150
121
229
112
170
171
143
123
167
302
171
121
165
203
208
150
174
210
157
202
219
205
186
187
208
156
121
208
158
167
237
207
208
165
130
250
175
150
112
202
203
189
208
158
250
135
298
232
135
187
137
150
170
250
164
158
194
150
228
186
186
228
194
150
172
194
231
164
168
193
203
112
171
184
234
193
167
176
159
112
136
212
147
156
156
121
124
181
170
147
121
203
123
193
141
228
208
150
239
150
165
172
186
161
201
132
164
281
170
150
219
115
172
136
137
186
147
121
195
165
150
189
112
150
171
176
112
202
168
121
231
171
123
167
112
172
150
112
112
143
181
172
229
162
208
212
150
170
165
186
226
150
112
172
112
257
143
208
130
263
167
172
193
159
121
250
208
150
256
243
202
228
193
156
186
231
135
194
228
112
199
112
121
225
276
175
121
172
167
250
201
112
150
176
235
233
201
167
210
150
194
211
203
167
231
198
187
210
130
202
217
165
150
177
112
201
208
217
121
172
208
210
201
172
121
226
208
124
187
236
201
112
167
121
194
170
194
181
208
150
152
121
172
112
165
215
239
136
175
199
130
160
172
194
172
158
123
112
115
228
177
253
176
147
150
234
150
208
195
159
208
259
123
112
184
192
239
112
170
208
237
302
295
229
204
147
218
218
208
164
143
237
147
150
246
255
214
121
201
176
150
237
121
228
124
150
208
135
158
150
121
150
228
226
214
193
196
121
187
179
147
249
181
165
167
112
192
164
172
121
112
172
112
112
207
112
167
167
112
225
167
215
150
211
112
181
238
226
112
206
185
276
112
193
202
112
226
240
176
193
209
168
152
167
150
150
181
167
210
205
174
137
208
172
123
170
212
150
121
247
217
228
112
172
121
195
115
115
172
137
170
195
156
194
168
172
112
210
170
121
205
172
137
161
205
112
112
212
171
115
121
150
150
165
208
160
176
167
170
165
150
171
182
187
130
240
170
112
202
150
150
121
135
123
123
121
131
209
189
208
217
237
112
216
172
112
172
187
150
206
216
220
237
150
171
194
112
172
171
167
136
187
219
167
179
115
229
158
150
123
227
121
150
173
186
192
196
115
158
112
186
150
171
172
181
193
170
173
123
193
223
150
190
203
150
162
208
143
174
221
218
240
112
168
201
150
172
186
210
130
167
270
150
204
150
121
176
236
112
128
165
165
170
228
194
161
137
231
255
159
187
203
162
112
150
186
193
135
150
200
208
167
137
124
208
209
192
208
146
186
150
150
174
150
172
137
121
112
166
212
176
112
137
189
150
150
112
112
193
210
186
208
121
150
183
112
152
150
215
123
171
257
164
112
171
112
201
178
193
150
194
168
184
112
171
207
150
203
228
171
150
210
137
150
112
242
170
210
121
170
187
232
121
123
186
193
150
121
205
150
195
139
237
112
212
243
150
172
182
240
112
171
150
112
192
187
112
112
170
167
214
121
156
150
150
208
136
112
121
210
210
219
121
225
121
194
112
147
187
198
207
195
136
212
208
172
172
165
193
167
201
167
112
181
121
194
150
147
271
112
212
172
212
112
210
194
208
181
150
112
181
172
222
156
152
212
193
112
159
167
112
137
112
192
182
179
226
150
112
195
112
206
179
225
170
150
112
112
112
187
150
209
150
121
179
208
112
167
159
137
164
181
112
236
123
206
170
181
150
219
170
150
207
171
189
150
168
228
215
150
112
145
225
195
152
187
208
238
115
150
121
137
112
112
170
167
150
222
121
275
112
193
208
181
135
135
194
208
167
150
121
150
171
150
215
150
226
208
172
176
137
137
212
170
150
178
112
172
210
194
123
123
170
181
184
249
194
112
231
219
112
208
186
208
152
112
147
159
187
121
123
181
112
150
139
205
150
194
229
112
168
123
214
175
143
215
176
176
132
160
158
243
181
130
121
229
167
208
150
167
225
182
112
112
210
143
220
208
170
177
121
208
152
181
150
121
171
179
121
150
136
112
195
121
150
136
212
150
202
137
170
182
112
112
170
167
278
203
195
123
121
143
208
112
209
115
123
163
194
150
150
208
150
150
150
172
207
208
201
152
150
121
121
112
217
192
239
128
201
112
201
112
112
171
236
164
112
225
177
207
167
208
150
194
150
150
172
150
121
193
223
208
171
179
237
150
150
112
121
150
112
176
203
150
121
145
150
112
123
115
150
158
150
112
218
150
121
170
150
203
112
112
172
121
249
187
230
228
176
150
150
112
150
177
124
147
167
150
236
186
184
167
226
150
193
177
208
150
182
112
181
189
137
166
172
195
241
150
112
208
172
157
220
150
121
123
150
123
166
210
121
150
135
170
194
175
171
131
112
184
150
121
184
194
202
171
159
139
172
121
185
121
245
257
210
150
164
220
181
112
171
237
219
121
171
172
156
156
121
121
186
165
219
205
171
205
212
112
150
112
121
112
137
201
150
157
208
208
194
137
220
237
172
219
160
164
112
237
202
172
172
202
213
128
194
216
112
239
259
231
228
112
219
208
150
150
152
150
150
121
150
201
194
112
252
164
164
121
192
202
150
164
187
176
121
150
263
233
229
244
203
144
184
150
233
112
174
193
208
208
193
147
204
164
186
165
208
121
121
121
233
176
208
181
176
172
208
195
208
168
158
194
208
170
255
121
172
208
112
210
112
112
112
201
121
208
193
167
135
137
212
130
208
211
164
147
240
150
212
208
170
150
150
203
123
220
196
112
150
186
121
112
146
150
172
229
150
202
179
112
150
171
201
255
217
121
115
137
121
112
165
239
160
194
210
181
164
231
156
211
112
193
194
171
121
236
135
167
197
208
139
172
165
135
121
112
150
123
229
172
170
150
243
170
210
160
150
170
169
112
172
123
208
150
269
207
112
201
128
121
123
172
172
121
194
172
250
181
156
234
208
193
112
208
208
150
112
170
189
156
219
190
231
189
194
256
181
165
121
150
175
208
174
224
201
218
171
158
150
150
112
176
195
150
228
135
172
123
150
171
195
167
150
239
112
112
195
201
150
208
112
171
184
194
247
186
171
237
194
121
124
150
167
255
171
181
228
147
220
150
159
208
150
225
150
150
208
156
150
208
249
177
202
165
194
172
152
225
157
172
167
172
237
121
183
150
121
227
226
172
112
157
242
190
193
135
186
208
130
147
150
181
194
172
208
159
150
208
208
194
152
186
150
231
121
208
260
277
245
170
137
150
170
167
241
171
261
112
121
172
198
121
194
150
170
212
128
139
194
195
168
234
112
194
172
214
150
216
195
171
112
150
115
158
194
181
156
172
204
121
208
239
150
168
259
112
170
205
150
172
174
170
179
172
167
121
183
123
112
123
147
225
217
212
263
179
225
174
195
195
208
176
112
226
225
150
121
210
136
207
181
150
228
150
260
208
164
209
195
164
187
208
200
204
112
175
206
167
194
203
228
112
171
121
164
192
167
175
137
121
182
172
121
186
212
205
194
208
205
177
194
194
150
156
112
208
227
208
121
184
220
236
150
241
208
174
176
202
189
112
186
195
130
157
176
150
137
112
254
239
150
150
158
168
171
232
172
172
181
174
167
121
171
208
176
167
115
257
195
165
174
172
170
168
112
234
208
171
210
123
124
112
207
172
203
171
171
210
174
167
112
220
121
159
172
144
112
160
240
130
205
204
147
121
278
159
208
215
150
174
176
193
208
208
208
112
208
194
226
195
123
243
218
200
181
212
112
157
168
112
203
219
220
194
280
182
224
181
156
112
278
187
112
260
244
171
150
179
186
136
123
167
208
255
170
207
190
170
176
189
150
214
115
208
172
112
240
228
172
208
201
115
172
228
121
241
165
112
121
121
172
209
167
121
237
201
226
215
195
170
208
150
167
150
194
237
187
220
156
136
194
208
172
221
150
228
115
208
156
165
172
192
112
170
167
121
249
112
167
202
181
170
112
156
187
167
112
112
195
172
137
209
150
201
170
176
208
112
243
170
167
130
177
193
172
127
165
172
163
202
167
207
172
219
167
208
172
167
219
184
172
218
170
208
150
243
206
167
171
187
136
168
150
123
136
172
150
171
137
255
165
235
150
135
228
170
149
150
178
121
172
167
205
219
189
167
150
158
121
167
121
137
123
152
150
208
115
167
167
150
208
246
135
112
176
261
208
156
165
112
147
228
159
172
194
172
237
302
194
201
192
210
247
121
112
302
121
121
121
158
160
181
172
131
112
121
231
202
112
193
193
203
112
136
179
136
224
150
139
172
228
143
121
150
208
150
190
147
216
167
159
231
208
112
228
167
112
167
170
144
136
124
237
150
121
112
172
167
121
112
208
162
181
212
205
137
187
153
186
203
112
150
208
217
165
252
135
121
206
208
123
121
239
278
189
137
121
167
152
167
208
172
234
115
171
112
132
159
150
112
220
210
260
121
156
170
181
121
240
159
159
150
112
228
115
217
197
167
150
212
239
208
177
121
208
135
254
228
150
160
150
186
275
124
150
121
121
194
223
150
112
159
279
171
176
165
150
181
121
150
172
165
158
170
160
219
115
237
202
130
170
210
112
150
234
112
147
172
186
150
112
172
208
176
150
173
157
150
121
137
202
172
150
164
167
208
181
121
150
212
176
130
194
112
130
168
121
167
156
178
121
112
196
150
156
170
207
156
112
187
208
112
123
112
179
208
213
112
112
214
144
112
179
112
181
176
175
215
172
121
147
121
150
170
112
171
194
137
170
172
121
112
172
121
121
208
181
150
150
182
165
197
243
172
228
187
208
179
228
150
150
137
123
181
164
124
167
203
121
172
250
112
206
150
171
150
171
189
121
165
150
115
147
172
167
160
237
208
177
202
171
176
194
122
212
165
112
202
150
171
192
150
201
137
229
176
121
302
147
210
210
192
177
121
112
121
172
123
172
150
150
176
121
239
202
112
239
208
176
218
150
135
136
150
170
202
176
193
121
220
221
181
220
182
212
235
130
115
206
208
167
123
176
177
233
220
123
167
239
112
225
137
158
164
208
121
150
201
137
205
206
124
220
141
189
208
112
165
172
115
197
121
121
170
177
150
115
112
193
172
121
139
150
208
276
158
181
150
158
164
206
167
121
112
161
160
171
121
172
170
259
168
135
181
231
121
150
164
217
136
112
171
112
172
202
124
171
170
258
207
230
184
172
172
201
124
121
112
124
239
210
171
160
210
121
181
167
187
208
208
112
171
195
196
170
112
171
208
186
210
186
123
187
202
135
112
238
181
150
225
150
112
112
112
175
121
201
112
174
228
235
150
168
203
147
150
187
208
112
121
208
165
208
167
164
112
150
265
187
231
121
210
137
135
150
150
233
121
202
201
167
193
165
150
232
181
159
172
150
282
176
201
278
167
184
171
112
208
233
233
121
136
152
150
208
193
112
172
112
208
112
195
232
257
179
186
250
112
198
255
121
172
164
135
167
240
112
112
150
135
186
181
186
228
171
136
208
112
121
172
150
250
228
150
202
130
215
167
189
171
150
130
167
177
158
112
210
121
193
178
135
228
195
172
201
150
171
237
228
167
137
121
220
150
205
181
121
250
208
172
176
216
112
239
136
208
187
187
137
168
170
121
178
202
167
124
224
150
112
112
112
150
228
165
182
193
165
165
150
150
150
158
186
170
150
208
207
167
174
205
170
215
172
172
167
198
112
128
255
150
178
152
123
174
172
251
150
115
121
192
208
167
201
208
172
112
150
121
135
171
208
171
172
171
228
177
208
150
123
166
167
150
228
204
202
255
159
136
237
150
205
192
171
171
172
258
194
135
150
205
147
121
205
208
232
112
207
170
232
172
192
147
171
190
167
224
150
170
178
202
172
192
186
252
235
152
167
124
203
194
112
150
112
167
160
170
201
234
150
179
121
176
168
208
171
227
208
150
176
182
112
208
147
228
150
178
160
219
194
235
208
164
150
186
159
177
112
112
112
194
159
112
233
159
150
178
231
265
112
158
139
121
217
170
208
177
170
208
150
150
208
208
167
226
121
121
156
167
167
150
194
208
174
123
208
171
239
194
199
132
212
210
112
150
179
231
206
112
208
150
172
186
167
150
150
172
112
250
258
228
237
121
121
172
172
150
150
217
168
167
181
112
112
136
196
246
212
208
241
123
207
115
123
112
123
123
194
234
112
123
150
175
147
240
144
229
150
302
123
150
172
237
176
186
228
158
217
214
150
112
208
150
145
189
135
172
112
208
196
186
206
121
163
250
150
240
204
156
212
136
219
128
203
135
121
176
198
227
172
203
255
112
170
202
123
195
176
194
212
195
121
150
208
194
195
150
121
121
202
192
208
237
172
211
121
112
172
112
135
235
121
150
181
243
167
237
121
112
172
150
195
194
112
143
121
124
157
187
170
167
112
112
121
150
158
150
186
187
121
121
112
112
123
243
208
150
208
194
150
150
123
176
187
177
186
230
208
152
170
150
194
195
123
150
192
150
112
170
131
192
204
196
181
255
150
167
172
172
121
214
152
150
174
272
192
121
278
147
150
112
171
177
162
228
228
137
167
170
167
112
137
302
121
168
165
112
176
207
167
203
160
158
208
124
174
167
123
121
189
115
194
150
172
217
158
187
210
164
158
208
181
121
181
202
147
210
203
176
235
112
230
250
150
121
170
234
171
150
150
112
203
159
147
218
124
123
165
255
150
124
182
226
112
165
182
186
121
197
112
121
201
160
123
165
121
150
179
121
252
172
186
150
112
150
208
170
187
112
192
115
176
231
121
172
192
165
121
181
172
115
112
164
195
168
208
217
150
136
150
224
121
167
193
176
136
172
201
168
228
121
186
228
208
165
241
112
181
150
112
231
170
137
128
170
121
181
124
112
121
208
115
150
115
156
123
250
121
112
181
226
183
152
225
177
168
172
206
208
225
186
192
217
207
216
115
195
150
207
172
237
164
255
208
165
170
150
167
201
150
135
181
225
123
156
226
150
175
115
150
112
171
121
115
208
112
112
121
202
121
167
112
208
124
189
208
112
182
170
152
147
208
150
150
121
150
208
112
127
208
186
239
164
121
172
112
150
202
150
218
167
167
232
194
150
194
240
167
193
150
247
150
181
215
171
194
150
143
147
137
136
208
170
186
167
164
172
243
209
187
223
112
150
121
167
128
147
177
112
123
130
165
208
147
172
181
167
176
178
206
201
112
112
135
217
164
112
159
124
167
181
210
196
208
182
186
165
195
242
187
228
124
135
208
112
176
112
159
181
193
193
170
219
170
231
170
228
150
178
112
167
121
186
204
172
208
181
202
170
261
170
150
150
186
159
135
150
218
115
228
150
266
239
210
112
171
150
164
201
150
170
159
144
212
194
136
176
135
228
202
124
115
167
137
112
208
232
197
115
112
205
207
240
121
237
193
121
171
121
208
217
112
193
170
121
150
208
121
112
150
283
202
198
259
228
160
172
123
203
115
266
150
208
215
179
187
150
167
186
171
193
193
222
207
165
150
137
257
121
150
177
226
112
150
253
175
112
197
196
203
278
208
172
150
150
172
150
302
250
170
225
171
237
152
159
219
143
112
192
112
210
176
208
231
121
186
208
171
112
207
121
168
150
208
137
208
177
147
250
172
208
123
202
177
152
181
130
233
208
150
194
172
112
164
250
121
159
167
176
121
208
208
167
112
150
205
208
170
165
135
124
158
150
121
150
228
130
195
172
194
112
208
232
112
137
238
204
201
187
250
143
167
159
193
232
174
112
176
147
112
171
136
121
243
170
170
198
150
167
157
164
150
112
150
172
143
172
112
186
150
200
112
150
192
165
121
112
224
208
121
112
203
150
212
194
189
121
167
167
168
193
112
214
164
112
158
208
152
167
194
193
112
121
230
115
237
121
176
171
115
209
205
181
152
181
150
170
112
236
216
168
176
196
210
218
172
209
202
150
112
212
150
257
194
170
150
170
150
137
137
184
150
150
171
186
156
150
201
209
193
172
150
193
150
181
112
202
186
203
170
181
172
146
243
135
150
194
121
165
179
121
123
150
215
121
137
201
171
150
150
172
167
194
167
147
195
121
208
177
121
214
135
170
165
112
135
150
115
203
121
150
121
170
181
227
212
150
171
175
167
205
263
150
150
229
121
167
150
210
211
121
223
172
167
190
124
212
205
208
217
164
206
209
177
164
217
193
124
175
229
240
135
218
265
112
115
181
190
121
231
212
208
238
121
152
128
194
123
150
143
165
147
186
231
189
150
112
208
208
165
208
150
208
123
237
121
172
233
186
244
112
195
242
181
121
181
196
172
202
181
121
181
212
112
261
205
210
243
192
216
213
221
165
165
112
208
171
137
115
112
121
150
167
255
112
121
228
150
233
226
203
112
208
208
181
170
112
177
121
167
233
184
112
167
112
170
186
208
181
150
172
186
121
182
121
121
165
137
302
150
115
186
220
179
203
208
208
231
172
171
206
263
263
170
215
150
194
176
167
229
220
112
237
208
112
243
195
229
150
320
206
147
112
170
150
226
159
187
112
181
208
187
254
206
150
178
112
121
137
112
208
176
181
210
112
112
112
123
187
195
196
210
187
302
135
165
228
121
167
177
194
208
206
150
170
236
214
156
274
204
150
195
150
181
121
121
281
207
123
167
208
112
231
212
121
192
130
150
181
218
150
184
121
219
250
146
158
150
228
193
239
174
150
209
177
208
231
147
194
177
255
121
177
123
171
250
208
217
112
150
121
177
160
150
158
167
112
121
150
158
193
194
187
255
208
150
177
167
137
150
165
115
172
150
150
162
121
218
212
112
186
186
233
170
203
156
175
167
121
186
121
150
276
204
176
203
121
302
171
160
250
187
167
167
152
170
158
156
203
172
226
150
231
226
136
164
173
212
121
171
232
176
181
203
216
187
150
150
150
167
147
208
112
150
159
175
238
194
208
124
164
201
121
121
112
239
121
202
167
123
121
250
203
112
172
121
121
150
150
112
121
208
172
217
228
203
240
203
170
123
228
232
121
195
146
208
112
170
208
156
112
150
115
228
158
189
212
208
171
207
167
208
170
165
121
160
166
217
231
220
150
168
238
121
186
234
112
135
208
172
219
208
150
228
172
226
276
241
135
158
121
219
237
150
175
247
115
208
219
194
216
112
237
197
112
194
160
208
136
135
167
112
160
171
150
160
201
123
150
213
164
170
112
187
156
165
208
275
208
150
135
112
176
208
192
144
194
186
174
186
121
121
168
278
167
152
112
226
167
165
193
112
112
112
228
150
150
211
135
150
217
168
121
210
201
167
136
181
158
208
112
121
172
208
121
167
150
190
245
201
150
130
210
170
150
165
215
112
212
209
202
172
235
167
208
167
123
175
219
167
195
150
112
194
172
150
112
272
231
205
112
207
143
150
170
236
208
225
241
220
182
150
208
193
168
112
150
150
123
121
194
172
136
150
170
150
159
121
238
209
270
167
150
150
192
112
228
172
112
217
170
112
137
137
218
272
207
237
150
121
186
195
212
130
244
172
121
170
146
112
171
172
193
173
174
218
196
181
150
182
228
210
112
121
194
150
112
144
167
208
255
181
220
123
164
170
157
210
121
170
165
177
150
192
240
121
121
150
212
121
186
202
123
250
179
121
112
202
210
195
112
112
175
228
167
217
128
115
150
170
184
210
170
150
195
112
229
187
160
210
123
170
171
147
112
112
130
172
112
171
112
121
176
112
121
156
143
121
165
112
167
147
112
131
235
121
226
115
193
192
171
239
150
214
228
172
172
186
150
179
150
171
192
210
121
112
250
121
186
181
121
121
123
112
174
187
228
233
176
144
112
207
160
171
259
201
186
164
194
170
174
210
121
200
172
170
201
167
158
186
220
181
170
212
219
174
260
150
165
115
124
112
186
121
150
172
195
192
177
181
150
233
258
228
124
123
181
219
150
115
174
176
250
171
202
176
150
212
287
204
156
187
208
152
176
121
121
200
228
121
150
150
150
168
208
135
167
112
112
208
144
192
121
237
176
121
184
135
173
200
112
164
121
192
210
150
112
150
208
204
231
150
121
171
136
170
170
208
203
128
186
150
165
121
208
150
226
184
167
171
192
226
209
171
121
181
278
177
212
112
208
207
174
208
239
167
204
165
121
112
261
123
150
194
150
250
160
135
172
172
121
121
250
135
124
176
121
130
210
237
167
121
112
167
190
209
172
112
268
150
231
112
172
159
208
168
170
231
238
172
164
226
160
170
184
121
250
349
278
190
212
150
172
123
157
176
159
167
193
202
193
170
243
165
150
195
181
112
177
121
177
165
165
264
237
112
112
112
299
250
164
172
172
164
193
112
172
173
167
208
245
214
165
215
187
220
175
195
201
123
150
297
124
225
172
208
257
158
225
150
228
123
243
144
150
170
130
208
137
121
172
233
158
196
220
210
212
115
121
112
262
198
150
121
243
150
198
150
193
150
124
196
167
112
112
112
241
150
112
194
167
170
115
195
150
239
187
187
232
150
157
202
121
112
115
162
208
135
185
112
189
176
131
186
170
210
208
136
147
112
230
150
208
121
239
172
171
175
188
194
167
115
121
165
226
208
136
150
201
205
158
156
121
160
160
112
176
192
121
121
250
220
186
123
112
150
164
236
231
121
112
208
115
167
176
263
239
222
196
158
205
181
212
167
123
112
112
188
172
210
112
115
136
174
239
176
112
121
121
150
150
210
181
172
210
144
135
181
147
121
112
237
193
173
186
150
214
205
112
150
144
150
165
171
112
213
152
251
171
150
176
171
223
112
179
205
195
182
121
144
254
112
181
186
217
164
150
241
158
121
201
170
177
112
121
229
121
167
242
225
150
177
231
170
150
115
167
226
202
150
121
112
146
158
208
161
172
150
179
123
112
228
157
112
136
112
173
218
177
170
167
248
167
202
172
247
172
150
121
207
172
184
150
195
150
167
237
187
228
112
172
164
233
150
121
115
225
123
178
174
150
226
216
170
172
165
150
194
245
112
150
112
112
136
121
168
172
186
210
206
121
112
208
128
130
112
161
121
225
112
164
237
121
170
150
264
219
219
277
186
186
208
115
150
230
152
208
208
112
204
121
121
232
207
112
186
176
208
160
152
170
167
150
123
234
172
172
112
201
121
205
124
208
202
233
121
229
226
128
201
124
214
194
150
150
146
150
150
150
218
176
237
172
194
181
168
195
136
200
112
213
208
200
210
172
150
205
150
152
187
137
167
172
181
193
167
123
121
253
175
228
135
112
150
190
112
112
239
172
150
137
187
225
167
243
243
220
167
226
112
264
193
112
193
230
231
123
135
186
121
232
156
112
171
172
112
150
177
165
229
230
121
123
136
161
150
226
172
210
170
112
150
136
219
143
123
195
237
150
150
172
143
202
275
150
150
208
150
167
210
212
150
170
156
121
218
237
174
215
170
181
150
136
165
171
195
225
192
165
243
230
121
160
172
225
229
121
229
187
176
202
150
112
165
215
150
135
176
128
217
237
112
172
247
112
150
176
112
172
204
206
158
232
176
150
181
112
150
194
184
212
233
170
203
167
219
181
210
208
112
121
208
150
115
243
208
112
115
164
231
171
172
150
276
210
208
124
150
205
150
170
121
121
203
157
172
150
208
121
136
150
228
121
112
170
150
201
121
112
242
172
189
171
172
150
167
200
208
208
121
150
121
147
150
217
121
167
172
182
170
272
112
112
172
150
170
228
211
167
121
208
177
181
165
204
198
194
178
121
124
112
231
195
165
121
112
121
137
194
181
150
172
112
198
172
181
167
115
121
112
172
137
170
196
250
250
201
135
150
167
206
150
181
115
243
112
171
198
190
135
239
112
150
171
208
112
250
207
180
170
112
121
135
165
233
165
168
159
208
150
150
203
112
192
150
115
202
228
150
165
237
171
226
194
121
121
150
171
121
208
211
150
112
135
121
239
150
121
158
115
121
147
208
210
202
112
144
208
165
159
112
185
153
184
202
136
150
121
172
150
170
212
150
171
232
150
121
210
170
135
211
210
150
165
172
229
146
208
157
152
123
147
150
150
174
181
205
121
167
176
123
242
193
255
167
232
150
175
121
203
175
112
171
130
112
223
170
237
150
195
171
179
150
215
208
171
208
167
184
263
170
208
135
176
186
212
172
171
150
136
156
198
170
112
211
287
121
112
210
172
156
174
229
223
231
121
115
112
194
136
121
264
112
121
135
297
232
181
135
212
121
112
112
121
124
228
186
150
208
136
228
150
157
150
195
188
137
232
228
216
123
167
170
112
170
165
112
167
203
150
186
150
181
130
193
243
130
215
150
147
190
214
181
167
170
200
193
237
195
150
171
272
195
156
181
144
181
156
186
232
160
150
150
181
187
202
160
168
171
170
167
186
193
124
168
112
211
112
172
196
150
192
112
123
193
150
112
172
226
130
164
150
170
157
205
150
171
229
121
153
195
181
215
112
170
112
115
121
167
231
150
250
135
172
177
208
123
200
203
176
143
174
123
186
208
197
112
266
150
164
170
167
201
112
121
150
172
137
150
216
276
206
121
197
220
208
208
121
203
147
217
150
171
156
112
203
209
150
260
165
112
150
195
150
112
150
172
194
130
204
153
112
202
216
172
181
150
171
201
186
210
150
121
137
165
179
208
167
167
208
170
210
228
132
208
240
201
150
217
150
167
150
172
150
170
112
179
112
134
137
177
194
159
202
135
112
150
121
115
208
135
209
199
219
208
150
237
175
240
170
196
237
171
112
121
193
229
112
187
170
112
121
196
299
161
171
237
211
121
207
124
187
238
193
193
187
167
150
194
156
121
150
112
135
195
228
186
238
243
171
222
217
269
167
192
115
121
194
167
210
237
171
168
228
171
121
186
210
208
181
168
170
167
112
167
121
150
167
123
165
170
172
167
150
112
115
201
205
121
176
121
187
128
201
150
150
176
172
150
147
211
194
231
150
171
172
232
223
181
172
121
208
228
159
215
150
172
135
265
143
208
192
172
150
123
211
150
174
172
250
112
150
200
181
210
187
174
121
112
121
192
135
171
172
150
202
196
209
210
171
219
152
124
150
171
242
135
231
175
207
181
147
208
228
176
201
164
123
208
201
167
121
228
225
172
112
167
186
220
208
181
158
150
161
123
208
186
186
231
187
112
193
112
175
112
243
172
147
302
197
112
121
121
170
147
150
208
135
231
123
112
137
137
231
160
112
150
195
167
165
192
150
150
181
150
182
254
177
150
302
170
123
121
150
210
176
196
150
171
150
225
302
121
186
115
164
137
112
201
121
165
205
112
186
228
160
208
150
167
115
247
121
150
268
189
194
202
167
143
208
170
135
112
220
177
135
210
192
194
147
193
205
170
172
112
171
165
170
172
121
194
181
164
194
198
270
263
121
112
218
136
121
187
265
193
121
208
150
112
150
167
136
112
165
204
144
171
197
228
205
112
165
212
150
115
121
121
167
167
150
150
178
150
150
172
158
181
150
171
167
175
170
247
195
147
167
214
172
150
152
269
208
174
112
170
172
121
143
121
168
203
147
197
232
137
208
121
250
112
192
112
112
236
159
187
143
123
208
194
159
250
193
112
239
150
150
208
156
187
186
121
143
208
181
165
121
208
165
150
192
237
297
112
194
121
112
123
176
136
121
135
150
172
121
208
220
171
167
124
176
218
150
208
112
150
208
276
213
208
176
137
231
170
135
208
228
150
177
207
229
208
193
181
194
112
212
150
167
240
208
219
150
172
208
172
177
165
121
212
234
189
182
152
220
179
112
257
195
171
150
150
167
220
208
195
186
225
207
164
167
170
168
218
150
124
207
184
177
112
231
112
136
112
250
150
186
202
112
165
204
217
205
208
150
210
201
150
150
237
193
172
167
227
146
207
195
170
170
214
231
112
170
205
112
121
137
112
228
124
233
243
123
205
150
167
216
123
170
135
165
208
237
123
177
176
195
197
135
124
150
159
177
172
167
194
196
208
218
123
121
239
136
147
208
164
181
121
193
121
174
174
213
208
123
135
150
150
123
137
181
172
302
250
112
208
112
121
112
158
112
228
177
171
150
112
150
137
189
264
194
202
170
181
167
276
121
158
213
121
186
216
219
160
150
158
150
210
239
219
207
121
121
208
201
124
115
150
181
255
167
181
220
186
193
172
165
121
165
167
176
186
186
115
230
208
150
159
208
112
157
165
121
231
121
225
236
121
172
208
112
121
177
243
121
121
112
136
136
121
204
231
168
171
187
208
150
162
150
228
176
121
233
121
172
203
192
205
214
228
170
135
121
256
150
150
172
182
208
128
147
167
170
170
284
150
240
170
237
121
136
123
184
217
150
220
150
150
207
112
212
241
181
150
172
158
201
112
176
123
172
255
232
121
189
196
150
250
168
167
128
192
170
143
172
232
201
123
165
192
220
167
130
112
150
135
187
210
246
171
174
150
210
112
150
150
150
121
167
150
150
186
206
112
194
208
208
170
170
157
167
208
121
115
187
123
172
220
176
207
208
136
172
172
181
135
165
174
172
158
167
210
112
121
181
259
198
212
250
194
176
182
218
150
210
150
121
136
179
150
176
171
184
150
210
112
150
186
181
237
123
158
250
172
150
121
165
259
181
112
112
193
156
170
171
172
176
150
213
121
115
159
172
150
112
175
240
214
164
194
177
150
112
112
167
164
204
194
136
150
112
158
167
194
266
112
121
163
172
121
136
112
156
112
259
171
194
231
193
171
217
123
208
165
250
112
193
150
231
199
208
123
165
150
167
121
194
194
257
167
213
172
208
250
150
170
284
121
186
150
171
241
150
121
172
158
208
172
135
239
121
167
167
136
250
172
208
246
150
235
136
218
255
123
172
172
186
112
121
255
170
156
255
208
121
112
170
258
123
156
240
150
172
161
205
208
112
121
158
172
217
202
121
260
210
177
189
147
181
167
156
203
216
165
164
220
257
197
174
203
235
201
228
167
121
121
123
164
121
115
179
112
146
164
181
192
190
171
179
176
121
164
226
165
192
172
150
218
172
147
186
167
124
203
167
170
208
167
170
150
193
112
124
137
112
143
160
181
150
150
135
123
194
211
276
112
172
219
150
150
171
239
193
115
150
167
150
237
112
121
121
188
210
164
150
121
208
205
208
158
150
115
176
159
112
172
228
257
124
158
121
168
255
128
171
112
192
194
171
150
112
112
112
271
172
167
202
201
150
174
208
135
212
167
112
193
216
158
159
150
237
159
203
150
163
171
112
179
121
228
170
121
192
203
121
112
185
147
172
179
150
243
210
150
137
152
213
112
121
115
228
194
202
175
150
152
147
112
150
158
152
150
137
167
174
254
170
165
121
193
203
210
179
181
208
232
208
112
150
150
195
181
208
150
167
150
278
171
158
176
112
167
167
170
150
186
172
121
187
225
121
121
231
135
237
150
208
233
172
171
172
172
317
121
170
201
112
124
168
239
167
136
150
172
115
158
217
186
165
112
121
172
196
196
193
171
217
124
186
165
165
159
227
150
208
171
165
171
186
150
150
137
167
165
135
194
177
175
170
183
150
170
167
121
196
198
115
186
214
112
195
167
167
121
136
218
167
188
210
165
121
150
158
112
187
121
172
170
221
112
272
152
150
181
174
112
150
171
193
112
208
225
137
208
193
208
170
115
112
112
187
186
150
150
257
123
238
150
172
229
197
179
186
228
170
181
178
194
168
208
193
123
136
130
170
208
167
172
237
181
201
112
112
112
150
172
228
212
112
150
208
150
208
181
112
112
172
165
170
226
171
186
121
208
123
201
167
214
159
165
171
123
145
193
208
239
204
176
172
137
240
186
203
112
150
115
176
202
181
112
208
208
228
176
194
128
172
121
242
164
254
278
170
214
210
176
112
139
174
124
121
203
144
160
181
219
112
121
194
112
136
152
167
171
112
196
121
167
239
158
202
228
181
150
123
150
210
203
231
115
232
150
150
147
123
202
212
136
172
137
150
172
174
165
115
181
233
150
167
171
112
208
274
112
112
165
207
195
181
144
179
172
137
171
150
195
128
112
112
177
195
123
203
202
205
170
187
203
158
203
210
150
124
224
150
150
208
123
186
229
181
176
212
130
150
150
123
124
150
112
205
112
202
121
201
223
176
208
167
112
112
121
150
181
170
112
170
226
172
218
150
212
160
167
208
112
252
152
121
165
225
194
233
199
226
150
193
150
121
160
135
194
112
198
239
150
251
170
121
232
158
177
112
170
171
208
213
205
112
172
235
150
194
123
150
208
112
194
165
243
192
112
150
112
112
203
172
143
145
278
165
112
167
202
187
170
186
112
171
150
136
167
181
150
170
165
181
112
210
167
219
112
187
208
121
170
240
115
240
150
160
250
112
121
186
165
207
150
150
171
159
217
229
203
121
121
121
112
123
121
164
195
207
150
162
244
112
157
208
121
150
156
160
208
208
172
170
167
174
208
112
112
112
217
178
172
158
121
176
167
112
150
157
150
167
123
203
212
208
172
182
220
121
150
241
150
202
208
165
150
239
167
176
161
178
194
174
147
217
208
150
189
193
128
172
167
112
171
112
193
164
219
121
150
182
150
150
210
208
167
165
172
150
112
181
170
215
172
112
202
243
181
208
210
135
186
135
156
150
121
302
112
187
172
160
171
240
194
137
115
208
112
115
172
172
186
121
223
137
130
208
172
202
176
150
218
208
112
181
187
193
123
115
175
158
143
172
121
172
194
137
128
257
172
156
150
255
150
181
172
218
203
112
210
172
165
198
137
226
170
265
271
130
195
121
172
192
219
121
228
150
199
170
150
195
150
136
128
112
112
167
229
112
145
123
181
165
171
143
150
152
170
123
112
181
194
229
239
245
164
194
255
250
121
123
121
228
156
150
112
197
158
172
150
164
167
178
228
208
203
172
150
205
176
186
171
220
193
194
170
150
194
112
150
208
112
174
237
208
112
123
276
175
121
200
176
150
150
186
203
239
220
210
172
150
144
136
165
112
237
208
178
158
195
194
208
192
160
172
167
130
112
208
112
150
112
147
167
174
238
175
112
225
112
187
112
208
112
172
150
150
112
121
121
202
150
112
150
199
123
161
194
213
182
170
189
136
167
112
112
181
150
112
202
255
123
158
167
165
160
167
265
215
208
121
121
208
195
172
236
237
233
150
207
195
150
181
150
240
152
282
123
112
121
181
112
265
150
199
167
164
194
276
176
112
182
123
170
112
207
121
223
195
164
178
150
214
121
112
150
204
210
112
130
193
186
175
112
112
177
181
121
162
232
144
175
164
174
112
218
121
121
150
247
208
173
172
112
112
164
198
171
210
212
246
127
152
165
186
181
228
232
171
207
255
136
198
112
172
150
123
115
150
150
112
150
182
181
121
167
208
212
150
112
112
239
217
203
150
172
121
150
208
150
150
165
210
150
112
201
112
208
150
135
167
123
137
208
201
202
150
178
171
150
215
219
150
208
167
150
172
121
112
144
199
264
167
192
112
210
123
200
167
170
150
137
171
241
112
121
164
229
147
208
181
115
121
198
187
193
240
213
194
160
237
150
136
123
150
177
158
150
112
150
128
150
112
128
263
123
136
112
208
112
152
212
177
150
144
170
212
115
190
150
218
208
195
160
165
195
150
226
220
152
121
206
121
210
194
172
121
150
165
194
121
150
150
186
167
170
170
254
208
167
167
147
209
237
208
250
210
239
121
112
186
225
294
222
237
172
121
239
150
171
232
172
150
205
150
233
121
209
176
199
123
193
243
130
150
203
181
136
121
137
150
172
196
124
187
192
275
165
203
208
112
121
217
171
112
187
218
172
208
173
181
174
195
165
121
201
263
208
150
229
194
150
214
150
236
144
112
223
223
172
172
171
164
158
208
167
181
177
179
231
194
112
121
170
165
176
137
159
205
225
172
167
208
275
121
181
208
172
193
150
243
176
176
150
165
177
121
124
150
167
150
112
160
167
157
194
182
171
186
218
238
136
228
112
172
136
170
143
121
175
121
172
112
137
211
196
150
212
170
139
265
159
195
194
150
112
194
159
212
121
158
165
165
167
208
208
167
124
175
170
167
195
189
112
302
208
112
187
189
160
219
171
150
181
150
115
121
213
121
137
150
231
158
220
112
130
165
233
217
238
141
124
228
150
208
128
170
208
136
193
194
152
164
172
150
167
164
124
121
186
112
137
225
207
232
165
208
132
208
194
237
211
208
208
150
208
170
150
218
161
150
157
128
217
250
167
210
112
137
172
170
181
302
194
170
224
187
150
229
124
112
165
237
135
170
172
136
167
168
161
218
150
193
170
171
168
162
167
174
212
112
172
208
150
170
121
170
172
150
172
170
217
136
258
229
177
147
202
112
121
201
177
192
175
194
176
194
137
150
276
219
150
212
121
239
112
216
263
231
150
173
121
194
204
112
177
112
276
155
112
121
159
121
172
130
172
121
121
144
186
128
150
167
180
258
243
167
121
276
205
150
150
226
278
170
121
231
203
159
205
121
167
150
158
195
224
232
240
187
164
112
167
123
121
167
150
203
187
136
263
150
121
200
164
192
202
194
137
239
150
150
165
176
249
174
163
112
260
231
179
187
167
121
123
207
191
144
190
150
121
187
255
210
112
259
168
208
217
150
229
220
186
237
121
170
208
121
174
241
175
152
121
203
202
240
165
250
167
167
150
112
121
160
218
193
176
150
121
112
112
165
217
112
137
186
242
150
112
150
112
201
208
291
207
150
121
200
164
208
172
150
171
216
167
215
210
192
171
123
229
208
137
208
223
240
291
208
172
167
193
121
219
112
226
192
112
214
238
147
239
172
170
121
157
179
186
185
150
209
167
150
112
172
184
219
167
181
135
167
150
136
112
171
136
216
186
121
150
228
173
130
121
186
112
179
224
233
121
171
135
235
231
145
150
177
177
194
172
157
208
124
150
128
226
170
115
121
112
176
218
189
167
112
193
182
215
121
136
202
121
150
171
150
150
121
235
208
226
207
177
186
194
150
170
150
152
181
156
170
115
208
112
174
112
236
112
171
137
170
150
150
150
160
150
220
210
237
115
171
167
206
145
216
112
121
112
112
168
171
159
165
173
228
210
187
201
112
150
158
175
172
165
202
194
192
253
181
137
172
123
124
302
187
174
112
194
128
195
156
150
174
112
253
238
137
237
208
137
302
165
172
208
150
217
176
187
255
147
203
171
147
176
208
131
170
115
112
171
208
198
177
112
121
202
170
176
121
150
217
170
208
112
121
112
150
150
167
170
150
174
278
211
297
171
164
112
121
112
128
175
279
150
186
121
167
150
203
214
150
112
172
228
136
228
201
135
165
267
199
167
112
195
181
181
229
112
194
259
150
198
150
112
198
210
255
168
152
201
208
139
112
167
150
194
167
171
172
208
159
185
167
121
121
112
217
156
158
170
225
203
203
112
208
150
281
121
257
172
172
174
150
237
168
170
214
150
193
273
121
228
233
112
121
112
171
172
177
176
202
121
135
218
135
171
158
112
210
204
135
150
174
150
112
121
121
121
197
189
192
203
150
112
115
150
172
172
223
172
190
150
203
187
194
186
121
121
156
208
150
165
223
175
217
164
172
189
121
112
177
150
137
172
135
136
201
201
222
171
150
207
165
228
276
258
181
208
192
176
121
187
158
167
226
250
192
193
123
225
165
160
250
121
146
172
226
208
165
208
150
112
186
211
254
170
171
195
130
231
176
165
112
112
195
172
197
121
112
170
203
258
237
136
243
201
165
215
187
150
201
202
196
150
156
112
217
171
171
214
112
194
208
112
121
237
188
208
193
123
150
194
210
216
112
147
173
150
112
121
123
172
157
197
167
203
150
150
210
187
112
223
255
150
222
215
224
165
123
150
191
187
121
147
173
184
150
150
225
255
220
164
136
181
260
123
158
172
121
115
147
255
208
296
112
186
167
167
247
112
160
220
196
112
259
230
208
171
112
172
171
121
121
150
171
194
150
123
208
220
150
123
207
170
160
121
112
112
195
167
194
278
208
150
181
172
112
208
171
121
245
182
205
208
121
195
207
176
200
193
170
115
170
208
170
194
170
172
172
299
135
182
121
203
226
237
147
170
193
174
232
167
135
201
150
195
231
112
112
112
208
272
121
147
172
181
112
115
159
150
167
172
193
208
194
112
112
123
176
250
170
112
121
208
226
170
208
112
172
135
181
167
121
194
121
214
112
150
143
237
188
121
167
179
181
228
250
167
194
182
121
212
171
167
171
115
123
121
193
193
112
156
215
186
181
165
150
165
250
228
194
201
123
187
150
150
172
121
147
239
219
172
225
167
170
112
150
150
150
167
158
203
165
242
165
150
208
170
172
143
158
176
208
115
208
150
212
171
150
150
150
159
208
284
150
167
202
150
186
112
150
205
121
201
152
172
115
172
219
252
236
112
152
150
136
172
135
208
187
208
150
231
239
239
176
275
170
187
241
112
179
112
201
121
150
218
212
112
121
115
165
121
193
150
171
150
212
150
200
280
112
121
257
165
124
198
160
165
208
208
172
172
165
170
167
181
159
178
181
160
187
176
186
137
208
112
187
171
172
159
172
167
208
121
219
121
170
121
121
230
225
150
123
181
150
208
147
136
150
164
208
223
150
181
170
219
123
171
278
179
150
228
176
212
137
121
194
195
165
187
208
176
218
174
112
184
228
128
276
170
121
150
208
150
112
121
202
167
186
121
150
150
150
135
186
192
160
137
181
181
194
112
255
130
123
121
112
121
171
207
150
197
225
124
194
245
160
208
150
210
112
135
170
194
159
193
203
168
123
112
112
135
172
121
177
208
167
182
121
112
112
203
121
187
198
124
228
176
158
202
208
171
121
158
196
194
150
146
115
210
172
216
170
189
159
196
121
250
211
123
203
150
112
176
144
263
112
150
115
194
287
172
150
112
170
194
255
171
172
147
203
242
124
187
203
115
181
121
226
121
112
178
195
121
171
195
175
181
219
121
112
228
170
220
170
236
170
112
147
112
150
210
210
170
167
152
186
230
194
112
123
123
232
167
208
150
121
136
235
136
208
230
112
302
192
167
130
172
112
219
165
189
228
170
174
112
193
195
130
150
190
137
238
261
121
121
173
215
175
121
171
150
112
170
165
159
208
201
176
115
112
112
170
181
217
290
225
147
144
201
150
150
146
121
217
121
193
177
158
121
150
208
150
165
175
172
187
167
187
171
208
167
229
172
277
177
160
167
172
186
231
170
192
216
147
158
176
171
150
115
211
159
124
115
181
172
121
112
208
179
181
158
150
121
208
158
176
188
150
195
210
167
150
195
150
143
216
208
135
124
159
112
135
121
202
112
171
112
165
112
187
186
150
167
112
215
171
202
127
165
217
121
167
121
212
181
121
264
235
243
208
150
150
176
227
121
136
112
162
165
167
162
150
144
179
214
181
186
170
162
187
165
156
172
208
164
164
170
174
136
190
139
208
150
150
147
170
150
150
202
202
150
150
137
172
167
181
186
147
204
186
193
165
112
170
112
229
172
150
136
121
228
172
167
177
228
208
164
203
124
160
170
121
171
212
187
150
112
177
150
112
150
123
205
187
112
233
143
150
121
150
208
172
165
208
201
112
150
121
158
172
188
231
150
115
208
192
176
172
217
202
171
205
237
150
150
170
136
150
208
112
208
209
174
208
170
186
211
121
171
112
121
150
217
136
237
239
205
195
171
255
228
112
194
121
112
150
156
238
192
167
208
208
208
135
220
115
186
158
220
112
150
208
165
121
112
202
168
194
172
152
225
272
195
193
231
264
170
228
159
236
176
174
179
217
121
165
170
186
212
112
172
182
123
192
171
186
167
158
172
112
156
112
208
159
172
121
167
265
193
135
193
189
226
243
112
159
112
194
208
152
112
112
168
115
128
147
121
172
136
192
172
150
170
205
171
170
112
176
150
170
207
208
150
167
150
242
123
167
160
112
174
172
170
225
237
150
228
193
124
172
181
201
177
276
210
218
225
201
121
147
150
150
171
147
172
170
165
194
209
123
176
192
150
150
167
207
250
157
194
202
172
193
176
172
229
112
123
155
171
171
238
147
208
191
192
160
150
112
276
112
135
112
223
203
228
208
112
226
172
137
177
194
128
213
181
121
165
263
165
233
170
170
137
123
164
177
176
171
112
210
170
150
115
195
220
237
177
112
152
121
137
228
193
165
208
150
150
150
179
194
230
112
112
181
241
152
136
243
186
201
124
143
208
121
121
177
165
164
135
121
150
187
121
128
123
214
250
210
276
172
164
121
150
121
121
208
165
144
112
200
202
194
121
135
195
121
112
165
234
231
220
171
158
181
112
281
124
152
170
121
158
218
235
250
171
159
202
171
190
137
208
128
164
195
193
192
167
171
239
189
167
259
150
194
187
210
136
112
220
150
167
123
121
121
135
202
137
176
172
121
121
167
124
208
156
205
123
150
194
208
121
123
150
172
121
167
124
208
150
203
201
194
150
150
208
238
167
186
172
136
121
199
179
186
112
150
182
121
112
152
219
150
112
165
143
121
121
123
115
150
171
186
220
112
208
165
172
208
239
174
181
203
152
193
208
136
193
121
137
168
150
156
165
176
171
220
136
150
121
194
176
193
150
172
168
194
183
150
150
225
227
150
212
143
171
150
170
193
171
229
172
238
177
150
170
219
168
208
259
121
170
208
121
112
135
147
165
170
164
212
130
181
171
167
186
150
152
244
121
205
167
202
167
123
167
170
172
232
239
208
170
112
167
158
112
174
171
136
121
121
115
112
165
208
112
167
121
135
123
121
124
157
225
160
181
121
184
121
123
228
150
181
275
131
112
150
115
171
177
208
135
187
176
115
267
219
187
202
172
150
243
212
112
217
179
150
257
185
177
144
121
150
121
152
228
245
164
123
188
150
176
164
187
121
223
124
181
219
121
165
165
147
121
186
204
112
195
167
121
241
112
212
193
112
171
181
196
150
135
150
150
206
210
231
112
171
156
207
171
143
225
228
181
176
209
167
170
165
121
186
170
195
193
238
112
192
171
176
167
194
208
123
167
165
205
193
263
123
243
217
150
164
150
208
150
162
150
235
159
202
223
150
265
182
115
150
175
143
150
115
167
178
121
137
121
176
174
123
186
121
187
136
205
121
150
150
208
181
112
169
231
150
219
172
160
181
206
195
226
167
121
150
236
237
164
112
123
193
167
150
205
193
150
150
150
115
198
243
207
220
121
144
121
208
174
240
167
150
220
121
128
170
135
199
172
150
164
210
136
208
228
121
170
203
167
124
172
231
121
150
172
208
135
181
150
182
172
150
181
150
150
112
123
150
177
189
172
150
137
203
150
172
150
232
167
172
135
167
158
112
219
202
121
206
150
208
170
187
217
172
239
170
115
194
229
135
147
150
170
152
164
220
165
112
193
219
186
246
164
121
197
170
206
171
150
175
150
177
144
112
137
170
112
212
181
112
112
139
227
203
171
150
264
176
176
232
208
176
219
150
201
206
242
172
195
121
194
170
121
256
233
171
172
208
244
167
164
172
208
154
192
115
255
215
174
112
228
237
172
208
210
123
136
208
121
150
121
147
121
305
227
150
115
123
112
231
243
121
224
112
170
112
150
121
150
181
238
208
112
201
121
172
112
137
239
112
203
223
219
213
136
161
135
150
112
112
228
229
237
206
187
208
208
130
201
121
231
176
229
187
121
194
186
124
167
159
172
167
172
112
206
152
208
207
121
137
225
232
210
150
170
157
165
243
274
210
193
112
150
171
150
233
176
168
194
186
202
172
207
202
150
186
229
255
121
177
112
170
150
112
150
146
152
195
174
186
150
172
121
197
150
147
259
112
195
150
237
150
215
186
176
123
237
177
211
208
186
112
228
112
147
255
121
208
121
228
150
112
229
177
150
165
121
150
163
150
165
112
135
121
150
176
121
208
150
240
174
226
137
237
221
229
220
208
159
136
150
112
181
152
171
201
181
150
158
112
112
112
167
228
150
243
172
201
231
121
150
147
124
150
121
186
156
229
167
203
208
121
193
230
139
176
150
160
174
170
208
242
121
207
150
150
263
171
198
173
170
121
150
172
181
176
112
167
152
143
167
171
228
172
123
208
158
121
150
172
236
171
165
121
121
159
150
123
167
185
170
168
121
167
181
170
230
170
171
212
217
228
112
240
245
174
115
208
202
156
160
200
237
147
172
210
172
208
150
212
115
167
144
235
237
167
208
136
167
158
128
165
112
194
250
187
172
175
172
228
208
178
160
150
164
171
121
205
158
158
150
239
150
150
170
181
176
112
231
121
210
139
150
150
121
247
171
135
112
237
128
170
150
137
193
130
165
135
170
115
214
186
177
164
158
230
143
240
150
112
181
208
112
121
124
112
123
172
156
179
150
240
150
123
136
167
194
228
135
226
217
121
172
193
170
172
218
186
112
150
276
150
112
160
208
135
150
227
112
186
220
112
210
121
171
168
121
112
225
189
212
112
279
193
136
178
145
212
112
170
115
123
150
208
157
195
174
150
189
223
157
266
123
170
231
156
165
121
202
147
112
136
179
179
167
219
167
165
182
208
112
226
121
234
164
212
121
135
121
112
201
194
167
159
171
217
187
210
121
276
185
121
159
158
164
194
172
210
184
150
121
194
121
112
210
229
171
208
194
181
121
112
239
208
160
158
112
135
241
208
225
172
124
121
121
176
150
174
147
150
150
215
194
167
218
237
121
172
112
167
208
121
112
150
112
112
170
170
156
202
130
135
208
115
150
194
158
174
228
226
150
121
230
209
144
241
215
112
177
194
216
168
150
170
150
152
186
164
165
150
189
174
220
150
150
208
181
228
170
121
204
192
170
208
226
121
194
207
143
165
210
195
212
187
112
123
201
170
184
150
252
208
211
208
176
212
170
226
136
121
212
245
147
255
228
150
121
230
186
196
143
208
171
137
170
150
165
159
167
227
170
228
112
121
150
173
194
160
208
147
192
208
195
137
130
172
194
172
112
150
216
208
167
160
112
226
150
225
213
121
150
184
150
121
212
167
150
150
203
160
150
192
172
121
184
217
150
147
212
150
123
165
112
231
211
257
172
193
216
217
208
165
150
112
137
181
172
226
167
194
123
302
112
112
184
202
196
112
177
167
171
225
147
240
123
115
167
170
150
171
150
172
167
205
115
121
220
184
172
135
159
150
207
158
135
112
150
115
208
112
187
174
220
168
121
184
150
121
165
112
212
239
195
186
165
172
229
112
186
167
121
112
186
123
158
150
160
170
207
239
150
170
227
147
239
181
150
172
167
164
164
150
208
156
242
201
202
124
121
112
150
181
208
150
168
186
208
208
158
167
176
194
195
203
172
219
112
156
174
112
228
147
165
198
123
167
217
201
136
112
225
199
160
121
167
112
156
150
150
173
112
150
123
121
165
202
150
144
121
150
165
160
186
176
237
112
135
115
181
241
150
150
175
174
276
202
189
186
121
171
150
208
243
225
150
233
228
123
297
159
184
165
177
121
181
186
198
230
192
150
239
175
112
237
150
150
172
209
135
217
136
203
181
172
172
205
135
196
180
123
193
137
130
150
112
172
174
135
158
177
176
165
115
236
195
176
167
208
165
194
208
175
150
150
164
167
187
147
201
160
167
201
112
249
170
112
170
172
136
186
121
143
302
172
202
208
157
177
112
115
208
208
167
137
165
175
228
150
112
210
186
150
121
250
176
150
176
203
165
240
121
209
112
176
157
150
208
235
175
214
150
206
179
208
147
165
201
233
206
150
150
167
239
183
121
194
137
150
180
185
115
112
228
150
228
112
123
156
121
165
167
167
172
150
163
112
115
112
121
135
237
150
167
208
123
112
212
139
124
150
150
196
192
258
189
208
150
179
228
194
218
165
192
214
180
187
168
150
175
228
137
179
143
167
208
144
167
203
128
160
208
157
237
172
165
156
167
203
194
150
158
121
242
123
121
208
150
150
150
121
137
209
194
177
121
208
160
150
112
278
194
203
121
185
261
193
112
208
195
237
160
150
168
153
208
172
168
158
150
135
170
179
229
186
121
187
263
172
181
187
121
123
226
170
121
123
115
215
194
208
208
121
172
150
163
152
121
164
112
177
187
150
208
178
121
181
171
181
121
161
203
173
150
203
174
209
235
172
192
220
220
150
123
150
147
112
302
150
186
165
121
150
225
150
176
207
184
128
196
145
150
112
146
150
228
150
235
208
195
172
112
170
181
112
172
150
218
124
150
112
196
123
121
112
121
171
205
213
171
112
112
115
185
139
195
170
183
172
150
228
112
115
150
175
150
261
181
172
184
231
121
112
112
193
206
181
147
208
150
131
217
212
203
202
121
172
187
123
112
208
121
181
202
212
112
201
193
136
123
172
161
150
112
220
121
171
123
172
135
150
302
112
121
167
150
172
195
189
150
230
167
150
170
223
210
158
228
181
150
112
112
181
228
164
135
243
220
194
165
112
137
181
210
167
150
212
112
165
143
194
208
150
250
172
167
167
177
171
194
195
172
175
112
201
112
218
276
208
150
193
115
137
208
147
270
233
150
240
229
186
203
237
194
253
167
208
150
236
135
165
150
172
187
112
208
112
137
170
172
170
220
194
239
170
208
121
167
150
150
170
201
193
112
160
112
150
194
208
225
187
172
121
172
150
218
208
202
112
178
193
194
194
136
135
170
150
121
208
112
231
121
182
150
208
204
121
150
228
136
194
164
208
123
196
121
208
208
112
121
165
208
201
171
112
121
168
233
205
175
163
115
121
203
203
208
172
208
194
150
208
121
210
187
121
174
237
177
195
152
157
112
150
226
302
112
165
246
160
170
150
147
121
186
229
121
188
194
239
162
187
194
123
112
150
212
176
172
112
112
147
208
247
147
181
212
203
121
121
123
177
203
203
150
171
171
112
150
112
202
208
181
171
143
165
147
112
258
124
112
137
150
123
212
246
167
171
225
212
144
237
172
147
224
121
202
160
174
171
150
170
167
229
155
150
121
150
121
182
212
202
150
112
164
231
172
172
228
165
228
208
228
203
193
112
121
239
143
172
232
121
112
196
195
208
123
123
220
202
150
171
208
121
170
172
159
202
210
186
176
171
162
112
171
174
194
208
214
176
189
193
150
215
137
192
205
171
167
112
185
160
226
194
226
150
135
194
178
220
147
172
203
137
135
213
207
187
143
240
150
112
150
121
123
121
121
121
187
219
112
172
147
170
239
112
208
192
244
208
121
150
228
226
172
240
194
121
121
150
123
172
135
121
177
194
171
202
208
135
123
189
208
276
208
167
150
115
234
225
203
172
150
164
121
112
196
186
228
232
165
170
172
194
112
150
172
223
207
181
158
171
157
165
172
170
202
227
150
176
217
225
115
212
172
112
150
121
231
172
112
112
112
194
121
167
124
112
115
194
171
286
139
201
165
124
204
150
195
238
237
176
194
115
228
206
172
150
172
208
112
257
187
147
208
153
121
150
274
174
186
171
112
168
239
121
165
231
203
170
228
210
243
195
112
112
112
203
181
112
123
178
203
241
156
147
195
170
172
150
219
137
172
228
115
150
175
170
170
219
121
239
136
170
171
115
167
150
164
265
232
170
112
150
172
195
228
231
123
225
137
186
187
172
170
177
121
181
237
121
171
150
137
137
202
202
182
202
209
121
150
238
237
167
156
150
203
112
150
136
208
203
171
112
150
121
112
150
135
208
121
205
147
301
128
195
231
136
112
208
202
137
150
217
160
241
210
232
155
203
121
112
112
176
210
195
167
208
130
228
228
208
156
176
121
167
172
150
292
172
121
124
193
121
150
137
280
112
150
202
161
121
208
228
130
150
176
135
168
190
194
124
208
171
150
179
112
212
121
167
115
208
250
112
195
167
150
231
207
181
181
137
237
112
150
219
112
276
165
186
112
219
165
170
257
150
115
167
201
150
123
112
171
201
137
208
150
167
228
167
112
135
241
170
171
150
121
232
172
201
235
150
194
201
121
175
152
207
177
222
218
121
112
228
115
210
121
147
212
121
137
172
112
150
152
176
186
176
168
150
150
226
172
195
181
167
181
147
208
147
208
177
143
158
112
112
172
121
150
171
121
150
202
228
112
223
165
137
115
112
208
150
121
203
186
115
184
221
250
199
214
187
150
255
172
170
112
112
170
150
150
121
208
208
162
172
165
272
112
150
150
172
198
192
181
112
201
240
135
178
121
150
137
208
182
150
181
229
237
136
112
130
112
150
115
124
130
167
159
124
121
165
208
112
112
165
121
208
164
150
211
167
170
181
236
112
170
167
195
216
174
171
172
186
112
208
208
167
226
186
207
131
150
181
121
150
172
135
171
229
207
208
135
189
112
212
112
246
220
181
210
226
192
196
130
170
212
228
177
202
112
219
181
259
150
177
165
263
150
186
121
174
167
121
121
115
219
150
150
115
181
194
170
178
168
194
121
228
115
170
201
177
263
121
121
263
159
150
156
193
112
203
123
194
192
210
177
187
199
172
181
193
204
121
178
228
167
278
121
112
123
147
171
124
123
135
231
193
173
242
208
208
136
220
232
150
206
171
187
171
150
150
121
208
172
176
208
172
177
150
208
112
208
261
123
112
150
112
256
220
192
196
112
158
225
112
199
147
172
150
171
121
200
165
112
210
150
220
170
135
150
164
165
229
150
150
121
194
152
219
177
150
194
208
112
150
265
218
208
208
121
175
208
112
186
150
208
150
177
165
196
170
123
212
236
161
171
229
201
208
208
208
228
240
166
231
208
176
124
164
192
124
136
112
208
112
223
150
203
121
143
203
171
228
174
181
112
225
202
201
170
245
170
115
137
112
228
128
150
135
150
208
115
121
176
147
136
228
167
147
172
158
236
168
150
261
237
167
194
194
167
124
210
167
150
187
150
240
121
150
135
208
176
123
112
208
170
112
176
130
172
170
204
150
181
218
186
255
175
171
174
137
170
137
172
185
152
137
150
112
208
206
124
123
228
194
159
150
208
212
136
158
121
150
208
172
112
193
179
215
182
165
112
157
210
121
112
150
121
150
176
147
165
238
143
147
209
172
186
193
194
136
121
228
207
202
167
176
150
225
150
136
150
217
172
176
202
160
150
167
112
202
123
165
210
156
194
112
228
112
202
228
171
112
258
150
150
228
112
158
279
150
150
178
178
150
121
121
212
115
194
112
214
200
143
160
147
175
150
167
263
167
152
112
121
195
193
164
167
220
276
174
156
172
211
250
121
147
171
165
121
121
167
147
193
121
121
186
150
159
128
121
206
265
193
112
112
228
214
123
172
231
203
208
150
123
172
112
123
194
170
208
137
150
112
146
191
203
150
150
175
112
187
302
176
158
112
170
121
182
241
150
135
121
170
130
150
112
174
121
150
212
160
194
227
137
150
150
194
121
115
203
276
112
195
247
121
192
193
112
152
176
172
150
212
121
167
137
176
208
205
328
112
121
172
112
172
150
150
171
167
181
235
157
181
128
112
208
137
174
232
171
160
172
172
150
112
172
172
201
210
172
165
176
234
121
150
135
208
112
121
121
260
121
112
170
170
147
175
167
121
231
233
167
196
168
171
181
150
150
164
181
208
176
150
239
226
208
184
195
196
187
177
121
172
213
170
255
170
170
186
202
168
147
115
187
121
225
172
187
150
214
121
202
112
167
150
210
165
208
202
159
187
275
121
150
170
181
150
121
137
208
121
167
150
115
170
195
200
112
121
202
210
144
208
121
167
150
244
208
170
167
211
150
150
121
220
176
150
121
175
137
164
172
167
121
150
112
195
192
112
239
171
240
135
121
201
170
263
150
208
112
167
112
179
219
232
181
203
192
150
172
186
150
167
150
159
115
112
201
112
229
208
112
189
124
209
170
137
112
121
136
195
135
237
228
198
135
195
150
121
177
212
150
158
164
165
112
186
121
128
124
192
150
186
242
112
250
168
170
207
171
174
171
201
137
121
171
236
208
150
181
276
229
164
187
210
279
181
208
193
174
210
206
121
168
237
167
112
194
208
112
166
178
177
278
121
150
279
217
181
147
210
208
181
208
171
174
158
192
171
150
121
229
123
170
121
165
179
121
170
276
112
112
204
150
121
228
224
158
218
121
231
150
217
143
165
172
172
234
194
168
167
121
187
235
165
147
121
121
150
121
207
112
137
183
150
170
167
168
233
160
150
121
112
112
192
150
194
255
181
115
235
284
217
167
170
121
121
208
208
172
228
121
156
176
150
112
181
156
175
172
194
121
233
130
254
150
137
121
228
167
194
181
164
121
136
150
123
210
160
143
172
225
210
187
115
150
175
208
225
170
112
167
124
262
121
123
150
210
121
208
210
211
241
233
208
263
194
219
194
121
228
177
165
243
170
150
199
112
206
186
150
226
172
150
121
181
171
112
164
239
112
255
176
179
121
150
112
288
165
150
171
112
201
205
150
231
250
167
208
150
229
170
178
157
123
146
136
217
121
130
130
121
121
115
170
246
172
121
112
237
212
186
121
311
239
112
181
158
150
150
193
187
150
112
219
211
186
147
130
112
112
150
135
172
167
137
112
143
172
171
158
228
112
112
182
170
216
112
171
135
243
123
136
112
165
146
136
189
115
124
112
170
123
112
208
218
172
143
170
240
192
236
194
150
203
193
121
170
136
228
205
225
147
171
112
112
176
195
162
179
159
150
172
203
137
214
121
176
172
205
194
170
121
136
203
265
162
130
245
112
207
192
150
144
168
167
150
171
193
193
238
121
218
167
130
150
130
174
159
172
150
231
156
165
187
137
172
186
199
128
150
121
112
204
237
150
170
121
176
247
150
150
164
156
187
112
178
124
174
171
112
170
150
217
215
195
158
135
115
112
112
144
181
112
121
184
112
167
112
170
137
184
210
170
226
217
144
170
121
229
171
159
194
150
208
192
112
123
158
172
225
241
210
231
194
123
172
186
218
147
156
150
237
260
226
150
124
143
137
192
167
181
171
203
170
199
263
156
115
181
171
208
172
228
181
176
136
175
121
192
201
237
208
206
150
171
161
112
173
171
112
212
205
186
123
206
195
228
147
158
175
147
150
135
212
137
239
198
121
115
170
181
155
174
194
207
137
121
137
161
220
250
112
201
219
232
202
195
152
170
112
112
174
302
136
112
172
121
165
158
165
115
177
187
170
150
203
192
208
208
112
135
150
349
121
112
150
212
150
229
218
177
175
172
208
205
170
123
172
159
121
208
206
121
170
208
289
208
136
196
150
208
208
200
224
212
156
150
172
167
207
192
112
112
196
135
168
170
210
195
167
172
172
177
257
172
167
186
167
121
172
194
171
130
167
193
195
167
213
136
213
167
179
171
121
170
112
158
158
167
226
175
194
121
150
158
165
121
150
228
150
112
202
186
217
225
210
194
193
208
184
156
171
208
171
160
205
112
135
223
123
150
181
112
121
170
220
144
210
302
121
165
220
170
150
172
209
167
193
174
170
147
172
237
211
165
161
167
171
150
130
228
179
121
161
123
219
211
121
146
220
172
181
121
179
175
176
150
160
137
167
112
208
137
177
272
202
226
112
112
164
202
115
210
177
208
167
150
167
170
144
195
206
184
225
112
170
165
167
186
112
210
202
112
172
187
220
152
194
170
208
257
228
206
232
208
112
112
170
202
190
121
112
172
243
272
115
202
150
182
150
167
208
160
233
137
225
208
201
171
150
250
123
278
187
208
150
198
231
112
250
195
159
150
167
186
210
150
172
226
208
186
150
263
123
123
172
121
196
150
215
177
112
211
167
150
167
172
150
167
112
203
112
121
208
150
156
194
121
150
112
130
150
239
170
121
123
201
147
123
231
112
171
187
121
219
210
178
172
121
174
187
150
165
202
171
210
208
176
187
193
225
181
232
207
210
170
302
210
237
212
136
166
263
171
121
160
217
237
135
147
121
123
150
121
121
115
208
163
176
184
220
150
135
181
121
208
228
208
201
228
196
121
121
228
160
121
112
268
168
189
150
112
172
181
237
121
150
172
112
237
202
216
150
198
150
167
181
193
150
208
124
112
195
242
112
212
174
121
190
121
195
150
167
216
167
121
175
150
152
165
150
195
121
160
121
112
150
229
112
172
181
112
130
192
147
167
172
167
150
144
172
150
150
143
150
255
219
150
112
208
165
167
115
112
186
152
231
195
152
128
170
208
131
208
165
177
170
136
112
121
115
112
112
172
185
112
228
194
123
150
112
136
150
208
208
112
243
208
121
167
193
112
121
237
150
203
172
143
150
143
176
112
186
302
187
172
237
220
135
130
193
112
212
167
208
150
231
168
208
160
228
237
177
177
121
228
150
184
237
150
112
228
208
181
172
223
235
135
121
135
171
112
176
150
121
241
150
245
156
189
165
181
150
237
212
159
121
170
240
230
232
180
202
171
115
216
164
121
179
170
186
136
137
181
128
234
167
202
121
112
170
172
115
150
208
150
170
171
194
112
174
236
215
195
150
150
210
147
229
186
121
165
281
232
150
201
205
112
235
121
152
172
278
112
150
189
121
112
168
255
186
218
172
159
160
112
195
123
167
172
150
121
135
161
302
209
170
196
276
112
174
112
175
230
121
194
112
255
172
121
276
137
167
232
121
112
150
212
147
208
150
150
198
208
158
171
160
135
146
112
167
237
172
201
229
236
170
210
130
165
272
156
150
164
297
150
150
257
182
211
174
176
150
207
112
208
189
166
167
186
150
121
150
150
135
231
181
112
222
254
198
150
172
137
208
181
195
174
164
201
167
172
212
172
208
150
147
201
121
177
150
112
171
167
195
158
219
135
112
150
130
203
137
250
167
208
137
172
167
112
136
171
196
208
167
249
172
201
112
237
150
112
143
152
175
168
187
187
232
240
250
121
181
175
186
171
201
135
229
203
239
112
250
150
208
175
203
200
123
186
150
191
159
150
171
172
147
203
112
244
234
171
172
172
150
150
258
216
226
171
170
112
123
115
172
150
228
112
112
209
208
208
150
156
112
150
231
186
187
244
150
206
186
203
217
225
171
150
201
167
181
176
128
136
150
171
172
237
237
112
265
167
186
171
181
231
150
228
112
112
147
136
150
202
112
216
123
150
193
172
172
135
147
112
239
112
201
229
250
196
150
170
212
212
217
171
168
163
121
225
202
201
176
186
220
176
189
174
121
112
193
176
158
172
160
158
150
218
208
172
164
270
147
232
167
236
112
123
212
228
135
202
224
121
219
121
112
171
150
172
121
150
218
171
165
150
167
112
150
226
215
202
194
121
150
174
219
121
170
263
193
205
194
174
150
112
171
165
150
238
208
150
208
162
112
112
171
121
159
219
226
130
208
181
121
167
178
147
186
184
170
194
170
147
237
191
225
208
189
112
187
234
150
158
195
137
150
156
150
150
136
123
176
208
207
152
167
112
170
181
186
233
208
202
174
135
176
157
121
121
112
137
187
187
159
176
187
210
121
112
186
167
135
143
112
212
278
137
150
167
132
123
137
159
112
150
167
170
150
137
184
177
187
150
159
163
124
137
121
150
112
219
150
158
152
254
208
112
162
128
246
193
193
121
190
214
215
150
203
179
218
171
174
172
186
194
206
112
208
237
121
174
150
208
208
121
187
228
172
150
121
226
195
165
121
205
186
240
121
112
208
167
124
121
208
201
210
121
121
150
121
202
212
112
123
194
121
150
218
187
121
112
279
170
167
255
112
233
194
135
124
172
156
121
143
165
121
172
230
170
165
144
196
161
208
168
150
150
302
228
196
172
150
112
177
170
208
112
123
181
176
123
150
135
202
112
217
215
243
186
150
208
150
165
171
305
176
174
159
112
231
210
130
150
121
208
194
139
150
228
112
150
172
176
123
150
208
167
150
137
165
165
112
172
115
189
135
158
229
254
121
152
219
112
204
112
150
172
112
255
212
170
115
167
175
150
193
135
208
115
123
167
162
165
198
121
152
112
255
150
123
172
150
135
201
121
170
174
121
208
150
112
166
243
199
150
130
219
123
170
165
136
112
150
237
167
156
202
137
112
194
150
208
136
121
182
112
214
203
123
176
206
146
128
170
176
167
150
193
268
176
150
192
112
195
209
208
152
150
243
150
265
208
123
278
156
201
171
135
112
170
161
150
168
253
112
200
216
208
159
150
150
112
181
228
194
243
187
147
137
186
170
124
171
208
208
237
150
136
202
150
266
208
181
112
115
121
176
208
128
195
203
150
121
171
241
112
236
150
181
121
208
167
150
150
208
187
112
231
150
171
167
115
186
150
167
123
167
112
172
167
225
218
130
241
171
112
112
156
205
150
171
150
231
194
135
175
239
184
225
233
167
112
123
175
231
211
207
199
172
206
267
215
174
226
172
112
201
165
208
147
208
176
198
150
208
185
165
150
172
192
152
177
208
170
135
238
186
135
198
136
250
150
233
176
201
302
121
208
212
167
112
150
135
215
207
194
121
112
171
112
137
112
112
150
112
121
150
150
184
220
150
194
167
124
150
208
237
167
203
228
170
181
240
175
121
121
121
170
172
208
167
178
170
123
258
147
212
150
203
208
195
205
158
208
121
205
186
135
161
186
121
112
171
121
208
156
228
112
168
112
112
164
174
181
194
112
137
212
195
112
112
167
193
263
164
205
123
150
181
172
195
231
195
160
159
167
150
156
190
167
174
208
219
112
170
167
150
229
193
121
229
150
123
208
137
208
160
115
150
150
263
181
187
121
150
170
212
228
170
184
150
224
112
156
225
195
228
170
195
121
115
172
220
112
112
137
172
163
121
146
150
112
135
136
226
212
208
219
170
123
150
233
123
181
186
202
208
150
225
159
250
208
150
193
245
124
172
210
164
165
123
164
177
239
219
250
150
174
171
270
194
150
172
192
202
147
208
167
152
150
192
121
302
194
184
176
210
171
244
177
150
172
230
164
237
212
164
228
150
121
121
150
172
112
121
236
233
163
128
150
159
150
167
158
227
112
172
227
237
112
219
135
121
205
170
212
112
250
257
201
135
121
135
136
150
226
165
121
172
171
147
112
276
174
184
203
147
121
174
243
218
194
170
150
112
121
177
112
131
218
137
146
192
176
112
276
172
121
201
263
201
172
171
136
220
208
112
207
208
123
112
187
112
135
112
121
167
115
164
150
208
193
261
233
171
172
204
194
229
241
123
168
194
150
237
193
115
176
189
208
150
233
232
194
217
112
165
196
208
121
253
175
112
174
164
156
172
193
203
121
150
165
150
150
165
161
208
112
171
165
121
240
225
208
189
177
115
150
208
112
237
237
176
112
193
239
167
150
208
137
160
208
208
123
195
208
225
152
172
182
170
167
201
172
170
167
240
215
112
186
158
150
150
172
144
263
208
237
184
202
145
212
112
189
219
123
112
167
121
208
208
279
112
215
150
112
150
123
150
251
124
228
164
164
150
192
165
150
252
150
208
150
210
123
208
112
115
208
258
226
220
156
205
228
150
208
152
170
172
167
194
150
165
209
196
208
176
192
225
193
147
137
228
150
147
170
112
208
112
244
171
194
172
172
201
176
150
179
136
208
121
164
208
233
176
115
150
135
112
121
136
181
135
186
193
112
225
160
124
210
158
121
121
250
203
172
112
170
212
123
181
136
150
121
240
112
170
144
135
179
212
213
121
150
112
121
192
170
135
208
115
177
165
167
211
209
165
160
150
208
112
165
121
202
179
226
121
165
115
212
115
147
197
150
214
165
203
171
181
207
158
182
172
161
207
244
208
150
170
150
172
245
150
167
170
170
172
150
208
218
150
150
170
194
240
150
153
150
124
210
172
171
170
173
112
121
167
164
208
236
174
237
240
112
212
165
196
112
112
213
135
112
165
150
181
210
189
203
250
212
186
150
256
121
193
237
115
220
207
219
165
208
222
218
150
257
193
181
121
124
228
172
150
146
212
263
259
203
121
160
194
156
220
177
121
123
136
187
121
217
186
187
234
150
112
171
150
297
165
214
219
112
150
150
121
157
174
172
193
194
121
203
194
123
208
158
174
150
215
202
170
150
150
112
145
265
150
159
121
171
121
181
206
194
121
112
121
123
147
143
159
194
156
181
172
112
170
150
181
150
121
258
165
239
112
157
199
112
179
212
174
206
150
258
160
208
121
181
208
170
172
171
160
297
208
215
172
146
178
205
181
168
121
164
159
123
150
150
198
208
150
137
250
236
150
228
167
112
150
158
192
150
171
164
147
170
236
121
279
250
192
159
201
212
121
189
121
150
158
172
203
112
217
112
150
137
167
208
201
176
167
182
112
123
112
194
121
178
172
121
147
255
181
112
179
112
150
112
237
194
176
150
177
121
195
237
236
156
121
250
143
244
112
218
112
159
170
121
218
112
176
208
263
172
121
181
121
135
208
112
190
150
145
137
172
208
176
172
135
112
194
135
167
150
160
237
172
165
150
172
192
196
165
217
346
150
195
121
112
198
121
158
202
150
195
177
195
171
158
150
121
216
242
181
181
150
278
150
150
211
192
209
137
150
112
172
167
165
112
137
297
181
232
234
170
228
150
220
135
159
186
171
165
208
225
203
167
112
217
115
208
194
215
164
121
121
250
150
112
213
171
225
159
164
150
167
172
181
112
170
150
227
189
112
179
152
208
121
150
121
147
176
165
112
201
193
208
112
228
181
230
150
170
208
150
172
211
156
192
170
121
160
121
121
146
205
217
121
147
194
171
239
121
136
192
237
112
144
215
186
121
150
167
172
143
229
226
112
121
121
156
150
165
181
208
150
208
112
150
121
154
172
182
121
112
112
123
172
150
121
137
112
112
190
150
199
178
121
194
156
167
115
194
244
208
203
181
177
208
208
137
121
214
158
176
171
181
150
121
177
115
156
195
112
195
112
150
272
150
234
194
172
239
150
172
255
115
182
202
218
175
124
167
208
186
112
187
222
135
121
121
203
123
150
208
161
121
168
250
175
175
231
205
112
115
219
250
222
187
178
164
212
121
203
112
136
284
159
135
240
176
112
171
112
123
150
165
205
182
135
167
259
172
150
123
212
178
165
172
150
181
231
186
212
212
121
121
209
202
179
228
208
208
212
150
150
174
215
165
208
194
135
123
203
170
171
156
112
172
112
156
236
226
176
229
112
217
153
115
123
167
167
245
194
208
203
168
147
210
181
228
124
172
215
179
219
170
165
150
150
147
226
212
194
167
160
171
226
150
194
168
135
127
173
150
195
115
210
121
199
218
184
239
240
121
227
112
219
170
165
186
174
167
158
150
128
121
165
112
159
192
228
150
213
112
150
112
181
172
176
228
208
121
181
194
164
208
250
171
187
156
212
177
228
172
237
171
112
192
174
187
176
232
208
186
121
194
264
196
150
203
137
202
171
159
137
150
161
177
214
112
112
220
112
250
159
219
194
112
205
164
121
130
112
112
240
121
121
156
184
174
162
213
194
200
112
158
143
150
212
172
165
208
231
121
198
186
170
250
176
242
204
205
239
168
219
123
208
208
218
231
237
158
112
150
150
228
112
261
179
152
208
202
208
166
208
121
170
121
297
185
217
112
217
147
208
220
112
207
156
181
201
164
167
194
150
236
231
121
152
112
252
172
150
123
198
152
150
208
121
150
167
208
159
137
123
208
150
287
150
181
150
170
150
121
203
211
150
150
137
176
112
228
186
228
208
112
121
278
112
194
150
195
182
112
112
150
237
150
112
203
192
123
150
278
150
170
213
206
171
139
150
165
171
192
112
235
124
168
150
165
135
198
208
282
237
194
150
176
229
121
190
156
167
150
150
171
237
112
167
194
250
165
231
150
209
147
173
112
115
121
186
229
112
172
121
150
130
170
158
194
123
171
112
136
121
177
150
203
259
193
186
208
150
239
205
136
121
112
176
205
181
206
136
206
172
112
172
165
150
181
159
112
186
150
170
194
194
208
208
181
172
211
190
150
201
112
208
302
150
255
121
208
164
124
161
208
208
112
136
121
147
112
112
194
164
123
150
123
206
150
187
112
121
248
124
175
137
171
202
150
206
208
150
195
170
233
112
167
156
135
194
208
182
167
123
248
150
217
170
176
181
230
159
205
121
239
210
136
150
150
112
150
177
208
174
226
123
220
186
136
123
136
121
115
176
150
147
136
208
112
137
123
121
208
189
181
171
146
206
228
121
176
204
176
206
150
170
208
170
121
167
171
158
165
236
170
194
171
137
208
229
150
172
150
191
186
115
218
217
123
147
170
170
123
152
220
121
255
121
177
198
150
165
240
161
205
115
150
187
121
150
171
230
167
121
121
187
230
112
208
171
172
168
220
186
156
123
128
121
197
181
233
170
237
167
217
165
208
208
121
200
150
208
202
172
121
219
150
121
176
112
185
152
128
112
121
170
159
121
121
123
112
182
191
201
121
220
167
121
297
172
146
187
237
209
150
171
172
121
167
164
218
170
121
165
212
228
208
228
253
112
208
176
112
121
176
165
187
165
194
233
124
186
194
156
112
255
121
158
139
165
186
167
176
165
191
150
255
136
121
168
187
150
177
187
170
121
186
233
283
181
198
112
175
233
218
150
192
172
165
112
172
150
150
194
243
150
121
257
207
195
158
123
150
152
210
112
245
192
121
112
150
171
176
150
170
217
179
176
112
219
161
112
220
250
205
226
121
112
159
187
121
165
135
136
208
128
121
158
121
112
288
226
232
192
150
167
225
147
189
210
150
225
112
150
112
170
195
121
233
208
150
219
243
157
121
150
220
208
167
172
150
173
150
150
189
121
208
181
238
208
112
150
176
203
167
194
219
172
161
150
210
121
150
210
167
165
218
208
150
177
186
219
194
152
146
112
124
211
203
220
207
112
167
225
170
137
165
150
172
159
207
190
157
181
202
212
189
112
170
170
170
121
229
208
121
181
201
121
123
121
112
165
220
189
172
160
167
135
169
171
156
164
112
193
171
264
164
112
242
194
243
241
194
250
121
214
121
165
137
150
164
135
219
150
172
150
150
160
123
135
202
194
121
131
172
263
150
112
165
233
112
167
186
121
176
187
123
181
168
195
112
226
186
193
199
208
150
121
228
170
215
150
243
187
171
123
150
181
167
193
194
150
150
193
170
195
193
112
192
177
158
170
170
194
195
147
208
112
167
112
137
121
250
150
217
150
171
204
196
171
208
272
231
134
194
181
220
121
171
172
217
121
170
115
208
208
152
158
197
194
121
171
167
150
121
223
230
121
228
227
121
194
123
121
186
184
171
121
112
112
136
170
168
115
150
172
207
112
219
217
150
166
174
192
124
171
137
185
184
228
121
161
171
184
253
228
112
181
235
164
214
171
167
171
121
150
171
121
228
136
167
233
150
150
150
174
276
121
208
123
135
112
245
112
172
227
220
160
115
150
170
121
172
189
152
182
172
186
157
205
203
194
164
208
168
212
272
219
194
150
150
170
123
203
194
208
143
121
236
112
150
128
150
158
172
152
172
192
121
170
112
165
203
255
150
123
159
137
167
208
150
112
233
171
136
135
177
210
121
264
112
192
289
208
218
164
217
135
219
150
112
170
150
123
172
167
181
208
121
176
150
135
172
168
115
149
279
112
300
220
170
150
112
112
231
177
121
207
147
208
150
177
182
121
172
112
121
170
135
123
171
178
233
136
150
150
112
208
172
193
192
150
150
167
172
121
234
229
182
202
158
160
193
143
150
112
187
164
243
171
170
147
194
165
172
193
150
112
186
150
121
208
228
175
112
167
174
121
135
150
192
121
112
176
150
201
231
192
172
115
167
150
237
293
112
186
112
123
159
177
181
112
112
112
123
128
201
234
123
112
124
159
158
170
209
172
215
215
112
202
168
115
170
112
172
121
121
177
231
121
172
150
121
238
192
276
137
215
210
171
152
167
250
150
237
208
150
175
171
231
193
250
174
112
159
121
234
195
112
112
208
208
203
124
156
121
170
215
208
208
201
164
121
190
172
121
172
170
231
156
243
181
208
112
121
237
168
179
208
150
150
207
237
193
174
204
150
121
186
152
135
195
182
168
167
150
189
137
226
237
167
171
136
208
237
162
220
202
208
150
112
259
172
167
202
161
121
181
176
235
156
255
150
135
172
194
282
150
150
172
202
170
167
237
231
150
112
172
112
208
112
236
112
150
121
167
187
150
176
201
216
209
152
230
172
233
208
167
123
172
176
158
199
228
210
112
193
112
121
208
167
150
157
227
150
181
112
123
208
254
220
172
194
207
158
208
150
121
137
112
171
121
150
208
193
171
150
121
112
165
194
187
181
175
135
212
161
251
182
115
112
158
212
211
237
177
208
150
225
131
177
263
170
176
162
172
150
172
195
150
172
136
150
150
159
171
172
237
302
160
172
171
123
115
135
205
171
159
121
112
123
208
255
275
222
136
112
160
208
203
208
170
195
147
123
194
226
174
203
217
223
123
272
136
160
150
124
167
167
165
172
137
237
121
112
121
201
255
220
212
206
195
145
112
136
170
219
150
150
209
124
238
121
208
250
121
167
229
121
152
112
212
186
150
194
112
208
121
170
231
212
237
194
165
112
170
181
112
150
208
195
123
205
217
150
229
128
168
167
112
112
112
165
150
168
195
121
153
112
236
150
212
121
167
124
121
150
121
150
197
210
172
189
207
170
112
210
195
217
223
165
170
150
180
190
170
112
278
112
229
260
139
150
121
150
168
165
164
112
164
135
181
177
228
160
176
203
121
272
212
208
150
150
171
167
112
187
121
171
200
121
170
112
232
121
230
172
202
135
177
212
193
112
164
201
150
150
218
253
175
167
156
112
150
160
165
172
172
112
208
143
198
259
172
212
184
194
157
208
203
177
165
167
123
121
143
194
171
115
171
171
115
150
208
139
239
302
176
228
121
136
212
176
195
228
112
181
167
150
184
150
261
157
152
150
150
137
121
219
115
150
179
158
147
167
121
135
170
128
156
121
194
211
121
121
112
162
112
196
253
121
112
137
193
150
208
171
150
184
176
171
218
170
136
236
171
167
193
150
143
150
181
165
112
181
228
172
137
136
186
194
208
121
171
124
193
121
153
112
210
121
181
207
236
160
226
210
212
112
150
193
185
177
232
177
164
206
150
172
112
166
208
208
219
198
224
250
112
194
115
150
165
192
167
132
112
174
194
150
182
165
121
237
164
220
135
167
170
193
160
263
171
202
201
150
176
206
162
155
172
123
170
193
262
115
175
137
208
144
112
228
121
137
194
112
121
174
150
121
228
208
172
137
121
190
158
212
228
244
225
150
167
187
121
225
210
150
201
220
165
130
217
112
187
112
112
212
208
172
135
172
161
208
225
121
167
219
210
208
150
112
219
272
150
121
150
167
137
210
150
144
150
168
204
150
150
112
210
137
210
171
158
112
172
230
199
208
168
172
209
215
172
150
158
121
147
167
194
121
224
150
136
193
221
197
186
121
167
150
121
112
147
150
194
150
115
170
112
208
263
187
171
172
112
112
168
225
156
172
186
170
124
135
194
112
215
150
264
150
237
150
227
208
164
172
208
144
226
150
349
186
150
176
123
212
177
250
208
150
121
172
170
170
167
112
210
197
192
202
121
176
136
150
187
150
201
147
171
150
240
112
233
112
157
224
207
167
196
112
208
170
172
121
202
237
195
150
167
187
240
193
229
176
228
181
229
165
150
150
150
208
220
254
112
115
210
121
195
207
164
210
265
121
171
208
225
159
150
242
150
195
135
170
208
226
150
115
128
176
201
167
176
231
174
171
123
194
137
171
302
170
112
112
123
172
172
225
112
112
150
121
194
237
194
195
210
201
165
121
229
137
187
165
167
112
199
160
172
212
121
150
220
123
170
121
167
235
160
271
208
226
172
150
202
220
171
158
176
208
112
112
172
247
208
112
175
121
150
190
112
112
160
150
164
150
112
220
112
228
121
152
175
135
167
208
187
172
112
168
186
194
231
236
217
112
121
186
123
150
158
150
136
150
128
208
242
112
167
157
112
208
239
228
208
112
121
193
225
239
130
212
176
121
150
193
220
230
235
201
121
135
176
150
208
150
112
171
214
121
121
137
112
150
150
164
112
165
150
150
194
233
112
112
208
160
150
121
150
115
165
167
216
150
171
172
172
150
150
123
123
275
171
150
193
193
167
171
208
121
150
150
158
202
172
194
171
173
112
112
195
167
170
112
210
172
229
278
150
182
167
174
197
112
187
123
170
150
121
112
123
212
174
144
208
165
121
232
150
220
187
121
121
176
143
150
233
121
219
186
165
225
171
121
124
165
137
170
240
150
174
162
150
171
175
236
194
121
147
187
193
136
165
121
150
208
194
210
193
170
213
115
167
135
212
112
230
228
165
146
150
150
208
112
160
167
174
170
123
229
208
207
136
172
121
230
150
217
279
124
121
278
187
112
159
208
171
228
208
203
112
164
271
161
167
177
112
186
150
176
172
167
165
156
207
202
170
257
194
121
112
172
112
189
150
128
123
236
176
150
137
199
210
150
179
121
218
179
123
172
150
201
146
158
123
112
121
263
150
144
228
167
150
208
150
158
230
170
203
203
115
165
208
196
237
159
181
130
121
195
150
123
150
278
181
156
171
181
201
112
239
208
115
150
212
112
187
112
190
121
257
172
205
208
137
217
123
243
195
186
202
147
121
194
218
193
152
181
160
150
267
239
172
112
150
240
112
186
112
228
225
225
202
112
170
215
186
150
171
157
276
115
123
214
123
172
208
181
135
121
167
121
174
168
136
121
121
150
167
209
212
150
121
167
150
121
250
121
112
203
137
112
128
181
249
121
123
193
150
121
112
225
172
164
193
212
217
201
250
158
208
195
210
158
170
112
237
208
192
157
220
112
150
150
188
112
255
123
226
167
150
112
195
167
165
210
150
123
167
165
124
181
170
178
172
112
137
143
165
150
171
209
195
147
195
177
208
181
123
170
201
112
143
156
112
176
217
112
150
232
150
167
121
150
203
208
278
112
152
121
150
194
167
181
192
147
256
112
167
194
147
170
243
112
181
168
207
121
112
175
135
150
135
112
158
208
159
160
187
121
208
267
215
176
193
167
150
165
212
231
208
158
231
208
150
204
112
170
150
218
171
195
150
150
150
178
167
112
165
156
176
260
112
184
173
172
150
212
170
194
185
124
220
192
172
208
233
150
201
150
208
194
152
253
229
115
123
152
193
172
172
215
121
123
147
218
192
202
274
170
238
150
177
212
158
147
176
150
112
176
174
208
245
186
272
171
112
136
208
121
112
112
167
231
205
162
121
112
223
176
203
199
136
164
147
174
150
167
229
170
201
206
150
112
137
193
187
177
193
219
121
123
234
185
194
150
186
208
121
112
176
112
176
205
112
208
171
242
206
121
167
165
112
239
112
170
121
150
112
150
121
150
112
112
150
255
170
167
211
115
150
165
222
212
167
171
196
225
150
212
158
176
170
150
193
172
186
187
208
121
208
167
165
172
186
167
136
170
165
112
121
150
112
186
112
158
121
121
150
225
112
202
170
170
130
176
208
136
163
208
208
229
193
208
165
225
186
150
124
121
121
179
156
130
123
172
121
130
239
150
230
112
204
208
137
143
150
171
187
121
172
159
121
237
152
171
158
171
212
112
172
167
167
150
217
121
136
218
193
172
197
220
186
217
176
165
170
112
112
212
167
171
158
112
170
237
170
167
165
128
150
167
150
234
171
150
123
164
219
165
205
196
250
167
177
174
167
263
182
218
176
178
177
220
166
181
193
170
191
250
150
175
208
150
208
233
150
123
115
193
219
226
123
150
121
194
112
150
218
158
121
181
112
262
136
150
263
150
194
176
171
150
193
263
159
180
177
112
200
237
135
218
260
150
112
172
208
170
272
208
172
150
206
194
302
159
264
186
171
172
176
112
210
172
150
181
150
212
112
188
220
172
237
181
203
201
163
202
211
206
202
150
229
217
112
156
181
150
170
112
196
128
136
236
150
112
263
124
232
121
150
190
147
121
194
123
150
212
167
261
135
112
150
231
226
198
203
159
187
172
170
115
150
167
112
136
208
172
219
123
208
150
112
176
238
195
131
165
173
167
186
219
177
170
158
208
158
187
194
112
137
158
112
112
112
184
218
121
228
167
112
168
172
121
226
208
176
208
150
121
158
150
181
170
181
123
208
275
178
177
192
112
216
263
150
194
174
181
167
121
302
164
171
123
121
192
121
181
147
112
172
171
181
170
150
232
198
192
196
150
112
208
121
228
182
115
186
135
150
292
159
220
189
150
176
150
171
170
130
275
192
112
170
130
193
243
208
193
193
208
199
170
115
136
112
170
210
195
121
172
226
208
121
170
167
229
171
214
112
187
271
121
208
172
168
123
201
144
135
228
176
220
150
179
165
112
267
112
150
172
123
123
112
172
170
150
208
203
172
160
210
208
193
208
161
158
241
150
172
112
121
181
144
121
147
172
174
208
167
121
193
172
192
135
136
121
123
112
203
171
172
121
194
150
123
187
112
187
112
220
201
150
256
123
234
207
167
201
214
228
173
239
217
207
112
136
186
121
150
143
170
176
182
124
171
159
186
176
164
112
115
277
194
150
112
135
112
255
241
150
158
170
135
150
172
194
243
112
150
150
167
202
174
150
177
121
150
121
112
112
171
150
219
158
182
150
115
187
201
170
238
150
186
187
167
167
165
135
112
121
123
121
135
136
186
235
208
135
182
176
123
205
172
208
121
202
176
150
258
130
170
195
167
168
208
215
160
195
171
215
231
177
112
150
124
208
157
147
178
200
210
210
123
121
121
150
130
150
130
239
203
179
150
177
150
199
152
123
170
150
246
175
170
170
227
112
172
238
121
228
150
112
210
219
112
171
171
164
112
193
150
237
167
137
137
207
172
156
203
170
220
115
172
150
150
165
112
165
167
170
115
215
207
115
181
160
206
248
171
174
123
210
172
229
112
212
195
195
247
171
121
208
112
172
187
137
150
171
228
136
194
186
112
150
112
150
112
192
150
150
208
165
231
302
184
170
172
214
171
150
150
167
226
172
208
156
231
124
164
208
150
225
208
158
112
187
186
112
131
220
196
220
172
167
208
150
181
185
187
193
135
150
121
208
112
170
171
170
147
121
150
165
150
181
176
208
165
167
208
150
178
220
149
209
112
152
121
170
124
121
112
112
203
121
112
165
121
112
172
293
172
215
194
150
230
206
186
170
232
177
150
150
229
115
210
121
202
202
112
150
150
112
170
171
121
170
177
115
217
195
156
147
174
121
150
161
164
150
218
255
187
179
186
176
170
228
112
218
171
168
203
167
112
181
167
112
237
121
176
160
112
170
130
168
112
150
167
112
150
121
123
150
210
112
171
187
150
112
176
263
163
123
276
150
209
172
150
228
167
121
208
121
171
189
170
229
181
172
112
124
255
189
194
186
201
167
135
167
150
112
123
156
185
150
168
112
167
212
112
208
150
241
123
150
208
194
177
112
150
130
160
194
150
202
220
121
112
112
165
228
172
121
194
173
241
137
150
203
170
121
194
150
174
172
165
121
176
172
112
159
171
187
156
150
263
165
228
112
193
192
150
121
195
172
237
231
150
167
170
201
301
186
208
121
207
192
178
241
170
150
177
172
205
195
171
194
172
167
112
167
214
150
208
208
170
209
150
134
181
186
150
186
124
112
255
152
202
203
208
276
150
192
176
217
171
187
112
152
156
186
172
208
228
212
194
223
150
208
172
167
165
150
195
208
121
121
177
243
175
164
161
171
274
172
208
137
177
112
170
177
181
171
152
193
150
167
171
195
171
157
172
167
176
112
171
208
194
175
201
201
186
112
171
123
194
115
172
167
192
139
146
194
167
186
115
172
196
150
147
135
170
165
121
187
172
227
164
243
150
194
205
208
208
136
170
232
112
150
150
128
193
178
172
203
147
208
176
201
171
202
214
112
124
112
231
233
211
121
165
202
172
201
144
208
226
147
136
112
219
244
194
156
195
112
250
123
121
232
160
228
194
143
170
156
159
165
276
156
112
121
121
128
210
193
192
112
229
170
194
199
266
179
167
172
115
225
170
167
150
174
165
150
157
266
226
186
121
123
150
243
121
226
203
115
121
226
150
186
245
172
196
176
228
144
260
136
124
164
137
229
112
172
215
112
123
137
232
194
150
203
187
112
209
176
172
115
260
212
170
208
205
159
261
150
150
150
231
121
170
121
112
176
150
159
172
156
146
198
150
208
112
177
150
253
164
172
150
176
186
251
159
231
202
168
150
276
171
170
170
150
208
150
244
163
135
171
112
150
137
186
165
172
137
202
167
150
243
147
121
121
172
123
136
174
170
171
193
170
135
156
121
218
150
167
150
240
167
208
193
121
250
168
165
201
137
167
168
150
150
208
158
203
227
218
175
165
137
112
175
115
121
167
181
121
194
112
150
208
121
208
150
170
135
179
112
199
150
112
164
186
171
150
165
208
240
228
128
194
150
137
255
128
176
139
176
150
237
136
112
176
171
171
124
137
200
112
121
227
121
121
171
121
181
123
150
185
175
203
166
167
112
179
207
181
112
208
237
167
205
121
112
192
214
167
197
168
212
136
123
186
177
135
172
209
172
207
152
165
219
192
112
228
172
263
121
176
115
172
124
210
171
167
229
174
167
121
171
187
187
231
137
165
210
184
167
112
218
220
178
175
130
112
112
210
136
112
202
176
172
184
112
250
243
170
167
121
135
112
150
171
172
112
150
181
181
170
181
177
201
208
167
144
112
186
150
272
208
165
172
121
115
228
177
150
208
172
209
210
170
216
220
205
167
189
170
202
112
227
208
121
184
150
121
150
150
112
208
207
136
160
162
201
193
150
160
209
192
195
242
192
224
115
112
220
165
112
209
115
160
153
124
112
167
231
262
208
175
190
123
123
168
229
164
158
207
165
192
232
172
181
194
207
218
220
136
241
228
165
217
186
279
112
209
150
181
112
112
177
160
112
172
195
263
150
121
208
187
158
112
150
167
167
207
150
189
214
170
121
112
124
200
187
121
176
176
171
150
112
210
131
112
170
207
217
211
193
228
239
143
156
112
212
266
150
193
174
241
231
172
174
159
208
184
256
147
232
241
123
176
150
212
112
150
172
222
208
112
201
171
204
147
208
175
121
112
150
167
172
123
121
177
121
112
150
278
217
200
218
179
150
112
172
150
195
112
208
112
112
210
147
227
158
121
172
210
208
193
150
207
121
170
156
220
121
112
137
112
150
150
255
150
158
234
208
147
186
220
168
186
136
171
171
265
231
150
158
121
158
234
208
198
172
224
189
167
186
167
208
167
145
136
208
112
172
186
112
130
112
195
137
275
250
237
165
121
232
257
215
174
172
160
150
238
121
208
208
215
187
150
237
112
232
205
146
181
201
206
128
229
187
172
150
189
172
240
230
150
186
170
226
212
121
136
187
123
121
207
172
187
250
216
231
196
147
208
228
159
172
172
240
112
150
160
194
194
203
207
176
172
121
121
181
278
121
228
112
172
201
172
239
186
121
189
135
176
199
137
186
112
112
150
217
112
205
115
207
150
112
235
212
177
208
218
152
174
219
208
223
143
208
186
135
150
172
172
167
121
176
135
136
121
272
187
193
210
209
201
147
213
165
209
112
160
121
167
160
203
237
112
121
160
128
172
179
167
172
195
112
194
172
150
217
167
235
175
167
147
219
115
171
112
167
215
162
112
218
176
121
121
124
171
112
123
205
210
135
150
165
170
123
128
203
193
170
250
121
150
164
176
165
205
171
226
127
150
201
135
302
212
168
186
297
167
217
171
167
112
205
204
144
150
217
112
208
150
150
181
152
136
150
242
228
203
208
167
121
112
189
150
112
207
150
175
262
171
212
237
231
150
187
121
139
193
228
159
167
239
167
112
170
150
230
256
195
136
178
137
123
121
172
137
177
136
172
121
184
121
146
187
218
150
121
194
112
158
193
233
150
176
225
208
176
136
170
172
165
172
227
121
182
150
212
170
112
198
177
150
208
177
112
147
124
128
201
150
208
112
159
218
193
135
212
193
164
160
150
208
194
174
150
186
175
112
243
228
172
112
171
112
177
195
189
123
167
112
156
203
112
167
167
172
208
194
150
223
218
158
170
152
231
172
186
150
208
177
112
198
176
207
150
185
112
195
167
172
150
150
186
194
208
176
135
206
201
150
208
202
181
132
150
194
216
156
201
243
150
228
130
121
112
171
150
158
167
150
186
177
235
201
123
203
193
257
195
170
195
193
186
176
112
112
123
170
172
176
172
208
152
177
208
121
112
210
187
186
167
175
172
112
163
150
210
198
231
160
232
247
195
172
178
150
186
112
170
112
171
171
147
209
150
147
229
112
164
265
209
112
144
208
220
217
264
112
194
189
150
174
123
115
168
208
150
181
150
208
171
112
205
186
208
137
194
172
146
237
212
150
121
170
112
255
150
348
176
152
202
249
201
219
176
217
172
121
190
156
150
150
195
171
227
115
210
150
166
263
219
208
150
217
208
223
176
221
112
115
170
172
124
176
152
150
194
150
276
208
217
194
136
208
147
284
115
177
150
112
171
201
130
275
158
172
121
135
168
124
121
112
136
147
229
202
159
121
121
279
150
269
205
187
194
302
259
210
112
165
187
171
135
150
167
172
228
231
136
208
144
233
168
152
176
159
178
238
150
143
112
112
165
170
150
249
208
150
192
152
208
115
225
135
171
177
150
202
208
162
165
115
143
178
174
112
112
181
174
121
175
137
162
136
208
174
112
302
187
150
208
150
150
121
170
136
208
219
150
228
210
178
215
150
174
212
128
136
165
112
112
112
147
203
131
221
216
246
124
136
112
112
112
189
150
172
112
168
176
172
186
121
159
207
150
212
112
202
170
203
130
137
112
226
136
208
181
194
152
219
143
194
124
190
228
150
150
174
112
228
112
216
165
297
165
176
150
112
130
203
240
225
170
186
112
175
202
150
225
171
202
208
205
232
165
158
176
219
112
216
173
186
172
231
190
130
195
172
257
177
201
212
212
219
135
208
115
255
195
263
237
175
150
202
217
208
112
150
272
150
150
172
194
150
150
158
150
112
172
168
137
208
130
172
112
121
165
121
150
278
150
150
205
210
146
172
195
150
112
171
112
170
208
123
201
112
150
173
181
234
150
208
181
212
132
150
124
192
123
115
150
167
210
112
147
203
112
150
150
181
233
262
185
150
217
194
238
218
193
130
121
218
212
112
208
150
195
156
165
112
121
167
159
137
164
177
147
203
208
240
150
150
165
186
123
189
219
305
121
215
150
201
121
194
145
175
121
121
150
136
112
174
195
121
252
147
112
213
203
193
208
181
208
220
130
150
208
135
123
165
195
150
137
176
112
172
172
121
135
172
172
208
121
224
150
150
172
112
128
124
172
158
258
208
161
121
254
112
201
187
150
112
200
150
192
172
165
112
231
121
150
121
250
208
232
150
170
170
229
276
170
241
112
176
170
223
150
178
206
196
214
174
206
216
194
176
141
139
150
156
159
201
165
202
193
143
112
186
175
150
160
208
150
201
255
232
212
198
112
156
176
124
202
112
150
208
237
165
150
112
195
192
276
170
227
130
168
150
121
179
123
170
150
181
216
150
253
222
115
203
175
223
212
202
231
135
150
150
171
121
121
175
201
208
158
150
181
165
186
123
150
201
121
165
210
121
112
112
187
245
203
159
212
112
156
226
156
167
150
150
211
170
174
170
150
159
194
165
130
207
210
112
115
150
210
208
177
170
170
202
150
123
158
171
232
198
171
152
205
121
170
194
170
208
228
203
208
165
208
176
186
112
121
112
112
212
112
147
121
255
150
262
184
241
171
217
170
136
208
203
186
124
159
175
170
208
172
167
208
115
170
121
174
150
112
123
121
212
165
123
208
189
194
170
181
121
115
167
150
236
237
143
201
152
150
194
172
208
121
167
233
179
150
112
187
197
150
194
136
167
208
112
217
130
172
150
123
147
187
115
231
112
232
205
150
218
165
212
194
176
112
216
150
268
186
208
187
121
121
172
177
186
189
177
208
193
150
212
203
112
171
150
160
112
275
192
150
186
236
121
170
150
186
227
121
153
150
150
204
282
150
170
159
186
181
112
150
112
150
226
172
172
171
220
250
158
156
219
226
158
172
203
150
121
167
213
210
150
121
176
216
219
121
172
229
164
203
112
186
159
188
250
136
276
207
243
165
121
240
164
150
177
165
210
150
167
181
167
183
172
176
210
172
150
150
164
150
208
208
181
150
177
203
232
121
150
177
172
135
112
112
121
147
130
159
208
167
211
184
176
208
168
187
112
150
194
121
112
121
112
209
177
219
112
171
203
158
150
208
158
208
208
207
187
112
172
150
121
159
112
150
176
242
174
187
172
135
203
212
171
194
112
172
170
233
167
194
174
150
192
115
208
228
121
112
135
193
223
208
194
173
172
178
172
218
112
121
112
147
228
112
112
171
194
172
121
121
115
201
178
173
167
187
112
195
228
202
208
112
170
123
172
162
269
165
233
112
121
204
181
174
112
203
121
147
193
121
112
205
181
226
247
210
150
204
137
181
208
195
167
240
192
195
214
173
150
172
167
167
240
225
150
115
121
131
176
176
121
170
234
172
232
115
208
165
181
150
112
112
150
181
167
123
172
174
218
167
172
194
150
189
123
174
121
172
150
172
177
238
128
171
181
172
150
150
176
171
167
137
175
164
231
167
208
165
121
195
202
112
208
164
121
256
172
112
224
115
228
112
171
165
171
193
208
181
136
208
121
170
208
112
165
208
207
165
219
193
238
193
150
136
170
170
170
112
121
195
244
121
229
195
150
156
176
190
130
206
150
199
139
147
170
228
228
236
150
220
189
250
121
201
147
208
112
112
157
246
112
193
179
152
168
167
167
167
250
232
202
115
167
229
237
172
194
255
208
121
212
123
278
143
121
136
112
243
112
176
143
181
232
181
172
112
112
150
189
237
150
182
159
214
121
199
167
187
167
147
208
208
231
228
208
171
172
137
208
237
195
115
112
201
176
137
181
150
208
202
217
202
158
250
121
156
121
194
164
152
170
193
172
123
194
194
200
159
150
208
239
112
196
168
150
191
174
167
195
165
131
150
124
121
181
205
210
130
170
204
168
174
112
152
150
190
135
121
192
229
172
121
172
210
112
210
194
228
130
134
194
172
150
271
121
302
170
150
115
159
150
177
165
181
170
229
179
150
208
170
150
121
145
150
150
160
150
206
231
170
123
208
112
174
167
112
112
182
194
205
167
150
186
208
207
211
167
194
150
167
150
263
121
212
121
228
186
238
150
237
150
208
121
237
171
121
150
210
181
210
186
177
112
208
112
143
150
238
150
219
195
170
186
215
201
112
171
220
194
192
170
112
260
201
193
194
167
123
226
150
121
194
150
267
225
150
249
260
172
174
171
150
260
170
112
234
210
115
170
212
237
135
150
208
130
121
208
228
208
208
150
231
150
261
136
225
173
194
194
121
147
112
150
204
150
150
150
272
150
150
121
190
217
203
147
150
121
202
228
208
167
187
186
123
121
217
112
167
181
167
170
112
194
150
187
172
232
208
245
174
150
210
150
121
150
196
158
186
208
163
121
178
150
124
121
228
150
121
112
172
193
197
170
150
150
150
228
208
181
208
209
147
112
150
226
112
232
112
240
123
121
304
150
171
213
193
165
237
208
212
164
157
255
234
121
150
253
165
112
150
247
250
193
112
112
208
218
174
192
231
208
158
147
181
152
208
175
185
187
152
242
202
208
194
228
128
208
150
150
131
225
194
155
186
265
229
255
185
167
165
204
112
209
201
167
124
121
242
231
115
150
123
170
194
115
194
121
112
181
175
171
150
168
161
181
112
170
150
135
121
172
192
135
239
121
121
193
135
123
172
150
171
112
201
174
165
201
171
172
233
187
112
146
112
243
204
167
150
186
182
170
228
150
144
137
150
150
112
239
123
123
150
112
216
192
223
219
175
176
150
112
161
193
167
150
172
218
244
225
150
112
135
167
176
123
136
213
130
128
167
212
172
150
239
251
121
217
220
172
195
210
167
137
112
112
115
237
206
232
150
150
121
112
121
150
127
123
150
167
176
158
187
112
224
210
239
213
167
217
150
192
237
176
150
181
115
228
176
228
121
150
171
150
218
172
202
208
170
150
171
167
152
121
210
194
187
112
174
212
203
170
121
237
231
172
217
228
181
150
124
112
136
177
123
147
228
208
121
144
147
208
164
150
193
139
219
159
229
112
202
150
263
150
200
165
181
112
170
212
196
174
226
208
171
207
112
210
228
158
121
121
112
164
155
150
135
175
207
124
112
147
234
250
186
136
171
231
128
128
112
239
115
235
150
121
150
193
194
300
150
245
150
244
194
178
150
208
121
150
179
237
150
150
176
195
228
150
185
223
150
229
170
205
212
176
208
146
187
172
165
236
150
263
255
171
152
203
212
219
121
123
150
177
208
112
197
121
123
208
144
150
193
121
121
211
112
243
170
228
172
239
231
171
186
121
172
208
237
147
172
228
208
112
199
121
227
195
208
259
112
112
208
150
167
174
176
123
112
150
112
204
201
217
112
228
172
193
201
228
128
167
170
186
203
112
185
168
179
171
112
172
208
195
187
208
210
112
186
137
152
143
146
193
153
150
171
172
236
208
172
112
115
136
170
150
150
225
171
230
255
150
176
150
135
174
172
171
115
265
121
177
143
167
226
121
150
121
170
187
200
219
167
171
229
167
150
136
112
199
115
181
158
123
150
112
210
171
195
121
208
158
150
112
150
220
152
150
121
174
200
137
208
202
150
150
208
239
211
228
208
172
172
207
130
176
181
229
229
264
176
167
176
112
121
150
217
124
150
226
203
212
239
186
184
210
172
213
231
160
228
150
208
201
177
123
171
150
150
170
186
112
167
150
165
193
194
231
205
150
139
208
112
150
208
232
121
264
228
172
112
181
121
210
196
121
281
186
112
208
177
171
136
184
112
192
221
164
150
150
121
123
121
172
150
150
150
167
196
192
159
177
146
112
115
233
215
112
112
193
260
150
192
112
212
112
176
112
112
112
210
136
177
203
194
194
181
123
150
112
208
170
250
228
171
159
121
121
172
202
208
208
231
232
158
121
165
121
201
150
244
218
203
112
171
202
170
194
212
215
135
194
121
150
158
177
150
198
172
232
179
121
193
156
150
150
181
210
193
121
112
208
121
186
208
156
230
143
152
236
112
165
193
176
193
139
112
243
193
194
135
128
137
121
208
112
147
124
232
171
176
217
150
164
150
232
187
156
223
167
152
150
219
150
171
168
112
150
187
175
124
112
181
208
194
208
182
172
175
147
193
177
171
186
210
150
208
208
121
202
150
112
156
212
115
220
181
112
115
150
172
150
208
112
121
121
171
220
211
147
123
243
187
172
112
156
121
193
186
150
121
177
159
115
226
176
208
150
150
143
150
235
207
135
208
228
202
165
112
228
112
202
223
172
176
184
212
150
202
255
150
115
213
130
172
159
150
208
150
179
181
187
210
150
203
115
229
168
219
244
263
187
123
167
202
208
220
195
177
231
150
177
208
196
201
147
112
159
219
152
190
217
263
152
201
189
112
186
112
156
186
250
193
167
226
112
208
135
208
208
208
202
112
208
207
208
168
176
121
128
170
165
171
231
121
172
167
136
195
123
215
226
203
136
226
208
121
150
172
150
176
150
230
112
150
226
202
115
212
237
186
208
203
193
123
123
239
123
231
123
179
181
150
234
228
150
121
168
112
157
203
167
193
135
161
177
150
212
223
150
172
123
195
210
123
174
121
157
121
167
150
208
164
255
136
186
176
112
181
230
220
181
196
150
121
112
160
161
112
208
172
176
191
220
222
181
160
167
172
176
208
183
194
168
212
150
172
233
112
112
201
231
194
112
150
201
124
176
181
164
150
135
202
112
199
219
147
194
112
115
112
239
137
115
241
177
170
172
146
136
136
211
112
196
208
115
172
176
215
171
112
194
167
208
184
112
137
131
210
172
170
210
112
150
205
241
170
176
164
112
212
167
150
115
198
121
170
159
208
168
204
199
121
121
112
186
121
160
135
259
152
170
112
234
112
172
150
156
121
172
175
196
123
170
159
207
136
170
165
121
112
112
255
159
121
186
174
171
176
158
208
226
194
202
237
147
179
170
181
121
152
150
115
150
167
182
240
237
193
170
185
219
158
137
147
150
123
165
158
208
112
171
121
167
243
212
186
172
123
112
150
167
115
202
195
150
164
130
146
210
208
203
130
193
239
121
167
202
175
150
182
170
203
218
217
229
238
112
202
259
123
121
172
150
193
250
208
230
202
156
135
228
112
194
123
172
121
246
194
194
194
135
229
170
112
112
193
209
208
150
244
208
226
201
158
170
150
226
150
167
205
219
181
193
167
170
150
121
226
112
121
181
256
226
171
121
216
121
203
112
208
231
168
181
203
217
164
115
112
150
187
256
150
153
159
170
136
150
167
135
228
208
170
150
150
112
192
112
194
208
164
150
176
203
136
238
220
226
121
168
170
137
220
177
211
208
112
165
208
115
121
228
121
259
239
167
170
167
186
206
123
121
237
232
147
189
212
171
167
193
112
230
145
171
208
208
193
181
239
178
172
172
193
176
201
212
167
176
208
212
187
167
274
228
211
112
236
240
232
208
150
172
266
233
302
212
210
112
137
112
112
177
181
112
121
158
112
172
210
170
205
159
112
150
194
135
190
156
168
176
168
202
255
121
167
171
150
197
221
232
242
157
203
213
237
115
219
224
112
123
195
171
165
150
208
212
150
193
121
257
163
215
121
115
170
181
121
156
112
222
112
112
156
172
121
150
195
123
177
240
179
182
195
278
237
178
124
201
150
172
208
167
121
194
174
210
232
121
130
150
150
112
156
208
150
150
153
121
219
181
130
232
121
156
121
170
176
158
187
208
168
112
121
171
112
164
144
222
167
121
137
136
170
158
208
121
214
121
150
224
206
159
171
121
123
112
165
121
123
150
121
250
181
164
115
121
181
150
192
150
112
210
150
112
176
233
172
121
228
150
255
181
195
160
186
212
150
225
150
150
112
300
170
172
181
172
112
150
121
167
242
176
177
170
194
140
247
158
239
150
202
171
181
237
194
226
195
212
195
172
212
192
176
112
176
228
112
121
121
167
147
121
150
150
150
195
112
299
150
171
172
121
150
156
121
176
167
176
181
210
168
150
240
176
232
170
207
167
150
121
167
220
158
112
150
160
112
171
158
237
150
112
220
174
201
115
172
211
186
175
171
150
193
150
225
231
147
243
264
195
192
266
170
152
243
279
152
172
170
121
121
206
229
225
172
187
170
135
136
176
181
144
123
112
172
165
167
168
112
181
186
175
124
179
150
172
121
173
186
239
121
112
219
236
112
171
208
195
121
213
112
150
212
201
286
152
136
210
197
150
212
150
208
181
167
172
115
172
170
158
208
208
228
195
302
121
112
192
112
185
190
179
172
150
123
144
167
186
160
121
121
194
165
150
255
112
112
172
112
121
136
170
208
186
181
172
220
201
160
165
170
201
172
150
121
186
212
172
172
143
167
208
186
187
121
172
176
150
210
171
112
193
237
231
121
195
202
174
198
172
112
232
201
208
159
112
136
167
215
121
227
210
112
186
170
121
121
228
215
112
228
186
208
121
276
186
121
218
150
156
170
208
150
112
121
168
112
112
150
167
208
150
254
150
177
223
112
137
237
121
165
167
170
233
150
204
181
112
121
152
208
186
171
167
150
224
177
193
170
150
130
177
202
145
182
121
112
167
202
233
176
137
217
170
173
165
219
150
167
228
192
234
150
165
240
159
170
275
150
112
152
239
176
152
172
233
147
208
210
212
150
121
201
167
152
170
167
112
186
196
201
121
170
202
252
284
112
167
170
194
121
172
112
171
150
150
210
121
203
172
150
217
121
121
172
172
218
195
112
216
121
186
210
137
150
170
150
186
208
167
121
186
152
205
210
230
112
208
158
203
228
121
195
121
150
212
176
181
208
112
130
121
237
168
220
124
250
172
193
192
135
130
172
124
150
150
205
150
225
121
150
217
124
193
272
173
175
121
184
167
220
202
182
150
147
208
121
150
178
171
208
232
112
187
205
217
150
181
253
173
150
223
175
137
208
220
147
175
150
231
135
170
121
218
195
150
208
176
193
112
170
150
232
231
150
200
195
147
208
219
123
167
231
172
273
135
167
220
115
150
164
150
150
224
112
204
170
171
112
181
202
137
159
240
176
147
195
181
208
179
163
166
199
130
237
170
171
187
150
232
112
150
202
172
121
186
187
203
112
150
150
121
135
160
194
112
172
208
153
208
170
176
150
175
195
170
236
193
165
144
121
115
150
187
172
135
112
115
208
171
181
187
235
170
112
243
192
192
121
121
150
210
208
210
170
112
172
192
123
150
135
150
112
150
112
156
181
121
121
150
219
147
208
219
165
228
167
137
202
136
171
112
150
170
123
170
193
217
121
112
172
176
160
136
147
112
112
143
193
168
112
112
123
174
208
172
194
150
150
264
220
164
170
215
201
150
171
121
239
130
205
121
146
150
208
165
172
152
194
230
150
201
165
223
194
218
201
257
159
121
215
167
164
212
208
231
215
147
147
250
147
195
171
171
228
160
211
219
202
179
172
121
276
213
150
156
228
171
165
202
165
137
136
195
130
172
208
172
137
174
121
112
203
202
112
195
112
159
121
217
172
176
194
112
123
249
112
136
170
203
144
272
212
130
112
181
164
204
112
123
137
194
150
215
208
170
256
168
193
170
208
159
172
300
206
186
164
186
150
234
189
123
121
128
121
172
196
121
305
193
205
135
137
147
121
230
237
150
121
181
164
150
167
167
212
205
152
171
298
208
208
273
178
211
208
170
167
158
150
237
167
207
150
150
172
150
171
194
208
210
189
150
195
198
121
175
164
172
186
171
167
150
112
205
121
237
195
158
130
179
239
167
208
167
232
225
150
112
214
121
121
150
150
172
150
147
124
234
123
123
219
123
112
112
152
150
121
189
203
217
123
150
200
178
171
181
210
250
150
175
176
237
177
150
150
176
112
199
208
212
137
165
115
171
166
121
175
115
128
187
165
177
208
158
150
228
112
170
150
112
224
130
170
223
165
212
219
112
143
201
208
170
172
150
250
194
112
112
156
124
171
135
167
196
121
228
220
197
187
201
192
208
159
193
187
272
165
171
208
176
150
121
174
147
172
195
206
124
150
233
136
121
176
231
172
220
136
195
121
195
123
158
158
150
143
176
112
112
216
257
164
159
214
186
121
219
121
208
217
176
219
202
130
150
208
160
150
121
208
150
121
121
225
112
112
136
172
123
170
112
185
253
172
168
228
147
170
171
170
278
195
164
174
210
210
150
194
171
150
208
208
171
170
160
123
170
172
160
170
121
207
112
112
170
208
159
172
150
156
170
201
205
150
150
136
190
208
137
220
121
194
176
249
144
121
264
302
181
112
186
263
237
165
205
262
112
208
196
258
123
137
172
193
112
167
158
150
213
187
193
124
121
208
121
215
150
172
173
172
121
150
172
181
112
112
170
121
170
156
150
182
171
137
167
250
164
178
154
172
156
194
233
224
121
253
168
144
186
202
225
150
174
203
170
220
208
168
181
150
208
150
172
238
276
150
172
137
193
112
208
231
222
159
161
171
206
150
208
197
150
225
196
160
193
208
167
162
172
181
121
147
136
172
203
174
137
202
150
238
159
150
158
176
121
157
226
112
170
202
208
196
112
186
257
115
184
194
121
212
137
194
112
186
150
150
204
170
121
212
112
233
164
212
183
174
240
121
203
181
217
172
158
121
128
177
170
225
231
227
112
121
172
211
214
237
195
112
175
112
203
165
121
121
150
229
237
205
135
172
176
230
205
208
208
194
130
167
172
123
194
199
208
150
150
112
175
112
172
205
135
250
150
121
150
121
170
112
208
115
218
213
228
150
217
239
176
112
217
187
156
279
202
172
167
112
208
208
250
171
167
112
121
212
165
171
172
150
200
190
167
170
172
237
135
202
255
121
187
230
241
124
239
177
174
135
223
150
165
172
112
172
150
203
192
210
189
172
128
112
276
176
172
172
181
167
121
228
235
123
202
187
172
150
147
218
217
121
204
150
170
170
150
176
162
231
172
231
170
198
194
177
299
207
135
235
112
170
181
131
202
193
121
172
170
128
170
150
112
186
150
208
112
311
208
121
123
177
150
121
152
112
202
143
130
208
167
112
167
123
167
207
160
121
165
167
150
202
121
121
123
112
194
156
168
137
150
150
174
181
172
202
203
150
172
112
186
121
212
135
112
112
150
150
275
156
208
171
112
135
226
228
159
208
123
172
231
112
171
150
150
124
257
137
112
226
208
112
232
121
150
171
124
170
150
165
208
150
167
137
208
156
150
187
193
263
135
228
156
136
121
164
112
179
196
171
121
194
202
123
170
150
181
121
112
137
207
172
219
193
164
207
174
195
208
112
150
150
171
233
159
112
170
208
165
150
121
236
237
184
171
177
121
170
170
208
250
121
174
186
112
112
179
147
112
170
255
181
208
257
144
201
112
204
150
223
212
176
195
123
121
158
121
137
112
130
172
157
208
158
150
136
121
123
162
234
112
172
208
208
194
172
128
229
203
123
150
194
228
159
135
170
177
115
302
181
136
112
121
225
121
150
187
112
194
150
121
210
229
112
121
136
152
170
165
200
147
208
174
232
181
185
242
206
194
158
163
263
209
164
112
171
167
135
150
156
232
210
121
232
150
237
112
170
135
208
167
112
112
167
186
172
112
130
201
170
202
194
218
181
112
172
167
150
141
229
208
150
208
193
112
270
216
152
203
150
130
150
210
172
195
171
150
219
279
172
263
178
236
115
150
172
204
150
150
164
167
212
112
150
188
236
231
202
225
150
192
172
135
263
211
194
255
177
150
112
167
121
202
181
159
176
220
112
241
112
170
194
150
112
121
208
112
231
112
124
184
181
255
197
121
112
202
243
150
286
171
150
186
226
112
165
237
227
208
186
201
112
208
178
208
210
181
121
112
150
248
174
147
208
168
302
123
150
172
167
174
181
123
160
170
176
137
171
124
173
150
206
171
176
208
147
112
123
121
150
201
182
167
186
208
167
147
170
210
235
187
123
147
208
112
150
130
280
205
210
171
184
150
263
259
147
242
150
121
189
112
167
259
194
195
123
234
165
172
171
168
150
150
123
150
160
136
150
194
170
121
201
112
175
150
201
210
218
150
174
150
112
203
186
249
121
172
121
208
165
150
121
208
195
150
203
179
193
121
150
174
220
147
165
139
194
167
167
112
165
218
170
150
143
112
150
226
228
112
156
135
201
112
187
115
168
124
158
236
152
112
164
150
123
233
156
209
170
112
231
203
232
121
137
158
217
232
167
112
112
208
167
208
186
147
237
150
220
208
181
181
172
186
112
176
121
150
150
112
193
130
167
207
193
272
184
215
121
193
220
231
121
165
202
172
112
208
123
203
150
135
112
167
167
254
171
121
250
150
210
203
121
123
172
128
112
226
112
208
277
177
203
112
194
183
212
208
135
257
208
150
170
192
181
177
226
152
194
112
195
197
135
152
196
210
205
135
136
193
112
150
150
112
112
185
194
208
192
112
208
150
218
179
186
150
217
121
187
219
208
150
167
207
170
204
170
208
150
205
218
123
112
239
167
165
112
121
237
112
170
150
205
167
181
121
115
150
150
167
150
112
164
165
135
194
210
160
112
150
220
156
137
112
158
219
150
201
172
150
136
135
234
150
193
137
112
194
150
212
168
228
150
150
208
223
115
277
115
150
232
240
165
202
150
112
160
233
186
112
170
172
150
203
121
123
237
201
208
208
234
237
172
150
112
193
234
170
172
228
208
112
150
171
193
240
187
167
150
139
121
121
182
193
121
194
112
229
194
112
170
176
202
176
121
193
171
187
150
179
159
123
210
112
170
150
194
128
121
211
231
121
123
181
172
156
172
157
150
201
208
208
131
240
214
124
186
137
172
112
123
237
121
194
177
214
123
167
201
112
112
208
121
202
123
177
150
150
112
231
228
220
167
150
181
217
167
172
171
226
195
176
152
150
112
205
248
174
121
115
174
161
170
170
173
159
121
274
150
172
194
186
115
150
156
176
170
135
208
186
208
167
181
121
147
121
210
121
234
176
112
177
112
193
158
158
201
150
176
121
220
208
219
123
112
135
167
220
170
208
115
165
217
170
208
112
297
121
187
160
202
208
228
245
208
189
165
112
225
165
170
302
212
112
150
131
225
208
237
121
211
150
181
194
135
194
270
220
167
210
201
228
276
193
171
195
264
271
181
231
212
121
112
171
201
229
124
112
136
112
172
210
121
182
171
171
167
208
229
121
136
123
137
172
124
123
181
181
150
229
208
208
195
171
112
150
156
170
112
228
179
115
202
205
135
121
143
181
195
165
194
150
171
208
164
112
210
195
137
112
226
174
176
208
172
150
167
124
167
156
112
194
194
212
163
170
164
123
121
207
139
150
172
167
302
150
189
206
150
144
112
302
214
219
150
177
170
150
168
156
115
210
123
215
216
150
210
164
194
150
137
174
121
112
170
164
115
135
176
131
228
208
150
185
202
167
123
233
237
137
194
272
150
237
181
167
181
150
150
201
194
112
200
158
131
112
112
249
137
171
202
123
189
121
176
223
159
121
228
150
236
263
167
228
150
228
112
158
205
228
150
181
167
171
158
112
150
177
208
205
217
208
210
171
194
112
184
213
228
176
194
200
193
167
112
187
213
121
150
137
136
150
175
217
150
112
147
208
137
115
176
229
228
112
171
208
137
123
136
150
112
208
208
150
150
136
121
231
172
208
176
181
171
150
162
121
209
144
115
136
177
271
194
137
176
170
165
194
208
203
170
167
170
260
226
168
143
147
168
194
167
158
172
143
170
167
194
112
171
158
208
174
223
171
194
112
165
112
112
112
168
176
176
171
112
136
210
112
158
208
181
195
171
156
210
121
170
220
150
240
189
201
202
170
212
137
167
150
186
164
208
135
152
159
112
171
150
228
147
202
181
274
112
176
235
244
112
168
202
172
121
123
165
112
210
172
201
121
176
225
171
135
157
201
250
192
165
170
144
181
194
204
181
260
150
164
115
202
229
246
212
123
232
165
112
185
159
219
276
160
167
174
172
152
170
112
174
112
186
195
233
208
115
212
121
194
147
208
123
302
121
255
231
150
229
112
165
137
187
121
153
167
194
121
112
208
121
208
123
214
136
121
193
171
208
272
167
181
208
243
187
228
170
194
253
150
192
196
135
231
175
219
237
143
121
115
208
211
170
167
164
137
170
205
165
174
229
187
158
176
112
217
208
112
150
237
135
115
158
213
121
121
194
208
124
112
124
174
123
172
135
170
174
232
250
205
171
208
172
206
150
167
121
203
240
193
167
236
112
212
187
150
170
115
172
167
165
194
171
137
152
164
167
210
195
115
223
203
172
135
225
229
186
121
302
160
208
193
228
165
189
193
112
112
217
259
231
112
121
150
197
167
159
147
159
171
130
212
112
167
150
150
220
150
171
165
161
112
208
128
194
208
171
123
181
150
220
158
205
208
192
152
186
167
158
158
184
121
236
186
181
150
220
190
112
215
214
205
121
182
121
171
150
121
121
239
192
167
184
170
216
186
208
112
194
176
160
180
192
121
150
228
181
208
158
194
172
181
121
165
168
165
167
167
208
177
246
136
158
195
150
193
208
150
208
121
115
112
150
210
157
258
147
349
170
204
259
112
212
121
218
221
121
137
150
187
225
219
302
177
150
202
170
208
181
212
216
172
135
150
121
172
195
208
193
302
193
112
190
230
121
123
150
172
150
121
121
217
242
137
172
171
112
136
195
208
246
123
208
171
167
135
123
167
152
121
150
156
179
112
212
112
164
150
190
172
194
208
271
150
112
187
206
150
136
167
171
136
276
181
172
121
302
150
155
144
121
112
150
194
167
210
167
187
121
170
165
221
171
115
181
121
130
143
276
235
170
112
172
167
168
208
225
112
208
112
244
121
121
212
194
201
223
112
131
150
172
176
193
124
171
121
170
176
241
201
156
208
122
181
115
112
156
177
349
112
121
167
212
208
239
208
136
147
160
112
121
164
150
174
186
215
112
193
172
171
204
121
136
194
150
115
196
170
217
187
174
175
112
121
194
168
112
130
150
163
165
202
183
170
121
158
194
128
112
190
150
208
150
231
181
150
208
112
208
157
112
112
217
150
121
225
181
173
231
165
193
112
112
193
202
165
121
150
189
208
150
228
210
157
193
172
159
130
115
123
165
112
179
208
112
171
167
208
227
121
137
217
147
135
165
137
186
265
112
172
176
201
150
176
207
150
225
112
121
177
112
121
175
208
158
203
112
131
215
112
130
228
150
121
121
194
208
152
170
220
171
235
123
150
208
208
189
150
228
177
167
208
112
177
150
171
121
112
150
170
150
121
228
172
177
181
147
220
187
188
150
157
167
281
112
112
187
165
194
112
202
228
231
150
112
170
112
203
223
112
194
170
121
171
260
170
212
121
167
302
192
123
146
112
150
112
112
121
237
220
163
136
177
112
202
193
186
170
181
135
112
196
150
193
136
150
136
135
170
150
220
207
181
208
150
170
150
170
121
193
112
150
171
112
112
153
150
181
205
167
220
174
220
202
127
195
152
208
170
246
150
150
164
225
123
172
150
112
161
194
194
165
121
112
164
168
201
150
123
112
219
150
165
121
228
194
207
150
172
112
121
164
167
218
170
255
156
112
112
208
112
150
123
150
159
150
204
157
112
168
267
208
112
202
194
184
195
112
209
150
152
164
124
164
121
152
150
167
195
165
124
165
202
150
201
225
239
218
158
193
150
212
208
250
123
228
150
150
194
195
193
210
150
197
193
112
243
112
186
181
128
150
150
135
164
150
256
123
231
233
150
250
137
165
150
194
217
170
136
239
112
172
171
187
212
112
208
112
172
231
167
158
172
194
198
207
214
172
112
121
181
228
150
121
255
226
147
171
156
210
150
150
208
233
150
150
172
121
237
208
172
216
242
165
147
202
208
172
172
212
178
121
112
257
170
272
136
195
121
223
112
150
127
193
150
112
217
235
160
229
278
112
150
171
210
277
124
172
208
233
121
150
121
172
121
170
164
186
121
208
112
137
165
217
218
112
121
150
170
201
150
150
171
212
226
237
237
172
258
112
208
121
121
231
201
112
115
170
167
150
193
231
170
137
174
172
170
192
233
112
204
171
208
172
112
228
192
121
130
194
259
255
174
156
150
186
210
150
202
112
150
147
146
150
164
194
147
208
250
226
228
209
150
237
150
196
240
202
121
215
228
156
167
172
208
123
139
150
203
167
160
147
208
147
225
179
128
121
167
181
228
121
150
208
176
192
150
213
194
302
195
150
243
150
172
209
112
200
121
187
112
121
209
150
232
208
194
159
112
171
170
219
165
143
150
112
121
167
115
115
195
121
150
194
150
123
121
201
123
143
240
150
274
135
135
208
150
135
195
236
216
112
121
171
121
205
168
124
136
194
194
121
167
170
121
243
229
112
195
202
212
232
250
164
250
253
158
150
112
353
167
150
121
172
217
170
180
156
112
187
167
200
229
171
208
121
172
150
135
178
175
112
210
233
231
217
158
176
208
150
150
147
192
224
156
150
167
219
112
208
208
150
112
121
161
135
172
150
231
194
165
191
150
170
167
194
228
201
297
121
112
253
178
167
172
112
156
281
158
216
171
135
121
112
216
124
187
187
210
263
207
190
240
112
203
217
175
135
213
167
186
150
136
218
165
112
228
123
160
208
208
137
137
229
112
167
152
168
136
168
150
115
181
167
159
228
121
243
192
112
208
192
167
150
186
143
192
196
144
177
172
136
121
205
156
121
121
219
240
147
112
172
167
176
128
121
150
112
147
121
150
150
147
121
164
208
239
231
135
298
208
208
212
123
150
208
172
168
224
121
178
237
231
123
201
112
159
170
254
202
173
121
172
176
176
124
228
202
112
176
172
128
171
150
208
165
160
158
176
206
121
112
164
210
181
158
176
194
123
115
237
193
121
175
181
115
150
112
112
228
167
112
135
165
176
259
196
147
194
231
172
172
112
204
123
219
302
206
150
208
121
167
167
161
150
150
160
170
170
174
199
190
231
112
186
170
121
179
121
121
208
167
181
159
172
159
192
112
231
165
150
147
150
212
121
130
265
162
262
150
159
165
228
185
147
150
150
208
123
159
171
204
193
150
159
202
240
115
235
150
170
208
172
112
256
195
227
170
124
228
121
159
112
230
204
170
121
181
193
112
167
208
121
237
143
234
170
121
245
121
170
208
208
128
194
212
150
150
150
170
121
130
237
121
189
150
121
172
176
202
192
165
112
150
172
203
208
112
288
190
181
208
164
208
112
218
208
135
150
167
237
171
143
112
208
112
220
112
150
150
121
203
177
263
184
112
150
194
194
187
176
150
245
112
198
208
171
228
137
150
225
112
167
228
124
234
208
121
150
150
167
158
167
237
172
195
121
186
121
147
187
272
150
112
121
150
172
112
156
150
227
112
121
167
208
167
158
112
136
123
228
160
123
193
171
112
223
210
178
196
171
121
112
165
202
208
135
171
208
228
177
203
150
257
137
237
159
244
112
208
112
172
130
112
150
150
135
194
112
152
150
121
167
159
165
112
232
112
203
234
112
206
282
150
121
208
124
201
121
143
156
220
144
150
181
225
186
267
121
244
121
156
204
167
196
195
164
150
237
167
150
199
115
150
194
167
121
196
112
186
171
218
172
205
202
157
121
171
203
112
217
137
124
112
255
172
152
158
255
112
172
152
123
203
201
150
123
121
177
150
168
121
187
210
150
165
150
150
171
194
228
172
175
228
150
181
170
208
150
158
174
165
123
213
228
121
150
121
150
201
183
228
195
250
208
187
202
183
219
178
167
218
203
112
150
202
167
121
194
150
214
171
121
195
219
194
181
121
150
137
207
152
208
208
171
121
228
121
201
137
228
172
213
223
131
187
147
210
167
174
167
171
121
165
150
150
172
217
170
166
174
150
195
208
158
208
150
202
176
206
187
194
150
150
112
197
181
220
172
208
168
150
172
201
158
136
112
195
150
220
171
187
112
121
112
137
263
205
112
112
165
185
176
150
204
223
194
150
176
186
150
215
260
135
112
176
112
150
150
177
236
219
171
205
170
158
123
231
243
150
172
231
112
165
230
165
112
150
121
159
121
237
167
189
112
121
210
112
150
150
150
263
200
239
208
159
172
172
170
208
208
172
237
123
228
112
136
208
201
167
187
195
150
170
112
123
159
202
147
203
112
208
123
208
147
123
112
172
208
124
181
112
137
167
150
181
170
152
197
217
156
112
167
112
194
150
210
162
150
150
112
210
136
137
167
201
176
209
150
150
136
243
167
241
112
159
203
221
201
150
131
121
112
170
203
150
194
212
176
121
172
165
250
186
164
168
196
179
202
112
202
236
175
121
112
181
150
218
228
150
195
112
150
213
135
174
130
150
170
150
121
112
212
208
112
186
112
231
257
112
112
112
219
112
130
208
112
181
172
237
186
150
167
121
170
160
171
150
150
181
172
160
135
130
158
143
186
158
191
196
170
205
212
130
288
112
112
187
210
164
205
208
208
194
123
150
194
156
208
123
171
121
150
121
205
159
237
179
150
144
172
231
124
270
194
167
207
177
228
124
208
176
121
150
150
257
192
165
112
112
263
150
124
150
112
150
171
112
150
159
228
167
152
136
159
208
158
171
203
207
240
194
135
124
171
172
121
136
273
190
147
210
225
232
121
171
203
189
221
219
228
177
250
226
176
150
150
130
208
192
216
255
150
186
209
201
150
170
121
171
167
208
195
121
172
250
121
112
236
181
237
150
219
112
218
172
165
150
141
208
156
167
123
143
239
201
150
112
208
220
167
121
157
150
215
193
237
181
202
234
150
144
243
229
167
208
217
121
186
172
186
208
150
177
164
147
121
172
167
181
272
165
181
112
150
112
150
172
112
121
150
208
115
112
171
208
167
112
203
276
150
170
255
150
201
156
150
170
150
160
112
121
167
172
137
112
203
255
210
121
228
170
181
150
171
181
217
217
121
112
218
121
183
131
121
115
123
160
223
128
121
121
170
208
172
201
196
170
115
193
112
150
207
181
137
121
121
208
135
212
208
170
208
171
210
171
263
115
121
115
233
186
170
121
174
135
217
155
203
181
171
121
193
172
112
159
121
170
121
176
171
121
186
156
204
128
112
201
237
150
172
195
159
121
170
128
137
172
181
137
152
208
170
123
176
112
186
150
208
112
214
150
194
167
172
194
150
121
196
121
278
176
112
194
152
150
165
112
205
150
205
150
195
263
150
168
239
207
181
238
121
226
186
112
121
167
158
240
121
167
159
228
187
112
226
255
170
267
123
174
210
208
112
167
112
137
194
171
150
130
181
112
167
157
150
123
174
172
121
150
186
170
164
208
123
165
164
247
170
170
150
150
121
170
170
208
164
208
198
181
112
135
194
201
172
144
112
226
112
246
168
232
228
208
208
170
121
167
150
172
136
112
150
121
250
112
159
239
302
150
270
160
178
192
171
196
135
152
216
195
212
214
187
158
121
156
168
112
242
150
239
124
150
243
112
121
137
112
172
195
167
112
276
218
121
193
150
112
239
159
185
136
150
182
172
135
258
112
200
137
218
165
123
179
112
171
135
150
156
112
121
189
171
165
210
123
150
121
112
250
167
172
172
121
115
217
115
189
124
176
203
219
211
150
255
193
112
217
201
172
201
204
171
261
167
121
232
167
194
150
124
136
176
212
203
150
186
121
177
205
147
147
190
208
136
186
112
171
242
167
112
171
143
213
152
276
159
112
171
150
123
254
193
237
302
170
112
189
124
150
121
175
123
171
170
193
150
136
112
137
165
171
121
187
226
112
247
195
159
161
208
124
115
121
123
220
202
170
265
135
253
239
219
165
228
112
123
193
146
150
124
121
121
121
171
136
196
167
112
241
136
172
208
242
192
135
152
170
186
121
124
150
198
208
170
121
202
210
212
121
135
147
192
210
205
137
112
208
150
178
150
167
150
176
165
152
255
208
121
112
228
168
150
186
195
150
176
150
147
112
237
236
193
172
168
263
112
228
234
194
121
167
257
167
150
170
123
121
212
210
202
156
164
171
150
212
112
170
150
164
210
236
150
136
193
176
276
112
150
158
194
150
258
194
167
192
115
181
174
172
112
167
208
194
121
112
170
123
121
121
224
172
123
168
112
214
189
150
170
205
112
174
206
172
184
220
167
194
208
167
121
201
115
146
208
179
150
144
218
194
239
184
186
193
121
150
172
193
143
229
238
175
186
194
165
219
210
137
150
281
150
123
150
186
176
170
181
167
190
164
208
239
123
112
255
212
121
269
160
112
121
219
171
121
121
194
150
112
192
150
235
205
170
165
150
137
112
150
176
167
121
228
191
172
197
194
121
150
150
229
172
186
150
208
170
172
194
181
176
171
217
166
167
170
231
147
210
177
172
206
130
185
112
168
206
305
193
112
112
121
255
172
150
198
208
121
152
159
214
150
172
203
121
112
150
121
175
121
172
123
208
170
179
112
202
211
194
112
150
170
112
202
186
170
121
181
216
160
121
202
176
156
228
121
150
159
150
210
167
112
170
121
225
121
167
208
228
124
135
172
121
144
219
112
189
233
177
136
212
150
215
167
150
221
124
171
209
121
135
150
112
250
208
210
212
220
229
143
121
167
260
112
130
171
150
136
160
201
150
173
123
150
172
168
150
158
262
137
194
200
123
172
150
222
150
192
150
115
136
146
212
167
167
216
121
208
172
208
170
208
174
235
170
150
135
136
112
216
172
171
123
121
207
168
112
165
232
203
112
202
150
112
172
121
121
112
181
150
179
121
128
165
115
176
237
219
213
112
150
230
237
150
207
167
212
112
112
164
112
210
171
222
219
150
112
147
172
209
250
112
136
158
220
170
186
187
225
165
208
195
217
239
121
176
210
123
231
186
228
238
121
128
177
112
229
150
147
170
219
123
121
202
193
228
257
112
167
167
257
170
150
237
139
220
250
124
121
195
135
171
112
167
136
121
150
186
171
195
112
112
124
157
150
121
170
172
121
150
194
225
112
167
121
150
254
189
165
264
171
137
222
210
123
195
121
205
208
208
171
177
137
150
205
150
219
250
115
159
179
228
217
229
252
135
202
112
167
123
208
112
214
121
121
209
195
121
212
181
205
225
230
175
121
174
172
160
121
150
220
181
181
207
112
185
164
181
121
115
218
212
112
179
165
172
112
236
218
150
170
228
112
203
181
168
112
181
145
175
217
122
177
150
162
150
203
150
278
201
112
171
128
139
123
112
168
164
219
170
186
187
159
186
172
172
227
220
208
211
231
168
115
170
160
150
123
130
172
187
150
217
167
165
241
112
214
194
220
115
121
208
255
208
121
201
231
150
115
194
159
237
220
192
175
160
194
112
237
152
208
228
121
170
139
121
248
167
150
206
112
212
121
177
121
208
184
178
186
147
176
112
112
212
260
150
181
143
182
205
178
115
150
160
228
207
149
201
150
226
121
208
112
128
153
150
171
208
276
167
112
190
172
206
150
237
201
150
164
112
112
150
171
208
112
255
128
115
167
172
205
121
208
164
187
219
210
150
115
181
174
195
274
150
194
201
115
150
231
171
112
137
150
150
167
137
150
228
147
194
206
233
136
229
172
202
172
226
112
171
167
172
152
170
150
205
165
208
172
112
170
193
208
224
181
172
112
150
172
176
112
121
172
167
231
150
167
147
165
124
193
136
150
208
171
208
112
167
159
170
167
179
174
223
176
147
225
240
171
194
178
176
202
150
136
136
226
150
189
208
225
194
150
112
218
150
150
139
172
121
208
172
170
193
172
222
150
227
123
123
170
220
182
208
136
165
150
170
187
170
177
201
121
123
170
171
172
172
214
203
150
165
112
167
121
210
112
171
170
195
170
208
150
172
187
245
181
121
171
255
185
186
136
112
112
205
150
247
205
209
112
208
175
162
165
112
228
161
112
176
150
137
150
112
150
192
194
123
220
184
139
208
202
150
167
212
223
165
171
150
170
165
172
121
172
205
208
210
150
259
210
181
136
150
265
175
167
176
186
171
170
137
150
193
121
112
272
228
150
112
124
121
180
255
112
226
121
209
175
150
217
165
186
150
123
243
150
112
217
170
158
187
150
194
137
245
112
112
121
150
302
112
150
236
121
210
165
218
112
181
112
136
150
150
181
150
150
170
195
193
201
227
174
206
135
121
123
179
156
123
171
170
187
209
150
158
121
263
167
167
152
136
208
172
195
165
159
219
175
150
250
214
150
181
202
194
112
171
112
150
150
220
204
172
212
167
172
226
186
225
158
170
200
164
121
268
175
150
165
208
186
208
123
121
203
121
267
135
121
150
150
171
172
150
112
160
112
207
210
212
186
186
147
112
167
212
189
297
187
158
247
121
171
210
158
240
171
112
172
150
208
202
203
196
202
220
262
135
181
158
150
150
115
128
187
161
194
150
170
121
208
302
201
208
208
255
195
112
217
167
112
207
208
226
190
214
205
228
150
174
208
278
176
181
112
172
188
202
203
228
123
195
171
174
193
150
112
215
172
150
193
121
201
112
121
218
112
130
121
194
112
208
200
150
236
128
177
186
171
178
160
233
195
203
137
216
237
265
165
167
130
152
123
112
195
137
150
167
176
158
167
208
165
172
224
215
159
218
150
167
112
167
226
150
181
208
176
121
202
112
231
193
115
121
172
112
150
121
165
167
186
150
170
160
160
150
205
208
170
137
160
202
112
212
112
220
136
146
216
203
176
121
176
167
170
167
112
201
172
172
112
159
167
150
167
112
229
174
210
260
112
213
121
218
150
123
165
156
164
137
208
123
172
171
112
186
217
207
202
228
167
187
193
209
243
150
177
121
150
159
167
174
137
152
237
229
112
121
208
172
208
121
130
121
176
162
112
207
147
305
193
172
150
196
158
244
205
150
112
172
172
199
137
172
272
123
228
150
177
150
219
216
203
159
150
150
150
210
150
112
179
171
212
150
205
186
250
172
150
172
123
208
167
121
150
167
137
204
227
168
203
165
121
150
204
164
205
165
172
172
218
245
112
150
208
182
239
112
187
164
186
167
171
208
170
208
184
184
121
112
219
208
201
150
112
220
165
158
167
112
179
167
210
208
168
167
121
135
112
207
209
193
177
112
202
112
172
219
205
176
186
150
112
205
167
206
226
112
165
135
150
183
208
220
136
252
193
112
171
181
172
137
164
115
257
136
121
228
195
172
150
208
176
158
201
123
278
181
121
160
150
176
112
171
236
150
234
205
112
112
150
228
121
167
164
219
167
147
165
256
208
150
195
147
223
252
236
167
186
150
121
302
195
172
170
121
150
220
167
172
181
200
167
187
159
250
121
255
192
258
121
202
210
276
147
171
135
150
167
121
250
203
170
302
202
147
194
237
121
172
223
150
239
220
204
164
150
158
158
150
269
186
192
202
112
193
210
176
147
112
128
236
187
150
194
178
150
228
137
123
167
115
231
121
171
150
228
228
147
112
228
150
203
208
123
112
186
172
167
165
150
181
128
202
115
150
171
112
187
184
112
137
207
171
190
210
186
181
112
170
121
181
167
128
150
150
228
112
121
203
179
205
167
178
284
135
257
170
162
172
195
181
112
246
158
189
211
121
150
210
135
223
228
112
263
208
295
164
175
176
172
177
112
181
255
210
123
172
123
240
237
176
231
172
130
135
202
195
207
201
136
185
220
194
150
171
159
167
158
121
150
152
139
234
181
171
186
193
240
218
164
172
207
239
150
150
302
150
233
152
232
228
171
171
121
171
195
228
121
178
115
150
171
209
146
121
150
172
124
208
212
136
167
170
193
121
168
127
186
112
163
121
187
279
121
181
115
150
121
121
196
164
174
208
121
217
112
194
272
208
172
121
193
181
171
226
170
112
150
147
165
150
112
214
176
217
150
181
150
112
150
112
171
121
147
121
152
194
208
150
193
158
112
208
264
150
168
150
221
170
112
172
229
112
150
160
124
121
208
206
170
207
179
250
208
112
121
123
150
150
228
250
150
177
167
123
150
123
186
227
121
124
187
167
112
192
170
265
137
210
123
165
112
123
171
112
176
137
112
181
165
201
181
150
177
193
150
121
150
208
184
112
234
189
228
137
150
112
208
160
170
135
212
150
203
210
121
167
179
121
112
213
143
201
112
124
112
150
171
123
158
150
241
123
210
194
208
219
150
255
236
159
200
123
202
167
156
187
199
121
165
205
150
167
121
183
137
240
171
112
121
167
150
147
172
150
221
210
228
150
172
211
208
219
202
181
112
263
150
124
172
135
208
184
121
149
208
159
202
123
112
220
121
215
124
229
135
158
150
150
159
187
194
163
253
172
219
176
235
136
123
121
302
121
250
208
168
171
255
208
201
150
194
172
112
203
181
226
170
172
220
226
121
152
150
112
130
150
150
181
202
181
172
121
121
228
238
223
172
194
193
234
210
172
112
208
150
202
136
112
150
136
201
162
171
208
150
136
203
115
164
150
164
205
209
115
121
112
238
136
179
168
150
150
115
168
165
160
208
171
147
112
121
164
226
212
276
123
164
240
137
123
194
193
172
158
150
150
136
112
112
208
215
112
123
121
176
147
160
231
187
124
192
208
228
115
211
121
176
194
208
135
150
121
150
187
175
217
212
172
121
215
112
186
150
181
208
231
171
144
121
145
181
131
210
121
150
176
170
144
150
208
186
226
181
237
121
237
229
130
197
214
170
112
237
195
176
170
265
164
176
194
136
123
194
121
168
121
150
137
241
225
174
230
194
121
191
255
238
195
150
186
239
171
156
121
112
112
202
176
201
123
229
210
135
150
121
144
170
144
277
241
171
150
121
216
170
158
165
170
203
123
150
276
195
167
150
128
128
208
165
123
156
208
150
170
150
187
112
257
158
210
210
167
172
172
165
156
170
208
121
208
115
205
123
302
165
268
112
172
177
172
247
276
121
165
171
170
121
150
150
170
202
233
150
215
174
207
121
229
152
121
115
158
123
172
150
121
176
128
171
279
231
177
215
208
231
208
150
158
278
192
121
176
112
205
135
167
171
171
167
214
248
218
194
195
171
147
200
112
123
174
112
170
172
150
165
208
150
121
214
208
172
237
213
167
150
242
210
212
112
216
241
128
208
112
115
210
112
208
112
186
205
212
121
171
206
112
172
135
158
201
228
191
193
208
150
156
203
218
187
187
206
181
215
112
193
171
194
171
208
121
207
209
172
121
124
150
147
208
203
112
112
240
121
121
172
159
135
121
228
150
115
208
213
137
195
219
201
150
171
172
167
208
150
136
121
164
196
146
123
205
201
121
219
210
208
112
220
121
156
112
245
112
237
176
235
172
174
159
123
228
219
167
150
112
229
150
225
172
203
130
208
213
167
171
121
193
150
228
158
212
195
177
240
210
171
208
201
172
150
302
150
123
112
150
165
170
128
208
150
176
193
112
237
166
217
150
237
150
121
212
170
170
170
152
201
123
206
195
112
130
223
208
167
187
237
150
238
228
123
172
124
167
150
112
165
172
123
150
150
172
123
258
193
121
208
170
156
210
194
181
150
121
208
121
228
263
213
167
150
150
165
208
170
184
233
150
170
156
266
144
219
176
224
157
210
172
212
219
208
167
187
150
123
121
225
123
167
161
121
174
112
150
137
121
167
231
150
219
128
121
150
218
121
242
150
209
181
220
210
124
181
124
112
170
167
158
170
150
112
170
176
170
164
222
194
214
205
147
232
121
194
195
263
123
147
238
150
250
172
147
208
135
263
186
193
231
123
170
112
192
131
208
112
167
124
165
167
137
167
167
135
194
201
237
136
112
123
195
213
112
150
150
150
265
112
208
171
139
181
236
212
215
174
257
112
157
130
150
167
121
224
123
112
193
167
137
205
170
208
200
159
216
156
210
165
164
112
195
229
172
219
248
172
158
220
186
115
137
250
219
112
123
150
170
195
164
201
167
176
234
112
123
186
171
176
238
135
195
171
112
229
121
150
152
284
238
147
171
121
115
150
150
208
112
143
150
128
192
186
121
219
208
121
150
177
121
150
204
137
175
213
172
170
278
288
121
184
150
112
263
255
150
204
212
121
135
174
225
210
147
172
228
121
128
150
194
158
177
121
112
115
193
171
112
215
167
219
135
208
201
121
112
112
219
172
228
193
203
156
121
124
181
160
121
273
202
165
167
150
230
192
186
137
112
208
167
170
144
176
128
167
224
150
150
150
134
171
121
152
152
123
136
170
172
193
172
121
164
135
272
124
171
189
150
175
194
172
297
210
150
150
112
152
208
143
228
146
123
170
208
171
236
143
186
150
162
150
112
174
240
227
147
212
216
194
193
203
194
171
112
150
208
150
194
150
121
165
135
263
172
181
171
235
224
158
207
167
144
172
172
172
170
112
194
160
121
157
123
265
195
171
121
193
172
241
143
165
194
229
167
171
112
194
207
121
150
112
158
164
208
181
123
112
220
150
187
252
208
167
172
150
121
159
174
112
186
195
121
208
176
255
176
203
241
135
136
112
150
150
208
112
208
112
194
178
150
172
172
176
112
195
112
150
136
198
229
150
124
233
150
207
121
176
170
227
150
208
121
172
172
174
181
150
203
128
167
205
190
112
195
158
112
165
167
121
150
172
228
150
175
172
196
112
121
250
181
167
112
212
220
187
223
123
150
241
152
239
112
150
165
115
170
297
187
121
204
150
181
150
167
121
202
172
194
181
131
158
150
136
112
152
150
208
208
150
212
208
150
150
174
150
112
228
165
187
176
160
123
172
150
192
165
194
173
168
121
121
177
208
202
144
187
202
165
181
143
172
156
250
202
159
186
121
210
115
112
112
207
150
167
176
192
172
276
170
112
202
192
201
172
150
165
224
186
150
219
170
121
172
112
170
208
112
121
176
150
150
208
112
128
164
121
204
239
174
112
167
165
170
167
167
201
243
215
208
220
158
121
167
208
152
121
200
112
150
150
172
150
150
233
189
121
143
218
213
167
171
150
233
121
147
136
130
202
181
121
159
237
165
136
230
208
243
121
183
152
194
218
150
112
171
207
121
192
150
112
150
121
156
205
112
150
226
170
112
137
150
175
179
150
187
150
112
186
170
176
170
179
207
179
112
263
112
112
150
112
228
170
112
239
112
209
112
172
240
192
175
112
121
167
182
112
184
272
167
212
170
194
168
136
160
112
189
195
192
158
123
172
160
170
165
112
112
193
115
255
167
181
137
132
150
228
203
168
159
194
172
225
246
236
135
165
181
175
172
170
194
112
168
210
112
115
137
187
231
153
195
195
201
135
150
121
121
112
214
237
112
212
171
252
150
135
242
170
150
136
220
237
121
159
176
112
121
231
121
165
190
112
112
177
219
208
203
137
178
172
112
112
112
121
121
170
135
208
196
181
187
186
121
170
121
160
193
194
170
194
167
144
216
172
208
194
167
150
150
150
172
170
121
210
208
188
177
164
186
186
184
136
208
177
201
112
297
112
147
192
167
150
165
232
170
112
239
150
112
239
250
175
150
215
276
193
190
112
170
150
195
181
181
135
228
130
193
135
121
259
202
167
167
172
213
208
174
150
207
170
187
171
349
160
206
170
150
209
231
147
150
170
208
239
171
217
137
192
255
176
123
208
202
112
193
121
121
150
194
159
195
194
121
112
172
202
198
112
112
259
186
240
199
194
112
150
150
135
219
135
150
172
192
155
174
164
112
150
236
192
181
150
208
121
186
150
137
194
156
112
208
167
121
150
226
136
164
181
150
150
112
234
121
150
233
176
165
147
187
150
112
176
121
181
150
167
170
123
172
170
177
187
137
172
150
124
187
205
112
187
217
182
208
186
128
176
150
204
167
124
112
212
167
208
208
112
210
214
170
181
159
112
123
181
216
170
167
208
194
167
237
112
194
150
135
231
115
257
115
150
150
170
167
121
189
165
218
112
128
168
176
202
171
237
135
121
192
194
270
121
112
240
176
152
150
265
228
187
112
181
244
172
112
112
112
323
239
193
195
121
231
147
158
121
228
203
160
215
150
171
194
229
150
197
179
150
180
193
176
208
121
250
167
243
150
172
201
165
112
208
150
121
193
112
158
172
219
208
167
198
210
187
228
233
189
192
121
172
165
136
232
220
150
159
147
228
165
186
228
218
121
112
208
229
150
176
150
112
172
159
150
203
150
208
112
172
237
226
121
172
150
161
181
228
121
172
167
112
187
172
225
210
171
167
194
172
220
203
172
207
150
171
194
150
159
167
192
187
150
228
121
115
121
121
172
156
203
258
278
112
171
203
208
201
181
121
228
112
193
150
171
196
210
121
234
112
150
181
130
121
174
208
165
172
229
150
112
163
205
202
193
172
172
137
196
150
231
121
121
235
240
150
234
242
136
123
143
202
194
115
159
221
165
217
194
208
172
147
121
171
121
168
121
121
172
237
159
124
259
224
150
124
302
181
218
226
112
121
203
272
167
181
195
208
167
123
112
201
181
201
115
164
121
112
112
150
150
167
208
112
208
194
150
172
135
177
172
121
172
150
218
203
174
150
174
174
193
207
171
215
239
112
208
165
150
167
210
112
150
167
121
150
121
226
208
121
150
255
112
195
253
121
150
112
162
208
186
112
193
207
195
243
238
178
238
177
176
171
135
123
195
186
160
121
181
112
190
130
171
218
208
176
112
112
196
168
165
210
170
121
112
232
165
112
121
112
284
202
172
172
150
192
135
193
167
179
209
225
207
208
239
233
208
165
176
172
150
175
112
112
239
180
112
188
187
115
212
150
264
135
158
176
150
172
212
178
181
193
194
181
121
218
135
201
203
172
121
174
112
158
255
112
172
123
135
208
150
275
217
203
174
150
130
167
181
121
174
150
228
170
150
150
182
112
214
150
185
212
218
150
150
112
121
123
208
112
172
181
112
171
150
112
209
181
193
112
124
112
231
150
193
164
172
170
172
156
123
231
150
215
112
165
216
197
112
172
150
172
202
121
176
172
193
180
203
210
181
194
150
234
170
183
219
150
210
200
194
137
207
208
144
135
171
121
164
172
208
170
181
208
137
186
150
276
203
121
276
165
172
112
193
239
181
128
112
167
130
115
208
112
201
215
121
228
172
302
212
158
175
176
189
150
201
150
172
150
112
121
254
112
123
238
167
165
112
203
137
121
196
278
174
245
112
172
170
115
187
156
150
228
225
121
156
190
156
190
165
195
170
208
153
171
237
302
165
233
150
136
172
150
121
150
137
177
167
115
220
231
159
172
195
284
170
207
121
202
226
123
219
167
184
112
112
150
121
250
281
172
192
143
150
121
112
150
167
159
163
150
147
238
147
208
167
236
177
167
177
121
195
121
165
112
167
212
173
112
115
167
208
205
243
171
181
150
172
266
187
112
237
135
150
208
203
150
169
164
121
150
150
150
112
176
123
152
229
195
152
150
226
181
210
167
206
150
121
250
194
171
150
165
208
201
150
176
176
150
121
172
150
150
139
176
217
179
173
121
170
203
202
165
123
150
150
202
192
207
143
171
176
121
160
112
193
150
170
123
170
195
115
179
165
202
208
136
121
176
182
171
170
181
202
255
121
137
174
167
208
150
131
150
208
250
207
137
272
208
171
150
236
150
194
171
112
220
158
136
186
121
112
208
121
218
137
202
128
164
112
150
239
150
150
187
176
187
214
237
237
147
187
152
121
161
170
121
150
112
121
121
275
121
165
121
121
156
150
210
195
165
137
121
187
228
162
170
208
240
112
112
188
171
150
205
160
255
121
213
172
235
167
124
121
150
208
115
192
195
208
237
212
112
208
150
275
219
150
212
190
194
195
237
168
130
112
231
187
112
150
199
160
172
121
181
121
167
121
212
181
172
172
201
203
152
150
121
112
165
193
136
112
228
210
171
112
150
150
167
228
112
240
170
172
186
195
124
203
121
121
229
121
128
170
137
187
150
195
203
205
167
123
164
121
112
202
172
242
263
150
174
170
241
135
194
186
123
121
174
150
167
263
219
152
135
137
123
193
112
195
243
174
167
193
112
172
150
181
112
112
150
195
225
250
150
112
210
176
172
121
208
229
176
172
112
121
150
208
203
250
112
266
159
186
165
189
266
208
208
178
184
208
112
121
121
210
263
194
208
187
208
231
130
170
150
208
208
181
172
160
194
237
112
124
150
112
208
181
171
172
272
136
137
152
202
173
228
176
167
150
158
187
177
215
236
250
215
112
167
302
150
240
219
137
208
121
172
135
194
239
192
200
150
135
182
150
240
208
164
167
150
175
186
150
191
162
208
239
135
238
158
190
136
208
150
170
177
112
172
150
143
150
130
123
226
210
150
123
112
115
168
190
202
220
135
167
220
165
225
179
135
229
187
167
160
212
147
150
229
150
220
230
112
150
121
170
137
121
165
112
121
203
287
159
181
112
176
121
263
168
172
170
212
170
176
170
112
167
193
150
167
147
167
115
231
152
208
160
168
112
112
112
242
225
194
173
226
112
193
115
123
150
229
135
172
112
172
175
161
176
208
131
203
201
186
112
207
179
135
219
112
112
179
171
240
181
150
147
147
121
207
176
112
210
202
112
187
115
112
135
208
112
150
172
210
121
163
194
170
176
137
239
112
167
208
208
176
112
194
218
194
159
165
130
150
208
130
228
202
150
130
181
150
194
150
150
187
158
172
150
164
189
186
150
171
168
210
137
257
198
121
135
255
202
194
150
150
124
137
150
150
172
147
170
112
237
150
137
231
167
167
262
137
160
199
147
204
168
172
171
167
226
121
177
158
121
172
150
172
208
193
121
220
150
186
205
124
167
165
172
193
159
123
121
112
121
187
112
121
208
167
150
112
213
236
171
176
176
214
165
241
176
208
203
226
187
121
150
237
171
112
240
167
214
150
150
208
239
150
167
200
237
150
189
112
177
112
203
170
112
141
121
135
176
208
172
150
211
233
299
270
190
170
112
112
203
165
121
170
135
121
112
201
186
121
176
194
181
208
208
212
237
172
167
115
167
121
176
143
167
150
150
112
177
181
193
219
186
112
150
210
190
182
159
237
199
123
172
150
207
239
208
181
112
228
167
121
219
237
112
265
167
208
123
208
170
121
193
253
160
112
232
208
240
164
226
208
150
263
122
207
170
172
170
203
112
121
150
186
124
112
193
181
177
112
121
158
167
208
121
267
225
171
150
135
208
172
194
150
150
194
135
137
208
150
112
115
136
205
150
121
171
112
280
123
112
170
156
112
164
228
216
150
208
167
165
172
158
136
167
112
172
192
143
231
167
164
179
171
166
220
181
160
112
167
164
156
165
172
172
212
208
170
172
208
123
194
238
121
245
112
172
164
137
136
121
112
150
123
208
172
170
159
164
208
208
112
158
121
194
171
181
164
137
170
208
182
278
228
128
195
121
150
214
186
176
121
210
215
123
204
186
128
224
136
170
240
124
150
215
168
208
208
177
188
121
187
170
150
174
228
150
121
210
168
203
130
239
179
158
207
205
194
181
208
204
172
231
226
158
228
210
150
228
208
112
121
128
156
172
218
255
202
165
212
121
167
202
112
170
164
112
112
237
112
172
158
136
208
150
263
236
276
237
208
176
297
150
204
263
121
225
112
137
195
158
112
181
182
121
160
177
171
205
213
210
136
112
203
135
172
147
178
236
167
150
193
220
170
150
115
112
201
172
150
207
196
171
172
121
112
217
150
297
147
186
208
121
150
165
170
112
260
168
209
171
112
171
152
123
150
182
158
203
216
150
181
112
237
121
231
128
112
165
165
176
193
124
168
176
171
121
157
121
174
172
189
171
112
172
216
208
191
203
201
175
186
186
281
179
171
137
174
147
130
167
137
112
150
258
202
172
135
209
194
150
128
150
208
121
226
150
172
194
175
170
186
172
123
181
177
112
167
192
150
171
182
176
170
171
115
195
136
187
112
152
121
150
203
182
176
208
190
240
243
236
150
174
195
200
112
207
225
226
240
136
170
231
210
208
167
202
204
112
186
170
136
158
234
147
208
177
145
115
172
124
130
228
302
175
160
136
168
239
175
150
121
112
203
121
196
171
160
171
144
194
235
121
150
219
130
193
121
172
164
220
170
195
228
187
227
121
174
208
210
239
174
164
149
150
233
217
192
172
121
193
259
121
185
123
136
208
237
218
150
167
225
167
112
150
208
164
136
174
112
250
194
150
121
193
150
123
115
194
121
112
249
167
164
160
150
164
302
176
208
150
137
176
112
207
173
123
193
208
167
189
115
207
165
150
172
239
112
186
121
171
201
228
150
175
135
208
187
217
190
121
172
112
112
205
150
123
112
219
112
112
160
185
112
170
177
121
136
143
208
217
187
242
115
203
130
232
189
112
165
187
159
186
179
210
172
112
255
210
121
193
135
112
226
121
135
123
201
171
135
223
172
121
210
170
302
160
167
190
144
208
181
112
165
112
177
227
176
202
112
209
115
164
112
147
220
150
150
208
150
167
172
194
135
170
198
173
171
207
202
137
194
171
150
112
207
150
150
150
167
121
112
150
250
165
136
112
160
170
121
186
135
279
112
240
167
207
170
172
232
239
150
172
231
136
172
112
112
205
172
195
112
121
170
147
150
229
135
170
147
192
226
187
121
212
147
168
112
236
171
135
220
150
181
171
112
176
206
112
150
165
201
176
115
176
243
112
194
228
150
179
219
210
123
205
170
201
115
167
121
124
147
186
255
150
170
213
150
161
147
203
172
121
259
123
162
172
167
171
212
202
123
172
194
123
208
137
208
186
209
208
112
170
172
150
112
112
135
174
131
172
124
172
128
225
112
167
121
250
130
170
167
167
196
150
208
205
121
121
184
150
131
150
172
181
179
135
171
150
194
150
112
150
171
164
195
170
121
236
212
171
135
208
208
208
121
230
174
167
204
228
249
115
123
174
124
176
115
176
123
121
121
187
112
226
232
130
112
201
186
208
150
194
150
171
150
171
172
171
123
167
194
168
121
201
208
228
150
112
167
250
232
171
150
123
123
150
201
167
150
228
193
202
150
176
123
121
170
112
167
121
243
121
121
226
172
172
205
175
137
181
167
201
226
150
121
150
201
264
172
172
238
147
214
205
176
167
121
218
123
112
181
123
274
208
162
215
172
210
217
208
171
219
170
150
214
208
121
167
194
121
227
121
172
233
255
150
152
224
279
136
192
121
195
181
221
218
194
112
115
200
130
121
147
184
147
134
171
112
256
228
257
194
112
146
192
174
239
123
235
186
253
218
150
199
143
231
255
205
192
263
150
150
170
172
179
112
167
165
171
203
128
194
143
258
161
156
150
136
112
150
168
194
150
156
121
137
171
239
150
177
208
112
112
210
112
172
208
112
112
226
130
171
166
172
250
121
210
112
160
194
152
231
123
150
167
228
202
181
172
115
123
172
192
150
150
150
283
136
112
231
218
170
201
150
150
225
171
214
256
171
170
131
164
112
150
121
112
171
179
150
201
137
237
177
167
186
165
229
150
203
112
112
150
228
208
237
160
208
171
302
170
123
150
234
174
192
150
150
165
171
176
124
234
150
147
121
165
195
176
165
150
186
130
112
167
128
164
112
250
170
165
123
167
112
128
112
226
203
186
172
201
181
121
263
165
194
203
195
208
208
192
150
115
205
181
201
228
206
121
150
278
213
159
150
166
248
167
246
165
121
237
112
121
172
265
150
210
208
123
224
194
171
170
144
123
172
170
208
150
258
181
193
213
182
239
194
172
187
167
210
124
202
115
150
172
136
112
150
210
230
170
208
112
195
150
208
174
170
234
130
226
112
207
150
232
170
172
123
150
165
203
165
147
176
164
152
123
172
176
150
167
264
195
181
219
112
279
167
150
203
136
170
237
175
167
170
217
231
121
158
121
232
112
244
172
150
237
112
205
121
164
174
229
195
186
168
135
257
228
150
223
200
176
195
143
164
195
150
112
258
181
194
112
137
165
210
170
150
167
112
211
150
150
145
171
112
228
208
353
112
246
112
195
128
252
172
167
203
226
181
128
124
136
147
165
115
156
159
172
170
231
168
123
192
193
205
171
263
217
226
146
217
112
121
171
219
121
121
112
177
121
240
172
136
112
205
150
207
202
112
123
150
273
237
229
220
172
121
172
112
150
115
181
176
152
121
213
195
121
115
210
228
167
150
128
176
165
137
165
164
145
112
181
112
167
112
121
187
165
171
208
168
263
115
150
128
150
201
150
150
137
150
208
150
212
112
112
218
150
171
215
112
115
172
150
218
175
150
123
218
194
194
194
167
220
112
255
219
112
170
123
209
185
150
231
301
112
158
181
150
171
167
121
179
253
270
208
181
121
164
167
172
121
171
150
150
182
121
170
194
179
263
213
147
112
112
150
150
121
160
121
112
208
195
170
167
150
242
193
208
174
181
150
239
128
194
202
222
165
112
136
247
121
115
181
147
167
150
172
247
121
124
160
150
237
228
210
121
112
157
220
112
192
208
186
165
147
237
213
121
184
193
130
255
128
112
258
196
150
112
112
112
205
212
193
150
170
228
112
121
112
150
208
201
112
173
263
172
228
159
219
150
165
233
147
143
195
208
210
123
115
208
172
130
135
121
196
112
171
281
123
181
220
212
220
171
228
112
257
220
208
254
237
164
174
112
150
164
171
208
170
225
121
212
112
156
128
208
228
223
121
187
208
147
237
170
177
172
147
181
156
150
198
123
123
235
167
172
172
171
208
171
208
112
112
211
170
112
165
112
150
150
112
191
121
150
152
181
150
194
163
171
220
239
195
228
112
178
207
121
123
171
147
121
271
152
112
150
238
172
121
170
192
128
112
150
165
206
121
170
172
121
176
176
244
135
267
112
112
112
150
207
217
121
172
165
121
186
150
150
174
121
208
150
219
150
150
123
255
147
150
121
167
150
150
232
172
204
121
123
195
179
112
203
121
278
123
189
231
235
181
167
112
150
240
150
210
241
199
228
232
192
275
201
177
170
150
121
235
172
150
172
123
112
121
172
115
186
176
202
128
150
186
172
121
167
177
121
181
170
208
177
231
174
207
112
172
164
171
274
171
207
194
174
121
198
201
198
150
184
194
186
174
176
128
123
171
208
168
112
170
167
195
167
211
193
167
228
115
201
165
181
150
208
121
112
167
112
214
165
165
121
172
137
210
137
212
194
211
253
167
165
176
156
128
150
170
170
121
172
150
171
150
112
123
171
234
136
121
121
167
178
150
194
170
172
250
171
194
186
150
233
170
121
176
219
208
202
150
112
228
208
159
193
176
275
121
150
160
237
176
213
209
150
171
189
152
208
196
150
181
167
121
150
228
217
181
128
135
147
165
215
164
121
112
237
263
164
263
167
167
181
150
226
185
217
172
208
232
167
237
212
150
153
152
112
250
255
135
112
244
208
131
121
178
219
210
266
112
152
177
123
246
186
186
181
177
147
172
167
121
150
121
206
179
123
196
121
170
121
150
172
176
164
123
112
121
150
121
246
152
150
192
150
201
202
158
159
167
167
203
172
150
187
171
147
194
167
150
227
208
167
146
147
158
112
112
218
214
187
150
150
181
172
137
208
172
208
220
196
128
121
130
136
208
157
134
172
112
254
150
165
150
208
220
195
121
192
237
170
112
167
168
175
167
150
231
177
143
121
153
130
172
172
172
182
135
167
197
112
238
150
121
159
186
164
150
160
121
123
112
202
210
167
167
201
150
216
208
150
150
112
112
136
194
201
121
202
228
208
135
234
231
164
130
213
167
150
212
160
152
228
165
232
172
172
171
150
165
167
150
167
208
121
208
150
156
208
150
203
121
170
186
195
200
112
128
223
160
192
210
167
208
201
171
150
165
201
171
192
212
170
208
150
192
194
171
190
150
214
147
194
225
112
160
168
181
130
176
121
112
167
255
112
170
123
192
121
150
152
177
253
186
265
115
205
150
208
121
208
198
170
255
150
212
135
172
159
202
121
276
147
187
240
194
170
182
184
201
121
165
121
202
208
181
240
177
115
150
171
136
150
171
112
167
150
121
250
172
170
112
202
208
201
254
123
112
164
210
170
243
209
201
121
212
171
156
115
165
172
121
210
112
150
210
150
208
172
263
201
194
194
159
202
180
208
124
130
176
121
232
204
218
208
228
121
172
212
231
208
186
218
220
112
257
112
210
112
212
172
176
156
121
137
187
171
181
136
208
218
172
233
197
239
207
170
219
123
245
150
150
150
112
238
121
231
170
121
112
150
176
124
121
131
194
150
135
150
112
187
112
112
171
194
181
156
187
210
167
177
150
171
170
194
150
121
193
165
203
225
246
172
112
239
150
152
250
258
244
171
112
194
150
150
150
121
150
150
194
170
177
112
208
150
167
121
167
196
200
150
112
159
136
170
172
223
150
158
123
187
121
212
216
177
194
121
181
123
123
215
170
150
150
208
237
208
121
208
115
115
168
160
121
112
172
184
187
194
112
123
194
264
176
223
165
217
184
250
121
210
143
156
150
299
238
172
121
159
171
228
172
112
159
193
206
255
203
170
165
165
121
150
160
172
208
215
232
236
121
172
172
250
121
208
172
135
165
187
150
112
221
121
150
159
112
194
208
230
176
202
302
152
171
150
195
195
115
112
176
176
170
150
175
158
181
194
207
112
208
121
115
150
202
196
150
150
173
165
150
121
171
150
164
174
179
121
112
193
115
112
172
195
165
112
152
112
112
172
175
224
112
193
112
123
147
123
201
172
208
208
121
195
170
121
210
209
112
150
124
112
121
193
136
172
160
167
212
203
208
150
171
178
172
194
166
210
150
181
147
226
139
150
203
202
178
112
150
170
170
168
176
186
178
170
208
112
202
202
121
202
182
247
194
147
112
165
121
190
150
137
192
250
186
150
224
208
217
192
167
176
112
237
158
112
194
212
170
237
153
186
237
121
208
170
193
237
156
143
156
123
121
164
181
112
241
193
121
121
112
121
121
172
112
215
167
112
165
150
121
150
208
150
135
172
150
123
180
186
250
150
181
150
147
131
172
150
231
179
121
165
245
215
147
172
164
147
193
228
167
112
121
243
143
171
136
150
196
112
167
176
181
112
150
150
112
168
176
136
184
146
193
143
231
112
220
172
224
121
150
226
147
228
150
146
152
162
150
150
170
170
187
212
128
233
150
208
182
181
219
184
194
208
124
112
181
250
193
156
112
170
184
123
228
150
168
121
170
220
167
172
121
229
156
112
121
232
208
171
170
170
243
172
182
217
276
156
194
171
229
194
237
150
208
152
147
112
124
149
181
212
260
152
172
112
172
202
198
208
165
128
228
218
112
112
121
194
201
170
150
136
236
150
242
112
177
242
147
167
208
195
209
161
236
255
167
112
196
130
150
112
112
177
207
181
135
219
121
171
112
171
174
250
112
170
150
209
150
228
215
136
202
167
219
167
137
121
136
222
143
112
121
175
121
112
228
208
121
128
172
171
229
208
136
112
192
195
171
208
201
202
150
172
170
202
150
172
171
121
124
112
112
150
150
130
123
181
290
121
263
121
135
178
208
112
172
167
137
208
212
194
171
213
168
227
135
218
167
150
181
208
208
201
228
195
136
210
123
258
168
302
112
121
203
208
208
167
226
187
123
181
150
172
170
194
168
195
194
170
121
176
228
210
196
112
121
112
215
179
243
203
193
192
137
135
112
173
258
147
208
112
137
185
193
168
156
199
147
121
177
194
199
237
121
192
208
232
112
203
231
208
135
248
177
158
112
194
168
135
208
150
228
201
121
173
241
150
225
208
167
170
170
112
123
158
250
112
176
207
216
135
172
196
172
172
186
150
242
257
182
165
121
171
172
112
172
150
177
164
170
172
176
164
147
170
121
194
208
275
174
189
272
208
112
150
112
165
159
167
124
239
147
177
172
242
225
158
130
167
167
192
123
214
193
121
210
115
257
124
201
232
115
208
208
112
177
194
194
193
177
172
121
233
240
208
112
238
158
136
214
165
136
167
172
228
208
172
177
112
199
168
181
115
112
167
130
220
152
160
171
123
165
220
208
177
121
208
115
112
172
174
240
121
201
176
208
112
170
123
206
112
147
218
226
237
217
181
181
172
181
135
208
174
193
172
121
209
171
246
167
167
210
121
159
241
150
150
185
150
193
112
208
121
146
172
217
164
143
123
208
167
208
194
159
191
210
121
225
112
121
177
250
130
123
213
194
167
208
144
165
112
150
208
130
137
167
150
208
175
164
136
189
228
172
115
147
147
170
181
177
184
121
170
187
192
150
163
150
137
150
172
171
256
150
172
208
174
136
193
152
121
150
228
176
170
172
215
175
115
167
216
201
121
150
171
150
172
171
246
214
150
121
112
171
150
177
174
220
115
167
137
128
112
171
239
168
211
158
194
228
237
159
150
112
150
186
171
156
121
170
188
164
184
112
209
128
181
150
167
174
121
255
229
228
112
203
187
181
130
210
193
143
172
265
206
176
192
121
112
250
194
208
167
219
150
297
112
240
234
159
203
177
239
210
150
186
176
172
167
164
177
205
225
239
208
167
135
121
159
112
181
176
186
228
203
150
225
210
157
121
244
229
181
231
170
112
208
184
139
150
121
123
112
150
137
152
235
176
156
121
219
112
278
231
206
135
150
144
240
176
228
174
121
123
150
112
123
228
115
227
121
121
193
150
121
208
167
167
172
150
121
194
150
202
207
212
220
181
121
193
208
121
121
121
237
150
207
170
258
123
123
121
112
226
213
240
227
243
112
158
121
150
202
253
181
167
112
250
150
123
152
171
168
194
112
112
156
150
112
185
112
115
170
207
259
170
216
112
208
207
193
150
112
233
112
150
171
171
150
214
233
150
121
115
124
167
167
150
128
123
208
170
226
237
215
298
232
121
208
170
178
160
135
159
115
112
208
181
112
150
121
171
121
165
121
230
112
121
178
156
165
196
243
276
172
165
171
237
176
123
136
172
170
158
237
112
205
135
172
121
165
112
150
164
195
121
175
164
135
121
150
208
168
167
156
228
172
194
171
186
135
178
207
150
232
242
121
172
171
121
220
208
112
226
178
172
233
271
150
150
121
121
150
302
194
231
137
236
150
255
112
167
170
121
123
112
201
144
194
150
177
172
112
239
150
150
136
198
216
237
172
121
168
121
147
302
150
203
137
215
225
164
123
320
136
168
202
135
171
217
121
123
177
228
172
187
112
170
194
152
219
217
245
175
170
150
112
165
150
150
186
121
150
211
167
112
210
174
228
121
168
193
177
181
239
123
199
150
233
112
174
150
195
128
121
207
201
115
211
152
165
208
172
240
208
121
123
246
174
194
171
250
218
121
171
208
150
172
144
208
121
179
210
121
205
207
195
143
136
171
121
121
165
124
112
177
171
112
226
136
203
210
121
150
202
224
237
137
181
121
171
112
136
121
112
228
128
150
150
121
219
121
226
172
220
172
219
112
123
170
167
139
121
150
123
147
158
170
174
232
112
136
208
170
164
195
112
171
124
215
176
150
150
121
208
115
192
234
170
194
136
219
150
136
150
130
237
167
135
186
112
150
179
150
181
222
152
150
165
194
172
176
123
135
208
205
263
112
247
192
172
236
170
213
176
112
171
150
194
112
171
130
112
112
177
195
121
187
147
201
181
205
245
176
170
201
171
193
112
150
208
158
199
170
121
237
208
150
150
208
171
157
192
172
265
158
147
272
112
136
150
112
130
112
165
201
175
150
218
170
158
226
112
206
195
205
172
237
172
181
167
187
115
121
215
181
150
202
203
193
147
150
121
172
150
194
167
135
167
112
170
203
167
172
147
150
201
170
121
112
214
192
137
159
188
115
214
147
170
150
171
172
150
204
219
206
210
181
121
150
150
263
226
121
121
195
112
124
162
189
150
193
230
172
168
121
257
150
168
147
187
167
230
208
174
121
150
208
201
172
137
208
150
165
186
202
150
193
170
150
202
170
187
115
208
135
231
170
236
179
128
208
194
135
276
130
194
165
130
121
167
112
172
174
112
250
160
185
170
214
121
186
112
172
112
176
150
150
259
137
184
121
156
167
121
164
165
170
189
225
156
172
211
255
165
147
202
136
236
112
158
124
226
208
184
226
207
167
175
112
112
177
123
137
112
112
219
190
123
112
112
209
226
230
208
276
115
243
137
135
164
137
176
170
200
165
170
156
121
130
130
193
150
150
186
217
172
233
121
193
152
150
158
225
176
165
112
176
195
112
218
136
115
171
139
112
183
121
212
170
171
112
199
150
186
229
150
135
181
172
181
194
150
171
130
172
121
208
225
150
208
123
171
121
195
160
150
152
234
176
123
170
123
150
181
167
144
237
202
208
156
210
201
217
171
208
212
194
112
158
135
217
150
158
252
150
210
176
112
170
112
147
194
165
152
178
186
167
186
170
167
150
150
121
183
176
173
231
130
150
135
208
240
136
167
193
210
121
128
150
123
121
150
112
150
253
208
210
165
150
187
208
112
240
156
208
135
121
236
137
150
150
194
209
203
172
209
121
234
167
181
262
150
115
208
228
172
259
147
121
237
112
194
208
210
121
235
175
171
174
253
208
150
156
123
121
210
175
137
186
152
130
193
121
112
167
121
189
182
150
177
187
112
183
135
181
167
112
121
150
137
171
193
187
121
150
135
209
121
121
251
201
123
168
208
172
208
147
240
156
171
172
171
112
240
167
121
170
112
170
234
136
135
208
171
209
150
150
212
171
208
159
228
172
121
130
171
208
147
168
184
150
165
150
171
212
193
123
112
189
240
165
172
247
237
159
136
263
208
167
147
163
150
171
147
112
167
233
112
237
164
158
210
147
121
144
112
217
187
248
136
150
200
112
175
185
172
203
159
167
213
172
228
112
150
208
165
112
172
150
194
224
219
135
121
144
208
165
167
135
243
156
121
212
170
274
150
172
121
172
159
170
137
165
121
112
208
208
150
159
121
163
135
192
263
258
178
186
229
112
210
237
150
150
194
193
255
121
112
208
147
176
124
121
136
193
194
121
236
172
172
150
171
150
165
218
208
121
156
150
172
175
216
195
217
135
150
172
235
150
172
150
247
228
231
167
194
166
178
208
112
213
172
236
175
167
162
150
150
121
172
137
208
112
186
164
112
112
184
186
165
137
171
150
150
135
194
217
186
231
156
162
181
162
123
220
172
173
184
208
212
167
194
216
229
208
150
135
175
217
181
177
193
139
196
186
231
150
193
192
112
205
218
135
112
150
171
207
213
172
210
168
242
197
124
266
186
250
181
150
121
121
166
121
136
150
130
219
123
112
247
121
212
220
176
193
167
121
186
170
150
150
172
150
215
124
158
177
170
135
112
170
112
192
164
194
137
218
218
112
171
221
167
195
124
228
194
178
150
167
165
172
136
130
167
121
150
228
123
121
194
172
112
203
280
177
191
150
172
167
230
121
165
203
150
112
123
194
167
147
150
112
250
240
172
115
150
112
212
192
183
210
181
238
136
112
203
208
173
152
170
168
233
136
121
214
121
112
112
160
263
150
202
150
266
212
244
121
192
170
203
121
231
240
150
121
159
112
167
112
208
112
171
136
179
112
150
121
230
220
208
228
167
115
202
208
136
210
226
158
220
216
121
165
215
194
121
170
193
171
216
192
150
192
206
176
112
176
196
130
112
208
174
112
124
205
150
152
112
231
228
195
121
208
170
123
187
199
209
121
187
150
172
150
235
150
135
162
181
121
156
210
168
121
158
177
158
150
202
121
168
212
112
137
172
203
193
212
202
187
115
115
141
172
172
174
172
150
240
150
171
192
172
186
181
203
137
167
234
213
205
164
167
181
172
115
112
181
239
112
224
167
223
250
218
150
121
228
156
112
250
172
150
201
229
121
217
226
182
165
187
112
243
195
175
174
172
176
196
216
202
167
112
112
112
220
220
218
135
181
193
112
281
225
167
208
207
254
204
210
112
112
170
287
199
198
186
160
181
187
112
112
121
243
186
218
130
208
150
143
187
150
121
164
201
250
161
150
201
171
171
164
128
202
172
221
121
237
177
137
189
147
237
219
228
112
181
171
150
121
170
226
121
112
150
213
112
215
135
150
255
206
201
150
150
167
187
195
170
202
171
150
112
203
123
203
228
172
150
123
297
121
208
173
115
195
112
112
208
130
194
121
115
150
255
206
177
170
178
135
170
232
158
174
226
167
112
135
211
237
195
121
181
211
228
203
137
193
121
165
159
150
176
194
150
172
187
173
202
112
167
193
150
174
172
210
112
187
172
115
182
202
171
112
158
112
121
181
121
228
229
208
190
170
237
150
228
150
144
165
121
112
112
187
208
167
112
173
220
172
165
137
143
168
150
207
171
115
182
176
167
167
205
196
193
121
172
228
150
177
170
150
121
150
181
145
157
121
112
150
186
112
123
250
121
150
176
181
177
147
215
175
170
112
171
112
261
165
212
121
226
167
196
124
200
150
121
172
172
189
192
226
176
186
208
263
170
112
208
208
254
112
123
147
202
192
172
167
121
147
170
150
123
115
121
181
193
224
171
177
150
135
194
237
223
250
130
195
186
150
193
170
121
167
194
121
232
150
230
212
187
122
208
208
150
150
240
112
121
130
172
172
192
147
213
121
245
121
229
172
237
204
177
130
121
112
231
299
170
135
181
121
170
193
150
121
167
219
190
137
272
171
172
208
240
194
121
184
121
171
218
112
163
237
124
150
150
121
199
264
137
194
302
112
212
176
167
112
232
121
167
186
213
121
121
197
187
171
121
121
112
112
230
121
150
191
217
170
150
214
147
112
228
258
167
218
181
228
167
172
210
150
172
171
112
193
144
112
207
240
208
172
203
213
174
170
235
208
187
189
167
205
173
204
160
236
144
135
259
147
112
150
211
150
147
184
112
150
112
194
158
200
211
229
228
247
112
213
193
187
171
150
224
112
208
229
226
253
228
147
112
172
150
170
170
176
112
112
228
231
150
198
203
173
170
121
150
112
161
175
170
187
186
181
170
225
181
150
243
121
121
173
194
167
121
234
181
112
150
172
112
193
279
167
112
174
171
176
158
193
159
168
121
150
239
187
123
187
150
167
218
128
228
136
123
112
192
212
135
150
178
164
254
150
170
135
150
172
201
172
201
137
208
170
267
112
197
187
194
208
121
208
212
150
186
225
234
171
165
121
150
210
150
150
147
195
185
121
112
238
150
202
172
146
194
209
205
112
171
150
201
181
115
121
112
212
147
112
165
123
166
112
123
159
186
172
193
177
112
121
189
208
170
112
121
121
112
201
171
170
192
186
220
170
235
174
192
168
257
239
172
171
210
123
123
150
136
177
215
112
156
219
242
150
150
212
172
208
210
136
170
177
232
239
128
181
121
165
115
124
205
167
171
112
130
226
112
115
112
194
121
194
208
170
203
158
227
223
210
174
194
208
170
167
175
212
175
209
150
121
208
208
150
181
167
228
121
187
241
128
124
112
165
228
177
176
112
121
252
150
194
195
171
193
112
158
150
193
150
208
165
210
171
159
194
170
194
112
112
175
208
112
208
112
181
135
165
121
112
158
170
175
181
167
226
143
212
115
220
170
196
201
160
179
168
112
150
178
121
242
150
167
176
218
165
150
183
189
172
195
203
222
243
172
135
112
124
170
112
210
176
170
121
195
150
193
170
212
193
176
219
150
212
208
230
143
195
214
150
174
176
175
123
171
167
170
164
186
150
150
228
167
121
172
170
229
159
112
150
171
256
112
174
202
195
170
112
121
165
158
203
168
170
184
164
349
165
193
278
177
112
112
205
173
240
208
217
220
186
150
121
226
208
139
258
208
201
167
228
170
194
201
172
244
208
171
223
205
227
167
172
177
167
150
190
165
176
150
143
150
112
112
244
202
172
135
167
197
121
233
115
215
167
179
210
170
219
167
246
150
137
123
146
121
112
172
181
112
192
242
112
185
112
167
184
208
168
176
205
135
150
192
150
170
112
121
208
202
208
170
208
150
123
171
159
237
112
240
272
112
150
150
147
167
175
176
115
208
150
213
153
123
171
164
150
250
159
202
121
184
215
195
135
167
135
194
255
232
157
210
237
112
216
159
170
121
215
203
240
263
214
112
207
112
211
243
208
172
112
137
178
227
123
156
193
150
176
137
136
143
194
172
135
219
187
121
152
238
143
112
197
150
137
150
112
202
164
196
121
170
150
181
179
130
165
150
220
210
165
244
186
178
172
214
208
144
208
172
223
174
176
112
123
170
150
167
124
242
255
196
220
171
181
208
150
186
233
302
228
150
181
123
150
201
208
150
208
121
170
172
121
121
115
208
123
112
275
170
121
150
203
193
150
228
123
228
150
128
150
135
121
172
156
210
181
112
150
237
229
206
160
160
208
176
217
150
170
207
208
264
186
267
168
150
147
217
150
208
150
192
167
147
172
194
128
170
181
168
218
263
121
200
164
121
251
172
159
112
158
187
164
171
159
121
201
171
121
210
150
121
137
121
150
160
171
170
132
112
193
272
121
121
124
167
167
172
172
188
112
297
225
115
158
208
172
112
115
150
217
164
210
112
165
170
160
165
291
130
302
135
194
150
245
135
208
176
112
135
112
112
208
174
150
205
171
181
215
112
160
167
165
170
112
165
150
112
150
158
230
150
208
206
164
137
115
112
115
207
167
209
112
121
112
171
269
167
123
186
192
228
168
226
112
181
196
165
172
208
135
167
208
150
204
172
167
176
170
195
232
192
201
201
112
181
276
175
112
121
212
150
112
144
208
124
167
167
172
217
150
253
201
137
165
158
211
160
208
177
175
170
212
220
167
123
168
228
189
208
170
172
172
202
150
171
112
240
121
172
187
147
115
112
231
250
123
220
115
229
245
207
172
168
135
195
158
112
168
121
263
143
121
123
226
187
150
235
136
172
171
167
121
194
150
225
150
171
207
150
172
112
218
167
147
170
150
150
112
250
167
172
150
240
124
232
150
121
170
121
187
214
112
266
177
226
130
135
168
150
171
172
212
172
194
160
228
199
167
176
136
150
144
150
130
170
158
250
159
165
112
171
208
121
199
224
135
212
172
189
150
121
172
167
170
121
139
208
112
150
170
150
137
174
161
167
158
297
136
193
236
255
171
123
250
202
172
237
253
172
123
194
184
229
158
160
208
112
157
150
121
123
185
170
226
171
243
208
128
194
135
234
210
190
208
219
208
167
189
150
187
233
121
112
112
237
171
137
170
112
208
121
112
207
121
135
121
201
177
217
121
128
167
231
170
189
238
171
195
212
208
123
112
112
121
159
181
195
112
208
226
181
208
217
150
143
171
194
121
228
187
121
193
121
112
254
232
256
202
121
150
194
188
174
176
193
197
195
172
112
233
208
194
112
170
121
165
194
112
186
259
171
167
208
170
170
165
228
193
304
121
199
193
208
137
121
150
159
187
202
226
112
210
167
208
168
121
168
171
250
194
177
179
181
112
150
208
208
167
234
226
175
206
228
176
194
170
165
187
276
264
220
115
173
181
112
194
121
171
112
124
256
176
192
121
167
112
121
170
174
170
172
150
121
150
121
112
208
202
150
121
202
194
158
205
221
130
208
167
112
173
257
147
165
220
123
202
195
177
219
186
121
235
150
181
167
245
136
150
150
193
112
121
255
170
208
112
147
135
160
174
210
176
201
150
150
156
172
227
167
208
208
159
121
258
201
167
208
187
207
226
112
208
233
238
208
112
241
194
186
164
222
210
255
167
121
187
160
257
121
186
150
194
213
136
112
115
136
150
267
208
150
165
121
194
123
217
150
112
160
137
167
192
186
121
150
211
165
172
193
112
167
150
112
112
112
150
171
150
251
302
237
187
167
267
152
186
194
121
208
164
187
238
168
184
160
177
144
228
184
208
208
176
150
128
143
233
150
201
181
112
174
172
112
115
137
218
112
128
171
233
211
231
239
136
137
208
170
219
226
160
243
208
150
163
150
112
209
223
112
174
202
112
214
165
203
220
150
172
212
187
167
170
167
217
115
201
112
218
172
121
112
121
171
123
170
115
190
170
214
187
172
115
112
135
150
150
203
123
203
172
121
228
112
147
121
123
181
130
158
150
236
112
167
150
208
216
179
187
186
176
112
150
181
156
208
228
128
212
150
246
208
232
193
112
128
115
177
207
198
170
208
139
218
255
199
193
165
176
226
179
250
112
121
167
181
172
187
176
147
176
173
137
150
121
128
150
195
200
136
150
150
146
135
143
170
236
121
172
112
228
213
143
150
150
112
150
302
112
150
150
112
162
176
181
121
208
150
199
156
208
112
158
210
167
226
112
211
176
147
204
130
231
231
183
112
171
164
219
212
208
223
197
121
112
121
112
121
147
172
150
150
152
165
112
158
171
150
150
194
112
243
194
177
171
174
218
150
220
234
123
159
192
112
121
136
156
210
121
187
164
177
159
194
115
164
112
176
137
187
170
171
136
137
231
150
112
195
224
172
123
240
150
159
237
170
121
153
130
121
231
215
150
208
123
112
208
167
121
150
174
174
121
183
112
136
234
219
164
172
194
121
208
150
112
123
237
170
112
171
135
112
276
150
194
221
150
202
144
112
193
250
172
150
210
147
187
150
208
150
174
167
192
171
167
150
150
170
164
112
187
112
231
208
176
203
160
212
136
150
143
121
150
170
192
172
183
171
187
150
226
170
170
186
217
230
124
167
195
217
225
158
147
135
265
208
187
152
249
136
112
135
161
263
121
160
240
112
254
175
220
121
176
210
121
147
135
208
112
167
150
152
216
150
176
121
174
208
150
150
150
150
203
150
194
202
176
170
235
172
150
150
167
250
150
112
112
167
207
194
228
170
186
167
112
172
186
121
121
161
123
205
249
302
136
167
203
219
144
208
121
150
263
150
208
112
172
150
130
150
187
121
272
208
193
158
207
196
225
215
240
170
202
157
112
233
199
194
112
135
235
135
171
208
170
184
164
150
207
240
172
121
150
121
176
150
217
112
158
208
156
170
194
186
205
170
121
186
121
112
112
221
195
150
159
203
160
194
112
201
115
241
203
194
205
167
172
112
152
193
150
112
156
210
181
208
252
255
121
208
231
112
213
208
224
150
136
115
123
112
150
175
123
208
165
130
220
172
123
121
165
172
167
121
194
150
193
203
121
172
212
165
150
150
208
181
165
208
112
137
150
212
181
263
121
150
121
136
302
255
112
194
121
195
218
207
255
208
147
150
230
208
171
228
170
228
171
144
150
165
172
227
171
143
225
150
171
167
165
167
257
302
237
205
158
170
185
202
181
212
181
216
112
152
219
241
128
150
217
195
150
150
160
189
214
208
212
204
187
168
167
150
112
172
150
170
150
174
137
123
112
167
123
203
115
131
193
194
186
123
223
172
123
128
208
172
194
184
159
170
174
202
194
170
172
204
121
171
121
147
229
277
186
292
121
121
193
165
177
207
165
150
213
186
124
121
186
112
150
158
167
181
135
187
121
167
187
112
210
178
216
242
165
143
167
121
165
172
225
171
121
112
112
229
121
208
181
181
139
208
257
242
121
187
112
231
121
181
196
112
171
201
167
150
172
121
215
150
115
150
112
112
158
172
150
181
212
172
187
164
208
150
136
278
302
115
112
217
177
137
203
177
202
229
150
112
217
121
203
112
165
115
112
123
136
232
150
150
167
130
201
165
201
121
150
195
172
170
219
121
121
201
172
207
164
112
203
165
115
170
194
150
193
170
242
171
199
172
235
112
237
229
167
175
121
207
186
225
170
220
242
171
177
172
150
178
150
194
170
232
195
112
139
150
150
210
237
181
156
174
150
226
150
121
150
121
203
228
208
121
150
160
239
135
115
206
112
167
193
121
210
172
210
187
124
150
136
137
205
112
147
186
194
165
237
167
194
150
172
225
213
172
150
242
210
136
112
150
208
207
211
210
167
228
167
136
112
172
237
121
150
123
150
215
349
201
195
112
136
302
150
136
228
170
150
123
241
275
239
150
219
147
121
150
165
202
196
229
121
202
216
150
115
239
150
196
167
121
186
186
171
187
189
124
158
210
150
112
150
176
121
121
255
158
123
170
172
203
168
166
205
199
167
115
170
161
172
228
161
230
165
112
192
170
210
143
237
172
165
234
171
193
121
219
172
210
137
239
121
194
194
121
187
192
170
112
210
112
112
137
208
170
207
121
150
112
168
167
228
193
121
112
121
220
150
177
193
167
121
167
170
165
150
194
167
135
160
112
177
172
112
177
170
165
237
121
165
112
172
187
176
112
223
208
115
150
235
171
136
167
170
115
170
112
208
208
233
194
123
150
150
162
167
112
115
230
164
171
231
150
201
112
164
172
165
121
229
172
137
244
175
218
229
121
179
150
201
121
230
170
121
201
171
168
194
232
150
172
112
112
208
167
177
208
150
160
170
157
144
150
112
150
150
171
160
150
186
150
171
165
172
157
196
150
211
112
193
172
181
195
192
302
123
210
112
171
150
112
199
167
230
226
123
150
187
150
232
193
144
193
165
121
171
196
128
217
124
181
186
233
121
145
112
130
121
186
228
156
208
112
150
112
121
112
121
112
150
172
241
136
165
135
156
234
198
112
150
150
136
181
121
208
152
194
121
208
121
199
123
218
192
112
167
174
170
167
194
150
208
184
150
181
170
112
121
139
137
159
206
250
137
181
123
237
121
123
115
208
193
150
175
225
121
263
150
112
208
115
196
176
150
124
237
121
210
194
203
112
208
150
123
121
150
115
150
124
112
208
226
150
158
172
150
136
208
176
112
226
187
123
121
167
167
112
237
225
150
185
165
220
235
186
164
158
121
208
215
146
172
250
181
123
112
208
217
182
212
112
167
112
217
150
135
182
121
186
172
187
229
150
181
170
194
121
228
171
121
170
150
150
147
150
150
121
192
121
195
167
255
253
150
217
121
174
208
121
165
146
124
206
159
208
150
150
143
165
172
150
165
278
208
172
167
172
250
167
150
112
121
123
240
112
112
121
135
171
196
150
167
226
208
112
216
121
228
228
187
150
172
202
115
179
184
187
150
232
121
112
174
242
123
165
121
150
112
144
141
112
123
112
208
150
167
176
150
150
150
260
150
276
210
121
121
239
172
150
208
207
150
124
228
112
208
171
171
232
112
112
263
121
229
186
112
202
152
189
164
171
121
168
173
208
216
150
201
123
121
237
299
237
121
170
233
195
115
215
202
171
302
192
253
172
172
186
186
112
189
208
158
208
135
217
156
168
186
202
208
147
208
182
164
193
237
165
176
170
175
112
123
176
128
156
208
156
121
137
235
172
167
255
112
112
121
181
123
112
200
206
193
241
121
167
194
208
121
170
170
112
147
112
156
172
193
121
137
135
181
150
143
176
202
193
177
115
176
226
115
228
112
167
112
218
181
115
136
167
237
228
208
112
123
112
206
164
112
121
194
228
205
193
181
228
225
150
112
228
207
256
165
186
165
137
165
165
231
112
112
242
135
208
219
208
236
175
187
115
150
150
189
172
228
150
208
150
150
167
208
169
170
112
144
210
121
215
190
167
207
177
176
228
177
208
112
150
209
157
172
189
150
112
172
194
246
231
167
150
215
150
186
115
208
202
170
186
202
204
225
150
121
170
278
165
237
233
177
123
150
167
170
150
219
172
194
152
150
115
174
186
228
177
197
150
217
218
170
201
172
172
112
208
121
177
195
137
228
181
121
181
193
150
160
170
172
186
121
171
165
112
253
137
150
150
150
130
164
172
176
167
112
207
161
150
208
164
244
171
208
263
176
208
177
171
112
237
244
176
170
135
194
228
208
167
150
112
112
201
135
150
195
150
208
145
176
121
170
168
208
112
150
210
187
186
112
112
147
137
195
194
195
232
263
203
121
115
124
112
223
214
228
121
181
278
177
208
201
228
121
171
187
189
121
201
121
186
165
170
167
234
194
158
150
121
121
174
135
170
167
219
239
150
195
112
208
245
130
121
220
121
147
112
193
186
208
202
299
172
157
208
112
201
150
121
121
193
167
167
217
239
147
112
195
121
194
184
112
247
208
212
233
270
147
165
177
189
236
112
274
123
228
124
203
171
201
137
150
160
229
276
186
181
150
170
181
143
231
167
172
135
115
121
208
207
112
172
229
194
172
208
171
213
220
121
208
208
195
223
165
190
226
137
162
112
181
219
205
171
193
172
181
123
187
203
167
160
207
143
164
178
187
115
150
205
212
150
123
202
215
208
229
178
112
146
176
250
153
124
192
187
112
236
164
112
121
194
121
217
211
165
150
112
240
174
255
201
177
194
210
128
112
170
192
176
235
224
172
167
176
207
176
112
121
150
240
205
112
112
164
216
152
167
228
112
217
112
137
121
121
112
186
170
165
192
255
208
160
177
112
241
172
202
123
112
121
181
208
160
167
173
186
167
278
220
181
150
167
121
150
243
123
208
147
171
219
112
243
150
177
219
202
150
121
167
196
177
228
146
158
112
208
112
136
219
177
167
172
170
181
167
175
156
157
186
186
150
112
172
137
159
201
228
172
156
181
193
135
171
124
201
167
121
190
123
165
115
150
115
172
218
112
216
150
199
219
192
112
150
121
208
171
136
171
172
237
181
150
112
115
186
214
170
231
112
167
192
112
228
136
170
172
181
208
182
124
123
123
158
176
208
112
228
249
181
167
208
181
150
210
218
170
202
121
167
226
150
112
171
233
121
187
218
150
112
168
210
233
176
150
150
194
210
167
115
171
150
150
186
164
195
156
184
137
208
121
123
112
226
192
207
215
172
193
237
172
112
167
167
167
208
201
150
237
184
167
228
164
171
177
167
147
112
121
174
132
166
208
147
213
209
189
195
177
146
208
150
115
232
218
220
184
124
219
172
231
198
136
165
172
202
228
172
208
153
112
208
208
150
202
112
230
150
231
176
170
184
201
121
136
123
164
123
210
212
121
160
167
264
194
112
112
226
150
159
192
121
208
123
245
143
194
164
150
263
150
158
210
135
147
172
112
172
208
112
121
237
160
150
208
170
123
121
228
220
219
147
194
186
167
112
150
203
150
121
239
218
135
159
150
150
130
228
202
112
248
170
167
208
123
167
176
162
186
112
194
170
115
135
159
208
201
121
234
150
115
181
203
143
181
208
171
226
150
112
208
121
150
187
228
121
172
121
272
123
150
220
167
171
175
208
250
239
212
208
172
150
228
219
123
305
213
156
150
231
175
150
190
150
175
221
204
208
171
121
121
150
217
194
171
239
150
219
121
112
112
208
229
219
208
212
177
176
172
135
121
150
147
171
171
167
172
210
150
203
159
217
123
112
243
158
170
150
136
146
174
153
112
208
150
112
186
174
170
121
192
150
156
218
176
237
167
121
215
167
217
210
112
168
150
199
172
172
217
228
124
217
181
150
231
180
128
153
208
172
205
195
208
204
171
121
112
150
112
179
112
193
194
220
203
112
112
193
181
123
121
166
172
260
202
112
208
150
160
226
181
166
171
194
184
143
130
194
263
174
171
115
208
171
195
167
123
135
112
194
164
232
192
134
205
121
121
231
112
123
123
136
177
123
121
202
189
189
171
150
216
208
214
254
237
150
208
194
212
168
237
167
147
200
172
121
121
171
159
181
193
121
193
165
147
155
164
161
112
112
150
121
210
282
230
136
167
112
219
112
193
193
150
137
208
263
208
243
112
150
121
112
302
204
167
115
208
198
121
159
159
172
194
147
212
174
193
302
265
211
112
194
150
228
170
167
112
181
208
135
123
223
121
194
112
193
245
150
159
244
115
201
218
112
121
171
181
137
181
121
121
195
250
121
178
186
236
208
187
174
178
172
181
228
218
212
172
171
208
167
121
158
167
112
209
124
207
144
165
174
150
158
181
170
124
150
241
136
165
121
121
123
207
181
228
170
196
112
181
195
176
147
171
150
179
124
152
176
237
167
202
150
136
121
137
164
112
130
167
256
203
121
123
160
150
150
181
172
278
217
194
229
170
167
121
225
181
112
121
227
121
219
121
112
150
192
228
115
123
112
302
250
217
137
225
115
186
150
150
167
250
167
150
193
112
187
235
164
112
208
163
112
186
150
150
208
236
198
150
150
147
150
253
162
212
216
250
136
144
121
193
186
186
208
150
208
115
147
170
147
123
143
195
123
194
112
135
240
181
112
202
157
150
136
216
165
164
165
190
112
253
194
250
172
215
112
135
225
217
167
193
233
167
236
220
157
255
203
150
150
167
209
193
167
203
171
181
165
181
202
176
181
164
121
150
121
167
139
167
220
228
150
167
147
150
172
195
219
172
208
121
170
150
187
121
112
176
208
187
167
176
171
165
181
112
229
186
215
249
150
150
172
171
112
237
150
208
136
265
136
212
181
212
121
135
219
150
228
160
176
195
150
115
193
192
112
209
174
112
167
172
150
150
217
208
112
115
237
121
193
112
186
150
167
121
115
217
210
208
167
174
171
150
150
210
271
223
121
236
150
220
213
212
210
147
165
150
170
150
203
195
172
150
174
150
115
174
158
171
144
121
150
194
186
147
177
186
239
176
121
164
112
240
112
150
172
172
167
150
167
165
208
177
167
198
220
152
172
150
186
156
121
112
158
121
201
135
210
135
167
121
187
164
123
186
214
223
181
112
187
112
210
150
171
168
170
181
212
147
150
187
121
150
121
112
124
165
112
178
164
170
164
213
112
150
123
121
112
121
147
239
208
143
211
193
150
167
150
121
172
194
123
212
208
172
150
150
225
137
187
218
208
171
208
232
150
159
121
218
157
250
112
222
121
115
112
201
150
121
121
228
213
237
147
167
171
121
192
179
150
167
121
203
237
192
174
152
247
112
123
208
212
212
170
150
156
207
179
150
172
112
150
176
194
233
172
202
174
227
182
192
137
112
135
228
255
181
121
255
194
135
237
187
123
121
150
150
167
197
150
208
123
202
150
187
220
121
112
123
229
174
208
206
172
176
112
112
176
195
150
212
178
121
192
147
208
168
167
170
250
201
112
187
202
208
150
164
115
176
135
223
112
159
223
186
210
121
209
172
208
150
186
112
242
121
165
218
150
150
208
210
174
176
121
177
112
231
181
167
186
112
135
150
224
194
172
112
189
228
273
192
212
186
123
115
194
170
231
212
165
170
219
158
237
207
150
199
150
150
224
196
121
194
159
194
202
229
193
167
208
208
187
276
135
150
187
187
115
135
121
176
206
121
172
130
202
150
255
194
213
208
231
219
170
165
217
192
220
181
112
150
187
112
179
164
229
121
186
121
181
206
143
195
150
181
112
202
172
276
204
150
121
123
170
121
226
150
124
186
195
121
194
178
208
206
150
112
165
193
226
210
208
179
150
171
127
278
238
150
167
208
194
167
159
156
112
112
168
121
137
112
210
168
137
112
181
128
128
130
150
170
112
210
123
239
171
349
211
112
187
199
172
150
205
239
121
160
208
112
202
121
181
121
181
171
173
172
159
121
136
218
237
121
172
167
208
219
226
112
239
213
208
212
174
228
158
226
147
205
181
174
302
164
194
197
208
167
167
150
208
257
172
250
170
205
158
121
245
194
150
212
194
239
208
177
208
172
187
150
174
179
150
164
240
259
187
150
171
150
172
150
176
112
135
157
165
170
167
219
158
150
150
170
132
230
208
167
218
201
147
121
121
225
157
177
150
265
150
172
250
150
181
176
193
136
170
172
210
128
112
228
231
112
167
181
188
210
150
223
165
228
135
112
171
228
209
123
121
165
193
123
115
176
121
224
194
150
167
112
236
170
232
156
186
203
171
272
179
121
135
172
112
212
181
181
208
195
167
159
112
275
170
112
174
150
181
150
150
202
172
158
217
164
112
231
156
124
183
135
112
210
150
211
112
170
227
158
187
249
150
219
181
121
112
112
150
136
124
150
194
201
150
172
112
150
208
159
121
150
208
192
150
181
112
112
208
150
216
217
136
250
181
147
191
276
208
240
121
112
176
123
150
165
194
150
207
177
175
177
192
186
208
186
212
150
147
231
121
150
194
156
157
135
150
210
308
172
187
228
170
208
164
137
228
181
211
150
128
193
147
135
147
150
170
208
181
137
176
212
208
160
150
158
150
170
165
172
150
217
112
150
135
210
172
181
121
172
112
137
212
171
204
167
193
167
131
167
112
165
175
208
187
121
208
217
255
170
214
208
220
112
150
121
225
112
150
121
137
186
112
112
112
203
210
192
161
112
232
136
150
202
186
167
262
167
237
112
128
150
121
152
147
171
136
177
170
172
256
112
112
208
167
172
226
194
208
185
210
186
181
112
208
121
175
210
150
172
192
121
121
196
112
150
172
150
202
121
128
115
195
163
112
158
156
208
121
123
150
181
167
174
167
150
121
186
158
220
159
203
193
176
143
228
256
195
139
170
227
220
177
123
187
210
150
186
184
121
178
172
195
137
193
201
158
121
217
226
115
195
176
242
193
121
123
208
177
150
172
123
112
150
112
115
233
170
257
137
150
150
123
202
150
112
150
226
210
208
176
208
124
186
121
121
302
250
147
186
112
158
174
150
123
204
220
197
150
201
172
278
192
193
175
219
150
136
208
168
157
131
150
175
194
150
167
150
165
123
121
212
121
167
121
172
192
170
236
145
202
280
191
208
112
203
176
252
165
157
112
186
185
184
135
150
121
202
165
217
241
259
167
164
112
112
150
144
165
272
233
237
136
156
239
156
217
171
187
231
123
156
112
210
121
150
121
209
172
112
208
243
165
172
160
121
161
150
136
112
278
196
172
150
217
228
205
171
240
178
167
115
186
150
250
189
208
150
167
181
201
123
112
189
124
195
237
220
240
112
208
112
172
236
121
208
170
191
121
150
163
172
112
112
150
112
170
136
208
150
167
112
121
203
156
193
170
115
305
170
123
176
186
190
115
216
112
157
123
150
160
137
167
150
152
237
253
112
187
150
192
203
121
194
174
157
178
265
112
171
250
167
208
250
124
135
272
121
203
192
278
212
194
167
181
121
281
208
175
240
226
136
150
123
202
181
250
194
243
112
152
112
214
172
156
218
150
137
123
150
123
131
237
112
124
121
137
193
160
186
137
150
208
194
147
170
171
179
175
171
170
165
186
156
177
172
269
131
121
225
160
150
150
208
171
115
257
233
112
172
229
112
207
121
136
257
174
235
123
112
150
112
121
172
228
112
243
193
186
112
131
165
165
226
112
208
171
216
186
112
174
172
171
112
158
165
170
150
165
136
208
201
186
150
206
226
208
136
194
237
201
208
228
136
112
165
176
124
179
208
128
175
208
208
121
208
202
192
173
237
194
123
258
112
165
219
159
112
150
167
227
112
121
112
281
135
205
150
150
167
150
208
172
150
208
165
195
147
208
150
112
202
193
121
137
124
234
112
208
201
121
186
150
150
112
217
193
226
165
156
137
158
124
150
199
202
171
201
170
112
232
152
164
150
137
171
168
150
172
170
143
137
240
172
254
214
230
216
176
137
147
150
135
208
121
201
121
168
112
171
150
121
203
160
176
263
150
172
208
228
194
239
181
208
130
150
255
121
208
170
193
193
172
144
194
212
236
167
130
181
121
172
228
217
208
193
112
217
131
168
220
150
150
186
150
123
121
167
194
211
203
167
181
121
194
150
150
243
170
121
150
156
121
121
197
210
170
159
112
167
174
150
112
194
174
186
115
112
195
171
124
217
123
181
130
112
160
167
172
150
147
150
164
250
150
181
212
136
220
233
171
121
176
159
237
165
208
150
208
203
152
121
243
194
159
182
215
255
150
208
112
123
177
150
216
150
193
181
147
123
208
150
174
170
278
215
168
121
240
137
237
170
230
174
150
135
181
150
160
208
202
174
150
181
112
167
130
159
150
186
208
257
172
168
147
225
167
124
115
178
123
239
181
203
112
146
208
160
187
201
150
194
201
121
159
187
176
150
170
176
172
172
231
165
123
172
115
150
121
164
270
156
147
165
176
115
250
212
219
175
182
147
123
121
170
219
112
160
123
171
195
225
178
150
211
124
150
208
208
121
194
172
165
160
150
171
170
121
112
121
112
112
193
146
259
112
226
297
121
177
181
208
186
167
147
135
121
147
209
160
193
207
194
202
216
226
173
112
123
128
210
121
150
213
121
241
167
187
112
158
121
272
128
112
171
227
228
121
233
192
219
150
164
167
208
121
208
208
112
201
165
121
150
152
123
172
272
276
165
192
135
121
189
208
150
208
171
181
150
218
211
165
143
202
229
150
176
150
128
210
201
112
150
206
228
124
220
165
112
167
189
124
123
124
181
254
250
130
174
136
208
124
229
170
205
194
150
208
172
112
257
135
121
121
121
218
147
205
121
170
150
210
172
170
267
250
150
174
208
232
121
112
195
147
172
243
217
167
228
193
186
212
158
167
228
202
168
112
170
171
121
247
206
150
263
123
128
219
175
186
150
150
121
240
171
123
167
144
208
172
150
130
170
208
232
281
208
192
217
229
150
137
208
177
150
255
150
165
177
165
112
112
171
244
239
187
123
115
167
121
112
175
194
203
208
219
150
163
137
150
174
218
193
157
174
194
150
209
167
112
181
150
172
207
150
187
192
265
175
121
205
270
181
150
174
136
205
137
112
230
174
121
121
202
121
276
192
123
253
135
150
112
192
232
150
172
195
228
175
171
231
225
159
185
112
240
128
202
234
121
208
112
172
171
228
231
121
150
158
167
195
150
194
150
121
121
168
171
112
150
150
158
121
136
121
150
171
185
186
171
210
143
186
228
186
208
172
147
160
172
121
123
271
172
165
194
164
174
123
128
112
210
193
218
156
150
112
203
159
168
167
121
240
208
123
121
150
203
112
121
150
150
175
137
237
121
121
225
135
208
172
112
208
238
150
176
232
181
150
112
121
112
284
208
208
123
121
193
189
128
150
208
160
112
239
121
194
112
181
181
228
150
237
123
194
250
187
150
167
150
186
261
281
121
176
150
198
240
184
171
171
215
163
195
203
150
172
121
174
176
217
177
136
150
230
172
150
242
170
112
150
121
220
147
171
208
201
165
158
302
112
121
112
112
176
202
193
170
187
174
194
195
236
123
226
218
205
176
112
112
228
206
135
150
194
112
177
256
171
208
219
203
203
121
150
186
172
121
208
216
203
181
193
239
228
170
196
112
137
112
181
209
115
150
115
225
135
112
175
176
181
121
198
207
231
112
187
112
112
193
158
208
171
172
175
186
210
171
112
168
202
242
232
210
194
229
220
170
208
150
165
112
225
112
130
210
219
112
243
172
178
124
112
201
181
208
215
150
137
167
176
124
112
165
170
259
202
202
137
121
226
165
167
240
237
172
192
172
174
121
217
112
115
115
150
124
115
112
212
215
172
263
176
112
112
208
271
150
150
236
123
156
160
178
163
150
186
208
150
187
168
186
171
135
250
150
195
203
112
150
181
130
150
177
165
112
186
150
147
137
137
176
171
218
193
121
210
210
174
195
112
165
207
202
164
194
121
156
156
150
172
206
220
150
121
150
193
150
263
121
112
112
112
171
150
181
181
168
192
208
112
150
205
217
136
196
187
121
195
137
208
150
208
115
150
123
130
112
112
128
167
210
194
192
150
167
231
112
194
236
195
112
150
194
121
172
124
124
201
121
187
137
150
167
172
212
233
150
123
176
191
237
170
276
115
115
121
121
252
192
112
179
238
112
219
115
228
255
172
124
123
277
121
231
194
135
150
240
171
217
112
226
121
179
137
121
225
121
121
218
210
218
170
231
205
233
121
239
135
112
186
208
112
208
260
150
112
197
123
208
175
137
212
209
208
243
212
192
150
121
208
172
261
167
237
225
123
121
132
150
208
112
150
172
170
158
112
217
208
210
228
199
250
208
167
172
176
150
202
201
194
150
150
112
152
203
121
203
205
205
136
150
194
263
208
112
159
302
167
179
150
112
215
136
217
112
176
135
211
165
150
112
161
123
158
170
226
193
231
112
208
123
172
150
115
121
150
223
150
208
183
167
190
112
205
192
235
302
177
186
150
220
231
197
203
167
232
136
123
150
210
208
121
219
212
112
171
172
213
112
179
203
150
171
112
208
186
121
192
200
186
150
197
226
170
135
135
137
123
112
150
137
194
150
170
195
193
146
112
112
170
150
182
150
219
121
236
115
121
172
232
149
200
150
112
275
202
302
123
207
112
167
170
255
121
150
150
225
167
124
175
159
174
173
123
193
194
152
121
164
172
207
186
208
172
121
121
159
194
174
195
112
137
167
121
172
193
231
121
220
223
221
150
121
152
194
137
192
200
150
121
160
121
215
193
159
272
150
193
112
212
234
195
240
115
145
237
152
115
115
171
276
165
130
225
170
224
250
112
121
171
150
123
171
227
202
150
143
201
208
228
208
170
112
186
171
194
194
124
208
167
174
112
143
278
121
207
150
112
212
242
244
181
150
216
135
167
150
186
112
181
208
152
172
121
219
167
136
189
239
135
174
112
234
172
172
194
201
291
207
167
147
137
150
150
239
150
194
237
179
194
195
192
150
193
237
165
147
112
208
181
176
150
237
160
136
203
123
176
156
167
210
176
186
136
209
112
137
121
192
112
193
112
219
135
160
150
212
220
208
115
150
210
237
172
202
168
123
150
223
167
181
121
220
121
174
170
147
137
175
172
135
150
112
234
170
150
208
112
172
135
193
202
220
121
186
171
219
150
150
262
193
232
193
172
204
112
124
135
212
112
112
171
205
214
207
219
170
112
212
152
208
186
202
177
124
121
225
150
200
150
150
168
193
250
121
234
238
112
121
184
112
194
176
150
150
136
121
136
209
150
124
195
193
195
172
193
239
136
167
193
193
171
177
194
112
210
165
147
208
159
147
236
121
159
233
121
208
112
172
150
202
237
171
112
123
239
212
112
242
147
216
229
250
112
253
150
171
208
150
201
121
121
230
121
112
193
112
123
228
167
112
192
112
112
123
150
201
231
150
167
194
212
112
150
112
135
150
137
207
171
121
112
135
181
150
167
228
150
181
245
150
165
208
167
242
184
112
121
193
194
194
150
136
165
121
147
176
112
150
165
143
130
158
150
123
172
172
121
172
161
112
121
150
112
150
130
168
121
150
139
112
203
150
194
158
194
176
150
136
150
231
231
207
171
187
112
150
150
172
112
135
187
218
112
159
186
201
121
112
225
218
112
115
112
170
181
137
170
172
167
177
172
112
152
193
174
165
167
150
174
170
240
250
164
164
181
121
123
150
164
112
150
219
121
143
172
121
112
207
208
172
135
121
115
123
170
170
193
193
152
123
192
167
194
112
255
263
150
208
168
167
112
174
150
112
112
172
130
168
272
220
130
173
141
121
161
192
278
194
121
112
186
112
121
270
201
167
112
179
210
112
187
135
112
181
182
171
172
171
302
172
165
171
171
112
187
182
168
150
121
203
150
172
275
112
112
228
165
194
150
176
186
208
208
123
121
121
156
150
229
228
150
167
150
177
150
150
170
181
228
147
210
171
176
181
236
187
177
253
208
150
152
195
150
210
112
121
208
115
150
170
161
207
150
194
177
176
135
121
305
232
150
184
297
210
123
225
193
150
170
112
188
156
186
112
137
168
171
150
112
211
243
215
112
194
150
156
214
150
201
150
297
208
210
194
226
175
231
172
192
205
172
136
112
220
196
112
130
208
137
228
150
150
186
121
208
156
176
171
195
213
219
208
123
183
150
170
186
172
150
172
150
181
128
208
168
181
150
208
205
210
150
284
147
176
171
112
150
170
164
165
209
237
214
136
192
231
112
194
121
170
208
150
194
237
150
225
121
112
112
176
194
214
172
215
198
195
150
194
115
214
228
167
121
130
136
168
137
219
217
203
174
194
194
174
150
143
112
177
176
167
236
172
216
150
112
121
112
123
186
205
115
212
208
208
167
182
208
150
178
124
112
208
177
147
233
195
220
112
112
171
187
128
150
167
208
167
121
225
171
123
194
172
112
112
181
150
186
263
150
186
192
135
167
112
170
172
226
150
150
175
112
181
202
150
150
204
121
112
238
112
195
172
121
112
194
208
171
181
235
187
208
212
121
164
137
123
112
171
210
152
150
236
123
186
136
112
203
208
192
210
216
177
231
170
165
167
150
231
233
130
112
181
210
150
167
171
186
112
131
172
121
231
112
156
121
121
158
170
229
112
186
135
263
172
168
121
137
205
150
238
213
123
166
208
171
121
233
170
228
146
150
186
112
184
170
171
121
193
208
208
250
193
176
112
121
212
121
184
215
160
232
112
228
147
174
187
223
172
186
220
255
167
172
186
243
121
253
112
143
228
170
226
121
150
112
112
147
198
258
194
205
233
302
152
208
171
228
137
177
170
193
112
184
237
164
211
167
203
167
234
121
164
208
225
172
124
160
240
157
137
143
168
164
150
193
130
156
112
205
172
175
245
233
128
208
150
201
203
121
211
150
181
186
201
278
159
112
172
186
123
175
208
181
121
165
212
260
195
150
143
193
201
164
115
219
226
115
121
208
190
208
176
165
224
135
209
170
165
165
212
150
219
194
193
203
202
210
186
112
150
208
165
181
170
186
224
172
167
150
201
165
225
231
123
225
208
264
112
186
176
112
123
219
158
128
123
167
171
257
150
179
150
195
184
218
150
244
137
172
112
172
112
172
156
193
150
212
150
112
150
150
124
170
176
127
121
150
230
239
291
121
240
236
164
187
112
226
135
123
167
219
121
181
195
182
181
208
221
255
172
167
208
112
150
167
136
243
164
146
112
230
167
150
123
155
150
123
150
115
202
112
281
167
233
229
150
121
131
121
174
210
150
112
223
150
181
172
123
267
156
112
210
112
170
170
170
201
207
124
112
150
202
208
121
167
176
112
228
165
112
112
255
150
112
150
121
121
123
231
195
194
121
168
150
112
124
208
192
212
237
194
112
112
208
176
208
199
302
112
181
200
171
172
208
112
250
208
194
112
165
181
186
150
121
150
215
228
130
203
237
121
112
147
172
201
215
112
219
176
158
121
207
208
210
187
170
208
150
159
232
150
207
121
209
197
112
172
112
179
136
210
208
167
121
150
135
187
112
181
194
152
239
250
150
182
190
115
233
167
167
212
186
121
228
112
232
147
181
240
150
202
167
208
184
176
225
172
201
115
228
164
158
208
299
152
232
112
220
171
177
137
130
112
150
171
177
187
224
112
150
216
195
121
123
136
250
168
152
121
128
201
194
172
253
124
208
208
167
123
143
136
136
226
115
150
112
187
121
239
268
176
150
121
216
164
159
135
167
270
181
150
237
112
150
167
205
159
131
170
135
156
181
240
156
112
115
172
121
164
220
174
167
112
167
173
208
150
218
123
177
112
176
253
175
208
172
150
121
235
150
165
123
171
208
121
208
202
121
167
167
208
179
203
196
121
112
204
201
186
227
124
203
147
150
121
168
202
121
220
171
198
187
115
150
193
187
135
172
223
208
208
121
165
234
121
165
243
167
136
150
165
170
136
192
121
112
255
255
240
186
206
208
112
195
168
205
170
123
191
172
172
208
165
170
167
121
137
115
170
208
232
193
112
247
121
172
203
150
150
112
170
112
112
240
150
121
150
121
176
112
198
150
121
112
160
150
160
150
208
219
178
112
229
170
150
181
258
208
228
121
177
254
239
167
136
175
230
207
147
150
150
242
150
121
147
215
128
170
228
150
172
217
123
121
150
195
150
208
202
150
230
187
150
229
171
243
193
153
214
121
181
229
150
171
237
112
150
112
150
186
150
171
174
121
205
210
172
150
189
160
168
203
171
167
150
159
112
156
276
194
223
123
277
202
201
150
171
173
121
193
302
147
181
165
218
164
150
177
238
160
176
139
194
112
226
160
228
226
156
205
181
150
136
178
147
172
217
297
135
193
150
121
139
237
208
150
115
161
150
202
212
121
255
164
237
208
123
167
223
112
135
115
164
121
210
156
172
161
168
165
233
201
171
123
243
167
150
123
208
219
150
212
211
172
121
176
167
115
194
208
165
112
242
112
165
217
130
121
167
167
219
207
128
194
167
172
123
164
186
187
237
165
223
137
170
166
187
170
170
167
212
172
150
112
112
160
121
207
208
171
208
150
279
204
171
112
189
177
150
135
186
150
203
193
121
278
172
150
208
179
172
112
208
172
194
263
181
121
150
160
161
172
150
231
150
150
150
194
152
150
150
208
206
121
174
172
121
201
112
170
170
208
194
152
178
184
160
194
194
208
205
181
212
234
174
186
171
150
255
208
167
112
225
197
171
177
208
176
112
174
194
150
137
167
135
187
258
203
195
186
123
208
185
221
130
232
150
172
172
172
150
240
112
123
121
170
171
165
196
205
210
170
167
172
162
170
172
121
250
112
170
124
128
195
150
236
115
208
186
189
147
206
195
150
208
112
150
216
137
170
156
115
123
231
194
150
137
150
171
167
210
150
150
172
115
210
121
167
164
252
195
218
218
228
245
260
195
112
150
158
194
219
150
182
208
112
172
136
186
224
121
112
121
187
112
135
194
150
159
139
123
171
123
239
172
137
123
159
200
137
212
137
121
178
172
160
172
143
123
157
150
167
150
150
147
147
172
181
150
172
112
239
167
112
172
186
165
181
195
112
176
123
227
167
112
121
124
194
115
112
194
150
220
150
193
220
193
172
210
150
150
208
171
223
168
112
121
159
159
112
150
143
112
214
225
170
121
210
171
226
150
112
234
219
150
167
112
150
136
196
135
170
225
250
123
193
237
208
150
147
147
121
179
240
195
208
160
168
200
192
112
135
185
150
208
167
121
112
112
165
128
112
275
187
174
181
171
220
229
112
132
263
202
230
171
230
170
208
128
202
135
121
208
235
159
170
168
195
115
170
238
195
168
202
172
172
172
237
150
184
147
208
172
112
203
193
150
164
165
150
112
112
193
238
112
165
231
181
112
210
263
172
176
236
150
194
216
158
152
112
208
171
121
207
170
157
137
247
194
208
176
160
167
208
165
229
172
165
167
121
136
177
112
150
150
121
112
112
189
176
152
150
194
176
172
167
194
208
112
112
201
193
136
186
172
207
220
146
170
150
236
189
156
128
150
212
192
121
262
157
164
181
128
150
167
167
203
196
115
189
112
209
112
194
112
150
233
150
165
136
150
255
175
112
121
202
150
176
112
150
150
168
170
201
172
165
121
176
181
167
135
170
172
165
207
168
146
136
123
124
170
263
174
167
194
167
193
218
220
162
210
165
186
208
168
259
121
174
214
150
172
201
146
147
239
164
171
167
182
234
193
195
167
167
150
159
112
180
150
150
167
121
158
163
164
165
150
165
193
208
195
202
211
194
150
177
227
177
158
197
124
184
143
235
135
121
220
121
147
132
158
158
150
165
208
164
121
210
177
121
121
164
170
165
161
172
112
115
278
171
176
121
150
112
202
170
150
230
144
170
250
170
201
210
207
152
181
112
201
186
150
150
150
216
201
194
213
170
192
170
135
121
150
168
112
150
121
181
167
121
123
171
186
237
252
167
121
172
238
237
150
128
121
112
228
175
150
121
229
176
226
208
112
250
150
186
203
121
170
220
164
186
167
196
112
208
167
195
201
112
112
219
202
167
167
187
242
156
172
236
121
170
208
172
242
170
150
150
135
137
229
177
210
197
215
208
194
167
208
121
112
167
124
136
208
112
219
123
206
123
170
194
123
186
150
150
181
150
276
208
208
112
112
158
176
112
150
171
174
235
165
150
235
228
115
208
217
208
158
112
171
186
165
121
170
165
150
173
255
121
150
244
137
212
156
208
171
194
200
128
121
186
210
172
276
194
171
147
167
181
243
174
208
177
123
121
217
214
137
255
165
208
150
236
112
220
195
172
167
112
112
228
208
195
186
186
201
176
215
112
172
170
232
165
233
176
201
165
208
205
165
170
208
123
255
150
162
220
208
160
112
170
232
150
121
208
121
228
112
237
217
208
150
236
236
170
159
167
123
195
174
243
150
167
174
115
170
147
170
219
164
112
165
150
112
112
208
192
123
135
121
147
115
208
251
235
176
205
228
150
121
219
236
150
115
158
150
210
112
130
164
201
112
167
172
228
181
188
121
208
160
123
208
181
112
237
208
194
250
208
150
171
160
124
208
210
176
200
112
201
208
150
227
195
153
245
176
208
123
172
112
194
167
112
245
123
115
150
115
170
174
112
168
219
172
170
147
150
121
181
147
203
220
172
209
255
236
201
187
208
250
171
240
193
172
175
192
150
208
194
123
123
194
150
217
167
276
250
172
123
150
123
203
147
121
112
207
172
112
194
150
112
210
150
172
205
218
150
168
192
121
283
263
164
212
112
150
172
171
265
194
239
172
123
121
172
172
213
172
175
170
121
121
123
165
121
223
144
141
150
128
170
150
121
167
208
112
167
202
210
185
167
112
187
132
206
121
112
237
181
278
208
121
171
203
208
121
170
112
121
150
181
112
210
198
186
242
135
205
237
243
150
261
112
115
168
121
205
176
176
239
115
220
135
202
172
205
172
150
228
171
121
121
229
150
112
201
168
172
137
215
208
167
150
112
239
216
112
130
112
171
186
121
210
216
208
176
150
228
158
144
121
202
184
243
112
112
208
228
112
276
112
190
158
243
184
150
150
152
150
205
243
208
135
165
165
112
112
181
131
165
112
201
195
218
121
187
112
156
112
189
237
160
112
112
208
203
115
124
176
112
237
165
167
208
152
112
121
124
121
130
194
226
172
226
192
112
150
181
165
244
150
226
196
263
184
121
272
150
232
170
195
205
228
150
223
236
181
172
150
226
214
205
192
112
121
112
152
123
137
170
164
228
212
150
243
278
179
208
112
150
158
112
195
228
168
231
171
264
236
150
121
121
150
130
160
121
150
181
160
171
170
194
121
112
186
115
236
167
243
150
158
130
165
112
150
208
196
172
208
237
219
150
121
170
257
211
208
150
203
228
208
203
170
178
152
150
150
172
194
170
167
203
121
167
210
302
165
121
278
196
171
164
195
123
164
147
121
218
159
130
193
112
177
171
271
174
208
205
242
202
172
210
178
187
193
121
195
132
150
124
172
150
193
162
150
195
112
243
172
112
208
208
112
189
112
150
128
211
115
121
177
175
228
182
112
136
181
167
174
150
177
176
121
235
208
167
171
112
172
121
136
172
150
177
210
170
150
150
237
150
195
165
123
187
208
159
158
202
150
193
121
156
172
121
208
213
121
186
243
112
150
208
121
274
121
150
208
250
181
124
186
143
187
186
150
215
194
179
210
226
157
195
215
231
208
157
201
176
112
156
208
243
121
176
176
176
226
150
172
174
160
121
121
112
186
112
121
112
208
194
112
208
172
121
176
170
112
150
115
164
167
185
167
136
124
255
179
194
121
121
150
123
123
150
171
181
255
208
231
231
220
195
172
194
150
150
121
170
147
165
150
112
211
121
228
186
228
228
150
150
192
179
226
124
208
262
167
263
179
170
195
121
171
208
128
244
121
203
212
165
208
150
170
165
172
150
218
150
292
174
171
115
172
150
115
208
165
189
115
170
233
242
172
139
187
167
172
160
192
241
172
121
159
184
205
150
187
172
172
202
225
233
112
165
121
172
172
112
234
150
201
150
158
243
112
165
172
199
150
176
193
130
156
174
196
201
171
150
150
112
219
228
237
112
165
112
187
121
219
208
159
172
168
167
220
112
150
158
112
150
205
150
170
121
112
210
157
115
123
150
150
150
203
176
124
186
112
164
150
226
210
202
121
121
136
176
147
194
239
150
233
228
124
177
228
194
167
172
167
112
150
121
263
158
189
150
128
112
210
192
172
112
165
187
150
172
181
112
172
208
186
112
167
136
165
210
167
181
167
235
194
210
150
158
201
167
112
135
171
208
124
236
276
176
156
123
202
172
121
123
206
205
121
150
159
186
150
121
150
112
171
208
245
194
203
124
170
202
165
216
172
150
112
239
194
121
177
156
156
172
112
128
205
195
223
282
196
197
181
208
130
208
172
150
243
167
178
167
186
204
176
193
177
115
196
208
230
172
195
168
172
175
150
164
165
203
164
121
132
156
158
209
165
123
121
192
167
157
150
224
150
164
167
186
150
203
208
212
150
208
112
195
121
150
150
167
195
128
121
177
225
202
278
210
112
194
123
123
239
137
136
159
156
147
152
150
121
201
208
212
181
210
263
112
195
194
139
175
202
158
150
195
228
194
150
196
121
135
176
167
255
112
167
210
276
201
174
112
168
112
135
203
144
112
195
208
202
112
170
135
187
112
205
150
228
208
170
189
208
194
172
237
172
137
112
167
205
150
187
121
112
193
208
177
170
121
172
208
150
150
147
144
193
123
220
150
177
167
168
161
112
171
150
115
218
194
212
210
121
255
212
205
194
112
194
150
112
193
267
150
208
179
177
112
159
229
150
228
225
194
194
239
226
152
136
200
172
221
192
130
150
223
121
186
186
208
170
165
130
214
208
194
150
150
187
233
121
208
143
237
211
150
123
150
263
150
208
208
173
150
241
121
123
137
210
231
171
186
165
208
136
147
170
302
181
164
147
150
121
238
150
210
302
121
202
159
178
121
231
233
170
170
150
170
231
250
150
197
279
184
208
112
243
147
237
193
136
179
150
158
171
124
255
160
207
160
121
195
208
167
181
238
263
254
240
171
121
112
150
181
182
127
170
150
201
147
144
226
181
136
112
135
150
276
213
112
172
150
172
176
159
181
281
208
150
150
195
194
187
220
121
236
170
150
245
243
223
171
121
112
172
137
112
278
150
171
115
165
150
115
121
186
150
216
164
150
171
228
121
150
172
171
121
172
162
112
167
219
150
201
121
177
150
170
212
112
115
121
209
182
208
235
121
181
181
150
193
156
112
224
194
192
189
170
201
130
225
136
136
206
112
150
214
147
170
194
203
194
281
225
170
121
115
223
234
135
187
121
152
200
212
250
233
172
203
145
150
172
205
150
150
150
184
250
112
207
170
156
189
123
112
250
263
150
228
160
167
186
172
139
225
150
167
176
219
179
136
112
194
177
219
168
112
124
121
219
121
150
196
112
131
193
208
147
112
229
228
164
174
150
121
208
123
121
121
208
150
152
112
168
150
121
208
167
193
112
172
150
136
181
208
123
263
136
228
134
202
172
121
210
208
174
172
181
193
172
152
143
115
150
165
112
172
181
172
172
150
181
198
281
121
228
167
137
137
172
115
150
260
212
167
165
250
123
150
167
156
167
158
112
112
161
112
176
171
112
150
167
172
235
150
203
112
135
112
165
219
186
121
165
270
172
208
231
150
189
112
165
217
171
123
112
181
179
243
231
150
167
121
123
150
203
172
172
172
181
170
121
196
147
112
112
181
201
205
121
172
179
195
150
164
275
205
276
172
128
246
176
158
186
185
170
167
167
171
121
146
150
201
150
217
177
194
172
165
150
208
174
194
137
121
210
211
165
150
170
193
227
156
130
156
265
112
150
229
229
121
196
112
112
239
143
150
150
147
181
150
121
144
174
255
150
121
193
149
159
112
112
208
181
150
187
121
255
121
170
121
179
172
112
195
212
165
229
196
195
254
150
171
171
112
112
171
121
123
195
172
217
121
150
121
135
143
210
156
135
289
150
194
213
170
228
186
167
194
164
123
208
186
150
207
121
121
112
208
123
165
182
205
135
112
208
219
175
137
170
112
205
225
237
150
240
112
172
150
137
176
112
137
159
219
136
123
121
174
121
249
136
204
150
195
170
121
124
193
165
172
137
150
265
215
150
171
212
207
194
112
112
195
130
278
131
245
123
228
199
123
238
178
112
143
150
150
112
172
165
121
228
121
121
165
135
220
136
174
214
192
147
135
150
177
183
150
213
181
215
112
187
177
245
121
219
121
150
121
121
172
208
112
239
257
112
215
164
170
179
186
112
150
130
137
172
214
167
128
112
220
208
115
208
260
228
194
150
171
150
231
112
150
121
136
121
112
150
160
112
167
121
150
204
112
208
165
194
112
255
115
112
170
150
203
282
156
239
168
187
202
208
168
121
171
167
179
171
212
136
147
115
208
121
159
187
136
136
250
228
208
194
172
123
177
121
165
186
209
130
160
160
121
150
202
255
245
130
215
112
167
171
231
150
167
187
136
171
208
219
237
172
208
250
136
235
150
158
181
112
150
188
160
112
150
186
121
172
121
136
150
112
179
158
112
152
228
193
170
186
203
181
170
167
302
232
175
178
150
136
193
112
219
171
137
150
121
194
121
165
171
172
121
112
208
240
135
297
172
186
167
136
145
167
175
147
171
208
150
172
255
121
176
195
212
150
175
150
194
159
210
150
233
121
171
206
156
150
150
181
186
258
263
150
274
159
193
150
123
121
172
112
174
121
264
115
112
208
176
193
121
150
176
205
143
217
112
156
202
112
201
228
121
272
228
208
208
150
280
150
168
237
284
172
181
208
121
189
121
132
112
181
115
160
159
172
170
208
173
209
171
201
150
165
208
200
172
186
121
123
205
189
150
202
124
192
150
123
172
276
150
212
221
112
150
181
136
186
186
172
112
112
195
150
121
157
150
172
233
176
172
112
192
150
112
112
199
194
199
167
150
240
150
237
123
150
186
112
121
167
150
177
121
141
276
158
150
153
265
226
174
250
123
112
150
112
194
164
219
112
112
158
165
112
167
195
208
150
170
208
233
194
174
228
157
112
208
150
147
152
172
150
218
177
208
135
158
192
150
172
167
150
174
171
194
208
170
112
226
241
231
186
112
266
135
130
152
172
121
150
271
181
231
150
194
225
170
167
257
167
186
115
150
237
182
150
167
150
157
115
170
112
165
170
112
195
189
229
168
112
112
112
112
217
232
112
167
147
150
112
121
172
176
233
181
178
238
228
228
112
121
187
194
150
170
208
233
263
158
172
112
123
217
150
177
112
172
210
208
234
203
241
219
137
150
181
201
171
179
226
167
112
165
177
112
202
194
158
121
236
190
121
121
167
171
172
208
147
216
115
147
159
190
170
171
143
150
263
112
136
146
242
195
166
112
156
112
201
112
121
233
150
112
150
217
171
164
121
150
112
150
171
172
112
198
147
208
150
150
243
115
171
150
123
255
201
121
170
135
147
219
176
212
158
123
172
121
192
180
210
182
121
165
121
172
193
172
194
130
228
158
213
112
121
201
150
171
123
152
177
158
170
115
121
136
121
176
177
112
194
112
112
301
228
112
123
176
208
112
150
195
136
150
121
112
247
228
112
150
181
205
123
165
112
162
207
150
237
186
139
221
121
165
243
217
221
112
193
255
187
183
112
201
181
147
121
177
115
202
212
226
115
226
186
167
237
150
172
174
167
135
115
228
121
130
270
231
198
202
211
226
216
123
143
112
208
181
181
115
135
217
236
263
137
112
112
220
112
150
201
136
137
176
150
123
212
194
208
236
165
223
159
150
121
171
218
176
187
194
167
112
121
208
172
202
172
193
165
124
172
159
121
171
186
167
164
123
216
174
135
115
212
228
176
198
135
123
269
195
121
172
227
123
181
150
158
150
172
171
137
195
150
208
136
177
238
121
250
171
205
205
156
276
208
170
171
170
195
115
208
112
349
259
172
156
121
147
112
167
181
207
150
253
186
160
112
150
165
272
115
164
121
186
176
135
124
112
181
150
112
112
181
215
167
176
186
121
203
228
170
177
158
276
121
164
171
150
201
130
150
112
150
187
194
265
168
194
115
207
112
195
150
203
150
353
218
191
150
158
220
121
121
243
193
150
150
147
208
190
167
171
172
121
250
237
123
172
150
219
205
147
250
170
123
165
201
208
195
112
121
186
186
219
150
237
201
150
172
203
150
121
167
164
112
112
112
181
233
160
179
231
228
135
135
194
172
121
207
195
176
201
121
121
254
121
135
188
192
241
112
165
150
150
213
172
150
112
167
112
220
233
112
136
150
208
202
139
213
187
123
136
159
112
208
181
150
135
123
121
227
194
187
208
156
121
123
202
170
121
121
121
255
147
195
150
233
137
210
112
150
164
152
112
121
167
167
171
254
199
194
181
226
215
112
112
164
182
201
164
300
231
112
205
167
171
167
178
175
150
176
150
124
181
121
271
201
115
167
150
152
121
172
226
232
233
194
211
281
177
194
121
112
172
112
137
302
193
276
170
208
121
176
193
150
170
278
181
223
171
135
121
115
165
150
167
159
170
228
112
194
192
150
192
121
194
130
200
112
179
208
208
170
208
150
208
121
147
187
123
130
128
170
187
121
218
228
202
208
112
156
235
171
121
170
150
123
194
174
203
204
150
193
150
192
112
150
208
186
217
195
165
226
135
208
250
150
220
121
112
187
123
220
112
144
220
208
121
135
194
215
150
121
165
241
220
121
121
150
150
121
205
194
121
206
181
112
211
158
176
192
112
250
156
150
235
167
112
192
165
147
150
112
165
207
193
172
195
121
192
172
135
238
121
156
150
170
170
244
112
150
205
219
112
131
226
112
162
168
112
272
164
121
194
201
150
211
223
112
150
167
205
135
167
112
192
121
172
194
202
136
112
128
205
167
121
160
123
112
121
150
159
202
176
205
217
172
112
150
121
176
147
216
150
217
207
150
165
160
150
205
164
252
167
164
229
208
121
233
172
271
189
150
167
172
194
172
192
157
208
181
170
228
194
177
172
112
208
176
208
121
217
150
234
168
150
123
147
187
150
241
137
174
112
123
158
128
121
121
136
170
121
130
150
112
170
248
121
208
150
172
150
194
194
192
174
121
135
186
150
150
160
167
115
167
150
212
112
121
171
231
164
242
150
112
112
128
229
174
242
167
228
123
242
181
121
170
202
157
165
171
228
201
185
192
150
144
123
203
170
214
194
170
200
167
172
128
225
206
121
184
176
172
203
167
179
130
181
208
195
121
112
160
220
166
205
184
174
112
150
243
186
177
176
211
115
208
150
181
193
121
208
183
121
172
130
167
176
167
136
195
115
217
112
124
112
179
158
172
208
150
172
171
123
137
172
233
130
170
112
121
167
150
112
181
170
121
121
187
115
137
167
157
171
123
255
156
131
150
175
167
208
195
115
112
172
150
171
189
112
121
115
121
112
150
208
208
181
158
200
123
179
121
123
194
121
239
235
121
170
170
323
239
150
172
150
150
167
161
150
189
167
123
147
121
112
237
167
236
174
212
112
186
171
172
150
150
171
186
181
150
112
150
208
112
194
147
115
150
203
112
143
170
167
150
212
112
121
202
121
150
255
228
176
212
171
121
208
196
121
260
186
112
186
262
123
121
123
176
112
112
193
172
208
150
212
182
199
150
181
170
194
121
222
170
171
177
208
150
165
115
132
219
192
164
193
187
250
172
203
287
208
167
209
245
112
171
121
218
193
176
242
186
194
164
212
112
160
124
194
147
181
170
237
221
228
112
225
240
112
225
198
123
209
135
112
136
219
208
121
243
123
181
220
208
158
171
231
202
202
150
176
217
212
193
121
128
150
205
143
195
172
112
150
255
208
165
112
137
210
162
150
150
136
150
121
121
150
170
112
170
213
121
158
121
206
203
208
209
192
211
224
121
244
121
150
121
171
165
172
201
197
171
123
205
167
282
186
170
150
147
173
121
228
202
150
179
146
112
228
112
112
190
195
150
194
171
158
172
232
176
253
172
112
219
121
165
265
150
210
171
165
208
184
150
150
150
152
194
178
186
112
263
208
237
167
147
194
167
184
112
176
163
167
243
172
137
150
210
229
215
231
115
165
171
167
112
147
193
152
193
239
182
112
210
172
121
121
150
156
226
195
211
150
174
186
150
181
205
150
115
256
112
112
203
167
208
170
112
150
176
158
156
112
217
212
205
172
228
260
246
177
219
208
201
121
250
181
228
150
196
112
171
214
164
240
112
167
137
218
167
193
150
237
150
124
228
235
150
150
215
146
176
135
164
121
135
195
152
179
150
158
179
219
201
206
232
121
202
208
112
123
231
150
150
170
112
194
186
150
165
228
115
172
150
181
202
165
150
208
137
150
193
219
176
112
212
226
172
229
240
115
164
199
147
150
213
210
147
208
150
121
181
176
144
167
123
208
170
115
170
186
218
150
179
123
150
121
150
212
198
205
146
194
112
275
244
112
174
150
143
229
186
170
121
150
150
158
173
212
171
150
147
121
193
247
123
137
201
165
172
112
112
137
112
150
167
208
202
171
167
112
170
172
177
128
167
212
124
170
224
152
167
196
121
172
208
171
208
167
172
202
155
193
150
112
231
112
212
201
112
150
193
212
171
231
187
158
228
121
177
150
150
208
112
112
150
172
150
150
219
220
218
186
228
223
202
193
123
255
194
170
150
241
220
167
219
167
172
237
165
150
123
212
175
121
167
176
172
167
220
152
175
176
208
210
164
167
195
238
181
242
170
207
165
165
227
112
170
176
203
186
176
135
277
201
186
208
208
212
224
164
121
112
171
147
176
150
170
112
150
187
137
112
226
207
150
168
194
112
121
207
209
192
172
164
176
167
248
150
228
121
218
112
123
193
208
186
160
208
136
112
152
112
208
323
171
212
121
143
112
170
228
112
176
112
128
243
152
235
159
210
186
115
237
201
244
137
210
172
121
213
153
137
167
123
212
208
112
171
112
165
219
150
164
217
135
150
228
239
150
212
112
145
128
121
112
162
194
121
186
170
170
186
150
165
112
168
128
150
193
135
208
172
184
194
247
243
115
172
112
229
165
128
170
190
112
208
224
208
278
176
115
210
223
192
231
171
170
193
159
228
217
150
124
176
186
208
198
276
176
203
171
219
232
112
195
150
177
137
181
167
167
150
123
171
112
170
195
186
208
178
174
195
181
195
156
115
205
171
168
172
193
157
208
124
170
121
150
203
135
170
167
115
124
232
172
150
150
208
208
239
203
236
112
167
136
208
281
186
186
112
121
150
208
254
150
146
194
112
112
158
208
123
194
121
123
170
168
208
236
150
170
121
112
210
170
158
121
150
192
240
150
162
167
135
150
123
157
171
121
212
221
210
137
150
237
207
219
210
176
150
219
208
208
208
174
207
193
208
176
144
236
208
193
137
112
121
187
121
128
208
208
172
192
123
147
181
168
278
235
150
150
217
160
165
136
147
237
186
208
171
112
150
227
172
220
264
150
160
210
181
157
250
112
212
167
208
209
150
237
150
115
220
176
164
255
243
202
136
212
187
231
196
150
202
228
156
219
226
150
147
174
115
194
147
287
220
184
236
150
135
136
208
150
216
167
123
171
219
159
112
195
208
167
203
271
212
199
156
203
171
233
200
320
147
112
150
192
202
150
123
217
255
226
112
150
150
121
137
143
186
152
121
228
123
170
150
174
121
150
121
121
137
136
176
167
255
239
128
253
150
128
181
202
187
181
112
172
167
123
264
212
175
186
213
257
150
212
136
152
194
152
121
112
121
139
121
184
231
214
202
186
177
150
186
123
210
112
171
176
123
240
203
202
231
202
152
173
250
193
150
150
235
190
215
228
112
220
186
239
150
210
136
123
193
121
212
121
187
172
150
193
203
195
130
150
124
150
187
235
198
203
208
165
176
181
150
208
112
171
136
171
278
258
243
171
208
150
121
187
136
208
112
217
130
233
226
192
121
112
212
250
121
136
124
259
150
150
172
172
217
112
172
217
207
136
136
208
121
159
210
186
112
299
150
121
150
253
121
170
259
208
212
229
112
186
189
139
150
252
201
231
235
257
165
165
164
164
112
136
186
233
175
112
112
278
112
202
150
164
123
171
171
205
243
165
203
218
193
147
226
193
172
173
208
112
225
150
170
112
270
136
112
121
165
150
196
172
124
121
170
135
150
170
137
204
115
112
302
165
137
172
202
150
112
176
171
194
121
150
165
208
194
188
147
240
252
181
217
152
121
170
112
147
115
165
150
170
255
150
201
176
228
121
194
194
156
172
199
237
121
193
137
115
208
121
150
247
112
210
165
172
123
218
203
167
137
219
115
206
135
112
164
112
147
121
150
253
194
194
143
194
112
250
243
168
172
112
112
156
213
167
124
194
255
276
112
194
112
181
205
150
150
150
231
150
272
170
199
217
181
240
112
121
197
167
218
150
263
150
171
121
171
112
112
186
121
225
195
208
121
112
223
202
112
150
201
195
128
228
150
172
171
239
136
135
216
306
124
225
136
158
165
150
112
207
244
158
260
174
202
172
150
121
239
150
172
112
221
115
202
170
112
232
195
219
201
228
194
121
121
223
150
194
112
237
231
112
208
112
250
130
209
207
112
165
167
172
207
121
112
143
181
152
121
167
175
121
172
115
136
112
278
208
208
135
194
167
139
208
137
171
123
181
150
194
137
147
228
167
230
186
234
163
171
210
194
199
229
112
195
115
150
208
188
123
186
150
121
181
184
208
171
210
152
136
174
245
121
237
150
195
206
150
278
181
121
210
172
135
121
208
211
124
272
150
218
136
152
112
172
208
150
170
279
177
172
112
208
171
216
124
112
167
225
208
150
181
137
202
168
233
201
164
171
193
156
241
194
156
193
176
170
170
167
226
121
203
124
187
195
172
214
210
128
228
193
179
150
230
172
121
167
121
237
170
171
172
212
171
186
112
121
232
225
135
192
121
178
150
112
233
170
150
195
121
167
228
186
175
167
193
121
224
212
150
270
137
167
112
240
174
265
231
240
121
215
150
172
171
220
211
205
226
150
212
112
181
259
112
158
150
174
216
128
208
195
207
172
167
150
192
112
150
186
112
121
302
200
217
218
172
165
181
207
130
150
170
135
217
150
115
201
233
150
112
202
112
115
260
219
112
250
181
209
196
203
150
170
150
167
167
150
164
150
167
165
201
170
194
218
208
112
112
147
157
177
112
121
121
207
170
150
235
121
204
171
150
150
184
167
254
150
121
208
197
150
263
196
144
172
160
121
210
150
150
112
193
212
165
214
232
121
170
112
121
181
121
228
112
150
234
121
237
220
150
121
276
264
254
171
115
243
172
181
176
240
161
130
172
216
299
187
156
172
264
172
112
150
259
128
203
215
206
172
150
150
170
212
135
181
179
244
167
150
136
197
168
123
218
194
112
205
121
170
218
205
136
181
150
156
208
208
302
159
249
170
150
156
160
176
123
196
158
135
170
253
170
172
123
186
233
167
234
220
112
112
208
302
219
112
194
250
150
178
156
202
112
137
144
159
167
176
208
112
238
232
202
203
124
231
121
210
145
185
218
239
150
220
176
252
233
231
187
150
217
187
165
302
150
112
208
208
170
232
176
196
208
112
150
123
275
210
176
217
172
150
208
150
229
231
172
225
205
194
242
128
112
131
112
237
208
192
147
137
164
121
112
112
210
228
175
150
115
150
150
165
165
121
112
219
123
167
121
150
208
165
196
150
130
193
170
184
112
208
121
207
121
170
150
292
124
175
176
212
220
267
181
172
212
112
150
192
112
150
217
193
136
170
219
210
225
192
150
121
195
112
115
121
150
112
239
167
150
181
177
195
150
172
121
186
218
193
187
112
208
112
123
185
112
130
172
150
168
210
121
179
112
112
202
150
233
170
195
158
128
217
203
167
158
165
228
172
181
115
181
195
150
164
175
160
187
172
168
195
165
156
237
229
170
219
150
170
150
112
121
212
164
216
130
167
167
177
187
202
121
186
208
135
172
195
150
274
234
190
175
136
152
195
247
115
196
160
167
228
245
175
202
167
165
242
208
228
203
150
208
203
135
171
176
231
123
205
276
171
175
186
150
172
208
121
176
156
150
174
232
137
150
152
123
121
234
150
170
136
139
239
170
112
170
115
150
150
197
269
172
150
170
121
121
176
167
239
181
158
193
170
208
150
172
227
172
135
174
210
208
208
164
196
150
196
172
112
215
159
214
112
112
208
232
121
123
112
144
176
165
202
213
172
170
167
136
189
226
193
150
184
208
168
204
168
217
150
158
150
168
152
172
186
150
123
121
196
170
167
237
172
112
150
121
143
112
194
150
190
121
168
112
158
157
112
167
208
212
167
124
170
158
234
112
228
112
274
220
175
165
193
170
181
112
181
121
228
150
150
167
160
195
123
121
150
237
123
194
136
202
264
203
228
186
226
172
123
181
187
150
124
152
121
172
275
206
150
208
194
193
130
121
135
219
128
223
115
170
195
219
176
147
136
123
170
187
231
186
215
181
163
212
189
150
172
158
152
302
210
239
202
207
121
150
150
165
121
202
170
112
164
159
172
170
136
121
237
212
181
135
171
174
146
112
237
167
150
231
121
186
150
195
123
164
176
192
150
208
172
112
150
121
150
150
184
172
167
208
210
212
172
164
208
203
167
263
259
208
130
136
130
255
150
150
194
205
112
189
135
208
165
112
220
228
158
150
130
172
115
171
195
112
165
243
150
212
177
229
121
170
150
193
207
208
150
130
158
112
171
172
228
112
215
164
201
217
208
112
123
115
156
207
121
112
227
176
150
220
135
170
158
128
279
228
172
124
162
190
167
121
170
150
171
171
228
186
121
112
220
170
172
208
208
218
198
121
213
237
161
278
180
112
187
124
193
237
172
207
171
176
167
201
170
150
167
171
207
123
167
137
150
203
250
205
158
244
187
150
112
121
279
228
112
208
193
112
194
172
228
121
208
159
225
135
167
193
172
112
302
193
208
195
171
181
201
255
112
194
194
189
174
161
177
210
165
150
178
150
121
207
179
150
171
167
170
193
112
150
112
170
136
112
121
123
181
232
159
144
112
160
112
208
150
121
215
212
150
172
297
112
112
167
225
121
162
150
208
178
112
121
174
177
223
212
263
217
282
186
163
112
165
193
147
228
193
165
121
150
203
123
164
123
123
158
228
189
257
150
170
171
218
165
165
150
171
121
150
216
147
208
181
158
135
208
137
165
170
136
150
210
150
150
202
220
208
167
194
302
221
171
164
192
186
121
204
150
235
160
121
176
198
115
135
194
121
184
196
262
228
228
205
226
136
176
187
171
264
150
267
112
123
240
218
167
177
165
121
194
121
231
208
112
208
167
172
121
112
172
171
194
112
121
137
172
150
121
135
172
231
150
273
172
170
219
167
150
208
112
205
150
123
156
217
165
170
121
112
217
112
228
210
228
150
208
112
234
167
152
158
250
207
123
150
112
176
147
239
123
203
208
173
266
182
176
174
172
179
158
184
150
239
212
150
121
181
243
219
158
220
212
165
136
121
172
181
232
121
207
263
186
171
167
167
171
112
130
112
112
150
193
123
135
176
212
168
209
181
208
187
194
231
193
201
159
203
237
150
274
210
202
279
168
186
164
165
136
112
181
160
150
150
124
171
112
228
150
176
232
161
128
263
213
167
228
172
216
121
239
208
112
147
232
112
150
170
152
147
112
150
193
202
150
160
112
194
201
112
181
150
112
194
237
112
121
172
153
255
159
121
187
208
150
190
128
130
150
112
172
150
115
237
212
144
194
176
170
195
121
223
121
228
202
230
202
150
168
128
112
112
208
203
181
227
202
193
112
250
172
274
152
150
150
181
135
185
136
204
171
178
202
159
172
226
171
112
216
112
297
195
209
137
134
202
160
212
174
194
150
186
115
121
150
130
225
112
255
220
209
210
167
181
186
174
150
237
171
121
192
176
201
171
236
150
121
150
137
171
170
137
112
194
208
231
212
136
239
143
231
123
172
182
136
152
150
217
233
165
201
150
241
186
137
186
181
143
232
123
176
202
124
171
112
135
223
150
112
172
170
171
167
195
192
214
121
121
150
150
190
128
177
171
168
218
123
147
165
150
115
176
147
171
190
170
176
230
150
164
112
121
172
249
167
182
150
112
150
121
181
189
112
201
115
208
172
208
167
229
221
214
186
150
226
194
165
187
243
121
124
150
208
202
147
177
240
172
170
187
172
208
150
228
212
192
121
150
177
150
115
203
181
177
112
266
243
174
153
112
159
208
192
218
112
208
150
112
112
158
112
150
229
208
123
176
231
181
112
112
205
192
170
121
124
203
137
150
171
121
210
136
121
171
112
212
178
170
216
220
187
135
208
170
123
239
167
137
193
235
181
121
121
124
150
121
158
130
239
112
145
194
202
228
168
240
146
147
170
200
205
144
216
172
121
152
112
254
218
136
217
208
212
121
250
150
123
225
194
205
150
172
228
258
193
187
135
121
123
202
164
150
165
243
168
208
150
193
170
181
171
175
150
150
170
250
115
121
208
194
160
208
150
262
172
112
150
171
164
123
172
124
139
257
150
220
167
220
176
171
136
112
112
202
130
194
150
181
238
112
150
297
237
150
150
168
137
172
112
205
135
210
238
194
172
208
174
128
202
226
176
135
179
112
181
194
150
172
121
250
271
210
172
112
171
158
240
137
213
226
194
199
172
229
121
177
150
121
150
250
121
259
121
229
172
262
121
135
230
128
192
208
208
202
195
201
192
203
242
194
193
186
112
168
112
178
228
265
237
123
170
167
238
186
172
219
164
170
115
170
171
208
150
192
179
150
212
121
150
237
150
263
184
176
193
150
137
172
156
150
150
264
194
232
176
208
172
164
236
172
181
150
135
202
172
115
215
203
147
208
123
197
170
158
150
174
150
172
112
150
229
150
193
278
208
136
212
136
135
150
217
208
177
172
250
193
227
178
202
123
121
150
123
230
172
172
136
195
282
186
213
217
167
228
115
171
250
208
176
121
165
177
112
164
170
121
193
112
121
172
170
167
228
161
172
150
253
135
212
177
141
128
203
208
220
259
170
213
228
208
235
226
209
207
157
220
205
145
112
167
237
146
137
208
219
150
123
112
185
112
123
187
150
235
208
150
193
206
165
172
256
170
150
130
150
210
170
112
165
123
123
124
170
123
121
171
251
165
219
172
143
186
121
171
181
263
165
220
193
211
208
172
190
181
251
121
175
171
232
167
135
123
170
201
121
112
112
167
190
167
184
193
150
219
228
136
208
228
123
121
123
207
257
208
208
121
195
112
150
187
150
216
195
203
187
167
220
150
250
205
231
208
112
171
137
132
203
121
112
187
177
208
112
216
237
159
123
175
128
121
150
167
197
150
135
186
196
147
150
150
172
170
123
172
167
147
112
158
112
219
121
156
170
208
156
231
124
212
172
181
147
171
147
150
181
112
136
150
135
170
202
176
233
150
176
112
172
217
172
207
190
208
172
121
172
176
193
167
135
208
174
172
150
182
159
165
165
167
147
144
219
167
208
192
170
134
215
257
235
209
150
115
155
164
112
239
194
210
165
165
203
192
150
217
121
150
137
187
195
177
121
137
226
205
212
225
171
150
195
195
207
139
123
255
137
112
196
192
150
259
225
238
136
168
112
210
137
136
112
170
121
165
173
208
121
158
137
179
124
137
174
165
157
112
172
257
112
165
150
115
176
112
255
226
207
112
123
121
237
121
124
150
263
184
192
237
177
228
211
112
158
196
194
135
212
150
150
208
228
172
168
112
112
214
183
250
278
130
176
128
112
216
187
167
150
228
208
193
121
112
193
150
150
186
176
186
150
150
210
240
237
205
150
237
230
137
170
164
137
112
208
194
189
228
136
172
121
186
167
150
208
128
172
112
172
112
186
150
121
186
194
112
112
167
121
152
203
194
123
121
203
112
160
190
178
137
112
177
227
150
195
165
174
239
219
121
218
186
208
112
172
202
210
181
187
192
112
172
239
192
137
112
167
121
194
243
212
123
187
181
170
177
165
136
175
181
123
171
208
170
112
159
147
112
112
185
172
220
112
121
121
172
112
209
170
150
228
171
150
300
150
240
128
150
172
236
112
160
193
121
297
208
228
121
213
150
150
225
171
215
121
172
124
121
112
232
150
170
150
202
209
136
172
181
112
192
112
228
150
123
209
208
219
167
150
150
147
172
251
121
124
218
112
137
263
208
112
121
203
112
181
121
165
225
171
172
168
201
157
167
195
212
112
176
207
173
150
186
228
150
260
150
186
112
123
158
112
236
167
250
186
250
164
194
255
200
112
112
278
167
156
228
194
238
150
150
168
124
128
121
147
172
136
112
137
143
121
202
201
112
250
167
172
176
112
112
160
172
171
179
167
150
168
201
165
187
132
128
143
170
121
175
147
150
112
267
152
202
157
124
220
253
207
195
194
212
205
171
208
194
266
193
121
121
204
201
170
150
210
194
186
145
171
123
208
170
123
157
220
150
162
150
228
121
228
215
160
167
208
172
112
170
213
112
167
187
221
121
143
232
170
228
112
115
217
208
165
172
167
112
157
150
172
166
202
150
121
172
123
214
168
121
112
112
170
255
225
121
184
150
112
150
242
167
150
150
112
171
172
167
147
172
167
208
172
237
121
167
208
150
278
150
172
172
208
158
121
171
175
237
175
150
135
172
257
219
233
115
229
228
112
208
181
176
255
270
193
136
176
171
186
112
167
136
147
230
167
208
112
167
121
150
150
236
208
150
167
170
115
121
137
210
176
121
150
176
121
276
176
179
159
112
112
121
150
160
158
193
194
206
212
208
176
212
150
195
193
212
165
204
210
208
217
167
167
172
164
302
170
123
207
255
150
172
112
121
123
208
187
172
226
174
208
156
302
207
197
174
150
172
167
150
247
208
255
171
167
150
236
181
172
160
128
170
112
170
211
121
156
150
263
164
207
226
224
164
243
167
193
228
171
150
181
181
193
250
174
167
193
181
189
205
112
121
189
223
210
193
242
124
128
194
179
233
187
202
167
135
232
208
228
181
240
230
150
112
167
115
194
192
195
226
115
143
165
228
177
135
156
235
172
150
150
167
112
170
181
172
208
225
193
121
186
150
172
177
203
188
215
150
201
250
150
170
150
172
229
152
198
121
212
150
136
184
174
170
223
235
208
185
162
164
121
112
135
193
112
184
203
174
208
112
136
194
115
187
123
187
130
176
112
135
112
159
208
228
121
250
172
244
167
194
167
150
150
200
124
121
172
165
121
150
150
112
172
174
172
191
150
150
170
160
239
172
217
179
150
159
123
112
172
208
165
150
194
150
187
170
228
150
123
182
121
302
171
112
167
176
168
171
248
194
228
207
194
121
124
170
194
226
170
150
195
112
176
159
165
112
135
112
215
213
248
177
174
150
192
121
156
172
112
170
196
231
135
171
278
208
167
137
202
186
203
130
208
277
203
235
195
210
137
156
194
167
208
250
143
170
228
150
150
121
112
208
164
171
172
112
124
201
128
202
123
176
150
212
208
276
158
178
150
255
256
150
150
150
112
172
150
150
121
147
123
276
121
150
214
146
215
150
210
172
189
175
302
177
164
124
208
112
123
252
175
150
121
173
167
193
135
150
112
216
159
121
202
208
121
208
136
123
112
208
171
220
208
171
150
135
171
170
150
225
160
123
115
176
137
167
233
181
172
230
112
225
172
150
174
194
186
112
255
121
176
210
185
112
208
191
115
207
208
172
112
181
262
123
150
208
170
207
210
244
121
121
170
121
150
159
210
194
227
278
112
186
194
150
192
150
165
150
194
112
170
147
159
202
121
112
175
121
150
150
167
121
174
156
112
150
150
121
172
244
255
160
228
219
210
124
112
212
202
150
193
190
112
150
174
199
228
184
171
205
137
265
112
167
136
135
123
135
208
170
207
194
172
167
170
255
203
171
136
250
171
203
150
170
112
206
235
210
171
137
165
172
228
121
207
245
158
150
215
176
250
159
177
215
186
123
123
150
150
150
150
176
137
206
150
170
150
179
210
164
208
186
112
172
237
194
164
193
174
171
150
208
160
135
276
112
181
170
172
150
261
170
150
121
150
121
248
150
208
152
123
209
218
150
112
161
212
186
170
176
219
150
171
150
220
137
135
172
203
232
150
194
201
167
168
170
160
183
181
172
112
160
112
227
152
121
194
194
193
208
112
112
123
237
128
194
194
172
239
238
136
171
192
250
150
210
172
150
202
112
202
167
112
228
150
121
209
159
171
178
219
165
121
121
112
112
212
167
302
243
121
137
175
236
228
258
208
150
130
124
219
195
130
147
150
150
112
121
204
158
150
168
225
150
150
112
177
172
208
150
212
146
150
202
137
135
167
209
136
202
212
194
121
194
121
193
150
208
260
171
170
193
112
130
167
150
208
167
208
226
208
228
170
121
139
112
112
274
243
123
208
207
170
170
112
136
239
150
137
164
112
250
176
156
160
139
208
186
172
205
135
214
193
121
171
228
158
228
168
147
181
121
228
202
136
171
150
219
175
158
147
250
186
123
202
134
194
207
206
216
147
167
181
150
228
194
172
212
147
208
112
233
198
198
160
186
121
201
255
193
164
207
202
150
228
167
112
210
233
150
229
123
112
121
205
165
208
115
167
167
181
112
121
186
176
170
250
204
160
123
158
181
121
212
172
112
271
212
186
210
187
257
208
112
287
167
170
112
192
203
121
206
150
112
150
150
237
171
139
228
112
135
212
167
112
167
187
269
150
192
121
208
152
237
205
150
187
175
123
152
150
172
195
177
181
228
112
194
159
227
150
236
150
179
187
181
173
156
201
209
208
147
112
150
219
224
170
211
124
159
210
219
186
194
170
160
202
176
170
159
170
172
237
136
152
121
164
232
159
150
167
167
112
170
160
150
172
167
121
152
250
123
124
264
158
150
176
158
193
172
158
226
171
216
195
145
230
192
202
123
146
159
137
164
210
271
208
167
210
210
263
305
150
167
208
250
112
184
176
181
229
208
194
263
121
150
167
137
190
177
150
112
170
215
243
130
147
112
242
121
112
162
208
160
202
115
181
150
208
121
208
170
208
150
150
150
194
158
160
115
170
217
150
208
150
112
112
112
194
168
192
150
212
112
123
194
224
150
164
172
229
228
130
174
212
135
115
150
172
112
214
150
181
218
123
112
223
202
168
157
228
137
150
150
150
121
192
176
171
257
184
167
136
112
150
276
193
218
165
264
165
121
160
139
150
205
212
170
136
167
206
150
150
147
194
181
112
150
207
175
172
167
162
181
250
150
144
175
162
228
150
170
212
243
172
208
121
297
150
226
260
190
179
165
214
186
219
278
205
172
121
158
235
150
165
186
167
146
159
208
178
157
176
156
112
172
156
143
181
228
279
121
194
112
194
200
150
195
214
150
192
121
170
189
150
278
172
219
167
150
171
112
192
255
181
112
170
150
208
208
250
176
168
112
123
112
189
222
150
186
215
123
171
137
150
202
167
259
239
193
187
164
177
207
150
249
208
159
170
170
115
179
135
207
220
181
128
112
240
150
167
112
164
260
282
164
176
170
230
150
150
206
121
156
165
231
195
237
112
208
171
121
112
181
228
205
164
172
150
112
170
161
121
170
112
208
239
159
112
205
121
171
214
112
171
150
121
170
124
250
115
143
150
150
147
150
182
150
150
226
165
194
201
167
225
121
302
135
170
112
172
193
171
124
176
241
186
112
194
167
188
121
234
112
147
150
174
150
121
164
121
112
171
121
193
121
150
172
112
198
170
201
121
202
208
147
208
177
205
163
112
181
160
112
220
208
150
208
150
208
121
143
150
207
231
231
124
219
172
240
156
123
150
171
172
202
208
176
208
196
208
196
203
237
135
121
121
172
210
228
127
159
112
144
115
236
239
204
150
159
150
190
171
176
121
130
115
135
123
229
237
181
181
225
167
230
165
204
150
187
150
112
182
208
170
147
208
240
137
150
217
162
193
208
208
208
220
192
208
188
112
231
177
187
205
115
208
156
193
194
186
176
115
186
123
189
147
193
178
152
150
112
167
121
147
150
159
150
228
158
164
150
121
185
112
182
165
172
194
208
112
121
121
194
121
225
186
172
186
175
211
115
171
281
208
208
175
112
124
150
150
150
160
121
181
250
158
226
150
123
150
302
195
112
193
112
170
124
137
150
115
194
203
167
150
143
208
150
112
112
121
172
123
278
170
112
212
208
208
150
150
150
112
260
219
112
225
112
203
228
150
194
150
210
187
208
211
209
208
208
150
152
160
208
177
244
150
150
194
208
112
164
202
182
112
187
167
231
243
194
121
171
170
123
248
165
112
121
121
212
121
218
212
208
121
181
150
187
150
112
187
220
192
152
181
112
181
172
172
136
165
147
205
201
172
193
167
121
179
112
176
176
208
172
150
174
115
124
227
172
194
172
236
225
240
241
265
208
121
121
208
147
135
174
255
171
212
255
192
112
112
150
177
171
124
177
160
203
156
176
168
112
121
171
150
167
202
203
124
112
207
124
124
121
172
181
112
194
159
170
121
121
150
171
187
204
150
147
244
121
112
158
121
226
170
121
176
167
150
150
158
147
170
171
150
172
170
137
208
121
121
123
112
135
265
136
231
250
208
231
195
195
219
208
150
253
165
172
217
150
177
121
276
229
208
181
255
179
156
208
228
147
123
123
232
171
231
242
263
150
202
229
121
210
177
176
202
150
171
150
181
207
230
115
121
112
227
210
112
121
147
201
215
245
172
112
121
147
135
158
209
143
130
150
123
150
208
197
176
121
131
210
167
156
137
165
152
242
199
167
150
195
194
150
216
167
239
150
112
167
186
238
229
128
220
112
121
150
170
194
123
175
136
187
135
228
170
150
115
177
121
265
150
158
167
136
121
170
156
150
158
240
112
170
206
231
121
208
167
137
201
184
221
205
208
121
172
200
168
165
237
205
229
136
208
112
171
172
172
121
123
194
150
170
121
171
112
202
121
197
150
159
131
210
112
112
257
150
243
240
231
202
156
123
172
165
202
238
112
194
198
170
147
150
208
255
172
150
165
274
200
124
206
181
176
150
175
202
231
150
229
121
170
137
121
112
202
121
212
212
172
164
158
150
150
217
240
228
177
112
112
176
208
170
172
112
121
115
205
263
115
123
147
167
186
208
150
186
115
115
150
181
181
167
147
170
121
137
181
172
211
165
170
174
141
121
150
206
270
207
191
170
165
130
112
167
150
255
147
172
150
150
182
219
276
177
302
206
123
121
194
164
168
124
112
150
186
165
228
195
194
195
208
165
123
121
150
165
177
135
172
181
186
121
167
150
112
229
121
175
250
165
159
214
170
225
150
255
159
172
150
193
281
208
189
202
184
172
230
174
208
208
150
170
171
150
194
245
150
174
167
185
112
176
206
112
167
121
208
194
210
150
216
244
242
208
147
121
137
150
164
172
167
181
124
208
186
112
121
112
112
150
112
121
255
123
121
150
115
121
174
164
176
150
172
150
112
150
112
176
162
150
234
219
187
171
121
170
150
187
112
231
243
194
232
135
187
159
123
187
182
194
266
178
203
236
115
221
150
176
167
150
237
112
208
136
172
150
239
164
112
130
167
196
236
136
193
165
208
112
250
198
167
240
150
150
233
186
203
165
112
112
206
172
112
135
259
172
168
171
150
160
232
137
220
279
181
228
174
247
208
112
169
215
150
168
164
171
158
181
175
208
164
181
205
121
150
171
136
167
121
150
136
135
263
243
195
143
112
210
182
208
112
182
236
121
167
228
170
195
168
170
150
244
112
170
208
213
205
186
174
112
112
206
137
281
211
172
167
115
150
171
164
176
130
112
137
130
212
204
177
237
150
194
135
192
177
121
207
235
167
207
156
194
167
150
184
218
121
200
187
177
150
167
123
207
150
159
212
189
172
195
121
250
187
135
177
150
202
121
193
112
136
217
208
172
150
179
199
137
165
202
167
150
194
192
150
222
220
164
159
172
112
276
270
208
112
181
112
135
243
150
264
152
136
196
123
112
171
172
165
152
216
112
186
121
171
112
112
128
210
194
208
172
175
135
112
147
112
208
181
172
172
181
159
150
150
210
228
165
195
174
203
216
220
121
250
143
171
112
194
201
227
208
115
150
167
112
150
150
112
150
168
264
112
147
237
112
112
215
121
208
135
112
112
167
202
115
220
115
171
181
172
195
186
177
150
150
127
137
205
135
217
150
208
167
153
203
159
112
208
150
150
194
167
112
135
174
150
112
150
152
112
217
150
144
136
121
193
242
248
143
136
274
121
212
123
175
208
182
208
221
177
123
164
130
121
143
231
187
159
135
201
172
112
239
276
121
121
157
112
165
150
112
192
112
143
170
192
210
150
279
147
171
150
121
167
121
171
121
181
170
174
208
128
195
172
121
150
196
115
170
228
204
139
192
165
167
143
171
121
150
170
158
115
203
171
197
172
208
171
170
124
232
194
150
243
175
150
240
210
150
227
121
150
159
112
210
135
137
211
208
112
193
165
228
202
112
124
112
150
181
302
176
193
232
172
192
272
170
233
243
150
150
160
207
150
233
150
228
156
137
243
171
212
112
150
150
302
121
115
164
202
176
259
170
150
229
208
184
172
220
160
186
121
112
123
123
261
237
167
203
115
136
261
121
176
213
135
150
209
144
192
165
250
171
208
170
214
112
186
172
121
150
179
186
160
212
112
167
121
231
228
136
172
150
150
196
194
123
150
229
300
174
145
172
196
112
166
208
227
128
150
136
115
182
225
228
121
214
181
112
179
121
121
193
187
189
228
265
212
147
112
297
123
174
208
121
219
121
171
170
238
150
179
219
219
239
184
231
165
302
112
194
187
220
112
170
226
186
255
167
193
220
171
220
204
130
121
112
218
112
186
194
147
194
177
143
181
157
225
112
170
112
206
160
215
112
171
257
208
115
121
208
220
150
172
208
136
195
195
137
208
135
172
195
121
238
208
203
136
238
165
167
262
150
203
135
150
112
150
112
124
150
231
181
112
150
176
136
172
150
195
112
150
227
135
220
143
192
231
136
215
208
167
208
210
136
172
112
181
214
237
152
194
137
170
147
167
171
203
170
210
159
121
112
241
170
147
112
143
112
239
226
208
150
147
150
202
172
121
167
210
179
150
276
112
112
172
145
150
184
176
236
170
150
202
112
172
121
112
147
186
123
253
177
193
186
192
203
208
219
174
237
147
181
255
157
150
172
255
124
208
170
193
207
124
233
276
121
243
121
240
181
179
121
112
186
208
203
275
228
211
121
243
196
208
150
191
187
165
172
170
200
121
123
121
192
123
130
172
186
186
195
177
193
215
186
172
147
186
164
175
123
181
187
223
228
150
112
150
158
162
115
208
196
176
186
136
121
181
170
171
123
215
181
199
208
214
150
235
165
115
152
162
208
207
181
172
228
164
205
267
176
193
150
187
162
115
172
112
186
219
172
136
219
195
214
234
159
212
212
195
121
226
150
171
208
150
171
112
208
150
172
195
208
136
150
123
115
112
121
172
176
187
192
112
172
128
199
172
175
168
167
176
259
167
158
255
234
164
225
150
247
112
164
121
302
121
192
208
208
196
121
167
121
112
239
112
112
112
181
144
121
220
115
150
242
172
172
150
164
171
278
150
165
164
112
231
172
121
193
170
208
172
170
176
208
164
208
150
121
260
150
193
208
186
112
150
121
123
121
208
272
172
158
167
220
250
208
195
112
208
167
201
171
208
123
112
186
112
176
193
130
112
124
150
112
121
171
172
176
157
150
268
172
250
123
112
238
164
175
212
233
112
150
150
181
181
187
235
150
112
186
204
123
193
130
164
181
193
208
150
167
177
112
181
193
115
170
231
171
279
130
263
112
112
137
150
228
228
176
208
112
147
170
220
253
150
172
205
137
198
231
121
158
130
136
123
128
224
253
181
175
123
240
231
115
170
203
192
214
165
167
150
181
137
259
150
220
121
208
263
123
112
208
160
208
112
208
202
165
150
150
121
213
186
228
121
195
208
167
172
181
112
198
245
245
112
124
121
147
164
228
202
250
171
174
167
231
165
226
121
121
172
123
208
112
123
181
171
216
176
115
172
171
112
121
172
186
194
225
246
192
165
186
121
172
172
150
115
274
164
185
226
139
202
112
112
123
150
147
208
112
203
186
194
172
137
124
150
136
112
194
121
152
276
150
147
150
137
150
186
112
208
170
181
115
193
115
121
167
193
156
112
168
209
112
171
236
150
171
123
112
183
150
165
182
167
135
208
112
112
150
143
121
171
218
176
121
217
121
172
112
185
219
157
170
152
165
177
150
168
134
165
226
203
112
147
124
172
176
158
136
208
171
242
165
150
250
217
259
208
165
115
192
210
112
135
112
184
167
150
210
171
202
121
137
189
193
232
170
172
216
195
170
172
201
176
176
201
194
194
176
232
160
176
195
212
121
172
203
188
150
250
171
165
263
112
150
136
172
121
150
164
150
172
296
150
195
172
172
150
202
170
232
196
168
192
144
167
128
225
158
228
172
168
112
123
172
178
231
150
112
137
173
250
121
186
311
123
172
187
112
112
217
210
123
181
300
161
177
219
187
121
121
170
171
228
160
174
123
124
172
256
121
112
177
228
220
194
172
150
189
150
208
176
112
147
194
208
194
160
115
175
168
172
177
170
112
164
276
194
123
144
181
150
215
121
112
112
170
172
217
112
121
123
210
172
121
135
159
186
137
143
299
231
171
167
176
124
156
152
150
208
165
177
212
112
176
121
150
167
160
121
150
240
135
150
201
220
136
193
210
171
219
135
208
150
181
185
165
164
121
165
168
165
193
121
167
226
203
112
201
121
147
225
208
123
150
172
302
208
112
235
212
167
239
208
112
247
167
208
177
112
150
219
143
220
254
172
231
231
208
167
237
223
159
202
123
239
255
203
178
150
250
150
121
167
150
156
194
165
194
198
112
245
150
215
208
150
130
207
121
121
137
243
136
150
167
172
150
112
208
171
193
172
208
167
195
115
150
242
202
112
208
217
231
186
152
135
232
150
187
172
115
112
150
202
121
112
206
174
253
150
226
124
150
193
265
187
150
194
198
187
158
187
176
112
228
167
147
195
171
172
167
254
218
150
193
205
239
225
276
123
176
229
121
187
204
203
112
219
213
112
195
121
137
153
146
181
179
176
112
219
208
160
167
115
160
217
121
112
226
150
176
170
208
171
219
167
174
232
206
205
176
174
228
123
121
172
208
112
121
112
112
131
208
202
123
235
164
170
143
170
173
187
150
212
187
160
136
123
195
150
112
238
186
280
176
135
123
181
208
170
165
208
165
187
172
150
150
194
226
115
121
150
150
121
150
190
176
234
135
172
136
112
228
236
226
112
150
302
182
226
170
203
195
121
208
137
112
228
215
186
195
112
121
237
150
150
150
112
150
150
121
150
121
202
181
208
112
150
150
215
170
159
242
123
193
219
150
121
192
121
112
150
186
276
195
112
201
150
136
171
259
215
246
209
209
219
112
158
112
112
123
156
150
275
276
179
170
194
123
172
165
186
208
112
257
196
160
255
186
137
203
162
208
112
150
186
167
137
150
219
112
112
208
172
208
208
203
165
244
150
150
207
223
164
158
121
170
150
167
177
177
158
121
172
156
171
207
165
186
170
159
150
201
150
150
150
172
115
239
195
160
112
112
174
199
152
137
174
121
112
179
167
186
201
186
171
186
150
171
170
121
201
177
123
112
159
150
239
194
176
195
150
172
121
167
176
259
170
205
147
112
121
112
239
150
143
112
206
112
193
189
112
196
208
164
212
124
193
205
170
214
150
189
164
121
237
112
150
186
182
137
112
167
150
123
115
242
170
163
172
150
201
240
150
240
208
181
168
137
135
172
150
150
121
135
218
135
242
136
167
210
193
157
161
123
176
193
135
171
172
181
121
136
208
144
150
137
121
158
212
121
208
112
112
178
112
194
167
168
112
194
112
183
186
192
167
121
186
150
228
222
112
168
237
167
137
194
231
208
115
205
121
172
150
112
168
231
172
212
150
184
172
121
112
139
181
112
157
201
233
192
215
156
239
176
123
164
137
170
208
112
208
181
121
121
167
150
112
112
170
167
150
179
211
172
223
112
150
187
194
150
158
121
121
181
263
112
112
186
193
278
112
150
241
152
171
170
171
186
237
150
165
201
150
228
171
152
184
181
150
237
115
201
167
208
201
172
180
208
206
150
194
193
172
195
210
150
112
176
163
175
150
242
123
150
172
186
269
302
192
192
170
186
213
121
158
208
121
243
123
176
208
195
146
201
239
187
124
150
200
219
167
195
165
210
192
135
172
112
194
147
281
150
165
171
112
150
205
187
121
143
278
170
198
208
186
194
193
243
150
136
186
177
170
202
112
235
172
206
176
208
240
112
165
167
193
188
135
121
218
137
257
143
174
212
158
121
208
150
150
171
205
150
156
208
235
225
121
208
237
167
187
274
193
150
179
112
202
186
228
181
208
150
150
209
121
112
121
112
143
136
241
112
150
226
221
165
237
195
201
206
150
202
194
276
217
208
135
135
112
202
135
112
150
237
208
123
170
121
194
150
150
202
276
167
131
112
302
177
150
121
263
208
181
175
176
194
128
202
112
150
176
150
208
121
115
150
218
205
201
178
170
121
121
167
150
150
130
112
193
112
208
172
150
172
208
210
181
150
150
176
198
194
257
135
172
185
165
115
121
171
184
227
210
181
210
170
167
206
112
112
216
219
150
164
150
186
195
112
210
241
135
194
115
131
112
130
112
152
164
112
195
181
208
128
263
130
208
217
150
112
115
150
174
202
213
167
187
208
176
135
167
181
137
255
167
121
150
192
229
121
168
259
167
172
150
238
194
172
130
186
223
135
150
229
202
150
195
194
165
187
112
185
187
172
262
208
212
150
208
150
230
203
210
174
112
216
250
250
186
137
228
121
150
160
228
170
174
150
172
181
204
150
150
112
230
150
165
170
112
150
192
112
112
193
228
150
195
210
186
112
161
159
242
231
231
112
150
229
167
194
150
208
181
176
121
147
165
150
174
225
208
167
136
112
112
167
121
209
150
240
124
210
123
150
231
150
172
170
112
164
121
208
212
112
228
186
170
150
150
139
115
170
121
121
124
123
150
150
147
176
232
208
170
112
241
208
150
176
150
150
239
165
121
228
128
181
181
150
217
137
209
150
212
143
171
112
112
194
225
170
164
194
176
194
123
205
193
219
123
208
176
278
150
237
192
150
158
195
150
195
112
172
115
150
209
159
218
143
150
228
150
217
121
112
231
147
228
115
170
195
271
233
237
123
124
159
226
194
164
229
150
144
184
123
150
207
228
205
158
121
202
161
171
243
150
164
187
170
210
231
156
182
208
121
171
216
123
150
150
219
150
112
121
156
167
150
124
183
176
112
164
235
172
254
237
121
208
123
121
227
137
194
194
150
136
238
150
150
165
171
225
229
189
150
226
206
146
170
150
150
211
232
182
181
170
214
121
147
150
232
121
112
172
181
252
212
177
228
172
186
121
194
123
159
176
123
203
112
208
112
172
172
112
186
150
181
202
150
136
194
170
176
121
172
215
194
190
171
231
170
167
158
112
168
171
112
215
150
157
250
194
172
167
167
160
166
150
201
210
124
172
121
121
208
143
237
167
150
135
226
193
172
112
112
150
150
208
178
165
231
150
181
195
150
136
112
186
128
112
150
112
181
150
170
121
121
150
150
184
167
182
205
135
150
172
150
172
208
196
170
121
202
194
193
112
112
202
181
187
130
165
212
130
172
212
203
121
176
302
239
195
150
181
237
150
167
170
208
152
112
208
222
159
136
171
165
164
193
220
123
150
161
193
208
112
150
227
219
150
121
170
121
156
150
162
263
192
172
170
121
112
250
205
150
123
112
220
165
172
170
232
124
121
121
194
121
121
130
170
259
150
193
202
150
194
217
195
167
275
150
112
156
146
172
167
186
150
237
255
205
121
171
176
171
195
121
208
150
235
208
124
112
150
176
171
189
212
167
143
227
212
121
160
209
121
195
171
150
158
170
121
112
171
182
236
208
194
171
176
255
115
186
167
195
181
170
186
195
229
159
170
172
112
164
229
124
124
137
208
121
165
131
250
240
228
136
253
121
167
189
176
121
112
165
272
130
112
123
150
226
150
184
184
208
112
121
205
203
181
210
150
123
233
112
174
226
176
202
156
219
231
181
172
214
202
230
147
150
242
112
177
209
150
272
167
192
165
121
172
177
152
178
168
193
176
115
165
217
193
181
195
123
112
150
158
210
237
121
219
181
121
226
112
187
228
143
228
177
123
128
112
211
135
164
205
193
150
121
165
121
240
181
112
150
121
135
154
128
167
201
130
150
176
217
121
147
144
212
190
152
158
192
208
150
193
170
208
203
115
239
204
232
190
112
201
214
229
172
121
218
112
181
172
172
150
245
201
208
121
136
150
232
150
170
150
195
150
193
250
165
112
226
229
165
226
193
215
203
172
205
121
228
225
207
124
238
210
237
150
176
167
150
170
210
208
212
194
150
208
203
217
121
208
228
121
232
147
167
226
167
150
112
164
208
172
130
150
123
178
207
157
201
213
121
170
170
208
255
112
228
167
150
239
132
150
184
143
121
233
112
297
202
167
170
219
227
187
205
121
160
136
170
135
186
202
186
121
112
208
167
123
170
186
196
194
112
115
121
184
212
187
123
201
208
112
189
208
171
146
130
186
112
170
192
172
121
171
156
253
123
202
137
150
193
237
225
150
123
112
177
135
121
130
208
203
150
130
187
112
181
223
159
256
250
130
136
136
150
124
272
150
150
170
150
172
171
171
147
161
178
186
172
150
170
112
150
123
158
202
112
208
182
152
248
112
128
150
121
121
112
112
150
208
150
112
218
150
210
167
150
112
139
112
150
112
164
210
121
112
233
171
201
112
182
237
200
228
150
195
167
123
170
115
112
192
226
256
136
181
136
194
150
150
181
115
159
219
177
186
208
171
186
176
121
121
112
167
150
179
121
164
172
167
156
150
187
115
172
193
170
177
158
161
150
170
122
121
167
208
172
137
115
121
112
150
201
137
145
177
137
146
168
203
165
219
229
201
150
170
176
225
136
167
220
269
112
112
150
115
214
150
194
167
112
195
112
207
121
170
123
176
217
201
165
172
150
171
128
165
174
152
176
165
236
193
121
176
167
208
112
172
172
205
172
158
158
150
121
228
112
121
150
112
150
150
208
177
150
208
124
150
245
112
202
121
170
208
150
243
164
194
121
174
214
150
170
147
135
121
208
228
195
121
208
150
175
150
223
123
208
170
201
160
195
150
159
179
137
186
194
143
170
302
186
121
150
112
199
186
121
121
237
174
112
171
112
165
203
177
121
121
112
167
210
212
201
179
194
112
186
112
229
276
150
187
220
181
121
150
278
240
112
198
212
112
208
231
245
112
209
174
150
255
250
112
136
212
112
162
165
194
150
215
226
194
192
164
194
172
150
123
121
208
121
193
208
121
115
112
112
160
147
121
239
157
175
150
152
123
205
212
112
232
194
245
208
193
150
176
208
150
112
170
121
194
150
170
121
137
209
121
160
276
150
228
194
112
192
159
281
112
121
112
172
214
176
195
208
176
158
231
115
160
171
191
170
172
208
137
276
237
150
201
236
172
115
226
170
176
208
186
150
150
121
115
171
137
172
228
112
112
194
123
172
193
159
167
167
171
123
212
112
147
239
123
165
121
266
112
170
240
172
201
165
203
150
150
210
195
189
172
171
233
147
167
217
136
233
213
210
159
194
171
112
112
136
150
124
147
112
172
112
208
187
219
203
159
137
212
121
210
123
207
112
161
208
170
112
193
150
112
167
160
167
112
137
112
210
121
135
115
202
229
219
238
112
167
121
245
234
112
172
219
208
176
159
137
229
124
159
164
150
207
112
112
156
121
172
223
190
193
121
123
187
264
112
230
210
193
112
167
195
167
121
165
259
172
150
147
195
208
182
150
212
177
171
171
150
208
208
181
229
121
171
123
165
150
174
112
170
172
167
112
165
239
165
176
198
172
242
121
181
161
112
123
167
174
223
150
160
197
214
171
161
165
136
123
112
150
131
170
181
193
174
215
112
150
115
184
150
121
157
152
150
178
164
228
208
172
208
112
150
201
208
208
112
121
182
150
121
218
150
178
199
194
136
112
124
112
212
193
195
205
164
112
172
178
176
176
201
150
150
112
167
121
159
150
172
165
121
263
150
112
236
150
165
232
210
112
187
121
240
177
186
274
115
245
136
167
150
150
170
192
112
124
190
223
193
121
170
112
208
121
177
267
156
176
208
158
160
248
172
150
228
167
172
263
170
167
150
171
144
121
112
250
150
187
216
150
165
210
194
177
172
244
278
170
143
167
170
112
177
215
150
167
225
150
257
187
121
152
152
190
210
229
167
193
208
300
215
150
112
124
191
170
194
115
208
161
178
139
159
190
150
236
130
112
112
152
195
150
174
112
156
147
150
150
189
150
212
205
112
186
112
150
181
128
162
208
128
219
167
239
241
168
121
237
124
259
225
135
121
135
174
112
167
150
123
112
165
164
202
239
172
158
121
250
112
193
201
150
195
240
137
194
150
112
181
236
136
251
208
112
112
121
208
168
172
150
158
121
170
135
208
150
234
159
158
135
194
199
203
172
137
192
144
172
156
175
208
167
121
124
167
210
115
176
179
130
172
237
150
175
150
115
171
167
150
150
250
147
224
186
250
147
244
194
165
150
121
150
121
170
229
181
150
121
209
121
178
208
167
123
121
121
160
220
150
206
150
165
150
168
112
208
170
112
112
123
170
219
147
194
121
159
170
150
193
112
112
137
164
208
192
181
250
176
177
112
167
167
121
208
174
179
208
171
158
193
156
172
112
150
176
112
208
208
243
195
137
208
121
150
192
112
112
121
121
212
158
123
183
156
121
172
202
202
211
121
112
170
250
267
237
150
150
150
150
220
150
208
193
216
150
112
147
237
194
112
208
212
165
255
177
112
150
150
175
217
245
212
197
112
167
150
121
123
147
179
181
193
172
281
177
181
127
121
121
194
215
186
218
233
299
202
185
112
112
175
208
172
172
150
172
172
150
150
233
171
213
146
135
170
205
172
121
121
202
208
112
219
176
123
215
136
112
253
226
150
209
194
167
167
171
165
123
195
225
225
158
195
250
123
184
150
150
187
115
250
177
171
121
172
115
152
167
112
187
112
228
187
170
167
121
147
220
219
208
163
150
136
143
130
226
190
208
112
150
147
172
160
237
206
172
158
208
167
171
160
160
194
165
214
150
150
202
172
112
130
282
124
164
196
186
167
150
202
121
212
121
218
170
112
174
112
172
193
232
227
170
135
233
279
156
112
202
156
164
220
176
258
135
233
212
123
112
171
195
135
167
150
112
158
305
121
123
170
137
112
184
150
152
255
112
121
150
186
135
165
225
194
157
179
150
130
198
164
172
192
163
112
112
171
159
121
167
136
112
167
194
167
178
210
198
225
228
193
208
220
210
210
207
194
128
176
121
210
181
170
150
152
212
297
210
174
150
189
208
263
172
168
265
172
212
219
210
219
171
186
150
194
150
223
158
203
239
171
135
207
165
228
250
302
172
171
205
171
193
228
206
219
208
150
170
220
208
170
112
150
143
150
150
159
167
121
112
160
208
172
218
233
210
219
201
192
272
208
170
242
167
299
245
171
199
212
121
195
167
167
228
135
253
178
150
193
184
112
150
245
181
189
150
176
170
150
172
208
172
112
208
135
184
147
250
167
174
177
137
208
124
150
150
210
121
208
171
205
112
158
112
121
187
123
250
150
170
210
210
136
172
121
121
225
137
167
150
172
170
201
164
135
128
112
112
124
171
121
121
172
121
170
172
172
147
137
208
121
189
112
152
210
112
150
198
240
193
167
112
181
208
130
194
208
171
152
128
150
276
209
175
121
121
175
228
112
171
150
137
171
190
156
171
136
167
160
147
179
237
170
131
172
181
173
208
260
254
121
121
187
112
168
150
150
170
171
150
150
194
186
150
201
171
171
208
231
190
186
171
172
121
150
172
112
165
150
204
115
121
150
218
150
184
305
150
171
202
121
195
112
112
112
121
123
156
137
171
172
121
150
150
225
137
115
228
143
160
212
150
170
195
158
172
299
150
123
193
194
233
112
208
121
208
203
135
203
165
217
112
112
121
213
196
112
150
150
115
112
150
123
128
234
170
170
208
220
189
121
137
172
210
147
222
218
193
186
135
164
219
168
206
153
147
121
135
171
158
174
194
170
192
274
170
170
121
130
202
208
171
150
112
192
167
130
181
192
123
201
208
194
121
165
150
172
121
208
193
212
112
212
121
187
179
112
172
251
143
112
174
164
112
171
136
172
186
150
218
112
214
112
195
171
193
181
186
130
254
225
208
212
208
210
198
184
208
208
236
171
242
112
147
208
212
220
135
281
172
150
156
208
112
150
172
187
209
233
201
181
112
112
171
121
159
213
128
240
164
112
121
112
194
195
219
202
208
187
150
289
203
112
139
150
208
121
124
123
172
302
239
213
217
243
158
112
208
239
202
172
150
112
156
194
167
172
150
203
199
112
258
112
207
193
181
176
201
171
121
123
174
181
121
170
121
112
150
150
176
150
172
222
245
195
150
208
167
135
121
150
112
170
112
170
171
150
156
165
170
197
112
164
209
150
121
208
192
171
150
193
112
112
168
137
262
112
263
229
150
112
161
170
150
150
121
112
196
239
228
121
112
150
176
203
170
150
192
187
208
247
112
195
144
167
210
239
171
201
212
176
150
150
121
241
194
112
121
269
176
189
170
121
207
165
208
239
213
231
201
171
172
220
167
164
150
130
170
181
167
172
188
211
228
205
205
171
181
156
112
121
193
150
167
195
198
123
131
121
208
112
171
175
255
121
124
112
210
220
165
150
112
150
143
172
112
177
170
121
230
176
153
187
257
123
172
130
225
170
115
244
176
208
204
150
167
215
203
112
158
170
189
213
150
152
121
135
180
167
167
202
234
213
115
168
112
143
194
212
210
172
150
112
232
170
228
124
150
187
150
121
165
171
194
204
189
201
172
176
121
208
121
177
121
208
201
160
192
170
112
164
172
187
174
130
194
124
195
185
150
121
167
171
194
194
150
179
210
170
123
235
150
150
187
192
194
135
150
205
112
112
167
150
172
194
174
176
150
160
121
233
200
202
208
178
246
186
124
168
144
228
219
150
165
184
172
171
172
165
150
203
137
208
208
112
176
229
210
194
121
172
228
167
201
150
170
174
202
112
170
170
150
194
176
150
187
172
212
150
112
171
217
123
150
167
123
168
137
124
194
193
192
158
260
128
208
194
147
208
205
233
123
171
208
137
150
150
121
123
112
212
136
165
164
112
176
167
121
112
228
219
167
193
121
159
150
205
121
150
164
112
172
186
172
115
112
210
172
238
171
185
174
150
164
150
220
121
128
165
115
220
178
257
150
152
164
229
172
150
212
194
165
241
209
150
194
193
233
112
160
208
164
171
208
170
150
278
121
150
150
172
171
112
164
228
172
187
121
172
150
170
232
179
193
123
171
255
146
150
235
193
176
112
150
186
167
147
164
201
170
181
201
193
260
231
202
276
170
112
112
228
171
156
143
112
177
150
237
150
172
150
150
237
181
150
170
150
234
171
242
160
112
150
215
135
135
193
112
194
112
210
150
287
205
208
150
172
203
150
135
150
159
189
219
171
255
150
136
201
178
115
172
199
187
208
156
208
233
195
170
208
198
176
220
150
203
220
170
180
150
172
121
201
208
158
121
158
171
112
150
205
226
207
147
121
121
205
130
147
170
164
218
143
123
165
136
112
237
234
157
202
112
123
217
208
137
174
170
112
158
121
245
167
186
196
150
150
112
123
159
172
220
177
167
208
164
210
168
178
147
150
181
187
121
121
147
208
139
150
208
281
207
212
172
121
219
171
123
252
217
121
147
225
194
229
195
150
152
231
210
160
181
185
208
121
203
231
208
177
214
121
187
252
203
231
225
204
112
170
150
234
112
278
181
121
170
172
181
212
206
202
172
223
150
170
185
170
121
150
121
195
208
150
170
172
233
215
174
186
150
210
229
208
276
194
280
150
112
212
208
260
214
240
202
174
219
203
244
172
229
194
206
121
130
172
194
171
203
228
178
197
150
194
123
135
160
186
150
184
150
189
150
124
193
170
135
193
219
204
136
165
112
141
112
167
121
150
192
269
189
167
204
184
121
172
112
112
223
150
220
123
195
121
304
178
214
291
150
196
150
121
271
208
121
112
210
168
167
237
150
220
150
150
121
203
121
112
204
121
112
237
112
112
136
181
240
240
186
176
171
135
135
115
136
150
167
112
112
228
208
185
150
226
112
193
172
112
121
228
193
121
194
172
212
283
136
112
176
197
171
193
158
216
235
123
112
150
208
219
172
205
137
164
177
160
228
214
115
201
186
199
167
205
112
150
256
181
176
121
187
112
178
202
128
112
215
267
156
212
172
121
185
170
181
172
158
177
164
167
177
150
152
150
112
209
192
121
121
112
176
121
112
176
112
194
184
203
202
267
186
223
198
121
208
123
167
181
150
162
170
190
187
172
170
121
123
202
150
186
158
172
112
204
115
121
171
193
172
233
208
112
159
253
121
226
181
112
121
159
172
170
234
150
150
115
194
123
186
112
165
207
146
112
172
167
112
121
217
228
150
130
121
112
201
216
112
194
150
208
150
152
121
172
177
156
112
186
231
212
123
208
177
228
136
112
112
174
272
208
158
150
203
123
123
188
136
253
167
170
112
144
150
187
112
225
194
208
187
150
167
176
202
123
112
228
250
112
212
176
112
272
121
186
232
112
135
172
187
172
158
167
228
159
250
147
215
194
212
176
172
112
208
147
150
150
171
150
194
124
208
231
150
214
194
112
171
121
193
152
121
150
181
237
172
171
210
194
112
177
159
181
177
215
276
263
112
139
158
150
123
186
112
112
121
204
181
275
167
152
115
176
167
247
112
170
123
124
150
159
181
224
243
228
219
112
159
174
171
210
172
202
143
208
172
147
146
121
167
193
150
228
123
164
218
181
215
175
159
181
150
243
171
130
115
172
203
115
137
228
202
225
150
121
208
171
160
150
250
202
181
150
112
124
195
112
136
179
150
187
184
239
112
302
171
112
121
205
150
184
203
121
208
232
208
158
224
121
193
193
208
194
201
194
234
228
167
205
121
150
203
112
208
170
121
130
189
121
150
150
158
208
174
112
172
206
135
123
158
112
136
181
175
167
237
239
192
165
191
121
175
115
130
194
137
198
177
186
152
228
209
150
165
166
175
160
213
112
202
250
164
123
181
181
175
112
137
150
208
195
150
121
227
112
171
171
128
232
150
243
202
210
228
112
253
135
159
170
172
171
174
165
121
250
172
225
130
167
131
123
171
150
177
250
228
171
208
112
193
185
193
115
167
215
208
112
150
199
150
147
115
123
121
115
174
112
121
231
172
172
112
175
147
112
112
171
123
172
212
123
177
112
171
172
177
150
112
121
137
208
112
168
112
177
208
250
160
170
112
208
176
112
208
121
165
276
194
215
164
150
171
208
187
150
123
172
172
218
172
167
165
150
172
231
124
187
124
112
203
121
193
195
208
167
203
205
131
231
137
186
112
150
201
179
219
187
208
121
121
150
172
228
175
167
160
115
217
121
112
166
172
205
121
121
121
228
150
123
137
194
170
136
124
201
172
137
176
158
220
123
181
112
121
160
208
150
250
150
168
112
186
231
208
172
208
165
175
112
112
207
222
208
172
121
177
150
171
112
220
137
279
170
150
121
168
201
251
212
164
112
150
203
192
165
202
150
150
150
208
150
161
172
150
164
150
181
193
172
202
176
191
231
178
210
121
315
210
212
112
160
112
208
172
190
167
112
150
112
228
196
172
167
121
228
240
115
232
278
205
228
201
170
223
167
210
205
181
208
150
214
121
150
167
205
172
112
150
281
150
165
150
112
112
170
194
175
181
150
121
224
193
197
135
121
228
228
218
152
172
231
121
175
121
121
136
123
184
172
121
121
250
121
198
124
220
172
255
167
208
255
170
112
212
115
112
123
156
112
257
159
232
225
224
196
240
112
209
194
160
189
135
254
150
176
203
171
175
159
198
159
172
112
224
176
231
214
112
150
172
202
210
165
210
112
165
167
150
225
220
172
156
156
171
112
150
123
179
202
167
212
121
112
195
112
209
174
150
121
130
193
302
137
112
192
176
187
174
182
228
112
228
192
186
238
135
213
137
184
112
175
182
181
150
172
150
150
112
170
229
132
207
165
226
132
176
228
170
167
168
231
123
136
112
128
121
112
208
176
174
171
171
184
228
171
171
112
167
195
198
237
150
170
272
170
231
208
210
203
172
112
158
167
112
121
150
180
170
181
203
112
150
225
156
150
150
121
212
161
210
150
204
121
231
212
136
195
159
121
112
172
136
176
150
174
167
147
121
150
171
181
171
249
123
135
208
156
235
115
112
250
150
172
150
165
124
198
179
150
166
121
167
167
263
164
165
171
124
150
112
165
228
121
156
208
245
112
176
123
167
220
194
121
207
239
202
201
187
150
178
112
208
167
137
208
112
121
226
184
176
150
112
228
137
170
172
156
121
176
121
181
193
121
157
115
210
172
215
165
161
186
150
112
171
150
171
220
121
212
172
135
263
194
121
112
112
236
176
170
150
181
207
121
238
195
172
121
112
181
229
220
136
185
171
213
121
115
175
150
185
172
174
181
150
208
150
203
115
112
150
201
173
192
208
170
176
124
112
170
208
187
186
216
167
256
230
121
170
193
201
186
186
176
231
150
135
240
181
150
208
123
167
121
172
237
162
170
137
172
135
229
162
152
121
194
239
199
172
186
167
112
121
121
158
121
181
115
123
170
170
128
121
112
112
181
171
225
172
150
301
167
172
112
176
165
223
228
239
226
112
186
164
201
194
112
135
176
208
181
130
208
208
176
172
205
150
112
201
208
137
150
112
112
186
244
150
136
229
112
220
150
239
121
203
195
123
156
176
159
123
115
121
137
199
121
208
167
228
123
172
228
150
150
112
181
208
112
128
112
176
205
121
205
124
194
167
167
135
212
162
150
123
121
123
156
167
208
112
176
195
202
218
194
150
121
150
208
174
121
112
175
229
212
112
171
136
186
112
115
167
206
150
112
158
228
222
173
187
208
208
164
250
159
150
196
170
186
137
208
177
196
135
179
150
302
112
186
159
150
193
150
112
243
202
195
228
230
175
235
147
197
112
187
165
176
164
195
171
250
191
181
172
181
121
121
158
181
121
194
112
112
137
231
121
250
208
225
157
172
150
237
121
172
167
219
170
147
150
123
192
269
187
186
217
112
288
217
174
172
115
112
124
150
219
165
158
121
194
168
112
208
172
231
228
208
178
128
187
167
202
162
205
236
170
121
172
219
214
189
158
112
208
203
177
159
164
187
112
121
121
278
213
208
178
233
186
159
160
144
208
158
177
128
170
135
208
216
150
187
212
218
210
193
161
229
208
121
208
202
167
209
208
284
150
123
235
282
220
230
208
200
202
123
159
172
177
201
150
150
172
192
186
112
170
181
170
291
172
189
150
121
208
194
187
231
195
229
241
124
115
121
123
150
210
176
150
207
112
121
121
150
187
208
176
150
178
172
187
174
297
170
211
172
121
156
112
170
124
171
137
218
175
136
150
160
195
171
121
170
112
121
112
239
150
167
187
170
237
187
171
170
121
112
172
297
184
176
239
150
207
194
135
123
167
187
188
170
112
255
153
153
170
150
243
179
171
158
112
194
112
172
150
232
112
150
165
136
208
208
182
172
202
172
250
227
232
174
159
136
123
195
150
150
208
210
158
172
177
267
208
192
112
220
187
247
201
172
237
115
150
150
208
194
224
135
178
165
226
112
156
240
191
189
150
165
202
194
162
121
176
204
121
201
195
112
121
176
238
181
121
216
136
194
156
150
121
121
181
135
186
237
228
167
202
112
181
123
172
187
136
112
121
172
168
195
112
172
131
167
269
208
158
244
112
112
167
183
121
150
112
187
281
196
250
210
112
229
170
143
206
228
123
135
112
167
174
192
208
220
181
150
172
121
172
150
167
208
250
171
204
172
207
187
112
150
210
235
193
136
219
165
150
220
276
150
208
150
228
149
165
136
156
112
161
201
175
121
147
150
229
219
208
181
263
124
172
208
203
121
213
128
112
172
197
170
210
137
202
121
172
208
150
170
161
158
201
150
171
202
152
121
170
181
112
112
176
167
192
112
112
167
207
124
225
165
201
164
228
150
167
172
177
179
174
174
150
212
187
156
112
112
172
186
135
121
193
208
172
167
225
194
150
150
171
202
234
112
204
208
167
112
302
171
193
150
189
171
123
150
219
150
172
170
158
250
170
124
128
152
219
220
186
186
150
150
165
112
186
123
170
146
170
176
171
225
112
210
212
150
167
171
209
170
213
135
128
135
272
156
136
112
135
170
209
156
195
124
112
276
112
165
206
112
278
128
217
220
167
172
184
187
170
186
237
243
121
121
194
172
206
206
135
112
170
165
234
159
124
186
112
167
208
121
121
208
136
195
128
170
112
208
168
208
150
150
135
152
115
165
167
228
171
167
112
201
172
198
201
176
165
228
234
165
176
178
217
112
124
176
171
158
208
112
187
243
193
172
112
186
156
171
124
136
242
292
231
194
128
121
250
121
225
177
212
208
195
210
123
123
171
181
208
121
167
121
176
208
112
150
239
177
217
123
208
181
231
214
194
137
135
150
193
202
150
150
240
233
172
160
231
192
112
195
150
185
165
150
164
170
136
165
184
112
150
121
293
164
208
168
124
121
164
167
186
195
220
205
112
193
165
159
124
245
112
112
172
115
208
123
150
135
150
181
263
187
150
170
272
208
172
177
195
150
171
112
150
186
135
150
124
210
150
176
192
123
186
228
152
203
270
137
194
123
150
271
199
234
174
167
150
210
248
123
171
217
170
172
203
194
112
150
150
194
150
112
185
168
150
150
181
207
239
147
150
203
150
164
208
200
160
227
147
220
167
229
152
276
135
254
121
187
172
121
195
112
220
188
164
204
167
150
237
121
228
123
172
208
250
228
167
202
130
124
260
121
128
176
121
198
135
181
112
112
208
150
165
150
208
150
217
150
172
130
150
220
123
208
121
193
164
144
165
150
229
147
150
112
172
150
194
184
228
165
255
121
194
112
139
112
193
112
209
112
181
218
176
121
249
164
135
137
112
137
121
112
171
121
112
176
208
181
147
185
121
158
150
121
171
165
150
172
187
176
158
243
176
172
121
236
165
150
174
250
150
112
174
150
210
181
167
121
156
176
150
237
112
170
150
208
193
170
150
123
130
124
115
238
212
237
112
121
186
203
121
276
234
276
181
123
225
136
161
171
201
212
121
137
224
150
181
112
210
143
186
208
179
121
172
212
228
167
247
210
115
178
121
121
208
208
167
144
170
219
234
176
150
121
237
189
136
231
123
203
121
187
172
121
172
121
150
172
150
135
216
121
240
158
137
112
150
135
150
167
186
263
159
220
228
190
162
219
172
187
135
239
175
208
160
170
278
121
242
187
159
208
215
189
208
121
195
206
112
195
255
136
234
163
150
202
206
167
121
141
121
187
172
165
199
171
172
196
176
171
167
208
136
186
186
187
115
171
212
202
135
167
233
207
121
172
172
202
112
150
156
170
201
121
171
204
214
210
150
201
237
150
172
173
174
241
165
112
121
220
158
181
164
170
186
181
112
150
201
139
150
121
112
208
112
220
205
121
121
247
150
278
112
112
184
288
208
223
210
167
208
247
205
167
112
232
171
172
135
121
172
177
150
228
207
228
128
213
156
226
202
121
187
236
168
150
239
172
115
150
121
171
237
150
208
239
217
205
184
226
195
208
112
189
167
112
112
212
150
112
158
156
150
121
193
216
225
165
177
147
177
157
136
170
223
139
174
150
112
112
150
112
150
121
170
263
211
112
253
112
150
172
150
159
212
208
152
212
220
170
150
172
158
112
193
186
172
190
187
121
187
266
208
258
150
112
172
150
121
171
112
112
164
146
230
147
225
163
181
170
121
210
208
199
185
147
112
239
172
239
167
112
164
187
112
164
121
144
112
115
176
167
121
236
150
165
152
121
184
150
112
201
172
170
186
112
143
181
124
186
176
170
112
195
181
147
150
172
220
167
172
115
219
176
123
121
150
121
187
275
230
112
170
171
208
171
121
150
190
150
323
172
193
121
137
172
228
219
160
112
121
231
212
159
208
164
135
193
176
150
150
136
137
170
121
167
150
239
172
150
112
170
208
236
121
137
170
112
152
244
172
193
223
112
167
172
167
181
156
147
193
187
219
205
216
217
243
112
123
170
150
208
184
123
177
220
282
164
165
214
167
237
167
156
194
123
123
217
123
159
236
150
250
195
112
150
226
112
172
156
160
165
112
167
227
208
202
219
181
171
222
276
121
229
220
194
170
150
187
150
177
167
186
150
170
150
170
150
159
167
112
170
167
193
150
239
171
232
208
187
201
150
172
150
181
152
205
137
237
136
115
346
150
279
186
206
170
208
150
157
208
202
112
115
219
115
112
250
217
172
136
212
170
150
164
210
186
189
202
167
250
170
112
208
195
224
237
194
136
181
170
112
159
164
121
225
137
150
121
172
256
229
208
112
236
195
135
172
167
150
150
236
203
121
147
176
112
228
150
150
112
137
177
217
165
186
165
150
123
202
112
208
167
156
121
199
112
121
182
187
112
121
215
137
210
168
150
192
209
135
143
214
171
214
168
170
112
167
192
150
121
150
121
165
150
150
181
194
150
121
186
159
201
181
179
135
208
115
194
243
135
135
177
112
172
165
135
131
167
165
272
181
123
263
172
121
237
150
181
239
121
150
139
150
123
186
112
150
112
150
203
184
152
123
212
112
208
150
150
171
208
170
112
261
186
181
168
172
195
194
208
172
212
172
172
250
228
171
160
247
150
171
208
201
156
195
121
170
147
112
171
177
231
233
202
174
181
150
167
219
174
164
203
170
171
150
112
239
112
223
276
112
170
177
112
123
237
172
208
167
112
186
156
136
269
121
121
158
139
208
150
170
193
208
150
170
112
247
203
199
121
225
208
210
232
184
205
123
121
150
123
123
192
203
159
150
281
196
208
226
177
112
115
112
150
195
183
150
112
112
176
193
150
150
147
135
121
136
170
194
167
231
217
121
150
150
208
193
287
236
228
187
220
263
194
225
201
121
112
172
112
172
150
239
136
176
195
150
233
147
124
172
121
208
219
150
200
172
195
112
220
176
192
172
208
112
150
279
112
112
208
112
193
112
217
121
112
192
195
172
150
152
202
171
212
206
177
228
150
139
150
121
243
170
135
216
184
208
195
263
174
186
150
135
112
112
174
121
259
177
165
194
187
135
208
172
128
165
208
342
172
203
227
170
196
169
181
112
171
112
150
202
205
194
147
112
181
167
171
194
184
218
150
187
279
130
172
164
208
123
128
177
217
208
135
215
174
121
121
215
165
121
186
171
124
185
208
241
186
182
150
136
121
226
208
210
150
176
201
174
245
121
261
137
177
150
165
135
237
186
220
115
167
240
167
225
165
208
150
185
207
164
231
176
124
135
186
112
150
137
205
112
232
128
112
210
121
159
150
176
171
177
167
172
172
121
112
172
243
231
188
150
225
150
231
150
121
115
121
121
171
172
121
121
121
139
112
231
112
219
172
165
139
162
150
150
165
197
112
219
150
170
186
205
208
150
225
124
150
167
193
172
187
147
194
193
172
187
150
205
176
208
121
121
277
160
176
170
237
121
205
167
198
115
150
171
170
112
187
112
112
135
212
170
215
213
205
112
150
208
165
167
150
208
176
171
150
121
194
112
112
146
135
153
205
123
228
237
159
194
208
112
150
184
112
181
121
181
194
150
170
150
172
211
219
177
237
150
154
186
226
150
191
115
231
115
193
112
233
172
193
194
158
123
167
150
150
112
177
112
121
181
143
167
210
147
121
167
112
121
150
170
208
130
228
144
176
121
234
182
208
137
137
208
112
112
255
150
150
150
206
112
135
172
181
112
278
150
121
136
168
207
203
160
135
187
172
208
150
121
167
115
226
159
150
210
231
167
150
121
165
121
219
231
112
112
170
112
121
150
135
135
150
121
181
172
192
171
186
218
159
135
231
228
147
172
121
152
172
112
192
255
235
193
208
208
115
121
135
150
150
172
223
172
208
181
136
121
150
172
170
257
177
171
185
208
172
172
167
157
172
179
208
136
180
171
219
121
212
136
171
181
121
143
170
112
190
172
206
201
121
168
184
144
112
208
121
112
267
170
136
112
174
143
121
250
112
237
112
206
121
170
123
186
121
217
144
256
210
150
202
220
121
136
172
121
121
112
123
250
187
181
210
150
121
112
193
258
174
228
150
193
171
173
220
121
135
299
177
167
123
205
229
186
232
112
208
186
165
212
112
112
160
210
232
112
123
171
195
278
203
171
150
194
250
150
212
170
128
172
198
208
150
223
193
208
172
205
137
150
194
231
150
150
150
187
176
172
170
177
112
147
165
150
112
174
165
167
210
263
150
121
172
167
170
186
194
121
210
150
123
194
208
259
112
112
251
170
208
135
167
115
186
150
167
234
150
190
170
159
202
208
243
150
144
150
121
150
121
123
121
112
170
172
112
150
150
121
215
208
258
209
208
237
218
177
112
167
143
150
228
147
232
175
123
171
123
275
128
150
172
121
197
194
193
121
201
112
213
241
121
115
250
185
161
150
171
150
147
150
112
112
157
228
147
121
171
208
209
112
176
205
250
123
121
171
236
186
158
121
150
187
112
156
121
175
192
247
172
112
123
143
150
192
194
255
187
112
150
203
192
201
172
236
170
123
171
137
164
212
150
167
115
176
229
121
150
158
112
172
121
194
215
174
167
170
156
208
239
152
172
176
186
301
121
237
219
170
150
167
121
164
172
228
203
136
112
112
112
115
150
172
112
193
250
150
208
208
144
167
186
202
172
135
121
205
176
193
167
172
164
257
205
194
208
193
136
123
150
121
137
130
194
167
187
150
172
184
124
208
186
177
208
150
225
157
241
193
194
136
121
194
263
112
168
176
193
201
261
152
170
171
165
240
212
150
176
150
121
172
170
150
195
121
193
150
115
135
186
178
123
208
193
167
123
130
124
237
186
172
124
121
194
207
156
163
237
170
212
150
255
150
170
123
165
112
208
176
177
150
164
150
217
196
156
123
112
158
176
159
159
217
184
190
223
112
236
132
161
137
165
123
150
147
202
195
210
247
263
170
187
168
112
237
201
224
121
267
226
158
150
121
167
193
150
124
150
112
208
212
172
112
171
128
112
150
112
115
158
112
150
194
121
223
121
152
194
211
171
192
182
165
240
203
225
160
171
143
196
177
208
228
172
208
152
170
150
208
150
150
187
190
195
231
181
124
202
150
171
172
156
150
165
202
223
121
212
186
165
190
173
171
208
124
124
139
150
208
150
171
172
150
164
150
204
112
208
178
218
170
181
210
112
159
208
171
228
123
121
143
137
179
128
202
208
115
124
172
150
121
161
239
232
208
150
112
238
115
217
186
170
167
172
112
176
170
208
223
214
207
136
121
167
150
112
170
112
201
135
170
177
112
150
171
146
112
208
255
124
295
203
178
174
112
112
112
181
175
194
162
186
172
112
152
193
208
218
167
177
150
150
201
192
170
156
160
217
172
170
150
121
172
121
172
153
179
200
112
172
121
150
233
161
197
112
112
187
210
150
176
194
193
121
167
231
208
172
170
121
229
208
250
209
276
235
150
170
196
121
189
160
112
176
167
172
170
174
170
150
181
147
181
150
147
150
171
150
167
130
201
168
121
112
208
170
150
121
210
150
199
123
193
194
205
225
147
219
172
179
135
212
112
112
177
208
194
112
190
167
208
112
208
152
170
256
167
187
208
160
197
174
147
172
171
130
231
195
150
203
177
172
112
167
208
232
124
176
112
177
150
202
174
164
187
208
171
299
208
208
191
240
123
194
121
167
170
150
186
112
165
174
150
167
226
112
208
237
220
150
170
112
208
172
195
112
193
178
228
167
186
195
193
150
228
217
228
208
212
135
215
115
115
112
112
217
150
121
187
150
135
112
238
139
237
193
170
208
121
168
112
171
172
150
121
150
170
167
172
210
225
121
194
167
123
212
207
208
128
193
194
197
228
112
121
150
165
216
187
176
121
172
170
172
171
208
202
247
210
150
112
112
158
150
123
150
150
171
194
195
112
156
130
165
167
115
112
115
150
130
172
121
236
187
227
170
123
210
121
123
165
112
177
121
158
184
121
172
159
214
231
170
203
173
150
231
160
195
123
195
123
176
243
181
228
176
112
208
143
179
187
224
201
167
186
167
123
167
128
181
208
186
195
176
167
208
206
130
158
155
121
170
170
150
158
302
112
194
150
208
228
170
181
150
150
186
186
194
112
158
112
165
121
167
112
121
257
231
112
189
192
181
208
219
150
196
170
121
172
231
220
150
240
176
181
215
186
150
174
208
207
208
174
167
112
150
213
186
150
263
170
121
141
193
210
178
172
168
121
112
208
150
137
112
150
167
152
167
150
153
115
177
112
121
208
186
202
112
150
195
205
208
150
150
208
187
164
176
194
201
124
112
245
165
203
165
211
201
171
187
210
112
243
112
112
210
208
232
208
216
150
150
121
218
112
208
112
128
112
150
136
187
219
112
112
170
226
112
208
121
112
208
181
150
150
136
228
150
171
195
186
208
255
210
170
194
170
150
203
112
159
121
187
121
196
167
172
206
167
150
112
121
186
173
161
202
172
172
150
136
181
171
176
229
187
112
121
112
123
112
233
208
112
170
172
186
172
176
150
150
208
112
174
150
172
121
220
112
181
121
167
167
121
121
217
160
172
150
115
150
181
202
216
168
212
121
123
228
202
257
278
163
208
191
150
225
135
150
258
165
186
231
175
255
112
181
121
121
123
201
112
176
220
150
203
260
137
231
205
172
208
228
167
172
213
174
150
159
112
202
263
164
136
208
166
121
115
135
208
247
150
181
121
115
172
170
147
206
172
236
121
227
213
239
135
263
167
250
135
208
143
170
150
150
176
226
228
150
172
171
194
201
135
167
172
121
296
231
177
208
187
150
150
150
218
150
194
212
186
150
147
190
121
172
175
194
210
150
121
112
210
112
171
243
121
181
144
197
181
210
219
206
194
194
202
194
189
228
171
150
112
172
172
216
121
237
147
158
112
170
135
150
264
175
219
276
172
156
128
121
219
150
231
208
182
112
176
171
205
156
184
112
172
215
172
121
232
112
172
230
187
172
124
201
205
181
218
193
121
234
150
165
167
122
112
128
112
112
123
165
167
208
150
206
150
194
225
112
181
204
178
167
220
271
150
150
164
228
150
167
179
174
123
212
123
165
112
201
236
267
193
176
160
150
204
276
207
170
208
150
112
150
170
170
174
150
237
187
186
136
150
170
150
112
207
150
279
130
150
112
260
135
181
228
150
150
161
172
239
186
179
218
208
150
201
150
121
171
210
195
171
174
194
136
201
112
208
168
258
134
207
208
165
175
195
170
137
165
194
186
171
176
150
112
177
187
203
124
201
171
208
112
172
157
244
150
170
172
171
150
150
229
150
202
250
232
159
176
239
167
181
231
237
250
143
238
208
156
190
156
121
121
170
237
152
195
234
209
112
228
165
241
158
130
172
218
165
186
152
236
112
112
171
186
239
194
112
236
186
208
160
187
220
112
170
215
202
121
168
112
255
305
164
150
176
211
176
172
112
112
210
201
112
172
172
152
150
128
202
193
181
121
131
150
164
136
112
210
150
179
121
186
187
196
152
176
170
121
171
245
152
158
112
137
150
112
239
168
291
150
181
136
171
112
171
203
127
223
112
202
112
192
112
228
226
193
193
112
219
121
115
170
112
196
160
112
238
255
177
194
134
159
112
177
115
150
112
176
121
150
181
232
115
212
150
219
121
124
172
208
150
121
167
123
150
186
150
186
167
227
150
123
167
194
194
112
147
200
112
195
112
158
208
150
177
272
192
208
208
228
220
150
229
121
242
242
226
121
150
224
172
172
177
236
243
226
240
186
177
234
150
171
208
150
228
218
121
212
150
112
208
219
302
194
194
168
219
228
150
123
172
239
208
178
176
172
112
187
137
137
171
208
171
202
225
137
171
165
112
150
203
222
250
150
195
219
193
228
181
172
208
225
297
205
121
150
115
238
160
172
186
227
225
185
170
112
124
177
187
208
112
186
195
112
172
171
213
226
229
112
152
164
112
112
112
218
146
171
230
237
172
172
112
239
121
225
130
171
112
124
112
167
165
124
195
112
189
208
207
150
250
237
115
239
121
218
112
121
232
176
198
194
276
115
158
150
121
170
187
167
194
121
158
172
165
232
112
150
112
171
279
115
208
115
121
193
208
239
171
152
189
210
189
112
123
171
147
228
219
112
171
165
230
182
115
282
172
208
186
150
193
225
171
112
177
225
167
121
112
240
170
159
208
159
150
112
183
190
162
228
234
208
165
170
160
150
156
255
147
174
150
165
219
150
208
147
208
152
176
171
112
170
212
212
121
181
123
150
208
152
241
112
208
136
147
226
205
250
170
161
137
195
121
112
171
186
208
170
215
208
124
248
210
150
172
193
150
203
186
121
202
112
165
112
231
208
150
211
121
164
123
147
171
150
259
172
236
170
150
209
112
175
165
234
192
228
186
201
187
150
172
178
121
168
150
201
257
130
150
150
164
150
150
167
143
112
170
121
150
206
313
231
170
115
256
217
250
186
150
208
212
167
150
172
112
172
208
181
187
208
208
112
164
237
181
150
178
150
137
208
121
176
165
187
181
237
219
170
173
179
172
231
165
144
123
195
112
168
121
186
159
219
194
189
150
130
176
176
160
112
194
123
150
160
215
219
173
167
172
123
165
227
115
121
193
112
112
150
172
168
123
205
194
135
252
192
150
195
152
226
195
170
150
121
194
212
160
164
208
112
182
172
150
207
219
172
219
302
196
255
170
170
112
220
121
210
177
193
123
209
171
167
150
112
112
210
168
208
150
144
176
150
112
184
194
203
158
172
175
121
112
167
130
147
123
150
112
112
174
159
167
112
150
192
210
186
208
165
123
188
201
159
225
167
230
170
156
167
179
112
112
201
170
234
208
121
172
237
130
150
190
150
302
121
135
167
192
112
202
254
200
233
121
181
121
208
194
121
274
128
233
221
167
172
112
194
135
136
187
152
172
231
258
135
158
234
174
194
231
172
136
112
121
231
245
210
208
150
165
176
212
229
187
255
150
150
150
112
159
193
150
112
115
170
215
174
172
167
171
221
124
157
232
243
170
167
150
229
135
156
128
176
255
218
135
150
186
150
175
165
150
208
202
186
203
161
112
171
137
172
186
212
170
121
171
167
121
210
228
176
194
167
238
260
121
161
176
181
205
212
201
230
160
136
208
255
225
235
121
112
193
158
187
152
121
208
158
123
123
139
170
255
112
208
239
208
112
226
253
147
182
176
121
219
229
171
150
200
172
121
167
208
121
150
164
222
194
150
112
160
167
237
150
181
231
208
152
231
150
202
167
121
112
170
172
165
171
112
263
164
137
112
150
152
193
210
150
112
150
150
170
284
231
186
246
157
136
121
177
172
112
215
150
239
208
156
112
226
112
150
150
112
208
150
150
150
150
255
172
172
112
150
171
233
150
212
187
208
147
121
150
215
208
226
194
202
121
203
217
143
232
124
167
150
208
276
187
160
172
150
170
150
150
150
121
115
121
228
210
136
208
112
144
299
158
137
121
181
208
212
121
170
170
158
150
123
172
218
112
174
210
201
210
187
167
208
170
243
121
150
143
150
150
194
171
112
167
201
212
150
158
210
250
159
215
150
208
208
172
168
172
205
172
165
112
123
170
136
175
112
205
164
135
150
229
187
202
265
121
171
194
121
121
172
112
112
267
186
172
187
112
158
194
158
128
167
171
208
208
240
150
167
160
220
167
184
135
112
150
234
112
186
158
216
150
193
150
121
176
243
208
175
159
195
121
242
174
193
150
240
161
180
112
121
247
121
194
136
206
121
208
135
121
112
167
136
208
121
135
121
194
112
123
143
115
210
135
150
112
112
121
136
167
137
207
253
115
112
156
172
207
170
121
171
172
172
112
201
214
200
193
202
170
172
150
112
208
194
234
213
233
195
112
170
147
208
212
208
112
176
201
187
236
212
167
137
171
150
147
255
112
302
203
112
112
137
237
147
123
150
240
185
228
112
170
212
197
205
194
220
172
175
150
237
203
150
282
209
159
176
115
181
150
112
150
210
208
150
228
214
152
208
184
195
208
174
205
172
235
212
150
115
181
172
242
201
144
112
172
219
232
186
152
130
150
203
150
170
232
215
228
208
181
212
172
167
112
172
123
165
228
171
172
263
150
115
150
170
121
194
228
112
172
170
208
212
164
115
150
172
112
165
242
215
211
208
162
203
203
208
240
239
112
171
121
201
202
112
158
164
112
112
202
112
202
195
198
172
177
189
207
130
233
208
187
208
175
121
176
136
215
190
172
243
231
187
185
112
115
121
174
234
179
165
208
234
135
137
202
250
223
150
176
170
130
208
171
186
189
121
193
263
215
178
172
205
219
164
171
150
201
167
223
243
239
112
202
176
112
170
195
207
172
150
121
181
136
235
194
208
268
203
150
195
201
112
167
170
179
136
239
124
137
181
170
150
208
112
208
136
115
187
238
165
165
237
181
208
164
208
181
210
219
234
186
137
231
170
112
208
171
112
145
121
171
237
210
112
121
112
167
186
150
112
115
208
237
181
164
205
217
165
199
167
167
187
220
150
203
150
195
150
193
112
130
172
193
112
243
181
123
217
112
158
150
170
153
205
121
164
226
150
167
238
194
208
192
202
218
156
174
134
150
135
112
156
167
267
212
250
146
212
112
121
158
243
209
112
135
150
165
165
181
202
184
157
121
143
176
175
204
128
220
153
150
194
208
121
152
164
150
167
112
167
147
124
112
160
167
250
172
174
224
186
167
220
164
230
121
150
205
250
170
172
208
150
150
167
212
121
184
150
229
181
213
195
212
235
228
167
212
213
150
218
167
123
210
112
168
210
231
212
237
112
121
167
168
137
121
150
187
112
171
170
176
206
156
164
121
197
150
121
150
158
239
210
112
147
192
172
176
156
137
194
112
123
240
137
181
135
168
171
121
213
208
115
228
299
164
208
212
208
170
147
208
229
233
220
156
150
171
130
112
202
112
190
216
124
202
182
121
147
231
208
215
183
170
123
170
232
172
165
250
165
195
150
194
208
201
150
194
208
165
234
150
150
208
208
239
165
150
207
121
274
172
255
170
112
205
144
175
130
171
112
192
150
186
167
225
221
150
243
208
176
127
171
204
193
172
184
202
210
158
203
150
152
214
170
121
229
165
194
121
194
228
211
146
194
165
150
259
121
162
204
216
136
121
121
150
210
210
220
167
208
156
150
152
212
208
247
159
150
211
177
221
135
172
201
112
112
112
150
223
112
208
208
121
289
202
121
112
150
176
278
165
212
167
160
164
214
172
194
167
174
215
172
203
194
228
176
150
167
170
150
172
210
112
115
176
112
192
181
176
115
172
167
170
121
121
115
172
171
150
200
211
181
187
112
176
150
159
212
163
172
121
181
231
121
240
115
121
208
150
186
176
165
167
239
208
112
123
172
167
172
112
112
172
193
206
135
194
174
228
112
208
250
205
135
121
121
172
172
181
212
150
209
171
202
212
172
121
121
170
186
194
212
150
124
186
194
238
167
208
144
150
233
121
150
171
208
112
112
171
146
112
150
123
112
203
167
112
121
208
212
112
170
150
228
228
208
170
167
174
150
170
208
112
234
171
255
112
176
208
121
213
167
228
172
172
172
170
171
150
130
168
167
171
159
136
112
203
121
112
167
231
217
172
167
240
170
228
170
208
150
202
208
112
202
112
167
192
207
135
172
121
171
208
255
186
172
124
228
112
121
195
147
218
194
176
236
212
208
112
207
187
174
259
172
193
167
150
172
202
150
192
167
175
205
181
172
130
214
150
112
176
147
186
202
208
167
121
182
167
167
164
172
165
112
297
112
220
156
112
136
177
164
112
235
121
186
201
172
194
208
255
112
170
239
170
121
150
159
187
170
220
181
165
121
186
176
171
170
156
121
232
176
255
235
241
203
112
186
112
243
202
176
121
187
123
226
228
208
189
115
186
208
212
112
199
150
243
172
150
123
176
172
239
237
208
150
164
170
172
112
150
194
195
250
123
160
112
239
255
147
219
152
239
158
112
136
175
170
150
123
121
158
112
135
205
121
150
189
170
121
124
174
112
181
222
194
195
158
152
194
193
190
147
201
255
121
250
121
132
170
208
208
172
130
137
174
186
196
115
212
112
208
124
167
136
175
150
121
160
240
193
172
150
172
193
172
135
123
176
237
147
201
235
177
210
167
135
181
172
184
174
194
172
165
172
152
159
172
203
150
115
121
150
112
212
115
208
220
167
156
152
150
150
112
212
177
203
229
150
171
237
228
171
171
195
121
202
181
121
112
174
121
228
170
233
112
181
172
137
121
139
250
172
121
171
177
217
147
229
147
174
176
165
150
172
112
112
167
157
164
112
189
186
200
203
137
167
165
137
179
123
195
135
187
186
168
195
239
228
170
184
162
241
216
193
208
160
167
232
150
147
112
167
157
150
115
170
218
194
150
143
136
203
219
237
112
198
190
124
181
112
150
171
228
137
200
214
203
174
218
205
195
164
302
187
121
259
130
112
243
208
198
208
150
208
177
201
121
213
158
150
223
150
250
112
121
172
130
167
121
210
150
121
207
164
184
112
208
150
235
208
152
121
123
257
181
112
233
123
208
150
159
150
193
112
246
165
237
150
164
193
136
223
210
167
184
167
112
115
225
150
150
172
264
121
174
202
220
150
150
115
172
121
170
210
170
231
112
171
124
170
158
176
112
208
157
210
174
248
150
302
150
115
242
112
193
121
186
150
167
112
208
137
196
121
171
115
167
170
172
208
195
218
150
123
202
181
181
194
172
172
170
228
176
202
136
112
150
219
172
228
228
208
164
276
171
171
171
167
208
150
228
165
201
172
123
259
121
150
150
196
192
112
231
263
147
137
237
121
115
112
171
212
172
112
212
174
176
167
165
172
136
131
208
208
165
112
136
150
170
124
135
121
112
137
112
164
172
170
137
182
194
121
228
231
121
170
172
242
121
112
150
121
121
121
181
112
156
297
112
174
150
128
223
170
150
150
228
235
210
263
195
172
189
157
177
181
240
112
156
208
231
150
186
172
208
229
150
227
172
112
205
192
239
160
121
112
167
215
203
194
208
121
194
186
150
112
165
207
123
231
150
239
201
229
112
170
186
137
150
187
215
244
192
171
121
157
121
167
176
208
112
237
187
181
181
112
150
170
150
172
172
215
202
276
162
250
150
136
121
174
170
203
203
208
186
195
201
167
167
201
205
150
172
150
150
150
150
208
150
176
162
208
250
242
201
212
203
167
112
144
210
145
202
195
170
193
135
157
229
212
210
208
170
194
150
176
181
208
192
201
215
121
243
144
121
121
263
210
243
112
250
170
194
147
172
171
112
167
208
172
215
213
208
112
131
153
213
156
112
121
226
167
192
121
121
176
150
171
123
112
150
112
224
150
137
121
147
192
215
165
212
112
112
164
190
186
167
121
241
115
167
167
203
190
167
212
181
112
202
208
150
194
207
150
172
174
239
181
187
170
195
219
174
184
241
150
239
168
259
186
112
173
194
112
170
167
194
187
187
167
121
137
239
208
194
152
112
150
208
208
229
121
171
210
112
208
165
150
112
136
137
224
128
214
146
137
192
150
150
196
150
112
112
220
115
203
112
167
112
121
236
150
170
150
121
137
112
217
193
121
262
172
207
218
112
165
150
150
150
212
121
193
165
208
112
177
194
165
172
150
205
177
143
112
137
203
208
181
123
231
267
121
257
217
175
172
205
165
263
165
121
170
172
150
181
270
157
234
194
147
208
212
157
167
165
150
112
225
147
150
170
115
214
115
150
205
220
195
172
187
123
208
217
150
210
170
184
208
194
137
167
136
159
260
181
208
158
150
172
206
176
274
123
208
124
150
152
124
121
263
121
152
195
215
121
177
170
193
192
171
153
172
150
220
112
205
172
175
124
165
177
172
263
123
150
137
247
123
123
121
208
150
210
195
112
179
171
165
150
124
208
240
150
233
150
121
168
205
302
206
150
219
263
208
232
185
193
112
257
186
184
219
194
150
160
193
172
167
174
123
195
172
203
150
233
239
195
171
272
121
150
112
121
164
165
170
130
112
210
170
121
238
128
170
208
240
208
156
181
171
121
112
136
212
203
228
121
123
228
172
165
112
173
150
190
121
121
161
176
135
112
228
206
150
121
172
128
261
212
170
226
208
130
123
220
220
242
121
195
207
121
112
124
187
165
121
115
121
236
121
240
121
123
196
121
172
112
212
187
203
163
228
165
171
137
275
150
208
121
124
121
177
208
194
212
171
147
156
157
143
150
167
137
208
159
171
208
124
219
112
156
207
237
193
172
231
171
112
205
167
208
150
202
112
239
150
226
195
212
170
203
172
121
202
237
226
172
112
112
225
143
186
137
172
150
170
204
167
208
185
172
150
150
174
121
178
194
150
204
130
147
186
121
150
176
181
128
229
212
199
121
170
150
215
208
167
231
176
121
150
208
159
171
112
208
195
302
206
150
130
150
177
121
150
121
150
186
112
251
165
208
121
249
112
171
165
167
150
150
184
233
222
212
121
121
167
258
171
235
208
192
231
135
170
112
194
128
150
208
147
171
207
176
130
150
208
172
299
165
112
182
150
226
150
243
121
228
209
123
172
170
112
240
302
115
147
237
208
121
170
239
284
121
115
147
121
243
194
181
187
202
121
137
258
212
220
136
171
123
174
112
193
228
205
238
112
268
150
172
112
239
186
115
176
167
170
258
178
164
193
150
208
150
243
201
150
186
165
150
112
208
207
226
172
215
112
176
187
193
219
201
123
112
265
170
150
132
150
212
201
208
139
228
150
123
172
181
158
150
176
234
243
236
245
121
121
112
112
168
115
150
112
130
192
208
250
194
150
221
150
156
172
199
302
237
208
202
112
150
172
207
137
112
191
205
177
255
121
227
220
212
112
226
172
121
112
176
157
189
171
112
121
170
136
172
156
115
220
152
172
207
136
237
136
170
240
171
212
112
214
170
205
112
177
135
158
167
137
194
195
272
208
123
112
112
207
172
171
208
123
150
137
210
215
156
170
242
172
171
208
171
208
115
172
150
201
167
229
171
167
276
150
202
210
231
150
170
202
217
167
194
186
159
207
150
228
194
184
224
150
181
239
234
150
176
112
297
177
150
135
123
150
130
135
150
150
130
209
170
187
150
112
150
237
194
150
228
186
136
202
201
199
228
208
170
159
205
170
250
136
186
150
237
121
121
181
121
121
168
181
174
172
165
172
112
170
139
121
211
217
168
210
170
204
123
174
152
229
170
181
172
210
195
210
165
195
212
278
130
239
275
146
237
171
208
210
177
170
177
150
172
150
170
165
135
121
144
208
233
112
112
222
164
217
167
240
165
176
143
121
167
233
152
167
171
179
137
121
170
170
112
170
181
172
172
199
128
172
263
164
152
134
123
150
208
150
208
208
176
202
121
183
208
150
219
112
194
202
159
165
192
159
186
239
150
170
207
146
271
240
208
208
112
121
235
185
150
121
136
152
123
167
238
208
241
162
179
172
233
172
228
192
209
150
193
150
123
167
121
147
185
222
165
232
121
212
205
136
170
112
171
156
121
112
208
167
156
136
121
226
146
115
124
150
121
121
186
181
112
150
203
237
207
150
201
172
150
172
112
210
185
123
156
150
237
112
115
172
130
157
186
194
112
112
181
194
235
150
279
208
136
112
128
208
121
167
255
240
207
121
150
137
150
179
194
170
168
208
207
121
150
219
167
159
244
177
239
165
176
147
211
195
123
171
171
172
178
203
158
165
121
193
147
112
150
150
210
150
131
124
255
176
170
231
194
231
121
167
121
112
187
158
159
171
208
156
175
150
172
170
189
160
202
170
232
150
167
150
208
147
208
226
179
239
194
208
189
177
150
236
160
201
183
121
147
174
278
157
225
181
181
171
250
135
181
112
150
112
201
217
160
123
156
135
241
150
136
112
150
205
174
121
213
208
214
189
147
212
112
121
202
150
181
259
172
218
255
121
123
188
205
150
150
124
150
260
115
170
150
220
217
165
233
167
160
259
276
189
219
112
121
238
127
193
172
240
186
173
121
112
150
112
192
112
112
112
170
193
171
121
112
271
112
195
121
176
170
181
167
218
208
182
186
121
164
171
167
150
172
171
208
239
157
112
147
172
194
193
150
177
194
165
181
243
112
176
121
150
228
121
164
170
121
231
222
150
218
164
255
218
121
150
170
150
159
112
208
194
150
167
209
237
112
208
161
177
170
172
176
227
152
208
181
179
112
112
121
150
112
159
121
207
135
143
121
233
208
152
172
150
121
208
219
226
184
115
167
181
112
208
135
216
124
176
172
265
171
112
208
167
231
121
228
264
233
165
150
121
176
202
112
181
181
259
165
171
238
206
150
225
176
208
229
225
236
170
208
136
170
208
218
121
228
208
168
150
137
121
150
150
205
150
112
210
167
136
239
121
165
112
150
184
186
233
172
165
208
115
229
164
228
186
115
150
171
121
192
115
208
229
150
158
124
167
165
196
231
260
217
112
156
135
210
193
202
208
112
202
236
208
264
204
194
123
172
165
170
112
165
115
172
202
181
112
150
217
170
174
196
179
243
121
150
202
136
228
144
168
210
240
112
112
228
170
171
181
165
202
176
150
150
115
112
181
235
150
161
158
112
170
208
177
267
123
121
168
143
159
112
121
272
137
123
172
190
150
167
165
194
176
237
201
206
121
187
165
150
150
186
202
165
112
150
194
243
121
228
112
201
190
150
172
121
237
172
122
156
208
208
302
164
121
121
187
195
135
121
172
112
170
121
219
167
205
112
121
130
282
193
121
176
150
121
172
212
121
112
150
176
170
186
112
208
235
112
165
194
255
112
250
159
187
194
177
186
202
174
172
176
233
176
181
137
208
232
208
225
139
143
112
172
176
174
124
194
208
192
204
229
183
150
167
243
175
219
172
228
202
207
215
143
202
165
201
302
158
150
150
185
158
168
177
180
192
168
121
171
150
208
210
150
121
208
194
191
136
172
219
150
265
186
150
201
167
205
159
150
201
208
121
150
181
176
123
112
112
150
159
172
204
112
150
112
179
121
255
208
172
112
121
172
150
121
215
121
112
123
208
208
237
172
159
228
112
115
177
158
121
225
150
150
176
112
121
150
171
121
150
121
112
167
150
150
195
167
123
124
150
121
170
187
130
207
161
172
121
202
130
237
177
136
150
150
208
213
202
187
147
216
167
220
231
112
121
172
123
171
112
171
112
137
237
121
264
112
112
194
150
172
121
144
170
164
181
209
121
178
245
137
198
121
172
236
215
226
121
171
181
216
121
156
177
150
123
112
210
170
193
208
274
172
137
137
160
220
192
238
193
194
171
147
245
150
150
150
135
150
208
197
150
167
202
236
176
194
173
234
152
176
193
195
195
187
202
217
342
167
188
152
112
184
150
157
167
150
135
169
150
202
150
137
228
239
165
171
218
192
121
196
160
150
208
112
136
239
230
121
175
212
121
112
150
171
265
228
250
163
121
170
112
136
156
121
121
168
150
172
121
175
136
176
159
186
171
168
302
208
112
208
174
187
231
205
112
135
150
230
150
254
150
176
112
150
112
156
171
217
152
207
220
150
171
172
288
205
171
179
170
150
206
220
147
176
115
181
165
184
143
136
243
202
176
112
150
121
150
228
150
205
137
157
175
121
150
112
208
112
171
112
150
160
150
161
175
179
121
174
121
164
123
167
170
192
112
159
112
237
200
274
121
194
167
171
215
112
128
137
210
121
228
135
229
194
192
194
167
265
170
239
208
208
115
150
208
208
208
208
123
195
170
238
235
150
112
121
123
233
150
167
164
176
220
121
160
112
170
174
167
150
143
208
186
209
187
112
228
121
171
150
202
121
136
267
161
198
194
143
189
203
150
208
232
167
195
176
236
121
250
172
175
150
215
210
160
237
144
135
276
244
121
215
150
228
174
170
181
201
123
124
150
237
204
147
175
181
229
121
150
156
112
150
172
263
112
205
218
171
236
121
171
273
164
136
238
150
174
240
233
112
236
150
172
209
228
228
208
160
170
235
170
152
226
121
121
170
254
172
174
152
167
233
220
139
228
192
255
167
136
123
150
167
171
112
206
164
194
264
205
144
171
112
137
174
112
139
189
150
123
112
208
181
239
198
207
121
150
112
150
174
150
207
164
112
121
196
179
150
302
228
150
172
121
172
121
128
123
187
210
240
165
207
228
205
194
208
181
189
147
250
212
239
253
172
186
123
121
121
195
115
170
194
171
121
197
121
205
172
210
172
220
112
167
208
172
172
194
220
158
228
172
150
208
112
170
274
176
219
202
150
224
237
176
167
150
150
172
187
181
318
136
229
112
150
184
187
156
121
192
255
167
208
237
194
185
218
163
136
167
136
216
123
170
135
205
128
112
146
135
176
172
121
165
121
181
167
209
112
208
176
178
112
202
187
186
172
112
171
250
222
172
121
177
158
250
208
191
123
147
152
167
160
189
278
112
136
170
237
121
150
121
231
121
181
210
170
225
205
262
220
174
212
192
201
171
228
167
139
121
150
202
112
181
194
204
232
217
159
121
193
121
123
115
172
178
112
172
150
172
112
165
165
121
179
150
174
130
167
156
130
192
254
112
150
112
250
150
143
121
202
150
201
181
164
167
112
168
112
181
177
192
183
230
112
112
150
182
137
172
232
210
121
170
150
231
193
186
112
186
208
150
121
186
194
219
112
168
170
231
208
165
172
121
112
186
146
181
159
187
121
171
150
193
165
228
214
150
121
123
176
136
156
203
172
121
150
186
192
228
170
229
112
128
121
172
184
150
220
165
121
137
240
208
181
150
175
176
172
201
205
195
121
186
112
228
172
150
156
227
241
194
177
195
152
237
228
135
186
195
121
222
269
194
112
121
112
168
157
168
121
231
207
170
201
112
121
199
171
228
172
172
194
123
181
225
150
256
176
192
176
112
202
112
167
150
167
112
243
137
195
121
181
171
153
218
276
143
137
212
171
172
179
158
208
150
167
208
112
201
167
121
225
302
150
121
263
172
182
179
172
150
150
115
156
195
150
210
136
226
179
150
172
170
150
218
208
181
147
210
186
130
242
147
210
121
172
150
290
210
203
123
150
156
150
150
193
189
150
167
158
210
177
171
172
150
156
208
152
112
135
210
172
268
121
172
112
160
210
239
192
176
264
226
150
208
181
207
228
272
193
167
115
137
150
208
150
208
243
179
150
261
112
143
145
195
208
202
228
112
112
199
171
131
150
234
121
175
228
158
210
171
215
220
128
232
170
240
130
171
171
112
220
112
150
179
231
124
210
112
201
150
193
123
208
189
121
178
165
168
165
172
121
121
210
217
204
353
209
121
228
121
156
231
171
112
199
123
150
212
130
112
112
150
115
212
232
112
170
171
150
231
227
158
150
158
121
115
233
208
217
229
121
137
121
150
185
194
174
219
194
218
156
176
121
123
172
228
150
123
152
203
192
215
112
112
233
225
165
170
115
121
147
208
208
150
112
172
267
146
196
249
170
121
193
136
224
176
147
150
210
176
150
150
172
112
134
250
172
182
196
265
165
115
112
168
231
175
112
144
208
215
176
231
175
150
181
130
150
158
176
209
193
146
137
121
187
121
242
135
170
112
150
112
209
171
237
195
170
171
198
207
208
216
177
223
218
212
194
278
257
150
165
112
150
167
226
211
112
176
203
150
137
170
170
123
210
250
211
165
150
208
112
184
255
210
263
172
201
205
112
248
165
167
193
195
250
172
202
255
123
165
209
208
171
156
218
217
226
237
208
156
302
172
202
171
193
172
167
123
137
172
167
121
174
123
167
158
112
112
137
121
150
152
208
201
123
150
214
196
185
146
150
228
172
159
167
182
187
112
170
167
112
176
190
253
121
123
193
170
194
198
158
115
181
130
177
181
168
201
170
170
121
172
112
216
123
150
243
112
299
202
262
208
195
150
208
259
136
135
172
112
121
241
124
123
176
187
121
234
167
210
233
219
175
112
208
186
193
159
112
208
167
243
172
159
236
181
112
136
194
255
194
212
150
213
137
121
201
150
172
121
159
186
136
208
112
276
208
208
128
213
128
150
186
219
152
179
150
150
265
179
170
199
226
144
208
167
245
194
181
146
150
217
193
208
137
216
150
208
135
150
233
150
217
226
115
181
112
205
210
170
225
172
195
175
194
228
112
167
164
112
201
112
128
164
150
172
201
187
225
202
194
234
150
176
190
170
228
150
121
212
257
150
121
208
150
141
272
135
225
171
150
112
220
194
158
160
150
173
176
150
150
121
135
194
228
181
112
196
121
172
150
124
192
175
150
168
123
208
150
150
181
216
121
171
194
235
223
170
121
135
201
210
254
208
192
229
194
150
164
174
130
174
143
202
112
112
167
150
194
150
112
302
158
237
168
229
231
167
270
150
167
177
192
150
202
201
158
208
241
112
172
257
150
150
160
172
112
201
263
172
208
172
187
208
195
185
229
172
187
146
229
112
167
210
179
112
186
157
123
112
165
231
156
208
179
203
184
194
112
156
112
171
112
121
112
150
209
121
235
123
139
226
147
230
135
172
121
202
240
112
170
150
194
172
167
219
164
165
121
123
112
112
172
167
171
201
170
208
210
210
164
210
208
150
167
220
193
160
144
136
237
112
121
167
172
225
184
135
172
112
194
172
147
172
215
187
187
208
136
172
179
232
152
115
128
165
171
112
237
150
135
192
136
213
170
186
195
167
208
121
150
158
123
201
208
112
228
162
112
121
194
181
158
150
123
123
278
168
121
121
170
136
121
121
250
112
232
168
212
181
174
128
207
150
147
208
130
150
171
170
182
237
121
112
136
177
177
181
199
171
167
167
112
253
197
152
172
201
252
208
167
167
135
219
165
171
137
112
193
147
164
121
152
153
167
158
112
143
150
185
208
172
250
112
167
135
219
208
212
174
208
237
112
170
186
177
171
112
172
130
279
205
175
210
123
135
178
255
121
267
187
226
212
150
181
150
170
195
170
135
187
150
123
274
170
150
150
159
121
202
167
160
238
150
187
170
172
128
167
121
112
202
174
233
200
172
208
152
147
167
171
136
112
181
150
150
130
204
177
177
150
170
193
167
193
237
208
228
147
150
171
112
150
190
167
164
231
150
245
195
203
121
226
147
166
115
121
112
219
190
152
112
170
172
231
210
218
210
187
170
150
221
208
121
115
112
208
152
223
174
112
121
128
160
121
181
172
146
228
255
171
302
205
217
150
237
174
210
150
150
160
167
201
228
172
172
207
150
165
136
181
216
158
201
168
172
172
167
150
144
123
112
147
137
150
121
170
263
112
121
177
112
240
121
112
208
159
205
160
208
173
195
150
203
150
208
208
123
137
112
184
233
182
208
112
157
239
150
219
150
150
170
150
192
174
168
165
112
190
123
150
121
121
112
172
121
157
222
121
150
161
198
212
167
124
203
241
157
171
229
210
177
228
201
136
250
112
210
208
208
174
165
266
172
220
137
189
128
150
164
253
217
208
112
218
150
123
164
203
244
150
204
195
222
211
229
147
208
112
245
150
175
152
150
121
150
229
172
172
150
167
171
150
165
229
250
219
193
213
257
174
112
112
123
150
115
172
159
167
181
201
136
150
203
213
211
205
172
171
130
228
156
112
176
170
194
150
164
157
167
209
121
160
208
172
212
210
165
121
168
184
172
112
227
171
208
112
167
228
164
121
181
121
167
228
276
207
150
167
115
262
276
115
202
150
168
208
192
235
135
136
266
257
123
195
172
150
172
267
193
255
194
123
172
172
124
213
217
121
205
121
150
115
150
123
121
137
121
193
121
202
228
208
233
150
152
170
172
231
243
128
208
172
172
181
137
219
112
123
208
228
121
121
192
291
112
208
211
121
211
231
150
217
177
243
121
174
150
208
240
208
194
164
112
205
208
239
112
228
115
200
164
226
137
194
165
228
143
124
228
210
171
164
170
210
165
194
150
146
208
195
150
168
144
163
150
121
202
170
214
112
112
228
234
112
172
195
176
174
170
165
214
112
121
223
239
121
121
130
197
123
171
201
206
112
186
150
172
112
171
231
201
218
112
349
209
150
150
228
121
167
223
123
194
170
181
121
194
136
176
150
205
243
265
208
229
121
172
264
194
164
167
121
112
177
208
181
181
112
121
201
112
219
112
210
187
112
112
124
147
123
150
172
172
200
172
214
112
152
156
210
174
115
171
256
112
159
135
210
137
176
181
171
239
112
159
181
150
115
255
174
194
150
239
121
232
121
233
137
176
112
187
121
208
238
158
135
208
150
225
220
235
150
150
186
147
130
150
172
185
240
203
150
171
212
112
144
150
152
164
150
147
150
179
265
233
135
156
112
165
150
112
194
212
167
182
112
225
291
165
236
189
203
172
128
112
255
217
208
247
177
121
123
150
121
210
123
194
185
150
208
228
244
150
206
194
184
136
171
263
171
186
137
215
192
208
121
112
170
194
217
112
150
170
112
237
241
159
259
240
155
231
123
150
121
255
156
112
165
231
112
186
121
112
158
213
167
172
112
228
192
230
216
302
150
193
194
194
170
135
165
216
143
112
302
201
179
121
211
167
217
112
239
147
195
176
150
258
121
121
150
150
164
150
218
186
179
150
208
172
194
181
172
241
172
172
167
136
172
167
193
171
208
203
165
179
190
121
247
181
150
165
250
194
195
175
218
190
112
208
156
164
231
194
191
130
158
167
208
135
170
181
136
167
112
112
204
170
210
209
121
210
136
123
121
207
241
194
176
197
115
185
264
215
311
112
222
167
170
208
226
123
137
112
214
195
186
231
171
175
240
246
193
172
150
156
123
302
208
250
150
112
172
170
112
242
121
167
226
112
201
194
121
130
232
203
193
112
112
144
152
150
165
170
158
186
167
176
208
181
195
229
147
165
217
146
150
196
172
123
123
194
150
186
234
189
150
217
112
181
150
192
225
121
150
150
121
172
205
150
219
197
217
210
208
170
210
208
170
208
176
228
147
212
172
291
167
112
150
150
187
218
181
150
210
203
165
150
112
147
192
167
245
195
210
167
166
187
176
227
171
167
150
196
121
181
179
181
263
143
150
128
171
233
141
156
177
219
207
165
214
143
167
121
147
160
187
181
167
112
112
162
112
160
143
172
172
121
152
219
283
220
194
137
244
214
180
112
170
186
123
150
115
224
121
182
205
176
172
207
208
171
112
267
218
202
194
228
150
181
215
178
170
156
217
112
234
208
167
121
210
150
150
171
254
112
137
237
202
187
231
150
160
187
208
112
152
269
187
170
217
181
150
167
208
170
195
172
112
112
150
255
170
202
203
196
165
237
115
293
201
239
208
170
194
121
121
121
194
112
150
194
202
186
239
214
147
121
121
208
176
124
208
228
172
115
167
281
123
112
217
228
227
121
131
112
167
178
121
179
128
167
157
279
158
128
121
150
177
150
150
176
228
171
195
196
135
165
177
176
217
121
124
165
226
137
165
150
167
239
112
150
112
164
112
204
181
147
210
135
167
194
172
194
280
202
187
193
135
135
164
121
196
121
208
172
130
121
167
193
175
121
121
135
171
250
147
164
124
217
147
147
150
130
219
150
245
150
158
160
170
171
220
238
219
121
121
240
237
168
112
182
150
121
115
167
176
228
150
228
208
259
171
210
150
164
163
150
176
203
170
121
208
160
255
172
250
121
121
242
150
150
171
165
157
167
171
208
135
160
208
194
208
165
152
150
112
135
172
211
186
167
237
205
167
170
179
223
171
231
171
182
112
203
121
208
212
165
243
150
112
124
282
170
178
170
170
150
135
166
156
121
150
167
160
193
137
219
136
123
186
150
210
135
150
153
167
261
112
112
135
181
164
128
168
167
172
130
146
121
174
208
208
170
165
124
170
112
167
135
208
124
112
156
193
150
112
176
112
181
121
194
170
131
170
124
219
150
208
172
128
115
204
230
210
192
207
112
228
112
186
195
170
226
192
181
150
229
302
150
181
112
178
150
112
162
128
259
240
121
121
175
165
174
219
193
208
205
136
181
150
237
172
173
195
170
158
158
274
167
163
189
172
130
167
170
297
123
121
171
112
212
172
150
171
112
210
210
128
255
165
195
239
200
195
217
156
291
147
172
203
147
115
172
193
181
136
170
150
170
203
237
121
137
177
174
215
237
187
221
150
181
186
112
250
208
177
168
218
208
159
150
172
150
150
218
112
170
150
225
170
177
217
235
150
208
167
112
195
193
150
172
165
225
165
150
190
172
187
158
207
210
208
202
112
112
225
121
174
176
220
150
184
223
186
112
187
167
135
232
208
194
171
243
195
201
289
187
123
201
194
171
112
150
131
208
112
150
181
171
202
167
172
186
167
186
150
136
150
176
167
123
228
150
112
228
228
167
211
250
123
150
178
150
152
215
172
205
240
194
187
194
121
150
150
203
150
202
112
150
121
194
121
112
250
165
170
146
121
183
208
171
144
192
167
168
190
194
187
121
150
198
172
172
263
231
167
137
245
150
112
208
121
175
150
150
172
171
214
208
160
177
150
123
208
167
226
182
193
194
164
181
150
169
150
224
176
195
165
159
215
150
229
179
121
112
181
237
187
165
171
186
135
208
196
121
207
150
179
239
176
159
220
278
240
171
174
121
159
173
135
234
228
112
112
167
184
121
172
115
121
112
112
168
208
158
121
212
150
135
112
236
189
147
112
208
150
135
250
150
209
121
187
137
112
171
237
123
167
229
170
112
194
112
159
172
121
150
135
150
209
250
156
210
121
203
194
150
121
121
135
188
175
159
121
203
160
112
170
193
187
208
208
167
172
202
172
208
123
112
152
150
150
150
121
112
177
121
228
170
167
250
112
150
193
157
143
172
159
202
136
216
150
237
150
199
218
212
156
257
121
195
150
212
177
123
166
112
121
158
121
278
121
217
210
150
184
112
150
150
165
121
159
208
193
146
112
208
150
112
158
201
203
150
150
225
228
212
172
121
207
172
198
150
121
195
121
218
170
177
172
250
112
210
164
205
250
195
178
228
197
193
150
212
139
112
158
171
210
170
150
123
171
150
172
112
158
168
212
156
184
302
172
159
205
187
150
112
158
150
156
177
171
112
194
170
199
146
171
121
171
165
171
128
167
226
172
196
194
172
150
112
177
112
217
121
167
170
124
237
181
137
167
150
231
167
195
186
228
172
121
229
112
201
152
137
172
121
167
240
123
208
208
112
123
152
123
195
170
263
171
194
170
216
167
121
229
121
150
187
150
130
121
171
208
201
259
172
136
193
254
121
121
224
130
121
208
228
166
170
170
195
211
135
150
205
167
172
210
121
150
236
202
121
170
210
216
231
241
150
228
208
167
192
150
240
123
193
121
121
242
201
194
226
150
186
123
121
206
143
147
150
121
231
181
150
150
182
144
143
230
137
176
192
216
170
228
208
121
171
121
167
219
189
150
229
194
202
164
210
152
150
208
210
112
128
237
150
302
137
172
165
276
250
156
165
172
250
112
167
208
206
174
167
152
112
171
208
172
167
226
228
203
121
158
132
173
181
298
219
150
278
162
112
187
176
112
223
167
121
212
186
230
172
194
137
172
186
205
249
208
156
170
208
165
158
221
161
112
171
150
236
176
112
174
194
206
232
121
194
194
203
210
121
165
250
150
121
150
112
112
147
171
228
215
112
121
186
215
150
112
112
171
172
184
115
150
150
177
164
121
164
178
170
158
121
171
170
208
192
167
171
208
190
194
150
208
208
165
228
228
302
194
112
147
225
112
170
225
123
150
206
208
192
150
228
150
112
112
160
208
121
161
175
236
121
193
171
201
115
218
172
202
121
219
143
112
223
172
172
112
137
255
165
193
115
164
212
159
150
223
213
112
128
208
212
165
233
112
175
123
123
131
150
121
193
147
147
193
147
212
176
194
150
171
250
193
249
146
161
204
186
184
147
201
170
177
203
112
176
186
208
187
168
143
121
171
165
175
171
121
217
184
186
150
171
208
150
172
170
170
124
112
204
189
172
147
220
170
171
150
207
121
121
164
192
182
121
168
187
158
147
206
239
150
123
167
243
121
255
250
165
150
158
172
228
150
217
112
121
228
226
195
241
150
150
150
170
112
150
121
112
115
239
186
127
208
145
150
220
194
174
112
115
225
112
164
171
135
235
172
167
237
112
171
198
186
150
150
194
139
225
112
194
164
217
213
160
228
225
121
170
176
112
112
172
147
121
171
123
208
150
189
150
231
112
112
225
171
210
195
172
178
176
150
123
121
176
184
112
210
150
225
115
243
172
167
172
174
112
211
150
150
181
255
208
237
186
167
158
112
123
150
263
202
150
121
112
135
112
112
135
208
150
164
210
167
202
208
170
121
170
150
121
170
223
170
237
150
177
208
121
167
112
174
137
181
164
215
121
208
172
265
159
214
136
263
179
210
152
150
193
202
194
237
172
219
208
179
139
121
165
172
172
170
221
208
237
202
192
121
165
121
201
171
121
228
170
165
170
187
207
150
164
147
174
203
112
123
263
167
167
168
150
217
181
205
242
178
115
192
302
176
167
136
112
150
196
150
199
194
208
232
123
174
112
170
150
239
187
172
182
218
156
150
208
212
250
194
150
210
208
210
194
176
176
171
188
172
115
170
210
115
112
170
171
172
150
112
210
193
190
167
170
172
112
170
172
221
112
250
150
121
150
215
193
164
275
147
167
112
194
156
226
150
136
208
208
187
181
216
171
172
208
174
219
112
123
112
195
218
232
139
121
147
193
143
150
190
146
121
284
172
135
150
181
147
217
112
170
194
135
115
208
167
150
158
121
174
112
158
217
203
240
241
121
170
186
150
242
208
150
121
170
172
112
210
150
147
112
193
186
136
156
167
198
152
208
208
172
136
243
187
212
194
194
253
136
112
147
112
150
172
172
208
112
208
165
150
137
146
212
170
152
130
123
150
202
171
159
150
227
121
135
112
195
208
150
135
170
168
186
250
150
152
194
201
128
208
231
192
112
150
189
167
179
167
239
124
208
171
181
121
186
112
171
136
128
121
194
150
150
284
152
158
170
207
115
147
152
189
172
205
202
150
208
278
156
115
115
186
150
206
201
215
177
124
115
121
192
121
136
232
150
201
170
170
176
208
203
170
150
150
181
239
164
136
194
172
210
128
193
302
112
195
112
112
174
179
128
263
112
212
195
226
210
112
164
123
150
176
150
192
150
171
176
112
121
297
137
208
185
167
205
170
170
208
176
176
121
171
150
147
176
128
225
150
115
168
250
123
128
215
218
137
123
268
156
190
193
167
204
226
172
172
150
270
208
159
223
217
184
150
121
143
210
150
112
170
143
157
250
229
210
150
170
234
170
112
112
171
176
176
172
171
228
246
150
302
150
150
200
150
205
207
232
186
150
196
172
170
172
112
187
171
167
124
194
159
112
194
172
112
176
150
202
174
121
208
130
156
208
150
150
128
121
128
208
115
187
112
112
211
172
165
112
136
172
150
135
121
170
144
226
136
208
232
150
147
171
156
210
167
123
240
139
150
181
208
250
121
121
194
150
150
208
112
202
150
238
271
112
121
208
194
208
228
174
123
211
121
208
167
208
170
112
177
150
231
243
243
150
170
112
208
121
201
165
176
175
229
186
186
150
275
164
112
217
276
208
250
165
210
222
192
150
167
208
172
237
208
172
220
208
115
194
179
167
112
112
150
182
201
212
203
147
255
158
171
121
170
167
215
205
208
150
112
194
277
121
231
112
202
121
158
152
177
150
202
244
121
112
231
165
150
150
112
194
193
208
121
159
171
186
150
228
112
208
208
187
150
194
205
112
167
208
218
212
208
171
121
177
195
194
181
112
150
121
205
150
170
150
150
121
167
178
170
150
260
174
181
226
121
208
124
213
214
207
121
112
176
147
165
250
171
194
150
194
121
112
217
159
150
112
150
112
167
150
175
237
121
232
135
112
170
208
152
158
157
112
150
246
208
231
156
228
182
207
176
203
196
115
123
209
167
150
112
171
121
159
150
112
170
112
231
112
204
225
217
112
167
172
212
136
112
158
176
171
226
214
218
211
237
210
150
121
217
121
112
225
150
147
121
167
232
208
121
150
121
136
124
150
150
150
112
208
192
124
179
234
150
135
174
207
171
228
135
121
172
121
209
210
212
219
128
203
112
202
165
208
228
223
150
302
112
167
128
237
112
181
217
156
167
163
189
237
135
208
112
195
112
276
176
130
150
121
206
276
150
147
135
208
202
237
167
167
210
237
250
158
207
115
168
171
147
112
164
190
130
186
208
225
161
136
112
150
167
228
170
115
150
229
218
172
112
201
190
121
237
243
214
229
115
186
201
208
208
172
121
121
208
181
150
121
170
112
226
160
233
208
115
112
167
150
208
121
186
150
150
139
135
186
170
302
115
237
150
158
139
187
121
150
115
165
167
170
244
170
172
219
150
112
174
170
112
112
112
207
170
121
179
181
136
112
112
135
112
112
208
115
204
170
202
121
167
159
226
208
136
150
121
172
228
150
165
150
203
112
143
194
112
121
208
205
171
232
150
150
112
225
238
170
158
194
124
181
263
121
152
115
115
128
172
139
150
112
150
112
208
211
150
263
112
161
121
160
137
237
178
210
185
112
150
194
112
165
237
172
112
172
210
121
165
167
172
223
201
250
147
210
150
165
228
156
236
171
250
147
237
223
170
201
212
112
123
171
164
171
157
186
172
262
168
112
143
150
193
193
135
170
150
112
139
228
159
112
170
150
241
112
157
167
112
186
121
214
170
187
194
184
112
115
231
167
176
123
232
150
177
124
135
123
184
171
203
112
186
123
172
159
172
121
228
182
130
239
121
172
150
241
150
112
208
170
112
150
164
226
209
150
170
123
168
150
193
171
164
193
112
150
112
121
172
123
274
172
123
112
112
121
147
157
274
229
112
150
229
150
210
135
160
192
170
189
123
172
112
192
167
201
207
195
172
193
174
202
236
165
207
150
208
112
123
189
204
124
150
144
227
210
208
210
189
170
176
192
170
150
112
168
213
161
115
150
137
214
135
181
150
170
177
193
207
193
219
171
193
208
147
240
208
121
228
122
194
202
150
147
174
170
168
208
168
193
121
203
150
165
112
136
150
237
181
150
121
150
195
192
150
228
189
192
171
219
250
150
214
181
194
167
201
196
123
203
210
176
123
194
150
175
207
225
208
112
167
236
165
187
208
115
128
170
121
200
150
156
160
112
150
167
159
181
189
150
150
156
156
186
192
182
181
167
208
131
121
136
302
150
171
171
170
150
112
170
244
210
204
112
150
200
208
193
171
172
150
112
218
112
210
112
156
193
150
121
121
168
121
137
208
181
164
167
112
208
121
112
143
195
194
244
167
177
171
208
172
168
247
137
187
150
136
239
279
171
210
123
172
179
255
171
179
177
187
123
112
112
226
135
136
181
150
202
193
210
177
196
121
186
112
150
135
243
172
172
189
207
156
172
115
181
208
121
186
231
231
217
172
251
165
167
150
199
172
115
167
231
171
216
176
174
123
202
171
121
208
121
195
123
172
228
201
170
150
137
256
250
208
212
243
112
121
196
170
186
170
171
255
172
217
222
150
218
194
150
237
217
176
187
135
228
112
112
150
165
258
195
208
137
115
216
112
112
208
181
171
250
115
112
226
128
121
170
143
171
167
299
170
202
195
160
233
207
299
194
150
165
189
137
208
144
260
167
150
208
206
171
176
112
150
124
121
115
168
137
184
220
208
231
250
150
181
205
255
208
242
112
181
208
136
172
219
171
225
214
187
181
164
194
112
265
208
152
150
207
115
135
172
158
194
208
128
112
256
192
115
112
167
150
181
123
246
164
342
167
195
150
188
150
112
176
225
223
205
172
176
150
245
187
202
150
195
121
150
150
242
210
150
216
150
278
236
150
203
136
136
112
150
135
158
177
176
199
172
193
150
165
226
121
150
158
112
112
276
123
208
208
193
150
121
208
150
150
172
121
172
192
112
179
181
152
112
112
194
172
162
165
205
130
170
123
187
121
250
250
181
177
192
234
272
165
231
167
181
272
211
263
193
112
112
121
137
236
194
208
121
150
112
228
112
123
210
190
186
147
177
150
193
150
237
112
220
230
137
145
170
150
218
187
186
207
193
168
208
199
174
177
174
226
123
162
172
150
112
231
150
221
176
115
150
124
194
186
233
170
179
202
181
229
137
172
208
161
255
212
112
130
165
214
172
137
137
194
263
112
112
147
203
112
209
112
176
174
208
167
121
186
170
214
150
170
136
195
112
241
170
172
194
231
165
112
172
159
174
208
282
115
112
183
112
220
112
150
112
172
150
267
170
208
153
220
228
208
175
160
160
170
123
182
167
210
165
195
212
245
167
194
147
195
175
203
186
208
150
229
135
210
123
150
112
215
123
167
150
121
150
136
170
135
167
202
229
181
150
123
237
172
194
208
216
242
150
177
157
189
157
201
225
170
121
135
177
165
112
181
121
174
201
208
112
178
208
112
172
137
201
150
112
172
171
150
219
165
112
147
170
112
150
220
196
123
234
150
112
147
167
170
226
270
217
159
208
208
201
170
208
184
194
203
176
115
150
194
178
299
181
302
186
226
176
208
170
112
291
209
136
163
206
171
208
172
234
234
112
158
112
186
218
175
238
173
137
194
202
171
228
150
121
165
150
121
150
150
186
112
168
203
144
227
217
150
172
121
232
121
186
210
193
112
171
150
201
112
219
179
150
167
187
159
171
245
112
150
208
263
217
156
203
222
167
150
201
121
112
150
240
176
212
186
150
150
112
235
128
263
208
121
121
215
167
172
178
152
124
112
207
112
112
181
187
150
186
150
170
150
217
136
212
112
157
170
171
175
147
137
121
159
220
208
172
165
176
115
208
255
217
194
219
206
123
112
231
150
153
194
121
143
235
150
159
199
150
201
209
121
124
112
121
135
150
150
186
210
150
181
139
228
176
165
172
177
150
170
171
124
195
150
112
181
112
234
275
150
232
172
121
115
123
150
215
208
172
112
130
239
202
172
172
112
168
239
112
201
226
226
112
150
231
150
219
215
123
150
181
112
112
128
167
112
157
123
187
228
146
193
240
187
172
187
170
190
112
203
233
112
112
212
205
153
121
249
220
150
152
198
150
164
147
136
170
208
150
176
112
168
184
228
208
172
135
208
165
220
187
209
112
121
193
159
202
201
181
112
203
268
172
172
150
179
202
150
217
147
165
208
159
164
112
225
207
159
172
150
178
202
219
112
255
150
160
170
121
150
194
176
186
167
194
121
124
172
121
121
192
143
181
208
228
172
136
181
121
172
167
208
239
112
112
136
201
150
184
247
204
123
176
137
164
167
112
150
194
250
171
213
201
112
150
175
123
194
121
199
112
203
217
174
190
177
123
226
112
165
150
195
208
124
193
292
158
228
150
215
167
121
195
194
150
150
207
112
214
150
171
212
115
208
215
202
150
175
208
244
170
212
194
239
208
236
171
193
232
112
150
176
121
112
176
165
147
150
150
158
172
203
228
194
165
150
235
170
158
112
201
112
167
121
220
112
121
171
164
240
121
190
112
176
156
112
208
164
207
150
212
172
150
176
223
203
150
178
158
165
218
217
215
150
150
128
130
135
172
220
172
186
112
156
171
165
217
121
210
124
202
150
190
186
210
121
112
208
246
147
168
167
228
193
137
194
208
193
171
233
115
181
212
208
208
208
131
165
189
272
216
177
210
135
150
167
240
172
208
172
147
231
121
112
177
150
208
212
208
121
136
250
201
210
124
150
181
193
150
170
218
181
187
112
276
115
168
135
170
150
112
208
123
150
181
192
112
121
150
225
150
112
167
177
162
320
150
135
170
202
172
160
186
275
167
172
121
124
170
186
112
194
121
187
254
171
150
269
237
192
250
121
123
237
171
204
189
123
171
123
194
121
174
259
150
150
165
176
202
152
136
194
112
150
255
150
181
237
201
171
164
174
115
194
167
112
112
152
168
121
160
215
203
202
243
172
170
112
210
150
208
171
167
197
163
170
212
208
215
112
244
177
165
182
112
136
164
147
143
212
112
194
170
150
136
150
147
178
214
172
143
172
181
112
208
205
150
213
167
165
150
170
135
172
164
172
174
170
167
121
231
201
208
172
112
165
121
121
112
112
123
207
201
244
177
187
226
167
112
121
170
226
170
150
172
112
115
150
167
150
238
112
150
189
158
150
263
135
208
150
172
208
202
302
201
112
160
195
121
121
137
121
112
224
121
208
195
136
150
171
150
150
112
137
179
121
194
176
250
181
202
187
234
136
136
165
121
121
228
243
172
225
239
124
150
112
263
205
164
208
229
139
186
208
186
176
177
150
217
167
150
135
121
201
150
137
208
168
216
170
150
150
143
136
121
167
112
150
193
135
123
205
112
150
193
172
137
123
239
212
174
128
172
121
175
150
115
208
201
112
170
123
150
156
112
167
224
213
170
235
165
193
123
152
194
123
192
159
210
208
112
112
193
163
192
193
136
219
172
170
150
141
189
147
165
167
159
135
150
150
167
128
167
239
121
150
181
150
112
167
181
150
176
218
172
171
121
166
160
171
156
150
172
143
172
181
210
216
181
232
137
176
123
190
121
146
112
193
231
193
210
195
150
112
176
121
167
212
150
208
193
121
229
170
212
168
228
194
171
150
123
147
195
150
130
208
112
166
240
228
152
164
121
205
115
150
150
209
121
168
112
123
121
158
121
177
202
231
171
157
150
231
218
212
185
182
209
206
167
212
112
164
165
121
246
213
172
115
189
115
208
181
150
253
176
217
137
165
121
201
152
123
121
121
176
214
231
180
179
193
176
232
158
165
172
264
181
213
157
171
196
240
128
234
226
193
112
158
219
135
172
176
189
177
171
225
216
342
158
164
112
150
163
223
177
112
194
121
112
203
181
208
134
242
203
135
193
170
226
196
167
228
167
176
152
233
112
187
130
136
150
219
181
112
124
194
121
150
160
231
239
176
210
181
276
208
265
196
112
202
170
181
171
186
156
112
241
226
232
147
194
194
170
205
186
210
176
181
172
176
147
237
174
176
147
171
123
197
168
264
150
168
112
201
239
150
150
159
150
276
208
263
167
171
150
213
167
147
231
121
178
121
193
263
121
208
179
349
187
207
124
182
195
121
150
171
194
112
150
208
165
167
171
203
171
170
219
170
170
167
130
150
135
228
227
171
195
157
150
172
171
159
167
112
112
167
136
121
194
228
177
192
123
208
201
237
121
239
257
112
123
236
201
194
150
137
112
203
112
208
193
228
121
202
181
165
224
176
170
112
167
208
123
171
209
236
254
171
189
223
164
209
150
215
112
172
192
195
112
135
176
209
123
115
112
172
228
219
159
214
208
185
181
112
172
121
160
236
112
154
271
208
150
121
171
208
153
208
112
121
121
121
167
239
147
150
207
264
135
163
215
121
186
195
128
194
171
219
112
150
204
179
161
208
193
181
194
176
165
171
112
147
181
208
261
112
208
237
181
165
291
150
150
112
186
121
172
226
208
164
201
172
147
243
227
208
150
208
278
136
229
197
170
210
245
208
201
242
175
121
121
202
123
135
267
123
150
186
181
165
220
112
123
150
168
202
167
121
124
226
171
159
212
193
172
159
194
121
123
208
121
112
112
207
112
139
237
112
150
219
135
168
231
150
234
194
112
272
132
170
208
170
172
121
167
170
112
112
112
150
218
115
121
177
194
171
112
208
181
250
167
124
167
121
112
167
144
181
124
158
135
112
225
214
230
150
135
150
174
170
121
112
158
186
121
156
187
240
150
135
203
147
233
121
202
112
198
112
115
150
123
171
165
112
170
208
172
112
165
130
225
208
150
170
167
121
171
123
172
177
202
167
121
121
121
212
158
208
121
192
177
121
195
121
165
160
167
115
201
112
208
240
167
112
160
203
231
112
123
237
225
164
195
123
189
167
121
181
160
159
150
211
237
121
172
150
181
137
193
147
228
159
121
268
136
135
281
226
202
242
208
210
195
201
112
150
172
174
152
229
171
194
228
229
255
121
123
168
174
220
150
174
208
212
112
241
177
121
228
150
193
121
112
121
215
150
150
167
266
115
112
182
123
112
137
115
171
115
194
176
150
167
115
121
195
228
168
227
195
150
123
176
167
226
202
160
150
177
150
150
150
208
186
150
170
115
150
159
167
168
171
170
159
135
150
208
217
190
137
112
194
136
115
136
194
177
124
186
228
220
150
112
112
112
112
176
186
239
174
165
112
121
210
176
150
210
193
206
208
242
208
146
224
228
112
179
172
150
176
121
121
121
176
171
123
201
302
239
170
112
167
112
181
171
112
171
150
163
218
228
135
167
150
123
150
220
112
172
121
218
263
193
189
174
121
115
218
250
208
121
238
215
181
159
232
157
112
150
172
194
143
112
112
192
165
302
112
181
208
208
208
208
172
112
181
150
184
177
112
218
187
195
172
160
208
168
172
195
302
176
147
121
172
194
150
135
195
135
226
194
181
203
150
176
150
186
112
176
171
170
208
193
123
121
207
143
163
112
121
192
202
170
123
143
235
202
171
159
112
208
220
136
203
150
167
167
165
171
171
112
208
202
135
135
159
150
210
228
255
172
150
123
174
137
238
256
150
202
136
159
243
231
178
234
206
143
115
208
170
208
225
150
112
221
147
208
170
206
115
172
165
218
193
220
171
208
150
150
203
165
164
162
228
249
245
193
150
205
172
158
159
170
159
121
212
150
150
121
192
172
206
228
112
112
121
158
150
187
123
208
150
143
124
150
165
239
170
123
217
165
130
167
158
283
130
203
112
193
135
112
197
112
193
112
150
177
150
150
207
150
178
150
121
112
112
167
121
160
175
239
232
222
150
186
112
226
186
208
158
137
167
164
172
175
150
171
150
121
176
159
193
208
194
181
170
177
112
167
228
121
192
231
150
194
165
288
136
201
219
150
208
233
208
220
121
194
143
228
233
121
176
162
184
171
202
226
150
187
203
150
208
208
165
214
171
137
167
158
187
278
121
165
212
170
231
279
121
208
172
193
202
172
150
232
172
131
112
172
160
121
194
157
150
112
195
219
187
176
228
208
239
152
302
177
271
150
123
112
230
121
223
208
181
150
121
197
212
193
115
167
112
170
136
150
121
195
193
181
225
121
192
259
174
159
243
121
112
172
185
150
186
228
228
208
112
208
208
123
193
137
232
170
123
170
189
170
150
210
121
194
147
167
177
112
121
170
121
172
112
144
231
217
208
218
181
212
188
150
195
150
178
208
279
208
165
167
177
121
201
150
226
184
137
150
135
210
150
170
208
208
176
172
143
189
207
186
144
135
219
181
164
232
121
150
214
175
112
172
203
121
217
168
172
165
164
220
202
112
130
186
202
112
224
208
194
211
230
150
176
252
136
165
130
150
135
237
150
123
123
278
202
208
228
130
150
205
208
150
112
121
172
256
150
233
232
137
121
218
214
167
210
175
150
167
131
112
150
203
237
150
156
167
156
210
150
121
150
174
172
150
137
187
231
302
159
181
272
240
167
208
136
210
256
150
176
168
152
112
123
226
176
193
112
171
237
121
121
121
195
172
166
186
208
192
175
115
112
112
210
165
121
176
147
178
150
226
226
150
170
132
112
112
174
181
135
175
121
208
268
237
208
171
136
171
112
203
193
112
172
115
112
174
172
121
208
172
199
171
172
158
112
130
220
167
193
112
176
218
156
241
175
194
121
172
112
194
136
112
159
243
174
121
213
170
172
171
186
144
150
171
268
150
112
150
150
121
208
112
172
194
172
250
150
150
236
121
136
203
208
201
158
172
147
214
278
219
121
186
172
150
112
176
179
211
121
150
243
239
156
147
228
150
212
170
121
159
150
172
150
212
172
272
121
123
112
168
240
150
164
208
172
211
208
160
187
197
170
235
170
219
212
159
112
172
221
115
150
176
250
189
112
176
227
203
208
150
170
121
112
150
112
170
241
112
150
161
225
201
187
112
208
189
150
137
130
181
167
135
209
135
158
150
172
172
208
171
158
150
177
194
121
143
202
255
150
150
165
150
165
172
181
121
121
150
121
263
240
160
121
121
215
171
167
203
150
219
170
172
167
172
174
167
226
165
150
176
171
192
193
167
159
194
121
208
121
171
150
177
239
167
178
112
147
121
208
263
176
208
150
208
172
208
123
243
181
172
170
150
186
172
164
195
150
131
123
112
150
192
228
167
234
305
189
112
137
226
176
121
202
217
237
160
194
194
194
156
172
172
121
195
121
194
112
193
167
176
167
135
170
181
193
172
208
112
228
170
159
235
195
245
150
112
208
172
136
208
179
170
209
195
172
242
123
208
176
208
167
158
170
256
112
124
150
171
150
198
121
218
173
190
228
121
170
208
243
130
170
208
172
171
121
172
162
172
172
121
208
170
150
164
187
218
124
121
112
211
254
170
112
121
237
167
121
212
167
150
136
170
208
216
152
158
150
171
164
238
215
181
167
112
274
208
179
124
189
150
170
112
208
161
201
171
150
250
150
208
159
187
176
158
231
193
232
112
112
112
121
121
159
112
150
147
181
165
255
171
168
165
121
137
150
112
243
150
150
124
112
189
150
204
176
226
150
189
121
228
121
194
215
194
123
228
150
167
181
135
172
121
176
204
150
150
210
167
208
121
195
220
121
179
112
112
167
174
156
236
186
170
172
150
266
211
243
212
233
121
156
161
150
241
150
150
237
167
189
218
243
130
121
190
123
220
150
187
150
217
150
121
186
237
201
121
168
135
150
247
159
112
208
201
150
121
194
123
194
202
167
186
219
208
208
186
179
203
199
217
276
112
208
166
208
112
204
238
112
121
208
209
112
152
186
237
150
181
194
270
128
181
193
196
121
250
172
236
199
194
123
194
236
197
172
112
121
121
255
179
143
171
135
202
207
137
203
226
124
121
187
212
165
168
204
172
167
189
232
243
123
121
123
209
172
181
203
217
112
121
158
150
172
170
121
136
130
181
276
150
123
283
112
137
172
250
123
150
241
240
150
209
172
193
128
205
150
177
174
204
171
172
121
170
215
137
229
210
160
274
187
228
150
150
135
112
179
208
123
228
150
150
171
112
168
239
156
189
121
242
158
171
150
115
208
135
157
228
172
137
115
227
136
172
170
171
172
164
208
112
167
150
202
172
121
147
230
137
150
180
164
121
187
224
208
123
112
112
115
194
186
150
201
137
137
259
150
164
150
112
230
137
193
112
121
170
112
171
228
202
174
135
167
171
208
115
176
173
195
186
162
150
184
167
171
208
170
150
182
137
147
150
112
214
150
172
228
181
171
121
193
241
136
150
165
150
181
121
147
124
128
121
220
150
136
208
196
194
239
203
212
240
164
205
121
123
194
198
167
124
123
203
171
231
121
121
147
193
217
208
208
112
186
217
112
121
165
150
121
208
150
171
218
212
174
181
165
201
150
192
258
255
231
157
137
172
170
237
171
194
112
112
112
231
158
202
112
229
172
150
167
156
150
150
112
171
121
181
170
228
237
194
196
200
174
165
170
208
177
210
150
194
147
201
121
147
165
208
217
152
246
135
150
150
170
112
136
165
171
172
121
162
146
212
121
208
170
193
207
159
172
171
207
208
168
186
171
279
154
193
168
176
194
150
144
238
233
121
203
203
231
156
112
112
123
170
192
121
150
123
211
210
130
187
213
115
121
181
150
172
121
203
150
172
172
194
208
208
193
211
194
231
234
212
150
171
164
164
172
150
121
208
174
174
172
123
170
208
137
176
121
195
187
239
231
121
124
208
172
220
128
223
135
150
195
170
234
226
196
150
150
203
172
172
208
135
192
228
123
181
186
177
208
135
204
176
121
121
135
170
176
112
112
218
170
121
171
136
170
159
187
158
135
192
167
121
228
177
112
172
167
220
187
112
156
194
121
135
123
233
112
205
128
220
219
123
171
203
225
170
234
135
209
121
150
231
210
210
147
203
164
170
208
215
202
112
212
150
170
170
186
261
150
112
150
190
181
212
299
112
160
175
121
121
201
112
150
171
150
150
123
160
208
172
212
225
121
233
172
159
159
121
123
194
112
167
170
212
194
229
136
175
121
253
121
112
174
150
115
203
168
228
207
112
112
150
112
186
225
175
137
112
174
193
136
207
112
177
220
210
112
167
123
150
165
112
121
170
158
207
150
263
150
150
112
205
186
121
164
193
212
165
239
150
193
167
190
187
228
250
157
193
207
193
160
123
203
112
167
207
173
112
171
178
167
112
165
208
239
150
250
176
123
150
196
194
150
121
177
202
279
228
112
225
121
187
172
172
150
150
229
167
220
214
206
232
171
177
177
226
210
228
172
209
186
208
137
274
150
158
121
195
192
121
123
135
136
202
136
171
150
212
176
121
158
123
131
121
170
195
171
136
172
143
150
150
170
176
150
172
112
121
208
121
112
194
202
136
187
123
167
172
186
150
143
112
121
208
158
176
112
115
124
135
112
229
112
201
273
226
112
167
172
172
222
217
124
175
186
143
203
172
115
181
208
172
171
208
170
131
150
127
208
172
174
124
121
128
171
158
123
112
193
195
208
150
192
150
135
165
225
172
160
176
197
165
205
158
170
147
121
176
178
150
123
190
235
135
112
165
254
158
192
147
112
171
112
112
201
139
147
156
161
123
172
121
205
193
170
195
213
164
250
177
115
172
176
165
299
186
207
150
194
147
123
190
164
172
208
172
121
170
160
152
123
228
210
176
121
187
170
176
112
182
186
210
130
150
121
128
167
172
150
152
262
194
205
172
150
235
302
207
112
194
167
150
186
250
170
164
170
121
121
186
220
121
186
135
175
121
167
135
112
115
203
208
170
172
150
150
200
150
130
121
213
223
150
158
115
208
208
288
150
112
136
208
121
144
150
194
172
194
194
137
121
160
172
194
187
121
112
192
243
237
239
210
237
186
195
167
208
150
112
207
137
250
218
227
198
196
130
240
239
112
194
184
121
159
172
158
121
150
194
239
165
135
150
202
150
167
150
194
112
252
112
177
150
181
207
121
185
201
228
167
172
123
150
147
186
210
220
236
158
217
187
121
231
194
223
276
112
210
145
150
228
150
167
112
158
213
167
112
210
172
152
112
208
150
204
167
112
167
112
193
207
194
205
112
150
176
159
112
159
233
172
112
137
174
193
276
172
115
150
208
236
225
115
150
159
193
121
214
186
112
121
210
266
135
121
165
150
267
181
137
164
250
150
136
249
137
176
182
217
233
174
150
112
167
144
195
172
159
193
167
239
181
123
172
208
194
147
223
225
190
112
150
184
195
112
237
112
189
121
170
179
167
203
238
112
175
112
193
121
172
257
150
208
112
208
202
150
208
195
174
172
197
170
150
208
219
121
137
282
208
192
121
150
208
121
123
112
194
150
168
219
128
150
112
121
112
135
167
176
208
212
176
232
121
172
194
121
176
136
171
130
237
123
121
217
164
233
147
112
115
150
210
130
203
164
121
112
203
123
179
147
184
237
136
158
136
150
217
156
202
161
193
121
121
150
202
196
189
210
147
121
137
170
176
172
121
136
137
177
150
172
208
112
228
174
212
179
152
121
209
198
150
177
150
150
240
208
135
272
195
200
234
194
172
208
112
224
121
196
165
150
112
139
172
170
212
181
272
121
146
258
187
150
193
170
171
112
167
115
150
225
121
181
167
176
150
222
150
172
121
165
208
121
172
112
112
247
150
189
150
165
194
172
250
137
172
112
112
237
121
194
121
184
235
150
201
167
137
136
181
150
182
121
150
144
112
123
112
225
156
150
214
208
121
135
134
208
150
195
168
143
167
112
213
173
150
130
150
212
208
165
150
176
121
167
146
193
220
177
167
192
146
230
121
174
112
244
123
208
181
179
283
186
137
112
150
171
115
187
181
150
130
121
171
208
193
150
150
276
214
171
167
112
170
250
239
192
165
147
130
150
209
208
112
160
121
112
172
147
237
112
227
121
193
215
214
137
195
228
112
150
150
121
150
181
167
244
245
112
233
172
172
167
137
178
201
223
189
193
164
112
112
194
194
172
172
150
243
164
201
147
112
167
159
187
203
210
112
165
208
171
208
112
203
210
217
144
181
198
181
195
150
232
112
186
172
209
215
187
147
186
242
121
121
276
156
230
172
170
195
171
164
112
195
112
172
165
150
187
265
208
164
174
176
212
147
193
212
147
112
112
193
187
206
150
175
201
171
238
164
262
121
187
167
204
234
124
112
193
241
171
158
210
174
238
121
228
130
115
112
172
167
123
150
150
170
158
239
165
208
168
150
201
150
112
189
121
165
172
208
137
170
225
176
130
172
112
255
237
123
124
192
170
237
150
150
121
158
167
219
112
136
135
121
175
175
210
182
112
171
170
150
150
194
123
171
226
170
150
239
112
186
195
167
136
181
150
246
121
179
112
170
150
202
121
150
176
167
224
121
121
115
250
208
194
170
150
263
226
172
150
136
203
150
158
158
150
164
211
216
165
202
227
181
247
112
112
205
167
239
150
150
150
121
220
181
179
172
232
228
208
186
135
177
218
212
193
176
150
136
163
205
170
121
189
172
170
150
135
150
112
202
192
213
208
233
234
136
176
136
160
240
219
193
170
208
201
208
112
160
136
150
181
208
121
165
228
150
121
204
171
174
209
170
152
143
201
195
172
150
112
186
143
159
195
171
172
147
170
150
234
112
172
177
150
276
193
150
218
150
152
170
121
150
201
112
174
150
150
112
121
156
172
181
179
121
250
150
187
170
183
136
271
144
167
112
121
176
181
168
170
212
150
121
150
278
193
247
150
112
150
186
115
150
123
198
208
193
150
112
196
228
229
121
121
121
121
248
161
174
121
237
194
194
168
208
124
121
167
175
167
150
205
193
150
199
255
208
112
250
112
112
167
243
235
226
208
196
176
233
171
192
172
121
208
135
228
192
164
165
228
150
112
211
177
160
112
150
210
121
170
170
239
181
115
150
171
264
121
115
194
202
137
202
224
186
160
208
150
172
167
208
123
208
150
202
112
176
297
123
189
150
150
158
124
177
128
164
176
208
121
172
112
150
176
112
123
172
228
228
150
302
212
210
121
160
167
150
112
124
167
195
204
195
181
208
209
121
302
176
158
208
172
240
164
128
150
203
174
150
203
208
176
112
181
205
121
150
228
150
178
112
207
194
160
167
192
168
181
177
263
121
278
150
137
174
171
210
121
276
172
137
112
172
121
139
228
203
171
176
124
112
171
257
181
150
177
276
170
143
189
208
121
176
201
194
194
121
112
208
112
217
228
176
150
181
171
208
121
242
263
174
270
174
112
150
217
184
232
161
147
176
164
227
112
225
171
112
208
208
277
187
223
115
210
167
135
172
174
112
170
158
179
229
208
112
152
150
128
212
121
226
170
201
208
239
201
150
186
147
127
112
181
168
136
112
201
170
225
186
193
162
187
159
233
167
189
128
150
302
121
159
171
240
208
177
160
143
146
265
219
181
171
112
121
170
123
228
221
170
184
195
218
171
228
174
189
226
112
185
124
220
112
194
167
193
150
193
206
172
150
250
121
253
250
143
171
150
112
121
150
228
209
210
150
208
121
112
218
242
150
167
167
189
121
150
121
172
228
144
121
207
147
150
123
236
220
242
167
239
219
170
112
135
123
150
112
175
135
220
218
121
172
186
228
121
208
232
123
278
220
121
112
150
112
181
153
137
228
174
112
136
208
147
121
176
201
235
112
196
150
171
112
135
193
202
157
150
237
194
150
150
228
220
150
139
195
226
150
250
160
171
115
208
152
166
121
112
211
143
208
243
172
112
145
150
171
112
187
150
250
172
112
189
143
147
228
160
194
227
220
165
112
193
150
167
150
171
181
170
210
220
123
170
150
253
181
150
150
250
135
177
208
121
224
162
158
190
150
121
259
121
171
170
150
171
193
172
176
237
150
203
112
165
167
175
156
112
121
172
233
238
172
187
181
208
224
112
150
170
172
121
210
112
150
112
170
269
144
194
112
201
163
165
112
236
167
170
112
165
177
219
150
205
123
187
112
176
121
123
150
123
128
270
150
185
177
179
139
150
190
172
192
167
203
204
121
265
121
217
112
250
150
152
165
170
112
163
228
150
167
252
237
198
124
112
233
150
150
219
208
245
121
187
112
156
167
210
150
172
261
221
168
193
176
227
171
225
170
112
208
165
228
165
162
176
112
246
264
237
156
159
150
274
205
112
237
112
208
171
208
123
193
196
156
207
210
194
170
189
121
135
217
190
195
193
136
152
136
150
228
208
150
137
112
170
196
112
228
171
174
150
208
167
208
137
147
237
112
202
160
234
178
158
165
150
167
176
172
258
165
121
158
230
212
196
150
170
160
112
121
123
159
194
192
136
167
219
112
156
191
208
297
170
137
150
121
150
210
208
172
222
150
123
202
228
208
167
167
186
150
186
121
202
115
168
150
141
150
201
192
249
170
150
225
231
230
247
201
202
171
194
150
161
167
123
112
203
240
150
150
172
239
167
239
146
302
172
208
187
121
127
123
139
171
217
112
112
189
150
208
212
174
150
210
112
231
201
186
124
121
208
152
186
255
124
150
192
165
212
150
112
112
121
208
172
210
200
302
171
238
150
167
150
208
121
115
172
208
167
167
121
150
271
194
121
137
167
218
220
195
218
167
181
184
170
205
167
112
192
201
208
192
123
150
150
130
150
212
193
136
212
150
200
150
231
112
202
250
158
135
150
178
171
257
170
172
250
229
172
203
121
212
136
204
121
135
194
112
228
208
171
121
121
152
172
128
178
150
112
208
228
115
208
170
171
112
150
123
255
121
218
112
112
237
250
150
167
174
112
177
144
203
233
199
121
178
257
229
112
112
150
205
226
220
187
272
208
115
193
112
150
121
171
172
160
135
172
167
172
121
150
123
224
186
176
165
208
167
187
170
150
217
187
237
143
112
168
172
123
274
136
159
150
112
171
115
230
194
135
121
115
177
208
186
272
150
205
150
150
240
172
121
181
170
130
228
167
187
171
144
232
112
171
112
174
124
245
208
172
176
143
150
112
121
202
234
145
112
231
194
208
212
176
121
168
181
115
159
170
128
115
167
112
170
112
243
255
205
121
234
186
167
130
121
177
170
207
170
206
156
167
175
178
187
187
187
201
176
150
255
210
171
171
187
170
112
172
173
192
128
217
150
112
234
230
121
137
150
254
112
208
135
194
175
169
193
124
137
167
171
201
136
146
112
228
172
174
121
231
136
112
168
121
184
236
112
158
170
201
226
150
220
194
219
121
224
215
150
152
208
186
121
165
112
174
167
121
245
201
135
150
112
156
203
112
179
187
167
112
115
213
168
121
174
244
228
195
175
150
181
112
176
208
147
197
168
112
135
210
228
215
227
177
171
228
181
159
112
208
184
158
203
208
180
121
145
198
231
150
176
164
139
136
150
240
261
196
181
235
181
171
208
201
187
170
150
172
172
112
169
150
172
172
181
208
302
187
150
208
150
240
112
137
150
188
150
164
201
266
135
157
274
186
206
121
176
167
121
240
121
176
225
228
194
231
112
200
198
219
124
123
123
150
208
177
135
208
135
137
167
176
172
210
170
112
121
121
219
194
112
270
203
206
121
214
224
112
165
176
150
187
112
215
165
175
121
150
208
160
192
112
196
112
213
112
165
115
121
150
123
121
229
217
167
172
167
250
167
146
186
181
257
124
208
181
121
165
185
171
167
196
112
124
171
150
193
186
220
144
208
264
170
196
194
176
228
112
242
161
112
235
112
217
121
192
184
179
168
235
167
121
234
121
150
181
212
150
159
115
150
210
137
211
172
171
121
112
112
193
225
164
165
152
121
174
177
172
112
160
121
235
121
217
205
123
193
150
135
168
121
194
181
121
167
158
154
112
205
121
219
150
208
228
167
147
172
123
167
121
170
172
121
123
256
112
161
240
144
147
220
239
147
167
202
167
203
150
208
112
186
112
202
177
182
137
175
112
250
150
217
208
121
124
150
153
170
208
170
112
193
205
233
150
121
112
207
150
112
219
112
220
158
135
193
143
150
170
187
175
112
250
135
172
181
171
112
150
176
168
207
177
146
150
167
217
130
147
176
196
167
186
231
193
112
181
228
137
123
208
181
150
276
208
130
174
160
172
203
167
156
208
170
121
192
201
112
121
244
112
254
205
263
181
112
150
156
112
233
168
176
203
150
212
167
236
176
135
150
171
225
231
150
150
121
209
184
150
208
160
187
237
203
181
112
176
213
150
208
150
194
121
121
208
203
184
228
243
123
169
195
174
182
218
143
112
210
214
135
174
150
150
194
228
171
222
150
150
171
171
208
192
217
176
112
172
219
214
257
147
136
124
150
228
239
186
112
179
204
213
112
144
121
226
112
181
123
210
223
176
176
150
158
123
123
112
228
205
112
165
170
208
121
147
150
160
174
147
121
156
112
136
172
230
115
112
123
257
128
192
121
121
275
167
150
255
228
160
231
177
195
255
194
112
210
305
210
198
121
112
167
150
237
193
237
181
121
121
121
208
137
208
219
150
121
130
112
230
195
178
278
112
112
181
135
150
165
219
168
150
209
170
203
225
212
121
232
150
218
112
208
128
172
115
226
150
193
112
160
181
218
203
158
172
112
266
150
210
201
160
237
170
199
150
167
137
115
213
225
194
124
231
172
172
202
164
228
121
163
167
150
135
202
172
202
178
207
150
112
181
208
170
164
181
159
192
150
167
112
201
121
112
187
236
112
218
172
167
150
181
193
147
112
231
186
147
263
112
272
245
172
147
208
194
150
135
208
170
121
172
172
176
150
206
226
228
121
160
172
212
213
136
211
239
194
240
150
121
220
136
150
150
194
231
112
112
202
174
112
187
237
171
170
224
157
186
165
128
150
176
184
232
197
121
159
121
161
156
123
128
136
170
150
112
182
121
172
121
112
229
152
112
123
193
112
187
196
174
252
165
121
203
203
152
150
194
165
150
112
184
194
172
186
193
121
172
171
172
172
209
112
170
202
121
168
186
115
224
181
228
208
121
229
112
217
208
121
150
203
203
112
181
220
150
164
112
174
150
275
150
150
231
249
278
255
150
170
257
236
172
172
172
171
212
186
186
150
150
167
194
205
201
201
220
187
218
121
176
115
157
196
158
239
112
214
112
165
177
228
165
121
112
167
112
112
278
150
195
194
112
177
278
276
123
152
170
187
174
210
167
172
231
172
250
172
156
177
121
208
136
194
170
203
112
170
121
150
250
150
112
228
150
121
302
205
121
177
202
135
193
167
178
147
170
250
150
186
112
206
176
207
173
215
194
112
210
193
170
123
165
121
226
112
112
124
302
194
186
150
223
128
150
121
137
150
181
123
130
121
193
212
192
121
150
150
137
112
172
172
189
171
194
158
150
182
172
159
121
112
150
167
112
112
112
212
112
181
184
176
211
205
176
150
124
219
112
156
211
219
172
170
135
165
170
208
229
170
167
156
150
208
172
128
194
193
164
165
201
165
121
121
137
228
170
208
167
112
237
219
121
157
112
157
112
187
150
186
235
121
112
163
121
236
196
146
171
195
112
172
143
130
171
223
115
150
208
150
231
128
212
121
170
258
112
195
171
258
150
165
239
208
137
187
150
210
208
207
112
237
183
112
112
171
159
228
172
112
186
215
135
181
302
184
128
112
164
121
225
208
150
194
121
170
121
112
121
150
239
187
212
217
201
170
250
112
208
121
124
243
167
265
172
112
181
234
112
181
112
147
207
147
150
167
112
259
202
137
202
121
181
168
123
194
132
208
175
112
150
150
194
150
217
181
215
170
275
112
210
179
208
159
123
181
136
212
121
208
171
176
165
112
189
150
208
164
177
136
150
112
170
184
112
208
150
171
147
208
282
219
159
255
208
147
164
123
150
208
218
112
203
181
168
174
112
245
164
193
205
164
121
194
193
193
112
150
208
150
121
121
186
136
137
150
112
176
112
112
224
121
281
172
170
135
263
203
237
150
112
249
239
165
186
208
121
167
159
185
226
186
211
172
201
178
176
213
229
202
230
136
112
224
205
150
112
121
171
170
206
150
121
179
150
241
237
128
192
112
150
181
121
194
214
206
150
208
165
147
170
182
186
237
177
172
123
218
212
136
165
194
195
205
156
112
170
167
165
150
218
121
220
165
170
150
208
177
208
152
205
150
135
242
180
150
188
170
170
150
208
167
222
121
190
139
112
215
273
123
112
165
302
187
112
203
240
201
123
276
136
123
223
150
157
163
203
167
150
170
194
177
212
112
170
170
112
150
164
263
160
179
208
231
176
225
135
194
208
192
168
233
210
278
121
224
187
147
230
121
208
121
150
193
150
112
234
183
112
193
165
170
172
121
147
274
121
170
191
121
237
229
121
135
234
181
152
194
233
150
167
172
172
208
164
170
150
187
137
112
186
121
172
124
121
150
238
231
236
112
162
174
159
194
150
205
172
176
176
177
150
150
150
169
123
193
150
150
123
275
201
209
170
112
208
121
150
121
112
150
112
203
123
171
150
158
217
150
185
236
147
135
186
194
177
112
124
200
232
121
255
201
255
123
121
112
150
135
208
207
177
208
196
192
123
157
167
112
143
124
112
170
150
121
172
171
215
208
194
165
170
112
247
112
167
121
172
112
150
136
195
210
167
208
158
228
167
171
220
170
128
112
170
150
181
215
241
150
263
121
135
112
167
121
208
208
199
195
150
164
170
164
177
237
212
207
243
202
172
194
112
136
123
176
135
173
219
192
123
130
121
121
231
171
179
181
172
157
181
112
225
172
178
225
167
192
220
112
170
147
167
170
150
208
186
208
176
176
121
176
150
207
112
150
205
144
178
233
121
121
176
171
150
172
217
201
137
167
194
121
112
121
147
170
193
202
115
121
112
170
164
121
208
150
212
115
177
136
135
150
208
147
217
167
253
172
124
121
192
112
147
228
178
208
176
165
147
121
208
192
181
124
227
177
112
181
112
156
171
195
228
170
201
186
213
203
172
171
226
194
135
121
182
115
121
202
228
181
143
112
150
172
112
121
150
220
250
237
225
194
164
150
170
112
171
202
139
112
215
150
212
228
205
123
177
165
147
237
150
176
230
150
243
181
137
208
171
181
143
121
115
189
212
150
150
205
168
181
171
135
112
172
112
223
255
174
220
150
217
194
150
174
121
147
112
112
259
121
218
181
207
232
150
195
150
205
150
112
121
193
193
136
112
137
192
213
212
218
208
167
196
124
121
182
201
189
150
147
208
170
123
208
152
121
202
146
150
207
202
121
170
176
121
170
160
208
202
144
186
112
214
171
226
216
201
167
186
152
123
167
208
112
121
171
181
167
181
121
165
176
167
171
242
202
197
203
206
186
241
121
150
193
205
121
171
165
255
115
135
165
124
165
213
150
150
135
253
202
121
194
156
172
121
208
263
192
158
172
237
121
211
186
115
123
181
203
237
171
170
112
112
172
123
233
204
137
186
150
208
121
208
218
212
112
170
112
164
220
181
250
239
193
237
168
187
112
162
158
212
202
216
216
124
208
210
121
136
123
171
135
156
112
203
250
176
167
143
171
219
167
137
150
228
258
150
167
150
150
135
150
254
265
208
234
112
150
210
237
214
210
205
137
227
135
150
167
158
165
150
130
158
176
137
198
238
260
112
157
167
150
135
121
204
121
208
231
302
205
205
181
159
184
171
176
121
112
195
130
203
175
168
208
202
181
170
176
186
170
121
302
196
112
158
121
160
172
255
186
121
172
150
226
147
160
112
211
263
112
210
121
174
112
171
150
212
144
147
161
135
156
237
172
150
159
167
170
112
136
196
165
167
186
112
150
236
150
112
165
194
181
128
193
112
167
130
143
171
165
208
128
150
177
121
208
176
194
158
112
172
177
250
135
171
170
210
112
168
150
121
167
193
235
210
208
112
150
208
172
203
208
121
121
150
112
112
177
150
112
186
112
170
167
213
123
121
172
167
195
229
278
195
123
204
239
184
208
167
255
187
150
208
112
124
150
192
186
165
159
147
156
112
159
237
210
165
150
168
195
200
171
302
179
194
208
150
171
170
192
172
172
208
112
143
225
112
112
170
174
123
112
123
193
121
171
121
112
112
172
150
112
208
150
255
201
208
170
237
150
112
121
228
189
207
137
150
170
112
112
112
187
220
176
250
172
144
135
203
123
208
203
208
172
136
212
228
194
210
112
215
237
181
112
171
181
181
210
112
121
112
179
112
150
217
170
186
121
121
124
205
206
226
218
112
179
167
112
165
172
224
158
158
137
112
137
136
150
167
205
159
137
135
135
181
231
123
150
228
161
186
202
165
150
115
172
181
121
201
179
112
150
207
159
194
112
115
253
165
177
112
150
150
150
150
112
193
194
168
232
203
208
203
112
208
171
156
253
121
112
115
112
167
158
112
112
112
189
171
159
150
167
115
187
165
153
167
112
194
143
168
165
213
187
174
208
172
150
195
259
172
181
123
171
150
185
167
192
112
112
130
112
208
239
208
195
150
194
150
121
208
228
165
193
150
112
172
150
194
196
208
170
158
112
196
172
123
112
167
172
210
228
112
164
175
272
112
237
172
182
150
194
194
232
121
236
187
178
158
139
228
135
130
150
208
208
167
265
164
177
235
171
174
176
219
207
150
121
115
156
112
160
123
123
219
150
170
121
121
231
192
225
213
152
192
229
123
189
177
121
228
112
167
160
228
208
112
237
135
165
150
150
233
135
195
186
147
234
112
212
172
187
181
302
135
150
172
187
167
112
194
130
167
206
146
112
260
170
226
217
168
181
194
195
186
150
146
150
150
112
164
302
179
112
167
208
208
167
112
233
150
150
147
123
208
194
139
181
250
112
158
228
176
182
167
112
121
165
135
167
150
121
112
150
150
150
121
192
150
231
167
212
150
236
112
147
181
112
186
160
181
130
112
293
202
232
190
115
170
150
150
181
112
121
150
124
146
121
205
137
121
176
121
224
150
170
221
156
172
263
150
112
254
194
203
208
174
208
205
164
150
150
208
165
165
130
152
150
228
159
201
208
180
212
208
143
121
167
128
177
193
167
208
225
165
208
112
150
171
208
235
115
222
170
165
181
150
112
241
112
176
150
208
220
208
157
147
208
170
121
130
170
150
210
176
112
150
207
250
208
240
121
240
128
150
137
203
167
172
226
202
187
150
121
218
121
196
186
170
172
264
208
210
121
121
205
112
137
170
128
112
170
112
165
156
176
176
235
198
171
223
228
159
195
150
165
176
210
170
201
150
121
152
112
150
150
171
167
150
232
214
182
176
150
210
186
150
170
194
218
112
147
161
173
228
192
167
210
194
186
112
250
150
156
121
302
172
164
164
177
218
231
208
206
172
170
112
181
150
152
174
167
112
112
167
146
112
172
195
130
167
121
219
254
172
130
173
112
115
150
167
207
207
150
228
203
159
170
137
186
176
201
112
112
172
210
177
228
194
150
112
150
123
158
172
112
150
208
167
130
121
197
121
135
172
172
112
184
238
160
150
178
171
167
172
195
177
174
171
150
200
200
137
237
124
255
121
150
172
175
115
186
240
281
121
225
227
181
225
226
121
158
170
192
115
192
170
165
217
187
121
152
213
194
150
177
150
150
165
171
170
121
239
181
228
217
121
228
172
302
112
172
150
192
112
172
150
121
171
150
112
229
112
172
150
212
172
172
170
170
167
170
174
207
112
247
175
172
228
167
252
121
186
123
167
193
167
195
208
150
179
121
112
170
195
186
150
136
196
121
192
167
171
112
121
281
203
284
171
150
121
176
170
112
239
261
174
158
209
190
150
231
150
167
195
237
194
167
115
177
181
176
170
201
124
112
112
150
170
170
259
143
177
167
164
212
194
121
208
150
208
201
225
124
167
123
212
201
170
167
123
171
150
112
167
264
228
150
240
171
128
223
172
124
223
150
158
150
147
234
150
203
181
208
150
171
237
206
158
167
150
194
156
208
263
192
181
245
170
167
186
143
165
201
121
175
112
167
228
143
194
213
231
186
176
167
115
177
231
186
115
212
233
208
121
223
121
121
164
112
208
170
167
112
181
228
112
150
208
186
135
187
168
112
171
192
171
112
176
232
150
128
172
150
202
228
170
150
159
121
171
170
210
123
170
199
231
175
206
172
112
202
121
202
186
172
210
112
150
156
112
181
231
150
210
172
239
112
123
187
150
176
137
203
186
165
181
121
150
165
156
192
208
208
176
121
150
182
172
255
236
150
259
112
150
208
121
206
171
130
112
121
195
121
238
177
112
150
201
192
212
203
121
181
208
170
150
299
150
123
121
208
187
186
258
194
170
112
194
255
137
150
150
172
121
150
145
170
208
115
165
121
208
231
170
160
198
167
193
112
172
194
136
229
239
135
123
112
208
192
172
176
172
165
150
121
150
147
216
172
147
112
193
225
297
167
130
144
207
143
137
150
195
228
212
112
121
172
193
212
199
121
181
112
174
216
167
218
228
123
190
237
128
150
150
237
170
168
215
115
121
112
136
174
112
112
203
172
121
150
112
165
121
172
170
233
158
239
150
112
245
220
181
219
150
121
208
215
236
167
121
192
232
234
172
192
187
257
161
112
150
208
123
167
243
174
115
237
175
144
186
130
210
150
167
196
131
150
112
159
156
121
255
121
278
172
115
165
172
213
208
121
121
202
150
177
262
213
244
170
225
201
137
210
208
165
165
150
208
218
156
112
112
192
238
172
172
172
176
178
196
159
137
201
121
123
112
194
203
171
168
150
121
220
179
208
242
194
190
242
137
150
201
279
172
112
210
150
174
231
226
220
172
156
152
165
195
121
194
165
206
135
212
187
288
225
150
177
211
208
137
208
235
170
171
220
112
167
260
112
152
150
172
150
165
150
172
231
112
208
194
186
237
112
276
211
202
150
184
170
186
212
121
158
121
150
220
121
220
165
170
121
121
195
112
212
204
112
150
167
210
123
112
121
187
237
192
176
150
150
205
167
170
136
164
167
174
172
250
112
135
156
135
212
250
121
243
181
112
172
112
167
231
150
121
174
208
150
239
242
202
162
121
121
179
203
152
208
168
112
207
206
167
121
186
208
215
218
115
167
250
174
112
202
136
150
112
152
121
147
208
208
137
121
208
136
203
112
208
233
242
226
143
212
150
219
208
112
181
176
170
123
164
167
130
171
235
193
189
112
136
150
112
168
176
174
150
203
150
165
121
115
112
240
176
115
194
135
165
112
141
208
153
112
112
231
220
210
112
158
192
214
210
143
181
112
201
176
194
187
208
237
167
164
208
112
128
182
147
159
121
202
208
210
226
150
212
186
181
112
250
177
187
231
210
203
137
227
202
186
121
158
112
167
167
167
196
150
112
208
137
121
150
137
112
112
181
208
167
172
121
208
237
176
150
243
250
112
209
212
227
172
240
189
226
236
208
112
203
172
174
135
202
209
181
136
136
202
172
242
236
112
165
167
165
165
238
123
112
167
150
150
112
195
121
172
112
150
112
121
159
112
167
112
170
167
152
121
150
203
112
208
176
121
150
233
171
147
136
234
232
171
172
172
174
203
150
186
150
143
159
150
220
287
195
112
121
135
156
229
121
171
210
124
203
181
241
137
215
164
150
150
150
181
186
170
176
230
196
150
121
124
136
147
206
195
128
208
147
176
112
208
112
208
112
175
172
167
150
172
186
194
172
171
200
181
181
136
112
165
172
150
136
112
208
178
135
193
228
112
124
265
208
202
233
192
208
112
171
256
255
212
255
255
199
208
150
193
164
112
194
172
216
162
159
171
179
150
234
201
231
194
112
157
186
173
137
150
112
172
150
203
121
158
115
228
121
121
150
187
121
165
162
172
179
171
112
150
147
112
201
203
123
175
231
124
150
137
194
174
112
237
150
237
121
112
194
150
165
172
172
170
170
167
193
229
172
112
208
145
228
121
202
228
171
195
233
160
181
250
232
150
123
186
229
135
167
121
112
150
150
207
220
194
218
171
121
161
225
247
201
255
164
170
230
186
143
130
208
202
171
171
210
147
112
172
206
212
123
112
150
150
199
203
135
121
136
172
150
167
121
112
172
112
278
171
181
267
205
112
115
170
136
121
203
115
226
158
179
112
121
182
167
236
123
167
220
123
226
150
121
170
205
165
158
112
150
112
167
176
121
194
150
121
197
165
161
176
201
149
167
195
186
121
172
112
150
171
194
172
184
194
112
263
243
121
225
208
137
181
272
228
172
156
144
135
172
182
172
208
170
112
150
208
235
163
302
135
112
112
124
158
152
212
121
146
121
186
201
201
194
192
150
112
237
165
196
121
137
170
175
170
208
193
112
112
228
115
135
219
252
112
121
201
228
112
159
172
161
193
121
212
164
205
121
176
179
121
150
217
147
240
203
155
193
171
123
181
124
168
171
219
170
158
136
150
195
112
208
204
150
150
121
150
203
167
150
121
123
263
177
167
160
150
164
232
112
150
172
121
172
205
176
171
228
177
171
208
150
121
176
160
167
215
291
215
136
112
137
225
150
187
156
150
123
208
112
263
194
237
170
150
186
150
165
112
250
223
193
123
209
220
172
223
112
177
207
208
172
121
270
115
170
112
150
232
150
123
194
165
179
195
112
208
121
179
150
257
135
121
225
208
160
121
124
167
195
135
112
167
165
179
121
160
156
181
170
201
164
171
170
150
157
181
121
147
194
171
112
231
237
124
255
170
208
194
176
212
150
167
208
146
170
112
226
226
194
189
240
121
193
176
121
156
176
207
150
208
147
208
172
147
239
121
136
150
202
135
235
172
208
205
128
172
121
112
167
172
115
150
208
195
112
188
121
224
194
193
150
176
121
208
179
187
193
229
226
121
170
217
202
123
176
150
159
156
190
177
150
121
230
232
167
171
176
147
208
147
144
226
208
171
150
112
208
233
158
124
194
208
203
150
121
247
124
121
193
167
158
232
186
157
186
237
194
213
237
150
150
228
156
171
136
121
176
188
121
160
177
189
123
160
194
208
170
226
156
208
121
121
255
112
174
227
190
197
144
121
121
254
150
150
228
112
121
112
137
171
173
150
217
184
228
121
218
112
152
159
233
143
135
195
217
152
302
170
165
150
121
258
210
167
193
176
194
150
208
112
172
237
228
202
236
237
121
181
176
170
235
195
164
136
237
121
181
192
112
201
186
207
137
210
218
150
121
176
150
139
228
208
167
240
195
194
150
194
121
208
170
143
156
121
150
146
278
156
208
186
176
186
171
208
112
237
162
190
160
156
289
193
278
194
143
205
208
112
167
128
193
208
112
208
177
165
159
112
208
259
123
132
112
150
112
121
115
156
209
239
203
208
159
136
209
171
172
206
174
121
225
123
194
194
187
208
208
112
112
121
172
195
170
136
260
112
181
121
187
204
121
171
208
172
176
112
143
168
112
255
112
201
214
228
177
311
164
112
150
194
181
135
150
184
170
205
227
171
135
297
121
220
121
226
208
112
181
170
278
197
212
165
170
168
135
205
150
193
206
218
229
219
216
130
168
150
156
223
195
167
144
227
193
195
112
123
237
203
167
212
112
201
112
150
212
201
231
128
135
150
194
167
150
147
150
121
210
208
259
121
150
150
186
217
181
189
210
194
172
176
170
208
136
159
115
217
208
186
150
150
170
147
156
156
150
165
186
150
167
172
171
208
112
158
112
150
235
165
112
228
112
150
245
305
208
123
210
201
165
231
213
187
158
201
137
208
239
217
189
164
176
160
152
121
158
121
203
226
178
135
136
191
158
210
210
121
208
210
190
150
150
172
150
121
256
237
208
121
171
236
170
172
123
203
150
137
194
123
115
160
150
239
282
193
186
170
208
164
143
186
174
194
228
181
201
150
172
202
194
121
158
112
208
167
128
172
112
167
158
209
112
228
165
195
179
121
112
167
212
150
112
192
175
276
176
212
121
121
135
150
229
167
137
240
181
194
128
150
164
203
136
208
208
150
165
194
172
150
121
193
218
186
172
186
192
165
182
201
165
121
208
170
207
212
194
172
217
250
158
121
216
150
135
186
166
147
208
112
121
172
112
171
112
292
121
115
218
128
170
205
171
167
171
160
167
135
121
204
174
167
157
264
152
112
150
239
259
210
187
112
123
171
172
250
228
201
121
208
194
170
187
135
208
236
218
121
160
186
178
208
228
207
250
212
158
194
112
172
235
203
121
121
135
194
152
219
202
195
150
137
150
213
208
241
150
147
112
186
170
115
181
237
150
228
177
150
193
208
176
228
175
112
164
195
201
167
115
147
150
208
228
194
170
212
121
195
115
186
170
181
147
158
121
136
150
112
167
181
210
112
158
204
150
176
171
207
172
136
230
208
228
172
112
219
121
212
205
150
112
176
150
150
146
167
136
171
227
238
121
158
231
167
176
212
208
195
121
165
219
181
250
172
181
172
115
157
235
181
136
158
219
123
250
121
112
112
159
150
121
271
342
182
171
210
112
208
243
209
214
220
171
228
167
171
240
168
210
150
150
150
156
121
208
177
112
121
150
186
165
172
190
195
187
172
208
186
112
236
112
170
143
150
232
212
226
175
112
208
208
112
170
112
150
194
297
150
177
172
167
112
165
263
112
121
136
147
121
150
135
112
177
208
237
256
244
150
203
216
167
208
171
186
167
231
147
171
170
135
136
257
112
212
193
208
208
112
121
170
167
210
121
231
226
203
150
168
181
159
208
208
250
228
196
150
112
150
112
178
240
121
174
112
203
231
237
198
196
171
171
223
146
192
150
172
112
171
172
172
171
184
172
112
150
210
216
181
150
167
150
156
150
181
128
112
182
168
210
150
150
121
172
150
193
121
194
239
172
167
297
172
171
193
152
112
150
228
215
193
274
170
237
240
124
124
150
201
150
244
167
253
137
160
136
121
175
112
190
171
208
150
243
239
150
166
137
150
205
194
208
186
186
228
150
150
260
172
235
137
170
212
150
150
185
167
208
176
170
212
194
207
150
112
121
112
170
193
276
181
121
219
135
231
170
170
194
150
147
121
239
121
167
159
226
208
112
250
167
121
260
171
170
187
228
167
186
112
121
150
112
112
208
156
170
136
188
186
130
165
170
112
236
217
150
194
201
112
168
150
170
187
187
228
123
235
171
246
112
193
208
112
150
112
112
228
165
152
176
152
217
167
112
172
207
152
121
220
349
112
147
181
186
172
165
165
121
123
150
194
174
160
170
208
212
194
244
172
162
152
250
193
181
143
171
204
228
115
240
150
112
124
128
115
172
232
255
232
150
150
210
123
226
170
164
143
112
202
112
172
257
171
212
172
136
112
236
123
130
121
231
172
238
167
259
112
188
217
135
112
193
176
121
121
224
186
216
150
255
186
203
208
121
135
212
150
112
194
150
172
112
150
208
150
213
203
137
164
181
163
112
121
208
177
179
123
165
245
158
150
172
214
208
164
150
197
250
171
136
171
123
168
207
210
164
198
170
158
190
209
218
181
150
177
150
203
112
121
171
165
160
112
179
112
112
121
181
152
150
112
218
210
228
255
150
193
112
204
135
200
170
160
236
128
202
176
121
112
170
192
181
194
121
150
150
130
189
213
176
217
212
136
147
215
203
150
121
121
201
112
150
229
231
211
167
197
112
225
121
121
218
150
239
176
202
240
257
172
211
170
164
230
112
150
225
194
220
181
168
212
112
182
182
156
160
200
199
150
112
198
205
171
194
229
240
121
112
167
165
279
112
208
217
112
194
143
170
134
165
229
150
165
167
171
150
150
259
135
136
172
240
182
150
181
222
150
150
156
150
121
194
176
202
193
172
187
195
342
167
124
168
167
121
150
202
223
136
150
227
135
208
208
212
168
150
218
136
161
236
188
186
135
150
208
123
205
172
171
208
158
181
150
176
228
112
150
150
243
167
115
174
226
150
170
168
171
219
167
157
121
150
112
181
150
208
150
229
121
124
112
218
201
124
212
146
179
124
150
172
176
208
162
167
170
195
112
147
150
193
144
202
167
150
227
193
194
243
229
178
220
177
150
186
112
112
265
195
210
123
147
150
219
258
227
176
186
171
194
226
112
157
187
228
112
112
112
181
158
217
150
193
112
207
147
157
186
224
181
150
201
170
174
170
115
235
147
150
195
150
150
124
225
121
159
112
219
211
265
167
112
256
150
228
168
201
176
150
121
171
168
167
171
123
150
171
229
159
179
177
205
174
150
121
170
112
135
150
136
172
121
170
167
208
150
195
158
136
136
228
172
244
121
176
233
187
213
201
258
202
171
193
150
147
172
236
167
135
278
123
112
215
208
123
147
195
112
181
172
263
243
218
121
112
208
167
220
155
228
179
112
112
137
150
204
208
135
203
150
195
121
224
121
112
194
112
121
178
172
130
170
150
172
135
150
172
135
225
150
172
179
208
234
128
228
170
165
112
171
150
150
159
144
112
121
172
144
174
186
228
158
171
121
135
220
128
210
167
226
233
150
185
112
208
121
147
171
237
165
112
112
201
212
186
143
135
158
135
220
201
112
150
167
170
202
231
208
218
121
228
230
171
172
194
231
165
135
168
189
143
279
208
208
158
121
241
150
250
165
121
189
167
240
112
228
170
123
185
208
172
165
112
189
121
297
194
195
160
171
181
123
175
187
217
112
137
150
170
220
221
263
121
112
121
165
136
124
189
208
112
176
137
217
193
181
187
135
143
150
170
217
201
112
272
112
211
123
158
135
121
136
201
112
167
216
187
172
136
171
172
150
131
225
212
135
167
228
152
192
150
225
172
165
196
228
159
112
172
169
179
189
177
136
237
210
167
112
123
161
175
181
150
176
112
112
121
189
137
234
170
172
239
237
150
289
226
121
213
278
278
179
172
164
226
150
167
176
171
167
171
219
208
124
115
115
212
112
115
165
171
201
279
150
189
174
143
165
115
232
150
201
270
209
210
112
121
231
115
176
171
170
150
137
181
282
194
165
170
228
212
152
192
232
167
131
181
172
208
135
193
302
152
181
187
169
121
243
196
178
208
201
123
150
123
186
165
219
150
239
201
189
170
181
205
184
137
121
121
210
171
171
128
193
240
275
257
150
150
208
137
208
167
112
121
201
150
239
226
165
112
221
164
228
121
174
112
150
170
135
172
168
112
167
236
167
150
238
167
186
176
211
214
121
173
150
158
177
201
128
121
150
226
123
112
178
150
112
172
112
112
112
135
121
181
187
208
123
150
112
112
164
150
171
190
160
224
305
121
150
171
159
302
212
174
194
210
150
123
186
237
150
194
203
161
112
123
137
192
229
265
150
201
195
208
233
208
167
112
234
115
115
112
171
186
228
186
128
195
130
167
239
194
136
208
112
165
215
144
112
176
265
150
208
112
194
186
150
207
167
238
213
208
196
158
170
233
167
165
165
112
172
121
244
150
112
121
231
176
121
206
112
163
208
112
216
135
121
170
276
195
239
226
172
170
239
181
213
174
193
121
176
208
181
112
194
226
150
112
165
219
112
112
171
147
172
208
136
170
242
112
159
112
150
181
259
195
202
112
176
192
194
224
193
187
172
278
208
181
112
203
247
156
211
212
160
208
171
112
124
115
182
168
208
195
181
172
150
135
184
236
208
207
147
208
195
176
194
220
187
167
176
176
240
262
177
198
130
206
194
112
121
112
121
112
186
239
150
150
239
267
195
228
164
161
121
168
172
172
179
172
121
172
181
150
143
171
121
150
196
121
146
121
150
173
158
121
153
174
172
209
220
164
150
194
187
260
137
150
170
177
238
219
147
130
208
121
202
112
112
172
115
150
195
112
177
156
150
159
226
121
121
123
150
202
257
112
242
236
121
250
112
208
121
150
171
150
137
167
128
167
121
150
228
202
164
150
170
124
121
208
181
208
217
112
112
150
121
219
175
219
203
164
150
150
208
195
237
208
191
137
159
186
168
158
190
150
121
170
147
238
182
150
121
220
208
302
121
172
144
172
203
135
187
187
150
150
150
217
121
226
167
184
150
121
123
165
112
115
171
201
231
150
121
219
195
167
112
193
194
194
172
112
150
175
170
172
112
121
190
192
228
208
115
217
228
184
170
172
137
121
112
171
150
228
159
187
123
170
172
170
150
172
210
121
112
168
112
121
208
177
237
208
172
112
150
172
235
150
170
210
202
181
112
121
187
239
150
115
195
112
112
208
150
171
150
189
207
159
176
157
201
243
150
172
177
167
112
172
207
156
136
202
201
112
208
176
171
210
229
167
186
150
135
229
237
186
219
127
208
263
195
167
112
192
177
121
112
164
170
112
209
170
212
168
187
168
112
115
112
255
208
226
147
131
150
238
194
121
121
112
208
115
165
192
172
147
121
170
208
143
146
121
112
124
208
208
115
150
170
150
189
147
156
171
202
150
181
272
176
112
210
208
220
156
212
150
219
152
221
170
136
172
164
123
208
112
159
112
242
112
121
167
150
172
181
150
137
115
167
112
181
190
255
196
255
205
249
208
150
123
208
172
181
215
217
147
201
207
194
144
177
276
237
121
123
150
210
123
237
202
263
112
186
202
150
112
121
112
225
228
202
112
208
184
135
147
150
167
165
170
121
208
172
195
181
176
208
203
186
159
112
170
121
159
186
121
209
234
123
174
207
194
121
172
137
172
176
173
194
210
158
276
212
170
213
158
150
178
204
234
147
144
167
150
137
137
112
167
173
167
156
112
210
112
179
191
164
176
150
170
150
167
228
263
228
112
256
121
167
228
121
219
136
210
212
193
171
156
115
150
112
170
170
112
137
164
112
123
231
150
150
165
175
172
242
299
216
194
239
167
121
167
223
157
246
112
202
194
144
159
121
241
208
181
193
194
186
131
150
112
130
121
150
147
121
130
217
170
243
228
231
194
171
250
165
167
172
112
136
157
150
186
204
236
146
237
165
159
121
209
186
164
176
204
150
150
176
170
150
131
171
115
158
264
150
167
150
237
178
121
208
179
208
208
177
195
193
135
164
203
135
228
135
121
217
150
171
112
130
128
208
208
135
172
174
121
208
171
150
121
150
172
150
233
150
131
227
112
112
150
228
150
167
150
210
159
226
214
243
146
147
208
164
223
181
208
164
112
156
175
121
165
150
150
206
135
121
208
121
170
174
163
159
150
115
150
214
165
121
228
189
171
123
170
150
124
150
112
208
150
202
156
121
177
121
195
207
150
208
212
181
178
158
193
136
172
112
201
210
147
192
171
172
209
121
170
121
236
121
167
161
218
202
214
182
135
217
121
115
176
202
147
112
237
176
136
150
209
121
143
157
150
240
216
192
193
167
208
231
121
147
216
202
243
176
210
192
112
232
143
170
112
217
237
136
172
187
131
121
135
171
214
207
225
130
121
171
168
186
192
193
205
112
147
194
112
112
156
194
150
150
203
112
170
112
229
194
112
150
150
201
112
172
164
136
150
170
167
112
172
302
275
178
179
112
150
170
243
176
165
152
183
230
112
115
147
172
112
170
167
147
208
121
147
147
176
147
150
227
112
170
121
231
210
130
124
156
167
123
172
150
165
150
156
164
202
147
170
112
170
194
194
150
123
112
194
176
342
112
135
210
123
121
172
219
123
121
112
171
160
201
112
239
187
216
121
123
208
181
186
150
152
202
121
202
112
182
179
137
226
255
112
174
121
121
159
150
112
193
171
135
193
212
208
231
208
115
228
203
158
149
167
226
200
203
159
235
150
187
150
219
173
152
231
124
193
194
208
167
181
112
170
171
121
167
202
217
150
121
181
202
209
165
112
112
115
112
172
121
177
150
121
112
189
193
128
167
150
241
144
150
170
220
220
172
203
255
214
194
136
195
229
223
194
162
123
172
179
181
176
172
177
123
211
186
167
150
165
208
150
230
164
194
196
147
144
175
121
150
194
115
150
164
198
195
136
194
164
228
205
172
255
150
218
172
137
210
171
150
164
201
112
123
170
220
112
167
121
208
170
112
150
186
121
123
161
150
194
209
208
150
187
265
112
170
150
218
203
160
115
181
171
195
150
172
124
172
150
208
171
121
168
150
255
181
167
121
115
121
239
156
150
112
150
212
194
121
136
225
130
123
135
123
171
203
236
171
121
179
217
150
121
208
112
225
112
193
130
217
150
165
160
186
241
190
137
123
112
211
137
213
165
112
171
202
121
186
135
174
174
164
193
172
194
208
195
112
191
208
245
219
208
239
160
150
164
176
150
165
170
181
143
121
170
194
175
112
112
205
150
170
208
176
174
165
170
187
204
171
175
207
172
208
147
150
172
176
150
160
150
202
255
171
203
185
202
184
172
208
194
181
282
112
115
150
202
115
136
231
194
220
137
212
147
112
208
150
150
160
112
147
167
203
121
212
237
150
167
208
150
176
172
195
156
192
208
165
150
112
226
150
181
167
150
123
192
123
173
255
136
128
208
186
172
112
172
164
172
208
167
167
147
210
112
168
150
172
171
208
287
208
121
192
150
208
164
187
123
189
181
121
112
112
159
195
121
150
212
165
150
202
208
234
176
150
150
150
167
208
202
193
177
197
156
121
150
150
167
255
186
255
123
156
150
176
231
123
168
150
150
150
182
136
175
135
196
150
192
186
150
112
172
157
253
201
158
195
121
206
150
223
208
147
299
150
223
194
160
115
144
167
195
161
194
229
178
193
166
195
121
248
157
165
167
243
208
161
240
195
201
121
115
172
164
124
121
219
203
172
187
167
207
112
187
112
167
121
172
112
208
121
193
190
115
172
156
150
208
172
130
172
128
112
218
208
172
121
229
192
202
236
157
206
263
150
112
202
167
135
170
172
171
167
121
170
167
210
112
150
167
167
123
217
121
208
167
121
121
201
171
255
167
159
220
205
164
112
195
147
150
112
203
112
171
121
223
272
136
170
121
112
147
112
172
304
115
186
231
208
181
206
128
150
167
172
210
278
167
168
164
203
237
237
171
237
187
181
167
123
194
112
150
121
195
121
208
121
150
150
228
239
170
170
170
171
172
178
219
232
218
168
194
150
115
202
136
112
205
112
124
207
121
112
167
220
112
121
275
123
208
219
170
167
176
162
152
171
144
136
170
230
172
175
173
121
200
201
150
181
152
121
165
167
278
228
176
167
208
228
170
294
150
121
150
181
150
112
205
150
167
156
171
181
172
123
170
150
186
112
184
150
170
202
172
112
112
121
165
135
121
136
152
208
202
210
228
159
121
170
202
250
201
172
208
170
172
147
235
234
170
186
112
225
112
207
167
112
201
193
115
150
172
190
177
187
195
203
112
130
171
150
167
150
215
112
195
172
135
202
209
208
179
150
199
130
158
237
170
137
276
159
228
172
172
198
123
210
172
217
115
150
121
223
172
112
239
164
174
195
112
158
176
112
159
158
123
159
150
167
112
181
150
172
150
172
121
123
150
170
145
250
170
264
158
121
170
150
135
160
228
216
267
150
170
208
226
172
115
135
112
171
176
112
176
195
226
112
181
214
167
175
171
186
112
115
210
203
176
112
128
150
121
112
130
202
147
171
112
121
202
228
195
147
210
150
172
112
174
150
150
165
197
136
276
170
136
112
121
131
208
112
171
171
216
174
203
176
147
136
239
158
275
121
115
150
174
150
228
112
121
165
150
158
121
186
172
167
112
182
150
167
239
235
121
171
182
112
208
150
124
170
150
159
176
195
203
112
208
123
186
255
208
205
150
177
212
121
236
124
121
189
170
112
121
237
150
172
168
135
177
192
152
216
167
171
181
121
171
214
186
171
150
302
112
172
150
255
135
172
216
159
250
237
137
162
121
167
136
172
112
121
112
112
187
121
137
167
112
208
165
219
192
239
208
121
150
150
195
217
302
121
228
112
137
278
201
123
165
167
123
137
137
208
124
144
112
172
273
112
201
177
150
112
124
186
150
167
192
171
121
164
231
150
150
135
150
181
194
121
170
137
121
159
158
121
239
208
192
121
206
170
185
171
167
237
137
135
164
178
206
171
280
156
212
228
201
168
123
167
208
189
186
194
187
112
150
172
112
208
147
172
208
112
220
150
208
150
121
175
250
112
112
156
150
167
302
202
212
172
258
112
181
164
236
150
112
250
121
150
112
121
147
147
165
150
150
170
150
123
208
213
194
112
236
167
156
179
187
137
112
112
112
181
172
218
165
147
208
209
211
147
172
121
170
193
226
239
112
143
170
210
212
115
165
139
112
172
209
128
207
217
193
121
150
112
208
123
124
164
195
121
136
282
112
147
152
205
177
112
250
170
172
161
112
226
167
185
255
167
150
172
150
208
150
165
150
150
165
172
121
112
227
208
206
165
150
150
195
159
203
193
235
167
172
165
179
176
167
150
121
170
150
238
112
250
195
123
112
208
205
112
150
170
128
239
224
228
196
121
194
187
121
123
135
112
112
208
149
194
190
115
147
208
228
228
121
137
218
231
208
181
121
245
187
195
184
159
228
172
112
112
170
112
213
128
150
112
112
170
130
181
121
233
253
150
135
194
158
112
203
167
223
206
150
198
112
112
262
136
208
164
179
239
150
194
271
150
207
150
228
228
173
150
226
172
172
147
115
205
150
194
137
177
197
203
135
159
208
172
170
195
204
150
193
121
147
302
150
245
263
150
208
208
172
192
208
181
195
164
150
181
212
193
177
291
195
137
150
160
136
112
121
167
112
150
150
170
219
244
220
208
172
250
150
165
135
123
150
150
115
150
237
165
170
165
212
233
167
218
121
121
175
112
208
121
176
231
152
250
165
210
150
121
112
210
139
150
237
121
130
121
170
208
136
231
158
232
121
240
121
194
112
167
195
170
203
172
112
207
159
170
158
193
207
190
165
121
228
234
170
121
171
150
210
170
237
302
137
226
112
194
194
150
189
201
243
156
170
115
112
150
177
159
121
121
186
228
167
177
112
181
170
172
171
208
212
208
174
172
232
202
171
121
150
112
172
112
207
177
173
179
167
172
202
150
203
150
115
237
172
194
150
302
112
219
150
208
144
190
170
228
240
265
219
170
208
171
213
150
130
226
112
208
150
195
272
186
172
253
171
184
150
255
124
219
172
179
173
165
206
132
237
226
195
205
201
186
121
219
181
172
187
171
229
279
194
187
278
121
171
172
172
121
201
158
150
128
121
172
270
171
215
167
174
204
150
213
172
218
210
121
203
186
172
208
150
167
229
112
181
112
150
121
150
158
232
186
156
112
130
137
167
137
194
202
112
112
150
208
233
181
250
147
176
170
112
167
228
130
173
195
121
165
112
150
229
302
276
150
150
112
157
123
123
123
208
121
218
112
128
156
123
121
115
167
167
212
209
227
193
210
220
115
219
150
176
150
112
150
194
112
112
226
137
152
208
195
201
121
208
164
171
135
226
250
167
207
112
112
128
136
171
124
172
195
181
124
208
158
158
172
121
181
228
150
186
187
218
170
150
158
167
165
121
165
215
226
150
150
202
192
112
228
228
115
194
177
176
176
112
170
208
208
115
124
135
159
205
121
150
121
150
150
150
211
170
201
150
150
212
112
123
159
121
250
208
136
135
121
162
112
208
112
228
158
112
217
172
112
177
123
201
198
170
203
112
178
174
112
159
167
160
177
143
206
208
156
121
127
171
130
143
136
172
112
279
224
214
112
210
167
210
204
160
270
112
219
216
170
231
150
208
121
121
167
123
167
194
167
219
150
302
160
205
147
174
136
130
121
193
194
167
150
253
115
180
212
123
216
194
207
112
162
235
176
193
160
158
216
164
160
112
172
112
167
208
150
201
213
177
208
253
208
147
170
177
182
194
150
112
233
121
121
150
112
150
208
112
194
150
143
179
175
150
228
137
150
181
112
263
150
194
121
172
202
112
176
112
150
124
170
172
139
121
172
253
202
167
228
150
207
203
171
165
243
159
208
193
121
121
231
159
150
112
165
243
195
208
150
164
150
172
112
171
235
208
194
121
150
238
170
121
276
194
136
202
208
240
112
112
150
112
203
165
167
121
112
121
171
210
217
264
208
281
170
231
115
203
228
135
175
177
253
166
208
237
194
172
172
165
165
135
170
250
150
189
172
194
229
150
137
112
112
233
121
160
299
291
164
152
252
208
165
208
147
302
195
177
112
228
150
239
190
172
196
112
240
194
247
153
160
150
112
208
112
150
172
123
208
150
252
178
195
187
121
121
167
174
136
171
194
165
171
228
159
229
194
207
112
121
164
150
121
187
245
181
150
112
150
112
147
123
150
112
208
115
157
168
150
170
208
186
112
231
212
121
226
228
208
213
112
167
168
208
121
172
226
184
186
112
228
137
195
226
170
121
213
254
137
172
192
112
112
199
150
170
150
205
112
186
170
175
128
112
186
181
121
240
238
221
137
195
208
209
265
250
150
178
128
233
172
137
121
236
186
176
112
228
170
166
194
207
112
160
193
131
150
213
121
165
165
165
150
165
121
162
121
228
158
123
167
210
232
112
172
239
237
121
112
170
194
220
228
174
177
226
240
150
208
244
123
150
159
207
168
150
201
172
179
178
219
202
121
160
164
228
147
202
170
112
170
112
123
186
182
112
212
170
182
121
225
187
150
150
121
128
150
135
210
229
150
221
195
172
186
150
202
165
192
175
194
112
195
208
115
112
150
180
199
302
147
176
176
150
181
237
115
121
150
147
130
195
150
134
217
150
176
150
201
228
202
112
279
167
150
173
150
186
174
232
112
171
172
207
137
115
231
137
172
207
171
121
123
150
231
250
187
112
242
159
208
121
157
199
178
207
152
112
153
167
112
121
137
176
194
135
170
165
171
171
178
208
137
158
150
219
172
194
112
112
172
254
193
278
170
121
123
210
185
150
203
186
230
112
150
168
135
150
228
172
208
112
172
170
210
115
121
156
112
159
193
121
150
167
209
208
176
123
181
185
139
121
172
208
176
167
160
137
225
167
165
150
164
250
226
112
112
128
150
210
194
228
194
208
179
205
159
112
167
202
171
143
208
208
206
167
137
112
195
181
150
190
192
211
264
193
241
174
167
123
192
128
121
203
174
226
208
194
235
176
150
123
183
208
123
167
176
171
115
150
167
203
210
150
213
208
112
147
121
172
124
177
167
112
181
226
150
246
121
165
208
167
167
160
264
131
121
208
220
150
208
195
121
167
188
150
167
170
208
195
194
150
194
162
121
150
209
172
172
121
205
115
219
186
172
195
139
150
264
136
121
165
137
186
165
202
231
150
172
121
208
206
123
218
202
171
150
302
150
137
167
163
224
150
193
150
121
112
150
208
256
150
156
159
170
217
128
194
150
208
172
187
123
179
208
167
150
205
177
170
181
112
208
186
231
244
147
165
170
195
207
220
172
135
150
168
203
150
121
174
174
146
150
272
220
121
150
167
172
194
165
172
150
211
135
240
165
203
165
121
121
228
187
199
172
206
135
208
112
210
241
208
150
193
112
172
203
144
208
150
265
192
239
201
205
300
233
239
228
112
177
192
205
121
215
170
167
171
173
170
255
150
193
112
150
231
179
150
238
208
205
152
203
228
150
172
130
168
123
242
208
121
175
150
112
192
137
112
112
112
193
194
165
130
208
150
135
164
167
112
156
121
121
167
212
208
217
170
181
121
137
194
170
203
121
174
223
121
157
112
229
175
150
187
176
217
181
187
172
228
173
112
228
176
165
162
172
121
199
150
208
172
164
146
250
240
207
112
143
150
112
192
112
237
262
194
112
208
228
165
255
225
121
167
233
192
263
170
150
159
201
150
212
159
171
218
156
186
121
250
170
242
232
112
150
139
201
150
167
186
153
112
150
194
172
150
112
170
123
177
170
232
112
226
168
170
201
181
219
239
121
232
121
112
112
135
181
115
147
258
172
136
136
217
236
112
278
165
150
121
213
209
172
208
150
150
157
165
230
177
197
192
179
121
165
121
272
112
121
194
250
175
167
220
208
186
245
186
255
147
165
158
186
170
147
174
194
208
150
237
186
150
167
168
121
186
199
181
112
349
112
159
222
207
152
121
208
121
181
124
150
225
112
194
167
193
243
278
115
170
115
172
179
150
112
209
195
150
167
112
177
169
112
112
112
233
121
121
176
150
167
121
232
130
115
203
150
207
112
136
257
112
201
143
198
124
186
150
172
167
281
196
167
208
159
250
136
239
230
170
167
212
150
150
218
302
160
112
219
170
112
177
130
121
208
150
112
164
226
206
265
195
171
158
177
121
164
164
150
172
223
178
123
171
176
202
121
112
172
170
194
112
171
112
145
228
121
198
124
208
243
121
112
227
174
121
218
112
150
176
198
124
167
208
208
302
167
205
172
170
195
158
165
208
150
208
128
150
150
228
193
284
208
112
185
150
147
150
205
179
217
302
281
135
170
167
195
121
150
186
121
123
181
172
156
167
235
112
203
150
208
150
121
232
186
255
228
172
165
150
115
147
240
193
165
189
150
176
172
222
150
207
240
150
123
208
128
205
172
112
252
219
177
150
115
156
112
123
121
237
186
115
150
219
172
240
150
159
112
226
167
159
199
265
220
150
121
170
179
264
234
208
124
167
150
237
218
170
159
146
170
112
150
112
165
186
150
135
150
193
233
150
228
165
239
225
198
255
150
236
150
217
228
171
167
215
112
171
167
172
175
179
245
171
201
124
135
245
135
208
186
281
237
194
176
177
150
208
192
145
150
172
172
161
112
136
260
121
167
190
194
171
212
181
150
187
194
175
170
215
227
156
112
136
112
112
214
226
170
112
184
115
147
212
135
215
234
179
167
160
194
121
202
208
150
208
167
233
146
160
131
123
170
235
121
176
203
150
239
137
150
158
208
208
235
170
170
171
171
212
136
123
137
196
176
121
115
112
202
150
202
206
150
121
196
123
143
156
176
195
115
172
220
150
194
249
208
136
150
167
226
121
177
150
233
137
158
291
202
212
146
112
123
170
167
165
228
112
156
115
276
144
208
150
121
160
209
187
205
150
150
184
271
239
136
115
202
112
115
165
112
135
219
137
165
205
194
195
172
130
121
181
121
208
123
265
212
170
112
232
121
121
172
215
150
112
186
137
238
226
208
167
231
184
112
231
121
250
171
115
202
150
208
174
195
184
205
210
150
208
128
121
123
170
229
150
219
150
176
150
172
211
193
230
220
158
193
121
112
192
165
176
150
176
187
170
176
210
171
208
167
201
225
135
136
128
121
193
159
239
121
176
121
121
263
156
184
171
150
176
124
220
167
150
181
150
176
112
200
121
150
255
171
160
112
170
121
158
210
150
165
209
241
112
121
137
112
188
124
164
112
165
176
150
201
208
194
121
171
150
136
219
250
227
112
147
176
187
195
112
214
150
150
121
177
123
121
170
136
271
150
168
187
172
170
196
112
112
121
165
195
130
238
167
157
152
172
115
178
112
219
207
112
112
165
172
135
228
172
165
150
150
112
146
226
164
150
233
247
112
189
170
170
112
112
150
137
192
172
121
121
165
167
167
165
226
112
123
167
167
176
245
170
130
121
194
174
223
143
177
235
177
160
179
167
112
112
121
236
150
181
150
195
204
112
208
121
171
112
121
121
195
208
212
172
121
233
197
150
210
172
214
207
112
121
112
121
232
112
164
121
137
121
121
165
213
167
156
158
257
150
112
208
150
208
207
112
208
193
150
210
228
165
276
123
231
150
256
257
171
186
150
242
220
186
112
160
210
244
112
121
195
174
226
167
243
121
207
176
156
167
160
135
220
164
202
209
187
195
202
164
112
208
168
208
202
123
123
195
150
128
158
176
112
177
112
136
121
177
186
181
170
170
121
187
115
112
216
121
165
150
130
124
175
165
210
170
147
193
214
170
159
278
147
121
172
187
112
121
165
112
130
196
161
220
167
176
121
167
175
172
211
208
167
112
250
212
121
172
231
194
150
177
228
172
170
208
228
121
167
193
164
168
172
165
302
208
112
202
172
208
217
150
237
112
266
136
112
112
195
112
208
237
112
170
112
121
165
112
212
176
121
170
232
218
112
171
208
115
123
230
137
121
150
172
167
176
121
211
150
150
225
213
115
121
191
186
208
274
177
121
194
209
137
150
233
137
159
172
208
220
239
176
123
121
171
121
121
112
171
121
170
156
217
172
229
150
112
147
112
205
189
115
159
228
135
112
150
150
121
123
200
164
195
115
208
201
150
176
112
252
135
194
208
112
177
214
147
234
124
165
150
143
228
208
147
150
121
147
136
177
193
112
208
115
239
208
186
135
112
121
172
165
221
112
223
208
234
193
176
174
135
159
150
219
150
254
212
208
258
121
189
278
150
195
202
202
192
121
123
208
198
137
207
165
239
203
124
208
195
208
198
170
275
172
261
162
150
208
202
243
208
135
137
150
210
150
212
121
167
143
136
121
112
168
170
187
112
167
112
128
181
176
136
150
121
147
219
112
170
150
204
167
240
181
172
172
187
159
219
172
238
220
172
247
216
249
193
150
158
135
228
150
172
170
225
220
194
174
237
172
135
236
165
212
168
121
177
172
121
208
165
150
165
210
150
236
208
112
135
121
177
182
195
112
121
194
147
203
184
216
121
121
186
247
168
172
150
150
112
208
167
171
172
112
237
121
158
171
156
189
237
189
181
121
170
176
174
255
171
128
189
150
136
172
170
255
208
189
176
150
170
150
194
121
199
150
123
208
181
123
112
144
150
208
112
164
183
209
240
192
239
150
150
170
202
130
187
265
158
237
156
216
218
181
112
150
164
206
207
160
303
124
172
212
156
123
220
167
208
112
124
175
208
112
150
164
150
150
112
123
231
160
121
112
112
212
176
112
203
172
182
170
218
186
158
172
181
171
203
171
164
250
176
195
112
171
121
172
217
112
112
235
202
112
172
205
150
121
112
243
236
164
235
165
170
172
186
231
121
194
112
112
150
124
150
205
208
212
210
121
143
121
224
181
170
112
170
150
172
208
150
121
158
150
121
150
225
224
187
150
193
194
181
242
226
112
112
150
158
112
210
203
217
259
171
174
192
186
170
225
152
146
194
249
210
225
150
237
165
210
121
239
265
121
172
210
187
181
112
121
195
209
150
112
207
257
147
239
150
167
115
137
121
170
123
202
231
112
170
137
115
194
167
150
136
229
187
187
179
231
123
121
150
156
121
150
194
128
193
112
207
150
172
194
194
121
124
175
150
112
150
144
210
195
172
121
150
236
226
147
293
123
135
192
172
193
150
210
124
150
193
194
156
200
195
171
172
208
208
190
172
170
121
123
170
177
177
226
167
165
168
121
172
171
229
176
147
121
174
250
269
171
112
211
211
128
197
121
150
217
172
259
272
193
176
128
203
284
150
167
150
150
172
159
136
121
150
150
207
121
123
202
150
208
172
112
176
237
124
250
123
172
228
260
193
115
176
159
247
194
172
123
193
150
170
165
275
240
187
168
150
124
170
220
170
223
150
121
207
244
150
163
202
172
137
195
195
210
184
112
172
187
167
174
150
112
172
302
228
182
123
115
112
121
208
172
123
342
141
150
208
215
123
112
197
123
121
121
201
186
181
156
171
211
112
228
222
160
208
121
208
228
167
204
112
167
170
136
121
150
232
197
128
167
198
275
167
150
194
112
208
115
194
174
159
210
181
172
172
172
158
124
171
170
171
158
210
150
150
171
176
201
226
121
121
208
208
181
137
182
228
172
112
187
112
208
208
160
212
240
135
112
193
250
200
223
176
159
177
231
205
193
171
159
275
152
236
237
112
208
130
208
172
237
174
130
123
121
231
176
213
189
194
149
176
167
147
170
135
174
170
123
150
150
229
208
147
121
150
215
228
136
203
121
121
112
130
246
229
207
208
150
131
172
150
179
215
165
176
160
226
235
207
182
121
208
164
158
181
159
159
164
150
228
237
250
170
163
112
172
177
176
150
187
159
172
220
243
228
150
252
228
165
172
181
150
219
186
225
203
121
150
146
231
167
219
158
196
201
158
213
121
208
167
170
121
150
112
115
172
124
253
121
130
158
165
174
160
156
121
121
112
208
121
210
225
124
136
112
150
112
112
243
137
181
186
150
150
241
150
203
158
112
150
214
208
173
145
157
112
121
171
210
158
187
206
112
187
231
259
164
208
255
152
112
208
112
137
123
112
167
152
158
150
192
167
121
194
176
112
179
121
201
193
123
152
230
200
202
187
167
171
167
150
212
170
202
136
112
164
192
156
150
168
181
135
136
112
156
182
175
112
184
176
186
150
201
123
212
172
112
150
179
150
167
123
241
121
208
112
112
208
150
124
167
136
147
186
195
172
112
216
121
209
187
254
150
112
186
150
215
181
112
172
210
156
208
112
172
150
211
112
210
112
208
150
174
121
136
115
203
174
217
152
160
150
156
130
161
150
123
165
130
229
150
230
218
112
164
156
147
240
208
150
159
135
208
189
170
250
156
216
130
115
222
112
165
184
112
164
177
170
217
186
150
201
174
112
272
150
170
216
168
212
137
202
174
115
121
201
150
181
172
179
135
186
159
171
170
124
181
214
187
208
121
150
171
160
208
172
170
190
150
202
178
205
233
167
135
177
112
150
165
167
168
135
115
112
175
182
162
170
218
210
233
121
164
150
112
157
193
112
172
228
194
147
159
150
208
172
208
250
172
160
160
181
179
176
135
150
176
208
150
212
233
150
121
194
171
112
135
172
137
208
165
121
167
186
186
112
172
227
172
112
137
220
121
205
236
174
243
150
112
147
112
121
150
121
150
302
121
112
207
193
237
123
150
228
228
150
218
171
158
121
172
172
150
189
205
202
193
165
232
228
181
226
160
112
152
112
156
212
216
202
121
203
250
158
150
194
237
164
219
158
173
212
150
124
112
150
150
150
235
232
208
194
172
233
167
194
181
135
150
150
112
150
243
208
112
201
150
150
167
135
128
150
167
187
177
212
250
164
204
121
208
121
259
167
137
112
165
112
121
135
136
250
121
170
170
121
112
208
171
172
172
226
170
167
195
159
121
262
171
130
150
112
190
150
159
215
144
174
150
181
112
264
212
112
150
276
121
150
123
203
181
150
276
176
112
121
115
121
112
208
181
181
201
234
112
112
164
170
213
167
150
165
208
201
150
171
252
112
174
170
226
231
208
160
237
207
115
150
132
171
112
150
123
227
150
227
181
244
150
177
225
181
276
164
112
158
121
171
207
208
187
232
167
112
112
237
152
130
208
150
194
177
112
208
112
208
170
112
233
150
121
167
187
177
170
172
137
239
194
176
212
158
135
215
121
225
156
136
150
176
139
167
239
208
208
172
205
150
143
208
112
150
115
165
167
121
193
112
171
171
115
112
203
121
172
203
121
150
112
165
135
208
186
112
215
171
179
233
171
232
150
170
223
215
237
176
172
172
128
112
147
181
193
112
176
121
121
172
240
165
112
182
208
244
158
177
208
150
172
186
181
203
167
210
112
179
158
187
150
181
182
172
170
167
156
150
195
158
205
150
150
156
208
178
150
208
218
198
219
124
225
211
170
165
158
181
121
192
121
181
147
121
121
186
194
150
150
112
233
239
150
135
297
186
171
112
199
171
112
112
170
167
150
239
156
236
150
150
150
181
112
150
172
179
121
112
172
172
160
168
112
221
186
208
244
194
150
186
174
150
150
115
193
112
231
231
137
172
112
176
121
112
201
218
268
208
208
288
176
194
121
167
150
185
210
170
137
115
112
168
170
179
112
192
112
236
224
202
167
172
170
192
123
195
123
172
167
171
182
150
170
264
130
226
236
210
186
203
121
130
135
135
147
181
150
211
233
203
172
174
150
193
165
167
221
172
167
159
208
208
112
121
160
208
152
225
228
195
150
172
112
172
112
136
192
150
207
150
150
227
192
208
225
193
121
135
176
220
112
210
235
123
112
239
121
228
171
189
150
256
201
192
115
208
112
208
141
121
204
112
237
172
130
112
150
250
158
210
167
167
123
115
178
212
193
194
176
170
237
112
172
115
150
135
179
136
176
233
150
150
112
234
234
136
229
197
195
208
172
165
187
112
185
121
170
202
265
262
150
228
124
112
136
150
121
208
150
172
175
123
121
244
237
181
229
198
121
233
196
150
143
136
172
172
170
171
165
226
150
172
194
150
150
150
150
150
208
175
172
170
212
159
123
210
175
165
159
240
159
150
112
208
128
112
136
115
164
167
194
121
220
150
208
226
121
202
112
208
167
147
159
150
234
187
123
207
208
208
150
179
156
186
112
171
210
193
172
112
167
150
167
112
208
112
121
256
167
198
121
150
210
212
112
121
112
208
192
186
178
112
208
172
121
150
217
160
112
112
150
205
193
228
124
171
112
150
112
112
217
205
212
205
202
150
225
186
112
115
187
194
121
115
172
159
152
152
226
143
112
115
172
257
160
130
194
235
165
177
112
150
202
150
172
158
202
121
182
190
208
235
167
208
250
165
150
209
136
201
178
202
176
208
167
193
150
139
112
174
170
172
115
242
121
193
112
213
112
112
177
164
143
112
170
112
135
112
176
167
172
112
181
159
171
150
172
206
207
181
112
186
210
228
208
192
112
186
170
243
178
121
112
121
228
243
130
112
164
150
194
187
195
121
165
187
208
121
234
123
186
210
121
184
150
208
159
121
193
112
175
124
202
278
195
192
150
189
171
240
243
147
228
274
165
168
121
210
167
202
172
177
112
136
257
150
150
121
193
137
254
135
178
171
112
165
176
226
167
150
215
179
219
112
121
149
234
130
150
193
150
170
177
237
150
220
181
181
177
115
176
222
167
135
172
112
176
175
150
150
197
112
278
205
150
195
170
112
194
170
170
194
208
158
136
258
186
121
150
201
150
123
218
181
226
150
137
194
112
204
150
112
112
210
143
150
176
201
226
177
208
181
186
135
170
181
165
136
172
112
217
112
150
189
150
172
192
112
167
203
181
222
135
167
237
147
181
202
250
186
264
124
177
190
257
150
181
178
255
241
121
137
186
165
171
208
211
210
144
150
228
123
190
150
121
172
208
237
174
210
112
150
186
123
231
212
123
353
156
187
144
208
201
158
196
121
112
123
150
172
123
176
211
228
171
123
275
229
112
173
121
150
203
167
176
172
121
150
194
123
194
225
208
231
208
176
193
171
150
112
222
170
171
135
239
150
181
147
194
135
178
202
208
167
112
121
158
208
195
167
172
165
208
121
112
112
160
249
231
208
136
218
164
200
208
165
159
171
272
233
150
189
240
141
147
150
150
172
176
171
150
202
165
187
167
112
124
181
250
121
165
219
158
189
124
165
123
137
181
172
150
146
201
112
194
147
112
112
242
150
205
194
204
172
167
208
239
194
143
228
195
112
112
219
112
170
229
214
237
238
121
147
240
168
193
187
172
171
211
203
150
203
172
174
172
150
170
156
112
176
186
181
156
179
150
176
230
209
232
171
181
208
175
228
121
152
208
150
193
193
150
193
121
194
229
170
150
167
112
150
208
208
150
208
137
152
181
192
208
131
217
278
203
112
237
175
150
239
121
208
172
203
177
302
213
186
239
218
238
174
257
121
203
181
121
150
121
171
124
150
167
112
165
112
112
158
176
150
202
150
150
150
121
150
236
164
112
121
167
195
166
214
150
170
181
128
135
137
121
170
187
176
231
112
150
208
208
187
258
177
213
199
181
136
112
237
112
272
168
150
150
208
208
150
150
197
176
250
228
181
302
157
241
167
170
150
233
112
123
186
150
172
150
187
128
121
121
203
205
172
159
121
121
190
186
187
202
223
224
177
208
112
121
228
176
172
244
121
170
167
174
193
137
167
263
208
112
176
150
228
135
178
174
232
150
164
112
212
181
150
167
150
112
211
121
160
194
179
163
170
193
121
208
190
215
121
150
194
156
170
213
181
171
121
150
121
168
271
121
150
208
275
302
164
135
150
193
237
150
164
171
192
121
208
212
168
220
259
237
197
208
181
212
136
143
172
123
207
212
115
243
165
192
130
112
225
167
174
239
228
196
172
208
150
228
128
136
208
170
136
150
171
112
208
112
172
171
171
121
195
121
249
171
121
112
205
229
219
168
202
176
115
136
195
123
164
202
208
219
201
226
167
204
137
147
164
150
149
121
202
172
170
170
150
234
112
121
218
170
156
181
121
208
112
167
172
150
150
167
189
177
165
210
187
195
172
172
217
172
150
137
193
123
171
158
150
136
181
170
202
167
216
212
177
150
209
172
179
205
255
121
193
176
165
112
202
208
207
170
174
219
112
121
150
243
135
150
208
165
121
237
226
263
131
297
278
187
229
224
112
212
115
150
167
137
175
194
167
190
121
143
208
219
193
121
181
158
124
239
152
112
143
302
121
168
160
178
171
208
227
152
171
165
227
228
137
217
130
250
154
123
150
179
208
234
167
121
193
199
121
172
150
193
201
228
255
170
231
203
200
112
177
252
237
121
112
150
121
123
208
123
115
204
150
165
187
112
226
240
212
199
136
150
158
121
176
217
189
168
171
208
137
112
237
159
176
160
174
194
187
202
171
202
150
170
170
202
263
172
136
238
208
171
159
168
213
266
239
121
252
137
186
150
228
147
242
112
150
137
212
150
150
171
112
181
231
208
172
165
193
195
272
232
262
197
167
121
226
150
150
224
159
121
170
267
203
123
112
137
123
128
187
137
184
237
150
181
212
165
121
121
194
297
152
121
194
150
112
176
165
250
137
123
150
123
150
150
121
208
121
218
144
186
181
150
168
124
240
167
172
112
201
242
139
150
209
237
225
174
171
193
112
121
121
137
112
112
302
165
112
205
146
112
136
131
112
184
195
195
186
112
197
157
210
176
170
123
210
200
112
170
167
195
136
121
202
193
135
172
228
168
115
150
167
164
226
112
165
176
208
156
213
150
112
170
112
228
121
146
238
121
181
252
150
136
195
167
112
112
137
121
202
196
174
147
174
172
150
135
135
201
219
223
121
112
176
146
181
121
124
112
150
137
181
150
168
193
187
237
231
176
139
205
176
164
231
121
255
171
150
210
208
146
143
208
156
208
194
242
146
147
215
147
218
150
135
228
112
201
204
253
121
167
207
236
112
208
121
212
215
115
147
208
121
231
171
181
121
170
233
157
201
164
186
121
172
121
270
172
165
242
150
226
187
150
150
147
167
160
150
230
135
112
150
123
237
150
186
146
176
240
150
112
219
167
136
165
167
194
231
112
272
228
233
173
156
167
177
229
112
158
167
112
208
121
171
128
112
115
215
181
150
150
207
172
164
240
150
147
208
234
123
190
136
168
177
207
121
128
192
112
150
121
240
171
121
150
172
219
212
190
252
121
170
167
192
158
121
150
112
170
158
177
170
179
150
217
172
193
121
187
202
194
207
121
112
121
225
145
194
231
172
150
112
158
208
174
121
128
167
171
174
174
210
160
121
150
170
115
124
194
229
121
172
189
172
112
121
157
157
170
147
172
115
209
254
228
137
170
165
215
206
162
115
147
165
121
190
171
194
208
194
255
186
112
223
240
244
112
201
112
150
123
159
208
229
241
156
209
165
250
194
150
181
206
223
112
167
207
165
112
164
170
123
130
178
112
150
121
147
159
150
150
112
150
150
143
181
159
181
150
208
112
172
123
208
212
206
250
156
112
115
234
225
170
121
172
172
181
236
210
255
193
218
171
181
193
121
176
112
150
121
208
171
212
237
195
156
220
150
176
150
224
299
121
112
121
170
165
150
193
170
236
112
121
112
208
112
236
228
150
150
112
208
167
167
208
121
186
180
143
158
171
170
150
186
195
139
167
112
150
150
208
234
171
237
240
156
121
192
207
228
170
158
150
195
165
187
150
230
222
181
164
112
150
121
208
177
185
150
181
264
172
150
186
176
121
226
208
194
221
213
112
232
164
212
112
143
167
172
123
274
121
172
195
150
158
176
171
167
192
207
150
250
150
158
165
232
150
167
150
112
193
193
170
192
233
121
203
136
172
174
150
205
121
225
183
164
112
186
124
121
187
202
121
179
124
193
150
176
259
201
150
302
193
195
165
171
112
233
167
236
115
112
165
172
250
150
195
150
231
150
212
201
259
150
203
136
219
112
211
239
150
231
233
193
164
143
112
171
219
123
167
193
167
167
181
201
174
240
135
228
112
121
165
167
172
112
147
190
121
171
302
121
208
244
210
121
115
212
187
171
172
181
216
208
172
121
228
112
212
150
136
130
150
208
176
171
207
171
176
170
165
115
121
193
150
208
137
216
150
150
212
171
210
170
160
137
202
112
121
121
150
194
150
121
176
228
208
201
123
272
150
149
115
193
167
112
226
135
147
115
112
150
260
112
187
187
165
150
186
112
112
112
218
171
193
150
150
112
150
150
196
220
112
207
278
150
150
181
123
207
150
150
228
182
263
150
205
112
217
186
150
150
150
150
272
112
186
187
168
112
208
112
121
137
112
217
208
255
177
210
150
123
135
193
210
228
150
170
170
167
112
156
112
172
150
170
112
112
208
165
208
167
135
144
167
135
112
208
201
123
136
172
150
147
121
200
112
121
208
282
150
207
123
121
112
165
182
203
194
176
121
150
194
160
143
214
150
156
258
167
121
243
302
186
112
150
201
228
194
167
228
276
136
150
186
193
168
128
150
150
168
121
176
233
150
150
130
205
170
112
250
239
208
137
112
170
217
150
275
217
172
165
172
181
115
179
165
190
250
236
112
203
239
161
143
123
152
177
165
121
123
172
297
112
225
150
172
197
177
167
208
276
158
184
132
194
219
144
136
220
226
194
165
172
187
136
233
112
167
192
170
115
189
152
164
147
189
171
156
163
253
167
223
147
121
210
150
136
233
208
121
147
165
112
121
123
150
176
131
112
177
208
165
165
159
152
150
115
235
165
156
135
112
208
112
130
302
234
174
186
150
123
186
145
150
211
121
194
115
163
150
206
112
121
112
231
194
150
123
234
165
218
124
121
235
181
150
150
217
112
112
226
241
150
210
170
112
228
203
179
137
195
228
147
121
194
172
211
167
185
150
193
171
121
150
115
226
210
208
208
302
121
202
172
226
167
186
147
156
217
158
194
112
195
147
167
193
150
144
205
187
153
150
202
112
139
156
225
196
165
208
210
194
176
213
121
112
112
168
176
112
193
253
123
218
121
115
164
202
205
112
192
167
135
208
150
150
225
170
115
192
181
187
171
130
112
208
228
208
112
248
194
208
192
150
201
228
236
135
172
299
187
150
194
150
156
201
208
150
147
195
150
112
273
255
195
167
150
150
130
152
193
193
182
276
186
165
171
112
135
202
121
137
170
176
137
112
172
115
181
176
172
112
172
176
112
121
181
150
150
121
136
192
150
112
179
112
177
112
150
150
147
215
208
210
135
208
150
150
150
220
209
172
209
208
112
167
112
152
170
112
112
181
164
123
150
201
167
121
159
232
208
250
197
171
172
121
271
150
170
171
176
172
208
182
171
222
228
234
208
147
281
150
150
171
208
208
202
167
216
112
178
174
177
189
208
208
176
170
263
121
136
167
176
150
187
176
218
181
174
186
177
137
217
167
124
136
147
189
165
167
112
150
193
171
195
175
152
183
165
135
112
156
123
156
205
121
112
210
121
181
121
217
137
217
278
150
121
208
112
225
181
121
121
121
137
167
205
150
121
173
112
195
158
220
177
235
156
170
209
175
123
173
194
172
124
150
232
195
239
176
177
205
150
189
160
112
208
208
112
186
150
150
112
137
168
167
176
159
150
223
264
112
232
239
112
150
184
175
123
179
217
193
150
121
182
168
198
170
121
150
167
112
115
115
123
167
115
171
135
213
237
212
112
167
168
112
130
275
150
123
137
192
167
112
147
194
218
239
194
182
186
121
275
208
112
189
195
150
172
259
112
167
121
228
174
159
195
150
208
208
243
181
112
175
170
206
186
177
150
208
157
209
217
150
205
124
239
181
178
228
186
112
150
112
150
231
136
121
177
208
159
121
228
121
209
181
202
112
201
171
159
137
250
112
112
192
162
150
157
150
112
144
192
193
135
181
157
136
121
128
195
156
219
135
228
146
208
135
186
181
171
177
232
220
164
218
214
112
162
175
194
158
170
170
150
171
167
123
289
172
172
157
194
170
218
182
121
165
228
240
177
228
150
240
171
112
210
208
123
208
121
158
112
172
121
219
181
150
243
112
170
176
112
181
137
208
135
172
177
228
121
121
181
194
170
150
174
187
217
123
195
135
115
170
167
233
150
170
150
150
112
189
171
150
150
112
135
228
187
121
171
150
208
208
167
112
121
220
225
203
112
172
172
172
112
194
150
194
194
172
181
121
176
238
176
170
112
199
171
150
210
165
152
121
150
121
225
196
187
194
202
210
237
215
178
172
189
115
150
128
227
189
194
221
214
265
210
208
144
186
208
150
167
231
150
181
150
128
170
176
152
136
241
112
208
219
172
176
159
165
144
135
123
156
150
164
202
165
130
182
167
158
115
236
171
231
186
181
301
228
150
208
208
182
165
202
170
168
171
208
172
172
228
172
156
165
192
170
121
219
171
217
121
136
181
220
181
258
216
156
224
176
170
208
201
159
172
115
172
172
193
297
170
202
171
208
229
167
112
216
231
172
194
150
150
171
112
147
215
233
156
168
208
170
250
150
150
150
177
195
123
150
121
164
194
207
270
123
208
164
302
170
121
131
121
217
112
187
172
172
229
123
225
124
184
150
128
167
220
112
121
170
186
212
121
186
181
165
193
112
212
176
168
170
123
121
121
121
123
152
236
150
160
139
210
150
202
170
201
123
128
121
112
212
150
186
201
150
150
200
121
212
208
121
121
194
136
172
112
112
212
150
208
170
208
121
228
150
193
167
228
212
150
208
163
150
210
112
299
208
121
194
121
186
121
112
172
167
199
229
150
239
150
139
192
112
193
130
150
177
136
194
165
208
150
194
112
112
229
121
150
198
172
170
187
253
128
136
150
164
156
159
121
164
150
176
171
176
150
112
152
121
231
121
170
181
115
123
202
237
220
250
170
165
213
172
112
150
323
179
150
219
230
212
167
226
158
217
112
302
150
193
208
176
239
150
112
112
228
165
112
172
203
172
150
170
131
112
172
181
228
186
112
153
136
208
172
167
123
176
150
112
276
115
112
194
124
136
150
121
194
186
159
123
124
150
187
112
170
236
176
193
112
123
207
208
203
135
202
174
237
121
172
150
150
170
228
150
171
147
159
150
112
121
179
147
181
174
123
165
186
181
150
164
208
258
170
112
144
150
176
121
220
147
208
232
121
150
128
208
208
243
217
226
173
150
123
112
170
202
167
171
237
175
208
172
208
258
172
208
201
176
192
210
121
150
167
159
150
187
171
181
145
121
158
208
158
121
182
124
130
223
208
176
186
226
121
208
164
124
121
214
136
176
165
199
302
121
147
237
194
167
170
208
121
178
241
168
194
150
112
193
167
150
235
147
112
147
150
112
112
210
150
208
137
210
237
208
167
150
112
231
172
146
172
259
181
271
150
150
112
112
165
181
171
178
150
208
112
121
240
170
159
123
147
171
150
219
112
176
181
150
136
167
158
159
158
112
112
112
255
172
172
150
208
112
159
176
182
158
172
112
198
147
115
174
172
170
255
176
164
184
203
167
256
195
115
171
112
231
208
172
135
170
171
215
150
228
123
124
208
181
228
150
195
112
167
172
186
123
137
150
130
112
112
176
250
230
121
167
166
205
112
255
207
181
150
199
150
121
175
170
150
186
218
186
239
195
121
194
237
167
128
150
147
226
208
196
139
186
176
236
186
214
166
197
137
172
208
177
172
211
152
168
172
123
160
139
194
228
231
208
198
171
202
167
160
167
121
234
150
170
150
158
228
219
123
150
228
128
112
121
121
230
121
184
167
112
194
172
112
228
160
121
208
193
210
195
186
135
225
136
208
175
229
172
123
167
202
186
121
228
202
158
115
158
201
170
265
121
173
143
230
225
150
187
210
112
181
182
183
121
235
121
179
239
250
258
217
167
203
135
150
150
150
150
123
112
171
121
173
121
187
177
171
177
176
121
123
172
208
197
172
150
170
162
121
231
202
302
226
112
208
212
150
224
228
156
237
150
170
112
195
121
112
176
147
195
263
178
170
181
240
147
112
172
219
194
150
209
201
172
177
174
229
112
171
121
167
194
243
150
172
283
121
186
230
167
123
185
150
186
167
176
115
130
217
152
112
170
121
112
112
135
183
202
203
178
150
152
212
150
193
121
219
136
228
212
172
228
210
121
172
186
112
217
208
150
216
206
121
172
186
208
150
176
124
170
217
156
171
255
219
229
231
162
121
172
121
123
157
172
121
194
112
194
130
229
170
115
220
210
168
160
239
218
186
181
171
208
160
249
250
150
112
150
150
195
172
230
239
176
172
186
121
137
172
237
172
150
115
194
112
167
239
168
167
181
243
208
172
150
204
156
150
135
165
123
130
115
171
123
150
112
175
150
199
112
150
186
167
165
177
208
124
177
123
237
112
172
208
150
171
211
112
112
228
208
147
212
170
137
135
197
186
123
150
167
115
112
150
177
121
255
195
201
175
121
150
112
121
250
202
112
208
272
240
168
237
170
112
223
121
228
150
167
172
112
194
187
226
172
121
205
213
123
164
170
135
171
188
208
150
193
112
230
112
150
209
121
121
181
256
121
150
234
158
136
121
239
150
174
156
150
171
208
143
112
171
150
176
172
112
208
167
164
112
226
274
177
150
175
240
112
181
194
228
205
112
216
219
207
150
208
198
226
199
230
159
177
167
228
150
208
167
135
185
194
136
150
243
112
186
229
250
181
228
219
112
187
193
195
186
150
165
193
240
195
215
174
185
166
207
170
135
144
276
170
121
150
123
204
121
175
168
150
187
192
220
130
121
147
181
227
130
177
115
176
187
172
121
123
201
228
201
147
201
150
150
229
176
112
231
219
270
217
165
152
193
193
172
200
192
135
112
150
208
121
184
167
172
172
165
176
234
165
172
150
128
205
171
112
115
167
167
201
123
158
121
195
216
159
112
167
167
112
212
150
226
150
147
121
130
228
121
170
213
121
112
115
177
124
121
159
145
150
128
177
150
123
208
193
160
258
194
223
160
121
112
227
208
150
264
121
150
143
121
208
192
150
208
115
170
212
177
112
167
204
150
156
210
124
152
121
121
208
167
121
170
239
195
181
177
150
158
237
224
170
177
112
227
121
174
181
112
172
124
240
150
150
203
209
121
171
121
121
181
203
225
194
136
158
263
170
156
194
150
162
150
276
150
219
150
202
219
112
208
115
192
239
219
121
124
201
231
181
159
156
170
112
147
165
170
167
250
135
174
150
258
152
261
159
210
208
158
192
165
150
229
170
214
214
190
200
195
112
121
171
170
135
147
121
171
112
181
250
194
172
203
215
217
167
170
139
240
167
184
172
179
205
208
159
135
156
121
228
199
233
208
228
135
178
172
150
171
208
208
121
112
112
237
137
121
170
189
172
195
176
167
178
170
115
276
128
112
112
237
150
150
177
155
233
112
259
195
174
202
172
208
150
220
160
112
137
207
112
150
226
150
202
184
170
242
172
226
228
121
250
178
112
150
208
196
150
240
158
224
164
223
167
147
210
181
112
225
112
150
164
165
121
150
158
121
263
250
155
175
228
172
170
260
130
112
150
152
201
171
150
202
208
124
193
150
172
177
112
135
219
150
208
174
235
172
167
176
112
257
150
150
150
160
112
150
152
170
237
177
201
170
192
121
208
184
167
197
173
158
130
197
208
208
171
176
136
121
115
167
172
194
112
268
194
112
150
220
171
150
152
208
123
112
228
204
123
171
207
210
195
194
194
208
240
172
112
181
196
147
150
135
171
167
195
186
184
135
150
210
205
260
172
217
121
172
150
164
190
172
177
243
167
171
187
121
123
212
171
178
176
165
172
192
150
121
150
152
112
232
172
121
171
192
121
225
263
172
171
150
174
165
172
137
112
150
275
159
208
164
121
187
193
172
172
112
211
171
112
135
171
190
208
201
261
150
168
220
192
210
137
231
112
208
112
208
150
239
171
150
187
194
175
232
177
115
123
164
165
208
250
158
228
121
221
193
276
112
150
209
171
150
208
193
165
150
121
165
174
208
124
150
277
136
171
123
278
172
172
156
181
152
211
217
121
128
218
147
131
121
171
208
150
194
208
214
172
193
219
197
176
237
147
218
160
135
150
212
173
228
243
112
208
201
211
243
167
200
123
150
203
257
150
172
150
112
170
112
130
178
212
253
150
256
176
150
150
115
181
121
237
174
112
112
171
174
210
201
187
167
112
246
228
208
164
225
135
185
150
150
187
135
112
194
165
191
172
198
195
171
208
159
252
231
187
158
202
172
123
204
194
172
255
123
194
222
163
150
115
150
176
112
115
165
123
167
144
181
205
121
150
208
270
272
167
282
121
172
130
212
176
167
160
172
172
112
150
112
159
176
189
208
150
150
165
136
152
150
247
112
187
192
196
121
131
208
229
195
172
174
112
112
112
196
181
215
121
219
177
167
167
112
171
167
243
112
160
302
219
208
208
150
226
208
160
160
212
190
208
230
150
121
172
139
202
194
181
195
137
177
121
208
237
171
123
237
181
137
123
206
150
121
176
136
186
172
186
231
150
233
172
150
208
150
150
112
170
210
150
168
194
121
246
217
193
112
212
136
225
115
212
255
176
194
150
150
150
124
194
172
210
220
150
139
172
150
193
150
170
172
203
112
115
173
181
192
150
196
150
302
156
167
150
189
187
150
217
150
158
208
233
174
181
250
137
112
186
203
189
177
121
172
172
121
172
121
167
115
150
167
194
162
209
187
170
158
171
150
112
220
150
172
159
150
228
180
250
121
195
176
223
233
150
112
150
137
150
130
172
150
170
208
112
208
150
208
189
228
150
156
201
121
207
130
172
203
198
223
181
121
276
203
208
190
208
128
172
195
231
123
150
239
193
194
196
170
112
189
121
211
121
193
121
202
167
112
147
207
147
115
123
167
172
195
227
171
150
150
243
112
144
195
147
121
236
146
112
121
194
170
165
156
239
238
172
193
112
184
147
278
208
257
228
202
204
159
150
208
225
112
193
225
172
208
143
150
121
112
150
186
150
175
112
192
115
150
150
173
112
143
205
198
128
218
194
121
186
135
112
219
170
121
207
171
174
208
194
239
201
121
178
130
150
192
181
186
250
187
130
123
158
132
159
167
167
150
121
174
181
137
167
205
167
167
159
248
187
123
135
160
202
214
208
121
121
167
153
123
194
176
204
137
229
112
167
158
220
305
220
150
209
112
184
216
164
256
262
121
121
137
124
150
167
219
150
112
181
210
165
121
137
121
270
112
150
112
208
177
150
250
137
121
237
112
170
208
115
147
227
172
150
164
150
158
121
203
170
150
194
170
181
121
212
184
152
226
179
250
150
176
231
187
112
135
207
206
150
150
121
121
170
239
150
208
181
150
112
112
179
181
150
174
187
136
112
181
193
150
177
121
234
243
258
150
128
172
207
174
150
112
150
181
135
167
150
209
219
179
150
121
229
136
197
123
123
194
150
150
219
150
112
121
121
121
159
170
112
162
255
186
212
208
150
121
150
123
167
237
234
226
156
171
115
172
212
121
121
136
175
172
112
136
121
191
300
170
139
135
164
112
121
121
124
172
208
167
112
156
150
112
112
150
239
121
160
239
121
185
231
143
193
112
189
121
112
181
207
150
208
231
240
190
177
150
150
121
208
136
115
208
121
135
121
184
112
176
150
143
174
158
165
112
112
181
123
195
189
121
158
197
170
150
187
228
143
147
168
172
170
167
112
208
168
194
171
150
176
170
139
112
123
121
181
150
228
177
150
152
187
121
112
170
207
205
194
167
189
179
187
210
210
171
228
167
192
206
150
210
194
137
225
136
172
175
150
150
123
150
167
237
112
121
121
208
112
181
167
229
208
150
187
137
170
165
128
194
170
202
203
130
121
168
202
208
150
152
121
137
208
150
176
210
201
208
168
139
212
159
147
229
259
231
192
170
112
186
112
171
202
168
156
167
150
205
241
221
165
164
172
124
208
167
242
150
171
128
231
193
112
209
121
193
212
167
134
150
205
192
208
243
211
177
212
150
219
150
239
170
198
150
136
135
112
172
150
112
257
130
195
278
128
150
112
176
194
150
168
194
236
164
207
241
233
175
204
186
123
172
167
167
172
122
237
172
123
167
112
218
150
195
112
189
195
194
212
112
187
150
231
112
152
217
177
181
171
167
112
137
150
121
167
165
165
241
123
150
206
136
158
171
137
186
232
215
112
276
208
238
181
187
213
123
171
208
137
236
168
203
169
115
121
207
112
219
170
208
121
208
121
121
228
112
147
217
121
121
115
150
150
302
172
171
198
278
202
168
195
174
210
181
172
177
167
172
170
172
205
214
206
172
134
228
172
194
167
195
194
123
115
159
186
219
157
219
112
130
203
128
212
187
195
130
171
167
212
216
152
112
201
123
161
121
187
189
172
216
121
209
172
150
160
124
231
158
158
208
203
171
112
115
255
237
167
137
170
174
259
123
172
112
228
250
194
159
255
181
237
121
143
240
207
181
167
170
240
207
168
250
193
150
220
112
147
176
205
167
147
170
172
135
228
150
181
231
150
170
236
112
150
220
165
112
231
124
165
208
112
150
172
174
205
112
131
112
171
170
121
177
237
137
167
278
172
150
137
276
123
152
167
171
229
164
222
175
150
150
121
168
228
123
121
170
112
174
228
115
174
228
112
167
201
150
208
208
235
179
158
150
208
112
137
150
112
176
112
165
182
121
137
124
172
112
112
167
167
193
207
168
112
167
172
112
112
156
162
158
130
112
215
237
150
194
225
171
172
186
121
121
201
184
192
170
186
228
172
195
202
150
172
176
239
121
121
150
112
161
150
150
150
152
150
181
159
143
112
150
150
170
175
195
208
174
167
177
297
191
193
137
176
136
287
194
150
250
187
150
223
193
217
170
121
150
112
150
228
150
195
212
176
181
210
177
137
150
165
185
112
165
181
178
170
237
225
167
210
179
150
175
112
170
150
208
160
150
172
203
160
237
171
160
165
215
150
302
158
220
112
208
112
278
170
112
203
167
112
143
167
168
192
123
160
164
245
207
208
208
217
121
115
150
167
112
189
208
158
112
171
150
202
150
158
170
112
150
167
195
170
208
174
112
115
230
208
112
150
143
137
187
205
170
172
152
170
231
158
172
156
112
150
208
135
181
128
112
167
179
115
155
232
123
150
228
181
170
150
172
128
121
158
147
179
210
207
208
128
167
143
112
121
121
175
201
164
164
204
176
231
150
121
121
172
181
150
160
205
150
157
226
167
150
199
112
136
167
243
150
150
194
165
202
160
123
121
176
167
124
162
302
210
112
208
112
158
237
174
229
174
210
171
195
150
237
167
121
150
172
143
115
121
172
181
121
143
187
224
223
123
147
170
150
121
186
112
112
137
208
150
232
194
146
208
112
121
156
176
210
172
143
195
208
181
208
167
121
234
135
217
208
187
219
170
208
212
185
136
213
194
165
123
150
136
167
150
150
159
196
150
137
172
237
150
208
150
192
150
156
193
193
189
193
208
112
112
150
177
170
223
137
115
175
172
232
207
121
247
203
121
121
160
112
181
219
189
194
150
112
165
185
164
156
183
130
150
121
187
239
167
208
230
208
170
258
123
208
159
186
176
176
208
150
135
121
190
210
147
210
156
172
150
200
136
112
135
215
241
208
150
112
239
195
170
195
220
160
172
237
246
121
167
152
212
121
121
201
182
152
243
172
231
202
217
226
121
194
202
124
172
195
159
176
220
208
210
165
208
124
163
112
168
172
272
187
195
164
211
293
219
237
150
237
187
201
195
123
160
121
176
236
123
170
121
123
147
121
121
165
263
186
121
123
121
194
147
150
167
124
167
201
179
112
150
199
144
302
112
143
156
187
228
150
202
172
302
263
150
208
167
123
171
158
208
171
150
112
150
186
121
195
176
150
156
167
208
172
236
157
209
202
135
186
160
219
150
147
136
150
123
176
112
281
227
194
167
181
152
130
167
112
210
167
185
123
152
112
130
112
158
124
176
201
112
167
170
150
123
121
150
159
219
121
170
186
112
115
150
150
124
165
112
174
144
123
195
172
186
229
121
186
193
112
164
112
219
121
179
112
193
156
172
165
121
174
165
167
121
174
130
208
225
207
121
112
137
192
121
217
150
112
170
172
194
115
167
112
121
150
208
112
236
195
207
172
136
186
186
208
208
175
165
171
228
195
208
112
165
170
168
136
123
211
150
124
187
121
208
228
171
208
172
228
212
112
112
147
202
150
172
121
187
121
255
121
170
244
172
167
206
215
167
176
124
150
233
172
220
112
172
228
112
232
201
176
237
193
210
136
193
229
247
208
170
150
150
165
171
195
172
167
176
112
201
150
167
123
124
146
201
150
231
223
112
228
181
150
207
201
146
206
150
112
171
190
135
239
150
156
241
150
150
123
186
229
150
112
201
225
150
155
186
165
167
158
150
115
216
146
194
202
181
187
170
121
207
193
170
112
170
222
121
154
228
150
143
150
165
156
112
112
219
167
150
207
165
150
115
121
212
157
172
115
228
158
112
235
177
168
181
213
172
194
150
168
167
210
115
203
195
207
177
274
150
249
193
176
200
208
174
172
172
135
112
228
261
124
128
124
186
112
193
193
170
115
179
150
178
121
237
202
161
204
181
194
171
231
172
195
171
217
172
112
181
112
172
181
207
167
112
112
203
150
121
135
193
164
174
150
193
150
208
243
208
208
208
121
170
208
121
208
208
162
123
172
212
121
252
170
242
156
250
202
172
121
112
121
112
150
219
194
192
123
172
172
228
150
150
279
150
165
187
177
112
200
175
208
167
233
208
112
240
236
194
121
276
187
234
202
112
135
121
172
112
204
150
152
232
150
158
167
170
218
250
181
112
172
187
136
152
166
181
172
167
218
121
219
208
177
193
168
186
208
112
201
112
259
203
259
232
150
170
201
250
150
185
150
217
193
152
302
150
272
150
217
172
150
194
112
115
195
112
195
227
203
164
226
115
150
237
172
228
202
170
112
121
236
136
112
121
174
112
193
172
181
136
158
112
186
136
121
189
176
195
174
225
150
112
158
121
204
112
250
176
121
124
121
210
150
175
210
121
275
150
210
165
112
247
112
195
239
201
220
181
203
208
177
203
209
176
192
165
187
172
181
176
172
161
208
194
229
137
218
121
150
156
150
226
171
124
181
121
121
219
208
158
121
170
194
137
237
203
150
228
170
176
208
121
123
181
147
150
159
165
121
112
172
176
150
251
165
143
181
150
201
150
121
212
231
150
203
159
158
172
219
150
165
112
172
112
167
150
229
115
171
211
203
150
177
115
247
208
223
208
167
121
240
181
121
195
112
165
208
233
208
172
208
137
150
152
218
207
232
201
167
112
184
124
177
232
135
143
123
112
253
112
243
130
112
181
121
220
121
115
203
210
150
210
112
172
172
112
171
167
227
212
150
150
130
159
208
242
232
208
170
146
239
150
121
214
170
179
158
208
115
112
172
150
135
164
216
159
130
193
158
170
302
167
137
186
170
150
167
239
128
220
112
121
150
112
147
150
170
187
226
278
112
112
147
212
164
136
112
150
239
150
189
123
215
167
186
250
215
215
203
226
167
147
121
123
150
239
123
152
157
218
208
135
194
121
147
179
170
203
172
170
121
176
264
112
181
215
204
263
123
121
112
115
240
159
170
200
121
112
112
208
123
112
204
121
182
160
228
150
220
159
150
167
150
177
201
112
302
181
231
165
150
176
172
265
150
150
186
121
218
172
208
150
194
112
167
212
112
195
112
172
121
258
150
302
121
170
220
112
197
172
193
170
349
130
147
194
150
194
194
170
177
221
135
112
172
210
171
167
208
112
167
212
150
167
311
186
150
189
136
276
147
233
121
217
192
196
167
210
174
112
208
184
181
229
158
150
186
238
203
112
215
134
231
193
121
212
176
137
158
288
237
302
134
186
150
228
201
239
202
194
168
121
270
165
112
172
167
112
115
124
115
121
217
183
174
243
159
112
150
166
201
181
121
121
150
135
177
150
217
170
175
112
192
112
239
115
150
112
123
147
250
150
201
210
136
121
150
121
210
181
121
171
123
150
158
112
170
170
121
208
228
172
167
196
203
192
193
112
177
236
172
160
115
203
237
137
150
121
165
214
194
112
208
186
112
202
170
150
137
156
156
202
193
202
167
220
167
150
112
184
165
177
121
121
150
247
112
275
172
278
208
181
208
210
112
194
170
121
181
208
174
179
159
166
178
232
112
150
259
112
187
203
302
220
194
164
112
194
228
150
124
159
167
112
226
121
210
210
172
137
172
194
240
160
147
228
208
124
164
112
194
230
170
176
121
165
150
213
147
193
150
214
212
164
123
257
208
231
165
212
175
167
167
207
112
123
150
172
172
150
150
172
208
159
208
196
175
216
192
212
211
147
167
220
150
248
193
167
186
208
202
124
171
121
235
150
193
195
230
186
278
181
181
170
121
135
112
181
193
135
176
216
121
237
167
137
171
164
254
171
121
167
196
186
150
186
275
239
128
187
112
158
165
172
172
228
181
177
164
137
159
112
164
171
170
203
150
128
150
175
176
208
181
112
177
208
121
170
121
250
177
192
121
181
168
237
181
208
130
165
176
135
150
208
170
167
212
237
165
150
121
171
181
175
202
135
146
233
150
130
227
150
128
130
150
150
150
150
150
243
121
231
174
112
213
259
186
112
228
214
235
150
150
121
167
121
176
196
150
204
172
205
223
177
121
186
181
205
219
160
186
172
150
165
174
208
287
194
150
112
207
121
184
112
124
165
112
121
150
174
156
147
208
112
156
150
215
158
150
205
150
121
165
233
170
136
192
234
164
121
150
150
171
176
150
202
205
115
170
208
121
263
274
150
150
121
167
190
176
216
150
208
190
228
115
209
208
170
176
170
147
176
136
186
112
112
167
202
167
170
112
226
172
193
194
208
174
203
158
150
181
150
242
112
147
112
150
115
237
172
187
159
187
158
218
121
136
150
150
231
257
150
147
194
112
112
150
237
172
150
112
189
208
302
167
201
218
112
240
228
228
184
208
189
158
186
193
194
176
224
112
181
201
177
208
127
272
204
194
112
229
179
208
150
179
170
210
143
193
150
121
231
172
208
210
195
150
240
238
171
123
171
172
167
195
150
159
253
167
115
121
150
194
181
150
121
160
121
171
150
202
199
241
121
136
167
123
175
159
231
112
160
208
208
165
164
121
255
121
167
112
210
187
170
186
201
237
208
112
250
150
187
150
196
150
240
112
171
217
263
206
181
178
208
121
150
176
229
201
112
208
272
264
203
115
150
208
115
172
150
165
194
123
229
150
150
150
176
216
208
130
121
210
181
150
124
123
112
186
156
159
150
112
176
130
121
194
239
150
216
121
162
171
186
172
172
255
181
123
172
208
123
121
241
208
194
150
150
174
187
220
123
194
167
112
237
112
121
171
130
185
177
220
115
158
160
115
121
150
123
150
172
218
170
220
194
208
121
205
205
121
150
112
207
203
165
157
172
175
123
208
228
195
174
219
150
208
216
194
165
187
208
176
233
112
186
121
186
212
112
171
186
174
229
207
204
177
215
192
121
175
195
152
121
208
121
232
243
150
150
195
112
208
150
160
135
170
121
150
206
172
112
171
160
212
243
231
121
194
112
150
208
209
228
193
172
144
115
160
195
128
174
176
203
170
150
150
231
150
172
271
265
243
208
164
135
150
172
170
208
150
193
208
112
172
152
150
171
112
121
112
150
231
177
171
150
167
158
150
164
202
181
208
123
150
231
130
121
202
164
150
186
164
168
243
112
136
214
267
187
136
176
173
112
121
172
112
237
193
123
202
208
187
172
143
203
172
194
202
150
112
208
207
193
239
170
178
242
186
170
166
121
137
205
150
204
123
123
281
245
170
121
208
135
194
172
150
165
112
238
123
194
216
202
226
167
172
112
239
226
253
239
150
208
193
176
150
179
121
224
194
115
112
121
136
194
218
202
112
150
208
210
147
172
150
201
167
208
123
170
162
150
136
298
208
208
167
121
171
121
150
228
233
121
121
165
175
156
123
112
167
190
208
162
274
172
121
208
152
172
202
179
223
220
176
208
112
143
219
172
167
172
201
150
192
165
216
137
193
172
228
241
181
165
257
139
210
215
112
112
170
150
247
253
176
150
205
150
146
194
172
193
243
150
136
244
121
229
182
229
237
167
235
152
121
208
208
225
150
136
167
192
228
225
194
202
195
112
150
158
203
208
178
177
131
171
202
167
237
172
150
205
150
130
123
150
192
165
164
195
139
257
157
170
170
187
170
165
186
171
123
228
171
176
150
150
150
176
139
156
167
124
165
208
172
226
232
121
208
211
112
121
112
194
112
242
172
165
172
181
112
137
232
210
200
150
167
210
150
208
203
257
220
167
208
171
159
215
179
150
177
150
123
150
150
160
121
167
159
222
210
208
121
150
112
233
150
194
150
128
232
121
194
228
112
174
158
225
171
137
112
170
150
194
266
194
137
171
150
165
121
150
112
121
121
124
193
236
208
150
121
123
150
137
152
207
137
112
146
208
123
208
192
128
161
170
144
165
123
239
121
171
168
121
208
147
226
172
167
150
164
150
152
164
233
167
174
124
167
150
209
193
150
112
201
278
250
228
228
194
150
130
158
150
167
228
210
195
212
228
254
121
137
171
185
150
150
250
216
147
165
172
168
203
186
274
150
112
150
121
150
176
237
172
227
112
172
186
201
258
150
112
215
207
170
194
112
194
165
194
171
193
181
112
250
205
121
176
150
172
232
272
213
146
150
231
112
208
121
182
150
201
112
209
152
172
239
112
150
121
172
115
150
194
112
136
172
131
150
177
143
193
237
135
170
115
150
165
208
112
159
121
167
150
234
171
237
187
193
272
217
137
121
171
229
123
229
208
208
212
112
121
226
112
208
176
170
112
172
121
228
167
199
187
219
121
172
150
112
176
171
112
225
189
121
137
227
150
131
208
150
123
167
202
258
235
209
217
172
172
137
226
191
150
187
172
112
202
208
164
165
158
194
150
186
208
135
150
220
112
150
165
231
135
214
176
130
164
187
176
123
172
228
172
208
150
195
150
150
146
130
202
240
121
160
165
189
172
170
171
175
150
225
150
127
112
143
181
150
124
150
150
156
193
121
177
193
121
177
123
112
192
159
171
172
211
170
115
165
179
184
183
186
176
187
136
225
150
165
203
186
121
130
172
150
202
150
135
212
250
208
128
167
170
177
201
250
208
112
201
209
225
175
254
167
172
165
233
203
150
185
228
181
167
159
155
201
208
211
150
136
147
272
299
144
150
218
181
255
163
179
158
112
112
150
165
195
194
150
208
214
121
227
219
250
167
112
208
150
181
186
170
175
201
174
168
152
246
172
177
135
150
136
150
186
232
172
167
172
123
187
112
225
214
147
128
167
175
121
178
170
179
196
177
150
181
159
167
210
170
150
150
218
123
170
194
159
150
167
146
228
208
150
208
171
160
150
210
150
165
147
150
194
158
195
176
121
158
167
112
226
198
150
302
205
208
210
255
124
159
276
123
208
170
112
181
212
112
172
150
171
208
186
172
195
205
112
136
176
150
195
121
172
176
234
205
121
181
229
208
175
250
167
160
161
144
208
121
228
158
208
274
167
156
172
176
193
210
150
160
156
135
150
193
123
192
170
144
194
217
136
174
263
112
187
193
167
150
112
177
194
218
167
147
158
150
121
202
208
121
157
135
208
195
152
150
302
145
201
121
218
217
173
202
239
147
194
112
150
165
112
202
123
121
185
242
245
195
237
193
165
165
112
130
208
121
206
193
184
178
256
152
170
217
112
201
186
160
171
167
219
193
176
208
160
172
150
171
150
203
150
297
112
121
194
150
121
208
172
121
207
121
210
177
172
150
172
194
139
167
137
235
143
112
150
150
208
170
150
192
203
245
152
112
121
150
167
121
171
112
162
152
150
128
205
242
158
212
234
112
172
160
150
181
226
208
208
232
121
184
162
208
159
112
123
172
176
219
239
229
112
150
144
186
215
121
137
223
171
123
172
121
112
123
121
128
112
112
208
171
150
170
237
150
170
121
130
259
175
153
220
137
202
208
124
150
150
150
177
176
137
235
187
192
112
187
175
172
150
147
176
112
150
231
121
121
238
150
250
175
228
230
178
195
179
121
228
123
112
135
171
170
228
124
121
112
158
150
208
112
219
150
189
194
237
146
220
210
186
150
173
172
112
112
167
150
208
203
228
150
159
181
167
213
143
237
227
205
131
225
165
172
255
181
112
208
170
167
194
160
112
137
194
121
167
250
165
167
170
112
203
144
202
210
170
121
121
167
124
172
177
150
208
112
195
136
112
112
202
136
152
121
179
210
121
191
174
243
216
202
112
150
190
121
170
121
203
123
271
115
130
212
137
115
172
121
210
206
150
239
143
165
150
187
195
130
185
150
123
150
172
181
194
181
150
135
181
170
150
208
214
135
123
150
209
150
170
235
193
170
208
158
121
209
172
160
112
181
198
206
192
195
203
206
170
139
250
258
150
235
193
112
150
112
170
215
192
233
167
112
208
201
123
172
156
208
223
175
208
158
174
172
150
124
208
212
136
112
177
171
237
112
250
254
203
115
210
208
225
207
136
124
136
182
212
197
243
150
171
167
168
112
187
147
165
208
214
147
219
121
150
152
150
236
170
124
234
158
238
165
172
112
158
208
112
195
212
196
152
194
186
121
250
158
192
195
219
167
208
208
121
112
136
135
150
228
207
172
165
164
123
158
160
156
112
150
176
231
121
172
208
194
121
181
121
210
238
195
170
121
150
181
202
192
150
143
150
169
112
239
195
150
172
177
121
167
112
171
179
160
208
136
130
232
165
128
192
172
112
112
202
123
181
255
229
238
172
123
123
250
265
228
194
157
276
137
123
226
150
170
170
164
193
259
150
259
208
136
174
228
232
150
226
170
135
135
150
255
194
121
194
112
123
112
147
167
175
194
170
186
112
112
136
202
121
216
172
156
136
136
171
135
165
150
150
137
150
202
121
211
152
121
187
236
137
121
165
181
210
112
123
121
165
164
123
203
121
150
172
210
257
130
199
172
170
174
208
112
202
150
225
172
207
168
202
234
150
123
181
112
150
158
171
115
259
175
172
222
208
172
181
112
121
176
176
121
165
194
231
194
150
112
225
234
237
240
197
121
253
211
158
159
263
121
121
212
218
170
203
150
121
211
150
181
171
179
250
245
276
220
112
121
170
193
176
170
208
121
172
124
115
240
112
194
112
112
112
112
208
170
121
239
121
168
172
150
232
237
112
112
215
172
170
135
186
165
208
212
199
232
170
112
150
163
175
147
112
150
177
250
115
229
135
121
167
112
165
193
187
150
187
121
160
219
150
208
208
172
181
112
165
137
150
150
162
121
184
170
167
187
150
208
150
232
115
121
193
193
176
147
213
150
135
176
121
194
170
121
189
112
192
181
205
112
112
121
167
226
112
150
228
167
121
150
150
178
193
172
112
128
112
210
171
128
150
208
170
159
150
208
302
176
208
121
146
150
170
194
171
240
167
170
178
186
150
152
194
112
208
112
193
201
150
223
207
256
181
207
181
208
277
136
121
258
214
147
176
201
212
192
190
150
170
137
210
150
199
147
147
181
121
121
243
130
150
150
181
112
175
150
160
150
150
135
194
164
205
160
121
112
112
248
152
121
212
208
167
176
206
193
201
217
135
208
150
157
203
182
205
181
203
150
174
112
208
246
123
123
174
205
208
229
172
164
163
192
160
168
121
219
112
167
239
131
150
167
194
210
136
208
176
166
239
167
167
112
232
112
193
135
176
281
186
150
181
165
147
152
176
195
236
150
264
150
210
184
194
208
181
128
220
150
198
212
186
115
215
194
181
186
158
167
112
150
150
239
123
172
242
231
167
172
171
121
203
167
150
223
137
225
112
219
202
172
237
150
176
258
259
112
210
228
171
167
112
135
201
208
171
112
112
175
112
115
121
181
170
167
139
136
208
150
228
150
150
176
135
112
165
164
228
171
186
268
121
150
237
170
189
155
123
150
112
272
217
222
170
181
218
115
192
181
150
231
150
112
150
227
172
147
270
181
147
123
135
167
121
181
237
164
170
208
233
156
171
191
150
228
150
208
174
171
150
147
172
147
130
135
186
172
195
115
121
208
165
147
227
123
165
112
115
172
219
150
205
121
203
250
172
172
175
165
150
112
150
137
172
208
164
194
121
147
137
150
231
270
158
208
112
136
170
208
196
115
121
175
225
199
208
121
210
201
236
240
172
172
175
172
150
192
194
228
121
250
121
112
112
167
137
124
212
158
171
171
136
165
150
217
212
208
174
194
137
176
208
171
192
194
121
235
172
172
167
195
207
226
187
112
195
231
121
208
165
208
112
187
208
237
265
208
128
150
208
160
167
208
264
136
243
135
112
202
206
112
124
164
194
112
123
238
177
167
165
228
170
159
123
121
237
208
112
121
150
150
208
160
172
241
207
168
208
112
167
210
171
170
228
158
255
123
171
123
196
212
170
172
139
112
121
187
193
187
226
226
170
176
121
172
239
193
206
150
112
187
232
212
167
167
297
237
123
150
147
124
115
159
121
150
203
245
220
147
208
124
112
121
269
274
212
186
196
195
150
209
241
150
159
121
171
112
167
112
121
171
112
172
186
203
135
121
150
186
121
177
208
112
208
172
173
239
112
121
112
121
150
123
207
276
167
112
112
171
135
193
121
170
216
165
121
218
181
232
150
171
210
150
199
135
150
263
167
228
218
172
181
193
172
115
208
170
137
157
121
217
212
226
150
150
165
193
150
123
181
195
165
158
173
177
228
147
150
165
115
187
208
212
121
172
237
210
244
123
230
174
195
112
202
150
249
228
159
121
228
171
194
123
167
112
175
168
112
205
128
150
123
202
150
198
167
194
288
150
167
228
167
172
167
150
194
150
152
150
112
167
135
208
152
176
239
112
195
208
279
194
208
255
121
205
156
208
198
123
150
219
219
190
174
150
150
172
193
150
150
121
208
235
184
124
213
150
150
147
137
195
150
150
123
208
263
121
167
171
141
200
177
208
168
212
192
218
219
224
135
214
193
165
137
112
112
181
237
212
170
182
150
194
112
170
208
150
150
150
224
150
150
112
181
182
217
150
121
112
156
136
219
112
121
228
121
150
228
189
167
112
205
176
170
208
150
128
170
150
170
177
231
150
150
172
228
112
208
195
130
147
150
239
208
112
208
150
112
289
193
237
181
150
229
179
281
193
185
146
212
150
230
147
195
167
121
194
208
231
170
181
193
176
195
178
150
159
171
112
181
175
186
164
197
239
121
255
237
123
115
239
172
237
123
217
170
208
225
208
150
121
215
221
121
136
193
244
150
170
164
276
123
302
147
167
239
170
210
215
123
263
231
217
264
260
236
112
112
167
191
208
211
187
135
150
165
121
170
208
115
147
274
112
207
121
181
121
150
228
176
150
208
207
208
171
243
121
178
208
123
150
160
232
208
165
208
276
177
170
137
160
172
238
205
167
112
170
112
212
184
121
171
150
150
162
121
193
123
170
121
258
159
150
112
150
243
241
178
160
150
150
234
238
160
237
112
150
208
150
150
123
115
209
184
136
115
121
150
112
152
136
112
181
112
136
172
112
225
193
239
171
121
157
123
236
135
210
165
181
121
171
147
170
218
150
156
121
150
115
150
201
112
176
176
164
185
237
172
172
170
198
226
165
150
194
158
177
163
165
208
158
150
139
150
124
112
167
276
231
112
243
208
123
225
229
121
264
172
218
121
150
170
194
237
286
143
170
159
112
187
170
235
165
150
179
121
146
135
187
208
213
144
237
150
167
189
195
172
162
150
236
112
168
171
250
250
112
210
158
158
137
171
121
227
112
147
217
208
112
112
194
172
171
156
150
159
112
176
186
165
209
165
172
121
230
121
212
150
112
171
135
115
302
258
150
208
123
208
208
130
135
150
232
231
177
208
135
181
181
186
211
150
174
187
150
274
228
302
172
112
208
150
121
121
112
250
147
235
212
112
201
194
170
156
123
171
178
121
187
147
121
150
172
112
178
199
150
186
170
205
202
124
170
201
235
210
172
112
203
112
187
189
219
179
206
121
156
115
121
176
123
208
121
150
192
124
150
167
123
121
137
208
195
237
150
204
202
194
263
121
194
165
150
265
170
123
112
150
150
167
174
263
139
246
144
150
193
146
209
150
181
225
186
112
171
198
228
170
115
150
172
196
243
150
244
147
237
172
175
112
135
135
176
136
150
250
150
203
165
168
232
254
115
172
188
164
171
167
175
137
123
150
226
121
162
179
172
195
192
195
234
208
135
276
236
220
225
165
202
172
150
156
225
158
172
205
150
194
175
245
208
237
255
175
121
170
226
219
156
131
168
231
121
112
112
124
121
150
112
158
123
185
152
190
237
121
168
302
190
203
165
223
150
121
195
164
121
214
112
150
150
147
187
208
214
121
112
272
150
124
137
201
193
208
192
195
243
160
255
137
225
194
172
229
160
208
150
176
263
128
115
123
200
112
243
167
174
150
208
121
147
194
218
208
150
158
112
199
212
170
249
220
208
167
172
208
193
123
174
150
255
128
221
147
175
174
189
205
204
193
173
187
202
112
137
137
193
150
121
171
178
193
172
255
136
158
219
201
172
150
228
150
170
207
150
201
146
136
115
177
250
186
112
150
244
179
171
250
112
150
150
202
202
195
170
210
171
198
121
193
193
112
195
150
112
130
150
121
150
228
220
150
172
279
160
115
174
195
121
171
124
193
123
172
150
150
121
250
150
208
167
208
112
181
147
186
174
176
240
218
186
156
276
209
208
208
156
186
121
217
121
171
141
192
186
181
201
131
124
121
112
165
121
208
276
201
165
216
112
136
123
121
165
243
175
170
136
208
208
112
171
228
123
231
112
160
112
194
182
172
112
200
172
174
223
202
150
112
240
115
164
208
237
236
121
121
150
228
171
219
121
112
167
231
167
150
172
165
112
150
257
187
128
150
208
276
231
179
121
193
190
211
186
170
167
112
150
172
150
203
226
170
150
229
212
231
175
218
220
136
245
263
255
219
257
228
150
181
208
212
121
172
167
172
147
275
112
186
150
195
217
181
150
196
172
217
165
161
112
121
243
165
165
228
121
237
167
112
220
170
208
176
172
161
121
255
194
195
121
123
181
121
193
256
262
212
218
172
208
194
227
231
112
168
112
165
208
167
181
112
219
264
112
206
181
121
167
115
112
172
212
112
150
112
112
159
208
112
130
205
219
193
176
177
181
112
121
174
170
150
192
226
167
166
220
172
171
123
158
121
112
150
278
186
123
254
208
143
161
181
115
208
167
121
147
217
208
152
150
201
164
115
229
187
181
192
239
160
131
243
242
219
208
150
124
150
209
239
123
237
172
186
172
250
259
189
193
112
115
150
297
181
218
112
147
150
158
169
150
219
214
112
147
202
221
121
205
174
187
172
121
196
220
208
170
207
150
150
213
167
233
266
263
236
198
229
121
259
170
281
165
165
150
212
130
136
242
212
121
150
250
175
210
276
112
201
194
194
193
207
150
160
172
181
158
139
121
167
150
144
194
150
150
121
123
121
214
193
147
158
215
176
233
124
171
182
150
150
167
220
208
160
219
225
135
186
224
112
170
156
262
193
201
112
194
150
240
150
187
245
201
178
146
121
121
228
264
208
150
170
194
167
225
208
226
210
112
203
212
170
175
170
135
208
128
194
168
152
167
121
150
181
217
112
112
135
136
174
165
202
212
150
112
194
209
123
195
194
196
168
158
182
150
174
170
164
150
181
112
171
212
158
201
170
150
208
220
112
167
201
207
223
112
272
170
112
177
170
177
239
193
112
196
128
112
172
112
172
121
233
224
228
256
260
170
229
112
121
192
211
277
208
247
208
181
167
214
255
123
165
121
193
231
172
203
167
193
137
193
241
228
202
208
236
278
202
121
228
194
208
147
208
112
230
299
194
121
121
124
167
112
165
171
210
231
208
112
211
158
209
217
202
184
224
212
176
121
246
112
232
131
193
167
263
170
233
228
164
239
212
203
123
170
172
202
257
123
121
239
247
274
171
147
172
161
150
201
121
150
302
150
112
183
165
172
193
157
177
135
176
189
123
170
150
121
255
150
208
226
112
121
162
167
112
181
123
124
194
172
208
158
150
112
187
112
194
121
194
123
176
152
220
167
176
171
150
177
302
179
281
172
150
201
171
172
226
244
250
150
231
150
239
150
231
258
212
194
181
150
208
130
208
194
235
170
208
208
240
192
187
150
171
223
237
231
112
121
193
208
121
181
128
167
208
121
112
112
184
172
170
121
147
172
208
150
150
112
150
170
194
150
112
150
156
195
137
112
150
212
172
186
218
112
244
171
259
193
165
150
233
112
167
170
176
205
167
165
136
176
112
201
231
166
208
229
171
172
115
229
208
136
137
112
112
208
124
167
186
135
170
150
121
135
233
197
112
192
170
150
150
165
150
182
176
255
150
150
112
172
197
210
170
165
171
253
205
145
228
150
255
172
234
121
121
203
123
186
187
165
112
210
202
121
176
121
223
112
187
208
112
115
186
213
150
176
227
230
121
150
170
135
186
150
170
112
121
150
150
237
152
167
179
297
150
239
302
186
121
150
121
172
190
213
170
170
112
186
150
252
194
182
171
170
302
233
167
112
112
121
203
245
170
243
176
121
150
188
225
121
184
278
251
170
235
132
187
226
121
178
123
201
171
121
176
176
170
203
194
161
226
146
150
170
150
112
208
171
112
170
150
147
150
236
121
164
112
150
170
208
128
209
177
121
220
202
156
236
231
112
228
159
170
121
167
212
167
302
187
240
112
123
181
231
171
130
189
121
208
228
211
156
192
239
217
156
186
150
176
208
208
187
208
197
121
174
158
194
150
210
150
112
234
228
112
192
165
208
150
202
170
208
179
226
150
112
123
112
137
150
150
186
171
158
237
112
171
136
174
121
147
196
121
112
239
233
136
170
215
197
170
202
121
178
172
170
210
132
165
212
208
121
124
218
194
237
181
203
112
228
170
121
158
150
186
196
214
208
172
112
212
112
152
207
176
112
187
135
172
232
176
150
228
172
174
189
193
137
150
177
172
165
172
121
121
167
121
112
208
193
121
150
208
147
208
130
135
171
130
172
159
115
250
193
210
208
194
121
150
201
167
212
154
172
206
171
237
213
193
165
228
150
208
193
171
136
224
136
121
213
192
201
230
195
147
172
171
210
121
150
263
137
215
112
137
150
289
150
121
201
172
202
136
172
208
172
177
121
208
235
171
288
176
212
144
112
208
168
176
195
121
112
170
195
257
130
158
202
143
208
124
128
224
163
172
121
147
136
150
220
172
179
168
170
186
150
112
165
201
150
297
254
201
171
218
150
121
225
167
296
207
121
194
212
230
203
150
181
218
194
172
187
150
176
161
176
190
121
208
112
210
167
139
208
135
112
123
216
175
177
170
150
121
112
206
121
186
135
246
167
232
150
208
150
175
208
229
207
150
167
150
150
167
208
112
121
225
121
207
235
128
165
172
226
150
123
150
172
258
143
215
171
208
165
112
179
112
150
112
203
174
136
156
203
178
147
263
150
172
150
135
208
228
239
210
165
150
242
239
178
146
170
121
195
147
135
198
272
165
275
121
137
150
204
217
203
247
121
112
147
123
137
184
121
171
250
121
112
208
121
167
210
194
227
231
247
112
112
112
121
181
187
121
184
220
208
135
150
150
136
112
167
150
181
158
181
121
240
172
199
203
250
136
208
147
121
121
123
167
167
196
227
172
263
219
137
210
206
243
195
187
112
115
112
167
224
112
150
208
112
164
150
136
150
264
150
167
240
136
164
208
136
186
217
159
228
172
156
150
171
168
219
160
158
208
196
124
218
146
203
121
196
140
160
212
237
208
225
170
112
121
112
165
205
208
121
249
228
168
167
112
170
211
164
171
186
278
136
121
179
216
121
112
112
229
199
130
172
135
160
167
135
150
121
173
194
150
156
226
112
123
215
187
121
171
121
135
228
150
150
255
244
167
210
156
121
137
150
112
112
276
162
208
167
112
156
112
194
172
228
208
112
115
150
170
195
212
167
172
203
192
172
176
160
195
150
258
207
121
167
210
190
178
196
263
208
202
181
165
121
158
150
165
201
168
219
245
193
150
150
136
250
160
112
208
164
189
211
165
172
172
150
194
172
172
112
194
257
121
212
121
112
172
181
194
170
231
165
171
217
208
154
162
121
159
186
242
171
207
115
208
112
229
176
180
208
160
170
150
115
121
150
239
208
150
172
112
210
260
208
208
208
208
164
208
181
208
208
167
194
218
172
192
205
185
112
177
112
112
229
170
302
185
208
230
150
186
203
187
167
187
211
186
136
121
150
112
167
226
170
255
181
112
167
208
162
237
150
156
184
174
172
171
112
170
121
167
232
192
172
112
112
171
208
187
226
194
181
276
237
112
112
231
208
150
121
152
167
205
150
115
112
121
228
186
171
228
170
167
208
174
231
136
243
130
135
202
121
202
135
238
137
185
208
137
167
175
124
187
187
236
167
150
212
171
150
208
223
187
112
160
195
206
170
121
171
150
228
188
228
150
150
112
150
156
170
172
165
182
115
112
128
233
182
208
136
174
216
170
150
115
150
208
220
165
123
150
201
172
217
137
227
208
121
160
112
208
150
237
194
172
231
150
150
112
167
112
156
242
208
123
195
121
158
197
195
205
192
208
276
170
236
208
123
112
177
212
208
135
215
205
210
150
115
170
139
112
205
112
260
164
150
115
170
112
249
171
202
210
112
212
112
112
123
112
137
171
165
260
112
196
150
128
244
193
136
229
231
112
220
112
121
205
146
203
181
170
209
263
112
170
135
115
250
194
233
212
112
240
167
208
112
172
170
159
115
150
171
207
121
170
167
176
150
172
158
181
202
174
123
123
177
172
121
192
165
155
150
136
208
135
225
121
176
236
112
160
170
112
167
112
245
198
112
135
115
176
284
194
135
112
176
150
150
112
200
208
235
171
172
112
217
145
164
167
150
181
264
150
121
194
172
167
181
121
164
156
208
209
112
123
172
208
182
121
176
178
208
203
216
172
231
112
170
158
150
250
156
150
208
121
219
112
112
170
174
240
150
171
186
150
220
158
172
112
227
257
171
202
150
202
144
124
231
167
201
164
175
124
168
112
121
128
112
150
150
228
167
277
150
208
150
121
193
112
261
182
123
186
150
220
237
165
121
195
208
174
150
150
147
150
150
171
230
170
147
181
258
233
137
212
167
202
278
121
276
204
203
167
121
201
170
209
152
123
234
171
202
136
205
128
237
135
217
192
165
187
115
203
112
135
158
193
192
176
167
222
228
250
115
217
181
219
112
208
150
150
174
220
121
112
232
171
121
192
112
112
208
206
160
198
150
121
207
135
159
185
187
150
150
205
150
212
208
112
250
130
165
147
112
193
194
231
135
176
123
168
158
228
165
184
237
150
112
135
112
302
121
171
202
192
226
275
121
150
243
131
189
150
181
167
228
177
172
201
195
193
215
146
203
174
150
160
150
172
150
172
112
150
143
219
194
201
243
231
150
150
218
167
150
302
150
170
112
170
172
135
194
208
179
195
150
123
150
121
172
172
208
136
112
205
226
172
112
198
172
167
112
164
190
206
165
171
112
150
165
171
172
193
167
170
150
112
135
156
135
165
121
208
150
194
174
212
239
165
208
165
274
189
208
182
144
152
208
225
218
186
205
168
121
220
146
170
247
128
288
189
159
187
170
255
115
202
219
193
170
276
123
164
172
167
186
179
147
195
179
205
147
170
112
171
123
112
195
112
136
150
181
237
194
172
289
112
137
165
136
217
206
168
167
179
215
210
170
157
186
236
172
203
208
208
192
172
203
194
199
112
165
112
167
112
233
210
170
115
150
255
235
167
200
216
187
150
194
181
131
150
183
121
150
135
135
212
160
112
208
208
210
232
150
144
201
186
171
207
181
150
167
176
121
218
150
236
217
121
193
170
112
168
135
209
201
150
228
150
201
206
150
172
187
200
208
193
255
201
186
215
170
267
124
172
202
228
156
121
121
238
197
121
176
260
178
258
208
121
150
228
167
278
288
150
194
123
172
136
226
135
112
201
150
201
121
198
159
302
128
172
172
170
112
223
115
208
115
150
147
194
150
150
150
212
172
112
226
150
150
165
231
115
112
194
121
150
150
165
147
150
212
164
158
208
168
234
171
176
172
112
210
181
137
164
135
213
143
232
158
112
195
150
170
158
135
193
208
205
172
163
215
112
121
112
250
137
194
136
208
121
150
208
193
124
112
167
172
170
208
160
172
121
112
194
123
208
150
150
112
150
237
179
217
156
121
170
197
199
172
192
172
150
164
112
124
194
121
112
201
112
168
139
192
193
112
150
115
150
174
147
193
238
112
112
176
201
172
203
208
187
150
181
121
147
121
187
187
165
135
167
123
244
234
194
147
159
195
297
171
143
136
112
208
236
170
150
208
150
112
167
229
170
172
115
147
218
150
171
190
208
237
112
208
211
161
112
167
194
121
276
226
259
255
137
165
165
150
135
203
195
130
165
172
112
121
164
112
302
165
150
172
186
165
201
174
172
144
177
170
156
172
150
112
115
112
115
213
115
212
136
121
239
225
150
228
173
137
193
187
167
177
170
192
150
171
217
195
231
124
176
135
171
212
150
171
112
233
208
158
255
150
123
208
143
217
121
158
112
208
172
167
135
170
136
121
144
121
210
145
158
208
172
124
115
112
112
167
150
208
208
165
165
256
226
210
257
259
150
170
121
259
208
234
139
170
186
147
112
170
208
112
225
157
123
177
112
181
112
136
184
210
170
156
157
136
150
171
123
150
214
194
112
121
208
225
128
150
227
150
150
171
112
274
112
130
172
170
174
181
216
171
172
243
150
210
170
165
167
150
165
146
150
165
228
136
250
192
167
150
258
112
112
135
203
150
136
115
124
229
112
220
112
171
171
150
210
121
158
195
223
121
194
208
123
170
182
152
150
164
171
208
164
150
150
236
150
150
150
211
171
121
150
121
208
184
176
230
218
212
165
160
165
170
212
128
150
167
212
171
210
208
121
143
150
150
112
186
150
112
130
176
207
171
167
213
205
172
112
150
150
208
112
171
112
263
239
143
167
135
167
121
225
257
150
150
237
121
218
121
200
225
208
193
174
201
172
121
150
255
195
121
171
158
172
150
200
194
112
274
112
208
150
194
112
123
201
115
233
123
186
228
187
123
150
156
175
186
234
165
152
226
167
171
123
208
150
196
150
121
212
208
171
143
121
187
162
147
112
211
210
173
229
128
121
167
178
212
160
208
112
175
202
121
112
190
170
170
186
112
171
225
182
115
147
194
172
195
150
225
239
150
216
208
112
194
208
165
121
167
202
194
112
121
187
146
186
170
150
165
189
170
278
219
143
205
123
124
187
172
123
228
165
202
245
172
214
136
219
193
128
112
212
150
208
212
177
121
121
172
160
208
150
195
150
175
203
195
165
167
123
237
179
208
123
168
181
121
243
208
176
135
136
121
235
112
165
242
167
229
112
172
121
150
172
172
205
205
121
302
143
193
167
208
174
137
171
150
121
193
208
170
150
159
167
196
170
194
209
203
172
150
121
194
181
167
228
167
187
170
208
203
150
193
170
121
202
121
112
201
121
124
181
226
150
208
228
263
150
195
220
174
147
167
175
123
121
202
240
210
237
112
112
187
121
236
171
187
167
231
250
231
237
186
187
167
217
167
240
150
112
226
176
235
168
167
276
302
136
186
209
204
115
208
193
226
194
150
181
266
150
150
171
112
150
130
168
115
165
150
240
224
235
121
124
135
121
233
186
195
135
227
263
239
150
167
177
239
112
246
112
121
173
152
137
207
115
170
267
121
135
121
136
186
144
158
150
144
225
208
171
210
213
136
170
127
121
112
228
195
250
170
137
112
150
150
165
112
150
192
136
137
232
150
176
164
121
175
208
171
124
208
130
170
112
115
202
238
206
112
150
221
230
152
193
150
170
167
168
255
112
123
135
215
172
112
208
195
228
150
150
169
123
172
150
170
177
216
123
152
237
208
167
218
215
190
176
112
224
258
174
220
235
228
150
130
156
196
136
123
150
170
112
136
150
112
176
237
187
150
135
150
112
196
235
158
150
177
202
150
242
159
167
203
172
210
195
187
228
150
167
203
250
220
184
115
208
147
176
124
115
170
189
216
176
170
170
200
112
150
192
147
210
194
178
242
204
208
112
181
167
208
112
112
130
167
150
208
186
208
208
150
158
176
121
143
196
130
194
112
158
135
197
150
194
121
181
150
253
112
165
112
243
171
150
165
207
171
143
204
175
130
115
167
172
112
121
156
170
168
213
225
205
172
121
123
112
112
220
214
209
228
150
216
260
172
217
165
147
150
186
121
150
225
231
121
208
160
150
168
240
112
204
115
150
207
250
112
112
150
171
186
208
211
150
121
156
181
195
112
150
172
181
231
174
121
202
209
121
128
121
171
150
153
165
121
225
266
236
230
165
208
115
165
193
263
263
194
150
208
172
192
135
225
172
212
174
181
237
171
135
167
170
176
165
123
150
121
220
210
112
218
112
121
121
136
123
112
284
121
172
225
165
186
192
203
115
124
172
255
157
121
165
112
215
216
112
135
212
194
135
208
176
121
112
165
112
177
167
229
167
121
283
177
112
121
217
181
159
194
128
135
167
159
123
172
170
194
121
203
121
192
172
172
112
209
194
217
172
172
170
124
112
181
128
196
121
208
167
208
130
208
186
272
186
121
172
208
311
115
121
150
150
128
121
265
165
121
194
115
172
143
123
150
150
195
150
203
128
210
203
121
150
121
131
208
121
247
240
193
170
121
164
170
121
167
123
187
171
159
216
150
121
121
196
150
186
112
165
136
150
167
112
112
177
123
157
172
194
176
121
239
164
219
112
137
112
205
167
218
172
115
167
250
150
208
124
150
176
250
150
160
178
210
150
194
176
172
207
167
274
167
158
208
184
121
192
112
182
237
130
208
176
228
200
112
150
136
112
121
164
165
198
203
150
176
203
181
226
135
150
192
238
170
177
223
217
250
115
112
112
194
231
150
136
123
206
170
179
187
121
150
112
278
112
150
210
112
150
150
208
215
181
230
193
121
208
147
195
208
233
170
150
210
186
121
170
212
237
172
112
150
121
176
167
257
112
121
186
225
171
150
150
121
255
150
237
187
172
170
201
150
201
121
168
240
161
150
121
150
165
194
305
150
210
136
250
200
150
168
266
160
172
229
150
159
202
121
174
202
172
164
176
112
150
201
112
187
150
121
225
165
112
150
112
121
210
219
150
228
150
112
212
112
226
123
247
147
112
186
175
150
208
203
176
167
123
170
204
123
121
186
166
112
171
123
150
194
135
175
150
115
205
176
243
172
136
123
231
186
124
150
161
177
150
202
157
128
123
150
170
189
195
171
121
208
137
150
167
182
168
150
192
215
208
171
156
136
112
164
147
112
208
170
150
150
181
121
208
166
171
171
176
183
121
188
121
137
225
123
276
176
250
239
195
150
219
112
206
170
202
167
159
190
220
172
128
150
208
135
186
242
135
121
231
123
187
162
158
194
189
136
203
171
208
212
235
165
178
112
145
112
212
203
136
211
121
121
208
123
112
121
181
177
121
112
150
150
226
112
112
194
172
208
170
136
230
164
183
121
174
150
181
195
167
164
164
202
123
176
150
194
208
219
150
178
167
278
112
150
112
181
179
123
160
156
197
135
172
216
167
121
229
196
112
165
112
164
194
176
171
121
237
150
150
121
183
250
194
121
193
112
170
162
128
197
123
121
159
172
115
289
239
112
112
165
218
172
174
112
150
203
242
112
171
160
150
137
167
160
172
215
157
208
226
210
130
112
226
194
112
172
135
159
202
208
137
112
210
150
121
150
139
238
147
263
121
231
147
181
167
176
208
176
115
150
147
179
172
186
112
250
123
172
121
150
219
121
112
189
124
186
121
150
171
112
112
184
112
238
228
209
263
172
218
203
176
202
121
136
212
219
112
229
200
229
208
212
170
279
239
167
237
176
150
150
187
209
139
152
227
235
160
250
121
112
231
150
121
112
186
171
205
112
112
176
192
181
136
170
167
210
128
170
170
278
150
167
172
240
156
181
209
150
172
150
121
121
112
237
193
208
194
227
208
220
167
112
112
150
240
181
150
233
207
213
121
219
150
121
164
121
231
112
115
167
123
194
172
209
177
202
171
112
165
176
171
237
172
237
226
208
121
237
239
152
115
158
171
195
128
195
115
212
150
150
181
182
193
205
208
181
170
112
187
168
231
172
112
221
181
218
150
150
167
121
203
171
172
112
171
201
202
164
195
229
235
176
112
171
121
150
214
158
150
150
237
237
121
192
153
121
239
195
167
150
115
208
231
150
121
150
121
167
208
121
171
203
174
112
150
135
172
203
121
255
165
150
186
179
150
167
112
210
121
219
213
188
112
181
150
136
181
150
150
156
214
112
239
150
208
167
172
171
170
194
172
165
115
167
172
150
176
167
123
167
228
194
130
255
150
112
205
245
150
147
208
170
112
137
193
177
218
112
208
208
112
115
181
150
170
121
208
228
153
228
234
167
208
150
152
208
257
177
253
204
130
208
150
158
176
176
121
150
234
167
175
112
194
254
121
112
171
228
150
143
112
258
165
123
201
239
150
243
203
250
217
171
150
176
186
194
212
112
112
123
170
194
112
112
181
219
121
225
165
150
123
150
167
150
112
112
187
172
177
203
123
176
150
121
210
201
123
121
212
174
213
187
136
171
201
112
158
274
159
208
192
202
131
170
152
112
167
213
150
137
195
181
195
112
121
194
115
137
202
201
135
123
186
136
193
208
170
136
150
136
156
211
165
237
150
147
187
186
112
242
208
228
112
172
172
210
181
208
171
171
226
176
208
196
112
112
131
135
250
121
112
135
199
201
153
205
112
220
112
177
208
231
302
212
210
243
121
177
208
208
186
179
112
121
150
135
228
187
121
275
130
181
150
177
209
157
147
159
208
234
123
159
112
130
172
234
203
223
176
182
176
167
170
219
172
168
202
112
150
112
112
130
231
179
112
208
159
176
150
187
202
158
128
172
228
123
228
231
174
208
217
158
123
150
137
235
203
112
121
176
176
159
203
193
250
202
164
124
170
170
150
247
150
112
201
170
130
208
170
165
147
112
143
147
144
121
168
121
187
150
210
172
147
150
128
208
272
137
186
203
150
150
137
150
171
112
137
150
187
170
208
171
179
181
147
172
150
112
267
231
156
172
150
176
112
219
112
150
170
202
168
187
137
176
195
172
162
201
150
203
152
192
165
167
123
112
130
208
194
231
176
237
150
121
171
237
176
278
193
112
254
172
203
232
150
205
121
112
250
203
121
165
121
171
171
167
172
208
112
274
244
218
167
150
121
150
150
121
150
112
158
194
170
194
263
215
190
208
239
243
181
172
171
219
208
112
136
112
164
115
176
186
222
115
210
255
143
182
237
217
165
150
174
187
150
210
170
150
167
163
157
228
194
150
112
136
238
168
143
165
195
121
195
175
193
112
208
135
193
147
159
150
210
128
172
150
208
136
150
219
196
150
152
137
264
170
174
135
112
217
112
199
170
219
150
150
144
121
195
165
210
172
208
112
184
172
112
170
158
175
115
160
170
176
186
229
165
226
237
210
135
208
150
170
112
203
195
167
177
208
205
229
212
203
156
112
156
171
236
170
121
208
193
165
112
217
164
210
276
136
250
112
150
156
150
160
121
121
194
203
160
112
214
112
167
112
165
150
150
208
147
152
240
171
170
176
147
208
171
196
167
237
257
172
121
177
219
204
238
175
150
267
121
121
172
176
220
112
215
112
121
196
231
112
152
214
195
121
263
225
143
208
237
167
215
112
123
225
165
276
150
208
194
128
121
147
172
121
247
146
137
215
121
201
130
194
150
167
150
150
172
158
241
210
238
135
200
136
147
115
217
158
112
112
150
167
172
121
227
172
172
195
137
112
208
172
115
121
186
156
302
195
202
112
160
150
112
147
153
160
147
243
305
208
150
208
150
176
150
152
186
150
167
186
121
165
172
187
150
170
210
195
218
282
168
202
194
208
226
210
121
112
144
172
160
156
193
194
150
150
272
150
237
208
208
176
225
121
150
112
170
160
164
195
122
130
208
135
220
150
233
231
210
170
178
136
115
121
172
156
165
239
150
189
208
136
150
215
220
212
112
170
240
207
220
124
123
112
263
150
204
124
208
220
112
147
150
206
121
182
159
175
150
121
214
150
121
167
201
194
172
158
174
186
212
225
292
187
187
150
167
123
172
115
165
143
136
170
210
161
124
231
137
228
172
190
150
150
231
194
220
147
173
181
215
172
159
203
186
170
172
112
112
136
204
177
150
176
167
201
211
162
150
187
150
186
112
252
243
163
192
167
123
171
194
170
208
194
147
168
186
236
112
130
212
201
215
194
165
173
150
178
112
202
150
229
121
170
218
123
112
137
226
121
264
167
201
193
112
233
192
112
150
130
219
204
208
218
170
152
202
208
112
150
136
202
193
194
225
112
112
181
226
172
225
243
143
123
208
250
195
179
210
247
112
232
231
150
153
194
219
112
220
208
181
136
194
176
208
172
121
150
208
112
168
112
121
208
112
185
181
194
123
219
172
171
121
150
167
115
263
135
124
228
131
159
150
158
150
150
147
210
259
147
123
112
121
121
168
150
170
172
121
235
121
150
208
121
246
194
223
167
112
112
158
115
227
177
121
205
194
170
112
209
232
144
191
121
112
253
121
170
213
208
161
123
170
255
218
208
150
112
177
187
250
171
112
212
208
207
124
189
172
150
193
231
123
208
208
172
207
136
210
112
150
137
228
173
170
176
167
171
213
171
196
165
205
210
186
150
135
167
208
150
171
150
210
181
232
208
232
233
208
179
216
214
112
121
194
267
165
231
121
237
236
112
194
228
193
164
168
135
167
121
174
147
186
210
279
121
121
150
150
150
150
210
193
150
121
192
208
150
202
123
181
210
212
176
143
186
112
208
250
194
172
216
237
150
171
150
150
123
170
207
171
150
237
121
143
136
121
123
175
194
162
112
152
228
121
226
172
194
230
158
208
193
121
302
150
150
212
136
222
150
150
250
181
150
150
112
147
270
167
171
226
208
192
136
164
112
112
165
156
112
121
172
208
112
170
174
150
243
166
112
200
164
171
150
207
210
162
201
176
170
233
236
121
159
112
214
159
128
243
160
228
146
177
176
217
136
214
112
150
135
186
250
212
112
150
112
165
240
181
194
172
150
165
203
121
205
152
231
176
208
208
229
150
227
185
176
212
121
210
201
176
171
135
112
150
172
170
112
160
150
150
170
150
195
150
217
172
260
167
239
195
208
217
176
192
130
208
121
150
137
121
187
121
170
236
237
156
238
112
121
193
167
167
121
123
228
208
112
186
112
112
150
172
115
170
147
135
123
167
150
112
212
172
297
160
150
150
220
171
176
165
208
112
135
171
150
208
172
220
192
147
299
112
150
212
123
121
124
124
124
121
177
231
112
186
208
169
171
121
161
205
177
187
137
208
177
181
194
194
195
150
170
198
150
172
150
112
165
190
186
150
112
146
203
192
112
150
150
112
121
150
172
172
192
112
195
186
172
121
158
171
145
158
164
201
179
178
187
176
131
193
150
227
170
170
150
186
258
204
143
233
121
207
187
130
235
121
254
112
167
150
158
112
170
158
208
210
150
181
171
212
152
150
112
121
123
199
150
130
178
240
112
205
150
201
123
150
210
231
208
150
240
150
159
175
260
112
176
194
205
121
217
168
186
150
203
150
224
121
270
208
156
150
226
176
203
306
150
150
171
193
135
156
210
150
147
220
112
135
121
150
150
208
112
245
165
124
281
159
167
172
186
152
150
186
150
171
208
168
150
193
112
170
187
170
176
167
205
302
150
135
186
172
261
170
208
150
121
158
212
165
181
121
167
167
219
214
150
112
176
237
167
193
176
136
150
172
232
231
164
170
150
115
171
174
167
239
130
121
135
121
112
212
171
167
123
228
302
165
128
181
136
123
264
158
112
158
112
174
112
208
167
228
203
137
203
202
237
219
176
217
181
149
178
170
150
202
137
181
302
208
208
223
194
167
150
170
210
121
112
177
210
187
135
150
112
208
171
208
210
233
172
150
150
240
136
121
193
172
160
228
201
150
181
210
121
159
121
130
172
179
150
237
121
172
212
212
184
163
275
212
112
167
203
263
214
150
237
202
172
121
172
150
139
112
150
112
135
121
112
112
181
217
150
181
202
159
229
156
171
112
174
158
135
181
171
170
172
217
228
150
240
229
238
112
176
121
112
121
115
135
159
204
193
121
167
205
146
121
156
150
124
212
202
150
112
136
194
123
171
123
170
172
237
175
150
121
170
194
171
194
150
150
194
137
195
176
172
207
210
170
168
172
164
231
165
121
174
121
168
121
167
194
228
112
123
171
210
202
174
233
158
150
159
136
167
214
112
165
201
112
181
112
175
185
112
180
112
150
115
171
150
253
170
171
174
121
150
165
136
208
128
226
234
168
123
112
208
208
278
254
112
123
181
150
203
150
228
167
233
215
195
205
175
121
171
121
210
208
205
203
207
167
203
177
112
167
186
179
137
219
212
297
171
158
201
208
172
150
181
150
112
210
159
136
124
228
172
150
217
219
287
260
170
158
170
178
213
342
237
121
136
112
216
136
150
112
112
150
159
172
181
176
210
217
230
195
150
196
250
123
157
208
193
220
202
172
167
112
231
171
181
228
171
171
121
123
170
150
239
123
194
115
150
121
189
232
170
232
219
167
112
241
193
171
158
150
170
167
147
222
112
150
177
150
219
150
228
121
121
217
170
144
239
181
172
179
232
237
174
139
164
137
228
167
202
215
172
135
172
220
219
201
229
121
219
192
208
208
121
176
208
174
208
208
112
112
171
272
170
239
247
192
112
158
150
112
167
220
112
172
152
165
112
160
237
172
216
226
167
167
143
165
232
210
158
121
226
194
167
217
196
171
194
281
220
187
208
171
208
121
137
172
165
195
193
204
167
112
147
287
234
168
112
152
172
178
150
135
121
112
222
214
196
170
121
112
172
167
172
186
176
193
130
152
208
202
150
150
112
164
254
212
196
217
174
171
123
123
201
195
121
136
121
121
198
220
121
172
218
195
158
150
172
181
172
112
219
139
112
160
158
212
219
210
194
196
112
150
208
194
170
181
170
128
112
150
172
150
150
181
157
147
150
243
171
124
192
185
121
121
219
229
234
135
115
181
150
158
167
231
193
208
165
253
112
121
147
150
158
184
186
181
189
115
165
174
121
150
167
121
195
112
170
121
239
167
150
171
176
187
121
200
152
272
194
170
167
175
167
147
228
172
164
235
178
225
219
208
193
208
112
178
164
150
123
182
170
157
214
123
167
161
121
235
158
150
208
150
208
168
147
135
208
150
167
121
112
177
206
121
121
112
147
182
171
207
208
232
112
121
158
167
167
171
202
172
170
167
150
228
176
150
124
239
160
171
176
207
225
171
258
205
208
246
181
203
150
236
238
146
152
172
239
181
121
226
208
135
203
190
208
137
124
112
115
235
208
165
123
160
121
150
121
192
182
202
121
121
186
201
150
205
112
115
184
112
181
144
112
177
121
208
175
152
259
194
161
278
171
186
219
171
181
170
181
203
225
123
258
150
150
121
228
243
159
150
228
143
112
193
232
204
196
195
150
172
121
186
170
172
187
196
263
128
219
147
131
112
150
150
112
152
202
167
226
202
172
147
201
121
150
258
172
187
255
176
112
208
205
177
208
172
197
115
115
167
121
259
136
176
132
172
171
130
147
216
150
225
204
112
203
255
121
208
172
135
209
208
189
172
172
112
176
150
210
205
150
176
115
150
203
121
150
112
112
170
123
299
143
170
172
121
156
112
139
170
172
170
130
171
150
174
170
226
150
185
165
112
276
152
172
150
172
194
231
150
150
150
130
183
205
121
172
210
167
123
112
181
174
123
112
167
150
150
227
112
121
218
210
124
172
187
170
172
150
147
205
150
135
187
239
181
214
164
195
170
181
237
181
187
194
231
112
187
123
150
174
241
208
208
228
172
220
147
150
112
121
112
112
121
168
186
170
150
123
121
150
139
195
239
159
210
208
203
173
112
237
170
150
130
210
193
150
150
115
112
112
231
179
150
167
150
137
170
115
150
121
164
301
194
168
170
121
143
186
233
217
112
208
236
112
152
123
170
176
152
152
201
150
147
195
186
217
158
237
174
208
182
198
252
150
112
121
112
209
192
150
167
147
150
201
208
208
136
177
150
187
195
137
174
182
189
164
218
194
186
150
250
172
193
128
176
164
167
112
150
150
167
231
158
123
217
225
167
112
171
176
171
212
123
150
202
257
121
170
203
150
115
172
159
240
136
170
170
112
150
150
221
112
246
233
112
195
150
210
165
123
164
208
194
282
297
208
123
208
123
170
172
167
165
168
112
215
171
172
203
150
172
123
186
150
150
207
203
165
112
246
253
209
230
112
167
208
198
194
150
186
193
219
172
186
255
208
234
167
214
215
112
146
167
228
208
145
167
121
193
147
210
220
241
193
199
112
158
137
202
172
177
167
205
201
158
205
165
112
172
208
150
121
150
172
219
159
150
150
176
157
165
231
205
112
160
200
168
167
160
242
302
112
112
170
121
150
112
165
150
123
164
175
167
237
112
173
278
194
136
181
112
194
299
112
219
250
208
193
186
158
112
202
207
159
150
223
167
112
210
124
187
135
194
171
121
112
112
172
158
121
150
172
231
187
214
150
201
112
112
181
136
234
150
143
121
170
208
194
236
121
208
135
147
165
165
230
170
115
121
189
159
208
112
186
112
175
210
210
193
150
112
150
208
112
130
175
150
208
208
181
238
170
167
228
171
215
226
170
171
203
177
171
218
137
195
229
187
121
150
189
225
225
172
176
150
167
150
172
150
150
172
150
167
137
112
228
231
208
121
206
167
121
156
150
217
218
121
210
231
112
136
112
115
135
253
167
219
123
121
150
123
150
208
226
167
181
165
124
150
172
181
192
202
121
172
123
121
150
170
172
150
112
186
136
195
158
174
208
121
194
186
201
147
121
209
150
112
208
193
220
171
219
251
112
130
165
136
158
174
193
112
137
172
210
136
171
150
170
226
137
264
112
208
220
167
150
195
164
131
150
194
150
202
115
213
192
224
112
209
228
220
184
176
112
112
242
150
172
179
152
205
150
128
193
186
150
150
165
135
212
236
233
176
172
208
112
121
208
243
150
150
181
164
150
156
150
172
123
112
112
219
243
162
150
150
139
231
228
123
228
219
219
195
172
150
209
172
194
223
194
158
165
238
292
219
121
150
192
159
123
194
137
196
228
159
225
263
181
208
147
172
152
137
208
257
194
233
215
150
174
213
112
165
233
171
121
181
150
147
231
199
134
190
176
172
174
177
112
150
171
170
168
135
158
171
112
121
112
186
205
115
171
241
150
121
123
150
196
228
150
147
150
121
167
181
195
212
199
170
189
147
112
215
112
121
150
150
172
200
210
165
181
112
194
257
112
199
216
123
167
150
185
150
208
150
208
167
186
235
160
205
121
176
170
171
112
194
179
217
174
121
150
158
150
112
156
170
194
172
176
112
143
167
145
135
112
205
177
121
171
170
165
123
176
222
194
112
150
150
208
201
130
124
147
172
112
185
112
176
115
121
232
166
150
160
121
220
170
112
158
143
228
170
214
219
112
172
176
208
127
121
226
181
150
187
187
147
167
212
172
208
210
208
193
233
174
121
172
181
121
208
167
218
193
112
115
170
212
239
159
112
150
218
207
211
208
212
112
193
207
181
121
170
193
186
176
172
135
195
152
121
185
165
231
171
135
147
209
208
179
228
164
150
202
121
208
150
196
219
212
186
175
208
112
183
112
181
172
208
121
202
207
128
121
150
210
176
115
231
165
167
288
150
168
143
112
165
150
171
195
172
178
150
265
212
121
231
123
260
253
121
194
200
227
158
112
112
172
112
195
181
112
171
135
164
112
241
159
160
208
236
136
278
176
150
199
218
175
121
173
172
208
239
250
174
164
112
237
170
136
172
158
228
112
215
193
212
121
179
150
172
124
201
250
115
167
150
208
208
158
112
150
150
171
150
192
137
112
228
193
150
208
112
250
170
187
205
194
150
208
121
156
208
210
112
121
112
170
195
123
182
228
112
208
160
121
150
112
170
219
184
229
135
237
276
150
174
176
235
164
150
192
112
223
112
208
207
158
152
190
171
150
193
121
187
168
226
181
177
231
150
208
147
297
176
112
194
147
121
170
112
150
121
150
210
182
167
228
121
243
172
172
203
174
208
218
245
244
181
228
150
228
172
211
171
171
170
150
112
165
150
176
135
207
167
174
208
200
201
176
208
194
112
150
250
171
150
150
201
193
150
150
194
165
201
238
276
191
208
150
208
251
150
217
167
164
225
168
226
121
181
170
198
150
218
150
165
170
186
150
112
208
172
219
123
121
207
172
187
164
203
228
172
212
150
220
252
229
121
186
165
208
188
226
137
112
150
175
112
208
179
219
195
150
144
214
161
187
239
170
121
226
121
220
167
161
182
200
208
194
167
217
237
124
194
203
228
208
249
123
207
112
170
150
219
123
179
123
208
187
176
150
226
236
112
112
150
225
181
112
121
237
165
225
121
207
247
187
165
217
158
220
210
193
208
172
171
195
206
176
187
156
170
193
208
220
255
158
135
207
136
123
162
240
219
112
209
171
144
228
167
112
193
172
217
208
208
135
112
165
193
176
112
170
212
136
164
172
112
150
194
208
161
195
136
171
112
179
112
150
210
186
206
167
217
202
143
112
150
260
264
172
202
171
205
202
181
137
112
208
187
184
176
208
167
170
112
208
130
208
186
115
234
189
112
121
121
123
208
158
186
136
150
231
186
208
237
152
112
229
186
172
123
112
237
210
121
233
112
181
150
169
135
186
164
112
112
259
231
147
167
195
144
167
150
176
181
112
257
165
150
121
172
263
208
112
150
170
115
137
176
194
167
186
150
216
194
189
121
112
177
112
302
238
194
174
150
194
220
121
176
212
150
163
212
210
174
237
174
150
167
172
123
160
179
112
202
150
257
150
233
121
150
150
275
150
176
147
123
165
168
172
176
170
201
171
170
112
168
112
150
226
150
208
219
208
190
218
195
170
202
177
165
121
176
194
170
174
171
124
121
172
236
150
186
232
152
208
112
282
193
210
135
165
121
121
121
208
187
123
112
121
150
240
208
179
137
147
112
167
157
215
177
130
150
212
170
172
144
170
184
220
170
121
121
197
150
184
203
176
121
162
112
235
271
167
171
186
112
186
124
202
217
218
212
147
208
165
172
204
146
146
176
150
137
173
201
121
172
112
167
194
158
192
200
150
158
171
203
171
150
112
223
215
172
196
167
112
212
112
172
250
150
150
112
150
135
172
135
213
137
208
121
215
150
172
170
190
150
112
226
178
202
220
130
193
112
226
112
268
143
112
150
194
150
172
194
172
112
165
265
150
112
203
232
135
247
172
123
186
231
157
181
172
208
172
136
150
165
150
176
121
200
156
171
150
147
177
192
190
137
219
124
174
178
170
161
171
135
112
220
176
121
181
121
150
147
150
121
203
210
150
229
112
167
177
123
263
187
135
208
112
112
172
189
121
156
112
123
220
208
226
188
121
165
112
137
193
150
150
208
177
196
112
128
212
168
201
172
167
167
135
112
171
112
208
201
150
220
112
130
302
135
123
112
112
144
150
152
187
208
176
121
218
226
115
228
121
208
220
208
241
164
184
187
226
193
227
150
187
150
112
240
121
136
181
121
192
181
202
167
121
287
212
150
121
150
219
112
244
245
121
150
219
179
217
165
179
215
203
112
179
150
115
124
207
170
198
176
208
181
231
112
241
220
150
150
218
181
112
121
172
115
135
238
112
165
203
123
136
232
112
164
208
112
159
150
255
176
220
121
121
172
172
123
112
112
195
254
112
228
150
208
136
146
121
202
150
130
161
208
181
228
172
146
218
171
195
121
167
176
208
130
172
170
164
150
112
186
159
171
147
121
189
239
172
208
208
302
165
199
135
215
150
234
208
177
112
177
112
237
112
209
150
213
112
143
210
121
137
165
121
240
162
150
121
182
112
168
150
147
112
167
171
121
189
203
224
112
121
167
128
186
135
231
137
112
163
208
135
223
123
112
176
112
184
194
167
135
237
190
150
167
150
203
203
121
184
150
208
239
121
172
150
136
112
208
172
167
150
258
219
165
208
176
121
228
165
171
255
179
136
208
202
167
170
123
112
193
210
172
135
260
237
231
156
171
121
121
265
172
112
150
167
168
227
150
170
136
210
210
208
208
257
193
250
170
150
139
121
181
172
208
202
231
210
174
194
121
236
123
170
202
243
176
174
121
198
218
112
121
150
121
115
229
112
195
177
208
121
112
123
147
150
121
207
150
162
176
246
217
231
130
184
225
121
231
205
121
181
186
240
171
112
167
302
194
171
179
202
183
167
167
158
150
194
150
150
210
121
172
112
150
171
121
204
183
193
204
150
172
170
179
112
121
171
139
189
170
158
206
150
112
174
230
150
194
263
112
167
144
150
115
250
175
112
199
167
150
208
195
112
171
121
202
193
135
222
219
137
254
212
159
135
123
187
186
171
115
112
112
164
194
172
137
167
172
212
150
215
255
243
150
210
121
150
123
150
112
225
214
210
171
164
150
171
172
123
150
172
172
179
172
121
231
123
165
136
150
150
240
150
150
186
172
186
167
240
150
167
123
208
171
175
150
150
112
158
216
165
112
123
150
223
115
237
150
172
175
212
121
208
228
150
195
187
167
176
123
237
150
289
121
170
150
150
250
136
123
197
194
195
150
186
150
112
123
165
181
208
171
121
135
237
235
194
150
121
172
170
168
115
150
121
195
156
171
209
208
190
192
193
224
168
174
186
239
167
152
150
121
121
194
115
150
112
112
208
170
208
170
121
121
240
150
202
112
186
223
181
170
181
195
202
150
167
150
202
164
192
112
231
195
181
172
150
135
167
199
208
150
170
112
194
204
193
219
124
135
150
239
196
194
219
305
123
160
207
172
186
156
121
174
112
150
121
150
215
209
195
167
112
123
121
168
162
212
232
186
228
143
219
236
150
112
172
121
194
112
112
121
219
208
243
128
174
123
175
203
204
121
178
234
150
239
167
167
263
229
217
186
216
152
209
112
167
115
121
176
254
187
150
229
150
239
121
112
172
164
181
158
195
150
203
112
177
178
171
112
243
112
208
231
150
164
201
151
208
121
194
184
225
139
112
128
150
121
150
202
203
150
160
112
121
121
167
171
208
187
229
208
202
112
181
202
112
243
237
194
130
150
172
193
215
124
243
147
150
220
121
174
152
150
228
150
170
121
112
121
195
210
112
112
199
214
121
121
260
150
172
193
150
176
150
229
150
171
211
215
178
112
167
164
124
158
112
112
186
115
112
274
123
123
121
230
150
249
170
226
112
208
112
124
176
243
201
121
177
249
150
146
194
202
150
162
124
121
159
170
208
167
219
245
165
208
208
170
228
176
121
193
201
193
205
186
193
150
181
165
234
171
208
187
112
223
147
137
150
167
208
121
135
121
123
123
181
150
172
147
194
112
121
187
218
150
167
172
136
164
150
128
172
181
112
237
210
171
150
112
136
222
159
193
172
210
212
170
171
150
172
128
203
228
121
150
112
112
255
181
217
193
181
137
150
135
187
112
150
237
160
194
150
135
208
150
167
200
170
302
228
150
123
176
147
213
205
218
215
187
257
121
150
186
150
208
136
150
177
205
112
160
150
194
208
123
170
228
203
150
197
121
121
172
181
112
206
176
198
150
208
210
150
177
193
121
208
208
186
170
210
150
237
150
250
195
193
276
135
147
115
150
121
250
215
208
112
123
150
181
174
150
147
195
112
158
145
218
208
150
218
158
150
167
167
160
112
242
121
164
250
143
150
208
177
150
167
178
232
187
150
170
250
135
201
231
232
278
192
224
150
115
170
211
210
174
123
144
242
218
150
136
237
186
175
150
123
202
123
150
112
164
112
121
184
228
121
112
207
172
179
150
170
123
176
121
150
150
226
112
170
175
202
135
165
208
186
233
187
150
121
208
184
184
240
150
195
229
204
175
135
139
167
208
207
112
150
168
168
150
171
150
237
272
194
121
160
150
170
146
147
135
208
186
159
168
150
112
143
177
115
150
112
121
150
112
208
112
123
250
208
115
194
194
174
229
123
112
161
192
167
121
167
181
170
228
240
170
112
201
186
282
112
202
257
210
170
208
121
123
130
194
115
181
228
160
150
203
223
121
112
150
112
167
208
150
228
170
190
202
112
150
165
196
123
176
150
150
123
250
228
150
250
214
121
194
234
168
225
186
161
150
167
135
159
276
217
150
208
150
205
121
121
174
112
150
183
121
176
112
170
236
150
256
193
115
171
193
208
165
146
228
217
288
194
208
112
165
208
208
121
112
150
150
172
174
112
208
121
121
174
250
135
196
170
150
112
194
172
167
208
224
167
219
136
121
218
220
164
195
115
112
232
124
167
112
115
115
265
172
123
203
194
176
172
236
172
205
174
218
137
171
150
235
208
171
202
171
121
235
172
202
229
187
143
202
220
161
220
210
112
278
237
150
112
222
234
164
176
214
121
225
121
156
167
204
150
112
167
174
121
167
150
208
174
158
226
255
170
171
167
174
228
112
186
240
228
208
255
224
214
115
150
143
194
123
170
112
218
210
223
121
172
112
123
195
229
215
174
112
258
210
172
150
240
176
187
230
135
269
172
156
177
150
112
150
192
198
122
112
150
112
208
167
237
249
123
112
208
150
136
174
128
197
172
208
250
112
150
201
121
121
199
150
263
121
195
150
158
215
202
150
229
121
255
194
150
112
172
179
135
171
194
221
189
181
123
201
171
170
156
272
297
228
150
172
205
208
150
229
165
207
212
124
194
201
186
165
112
177
112
112
195
147
227
112
243
150
176
167
170
255
228
165
150
207
171
121
150
208
172
112
112
112
170
121
121
186
175
172
165
219
181
112
137
150
170
167
167
112
170
173
250
257
192
165
172
181
232
178
192
263
172
171
231
137
177
220
167
164
207
112
187
165
112
212
172
208
170
177
172
190
171
170
201
136
150
172
112
112
112
212
186
216
112
243
150
150
130
130
150
121
136
168
150
150
150
263
237
177
208
150
192
150
135
186
228
150
123
237
150
150
192
150
201
112
167
228
112
212
226
208
150
150
121
135
112
194
212
187
167
170
211
115
112
165
171
172
167
167
175
144
254
263
121
202
172
214
229
192
240
212
123
143
210
173
187
208
150
210
207
185
121
226
165
112
164
130
208
231
165
204
176
186
212
194
186
112
212
192
146
165
150
192
209
171
192
170
121
173
150
172
228
160
233
193
128
150
186
158
115
239
192
173
231
150
208
193
208
170
170
193
187
150
112
179
139
123
170
176
234
202
181
170
176
182
172
267
159
172
135
170
165
164
150
201
121
172
202
210
235
144
189
194
121
209
228
193
201
217
112
171
260
165
124
247
229
121
112
212
112
121
250
160
130
164
115
194
204
209
172
150
121
112
153
167
112
175
150
170
225
150
150
123
167
160
123
167
150
112
121
194
165
172
121
210
196
176
112
181
150
204
228
121
112
112
177
165
210
121
112
195
203
150
170
135
171
220
150
208
211
150
172
255
121
162
124
135
150
121
223
193
208
159
203
193
237
150
209
112
121
181
112
204
234
218
150
150
212
167
205
121
112
194
208
139
194
121
197
123
172
158
124
165
186
197
164
150
112
186
150
208
186
171
233
150
164
112
229
225
184
194
172
150
160
220
112
200
218
278
123
208
176
302
247
289
172
208
112
150
161
239
171
181
167
237
187
176
150
239
112
189
112
208
167
121
128
194
135
208
167
157
215
195
128
112
152
185
177
172
172
150
150
167
150
170
172
172
146
112
274
150
112
170
194
186
167
112
193
233
121
112
115
137
150
229
170
137
170
168
150
167
172
178
220
225
150
150
176
237
165
112
259
165
150
201
193
177
150
176
167
202
112
203
147
150
112
172
176
182
208
196
156
150
112
201
137
158
187
157
150
168
112
225
219
229
178
226
172
115
136
208
228
165
235
152
165
112
203
144
224
136
121
265
229
150
121
217
112
121
226
112
234
165
137
208
121
112
150
250
170
203
121
181
171
156
187
136
205
222
231
233
150
158
112
136
203
112
158
150
171
123
150
194
143
167
236
208
167
228
112
123
165
150
171
172
302
172
112
158
216
123
150
171
150
215
172
204
150
172
150
121
225
228
239
112
220
150
167
124
186
135
158
276
210
176
171
124
167
112
165
174
182
150
194
174
136
150
112
218
112
167
150
259
167
194
112
170
150
170
115
208
195
165
137
170
150
168
181
237
208
172
112
210
222
255
124
130
121
175
201
150
238
181
168
195
168
170
243
212
240
167
175
121
176
121
181
176
218
159
112
218
147
194
272
257
137
197
177
172
186
136
150
121
165
161
171
179
115
208
150
201
121
278
167
121
167
112
231
172
208
234
150
172
131
172
112
217
228
124
152
121
158
208
233
112
208
206
172
115
195
150
236
159
150
213
187
172
230
210
124
170
150
112
172
171
201
150
147
208
121
150
150
174
136
150
203
233
170
172
253
146
208
121
182
202
183
232
243
115
139
121
205
193
194
257
212
181
112
150
121
135
167
175
165
175
299
226
245
172
212
174
171
121
150
193
135
115
123
186
181
274
150
152
195
208
130
192
115
205
171
172
172
147
172
121
121
208
136
123
150
229
170
121
156
135
178
203
208
123
170
228
212
112
112
168
226
208
172
150
208
123
150
177
157
167
188
165
121
150
290
112
167
200
112
152
203
194
112
112
194
136
203
112
206
272
210
121
150
167
167
187
208
160
121
208
144
171
147
172
150
255
186
112
170
269
121
167
175
223
252
112
150
170
210
170
176
174
176
121
121
124
121
211
171
150
172
150
237
150
170
172
121
150
121
165
121
237
135
152
135
181
250
112
150
176
167
168
245
163
150
167
195
150
150
184
176
200
112
175
208
150
112
219
167
150
201
261
150
240
175
205
194
215
167
185
173
147
279
165
245
121
240
150
198
263
115
205
178
265
112
112
255
135
121
186
121
112
232
168
121
171
152
132
121
112
115
170
181
175
176
192
250
181
195
121
158
210
167
225
159
220
212
167
165
211
158
200
135
112
150
121
237
150
174
150
194
201
112
258
150
190
194
187
182
112
115
172
170
150
150
167
172
181
194
264
150
121
206
135
165
112
112
128
121
173
121
216
195
208
150
112
232
150
174
194
187
192
233
121
158
121
147
279
147
165
208
207
210
160
171
165
208
150
231
150
177
223
150
165
237
172
232
112
112
172
156
171
123
257
177
136
176
177
193
208
143
147
181
123
223
158
243
214
209
205
112
170
168
272
207
135
115
248
202
219
210
181
130
112
208
147
121
176
225
112
167
121
137
167
121
172
182
238
178
112
202
237
179
150
121
150
201
150
121
121
112
250
112
121
276
150
167
210
177
191
208
170
212
184
112
121
181
199
184
164
170
194
135
208
158
137
112
228
167
229
186
112
172
209
240
158
194
123
229
181
167
208
228
121
208
176
172
208
183
164
208
177
136
112
201
178
150
193
121
199
193
123
243
121
208
208
135
195
165
195
121
172
115
176
240
167
150
147
177
112
181
156
112
112
193
208
170
186
176
172
150
144
208
147
170
250
147
233
228
112
172
167
172
208
179
236
112
220
217
121
165
150
181
150
186
168
172
208
150
167
168
124
121
128
150
208
121
186
112
112
247
130
208
150
171
201
130
143
150
172
171
192
150
208
239
200
217
177
172
177
226
207
165
229
128
128
184
200
136
121
176
208
187
150
152
265
112
171
150
194
170
219
244
168
208
185
115
135
150
196
121
167
172
195
255
192
150
135
242
112
112
172
203
302
121
137
208
203
170
196
193
172
167
195
174
167
181
175
124
147
121
170
112
150
112
193
171
186
170
135
233
150
144
234
201
121
203
228
302
150
170
112
237
153
203
236
121
112
172
195
167
150
136
172
150
229
179
181
164
203
112
234
172
215
208
112
165
112
150
172
247
150
208
170
121
181
150
219
202
193
171
208
186
178
194
143
164
208
165
263
160
150
234
181
150
176
150
123
208
186
187
176
208
150
150
177
172
150
172
150
159
208
217
202
170
165
201
150
137
248
150
143
186
217
158
195
228
112
121
130
208
194
174
147
176
208
130
112
172
203
203
170
215
255
112
124
112
112
232
144
123
123
210
112
123
170
150
112
175
165
135
201
160
193
112
121
249
112
207
150
112
171
112
170
258
208
186
121
202
150
208
150
121
203
276
208
167
210
239
123
172
121
150
161
171
172
150
121
167
174
135
193
210
168
159
172
150
208
231
135
121
123
182
167
121
208
208
152
165
207
121
228
208
198
228
170
112
150
112
197
112
121
112
135
208
208
185
112
225
165
208
112
112
176
112
135
181
212
208
276
192
202
147
184
220
150
204
218
170
112
172
112
208
130
124
208
112
244
170
170
234
201
167
150
212
186
278
167
160
112
263
150
231
121
171
184
172
293
212
123
147
196
124
135
137
226
121
112
170
167
217
121
198
176
112
150
210
172
112
181
112
228
150
167
170
121
193
229
112
202
150
112
154
137
173
177
112
176
165
217
234
143
167
208
121
172
112
193
150
231
225
112
194
170
176
239
147
170
228
195
177
196
164
156
112
231
150
213
121
150
172
171
135
176
150
235
128
112
150
171
136
208
238
123
136
123
236
228
175
121
147
112
170
172
214
112
121
214
112
144
208
112
176
232
181
201
254
121
150
244
188
150
250
152
124
160
156
121
112
123
150
123
121
150
150
236
176
135
209
143
150
208
177
121
193
112
170
184
167
208
144
167
172
167
158
123
150
167
170
172
208
112
204
170
213
160
121
170
176
112
167
221
210
212
121
150
167
229
145
115
211
257
189
172
150
112
121
170
115
150
150
173
231
135
202
201
172
112
146
165
183
136
231
150
202
167
121
167
208
112
137
210
236
193
121
150
112
208
158
150
220
255
203
195
168
177
235
171
172
112
216
196
136
194
150
150
181
192
150
186
187
170
193
112
227
150
237
150
128
230
226
194
289
123
247
232
112
167
128
194
201
167
202
237
160
121
130
174
231
170
172
150
121
237
208
250
157
150
225
144
231
209
203
121
112
121
209
123
187
172
123
150
170
217
156
123
137
279
150
237
177
172
193
228
171
279
208
214
177
212
181
233
247
208
208
172
121
172
150
208
210
170
161
137
121
124
143
112
165
135
159
181
121
115
208
181
185
150
181
150
159
172
115
112
168
299
150
172
164
150
171
219
174
136
165
147
112
182
167
172
150
150
237
194
172
203
193
204
214
208
112
128
202
186
168
168
121
208
258
167
187
167
112
121
150
112
167
208
137
207
218
112
211
181
121
237
270
232
167
115
170
164
147
212
216
167
165
143
172
150
150
195
121
172
112
164
150
212
123
150
236
167
124
163
130
184
121
205
208
167
172
121
170
158
112
135
194
121
217
201
112
171
255
121
219
235
150
150
112
194
195
112
201
170
150
170
160
123
179
176
208
207
112
150
219
193
150
274
212
112
121
115
189
220
174
112
181
147
194
192
112
255
237
228
250
212
172
112
182
150
128
121
144
255
121
150
193
223
150
186
212
234
150
112
220
135
239
112
121
172
218
150
135
177
179
237
112
121
226
244
156
240
235
165
232
159
167
150
150
243
165
124
130
112
156
123
239
243
121
112
186
186
150
146
168
121
123
208
227
208
159
213
208
150
171
123
171
159
176
232
172
150
121
150
112
203
136
208
150
237
150
208
170
208
170
144
150
212
150
228
181
194
167
210
202
217
121
186
184
137
192
175
208
152
112
194
237
121
172
112
202
150
276
257
123
124
226
112
121
112
226
239
165
208
123
174
212
150
195
167
170
170
150
115
112
150
176
165
123
193
212
185
112
255
240
212
112
208
136
194
194
250
208
121
150
230
115
121
189
172
150
210
121
167
171
214
162
203
193
160
166
189
237
150
217
128
186
203
160
153
150
167
158
181
187
123
214
124
170
201
150
176
194
181
115
156
194
150
123
112
112
112
115
112
195
150
147
175
213
121
233
181
147
208
121
123
187
150
181
226
220
302
150
176
176
165
193
176
208
121
278
208
186
204
302
176
112
211
158
194
297
236
150
182
112
139
164
208
121
181
158
203
112
150
172
182
181
150
203
112
150
150
112
168
167
184
181
208
150
121
135
190
175
210
165
121
152
170
150
150
167
172
150
158
112
177
150
112
195
226
121
150
194
162
192
150
171
150
167
150
217
189
144
208
255
121
174
195
175
112
112
159
167
186
164
150
208
212
165
123
121
302
239
172
168
258
150
196
161
193
194
202
205
115
193
228
112
194
136
143
172
150
150
150
198
240
194
218
115
193
187
176
172
156
176
299
171
208
147
150
205
167
112
176
176
172
112
190
172
152
167
250
115
217
170
258
172
203
242
121
184
159
253
171
243
150
172
121
171
135
165
217
112
171
181
239
212
121
175
135
123
172
217
121
112
167
170
112
172
121
121
112
112
171
165
172
150
150
167
211
263
208
197
229
167
195
150
150
206
121
212
121
207
150
124
112
150
208
135
141
121
150
171
186
150
147
171
210
150
164
160
182
177
128
121
112
208
195
233
172
150
225
217
208
172
193
193
271
167
189
150
186
158
228
160
186
208
228
144
165
150
135
235
121
179
175
176
225
194
112
203
171
150
164
202
250
164
160
121
231
112
121
123
164
174
167
150
172
130
179
189
181
195
231
167
276
172
194
112
202
256
170
150
170
172
224
210
195
205
207
208
209
112
121
192
181
124
159
217
170
167
201
165
150
150
135
172
158
205
201
112
165
165
150
150
161
212
163
121
187
170
167
195
193
121
121
112
198
172
112
121
186
250
208
219
121
112
180
176
112
216
201
128
112
208
172
194
193
150
181
112
208
302
150
193
165
135
196
150
167
205
182
204
224
112
177
220
208
176
208
204
121
179
228
123
174
123
161
172
233
150
156
172
150
205
112
205
175
201
255
231
112
208
160
172
121
172
208
150
265
112
170
229
150
150
167
205
150
150
238
150
198
228
271
112
159
194
150
160
121
123
121
165
112
228
209
150
203
278
171
172
185
112
208
170
150
208
112
123
179
121
112
150
189
170
215
172
112
167
216
128
150
150
195
201
136
170
186
167
203
182
208
193
176
115
224
181
201
150
123
186
167
152
164
194
187
123
150
195
112
203
186
163
194
145
208
112
226
244
146
208
282
208
150
172
121
218
150
181
112
121
217
150
150
160
212
262
112
150
230
172
165
239
220
112
275
302
167
177
212
167
150
112
170
208
112
130
123
227
186
220
195
170
124
193
186
167
160
167
150
150
236
150
167
192
150
208
171
278
123
112
147
210
164
137
196
265
184
121
177
165
172
193
123
208
112
131
170
128
112
167
220
202
176
186
193
112
150
193
112
174
167
168
156
244
170
123
171
195
112
123
255
205
205
170
210
121
167
208
123
112
205
167
123
231
167
112
135
208
206
197
195
130
253
112
216
199
170
167
193
172
195
150
143
192
176
181
208
137
172
159
202
159
215
176
188
150
167
208
203
135
208
202
176
179
219
143
187
218
176
241
112
271
218
208
208
194
130
218
135
186
172
250
121
150
192
167
171
170
186
171
150
177
150
167
220
193
229
112
199
170
150
216
115
208
112
195
150
112
167
172
165
160
150
181
172
208
170
181
170
112
181
130
176
231
192
252
176
171
227
123
164
194
115
239
165
112
112
172
187
137
159
112
184
171
167
150
193
209
172
172
231
121
150
168
171
220
150
137
246
208
112
210
213
272
228
137
121
198
172
167
123
208
231
121
150
150
196
220
176
170
112
136
173
150
123
112
231
219
232
208
218
208
115
115
150
208
189
200
237
112
209
201
153
112
237
201
121
167
121
194
160
195
121
228
137
186
172
156
208
159
161
186
203
171
112
150
112
186
137
170
208
167
121
208
170
121
231
193
112
159
172
121
172
184
189
147
230
165
123
150
267
185
236
150
147
217
190
193
193
152
193
228
167
172
150
163
150
187
156
152
137
194
150
194
192
124
212
150
171
200
212
208
171
232
112
112
135
187
241
195
121
137
150
172
112
115
172
150
172
112
121
167
147
112
156
167
158
209
208
156
121
192
209
174
167
179
195
121
184
194
130
112
167
171
112
112
194
181
112
171
259
121
187
164
250
159
112
205
115
147
211
181
194
112
186
231
214
217
150
121
172
202
201
112
190
167
121
112
172
174
121
130
121
202
115
218
167
150
112
225
147
207
112
170
150
150
179
215
201
203
172
238
170
207
194
150
190
123
121
112
123
112
135
281
176
121
150
112
115
231
257
174
150
174
152
137
121
121
161
217
205
204
168
147
181
208
229
150
172
187
137
171
115
112
150
208
192
158
207
161
150
150
150
178
112
171
123
112
167
123
150
121
226
112
165
156
225
170
194
150
208
112
230
112
171
255
274
152
174
228
167
172
130
179
181
150
240
171
226
167
212
150
237
124
121
194
170
161
223
182
150
121
283
121
172
189
150
121
172
239
194
172
170
205
172
214
123
112
171
181
112
121
121
202
170
171
135
112
194
121
150
242
208
176
121
150
202
112
164
167
112
202
165
302
245
136
194
231
150
208
147
218
203
246
121
150
205
177
218
186
112
265
112
170
150
302
177
172
176
237
244
208
167
233
159
208
184
124
112
238
228
214
243
210
175
172
208
194
150
112
172
165
150
302
163
165
177
128
162
210
208
174
208
115
112
205
160
171
146
231
136
128
178
186
225
112
212
121
150
186
208
210
194
150
150
150
112
232
170
174
202
179
302
193
137
181
150
228
145
200
167
121
172
112
276
112
174
150
152
121
150
156
112
170
189
208
170
194
181
128
121
112
171
177
208
128
121
172
135
171
208
150
121
156
203
208
121
171
186
198
112
112
112
208
174
147
208
162
272
264
112
210
172
177
174
112
171
217
194
246
202
176
139
170
136
194
210
162
207
121
112
207
150
135
243
212
187
231
208
131
112
272
184
170
179
152
228
112
209
187
158
205
167
176
201
112
112
170
274
121
164
156
175
159
137
135
123
160
150
167
176
237
150
201
121
182
194
150
174
177
150
112
186
228
232
181
172
172
150
131
234
156
121
176
150
193
121
206
112
112
121
150
123
190
186
182
171
179
112
159
176
228
212
152
196
172
172
121
144
121
171
171
214
168
195
137
164
219
150
194
150
112
212
165
250
165
130
121
112
208
112
112
195
156
208
121
158
210
150
112
187
225
112
112
112
210
250
210
219
112
112
112
172
267
246
156
210
201
112
250
139
144
135
112
231
194
202
167
181
187
135
121
137
208
168
208
196
130
201
115
121
165
121
123
243
196
130
121
208
164
214
172
121
214
143
233
156
124
121
177
263
150
150
164
112
150
158
112
123
167
250
112
203
195
112
202
174
223
121
237
150
150
176
121
186
272
160
121
150
171
121
205
167
112
159
150
226
187
170
121
220
171
150
112
181
187
210
264
171
121
115
260
150
202
181
171
244
231
112
137
226
150
219
250
167
186
172
150
158
170
128
121
166
176
150
237
172
195
150
159
176
239
176
175
176
112
165
189
233
123
123
150
121
237
112
170
212
147
150
171
250
112
195
121
261
208
208
150
135
204
150
172
178
135
195
112
170
223
121
121
123
185
228
150
135
123
121
137
270
121
233
195
233
178
167
226
112
170
173
150
137
218
167
195
201
174
208
147
215
250
186
112
164
167
121
123
202
208
150
112
115
187
136
212
112
164
150
112
208
237
150
179
177
251
167
174
202
232
208
181
112
194
184
196
121
195
150
167
171
208
150
150
121
194
135
217
150
159
170
208
232
175
172
186
231
121
143
176
128
186
115
135
208
179
112
112
192
240
194
195
167
150
182
208
181
172
164
231
209
203
112
159
201
168
172
239
150
208
112
123
171
212
172
150
178
272
226
170
172
175
234
228
121
112
121
112
192
150
175
181
167
176
167
150
150
278
150
172
167
137
228
137
112
193
159
136
192
130
170
143
178
208
167
123
216
112
150
171
208
123
150
150
191
150
137
217
172
189
189
170
243
112
167
208
124
217
215
193
182
170
241
112
121
238
121
112
220
205
178
229
276
187
233
147
112
112
208
165
172
201
208
167
112
121
167
170
193
172
159
267
181
220
167
172
167
195
121
124
112
250
167
170
121
150
209
121
150
241
172
194
121
164
208
206
199
123
112
205
152
158
123
143
170
194
179
181
121
241
136
208
172
219
172
150
172
212
226
168
208
204
112
150
208
250
112
112
128
147
194
194
112
165
233
203
195
205
176
152
208
158
208
112
201
218
205
159
176
194
121
176
172
276
112
121
203
172
174
123
195
158
121
208
181
150
201
170
159
112
121
112
204
156
112
186
160
172
112
228
171
195
150
170
121
137
112
121
181
229
186
205
135
202
201
123
121
231
150
176
210
156
150
238
170
167
165
186
208
181
171
239
232
112
167
195
193
189
137
152
181
231
210
184
156
195
123
123
121
147
167
233
194
247
135
150
272
187
112
212
177
143
152
158
226
217
259
147
136
208
156
187
112
195
181
112
112
179
194
172
228
209
112
159
219
170
121
112
232
121
210
171
181
171
150
167
205
215
172
225
150
208
193
192
208
167
253
150
150
208
208
234
217
143
208
228
124
203
170
150
112
193
170
123
172
203
150
170
202
112
150
182
187
124
150
121
172
150
136
159
194
255
130
112
115
172
281
170
131
136
123
184
208
121
123
215
179
150
160
121
121
228
172
128
150
115
121
177
236
150
236
198
171
121
228
208
167
167
172
172
170
161
185
167
174
112
167
143
244
123
208
121
124
193
121
170
186
231
112
172
220
204
136
170
210
121
150
305
121
137
208
220
228
226
135
160
121
256
223
150
201
231
201
137
150
150
194
212
172
172
208
121
121
112
150
210
194
192
179
182
150
247
201
158
137
121
137
123
164
284
220
115
177
226
170
112
112
112
208
189
174
170
144
135
227
239
170
220
207
150
168
228
170
123
123
198
170
136
112
121
232
121
160
137
208
245
172
150
228
158
172
121
203
187
121
112
203
239
172
112
170
147
150
170
112
210
172
187
167
121
170
167
228
201
292
210
150
147
233
205
208
232
201
166
237
121
228
150
291
194
160
194
239
124
112
171
136
202
208
121
136
150
226
150
150
218
167
139
250
220
112
276
172
208
172
112
150
167
210
208
210
215
146
150
228
196
250
144
123
182
115
226
171
208
219
150
136
134
186
208
121
208
135
121
237
219
186
121
137
195
197
121
121
146
167
115
171
195
137
112
208
150
150
112
150
232
232
137
245
237
179
121
150
220
123
193
208
218
172
211
172
208
181
152
112
201
112
137
240
171
342
208
112
187
150
205
200
218
203
273
112
221
123
150
158
112
167
208
121
112
263
172
216
175
171
112
150
165
150
209
172
150
121
176
162
208
184
150
123
202
170
150
150
112
232
150
217
193
112
221
203
194
172
165
193
121
150
158
159
167
186
195
150
234
171
112
275
123
121
208
147
208
150
150
170
150
112
202
164
172
195
112
168
181
201
124
250
165
112
121
112
218
121
203
302
181
194
175
263
182
121
208
208
121
181
168
135
242
201
237
172
230
121
135
263
208
171
203
160
123
186
112
153
166
121
121
237
167
193
242
137
159
159
128
150
181
176
136
150
194
159
176
231
201
121
208
136
112
150
214
115
150
115
150
170
150
203
135
135
186
135
225
165
150
164
159
136
194
221
112
150
150
210
237
219
121
171
150
208
177
186
175
172
159
150
239
181
144
170
208
164
208
253
121
112
130
275
150
152
177
237
276
210
208
112
130
195
172
174
112
235
150
150
180
181
208
112
121
201
137
213
217
172
121
185
150
278
150
200
121
228
200
185
193
144
112
147
123
121
158
112
150
112
112
194
152
202
194
171
164
165
219
121
218
172
124
186
160
150
219
219
192
166
150
194
112
167
184
150
276
150
112
195
212
207
115
123
123
208
237
194
135
192
152
150
121
121
150
170
150
177
220
137
137
160
177
250
121
216
112
170
170
124
174
150
167
187
250
150
167
156
171
112
181
194
181
168
121
158
150
228
123
112
123
195
112
136
143
171
250
165
112
220
181
121
238
150
162
181
171
165
302
208
136
211
112
171
208
160
208
137
112
168
200
167
176
167
112
203
193
159
158
150
203
203
173
136
112
223
150
112
167
150
165
219
217
195
112
115
121
215
112
152
136
208
168
136
195
208
150
121
225
269
201
220
112
195
181
158
150
164
172
177
132
218
175
121
223
150
177
121
202
201
208
219
150
193
228
130
186
161
187
121
121
170
263
150
112
172
164
168
302
232
167
174
210
172
150
164
238
156
160
225
186
208
121
112
150
121
165
229
187
112
150
158
112
121
121
121
234
152
193
123
170
171
150
121
195
208
194
145
210
195
150
172
172
150
202
198
208
177
150
203
176
233
243
260
174
171
121
156
150
208
195
208
174
112
252
121
150
192
112
187
112
121
121
112
158
172
121
150
112
112
159
174
150
196
156
167
160
276
176
208
235
121
112
202
170
115
167
231
194
112
181
208
255
171
165
302
121
158
115
150
150
121
135
121
181
112
201
203
208
178
172
205
230
112
239
162
150
193
150
135
112
184
121
194
150
218
190
181
181
209
190
260
239
137
147
177
276
229
237
202
121
202
193
157
150
233
121
176
136
150
170
193
144
121
293
203
123
136
178
219
170
193
141
172
207
170
131
121
193
121
177
208
229
237
229
187
217
136
150
261
279
172
276
179
112
170
204
210
112
239
181
160
112
208
121
150
147
179
150
175
121
135
112
201
150
150
208
210
194
194
121
219
112
123
123
112
193
233
136
150
194
172
150
203
160
208
179
231
170
188
228
172
172
112
250
194
239
136
237
212
171
150
136
281
165
236
123
237
150
150
150
150
167
150
160
181
217
183
251
165
150
171
179
112
150
172
230
112
150
150
150
167
202
187
150
208
170
255
168
167
210
136
208
210
219
194
220
186
172
170
264
150
150
112
201
181
150
123
112
195
135
210
187
183
172
112
250
208
143
170
172
172
150
124
215
137
121
167
206
112
217
172
135
112
150
243
115
165
150
152
150
217
121
150
170
217
121
170
150
228
121
150
176
237
121
197
150
302
238
112
112
192
121
255
223
150
208
112
137
181
147
187
180
115
112
160
121
150
174
112
238
150
112
123
190
208
228
172
216
268
263
150
216
226
170
176
170
121
150
150
130
208
214
242
275
131
171
159
112
171
176
135
195
194
211
121
187
171
167
150
176
115
205
229
170
121
195
112
112
136
121
161
228
226
150
175
187
205
194
170
237
228
167
203
195
215
202
150
208
184
263
167
115
207
121
158
213
212
150
158
121
271
193
194
150
237
264
123
187
112
164
152
202
150
121
167
234
121
202
121
219
172
172
130
187
124
121
219
166
112
158
176
152
174
112
228
172
112
121
230
136
194
225
112
112
176
150
231
195
243
152
171
176
150
137
279
229
150
170
178
112
121
193
222
115
173
167
162
112
218
223
216
150
150
193
196
164
165
240
112
192
150
250
137
187
112
112
171
194
232
168
163
130
135
205
223
197
121
160
250
150
171
225
152
164
150
205
208
208
121
170
215
202
121
260
150
208
167
150
170
235
157
284
171
171
123
121
287
171
237
121
176
248
150
172
147
121
150
182
219
186
150
176
131
208
172
187
158
187
167
203
167
112
237
112
204
150
187
186
162
112
203
167
208
215
172
156
115
202
167
152
121
121
121
150
210
236
136
250
112
150
219
112
172
112
170
112
229
189
137
194
150
176
202
194
135
143
150
228
164
212
194
172
216
165
123
150
162
112
170
112
203
150
171
112
147
185
167
172
150
121
135
177
150
121
123
212
210
121
135
121
121
194
217
302
208
147
112
172
121
137
115
135
210
159
121
172
217
208
150
121
123
172
121
112
121
209
177
157
150
150
135
153
159
159
150
115
208
208
123
121
240
224
225
156
121
143
219
207
170
240
150
187
257
121
170
112
228
170
167
143
150
135
207
167
220
208
112
159
121
172
172
143
236
192
208
165
210
187
176
150
241
150
183
165
181
195
123
170
172
245
195
210
121
239
150
121
131
177
208
215
121
112
135
121
124
212
150
170
112
172
160
171
121
208
208
175
112
172
208
168
112
137
177
232
112
193
165
190
237
135
239
225
237
247
165
112
144
147
237
123
172
225
112
123
228
170
193
175
150
168
112
150
186
156
174
239
250
112
121
136
170
150
212
150
176
203
123
160
150
222
147
147
172
121
164
218
177
208
255
172
257
170
150
136
112
172
160
144
115
181
187
130
210
123
115
195
172
193
165
112
135
112
201
225
147
172
121
150
150
150
150
229
158
278
265
165
112
162
137
179
112
158
112
150
167
135
121
121
112
202
121
225
124
229
185
167
165
167
236
193
165
177
187
115
112
228
150
178
172
204
112
187
121
237
165
152
123
170
170
176
115
121
150
177
165
219
243
179
121
177
150
170
154
208
159
172
218
193
160
171
158
123
150
121
217
150
150
186
121
150
172
167
121
150
181
121
216
171
195
212
174
121
112
121
168
230
172
263
162
217
184
193
172
207
135
128
208
164
112
203
172
170
209
206
150
150
176
192
217
150
265
225
150
121
208
121
208
207
150
170
234
189
146
167
112
189
186
236
228
158
210
112
112
164
121
263
121
112
176
170
159
161
145
218
135
208
150
219
232
152
195
121
121
207
150
121
164
185
171
175
203
164
167
147
170
170
228
123
124
165
150
279
121
115
208
172
112
171
150
172
228
167
172
159
194
172
146
150
193
207
186
136
137
201
115
150
159
121
186
150
121
167
234
171
167
158
205
208
150
150
179
112
121
150
211
135
171
150
228
121
218
174
150
208
158
208
218
112
187
159
218
240
176
181
115
112
152
194
150
130
205
150
155
139
167
121
150
208
150
170
205
218
176
176
121
176
207
112
172
150
112
220
208
150
171
123
152
156
136
144
217
159
194
168
226
231
172
165
150
128
112
193
279
186
115
164
167
246
201
123
176
170
112
165
121
171
170
252
239
172
230
167
123
136
150
150
135
187
128
150
193
170
243
123
165
208
186
150
172
179
150
121
137
189
229
177
112
121
171
123
112
231
172
177
150
193
121
176
220
131
181
168
207
165
216
193
172
228
144
229
121
201
176
137
171
215
194
186
150
231
112
195
209
228
200
231
150
124
186
179
240
255
135
123
150
228
195
195
176
225
112
216
115
195
243
150
121
150
194
167
208
193
150
164
121
194
121
228
250
112
259
112
202
164
212
159
121
128
156
152
112
226
144
225
136
121
279
177
136
194
147
112
112
115
150
237
150
171
115
208
112
136
220
150
170
193
150
150
115
135
156
150
112
112
156
202
202
143
167
136
123
121
170
177
208
131
179
226
250
225
208
186
201
150
150
112
115
260
219
174
150
167
150
167
208
208
112
150
161
121
121
121
172
112
167
115
192
150
121
165
172
171
170
112
212
158
121
291
112
192
137
150
112
208
171
208
171
121
196
171
195
210
137
263
165
205
194
112
144
150
239
150
229
172
121
123
121
193
112
208
172
194
124
176
163
112
236
172
167
182
150
112
123
225
115
274
194
150
156
237
194
210
181
210
150
144
147
174
181
121
159
150
208
208
172
195
157
112
150
170
112
170
112
217
259
171
112
170
219
124
237
210
147
130
121
237
172
223
150
202
220
167
171
222
172
203
168
215
150
174
267
231
167
157
112
205
234
121
150
195
149
136
121
225
237
112
150
195
137
112
186
135
139
195
187
250
212
150
112
150
171
212
180
150
172
124
212
181
181
207
150
137
150
150
265
189
208
150
112
219
176
136
127
207
115
121
123
172
121
176
167
208
172
121
150
172
194
135
194
209
172
172
121
226
156
171
208
171
121
112
194
177
172
179
217
121
150
177
170
290
181
150
228
123
150
150
208
253
121
208
121
167
210
228
130
172
208
112
112
167
136
186
115
165
212
112
208
112
115
208
128
171
123
228
121
167
135
112
176
176
237
170
150
238
156
158
212
123
176
211
112
137
121
233
195
123
121
255
167
170
170
208
150
181
190
165
192
234
215
167
208
150
228
187
171
217
130
170
123
165
187
167
239
135
228
167
123
196
112
121
181
150
150
259
112
208
206
201
121
121
135
172
234
144
212
173
160
121
161
208
171
112
189
112
187
176
172
181
123
195
164
172
208
195
275
112
115
150
112
171
171
207
221
130
187
165
135
159
161
245
220
228
208
123
207
302
173
208
184
212
229
112
121
121
201
150
124
208
181
193
177
112
211
208
150
202
194
196
202
150
121
224
150
135
174
165
243
170
137
208
170
167
202
178
171
121
112
112
150
215
123
128
171
282
195
190
232
192
219
205
165
171
217
172
187
112
167
121
242
135
193
170
150
112
159
228
150
150
124
181
167
228
170
231
233
136
112
112
165
137
200
150
172
220
182
121
246
150
175
160
137
210
167
112
112
150
157
115
194
171
150
128
208
121
187
121
193
174
169
121
150
175
184
168
228
235
176
121
121
168
170
172
216
194
186
121
136
121
275
203
218
135
201
203
181
150
130
208
198
170
229
195
208
171
179
194
121
141
123
147
205
181
187
115
112
124
175
237
278
137
170
112
208
150
159
121
207
121
269
123
121
263
134
158
115
202
236
121
150
186
186
173
176
150
233
176
194
115
210
112
147
121
171
112
150
136
112
194
112
209
170
121
208
150
194
202
210
239
165
184
236
123
164
150
112
241
121
217
150
279
112
227
121
112
121
167
195
208
220
170
218
208
181
172
112
150
181
195
150
165
112
207
203
172
170
174
162
171
208
150
137
163
128
123
193
170
150
150
201
208
192
137
172
186
147
172
135
130
167
123
150
239
230
208
128
150
112
208
194
121
170
150
181
208
174
220
135
150
121
137
231
193
217
223
167
229
168
158
171
123
172
208
150
112
121
163
150
172
112
211
171
194
219
208
194
181
112
167
167
235
172
121
178
112
150
134
208
121
254
112
170
228
150
237
150
219
204
150
187
191
202
171
121
177
112
164
165
144
123
112
167
150
178
230
275
167
229
239
208
234
208
233
144
170
150
192
112
179
217
198
196
165
167
123
143
121
202
176
227
167
228
150
179
112
150
143
150
210
210
238
274
265
233
121
150
171
121
159
228
208
245
158
203
112
164
112
150
209
235
214
232
150
240
172
150
243
228
193
208
193
228
112
147
168
167
194
208
202
112
150
156
263
130
225
147
123
193
187
191
178
278
167
121
167
172
177
207
150
112
234
210
112
229
236
174
189
193
135
172
208
172
213
201
181
195
115
150
174
165
150
161
201
210
186
115
121
115
171
123
130
150
196
210
201
208
150
150
244
194
172
137
223
170
150
150
121
187
112
150
209
168
173
208
152
159
171
112
161
176
172
231
136
156
150
181
112
130
165
158
123
137
192
150
112
150
171
195
231
121
172
225
194
172
171
112
166
121
212
112
150
121
205
187
165
194
165
192
241
233
174
164
181
112
172
202
168
237
208
172
170
115
192
135
150
121
172
123
143
152
123
217
181
189
115
170
194
159
136
112
130
167
181
150
147
194
121
121
255
144
195
112
150
178
121
181
123
170
121
205
128
195
167
237
251
135
150
128
115
178
112
237
208
219
121
250
219
187
150
172
130
150
167
208
165
146
150
198
193
177
137
201
176
205
150
192
208
220
237
112
112
170
232
187
112
150
246
128
112
112
242
181
121
150
178
167
121
156
146
201
150
208
239
176
242
215
170
234
112
171
172
123
219
208
218
150
168
225
170
167
171
121
167
186
121
170
171
124
124
250
121
150
135
121
176
165
201
121
209
301
187
178
194
237
182
193
181
241
164
182
147
156
175
150
172
228
123
172
193
150
203
208
176
181
167
195
193
228
276
130
181
204
121
144
156
186
208
182
172
121
232
112
236
150
150
208
176
121
121
150
160
297
187
170
251
240
165
112
121
204
123
144
176
150
136
171
171
112
194
171
208
112
121
263
121
171
208
177
172
156
172
121
150
167
130
162
175
172
172
179
181
112
218
172
121
160
172
190
112
121
253
170
181
219
158
195
156
112
179
208
170
135
172
165
237
150
200
208
170
150
150
228
228
135
203
193
179
150
170
208
193
139
302
202
250
207
112
240
269
164
208
206
165
174
171
207
121
150
121
147
167
181
112
130
150
171
174
136
150
150
156
131
214
198
208
172
219
233
171
176
219
150
164
150
204
208
170
203
291
160
212
181
160
150
121
190
209
121
112
208
189
297
236
167
237
135
240
192
167
150
128
203
167
121
174
228
145
112
167
150
170
181
112
156
218
210
156
121
236
186
121
137
150
200
121
172
150
150
205
201
150
168
158
240
192
150
150
167
147
210
195
112
112
164
128
170
193
196
168
135
194
172
170
186
172
150
220
181
208
123
150
193
225
218
226
181
263
201
179
171
167
167
156
121
121
214
150
158
112
121
276
112
194
208
158
150
218
112
150
150
170
187
243
212
170
112
176
212
112
150
121
218
176
210
194
203
123
203
176
187
176
208
152
172
210
218
167
186
137
112
176
167
170
171
252
150
204
201
112
195
165
193
186
121
150
263
208
172
274
152
162
171
121
210
121
150
121
128
243
196
130
181
196
121
186
172
136
208
201
193
123
177
215
136
150
121
150
112
161
178
176
165
165
152
172
112
124
158
205
186
208
223
123
172
231
121
207
189
121
170
181
167
156
152
143
193
189
176
150
186
205
112
150
121
135
121
112
150
237
167
170
150
170
150
121
150
112
220
250
208
173
160
150
136
237
223
240
150
150
170
152
136
168
212
177
210
181
229
229
208
182
228
208
172
179
198
186
204
253
203
164
172
112
112
170
171
112
263
194
278
121
115
112
112
112
212
193
174
219
112
150
171
183
208
112
121
184
208
187
112
172
112
172
186
223
115
194
171
208
201
150
201
150
208
124
208
136
196
124
193
238
164
250
237
208
203
121
137
297
123
115
202
112
209
171
206
250
112
112
172
170
185
237
208
194
159
150
258
150
172
121
150
170
208
194
167
123
112
115
150
167
217
172
226
223
195
150
135
207
136
194
124
225
150
150
192
172
171
228
299
150
175
193
231
228
171
152
167
235
208
225
231
177
150
181
164
259
165
237
171
150
150
176
220
243
170
208
210
121
210
150
137
123
174
171
198
121
179
150
136
168
172
244
121
208
136
212
192
171
220
171
197
163
237
150
150
175
121
123
150
164
195
237
226
112
189
137
172
143
135
115
237
173
147
150
156
121
128
158
150
189
250
228
172
112
150
160
237
135
232
170
150
167
112
207
203
167
167
112
112
265
159
124
167
172
201
194
187
167
172
266
176
217
231
156
171
123
137
144
150
241
202
136
208
121
193
208
150
288
115
135
184
165
215
170
115
150
242
150
219
115
150
150
150
240
112
208
219
230
135
150
112
137
170
208
197
172
112
112
228
171
170
195
274
137
121
218
193
243
202
208
130
150
168
170
189
150
115
234
167
172
165
170
165
150
150
172
123
171
177
112
237
150
112
236
219
112
121
208
172
228
124
164
170
170
165
150
170
234
205
164
121
182
177
168
234
121
194
181
121
186
174
177
167
176
208
257
112
215
187
186
164
170
124
192
201
121
112
167
174
229
150
172
150
150
137
128
207
150
121
233
184
172
121
168
150
208
123
150
112
170
150
181
219
270
194
112
167
147
121
232
274
150
208
159
189
229
150
302
186
217
121
150
236
263
212
194
194
217
123
204
150
170
233
135
232
112
236
204
124
171
172
208
227
207
112
150
204
201
112
170
150
181
121
225
237
158
172
187
160
194
144
181
130
165
239
194
150
171
228
112
195
263
228
172
236
172
121
123
121
121
121
112
246
225
206
204
123
150
172
208
170
112
150
121
194
200
167
137
208
160
208
167
121
157
172
239
174
112
278
170
192
208
164
185
167
121
112
167
150
172
208
112
121
150
139
239
150
135
181
170
167
208
254
208
208
171
230
218
147
208
136
202
150
187
136
231
186
156
208
191
152
181
208
221
231
144
152
150
121
128
130
150
167
150
112
167
235
215
121
150
167
112
152
112
172
193
121
121
150
170
172
150
175
112
225
170
176
150
220
187
150
136
150
150
176
112
219
258
210
186
208
171
207
121
150
171
150
186
160
150
123
150
232
212
123
265
194
208
150
121
146
150
121
150
176
234
174
176
194
171
250
159
229
176
112
124
275
170
167
150
121
217
112
208
121
121
135
181
186
186
150
150
161
234
208
162
242
179
255
239
165
167
160
259
112
176
170
150
212
212
121
112
206
152
195
167
112
172
176
168
172
201
189
121
121
168
212
229
233
208
206
204
231
215
208
170
202
208
194
241
210
150
193
121
208
150
202
112
112
208
205
181
135
150
172
208
208
172
170
202
150
112
123
130
112
172
136
186
161
130
159
170
150
220
176
176
219
212
172
204
150
112
165
150
172
150
150
150
205
212
176
208
172
150
226
193
112
195
128
150
201
150
248
242
150
172
137
137
167
207
112
112
172
147
176
150
229
201
112
250
237
121
194
181
163
198
172
177
162
172
202
166
112
112
228
121
121
112
212
150
136
186
226
270
121
150
240
112
187
181
176
206
212
226
121
240
170
112
208
156
158
215
205
233
177
121
194
218
281
235
212
203
121
150
150
212
150
150
213
168
158
150
226
203
171
174
233
152
174
234
220
272
186
150
160
112
123
121
302
189
172
172
115
150
150
181
121
167
137
164
150
171
112
150
150
150
208
228
112
165
228
209
194
167
217
208
150
170
228
171
121
208
194
156
135
167
182
150
228
183
176
202
171
150
219
121
263
195
210
112
187
181
281
158
135
186
172
121
128
173
147
188
150
172
233
171
245
225
203
150
150
194
181
192
121
158
198
150
121
150
212
162
121
302
212
121
172
260
150
121
261
196
112
150
208
172
186
192
135
164
167
196
195
150
150
272
236
150
171
201
177
123
156
208
211
201
121
172
156
170
186
167
197
170
250
115
228
135
146
177
170
115
121
181
112
243
150
156
121
183
172
217
168
123
112
112
186
220
237
231
194
236
233
239
158
121
171
171
191
112
208
159
195
121
298
150
132
112
168
150
123
206
121
179
170
260
112
207
115
121
220
227
112
194
124
112
121
193
112
216
150
193
121
164
136
195
174
167
167
150
123
184
200
202
136
172
206
137
172
201
171
194
112
265
121
158
237
231
115
238
137
177
233
177
228
121
121
189
208
135
115
208
123
208
221
226
172
228
250
203
123
229
170
210
159
158
150
124
183
237
135
237
112
176
112
212
152
167
150
112
112
194
112
262
112
165
229
150
159
208
219
175
167
194
239
176
195
135
121
158
170
172
212
194
193
150
115
235
150
255
170
193
121
219
124
194
181
193
177
210
208
171
137
115
147
158
136
172
205
121
227
201
172
187
121
147
174
123
257
201
112
192
171
121
199
170
208
194
172
139
208
203
112
174
239
170
189
167
136
233
267
112
199
218
217
225
186
254
171
195
147
214
160
112
112
112
165
150
211
207
112
150
150
201
112
112
208
204
181
208
217
128
256
121
239
121
136
121
150
195
150
202
121
171
208
156
156
158
209
121
172
220
231
202
112
250
236
150
177
170
213
193
150
150
195
168
156
177
121
112
241
150
112
232
135
176
171
136
121
194
225
159
167
167
208
212
174
121
201
159
225
203
156
189
128
137
203
193
150
208
176
159
210
147
218
123
234
172
201
112
186
170
198
184
157
150
170
226
172
112
121
121
150
193
112
171
112
158
193
172
243
248
228
150
167
203
172
121
112
207
255
228
167
156
147
121
135
123
170
208
238
172
136
184
158
172
213
194
174
150
219
167
226
255
245
172
237
170
150
136
164
184
121
112
170
170
150
208
179
181
226
208
167
194
236
194
202
170
278
165
121
130
135
174
233
167
193
225
184
228
207
112
194
272
150
183
224
167
194
177
112
172
276
250
302
170
150
225
179
128
112
150
179
137
167
121
195
212
158
123
121
112
208
176
241
137
164
201
171
136
235
208
170
219
112
130
123
175
193
150
115
186
195
207
195
208
167
150
240
136
150
150
178
121
233
156
171
228
171
150
181
150
187
181
229
172
229
171
170
112
171
239
162
123
226
220
136
150
231
171
150
203
147
121
235
158
137
195
112
165
201
170
115
150
211
228
156
150
195
115
203
112
172
112
121
128
220
231
208
123
171
150
150
243
121
172
194
112
159
167
112
170
158
176
172
167
150
203
217
150
121
193
150
186
247
170
188
150
123
172
228
112
207
115
203
170
202
112
158
217
112
260
181
208
176
167
121
164
237
217
150
150
208
203
186
186
164
150
167
121
194
150
203
155
177
194
212
208
112
170
172
112
172
231
236
172
274
121
121
232
228
123
258
112
150
184
147
156
170
160
167
124
181
150
112
160
194
121
276
255
115
195
192
150
226
150
150
171
115
208
112
150
150
144
208
233
137
170
112
178
135
202
147
193
171
124
152
219
205
190
150
181
170
136
137
150
176
123
112
208
207
165
158
216
150
212
207
112
172
139
144
121
208
165
176
167
212
242
172
121
220
174
217
165
112
174
190
174
115
159
121
121
211
112
160
259
172
121
170
121
170
167
227
150
181
121
172
220
150
227
202
210
150
208
121
165
159
112
167
170
150
217
171
146
245
115
143
210
172
171
150
177
193
121
203
167
172
172
176
172
150
150
136
273
196
156
208
121
189
150
219
124
231
164
195
112
210
112
167
212
237
171
150
195
210
205
199
157
217
208
225
176
121
219
208
121
170
228
186
167
167
112
210
121
189
147
208
208
273
186
112
112
228
231
181
172
237
112
207
159
263
202
112
112
201
200
136
112
209
112
204
150
170
172
172
121
158
156
208
135
123
167
112
202
171
112
187
238
150
281
181
146
208
150
196
226
137
150
172
172
194
263
159
202
170
136
193
121
150
112
218
115
170
186
150
187
211
172
176
187
150
121
208
124
150
208
170
112
170
112
210
150
112
150
167
167
165
168
185
146
255
159
128
187
121
208
112
261
112
213
215
160
208
121
121
226
112
112
150
158
121
208
226
150
216
137
137
136
112
228
208
121
150
121
158
150
195
213
160
121
208
208
167
208
208
112
208
225
263
202
177
170
121
202
146
193
289
187
112
176
208
150
223
202
157
139
167
195
165
246
164
130
187
135
193
168
196
150
136
172
171
112
121
239
208
170
222
160
208
123
208
167
195
176
159
276
220
167
158
208
123
172
203
167
168
112
112
144
228
190
181
181
171
201
170
206
208
165
229
238
112
150
150
136
150
265
181
195
212
189
150
112
121
186
150
159
255
193
172
121
173
193
121
121
235
135
167
112
210
170
112
112
150
201
136
219
212
150
220
150
164
150
130
167
143
193
121
167
150
239
165
112
210
172
150
159
121
135
121
210
123
239
186
150
305
158
123
208
150
276
112
150
172
207
181
165
168
159
121
208
217
194
174
176
263
165
181
112
201
115
172
112
232
128
162
233
192
159
205
146
150
121
112
150
112
172
208
171
136
112
192
202
208
187
175
176
177
225
112
144
112
167
123
150
181
123
112
170
217
203
195
115
147
181
130
217
231
137
112
150
193
171
135
181
239
233
239
194
208
121
115
179
167
213
172
167
187
153
165
255
156
112
208
208
150
194
175
121
231
167
165
112
170
207
250
212
124
195
261
170
187
170
130
188
168
179
227
250
150
167
210
164
144
184
263
240
170
231
170
112
121
202
112
150
124
302
160
115
136
237
170
195
187
171
226
146
115
290
208
123
212
130
246
210
168
175
172
234
112
208
112
124
121
150
112
172
115
223
202
273
115
167
208
170
150
208
115
135
196
135
150
193
147
150
167
206
225
215
195
224
172
121
238
172
112
172
112
205
150
219
121
121
152
162
208
124
121
150
276
150
165
170
242
170
175
190
150
170
123
160
208
228
168
112
167
170
177
204
195
121
160
177
184
181
228
236
167
236
175
164
217
124
159
121
177
165
228
172
124
172
137
172
150
215
112
112
157
162
186
192
171
130
150
178
193
167
150
172
177
210
192
172
156
228
194
150
150
208
210
172
112
233
143
175
220
217
112
167
167
150
181
167
172
193
121
176
121
211
168
214
136
225
165
112
250
195
200
186
167
112
206
112
128
137
204
172
150
161
218
152
115
215
243
177
164
171
112
257
150
204
121
112
123
159
150
158
121
181
186
172
150
220
237
208
112
172
172
135
205
172
243
123
112
239
195
112
164
255
208
235
121
203
150
137
172
121
176
159
158
255
195
187
121
231
194
167
239
171
172
150
210
123
167
209
150
238
156
130
208
150
194
181
174
150
121
186
172
195
176
195
130
184
172
215
137
193
202
170
208
167
112
219
201
150
170
167
202
208
121
212
171
174
174
158
150
187
121
242
121
150
230
210
170
172
195
112
150
212
218
171
112
174
150
208
219
210
189
135
172
160
124
181
150
172
150
208
168
115
201
193
217
150
208
150
170
121
270
145
208
112
150
237
228
208
172
186
124
150
230
121
212
131
206
165
121
228
228
135
229
218
232
171
115
171
150
208
143
239
223
160
240
143
131
150
194
174
150
242
112
172
121
150
193
171
128
208
112
173
208
195
121
208
123
201
167
172
186
112
210
171
112
220
302
150
128
150
208
193
150
124
297
115
167
112
219
121
170
128
121
242
112
177
112
167
121
232
158
150
150
121
172
210
203
162
203
121
192
208
160
164
245
202
123
112
210
123
226
200
244
167
194
176
174
194
136
226
112
150
208
121
121
274
167
174
248
189
228
231
135
237
167
115
208
218
121
170
195
277
115
171
170
187
204
231
121
170
121
217
167
210
228
124
168
112
186
172
205
150
220
112
159
172
177
124
193
135
168
174
168
167
235
194
171
150
112
236
170
150
212
143
229
170
171
150
121
166
210
147
121
152
203
150
193
206
112
263
165
208
210
157
112
208
210
165
228
158
176
150
165
121
208
208
115
196
218
217
210
212
181
123
121
112
121
112
215
112
202
302
186
112
213
181
112
150
170
227
147
177
167
123
219
252
168
216
212
181
121
150
121
231
205
121
150
208
196
234
228
206
245
150
208
206
208
112
171
165
184
195
223
171
158
176
266
112
208
132
158
150
112
184
170
167
201
159
147
208
112
226
121
171
112
115
193
171
112
215
194
178
157
203
194
160
150
186
112
112
193
112
150
143
156
150
172
123
276
150
121
205
229
121
150
112
136
123
147
137
123
112
226
167
228
194
121
159
207
123
272
189
172
167
181
200
160
123
167
150
172
156
208
156
167
123
202
112
195
168
203
171
170
194
243
231
164
112
228
112
150
167
112
226
204
165
137
170
207
121
150
193
121
216
150
179
190
121
201
136
164
150
193
207
278
150
176
130
239
144
201
150
195
163
194
195
170
246
121
208
147
150
121
170
147
229
115
172
170
193
186
208
219
112
195
228
123
208
164
150
150
167
159
172
165
121
121
225
276
181
238
112
231
121
219
123
176
268
112
121
302
165
198
112
263
158
121
186
156
212
112
181
233
167
208
164
150
150
112
165
240
194
112
147
211
208
186
150
150
193
150
172
112
274
218
150
150
137
176
231
121
231
208
123
159
172
165
112
174
136
286
194
172
172
137
136
112
203
172
233
250
171
208
251
205
150
112
150
112
190
229
237
181
184
232
237
171
186
150
144
181
174
250
178
121
212
201
186
136
208
121
136
150
112
202
224
121
181
196
150
150
146
167
181
177
128
220
212
179
112
175
112
159
171
228
170
112
236
208
194
196
156
150
228
193
121
192
150
150
176
150
121
170
201
210
135
121
171
150
208
175
112
182
130
168
121
250
135
139
112
227
170
171
203
193
115
167
181
201
150
121
164
121
175
176
150
203
256
194
192
128
171
150
147
150
170
212
137
164
186
225
152
212
195
208
159
171
205
150
112
181
144
123
164
208
217
207
172
208
202
220
176
220
202
263
112
240
150
112
230
221
242
229
150
112
212
181
171
170
135
123
208
202
208
147
121
135
243
329
164
160
210
123
216
121
278
210
112
170
176
215
135
167
171
216
231
202
208
170
192
172
112
112
152
177
150
150
147
170
150
160
146
112
112
226
210
164
195
176
227
250
121
170
203
123
179
112
176
256
189
227
161
234
123
170
112
208
186
112
240
121
228
228
165
196
210
250
162
202
182
174
150
172
202
201
208
196
216
112
208
121
202
207
170
181
216
171
260
239
176
237
147
143
150
123
172
115
147
121
228
112
184
229
150
156
226
121
158
150
121
187
171
170
240
208
214
121
112
158
123
121
159
123
240
172
189
232
208
167
121
165
112
193
171
187
158
187
195
241
121
136
121
121
210
176
208
121
171
239
123
150
233
219
121
135
172
136
135
193
208
150
194
137
208
181
150
214
208
212
150
150
186
165
194
150
112
150
172
150
150
171
147
132
170
171
112
177
150
155
167
112
156
193
115
237
186
160
150
167
112
150
239
170
231
218
150
219
121
130
170
194
237
212
150
130
112
275
181
176
128
112
172
231
233
137
186
195
150
225
212
240
272
187
259
299
112
176
170
255
172
191
150
136
135
170
150
147
205
172
186
150
150
171
171
136
174
176
171
121
121
167
150
158
174
157
135
170
181
167
112
286
216
291
150
208
170
302
136
150
210
123
193
165
112
172
175
150
170
210
172
123
170
150
112
208
121
203
203
263
121
115
190
123
121
159
192
182
150
226
225
115
187
167
240
192
112
194
228
259
171
167
112
170
165
156
181
264
212
178
165
187
184
237
121
228
160
186
150
228
209
187
222
226
167
228
208
150
197
121
172
212
196
208
176
203
208
191
213
121
112
187
121
235
112
205
137
193
150
147
193
112
123
219
112
184
112
167
165
192
225
204
195
193
150
167
270
201
150
208
203
112
160
168
171
150
136
208
123
172
190
121
182
158
150
171
150
208
184
189
266
112
278
219
181
189
209
121
195
150
172
150
170
212
136
189
124
298
170
123
150
158
176
167
128
229
121
150
208
208
187
112
121
208
177
214
121
203
239
121
172
194
121
238
231
171
150
170
210
139
112
147
193
167
229
174
232
121
203
112
167
189
218
192
115
207
150
165
193
165
167
228
150
212
112
176
176
194
121
124
121
112
185
165
171
193
208
135
147
177
121
147
150
150
172
240
130
150
208
147
147
170
112
171
182
181
239
172
121
136
150
121
180
112
112
237
150
208
216
130
170
123
159
177
167
193
137
189
178
208
252
195
236
137
181
220
257
265
167
150
203
172
194
135
170
135
176
112
112
112
150
158
123
167
145
202
225
202
167
210
203
228
156
181
220
170
121
196
172
172
201
181
279
243
283
162
270
208
123
206
170
124
201
172
171
193
172
112
135
165
153
208
150
112
206
147
150
135
181
150
150
202
158
181
112
194
152
220
121
201
220
193
172
208
209
208
150
231
219
150
165
220
167
201
167
254
123
165
205
135
136
171
137
165
121
172
124
187
176
115
136
165
167
171
150
150
170
187
203
218
112
201
115
210
181
150
193
172
171
231
171
220
203
208
121
121
184
130
208
181
167
165
220
121
212
185
167
123
115
214
130
231
172
203
208
167
181
205
150
302
171
171
128
194
112
112
150
209
167
176
210
219
164
115
211
121
137
165
219
150
121
238
121
150
167
218
217
233
208
186
210
150
165
228
205
115
161
112
121
170
219
208
257
177
150
128
168
208
242
150
215
218
167
122
150
150
186
225
181
167
172
112
164
182
263
210
121
121
255
201
194
165
167
195
121
112
164
150
195
208
239
184
167
195
201
236
158
171
201
171
250
195
150
121
260
186
176
160
112
193
112
192
228
186
121
112
121
121
194
208
150
240
150
135
192
208
121
150
208
172
175
112
302
187
172
208
222
150
150
172
170
147
228
208
172
194
178
302
112
246
112
302
219
152
150
208
167
112
202
170
208
176
136
176
194
150
112
165
121
255
121
208
123
171
150
172
187
121
121
112
112
167
201
194
146
208
121
202
220
208
112
182
214
186
186
121
167
147
267
150
195
170
165
136
238
182
112
165
112
150
150
172
124
199
172
172
228
135
204
137
209
184
112
150
150
150
150
187
231
171
144
112
208
196
112
123
187
186
172
181
150
141
212
181
152
220
165
215
208
174
208
211
209
150
170
130
174
150
121
152
121
121
160
121
112
177
112
208
167
208
189
143
176
194
159
136
160
121
167
240
171
228
112
150
130
159
187
202
186
112
150
167
181
253
136
210
226
112
202
170
208
165
208
164
286
228
201
172
250
121
255
182
201
115
130
216
136
172
186
121
150
112
217
150
123
112
112
115
182
112
245
121
172
170
209
248
152
186
186
250
194
121
172
167
121
176
167
164
124
170
150
112
150
201
160
147
181
150
205
274
212
170
112
123
208
181
112
172
112
123
121
137
275
144
208
212
214
174
150
193
150
121
250
112
112
208
112
171
121
219
112
112
150
229
112
171
152
212
115
165
176
181
226
171
165
167
193
181
225
115
115
214
152
181
181
202
150
190
152
170
152
186
112
121
170
150
210
176
121
233
250
112
170
194
112
164
150
214
208
154
164
228
181
112
193
121
146
123
135
186
121
181
172
228
165
167
121
181
172
167
181
202
194
226
164
195
210
201
112
172
203
231
150
121
121
167
171
181
170
112
194
161
231
121
228
163
121
209
187
135
121
194
172
159
167
192
167
228
250
199
186
206
208
187
212
175
144
237
172
121
184
150
232
226
187
150
112
232
144
147
231
150
121
136
236
208
195
121
159
170
203
170
112
228
208
121
112
150
170
208
238
240
212
250
147
200
112
168
150
150
121
199
121
121
165
171
234
263
172
164
171
203
194
210
217
112
159
150
171
121
186
150
207
135
172
150
198
112
217
124
213
123
198
150
123
112
160
238
165
260
158
205
150
112
184
171
224
172
172
202
112
208
121
121
212
150
150
112
228
216
150
167
186
227
135
164
123
212
259
112
208
167
173
170
150
202
150
136
172
228
208
177
124
181
112
210
195
206
302
159
184
150
229
112
172
194
168
121
170
228
137
150
112
112
136
193
216
121
112
184
203
124
136
112
167
187
205
184
150
215
112
159
233
121
218
201
234
171
179
159
208
135
172
147
160
172
150
164
167
112
115
219
150
167
141
150
112
121
136
189
150
150
167
112
171
208
112
121
121
171
254
181
112
112
170
208
150
202
208
181
181
186
112
150
168
177
150
172
193
181
302
172
194
176
112
123
174
161
220
176
255
229
242
210
130
202
150
186
150
123
112
170
232
187
208
208
121
112
112
172
135
112
150
174
208
161
170
170
150
217
217
150
217
150
128
171
121
188
208
150
171
135
131
150
208
237
124
203
276
121
123
112
218
172
176
150
194
112
225
202
186
226
181
229
137
150
217
255
195
176
150
167
121
112
112
174
178
165
208
167
193
150
207
225
156
219
170
236
171
203
176
112
208
147
165
186
150
208
177
121
264
168
171
193
123
136
124
121
150
236
181
164
242
228
208
240
121
208
181
187
121
197
121
255
176
237
165
208
150
195
228
174
231
150
177
201
150
208
243
189
170
121
208
123
167
172
181
237
208
121
164
215
172
170
208
245
112
164
194
150
193
112
175
150
150
220
112
174
150
170
112
239
112
139
220
218
121
115
172
112
165
137
165
121
150
121
228
172
171
158
203
159
214
190
121
150
121
150
194
170
208
121
195
226
194
164
112
176
157
171
179
223
128
234
136
167
112
171
233
165
210
172
121
201
165
156
161
204
194
167
150
205
205
123
242
215
170
112
172
123
172
150
193
150
150
156
219
150
165
112
164
253
112
147
121
186
171
121
112
192
150
172
208
121
150
170
160
167
240
123
121
226
170
171
135
175
158
172
160
208
242
136
123
150
201
302
136
150
193
112
137
131
172
239
203
150
170
150
203
112
150
235
168
238
176
150
172
170
136
176
150
172
194
135
172
171
172
250
112
112
176
172
170
136
192
112
112
176
168
112
250
112
266
207
112
208
150
212
150
150
150
124
171
203
237
171
121
168
171
174
135
112
150
229
136
150
135
208
112
150
150
176
136
161
158
136
172
243
219
150
168
172
171
305
255
184
181
121
172
167
156
195
135
165
150
178
164
112
150
176
203
150
112
225
150
150
238
150
255
208
121
205
194
171
112
208
177
228
237
135
289
121
240
143
245
219
172
202
211
112
255
255
176
203
158
159
174
179
205
112
150
186
208
158
201
176
150
136
136
159
150
220
255
228
226
150
194
223
172
121
112
112
150
150
150
170
172
195
193
112
150
213
115
207
186
144
245
121
147
250
147
167
176
194
201
217
181
181
194
172
303
189
112
233
239
210
171
123
224
121
121
263
112
112
215
170
210
194
172
112
150
182
136
187
252
163
203
150
150
256
234
257
210
196
229
194
158
172
174
123
187
174
112
150
150
208
147
167
121
158
212
256
121
123
121
232
210
136
198
240
127
208
165
121
250
240
170
203
167
121
172
237
112
112
135
150
147
150
198
228
250
112
250
150
112
232
150
226
202
165
130
263
194
170
130
216
167
121
172
192
158
167
158
150
228
227
205
233
130
208
208
162
247
170
123
115
170
217
194
170
187
112
150
128
208
121
160
172
302
121
115
157
150
201
150
178
220
186
176
237
194
147
177
150
112
121
220
112
150
112
121
194
239
112
147
226
150
181
121
208
135
205
165
225
220
112
170
121
208
260
172
203
112
167
137
233
181
224
135
208
164
240
150
231
112
201
167
203
170
150
213
186
173
160
186
199
192
121
168
202
219
150
195
241
237
165
176
123
212
136
164
239
172
203
208
112
150
210
130
270
171
181
135
239
160
168
147
208
121
164
176
208
158
123
195
170
208
160
210
205
237
211
112
168
203
112
237
121
228
181
174
172
171
187
121
247
150
112
206
137
210
150
124
201
121
231
128
181
152
172
143
192
112
150
156
193
244
150
121
208
147
135
143
112
203
217
121
172
210
242
150
176
144
202
171
146
150
178
187
112
194
112
226
112
170
228
150
112
150
172
159
220
212
258
124
176
172
174
171
179
195
212
157
112
135
176
112
208
194
220
150
137
115
228
208
302
170
123
160
112
195
208
219
150
121
201
112
167
150
194
112
167
112
232
208
112
150
156
121
121
170
115
150
209
167
112
121
258
231
150
112
172
112
210
272
128
186
165
172
121
168
229
130
176
208
181
210
167
172
144
175
172
159
232
195
208
147
203
194
167
115
189
150
176
123
172
112
237
158
167
170
175
162
150
158
302
121
240
236
112
205
150
172
150
232
123
208
194
136
121
130
194
178
121
150
237
176
208
198
239
216
172
121
121
121
176
170
170
241
171
197
115
159
194
181
112
170
137
158
150
170
208
194
250
150
150
201
112
202
123
112
194
208
176
112
165
162
181
121
172
112
121
165
194
167
208
123
112
164
205
212
236
112
189
181
170
225
121
167
158
170
123
302
135
257
230
208
147
205
195
187
186
240
172
189
123
201
181
147
208
165
177
193
249
121
150
228
112
195
208
276
112
150
124
170
171
150
217
255
176
225
167
135
128
174
182
170
160
123
194
222
196
208
193
222
209
137
195
234
150
150
195
194
112
128
208
181
121
123
152
121
299
203
121
226
245
302
205
225
150
208
156
187
112
194
169
193
172
187
170
123
204
112
171
181
216
168
194
212
150
160
194
240
187
183
174
121
226
244
190
150
150
171
208
229
201
181
172
167
150
112
121
181
215
112
210
167
172
123
231
181
121
237
205
176
252
164
165
192
181
243
208
193
174
181
172
112
219
165
186
194
235
237
208
182
213
112
208
112
121
265
195
228
168
159
222
208
193
176
150
121
150
193
167
112
150
199
227
130
164
150
271
202
206
199
172
123
167
121
112
121
202
112
208
159
170
219
159
201
172
204
194
150
201
208
112
172
112
179
342
112
181
135
121
150
170
128
170
171
123
112
165
173
172
150
150
172
254
186
164
112
220
165
150
150
193
112
121
112
137
150
177
165
146
135
189
220
239
115
202
121
121
158
239
150
226
181
192
171
121
202
186
160
130
215
137
158
187
187
208
171
255
172
170
189
172
240
167
121
214
180
181
210
194
231
208
121
147
217
212
112
174
194
130
167
231
167
150
170
144
167
128
112
137
275
187
170
190
168
112
150
194
123
121
121
250
187
176
260
302
224
228
168
130
167
202
172
171
135
193
170
159
112
167
112
206
112
150
121
210
208
167
228
172
215
165
187
145
207
150
208
167
207
208
208
121
255
167
250
264
195
194
167
121
208
186
155
150
206
193
179
202
276
112
112
206
222
208
225
232
159
181
147
150
210
143
179
121
237
112
121
208
135
150
205
121
212
208
121
208
187
166
186
150
211
195
181
121
194
210
198
223
208
156
194
112
121
176
181
208
199
232
196
136
215
150
190
199
150
192
193
123
216
235
210
159
208
193
167
172
164
158
208
143
181
121
175
182
239
189
168
192
137
196
243
190
203
232
212
121
143
208
181
167
172
112
171
218
121
227
150
250
171
150
123
208
193
167
172
121
150
172
150
186
176
173
258
165
208
135
208
165
167
226
121
171
121
156
159
203
268
112
121
213
147
157
197
230
239
208
150
255
150
171
121
150
112
174
203
158
112
121
176
176
158
208
208
123
194
233
202
217
121
208
112
217
172
115
228
208
210
202
199
231
172
270
177
123
115
177
132
137
150
112
184
121
164
187
187
158
167
150
162
121
150
150
277
112
150
218
150
112
195
171
150
208
150
112
181
121
124
167
167
172
172
121
203
137
170
266
150
208
150
168
147
121
237
181
202
282
172
176
172
165
172
193
150
121
172
172
186
239
254
150
219
158
112
205
164
112
165
195
112
173
121
121
121
212
179
228
263
195
121
167
135
276
242
172
188
195
167
112
159
171
156
161
170
228
136
210
215
196
121
121
186
167
150
167
194
137
232
170
112
112
175
150
150
121
115
112
219
237
186
156
208
121
150
121
239
230
112
112
171
165
240
208
167
218
194
198
171
123
194
176
208
178
202
218
174
135
220
192
208
123
201
193
158
128
121
165
168
121
196
167
112
112
112
164
157
167
150
177
168
121
187
147
164
112
250
112
164
184
112
208
167
136
167
170
150
147
201
170
243
159
150
198
128
121
260
121
112
208
202
204
124
194
176
170
208
256
167
195
176
177
228
178
250
210
170
231
112
181
228
170
171
238
112
121
228
150
202
112
115
172
150
150
175
112
150
193
192
121
158
187
130
121
242
165
181
147
193
167
112
164
124
121
181
170
121
205
121
150
112
223
150
195
231
137
130
230
121
167
216
121
150
164
210
186
225
201
112
121
195
150
208
219
158
173
150
192
150
194
167
167
238
176
150
236
112
228
121
194
252
121
230
198
181
121
115
220
121
208
164
228
205
136
165
208
147
112
181
202
193
150
123
192
121
121
167
143
231
181
160
229
167
219
208
302
135
123
215
150
192
150
202
143
112
240
112
165
170
208
170
168
234
243
263
150
112
208
247
150
186
137
112
171
112
187
121
150
112
172
150
112
136
219
223
239
193
150
240
208
112
220
150
150
237
237
150
150
208
112
167
170
187
228
176
165
150
236
181
209
220
178
150
112
112
172
342
158
175
165
123
150
150
170
208
165
150
136
287
121
112
204
167
115
150
167
121
150
115
201
176
150
227
253
250
158
274
121
205
112
286
194
112
170
228
150
186
158
216
123
112
171
167
210
171
150
194
121
220
123
228
195
172
121
144
171
150
208
150
202
258
274
177
150
213
205
255
195
186
115
219
170
243
243
150
135
167
170
193
121
187
181
212
208
121
112
115
112
228
176
158
208
112
150
176
268
231
214
226
112
121
172
121
150
150
121
215
149
150
160
150
112
164
186
121
160
208
243
176
237
121
263
205
225
112
167
123
202
277
194
218
112
219
171
164
174
187
170
167
236
212
172
112
135
130
150
174
233
157
168
226
200
176
170
187
208
239
150
123
302
250
115
192
164
208
158
194
112
121
131
193
186
115
112
167
208
121
237
256
156
150
175
150
121
195
202
152
170
185
210
181
112
219
150
115
112
216
237
181
115
207
136
128
137
203
236
189
157
173
112
212
211
208
173
150
137
194
223
226
158
156
147
197
193
195
150
112
158
150
170
194
176
164
121
121
158
123
121
112
192
170
186
208
115
173
150
202
112
123
182
228
135
171
150
223
150
123
195
167
174
112
121
165
167
156
112
194
150
178
202
176
233
206
200
194
194
167
185
176
170
112
171
112
214
112
174
171
212
208
160
121
121
150
150
150
159
167
121
177
135
193
172
171
112
172
171
121
195
112
150
150
181
212
201
217
121
112
208
184
137
220
112
225
297
167
201
167
147
112
232
121
181
112
135
150
202
150
121
186
194
243
156
205
112
112
162
121
177
150
136
123
135
112
207
172
186
128
150
150
187
194
186
208
115
302
231
112
225
171
172
250
112
121
121
135
112
208
193
121
150
172
201
171
165
214
208
230
170
229
239
250
181
214
208
208
156
172
136
176
167
165
172
123
228
150
170
186
302
150
124
250
208
212
248
115
121
199
121
203
201
228
121
235
150
123
186
206
229
213
137
172
213
112
112
208
112
130
121
219
225
112
170
136
194
121
167
121
228
150
160
208
228
209
150
208
121
112
182
187
135
228
194
121
229
121
128
250
203
137
229
150
279
164
241
174
243
150
112
177
135
172
112
121
112
218
242
233
168
150
121
275
150
195
208
112
112
167
123
170
214
167
181
176
171
217
150
112
136
275
121
121
112
130
112
176
170
165
227
135
208
112
216
121
228
231
263
170
271
176
176
194
112
112
231
208
112
230
208
183
170
208
165
136
237
167
191
158
158
136
147
150
208
112
167
208
213
150
152
208
150
181
112
168
150
158
112
201
212
172
170
121
123
172
213
172
176
217
137
128
160
178
172
186
181
181
137
150
112
164
121
165
172
121
172
115
127
172
212
228
194
193
286
203
160
123
137
223
193
123
187
152
176
199
239
150
171
181
176
124
150
167
147
250
137
112
121
167
247
244
141
208
171
123
165
121
209
112
212
208
206
253
164
150
160
203
243
167
112
172
112
172
121
112
112
175
150
170
274
121
207
195
123
203
123
164
147
175
208
208
112
150
198
207
147
208
208
201
167
170
171
170
115
150
181
208
167
208
123
172
121
232
177
170
150
175
172
150
112
112
181
112
181
150
193
193
205
195
208
150
150
135
176
121
194
150
112
121
112
197
225
186
145
137
121
279
189
171
166
137
250
112
159
147
217
123
208
166
150
231
121
239
115
150
121
228
170
150
177
150
226
187
208
112
240
276
172
194
226
219
250
231
161
217
208
233
181
208
182
195
150
115
244
121
121
176
202
112
112
123
168
213
241
177
150
201
210
187
121
186
208
184
135
135
112
194
239
150
202
240
112
152
172
215
175
172
121
172
239
123
137
207
164
130
218
208
112
302
203
171
146
217
208
201
171
112
220
171
167
121
346
159
172
150
150
195
147
160
150
172
128
217
228
174
198
135
135
187
220
202
150
265
121
135
186
150
150
112
193
234
152
112
150
237
146
203
112
135
115
112
172
208
202
135
177
150
124
131
135
202
250
150
227
187
121
218
112
172
121
236
167
123
243
172
311
220
112
167
112
135
178
136
124
121
208
263
175
237
167
234
123
217
181
161
136
198
218
208
137
189
219
150
112
121
177
186
203
167
208
205
231
176
121
224
177
179
202
123
201
150
170
193
112
255
208
170
202
167
216
112
158
179
210
112
209
203
112
228
143
208
201
207
201
121
121
239
136
112
112
112
150
121
196
219
136
165
172
121
150
216
145
137
220
167
135
186
160
123
123
186
192
168
130
190
192
268
150
115
176
236
137
150
112
150
194
112
172
172
150
217
171
193
130
189
237
282
205
194
121
121
208
147
190
130
202
121
124
150
228
168
137
189
232
174
167
112
212
150
112
150
124
170
193
150
186
209
170
195
124
194
112
156
201
121
121
150
112
186
160
112
172
150
187
150
150
124
112
121
150
177
112
112
172
121
210
150
202
121
172
171
123
233
171
236
194
136
112
171
159
208
121
112
112
194
206
121
177
128
167
238
171
112
228
152
172
167
220
217
147
112
167
194
226
147
172
112
135
208
137
112
112
212
177
240
229
266
121
187
112
112
167
217
112
239
208
184
208
135
156
255
194
225
186
262
123
135
171
170
150
201
121
202
243
170
121
121
218
121
150
171
170
121
172
115
208
202
240
192
112
220
121
121
121
205
115
112
187
170
147
167
194
212
170
225
237
208
227
112
234
172
208
150
112
150
173
121
240
150
184
203
186
150
150
156
112
121
176
159
171
170
212
210
181
170
123
139
171
259
208
177
177
176
187
186
181
220
112
229
185
187
123
194
121
239
136
229
195
135
172
167
208
208
233
112
212
165
187
237
150
228
159
238
194
181
208
167
208
164
176
112
150
201
195
165
150
123
197
193
181
232
170
158
193
189
139
202
210
199
150
150
162
184
259
175
121
187
256
112
247
112
203
150
231
194
150
165
165
195
208
257
228
217
208
171
265
205
208
160
237
213
200
164
112
192
150
236
147
208
170
208
150
168
150
121
121
255
112
172
167
172
265
152
170
205
112
123
121
123
121
217
150
208
112
176
193
112
150
167
237
205
218
172
202
172
112
170
112
150
112
167
247
164
136
209
150
121
157
194
121
235
228
112
156
160
150
121
150
150
201
172
206
208
186
150
176
170
150
172
121
194
167
124
172
159
174
198
187
150
115
147
137
150
196
167
177
115
121
150
150
212
150
182
123
229
172
185
121
121
182
182
112
232
121
112
171
167
112
112
194
165
152
170
195
172
170
121
207
208
163
226
121
171
187
201
208
208
255
112
174
207
112
201
121
172
170
112
150
112
150
112
112
194
186
162
150
152
137
150
218
183
124
170
121
123
121
165
187
219
176
170
255
121
170
112
226
132
112
216
121
208
150
167
167
137
121
170
302
121
124
115
150
219
158
165
207
115
198
130
112
240
165
195
123
150
165
208
213
170
264
143
150
181
170
179
228
181
150
121
112
228
121
150
208
271
121
121
123
167
158
194
201
208
124
224
135
237
208
219
130
181
195
121
208
112
250
112
150
181
167
165
200
115
187
168
130
147
150
232
121
194
124
150
158
237
112
250
208
264
194
181
170
231
219
237
121
165
112
121
176
167
227
112
214
124
135
195
225
147
192
194
112
112
152
228
186
152
166
150
150
203
112
232
205
176
121
194
247
150
220
202
112
229
112
171
150
165
112
194
167
150
112
159
174
225
165
193
158
150
112
164
203
177
189
171
112
172
200
121
121
112
208
150
150
150
150
150
172
121
212
233
167
218
208
182
193
259
167
121
172
208
181
135
194
150
174
223
170
193
167
115
176
219
150
150
194
196
176
181
209
158
239
208
192
170
150
173
164
121
123
194
167
195
165
237
250
212
229
167
171
203
177
152
159
121
150
112
112
231
186
217
167
136
123
170
208
167
170
186
150
181
172
228
181
187
167
162
242
272
262
160
112
172
228
112
257
243
250
225
137
123
167
150
177
228
164
236
180
228
167
158
182
123
229
150
201
172
250
136
123
194
150
217
195
217
121
194
230
186
150
223
226
194
152
112
150
137
112
194
181
112
167
211
136
207
121
139
201
208
192
207
167
168
170
268
160
212
177
263
112
208
212
187
171
150
150
177
121
121
175
238
121
112
165
208
171
239
208
170
167
186
136
167
150
198
167
275
146
172
181
172
123
145
135
112
150
202
208
171
150
112
158
228
168
231
213
150
158
175
121
212
193
208
240
145
176
218
165
195
208
231
176
193
167
176
112
150
186
202
255
250
194
240
181
112
135
167
208
192
208
216
223
150
121
150
171
190
281
242
150
278
170
150
112
184
210
121
135
121
172
137
170
176
203
143
177
210
150
150
168
157
199
187
172
171
205
253
218
150
174
162
160
112
181
237
229
223
167
112
172
195
172
121
158
210
135
234
137
170
181
160
160
112
135
212
123
150
210
178
194
121
247
239
174
197
220
228
187
181
202
192
121
170
112
136
121
237
121
208
167
112
170
184
205
265
112
121
171
150
172
158
234
112
172
228
167
123
112
170
202
164
181
150
144
208
112
112
239
172
150
112
150
137
258
121
232
209
112
147
235
229
214
152
231
197
112
121
195
243
136
237
150
186
170
124
208
170
122
172
179
193
201
195
150
115
121
121
171
124
121
215
167
112
208
202
112
230
112
150
123
159
136
121
216
167
112
150
207
150
135
167
209
150
121
121
112
207
112
171
194
208
212
194
167
165
208
159
186
176
137
150
174
206
220
242
196
171
112
112
255
170
121
202
217
177
136
176
112
150
175
121
150
121
239
172
181
167
172
167
171
121
121
188
212
171
199
167
237
150
224
172
192
184
171
194
208
121
229
150
178
146
171
150
112
112
150
208
200
174
157
121
150
179
121
219
123
179
150
112
150
172
123
181
115
172
150
150
215
228
181
167
121
205
167
255
201
123
150
158
150
112
168
181
112
162
237
181
172
280
112
121
176
186
121
181
194
181
150
160
156
121
261
167
170
208
159
172
130
172
124
228
222
150
112
167
136
220
206
171
195
181
190
171
150
150
172
220
172
167
130
127
255
186
150
194
207
165
112
172
170
150
222
130
172
172
172
150
121
172
203
196
150
137
168
150
112
174
201
112
208
211
121
160
121
150
233
174
112
121
181
123
208
150
203
181
112
152
137
112
112
165
167
167
185
150
228
177
181
208
302
202
130
112
233
123
194
170
229
263
239
164
160
240
181
121
250
187
194
150
208
171
228
150
150
115
195
237
156
195
208
158
302
121
175
195
146
112
115
173
121
150
165
222
137
112
177
196
171
172
137
186
150
147
186
170
217
194
137
225
228
229
143
165
150
124
197
123
167
210
167
187
175
239
121
112
194
201
172
172
233
171
150
137
170
228
208
193
228
208
168
192
172
190
255
156
136
147
250
187
136
121
208
112
192
123
176
176
170
150
128
205
211
150
219
159
154
177
170
173
150
194
121
150
121
172
165
171
150
233
112
233
239
123
135
250
112
121
211
150
150
177
208
201
176
121
176
112
177
193
176
121
179
177
158
135
158
186
226
172
193
172
159
112
121
165
208
137
203
171
192
255
206
237
150
137
135
203
239
150
193
172
172
192
121
112
172
208
112
150
167
204
150
161
158
167
150
170
112
170
216
150
135
150
186
121
147
147
147
137
172
255
121
150
218
165
112
112
139
112
170
234
135
112
123
193
115
254
208
200
147
175
165
112
150
219
143
233
172
121
170
198
187
121
112
179
157
199
195
112
193
184
243
137
121
150
212
208
150
234
112
112
135
194
136
208
244
172
176
215
233
176
172
175
144
121
150
219
150
150
112
123
159
176
121
210
176
150
172
226
176
121
170
141
137
172
167
150
123
121
121
208
181
215
177
137
164
121
112
150
179
121
153
171
150
156
170
171
121
208
222
121
167
156
121
226
150
121
212
206
121
233
181
284
121
167
150
121
175
194
208
176
159
194
121
175
192
123
167
170
170
237
172
186
265
143
130
150
263
172
168
194
201
166
227
230
167
250
167
150
232
222
186
199
150
150
218
121
167
112
177
218
237
195
112
150
164
171
172
176
233
150
228
167
167
121
237
165
195
210
208
171
136
165
170
157
208
237
171
194
203
231
195
172
177
130
121
207
220
156
195
195
121
205
194
176
123
174
150
143
121
198
112
186
235
177
121
187
112
181
208
181
192
195
136
147
184
121
187
196
172
184
208
112
136
203
187
121
121
194
236
150
196
263
150
123
150
112
170
135
206
202
235
275
156
172
170
124
135
214
112
235
176
220
112
208
112
208
112
186
199
150
170
121
176
204
213
181
170
208
231
150
213
137
150
181
150
112
112
208
194
194
195
150
167
194
214
172
226
171
208
186
170
215
128
172
150
203
135
150
210
123
123
258
167
209
150
123
245
194
242
194
204
228
150
112
181
112
150
213
200
264
170
210
186
164
150
158
175
150
152
121
170
177
236
212
150
112
165
160
220
206
194
176
164
172
208
123
208
171
150
137
112
160
160
177
211
165
150
123
202
171
226
228
115
121
150
176
250
189
121
112
112
250
196
164
207
312
112
167
272
165
193
194
237
150
177
147
165
172
202
147
112
161
234
194
112
186
137
193
176
112
112
150
150
128
205
170
204
208
123
181
208
174
167
220
215
137
176
150
147
210
210
170
112
172
150
135
176
147
187
167
208
193
121
220
150
150
199
121
172
172
112
137
149
112
150
150
171
208
150
150
158
195
187
192
121
121
150
112
121
150
150
156
172
150
115
112
210
150
121
136
170
208
202
204
152
207
150
112
187
112
274
174
192
150
146
177
147
178
276
150
256
194
167
194
236
167
179
158
112
229
218
174
150
112
112
208
210
176
112
162
168
157
226
150
208
112
236
121
186
112
205
150
170
263
150
193
130
178
174
121
213
158
220
150
181
182
171
228
172
150
177
112
231
123
231
121
228
112
112
112
123
172
172
121
121
171
172
167
147
172
176
193
121
219
194
181
171
174
146
172
112
121
205
215
176
139
209
182
112
171
150
172
186
150
193
231
239
123
171
228
160
121
172
203
228
150
157
112
176
112
121
228
135
121
194
150
112
172
172
171
167
112
123
150
241
162
123
150
195
204
172
208
231
112
241
150
150
172
208
180
150
195
192
150
194
210
121
121
208
144
165
150
112
112
223
112
128
137
210
171
170
158
150
112
232
204
165
124
123
167
208
212
177
172
230
112
127
171
170
167
167
150
170
121
172
242
136
130
182
176
194
150
165
209
124
164
172
225
187
171
241
112
208
181
167
135
137
150
231
112
130
205
121
186
208
176
112
124
243
124
208
172
123
121
201
112
139
150
172
176
176
112
121
194
186
123
150
165
225
150
210
226
208
158
213
202
135
144
160
124
204
186
194
176
186
123
171
112
112
181
121
239
177
123
121
158
231
150
177
195
194
250
202
208
158
210
121
194
238
193
194
170
135
194
172
172
170
112
136
121
146
112
223
229
187
123
232
210
208
207
168
166
186
158
203
194
115
150
186
112
177
112
181
150
192
160
210
160
208
115
144
150
194
112
170
172
150
171
208
121
208
181
165
164
208
187
226
197
167
240
254
121
231
158
170
165
150
121
147
238
189
171
115
112
170
203
121
112
208
186
193
208
150
121
208
214
163
150
234
233
210
192
135
115
228
123
226
150
121
150
168
203
147
240
147
202
201
121
121
150
228
250
203
175
188
156
165
179
172
112
128
184
208
160
112
172
208
112
181
220
112
121
225
112
170
187
112
115
150
193
213
201
227
128
150
210
172
150
150
170
112
192
171
201
150
282
248
123
147
115
226
175
164
165
167
167
150
121
121
205
112
181
112
124
164
135
172
150
207
141
208
181
172
170
167
172
186
112
206
202
167
112
231
248
241
171
233
250
121
205
172
136
147
121
194
152
222
150
170
150
130
112
130
150
123
201
121
124
121
276
231
167
226
156
167
171
167
158
150
176
137
231
112
209
176
167
218
112
177
229
192
162
187
150
181
228
230
164
175
174
208
112
115
243
112
112
112
170
181
115
150
112
202
187
195
171
173
164
112
147
167
156
137
193
182
194
150
242
257
174
220
220
112
232
112
187
207
207
121
121
219
170
123
176
164
187
202
173
147
167
165
167
121
202
172
187
195
150
136
172
228
208
237
208
174
136
164
195
112
225
112
176
164
226
152
203
115
144
112
239
239
112
194
112
121
233
170
186
196
112
150
121
208
162
165
170
112
159
171
261
257
121
195
150
171
203
124
228
112
208
156
121
187
172
237
255
167
196
276
115
172
135
228
136
208
279
237
112
219
202
150
165
121
150
195
137
112
150
160
121
160
208
208
176
239
112
150
205
167
250
112
137
112
208
195
172
121
237
150
176
203
171
147
208
167
194
121
112
112
112
231
237
174
208
171
302
135
165
167
227
192
112
181
171
239
207
150
173
169
150
121
240
250
150
172
231
174
136
165
181
229
167
219
150
171
208
121
168
239
201
194
150
193
208
121
185
112
150
115
174
121
171
167
150
150
190
172
220
152
135
112
218
174
150
192
226
210
150
150
123
167
165
112
226
123
112
175
194
112
210
197
206
194
228
208
255
150
255
192
176
112
189
171
150
199
210
189
195
112
179
212
195
172
208
121
217
208
208
115
247
121
150
112
176
171
150
150
207
150
150
208
220
167
276
206
121
171
124
170
201
112
202
208
124
150
121
170
112
121
121
216
147
170
121
112
158
121
112
121
167
136
121
250
160
150
150
115
194
147
130
161
224
208
174
112
167
202
193
240
136
172
220
208
186
176
121
201
143
175
156
159
115
176
226
150
121
210
150
115
193
171
150
227
243
121
123
174
112
121
189
157
208
263
153
121
208
112
150
250
121
209
150
150
172
121
208
124
112
137
167
186
203
121
174
135
150
218
112
170
250
194
115
171
150
112
192
208
123
150
159
172
209
112
167
250
112
121
181
220
150
121
172
112
186
121
173
115
240
147
189
225
130
208
170
194
150
159
193
208
165
172
123
112
172
150
170
121
197
226
181
123
112
134
165
203
121
208
226
172
208
112
115
121
112
215
193
206
150
170
112
112
158
167
175
173
218
175
187
175
128
150
123
121
170
173
195
189
208
137
135
158
229
239
194
224
136
171
187
187
115
121
243
157
150
250
208
195
121
121
150
150
177
226
204
167
167
255
224
121
115
208
130
170
194
150
228
112
167
112
112
181
150
150
134
156
150
208
210
150
112
213
121
124
135
150
165
112
195
210
177
194
217
219
121
228
143
206
121
170
267
152
150
228
240
217
136
115
130
195
168
112
164
226
150
200
186
150
249
236
121
184
239
112
121
121
196
228
168
121
121
177
156
219
150
201
176
237
206
202
203
112
121
220
195
226
115
179
165
232
194
247
177
172
190
194
255
194
210
232
175
159
214
121
181
262
193
147
121
123
121
150
150
115
210
181
194
205
156
208
210
172
167
217
121
152
208
176
263
164
245
179
171
150
172
112
167
218
171
123
121
204
223
208
226
176
170
170
167
172
208
176
159
202
202
208
264
181
123
210
187
170
194
205
256
204
208
167
121
250
137
183
219
193
121
165
172
150
279
176
130
112
266
150
218
172
152
150
242
167
225
237
160
171
210
194
121
121
137
205
150
121
189
208
187
150
121
121
172
198
121
158
259
208
175
233
171
112
150
144
205
112
165
112
213
164
201
112
121
164
112
195
208
112
121
208
210
150
170
170
176
121
172
124
202
131
167
150
179
112
172
112
115
184
178
124
170
181
171
121
302
238
112
167
186
112
150
121
121
217
229
135
263
171
150
150
171
201
172
121
170
249
150
195
124
170
121
121
208
167
172
172
165
173
143
192
121
175
165
202
243
162
176
127
112
195
158
112
175
214
121
236
158
229
172
112
237
187
167
121
216
121
225
112
137
179
164
150
171
181
201
170
123
194
121
228
121
172
112
158
158
193
150
158
212
234
170
159
171
190
226
217
121
164
171
135
193
228
121
172
207
237
234
181
159
112
255
209
174
202
233
241
150
184
121
177
208
225
195
208
208
208
184
181
158
187
208
135
231
167
202
123
167
202
210
212
170
160
123
136
166
205
150
115
208
136
172
121
112
112
187
186
206
143
165
172
170
207
167
177
172
150
201
167
121
196
136
192
121
121
195
150
121
208
112
112
185
165
112
185
186
193
170
240
178
112
170
162
112
190
152
208
150
213
171
210
208
123
150
172
184
150
239
167
112
121
150
208
210
124
212
176
136
112
208
212
215
150
121
121
210
171
158
150
164
121
261
112
150
124
136
115
172
112
156
167
124
194
219
181
202
219
112
112
150
241
150
115
121
299
208
115
225
135
225
203
160
145
123
208
165
112
172
208
238
112
121
172
177
176
210
150
172
194
162
230
176
112
202
112
121
158
150
121
150
123
156
157
208
196
167
175
235
208
164
167
168
181
194
186
276
150
150
172
208
194
186
123
135
150
171
258
208
150
170
231
187
170
112
143
150
208
194
112
150
150
135
174
177
228
186
112
167
172
115
112
170
143
208
201
115
150
150
206
180
167
202
203
150
170
170
208
183
171
170
159
136
124
150
112
121
208
205
172
226
150
112
150
193
158
147
124
123
227
112
266
150
144
150
195
201
229
250
121
121
239
112
137
121
112
193
292
225
171
208
152
150
150
208
255
150
179
181
121
181
112
171
130
172
203
137
128
203
231
112
237
112
170
214
172
121
210
231
112
170
174
150
112
168
123
163
174
156
255
159
115
112
170
121
171
166
208
276
204
229
235
128
233
112
208
121
214
206
202
210
171
211
121
219
207
152
225
239
171
181
170
121
112
172
176
187
150
150
172
193
172
187
208
150
123
187
208
229
194
165
170
167
166
176
178
163
121
135
243
172
150
255
195
212
265
112
240
172
195
150
121
174
112
150
121
179
112
164
170
177
167
123
171
202
112
208
121
196
172
208
231
205
255
112
150
194
112
237
121
170
164
112
181
121
184
172
150
112
112
112
121
112
154
171
208
208
168
228
201
193
172
225
121
228
167
196
150
143
174
150
176
150
170
201
210
167
112
258
208
212
112
112
112
150
238
158
121
121
220
208
165
150
170
150
121
186
219
147
208
150
172
189
186
195
210
170
157
210
239
112
115
152
201
207
172
175
203
112
150
112
209
241
176
158
172
194
165
186
201
121
123
226
181
172
245
171
167
121
246
165
112
121
112
192
121
171
165
158
243
128
170
172
150
150
220
192
150
150
115
135
172
193
112
254
203
170
207
121
158
150
172
174
228
228
176
150
150
170
192
258
121
187
220
171
165
121
150
143
150
137
278
181
112
203
150
130
136
188
207
112
112
172
202
112
150
226
179
165
165
136
167
204
121
181
121
165
173
136
210
218
172
121
194
139
112
172
137
231
199
150
231
177
171
257
150
226
205
137
136
147
112
150
202
208
112
123
217
150
171
219
136
208
150
146
231
215
202
208
208
177
167
199
123
248
139
179
164
123
150
187
228
217
121
201
112
121
150
172
192
121
207
193
215
112
121
194
208
193
250
150
135
147
167
164
150
194
209
137
181
150
121
176
226
160
164
220
176
172
167
167
172
171
214
197
195
136
239
150
121
187
172
167
170
208
164
208
176
170
208
195
228
172
168
121
258
150
121
160
179
170
137
195
208
216
186
150
121
150
172
239
150
172
130
232
123
193
137
112
205
123
210
121
184
147
159
121
150
170
115
150
150
208
194
121
170
124
172
121
145
181
241
205
227
177
150
239
121
150
193
112
171
167
172
147
207
137
112
231
121
214
150
156
160
172
150
160
170
159
172
112
175
212
150
186
193
152
202
220
208
136
150
208
208
167
171
174
228
150
121
147
165
207
123
259
150
195
228
121
202
123
232
205
212
161
170
181
229
167
193
150
202
194
167
160
147
187
182
121
179
198
208
201
135
123
212
188
279
150
232
164
187
137
201
124
158
194
124
150
228
150
208
121
225
165
195
177
302
171
150
239
228
253
150
176
238
121
202
150
237
186
112
121
201
194
115
150
205
250
135
112
150
192
150
235
233
160
137
205
112
150
171
158
231
137
208
167
238
208
167
168
115
121
112
172
150
192
170
150
176
115
213
172
164
165
112
167
115
205
235
143
158
147
219
182
208
167
243
195
165
231
192
189
112
170
194
278
187
201
256
168
112
203
228
259
135
255
135
150
150
112
171
152
176
136
238
123
174
203
123
202
171
241
158
121
121
194
208
150
144
115
219
281
187
226
158
257
164
150
238
239
128
206
112
186
190
187
165
195
181
177
150
123
228
171
172
150
112
121
208
172
186
167
194
230
176
121
203
159
202
112
239
202
112
209
212
201
123
208
208
170
112
121
156
187
228
121
212
121
177
171
193
172
201
112
172
123
186
165
164
208
150
232
137
182
208
193
171
278
156
190
208
167
208
112
217
193
174
150
150
150
209
167
170
202
112
150
150
130
112
170
150
203
205
202
152
207
172
158
181
228
268
112
112
202
130
223
121
171
172
204
172
150
196
247
172
123
208
112
206
255
150
239
112
245
112
150
203
145
232
150
121
276
209
112
231
139
112
237
210
186
137
208
123
121
228
112
165
172
196
208
112
195
121
208
112
302
227
208
121
172
202
158
112
112
112
112
123
172
208
208
208
186
150
121
246
205
175
270
179
150
194
174
167
302
165
167
210
272
196
121
258
112
210
158
135
112
199
206
171
177
168
170
136
150
172
135
170
181
170
150
150
150
144
121
115
150
171
150
147
165
135
121
150
175
167
228
150
147
281
174
172
250
218
159
186
172
187
187
150
194
121
150
208
112
150
112
144
159
172
160
121
137
150
130
170
121
121
201
167
150
112
194
210
150
197
112
220
145
150
130
276
112
225
124
123
187
156
168
123
168
197
150
112
179
194
150
170
164
181
172
212
202
226
167
194
150
194
174
193
195
181
171
123
193
210
150
112
150
167
208
167
208
170
123
194
164
172
150
239
201
170
112
158
121
281
159
198
225
112
112
172
150
186
228
170
164
121
186
150
115
217
130
171
121
217
231
176
237
302
112
158
121
121
160
150
203
186
171
123
159
242
121
187
150
176
202
150
228
150
208
165
181
150
121
121
175
218
150
170
179
112
171
217
147
181
177
302
150
186
121
250
121
123
150
208
176
210
201
194
250
147
150
172
176
223
121
172
158
208
176
112
170
194
202
143
164
135
215
246
217
250
194
112
226
170
124
212
207
124
171
208
228
230
150
165
171
194
212
210
210
150
150
181
112
121
167
150
135
184
147
201
178
112
243
165
182
172
170
172
158
150
276
186
171
170
202
208
162
128
179
167
225
252
115
177
228
176
171
243
247
172
123
152
196
150
172
150
214
170
213
121
194
150
174
194
228
220
150
214
235
172
153
181
170
220
258
172
228
112
212
239
181
139
203
147
208
186
213
112
172
112
171
160
112
150
159
167
150
204
150
228
243
121
302
121
164
253
208
179
150
205
121
150
172
195
208
157
179
181
197
170
211
166
176
208
112
232
167
184
278
158
121
150
177
112
159
137
181
208
174
215
208
121
170
232
210
156
194
121
265
194
177
174
121
228
112
124
205
194
170
193
175
159
208
137
175
121
202
245
135
231
150
136
112
137
172
220
171
186
156
150
176
150
208
186
167
170
276
204
150
208
172
208
121
181
150
165
121
193
228
231
264
150
172
205
172
215
242
112
231
223
202
123
210
271
198
205
150
112
112
121
193
135
150
136
237
172
123
115
208
219
195
136
275
187
171
187
181
150
156
168
210
167
128
150
112
171
150
121
112
245
181
112
158
225
208
112
181
170
146
136
112
179
240
150
189
181
112
210
112
237
202
203
144
172
150
121
220
272
257
211
195
165
193
170
167
170
161
112
167
150
136
156
225
228
232
147
228
165
235
150
112
167
229
136
170
194
112
123
257
195
231
121
172
123
159
173
121
121
124
150
112
121
121
170
173
182
184
255
279
150
167
112
150
150
150
121
237
150
123
188
170
123
170
121
203
121
206
205
171
237
231
150
121
219
164
123
121
174
204
302
181
233
177
150
208
150
177
121
175
153
186
176
121
150
135
207
150
180
124
121
192
159
123
195
208
112
255
150
137
212
167
150
121
228
135
225
157
172
150
167
188
229
123
255
208
203
158
150
220
170
194
112
177
203
112
209
198
112
124
176
208
186
167
172
226
150
112
205
121
115
150
186
171
167
150
208
176
123
175
172
156
181
171
112
192
172
150
150
150
112
208
208
208
165
233
302
121
112
121
172
137
167
194
136
167
150
123
189
150
195
150
210
159
187
208
150
172
219
150
150
165
160
179
167
121
209
202
172
150
203
121
194
193
202
224
170
170
186
226
172
167
112
195
232
195
150
150
121
240
112
187
121
123
208
243
210
278
207
210
150
159
184
150
150
150
135
239
210
150
167
226
211
121
112
121
167
176
167
172
121
171
123
124
228
212
199
128
220
176
150
170
170
112
255
237
123
170
186
237
184
194
235
172
218
237
137
202
123
237
186
228
250
203
172
275
112
207
202
150
208
170
150
123
121
212
176
225
272
193
136
170
250
121
218
198
172
208
135
160
121
112
203
165
231
176
112
130
121
189
189
233
165
217
172
208
228
193
250
203
150
231
112
176
220
165
167
167
170
237
228
121
253
167
226
269
181
123
147
213
202
240
250
150
136
152
170
150
158
186
150
136
115
112
168
237
112
123
167
124
172
220
112
167
115
150
202
192
130
121
172
165
235
231
150
123
121
150
226
202
201
160
175
170
167
224
172
146
190
115
123
186
205
208
208
172
112
121
258
201
137
150
186
196
160
147
171
226
172
194
112
171
172
150
210
208
135
121
112
201
214
226
112
171
176
156
150
263
150
231
302
172
203
349
121
168
150
112
172
194
219
186
203
208
271
143
164
112
150
181
123
229
225
177
135
209
237
121
302
181
176
112
150
145
172
112
194
192
176
208
194
150
177
171
150
200
170
172
276
123
208
239
136
112
194
250
121
198
150
171
216
176
144
208
219
212
112
201
228
150
168
115
227
170
181
251
207
208
131
205
172
202
165
203
194
165
178
150
158
255
150
150
194
208
193
176
255
186
204
112
165
150
181
217
150
210
112
150
150
217
186
147
121
187
231
170
194
171
302
161
187
211
208
156
256
208
150
150
206
121
250
121
201
112
167
255
173
123
167
212
121
195
208
234
187
178
172
210
172
172
170
121
239
217
170
112
198
163
267
208
157
150
193
115
112
167
214
150
231
150
170
136
112
112
207
161
139
121
139
161
121
210
174
121
121
115
165
253
112
172
112
193
137
202
208
146
194
231
123
174
150
112
208
186
220
194
194
171
210
165
135
167
187
159
181
239
205
115
147
123
112
170
135
112
202
150
123
150
172
150
172
174
112
165
150
258
176
112
208
112
211
177
121
124
208
167
112
150
167
203
159
112
130
255
162
172
150
150
112
235
150
181
230
159
187
237
112
272
128
167
175
208
204
164
193
203
231
130
205
112
150
212
172
150
245
147
156
112
136
208
178
208
222
152
170
121
216
167
196
194
170
226
218
255
165
170
135
247
167
121
150
172
172
205
167
121
195
172
112
172
150
121
192
217
172
170
302
150
167
170
150
150
172
195
112
156
162
121
165
121
187
112
208
197
112
137
123
136
112
165
112
270
194
150
240
170
121
123
121
150
192
150
176
136
212
146
228
156
115
202
220
112
121
150
123
177
170
121
150
209
189
150
181
228
208
112
123
112
121
174
255
167
174
224
150
208
172
123
208
164
172
175
160
201
121
228
275
242
135
112
181
210
135
128
170
121
194
150
123
225
160
194
181
263
150
150
112
192
218
228
168
150
214
161
208
165
201
121
112
265
181
226
150
112
165
237
112
179
205
165
112
240
231
164
112
135
201
130
168
167
194
159
208
152
170
172
112
157
112
168
172
172
121
275
135
121
165
150
112
193
167
150
150
174
172
208
137
217
193
171
205
150
228
150
135
115
121
211
220
137
172
167
208
164
179
196
150
128
136
112
194
112
246
166
177
115
215
171
177
112
121
150
150
210
172
210
135
208
230
212
203
228
167
193
170
150
165
150
172
217
135
247
208
212
181
219
172
168
121
255
181
135
153
159
121
202
192
135
187
121
159
112
226
172
121
137
176
177
182
243
228
171
150
231
205
207
208
167
192
208
156
160
152
112
121
193
192
172
208
172
150
112
156
208
167
171
121
130
112
150
208
208
128
150
121
121
174
172
189
172
150
150
112
186
150
112
214
121
171
176
218
156
213
187
170
160
150
131
131
112
112
208
217
217
302
147
208
150
115
150
115
202
157
177
217
112
164
112
257
219
172
136
170
112
121
121
193
186
136
181
195
112
237
112
156
208
194
176
258
209
165
147
123
194
137
160
186
150
164
112
229
208
212
156
136
216
178
147
250
199
186
112
150
150
177
132
121
187
121
255
123
150
251
150
137
112
194
130
213
218
159
167
136
121
208
112
181
202
112
121
150
217
112
181
112
165
112
201
112
186
112
219
112
150
123
112
238
265
175
112
201
112
121
284
123
137
172
167
186
191
112
175
194
172
121
212
115
150
124
194
166
179
278
263
150
186
170
257
210
150
121
150
203
201
121
150
165
219
159
171
181
143
202
216
231
135
165
194
115
176
264
210
170
150
250
112
172
187
208
168
254
208
210
112
124
150
179
172
171
164
115
263
171
231
112
135
112
130
195
121
167
187
165
112
112
167
121
236
164
278
124
167
208
226
121
181
121
167
150
152
208
150
228
208
150
136
112
121
232
212
210
203
195
130
158
233
175
150
228
112
123
181
172
128
159
150
123
150
212
175
121
147
195
165
175
175
143
123
250
146
207
210
147
189
187
181
168
112
193
150
208
239
179
143
167
194
210
112
250
170
208
216
112
147
112
137
112
147
121
211
195
171
172
237
181
208
173
193
209
121
150
243
123
139
181
181
208
150
172
186
297
228
130
174
136
112
210
147
159
168
263
112
215
158
121
191
209
150
121
160
192
167
112
150
240
208
112
115
112
263
178
228
167
150
121
205
150
112
203
187
164
167
232
194
130
231
137
302
186
210
181
121
123
112
195
115
212
124
215
170
160
150
181
170
178
112
150
150
150
115
135
150
176
150
179
150
152
150
228
172
233
160
171
135
112
178
223
156
193
165
171
121
233
145
121
168
201
172
150
136
240
170
150
172
150
150
121
150
174
193
237
193
150
147
208
235
146
150
187
171
224
165
219
170
150
181
159
208
195
167
189
217
121
239
198
165
219
176
170
150
171
123
112
121
229
209
121
143
233
150
170
162
172
208
112
164
150
115
212
258
121
112
171
195
250
244
112
234
123
115
152
294
136
208
186
181
190
171
208
194
172
167
150
212
112
228
208
208
165
172
208
194
187
195
137
176
112
124
121
188
150
150
172
115
165
172
181
219
223
217
167
181
231
178
150
112
208
171
190
186
205
161
112
231
150
203
112
231
136
150
171
171
165
121
164
241
181
195
121
187
195
121
121
121
184
205
121
168
121
167
202
265
135
244
121
172
186
172
274
167
302
177
170
234
208
112
178
150
167
194
205
164
121
170
177
112
171
189
150
172
172
112
198
251
136
228
207
150
265
220
209
172
137
232
150
209
187
174
137
172
170
112
150
112
184
208
199
135
135
121
187
240
150
197
150
150
150
121
177
194
136
167
201
189
252
172
150
160
170
185
240
167
192
124
208
168
201
172
121
150
150
150
150
203
186
135
195
167
112
238
176
150
150
228
135
123
208
203
143
186
150
176
164
170
167
121
205
147
130
208
121
247
170
170
121
203
112
195
150
224
147
209
174
135
181
172
272
167
193
223
170
171
123
121
150
242
210
165
177
167
123
216
112
145
203
225
239
239
208
130
123
194
171
237
121
239
184
179
150
121
299
123
193
121
195
170
224
181
121
150
250
172
112
112
205
208
208
171
179
150
135
186
265
186
176
176
156
150
123
199
233
176
150
208
121
171
181
205
112
176
203
231
186
199
112
208
250
208
164
210
203
168
208
170
171
211
207
187
144
156
256
201
156
212
150
241
226
150
167
150
255
175
135
150
208
165
201
167
208
146
218
201
186
202
210
165
112
164
112
171
206
177
232
167
150
150
181
167
158
256
112
150
201
232
158
255
237
302
226
167
139
136
195
170
150
223
112
212
121
177
167
121
214
228
150
174
172
206
112
150
121
124
112
190
195
170
255
179
177
172
302
207
121
170
112
349
202
209
203
236
147
147
160
121
219
112
177
184
181
150
186
208
196
195
264
150
159
172
172
167
121
193
123
121
150
124
121
115
136
208
172
137
121
167
174
112
146
112
176
171
193
144
210
150
112
176
228
121
112
112
243
172
121
186
121
203
225
208
194
137
272
150
121
193
143
121
150
158
171
167
192
112
150
174
176
150
208
158
176
150
214
217
136
228
165
172
130
171
150
152
176
160
121
172
170
202
181
186
287
194
208
150
121
213
172
123
165
167
172
225
177
150
150
136
176
229
172
112
159
239
150
171
123
121
150
237
208
202
217
212
121
170
266
112
172
112
112
194
170
112
150
212
208
167
194
147
172
302
124
164
150
136
123
244
172
170
206
228
112
195
199
302
150
171
172
121
208
238
137
164
112
197
150
263
164
208
177
130
187
112
194
147
159
208
135
194
121
172
150
177
150
150
170
135
144
195
171
187
150
208
121
206
123
150
150
165
208
165
112
220
212
150
170
201
181
112
150
123
192
167
212
208
165
165
263
121
160
112
193
203
112
193
174
172
121
112
171
121
150
115
162
150
210
208
194
123
193
201
165
158
172
172
170
112
172
237
210
112
187
137
172
112
237
208
150
123
170
150
112
210
135
161
150
150
174
171
144
165
165
242
121
158
150
112
219
112
167
112
204
228
171
121
150
181
231
112
123
208
156
208
150
257
112
190
195
112
171
260
217
208
112
302
197
208
150
121
174
150
220
172
278
172
171
205
123
186
150
121
150
152
150
160
112
236
121
208
208
150
171
112
130
112
216
170
123
254
176
135
121
181
193
243
150
222
174
130
112
231
214
186
171
203
171
121
143
176
158
171
121
177
166
208
207
112
137
214
172
150
208
150
159
121
207
150
208
190
208
194
178
208
208
220
186
165
172
121
198
112
220
121
240
208
232
147
256
231
150
242
150
172
199
207
150
186
176
115
150
112
112
219
194
212
231
121
112
150
263
220
145
201
231
194
175
211
233
112
147
300
167
181
199
172
192
186
170
172
115
176
167
159
147
160
240
223
170
187
115
196
171
112
123
167
250
186
178
123
272
217
210
210
136
121
193
150
209
150
184
123
150
167
150
136
185
171
160
219
121
165
193
237
243
210
216
202
203
177
219
202
158
150
150
112
112
194
123
179
150
139
156
200
150
202
172
121
172
121
187
176
121
112
137
165
211
112
158
257
164
205
150
178
150
150
160
150
210
229
147
121
150
121
203
209
112
112
201
167
112
159
210
181
208
194
158
170
152
121
124
201
223
150
112
150
112
121
112
170
207
237
172
171
172
121
239
170
175
156
147
219
194
112
137
171
115
123
219
147
112
167
123
121
115
150
207
130
225
208
215
152
137
121
201
167
172
115
177
213
112
195
177
171
121
208
172
208
112
170
230
121
240
135
121
144
121
112
208
207
160
150
121
184
170
152
150
232
237
150
265
170
165
165
167
184
121
112
208
193
187
195
209
150
112
150
194
121
176
215
220
221
208
228
171
121
160
150
167
150
112
121
150
112
208
174
186
121
164
197
137
174
150
205
226
172
172
172
236
168
152
181
212
226
210
222
150
194
235
237
172
205
219
112
112
123
165
228
208
165
112
220
174
228
156
121
112
144
123
181
112
278
123
250
202
112
121
121
203
195
249
184
222
121
170
176
152
121
112
150
170
112
167
157
212
137
178
176
182
250
203
112
135
160
135
237
170
194
226
181
115
237
137
201
150
168
112
144
178
209
208
234
208
208
171
206
212
186
121
208
181
190
143
205
167
150
210
170
121
170
150
150
172
208
203
168
218
150
210
112
172
150
170
170
179
150
130
171
215
112
170
150
112
112
250
224
207
150
186
136
136
243
165
136
168
201
174
121
201
150
112
112
202
197
240
214
228
170
168
170
150
170
194
187
165
112
218
112
150
276
136
170
123
112
112
258
112
275
191
270
202
208
150
230
121
231
130
165
165
220
170
176
184
218
232
184
115
176
137
167
150
170
177
164
165
136
220
150
178
115
207
212
136
181
228
188
176
250
150
171
150
181
167
167
150
124
208
237
172
112
112
121
121
136
187
208
143
121
123
194
112
195
181
161
121
187
210
150
170
112
194
186
112
172
150
170
162
121
150
202
208
299
150
182
171
112
112
205
194
112
172
212
212
165
225
112
229
187
264
191
206
181
112
202
112
233
230
135
181
214
150
234
220
234
124
112
112
208
167
130
234
150
177
238
218
194
208
112
147
217
193
234
123
112
274
150
150
193
176
172
172
112
150
194
121
235
229
218
302
175
193
150
165
302
239
135
272
150
207
137
112
150
167
207
210
194
194
272
177
147
172
201
135
136
250
243
121
194
128
207
171
210
150
112
146
150
225
177
159
194
228
208
211
262
208
202
170
173
228
174
147
171
150
228
178
112
150
178
214
228
167
172
190
192
187
217
123
195
112
167
147
170
167
192
137
189
208
210
186
210
212
160
150
150
167
228
150
208
158
147
202
208
174
172
171
150
208
192
165
208
147
195
167
166
203
124
272
123
207
112
203
159
202
171
150
250
195
185
164
121
181
210
181
208
135
202
165
172
160
135
167
123
276
242
136
121
171
167
208
121
129
177
121
179
150
193
214
112
150
150
121
150
164
231
112
150
112
150
123
194
167
165
165
171
234
177
167
176
205
208
203
150
171
237
112
176
150
242
195
150
259
208
266
201
208
135
121
231
203
170
178
297
112
121
150
201
150
176
150
208
144
150
181
167
121
187
186
220
227
220
121
159
237
208
160
207
176
220
231
172
175
172
220
186
152
240
156
167
221
112
165
144
203
172
121
167
112
112
171
208
213
208
194
208
237
202
121
150
136
137
172
179
190
150
203
202
150
150
201
150
112
205
172
263
203
147
112
121
195
143
160
194
167
187
165
228
196
123
170
203
121
137
192
209
150
172
158
176
208
170
137
186
246
150
123
165
208
205
121
172
194
112
150
214
150
217
121
150
147
172
205
194
112
218
112
232
136
137
236
167
203
167
208
112
218
137
232
121
211
184
228
150
228
135
121
121
230
145
194
208
255
237
147
187
150
115
146
202
143
228
176
115
195
150
217
193
194
209
137
158
202
150
121
231
150
207
209
150
228
176
174
150
194
135
208
136
226
150
150
121
193
243
123
112
150
159
150
112
152
181
112
150
209
123
162
123
167
112
225
139
165
201
171
181
150
152
223
234
168
176
232
121
176
137
196
146
130
171
112
216
187
135
136
131
208
212
167
121
176
208
195
121
221
123
167
150
150
208
121
165
194
150
152
233
123
202
112
212
150
181
165
130
123
161
208
195
150
208
228
121
248
121
190
231
112
236
112
112
259
174
181
172
112
207
171
164
195
115
150
158
220
208
112
170
208
171
176
202
121
112
167
150
150
121
240
190
209
171
112
150
150
236
193
135
201
171
158
112
165
208
208
186
123
207
210
130
176
158
121
112
177
172
208
181
112
123
150
150
204
210
177
172
195
135
193
208
196
167
136
156
112
215
217
201
192
196
121
228
196
123
195
121
150
179
121
123
219
198
238
302
184
157
150
121
112
175
128
201
181
208
123
112
124
181
201
193
160
112
170
121
156
189
112
168
121
152
246
255
121
181
150
112
163
165
244
228
192
150
294
172
112
112
220
194
171
112
157
123
121
167
112
193
203
208
265
124
121
124
208
219
220
202
121
208
137
150
150
147
150
173
219
124
150
164
215
172
150
228
123
195
208
150
159
152
189
172
135
124
275
195
171
186
208
124
242
181
112
115
226
167
150
167
172
136
187
135
150
112
135
255
219
165
193
150
150
130
193
187
146
170
112
150
243
176
194
147
215
115
128
192
170
192
179
150
170
163
254
112
167
165
167
173
123
112
121
112
115
208
121
112
225
167
228
210
236
156
150
198
172
208
212
115
248
121
171
164
237
147
136
176
150
112
167
112
150
121
121
112
152
150
150
147
137
170
207
226
112
193
123
200
121
203
150
177
208
181
250
156
276
112
121
208
176
181
208
172
162
123
112
158
193
243
150
167
231
165
181
266
217
174
150
176
272
150
208
168
167
150
195
121
250
112
112
208
184
208
186
186
152
194
147
121
176
195
112
195
170
115
251
112
170
123
150
170
121
172
182
150
219
171
193
121
123
167
201
150
164
168
112
184
165
167
121
168
194
136
172
150
112
209
186
112
190
167
160
186
208
266
186
167
201
130
208
112
150
186
157
210
176
150
121
194
171
150
150
121
112
143
176
175
208
150
150
205
205
112
181
150
202
194
150
121
121
195
150
137
253
247
112
240
121
196
208
216
237
206
228
228
112
237
238
178
167
170
112
176
186
112
201
179
164
121
124
130
229
174
121
237
172
112
281
192
225
112
150
150
214
112
193
212
281
192
230
168
190
158
167
112
112
144
172
194
150
302
187
208
202
131
172
136
208
176
121
121
202
167
150
150
121
237
124
112
176
170
189
228
124
152
150
115
121
156
135
150
171
193
186
231
192
229
172
208
160
228
232
172
144
170
212
150
232
167
174
150
121
203
208
112
176
121
177
157
112
165
153
177
137
156
171
150
195
267
159
205
228
170
189
193
112
254
205
193
135
172
208
178
123
279
173
250
201
161
208
137
135
195
150
212
167
228
112
194
171
193
192
112
250
176
167
195
194
170
171
208
172
150
170
150
167
210
235
146
186
150
135
181
136
218
193
228
121
240
172
135
172
274
150
112
171
137
208
171
150
172
123
165
154
172
208
195
167
150
178
136
223
150
121
150
112
203
208
171
135
208
136
211
173
121
220
165
210
115
203
177
172
150
145
226
121
150
219
226
195
181
186
192
150
176
170
186
210
150
115
112
121
170
150
181
167
121
172
173
121
182
121
176
208
167
112
112
150
208
208
152
147
186
155
171
150
115
150
165
170
174
179
136
172
174
219
121
112
144
202
226
112
121
150
150
112
174
121
173
171
243
201
214
121
203
168
123
167
112
299
240
167
172
250
187
208
192
237
228
121
228
172
171
170
174
228
214
112
231
181
171
176
128
171
160
260
172
112
144
121
112
254
193
172
115
208
150
130
112
219
225
112
250
189
135
181
167
121
202
171
121
172
178
228
167
171
150
135
208
121
150
170
176
208
237
136
193
128
201
206
172
181
167
179
194
236
203
171
150
150
208
212
146
121
153
167
150
172
150
193
147
112
135
234
150
177
187
165
112
172
165
177
112
167
143
150
272
156
176
170
208
160
176
150
112
130
208
150
237
121
112
198
123
152
121
152
187
112
171
167
170
160
170
121
121
123
147
186
172
203
150
217
121
121
172
124
123
121
162
167
201
208
147
208
165
297
137
186
172
150
225
150
208
135
121
191
186
112
181
121
165
112
243
121
217
112
202
203
158
150
123
172
172
176
167
231
193
167
172
150
195
182
150
121
195
208
170
128
170
112
194
167
194
186
229
203
208
217
150
121
238
208
263
201
177
208
195
226
165
135
205
195
130
195
212
150
150
258
156
210
112
208
201
150
186
121
230
167
208
187
172
112
305
199
172
130
194
274
121
172
176
112
186
123
150
121
193
130
202
150
187
112
302
150
228
208
208
112
178
211
121
202
170
112
212
150
190
194
150
150
203
167
150
192
172
137
208
150
136
181
192
112
167
167
194
167
150
186
136
176
150
164
121
150
208
130
201
150
175
136
253
172
159
239
112
172
121
170
150
147
112
158
194
147
112
208
208
147
171
112
250
210
112
121
250
128
194
172
240
112
112
167
150
253
112
159
179
150
194
150
150
167
115
205
130
167
150
194
150
190
121
202
121
112
167
112
168
112
150
175
121
165
112
172
181
179
181
121
200
150
143
202
172
121
181
136
121
172
172
130
176
150
137
164
171
171
112
208
112
189
150
123
239
209
201
176
121
225
175
123
171
112
243
172
208
150
112
176
135
121
112
167
170
171
192
112
172
218
176
112
165
241
196
224
208
121
150
186
186
136
228
143
121
147
206
112
237
194
187
193
238
128
112
170
240
178
150
150
167
238
186
150
165
112
176
136
193
218
257
150
177
121
207
198
152
228
147
150
150
170
207
161
112
112
144
123
204
121
172
147
181
112
217
176
259
172
136
152
121
205
204
170
135
193
150
172
137
274
218
147
136
193
150
226
135
150
207
212
231
112
112
112
242
165
121
112
208
208
112
165
159
177
202
214
181
121
257
208
172
233
172
174
263
208
121
237
208
218
239
121
150
124
137
194
279
112
208
121
121
176
121
172
170
181
172
135
181
240
112
208
241
172
150
150
115
250
112
224
208
112
150
194
192
121
150
178
176
189
121
150
208
208
112
150
160
176
112
208
177
150
232
240
243
150
150
172
237
254
121
136
112
121
150
172
167
123
220
259
123
252
208
168
152
171
147
150
150
124
219
220
194
112
121
137
150
168
112
187
218
219
201
229
150
217
208
128
177
167
123
112
302
150
121
150
135
150
165
167
202
176
207
240
115
112
150
150
226
275
150
219
172
128
177
165
219
166
165
158
112
112
195
158
208
187
121
150
112
136
302
193
124
172
189
156
152
167
165
208
237
240
170
121
172
121
205
208
152
208
121
112
121
121
181
187
143
135
115
176
187
136
124
150
150
210
167
186
112
157
123
202
168
170
205
136
121
150
181
121
176
172
121
181
135
236
210
112
194
123
237
302
112
231
150
112
209
156
167
222
218
194
186
121
208
213
206
208
165
150
150
217
123
207
167
177
208
150
228
158
112
223
227
167
186
239
167
144
167
150
228
137
112
135
208
208
208
124
165
187
232
158
234
226
124
252
112
302
150
209
121
112
112
208
170
203
220
150
237
239
259
198
219
199
112
150
153
137
195
208
112
150
121
201
192
137
167
112
112
187
202
227
172
123
172
202
152
137
194
167
168
218
150
174
194
112
112
136
235
201
150
150
170
156
112
150
172
206
194
167
150
190
172
143
167
121
187
167
112
167
176
167
121
112
150
150
170
150
208
112
172
165
172
201
152
115
167
258
115
203
167
203
179
150
121
112
181
198
123
175
181
170
194
178
228
121
173
167
217
150
185
249
172
205
175
231
252
121
236
143
165
181
171
226
172
179
136
176
172
150
196
228
121
112
170
172
160
208
230
168
187
121
208
245
150
121
167
165
112
137
121
190
201
193
150
147
231
121
135
150
232
112
219
202
242
172
212
150
144
206
302
187
208
150
228
112
135
179
238
184
208
112
176
135
136
189
201
229
220
237
112
189
150
121
181
203
212
112
159
112
112
170
195
124
207
233
150
150
210
194
242
179
123
297
164
135
143
150
187
130
250
123
237
115
216
135
159
232
150
150
185
172
176
128
208
171
229
112
170
172
112
164
167
150
262
203
130
137
194
150
161
240
176
229
176
192
176
217
208
136
123
237
112
150
112
150
243
238
177
172
231
220
204
124
156
229
112
172
194
130
210
177
213
150
181
226
112
172
121
208
121
186
204
112
171
121
184
115
150
171
121
150
179
167
150
161
167
181
135
156
208
193
137
147
172
150
112
226
181
242
112
220
121
167
240
135
195
170
139
208
174
170
121
150
121
290
221
181
165
136
255
167
209
192
172
172
152
172
121
150
196
231
217
167
123
112
128
121
179
121
150
193
218
112
112
112
210
112
194
228
150
139
150
170
159
150
258
167
170
264
189
237
170
201
208
213
150
240
265
147
150
112
192
194
218
157
172
190
171
150
121
229
176
220
150
171
160
172
115
225
144
214
150
181
235
112
261
150
235
112
121
150
121
172
172
168
170
247
147
136
193
121
193
219
193
172
194
150
112
172
165
121
212
226
231
167
123
121
172
172
195
123
245
172
171
187
112
121
150
237
123
171
136
208
150
179
172
194
112
135
112
156
292
213
228
150
150
112
112
147
178
121
256
212
212
177
203
123
237
203
121
123
213
150
172
123
187
181
112
112
276
121
240
214
170
121
208
150
170
187
194
170
124
187
128
208
136
177
223
172
182
177
225
135
241
121
194
181
172
208
170
112
208
167
150
186
112
185
150
112
181
150
195
208
167
246
181
112
194
237
224
228
167
181
174
121
194
212
205
112
208
165
225
150
201
172
225
135
112
172
150
121
112
181
192
218
121
150
235
158
230
112
123
112
112
200
170
208
112
112
128
167
228
202
112
205
167
170
193
168
276
115
167
232
170
170
167
150
123
195
115
121
167
112
136
121
205
165
112
137
195
243
177
174
150
192
112
121
171
164
152
202
172
228
212
178
255
219
164
194
172
170
170
137
218
233
217
237
137
208
150
150
112
187
121
165
208
176
217
259
203
168
212
184
150
121
147
237
150
194
150
150
194
226
208
123
171
207
160
186
172
237
212
136
121
123
150
150
121
121
181
192
112
170
187
195
150
176
186
150
147
115
170
231
150
121
231
194
158
121
279
210
170
181
223
121
228
170
121
172
121
115
219
208
193
179
170
121
112
121
150
195
196
212
136
209
132
195
150
150
112
208
167
135
228
209
176
228
236
121
228
220
172
194
128
180
170
207
137
250
123
150
186
167
180
181
167
150
162
208
194
171
136
130
112
208
150
171
112
239
229
176
139
112
115
158
150
193
150
150
208
137
228
160
172
121
202
150
121
195
239
160
228
208
231
112
135
171
228
158
121
195
182
131
150
209
172
160
194
112
208
121
177
176
181
212
115
159
158
136
172
178
150
112
186
230
194
123
250
112
201
167
137
230
184
139
137
136
291
150
115
137
193
216
172
112
210
228
112
171
150
209
150
150
167
121
193
112
202
194
150
158
121
172
172
167
137
177
170
164
147
167
123
150
121
123
136
210
216
164
150
167
150
158
150
218
150
228
240
150
275
245
115
143
193
164
150
160
208
194
167
170
121
121
297
171
112
112
112
112
189
165
185
135
136
176
121
112
172
195
168
150
239
194
172
187
172
150
150
130
115
250
195
228
181
194
170
228
193
124
150
150
165
137
207
208
263
186
186
112
150
165
214
172
123
187
195
168
121
208
158
170
186
172
172
121
135
194
202
226
167
176
121
223
228
220
164
174
167
167
150
199
208
170
208
225
170
202
170
195
130
236
237
121
172
167
172
172
172
199
115
194
208
208
121
150
229
150
206
137
228
186
186
150
194
213
150
150
124
208
212
193
225
165
112
160
112
181
150
135
237
165
171
210
152
200
189
121
216
208
167
135
190
218
181
181
150
160
150
226
137
210
150
220
237
112
240
112
115
302
202
206
208
150
179
237
193
175
186
112
112
172
112
150
235
171
121
164
187
236
202
139
263
112
204
176
150
187
112
115
170
190
245
121
208
193
194
150
167
121
172
160
181
342
208
179
150
121
187
170
231
152
150
150
136
159
170
208
202
130
192
150
179
150
187
112
189
212
150
207
247
184
164
112
201
112
130
150
219
158
219
208
167
150
143
112
250
165
199
208
172
193
150
112
167
121
181
121
212
263
193
167
123
150
167
112
208
227
181
165
112
202
160
187
239
150
168
181
208
186
121
202
302
255
150
228
223
208
112
228
194
174
167
229
206
112
121
171
170
139
240
228
193
158
167
172
195
214
187
121
158
193
123
112
112
172
147
165
212
194
150
150
263
234
210
209
150
171
171
128
172
150
217
150
123
241
171
159
130
150
121
244
135
121
167
112
215
206
165
168
210
212
204
215
150
150
143
230
112
202
160
167
228
172
187
124
217
135
176
156
167
171
172
165
160
194
172
226
121
112
147
195
192
158
220
181
208
112
174
160
135
223
233
210
112
147
123
112
240
208
171
112
231
165
217
240
171
165
217
121
112
164
115
150
112
234
212
150
172
167
150
165
208
167
205
220
170
174
208
177
254
208
150
112
150
123
202
175
234
181
170
209
194
238
194
203
145
159
121
121
219
171
225
276
193
121
159
172
112
115
172
170
160
150
121
228
171
150
203
255
130
167
172
121
234
165
172
146
229
255
150
170
171
194
121
158
150
186
161
121
150
170
150
150
157
172
150
211
186
121
202
257
219
177
181
112
196
150
268
150
219
121
123
228
187
112
257
112
172
158
202
112
150
208
150
175
176
121
168
168
150
121
150
112
228
171
121
258
181
112
168
181
150
186
219
150
181
203
171
181
194
167
219
150
208
146
187
112
194
168
123
207
167
229
150
192
255
172
230
176
192
150
124
112
235
165
247
121
171
131
112
167
165
170
175
181
181
150
193
195
136
193
208
167
121
186
112
121
112
112
226
150
179
112
186
282
186
167
171
171
174
150
175
168
181
225
150
190
124
180
193
195
194
128
167
178
112
173
150
229
208
181
156
205
172
170
172
193
158
121
241
112
112
121
174
263
214
218
202
170
112
170
164
259
226
240
210
121
121
167
171
201
263
175
205
239
145
172
135
150
226
167
228
150
208
123
171
124
112
121
205
208
172
150
215
237
250
164
170
112
190
170
121
168
175
208
194
208
112
208
160
233
178
170
228
136
172
187
176
143
311
152
159
192
150
150
187
197
136
172
170
121
176
215
136
159
172
267
208
112
135
192
172
167
159
121
195
124
112
302
171
170
193
229
170
176
150
194
150
204
156
150
150
112
143
158
167
186
237
175
112
236
193
150
181
194
203
156
112
158
124
130
172
152
112
170
150
123
208
208
174
150
195
150
135
220
201
194
175
150
218
157
259
167
208
172
181
172
112
167
203
167
167
137
284
219
228
112
204
167
121
150
210
167
172
201
112
239
156
150
150
211
112
121
123
194
228
186
137
158
208
112
121
123
209
181
150
196
215
171
172
194
147
202
203
135
237
121
171
224
200
205
165
181
112
219
232
207
174
150
167
194
112
171
263
150
194
164
228
123
150
223
206
150
208
225
214
170
167
150
168
121
150
260
137
136
165
121
167
205
121
157
171
112
198
164
210
236
121
270
208
189
137
112
130
170
187
263
112
112
194
150
210
201
193
150
124
136
121
160
123
165
176
135
112
171
150
172
121
171
159
171
121
193
177
165
274
121
150
150
152
186
112
150
112
112
128
121
171
194
174
257
121
121
225
176
150
121
121
212
112
202
167
150
121
181
150
172
123
128
112
202
208
112
137
187
194
150
176
150
171
218
203
220
256
121
216
150
168
208
208
226
208
207
237
225
272
247
239
164
207
128
135
130
112
163
226
181
175
172
175
217
232
205
208
281
136
179
150
302
195
167
150
207
191
228
141
112
150
192
176
289
121
170
112
156
245
147
137
112
212
215
144
165
170
277
143
176
112
176
171
224
202
212
150
184
150
167
167
220
223
150
234
229
112
112
172
150
150
182
216
172
242
112
176
121
146
208
235
112
219
230
276
167
171
219
192
172
186
172
208
231
192
203
165
214
112
168
171
208
174
187
187
215
150
165
112
175
121
112
182
202
121
219
158
177
240
238
165
208
239
115
181
112
184
124
150
150
136
152
170
229
237
121
164
150
172
144
235
220
160
161
170
152
208
201
194
150
150
150
233
201
121
135
112
150
166
112
228
177
112
171
208
208
112
194
227
207
228
208
167
112
208
171
172
174
170
192
121
237
171
210
121
190
302
208
172
112
115
150
178
150
170
174
171
112
171
209
146
121
203
208
172
208
128
112
123
186
112
206
167
159
186
150
121
194
264
121
208
150
172
112
202
269
208
181
123
135
208
205
170
147
121
123
281
171
189
176
156
196
150
208
150
130
171
136
112
172
112
121
250
172
175
150
172
179
112
170
221
158
257
174
176
214
194
164
150
135
204
287
227
195
112
137
239
112
135
174
150
172
135
250
121
121
192
115
222
156
243
253
112
198
208
196
187
150
202
199
201
210
167
121
165
124
121
203
136
170
121
112
208
137
170
136
112
144
165
172
193
192
158
269
150
163
112
155
128
112
170
228
165
143
284
150
165
239
215
130
193
218
265
112
164
150
112
112
228
201
112
170
172
170
150
172
167
172
237
170
255
162
237
202
224
167
237
201
121
189
202
203
150
218
240
115
143
237
172
228
121
194
176
170
167
167
157
167
208
121
170
202
217
235
170
203
170
150
245
208
150
130
121
143
159
208
121
112
121
123
230
250
192
143
112
112
121
202
202
150
167
165
205
216
181
176
216
194
112
172
279
257
212
195
150
194
165
112
177
214
238
144
135
172
229
172
159
152
112
208
239
237
158
150
208
156
181
135
130
186
123
137
208
135
224
167
171
121
172
150
121
121
168
177
112
212
237
150
201
115
150
172
186
157
172
208
196
243
195
172
157
167
208
144
132
207
230
137
112
208
172
136
172
263
231
128
170
178
150
236
172
208
147
172
172
284
121
276
192
112
202
136
150
150
302
147
123
121
187
150
203
186
150
150
236
150
184
204
170
167
212
233
164
137
203
144
250
150
194
130
189
187
194
187
206
150
150
196
112
121
228
172
216
250
219
235
123
112
131
123
172
161
192
194
217
195
150
220
172
121
167
207
123
143
143
241
167
170
302
121
164
150
167
150
231
150
172
112
174
121
170
135
233
231
160
170
218
159
187
195
150
208
208
187
137
112
172
210
218
208
121
115
236
135
230
150
193
229
232
150
219
179
167
225
216
123
136
150
176
137
172
167
121
177
112
237
123
150
112
143
170
123
208
205
198
250
150
112
195
181
186
174
144
192
175
213
123
218
132
232
160
112
150
121
112
112
165
167
115
219
170
124
217
210
158
170
143
208
123
194
167
208
150
193
150
150
165
170
150
143
208
123
187
208
202
218
167
186
189
121
135
112
208
137
192
176
158
187
152
112
121
170
150
199
112
189
170
190
211
181
210
186
152
170
246
171
237
121
172
150
171
237
123
121
150
171
165
193
150
121
130
121
139
156
208
172
152
235
181
159
201
231
144
130
162
150
150
150
159
161
187
177
171
176
115
167
172
210
172
160
123
121
170
136
150
208
172
193
150
112
214
137
150
150
121
167
181
208
193
170
121
121
181
156
210
175
150
112
150
170
167
158
232
150
135
112
208
215
144
152
112
189
170
208
150
136
258
123
220
193
194
216
201
150
137
130
194
123
121
212
246
128
177
222
211
121
136
247
175
208
112
177
211
217
170
150
208
171
165
204
181
112
135
150
158
171
208
176
177
150
144
164
165
194
135
112
187
124
187
112
131
207
170
275
121
121
212
200
159
150
167
174
161
214
189
193
219
181
150
150
160
121
177
232
112
150
202
187
112
171
121
147
112
123
124
167
171
131
226
195
150
112
150
167
167
195
208
150
136
198
176
201
147
194
208
168
143
239
167
239
176
147
121
150
172
135
121
172
231
208
112
195
136
237
250
112
124
150
223
234
200
198
192
156
171
217
263
216
207
184
135
152
205
123
240
221
174
172
164
234
236
156
112
144
159
112
115
136
121
147
201
112
239
207
260
186
165
235
172
194
165
276
150
123
150
139
121
112
214
123
121
194
167
217
150
112
208
172
176
150
158
186
246
121
172
150
194
176
229
158
186
208
208
198
202
115
194
255
219
123
189
211
186
150
156
208
112
112
194
172
234
150
156
150
195
112
182
228
121
121
150
215
215
185
181
194
150
143
195
170
171
208
198
136
121
236
167
112
165
156
124
112
150
164
171
231
121
181
136
130
121
123
170
121
194
147
121
208
172
172
121
112
144
150
112
192
181
195
199
112
112
257
167
170
205
150
208
165
193
217
112
150
123
237
158
147
187
112
158
212
167
182
150
201
179
150
210
171
214
226
293
121
150
136
182
137
205
267
276
194
167
112
121
203
136
212
121
150
121
167
176
112
150
164
235
112
156
220
124
255
208
194
150
201
130
210
164
204
204
167
228
302
239
137
181
150
132
171
168
121
202
121
238
115
208
172
201
150
121
164
255
219
172
150
164
214
136
150
208
167
263
225
205
167
171
194
212
237
165
123
299
128
193
150
225
221
208
208
121
159
160
160
208
135
112
137
208
189
147
112
172
192
175
167
150
170
171
187
123
124
203
172
194
172
170
195
170
123
178
288
123
167
115
265
164
175
171
205
172
224
208
137
150
172
121
176
121
150
121
263
202
170
150
194
243
195
121
170
112
121
176
137
172
112
124
124
167
150
224
152
121
178
160
219
150
171
112
121
150
237
112
150
150
176
152
121
172
172
186
171
171
137
263
243
171
177
150
181
150
150
172
172
158
189
167
226
183
156
130
130
237
115
259
255
195
164
177
147
112
112
167
186
135
147
208
150
228
193
186
132
187
184
194
177
150
186
150
181
150
167
202
150
150
203
170
302
170
150
208
213
121
121
182
121
112
170
220
231
204
193
150
176
150
112
132
302
228
228
170
124
121
214
208
159
193
208
167
222
172
167
173
115
193
221
229
235
150
158
150
152
208
152
208
131
210
208
165
121
167
150
170
193
176
123
165
167
167
201
181
238
172
201
208
177
171
199
207
135
150
170
112
124
147
167
112
212
222
137
187
122
259
186
225
195
135
121
161
123
231
241
153
121
181
112
189
137
205
250
185
220
175
208
194
172
164
177
112
209
112
136
162
254
172
170
124
208
150
112
112
177
167
156
112
190
177
130
235
174
112
171
150
123
219
150
150
186
207
172
150
201
172
186
172
170
171
112
168
208
150
217
165
194
193
220
165
176
208
203
147
172
170
194
208
150
150
167
212
199
208
172
208
172
212
150
137
209
150
266
121
121
112
112
112
237
150
171
137
232
208
190
121
130
121
130
136
123
115
130
172
203
137
176
172
156
181
249
184
232
158
112
112
112
150
167
172
123
239
226
158
210
172
112
167
181
121
250
228
160
121
123
121
190
171
112
150
176
228
150
112
150
136
172
172
171
112
150
158
150
203
112
181
112
195
195
208
235
177
121
123
187
165
198
150
193
190
171
150
130
135
121
112
164
167
213
124
170
220
150
121
194
170
184
208
123
220
156
172
193
212
150
112
219
165
215
194
136
121
250
170
207
186
225
187
193
112
192
168
164
167
210
112
112
238
240
171
150
202
177
176
112
208
145
144
225
221
150
121
156
210
204
150
130
171
194
208
208
172
112
211
150
270
239
172
121
112
121
121
208
250
170
150
233
121
228
176
239
160
121
220
194
208
250
150
194
167
257
112
244
112
182
201
121
170
208
181
112
217
220
232
187
208
112
121
167
121
176
232
195
121
186
112
121
112
170
123
176
137
150
112
201
157
150
146
167
121
121
112
112
240
170
195
112
167
112
181
150
167
150
176
150
226
147
208
177
210
121
171
112
205
172
177
194
112
194
246
228
150
121
112
150
170
156
150
195
121
181
123
207
150
121
237
136
215
170
220
112
208
150
112
208
237
208
210
172
178
171
112
112
269
112
208
210
251
158
150
208
239
216
170
178
159
112
186
193
150
137
170
176
228
205
170
168
241
176
150
175
172
212
170
170
237
219
157
158
201
170
152
263
208
150
150
121
170
112
150
168
136
198
167
150
227
194
225
203
147
128
263
112
170
179
240
228
228
123
208
232
167
150
136
112
172
165
158
150
112
206
208
124
172
193
194
172
177
112
170
194
150
238
165
156
192
205
137
237
198
172
185
174
204
124
174
170
150
150
174
112
123
152
240
216
203
194
170
208
179
228
123
225
112
186
174
228
150
207
158
194
219
217
121
152
219
112
210
203
208
150
228
172
172
202
232
208
208
170
213
202
170
112
170
208
190
174
158
121
171
136
150
236
172
232
263
150
194
156
176
172
205
135
135
187
271
227
150
167
187
231
237
174
167
208
220
194
227
150
207
210
181
171
170
208
225
164
121
171
217
192
208
162
112
228
205
167
160
224
112
150
208
121
166
123
202
112
195
150
207
170
150
238
186
254
174
170
150
242
215
278
274
171
160
176
147
195
123
158
123
150
170
164
158
225
136
180
121
186
202
272
179
172
112
167
184
171
206
121
187
164
218
121
150
198
112
152
150
195
112
174
176
220
147
302
196
171
182
220
112
208
257
172
192
135
208
136
150
161
135
170
207
263
150
181
203
228
208
169
276
228
171
112
193
215
160
170
128
112
260
160
181
187
170
208
176
171
226
190
236
136
242
112
115
152
147
167
112
170
135
228
175
150
172
231
150
220
170
175
244
121
150
112
167
173
150
112
112
137
172
137
218
207
228
121
167
181
240
112
137
112
121
194
112
203
230
155
112
112
150
186
174
150
203
123
135
174
168
228
193
219
150
112
187
240
244
150
209
196
150
226
217
112
112
137
238
143
165
150
165
231
124
190
181
147
201
128
192
112
177
167
121
159
135
124
170
112
115
195
112
170
150
172
112
257
181
123
121
135
194
123
136
158
193
115
227
190
121
150
160
172
121
253
150
171
136
150
150
172
228
172
172
170
172
170
194
208
172
181
238
172
167
181
181
208
121
128
184
147
121
210
227
150
112
150
121
139
150
135
194
168
158
220
207
243
255
112
231
167
167
135
112
164
121
135
121
219
192
239
193
112
150
115
228
177
231
195
150
121
165
150
170
194
177
147
150
112
174
164
147
194
159
176
115
167
137
135
165
115
121
309
121
112
172
164
150
171
167
135
121
150
201
171
112
178
184
112
255
172
159
231
189
174
128
228
167
150
164
167
123
121
171
235
170
208
143
130
112
131
255
186
238
186
136
112
112
170
172
193
137
159
175
167
160
184
242
171
123
192
194
150
181
208
229
172
157
194
240
157
131
123
121
167
186
193
121
115
121
203
254
121
150
170
211
170
228
167
172
170
172
218
216
250
124
121
172
237
248
212
152
199
150
208
112
212
130
195
112
170
150
150
112
121
112
233
239
193
210
170
170
115
208
175
121
112
170
176
115
167
220
208
167
172
225
121
174
123
150
165
147
228
257
203
224
112
121
150
112
123
112
137
187
175
150
150
170
156
174
158
152
186
136
237
121
238
170
171
157
228
123
124
135
168
167
150
208
192
176
172
212
135
112
210
128
186
219
170
172
165
170
237
187
150
112
167
250
112
236
161
201
181
121
124
171
121
247
150
176
135
193
232
167
204
208
208
172
172
195
150
186
193
195
194
213
194
165
250
179
121
226
115
165
123
186
132
194
217
170
208
150
112
121
121
121
238
207
208
124
208
192
170
121
262
204
178
175
186
193
167
203
172
158
177
137
228
228
243
121
136
263
124
150
187
182
172
233
136
121
172
195
213
176
165
150
121
150
112
167
186
112
167
121
112
181
255
209
121
150
229
164
123
112
150
202
159
208
121
279
226
175
121
167
193
123
136
202
150
186
165
227
158
263
237
112
150
167
121
121
136
208
174
123
167
112
167
130
257
121
207
202
136
158
172
207
212
150
201
167
208
121
208
135
130
176
202
112
208
194
170
112
156
123
165
208
284
280
166
130
121
172
208
167
212
170
112
112
143
187
165
193
150
147
179
172
172
112
208
112
160
150
240
191
174
156
171
231
150
121
121
121
195
123
164
210
172
176
234
225
150
115
208
112
172
201
165
237
112
172
231
195
240
136
193
123
176
158
213
181
150
150
299
150
121
177
237
150
136
195
201
156
206
121
150
186
177
167
263
205
115
208
233
165
218
208
172
137
208
112
194
229
172
177
147
150
135
212
228
144
150
112
147
171
121
121
170
147
193
112
165
170
208
181
156
193
171
137
121
112
236
123
172
212
161
226
136
167
112
194
239
193
259
237
112
255
150
137
121
172
128
195
170
150
206
243
231
147
228
150
201
219
167
158
167
208
171
177
170
150
177
156
123
209
260
193
192
136
150
153
150
172
121
224
189
194
172
181
263
203
194
193
176
181
228
202
150
112
208
241
159
121
121
158
167
121
150
137
172
172
207
208
168
194
150
165
203
214
121
150
175
170
158
177
168
150
167
220
194
178
208
174
205
150
123
172
124
228
211
216
210
302
210
150
150
218
167
153
208
112
150
150
186
171
171
167
210
167
146
112
202
236
136
112
177
194
195
181
232
112
225
218
152
168
170
212
130
172
205
234
150
201
226
150
121
194
121
121
150
165
181
200
130
150
167
165
136
164
112
234
112
278
208
195
152
194
121
112
202
212
121
121
121
177
235
181
167
112
208
112
112
137
121
121
208
186
229
237
150
184
150
121
264
115
121
160
214
207
112
174
225
121
112
112
170
168
194
150
167
112
203
150
194
153
246
150
112
218
231
210
115
262
121
152
207
179
143
135
164
217
172
219
115
112
234
121
164
115
121
237
181
150
123
184
215
150
112
121
167
160
136
150
167
275
112
172
236
124
170
112
121
219
189
212
137
216
250
256
136
150
177
243
204
188
135
158
258
208
112
135
150
172
198
186
210
181
136
121
203
147
112
172
194
237
176
150
177
179
172
150
229
150
112
279
150
135
167
112
203
237
170
121
181
181
170
208
201
236
219
215
228
239
181
216
121
121
186
174
208
181
283
150
150
158
201
121
201
112
167
220
150
196
170
150
195
170
150
172
136
218
220
167
209
195
200
231
164
174
195
207
208
264
184
202
153
186
167
121
158
172
203
121
150
167
135
194
170
219
171
179
228
147
177
170
187
170
174
165
171
167
208
123
172
150
112
164
170
228
147
201
193
176
147
150
179
174
158
229
121
150
112
157
145
121
112
170
177
208
186
275
170
297
165
186
124
185
121
121
112
112
228
323
176
130
170
150
150
164
208
172
176
244
121
150
302
121
121
205
150
172
226
299
203
112
112
210
115
197
160
167
186
212
112
156
150
123
227
201
210
202
170
250
184
228
112
224
144
172
172
233
136
212
236
123
112
202
172
193
150
112
220
150
112
239
112
216
150
200
177
139
150
146
174
172
159
150
193
121
167
150
172
282
174
194
214
170
143
137
167
171
208
112
175
171
226
299
137
167
158
173
175
147
172
152
167
150
159
237
121
170
124
208
194
171
172
237
112
167
150
232
220
124
150
165
112
175
228
165
239
121
112
192
150
172
121
112
150
121
250
160
194
181
150
205
167
275
150
156
164
121
226
208
253
217
121
147
112
112
186
219
123
201
168
112
167
203
212
150
123
201
208
255
112
167
208
194
121
208
176
186
158
192
191
208
115
170
112
186
228
171
228
193
175
121
196
121
135
112
147
174
231
165
123
182
112
202
172
150
123
223
209
170
150
192
218
150
112
302
186
174
176
158
150
165
167
245
128
112
121
240
176
150
170
124
206
190
112
195
150
165
243
220
168
150
135
164
150
121
172
212
147
121
156
278
171
150
121
202
157
121
207
124
213
150
212
195
112
186
150
178
302
184
170
177
139
121
172
253
194
112
187
164
112
176
233
232
193
202
171
171
150
171
121
228
115
204
176
253
229
112
156
128
124
194
121
164
278
177
121
201
135
150
207
136
171
208
210
213
150
208
167
265
208
112
121
186
164
150
150
165
208
159
112
172
137
164
179
194
228
177
203
124
156
112
205
121
211
150
159
121
112
112
112
172
130
150
194
224
112
272
124
217
189
176
150
255
143
208
170
115
174
121
208
194
194
212
156
170
135
208
121
128
167
170
215
160
170
186
240
150
176
123
150
302
170
202
167
218
121
150
174
281
112
150
121
194
112
207
228
233
174
160
159
243
167
228
123
167
167
159
181
176
185
171
165
121
240
170
204
171
123
159
181
185
130
193
124
170
136
184
212
123
255
191
167
262
201
153
130
121
208
176
278
150
150
210
150
130
185
150
217
215
121
115
187
230
156
200
172
210
228
192
263
243
237
178
256
135
150
174
135
218
147
135
201
208
167
186
112
227
186
167
223
208
112
194
208
212
112
135
124
167
135
115
172
178
150
150
208
167
150
172
170
144
179
121
156
123
230
170
112
219
136
164
121
208
124
121
186
121
270
225
112
170
135
172
228
150
150
167
219
170
150
167
144
112
123
147
172
121
208
181
123
112
164
182
135
147
226
121
137
121
212
160
167
137
235
156
171
177
208
121
112
156
208
172
219
172
115
181
150
228
263
207
193
139
195
150
121
172
112
150
226
137
195
156
208
150
165
135
150
156
158
131
195
208
150
208
195
135
232
189
208
170
150
135
170
167
208
192
123
121
194
123
178
121
167
121
131
219
170
150
240
172
112
220
159
112
121
189
226
187
152
239
194
234
208
192
172
243
235
172
246
176
147
156
257
150
136
150
186
170
176
112
187
208
164
193
112
137
167
187
165
231
172
172
208
112
214
150
220
172
172
228
172
150
167
173
124
124
208
181
167
228
124
208
167
172
112
121
208
150
147
165
123
128
150
131
112
210
179
263
162
121
158
172
150
204
115
112
170
112
195
150
150
112
150
164
167
171
232
205
228
123
205
187
218
208
170
150
167
152
135
229
172
254
159
150
150
207
174
164
136
171
232
112
256
158
121
172
232
208
150
193
137
278
172
193
112
158
193
254
170
112
205
112
150
165
181
158
112
121
123
121
121
172
112
112
172
112
176
186
136
150
237
123
121
237
175
219
240
172
172
115
167
176
218
172
164
170
195
171
121
216
121
194
212
170
228
194
192
228
135
150
222
208
150
164
195
201
184
170
123
150
147
160
161
171
195
152
194
150
130
150
193
136
176
255
208
184
136
170
193
172
121
112
121
263
112
135
181
143
136
172
232
216
201
135
112
123
121
121
195
228
207
167
178
170
208
167
112
232
160
121
112
185
228
193
123
112
158
181
112
211
231
150
158
233
147
136
240
170
218
228
112
170
164
164
122
150
208
121
184
136
112
121
123
172
204
112
192
170
208
115
112
168
194
150
158
175
219
297
171
136
135
219
192
121
201
237
232
171
201
150
193
163
172
201
121
150
174
121
112
121
174
150
150
150
115
279
189
121
194
257
213
202
207
112
208
167
223
212
196
172
123
212
112
123
112
253
112
112
177
150
121
158
167
170
136
121
208
228
184
194
123
158
135
199
150
150
143
197
208
137
171
150
196
112
243
230
274
115
194
150
150
208
186
150
165
170
181
172
167
210
179
150
147
135
167
123
112
150
172
187
186
238
150
115
150
150
147
170
172
121
177
135
145
112
121
172
172
123
160
171
186
212
208
210
181
147
175
250
115
176
121
218
124
135
202
112
194
207
171
112
112
121
210
234
172
231
121
195
212
112
239
202
208
121
112
244
198
150
150
158
150
175
150
171
246
164
150
193
167
168
123
187
115
112
208
159
210
150
238
201
193
225
112
208
210
171
229
152
150
172
239
195
177
150
165
121
150
170
150
112
263
177
150
203
238
143
179
208
193
193
112
203
260
171
150
229
112
255
121
150
171
225
171
172
228
172
121
112
112
174
137
203
150
231
199
121
112
278
172
157
170
268
199
160
254
146
172
167
158
172
123
160
135
194
186
173
150
137
170
195
199
176
223
172
112
112
170
112
208
150
164
168
170
150
123
221
150
176
136
208
201
124
136
202
172
186
147
143
128
226
159
112
196
150
150
192
257
171
208
121
170
240
121
167
171
124
177
165
112
208
208
235
112
124
208
150
195
160
207
112
112
201
186
176
150
170
212
121
150
115
247
212
171
150
156
165
128
165
220
225
112
257
299
167
121
225
201
185
128
157
123
167
156
194
246
167
195
243
181
170
150
150
201
136
123
158
147
228
186
181
170
115
238
123
150
176
143
171
183
237
181
263
195
150
170
150
172
172
218
208
170
150
121
252
123
112
123
150
167
123
181
121
147
172
181
225
115
179
176
216
176
121
175
172
170
194
171
167
172
121
150
205
121
208
112
232
121
224
170
112
192
112
121
176
150
123
170
210
170
178
128
194
112
135
212
137
150
156
172
121
203
165
232
196
170
172
159
275
189
198
112
208
221
176
208
160
172
130
167
128
170
215
162
164
158
150
239
172
121
172
186
150
177
123
208
217
174
112
201
124
172
181
115
150
112
192
150
123
217
212
121
121
218
150
198
170
124
179
121
170
121
150
208
167
167
172
123
172
170
194
202
167
150
240
167
177
150
172
170
150
239
213
255
121
181
121
187
208
188
208
167
123
186
123
150
208
121
121
158
150
195
194
181
150
123
176
167
187
167
230
121
112
152
201
112
193
167
186
161
121
156
172
121
194
150
226
121
150
121
194
121
237
150
150
167
167
178
112
121
250
250
170
193
193
130
147
112
166
150
218
112
170
172
130
201
167
150
112
112
239
226
137
176
205
172
171
121
177
121
135
150
121
181
150
194
150
177
172
121
150
248
147
219
147
205
226
159
195
112
185
190
171
112
164
147
165
112
143
208
242
194
244
218
171
112
150
244
112
212
186
150
170
150
150
252
150
202
115
172
175
171
160
168
172
305
193
217
176
150
257
123
172
167
238
167
218
176
123
208
112
170
208
121
121
239
208
240
121
240
237
135
226
170
164
135
171
164
278
208
215
112
121
195
121
174
128
150
172
195
124
150
231
121
208
150
186
170
112
172
187
112
193
167
228
156
202
179
137
165
224
150
229
152
135
150
170
164
121
208
153
115
164
121
210
150
207
218
170
121
150
150
203
170
112
254
167
112
150
171
189
121
159
159
150
112
165
193
161
150
172
121
182
177
137
168
219
121
167
150
177
177
121
239
179
164
184
115
172
208
213
150
137
214
219
170
186
121
121
123
167
123
176
176
223
158
121
137
176
150
193
143
150
219
239
171
150
167
215
195
184
150
112
198
165
237
172
171
112
147
172
159
112
135
115
217
204
112
150
121
302
174
112
150
193
150
143
112
210
205
172
158
181
172
202
250
168
208
150
150
167
194
121
121
135
170
115
160
152
166
208
112
208
152
112
171
186
143
164
150
228
175
173
150
160
265
121
225
150
235
121
205
121
186
181
150
115
237
150
112
150
210
194
250
219
223
184
150
171
208
112
152
150
178
224
202
150
254
121
167
220
234
137
112
170
185
256
135
208
202
172
150
208
177
208
197
121
240
234
239
231
208
168
237
181
150
170
208
167
165
184
121
193
121
208
150
165
187
112
121
112
171
167
170
276
239
112
123
192
165
167
228
150
112
150
228
147
237
156
165
150
165
239
150
112
150
229
174
130
194
158
172
168
171
205
177
189
121
190
181
165
278
186
156
213
234
203
210
135
176
175
150
131
181
170
174
220
165
121
208
150
201
150
172
137
212
112
187
202
130
150
210
121
150
220
181
160
121
121
147
167
112
150
168
198
172
147
208
186
112
171
121
121
217
170
178
167
172
144
150
121
164
205
233
136
175
170
159
199
181
258
175
263
208
112
177
255
159
231
187
135
194
150
225
194
171
213
167
123
124
150
171
112
130
135
136
136
150
150
170
150
172
147
165
121
220
143
214
208
112
112
229
193
128
158
112
210
242
123
177
121
150
128
137
115
181
250
203
190
150
121
186
194
208
210
186
212
121
194
183
255
218
150
167
150
167
121
194
194
220
164
112
170
186
150
115
208
112
160
176
176
112
131
276
189
112
112
176
167
135
263
135
176
208
158
150
112
214
194
174
121
176
186
219
186
209
212
121
112
170
152
208
150
210
170
150
167
121
150
145
167
168
150
208
220
112
112
170
178
186
256
121
150
170
167
172
147
186
172
150
177
171
174
152
124
150
171
112
121
112
194
245
170
130
143
208
208
150
121
112
181
194
212
172
165
165
237
115
171
121
121
192
167
171
123
202
219
165
121
189
112
121
135
196
121
121
167
172
276
115
202
150
181
194
121
112
172
177
212
145
172
194
220
208
150
172
150
150
158
181
194
208
172
156
121
150
187
177
121
208
150
232
263
181
147
121
172
208
198
112
150
230
193
194
150
181
150
219
203
181
199
231
165
171
196
112
167
150
219
175
214
121
185
259
208
165
243
121
237
176
150
172
165
150
167
130
207
206
232
231
121
220
170
171
193
112
158
150
150
150
170
237
161
278
204
193
150
207
150
212
135
231
128
121
123
121
208
297
150
218
128
194
193
177
150
189
311
194
230
228
112
156
172
237
146
193
170
176
143
193
213
229
208
171
228
210
121
165
156
239
121
112
121
203
150
112
190
170
150
160
208
197
178
208
121
121
174
228
192
167
150
208
222
208
195
223
156
186
144
208
158
137
208
212
217
178
325
208
215
130
121
150
164
188
181
222
121
160
112
112
172
192
112
115
170
238
171
112
112
205
181
159
112
194
177
231
121
170
227
174
123
172
158
164
167
172
112
187
217
123
250
112
184
150
112
176
297
150
167
230
220
172
124
195
198
200
187
150
208
165
243
143
172
276
112
208
150
167
228
112
193
208
172
220
179
202
150
182
167
205
112
213
181
121
112
150
150
123
202
112
194
162
130
212
170
170
150
170
150
121
205
150
147
112
150
124
165
186
112
121
210
232
208
178
158
172
208
271
185
150
206
186
130
112
150
165
137
181
228
255
128
229
152
150
112
147
194
121
172
302
232
137
112
112
164
121
237
165
208
171
231
243
193
160
112
112
235
112
212
115
123
212
112
193
115
147
235
150
160
170
112
167
115
175
212
207
135
170
135
115
147
210
170
167
136
123
204
150
150
172
121
220
150
232
225
124
121
112
179
208
176
167
123
150
174
162
170
150
172
137
121
237
171
174
121
121
231
177
279
220
158
172
136
112
176
150
194
112
159
165
137
229
201
112
175
123
150
170
188
192
219
157
150
238
176
194
175
150
150
167
186
271
193
210
167
150
121
172
218
172
194
175
184
165
250
112
228
226
208
150
276
170
207
176
170
170
208
172
121
112
112
171
130
137
121
239
112
172
164
200
219
208
244
227
219
172
112
168
218
159
181
186
193
170
150
275
150
123
239
177
210
192
195
228
123
192
177
167
171
137
165
208
136
171
121
177
112
123
171
171
121
165
179
205
171
215
210
172
112
194
208
124
145
121
121
152
267
143
150
302
179
224
171
201
208
121
171
186
150
215
209
176
226
202
181
150
203
150
168
164
150
184
147
150
112
112
158
124
150
234
208
134
205
123
240
171
159
263
112
193
150
150
177
208
208
212
192
165
121
137
237
112
225
112
168
187
147
158
112
158
212
237
121
136
167
170
150
245
176
217
302
123
112
228
193
170
237
205
121
205
150
121
206
143
145
220
150
161
150
194
161
276
135
158
218
150
172
228
130
245
192
211
192
167
208
112
210
250
167
123
181
193
171
241
121
165
112
150
170
121
194
147
237
115
150
299
208
201
196
164
196
193
200
195
236
150
150
150
195
199
186
112
196
150
150
121
241
143
137
173
228
112
112
202
150
115
172
208
216
150
200
150
150
232
112
242
193
237
172
135
168
112
176
203
172
177
202
165
219
150
208
130
150
176
150
263
187
156
112
112
165
167
121
205
159
150
112
202
112
115
170
159
233
121
121
112
186
172
150
203
159
175
159
232
186
216
236
165
194
171
234
212
172
217
147
112
112
218
239
115
152
158
150
112
150
216
207
121
219
263
160
210
150
121
218
121
271
112
228
219
226
201
135
121
123
208
150
121
211
157
168
218
150
112
194
123
208
170
112
194
186
172
235
165
112
152
208
176
225
208
130
170
202
171
165
171
160
121
121
186
228
177
121
172
150
121
135
150
208
143
115
112
159
123
137
181
176
112
112
201
193
168
156
241
112
216
150
189
298
150
121
134
158
194
170
150
237
167
156
231
193
159
227
208
112
199
194
210
174
205
238
194
156
115
112
121
195
208
208
112
115
176
136
202
172
172
130
255
214
112
172
135
208
172
171
212
211
177
115
150
212
172
194
195
170
135
167
297
239
123
167
121
176
203
147
150
121
174
121
150
112
150
215
225
209
123
193
172
171
208
208
170
194
172
112
265
150
214
177
165
160
201
229
299
176
195
132
216
214
257
194
172
135
170
171
240
176
172
193
185
121
112
194
181
237
302
225
177
150
150
150
121
170
181
137
210
124
231
192
208
168
172
171
170
228
121
253
164
208
208
171
175
150
115
143
121
208
240
235
128
181
150
150
226
208
208
181
112
135
167
175
172
167
112
123
150
202
135
179
115
195
112
130
195
121
168
121
176
135
147
112
172
156
167
226
187
237
150
233
179
178
208
226
150
150
150
167
112
240
172
194
136
150
176
217
228
220
208
210
181
167
170
231
172
208
214
121
203
150
181
162
184
178
172
112
180
150
123
112
159
143
167
170
276
239
121
136
194
174
171
167
302
255
170
194
139
210
234
263
228
150
181
150
158
193
186
207
181
176
219
121
204
212
167
171
121
112
201
167
112
208
168
112
123
172
242
150
150
150
150
172
211
166
172
121
159
112
172
157
192
176
255
123
219
238
181
217
171
208
170
201
165
208
175
208
172
112
208
112
152
176
170
112
177
192
121
170
172
214
136
152
150
172
219
165
237
160
150
208
235
194
218
170
147
255
160
256
181
186
194
226
150
187
112
202
193
201
152
159
115
112
194
184
189
181
167
172
150
130
165
226
208
225
194
150
167
128
121
144
202
159
178
193
172
210
170
241
172
112
220
121
206
150
210
172
237
139
143
170
208
219
112
150
216
181
150
208
123
165
202
112
276
121
263
167
208
194
219
193
112
186
177
231
176
130
188
202
195
163
159
135
150
223
123
112
202
237
137
237
172
190
157
240
205
150
208
171
170
150
231
237
160
195
112
231
112
194
137
186
135
150
167
215
165
167
112
167
219
194
172
121
210
208
194
123
224
112
147
165
177
181
199
208
112
167
147
203
172
158
171
121
112
158
214
128
137
168
171
112
194
187
202
143
204
237
253
150
208
112
135
181
112
177
225
208
186
167
194
112
171
250
201
194
165
176
115
167
186
121
193
112
172
112
186
167
171
172
232
123
220
172
165
208
121
194
170
181
171
112
167
196
207
147
225
112
172
205
130
135
214
187
171
137
228
150
137
201
121
150
136
167
159
194
121
208
234
121
195
168
194
208
150
181
123
192
167
228
211
172
121
162
172
121
207
215
121
160
205
112
195
228
150
161
124
123
208
115
112
137
265
208
162
192
124
150
229
208
234
227
171
112
150
192
137
156
172
121
167
167
168
172
174
208
172
115
210
171
184
217
208
167
188
196
177
165
121
156
195
228
208
150
206
216
207
112
208
200
121
150
201
202
204
170
202
121
210
181
185
228
203
165
150
228
172
150
209
177
179
194
172
172
144
167
165
165
208
201
250
170
112
170
241
123
240
204
201
218
204
150
150
150
171
136
209
227
160
123
157
170
239
222
121
246
170
150
112
150
165
193
192
150
226
208
195
159
276
259
112
176
150
201
121
167
136
171
158
150
150
212
237
179
210
218
220
112
150
165
172
167
202
170
150
208
167
150
171
255
167
220
150
225
218
150
112
150
167
208
121
171
208
167
121
278
172
167
171
204
214
112
193
194
112
144
159
171
231
167
150
123
263
158
144
152
299
121
112
171
239
183
112
208
184
141
130
170
164
171
195
171
248
150
221
143
193
187
121
170
203
171
150
167
176
158
159
137
174
112
176
167
174
228
208
160
172
237
243
115
202
123
112
167
181
186
121
172
121
210
156
137
181
150
250
164
198
170
208
263
220
208
112
115
167
176
193
160
170
178
112
181
220
158
121
220
158
228
147
181
171
186
175
187
227
212
164
137
171
112
186
228
150
177
205
150
239
233
112
243
170
232
159
123
208
208
156
193
164
121
112
218
115
136
186
172
200
112
121
150
150
112
164
237
147
121
121
218
194
181
156
168
150
153
121
150
206
202
112
165
205
176
159
176
150
208
136
121
112
208
128
112
112
127
121
176
195
123
167
253
112
231
228
260
257
150
208
189
170
124
112
150
177
220
121
181
208
121
228
228
208
176
115
226
244
178
123
167
112
121
112
195
141
205
150
150
150
167
112
255
171
229
181
150
112
208
121
201
121
260
176
194
170
135
184
167
115
170
159
210
112
121
172
181
293
112
166
150
214
205
112
165
181
124
170
172
168
112
207
171
170
158
212
220
186
250
171
172
160
170
193
150
229
175
150
167
194
220
193
143
194
202
195
150
121
204
208
112
224
121
112
136
208
123
172
147
212
150
276
225
143
180
225
172
112
150
221
150
186
123
121
208
147
216
167
150
192
181
137
194
150
115
232
135
147
135
167
201
168
150
208
165
112
157
159
171
203
172
168
240
217
112
171
121
264
168
150
243
167
217
112
181
174
112
186
171
206
178
147
210
250
115
150
195
167
238
165
150
121
150
164
209
212
179
165
150
135
168
231
150
143
150
187
187
220
233
186
170
173
158
201
172
150
150
205
137
230
208
137
171
177
172
216
208
208
165
216
217
121
152
152
194
218
150
137
208
214
171
257
205
232
165
150
112
181
176
150
167
128
237
112
171
150
147
147
176
130
159
186
170
123
194
181
150
217
158
172
112
210
192
172
170
195
174
179
220
131
112
152
150
203
150
202
185
158
171
137
150
212
172
203
167
150
152
112
121
170
212
170
150
203
228
250
237
172
184
121
167
168
160
150
150
243
159
136
228
276
150
135
186
158
112
195
147
146
194
147
121
168
218
172
179
172
201
121
187
172
150
112
135
172
208
171
170
184
112
160
112
150
242
181
147
150
150
145
121
194
172
215
208
259
205
194
150
150
121
194
233
250
147
172
164
177
241
121
156
208
112
175
172
156
123
186
193
128
196
171
150
223
150
170
143
219
201
121
150
172
112
194
112
123
150
208
172
147
175
150
170
239
167
135
208
137
181
179
235
112
201
243
164
186
231
112
112
121
250
208
112
157
137
170
187
167
171
203
211
250
231
173
272
177
112
219
171
135
228
157
201
172
112
208
160
112
124
136
203
210
164
175
156
112
210
112
112
121
112
203
212
121
238
208
130
204
181
203
167
112
150
121
181
215
145
171
112
150
187
174
208
225
150
136
121
249
123
274
208
240
112
112
168
228
171
123
255
167
192
228
170
193
220
150
171
192
208
263
176
112
218
215
162
160
228
192
210
130
212
208
208
137
121
150
174
195
170
165
123
172
181
218
150
112
177
172
143
112
171
181
193
150
112
167
172
239
150
195
181
150
160
228
233
172
215
159
231
121
137
121
194
170
121
240
112
225
150
237
150
220
130
150
173
194
172
123
224
168
207
182
171
136
124
249
137
205
115
254
186
172
167
172
208
193
171
150
212
174
165
208
112
121
150
205
150
121
172
201
121
112
170
208
167
171
176
219
123
195
250
171
228
121
236
172
225
112
266
167
115
210
136
124
238
171
201
250
195
170
170
164
165
115
112
150
121
208
144
172
123
144
190
173
112
162
210
173
115
167
205
121
218
274
193
112
112
291
147
181
150
167
121
150
170
123
204
112
237
112
186
172
115
124
198
112
205
274
234
195
208
238
229
239
218
245
150
121
264
194
187
150
172
189
278
177
130
112
208
208
144
170
128
112
232
172
225
147
121
112
177
208
145
265
167
271
205
150
208
135
208
172
233
112
302
150
172
263
112
150
239
131
191
237
150
219
302
147
112
168
177
258
186
172
121
164
171
112
235
121
167
123
146
123
180
165
123
112
186
152
170
167
172
208
208
159
237
167
137
112
152
220
202
230
195
159
121
155
176
177
216
208
190
112
167
130
181
231
172
121
181
143
302
237
208
121
207
150
137
150
212
136
112
208
156
167
112
181
202
121
159
172
112
150
201
186
181
112
220
158
123
192
170
165
112
150
171
172
171
165
208
172
170
165
150
198
150
136
255
121
134
207
210
229
150
150
193
163
174
139
150
121
187
150
202
172
146
172
112
276
195
176
112
112
226
216
200
137
210
158
232
181
121
184
150
219
172
187
218
121
172
121
160
186
150
172
112
176
164
156
208
112
121
231
171
187
150
150
150
112
150
121
208
208
165
167
160
128
150
217
168
112
225
238
146
171
152
193
197
150
167
112
240
172
208
150
121
194
178
208
202
203
192
194
208
164
123
201
194
123
150
201
112
209
137
212
246
210
219
112
186
244
205
172
123
150
121
123
150
207
209
195
228
165
228
236
158
170
210
203
150
159
204
150
115
153
123
167
112
192
179
144
181
263
210
167
112
136
123
137
192
179
121
194
212
115
150
158
267
172
189
171
237
112
170
226
115
121
150
137
175
152
176
112
155
196
197
195
186
197
121
226
167
130
226
228
150
237
165
121
147
232
121
167
121
172
121
121
150
195
228
167
192
232
164
158
212
112
208
181
150
176
112
228
150
121
186
202
170
139
123
206
150
186
244
175
150
172
171
124
170
171
150
210
165
167
191
256
143
187
229
124
208
172
112
150
150
165
177
257
276
167
170
187
207
150
137
150
150
174
186
121
182
139
123
205
213
228
186
150
181
194
186
150
136
172
194
226
207
205
208
172
159
150
172
241
167
193
176
146
150
150
209
167
167
121
121
171
150
223
143
150
205
212
165
150
194
171
121
150
193
236
181
210
263
121
268
167
132
150
136
172
112
212
223
208
112
160
150
208
136
179
167
167
201
172
195
158
255
123
208
228
150
115
216
170
150
147
150
158
115
150
112
176
208
157
174
174
194
167
186
150
158
112
208
186
165
171
193
121
196
115
167
193
171
194
208
147
228
228
172
150
112
175
193
219
150
237
121
112
112
123
217
150
202
232
112
219
121
124
211
181
198
172
165
177
190
225
170
171
150
172
170
121
112
263
150
171
112
201
195
121
233
121
186
171
209
150
112
172
137
152
187
170
112
210
202
187
192
231
143
203
121
193
161
212
239
192
193
172
194
165
112
172
150
210
121
238
136
123
228
175
201
181
165
179
150
208
156
121
217
172
228
193
150
187
150
181
150
208
194
208
121
172
112
112
160
245
228
135
168
238
220
181
255
186
193
150
172
206
170
171
212
167
121
171
152
165
124
112
226
112
186
272
121
161
212
193
170
192
136
159
171
171
276
172
190
121
144
112
167
121
175
136
147
123
167
210
159
205
184
230
181
146
165
274
177
167
181
230
174
207
150
181
201
193
112
150
167
302
250
152
208
192
150
208
112
193
208
246
112
224
201
260
170
146
195
112
170
172
208
172
112
219
208
112
162
112
150
121
152
165
199
121
115
172
201
150
171
150
223
135
167
167
202
174
194
243
158
150
150
189
131
201
161
150
172
209
165
255
212
130
256
227
156
158
160
208
186
150
168
215
240
112
112
121
150
167
205
235
170
150
181
172
193
150
233
204
170
181
236
112
187
276
150
186
150
200
121
208
172
170
165
216
222
226
124
217
136
208
137
181
228
208
195
210
121
112
121
167
171
207
202
130
137
181
211
123
246
193
205
228
112
167
165
229
276
181
150
195
194
124
210
123
172
124
172
203
201
206
123
112
123
150
231
243
167
208
136
156
181
165
112
156
181
150
181
121
150
172
171
165
166
225
194
136
150
150
195
210
201
187
176
123
135
112
158
121
176
208
194
121
237
150
232
170
121
186
150
112
213
218
121
167
243
167
212
135
150
181
204
252
182
206
177
150
121
150
136
177
156
147
250
172
123
220
195
174
156
203
228
150
193
112
112
112
172
131
228
121
175
168
237
115
121
121
167
170
130
112
167
181
210
259
205
112
167
223
208
137
187
112
167
135
112
150
150
194
186
228
156
167
112
250
205
150
172
194
112
159
208
239
237
135
164
170
150
195
123
186
137
203
171
135
167
171
123
150
150
208
181
183
203
123
170
178
168
161
226
137
172
150
172
193
185
150
121
159
112
123
205
135
172
181
167
172
175
201
150
152
135
150
152
218
225
265
121
208
187
156
232
172
167
208
240
171
194
158
112
123
170
279
181
278
208
250
237
170
172
150
208
255
216
229
121
150
171
189
172
216
182
302
150
165
202
156
167
185
193
250
240
263
208
185
112
208
112
150
205
186
150
187
137
176
194
171
112
237
177
146
194
135
150
172
208
182
172
150
208
112
198
170
172
201
172
150
193
178
112
121
202
121
212
156
152
198
229
187
136
228
143
121
172
186
175
137
112
216
237
150
192
158
208
171
186
164
112
150
279
172
172
189
160
121
208
231
237
112
273
173
260
172
112
123
150
112
181
152
135
123
232
112
150
165
112
217
112
167
131
177
201
253
150
219
112
229
172
205
228
175
112
291
176
205
204
112
220
112
156
121
124
150
196
213
123
172
212
194
194
172
164
112
226
239
208
128
252
121
176
176
123
179
208
237
167
112
121
112
170
220
229
202
165
147
194
121
144
181
130
150
255
112
165
235
150
165
150
150
210
221
165
115
195
171
150
165
137
112
147
200
217
167
208
176
121
174
121
124
207
172
208
130
218
159
137
121
167
150
194
202
123
218
115
170
170
150
210
177
165
164
223
243
195
121
177
112
150
187
203
121
112
167
128
172
150
195
150
233
170
267
194
239
186
112
121
165
226
170
193
219
147
150
171
186
194
194
167
170
121
208
145
172
112
202
267
112
207
193
164
158
161
167
218
150
112
221
278
212
243
254
162
150
128
276
115
203
121
220
202
121
121
168
160
223
237
137
181
167
202
228
195
181
186
203
171
192
115
121
174
219
112
167
205
193
150
112
123
150
219
210
208
174
150
121
136
219
150
208
164
150
255
121
226
160
176
160
231
194
236
136
219
216
230
212
208
234
121
228
170
236
216
193
194
167
167
203
112
176
182
208
267
167
194
212
171
136
242
112
171
219
124
208
194
238
150
167
123
224
239
186
172
160
172
176
172
160
112
112
171
121
112
172
297
150
228
194
150
208
181
172
176
194
170
219
131
112
172
165
193
167
206
170
195
181
137
153
177
219
121
181
170
225
201
167
215
263
246
150
123
137
205
167
194
178
164
123
164
123
176
158
171
123
112
167
199
112
128
177
322
231
174
249
112
150
150
136
121
203
121
172
150
167
193
159
150
164
170
112
171
176
228
212
121
187
228
195
194
150
184
112
181
224
158
150
233
157
164
112
159
112
135
225
231
167
134
150
112
220
208
170
171
180
112
150
124
177
150
181
159
150
208
112
165
121
171
121
237
150
121
203
150
150
157
232
172
168
208
128
164
189
225
150
159
170
184
121
123
170
255
217
172
194
226
150
147
198
200
237
195
112
200
255
135
121
208
176
170
123
253
123
112
172
186
112
205
195
219
165
156
112
187
195
170
176
208
165
156
121
177
170
250
112
171
147
150
112
172
194
205
204
147
158
195
208
193
150
167
170
123
167
201
150
243
158
150
150
228
255
121
172
181
112
218
137
208
121
147
184
150
212
150
152
212
150
147
195
302
121
228
112
202
168
194
226
255
175
150
170
165
143
150
150
208
121
228
124
176
208
124
170
189
216
255
213
171
167
194
201
112
202
121
171
171
228
170
121
170
123
208
171
150
226
150
194
187
177
171
195
212
263
172
219
187
175
112
233
121
181
176
135
225
170
178
123
112
182
124
112
176
181
123
194
232
159
115
237
152
150
112
172
150
189
171
128
112
167
112
231
228
112
163
115
231
136
170
202
112
179
176
176
176
195
150
194
181
178
121
194
121
135
176
112
170
243
160
165
171
208
143
176
112
177
136
236
302
121
112
172
112
136
158
115
187
175
172
246
236
208
135
150
208
187
121
228
174
231
150
226
128
220
112
224
121
220
176
235
186
121
229
250
181
164
165
201
176
172
172
203
181
172
228
176
187
144
208
181
171
250
250
150
237
207
184
180
121
186
219
165
198
112
115
170
176
150
172
160
178
190
194
239
167
147
150
193
195
147
121
150
202
231
170
124
216
137
187
176
112
112
157
208
181
208
208
191
226
181
135
121
177
112
150
230
195
176
150
208
136
150
172
143
203
212
202
176
210
195
150
150
211
112
112
174
115
135
172
167
150
168
179
231
186
161
237
121
121
176
165
170
172
172
158
136
176
255
121
165
177
156
121
186
207
150
170
124
177
187
234
227
115
167
163
208
130
137
210
121
171
212
226
130
150
150
176
112
112
202
172
150
115
124
179
178
135
150
159
203
212
170
150
160
206
177
189
171
121
183
137
192
194
232
150
112
187
181
150
269
172
208
150
150
135
150
145
172
189
235
228
220
208
112
257
130
238
172
137
150
208
190
211
219
165
121
170
170
121
112
167
158
176
167
136
124
121
159
194
174
143
205
112
174
150
172
208
237
176
184
170
176
208
181
231
150
288
137
167
170
152
112
150
153
193
135
225
135
112
220
156
171
121
150
229
121
202
150
237
121
150
150
121
250
208
172
208
174
248
193
123
150
208
203
194
214
112
123
209
147
121
168
150
225
172
176
152
166
171
217
194
172
144
156
150
150
170
167
208
136
172
176
112
150
158
167
150
157
228
239
228
256
150
150
147
255
225
115
115
217
170
194
239
162
192
121
192
275
236
150
244
192
121
190
214
156
173
167
210
232
146
181
167
159
123
174
121
187
208
205
150
132
112
115
153
112
198
218
121
232
228
184
176
123
194
150
121
232
121
172
165
172
135
150
202
192
112
219
228
124
208
152
208
196
170
208
210
223
172
179
198
137
165
121
112
187
165
167
175
208
112
165
237
123
220
174
174
136
147
203
218
136
186
150
136
136
167
150
207
222
156
208
208
135
223
172
112
250
176
147
150
112
239
136
160
112
231
121
121
167
172
178
231
150
208
187
167
150
187
208
176
112
171
172
159
150
123
168
230
150
176
171
150
172
241
137
121
121
207
208
152
121
208
243
170
194
215
194
112
224
232
112
187
171
165
255
170
161
112
150
208
112
176
208
112
195
279
112
167
235
112
186
206
112
182
150
194
208
203
150
170
150
144
121
150
112
121
170
172
167
181
172
159
172
112
208
112
112
139
121
112
150
237
192
170
172
195
186
168
124
147
170
192
224
150
220
255
150
226
218
202
211
121
112
150
243
213
171
219
136
202
172
203
176
179
150
225
192
200
208
208
112
112
231
223
121
159
208
238
152
123
150
144
210
225
121
121
220
168
150
175
170
247
215
171
130
121
150
177
112
162
182
194
150
208
195
234
175
267
159
171
112
144
112
199
172
239
112
171
216
150
150
159
278
112
150
258
121
255
218
159
263
112
237
172
123
174
136
186
208
174
194
208
172
195
150
215
150
172
150
220
228
195
174
171
143
208
167
121
201
219
187
112
150
167
150
208
194
210
112
177
220
121
164
150
112
171
201
170
124
150
150
167
233
170
168
150
115
210
150
172
250
208
136
196
214
231
150
112
150
121
121
166
143
254
112
165
150
257
219
172
123
165
214
172
150
150
238
226
112
171
165
171
216
150
150
170
130
214
201
150
167
160
162
167
194
172
121
208
208
172
150
172
202
137
200
211
112
175
128
174
112
121
150
233
112
201
228
150
201
221
112
233
115
150
150
194
170
150
208
194
121
218
152
128
112
121
165
164
135
150
112
205
192
170
112
218
206
225
121
136
167
143
170
171
165
165
158
171
210
112
135
136
115
276
121
167
136
194
177
152
226
150
121
192
150
170
112
215
208
172
172
150
170
192
203
147
194
193
112
250
112
233
282
232
223
164
250
174
178
170
172
112
160
154
112
217
218
205
206
236
167
187
203
112
189
252
168
159
158
232
214
216
181
192
121
276
208
187
208
121
237
224
112
245
177
208
217
202
194
123
212
228
149
171
121
278
150
186
164
183
152
150
112
115
211
208
121
150
226
123
121
186
192
112
150
185
147
220
150
235
150
195
218
176
193
176
112
172
128
202
150
181
135
130
136
176
121
176
208
137
121
123
257
174
237
160
128
167
121
143
170
150
198
150
223
150
208
121
147
143
203
121
193
112
165
167
202
240
167
187
202
137
123
257
242
206
165
112
150
121
135
156
208
112
194
192
243
121
228
172
112
177
112
130
202
150
171
195
123
121
130
212
112
233
121
194
112
181
170
230
186
179
121
164
172
193
168
150
123
167
276
197
255
186
150
228
150
122
121
112
208
167
160
112
160
172
150
209
170
146
214
150
112
207
196
172
181
135
135
143
208
150
212
195
150
165
145
214
121
121
193
225
121
130
112
150
211
167
232
210
170
276
112
150
193
275
223
121
232
112
176
150
150
232
112
186
181
228
165
208
112
112
135
208
232
112
112
167
168
112
173
179
121
172
171
208
202
150
203
182
150
161
172
176
208
165
172
250
172
231
112
128
240
201
121
112
130
175
244
137
165
150
212
122
208
202
121
112
194
201
193
199
170
187
150
228
150
152
212
112
172
167
170
121
168
192
172
201
178
174
196
162
204
172
189
150
208
228
150
158
235
159
172
159
121
121
150
150
242
137
167
137
194
115
200
158
176
220
135
170
123
302
174
170
210
259
172
231
179
115
228
150
170
228
209
121
150
214
208
176
239
137
150
121
150
115
150
150
160
167
150
237
176
121
136
150
112
187
193
170
187
172
229
174
238
121
121
150
276
219
171
171
171
112
165
269
112
171
231
214
112
244
217
150
194
130
112
213
222
158
112
208
150
137
217
150
164
260
170
147
167
231
112
202
208
170
189
247
121
123
195
218
156
150
150
195
121
208
150
115
121
170
150
217
210
172
137
147
172
186
240
208
150
254
177
147
171
121
115
112
204
210
195
112
209
135
170
187
201
112
163
172
124
176
178
176
194
193
218
189
121
165
150
165
135
147
179
239
123
194
158
219
220
208
186
205
147
172
121
198
255
128
171
176
171
112
150
121
281
121
233
194
112
121
172
175
112
167
147
150
150
231
238
150
112
150
135
200
206
210
137
210
208
186
187
147
121
228
167
172
121
139
164
194
150
200
150
196
150
153
171
179
203
172
160
150
228
170
181
208
208
228
211
150
112
137
263
160
232
150
158
130
130
223
220
187
165
167
208
112
150
208
159
112
181
247
193
229
112
150
167
121
123
165
205
167
172
261
181
112
177
209
172
177
208
253
112
160
143
128
112
112
192
186
150
150
123
170
170
234
187
150
231
219
208
150
220
112
167
121
112
181
112
212
208
278
150
167
228
167
259
170
112
228
172
121
195
207
170
112
224
193
121
195
172
171
121
112
112
123
124
121
215
121
208
170
172
170
202
136
172
121
177
168
150
112
158
208
121
150
112
230
255
186
181
178
247
150
171
208
201
244
193
171
208
208
135
196
207
165
136
225
202
190
187
147
150
208
150
137
208
178
146
229
156
123
194
150
228
177
123
144
213
150
231
124
112
212
172
171
165
173
176
204
208
208
124
150
236
167
137
201
167
167
192
152
167
245
150
112
167
215
167
176
208
191
123
167
121
216
210
196
128
176
194
228
208
212
174
147
150
167
193
187
150
150
228
112
172
121
137
177
150
123
194
243
209
242
165
150
172
137
200
159
112
240
208
150
211
147
150
147
172
244
177
236
137
147
164
159
150
237
150
121
135
202
150
220
208
137
171
194
172
211
167
112
172
150
171
202
194
164
208
278
135
150
193
201
171
171
205
208
244
150
167
226
171
112
255
176
121
164
164
150
112
202
115
218
225
150
174
194
128
135
181
150
253
143
176
174
228
150
123
208
112
208
164
150
220
121
172
147
194
150
150
220
112
170
242
112
208
158
172
123
217
170
208
167
172
176
201
235
112
136
229
152
170
150
150
208
190
177
229
150
150
214
250
150
165
177
208
181
171
150
172
170
174
135
112
150
150
228
112
245
167
168
203
201
121
172
112
192
150
178
121
181
181
165
174
208
147
237
177
212
167
202
121
121
195
156
167
121
137
136
136
123
121
150
130
210
200
167
262
181
150
112
186
147
186
181
136
235
239
171
256
205
124
156
177
170
239
112
225
244
172
176
178
208
156
172
165
243
209
177
237
150
147
200
240
160
136
160
176
254
236
202
181
226
170
254
170
226
233
156
193
141
150
195
186
172
232
228
174
137
163
121
171
150
135
146
187
112
259
186
150
176
177
121
229
184
150
207
212
150
168
265
208
219
225
112
192
239
172
112
150
173
231
135
164
195
112
165
136
136
195
150
128
184
150
208
150
177
187
213
162
181
147
112
171
240
156
150
210
208
167
225
195
150
202
121
112
150
112
150
229
165
150
112
150
210
165
115
121
185
121
171
170
162
187
150
176
176
112
202
171
136
172
250
158
225
278
112
160
121
194
121
112
170
178
182
112
150
121
150
135
164
240
136
131
176
194
150
156
228
121
112
210
208
261
150
181
208
150
150
188
170
157
121
156
239
170
112
208
185
210
227
150
194
159
115
225
156
112
267
177
171
208
165
274
172
208
121
150
146
195
112
150
167
115
115
208
115
210
210
174
170
181
172
112
112
171
218
202
170
171
150
168
167
208
121
150
112
150
226
112
172
112
115
182
124
207
204
128
266
112
238
137
235
172
198
150
170
121
121
181
229
162
228
219
150
181
239
139
112
124
226
170
150
167
186
194
160
176
159
171
191
167
172
171
217
150
172
112
226
220
167
186
172
175
220
208
219
219
229
150
224
150
172
121
193
121
112
181
150
242
217
135
172
165
241
165
135
167
168
193
144
112
181
272
212
112
150
135
121
135
172
165
220
121
136
193
189
150
208
128
210
208
171
167
167
137
170
208
209
112
205
167
171
150
172
121
186
214
243
121
150
184
203
206
150
255
187
159
167
176
223
167
187
147
172
209
123
172
190
150
165
168
206
171
171
172
170
172
255
112
112
123
150
167
150
112
150
172
207
179
128
276
135
231
225
212
150
201
137
172
171
121
167
150
150
160
150
176
144
237
160
177
123
201
179
167
112
192
215
150
208
150
121
175
128
187
150
172
121
121
187
208
210
121
170
194
150
224
197
150
170
171
186
172
225
212
164
150
150
121
174
208
124
189
123
112
202
201
181
121
135
255
170
112
112
186
150
263
238
152
194
176
150
172
135
130
150
150
202
233
208
136
165
152
245
144
167
172
269
170
112
167
150
150
112
208
208
187
202
186
150
150
112
150
208
150
170
144
228
208
172
147
136
203
199
150
135
181
228
253
121
192
236
150
194
170
171
202
115
160
187
112
121
170
121
165
219
219
202
112
192
185
112
237
208
112
174
218
176
112
121
194
135
121
136
171
150
208
150
150
157
150
212
124
247
123
150
164
201
115
205
112
112
186
112
152
172
150
150
237
135
150
123
237
147
171
167
112
178
220
208
123
212
150
121
229
172
112
150
242
112
112
181
202
218
115
161
121
240
152
136
241
233
215
172
187
177
167
167
278
137
165
150
121
171
187
144
159
231
112
209
150
160
160
172
194
112
172
130
236
239
121
164
228
194
121
168
150
277
210
208
170
208
112
208
124
265
123
121
187
181
167
159
177
150
233
181
150
192
186
201
112
112
176
207
184
228
207
240
167
171
186
235
196
112
201
190
243
179
208
176
186
186
216
193
194
187
202
121
112
112
167
172
171
208
208
150
112
152
214
186
150
158
136
208
195
194
150
171
208
172
208
150
231
150
171
144
112
158
218
112
174
150
210
121
136
270
112
223
256
150
186
208
137
121
112
187
208
201
250
121
216
176
225
162
137
168
185
176
121
112
121
115
112
123
170
174
194
137
175
165
167
187
257
112
195
228
160
135
233
190
121
194
212
197
150
112
150
170
233
112
208
244
172
123
278
112
139
232
150
192
121
206
184
150
177
181
112
150
121
195
185
203
158
176
167
203
170
121
158
121
213
214
226
233
172
202
150
164
173
260
121
150
172
231
115
187
135
186
185
228
121
150
160
150
176
121
141
173
147
121
112
150
203
150
156
136
250
121
121
187
234
229
136
290
249
193
220
167
121
203
201
112
186
150
173
228
156
208
225
170
231
170
112
179
176
160
239
112
165
150
170
167
208
187
121
176
137
165
150
202
238
220
152
171
241
228
288
147
227
221
172
208
187
150
112
167
228
239
150
167
225
201
121
209
147
202
112
137
159
208
135
112
208
187
150
137
186
177
112
186
171
194
234
136
167
170
235
112
150
150
187
177
217
115
159
170
158
175
150
152
156
159
186
167
187
112
171
194
121
171
228
170
150
181
194
170
175
167
194
195
196
208
218
181
112
228
276
172
266
207
205
181
115
136
170
135
150
170
166
150
172
187
189
121
150
208
202
201
164
239
288
234
171
210
210
187
207
171
112
167
203
150
299
172
171
228
112
112
225
121
137
167
150
159
210
167
150
181
165
171
192
143
150
123
165
150
237
121
123
208
112
150
229
135
121
187
112
208
121
208
123
123
194
172
202
231
195
194
112
112
150
150
186
193
195
201
137
159
192
226
150
171
165
150
225
168
115
158
121
150
203
112
112
135
172
195
121
165
192
194
121
159
112
172
159
150
242
150
167
204
194
137
201
225
150
121
112
159
150
123
112
207
218
177
202
167
172
158
226
135
190
112
172
203
131
112
206
115
167
168
302
162
150
172
181
128
163
194
135
112
112
179
112
228
158
220
130
156
150
165
238
202
160
134
112
177
209
112
172
112
159
150
136
210
156
112
179
340
143
121
236
112
216
121
167
188
150
192
217
112
174
249
121
181
208
147
165
207
112
212
187
147
205
115
202
150
282
121
121
208
292
150
228
150
171
186
137
228
167
112
150
112
254
167
193
137
211
168
167
203
202
147
112
205
228
255
208
278
302
181
208
184
302
156
181
224
170
195
172
278
203
176
167
160
167
196
147
137
167
172
205
190
121
112
194
150
232
202
112
121
208
121
127
178
112
170
150
208
128
215
208
228
228
144
208
207
223
112
172
115
297
121
167
263
204
240
174
176
217
176
176
181
121
238
167
152
225
208
124
204
121
219
137
181
205
230
210
121
170
176
150
123
205
207
112
174
196
250
123
237
170
219
187
181
264
112
112
194
264
137
150
228
171
208
112
181
228
223
156
130
135
181
220
233
208
112
208
157
230
208
150
225
208
168
198
175
128
171
150
192
123
135
150
250
157
121
234
184
165
208
208
124
193
230
176
218
230
121
167
243
170
223
112
172
112
152
187
216
171
181
170
234
112
112
228
150
254
150
177
112
263
172
218
171
193
123
170
115
121
121
176
208
112
167
208
202
112
150
159
121
170
226
150
186
194
112
112
156
150
150
164
172
202
194
150
123
233
121
200
121
112
194
124
208
202
112
121
167
150
150
172
181
150
181
220
172
150
170
224
112
112
150
165
170
135
225
131
208
208
263
150
186
170
177
228
112
210
147
121
201
171
112
172
160
121
231
172
167
137
193
171
173
156
150
115
203
170
161
112
226
258
210
193
112
170
150
159
158
255
170
193
145
168
203
121
123
206
159
112
210
219
137
171
150
176
171
158
147
130
150
121
147
150
302
112
123
202
215
144
210
137
263
112
208
233
164
123
135
194
171
150
195
167
225
150
186
217
175
193
152
150
121
158
172
181
165
255
167
112
121
179
121
150
112
172
160
156
115
167
150
175
158
150
159
210
159
150
170
239
150
159
187
165
112
164
147
147
208
137
130
115
172
224
171
187
145
144
187
185
150
194
167
208
186
123
239
136
135
216
177
175
149
211
167
112
164
174
165
147
208
167
150
172
205
145
302
208
172
222
172
208
208
203
165
172
150
202
121
181
195
207
172
121
150
121
121
165
159
202
174
222
130
170
228
124
115
150
208
172
195
147
150
184
112
208
185
123
208
112
115
252
115
202
150
208
172
121
172
208
239
193
150
208
226
193
170
112
121
150
178
167
135
172
112
172
193
201
167
121
150
128
150
121
121
115
194
152
236
123
233
167
172
172
245
137
147
115
115
115
172
172
165
163
187
112
165
239
235
150
112
198
215
203
208
175
112
274
150
171
172
193
112
187
112
172
112
234
147
147
172
181
212
115
121
121
186
160
170
150
208
150
150
171
220
201
121
208
208
158
208
170
157
207
150
147
205
182
135
130
135
216
172
233
235
112
225
112
150
250
123
187
177
130
150
201
171
255
150
212
197
171
208
192
112
150
236
150
124
159
212
194
165
193
193
220
177
176
208
135
112
121
150
202
172
201
130
136
165
112
112
209
172
204
112
165
228
212
172
239
145
207
177
170
302
121
158
238
172
112
220
137
159
158
186
150
158
123
150
208
187
172
208
176
150
177
172
112
246
186
203
150
135
136
170
150
121
156
239
207
121
208
158
205
210
202
112
214
255
160
229
150
150
196
115
189
248
121
205
123
170
205
170
165
208
196
223
208
237
112
177
206
147
121
150
167
205
229
150
195
112
194
121
123
121
171
208
172
115
112
150
231
208
112
208
207
167
208
208
167
150
276
179
139
237
150
165
150
238
195
123
124
115
121
193
147
218
112
150
165
194
225
246
206
167
263
112
186
208
159
150
220
123
170
172
112
121
123
121
189
162
150
205
194
150
208
217
175
235
203
212
121
243
206
260
112
256
121
147
136
159
208
150
123
121
208
216
130
208
278
186
168
150
124
112
121
186
121
257
165
123
218
123
194
112
115
181
219
181
227
158
215
220
115
112
218
167
215
112
172
159
112
194
193
165
112
137
172
172
121
208
150
121
112
187
128
115
172
193
112
276
150
150
165
112
137
228
172
171
208
121
226
237
228
121
121
193
160
233
228
212
219
115
128
174
137
165
171
121
203
228
112
150
170
135
181
150
112
171
212
205
170
112
201
121
112
208
208
192
220
171
201
150
112
177
121
112
128
150
192
199
196
232
302
112
208
112
172
170
112
195
215
239
174
210
121
187
147
121
112
208
228
121
194
210
112
194
112
177
218
172
255
215
228
242
171
239
225
162
135
123
229
150
289
150
175
198
170
112
195
187
112
239
201
168
254
202
225
128
201
167
205
215
112
112
112
172
195
171
172
291
150
124
135
150
121
150
172
136
176
208
115
150
150
231
171
172
171
150
112
218
112
198
208
201
123
150
279
170
172
121
112
195
228
121
186
146
121
150
181
176
123
174
208
233
156
277
150
176
121
172
212
150
137
172
121
112
177
237
230
240
150
150
150
171
193
225
167
181
212
208
303
135
128
209
195
187
191
204
123
137
137
187
143
210
123
208
150
121
121
238
203
150
263
150
144
150
121
121
186
121
228
181
121
193
176
112
121
176
172
193
257
167
194
201
112
170
276
167
112
121
194
150
193
196
177
171
121
216
150
342
121
206
182
210
150
194
150
150
144
208
225
172
257
208
195
217
150
242
112
198
150
112
226
167
172
229
208
150
150
272
150
208
121
186
112
265
176
147
176
158
150
192
158
112
199
170
172
240
212
201
170
168
136
137
121
121
255
250
152
164
236
218
156
121
227
167
208
160
165
115
112
121
168
150
250
150
195
181
121
123
208
170
137
228
207
193
176
210
150
192
121
179
112
167
172
237
121
156
150
150
128
226
112
150
112
128
256
135
193
112
147
176
206
165
121
203
297
115
150
172
156
150
112
201
202
121
123
167
112
172
212
121
172
150
168
150
137
268
121
150
202
165
123
167
176
219
136
195
279
208
150
165
112
150
121
112
152
202
176
195
240
229
226
177
193
212
208
170
208
208
194
242
147
184
112
231
112
177
172
181
112
115
199
237
123
150
170
184
165
210
231
150
210
112
121
187
187
233
123
212
150
167
231
193
179
172
275
121
150
174
243
161
121
121
189
121
201
168
194
164
170
231
150
112
141
208
112
170
186
203
220
115
159
195
167
216
240
165
218
123
112
162
170
193
144
112
160
176
187
165
130
147
112
170
205
150
150
184
237
150
224
237
121
112
128
237
257
121
214
164
240
181
207
208
228
115
208
202
222
174
201
128
112
170
250
210
193
123
112
115
252
217
187
168
112
237
123
165
167
112
225
167
172
172
257
150
112
112
172
205
121
186
243
150
130
208
178
112
150
215
246
150
171
156
208
150
170
172
228
167
194
150
227
150
112
123
208
167
170
194
239
121
167
228
159
230
273
202
135
123
237
143
171
232
184
203
115
147
115
219
121
195
167
128
208
128
234
225
150
172
165
150
193
165
150
182
123
231
193
207
208
123
186
121
121
167
173
172
276
187
172
160
137
112
164
194
181
181
112
172
193
168
112
202
115
135
172
243
203
167
215
263
171
202
226
135
186
190
171
271
212
208
226
112
176
202
171
187
185
237
115
181
171
177
150
194
263
208
121
219
237
202
240
174
242
147
172
263
181
164
186
112
250
150
205
121
123
212
121
181
193
208
112
167
247
150
170
124
241
237
147
112
121
150
181
121
250
171
128
228
181
239
150
150
147
158
112
218
167
121
150
167
167
175
150
219
123
203
172
190
121
150
121
112
234
123
121
152
216
135
161
193
226
259
181
194
121
177
160
231
172
176
214
208
170
112
228
225
150
150
194
112
164
112
135
192
170
167
121
193
194
170
236
208
170
167
158
121
208
150
137
137
208
210
112
121
144
128
121
150
177
150
194
112
124
181
225
172
147
167
167
167
172
193
208
160
159
150
136
112
207
172
135
172
208
167
112
177
172
150
165
171
135
205
219
150
266
115
202
181
123
136
150
156
193
195
238
172
183
150
170
150
208
208
150
216
226
219
112
263
218
150
112
121
217
231
194
124
150
228
189
278
172
201
167
193
112
170
159
193
216
136
233
208
189
156
194
174
150
208
165
124
165
170
150
205
112
112
204
115
147
112
150
150
147
229
207
233
201
181
208
171
184
121
132
112
150
112
203
112
150
170
170
198
136
124
170
123
159
202
189
167
112
150
206
112
172
205
150
212
112
233
174
112
211
146
121
165
183
187
167
150
265
194
198
139
121
192
179
203
171
208
208
150
121
220
209
150
112
202
208
232
243
243
167
165
190
170
112
121
112
202
150
186
167
135
165
245
187
123
276
136
128
112
121
257
219
204
229
121
204
237
121
208
204
206
112
251
176
233
241
150
147
173
176
150
112
123
150
176
227
139
112
112
195
164
150
193
208
150
175
172
170
207
272
150
112
150
112
150
201
239
287
187
213
170
112
150
174
167
112
171
124
167
208
199
202
172
167
170
172
164
164
150
210
160
150
170
194
121
179
194
193
128
213
167
156
208
150
150
115
209
228
174
181
150
170
194
112
213
176
203
150
167
121
137
150
171
179
136
112
112
136
208
123
195
170
176
201
167
150
150
150
156
202
172
112
130
165
172
165
150
112
237
177
193
174
123
130
201
135
190
164
112
250
194
147
170
203
150
112
237
167
218
121
181
208
165
170
112
172
136
127
176
174
121
150
208
212
216
171
150
217
112
228
219
208
135
139
201
171
246
228
207
250
237
198
137
223
202
150
136
150
217
168
167
302
150
150
172
239
217
121
121
150
208
165
150
250
208
115
179
147
187
150
234
178
150
121
226
167
164
231
240
240
179
156
208
160
208
181
123
152
228
112
115
167
231
156
181
211
176
137
130
167
112
121
172
150
150
167
158
150
150
193
150
207
206
217
167
214
208
164
231
143
171
192
112
176
257
150
135
206
115
150
227
187
193
209
121
209
150
208
218
228
172
181
164
225
235
186
150
121
167
172
187
157
112
158
205
182
231
202
210
194
195
150
147
172
219
209
121
201
177
112
137
176
228
150
121
150
203
168
176
161
202
233
164
239
168
152
137
150
208
167
174
167
231
172
208
121
115
121
121
181
187
165
135
189
177
177
150
194
193
210
150
206
112
201
132
201
302
208
121
233
150
203
208
196
135
176
201
237
121
299
121
205
208
186
216
170
167
168
205
208
112
193
160
167
150
150
176
123
208
171
239
223
130
231
121
187
150
226
230
150
176
252
150
232
121
150
150
193
182
171
159
112
194
218
210
172
172
193
187
181
187
167
147
237
164
172
164
205
240
162
218
179
167
170
150
121
123
158
196
212
150
231
170
150
220
158
218
195
135
167
172
251
201
224
123
144
194
193
112
193
198
150
202
167
194
176
130
193
228
212
186
194
208
112
181
170
208
150
167
176
209
136
208
205
213
167
208
123
167
208
150
275
239
297
170
165
112
176
152
205
232
208
228
135
130
209
199
172
150
176
170
250
187
112
174
167
237
112
208
150
146
194
237
137
158
201
164
217
130
150
250
115
135
135
202
226
163
185
150
228
167
194
208
276
150
208
171
199
194
121
178
167
112
112
182
112
124
137
150
121
112
234
174
212
160
186
135
112
150
176
241
150
121
121
201
160
147
121
181
135
132
112
172
121
263
160
165
150
176
237
237
232
208
150
112
172
172
121
150
275
186
170
150
128
219
219
167
167
112
194
215
184
195
250
223
194
208
164
150
172
112
150
136
181
186
194
121
170
121
198
179
176
112
112
215
168
112
130
177
124
170
112
195
168
164
150
112
195
167
198
170
208
150
203
208
112
121
121
168
123
147
121
177
170
266
112
165
150
121
194
175
172
150
230
170
150
208
207
170
164
184
123
171
158
196
193
253
160
202
121
187
136
121
228
150
167
208
226
234
150
137
123
215
250
112
112
208
168
136
112
172
172
219
137
209
112
167
183
228
123
210
230
172
263
195
177
254
167
229
150
150
141
175
159
201
167
150
297
194
150
167
112
121
121
194
207
167
172
170
207
147
121
202
235
166
172
210
172
194
121
112
171
202
210
136
123
237
150
135
236
150
208
158
112
112
112
115
170
176
112
193
190
112
237
150
121
211
173
121
181
112
168
112
186
137
197
240
150
193
178
199
112
121
112
176
121
172
160
302
200
160
193
167
172
112
203
203
150
150
170
212
150
181
123
112
150
172
195
256
231
175
225
147
165
144
115
201
112
171
150
135
150
256
194
170
177
172
121
184
207
194
174
150
172
201
243
150
137
195
156
167
173
225
208
150
121
172
121
121
137
189
121
150
123
208
121
209
243
160
115
159
150
121
195
194
219
168
210
229
193
217
193
156
194
172
176
192
181
121
174
175
135
150
237
194
150
121
150
212
202
121
240
112
258
254
121
150
250
194
172
150
121
220
260
150
217
172
194
156
187
195
218
123
255
112
130
209
172
124
201
135
121
121
147
205
185
136
165
260
124
158
201
228
150
123
150
207
171
112
165
175
201
268
250
167
193
172
112
208
112
135
167
160
150
172
228
174
150
150
150
203
135
170
150
176
167
228
219
150
112
112
208
208
201
130
150
136
124
174
121
123
167
193
171
112
239
213
170
228
175
194
150
121
201
194
121
146
207
176
164
150
176
185
121
217
208
150
209
195
195
112
215
147
212
167
208
276
237
123
150
123
123
194
150
115
186
175
205
150
210
265
177
112
219
186
192
150
208
150
186
228
112
184
112
172
176
208
206
156
112
167
172
115
171
208
163
170
150
260
150
164
112
219
228
167
192
172
124
121
218
187
201
174
150
172
167
112
150
150
240
167
152
115
150
112
187
181
179
186
112
121
121
123
159
147
115
121
165
171
228
203
192
183
121
170
150
150
214
136
112
177
243
112
171
276
175
210
195
137
150
260
186
228
181
193
179
176
170
150
176
147
112
255
201
171
170
150
115
115
172
170
150
136
112
112
294
205
225
147
112
208
228
239
150
167
194
179
175
121
150
187
147
112
208
156
167
170
124
123
172
172
123
208
160
248
170
302
183
121
123
121
208
115
121
171
208
115
228
177
160
158
150
165
112
184
160
121
170
231
189
171
190
124
170
112
208
121
167
208
159
150
123
150
185
208
150
250
193
174
171
130
171
124
277
200
164
250
171
112
232
172
194
123
165
173
164
121
171
123
174
203
202
203
147
179
167
150
187
201
176
164
167
194
199
194
170
170
193
209
171
217
181
171
279
167
172
208
121
171
170
175
228
115
175
194
121
136
112
135
167
172
144
121
260
225
219
112
150
167
115
147
219
186
201
205
136
181
186
170
121
200
159
137
174
207
150
186
196
172
213
121
219
171
208
177
181
121
195
172
225
205
193
143
203
150
130
208
220
228
252
150
194
150
135
225
164
124
175
112
195
144
150
219
121
137
135
112
121
150
228
194
176
112
115
175
124
112
150
112
237
250
123
112
128
202
167
195
150
270
234
194
208
112
171
185
121
219
196
121
158
193
229
121
167
186
164
260
203
196
173
186
164
121
115
167
193
164
171
176
136
230
218
186
210
158
211
170
167
121
187
170
150
194
150
208
159
208
112
143
193
162
121
172
159
187
115
187
208
157
176
193
186
168
136
152
179
112
112
203
174
112
135
150
187
179
156
198
121
227
150
150
137
199
150
150
112
205
225
170
167
175
160
121
194
208
165
238
112
158
121
194
150
175
124
112
178
184
238
231
239
176
208
240
112
143
181
257
237
150
186
226
194
172
112
186
137
150
167
172
167
112
115
224
172
121
115
152
150
176
217
150
171
175
237
152
214
165
181
167
150
170
112
150
172
210
170
192
150
205
143
233
170
208
200
208
164
150
232
205
112
143
172
193
212
247
112
216
219
167
212
121
276
135
167
112
150
186
160
194
171
207
216
121
241
121
112
288
258
158
168
150
121
172
208
255
208
188
170
112
112
205
121
172
235
147
210
208
112
172
181
123
121
230
185
181
195
164
121
186
147
176
199
150
172
165
170
243
226
165
150
237
203
150
213
213
121
208
124
215
112
167
143
167
209
150
112
137
112
186
150
165
150
216
112
123
203
225
194
217
194
150
170
214
210
164
186
259
150
121
211
159
178
123
243
150
121
112
165
121
181
276
217
112
207
115
147
186
208
238
150
184
241
202
208
164
112
246
282
210
171
123
218
171
172
186
150
235
184
237
210
250
147
204
144
112
175
208
112
263
207
171
137
150
177
195
167
231
170
150
210
150
112
193
208
255
172
112
167
181
170
150
121
201
195
185
210
160
112
195
159
152
165
150
150
186
208
206
112
112
167
156
208
225
150
147
121
150
112
237
170
238
164
150
211
170
115
167
266
186
172
150
182
121
217
171
194
176
112
172
165
112
159
253
147
121
168
233
193
112
298
150
170
172
193
201
121
112
228
168
182
226
239
124
172
208
121
219
247
112
121
208
175
170
219
150
270
221
194
220
192
194
228
172
176
112
239
250
158
186
193
233
211
207
205
150
237
199
233
186
178
136
121
170
150
156
208
112
208
150
112
275
171
194
186
229
150
187
217
135
112
210
172
112
112
208
172
130
215
121
121
250
176
184
210
177
229
115
208
174
150
245
150
146
186
250
167
112
164
137
208
112
194
165
217
194
164
218
172
239
228
164
208
147
150
121
121
121
150
135
178
130
112
115
121
121
164
135
112
150
164
170
181
112
121
176
193
205
112
210
167
157
121
112
112
225
193
137
150
112
121
210
233
160
231
171
121
112
121
187
123
187
195
159
112
208
170
158
165
195
121
208
212
115
150
257
181
165
201
150
216
170
210
218
227
150
112
150
181
181
179
240
195
165
170
172
243
123
218
226
150
228
239
193
150
121
160
121
150
158
218
165
172
176
123
158
260
170
187
171
143
218
239
193
170
150
176
201
173
136
121
112
167
135
228
164
205
214
121
170
232
215
243
150
257
112
165
210
202
172
147
171
170
186
179
150
212
167
150
121
112
175
172
158
172
182
150
181
112
159
136
212
150
121
168
152
200
171
205
152
112
121
325
202
115
178
219
194
239
115
167
112
194
150
160
184
150
208
194
130
170
181
150
170
178
177
172
151
208
150
229
170
202
237
228
150
193
208
167
150
172
112
205
213
176
218
194
112
194
250
172
239
150
135
167
124
245
194
186
208
237
172
167
243
195
208
170
167
210
219
158
121
136
255
208
164
123
112
115
150
167
181
146
181
231
193
216
121
112
121
231
121
112
195
259
172
176
220
240
210
187
167
115
112
167
123
171
112
185
257
205
150
160
121
210
170
121
181
226
150
121
128
175
275
150
194
173
112
150
242
171
196
205
121
190
176
112
194
112
171
219
150
167
232
257
210
205
253
121
208
187
209
240
231
208
112
147
171
167
165
112
202
115
121
253
165
195
208
212
167
250
167
167
193
123
174
212
150
200
150
121
208
112
115
201
170
150
202
202
195
167
158
112
137
135
150
208
159
247
181
150
171
172
218
171
170
162
194
194
121
158
208
232
167
147
164
150
150
174
150
150
164
231
124
165
194
181
176
187
184
231
221
136
150
137
150
172
150
193
162
136
302
157
179
150
255
150
121
187
231
195
228
208
172
112
150
194
112
165
121
172
159
112
179
167
150
224
136
239
193
159
186
192
171
194
167
175
112
218
167
150
221
172
165
217
115
184
172
147
208
177
208
228
230
172
171
112
160
115
264
150
164
194
112
262
112
152
130
224
124
213
123
208
227
207
250
223
150
222
136
123
112
218
172
137
112
255
172
112
170
158
210
150
193
157
121
112
233
150
167
237
208
147
135
206
147
121
231
167
170
192
243
203
248
172
112
164
193
192
121
150
121
172
112
181
112
170
260
150
167
170
161
172
276
112
171
150
171
121
164
181
161
147
238
201
231
187
201
237
186
245
201
194
196
177
171
115
167
219
172
171
181
121
172
187
121
240
183
174
215
150
225
195
156
172
186
135
150
159
121
158
176
208
150
218
147
147
150
121
171
112
194
112
215
136
158
115
170
181
165
146
220
204
206
210
167
150
196
255
147
205
230
214
177
124
112
198
280
208
179
123
208
152
150
238
228
198
176
121
181
274
112
172
172
121
112
212
228
121
150
136
168
177
112
150
208
199
219
112
121
150
112
123
174
210
167
170
156
175
171
186
175
194
210
201
150
231
121
121
112
194
174
123
195
263
167
159
121
170
121
226
150
167
123
137
115
167
115
229
204
257
176
147
121
172
263
194
167
177
156
121
190
228
152
150
192
181
164
204
167
193
215
281
160
135
112
219
228
123
135
254
150
236
195
121
181
112
112
150
124
217
150
176
167
127
189
228
112
257
170
208
174
135
187
236
242
208
121
124
167
195
146
228
112
150
150
165
157
172
150
112
167
164
170
218
150
218
210
195
208
145
192
181
150
189
237
190
150
112
121
195
121
160
150
150
158
147
130
143
128
150
150
112
170
243
144
165
194
121
115
230
172
112
170
230
147
164
158
178
121
137
174
255
212
165
150
171
121
160
112
172
201
202
167
112
147
150
237
170
168
170
168
243
282
135
112
123
150
172
184
172
150
263
264
121
170
121
176
137
185
150
208
214
181
195
167
182
170
164
167
171
150
195
150
115
112
112
150
170
202
208
170
121
263
150
228
121
210
227
187
170
152
176
165
174
124
244
156
228
150
121
150
217
135
170
237
171
123
193
172
158
150
208
207
150
159
112
192
202
175
297
194
121
112
112
210
171
112
263
185
231
177
225
242
137
193
171
172
185
112
123
181
121
214
115
255
150
150
205
135
229
219
167
201
150
264
177
203
200
194
172
215
193
171
173
168
147
152
194
123
205
187
250
112
147
170
233
112
164
112
121
208
189
139
220
190
152
136
150
137
220
170
123
236
130
137
208
112
121
194
176
121
192
165
225
194
203
209
121
230
123
210
150
123
225
112
170
202
218
172
150
263
176
165
112
194
164
112
123
112
150
203
208
173
239
112
152
247
150
195
115
220
255
121
146
263
124
228
150
123
150
187
172
227
112
112
186
160
239
136
160
234
228
278
167
194
150
255
150
136
136
181
196
170
170
172
170
195
141
150
167
167
240
226
167
150
193
202
115
219
112
228
165
137
121
121
206
115
202
121
218
172
195
172
240
167
184
181
250
143
150
167
152
150
172
194
112
136
112
172
201
167
121
193
112
157
121
202
171
167
165
181
112
161
167
176
135
167
150
208
115
171
172
156
176
229
164
159
170
194
121
112
208
171
137
172
193
121
112
112
112
174
194
194
130
192
170
235
172
172
193
112
167
150
150
135
150
121
239
121
230
236
176
167
172
170
176
228
164
150
214
194
135
170
121
193
218
121
152
281
152
112
123
193
147
219
201
194
193
147
150
150
112
199
208
228
150
186
121
208
128
208
112
170
206
208
121
130
171
158
124
115
250
192
150
250
112
135
176
112
124
232
192
150
112
121
112
202
150
160
136
137
144
121
208
152
193
147
179
217
167
192
112
236
198
208
182
179
177
208
112
176
208
194
121
167
206
123
172
162
158
177
193
150
137
150
208
186
181
170
150
150
203
112
152
202
194
209
202
229
121
201
208
150
123
228
147
220
187
150
165
176
167
137
165
220
236
150
150
156
150
121
214
112
247
233
147
253
130
112
124
259
150
202
123
172
158
150
207
195
210
240
194
170
208
167
112
216
130
150
150
170
150
200
208
208
150
112
171
171
121
195
204
172
124
187
237
172
112
150
112
192
167
150
172
176
152
189
121
229
210
170
176
135
167
121
208
173
121
121
218
150
231
121
112
171
172
201
137
159
124
170
210
121
132
193
204
172
150
172
178
150
159
207
170
170
121
157
189
150
150
181
194
178
176
112
150
171
121
121
136
176
121
202
150
205
137
112
137
269
299
167
124
208
168
167
123
171
150
181
208
171
123
150
212
112
158
186
112
210
112
202
170
150
121
240
147
172
121
208
281
171
216
170
150
208
208
121
245
171
177
178
211
205
170
115
219
112
167
123
172
208
164
235
112
172
128
172
172
112
150
219
124
208
253
112
194
135
236
152
176
150
181
130
208
201
121
172
123
121
210
124
123
150
124
229
208
203
112
196
170
223
112
196
152
233
210
201
245
160
157
193
150
187
263
208
210
137
137
172
135
189
212
150
123
193
194
165
147
253
150
167
147
210
184
121
121
229
172
202
150
123
112
150
212
137
171
172
112
208
150
130
150
224
121
170
208
178
172
198
171
158
147
165
202
247
176
199
112
193
121
208
123
208
112
194
187
203
217
112
224
150
112
211
212
242
158
150
153
115
204
112
135
177
150
156
201
112
216
150
121
150
181
165
231
188
147
150
205
193
184
167
123
150
112
167
115
150
228
121
112
158
112
128
219
207
174
165
176
216
167
150
195
247
208
121
150
171
212
163
152
195
121
208
181
195
121
212
115
112
171
255
157
121
187
121
186
226
153
199
123
170
198
176
150
208
208
159
181
172
202
181
235
202
216
112
150
174
174
206
230
181
172
181
167
172
136
136
123
208
112
123
184
194
235
150
150
112
167
272
275
201
195
112
171
112
121
170
112
150
150
193
256
189
165
112
179
210
112
172
171
147
236
227
150
150
193
171
130
250
206
150
174
112
208
204
112
195
226
252
181
185
115
112
194
177
228
226
112
121
123
135
231
176
121
115
112
123
194
170
150
177
192
112
215
121
242
194
171
150
163
194
147
178
210
121
181
121
121
112
124
150
242
208
203
150
259
167
189
150
207
167
208
241
165
112
201
212
150
112
143
176
137
112
172
112
218
112
112
112
164
158
159
121
172
207
170
170
150
121
112
150
200
121
205
170
150
143
171
165
123
194
150
229
121
121
150
195
135
115
219
123
187
135
213
135
228
168
225
121
196
172
164
121
201
211
190
186
150
112
121
150
124
121
112
158
208
202
130
223
192
201
193
150
121
159
302
150
158
171
136
150
299
121
159
170
168
115
121
179
171
193
167
212
195
159
164
121
228
121
182
121
176
150
186
150
255
135
172
233
184
187
201
150
112
181
200
208
112
186
123
194
150
201
150
135
202
147
168
197
216
194
193
172
160
172
228
219
194
112
176
237
210
165
121
240
130
123
202
150
194
150
121
199
150
150
199
112
150
202
176
209
208
167
163
150
260
150
208
196
195
210
170
222
193
123
263
150
229
201
112
147
297
152
150
242
168
208
121
150
193
150
121
217
136
175
186
215
150
221
121
112
210
203
176
207
130
235
155
112
276
237
245
150
147
186
171
212
175
157
237
210
170
123
137
208
181
124
186
210
112
181
210
135
228
150
150
210
208
246
186
181
214
112
207
147
176
193
121
136
150
184
192
121
195
112
201
121
112
112
167
112
202
176
198
176
253
152
172
194
178
150
172
172
201
208
255
150
208
163
168
235
201
115
165
150
165
193
150
193
172
115
170
177
152
210
172
237
220
115
172
233
135
112
123
220
112
168
226
115
237
146
150
150
186
190
186
167
170
167
112
123
130
112
208
206
210
150
121
150
150
195
123
112
200
218
226
171
194
187
123
175
112
172
219
150
195
131
187
172
150
123
150
136
112
112
136
150
220
186
112
252
207
153
112
112
150
210
205
170
130
208
165
177
194
194
115
208
162
150
159
229
123
147
150
147
167
162
170
112
112
164
208
112
175
172
208
262
186
165
130
201
112
232
112
150
136
150
193
112
201
168
121
195
193
121
150
172
150
212
244
203
136
112
170
150
260
112
150
143
137
165
196
208
112
172
214
279
128
147
172
150
147
170
219
144
112
112
123
150
174
112
217
242
150
174
208
208
210
150
170
172
243
165
208
171
112
112
112
174
232
176
216
112
137
204
253
135
208
150
150
112
220
228
150
167
195
168
201
137
228
210
193
194
176
121
178
172
143
167
112
124
221
218
115
172
235
170
162
121
121
190
123
216
218
123
168
123
150
171
205
171
176
152
123
172
172
158
222
115
238
150
199
210
165
112
150
171
205
208
135
220
164
150
208
150
201
203
193
186
172
172
193
168
156
193
232
135
136
165
112
201
239
171
212
165
150
212
210
182
211
170
165
194
170
160
195
158
112
177
121
150
203
237
218
212
123
192
150
187
225
172
175
202
225
121
228
243
150
112
170
150
150
167
121
181
150
121
203
173
112
216
231
115
121
150
208
193
112
242
150
112
171
206
121
208
212
171
181
121
165
121
192
243
186
194
170
136
181
203
170
176
112
124
165
255
136
208
219
172
199
137
121
121
208
112
112
112
165
121
201
121
261
112
171
214
159
228
210
150
121
121
170
203
181
112
171
194
123
194
210
184
150
212
176
167
112
112
150
167
238
194
203
187
212
123
152
196
115
112
192
239
171
131
121
123
233
211
158
228
208
135
205
208
159
186
150
205
164
115
167
152
168
187
238
112
150
232
150
123
178
147
136
179
150
150
178
112
219
150
150
137
263
172
171
170
168
150
187
172
157
218
150
202
150
179
112
115
205
121
172
167
150
186
135
164
187
150
202
152
203
172
186
197
150
201
208
194
240
195
211
150
172
172
150
147
186
208
216
150
243
144
202
135
167
150
112
172
202
112
177
150
187
159
193
167
159
241
115
174
170
189
112
159
155
194
150
205
237
278
172
150
121
172
250
112
150
122
150
226
146
112
112
214
112
172
172
193
202
112
201
177
167
209
214
115
121
194
208
208
171
189
135
210
194
186
135
250
170
203
212
158
121
174
150
170
171
239
210
121
174
150
172
181
239
170
143
210
115
254
115
171
212
229
232
227
187
220
112
121
276
231
187
150
136
164
139
243
201
150
176
225
172
135
121
257
112
206
187
209
195
165
217
171
150
255
172
150
205
112
198
186
171
150
208
207
137
128
112
215
195
150
179
112
174
112
150
172
150
177
228
150
172
123
121
165
123
201
176
150
226
121
172
194
170
130
193
150
302
150
112
194
150
210
172
152
203
235
302
201
150
150
190
124
145
177
167
135
210
165
217
234
194
219
150
184
112
208
150
128
164
194
174
208
150
112
187
150
194
158
170
192
228
210
172
205
218
121
214
123
174
214
181
121
112
186
195
150
150
222
161
181
255
228
172
195
112
208
168
234
123
124
112
150
225
121
172
150
115
187
164
186
186
208
112
123
217
172
123
136
177
150
150
136
171
112
150
249
181
186
171
229
233
112
150
162
237
121
201
135
121
195
194
130
202
228
228
208
194
193
156
172
132
175
212
124
181
228
181
172
121
206
121
193
165
206
164
240
168
167
203
217
208
150
202
186
150
254
194
182
112
150
265
167
121
223
194
150
157
150
181
127
112
220
121
278
216
171
211
203
176
192
112
168
244
240
181
170
203
123
251
150
241
210
123
171
167
255
121
112
164
181
224
297
137
233
121
210
137
112
147
208
112
208
175
203
237
181
208
150
150
203
186
260
167
170
239
187
176
170
161
208
144
150
177
208
187
112
186
225
175
158
225
236
171
208
240
302
170
228
150
121
172
237
210
221
158
167
128
201
171
172
275
218
240
201
231
152
167
150
208
229
121
167
150
172
177
150
276
194
112
217
170
228
171
205
158
161
194
167
194
150
172
121
219
135
170
115
254
264
208
124
112
123
143
212
186
181
112
208
172
150
158
229
121
193
123
186
135
165
121
186
112
174
176
121
235
170
179
112
112
208
159
112
121
171
172
240
135
203
128
167
112
112
136
165
172
226
147
201
165
208
152
150
210
208
211
160
201
187
203
150
167
172
171
115
219
160
217
112
241
228
187
150
115
135
172
123
223
185
219
137
212
172
176
172
167
141
210
172
176
208
203
233
211
201
208
170
276
193
215
112
150
231
135
210
208
121
218
150
170
167
150
121
170
112
186
208
152
150
228
121
170
208
150
219
150
237
112
181
123
121
206
147
208
165
144
150
181
181
225
175
243
172
172
150
167
181
226
195
136
170
150
194
167
136
147
150
150
182
121
150
152
210
112
177
250
115
137
184
124
150
179
194
158
121
172
150
165
164
171
130
121
150
208
121
158
150
167
112
181
136
123
202
171
263
171
260
195
172
192
115
123
194
258
112
171
264
124
228
150
181
186
123
150
187
121
171
194
175
121
231
150
131
165
208
147
201
233
193
136
156
203
112
270
130
121
121
168
177
112
212
237
177
218
158
156
167
152
147
150
121
167
193
164
150
171
135
202
253
172
195
246
231
181
181
208
194
237
150
177
187
121
193
150
181
172
276
167
217
130
171
150
170
150
179
150
112
173
170
218
112
187
121
124
243
212
170
170
184
152
175
263
170
150
198
203
176
124
172
172
203
208
150
164
210
232
150
186
171
160
136
168
150
196
152
302
150
208
241
170
167
115
179
172
112
121
112
137
210
167
121
181
147
212
167
228
208
176
121
150
230
171
112
150
121
121
150
186
115
205
237
195
121
167
270
237
160
160
172
135
270
172
235
198
167
150
121
230
194
137
137
112
219
202
179
150
121
150
150
202
225
232
150
121
172
164
237
240
214
165
159
112
150
158
202
112
170
202
121
218
170
204
121
150
112
241
219
174
112
112
193
164
197
187
160
194
121
172
202
186
172
250
208
210
150
165
207
208
171
112
165
112
208
228
112
178
150
170
170
121
112
232
175
187
172
150
164
193
150
167
147
112
123
207
208
195
159
112
231
150
150
195
112
150
210
150
179
121
167
210
210
210
208
194
276
112
194
150
159
181
207
208
209
202
150
137
228
112
115
167
150
156
208
187
220
186
170
250
121
203
193
168
136
278
135
170
302
123
231
150
112
260
172
223
150
195
112
193
237
208
240
136
150
121
302
229
112
165
172
225
121
192
121
238
123
212
242
212
157
124
115
195
170
220
171
218
167
212
208
170
204
203
165
135
121
135
205
194
115
172
202
135
121
175
152
226
252
199
165
222
208
194
196
208
162
168
112
131
121
121
186
146
201
165
150
187
147
212
197
261
112
234
159
207
150
208
220
170
150
171
112
150
170
196
167
228
186
170
194
167
201
195
150
164
220
112
165
194
240
179
152
181
135
156
112
195
167
137
176
150
231
150
234
181
202
172
158
150
212
150
174
150
150
172
219
158
176
150
194
208
112
174
278
164
207
150
150
172
170
207
112
228
150
115
201
121
194
115
167
208
175
137
208
170
112
164
278
239
186
201
167
194
123
255
112
170
170
167
165
193
186
150
194
135
123
208
203
208
123
156
150
228
226
139
210
166
208
177
208
208
121
225
168
150
121
229
165
250
124
158
150
121
258
193
176
112
136
152
190
121
202
160
152
135
121
121
215
214
123
208
207
150
177
170
177
150
167
220
172
150
150
172
139
121
193
112
170
121
121
112
186
172
219
150
217
181
168
184
241
187
170
205
146
121
167
112
201
150
263
137
229
206
124
150
187
235
123
150
150
150
195
167
170
150
192
208
121
136
186
150
241
112
112
176
194
165
186
112
193
161
137
220
272
171
190
174
165
112
225
209
112
201
112
172
219
112
173
112
112
112
162
159
121
184
172
112
208
172
172
208
215
250
124
121
228
186
112
167
167
208
160
164
150
203
112
150
192
121
176
239
112
150
121
136
194
236
176
123
204
175
172
112
112
258
150
168
208
195
174
208
165
156
186
121
137
214
150
212
217
228
137
115
150
187
159
211
187
212
193
220
170
112
150
136
137
173
150
150
159
112
167
165
150
205
203
150
146
150
207
164
121
260
207
150
121
150
150
150
186
112
112
237
190
121
198
228
208
121
112
219
136
210
150
186
240
195
165
121
112
243
139
121
167
112
214
112
121
115
181
232
147
112
170
150
278
212
112
187
150
172
112
177
112
158
150
174
212
144
193
167
228
147
186
205
150
181
220
173
170
263
165
194
238
150
156
158
175
172
150
123
136
207
150
174
197
137
176
112
228
150
145
176
226
123
176
172
150
218
210
186
195
229
123
112
186
150
212
156
250
167
172
115
194
130
165
175
150
121
231
186
121
150
164
194
237
121
121
208
233
208
171
208
193
170
181
172
112
112
195
150
208
265
112
147
211
203
187
228
150
203
172
186
219
161
181
193
112
208
158
167
121
136
165
164
121
115
195
130
218
177
260
215
264
167
225
112
172
171
208
167
179
247
167
150
152
231
171
174
150
150
181
136
172
232
150
121
194
165
112
131
202
121
208
156
121
167
112
145
172
187
167
172
172
226
202
260
231
121
167
167
136
112
159
282
243
150
147
112
161
121
135
181
150
124
160
156
112
243
158
197
250
170
160
208
170
194
176
121
228
150
112
225
143
150
167
165
195
257
121
207
176
112
167
152
137
112
233
201
147
176
121
165
207
135
121
302
160
112
200
175
150
187
123
213
121
181
193
201
167
112
208
147
123
189
193
208
171
176
167
112
228
167
231
123
194
192
121
112
150
175
172
241
210
157
112
243
158
121
121
171
194
194
112
121
255
177
193
196
121
194
187
208
150
121
259
137
160
212
121
171
195
175
170
150
115
150
147
181
187
192
128
121
112
205
201
150
170
193
171
146
240
193
193
251
177
211
208
121
210
256
150
208
193
181
212
218
195
210
197
121
150
150
172
150
176
112
164
161
194
196
121
245
302
195
147
255
156
158
219
208
172
275
112
170
172
150
208
159
112
181
121
123
207
229
194
150
172
158
112
112
112
305
194
187
137
194
121
208
171
201
243
128
201
137
181
137
208
218
172
186
226
208
150
158
136
172
164
150
187
172
226
167
176
170
143
158
228
150
124
156
165
239
172
222
217
219
170
250
208
165
157
170
112
150
135
171
186
135
176
121
181
213
164
112
121
121
209
150
112
236
121
150
220
121
150
147
194
150
115
112
182
165
170
229
124
238
112
150
195
217
208
302
112
150
112
231
112
121
150
150
174
210
121
121
227
112
234
121
208
150
212
128
201
150
183
228
234
172
221
150
218
115
150
150
172
165
208
195
201
209
165
219
186
194
167
209
171
150
208
121
158
174
135
181
150
192
171
203
137
202
170
167
231
160
219
167
167
150
275
278
121
181
167
137
121
150
172
193
209
150
210
175
167
144
226
150
233
115
150
181
223
176
187
112
150
112
112
208
170
161
225
167
112
187
157
176
160
121
234
159
210
159
150
150
167
150
177
123
156
236
150
112
236
172
112
167
150
208
112
209
291
130
135
206
121
208
208
112
218
223
167
123
172
209
121
194
203
195
150
176
208
160
149
255
165
136
172
240
112
112
172
112
121
205
177
186
171
193
150
150
202
202
150
266
216
219
123
184
212
172
143
201
203
128
171
156
231
150
135
132
150
150
181
176
147
147
228
165
172
175
115
227
171
123
144
207
112
194
172
184
161
135
150
176
150
124
121
170
112
208
121
112
170
208
250
121
121
237
203
150
150
150
210
207
172
121
207
222
121
193
165
279
121
150
165
121
231
240
159
228
150
160
184
255
121
228
195
112
208
172
112
174
302
131
205
193
121
228
167
172
237
121
172
218
137
150
150
233
150
210
112
215
172
159
194
236
274
112
200
147
164
195
150
255
123
172
167
143
189
150
229
187
115
274
229
226
164
150
250
228
150
174
174
121
123
196
135
170
123
136
112
250
203
112
147
215
112
233
170
185
208
150
121
150
239
219
172
218
150
182
171
150
150
201
302
208
165
172
228
150
181
121
164
232
121
202
172
131
237
150
192
150
112
115
112
172
164
165
121
150
150
170
112
152
302
131
150
159
150
112
208
157
218
123
112
208
201
196
226
150
159
195
181
170
193
208
150
159
165
172
174
227
150
112
121
265
172
167
219
259
305
172
193
121
173
121
167
242
121
112
158
228
208
194
121
258
150
194
171
167
195
204
115
187
201
136
196
150
208
172
210
112
136
194
121
186
165
209
232
147
205
156
170
181
205
112
112
123
112
176
143
170
150
255
150
170
247
216
227
229
228
150
121
168
181
192
208
218
139
124
165
150
205
194
164
201
192
219
150
170
167
147
150
193
181
186
235
168
158
164
150
201
219
240
187
231
121
179
150
181
112
137
167
121
150
136
112
150
217
112
257
150
230
112
123
172
210
237
208
115
150
150
165
193
171
224
123
167
160
170
215
150
187
112
219
193
208
153
181
223
135
157
208
187
215
123
237
150
139
246
172
137
157
174
172
225
167
121
250
201
227
112
237
223
172
167
164
112
121
112
121
208
239
160
212
299
170
121
112
207
112
158
164
217
177
112
164
181
176
177
121
158
208
124
228
121
237
171
223
172
220
201
220
186
121
253
205
235
210
227
170
136
170
150
196
205
123
172
115
112
172
159
123
159
121
195
150
112
194
121
193
112
206
208
136
121
234
176
250
121
150
112
159
174
112
201
237
244
150
170
205
137
172
237
208
193
223
249
150
167
167
112
135
237
134
150
157
208
170
194
208
171
176
150
208
210
165
176
160
185
112
194
210
121
112
174
203
207
150
165
112
150
250
189
150
121
170
259
175
192
228
265
112
237
150
236
121
112
172
192
181
150
150
112
112
150
176
124
217
150
115
260
212
112
150
181
239
172
198
170
144
158
232
264
164
136
228
208
217
218
172
150
112
121
208
170
135
226
195
121
156
231
139
150
121
302
112
150
121
170
170
112
112
124
172
208
189
207
202
165
150
212
112
123
136
112
123
172
194
208
192
186
238
177
123
256
150
150
172
231
150
112
161
172
226
194
136
121
208
112
243
121
150
245
121
187
228
112
167
121
250
176
201
195
241
175
112
137
150
186
152
164
203
208
123
128
150
137
196
124
176
115
186
192
194
167
167
208
237
244
210
186
112
115
200
176
112
150
137
150
194
171
239
228
150
121
167
115
219
172
143
269
181
171
150
194
203
121
112
226
176
112
172
202
237
112
150
216
237
225
112
147
150
208
177
150
201
159
172
232
167
131
210
284
256
167
176
112
137
150
167
267
172
121
208
204
228
143
226
168
208
182
203
210
256
150
187
150
112
112
187
115
208
115
112
158
215
194
121
158
238
150
150
194
150
167
186
167
150
147
121
150
158
176
208
150
112
171
150
172
152
279
258
150
172
136
208
167
123
150
158
150
135
233
194
225
181
171
193
215
167
150
150
229
167
176
228
137
208
170
215
201
150
176
167
219
143
208
182
193
208
171
187
150
170
121
171
121
228
203
237
167
115
121
208
176
150
172
171
136
205
196
186
150
123
215
171
167
112
121
186
121
121
112
194
206
150
172
136
123
121
208
208
172
150
172
150
167
170
150
150
123
177
112
165
186
202
150
228
171
214
150
178
202
174
184
194
223
203
193
122
171
165
123
187
172
165
121
121
208
228
217
210
193
136
115
187
164
150
165
208
164
194
228
219
112
158
150
228
195
150
130
186
186
121
150
112
158
165
112
194
240
208
208
165
239
219
168
201
172
234
193
121
214
237
201
112
237
192
174
112
130
218
241
135
185
231
233
130
150
194
210
198
192
112
194
136
203
124
121
176
167
156
182
150
135
193
170
150
238
206
250
112
121
121
177
181
240
302
136
209
275
150
150
167
210
216
209
194
160
208
136
244
231
157
167
178
150
150
205
121
165
213
172
121
210
112
124
135
150
217
164
172
130
136
228
135
172
173
112
233
156
176
112
165
147
182
226
123
123
121
250
202
175
137
184
112
150
172
171
206
208
202
196
150
150
112
284
186
165
171
182
203
147
186
112
208
136
115
174
202
115
237
279
167
237
150
228
123
150
193
167
135
158
168
171
192
193
214
211
112
165
212
181
158
231
179
121
187
136
160
158
121
164
220
160
213
123
226
112
186
121
174
205
167
121
150
174
228
212
157
152
207
112
228
196
194
170
177
147
208
121
167
207
112
165
147
167
181
123
231
121
207
240
239
203
205
212
167
112
167
194
263
192
150
170
174
121
172
208
199
167
203
150
150
228
121
167
112
228
121
187
208
176
228
207
239
137
171
194
233
176
210
165
150
208
124
121
124
158
194
112
150
121
239
200
150
175
208
171
201
208
121
171
136
186
181
168
121
136
302
121
229
171
209
150
236
165
165
170
187
150
121
123
170
227
224
135
181
112
239
150
171
165
236
112
121
167
167
217
220
121
262
150
150
167
150
167
202
112
167
160
121
136
237
121
165
162
195
121
150
208
176
176
150
208
135
192
123
137
171
201
112
208
186
219
167
160
150
150
215
121
112
188
225
112
123
167
205
181
172
150
167
175
167
202
137
243
201
165
164
165
237
115
237
174
172
170
176
112
121
172
150
219
208
165
121
208
226
172
152
124
121
112
210
167
123
210
217
176
165
168
260
150
217
200
239
230
203
112
181
208
147
172
112
218
160
276
150
112
174
237
121
121
208
112
150
228
121
208
141
172
231
161
187
165
237
210
187
150
208
121
130
215
137
172
130
112
121
170
194
172
123
158
121
217
233
167
135
194
139
172
240
192
115
208
164
208
121
147
150
170
121
112
189
167
208
171
210
123
170
167
215
172
215
193
165
121
121
150
172
193
194
201
121
112
210
150
112
194
202
178
170
212
228
121
135
135
186
150
121
121
206
176
136
214
171
112
121
170
150
112
150
135
235
172
121
205
265
147
208
274
203
193
121
160
208
172
121
159
208
121
220
176
112
208
123
202
202
112
112
171
112
195
228
203
112
213
208
150
208
159
195
208
233
203
123
167
150
195
121
168
174
192
137
177
115
192
167
191
150
121
179
219
187
208
112
176
212
202
231
208
156
217
112
137
194
208
224
231
150
176
176
150
202
302
112
167
121
171
135
187
112
167
112
165
156
217
195
212
150
208
210
231
205
121
176
112
181
112
121
112
112
195
121
112
217
184
167
211
187
150
158
150
165
147
150
194
208
171
112
174
212
168
208
123
208
123
130
112
150
168
207
172
208
150
208
186
195
165
176
208
112
160
174
115
172
135
230
195
203
207
179
150
240
130
172
150
159
208
112
128
175
171
147
121
170
150
172
186
112
123
165
230
112
150
217
150
267
194
143
171
176
302
174
150
167
121
302
112
238
194
232
170
123
164
228
112
150
150
123
167
121
210
178
150
136
121
150
112
123
164
210
168
150
166
186
202
112
112
136
176
210
137
167
223
210
167
121
170
150
170
150
121
175
197
194
194
205
112
187
171
167
112
150
208
167
112
136
159
150
121
208
150
150
112
211
215
150
170
150
121
147
150
121
208
238
159
121
128
121
121
158
210
156
121
167
150
265
168
201
233
112
152
203
156
177
135
201
112
174
121
167
165
178
150
181
212
222
172
150
156
249
210
172
112
203
123
208
203
121
228
210
165
150
208
136
229
219
143
121
203
150
159
181
150
208
112
218
150
246
167
171
158
112
194
208
121
168
167
172
115
150
112
121
159
203
112
165
187
219
176
249
244
112
208
208
121
112
121
177
228
121
112
179
203
150
181
115
135
228
147
167
210
181
229
243
177
167
157
187
165
253
194
112
209
124
208
167
170
216
217
208
203
231
202
217
186
112
279
184
112
161
172
121
187
170
220
208
150
195
210
228
167
171
187
208
208
167
112
228
115
217
177
172
225
121
178
156
137
121
198
150
172
121
242
143
228
121
208
168
201
112
130
150
212
196
172
150
152
208
208
224
150
194
208
257
164
150
147
143
207
209
228
167
150
168
181
112
172
131
136
150
215
317
150
168
112
181
112
135
208
121
159
189
197
204
170
217
112
207
121
237
150
121
167
228
121
112
233
207
276
136
150
172
168
226
167
194
220
257
150
112
264
123
184
228
167
150
115
194
165
121
171
123
203
150
175
167
150
112
220
255
150
208
228
123
150
170
192
181
208
112
237
134
230
172
150
150
121
170
167
177
159
217
194
170
217
211
172
172
184
181
170
121
208
231
167
167
205
112
186
215
172
175
135
255
150
150
218
237
195
210
208
209
186
150
150
214
121
167
202
223
112
208
228
255
302
214
170
112
170
157
153
121
121
121
229
123
214
121
231
112
217
278
211
121
170
112
228
203
194
210
170
208
194
121
170
205
176
177
224
179
121
187
174
225
181
170
208
150
167
171
209
190
121
157
212
165
194
170
167
172
172
172
201
115
212
194
121
168
197
234
172
199
150
250
177
172
121
171
210
115
150
176
228
193
121
276
115
192
191
229
152
112
112
172
112
123
150
181
192
112
279
167
150
150
199
172
135
121
121
137
217
121
115
237
172
150
112
150
216
206
177
112
150
172
217
176
193
171
170
112
150
137
135
112
194
201
208
175
230
121
150
195
150
160
150
186
150
121
172
112
112
121
121
158
135
165
231
228
170
229
146
172
150
210
163
190
112
201
150
112
121
170
195
167
112
186
208
170
207
112
136
123
167
135
137
212
167
195
112
223
172
112
239
186
150
177
165
203
233
181
135
192
150
128
208
168
194
208
112
208
208
231
228
167
172
281
112
194
174
136
172
181
237
177
194
257
208
213
196
234
176
123
194
233
186
193
121
208
194
112
233
206
150
137
229
207
130
186
112
124
232
112
244
208
150
196
209
177
147
159
123
269
220
215
128
176
156
170
172
150
272
139
121
170
178
112
150
121
176
178
215
208
137
210
150
233
172
194
219
159
194
131
112
172
121
240
150
194
232
150
219
208
156
167
195
171
112
231
202
239
187
199
196
135
167
158
150
152
160
193
179
217
124
176
123
150
208
172
203
172
164
150
195
225
112
150
121
226
170
147
194
186
150
208
171
135
144
208
172
176
130
150
177
121
182
124
232
150
235
147
172
259
195
112
160
121
150
165
112
231
245
250
172
121
210
150
135
186
152
150
181
121
174
208
165
209
208
181
165
121
171
150
145
171
193
174
237
193
194
150
187
173
131
150
165
112
123
167
150
112
167
192
172
203
112
208
176
233
220
170
193
167
150
204
121
208
170
124
181
139
203
159
167
184
193
150
198
172
193
121
112
150
121
150
150
150
233
228
150
150
128
135
177
195
167
204
208
240
201
276
211
187
237
136
196
176
135
112
170
237
215
112
228
121
228
150
174
208
221
173
212
210
165
218
213
228
167
186
170
176
194
170
167
170
123
215
150
150
128
121
112
121
167
150
212
121
220
208
112
121
167
150
219
112
170
112
112
150
167
165
165
217
194
121
177
193
150
194
236
202
257
202
112
144
228
150
181
121
206
205
121
208
172
207
187
124
150
170
168
150
171
150
150
250
207
172
170
165
112
203
231
219
112
170
112
172
194
121
171
186
263
171
198
139
237
255
112
172
167
205
184
121
187
211
165
208
150
170
224
213
172
219
164
186
165
112
121
137
208
252
210
167
170
150
136
202
172
201
146
123
150
150
164
164
115
227
170
186
112
124
121
159
207
150
167
167
179
121
181
219
121
261
156
172
112
121
212
208
210
128
121
121
121
115
150
121
170
165
208
180
194
112
152
247
195
135
231
112
179
171
167
150
219
170
193
121
115
244
115
167
208
171
208
112
236
232
112
202
176
112
207
132
195
212
150
226
165
239
136
201
194
150
220
270
243
192
123
217
121
228
187
150
220
137
172
150
242
147
172
184
150
258
211
203
164
193
187
121
115
158
200
194
228
159
192
222
137
192
121
234
121
202
167
121
137
228
208
225
172
208
112
208
193
144
123
158
210
150
170
202
165
136
159
225
302
164
194
112
193
123
170
152
214
121
193
203
212
150
186
198
152
202
150
186
201
121
219
212
121
167
160
121
174
136
172
215
153
228
150
121
152
263
144
112
219
181
176
112
172
121
170
167
150
172
173
170
172
178
150
150
150
195
121
121
211
121
231
150
203
208
150
121
181
121
207
172
194
187
150
276
150
135
202
165
150
137
239
160
137
167
172
184
172
123
112
189
208
205
112
170
208
186
112
172
171
167
171
170
170
187
128
222
112
156
250
168
195
167
202
274
181
178
187
270
159
201
167
150
112
136
115
121
112
165
150
150
240
112
112
177
150
135
150
112
177
150
218
150
237
201
121
193
135
112
160
171
207
123
150
201
172
174
215
158
170
158
112
150
136
172
159
219
167
128
135
156
210
172
255
152
135
210
121
195
112
121
275
171
123
208
195
112
175
112
136
184
202
147
112
193
171
210
112
172
121
112
228
187
208
147
159
150
172
236
136
164
112
160
161
176
171
112
150
150
150
185
150
205
278
165
218
121
184
194
208
112
170
192
243
150
202
150
150
135
150
185
194
168
150
150
112
150
147
112
130
195
164
172
152
172
244
185
150
208
150
123
121
165
181
170
172
147
112
229
228
175
201
164
233
172
150
135
226
184
220
201
174
159
177
194
187
259
112
204
232
175
112
202
135
130
150
121
233
130
178
233
123
208
121
279
212
150
170
174
223
121
167
259
187
227
228
231
218
171
208
273
158
230
193
196
237
150
250
231
186
115
234
233
135
210
231
181
160
207
168
150
203
171
161
112
220
252
167
193
220
121
150
174
112
186
112
150
212
121
164
172
153
184
121
176
209
208
112
213
192
150
172
112
208
196
112
245
215
121
229
217
217
135
137
179
250
219
189
157
174
186
147
187
112
196
152
167
208
112
159
150
171
165
143
157
228
170
186
187
123
128
112
136
123
258
150
150
208
150
139
184
150
121
150
143
175
121
121
228
226
170
136
150
208
228
172
121
112
220
167
174
195
112
203
112
176
194
228
211
194
147
121
231
263
176
184
171
225
178
165
150
172
202
202
112
121
174
136
196
121
170
208
237
193
112
171
212
137
195
121
208
135
172
214
223
150
208
269
217
136
165
195
172
146
158
171
135
172
150
255
121
112
150
136
167
172
112
164
167
123
210
195
147
171
150
208
278
121
112
182
178
167
170
302
208
164
135
255
123
172
123
145
174
259
236
131
170
241
176
170
207
202
112
181
208
121
112
150
150
278
207
212
121
194
160
214
208
274
216
208
121
150
186
208
258
171
206
226
204
144
112
214
207
121
194
150
121
167
112
123
229
153
174
121
143
112
164
158
201
136
226
152
181
211
165
121
186
121
238
112
123
193
167
171
150
170
215
192
171
165
123
226
168
228
167
112
187
167
220
150
147
172
112
168
121
223
112
187
177
177
200
112
150
248
203
123
112
172
156
171
123
144
160
232
170
167
217
137
231
231
176
177
171
112
121
150
112
144
115
135
137
156
221
121
210
219
165
150
150
176
213
170
238
150
172
112
121
171
112
121
171
170
212
208
128
170
171
167
147
208
168
208
170
217
159
186
196
241
159
130
172
172
150
171
234
172
172
226
136
194
193
112
159
157
199
121
194
172
208
150
195
128
156
146
172
208
219
150
136
150
167
170
150
112
220
192
202
208
195
176
186
170
201
112
170
123
137
233
172
150
121
152
121
208
121
239
181
168
205
150
160
137
257
237
152
179
178
172
112
165
173
171
150
172
194
167
164
189
139
263
195
150
278
172
199
123
135
167
121
112
172
172
164
167
112
124
179
150
194
150
164
172
150
208
212
121
167
112
181
170
229
167
112
165
189
170
172
161
223
260
208
162
123
239
121
112
187
194
158
137
262
171
143
150
112
150
174
181
232
178
173
112
178
202
198
121
112
208
185
136
203
123
150
208
167
121
239
123
167
176
172
175
176
156
172
162
208
112
212
171
150
201
196
217
121
150
195
192
223
210
164
232
115
218
135
205
229
201
150
195
121
170
153
121
121
121
228
121
121
195
224
176
121
172
150
135
121
188
172
150
232
232
259
177
150
121
137
112
172
115
112
136
177
241
121
128
219
190
238
231
121
263
186
194
208
167
152
112
123
112
186
115
112
195
194
143
112
208
160
164
112
226
171
167
275
167
176
150
195
150
172
135
216
172
121
172
150
172
176
198
135
112
210
144
112
112
164
150
150
230
150
123
205
165
181
150
181
121
230
208
225
160
112
210
212
150
210
245
186
157
147
164
176
159
193
181
209
136
150
208
186
150
121
208
150
121
193
152
150
112
121
112
150
135
193
195
115
250
201
208
150
258
150
171
168
255
186
121
167
208
233
112
150
150
260
176
112
193
172
225
172
165
210
167
219
176
208
170
208
231
112
186
196
150
112
150
150
128
165
187
121
177
112
187
112
250
240
192
284
187
112
212
208
123
216
218
228
231
143
239
192
112
128
112
158
121
176
165
195
237
208
228
184
181
150
150
137
112
176
137
208
255
164
213
208
164
121
150
135
167
121
193
223
261
187
121
121
278
182
174
170
172
137
217
136
164
130
225
171
150
161
121
194
186
158
203
112
212
194
226
208
231
150
231
172
112
187
144
187
121
112
150
276
201
167
121
150
174
226
112
189
155
171
115
121
186
208
123
167
137
150
176
123
165
170
228
172
150
259
194
167
152
112
172
167
136
226
193
204
136
167
170
220
156
172
194
165
112
160
208
220
181
115
167
193
233
121
172
150
121
181
212
192
121
112
208
203
165
165
195
189
165
171
194
167
150
172
208
175
177
219
238
184
112
225
152
263
112
171
181
171
150
231
231
229
112
170
150
150
121
194
121
150
228
150
187
171
170
171
121
250
150
112
170
170
263
121
150
167
242
189
195
176
216
175
243
172
172
178
208
176
159
215
174
192
170
112
171
231
228
136
150
212
123
172
112
167
208
226
112
218
208
217
167
150
172
121
201
209
194
176
167
174
156
228
150
224
158
172
112
176
121
208
150
172
112
112
208
167
276
195
188
237
172
194
172
150
164
112
112
181
150
121
228
147
121
150
172
210
181
112
187
208
170
150
170
172
123
213
186
181
260
150
195
210
112
234
150
225
173
160
170
172
170
150
121
121
136
170
150
208
121
150
208
208
150
146
194
165
171
160
112
159
170
208
210
222
135
121
121
170
217
194
136
171
136
150
150
176
218
208
172
121
112
171
150
112
123
179
112
161
161
181
165
209
150
171
121
203
171
202
112
112
158
137
123
172
136
225
158
130
210
174
255
171
184
176
172
150
208
147
136
112
228
194
208
278
208
216
194
136
123
128
112
203
150
278
143
121
150
174
192
123
195
218
231
237
213
171
181
158
136
121
121
194
237
170
167
112
186
167
193
137
150
112
179
231
150
188
164
212
150
172
123
123
208
206
172
208
165
211
150
210
112
168
184
208
194
181
150
210
168
216
208
121
225
219
150
157
121
167
229
165
121
172
165
112
150
174
194
205
232
194
150
150
194
121
130
172
203
203
210
209
147
121
172
195
150
121
165
112
200
152
112
201
237
167
150
121
150
274
243
112
112
112
112
121
112
176
210
201
121
194
150
219
179
164
184
112
167
152
214
170
237
194
220
135
167
112
137
219
112
147
208
167
240
112
170
123
170
152
181
186
171
112
112
112
208
167
136
150
167
224
150
181
204
302
150
250
181
233
112
150
150
112
150
164
211
172
263
210
167
302
150
237
167
137
152
170
144
112
112
244
203
150
112
115
112
228
152
121
216
112
181
239
136
150
231
121
173
135
112
210
171
150
165
150
235
158
165
112
209
170
235
112
150
193
164
178
192
175
150
150
218
237
150
121
194
176
192
238
135
212
167
167
165
150
219
112
123
130
172
274
172
136
219
177
152
302
165
112
217
194
121
177
274
233
208
150
200
130
150
112
150
187
121
208
253
196
202
121
150
147
150
181
156
112
178
181
175
112
204
214
195
170
171
208
215
229
147
178
172
193
181
172
121
121
112
164
208
172
210
197
168
136
201
170
177
150
203
150
202
177
171
218
176
231
167
242
193
123
220
150
115
112
249
172
130
160
275
112
172
150
281
187
150
168
201
222
165
167
220
121
157
172
267
187
204
208
164
144
175
175
172
112
176
146
207
228
165
150
150
250
191
121
174
193
137
150
150
121
150
208
171
112
171
150
171
185
181
136
150
165
184
150
183
187
152
220
208
170
213
201
208
208
112
210
130
171
186
112
112
195
135
210
150
150
194
150
150
192
272
150
193
150
202
146
210
198
279
172
194
194
208
112
150
112
172
206
121
112
208
115
123
135
237
112
172
172
150
297
165
123
112
115
186
150
186
241
203
153
212
136
112
167
137
207
194
176
206
112
179
165
172
208
228
202
123
150
164
242
172
112
124
219
115
135
172
208
171
195
219
186
201
121
186
176
160
150
181
208
208
193
195
121
160
298
208
176
225
160
165
186
261
193
115
246
192
171
187
121
121
167
181
172
203
219
150
135
207
150
228
255
172
228
217
212
186
112
214
167
124
194
112
171
112
298
156
150
150
130
228
176
150
186
201
150
187
135
160
226
195
203
189
184
137
231
181
136
203
136
150
112
150
217
228
190
115
152
168
240
171
147
220
203
208
208
123
150
150
202
219
150
187
167
210
135
112
150
186
150
147
231
150
147
165
194
208
167
272
147
272
193
112
115
158
208
167
112
208
240
239
172
131
112
228
170
167
176
135
255
208
167
208
159
172
256
174
171
270
121
214
194
143
194
164
123
195
168
195
121
195
150
193
179
170
233
212
237
121
150
208
177
112
228
208
162
112
112
153
237
203
207
231
150
139
195
136
230
150
208
228
167
208
216
197
204
150
150
238
115
121
124
112
128
202
172
150
121
165
226
237
123
150
195
121
186
231
112
121
172
112
150
112
199
181
217
208
292
150
196
171
234
230
123
150
121
121
170
193
115
150
112
186
172
150
218
150
173
203
181
121
212
112
112
253
176
121
224
203
150
136
152
121
181
150
156
208
150
236
170
112
121
121
150
223
171
159
123
123
159
112
220
172
150
172
150
121
192
187
164
112
137
123
158
220
121
167
121
259
124
228
192
208
167
121
157
150
210
218
255
201
165
269
135
121
190
174
158
168
112
189
150
229
249
158
233
158
121
165
177
165
250
203
150
112
193
250
160
217
112
150
150
193
237
204
202
167
189
112
150
176
112
213
150
156
176
150
202
172
150
170
176
195
121
112
121
167
177
150
206
112
112
170
202
172
115
276
150
150
123
152
112
150
170
121
167
194
121
165
222
165
112
208
150
174
150
123
172
240
226
187
177
165
150
167
150
231
150
181
150
135
150
200
167
186
150
208
193
123
158
170
121
192
208
243
112
137
230
150
179
136
121
150
219
229
208
231
231
192
203
170
112
181
121
184
159
211
201
170
257
112
121
150
136
278
150
170
240
112
150
115
150
217
150
172
176
208
150
112
150
115
186
171
115
212
171
150
178
150
165
137
128
179
159
206
192
165
112
201
193
167
121
208
121
232
121
150
172
192
229
250
176
170
181
242
193
121
209
233
112
136
233
165
158
150
167
171
136
208
159
157
172
139
190
123
135
215
121
121
193
147
150
195
242
228
234
167
208
112
150
291
147
172
150
177
181
115
112
177
161
172
237
123
150
172
150
212
212
159
274
150
171
171
194
194
208
255
255
156
171
202
150
112
235
150
121
228
150
167
201
112
192
212
233
167
121
137
220
112
182
115
170
121
130
204
184
172
150
207
136
121
170
150
193
220
241
167
250
228
112
121
137
186
195
112
160
167
112
136
150
121
168
177
159
194
205
167
167
250
112
218
177
121
112
158
165
237
115
150
226
123
194
210
302
112
265
202
121
156
193
213
179
208
158
112
131
250
201
150
150
112
165
238
179
172
215
172
172
150
278
150
176
159
255
121
150
112
121
302
190
182
150
112
170
196
150
150
171
150
112
195
264
194
128
208
115
186
220
136
171
208
150
158
170
223
160
150
255
179
212
167
112
150
228
215
203
123
150
137
150
150
112
112
160
187
208
128
112
219
150
193
156
208
260
218
192
205
234
170
187
136
124
272
208
208
179
235
150
150
171
115
156
176
250
202
208
112
174
208
207
213
182
150
121
172
229
150
175
237
208
135
124
112
171
176
208
121
135
147
123
231
112
226
167
208
112
170
211
171
240
172
175
225
214
115
112
181
160
220
112
165
150
210
172
165
158
211
216
193
121
121
112
115
172
274
150
135
167
172
150
150
144
202
112
167
202
115
174
121
208
171
170
259
172
186
233
112
202
228
121
201
208
194
172
168
160
150
202
170
150
130
203
174
187
172
205
150
217
228
165
203
172
202
208
112
243
165
172
112
165
225
210
172
112
128
174
193
112
217
201
130
150
210
115
264
170
194
147
150
115
168
208
150
147
203
215
171
181
208
231
166
152
170
207
199
136
123
135
238
228
136
212
136
217
216
167
150
165
229
175
203
170
175
121
231
150
115
150
232
124
193
112
168
150
173
121
174
150
167
202
112
170
165
150
181
212
172
214
176
112
167
150
136
121
186
186
172
176
121
186
226
270
181
208
112
196
208
172
218
203
156
199
112
258
168
121
192
163
226
150
147
121
112
170
135
112
198
167
172
168
135
112
237
156
147
112
123
189
121
156
181
115
167
137
172
112
176
260
255
219
245
135
121
208
225
226
150
208
167
173
194
150
171
193
233
178
171
147
177
164
160
121
112
112
121
121
150
150
194
209
150
195
231
165
130
223
167
167
121
170
208
137
217
181
112
208
172
223
171
153
192
192
121
121
232
187
176
172
123
250
112
195
237
150
171
156
201
179
115
115
150
136
150
112
165
220
194
170
165
170
167
172
123
255
187
217
150
231
121
181
210
208
172
135
150
150
190
208
192
233
150
250
150
233
175
152
170
214
174
186
121
150
136
194
234
178
203
218
194
275
176
171
218
208
186
172
175
214
189
112
228
167
210
236
239
112
229
179
193
112
253
150
172
128
121
123
150
121
218
121
121
210
202
159
194
201
208
208
278
171
153
150
167
150
181
194
291
165
150
112
115
137
177
267
167
150
171
168
172
150
112
171
240
124
112
208
192
217
250
121
173
187
121
226
162
115
167
195
187
207
216
186
172
170
147
115
202
115
112
150
170
171
172
121
167
121
192
136
190
228
166
176
158
121
168
172
141
121
190
208
238
137
232
172
150
112
121
195
121
193
145
147
229
150
171
279
212
160
124
193
115
150
194
164
193
130
158
165
121
135
112
112
130
168
201
186
135
208
167
121
181
208
150
281
121
167
245
264
121
121
202
150
150
150
112
208
212
121
150
143
167
121
193
167
176
158
172
194
255
112
171
112
174
147
164
150
225
135
241
112
160
152
159
186
147
167
136
237
187
167
208
179
208
167
250
207
121
150
121
228
112
150
112
146
150
195
150
115
167
155
181
278
164
193
207
199
150
174
167
174
112
186
123
112
217
123
218
173
150
167
150
121
255
258
136
172
121
168
112
150
236
112
219
158
112
163
156
201
112
158
196
164
147
228
121
244
112
278
123
201
208
121
121
198
172
270
112
121
181
172
181
195
150
164
150
136
200
194
196
168
302
240
172
194
165
171
178
172
263
167
160
243
150
202
195
150
239
220
168
150
223
170
267
208
208
210
212
167
202
112
168
170
171
197
124
194
225
231
248
172
123
159
150
147
250
136
166
194
243
121
165
214
162
115
112
159
231
150
228
172
192
128
171
112
150
112
170
208
181
115
137
150
208
247
150
302
189
124
137
187
121
152
121
201
176
208
167
152
174
158
164
167
205
172
172
167
202
147
112
141
233
121
176
228
152
219
136
130
121
186
194
159
147
150
198
197
150
174
136
228
240
208
121
150
112
210
171
195
250
165
112
150
156
183
208
156
212
186
214
150
167
121
150
161
167
291
115
121
137
184
150
179
189
195
187
112
201
136
193
112
150
181
150
176
288
121
167
266
276
170
121
172
115
212
167
208
121
176
228
206
237
208
121
205
175
112
176
219
121
170
202
187
226
181
123
216
112
172
171
187
160
150
165
137
217
172
164
167
172
137
112
237
170
187
168
220
135
112
121
299
121
171
158
212
176
121
183
234
130
260
249
263
216
210
136
192
195
223
177
121
186
121
174
228
167
263
112
172
112
147
291
202
207
160
194
171
131
205
167
121
172
228
165
179
250
112
150
123
135
130
175
150
150
123
124
263
152
226
144
150
208
121
121
146
121
226
208
167
172
194
210
150
167
190
170
150
176
165
150
207
112
187
150
167
255
150
231
171
158
194
172
121
214
150
195
112
219
210
121
194
210
150
171
152
171
150
245
194
198
123
243
195
150
237
175
228
150
201
199
205
144
212
112
161
150
205
171
112
194
147
136
210
219
202
137
121
223
136
170
186
150
112
192
150
208
121
201
115
167
158
150
112
167
121
128
171
203
170
228
165
112
176
204
156
170
205
233
165
165
172
150
229
218
189
121
112
135
150
121
121
121
172
156
173
136
235
121
112
123
195
177
228
207
121
112
177
172
220
150
272
208
170
176
124
160
171
193
171
150
212
193
150
214
112
250
220
170
112
150
171
190
208
112
194
150
174
203
208
112
123
175
240
208
201
210
208
150
189
150
150
186
158
143
239
228
150
164
165
150
186
150
212
150
208
172
112
123
186
112
121
121
164
150
195
112
202
121
152
194
121
232
167
172
179
175
150
172
112
193
174
172
112
231
208
172
150
255
170
176
193
186
173
217
150
135
150
208
211
239
112
172
167
121
181
112
195
167
232
150
121
208
218
202
152
195
167
121
179
121
171
187
223
250
123
112
210
208
144
112
165
172
123
186
150
200
150
123
152
172
121
115
121
170
121
150
150
121
208
208
176
150
124
217
123
265
194
150
239
181
112
112
226
178
176
123
135
150
172
150
171
210
112
190
121
184
176
150
184
121
158
193
207
150
150
226
124
186
194
208
208
213
158
136
193
199
112
297
234
123
208
210
150
112
172
194
219
202
257
124
193
121
150
194
226
121
165
123
137
176
147
112
112
167
150
172
150
172
171
208
252
150
233
158
150
159
208
223
161
112
160
136
159
167
167
124
210
225
164
150
128
226
171
150
150
150
124
167
152
172
257
226
171
217
195
276
167
217
172
177
136
194
189
150
171
170
172
210
209
150
194
214
208
124
121
150
150
150
124
202
115
121
208
171
157
176
240
172
174
209
181
177
229
255
214
150
112
112
223
176
255
164
194
234
203
237
150
147
112
121
214
187
219
150
112
194
170
265
228
164
224
237
172
196
160
174
276
209
208
156
175
157
210
165
186
152
160
198
208
232
212
170
112
167
240
152
208
199
208
208
150
192
193
150
203
172
262
150
112
208
160
199
150
168
171
150
152
193
112
195
210
172
231
186
247
173
167
171
189
160
123
186
181
168
112
194
218
152
167
121
236
150
147
194
121
186
171
123
206
238
150
128
229
112
135
177
147
147
112
194
112
150
181
178
112
121
123
210
176
218
196
250
128
176
208
239
150
123
167
172
144
200
250
165
121
186
172
150
208
194
123
150
184
124
121
186
302
194
112
181
143
219
186
177
112
237
150
210
115
150
231
172
194
228
112
174
170
150
112
170
170
187
152
228
239
171
160
200
121
121
170
121
176
208
202
208
150
115
164
112
128
172
250
121
121
159
150
150
167
250
172
170
250
150
112
224
150
112
150
150
150
137
172
194
214
189
165
208
150
215
112
150
147
170
228
150
112
112
121
170
187
229
196
112
175
167
158
112
172
233
121
186
181
112
150
141
181
209
112
121
208
193
167
112
208
112
266
171
150
186
192
201
165
195
112
137
172
210
150
121
239
144
210
212
115
112
213
177
167
225
158
170
172
112
121
147
172
167
150
181
228
150
112
208
121
227
150
150
231
170
270
156
161
147
121
177
194
121
130
123
150
201
150
112
207
194
208
165
150
150
136
159
167
194
208
150
121
208
243
121
155
210
150
150
144
121
215
112
123
172
135
112
193
150
227
153
199
237
202
241
208
276
171
181
165
205
264
168
181
232
172
165
150
176
172
123
208
165
137
208
229
207
150
208
112
208
121
123
203
112
150
229
225
121
170
164
135
150
115
150
112
121
225
172
246
137
150
170
121
223
250
170
172
172
181
209
172
172
202
239
172
220
159
121
171
172
181
165
177
160
121
171
225
170
159
230
172
174
226
208
168
121
177
136
237
194
220
188
150
195
121
208
150
112
233
227
170
156
211
220
208
208
208
231
147
150
243
187
194
218
150
121
128
178
112
121
112
150
265
181
121
207
150
121
150
181
167
112
210
194
172
170
170
210
112
277
212
233
212
170
226
243
192
150
171
112
228
135
177
137
194
112
259
198
241
248
219
121
121
112
220
223
144
165
213
123
170
208
167
121
124
208
229
121
150
194
170
164
201
123
160
210
121
147
255
121
170
172
112
240
201
150
172
150
167
192
136
187
201
193
208
210
208
112
209
136
171
217
150
172
121
176
208
121
176
192
193
208
156
112
195
115
150
177
150
152
150
171
112
184
121
160
164
161
181
172
150
123
211
112
192
193
172
171
192
229
193
150
172
161
123
112
121
130
171
207
218
150
170
172
112
165
167
228
172
158
124
150
172
136
202
172
228
167
150
128
205
136
164
195
187
194
150
208
208
228
170
184
191
181
231
202
171
121
168
228
179
158
257
184
208
112
121
186
193
231
194
159
193
255
208
172
212
165
158
150
112
186
139
112
232
112
150
112
212
150
181
123
156
228
195
147
124
164
170
263
219
219
186
202
171
192
135
165
172
170
194
168
136
136
167
167
208
150
150
203
278
123
173
210
150
170
121
121
187
190
121
216
187
130
212
212
194
208
237
150
208
112
170
112
172
170
150
150
164
219
225
172
150
205
150
150
263
219
175
207
175
182
187
112
232
112
243
193
209
121
201
150
172
137
208
171
150
234
176
250
165
123
150
214
275
208
121
121
208
176
262
115
165
112
202
172
121
167
190
208
187
150
112
183
121
167
164
218
167
171
208
236
239
269
167
192
278
211
123
223
121
216
194
150
150
121
172
186
193
194
168
165
121
112
135
208
150
112
212
164
165
170
172
172
210
170
195
150
156
190
115
150
121
150
229
193
121
150
172
202
160
172
188
167
170
208
172
262
170
128
240
175
150
137
217
150
208
237
253
209
112
269
210
170
150
267
187
137
187
123
121
172
235
121
205
161
208
220
208
172
192
150
150
182
269
192
181
208
150
147
170
158
167
112
112
180
164
150
263
176
137
219
112
121
208
197
172
187
205
187
208
112
208
150
161
150
240
145
150
165
202
187
160
208
222
147
150
124
217
112
181
112
172
208
112
150
136
147
136
229
112
202
243
272
112
187
175
253
197
181
172
241
137
171
167
170
167
205
228
112
171
150
184
115
203
167
187
136
112
172
208
194
220
150
112
123
167
150
231
171
150
150
160
150
112
115
121
150
123
189
210
152
181
121
278
221
121
254
220
152
201
156
225
217
156
150
115
171
150
167
172
112
177
171
158
187
121
193
187
240
112
121
208
121
150
181
121
208
150
174
210
112
176
123
124
170
172
171
171
209
112
264
203
208
123
150
152
186
245
112
217
121
179
229
150
150
150
171
115
208
208
237
181
193
171
150
225
136
194
167
150
208
203
112
123
167
237
323
136
137
172
192
172
207
168
193
210
189
136
159
228
171
150
135
115
121
112
207
150
168
208
237
171
202
112
172
167
171
239
150
112
150
192
203
206
158
137
234
112
194
210
221
247
216
181
167
177
202
212
177
230
223
194
250
170
121
203
195
210
175
255
220
209
167
171
121
123
215
170
192
121
240
152
171
208
229
165
135
186
150
150
208
186
167
236
121
208
187
237
228
156
192
224
172
193
170
176
150
121
170
150
150
221
208
171
225
161
123
150
217
208
164
187
123
160
195
164
121
172
205
228
165
137
121
175
258
147
250
155
176
174
177
184
186
135
208
158
228
219
170
172
196
123
208
147
136
255
112
177
160
212
112
220
167
112
208
147
172
115
186
208
150
135
112
150
202
174
170
176
227
175
123
322
150
150
112
171
201
223
302
163
150
150
165
170
171
220
225
177
223
167
112
202
194
167
204
202
165
150
147
172
170
218
194
115
216
194
186
112
210
147
186
167
213
152
228
250
239
202
135
158
165
146
208
137
128
175
213
176
112
208
150
162
150
278
186
208
170
228
112
159
150
179
208
112
215
112
135
170
165
137
121
112
121
150
170
165
172
184
165
130
186
170
172
112
150
197
263
208
182
291
250
205
228
170
208
165
123
187
150
147
136
212
121
189
212
172
239
208
112
123
243
171
146
121
112
167
121
137
121
213
121
112
195
233
201
229
190
172
150
193
217
210
121
121
229
212
255
218
218
268
112
225
177
167
201
150
202
256
225
150
150
189
299
123
186
255
150
160
219
171
115
172
158
214
112
112
135
171
193
160
195
193
302
187
176
239
187
179
201
170
212
167
194
112
130
121
121
182
150
194
195
121
213
244
112
255
187
203
176
121
170
121
229
112
167
176
221
172
203
152
194
177
123
135
135
130
115
167
171
176
150
184
196
121
121
150
123
207
163
181
185
195
121
165
158
217
170
242
171
112
150
121
189
186
181
186
121
121
150
150
115
158
128
150
123
192
194
165
160
212
208
187
156
112
174
112
183
121
165
208
217
150
150
225
216
208
181
193
137
123
167
220
112
112
259
208
165
208
137
190
186
150
219
167
150
208
217
176
112
208
208
150
159
112
245
147
176
162
187
238
171
147
159
208
121
194
195
237
121
176
147
130
195
121
112
215
150
112
128
112
170
177
112
217
208
112
276
115
156
200
121
112
150
123
202
193
124
170
112
150
186
172
150
150
112
193
121
171
150
176
202
150
207
226
228
158
143
186
281
147
186
278
150
170
170
121
230
172
181
112
187
212
121
237
158
112
164
145
158
227
193
202
172
186
240
171
135
214
200
203
193
276
193
208
150
112
208
175
228
208
229
171
174
112
250
171
276
150
181
172
182
159
174
165
112
136
121
186
167
150
172
137
250
150
201
171
242
150
193
183
184
250
121
228
172
302
186
121
150
223
150
214
186
171
208
158
208
112
112
181
194
250
171
150
174
186
172
168
186
194
215
136
187
137
170
145
121
217
170
187
226
152
137
168
208
238
302
150
210
160
211
112
150
171
112
171
167
184
192
181
171
112
170
208
112
220
150
181
205
150
112
172
115
121
196
228
167
130
181
150
121
152
150
150
232
199
167
167
112
225
121
194
208
150
208
150
136
201
170
175
194
187
150
208
150
115
194
167
187
124
192
160
150
150
150
150
201
150
152
121
184
273
157
160
121
231
172
229
193
158
167
112
202
150
112
150
231
112
156
215
176
186
123
177
121
170
158
168
192
115
121
123
203
170
170
146
121
167
150
136
123
231
112
195
112
167
201
213
174
197
181
170
172
150
193
181
186
229
112
208
136
203
208
167
212
121
121
158
208
161
231
165
181
150
200
121
121
123
164
121
112
193
150
173
150
128
150
187
150
186
186
167
112
112
150
170
121
261
172
124
150
170
186
164
150
186
208
150
150
208
150
112
212
150
250
228
171
136
147
164
150
130
231
121
217
250
187
212
112
139
181
203
181
171
186
112
165
150
121
234
170
112
172
150
235
202
165
167
235
150
177
150
150
181
150
238
210
124
112
112
186
182
121
167
205
193
177
150
158
192
161
150
209
187
121
147
112
121
167
179
208
207
150
170
208
208
135
172
181
208
231
184
253
226
123
170
213
186
206
150
172
208
150
137
218
121
175
225
170
208
150
231
170
237
203
203
241
165
176
192
213
258
177
112
112
170
238
112
172
220
196
150
174
136
121
235
172
170
150
201
165
171
112
156
150
194
177
170
121
136
150
150
194
150
124
172
167
210
170
238
250
187
157
194
208
167
228
112
208
150
157
152
208
167
173
112
171
176
150
231
176
150
121
207
176
143
150
167
112
237
181
156
172
229
278
190
186
172
201
174
181
228
123
112
112
164
130
137
190
167
139
171
112
112
178
136
147
150
147
123
136
215
213
172
172
123
181
209
172
152
147
137
215
121
172
167
121
150
112
161
299
208
168
172
208
197
112
150
208
229
195
202
212
112
210
112
121
206
181
159
127
192
112
204
171
150
192
150
150
174
170
237
150
208
172
233
112
136
171
123
121
170
215
112
167
167
175
177
210
164
150
187
195
150
112
150
195
217
150
168
112
212
112
123
150
172
171
172
219
150
229
121
175
269
194
179
187
232
170
150
115
121
202
207
202
150
172
208
172
226
168
216
226
124
194
202
172
167
181
168
176
205
237
172
206
182
171
229
181
130
210
167
121
150
121
189
220
178
181
176
112
135
192
172
172
181
150
115
147
147
112
172
174
165
152
158
228
150
112
150
150
121
165
195
123
193
168
164
150
187
210
219
121
175
158
235
167
135
150
121
171
121
150
168
165
187
112
158
144
226
172
147
190
194
228
208
150
112
150
206
193
208
259
193
112
121
167
170
160
210
165
112
150
208
175
150
150
210
121
218
112
225
203
223
112
207
150
208
170
158
150
208
243
150
115
150
203
186
210
227
121
136
218
123
174
170
238
150
112
123
210
228
143
208
205
181
167
195
143
220
172
190
217
121
231
192
112
115
130
181
182
150
164
115
196
181
202
202
208
181
167
164
212
112
171
172
112
168
289
123
156
121
167
171
176
167
130
112
112
250
239
265
194
121
121
232
144
228
121
136
232
150
135
209
112
150
121
128
150
212
159
123
144
192
181
226
112
208
171
167
174
137
194
203
136
112
171
237
181
170
207
135
150
172
201
194
176
112
193
150
150
250
172
212
121
195
136
231
137
173
159
194
189
208
203
219
167
209
112
150
112
299
152
150
150
217
194
236
208
194
112
123
192
210
171
349
121
202
167
208
144
124
193
143
165
121
212
181
137
192
147
208
181
112
242
150
150
171
150
170
121
193
167
228
168
150
172
150
112
152
112
235
226
150
171
208
115
150
112
218
112
112
189
209
143
167
172
180
172
208
112
121
176
121
187
226
171
172
147
178
159
172
237
144
205
112
121
168
112
208
217
123
159
174
194
146
231
167
189
170
115
135
150
220
210
164
212
171
181
167
165
181
112
112
233
229
172
245
210
167
165
172
187
170
158
150
217
221
173
165
156
112
204
167
237
158
165
208
228
167
177
172
150
198
121
171
158
121
137
225
181
167
161
233
237
208
121
150
112
121
165
150
158
147
250
179
226
135
172
203
164
176
271
170
210
158
150
159
128
158
201
212
171
137
156
121
150
195
167
123
192
196
193
217
150
246
240
177
256
135
121
215
193
177
178
195
134
112
136
215
195
170
172
238
194
172
208
135
250
150
121
202
124
112
172
250
302
135
158
171
167
121
172
237
210
203
194
174
150
112
297
112
205
112
112
121
150
130
150
167
123
150
193
121
112
174
170
208
152
172
115
123
171
212
182
164
172
208
171
112
136
150
192
200
208
195
202
172
168
188
112
150
159
112
170
241
123
239
144
202
203
174
201
150
150
123
150
162
150
123
152
210
264
184
232
231
171
121
170
121
174
136
153
112
112
150
167
112
229
276
170
137
145
150
156
170
121
250
208
150
112
164
121
121
121
112
112
165
229
150
176
259
202
230
257
202
112
147
208
112
112
147
112
123
171
210
150
135
208
210
150
150
204
150
121
150
237
172
127
171
121
135
214
209
167
135
137
168
150
112
209
135
167
112
112
149
212
159
165
176
170
170
171
112
219
150
225
156
174
121
150
150
168
235
172
217
164
150
156
302
260
112
121
143
198
150
150
220
235
206
112
237
123
165
274
121
170
165
123
112
167
172
150
202
170
147
167
170
238
240
128
150
137
192
135
242
121
208
135
121
208
208
170
195
147
135
276
176
208
232
172
177
228
179
208
208
193
136
203
201
175
146
186
150
150
176
115
115
168
123
208
250
208
194
236
160
172
123
208
229
162
137
112
112
190
167
205
112
130
137
189
220
112
121
150
150
112
207
150
210
164
171
237
121
150
198
150
130
123
229
197
150
174
181
137
121
195
225
216
160
112
177
172
123
195
123
246
160
203
181
112
123
228
181
219
167
181
171
228
210
121
112
186
208
123
136
208
185
257
194
150
186
172
212
177
170
237
170
219
165
147
121
182
121
172
150
302
123
187
150
266
208
121
208
186
150
121
150
167
170
193
208
241
240
225
112
150
186
130
139
228
265
121
170
276
172
243
150
195
112
150
160
219
208
167
194
135
170
150
152
208
147
194
212
208
236
170
150
187
194
124
193
201
246
112
170
150
208
150
160
210
137
168
167
112
203
150
121
237
208
209
121
112
150
171
198
195
187
150
123
150
137
115
185
164
212
170
115
194
208
259
231
217
201
194
136
139
240
278
135
165
233
174
167
121
224
244
207
112
208
150
136
150
136
121
123
186
167
112
208
264
150
202
167
220
170
250
205
241
240
167
205
181
164
195
174
217
193
226
170
112
150
135
164
189
208
112
112
121
208
170
130
150
235
208
112
208
123
112
172
112
112
250
112
112
150
202
231
240
239
208
241
135
150
112
193
201
164
167
112
135
150
217
152
112
187
136
228
172
150
172
124
162
231
210
123
239
250
208
203
157
156
171
208
123
202
170
137
167
193
160
137
167
208
252
170
123
189
187
200
147
160
176
171
196
274
112
230
136
190
201
123
150
164
190
160
242
171
243
209
112
172
112
112
176
115
150
181
212
195
121
121
121
271
225
224
112
121
150
115
172
234
169
176
194
150
156
176
228
231
159
192
112
299
112
152
159
171
172
112
158
231
150
150
176
205
208
168
186
182
121
223
112
276
207
205
217
121
123
176
170
150
167
150
147
238
121
156
193
150
186
112
121
147
123
212
160
112
150
171
208
174
302
218
167
194
225
208
233
121
172
121
170
167
172
171
207
204
186
193
174
177
112
121
112
172
193
171
203
121
112
183
128
112
239
165
174
208
201
121
208
177
165
182
150
150
172
157
137
181
181
123
178
176
158
165
171
144
115
210
199
121
170
233
112
121
202
170
158
208
173
186
112
220
190
194
179
112
217
121
150
121
136
220
195
209
164
172
187
213
167
210
209
147
150
195
208
195
121
121
193
156
112
150
121
196
150
112
208
213
123
264
167
137
170
123
150
217
210
212
170
217
194
197
210
172
219
201
150
172
167
208
121
112
112
112
112
121
207
167
208
165
161
167
240
204
112
165
150
167
123
176
124
112
170
208
112
198
123
174
250
170
135
176
202
171
253
208
225
172
206
171
218
159
112
210
121
164
253
112
184
130
112
179
165
150
112
250
172
187
194
112
171
112
208
115
164
165
159
112
219
210
159
240
150
150
124
192
121
186
150
165
208
112
228
112
258
187
208
243
170
178
193
150
181
150
210
136
112
112
178
230
220
208
159
170
144
172
175
172
208
121
115
233
112
170
112
264
238
195
123
219
158
152
255
183
237
216
167
150
167
201
212
150
170
208
167
171
123
172
172
172
144
167
150
208
171
183
150
121
150
208
121
281
170
121
170
123
178
250
150
121
150
209
212
164
198
188
178
158
150
115
164
121
121
172
172
159
228
277
168
186
208
135
121
202
263
187
181
172
167
112
150
112
150
121
225
184
219
150
172
121
160
209
112
194
150
112
147
170
150
259
135
228
208
150
150
265
168
121
172
237
112
112
112
150
167
231
112
172
172
112
208
208
150
112
186
208
136
208
189
121
112
160
137
112
128
170
143
208
170
176
150
121
112
123
159
188
136
159
181
210
170
150
112
196
171
123
121
202
165
195
150
112
112
193
150
150
194
195
184
206
112
150
167
150
194
195
135
172
186
174
121
167
199
167
185
159
189
123
145
208
218
167
170
124
112
167
147
159
239
112
164
217
254
195
159
135
239
121
212
165
172
159
220
170
150
201
115
217
262
112
115
161
172
165
135
194
172
172
181
121
121
172
181
123
193
112
137
121
136
115
152
150
150
121
150
160
112
168
229
170
170
121
112
112
170
164
159
112
217
150
112
170
167
201
196
121
121
203
137
179
130
219
208
150
163
172
167
172
208
178
121
208
150
225
170
263
190
232
208
147
164
112
186
217
121
150
112
137
121
165
121
150
201
208
150
186
112
208
181
208
165
150
112
211
201
206
263
202
231
121
201
228
208
214
150
229
150
208
136
150
150
150
194
210
124
194
150
218
193
210
115
128
121
158
170
214
121
250
174
187
202
170
187
186
174
192
121
238
112
176
181
262
121
162
150
124
115
175
150
228
194
228
121
170
112
186
190
209
150
150
194
219
150
112
165
205
112
171
190
234
210
203
135
196
150
112
208
208
124
228
208
171
147
150
170
167
167
201
121
172
225
167
242
150
208
185
158
278
112
195
257
176
121
210
165
165
171
160
150
112
201
135
205
121
121
186
202
150
175
152
201
152
193
253
147
237
208
152
208
112
150
168
159
150
207
123
128
150
225
228
123
237
112
219
157
228
150
186
234
195
218
239
167
172
112
208
150
115
223
167
165
160
171
216
175
178
171
207
167
179
221
121
243
170
150
167
167
194
115
124
208
195
223
241
194
205
165
156
170
302
112
167
112
176
165
146
123
123
207
115
167
233
150
165
112
196
226
121
220
147
208
235
112
231
177
123
186
150
112
246
112
150
115
204
150
168
219
121
229
161
150
167
112
265
210
147
136
194
112
123
170
179
150
156
170
150
175
130
172
121
167
172
204
278
255
207
112
123
121
196
207
192
121
194
210
112
150
112
234
150
232
121
231
185
208
202
176
152
150
171
171
170
208
121
128
208
112
217
123
112
220
170
214
176
167
150
115
171
245
167
177
237
150
159
171
160
121
208
121
150
195
150
150
159
210
112
172
172
121
193
181
172
195
203
177
112
228
212
201
165
208
159
112
193
187
232
176
121
181
112
172
121
150
150
121
121
255
128
170
225
186
205
167
121
150
159
208
150
112
121
164
147
194
218
121
181
150
112
135
121
172
124
202
150
112
136
130
202
172
207
121
227
115
231
179
165
190
168
115
174
208
150
150
156
192
208
170
167
186
112
201
213
172
167
150
135
124
170
167
112
121
222
205
250
177
164
112
170
150
121
234
147
121
150
115
112
167
167
128
160
152
112
207
302
121
213
160
193
190
209
239
237
263
159
150
121
194
208
121
255
146
172
196
171
112
194
250
186
202
147
137
342
165
156
302
212
208
152
210
181
165
135
170
172
259
115
171
112
167
172
170
123
193
144
167
135
150
246
150
210
172
176
112
241
228
176
150
150
194
112
150
202
121
243
136
201
237
210
208
121
150
170
195
115
220
237
175
211
112
150
194
231
150
170
156
172
171
208
176
112
236
150
137
175
123
147
239
112
172
121
242
177
194
201
207
161
121
150
237
210
194
167
174
123
228
210
181
236
236
150
160
112
121
156
219
152
214
170
112
112
177
150
174
124
121
150
150
170
115
150
217
228
172
150
121
121
186
216
150
147
112
112
123
172
130
136
257
228
150
237
193
185
193
172
171
202
112
150
165
150
171
201
158
112
263
170
208
237
238
159
136
205
150
112
150
112
181
150
170
208
112
193
207
165
225
165
270
112
124
150
250
123
202
156
152
135
170
177
128
112
282
195
208
112
172
150
194
178
201
112
150
176
164
178
208
115
115
208
121
112
176
150
190
229
112
218
121
256
187
229
245
130
112
167
208
194
147
201
123
228
170
123
112
112
172
210
237
121
178
112
124
185
150
150
156
170
121
179
178
194
123
171
112
208
150
194
137
112
208
193
170
135
239
150
258
187
195
202
237
150
243
112
167
181
209
256
210
208
170
165
208
123
208
150
161
186
208
112
121
217
172
187
167
240
172
208
112
131
165
135
121
150
229
242
240
208
162
182
150
208
193
170
165
176
112
165
172
121
112
164
112
220
147
187
150
208
228
161
171
210
136
208
181
195
221
175
208
159
208
172
150
112
121
150
112
112
217
121
150
219
124
209
112
208
139
196
150
208
112
263
186
233
123
297
112
228
112
112
150
194
219
210
150
233
218
159
159
167
150
212
165
112
208
121
121
160
219
152
250
150
158
150
112
181
195
208
229
192
167
135
210
178
112
228
208
184
229
210
176
150
171
179
136
208
228
150
121
164
150
167
150
207
235
150
150
208
137
215
217
210
123
202
150
236
202
195
186
208
128
150
115
207
168
170
228
208
250
186
192
210
130
208
192
178
220
181
121
171
135
208
112
176
112
170
150
187
170
205
173
136
223
112
187
203
160
123
165
121
208
123
121
112
231
195
156
170
176
185
186
162
112
121
150
219
170
178
268
195
231
205
121
150
255
208
232
202
232
187
242
121
192
167
224
137
176
239
231
150
172
250
150
205
150
177
171
231
150
257
207
186
170
212
112
167
172
112
172
135
158
164
150
186
219
176
167
137
150
150
112
121
235
112
183
216
150
172
172
170
150
172
164
192
112
150
159
159
143
172
121
190
121
147
186
186
208
121
208
160
186
176
208
245
239
167
171
170
135
173
150
196
176
150
150
121
208
150
235
179
348
128
177
196
123
237
112
176
174
150
218
181
150
171
150
207
204
186
237
128
168
112
150
150
170
112
143
187
208
172
226
228
112
172
112
174
158
237
228
171
208
158
210
208
186
115
121
240
164
177
226
210
165
160
112
208
123
237
121
210
112
194
165
164
212
179
237
112
208
245
112
193
163
195
208
115
208
192
184
167
171
227
167
171
137
112
112
177
193
250
216
150
150
150
212
123
170
174
150
150
170
177
195
194
147
150
164
214
170
179
181
152
299
136
121
164
123
115
194
124
123
168
172
250
241
171
182
218
168
186
208
167
150
150
130
171
150
174
130
167
213
115
203
150
170
112
112
121
121
228
250
193
208
170
242
112
123
121
208
184
168
192
203
208
150
144
167
194
152
123
123
112
112
147
168
195
208
150
239
181
124
135
201
181
112
260
165
203
170
164
167
121
149
172
226
177
112
272
192
150
208
131
176
150
158
172
112
165
178
156
172
167
147
150
202
121
150
208
181
197
136
194
179
186
137
208
177
124
250
171
172
228
186
121
171
165
150
123
226
172
172
196
168
202
112
150
112
228
128
203
208
150
150
176
112
150
194
192
235
150
112
139
170
146
187
112
112
121
130
152
112
156
121
232
222
150
173
147
147
123
258
150
156
121
112
219
195
208
121
175
208
112
172
150
150
193
121
150
123
121
180
175
239
150
124
112
147
171
165
112
121
168
208
194
187
201
150
186
217
150
130
152
208
124
193
195
163
167
202
225
219
152
193
243
135
186
219
121
171
205
135
198
226
231
164
252
121
121
167
201
192
170
156
167
194
220
170
172
135
112
121
271
121
228
150
194
170
207
230
195
150
210
255
232
112
218
187
150
193
112
165
175
193
192
131
172
170
172
228
150
130
278
147
210
208
170
208
217
302
219
194
137
123
181
229
112
112
173
171
208
150
207
150
150
189
112
121
150
236
208
208
112
177
121
112
175
172
150
202
112
150
208
150
159
150
121
152
121
123
121
112
170
255
208
193
192
112
150
121
176
158
236
210
186
172
255
263
171
164
210
115
239
165
112
170
170
170
160
150
177
211
176
208
252
159
158
112
112
172
173
176
190
121
170
121
152
112
164
171
150
112
112
150
226
207
182
194
124
208
208
112
172
189
240
165
224
135
232
223
194
181
159
174
170
150
112
172
172
187
112
213
150
194
231
194
112
150
195
186
112
212
170
150
171
164
123
150
302
177
181
208
186
172
302
186
176
112
124
150
181
150
208
112
171
121
196
202
150
174
171
172
257
136
208
217
193
232
276
150
172
170
181
150
152
150
160
121
179
167
150
202
170
165
212
121
186
123
187
237
167
123
208
172
276
112
185
165
208
170
181
217
123
184
172
208
115
171
123
121
150
112
218
160
121
150
150
165
203
170
219
259
115
208
236
226
171
150
136
219
208
136
203
131
208
187
189
150
147
165
112
112
208
254
176
228
210
220
123
225
150
147
150
150
237
146
172
112
174
112
206
112
200
176
167
172
187
152
200
164
176
208
165
223
194
170
121
200
121
147
208
150
208
193
165
171
208
240
150
130
170
150
187
121
171
123
192
121
130
208
112
150
170
128
210
150
220
208
150
150
136
201
112
159
123
215
176
150
179
211
121
160
167
174
112
184
212
212
150
189
121
257
158
150
112
124
112
150
150
121
167
243
137
172
150
167
212
150
194
112
203
167
176
250
150
112
181
164
121
211
236
115
194
147
210
189
178
208
165
203
208
178
124
237
137
201
170
150
255
176
250
165
202
196
150
230
121
167
147
165
172
121
150
121
137
225
112
168
194
170
195
187
171
168
208
150
203
159
171
192
220
150
150
203
121
112
198
231
232
198
181
228
211
121
121
150
112
208
136
150
176
170
123
204
208
158
159
167
121
158
240
131
171
121
171
213
201
196
121
121
208
112
112
176
176
172
144
121
158
208
112
158
121
162
167
112
265
203
150
195
150
150
172
115
150
137
186
124
218
203
178
189
192
130
231
233
124
136
165
137
167
167
252
112
171
239
208
208
190
150
112
208
147
167
179
174
137
150
121
208
181
121
181
220
217
150
186
150
112
112
121
223
150
150
208
137
177
214
136
121
176
231
171
210
213
172
112
112
226
176
208
112
171
112
167
176
112
150
156
112
171
150
237
225
227
144
121
112
150
112
220
202
121
150
205
150
164
208
165
208
231
192
136
112
205
208
123
123
170
112
172
214
135
231
137
150
112
112
171
124
160
112
186
121
123
121
167
202
171
181
254
255
220
207
150
228
181
121
150
186
203
243
233
121
272
147
172
143
112
299
192
121
194
208
309
150
234
239
208
256
170
211
150
150
210
255
235
112
112
156
150
121
216
121
170
212
112
164
208
162
124
112
136
158
185
135
115
240
123
158
175
150
207
194
150
137
112
189
128
171
170
212
172
137
150
212
121
172
206
194
150
136
172
192
177
210
170
135
112
208
208
112
167
136
187
197
194
210
121
208
167
215
216
121
121
193
172
226
228
177
234
121
255
121
219
130
212
225
237
195
184
210
208
219
176
234
194
189
194
208
243
115
237
124
150
186
251
121
150
112
171
136
121
210
150
186
135
112
208
231
167
150
112
208
219
168
123
242
170
137
167
121
112
150
206
121
150
250
201
112
130
231
150
172
186
225
167
135
150
186
219
209
150
112
121
208
208
112
121
150
121
192
234
181
189
204
216
208
195
192
245
208
193
150
167
172
164
172
112
187
135
167
216
170
167
270
187
150
210
150
112
208
121
128
195
128
124
160
136
194
171
210
172
112
150
150
150
158
176
170
150
193
264
170
166
172
112
112
150
228
146
150
202
136
150
165
194
195
112
207
150
121
185
121
112
208
150
194
208
172
164
167
150
121
170
268
206
121
179
228
189
150
112
112
164
139
172
171
207
195
121
255
150
147
172
121
228
159
201
128
232
201
211
165
150
249
208
228
208
210
143
170
208
164
150
171
157
228
181
121
232
208
208
170
121
167
112
232
252
210
121
135
112
150
172
195
192
121
202
167
239
241
187
196
272
177
115
170
150
170
184
197
150
167
228
197
193
150
181
112
194
229
172
172
186
134
136
210
208
136
121
241
172
233
171
159
202
121
202
115
168
150
167
232
179
150
203
121
121
206
112
150
194
208
171
239
112
208
167
112
168
121
112
171
207
177
194
172
216
170
193
112
136
175
172
167
150
112
225
150
165
170
228
147
181
176
112
174
228
158
121
176
171
214
171
150
203
123
172
174
174
164
195
178
237
137
194
160
174
121
172
150
195
208
216
131
150
202
112
233
165
147
255
207
112
150
218
245
179
203
240
181
112
199
196
123
121
193
172
128
167
208
172
121
150
123
232
247
186
194
130
170
150
205
167
250
181
172
171
150
112
172
172
167
112
170
172
228
222
150
200
194
250
208
170
121
254
200
156
208
208
202
170
210
112
193
121
225
241
272
188
195
176
234
208
187
206
150
164
150
130
229
121
172
208
136
208
187
172
121
167
150
256
170
193
112
276
112
150
258
210
135
215
170
143
165
170
203
121
274
112
170
239
185
186
237
207
112
150
170
150
167
174
150
232
167
123
121
150
172
172
112
137
198
187
192
195
136
150
194
150
167
237
121
242
150
214
150
112
150
214
208
150
123
124
170
167
163
170
181
212
172
172
218
181
112
204
172
228
112
112
162
123
187
121
220
208
187
208
167
156
271
170
170
170
112
144
135
204
193
170
186
150
112
178
170
240
112
172
112
123
167
210
192
165
219
112
187
172
244
150
179
112
200
112
202
170
164
112
112
208
121
123
121
199
150
123
150
181
112
150
194
115
170
208
150
179
178
121
123
159
112
174
210
160
227
112
207
150
156
172
176
168
220
156
204
226
112
150
150
112
121
121
167
137
195
181
112
208
150
210
177
147
112
230
171
186
208
112
167
171
123
208
112
150
208
121
121
123
247
282
130
175
194
112
176
193
197
172
171
158
215
252
186
172
135
121
112
124
112
150
123
172
112
170
172
165
204
211
129
196
202
223
123
135
170
208
212
150
176
150
112
208
112
208
112
136
112
231
137
222
176
201
237
150
176
167
250
150
172
186
176
150
158
170
193
186
208
123
150
158
165
167
201
121
211
135
236
177
164
137
147
123
165
115
228
112
150
175
172
137
150
171
207
167
143
195
215
214
194
150
150
212
150
150
176
215
150
123
150
112
208
201
207
121
195
236
164
123
121
234
210
214
135
213
157
186
210
208
171
137
150
137
150
203
150
173
176
150
121
227
253
165
162
168
176
194
203
150
208
150
136
240
167
181
199
207
124
170
194
135
112
164
220
237
231
123
170
189
171
225
250
150
176
123
215
150
217
208
150
189
150
198
150
219
171
194
217
165
143
112
172
172
112
214
136
232
220
123
112
152
112
164
207
144
194
167
208
177
121
172
115
228
165
302
241
171
225
210
150
193
112
250
150
115
150
195
121
208
208
239
150
121
228
130
170
150
171
199
167
137
228
157
195
150
225
208
229
192
212
181
165
208
202
150
207
123
121
209
112
150
121
112
123
115
203
150
263
112
194
181
208
121
208
172
216
167
171
170
112
150
150
177
302
121
233
194
128
170
112
237
278
150
172
135
165
121
209
123
202
208
121
167
270
150
212
115
121
194
123
181
170
150
171
192
172
201
174
194
128
165
226
181
172
231
170
181
165
150
190
170
121
121
121
235
150
172
159
152
136
208
128
159
187
112
121
147
229
257
232
201
228
152
112
115
121
136
171
195
159
112
121
203
225
152
203
115
160
294
201
167
305
225
137
203
208
208
150
202
196
136
147
150
225
195
232
230
263
176
243
208
203
137
167
112
208
225
147
159
194
192
139
176
112
198
121
171
186
187
167
112
170
245
167
167
184
207
194
174
217
214
135
115
175
112
146
172
167
165
121
121
226
160
167
208
192
112
135
263
205
130
203
228
216
167
202
112
213
202
187
150
135
229
121
208
243
189
218
121
172
150
228
170
147
172
150
150
207
170
208
172
208
195
278
215
176
150
177
136
112
150
121
156
208
165
176
186
194
112
195
208
195
194
194
135
205
160
121
150
170
136
212
195
121
164
178
263
233
121
164
210
128
228
193
225
112
121
112
184
137
136
135
123
121
168
136
189
165
201
176
186
176
179
112
187
225
231
112
172
130
172
226
187
186
156
146
160
112
159
195
147
170
164
150
164
175
121
131
150
203
135
147
208
194
150
112
225
208
187
202
226
175
150
238
176
171
176
237
112
150
112
158
212
150
150
112
194
167
156
123
160
257
194
202
121
203
150
217
207
199
121
202
121
197
208
121
121
115
150
124
243
167
152
170
170
156
115
150
167
203
167
112
159
121
150
272
208
195
225
194
176
203
176
259
195
112
164
128
172
112
208
172
164
208
172
162
150
175
189
171
171
150
150
121
170
171
167
121
150
172
135
150
219
170
162
130
172
171
241
209
205
121
121
165
208
186
179
150
164
182
112
195
208
239
167
171
150
150
268
165
121
193
202
112
137
210
137
152
112
201
219
228
112
121
170
112
135
187
172
210
150
137
121
121
115
193
193
123
121
227
150
193
195
150
152
137
141
237
150
192
170
197
172
135
123
112
121
253
198
112
112
208
278
194
112
147
121
130
187
237
167
160
121
181
194
174
165
182
171
240
172
150
201
121
112
172
121
190
147
158
172
235
194
184
195
152
291
207
226
225
206
170
112
150
195
220
150
165
158
112
121
201
159
123
241
167
247
190
186
171
167
121
181
202
186
123
178
112
112
112
176
121
146
150
136
184
228
172
208
112
194
255
167
150
150
167
194
167
112
238
195
124
171
143
236
112
137
112
218
201
112
176
181
176
186
139
135
238
232
212
172
171
150
176
136
181
202
135
165
167
203
135
152
208
172
115
194
150
171
150
165
112
158
167
167
130
121
150
171
207
237
263
167
193
208
112
159
208
230
232
194
167
160
112
112
167
150
150
221
171
174
112
198
203
195
212
150
218
150
150
202
195
216
192
121
112
170
172
147
112
240
227
186
240
243
112
121
150
123
150
167
181
237
143
250
147
165
209
150
121
112
176
177
175
130
170
210
177
112
186
203
112
121
250
170
152
212
172
112
112
121
121
170
150
193
165
121
121
150
250
121
181
194
156
174
202
123
115
172
181
147
150
147
112
186
291
186
121
112
202
239
160
258
228
196
121
137
123
112
150
136
194
160
221
112
229
253
208
176
192
150
192
112
196
208
123
170
172
158
137
165
193
112
223
182
112
121
150
121
182
172
170
187
112
150
150
210
197
229
150
149
164
137
231
194
186
127
171
208
170
237
222
168
167
281
212
112
177
146
123
171
201
143
171
193
203
194
212
121
218
121
167
121
121
112
203
145
170
208
112
228
115
176
208
112
168
175
115
150
221
265
171
170
123
243
112
236
121
124
201
176
202
121
179
144
231
228
167
147
124
179
210
150
112
217
150
112
121
165
143
150
150
112
170
150
181
150
193
136
172
208
172
208
191
112
278
171
147
201
121
174
165
171
208
218
135
165
123
112
112
214
208
170
167
208
233
167
150
202
216
220
172
208
150
121
137
261
239
181
172
136
121
121
250
167
201
174
112
273
165
184
150
135
152
232
112
202
171
263
171
195
112
211
194
158
208
167
208
176
172
112
112
112
112
212
167
121
208
194
219
237
302
164
171
173
112
181
112
121
250
135
210
181
150
150
112
212
150
194
167
150
205
121
168
231
112
168
182
212
185
150
225
121
135
219
219
181
216
170
112
228
172
150
176
112
181
150
237
196
172
168
205
152
181
202
208
242
164
172
165
260
208
237
168
171
239
124
121
112
167
174
175
150
165
226
150
208
186
226
216
212
172
233
121
171
234
298
194
171
170
164
160
150
181
228
164
209
121
150
121
220
171
160
208
150
174
150
167
197
219
203
171
195
150
201
150
151
208
193
123
194
167
137
171
158
208
150
230
168
208
250
239
184
211
150
112
208
208
144
150
214
201
170
208
150
176
135
167
167
167
150
177
286
112
181
181
112
121
244
233
123
147
150
170
150
194
121
182
176
167
167
150
121
150
193
181
193
202
170
195
150
150
150
237
112
156
208
186
165
112
184
173
112
208
218
202
172
121
115
208
112
150
177
207
152
150
121
112
167
121
208
112
131
170
112
215
253
195
208
121
130
172
170
159
152
164
164
150
150
135
172
243
150
221
112
150
167
202
170
213
200
121
137
150
172
208
150
237
112
172
164
172
136
172
193
159
167
165
217
171
210
164
165
179
115
217
186
150
172
189
242
212
208
112
167
240
170
112
121
123
141
150
112
137
208
276
112
181
172
210
150
121
179
150
187
170
150
112
112
164
207
150
202
121
130
228
165
228
112
150
167
121
215
172
121
112
238
193
150
112
165
192
122
112
220
164
171
194
193
240
194
208
171
121
121
137
237
167
257
121
150
123
135
165
176
123
121
210
121
130
168
243
115
130
145
135
115
136
115
203
112
220
147
150
182
172
237
175
201
158
195
210
233
208
150
150
112
186
208
186
150
137
136
213
170
150
211
112
171
135
137
226
177
158
112
263
150
194
164
150
171
172
150
257
150
121
150
187
168
172
210
112
218
208
112
159
231
150
176
150
172
165
115
171
165
156
193
172
239
172
203
172
121
163
137
219
171
195
208
172
121
202
208
192
124
121
207
187
194
112
156
170
187
112
112
150
121
112
150
121
150
176
170
181
176
231
206
176
112
194
205
227
174
112
152
112
167
192
195
121
181
214
159
161
176
115
190
257
181
160
202
172
112
229
168
216
164
170
135
173
170
136
176
176
146
163
112
194
194
150
177
172
165
250
164
181
164
165
123
193
201
112
193
170
164
201
171
164
174
123
112
150
273
165
112
154
201
135
228
208
228
181
231
237
112
208
112
121
177
209
220
112
124
230
150
164
136
222
158
171
194
171
172
172
112
208
172
194
150
150
205
112
198
150
112
112
150
189
210
198
186
150
187
208
229
121
193
219
207
194
150
165
181
208
181
112
112
158
121
186
243
121
158
158
217
177
167
112
208
263
170
278
175
208
150
172
130
203
229
172
215
212
135
130
170
194
205
141
205
136
160
171
228
203
115
112
239
150
112
115
211
160
177
210
150
193
181
220
206
150
170
248
186
150
257
193
130
135
165
237
186
177
208
150
220
253
219
189
230
171
121
132
121
210
219
150
165
171
174
186
174
237
159
167
112
124
181
121
150
150
123
187
124
208
123
121
170
193
194
150
150
112
172
171
181
150
112
150
171
165
150
239
170
171
194
164
208
164
208
208
205
207
147
195
121
167
204
210
167
194
208
254
186
150
172
209
121
170
208
208
167
115
208
121
193
181
240
255
208
146
123
121
163
176
185
121
112
186
219
150
230
233
112
172
171
217
194
177
176
123
150
150
123
208
137
176
175
124
167
208
176
212
170
213
174
112
194
123
150
208
198
220
112
210
168
208
167
150
112
143
207
212
186
171
112
123
202
208
176
239
237
121
263
202
150
150
176
112
112
150
115
172
137
150
112
176
201
167
170
150
181
186
121
237
112
171
121
112
278
152
208
242
165
159
204
150
171
214
171
203
208
225
112
121
170
150
152
172
170
179
121
170
136
158
237
204
112
186
112
179
150
193
217
112
172
195
202
172
123
229
237
150
121
150
206
189
121
181
112
156
121
208
208
209
121
167
208
202
167
150
150
150
121
175
232
174
193
208
270
202
124
177
176
208
194
170
130
150
156
150
115
239
181
245
121
150
170
225
150
228
172
150
112
228
150
112
167
172
172
150
252
184
127
208
194
175
189
121
175
160
219
150
205
150
176
150
193
150
216
176
203
150
174
206
242
123
165
135
201
189
167
121
200
187
171
123
121
112
211
121
202
123
208
147
239
212
159
211
112
194
193
175
226
208
112
205
172
167
174
124
181
215
186
253
272
244
208
208
150
136
181
136
208
239
156
176
121
255
232
150
150
175
203
177
194
158
195
171
167
123
194
150
215
156
112
164
192
210
150
112
242
208
150
167
175
220
187
176
257
170
226
185
190
112
179
231
208
250
187
256
170
228
160
195
204
201
163
274
196
167
167
250
230
208
181
208
115
165
172
167
219
121
121
112
150
121
177
161
156
123
253
135
208
170
208
165
144
210
243
167
236
112
275
112
208
193
186
193
150
165
150
135
231
170
168
186
121
112
176
194
170
165
174
167
150
237
150
193
150
121
193
150
240
150
212
150
181
147
192
238
220
186
237
121
186
121
164
112
112
112
187
112
112
265
112
166
202
203
121
121
135
230
194
176
150
193
147
203
228
123
208
171
225
147
158
181
226
167
164
167
150
194
171
121
112
150
172
112
193
147
121
123
229
194
112
121
208
150
150
150
217
217
112
158
172
171
112
150
201
192
215
175
210
186
175
112
146
112
174
208
121
121
203
167
112
150
210
208
167
171
136
135
115
147
143
136
165
201
112
172
150
291
260
150
150
143
214
177
112
226
112
239
172
112
260
123
207
210
121
176
240
167
167
150
164
147
150
121
112
150
112
218
179
150
239
202
208
193
112
219
302
150
172
123
201
121
217
164
158
240
193
112
218
157
136
181
121
249
187
112
137
204
255
192
234
130
112
121
194
115
201
121
171
218
205
150
192
112
205
208
174
121
150
150
186
135
208
172
164
136
194
150
150
147
263
263
210
192
170
131
112
192
228
187
194
226
150
165
211
171
231
258
193
220
237
123
115
192
123
208
208
255
208
112
167
242
219
192
158
156
176
218
208
130
170
170
168
150
172
112
242
199
177
124
150
186
123
172
237
121
165
187
274
201
208
171
167
186
223
231
193
202
175
135
121
186
150
202
208
228
115
152
196
194
186
150
152
150
172
112
175
194
150
150
263
167
115
176
239
150
228
150
134
172
229
187
171
213
233
150
150
165
255
171
150
112
159
201
170
168
112
172
165
186
150
240
121
208
171
181
194
112
147
208
169
255
179
177
121
150
121
139
208
177
208
121
176
278
121
187
174
205
254
219
112
123
186
137
208
121
121
167
187
167
170
216
123
150
170
186
167
220
175
121
150
135
150
150
150
136
199
193
176
208
123
195
150
121
181
121
172
208
186
170
158
174
176
174
167
112
240
238
165
187
112
123
158
219
136
150
192
112
187
164
203
223
144
112
189
170
172
123
172
146
165
215
165
150
150
156
202
150
201
168
170
170
171
112
194
176
228
239
143
208
181
175
195
172
150
150
194
150
190
259
170
240
233
208
187
210
230
219
210
112
150
192
150
212
197
167
178
171
257
202
147
201
206
147
136
171
150
217
206
171
121
255
171
152
164
150
156
172
172
177
150
175
165
167
172
170
181
181
186
150
112
123
187
171
201
205
172
150
178
246
167
112
212
112
150
174
176
112
150
160
176
147
112
174
158
170
170
150
167
158
123
165
219
207
189
208
207
209
193
172
208
170
208
135
112
170
281
181
171
158
112
194
160
194
112
208
112
147
170
202
171
164
112
150
152
121
150
192
194
207
194
171
164
181
218
112
194
209
112
212
171
208
121
170
152
210
205
217
167
165
170
150
161
150
137
165
121
172
217
234
136
243
112
195
112
212
158
150
136
130
112
234
203
112
186
186
150
175
281
161
250
143
150
121
158
174
212
150
137
170
208
208
121
112
150
168
115
208
184
180
147
121
183
150
123
263
172
115
112
172
171
112
135
167
205
232
121
237
172
176
204
164
170
233
172
167
288
167
112
112
192
121
112
121
210
176
210
150
150
150
150
179
176
195
150
196
112
233
208
210
112
112
186
112
112
177
135
130
121
212
170
157
121
123
226
150
150
170
171
150
187
115
226
158
121
172
150
150
190
156
150
150
160
171
179
210
193
112
161
267
186
203
302
216
170
230
124
165
164
121
203
170
181
187
207
112
121
193
172
150
112
232
251
162
150
195
216
255
181
176
238
197
214
241
208
202
167
135
210
121
170
208
147
231
171
130
112
176
231
219
208
209
186
219
171
175
229
121
167
175
262
196
216
250
150
150
256
236
135
250
207
231
184
190
131
276
171
242
242
156
150
172
150
112
236
176
150
112
121
220
186
192
143
112
196
150
167
150
266
208
150
228
112
177
239
281
240
208
160
112
150
193
121
150
186
226
181
143
208
205
171
202
225
135
192
130
150
237
168
150
157
158
208
192
167
171
150
186
263
157
121
227
150
165
178
193
150
112
228
205
121
194
172
216
194
135
121
201
172
193
174
260
150
150
121
150
195
121
176
123
121
228
150
176
207
121
257
219
176
160
192
123
136
171
123
208
201
112
206
170
181
150
181
186
156
192
150
170
170
150
255
178
121
135
176
150
208
165
112
237
147
171
135
124
225
128
128
195
194
207
219
171
123
137
123
255
150
165
165
210
224
147
193
167
223
135
123
112
198
112
194
112
175
187
115
112
208
181
112
208
145
121
112
136
165
235
121
205
202
208
193
194
192
112
186
170
150
128
208
214
150
123
137
190
172
208
167
137
158
121
170
171
201
231
176
152
226
156
203
112
193
121
150
147
218
115
186
201
147
237
170
147
135
172
121
176
150
150
170
150
172
150
171
150
123
236
150
136
176
164
198
178
112
121
163
112
150
259
121
176
171
123
121
121
181
167
172
121
164
178
272
170
112
167
121
156
207
115
165
177
150
219
170
211
194
147
150
186
172
123
243
212
261
231
258
167
167
237
167
171
147
176
147
186
165
186
112
181
255
150
170
123
226
131
208
195
137
130
121
121
176
159
225
121
162
184
150
167
208
112
219
194
121
170
172
167
208
185
226
121
194
112
112
217
187
172
228
211
150
159
150
224
137
259
150
229
112
228
208
156
112
276
172
176
171
167
172
150
135
210
193
150
186
112
160
206
220
150
112
112
112
228
170
187
167
187
193
165
195
136
150
182
192
135
167
167
121
220
167
208
208
150
158
267
150
259
239
156
162
150
210
228
170
121
220
208
184
201
194
202
228
208
143
135
208
130
234
229
170
150
178
190
112
123
302
172
208
170
177
128
226
255
181
209
167
219
171
208
212
161
160
165
123
193
159
124
128
112
176
196
218
170
208
123
167
194
130
135
171
112
150
186
172
195
195
137
158
167
173
219
121
121
136
185
255
172
194
136
158
208
190
211
121
218
172
208
170
194
150
147
136
210
302
228
170
187
112
171
237
217
181
124
194
121
112
167
170
121
187
121
220
115
158
150
112
172
232
195
147
158
167
208
220
135
167
150
194
186
224
172
236
216
150
239
217
250
210
150
172
185
150
186
234
112
240
112
208
203
150
208
165
208
208
177
150
192
165
240
121
217
210
121
171
208
184
172
170
212
230
150
112
167
172
210
150
152
190
156
165
170
115
121
212
130
172
207
150
112
158
208
156
112
121
237
194
213
159
186
171
150
226
210
171
181
186
220
158
160
121
112
121
171
193
208
165
226
194
187
121
171
147
229
150
201
226
181
167
135
205
187
115
112
150
144
112
242
225
150
121
112
218
150
227
123
194
208
276
187
239
135
179
115
177
206
167
194
150
121
176
170
212
174
112
239
208
167
202
112
219
172
189
218
187
147
181
197
150
150
112
150
232
181
150
172
150
174
150
150
124
171
228
172
164
226
170
112
176
150
231
150
175
159
150
186
112
172
121
137
121
150
156
212
164
152
159
209
250
193
112
228
208
171
150
174
167
208
150
170
112
196
224
144
112
231
150
150
260
121
210
170
112
207
208
181
112
121
259
194
172
170
112
128
112
239
137
243
192
225
297
233
171
193
170
181
159
259
186
208
208
181
231
192
263
195
203
115
219
150
192
170
136
123
297
208
172
192
228
181
150
201
137
150
208
208
167
121
249
208
186
167
150
170
172
228
202
112
177
194
165
165
225
195
121
186
212
172
195
135
112
262
112
205
171
194
150
123
228
150
220
150
231
136
152
167
167
135
112
259
167
167
181
145
112
177
176
211
170
172
112
233
121
177
253
176
124
121
150
226
167
219
139
121
150
250
214
181
167
201
137
172
121
217
158
112
156
222
208
212
218
150
172
165
121
235
121
206
225
112
194
170
219
170
150
195
178
123
170
121
195
210
112
159
173
194
189
150
201
237
121
170
226
150
228
237
152
150
165
164
150
217
150
171
203
147
135
173
172
152
159
297
217
112
143
170
208
150
172
219
112
176
212
121
121
172
181
218
208
263
150
166
124
201
112
208
170
181
112
192
172
220
158
186
112
193
167
214
195
187
160
219
176
121
112
137
213
193
150
177
210
112
165
172
192
150
121
208
181
181
121
135
112
195
176
123
112
172
228
112
135
150
137
193
159
201
208
115
195
225
213
205
208
170
121
186
150
150
150
115
210
202
228
172
186
186
215
135
123
186
171
203
210
231
225
150
208
150
181
156
194
135
121
208
130
168
112
181
150
229
208
201
156
150
228
112
193
250
208
135
123
167
150
208
160
167
237
160
121
203
217
194
150
212
213
195
165
112
197
163
150
135
123
130
254
172
212
137
150
237
150
150
159
121
230
208
150
136
128
136
152
203
112
228
165
150
220
172
167
263
112
150
194
170
219
112
172
208
147
121
121
170
297
150
204
172
112
112
136
176
187
227
241
211
147
172
112
255
176
167
150
184
167
193
150
297
259
193
172
208
171
208
150
208
261
171
177
150
172
181
124
171
150
240
112
171
112
231
181
167
150
170
172
233
112
208
115
195
177
236
237
170
179
121
172
181
208
112
186
150
176
123
218
130
260
208
170
208
130
130
177
112
208
170
195
112
174
150
121
181
203
150
152
150
112
150
228
193
272
150
228
179
121
170
177
112
181
216
202
239
112
136
254
112
208
121
135
121
131
189
252
278
250
208
150
255
190
112
170
172
150
112
226
210
217
136
194
208
150
226
121
177
228
156
124
172
201
128
212
220
225
208
202
257
176
165
170
208
121
135
223
198
136
212
150
156
184
147
195
184
112
208
187
213
203
170
176
167
121
172
194
150
244
150
173
227
150
150
135
150
216
124
150
228
208
171
112
232
112
176
167
208
143
150
157
112
123
121
112
195
212
225
159
150
136
187
239
150
168
188
181
172
150
208
150
170
167
112
150
137
217
146
121
172
152
205
208
163
210
172
136
172
202
112
112
253
230
170
302
112
174
173
213
176
228
121
176
171
213
136
150
172
172
186
123
233
194
112
174
121
165
230
177
167
202
150
165
186
112
263
147
115
121
171
150
150
171
136
150
207
130
237
217
158
208
177
227
279
175
194
161
150
159
147
218
214
115
240
239
177
221
112
171
194
228
159
302
225
121
208
172
165
250
167
144
181
279
178
225
150
123
225
228
172
172
167
172
203
150
137
150
228
204
178
123
171
172
204
170
150
150
196
201
208
136
179
230
201
165
139
123
289
150
121
121
150
150
150
150
165
199
146
112
150
150
192
189
179
121
121
121
112
208
227
176
150
205
250
214
177
137
237
121
186
164
165
112
226
165
171
270
207
165
172
156
165
223
152
128
167
225
150
202
123
263
176
165
121
208
168
172
150
272
157
121
228
112
121
240
192
121
208
121
237
167
193
167
158
112
150
150
172
187
195
167
202
170
150
177
230
152
171
167
239
202
208
121
170
228
208
170
176
164
121
112
150
232
176
156
150
135
112
217
175
124
278
137
170
168
237
186
171
208
167
150
172
219
245
157
195
112
112
150
205
274
172
112
249
203
121
123
205
121
171
212
186
187
150
147
147
170
239
239
123
150
168
147
121
150
171
172
236
170
136
150
112
179
167
121
172
170
150
150
150
152
156
112
165
223
231
121
121
202
167
112
171
150
172
160
112
270
171
181
195
165
112
158
164
199
135
121
164
230
172
112
226
175
167
194
160
208
124
208
156
170
172
231
160
158
172
212
121
211
150
121
121
228
250
186
171
220
167
238
150
112
226
220
172
192
231
205
130
150
177
150
170
157
205
192
137
123
237
147
194
115
112
172
229
121
112
167
233
150
123
215
112
176
150
147
112
168
177
235
150
123
175
183
187
183
172
165
201
186
121
187
112
147
228
121
202
121
176
121
202
170
237
165
150
171
150
192
194
135
121
150
186
203
208
194
202
121
195
228
121
167
121
237
194
176
123
121
150
193
150
165
168
112
121
135
237
202
124
237
194
195
177
121
159
208
121
201
172
112
268
205
112
121
115
137
291
181
231
150
112
150
112
171
121
171
167
156
121
192
210
181
150
121
176
229
195
167
167
208
187
181
170
168
208
176
187
121
158
208
208
121
172
172
164
229
170
170
177
167
130
231
195
181
193
172
181
173
112
176
112
210
176
198
187
171
170
196
179
112
198
143
177
112
143
176
150
121
112
208
177
184
112
222
275
160
172
217
115
174
228
165
171
237
121
208
208
165
260
167
150
112
228
194
124
208
187
171
150
225
209
121
208
156
233
208
171
147
165
213
150
263
135
275
203
178
147
239
121
186
135
176
208
115
121
159
150
208
115
181
112
228
194
208
159
150
150
171
115
150
239
171
239
181
184
233
130
194
175
150
175
204
179
201
165
202
217
150
143
123
157
176
225
186
178
253
136
297
165
172
137
181
136
150
152
184
171
172
150
167
230
170
225
201
144
172
150
237
121
115
150
230
203
208
147
194
121
210
247
172
194
124
225
217
170
121
259
147
112
241
212
112
164
170
181
150
245
194
171
228
194
171
150
121
195
194
121
150
112
143
171
265
172
172
212
153
202
244
112
212
229
150
112
172
136
152
150
150
181
185
167
207
164
167
123
172
245
170
237
112
128
170
231
121
201
175
112
259
112
150
206
207
192
281
259
123
208
167
160
112
161
192
278
206
139
215
167
112
179
233
150
237
218
150
203
121
265
177
274
147
208
171
150
150
177
157
123
215
143
175
216
167
143
234
178
198
150
112
171
132
201
123
167
165
195
210
112
234
150
203
172
178
194
181
176
170
112
112
165
143
156
160
123
136
112
172
150
203
170
150
135
150
170
130
121
165
172
112
210
167
167
171
112
193
175
208
112
112
137
158
135
167
204
167
209
187
203
243
112
223
150
167
175
226
172
156
256
150
208
227
200
172
150
208
136
112
121
167
227
121
167
208
121
289
112
137
205
189
205
150
121
112
112
121
150
156
121
241
150
150
172
150
123
208
159
121
112
123
150
121
172
194
172
136
208
150
121
170
137
201
186
150
238
123
156
115
150
136
210
164
253
210
150
136
139
115
192
210
214
130
147
176
209
208
208
159
193
215
208
243
123
128
121
147
150
219
228
150
158
177
167
121
171
164
136
150
186
181
176
147
112
240
121
112
239
150
150
123
165
137
195
255
302
239
171
228
121
144
208
170
174
302
187
121
211
256
137
172
150
187
189
250
243
161
167
276
210
186
150
150
172
121
150
164
112
194
167
192
225
121
208
186
176
239
172
150
166
235
147
206
115
152
124
208
281
193
263
121
167
172
179
160
181
228
195
187
150
112
208
112
195
165
225
170
131
229
172
194
121
158
167
217
208
171
201
157
194
186
135
172
144
150
123
136
208
226
208
189
147
172
228
181
121
194
150
115
121
181
171
165
172
167
177
201
121
160
284
206
150
228
184
124
171
206
276
167
212
205
135
194
170
193
187
171
121
150
170
276
205
112
124
202
220
150
208
172
206
135
170
186
121
174
121
228
112
112
150
167
167
170
256
181
145
257
167
195
171
207
135
229
176
123
152
181
167
112
214
165
211
219
181
156
187
121
232
228
123
189
196
115
165
137
201
191
228
192
172
201
112
206
130
175
195
147
143
121
115
164
121
208
150
218
210
174
257
176
121
167
150
150
121
243
228
187
187
150
177
192
172
165
186
201
136
226
194
165
203
190
164
121
174
172
194
206
124
112
167
208
208
171
135
172
187
291
112
257
255
147
150
209
143
172
281
150
172
195
240
172
302
181
203
171
171
208
208
168
112
152
184
121
187
121
228
203
112
150
150
226
255
170
121
112
194
150
174
167
150
123
121
157
158
115
170
170
165
150
194
215
278
121
172
167
147
212
172
137
212
280
208
210
115
121
150
208
176
167
112
181
176
171
167
181
159
201
136
220
160
233
112
194
208
150
170
206
250
150
121
201
167
219
207
112
112
244
187
203
167
282
167
176
112
121
212
172
150
150
115
172
112
150
172
112
189
115
150
208
194
171
186
172
216
137
192
170
208
150
192
150
205
210
202
121
123
121
150
150
150
136
150
170
112
208
172
176
170
135
165
115
112
194
152
136
210
297
137
121
208
144
208
150
183
167
250
112
170
160
234
237
121
121
112
121
181
112
112
225
186
299
150
171
237
150
123
150
194
112
208
112
136
121
181
150
255
112
208
150
130
172
184
181
208
194
172
156
210
193
192
130
167
157
194
215
176
150
121
193
167
227
156
186
201
121
245
112
123
121
150
175
112
194
171
123
170
255
150
177
186
236
253
159
150
258
121
124
186
159
160
229
167
150
160
172
208
201
112
201
212
208
186
230
147
150
225
212
212
150
167
135
167
228
135
121
167
187
112
145
174
121
112
150
136
112
150
205
208
174
216
208
112
173
167
195
171
112
235
220
171
112
218
186
176
217
167
184
193
112
194
112
121
209
208
239
135
181
181
172
150
193
223
150
112
216
172
213
147
187
208
135
123
203
176
172
167
112
150
170
150
124
150
181
176
186
167
228
172
115
214
121
236
228
239
150
231
254
158
112
130
150
159
210
150
194
172
150
172
214
177
160
196
170
213
159
219
186
135
208
121
121
171
278
112
189
250
147
170
213
202
150
150
147
194
143
208
150
112
208
287
167
121
228
193
164
150
170
212
136
172
208
170
150
160
220
121
176
150
208
193
144
165
112
165
229
165
204
172
241
218
121
210
164
202
170
187
121
212
159
164
228
112
188
150
171
165
170
150
194
233
172
177
150
121
167
130
158
210
121
170
150
192
212
212
112
150
194
192
121
158
150
150
167
115
172
195
202
187
171
121
112
237
112
237
121
237
201
176
124
170
150
194
172
208
165
190
165
150
123
210
158
214
207
150
237
112
205
112
201
193
175
167
213
194
239
121
172
150
172
115
150
208
135
112
208
164
167
172
150
201
121
124
150
219
165
219
150
170
160
150
208
181
202
194
171
187
231
194
244
121
170
181
174
121
167
160
150
172
112
112
137
240
186
181
181
112
137
190
225
161
184
176
255
237
121
225
208
204
150
135
182
147
123
267
115
167
260
203
167
187
217
112
242
186
112
164
208
171
150
240
179
164
150
112
159
160
150
168
171
147
172
164
212
121
237
171
184
150
135
187
174
265
112
172
195
123
167
203
150
121
124
172
168
172
159
210
219
112
112
121
121
156
121
165
121
150
185
171
177
171
210
208
135
136
216
175
186
112
112
181
193
170
219
123
167
172
194
150
181
180
135
123
150
171
124
123
150
192
167
160
222
203
135
115
202
165
115
150
201
240
208
187
211
208
250
210
170
181
170
171
201
167
176
170
240
150
208
153
152
150
121
150
112
215
239
263
208
208
171
168
186
247
192
243
204
121
112
187
150
159
112
185
165
194
123
196
112
150
194
150
240
112
150
150
168
139
121
164
156
172
152
173
130
150
188
170
205
212
136
171
135
174
208
270
150
112
176
177
239
158
176
201
172
245
161
257
237
203
115
207
204
172
206
150
172
121
173
246
172
232
145
208
167
150
172
124
220
196
196
172
176
121
165
150
150
179
121
171
121
112
172
150
112
112
202
167
136
165
249
165
165
156
181
176
240
194
228
219
201
181
123
150
171
150
123
147
203
121
167
112
112
210
150
238
124
150
150
232
112
112
136
219
115
150
150
115
150
193
150
195
202
255
253
242
158
208
150
177
150
170
229
150
150
172
112
208
214
208
196
123
115
171
112
201
150
150
198
121
124
165
112
156
150
150
208
255
150
189
172
143
241
177
209
121
121
243
291
150
208
150
230
193
193
171
253
168
226
128
208
208
150
232
181
171
150
112
179
112
115
150
208
212
172
176
165
135
181
203
141
203
112
112
263
171
193
228
167
167
121
121
193
143
150
192
150
172
219
121
123
186
194
137
205
150
121
186
121
205
171
135
121
199
112
115
232
158
219
121
112
128
112
115
220
171
112
208
232
255
193
263
192
215
121
112
139
205
185
123
121
202
172
214
191
208
121
238
232
235
144
170
186
278
257
112
242
208
121
112
157
150
203
112
181
220
219
121
150
231
143
147
135
165
150
137
302
159
236
167
112
220
228
137
186
208
121
115
123
165
158
171
208
187
137
226
181
150
194
170
219
210
160
177
202
170
171
206
112
194
189
227
168
150
112
201
208
147
207
176
147
210
170
121
208
219
171
202
147
205
136
121
220
137
165
251
195
150
171
173
115
150
181
112
228
172
136
112
170
239
150
150
208
112
121
194
231
210
150
121
150
235
170
208
222
194
136
150
201
137
136
241
137
168
210
112
209
150
112
136
202
194
165
228
213
137
170
121
136
112
228
169
158
137
187
208
187
231
121
167
121
121
208
210
198
210
128
181
220
204
150
208
121
186
150
167
132
175
136
123
112
112
207
150
253
193
167
181
281
172
218
130
203
219
210
147
192
150
165
302
171
194
201
213
170
203
160
208
257
172
171
172
245
170
208
228
121
179
170
167
195
170
232
161
158
241
206
208
168
195
206
135
195
240
172
305
231
240
208
150
150
121
245
150
123
158
172
112
194
147
171
112
208
112
165
263
115
203
167
203
176
147
167
184
160
227
112
233
172
195
164
112
123
150
172
152
208
170
181
202
159
174
187
208
167
112
193
207
121
220
137
194
186
112
194
112
112
201
167
172
112
208
121
215
203
150
172
172
167
208
167
121
150
164
174
121
158
195
121
225
150
193
172
112
159
215
146
112
255
171
250
208
150
146
165
229
123
258
124
144
135
208
150
163
150
201
172
237
177
150
172
136
112
239
135
174
159
213
112
112
208
194
193
203
176
187
202
203
112
150
205
150
167
121
236
121
207
208
233
112
210
181
115
170
172
250
185
121
196
123
112
167
112
112
196
176
135
212
187
123
239
112
123
205
170
305
211
150
112
112
115
150
255
208
176
121
161
203
208
172
165
167
208
150
190
172
193
150
170
181
146
194
121
212
165
255
164
112
194
172
231
150
112
172
158
172
181
170
171
208
194
121
201
158
226
147
167
150
250
174
206
194
171
112
201
207
186
220
150
192
112
170
178
194
245
167
167
112
115
160
171
186
150
236
112
210
226
176
170
187
112
130
150
158
194
150
158
207
128
161
207
112
135
135
233
274
219
124
150
274
121
174
115
205
159
135
112
281
220
112
150
215
208
130
186
215
193
150
112
208
167
135
229
181
170
121
208
181
150
251
193
150
172
170
219
207
203
192
239
150
197
208
194
172
174
156
239
170
199
250
135
176
202
167
226
201
121
121
170
168
121
223
176
172
123
150
203
208
172
136
208
184
201
121
187
183
112
305
167
150
112
121
208
121
164
278
150
130
164
194
172
186
165
167
170
181
181
186
168
137
112
179
112
112
208
172
167
237
152
187
219
186
150
144
171
139
167
216
135
150
274
302
169
226
176
135
136
201
204
112
220
208
194
150
234
193
150
193
112
174
152
202
136
123
159
172
130
121
171
112
150
208
121
156
207
171
112
170
208
181
150
150
166
217
112
236
176
300
223
194
167
112
121
228
174
112
172
219
205
220
228
203
150
175
150
260
137
176
150
136
167
165
112
135
240
167
157
177
170
121
167
208
171
150
150
212
150
174
264
194
130
238
187
248
150
112
171
232
128
165
121
167
121
172
137
150
123
207
150
112
136
137
123
121
112
115
231
121
202
210
197
121
121
192
208
181
170
208
172
195
167
228
147
121
210
171
121
167
218
195
209
205
152
226
112
153
165
115
164
179
186
112
194
203
121
176
170
181
194
176
172
150
167
167
150
150
150
187
223
187
177
150
203
172
121
167
150
205
150
174
130
123
171
221
208
150
228
172
181
115
150
160
150
228
123
194
228
231
208
115
177
176
240
239
150
150
195
208
167
172
156
243
150
150
213
150
167
195
181
150
147
177
167
172
150
150
141
276
174
210
210
135
112
170
281
208
158
172
225
167
147
124
233
156
150
112
112
186
192
160
160
159
164
150
178
212
167
173
210
150
121
123
225
212
121
121
177
218
123
150
167
207
195
121
172
112
233
177
231
255
121
174
137
175
210
228
194
184
112
150
167
187
172
195
112
112
194
186
208
237
137
185
160
167
177
170
182
170
172
130
172
202
186
167
167
231
168
189
195
203
236
112
194
176
171
150
193
208
210
190
228
147
121
189
143
112
227
197
229
239
159
207
112
150
202
150
210
121
123
209
237
135
175
112
121
186
121
128
150
112
208
150
121
150
150
150
164
210
171
152
112
239
167
186
191
112
207
210
267
213
176
210
174
172
168
208
228
171
167
202
178
112
175
121
259
175
167
194
112
217
150
189
139
201
112
121
196
194
195
172
175
267
171
208
121
210
112
150
186
240
167
121
135
121
112
112
209
170
228
121
206
208
208
112
208
121
215
165
175
121
171
208
123
150
112
121
172
218
150
208
195
177
121
112
233
137
164
233
213
121
150
176
130
170
124
167
172
170
208
174
135
124
281
158
150
202
228
172
150
172
172
229
215
121
150
150
156
208
181
150
172
193
165
112
172
187
220
121
112
112
208
143
171
121
112
158
167
240
137
130
226
158
167
175
171
179
165
150
112
172
156
176
150
112
214
112
194
205
165
112
194
219
176
115
130
216
150
112
112
121
150
194
208
167
208
150
174
172
250
121
150
237
150
187
191
172
172
135
128
176
121
214
230
112
181
150
121
193
193
112
112
172
167
165
115
167
174
168
150
228
164
143
171
193
123
181
150
172
196
165
216
167
167
208
121
121
121
115
112
208
164
112
194
194
208
137
147
176
123
150
172
167
112
121
172
167
112
121
167
150
123
150
115
121
165
200
218
267
218
121
121
121
123
168
205
220
178
171
150
121
210
172
150
199
121
112
177
170
177
226
255
187
226
112
210
193
201
112
225
150
112
167
208
212
202
195
115
266
128
121
150
233
176
131
170
123
253
150
181
221
112
170
112
158
150
159
147
150
147
112
187
231
193
121
166
255
172
202
112
128
165
164
137
164
236
112
150
135
112
121
150
121
150
212
150
160
112
121
194
167
135
193
172
150
150
193
208
294
269
208
152
245
160
210
160
212
121
135
150
165
124
121
177
164
121
170
121
112
202
112
112
150
202
235
152
159
208
239
192
170
147
255
172
167
147
165
121
195
164
150
167
112
167
112
162
203
193
137
202
171
226
205
112
174
195
247
177
112
112
237
167
167
174
207
147
209
170
186
172
208
228
150
218
170
112
115
229
172
128
215
112
208
278
121
200
247
202
179
228
279
150
150
208
203
272
225
171
233
171
193
136
172
208
135
228
112
150
121
208
202
165
212
232
150
232
201
150
147
167
137
161
194
123
165
208
194
112
204
250
165
123
112
171
198
150
208
172
208
167
187
143
115
194
128
167
176
167
208
171
208
112
174
170
112
137
170
167
172
150
267
228
112
208
150
232
112
238
130
201
208
175
208
218
171
208
196
202
195
124
193
161
121
232
112
206
219
135
128
123
228
130
121
181
112
172
136
115
172
265
201
250
204
112
227
203
208
195
179
181
121
121
208
250
150
204
165
172
208
167
176
112
172
135
150
182
201
150
212
206
172
179
174
170
150
187
246
159
192
237
289
208
212
175
170
225
194
123
170
150
181
135
123
147
130
171
115
144
208
160
150
179
112
208
172
208
195
232
192
171
250
186
121
135
150
121
192
255
150
167
170
162
172
226
121
150
121
263
150
150
150
186
150
121
172
165
150
121
174
194
150
150
156
112
172
115
203
121
282
185
112
174
212
121
121
253
196
158
171
156
209
186
235
193
195
226
121
123
171
194
158
193
112
112
208
164
203
203
147
172
216
123
161
181
208
137
167
201
208
157
150
124
193
121
137
225
112
165
208
112
128
187
112
112
194
215
239
172
195
192
179
150
170
160
196
171
112
193
186
176
172
167
210
187
167
208
112
181
128
228
150
172
209
187
212
121
121
156
165
208
112
210
168
208
121
228
112
247
171
195
144
259
170
194
207
237
228
218
112
194
195
164
121
195
112
128
112
202
121
170
121
193
121
156
233
167
196
112
150
189
158
112
208
121
136
208
186
168
123
150
171
261
172
121
187
208
170
135
204
150
210
167
208
302
121
135
179
171
112
267
200
156
112
208
150
115
150
121
208
201
181
158
150
171
167
237
158
112
167
159
112
128
171
208
172
193
112
203
112
212
112
194
170
172
137
229
167
210
207
201
212
150
193
171
187
157
207
186
123
150
121
174
181
170
124
212
130
210
150
130
233
115
171
193
207
256
178
208
123
123
150
208
186
150
167
177
198
160
144
136
121
208
112
186
150
171
139
176
291
231
121
176
115
130
228
150
158
174
195
255
176
121
123
240
121
165
150
207
233
263
205
205
206
232
212
194
150
172
250
150
112
167
210
143
150
136
143
147
199
121
172
297
159
210
172
202
123
177
137
170
172
210
143
171
165
171
210
112
112
170
235
186
172
210
198
176
176
112
207
121
170
170
170
208
115
200
112
187
170
150
165
167
150
220
121
123
210
202
162
156
112
121
172
121
135
112
238
180
150
239
121
121
137
217
147
160
156
112
165
123
178
186
172
176
121
172
156
121
206
172
181
240
212
175
121
172
172
210
192
136
165
195
218
201
165
158
121
226
121
150
150
112
115
121
172
172
192
112
167
112
121
211
170
171
164
205
192
192
213
189
208
208
115
170
233
192
228
121
135
237
115
237
201
224
164
165
188
179
170
226
112
265
181
123
207
176
208
231
121
195
184
150
212
115
167
112
150
157
233
150
181
165
135
278
189
136
259
193
176
112
165
179
121
233
167
172
150
212
232
167
146
187
172
158
121
208
135
121
186
150
150
244
121
112
193
150
250
195
121
208
124
164
135
167
112
215
181
121
130
171
219
167
121
240
231
165
121
121
208
233
135
194
187
177
186
181
167
172
178
176
121
187
250
200
164
167
121
150
228
123
172
237
194
194
194
112
112
112
167
115
181
160
136
121
181
112
206
264
135
159
237
134
112
137
172
152
250
170
174
272
194
121
112
215
281
165
189
121
238
218
128
186
112
171
171
213
201
172
112
165
186
150
112
150
112
150
208
228
218
172
239
198
205
173
121
121
167
150
300
121
112
135
112
181
156
171
165
187
175
174
160
115
219
170
226
172
187
164
150
211
172
195
193
241
150
171
176
150
170
156
159
170
228
208
135
227
172
112
158
186
167
225
150
176
218
150
208
219
209
121
225
121
207
250
121
171
112
150
112
150
121
202
159
193
208
150
237
150
193
121
150
150
172
187
135
137
170
147
147
143
258
167
121
174
216
194
123
112
121
208
123
167
121
250
112
195
159
115
112
121
250
226
115
112
135
226
135
173
181
208
150
135
150
123
121
158
212
194
165
121
280
121
194
217
171
182
194
112
229
186
150
172
171
135
171
150
112
203
210
252
112
194
121
135
187
185
196
123
231
128
112
170
121
164
212
232
229
219
170
121
208
208
171
208
181
195
250
226
186
170
193
186
121
112
188
150
172
186
250
194
175
170
170
170
115
208
237
150
121
172
121
175
186
186
177
121
219
159
208
121
239
202
214
160
143
135
150
150
228
176
137
112
167
201
150
143
164
174
196
209
218
112
208
239
195
219
217
221
150
202
158
186
112
150
208
167
195
176
135
186
135
121
203
112
231
159
228
112
150
121
297
112
208
150
167
159
115
181
170
203
165
193
112
112
150
172
121
194
136
278
159
217
201
121
123
241
170
208
172
150
253
176
123
181
150
208
112
112
178
121
152
112
181
199
150
167
150
123
215
152
186
147
165
188
165
150
167
208
121
159
136
135
187
214
121
150
201
165
271
121
112
171
112
186
170
170
177
279
219
121
112
206
144
172
167
170
112
112
230
150
150
112
171
150
172
168
121
167
112
198
121
237
112
208
171
232
158
150
193
212
195
161
182
150
112
121
112
115
219
172
170
174
121
112
172
170
112
176
165
192
164
179
130
194
194
150
112
121
121
139
264
150
205
112
135
112
152
171
212
137
189
167
150
228
152
217
237
194
165
170
176
202
159
186
225
150
112
121
167
172
121
164
229
150
177
121
121
112
255
208
226
181
210
112
123
237
181
217
190
128
150
172
115
192
171
150
208
150
150
115
150
226
150
136
172
192
121
112
150
225
170
150
220
156
203
194
170
157
181
112
170
150
172
115
194
150
194
172
150
112
211
194
150
250
143
150
172
150
172
192
152
165
181
227
203
208
209
147
150
190
121
174
164
181
208
112
218
181
150
121
202
112
150
269
208
158
208
208
194
181
172
217
171
239
121
167
130
208
213
195
176
112
121
121
156
194
170
150
167
121
205
123
181
170
172
167
174
226
112
112
250
165
150
121
152
123
170
205
147
187
228
115
146
219
189
240
121
150
171
175
172
121
193
170
121
177
220
188
202
208
259
195
130
135
231
112
112
208
150
165
249
152
242
187
210
123
147
112
195
112
170
170
167
275
179
150
150
182
112
208
229
207
172
150
250
124
219
170
168
171
152
135
296
165
203
165
115
170
177
181
179
165
150
182
195
144
208
123
112
205
228
171
159
171
208
159
123
198
123
176
217
159
175
240
207
276
121
167
172
201
228
202
137
206
194
212
112
167
112
136
159
150
210
112
220
228
208
112
259
150
177
150
136
168
217
167
150
181
237
123
208
135
194
228
150
156
167
121
203
112
112
112
255
123
194
164
172
150
150
121
164
136
112
150
165
150
123
170
261
112
121
136
170
137
239
208
123
112
150
123
150
150
206
167
121
172
112
137
176
238
170
135
150
208
219
124
174
228
171
175
208
159
208
181
179
150
192
210
207
208
167
230
165
251
150
150
191
239
170
216
226
172
194
208
186
172
150
112
216
172
172
147
123
172
150
212
171
160
112
147
121
192
167
180
208
220
150
199
112
256
193
240
181
121
121
112
150
112
232
255
121
208
121
157
112
208
152
217
212
121
112
150
170
194
175
170
124
112
130
210
212
240
115
179
136
135
121
150
208
150
209
150
112
156
121
115
158
112
143
137
123
255
196
164
201
226
137
167
112
217
167
112
121
208
150
136
203
112
112
112
176
167
112
297
112
112
115
255
201
218
152
174
235
121
219
112
208
150
162
185
237
161
233
208
225
172
131
187
198
207
121
150
176
150
165
152
150
165
121
234
165
136
208
206
229
170
112
167
168
174
164
121
170
124
170
248
174
219
206
121
150
112
181
112
176
146
210
210
258
172
170
112
165
184
202
208
160
128
139
121
214
211
144
170
165
121
195
210
176
112
112
168
150
237
220
115
214
186
176
162
150
208
167
226
193
121
115
150
208
135
187
167
150
124
220
193
226
112
115
208
112
165
150
242
213
186
208
186
121
192
152
112
112
112
121
135
171
181
225
112
137
112
208
121
171
121
203
175
150
172
229
201
150
171
152
181
162
168
220
123
112
112
208
135
130
150
193
176
121
150
115
135
150
189
150
150
232
195
121
135
170
257
194
226
208
172
150
167
128
121
208
212
194
115
167
202
203
121
164
170
123
167
205
152
181
121
237
171
258
237
158
112
121
121
121
143
165
184
112
112
167
205
165
135
167
186
150
174
164
159
192
217
158
149
243
121
171
193
121
208
136
150
121
156
121
181
249
194
195
167
165
150
150
150
187
112
181
165
210
121
170
128
150
150
199
231
121
167
121
181
112
186
115
121
121
232
136
263
150
112
173
214
208
115
164
135
162
150
171
171
176
150
112
135
123
195
115
208
123
233
112
130
170
219
250
208
156
220
228
121
225
150
112
150
121
112
220
150
112
217
165
121
196
150
171
198
128
175
137
228
194
172
195
181
124
214
159
123
167
342
235
208
174
137
130
181
210
150
262
112
150
171
170
158
179
112
150
159
231
135
177
194
227
194
150
210
165
136
258
165
172
167
170
209
256
172
208
278
210
181
217
181
193
112
179
187
283
172
150
201
171
195
260
206
193
170
112
115
156
112
194
121
167
217
150
236
228
112
160
171
167
121
208
234
147
210
170
172
121
150
250
172
231
215
171
121
179
158
221
135
216
150
150
172
150
150
162
159
213
150
232
121
150
170
121
165
136
178
177
187
150
187
205
208
181
172
150
221
171
278
170
194
189
208
139
212
150
112
152
165
172
112
112
172
178
172
150
112
121
232
170
150
141
112
171
167
228
186
219
167
170
158
208
124
150
112
172
135
239
121
172
240
176
208
112
112
208
172
201
167
207
167
220
208
112
208
170
112
137
112
177
274
241
121
124
174
159
210
178
172
257
177
123
294
210
135
223
147
181
115
112
194
121
121
150
184
207
231
121
208
150
234
208
167
165
213
172
112
206
112
150
208
112
128
147
112
112
159
217
232
193
150
212
128
121
194
208
231
226
234
186
112
128
208
121
186
172
238
121
112
202
124
164
202
143
150
150
286
176
213
208
243
232
150
112
216
187
187
172
206
167
143
150
231
150
185
195
121
131
123
156
165
187
136
123
239
112
121
208
217
115
175
210
167
193
208
165
150
112
205
203
112
112
172
187
172
172
202
153
124
150
121
186
135
124
121
186
112
112
172
158
205
278
121
137
152
228
189
135
171
214
121
112
208
176
194
181
165
121
150
183
121
124
168
165
139
208
208
124
165
176
137
147
168
170
177
172
136
173
208
150
171
173
171
150
176
112
175
121
193
228
150
201
168
228
228
112
128
225
112
193
181
202
112
172
121
208
176
272
124
137
211
212
202
121
121
250
194
175
115
115
165
208
157
215
179
150
210
179
205
171
229
208
135
112
170
208
171
240
195
255
239
175
193
112
150
172
167
269
170
150
186
147
121
237
150
115
185
202
115
150
147
170
212
157
150
167
171
209
121
160
172
121
121
302
208
172
203
210
123
135
276
219
208
172
171
172
172
228
202
224
112
112
150
121
170
167
208
208
123
172
171
112
112
147
135
150
164
195
112
259
159
150
123
121
112
164
150
152
208
150
205
213
193
202
170
176
158
205
195
124
239
190
150
207
159
237
210
121
218
135
218
121
189
165
160
235
233
193
187
201
203
181
168
237
112
185
136
150
202
302
150
210
207
208
135
193
121
203
187
112
237
136
178
200
219
121
147
210
230
186
195
181
150
121
112
112
190
218
208
150
150
241
112
164
128
231
302
244
208
172
112
121
176
112
208
170
208
152
174
240
145
182
230
150
159
210
112
112
234
150
237
231
190
121
195
207
174
150
143
260
231
150
162
208
147
115
186
192
187
243
194
171
135
181
135
220
302
177
214
160
167
171
181
208
203
121
115
121
235
150
170
210
150
136
152
186
171
158
160
187
150
165
274
112
208
112
171
202
121
218
112
175
121
150
237
172
171
150
165
171
158
234
157
152
141
165
193
196
208
144
275
112
212
167
195
181
276
181
150
208
124
121
192
121
121
253
150
121
150
123
124
201
239
174
136
135
170
150
172
150
115
192
173
165
194
186
158
172
136
211
194
170
181
123
222
172
185
147
130
123
193
152
150
208
239
172
165
181
172
150
179
170
225
112
170
123
195
280
150
219
150
195
189
150
171
150
233
150
167
112
150
112
228
135
112
172
192
146
167
216
150
171
170
203
150
207
150
150
150
167
172
112
210
112
172
128
112
181
170
255
150
135
206
112
170
171
223
220
208
135
112
174
112
112
210
112
212
209
139
172
205
112
112
170
165
112
207
150
193
201
215
121
181
229
208
121
112
187
202
237
212
146
172
128
212
170
272
176
121
160
203
226
239
150
179
160
208
229
136
150
150
136
130
200
167
228
186
135
150
202
150
219
186
237
167
167
121
194
123
167
150
168
225
112
208
121
159
136
165
147
150
186
115
194
189
209
123
171
219
172
244
112
150
208
214
241
167
121
171
121
293
194
210
123
208
121
124
212
194
150
167
208
192
203
170
240
167
219
112
156
186
208
255
171
208
187
112
112
176
121
184
170
187
170
150
205
228
150
112
121
121
202
167
112
237
217
208
181
112
231
150
112
229
112
263
112
182
202
135
164
160
167
121
174
150
171
150
112
121
173
112
137
190
179
112
112
115
150
172
176
123
237
201
136
187
193
203
121
121
150
194
200
172
167
237
150
137
136
150
121
167
236
150
167
150
184
213
150
186
121
143
187
194
164
208
238
171
121
194
176
150
170
179
190
160
150
121
255
157
207
137
208
171
231
205
171
150
159
187
121
150
121
115
236
172
210
172
170
232
112
171
208
228
150
186
250
150
121
160
121
193
150
172
150
150
170
187
257
208
112
193
121
172
150
130
172
150
170
112
172
170
186
178
242
121
187
186
156
112
170
209
136
170
150
175
186
143
174
202
208
112
150
230
167
170
152
207
112
212
135
150
194
175
187
137
174
212
112
225
147
167
170
150
150
181
171
158
174
121
172
195
112
240
137
167
201
250
201
167
150
236
165
170
150
288
170
208
193
112
144
231
164
167
193
150
121
183
187
208
240
136
176
160
228
176
158
130
150
172
123
159
272
171
121
209
123
167
195
112
136
171
150
203
260
112
243
187
137
170
115
175
208
192
170
135
202
160
210
194
121
225
193
171
192
152
150
171
112
299
135
231
237
112
112
121
150
121
186
237
150
237
201
147
137
194
182
240
150
240
147
173
217
112
170
121
208
204
208
136
185
194
121
165
185
193
152
121
150
237
121
239
137
112
150
167
123
121
171
112
158
227
115
170
174
150
123
150
240
208
150
224
121
208
150
171
176
150
123
170
130
172
150
121
135
218
112
121
185
211
136
112
194
150
210
250
302
150
180
150
121
160
150
193
112
231
212
170
215
112
250
172
170
171
250
161
152
181
112
186
170
171
236
172
112
121
165
174
220
156
156
214
275
209
139
187
201
228
153
175
208
112
123
208
225
136
208
167
112
192
124
170
171
150
156
121
121
160
150
170
150
136
239
194
250
121
167
112
150
181
208
226
187
167
207
230
171
112
194
112
237
205
171
208
170
130
160
302
208
194
112
165
165
194
212
217
115
216
121
170
167
201
176
136
164
210
208
167
112
112
208
170
171
112
170
171
196
172
121
177
150
194
130
227
212
229
175
172
226
135
171
124
186
112
172
112
112
158
198
187
112
112
167
220
202
150
210
167
172
167
121
250
170
170
112
150
137
112
121
115
150
121
187
208
147
208
217
251
185
123
123
167
208
208
170
176
170
121
181
224
237
226
226
210
212
174
167
208
150
172
158
167
162
147
230
112
152
167
195
170
134
172
121
112
263
185
121
121
121
112
121
150
123
160
220
150
172
193
167
164
150
202
112
150
115
150
136
121
170
176
170
213
135
152
207
150
192
271
205
181
112
159
181
112
128
137
112
172
112
112
136
112
172
136
203
217
177
195
220
112
112
171
251
130
112
172
128
150
112
170
121
178
181
112
201
302
167
232
124
137
171
121
112
170
225
122
171
212
231
192
121
161
213
164
124
171
176
144
150
240
201
167
112
150
220
171
128
150
176
130
112
181
202
228
112
150
164
165
112
194
195
194
170
176
228
172
176
112
123
167
174
150
121
112
208
175
156
194
155
201
239
147
178
208
112
176
170
237
170
112
192
237
135
170
157
150
220
181
172
165
239
112
158
240
208
112
231
112
229
150
172
112
167
137
150
226
266
112
123
150
230
112
232
121
242
260
193
112
174
197
112
208
172
112
123
157
195
167
172
181
112
229
193
167
237
186
228
137
225
124
265
158
217
170
150
219
147
167
172
121
171
150
215
121
112
121
164
194
194
121
194
112
201
150
173
181
226
181
169
112
181
112
234
193
121
218
207
150
174
150
150
187
167
112
286
181
177
171
112
181
195
150
208
172
167
112
150
150
121
135
177
205
150
202
130
208
219
135
121
208
184
186
176
231
171
112
196
112
150
112
158
164
174
176
174
112
168
215
226
172
172
136
208
121
263
172
112
170
203
121
194
175
143
230
215
150
172
123
150
196
181
227
208
167
136
172
159
145
186
187
193
115
194
150
267
112
205
112
112
218
250
192
136
121
170
195
242
150
177
165
112
201
112
172
171
115
208
150
194
139
194
176
208
208
192
112
211
208
220
193
164
232
269
226
227
121
217
228
150
172
150
167
175
172
170
167
121
186
135
172
172
121
255
112
171
136
193
150
150
112
203
112
194
214
121
208
231
189
205
237
123
150
230
253
184
136
112
179
176
156
214
187
112
171
112
181
136
112
291
150
194
150
259
208
209
217
143
190
253
212
135
121
159
194
200
167
219
137
144
176
223
255
212
136
228
225
208
181
219
193
166
123
208
128
150
195
124
219
208
212
235
115
202
171
150
255
112
186
137
202
255
121
194
208
233
150
186
186
181
172
179
115
121
150
150
147
184
150
136
195
202
250
170
182
135
170
217
250
121
228
167
213
181
136
115
176
198
164
121
212
207
208
193
150
124
195
210
112
172
150
228
278
112
195
121
123
231
189
112
219
179
112
172
219
143
220
208
121
164
171
121
121
112
230
179
171
174
121
121
213
156
175
121
237
121
204
112
150
167
250
112
215
172
250
194
218
121
174
181
216
193
123
147
159
181
121
177
112
150
208
210
237
187
172
167
171
170
150
112
193
121
253
124
259
150
150
112
170
170
165
160
150
181
208
275
209
115
112
170
208
172
194
258
123
136
150
198
229
176
112
170
121
150
212
214
150
131
135
170
147
265
278
172
170
247
260
167
208
193
250
194
123
172
193
172
112
150
228
193
121
176
150
194
150
190
112
165
160
203
170
121
274
208
243
121
168
112
164
112
124
167
171
203
135
226
208
201
170
270
193
172
150
172
219
150
219
186
150
112
178
174
150
150
136
150
115
121
121
194
150
160
112
161
121
208
152
208
187
193
150
136
194
200
115
186
112
150
150
121
121
203
170
137
150
136
123
121
171
187
167
208
150
181
208
150
217
231
112
112
135
215
150
150
171
121
225
160
167
112
150
170
223
237
139
112
171
170
150
170
196
210
223
170
189
240
194
158
159
150
188
255
196
208
135
221
201
143
226
172
130
229
240
150
228
227
181
176
121
171
245
121
121
157
179
223
228
187
208
232
208
135
150
124
165
115
147
170
143
202
130
144
165
177
243
186
208
121
121
115
208
146
208
112
121
181
228
165
150
278
193
112
194
208
194
194
186
112
174
208
123
247
269
121
115
170
137
202
172
246
164
212
167
252
121
174
187
212
172
169
112
168
231
130
121
150
121
250
168
210
150
112
171
176
150
112
192
176
208
112
186
150
121
167
170
150
189
152
208
208
167
167
202
168
135
193
210
210
121
210
121
240
176
158
233
177
115
207
194
150
203
150
195
224
147
218
194
123
150
121
115
170
202
150
150
258
208
238
291
150
217
150
170
150
195
150
208
208
207
215
172
210
124
123
184
121
235
115
176
172
112
194
150
128
202
121
184
123
121
123
170
176
212
158
144
121
233
171
206
112
121
177
255
167
193
150
186
187
217
121
170
174
130
179
124
228
209
176
264
167
121
231
121
150
272
179
165
121
147
121
112
112
204
128
208
243
248
112
181
276
150
172
231
167
244
202
208
167
170
112
121
159
170
230
193
172
167
121
157
136
121
179
171
302
163
208
177
172
150
171
177
112
204
278
238
121
228
170
202
158
150
150
112
210
143
150
196
172
208
218
121
167
121
150
181
112
150
302
177
208
187
233
203
121
255
150
121
174
172
177
208
177
194
150
165
150
136
217
255
203
121
171
223
253
212
205
121
226
159
135
240
187
187
192
233
173
205
186
187
153
167
130
167
136
171
159
167
202
192
112
170
178
112
150
186
112
150
231
150
121
121
201
167
134
150
156
176
199
159
172
245
121
112
193
220
121
175
186
150
150
150
174
172
170
193
135
123
136
237
135
208
147
179
206
208
147
202
170
121
240
231
130
172
250
136
150
128
121
147
176
177
203
112
123
123
112
121
143
156
192
112
112
237
247
192
170
181
226
250
130
171
179
274
227
121
208
215
130
208
254
186
158
112
150
193
112
150
167
137
176
167
136
194
152
112
208
172
194
218
121
123
172
208
235
172
164
170
194
205
167
231
203
263
121
210
170
223
112
170
193
172
193
124
208
212
203
233
172
150
187
222
228
112
255
172
171
112
181
266
204
170
128
115
130
184
121
229
158
150
115
263
167
150
150
228
123
256
131
112
112
181
121
115
177
228
121
255
167
167
112
167
217
112
167
136
208
250
135
208
112
167
135
228
226
196
194
235
112
187
167
194
177
150
112
112
123
235
112
171
209
219
121
150
150
208
130
170
190
121
176
171
137
171
112
149
177
263
121
137
208
112
165
172
112
150
172
243
193
165
203
181
177
150
172
187
219
218
177
194
172
255
208
112
112
112
121
156
217
150
143
150
137
170
172
208
208
172
237
212
172
150
187
121
137
165
202
123
181
203
167
121
167
115
170
194
136
186
193
194
121
201
195
228
115
121
256
121
150
167
175
202
224
150
208
150
168
112
150
208
216
112
225
253
112
123
150
121
255
208
170
174
269
212
130
121
150
172
176
210
176
208
170
263
172
158
208
228
172
172
193
159
167
150
202
174
167
208
121
123
167
165
165
186
201
176
172
150
115
150
210
158
164
208
202
223
176
193
210
112
136
150
194
168
194
150
230
260
150
171
112
172
201
172
135
150
156
171
150
177
209
124
112
184
218
121
150
135
187
150
204
228
164
209
263
121
203
156
194
121
172
128
112
167
218
276
112
112
189
121
165
171
195
130
220
172
274
171
137
112
112
150
137
228
150
112
150
121
156
187
115
150
150
158
150
207
172
164
219
157
255
203
171
135
157
167
179
112
171
112
231
150
150
150
210
208
181
171
121
170
135
250
176
112
137
130
201
160
150
130
170
150
136
208
210
156
161
112
112
135
150
170
144
302
189
112
170
184
112
143
170
123
150
112
135
302
112
223
112
232
158
217
181
150
150
164
130
176
158
172
179
239
208
112
181
181
238
150
172
171
186
121
237
167
230
173
150
137
159
172
175
172
150
194
202
240
174
130
115
174
226
220
150
243
245
177
123
181
172
194
112
112
201
121
150
217
206
217
196
217
201
172
167
150
150
208
189
216
112
181
150
195
212
232
165
193
171
208
121
112
177
165
170
115
150
121
121
173
121
171
217
193
174
168
128
210
123
203
121
255
255
135
162
202
208
225
112
214
194
247
175
170
211
144
228
181
255
121
176
181
255
212
206
178
161
143
171
181
112
136
171
136
112
193
201
150
167
182
144
112
112
215
237
192
235
219
150
121
161
176
208
150
152
172
233
167
159
208
112
198
177
194
121
124
187
112
112
112
178
187
112
250
112
167
150
181
209
165
167
143
121
150
150
205
150
177
214
170
208
208
147
263
175
161
176
218
112
150
181
181
225
171
150
195
211
172
212
150
136
172
202
258
228
203
152
187
165
179
123
121
208
263
194
257
218
208
194
202
121
181
192
189
202
172
215
136
208
112
205
186
260
170
170
186
112
112
137
150
212
186
150
209
158
121
160
172
137
187
112
165
150
245
121
194
162
150
121
112
236
170
253
150
112
172
112
121
112
172
250
167
212
208
173
112
208
112
150
150
212
165
112
124
231
172
176
171
171
170
170
202
239
115
165
187
137
167
150
186
208
276
184
260
187
201
172
150
137
158
186
187
159
202
121
121
150
231
165
112
243
170
150
150
217
136
170
121
172
194
208
218
179
172
176
208
115
170
237
150
124
233
165
150
121
121
150
150
143
167
121
192
112
228
212
214
137
115
224
174
208
112
150
165
121
250
144
227
165
208
121
143
147
194
302
123
202
156
202
135
124
229
177
150
147
208
229
150
158
112
194
172
123
123
182
181
112
167
121
210
167
112
150
136
210
208
121
172
192
136
123
171
121
181
156
193
112
232
275
123
170
265
130
186
233
112
121
222
226
112
167
195
236
170
112
217
130
186
242
174
233
112
255
195
150
150
167
171
174
232
219
203
232
150
172
181
189
112
225
237
165
121
194
112
156
175
159
176
112
226
112
121
165
165
225
165
167
171
181
172
135
170
124
187
143
135
202
150
123
171
172
181
160
232
202
237
121
170
254
150
112
167
123
112
187
112
152
167
181
205
263
136
195
112
208
130
208
217
150
208
121
172
112
177
201
194
202
208
130
121
166
150
123
196
112
220
274
150
195
208
243
229
137
172
202
249
112
181
121
136
170
112
123
194
150
150
212
172
208
171
158
136
208
112
167
172
165
181
165
168
235
167
181
131
150
239
170
112
115
187
139
136
210
147
208
171
254
233
202
195
150
150
181
131
135
181
208
150
208
208
184
225
171
112
150
194
168
181
223
172
250
270
165
150
243
212
112
208
177
121
150
162
150
167
123
193
172
258
121
121
112
178
167
172
131
238
121
135
202
187
175
150
208
112
194
123
115
208
187
246
208
258
210
168
228
167
204
181
236
121
164
167
112
171
255
187
150
181
242
123
302
156
194
193
112
171
208
130
220
250
112
239
233
192
152
231
165
170
196
121
176
164
202
152
112
112
170
228
150
213
161
167
128
123
139
150
208
121
135
150
147
203
241
238
150
203
176
263
305
235
185
150
297
203
192
150
189
232
192
156
233
172
160
181
203
121
181
112
226
229
158
121
112
208
217
157
170
170
240
170
174
137
228
135
208
137
234
158
121
201
186
172
121
193
136
257
112
250
121
165
170
112
136
229
159
231
136
178
202
150
128
275
143
208
112
172
121
202
229
143
186
172
195
123
174
250
136
186
182
220
158
208
208
186
243
123
160
146
237
174
181
170
263
214
135
176
170
270
208
137
136
245
202
121
112
236
208
157
112
218
135
150
214
150
167
161
177
208
208
200
131
226
195
202
150
112
186
212
181
112
194
121
208
215
186
194
150
112
164
232
121
112
219
224
174
215
255
172
171
121
121
179
187
184
205
170
250
186
150
206
130
165
121
160
236
150
146
121
150
215
112
208
178
187
207
156
121
229
123
181
150
176
302
112
150
112
228
167
223
147
237
171
265
210
212
202
115
150
177
191
168
187
195
187
112
217
150
230
160
195
214
171
213
150
233
112
123
172
112
208
192
208
147
112
150
150
189
202
228
228
218
170
164
208
195
190
235
112
112
201
189
150
193
150
203
172
233
172
210
203
135
150
150
182
150
165
194
227
276
150
160
175
199
112
150
121
121
150
175
193
112
112
172
208
150
150
263
167
157
194
159
150
210
216
123
150
167
150
225
121
243
181
228
121
150
172
143
150
171
121
225
172
167
231
164
172
165
186
150
159
123
112
112
167
112
150
224
171
208
150
208
176
257
210
123
158
167
176
121
207
193
173
172
172
203
237
136
167
302
177
226
217
305
227
121
201
240
121
281
194
254
174
193
121
228
177
247
121
112
115
147
150
150
124
158
219
205
150
172
121
112
228
123
212
152
208
135
218
231
172
228
194
124
167
202
189
175
208
152
150
208
193
193
121
195
179
206
170
150
171
164
208
112
150
193
172
136
170
181
150
112
136
150
150
208
150
176
150
121
208
172
135
223
170
159
181
194
176
150
165
229
210
167
170
181
208
121
216
208
240
170
212
156
168
165
164
112
123
150
164
239
172
226
216
112
121
239
172
136
165
193
168
194
302
153
170
181
121
112
217
173
112
161
220
181
194
208
150
274
228
194
208
177
150
195
150
147
230
171
136
168
231
121
136
222
165
112
181
170
202
172
152
150
147
181
189
200
220
167
219
150
150
136
231
170
241
210
150
228
165
203
171
167
123
112
121
121
201
112
203
210
181
217
121
217
150
228
112
112
227
161
177
189
150
121
150
112
203
179
187
136
234
150
187
158
190
147
190
274
152
112
112
112
176
228
189
121
203
252
227
167
228
194
112
150
172
195
194
150
170
224
186
171
208
219
195
209
172
172
150
170
167
228
150
217
150
112
276
171
147
147
202
170
272
176
167
171
172
181
276
158
181
232
194
121
115
137
172
115
167
186
208
172
150
137
150
156
150
139
123
239
150
112
194
184
123
187
208
150
192
123
121
186
177
170
124
208
167
172
203
121
171
259
170
112
172
196
150
210
112
171
225
121
135
121
115
112
135
186
229
112
231
278
174
150
171
189
229
250
159
121
194
147
136
170
218
233
137
167
187
181
124
121
158
187
158
115
170
150
150
232
181
115
121
218
171
150
147
195
112
226
112
267
185
208
161
146
172
187
161
112
170
195
165
176
279
146
212
192
195
121
136
206
196
112
150
150
194
123
158
205
208
192
192
240
232
178
208
177
232
194
220
121
194
166
135
136
112
137
112
177
174
112
212
124
176
150
230
136
121
203
150
156
176
255
203
167
185
171
171
208
121
130
210
115
165
147
195
186
208
165
112
170
112
219
270
241
178
232
170
162
171
170
123
229
292
210
209
194
147
112
150
281
136
201
121
172
181
158
165
217
170
208
194
197
176
150
233
170
213
172
229
147
121
201
195
112
112
208
165
159
112
217
187
123
239
171
217
167
208
150
123
164
194
213
170
208
170
225
213
206
150
121
174
150
112
208
147
208
208
172
220
210
228
150
160
112
276
193
147
150
156
186
150
128
123
171
150
112
131
150
176
112
176
150
193
168
187
185
189
150
150
210
112
165
112
193
218
233
174
172
136
208
135
208
167
205
208
112
121
232
170
246
175
240
150
112
135
176
147
171
208
150
219
112
208
231
203
137
225
208
115
199
195
208
212
150
121
135
167
259
123
208
234
167
205
112
171
150
112
163
112
208
159
144
115
202
164
163
123
167
121
187
112
121
172
176
265
170
156
178
165
171
205
216
237
194
150
254
189
186
224
123
137
165
171
172
121
150
123
193
137
170
135
150
115
213
150
112
159
112
159
202
208
187
123
150
150
171
152
186
227
175
121
171
226
181
112
115
208
158
172
192
208
112
150
121
170
226
177
176
176
220
124
170
136
201
172
181
147
203
136
150
167
137
188
288
140
180
215
131
136
179
228
150
179
197
167
121
172
150
174
181
167
147
282
150
156
135
186
121
112
121
167
150
128
172
233
212
239
193
186
164
150
219
112
123
172
121
170
172
190
181
170
174
174
229
164
112
176
121
121
194
150
121
208
208
112
150
150
178
171
123
177
124
150
192
171
181
210
160
112
212
186
181
274
159
174
121
171
187
112
156
219
228
171
135
230
156
150
115
150
208
231
211
176
210
112
250
187
222
165
121
171
121
186
210
210
182
217
143
121
150
150
172
121
121
215
167
121
150
150
187
150
193
207
147
193
172
147
112
135
121
172
193
208
181
219
150
206
194
165
208
208
208
164
202
167
146
147
237
121
196
172
202
165
112
218
176
182
233
130
227
228
164
164
147
121
194
156
172
208
112
170
172
261
168
193
164
208
112
181
136
123
150
121
121
194
174
121
228
221
137
181
121
112
203
150
201
202
150
176
147
171
160
189
167
164
158
194
150
112
181
150
203
203
150
217
121
172
193
179
150
228
218
179
121
112
150
186
123
112
168
135
181
150
179
164
167
115
170
194
208
123
121
167
150
231
170
150
112
160
193
181
123
150
201
165
121
150
195
220
172
164
121
135
121
131
146
150
208
150
175
112
171
198
136
150
121
137
235
202
236
112
165
147
137
158
172
208
193
172
147
208
208
193
150
150
174
121
194
167
237
160
208
186
170
121
228
181
159
159
212
150
150
124
208
121
121
181
237
121
147
193
179
172
208
220
232
192
165
167
167
202
165
194
176
150
121
159
212
208
172
172
115
234
115
176
150
219
171
184
167
167
112
194
172
208
167
207
112
115
228
167
121
158
112
250
194
147
187
186
150
150
147
210
171
121
250
150
128
217
121
152
177
206
231
121
237
174
208
156
186
212
177
213
172
212
172
181
150
244
195
158
112
150
172
123
156
172
239
201
136
150
208
147
208
219
304
176
150
193
112
112
208
158
170
172
194
158
121
219
167
208
194
136
193
206
171
165
210
150
171
112
193
170
219
219
135
112
258
238
242
150
150
217
190
112
121
136
208
112
150
187
172
150
254
171
137
150
208
219
179
150
218
121
171
174
193
128
193
121
208
112
112
121
112
170
278
205
121
152
150
189
121
112
179
147
168
121
112
135
181
228
176
146
205
229
243
228
231
188
194
216
112
213
208
172
218
208
207
240
190
202
121
249
225
212
179
156
193
167
147
193
191
112
177
159
172
190
181
233
112
121
147
176
265
112
121
112
172
121
177
150
112
208
121
194
112
152
212
137
150
263
193
137
150
205
170
194
208
187
172
158
219
121
208
170
181
237
121
172
150
123
112
212
123
172
112
195
112
259
175
182
121
201
128
150
144
195
212
121
206
187
112
123
112
244
143
150
202
150
179
208
225
137
208
112
121
165
156
184
158
124
208
112
208
136
193
170
167
167
152
112
213
150
208
226
161
243
150
181
208
159
150
168
121
161
193
156
112
112
123
164
170
130
115
115
172
196
219
176
171
171
112
150
167
156
147
150
130
112
208
237
135
172
218
112
160
150
167
178
130
226
174
301
194
250
171
150
165
147
232
220
112
190
121
208
163
136
208
150
232
150
112
150
172
208
226
177
136
150
164
186
121
167
218
208
195
229
157
176
150
198
112
183
150
254
241
176
150
112
137
217
165
112
216
137
150
172
201
112
172
216
121
205
158
238
195
172
146
257
112
150
195
121
143
195
237
145
165
288
186
136
170
192
207
172
187
150
245
187
150
164
186
239
164
112
250
112
193
150
112
159
168
112
136
170
192
186
112
187
176
275
201
242
150
150
201
172
174
159
238
217
172
181
167
156
172
163
247
268
242
150
150
165
112
193
208
150
170
208
172
170
172
212
144
216
208
130
208
205
202
193
123
112
231
208
208
228
186
150
241
208
264
208
170
177
150
208
212
150
258
197
150
121
112
160
222
164
263
136
207
115
195
112
186
243
150
115
170
150
136
189
172
196
202
187
208
150
112
115
121
160
184
150
172
265
231
194
170
201
302
164
179
112
123
170
121
176
144
194
171
238
192
208
150
112
195
150
240
170
176
171
172
123
150
112
205
121
214
176
150
121
150
150
195
254
150
193
195
238
112
123
231
128
159
208
172
150
202
112
130
150
112
112
163
218
135
181
172
121
228
213
112
168
150
195
170
219
186
147
156
121
190
172
115
237
203
193
186
176
143
208
193
175
175
202
195
181
172
150
112
201
150
121
231
165
124
137
128
167
302
170
208
115
235
171
208
201
150
250
167
150
208
115
212
147
212
174
170
220
121
115
135
150
181
172
128
150
265
150
210
147
208
150
186
201
208
121
203
201
150
262
250
208
150
277
112
150
223
231
123
112
112
208
195
226
170
165
168
112
150
216
186
235
176
164
150
176
152
225
229
194
181
212
212
176
167
112
225
194
112
193
150
255
202
121
123
135
150
172
172
167
289
176
167
167
208
121
181
172
172
135
171
205
177
150
179
233
121
112
150
202
157
112
223
150
302
135
217
121
150
208
170
112
172
175
170
196
187
137
144
229
167
121
161
178
170
167
128
179
137
226
172
112
203
150
223
130
167
208
193
121
165
207
112
158
128
150
160
167
208
258
112
150
214
167
112
218
210
170
123
177
177
150
150
112
194
158
246
214
112
112
176
167
287
181
174
150
194
228
121
231
237
205
112
211
150
150
176
112
164
172
209
182
156
192
184
150
136
201
162
150
150
150
267
210
208
186
112
121
167
121
210
150
167
112
121
199
136
210
150
168
194
112
121
232
170
172
147
162
176
236
130
123
150
173
150
244
279
173
150
171
112
281
165
121
150
204
150
150
194
150
164
229
170
137
216
192
167
172
112
150
171
181
167
164
112
173
143
239
260
238
231
170
186
115
218
167
210
121
160
112
193
112
167
206
208
236
203
172
150
228
123
226
123
233
209
219
112
203
217
195
172
112
167
172
276
112
112
112
176
174
220
121
208
123
121
136
181
112
208
172
176
189
150
121
204
210
208
207
121
170
112
208
250
201
167
255
175
208
112
156
160
168
196
167
205
170
167
170
171
225
172
186
121
174
174
130
150
237
121
150
121
121
208
174
176
112
194
212
167
112
150
214
199
244
210
130
112
260
150
112
193
150
159
150
121
179
112
150
150
170
276
112
137
208
164
184
147
143
195
172
208
150
254
208
130
167
121
202
232
194
249
121
231
121
112
172
207
121
165
150
150
232
302
150
167
175
135
176
112
112
208
171
167
135
123
172
194
168
187
216
115
220
112
228
115
222
204
208
218
192
150
167
112
156
170
147
121
226
172
121
137
167
176
229
167
112
200
181
195
130
160
181
121
112
112
112
135
121
112
228
112
167
199
176
172
165
168
187
146
181
194
167
186
172
170
112
227
147
150
150
150
160
121
250
255
190
112
165
213
208
112
159
121
150
177
186
160
187
198
157
158
150
208
164
123
176
121
208
176
239
181
167
260
158
210
165
171
207
121
179
187
150
208
150
112
167
202
150
128
121
177
121
112
115
200
150
150
231
160
170
203
112
202
176
174
112
112
264
202
176
193
152
128
199
171
172
121
165
121
195
121
237
174
136
239
208
121
172
167
231
164
207
208
162
217
121
112
172
135
135
147
202
202
176
172
150
150
208
212
150
121
230
171
220
208
194
233
199
150
194
171
121
220
112
229
170
168
203
193
124
173
184
208
219
164
175
150
144
171
167
171
121
170
233
163
267
147
150
112
239
176
208
186
208
187
171
121
172
194
170
130
150
150
121
172
228
167
112
150
208
174
272
172
115
263
150
264
136
239
170
130
112
121
208
137
172
121
167
167
123
152
165
215
112
150
172
235
208
195
112
231
208
213
179
278
255
135
218
150
112
150
250
172
181
195
170
164
202
167
194
207
194
225
175
226
121
219
172
158
208
175
171
226
208
150
160
208
121
210
217
150
208
112
263
195
208
131
202
193
217
139
177
206
204
203
195
121
167
123
175
112
171
220
172
170
220
172
193
187
112
123
219
208
172
181
189
201
177
112
170
167
165
202
150
276
212
229
244
156
147
112
186
237
193
170
195
250
152
112
112
223
121
218
187
112
170
123
235
208
170
175
186
203
175
112
172
208
121
237
176
186
187
193
135
172
121
150
174
115
214
130
171
159
112
123
174
181
122
115
237
186
123
272
208
237
172
121
207
159
228
167
198
203
121
121
218
150
143
150
196
187
165
195
123
168
150
164
112
167
194
144
137
194
208
150
187
171
208
231
124
187
147
239
137
150
207
212
194
167
167
172
150
112
187
123
121
167
112
239
201
150
136
212
181
208
208
208
150
201
186
112
121
171
208
255
208
193
170
167
165
112
166
170
121
121
164
115
171
247
121
150
192
112
150
159
150
218
231
231
150
121
157
112
174
159
115
146
176
208
172
217
225
160
172
156
194
302
152
176
164
176
123
218
237
172
172
121
172
147
150
232
165
192
172
150
204
128
208
172
208
235
225
121
172
195
170
112
176
232
150
121
121
209
112
150
208
228
171
168
112
137
150
223
208
208
121
150
193
212
156
112
171
228
172
229
170
167
190
250
150
181
168
170
172
184
143
208
181
232
240
235
135
121
123
228
158
159
186
150
150
217
210
137
115
112
112
137
194
172
121
193
220
167
167
219
167
150
208
136
150
136
212
170
208
150
240
135
135
167
150
112
150
123
112
176
112
231
203
172
210
202
176
172
123
166
112
281
202
270
150
172
158
124
210
172
135
206
217
112
226
147
150
203
130
170
254
167
112
121
112
172
150
150
156
181
162
170
150
121
123
167
170
112
115
181
208
194
136
241
175
150
232
202
150
150
194
218
239
150
115
175
158
228
207
195
136
150
128
234
210
186
197
112
170
236
167
219
137
172
192
150
224
121
167
112
150
174
167
123
230
194
177
150
261
112
121
208
130
121
239
167
112
156
136
150
237
112
193
193
170
124
112
115
121
208
112
208
202
210
123
192
150
165
230
159
150
121
172
205
250
177
194
171
121
194
121
247
150
112
219
189
136
165
210
135
150
244
292
186
189
228
112
170
112
202
150
231
172
150
165
203
194
223
150
217
150
178
179
112
201
165
150
203
186
197
135
123
171
112
202
150
121
189
170
150
194
121
226
208
150
123
194
172
123
147
233
150
121
150
173
228
195
165
112
165
172
121
167
202
208
176
179
239
201
150
150
165
210
236
115
164
195
112
208
210
181
167
130
159
232
164
275
167
193
112
208
177
121
121
214
209
171
150
121
234
172
200
187
147
112
167
237
150
198
112
112
123
226
186
208
123
242
112
112
212
121
193
193
203
152
162
145
203
121
208
136
124
150
208
112
257
211
115
112
172
121
240
209
150
137
112
170
112
175
165
226
176
150
271
115
150
112
112
210
181
150
208
250
172
208
208
128
208
150
150
172
121
170
123
171
180
195
146
147
203
150
147
150
201
192
186
193
194
167
213
170
214
207
115
115
226
193
174
172
121
172
150
123
146
112
150
208
150
231
279
170
181
203
201
247
208
230
195
150
174
112
239
150
112
167
165
174
208
150
186
112
243
135
167
192
244
208
158
135
165
214
210
165
112
168
123
205
170
124
179
231
170
165
123
215
176
235
121
207
150
121
147
193
150
193
176
158
223
267
210
208
220
174
121
112
229
194
203
172
150
231
208
112
115
150
150
128
228
128
172
216
121
208
176
123
150
121
210
167
194
174
150
150
121
208
181
172
208
176
201
136
229
203
202
194
176
172
226
150
186
302
239
211
167
112
112
208
112
219
176
232
205
172
208
179
150
174
208
172
170
150
239
172
121
203
131
208
121
194
233
201
177
121
179
150
171
130
121
240
165
208
195
150
203
130
124
170
121
220
172
121
150
150
232
112
193
181
226
201
112
192
217
150
172
205
192
112
219
152
171
187
150
201
150
112
121
167
212
240
121
130
150
144
112
112
172
112
228
172
208
136
232
121
226
275
217
160
150
124
246
150
237
208
201
150
205
153
208
172
172
112
112
147
112
240
135
170
186
112
186
208
121
143
121
123
212
112
112
135
172
171
252
208
123
121
302
182
121
150
150
172
150
208
186
208
195
242
135
112
124
228
150
219
186
143
150
187
220
176
174
287
185
112
121
112
186
112
228
208
172
193
217
206
178
170
214
302
228
186
112
115
194
121
123
124
123
121
210
115
112
167
150
123
276
197
164
242
172
208
229
112
124
202
170
196
123
274
150
208
255
164
208
170
160
160
112
213
150
112
121
165
167
136
265
231
115
223
237
210
121
150
208
210
179
170
202
208
171
121
164
112
115
236
181
167
112
208
181
290
237
164
112
150
206
170
213
152
112
170
112
172
299
167
150
150
276
112
124
124
181
159
187
172
172
152
121
121
257
112
201
171
240
170
276
278
186
181
208
121
186
187
175
212
121
191
171
164
171
257
208
181
185
150
219
163
164
202
167
210
147
115
121
187
167
302
165
150
150
150
150
181
170
156
190
178
228
150
152
150
192
181
201
198
192
121
210
160
150
181
121
176
160
163
150
220
302
202
184
150
184
150
143
229
231
172
214
192
150
202
167
224
193
167
112
189
167
187
121
172
112
167
231
124
112
112
297
139
207
112
276
135
195
150
210
121
121
262
167
201
218
217
208
223
187
137
208
167
176
170
210
170
167
193
226
172
121
182
187
150
150
210
150
170
182
156
168
131
177
137
150
112
200
172
121
176
225
123
123
112
201
250
207
186
237
172
121
150
255
195
112
123
115
167
121
121
112
172
159
159
210
150
121
208
112
193
201
211
150
244
112
158
192
171
156
128
123
172
112
208
132
171
219
137
150
187
112
121
172
150
263
150
112
112
121
197
210
112
150
168
181
121
112
167
150
206
121
112
137
135
123
170
137
156
181
164
193
255
193
240
150
131
156
190
165
245
115
150
172
176
172
112
175
192
150
225
112
174
121
236
115
172
150
181
157
238
150
121
208
176
177
150
115
121
150
172
168
208
112
112
135
229
211
112
207
187
171
194
253
150
112
176
187
165
112
150
167
131
121
207
128
171
228
195
167
150
194
135
228
150
167
164
171
174
177
112
123
176
185
165
236
115
123
187
226
115
194
161
234
136
176
194
174
121
112
150
234
172
208
201
245
158
194
121
208
181
219
208
123
349
194
150
219
210
210
205
175
193
181
208
152
170
208
170
150
121
123
208
159
171
181
164
170
219
172
193
237
172
112
187
200
128
158
137
172
112
150
201
150
173
112
150
165
124
228
143
217
270
208
243
130
228
261
150
194
170
170
112
171
112
112
181
150
123
112
201
121
171
187
234
203
172
121
112
275
115
157
217
240
147
232
112
121
201
229
112
237
194
121
123
208
203
225
208
234
172
112
201
144
121
176
164
210
121
123
170
239
112
165
204
232
121
112
216
158
172
243
219
219
275
112
121
167
121
150
203
245
167
208
208
170
172
209
150
237
112
135
147
150
208
228
112
112
184
170
208
150
167
112
158
150
276
174
121
150
176
274
182
165
167
203
123
181
171
150
164
136
112
195
150
220
172
212
243
181
143
237
112
208
130
121
121
112
112
176
220
150
136
130
230
174
150
150
182
210
226
179
152
186
208
171
112
176
137
208
202
258
209
192
163
131
115
121
150
193
204
194
212
205
112
184
121
181
167
167
167
200
170
203
123
192
135
176
184
167
228
137
172
167
121
172
150
203
121
115
150
201
167
121
171
239
150
170
186
150
208
150
167
231
115
232
170
228
276
208
190
181
150
174
167
168
213
232
150
212
193
167
121
172
150
220
121
123
201
206
205
112
167
186
275
232
208
167
150
202
182
249
174
195
211
187
208
124
302
160
135
186
150
208
176
205
123
121
254
150
177
171
158
210
181
171
121
121
167
121
172
175
208
235
171
201
193
176
208
172
174
128
195
186
123
208
234
170
226
215
215
121
112
150
156
175
195
121
150
165
238
186
230
184
123
228
171
112
141
243
174
301
208
112
137
255
121
243
121
193
250
172
218
177
128
121
121
172
150
208
147
205
168
150
112
240
121
186
121
214
159
170
237
194
222
194
258
193
123
150
159
302
194
137
150
218
152
121
137
121
234
225
220
167
136
130
212
172
181
255
212
228
121
121
186
112
202
181
158
144
135
302
150
175
187
172
123
144
194
121
128
112
171
186
150
147
208
195
220
172
150
206
228
237
150
228
218
159
195
228
171
170
150
217
150
112
124
187
228
171
159
165
123
233
171
150
167
231
137
196
272
237
152
240
158
208
187
178
201
156
136
208
228
147
181
181
171
136
170
150
130
112
123
201
136
150
203
175
121
162
172
184
208
150
168
150
200
228
231
123
112
150
195
212
121
228
209
208
176
181
165
150
167
231
195
150
121
123
150
147
170
194
238
228
187
255
164
115
181
181
112
124
150
186
136
201
112
187
172
175
115
112
216
121
128
198
263
235
123
112
181
172
165
194
190
112
202
123
159
172
243
208
135
131
168
152
172
157
121
181
112
171
174
181
121
237
208
203
200
234
217
186
208
170
121
146
212
112
167
121
170
150
208
276
217
150
203
171
208
225
165
174
208
136
170
177
241
228
123
150
150
124
232
167
167
186
135
208
263
183
215
170
112
165
121
233
123
175
194
150
171
194
150
121
150
167
187
121
193
165
154
220
255
150
196
201
202
172
115
197
213
130
177
150
158
136
194
121
234
150
150
160
112
123
193
121
158
215
150
179
112
255
152
158
121
195
240
235
208
212
171
164
172
172
115
150
170
243
112
167
150
150
112
186
183
282
204
195
223
160
150
164
160
176
150
171
121
167
112
201
186
156
137
150
150
128
150
121
192
201
227
150
212
206
203
121
121
156
115
112
192
193
202
150
177
135
171
237
201
175
172
160
150
208
194
168
207
172
230
174
208
195
121
112
232
158
187
115
112
218
255
233
112
250
172
152
112
208
165
209
121
112
177
171
165
112
123
301
228
221
150
237
172
112
195
229
228
172
156
150
147
112
181
112
170
223
158
172
150
190
181
203
179
208
201
239
123
137
147
256
226
139
203
265
241
112
123
112
181
135
150
170
187
172
168
208
112
194
171
112
170
150
121
165
124
115
150
208
112
121
204
171
170
233
121
195
167
172
121
172
150
131
164
170
150
112
150
186
203
202
194
225
202
112
199
150
150
165
112
181
172
150
115
159
135
137
253
144
172
121
131
205
177
128
172
167
170
150
112
197
208
150
121
150
123
121
208
150
201
167
121
215
234
156
170
121
231
176
261
167
160
191
228
156
159
187
170
112
156
179
137
215
165
193
136
186
167
136
195
112
136
215
195
195
150
189
137
240
174
150
137
171
279
172
121
208
258
206
171
150
150
137
150
230
112
193
150
150
167
150
137
121
202
115
231
212
157
121
177
170
164
150
165
192
160
167
231
256
186
171
150
203
124
210
112
121
241
176
147
135
237
172
112
208
150
112
181
150
170
208
156
174
158
112
150
193
130
210
135
194
152
162
121
152
209
237
152
220
195
112
112
291
177
210
121
112
194
170
276
157
150
226
112
121
150
176
170
228
112
112
150
164
121
186
226
176
165
167
123
112
175
167
202
154
112
135
150
150
187
150
112
195
121
228
172
203
208
159
136
172
272
112
193
181
112
167
171
165
178
183
130
263
157
170
195
225
205
194
121
177
150
112
216
112
160
112
176
212
121
121
150
172
160
174
286
150
112
176
150
196
193
208
181
176
112
186
135
112
112
172
156
164
256
121
233
123
206
175
112
171
115
187
258
135
237
150
147
121
184
150
115
228
137
121
193
177
112
225
121
231
171
211
208
135
121
208
194
137
121
171
195
171
167
302
236
177
179
121
121
150
234
136
176
201
201
156
112
194
184
250
167
219
181
172
152
121
170
302
121
136
236
178
212
112
112
181
136
208
198
112
202
165
255
172
112
170
159
171
181
143
167
150
215
170
170
112
147
112
128
112
124
265
150
182
152
112
112
217
171
176
112
203
112
165
209
210
172
203
186
218
278
130
176
222
222
197
112
184
176
150
205
171
187
121
150
211
158
112
112
171
150
158
157
203
192
112
164
170
167
112
219
170
150
218
150
121
178
135
193
193
281
167
202
147
124
249
172
112
112
123
170
121
165
172
176
215
172
206
112
121
156
193
123
172
186
150
237
121
243
160
124
112
181
172
167
170
208
135
255
210
167
150
150
194
208
135
112
150
115
150
150
172
170
150
121
206
147
196
160
186
112
247
220
165
209
239
112
167
115
179
228
172
181
227
135
222
218
208
170
167
232
112
150
181
156
167
121
239
175
208
150
174
165
193
121
228
150
213
170
218
130
123
195
217
187
150
172
172
255
194
297
210
135
192
150
150
195
193
121
160
189
150
217
239
158
121
233
187
196
178
202
136
219
168
112
150
208
158
194
171
150
150
121
150
176
228
165
160
121
146
187
150
170
121
172
150
121
205
123
136
172
112
112
115
150
121
228
205
263
112
207
172
194
195
158
178
195
112
207
112
124
176
170
177
158
226
150
211
208
192
171
186
260
150
167
150
204
112
232
121
124
172
150
167
195
123
150
150
150
177
172
130
164
201
150
176
112
121
121
112
150
167
150
264
135
181
193
176
229
137
147
181
121
150
193
235
147
112
208
221
181
193
112
150
171
170
112
167
176
237
121
123
210
178
201
112
192
212
208
247
225
208
172
228
181
225
150
242
167
112
150
167
112
255
208
228
156
237
181
208
112
170
231
112
171
213
186
112
135
247
208
150
159
167
194
165
128
226
172
208
150
112
193
121
159
208
121
150
150
165
220
170
228
181
150
147
121
181
172
181
208
195
228
161
170
172
192
226
202
123
121
137
112
112
112
165
239
205
167
167
216
112
112
112
168
121
208
192
206
121
150
212
158
150
150
259
171
175
121
204
205
112
199
112
152
121
121
170
170
172
121
164
208
205
112
167
210
123
150
182
147
170
165
112
150
232
121
177
208
239
167
167
216
147
123
124
170
121
171
170
136
112
150
121
150
150
164
112
121
226
300
121
150
238
121
112
218
150
121
112
208
208
193
198
176
112
112
123
272
201
115
171
112
243
237
123
247
112
208
208
167
202
186
218
150
208
194
150
170
264
150
147
158
219
123
181
124
112
165
208
150
175
150
121
237
237
171
167
130
297
124
183
150
172
186
195
112
164
208
124
220
210
160
167
176
150
196
165
172
200
130
175
121
112
256
112
181
150
128
136
181
156
203
286
165
112
219
233
136
299
255
121
263
150
150
112
174
172
112
136
165
202
205
135
208
178
158
178
164
189
172
171
230
181
112
112
112
147
112
184
196
205
186
192
181
228
121
217
260
121
193
182
164
194
181
182
121
208
150
172
230
215
220
176
228
181
112
121
171
121
231
193
172
123
150
176
121
170
124
175
150
144
228
176
172
150
217
181
171
112
170
220
112
186
225
182
150
172
150
231
172
172
164
243
136
186
121
195
194
186
121
150
214
121
208
216
158
226
165
124
170
150
237
130
170
195
208
150
195
121
135
202
208
218
208
167
167
219
123
150
208
112
193
112
112
194
206
150
121
174
170
195
121
208
172
212
112
213
233
150
181
194
121
112
170
195
217
198
193
160
112
112
135
121
167
150
112
263
121
172
172
150
115
255
112
208
186
150
174
181
172
218
150
208
121
190
121
136
193
176
208
165
158
112
208
216
121
217
115
202
176
218
170
112
201
208
167
236
194
233
150
235
187
278
123
195
112
250
176
170
112
150
187
115
171
170
263
112
176
193
181
160
201
175
112
240
236
186
164
112
182
186
172
150
182
177
121
186
165
203
170
203
201
172
207
281
194
150
187
210
165
167
150
254
135
112
263
143
237
187
170
220
150
213
164
150
128
112
239
186
159
214
150
228
231
245
181
174
170
228
150
243
237
160
237
112
239
121
150
112
135
150
171
171
267
150
226
220
222
206
239
202
240
248
241
167
146
195
150
266
112
179
165
181
172
187
202
194
167
186
177
209
212
150
123
203
152
186
250
228
281
194
210
176
213
112
218
171
208
171
171
112
255
170
219
181
150
164
164
228
212
143
195
112
174
176
130
112
250
250
276
121
121
205
150
305
182
208
190
130
233
208
207
176
193
171
150
158
208
232
112
139
128
226
195
208
143
150
214
201
128
172
121
112
167
121
212
208
170
237
192
250
181
156
146
150
156
121
203
150
112
171
255
170
121
237
121
227
172
150
208
146
121
158
121
193
195
123
172
219
153
159
123
167
123
302
112
121
121
158
115
215
160
171
147
179
187
167
193
112
112
194
167
121
172
156
135
223
210
136
165
239
121
112
208
112
193
250
143
195
167
115
177
184
232
136
202
121
181
170
165
152
208
187
162
172
152
250
196
208
167
209
218
150
186
121
177
176
136
233
301
218
156
216
243
121
124
197
115
121
123
121
170
171
112
150
202
121
243
194
279
121
161
202
128
177
112
150
156
176
259
208
225
178
243
302
112
150
162
135
159
143
171
170
150
175
171
170
181
186
205
172
237
181
168
112
156
208
121
130
172
208
167
177
150
202
227
147
218
195
196
112
259
208
236
178
194
150
135
212
150
150
208
164
202
150
163
233
178
112
121
208
112
195
219
150
222
123
137
150
208
190
112
178
167
225
205
187
150
231
130
194
172
164
226
112
132
124
170
150
231
226
150
171
218
202
189
208
150
121
208
112
187
205
187
194
186
172
194
167
209
121
212
165
208
178
208
165
193
165
186
150
203
208
229
184
210
143
205
150
208
210
231
124
171
150
186
212
147
212
128
193
250
121
112
112
202
208
210
210
150
172
171
225
175
218
136
172
112
211
159
208
121
186
193
202
160
136
220
237
205
112
112
225
231
174
184
161
150
250
165
112
112
239
187
202
123
194
172
165
170
212
136
193
150
150
150
228
177
227
150
208
136
150
194
263
197
150
158
150
171
205
164
219
150
123
171
182
150
150
186
112
150
207
150
167
150
167
121
212
187
112
150
139
168
201
233
207
143
124
182
150
174
112
171
232
170
241
121
167
150
197
172
121
150
164
167
208
170
150
167
194
239
143
170
171
123
160
159
130
179
115
218
170
170
203
255
170
112
170
176
237
112
135
112
121
174
150
168
121
170
210
181
228
150
135
167
135
165
205
206
112
215
112
179
195
150
112
208
231
121
170
208
139
150
135
150
165
236
171
112
229
208
112
208
205
170
170
150
187
147
223
121
250
177
135
245
244
210
121
112
275
156
192
136
167
170
193
213
136
217
194
121
147
220
254
121
112
205
164
123
150
112
194
218
144
135
121
112
202
186
130
186
136
168
168
121
147
121
121
176
150
150
226
121
202
187
150
207
171
136
171
177
176
167
170
249
260
170
187
203
121
284
189
112
112
211
179
208
208
181
195
195
121
239
143
150
207
147
193
178
170
121
178
150
121
228
121
170
177
210
196
159
136
203
139
226
123
231
218
207
150
115
150
212
165
201
201
228
135
208
165
228
121
121
160
121
208
188
198
204
121
201
208
150
130
195
203
121
193
112
112
193
150
181
233
124
208
187
186
150
115
231
112
192
208
121
150
276
172
176
237
208
194
167
207
252
239
150
177
135
121
168
112
165
124
186
212
150
278
112
278
164
121
121
137
247
112
228
176
238
150
208
171
211
216
220
158
121
123
208
144
121
146
112
115
186
128
130
112
210
164
174
135
159
239
237
172
159
150
168
177
196
208
167
112
112
302
150
115
227
135
190
192
192
187
208
147
168
121
165
171
168
235
209
172
276
150
150
176
208
150
112
121
195
167
112
201
233
150
208
167
121
112
112
157
192
124
182
174
150
208
186
207
181
136
112
121
112
112
150
212
268
172
150
167
112
158
171
208
121
208
187
186
144
165
124
207
150
150
135
121
259
208
202
147
172
181
237
194
164
165
171
181
137
207
194
121
172
174
121
167
233
194
219
219
212
226
228
193
160
147
212
182
168
150
167
176
263
150
229
131
135
299
236
167
176
150
136
181
241
112
215
165
228
112
276
135
172
208
150
165
208
171
150
171
172
150
112
156
219
187
181
228
239
210
232
112
164
165
167
208
208
244
208
147
184
170
112
208
196
211
161
186
176
202
121
121
172
205
160
128
208
167
168
204
189
208
164
150
157
176
210
170
203
150
121
150
194
201
112
255
112
121
165
174
170
112
146
214
239
147
186
195
181
167
228
156
192
187
150
208
207
150
172
150
187
220
121
150
150
150
112
167
150
152
112
167
150
194
150
207
231
165
159
208
291
212
150
220
193
112
159
112
123
215
239
121
136
172
208
210
167
112
150
147
141
172
121
172
115
194
170
253
150
123
208
121
239
210
202
194
167
158
167
208
227
229
219
121
150
228
165
121
112
150
147
112
214
123
229
112
150
217
112
240
165
167
112
172
170
147
159
193
218
220
234
112
121
160
208
181
112
112
206
237
150
121
233
165
150
150
150
200
112
112
150
121
164
208
170
112
193
226
219
230
208
181
123
216
112
172
167
156
124
263
167
123
112
239
150
121
130
207
208
193
181
123
215
121
167
209
167
172
179
112
168
156
193
208
150
137
228
150
112
112
189
208
165
112
123
250
150
150
202
150
130
137
214
192
112
123
158
176
112
172
112
167
150
128
172
247
208
212
187
216
156
167
218
219
212
150
121
127
150
150
150
171
218
227
135
121
195
278
152
184
215
143
150
170
174
203
121
164
208
123
181
176
219
165
112
112
112
158
195
150
123
123
209
218
150
150
128
210
137
207
136
150
176
181
250
150
112
123
150
150
150
195
174
150
170
194
209
121
201
170
201
177
253
150
123
165
150
112
121
212
147
165
196
194
112
186
150
193
150
219
124
210
135
172
150
132
208
239
167
228
231
194
128
228
163
176
170
210
210
112
208
208
136
260
171
197
184
255
150
150
121
121
208
152
150
208
150
137
171
208
218
201
261
150
218
195
121
239
112
179
137
150
186
230
258
112
240
150
171
171
171
124
123
186
112
150
170
150
217
178
193
228
227
112
112
150
177
176
150
156
121
170
240
214
165
176
162
201
177
137
176
124
135
171
150
121
167
136
121
210
112
137
243
208
194
112
164
150
193
176
167
176
186
112
158
176
194
212
112
194
123
192
181
150
112
112
170
150
209
204
121
208
150
130
124
236
112
165
176
150
137
208
150
156
229
219
193
112
112
210
150
244
170
135
137
208
172
150
121
202
121
210
123
195
226
158
171
170
115
237
208
228
201
112
202
150
135
167
250
202
209
168
121
172
181
167
176
196
150
208
121
136
123
302
187
150
172
171
179
165
150
193
192
213
121
112
112
167
121
150
144
201
242
167
174
137
150
157
212
157
240
174
211
203
112
164
208
186
164
121
171
168
186
182
167
112
112
208
190
160
135
237
115
194
137
195
121
195
192
217
170
121
208
121
121
121
168
258
112
150
177
170
123
186
112
150
195
195
208
216
208
165
187
167
209
115
112
194
171
208
123
150
230
112
212
150
208
176
121
279
194
112
203
174
170
212
156
181
172
150
135
210
208
112
199
164
172
144
112
174
121
144
211
172
167
259
150
228
210
136
112
150
208
112
147
212
121
228
194
208
121
150
112
172
150
150
174
206
147
228
123
150
150
172
167
208
170
143
112
137
136
136
157
198
194
121
115
172
201
208
186
150
233
167
201
167
201
255
136
154
150
192
167
150
137
168
150
121
121
193
187
189
223
208
124
168
172
194
172
130
255
112
112
194
150
170
170
208
144
237
177
208
187
228
229
150
167
156
212
218
121
112
121
195
112
139
212
176
208
150
112
150
112
197
157
235
208
144
115
201
194
207
175
206
150
122
167
189
212
150
219
231
150
150
121
172
220
195
216
278
150
136
172
211
112
159
124
167
168
191
171
215
115
201
198
212
150
181
121
193
172
225
182
121
172
112
112
165
278
193
194
172
229
121
135
187
150
173
112
193
210
193
121
208
115
167
228
121
121
112
150
186
115
150
165
150
210
230
174
172
115
186
187
208
121
238
250
186
123
194
150
121
159
223
112
210
219
176
121
213
150
167
233
167
171
203
158
121
226
159
256
170
192
237
276
165
237
219
232
121
226
121
121
121
112
171
208
121
136
202
218
165
230
201
121
123
123
150
187
121
239
170
197
150
297
167
240
202
181
123
217
228
170
121
202
112
123
164
186
168
203
121
208
150
124
177
170
115
150
208
167
221
167
150
136
208
181
150
128
231
208
174
160
172
121
202
164
112
262
171
236
160
150
228
208
276
208
167
137
192
170
172
170
187
150
150
223
150
137
150
178
184
150
278
150
135
121
181
202
203
208
171
112
121
112
170
170
112
147
112
135
208
170
150
172
150
270
230
135
112
204
171
172
167
208
194
112
121
121
186
206
164
195
213
181
192
121
150
226
156
302
208
112
115
172
194
233
150
205
217
160
112
170
167
132
194
216
182
170
172
112
172
193
150
193
233
187
121
123
121
112
167
150
190
112
195
215
195
205
208
150
194
181
208
210
159
112
201
208
171
158
211
112
150
208
112
184
187
175
112
150
171
150
150
164
150
143
160
239
171
208
165
263
121
197
112
137
170
150
195
121
150
181
187
130
123
112
143
172
150
150
168
202
195
135
150
208
297
145
212
195
176
195
244
196
172
123
150
185
170
275
208
201
165
210
112
237
243
208
115
170
121
202
171
208
231
121
137
208
112
150
147
150
159
160
167
181
167
209
250
205
170
150
150
171
218
208
208
170
150
137
128
121
162
217
187
124
150
206
228
112
150
167
208
239
168
150
181
187
184
115
115
150
225
168
170
177
241
178
152
176
205
170
186
208
150
112
211
150
181
255
208
128
218
156
121
195
130
208
165
136
255
176
112
210
121
121
191
121
197
202
172
194
249
210
150
121
186
121
185
172
160
167
208
112
194
156
203
112
123
150
128
121
225
115
150
240
215
123
181
250
150
112
167
123
186
210
210
194
238
124
123
135
167
228
187
112
121
174
121
150
250
158
229
271
167
150
135
208
215
150
208
172
228
130
121
175
121
165
150
112
170
123
229
227
257
203
146
258
195
212
187
137
194
213
172
254
158
194
194
150
214
250
208
121
237
121
172
245
208
177
150
156
170
124
121
242
220
167
228
165
176
150
121
239
259
167
205
121
150
150
123
164
150
160
236
170
219
121
186
167
137
219
215
226
121
121
164
272
150
175
250
213
137
139
189
121
115
172
150
174
115
205
112
172
136
168
144
121
177
121
208
150
123
150
212
186
170
213
201
172
150
228
239
201
208
212
185
240
208
121
112
150
152
205
195
137
147
202
311
112
181
130
150
112
112
217
150
172
121
146
194
221
123
123
239
173
124
115
195
157
170
121
171
249
212
195
170
181
167
186
255
150
208
228
137
238
191
167
192
218
172
172
208
143
192
147
161
115
259
193
208
208
175
167
170
208
115
112
112
171
123
171
167
195
228
186
210
210
170
115
121
147
164
172
237
194
172
225
208
187
123
170
165
172
231
150
167
178
153
150
121
121
156
164
172
199
121
158
239
194
150
150
121
150
150
168
112
219
209
193
217
208
220
175
136
123
171
181
172
187
150
112
228
137
112
210
165
121
237
112
179
181
173
255
172
191
150
172
192
112
182
247
210
194
123
181
186
147
150
210
170
124
112
192
193
143
170
136
172
112
136
189
186
192
239
212
150
135
214
123
250
210
112
143
176
121
237
150
176
172
194
203
263
150
121
228
174
208
123
150
121
210
201
171
199
136
176
179
147
174
207
150
234
194
193
164
150
176
112
167
165
250
197
176
181
121
170
186
150
136
150
192
112
167
156
128
135
250
181
208
112
121
208
115
275
170
165
208
216
181
186
135
172
210
189
168
150
187
220
167
226
172
150
172
201
177
112
150
144
219
136
121
167
112
150
187
208
170
193
208
112
112
181
150
150
193
121
208
112
123
150
115
150
112
112
226
170
136
195
207
150
130
170
255
170
112
165
164
232
208
121
182
171
167
228
228
256
231
208
135
150
220
175
112
164
150
112
212
223
247
181
233
228
199
202
128
208
165
167
160
174
170
112
174
255
187
164
226
254
243
220
147
115
165
194
172
156
168
156
181
124
170
150
112
136
208
186
174
201
160
250
121
172
112
121
170
150
176
172
150
263
150
276
228
112
150
194
281
121
136
112
123
135
192
150
121
121
150
236
121
115
194
112
218
150
174
181
177
121
250
257
112
170
131
195
167
177
121
220
137
167
158
181
150
238
167
112
208
121
150
150
150
212
171
208
150
121
237
229
121
202
203
180
170
147
172
121
170
150
226
194
112
165
223
137
112
121
121
203
167
150
112
239
121
191
112
172
150
158
136
210
212
194
181
214
170
172
172
150
167
184
112
150
171
135
210
130
225
208
176
112
205
208
176
158
112
171
220
167
168
143
172
131
123
208
165
193
167
253
112
121
150
177
203
186
170
150
170
236
231
181
214
167
167
170
112
121
170
228
144
302
136
228
257
164
135
208
165
162
121
201
172
112
137
123
202
263
255
150
201
175
203
139
112
215
190
128
220
112
176
121
150
123
210
167
135
121
121
164
194
137
112
208
190
167
123
124
139
189
112
165
121
259
193
172
171
208
208
240
135
150
174
136
115
135
195
112
195
124
216
121
208
150
137
112
112
201
177
232
238
150
208
139
143
121
264
194
170
121
147
150
176
150
208
150
165
194
167
150
231
225
123
112
172
150
211
202
150
193
215
219
173
170
248
184
162
250
194
124
112
217
146
112
170
215
167
245
150
170
231
172
115
193
195
235
193
112
147
187
263
150
302
226
212
123
150
158
167
128
212
197
112
136
167
121
226
112
150
198
150
201
112
150
172
150
171
177
202
112
208
143
193
202
181
193
167
166
171
208
121
176
204
210
194
205
112
112
150
150
208
206
121
239
150
164
167
150
173
167
167
135
170
112
150
121
150
176
237
208
112
135
123
164
187
171
112
123
112
231
175
112
167
156
232
202
193
227
201
168
240
147
115
226
183
172
206
158
164
175
150
112
212
165
185
160
202
121
208
181
181
172
171
226
172
194
199
213
147
194
123
150
191
167
121
121
184
167
214
184
112
202
211
175
208
143
156
112
156
250
150
231
150
167
189
136
197
121
172
112
172
136
150
181
150
200
234
150
165
208
121
212
210
208
150
172
207
121
193
208
123
130
219
150
150
167
201
201
121
112
115
150
123
228
193
212
112
121
150
208
172
160
124
156
228
165
164
216
121
172
130
150
121
150
194
187
257
167
215
177
112
167
208
192
156
112
181
166
112
170
172
230
121
193
167
278
147
264
131
175
177
150
157
141
225
214
170
121
112
203
208
152
208
212
123
121
195
112
228
181
121
144
176
232
136
115
203
235
228
217
150
213
124
135
201
150
150
168
112
208
202
217
239
150
232
150
171
165
219
193
243
158
175
112
203
167
115
172
123
123
219
131
208
135
158
112
147
225
217
150
150
112
112
150
158
121
171
157
172
202
150
168
136
201
189
121
202
112
137
112
208
187
237
150
134
239
150
150
121
172
150
263
181
213
204
115
231
208
265
208
179
135
186
193
186
112
152
170
152
186
150
112
203
158
184
202
165
165
150
121
124
231
147
112
202
212
171
112
150
194
112
189
202
150
181
200
121
187
121
207
208
160
172
172
165
208
121
228
112
150
195
112
159
170
112
253
136
218
193
123
143
167
212
237
112
130
212
112
228
150
150
150
121
201
172
208
112
231
150
269
194
112
121
186
223
172
130
181
171
208
231
112
170
150
226
196
158
164
176
158
121
219
172
121
210
175
197
150
172
261
135
112
220
193
112
177
163
121
208
237
121
121
135
177
172
115
121
150
152
123
167
147
171
167
171
167
270
123
147
186
250
194
171
121
137
170
184
123
112
165
231
112
121
121
158
181
112
210
181
201
195
173
147
222
124
139
195
115
171
152
226
176
123
121
150
121
212
150
158
193
208
187
167
172
192
202
218
203
230
112
236
124
243
269
123
170
150
242
112
260
218
193
194
194
150
194
202
202
112
121
112
210
121
186
167
218
123
121
171
123
115
207
219
212
112
112
184
201
219
112
112
194
214
176
239
112
170
199
229
150
233
121
176
208
112
112
257
121
112
112
150
201
186
150
220
187
171
187
232
172
181
195
250
165
167
121
150
150
228
208
208
171
121
150
176
210
223
150
135
209
181
150
172
175
146
201
239
225
218
150
150
112
219
179
112
239
172
150
167
167
112
150
205
202
201
168
234
201
150
112
121
209
194
181
180
228
172
170
121
184
237
150
219
124
194
150
206
228
170
158
123
121
150
171
112
212
208
150
164
172
164
150
150
181
220
159
150
168
228
112
150
161
167
136
195
211
243
158
112
150
170
172
137
229
112
233
136
168
218
158
121
121
170
203
250
203
208
123
196
160
150
160
158
152
121
239
208
137
170
239
137
150
194
121
150
201
112
150
135
170
181
179
137
172
194
121
150
150
158
202
203
112
208
112
212
150
158
112
214
150
170
194
158
216
297
115
205
208
171
177
171
228
232
150
232
186
202
164
167
174
112
208
150
112
208
177
121
203
201
186
167
123
176
139
204
160
187
232
121
112
150
177
171
215
208
137
165
121
181
150
257
167
202
170
150
121
219
147
121
207
136
205
121
185
184
195
220
170
190
215
199
170
194
150
186
121
150
156
203
274
112
123
226
150
172
202
170
202
270
156
124
121
147
196
150
150
208
184
236
143
121
171
167
158
165
128
152
150
158
172
208
167
121
176
158
218
112
150
137
172
121
208
150
193
121
115
164
156
161
225
165
112
112
205
168
200
135
123
263
165
187
157
209
259
172
150
123
234
112
165
136
196
239
228
289
171
150
234
121
121
150
238
174
172
130
208
150
121
237
165
156
143
112
147
164
150
176
208
208
208
194
150
194
243
257
177
186
150
115
158
219
165
112
167
170
302
177
146
146
201
164
274
136
217
228
192
194
123
199
136
115
186
232
112
121
211
150
170
112
171
158
208
211
135
218
121
208
167
150
158
112
171
150
170
112
112
190
232
175
121
167
208
147
171
160
170
194
228
282
210
231
225
210
229
226
172
170
123
167
159
228
143
161
182
208
152
189
135
210
131
115
302
112
196
239
171
121
150
137
112
150
210
231
121
213
150
185
215
172
112
123
145
121
195
228
235
150
186
123
208
112
167
158
228
121
167
112
115
150
115
209
150
123
181
210
165
178
146
121
208
150
165
123
167
171
226
150
210
219
165
112
201
136
208
230
112
112
156
170
136
112
164
217
150
218
167
167
194
121
176
176
172
167
112
190
112
160
208
172
112
160
150
208
212
121
112
208
170
123
123
217
219
165
165
210
150
168
121
186
146
157
195
210
206
196
172
208
170
209
164
228
199
186
205
156
152
167
170
217
150
167
112
123
276
112
217
150
123
167
167
150
150
121
172
171
115
189
203
228
152
178
237
172
171
121
171
194
115
176
152
112
112
172
112
150
231
135
121
150
175
115
194
121
123
217
168
150
192
181
121
157
112
170
167
112
165
184
159
165
112
237
164
121
187
112
250
250
135
181
167
121
158
172
164
236
176
170
150
192
254
186
203
255
121
168
181
150
121
145
172
171
150
187
201
172
112
167
172
193
147
130
112
181
204
150
231
250
136
208
192
174
181
150
112
174
184
112
172
167
250
112
208
172
175
112
172
137
172
147
172
225
192
150
228
198
218
176
123
231
211
123
137
267
150
121
174
194
204
137
224
112
136
147
165
257
170
196
208
232
275
150
121
172
167
157
121
175
112
211
112
167
150
167
150
112
194
156
121
172
172
177
170
172
278
168
172
136
208
123
176
208
208
182
172
121
194
150
150
150
228
195
172
203
112
192
205
130
176
171
144
219
150
208
165
178
194
112
112
121
171
121
235
210
207
172
150
186
208
112
193
165
167
171
194
171
150
187
187
176
203
150
150
135
112
123
164
167
209
193
202
272
195
255
112
121
210
160
150
215
208
205
208
210
186
170
218
171
171
150
150
171
208
162
172
134
112
195
208
170
121
170
112
203
150
167
263
167
187
112
201
147
150
179
171
172
178
121
217
121
150
144
112
121
236
208
121
172
156
152
203
172
210
136
193
217
112
112
150
150
150
150
150
150
165
181
233
166
121
157
218
150
215
158
297
237
208
150
193
150
237
150
165
112
135
121
181
171
112
121
220
176
150
136
150
159
112
171
121
150
172
186
218
112
170
124
205
228
194
156
194
175
158
208
241
156
220
150
150
150
136
207
146
115
121
171
207
164
135
209
218
121
231
196
112
234
229
229
150
171
184
158
170
170
128
159
234
255
112
167
176
121
177
124
150
150
206
150
178
123
150
112
208
137
200
112
135
176
170
259
152
121
124
231
121
208
112
123
220
159
185
150
147
156
269
204
164
112
195
219
181
121
227
260
136
229
232
176
150
208
150
121
231
222
172
150
208
207
136
167
137
208
202
158
204
167
186
172
205
172
192
112
208
168
168
112
174
186
172
174
167
172
112
135
207
112
150
186
173
176
181
112
135
170
167
167
115
220
167
208
208
168
170
227
112
150
176
195
115
202
121
158
123
192
136
123
165
121
112
123
190
124
112
229
208
112
157
167
172
220
165
147
171
208
150
210
192
208
228
136
123
112
227
208
152
186
176
181
121
212
231
112
150
164
121
150
115
208
217
174
150
150
193
121
171
176
112
150
291
172
208
135
170
112
250
112
121
167
121
195
228
121
123
258
206
179
210
249
112
158
150
112
210
205
207
150
112
159
112
167
112
150
121
181
150
171
157
150
112
229
112
210
112
121
208
208
112
167
167
167
150
194
136
194
115
225
165
220
211
167
143
218
137
112
237
172
210
181
240
195
121
208
208
150
208
231
212
217
260
112
156
123
165
171
123
186
225
150
123
112
181
210
164
162
172
158
192
202
167
136
156
170
167
171
171
123
174
112
158
241
121
121
112
121
112
121
165
123
112
150
112
226
149
219
150
135
150
264
137
210
112
255
170
137
172
164
164
150
194
143
219
276
241
172
214
170
189
210
112
165
193
167
228
184
176
137
228
195
112
209
176
203
218
171
207
194
123
112
171
172
123
159
181
170
218
158
112
187
150
186
186
162
158
164
208
214
150
167
181
237
241
172
112
208
121
176
208
201
170
136
158
242
112
150
172
150
205
137
187
112
184
220
171
215
181
170
178
160
160
208
172
121
137
243
210
208
160
121
208
179
137
115
112
189
112
239
170
208
112
201
194
172
181
263
150
112
195
112
112
212
193
150
208
160
136
208
112
228
128
194
115
170
221
205
182
170
237
147
112
228
167
219
199
186
167
203
121
175
190
205
210
112
176
167
196
123
135
112
112
208
150
201
167
135
150
177
162
250
150
171
150
150
136
172
195
112
136
150
115
130
170
194
170
158
181
171
158
208
160
137
192
195
170
121
203
167
237
171
172
167
159
202
210
112
201
121
121
255
130
167
219
236
150
234
222
150
254
208
112
128
171
195
150
208
152
135
150
167
218
168
150
136
112
150
112
137
204
158
193
186
190
112
112
130
150
167
194
121
208
170
239
150
223
218
161
171
150
150
160
123
123
202
150
226
135
150
193
213
222
210
150
139
164
150
203
164
121
194
215
194
234
160
137
208
302
150
202
150
172
217
171
160
150
175
150
130
208
121
194
171
136
167
232
177
112
176
177
228
215
216
250
121
198
176
150
121
150
210
170
112
231
250
112
208
250
115
135
150
168
152
230
172
205
137
172
143
193
158
165
170
150
176
112
112
167
187
112
121
150
121
187
200
181
112
137
245
260
218
185
150
236
167
172
178
208
121
158
112
202
171
187
181
112
172
208
167
171
205
121
208
223
206
172
121
179
167
150
208
150
136
219
193
112
112
167
177
181
115
184
121
112
150
177
150
208
161
167
121
232
228
288
200
150
115
150
244
150
150
193
135
136
150
193
150
194
177
143
171
263
190
172
121
121
150
150
158
150
150
137
294
192
207
165
194
228
170
150
229
165
115
205
159
121
210
228
208
208
181
179
172
164
150
215
208
181
170
208
203
150
112
112
150
193
208
112
167
112
150
150
168
235
170
159
171
208
121
150
150
150
167
231
181
137
167
171
231
150
150
121
172
162
208
202
124
170
193
220
181
187
264
150
231
206
179
115
255
208
194
172
172
170
172
167
217
144
181
112
150
167
112
255
208
206
233
112
150
150
186
130
150
181
159
208
194
150
238
172
182
174
208
217
158
123
115
136
159
112
196
274
150
173
176
168
228
195
137
112
121
194
195
217
195
237
177
231
227
208
271
227
112
165
182
202
172
203
170
156
171
115
137
115
123
208
150
112
121
206
181
181
150
130
170
123
121
230
121
170
121
147
160
187
123
150
171
135
172
167
128
219
123
192
121
171
194
143
150
150
164
143
243
150
237
228
214
237
208
194
201
201
181
123
227
112
150
187
165
208
167
150
123
165
240
135
209
228
167
231
115
186
165
112
112
208
136
171
150
160
121
150
121
156
217
121
172
256
187
112
207
217
150
137
167
194
112
249
150
121
135
181
176
208
196
172
150
174
210
168
194
195
176
175
137
170
228
170
218
150
177
150
208
176
170
177
143
217
175
250
150
112
147
194
202
230
112
112
112
278
228
150
172
121
186
150
181
123
137
263
176
228
210
171
112
112
156
171
186
172
165
181
144
192
212
167
115
201
156
112
121
193
121
112
173
121
193
150
188
177
150
171
121
257
188
121
179
171
176
217
121
150
202
115
210
172
135
170
176
237
207
176
121
121
210
236
212
233
232
158
201
170
144
121
217
208
121
230
193
121
226
226
150
207
152
212
121
150
150
121
181
155
165
209
112
195
272
121
112
170
201
261
201
121
112
217
220
205
167
213
228
255
181
194
170
170
237
112
165
187
184
171
112
167
147
181
112
157
250
177
121
237
158
241
112
153
186
227
239
170
220
193
255
198
179
187
150
250
123
172
137
152
128
172
150
121
199
272
156
171
172
121
250
177
123
121
135
194
260
130
241
192
186
121
150
208
165
177
137
112
193
112
167
112
171
276
178
123
174
243
115
223
150
150
220
174
136
250
236
170
178
112
167
189
171
202
150
170
177
201
181
150
214
238
225
172
164
112
112
226
168
156
302
150
208
150
231
167
132
194
165
150
150
121
175
159
171
203
112
115
259
150
150
150
167
194
121
112
243
147
235
181
208
172
135
174
186
226
112
202
165
197
167
112
150
124
150
123
176
225
170
219
167
172
150
189
137
112
124
172
208
171
187
135
150
152
123
136
121
208
217
150
123
172
150
242
165
202
195
210
220
150
186
208
220
187
210
208
208
150
250
181
170
262
165
237
171
208
150
170
202
121
193
172
171
170
165
203
164
172
112
150
167
150
115
176
150
172
194
210
176
205
189
176
202
130
150
208
193
208
150
123
150
124
276
228
158
170
123
144
112
263
150
112
158
136
174
176
197
203
112
220
208
150
115
165
212
156
172
208
278
137
172
137
186
112
165
112
202
197
176
214
183
194
169
170
176
121
150
231
227
123
172
226
121
195
257
170
167
150
208
208
112
320
208
170
171
206
194
176
171
176
228
150
213
204
121
170
152
172
208
150
150
112
121
178
212
150
112
121
181
157
124
265
128
225
194
237
137
123
194
186
158
186
172
248
191
172
135
176
150
147
237
237
187
193
208
203
210
156
171
135
112
228
150
170
252
150
150
150
179
112
165
230
208
172
172
112
184
192
137
236
150
228
112
121
208
236
302
121
152
175
121
112
255
208
194
250
174
144
208
150
265
220
167
208
194
136
194
176
162
165
239
136
203
150
112
207
194
208
186
181
165
112
181
210
208
194
177
167
168
121
112
121
150
202
121
165
195
193
123
159
207
208
219
123
176
171
150
165
228
208
226
150
172
189
192
176
192
170
112
150
172
112
112
115
172
144
205
242
216
112
122
237
236
172
121
205
229
201
167
240
121
121
150
137
165
143
201
167
217
160
170
150
194
159
228
194
208
171
112
172
181
208
167
150
121
208
176
210
181
241
172
201
112
121
212
194
228
200
237
146
112
274
150
208
112
228
159
167
147
208
121
121
158
192
150
218
206
150
201
179
231
174
121
170
115
164
187
112
115
172
153
184
135
150
121
232
165
157
205
167
208
164
112
231
193
194
165
226
115
233
234
150
150
208
150
150
147
250
170
124
147
121
165
172
208
212
182
263
150
165
205
121
112
121
194
121
112
121
164
181
233
171
115
181
121
121
208
135
112
112
217
187
121
121
160
201
172
161
198
121
112
121
228
171
171
171
150
170
208
176
237
158
208
226
182
150
112
171
150
121
150
150
174
164
170
213
171
136
150
150
232
167
264
112
112
208
203
112
121
172
172
150
167
302
201
152
183
274
165
260
302
226
194
150
112
123
150
228
219
184
240
172
158
195
112
181
112
212
171
182
123
172
171
182
167
206
121
150
171
121
208
150
150
208
150
276
121
208
170
112
121
121
177
147
197
205
228
152
121
123
208
150
176
170
167
123
226
112
131
239
112
195
178
212
194
233
181
150
263
174
157
171
150
150
194
112
166
194
203
112
212
150
171
172
249
253
150
194
150
172
193
112
236
150
167
147
172
112
215
255
150
115
167
218
226
150
237
150
121
250
187
112
263
136
147
137
121
225
220
146
115
187
136
228
181
218
208
150
112
174
172
229
181
176
186
176
208
150
165
187
228
121
208
191
249
164
121
112
150
150
123
121
135
170
144
150
222
150
160
150
175
150
179
243
128
112
186
112
112
176
158
164
195
241
237
167
204
167
176
208
170
121
150
121
130
112
203
210
115
210
112
150
194
147
203
173
187
203
205
166
170
228
217
124
165
201
165
170
121
167
165
208
112
121
241
228
230
115
179
187
187
201
226
121
112
123
150
152
177
121
193
172
150
121
112
181
212
181
150
147
121
216
121
165
121
150
220
231
150
208
172
176
212
161
124
137
112
208
121
177
167
123
147
215
167
160
243
190
202
160
181
171
170
208
172
167
217
237
232
150
194
179
208
150
165
227
167
121
172
172
229
121
150
124
226
171
157
150
112
204
208
223
203
172
121
164
174
158
176
208
135
210
115
208
267
121
112
208
130
159
171
121
186
193
112
208
189
208
203
150
176
165
171
164
121
144
112
160
172
150
167
167
121
208
115
121
137
136
112
181
172
147
115
194
194
193
112
275
219
112
123
228
176
243
237
186
217
192
123
112
121
218
189
192
239
184
236
124
216
186
137
299
167
193
150
205
150
189
121
112
228
150
243
112
136
176
172
223
175
181
146
112
176
217
206
204
121
228
115
205
167
171
112
237
167
226
123
144
177
150
112
199
115
194
150
176
150
150
181
228
192
166
150
172
112
128
201
172
112
150
194
171
112
282
194
227
124
263
150
181
302
275
150
232
112
172
112
239
144
137
175
167
124
189
165
207
194
170
202
229
121
121
115
232
172
167
208
226
121
112
250
208
123
121
208
226
208
231
236
121
196
210
225
172
232
171
195
231
171
208
174
165
219
121
219
202
186
247
181
168
177
150
112
263
170
170
228
150
147
171
121
157
164
186
150
121
121
195
121
181
176
210
147
176
193
168
178
171
115
206
176
161
158
150
194
186
206
121
228
167
257
170
123
195
115
205
208
150
150
157
147
228
167
178
202
194
150
177
172
186
210
159
179
136
212
219
294
147
121
172
150
150
150
128
139
123
112
231
201
121
181
217
212
121
210
265
121
112
130
147
228
302
137
150
196
170
203
159
263
208
131
150
213
181
229
193
171
123
150
150
179
256
172
172
202
164
167
231
212
150
177
167
187
121
195
177
181
136
112
302
231
170
231
208
208
112
112
137
171
212
156
165
172
208
137
121
228
237
112
231
170
187
203
168
112
170
235
181
241
187
172
167
147
218
121
128
177
203
215
228
207
218
121
150
160
217
260
115
276
167
186
150
208
178
112
167
121
150
143
112
177
167
176
112
226
194
158
112
239
206
121
124
165
218
188
158
219
136
115
112
152
167
112
112
240
167
208
150
217
254
112
170
171
112
256
182
229
237
242
186
121
212
150
112
212
159
112
233
201
226
194
121
112
236
172
112
150
159
199
124
135
200
112
123
150
181
164
187
189
121
193
167
195
177
112
150
170
237
194
198
187
112
164
115
172
152
112
156
208
170
210
232
150
218
208
201
147
147
143
189
203
112
212
121
112
121
121
156
121
167
123
231
164
168
172
112
112
192
228
121
177
112
233
175
171
181
167
215
186
193
121
115
150
172
150
231
184
182
174
241
208
167
165
193
225
239
115
121
197
167
220
181
136
165
112
233
172
201
170
150
237
208
201
205
167
187
181
176
220
172
179
194
112
170
150
165
121
112
115
200
150
190
239
239
156
136
112
186
171
156
123
226
169
237
165
150
181
135
210
228
112
194
137
181
164
150
121
112
137
165
123
112
214
121
112
217
194
167
170
112
168
178
150
212
167
186
205
170
235
167
156
233
172
135
216
177
250
259
168
115
124
212
187
170
173
171
156
167
150
150
201
217
150
235
152
195
187
112
164
150
171
228
205
150
160
112
165
165
179
150
112
176
121
229
202
205
156
137
150
201
165
250
172
177
245
165
143
196
177
217
210
176
165
215
135
112
135
181
172
219
172
172
121
135
205
170
112
123
172
219
150
159
112
156
128
112
168
121
208
217
170
150
208
167
193
181
217
150
217
150
121
175
172
194
168
187
228
123
216
150
233
259
172
228
181
112
150
150
208
112
115
176
121
194
186
167
112
174
229
124
115
201
150
168
159
208
208
250
164
195
156
164
208
121
121
250
207
137
176
172
217
167
156
112
147
208
228
181
176
121
208
174
276
187
170
181
181
226
201
250
183
172
124
187
123
234
112
208
237
171
150
173
171
121
128
244
150
219
181
124
199
121
159
147
167
203
171
171
176
187
228
150
150
299
240
208
112
192
179
128
178
167
136
217
181
121
176
167
234
201
194
172
231
232
121
123
193
165
305
175
121
150
233
147
170
112
249
150
150
112
139
121
121
121
208
184
236
181
243
225
193
230
128
170
176
170
150
121
171
150
227
150
186
150
112
240
189
150
167
230
121
112
112
192
131
195
200
121
115
260
194
220
150
186
112
170
207
150
206
160
181
194
137
121
193
210
228
167
237
172
123
135
150
165
213
136
112
167
177
150
160
208
112
130
141
150
121
150
201
208
217
150
159
181
167
225
115
150
153
193
112
121
172
208
112
193
170
121
136
218
205
174
167
177
194
167
150
165
112
181
209
135
121
170
228
150
208
112
263
177
201
192
137
210
160
208
165
233
186
208
228
208
203
187
165
172
167
150
208
210
207
250
194
172
205
255
181
220
208
130
152
208
250
115
171
233
212
170
135
150
150
112
208
123
121
174
163
150
150
170
170
225
210
112
189
185
172
124
150
173
172
232
172
208
217
235
181
172
121
228
177
156
219
258
150
167
190
150
167
208
160
121
208
184
201
194
143
228
178
220
215
264
164
123
179
208
241
176
302
135
137
230
172
208
203
212
167
194
181
192
194
121
144
150
195
208
210
167
150
121
219
186
172
121
171
150
150
192
170
181
245
172
121
176
121
205
158
193
174
150
171
121
247
121
112
176
112
124
158
167
165
143
137
217
150
150
171
189
150
239
121
123
150
150
150
218
172
171
121
184
208
208
128
181
171
179
150
112
176
144
213
112
187
243
237
160
194
236
150
150
157
165
171
195
254
121
150
112
171
242
272
208
123
172
121
150
208
203
172
195
176
112
150
211
208
186
210
207
202
150
150
147
135
168
150
160
208
158
150
150
112
147
150
172
177
150
212
167
112
121
218
197
192
171
176
220
171
212
112
192
137
232
112
121
135
121
208
150
158
208
208
123
170
112
203
210
150
147
121
187
112
202
164
194
135
150
112
207
165
159
194
168
136
121
150
172
165
187
208
189
194
186
241
187
136
171
150
210
150
194
157
249
202
239
171
115
201
150
232
208
186
193
121
150
194
167
160
121
181
167
228
195
232
193
172
130
115
137
123
112
112
112
208
176
147
176
112
112
159
187
246
208
124
147
250
226
192
189
187
171
130
112
121
150
170
194
232
121
212
112
123
171
203
143
172
112
112
186
178
194
263
156
165
194
130
220
150
160
158
208
201
225
152
281
121
124
172
174
167
150
121
123
121
121
123
150
228
170
171
239
112
195
250
171
158
144
208
135
112
159
150
172
121
158
121
121
195
150
181
121
209
121
115
157
208
208
208
172
121
171
112
234
156
147
234
160
201
228
208
150
171
236
137
212
115
150
225
233
208
121
121
150
172
212
208
112
150
229
150
187
123
170
136
171
174
168
147
228
135
176
150
150
123
210
208
152
158
208
218
228
190
172
217
112
193
172
203
158
165
232
187
150
115
147
121
112
276
150
193
136
112
167
181
208
165
165
112
218
254
121
218
112
112
153
112
232
193
206
192
208
255
195
203
208
172
170
208
150
164
194
172
150
150
121
136
121
121
121
152
251
147
258
112
121
240
167
208
121
115
150
215
175
201
194
208
121
135
150
278
160
232
176
177
194
123
171
164
207
232
123
220
187
250
170
194
158
208
130
196
186
121
147
147
220
160
150
193
194
150
112
150
240
156
171
167
150
150
121
174
194
158
233
121
201
186
192
172
250
150
167
194
193
177
181
204
171
271
121
150
170
177
194
112
135
167
210
172
121
172
123
112
115
181
202
212
121
156
160
187
186
172
297
227
112
208
121
150
219
172
167
150
170
201
172
130
174
144
164
219
212
193
181
121
168
170
165
229
250
217
194
193
250
150
162
210
135
210
239
112
174
171
150
195
228
112
181
193
192
194
121
128
121
226
167
193
112
121
193
218
241
167
150
170
187
181
263
214
162
121
112
150
260
186
121
276
150
112
159
179
157
175
197
135
152
198
236
193
167
208
174
237
203
193
160
167
233
184
210
187
181
175
187
112
155
123
167
168
172
194
187
207
184
170
172
171
172
154
164
228
181
187
121
123
250
171
208
167
159
239
172
193
150
195
187
210
123
112
229
121
230
115
112
112
226
202
112
216
150
150
177
255
170
170
135
150
208
179
208
167
213
115
130
121
168
176
187
141
228
130
193
121
112
121
167
112
112
112
237
170
212
121
159
210
112
201
145
150
201
112
158
158
159
164
243
171
253
145
208
150
170
187
195
150
121
187
250
112
218
121
181
150
136
181
240
237
203
171
170
253
228
165
231
121
130
123
228
194
112
194
302
194
147
229
175
164
112
185
250
260
157
205
112
137
160
297
135
112
208
218
201
165
255
167
167
131
152
150
137
167
192
123
171
156
150
172
240
150
187
112
158
238
137
115
144
233
181
127
193
160
228
228
121
212
121
243
176
150
202
217
112
121
135
150
172
186
233
137
181
229
165
167
123
187
162
144
150
123
115
220
150
208
159
158
150
150
162
158
201
150
177
112
174
219
130
212
150
228
164
212
171
172
228
152
210
163
112
165
250
214
167
229
150
186
220
181
233
259
186
244
112
167
194
123
150
237
112
203
121
150
177
146
208
112
276
186
187
227
205
170
135
150
190
150
128
216
115
164
167
165
186
194
150
165
167
172
243
186
121
152
232
281
112
130
112
121
137
170
205
170
165
208
227
256
238
136
231
159
112
150
112
112
236
132
147
216
165
208
153
121
210
176
170
171
194
235
208
112
164
179
257
170
192
192
194
202
112
172
115
200
236
156
112
150
167
193
150
231
231
208
165
112
137
156
164
150
226
150
276
208
167
241
276
150
187
136
276
135
150
150
208
123
215
201
172
150
165
150
208
170
214
121
176
199
160
135
208
121
181
112
121
179
174
239
168
167
172
264
208
112
112
212
208
158
150
194
167
209
192
123
224
192
208
203
170
170
186
143
159
175
194
150
150
123
279
115
150
208
167
228
112
121
112
150
176
172
171
150
179
112
223
172
220
150
150
167
150
228
172
181
132
196
150
150
112
136
150
174
172
194
150
164
172
112
186
170
112
164
212
165
175
208
197
203
164
193
170
160
167
170
112
225
167
112
121
228
170
150
193
217
187
115
170
247
167
176
220
177
112
112
168
176
158
123
172
115
171
150
167
150
159
150
208
212
186
194
165
201
121
201
184
165
150
150
170
226
177
237
112
136
123
208
186
170
167
245
150
115
192
159
112
112
291
112
150
150
167
171
226
208
167
181
259
172
172
192
152
165
150
210
150
143
170
121
191
112
207
250
212
135
160
187
172
170
240
121
112
121
150
112
112
177
212
172
237
215
238
243
176
181
112
231
160
186
170
172
150
208
179
112
112
172
171
115
162
208
203
156
240
174
121
150
184
172
112
112
175
171
112
150
174
136
123
189
136
240
207
112
193
121
150
170
123
194
123
219
208
193
207
121
186
121
175
208
158
172
147
172
208
202
147
147
150
121
115
121
112
143
219
165
177
181
193
150
172
186
202
220
170
160
135
193
167
112
231
130
174
239
150
238
202
135
112
150
195
112
241
196
172
171
167
144
164
150
217
172
135
165
229
150
152
150
261
172
207
193
179
192
150
165
112
233
174
172
164
112
159
121
176
121
150
194
167
121
255
194
193
112
176
121
208
208
136
123
208
135
150
135
182
170
208
123
240
134
150
165
123
177
195
181
161
186
186
150
223
112
208
150
190
164
230
172
208
150
137
112
160
112
150
143
121
112
181
208
176
208
170
194
174
229
124
121
182
130
186
121
123
167
226
172
160
208
112
237
203
172
150
177
121
171
210
172
204
208
112
175
202
121
112
176
112
150
121
150
209
150
150
265
208
112
152
167
208
272
177
150
208
201
130
150
150
216
121
194
124
233
208
112
177
176
160
123
229
231
121
232
172
231
124
208
167
123
181
208
208
124
150
202
194
192
150
218
186
167
177
150
171
172
167
176
150
121
188
164
228
167
171
208
210
112
121
150
164
230
167
193
186
112
115
170
186
181
253
203
190
208
123
210
152
147
210
123
167
159
205
128
218
206
147
220
220
172
247
162
192
210
172
177
167
176
194
165
112
167
150
172
150
246
234
231
181
136
194
208
218
150
170
172
194
150
208
181
112
203
136
147
176
176
167
208
181
228
172
112
231
172
112
150
172
191
145
189
158
241
208
210
195
201
205
217
215
112
147
187
150
228
112
147
167
195
265
112
209
156
176
176
112
150
176
167
215
150
208
176
147
194
171
172
159
172
186
112
228
147
168
195
159
167
214
170
150
137
167
259
150
121
146
201
193
172
121
171
195
186
171
112
167
156
172
220
181
150
150
176
208
150
167
167
231
201
187
112
112
112
159
171
181
172
112
236
201
203
150
150
112
171
171
147
170
201
112
121
208
123
172
220
187
302
143
302
186
208
164
263
150
170
170
193
208
167
192
171
112
123
200
237
112
112
150
176
218
187
219
121
121
135
112
215
170
208
121
121
209
223
187
171
206
121
181
112
167
202
171
167
112
176
193
206
112
240
171
161
147
112
167
170
165
181
181
150
144
112
112
210
240
130
150
112
201
156
215
209
150
192
201
176
167
208
176
158
231
192
202
194
213
172
194
150
112
194
161
186
115
208
198
112
186
112
150
205
150
237
121
176
121
184
170
195
150
167
186
255
182
220
150
160
150
112
156
234
123
205
255
237
144
159
210
181
112
208
150
136
123
115
121
137
202
187
112
218
177
150
150
208
123
208
112
167
121
228
159
168
171
209
182
160
208
239
147
186
112
172
158
167
136
171
112
167
215
121
178
112
195
150
135
216
112
203
181
150
157
176
150
150
201
218
150
112
203
112
123
215
167
297
170
202
112
240
156
112
205
150
167
115
176
172
184
123
150
171
150
208
112
185
124
253
168
208
112
150
171
115
264
243
123
276
121
176
165
150
159
159
130
164
130
123
137
208
150
150
247
207
115
167
282
176
190
228
170
164
167
176
164
150
205
232
136
170
213
150
165
171
162
194
208
144
121
208
136
192
150
245
123
150
177
231
226
170
212
167
150
167
121
171
217
172
121
121
192
237
216
150
150
167
121
171
130
193
156
152
190
193
202
179
112
112
115
150
124
150
202
203
193
194
167
167
130
187
121
112
147
194
262
172
121
219
121
112
164
121
231
176
124
198
136
228
115
139
253
135
170
170
208
192
237
135
189
150
112
195
193
123
226
167
128
130
201
186
156
172
121
231
228
194
172
136
121
168
176
195
217
199
121
226
194
171
207
123
112
135
226
112
210
158
135
150
258
174
171
236
208
189
209
143
170
121
172
175
258
275
121
171
112
224
121
135
208
276
197
225
135
124
112
218
164
172
135
121
179
187
167
121
195
150
171
239
172
135
187
195
172
208
121
112
237
194
208
181
175
298
165
208
263
150
172
178
121
164
150
121
312
112
208
121
112
121
212
203
247
150
231
172
167
179
135
136
121
256
167
219
194
178
121
121
168
170
177
220
184
172
176
143
112
182
147
147
181
172
128
176
219
276
210
131
167
172
124
178
220
150
192
123
152
268
167
168
171
150
124
231
239
167
207
150
121
212
217
212
112
174
121
208
207
121
135
237
150
156
112
193
179
167
187
172
227
160
130
172
150
239
172
170
159
172
134
112
219
176
201
245
112
168
171
229
112
121
164
170
121
158
158
115
144
112
150
130
167
171
165
164
231
226
112
171
121
157
143
147
231
232
137
235
128
195
256
186
203
156
121
150
112
194
164
121
172
177
150
123
121
208
167
112
171
178
165
231
121
202
135
112
193
159
228
167
250
197
170
212
181
112
205
172
177
193
147
239
179
172
175
123
112
170
160
217
135
167
164
181
172
192
164
121
186
121
194
137
171
121
165
171
165
121
193
123
219
112
150
210
150
172
239
228
167
121
112
185
194
121
172
150
189
175
192
172
164
208
215
150
172
150
186
167
208
112
180
121
194
171
160
112
168
278
291
121
121
232
212
179
202
250
194
194
170
195
208
131
171
121
208
193
184
194
168
175
171
212
205
112
171
208
150
150
256
167
259
150
195
181
226
112
220
167
182
186
115
112
247
121
121
121
254
150
150
201
156
219
112
208
165
147
220
181
210
228
150
187
208
137
121
228
150
150
167
167
168
236
243
231
135
228
181
188
172
271
137
230
150
220
159
165
184
167
170
121
208
170
192
123
137
150
239
143
233
147
121
259
150
172
172
232
150
135
150
187
167
115
177
208
170
195
229
112
170
150
236
215
112
233
172
150
112
170
186
121
171
250
186
177
144
223
194
208
217
168
172
229
112
202
171
121
112
147
172
205
164
167
218
191
193
150
172
112
174
206
183
112
128
193
136
228
181
170
201
150
136
208
179
219
172
112
253
172
150
228
150
207
194
172
121
208
171
115
146
205
226
181
186
208
112
230
176
176
112
250
147
150
185
179
211
115
171
170
150
112
121
208
210
135
150
112
239
176
208
210
181
121
150
121
172
193
239
112
237
208
121
208
112
156
193
112
172
215
208
172
172
150
228
208
187
195
150
187
167
190
121
181
208
211
170
170
167
156
112
136
121
150
186
199
201
150
123
121
121
187
112
190
208
219
150
128
237
211
121
150
181
150
167
204
150
152
214
257
194
172
146
171
204
147
121
112
171
185
208
150
170
170
226
177
203
112
240
172
147
135
171
172
202
216
201
194
210
115
220
171
150
164
233
176
229
167
112
147
217
197
208
195
162
243
164
167
170
121
164
213
167
217
112
165
115
194
121
181
144
167
215
194
137
164
215
112
205
165
276
203
193
208
181
175
177
208
186
147
210
112
170
112
235
167
135
220
144
150
150
195
160
123
172
136
150
163
208
208
172
150
187
207
172
153
218
167
213
121
112
210
170
121
121
229
147
178
150
208
226
150
150
230
158
150
220
171
181
167
208
170
242
159
112
202
270
112
112
130
171
150
150
240
208
163
205
121
112
245
150
177
220
165
112
124
168
223
121
160
172
170
193
112
167
219
150
237
195
195
177
121
189
171
234
121
197
150
156
171
208
219
112
121
150
250
201
112
150
130
121
160
231
115
201
186
112
165
112
168
263
166
150
121
121
208
158
172
112
152
177
123
208
228
230
210
218
229
201
112
167
218
243
123
135
174
208
137
196
112
201
135
171
124
205
239
219
181
112
170
228
112
194
167
250
160
150
150
152
112
150
228
165
150
150
112
233
171
150
158
171
141
112
194
192
159
147
168
181
181
165
150
207
150
136
212
144
112
187
156
115
150
115
236
167
174
172
181
158
194
167
150
172
172
207
112
170
161
172
143
171
115
263
136
160
167
128
112
195
349
181
231
172
124
175
187
171
194
208
164
172
164
233
124
182
150
112
226
112
136
177
112
115
245
121
226
168
112
173
203
193
172
168
173
172
201
159
121
168
121
137
115
165
112
203
137
208
186
150
212
150
208
167
167
121
123
195
228
172
170
226
186
167
164
228
184
150
229
121
170
112
185
139
170
208
112
112
194
208
185
172
171
243
124
145
121
112
226
165
171
170
205
121
156
121
201
158
112
172
150
172
150
121
236
170
255
258
150
217
171
152
172
124
181
210
150
112
112
150
241
177
181
200
150
212
121
208
226
291
195
150
203
150
231
194
159
124
210
150
121
112
208
112
170
181
156
150
121
112
249
159
136
196
157
150
164
229
187
170
121
150
172
159
172
265
194
216
220
208
172
172
207
302
205
150
208
124
167
174
194
121
159
254
150
171
159
194
152
199
149
181
194
302
203
208
217
170
208
150
175
225
159
115
182
150
135
210
112
208
165
189
150
208
194
207
171
156
150
170
172
219
239
150
124
167
181
181
150
112
150
158
123
212
167
150
208
174
121
150
176
167
121
164
112
150
150
227
172
194
208
212
208
208
150
154
175
243
112
150
250
182
167
112
193
152
135
167
179
135
121
121
181
189
195
147
150
112
121
112
150
233
121
150
208
193
115
167
226
172
276
150
181
202
150
150
144
198
195
150
172
172
250
201
147
143
121
175
172
172
228
205
174
239
276
160
130
147
150
150
190
265
187
112
121
228
150
169
172
112
172
239
150
150
171
150
187
233
177
150
177
158
131
158
147
112
194
236
170
150
216
193
201
237
112
112
178
135
187
167
189
212
112
186
272
211
150
252
210
187
112
150
150
193
121
160
195
257
250
150
174
164
206
171
156
112
112
228
208
121
115
208
121
229
181
135
203
225
121
150
242
165
121
112
225
181
194
181
197
150
208
137
170
150
171
210
150
233
167
205
171
123
172
147
218
165
136
218
128
130
171
208
208
165
112
176
193
170
165
112
172
181
182
177
158
225
135
159
243
121
228
150
164
181
171
112
193
136
150
115
150
204
159
172
229
228
208
112
150
112
263
172
152
170
229
165
169
219
219
174
189
168
112
256
167
150
112
137
208
205
208
158
121
121
112
239
150
193
112
121
165
181
181
121
165
208
165
150
179
176
172
112
112
152
150
187
150
135
212
160
150
237
206
167
157
225
150
130
167
207
112
115
165
121
176
165
228
121
164
150
192
147
168
187
112
124
192
147
112
176
167
178
150
226
143
150
121
112
172
150
171
115
150
150
237
123
150
121
150
172
112
231
168
210
201
172
203
159
212
168
136
150
194
208
112
223
189
208
112
121
165
208
172
250
165
193
205
195
150
175
171
121
237
112
167
112
194
171
203
192
167
150
170
239
112
121
176
186
250
208
186
158
157
150
121
176
186
203
231
164
186
177
150
236
158
130
172
123
172
170
112
112
186
193
245
177
171
167
112
208
112
187
172
250
150
136
136
150
220
158
202
168
121
208
171
121
136
150
150
226
112
182
193
165
112
176
112
115
112
121
177
171
115
112
208
181
302
167
195
172
202
208
172
208
202
135
165
208
112
170
179
160
176
135
162
121
240
137
203
201
205
181
194
207
170
181
135
164
150
223
150
150
172
208
208
172
137
170
201
203
112
270
152
150
171
174
170
207
150
112
112
152
147
212
150
162
121
233
203
201
150
136
170
219
112
208
159
208
245
250
170
115
190
188
150
186
172
121
194
195
208
239
150
150
150
239
150
123
147
172
194
150
170
176
156
147
171
112
170
150
150
181
150
135
168
112
112
186
239
172
121
228
202
172
172
187
188
176
200
240
168
170
112
115
121
172
123
208
171
150
167
112
174
137
171
204
181
196
150
208
189
210
171
150
167
112
193
121
112
184
175
172
171
115
112
175
150
112
208
112
167
251
181
275
112
156
170
178
150
197
115
192
150
170
137
112
181
150
239
150
167
167
150
123
112
139
150
177
195
236
143
202
202
171
208
112
219
121
228
112
177
230
168
137
150
167
176
172
194
115
194
150
189
112
150
181
150
172
128
168
112
181
150
121
112
176
252
211
135
176
112
172
167
194
150
135
123
150
112
174
194
208
167
194
124
165
174
214
231
112
159
150
181
197
202
164
170
150
170
172
170
176
174
150
208
210
170
112
123
150
223
121
128
176
121
135
150
112
207
121
165
150
170
123
159
121
123
147
121
208
165
150
237
240
112
231
171
248
172
176
193
218
115
175
112
150
121
153
225
167
208
194
262
193
112
171
170
176
160
112
170
184
121
121
167
164
235
237
112
194
250
136
150
225
165
167
210
210
150
186
172
173
150
172
238
194
158
201
250
208
167
237
136
210
175
208
208
121
195
172
150
210
237
150
124
208
160
212
244
172
170
226
176
172
121
181
165
170
150
167
250
225
193
150
170
192
112
177
170
181
150
170
210
205
192
227
159
124
216
112
208
194
112
187
121
170
184
121
195
297
193
208
242
209
194
176
165
187
121
244
172
171
208
208
112
194
147
121
195
271
176
311
172
150
212
172
176
186
150
121
226
136
201
194
199
112
137
177
167
150
150
220
150
172
150
186
186
174
219
112
217
172
167
224
150
194
121
208
208
167
165
130
210
168
196
161
194
195
150
150
123
210
121
150
208
167
150
238
150
208
121
112
159
208
168
112
112
121
208
172
150
172
167
152
176
112
170
164
170
244
171
172
195
150
172
167
176
112
170
121
150
172
267
112
193
178
208
135
219
146
170
124
208
212
112
208
231
172
172
208
112
171
221
177
147
162
218
194
192
227
174
147
181
276
121
176
167
186
112
228
208
112
168
158
195
187
143
123
128
150
150
215
121
175
135
229
121
253
150
150
112
176
175
201
150
202
176
170
112
243
156
217
121
202
167
255
208
305
124
172
219
213
197
150
263
150
228
130
112
262
208
121
204
176
171
214
112
121
203
150
170
112
121
171
112
167
240
171
115
201
210
220
176
150
112
170
172
195
130
202
172
208
181
219
205
150
185
216
267
181
150
121
193
171
150
214
135
210
213
158
135
147
228
112
203
231
240
167
124
186
124
121
130
150
226
170
123
170
168
226
112
228
172
232
164
128
195
194
232
168
195
234
231
112
130
115
112
112
189
195
194
112
184
112
237
193
194
194
208
187
203
243
239
194
220
156
121
208
156
159
121
192
237
181
181
150
257
156
157
216
232
263
121
150
255
150
263
170
121
279
150
233
136
156
174
208
167
167
198
170
135
228
121
167
159
213
121
136
202
121
216
196
179
195
239
115
158
230
194
196
167
121
112
150
170
121
236
112
124
112
152
202
349
172
208
189
147
170
123
173
112
194
274
162
112
172
167
150
207
150
172
231
231
170
225
121
112
239
165
204
112
150
227
210
121
150
137
121
181
264
231
177
167
278
158
171
121
150
203
181
147
208
193
121
177
177
208
203
171
150
156
121
150
121
189
112
150
239
115
150
150
192
150
121
121
121
177
302
181
203
172
150
150
186
176
187
121
206
167
130
164
195
240
208
121
207
207
208
177
194
150
210
150
184
208
137
177
171
217
187
165
112
228
181
121
150
240
152
150
170
121
250
181
137
128
150
229
223
210
176
150
220
192
176
174
170
112
207
208
203
186
121
121
172
174
176
240
112
121
192
174
115
167
150
208
168
150
263
124
121
238
168
237
175
165
112
168
172
150
150
244
228
150
208
112
255
150
194
172
136
228
172
123
204
172
170
121
172
170
136
208
150
150
123
121
219
232
217
202
112
150
232
152
112
144
112
171
226
115
174
228
121
150
172
193
172
170
121
176
164
172
112
150
194
112
121
150
176
124
121
135
208
152
239
208
202
237
135
305
147
194
301
123
216
123
193
172
228
193
181
208
123
221
167
121
194
136
215
168
115
202
167
176
231
176
144
167
150
173
181
112
195
147
178
112
171
195
181
112
150
172
237
207
158
121
239
150
233
184
147
121
150
150
147
194
239
208
112
150
167
193
137
112
184
226
167
256
130
219
243
201
121
186
192
136
243
172
167
150
123
112
165
150
176
342
167
172
150
174
196
160
130
217
112
150
168
150
121
172
159
250
156
202
231
210
219
237
112
243
302
242
186
195
112
192
187
167
220
177
175
150
121
164
112
186
194
112
144
112
150
146
150
150
124
112
170
174
121
193
228
211
123
176
150
115
112
228
194
112
150
202
221
160
112
231
159
208
237
121
172
123
237
150
177
189
203
150
121
164
179
170
234
150
177
193
167
121
121
193
123
160
208
243
208
121
112
176
165
168
193
176
302
208
160
193
243
161
192
112
167
189
212
112
150
158
112
208
210
177
159
177
115
157
181
144
121
115
181
208
150
159
165
209
208
145
217
187
237
235
147
171
150
150
189
172
112
123
121
208
234
258
231
164
128
192
208
208
210
299
177
177
272
176
112
186
255
121
263
265
121
112
201
172
239
207
167
143
181
130
172
228
121
121
255
208
172
170
195
226
170
170
194
205
212
194
167
195
167
171
202
165
171
207
202
168
172
208
195
112
212
112
172
219
150
137
135
150
177
158
168
167
220
192
123
246
172
201
112
225
167
170
219
215
165
210
168
172
146
212
237
190
170
112
174
177
193
121
208
150
112
208
176
195
208
239
163
156
177
208
150
243
136
170
135
170
203
230
220
150
186
176
135
150
224
200
302
121
121
165
150
165
217
123
176
121
159
150
160
164
112
212
203
112
171
172
137
203
176
172
150
150
177
135
152
279
243
165
208
255
210
172
229
152
177
150
204
229
226
150
112
150
220
165
150
158
174
250
220
208
208
150
123
123
186
167
121
112
136
112
249
152
121
194
187
208
246
121
121
124
177
160
276
194
208
202
172
173
192
177
136
123
112
170
165
112
259
112
207
176
208
130
164
264
211
150
121
130
167
150
178
213
214
171
187
228
112
121
237
171
167
121
121
202
170
112
158
150
158
187
230
193
121
186
169
121
181
226
212
167
150
187
167
203
231
222
208
219
228
228
177
201
194
112
112
136
121
233
121
192
193
194
136
210
167
147
112
150
186
150
123
259
112
172
240
171
174
208
232
141
170
112
172
273
130
121
112
208
150
186
124
167
187
137
208
135
112
144
150
112
150
208
112
168
207
196
223
182
167
193
112
164
172
226
157
112
112
132
208
225
228
150
181
150
167
188
208
180
121
123
137
137
121
186
228
112
174
121
170
160
150
220
172
195
167
150
231
150
112
216
172
225
167
197
121
121
207
173
237
160
208
177
214
170
237
150
215
165
170
205
150
204
208
112
121
158
217
112
203
170
175
186
150
121
121
170
193
171
112
136
112
156
121
229
165
212
121
194
187
150
150
163
150
176
171
208
150
278
176
150
123
150
208
229
121
150
240
195
186
186
220
112
195
208
160
302
203
167
167
150
233
172
172
196
210
121
156
121
167
121
150
238
208
208
150
203
259
193
121
208
186
150
124
123
150
187
208
150
208
150
225
253
212
208
187
121
203
164
150
234
121
112
121
170
150
112
167
201
208
203
112
121
168
208
181
112
112
186
164
150
137
121
150
112
206
123
112
219
194
167
167
206
121
172
130
121
181
150
112
150
121
184
165
136
203
112
212
176
208
237
137
210
172
121
205
208
167
171
176
158
201
208
210
150
135
170
147
199
165
112
170
205
220
150
174
115
150
237
112
193
150
143
193
112
150
123
121
194
121
170
212
240
115
172
226
123
150
202
158
150
127
195
121
212
112
222
167
228
135
150
197
270
121
150
112
217
121
123
112
150
160
136
216
228
112
165
130
172
182
181
186
147
230
231
112
176
181
245
187
208
172
193
171
136
208
136
150
150
288
150
212
150
250
239
230
215
146
171
135
150
146
215
207
177
115
226
123
166
208
121
123
137
193
228
171
150
208
112
112
181
177
171
205
167
112
201
250
172
209
112
112
165
150
171
143
227
247
171
121
150
121
179
194
121
193
170
195
135
193
143
174
212
208
167
172
243
232
150
244
112
187
172
121
150
147
194
167
260
181
171
228
121
250
270
172
112
124
181
172
270
194
165
217
207
115
165
150
208
121
193
150
112
136
136
202
208
150
179
163
150
112
121
217
150
202
171
171
194
121
115
233
240
201
121
210
175
112
181
171
225
205
112
150
112
174
275
121
171
170
237
219
112
167
275
225
115
172
226
137
207
178
150
237
112
190
209
225
150
150
150
150
150
150
208
195
177
150
192
177
172
167
172
233
147
150
187
150
210
159
136
228
226
152
112
121
232
228
239
158
167
240
226
112
208
219
170
121
158
171
112
171
208
150
121
147
137
112
112
121
220
212
189
150
150
158
144
136
208
181
165
216
174
112
150
172
172
201
121
160
195
234
192
171
165
112
208
150
162
194
121
121
209
170
170
175
208
177
137
150
284
218
281
136
170
150
147
121
128
112
136
177
186
150
167
123
236
121
150
167
186
136
176
115
231
297
205
156
172
230
167
112
112
181
171
137
112
150
229
203
172
130
150
172
233
181
164
167
225
152
243
207
250
207
171
150
195
249
175
172
170
150
158
186
156
160
187
205
219
219
146
121
130
144
130
172
167
172
194
171
124
213
187
248
167
150
112
213
112
136
233
193
167
203
147
196
150
193
186
123
150
197
112
136
190
147
208
136
167
230
208
121
194
123
112
160
195
212
167
243
184
150
130
121
150
165
150
174
121
121
112
228
187
128
184
278
170
121
150
181
194
203
224
195
172
170
265
150
238
121
302
186
181
136
147
112
208
137
226
150
196
217
233
150
167
150
223
226
179
112
217
160
150
232
112
164
150
167
320
150
240
164
150
229
112
250
135
147
112
208
172
153
152
128
228
112
135
208
176
186
112
302
123
202
150
167
194
150
121
121
121
208
112
187
150
201
172
172
203
195
227
176
112
130
170
164
181
121
208
112
160
112
159
159
239
220
167
176
189
181
112
237
121
170
123
159
187
150
167
195
150
202
172
174
137
236
231
123
112
223
213
150
201
172
208
225
121
136
112
210
171
149
150
175
112
172
112
165
171
302
123
112
260
167
121
212
137
165
121
228
123
165
121
186
231
208
150
156
225
147
186
187
128
121
239
150
171
164
167
158
228
135
172
150
124
212
201
167
147
121
121
203
121
150
184
121
165
121
136
195
112
112
208
136
112
147
195
233
201
150
194
112
250
208
219
161
174
130
217
115
171
195
172
156
225
150
232
187
121
135
196
172
194
112
170
121
150
203
220
194
121
237
121
167
135
200
150
128
167
242
194
150
196
215
123
165
217
214
239
174
264
205
208
225
158
194
186
212
189
121
181
195
123
176
208
144
206
174
187
194
172
164
250
201
235
136
123
150
215
165
170
123
168
175
167
150
203
112
181
209
181
208
170
121
147
193
181
159
167
123
112
150
150
165
136
199
112
112
128
121
215
172
112
170
229
170
189
194
208
121
150
121
167
112
208
215
141
231
171
136
121
193
171
243
112
177
137
255
161
158
121
150
225
229
167
130
172
193
272
229
150
121
121
263
194
176
150
211
137
170
158
112
112
195
238
170
209
158
192
132
181
178
136
121
112
170
115
167
203
121
158
177
207
183
112
170
150
174
235
124
181
135
174
121
121
208
165
160
193
276
112
150
177
172
164
208
210
165
150
209
124
194
232
202
171
150
150
208
197
167
194
172
208
192
112
172
170
170
152
302
181
174
228
150
215
212
195
150
205
171
165
171
210
192
143
167
150
112
112
150
150
150
150
234
165
150
136
202
123
167
194
112
121
197
185
175
222
121
167
202
167
219
263
175
168
223
167
232
167
146
195
195
158
150
150
121
170
168
255
172
255
167
121
193
150
112
121
115
167
135
172
217
170
150
135
197
170
302
229
171
208
121
237
328
194
124
150
136
208
181
175
208
112
135
230
167
112
258
195
187
263
121
170
174
231
150
150
135
189
172
186
208
150
136
230
158
150
219
123
194
239
208
168
231
172
181
213
123
112
131
121
150
196
121
121
150
218
250
196
123
236
177
240
112
195
207
150
150
195
181
112
193
194
202
236
175
187
121
208
156
121
150
150
150
208
193
136
135
150
164
225
212
176
170
121
174
203
195
150
172
194
220
176
217
193
222
121
210
210
115
147
165
150
150
170
209
121
128
167
172
194
150
186
207
168
150
212
112
172
171
150
194
185
195
187
195
112
207
137
187
186
123
150
147
297
172
112
150
121
228
278
239
137
150
112
115
121
128
112
115
208
112
219
150
181
158
194
192
112
181
112
186
172
170
181
208
181
121
203
171
150
121
208
228
150
212
144
202
137
214
257
156
150
128
167
143
167
186
187
232
270
150
195
136
227
181
147
167
130
176
167
231
181
174
220
202
229
121
165
167
150
208
249
135
244
150
196
170
193
172
228
187
228
175
208
208
135
147
204
112
226
193
172
152
181
177
214
130
143
189
195
165
128
112
178
170
220
112
112
172
189
223
208
165
112
167
208
121
210
237
167
172
168
172
208
112
265
172
112
124
172
171
172
165
201
147
123
115
112
165
121
152
192
112
221
112
246
218
175
121
205
172
172
208
192
137
207
189
167
167
135
121
202
121
183
219
172
150
150
156
205
208
232
172
112
165
195
112
121
229
187
159
214
187
250
143
172
193
218
165
209
203
165
214
150
150
171
165
112
136
165
256
146
150
121
156
276
121
123
112
177
150
170
123
208
194
112
112
264
179
259
210
123
208
193
112
136
170
150
160
112
165
167
235
202
192
171
172
123
158
147
171
184
204
228
220
208
240
150
239
150
167
193
176
214
194
170
208
159
211
170
208
181
152
112
259
130
170
176
228
196
112
167
115
186
164
156
208
205
112
172
112
112
150
170
112
171
150
172
121
181
143
195
112
219
121
115
181
121
195
157
112
170
214
121
263
211
112
121
135
202
220
112
187
147
150
123
209
112
208
185
171
112
172
167
228
175
302
204
242
112
226
150
156
240
123
112
150
167
205
228
150
181
167
167
171
121
139
218
218
170
150
112
112
112
112
208
186
158
112
187
175
150
112
150
115
172
170
162
175
168
193
112
150
171
156
208
123
150
265
225
208
112
202
243
176
150
177
150
223
150
167
150
168
121
121
164
260
243
159
226
150
210
150
220
168
181
167
174
255
150
202
172
195
176
150
150
167
123
187
150
219
239
112
198
176
150
112
150
196
208
167
150
208
194
121
121
112
174
135
112
172
187
208
167
248
189
201
172
121
241
172
177
225
115
112
121
212
135
194
171
218
123
121
201
121
237
170
170
208
181
170
186
194
165
171
217
144
167
193
150
172
197
147
150
172
128
208
149
112
121
167
172
112
112
112
150
150
196
172
205
172
202
150
112
112
172
214
176
204
121
208
150
190
192
112
150
208
187
231
170
121
219
237
220
121
220
112
115
263
172
291
150
177
250
124
165
147
112
121
164
112
220
251
205
171
167
165
258
186
210
172
164
150
175
150
165
165
198
171
266
130
112
228
112
263
172
202
172
174
212
223
150
181
202
173
112
229
228
150
124
136
150
159
115
192
208
123
121
187
231
181
186
218
170
152
172
215
224
150
121
207
112
167
170
150
143
115
192
208
128
112
294
135
215
177
149
278
136
167
220
159
112
208
164
255
170
184
208
187
121
150
124
150
212
150
170
112
204
302
121
168
112
150
234
165
156
172
112
194
150
210
186
194
210
135
150
203
121
157
112
220
150
135
189
112
231
112
203
195
218
150
186
170
201
175
172
229
215
174
112
205
172
121
176
176
186
112
218
150
147
165
226
115
152
150
211
194
165
121
181
112
171
201
208
130
150
219
123
181
210
255
121
159
171
218
171
136
112
172
147
150
244
152
168
167
130
207
150
229
187
208
135
208
172
212
186
212
156
160
207
143
124
244
174
150
121
186
177
231
175
191
176
170
208
165
171
157
135
224
144
219
177
115
172
112
208
137
208
150
130
150
170
150
193
159
124
112
112
212
177
112
201
150
136
172
194
123
150
167
194
181
158
210
170
112
112
150
212
244
231
193
157
164
195
172
121
194
121
158
172
176
170
171
228
137
202
207
172
158
159
161
112
192
162
112
215
189
121
143
212
186
164
123
280
160
179
234
184
215
112
112
172
150
150
112
132
232
210
121
281
150
150
194
157
112
167
208
150
143
128
121
150
165
121
135
176
208
192
239
171
172
152
202
121
112
168
181
150
112
150
226
229
165
112
121
112
210
174
144
177
208
205
252
242
255
214
207
178
242
121
204
205
167
163
112
167
136
255
181
135
112
171
219
255
226
150
150
208
170
167
123
261
228
112
150
208
210
121
150
131
150
186
170
172
186
240
208
217
237
171
255
123
124
121
112
208
205
123
208
242
112
233
150
121
263
137
115
150
175
121
150
112
235
167
150
172
156
139
121
267
150
212
208
137
150
159
165
194
112
214
121
123
167
112
170
112
170
172
239
115
150
112
150
228
170
302
130
124
121
212
164
112
250
210
164
128
208
150
165
150
171
237
112
212
147
176
170
172
121
150
135
112
165
115
168
241
208
181
250
174
112
121
207
158
150
112
143
150
165
174
165
115
167
176
165
208
210
237
167
208
147
153
208
223
167
226
172
150
112
261
177
171
130
194
177
112
208
211
121
225
121
176
257
165
150
115
283
208
121
112
255
193
121
171
263
165
150
157
187
172
112
219
196
233
112
112
174
195
121
112
212
161
227
192
194
208
186
136
121
212
181
172
302
112
143
158
181
231
172
235
193
165
121
150
172
112
186
150
123
270
121
237
150
168
170
167
121
123
215
203
121
219
247
175
263
208
150
237
208
124
302
187
112
208
165
210
278
121
181
150
220
150
196
203
208
189
115
237
150
121
186
255
208
228
176
171
259
186
123
137
135
194
211
136
208
121
135
112
170
123
135
167
156
121
171
172
195
150
150
186
189
172
219
254
130
150
208
172
208
165
167
263
218
165
170
121
208
237
162
207
147
193
121
130
214
121
208
123
123
208
164
150
229
237
201
212
208
193
112
206
159
121
228
152
203
193
195
172
231
150
237
181
234
222
203
212
112
112
115
194
165
152
177
121
197
171
208
150
194
121
217
150
257
112
194
135
165
176
123
174
170
256
172
150
208
121
112
213
123
150
211
167
150
176
172
208
195
167
208
228
123
150
239
172
150
112
220
176
236
227
150
259
112
112
121
112
121
137
193
170
167
171
121
263
150
176
241
201
136
135
150
121
178
237
172
167
121
228
112
208
175
147
150
181
175
112
215
208
231
231
177
150
233
150
171
112
250
150
115
193
121
220
167
255
204
170
172
121
217
216
147
150
167
167
136
112
230
176
208
250
168
127
172
175
137
152
234
208
164
208
168
203
208
208
170
150
159
161
112
187
302
203
219
195
158
124
208
194
112
237
208
166
194
172
123
130
176
194
150
202
112
208
174
150
170
213
226
121
163
156
171
167
172
167
184
171
176
186
255
253
150
194
204
121
135
208
150
192
239
168
208
194
208
242
203
231
208
121
163
170
121
161
212
179
121
236
170
112
167
172
147
172
193
112
218
208
258
167
171
232
170
167
136
203
158
189
200
112
233
131
137
112
239
201
221
227
242
215
121
157
168
272
124
136
112
201
242
150
176
194
275
150
165
172
112
187
205
112
112
165
143
159
170
175
112
172
193
112
232
208
121
229
115
193
137
124
223
121
112
167
150
121
212
177
121
159
112
170
156
112
172
121
112
176
112
158
158
112
162
121
167
135
181
137
195
144
150
239
228
170
167
209
195
124
121
112
167
202
150
170
150
152
176
208
147
208
175
121
196
124
240
121
268
174
202
212
150
187
219
211
112
177
145
237
208
208
213
156
172
167
233
165
208
225
150
232
279
112
187
212
212
112
165
150
164
209
167
213
231
121
257
214
123
162
137
167
150
123
215
209
235
123
212
172
150
225
112
232
159
170
172
159
112
159
136
121
112
150
192
147
124
255
112
224
204
150
165
143
150
172
225
186
181
147
167
167
172
121
218
172
194
112
112
121
147
187
202
181
189
194
194
164
135
143
164
121
144
172
150
167
147
208
112
184
266
167
150
212
187
150
164
112
208
210
158
159
205
124
257
150
161
207
208
208
172
194
112
171
160
228
112
192
171
150
186
288
165
187
176
150
240
171
132
220
176
181
121
202
112
121
150
112
130
150
121
210
124
212
112
112
208
112
236
220
176
172
172
168
121
176
112
112
165
208
225
186
112
115
174
202
112
194
208
121
239
150
137
199
170
208
170
115
160
112
121
145
178
121
216
150
175
172
181
194
121
208
181
112
190
167
230
170
190
202
215
121
173
158
123
112
150
187
121
112
150
181
194
172
174
121
167
202
136
158
194
136
214
150
184
160
176
150
202
212
150
203
272
186
228
192
160
243
164
174
261
134
143
187
192
165
170
156
135
205
112
137
176
302
209
156
167
167
208
194
121
167
137
204
233
233
203
184
207
150
229
121
186
150
115
208
159
208
150
121
112
226
150
150
172
218
146
170
124
171
186
281
167
167
112
121
210
123
302
150
228
136
174
215
150
194
181
164
184
164
121
229
112
208
226
279
302
123
160
121
147
181
150
176
198
165
150
112
150
179
150
147
175
122
150
187
194
167
263
124
160
208
112
202
193
112
194
135
172
121
172
159
158
135
194
203
243
187
112
229
170
144
123
181
167
123
112
278
150
203
172
112
195
209
123
195
203
130
112
112
201
150
189
171
112
168
232
121
172
174
194
167
112
176
183
150
192
177
150
172
207
220
176
112
159
234
171
112
112
150
172
222
260
164
165
186
186
167
176
121
172
228
144
136
123
281
112
164
121
190
174
170
255
121
168
206
217
189
170
208
236
150
121
115
112
262
121
150
237
158
112
170
137
202
167
167
158
253
174
150
170
220
201
150
203
167
150
208
150
225
123
193
150
205
165
182
123
121
202
208
150
225
172
150
177
121
112
177
112
135
202
128
196
112
226
150
229
208
150
158
237
165
112
171
187
177
181
112
256
112
171
170
150
150
124
121
208
255
150
177
239
121
181
194
112
150
172
186
136
171
175
229
112
179
123
193
201
136
112
172
215
228
121
181
237
219
150
239
193
167
184
171
123
121
137
170
185
150
156
242
112
172
231
150
147
193
112
223
181
243
123
219
121
181
186
121
112
228
112
121
278
123
112
172
210
172
182
164
170
208
137
195
112
150
208
150
189
212
121
112
121
181
276
228
165
202
181
130
186
171
194
184
210
123
147
220
121
172
112
192
177
186
208
112
171
112
184
209
178
226
137
130
233
177
219
150
172
187
170
172
112
250
128
150
182
121
171
172
233
208
158
112
172
172
202
150
121
164
172
189
137
181
198
159
130
172
201
150
250
168
170
234
177
165
228
193
121
124
150
186
164
112
179
167
187
171
219
182
152
276
150
208
150
234
227
175
112
135
112
112
150
162
152
157
208
121
209
112
124
115
227
210
212
112
165
167
112
202
150
150
215
150
196
192
208
112
167
167
150
282
112
150
192
158
112
182
187
150
123
170
160
255
243
137
178
170
137
193
209
233
167
172
219
167
193
112
150
147
178
209
121
168
135
208
172
177
168
170
112
172
170
137
170
137
212
229
150
143
260
229
208
147
208
115
216
150
208
225
150
150
217
123
121
170
123
165
233
230
121
210
165
150
112
170
238
164
152
167
297
302
177
176
121
171
112
123
187
219
150
213
197
170
210
177
215
121
194
112
208
215
208
208
219
112
210
150
121
150
143
150
123
167
121
121
199
137
221
171
266
150
193
135
150
228
167
168
150
228
170
157
112
150
186
112
170
177
170
236
172
181
167
173
112
239
201
135
123
150
158
170
184
224
150
186
167
168
115
208
150
170
205
123
121
170
112
150
121
203
112
163
208
258
208
147
206
112
210
135
238
172
135
112
171
208
194
201
150
170
204
226
123
167
165
135
150
201
172
226
135
112
193
112
199
157
208
208
150
112
195
112
205
232
208
165
167
170
167
112
150
215
187
215
277
193
150
124
240
237
150
258
121
112
203
112
181
139
112
136
121
181
177
208
206
121
121
112
150
150
157
112
203
230
167
237
123
219
208
121
164
186
112
208
215
173
121
205
112
150
147
186
112
136
243
165
210
150
150
171
186
208
112
231
250
112
195
194
150
121
145
186
243
201
170
208
150
121
175
121
137
195
112
203
150
164
210
159
168
255
150
181
112
195
159
190
112
112
135
135
234
112
147
227
167
159
164
167
172
150
150
183
165
152
150
112
172
208
160
231
208
150
112
121
231
112
150
171
203
238
176
171
176
112
231
171
195
128
187
137
150
257
201
170
121
112
121
135
212
150
136
208
121
170
195
195
254
172
201
172
124
150
179
170
171
174
184
186
150
201
112
219
121
170
246
115
201
186
194
150
213
150
124
121
239
121
172
112
208
150
172
121
135
159
175
171
167
150
176
170
167
150
235
168
170
218
173
222
150
150
228
176
208
150
231
171
112
208
237
170
187
170
168
228
112
233
208
123
168
124
208
135
174
136
177
164
176
208
144
239
150
210
242
121
195
197
167
203
223
167
255
170
192
150
143
194
207
229
263
115
202
112
179
121
121
123
250
172
170
208
170
240
208
167
158
137
150
112
263
159
179
150
112
194
214
172
186
112
212
172
171
212
112
189
157
208
208
178
150
187
121
205
115
212
216
171
173
147
121
150
150
152
208
257
208
187
219
112
112
167
228
208
121
112
172
237
211
171
123
172
219
121
193
150
224
193
137
167
121
211
265
121
128
150
171
237
208
181
136
172
186
226
182
208
123
121
171
121
207
123
219
112
144
150
220
121
150
181
219
150
240
121
170
220
271
202
121
195
214
121
172
147
171
158
170
263
219
115
121
170
175
203
237
121
168
150
158
112
150
112
167
168
250
121
199
144
112
171
150
112
205
203
135
112
172
232
167
164
212
158
181
233
208
220
150
228
193
256
150
179
215
173
179
181
167
203
186
246
217
237
219
147
250
112
228
147
121
150
150
203
177
225
171
170
192
172
226
194
227
150
123
136
172
150
264
172
143
208
147
167
193
112
202
150
136
235
121
194
187
121
121
193
115
172
150
239
284
170
201
208
158
208
152
157
238
181
176
121
146
135
210
112
229
123
115
172
172
215
172
201
121
174
170
170
187
112
137
167
176
181
239
208
164
184
181
112
150
136
194
192
112
150
219
171
236
130
150
121
208
137
196
150
233
172
171
121
176
194
121
217
181
112
115
165
243
147
217
193
167
193
112
121
172
203
172
150
208
209
135
132
130
167
176
174
167
203
112
135
184
150
255
254
173
135
208
130
124
193
112
204
233
181
209
208
186
177
150
170
173
130
201
123
167
167
156
150
172
112
176
150
208
115
208
270
172
236
121
209
208
152
181
192
239
170
212
170
150
208
208
176
208
235
171
181
208
112
150
231
112
195
237
112
170
121
135
193
171
178
208
121
172
208
177
170
136
121
194
220
183
172
231
121
170
244
184
167
181
240
150
212
137
147
188
170
196
199
184
186
112
210
218
112
137
130
176
112
177
203
228
247
197
137
159
150
164
137
244
150
112
161
208
167
203
186
208
115
135
203
226
193
150
223
150
208
228
187
210
195
207
216
167
179
263
179
121
202
206
167
165
170
112
112
150
150
121
112
193
171
193
123
226
112
231
158
135
172
220
200
123
208
137
147
165
208
130
124
150
150
150
212
239
176
186
210
150
112
164
137
205
229
208
170
137
165
237
128
121
225
135
245
150
135
175
193
195
172
121
167
195
202
121
136
250
170
167
226
167
144
112
150
170
203
150
255
228
177
112
150
150
231
121
171
136
208
123
170
170
159
225
121
112
194
212
234
112
194
136
172
209
203
208
175
240
147
176
178
220
150
192
229
170
167
112
236
112
203
121
218
219
181
153
150
147
171
115
167
123
187
143
265
187
171
147
177
203
137
115
150
150
233
135
150
128
115
158
128
150
150
172
121
184
170
176
195
214
186
112
210
210
172
184
112
225
212
147
172
150
176
172
135
167
176
208
121
171
112
150
112
192
240
121
170
167
220
123
170
112
219
194
219
156
121
112
258
167
165
172
130
194
165
195
201
215
187
170
245
121
127
226
121
208
171
112
210
177
128
236
179
207
186
190
237
171
229
194
112
210
121
208
165
121
124
208
137
171
121
115
170
121
231
167
115
186
165
150
158
121
210
121
186
255
187
213
112
177
212
121
150
224
137
164
302
228
243
121
244
194
172
223
171
225
302
250
115
171
121
175
160
204
175
194
170
195
124
121
208
172
165
167
208
222
181
201
174
115
112
218
181
170
121
193
135
150
219
150
181
194
237
202
112
112
124
150
131
150
121
231
150
238
171
218
156
193
150
112
176
207
150
135
147
202
121
197
123
112
218
150
150
210
150
172
256
172
135
115
150
135
208
135
165
241
237
208
170
112
128
167
208
167
228
158
112
265
186
176
182
112
192
150
192
213
201
158
121
123
205
172
128
177
150
112
164
194
208
195
201
121
208
194
112
130
193
121
156
203
220
167
147
124
161
171
264
123
172
112
193
215
121
135
208
164
252
190
150
172
213
176
171
112
201
166
152
121
121
228
112
136
184
128
201
233
170
172
150
112
121
159
130
167
150
112
167
123
167
214
172
276
170
115
203
137
181
170
150
178
150
150
202
237
183
224
137
299
168
150
147
123
123
194
112
150
159
172
112
152
220
186
150
150
208
174
176
208
251
121
205
206
176
193
170
194
208
150
172
195
112
112
137
201
230
121
171
167
176
112
172
121
172
181
150
208
121
158
207
243
130
121
128
227
172
167
150
196
181
229
217
217
259
137
176
115
176
189
188
193
255
232
172
172
150
150
202
171
112
164
167
227
150
210
171
212
176
209
150
170
150
121
177
121
156
220
132
158
176
208
171
115
136
147
167
187
150
112
226
121
112
172
208
189
150
171
170
250
167
223
208
167
128
112
231
171
201
112
158
232
287
206
195
112
150
229
150
187
159
159
121
150
193
137
121
176
240
150
241
112
150
150
147
181
124
115
167
150
215
194
112
174
112
112
170
121
123
135
170
208
237
150
194
158
150
231
135
181
112
150
150
172
212
170
136
172
112
225
150
121
278
165
199
243
150
258
245
112
150
112
205
171
252
245
115
181
240
121
150
194
124
194
121
186
150
194
150
150
228
170
203
150
240
187
250
219
123
176
121
195
112
230
175
112
167
112
167
185
170
121
172
152
150
194
215
150
204
171
150
228
150
121
245
262
223
212
112
136
195
194
215
208
123
121
165
150
165
121
160
176
174
177
164
137
150
158
121
136
135
275
136
181
239
227
194
186
150
170
194
212
195
255
176
165
176
208
195
187
150
170
121
302
130
172
207
181
208
194
172
168
112
239
112
197
167
121
171
220
112
263
160
121
229
112
147
200
136
252
173
170
112
218
150
172
172
270
112
257
167
208
208
150
165
171
208
121
167
193
150
195
172
235
230
150
213
171
157
112
208
112
171
172
112
217
200
210
207
231
144
167
208
112
214
181
208
150
130
182
240
176
228
174
115
124
216
210
136
123
202
176
210
160
196
171
194
191
150
201
194
230
147
150
229
187
150
239
186
123
128
112
204
193
194
112
201
123
150
176
112
139
150
208
189
194
150
194
112
240
210
215
150
195
123
121
112
230
121
172
171
165
186
176
171
234
150
170
278
150
121
208
220
170
167
194
226
187
177
150
186
211
278
172
147
150
170
210
167
242
179
121
208
177
112
194
197
170
177
158
208
200
181
123
150
208
172
172
181
112
193
112
112
232
176
112
181
147
181
208
150
121
121
182
165
150
221
181
123
210
124
181
121
139
187
194
121
112
150
147
172
112
202
228
150
121
174
167
227
168
190
234
167
123
186
150
121
187
112
150
112
255
247
208
136
150
112
220
130
237
184
208
224
137
186
150
208
121
176
112
112
135
150
159
112
172
258
143
167
112
152
127
137
173
112
121
206
228
131
193
121
208
121
202
187
243
165
150
194
210
172
123
112
121
121
150
176
171
159
146
165
112
164
147
121
202
121
137
208
208
255
167
257
278
228
150
150
174
208
193
115
228
150
208
130
193
207
121
115
136
112
171
145
168
137
174
172
231
112
225
115
121
147
210
189
186
228
123
191
218
123
165
175
171
115
177
284
208
195
228
167
194
181
229
201
220
121
186
147
112
150
171
176
177
165
181
274
150
194
124
245
150
238
112
171
302
112
281
150
159
172
164
257
186
170
121
112
219
121
190
176
112
172
135
302
167
201
135
150
137
193
189
121
284
184
208
135
150
208
121
112
167
150
112
121
150
217
172
170
176
172
230
170
165
152
168
208
208
172
121
204
179
208
202
203
171
182
236
198
208
202
121
121
112
172
150
186
217
202
194
255
123
170
171
220
194
121
177
228
210
203
201
121
187
147
210
150
172
123
178
181
121
150
158
231
186
186
156
136
156
121
217
170
112
172
112
205
228
219
170
208
121
147
212
203
171
276
194
159
112
163
203
160
150
136
160
170
172
150
150
175
121
208
121
219
195
233
193
143
214
220
184
194
208
112
192
186
170
167
121
112
176
150
112
112
208
176
135
150
150
208
246
172
159
212
174
172
245
179
121
192
121
112
162
210
121
158
195
195
174
172
232
170
171
150
156
165
112
240
212
150
112
112
231
172
208
144
193
123
181
250
123
172
150
150
158
172
208
212
121
121
150
150
112
136
239
172
176
201
201
239
220
208
212
115
193
147
150
158
147
112
208
172
112
208
172
172
242
181
128
172
112
194
226
112
210
237
178
150
121
185
112
121
212
231
224
112
184
150
172
239
187
150
112
172
159
150
123
112
150
206
253
210
170
208
225
180
112
121
159
170
217
144
150
112
121
267
210
150
121
112
159
170
150
302
150
112
202
192
123
172
112
156
112
136
190
226
121
112
150
184
217
121
150
212
156
229
150
167
228
240
202
194
208
147
121
208
193
123
208
212
170
147
150
150
233
146
293
193
208
112
150
170
299
217
112
121
123
123
225
168
124
220
123
121
137
176
194
172
235
187
150
196
139
165
150
167
219
121
276
172
195
210
208
172
150
192
194
112
150
176
162
170
167
112
170
231
222
205
175
124
212
205
218
178
121
112
124
152
159
121
228
167
167
179
121
168
214
167
241
167
121
130
189
186
143
150
174
194
121
112
115
210
225
192
226
195
217
112
124
208
207
208
190
208
243
174
150
150
160
214
208
170
171
176
212
112
232
112
112
201
172
195
176
208
216
123
167
172
203
121
170
160
165
139
197
170
172
194
167
204
172
150
172
181
167
194
220
112
210
202
115
150
136
172
266
137
130
191
171
211
201
143
135
121
112
201
165
123
147
174
254
235
177
112
150
121
181
210
208
168
175
208
112
224
160
167
208
194
123
150
170
147
177
212
123
167
167
157
195
208
208
112
178
203
150
208
208
174
174
235
170
176
208
121
150
258
121
207
170
172
236
165
160
135
172
150
112
167
193
158
302
205
112
196
162
137
235
187
150
189
135
159
121
181
172
220
201
165
169
130
212
150
172
274
150
121
184
219
135
228
215
112
112
201
158
239
165
171
185
208
193
115
176
208
136
168
172
161
219
171
150
123
171
177
199
121
186
150
215
139
178
156
193
171
150
150
170
172
143
200
136
174
202
208
194
203
242
135
164
150
216
121
172
121
302
121
121
123
150
226
184
172
150
112
179
162
150
156
150
225
130
150
130
134
202
210
177
208
212
223
150
159
123
179
143
123
181
121
170
193
237
178
210
177
137
170
176
112
123
195
226
112
170
208
165
123
170
250
150
305
112
112
194
212
228
210
150
194
150
242
187
195
121
212
121
194
112
184
121
170
178
193
172
115
226
112
167
193
127
208
150
150
186
164
250
121
219
208
176
218
207
150
150
241
163
121
231
174
217
112
185
167
121
172
157
170
269
233
176
123
158
241
150
150
130
174
195
167
240
121
186
136
205
112
170
208
172
207
237
193
170
167
194
215
219
196
231
150
112
227
237
192
305
150
112
244
229
181
121
124
112
112
236
160
208
121
201
172
172
208
176
233
115
177
260
167
200
212
170
156
186
121
152
195
170
225
186
225
181
195
165
212
208
193
208
171
121
167
212
186
217
240
203
253
212
170
172
171
150
243
195
179
202
150
208
233
167
231
177
250
150
179
227
112
150
112
229
210
128
167
237
128
112
194
144
150
112
121
136
215
150
136
136
203
115
150
150
171
244
175
167
156
167
147
190
173
201
263
165
123
121
135
171
208
225
171
150
170
115
193
172
182
172
165
164
131
150
255
150
177
115
155
150
165
175
189
150
167
112
213
143
167
156
172
218
136
228
121
171
208
150
147
121
172
128
150
171
208
160
172
228
210
172
165
159
178
194
208
166
112
276
181
150
112
174
208
112
208
267
208
147
228
167
228
299
208
193
152
165
178
293
123
213
112
171
150
150
208
121
150
159
167
170
124
192
276
176
130
137
112
130
112
233
167
204
150
112
150
172
163
198
196
208
121
112
150
165
176
195
170
130
160
137
121
231
174
230
161
112
194
121
194
195
121
121
228
192
121
174
208
231
115
170
150
205
121
136
254
194
187
233
207
167
150
168
231
112
208
137
233
115
112
150
210
255
212
228
181
181
150
227
115
189
150
170
214
172
135
130
174
184
207
194
218
112
205
158
203
112
187
158
225
177
123
186
244
205
202
170
208
208
157
147
150
230
208
143
226
160
220
235
130
167
112
123
187
158
170
121
150
165
206
135
208
208
212
170
210
150
150
265
112
218
208
170
135
121
112
192
208
167
170
174
177
207
189
150
186
184
121
228
208
172
220
136
181
147
168
150
150
164
150
210
172
192
176
200
150
160
218
150
137
208
121
170
123
250
171
196
112
167
165
121
208
170
173
159
150
200
112
137
165
208
172
209
112
121
240
177
147
121
228
171
123
130
208
228
170
179
200
226
163
112
208
302
208
167
209
220
192
112
302
194
170
112
121
250
192
207
167
176
170
226
187
121
171
208
171
187
150
195
173
208
150
208
168
195
159
226
198
270
121
232
186
160
228
123
228
181
226
225
167
212
181
147
150
227
136
150
160
218
186
256
302
167
159
184
172
229
240
159
150
112
135
112
150
121
115
112
150
170
170
164
208
204
160
194
214
112
226
170
150
121
112
179
242
123
278
112
236
160
220
170
171
170
112
194
121
174
112
210
112
172
150
241
135
171
150
112
121
150
239
123
121
158
172
121
176
174
112
121
112
211
208
121
165
224
213
206
176
177
115
162
150
165
167
172
172
194
170
172
112
152
201
212
170
167
150
121
150
115
167
150
237
150
150
222
175
123
220
150
170
176
121
172
165
137
136
121
174
112
186
167
156
194
178
174
208
261
261
202
121
121
136
219
135
150
194
228
250
187
175
136
121
299
112
167
175
121
150
137
165
150
121
267
260
167
197
238
112
182
215
208
147
208
173
150
121
267
207
194
124
167
181
193
112
123
170
121
164
130
187
130
210
130
121
198
258
229
170
232
219
147
150
165
220
147
172
212
121
212
150
150
215
135
237
150
172
150
211
181
243
172
150
181
112
170
212
202
302
187
187
219
218
150
203
159
112
209
172
150
167
137
193
188
208
226
121
160
170
229
215
208
165
168
179
188
150
128
225
150
147
193
193
195
164
150
115
162
208
130
219
150
112
201
237
232
217
237
208
243
150
266
302
177
165
208
178
186
147
216
150
172
150
201
194
170
240
150
175
150
171
112
162
172
150
215
112
123
167
176
165
150
123
194
172
150
193
187
171
112
228
150
136
165
171
123
112
123
164
251
112
214
112
186
212
124
208
208
187
172
150
150
187
212
121
208
202
189
208
150
272
208
202
208
208
150
184
208
217
171
234
172
186
172
164
172
195
201
208
112
172
135
239
139
112
214
243
121
195
179
255
150
135
213
167
150
244
167
152
157
212
220
170
165
165
147
121
121
136
176
226
135
207
124
150
181
150
112
135
160
187
172
112
231
157
176
158
150
220
187
208
112
121
177
150
165
112
121
165
147
182
124
193
150
135
172
178
121
208
112
123
156
195
237
231
172
112
208
165
219
194
121
214
112
150
150
172
200
172
123
150
152
123
165
123
172
171
208
202
150
171
200
167
112
136
112
112
150
239
121
164
232
207
193
147
112
250
171
165
189
172
165
150
181
302
202
236
226
171
210
232
181
189
150
231
195
150
174
218
252
123
208
112
112
112
229
112
172
150
167
112
150
150
228
121
150
167
181
150
150
240
214
123
167
112
135
201
193
176
228
239
165
193
206
121
112
208
112
137
175
218
112
210
121
112
193
112
208
112
150
263
208
150
170
121
195
167
181
233
150
199
172
150
226
165
201
176
231
150
226
195
150
150
121
170
167
121
150
150
150
165
150
172
130
257
239
168
244
171
112
165
150
150
115
215
150
143
112
176
165
207
194
121
162
115
217
219
177
147
190
152
112
158
150
208
167
195
112
167
208
172
150
112
112
194
171
150
172
147
112
176
225
187
160
250
187
236
121
158
172
194
137
175
121
187
237
226
150
121
171
136
184
112
112
112
229
121
135
240
158
194
164
150
150
112
150
115
184
112
150
208
121
194
237
167
167
170
112
172
112
203
235
208
137
152
144
220
208
175
121
159
150
255
156
194
164
176
137
123
115
170
165
121
232
170
217
121
176
210
253
231
172
121
150
112
121
209
121
150
171
186
123
136
212
150
150
176
193
229
121
217
112
211
211
208
176
208
186
202
181
189
150
112
170
167
121
193
128
121
172
121
128
112
152
208
167
208
218
172
112
112
115
230
210
173
112
171
172
150
208
112
121
167
150
121
150
171
194
121
177
167
123
150
150
150
187
194
137
172
187
194
208
210
121
150
202
194
210
274
174
226
193
167
164
128
115
174
124
167
219
236
212
208
136
210
186
150
150
197
205
176
128
112
165
147
165
278
150
177
209
115
112
121
164
208
239
171
170
194
112
202
115
156
167
187
178
186
217
187
112
165
170
135
170
112
241
112
167
112
137
222
208
194
150
152
121
186
194
278
172
112
225
174
208
214
167
150
150
171
112
135
167
228
214
115
198
121
121
228
121
115
176
112
205
135
150
177
167
176
205
130
112
194
150
202
112
158
147
112
176
121
136
194
168
233
115
123
186
115
112
112
167
130
112
150
274
178
176
150
176
112
121
167
208
167
123
150
237
208
121
239
241
175
121
170
112
208
194
112
147
144
189
159
195
170
186
225
135
152
136
161
121
170
170
150
255
150
172
147
167
203
112
121
164
144
208
121
237
150
181
225
121
186
171
181
112
112
171
172
194
121
210
112
121
192
136
150
121
226
208
136
137
131
150
198
137
121
208
150
208
162
128
112
112
194
203
217
233
172
121
124
210
194
121
201
157
214
112
172
135
112
302
241
181
250
171
121
208
167
199
213
124
212
193
208
175
171
150
135
212
187
124
228
144
208
150
112
123
152
230
187
121
115
212
172
208
181
174
198
237
240
239
194
239
174
170
208
226
170
167
170
170
150
177
135
176
121
124
165
112
152
150
194
121
302
121
159
147
177
135
164
208
135
187
149
202
208
192
147
150
162
137
121
203
121
170
228
112
170
186
196
194
172
170
112
121
218
205
214
209
152
123
222
150
212
112
182
233
167
302
112
150
201
171
167
241
190
150
190
121
158
150
143
147
220
171
266
235
265
121
150
112
175
193
194
237
184
167
150
157
194
208
112
121
150
170
128
150
220
167
152
177
143
172
250
140
228
176
136
112
194
150
172
123
172
192
168
212
136
157
112
150
219
150
216
217
229
190
112
112
186
208
240
150
184
172
186
112
255
212
202
150
150
112
208
170
112
112
150
172
112
186
224
121
208
250
171
172
123
121
172
234
208
175
172
172
121
112
172
121
112
208
121
139
150
150
266
202
121
174
150
136
208
208
121
112
112
200
193
121
202
135
171
112
121
164
230
186
112
147
228
208
208
181
247
194
170
186
170
302
136
115
208
172
112
190
178
234
165
121
193
152
170
177
112
150
121
220
167
121
182
186
170
150
171
115
143
121
186
115
243
171
150
112
200
137
214
262
150
121
193
150
121
193
217
193
172
198
170
121
123
239
121
186
207
112
202
194
194
112
124
196
177
177
218
208
207
172
215
171
124
128
156
121
121
230
124
182
112
185
150
224
208
150
112
112
177
208
228
201
243
150
112
183
136
144
208
228
226
181
208
259
203
255
202
176
112
112
247
187
150
150
208
130
172
150
150
170
121
135
228
170
194
136
171
237
128
170
243
150
152
121
147
208
176
150
203
172
170
112
112
208
121
228
137
112
124
212
168
161
181
252
123
190
170
170
150
201
121
124
176
220
228
112
121
112
112
121
115
175
130
302
210
194
112
171
121
170
179
201
205
181
219
112
150
194
181
210
159
239
167
124
165
150
167
194
124
194
158
121
170
218
174
208
194
150
176
181
150
150
208
193
112
217
242
172
164
219
176
121
112
213
175
150
172
121
205
174
172
167
121
182
150
121
167
199
171
186
121
208
219
302
202
171
171
256
185
121
172
121
128
172
231
150
150
193
198
208
165
231
255
150
231
194
124
162
167
112
150
217
112
112
205
150
195
263
186
208
203
228
228
170
123
233
194
192
199
147
150
171
164
203
160
112
186
150
150
165
150
137
150
159
171
135
232
121
208
121
156
150
112
176
208
257
250
171
121
267
214
147
252
194
168
123
165
208
184
189
112
254
195
121
176
158
210
170
170
167
156
208
195
172
123
190
175
194
228
208
170
143
174
150
115
203
112
225
150
150
150
136
202
208
177
237
228
150
204
121
112
150
112
121
172
165
202
150
239
215
121
112
181
208
192
124
124
172
195
150
177
178
136
147
194
193
219
123
150
263
179
158
208
135
229
206
194
123
171
147
150
172
147
165
212
150
228
128
123
134
121
121
208
121
165
219
228
170
137
121
150
156
204
194
171
170
159
150
137
207
196
217
167
177
121
121
214
208
150
150
121
121
150
121
152
250
167
172
168
276
135
228
173
208
150
135
167
150
135
177
238
112
172
208
203
150
233
208
202
170
208
250
225
121
194
143
208
170
135
216
186
194
150
150
121
219
121
131
208
112
167
112
196
121
167
164
172
170
135
231
172
208
112
277
137
274
240
193
172
121
239
217
228
166
112
208
115
209
137
181
174
143
201
121
164
136
226
208
135
136
194
172
112
128
171
171
121
150
150
167
150
181
176
210
186
112
124
112
187
147
123
182
237
150
262
172
237
112
172
156
178
215
147
150
121
223
121
217
121
164
135
259
112
214
170
263
198
159
255
228
112
136
112
192
172
172
112
172
276
189
112
171
187
202
237
186
135
186
222
172
178
146
170
234
137
121
172
150
112
147
123
172
115
190
112
239
162
186
246
172
139
150
121
112
172
172
143
121
121
150
176
172
112
208
175
150
123
217
112
159
208
210
123
167
212
219
150
164
205
210
150
171
218
216
112
121
172
150
239
121
241
217
240
144
226
150
229
112
208
164
157
195
203
219
202
228
218
208
150
112
237
228
203
218
136
165
153
203
171
165
121
152
193
194
167
121
242
135
135
167
187
171
112
112
211
143
150
175
121
121
170
167
123
156
121
208
156
158
213
123
130
121
208
208
226
121
123
212
173
170
121
181
194
210
167
112
112
135
181
208
123
112
160
135
112
208
150
112
182
112
193
121
121
123
170
135
176
112
115
112
216
150
186
176
170
208
121
170
235
136
150
170
194
135
177
175
112
150
170
250
172
187
121
202
172
173
121
174
181
112
194
172
135
181
194
121
187
135
137
218
194
112
202
230
264
123
158
198
167
112
150
150
150
194
200
189
208
208
171
172
208
167
212
136
184
167
230
176
170
171
150
205
165
150
200
172
112
176
220
135
194
112
171
205
150
202
177
170
302
167
237
229
219
150
176
136
168
121
175
115
123
226
186
189
244
233
112
137
137
112
207
112
150
150
208
171
205
187
208
136
150
136
250
186
170
217
121
174
212
201
171
162
165
135
112
135
112
146
136
171
218
136
158
237
150
246
123
193
128
165
265
194
150
193
112
165
174
226
254
160
172
259
237
231
172
243
202
170
164
121
167
210
218
156
170
210
112
121
145
238
153
167
123
203
123
219
115
172
167
157
208
211
167
121
226
123
177
240
172
156
150
195
165
239
115
181
203
228
136
150
112
239
196
150
112
208
121
170
150
208
121
112
176
158
130
194
150
186
112
150
220
231
150
187
150
186
137
210
165
121
187
349
128
226
124
217
200
136
181
208
181
186
171
210
216
150
150
165
159
158
115
135
181
193
203
208
245
228
123
150
150
150
136
193
276
167
150
208
115
247
237
172
194
165
194
239
167
112
112
123
167
237
136
208
192
121
172
112
167
121
112
170
186
246
167
172
278
226
121
172
178
112
112
150
156
193
147
112
135
112
238
231
237
150
228
195
185
121
137
208
112
201
231
197
258
210
112
203
231
208
170
124
212
121
171
112
208
112
172
167
194
121
150
137
250
213
150
150
218
160
156
250
219
167
237
121
186
196
171
187
171
167
123
112
302
150
238
112
124
150
150
157
178
170
150
223
230
170
167
196
123
112
196
150
172
201
167
150
172
150
150
208
157
226
112
170
176
215
160
124
205
176
179
168
172
195
168
150
112
194
208
232
121
150
115
203
205
112
150
172
130
112
278
243
112
177
121
115
150
172
186
165
150
171
123
121
233
170
170
239
193
112
115
215
124
167
195
202
208
208
192
178
182
121
112
161
112
172
160
112
167
160
228
112
115
218
177
112
123
150
196
164
172
150
261
189
150
112
123
128
192
219
135
234
204
171
192
170
229
167
167
208
150
175
174
172
232
208
231
282
170
170
187
171
170
203
121
172
167
146
170
181
225
195
136
130
229
176
172
150
193
176
121
162
177
112
150
204
201
121
159
124
201
172
112
150
226
210
208
165
171
167
112
115
302
115
181
187
158
177
171
121
194
172
152
171
112
167
123
208
136
163
181
172
123
230
170
208
175
170
135
112
202
112
250
184
205
150
176
177
121
121
194
219
212
212
135
112
121
219
208
164
150
123
190
185
115
237
150
165
121
210
239
225
112
158
112
112
112
123
177
215
130
257
203
172
184
193
239
232
112
165
112
121
228
150
255
167
136
172
228
278
150
201
150
168
112
185
121
203
201
172
165
150
112
124
194
240
231
137
212
172
164
112
181
112
112
171
170
172
150
166
167
219
208
208
250
170
231
168
167
200
150
193
167
112
172
153
112
206
158
181
247
150
193
162
112
208
137
123
233
167
192
174
168
164
172
171
233
121
150
181
112
181
123
112
136
194
124
171
163
235
233
239
227
135
121
232
194
257
112
181
202
184
208
121
164
172
172
130
211
250
144
123
121
112
250
202
112
159
135
174
187
167
150
240
150
112
167
150
115
167
112
150
121
181
194
171
137
250
172
128
112
202
139
176
150
203
160
167
112
181
150
112
250
123
147
187
130
112
208
115
167
150
174
201
160
226
112
147
150
112
150
165
165
136
135
191
170
121
115
150
174
112
165
123
212
202
172
186
147
217
135
256
208
150
195
233
121
181
123
112
121
225
167
208
202
121
194
218
181
202
187
150
203
112
194
172
147
234
172
123
165
136
199
217
272
150
115
194
121
179
170
150
123
112
217
210
212
144
112
135
175
112
194
167
150
150
208
123
192
177
193
112
135
253
144
156
172
112
121
212
150
128
112
171
164
150
159
236
167
208
267
152
112
123
208
121
208
130
218
121
173
237
150
112
150
205
150
176
208
115
239
199
193
150
150
150
121
123
112
112
121
187
112
228
228
167
208
174
223
177
137
172
121
174
170
214
121
186
165
237
137
208
172
212
176
112
195
172
150
243
112
272
194
164
121
190
172
121
220
150
181
219
210
244
112
168
139
276
186
232
172
187
208
150
121
152
115
139
128
174
121
208
195
224
257
181
174
121
208
170
250
165
203
115
257
170
152
178
201
231
253
208
112
202
159
158
172
208
121
124
179
121
236
159
185
112
202
172
170
112
150
137
171
171
136
218
213
121
168
196
136
181
150
208
147
165
257
186
208
294
135
171
208
171
237
159
208
181
150
121
208
121
112
212
112
264
164
193
112
147
170
220
215
208
278
150
121
170
190
165
216
147
195
210
147
243
172
195
165
172
208
172
167
175
146
208
179
152
165
136
158
232
176
158
228
144
178
208
121
147
172
240
136
167
239
200
112
228
156
143
208
165
190
112
121
160
189
218
150
182
257
181
121
174
128
158
150
219
147
112
150
172
199
163
189
186
203
193
201
112
170
170
192
231
173
112
121
150
112
171
112
201
198
172
195
121
224
212
121
170
205
165
172
179
210
143
123
195
112
112
123
150
172
193
115
233
184
215
172
150
219
225
112
171
165
231
112
171
115
278
165
130
202
112
176
165
167
228
208
150
172
167
189
150
167
137
170
220
121
173
159
227
167
208
146
177
135
172
265
172
167
150
121
150
208
121
201
172
187
112
135
112
234
159
171
231
237
121
112
150
232
152
172
240
211
240
174
208
136
170
158
229
121
168
112
137
172
186
197
193
196
115
121
212
124
276
248
225
150
250
172
171
172
158
225
121
301
150
194
112
189
231
124
172
234
203
225
179
186
167
193
279
219
135
121
172
172
121
121
150
115
112
150
112
112
172
150
228
207
187
208
121
187
150
150
112
172
159
143
167
121
223
250
302
163
184
202
175
255
208
237
170
167
112
121
165
134
177
168
180
159
150
217
112
216
137
240
112
112
238
232
195
150
207
112
121
168
123
135
176
219
150
176
150
225
162
208
167
115
243
208
174
212
121
121
235
194
170
152
112
194
150
112
121
121
158
170
267
165
208
121
112
136
121
123
112
184
150
228
208
171
171
150
150
171
137
259
130
171
150
132
150
123
167
124
121
112
282
144
202
121
172
186
202
112
203
194
128
147
203
170
223
150
172
167
181
137
237
150
194
145
150
190
176
194
176
115
203
194
187
294
194
112
208
112
228
204
150
150
205
112
170
137
171
212
150
167
176
174
192
162
150
158
165
281
174
150
202
208
175
150
193
187
218
112
115
167
147
203
112
208
121
176
210
175
227
150
158
172
208
121
143
159
255
150
112
152
150
123
179
170
150
231
192
212
150
146
176
112
112
170
191
172
172
112
150
229
171
171
112
167
193
220
135
237
218
170
228
208
263
147
219
172
150
193
112
123
194
121
112
170
167
170
112
208
235
192
172
135
176
249
150
231
208
187
217
150
203
115
167
209
152
165
112
194
121
121
274
143
159
172
228
164
165
171
112
172
226
231
137
112
177
208
150
170
130
171
123
115
150
202
181
112
187
157
112
150
112
172
150
115
186
150
194
171
150
167
112
170
123
265
121
228
236
123
171
242
231
203
228
170
172
150
165
229
143
223
143
203
225
170
121
172
171
194
147
150
150
192
195
232
255
167
137
200
121
123
210
195
123
220
123
150
216
112
187
150
150
195
150
302
203
150
219
195
165
202
171
171
112
167
227
239
193
205
172
112
170
226
194
212
150
150
216
160
167
165
187
159
186
186
150
292
121
170
215
261
174
233
135
121
128
192
205
123
229
174
210
170
218
171
172
208
150
265
150
175
237
123
135
262
167
156
203
194
170
212
167
220
205
171
209
112
176
150
112
175
217
171
186
121
185
186
171
209
181
210
200
208
165
150
167
112
257
150
112
172
208
159
186
237
227
194
181
121
130
228
250
177
206
193
171
177
130
167
193
121
208
201
228
150
234
180
112
112
165
172
115
219
112
155
208
112
167
184
150
150
172
136
121
171
112
276
233
115
181
172
196
208
112
170
189
168
208
172
175
208
170
165
267
177
112
179
181
121
256
260
123
213
165
124
212
172
167
172
123
150
225
181
171
208
172
112
192
213
112
187
158
175
174
171
147
278
136
193
196
208
171
173
159
220
136
159
156
171
112
150
183
121
167
130
281
159
186
176
187
193
150
112
150
202
210
150
172
174
187
150
208
192
121
167
170
167
170
172
219
172
197
121
219
176
150
112
137
173
234
231
167
174
128
150
167
160
150
202
150
150
135
237
167
192
158
192
194
187
195
152
170
217
194
201
167
177
121
208
143
136
192
172
172
112
167
121
177
220
167
112
171
195
170
112
217
123
220
121
243
194
121
177
150
216
150
152
112
172
214
121
150
150
150
112
112
202
170
206
171
208
167
112
112
230
112
128
112
128
177
259
112
121
210
167
172
121
130
176
212
172
229
207
241
208
302
232
112
161
136
195
174
170
124
176
136
172
206
208
202
208
201
208
112
167
202
112
210
152
196
150
150
172
112
247
193
159
217
123
181
121
172
223
121
150
150
181
203
228
164
194
209
277
115
228
136
177
201
112
171
137
123
217
171
190
234
195
171
210
137
194
136
121
202
208
261
112
229
208
171
135
192
112
159
193
210
172
194
240
171
112
170
181
228
231
208
186
172
186
177
150
186
130
165
194
121
172
136
256
201
168
170
219
232
112
165
222
161
167
112
171
194
208
206
210
208
167
165
259
212
174
167
112
238
207
208
170
228
179
219
196
112
172
208
147
121
150
181
234
144
121
112
208
121
193
171
194
212
170
224
150
208
160
121
170
214
150
147
112
112
121
135
156
152
233
112
124
194
181
168
112
255
195
150
278
172
231
220
241
168
217
121
176
212
135
165
150
194
175
170
144
228
263
168
135
195
215
187
250
150
170
181
208
193
167
250
202
147
251
208
206
222
112
150
150
175
212
121
121
183
201
205
150
193
112
112
202
170
112
112
185
250
147
248
220
172
128
228
152
172
144
112
232
192
219
112
124
208
171
168
139
121
150
128
187
162
215
267
174
112
160
167
203
218
170
195
121
171
195
208
201
208
123
152
147
139
172
112
212
193
246
240
199
150
121
210
302
150
205
170
194
212
121
231
162
208
203
243
112
137
202
128
231
259
195
175
228
121
121
165
167
150
123
276
165
164
208
150
137
207
171
181
170
172
112
121
240
121
210
181
121
167
147
212
208
112
228
152
193
208
137
176
121
192
229
167
215
208
150
216
115
167
201
167
231
203
112
112
130
189
172
170
167
168
150
150
208
231
137
150
176
172
208
170
171
192
150
112
208
193
165
170
187
115
121
135
207
201
170
121
208
167
194
214
167
136
112
150
175
227
178
205
112
225
191
150
156
228
150
164
181
150
137
208
165
112
208
150
123
210
115
203
112
150
136
121
171
128
121
193
235
121
214
156
211
170
247
236
121
187
177
150
150
144
172
211
128
167
172
167
186
150
167
207
150
150
152
123
150
170
112
172
194
202
164
167
187
128
170
150
150
181
136
216
172
150
112
201
130
215
262
159
165
281
225
208
181
153
121
305
228
227
157
201
150
201
150
237
135
137
121
205
167
210
150
187
150
201
215
181
275
112
158
201
194
123
172
137
237
150
112
150
275
240
228
150
210
194
238
176
112
150
171
194
218
112
136
112
228
165
112
168
135
137
112
255
162
167
255
184
180
194
186
150
112
176
210
192
167
172
208
165
201
170
150
172
123
121
147
228
187
231
226
201
112
186
175
207
167
121
233
201
172
233
186
115
181
147
121
208
201
171
193
147
115
121
201
164
208
276
124
220
243
147
112
123
121
130
123
112
121
194
159
112
168
150
161
147
263
112
201
202
186
247
172
218
121
203
167
121
121
175
167
193
171
165
121
112
187
135
208
225
210
150
165
171
207
181
193
193
150
190
152
170
228
172
211
112
181
121
192
150
198
165
150
193
112
112
150
233
171
150
123
179
136
186
147
150
150
150
208
150
112
149
121
232
266
186
112
193
232
112
135
121
124
166
237
136
265
237
150
137
150
112
214
171
187
156
176
150
208
172
179
160
212
124
167
112
167
121
205
150
194
233
123
225
187
112
143
240
147
184
147
208
135
181
202
164
201
112
112
255
150
193
128
153
150
194
136
297
150
212
194
218
301
167
121
112
181
212
170
185
176
172
112
121
150
172
219
168
123
112
210
121
167
115
123
112
250
208
130
181
230
121
239
228
123
233
150
150
136
136
170
229
135
181
236
167
186
203
218
228
156
112
208
172
121
147
201
208
124
112
226
176
187
167
135
150
112
193
153
225
189
205
208
194
239
121
112
115
112
121
112
206
121
187
147
219
305
208
115
210
160
167
176
162
193
112
186
195
150
150
232
112
144
159
237
172
171
174
112
123
184
172
123
172
121
160
171
112
243
272
237
137
112
150
115
112
176
123
200
112
135
150
121
207
112
167
170
205
150
149
152
165
112
208
208
179
135
168
195
150
172
172
112
208
240
232
206
207
124
121
150
112
171
158
123
194
179
112
136
208
167
171
215
112
193
123
146
172
172
150
147
150
196
170
136
174
195
192
165
237
150
159
202
150
202
203
226
202
181
143
121
167
187
121
172
193
176
181
181
210
150
221
208
208
237
150
112
112
135
167
195
130
194
263
208
217
210
170
180
167
121
167
147
242
208
243
158
216
112
229
158
150
177
112
209
167
202
208
174
152
181
217
250
136
189
195
218
203
194
152
246
123
112
239
213
136
210
171
250
112
184
170
176
112
112
208
161
160
178
302
201
159
121
219
150
208
112
178
203
240
195
171
167
179
150
210
208
136
150
208
124
163
179
150
186
165
112
135
121
225
198
168
123
202
112
165
219
187
203
204
210
112
165
208
201
112
112
177
150
135
194
136
227
187
170
123
209
159
150
150
164
112
141
208
150
172
150
112
136
288
220
170
150
231
150
112
172
215
150
212
112
123
171
187
112
161
165
165
123
178
196
167
194
173
150
208
167
232
112
136
121
208
193
174
194
112
173
112
170
150
246
188
208
150
172
240
124
210
112
171
150
115
172
150
112
179
202
170
228
219
213
121
195
187
208
194
136
150
187
190
121
203
112
202
121
172
112
136
203
170
150
172
208
112
194
112
208
170
172
112
124
167
150
176
208
136
159
172
208
257
112
171
302
192
123
263
150
173
121
194
172
165
121
172
176
147
172
220
176
123
150
293
150
150
172
243
276
202
121
150
174
164
231
172
112
123
178
164
150
225
256
112
186
208
201
228
121
176
112
130
121
135
250
172
150
172
210
170
172
128
172
112
190
150
221
160
150
186
150
112
112
189
208
112
229
150
193
179
121
121
217
170
147
112
194
216
150
174
192
178
255
194
201
160
208
194
150
167
208
172
130
208
220
160
159
150
176
214
226
130
121
250
229
167
121
150
228
147
137
150
200
123
195
172
171
121
124
128
251
150
176
208
199
201
233
202
135
121
176
165
150
229
124
172
164
214
186
112
219
210
186
123
239
112
167
226
112
195
170
172
168
150
171
174
150
237
231
194
150
228
112
170
186
112
210
209
194
181
112
218
136
156
211
171
253
177
112
150
171
112
276
186
150
112
208
171
150
172
121
199
150
145
158
202
210
156
170
261
112
150
167
219
243
194
170
237
121
172
186
170
203
170
136
121
128
302
232
161
208
150
170
184
150
167
165
121
187
150
136
201
177
226
137
181
121
115
170
181
112
174
121
121
159
276
160
159
176
195
135
263
112
172
136
190
150
171
121
171
207
147
158
210
112
196
170
176
112
226
225
115
208
124
172
245
150
121
121
121
177
171
160
171
136
176
121
165
202
212
212
202
193
150
150
215
121
186
167
112
190
164
187
112
179
259
164
195
239
121
206
167
217
124
172
212
112
164
137
209
195
150
175
165
208
178
239
226
200
176
192
143
172
186
271
158
165
208
208
212
181
150
186
235
135
237
147
123
184
167
233
236
172
176
121
157
170
150
121
150
172
130
112
152
195
150
208
121
123
194
172
237
150
263
181
194
121
281
168
175
172
184
217
202
228
176
156
181
150
201
165
201
122
112
297
112
121
121
112
150
194
171
208
112
135
172
243
121
112
124
176
135
136
139
123
123
172
193
123
130
202
176
225
152
135
165
150
175
135
112
210
172
136
158
150
112
150
194
121
121
150
192
150
135
234
224
156
187
150
112
208
193
176
172
181
272
201
112
201
239
181
171
228
236
112
165
217
150
165
193
187
150
187
158
167
150
121
201
219
205
167
112
244
208
143
172
112
135
195
186
186
147
206
112
150
121
158
232
213
144
208
176
170
112
193
228
210
163
176
150
165
187
157
213
228
218
150
214
186
208
150
131
250
172
181
121
208
217
202
181
232
112
229
157
121
176
136
194
137
164
150
123
123
239
228
150
184
150
112
241
276
150
165
158
121
121
150
208
121
189
172
147
112
202
201
150
112
208
123
261
121
171
121
150
202
168
172
167
121
257
302
201
121
121
167
208
201
208
172
167
121
135
170
160
250
179
167
226
187
170
150
232
193
121
171
112
158
172
208
150
121
172
135
150
231
150
278
121
158
170
176
172
157
167
168
172
150
150
237
137
208
136
237
208
143
171
112
165
137
165
181
147
255
115
172
172
184
171
208
112
112
167
231
158
150
182
196
112
121
121
194
123
194
170
167
208
143
203
152
123
186
196
263
193
171
186
150
150
170
201
112
123
150
165
223
234
128
208
172
203
209
212
165
233
174
225
194
122
150
150
195
115
136
165
222
208
177
172
123
193
231
170
216
201
121
150
164
182
150
150
150
112
167
203
160
229
198
121
201
195
150
250
194
123
137
177
207
181
135
208
121
174
172
158
236
240
121
225
176
201
171
121
264
208
218
195
112
112
150
150
150
207
128
218
121
172
167
181
244
210
250
121
121
159
121
176
172
121
112
112
112
150
196
112
170
214
112
194
237
208
210
201
112
158
121
207
192
195
194
112
123
112
176
208
171
165
150
112
170
186
181
171
202
112
164
187
196
176
123
135
150
228
176
186
115
226
167
112
175
264
258
121
250
150
239
237
212
112
150
150
208
167
150
241
150
181
193
177
181
150
137
121
147
248
210
112
150
165
112
115
121
170
136
121
170
172
218
168
158
112
158
235
176
181
135
177
121
150
150
194
250
176
171
112
150
212
208
203
121
165
112
112
123
170
192
181
206
203
197
160
194
226
233
156
165
170
136
240
164
156
187
121
217
199
209
175
215
121
155
170
228
203
137
226
265
136
231
175
210
150
165
123
217
150
172
186
212
172
167
193
123
150
239
255
177
208
150
150
167
171
203
150
172
167
170
150
198
205
182
237
168
150
150
135
121
173
198
278
150
165
150
168
208
150
231
112
186
121
208
150
150
177
208
171
112
181
150
208
170
251
233
121
230
209
213
121
220
175
263
112
121
112
112
170
150
123
194
197
121
219
165
170
231
226
123
112
187
150
219
112
178
186
187
135
202
167
243
135
167
193
152
172
172
150
112
112
228
208
208
194
121
112
194
208
150
170
121
112
136
179
115
150
112
165
167
241
112
253
121
150
150
186
201
112
112
124
219
202
187
112
260
147
212
150
150
112
147
121
212
202
112
208
244
165
218
208
170
123
123
213
112
202
226
210
208
194
135
121
135
199
121
167
232
150
194
175
190
136
174
181
238
172
121
172
186
150
112
137
172
150
150
170
136
204
192
231
208
112
121
137
185
294
121
150
228
208
181
195
121
112
147
150
170
112
150
137
150
176
170
112
112
210
167
158
143
150
171
121
172
112
158
186
112
112
186
167
112
201
150
167
150
173
245
208
233
171
202
150
221
167
239
229
195
231
150
150
186
213
217
226
150
167
210
112
208
174
112
210
150
124
121
211
150
229
231
172
123
228
256
115
210
228
150
194
219
217
172
240
208
150
174
150
124
136
135
112
184
131
112
189
171
150
156
112
172
123
182
164
161
192
237
177
172
172
121
210
231
150
184
167
250
240
171
150
146
212
204
237
181
124
121
124
228
147
112
172
112
170
178
112
186
193
150
170
231
170
185
236
244
167
121
112
205
194
171
150
176
186
112
112
210
205
253
158
176
156
170
112
112
208
189
160
181
112
171
227
171
211
243
123
171
150
157
192
137
244
124
205
112
112
112
112
171
137
189
170
136
210
158
165
231
135
158
186
171
202
194
121
121
266
171
201
121
228
239
171
232
168
112
170
208
172
121
112
164
150
217
201
135
235
250
219
130
205
279
152
112
121
255
167
173
259
112
112
172
263
112
206
181
112
218
150
220
167
192
112
150
217
112
167
210
150
150
124
112
159
208
135
181
150
164
263
147
176
276
238
112
172
150
167
208
237
181
167
135
208
172
159
150
194
150
235
147
150
172
289
186
121
165
237
208
123
128
121
186
225
112
243
150
195
206
185
170
219
135
190
190
194
200
112
171
146
220
205
257
168
168
150
171
121
121
213
194
202
202
208
112
195
205
170
208
219
150
243
201
112
147
183
187
112
139
181
150
177
112
174
208
170
192
208
193
161
121
220
112
171
235
135
195
150
172
302
135
181
225
217
112
112
187
167
112
121
208
150
172
167
201
196
172
187
174
245
161
193
150
170
176
165
182
167
208
167
171
195
208
167
204
128
112
210
257
208
228
147
121
135
150
121
194
229
165
180
147
177
224
160
194
187
150
176
193
150
187
121
160
237
182
159
194
123
203
263
165
170
234
237
172
211
174
170
150
167
228
229
213
152
150
193
147
112
170
208
171
228
124
150
181
112
121
171
147
237
170
225
150
208
222
186
112
276
150
259
123
112
121
198
250
217
112
238
210
208
150
121
112
208
172
195
214
165
150
137
181
112
255
208
128
208
176
150
171
194
121
195
167
194
208
152
205
150
171
176
202
276
158
172
208
150
237
208
139
217
201
229
150
143
164
112
112
112
135
112
112
112
150
171
207
170
170
150
186
160
112
152
115
165
194
201
265
121
192
144
174
208
137
136
168
132
176
219
210
115
262
215
150
123
171
150
140
136
172
112
187
212
229
212
197
165
174
165
208
135
206
150
152
150
202
208
152
176
115
128
130
137
201
158
112
159
177
160
208
202
150
170
194
150
237
164
229
164
193
167
121
199
170
177
186
201
175
121
112
171
208
218
121
233
218
176
150
150
121
146
167
112
228
123
167
123
172
221
194
171
150
185
207
176
200
121
230
206
150
128
112
150
253
121
150
158
220
167
130
123
170
208
174
237
168
167
175
150
152
210
172
124
167
159
136
172
150
150
112
171
136
171
112
112
112
167
167
271
212
228
121
172
147
167
137
136
349
208
136
212
171
223
123
123
208
192
243
115
150
210
240
174
164
112
228
123
185
191
112
124
179
136
172
211
164
165
181
212
146
150
177
208
170
232
205
150
150
123
194
121
186
195
177
135
176
170
172
207
184
158
192
177
199
167
158
167
228
228
218
165
195
144
218
172
112
121
240
158
167
164
121
112
217
123
237
208
147
176
112
121
167
229
205
150
152
232
289
112
121
121
147
137
209
196
167
165
187
172
137
112
228
171
150
170
195
172
121
198
121
136
174
164
112
208
184
237
170
112
124
167
194
135
158
219
235
229
150
150
237
150
207
218
237
112
164
253
174
197
112
199
150
207
174
208
226
150
208
121
259
170
137
208
150
121
150
208
179
233
201
228
150
159
171
136
152
121
112
189
115
150
112
234
221
121
121
247
121
181
174
225
181
215
195
137
168
137
150
112
121
170
203
186
121
212
165
214
121
150
195
152
172
268
121
181
112
275
123
207
186
160
172
170
136
112
137
135
150
202
207
137
172
232
216
167
121
150
187
112
169
112
112
112
150
171
186
232
150
112
137
208
302
172
206
187
160
171
115
150
256
159
112
205
123
172
208
208
128
112
112
187
123
217
150
255
172
150
171
241
187
144
197
194
150
136
174
171
171
172
190
158
210
112
170
121
121
121
228
112
194
176
121
115
112
121
174
123
168
174
170
147
265
158
112
192
208
112
112
150
112
187
123
208
210
130
136
112
167
177
214
181
115
165
150
243
206
136
112
243
233
171
172
135
178
150
112
208
228
263
136
212
194
121
167
150
217
187
229
135
150
147
218
121
250
160
170
172
172
150
216
208
208
170
202
150
156
167
150
228
121
227
150
213
123
227
158
231
150
159
170
167
112
170
150
165
223
112
171
276
150
194
121
150
202
147
213
165
204
150
208
121
157
112
232
263
167
160
150
208
249
137
150
121
172
150
123
208
194
121
193
196
172
171
255
175
275
165
228
210
115
208
208
171
202
208
152
203
210
159
123
160
121
236
172
167
160
112
115
214
195
172
193
136
212
167
170
210
112
167
121
159
150
192
194
112
234
165
112
150
121
150
192
150
131
160
167
121
121
135
237
123
123
181
255
202
121
225
167
150
239
208
177
150
220
208
195
139
220
237
172
136
167
186
171
176
150
232
212
189
181
177
121
137
158
199
181
147
112
150
215
112
172
123
165
115
136
165
208
143
161
170
150
177
150
121
237
112
135
112
135
165
239
150
181
167
121
255
123
150
150
112
271
112
205
173
150
150
245
135
208
263
170
208
175
195
247
240
234
212
165
160
171
150
217
150
121
136
223
150
168
159
112
208
208
167
121
194
193
150
121
208
112
207
115
112
112
150
150
208
112
177
121
236
165
209
167
112
172
164
121
121
186
150
121
136
115
172
208
172
144
150
228
207
150
112
193
159
215
160
123
202
233
216
228
167
174
112
228
121
112
192
189
193
231
170
170
176
232
214
181
226
112
206
150
150
170
201
194
156
171
202
207
181
121
167
168
233
112
121
150
150
121
196
121
240
150
121
181
115
139
178
112
112
212
136
195
236
236
115
220
214
223
208
121
208
150
171
210
265
150
194
258
156
112
150
176
150
171
121
208
162
150
224
124
203
170
150
112
159
123
271
121
178
150
194
177
181
280
239
210
260
233
121
194
123
136
203
123
181
112
208
181
158
276
150
220
186
170
112
254
171
208
137
167
193
195
195
167
167
172
209
172
195
170
123
171
170
170
172
197
121
112
193
137
128
212
194
156
147
150
121
176
112
121
181
135
112
171
121
112
186
112
121
174
181
123
186
168
215
150
177
208
177
167
186
208
115
112
176
135
172
150
181
208
193
112
238
150
195
112
181
112
242
121
202
195
223
171
244
150
208
208
150
181
194
170
194
147
112
112
176
190
147
112
228
193
246
208
170
210
176
205
208
135
209
167
159
236
228
115
201
170
175
219
232
121
195
172
150
186
121
150
208
112
181
121
172
115
215
112
167
257
237
121
150
192
276
207
237
226
121
185
139
232
121
195
253
194
179
112
136
226
229
136
147
172
172
189
194
123
143
121
121
112
124
112
112
225
201
203
179
170
143
121
186
176
112
152
112
250
159
167
112
186
226
208
123
255
208
150
112
123
195
228
182
121
187
150
174
208
212
192
228
246
150
172
112
136
203
190
121
112
150
150
194
212
121
208
135
160
150
181
128
218
215
179
137
194
150
135
172
228
171
201
158
158
172
131
158
150
150
150
216
235
150
112
200
208
174
167
158
121
263
215
177
250
216
172
194
251
121
218
171
146
208
150
121
112
212
237
206
165
167
208
150
147
160
146
112
167
213
189
225
272
150
121
176
195
181
121
220
193
112
134
208
172
112
238
150
112
261
124
208
136
150
210
172
208
194
150
272
150
172
112
208
181
208
112
150
171
172
172
181
171
150
181
152
135
172
232
112
170
196
167
186
112
187
112
179
287
196
150
261
181
170
168
158
115
214
249
115
143
121
181
170
231
281
123
112
236
278
208
196
208
208
193
227
175
237
121
112
218
150
171
202
172
237
164
209
112
121
150
160
174
158
178
181
194
172
172
171
121
135
202
171
112
164
170
228
212
260
124
227
234
208
112
177
160
159
181
150
208
150
223
150
239
202
150
136
123
150
176
167
121
170
121
170
257
150
137
220
130
156
167
207
136
177
123
216
147
136
231
112
150
150
177
172
171
205
124
171
196
186
171
134
121
150
112
227
146
228
176
121
233
112
229
194
112
121
228
208
242
172
185
181
196
172
112
225
150
121
202
226
150
260
176
150
112
150
124
175
112
258
150
112
112
150
172
170
172
186
177
250
172
172
152
136
112
112
208
112
112
208
121
176
121
121
136
172
165
177
165
150
208
128
205
210
112
210
158
121
121
112
167
190
150
186
112
112
146
212
172
226
226
208
121
150
150
170
112
121
170
185
123
202
183
186
209
240
130
181
208
231
150
193
167
208
213
201
203
173
112
121
193
181
186
219
150
208
181
208
206
208
174
208
172
193
207
112
219
196
172
194
150
181
212
165
228
263
158
158
184
167
121
112
203
112
112
150
243
167
255
123
176
112
164
135
112
150
170
131
171
193
112
172
150
208
208
201
162
112
228
123
178
130
150
112
208
112
208
124
112
112
167
247
257
121
121
136
195
243
147
176
171
172
137
255
172
112
150
121
171
181
203
212
112
176
203
165
121
219
208
282
194
213
177
231
189
177
124
159
175
208
210
150
194
219
124
112
121
172
112
208
193
212
176
237
175
147
150
177
239
181
210
112
137
150
212
177
217
200
208
234
150
121
193
184
170
208
136
206
174
209
112
150
139
121
158
207
178
150
137
112
139
124
207
181
112
112
208
192
130
167
167
164
168
212
150
208
205
121
156
219
228
171
235
112
112
172
239
194
232
205
208
167
144
195
121
195
172
150
208
112
205
150
172
150
176
181
172
150
167
192
165
124
115
168
243
215
150
131
181
112
208
150
231
124
150
150
210
150
172
176
167
231
208
165
150
164
121
112
210
152
181
150
220
168
172
170
167
201
231
112
167
250
172
201
187
231
121
226
165
121
132
212
121
121
172
112
220
254
150
260
147
216
212
176
208
115
208
282
179
150
137
196
208
179
170
172
220
150
112
123
194
186
231
123
203
214
143
193
136
239
150
257
170
204
150
229
206
278
165
176
170
175
223
231
170
112
150
121
194
131
196
165
112
112
170
112
115
124
226
201
112
150
201
208
168
150
150
281
150
252
194
181
123
150
203
207
208
171
186
211
167
174
150
208
172
156
208
150
164
181
123
123
150
174
150
150
112
159
181
121
121
208
150
123
150
220
167
123
170
171
194
194
112
197
208
212
115
194
123
181
112
181
165
112
123
235
150
237
248
175
121
222
181
239
121
211
167
171
121
167
137
210
170
121
170
161
150
115
112
176
172
212
150
228
171
158
150
181
217
170
255
176
232
121
171
150
170
136
121
176
123
137
193
171
112
167
207
167
172
150
137
206
226
147
194
208
121
205
112
145
135
112
202
130
212
112
155
156
150
112
167
194
186
150
247
115
181
112
136
165
121
150
121
167
170
128
208
193
202
195
223
128
202
124
208
150
177
195
191
135
112
112
121
228
170
175
150
175
172
193
121
272
165
174
124
236
165
185
219
223
208
145
208
172
171
121
112
150
112
208
167
226
186
170
164
194
190
121
112
232
193
167
219
165
230
112
121
159
225
171
220
181
225
150
189
170
182
226
123
150
121
112
157
228
170
172
121
167
206
195
205
243
112
228
168
220
160
167
186
112
121
158
121
217
150
167
150
150
196
208
194
172
228
135
224
121
211
150
198
209
150
115
208
121
201
121
201
208
150
186
121
219
115
187
228
272
186
167
217
174
193
238
159
152
121
145
150
178
213
112
135
212
186
181
158
130
150
121
170
172
170
239
121
160
207
112
225
194
175
201
172
168
158
172
112
135
208
220
123
193
208
150
150
112
150
150
161
192
165
165
170
218
160
210
121
123
112
150
208
130
209
172
195
194
204
171
209
165
150
302
208
207
193
115
220
136
278
206
167
150
150
150
218
156
212
164
150
150
172
170
204
192
150
150
112
171
176
112
228
210
121
171
175
181
264
143
167
250
187
124
172
232
186
147
124
121
121
112
112
164
167
235
123
159
216
112
112
208
112
205
156
217
171
223
121
176
150
255
121
150
186
269
137
192
112
228
172
171
229
181
226
112
195
136
112
226
162
136
207
217
168
137
123
174
150
130
176
181
179
112
176
159
226
152
228
164
177
112
167
174
123
193
177
179
172
112
262
171
208
208
121
194
172
167
121
159
205
201
240
150
237
195
112
208
263
124
189
229
233
170
208
250
186
207
123
159
220
124
219
136
167
208
203
171
150
150
195
208
112
171
187
167
194
121
198
208
171
216
123
147
210
233
199
212
112
181
171
121
121
150
112
150
172
167
210
136
115
121
203
112
112
208
176
210
150
170
239
121
205
167
170
167
205
115
150
123
170
183
150
210
212
171
112
171
112
210
208
208
147
150
121
115
156
215
193
112
170
187
121
250
237
150
170
223
164
112
137
121
231
135
172
112
207
160
167
174
112
121
255
181
150
160
181
168
186
215
186
209
198
121
250
193
214
181
227
217
181
150
186
172
112
112
231
112
171
208
239
160
159
171
215
150
281
121
115
231
123
121
150
199
272
170
193
208
229
112
167
112
121
179
123
121
174
172
158
176
172
184
194
187
194
208
179
176
176
210
152
150
121
139
228
205
178
226
237
173
171
158
150
150
176
150
212
187
124
193
165
121
196
150
170
218
150
192
150
150
226
202
136
302
210
121
302
211
219
172
112
171
136
135
208
150
208
176
167
150
264
156
212
232
171
135
165
121
170
205
232
186
150
211
121
121
123
210
121
150
150
121
168
181
210
121
194
159
189
202
124
174
121
165
171
123
121
208
208
121
171
158
249
219
123
170
167
150
112
171
216
195
201
112
167
214
181
174
278
172
220
217
115
165
167
135
172
241
195
230
136
139
250
177
257
250
150
150
240
171
186
170
231
165
242
208
194
174
216
167
211
250
121
228
237
255
208
135
121
167
171
226
150
164
121
137
150
179
150
193
168
208
237
208
167
112
160
205
121
135
115
150
202
239
193
195
121
202
177
146
210
121
194
150
112
123
123
112
216
231
112
272
217
164
150
208
124
171
210
164
187
223
171
124
211
272
159
266
171
194
112
121
167
135
150
161
176
121
192
219
203
150
121
121
150
121
170
128
243
130
176
115
112
194
177
181
190
193
203
220
150
136
112
210
121
226
121
150
187
219
212
219
187
136
135
228
165
172
167
173
150
112
112
121
112
162
250
121
171
150
217
207
194
150
228
228
186
150
165
250
112
135
179
112
171
255
174
208
137
172
123
194
186
207
121
115
208
187
165
150
208
147
130
112
210
150
210
240
192
112
159
135
112
284
112
170
184
179
165
187
174
167
202
172
150
228
171
164
214
135
121
208
208
171
205
150
121
208
112
172
167
171
137
175
208
115
208
137
186
172
181
121
349
167
172
172
210
256
167
130
170
165
202
204
232
172
194
156
201
182
210
177
221
150
150
147
203
195
167
150
210
144
187
179
121
241
305
121
135
112
229
228
167
121
205
170
112
112
112
112
165
192
195
165
168
121
203
121
241
123
130
150
193
164
172
150
222
143
112
174
216
112
208
187
147
162
204
136
164
212
171
136
172
150
181
150
187
121
181
196
279
145
160
150
123
194
225
150
168
167
245
205
146
150
184
112
172
167
220
172
218
112
167
213
181
207
177
164
112
168
147
121
121
231
214
174
121
225
203
174
157
135
193
208
174
181
208
175
167
220
171
202
165
228
165
121
195
201
199
231
208
176
112
150
152
178
203
208
121
167
150
170
204
243
176
171
228
115
250
136
237
175
123
172
130
112
189
147
137
168
187
219
173
186
150
165
174
172
123
212
210
186
172
202
208
219
147
202
137
112
208
171
302
208
194
172
124
150
187
167
137
213
208
112
143
186
193
172
220
168
112
186
174
172
175
227
228
208
227
194
150
220
136
176
172
150
192
121
186
174
112
150
208
112
168
219
264
136
167
157
172
186
150
171
150
170
112
150
187
186
121
115
167
112
136
176
203
124
181
194
171
172
176
170
112
153
172
208
172
124
276
112
202
144
150
236
186
187
158
208
112
208
167
123
210
152
210
167
170
182
195
171
192
178
210
160
121
171
121
170
172
112
156
150
197
177
123
187
187
194
171
212
172
170
181
198
210
237
165
231
158
176
176
226
218
207
164
177
212
124
201
237
210
212
150
272
181
150
214
143
150
187
170
121
255
243
150
121
150
195
192
170
124
150
186
156
112
160
158
219
195
170
315
226
123
178
167
121
186
137
150
165
186
175
150
172
135
223
112
264
187
228
207
203
121
170
167
128
176
255
249
121
254
137
167
192
208
244
229
124
200
205
150
158
237
266
121
130
167
150
205
204
152
123
187
150
208
167
150
121
208
213
194
172
164
210
179
167
137
170
193
173
172
170
165
170
150
112
164
150
172
121
207
177
181
202
121
195
130
158
208
167
208
181
147
121
123
147
171
208
121
192
137
180
112
112
172
167
115
172
194
199
121
115
170
124
190
164
173
112
213
272
124
194
172
152
164
215
112
208
263
231
123
121
228
228
112
112
195
208
205
150
152
150
231
115
194
172
230
152
214
136
121
167
263
150
208
150
201
203
112
170
241
237
135
150
159
170
193
112
150
112
147
231
150
172
150
170
150
112
124
136
207
215
121
203
177
156
112
160
172
112
121
159
192
208
236
123
159
172
150
112
205
123
150
115
204
175
255
208
112
124
150
112
216
187
175
178
195
150
237
170
177
208
112
164
121
176
174
121
150
175
201
137
136
202
123
205
150
202
150
239
150
150
121
167
121
172
208
223
112
121
147
135
194
172
235
112
121
172
171
172
167
245
112
225
164
156
177
227
121
112
228
147
209
121
167
191
123
184
186
267
235
193
207
168
208
194
112
228
231
150
186
112
237
174
230
174
171
172
195
123
124
237
170
163
192
276
121
158
154
167
259
176
171
159
229
150
208
178
183
218
235
176
172
176
212
193
208
185
170
181
121
176
205
213
121
167
112
171
121
193
136
135
150
112
150
174
165
121
150
228
215
186
208
112
240
130
121
187
112
194
112
112
187
121
189
181
179
112
225
121
170
137
211
171
208
208
186
112
193
170
150
194
115
161
213
112
164
176
121
150
203
167
203
150
194
167
121
147
194
152
171
112
130
150
192
158
163
170
137
121
123
201
147
135
187
146
150
212
121
160
130
271
130
165
220
121
112
208
208
135
167
170
177
112
208
156
254
121
123
150
194
252
121
181
208
226
170
135
161
124
170
150
208
208
253
193
112
232
194
171
112
196
176
197
112
208
192
150
175
150
203
170
150
147
167
147
123
208
158
173
302
232
167
167
147
226
207
135
177
212
130
150
152
150
135
164
226
171
172
212
201
172
158
201
112
195
168
205
137
181
225
144
130
211
201
112
115
150
278
150
208
208
186
177
147
123
172
150
150
172
146
196
170
193
231
187
208
174
147
208
194
123
158
121
215
230
150
172
158
212
226
208
195
167
225
192
171
186
250
208
202
208
150
196
252
179
136
137
150
263
208
147
121
158
172
177
150
123
121
121
121
194
168
172
150
186
184
208
150
193
222
232
112
160
115
175
193
186
123
121
160
299
212
228
237
156
136
176
205
121
123
121
171
212
208
172
121
216
159
160
221
112
193
181
150
207
203
172
112
150
158
167
221
171
214
218
202
181
195
172
170
150
211
225
123
172
208
174
239
150
193
241
214
228
139
167
121
229
208
253
239
196
171
231
237
177
226
115
203
193
121
165
259
229
237
167
194
265
201
170
121
112
165
238
212
150
203
212
137
123
229
162
121
135
165
150
187
209
143
181
159
239
203
121
205
192
150
194
250
212
121
228
176
173
121
112
233
150
121
219
176
150
121
150
176
123
265
203
174
115
167
158
229
214
208
212
184
112
112
121
137
234
172
150
121
158
121
187
172
121
167
212
204
159
208
150
172
208
208
172
269
208
201
187
181
228
174
208
150
198
150
150
161
112
112
150
194
192
170
196
194
278
225
121
205
147
112
284
112
172
123
194
249
181
123
237
195
181
190
174
193
150
167
228
208
226
112
137
237
121
181
165
202
270
167
136
202
150
112
121
168
172
170
229
172
231
150
193
172
210
139
215
170
180
176
150
112
121
194
204
228
172
181
137
121
226
263
150
171
210
165
147
203
145
210
112
150
167
167
112
123
217
220
172
194
177
112
158
150
167
150
177
121
207
146
195
194
208
121
214
121
112
170
141
176
177
191
208
135
121
121
278
176
194
233
112
176
156
165
147
210
175
150
150
171
208
136
112
197
208
150
137
152
207
146
121
208
193
135
112
193
225
196
206
175
176
167
160
194
226
195
254
112
165
179
186
136
179
123
112
150
170
168
172
208
167
136
124
172
186
210
112
136
212
208
147
112
212
112
152
194
202
228
150
135
208
288
112
167
147
112
121
189
176
172
150
121
121
112
112
184
112
112
200
123
121
194
150
137
201
112
208
194
137
137
236
112
112
160
121
112
165
164
112
204
186
136
150
136
171
178
121
202
210
172
172
135
112
194
167
150
181
265
172
123
170
181
237
124
112
170
259
186
234
192
150
160
157
172
194
170
198
228
203
232
210
186
194
150
121
112
201
112
194
176
150
167
208
219
150
234
210
237
112
124
150
161
121
144
212
171
135
123
112
210
150
208
212
236
201
218
213
150
121
179
150
187
128
136
150
270
164
121
137
176
208
212
212
185
178
200
205
258
250
216
240
165
150
234
112
187
150
208
172
208
165
159
141
137
160
159
208
150
217
250
145
121
223
112
123
237
130
121
194
121
172
181
174
123
195
186
150
186
208
112
171
181
167
179
121
171
195
208
150
201
228
195
212
231
186
208
112
137
130
195
136
201
150
181
211
150
170
238
179
115
150
165
240
150
158
124
112
167
150
123
112
254
170
123
158
170
135
176
174
240
158
167
208
112
239
172
220
201
150
170
121
112
228
186
167
228
167
152
136
181
192
199
112
170
192
112
164
220
252
170
135
144
210
193
239
170
156
201
178
237
135
197
112
172
212
112
121
177
150
250
171
112
195
208
208
220
162
208
172
217
302
121
215
150
225
150
172
174
186
219
170
205
242
220
234
186
121
152
160
150
112
208
220
150
228
172
121
202
192
112
159
130
212
176
177
208
123
265
123
171
239
186
152
246
112
150
193
195
121
169
187
181
150
215
150
254
150
137
206
213
226
239
187
170
175
220
150
208
232
231
172
123
150
115
272
161
167
208
112
194
136
193
235
193
165
232
261
173
195
208
136
112
170
137
164
185
226
170
160
112
170
194
231
172
121
232
161
121
208
184
112
230
205
197
143
172
150
177
121
123
207
167
186
137
187
186
112
172
181
189
199
228
172
145
112
112
172
115
196
167
212
164
130
167
228
233
281
237
194
152
176
150
184
194
185
181
121
172
150
171
190
192
136
112
208
150
292
121
210
243
137
112
168
137
179
167
245
135
123
208
174
150
158
196
112
217
175
220
281
211
272
112
121
192
121
174
236
137
215
203
112
208
212
172
171
164
167
215
176
150
186
278
284
193
121
150
158
170
219
165
121
135
225
219
159
150
123
230
121
121
208
172
172
208
168
175
170
219
121
115
195
182
258
136
150
195
150
160
186
172
150
208
112
208
282
112
170
177
165
214
112
136
170
208
226
123
193
150
274
112
226
150
121
202
250
171
167
181
150
214
132
229
203
144
179
194
177
150
143
220
112
210
181
278
136
167
219
195
181
165
250
167
186
121
176
164
181
236
112
150
150
242
176
250
112
202
179
208
112
205
297
186
193
112
186
177
150
208
187
217
204
150
193
172
194
194
162
172
123
167
176
150
147
158
160
160
165
137
221
150
239
112
112
144
158
193
128
187
121
150
123
156
207
150
150
112
144
167
156
144
208
123
112
208
208
181
172
208
172
217
121
201
255
225
181
137
121
121
170
150
250
123
123
171
225
150
150
205
135
215
150
112
137
121
167
112
212
158
165
236
171
168
124
186
181
115
170
207
147
202
171
152
130
167
170
208
170
121
177
136
123
165
150
168
205
165
150
187
193
112
123
150
162
147
150
208
121
210
178
171
115
112
150
112
156
170
167
112
187
147
204
186
192
136
215
161
228
196
150
200
150
189
150
168
195
112
184
112
112
239
112
121
179
137
181
210
176
150
164
257
216
171
228
123
210
172
121
159
165
237
210
212
302
176
170
167
150
123
255
172
143
150
172
150
171
208
136
186
240
178
115
112
112
220
194
170
203
137
212
236
238
121
167
208
124
135
209
243
150
170
150
184
135
172
164
175
112
194
150
302
202
112
208
170
181
144
147
121
150
123
150
171
170
112
121
203
205
218
150
123
167
228
167
192
136
112
123
172
112
152
253
213
121
176
112
115
193
233
228
123
170
297
162
112
150
172
208
226
170
147
187
176
219
150
253
112
193
112
195
112
158
172
150
152
130
150
150
233
203
201
272
150
181
112
247
231
161
159
178
232
209
121
211
194
208
135
172
121
208
181
112
112
187
247
181
159
183
170
150
150
224
144
239
124
176
121
270
194
172
150
162
218
210
195
181
176
164
187
152
165
167
172
121
205
135
167
208
210
227
171
150
158
205
181
121
136
164
207
226
112
208
164
121
172
220
194
165
112
228
217
170
112
121
170
204
172
167
121
121
165
123
137
115
170
194
210
150
165
208
175
167
194
128
150
121
150
240
147
250
167
112
176
171
171
168
207
172
112
228
150
165
172
147
121
193
170
181
150
174
172
167
208
220
197
112
170
177
121
124
208
167
123
209
178
165
168
137
112
245
150
150
152
231
156
250
174
167
170
194
145
123
194
226
121
150
150
121
150
121
143
150
181
167
186
152
150
223
186
150
121
121
170
172
121
136
152
190
192
187
172
150
150
195
121
136
228
182
112
243
147
168
150
157
124
208
194
124
177
164
172
186
150
208
150
112
135
112
174
194
161
170
232
172
182
238
158
170
165
181
150
239
150
112
179
159
112
123
202
131
112
302
112
150
158
214
236
143
150
158
204
121
185
210
208
135
195
203
210
170
112
167
159
174
205
172
208
186
150
208
137
243
150
187
276
121
147
174
123
124
121
172
222
157
165
158
171
249
176
203
247
159
121
150
202
228
263
172
150
214
150
167
218
186
181
266
150
150
208
226
186
237
208
250
187
195
208
230
265
173
211
181
181
195
202
205
236
150
252
274
208
150
164
147
150
167
210
150
150
150
112
171
121
177
241
187
170
208
225
121
208
222
112
112
112
237
112
152
237
112
167
167
112
165
203
175
167
128
225
205
172
208
244
150
112
184
150
170
112
212
137
112
176
121
165
112
194
320
172
185
121
256
121
150
150
236
150
236
150
121
112
208
150
150
136
241
177
150
239
226
233
257
121
232
170
203
186
164
150
220
123
201
137
208
212
121
208
159
150
150
226
168
176
243
208
187
195
186
195
193
112
208
156
232
123
115
135
241
152
184
165
121
112
254
195
202
167
167
172
150
121
228
195
112
121
112
150
210
208
217
178
171
247
115
228
150
196
276
121
156
219
202
135
219
187
147
112
194
228
170
150
130
150
135
196
112
165
208
123
272
186
144
123
112
112
209
112
194
258
158
239
124
130
220
194
172
136
170
302
112
208
112
159
245
135
207
112
165
137
170
193
150
115
171
192
232
175
217
210
182
175
121
160
175
136
187
231
181
183
160
150
112
171
167
123
150
167
205
201
270
167
168
231
165
217
208
186
150
161
150
210
167
167
168
112
150
150
242
150
165
150
136
112
121
187
243
170
176
152
137
121
112
208
199
234
147
187
172
121
231
124
159
263
121
231
244
164
139
135
217
176
204
167
121
195
208
208
121
220
171
209
194
233
112
150
150
186
112
130
205
135
209
139
172
222
167
181
193
187
175
112
177
112
136
202
202
229
137
112
208
202
150
121
172
186
228
209
112
239
170
150
208
123
150
150
172
167
150
121
150
181
176
123
150
137
176
121
150
167
200
208
176
150
165
176
174
147
181
202
158
272
160
176
150
165
160
239
171
152
208
150
150
196
231
170
123
150
150
175
158
167
171
121
208
165
220
238
121
172
196
232
192
215
170
156
199
179
167
170
123
239
219
136
188
121
172
176
172
202
137
172
156
239
178
158
217
112
150
112
208
176
208
150
237
186
112
168
205
208
172
150
147
222
121
186
136
302
197
228
167
115
177
121
150
181
184
121
220
194
164
159
150
150
167
168
170
239
137
205
112
121
176
150
235
137
297
204
167
168
121
167
112
215
225
171
171
194
121
112
112
194
195
208
302
170
130
121
195
194
228
147
218
112
196
112
150
164
112
193
213
168
210
189
215
220
152
184
112
302
130
233
147
136
150
165
176
150
123
208
272
192
170
112
202
171
210
121
176
225
202
228
112
167
171
150
150
112
150
210
152
112
228
123
263
267
183
160
167
174
272
172
136
135
112
158
212
193
278
160
124
235
150
112
194
150
121
112
112
216
121
201
181
183
143
121
158
123
168
112
190
218
136
231
193
150
257
112
278
194
121
208
181
121
121
176
196
176
218
123
172
176
194
150
136
121
174
194
194
150
226
171
276
158
210
167
167
150
168
121
121
147
121
167
150
286
208
158
170
205
121
177
196
167
160
144
228
135
158
194
194
112
171
205
150
123
195
150
123
150
112
239
210
217
193
176
150
123
192
171
150
150
159
207
112
121
167
195
171
194
170
265
172
121
112
136
208
226
302
208
165
187
212
137
208
136
112
169
189
150
181
112
172
112
165
202
201
208
121
112
208
167
228
214
150
208
225
195
165
208
172
143
159
115
112
172
172
160
195
208
150
176
181
204
212
208
208
201
265
202
186
172
202
121
177
192
150
172
193
160
150
112
187
112
167
124
193
210
243
194
203
208
150
239
190
171
159
124
171
150
237
150
208
115
202
170
115
223
217
217
158
172
121
186
215
150
174
177
121
115
150
207
150
193
170
121
177
299
181
121
112
256
208
168
136
165
205
205
167
194
112
172
150
121
171
168
186
150
192
150
237
190
202
147
176
112
172
197
112
112
181
212
135
167
201
174
159
194
150
128
175
272
167
150
208
171
229
205
219
176
150
150
112
112
263
167
208
150
238
217
177
121
174
302
167
167
165
167
112
150
174
115
173
121
121
237
150
150
115
193
257
205
150
165
263
193
208
168
150
112
207
150
187
159
115
184
219
153
194
176
193
241
112
208
239
208
184
210
171
165
208
172
112
212
202
302
174
147
150
150
135
171
193
170
112
150
170
208
175
208
208
174
184
170
150
246
193
150
164
112
195
167
170
112
195
150
186
176
233
170
231
170
150
205
177
121
236
171
121
167
272
165
174
150
123
208
202
115
226
150
150
171
167
202
208
115
135
170
208
243
112
237
174
121
213
161
215
135
208
165
152
136
181
235
231
208
193
121
172
164
206
172
225
213
171
177
150
130
150
225
194
112
174
150
187
195
121
143
112
263
208
112
122
208
150
203
150
237
172
186
176
217
250
121
121
226
171
172
212
171
150
112
121
121
208
158
165
130
228
137
172
112
208
168
181
121
208
167
190
123
135
203
196
174
164
208
202
178
176
208
112
167
150
172
208
181
193
121
159
150
239
245
220
150
165
192
167
203
270
193
232
235
210
198
112
164
259
174
123
255
172
166
147
177
197
115
121
214
201
207
159
194
112
112
121
150
170
121
161
123
121
244
235
150
121
115
237
207
171
171
222
170
186
228
121
170
172
211
152
170
193
212
195
112
186
172
173
225
136
236
172
174
210
112
171
121
170
112
207
150
228
171
170
123
112
112
112
123
112
171
194
228
208
208
121
150
121
195
112
168
194
218
231
186
112
236
170
187
170
150
193
159
121
275
150
167
172
217
150
201
219
112
181
167
208
181
187
170
212
210
112
174
198
231
176
150
186
150
263
208
201
171
174
150
150
174
123
229
121
159
171
165
193
150
203
231
201
167
201
121
297
174
150
219
207
159
176
121
135
112
172
224
150
150
203
121
201
150
196
123
220
187
167
121
246
203
167
172
112
164
178
212
181
194
167
174
136
240
150
233
164
172
208
171
220
259
171
228
216
172
172
170
112
121
208
210
175
165
201
228
112
186
150
121
289
208
121
208
201
121
208
250
236
176
121
150
212
150
221
204
174
215
112
171
208
213
275
209
121
147
167
121
167
150
147
150
213
121
158
208
210
224
150
179
137
112
164
229
194
137
164
186
282
147
175
161
160
208
231
112
123
172
150
112
150
121
239
205
161
170
121
176
112
281
137
177
150
136
136
192
158
167
257
121
121
182
167
121
210
193
208
112
167
186
186
195
189
208
232
186
194
112
150
232
112
218
112
115
228
130
255
150
236
181
244
137
167
121
214
123
176
150
152
136
202
115
147
112
112
187
150
208
121
165
150
150
201
112
240
159
115
144
115
216
150
112
201
209
170
167
160
182
121
150
121
228
196
181
193
165
152
115
167
172
231
231
212
177
194
121
212
112
158
170
222
115
137
121
182
228
143
201
124
228
181
123
123
233
170
263
172
182
218
193
176
121
112
160
115
162
150
207
194
112
112
150
121
152
147
130
208
196
150
194
121
150
194
137
175
150
170
235
112
231
193
121
112
164
278
203
123
112
212
208
239
199
171
194
121
172
172
136
150
208
121
150
208
112
210
112
112
181
121
152
208
121
171
167
112
207
137
150
174
121
281
150
219
228
127
171
208
208
123
123
167
135
121
171
150
128
159
176
188
150
220
235
192
172
167
176
220
112
237
121
115
168
150
189
112
167
121
181
150
172
124
150
121
121
211
176
123
159
202
150
171
115
203
208
237
164
150
210
240
121
112
226
172
192
208
121
121
121
175
170
150
208
187
195
165
167
150
112
112
214
170
123
172
171
137
225
150
167
208
112
150
212
150
213
220
201
168
143
171
258
112
176
112
194
112
112
171
257
164
229
152
199
112
160
195
237
112
115
150
144
150
228
233
208
231
123
147
136
172
171
165
263
225
112
159
121
152
172
202
160
167
160
219
203
212
112
167
218
150
112
160
218
190
210
171
112
165
170
233
147
170
112
186
194
112
202
112
208
181
112
216
121
150
150
112
115
181
201
112
181
128
167
158
194
121
112
115
195
220
150
121
184
239
186
207
240
167
164
115
161
228
250
181
121
147
177
121
121
167
170
176
168
218
159
115
152
205
172
228
208
199
137
112
130
200
137
177
258
150
150
219
150
202
115
212
176
193
150
121
228
172
172
167
208
121
123
193
121
137
156
137
150
170
112
121
220
135
193
152
225
115
164
234
167
112
115
112
112
184
203
121
150
212
121
143
176
171
171
210
167
170
165
135
228
186
150
165
123
208
150
176
154
150
150
187
150
167
121
144
167
123
135
302
232
177
172
112
229
112
184
256
208
165
150
147
172
170
123
147
211
233
150
112
174
220
171
135
208
247
112
226
181
136
147
160
230
161
272
150
150
228
208
112
123
135
255
172
112
164
128
121
255
214
121
217
165
112
193
194
172
219
239
150
176
189
150
225
121
171
153
207
250
150
121
143
165
121
160
121
172
172
208
205
150
208
186
112
174
172
115
159
284
150
302
165
112
150
171
150
164
208
150
170
167
112
112
170
228
250
130
215
174
150
201
171
216
168
241
213
171
208
192
135
112
164
121
112
174
121
181
112
194
164
115
216
112
201
137
139
239
257
235
123
217
187
217
176
121
172
186
186
225
230
176
186
123
212
115
192
182
175
195
192
164
225
182
161
121
208
246
193
112
187
189
196
121
112
156
172
164
150
112
136
181
112
205
112
121
228
121
232
243
150
168
167
150
112
173
121
121
160
186
123
150
201
170
123
172
225
124
121
178
121
160
173
159
112
287
150
167
121
229
241
265
168
130
278
172
112
150
208
170
147
176
121
258
208
208
170
210
192
208
167
200
121
187
112
121
164
241
112
150
181
216
207
121
208
135
208
250
143
203
150
172
144
228
150
176
208
192
167
208
115
171
112
121
193
179
181
194
150
158
210
195
164
131
187
156
121
272
167
150
167
208
208
194
256
219
202
167
162
121
207
270
256
174
188
170
217
112
247
150
200
172
165
150
170
147
158
112
150
196
181
206
177
250
112
147
187
302
172
203
172
207
194
230
150
239
147
177
208
208
172
208
187
250
181
168
237
255
135
130
203
203
208
124
121
235
112
112
158
185
150
242
208
226
124
121
175
115
261
208
112
135
168
123
208
159
170
170
167
150
250
123
201
171
172
170
192
170
167
112
215
115
115
264
231
201
201
135
229
193
208
190
172
121
204
150
166
215
156
112
227
202
263
112
112
112
112
182
150
171
160
150
160
170
193
167
161
150
136
165
212
136
198
159
208
181
230
204
195
228
147
194
217
170
150
143
135
158
121
311
112
247
112
136
205
150
236
241
150
156
229
150
112
223
176
112
121
128
208
112
150
231
150
136
173
112
172
196
123
112
232
181
172
160
176
194
135
186
181
121
187
200
150
228
175
234
121
218
171
150
208
195
172
112
121
121
121
167
170
167
164
150
136
121
156
150
177
150
228
158
168
128
203
167
112
147
121
172
181
112
187
167
130
241
112
170
165
194
159
123
156
121
121
124
194
193
150
187
172
121
184
276
193
121
187
121
136
150
150
115
171
205
121
172
193
192
189
176
135
160
121
112
112
208
150
121
243
230
212
171
186
227
250
181
235
265
202
186
167
167
115
201
208
159
123
219
158
131
266
136
172
181
170
171
231
143
172
170
194
112
150
150
165
167
302
121
168
171
226
150
201
150
137
135
150
164
136
167
209
172
150
121
150
181
115
150
194
232
150
195
172
112
212
170
220
200
225
112
172
192
210
201
226
123
112
238
121
115
208
150
172
205
159
147
150
112
150
195
205
143
177
202
170
208
176
253
208
150
205
186
172
187
176
112
228
150
208
208
112
172
192
115
121
203
170
211
196
167
136
171
121
167
172
112
121
137
208
124
193
210
231
112
208
150
167
194
121
201
147
203
170
115
225
171
174
186
121
112
211
234
150
150
342
172
135
233
171
112
176
218
208
152
170
150
208
121
205
233
135
231
217
112
228
167
213
136
150
130
200
184
208
210
171
150
211
253
172
160
273
171
193
193
194
171
137
194
208
171
203
112
218
112
168
179
225
179
170
237
208
164
150
171
150
172
139
237
210
112
170
150
208
150
192
208
176
210
121
232
121
170
171
112
160
184
136
167
115
137
198
167
123
121
137
233
203
231
150
195
193
210
217
165
171
171
177
112
169
167
226
121
121
176
195
121
135
172
112
170
228
193
219
172
150
193
265
135
186
165
150
121
112
208
160
150
176
112
121
212
150
186
162
208
210
150
112
175
257
150
208
181
123
150
167
193
302
167
237
181
170
115
192
121
143
165
208
229
123
172
150
112
208
121
195
172
195
150
112
112
260
174
189
196
184
159
164
112
135
220
299
181
172
181
159
175
160
150
167
150
217
159
172
221
156
150
172
208
239
181
176
137
136
194
150
172
174
121
172
197
112
215
112
276
112
209
123
176
150
121
112
137
172
150
112
115
192
150
112
179
181
171
195
190
123
150
112
201
150
121
176
150
170
271
115
150
234
112
185
112
176
112
167
228
176
208
270
150
135
210
218
187
186
112
156
178
192
170
212
112
224
121
121
177
187
187
207
136
167
167
150
159
150
112
171
121
208
247
182
187
186
302
229
349
175
123
159
240
112
187
168
208
112
190
177
168
147
162
130
150
170
174
150
195
171
124
239
136
121
165
121
121
164
121
176
202
190
150
189
181
172
150
181
180
281
160
121
137
157
201
171
231
231
150
172
175
136
216
240
181
135
121
172
194
228
150
208
178
170
121
210
167
146
207
210
176
150
115
121
196
202
136
112
150
121
170
253
131
128
112
259
112
112
121
239
259
170
174
171
176
171
227
160
210
189
212
167
121
147
143
208
181
171
158
212
121
192
202
196
189
228
137
121
210
170
135
136
206
112
231
150
172
171
112
208
208
201
255
115
150
172
121
158
208
181
121
208
172
158
167
121
150
150
237
177
147
222
229
176
152
181
246
170
130
176
185
201
208
189
112
150
203
150
210
194
237
115
168
170
167
240
236
227
156
162
135
152
194
158
150
128
193
234
123
193
263
159
170
235
195
172
136
115
220
150
167
186
210
121
150
121
171
215
186
209
171
121
187
150
229
233
150
156
184
263
121
170
170
112
243
172
179
137
150
170
150
112
179
121
171
112
150
176
170
210
112
249
121
123
208
172
193
121
150
175
171
135
171
208
205
150
279
150
176
196
112
121
112
220
176
167
171
121
302
164
182
196
121
200
217
112
156
121
250
228
208
208
243
201
251
150
135
194
231
176
206
147
184
150
202
170
121
181
115
276
212
181
177
165
176
215
121
203
263
181
112
121
181
208
167
302
226
136
150
172
208
170
112
275
196
112
158
172
112
130
237
165
121
208
189
137
202
135
160
181
150
112
150
174
210
217
147
195
231
182
150
172
150
176
150
239
124
174
196
215
135
181
123
186
150
233
172
181
121
112
170
219
123
206
208
160
181
172
150
121
150
226
150
194
240
112
172
231
150
112
112
112
250
165
112
250
121
167
172
136
194
167
217
158
172
167
187
210
195
237
239
172
202
203
121
115
170
135
187
112
171
230
218
186
225
170
174
144
193
189
112
176
207
156
112
208
167
150
121
210
112
121
228
208
136
172
193
186
256
150
167
112
208
123
207
202
167
202
121
187
121
165
167
112
130
123
228
121
112
112
223
144
167
136
167
217
112
150
156
150
243
123
150
164
181
220
208
121
172
121
112
124
135
171
121
187
121
187
150
168
171
150
202
227
176
123
112
244
158
186
201
172
205
121
170
112
168
150
123
112
165
112
212
194
135
202
124
234
121
171
163
194
150
179
167
121
115
232
121
112
172
169
112
181
201
187
112
214
231
182
187
112
112
112
193
217
121
171
177
112
165
189
177
218
176
121
181
150
243
257
176
137
171
207
186
202
181
201
171
225
186
150
150
137
150
112
172
150
266
150
201
208
170
147
115
239
201
156
121
121
150
150
150
137
231
121
137
208
115
189
167
112
187
193
192
193
194
112
179
172
184
217
112
192
112
176
208
276
246
250
225
203
219
235
231
202
181
168
157
283
177
208
168
121
136
181
205
164
194
181
171
208
192
165
172
165
171
193
112
194
198
212
194
167
192
181
150
226
160
177
231
171
146
164
121
150
230
225
165
264
172
165
136
121
160
228
150
144
229
112
150
176
186
185
205
277
167
187
150
174
150
194
158
170
137
150
112
208
167
112
197
112
112
150
195
112
197
212
193
229
236
150
181
165
121
172
186
176
224
187
135
150
204
160
171
167
167
160
203
201
237
177
228
121
186
228
130
195
172
193
257
157
218
158
156
206
150
150
184
112
210
217
217
197
181
171
135
137
219
121
195
187
193
193
115
112
112
112
137
198
233
195
152
112
172
130
207
165
216
229
167
172
172
176
135
208
121
170
203
207
209
214
181
181
276
112
208
215
123
228
172
242
243
158
208
235
208
150
121
112
121
176
112
186
150
228
150
121
214
112
121
170
163
121
250
212
172
167
112
208
208
170
150
209
157
157
150
217
195
112
135
172
227
172
217
145
167
196
180
167
221
177
112
243
210
121
171
160
208
216
192
150
136
186
156
112
167
234
208
144
168
210
150
152
112
136
192
112
172
123
194
150
181
228
202
216
207
194
228
112
137
135
121
187
150
215
250
194
218
121
112
112
150
186
172
156
172
208
208
123
167
150
123
193
121
150
177
228
124
209
183
208
150
187
186
156
194
136
233
171
232
226
135
233
121
147
121
123
172
231
165
152
193
170
115
164
237
130
150
121
150
181
170
194
189
213
172
181
173
150
210
115
245
171
171
121
112
136
255
124
150
115
128
207
165
270
218
232
208
202
150
121
192
208
150
208
121
150
176
112
172
244
181
170
150
150
234
172
217
135
135
115
156
176
112
158
167
159
240
164
123
150
176
192
128
192
130
150
137
172
121
135
207
150
170
172
150
156
172
238
150
229
162
199
150
174
208
276
121
208
171
112
112
204
208
203
193
208
170
215
150
172
123
183
231
170
193
150
147
212
172
172
115
135
302
170
150
167
172
171
228
150
121
171
212
170
170
170
228
112
136
208
150
112
167
172
189
194
121
175
121
208
170
150
150
172
150
112
167
229
137
121
239
175
164
196
174
147
161
115
228
150
208
150
112
160
217
150
244
181
121
235
112
131
112
231
171
212
195
271
121
165
121
164
136
165
164
203
170
150
167
181
172
162
189
150
194
121
186
158
150
170
159
220
150
193
170
136
236
225
150
165
194
121
236
228
121
172
164
112
145
167
171
170
208
121
156
135
208
112
213
172
150
121
137
167
112
159
202
170
136
121
130
172
194
128
112
121
215
167
150
112
170
124
210
194
159
172
121
203
172
209
208
202
170
130
210
208
194
172
160
263
202
194
112
167
135
195
164
192
189
231
208
208
219
121
112
187
123
177
150
170
150
250
159
123
227
210
121
143
121
167
172
172
189
112
174
152
121
212
171
115
202
156
150
181
137
252
172
112
208
194
167
278
121
150
189
112
121
186
150
179
172
262
121
177
203
195
225
177
171
176
112
302
181
260
167
212
112
121
159
150
150
152
123
150
208
177
121
186
158
237
167
172
147
130
172
150
184
177
233
233
195
115
112
172
112
150
135
124
205
171
275
208
194
244
167
150
163
150
112
220
163
190
143
181
260
167
167
150
176
167
135
112
214
112
162
195
112
123
170
195
194
185
237
150
121
112
150
218
208
237
150
194
186
147
170
123
150
219
159
191
121
123
208
186
112
208
170
112
165
171
208
170
272
167
135
123
136
172
150
212
112
171
121
192
181
210
194
202
150
239
297
112
165
208
220
176
186
165
112
199
195
150
112
152
194
226
147
160
150
172
170
240
305
167
205
193
123
150
150
150
150
150
172
237
112
123
150
217
193
136
246
121
112
203
230
225
137
172
177
137
245
152
167
176
208
152
231
121
172
172
121
181
278
167
208
177
167
139
167
217
182
174
172
158
150
178
170
150
172
150
121
160
112
177
194
112
239
156
150
112
150
121
164
194
136
164
181
159
172
232
124
254
196
194
238
198
147
128
194
272
237
124
150
193
187
170
121
150
225
195
196
112
175
187
112
112
159
130
177
150
150
220
193
167
112
225
203
170
231
186
150
278
218
208
181
212
167
167
172
121
112
165
136
121
181
205
150
112
150
150
159
167
208
186
172
176
171
136
227
145
193
112
115
216
150
179
181
232
222
171
207
211
181
123
208
171
195
167
112
208
172
175
158
218
137
209
219
227
208
150
121
208
150
236
202
172
214
233
167
112
171
226
123
121
150
150
195
130
167
112
112
112
150
150
150
167
172
239
196
208
112
239
150
115
205
226
150
164
189
233
147
112
228
171
121
181
167
225
150
220
112
186
112
193
121
200
160
139
150
121
123
150
121
159
145
172
175
203
112
147
168
137
112
150
150
170
194
121
184
164
227
187
158
150
167
208
171
135
198
187
172
177
276
218
187
115
210
172
225
177
228
208
195
150
112
278
170
121
150
167
150
139
187
210
161
115
164
150
208
208
237
186
226
121
239
189
179
112
171
240
121
121
170
203
218
112
137
112
181
164
112
112
207
198
167
213
167
186
147
176
112
228
172
255
121
121
212
176
121
213
176
150
208
112
209
201
123
158
209
250
150
208
181
228
164
147
297
240
112
187
172
112
167
121
263
147
150
271
208
213
112
150
124
176
194
150
233
177
143
175
203
208
209
150
208
121
208
167
144
121
150
186
281
112
167
112
220
150
112
150
228
137
112
201
212
162
112
257
212
212
112
150
171
150
187
158
150
112
112
150
210
150
228
150
130
181
123
226
143
194
214
159
124
137
112
208
159
123
232
208
171
212
150
240
112
150
208
202
167
112
220
223
172
156
123
208
164
218
203
131
208
170
208
170
174
150
206
150
160
194
115
150
236
185
146
121
158
121
112
201
228
123
239
121
121
177
112
170
171
121
170
174
150
171
150
257
150
135
204
302
178
184
172
135
112
123
225
137
163
181
150
112
229
176
193
170
208
237
147
170
171
220
167
211
150
150
202
121
202
170
170
143
115
150
233
208
123
121
215
112
179
115
208
276
121
162
203
137
208
226
206
160
150
172
210
171
112
208
323
152
112
212
177
176
195
135
121
225
128
212
123
115
172
156
164
215
194
205
150
202
135
232
187
112
187
230
170
192
176
171
112
150
219
218
124
112
172
136
203
171
121
187
112
217
254
165
172
181
187
121
195
150
112
121
143
112
172
150
231
244
171
167
112
208
231
115
171
150
187
170
212
176
112
192
156
176
135
212
185
193
189
121
150
203
189
177
194
243
170
170
207
167
170
137
171
208
276
121
171
170
181
121
202
150
196
171
150
233
178
150
176
121
152
112
193
172
172
164
208
147
150
150
230
176
212
124
112
170
229
191
202
123
130
233
218
112
123
152
121
243
171
228
159
112
186
121
171
123
172
135
115
205
150
193
208
208
216
150
225
198
121
182
121
194
112
194
136
150
172
206
156
239
150
137
187
232
150
136
112
170
112
184
302
210
172
136
121
232
160
168
150
279
181
192
167
202
272
164
243
167
212
208
208
187
225
217
209
299
208
128
194
165
121
192
150
112
167
121
278
158
170
112
208
181
137
136
213
165
184
150
236
171
112
121
112
181
172
181
121
170
159
237
240
176
144
150
136
237
150
172
195
212
121
242
121
217
150
112
176
130
150
112
156
121
181
150
178
181
157
171
150
181
159
196
208
172
137
137
228
112
208
150
225
176
135
150
192
194
145
201
135
121
201
208
210
124
112
179
147
227
232
167
168
172
163
121
172
171
239
121
121
170
170
112
247
171
208
214
135
121
121
112
243
128
165
124
115
150
208
187
195
212
220
112
123
238
170
208
181
121
186
168
193
208
258
212
181
258
184
184
181
171
208
239
211
112
167
121
121
150
150
150
209
218
176
112
208
239
112
228
121
208
202
196
170
237
201
172
112
245
175
208
136
172
165
187
143
112
199
239
112
167
263
274
208
171
115
150
150
167
146
209
150
112
194
237
112
170
150
204
159
112
181
168
112
208
123
208
121
208
263
208
167
170
205
170
243
237
172
150
112
204
112
150
128
199
165
112
187
143
170
150
150
170
112
192
201
219
136
128
112
112
213
186
136
121
170
121
228
170
170
152
137
172
121
112
226
121
208
206
208
167
121
201
202
112
112
167
187
202
121
137
150
203
164
214
112
150
121
172
201
150
156
177
230
198
164
177
263
209
212
263
170
202
158
176
177
216
167
143
124
194
171
181
112
150
160
112
181
172
171
167
112
112
192
121
255
112
170
228
121
150
170
112
186
208
170
255
112
266
147
276
112
121
202
280
220
115
150
157
150
165
130
205
121
150
167
201
205
121
186
156
208
170
171
112
150
194
172
228
187
254
150
150
123
194
172
219
112
201
186
172
194
164
170
164
170
208
136
112
150
143
202
121
187
167
236
150
171
115
172
150
112
150
288
208
168
121
170
160
172
176
208
121
130
233
202
167
121
124
152
153
121
232
172
229
205
121
186
158
112
112
172
223
195
172
150
150
172
172
206
172
176
136
150
186
178
205
203
112
115
239
167
150
177
264
170
176
219
215
167
150
237
123
172
187
228
150
196
112
150
282
281
183
237
220
226
208
124
121
201
181
208
197
172
208
223
150
197
216
230
192
207
195
112
150
158
123
239
164
124
182
171
123
147
237
195
220
172
226
112
195
150
228
184
201
112
181
217
167
240
209
121
167
237
246
135
185
150
233
121
112
167
128
112
170
112
177
150
189
210
178
203
202
219
150
112
150
170
112
121
250
112
170
172
181
208
112
225
124
121
181
208
236
194
112
184
150
194
208
171
172
157
168
237
121
234
250
214
218
278
171
157
237
121
162
150
150
121
150
193
194
172
187
228
146
228
181
167
150
294
208
184
176
150
237
272
262
208
112
203
190
186
215
176
137
112
192
172
239
167
194
121
194
150
208
208
181
123
210
210
167
172
186
112
164
211
150
112
214
207
136
121
112
121
112
245
172
112
203
121
220
170
206
228
243
150
121
136
183
245
233
136
186
159
123
115
192
152
193
150
170
128
141
170
208
143
208
137
201
208
187
203
172
176
112
167
201
124
172
260
136
171
158
210
181
240
255
172
170
193
218
193
195
150
215
150
121
112
112
230
231
137
164
237
195
236
230
172
186
170
147
121
208
167
211
150
168
112
264
167
150
164
115
181
213
172
199
181
123
195
150
175
112
217
181
121
186
112
167
146
123
207
121
150
112
150
202
192
202
170
194
150
258
150
171
158
156
137
112
123
165
213
201
174
167
171
123
150
150
136
208
121
232
172
121
202
167
123
203
112
196
186
123
112
197
112
150
179
199
135
195
233
158
207
238
150
172
238
150
150
208
147
147
168
202
150
115
112
250
156
150
136
121
234
172
228
112
193
190
170
150
112
207
150
170
255
177
229
172
202
150
167
123
184
195
112
121
171
150
205
130
167
174
210
164
135
167
232
207
150
145
165
150
167
167
172
150
137
165
172
233
195
112
194
150
208
164
255
152
167
165
150
208
193
150
193
274
195
194
150
176
170
215
160
172
192
176
123
167
150
170
137
208
159
220
170
172
121
147
257
112
208
239
187
121
233
112
150
121
144
156
263
194
223
139
173
181
171
171
178
121
184
112
171
112
208
121
172
202
112
115
186
112
263
121
172
212
164
194
135
121
194
112
194
177
281
186
165
130
150
245
121
229
123
150
237
137
186
205
254
250
150
212
150
150
227
176
112
237
159
121
186
112
150
185
164
123
150
164
115
170
123
187
165
193
150
121
150
150
167
181
210
220
172
208
172
203
150
229
157
194
239
112
171
150
204
165
112
234
150
136
218
172
186
150
112
190
176
137
167
121
121
121
170
167
150
181
150
201
193
123
233
210
150
115
112
112
150
172
135
159
112
190
150
167
208
152
208
233
196
139
112
208
214
186
167
195
147
194
112
150
213
208
147
208
112
205
240
208
160
112
121
112
145
195
193
121
130
228
112
174
202
260
172
215
208
187
121
130
172
186
208
150
198
210
150
165
147
158
194
123
276
228
121
112
150
150
181
121
167
202
150
172
150
150
150
187
121
112
219
136
121
172
112
147
157
121
215
232
112
162
130
201
136
194
170
159
137
170
176
208
112
208
228
157
150
168
143
229
121
158
121
150
128
197
150
124
137
178
186
202
237
112
128
208
167
167
115
231
135
194
121
150
236
185
206
121
208
160
156
181
195
237
217
158
202
164
250
187
250
135
233
172
217
150
112
159
209
226
171
173
217
171
172
197
121
121
123
150
123
123
260
112
121
172
243
147
150
112
208
231
150
123
186
170
228
193
181
146
167
178
150
170
194
171
172
219
208
194
150
198
121
112
150
178
194
187
205
150
164
136
188
167
136
112
112
136
218
239
236
165
147
219
150
189
112
158
170
158
187
150
112
170
115
150
112
180
171
112
112
115
171
212
228
150
150
202
152
186
228
203
305
174
121
121
137
187
193
167
158
136
132
211
121
228
167
186
165
186
115
208
165
254
124
112
112
150
172
237
112
150
165
121
202
167
135
121
112
167
123
150
186
195
181
135
150
150
194
150
112
112
195
210
136
208
176
194
150
167
150
167
123
121
202
172
147
150
123
139
171
168
150
115
150
167
170
150
218
112
171
209
137
250
171
112
147
121
202
146
147
159
186
165
171
219
186
250
179
165
177
171
194
186
167
147
220
150
202
276
135
150
202
201
121
124
206
150
193
205
144
137
150
243
121
150
121
121
228
136
194
112
150
112
208
112
145
276
159
274
207
171
152
177
181
240
181
170
208
121
112
201
112
167
214
181
112
217
237
123
177
193
158
147
176
143
112
194
193
152
228
168
187
206
157
171
181
150
190
167
172
225
170
150
201
193
121
243
194
219
171
208
201
121
186
112
150
187
135
112
172
135
170
176
217
181
121
171
123
216
277
150
130
176
121
112
194
128
231
226
172
167
121
121
170
167
187
181
130
121
194
193
174
158
146
183
201
208
227
239
263
121
150
150
121
170
135
172
171
121
208
112
167
150
146
150
212
150
167
172
221
231
136
112
172
171
150
123
185
115
193
163
210
195
201
136
210
176
210
165
235
187
210
174
210
179
121
171
172
171
210
195
193
186
121
174
150
112
176
225
150
130
236
124
181
150
136
124
203
172
121
203
157
112
186
167
170
185
170
236
205
160
194
150
167
167
194
121
115
208
187
177
112
210
167
112
135
170
237
232
115
123
245
150
203
146
170
160
267
195
158
123
121
181
121
128
195
202
226
115
201
167
171
112
112
112
165
243
115
229
201
150
212
167
201
147
167
128
170
150
136
160
150
121
174
194
112
281
208
112
112
150
195
121
112
147
172
202
150
137
150
150
112
176
178
207
210
218
112
112
263
203
167
150
115
195
203
171
150
170
259
172
181
176
171
150
179
150
194
112
170
159
150
208
150
194
206
123
189
124
217
257
158
130
203
212
121
147
176
128
171
150
121
172
135
112
217
135
168
150
167
170
208
244
201
147
172
170
170
146
240
194
192
150
195
226
167
158
189
208
121
135
255
167
171
210
121
246
194
185
150
228
181
219
147
181
244
150
192
220
201
201
189
165
112
150
121
168
172
121
168
158
186
193
112
184
187
191
164
176
167
121
123
136
171
121
190
260
121
150
175
184
228
172
170
254
172
199
234
201
238
170
158
175
243
204
186
172
112
112
152
192
158
174
172
262
228
172
194
150
112
209
227
208
158
203
208
161
123
150
167
170
112
123
165
192
181
185
136
150
193
158
208
276
170
194
226
237
239
194
112
196
136
184
147
243
139
167
218
121
121
168
150
171
253
226
112
176
150
112
243
228
186
150
150
202
167
176
228
270
172
230
167
121
176
112
146
218
208
123
135
112
182
121
237
136
210
112
121
184
143
158
176
162
176
192
170
176
172
217
212
170
175
150
257
181
233
136
200
193
156
122
121
212
208
237
195
194
167
124
171
121
219
112
150
240
189
136
171
228
150
263
112
165
135
112
305
112
205
112
146
165
156
248
192
159
202
201
252
150
210
112
233
165
136
121
205
167
112
135
218
192
270
237
135
175
115
171
150
150
167
112
121
150
187
150
150
137
164
217
182
158
112
150
112
187
189
237
208
150
128
121
150
112
187
208
147
186
167
192
137
172
226
112
172
177
201
176
218
150
124
220
115
150
216
121
115
172
112
112
112
247
121
147
250
150
112
210
112
182
167
170
170
264
318
202
150
112
232
174
147
226
121
208
137
207
208
172
171
201
174
195
130
165
147
228
237
220
181
150
172
223
194
202
172
112
131
167
171
202
135
150
201
112
112
219
150
158
182
211
239
213
172
150
226
186
170
121
202
278
170
121
158
150
165
121
123
121
112
176
167
171
136
250
226
158
121
170
112
173
150
229
240
150
208
121
228
213
112
167
121
121
112
152
206
121
231
274
170
208
189
150
172
202
195
159
305
112
172
143
208
170
121
237
112
150
232
214
186
209
121
165
159
181
150
121
167
123
128
121
150
150
143
150
112
112
158
181
176
150
112
150
208
231
208
171
171
195
112
205
186
150
208
123
150
152
199
112
208
210
145
150
164
194
172
135
115
112
270
250
178
199
150
121
186
171
186
176
207
112
165
121
112
208
260
165
171
135
144
121
229
137
115
150
152
218
178
193
165
220
150
112
176
263
172
123
278
115
172
112
150
150
164
177
239
112
270
135
195
143
157
150
278
205
150
170
158
167
150
160
150
210
275
150
158
112
121
218
185
177
176
266
201
172
150
208
165
136
209
238
150
193
177
170
239
136
165
228
178
135
217
150
186
172
177
160
176
171
112
210
112
124
241
112
121
173
201
171
112
123
112
150
171
204
121
175
147
123
121
207
250
201
220
211
167
174
150
189
152
269
219
208
181
167
276
112
173
165
203
177
203
192
112
207
194
167
136
165
210
136
172
208
172
172
205
147
150
177
208
210
123
121
231
229
186
112
121
215
208
121
202
150
150
150
170
150
144
112
121
159
181
112
168
123
115
202
174
212
143
201
112
228
192
231
167
147
202
170
174
209
170
186
202
202
171
170
150
200
150
150
150
158
164
112
144
170
187
112
172
172
172
177
150
208
208
112
150
135
181
167
150
208
172
193
112
215
150
150
207
194
278
168
150
214
194
176
158
172
202
121
218
201
193
121
236
121
186
167
208
150
112
176
214
237
175
172
165
182
159
165
194
115
202
121
208
121
112
172
178
242
171
226
112
228
121
150
212
112
202
121
150
156
112
209
208
156
112
177
210
194
165
172
240
172
194
228
193
123
208
121
150
172
165
181
249
180
209
203
208
112
157
158
218
170
172
210
150
208
115
201
243
135
237
203
181
189
231
186
112
179
181
128
123
121
205
115
159
207
112
225
219
112
186
187
165
135
123
181
147
187
186
172
210
228
276
181
145
112
195
150
187
167
239
124
112
208
172
220
171
240
195
194
206
150
237
208
150
172
177
158
189
175
112
123
186
158
192
150
186
150
150
112
223
195
121
233
242
172
201
212
177
147
112
150
186
128
112
179
245
150
121
112
115
168
202
208
171
167
121
165
150
170
165
202
258
137
208
233
181
172
150
150
121
168
218
208
123
220
194
174
210
168
112
172
172
121
130
167
193
184
158
121
201
112
166
167
194
179
231
146
147
123
195
220
128
186
174
135
206
174
158
128
220
150
214
136
172
156
136
174
219
135
167
219
164
123
123
179
237
225
186
156
150
136
130
115
250
150
170
200
176
172
123
121
171
171
220
112
201
150
232
150
181
172
165
205
201
135
136
186
150
208
278
135
112
206
121
170
235
187
172
195
136
172
194
187
198
176
136
172
112
208
121
203
255
170
297
196
199
172
112
156
150
192
220
150
165
229
167
136
225
135
163
177
159
172
175
254
184
219
115
130
196
121
208
159
135
202
143
177
150
217
172
244
167
208
218
237
228
174
170
150
201
121
121
187
152
208
130
160
150
224
203
112
176
112
186
172
150
170
171
167
112
121
167
228
208
208
115
170
195
121
203
237
187
171
174
112
124
167
121
167
203
137
228
204
123
186
192
137
150
121
190
171
219
231
150
123
150
208
147
112
112
224
167
212
203
165
121
150
150
150
228
237
164
172
150
171
123
171
167
121
164
121
178
172
171
165
112
112
195
164
150
184
204
219
124
150
112
112
208
112
150
208
208
225
128
176
170
121
286
203
177
165
135
123
147
112
146
112
214
172
263
172
186
208
187
228
115
170
220
123
150
186
121
123
159
147
150
147
170
263
188
242
123
172
121
207
193
115
156
172
271
264
230
124
156
123
159
112
218
187
223
211
121
170
150
182
203
231
237
121
121
172
121
121
208
212
137
187
172
165
238
176
112
160
255
171
217
210
167
249
158
123
121
230
112
150
177
208
150
193
164
179
170
121
193
179
228
231
115
170
115
208
150
173
288
158
150
121
167
167
181
165
139
112
150
144
264
112
135
160
174
176
136
167
168
203
136
115
170
207
245
112
210
121
150
112
162
121
124
121
193
197
184
161
201
235
131
150
202
150
170
219
121
112
205
203
150
150
175
234
228
121
121
181
137
195
170
171
165
112
150
208
121
220
171
112
187
150
206
121
135
177
170
165
150
170
121
172
170
123
147
123
112
210
112
167
150
121
210
121
160
176
121
172
135
208
254
150
171
207
168
208
112
176
112
181
228
112
135
207
208
240
172
216
124
208
172
212
147
150
194
202
265
112
115
167
123
218
210
112
201
143
269
150
121
186
170
156
250
237
239
194
207
208
123
214
172
156
121
187
137
121
219
229
219
135
115
159
121
123
228
210
167
174
196
121
196
112
123
231
231
150
112
167
208
229
160
150
181
172
194
112
212
279
112
231
176
192
194
233
121
187
172
228
231
229
208
137
208
231
124
172
159
171
173
150
170
228
167
121
170
228
150
112
167
174
160
185
123
237
176
174
150
172
121
159
112
217
231
174
123
192
152
278
172
176
182
136
150
164
202
220
121
181
172
112
193
172
212
181
194
121
192
123
172
217
130
281
202
210
220
168
187
192
164
121
260
203
212
170
195
147
150
181
203
150
150
172
179
160
150
172
208
168
209
226
172
121
172
121
182
112
228
167
162
275
172
112
112
165
112
201
195
208
115
237
187
201
226
195
234
165
152
115
186
172
121
150
150
112
150
234
194
167
160
263
225
171
187
189
202
121
150
150
121
207
226
218
195
225
168
195
241
157
205
239
112
112
112
210
170
236
172
137
231
239
170
121
243
112
172
123
150
187
150
175
143
208
172
112
121
150
150
121
121
219
208
152
164
112
150
187
167
238
181
206
302
150
186
164
171
150
237
231
174
208
201
121
171
263
121
208
189
167
181
178
182
136
171
152
167
150
136
194
210
176
112
170
201
112
206
167
232
150
258
165
170
115
208
172
227
210
123
194
150
194
150
208
156
135
204
229
150
167
237
170
112
130
112
242
121
236
195
193
205
115
182
121
112
193
187
112
150
147
155
217
172
201
181
237
157
226
112
193
208
158
112
240
195
189
165
121
112
135
250
150
136
121
210
165
112
167
161
123
150
150
165
217
237
150
188
187
112
150
269
137
123
181
137
205
168
201
202
150
115
170
150
121
150
170
189
170
150
167
172
136
206
181
112
183
212
208
167
201
186
112
121
150
219
121
181
121
203
195
189
112
112
121
176
212
219
170
112
223
172
165
150
130
150
150
240
226
201
174
220
222
147
150
170
179
112
150
220
212
209
150
174
112
170
130
164
205
147
201
150
260
208
135
250
121
232
194
150
194
123
128
150
164
208
214
112
121
206
223
137
234
186
203
167
181
172
165
150
231
147
229
158
208
150
198
170
150
266
112
144
167
170
147
121
179
121
214
121
150
170
195
215
186
212
112
159
181
172
177
208
183
112
203
150
150
123
150
170
112
208
211
144
228
217
187
170
121
193
112
208
158
150
121
193
136
170
263
121
130
243
123
202
196
150
136
176
150
137
256
237
208
208
123
121
193
237
175
121
161
208
249
150
164
291
225
177
202
194
208
167
302
208
208
185
150
167
204
147
172
171
172
123
172
159
176
194
238
212
187
208
194
170
165
130
123
150
175
135
165
232
124
236
136
208
121
121
172
217
208
240
187
247
121
170
123
248
208
150
215
112
150
196
167
112
208
185
147
203
135
115
210
174
162
121
195
194
195
150
130
208
170
198
121
170
137
172
201
263
167
167
123
220
231
150
112
170
150
161
210
115
236
210
150
150
194
172
166
186
276
186
219
256
160
152
236
177
181
164
150
168
265
212
205
204
112
194
135
178
159
150
150
176
137
217
208
208
202
150
193
176
167
176
124
211
219
150
195
165
146
193
226
171
243
112
159
250
150
193
121
181
171
192
208
112
172
203
170
172
135
231
233
167
170
112
150
112
186
196
115
195
135
216
150
112
121
112
172
112
292
186
208
194
172
150
213
171
121
172
152
240
176
135
112
121
123
175
121
150
137
172
168
246
172
201
112
112
187
212
176
281
121
228
212
150
171
217
150
150
215
194
215
121
137
144
159
150
112
195
226
160
175
150
170
112
167
152
210
150
223
115
150
150
150
123
112
135
123
265
158
112
137
115
112
236
123
150
124
170
135
112
186
211
176
112
250
160
157
115
219
198
115
186
267
208
220
112
181
121
179
203
112
112
228
242
150
121
220
150
152
237
176
179
143
121
150
171
150
299
186
123
165
112
208
208
168
210
208
165
112
208
112
208
121
123
192
203
208
301
239
150
145
167
170
112
112
208
112
112
172
239
112
121
165
150
208
173
194
177
194
272
278
112
208
165
121
150
172
219
112
121
173
170
112
212
150
112
177
181
150
170
213
194
121
158
136
115
150
158
139
121
215
136
112
168
150
170
128
225
150
112
173
257
230
208
121
187
176
185
137
228
136
112
231
143
164
112
205
159
150
236
209
165
121
205
121
263
167
167
237
194
215
209
242
230
184
208
150
150
171
289
237
201
174
165
123
123
171
121
112
174
263
121
172
210
152
150
112
112
123
195
124
150
172
165
187
159
186
216
212
124
150
167
167
239
257
123
170
123
176
135
228
160
137
172
187
167
208
124
181
112
187
216
121
208
121
150
158
222
193
123
150
170
121
172
220
123
193
124
144
176
150
149
201
208
255
208
263
276
210
210
186
121
259
208
147
198
170
124
228
150
208
227
172
187
194
176
176
115
171
176
202
121
123
172
170
150
238
121
230
121
236
218
150
136
172
112
150
172
208
217
177
172
121
136
164
194
231
239
193
112
178
136
170
150
242
174
112
121
181
170
206
208
205
158
194
112
136
123
150
225
150
121
228
203
215
121
267
233
150
207
124
177
200
112
208
164
236
171
220
165
208
212
164
112
166
112
167
194
150
202
167
172
186
150
207
164
228
232
215
158
112
209
150
165
135
220
150
208
212
150
186
158
121
153
198
203
177
160
112
115
171
176
209
254
158
172
234
186
112
186
115
202
170
112
208
124
170
112
167
150
181
203
186
202
172
158
175
208
218
167
164
220
186
112
150
194
240
194
172
170
215
158
203
208
228
250
165
202
255
242
275
181
121
175
121
207
121
150
150
112
150
210
228
152
123
225
170
167
167
231
112
160
121
176
121
112
161
227
159
136
220
121
187
214
203
112
150
179
128
152
228
112
112
112
219
206
158
121
112
164
212
184
243
225
135
172
147
194
150
150
115
112
112
135
128
152
112
242
159
176
234
115
150
203
164
115
186
175
121
200
199
174
173
150
112
175
170
194
182
302
210
208
203
130
265
150
121
218
267
121
121
174
212
150
135
238
225
165
260
123
172
170
208
163
147
167
217
158
195
150
121
167
150
193
176
170
264
158
158
121
181
230
197
121
170
189
112
168
212
172
202
171
165
187
121
171
167
213
112
150
171
174
121
208
150
171
208
172
212
193
168
130
208
112
130
112
158
147
240
227
218
226
167
186
121
167
165
150
219
253
202
181
195
181
175
187
156
231
150
201
150
210
204
112
195
156
220
208
150
193
207
112
121
207
121
181
208
137
231
193
121
150
176
202
112
175
268
172
170
239
158
167
121
175
208
150
253
171
215
192
176
276
137
208
128
123
209
112
150
121
176
256
210
123
121
266
146
121
167
121
172
174
150
112
187
258
168
205
195
150
124
168
219
208
187
170
195
150
177
115
227
184
150
121
177
250
214
112
170
168
211
208
150
150
167
150
199
150
208
171
156
136
171
135
121
233
150
130
112
243
158
143
150
147
193
233
121
193
207
244
210
194
164
150
123
150
112
164
170
202
178
112
186
234
121
208
150
112
159
150
167
176
201
161
150
208
231
170
208
187
123
115
192
112
255
121
187
208
137
150
150
147
243
238
112
208
193
201
207
112
172
194
225
123
202
278
124
214
135
150
181
137
185
150
192
178
150
150
187
272
172
262
150
121
171
210
263
121
172
181
204
167
171
208
260
196
112
242
150
208
187
150
208
179
150
172
121
112
229
160
187
212
150
121
158
174
215
112
353
195
165
240
121
167
203
239
167
121
195
181
208
208
171
112
172
159
137
165
170
121
189
115
147
195
187
197
187
187
112
121
112
174
121
229
253
150
128
171
136
165
167
124
135
172
144
187
208
205
261
150
150
170
167
135
164
128
178
191
150
237
167
233
181
192
208
168
237
121
179
187
144
177
112
136
112
186
121
193
121
220
208
121
130
170
150
150
231
174
121
263
203
150
208
257
208
176
214
194
167
174
231
112
177
165
257
115
181
112
172
170
143
150
225
175
112
220
229
172
233
208
156
167
237
123
236
150
167
112
123
150
123
172
210
136
172
159
137
172
176
276
170
165
150
121
121
121
167
150
250
121
228
124
232
150
208
205
220
219
233
164
112
170
136
136
226
192
210
192
168
167
250
160
225
208
112
121
181
205
121
176
112
229
150
225
164
112
215
124
167
167
164
150
130
181
208
208
121
121
247
121
150
228
150
112
175
150
201
210
112
171
176
218
150
150
121
176
202
181
205
150
282
214
112
205
150
208
220
170
123
147
208
174
181
170
124
243
228
181
164
226
150
123
150
128
172
240
150
137
236
192
150
192
150
176
208
232
168
181
112
205
112
165
207
121
171
150
172
208
202
205
170
194
208
208
183
172
186
253
230
275
112
189
195
171
210
132
175
208
150
172
186
212
229
171
193
170
208
165
201
239
193
150
121
121
205
150
137
192
152
217
181
147
208
150
156
195
219
164
158
176
167
171
233
170
150
181
172
255
201
172
123
136
150
213
257
165
167
112
121
232
167
293
208
150
219
237
115
197
112
208
112
160
147
181
112
197
115
167
194
150
112
273
161
201
128
147
121
195
184
279
171
150
220
201
239
208
145
167
172
205
123
221
174
170
170
112
208
200
243
170
192
157
112
112
184
153
136
171
233
172
159
112
141
171
167
112
259
177
160
171
176
123
115
170
229
170
135
202
210
150
112
240
161
170
150
205
224
112
170
207
211
121
150
124
112
269
186
112
196
201
150
220
167
186
159
202
112
215
170
192
155
233
208
278
193
135
167
210
121
167
167
137
150
112
124
179
175
228
208
165
208
196
124
200
217
150
121
229
115
150
124
240
235
201
181
112
219
121
150
218
250
157
160
230
212
167
276
121
137
212
172
208
174
243
112
112
115
250
223
208
210
209
212
112
112
216
243
163
172
175
159
172
213
177
150
165
170
136
150
186
238
150
170
167
135
239
121
240
188
121
196
217
112
115
164
186
137
210
194
240
112
208
213
229
192
167
158
175
121
193
196
212
121
162
123
219
112
231
187
121
166
167
150
150
112
144
150
124
150
123
208
228
156
121
123
150
194
195
174
244
208
112
115
150
198
147
112
112
206
164
150
172
189
189
195
112
174
150
164
208
123
150
227
130
250
170
170
150
176
168
121
112
181
199
208
255
167
210
208
121
192
178
215
212
182
112
137
210
112
112
171
186
167
150
170
229
210
123
121
177
258
170
115
232
250
170
201
253
217
208
150
157
172
172
188
186
115
172
160
185
150
172
136
239
121
170
228
112
228
150
212
150
150
228
239
231
135
121
172
147
152
121
112
171
171
237
195
181
171
156
172
276
121
112
193
112
186
164
176
208
174
171
112
121
210
170
167
194
226
121
150
208
167
121
150
240
136
136
150
112
176
204
121
112
150
150
174
167
176
201
239
165
150
189
194
150
147
121
194
241
171
167
121
206
112
181
194
208
156
208
255
150
231
164
112
159
121
167
210
150
208
247
167
159
172
115
181
193
112
239
186
150
275
208
158
150
172
147
225
170
150
243
112
172
177
147
210
302
137
208
150
167
171
150
150
213
121
201
208
174
203
227
208
176
220
159
194
170
150
153
150
121
208
203
155
182
121
208
228
240
150
167
153
121
137
255
195
150
171
194
171
237
208
112
237
194
208
157
174
172
150
171
121
205
209
194
112
121
147
136
112
174
137
150
208
201
112
220
112
203
112
250
112
171
246
165
262
208
170
215
112
121
170
112
205
238
208
167
228
167
159
112
121
160
150
208
121
186
172
150
227
195
171
170
170
112
196
232
112
150
216
170
220
112
156
112
112
208
171
172
172
201
194
165
115
135
255
174
172
208
186
150
176
208
176
124
181
123
167
150
164
156
112
194
172
243
274
208
173
167
193
171
181
176
194
170
212
170
229
201
208
150
172
121
177
178
170
184
179
150
147
121
121
150
239
172
167
121
112
176
150
187
172
123
239
176
195
112
112
112
181
185
171
136
136
171
165
207
150
172
167
123
181
203
219
194
143
112
173
170
162
181
167
192
243
248
159
194
176
172
123
165
121
178
121
147
237
160
219
150
194
194
112
112
228
183
121
112
124
124
157
194
177
203
150
212
123
208
164
203
167
240
170
112
143
159
152
137
112
215
150
209
172
208
192
208
225
112
112
194
121
202
130
121
137
172
112
164
182
288
150
168
121
112
112
147
162
202
237
265
112
167
170
172
150
182
237
208
150
124
121
136
158
197
137
168
150
165
208
150
208
112
172
112
150
150
228
112
172
168
207
165
176
123
112
121
239
189
123
112
202
150
210
189
150
218
150
179
172
168
150
150
147
124
171
228
193
265
112
202
174
167
220
208
150
227
112
172
220
193
171
128
121
172
194
115
181
150
112
210
115
112
172
171
164
167
121
235
165
150
181
189
150
237
150
150
198
224
201
212
158
246
237
160
170
136
208
208
167
208
150
167
253
158
255
121
198
112
228
208
201
203
219
208
112
170
231
144
208
121
201
112
208
164
112
194
121
135
112
246
162
220
192
171
121
171
172
195
205
181
203
182
115
173
193
123
172
112
112
163
121
189
121
208
175
165
239
134
176
232
167
243
121
124
168
237
135
208
174
112
194
165
201
233
150
165
240
160
233
302
165
194
167
150
112
130
136
218
210
175
160
203
123
210
181
135
176
128
170
147
238
203
172
213
171
121
228
137
172
150
160
112
203
168
168
172
150
150
193
208
208
137
187
172
228
112
181
250
170
186
121
112
208
147
123
245
165
124
136
112
164
172
194
150
192
211
172
150
176
124
173
237
208
201
135
168
237
208
165
150
167
112
136
202
210
201
150
234
173
194
237
150
208
112
158
208
112
182
212
256
231
225
207
194
177
176
225
234
170
194
171
112
170
181
150
212
231
237
220
193
192
247
112
207
208
135
260
210
237
200
112
150
121
189
176
192
165
172
150
172
181
208
121
152
159
135
177
234
121
159
196
220
196
176
123
186
150
171
170
112
150
112
172
165
199
130
186
172
112
123
264
181
180
208
208
194
112
201
172
185
159
219
172
150
112
229
112
194
150
228
115
195
165
210
195
170
171
190
179
231
210
150
237
194
176
205
175
121
205
194
150
167
210
150
150
172
150
179
168
167
276
194
201
186
128
167
228
121
123
165
157
121
208
150
203
164
208
137
205
167
187
150
112
190
143
193
208
112
121
219
179
194
202
171
171
165
282
136
112
193
208
112
196
128
236
150
150
208
171
244
150
226
112
167
223
208
167
115
227
220
208
204
184
128
130
172
164
150
150
150
186
150
208
300
193
182
150
181
150
150
164
112
150
167
211
112
201
170
112
172
212
170
172
208
150
130
165
121
130
147
194
136
150
231
164
167
150
123
228
167
157
187
150
170
171
231
247
208
210
150
112
193
112
194
135
112
167
250
176
150
228
167
130
202
187
228
121
156
208
147
193
124
150
137
150
121
137
112
170
135
174
112
112
205
121
121
150
112
124
136
195
227
195
112
205
208
202
172
150
147
174
243
164
170
165
206
170
170
208
186
183
150
150
172
202
225
121
226
135
186
224
167
231
239
152
228
150
174
255
170
247
181
121
152
137
121
150
260
218
160
225
233
121
203
224
208
112
172
226
157
150
150
208
150
170
172
167
212
112
208
208
150
170
150
158
121
212
112
112
172
150
203
167
172
112
219
156
196
171
167
208
302
121
153
170
156
121
210
121
178
208
139
207
135
193
152
167
237
115
152
204
112
150
112
112
112
172
143
121
218
150
170
150
150
150
175
248
167
207
172
263
208
121
236
172
121
210
248
220
121
229
121
198
201
203
177
202
172
147
177
150
237
123
152
167
232
165
112
123
186
150
194
150
172
277
170
170
201
121
167
172
150
123
167
212
210
145
186
172
137
174
112
263
158
203
255
193
121
167
202
203
136
194
264
228
240
226
172
156
218
150
167
121
219
250
121
179
115
121
192
181
172
176
189
212
278
121
176
135
208
137
176
255
121
181
192
164
228
200
112
112
212
201
150
176
150
208
187
253
171
265
168
177
137
177
165
172
112
172
112
230
156
112
279
150
263
201
208
171
160
216
212
121
213
150
128
228
150
137
112
147
135
207
121
121
207
157
165
172
179
192
187
150
172
165
181
121
124
181
171
210
135
217
176
226
112
219
212
121
208
115
170
234
121
181
147
121
136
212
181
186
123
176
263
187
170
112
195
112
203
237
167
236
225
131
250
237
214
186
193
150
177
121
150
220
121
195
207
178
186
242
302
229
170
124
150
123
210
201
190
193
112
193
212
217
112
112
115
115
112
135
123
237
200
150
137
150
176
121
150
112
167
115
112
165
171
203
220
135
191
167
194
170
152
228
112
247
237
147
160
210
121
208
176
194
136
220
130
209
150
112
152
165
202
203
278
135
217
172
193
224
158
170
204
175
121
150
220
123
121
171
172
202
167
136
112
123
186
150
121
121
112
205
198
181
181
177
233
170
220
137
235
210
112
176
204
124
216
112
206
121
150
156
272
167
172
128
150
186
150
115
172
233
112
121
195
240
275
112
229
193
203
201
274
112
220
152
170
245
181
208
179
150
121
150
147
243
207
123
150
141
165
219
143
208
232
181
170
112
172
170
150
213
208
170
115
250
194
137
175
176
221
171
254
255
176
136
170
160
150
195
218
196
121
228
112
136
123
137
112
175
255
171
150
112
165
112
167
123
208
167
150
181
210
171
193
226
152
160
121
150
208
208
164
150
150
181
121
121
155
170
195
171
121
121
150
159
179
228
195
219
195
236
150
112
196
174
165
186
171
136
202
112
135
255
235
167
130
276
263
147
220
150
186
210
225
194
112
237
232
150
170
150
130
178
204
231
165
167
147
121
220
112
150
164
112
226
150
150
121
202
115
203
150
193
167
194
161
263
232
237
121
121
202
135
176
124
112
155
165
158
112
115
167
227
144
172
164
263
136
176
170
165
158
223
213
237
252
182
163
212
171
177
170
158
189
112
181
181
181
121
203
124
150
207
207
128
167
168
135
251
121
189
231
150
123
115
165
196
197
147
179
175
167
172
201
167
208
201
193
172
272
112
172
112
152
150
219
210
186
172
152
162
208
167
176
164
167
112
177
157
193
248
150
150
112
208
208
167
206
112
241
225
121
208
238
170
123
181
181
208
212
136
124
220
208
228
223
147
112
121
181
112
121
181
196
228
170
136
112
193
178
171
187
135
181
150
186
150
243
165
150
124
206
187
135
193
121
124
136
150
150
136
168
150
136
136
217
123
208
178
243
192
136
150
186
170
137
176
186
135
121
136
181
121
208
187
172
207
157
135
158
167
112
112
170
186
250
202
112
200
123
121
112
187
112
186
170
147
172
147
208
226
168
124
168
112
181
152
192
235
226
171
231
135
186
167
176
190
231
204
172
217
175
208
194
217
210
150
193
172
121
165
228
214
150
202
112
207
208
199
235
208
254
289
187
112
213
150
159
123
208
231
212
150
121
176
263
208
152
137
186
165
135
231
150
178
123
150
206
208
167
121
112
147
246
121
212
165
176
150
136
157
203
194
167
160
170
135
172
208
231
215
167
165
228
172
167
150
299
225
225
176
135
193
208
112
171
208
250
182
174
158
112
239
193
165
170
143
176
150
112
112
167
115
210
208
208
121
208
112
205
112
164
215
150
112
219
202
147
203
202
112
194
137
211
121
179
241
172
162
156
112
150
179
238
193
172
158
210
213
156
167
256
201
121
175
210
112
167
259
231
121
258
164
223
239
190
152
214
165
192
112
176
212
172
167
215
160
167
194
121
181
237
167
165
187
168
150
123
121
236
202
112
279
150
208
150
158
164
274
219
121
208
167
123
274
170
228
195
112
200
255
165
208
187
112
250
171
150
112
203
136
302
150
112
207
170
150
175
181
208
112
204
136
130
112
170
121
150
202
121
177
177
164
112
170
230
150
165
229
177
172
167
150
165
150
193
202
257
150
220
239
121
112
136
152
170
112
176
150
112
194
179
165
203
150
160
121
242
171
150
150
150
211
240
121
297
123
172
217
157
121
123
150
197
115
179
112
203
153
112
165
193
204
231
194
234
137
291
195
212
219
181
201
112
172
137
144
263
159
150
174
165
150
193
124
131
302
208
123
196
195
150
157
156
123
121
124
147
112
202
217
112
176
146
202
150
181
187
189
170
150
226
112
239
178
112
259
230
112
112
164
147
225
150
187
219
121
181
181
181
150
197
165
218
167
115
124
165
176
112
112
112
171
139
112
172
165
167
171
172
172
170
181
177
219
196
121
229
135
112
121
170
228
186
150
179
121
233
209
194
147
231
171
112
150
112
174
275
147
121
194
203
150
219
219
165
150
121
210
194
220
208
112
208
112
192
121
228
132
193
208
137
220
165
147
143
179
237
158
123
192
170
135
214
217
123
218
150
249
239
150
135
171
121
123
195
208
136
136
112
172
208
231
115
139
170
112
147
136
124
150
150
112
273
203
150
223
115
172
121
150
203
181
112
217
177
171
150
170
195
167
208
150
207
175
123
174
210
232
217
208
174
218
240
165
237
150
171
167
227
121
150
150
197
174
112
130
181
165
210
195
165
228
121
156
186
136
176
124
167
167
202
150
172
229
121
172
181
205
186
240
150
193
200
123
112
228
210
192
171
112
150
177
112
194
158
208
207
124
112
112
176
170
123
186
135
150
121
147
172
165
143
229
170
112
135
193
171
150
121
200
112
172
167
170
214
150
210
208
165
141
167
208
232
123
208
112
158
176
167
112
226
186
135
208
144
121
136
167
184
150
170
175
218
150
158
184
160
208
155
219
150
217
189
150
183
172
172
174
167
168
232
168
147
172
112
196
192
112
233
171
112
208
172
170
147
203
207
165
112
208
150
112
191
200
150
176
150
152
218
136
260
112
278
112
112
165
165
170
112
137
208
135
236
195
115
172
112
194
121
158
171
194
121
135
150
150
212
167
167
121
136
171
208
150
150
150
130
121
181
150
239
121
239
172
170
121
195
150
150
208
159
150
130
206
121
167
147
205
123
179
136
112
181
208
205
135
137
210
160
243
181
176
115
121
121
128
280
194
193
173
121
208
150
219
121
112
276
226
219
170
175
167
225
168
212
220
181
249
168
131
188
174
112
176
112
176
112
172
195
137
235
123
115
226
121
208
229
115
212
112
136
203
150
177
170
121
186
160
121
257
193
196
185
121
112
171
165
123
192
189
197
112
181
190
121
202
184
124
150
174
166
176
167
121
172
225
172
121
208
193
193
128
234
210
112
243
212
171
167
156
187
112
174
121
195
112
121
199
176
112
121
112
217
181
237
121
112
165
194
228
136
202
150
178
192
123
302
228
150
171
165
150
173
237
160
121
165
121
229
208
171
186
196
205
150
121
167
121
160
150
276
168
167
135
112
228
302
150
130
170
194
136
139
152
112
172
178
226
187
112
167
204
201
181
230
237
150
205
112
123
123
208
158
121
150
121
271
121
195
172
218
202
112
193
210
194
150
194
112
192
170
130
124
197
202
121
160
137
232
187
225
150
150
123
207
167
128
232
181
150
239
115
121
274
150
174
218
177
198
170
196
150
186
232
172
123
167
112
253
195
195
161
167
150
146
192
167
121
257
208
172
112
167
135
186
121
112
168
150
213
171
183
240
237
194
172
112
136
172
121
177
152
112
208
150
222
192
232
208
137
123
186
182
150
150
147
112
193
150
172
163
150
128
193
112
170
165
159
209
215
275
223
164
238
160
171
115
164
229
112
121
150
187
203
121
121
202
147
176
214
186
203
240
150
237
112
208
170
184
150
205
177
230
112
150
236
214
170
121
236
172
167
192
121
181
121
135
136
150
150
121
121
176
208
124
152
112
121
202
209
162
203
166
160
171
243
161
123
170
150
172
194
150
226
150
150
167
213
112
233
240
201
263
203
176
176
150
146
123
237
176
130
164
198
181
121
167
192
272
150
150
167
195
194
165
123
112
150
137
112
170
193
258
219
112
275
150
208
137
160
121
165
150
121
136
121
208
160
112
156
168
121
203
143
288
112
193
150
167
150
218
121
226
150
174
150
217
159
199
171
239
259
172
219
199
168
121
194
167
165
121
112
121
237
121
195
150
115
160
207
170
165
171
112
279
112
187
179
187
239
123
165
258
205
121
121
228
123
150
150
112
123
165
232
204
167
195
130
170
160
238
147
112
232
255
181
176
167
228
112
159
172
112
158
112
212
112
170
121
159
112
172
232
171
208
270
150
146
209
112
206
202
170
112
123
121
181
167
112
171
112
121
150
194
121
112
175
121
115
235
186
121
171
194
112
167
208
121
187
172
135
112
112
135
145
115
189
123
112
218
219
208
158
177
123
167
243
159
115
233
167
137
112
121
170
194
186
121
171
216
115
112
184
190
121
176
186
208
135
121
193
203
137
150
150
112
184
174
193
167
123
228
172
150
250
237
154
194
176
237
184
257
208
167
186
181
243
203
158
193
172
159
112
150
150
172
261
123
208
167
156
192
168
203
201
123
212
158
195
189
137
232
147
121
123
212
215
201
229
112
121
176
192
157
137
244
192
208
181
112
171
170
198
176
243
137
171
112
112
187
172
201
150
226
135
206
136
112
150
179
121
208
150
219
112
171
228
112
192
150
172
135
167
121
172
167
150
231
232
232
192
121
170
229
171
150
243
170
170
150
186
112
137
176
240
130
193
167
112
165
208
202
192
177
150
165
121
170
208
167
150
112
121
150
195
123
210
194
150
137
112
173
112
136
150
112
165
195
112
263
112
165
124
130
215
194
167
174
205
195
121
263
121
156
175
112
176
167
203
223
150
156
193
164
207
121
177
171
181
208
165
181
172
172
228
112
121
112
159
137
184
227
168
112
121
175
243
181
189
137
112
208
167
112
208
121
194
159
193
172
147
165
218
171
159
112
214
231
176
112
121
194
196
189
202
194
208
177
150
150
220
174
150
112
179
115
195
112
165
150
202
201
208
228
212
181
161
186
205
208
178
242
195
175
194
174
233
172
219
186
249
203
170
136
210
172
201
202
165
143
181
121
150
170
150
178
194
172
121
123
167
121
150
193
150
121
150
173
150
208
167
187
172
150
112
172
170
150
124
123
123
121
172
230
177
207
226
178
201
176
147
112
170
172
121
150
170
112
150
165
112
147
112
208
231
121
121
123
121
269
150
123
212
192
228
202
123
150
147
121
176
176
250
211
147
247
112
112
195
181
128
121
208
137
172
165
147
173
210
208
201
150
243
136
112
112
182
156
195
208
121
212
150
150
172
210
195
234
170
159
208
174
219
150
208
212
121
112
181
121
150
162
150
112
176
121
250
150
193
172
194
168
238
181
226
121
112
172
250
167
167
137
167
228
212
219
187
202
121
209
242
194
150
198
168
135
121
121
171
172
201
170
194
208
135
208
150
174
112
167
226
121
181
217
112
150
208
112
190
201
136
121
112
123
217
195
150
135
136
165
208
121
181
112
150
209
172
124
135
150
171
150
112
121
243
232
170
203
121
239
167
150
112
211
135
225
208
187
192
195
172
121
121
181
172
170
112
282
137
208
112
238
121
172
213
181
171
150
226
178
165
121
112
193
219
196
215
159
211
228
150
165
228
123
219
172
171
121
164
112
172
186
202
150
196
208
112
167
186
112
171
243
263
112
208
181
123
112
228
112
202
150
150
167
150
112
231
167
172
123
181
170
175
112
165
112
164
302
187
201
150
176
121
194
186
121
112
112
112
174
168
217
152
275
171
208
150
162
150
150
112
150
176
112
112
150
250
131
112
240
177
176
208
176
150
121
121
121
212
156
182
136
112
121
160
157
132
167
158
112
172
184
253
165
112
232
274
150
208
175
186
150
123
150
130
257
228
186
228
128
156
131
168
172
164
167
170
212
135
177
195
150
208
150
176
121
172
121
158
121
255
170
187
155
234
212
160
177
124
135
171
220
220
112
227
130
260
150
207
115
172
150
150
193
112
244
184
164
150
150
205
175
195
170
176
150
124
176
203
121
172
112
208
150
150
137
225
112
112
150
162
210
147
171
124
181
112
213
112
112
137
173
196
112
237
205
226
150
172
281
112
159
112
158
226
150
174
112
172
112
171
172
123
178
121
165
171
228
237
228
150
208
193
202
236
172
208
220
186
150
193
121
193
176
112
150
159
136
170
191
208
218
177
231
150
172
123
263
172
213
226
202
115
124
203
112
181
237
135
194
124
184
167
195
124
194
208
150
207
150
181
150
121
196
121
198
186
112
255
181
276
233
167
212
208
284
112
219
112
167
158
175
156
178
181
164
255
150
150
229
150
160
212
150
231
177
176
124
212
201
202
112
150
172
158
202
124
226
208
112
232
121
121
172
192
255
112
167
164
275
201
172
150
170
121
165
212
210
171
212
121
192
150
231
159
150
176
203
240
170
176
242
159
112
176
218
167
202
225
150
179
205
171
172
219
121
123
208
150
186
216
121
228
158
183
123
121
123
162
195
181
121
167
175
194
172
112
150
195
206
181
156
230
112
235
115
150
194
174
250
172
210
150
170
123
193
135
171
259
147
208
178
208
112
239
147
186
150
135
208
250
271
172
147
182
165
252
196
192
157
167
172
228
165
150
167
194
121
240
150
214
237
115
218
239
172
135
150
150
158
115
150
167
160
150
112
192
167
115
112
172
136
230
135
150
228
193
123
121
177
150
214
177
208
233
150
112
150
215
150
150
112
121
205
172
194
112
194
112
172
136
170
172
121
150
229
208
131
150
112
150
167
167
121
202
263
243
112
164
150
171
253
115
193
165
210
181
150
156
135
172
202
150
192
150
202
115
167
228
150
205
194
237
208
121
208
172
172
226
121
112
219
167
182
112
210
193
130
174
167
259
112
121
170
150
112
187
147
156
170
159
150
167
115
171
130
203
112
112
171
112
136
152
174
228
115
150
195
121
121
194
121
220
181
167
171
150
170
239
229
165
170
150
121
150
112
150
150
124
208
159
150
173
173
121
112
170
144
193
237
195
167
232
121
167
197
259
189
302
186
112
124
112
175
124
143
150
146
208
202
192
165
147
208
205
150
150
246
156
193
150
240
253
150
112
112
205
244
168
212
208
167
219
150
150
205
121
192
165
165
228
144
165
194
159
181
121
236
135
181
171
193
150
146
128
170
170
165
136
171
150
181
123
235
235
115
187
224
195
181
203
272
215
172
172
165
147
195
115
172
224
258
112
135
150
112
176
186
167
220
112
164
165
150
221
181
172
112
231
172
112
172
150
248
172
227
143
214
196
194
186
121
167
193
112
135
227
147
193
240
186
208
164
195
208
220
210
172
150
123
150
150
150
158
150
208
172
124
208
150
194
194
112
173
164
112
208
169
121
121
223
183
121
217
170
121
174
297
171
150
172
239
121
159
121
193
130
121
112
121
112
112
135
194
250
218
196
136
231
280
194
112
201
112
201
208
150
150
177
241
167
240
175
171
171
181
177
123
152
150
192
172
165
157
121
226
167
137
167
150
112
208
123
208
193
219
187
231
123
168
202
121
171
208
150
264
112
170
150
150
239
147
112
177
208
115
150
121
208
237
150
201
237
194
240
150
112
208
219
112
150
160
242
121
234
201
177
112
150
150
152
208
112
150
231
171
174
236
208
175
112
150
194
112
121
150
171
187
181
171
215
195
121
170
187
252
167
112
195
160
167
167
239
112
217
137
115
112
150
205
121
212
231
187
173
194
150
143
158
112
212
150
167
165
144
150
239
194
161
167
112
123
168
167
150
181
150
164
172
201
165
176
150
170
150
192
176
121
187
195
168
187
121
187
160
177
192
150
208
202
208
208
112
145
150
144
164
121
186
212
139
144
220
123
193
192
112
112
176
150
144
189
212
187
172
174
181
172
143
242
181
229
150
135
208
112
150
165
174
187
112
257
194
123
171
150
236
159
130
112
231
158
112
208
234
150
159
150
170
121
208
112
112
150
121
176
150
220
123
137
257
171
137
203
212
177
143
132
171
181
194
208
172
160
165
225
170
259
193
224
123
170
218
176
177
203
150
229
165
121
150
170
276
239
170
194
181
168
186
121
170
278
176
121
112
176
220
150
150
229
212
171
172
181
207
202
163
156
174
226
170
123
112
165
187
195
132
201
145
121
228
170
112
112
212
171
150
208
187
203
168
165
206
259
121
147
194
150
150
152
192
150
186
150
208
172
152
174
171
123
208
124
150
112
174
170
170
210
164
130
121
226
124
176
214
112
218
112
194
167
160
150
194
132
234
203
247
255
230
150
193
115
164
170
150
135
135
112
172
231
112
150
228
171
208
206
158
181
170
112
150
112
121
233
234
276
229
213
121
121
174
135
132
150
195
150
150
176
150
165
123
193
150
150
201
195
170
167
186
172
150
193
208
123
150
121
112
194
150
156
229
150
202
167
236
208
150
260
158
150
170
167
124
156
217
150
172
112
150
250
186
150
150
121
278
167
112
213
121
228
228
216
141
208
222
229
220
219
182
194
242
202
131
115
112
208
243
210
167
228
202
278
208
150
171
172
159
240
157
177
225
150
112
112
208
208
147
181
187
150
194
124
150
167
137
170
235
137
176
208
136
181
229
121
202
210
181
121
239
202
208
112
150
210
150
124
178
174
208
160
121
176
201
171
160
195
136
112
112
252
171
187
208
181
228
208
156
115
208
123
150
112
278
184
194
186
121
150
123
147
150
112
183
167
160
212
124
208
150
112
186
121
150
137
190
136
167
165
158
145
228
121
167
170
208
150
115
195
243
167
136
165
208
229
172
181
168
150
241
158
211
121
187
172
112
194
121
150
195
150
172
150
201
187
121
208
215
237
178
112
123
121
172
201
150
237
184
208
170
121
150
193
195
174
226
150
181
194
177
112
184
121
172
186
272
158
186
112
121
121
143
196
220
167
210
184
228
159
202
239
168
207
218
123
112
165
229
203
186
202
228
187
150
158
177
231
203
123
212
135
121
234
156
112
158
171
221
228
212
150
239
112
234
254
171
195
229
112
112
182
170
201
181
230
150
121
192
150
150
172
198
208
193
150
152
302
220
150
240
208
202
182
128
224
164
128
115
157
150
121
219
167
150
112
123
201
185
263
275
181
112
176
228
187
123
212
150
112
186
167
172
160
302
171
172
150
259
201
185
231
171
150
206
167
176
121
136
208
137
193
167
172
150
112
167
181
112
112
160
150
208
194
203
186
150
112
112
193
167
150
231
165
136
176
172
147
172
215
156
172
220
172
208
167
232
150
209
208
112
160
144
172
170
167
220
112
171
186
240
172
203
112
208
251
179
121
209
194
171
147
167
220
168
121
150
276
241
172
234
115
137
215
179
112
208
228
150
204
181
203
165
146
115
112
172
143
143
150
207
135
170
150
112
167
150
228
225
280
200
150
170
173
195
165
219
159
218
195
121
187
150
181
158
167
121
112
167
167
150
201
208
112
211
112
194
247
165
210
137
167
150
243
124
121
210
121
165
121
227
175
179
182
244
124
121
217
193
150
208
112
194
121
147
150
226
115
170
215
150
115
207
177
192
121
156
173
150
237
150
171
194
112
194
186
115
185
233
167
214
147
199
177
182
187
220
121
150
112
167
112
200
167
137
150
186
181
208
121
150
167
208
123
156
176
193
150
202
172
217
171
159
201
172
171
147
227
213
112
112
112
150
121
167
170
220
112
171
172
165
150
112
150
179
123
203
203
256
228
274
213
207
243
112
194
184
186
112
160
150
208
121
238
167
181
231
170
171
270
240
115
121
231
233
197
170
230
112
136
121
160
208
214
157
228
208
112
112
152
112
276
203
217
181
147
112
195
278
208
218
228
150
228
210
112
150
225
218
195
166
150
124
112
150
186
150
202
187
150
121
212
214
224
150
121
115
124
233
172
159
193
147
194
167
137
255
208
272
210
168
123
144
150
193
186
195
232
112
156
208
195
172
135
150
240
143
172
162
112
190
121
165
112
203
256
167
150
225
229
255
124
184
144
208
170
242
282
152
115
276
237
201
135
228
150
164
112
171
217
195
167
212
150
112
135
115
121
181
150
121
226
212
147
216
150
137
176
150
170
225
172
171
150
160
135
263
186
112
123
213
171
150
170
208
178
220
167
150
150
143
123
186
236
150
181
123
171
198
192
186
123
171
156
137
172
202
172
172
237
150
150
167
112
177
221
186
170
112
121
235
255
150
181
219
121
223
158
150
170
130
159
181
144
136
186
221
201
203
112
189
112
150
121
160
160
173
239
245
264
135
175
226
208
147
164
186
193
164
194
186
172
172
209
208
112
250
177
150
150
208
123
128
176
121
159
208
195
121
172
112
115
150
212
150
186
276
208
123
239
189
170
231
150
170
170
150
239
219
212
167
195
121
121
194
237
177
236
171
182
167
156
228
164
121
121
150
141
208
193
121
202
135
231
228
179
147
165
193
254
199
112
170
186
167
167
203
184
228
210
165
136
217
231
150
135
121
187
112
181
112
158
150
212
112
121
135
150
186
237
112
189
208
172
172
218
171
243
220
112
157
239
123
176
170
226
156
147
170
137
215
193
216
123
220
147
150
219
201
150
176
121
178
112
179
167
164
225
226
186
259
193
208
172
235
174
186
213
150
217
165
189
240
164
170
112
181
218
210
147
150
208
202
159
218
171
168
112
161
208
202
250
150
172
121
233
112
147
202
194
195
150
179
171
170
172
231
219
187
231
158
160
217
237
192
121
186
112
167
176
150
170
136
112
217
171
167
177
121
171
172
150
112
121
302
123
217
115
186
208
112
167
208
150
150
302
220
164
150
264
159
171
208
170
236
210
279
172
172
139
123
192
195
232
137
218
164
240
206
150
232
112
247
181
136
171
167
229
136
112
193
115
172
170
150
112
167
168
159
112
143
167
221
208
212
192
302
112
207
136
219
171
112
179
176
137
150
147
232
208
171
112
192
112
124
127
194
112
144
170
234
193
137
158
112
170
121
193
211
172
152
209
153
128
165
115
220
137
121
187
170
254
121
172
156
179
150
167
150
176
172
172
172
218
139
165
171
172
172
192
121
165
121
137
221
252
171
172
112
210
150
197
137
112
193
171
194
124
150
263
135
115
195
164
150
112
172
121
212
208
164
228
112
186
228
170
147
121
186
172
170
192
112
209
150
150
121
203
150
208
215
121
239
121
170
167
176
208
168
139
229
216
150
208
176
232
112
121
167
164
137
112
112
112
263
160
195
220
150
208
150
158
112
220
256
202
150
292
236
123
112
212
226
150
164
171
195
150
213
201
168
239
170
172
159
174
112
124
150
201
229
168
150
150
212
195
195
276
186
181
150
264
255
302
192
281
210
112
229
181
170
150
150
218
265
112
172
263
208
136
150
121
170
121
212
124
232
233
135
115
172
245
208
176
178
211
112
263
228
197
194
172
208
199
112
195
252
215
121
164
202
192
121
171
112
194
112
186
214
112
150
124
123
171
192
217
156
203
159
177
194
130
150
171
212
255
187
121
219
159
227
202
265
160
172
181
123
171
170
195
208
159
137
168
225
121
167
150
165
194
203
121
112
159
214
170
255
150
164
136
115
208
172
172
187
228
136
150
223
207
208
212
165
236
161
170
168
250
202
150
181
173
158
135
121
210
115
210
231
232
194
171
150
147
228
164
192
124
171
112
123
233
218
269
143
193
167
260
167
156
167
115
228
150
173
194
135
112
150
130
187
121
112
152
147
112
121
112
208
227
170
219
228
204
150
220
137
189
170
207
150
212
168
112
150
170
240
208
167
248
112
189
167
172
147
150
112
121
203
250
150
150
150
112
112
156
137
112
237
170
212
278
220
187
208
167
220
160
158
160
194
187
228
150
177
216
166
112
143
112
167
192
112
237
112
261
218
150
167
121
121
152
162
112
121
112
137
150
172
150
150
225
201
259
276
218
171
170
187
123
165
174
150
112
157
172
246
201
165
216
121
220
192
186
167
228
150
115
194
172
112
186
150
212
150
217
112
186
150
208
258
170
112
112
150
208
150
170
150
231
112
172
150
130
210
150
121
150
112
208
172
205
112
158
121
179
228
239
170
187
186
195
121
220
171
192
147
250
178
186
121
170
159
158
194
167
208
156
242
112
112
167
181
172
208
135
239
150
167
150
137
135
112
121
121
165
200
121
137
193
178
203
121
112
176
121
208
170
170
203
232
124
112
187
170
172
203
172
121
121
174
170
150
160
210
150
226
167
177
197
208
158
167
193
160
172
150
172
136
187
124
208
208
170
210
172
150
123
228
207
165
171
176
208
167
187
176
231
208
255
172
150
143
208
150
278
172
208
167
137
227
123
172
218
121
237
150
150
210
208
209
172
150
170
150
172
270
226
192
171
176
159
203
171
176
170
121
137
224
212
208
237
181
194
170
150
172
228
171
137
136
150
165
211
186
160
150
150
150
112
175
167
211
150
203
234
112
194
202
167
228
208
228
250
165
150
130
150
150
150
150
237
177
193
245
150
150
210
121
150
208
220
121
168
213
195
209
150
167
112
164
121
176
205
177
152
137
202
165
207
233
136
225
251
187
112
152
208
234
161
121
228
181
193
181
210
172
121
231
143
218
195
208
167
255
165
150
150
194
147
121
123
184
219
150
152
210
124
208
288
150
164
135
219
112
204
208
115
194
121
121
186
143
121
195
231
121
208
147
167
250
160
150
228
189
208
181
170
112
115
186
211
170
121
167
121
112
193
259
204
150
208
136
121
112
167
150
112
123
165
175
194
201
150
112
150
112
167
121
112
136
121
150
168
203
197
228
164
150
112
150
218
135
193
121
249
150
150
123
147
112
150
150
121
171
143
123
123
238
112
208
212
123
150
128
186
202
196
179
167
208
150
225
194
207
150
112
226
250
167
137
112
150
150
150
156
195
112
159
159
131
231
203
195
150
175
208
203
228
191
208
212
233
178
233
112
194
171
165
150
185
123
197
164
150
170
192
165
123
203
160
195
179
193
177
112
171
147
150
204
177
121
226
123
115
167
150
205
212
128
172
112
212
187
170
172
195
150
123
231
208
208
194
181
150
193
176
181
212
210
220
210
220
193
131
121
121
127
123
112
208
158
150
123
208
202
170
241
219
112
171
145
160
165
262
172
186
170
178
150
187
176
302
150
121
190
226
193
112
228
121
172
195
165
251
123
306
121
115
144
226
112
167
150
181
152
121
112
189
150
121
150
208
250
228
207
150
237
165
171
192
170
226
112
217
150
112
201
217
172
208
204
208
150
172
186
219
165
121
237
208
181
208
176
130
186
272
228
121
156
220
196
192
150
201
200
121
121
137
236
210
189
170
208
177
194
152
185
212
250
218
170
194
175
171
194
302
207
167
176
150
112
172
128
208
150
150
168
170
170
167
147
174
179
172
176
171
189
159
121
223
165
210
231
250
208
112
115
232
258
215
171
137
195
112
210
271
238
210
195
194
159
278
193
208
172
136
172
171
237
194
167
215
176
150
130
167
150
150
143
124
137
202
177
121
258
219
284
170
112
112
217
123
150
186
167
164
243
207
136
261
167
121
112
112
150
112
112
244
165
208
121
172
172
170
250
152
115
147
172
302
112
150
164
200
228
172
209
171
159
112
147
158
250
121
150
187
208
150
121
165
150
150
208
130
123
217
299
121
121
250
121
204
233
121
152
112
121
165
112
202
135
172
112
203
194
189
201
181
230
115
199
168
121
202
135
226
202
207
145
205
177
167
167
215
228
202
236
250
121
121
226
243
195
278
176
112
136
112
128
176
226
165
208
135
150
112
202
172
231
112
150
208
302
186
150
225
190
150
123
112
202
208
205
112
223
121
135
208
115
215
222
168
255
183
150
198
208
209
112
207
164
167
192
193
202
112
201
112
194
164
186
242
112
208
220
231
179
171
263
160
167
150
208
167
185
121
168
112
121
176
112
228
150
203
167
184
193
175
240
121
187
137
150
115
208
186
194
212
217
238
156
167
228
181
176
152
135
231
187
184
150
217
242
115
167
208
150
115
172
121
241
172
150
150
225
152
212
165
135
162
265
181
231
238
168
210
194
218
193
156
165
164
167
250
121
171
168
167
184
231
213
208
136
115
121
137
112
112
186
202
124
159
208
150
112
150
208
259
165
208
128
197
150
302
172
121
276
193
186
121
137
150
194
219
121
156
208
201
181
139
112
172
150
224
167
165
136
121
152
272
121
112
128
250
112
205
170
172
189
187
250
112
152
181
150
121
177
160
207
121
112
219
259
150
150
181
172
219
112
123
208
112
195
202
258
121
194
176
202
112
150
165
165
208
221
172
135
196
112
176
150
181
121
135
130
180
208
171
212
124
115
255
223
208
158
247
144
194
212
226
121
176
195
171
121
176
150
150
158
195
121
203
171
237
236
255
121
112
112
208
208
235
160
208
150
250
193
121
112
205
172
112
208
208
167
150
208
203
112
112
237
231
195
218
150
181
150
172
219
170
150
121
121
205
167
112
263
136
236
237
171
168
204
112
112
208
164
208
270
112
195
123
112
121
167
195
189
171
192
253
231
112
150
204
194
174
174
149
202
136
176
208
172
112
239
172
158
211
176
202
150
164
147
208
150
176
112
233
112
150
252
195
193
112
170
174
172
181
159
210
228
193
150
167
168
194
150
112
160
159
150
193
188
123
146
156
160
178
207
150
172
213
112
167
167
150
123
150
150
172
112
144
172
165
158
220
172
121
170
112
143
208
143
208
158
210
147
112
208
112
181
112
135
121
186
171
195
167
187
112
305
121
218
210
159
212
265
170
112
162
150
136
112
135
193
150
121
194
112
121
172
199
176
115
228
150
233
167
181
112
225
171
167
150
150
238
186
137
186
112
201
196
112
121
121
136
112
189
250
195
172
112
177
208
150
121
189
228
202
115
135
208
121
112
121
121
173
170
165
228
170
121
121
121
121
137
208
207
121
150
135
200
236
168
150
194
172
121
208
208
192
124
150
167
112
170
228
196
187
276
135
207
160
150
112
181
171
150
164
123
112
141
194
152
150
243
202
112
164
172
168
112
172
181
156
231
121
172
215
112
121
208
112
150
203
150
171
172
208
112
112
228
198
172
197
170
192
176
208
172
187
112
181
121
112
150
232
208
172
187
215
167
132
112
167
130
176
112
121
112
150
203
167
219
147
198
150
112
171
139
239
171
121
302
194
284
210
172
212
150
143
174
121
150
168
209
158
231
123
231
136
164
203
264
150
112
177
150
165
208
194
150
186
227
186
152
187
150
112
171
150
226
150
219
240
145
237
177
172
186
123
228
181
123
137
181
186
156
150
150
200
135
236
243
150
187
121
147
115
193
147
123
193
246
225
160
167
179
186
115
310
231
213
255
167
212
193
112
177
255
144
218
172
165
187
112
228
208
112
150
203
193
231
184
139
235
250
150
128
207
205
214
170
297
150
203
187
233
150
139
193
228
219
195
156
150
150
208
165
274
170
150
240
237
208
233
150
167
112
165
168
203
147
237
150
237
195
121
150
150
150
143
150
194
150
174
208
204
208
193
208
243
167
170
225
167
147
194
202
214
158
208
165
165
270
208
172
212
224
112
150
208
170
181
194
179
150
112
124
146
172
188
112
147
237
150
186
136
193
137
255
193
167
194
112
172
172
135
150
215
112
156
172
195
228
205
112
171
279
231
179
150
112
165
121
196
207
177
170
208
198
137
121
208
194
164
164
228
164
172
130
167
194
203
181
229
241
172
195
123
152
242
208
228
158
220
150
121
193
237
181
167
259
123
150
203
168
160
194
228
179
164
231
150
167
233
219
190
222
217
137
150
136
171
212
143
121
192
208
208
172
233
153
112
208
237
215
210
135
150
235
207
186
171
176
231
167
123
143
165
208
160
124
201
139
177
112
231
229
218
147
254
150
212
150
231
115
165
115
236
136
112
112
255
219
237
214
181
112
178
177
167
170
121
195
159
203
135
207
150
115
167
170
159
228
210
176
150
136
226
181
121
208
174
170
194
150
175
158
170
207
124
123
177
167
202
240
177
150
237
194
212
158
205
160
181
228
112
152
217
171
215
137
176
170
222
164
112
212
194
112
201
221
162
165
176
167
150
135
112
135
193
115
150
193
150
214
121
181
121
121
136
112
112
112
150
150
170
150
150
193
172
172
150
202
121
137
143
187
112
194
208
194
178
121
112
210
159
121
150
159
156
176
112
112
237
171
136
208
235
121
121
137
208
235
227
139
112
170
208
201
172
208
176
112
112
137
182
150
121
172
171
220
123
150
112
171
150
136
178
150
166
183
134
167
112
208
150
187
150
225
181
186
157
208
147
135
150
112
173
172
112
123
121
172
121
208
168
121
112
228
112
207
167
150
237
121
206
231
170
157
176
137
150
172
265
240
124
112
233
137
202
150
190
123
150
186
164
112
165
112
243
195
135
147
156
164
150
193
187
208
177
168
112
130
208
172
121
150
112
208
220
174
121
161
212
135
150
121
190
112
150
210
276
152
112
193
121
121
149
150
112
171
121
168
136
121
181
167
121
167
170
263
124
186
225
212
232
242
237
112
123
194
220
181
228
231
121
171
186
137
186
136
176
150
123
256
170
112
187
202
150
171
185
175
168
213
112
147
123
228
112
112
164
207
242
192
121
112
181
167
195
135
170
237
170
150
186
208
152
177
150
187
150
123
197
250
232
172
112
213
115
186
193
202
240
115
231
181
194
167
158
150
170
150
167
201
167
112
158
112
163
137
172
135
160
150
176
123
170
176
201
165
178
207
219
115
167
259
135
167
234
216
170
170
170
201
255
121
208
183
115
212
187
193
144
226
165
139
137
181
167
242
112
112
112
202
222
150
243
205
172
229
170
112
150
165
150
156
218
207
123
228
150
115
112
210
121
255
208
150
208
170
194
112
211
171
143
226
208
150
177
112
170
164
233
171
206
171
172
193
112
208
278
112
192
253
243
147
164
124
150
198
150
176
123
168
232
229
172
176
235
135
112
193
236
171
235
250
236
255
228
228
167
115
112
195
159
176
135
121
207
150
147
112
165
168
112
150
195
170
203
121
172
181
115
150
195
123
223
260
208
302
243
208
172
144
193
150
112
202
172
150
112
170
150
194
208
195
238
190
112
192
167
170
147
158
172
203
159
167
121
201
121
150
165
150
112
164
135
150
150
135
136
302
137
147
250
202
150
240
158
112
123
130
202
172
172
167
208
112
135
192
150
150
150
196
136
112
208
209
112
170
210
184
150
123
177
124
221
242
112
121
150
278
226
136
187
255
150
150
121
150
150
176
115
128
205
121
181
214
167
121
172
181
205
226
172
216
121
164
156
121
115
189
172
112
231
115
172
237
150
167
135
204
167
136
144
176
159
263
150
204
123
198
255
192
170
112
210
112
177
170
170
193
219
176
124
217
208
208
168
233
150
130
230
215
121
150
150
150
144
135
121
150
208
255
205
150
210
150
121
194
150
217
172
121
130
121
121
160
171
208
150
123
228
150
150
167
187
167
165
193
112
187
112
112
150
208
181
176
181
150
192
229
150
130
112
177
195
112
161
165
160
208
112
226
121
196
255
221
130
165
150
235
150
203
124
203
177
195
186
150
208
274
182
208
231
225
161
220
228
150
171
195
233
181
186
228
121
228
196
123
124
219
161
176
171
239
124
136
202
208
170
164
165
165
167
167
172
194
112
123
177
208
112
121
112
260
123
242
147
186
152
135
280
164
165
236
121
171
194
223
121
147
150
243
176
174
208
192
208
123
139
175
210
181
312
112
179
164
150
213
190
160
203
150
156
208
181
150
193
276
130
172
171
167
186
159
147
190
135
194
181
208
218
230
112
121
174
112
208
187
115
121
229
254
143
254
167
112
135
172
187
187
112
150
136
172
202
174
177
195
162
174
150
168
143
172
215
176
194
137
225
135
194
176
208
160
150
187
263
208
208
302
174
211
162
228
152
150
195
112
123
250
150
200
228
123
228
112
196
150
263
135
150
227
150
112
130
150
121
208
157
165
208
202
150
201
150
150
217
121
124
219
195
172
123
165
150
147
208
164
167
172
112
167
205
195
181
112
135
194
218
181
171
214
194
121
204
208
195
212
159
167
208
167
217
159
121
210
167
173
208
240
121
150
229
201
195
150
150
123
208
180
115
121
159
121
164
112
203
181
174
121
176
121
150
121
150
167
212
176
186
130
135
112
112
112
210
174
192
137
150
167
112
139
184
115
210
186
258
115
181
112
150
165
208
150
210
217
150
168
124
121
159
170
112
172
165
174
112
211
171
231
121
123
233
236
171
112
208
168
172
176
208
221
195
150
112
158
137
165
228
121
228
150
160
208
170
208
250
121
172
161
163
150
150
168
121
160
234
150
208
150
172
198
167
175
208
195
170
136
218
220
181
150
137
135
147
136
167
124
228
255
208
112
205
219
112
192
171
194
174
112
194
170
187
167
181
150
172
181
250
136
167
150
121
208
150
112
201
146
112
208
201
173
195
193
165
212
208
170
170
186
250
112
208
172
121
202
150
230
147
176
167
243
165
181
190
112
174
143
135
208
171
123
194
172
258
137
240
167
226
189
170
170
208
194
171
112
243
165
172
112
112
182
112
123
210
167
172
250
194
170
240
170
112
146
112
160
164
135
165
176
130
150
112
121
112
217
239
112
205
250
176
194
112
195
184
112
121
208
226
186
219
194
176
135
203
165
112
196
115
172
195
167
194
112
112
208
167
176
167
199
153
237
112
172
112
243
112
115
121
112
228
176
225
150
210
172
150
177
123
208
237
255
179
123
193
228
167
168
196
159
250
185
214
112
172
226
112
121
158
187
202
150
205
172
219
150
181
181
219
172
207
150
174
208
112
123
223
187
208
121
210
181
194
243
135
150
150
150
172
201
220
206
160
156
150
204
112
214
217
135
175
202
195
208
177
208
121
150
174
175
194
112
208
194
121
214
167
172
150
150
130
206
165
176
150
194
167
209
171
172
121
226
176
137
112
150
193
208
123
115
210
135
194
137
194
172
150
239
235
213
214
187
171
135
150
189
177
218
150
124
177
198
112
143
135
189
112
168
112
112
150
150
167
121
176
195
172
172
232
170
135
121
123
112
167
174
243
193
123
130
208
121
176
208
112
278
123
208
150
150
201
112
231
135
195
112
208
150
121
165
150
121
128
121
237
194
121
228
112
141
220
147
208
136
150
208
193
137
208
159
123
170
172
176
164
135
174
168
231
112
147
178
226
112
165
254
135
167
193
172
208
176
123
167
167
152
170
208
172
123
202
210
158
150
254
202
112
150
176
121
184
165
150
121
121
112
181
121
246
159
175
297
217
208
150
194
235
195
192
194
181
171
179
150
194
177
150
208
150
165
194
169
165
135
218
167
170
217
160
172
214
203
243
207
228
121
121
150
150
208
150
112
170
171
255
164
150
170
234
112
223
150
231
208
112
194
137
206
167
208
123
257
205
229
209
150
181
169
187
172
232
225
150
181
167
228
231
239
150
167
208
167
226
170
237
147
220
170
205
112
170
170
112
181
213
167
171
168
221
123
150
237
184
193
112
150
228
145
115
210
150
209
208
167
172
112
198
177
150
189
217
150
176
247
193
203
170
174
225
167
240
240
212
291
186
226
170
217
165
203
170
121
176
203
112
112
164
247
220
147
194
193
203
112
181
171
137
208
177
217
167
150
255
249
170
233
115
165
170
165
210
172
172
203
150
171
272
239
150
188
181
226
147
172
219
237
170
123
112
208
194
186
192
150
195
216
187
181
202
202
112
136
115
194
112
207
167
165
167
210
121
176
176
170
212
160
232
231
182
176
241
223
203
121
209
150
159
171
181
210
172
121
112
192
123
167
156
208
136
255
112
181
195
187
170
240
172
167
121
194
208
121
282
121
136
225
165
176
170
207
130
194
208
171
156
130
184
150
167
130
150
137
230
255
172
112
276
171
194
170
150
131
232
150
158
172
165
205
112
121
135
172
150
231
172
210
210
165
137
172
186
135
160
170
202
150
121
172
203
123
150
170
184
150
112
208
121
135
158
176
150
225
228
240
150
184
203
124
112
208
150
150
135
208
263
131
165
193
167
190
112
171
181
225
150
225
220
208
172
176
165
150
137
137
150
112
168
146
195
112
225
220
239
137
228
112
150
197
157
172
121
171
172
112
112
165
112
172
171
201
186
121
112
137
165
150
208
176
213
167
123
278
208
167
121
121
130
228
121
194
195
135
179
179
172
176
135
123
150
150
176
112
228
124
115
123
171
239
177
222
220
150
146
115
150
123
177
228
182
215
195
181
201
202
270
257
174
137
255
198
170
212
210
121
172
197
137
282
112
112
229
150
150
158
187
167
208
150
121
181
208
193
208
171
189
130
193
265
171
216
195
170
150
297
207
112
112
208
115
187
123
194
177
231
231
121
112
194
150
198
179
136
112
228
121
170
167
137
121
170
150
246
121
220
112
112
150
255
217
273
172
170
150
201
112
130
171
171
121
163
187
167
165
150
121
165
170
250
121
235
171
167
150
189
208
166
112
176
208
112
121
176
207
255
164
210
147
175
150
112
112
170
171
112
253
208
225
194
150
165
216
150
150
112
209
112
150
150
170
214
150
150
206
159
177
112
177
213
150
121
150
150
202
150
172
112
224
152
228
121
167
194
121
112
150
201
210
163
174
210
158
121
252
150
176
150
213
115
230
165
150
167
121
167
165
112
121
143
250
202
215
123
170
177
216
208
150
123
167
112
172
150
150
226
171
150
228
167
212
150
236
160
150
235
208
228
176
165
208
189
150
208
167
150
250
135
168
210
150
225
235
150
150
147
179
233
177
208
136
170
168
217
195
150
220
168
171
210
150
204
181
195
302
182
208
187
208
225
170
112
121
112
237
202
167
174
170
130
150
112
112
150
150
281
112
212
208
195
250
208
219
172
123
232
150
209
150
172
201
176
172
143
263
112
194
150
172
135
171
150
176
225
250
193
228
200
112
112
158
158
181
208
195
217
112
150
216
220
128
172
112
177
150
112
221
226
121
136
186
115
170
201
165
215
208
150
170
173
159
164
112
159
208
203
208
196
170
150
171
121
179
205
250
121
201
194
167
150
156
231
170
207
218
150
195
203
150
175
152
150
158
112
137
190
208
123
121
209
150
147
233
124
167
210
237
181
160
150
208
172
150
112
186
146
128
137
150
219
193
172
158
137
165
179
157
228
123
130
244
172
228
267
136
176
112
212
218
192
128
112
178
172
159
171
150
112
112
228
172
167
186
150
112
159
150
165
112
197
203
174
170
189
281
112
240
150
194
150
232
207
137
150
130
259
176
193
115
228
150
112
146
112
136
263
123
289
150
179
205
208
121
124
159
112
156
112
121
186
167
121
121
178
121
170
170
160
150
213
276
130
199
181
195
156
186
250
174
237
170
233
187
237
172
130
167
135
229
150
196
121
179
170
176
150
121
243
184
170
150
112
193
112
212
245
147
250
197
186
150
240
150
181
170
150
302
236
150
170
150
236
172
115
124
202
130
174
208
121
215
170
264
123
299
218
150
187
158
124
136
121
203
176
228
187
206
196
112
121
165
253
201
177
136
193
167
278
212
150
279
121
157
121
150
196
201
226
170
159
150
172
135
160
187
156
167
121
176
195
170
124
176
186
121
112
121
157
150
193
150
172
167
206
135
202
112
112
167
121
230
172
150
167
172
208
167
121
150
208
150
124
220
186
212
135
208
115
172
160
124
208
112
176
210
170
168
195
135
233
216
157
139
176
112
194
172
165
172
123
208
224
210
171
150
264
165
201
150
171
172
194
137
115
217
112
170
175
112
220
175
171
213
152
150
206
172
172
225
152
123
201
207
228
156
171
150
208
237
121
269
172
172
181
186
187
193
171
150
259
172
207
167
195
147
170
112
195
203
193
171
115
189
213
194
181
213
167
202
112
205
121
208
124
226
121
136
112
218
121
172
194
121
212
194
187
121
232
170
167
210
214
225
216
121
137
112
174
167
152
176
115
112
208
172
192
159
128
150
143
112
208
152
194
154
236
211
194
150
158
150
121
170
215
198
112
150
135
176
121
121
112
121
156
176
150
121
234
173
172
170
193
193
150
171
121
150
123
255
165
208
172
193
216
171
121
150
215
160
229
150
208
165
147
160
150
121
167
193
158
147
130
227
112
150
121
150
208
150
150
137
150
167
147
186
193
184
150
171
278
143
207
123
187
150
171
208
210
112
112
226
150
210
193
193
172
150
192
186
150
207
172
150
158
186
150
115
150
219
112
112
184
164
121
135
150
195
186
137
121
194
215
174
193
121
250
121
225
150
121
243
150
136
167
237
172
165
182
150
121
156
174
152
123
172
150
131
150
176
209
208
146
258
121
165
143
228
194
189
112
164
181
112
220
172
152
161
171
242
211
112
167
205
152
186
123
112
150
205
172
121
121
170
194
204
187
259
244
115
124
186
135
170
121
172
172
165
137
112
112
171
123
112
160
201
238
176
164
205
212
170
121
219
201
250
124
174
143
150
216
207
150
150
112
202
165
121
223
194
135
181
297
181
137
187
208
150
150
150
150
121
165
137
143
193
112
172
121
167
171
192
112
217
136
173
192
203
223
150
150
121
239
186
121
112
236
156
203
124
150
150
137
164
112
182
195
150
189
195
150
115
233
194
112
231
208
158
172
170
176
176
193
159
203
193
176
158
112
174
176
229
112
112
146
150
170
112
172
202
123
170
150
112
165
193
177
225
227
112
136
172
137
244
136
187
121
136
238
121
195
240
112
276
159
124
210
139
235
195
150
250
171
115
131
150
200
170
215
112
176
208
212
205
115
172
207
236
150
150
121
158
208
112
207
137
208
171
225
112
194
165
135
121
158
195
112
150
210
150
150
194
192
160
208
202
150
121
172
181
137
112
112
136
174
112
172
170
150
174
165
160
171
121
150
167
176
150
135
121
187
112
160
150
123
112
192
152
210
121
172
162
231
232
232
172
208
237
112
237
175
231
112
124
203
112
233
139
124
202
172
112
208
194
171
210
195
158
217
164
137
136
172
181
241
123
208
112
168
229
121
192
208
167
124
112
174
150
176
160
115
186
174
124
225
150
130
208
164
150
272
112
121
172
165
150
208
186
205
184
181
170
121
164
124
153
121
243
171
171
112
156
144
121
112
302
121
210
112
189
150
276
150
150
112
156
171
292
167
203
176
137
287
167
195
194
112
150
176
150
172
208
172
112
165
150
112
176
112
128
159
115
258
112
150
302
176
165
121
136
123
255
112
121
150
302
157
226
112
121
205
135
212
167
201
215
208
112
225
121
172
186
209
217
210
150
207
234
208
165
172
212
216
158
208
219
155
164
193
150
158
228
150
194
186
123
112
112
112
203
170
168
137
208
242
121
112
210
137
185
181
208
186
152
225
174
208
181
147
210
210
115
150
205
172
225
170
112
221
158
150
201
199
208
179
228
165
209
158
136
167
238
275
128
205
201
124
167
165
112
208
187
165
220
194
112
208
112
121
167
112
150
150
172
192
192
121
196
194
177
189
245
143
167
123
174
168
158
130
208
209
135
223
123
112
208
121
150
136
192
123
171
200
276
139
208
181
159
112
150
121
192
186
143
239
195
150
176
112
177
112
161
170
208
210
150
157
208
176
210
202
171
172
150
171
123
121
112
146
170
194
231
150
168
206
168
175
225
150
136
121
228
130
159
181
299
128
177
176
150
243
121
194
135
172
112
193
137
193
150
150
194
112
208
194
121
192
176
167
112
170
121
135
208
150
137
205
112
136
228
267
137
123
172
123
167
150
176
194
228
217
270
205
112
147
121
139
170
176
112
178
112
124
171
195
165
165
159
210
243
170
135
186
150
167
150
170
112
181
112
213
237
194
128
184
228
305
112
228
152
208
150
208
219
208
170
234
136
150
171
112
162
150
170
176
210
150
121
186
175
220
123
187
172
172
112
174
219
167
150
128
186
112
150
115
112
165
112
167
194
172
189
170
186
181
112
121
228
232
177
112
186
150
232
160
184
112
158
158
174
121
176
170
112
236
203
160
167
159
112
135
150
112
171
172
112
121
202
170
160
158
172
219
231
150
172
147
167
213
171
121
210
194
199
150
212
112
194
194
208
150
135
150
135
112
172
121
170
278
147
176
112
185
172
172
210
150
170
239
187
189
189
121
150
212
150
198
181
172
165
242
202
150
237
112
112
158
229
193
194
237
194
202
234
121
181
150
213
211
210
228
218
208
272
182
226
150
237
167
121
208
220
121
123
121
167
147
194
192
208
250
137
194
226
131
203
121
225
172
150
160
176
179
150
121
243
211
121
229
123
208
156
112
150
112
128
208
219
112
172
150
171
123
121
184
187
240
150
187
187
112
123
219
147
208
150
196
220
112
233
170
159
156
187
192
115
172
170
181
182
186
112
218
202
147
216
150
147
235
171
112
187
152
216
174
112
112
237
112
171
150
174
146
165
214
147
137
219
217
171
302
170
115
123
121
150
243
202
205
208
201
172
210
193
150
123
210
112
150
226
156
123
121
194
167
219
164
112
139
187
152
121
121
150
181
121
179
150
250
150
158
150
137
172
124
181
237
150
112
158
150
150
150
160
156
208
112
164
209
228
211
177
130
167
150
147
212
135
205
150
112
179
128
150
208
121
146
176
176
156
213
220
179
233
202
177
208
171
208
232
158
192
112
212
170
165
121
237
207
217
167
252
165
150
170
227
192
167
150
172
168
170
237
121
112
160
205
121
171
150
172
150
250
121
150
135
195
207
147
121
238
256
115
176
150
112
210
194
150
202
208
112
170
121
112
168
121
143
136
123
147
112
144
136
124
181
121
112
237
150
157
172
181
193
112
112
124
156
186
150
150
236
137
150
150
150
208
150
164
239
171
135
130
128
170
203
184
165
193
193
172
203
181
112
267
135
212
171
167
139
278
112
258
194
170
171
235
219
211
216
231
167
208
237
237
225
195
203
123
242
172
172
137
121
288
136
210
112
150
195
275
167
184
239
165
112
162
144
172
121
167
168
217
212
194
219
187
229
121
121
176
121
170
139
193
121
187
216
210
229
205
202
135
112
150
150
174
158
147
237
255
121
147
170
196
223
150
231
128
165
171
137
165
158
210
177
123
167
165
150
121
121
237
158
255
121
165
213
121
174
233
202
136
150
208
150
150
202
204
225
123
194
121
184
197
167
228
228
205
150
208
176
170
150
135
167
165
123
239
147
112
208
192
208
170
172
165
207
172
208
112
112
150
195
150
250
237
240
150
143
164
240
172
195
157
136
209
217
258
207
182
186
276
153
171
210
170
121
150
137
137
208
195
121
167
208
243
174
150
158
215
237
121
171
150
209
256
184
137
201
208
203
115
238
167
144
208
173
219
216
165
150
112
158
167
152
194
176
281
208
150
150
213
202
208
165
255
208
121
150
168
194
231
170
193
170
150
202
237
226
172
174
218
150
150
150
247
121
237
121
168
150
177
171
121
172
123
204
217
176
212
112
112
171
228
207
150
172
156
112
284
194
177
278
239
228
147
181
249
123
112
167
112
215
187
172
214
150
231
201
167
123
170
170
212
210
239
208
172
115
198
207
163
297
212
145
215
123
171
208
172
208
226
156
263
121
208
136
176
123
136
242
171
208
164
234
230
121
121
230
121
210
150
165
121
207
150
178
243
171
121
177
121
137
167
176
190
175
164
150
112
152
112
115
174
168
121
112
123
208
195
121
237
176
195
165
196
123
174
150
112
208
194
150
200
112
237
136
112
172
112
202
136
238
261
178
237
165
172
218
219
136
250
150
176
208
121
147
150
150
112
112
250
211
176
112
281
170
225
123
170
158
112
250
164
128
135
157
167
115
211
181
136
121
160
112
112
236
112
150
187
238
210
170
230
210
176
121
194
112
130
193
165
150
112
208
171
206
219
170
227
179
123
217
128
197
186
244
150
194
121
171
137
186
150
172
137
150
135
121
150
172
170
150
284
150
150
193
150
152
150
121
193
208
170
205
170
147
253
112
265
156
189
158
205
193
167
160
112
152
216
170
208
231
172
112
123
170
215
121
302
186
220
115
152
144
176
208
182
123
177
208
179
137
212
165
150
164
150
150
150
121
121
121
231
135
165
135
197
203
172
150
211
112
239
177
165
172
165
242
176
202
231
112
150
121
208
218
181
170
150
194
172
177
160
150
182
121
112
150
179
201
171
121
237
235
112
112
121
121
181
202
112
150
150
208
239
112
205
220
150
235
208
167
121
121
112
208
208
167
121
167
121
112
150
136
170
207
193
150
164
297
124
123
134
215
156
234
150
121
197
150
121
121
195
112
201
231
121
237
215
194
194
228
195
171
165
150
112
123
121
168
212
150
237
195
150
135
150
150
349
152
176
209
217
218
278
176
181
208
178
167
143
135
158
172
150
220
123
176
135
172
150
112
186
223
121
193
121
121
194
176
123
161
202
203
112
220
167
257
171
255
194
208
170
121
208
210
167
167
121
123
208
228
121
112
121
170
231
208
254
112
181
163
160
167
170
136
172
150
150
172
156
192
121
220
112
112
215
167
239
174
228
207
240
121
212
150
112
208
226
231
181
170
150
229
224
208
172
186
187
150
112
167
236
217
150
211
137
121
172
202
131
177
202
209
121
170
228
208
218
201
167
112
194
130
263
131
150
112
121
150
150
121
147
171
176
212
203
219
171
159
131
208
150
137
255
123
177
171
123
170
137
190
112
208
158
150
112
179
176
197
115
228
112
221
170
193
150
112
208
174
170
150
112
150
112
180
223
239
194
112
237
302
195
210
143
164
121
211
135
112
208
150
208
121
150
112
121
193
209
177
167
255
203
121
167
121
121
276
167
112
112
237
201
112
208
216
181
167
231
216
159
156
208
167
137
207
170
212
121
150
195
112
176
149
171
175
158
170
121
205
123
156
171
167
137
243
208
172
164
192
228
121
174
164
194
121
229
150
159
135
253
242
208
203
208
171
214
172
112
150
186
206
186
176
147
160
164
193
112
189
112
121
167
178
194
168
208
172
123
186
112
192
226
150
165
228
197
171
144
250
172
239
150
112
150
136
250
174
150
237
194
232
179
121
150
223
112
172
164
150
232
121
189
202
190
147
112
210
171
208
112
121
237
229
150
208
165
279
208
195
226
136
171
202
208
208
123
147
121
112
112
256
121
158
193
203
208
184
121
195
150
112
121
236
194
156
185
135
147
121
164
167
150
225
121
158
150
201
121
237
202
203
130
170
112
150
112
121
121
150
228
208
167
150
112
170
168
172
171
181
181
136
172
112
171
216
171
172
208
176
112
208
137
171
217
256
208
123
194
175
181
202
150
150
208
272
172
136
228
112
232
150
208
161
150
249
193
167
181
135
170
150
147
187
121
150
172
112
212
244
263
193
159
150
167
150
112
231
183
150
167
137
128
208
112
210
171
208
170
172
112
175
112
232
121
121
174
194
112
130
121
174
159
171
202
121
121
223
150
135
143
136
137
193
170
112
194
112
170
193
150
218
253
121
162
170
112
208
231
121
121
208
181
170
170
112
201
137
121
158
167
159
112
181
167
112
242
193
158
181
159
112
165
121
171
187
202
121
201
201
255
150
240
159
150
121
228
196
150
250
171
150
121
229
172
170
135
214
121
184
215
179
112
195
218
168
262
115
150
121
208
158
164
150
150
228
112
159
220
134
220
194
130
263
112
121
228
178
186
202
121
132
112
167
228
161
208
121
112
150
167
175
150
121
226
121
170
136
112
210
182
203
208
200
150
135
121
150
121
213
232
121
195
150
231
167
234
172
150
121
112
225
174
170
174
183
121
195
159
170
189
215
172
196
121
201
150
164
194
150
170
165
210
186
193
173
136
217
164
115
181
165
208
112
206
172
172
150
150
123
121
233
135
165
220
121
212
208
182
112
194
147
172
150
220
231
147
208
115
302
192
164
150
137
195
124
172
135
194
208
239
167
112
250
210
112
208
121
207
194
150
208
176
135
172
181
177
210
250
150
150
201
123
123
253
233
121
179
186
235
213
187
136
112
208
255
214
156
233
172
137
112
165
182
186
112
152
176
112
187
194
184
112
189
170
243
112
121
175
137
121
150
181
162
175
170
196
121
112
121
189
157
172
193
171
208
232
121
112
136
207
184
219
112
150
112
202
136
121
186
112
243
130
167
112
150
195
160
112
150
202
250
150
236
189
162
150
208
121
158
123
208
167
159
174
208
192
236
150
184
194
150
121
164
112
193
150
121
170
195
115
228
215
228
172
115
123
156
186
144
231
195
194
135
208
208
176
150
218
181
250
171
136
171
121
172
112
232
150
172
225
137
170
175
170
147
150
150
112
192
186
191
174
201
237
175
167
232
228
177
170
181
147
238
171
172
112
194
212
193
178
167
150
195
172
207
288
121
176
112
112
171
205
208
165
112
128
302
203
112
174
150
112
150
121
210
278
195
150
156
121
172
156
112
128
229
123
226
220
208
232
174
150
233
185
264
123
208
172
146
176
115
202
194
172
208
112
172
208
136
165
135
208
207
194
128
112
160
112
121
115
147
215
176
150
204
121
160
209
112
187
171
115
187
194
179
239
150
150
137
136
164
185
115
187
172
193
215
115
182
195
112
185
220
121
121
279
150
203
121
208
165
170
208
171
121
210
135
208
121
181
174
237
115
275
167
150
205
208
208
172
257
170
168
187
112
181
167
121
112
121
208
193
171
135
210
112
210
208
112
193
112
136
232
174
167
150
181
197
165
112
190
136
112
175
136
170
121
178
121
214
194
112
172
181
150
130
238
206
228
210
215
121
121
171
171
208
167
171
208
112
208
173
190
163
112
228
150
121
172
171
121
121
176
150
201
150
128
244
121
121
229
276
171
147
123
150
112
186
121
172
232
123
124
270
150
210
264
156
260
121
112
181
150
201
112
121
210
203
193
121
226
150
208
135
112
121
167
220
150
112
204
150
238
150
150
208
171
172
164
143
194
123
158
217
177
211
193
228
202
170
172
112
195
137
263
159
213
179
228
150
208
209
112
245
219
175
263
208
170
147
187
228
121
237
112
157
179
207
157
150
172
121
193
172
223
124
207
194
150
178
170
172
208
123
240
135
239
174
172
150
150
191
193
168
150
112
165
137
176
112
217
112
143
170
235
237
194
150
195
181
194
165
150
172
156
208
150
170
212
161
208
228
121
240
112
128
277
150
231
208
262
150
112
121
172
150
232
121
175
124
209
219
137
202
150
112
150
150
192
112
210
208
135
203
165
112
208
171
209
209
215
202
171
237
146
208
272
181
174
212
170
170
150
127
192
121
184
137
150
124
236
217
112
156
158
181
112
130
150
208
171
150
219
136
112
211
112
150
220
121
152
176
275
208
223
121
121
202
190
208
171
217
212
137
172
187
112
121
208
121
147
174
150
112
160
219
112
177
207
178
167
168
143
112
136
267
205
176
172
121
150
194
150
123
253
195
170
121
170
150
112
112
130
176
170
147
172
208
219
112
302
179
228
150
187
159
180
176
112
112
202
194
136
150
158
194
186
233
220
121
112
167
112
160
225
150
225
171
172
150
194
212
232
171
128
164
150
229
250
112
150
112
135
112
121
112
185
211
208
181
224
228
186
136
187
228
210
236
156
172
167
150
177
203
112
121
172
228
264
178
150
208
159
115
159
150
150
123
236
194
168
123
112
208
202
194
174
194
237
182
150
196
208
209
124
165
225
112
237
208
150
289
194
112
144
196
266
229
167
181
150
216
170
236
194
150
150
188
178
203
112
121
150
150
194
112
171
170
193
172
135
181
225
171
112
252
150
195
220
112
208
172
121
121
121
208
121
195
173
150
186
187
121
167
121
200
167
176
172
257
201
218
172
115
178
210
136
245
219
112
121
197
130
121
158
228
205
150
172
176
150
139
150
150
112
112
115
158
189
208
231
165
186
187
214
121
210
170
160
228
139
208
150
214
150
208
150
172
167
217
150
217
202
208
112
121
150
208
150
193
177
250
192
210
112
121
228
194
240
177
207
147
121
189
167
147
237
194
203
112
175
123
258
196
167
147
210
243
150
187
121
196
150
167
167
112
150
277
121
172
187
115
240
181
147
165
167
211
165
171
208
239
159
176
137
219
121
112
123
212
121
208
174
186
150
216
167
225
150
241
150
112
250
150
192
121
158
159
172
156
194
237
124
187
171
123
150
150
176
192
233
172
135
208
150
195
139
112
186
150
170
212
208
214
167
121
112
150
159
220
123
159
215
121
150
179
112
276
203
170
200
144
136
205
189
112
150
207
208
210
150
204
121
135
136
123
135
115
192
195
112
226
147
150
181
150
150
181
176
204
208
219
150
137
167
176
150
124
112
164
187
208
121
167
218
220
150
124
193
220
167
185
208
156
121
193
182
229
194
167
228
155
121
155
112
171
201
174
112
121
121
150
135
187
112
150
193
150
121
181
112
115
150
161
165
112
112
189
194
135
112
150
209
168
250
136
150
193
208
150
172
171
172
164
193
213
181
121
237
181
167
150
177
208
150
234
136
234
199
181
243
112
210
228
150
112
128
210
167
150
172
115
150
208
170
121
150
217
121
168
150
172
159
172
181
121
302
150
150
176
158
167
135
194
112
121
192
121
193
167
167
167
182
123
112
130
217
193
195
186
112
167
135
121
123
135
167
165
192
208
231
194
210
208
150
150
210
302
150
237
170
211
112
165
207
219
172
208
181
121
152
172
195
123
167
128
276
112
196
278
287
121
121
150
149
206
150
255
202
176
212
172
167
250
160
112
228
170
228
242
121
172
194
177
150
228
174
178
179
164
193
123
150
220
208
150
201
263
210
112
171
150
121
189
135
112
168
121
112
182
172
150
231
175
210
172
194
130
194
112
172
173
192
121
224
176
259
187
150
167
195
181
150
115
203
201
150
202
205
191
158
143
150
240
241
147
201
208
208
150
112
121
219
211
121
112
170
112
112
241
150
221
210
150
112
150
181
150
193
209
186
238
112
121
168
171
203
121
226
187
171
121
170
150
121
172
208
167
194
243
121
171
150
121
228
202
232
210
237
207
112
184
171
232
112
226
172
121
123
259
123
172
172
181
135
204
220
136
172
182
135
150
170
208
123
253
179
121
121
150
232
243
172
231
112
150
208
168
208
168
112
179
204
136
202
170
208
170
255
164
135
124
174
195
215
167
181
186
150
231
194
150
170
203
176
172
121
208
172
181
250
201
278
207
228
112
121
165
167
121
172
112
150
172
208
170
255
150
258
181
218
228
219
161
160
139
159
239
115
186
229
136
121
137
170
172
167
176
152
170
167
150
112
193
250
250
160
278
121
112
123
121
223
167
187
193
150
128
193
112
226
165
220
187
172
112
232
212
210
164
112
186
177
121
115
192
186
203
112
121
150
208
192
176
112
158
171
170
150
150
123
205
123
228
121
167
167
150
150
146
178
170
121
208
263
194
121
208
165
174
170
172
137
123
121
150
165
165
210
143
186
163
220
121
172
167
167
150
123
112
195
208
250
158
150
174
202
159
208
178
192
181
181
202
194
123
195
115
172
181
150
215
240
112
112
239
150
158
208
176
167
214
264
186
167
187
208
121
123
187
215
228
121
112
230
239
208
136
135
112
208
201
150
137
159
157
123
167
228
224
193
229
112
150
217
204
203
170
243
150
182
121
208
150
167
150
205
152
136
209
297
112
259
172
207
167
164
123
150
266
181
158
217
208
172
208
172
150
150
257
165
176
226
208
210
194
172
210
156
144
174
169
203
170
112
121
193
195
115
143
214
232
115
243
202
123
170
202
237
172
156
193
173
128
123
217
150
264
202
182
177
172
234
150
184
293
239
165
150
237
194
150
208
156
237
150
158
180
210
187
121
121
200
255
196
224
150
219
190
112
176
121
121
150
112
203
112
112
112
176
156
147
208
167
194
193
247
167
177
135
181
147
150
250
202
184
176
112
226
121
112
235
121
150
228
231
237
121
214
219
228
160
203
194
228
172
112
121
195
159
128
139
167
208
240
150
158
150
112
150
236
112
176
168
177
176
181
112
165
112
172
268
168
112
182
208
121
150
172
171
123
165
171
228
150
112
147
150
112
256
220
197
164
167
226
209
147
196
195
177
121
208
167
202
147
216
171
171
115
150
202
250
243
170
112
212
220
195
201
208
112
150
282
150
176
177
112
112
121
112
208
121
146
150
170
207
170
156
171
150
112
250
228
194
121
150
152
150
178
194
115
124
167
208
237
175
167
263
121
121
150
121
136
202
112
193
278
237
150
229
196
176
128
228
195
192
153
176
198
212
207
201
112
147
208
170
150
112
167
150
179
123
210
165
169
201
139
167
212
186
121
177
194
175
112
247
167
203
302
260
112
158
201
174
112
112
115
212
112
147
112
150
192
135
170
121
172
165
181
181
112
228
219
241
176
130
112
181
289
240
150
112
172
190
159
136
170
278
165
176
189
170
201
172
150
147
157
172
278
217
112
152
121
181
150
121
181
112
279
112
189
160
229
202
147
112
215
150
208
112
240
167
195
144
121
231
157
189
121
186
170
150
207
172
208
170
255
150
168
128
172
212
176
203
170
299
195
167
171
121
174
121
178
228
208
167
232
194
181
208
299
203
137
150
165
176
178
115
208
230
112
193
164
210
172
176
131
186
237
236
112
121
170
150
136
112
202
250
130
168
208
121
112
203
219
164
168
175
147
177
171
161
112
165
167
196
218
177
208
150
150
228
150
150
189
181
146
161
172
208
208
150
172
212
170
123
260
207
147
156
194
161
165
226
199
302
201
211
176
223
112
161
195
176
193
150
147
177
150
234
150
123
228
250
178
170
150
121
208
167
208
210
242
194
217
175
179
172
135
208
150
121
208
249
165
121
193
186
112
112
158
112
205
239
123
112
181
168
121
162
171
121
302
134
204
150
228
121
150
159
165
249
150
195
237
150
202
124
112
196
213
208
170
139
174
112
207
193
239
208
176
112
237
275
112
121
112
112
121
150
179
112
121
150
177
255
189
112
121
195
159
171
208
150
112
167
174
170
147
121
112
170
165
150
210
189
112
150
235
150
238
150
150
135
146
228
196
135
195
174
167
280
207
159
166
150
121
172
171
171
194
171
170
208
165
135
131
167
170
121
123
210
210
135
170
137
136
172
176
121
172
210
244
171
112
112
115
223
208
176
194
167
135
176
171
240
196
124
121
208
170
164
130
170
201
212
183
112
220
192
150
121
167
174
208
195
121
112
123
220
170
152
177
218
170
130
219
168
121
130
193
135
186
208
234
181
123
234
115
150
203
172
170
115
121
229
112
212
112
159
202
181
210
150
176
185
165
150
183
242
245
136
212
232
193
232
233
165
150
137
170
170
230
112
205
208
185
179
150
158
158
150
130
121
112
136
229
135
243
254
194
210
112
194
182
176
186
168
170
212
150
194
150
168
201
172
130
207
172
228
112
199
250
165
177
246
176
137
208
123
219
115
150
186
172
220
112
194
147
123
123
203
186
150
112
165
168
150
112
112
208
177
181
302
186
292
202
250
128
150
130
244
215
208
188
135
228
194
237
170
179
301
121
228
212
150
250
150
211
135
229
228
121
186
202
203
121
167
207
171
225
194
226
124
171
258
172
150
150
176
220
302
170
208
177
112
176
170
170
167
150
244
170
229
181
128
165
156
177
150
136
121
177
224
147
237
112
235
167
170
123
164
174
124
167
150
123
194
194
171
217
263
123
136
170
217
164
208
123
181
135
208
209
112
150
167
241
194
150
130
244
237
190
155
167
170
208
176
174
186
217
168
163
112
255
150
150
122
186
181
297
160
158
184
219
181
228
208
153
115
208
150
175
210
298
150
214
170
124
150
208
112
159
234
233
183
240
208
150
168
220
121
196
158
193
170
225
259
159
181
150
166
170
123
112
112
121
208
187
193
112
121
202
176
170
168
112
228
260
112
150
195
172
212
167
186
159
216
193
143
238
215
165
202
150
121
262
219
209
172
171
201
206
194
193
170
228
245
112
171
121
165
210
158
228
123
165
112
172
136
160
221
172
205
123
240
212
112
203
210
179
193
171
186
178
171
112
136
238
174
136
112
210
137
150
124
172
123
159
172
174
173
170
208
169
172
190
136
174
144
150
186
185
137
112
112
195
220
196
112
165
150
112
150
121
112
205
156
170
156
165
136
137
195
112
147
228
121
121
170
167
112
165
159
112
121
212
147
150
171
150
209
136
112
112
121
152
150
121
165
210
228
128
112
177
193
174
156
156
172
228
187
171
167
212
215
226
225
135
183
150
112
112
152
171
112
137
236
165
191
121
121
220
156
181
228
226
171
150
198
235
152
250
172
194
298
167
150
121
205
171
112
278
228
242
123
150
195
172
121
144
112
194
147
152
170
194
167
112
146
194
212
210
150
158
195
217
121
232
171
165
193
150
121
112
170
128
175
121
150
208
201
210
121
121
121
177
167
150
208
124
193
174
150
229
112
112
194
264
174
112
302
172
137
158
208
136
186
159
112
181
180
162
174
201
150
147
121
208
175
210
172
172
232
176
112
208
230
208
124
190
150
203
112
115
137
112
121
219
172
250
150
121
207
178
216
171
302
205
135
172
234
228
170
167
150
121
208
205
172
196
208
158
136
121
160
165
158
172
172
150
115
164
121
112
187
157
121
201
239
250
164
115
121
228
176
208
208
135
164
174
121
170
132
225
297
123
171
210
112
164
112
175
112
194
201
193
121
210
181
115
139
202
112
177
150
187
112
112
112
121
208
150
121
190
164
181
135
130
112
229
167
137
150
112
172
170
195
225
208
135
220
225
132
164
112
239
165
228
139
168
177
172
205
228
156
115
164
128
143
160
208
215
217
168
204
168
208
152
115
190
123
175
168
150
136
208
194
176
208
171
115
201
112
135
121
208
136
135
182
150
167
121
143
167
130
150
195
112
263
121
208
192
172
167
170
172
233
187
174
159
181
121
147
176
234
172
181
181
121
204
181
208
147
150
230
135
176
194
228
123
159
165
172
121
165
150
194
121
208
172
170
150
218
193
179
230
135
210
115
112
150
176
150
130
143
193
172
187
250
112
149
112
150
210
177
241
170
184
208
237
112
195
167
121
232
181
165
203
170
128
172
220
258
115
225
202
171
152
135
121
112
121
174
150
172
139
274
170
121
195
147
208
203
121
112
208
112
181
121
208
170
171
157
233
135
166
258
177
165
170
179
193
161
172
214
112
202
167
208
237
186
201
186
123
121
275
121
150
235
176
150
172
235
150
139
170
202
212
223
167
137
258
121
150
136
172
195
176
121
175
302
172
150
121
192
176
208
128
112
150
112
177
217
231
121
150
205
217
205
121
136
201
217
150
208
208
150
112
256
121
121
147
150
225
172
233
176
121
195
181
203
171
172
208
160
170
121
130
177
176
176
257
193
121
232
218
165
112
150
186
215
112
219
150
123
123
228
208
217
112
228
115
150
150
202
121
150
203
167
208
156
263
192
167
176
170
195
150
150
165
150
130
228
150
187
181
112
208
207
112
205
219
250
121
112
121
150
167
249
187
201
146
201
231
135
112
177
172
112
150
250
150
196
121
135
150
158
112
150
121
194
202
137
172
156
167
195
194
166
228
112
171
150
208
171
168
174
147
150
150
121
208
177
112
167
165
168
186
194
263
255
195
153
150
195
168
299
112
212
220
194
112
150
167
209
181
246
237
169
165
121
187
121
112
195
243
208
121
212
208
124
181
237
237
193
218
150
192
115
131
112
170
150
201
150
150
150
170
158
171
212
173
276
150
161
139
112
208
165
181
137
172
150
172
150
132
121
112
121
172
226
176
193
184
202
150
172
225
236
222
177
164
228
177
305
112
190
167
112
164
201
186
135
150
123
175
112
202
212
167
123
181
150
150
233
121
194
121
177
170
172
207
208
210
123
121
150
128
150
112
177
208
195
136
201
150
281
159
196
136
128
177
121
170
147
112
189
162
177
187
209
121
176
187
170
123
177
112
159
150
208
186
179
136
112
272
203
172
150
194
236
150
239
170
179
150
115
167
167
121
124
250
150
232
164
112
121
135
208
232
187
167
208
150
121
158
225
207
170
237
217
123
160
172
112
150
170
167
115
212
208
186
210
121
199
159
121
182
186
186
115
135
112
297
181
171
236
150
170
150
156
172
171
231
171
189
171
208
121
130
150
232
229
220
179
121
115
215
157
121
255
150
112
121
195
201
208
115
220
172
228
147
147
239
160
171
165
170
137
183
223
181
112
218
147
201
121
194
121
232
201
147
121
194
210
112
210
167
208
208
115
170
194
152
193
115
150
112
137
135
139
194
186
181
146
184
176
150
218
135
167
201
208
112
150
112
180
181
181
225
121
250
208
121
121
208
123
225
170
115
121
176
171
159
217
175
206
112
161
174
167
171
204
176
121
208
226
121
165
135
194
192
112
193
192
170
124
181
123
195
195
150
112
112
121
208
201
167
207
208
276
208
202
271
194
211
150
112
137
194
225
147
164
174
201
121
177
146
197
158
167
121
121
171
158
167
208
171
233
123
123
165
150
204
172
302
160
156
158
207
121
172
194
115
201
112
130
115
193
208
124
208
158
237
136
150
115
255
228
193
167
181
121
193
170
193
172
171
202
210
112
167
172
226
115
147
181
135
164
208
160
171
170
137
187
260
162
164
150
181
121
150
112
150
203
172
179
150
232
121
172
112
121
112
207
112
192
175
143
243
165
263
160
159
212
229
150
177
170
255
121
124
181
115
239
208
123
172
179
150
187
137
220
171
159
237
211
170
112
124
171
167
147
170
150
193
121
112
158
176
170
150
276
170
170
208
220
187
220
228
112
112
193
150
177
121
121
112
203
150
150
193
176
186
121
181
121
137
182
232
112
170
160
150
128
172
174
232
168
212
172
137
237
255
208
208
150
196
187
131
176
164
112
165
123
171
215
201
112
165
243
135
170
177
215
156
187
112
150
115
181
158
112
170
243
167
172
190
194
244
170
121
231
121
202
150
208
192
123
150
121
121
167
174
202
201
172
264
197
193
225
208
203
172
156
228
231
193
172
150
150
178
121
186
201
150
218
172
214
237
229
231
121
150
186
150
132
170
150
150
215
237
124
216
214
212
226
130
170
150
150
207
219
172
157
228
124
112
160
172
123
170
207
175
121
208
228
123
135
286
203
194
187
177
150
242
115
112
159
136
158
112
150
185
236
174
121
193
112
121
121
187
207
202
152
150
171
235
181
208
112
228
212
150
209
209
123
136
171
172
193
174
121
115
165
195
193
161
173
170
121
171
150
237
209
121
150
121
112
156
150
238
208
178
168
215
244
226
206
208
186
221
208
156
170
208
121
112
112
172
172
172
159
177
187
170
171
150
150
184
150
202
258
112
121
186
237
121
130
121
225
170
223
195
146
208
187
172
172
136
150
112
156
212
208
121
136
165
115
208
205
121
164
171
150
147
136
192
150
250
112
179
136
172
150
171
167
123
166
187
168
165
195
167
112
165
165
208
135
186
194
225
186
171
202
231
167
213
228
208
136
199
164
245
233
181
186
121
250
236
112
150
183
158
170
170
212
144
275
121
130
216
208
199
167
121
228
123
152
172
189
233
173
164
112
170
137
137
179
150
205
173
194
176
121
160
165
201
237
194
210
156
194
112
228
112
112
212
112
112
167
187
150
112
181
219
233
165
203
170
123
150
194
121
150
170
245
175
250
263
187
172
147
257
208
164
112
208
150
121
213
123
146
115
217
208
187
121
186
112
165
123
228
150
208
115
135
177
121
121
218
167
112
187
112
150
121
150
112
172
165
212
228
152
201
208
176
150
115
112
239
208
208
197
135
165
150
239
225
121
209
167
194
124
121
112
237
172
112
123
256
186
123
202
197
121
208
123
193
193
123
112
112
139
236
212
121
147
205
167
201
156
112
150
217
112
263
187
135
208
121
159
124
207
177
121
135
150
195
212
250
231
147
208
207
150
167
172
210
165
208
150
186
187
150
177
201
181
206
186
235
194
177
244
150
164
150
235
213
167
171
201
255
203
124
112
150
176
139
150
235
115
195
167
181
150
202
150
167
158
124
255
238
167
137
171
198
150
137
186
181
238
121
165
181
208
208
150
121
184
203
208
229
112
177
121
212
121
143
150
121
150
187
179
124
218
235
225
121
258
112
250
220
172
121
135
171
173
193
237
123
208
112
150
231
150
150
121
240
152
204
228
247
150
208
255
250
189
208
121
112
179
194
233
215
190
172
121
165
167
164
167
150
150
123
150
150
112
167
218
170
143
112
172
184
171
123
121
167
233
212
135
167
265
170
240
186
171
150
218
150
170
195
194
170
136
167
177
172
152
165
172
195
164
167
137
210
167
176
150
172
136
201
208
165
112
156
167
199
172
150
121
250
187
236
137
165
170
158
164
150
195
150
150
193
170
208
194
150
259
205
112
186
203
186
255
121
226
219
150
215
231
208
150
172
236
121
150
186
176
201
204
150
221
159
276
184
123
193
112
237
192
150
212
115
112
176
121
112
231
253
198
150
172
186
238
150
228
218
190
150
204
121
156
239
121
208
123
150
167
181
235
239
112
136
136
181
121
154
150
239
195
257
190
136
112
167
181
181
150
208
171
194
179
245
112
147
172
234
121
194
121
150
167
112
150
150
202
202
265
158
172
176
164
297
274
167
228
171
210
172
121
123
146
130
121
176
220
150
205
241
220
178
112
147
163
189
196
135
121
137
112
112
130
167
193
112
168
203
136
137
212
203
165
167
172
171
186
239
112
187
171
150
121
186
135
112
121
193
112
112
202
204
121
121
150
239
150
208
131
179
150
112
212
255
156
121
184
302
272
189
231
195
147
194
186
112
171
158
121
194
121
121
112
121
194
136
172
136
210
115
150
112
165
159
207
176
207
160
201
150
212
247
171
181
208
181
170
208
158
198
202
121
112
150
165
187
234
150
192
150
172
203
150
147
121
121
226
212
226
172
165
231
184
150
187
158
150
228
121
115
121
208
112
208
150
177
172
175
150
121
158
167
147
176
219
121
112
172
150
150
171
150
210
182
162
123
157
226
112
112
202
176
234
124
186
201
201
135
226
194
150
150
220
181
167
184
250
208
150
171
229
139
193
176
170
135
171
231
170
194
112
121
210
225
137
159
121
172
205
181
174
204
152
210
199
181
194
150
168
170
158
147
170
121
136
112
187
194
112
164
121
272
184
171
147
186
128
112
135
130
150
172
172
112
112
181
167
135
186
150
208
152
167
172
123
121
196
150
167
121
172
207
150
112
208
160
193
165
219
243
162
150
160
121
136
170
206
218
297
112
195
112
112
167
121
150
226
152
165
112
157
208
135
150
112
170
208
121
147
170
115
263
171
269
171
257
121
220
139
229
240
160
210
150
147
147
194
208
254
121
150
210
240
112
147
172
167
172
208
212
194
276
150
250
158
145
195
207
165
226
259
137
121
194
172
167
194
181
187
121
208
112
193
150
177
170
137
208
150
184
203
150
184
115
181
121
167
167
150
150
112
208
150
270
197
167
150
137
112
170
170
112
112
150
170
237
165
212
164
177
136
182
174
192
172
112
209
201
121
174
112
210
147
216
176
124
112
150
208
186
112
228
212
237
112
243
165
112
115
112
123
201
172
123
147
150
123
228
173
160
172
226
137
112
121
135
174
198
152
201
160
152
121
213
172
187
181
233
228
208
172
121
255
233
202
150
194
176
177
121
112
147
164
182
150
231
112
136
186
121
121
220
150
208
152
121
181
211
112
150
195
186
210
150
170
243
150
147
123
225
167
150
250
121
121
162
208
208
207
178
150
170
152
167
170
150
238
150
112
165
147
195
121
167
171
167
201
124
195
193
247
136
165
135
143
174
112
302
137
167
112
207
170
228
150
170
121
218
232
144
172
179
112
263
302
220
121
208
193
146
112
150
210
251
167
249
159
121
172
112
150
150
150
121
206
177
255
112
167
170
267
224
160
147
150
208
112
137
164
197
208
208
208
187
195
176
165
150
147
201
212
121
121
136
255
212
203
186
150
206
143
278
210
150
177
112
196
196
150
195
121
181
150
229
267
226
167
167
150
208
150
170
172
172
121
194
147
164
187
194
172
195
150
235
150
135
112
208
191
172
112
121
181
121
195
177
208
115
112
170
172
208
121
195
165
181
121
176
172
150
121
176
121
156
121
232
170
112
150
164
135
207
112
121
187
272
112
202
152
171
217
208
163
231
131
112
242
232
165
150
167
234
112
121
123
135
150
194
136
147
226
143
177
219
214
143
236
112
136
269
167
150
121
115
194
202
172
210
208
174
196
167
144
112
168
147
233
121
167
167
167
165
212
150
164
150
234
205
150
167
218
115
240
112
121
121
150
150
139
150
136
249
150
210
171
115
181
177
171
210
121
150
147
112
115
226
150
112
192
192
208
194
171
165
112
208
230
237
165
170
165
170
121
121
219
112
137
179
150
201
112
212
300
121
243
136
226
121
123
201
121
112
171
144
228
208
224
205
172
171
167
193
251
219
174
214
192
236
158
274
175
187
121
226
171
195
177
158
172
150
112
112
194
171
150
187
177
236
121
172
121
175
174
176
186
181
250
229
112
112
112
176
150
121
162
128
184
294
136
171
112
210
226
164
215
171
112
164
150
150
231
144
150
237
212
123
124
172
297
165
243
165
178
121
244
187
195
150
236
220
167
167
136
205
202
202
255
112
194
192
123
193
150
214
164
158
213
170
203
123
123
174
175
193
123
150
123
135
199
202
167
121
159
201
121
112
165
177
230
150
121
208
196
150
212
150
150
181
167
246
172
186
150
147
192
194
135
193
121
112
217
168
167
228
112
195
152
167
165
150
170
190
147
212
121
147
143
167
121
165
260
137
181
123
115
215
168
195
165
135
177
210
171
146
112
215
198
150
194
204
121
208
167
167
158
136
205
165
121
208
121
184
167
202
183
121
171
150
159
160
121
112
170
181
147
187
121
239
212
137
167
167
167
219
128
187
178
112
121
112
172
124
186
265
164
150
112
168
165
165
121
124
210
219
172
158
157
194
121
162
165
181
232
150
150
208
179
164
112
194
147
208
219
176
136
130
259
165
181
150
181
123
237
165
121
250
232
153
186
172
121
130
171
112
152
112
208
172
112
112
152
184
147
225
229
150
150
179
302
130
137
162
150
179
170
157
208
158
136
210
177
152
241
147
172
193
112
203
205
172
272
121
150
150
156
181
135
159
121
208
181
250
150
112
226
167
128
136
186
167
181
112
186
170
219
167
121
121
164
150
121
225
208
225
121
159
263
217
205
164
181
198
150
171
167
150
112
276
160
170
167
150
195
156
150
201
302
121
220
171
112
112
150
150
237
192
208
240
170
112
226
202
112
231
168
271
150
208
165
224
214
302
201
112
170
203
161
184
150
270
209
208
218
208
167
243
112
150
171
172
150
201
168
208
218
210
112
121
150
112
208
170
187
150
187
121
186
150
137
193
179
170
176
237
121
195
167
212
112
144
181
194
171
233
150
200
171
237
150
172
170
150
172
223
121
121
194
123
139
121
172
210
250
203
217
121
194
112
123
186
172
224
233
135
150
112
208
167
159
299
258
167
150
112
150
176
171
172
208
204
112
121
170
150
121
181
152
181
150
112
171
179
231
194
115
121
167
112
177
177
130
150
208
123
150
171
215
112
174
222
176
170
205
165
150
136
239
182
174
124
167
123
150
112
143
124
176
231
112
226
112
297
171
194
150
121
167
150
158
265
136
167
172
150
172
112
242
121
210
218
185
201
121
208
115
136
172
181
170
170
272
112
165
176
193
202
121
167
176
121
193
144
124
161
137
158
171
181
186
144
144
121
229
147
187
194
171
192
170
146
150
150
162
121
172
150
150
135
208
150
123
128
262
121
171
150
130
150
150
159
176
150
167
181
150
239
209
186
150
147
167
302
210
181
121
222
172
153
136
172
128
267
121
192
135
115
185
194
112
135
150
124
214
150
186
150
203
150
121
228
246
165
167
147
131
208
185
150
150
235
172
146
164
193
112
181
210
203
150
170
208
278
172
208
187
174
194
157
137
150
214
237
167
115
115
115
212
195
121
123
123
193
225
210
165
112
112
176
167
150
124
150
112
239
121
203
171
152
170
150
218
144
136
176
170
150
150
178
229
123
124
163
137
172
172
121
181
121
193
176
274
160
150
228
209
208
160
242
150
203
123
194
127
223
177
211
150
218
139
208
156
212
165
201
121
185
208
112
123
172
194
121
186
260
170
244
172
150
112
112
172
124
194
128
167
278
112
170
112
128
202
208
165
208
208
245
130
150
172
171
147
150
225
228
121
203
208
150
214
215
170
112
181
123
238
112
135
199
171
231
284
210
112
172
171
150
150
231
112
187
115
121
175
121
152
217
112
160
112
195
144
165
121
208
121
167
225
302
205
190
112
192
121
160
263
176
176
257
182
150
192
150
123
150
171
172
219
194
172
217
179
112
278
194
203
112
168
213
121
218
233
189
170
179
231
194
218
121
194
212
170
218
253
112
181
150
112
112
172
167
136
150
227
187
263
136
150
170
184
201
171
167
159
152
208
121
195
208
194
150
181
150
235
184
195
112
136
215
150
121
255
168
220
172
243
262
150
205
121
186
174
186
112
250
167
217
136
150
204
225
297
237
121
115
189
172
186
231
208
219
121
168
194
121
228
121
121
264
168
112
241
174
150
202
123
112
150
208
150
121
112
112
137
199
112
208
112
143
208
112
193
167
205
150
152
210
186
181
195
112
196
168
243
150
176
187
150
235
150
150
136
208
209
130
143
152
243
235
204
121
112
229
150
172
202
178
147
220
130
121
121
112
176
144
161
198
128
208
159
147
150
172
208
172
171
171
150
202
150
112
203
168
187
121
121
250
150
171
181
203
186
121
112
228
150
208
171
224
123
201
181
150
136
112
112
208
219
121
208
250
226
164
172
276
240
171
172
172
121
112
205
195
164
150
150
112
194
168
194
177
255
135
112
156
121
260
121
195
172
167
147
205
226
220
167
121
150
164
150
179
121
218
121
112
168
247
176
168
150
186
124
186
123
167
115
181
167
112
112
170
115
172
121
150
121
112
174
170
233
190
112
203
177
121
112
167
173
167
212
223
237
168
112
165
193
172
165
264
208
186
150
123
164
230
172
170
203
187
112
189
150
172
150
172
150
121
112
181
232
186
135
210
170
172
112
237
220
112
210
181
184
159
208
150
115
194
204
112
124
150
150
135
243
172
264
165
210
230
150
150
144
195
150
150
137
250
239
121
135
136
175
172
121
164
150
168
223
112
167
172
172
112
170
237
167
150
201
112
167
192
128
170
137
150
205
220
170
121
193
204
159
232
171
130
112
150
208
213
269
163
121
228
187
112
172
121
216
232
150
209
178
150
112
165
170
208
194
165
202
135
208
196
165
178
131
150
198
171
130
150
184
150
242
172
225
168
144
226
150
150
159
239
264
172
263
144
112
150
121
121
239
121
121
232
167
150
177
121
186
193
150
202
206
220
146
255
211
160
212
201
200
171
136
190
150
172
208
130
189
194
233
150
232
208
112
164
176
228
112
147
172
207
194
112
170
172
112
150
150
263
150
150
123
171
232
203
194
233
181
194
193
160
112
160
171
165
150
165
165
156
205
257
172
112
164
210
137
123
121
267
150
112
167
112
226
250
186
150
167
112
112
194
112
276
190
172
135
167
135
121
177
208
242
115
212
189
278
170
172
171
115
112
192
121
165
123
203
112
135
121
112
121
210
208
245
205
158
232
232
150
213
208
121
203
172
168
176
225
208
121
164
121
212
139
171
171
150
171
225
239
150
112
150
179
150
228
112
165
121
208
212
171
189
150
121
194
210
176
208
150
194
168
121
124
150
112
177
202
158
121
219
193
135
208
217
240
193
171
272
214
215
171
215
167
186
150
223
121
195
171
240
181
167
270
231
137
191
176
115
225
112
150
164
220
123
112
211
112
186
165
112
208
123
167
115
112
171
176
159
150
194
228
237
150
121
193
168
176
230
147
112
173
208
239
193
187
150
112
181
121
159
214
112
115
178
195
143
121
191
176
208
195
187
143
167
170
112
172
228
195
172
160
167
194
130
237
171
208
171
150
219
165
176
208
174
217
170
195
208
202
115
228
171
179
170
152
208
150
218
115
168
170
173
152
115
194
210
171
187
239
171
193
123
208
228
235
112
158
112
123
112
124
167
250
112
223
185
171
115
212
208
123
165
212
219
150
195
195
175
203
150
172
165
192
172
210
233
165
171
167
121
123
187
160
150
167
192
171
210
112
165
147
159
181
112
263
152
121
150
150
181
124
150
159
150
245
171
238
121
181
152
187
195
112
150
205
168
194
121
150
179
137
212
213
167
195
167
112
135
168
121
208
220
158
167
143
121
121
194
239
167
182
192
228
121
259
202
201
193
255
167
187
208
171
152
112
176
201
158
171
193
112
150
167
208
251
202
112
171
172
143
196
150
181
159
150
150
150
121
220
231
225
137
171
210
206
182
112
208
195
208
239
208
137
112
176
121
150
195
195
202
218
150
211
271
170
233
167
152
112
135
179
167
128
197
212
121
172
207
230
217
171
123
167
174
186
172
128
202
112
194
112
112
210
147
150
187
163
176
165
192
121
176
150
204
217
123
233
121
202
193
217
121
137
172
187
202
137
112
123
176
228
112
176
121
178
192
194
299
253
165
165
195
176
112
131
112
208
210
167
121
124
150
225
121
121
171
150
150
259
171
267
121
150
164
156
121
135
121
150
194
143
167
171
112
229
208
195
159
227
115
297
170
194
170
150
150
168
112
124
194
240
208
159
112
167
255
260
194
192
172
170
236
243
170
194
186
210
150
278
167
164
150
175
172
112
123
208
147
237
225
175
121
209
172
217
112
150
196
170
112
238
121
170
238
176
202
153
124
112
159
150
150
232
124
176
255
115
115
135
207
150
112
226
228
229
165
150
150
237
171
208
150
218
209
172
150
257
167
159
112
123
121
172
251
112
136
182
112
172
215
238
168
112
115
150
193
193
172
181
239
172
112
182
150
177
212
201
176
146
275
172
187
177
210
150
201
220
255
202
188
121
150
244
156
172
194
159
187
232
112
112
158
263
208
208
121
115
150
208
112
176
136
219
193
153
170
147
172
121
147
121
143
205
201
150
150
204
208
199
162
121
167
224
137
121
192
208
231
112
150
182
121
128
172
236
152
175
208
187
194
112
212
208
172
218
188
228
165
226
171
170
208
168
195
150
193
121
202
174
152
170
121
171
124
150
195
115
136
210
187
121
184
228
203
219
112
193
130
172
187
121
168
178
174
121
232
170
150
135
172
197
150
121
121
135
171
136
112
164
115
195
121
112
208
150
239
121
136
121
150
208
225
193
213
181
170
121
159
150
208
121
205
121
210
112
187
190
172
231
165
150
165
167
171
181
115
112
205
204
135
115
165
172
158
187
194
150
135
150
200
124
128
170
172
172
268
233
182
147
112
204
150
196
121
167
226
112
195
179
208
112
208
150
150
170
150
170
137
150
150
193
144
201
159
218
112
150
164
160
202
253
177
175
150
212
150
123
179
150
112
165
159
121
201
216
124
121
168
123
208
187
187
112
162
150
150
121
112
205
176
208
201
112
218
150
257
150
190
121
135
263
194
302
167
172
112
181
179
170
172
150
150
170
279
207
121
192
112
237
172
150
130
170
123
228
210
189
164
202
197
210
145
150
115
123
112
174
174
182
112
187
143
176
232
229
257
150
231
174
162
200
123
121
208
209
121
208
181
203
170
211
124
143
130
150
147
170
210
194
150
189
121
167
168
167
150
150
254
231
171
112
205
165
189
152
152
229
194
228
172
172
203
171
123
224
237
194
184
201
121
182
171
195
121
167
167
215
150
172
172
228
115
196
237
204
204
147
244
208
121
218
121
130
160
181
112
150
226
212
177
187
208
208
174
135
229
175
232
115
176
237
130
136
164
208
112
208
174
171
130
136
167
232
167
121
121
192
112
208
160
156
181
150
121
112
121
235
208
194
237
193
172
165
167
208
167
157
210
112
172
175
201
220
167
208
171
232
112
247
167
181
202
179
203
115
194
167
123
121
229
172
181
112
233
194
176
150
176
112
112
147
160
147
195
112
167
174
160
143
217
150
276
165
257
112
195
124
170
181
171
170
201
212
201
167
165
184
121
135
150
150
250
150
171
187
128
150
170
150
182
112
167
112
299
121
160
121
150
219
219
150
208
208
168
187
219
172
121
150
164
112
121
167
159
165
130
189
128
209
212
150
220
136
165
197
204
150
176
150
150
150
150
121
124
196
205
130
202
208
150
208
239
208
171
150
135
228
165
198
202
112
115
212
115
167
232
230
174
150
170
143
185
128
208
150
175
168
136
205
172
121
172
195
121
150
236
208
170
194
176
222
112
112
174
226
205
210
137
250
178
218
171
218
172
172
220
150
206
208
190
144
239
123
217
178
179
181
228
171
150
112
112
172
192
194
181
172
235
112
160
167
181
150
215
238
115
112
220
172
288
206
112
112
237
112
112
205
172
219
255
150
121
171
136
167
208
177
194
150
155
167
164
237
215
194
278
147
194
196
150
165
121
112
193
150
192
181
250
150
167
150
215
121
202
177
160
124
228
123
164
194
181
179
175
165
187
208
170
150
181
150
115
262
172
150
272
123
186
112
165
187
136
121
201
194
233
173
121
177
112
121
115
171
159
186
216
171
194
187
121
176
136
170
121
167
124
123
172
279
173
172
172
172
137
123
202
121
153
121
194
200
171
205
208
175
231
171
150
115
150
212
240
174
192
187
150
172
112
150
112
196
258
121
212
177
112
181
193
231
150
177
250
164
255
167
121
150
175
150
175
121
232
196
167
165
123
187
170
243
193
172
168
174
186
210
112
186
193
150
115
150
167
112
177
172
112
112
150
112
172
250
158
121
194
237
237
115
112
195
165
263
164
121
112
260
164
135
195
176
174
205
143
181
297
150
121
186
259
161
150
165
212
170
195
123
172
172
165
208
250
167
205
192
112
147
237
230
194
150
158
209
206
150
195
159
112
186
208
150
181
172
208
150
170
186
260
172
194
175
192
121
167
202
223
112
181
137
171
202
194
193
187
194
208
112
193
195
237
112
181
172
241
170
203
228
218
215
171
150
112
181
156
150
112
207
150
150
212
147
211
112
193
229
128
205
202
205
171
165
219
150
208
211
150
150
112
177
123
209
207
208
250
170
279
177
156
195
167
177
163
121
112
210
170
150
150
147
201
189
198
195
134
167
194
115
171
169
121
170
185
152
201
222
121
195
171
128
195
175
130
150
230
121
276
181
165
208
278
264
178
130
253
207
177
237
112
150
135
112
128
212
167
232
167
208
238
226
150
232
150
185
112
147
225
121
194
182
195
121
217
219
168
233
228
215
165
212
147
137
112
196
194
150
229
193
112
202
192
121
208
167
192
112
150
112
174
112
172
193
193
150
177
208
150
150
176
209
170
150
159
237
171
121
112
170
264
228
250
150
208
150
112
219
228
112
170
221
208
181
150
164
172
150
135
123
162
121
172
115
136
177
203
112
302
123
186
121
112
115
233
210
167
181
172
247
205
217
259
204
150
245
152
192
208
128
150
186
167
250
215
124
112
229
121
115
112
193
150
181
150
187
112
212
112
176
121
121
250
157
241
193
150
212
208
297
112
176
112
174
135
128
112
218
121
218
181
190
208
181
121
230
159
237
193
150
121
234
150
115
150
236
219
170
194
194
208
187
247
226
228
162
150
147
161
243
194
210
208
115
136
208
170
210
152
176
150
135
171
214
208
208
121
165
181
135
165
160
112
176
150
112
175
230
205
112
112
135
121
203
112
162
226
177
121
187
237
112
128
112
167
196
250
150
170
123
194
254
165
207
210
121
205
158
176
212
174
177
150
112
112
187
233
187
210
176
220
167
115
208
123
172
177
128
164
218
143
136
171
192
121
155
112
194
197
121
176
237
137
201
172
167
150
208
194
136
172
203
258
208
112
193
170
112
206
136
171
244
150
172
150
187
172
165
231
203
121
172
190
171
228
255
219
121
302
228
208
201
167
257
128
167
150
123
231
112
244
164
152
121
167
228
150
150
121
170
172
181
112
112
201
300
136
123
171
112
175
123
177
112
147
150
217
187
112
212
216
137
150
200
150
137
112
173
150
176
172
124
121
158
193
276
240
240
181
115
150
193
121
115
208
172
150
171
150
215
187
150
194
217
195
172
124
158
195
112
212
202
226
121
237
208
150
135
192
112
147
208
228
200
112
121
124
170
201
167
135
203
179
150
121
208
186
197
121
194
255
216
124
171
185
212
220
256
160
123
115
196
214
187
177
195
150
167
121
194
171
150
172
187
232
150
177
152
112
196
174
136
170
186
254
150
209
223
186
123
208
157
202
195
201
171
208
158
187
147
211
159
121
229
237
167
201
150
135
112
170
112
172
212
167
165
167
193
143
165
193
121
156
150
150
158
150
170
246
208
112
112
123
202
254
112
121
237
195
207
158
193
112
167
172
112
150
150
167
137
181
228
150
147
216
112
172
121
115
253
158
220
179
193
165
165
150
167
112
170
150
203
187
194
115
171
165
124
150
112
232
157
172
121
165
212
121
225
150
206
121
136
240
150
123
123
225
200
232
172
232
167
178
208
121
181
123
150
187
171
243
121
187
121
150
150
227
172
205
147
305
202
193
194
112
164
165
112
135
136
194
171
208
208
195
181
181
172
153
302
185
194
235
112
115
213
130
170
150
112
135
160
121
208
124
195
112
121
172
121
164
123
207
216
209
228
237
136
170
112
143
187
128
150
121
157
121
236
150
147
190
210
112
112
242
192
208
150
112
172
150
228
150
146
219
167
121
147
112
187
239
167
121
165
143
167
150
167
150
150
112
187
162
205
168
210
208
171
208
228
150
226
112
121
164
246
207
150
203
179
147
137
150
228
212
218
150
235
186
172
176
210
164
150
172
177
170
208
112
212
112
147
147
231
121
172
208
158
239
170
150
195
167
194
136
115
115
112
250
203
212
224
112
150
123
232
137
208
208
302
172
123
150
236
194
150
199
172
170
121
215
115
238
272
187
150
234
161
158
208
208
232
112
177
147
123
115
195
186
176
150
205
121
250
250
218
150
165
194
150
202
245
121
208
123
124
168
167
147
112
208
112
130
210
115
173
128
160
189
186
143
158
230
195
150
198
231
172
198
171
208
207
226
115
263
208
181
152
224
178
172
194
136
160
112
194
112
172
170
171
181
193
130
233
186
172
208
210
165
150
250
187
112
170
193
172
152
184
121
186
220
150
181
235
150
181
190
194
194
176
223
112
150
123
172
159
216
112
250
228
112
112
112
167
112
193
236
121
112
167
196
121
112
245
237
223
255
136
185
121
147
112
128
152
112
187
208
112
216
150
186
135
112
177
115
137
115
172
150
156
161
171
167
233
237
193
158
168
165
203
208
201
208
139
121
240
181
115
186
177
195
175
137
210
112
195
208
186
243
112
237
194
172
229
172
299
194
210
216
177
121
172
150
121
150
160
187
208
150
112
150
147
130
150
167
260
150
123
181
135
170
172
274
208
170
189
302
205
181
228
171
203
208
170
201
121
171
121
208
170
235
136
123
112
194
276
112
174
192
152
137
193
150
208
193
171
208
150
121
112
130
237
171
172
230
220
187
181
171
176
195
161
147
170
233
210
112
207
136
150
195
194
156
150
130
135
203
201
164
221
237
172
211
208
123
170
193
172
186
150
181
130
201
217
147
265
112
230
121
157
181
194
150
208
208
208
121
143
150
121
186
203
172
208
250
170
181
167
150
172
171
124
208
121
167
137
150
184
115
202
255
150
312
186
139
165
194
201
121
171
165
171
165
150
150
150
150
208
177
171
193
121
192
171
164
198
150
228
172
156
228
177
150
150
194
159
190
121
137
160
194
150
150
165
121
172
171
239
147
152
150
210
170
202
124
187
130
202
121
174
135
136
208
202
195
156
208
147
304
228
177
194
205
181
135
183
112
171
201
150
147
225
170
128
175
165
228
172
121
203
112
196
150
112
137
172
165
150
160
150
161
112
112
112
213
121
171
187
171
212
115
192
203
152
150
203
170
171
121
112
135
136
218
168
150
121
121
275
250
136
150
112
226
176
208
250
219
226
196
156
164
176
150
250
121
216
150
187
112
112
256
112
175
150
170
121
208
228
150
121
121
112
112
150
160
196
112
211
178
150
193
121
171
218
123
175
276
147
195
150
150
165
194
171
150
112
128
146
121
176
194
167
187
157
195
194
192
220
202
193
121
164
112
172
202
136
225
208
186
203
152
112
282
186
210
187
112
197
201
212
150
186
150
208
121
250
236
176
124
115
121
228
112
240
171
150
112
186
158
219
121
208
172
250
160
223
112
150
150
229
219
220
228
112
226
167
212
112
167
123
170
193
212
278
170
176
187
208
171
167
121
147
276
193
172
112
187
121
144
281
160
112
172
233
187
123
150
176
254
246
172
112
172
121
187
200
150
170
298
150
147
121
115
121
112
287
216
150
208
123
112
194
191
205
135
227
112
226
216
112
112
150
177
135
123
112
121
172
195
170
123
112
150
179
184
218
150
170
196
171
226
162
162
228
177
147
237
112
150
175
172
208
206
121
171
195
171
261
177
112
228
189
150
150
281
172
231
172
121
218
150
278
210
115
150
130
147
112
176
208
181
123
208
167
195
159
135
167
171
208
112
159
230
228
150
112
176
150
287
208
225
202
193
176
167
130
181
187
121
217
150
208
212
150
235
210
215
194
209
172
150
171
139
217
160
158
135
302
150
123
147
237
164
213
187
150
150
177
112
195
123
186
150
150
112
181
192
196
150
150
194
210
227
181
115
190
112
112
121
210
150
150
130
195
150
172
137
212
236
156
208
212
170
228
150
184
121
167
159
242
217
112
190
187
208
194
150
150
150
210
193
150
195
112
136
115
150
121
208
212
209
192
202
186
171
186
121
168
150
150
123
178
164
150
112
150
171
210
174
186
112
194
160
170
257
172
124
187
121
112
176
210
170
205
150
186
170
228
150
150
128
123
208
208
172
181
302
123
276
189
172
147
189
176
172
143
150
150
150
218
250
167
171
208
237
136
171
174
112
121
194
214
135
165
208
237
112
150
165
263
275
112
156
123
205
194
186
205
171
150
231
167
164
176
112
158
207
156
167
147
226
121
228
171
112
135
167
240
156
263
150
210
112
177
208
181
171
167
158
208
160
170
150
208
201
208
193
112
121
243
233
279
170
170
167
150
198
123
187
112
168
171
112
265
124
121
208
232
112
214
203
208
164
172
193
165
187
137
112
228
205
215
176
210
115
112
249
208
174
172
136
202
150
231
192
172
208
167
208
172
171
171
121
150
207
186
186
112
115
167
194
150
207
112
167
135
160
243
170
150
171
226
229
177
216
211
181
112
150
206
194
176
170
112
171
184
205
217
181
159
171
112
170
170
167
244
160
194
226
165
149
121
177
172
123
237
225
112
170
121
170
150
253
210
121
253
136
186
150
160
112
124
176
136
228
202
121
176
221
208
135
112
205
150
156
147
228
250
167
171
121
186
193
150
172
202
172
229
241
170
174
193
178
123
203
239
150
150
190
214
167
233
121
112
167
179
123
167
135
150
172
194
130
220
216
123
199
187
231
123
160
235
112
159
231
123
208
231
150
170
150
170
121
250
139
256
192
121
231
171
167
130
170
150
175
165
121
124
167
276
158
150
234
208
208
112
244
112
171
193
123
250
181
210
210
146
124
229
150
208
112
250
112
171
228
220
233
150
135
174
137
150
150
150
112
158
194
219
193
150
215
190
172
184
158
186
152
165
211
192
250
175
147
172
178
150
208
112
172
202
112
123
165
150
194
229
205
172
186
170
225
171
124
121
181
150
195
163
128
192
170
123
128
121
121
112
143
150
208
150
112
115
181
170
198
112
194
144
176
232
123
167
171
112
197
171
123
112
171
188
172
150
206
208
174
172
150
170
123
112
197
112
208
112
200
167
172
135
150
217
167
121
121
112
160
193
238
229
195
201
165
202
172
160
216
143
112
121
208
165
112
207
241
208
208
194
205
112
150
220
297
165
237
228
150
170
227
150
112
193
121
202
208
135
187
112
173
194
231
147
150
228
181
170
150
168
135
229
112
163
147
121
190
231
240
159
238
167
165
208
232
228
171
188
112
130
192
202
239
171
112
193
160
170
194
194
167
112
135
158
121
136
172
168
160
112
203
121
123
135
195
124
170
136
201
199
181
225
192
150
220
179
159
150
187
124
150
217
121
176
175
194
121
278
230
152
217
203
208
159
150
207
135
229
150
150
212
190
123
201
150
112
168
168
158
150
203
150
193
186
187
230
172
194
212
231
178
136
164
302
189
150
188
150
207
176
150
177
112
243
239
229
216
124
201
203
175
121
163
172
239
184
158
177
203
123
150
305
112
112
172
208
112
121
150
177
208
217
168
112
112
213
150
167
150
150
182
215
172
208
112
143
172
187
112
121
121
194
123
223
205
202
150
194
172
234
203
164
187
159
208
143
172
239
112
228
112
112
263
208
207
207
121
112
195
137
219
217
195
121
121
121
198
223
150
229
210
150
167
123
150
112
167
189
220
112
121
170
212
181
210
167
170
172
186
249
164
203
208
194
150
227
185
112
220
208
210
150
186
234
150
210
112
248
172
194
181
128
250
172
150
174
167
121
182
220
210
150
167
150
172
165
275
176
112
136
156
178
178
217
165
186
215
208
160
194
208
147
181
192
202
172
146
112
167
112
123
186
181
194
176
112
208
112
195
112
170
121
112
235
177
170
195
224
212
208
206
208
202
177
250
218
205
150
112
213
172
112
112
187
176
190
175
172
194
204
194
135
194
121
194
195
172
181
202
207
175
124
233
220
192
150
157
112
147
150
167
137
209
179
178
238
231
195
150
232
159
157
162
196
212
195
195
137
112
124
171
112
150
139
170
150
121
112
150
194
150
246
175
177
274
150
193
186
172
196
112
239
124
135
123
282
171
172
121
208
215
147
205
229
150
121
123
208
124
265
195
175
237
263
121
112
178
202
156
124
159
217
258
203
171
167
121
137
112
194
250
121
208
135
167
181
150
225
123
182
135
137
124
203
143
112
236
175
219
272
214
195
150
121
255
177
121
170
137
167
170
193
152
218
187
112
170
150
181
231
229
237
167
123
171
168
121
219
150
171
194
217
208
121
167
231
193
172
123
170
186
185
135
248
150
121
112
112
202
137
121
175
187
228
210
202
167
194
150
236
136
150
172
171
112
201
174
174
170
121
150
214
203
135
250
167
112
171
203
201
150
159
147
167
193
121
219
170
112
215
209
112
121
167
193
172
250
112
112
147
115
173
112
172
232
186
128
172
207
193
187
160
194
112
121
167
256
167
150
237
171
123
123
172
166
221
183
203
150
228
172
202
167
208
112
115
121
179
165
210
167
172
143
241
157
243
150
112
123
208
171
226
150
186
112
128
172
188
235
193
150
150
150
217
226
163
171
112
172
121
121
167
225
167
210
112
167
167
158
201
206
156
176
172
158
224
225
186
194
112
150
150
112
207
121
201
203
150
208
208
121
150
115
150
112
150
172
150
172
121
136
135
233
186
156
164
257
208
193
208
167
171
181
165
167
174
237
137
121
170
176
121
158
195
170
172
150
167
181
272
202
172
211
237
170
244
112
170
208
186
121
174
167
243
244
112
121
186
172
186
213
226
171
170
215
231
208
181
186
220
135
199
195
150
112
170
187
170
135
218
212
220
207
136
172
240
162
194
150
121
168
186
112
159
121
187
123
205
112
189
172
121
215
172
195
177
168
150
112
150
147
147
150
194
187
170
150
178
136
150
112
112
218
171
171
121
163
192
167
193
112
228
210
147
194
150
150
170
209
170
121
175
239
259
255
150
176
136
165
167
239
167
160
214
121
193
210
112
302
112
178
150
205
222
225
192
172
193
167
172
167
135
173
202
220
204
217
121
150
112
112
231
150
172
150
175
121
228
193
193
123
112
121
170
121
234
165
194
203
219
210
150
159
174
193
194
172
150
193
208
135
187
202
228
194
156
112
179
135
150
193
219
115
248
121
121
208
137
121
150
186
228
150
150
112
150
233
203
244
121
150
212
208
176
164
121
150
194
121
121
208
136
150
194
123
115
206
150
217
197
176
227
137
158
212
238
229
172
257
115
202
121
167
135
150
229
157
150
147
202
219
123
268
187
112
171
176
172
243
232
194
202
158
172
172
202
172
170
229
227
195
112
200
121
172
147
175
150
238
112
165
121
278
181
234
121
195
199
124
247
175
121
168
194
243
201
219
172
150
128
150
121
167
215
179
150
228
187
150
150
167
181
222
170
184
176
167
256
254
193
135
121
172
181
150
208
150
262
223
172
123
124
193
121
147
136
239
174
181
112
176
264
112
150
112
121
238
253
181
150
243
226
150
167
112
112
302
186
167
150
112
208
191
226
244
186
271
185
137
147
121
225
167
112
158
198
176
112
177
202
208
123
207
237
212
123
150
123
135
176
216
181
150
150
202
112
176
170
168
147
263
208
244
218
147
150
208
165
121
112
112
176
201
217
195
167
218
176
112
202
239
218
181
167
159
200
195
123
270
150
137
121
123
201
167
152
150
150
194
201
237
212
112
112
186
135
121
170
237
237
186
167
121
160
208
121
200
172
123
237
170
172
130
212
112
167
112
220
187
123
254
121
121
202
123
177
112
150
208
152
176
214
121
226
240
205
139
121
112
150
172
195
202
228
186
208
167
208
218
208
176
208
194
170
112
150
156
150
219
150
209
112
112
195
209
250
165
150
202
150
232
170
112
201
202
186
266
176
233
115
250
165
172
136
228
227
167
193
201
237
121
190
156
190
150
202
208
112
250
112
211
187
193
193
213
207
150
216
192
205
112
190
167
179
121
150
218
228
172
135
186
208
172
167
150
171
158
274
263
112
181
160
159
121
229
124
121
124
219
181
254
150
172
192
150
214
176
171
170
157
121
208
150
170
186
212
165
223
172
137
121
209
167
150
112
150
171
208
169
168
171
156
172
272
121
170
150
181
172
121
150
231
112
205
172
177
156
112
209
215
124
150
150
228
196
226
208
162
165
150
208
208
172
237
194
150
187
150
112
208
222
237
137
201
171
152
121
170
156
202
112
175
150
165
121
173
112
170
135
205
207
121
112
112
150
150
270
219
128
266
112
160
121
121
130
239
121
170
150
112
121
112
208
234
172
112
176
208
208
164
194
150
172
187
167
167
186
241
136
121
208
121
247
123
187
165
220
292
187
181
150
200
115
112
136
167
150
194
222
172
179
150
184
150
228
193
170
208
186
112
112
167
234
115
187
217
165
112
170
135
232
174
112
147
233
208
112
143
135
121
149
124
186
176
135
160
258
239
150
194
130
228
225
194
223
172
150
167
112
112
203
172
131
121
250
212
225
240
136
231
218
203
123
150
225
194
299
121
201
150
124
194
236
195
187
167
181
202
239
115
194
112
165
112
135
112
208
226
176
130
165
150
227
150
150
194
167
137
172
121
175
207
210
150
207
208
194
257
123
130
172
177
150
181
123
202
210
112
170
112
177
175
203
167
208
224
254
150
170
121
150
123
136
112
150
181
208
115
208
186
181
121
181
208
112
121
208
167
121
150
207
130
123
146
137
208
217
167
115
158
181
137
232
228
112
212
171
172
255
181
136
112
190
172
208
121
150
158
170
112
199
171
150
212
136
213
188
208
208
173
150
202
150
241
239
216
135
195
209
208
208
192
225
172
160
172
115
228
192
150
208
177
219
175
172
164
234
121
135
170
150
135
172
170
121
147
257
203
135
135
150
265
121
112
121
112
115
121
179
123
181
186
165
121
218
170
115
156
123
150
115
150
194
233
233
112
157
172
181
239
192
121
172
228
176
171
208
174
202
168
171
230
208
121
172
208
121
181
172
236
150
207
150
240
203
219
210
202
112
124
216
130
179
228
164
194
150
136
186
186
236
112
208
171
112
135
219
136
205
121
228
250
231
231
165
194
186
219
177
239
167
198
147
260
121
205
250
167
225
112
174
208
228
112
172
215
112
143
150
195
150
135
160
212
215
184
156
219
172
121
215
202
226
176
156
158
170
163
255
112
137
124
137
167
231
187
123
150
167
147
150
172
150
174
160
178
202
233
212
136
174
202
165
112
121
123
143
193
174
171
177
156
192
201
112
115
121
193
112
206
161
134
237
121
228
203
123
210
181
181
121
192
172
221
150
112
171
208
181
160
232
147
121
150
208
121
215
193
150
176
158
167
168
112
251
121
121
121
202
167
150
112
112
147
158
202
210
203
171
170
219
208
123
150
150
241
112
182
135
186
226
150
115
263
208
167
208
150
170
152
208
177
112
150
203
157
170
170
172
194
146
158
193
150
150
167
229
165
150
161
193
172
195
170
212
275
193
150
168
150
121
112
147
121
171
193
177
202
192
195
171
194
172
258
177
237
179
112
250
219
193
192
167
112
218
115
186
181
112
150
137
233
194
172
174
165
193
167
112
121
193
302
207
150
217
185
171
250
172
208
208
186
194
121
215
263
218
158
171
152
193
228
229
165
194
205
112
177
176
121
112
112
172
112
112
192
196
192
196
208
112
164
202
150
158
121
194
193
164
210
187
150
241
112
186
167
112
165
260
165
195
181
228
150
194
192
121
121
172
153
195
112
167
121
172
136
150
171
137
181
150
177
112
176
167
173
124
187
112
121
210
121
121
349
115
112
167
171
172
176
171
172
112
172
121
231
250
195
176
231
170
206
219
208
172
168
167
131
160
157
123
159
121
170
172
150
170
136
186
189
123
210
112
167
137
112
121
219
136
161
161
196
172
194
190
177
184
208
172
115
175
165
112
172
172
152
146
176
201
130
171
266
130
168
172
165
320
208
208
115
130
150
201
161
146
195
135
112
208
150
161
167
167
176
170
239
167
220
218
181
147
218
210
121
210
208
201
187
193
167
121
156
195
243
167
194
205
121
229
137
150
255
170
225
170
170
231
172
228
171
152
152
255
150
174
168
150
207
167
167
208
220
150
121
212
194
190
150
123
112
112
112
187
121
146
239
238
147
150
112
217
170
192
264
121
150
186
192
237
112
150
121
233
150
150
237
150
184
175
115
150
112
158
150
255
196
150
121
136
150
208
207
121
123
121
215
121
150
124
150
189
112
150
228
187
196
212
128
112
150
147
123
232
177
123
181
167
172
165
181
115
135
228
208
241
144
194
156
150
150
175
150
186
130
186
150
193
115
210
181
227
240
208
208
150
167
198
170
173
167
208
167
194
135
168
176
123
186
177
171
208
150
192
164
115
164
172
177
121
165
150
194
205
150
171
172
112
158
228
218
150
121
139
279
215
173
228
164
182
228
144
130
237
208
205
121
150
150
112
172
195
168
112
121
112
115
115
150
150
235
112
208
150
206
193
231
181
194
112
194
172
137
150
208
172
167
186
203
150
152
121
208
177
214
130
112
172
187
136
172
123
178
201
121
139
194
208
244
208
130
172
175
208
181
165
172
239
150
186
112
147
171
187
181
202
150
208
208
150
121
189
176
135
150
152
150
121
195
184
214
209
208
171
160
160
112
184
167
128
231
121
207
128
136
172
171
172
152
194
177
150
121
112
202
150
159
112
195
208
210
112
171
121
172
167
156
172
301
139
150
226
137
172
194
136
181
121
223
194
171
247
135
137
112
171
115
203
150
220
112
245
172
167
112
150
232
158
181
186
112
195
219
244
176
172
248
302
259
150
201
121
214
234
167
228
208
112
189
150
212
225
259
228
237
112
208
193
208
112
121
171
136
172
128
121
165
121
236
205
186
150
208
177
121
167
150
172
243
121
236
146
167
181
208
237
128
182
210
150
121
172
220
150
112
200
247
186
167
212
207
165
123
147
176
232
218
112
185
250
181
203
159
195
167
233
112
212
112
208
150
121
201
121
228
167
150
212
150
112
255
208
165
187
208
121
112
112
167
219
115
171
165
150
213
167
150
170
170
208
205
195
135
210
121
112
150
112
172
128
115
167
184
226
250
210
239
192
167
123
165
128
121
211
115
112
186
150
112
179
222
231
214
167
210
225
121
210
181
171
112
159
112
172
186
150
170
112
192
172
160
172
112
240
168
170
237
121
186
208
302
112
112
150
112
156
208
170
194
208
170
176
217
112
124
181
150
186
121
225
249
115
192
220
167
192
170
172
255
165
112
208
173
153
172
112
172
202
167
137
130
219
182
123
121
208
136
150
121
213
167
150
121
228
170
121
112
150
172
196
170
170
152
196
208
181
195
121
143
181
170
194
123
121
172
112
150
150
121
171
112
146
193
171
184
121
172
150
156
175
150
127
135
186
208
210
212
208
253
220
112
170
256
167
205
123
172
184
176
150
186
195
170
215
170
150
112
121
112
121
230
112
255
165
115
220
123
150
181
135
112
208
112
150
236
143
235
170
156
150
184
145
195
150
167
150
177
250
175
176
172
170
135
176
170
213
172
135
193
202
218
229
171
202
152
186
216
187
194
215
152
150
181
150
170
237
202
172
228
150
135
172
208
121
158
170
170
158
231
165
135
193
150
217
175
150
195
121
150
150
170
187
201
130
121
156
178
150
112
208
181
121
115
208
176
170
121
171
226
135
167
165
228
195
210
170
228
112
193
193
208
203
112
228
250
121
177
218
112
160
150
202
141
167
135
235
173
193
112
193
112
121
137
135
150
179
225
219
121
203
112
112
150
123
156
202
150
115
208
210
152
170
202
172
183
174
147
123
205
121
244
136
150
208
229
250
150
207
123
112
291
150
219
214
208
208
150
299
228
121
208
164
193
198
167
136
170
170
196
181
207
121
206
223
176
250
187
172
228
228
289
137
195
159
156
137
201
167
147
121
165
241
170
170
194
231
177
260
121
121
112
187
182
193
203
193
147
121
112
170
165
150
150
150
150
237
150
225
210
241
170
187
112
194
208
228
147
179
112
136
112
112
167
172
193
170
228
172
136
181
240
147
172
198
136
230
121
150
152
210
150
203
263
234
236
184
226
135
150
124
208
208
237
177
143
202
136
121
212
208
207
112
121
228
193
181
121
147
159
112
193
170
115
165
112
147
137
159
150
186
115
136
121
167
170
195
150
121
209
112
135
171
219
208
149
187
158
210
150
178
159
159
208
203
187
112
278
208
150
175
156
112
195
211
228
170
150
150
181
205
121
228
228
121
172
130
150
229
177
194
135
243
150
282
112
121
177
170
159
276
160
150
263
150
171
202
170
208
152
194
193
147
112
143
123
231
186
297
168
164
112
136
156
121
208
170
176
256
121
121
112
137
121
150
143
164
208
147
115
150
228
172
167
112
178
112
150
187
150
130
189
171
121
123
209
230
215
186
211
128
137
193
193
201
112
147
203
121
112
150
150
150
112
176
228
170
139
232
208
112
205
202
123
237
172
150
171
206
201
112
231
150
239
152
112
112
207
194
193
232
194
171
233
210
172
121
181
146
178
201
112
152
150
187
150
167
172
121
112
136
176
167
167
156
150
194
237
210
121
124
150
171
150
201
167
225
121
112
112
179
150
208
150
158
194
211
263
208
227
222
115
237
218
147
186
172
115
208
208
219
150
186
229
123
165
159
209
159
176
112
147
112
219
194
121
208
247
194
121
255
157
160
176
121
150
208
176
208
166
112
198
121
228
112
186
115
225
223
112
256
150
256
136
205
263
170
225
150
254
232
165
150
231
170
150
208
121
170
239
208
136
112
202
112
150
201
210
193
123
210
176
150
123
112
244
212
195
112
135
255
228
150
168
121
237
112
121
210
112
168
250
112
152
231
178
150
112
242
170
212
190
112
172
193
194
207
244
121
123
137
176
210
121
187
112
228
121
220
229
213
150
174
187
150
143
206
210
112
208
121
193
112
177
121
170
171
112
135
255
181
228
217
169
239
175
171
150
178
167
150
146
195
194
237
159
194
233
136
136
223
112
164
241
150
207
208
172
208
181
203
208
130
218
170
121
212
121
115
213
218
137
278
226
174
168
237
208
123
187
150
219
172
208
263
159
210
136
177
112
150
170
259
208
150
115
150
223
123
150
150
168
172
172
112
168
177
257
139
172
147
147
187
238
243
170
201
112
137
220
112
182
171
160
131
112
187
264
200
121
112
150
239
221
207
121
219
112
160
112
167
218
189
201
225
278
150
165
135
219
196
160
211
176
181
209
208
235
219
250
172
150
112
192
152
150
136
121
112
228
150
290
193
208
172
167
251
208
121
187
167
121
171
150
170
220
112
222
232
195
115
177
174
150
137
228
212
238
208
112
131
276
220
176
165
112
202
209
121
172
121
159
176
229
150
135
121
130
165
121
208
112
167
205
208
208
123
167
170
201
228
201
160
172
194
121
208
112
176
246
186
194
170
137
265
241
237
228
201
208
170
176
208
193
228
112
150
112
164
186
124
150
137
194
135
203
181
207
172
207
205
150
157
112
197
150
170
121
219
178
208
254
228
171
150
167
204
247
128
121
210
150
276
135
167
123
208
205
112
181
132
210
278
208
135
212
208
210
174
121
170
112
121
194
232
167
208
205
136
181
170
170
136
220
112
112
187
208
156
112
112
176
237
152
112
194
112
167
115
112
150
121
172
150
121
177
179
224
177
215
167
121
237
112
181
184
165
239
194
232
275
168
217
121
201
158
150
250
208
112
178
170
150
165
171
171
170
112
254
123
210
231
121
202
201
121
167
128
147
136
150
240
160
186
208
198
192
158
167
160
123
237
123
231
194
221
196
191
150
199
171
160
137
112
181
174
136
121
124
170
175
201
196
112
167
189
150
171
112
170
220
186
202
257
172
201
237
186
135
112
121
202
197
150
146
201
150
143
137
239
147
112
173
112
172
181
150
150
172
121
167
342
227
130
135
232
172
219
123
150
195
121
225
165
150
243
123
137
177
195
112
112
152
152
195
189
172
176
121
112
112
193
240
208
215
203
203
150
121
172
132
112
193
220
212
212
135
208
137
121
121
150
193
112
210
208
121
112
150
167
252
112
181
176
152
194
170
193
299
172
240
112
171
150
150
112
170
231
172
170
172
193
112
170
172
227
177
229
181
158
179
124
203
112
121
135
171
193
202
194
172
112
215
121
195
241
186
211
112
150
167
250
187
170
112
176
171
123
228
158
186
167
156
181
150
225
235
208
208
150
237
194
165
171
150
181
167
150
164
121
165
167
121
175
181
112
112
198
171
150
115
228
170
112
239
165
172
112
156
232
158
210
276
167
121
156
180
197
112
112
112
237
194
162
167
112
176
167
164
208
152
215
121
112
174
228
112
187
156
189
200
243
231
150
158
203
214
136
194
137
123
115
150
167
121
228
255
167
147
115
212
121
219
176
187
165
195
186
112
203
193
188
181
189
172
115
150
156
226
181
194
186
228
299
152
228
112
170
171
168
210
167
158
172
195
228
232
112
185
178
236
121
121
150
195
229
167
112
150
112
208
165
279
181
121
224
181
186
182
181
192
228
263
167
228
194
263
208
178
123
123
167
168
174
112
228
112
167
150
208
150
228
239
199
203
123
230
165
215
247
170
170
172
228
171
199
217
194
208
150
158
212
150
112
208
152
168
176
237
150
136
239
255
112
150
186
164
207
170
177
208
208
156
219
176
292
212
150
204
192
210
137
203
135
220
211
179
208
121
112
176
121
167
150
115
121
194
171
178
167
170
208
205
194
150
150
171
228
150
237
150
168
202
239
112
167
176
171
187
170
135
174
128
176
124
228
171
121
135
121
150
170
202
184
152
150
121
208
175
167
237
255
242
210
176
174
172
165
167
171
166
178
157
243
112
162
112
167
124
167
115
193
150
162
194
178
115
112
150
212
210
194
181
170
112
139
121
112
208
194
179
213
150
226
170
158
174
164
172
150
158
150
170
176
195
150
165
182
179
174
193
123
172
231
211
225
171
237
165
150
193
237
121
186
228
179
171
176
194
242
161
167
150
214
172
200
207
208
181
247
210
174
208
171
156
187
112
288
168
220
150
112
219
121
181
208
194
112
121
170
150
170
121
121
210
112
150
206
121
150
170
112
180
121
202
172
167
136
165
150
323
121
203
121
181
112
123
112
150
182
229
121
170
130
215
208
124
208
263
212
194
159
255
176
150
121
121
179
177
147
150
227
121
187
208
130
250
193
234
179
164
135
112
172
170
167
152
271
208
232
121
167
195
171
135
136
182
228
175
176
150
123
136
112
172
157
121
172
150
212
228
181
239
205
121
112
150
121
192
177
224
223
175
172
172
147
208
187
146
150
158
170
208
150
188
167
150
174
240
137
171
179
210
210
186
194
112
210
150
208
217
150
157
121
243
158
150
150
226
121
150
121
217
208
150
150
147
112
242
172
147
112
203
228
181
205
165
150
208
137
219
171
205
203
123
171
131
150
150
136
112
137
170
211
194
121
181
121
177
167
171
123
159
112
201
167
150
170
176
255
205
112
182
121
178
239
164
172
162
172
112
226
172
164
123
195
202
112
112
112
212
150
112
177
121
172
194
137
186
171
193
189
195
176
128
121
158
208
170
202
176
232
208
121
184
165
193
150
279
201
176
228
121
160
170
231
208
201
121
193
150
186
121
150
150
263
130
208
112
143
165
112
194
152
150
172
190
175
150
170
121
123
175
208
172
192
176
192
160
243
217
150
152
135
112
196
170
158
193
227
210
192
228
208
208
150
241
158
203
158
206
172
201
171
112
121
137
201
211
207
192
112
112
242
181
195
171
121
181
121
193
150
203
208
208
112
121
150
187
165
220
194
255
112
150
112
192
156
136
171
121
121
121
150
170
276
157
190
121
112
167
220
220
121
210
150
173
247
167
257
172
203
200
208
164
121
231
147
112
123
216
150
115
150
208
208
229
112
112
209
150
252
172
165
170
150
201
170
174
208
194
228
137
137
208
136
263
202
112
192
207
193
210
150
150
172
150
150
186
170
172
123
112
112
195
150
255
186
167
172
208
175
170
167
177
231
158
137
135
208
228
121
202
171
176
121
146
121
156
172
176
171
150
172
171
208
112
187
112
160
206
193
121
167
231
232
250
208
207
112
202
124
130
172
197
170
202
193
254
158
123
194
240
112
171
164
208
112
237
112
121
112
181
160
202
112
176
237
237
172
135
188
231
176
170
179
260
208
302
112
205
171
121
172
202
150
175
150
150
194
157
208
194
170
150
112
176
112
208
202
112
160
112
176
184
205
150
150
172
202
255
121
112
171
124
112
218
112
171
112
186
218
112
172
215
172
208
230
212
208
194
172
147
231
167
172
160
208
112
225
217
115
167
208
181
194
280
135
112
242
150
187
171
187
121
136
150
240
167
115
115
150
203
172
121
121
143
237
214
208
221
245
176
180
176
202
172
112
189
112
176
128
112
165
278
167
123
121
167
186
229
166
267
112
170
171
156
237
211
112
112
172
172
202
187
112
228
207
137
205
176
112
205
112
128
168
160
210
121
194
177
150
150
150
152
186
162
170
150
207
150
172
208
121
203
112
219
167
150
130
112
225
150
192
179
250
208
158
170
232
112
257
137
121
208
147
176
236
150
158
186
194
158
171
172
112
175
220
174
194
202
220
210
176
208
177
150
167
112
219
112
194
220
150
187
168
121
186
112
233
167
150
241
164
135
150
112
202
174
172
225
112
228
167
136
121
207
170
112
210
112
121
170
112
253
167
150
135
202
171
167
146
219
121
206
208
220
203
146
156
150
121
208
210
170
189
177
172
174
152
162
112
150
150
212
167
263
167
205
208
194
203
123
199
195
150
174
208
147
186
207
172
208
150
219
112
208
150
150
150
175
265
220
152
167
123
175
208
181
175
250
237
160
171
165
112
243
248
112
208
121
208
172
123
172
150
112
121
168
227
179
202
195
121
208
121
229
150
186
217
158
208
152
150
112
187
210
121
157
207
220
130
181
171
171
112
150
150
172
203
112
208
123
201
112
202
171
201
205
187
135
156
176
121
112
135
171
136
112
150
112
177
208
121
208
137
136
170
112
194
170
112
228
195
223
274
112
112
186
121
167
115
123
193
234
170
279
176
171
183
136
244
229
158
237
236
167
210
208
165
150
112
232
168
199
187
192
229
170
160
219
171
152
165
176
177
158
187
175
150
171
112
176
184
261
150
234
121
167
172
233
167
121
221
121
187
170
181
186
112
131
168
200
112
137
165
121
186
150
215
150
167
115
112
147
123
167
136
121
210
136
202
150
150
170
182
170
208
160
150
112
226
146
147
165
217
212
205
152
170
208
201
170
171
181
144
274
150
159
235
150
150
225
218
212
174
210
123
150
112
147
121
135
210
124
177
186
186
208
194
165
123
121
137
187
172
112
123
123
137
194
112
121
208
112
112
243
150
210
172
187
112
194
121
150
170
167
150
147
237
136
121
124
150
172
208
121
150
234
203
121
165
158
208
247
150
208
171
203
150
219
176
192
172
187
174
150
167
167
150
167
123
150
167
171
150
112
165
112
217
252
297
112
175
150
112
150
150
150
255
124
201
211
195
179
194
200
121
208
186
171
130
208
147
112
187
130
167
231
162
170
150
208
123
112
208
194
167
167
218
115
170
121
150
172
167
167
124
228
237
232
112
194
216
193
150
121
112
135
112
112
170
149
115
130
247
195
186
214
150
150
172
207
121
177
263
210
164
167
217
171
208
121
159
191
171
123
188
165
206
150
168
263
219
162
152
212
147
135
170
176
158
172
239
181
167
225
212
165
136
174
136
231
112
203
150
220
167
206
137
195
121
150
167
208
205
189
250
183
237
112
176
193
165
121
165
112
112
174
171
112
171
112
179
112
220
150
196
121
165
170
167
112
186
164
178
186
147
208
112
187
170
170
213
112
150
174
255
172
150
177
123
167
223
171
237
216
181
195
137
172
189
150
206
150
178
121
228
112
181
123
208
171
172
186
231
176
112
193
195
167
123
196
150
173
121
174
159
147
208
212
181
121
176
135
246
150
158
121
237
187
179
165
112
158
112
205
263
194
171
203
208
112
172
124
150
184
228
250
176
112
136
219
121
171
172
167
194
168
112
208
170
112
227
218
208
190
170
225
237
152
243
137
172
228
112
193
135
208
160
135
195
195
172
136
136
242
167
115
137
150
150
167
195
167
112
189
173
121
171
172
150
135
150
208
159
172
192
228
197
205
172
165
162
203
112
219
150
171
158
112
170
228
150
194
201
195
171
170
178
135
176
175
167
170
136
208
194
226
208
112
171
112
172
196
226
208
150
171
164
150
167
165
165
124
130
159
121
203
207
202
175
212
205
156
152
239
202
135
177
302
112
123
177
172
270
123
150
112
231
276
150
165
186
209
164
174
161
299
150
170
112
170
170
150
172
152
171
164
121
208
144
121
112
212
209
220
178
184
123
121
167
130
112
112
121
121
210
121
171
187
164
184
165
121
236
112
164
170
170
151
165
175
223
123
201
141
237
194
150
150
172
159
167
176
184
121
208
121
167
150
187
255
208
226
302
121
130
245
220
150
187
177
121
208
115
172
123
150
150
150
112
208
150
237
208
171
112
150
192
136
207
150
150
150
215
236
121
150
165
112
192
208
172
121
233
233
171
195
165
135
150
257
172
115
175
160
227
209
186
201
177
210
150
194
112
135
136
150
150
193
239
216
121
147
185
147
233
121
174
121
150
121
172
167
168
121
156
196
252
150
170
158
112
150
121
258
208
172
150
174
146
121
167
171
270
233
156
210
193
150
172
208
112
150
160
201
182
194
147
121
172
150
207
208
136
209
146
167
283
112
150
276
179
150
177
233
167
112
168
202
226
112
208
176
250
205
150
230
121
156
201
189
167
150
150
232
170
150
136
150
297
112
172
112
150
236
208
112
165
150
150
136
208
203
172
150
170
193
193
150
158
234
112
165
150
263
202
121
278
150
136
147
164
200
209
181
210
150
208
150
170
150
121
176
123
212
139
194
167
164
157
150
128
112
121
121
170
150
196
167
219
150
112
224
112
248
195
136
192
150
112
121
150
208
168
158
150
158
112
201
186
150
167
208
150
201
147
112
172
172
115
112
159
208
220
159
150
143
208
135
152
181
150
137
202
150
135
144
164
192
200
272
150
150
168
156
147
112
231
208
165
231
172
172
171
150
219
135
130
186
228
135
167
237
250
150
255
177
124
282
171
193
112
255
135
112
150
184
194
212
168
195
165
208
194
210
237
158
150
234
208
121
208
165
171
112
112
164
167
205
194
210
167
130
165
150
137
218
195
167
216
170
174
219
201
208
150
203
112
150
112
158
167
121
112
165
165
115
150
297
187
202
170
165
170
228
201
136
177
194
112
230
130
193
241
150
212
112
186
167
121
165
112
238
123
121
181
159
150
136
121
219
170
112
194
184
175
139
121
137
208
150
175
165
136
209
167
282
203
150
121
227
112
208
267
156
152
150
186
150
112
237
112
250
208
112
159
158
255
170
167
168
112
250
123
201
171
172
226
172
112
165
220
195
172
115
156
121
115
121
208
223
171
208
187
236
195
171
208
189
123
171
112
167
208
150
137
158
186
112
208
201
123
150
267
112
208
165
165
202
237
136
281
161
150
181
150
207
121
164
163
208
158
162
219
194
164
172
112
150
271
167
167
115
150
194
218
135
172
195
172
112
194
231
247
156
255
176
121
121
237
217
112
232
115
187
234
150
177
121
131
150
259
130
136
112
302
143
174
165
193
150
186
123
150
121
202
193
220
177
172
136
158
135
212
193
170
259
147
128
171
176
171
115
121
172
228
206
172
165
170
194
194
206
112
278
176
121
121
115
150
170
123
165
233
121
150
112
112
158
172
150
112
150
123
201
150
281
195
208
208
136
112
112
224
199
158
145
171
267
193
174
159
123
174
135
228
167
170
177
184
150
123
302
219
137
121
170
228
165
121
187
160
121
187
137
318
172
123
115
130
179
194
219
231
215
130
172
208
112
130
186
150
203
150
156
216
187
150
156
181
150
157
170
150
233
150
112
147
207
112
123
192
195
194
150
112
207
186
186
193
147
112
150
150
136
112
172
228
135
150
167
112
226
150
264
150
193
173
150
167
121
210
112
170
156
112
218
236
186
208
135
168
150
121
131
165
150
201
150
130
112
263
121
112
150
150
136
135
193
193
165
170
208
210
181
160
143
112
170
172
147
147
209
212
208
237
150
121
195
237
210
202
167
303
242
250
222
171
198
150
195
225
202
181
187
150
231
233
181
268
170
170
150
112
123
172
196
172
150
208
208
203
235
165
194
186
240
203
208
150
172
194
181
112
195
258
150
121
190
228
150
208
208
171
209
137
201
193
143
172
165
186
112
208
150
220
208
167
167
172
257
177
218
236
171
167
172
135
150
164
263
150
115
165
170
241
172
121
115
220
130
160
214
212
150
112
112
208
219
150
112
150
123
150
128
176
203
135
195
165
171
255
170
158
121
135
194
233
159
170
152
150
121
121
179
198
112
186
172
235
115
150
181
167
170
112
163
212
136
121
150
223
121
123
194
229
123
218
195
172
112
160
200
152
181
195
203
211
170
223
170
150
231
115
194
265
237
121
150
187
215
121
135
205
112
212
112
143
150
171
130
170
131
165
112
112
187
208
183
250
177
176
228
193
243
112
162
212
112
130
158
171
112
165
121
150
170
174
256
233
239
112
112
167
150
240
156
204
176
228
208
150
150
208
239
207
124
121
112
121
171
176
237
112
208
121
121
121
123
203
115
147
160
161
194
210
192
115
181
164
228
172
208
177
278
150
127
220
208
123
229
152
115
181
146
225
112
150
244
208
121
150
136
208
189
121
168
150
165
121
121
228
254
186
208
172
226
156
208
271
150
281
212
112
218
165
299
150
150
302
176
150
207
128
124
182
176
121
150
202
170
115
112
249
208
206
167
177
150
223
136
175
267
112
164
112
150
186
181
228
150
193
219
121
130
201
112
123
187
121
194
193
242
137
150
137
112
186
172
252
121
243
167
150
167
215
150
181
137
171
112
112
157
112
172
186
172
176
228
223
121
194
167
201
174
121
237
150
172
162
195
112
172
150
257
136
121
175
112
213
112
159
208
210
160
181
170
186
172
181
150
194
150
172
144
156
150
112
167
171
172
170
112
150
174
112
212
214
167
208
112
208
172
121
264
137
150
150
208
123
189
150
147
121
150
150
179
136
186
202
144
112
157
121
195
187
216
152
163
174
112
298
112
170
131
135
112
193
112
217
233
210
219
121
123
165
115
112
112
193
219
228
112
124
208
228
112
170
150
112
196
175
112
164
152
176
302
177
284
242
167
121
131
124
136
144
170
223
181
194
195
234
177
231
150
233
150
150
170
159
225
243
160
171
217
150
208
121
172
121
158
172
144
121
194
230
150
112
170
135
150
257
225
135
187
123
177
172
136
156
181
237
121
210
137
150
210
165
240
208
112
121
150
179
144
186
121
171
156
203
228
112
239
165
115
172
208
172
192
187
121
210
112
193
123
167
228
112
136
172
150
112
179
112
237
181
115
121
143
171
135
167
241
212
193
165
199
228
172
255
137
150
181
150
245
181
170
212
112
201
150
236
112
212
121
158
150
112
112
208
226
121
172
152
160
288
137
225
130
147
257
193
228
112
171
112
150
112
214
205
170
193
128
187
173
218
179
257
201
128
150
150
208
121
164
167
164
115
205
112
228
220
121
202
212
112
172
236
186
217
212
121
112
115
112
121
143
302
150
224
236
196
135
167
225
176
159
204
121
193
233
174
112
150
121
150
136
150
186
165
189
171
172
205
115
194
172
171
215
121
150
230
181
208
172
137
231
196
150
208
195
158
124
172
208
171
136
167
199
219
172
228
196
175
218
128
192
112
168
121
202
240
123
112
175
112
171
152
112
238
157
187
150
121
150
208
184
213
121
227
123
150
147
150
123
194
207
137
172
150
217
203
123
115
208
165
186
226
208
150
170
195
170
123
165
150
121
184
228
168
210
112
112
302
123
172
121
208
237
200
170
150
205
176
112
241
112
170
172
121
115
250
193
208
228
176
231
226
172
208
170
112
237
172
170
112
167
208
121
171
189
189
112
112
181
170
248
170
181
150
272
150
228
152
171
135
150
112
208
150
208
194
237
202
213
121
112
199
150
121
121
159
205
112
172
208
112
121
112
186
170
229
130
177
135
254
167
226
150
115
208
176
112
225
192
203
172
208
112
150
228
167
156
190
239
123
237
244
168
235
121
121
186
184
208
112
172
147
208
198
150
250
115
150
255
208
156
170
150
144
144
112
241
150
172
237
150
165
202
240
179
240
136
170
228
175
274
187
121
255
220
112
165
112
186
194
184
228
203
223
172
208
112
176
167
241
150
190
150
165
212
167
176
152
124
208
115
115
121
171
202
208
123
170
176
123
135
190
150
226
164
172
176
167
171
167
192
147
193
156
150
121
208
194
137
112
231
121
255
147
208
217
150
186
193
272
228
150
302
112
143
172
121
233
195
179
121
208
150
237
115
165
172
207
124
172
194
186
121
239
123
150
229
172
203
170
232
150
172
171
203
176
171
212
112
157
228
165
217
194
123
301
150
208
240
144
150
150
187
162
165
121
112
121
150
121
147
170
205
237
172
115
172
181
187
150
237
208
167
112
165
167
150
171
171
130
181
150
170
187
217
115
194
181
150
136
112
181
176
212
205
201
130
115
268
139
112
167
150
112
187
121
112
220
171
201
150
170
172
170
208
115
150
195
121
240
230
137
215
207
112
302
112
150
157
115
259
121
121
167
187
136
159
208
150
213
194
112
235
217
213
235
182
208
136
231
112
240
123
176
171
186
171
121
171
150
177
150
223
165
112
171
167
196
170
167
237
112
179
172
187
182
177
255
112
228
123
121
167
201
195
158
150
150
195
240
225
194
172
216
170
172
194
202
181
121
170
216
208
150
150
240
167
150
165
121
170
146
171
201
239
171
162
112
176
171
228
179
170
302
181
189
150
238
171
217
160
115
178
135
190
233
264
190
121
150
112
201
208
229
167
165
123
216
202
112
203
136
167
205
187
170
184
203
256
244
123
150
193
187
152
173
121
121
123
123
170
164
152
121
150
322
217
121
194
177
201
164
165
177
276
201
201
135
150
150
214
121
123
172
156
208
225
170
172
134
121
112
112
150
177
187
172
256
208
193
112
192
172
196
273
112
194
302
177
121
121
158
167
203
164
121
156
156
210
150
208
136
121
208
192
136
147
165
194
237
172
158
223
136
208
137
199
242
259
123
150
172
112
121
208
170
212
172
203
168
186
135
192
212
172
219
174
192
150
193
171
195
112
121
192
123
202
152
210
223
187
123
178
237
123
223
159
228
121
121
115
112
167
231
263
123
302
302
171
150
164
208
150
247
121
208
212
230
187
167
210
115
121
112
208
216
112
181
115
223
194
172
150
195
201
234
176
240
112
194
170
226
199
150
150
121
228
170
150
158
150
192
112
150
121
172
201
193
121
212
187
170
171
171
174
202
124
188
112
115
186
171
194
164
179
176
192
150
202
165
158
112
195
196
226
193
208
174
121
135
121
229
170
194
231
208
205
236
112
239
181
201
167
208
228
229
232
231
302
150
172
167
225
266
208
155
167
136
170
171
121
170
121
172
208
121
121
177
143
147
184
165
250
228
250
112
228
123
233
168
150
226
165
121
150
176
181
181
112
172
233
150
172
159
224
302
225
150
172
123
150
170
121
135
170
150
160
150
217
208
150
229
159
170
210
215
112
202
165
121
137
123
194
170
158
172
150
150
214
150
194
193
192
194
135
255
171
168
228
171
121
181
150
150
171
202
167
176
123
228
121
199
164
222
187
167
121
112
226
176
263
172
171
193
194
222
121
246
215
112
121
135
226
121
219
156
168
165
167
217
123
112
278
228
194
172
172
225
171
237
112
181
212
207
156
150
192
112
203
208
182
150
160
112
128
115
121
112
172
239
176
112
217
121
168
160
176
121
150
170
220
136
212
215
208
239
210
170
249
220
195
112
170
192
176
165
112
150
187
214
150
263
137
185
172
156
191
232
135
237
212
112
208
254
150
167
210
186
245
181
212
174
171
143
115
232
172
136
121
210
152
115
202
121
198
266
237
150
213
195
228
136
217
198
172
178
227
202
150
170
194
218
130
193
146
150
233
210
208
212
177
115
128
123
167
229
215
172
202
172
229
170
167
121
172
170
195
170
150
156
150
186
228
170
121
210
160
112
144
237
112
208
121
181
150
291
121
225
172
171
182
150
137
205
121
121
121
223
115
135
172
186
205
130
171
150
150
219
112
206
195
165
112
137
202
112
123
150
167
174
121
171
208
231
156
137
172
241
124
112
160
112
150
143
156
250
165
150
150
147
186
121
250
172
212
158
207
130
264
121
278
234
187
202
240
123
204
123
172
150
265
136
197
165
158
202
170
150
150
167
112
150
150
130
176
150
112
112
115
123
121
172
135
177
112
197
135
186
112
223
237
158
112
231
178
121
226
112
250
112
195
112
150
208
150
165
112
150
150
210
115
150
112
193
167
172
229
170
217
213
210
115
137
205
135
237
121
150
231
164
150
245
263
172
172
150
228
150
187
112
243
194
115
208
124
238
208
124
208
174
181
208
186
195
150
232
150
181
150
206
170
150
220
115
112
275
199
112
208
294
170
164
150
181
186
195
210
124
164
124
208
174
150
123
150
202
194
112
257
150
158
201
194
112
146
167
112
219
150
121
177
115
172
137
150
208
159
150
150
226
112
170
208
150
201
208
235
167
150
167
150
237
188
150
165
238
162
115
164
250
167
232
187
218
233
208
193
168
208
130
170
150
150
181
112
124
192
202
208
170
150
172
235
208
186
171
150
170
121
158
194
137
194
243
217
121
112
150
192
208
186
263
123
123
112
171
112
212
121
215
205
156
165
150
264
239
192
121
112
216
175
150
302
121
128
241
156
121
150
123
150
150
121
150
158
150
186
240
211
170
210
175
121
193
195
164
162
123
147
194
121
150
167
276
128
150
194
171
150
167
112
208
121
176
228
223
186
181
208
175
228
112
193
112
257
241
202
175
181
240
201
147
152
250
181
208
193
179
186
174
150
205
112
197
237
186
112
168
208
150
112
130
167
209
172
112
231
150
136
112
210
237
121
190
123
186
170
121
208
220
112
231
121
201
208
210
196
203
200
147
112
121
192
167
174
201
181
207
176
135
176
218
162
217
150
186
302
112
112
112
112
233
217
194
147
165
208
121
112
208
112
150
112
195
112
167
193
150
150
184
150
115
147
121
115
112
172
150
226
150
237
202
150
210
252
203
201
208
112
168
217
201
121
217
231
160
150
223
112
137
250
207
170
112
152
112
150
257
170
264
194
121
220
194
174
121
193
210
112
135
112
225
112
123
165
184
172
150
220
165
150
112
167
243
182
194
121
150
136
167
150
276
150
150
212
168
167
237
202
226
254
237
179
208
150
189
186
150
198
170
112
112
150
176
150
124
150
209
194
281
135
192
112
276
212
162
208
203
152
226
207
135
181
172
205
297
150
210
192
159
177
131
156
170
176
150
171
173
189
202
203
112
150
209
207
112
164
173
150
209
175
167
234
112
172
278
208
239
167
233
225
167
244
147
231
279
135
150
208
238
130
229
144
208
165
150
168
121
193
144
181
208
165
150
202
150
150
237
158
179
219
237
195
165
175
240
172
170
237
159
194
165
193
121
220
202
167
243
167
275
210
165
220
203
121
174
236
112
165
202
187
201
159
112
171
176
276
174
240
181
177
150
112
150
124
164
194
168
237
202
165
208
121
150
229
208
112
143
150
176
150
136
144
237
150
184
208
187
168
112
209
194
160
160
147
112
150
170
123
181
121
203
187
121
112
165
121
250
250
176
112
137
208
112
121
161
158
172
150
172
176
235
179
173
170
165
112
121
215
205
171
172
167
170
176
212
186
112
170
112
150
193
112
167
170
112
172
233
218
150
208
123
171
192
173
135
237
226
239
170
210
186
121
208
137
236
212
187
172
172
170
187
112
226
150
302
150
112
150
203
170
176
167
150
225
231
230
150
150
164
150
194
170
123
167
112
112
229
150
121
219
123
112
157
160
208
171
112
255
112
121
128
205
208
112
239
121
147
171
193
156
170
171
212
165
165
211
192
112
217
112
193
170
121
176
186
239
150
172
112
170
112
150
147
172
112
150
170
135
112
231
112
150
112
256
192
213
121
121
228
121
164
121
150
150
150
172
147
121
208
150
181
121
121
167
176
170
152
192
203
112
181
207
164
167
137
194
202
237
172
263
208
150
170
135
124
135
135
123
124
208
135
170
223
112
177
161
150
112
165
172
187
194
165
172
137
205
232
137
164
171
176
153
229
195
115
170
121
174
193
172
172
172
255
208
181
187
121
164
181
147
147
147
272
121
187
123
147
239
176
112
231
158
112
172
123
121
171
199
167
239
152
226
130
159
193
153
167
175
220
207
212
193
135
195
176
150
123
226
240
218
181
208
150
172
186
239
164
170
195
130
128
195
297
115
195
181
220
131
150
121
130
181
158
112
121
123
171
233
207
112
237
192
112
185
188
164
150
168
112
147
121
112
172
147
208
128
121
168
121
170
232
137
266
150
189
174
150
193
121
121
176
233
171
124
213
150
215
216
115
250
150
150
176
233
165
128
112
176
206
239
150
150
172
171
112
207
219
212
136
195
292
167
205
167
156
172
150
193
226
150
121
194
164
232
172
193
181
150
123
192
208
121
237
212
121
171
170
220
195
159
112
281
203
121
150
158
195
240
136
194
168
150
212
219
181
181
150
123
137
242
112
219
205
208
135
208
189
112
170
177
208
150
177
152
228
208
208
167
208
194
147
202
170
150
273
194
150
208
204
112
176
181
121
171
174
147
171
208
241
165
121
234
112
150
230
302
136
115
204
202
112
208
150
150
137
210
150
237
177
215
147
112
121
165
208
174
189
150
112
176
137
237
207
226
135
150
112
121
181
150
211
208
150
135
167
189
164
121
212
171
231
217
207
186
150
152
172
176
150
164
167
208
165
168
136
112
212
201
188
263
128
158
131
112
208
208
239
174
128
121
115
121
228
205
208
202
168
194
112
112
208
143
135
237
302
226
272
181
150
233
112
150
150
124
216
187
194
137
208
263
112
208
206
135
194
124
193
228
201
176
172
121
112
176
150
253
172
150
150
121
229
168
208
210
150
211
209
150
201
167
213
121
210
208
137
209
150
112
172
121
196
176
121
201
228
207
112
255
228
185
276
150
208
135
194
181
213
228
112
201
233
112
210
172
216
128
160
184
205
172
297
172
112
150
189
167
128
136
112
172
170
158
194
150
130
130
150
150
121
187
208
121
112
123
147
170
170
254
208
201
136
208
167
150
143
112
200
220
171
202
167
208
179
137
124
165
115
171
176
177
130
233
146
226
201
193
171
123
200
150
176
181
187
147
165
150
237
231
236
121
172
121
121
171
209
112
152
150
152
204
208
150
112
195
121
165
172
121
164
245
121
208
158
150
158
159
186
136
215
243
168
231
112
136
255
231
150
150
225
156
146
167
194
171
137
231
115
135
192
150
112
170
115
185
276
121
208
167
121
200
123
171
136
152
243
195
164
220
176
240
170
211
172
170
170
112
115
172
235
208
201
137
135
228
231
165
150
123
210
187
112
158
202
170
210
150
218
135
181
150
195
253
121
207
174
167
112
160
150
112
176
121
260
172
112
158
184
121
170
172
264
112
212
121
171
112
121
164
112
147
210
172
137
209
207
208
146
167
176
167
121
172
194
159
150
208
123
186
167
147
177
172
172
167
176
211
186
121
208
112
121
250
158
123
167
167
135
150
208
170
160
150
196
174
136
150
208
231
162
121
171
147
172
208
174
194
205
137
226
136
186
170
150
147
177
170
279
181
194
121
194
179
208
207
159
240
201
199
228
112
203
150
128
136
156
136
208
194
150
250
208
202
212
112
220
236
239
159
112
181
187
112
136
186
121
212
121
236
205
208
123
150
192
171
115
170
181
165
112
176
196
179
181
172
135
115
124
195
194
131
243
136
228
112
174
112
160
220
150
172
150
121
170
195
130
226
121
121
215
190
243
150
228
225
208
123
194
194
150
112
123
220
208
130
137
223
208
170
172
193
210
163
181
187
255
201
202
226
233
150
121
159
150
150
181
172
167
176
187
172
181
202
112
186
228
189
123
174
162
237
278
177
112
164
121
210
194
202
167
202
150
181
208
216
238
233
168
150
174
175
156
239
207
170
112
147
176
203
121
184
181
150
123
150
165
147
123
239
236
169
145
121
123
207
207
112
147
217
167
208
172
121
112
121
218
158
218
158
172
121
171
205
150
123
167
176
171
171
161
123
194
212
150
167
279
237
219
208
112
150
177
144
170
229
124
187
137
167
167
112
187
216
211
112
115
112
202
228
259
174
150
179
210
121
150
147
112
194
112
170
186
172
178
174
150
150
219
194
172
170
121
176
162
152
205
167
225
150
202
181
243
192
194
171
162
150
172
157
167
150
112
112
263
121
193
135
208
136
176
226
172
150
112
167
171
147
199
168
278
184
121
218
171
228
192
112
181
165
124
216
174
121
210
207
121
184
232
219
171
172
205
115
172
123
210
225
176
150
212
150
137
123
212
168
167
231
158
158
207
225
210
170
123
194
160
112
231
147
219
214
170
196
187
194
112
115
225
275
208
172
255
130
150
181
194
121
130
182
150
170
121
150
220
112
121
208
170
150
121
220
171
121
208
130
233
202
150
171
150
150
135
150
193
150
135
181
172
121
137
187
202
172
150
121
172
196
172
193
172
123
150
121
177
162
121
220
231
121
187
201
208
130
171
135
165
165
211
260
150
186
112
187
157
176
176
193
112
216
228
121
171
150
150
150
225
228
136
167
228
228
115
150
150
208
208
163
167
217
218
214
150
187
112
208
145
208
137
136
207
228
167
150
112
170
239
135
115
226
171
121
203
150
121
112
123
194
194
170
210
228
124
193
176
123
165
121
218
135
187
210
147
232
150
203
193
206
305
176
121
136
160
193
112
232
217
176
228
123
121
150
196
194
275
131
112
216
195
150
172
201
150
172
112
112
150
150
112
121
150
135
123
137
171
115
231
147
112
167
179
121
112
112
121
161
181
176
192
112
228
195
184
172
121
181
172
181
195
172
231
150
172
172
176
201
150
255
194
121
144
178
228
201
150
187
115
231
193
112
231
233
175
218
158
172
159
192
186
201
170
112
157
121
194
123
150
112
211
172
160
208
193
160
128
228
186
198
150
202
246
150
112
164
210
175
208
137
173
165
232
233
253
202
135
255
121
174
228
131
198
150
205
143
194
121
278
257
150
198
171
124
228
184
220
229
172
164
177
112
201
204
225
112
186
220
176
212
170
232
184
123
220
207
210
150
147
150
112
112
174
176
112
158
175
195
201
194
185
130
121
212
303
121
202
135
158
184
137
121
219
123
146
170
185
203
207
194
208
112
204
174
152
112
136
231
112
171
170
150
208
172
124
196
121
208
174
152
228
158
168
193
150
128
226
302
136
195
112
194
195
237
112
289
150
112
121
150
112
212
176
186
201
208
121
150
135
211
112
257
176
150
150
167
167
171
181
171
150
150
194
193
135
186
159
123
194
121
115
202
165
201
123
220
226
121
150
136
177
150
181
237
194
150
228
150
208
150
208
150
150
115
150
167
167
234
150
167
165
213
186
130
212
172
150
112
167
219
135
233
150
208
150
112
150
172
124
112
150
206
136
187
231
208
130
150
195
167
150
195
202
179
150
171
112
150
158
193
172
219
128
124
158
177
175
162
216
187
176
228
220
195
174
172
226
181
150
207
194
112
150
150
175
152
164
232
172
121
112
156
150
165
164
212
203
112
165
177
194
208
115
124
228
210
150
189
150
112
231
165
192
131
112
171
237
186
193
170
121
112
208
165
150
202
193
179
150
253
193
213
172
176
150
128
228
203
121
208
167
112
208
181
185
121
135
112
150
208
137
112
210
208
123
137
185
165
172
150
194
121
172
112
208
194
171
212
187
255
239
186
186
242
186
158
181
255
150
171
124
240
143
150
177
205
156
233
174
177
186
165
167
228
172
152
152
208
137
121
237
123
208
192
214
112
160
236
230
201
246
150
167
194
209
112
181
124
150
123
207
112
239
195
147
208
150
153
171
135
123
150
175
176
193
176
137
208
121
231
170
164
112
208
160
112
210
255
150
150
150
165
175
156
194
137
208
121
158
246
150
135
175
123
171
121
123
121
217
123
124
150
165
177
235
237
112
123
184
172
121
150
181
171
121
205
121
112
208
121
121
172
190
187
208
208
167
208
160
158
167
165
250
112
171
170
165
217
176
231
172
187
203
165
115
181
115
201
135
123
187
170
171
121
150
205
112
150
171
171
136
112
150
131
165
121
171
173
121
168
112
230
136
123
194
172
260
193
112
170
165
112
208
136
150
176
170
203
115
150
123
165
112
199
112
202
268
181
150
194
171
171
115
147
143
195
215
193
167
172
167
184
201
176
167
208
150
239
225
150
150
202
121
144
208
150
150
121
193
152
242
150
136
208
165
170
112
181
193
150
181
112
123
121
210
150
137
208
174
150
112
228
187
124
135
150
150
218
208
167
112
195
208
170
128
203
208
240
121
175
195
130
184
302
150
170
165
150
121
112
177
171
150
167
131
207
216
196
150
150
150
279
150
179
121
115
172
237
167
174
194
115
194
177
174
220
121
218
168
135
194
193
170
302
112
176
112
165
150
187
235
233
186
209
172
181
112
121
121
150
208
193
176
176
186
170
182
176
130
112
112
181
193
192
202
228
177
112
208
174
192
112
121
177
238
172
187
124
158
112
150
237
208
152
240
124
158
175
121
147
167
150
172
112
165
112
228
150
136
205
206
230
302
272
137
192
112
243
186
121
112
209
208
136
203
112
135
150
121
150
202
167
228
115
193
192
150
177
220
208
115
112
123
220
112
245
212
121
147
218
204
132
187
123
204
220
210
121
112
150
150
123
195
210
217
210
194
130
150
233
201
250
163
115
172
229
172
121
181
172
174
135
170
150
121
112
177
252
204
147
219
112
171
167
181
264
208
171
167
177
135
208
168
136
201
220
159
167
217
207
225
170
150
143
167
172
112
121
159
181
112
193
274
150
172
232
210
171
225
257
276
135
217
123
150
186
121
194
172
136
170
112
184
208
237
167
136
165
157
170
158
121
165
202
170
220
123
205
112
150
115
181
194
112
220
112
150
165
112
181
199
167
207
171
243
150
150
210
206
137
158
123
112
112
157
157
112
170
165
177
115
147
167
150
172
232
159
186
172
205
150
144
186
220
160
156
121
181
158
238
150
112
181
272
206
121
250
143
228
170
189
216
130
174
272
271
179
112
121
172
200
150
219
245
187
220
233
137
150
112
150
208
150
150
171
172
228
255
143
123
193
172
165
229
150
150
121
194
150
228
172
189
181
150
150
121
193
193
250
194
171
121
158
135
174
297
150
256
208
164
170
165
214
150
156
159
136
232
150
121
231
213
159
186
152
112
156
170
112
300
200
165
210
177
159
195
167
174
170
112
167
208
150
171
165
228
161
172
228
228
150
147
172
150
150
195
112
171
172
177
208
220
171
167
112
243
139
230
220
187
197
240
121
150
158
193
156
231
239
112
150
150
231
147
212
121
172
121
193
302
177
176
135
172
243
203
147
137
150
195
239
208
130
229
150
198
175
230
202
167
170
150
121
150
124
204
165
172
253
210
181
167
250
215
164
168
121
150
171
208
115
177
208
242
150
172
176
205
211
201
170
175
112
216
172
136
179
165
112
112
258
187
150
204
174
238
112
159
123
202
201
172
167
219
230
299
183
167
123
112
167
186
196
233
181
115
189
147
170
124
212
136
213
211
208
150
123
240
136
150
170
130
184
205
204
131
243
172
152
135
195
193
112
172
208
167
112
112
208
179
112
164
112
223
136
172
121
150
192
136
237
150
172
210
187
244
208
165
172
212
167
147
152
208
181
179
237
136
167
185
208
150
197
159
168
194
226
112
210
150
193
237
265
150
278
263
257
198
179
219
212
206
228
150
150
181
170
253
250
205
163
186
171
135
208
194
193
202
121
128
208
150
170
181
147
193
231
159
192
150
131
121
150
158
181
275
150
112
123
115
112
207
121
135
176
220
217
121
207
112
242
186
112
176
240
178
123
172
150
164
255
130
208
150
112
193
150
208
208
157
232
225
219
164
170
228
160
150
123
121
231
250
225
194
170
202
150
185
121
150
220
171
170
202
135
208
150
123
227
233
225
208
164
194
237
137
208
171
150
186
150
224
195
165
181
124
212
253
193
135
135
255
112
150
136
220
230
170
121
171
195
198
157
170
239
152
265
112
236
170
167
184
123
228
112
195
171
174
243
136
228
112
165
165
137
112
160
193
150
187
205
141
192
171
231
112
220
115
171
128
150
121
121
112
172
225
121
195
176
208
172
187
194
220
143
208
232
212
172
192
112
150
123
170
137
202
184
196
121
215
226
136
186
220
205
263
121
121
150
167
170
121
210
150
147
112
112
177
208
172
196
194
137
186
226
208
179
121
143
150
156
115
150
203
194
201
208
150
112
150
207
112
123
112
172
136
232
135
208
175
192
150
164
136
246
137
158
203
121
172
208
172
167
235
123
177
158
186
231
172
177
182
215
192
186
167
165
150
112
221
178
136
150
202
212
162
255
172
121
215
167
165
214
242
170
121
123
170
232
112
112
226
112
177
255
123
150
143
115
137
239
112
158
135
147
235
170
121
208
112
124
225
170
150
208
112
112
208
237
220
170
240
208
121
115
299
231
182
137
165
112
112
115
178
143
212
244
159
186
150
112
187
187
181
184
210
170
112
208
174
195
208
112
208
164
150
208
194
213
237
242
181
255
150
289
150
115
121
186
192
210
150
194
168
208
112
150
150
170
135
212
150
121
171
193
143
123
181
137
174
189
172
205
195
167
219
214
170
121
201
177
195
186
201
137
172
171
212
178
150
112
231
219
150
167
150
203
177
193
165
167
175
232
206
112
167
136
186
112
201
226
208
218
112
150
150
202
228
112
199
161
112
121
208
170
150
112
206
205
216
170
208
171
211
167
123
210
112
167
191
193
212
230
231
112
121
165
112
150
137
176
164
181
115
124
147
194
203
150
171
150
136
121
152
150
226
158
150
274
193
189
143
171
112
115
167
229
210
208
182
245
121
170
167
199
150
194
150
200
171
112
208
236
168
150
234
150
128
237
198
121
170
137
121
112
225
150
200
226
170
212
208
193
112
150
194
112
179
186
112
181
190
167
121
172
121
152
135
121
150
121
121
192
170
194
165
215
172
150
112
136
168
158
171
233
241
262
170
150
175
156
179
121
194
228
171
168
181
220
174
135
121
158
172
137
195
112
194
175
121
150
147
255
174
112
121
112
171
150
207
150
128
150
184
158
112
208
235
123
124
230
112
135
121
147
167
208
177
218
115
112
130
177
150
214
214
215
171
112
193
172
254
121
187
208
167
112
218
115
206
177
158
172
241
278
176
170
121
170
276
250
190
227
170
150
123
195
181
181
265
195
172
112
172
172
150
121
264
150
121
184
123
146
112
112
172
136
172
183
124
216
207
165
167
195
173
170
228
186
150
237
171
167
137
147
215
121
255
156
202
225
257
150
208
165
121
167
170
172
233
167
181
195
156
192
165
112
202
187
193
176
156
172
167
216
186
193
250
150
172
192
165
219
147
159
150
228
121
200
170
208
176
228
181
240
123
150
212
135
206
150
121
212
121
164
193
172
124
123
278
228
112
172
224
156
167
263
239
207
208
231
177
121
124
225
232
115
174
204
174
170
112
208
150
164
302
150
172
239
193
243
150
121
238
171
150
257
112
112
112
137
170
150
181
112
115
243
189
210
112
176
229
165
158
123
193
212
137
238
204
215
194
176
239
176
278
212
124
172
121
238
121
135
177
112
202
192
176
242
112
202
156
195
112
167
121
112
123
182
170
170
144
150
170
164
217
192
124
123
150
253
193
231
208
198
124
173
112
150
146
186
150
208
112
123
202
112
175
112
112
172
130
112
208
150
136
168
208
208
202
112
150
170
201
112
115
135
219
130
121
121
123
137
121
150
112
167
112
237
210
177
185
172
121
210
192
170
194
121
121
165
150
228
128
165
121
181
237
150
172
237
177
121
219
150
217
150
208
172
123
170
235
186
150
150
250
158
229
167
210
112
186
112
259
179
150
165
147
208
112
156
112
250
170
212
170
252
186
193
193
201
167
167
217
220
158
235
203
158
146
171
147
170
202
112
233
160
115
195
161
121
150
164
172
172
112
187
176
167
210
176
178
172
237
170
187
173
202
208
121
181
150
112
167
121
237
136
217
112
150
115
112
176
250
121
170
146
194
112
121
239
176
150
150
223
197
137
187
186
195
143
121
237
227
112
156
150
231
164
123
112
172
172
170
135
232
150
147
121
150
176
187
201
167
172
207
226
135
174
123
136
124
181
112
160
198
244
218
150
130
170
212
172
226
237
124
146
200
123
112
172
121
115
193
159
186
245
150
181
150
150
195
112
170
176
150
112
208
167
195
170
202
115
150
161
172
150
121
194
123
201
172
198
158
124
150
172
176
170
190
167
170
203
124
189
176
173
115
121
226
276
112
194
152
170
121
123
167
150
168
217
171
208
172
112
121
112
172
179
168
177
186
124
182
150
217
150
112
112
150
210
192
181
112
219
250
203
156
158
172
112
158
234
207
146
225
172
121
186
112
123
194
112
150
112
150
172
124
189
201
115
150
208
171
237
112
112
230
144
193
190
165
221
157
136
207
136
214
171
171
112
172
231
121
250
208
203
112
112
208
195
245
192
203
248
164
150
239
150
165
220
228
150
208
172
150
310
112
208
167
195
170
167
213
206
150
229
237
128
171
165
121
235
194
112
121
150
171
181
112
170
195
208
172
202
112
197
172
187
181
208
150
195
208
208
212
121
176
202
124
121
135
186
215
170
123
171
121
172
121
228
220
208
187
172
135
170
150
208
194
208
167
194
164
112
150
175
121
210
194
124
219
150
135
150
184
112
137
172
212
195
164
164
207
174
192
171
123
187
150
150
210
244
249
194
184
135
150
239
172
158
208
203
112
208
121
147
135
167
234
235
193
177
187
171
203
150
165
137
150
123
172
193
123
190
150
170
205
196
121
177
170
112
112
159
136
181
247
156
167
150
175
165
121
150
115
112
121
167
112
208
112
200
121
238
255
194
167
150
171
203
167
112
112
115
223
164
121
181
150
176
264
150
112
171
121
170
112
174
168
263
172
210
233
192
150
171
112
150
112
174
228
124
157
112
167
213
233
228
196
208
172
150
194
112
150
136
172
208
152
150
121
135
112
165
121
167
135
197
302
212
278
233
137
143
170
121
233
302
216
150
112
158
255
254
217
150
123
194
192
240
181
187
150
158
165
171
112
112
167
167
152
112
158
112
121
194
112
171
121
115
234
112
112
121
198
212
167
186
201
158
209
210
150
216
121
150
289
219
123
202
123
152
149
207
165
193
147
172
165
167
171
181
135
196
135
279
112
112
203
279
170
201
237
112
123
194
150
150
305
221
112
176
112
196
193
165
170
172
158
121
172
194
194
203
166
136
158
172
159
208
167
212
150
177
167
213
150
165
179
165
208
167
124
191
115
172
135
128
167
170
150
186
167
189
165
195
172
121
181
202
208
167
112
232
190
208
112
150
172
177
112
171
208
186
162
176
112
170
216
243
112
121
115
150
195
187
193
112
122
231
123
147
236
255
172
135
112
208
160
121
150
170
193
195
207
130
187
135
112
121
243
165
136
167
204
115
112
158
150
212
181
112
189
170
147
168
201
174
171
115
165
176
165
150
124
181
150
121
150
186
174
115
187
210
212
136
121
112
189
167
210
233
123
181
193
181
250
230
194
128
192
150
172
112
198
158
124
208
130
220
124
172
168
222
164
170
112
170
210
121
158
121
231
232
128
112
130
115
193
150
150
165
227
205
181
112
137
239
150
176
112
174
123
121
112
123
112
159
208
170
112
172
123
203
112
208
228
181
163
167
255
208
187
286
150
167
150
276
270
121
124
202
192
208
158
201
197
187
147
174
167
176
239
136
208
186
172
176
217
176
167
121
226
170
238
228
172
179
232
200
112
209
135
164
112
150
147
202
181
115
170
146
196
160
185
236
208
213
201
162
121
112
170
193
208
167
193
123
152
164
167
156
136
171
121
171
187
208
121
209
193
135
165
164
165
237
210
194
208
150
239
208
112
181
136
171
121
208
208
150
150
208
204
150
232
150
247
112
219
150
150
168
143
150
181
137
185
123
188
156
264
174
172
171
115
147
220
187
160
219
257
189
228
189
201
156
175
123
167
136
193
176
239
156
183
172
147
150
147
208
150
165
135
237
189
150
226
278
150
172
112
160
194
170
207
166
186
208
150
224
170
189
228
112
121
124
220
237
112
164
192
172
217
158
194
135
194
214
150
123
112
172
112
210
137
185
187
112
203
226
136
112
135
174
121
208
199
168
212
174
193
137
123
123
187
147
112
231
150
179
150
218
226
193
150
150
213
165
167
207
123
112
208
150
112
201
152
187
123
170
218
168
112
124
170
167
194
187
172
150
201
193
150
124
167
225
150
145
171
150
194
208
219
150
172
150
176
210
229
164
194
193
152
263
121
121
170
181
150
208
208
235
186
231
170
208
214
153
150
208
194
150
112
217
150
170
193
112
177
139
150
226
219
147
147
172
194
208
193
150
177
150
215
136
263
150
186
150
157
150
215
168
208
121
212
150
165
167
177
218
112
123
181
112
167
208
263
150
258
195
165
150
231
112
205
291
112
112
121
135
157
228
186
185
172
182
165
131
225
184
220
219
240
187
158
208
150
187
135
150
172
203
201
112
121
123
231
175
193
115
229
228
152
193
150
150
150
124
225
156
121
137
228
164
150
121
172
112
202
276
150
210
156
172
147
150
112
137
174
112
150
130
112
170
225
150
187
171
172
167
112
112
171
123
181
150
250
150
225
112
178
112
176
186
150
181
172
200
235
121
187
175
272
121
195
121
201
207
194
124
194
208
150
212
121
150
218
121
150
115
175
123
193
170
150
262
170
193
112
172
181
225
121
156
171
112
150
160
194
176
150
212
190
150
176
242
121
189
121
158
112
121
167
147
278
112
121
192
136
176
257
171
172
265
179
158
123
194
112
177
170
208
219
158
240
150
121
170
150
231
181
208
172
220
112
208
159
208
147
202
229
190
210
175
207
150
128
257
193
112
218
202
121
121
208
150
112
189
255
147
150
131
150
171
194
112
150
208
112
234
240
115
170
112
176
208
112
124
194
187
135
237
179
217
262
194
121
193
153
208
123
150
187
124
212
192
167
112
194
172
167
121
123
123
181
194
156
167
172
137
272
189
112
240
229
170
150
208
172
236
186
196
167
239
112
128
135
112
228
207
237
175
230
229
160
146
135
228
121
150
112
179
218
147
208
244
112
121
167
150
208
158
123
165
121
150
150
164
172
209
160
124
130
150
189
208
195
193
220
165
123
206
172
112
195
205
167
112
172
207
150
236
172
124
202
136
220
229
160
213
172
121
168
202
170
137
276
218
136
121
214
121
203
132
121
228
150
208
174
263
150
219
187
167
112
225
139
192
226
225
121
210
112
195
260
159
161
208
190
128
172
112
164
194
162
136
176
150
173
112
173
255
170
150
172
121
277
214
208
137
217
115
224
167
174
112
243
115
121
233
172
186
137
121
205
150
112
192
219
112
121
244
175
167
278
121
205
210
203
150
208
237
237
171
233
150
150
121
121
170
130
112
216
203
239
121
174
121
139
208
123
160
165
123
135
121
121
219
172
165
121
150
187
203
171
167
208
181
150
112
208
121
219
201
150
121
212
150
170
195
112
208
193
115
130
172
112
195
194
239
206
208
167
170
164
150
208
172
172
172
193
135
123
150
121
167
195
150
112
186
112
121
181
172
167
136
186
112
171
121
261
150
205
193
121
112
112
208
177
188
230
176
226
150
213
123
170
225
199
165
181
172
121
264
167
156
274
176
121
219
243
265
181
146
194
124
152
150
165
176
171
112
112
112
147
150
208
165
167
121
150
165
172
192
112
158
208
150
208
255
179
176
156
235
150
121
112
112
195
174
164
172
195
150
136
226
208
164
121
231
164
174
253
172
150
237
150
121
208
176
137
150
112
256
219
239
150
112
261
171
203
112
137
186
162
181
150
257
121
159
196
181
170
121
150
112
208
207
263
193
176
201
150
212
170
150
242
192
165
150
207
220
165
170
231
150
201
193
121
150
167
250
162
205
115
150
227
208
170
193
208
123
128
150
208
185
255
150
203
112
112
194
123
112
220
208
143
147
194
172
232
187
181
172
150
172
150
167
130
172
195
112
208
159
171
227
146
276
172
112
179
217
250
171
208
167
121
137
203
158
150
115
167
167
172
229
176
172
195
123
237
170
232
224
229
167
112
171
187
205
187
218
193
199
130
112
150
176
200
280
121
165
150
194
176
115
176
137
112
135
208
167
137
203
182
121
210
210
128
205
187
250
196
150
143
195
112
112
170
201
235
121
170
150
193
167
112
193
121
227
150
202
150
150
238
112
161
121
112
172
194
234
112
210
186
168
267
278
150
172
228
208
205
212
212
212
159
196
178
150
164
208
121
202
159
121
150
167
189
198
123
208
201
193
237
112
172
178
150
194
181
193
264
228
176
171
167
196
236
121
176
170
186
205
239
150
123
212
181
137
264
158
170
217
150
112
220
150
172
112
150
207
240
121
237
219
231
194
150
112
172
250
112
171
150
228
112
217
167
194
210
123
208
121
170
208
112
219
162
121
152
164
177
250
172
216
186
203
193
218
275
121
156
115
212
121
115
150
153
182
181
176
150
193
137
121
158
124
239
170
231
231
172
170
150
172
225
150
172
121
229
150
152
250
150
193
176
147
225
187
112
112
170
170
150
135
186
167
299
167
112
150
150
121
170
121
248
208
170
237
164
150
217
209
121
124
231
112
170
187
219
181
150
115
198
136
178
135
191
115
181
210
123
263
123
147
193
198
121
150
150
228
208
208
236
186
167
216
172
182
165
168
167
135
170
112
121
186
196
195
202
297
147
150
147
121
237
112
222
181
248
130
236
194
202
208
184
147
195
195
201
208
150
208
160
208
195
170
171
242
150
202
112
203
174
250
258
195
202
171
150
172
195
210
275
174
208
158
243
302
121
159
212
217
135
160
189
164
187
237
201
208
231
150
244
210
112
208
220
186
115
228
202
143
153
194
121
172
203
210
181
121
156
170
135
123
208
262
194
236
171
121
258
175
172
150
150
171
253
234
171
181
152
150
220
168
208
158
162
194
276
165
210
243
170
208
226
239
121
152
137
112
240
167
170
130
112
167
208
136
237
195
172
159
128
150
170
112
179
204
231
150
165
212
150
181
181
232
170
194
231
186
172
181
203
203
112
150
218
121
194
150
175
160
123
302
272
112
150
172
186
239
176
172
172
121
212
172
121
165
137
164
203
121
198
239
165
181
112
121
137
150
203
135
196
184
156
124
121
121
210
263
212
159
160
237
171
273
115
150
165
198
219
156
172
150
150
156
170
173
167
150
229
176
150
193
218
242
189
212
156
170
302
121
243
123
170
135
170
172
203
218
212
215
112
137
121
172
259
181
156
170
170
164
255
112
112
150
231
181
205
121
194
150
178
112
177
112
208
176
278
176
223
226
121
203
202
121
150
121
199
255
193
203
245
255
182
112
219
121
150
167
203
150
205
167
172
167
228
112
239
208
150
238
172
208
239
112
124
143
203
174
153
194
112
167
141
121
170
170
112
203
207
150
165
164
202
255
150
193
130
186
187
112
172
217
121
121
123
123
130
172
172
150
232
205
145
115
124
164
163
135
177
170
150
196
249
202
150
115
112
150
237
137
112
136
150
112
124
150
167
239
186
225
210
170
208
210
150
167
194
221
216
231
115
181
201
219
150
210
147
158
128
171
196
203
165
208
167
176
181
121
171
210
201
121
150
157
115
152
112
150
190
187
172
174
258
172
112
208
176
152
150
175
193
121
158
147
172
121
186
171
208
231
112
194
232
226
121
192
195
245
170
203
168
170
208
158
158
250
201
176
179
112
208
121
194
184
203
136
150
181
181
212
112
212
228
164
150
234
232
170
171
229
162
150
112
189
121
150
193
150
172
175
150
112
135
123
165
172
164
150
218
165
232
147
124
187
186
181
220
208
121
121
136
121
196
202
208
250
187
150
181
176
193
150
171
172
208
121
121
150
211
171
208
167
228
256
179
172
202
175
208
171
112
214
112
186
150
121
302
121
194
200
186
115
247
208
156
167
150
152
135
195
174
112
112
238
121
208
159
232
186
194
170
202
150
199
150
187
150
212
176
176
242
212
150
137
172
186
210
194
203
150
150
186
181
167
112
147
112
170
181
254
208
164
150
150
123
150
202
121
150
181
172
156
112
168
176
150
172
208
121
208
172
172
112
168
159
172
112
170
164
112
203
121
121
115
239
123
112
157
194
137
250
244
173
172
137
150
194
224
208
164
158
165
217
112
174
214
112
199
205
112
144
150
147
170
121
150
210
112
176
150
143
227
150
228
217
112
220
241
150
150
112
150
223
219
150
205
297
176
150
217
181
131
178
136
225
165
202
232
210
193
171
112
170
150
208
214
186
193
171
181
167
201
177
147
167
168
220
212
181
239
150
217
170
255
165
112
214
121
112
136
195
193
205
112
115
150
208
203
121
226
267
194
150
165
208
147
112
150
124
136
156
208
208
208
150
229
181
175
150
171
167
121
188
217
199
202
112
150
196
123
212
146
170
212
208
184
150
124
172
208
165
167
172
135
238
207
210
256
223
172
228
159
192
235
186
121
220
208
174
147
152
208
194
187
144
193
121
112
217
237
170
181
121
177
150
164
150
167
112
253
172
208
247
164
121
150
210
181
121
210
170
171
176
121
213
112
112
139
167
121
187
112
211
207
210
131
112
226
243
128
170
172
186
164
121
112
225
165
180
171
150
165
150
165
150
181
186
220
177
165
112
112
176
171
150
187
159
228
208
239
121
121
172
210
230
167
172
217
150
150
210
208
137
147
112
176
179
121
156
112
244
202
226
150
201
150
232
150
177
218
259
171
179
123
167
205
250
112
176
172
121
195
172
186
226
139
225
170
166
170
171
170
163
167
208
194
172
121
219
136
160
184
150
239
123
150
172
189
170
130
185
243
208
220
170
112
203
136
170
150
150
208
194
170
208
194
217
235
167
112
130
123
228
179
135
229
123
121
128
147
158
121
266
121
121
212
167
112
231
170
112
208
207
143
150
202
208
164
150
255
167
208
112
210
164
150
250
130
170
170
170
208
172
159
121
150
217
228
171
136
250
191
186
131
112
150
150
123
115
121
150
112
214
150
165
274
147
144
173
201
112
167
181
123
123
112
229
192
176
112
212
115
195
172
181
172
208
121
226
170
124
228
171
176
112
112
167
194
208
135
167
215
167
150
123
165
124
205
211
171
263
112
242
217
112
201
171
171
150
150
208
150
186
112
124
164
121
208
205
168
150
202
150
278
112
172
121
121
210
112
201
121
150
231
121
176
172
212
254
244
228
121
123
205
176
112
184
193
123
121
112
189
203
171
115
226
170
228
167
112
178
218
208
167
187
112
228
112
176
304
204
136
208
232
136
147
150
124
150
219
123
150
112
208
121
121
297
168
186
150
121
171
167
112
208
208
194
172
232
172
181
186
150
192
167
228
164
202
167
213
201
115
177
123
174
187
150
172
217
144
167
205
177
228
150
112
112
165
159
121
150
218
170
172
208
210
167
263
239
172
121
112
165
150
229
112
150
212
112
150
150
150
150
215
218
167
165
217
208
150
207
228
208
194
210
112
167
194
212
156
179
240
194
135
241
150
174
194
219
172
174
194
202
121
112
112
209
184
235
167
226
170
165
147
179
201
225
121
121
229
167
217
112
115
115
164
150
174
245
112
237
176
193
147
121
170
242
241
215
112
121
135
112
150
115
201
152
167
209
201
115
174
186
175
177
207
167
194
212
172
182
121
174
236
135
208
156
207
128
302
150
210
281
150
164
150
210
121
158
112
150
241
228
150
135
171
150
192
112
179
225
194
186
121
176
165
170
121
186
223
167
167
156
193
171
212
170
112
228
112
184
165
181
165
167
250
112
181
158
233
212
226
189
172
145
123
208
176
208
194
150
171
135
228
167
192
208
165
121
150
193
171
195
172
121
192
150
203
150
150
171
150
202
269
136
229
170
237
218
176
160
176
130
176
171
112
150
150
121
193
112
233
178
234
121
112
174
218
202
214
136
186
123
214
144
150
233
115
207
263
158
249
150
150
112
158
187
231
170
219
237
254
208
167
170
170
112
231
194
158
135
197
302
156
170
170
219
214
243
175
193
176
112
150
182
150
176
163
171
193
224
150
231
174
223
208
123
121
112
213
165
175
112
186
194
124
219
158
195
121
112
121
136
245
176
164
237
233
167
150
112
167
121
170
208
123
208
176
170
123
238
124
227
213
137
150
121
163
184
150
112
194
195
112
135
208
131
255
208
194
171
186
172
112
171
203
216
172
235
203
201
156
241
218
194
165
115
115
302
181
206
229
135
171
195
112
233
172
112
167
167
135
234
123
210
177
170
150
112
131
210
186
121
136
167
150
112
250
159
150
135
150
208
165
208
121
172
171
172
124
150
192
193
165
199
137
220
112
112
201
112
112
164
144
202
165
147
170
231
187
176
112
170
174
220
121
208
192
186
208
128
121
208
112
112
203
208
201
172
166
150
147
112
170
150
240
112
208
121
207
112
124
123
130
137
171
167
176
150
175
223
167
175
187
177
212
121
249
164
170
181
167
136
208
164
121
123
112
170
167
121
164
203
268
172
171
211
194
265
150
150
219
112
172
176
147
112
112
203
228
293
121
212
302
150
146
234
156
167
150
212
150
241
158
112
161
165
144
115
216
220
276
167
159
217
121
121
123
239
215
143
171
171
228
302
112
208
150
233
150
112
173
167
171
172
172
167
208
131
112
150
135
225
255
207
170
167
181
150
177
150
225
170
112
208
167
259
112
187
186
150
228
150
167
130
121
156
259
152
150
208
223
234
232
217
112
179
160
229
121
193
167
112
150
112
193
201
172
242
147
196
214
147
228
150
194
112
157
172
115
177
208
150
156
240
228
167
171
182
112
159
229
170
174
272
170
150
189
228
150
121
112
176
121
150
171
186
181
112
139
143
170
150
194
123
112
121
193
121
124
232
112
181
172
226
197
128
217
150
228
167
194
210
147
161
152
179
190
112
172
192
276
136
203
208
199
193
190
177
188
123
195
135
172
160
201
208
176
276
243
121
112
121
121
150
112
195
272
230
171
165
176
179
136
229
121
237
165
212
121
150
202
239
170
194
250
150
187
193
177
112
233
124
135
194
135
167
185
167
112
121
223
159
218
150
121
179
124
255
112
150
184
174
174
217
194
221
112
172
302
156
208
150
181
112
172
170
158
181
121
150
112
218
171
171
121
231
136
150
121
160
124
150
212
210
236
170
193
219
195
137
160
253
186
215
112
167
136
264
164
208
121
150
220
150
165
128
159
186
150
150
121
208
165
112
231
212
208
121
150
139
172
208
209
150
184
220
150
121
186
171
123
168
115
123
167
208
171
220
228
202
208
121
112
208
164
253
135
194
181
194
112
288
158
202
130
112
205
150
135
175
150
204
112
201
172
150
232
231
121
175
150
182
150
193
243
147
171
121
112
123
150
150
123
112
150
136
171
165
150
193
175
112
121
112
171
210
202
172
237
159
112
181
172
167
150
130
130
123
174
150
193
202
147
279
208
167
112
201
136
163
259
171
170
158
165
195
145
170
150
150
147
172
210
112
170
165
177
195
260
192
172
171
150
174
121
135
150
253
208
162
171
112
176
150
147
192
225
181
231
171
182
233
150
212
302
203
150
135
170
218
112
112
205
208
135
136
121
208
186
170
112
208
150
131
165
184
195
167
241
150
123
228
208
153
156
172
232
177
150
240
135
112
202
171
137
193
121
112
216
150
112
233
150
212
171
112
150
150
186
181
150
182
167
112
150
210
203
165
112
198
181
150
112
115
112
189
112
171
171
239
181
172
112
150
172
136
233
112
207
226
112
158
228
115
112
112
202
239
189
121
112
150
171
164
136
176
196
130
217
206
121
194
181
175
171
182
115
206
112
172
112
150
112
150
196
135
164
159
203
164
179
194
202
123
164
237
192
237
130
167
158
128
204
239
208
186
219
121
250
150
112
112
186
212
172
177
112
219
112
187
193
170
159
158
168
205
208
208
150
112
137
112
121
217
150
203
124
275
203
112
159
182
209
242
156
170
150
121
160
186
121
211
208
208
121
167
226
146
186
195
177
171
112
196
130
150
208
208
135
202
287
112
112
208
150
115
174
208
112
115
239
135
201
172
255
194
171
152
172
121
181
124
223
150
258
193
170
208
159
182
167
208
156
217
165
112
130
131
150
212
214
150
171
223
187
176
181
123
171
231
176
165
208
156
112
147
210
238
167
150
263
171
112
121
121
147
215
150
224
195
195
150
172
112
192
112
194
181
208
135
156
216
112
171
167
121
137
156
172
112
193
186
159
218
121
181
172
255
150
219
186
208
147
143
137
208
233
228
211
177
183
194
181
197
112
152
231
171
150
176
210
195
202
194
192
210
150
192
208
210
208
208
164
190
135
121
147
192
156
112
195
181
171
112
171
150
135
165
196
170
128
259
150
172
121
172
194
194
181
186
187
250
123
172
190
201
112
150
115
135
159
315
135
164
215
250
219
179
176
212
112
182
217
194
214
223
121
112
175
150
167
158
123
112
187
112
203
172
167
150
196
171
172
121
121
212
203
170
203
233
135
228
112
229
201
164
205
112
112
112
171
115
112
193
194
208
112
228
199
160
112
150
214
121
145
201
167
172
150
193
217
130
136
150
237
208
112
115
241
150
123
150
150
174
193
112
176
171
121
195
112
181
278
203
172
194
115
167
124
225
194
137
121
147
112
135
158
170
195
172
121
171
172
205
217
208
204
184
172
112
171
150
181
121
228
150
210
165
156
170
168
176
158
203
171
112
165
209
205
181
195
170
150
201
150
187
165
208
263
212
208
165
208
215
193
176
208
150
121
193
187
201
161
136
238
172
135
208
239
121
205
167
150
192
171
112
208
112
170
112
167
150
150
165
226
236
239
181
203
228
201
121
208
210
258
205
204
193
170
170
159
198
124
152
219
121
135
203
276
164
165
207
172
167
112
156
172
225
167
208
172
112
228
229
187
208
181
121
168
302
112
124
150
170
123
259
208
207
112
177
181
178
172
121
171
150
208
172
302
194
195
215
186
112
112
208
264
167
195
213
121
121
220
297
181
294
158
121
199
242
202
112
216
220
175
186
192
123
112
195
112
123
172
150
112
121
112
150
243
112
176
121
262
172
147
172
135
135
181
176
203
194
177
208
176
150
150
112
167
194
239
231
186
121
137
179
112
208
194
193
201
302
186
144
152
186
150
213
112
205
177
167
152
238
160
192
184
194
215
229
193
150
164
228
212
167
171
172
167
121
150
184
209
232
208
150
128
147
177
194
208
228
167
137
214
123
150
170
208
121
167
115
181
231
228
112
195
130
150
171
195
167
214
135
172
112
150
121
186
176
172
112
121
172
172
242
150
150
112
231
165
239
150
172
302
121
208
150
207
121
112
172
177
167
236
135
150
150
225
250
165
160
201
187
203
178
150
228
170
112
219
175
150
214
158
112
192
150
255
112
112
171
226
182
136
262
167
121
240
167
205
160
128
121
297
165
214
193
223
121
194
219
123
194
123
136
172
171
208
167
168
112
170
121
202
130
130
250
150
150
210
150
164
112
152
225
228
203
274
150
149
194
150
150
226
115
208
123
112
160
208
137
205
181
174
123
177
150
212
150
150
150
204
150
193
217
165
172
176
159
210
179
190
121
217
167
171
174
112
187
194
167
241
150
194
193
171
121
135
172
112
147
172
150
150
123
208
137
128
228
156
136
150
136
238
228
187
283
112
130
254
160
121
172
121
150
128
189
121
243
150
168
172
193
207
150
136
208
170
202
152
121
150
201
185
201
121
181
172
181
137
208
202
243
165
112
150
112
144
208
150
124
181
244
112
219
172
237
165
121
121
184
163
124
202
124
194
112
170
208
121
208
209
112
167
163
171
137
201
186
240
112
112
150
184
237
150
167
167
123
250
264
115
239
176
163
239
167
112
252
123
202
223
278
160
208
194
208
123
190
123
172
165
167
177
121
208
172
181
158
172
228
112
161
150
150
168
189
136
156
172
203
187
170
208
172
112
233
181
152
187
159
143
121
144
271
171
121
172
213
159
121
112
175
170
249
181
171
167
172
302
150
228
176
181
112
147
171
237
194
225
137
171
150
150
112
115
115
162
177
137
112
172
250
158
208
172
112
224
276
171
171
214
112
195
176
112
200
172
190
195
210
208
150
136
172
159
150
177
255
176
112
195
167
159
218
112
150
150
112
112
135
167
147
183
156
150
171
173
299
136
170
112
175
150
150
112
112
230
193
186
240
232
150
162
172
244
161
167
150
121
147
167
210
194
136
254
121
172
121
266
154
112
150
239
209
208
187
112
239
167
150
121
177
168
279
112
112
150
175
150
170
228
194
237
150
194
208
136
194
208
165
121
167
183
200
112
176
201
112
171
150
176
208
175
121
167
259
243
177
150
178
121
112
174
137
208
231
193
176
176
199
233
172
121
170
193
181
136
123
112
167
208
208
167
112
123
193
192
165
218
216
167
130
136
208
272
240
195
167
226
168
170
194
147
167
172
176
150
150
136
276
167
136
150
176
171
150
172
196
112
178
202
112
178
195
150
170
112
237
167
170
143
158
219
172
150
196
208
167
205
192
150
121
199
172
208
181
151
137
150
204
215
172
208
172
186
112
123
136
135
172
146
208
167
150
195
181
123
112
172
203
195
194
208
150
156
170
150
124
150
239
231
193
208
170
123
159
123
209
168
255
249
171
150
112
201
205
242
190
112
112
177
172
150
194
150
121
212
194
176
232
165
229
208
112
202
123
112
171
218
218
186
115
137
238
121
202
203
187
112
150
121
121
121
176
112
137
168
240
172
167
168
167
137
112
177
192
202
202
235
150
239
211
160
170
217
112
177
193
192
164
112
186
150
115
150
152
174
167
299
228
135
226
230
213
163
208
144
179
208
171
123
112
193
167
259
171
242
187
193
202
236
171
220
208
187
112
128
167
112
224
187
158
172
150
124
172
208
171
121
121
192
170
237
201
167
150
150
199
179
159
150
202
124
216
147
150
205
195
259
123
248
247
121
172
239
170
209
212
167
112
150
170
181
121
150
172
243
124
150
297
181
156
228
273
170
172
150
184
135
170
150
112
121
168
208
156
112
136
121
213
121
121
237
112
170
195
195
183
207
212
150
147
174
121
197
225
172
152
172
208
220
121
167
175
174
112
172
176
165
193
150
150
203
121
150
167
195
221
181
234
150
186
121
170
233
170
181
170
112
165
172
228
146
195
157
223
193
193
302
210
135
150
150
202
123
220
121
179
168
121
168
137
172
144
194
135
150
215
121
194
172
181
174
112
172
214
266
112
112
150
158
121
208
282
162
112
203
152
170
121
208
172
174
112
176
150
167
231
176
190
150
263
181
165
112
210
174
170
158
237
112
193
150
115
165
250
208
194
255
161
112
194
165
156
171
150
158
150
164
189
237
194
207
217
170
170
202
128
158
112
170
219
167
174
192
181
175
115
208
112
175
176
112
181
171
228
225
217
256
123
176
263
196
274
195
186
112
208
202
172
124
170
135
135
150
112
282
228
195
226
150
203
112
194
210
150
208
121
202
124
160
131
171
150
226
167
175
170
150
174
167
184
228
203
177
143
121
121
244
237
228
150
186
112
165
218
167
186
181
150
123
208
150
175
167
210
112
170
150
228
167
208
136
165
121
220
170
112
121
112
150
181
228
167
186
208
177
137
150
124
150
232
177
160
121
237
172
112
199
191
165
208
181
253
181
112
186
254
121
201
195
207
193
112
165
177
156
281
121
124
112
208
242
112
121
167
201
217
205
214
194
184
167
172
112
121
150
228
170
208
237
232
121
135
208
128
192
170
135
137
165
152
204
121
112
112
208
159
176
245
123
112
208
176
212
186
121
137
176
208
237
208
150
172
150
171
257
194
121
228
168
202
187
112
172
112
194
195
123
150
178
112
150
229
150
170
181
121
228
171
150
243
152
170
172
212
202
112
121
194
150
192
211
208
112
172
221
112
150
193
121
175
208
112
172
240
150
205
228
150
112
194
159
168
112
121
150
147
208
205
175
115
170
199
177
123
176
172
177
121
147
173
276
181
128
181
112
137
181
181
121
137
227
112
121
150
205
172
194
208
203
172
128
184
150
121
112
208
147
187
250
112
167
185
235
124
208
219
112
121
252
150
237
172
192
175
165
208
174
123
208
112
112
158
233
237
121
150
190
150
176
231
123
150
172
150
236
150
208
112
167
194
150
193
181
143
172
121
123
172
194
150
137
175
159
112
175
121
112
156
176
160
186
226
168
171
220
208
203
123
150
181
208
167
115
194
228
170
168
112
123
112
168
255
112
112
171
193
150
174
150
237
172
208
170
237
243
172
112
208
226
164
123
210
112
135
150
187
247
112
172
124
170
195
208
112
170
150
165
112
172
186
150
121
223
112
112
173
150
212
150
167
150
170
131
223
167
158
277
170
121
150
121
121
158
123
186
237
158
112
121
123
150
176
176
121
137
193
168
227
150
150
215
150
112
121
196
152
176
233
171
150
184
192
121
181
170
150
171
212
208
136
193
137
230
121
208
193
208
192
167
180
187
121
123
159
208
172
164
123
193
167
150
135
186
226
150
115
194
150
171
170
187
242
135
210
198
171
112
150
194
203
150
201
171
170
203
200
147
242
208
112
192
121
193
164
112
165
158
189
150
250
112
136
137
228
189
237
172
208
178
137
112
177
112
112
168
112
121
170
202
177
214
260
174
150
208
128
182
165
147
167
194
193
112
144
170
181
135
143
167
170
194
228
130
112
165
150
230
121
181
135
231
150
167
208
150
212
121
207
165
121
115
112
189
150
112
194
207
214
195
205
239
199
210
124
150
172
135
121
220
167
170
192
201
208
204
112
136
242
135
239
257
231
124
121
245
237
121
115
144
170
240
253
235
150
186
226
171
124
150
181
121
211
121
253
150
223
159
130
112
165
233
241
226
168
171
203
157
150
112
164
172
181
186
238
150
150
170
137
172
128
227
137
165
150
208
121
158
112
212
186
136
218
112
208
135
175
186
187
170
208
165
121
121
150
168
235
220
137
220
150
172
150
121
150
150
170
192
221
121
115
112
239
121
121
112
121
218
123
156
176
150
168
177
121
237
121
112
123
158
150
246
170
228
210
121
150
112
150
231
150
184
112
121
219
150
112
156
195
150
255
150
208
147
167
136
240
150
201
171
121
213
135
192
150
181
165
150
112
165
167
230
177
228
123
170
203
121
171
147
143
128
195
121
152
172
194
123
176
210
175
170
172
112
137
159
171
208
146
186
208
112
112
164
150
130
123
172
112
170
174
208
170
264
167
172
212
112
170
157
147
112
219
195
161
121
201
161
195
208
112
208
195
202
136
208
203
170
208
172
112
170
150
225
150
219
150
112
186
208
153
174
175
112
203
241
208
171
187
112
170
112
250
176
172
193
171
137
187
161
123
135
156
158
135
115
287
171
196
121
150
150
247
150
202
121
177
208
225
167
164
186
189
137
236
215
229
170
201
207
210
150
194
112
217
137
172
167
123
164
208
212
121
112
238
201
238
112
150
170
208
194
177
208
229
112
187
213
186
176
162
170
208
223
112
250
112
213
208
176
170
201
193
170
112
194
135
112
255
258
263
208
112
121
156
181
112
150
171
112
263
170
137
176
210
208
147
167
225
136
203
178
150
218
254
112
237
208
123
131
112
123
186
231
112
168
112
112
214
186
135
150
186
150
112
150
171
112
135
170
160
172
174
193
172
150
263
231
161
205
160
176
177
170
136
208
172
137
243
207
187
170
219
208
250
160
121
121
123
112
181
212
150
228
121
112
170
156
233
212
225
167
233
212
208
194
237
302
112
243
144
194
167
135
228
150
181
203
159
115
202
123
164
238
150
170
112
172
194
112
193
121
174
247
121
150
212
150
208
128
227
150
121
112
272
203
176
193
210
174
176
121
172
150
156
147
167
196
121
158
171
193
112
121
258
229
164
150
170
208
208
205
158
250
210
124
136
150
212
202
150
121
171
115
121
185
172
150
167
170
115
150
167
170
228
293
194
112
240
176
121
123
123
212
257
112
226
112
150
171
245
123
170
164
121
112
168
121
170
147
150
167
265
282
124
147
123
130
150
203
112
112
172
135
124
186
112
229
170
174
196
229
167
254
112
124
124
112
121
156
121
150
159
147
152
171
121
192
115
121
150
209
167
112
194
156
218
181
221
208
201
176
176
237
194
208
255
181
112
150
176
121
193
115
112
159
150
112
137
211
231
237
172
152
167
228
147
186
137
123
150
211
123
123
121
220
121
150
208
168
121
186
239
170
184
194
112
167
175
121
124
218
259
123
165
219
135
121
229
172
167
243
239
150
112
229
158
130
164
139
137
172
196
135
267
167
144
150
202
176
255
176
135
150
172
124
187
178
150
112
156
188
234
121
121
152
150
112
165
226
123
112
167
234
124
150
232
226
281
194
121
228
171
194
112
193
146
171
168
167
150
173
171
136
167
208
172
123
172
182
216
141
150
115
124
193
261
172
112
197
250
150
130
203
124
216
179
121
121
246
165
150
218
187
173
135
112
167
226
192
208
115
135
121
254
167
150
150
193
112
170
121
194
299
182
115
146
250
193
228
274
170
228
243
150
135
238
164
121
175
123
147
201
255
121
150
209
194
121
174
201
212
172
164
172
186
231
112
112
172
194
112
172
150
209
229
150
250
195
112
123
150
177
250
135
165
243
174
217
208
195
135
202
121
121
150
194
150
174
167
205
245
170
228
150
217
208
196
229
112
150
225
123
150
255
176
203
176
175
112
172
186
173
167
137
115
150
259
201
123
179
128
171
271
201
209
150
275
194
203
150
193
211
210
230
150
131
170
172
181
205
193
194
195
167
150
150
207
136
121
214
112
112
212
164
150
112
181
276
150
150
150
155
193
170
172
150
212
239
123
172
208
181
210
150
123
193
252
112
167
237
132
165
183
171
174
212
150
205
167
150
197
150
150
202
112
123
112
150
135
219
112
159
112
115
241
115
214
170
202
193
205
243
158
150
167
193
256
112
121
186
123
220
150
112
165
130
206
112
137
128
150
150
167
235
150
167
196
150
135
187
243
181
212
174
176
170
205
186
197
186
240
143
123
112
112
181
172
150
146
121
179
136
250
172
121
135
135
177
150
150
167
212
112
112
181
184
208
181
176
136
172
150
229
150
150
112
112
255
121
189
158
137
167
167
150
112
112
147
165
257
208
172
150
165
170
208
191
150
172
150
156
175
182
160
228
150
171
196
177
201
187
171
193
237
165
203
172
196
147
228
160
186
202
226
143
112
150
168
112
203
170
228
123
121
208
160
176
196
192
172
121
192
205
193
162
167
112
121
228
182
218
121
150
115
186
172
150
249
222
159
136
181
175
135
223
218
150
244
165
234
150
146
147
121
123
150
160
121
147
210
172
221
257
218
201
123
121
112
150
150
172
181
121
150
171
128
186
255
170
170
171
225
123
238
121
135
172
182
170
208
208
112
121
167
150
165
220
201
267
171
170
176
157
170
172
121
196
121
250
112
177
123
167
159
175
177
112
143
210
187
112
112
244
207
150
170
243
124
135
209
172
206
210
112
240
150
195
171
255
177
150
172
112
172
227
152
130
208
112
173
172
213
158
217
217
297
172
170
231
165
135
121
112
215
210
212
165
214
208
146
179
171
150
203
208
211
260
150
121
150
178
146
146
150
200
130
150
150
228
231
112
177
161
241
170
240
279
150
135
208
150
112
112
150
203
121
208
172
137
123
184
123
150
226
194
168
229
112
165
150
190
150
179
212
121
112
181
212
115
167
208
121
121
150
137
150
112
177
192
150
121
218
167
130
136
194
112
150
218
149
172
203
150
115
167
150
202
121
208
278
150
185
208
131
150
123
150
170
239
197
171
215
174
172
228
208
150
150
226
186
208
150
115
208
195
225
207
137
208
234
171
150
167
208
178
208
212
172
167
150
150
194
172
182
124
214
123
112
112
278
210
170
171
240
137
112
195
196
260
208
250
210
208
208
184
210
179
167
112
202
112
187
208
172
171
187
150
231
228
167
112
150
203
215
203
123
147
150
172
123
207
171
172
123
210
193
186
147
170
229
112
194
170
217
175
205
160
150
136
231
172
203
236
164
165
165
172
130
228
150
255
121
147
121
234
210
156
165
170
203
150
112
167
186
167
150
124
112
240
112
208
181
137
186
123
150
128
143
165
130
263
121
150
121
208
124
227
171
187
136
208
112
194
225
150
150
150
112
209
220
167
203
218
137
164
150
135
112
238
112
236
172
112
150
192
223
219
150
249
112
121
220
171
152
171
147
192
214
121
194
177
289
172
208
150
196
170
237
128
152
182
150
243
152
210
158
239
121
217
187
112
150
121
171
112
172
258
177
165
172
121
193
112
172
208
202
112
177
112
226
136
112
150
130
210
199
160
152
179
165
115
247
128
123
172
186
164
235
112
121
150
172
112
130
238
181
236
150
159
186
150
259
302
112
112
194
150
121
121
216
172
231
123
112
172
185
147
218
176
201
207
203
193
121
165
112
174
177
245
170
152
124
158
181
170
115
193
181
150
112
205
121
172
112
225
201
255
156
159
176
112
189
170
121
193
170
172
225
152
177
175
228
237
150
208
208
208
194
171
215
194
172
167
174
150
150
208
124
112
170
150
250
205
172
160
159
208
237
171
301
168
205
239
231
165
112
208
236
150
223
121
152
210
112
112
121
150
172
207
150
250
194
150
170
176
219
121
187
202
121
189
170
115
150
203
121
212
201
152
232
202
193
172
232
208
167
172
112
203
147
147
112
171
231
168
237
198
121
112
231
172
158
199
203
112
112
150
208
196
150
202
220
187
181
150
170
174
243
136
135
112
239
150
143
183
112
164
202
229
203
174
231
150
121
243
121
160
208
121
189
244
208
115
166
150
210
170
165
195
150
170
181
121
121
203
194
225
209
176
170
150
160
172
157
170
226
205
146
150
112
150
202
194
123
194
212
208
171
165
234
150
115
185
291
243
115
193
123
112
237
135
112
195
185
150
240
165
184
128
181
211
194
223
228
171
203
250
136
240
115
123
242
121
187
176
194
121
137
167
150
212
170
112
158
112
150
203
150
228
174
164
115
121
135
150
234
210
121
123
150
159
204
176
193
144
174
194
253
179
205
172
218
123
143
150
150
167
194
112
208
219
150
176
212
208
192
208
176
177
208
208
203
170
192
208
181
121
112
208
192
208
193
242
208
115
232
123
136
112
240
112
171
167
167
150
123
143
112
121
233
276
206
137
177
121
203
228
176
171
159
112
159
115
193
186
227
112
209
136
215
150
234
150
150
187
121
121
202
150
150
263
147
130
171
245
258
220
112
252
174
246
128
228
202
147
136
229
269
150
167
136
112
123
194
112
229
144
112
164
194
205
150
112
167
193
150
137
193
124
150
220
164
128
208
171
112
176
172
171
208
172
171
150
112
112
210
112
244
170
121
150
279
170
201
170
218
143
212
121
208
214
167
187
217
255
186
170
121
121
112
135
201
164
176
202
165
121
208
225
159
228
112
192
123
205
167
123
159
112
171
208
226
123
301
136
194
226
175
176
228
223
160
112
150
254
260
176
121
152
208
208
112
224
170
160
193
207
194
208
170
150
115
242
123
237
197
131
112
150
112
171
167
172
112
150
208
164
173
181
208
166
229
226
112
112
210
210
176
228
167
123
112
123
121
167
212
121
112
225
112
194
226
157
190
112
213
135
249
186
112
121
156
210
165
150
186
121
250
176
124
172
171
121
202
121
208
165
150
135
202
171
170
112
194
184
136
150
152
172
195
243
135
121
195
170
112
112
172
112
176
170
121
160
172
150
168
150
228
181
172
196
147
121
112
212
172
150
214
172
150
175
112
191
226
186
152
150
238
229
171
250
150
238
147
170
158
198
112
123
150
123
112
112
112
175
195
174
150
208
172
131
237
210
172
176
112
167
203
240
150
150
205
209
202
212
214
207
194
170
150
263
112
112
172
123
123
245
150
172
123
212
150
167
194
215
228
190
170
241
112
172
197
171
150
209
176
112
172
150
112
225
121
160
229
225
172
112
208
176
150
186
112
176
186
172
235
186
171
130
200
121
186
243
167
219
194
147
227
112
226
217
208
210
226
212
150
229
235
123
187
121
168
156
202
173
150
219
167
240
163
228
143
123
165
172
150
150
270
150
170
137
167
123
121
185
174
112
167
147
213
150
174
187
150
228
157
135
150
265
170
147
212
171
289
231
112
121
161
208
171
150
170
225
159
112
172
176
270
165
112
237
165
212
130
123
171
218
172
243
202
150
172
237
193
172
193
219
237
161
112
182
201
150
170
128
150
194
168
176
193
180
201
170
172
121
172
189
208
143
172
176
121
195
112
146
195
172
228
170
121
112
195
170
203
130
208
237
165
177
167
150
172
186
131
228
302
219
172
212
112
170
163
237
171
136
158
208
112
112
172
228
121
112
124
115
226
172
115
121
250
231
121
121
137
208
216
243
137
172
150
158
143
160
297
171
242
112
112
186
112
123
264
181
165
228
165
171
167
121
170
121
187
275
208
179
121
236
121
242
172
172
150
202
248
150
121
186
150
182
194
112
121
167
167
147
121
208
214
272
212
121
174
121
226
195
112
124
277
208
234
210
167
121
171
150
214
171
239
208
199
208
112
121
172
160
225
121
112
150
167
172
163
158
172
186
227
237
112
112
112
150
226
170
215
181
167
217
193
176
242
123
195
220
194
153
193
260
121
112
172
170
225
165
182
123
121
168
121
203
181
112
210
121
150
167
250
150
121
237
150
202
172
150
135
193
172
152
158
179
290
150
235
124
172
187
224
167
156
165
170
150
217
192
172
176
150
207
121
112
228
172
112
208
167
150
130
150
277
112
121
170
176
172
250
208
177
152
174
208
205
243
132
179
187
171
230
228
112
147
150
208
255
208
150
194
123
135
121
193
194
167
112
231
176
187
195
176
112
172
208
232
167
159
171
228
203
150
224
112
136
193
144
121
177
121
170
150
218
165
139
202
171
115
177
203
170
172
167
112
137
197
202
202
172
112
174
208
170
183
172
158
181
170
208
228
121
194
165
165
121
221
165
137
171
150
164
121
168
172
233
112
160
171
174
128
121
226
112
219
159
150
202
167
121
167
179
243
205
204
150
136
194
123
186
121
167
174
172
201
150
263
150
150
159
181
150
176
174
228
158
136
150
165
186
231
112
150
198
174
112
208
193
150
150
135
216
261
187
167
208
170
176
172
147
215
150
112
205
194
190
161
135
297
201
208
208
181
115
121
150
167
208
115
187
167
158
165
184
150
156
208
170
231
112
150
250
112
239
238
210
178
179
136
150
201
208
121
217
178
152
160
121
175
208
165
112
128
160
171
240
171
150
112
165
170
150
150
193
225
165
147
202
193
159
123
150
217
150
121
121
150
241
112
112
202
150
167
203
203
112
137
176
123
195
202
121
136
212
136
174
209
186
112
170
219
167
150
165
210
115
121
177
112
172
194
170
212
176
172
170
186
150
121
186
150
178
172
202
194
165
112
123
244
172
171
180
150
172
203
112
121
137
170
230
218
147
121
121
170
170
136
112
150
136
150
209
123
196
208
158
172
198
150
150
256
150
121
112
195
172
170
208
270
150
121
137
150
171
193
150
167
124
172
181
223
150
195
231
219
182
112
170
156
231
181
167
174
256
208
219
203
174
192
121
121
256
181
150
150
189
172
176
121
172
189
167
194
237
170
160
171
112
135
239
137
171
170
239
172
147
195
192
176
165
176
189
121
202
128
186
172
112
171
213
195
171
147
218
112
242
203
167
150
115
150
150
123
165
172
167
121
239
181
136
150
112
150
237
150
170
164
121
112
195
150
112
150
146
176
179
176
155
147
239
168
147
112
171
167
130
214
150
228
195
239
208
174
172
167
231
112
259
150
150
187
165
342
121
207
240
170
244
255
121
150
172
213
203
121
205
194
121
112
123
208
218
205
143
150
233
195
121
112
121
137
150
159
208
147
192
212
181
207
112
159
112
112
112
172
170
167
165
121
206
171
193
150
175
208
272
217
278
172
112
170
200
123
199
150
136
178
237
121
203
203
250
255
165
193
197
165
208
150
201
189
212
187
123
225
167
186
168
231
171
172
171
150
160
139
222
208
112
171
156
193
121
208
171
175
229
195
112
150
157
115
194
121
208
200
172
234
208
112
196
220
203
190
135
255
170
164
147
220
186
136
228
243
150
167
150
250
167
135
150
136
204
123
124
150
259
228
150
150
231
199
172
190
186
147
150
121
228
112
177
208
194
171
176
239
167
189
194
150
150
208
115
195
177
121
181
278
112
112
121
194
208
121
210
112
156
167
210
121
176
194
208
167
208
260
121
147
208
172
121
172
208
200
121
123
112
239
112
121
186
218
172
253
171
193
115
112
202
123
121
137
208
170
171
150
208
196
195
208
229
143
172
212
167
112
167
208
147
164
112
166
112
181
195
219
210
194
175
112
192
168
244
155
208
112
215
150
174
208
231
171
150
150
175
186
150
112
167
150
172
121
112
172
186
167
208
237
276
208
212
112
150
112
130
123
194
210
174
181
193
115
220
150
167
187
167
217
112
250
137
193
235
167
121
161
121
186
172
220
112
150
194
219
239
150
213
223
194
172
160
218
150
135
112
123
186
165
167
233
172
164
150
137
121
112
123
231
112
208
194
170
208
112
255
186
170
174
112
124
150
189
225
176
167
150
186
206
137
150
112
150
121
203
194
181
156
172
254
225
170
150
136
208
150
167
176
156
150
150
172
160
152
208
121
176
176
165
121
173
123
112
171
201
150
255
150
171
175
219
112
143
141
121
208
150
150
186
128
135
187
167
177
158
189
218
181
150
112
167
250
208
121
172
202
184
203
112
237
184
190
123
210
170
150
186
112
233
210
121
156
220
115
135
152
251
257
253
156
121
136
112
150
121
165
237
124
150
121
195
150
134
179
170
150
112
172
265
171
123
150
150
243
242
196
150
203
200
167
263
150
121
208
194
170
170
207
123
112
171
214
184
112
158
212
210
254
150
121
112
121
160
226
174
194
123
192
112
216
112
121
165
193
112
253
137
150
121
186
195
112
208
172
150
206
112
168
206
167
150
121
275
208
123
121
150
193
202
210
195
177
121
238
171
275
186
217
112
137
195
164
237
213
181
179
158
217
112
186
219
185
112
123
219
115
272
146
150
170
214
137
176
214
135
236
150
121
124
165
150
239
150
208
194
121
164
231
208
150
121
150
196
212
232
156
176
170
238
247
136
207
186
123
156
112
136
259
186
150
212
170
207
220
172
170
136
209
172
220
216
239
159
225
150
194
190
115
167
121
271
121
150
233
150
150
167
165
164
203
112
137
112
164
150
179
243
208
172
174
167
261
167
170
176
124
208
181
157
208
150
159
208
196
207
121
172
263
226
112
171
184
172
135
186
172
210
230
121
240
159
172
160
112
193
209
165
128
172
228
210
170
158
150
165
137
176
150
112
208
123
135
228
176
208
112
171
135
150
112
176
187
121
256
165
239
112
194
201
147
172
208
137
172
131
115
112
237
194
143
194
186
112
150
216
250
160
150
172
150
228
239
164
189
240
193
167
176
183
143
177
150
159
150
170
202
121
112
220
243
112
150
112
171
167
236
193
193
204
194
112
214
267
178
190
165
150
121
112
186
193
210
112
208
167
208
186
112
167
158
172
173
171
227
150
135
227
152
170
172
297
215
123
206
172
121
208
124
208
208
189
150
121
194
241
172
233
150
172
190
147
203
112
172
170
121
121
150
238
170
195
112
174
233
112
177
208
121
189
172
231
112
158
123
168
150
167
203
202
172
150
121
156
150
150
121
112
172
157
115
112
186
150
121
150
250
189
150
112
236
193
121
112
193
170
121
124
208
121
121
115
150
112
181
112
209
136
121
171
187
202
147
157
150
137
161
158
171
171
208
112
150
158
208
207
232
255
112
198
190
171
146
121
165
150
208
228
263
143
181
123
164
173
194
135
181
176
135
210
245
186
112
136
121
193
150
231
158
174
167
171
170
172
150
187
136
150
112
172
112
165
165
208
212
171
150
172
224
228
210
150
173
198
170
115
112
121
197
167
165
130
121
194
159
232
112
150
239
150
198
220
112
136
203
115
165
150
228
208
170
171
201
172
146
215
179
208
121
112
179
167
194
150
177
136
153
150
121
215
208
208
121
207
121
194
130
121
233
150
172
274
228
150
164
112
150
181
135
170
250
208
150
247
226
191
121
121
172
112
121
135
165
167
170
172
150
208
202
137
237
172
150
115
171
121
121
257
121
208
192
263
186
186
150
172
194
195
171
156
112
193
173
205
135
150
193
205
193
193
150
121
231
156
208
201
171
172
208
192
255
193
172
227
164
112
218
178
130
187
178
115
112
150
137
150
174
202
156
181
171
220
208
181
112
171
150
212
159
150
195
229
112
150
112
205
172
136
226
143
150
176
176
150
228
150
202
150
228
171
161
176
234
150
181
208
150
239
195
189
174
112
218
150
267
115
210
233
136
197
210
112
115
167
227
171
178
150
123
221
176
115
194
231
112
177
236
186
150
147
174
172
121
167
158
112
171
182
135
172
250
187
202
130
176
150
156
174
170
184
150
171
228
150
171
202
172
121
202
112
172
135
218
233
121
240
219
228
124
164
121
195
121
181
165
144
167
112
147
193
172
136
165
150
150
112
121
255
150
150
257
112
208
150
112
202
156
171
150
282
172
247
170
195
121
150
150
172
189
150
121
204
197
150
121
208
112
150
121
208
201
147
170
179
170
228
225
229
208
171
206
121
112
186
228
170
171
115
181
112
196
150
112
172
220
121
250
112
112
175
208
147
223
241
186
150
162
160
112
226
202
150
135
194
194
278
193
171
150
150
165
130
217
194
137
195
136
112
167
173
279
165
198
124
112
150
121
121
170
189
174
156
121
171
112
130
121
226
112
217
232
160
208
171
216
172
172
208
143
202
171
159
192
250
172
112
121
203
225
135
172
150
112
204
237
130
147
201
239
121
123
171
150
196
123
263
150
186
158
229
172
237
219
112
121
112
177
172
171
172
150
208
172
112
121
150
175
167
136
171
240
203
208
112
212
228
112
121
172
112
215
210
194
170
121
152
236
150
135
121
136
130
231
135
137
244
208
170
164
187
208
171
176
181
172
176
208
144
160
136
228
181
227
194
150
121
112
172
158
112
153
167
172
219
232
195
176
179
215
211
192
234
257
186
165
171
208
177
193
182
112
170
167
150
112
112
225
349
137
121
228
167
195
167
208
236
201
143
195
121
239
112
208
233
167
187
194
167
172
165
177
186
212
193
112
121
115
184
157
134
267
150
150
136
176
123
230
172
171
195
170
200
208
171
203
147
177
208
208
152
150
150
167
194
186
150
150
225
216
121
150
172
171
136
121
196
121
189
172
194
208
192
170
150
171
192
231
158
250
217
112
112
176
150
195
211
177
150
176
150
124
171
123
220
208
112
192
135
150
150
228
150
167
121
121
112
156
195
130
170
176
121
112
179
112
228
239
193
220
112
137
217
128
112
172
112
216
150
228
298
164
167
121
121
220
194
193
233
164
150
168
123
123
225
260
147
112
123
202
208
121
172
130
195
201
174
150
187
170
186
193
156
220
121
228
237
167
195
164
255
137
229
121
229
194
170
150
225
121
112
112
131
264
167
150
172
170
137
147
112
137
208
170
233
176
205
241
172
165
172
121
229
208
172
194
121
161
156
167
167
168
172
193
167
187
137
150
205
211
202
201
243
137
231
208
150
164
165
177
171
195
189
217
177
185
112
150
112
206
167
137
187
236
208
225
181
137
239
167
208
191
208
157
186
178
194
250
202
233
208
150
205
147
170
201
171
201
112
130
112
172
152
193
150
112
241
225
123
237
150
171
112
112
220
274
147
146
150
112
112
130
249
124
156
181
123
190
112
172
215
186
158
210
193
170
121
121
220
175
220
208
232
112
150
124
186
219
115
187
181
171
121
165
171
164
170
237
226
164
279
158
181
176
186
112
176
160
186
263
112
123
147
128
121
167
115
263
218
150
172
150
150
255
297
192
150
181
123
121
171
150
121
205
218
241
121
150
123
124
121
123
171
175
167
121
208
229
165
192
202
150
167
207
170
172
123
143
165
123
137
112
121
115
150
136
235
150
150
150
192
121
217
230
112
170
176
171
254
135
112
214
225
208
167
194
150
171
167
112
202
167
171
112
150
160
112
150
208
112
255
187
193
186
208
187
186
243
121
193
165
170
248
159
147
172
150
172
193
192
112
232
225
210
185
219
172
232
283
128
150
172
181
244
206
150
112
208
123
150
134
205
121
121
121
137
194
150
121
208
223
121
174
196
165
170
112
186
136
150
181
112
241
167
195
115
181
150
216
202
159
217
135
167
225
139
150
205
171
187
205
179
121
121
208
167
112
208
208
112
208
212
208
121
121
175
171
175
237
121
171
184
160
176
112
237
112
176
150
112
172
135
164
171
195
123
167
159
223
193
128
223
183
165
121
174
172
208
152
165
170
212
208
232
171
121
168
121
150
225
135
167
275
164
202
217
208
121
181
208
156
112
112
167
121
237
178
202
170
292
176
199
121
210
112
128
168
150
150
175
136
150
214
204
187
150
168
172
172
112
193
210
171
198
208
255
165
172
194
158
170
112
112
176
208
203
123
112
193
121
236
194
172
178
187
150
208
165
263
170
226
220
194
195
208
203
171
195
172
172
172
220
121
190
150
150
232
150
186
121
174
167
167
190
217
210
193
210
112
233
167
150
181
212
206
167
170
190
160
112
167
185
197
187
172
121
164
115
115
137
121
164
215
237
212
213
124
278
208
214
264
164
243
167
112
121
176
150
121
171
209
244
165
263
121
121
193
193
212
112
121
115
150
175
172
121
167
208
167
189
136
150
167
121
121
231
176
170
278
112
202
203
202
208
112
212
194
210
207
168
135
192
192
121
150
150
181
150
242
121
253
172
179
274
237
202
158
167
147
177
157
171
159
150
167
130
170
256
172
250
210
208
239
172
240
172
217
208
152
147
193
150
172
170
150
160
172
137
121
208
226
123
210
121
212
202
150
201
239
164
203
181
194
150
112
171
178
112
172
240
150
121
237
121
165
208
302
172
137
208
218
121
168
165
173
147
178
205
187
202
112
208
176
121
255
112
112
198
187
212
176
231
150
175
150
203
186
123
181
171
150
165
193
135
171
112
167
150
212
181
167
128
177
207
212
121
184
150
112
175
172
176
231
175
194
150
181
121
115
170
156
170
170
207
112
223
172
147
193
242
112
165
168
196
121
150
299
112
112
179
158
210
121
175
121
172
212
123
208
165
195
170
150
176
150
255
121
179
157
121
262
112
193
112
208
121
112
130
172
112
202
145
170
171
115
150
121
112
206
121
194
237
150
203
112
168
193
160
208
150
123
239
276
115
172
124
189
186
115
189
172
205
112
203
121
121
147
167
135
185
177
135
206
239
208
112
247
115
219
170
164
176
167
187
168
135
192
191
112
150
121
182
263
208
174
207
171
136
121
202
174
115
150
167
212
172
237
112
150
208
150
121
121
167
172
121
172
172
210
236
235
182
137
121
150
121
184
160
208
121
190
172
167
112
165
158
147
170
278
167
208
121
243
200
112
228
121
112
193
235
216
152
184
115
237
156
170
137
168
237
170
124
181
147
143
178
181
112
112
218
112
207
176
112
193
208
177
176
228
165
150
150
112
112
135
152
255
202
172
150
123
152
165
150
152
228
150
193
121
121
178
150
227
239
112
112
136
228
123
150
130
137
207
121
218
150
160
225
112
194
150
150
186
167
150
112
170
170
135
159
121
192
150
241
241
171
176
115
187
167
150
136
112
150
171
172
209
152
246
152
276
137
168
150
150
172
176
123
121
167
179
164
121
165
167
203
170
208
221
172
210
150
121
172
208
186
170
112
123
192
215
176
216
130
164
150
112
150
150
150
112
196
215
208
171
193
181
130
208
147
176
238
121
167
167
210
115
150
171
208
123
187
208
208
201
112
192
170
150
208
150
172
150
159
177
220
135
172
237
123
152
223
218
170
181
212
144
171
167
112
230
193
172
124
172
195
194
202
121
150
272
170
212
146
112
167
121
161
150
205
229
121
115
150
135
163
115
150
171
210
160
215
150
112
112
170
137
156
150
115
167
173
121
181
209
208
112
112
159
112
195
276
192
170
130
135
128
216
302
159
172
121
172
201
112
195
202
208
179
150
186
121
150
167
170
237
217
179
181
172
218
150
195
238
176
176
172
210
263
150
112
172
251
181
274
181
143
123
128
215
208
150
112
193
176
123
143
172
170
160
236
112
112
193
194
243
121
194
208
176
121
210
112
200
112
158
210
167
205
196
136
152
121
152
219
208
135
208
121
146
185
123
176
121
195
186
121
179
278
170
176
164
208
150
247
194
130
123
123
176
299
167
172
156
150
255
211
167
112
208
112
124
112
175
165
186
167
220
121
130
231
194
112
234
213
196
121
212
203
182
228
121
210
121
124
137
208
150
226
172
121
232
130
143
171
150
157
121
172
115
202
186
131
121
177
123
112
115
209
147
274
212
150
112
208
231
172
150
168
150
115
193
281
112
150
250
208
112
121
229
225
121
237
259
194
150
160
225
152
193
170
233
203
171
263
171
300
239
162
236
156
121
137
152
228
167
228
159
195
143
121
123
208
112
297
298
176
194
176
121
167
159
181
208
174
187
294
232
123
167
237
150
150
208
208
137
232
179
190
209
121
182
135
167
176
231
194
190
190
170
218
167
219
112
203
172
150
200
150
228
226
159
186
206
170
121
282
165
206
144
160
255
172
222
170
212
236
167
121
174
135
181
232
150
207
228
112
112
186
121
228
171
167
189
112
121
220
263
187
136
170
172
152
121
172
150
181
121
243
192
172
188
208
150
176
177
150
237
187
171
209
193
181
185
181
208
167
167
181
112
262
150
167
186
193
208
134
243
194
208
218
207
150
167
226
187
202
174
115
172
115
167
121
212
186
171
174
189
124
136
195
208
232
195
150
123
135
228
170
203
186
228
150
214
121
172
208
208
208
121
232
167
121
170
187
112
176
200
159
123
172
150
240
167
194
143
112
115
176
115
210
167
209
150
136
226
220
170
175
150
203
137
167
202
167
237
112
225
172
181
171
231
195
201
210
201
228
115
232
156
168
170
302
159
201
150
167
208
194
228
194
211
150
199
123
170
123
112
121
152
225
147
203
150
160
212
195
150
170
112
186
167
121
168
150
190
271
121
172
264
130
137
165
223
115
177
208
171
150
121
167
195
202
170
195
228
176
150
112
161
204
203
208
124
278
176
228
176
150
170
170
203
121
150
150
231
190
121
165
172
174
178
201
156
172
167
150
150
159
193
194
170
170
112
170
207
172
150
172
207
112
186
164
226
165
137
194
123
150
205
186
112
208
192
172
168
150
176
167
150
112
177
240
168
115
168
150
257
208
208
124
243
136
247
186
186
228
164
156
172
112
228
212
177
121
112
112
250
165
121
121
174
121
112
208
150
150
186
123
137
186
167
181
214
112
174
112
174
208
112
152
252
172
121
242
212
158
121
208
219
187
203
257
150
208
174
194
228
172
150
208
121
167
121
112
170
112
150
112
167
276
176
171
171
150
121
152
167
124
150
194
192
208
112
177
172
175
169
112
150
187
181
145
231
192
212
250
112
121
172
165
194
112
202
135
150
165
165
171
172
208
186
112
123
194
112
192
167
150
123
192
210
123
181
302
176
112
302
228
172
150
150
176
214
181
159
176
167
208
121
193
182
194
150
208
134
181
181
233
112
189
123
150
196
231
167
135
123
187
171
135
171
194
165
121
253
150
181
150
150
200
150
150
189
149
150
163
187
143
121
112
170
161
156
212
112
121
121
208
175
112
205
194
112
179
171
193
187
172
213
176
226
112
150
159
164
150
231
171
278
241
302
150
194
187
115
201
165
158
208
208
130
150
112
150
181
231
135
121
208
171
156
121
147
201
188
172
112
217
187
161
121
167
128
150
165
207
160
172
170
135
250
160
233
208
176
170
160
156
255
112
232
195
195
115
205
121
177
121
147
211
182
192
228
172
137
171
181
243
174
215
112
167
187
202
112
150
112
136
249
201
176
112
203
201
226
121
150
170
219
187
170
187
176
112
182
124
201
112
239
150
150
178
206
150
112
228
189
230
121
176
112
150
208
124
121
201
143
112
121
165
181
159
112
184
208
219
172
171
215
150
150
150
136
181
194
112
150
210
198
186
195
174
121
150
136
256
205
212
181
176
159
150
112
176
112
187
150
150
172
172
150
193
171
208
112
167
177
121
150
115
150
164
258
220
150
112
150
115
208
112
112
112
150
192
150
207
220
208
128
187
210
121
217
235
181
112
176
121
170
203
194
202
172
121
250
208
194
167
150
121
192
121
167
187
217
112
195
172
112
112
219
186
150
177
156
168
167
225
135
168
208
123
207
150
172
172
181
184
208
194
206
170
150
208
130
172
193
202
178
206
212
212
208
239
170
234
290
112
167
170
201
123
159
150
187
170
171
212
239
159
181
209
194
167
203
150
259
175
170
172
130
150
121
123
156
121
150
158
208
150
208
150
257
214
121
208
194
187
139
176
210
172
239
170
167
112
150
172
164
175
167
235
181
143
121
194
171
150
223
147
274
172
137
187
150
124
135
112
170
121
150
112
186
177
220
212
172
170
172
147
208
177
164
231
208
171
150
121
203
170
238
150
181
170
176
201
181
137
208
124
112
170
262
130
112
171
121
209
167
150
174
250
165
201
123
112
181
150
112
187
150
172
112
121
187
123
210
150
112
123
172
187
123
123
239
195
205
194
112
263
121
195
130
121
231
176
152
210
199
112
150
121
194
232
147
172
201
121
194
123
186
260
186
112
159
177
150
181
152
171
115
167
232
128
272
157
172
208
121
171
176
231
147
147
150
171
150
167
112
170
170
187
172
112
210
243
175
199
144
123
167
215
176
239
150
135
150
150
181
143
112
112
174
150
208
167
187
112
213
150
200
193
172
210
135
112
201
208
209
177
121
216
158
263
278
181
193
112
181
193
210
166
150
158
136
193
150
176
152
112
171
121
150
191
203
186
115
137
135
150
194
172
186
208
181
208
220
212
193
136
181
255
187
227
208
121
238
167
170
121
150
161
112
208
121
147
208
217
225
228
150
236
252
189
121
150
207
208
135
208
123
143
165
172
181
179
176
172
147
194
150
194
175
168
121
250
204
152
175
167
207
121
208
232
167
187
208
202
150
176
121
193
150
237
207
150
112
160
215
112
112
167
208
176
172
115
226
192
217
135
221
172
208
181
121
123
112
212
150
217
147
115
174
202
176
205
172
112
170
172
121
218
112
175
112
121
150
150
121
150
150
275
195
218
205
181
195
174
150
219
235
121
231
176
124
230
136
112
150
177
121
112
176
168
222
237
121
167
172
171
172
150
152
144
194
152
112
165
195
181
187
112
193
217
202
172
208
192
136
150
172
164
112
112
170
172
112
186
174
171
181
190
167
171
139
112
229
170
167
172
174
168
158
150
172
124
150
193
250
217
150
137
170
150
172
112
136
253
186
259
231
208
150
218
174
170
170
164
167
178
164
205
232
158
170
121
150
121
186
212
182
121
121
203
202
181
150
112
269
252
208
288
135
231
208
170
112
237
212
121
208
175
150
181
136
171
189
150
216
208
267
215
165
276
137
150
150
231
193
194
174
121
147
121
165
167
203
201
228
208
167
121
167
150
174
228
123
176
232
179
181
115
150
112
195
228
171
112
193
150
208
112
121
187
167
112
194
128
124
121
112
147
143
219
172
246
124
167
167
207
181
112
165
121
203
208
137
150
150
179
121
135
195
121
194
214
208
219
150
160
160
137
206
175
143
170
220
159
194
179
150
181
189
150
158
167
228
194
211
168
150
211
194
112
150
121
123
163
172
112
194
112
186
121
208
150
240
167
240
112
193
181
171
130
203
167
195
112
176
150
144
115
168
121
150
206
124
150
158
193
171
176
150
297
228
167
208
208
276
150
112
233
115
195
170
150
152
152
167
121
121
112
123
194
181
175
176
112
211
121
150
171
195
115
121
208
210
112
150
112
165
124
171
112
193
228
236
123
115
124
158
228
207
115
205
135
171
241
150
186
208
150
150
165
150
156
205
240
137
208
278
121
156
175
150
168
208
208
194
159
208
192
165
210
124
243
199
172
193
231
115
201
121
201
123
136
212
112
208
150
209
208
150
121
193
178
170
202
167
179
150
150
150
147
172
124
121
164
167
112
115
124
208
222
150
121
123
143
121
150
186
150
243
115
150
121
128
150
172
172
174
199
237
193
167
208
124
179
209
195
208
150
172
213
172
150
177
136
208
182
172
115
208
172
144
159
209
170
121
202
121
170
159
239
165
135
112
123
137
123
170
235
228
115
112
181
231
171
231
181
137
219
176
184
156
121
201
187
150
171
194
167
165
215
194
192
112
186
194
124
121
121
223
121
150
164
181
193
164
239
235
150
178
167
181
236
236
121
208
172
170
216
172
150
202
150
172
147
187
150
160
202
165
112
181
170
187
188
121
144
187
164
176
165
177
220
170
165
112
172
208
168
208
210
210
167
164
130
184
171
256
164
208
208
209
150
172
220
174
162
135
121
203
210
240
237
112
171
186
150
112
150
121
171
223
173
165
150
121
156
220
150
150
208
202
123
342
152
178
215
172
144
160
121
178
171
202
112
121
194
137
139
219
187
121
207
218
220
121
112
158
128
144
194
217
186
171
170
167
159
216
181
136
186
112
176
220
181
124
152
176
121
260
153
207
208
198
208
130
121
171
172
227
165
217
112
201
165
112
135
172
143
121
194
167
158
272
164
172
150
201
121
123
150
170
176
237
176
112
121
164
172
172
181
228
194
177
150
186
230
228
257
150
210
172
150
112
263
150
176
121
202
112
187
187
189
215
245
242
167
136
179
219
177
236
150
171
237
172
136
264
150
189
186
164
167
201
150
177
121
237
177
174
205
150
208
115
165
226
172
112
165
201
184
150
147
218
121
123
165
270
150
121
210
112
175
167
193
150
281
124
167
247
121
130
199
176
150
195
239
201
121
228
167
172
195
190
167
237
112
187
171
112
208
121
228
150
112
170
171
172
121
112
121
232
112
208
194
263
150
135
207
172
208
181
209
150
121
203
176
196
150
167
238
228
160
210
121
112
121
124
121
202
112
219
115
170
137
210
171
170
274
159
195
181
121
203
165
112
171
257
147
158
121
239
121
175
150
208
171
121
121
215
112
230
170
167
170
231
228
231
174
171
208
213
196
187
217
121
259
212
217
150
123
171
112
121
112
121
212
208
112
112
112
152
172
250
112
165
158
150
209
137
112
170
158
172
237
136
150
124
128
208
184
177
208
208
256
192
146
227
175
211
158
112
200
194
135
205
172
189
121
130
187
158
172
150
239
172
206
170
135
115
112
194
170
172
112
121
123
158
208
248
179
124
192
228
123
121
205
160
112
147
201
150
176
172
171
172
172
172
150
231
184
170
250
236
165
150
112
194
177
238
192
184
168
147
150
175
172
237
191
112
203
128
181
228
207
150
177
172
220
150
228
208
177
167
150
136
210
150
174
227
179
170
158
121
150
205
112
170
156
158
171
147
112
199
112
205
192
150
193
189
203
237
121
215
170
164
156
217
172
112
194
121
187
121
170
194
172
219
165
212
194
171
195
167
171
112
130
205
240
121
204
272
245
251
208
157
228
147
208
193
156
112
112
176
171
137
235
237
181
167
170
182
219
178
187
170
150
171
121
217
217
150
160
121
291
171
186
121
158
235
212
170
206
172
202
170
255
181
218
218
172
137
201
112
193
137
232
135
194
220
217
137
167
165
112
208
181
172
198
150
244
201
150
121
123
150
121
165
208
208
137
150
201
187
171
130
150
171
231
150
121
231
171
121
112
121
150
150
150
167
121
136
218
239
220
160
171
214
121
165
194
228
121
157
186
150
238
228
202
128
171
214
165
208
123
220
121
150
249
124
172
112
172
210
165
121
302
207
158
136
150
150
167
208
150
152
181
228
112
160
147
121
150
216
175
205
208
235
233
208
124
121
112
260
150
112
177
194
158
121
121
177
121
228
121
263
124
150
136
187
167
168
208
187
231
244
208
123
181
176
171
167
208
121
124
172
121
177
212
172
159
121
208
112
167
216
112
112
175
218
156
150
220
136
186
150
150
214
191
263
167
218
112
112
242
171
112
208
182
144
167
187
182
150
194
179
130
167
167
112
193
203
208
112
172
112
240
123
218
205
208
167
176
209
150
172
121
137
171
121
170
172
212
232
278
150
150
165
150
123
167
165
121
200
194
231
165
170
228
150
174
217
128
176
229
192
112
121
112
150
206
210
150
136
112
167
193
121
156
135
112
112
174
121
163
219
143
212
150
208
220
176
186
203
208
172
208
176
164
112
220
165
150
167
112
237
167
236
150
123
208
186
121
150
182
112
121
152
209
172
167
192
193
243
167
276
171
207
226
194
150
168
172
157
112
177
167
121
201
185
222
208
218
202
220
150
150
121
137
170
160
121
150
168
121
115
124
112
136
167
208
208
112
184
189
208
150
176
115
234
193
181
150
208
225
202
165
165
172
208
124
121
161
208
210
285
121
170
171
208
215
175
112
207
208
112
216
171
178
184
141
212
156
112
135
112
208
112
112
150
112
112
263
181
204
121
136
167
121
156
121
112
223
167
187
165
172
192
136
208
255
112
147
124
123
159
217
112
229
167
187
194
150
218
170
150
150
175
172
202
112
194
176
189
194
112
202
233
194
228
137
179
135
165
177
121
227
226
156
112
228
167
150
216
121
131
121
156
150
167
305
186
205
246
212
159
167
112
112
123
230
136
219
150
150
211
112
209
123
139
112
152
121
167
156
112
176
188
165
232
203
186
194
150
239
212
237
172
150
276
184
212
214
195
123
164
121
202
231
217
172
121
123
167
150
164
131
150
160
177
167
176
136
208
209
167
150
112
121
214
167
123
217
208
208
215
112
150
172
112
150
150
156
203
194
190
177
208
115
167
172
152
210
175
121
196
193
237
112
168
143
250
208
171
112
195
172
137
237
231
121
193
297
121
123
208
256
150
208
186
150
135
184
208
177
172
175
215
167
170
208
160
112
215
112
208
135
135
150
165
136
166
237
170
181
171
168
202
150
121
165
194
228
170
232
172
176
147
186
128
202
165
134
128
239
112
150
167
172
112
174
165
201
121
123
237
121
186
150
171
112
152
165
228
250
150
194
165
172
172
115
150
150
208
215
112
112
238
121
160
217
135
223
195
147
194
150
112
208
121
231
158
228
121
150
121
115
150
150
112
208
167
121
196
150
198
147
167
112
150
121
112
176
150
161
193
174
176
150
165
167
115
150
121
167
171
210
167
181
160
150
170
167
161
172
194
208
240
238
112
208
176
172
177
112
176
172
135
208
112
121
165
128
112
189
228
158
193
237
112
152
123
136
186
150
136
139
174
150
171
236
150
123
137
150
228
208
150
208
121
115
167
224
121
269
152
194
150
220
204
210
121
172
220
239
207
186
186
121
217
150
150
112
177
115
237
244
231
300
112
112
219
240
233
219
167
123
150
232
172
230
208
115
250
214
112
121
242
194
159
208
150
236
263
170
136
194
176
282
231
222
112
201
112
137
171
171
198
202
121
158
121
112
205
170
137
206
123
115
123
143
208
167
167
181
170
150
167
171
147
208
121
208
172
136
210
192
135
225
112
150
246
112
152
147
203
218
150
208
156
143
150
171
112
121
123
112
302
112
238
112
160
150
158
123
150
121
172
237
150
255
170
189
240
123
208
217
176
170
147
147
159
193
137
150
234
193
172
167
263
170
121
213
156
222
237
176
208
150
186
228
167
202
194
121
192
186
121
170
299
164
136
121
218
150
121
174
192
177
210
210
112
122
167
112
112
210
228
263
237
208
164
121
147
226
203
179
167
147
187
150
123
150
159
170
199
165
137
170
156
121
150
205
112
112
121
112
208
160
135
170
227
112
115
172
164
147
194
121
228
208
112
172
147
150
136
192
195
170
175
121
170
124
159
112
181
171
115
174
231
172
147
172
208
158
150
192
112
226
167
178
123
215
137
208
226
202
150
167
172
112
135
112
234
165
216
164
112
192
147
297
219
179
112
167
193
150
150
267
160
167
187
170
208
150
150
182
193
121
150
237
130
229
172
174
208
170
150
167
156
112
170
112
121
112
170
150
123
115
170
112
210
172
208
182
170
112
206
121
137
112
136
147
186
174
250
181
237
150
170
177
150
176
164
121
228
124
167
157
172
167
172
168
146
150
179
156
181
181
112
150
137
150
208
124
150
233
156
198
160
228
184
208
121
121
181
137
231
150
172
124
121
197
167
208
203
152
171
146
193
150
219
150
237
255
195
147
212
228
225
136
147
150
208
207
175
156
260
165
208
164
230
152
208
112
164
220
199
170
128
167
160
208
135
242
150
208
170
171
192
112
193
177
201
170
115
172
150
174
171
150
218
165
147
193
172
237
181
252
167
231
165
205
237
203
147
150
230
130
150
201
208
202
228
217
147
165
139
176
170
228
112
195
123
239
223
187
150
172
115
112
172
112
194
149
212
150
150
121
193
196
193
121
172
186
208
212
121
128
225
135
215
150
186
181
229
210
135
112
274
171
228
150
208
217
208
135
176
168
136
223
156
182
150
123
172
136
239
124
197
150
255
194
176
197
167
121
112
194
156
136
112
134
186
159
123
187
112
208
172
226
150
121
112
150
199
160
135
179
186
158
181
237
175
170
238
156
170
176
253
181
112
208
112
210
153
192
173
167
170
208
210
121
172
135
194
136
157
123
220
187
121
208
150
205
123
288
123
112
137
186
193
208
147
218
136
144
176
204
160
263
164
201
232
209
188
112
158
172
171
121
195
121
208
131
112
208
136
195
171
150
162
170
157
165
112
128
135
165
217
159
137
192
150
176
178
206
171
278
226
176
216
232
136
170
287
167
112
136
172
112
164
211
236
135
164
150
167
135
112
243
167
150
165
136
179
202
135
112
237
172
112
171
164
167
237
201
181
170
172
159
220
124
172
228
167
194
150
121
226
149
213
150
170
112
170
165
112
112
150
170
167
208
229
112
167
150
164
167
236
194
208
174
212
208
130
112
201
144
193
185
167
150
171
112
194
121
150
135
147
196
159
172
186
150
150
233
170
137
136
243
196
159
202
167
150
225
194
150
213
187
158
121
171
208
123
171
184
171
206
208
167
150
170
121
172
112
164
193
121
167
172
250
208
173
121
208
208
199
208
208
121
178
171
217
231
210
174
171
121
152
167
112
121
137
171
228
121
121
172
150
193
195
205
202
174
226
172
230
201
211
182
187
176
202
228
150
167
157
172
202
172
165
175
208
150
112
112
193
184
223
112
112
150
112
208
164
160
128
208
112
237
167
223
150
123
172
121
172
196
112
226
150
112
112
150
236
143
159
225
242
123
187
121
150
150
150
206
179
181
156
121
150
159
121
112
195
201
210
150
219
203
176
150
150
171
237
189
158
228
174
217
135
176
174
207
168
172
112
302
212
150
272
201
205
219
172
112
150
181
167
194
208
150
187
166
147
171
221
170
192
175
243
135
244
255
156
228
210
150
112
150
233
176
167
147
156
150
176
263
170
276
187
184
167
172
229
112
115
150
112
167
121
150
150
150
139
121
199
121
112
208
171
121
206
208
157
175
170
152
150
208
164
167
218
112
210
165
209
208
208
175
163
176
136
208
150
150
208
192
135
121
276
302
202
226
121
112
212
176
216
186
144
244
115
112
240
176
208
123
121
189
150
112
112
147
171
121
208
215
159
170
192
112
112
187
194
228
220
170
121
150
112
150
150
206
112
135
214
181
112
121
172
172
217
150
115
194
201
177
193
231
159
112
153
208
147
221
121
198
135
176
112
231
167
135
112
171
170
165
229
195
123
135
156
208
150
156
272
231
163
225
152
240
170
156
194
171
192
123
171
202
150
128
170
160
172
139
193
135
123
231
172
240
150
112
167
112
112
171
208
150
172
195
112
171
112
170
150
208
136
171
164
255
175
121
263
150
143
171
153
228
257
222
170
170
150
172
176
170
251
170
150
250
264
150
137
112
172
214
165
124
173
139
168
202
215
208
194
198
171
150
150
160
225
205
164
186
220
176
172
204
165
112
239
195
181
167
212
229
195
218
168
124
212
121
208
208
172
208
121
150
112
171
150
123
171
246
171
150
174
165
168
150
150
187
112
229
121
165
150
203
164
112
195
124
243
121
168
195
150
194
123
172
208
195
121
121
208
150
124
170
123
208
168
121
158
112
202
217
150
112
171
170
164
194
150
123
150
238
170
159
172
112
150
121
203
231
193
121
143
115
128
202
208
171
226
167
176
150
190
172
121
232
112
112
112
237
112
247
212
121
121
150
176
237
168
159
150
112
225
121
204
189
228
147
150
170
223
172
237
150
150
193
192
137
187
150
208
134
190
231
212
130
233
115
112
112
208
186
112
239
195
124
170
172
220
152
123
136
182
240
167
121
170
121
171
158
135
302
150
237
136
121
264
123
187
208
112
112
150
217
150
144
136
186
156
203
123
150
237
229
232
123
187
172
228
207
203
160
137
170
208
121
212
157
176
193
150
171
165
203
229
177
173
171
208
170
150
121
150
228
181
259
137
278
112
112
167
150
231
171
231
194
171
167
231
157
172
121
150
167
196
150
250
112
249
150
121
172
193
217
150
208
258
208
168
170
220
112
112
237
212
171
302
121
232
242
172
150
170
165
302
172
150
215
150
115
150
150
168
208
243
123
150
128
176
203
121
136
170
150
212
112
112
217
226
160
171
168
121
121
143
121
208
123
121
202
219
193
227
156
172
172
150
121
123
150
255
164
159
158
121
197
231
195
135
175
186
193
231
247
181
193
147
150
207
209
112
174
253
240
213
150
165
150
171
225
176
167
123
112
168
170
135
136
228
172
123
167
172
150
208
208
187
150
201
170
208
176
192
123
181
121
194
170
121
187
186
130
170
242
208
121
210
170
150
172
170
123
121
171
150
121
152
203
194
112
184
193
172
175
201
171
112
150
121
150
112
152
263
121
172
150
112
112
208
174
205
219
171
112
123
170
121
121
152
185
195
160
216
150
121
186
176
176
123
170
150
228
214
121
208
202
207
181
177
202
150
171
112
193
168
172
219
203
172
208
112
172
124
112
239
112
202
210
112
146
181
207
181
167
150
210
124
223
164
165
171
144
150
150
172
171
150
302
172
167
150
159
121
112
150
200
261
150
165
196
201
121
263
241
150
112
112
170
193
192
150
158
112
170
215
121
205
165
194
237
208
208
208
172
112
150
121
209
209
212
171
234
150
164
124
208
150
115
207
237
274
210
115
135
186
135
167
123
112
264
136
187
112
226
112
167
112
121
193
210
235
193
150
241
239
112
112
255
172
135
156
228
172
121
123
112
237
179
150
220
250
172
167
228
155
230
121
137
208
171
253
112
112
202
217
123
121
165
167
123
165
112
176
194
112
137
168
165
150
121
144
231
150
156
186
121
245
170
165
230
181
270
176
135
226
112
121
165
172
170
160
147
259
194
190
121
160
167
243
150
195
225
150
121
150
171
218
121
123
186
186
240
168
150
209
187
115
170
302
239
194
217
192
150
228
205
203
187
228
124
220
201
176
218
112
219
245
212
253
121
233
170
150
135
208
261
245
190
194
233
150
170
152
193
181
160
241
194
112
186
237
212
194
208
193
123
170
172
215
150
226
112
178
167
192
112
232
175
171
208
237
167
186
240
150
150
160
186
194
181
112
176
263
208
164
165
193
150
239
128
176
123
207
167
302
160
186
150
150
121
214
150
208
112
172
167
187
190
231
150
184
210
208
112
258
225
150
167
237
121
181
112
179
176
170
186
181
150
208
176
236
170
150
181
237
167
237
172
237
223
195
172
170
179
208
229
150
192
194
136
244
170
177
203
226
112
167
164
150
152
150
187
121
181
195
157
137
112
112
177
121
170
203
167
160
170
124
164
112
194
171
208
153
150
152
171
112
172
237
121
150
210
174
172
121
152
167
156
137
170
170
208
123
112
193
121
165
167
192
147
225
167
121
171
170
112
234
152
167
184
152
165
115
203
170
124
207
157
150
212
159
131
150
135
225
226
150
225
228
112
112
170
112
160
230
167
150
157
193
186
212
150
181
231
172
112
150
121
208
208
147
171
208
229
170
208
150
123
112
158
176
171
124
167
115
298
208
172
165
123
171
236
195
246
208
176
204
208
112
160
147
194
121
192
187
163
208
121
193
172
171
143
167
229
207
159
150
160
210
243
220
207
115
121
112
123
219
201
302
160
146
121
194
202
157
167
123
192
194
121
121
194
208
112
150
137
150
137
165
171
170
186
237
177
150
205
115
121
150
240
208
123
150
121
214
213
218
121
136
158
186
187
150
177
167
198
150
228
213
112
212
153
170
147
121
175
218
181
123
276
112
156
158
206
202
143
170
258
186
194
211
217
150
167
150
260
237
165
121
175
193
170
195
115
164
227
231
124
147
121
121
150
170
175
205
212
192
150
167
159
171
123
172
174
172
257
121
170
171
237
112
194
236
124
239
150
215
181
136
208
233
121
172
124
150
254
150
228
136
150
210
121
172
115
188
112
150
234
112
206
121
218
255
123
147
150
208
172
181
210
279
210
217
245
139
136
167
160
170
170
165
208
121
136
239
172
150
207
172
190
233
164
121
210
241
150
240
258
184
170
150
234
237
186
172
112
239
150
193
258
160
147
121
135
208
137
123
135
219
168
194
121
201
259
123
123
170
220
112
217
218
170
194
135
201
137
228
228
208
150
210
147
121
194
210
170
172
211
203
121
112
212
208
150
112
212
112
172
178
208
112
202
265
172
172
177
208
123
150
195
121
171
150
229
208
171
181
194
150
210
201
121
223
112
186
150
123
181
165
214
147
172
150
242
123
123
150
153
219
194
184
112
218
181
186
272
150
135
186
208
121
170
193
150
174
196
167
209
156
174
212
242
152
123
170
112
170
121
207
150
124
121
167
121
121
203
156
171
121
152
182
263
112
150
115
257
112
150
112
208
237
228
208
172
172
112
112
164
167
193
112
121
156
150
112
165
150
150
205
164
136
150
112
195
219
123
216
121
152
242
276
165
144
167
147
181
217
213
208
160
160
167
176
136
147
186
112
187
112
201
188
167
150
172
217
172
231
112
150
121
172
214
121
215
248
172
208
121
121
279
193
179
112
136
170
212
167
194
186
210
139
174
279
302
186
240
181
170
195
238
187
158
193
121
146
150
174
112
123
121
150
203
123
160
121
150
207
112
195
156
121
150
137
135
208
164
243
164
177
254
112
112
194
208
218
150
137
202
202
193
112
171
234
205
150
121
152
168
187
152
213
123
207
170
156
255
176
112
165
242
228
147
205
170
243
195
255
135
121
195
192
150
220
174
167
192
112
121
163
150
172
112
112
240
172
137
159
226
112
115
172
176
170
150
115
228
136
121
150
172
164
170
121
217
215
237
226
233
208
220
193
194
123
236
218
212
175
208
150
234
136
150
171
238
121
174
150
124
208
150
172
147
144
181
150
212
193
208
172
121
167
212
208
121
112
121
121
175
227
112
112
150
162
147
128
171
150
112
172
179
208
112
187
203
228
147
239
112
136
193
246
228
175
167
150
167
172
231
112
171
201
121
203
167
167
193
158
201
195
165
171
150
208
210
231
150
121
177
181
223
239
215
208
192
156
210
226
123
166
220
165
112
150
208
275
208
121
150
212
200
150
112
194
150
128
150
150
167
172
171
205
228
172
150
203
172
115
270
112
226
115
184
191
164
205
192
123
112
112
239
159
135
240
202
121
254
217
167
112
130
139
215
208
121
112
121
121
112
150
229
121
208
187
165
276
187
172
172
208
243
112
208
150
226
231
136
112
202
112
210
167
112
167
210
152
165
175
197
242
172
232
112
112
260
115
150
195
202
150
123
276
193
250
136
183
181
123
159
172
147
147
228
198
159
208
112
121
121
121
150
172
186
147
206
150
115
121
255
186
203
194
186
193
112
243
172
225
257
159
186
208
176
150
112
152
150
112
213
150
158
150
215
112
150
195
239
147
201
152
172
211
135
212
152
239
135
136
123
254
208
228
220
198
250
181
165
156
165
112
167
123
165
147
137
194
228
115
208
209
150
112
159
171
167
165
150
123
135
193
121
177
112
184
239
211
213
150
181
170
215
112
190
167
124
121
194
150
210
136
234
159
150
121
170
207
150
194
150
201
165
195
121
128
150
208
112
194
150
112
193
171
135
147
172
167
175
112
256
112
112
208
228
239
194
190
150
159
174
162
150
150
234
121
150
174
232
112
207
220
177
181
124
112
121
194
146
112
203
185
159
217
143
150
223
150
115
172
205
123
206
167
172
172
172
208
167
208
121
121
170
112
150
202
219
201
237
196
115
150
240
175
195
150
168
135
150
187
203
179
219
150
112
150
156
236
130
170
255
192
165
194
172
167
121
167
193
135
176
176
194
210
112
205
121
112
208
194
242
147
209
208
208
150
202
137
112
112
225
135
172
208
207
207
241
179
121
112
112
136
172
208
208
252
210
225
183
145
112
208
181
172
180
160
158
112
255
239
181
112
112
171
130
161
276
202
170
194
135
178
193
172
150
181
187
186
130
178
231
123
194
150
193
208
150
115
174
201
157
112
172
145
218
175
250
225
112
172
233
196
167
167
158
170
150
225
137
237
136
205
225
156
302
255
167
158
167
112
165
172
112
236
130
150
112
172
240
123
150
179
121
150
194
115
186
121
124
112
186
171
186
150
228
196
228
302
192
135
232
254
121
192
121
150
152
121
175
158
121
174
112
172
192
193
194
186
264
208
150
158
208
112
317
212
188
201
208
150
209
228
181
193
215
150
160
176
210
147
112
112
182
208
219
137
139
220
121
225
187
112
165
112
136
297
171
121
150
208
150
181
158
167
150
143
170
136
150
112
167
150
123
228
150
228
167
130
195
136
187
121
228
194
177
233
150
198
216
162
150
121
170
150
176
172
226
226
199
152
135
186
121
194
112
112
112
230
112
121
150
237
112
121
121
130
150
164
208
181
115
217
215
112
222
112
172
189
181
150
312
127
112
112
150
121
205
228
112
205
147
159
208
239
220
194
137
168
208
208
194
172
112
121
184
121
198
112
178
150
208
203
121
135
128
181
112
112
147
147
112
216
240
115
121
218
172
265
193
239
112
112
121
184
172
112
121
112
112
217
265
112
115
150
250
208
212
137
112
136
189
165
112
170
156
150
123
249
175
121
239
168
231
250
158
239
124
208
137
174
210
186
172
238
150
172
150
194
121
150
187
124
150
121
216
112
213
137
231
167
226
208
192
121
164
137
121
214
195
135
137
164
208
263
112
128
209
186
194
175
112
229
176
181
165
121
167
121
255
150
212
158
172
237
147
209
170
121
245
238
279
170
112
181
237
112
228
170
193
159
152
150
172
112
194
225
225
159
208
194
121
112
251
203
174
136
165
150
202
150
121
150
130
150
115
205
254
237
150
276
194
137
172
194
147
167
195
216
210
112
170
174
121
150
171
170
302
121
150
186
194
212
172
112
150
165
176
112
172
121
202
121
150
250
160
220
218
124
112
208
209
121
231
166
243
226
196
152
112
223
167
172
136
123
170
159
212
208
192
187
193
208
112
171
198
189
194
167
150
172
176
235
150
194
123
112
150
121
177
130
177
156
123
160
150
182
229
195
192
184
112
259
280
171
150
159
186
112
225
238
150
202
173
150
112
206
195
150
172
260
121
175
112
150
150
233
208
152
186
171
170
167
231
150
123
121
193
115
168
150
156
177
121
170
220
162
212
164
195
208
217
150
137
193
202
177
208
167
265
194
194
150
196
177
186
213
186
170
112
225
147
150
167
210
161
172
150
167
201
184
150
220
250
193
156
172
112
181
214
181
167
201
266
217
150
208
136
150
269
205
172
288
210
254
150
167
208
173
112
187
207
112
158
121
194
150
150
220
156
195
195
219
167
190
203
150
167
150
121
224
172
195
160
228
150
112
165
158
137
205
170
112
167
112
231
186
150
121
217
167
150
123
171
124
172
150
223
121
123
177
167
164
225
121
226
195
172
121
191
164
112
165
137
112
170
208
168
172
121
265
150
121
150
150
112
150
123
208
177
194
205
170
187
217
201
194
176
115
172
217
112
121
220
228
135
226
156
112
150
136
195
167
147
136
150
112
172
160
281
214
172
175
197
192
208
112
159
170
186
112
112
186
112
257
121
212
124
112
235
231
150
172
203
209
193
121
212
167
112
241
203
123
208
167
208
172
197
112
150
217
147
201
121
123
193
239
112
228
165
123
168
195
121
201
165
165
219
245
193
130
112
144
201
112
150
112
201
240
219
112
250
250
172
225
112
187
152
264
181
121
228
250
162
272
137
207
187
186
210
150
136
208
124
206
115
112
112
255
165
157
137
208
237
212
150
232
137
112
136
208
165
150
226
282
159
177
150
164
165
112
150
205
121
194
196
165
208
250
112
194
156
202
220
123
165
172
172
167
170
121
226
210
214
239
194
112
278
172
150
150
194
121
147
172
112
201
208
263
237
184
150
265
215
201
150
121
150
171
171
168
150
167
209
150
167
239
112
167
157
112
217
121
115
124
150
150
231
112
123
214
123
121
160
121
178
123
172
172
210
194
150
164
194
136
223
137
121
185
194
150
189
212
196
112
217
190
194
255
172
168
112
207
136
121
202
121
196
193
112
171
196
242
200
136
112
201
170
237
176
201
112
187
226
244
112
193
181
150
247
150
181
143
201
112
150
121
216
223
177
150
213
112
112
187
150
176
206
174
115
194
121
121
150
206
208
243
171
165
212
171
167
254
250
139
143
234
123
172
167
175
162
168
165
156
112
170
167
136
150
170
193
112
172
150
165
150
187
112
207
181
208
112
194
177
255
210
124
121
225
187
150
150
137
171
181
237
112
164
171
235
192
187
208
187
112
210
150
187
112
225
228
150
167
121
121
150
255
167
208
206
112
121
210
123
263
136
193
171
238
195
178
245
189
232
124
170
123
302
150
143
170
150
194
170
276
124
165
167
181
202
164
238
194
130
171
184
231
152
136
112
115
216
189
170
207
127
172
212
211
121
181
158
121
112
201
233
208
173
193
150
250
121
134
202
232
217
167
121
215
121
187
123
193
137
205
237
121
112
157
170
115
112
208
226
160
112
204
250
186
174
112
150
150
241
232
227
150
121
288
215
136
176
193
187
226
170
150
208
194
112
265
212
150
158
150
160
112
121
112
219
250
172
112
229
143
202
112
208
179
150
121
135
172
150
150
123
150
112
276
170
183
231
208
170
136
230
158
121
226
121
187
190
121
172
210
112
157
283
112
150
143
208
172
170
115
124
176
187
112
112
302
199
176
231
115
112
150
178
171
170
208
175
150
112
201
112
160
165
195
231
135
177
214
112
123
112
167
215
112
112
144
176
226
165
150
172
112
136
112
150
112
181
228
193
186
193
112
226
208
215
144
121
112
121
194
208
112
194
150
182
167
176
159
115
136
235
225
112
297
150
218
270
124
150
198
150
178
161
210
228
168
174
121
112
208
112
210
149
121
165
121
121
150
150
115
167
164
124
234
187
121
204
150
249
150
121
123
192
181
112
112
172
193
180
186
182
186
172
121
121
228
158
175
217
167
208
121
112
219
121
150
214
170
168
177
172
130
217
150
121
150
171
121
181
216
219
159
112
130
172
150
150
240
137
143
167
174
230
187
205
211
128
150
112
137
167
156
217
176
112
171
123
150
186
194
150
167
172
112
240
136
123
170
204
150
176
112
171
161
189
112
244
225
257
203
137
176
150
211
150
170
121
165
147
202
137
164
176
170
208
172
121
112
165
172
208
172
213
160
121
202
121
150
121
195
136
135
218
150
193
158
112
121
239
112
167
150
172
135
174
158
150
176
123
202
226
167
194
112
244
170
156
194
150
196
121
181
208
225
171
187
214
158
227
112
170
121
203
187
150
225
302
220
207
170
167
150
150
181
150
194
170
172
214
194
263
150
176
167
152
245
112
220
121
143
223
172
208
234
121
184
121
208
167
250
228
297
208
112
246
152
179
150
204
172
121
165
239
152
181
208
247
130
186
147
150
272
112
193
167
121
213
237
150
156
112
196
263
263
205
281
229
112
239
208
121
121
203
123
170
224
112
124
160
121
219
115
186
128
260
112
135
212
172
250
167
172
210
193
167
228
306
162
112
174
186
137
238
112
112
150
135
186
150
115
121
195
158
236
208
170
112
250
172
160
177
215
239
231
167
112
150
217
112
208
203
150
150
194
255
124
181
213
156
187
121
112
167
121
208
202
121
181
112
136
150
239
208
170
186
195
150
167
135
147
202
200
172
124
212
121
112
232
194
170
194
195
263
136
202
112
237
167
177
208
195
214
224
243
150
170
232
189
150
172
194
170
172
170
121
172
123
121
112
201
160
121
150
193
136
147
112
121
121
191
121
220
208
112
150
150
172
130
150
165
112
171
208
112
228
195
128
121
177
226
198
165
128
165
152
226
144
167
147
137
170
152
172
172
135
150
228
112
196
228
150
193
144
167
201
121
152
194
164
123
150
208
170
172
121
172
112
204
235
181
178
130
208
210
208
208
135
192
202
150
206
225
167
176
208
193
208
167
121
123
121
150
143
112
205
150
181
172
150
150
112
222
186
124
170
279
112
239
112
150
220
194
150
205
208
167
143
184
167
217
242
171
164
112
144
186
130
150
258
165
147
194
184
167
150
137
112
218
187
231
147
174
150
123
208
171
250
171
150
202
167
121
194
159
152
189
276
181
171
176
123
112
201
112
237
150
225
208
181
137
135
212
276
192
112
247
194
209
208
150
202
219
123
210
121
192
150
228
171
121
185
167
124
150
147
150
172
150
177
209
208
172
121
135
181
136
121
158
181
195
215
172
143
121
241
165
150
208
112
164
184
244
170
112
121
228
150
194
160
167
112
181
144
192
210
112
170
223
252
121
115
167
137
158
230
208
208
208
167
130
165
135
112
150
112
255
150
196
246
220
227
194
167
233
150
181
192
208
165
172
261
182
170
170
112
195
208
203
209
115
144
121
207
210
152
207
239
203
112
150
170
121
112
176
228
190
158
172
176
233
212
172
165
236
175
225
176
121
195
150
167
167
150
170
167
219
135
200
112
176
257
172
112
150
165
165
210
121
240
231
121
171
112
233
112
164
187
170
194
150
158
272
121
203
206
201
112
167
123
278
146
112
158
165
186
243
186
208
147
181
187
182
112
112
189
165
112
255
252
170
112
181
136
200
170
167
135
150
150
192
150
174
158
150
139
168
164
263
243
274
137
157
150
135
172
121
223
179
208
150
208
147
228
158
172
194
150
168
171
165
208
150
212
234
262
173
150
112
123
150
165
170
112
167
172
112
115
121
121
194
302
150
230
167
121
229
177
194
208
123
281
186
195
135
170
112
156
150
112
208
179
112
170
194
165
130
160
112
150
121
171
123
147
160
158
171
210
165
194
233
190
165
181
171
162
245
135
121
195
128
172
194
164
186
170
195
150
144
187
192
171
208
224
179
205
121
150
181
175
194
202
239
176
177
194
196
277
184
112
121
186
121
192
112
137
167
121
205
130
150
172
112
208
175
250
237
205
112
112
150
195
236
167
123
228
112
170
212
167
152
193
237
150
167
263
150
230
144
121
182
150
135
176
161
167
266
123
250
175
210
150
124
176
170
176
170
150
172
115
211
170
167
144
150
112
167
150
212
136
171
212
172
112
160
237
112
226
240
121
112
171
135
186
220
175
150
236
208
121
181
165
112
165
170
121
171
219
181
150
172
194
150
176
141
121
181
208
184
255
135
203
219
181
121
259
192
150
225
150
193
226
115
124
152
208
121
150
165
203
203
208
150
147
243
226
159
124
210
242
121
220
135
167
150
189
173
181
172
236
150
121
123
187
221
214
238
150
172
170
172
112
239
121
123
225
112
167
178
112
187
250
240
193
171
158
164
171
165
150
203
232
112
187
181
195
208
202
112
196
137
121
172
156
187
171
263
230
124
171
231
212
174
172
121
124
121
172
207
170
150
290
121
224
208
137
137
112
150
144
196
269
231
159
194
228
205
150
112
156
226
231
147
150
168
170
261
202
218
229
165
172
181
167
186
172
181
172
239
254
121
171
176
121
232
150
112
136
176
158
135
150
171
150
170
279
164
112
121
156
220
242
172
208
130
187
208
172
225
172
150
203
121
176
158
228
177
124
150
276
112
139
238
143
203
171
147
160
220
179
124
194
130
112
235
267
182
172
112
167
210
208
112
165
220
204
194
177
112
112
150
233
259
217
135
170
187
123
233
210
137
194
211
137
121
121
150
217
150
179
170
208
208
232
150
192
150
172
152
172
244
170
150
112
121
165
193
203
212
172
224
121
194
172
135
228
150
226
271
217
207
175
194
170
170
121
171
234
150
194
302
150
152
158
135
150
150
150
150
160
150
172
135
150
190
235
170
112
193
176
159
121
112
202
112
130
121
186
231
121
172
158
172
170
201
172
112
203
201
112
165
208
194
112
112
186
150
172
112
186
172
181
170
193
121
112
176
128
171
137
218
264
229
172
195
150
112
161
159
174
300
279
186
175
123
124
130
112
165
137
255
158
262
121
150
202
194
121
258
212
186
194
270
121
168
202
230
186
150
167
137
112
186
215
181
196
172
112
208
112
207
268
123
121
229
112
159
172
130
194
202
128
206
250
219
112
165
181
112
176
207
222
177
208
150
156
164
112
170
168
195
237
276
150
167
210
209
121
176
121
164
150
193
165
181
234
243
167
170
218
143
186
123
165
208
203
181
156
165
112
181
187
121
187
215
217
150
115
186
112
121
112
205
208
212
208
147
217
208
181
121
168
152
250
176
112
171
186
208
123
237
208
170
150
128
112
121
202
112
168
165
123
150
161
228
121
150
181
217
123
135
172
193
208
213
112
150
203
150
236
175
150
121
121
167
199
186
150
181
150
150
172
152
112
203
177
121
170
223
199
121
150
172
174
208
121
150
163
121
115
150
172
121
157
174
115
121
208
150
121
150
150
112
177
232
219
123
211
194
150
196
115
147
124
174
176
214
239
182
208
208
193
150
150
171
112
204
121
150
136
147
250
194
217
124
112
172
195
123
202
137
112
123
179
259
202
170
208
152
171
208
130
112
186
176
170
135
112
150
150
176
158
150
186
172
159
209
276
220
130
208
208
194
208
150
208
170
192
212
185
112
228
205
121
243
168
112
189
228
150
219
112
202
130
167
137
165
135
240
167
112
150
212
177
210
305
281
121
257
218
323
121
147
167
164
170
178
167
181
124
232
167
124
171
112
196
112
210
143
121
205
192
158
123
171
171
220
157
147
171
220
112
171
176
112
112
216
150
208
255
208
210
255
121
228
186
158
121
150
147
121
171
150
150
194
150
255
112
121
172
172
174
193
209
150
150
158
198
130
123
112
171
202
194
144
165
115
162
236
172
255
130
186
121
160
171
207
193
121
143
121
194
200
230
112
172
150
174
203
190
150
197
150
174
160
170
157
172
226
243
170
121
241
164
150
217
115
208
214
121
175
225
121
208
171
150
144
170
150
121
121
170
208
228
112
202
150
172
152
208
175
130
165
208
172
121
150
170
164
121
165
235
150
203
150
186
206
156
150
225
233
170
158
186
121
112
112
150
150
228
172
115
174
170
172
121
243
172
185
121
170
171
217
121
112
112
194
123
193
186
121
187
156
167
207
121
207
156
150
170
172
168
194
171
175
173
136
146
123
181
212
123
261
217
112
210
179
208
150
112
136
212
237
150
143
208
167
121
146
150
150
208
112
112
208
225
172
187
150
112
112
170
159
240
179
150
150
164
123
167
233
178
208
150
171
208
231
157
160
170
194
172
136
172
207
121
177
143
165
112
112
167
112
160
201
165
130
121
181
194
172
112
146
156
217
170
208
271
172
176
156
115
128
210
137
228
164
112
150
121
208
187
121
208
228
121
112
172
196
196
165
128
112
208
112
121
208
237
210
192
242
170
167
194
213
165
172
224
164
176
128
150
167
210
225
192
203
172
194
165
181
150
165
167
195
207
167
215
231
177
232
239
121
177
167
160
208
135
150
220
202
236
112
219
128
112
192
135
196
181
135
150
208
172
150
239
218
135
194
208
186
124
209
176
216
166
121
135
187
112
167
177
208
112
226
144
165
174
150
150
112
212
202
150
121
225
174
210
172
194
150
123
208
181
164
220
121
150
167
171
225
121
150
150
112
167
167
165
195
147
121
237
272
156
177
203
112
264
167
160
187
218
171
192
179
176
208
150
222
150
231
168
228
137
159
194
159
237
147
167
156
147
212
150
160
112
216
136
121
121
181
220
201
179
177
203
168
247
203
172
170
177
218
152
229
172
206
178
121
208
243
194
186
144
150
121
167
112
208
150
150
208
121
121
112
208
112
187
172
250
167
187
143
164
187
181
170
202
246
201
263
112
150
128
167
195
186
112
165
220
137
237
150
156
275
150
172
136
164
171
115
136
194
220
176
170
121
136
225
202
112
159
150
194
205
202
136
172
172
112
219
156
214
172
112
167
130
202
121
181
150
186
189
121
194
193
170
231
121
150
208
150
263
150
238
217
112
136
164
121
176
208
150
203
193
112
194
192
121
284
214
165
135
167
243
218
240
208
168
184
112
123
165
136
192
112
210
208
208
150
112
124
137
121
219
156
245
167
201
136
228
172
181
165
174
150
231
123
195
202
167
217
208
152
250
240
187
231
150
150
167
193
193
121
150
209
205
176
123
176
172
150
219
208
242
150
167
176
150
228
210
150
135
278
112
181
150
172
121
168
112
195
172
274
211
208
136
207
130
171
186
201
121
165
176
217
208
236
212
184
143
150
218
121
172
112
216
121
210
181
226
159
234
240
218
123
216
228
218
167
165
121
187
218
226
159
165
228
208
254
250
194
202
167
121
123
150
150
167
265
219
121
181
177
165
112
208
164
136
174
223
212
150
171
150
150
228
128
208
150
172
170
135
128
150
208
229
250
204
165
150
112
208
121
194
174
208
121
195
158
208
208
212
135
203
172
167
112
192
112
137
150
158
208
137
208
112
150
131
179
212
263
226
171
228
150
150
170
224
244
167
136
150
186
137
112
172
136
156
121
143
167
150
137
112
121
200
150
150
172
202
231
237
112
171
237
121
135
135
217
208
135
194
121
150
112
165
159
202
217
121
177
207
194
115
158
172
208
112
210
131
170
170
130
195
228
150
208
208
171
150
170
193
232
123
208
150
170
219
167
192
208
205
208
182
121
112
205
231
192
238
236
182
203
193
171
172
112
203
147
208
171
112
199
203
121
150
170
187
208
179
121
186
150
244
123
172
150
150
189
123
172
208
255
150
112
228
283
193
121
121
177
130
276
254
163
176
195
210
214
165
232
112
205
172
208
121
135
162
213
121
150
181
284
112
240
231
121
121
121
121
219
205
185
212
150
150
112
260
150
194
112
150
214
179
171
150
172
162
194
150
219
112
121
112
193
179
187
195
190
112
165
181
208
136
181
112
112
178
176
186
243
136
203
242
247
112
137
199
208
115
232
231
199
165
200
245
164
172
150
192
150
171
139
197
227
182
143
121
194
193
186
121
137
170
150
238
121
121
112
147
176
173
121
150
150
112
189
192
231
271
137
199
150
165
121
194
196
201
185
171
112
176
115
195
130
208
121
172
255
160
167
121
137
194
170
112
208
147
208
115
172
172
232
150
121
121
218
150
179
171
194
167
150
150
194
150
208
231
121
135
112
112
237
203
187
172
112
251
135
124
150
172
193
228
167
167
150
219
170
170
214
160
150
187
158
112
121
128
112
150
235
228
165
121
210
171
156
194
143
121
150
150
171
202
204
194
194
176
150
209
195
165
176
167
171
212
197
121
271
186
192
172
150
171
167
157
276
123
218
172
208
150
208
150
210
165
179
121
208
121
172
237
150
167
205
175
123
161
164
152
222
121
203
165
136
115
228
172
215
115
121
181
186
223
124
205
225
184
121
208
242
167
161
167
171
234
197
174
237
202
213
112
180
123
172
174
167
112
219
115
121
112
165
226
147
253
115
176
225
121
121
172
123
167
168
160
115
150
201
208
208
163
202
205
237
195
150
171
156
167
187
228
171
261
137
171
150
192
121
205
150
121
172
150
112
164
137
112
228
225
150
200
181
210
112
174
206
176
225
121
267
195
150
201
186
215
208
203
150
112
150
121
167
171
121
210
150
167
123
185
172
150
164
130
167
147
164
159
167
121
208
243
167
201
219
121
210
212
150
150
193
147
201
112
220
208
164
112
194
158
121
150
225
123
240
160
194
202
159
186
112
194
112
282
220
159
121
135
250
263
112
171
156
121
136
177
112
205
112
156
121
112
172
121
229
220
170
121
191
121
137
217
181
208
212
167
182
208
211
112
135
115
150
112
150
112
150
172
185
170
195
170
171
167
216
167
229
208
150
171
170
121
193
181
194
187
150
209
137
208
150
165
112
130
179
232
165
112
158
150
164
150
194
165
217
208
112
235
210
171
167
123
208
231
239
342
240
218
150
205
167
165
193
112
226
121
176
208
177
150
204
123
150
219
190
150
302
150
150
202
112
228
186
186
157
237
150
174
271
150
178
167
150
150
150
170
181
239
121
170
176
143
208
170
112
150
214
237
159
150
203
192
193
124
226
112
208
190
150
150
150
150
278
164
190
255
123
172
212
112
112
112
121
170
112
150
175
164
208
170
135
207
136
112
208
112
225
212
137
160
121
172
210
186
174
159
115
207
181
170
237
115
167
121
194
167
165
167
112
193
112
186
263
150
239
150
150
112
150
150
171
121
291
143
150
186
212
172
112
208
150
158
123
147
172
163
212
184
115
202
201
150
208
178
203
228
237
121
255
150
176
263
170
269
220
172
147
136
228
177
181
160
284
227
255
193
112
235
192
237
192
156
208
170
179
201
208
271
172
181
176
130
233
150
194
156
165
150
210
147
150
193
121
201
123
112
230
150
170
123
112
225
112
150
123
147
137
136
176
195
181
128
208
208
211
172
158
219
194
210
172
160
150
147
121
237
210
232
193
150
172
236
208
171
171
170
136
112
150
167
172
152
176
158
219
228
121
150
265
137
196
170
259
186
121
121
176
173
170
115
184
210
150
157
172
137
210
233
171
135
150
135
112
177
150
171
174
195
196
150
121
171
252
263
299
220
172
158
226
172
150
172
197
112
160
150
172
147
176
150
121
210
243
146
121
195
172
121
150
112
208
112
112
161
195
115
167
194
121
181
150
243
212
170
150
203
150
121
135
199
186
231
208
208
150
186
184
167
194
174
176
229
171
150
190
204
112
128
112
150
150
196
150
150
218
167
228
165
255
227
137
175
171
229
182
194
172
121
150
171
187
179
112
207
170
170
202
136
159
150
193
181
157
115
165
177
115
176
205
205
240
201
230
192
150
121
150
167
186
158
175
115
136
228
208
172
121
193
150
150
121
152
172
174
123
150
150
170
193
216
266
208
121
194
176
193
187
217
171
150
210
207
201
158
172
164
255
218
150
170
150
150
160
115
112
167
150
176
167
150
136
112
112
208
171
150
170
243
206
121
165
167
130
208
136
172
158
186
176
121
112
112
167
269
176
172
194
299
172
150
153
208
193
112
167
193
150
181
218
208
211
212
159
203
171
212
115
172
172
241
150
167
218
150
135
121
112
150
172
228
121
181
159
112
123
194
150
181
231
237
112
229
132
170
195
112
150
208
175
121
177
176
208
176
194
171
152
190
243
137
193
205
233
170
156
208
208
167
112
170
170
239
243
238
136
164
187
189
177
165
171
147
167
167
172
177
176
234
171
112
208
135
219
225
242
150
150
208
212
112
121
172
137
159
121
121
115
172
173
171
112
170
150
121
216
150
150
226
121
121
112
167
130
209
195
174
123
202
164
176
112
136
165
112
172
172
192
177
112
192
167
121
128
112
150
136
171
136
170
135
123
170
193
181
228
172
121
232
112
212
220
194
228
208
171
112
219
257
147
165
181
112
176
189
208
150
208
171
135
172
167
272
150
124
261
208
159
168
139
123
208
165
250
121
135
179
222
226
181
257
176
208
172
112
240
237
121
231
150
176
112
123
112
145
209
214
172
174
176
167
179
112
130
181
194
215
170
170
193
121
168
150
186
192
199
195
170
158
112
165
226
226
186
184
225
160
171
234
115
220
212
193
188
150
171
238
112
212
174
170
156
121
172
130
267
150
208
121
277
172
217
161
176
112
150
221
190
202
250
212
165
112
194
165
157
174
272
150
206
112
250
228
147
137
225
150
121
194
170
167
217
184
204
150
193
276
150
195
112
147
123
185
212
189
130
167
166
236
187
147
159
167
170
219
115
136
204
171
228
250
115
112
237
112
250
213
150
172
158
255
112
193
172
258
186
150
136
167
171
115
112
167
161
181
208
147
205
137
302
112
195
220
168
208
167
150
257
176
174
186
172
240
181
216
258
150
121
209
112
203
121
233
229
160
150
150
170
208
208
194
136
263
202
112
181
205
121
170
211
167
169
177
171
171
181
201
182
150
172
150
150
170
302
121
150
206
193
208
150
164
164
202
150
150
256
121
124
167
210
264
150
167
115
112
136
121
164
128
181
179
167
181
187
147
212
207
167
112
193
213
172
128
112
174
185
123
193
123
272
235
172
177
174
144
225
193
215
150
194
245
181
165
115
121
150
171
167
228
121
238
231
160
242
160
136
187
186
199
112
235
123
253
168
187
137
195
137
112
195
211
123
112
228
123
180
136
164
112
208
167
159
172
167
121
150
174
170
112
210
124
135
172
177
136
167
171
203
147
115
208
188
137
121
186
121
282
150
190
172
121
150
112
194
121
193
167
112
208
237
121
223
212
150
208
150
181
218
250
150
121
150
123
182
176
167
184
181
112
171
164
115
216
229
150
160
112
124
161
194
208
172
136
228
172
198
178
195
112
203
202
150
123
165
181
165
112
186
186
231
220
204
218
282
170
194
121
208
167
150
170
181
112
231
187
165
167
177
158
220
186
181
137
121
178
228
208
167
202
205
212
221
218
193
150
210
181
207
121
121
212
150
130
170
202
150
226
159
112
150
201
237
121
215
181
137
121
189
164
112
112
174
181
150
253
208
171
121
281
137
170
166
128
194
112
150
158
123
150
219
217
278
150
233
112
187
212
112
224
112
218
150
167
150
198
167
211
165
193
186
208
184
231
172
177
208
115
186
208
112
167
172
112
178
137
143
215
112
200
215
189
249
195
121
136
177
124
146
112
222
172
173
171
233
201
143
231
130
115
172
208
150
302
150
168
181
144
276
251
172
121
121
174
211
112
167
194
190
112
186
181
231
160
186
172
233
115
147
121
112
208
112
195
201
219
112
208
172
150
150
194
208
186
171
112
189
231
195
170
234
187
121
179
121
165
112
112
220
112
259
179
123
171
170
190
176
208
209
121
210
219
150
243
147
203
150
174
135
147
189
178
112
112
208
195
130
225
170
165
172
112
112
112
208
194
121
208
130
172
215
208
150
112
167
172
174
128
302
112
167
186
193
121
112
112
226
172
220
186
121
206
208
172
168
172
112
210
150
124
150
137
112
253
130
172
225
182
158
147
217
208
186
112
208
228
123
112
176
194
112
112
228
219
172
112
150
168
150
208
121
175
181
121
121
171
112
242
282
130
150
243
170
150
172
195
208
150
171
172
272
123
150
150
220
182
159
232
175
150
167
112
121
121
150
175
121
167
112
237
150
170
150
210
112
167
179
192
240
181
112
123
150
121
150
130
150
244
121
158
177
206
172
150
193
193
172
167
220
181
167
221
187
150
137
255
165
170
208
226
241
214
136
112
150
208
156
150
193
189
170
203
231
165
150
193
123
158
112
167
302
220
147
112
171
193
170
205
135
123
112
152
175
189
172
150
205
135
135
220
150
185
194
156
170
124
235
172
121
150
184
184
174
112
204
231
194
150
202
202
216
235
147
143
150
180
137
219
150
158
170
208
234
150
186
170
143
201
194
255
121
234
121
160
215
229
195
228
189
171
121
202
121
112
150
147
207
170
176
156
196
137
121
168
174
121
212
150
152
236
172
208
224
137
159
191
135
219
170
130
164
239
121
194
176
172
210
211
208
137
150
208
150
207
210
233
171
208
152
244
121
150
170
172
189
121
121
124
205
150
147
205
171
150
239
228
217
202
193
150
260
212
172
132
194
150
150
186
135
203
167
195
172
187
201
202
152
150
168
121
172
112
136
215
150
112
185
186
195
172
177
150
203
192
228
156
150
167
150
213
237
168
150
174
161
165
199
112
150
302
195
171
208
121
150
170
181
185
237
150
167
209
152
167
210
208
147
112
121
150
298
179
196
170
208
210
112
121
210
112
112
150
171
219
195
123
165
159
124
172
212
150
235
147
121
159
216
212
152
177
208
177
112
150
208
150
147
121
201
112
115
230
150
181
112
150
167
208
165
136
124
192
136
152
260
203
200
203
150
278
192
265
170
146
150
150
112
150
239
243
212
177
150
204
170
199
177
115
174
152
167
172
237
115
192
137
208
121
167
177
231
124
112
192
235
167
158
123
228
158
123
176
302
263
170
150
192
208
164
259
170
123
220
171
210
170
112
136
150
172
121
121
171
167
165
208
165
152
250
170
164
238
121
229
181
217
218
262
181
121
158
193
121
165
171
150
172
174
160
150
121
150
244
112
229
194
208
240
182
212
170
195
171
240
143
150
228
194
167
176
193
264
195
171
174
159
206
172
208
235
187
208
181
207
135
205
176
112
218
165
170
194
226
115
136
112
112
183
186
198
150
150
235
174
150
157
115
172
174
212
218
187
160
112
208
225
181
201
212
217
112
112
150
164
208
112
211
121
290
124
137
135
159
160
164
237
216
123
172
202
165
130
170
128
172
121
264
208
172
112
177
172
210
163
181
150
150
170
164
112
121
228
121
166
150
112
146
186
170
186
229
112
171
112
194
172
158
302
136
172
181
150
187
205
208
150
218
137
121
211
170
171
213
289
112
171
224
181
150
193
172
217
174
121
130
171
202
176
237
253
235
150
172
237
172
214
237
219
208
121
172
172
150
186
170
112
167
172
150
159
150
150
150
150
195
195
172
175
194
112
171
279
137
184
208
208
171
170
195
150
121
112
172
150
112
240
178
121
179
208
186
112
121
124
159
121
172
186
165
259
124
172
112
217
182
156
112
168
150
115
171
172
123
236
186
124
236
150
231
194
121
112
218
193
178
112
172
172
206
256
210
172
195
171
150
182
207
165
177
137
112
150
202
257
237
208
112
167
150
150
150
159
176
170
211
147
233
150
212
147
218
231
112
150
263
137
121
150
172
137
159
112
130
174
207
158
194
187
130
121
196
231
150
194
237
112
208
158
194
225
172
150
181
174
123
226
186
178
224
150
219
272
162
112
124
172
121
208
223
167
162
177
212
115
121
193
163
167
123
179
170
112
150
121
228
112
170
196
181
174
172
209
115
156
164
210
147
172
208
167
135
112
165
135
121
172
165
150
226
121
201
121
147
156
210
208
112
121
121
228
150
121
229
223
172
167
150
210
207
165
135
179
287
165
170
177
185
150
171
150
192
121
179
112
112
121
230
208
150
121
212
121
168
123
172
193
217
170
121
143
150
156
171
112
168
208
194
135
135
112
299
150
147
199
231
172
123
112
150
210
181
150
150
181
168
170
150
195
135
121
237
121
175
193
112
121
302
229
212
208
247
164
172
172
136
121
176
135
170
112
150
147
276
135
121
121
167
112
231
167
150
218
139
150
228
150
181
193
121
170
170
150
187
214
201
112
208
137
112
150
121
173
200
112
172
121
176
237
184
234
150
239
124
176
115
184
219
121
172
170
121
150
215
115
137
176
158
171
212
152
170
171
164
150
112
217
136
123
235
171
150
228
147
194
150
181
112
150
121
202
167
171
235
112
202
166
164
124
152
187
179
263
172
186
150
171
210
156
130
210
212
208
175
172
221
266
164
208
195
212
123
186
208
158
194
210
112
240
217
194
162
217
195
112
150
210
123
302
160
121
225
203
237
123
158
164
237
208
128
176
137
143
170
158
150
208
147
228
150
176
121
137
217
112
170
121
159
150
121
137
112
204
240
208
202
176
208
171
209
201
196
194
174
225
208
167
160
194
136
150
197
174
177
167
239
205
112
194
158
152
156
195
186
208
150
172
164
112
229
186
202
115
121
201
112
253
231
157
181
172
208
150
227
121
172
172
167
228
170
181
150
187
121
112
265
176
233
187
171
165
112
121
203
201
130
150
150
164
115
170
123
201
265
160
172
137
164
150
202
158
240
150
179
254
112
175
123
168
271
208
170
226
112
181
112
136
170
172
121
194
195
112
228
172
186
172
165
164
208
150
203
167
250
204
147
219
121
182
112
216
112
121
121
156
167
225
182
170
194
170
223
208
219
210
112
187
199
181
195
269
228
167
124
171
192
233
208
223
157
121
181
186
210
172
171
237
250
121
171
172
112
121
112
171
152
176
150
208
112
156
115
167
219
165
202
165
228
265
136
112
121
150
181
150
112
171
150
150
205
194
219
170
269
112
167
237
112
158
135
150
176
241
112
186
112
231
237
276
250
207
265
171
172
165
112
121
208
150
136
156
112
232
171
150
265
143
172
208
123
112
150
228
172
170
186
186
150
112
123
136
170
181
112
112
167
204
212
150
279
186
121
112
172
172
174
146
147
147
172
123
112
123
208
208
164
123
223
172
136
150
121
112
137
232
112
112
193
170
176
237
210
212
193
228
112
228
112
121
172
234
174
278
121
172
160
302
167
171
194
150
170
171
228
121
123
124
150
150
150
231
212
152
203
112
219
240
236
144
201
170
165
228
121
208
201
195
164
253
172
219
150
182
165
172
195
193
181
210
211
150
167
260
216
121
215
172
227
169
181
150
197
147
115
172
130
207
181
150
276
112
170
176
232
243
213
112
172
171
186
171
172
171
150
176
147
170
152
137
240
121
186
112
179
178
112
172
208
167
214
112
179
221
121
121
174
121
171
159
240
217
112
150
255
135
187
112
228
136
112
121
187
172
121
172
121
168
171
121
121
228
201
202
137
121
172
226
165
139
228
205
165
128
150
112
154
194
121
152
193
218
168
112
121
193
179
193
187
115
112
150
165
165
130
208
193
181
228
210
172
112
258
167
184
112
121
123
112
139
208
170
260
176
219
167
226
194
124
170
172
112
164
259
150
171
150
150
176
150
228
272
172
112
167
228
170
206
112
143
146
186
121
167
112
170
171
184
226
172
112
150
183
150
112
115
170
218
177
150
167
171
167
194
173
150
175
158
172
112
288
165
172
181
165
121
172
160
195
112
208
187
276
179
218
247
201
193
170
219
194
213
217
123
259
112
212
158
198
172
205
167
226
208
150
219
193
156
167
115
172
172
187
187
150
167
210
193
112
121
131
112
112
150
124
150
260
150
272
171
112
112
150
167
225
233
218
302
150
112
150
194
220
187
121
208
150
202
150
167
267
159
196
156
237
202
150
171
147
123
171
150
171
177
112
181
167
176
165
194
150
150
121
112
216
157
115
185
172
112
201
130
181
152
121
193
159
150
136
144
203
150
156
168
136
172
172
121
228
112
150
167
121
195
167
201
192
208
281
112
167
158
150
208
172
150
164
203
131
147
112
115
172
121
184
208
217
124
158
135
157
208
296
152
135
167
189
210
195
170
115
159
167
112
243
208
170
181
150
150
214
121
150
112
136
215
218
174
147
165
130
209
237
150
208
150
146
250
112
160
121
112
150
205
199
150
232
235
184
137
208
193
288
228
112
165
164
112
167
170
225
205
257
112
137
184
233
123
194
176
150
182
121
186
167
172
135
128
274
239
172
121
201
150
121
145
115
208
204
208
226
228
214
150
150
233
182
176
150
214
172
158
123
135
202
123
232
167
202
143
112
228
112
158
165
164
167
150
201
112
170
112
177
170
171
150
144
215
210
181
170
115
172
228
186
143
192
147
152
220
112
208
187
195
257
227
115
121
137
112
337
135
208
208
194
165
229
193
141
178
121
164
121
170
147
150
159
208
217
260
112
112
167
121
231
208
121
220
228
172
115
238
143
181
112
170
177
176
199
112
187
170
150
170
135
157
202
167
121
167
176
143
232
208
156
210
112
150
208
250
172
115
187
115
181
121
150
208
201
214
121
152
237
219
136
172
150
207
170
128
168
250
192
130
130
168
172
183
141
159
143
121
172
124
273
205
123
208
206
172
193
150
135
170
208
150
112
115
170
178
137
172
112
135
231
150
210
195
170
168
112
178
193
150
208
177
152
225
181
194
172
231
124
217
232
187
219
121
172
172
208
150
112
172
168
135
159
176
112
167
150
112
241
177
150
167
229
228
124
215
202
220
208
194
123
112
150
164
214
220
167
150
112
150
193
231
253
121
137
176
112
193
123
158
221
208
112
209
150
220
112
136
256
188
150
147
121
195
202
225
264
164
212
186
208
152
186
200
124
135
181
228
172
165
231
115
121
121
195
182
145
158
175
112
208
170
124
136
150
342
121
219
112
174
112
167
178
121
178
244
302
195
263
123
130
208
194
112
177
220
158
176
172
181
176
178
208
208
205
168
239
159
137
121
242
174
235
170
231
195
181
167
159
121
112
121
165
208
264
276
165
232
165
170
195
206
229
218
185
115
112
171
190
150
123
209
228
150
186
112
112
170
121
150
181
229
150
195
261
156
207
278
176
195
158
220
239
150
137
112
187
164
112
207
143
181
112
135
121
130
112
158
172
208
208
208
167
163
247
181
208
170
167
236
171
121
172
208
150
196
228
158
137
210
164
121
189
221
121
150
225
197
157
171
174
150
220
112
121
172
172
150
217
156
130
194
206
208
193
208
170
152
165
171
210
237
172
150
175
112
175
208
193
167
150
210
150
131
156
159
164
195
174
112
115
167
124
121
124
150
205
205
112
112
172
181
186
150
168
187
233
195
158
215
150
220
112
197
223
212
171
206
171
218
231
228
182
121
112
174
198
130
131
189
171
170
123
233
156
239
170
143
235
170
203
162
112
182
135
172
250
212
208
150
258
181
167
164
121
124
228
210
167
170
202
150
192
150
150
150
227
187
208
160
177
231
208
168
234
172
121
232
302
172
203
252
150
172
217
187
123
150
150
150
160
115
150
123
123
112
170
208
255
186
177
203
171
181
135
150
192
164
167
210
215
164
121
121
222
167
156
213
170
150
208
181
156
210
242
224
150
165
212
165
223
208
187
210
208
217
231
212
112
203
150
171
219
187
201
208
112
195
171
112
235
121
152
177
112
150
261
175
150
123
227
210
192
208
181
208
276
167
212
208
205
121
207
174
150
160
112
112
206
203
208
177
172
157
176
170
135
137
202
121
167
171
150
171
170
195
121
167
176
181
150
239
171
220
112
181
176
123
176
175
224
112
202
208
135
208
121
202
201
128
177
171
196
176
121
170
135
217
123
278
124
147
171
171
207
202
234
112
130
171
176
230
282
150
150
152
150
130
178
175
112
228
170
121
112
150
150
165
241
220
205
228
152
206
168
181
157
165
150
225
137
217
187
112
121
121
212
204
170
115
176
121
121
177
147
194
121
216
121
208
112
186
112
208
167
121
181
208
226
239
167
176
130
159
135
167
135
172
150
172
171
202
150
121
112
121
164
208
112
216
112
150
201
147
241
194
168
231
186
216
121
215
178
150
217
150
193
121
115
170
257
165
170
167
194
139
150
121
158
207
208
181
167
112
189
112
165
123
181
150
121
157
150
150
243
150
167
170
194
121
172
121
150
123
112
112
137
237
203
210
167
150
172
193
150
181
150
164
209
213
121
208
121
172
167
112
147
202
136
186
219
150
278
167
243
128
302
210
243
171
184
135
112
112
115
112
172
171
198
250
131
170
208
170
150
130
210
225
121
121
171
150
121
175
193
228
115
190
201
112
244
186
176
202
136
176
194
121
171
168
150
265
121
241
187
172
210
121
264
175
177
172
217
156
112
276
121
172
187
193
121
150
193
172
210
121
121
272
112
212
232
167
175
112
121
218
199
167
217
246
187
208
112
179
150
170
236
214
150
220
192
150
231
182
203
121
172
123
172
193
170
240
208
150
171
228
186
176
112
150
201
202
193
192
194
249
205
202
121
128
226
112
208
112
182
231
112
112
172
201
128
205
172
167
172
112
181
167
171
150
212
172
112
212
187
231
143
240
150
176
239
112
230
167
210
167
112
210
204
172
121
167
150
150
130
205
150
186
263
203
112
112
229
121
167
225
123
171
233
150
195
202
150
193
171
231
208
158
198
115
171
124
203
121
121
150
143
150
150
194
203
172
172
174
170
112
121
208
233
171
157
208
219
249
112
150
172
186
123
121
174
135
208
150
112
179
147
137
170
112
172
112
255
150
208
112
210
112
150
128
137
123
161
172
177
194
171
250
112
170
181
112
232
194
152
171
164
121
208
228
205
202
172
208
112
181
150
278
228
226
208
170
167
112
121
239
136
150
171
187
150
218
150
112
150
174
200
170
150
136
157
187
214
176
254
112
150
259
172
112
204
150
150
123
208
178
136
201
170
121
192
150
210
158
186
219
208
167
230
170
231
115
231
212
135
174
220
218
178
150
112
170
208
157
243
156
240
150
220
207
217
112
199
171
302
112
150
124
219
208
302
270
170
150
181
150
272
181
237
112
171
223
112
150
156
210
112
174
194
123
245
128
163
137
237
208
112
203
208
150
226
212
196
159
112
172
258
136
170
167
121
208
184
258
208
139
150
194
282
136
115
112
226
238
243
135
177
220
121
189
235
208
219
157
112
112
202
112
160
150
170
210
170
150
137
172
186
208
172
208
216
174
206
213
192
112
213
150
171
219
196
164
167
170
208
160
204
208
302
170
112
150
195
217
112
176
147
123
187
178
150
112
150
176
121
135
112
171
239
257
112
195
159
229
170
208
158
256
143
219
208
150
121
150
112
212
112
112
170
150
208
165
150
174
253
274
155
121
192
231
208
136
112
156
250
156
121
181
170
150
250
263
150
176
170
115
165
136
150
168
165
192
185
165
170
205
112
112
150
159
217
150
231
238
208
112
143
170
219
202
150
253
208
112
165
121
150
203
121
150
150
174
135
171
112
263
194
112
137
171
150
170
172
121
171
187
135
112
123
226
187
172
167
123
208
172
172
172
193
170
112
220
137
167
162
174
250
203
112
150
199
150
121
208
263
135
252
147
228
112
112
171
255
208
172
164
150
136
160
237
233
174
172
112
182
171
172
167
150
121
208
195
150
137
143
179
242
167
189
192
150
177
198
176
207
121
217
150
235
128
208
167
177
150
193
144
171
189
200
176
121
164
121
164
136
121
237
115
150
158
226
349
177
276
167
193
159
192
167
158
144
170
236
112
201
135
225
150
168
208
195
228
249
172
112
202
181
187
170
121
150
194
182
160
250
193
172
241
123
193
229
150
150
164
276
255
195
208
150
189
195
115
150
135
203
123
187
150
123
182
198
172
150
203
181
172
181
121
150
208
302
231
167
187
189
172
207
171
123
208
134
150
212
172
121
228
172
173
244
250
150
147
208
228
150
210
112
164
176
150
170
203
209
219
229
210
190
150
193
289
150
170
275
205
171
208
228
233
209
202
205
143
207
171
112
167
204
201
167
194
165
150
170
159
212
237
226
167
150
150
112
207
170
186
257
241
208
172
176
112
156
112
112
202
121
112
167
152
112
227
187
245
150
123
218
172
194
176
123
177
253
150
158
144
162
150
112
121
181
150
123
217
201
131
167
150
112
112
159
156
115
175
275
167
150
243
168
176
226
228
225
260
233
228
195
243
203
196
276
240
159
121
240
208
171
170
137
139
150
121
130
112
164
168
159
264
172
186
150
272
167
210
227
201
112
121
184
167
172
170
150
177
208
150
123
168
231
193
263
187
165
175
240
170
179
186
159
186
112
214
121
164
150
193
167
170
228
167
112
167
121
130
181
165
164
193
150
189
112
263
176
121
158
195
170
243
241
172
167
150
135
150
112
115
112
150
203
302
123
187
186
167
156
196
150
165
181
208
121
167
208
112
121
179
121
208
212
208
186
255
112
202
237
225
250
121
208
219
112
170
208
177
158
112
193
194
174
178
167
233
196
150
150
170
137
150
158
243
150
115
121
192
167
165
199
121
121
208
158
112
121
175
112
237
176
112
150
112
121
182
123
171
150
276
123
156
181
137
201
206
150
136
172
123
167
147
150
170
192
208
170
205
228
186
275
123
193
199
203
137
219
198
172
208
121
168
143
187
242
144
112
121
123
172
194
172
150
187
150
121
176
171
194
165
236
121
184
150
263
208
167
186
171
171
156
228
172
233
172
212
152
225
112
112
115
177
143
135
228
171
208
189
182
229
137
208
150
170
186
189
266
112
150
150
209
167
150
230
171
229
255
112
202
168
208
231
208
189
121
128
172
168
183
150
121
186
187
172
171
112
135
208
189
150
205
302
150
147
156
143
112
202
137
150
143
217
123
112
165
212
194
219
112
187
112
121
208
207
112
150
112
194
194
263
187
171
170
168
176
137
210
121
171
150
223
196
121
233
167
172
203
208
172
112
229
193
167
220
178
143
150
150
172
115
146
176
247
217
181
164
121
136
186
208
165
202
130
177
141
135
229
189
218
150
172
226
112
121
135
302
150
242
175
150
176
208
121
228
181
187
206
193
164
137
177
167
123
157
121
112
150
210
170
170
136
175
136
164
210
239
225
136
150
225
150
241
195
121
150
194
136
194
167
172
146
136
219
167
112
167
195
208
123
112
157
167
171
228
208
159
135
170
137
224
121
167
172
121
184
121
156
136
159
170
150
147
135
167
170
172
207
157
229
178
121
195
121
121
121
162
164
171
121
136
112
201
150
203
165
232
171
187
135
212
121
123
121
203
209
208
208
252
185
150
150
208
121
171
132
150
201
172
112
172
208
131
239
214
213
167
193
121
112
172
150
135
150
202
150
112
169
168
150
181
170
150
231
147
150
233
237
172
172
190
278
165
302
176
165
123
121
213
264
172
150
137
167
194
143
165
200
238
194
187
194
121
152
178
121
202
150
112
257
208
208
201
171
123
172
192
208
243
165
194
170
112
172
136
181
112
216
192
156
121
189
172
135
145
229
147
128
121
181
121
193
215
150
150
208
193
210
168
150
186
167
194
231
228
236
177
168
121
167
165
208
172
233
227
242
150
115
137
112
195
172
135
214
225
112
135
189
172
112
208
121
167
121
186
231
205
209
112
164
230
208
165
194
171
115
255
150
170
225
150
121
193
176
150
176
186
181
201
167
202
210
208
150
212
181
172
170
159
167
231
170
112
201
112
164
170
177
112
170
195
171
167
208
195
112
302
156
123
112
147
170
164
220
123
152
150
218
172
147
158
237
172
201
158
147
230
167
194
185
163
147
156
212
264
176
121
150
184
178
170
208
115
136
172
195
171
228
165
112
208
194
150
150
167
167
112
240
167
121
202
204
137
217
135
225
121
121
160
147
121
123
172
299
201
178
112
170
123
168
150
156
177
112
172
217
112
194
174
188
112
186
195
182
123
228
136
170
158
216
172
112
194
121
167
276
200
136
112
150
121
112
172
130
183
121
205
278
112
143
212
170
208
160
192
158
177
195
195
217
168
150
112
240
158
228
208
187
121
210
212
121
150
176
208
150
121
123
164
150
156
183
232
202
135
150
150
150
121
112
219
158
150
193
131
208
164
208
179
171
112
228
190
263
219
160
230
150
187
167
201
150
187
165
201
194
150
112
195
137
208
171
112
193
250
172
157
147
175
136
172
167
206
231
135
174
165
176
137
202
172
167
123
225
213
231
208
194
210
136
231
150
121
181
237
229
175
189
112
192
225
170
168
112
150
150
115
115
112
150
137
196
176
170
181
172
211
137
172
244
189
231
121
150
130
112
187
198
208
124
112
112
172
150
193
195
150
302
158
218
150
172
186
204
150
208
193
121
150
115
184
164
179
172
203
150
121
186
202
150
187
174
112
123
112
210
235
170
150
112
208
150
226
231
195
112
211
168
158
143
137
194
193
216
136
145
112
121
193
201
195
208
121
263
214
205
166
115
165
171
167
208
255
232
161
275
112
172
174
177
186
167
167
208
150
203
150
172
210
176
239
150
208
112
208
170
112
112
115
150
226
209
150
150
192
150
250
150
158
135
137
224
194
189
170
231
228
172
135
167
121
112
214
121
186
121
156
220
219
172
172
228
208
172
165
168
150
150
158
112
259
193
112
177
194
123
172
137
195
212
165
179
137
112
208
112
172
112
121
171
223
176
112
171
147
187
124
261
167
160
212
115
137
212
150
210
233
176
159
263
186
150
135
218
177
137
137
150
205
150
121
176
137
176
167
121
123
181
112
112
207
225
112
130
170
123
202
241
150
167
220
187
121
167
150
135
181
248
112
112
172
112
171
208
208
217
226
167
150
201
160
156
112
170
219
171
121
112
189
208
165
143
231
121
171
135
170
112
121
121
150
198
176
112
194
175
228
202
258
112
181
170
124
150
255
226
121
123
211
150
165
170
150
150
150
208
112
256
121
112
217
152
203
170
205
150
165
174
112
112
165
121
208
150
170
195
205
228
130
150
123
150
239
121
170
208
229
228
193
228
160
210
186
172
217
112
257
136
186
115
150
137
158
175
172
192
150
139
218
239
137
137
115
150
208
115
184
112
171
112
187
228
263
203
192
181
194
158
194
274
228
112
150
150
157
112
112
181
178
150
172
171
245
121
167
128
164
212
170
214
124
201
150
158
150
150
121
150
234
156
232
112
150
123
159
210
136
207
170
150
193
112
174
159
230
208
143
112
253
112
232
137
263
150
152
112
128
208
115
135
172
150
177
150
186
112
210
167
194
263
170
176
208
201
112
170
150
242
216
165
192
228
156
121
185
156
121
150
208
121
176
186
170
112
150
150
208
223
165
167
174
121
150
112
121
202
112
167
112
150
136
167
208
302
121
150
176
208
135
123
208
237
188
115
183
150
158
115
150
165
171
159
255
150
167
147
218
159
168
147
176
265
150
152
168
150
178
165
161
174
147
176
165
212
261
228
123
210
165
171
210
208
201
176
165
208
150
202
220
173
228
135
220
172
167
217
194
196
124
130
121
237
170
233
121
167
278
302
220
121
215
152
210
172
150
171
158
237
194
121
172
194
123
201
250
135
144
177
278
230
150
192
170
208
170
181
164
121
189
150
201
112
112
219
167
176
165
239
156
123
123
150
123
177
150
172
150
121
123
210
121
196
112
171
186
121
208
230
157
205
165
156
167
112
210
115
167
150
150
193
165
209
144
150
112
217
112
177
115
144
112
202
177
205
121
121
150
194
121
210
208
205
159
160
150
193
112
189
121
131
121
123
150
150
136
208
184
168
299
229
208
174
123
203
233
172
216
121
112
112
194
112
181
192
167
159
150
233
172
181
112
217
226
150
193
253
208
208
202
160
121
167
194
159
167
199
150
135
123
176
112
212
150
115
167
150
150
214
123
224
123
193
208
150
181
150
152
220
209
150
121
167
212
174
135
216
172
174
121
208
121
159
150
150
206
217
172
203
187
172
115
112
150
242
193
187
209
228
163
172
208
228
121
150
150
238
237
175
150
150
174
187
171
121
186
167
112
229
240
228
176
172
172
137
136
165
112
165
275
124
217
218
226
167
150
184
172
112
208
192
189
123
255
210
167
112
176
239
137
176
170
239
159
208
202
176
137
145
208
121
208
121
112
194
237
237
150
207
172
212
112
170
160
187
124
137
121
175
212
181
121
170
121
203
187
174
205
225
186
193
121
187
136
123
229
205
161
236
171
171
137
182
159
112
202
186
165
121
152
160
184
196
115
153
208
177
172
121
121
203
192
208
158
194
112
137
167
112
159
207
136
112
160
194
179
225
115
144
123
150
167
172
156
193
165
276
121
229
208
150
172
233
124
112
158
150
181
112
112
182
168
112
165
112
228
209
240
112
179
167
236
237
186
150
150
181
218
133
150
172
187
160
202
123
112
224
115
229
156
202
231
171
170
205
186
121
250
115
186
210
213
112
208
257
229
194
208
135
202
182
135
253
150
172
194
135
124
112
207
208
112
193
195
136
112
150
210
150
220
208
170
195
112
208
213
208
112
122
208
194
150
228
173
150
172
121
250
121
217
121
176
165
228
255
208
239
112
208
112
137
208
121
177
239
130
136
150
190
167
208
176
177
208
150
215
178
150
233
186
170
171
121
202
165
184
150
165
147
172
158
192
236
194
170
170
172
232
165
172
121
167
164
177
194
195
277
121
150
254
208
167
150
208
172
194
205
112
170
172
112
193
193
128
193
178
130
150
194
130
152
172
219
136
228
174
193
150
150
206
181
172
167
170
174
213
195
123
165
112
150
181
172
175
231
304
205
212
165
112
135
202
170
136
170
112
229
234
159
250
135
158
223
170
226
203
147
150
195
121
210
156
171
210
190
164
165
208
112
136
245
208
182
167
237
189
150
170
176
195
208
171
121
171
203
156
150
123
123
202
150
121
213
165
247
176
123
170
185
193
121
240
201
170
121
204
112
150
146
172
195
164
158
186
168
177
182
121
123
137
194
115
137
170
158
112
112
224
121
121
123
304
208
115
112
192
212
168
150
208
150
123
176
186
165
208
195
171
150
150
159
167
255
121
208
174
237
135
171
181
158
250
179
121
123
112
276
150
192
194
186
112
192
226
112
167
208
186
195
141
128
165
196
174
150
210
297
164
171
210
143
216
152
192
197
112
124
150
218
150
193
163
112
123
112
130
130
195
150
190
171
212
178
220
121
179
171
150
112
201
208
208
208
228
208
152
175
150
146
137
223
194
220
123
194
187
177
176
167
237
131
150
194
230
245
150
214
208
228
112
158
115
121
167
112
202
232
121
237
150
124
206
208
136
171
183
150
194
121
136
186
165
135
156
299
135
150
208
239
189
112
123
176
136
135
300
121
208
150
112
160
159
171
147
231
172
161
161
150
222
112
233
150
198
217
204
167
112
221
211
121
205
167
165
208
214
165
171
135
181
150
208
123
147
164
240
225
205
135
232
137
150
194
184
158
137
237
147
159
226
219
231
168
172
238
150
121
112
190
181
177
192
162
115
172
182
121
170
171
123
121
121
165
201
112
115
112
150
203
186
170
193
255
150
182
170
135
112
150
123
223
182
115
199
112
164
276
136
241
208
150
215
167
255
223
172
204
112
135
135
194
203
181
167
210
150
159
217
170
112
172
150
255
215
210
168
177
172
263
233
171
121
212
179
112
167
135
112
135
150
172
150
112
112
212
150
150
212
208
168
150
150
197
171
121
171
239
172
250
195
121
194
187
210
206
208
174
195
112
171
172
171
167
112
189
150
135
112
170
156
170
205
172
159
194
165
240
212
128
208
112
237
177
189
150
150
238
150
121
112
172
150
150
139
208
150
196
168
178
202
177
203
170
240
150
174
170
257
176
150
135
112
233
150
228
181
123
208
195
157
123
152
192
112
217
135
167
193
208
121
170
112
217
150
150
121
172
167
170
121
172
147
176
208
123
199
212
112
170
130
208
150
164
271
167
210
112
121
150
158
187
121
150
165
150
218
231
150
164
170
150
112
234
112
167
167
112
181
176
150
195
175
255
150
150
150
187
150
194
150
150
115
150
193
223
121
167
255
201
192
172
131
192
150
121
177
115
193
176
137
150
123
123
172
167
205
158
121
168
167
112
112
121
231
186
250
112
123
115
131
121
147
235
175
112
208
226
176
172
156
112
156
128
158
208
130
217
112
176
121
275
135
194
186
150
165
255
156
123
150
159
121
121
168
175
250
218
203
112
128
189
112
165
208
195
186
235
112
193
170
208
135
137
172
201
112
167
121
191
121
208
163
158
112
128
121
135
201
172
121
187
171
172
208
193
172
181
170
220
181
112
208
136
186
123
112
181
193
121
121
150
123
192
150
165
263
150
193
194
150
112
172
112
195
165
112
182
207
186
121
274
200
165
174
255
187
171
181
226
121
210
208
165
165
137
150
112
165
208
165
167
121
112
112
219
121
150
112
225
195
192
135
112
150
159
246
159
199
150
167
208
172
156
121
192
160
137
165
208
231
112
170
184
135
233
150
121
234
174
171
192
237
137
112
165
192
208
150
223
211
210
205
147
150
112
210
244
137
172
158
194
135
165
150
130
207
279
121
115
205
190
135
121
161
204
176
172
112
228
150
128
228
150
123
208
238
112
150
150
121
150
150
112
135
201
123
115
150
218
208
208
137
167
194
208
136
170
193
172
192
195
194
193
232
167
150
194
170
112
181
227
150
174
123
152
171
203
171
130
227
135
121
276
121
234
121
208
147
150
165
156
150
240
167
181
128
157
247
175
226
112
156
172
237
181
146
181
123
170
216
170
165
208
209
172
219
189
219
150
173
177
230
123
137
231
165
265
208
219
208
165
178
229
233
208
172
121
152
150
258
207
156
181
184
170
193
240
194
130
208
143
170
194
208
172
208
211
208
181
181
178
146
121
212
172
165
190
157
186
156
121
137
167
201
171
232
165
147
208
164
212
121
147
176
137
172
150
115
150
186
121
130
123
112
165
194
146
209
144
121
123
167
231
250
250
176
136
203
167
208
189
181
165
128
243
147
187
135
165
192
124
150
112
137
150
167
112
172
172
223
150
170
167
172
219
147
194
112
187
202
135
228
156
202
237
150
176
210
203
150
201
207
150
121
121
137
121
171
123
224
170
172
205
202
186
184
123
172
150
112
176
112
150
186
121
210
124
159
184
194
234
137
234
112
150
130
187
187
201
249
239
217
150
208
211
137
161
144
210
121
150
203
150
276
208
177
186
203
201
187
170
176
265
255
144
121
208
159
228
228
177
176
112
192
176
208
167
244
176
201
112
187
175
121
208
115
220
136
121
208
208
172
167
112
121
162
172
176
200
208
219
112
121
112
227
205
181
121
112
158
195
123
228
112
172
112
182
240
121
170
237
165
137
123
147
182
189
123
121
121
150
181
147
195
194
150
150
112
165
150
171
235
150
246
150
112
112
231
211
195
150
253
178
234
170
172
247
208
130
228
204
150
219
171
172
193
150
112
123
150
167
164
177
167
170
207
233
168
240
172
186
237
213
233
228
115
150
205
150
229
203
167
172
186
121
237
208
150
150
233
137
208
231
112
194
196
124
167
150
159
147
208
112
212
237
172
210
115
150
195
112
112
201
121
181
229
205
167
165
136
182
216
182
164
237
172
130
232
171
203
204
150
150
209
158
208
212
181
172
172
112
210
136
112
212
135
112
172
150
115
192
165
211
135
207
121
150
112
181
121
121
171
238
203
121
164
124
162
168
212
167
144
257
203
224
184
174
172
172
206
112
186
121
165
250
158
205
170
172
208
243
121
170
181
115
271
172
112
150
150
170
240
186
225
135
208
189
176
150
195
150
231
112
137
212
164
150
265
156
165
193
237
150
136
150
167
150
150
137
177
194
150
123
177
112
239
165
112
236
157
186
121
150
160
237
165
172
121
228
242
164
220
165
195
228
112
121
172
150
216
181
156
137
170
189
112
130
121
276
208
210
257
186
167
160
150
188
195
172
123
150
150
112
202
121
121
121
186
128
208
130
150
150
211
193
150
216
186
201
121
171
112
112
150
112
159
242
112
178
170
112
243
158
205
150
115
112
135
203
121
112
112
226
121
121
112
239
228
189
150
121
237
217
212
224
255
200
112
208
194
121
176
208
208
174
172
193
123
150
170
167
150
167
243
150
194
302
158
150
150
112
150
250
191
170
112
172
203
124
189
178
150
260
204
208
147
150
112
225
132
243
150
181
121
177
112
123
137
186
171
150
232
219
176
152
172
228
150
123
112
112
150
241
150
137
173
172
196
170
165
241
112
123
158
199
220
150
223
244
208
150
112
179
208
194
150
186
112
112
150
124
247
115
112
112
186
150
197
124
121
172
150
112
177
177
167
207
208
158
121
202
181
112
195
168
172
172
265
220
186
167
150
194
150
167
121
227
232
168
208
194
150
150
159
267
194
194
177
279
150
147
208
229
112
170
259
302
233
128
195
172
112
241
208
121
176
156
177
208
172
172
195
190
121
112
150
190
170
172
205
203
112
230
165
121
193
112
195
255
164
139
150
208
170
228
147
210
208
196
194
172
172
121
186
147
171
112
176
123
186
150
170
171
150
164
167
172
255
167
204
160
154
147
194
207
112
150
112
209
150
235
123
167
121
240
212
177
280
143
212
186
197
184
170
137
209
150
153
177
178
193
201
208
112
167
167
128
137
165
225
150
181
121
220
181
150
123
232
123
112
243
170
234
255
115
207
172
150
121
224
208
121
208
208
181
158
172
241
150
170
112
150
229
229
158
144
112
172
231
186
178
205
160
162
228
193
167
121
121
156
167
112
121
208
181
112
112
216
159
170
175
208
172
228
167
211
121
213
259
150
239
130
121
263
152
174
112
167
150
176
186
121
160
147
150
208
112
208
172
165
250
171
121
167
194
228
112
121
121
170
170
278
156
165
211
187
190
112
208
112
147
220
168
115
123
176
194
244
178
167
203
186
202
150
112
137
121
263
202
150
112
121
158
172
112
226
207
224
208
150
203
202
121
121
233
205
210
214
112
208
171
228
123
150
243
212
168
150
215
215
219
170
255
112
172
156
250
210
121
172
158
193
150
124
197
121
170
167
235
239
174
165
234
208
176
194
136
210
302
258
201
144
181
150
164
250
194
168
137
161
150
202
112
210
112
177
150
150
176
221
232
172
123
200
167
302
121
123
184
150
172
170
172
171
150
232
121
186
156
171
112
159
208
165
216
215
178
194
112
124
165
147
186
128
170
135
152
195
131
112
165
203
150
150
170
112
238
250
112
187
147
121
178
181
146
205
240
252
177
225
176
161
121
167
150
208
121
112
176
112
208
121
198
165
166
238
210
228
172
210
130
205
112
147
150
228
121
219
167
167
186
128
207
158
233
220
204
124
170
210
184
302
226
268
203
181
170
208
220
112
143
121
150
150
121
112
201
112
194
149
165
213
231
225
263
189
150
165
228
124
195
216
171
112
208
181
115
194
112
202
167
164
112
202
150
150
210
174
159
231
160
121
160
208
112
237
172
208
172
209
208
150
156
186
115
150
219
208
212
210
112
178
165
175
112
158
217
115
124
150
167
255
170
121
255
178
150
187
121
190
237
229
229
156
152
203
147
208
121
150
150
231
176
174
149
215
174
167
112
167
208
121
150
208
186
152
189
171
179
165
159
203
167
150
170
172
208
112
165
195
150
187
171
208
112
219
172
171
276
121
171
171
164
121
112
150
208
112
121
152
112
172
150
150
302
179
112
172
202
208
124
147
212
193
181
218
135
208
121
202
112
152
210
208
164
121
163
220
147
112
150
259
150
208
208
121
176
158
192
150
208
136
150
263
255
157
136
201
177
165
121
302
130
112
112
150
167
158
150
112
112
208
208
237
150
112
150
171
121
231
234
150
192
172
175
172
150
176
112
219
147
112
150
208
190
181
212
170
155
194
238
202
208
220
123
184
302
208
152
198
250
121
130
177
208
165
177
150
136
112
172
201
208
210
208
302
112
276
123
112
204
165
112
150
184
150
209
207
112
150
150
135
208
267
171
172
150
124
150
150
112
225
150
121
220
229
147
130
170
164
130
121
121
121
112
121
167
112
184
147
121
167
112
177
228
208
194
172
150
156
194
167
150
159
112
135
128
121
255
150
121
159
158
115
150
230
130
228
235
193
128
150
137
137
194
167
112
172
162
121
223
193
275
161
123
164
175
194
217
167
201
167
172
202
206
201
208
208
171
112
172
182
112
121
250
121
172
208
136
208
225
228
246
181
194
150
112
135
170
121
276
135
167
171
115
112
150
164
112
171
147
136
150
160
186
112
172
215
136
112
160
175
147
194
136
172
208
229
174
193
158
230
112
158
150
176
195
130
190
202
245
121
150
232
136
150
237
121
115
228
195
171
195
212
193
255
121
112
172
123
165
124
170
150
204
150
244
123
112
167
181
208
247
174
181
172
167
123
208
275
187
237
147
193
135
121
150
203
121
121
228
172
121
192
158
220
136
176
150
176
112
176
152
177
186
210
165
193
112
181
186
150
270
150
121
112
121
124
150
150
115
202
172
150
123
228
115
195
168
187
121
210
112
175
190
171
159
112
136
112
124
233
214
209
150
249
150
231
121
150
219
112
150
181
156
194
147
208
171
112
167
201
173
150
239
150
208
121
237
208
184
143
172
212
150
194
252
147
150
243
121
150
124
150
226
226
112
176
150
167
170
184
112
208
241
189
217
216
172
170
198
186
137
172
211
174
278
218
245
170
272
203
184
243
176
193
150
220
158
202
172
171
135
187
208
121
205
263
237
186
239
150
121
238
164
208
229
231
112
194
112
112
171
170
115
208
115
150
150
168
130
112
174
123
168
191
194
208
167
208
112
128
194
135
147
232
169
121
194
170
174
210
136
171
121
150
192
112
170
195
175
112
131
209
215
112
208
210
172
269
233
112
167
121
112
146
172
168
170
202
136
229
243
137
150
150
172
201
218
202
115
172
150
171
237
167
150
172
112
208
207
171
135
260
150
186
165
112
167
112
165
165
121
143
150
175
225
115
171
243
123
150
263
215
171
186
231
217
172
239
167
194
124
202
164
240
194
170
275
121
136
112
158
147
176
150
147
136
233
205
146
190
170
167
150
172
171
150
263
189
121
112
121
207
158
121
150
121
137
193
123
208
176
128
150
187
193
202
136
208
136
225
121
112
208
112
135
244
150
171
115
203
193
208
208
208
150
186
150
195
163
137
158
112
170
121
195
127
112
137
243
115
150
170
176
135
172
124
123
158
112
112
112
208
263
175
121
173
194
208
167
228
174
130
144
195
170
173
184
181
165
171
231
121
135
193
194
144
172
225
171
121
239
121
112
214
228
270
193
187
208
207
208
174
175
150
167
177
112
124
121
156
208
232
194
194
212
231
201
243
150
115
165
121
123
186
147
150
208
194
210
136
196
136
175
112
135
165
150
192
214
176
137
121
215
121
219
202
172
165
208
121
139
121
121
112
112
236
124
150
246
170
186
172
147
156
121
112
194
181
177
245
193
112
208
121
147
121
194
147
170
162
135
228
207
164
121
150
121
135
167
159
150
172
150
201
112
172
217
150
121
150
112
187
236
243
260
174
263
167
176
237
214
212
187
150
189
172
212
171
121
208
150
194
176
136
212
167
123
172
165
186
302
207
150
112
264
187
121
237
136
161
243
112
194
186
193
121
112
201
135
164
123
131
112
112
121
232
219
112
172
112
216
203
263
150
176
193
186
216
164
177
172
121
220
156
208
172
112
170
121
220
302
170
170
170
158
167
121
164
112
121
208
171
123
170
176
219
159
165
250
150
178
201
150
123
170
240
202
195
150
112
192
172
219
147
135
208
193
250
193
121
196
112
224
194
173
212
201
184
301
150
171
195
121
150
158
215
257
130
233
244
121
208
208
121
172
160
202
167
150
199
202
167
186
174
150
124
150
272
205
121
112
170
150
208
245
112
263
170
172
136
170
112
214
170
185
201
112
123
150
172
112
229
137
121
228
187
210
150
121
112
208
259
123
187
231
112
121
193
172
201
121
167
179
150
210
187
150
121
121
187
194
174
243
121
121
257
208
165
192
163
112
208
121
238
112
208
181
187
112
112
121
172
202
150
150
123
147
164
179
168
166
167
164
121
181
170
208
121
228
112
203
121
150
196
207
194
239
168
228
159
272
210
228
167
130
170
172
150
170
165
150
220
176
213
112
159
121
165
210
172
167
121
170
170
172
150
210
205
231
124
150
208
115
165
176
226
170
175
172
216
174
150
278
112
232
208
255
240
112
195
150
159
135
112
121
241
172
172
121
165
212
195
171
187
220
150
150
202
172
172
176
170
123
156
186
276
250
121
182
238
218
147
121
194
121
123
135
189
172
192
150
208
112
112
160
135
235
123
170
135
219
198
121
171
187
181
255
150
112
165
176
112
150
112
112
219
177
187
168
150
265
170
112
208
195
194
235
136
170
177
150
124
150
135
212
172
176
227
237
150
130
121
150
171
230
193
167
150
170
112
136
112
215
135
179
171
231
176
184
195
208
225
150
175
112
200
167
172
150
123
159
172
158
255
112
194
228
241
137
241
179
170
199
255
112
259
229
150
176
202
135
121
156
150
225
194
208
256
123
123
150
167
171
217
176
242
203
177
112
172
137
176
150
202
167
150
184
201
210
194
228
194
150
137
208
121
158
202
150
164
112
170
208
123
172
217
300
150
194
137
161
167
115
214
121
135
186
150
150
112
218
177
186
167
176
276
182
139
159
171
112
150
135
150
112
220
208
239
123
171
189
210
217
123
212
147
115
237
208
159
173
135
168
112
201
210
150
205
184
121
209
172
215
187
171
194
244
141
184
112
208
152
184
193
123
219
170
208
208
123
121
150
170
150
231
159
159
112
203
123
156
150
112
255
121
150
240
112
170
150
124
201
124
167
171
112
112
231
147
121
230
137
193
143
150
174
270
150
220
112
266
233
124
160
228
121
170
167
278
150
167
147
168
174
150
263
186
208
167
136
174
158
135
156
172
156
194
121
158
203
150
208
167
182
168
196
183
168
291
158
219
192
258
208
121
172
173
121
224
189
212
121
167
121
175
192
174
205
167
137
171
216
181
158
167
205
121
174
150
135
150
172
152
123
137
165
208
112
230
172
194
137
150
167
170
170
137
135
161
150
167
147
195
202
150
170
208
123
218
112
121
215
112
112
112
150
236
167
167
208
297
208
176
115
150
163
228
130
195
164
172
112
214
112
150
176
112
172
172
178
172
150
157
209
137
233
219
123
150
112
150
213
177
208
172
205
112
112
203
172
167
176
121
167
121
181
166
167
208
172
150
181
167
202
225
181
193
255
112
170
150
202
220
219
156
147
208
112
202
176
167
208
121
150
165
171
200
229
150
219
150
135
193
157
193
112
150
150
176
121
211
258
203
150
121
176
177
112
115
242
215
150
239
165
239
167
121
178
165
150
164
209
231
112
112
157
152
136
124
165
226
123
170
231
136
170
251
115
172
170
172
167
167
150
124
170
172
150
159
150
172
176
167
150
121
150
170
121
165
150
208
201
167
150
193
250
214
197
150
236
208
150
167
150
171
112
208
208
112
136
124
238
147
172
211
123
187
172
121
121
121
165
167
121
174
158
137
181
170
187
195
150
135
208
201
121
239
237
208
209
239
172
150
302
121
115
229
185
121
225
121
160
193
150
159
187
175
204
195
158
167
170
121
141
175
186
121
150
194
188
123
172
276
186
214
173
250
170
128
187
150
201
192
112
167
208
240
237
112
172
230
112
194
121
112
124
121
170
255
201
112
215
115
112
208
121
181
176
208
112
202
208
121
112
176
230
150
227
172
195
216
214
218
150
193
214
202
197
208
240
177
112
112
168
150
112
250
205
172
112
112
240
208
112
136
121
164
234
112
187
193
205
121
152
171
137
112
115
167
170
193
201
194
171
172
150
121
165
186
160
170
208
147
150
208
208
226
219
112
253
172
112
167
192
157
176
205
276
176
231
150
123
137
172
186
115
172
192
210
160
272
181
172
137
150
165
150
136
158
123
192
170
150
186
121
186
171
170
255
193
159
172
259
158
213
194
165
193
172
170
165
121
112
165
112
299
112
193
143
128
153
164
165
175
195
176
225
187
167
255
164
172
172
204
170
171
150
137
121
225
193
150
176
191
112
159
239
150
121
187
112
187
235
186
135
121
150
112
208
199
121
186
150
202
239
171
195
121
232
208
195
112
170
278
219
115
202
282
150
112
160
150
233
229
206
208
112
130
150
172
208
150
194
165
137
208
167
121
212
172
233
112
232
226
112
121
115
135
150
167
112
167
208
137
121
112
172
184
186
186
159
208
171
228
135
203
137
210
208
181
167
172
167
201
121
171
152
135
115
202
165
259
124
112
229
121
150
170
208
121
172
112
193
186
165
203
181
161
249
193
175
208
289
123
112
121
208
115
112
158
186
230
208
172
172
187
158
172
112
168
171
150
170
165
208
121
112
233
150
137
198
263
203
181
208
208
238
150
115
121
167
160
170
112
222
121
223
172
156
165
220
112
170
150
178
212
112
130
168
112
112
228
208
150
201
195
212
171
112
215
239
208
150
255
212
272
208
172
212
231
121
250
201
150
165
208
112
121
121
167
165
170
121
196
150
264
172
171
195
171
112
150
228
194
212
260
123
121
172
172
178
128
121
172
137
150
269
112
208
112
224
208
208
187
221
212
193
186
186
171
218
186
208
208
159
150
150
239
121
172
170
112
112
255
147
167
150
228
121
276
240
237
231
150
112
150
193
124
152
123
156
174
143
228
219
214
172
225
123
150
208
195
258
164
121
112
172
192
150
237
211
135
267
172
201
265
123
121
112
150
171
177
112
181
220
208
198
150
150
225
186
193
172
208
229
196
121
203
170
112
150
167
165
123
135
193
135
172
228
181
135
193
141
181
150
112
210
243
212
123
167
112
150
171
212
112
172
217
176
239
253
150
205
237
172
250
190
228
204
231
237
165
164
242
112
197
186
217
135
171
123
147
167
208
201
228
170
224
172
153
171
186
131
193
190
143
203
241
218
167
187
150
112
170
173
195
219
225
121
180
264
121
263
147
115
150
112
288
208
208
195
172
214
121
196
219
112
150
112
160
193
195
150
278
150
208
194
212
218
208
172
171
176
150
208
208
128
112
241
179
164
150
195
115
208
149
189
205
150
173
135
112
172
171
225
219
172
112
112
121
167
172
208
121
112
121
137
181
194
147
170
141
287
128
181
228
171
112
194
203
193
176
112
150
115
206
194
208
172
165
164
172
210
216
288
150
121
208
121
231
150
208
150
172
171
231
152
208
159
215
226
164
202
201
238
212
167
131
276
121
217
233
121
158
255
176
233
147
112
112
206
160
150
170
170
186
128
150
164
263
229
172
150
159
121
220
167
112
198
205
194
237
112
250
156
112
247
253
150
170
112
165
220
200
150
150
150
165
231
175
190
228
167
167
195
239
187
181
175
164
135
175
208
186
175
172
170
228
177
165
123
192
208
178
177
171
150
136
168
208
165
121
219
187
130
240
208
237
201
187
187
112
238
156
112
278
112
167
181
137
167
210
167
171
193
192
121
150
172
121
162
170
231
150
188
177
170
123
167
179
112
181
217
150
150
208
112
170
123
171
123
158
152
237
121
220
124
150
159
112
176
208
112
150
167
167
137
237
123
187
167
121
171
112
302
121
172
121
225
121
136
192
208
232
167
167
121
175
193
150
123
181
158
198
186
112
177
158
121
228
239
170
208
187
180
137
186
121
171
181
150
176
158
172
233
187
181
170
170
270
208
172
167
135
112
112
123
195
171
276
170
150
158
170
150
250
121
172
197
150
208
172
220
176
150
220
121
121
170
150
150
181
217
158
212
115
213
112
150
184
165
217
233
156
250
208
150
115
205
196
150
181
112
212
220
172
199
121
115
112
225
168
112
112
175
208
170
177
167
170
121
167
124
150
259
147
189
123
171
263
156
208
170
171
196
210
112
186
150
150
112
174
172
130
176
121
165
172
192
112
158
160
191
176
276
198
229
181
162
231
160
176
233
186
124
150
150
152
181
176
167
167
194
212
172
213
170
160
208
162
172
196
192
121
112
112
150
173
150
184
171
158
112
240
158
115
147
121
143
197
172
187
208
195
186
112
121
276
189
237
165
150
218
220
121
112
121
112
121
174
156
208
166
112
212
279
237
217
136
193
228
201
150
208
170
121
203
150
150
121
218
135
170
150
208
202
176
176
181
165
150
121
189
208
208
112
121
208
121
171
249
150
174
176
150
228
121
172
167
136
186
170
157
167
172
112
127
172
202
250
172
150
240
231
228
121
121
112
226
220
112
228
192
165
217
174
112
201
150
171
160
230
193
171
201
137
121
121
194
160
165
217
164
167
135
258
112
123
193
150
136
171
121
225
150
202
150
187
202
136
123
195
123
171
170
167
220
189
147
150
178
167
112
167
231
305
219
177
170
176
121
137
203
115
136
150
112
150
150
121
136
112
136
121
172
121
171
186
181
182
150
192
210
170
208
121
137
208
208
215
150
267
212
112
172
173
201
255
123
170
172
165
264
181
115
121
176
157
170
123
216
189
171
172
150
186
193
165
193
121
124
186
150
170
135
165
187
231
150
112
216
150
170
199
187
184
171
137
193
156
115
121
135
150
202
237
195
121
158
170
182
208
135
237
171
170
208
150
235
143
219
150
226
199
181
216
227
192
170
185
194
163
240
171
229
231
123
246
168
172
150
194
150
176
201
229
170
170
150
115
157
150
112
187
229
121
150
184
137
167
235
193
150
150
202
220
121
150
198
232
181
156
150
121
178
237
193
136
152
130
208
275
112
170
167
242
220
225
226
208
150
156
192
216
209
174
112
112
203
181
212
194
243
121
112
172
219
195
194
211
228
237
157
214
214
167
144
225
172
136
150
112
232
202
112
124
172
121
217
112
152
187
212
150
201
172
150
170
172
167
170
123
141
255
250
112
167
159
189
135
159
121
124
115
248
112
158
124
225
231
172
298
121
121
115
158
170
219
150
162
176
124
210
172
167
229
150
121
173
150
239
201
121
210
167
121
136
112
236
143
136
150
112
168
153
201
112
230
257
112
159
208
150
150
124
179
159
112
208
150
225
199
217
201
258
123
164
186
112
112
192
115
172
164
174
143
208
177
208
170
172
250
203
150
172
181
147
194
165
171
182
164
112
121
201
112
112
224
112
121
130
150
206
175
112
204
192
187
150
156
167
121
231
165
135
167
170
112
208
232
167
165
144
196
121
115
255
167
170
250
181
203
121
202
172
163
211
226
208
123
202
135
150
201
137
130
156
123
121
121
172
172
153
213
135
156
276
121
228
165
208
181
167
136
231
121
171
228
167
208
159
210
167
208
172
213
179
234
115
147
181
187
208
172
202
250
150
112
196
150
181
121
150
112
168
165
147
281
150
112
112
208
150
218
150
112
136
167
121
112
130
177
174
188
166
136
196
195
150
208
160
218
203
172
150
208
204
172
231
171
177
112
181
193
121
171
228
147
181
123
137
170
195
123
172
159
202
150
136
210
167
112
150
168
231
255
175
205
178
176
204
112
179
112
228
112
170
203
175
176
208
150
123
228
165
181
162
112
229
221
170
243
195
176
218
172
194
112
112
212
171
229
165
263
150
167
112
194
172
121
257
240
150
189
121
219
229
189
171
231
181
194
150
203
194
121
112
172
150
137
112
208
193
208
174
150
195
121
150
236
250
123
170
157
288
172
164
175
181
196
203
225
217
164
255
176
130
215
112
121
158
112
226
203
172
203
112
194
231
112
181
150
195
123
186
159
150
165
150
230
237
186
181
158
211
150
123
172
143
217
167
208
172
210
193
187
112
165
170
121
171
121
146
112
238
193
226
258
255
170
121
146
174
156
270
121
189
160
171
229
121
239
259
135
130
150
112
167
121
112
239
121
121
250
208
201
112
167
255
228
223
208
233
208
176
121
167
150
187
124
152
205
210
112
115
171
150
208
170
263
150
172
167
152
150
174
171
172
164
207
165
218
150
290
174
195
150
208
244
121
123
121
172
219
176
237
243
121
112
201
205
147
208
207
228
208
112
177
171
208
226
228
168
121
121
172
171
228
177
176
195
152
250
181
208
203
177
225
191
124
150
147
186
112
167
219
208
150
112
201
213
167
150
172
181
194
201
121
135
121
112
112
121
212
150
112
124
279
208
225
123
263
216
136
156
249
213
208
121
210
194
123
242
213
261
150
150
172
146
164
223
187
208
167
209
170
181
228
206
112
217
170
170
184
168
227
208
121
150
150
215
150
210
171
147
178
194
112
137
112
136
223
112
255
194
167
228
150
172
203
171
121
171
219
150
187
172
216
150
159
160
172
156
137
225
243
187
165
195
208
150
194
181
123
204
171
115
170
212
121
150
112
112
237
207
202
224
145
124
165
165
150
112
233
137
160
201
202
147
150
112
150
112
121
165
150
170
186
121
158
204
167
121
231
176
208
208
112
150
162
240
153
147
150
121
150
170
218
219
150
194
165
172
252
208
165
150
112
253
210
112
162
228
239
302
240
167
130
212
171
156
172
112
195
123
250
177
237
150
225
170
167
181
150
177
220
174
112
167
208
202
232
150
112
150
156
112
150
181
171
171
256
121
271
214
195
176
156
225
235
186
112
195
150
203
194
228
208
255
255
172
172
150
123
112
208
150
170
135
186
123
137
150
302
167
146
174
206
150
205
112
235
172
115
121
128
112
208
136
170
203
165
193
156
121
228
121
210
170
167
172
165
202
112
236
112
211
170
121
168
130
165
215
146
172
196
183
150
206
112
143
219
158
208
150
186
124
150
164
186
210
152
112
112
239
167
121
184
193
186
136
210
123
276
226
137
170
136
237
146
223
172
167
179
186
121
228
112
150
124
172
150
193
215
193
150
130
150
121
257
194
112
121
187
217
171
123
241
150
193
187
225
219
276
136
121
228
121
179
203
176
121
171
121
141
215
172
201
194
112
112
121
171
170
150
207
186
172
121
144
172
181
150
291
172
208
123
243
165
171
112
181
176
150
207
208
164
167
186
160
220
210
207
150
112
182
164
176
239
147
202
112
158
137
176
164
212
121
181
112
225
150
297
208
193
150
194
172
195
160
167
150
228
165
150
195
112
123
121
208
195
211
135
150
302
150
152
231
112
265
172
150
181
208
121
244
202
241
198
170
123
220
189
170
170
112
150
220
157
220
124
186
112
167
168
112
210
130
112
150
220
112
201
150
112
112
136
147
270
212
186
115
184
228
135
121
182
112
176
160
177
150
193
150
157
212
121
112
121
171
172
208
121
112
225
143
112
250
121
235
205
115
112
208
167
237
207
198
112
243
186
174
194
167
195
231
121
208
167
187
121
194
160
172
263
212
170
112
226
181
168
277
219
121
221
171
150
177
177
112
160
205
212
193
192
202
250
181
174
150
221
170
208
181
170
288
178
121
186
150
130
265
203
170
136
302
193
150
181
115
194
167
123
112
172
172
112
150
115
121
237
156
170
167
131
179
288
150
121
171
190
167
112
172
167
176
172
182
121
175
121
150
250
237
192
228
161
170
167
115
172
192
150
150
121
131
215
150
174
115
195
181
172
112
192
165
208
187
170
235
155
115
174
172
200
150
170
177
250
208
216
121
112
170
176
112
171
172
233
112
112
112
228
205
217
171
196
121
121
231
194
112
150
205
150
150
208
186
128
195
121
171
112
150
121
112
137
207
159
217
172
193
229
208
237
121
170
115
124
171
136
158
171
181
112
172
121
165
121
170
167
265
167
112
172
186
112
121
208
172
121
137
121
150
187
213
115
192
170
112
247
172
194
208
201
163
231
167
171
137
150
128
121
232
150
147
150
112
208
112
302
210
112
239
256
181
220
136
199
232
165
177
196
150
208
170
177
150
302
228
133
250
150
121
123
166
195
181
181
212
150
112
159
226
170
172
160
121
112
181
194
121
172
150
170
171
212
150
192
121
174
208
135
208
208
167
121
210
150
121
212
135
210
121
112
238
174
135
208
112
123
167
227
164
112
207
165
188
193
225
186
112
203
195
231
150
174
193
222
124
264
208
165
219
172
228
241
112
121
150
194
172
217
136
112
112
112
228
255
121
121
171
167
209
194
167
217
150
150
170
167
121
201
208
112
150
150
121
167
165
260
175
121
115
150
172
150
201
150
150
212
208
150
112
147
175
165
195
137
201
121
228
208
159
187
163
170
147
187
167
159
186
150
115
128
181
171
156
205
112
112
143
190
205
112
250
150
231
112
167
235
121
150
121
186
181
233
135
208
121
250
228
229
150
160
193
171
174
150
185
170
131
144
123
229
121
177
176
181
207
171
237
159
112
193
150
124
208
208
112
189
176
222
228
167
112
112
171
171
115
112
150
150
212
194
177
172
219
237
209
135
219
112
201
158
171
165
112
112
240
243
112
233
208
121
193
249
174
150
181
205
124
237
190
276
194
172
121
150
208
150
123
112
212
115
165
170
253
194
165
208
123
218
232
168
254
170
167
202
228
124
147
124
212
206
168
229
112
237
186
137
167
167
112
112
181
121
185
112
167
121
167
236
177
201
115
135
172
147
121
177
165
112
228
299
202
176
235
147
152
184
121
181
216
112
112
115
210
112
216
237
112
128
210
150
181
130
215
112
209
150
193
172
181
181
255
150
158
193
150
172
121
161
121
158
112
176
187
208
123
150
172
112
177
136
203
266
121
229
205
181
112
112
135
201
172
194
203
187
195
201
112
181
121
210
196
168
210
150
207
208
174
174
181
186
121
210
112
150
170
112
171
174
172
157
181
112
208
121
193
112
201
245
150
186
167
153
162
198
159
123
136
189
150
123
150
150
230
226
150
123
203
150
147
209
208
192
193
165
176
172
208
176
208
172
195
150
112
232
187
112
170
233
167
175
194
225
150
193
228
205
171
130
208
176
150
150
121
177
150
152
167
137
112
192
208
158
150
174
226
186
172
187
150
255
123
171
213
150
192
130
176
216
208
240
184
257
194
150
194
193
172
226
135
198
168
150
159
205
208
112
194
150
121
174
112
121
130
208
112
254
121
112
156
150
175
121
112
123
209
135
112
168
204
112
170
231
112
208
158
232
112
184
185
174
186
167
135
150
258
115
207
215
208
170
156
238
112
121
143
147
237
121
160
231
168
121
170
121
201
239
121
172
190
112
150
243
171
150
189
165
150
192
170
171
278
123
123
170
150
150
150
136
112
121
195
187
173
177
172
167
150
194
218
195
143
136
150
174
192
112
228
171
208
150
240
176
124
181
208
170
112
215
192
167
136
250
176
202
123
112
165
172
121
157
181
170
164
115
208
121
167
150
195
264
219
195
150
207
130
174
177
210
167
168
112
115
184
158
178
181
165
121
160
143
150
112
205
150
150
167
112
112
121
181
167
212
170
150
208
210
228
130
194
150
115
208
237
150
250
150
203
203
112
210
194
152
212
177
226
112
112
181
167
208
156
195
157
229
112
201
171
139
228
121
210
172
219
202
150
112
112
150
112
195
210
223
115
226
239
196
167
208
208
115
193
150
207
216
112
176
209
271
130
231
164
143
181
181
150
124
121
194
234
187
199
172
167
170
177
177
172
150
124
165
128
158
179
165
135
170
184
226
121
177
150
250
207
150
201
112
143
150
150
210
178
112
147
172
112
185
112
150
228
231
197
181
121
237
228
213
213
121
208
112
187
172
158
172
121
147
234
112
190
181
220
165
177
150
121
157
209
150
121
175
150
150
150
121
177
121
150
192
121
203
170
124
171
172
115
150
165
208
159
172
172
228
197
231
112
115
250
159
217
233
237
236
156
196
167
160
172
167
187
171
258
187
255
208
170
150
112
228
195
208
228
209
150
121
176
231
167
195
174
165
187
112
156
253
194
124
150
209
176
112
171
208
186
150
172
175
150
150
121
158
176
121
112
115
200
196
176
167
135
203
208
150
121
193
175
278
201
112
143
172
112
170
228
174
112
220
130
121
121
167
224
150
195
178
174
130
172
158
112
150
135
179
168
172
190
112
170
178
112
207
297
194
176
112
121
194
112
232
240
135
130
181
172
112
197
210
123
230
150
150
150
172
150
150
194
250
229
112
194
164
123
128
174
219
165
112
193
201
292
207
172
112
201
174
157
147
150
219
212
112
150
218
150
150
202
167
150
179
152
167
150
121
203
150
112
208
207
205
150
174
121
160
121
171
147
121
135
121
130
130
147
112
156
150
194
208
201
228
308
112
150
165
130
112
210
202
130
156
160
112
123
184
187
112
172
250
112
165
210
167
112
220
121
235
112
194
170
211
201
150
179
172
150
123
263
194
223
150
181
161
243
208
192
208
186
225
123
177
193
233
167
237
172
159
112
172
210
112
121
150
170
179
210
167
167
202
208
172
164
208
137
210
112
150
186
220
168
296
150
165
172
121
172
150
205
171
167
199
172
194
112
112
158
150
233
165
135
212
192
200
172
187
172
174
220
168
121
150
193
193
176
172
150
172
232
123
208
150
112
150
121
167
208
123
218
180
112
212
112
257
177
187
202
234
192
161
194
112
159
181
205
145
121
223
208
208
124
123
135
170
208
121
112
137
178
187
112
231
255
208
208
172
143
208
172
237
266
112
184
150
181
172
150
121
170
123
170
150
112
208
258
206
186
205
226
137
172
208
165
202
226
174
152
209
208
165
276
239
187
165
121
175
172
130
215
144
194
202
311
157
112
165
112
187
172
150
227
121
209
121
112
186
201
112
176
210
167
152
150
225
228
112
187
179
167
202
170
147
194
187
135
150
174
193
135
164
210
121
170
204
208
121
112
135
150
135
181
167
208
121
231
121
171
201
150
150
147
278
164
226
187
112
115
196
171
112
265
137
237
123
216
150
112
178
234
237
209
194
172
112
150
115
165
208
112
135
233
219
112
209
215
143
121
176
170
159
121
167
172
228
159
167
135
212
115
137
193
173
193
137
208
136
195
218
150
176
190
170
130
192
197
199
112
167
202
112
137
177
210
147
112
205
112
172
112
112
121
112
194
121
225
171
236
170
121
201
165
174
239
208
121
205
227
135
192
187
228
124
177
203
137
112
174
112
203
194
176
171
171
150
112
150
232
121
192
192
187
150
150
112
207
214
158
150
150
159
170
217
172
239
112
150
207
208
123
128
164
150
170
208
121
176
230
192
121
194
246
121
212
112
196
167
250
136
135
150
240
167
150
121
150
177
147
150
181
225
208
208
191
171
143
170
208
237
206
208
112
112
123
187
172
167
167
150
121
186
112
121
156
244
170
172
175
220
168
123
160
135
207
237
172
143
158
123
143
171
159
167
177
181
121
187
121
121
194
160
112
187
178
170
172
208
208
135
172
150
193
228
250
217
150
150
167
231
210
172
115
173
231
221
186
150
168
219
121
245
195
177
150
181
165
181
121
237
147
208
193
227
172
121
147
159
112
170
150
150
150
121
212
209
150
112
192
186
248
193
210
150
137
150
150
112
150
218
136
208
165
136
226
150
112
171
228
150
112
176
238
243
243
263
176
150
150
150
203
255
233
165
123
172
170
150
112
150
150
172
112
218
121
172
150
208
195
194
172
150
221
121
208
187
176
232
123
236
238
171
150
212
150
219
150
171
274
170
157
170
210
158
217
170
208
136
174
167
121
143
211
176
150
170
181
171
202
165
150
156
150
123
121
121
121
172
156
181
145
263
121
176
205
167
167
165
162
171
150
112
202
234
112
160
172
150
176
170
170
208
147
181
112
123
176
239
135
187
217
162
172
164
192
208
167
112
172
203
186
225
112
112
121
112
228
237
150
158
167
208
263
210
136
123
170
162
172
167
136
195
255
194
150
121
150
172
198
160
150
150
112
302
237
167
123
176
204
128
172
168
167
164
112
121
156
137
121
167
172
187
121
247
150
202
112
171
112
121
206
235
171
220
168
152
170
136
186
226
112
158
135
257
236
158
158
137
255
167
160
250
121
173
112
150
147
147
164
121
152
237
150
128
150
165
135
112
130
165
179
226
208
184
150
200
170
210
233
150
178
187
123
170
150
193
225
121
271
112
269
208
250
215
227
150
121
228
187
233
171
205
259
150
226
208
170
214
121
171
186
150
172
187
121
150
150
196
112
177
262
121
170
167
150
136
166
177
112
220
181
172
208
210
181
171
212
144
167
208
231
172
164
121
167
150
157
158
168
231
216
121
204
167
220
121
121
181
150
181
199
156
194
150
150
150
112
208
112
240
226
231
162
170
112
239
141
196
172
160
170
204
194
178
170
206
165
183
225
208
186
150
208
150
115
256
150
196
130
165
201
194
225
183
177
194
152
112
165
205
237
158
150
150
276
202
194
156
121
195
226
150
112
121
139
212
193
137
219
173
121
196
121
210
112
165
196
150
167
199
207
208
208
137
172
150
204
171
205
136
193
302
124
135
156
112
112
181
150
254
166
185
139
121
253
181
150
124
121
229
209
179
250
150
121
150
238
234
112
158
171
124
208
176
112
237
150
230
217
196
150
196
202
121
167
165
159
136
189
164
112
243
112
228
112
172
195
121
213
150
201
194
181
167
121
112
237
208
202
198
208
112
165
208
112
135
123
217
235
194
112
170
112
172
240
223
150
208
196
214
236
150
186
176
228
156
121
237
154
181
184
228
213
182
187
208
175
150
121
170
176
171
194
121
167
164
207
167
153
210
208
170
194
158
167
172
123
189
135
206
121
187
194
150
172
112
156
176
135
208
167
208
112
219
194
177
115
192
253
171
213
112
112
150
112
239
150
167
203
150
208
121
212
170
190
208
152
175
233
194
128
121
171
158
158
165
112
176
186
181
208
231
123
212
158
167
204
135
171
239
176
170
176
150
159
172
171
238
207
172
208
245
112
145
212
150
167
208
121
112
164
159
121
187
158
194
150
121
171
208
176
187
150
150
193
112
195
212
170
208
186
264
208
164
136
112
167
112
167
150
150
157
219
220
171
172
158
150
271
201
161
157
208
168
212
194
165
202
112
302
172
157
123
130
136
170
176
176
226
150
112
167
241
130
115
165
203
150
143
176
121
158
121
186
112
195
172
231
174
121
123
147
193
150
208
150
186
150
167
112
150
208
156
189
172
168
246
211
112
240
121
115
241
150
150
150
121
121
189
201
150
121
170
112
167
121
167
208
201
186
112
165
250
150
112
243
193
121
195
150
121
146
219
112
167
112
208
150
171
207
239
121
112
112
200
121
137
112
112
171
156
165
166
167
170
208
255
194
165
184
160
112
124
150
121
121
170
186
196
150
172
219
189
209
112
147
130
201
123
150
218
234
156
147
150
170
212
186
121
139
210
167
164
243
171
112
182
207
112
187
121
195
121
112
165
136
147
165
194
135
150
172
175
135
236
170
124
172
150
137
208
167
184
194
176
205
167
250
150
165
243
208
121
124
208
233
150
202
225
121
192
172
147
159
172
159
147
145
167
112
194
276
165
208
219
167
170
172
112
235
171
167
150
121
150
112
123
194
192
219
202
214
239
147
150
112
159
212
135
171
167
302
228
112
171
201
208
208
139
233
123
165
226
167
208
121
170
115
220
156
176
115
112
206
123
215
171
210
181
193
150
112
177
264
121
175
194
208
201
177
208
190
205
146
172
177
150
233
112
234
112
161
181
203
202
150
167
200
223
220
174
250
255
192
210
176
202
112
112
201
123
150
192
194
210
112
130
194
147
187
160
167
121
124
121
150
167
150
170
121
156
172
112
150
165
186
128
176
172
195
234
201
232
170
237
150
115
115
195
150
150
121
121
112
112
215
171
168
170
156
223
112
172
191
172
194
150
181
172
124
162
135
167
208
121
131
170
210
124
170
170
167
112
121
195
112
259
242
121
112
208
181
112
225
194
201
201
194
256
246
121
112
194
194
279
136
210
170
112
210
150
136
112
240
137
237
243
165
181
208
112
168
217
170
112
172
121
150
215
121
172
244
221
176
311
112
121
137
208
172
123
112
123
239
112
193
160
186
238
239
170
170
161
250
181
170
171
167
172
112
121
178
121
207
226
135
194
193
199
136
194
178
208
226
150
150
205
135
150
150
139
150
121
150
112
302
186
193
218
112
265
150
112
195
123
136
135
160
167
231
152
112
150
121
203
172
112
171
144
195
172
112
121
112
160
150
112
112
219
112
136
226
143
203
237
171
221
171
158
172
208
186
181
171
171
159
250
243
115
121
210
150
186
150
176
115
208
237
170
212
194
208
121
172
231
208
112
147
208
240
172
112
193
176
229
208
231
171
167
121
121
186
123
174
214
172
121
150
201
193
206
176
247
302
150
186
167
115
184
255
176
194
165
130
208
121
150
150
220
121
217
185
202
210
229
121
196
210
166
181
208
208
181
218
204
203
143
156
195
115
219
262
196
206
217
150
171
171
164
112
203
186
159
165
112
150
302
150
237
150
199
150
159
130
164
192
217
135
218
250
240
203
194
150
302
121
302
235
250
171
179
264
121
212
226
204
112
112
219
144
194
187
257
177
170
150
150
121
203
150
115
150
237
255
150
112
176
112
187
254
208
194
203
112
121
228
228
112
150
144
217
231
112
136
152
172
171
121
150
121
150
121
187
208
202
112
115
171
218
172
121
255
112
112
177
223
150
124
165
150
234
150
150
263
208
176
213
121
264
121
167
121
223
152
150
168
112
197
211
225
165
174
217
121
143
195
199
136
183
213
172
135
152
150
170
150
167
208
121
171
112
170
147
112
176
121
165
223
212
160
112
187
219
112
181
150
210
187
235
123
156
112
150
215
208
236
167
208
112
191
158
121
170
189
112
187
203
172
112
150
210
128
208
205
165
123
131
143
225
112
218
262
164
112
232
150
208
121
130
172
185
216
223
227
208
150
150
240
150
232
112
165
212
208
215
112
150
171
196
172
229
237
170
121
239
150
177
170
121
171
150
143
112
195
194
171
178
121
170
123
219
286
158
217
121
165
121
143
170
228
112
147
212
208
203
121
121
164
208
229
201
213
112
219
194
187
210
228
112
167
112
150
150
171
172
123
123
156
219
220
250
150
171
150
136
167
167
112
150
172
160
165
150
198
276
269
172
195
121
195
208
171
187
152
192
150
193
150
264
160
208
137
150
160
186
137
276
165
150
231
150
158
204
150
198
194
172
181
236
172
212
225
192
170
161
171
164
121
150
156
112
211
208
165
170
236
233
243
167
181
178
177
167
179
208
172
179
210
167
159
219
147
208
150
167
194
181
135
121
121
160
112
130
275
150
165
159
167
237
237
208
195
224
136
208
174
192
159
123
198
209
210
170
208
112
150
170
112
171
186
237
137
187
171
167
201
123
195
121
150
276
150
186
220
170
165
112
167
112
172
172
208
112
124
112
172
212
203
115
158
136
150
150
121
215
121
194
206
208
112
186
112
228
228
193
165
150
208
175
208
137
170
135
216
163
123
160
150
165
220
174
112
167
172
121
229
243
112
243
194
150
150
164
147
121
150
195
242
121
176
150
208
239
170
208
210
137
172
208
167
150
112
112
200
179
193
172
172
210
172
150
212
150
171
150
170
237
150
112
150
121
165
145
187
172
150
150
112
208
194
150
171
112
152
112
112
112
210
112
194
225
208
121
240
123
196
123
189
121
158
171
150
176
208
112
164
210
112
219
202
121
173
193
232
193
243
172
112
112
176
150
121
123
143
167
112
176
282
147
193
208
130
205
208
218
172
123
150
202
112
135
112
112
170
112
170
165
256
158
112
177
170
172
200
112
193
208
170
194
203
225
112
112
112
228
170
212
112
226
112
150
182
164
123
112
159
207
176
144
176
150
150
167
208
210
147
115
121
183
150
150
121
167
263
216
225
176
123
172
131
165
185
123
250
208
231
150
208
121
153
174
170
195
193
124
208
179
181
121
208
226
170
203
150
170
135
128
215
187
202
156
187
159
195
187
212
121
217
121
150
194
164
178
130
201
167
225
195
199
208
210
240
177
208
186
150
137
165
171
180
181
228
195
208
208
220
150
172
239
203
205
201
150
225
128
170
208
181
115
210
164
238
208
260
173
172
150
212
299
215
209
208
278
208
194
121
208
170
186
240
112
237
115
121
236
194
121
175
150
112
256
176
184
182
195
137
186
210
172
177
201
281
302
112
150
112
152
164
115
165
239
150
250
172
170
150
150
186
181
176
225
112
150
212
211
170
152
263
225
204
202
121
135
207
147
209
150
208
121
150
135
239
112
137
167
190
150
212
150
150
121
226
152
115
228
208
202
150
112
239
112
112
208
176
172
219
112
150
194
195
171
112
121
193
228
112
121
207
194
210
266
245
121
150
255
150
112
208
121
205
135
112
141
150
121
150
189
112
112
195
231
136
123
147
220
177
195
237
255
172
173
121
243
176
181
137
181
165
170
150
195
121
208
167
178
115
215
121
156
207
208
176
150
121
172
167
150
150
210
156
130
202
158
171
172
150
224
112
194
170
165
123
202
130
231
112
172
165
112
128
115
157
208
219
112
172
263
208
176
112
112
195
192
275
161
172
112
228
181
210
112
121
172
226
205
150
165
229
147
213
174
160
209
194
209
150
165
112
170
150
167
208
260
159
228
112
187
115
213
302
215
174
143
185
121
201
147
213
226
171
150
253
208
150
187
150
177
181
257
158
194
160
208
115
176
172
195
231
188
150
201
213
203
194
241
150
255
168
207
112
219
112
172
150
121
171
187
181
123
128
167
150
253
112
186
231
231
121
165
150
164
202
123
150
193
186
163
112
172
112
156
250
172
150
208
171
112
182
174
233
144
171
135
225
124
150
174
172
176
162
187
243
194
150
241
189
112
171
150
229
112
150
178
164
150
121
208
201
156
176
231
130
150
150
180
167
174
237
243
150
208
222
143
112
186
121
150
136
167
121
172
112
201
181
229
208
123
194
206
225
176
208
112
112
202
130
238
167
170
172
112
250
184
216
190
112
150
167
121
172
212
210
135
208
150
215
208
164
121
172
202
189
201
123
208
152
121
234
184
276
174
170
233
177
187
174
121
121
165
227
150
150
202
112
208
164
194
237
217
208
121
186
257
150
276
176
217
136
112
112
156
193
170
243
121
112
121
174
210
172
172
172
208
187
150
192
212
208
170
150
212
226
175
167
192
150
172
112
150
168
170
152
146
219
146
150
144
135
174
112
225
213
208
153
112
121
123
112
231
195
239
171
150
177
212
208
112
121
192
112
164
123
164
150
112
150
112
150
121
195
219
150
172
170
123
161
236
136
258
112
222
214
278
239
165
121
170
218
206
195
150
112
172
210
208
112
150
159
250
186
241
228
208
158
121
170
186
156
150
150
123
212
222
170
158
112
194
237
210
187
121
165
223
121
137
177
168
176
232
172
177
176
167
238
112
167
150
208
147
172
189
205
112
233
195
208
123
130
164
121
218
137
181
177
112
220
150
228
170
171
112
135
150
112
171
167
150
193
172
201
121
156
112
121
194
147
228
115
121
137
170
176
112
121
176
112
143
168
167
167
128
210
208
223
112
187
167
195
194
150
136
177
165
112
112
159
172
195
150
210
201
171
203
130
230
135
150
217
115
112
121
172
171
239
150
186
150
150
194
181
181
208
150
112
211
112
171
172
170
121
158
225
150
240
276
205
121
208
176
171
172
135
302
208
112
137
147
217
177
195
150
203
112
181
186
265
112
115
112
202
112
297
197
170
112
115
150
121
181
137
172
112
219
136
276
172
193
135
167
150
228
272
266
199
171
214
152
203
202
181
158
156
150
150
195
165
112
150
123
208
112
150
150
112
176
121
150
241
147
123
176
167
150
193
112
112
170
177
170
219
128
220
147
150
174
112
112
165
181
181
200
150
232
137
204
160
187
203
171
211
171
150
124
170
176
112
172
208
137
171
194
112
194
172
170
152
112
112
150
131
177
202
172
136
150
121
165
217
121
171
150
181
112
123
187
225
187
173
225
112
150
150
216
177
208
185
172
206
174
170
112
172
197
218
167
193
150
201
164
208
173
201
121
165
256
208
135
181
112
150
172
172
121
123
160
121
121
208
194
212
234
156
225
228
171
171
121
178
121
228
123
150
177
218
170
193
112
172
176
237
177
150
123
220
173
208
194
225
115
203
150
238
135
228
167
170
147
212
150
267
112
150
170
150
165
172
137
112
147
207
243
115
208
172
190
150
208
150
239
147
174
263
212
186
197
112
156
211
232
150
208
123
234
225
165
186
112
112
147
121
274
137
124
152
124
210
150
202
172
121
203
136
136
121
177
123
128
172
212
208
130
150
112
187
150
216
121
207
172
121
223
172
150
112
150
112
207
167
176
205
170
208
112
226
263
121
115
208
234
123
174
170
150
150
164
208
170
112
150
225
168
242
217
112
164
237
250
160
121
218
112
237
137
177
121
165
152
172
164
164
194
150
176
212
115
136
177
167
112
172
167
184
150
112
231
130
170
187
180
112
239
165
208
150
171
225
194
172
150
121
207
194
172
170
121
181
179
226
191
160
150
135
203
172
123
150
237
146
194
208
150
212
165
112
220
193
121
250
193
156
208
150
195
150
172
172
112
216
135
194
112
150
195
176
239
112
227
211
176
212
186
147
112
165
228
212
174
181
171
220
160
112
150
170
150
201
247
194
121
208
112
181
172
214
272
112
208
161
193
178
150
229
172
220
159
174
160
115
172
123
211
219
121
150
167
147
193
184
150
258
172
121
150
231
167
201
208
150
167
136
159
172
121
150
253
121
121
150
260
167
156
150
201
172
230
158
228
135
187
181
144
181
236
112
244
193
112
150
124
168
202
167
167
167
186
194
278
225
115
172
164
121
202
231
150
112
121
159
121
214
163
156
123
112
257
167
209
112
121
121
210
121
160
194
176
208
208
152
218
150
112
165
150
150
179
167
208
187
270
201
147
171
208
194
165
124
170
208
150
121
121
167
208
255
135
208
176
167
121
236
112
121
167
239
121
112
212
150
204
220
150
208
170
208
175
168
112
159
167
171
201
212
219
165
171
167
208
302
217
150
121
121
274
174
239
172
150
150
157
156
170
150
172
112
171
172
121
193
176
194
220
208
212
172
112
112
205
165
193
112
208
150
150
150
195
195
171
121
201
165
179
171
190
181
250
242
123
228
212
176
112
217
150
158
236
112
130
210
150
181
170
168
150
200
112
172
161
167
171
158
254
208
135
164
112
170
123
208
150
241
267
150
210
112
168
167
112
170
158
158
203
160
231
144
124
176
192
150
121
115
170
112
144
121
112
186
181
146
250
171
192
202
164
176
173
115
150
172
170
112
150
187
115
276
112
123
228
112
150
193
230
121
112
150
121
132
193
143
170
205
150
150
167
181
275
139
150
195
156
184
274
167
194
170
276
112
158
121
237
123
165
156
194
186
191
199
170
170
152
135
150
156
135
206
194
167
219
124
195
208
121
212
195
121
250
208
137
172
228
187
150
215
174
212
176
288
172
165
121
170
123
176
220
150
112
150
208
171
217
150
167
160
202
167
195
167
112
121
187
201
175
212
167
167
171
112
193
178
212
121
135
150
174
136
168
137
235
170
210
150
218
225
121
208
171
158
121
236
121
228
121
112
281
228
244
150
143
115
208
212
143
242
158
208
115
210
203
194
168
181
219
202
150
208
172
195
255
135
150
187
123
219
176
121
181
208
150
171
172
156
217
218
155
196
164
228
208
203
171
249
194
150
172
175
172
112
208
208
121
228
235
186
171
170
121
194
123
209
201
212
150
123
250
219
194
167
208
135
150
150
121
208
182
181
171
205
112
172
200
170
121
150
226
150
247
194
212
150
219
194
165
186
239
112
222
135
217
112
172
250
237
172
203
121
165
112
195
150
217
170
250
201
208
176
231
156
177
195
171
112
184
170
208
112
192
150
121
226
210
200
207
150
150
167
201
208
172
202
203
150
165
219
208
149
218
150
302
150
124
121
208
181
220
192
121
150
193
208
112
253
192
150
121
175
208
136
112
172
207
159
156
232
211
136
175
231
252
121
171
172
112
121
210
123
150
121
215
193
167
183
167
121
112
150
196
270
195
171
276
165
177
167
174
164
228
172
123
190
135
210
112
207
124
204
194
228
150
208
220
177
150
211
165
150
167
186
150
112
112
246
112
165
170
174
302
208
255
228
112
187
165
137
186
216
194
228
135
164
203
208
175
170
150
136
167
194
167
150
172
172
160
121
112
228
158
147
186
137
225
160
121
217
121
121
170
176
187
228
135
216
150
197
150
272
150
172
208
202
172
176
112
239
237
112
186
202
158
225
112
194
231
239
181
252
150
150
168
121
231
220
219
171
150
121
135
174
160
144
257
179
124
217
238
172
237
159
172
150
150
143
121
177
192
135
236
150
112
121
208
208
193
112
150
158
121
135
163
150
112
181
202
223
194
195
115
121
208
150
208
124
210
121
208
171
112
130
150
172
208
158
241
255
251
112
193
164
172
180
233
186
123
217
128
187
170
121
178
253
226
150
150
121
172
170
150
150
212
115
112
170
247
237
238
185
174
172
147
167
194
208
218
130
215
123
172
150
215
170
208
150
236
112
112
179
229
182
136
121
150
150
212
172
220
170
208
167
241
212
150
137
147
176
181
123
203
150
243
194
189
210
223
115
250
342
227
170
193
175
112
225
170
112
228
203
172
239
279
159
209
176
121
112
204
135
121
172
112
250
150
203
135
167
136
206
172
112
220
156
250
136
139
146
194
112
181
172
205
208
235
123
159
150
112
150
150
276
193
130
209
167
137
121
222
172
203
174
150
123
152
195
170
123
165
147
167
208
170
244
202
202
237
159
170
225
121
135
176
170
172
171
228
121
187
186
112
167
170
121
190
277
167
182
201
263
170
194
170
228
136
208
194
172
202
164
112
193
181
130
176
150
137
150
171
135
115
258
170
220
128
171
137
194
302
187
165
112
171
193
168
187
136
150
208
210
150
152
182
160
208
150
216
242
164
150
150
203
136
193
165
206
266
170
231
181
181
130
150
144
147
115
150
143
226
186
121
112
203
167
194
207
150
229
192
218
121
121
208
112
121
171
229
121
275
135
150
150
150
176
112
190
124
150
234
167
214
302
208
168
112
212
227
147
150
159
187
260
195
192
170
112
112
199
112
112
135
229
226
201
208
143
250
194
112
226
112
165
195
255
112
170
137
112
186
219
112
162
236
165
165
150
165
112
123
150
160
175
250
230
112
150
202
124
124
156
164
137
208
171
207
150
252
121
158
136
223
121
172
208
176
217
159
112
112
181
194
150
150
135
194
112
121
195
211
192
228
228
299
171
112
208
172
137
165
202
121
208
121
112
115
158
147
165
231
224
158
153
237
202
161
136
172
263
205
237
171
266
176
217
165
135
165
226
112
128
121
176
165
159
121
257
115
286
256
121
150
172
194
172
208
208
176
112
228
150
229
215
121
150
137
160
170
172
167
176
112
210
192
164
174
181
164
210
150
171
208
245
135
135
150
189
168
202
176
190
224
150
170
181
172
208
136
124
170
150
164
167
121
172
176
257
179
243
121
172
175
189
168
112
172
171
112
203
136
112
123
176
239
194
158
208
239
156
203
267
189
121
207
170
202
136
208
164
158
170
123
112
210
187
208
150
147
121
137
112
123
160
150
168
150
170
302
236
167
220
228
208
112
171
215
112
204
130
223
145
150
112
239
181
182
124
225
228
112
203
178
170
210
159
167
189
202
202
187
150
186
208
170
186
150
150
172
160
123
215
219
208
160
164
170
115
274
204
136
167
219
152
160
194
203
158
150
112
115
250
161
172
263
167
115
194
219
179
130
170
135
219
277
212
150
205
160
112
123
128
240
121
144
121
124
179
175
150
218
165
219
112
208
228
200
121
170
193
121
187
226
121
194
182
112
263
201
201
194
199
276
150
241
213
182
124
150
159
186
192
217
170
175
209
208
241
123
208
239
168
150
186
192
173
265
167
194
214
112
194
219
170
257
121
150
168
187
150
153
112
112
179
123
176
203
220
220
121
223
121
164
186
212
156
112
167
214
136
160
272
112
112
121
156
185
136
121
170
123
150
194
121
208
150
216
175
150
217
167
208
112
210
208
187
158
123
208
121
177
272
237
238
236
171
272
193
136
165
150
170
124
139
172
208
150
236
165
121
167
219
172
170
165
160
165
112
123
205
170
150
208
208
226
208
160
160
207
225
170
147
123
174
233
128
143
121
150
150
172
147
121
224
135
150
232
186
172
121
172
130
172
208
254
170
147
171
171
208
121
170
202
115
121
170
150
112
302
194
189
208
150
208
150
192
123
150
226
147
192
202
168
201
150
150
212
150
136
124
136
121
150
170
225
219
226
150
150
226
217
150
198
235
208
205
208
196
206
192
208
186
150
202
240
230
255
121
121
159
252
233
194
135
123
208
170
170
192
123
230
130
166
226
152
208
143
174
194
208
172
226
194
150
208
150
194
164
228
112
112
158
121
167
184
229
147
121
150
150
167
219
177
193
150
262
179
123
247
215
121
121
112
158
193
137
233
136
115
112
237
123
207
121
112
112
121
208
194
150
150
255
235
150
172
130
167
121
215
152
238
158
135
159
176
187
150
136
150
187
167
171
174
299
115
135
223
150
208
121
147
177
115
228
302
176
216
172
194
121
189
172
167
112
178
212
208
157
150
167
121
171
177
208
201
123
226
150
208
168
194
194
197
152
203
170
172
220
150
121
135
171
112
121
123
198
207
202
121
234
208
189
121
152
144
141
135
171
150
121
232
150
150
168
112
192
230
115
167
178
259
167
237
165
112
223
121
150
187
250
172
228
208
150
150
121
150
181
150
150
158
239
171
208
266
112
121
161
112
203
212
202
112
171
177
112
202
194
147
171
171
150
196
212
187
172
165
202
176
202
186
121
167
216
171
112
172
235
121
121
128
150
112
181
146
174
172
237
190
121
177
165
170
194
170
167
115
233
208
112
233
186
121
192
172
220
135
170
170
208
181
123
137
174
121
124
137
172
165
231
150
172
150
112
172
218
197
143
150
212
233
123
124
219
228
194
213
112
250
205
121
208
194
176
158
171
171
170
228
237
176
172
150
169
176
137
135
209
170
186
230
115
263
157
208
170
170
181
123
164
173
112
195
121
264
192
231
250
203
158
152
201
194
123
176
167
186
112
176
243
224
184
144
213
112
226
230
112
194
170
210
112
195
187
229
172
121
228
135
181
174
184
150
159
128
219
121
137
170
202
121
170
198
165
195
150
174
150
150
167
159
121
174
178
121
220
195
121
156
195
121
170
171
203
170
184
147
181
192
112
121
228
208
150
208
115
170
160
202
121
167
172
258
210
121
150
172
128
158
205
194
137
150
209
152
195
137
167
167
150
200
207
208
215
195
240
172
219
222
150
172
176
112
165
172
172
211
211
170
187
121
136
212
135
112
175
136
240
167
203
112
112
121
112
121
167
170
167
121
187
112
170
193
135
112
187
195
294
205
234
112
193
121
170
115
112
203
196
186
208
218
121
165
170
172
228
164
181
201
150
150
115
156
181
112
121
203
121
208
172
193
202
190
210
274
208
130
240
172
123
160
167
177
195
212
216
131
121
112
150
150
201
194
187
275
121
121
121
165
212
202
170
112
230
164
135
170
228
225
167
207
186
274
172
172
121
123
123
171
143
208
187
171
121
167
132
263
219
167
212
137
208
203
150
121
193
168
192
228
237
194
222
228
112
144
193
194
210
255
181
172
208
150
135
226
135
228
187
159
172
150
150
177
282
137
150
194
115
159
115
150
194
172
150
112
150
123
112
150
150
123
276
206
150
150
121
143
172
123
164
112
228
172
143
189
208
150
121
170
112
242
150
121
194
150
232
172
150
213
184
208
121
165
112
165
170
176
174
121
115
212
194
150
172
172
302
150
194
112
210
150
171
121
121
181
232
182
150
189
150
150
172
201
168
124
177
112
137
123
218
236
174
196
172
208
171
121
150
174
207
135
229
112
239
170
184
121
204
194
179
172
170
170
121
164
170
191
150
198
237
121
185
136
170
155
181
121
238
150
228
193
150
121
202
121
181
121
210
208
214
208
181
150
112
181
193
209
121
239
121
232
121
170
150
150
121
174
190
135
213
181
181
136
194
171
208
112
170
194
265
121
150
208
137
165
150
172
162
135
192
177
227
202
170
244
193
162
172
228
167
192
195
208
121
181
121
194
168
184
136
172
150
208
171
213
195
135
208
195
194
244
226
187
193
232
147
255
170
112
112
156
243
112
165
193
112
193
172
210
172
112
171
112
237
212
150
257
167
263
172
208
137
150
240
176
181
165
211
172
194
164
121
150
121
112
121
225
208
210
225
220
255
172
223
135
232
171
150
136
112
195
201
160
115
219
112
181
217
121
192
121
112
208
186
112
203
121
172
158
175
121
147
189
184
137
246
135
150
185
172
159
272
112
212
214
172
150
150
112
150
159
222
130
228
172
112
219
135
170
135
182
181
156
240
123
147
215
201
250
121
172
195
150
112
172
150
112
112
217
183
150
228
112
150
172
244
181
192
121
172
201
135
208
217
232
136
150
121
112
276
175
250
172
174
166
272
121
253
128
237
171
112
135
165
171
172
150
115
137
305
208
165
203
112
121
225
208
167
121
208
135
121
202
158
121
176
165
208
135
203
121
156
167
112
112
128
238
136
236
157
311
150
176
209
171
112
112
131
167
205
172
181
137
219
159
121
225
158
208
201
172
121
156
121
150
159
112
121
112
152
115
170
211
194
112
179
170
225
150
241
167
199
196
172
170
210
171
121
147
212
121
150
213
205
121
176
157
167
156
150
212
167
227
212
213
112
112
164
150
168
212
112
193
172
121
187
170
172
112
228
121
210
115
150
123
179
203
112
195
203
112
237
121
112
240
179
171
231
208
146
192
112
237
210
112
231
150
121
193
167
250
150
167
182
237
121
150
276
167
177
112
137
178
112
135
121
193
123
216
170
121
112
217
183
121
206
135
219
172
200
121
171
172
181
150
177
150
219
212
121
202
167
226
124
210
263
204
210
172
170
208
115
112
223
195
150
217
189
112
121
172
172
192
212
208
205
143
192
150
201
234
179
208
206
227
112
147
215
172
181
203
228
147
150
121
112
112
165
210
123
194
167
242
193
223
121
299
152
121
128
170
123
112
193
115
165
170
217
123
227
232
115
195
152
150
135
171
150
115
176
205
207
167
208
160
194
195
194
150
174
150
121
165
210
160
112
278
171
164
186
170
172
195
112
167
112
121
194
112
158
186
112
121
184
172
187
208
123
150
150
227
245
257
167
121
187
202
208
170
112
164
208
121
172
172
175
225
112
150
150
171
112
121
206
217
194
121
112
121
171
171
165
172
202
112
150
208
164
186
184
121
144
245
121
179
139
189
150
192
209
172
203
277
192
150
121
156
150
150
150
230
209
179
112
123
121
150
172
112
208
176
121
115
150
112
147
167
112
150
170
187
112
112
172
121
121
260
123
172
167
174
172
193
150
147
137
150
167
193
135
112
150
112
112
150
167
210
186
217
112
112
128
176
170
147
170
160
137
150
150
208
115
150
219
112
292
167
186
229
150
252
124
121
292
150
182
195
167
112
112
208
137
208
297
211
112
203
265
137
208
177
176
167
123
193
124
193
167
171
228
150
202
193
170
232
187
186
112
123
152
112
201
172
193
150
208
136
150
121
112
150
135
250
208
115
229
112
208
123
150
208
203
150
112
165
179
167
150
172
150
150
150
165
152
150
204
143
194
150
175
137
147
172
150
208
123
150
121
239
150
229
194
208
150
112
112
115
121
165
202
174
121
150
208
112
170
121
201
136
144
165
168
236
121
164
175
213
181
208
217
195
226
245
181
217
181
167
187
112
193
156
147
173
195
194
237
203
170
160
124
187
213
112
209
172
112
165
231
250
112
203
177
112
112
212
121
147
181
121
167
184
186
176
247
232
208
181
167
278
176
227
170
255
175
170
112
150
190
226
198
121
167
147
174
193
123
214
174
181
201
171
112
181
212
250
171
170
236
112
215
228
186
232
208
242
147
121
202
172
172
189
172
150
121
136
187
193
121
196
150
171
150
112
172
192
220
177
172
207
150
210
181
284
121
121
130
237
193
203
171
201
165
150
182
169
150
150
171
121
172
112
173
172
228
112
203
170
123
219
225
159
112
177
247
115
121
121
215
239
208
112
208
123
121
193
203
150
158
167
179
194
208
226
127
150
170
112
172
176
232
112
112
203
172
121
121
112
238
234
123
172
167
139
112
112
150
208
172
121
121
229
112
196
150
204
165
179
172
176
115
168
181
181
172
171
112
150
121
167
123
112
143
112
233
150
200
150
167
150
123
297
174
112
121
226
152
150
137
137
172
167
195
121
239
210
150
194
167
204
190
172
112
217
112
121
172
156
238
250
194
260
202
123
150
123
112
150
203
250
219
137
167
202
112
112
165
112
115
137
150
156
158
190
150
268
160
258
174
172
232
208
194
158
172
112
150
172
167
228
165
194
202
170
123
144
130
177
171
150
172
196
115
189
208
186
226
150
189
164
172
112
135
214
143
121
209
164
163
179
217
121
115
172
121
112
121
171
171
115
231
165
150
228
128
121
171
192
217
176
172
121
194
203
178
121
187
177
159
176
123
208
176
176
115
228
150
167
170
150
112
159
172
123
170
177
208
178
121
172
220
205
168
172
214
150
112
194
136
239
250
174
236
217
202
172
112
172
150
150
150
181
186
112
177
167
195
193
198
166
150
123
236
207
150
161
170
193
150
181
241
245
239
186
186
170
193
193
208
123
193
164
163
121
112
112
115
170
194
248
112
135
112
239
121
167
208
171
135
208
172
160
258
150
194
195
172
237
112
163
158
150
176
112
181
112
167
171
112
225
112
210
147
156
124
150
150
150
215
183
112
203
150
136
172
238
115
123
121
147
170
194
121
168
208
176
128
208
193
168
232
121
210
177
182
181
182
171
112
216
176
174
240
181
115
208
203
112
147
121
152
130
228
150
112
137
173
196
135
211
208
150
220
150
194
136
150
170
202
220
139
208
260
121
239
305
165
137
231
172
226
187
177
194
115
193
200
112
204
115
186
187
181
147
167
152
244
137
175
202
212
167
176
112
170
202
181
121
128
136
130
112
165
143
153
189
112
208
150
128
225
159
232
167
121
167
167
124
218
150
227
278
112
150
165
178
176
137
123
194
150
181
121
121
121
121
225
208
250
202
123
152
259
150
176
240
150
208
115
181
112
112
257
175
121
135
171
226
217
216
150
170
165
225
170
112
172
193
112
232
177
193
194
137
179
115
150
196
195
112
208
208
121
115
212
123
137
121
150
156
174
228
167
195
121
203
150
174
150
172
186
137
150
150
176
208
217
160
112
170
150
167
176
179
128
160
226
150
194
172
237
194
208
147
150
186
209
262
181
150
265
174
208
208
121
212
123
208
217
172
240
184
208
112
150
150
171
263
121
247
135
193
135
199
193
217
202
187
238
257
152
121
112
124
164
192
181
181
208
172
172
228
228
150
170
218
208
233
172
172
123
194
172
121
150
112
208
135
171
112
156
238
150
200
112
112
112
212
121
194
150
171
112
165
208
175
171
167
128
150
194
158
150
230
156
146
258
212
150
172
150
165
172
208
210
194
278
150
171
202
150
165
137
205
208
172
171
150
123
150
201
112
193
208
121
193
182
172
208
189
112
172
150
167
121
112
192
170
121
167
168
176
171
210
150
121
112
219
218
203
152
112
139
225
202
239
167
170
172
225
172
193
208
121
208
150
121
172
181
208
255
201
112
167
112
150
208
195
112
174
143
172
225
112
135
186
194
115
150
194
150
212
112
156
181
150
112
195
189
233
115
143
186
123
208
170
167
237
121
121
135
276
236
150
135
112
150
150
165
160
121
202
137
167
229
177
208
195
124
218
112
225
115
150
130
219
161
201
121
239
239
171
150
157
265
228
164
167
171
150
228
150
223
158
167
144
213
123
195
194
123
154
263
176
197
184
205
147
150
112
228
112
121
123
112
228
136
195
158
112
275
112
246
150
172
207
226
231
112
203
229
150
172
183
194
112
255
167
121
203
176
121
150
233
202
208
164
170
168
147
121
112
146
186
276
121
150
150
172
175
210
121
172
150
158
179
121
167
210
236
137
144
112
167
176
223
170
150
150
150
172
123
112
172
121
193
156
150
220
112
112
112
150
208
225
130
187
121
171
170
150
186
208
264
202
219
123
245
170
210
213
186
150
208
204
160
136
210
156
172
123
228
150
176
124
150
259
130
202
202
152
177
150
187
123
208
210
208
115
112
112
218
172
171
136
216
137
121
193
302
237
168
174
121
158
257
218
150
112
208
167
159
208
165
167
150
257
150
173
123
123
176
112
215
229
208
201
150
159
112
135
231
181
172
210
112
150
181
112
136
193
172
171
115
135
217
170
158
210
137
210
178
170
264
156
213
170
195
203
264
123
164
181
190
121
175
192
228
176
184
150
165
121
130
171
172
201
152
136
137
175
208
175
181
193
150
171
136
150
121
218
130
121
219
112
203
164
186
152
159
179
112
202
131
150
208
112
208
176
112
161
124
181
181
156
124
112
137
172
172
172
204
170
167
171
112
171
186
175
150
121
272
112
112
228
169
112
123
212
177
112
150
208
228
176
194
202
141
172
164
208
209
187
167
162
136
150
201
278
210
203
212
221
281
112
168
165
210
123
181
164
121
121
123
190
121
115
160
112
194
181
193
277
137
174
159
167
121
121
137
235
196
115
181
112
130
150
121
150
121
219
115
112
239
164
172
195
112
217
150
237
135
201
135
187
112
193
150
135
241
186
112
208
123
172
136
177
276
202
253
137
172
194
167
150
209
207
121
208
228
121
235
112
231
150
167
168
208
170
229
147
232
230
165
177
210
249
112
172
171
228
278
175
172
187
112
172
170
193
210
214
150
150
165
143
264
112
130
212
181
228
207
150
208
187
189
121
187
178
174
242
194
112
136
221
121
171
210
202
186
187
158
207
181
193
217
150
261
291
208
121
179
170
150
187
194
167
217
171
112
112
194
112
218
172
150
123
156
208
112
167
167
208
135
167
208
197
240
112
186
202
203
124
196
255
175
171
160
208
131
171
121
202
178
224
167
181
201
112
186
115
150
150
167
150
150
172
238
194
172
272
237
112
121
186
167
172
208
115
112
172
181
150
193
217
172
181
208
150
243
252
196
121
243
150
208
165
112
208
121
203
212
167
209
184
112
121
150
150
121
172
232
202
181
150
150
194
271
112
175
121
192
174
123
181
158
210
201
159
121
232
172
112
231
121
183
186
276
250
150
150
124
193
202
179
150
164
255
112
143
241
168
159
172
123
150
181
164
171
170
164
189
139
238
150
123
121
164
172
165
112
177
147
228
150
218
232
196
147
150
230
222
174
204
181
112
150
170
181
164
177
121
278
147
150
172
176
171
121
150
226
208
123
218
172
203
176
164
181
121
112
179
150
152
150
112
164
193
194
172
143
136
176
188
255
236
193
150
112
150
208
237
242
242
195
186
159
244
121
216
168
165
184
147
212
150
167
170
171
112
255
214
150
112
228
193
175
210
172
112
208
194
164
208
178
121
172
150
123
212
124
112
112
181
208
167
172
150
150
156
162
172
152
203
176
121
212
203
197
198
172
150
121
135
181
215
112
171
230
135
171
121
128
194
172
208
150
186
172
167
112
242
171
121
115
121
194
181
158
123
228
171
112
176
137
164
194
150
167
121
232
181
160
208
187
150
170
186
121
121
195
112
153
174
176
208
150
165
150
165
196
176
165
187
209
208
121
171
263
158
147
187
150
279
176
161
171
131
193
150
170
115
170
164
124
208
255
115
202
189
112
121
124
167
172
158
167
186
242
219
167
144
112
152
164
173
302
208
179
194
150
193
271
210
112
172
172
186
231
150
150
171
266
115
208
157
150
121
243
177
231
156
112
208
203
208
186
167
194
200
115
202
121
123
211
208
121
150
208
233
167
170
217
276
158
177
150
167
217
267
121
170
150
201
215
228
187
239
229
195
150
150
208
231
192
237
112
150
112
112
136
150
167
171
152
112
165
136
172
158
177
179
170
130
123
215
199
150
150
164
174
146
135
150
246
130
123
202
121
121
164
291
194
209
239
152
187
150
165
167
172
121
214
202
150
150
150
153
167
158
150
164
112
150
172
124
203
136
195
150
112
165
214
220
150
112
167
225
208
112
165
167
237
146
165
193
167
135
178
112
130
171
184
173
150
302
208
112
121
208
174
123
171
112
236
165
194
167
182
194
150
137
123
263
150
156
170
121
112
115
177
115
150
115
201
150
210
235
208
175
257
150
181
208
150
205
195
172
153
150
150
215
203
196
219
112
233
130
172
210
171
150
150
150
159
219
112
171
172
223
167
175
167
164
137
170
181
170
187
168
186
121
121
274
228
208
176
128
210
158
254
176
187
232
152
172
172
123
132
235
208
177
208
172
172
158
236
210
208
195
121
150
208
167
210
150
192
150
167
172
176
208
171
213
112
171
172
219
121
147
195
212
121
167
186
195
186
121
121
171
175
150
121
172
186
121
150
263
112
182
150
208
203
232
168
112
222
237
181
186
278
123
159
121
150
190
210
150
208
139
208
136
150
115
150
170
121
206
172
208
150
185
246
172
194
150
123
172
112
187
208
150
190
187
197
123
165
167
112
167
156
234
254
220
150
112
165
121
205
121
167
176
223
244
226
112
194
121
112
172
165
164
150
170
174
228
174
239
150
210
281
192
143
276
121
145
181
208
121
228
214
158
208
121
167
150
115
171
231
281
147
215
208
194
194
112
112
202
208
112
167
176
170
121
209
194
150
225
171
210
218
150
170
174
123
121
182
222
159
215
121
181
210
208
112
172
150
212
150
193
226
193
112
172
208
217
174
193
123
194
181
181
157
150
210
139
150
186
112
194
137
187
123
237
121
160
121
212
112
200
181
210
208
172
170
150
136
112
177
264
193
202
112
167
172
218
167
115
150
176
150
186
207
223
156
220
208
170
164
112
237
150
216
239
178
115
165
159
176
150
171
186
170
173
115
171
160
150
170
170
135
150
167
150
115
165
112
123
172
192
139
208
150
136
121
195
175
186
204
170
170
249
234
194
208
202
121
160
128
208
208
150
219
159
216
237
213
124
243
172
172
284
150
202
112
215
164
265
229
174
159
150
115
204
156
167
237
112
121
150
171
195
150
205
210
228
128
171
201
237
231
278
237
207
172
150
130
212
239
150
159
193
150
150
165
177
112
112
192
112
171
242
147
112
192
250
192
194
177
112
112
230
135
172
165
121
123
187
123
112
192
167
121
192
197
159
167
215
170
115
198
210
170
167
172
121
130
201
150
131
170
192
123
150
156
112
193
203
167
239
210
123
121
135
150
121
165
112
150
121
112
121
219
208
112
208
150
121
177
121
181
136
225
250
181
194
112
150
181
150
172
246
150
256
112
112
112
171
150
255
181
172
186
156
150
150
176
150
165
123
167
150
208
167
172
203
150
208
150
172
167
226
217
170
181
196
150
121
231
165
179
201
135
150
226
123
158
137
229
231
187
158
181
150
181
192
194
167
195
150
137
172
150
208
112
194
112
172
226
223
254
228
181
164
172
208
170
150
228
261
171
167
152
185
168
192
112
156
121
165
172
228
194
157
225
187
207
219
181
165
203
205
181
187
218
208
158
194
136
170
112
123
208
172
161
150
202
172
164
172
237
244
172
201
121
171
112
160
174
167
135
177
164
160
166
123
121
123
160
278
210
150
171
123
225
208
170
237
194
208
208
209
184
194
139
170
187
150
121
172
184
167
194
192
121
165
158
208
239
121
135
121
210
112
171
167
124
186
201
160
176
174
193
147
150
112
186
112
194
190
278
112
202
176
121
208
167
150
121
112
150
115
150
302
263
160
172
160
112
208
203
216
137
121
112
135
203
147
150
115
112
121
112
208
189
158
192
181
194
265
240
167
231
254
194
203
230
137
121
257
171
171
229
123
207
172
228
186
159
121
121
115
160
268
176
217
194
112
219
237
170
167
179
112
150
123
219
150
193
178
130
186
170
235
158
220
164
152
184
172
156
121
176
212
167
112
150
112
165
112
243
122
302
123
168
167
112
302
128
170
130
164
150
194
195
112
208
187
202
259
212
150
210
150
228
172
171
208
250
186
177
237
172
208
237
186
177
150
121
121
123
150
170
156
123
220
242
121
172
187
150
160
150
230
131
121
170
217
112
195
164
112
186
210
112
201
227
181
164
176
186
165
115
194
123
177
158
181
208
164
147
112
184
164
189
212
176
171
203
235
156
230
112
170
177
158
165
150
112
206
150
167
150
112
208
208
181
150
150
121
210
204
208
150
121
112
250
121
150
208
228
194
171
239
112
121
170
241
213
112
135
143
150
150
215
136
150
172
201
204
150
130
135
192
212
234
193
172
156
181
170
150
263
307
171
212
150
201
186
165
130
237
217
219
112
121
220
259
243
172
172
121
121
229
150
192
172
208
241
194
176
150
203
210
212
208
112
241
143
150
226
172
181
146
124
150
165
124
135
208
170
150
156
121
204
135
115
228
208
207
228
171
130
165
182
150
194
130
115
208
121
218
178
207
171
179
156
210
194
208
112
227
244
121
150
210
228
167
112
150
193
112
200
112
261
112
193
135
212
147
150
159
196
222
181
167
237
170
121
193
202
136
112
150
193
167
112
147
123
115
208
167
150
201
165
112
112
167
194
167
165
174
262
150
150
244
152
237
255
159
150
123
184
150
176
128
225
267
201
257
167
181
232
237
160
171
165
167
198
170
156
112
208
147
233
208
172
150
171
181
205
213
123
152
121
217
150
193
121
150
136
255
172
172
237
212
250
136
208
201
172
150
194
171
195
130
172
171
121
124
220
137
121
112
121
171
124
234
123
263
202
172
181
257
150
231
150
173
220
185
225
161
115
145
121
121
121
165
121
193
121
181
174
204
228
202
187
264
121
150
136
121
170
147
170
219
150
135
136
274
208
177
172
218
121
112
165
128
240
186
228
112
112
150
203
150
203
172
186
150
201
216
150
112
112
124
194
208
150
250
121
165
171
194
112
150
181
208
186
121
225
143
165
177
202
135
112
170
165
228
128
238
150
194
184
208
171
112
212
170
189
121
181
209
241
150
164
208
124
186
181
226
199
195
137
123
205
112
121
150
121
150
212
167
229
202
255
165
170
150
317
210
112
240
165
235
239
121
150
150
159
112
150
194
112
202
174
186
112
181
177
196
112
112
170
172
201
231
147
215
112
197
115
150
150
112
202
193
121
177
150
170
207
186
193
172
167
172
131
150
150
150
150
171
178
150
208
232
170
112
237
135
205
202
164
121
219
167
150
172
135
165
193
276
175
187
278
112
186
121
226
210
228
208
112
228
167
208
242
187
270
216
115
167
172
121
150
144
121
150
159
168
223
121
165
121
198
150
158
167
167
228
172
150
208
137
121
165
112
177
123
112
237
176
166
199
194
253
115
121
156
167
137
121
210
112
212
121
121
150
164
170
276
255
180
276
205
112
172
172
193
186
156
150
150
112
228
195
196
182
172
218
112
112
121
211
187
194
170
188
175
112
210
260
239
212
112
172
253
159
197
194
171
147
123
121
112
123
216
203
165
135
174
162
172
208
193
150
144
208
201
112
205
112
172
195
253
201
112
115
220
115
150
167
255
147
170
135
176
150
150
172
150
147
192
112
232
210
189
123
150
187
112
124
208
214
112
121
212
121
214
115
164
208
150
121
124
121
186
121
137
250
186
112
193
195
121
175
247
167
165
250
208
186
112
219
165
150
112
237
147
150
250
150
112
229
112
150
177
165
169
193
150
171
194
172
214
202
150
150
203
150
243
239
112
177
150
144
121
128
150
195
208
150
231
150
192
167
162
160
121
158
121
136
112
237
112
230
172
121
160
227
215
121
112
241
186
170
216
150
150
171
150
181
112
143
170
186
121
150
112
204
161
150
172
168
205
121
115
167
170
194
167
236
202
112
225
150
121
123
172
174
150
137
172
112
158
150
198
172
170
208
150
121
121
150
135
121
208
281
112
155
259
187
181
115
150
235
170
195
243
167
215
139
170
213
172
150
115
124
193
201
150
178
150
225
167
168
187
112
208
207
150
167
123
172
115
112
216
210
168
176
156
170
152
121
165
192
210
230
146
172
150
112
202
112
137
150
165
208
195
250
186
172
135
121
201
167
124
200
150
193
121
187
150
150
208
137
121
214
189
121
170
112
254
112
121
167
115
167
216
208
172
267
150
181
124
243
186
150
121
172
208
165
170
124
150
158
123
194
176
164
150
176
121
233
137
180
197
115
158
121
181
112
187
241
178
228
167
225
123
128
130
194
228
121
195
137
173
150
184
212
208
167
187
172
123
186
158
112
228
150
121
181
231
150
171
159
302
243
208
121
220
165
164
194
177
174
150
112
162
150
150
253
112
210
150
164
150
181
112
208
157
176
121
176
112
152
176
170
170
135
205
112
121
189
165
176
172
201
150
150
123
112
181
130
177
193
210
112
112
150
137
174
225
150
121
123
172
172
203
112
167
145
112
193
135
150
181
150
152
194
197
194
198
112
171
121
215
121
194
121
189
167
159
243
196
167
136
208
171
121
194
186
124
137
170
150
158
189
206
167
194
263
187
164
208
150
182
150
150
135
239
189
167
228
260
112
170
210
121
115
226
253
257
112
123
171
167
217
171
167
112
167
121
201
208
130
159
112
156
163
245
165
171
152
135
150
156
205
228
164
214
112
121
159
150
208
179
196
176
112
112
176
121
112
228
194
172
237
217
159
159
123
210
208
158
150
136
167
212
195
161
112
115
214
171
177
225
231
150
198
172
223
121
115
212
187
228
121
112
189
176
112
112
293
203
263
202
220
150
209
121
172
201
135
177
208
150
193
137
215
121
196
171
170
168
112
150
136
231
179
176
175
121
242
193
112
176
123
112
168
201
208
167
112
124
147
184
202
150
150
115
170
174
121
174
186
207
172
172
202
255
167
167
202
219
123
121
123
160
189
193
208
176
112
136
186
181
112
150
208
212
210
171
152
150
186
159
233
123
115
208
121
194
150
233
208
172
135
121
121
205
115
171
168
147
245
172
176
171
112
112
121
112
167
170
121
112
174
171
160
212
121
233
255
150
150
250
150
203
150
115
203
150
192
208
192
208
210
177
167
170
112
208
165
202
112
220
150
176
205
171
150
121
202
226
208
205
150
147
121
186
210
121
194
172
210
194
202
167
152
112
176
226
189
203
181
112
167
174
228
167
150
207
123
172
150
232
177
194
193
150
150
150
210
204
181
112
208
121
205
208
172
121
165
229
173
167
157
195
228
112
150
195
194
194
172
204
121
164
150
112
193
121
176
150
208
121
232
198
231
112
208
236
239
218
128
150
170
152
123
164
164
283
144
216
176
212
150
172
194
228
150
115
181
150
178
167
167
165
250
121
171
130
181
225
177
150
202
123
174
194
112
195
150
147
182
176
121
150
171
193
167
150
205
163
124
225
247
121
191
112
210
205
207
225
172
208
210
231
193
232
225
150
167
216
281
112
150
112
121
136
210
167
112
194
201
172
112
200
124
186
170
226
257
156
165
172
171
171
174
185
196
194
193
194
150
112
212
168
136
137
158
147
167
232
121
136
219
186
123
201
121
195
172
267
150
208
123
121
186
177
150
121
150
147
150
150
202
181
136
144
170
194
112
176
208
147
121
121
112
210
150
232
167
208
176
186
150
194
167
152
181
150
170
112
121
112
150
164
201
175
201
193
237
208
210
168
212
136
181
112
237
172
112
239
150
170
175
160
220
171
150
136
112
121
150
130
167
193
218
121
150
184
176
167
302
112
164
230
193
210
112
147
167
150
211
208
150
190
174
150
121
121
150
123
186
124
171
171
135
255
143
263
112
172
208
130
194
203
171
167
163
210
203
219
182
167
195
226
112
184
136
124
195
121
168
172
187
196
195
193
112
210
123
208
170
201
150
207
228
210
150
176
212
136
223
193
202
218
112
112
112
121
167
208
182
194
150
167
167
121
135
112
216
231
233
228
150
164
156
170
150
208
195
208
172
205
228
170
128
208
176
176
208
150
208
150
121
195
121
203
208
195
150
176
172
112
212
201
150
112
167
150
172
208
112
128
208
239
205
208
150
250
150
237
208
121
174
150
112
281
171
220
156
136
124
248
121
218
167
228
123
135
121
121
208
172
172
150
150
150
112
112
167
233
167
240
225
112
172
150
171
208
193
136
208
150
207
219
121
226
220
156
150
208
121
278
165
170
121
228
121
144
171
150
265
164
237
195
128
150
150
226
216
144
208
163
121
176
123
203
230
209
150
231
150
192
150
167
210
178
192
276
167
156
224
115
112
237
215
159
231
240
167
170
150
218
136
225
174
217
208
150
171
150
225
112
194
158
150
255
210
194
136
170
121
121
230
135
167
165
112
238
167
207
176
207
170
211
176
165
164
193
195
203
177
158
112
150
150
121
172
123
115
172
137
147
156
208
112
205
112
174
112
229
112
214
150
177
171
205
181
212
160
152
208
178
211
112
112
212
240
159
137
150
112
150
174
189
187
167
150
171
226
186
150
150
123
258
175
112
150
203
237
121
194
165
172
177
223
176
121
154
136
208
121
147
150
115
136
182
187
123
174
302
121
171
164
112
112
115
170
208
152
218
228
210
112
171
112
112
136
150
263
121
135
228
250
170
237
112
160
167
124
172
179
196
205
172
208
170
121
208
159
217
121
137
208
124
167
121
259
112
192
115
190
172
243
194
158
167
204
112
181
150
112
150
135
193
170
147
112
181
115
121
123
228
112
172
187
165
187
147
150
186
208
239
123
167
112
168
194
196
112
150
166
190
121
112
195
112
218
203
121
123
214
115
208
201
137
150
135
195
159
195
204
167
209
184
186
210
194
167
181
272
143
172
124
203
208
150
112
181
202
170
165
186
165
121
210
172
144
137
263
150
226
147
203
157
228
225
124
237
187
112
171
175
197
165
115
147
128
228
144
174
150
195
194
165
167
227
240
121
112
194
150
171
121
152
124
150
219
150
208
156
174
172
228
150
112
176
193
172
239
167
179
121
192
176
121
168
121
217
208
195
170
170
112
150
112
121
121
115
208
231
237
137
130
232
219
170
150
150
237
112
172
112
112
171
205
143
112
208
150
170
214
172
112
237
158
203
176
219
147
121
112
160
208
160
177
150
210
115
150
175
211
147
115
136
195
209
159
143
115
220
239
194
165
168
189
112
112
121
208
172
112
150
184
178
202
228
186
112
121
112
136
112
248
171
201
137
150
112
250
121
121
208
159
150
278
187
170
131
208
237
181
167
150
241
137
167
156
286
170
131
171
208
199
249
187
178
128
150
202
176
170
185
156
192
150
228
176
150
123
253
165
150
176
192
112
172
228
194
165
150
170
147
237
121
121
203
121
177
217
128
208
112
135
112
112
150
121
112
246
219
121
121
152
208
176
193
177
158
166
208
263
112
212
112
150
150
194
209
167
123
200
136
242
181
131
193
186
255
210
167
159
208
208
112
186
207
212
234
210
228
150
193
150
121
150
112
158
195
219
184
150
123
121
218
192
162
121
112
195
150
112
150
220
121
130
165
159
121
176
187
248
176
112
168
173
112
220
170
131
156
278
181
121
115
194
124
177
187
158
194
121
172
150
177
202
172
150
150
195
263
202
123
176
121
112
135
150
230
226
167
150
156
187
181
150
255
195
176
175
112
167
112
208
210
220
220
195
170
112
112
150
203
123
150
219
121
194
112
172
121
121
136
150
201
112
156
121
167
184
168
187
124
225
167
150
121
121
228
208
193
208
194
242
147
273
196
181
212
167
237
172
112
172
187
121
121
226
168
176
150
194
187
121
150
112
112
194
186
186
150
150
218
208
233
112
193
165
172
192
193
186
137
150
258
219
123
171
175
121
115
211
204
112
181
226
164
193
165
121
121
199
150
229
181
218
203
121
181
231
112
121
150
208
172
214
170
238
167
157
150
208
172
150
144
208
156
115
176
121
170
150
208
203
121
136
176
170
167
237
150
168
228
112
187
112
136
150
194
181
208
167
250
302
137
205
156
150
187
171
237
161
112
219
228
212
137
195
165
172
181
121
171
172
150
121
170
112
208
174
121
210
135
234
212
170
172
135
112
150
176
208
150
181
150
208
136
202
161
216
136
172
150
171
229
130
160
228
150
121
167
150
181
160
172
167
170
228
183
136
264
150
228
189
236
212
179
150
192
228
194
194
196
115
187
260
121
210
170
135
150
187
123
135
164
137
150
150
115
181
112
187
176
194
160
150
150
174
167
147
137
112
207
228
150
210
208
128
228
121
255
178
165
112
192
228
198
164
150
236
208
172
150
174
170
167
150
112
213
208
135
174
112
210
157
171
179
112
165
172
150
207
228
150
144
150
202
202
186
135
123
150
150
176
255
194
233
192
112
194
208
150
181
112
255
143
193
203
172
150
167
216
112
210
123
150
193
176
171
179
253
165
212
220
112
212
164
121
123
137
210
165
172
162
222
216
200
213
135
212
169
194
187
238
220
219
170
222
112
172
121
121
181
208
186
189
215
209
171
150
212
144
115
150
208
130
219
171
115
207
168
212
112
192
214
203
175
150
172
248
208
143
228
170
218
160
147
244
121
174
240
172
170
167
194
195
112
171
176
202
212
208
237
171
179
147
204
158
112
208
170
234
170
121
177
115
170
203
112
121
201
174
167
150
186
121
128
194
178
186
219
206
150
121
112
123
176
171
150
170
193
167
167
217
197
115
192
208
170
171
186
160
208
150
137
150
225
168
181
208
260
193
171
237
157
128
112
158
255
150
121
150
208
130
170
203
212
186
150
150
150
135
150
167
172
150
212
150
150
171
201
210
208
172
228
112
121
208
150
150
112
121
181
150
115
208
112
208
135
194
212
233
208
170
220
121
212
181
121
181
124
239
112
176
150
150
208
121
165
208
172
170
172
112
186
181
204
237
112
217
136
277
150
121
150
202
181
187
229
194
112
167
112
150
150
165
232
233
242
194
150
187
150
255
186
112
177
167
257
146
121
210
170
179
150
112
164
112
172
202
150
112
297
241
156
121
247
150
121
124
211
165
167
173
150
170
112
121
238
210
212
150
128
112
231
172
150
121
220
208
165
228
218
112
228
201
167
234
137
123
237
167
204
167
150
193
121
112
135
112
150
150
194
205
174
124
208
165
150
207
208
171
121
206
121
139
196
150
167
226
172
150
212
196
202
150
266
225
177
228
135
123
208
220
150
231
170
203
217
170
123
172
195
279
167
167
208
208
201
136
167
167
159
195
257
172
176
239
194
121
150
172
212
150
187
121
112
215
171
150
189
123
208
234
121
159
112
302
112
220
147
176
220
297
172
193
210
234
172
112
234
168
238
255
171
193
187
150
121
112
208
208
121
187
150
121
121
186
121
177
229
212
231
228
208
167
158
193
203
135
172
156
163
239
144
150
121
204
150
121
150
210
152
202
208
173
188
192
112
164
167
112
167
147
181
112
231
121
115
112
172
195
121
175
123
112
202
150
226
187
219
195
172
181
150
123
208
123
202
250
112
186
158
176
157
130
174
174
172
121
150
165
150
112
208
156
156
121
124
121
167
137
150
112
181
172
121
235
208
181
174
124
203
171
194
121
184
170
160
193
182
192
217
194
150
136
157
112
150
208
208
255
196
121
167
212
208
150
220
212
159
192
194
162
150
112
165
123
150
176
165
237
193
187
243
112
212
170
170
150
167
208
152
214
187
165
172
208
121
143
194
121
115
215
242
218
233
156
128
112
208
167
165
165
215
194
150
172
112
121
220
237
237
112
237
176
178
242
167
253
150
208
112
193
115
112
208
243
210
208
170
167
237
171
170
198
150
208
237
263
190
150
158
121
165
253
208
121
205
112
194
208
112
174
177
123
263
187
130
171
112
216
211
150
218
123
237
121
170
123
121
167
160
165
165
112
194
170
167
150
135
167
115
181
115
177
202
115
165
167
193
230
167
150
112
247
136
181
124
231
150
172
112
217
195
123
189
150
270
219
121
167
150
193
165
201
135
143
121
150
112
208
193
121
239
170
187
172
164
164
143
152
173
197
182
255
174
165
121
112
136
184
112
211
150
137
159
184
205
150
195
131
150
150
263
150
158
121
202
181
174
172
156
192
112
159
155
173
172
167
187
137
348
121
202
150
226
172
208
217
223
187
170
136
112
203
245
177
231
121
177
302
164
150
231
128
150
121
181
194
112
212
176
150
181
121
150
130
172
165
276
112
158
173
112
205
167
177
147
165
112
159
212
170
208
115
137
152
123
194
167
167
209
172
172
208
115
167
115
201
152
192
123
121
112
124
121
164
195
281
170
150
253
150
194
150
121
194
112
232
217
245
167
221
176
167
174
167
124
257
195
121
112
237
159
205
201
206
112
112
136
112
160
158
195
228
195
201
150
121
112
150
208
121
121
136
243
121
150
112
121
187
112
217
121
171
175
171
207
121
174
218
170
150
198
179
171
165
112
193
179
150
112
171
150
172
220
128
130
263
258
172
121
155
132
167
218
121
115
121
150
159
175
208
203
195
212
181
167
123
171
195
123
195
198
187
150
112
159
124
150
144
171
150
204
112
112
177
153
208
171
172
172
121
165
121
123
204
135
181
150
112
220
112
145
239
130
276
112
121
185
121
170
121
208
239
160
130
121
172
178
178
194
172
112
167
239
211
150
147
208
112
150
144
121
150
172
168
202
170
208
172
201
136
156
136
156
202
172
112
218
220
203
121
257
150
239
263
250
217
226
187
202
186
150
232
201
258
112
115
172
170
137
171
206
172
130
123
165
147
112
172
212
194
136
210
172
205
170
144
121
193
208
164
170
184
187
199
171
192
150
167
208
115
121
196
112
253
236
208
112
152
112
150
203
150
208
212
158
197
180
232
121
193
150
174
112
198
210
217
135
170
181
150
172
181
174
123
204
194
121
174
121
192
192
167
193
164
165
267
257
165
195
177
150
260
150
167
255
220
186
121
177
121
136
234
213
121
267
171
225
150
168
194
171
150
167
150
172
204
170
139
237
182
186
193
150
130
121
258
136
228
212
123
143
165
112
206
239
167
245
164
240
167
217
123
112
158
175
112
194
172
162
150
112
150
223
150
170
208
171
121
112
242
202
147
170
231
121
150
202
171
150
236
233
121
164
201
243
167
112
175
150
228
171
170
167
170
150
172
121
172
160
136
112
121
147
150
150
219
257
123
167
193
121
150
194
214
294
195
222
150
208
121
230
172
230
220
208
121
215
128
163
123
192
164
150
192
112
201
185
201
162
112
202
171
163
212
204
171
136
150
112
219
121
150
171
130
130
241
187
172
234
150
231
150
147
172
187
150
189
223
147
112
150
203
181
193
172
150
170
150
208
200
136
208
194
165
150
123
112
202
112
123
218
112
165
150
238
150
186
150
150
192
123
232
171
220
130
123
171
150
255
164
176
150
112
135
124
227
147
185
208
150
172
160
255
167
137
172
167
208
177
158
208
150
159
123
229
112
112
272
150
165
150
209
150
130
215
186
123
112
168
115
168
194
201
212
177
174
167
112
231
150
150
194
177
196
124
194
121
150
170
203
147
250
208
112
170
228
150
176
228
202
121
172
228
112
212
167
130
171
152
181
208
150
228
194
174
135
187
147
194
257
238
207
146
167
208
186
201
128
208
123
202
150
150
180
144
164
150
150
170
181
228
160
208
150
189
139
150
112
150
121
237
150
146
170
208
171
202
164
167
208
220
208
150
170
219
194
150
223
195
217
213
121
121
150
230
112
170
210
112
171
167
121
150
208
173
181
165
202
202
194
121
121
225
150
165
294
214
232
150
181
121
173
172
144
158
171
156
181
194
195
165
121
172
172
210
206
150
176
171
172
260
165
150
187
172
231
112
171
150
256
150
121
121
203
174
123
143
121
176
150
121
202
121
167
150
172
161
254
121
239
250
175
171
214
136
172
150
205
210
202
150
112
150
135
219
250
208
230
170
135
150
150
237
112
136
170
150
224
123
201
176
150
150
250
167
156
121
235
124
172
193
172
178
143
202
235
239
150
121
194
193
186
137
171
121
150
254
123
210
181
187
112
128
171
211
208
207
123
194
208
147
115
162
165
152
181
172
187
231
172
237
150
150
112
171
255
238
253
167
176
150
243
165
222
192
156
170
121
174
150
181
167
136
208
182
150
121
172
112
137
294
112
223
115
217
205
143
172
164
112
171
205
187
167
112
112
112
225
171
150
167
121
208
208
123
208
115
178
156
115
171
189
170
123
144
234
156
242
121
161
121
174
115
112
121
186
171
150
190
128
228
213
181
189
187
128
181
177
231
228
150
167
155
192
165
208
150
156
112
150
170
112
150
217
112
121
150
150
121
121
168
208
167
131
170
226
167
234
172
150
121
192
237
172
172
150
167
167
181
239
171
164
228
112
215
193
216
175
112
112
112
167
276
165
171
210
157
137
240
176
112
174
187
162
176
112
172
233
150
121
217
123
174
159
176
150
137
202
168
137
208
150
186
122
167
217
135
256
115
131
220
205
121
175
121
217
150
112
212
172
173
239
217
150
195
231
185
232
201
167
112
160
121
150
150
185
112
176
208
224
193
228
231
150
150
202
112
228
121
172
165
174
112
167
199
112
112
305
208
121
184
194
121
150
228
136
174
186
150
167
184
130
212
210
170
121
170
232
150
112
174
123
170
250
165
123
207
175
112
208
136
176
263
170
112
147
194
112
208
137
150
170
228
226
172
206
165
181
167
176
167
194
170
171
150
121
224
150
112
212
228
112
221
112
208
150
137
121
121
210
172
238
121
219
150
160
194
227
225
176
147
223
179
121
165
186
150
172
164
235
112
135
194
164
112
159
194
173
172
150
112
181
171
167
197
175
172
208
150
150
161
193
202
156
164
186
135
172
121
121
112
123
228
121
115
177
124
192
219
170
158
135
164
243
239
195
231
194
112
121
147
237
196
203
186
193
165
121
179
112
208
147
174
181
135
209
121
243
112
167
219
192
195
174
150
253
150
177
218
179
202
164
186
167
112
239
219
150
208
208
208
193
186
184
150
167
182
123
167
112
150
186
150
153
160
150
171
123
174
181
192
128
212
112
112
150
229
228
150
176
179
176
150
249
228
164
208
194
228
121
232
121
210
150
157
167
179
164
123
124
164
181
170
255
167
135
172
206
172
265
237
185
214
150
112
161
208
208
150
150
150
170
302
203
228
136
212
160
278
149
177
217
112
150
158
171
150
265
121
123
150
112
165
208
123
201
121
192
124
112
187
205
171
158
150
150
208
209
175
172
194
121
263
217
194
150
202
202
136
170
211
112
239
121
121
201
175
186
150
165
232
208
208
156
173
255
121
202
232
216
186
187
238
184
157
240
172
170
170
256
164
158
115
168
240
156
150
208
170
243
194
121
193
210
168
121
167
168
242
123
208
208
207
167
205
168
123
162
208
121
167
212
207
213
175
255
213
210
231
201
171
194
208
167
172
177
121
150
121
170
208
172
128
154
196
172
171
216
171
239
208
171
228
112
208
164
211
208
121
253
172
158
172
172
121
208
172
275
181
172
150
144
237
121
172
165
172
152
170
194
121
112
193
217
150
206
218
253
160
112
206
302
150
112
257
134
135
181
150
121
195
152
228
121
208
158
255
205
176
150
205
212
219
135
177
195
181
194
150
150
233
187
135
150
150
201
210
143
195
228
150
217
150
186
167
170
181
123
136
123
150
232
214
158
144
172
159
150
220
187
187
123
171
182
172
211
161
185
137
136
194
279
171
176
292
112
174
112
147
123
147
150
139
150
186
201
193
172
176
123
167
112
121
144
167
250
150
260
171
305
115
208
228
302
167
250
165
212
195
172
167
123
112
124
112
208
165
150
185
150
136
195
208
255
112
165
186
150
137
172
172
174
210
208
112
112
193
208
188
136
150
203
167
112
112
143
135
170
152
175
176
208
112
159
208
194
172
212
150
121
112
258
115
167
115
167
167
276
121
243
243
243
150
121
135
212
115
150
150
156
121
208
172
121
162
210
112
158
202
177
220
276
187
162
121
167
208
167
112
112
208
177
158
137
178
150
187
170
150
146
172
150
112
165
253
134
171
208
195
181
200
150
150
186
172
121
172
158
172
195
195
123
112
212
239
121
172
112
167
187
199
171
187
208
121
121
193
124
150
172
123
237
258
121
172
213
212
179
165
194
165
136
228
208
135
232
150
147
168
186
210
121
121
202
250
112
150
232
194
150
172
136
202
121
121
194
115
172
208
159
192
171
135
121
198
181
136
210
240
234
156
172
160
150
112
208
121
112
167
150
228
207
192
150
181
165
150
182
112
170
160
187
121
194
172
220
150
172
193
288
193
243
121
115
164
167
170
232
112
165
172
167
147
242
208
112
265
171
194
150
150
159
150
150
168
150
195
223
112
150
150
172
137
115
208
150
165
265
181
128
172
181
124
218
175
150
265
234
200
203
225
205
208
150
112
208
112
188
135
230
208
150
130
167
121
202
158
221
165
167
121
229
176
150
171
147
226
225
192
209
187
124
171
123
212
150
159
150
112
121
231
171
227
208
233
214
172
176
172
167
150
150
228
150
150
121
172
207
174
150
208
196
112
172
228
170
121
112
112
172
150
232
167
194
123
172
112
165
208
186
266
214
208
262
174
121
219
170
121
167
115
214
121
121
176
175
204
167
218
231
135
205
152
150
150
150
194
150
150
150
167
186
181
137
228
219
172
237
137
289
112
150
231
150
150
203
150
239
181
115
152
121
240
237
186
171
168
219
171
123
168
150
218
158
228
112
170
266
192
193
124
172
130
228
172
218
150
123
192
150
272
147
121
150
230
172
263
163
202
121
231
150
208
203
176
150
177
186
208
136
112
233
218
239
121
121
150
193
150
205
121
164
112
171
208
214
135
170
194
195
170
150
172
150
150
239
121
167
279
208
158
150
208
172
144
226
160
210
130
176
231
112
192
231
167
208
231
208
197
167
167
167
186
181
143
150
263
208
156
124
193
194
214
194
130
176
202
112
130
201
143
178
218
159
223
220
250
150
150
150
194
160
197
150
226
150
165
230
193
203
193
253
164
150
168
165
121
208
208
176
196
112
121
112
112
150
132
121
228
112
170
254
200
201
121
208
144
232
210
112
150
150
172
172
194
164
121
208
171
143
192
168
208
150
170
164
112
112
208
152
208
176
175
150
250
226
170
167
172
150
159
213
176
165
172
203
239
218
147
150
172
165
186
210
202
176
194
172
112
212
216
208
217
150
232
210
136
177
147
168
275
121
150
220
193
208
192
210
208
177
150
112
150
208
208
121
121
209
231
177
136
195
121
160
147
150
175
112
208
135
201
237
248
210
176
150
121
121
215
214
181
186
152
210
112
137
237
172
244
176
197
176
194
237
207
121
217
150
128
212
167
121
220
112
165
172
175
208
150
150
112
177
181
121
237
147
192
112
212
181
179
135
302
210
201
150
240
220
112
112
171
123
168
121
112
232
201
128
167
187
150
112
170
193
150
112
179
170
150
112
250
220
112
239
212
208
225
240
164
115
112
233
150
255
150
192
172
236
210
121
181
239
228
197
187
159
123
205
219
121
247
137
208
121
192
156
240
171
171
112
243
196
195
206
243
128
223
250
186
112
228
112
112
175
217
224
215
208
208
123
164
123
171
115
181
176
150
123
112
159
241
177
212
220
186
150
167
172
170
214
158
230
245
165
172
150
170
172
194
121
228
195
112
201
167
170
112
150
128
229
228
208
274
121
170
193
302
250
124
212
217
124
167
150
228
121
172
172
112
121
167
147
121
203
112
181
150
172
172
270
167
193
243
137
112
172
172
167
150
121
147
170
150
208
232
112
150
195
208
164
123
164
150
112
147
176
220
124
171
150
112
115
210
201
165
170
181
193
165
143
202
160
112
194
150
181
170
234
121
174
220
112
198
150
124
112
237
165
112
150
150
223
196
177
223
258
171
208
172
208
167
184
112
208
187
150
172
220
194
150
121
167
209
115
150
150
150
228
150
170
112
150
112
112
302
135
212
172
215
168
194
172
123
217
187
208
193
282
168
242
112
263
150
172
135
150
150
112
123
121
170
152
201
170
170
195
112
207
177
186
112
195
208
231
225
150
172
237
193
150
123
193
217
208
146
171
195
187
255
209
250
123
208
181
150
171
112
150
237
207
200
168
194
242
225
146
171
234
112
208
112
233
137
112
230
208
150
177
174
121
152
165
150
139
229
168
208
189
121
170
174
159
241
172
164
143
182
112
230
174
135
147
168
121
172
177
112
250
195
208
112
150
167
165
136
135
170
208
150
172
135
147
150
181
136
194
232
161
243
201
181
150
121
121
159
150
121
225
158
241
121
112
159
250
187
135
255
207
121
150
144
170
172
182
228
179
201
243
162
121
228
171
121
165
136
150
123
233
167
199
202
135
276
171
124
186
135
186
147
112
210
147
112
193
137
121
112
112
136
208
172
112
150
168
112
220
181
208
172
112
228
218
172
228
130
171
167
145
112
124
112
150
123
115
112
121
150
228
167
171
135
239
112
205
115
170
137
147
174
150
150
195
121
121
193
135
231
218
147
171
121
171
208
172
168
208
172
278
259
208
274
112
150
165
193
177
202
147
121
228
208
192
187
150
201
152
231
160
195
240
172
171
150
171
159
231
137
150
237
112
112
168
150
150
112
167
208
170
121
172
211
172
150
195
278
181
121
121
208
147
165
237
165
165
147
194
170
170
172
170
135
239
225
198
115
171
208
135
171
167
195
177
186
150
112
216
150
231
172
112
112
194
146
112
165
172
170
150
121
196
121
235
112
265
203
185
302
121
171
176
193
123
174
171
165
242
193
212
213
156
230
178
200
165
208
195
150
194
150
181
121
163
150
123
130
135
229
112
164
212
193
112
150
181
121
215
201
230
187
231
187
208
195
167
219
150
150
208
143
150
223
193
228
112
170
224
121
230
172
157
124
150
202
121
121
121
181
150
158
137
112
121
156
164
170
112
165
121
181
150
170
135
170
112
222
160
150
167
215
165
143
112
181
170
228
170
208
228
193
124
206
207
201
150
219
121
158
176
112
121
203
167
193
218
208
176
165
150
165
253
121
167
167
112
185
176
210
123
210
168
123
172
121
136
112
150
136
255
167
208
171
250
170
186
112
250
150
250
121
143
112
150
167
121
210
219
121
160
150
152
273
150
112
201
174
302
254
144
275
208
208
201
177
172
150
234
230
208
228
171
158
150
158
135
210
165
178
170
236
159
112
212
158
276
190
181
228
195
112
165
174
170
137
167
190
167
242
215
121
135
174
171
231
159
121
121
172
167
121
144
193
208
167
172
269
112
176
160
186
112
157
115
192
237
121
144
233
136
156
171
150
171
215
224
181
182
158
237
178
121
158
194
150
170
158
177
135
176
150
267
150
167
150
187
240
150
211
194
172
181
231
121
115
121
112
112
184
167
171
147
194
115
201
173
150
150
155
185
216
210
112
181
112
160
112
203
172
170
193
220
175
244
165
210
150
167
219
186
150
234
158
176
236
150
264
121
170
112
267
112
150
219
156
161
215
237
112
170
175
170
170
159
203
253
137
203
121
161
121
195
237
281
192
173
123
239
150
121
196
235
177
207
208
150
150
199
175
167
262
212
167
150
249
232
175
112
121
208
152
150
208
278
238
179
150
194
184
201
167
233
174
250
208
165
172
192
123
171
176
112
112
201
170
208
208
171
136
150
228
203
150
124
158
171
215
225
190
112
176
302
121
112
121
275
172
150
172
147
123
150
158
115
208
264
165
123
228
146
193
218
207
112
121
121
150
195
176
195
243
207
150
112
112
199
237
208
121
193
187
172
112
167
200
193
210
150
121
172
121
181
150
250
112
112
278
143
181
115
202
208
171
143
165
150
217
215
238
176
181
212
225
193
208
208
186
187
112
137
232
170
150
112
170
201
163
156
112
233
208
185
187
258
181
194
112
150
194
172
150
220
240
223
121
224
150
194
278
115
172
271
171
201
165
202
181
112
123
150
186
208
184
210
202
112
124
165
150
135
121
121
209
230
228
212
137
179
202
231
123
150
160
170
137
121
160
112
150
171
121
170
150
186
195
158
172
172
150
121
263
187
121
150
220
172
167
226
159
112
176
150
115
121
244
228
112
121
172
146
212
207
184
224
112
167
203
112
202
183
194
123
228
121
181
112
136
299
177
121
135
165
172
162
150
208
137
150
172
263
150
172
164
240
150
121
121
192
167
219
112
165
242
182
236
165
195
121
167
192
150
150
123
124
226
231
112
187
156
231
187
136
121
150
112
181
150
164
112
150
112
170
192
150
112
208
178
115
174
172
112
150
147
130
184
250
208
216
176
167
218
167
112
121
131
206
192
279
208
208
204
234
284
181
210
156
167
195
231
121
123
200
112
171
170
121
225
182
150
172
150
203
170
150
121
171
121
272
208
174
150
150
115
194
192
201
202
196
164
176
176
172
186
150
112
171
212
115
231
137
193
123
260
243
159
177
213
240
216
150
150
220
201
172
172
207
159
150
182
200
156
228
147
193
194
112
136
181
170
124
170
194
213
208
174
152
172
225
135
150
172
176
121
171
172
112
172
150
150
187
112
189
171
201
128
187
208
121
228
213
237
212
208
167
195
150
231
150
208
172
144
112
158
150
167
174
143
150
170
170
257
208
194
203
170
112
172
115
243
150
217
112
135
147
150
168
258
195
210
170
228
150
123
150
212
172
150
208
136
160
176
170
210
167
177
255
171
278
150
121
172
193
210
202
209
194
178
210
112
194
176
159
158
176
112
167
156
212
208
236
220
179
193
167
204
172
112
147
112
153
181
172
205
208
121
170
220
158
150
228
150
179
181
237
208
178
168
121
171
242
178
206
112
178
206
150
208
208
214
250
238
177
219
239
228
208
130
121
192
228
167
225
195
112
172
170
193
146
115
172
150
150
210
184
112
170
167
171
112
112
167
181
167
150
182
171
164
150
150
208
137
172
150
186
172
170
112
143
170
158
194
164
167
164
115
121
143
189
115
171
218
189
170
176
208
150
112
205
156
208
172
181
202
208
200
165
150
194
112
112
167
195
186
121
236
212
121
187
152
192
150
203
121
176
121
210
137
121
208
135
167
208
143
121
176
195
163
164
202
112
171
203
115
231
172
165
167
302
165
193
231
150
255
194
184
150
147
195
150
150
250
150
213
121
209
170
115
165
136
291
167
136
220
201
143
205
150
112
121
121
150
150
165
112
150
150
247
266
210
150
170
224
178
112
234
205
213
112
176
121
165
112
209
137
178
112
137
170
232
181
150
150
187
239
121
218
291
195
121
239
150
177
177
202
150
112
176
112
250
168
171
167
165
208
238
150
229
121
158
160
158
156
170
201
112
175
124
112
150
195
165
121
150
121
112
189
123
150
210
171
147
121
176
176
164
137
112
232
112
172
186
112
172
172
121
194
112
150
220
172
150
150
121
121
233
152
232
170
167
112
205
192
172
202
228
150
115
170
150
272
179
243
216
238
150
171
150
272
194
171
233
237
112
112
112
124
112
150
208
165
186
165
150
170
175
112
187
181
176
152
208
208
130
218
112
203
233
187
112
189
137
175
214
174
182
112
177
147
135
201
208
198
201
210
152
112
172
123
130
175
170
212
172
123
172
175
228
208
208
212
150
150
187
186
177
112
172
182
201
177
121
150
208
121
177
150
128
159
194
112
112
219
208
128
212
255
150
228
150
208
150
150
193
150
112
128
208
238
210
214
156
150
170
123
223
210
212
167
172
187
204
150
171
176
115
112
147
237
257
112
150
121
212
201
123
128
121
228
237
112
171
121
240
171
176
208
165
208
112
124
123
121
112
123
121
171
112
202
201
212
208
159
112
112
172
172
186
208
121
112
150
208
121
150
112
172
261
165
121
171
251
150
170
172
170
179
226
208
178
143
167
158
167
159
121
208
156
121
167
150
176
112
136
172
190
208
231
181
172
172
172
112
150
160
167
165
208
228
150
136
150
219
181
150
150
186
218
121
121
158
150
196
112
121
231
226
159
112
112
147
121
190
121
213
150
176
112
222
242
121
176
121
193
128
203
186
237
121
167
193
192
152
208
121
187
112
150
187
209
220
112
225
218
121
240
150
171
139
165
135
172
150
150
208
123
112
167
152
121
135
207
150
170
198
208
112
150
195
193
174
131
112
150
115
121
213
193
150
121
217
265
176
150
226
212
241
182
150
228
150
170
112
208
121
112
170
112
150
112
112
216
112
165
172
172
272
240
203
112
135
228
178
121
257
150
167
167
172
176
121
203
192
203
278
177
250
150
137
150
170
124
160
265
121
150
150
141
124
170
217
147
186
170
121
253
233
200
150
187
171
209
203
186
152
231
259
280
136
150
121
173
185
302
136
158
167
201
150
170
175
243
210
168
150
218
216
112
177
203
229
123
123
172
112
123
276
128
181
170
130
121
186
195
194
150
220
150
201
208
150
242
150
112
164
112
135
205
208
239
135
112
155
121
208
208
152
121
170
249
137
158
193
186
226
150
215
269
181
186
164
218
195
176
226
128
150
242
207
121
115
150
224
124
176
150
150
193
223
150
184
123
150
135
144
226
187
209
170
172
193
253
239
167
211
121
167
112
150
150
217
170
112
219
150
162
208
167
150
176
171
181
205
171
302
150
112
186
150
150
173
143
195
121
135
143
112
226
164
128
243
224
208
164
176
158
172
181
208
170
150
214
208
195
121
172
219
178
209
124
121
123
167
112
179
112
219
172
218
176
207
205
135
159
300
112
214
130
232
150
174
196
167
121
152
159
187
115
167
171
172
186
112
181
123
202
112
208
181
137
176
150
237
273
150
240
121
206
208
121
158
150
228
165
150
226
167
175
229
150
218
220
160
186
176
208
115
208
239
208
238
156
172
250
130
240
206
115
177
207
278
229
171
217
170
170
302
121
112
186
170
208
150
172
237
209
112
150
165
219
186
170
121
258
135
215
150
123
186
225
160
206
172
112
112
220
193
165
239
150
172
112
208
128
169
150
217
112
205
121
208
228
121
181
112
171
237
150
123
150
175
150
172
163
243
172
146
181
121
218
128
184
217
150
112
193
170
157
121
212
194
194
175
168
172
167
205
121
150
300
121
112
150
237
172
217
205
171
172
167
208
204
302
208
187
115
150
150
121
200
228
121
181
167
202
171
150
171
121
172
150
193
147
208
208
186
232
170
202
193
203
150
220
172
165
150
171
177
112
219
232
112
121
193
123
159
112
157
150
150
121
150
242
172
127
112
165
171
217
265
165
121
187
194
121
150
232
150
112
174
123
150
228
176
164
170
172
143
170
112
150
214
167
121
115
146
121
208
228
208
112
150
236
172
233
171
172
192
150
161
174
170
123
164
115
121
164
181
172
123
150
112
171
192
137
203
159
167
210
229
177
227
231
172
150
172
210
164
150
123
121
194
150
281
150
175
172
174
202
193
121
232
150
121
170
130
150
123
147
136
165
178
112
193
209
208
121
160
170
170
172
123
237
121
112
165
150
137
112
115
212
207
214
150
235
195
170
189
112
194
179
165
210
194
228
124
121
176
121
172
174
177
233
194
194
223
112
208
194
147
123
202
208
228
236
121
165
137
176
232
170
207
181
242
112
259
165
208
150
167
112
167
224
208
123
176
201
176
121
219
184
121
121
194
258
237
130
121
195
172
177
195
184
172
181
177
174
112
171
121
232
115
178
135
195
172
150
177
208
150
123
112
147
208
220
158
123
115
156
115
123
150
226
135
172
121
121
181
156
112
181
112
171
176
121
208
189
195
150
121
199
226
150
220
202
176
175
219
112
150
137
210
264
150
172
150
176
237
171
170
203
139
170
177
194
170
255
112
164
187
189
187
219
121
195
210
217
167
164
112
158
112
145
165
135
172
121
182
172
121
172
219
121
208
172
147
121
256
170
172
112
217
124
150
208
270
143
208
150
112
243
121
172
158
237
112
177
218
152
121
167
187
184
168
184
156
115
130
208
135
225
186
170
195
186
112
165
170
208
236
210
168
231
165
219
150
172
123
112
176
215
210
150
137
237
152
121
208
128
211
260
167
172
150
112
177
208
167
167
187
121
165
195
255
193
115
130
194
259
264
212
165
230
168
121
121
226
225
150
208
123
170
212
171
121
112
240
203
218
207
150
223
112
206
194
178
123
121
212
171
207
121
205
136
212
165
186
159
208
232
121
167
159
121
130
180
208
177
201
150
229
136
171
150
150
150
208
160
194
245
250
136
112
197
171
181
172
194
156
121
128
123
167
215
193
208
150
167
208
218
170
208
112
150
121
123
190
172
121
136
170
228
152
228
208
128
245
112
170
124
171
207
186
135
171
121
159
150
246
139
150
253
228
132
231
203
166
123
160
174
239
150
197
121
172
172
201
207
143
156
112
208
150
160
121
172
112
194
112
193
121
197
121
228
202
164
221
150
112
112
165
208
225
172
179
150
190
150
150
302
160
164
171
136
208
112
207
172
137
172
150
112
121
235
170
150
228
202
184
167
112
112
150
179
184
121
208
150
177
171
208
121
136
231
187
150
121
198
150
206
176
150
208
150
147
258
240
181
112
208
220
135
192
147
112
171
143
121
193
170
214
121
150
121
228
176
206
150
205
201
208
150
210
171
170
241
218
136
227
121
172
150
150
245
302
112
210
212
130
150
231
167
152
210
150
196
121
149
236
187
215
172
181
168
172
231
128
202
243
152
167
150
165
210
165
167
168
150
171
243
112
229
150
205
170
211
207
176
121
150
178
112
219
194
121
250
150
112
150
192
121
150
150
170
158
215
228
267
121
150
291
135
232
231
181
121
112
112
112
167
170
150
202
170
176
177
112
159
160
208
123
121
201
193
219
225
160
177
150
176
212
193
229
112
112
150
115
176
112
150
210
208
150
121
121
171
121
143
121
123
208
150
178
150
115
233
171
177
170
193
170
231
208
213
150
150
302
112
128
208
150
208
137
144
208
228
124
174
121
170
193
147
150
208
112
192
171
175
112
152
135
112
193
112
158
232
220
115
150
158
174
174
202
181
178
172
208
208
192
193
121
112
112
228
123
150
150
194
136
210
150
150
121
272
235
150
181
150
170
202
235
112
198
150
112
237
210
174
193
170
263
159
171
208
146
150
199
168
172
172
208
121
150
112
217
186
143
112
172
135
208
170
146
194
121
164
171
167
112
159
215
250
250
135
205
176
165
237
121
202
208
150
121
196
112
232
208
135
176
121
150
215
150
112
172
220
167
167
171
203
177
147
121
177
112
171
227
217
236
137
137
255
218
171
250
208
147
228
210
152
201
181
150
194
167
167
176
150
112
157
160
150
273
207
150
195
150
112
172
123
123
150
208
205
302
121
195
171
150
158
158
121
121
160
194
196
159
225
194
228
128
162
135
193
247
214
218
124
201
121
210
276
208
128
172
137
223
172
240
172
208
195
112
150
137
194
112
262
112
156
171
210
112
194
208
209
136
231
202
144
201
184
170
201
228
150
203
231
167
121
165
123
214
212
150
121
201
208
161
187
255
217
167
158
200
112
270
237
228
146
189
219
238
150
160
112
216
186
208
194
210
219
212
181
187
173
157
195
167
208
210
121
208
121
208
195
112
150
196
233
181
150
128
172
150
205
171
221
150
112
186
112
161
203
121
208
176
187
215
150
186
177
135
201
187
150
229
171
186
177
210
228
112
150
150
239
112
170
181
112
196
159
203
208
276
128
112
208
112
167
207
158
168
263
208
147
112
193
170
168
203
150
181
150
172
206
135
150
135
162
150
216
195
178
247
172
124
202
112
130
229
278
244
123
210
176
187
137
150
252
236
181
150
144
217
192
182
150
152
203
272
181
158
192
121
265
147
150
150
192
121
177
121
208
121
150
167
249
135
165
254
208
124
150
186
226
176
121
121
167
147
150
112
212
231
124
115
175
170
150
226
121
137
150
176
123
112
215
121
243
194
275
226
210
194
181
150
121
193
112
172
112
176
128
194
121
168
135
170
156
212
170
250
150
137
150
115
112
176
150
112
150
208
112
150
221
226
172
150
167
123
121
208
171
170
128
143
171
145
150
172
156
150
171
182
156
181
208
176
168
228
171
150
210
165
150
136
192
150
271
227
275
240
137
181
192
121
150
194
123
150
121
121
194
112
176
112
150
220
187
112
115
123
189
291
112
135
203
121
121
124
193
121
205
112
123
112
124
208
167
187
170
177
172
123
150
174
171
210
202
167
208
150
135
172
112
192
121
170
167
112
210
201
217
181
184
164
150
250
112
196
150
210
121
144
207
150
220
202
150
150
176
147
170
152
176
150
123
217
171
194
174
276
195
112
150
170
208
165
137
171
212
187
112
135
137
208
218
172
170
112
121
150
176
158
160
112
208
150
167
172
223
150
136
226
121
167
124
271
136
167
233
207
167
272
203
112
176
121
162
167
192
165
177
194
150
193
112
205
165
208
112
218
210
173
225
150
150
257
172
195
246
225
187
123
121
201
181
228
208
228
172
194
212
202
208
137
171
158
165
210
202
135
112
121
218
194
172
205
121
130
203
172
228
193
227
172
212
256
208
115
220
220
150
165
158
202
211
237
176
123
170
150
253
128
275
218
123
123
207
194
240
165
176
194
172
203
150
150
187
165
181
186
150
150
201
176
167
267
203
208
237
112
207
194
172
208
202
174
139
186
194
208
167
227
167
150
208
171
208
215
187
178
112
229
181
150
167
112
228
175
121
155
150
212
208
172
228
158
194
150
243
170
121
230
231
194
167
112
150
181
150
121
115
239
165
170
215
144
123
186
235
135
135
123
150
135
202
217
225
172
176
219
172
196
112
195
124
208
186
193
159
212
152
131
193
253
150
143
208
135
171
204
165
146
208
263
228
112
159
150
255
112
123
210
167
152
220
121
121
194
123
165
233
112
170
208
121
210
201
236
121
158
150
137
144
196
201
194
172
165
121
174
121
216
164
172
267
112
121
239
121
172
121
176
193
136
219
198
194
172
215
112
212
181
136
150
176
150
150
201
150
218
164
202
128
170
222
165
112
219
150
228
227
150
255
240
194
208
150
171
228
193
212
184
150
112
136
239
176
167
147
209
165
167
171
171
137
150
170
150
112
208
167
224
187
170
234
181
231
123
186
131
130
179
244
202
168
214
167
194
264
121
195
231
198
210
121
170
187
237
228
158
220
121
205
179
128
121
112
167
170
165
202
150
225
183
150
200
186
121
112
150
121
213
172
171
167
194
203
261
165
158
189
202
172
123
231
297
170
150
177
181
240
228
203
228
112
228
147
170
144
239
150
193
210
206
112
150
193
150
202
115
178
164
121
255
172
220
193
176
174
193
121
124
210
167
192
208
122
121
172
207
121
121
234
170
150
150
150
112
121
124
194
171
160
263
208
165
225
167
208
167
135
220
174
115
174
112
217
150
170
150
150
137
112
231
150
112
150
150
208
193
122
228
112
165
144
156
207
208
172
176
112
171
263
193
112
172
198
124
246
170
208
172
112
218
208
135
219
177
176
144
257
172
121
136
229
147
150
177
220
208
165
137
279
167
172
172
167
253
150
225
152
150
147
136
162
121
205
121
171
160
123
160
121
123
176
123
167
131
172
150
150
121
150
143
211
208
165
167
164
112
150
167
208
130
208
181
172
181
263
165
202
207
176
150
243
174
112
150
177
167
236
135
208
177
236
150
203
112
150
171
170
208
112
186
139
121
276
123
293
150
150
171
121
176
168
213
177
170
112
150
243
210
228
208
179
171
150
112
156
202
208
150
121
112
123
302
150
174
195
150
202
153
186
150
150
231
170
194
208
164
208
112
130
121
172
112
167
194
112
147
202
150
212
150
263
228
228
176
243
167
123
157
245
147
267
121
184
170
201
168
225
208
172
127
112
123
160
150
145
192
257
212
263
167
159
177
261
136
239
160
112
150
187
150
112
171
172
182
171
123
192
172
230
184
258
246
150
112
170
195
209
208
276
172
123
112
112
158
218
228
214
150
139
124
150
193
210
192
237
167
172
143
228
172
121
182
147
165
170
210
234
220
167
170
137
187
150
150
121
121
242
171
136
194
143
218
112
121
187
172
201
112
210
165
165
172
137
208
123
136
187
112
225
147
115
205
250
150
196
200
150
175
112
228
150
240
171
195
143
228
121
172
112
121
242
136
121
192
205
219
231
170
208
176
150
130
167
121
176
112
150
115
174
172
112
112
162
186
112
208
112
237
208
112
115
121
171
263
172
159
228
170
192
217
170
276
255
272
203
159
170
115
170
121
194
150
112
150
172
208
212
250
150
167
121
228
201
150
178
167
181
112
150
121
196
150
167
198
176
124
187
193
176
181
170
160
263
150
208
167
144
137
242
208
172
115
172
215
158
218
112
121
123
128
271
214
170
170
243
127
121
112
112
211
112
174
112
112
195
150
208
165
208
121
115
167
112
170
228
121
278
245
167
150
167
121
208
128
137
167
112
143
176
167
123
150
236
210
195
112
231
112
274
121
112
203
121
181
195
147
193
112
150
177
168
137
216
167
158
228
152
184
150
121
179
150
159
232
112
199
121
172
201
172
281
112
218
156
121
177
112
208
201
121
171
220
177
172
121
205
195
265
176
213
121
150
240
167
218
150
164
121
208
250
172
136
150
187
137
150
238
242
167
208
167
237
172
208
150
172
174
201
176
165
112
121
178
121
195
172
194
112
170
173
164
167
201
152
112
193
150
139
170
170
176
194
112
208
121
130
171
210
171
150
179
220
160
112
210
137
150
209
159
156
123
150
208
173
123
167
231
112
208
123
159
201
150
186
210
112
181
231
123
121
176
172
156
150
233
152
172
150
112
229
210
234
136
158
207
244
177
203
144
171
232
112
210
276
186
150
209
167
239
162
194
194
172
150
112
228
208
228
187
181
203
176
159
162
158
171
121
208
210
152
150
137
186
193
172
150
150
112
170
194
165
150
187
121
171
178
186
150
203
208
239
139
194
150
112
174
136
194
130
202
299
150
174
112
150
177
198
192
171
174
121
150
256
201
112
121
150
217
150
171
112
209
204
112
167
224
170
242
172
208
194
150
167
200
190
121
187
150
121
112
123
203
171
232
150
175
172
135
150
212
208
168
112
112
137
150
160
210
167
202
152
168
121
136
168
240
217
208
212
226
150
150
208
218
201
164
193
172
202
206
112
136
202
170
150
121
203
220
226
150
172
150
195
167
112
112
176
194
150
172
210
130
197
147
130
226
228
194
136
177
156
181
167
112
203
150
176
237
203
232
208
208
121
178
150
174
112
213
137
208
165
176
146
245
173
123
203
135
121
150
184
203
121
172
124
162
214
150
121
112
150
174
203
161
145
190
112
136
205
150
263
208
124
220
194
195
167
172
168
123
196
269
167
135
208
237
121
128
185
203
121
194
121
174
150
195
181
200
150
121
141
121
121
150
208
136
177
115
167
112
175
130
208
150
208
252
192
164
178
147
208
171
112
208
193
208
165
112
167
205
172
172
135
150
228
172
121
182
181
150
194
135
146
170
112
115
112
194
171
181
177
167
237
152
237
203
150
124
194
226
171
147
192
226
150
167
171
170
112
193
115
121
112
137
195
212
112
170
159
167
171
218
164
167
181
136
171
158
159
212
168
193
150
176
167
194
167
147
156
194
193
167
152
170
150
165
208
159
171
178
228
158
168
112
115
172
171
150
181
115
220
220
150
167
219
121
136
175
260
172
232
207
112
216
258
152
135
209
150
137
150
112
178
121
302
201
112
242
158
166
170
237
158
240
112
181
144
213
165
121
171
207
150
123
195
194
186
170
170
244
179
220
112
165
150
184
112
172
121
150
160
164
208
172
123
208
184
165
190
172
220
167
189
150
121
219
156
171
230
135
157
150
239
128
136
204
135
123
240
121
121
217
159
212
115
170
206
150
212
228
135
172
172
202
121
165
121
150
218
167
137
164
182
233
212
136
170
158
160
112
226
171
147
239
231
194
121
186
167
207
208
208
112
144
170
201
115
211
123
121
170
112
174
150
121
162
236
226
159
164
150
208
150
112
167
171
225
150
165
208
228
208
153
112
217
112
164
150
167
150
150
130
150
112
195
167
136
172
208
170
178
123
121
115
136
121
121
176
112
263
168
172
176
167
170
177
255
174
208
112
177
150
121
226
175
178
121
170
112
150
123
150
212
150
195
112
171
158
150
189
150
187
187
150
171
174
186
208
215
165
112
150
112
160
112
112
150
225
205
112
195
208
150
226
208
176
178
212
112
121
170
136
186
171
194
228
172
123
158
194
150
187
112
211
205
167
195
159
112
176
150
121
159
156
167
194
112
194
167
194
201
179
156
219
112
121
208
112
181
150
135
181
165
175
171
112
170
112
176
147
187
203
207
202
121
112
112
168
181
208
176
112
176
231
220
177
150
177
121
168
112
210
150
146
203
229
216
227
170
164
136
121
112
203
167
171
208
178
170
208
172
262
262
207
112
121
255
152
150
150
243
157
194
225
243
121
167
136
165
115
112
121
158
305
153
150
264
112
167
172
174
196
150
150
229
112
177
208
229
135
238
237
157
165
112
156
112
121
112
187
194
242
168
172
150
115
150
165
243
196
203
175
121
150
187
193
192
152
121
194
150
189
167
210
123
112
167
181
150
184
216
205
210
112
209
194
186
172
177
176
171
112
150
201
208
150
121
172
136
150
137
186
181
208
121
170
112
112
218
194
150
175
147
165
219
225
112
228
167
112
195
176
208
194
150
176
219
302
205
176
172
167
210
121
165
193
150
233
208
176
236
172
112
121
193
276
152
150
123
212
208
194
121
152
150
172
123
181
122
150
217
115
143
170
172
213
150
165
208
214
225
121
170
208
170
170
150
178
156
167
158
181
123
186
112
121
196
185
202
150
150
237
195
189
121
150
172
187
189
186
213
115
194
123
156
208
228
150
195
121
150
150
112
243
184
170
150
170
112
150
292
112
115
150
208
187
237
172
167
112
267
208
276
195
202
195
167
150
165
124
121
112
158
121
112
167
159
195
150
187
150
135
174
150
115
152
112
150
185
240
244
232
158
208
170
159
172
186
150
208
123
208
208
112
170
147
243
121
212
259
150
150
165
164
176
208
175
232
240
203
156
210
226
172
194
179
226
208
115
123
121
121
194
150
121
187
150
112
212
181
115
223
121
121
165
167
150
112
208
121
216
250
150
112
177
208
121
150
150
170
150
112
172
212
203
193
121
206
150
150
150
231
112
121
165
112
176
147
167
172
195
158
121
210
170
172
130
225
176
196
150
112
171
181
135
255
121
181
137
150
210
184
170
226
172
112
150
203
187
176
176
186
123
121
176
128
184
143
261
164
207
179
147
121
181
208
198
232
165
207
135
123
123
130
171
150
150
121
167
123
168
172
187
150
194
150
211
179
208
212
177
167
152
150
112
185
135
174
230
143
150
186
164
147
219
201
172
250
112
150
150
121
208
158
171
208
208
192
192
194
202
174
208
147
112
163
170
165
181
218
160
208
130
156
121
150
121
112
200
115
147
167
150
210
176
135
167
128
165
202
136
208
150
157
112
121
150
208
167
130
112
194
215
112
172
159
136
123
115
147
208
237
243
112
150
190
112
150
172
193
212
194
207
203
213
160
150
186
150
181
231
135
172
172
229
112
176
152
217
150
150
202
276
150
202
150
152
167
150
176
179
150
165
172
214
150
160
185
150
254
112
182
202
167
209
171
137
214
123
175
166
112
121
182
193
164
123
115
263
176
201
194
112
172
121
121
250
137
121
209
192
135
115
159
194
112
181
205
150
150
124
150
150
208
237
205
171
112
137
228
165
150
160
193
150
187
161
150
121
136
167
150
158
181
121
212
171
177
123
112
165
112
195
193
150
124
217
220
112
208
239
265
170
135
150
160
137
165
233
121
170
112
112
156
239
225
254
150
187
229
210
135
150
232
194
112
208
112
172
208
203
123
121
193
212
179
225
167
112
112
130
112
263
219
220
232
112
208
186
236
208
128
181
112
121
112
194
172
208
167
232
167
217
202
245
181
112
172
121
123
121
172
263
150
205
143
235
202
229
192
112
225
203
112
150
121
137
181
121
225
176
156
121
170
150
212
150
150
216
210
186
179
150
121
181
233
193
195
172
193
220
157
112
112
208
170
174
208
205
208
250
150
112
150
112
167
150
272
112
112
132
210
216
170
172
202
161
239
165
156
210
202
150
182
121
250
176
239
160
176
150
150
243
112
139
219
202
121
264
150
250
208
131
194
150
112
139
194
112
208
196
206
255
194
195
150
121
197
228
263
186
203
112
112
244
152
143
274
121
201
230
112
165
150
256
187
176
178
112
121
170
244
123
214
231
165
186
150
121
156
195
208
112
177
150
150
233
249
208
237
208
181
212
167
123
236
176
150
203
250
150
164
167
202
170
218
135
115
189
159
208
177
121
185
135
172
212
150
170
203
195
137
233
150
135
158
241
202
193
121
226
123
152
187
112
197
210
167
150
121
170
135
258
208
121
208
228
112
161
171
186
208
189
121
150
207
170
112
220
255
150
150
123
195
150
124
115
200
150
112
150
167
150
150
217
226
150
203
255
121
172
215
247
171
235
182
220
167
150
165
150
164
172
201
131
194
165
150
255
210
115
194
186
218
193
205
172
121
124
167
208
121
130
115
212
212
170
150
167
112
194
150
172
150
164
187
237
186
124
174
174
212
203
121
121
170
208
225
252
165
121
208
208
137
135
150
207
237
260
231
179
205
147
226
217
212
171
176
170
112
159
150
257
260
121
121
236
150
170
167
208
208
137
112
186
121
196
167
186
112
112
171
208
135
226
150
150
150
186
208
168
132
121
150
150
150
263
170
167
200
193
232
201
202
144
121
174
202
150
208
150
112
172
181
121
193
112
227
171
193
112
210
176
170
112
207
205
237
174
177
203
150
203
112
112
171
272
115
172
231
203
170
135
174
172
210
159
115
150
165
170
121
150
214
155
202
150
150
208
212
218
231
194
220
180
171
171
121
194
201
167
230
215
156
136
147
146
144
210
194
121
194
159
192
150
156
218
121
193
207
224
112
121
112
112
112
229
176
165
156
188
160
265
147
128
203
112
167
135
136
164
210
121
208
158
164
137
170
181
121
112
170
302
172
123
159
150
239
123
121
170
172
150
172
205
123
171
136
150
165
208
172
112
201
176
208
171
208
172
168
167
208
194
194
177
211
170
171
135
255
208
172
112
150
121
158
112
172
158
158
144
208
163
137
172
205
205
267
223
121
135
217
167
221
208
159
159
201
274
173
193
176
194
171
208
208
112
112
171
112
121
145
121
208
143
121
143
177
193
167
143
156
159
150
177
212
203
124
223
189
150
193
150
187
220
150
150
171
112
165
208
171
186
150
171
150
121
177
223
172
121
157
181
112
170
112
245
150
121
112
217
170
167
208
193
200
214
150
171
150
150
208
226
165
150
208
185
147
150
255
165
186
147
159
121
208
137
181
112
176
224
184
172
176
150
202
177
124
167
167
181
217
167
165
181
181
172
228
171
112
112
232
208
255
205
112
150
121
187
231
150
252
172
255
225
156
124
150
112
195
170
202
112
202
143
208
150
201
181
208
187
147
171
135
188
150
135
254
137
112
226
167
123
121
121
150
201
136
112
172
123
150
194
174
112
137
163
121
172
220
165
255
219
216
136
112
115
212
232
121
194
112
150
181
150
112
203
262
168
112
150
170
136
136
210
170
150
194
217
189
136
150
128
121
159
172
187
167
174
208
230
164
349
263
206
181
150
172
195
165
167
167
194
211
150
194
159
150
150
195
214
121
147
278
208
253
121
181
150
187
172
255
112
302
150
159
121
150
181
220
170
112
179
212
112
172
181
150
121
208
123
112
255
167
164
208
172
179
228
171
225
172
172
121
112
221
160
227
123
202
176
150
218
231
150
137
219
202
203
150
236
147
112
112
158
172
233
167
177
159
201
121
167
150
150
228
112
194
172
167
115
167
167
167
201
231
165
202
112
208
150
150
167
211
167
112
241
257
237
208
121
128
150
170
150
115
150
177
170
208
121
208
243
147
194
144
150
124
228
208
121
130
172
124
195
164
229
188
175
167
174
168
226
112
187
237
160
230
217
150
181
147
279
193
121
210
167
112
150
135
112
121
218
150
228
193
112
112
124
167
212
121
171
260
194
181
212
121
150
112
178
164
213
176
121
121
115
170
124
112
208
112
121
171
167
152
176
137
219
143
208
193
278
165
235
150
203
167
254
217
159
112
210
208
208
150
239
136
150
121
200
165
150
205
250
235
164
150
181
158
115
112
172
171
124
172
213
150
168
250
237
202
112
239
307
171
182
123
187
147
208
150
150
284
161
112
150
210
228
124
193
228
150
170
112
180
170
203
176
150
250
237
112
255
239
216
193
194
170
172
112
201
209
189
132
130
130
112
128
168
115
231
225
175
170
170
186
112
187
193
150
210
130
130
121
167
121
130
170
128
112
123
168
193
257
208
172
207
187
228
208
190
172
220
150
190
156
115
159
121
160
208
212
121
112
206
208
136
112
172
159
194
121
150
208
170
112
121
177
208
245
124
121
208
158
187
112
213
112
212
158
137
146
186
150
193
180
160
121
239
112
172
147
131
164
112
124
228
208
189
150
208
124
228
205
112
170
206
171
170
183
168
208
123
195
217
178
172
255
150
172
123
150
195
160
150
167
210
170
171
137
167
121
219
224
176
160
208
214
180
150
228
112
190
208
112
164
229
150
121
121
150
136
208
177
112
171
201
130
135
172
112
228
172
263
202
156
165
195
159
171
250
239
112
194
181
159
156
177
156
152
121
136
219
193
200
112
207
203
176
115
167
121
194
201
238
121
164
112
150
136
150
150
137
181
136
124
186
135
172
150
167
172
176
167
194
171
194
167
170
170
159
160
191
194
123
156
135
112
167
178
121
186
208
150
112
112
208
167
136
167
228
150
231
237
255
203
150
202
112
208
167
112
218
223
196
165
167
160
123
167
212
248
219
150
170
176
202
223
167
193
176
150
124
176
208
150
171
150
165
302
186
150
170
194
121
147
167
181
167
150
121
147
167
203
299
112
193
167
112
247
181
112
150
220
167
186
218
124
217
164
167
160
278
181
121
112
212
171
186
217
167
241
193
194
172
112
123
150
170
172
208
237
216
112
239
215
171
208
182
112
156
167
150
156
250
150
170
124
112
247
150
217
121
171
130
121
150
150
159
115
123
112
157
112
150
167
150
156
237
170
150
200
150
112
222
146
191
190
219
112
121
167
143
121
112
193
172
209
194
243
112
158
150
136
208
150
150
228
112
156
167
150
176
176
193
150
150
181
208
208
152
150
150
147
210
160
112
112
219
150
137
112
112
187
208
167
192
171
244
150
150
208
175
165
187
147
127
237
281
240
150
176
170
181
197
174
194
112
237
184
208
217
225
112
204
172
112
194
150
228
121
208
239
181
150
161
208
228
112
193
136
152
171
121
201
193
172
178
150
136
257
170
156
150
187
194
150
150
257
179
176
250
150
208
237
208
251
112
202
217
121
297
181
192
150
167
220
181
171
219
208
172
176
212
160
168
143
158
150
156
156
121
228
172
219
276
208
193
174
112
152
150
231
135
121
172
128
147
194
177
170
150
158
254
112
112
150
112
208
170
167
167
181
208
232
172
167
233
207
158
172
123
213
218
150
112
171
208
240
174
123
150
121
177
175
170
150
196
161
131
112
147
208
128
237
192
150
121
112
150
176
209
150
172
115
159
181
123
112
172
219
208
208
192
115
112
217
150
112
121
193
233
121
172
218
207
225
150
121
219
121
219
121
187
112
202
121
137
169
136
170
171
180
209
121
231
208
165
121
181
121
194
173
150
196
246
135
174
177
112
121
205
150
174
181
172
159
170
167
178
112
123
170
121
201
112
112
186
150
171
121
194
167
287
181
225
150
217
194
135
150
209
223
257
144
201
225
121
228
172
112
135
208
194
184
209
190
174
208
162
150
223
180
194
195
112
208
123
136
158
150
226
123
177
241
137
253
199
208
170
150
121
152
226
239
172
201
176
150
121
112
112
147
171
235
130
112
130
172
135
195
208
130
243
193
112
174
164
167
220
123
254
121
150
112
164
220
137
229
192
150
112
187
170
123
160
164
115
115
112
195
137
130
150
228
236
205
150
167
121
136
150
121
112
210
170
186
176
168
170
214
112
171
172
112
220
194
208
130
263
192
172
124
207
171
150
194
150
208
210
201
179
167
112
112
220
176
186
150
150
208
146
112
156
121
186
165
170
167
167
171
167
167
171
137
172
229
112
168
176
176
228
135
201
170
201
172
112
150
150
136
123
164
150
217
246
150
172
150
194
162
239
150
112
165
112
112
150
152
147
121
208
135
239
150
171
136
123
136
121
209
172
208
194
143
171
210
195
187
176
176
165
165
171
201
208
123
115
121
165
123
170
208
150
181
177
136
164
181
233
121
187
173
121
168
228
195
172
121
174
302
112
225
202
202
172
160
121
143
176
150
158
124
170
194
194
204
217
231
193
137
215
210
170
206
208
172
112
165
219
112
172
212
232
208
150
250
121
112
165
176
150
176
181
176
112
150
202
172
208
229
147
203
147
194
170
208
121
150
208
202
208
170
184
170
123
181
150
135
164
150
112
121
195
173
121
150
130
174
150
276
123
171
136
181
112
143
210
170
165
150
165
150
186
112
242
137
165
121
112
175
171
228
150
164
215
137
229
121
172
150
167
167
147
172
112
186
158
195
112
156
201
172
194
255
121
150
201
176
152
243
136
121
186
112
167
123
144
128
121
218
121
170
150
231
215
196
202
112
150
209
202
121
121
167
195
172
220
205
121
175
281
302
123
150
121
167
208
150
243
121
150
128
212
152
143
317
150
210
150
150
210
250
137
112
150
115
135
260
139
150
174
121
112
203
150
212
135
208
158
187
237
192
112
150
194
121
193
172
276
121
207
231
210
150
176
150
228
202
205
164
203
150
219
208
112
189
172
186
168
255
160
135
165
212
150
135
171
172
121
193
228
255
156
203
243
150
176
135
182
167
136
187
171
150
121
212
158
163
212
216
194
112
223
205
146
112
150
171
150
112
174
194
121
165
147
112
200
170
156
150
150
112
121
135
190
167
219
228
220
112
171
164
115
193
121
219
158
112
112
150
252
171
176
121
203
176
169
121
121
137
175
150
150
228
123
203
176
172
231
194
181
208
160
121
175
135
212
221
130
202
172
239
195
218
208
243
223
115
182
112
205
150
123
150
176
192
184
193
172
115
121
208
170
150
121
189
170
201
167
112
150
212
201
123
160
172
217
187
205
150
121
195
123
181
112
176
297
195
167
172
121
161
121
167
219
175
136
167
239
186
214
199
150
220
203
170
208
190
172
237
150
211
219
208
177
201
208
165
174
121
150
187
219
121
112
121
217
168
195
137
123
171
196
112
150
175
207
219
172
112
191
237
163
136
278
150
121
165
161
217
150
167
112
135
184
243
135
208
172
213
158
112
186
204
170
165
228
123
208
175
158
128
167
123
187
167
143
165
255
172
212
235
144
170
147
170
230
157
208
168
196
263
218
150
193
170
171
112
121
228
168
170
201
258
152
143
112
171
302
202
121
147
195
194
150
135
121
139
167
243
220
193
135
121
123
195
257
231
123
164
172
209
222
195
167
243
173
194
165
146
223
208
202
165
170
243
160
167
243
115
157
210
278
123
172
178
241
232
222
123
135
176
136
186
112
208
150
112
150
209
170
137
231
112
121
193
210
243
170
182
121
194
194
130
187
170
150
150
172
208
158
160
168
171
160
121
159
176
245
161
235
239
181
150
121
186
215
150
252
234
194
194
123
228
231
112
121
156
275
212
170
185
214
220
171
203
121
216
170
150
195
121
228
237
121
186
179
150
208
165
112
112
193
121
171
164
255
123
112
208
264
204
234
146
208
167
150
194
112
194
131
123
167
181
214
171
255
199
123
228
210
112
121
209
186
121
175
209
150
165
229
177
150
189
123
167
171
186
193
181
123
112
212
172
150
207
185
176
147
150
121
121
172
150
170
208
139
112
121
115
150
208
194
195
167
135
164
123
112
121
182
115
123
208
112
181
232
207
181
121
150
123
150
225
123
170
115
150
238
121
174
278
121
220
158
135
194
194
194
194
165
210
167
164
167
150
226
208
112
177
112
228
123
112
170
176
201
237
112
171
276
206
243
170
167
242
208
186
171
272
242
150
186
164
208
194
172
193
150
231
121
195
112
152
160
217
208
176
201
260
150
115
160
112
121
150
121
193
230
215
186
186
181
150
172
171
150
136
212
150
170
174
112
112
217
121
170
194
158
158
150
232
201
171
217
121
224
172
112
147
112
219
240
112
244
186
121
228
150
212
150
112
112
150
208
196
255
207
219
150
175
150
195
193
208
218
175
171
121
158
181
172
218
208
187
194
203
195
193
121
112
192
207
186
139
231
150
112
136
172
188
150
160
194
270
168
229
165
271
215
192
179
150
150
195
160
156
187
187
135
172
270
112
167
237
177
150
210
144
207
199
121
121
202
201
112
150
228
189
167
186
181
150
186
239
203
172
208
159
121
150
255
112
193
226
255
181
222
150
172
234
147
123
150
150
282
167
170
195
121
177
150
203
112
208
208
172
255
206
212
208
136
237
164
150
261
135
136
172
112
217
207
130
150
176
167
112
167
121
150
158
201
223
204
150
205
278
171
150
112
172
112
194
150
171
150
186
165
167
208
123
112
147
203
199
123
177
208
171
112
128
253
170
112
211
115
156
121
135
203
150
112
150
224
170
208
112
121
187
185
228
175
208
135
112
234
121
178
196
196
244
235
121
172
121
172
251
259
177
172
231
112
260
176
164
174
150
206
218
177
121
165
184
192
282
156
112
150
167
171
302
181
150
302
174
208
112
115
229
219
136
167
137
150
121
121
231
150
172
137
194
112
187
234
128
121
112
123
225
172
150
232
220
222
181
121
208
176
112
150
189
173
195
228
135
150
150
193
121
208
208
150
150
150
156
172
172
150
195
136
171
187
208
159
193
219
121
123
182
150
172
233
167
167
121
187
196
208
112
150
124
219
172
150
202
192
121
224
228
121
112
216
121
121
167
150
123
206
186
165
176
278
241
112
239
195
179
112
185
168
112
201
197
208
172
136
167
159
150
150
172
176
150
167
150
165
112
172
170
239
181
112
208
265
147
165
218
112
244
193
194
228
202
237
208
160
168
150
112
150
229
209
150
150
205
159
279
121
115
121
112
167
243
112
193
150
261
172
276
115
170
257
112
159
255
123
152
136
225
205
150
112
112
121
150
157
186
241
150
112
152
193
208
121
112
150
210
150
176
194
170
216
203
136
158
186
181
207
150
112
135
150
150
181
156
233
130
158
174
257
179
112
209
266
233
229
112
150
152
123
112
144
171
208
150
144
150
234
150
150
112
123
121
112
112
272
172
150
150
144
255
112
176
263
158
112
143
112
201
211
240
186
202
137
211
202
121
112
165
123
170
219
222
150
244
137
171
186
229
135
208
171
172
263
205
192
167
237
130
112
131
208
121
171
194
115
150
202
165
240
150
150
112
177
136
112
121
172
112
112
123
121
183
112
262
208
135
181
112
237
201
157
150
179
172
112
167
193
207
147
179
219
172
202
150
207
112
179
112
170
123
181
228
167
208
235
172
147
181
231
167
195
257
150
172
208
176
112
112
201
123
177
207
121
167
214
173
121
194
150
121
124
228
212
233
239
112
147
186
211
136
237
167
123
208
121
211
150
136
121
239
195
150
115
150
112
208
121
121
202
195
216
137
112
195
132
121
246
112
167
175
112
158
170
216
202
170
232
208
208
167
172
112
195
212
156
172
176
167
112
237
167
236
203
170
167
123
210
150
208
172
231
193
167
112
172
143
165
237
112
171
112
115
178
112
150
177
150
128
121
205
150
233
172
202
232
164
210
167
136
193
172
150
150
232
194
201
123
150
170
150
150
150
159
276
208
193
123
207
228
159
112
123
159
208
191
208
181
179
250
147
150
202
115
172
112
150
208
112
121
210
263
177
156
112
147
158
231
194
112
150
158
135
112
112
121
115
137
209
232
194
112
121
237
112
170
121
136
181
150
177
208
112
121
167
203
170
212
193
150
121
243
235
193
165
172
176
190
172
112
178
302
123
194
187
165
150
237
156
208
112
172
181
185
167
195
208
208
167
150
201
150
232
237
228
150
112
192
112
150
177
167
167
170
121
123
112
147
168
165
167
112
167
167
186
165
231
135
192
212
130
222
203
121
168
121
150
170
156
181
228
137
112
208
176
150
150
150
172
115
165
112
112
172
181
150
137
160
170
150
123
202
235
175
171
187
172
210
302
242
182
112
150
202
150
135
121
229
201
150
167
121
201
220
254
187
195
194
181
150
123
171
208
167
208
150
135
150
249
213
112
164
115
159
171
112
237
150
228
170
175
150
112
150
255
172
123
193
195
165
187
172
152
208
218
121
172
250
123
208
150
172
160
207
174
176
196
167
171
172
112
170
165
112
171
193
121
136
137
123
229
172
192
201
167
208
172
187
121
150
124
212
130
121
181
167
112
182
174
112
295
214
187
225
150
194
195
121
232
123
147
231
112
130
172
150
208
187
156
208
186
150
186
150
115
150
196
194
171
150
189
150
177
167
186
176
187
157
150
170
181
208
167
123
143
186
179
141
238
291
192
123
172
162
165
121
199
215
112
121
123
201
196
226
240
210
135
172
150
228
121
229
240
272
121
177
194
121
172
168
150
174
231
228
156
181
228
112
123
121
195
135
243
124
112
150
150
229
205
178
209
136
194
150
123
167
112
209
112
121
186
158
150
165
172
171
121
172
112
208
192
121
193
201
195
210
150
237
160
172
203
170
131
171
136
150
163
165
171
250
171
171
112
181
210
112
112
171
212
147
232
171
218
231
190
208
200
112
203
112
207
223
200
231
186
202
176
171
150
123
170
172
150
158
147
208
274
150
150
115
172
220
167
158
150
152
212
170
179
176
220
121
136
195
200
301
163
167
189
241
174
147
240
250
147
121
181
112
242
172
171
150
177
115
250
242
208
165
165
226
237
239
204
240
208
226
170
172
128
231
171
202
150
170
172
121
112
195
112
162
193
177
260
147
206
184
208
193
302
121
238
220
232
186
112
214
121
156
220
193
218
164
121
165
121
135
170
150
189
208
235
115
170
181
177
229
170
193
121
212
150
165
228
219
170
112
165
181
150
156
194
172
257
115
239
150
150
255
238
128
186
208
205
172
199
172
232
231
291
208
176
136
164
204
121
225
150
302
194
194
216
112
194
139
112
121
172
165
123
121
167
171
296
207
112
192
202
160
172
121
228
121
201
164
240
136
209
279
202
112
121
135
123
123
112
239
121
150
136
228
135
150
187
162
172
201
187
235
192
167
194
121
123
172
240
201
115
208
159
176
112
144
218
112
232
214
170
219
208
193
167
229
193
121
181
170
206
208
112
219
121
187
250
121
208
147
172
167
112
225
176
137
112
150
123
165
247
112
164
208
150
158
121
164
135
172
156
211
208
112
150
171
225
233
181
150
172
164
150
167
177
112
170
112
167
167
150
170
150
172
172
255
208
170
198
214
186
123
123
137
150
194
137
161
239
123
194
121
167
237
150
168
112
150
170
210
144
112
203
167
221
150
124
167
171
147
181
208
121
135
152
150
112
202
121
241
171
177
136
228
112
150
112
237
150
189
150
172
170
172
150
150
175
171
259
121
112
170
150
302
130
158
121
115
219
167
193
237
208
260
121
172
198
121
170
220
123
150
150
172
112
147
170
208
259
150
112
278
195
124
233
150
171
150
170
208
165
150
137
150
231
172
167
172
150
204
192
272
158
150
112
121
232
163
220
171
217
121
167
208
214
195
210
194
150
208
231
167
123
215
177
231
171
208
150
150
137
208
164
279
150
240
181
121
136
115
228
167
204
239
112
164
206
196
135
226
123
213
182
150
213
278
172
112
121
201
220
208
176
192
172
150
121
176
150
128
150
183
172
150
201
170
137
171
175
176
242
170
112
115
150
184
121
170
150
208
181
150
192
112
158
176
181
214
121
150
170
121
170
121
281
172
172
202
208
201
150
112
124
171
187
112
167
189
158
170
123
147
150
243
197
158
171
167
112
150
181
228
121
147
172
168
171
208
121
150
112
237
184
121
215
112
112
194
160
177
170
207
194
172
135
192
208
112
174
203
112
172
205
121
150
150
194
150
250
178
121
150
192
176
215
172
184
239
194
176
170
128
150
212
171
208
212
179
112
150
198
218
121
136
192
181
226
171
150
112
137
210
150
165
121
150
158
264
210
150
172
203
112
176
240
176
121
121
145
168
150
115
147
150
150
208
243
186
112
194
112
136
171
175
302
220
179
210
239
174
136
167
150
210
167
112
192
150
215
150
150
171
170
150
171
172
172
144
137
247
193
112
150
165
130
147
112
200
225
158
165
124
123
208
212
175
208
208
177
197
195
147
192
210
164
192
121
112
147
150
150
167
135
237
239
208
131
227
250
228
240
242
194
193
172
226
187
181
167
150
112
124
121
237
187
202
136
240
112
170
164
194
121
203
233
208
255
219
203
201
176
202
150
112
167
167
170
121
219
121
121
236
153
194
176
239
297
112
112
181
121
187
158
171
195
178
150
150
165
121
167
150
237
135
144
231
121
210
121
165
172
243
226
112
167
195
152
121
167
172
112
112
181
228
186
172
112
160
150
202
177
112
212
194
170
167
177
112
121
121
150
112
240
112
161
167
194
231
150
205
172
228
172
240
216
150
115
181
167
112
123
228
121
194
150
302
136
115
186
121
189
217
167
210
130
168
215
121
123
196
121
223
112
208
167
176
204
150
121
150
212
231
228
112
150
192
208
175
170
229
216
266
209
172
205
237
136
171
150
178
160
218
168
123
208
191
150
165
246
263
176
239
167
219
171
234
150
167
167
150
150
150
172
278
228
170
228
121
228
121
136
167
112
121
123
208
193
172
165
121
150
186
150
209
130
150
217
275
115
150
150
228
171
239
174
208
220
208
150
159
121
167
189
172
214
257
112
172
223
112
215
159
217
193
150
112
121
176
167
181
150
112
249
195
255
192
167
158
150
150
147
130
150
130
217
243
203
123
193
121
223
239
233
164
194
217
172
170
150
181
121
236
137
135
212
243
217
220
112
195
228
225
112
181
180
208
203
121
121
250
213
208
150
112
193
137
121
121
219
128
177
168
112
123
258
212
186
218
202
121
121
165
242
202
112
121
121
199
112
194
112
121
112
121
177
212
182
172
112
150
163
206
147
147
124
115
194
158
208
121
147
150
112
168
228
145
112
137
228
135
225
208
228
264
112
160
146
121
194
211
194
199
150
186
255
112
171
195
171
201
137
112
219
235
144
150
167
172
281
164
112
232
181
235
121
174
164
165
123
147
243
150
156
187
121
171
208
187
250
112
121
121
208
172
170
112
237
115
150
128
237
112
194
112
112
168
170
179
208
205
136
228
150
121
230
123
112
195
112
237
208
112
121
176
150
150
112
187
139
193
112
150
176
121
121
172
201
170
112
228
150
218
208
112
150
147
158
112
193
165
170
144
167
228
121
208
171
168
190
112
112
181
160
112
170
158
190
202
150
172
237
181
112
181
276
112
165
150
123
199
167
201
112
112
150
158
263
208
278
128
205
196
135
176
265
150
202
150
135
195
235
123
177
243
123
130
208
208
208
217
167
150
240
112
203
250
112
115
201
193
135
250
136
135
233
159
167
150
202
167
172
124
218
208
170
150
121
128
115
237
208
243
228
248
150
124
137
238
208
176
208
167
242
187
128
186
210
236
150
186
115
135
184
210
150
123
226
136
167
150
167
238
208
121
147
130
250
121
136
243
219
121
172
187
188
177
143
130
302
172
150
112
150
112
177
170
201
208
202
158
137
164
150
193
228
112
121
167
121
226
263
193
121
167
167
201
182
136
240
150
165
202
150
194
112
207
115
112
150
170
167
121
181
176
121
121
208
147
112
202
150
150
112
160
217
225
242
159
150
115
150
115
203
194
212
112
208
170
135
220
210
219
135
167
237
168
185
195
274
194
150
184
212
112
137
233
150
128
145
194
194
121
170
152
239
212
150
208
170
195
219
172
227
232
165
112
112
112
150
230
203
194
172
171
121
112
208
150
150
210
186
147
158
158
150
237
172
208
112
150
223
112
124
212
150
208
187
121
237
147
203
150
112
150
115
170
208
207
124
196
137
258
181
199
176
123
121
112
150
212
172
121
159
159
195
172
150
170
181
193
164
194
112
112
112
170
195
234
165
167
150
167
112
259
176
205
112
255
121
208
164
243
135
208
187
135
112
224
150
123
250
181
171
150
217
171
167
158
112
150
150
150
181
208
192
123
232
208
173
235
152
264
194
255
121
150
112
194
176
228
150
150
123
193
150
208
187
165
136
208
167
150
150
213
194
231
193
150
137
220
288
167
192
131
195
171
112
172
181
189
186
170
228
302
170
150
196
212
147
170
150
167
176
207
244
121
186
201
147
213
186
172
121
208
237
121
130
193
167
227
130
124
160
198
265
220
201
112
218
195
208
228
112
150
130
121
152
159
121
150
121
112
229
276
172
202
208
171
112
237
236
165
170
121
150
216
121
112
189
150
160
170
135
150
128
112
181
152
202
210
158
212
156
168
187
115
150
137
121
228
112
135
193
208
226
195
176
212
150
228
194
189
121
143
183
202
181
147
176
208
208
123
135
150
136
235
186
243
236
150
164
112
241
195
167
239
212
177
172
112
124
255
171
181
229
172
195
135
168
112
174
150
210
228
121
165
167
121
206
165
172
187
128
150
115
218
176
172
171
172
212
228
112
194
164
160
231
123
156
208
143
282
233
225
218
112
175
150
137
150
157
164
121
167
112
212
159
237
167
112
225
194
147
158
121
158
228
193
121
158
208
210
160
150
263
228
184
235
179
150
228
168
194
136
115
209
150
202
189
218
237
112
208
274
112
201
212
112
150
195
150
186
237
187
193
202
137
112
217
192
210
176
121
232
137
244
168
237
171
112
121
158
121
199
158
112
187
208
121
121
172
208
150
205
192
170
128
136
150
150
136
121
213
112
121
121
150
147
112
220
192
250
124
172
228
124
167
112
174
150
186
123
181
164
156
240
185
112
276
208
150
187
170
121
121
112
305
208
237
150
128
217
136
147
240
195
199
167
150
150
177
221
150
208
150
150
210
195
212
112
241
150
168
150
195
207
239
246
150
170
112
150
228
171
193
112
172
194
208
124
139
123
112
121
150
225
194
182
186
121
150
207
194
112
137
164
150
187
192
165
121
112
124
112
174
112
170
179
209
167
171
137
205
146
147
150
237
123
202
194
172
167
152
164
208
121
187
178
228
172
194
237
150
147
159
156
184
200
192
112
121
150
170
158
121
172
237
161
187
121
172
150
172
121
112
152
150
184
249
237
150
150
121
193
164
210
158
150
194
121
203
176
279
167
112
112
150
150
172
132
121
156
194
121
144
203
164
150
225
212
115
191
123
167
240
207
112
121
172
168
234
172
150
150
150
121
170
121
150
195
150
240
121
243
198
194
207
190
171
193
135
208
194
208
160
170
193
228
170
257
239
240
247
172
232
144
112
210
147
150
181
150
150
193
210
112
150
150
210
170
172
194
150
112
176
181
150
150
181
121
112
208
170
167
123
258
171
194
172
152
208
187
150
135
150
201
172
181
194
250
112
193
208
174
150
165
162
172
172
136
136
121
174
167
147
276
176
208
158
172
172
172
128
208
184
121
265
172
209
207
208
150
112
170
175
128
123
121
181
150
150
181
202
208
112
243
160
178
172
300
165
150
168
167
170
121
121
165
121
135
165
195
167
137
250
167
236
135
157
150
130
157
135
195
121
203
172
208
112
193
170
250
181
202
227
255
208
233
167
112
176
208
205
199
186
192
112
143
164
112
135
193
217
179
209
181
124
112
112
137
150
279
192
195
137
165
193
150
237
194
112
172
178
187
237
278
205
194
112
177
123
162
150
167
208
156
236
263
217
156
150
195
176
150
203
175
150
112
112
112
171
136
150
112
121
170
150
121
135
150
244
219
164
161
121
208
135
216
195
145
195
121
194
181
112
121
218
203
121
150
225
194
150
250
170
123
123
170
121
112
176
195
112
228
143
176
157
208
208
171
250
130
123
228
237
158
165
150
193
187
208
202
121
194
226
165
226
208
112
193
181
112
150
195
195
165
170
190
121
112
181
207
150
152
208
270
123
123
202
143
171
228
218
178
194
204
121
186
254
150
159
150
112
143
150
121
250
176
131
136
211
172
112
112
209
112
167
124
121
170
123
206
208
181
165
202
243
208
172
167
192
112
135
147
123
243
172
165
239
150
112
231
112
150
165
172
222
165
176
202
121
112
181
208
150
208
150
112
112
172
158
176
226
269
208
121
135
231
212
167
208
112
130
150
123
150
263
112
194
147
121
176
237
264
189
297
112
183
231
171
121
121
135
112
167
150
112
172
165
150
172
195
112
187
208
112
165
195
172
172
167
226
147
112
194
193
181
172
203
177
225
112
171
250
150
175
159
204
121
135
121
239
115
202
156
115
190
237
195
167
194
123
172
237
165
208
137
194
194
220
167
228
209
213
158
167
121
121
123
231
239
171
168
171
218
172
150
144
143
208
196
130
167
201
212
123
150
195
167
167
182
112
172
177
157
237
124
176
150
187
150
121
150
208
115
186
112
225
150
112
174
220
210
211
219
165
121
208
212
228
112
194
209
150
115
121
186
159
167
181
176
121
233
208
152
187
135
150
165
121
255
208
112
184
186
137
220
178
171
214
171
237
201
176
121
171
121
143
202
228
121
123
135
112
112
177
302
215
205
205
227
255
170
147
228
228
209
150
175
181
112
228
124
112
170
192
150
167
209
130
167
202
233
208
181
199
112
252
208
136
213
121
174
121
200
212
235
181
160
167
250
150
239
174
212
176
150
177
231
195
121
128
181
231
167
170
175
195
278
152
182
164
170
167
259
208
121
171
150
201
203
194
208
152
187
172
150
237
167
233
177
202
112
276
179
194
172
204
112
208
115
228
208
179
121
128
208
208
150
225
150
212
186
228
202
194
195
167
193
216
195
150
150
165
159
150
167
208
156
193
158
214
135
147
112
135
202
279
250
202
121
136
165
112
112
194
192
226
167
172
236
112
174
172
176
165
156
255
239
207
233
208
137
165
190
150
194
194
130
121
212
115
159
208
135
196
150
144
121
124
166
181
195
150
181
144
144
150
121
137
237
223
170
121
228
157
207
121
212
208
263
172
112
170
172
172
115
186
167
237
197
123
123
237
121
121
228
115
250
167
260
150
152
150
150
143
136
167
112
231
232
193
147
199
150
172
121
208
210
249
167
194
208
172
112
115
202
172
171
176
172
168
150
233
170
112
121
150
226
147
212
208
235
203
153
195
181
172
164
150
205
164
136
178
187
176
136
208
112
175
255
240
112
121
112
302
172
208
121
221
121
172
237
167
172
161
112
121
218
189
167
167
150
121
123
112
264
186
164
192
112
152
170
156
194
112
208
176
170
258
242
123
150
208
150
123
193
208
176
150
201
131
112
170
147
150
192
226
228
232
248
170
259
164
172
167
194
194
171
207
165
239
137
208
218
184
257
239
112
201
193
171
196
150
121
172
208
123
159
224
150
186
150
124
171
167
165
218
194
172
152
167
150
214
156
195
174
121
150
208
216
194
112
236
135
239
123
250
174
150
112
112
210
187
121
208
173
121
172
194
150
203
189
172
167
172
164
150
115
135
193
170
201
167
123
208
208
240
208
208
208
167
175
194
181
228
201
181
215
181
121
207
150
150
112
195
150
206
112
135
239
156
195
158
193
299
112
208
167
214
210
121
177
121
165
165
164
208
170
209
115
195
176
208
177
177
228
181
112
121
112
112
150
175
137
112
167
226
112
167
181
208
170
171
112
217
176
172
215
124
112
186
115
171
228
150
165
112
187
193
218
112
170
150
194
112
112
121
206
230
192
210
164
112
172
266
202
186
161
184
267
235
172
156
150
165
150
171
174
164
121
150
123
228
176
172
208
202
194
209
121
124
121
231
231
143
219
150
176
112
150
167
123
123
170
171
227
299
208
172
150
217
220
194
172
112
150
245
182
123
226
228
215
219
235
240
181
150
170
176
232
237
194
167
170
168
219
121
196
121
123
170
137
253
174
115
201
135
121
121
130
172
147
172
112
172
176
170
112
159
259
124
278
130
121
152
201
177
123
123
160
172
228
208
122
177
156
203
150
170
150
172
226
171
112
176
187
171
210
226
121
112
172
159
150
228
150
174
237
172
170
136
112
228
185
112
112
167
112
147
215
121
243
195
240
112
203
172
121
172
187
192
171
215
207
232
115
121
176
170
218
150
150
121
167
232
150
160
247
121
165
193
167
262
150
181
112
174
176
167
112
150
150
210
229
208
192
165
135
182
112
150
150
195
208
150
128
275
181
135
150
208
121
205
261
137
172
186
121
217
150
170
171
112
170
228
172
186
234
112
172
121
156
167
185
121
198
172
150
172
123
121
150
159
202
208
172
237
225
243
167
276
176
226
174
177
136
112
181
150
192
177
164
112
171
136
250
179
171
121
208
121
128
191
209
160
112
170
160
121
150
150
193
192
112
130
187
165
150
202
212
137
136
112
150
194
205
115
123
121
194
158
150
121
172
115
165
181
165
172
115
135
175
143
150
201
228
172
150
137
163
150
150
150
278
152
194
171
171
171
150
136
212
212
175
165
121
194
160
240
164
186
207
176
172
157
112
208
194
193
199
168
173
152
165
135
208
201
205
121
181
186
176
172
135
112
136
121
112
121
186
112
203
150
112
208
112
208
147
170
193
210
172
175
136
171
112
135
175
121
217
136
121
123
193
150
195
121
137
176
174
172
186
178
175
112
136
150
242
123
176
170
159
164
171
150
210
150
254
202
187
128
152
195
185
250
123
112
137
176
167
145
194
153
194
216
121
231
171
193
208
239
167
164
127
115
208
121
208
121
213
132
143
121
220
121
195
150
121
112
112
194
195
150
150
112
170
174
123
174
150
255
194
150
164
150
165
147
121
121
224
121
172
170
190
150
203
112
220
224
171
150
181
165
123
239
158
228
170
112
121
143
170
181
150
187
214
194
176
171
245
167
225
195
207
156
121
171
195
194
186
150
200
214
194
194
243
168
121
130
121
170
150
170
195
170
147
210
172
165
170
165
212
212
186
135
184
179
112
178
150
167
171
150
115
112
167
121
137
171
112
150
121
150
187
218
224
212
226
121
212
195
121
174
115
212
150
112
152
150
172
150
136
121
137
130
208
123
171
220
240
172
112
121
192
158
156
150
195
195
152
139
171
121
218
172
174
170
212
164
208
115
212
174
171
221
150
115
233
193
172
172
165
112
150
121
170
150
150
236
170
150
112
238
147
150
112
112
171
212
170
167
121
201
150
213
112
201
208
172
208
172
208
171
123
135
239
112
192
150
177
242
240
123
150
112
228
181
213
243
172
112
121
123
159
181
176
205
115
208
158
136
115
172
202
170
208
150
276
171
269
150
147
136
192
112
150
112
218
167
121
112
172
193
123
150
228
202
167
283
171
112
156
214
137
150
112
228
208
242
159
177
181
123
177
158
136
150
208
171
136
123
220
135
121
170
170
121
299
112
121
172
226
208
121
232
150
197
195
171
112
187
150
150
112
112
196
172
167
123
112
224
203
237
194
121
164
121
112
236
172
195
123
150
123
218
202
165
203
225
165
123
150
193
186
137
112
121
194
150
123
156
278
136
208
208
176
135
112
172
121
121
215
112
170
150
160
112
112
208
204
237
112
167
153
208
112
170
121
192
167
150
240
171
194
181
228
202
208
112
164
121
130
172
177
197
135
121
172
219
112
233
164
112
228
112
204
167
208
139
279
156
192
167
121
192
202
175
228
171
243
229
176
258
121
150
167
150
152
112
130
208
164
112
130
203
112
214
171
150
235
112
186
165
121
150
193
172
150
176
202
150
170
156
208
150
189
158
243
112
121
158
165
112
251
228
172
124
147
112
207
195
112
158
150
167
194
282
276
164
152
165
299
218
112
112
112
150
167
192
201
147
112
130
209
172
112
233
195
158
150
135
150
238
250
150
219
150
200
209
250
121
172
163
265
167
210
112
208
207
208
112
147
123
208
115
112
243
170
226
228
150
170
144
171
152
211
165
130
171
150
136
220
192
177
231
186
193
150
164
112
121
204
150
115
208
210
186
112
143
167
186
147
150
112
207
112
172
208
231
196
150
150
165
194
181
176
202
112
112
121
112
136
165
208
146
150
172
112
112
112
128
211
181
194
162
150
202
177
210
147
112
239
276
226
150
170
205
147
150
193
201
112
186
197
279
121
170
147
171
121
165
208
121
167
194
172
150
165
121
147
208
200
167
208
124
147
218
231
150
208
208
112
121
112
201
170
218
194
128
240
195
112
195
150
150
210
215
202
112
112
112
123
112
172
281
170
255
147
167
170
216
112
112
190
250
170
181
210
176
205
217
208
137
212
181
195
112
213
112
136
202
208
185
167
186
247
170
121
150
112
128
165
112
149
218
128
170
181
112
208
166
170
121
164
150
147
281
181
131
220
158
201
170
234
239
150
176
170
208
123
181
208
167
181
150
115
265
121
112
258
167
112
228
168
112
186
121
150
239
160
193
228
218
147
207
128
195
276
210
217
240
195
203
179
128
128
172
194
170
172
186
192
172
172
237
172
186
217
112
172
121
205
239
150
239
172
194
275
123
210
192
228
202
128
167
150
194
223
161
115
146
121
156
208
202
121
165
150
195
137
121
123
243
208
181
123
171
112
159
150
208
311
121
147
183
260
208
121
124
196
147
121
167
181
187
150
239
165
136
202
124
121
208
170
243
228
121
255
144
208
121
147
200
167
233
112
136
150
121
167
208
112
219
123
187
112
186
240
187
205
208
240
176
121
137
229
172
150
195
121
150
212
150
192
201
123
112
232
194
176
143
150
181
150
170
202
135
220
226
123
211
202
203
210
237
162
167
257
181
167
172
210
203
124
112
226
150
170
172
231
167
158
150
150
170
190
121
235
167
150
168
150
205
192
167
112
150
150
170
112
121
112
208
124
137
208
172
150
225
112
240
181
115
226
150
136
167
170
176
255
150
162
123
186
206
123
193
158
230
195
174
171
171
112
171
176
121
137
112
247
150
112
208
210
150
124
189
121
167
121
258
112
112
210
112
176
115
150
115
208
171
167
259
228
218
250
179
202
178
167
147
172
136
188
235
130
112
225
156
181
208
124
178
130
158
216
228
243
247
115
112
150
150
167
194
195
121
212
164
121
192
194
121
208
112
168
207
194
233
112
181
187
123
112
150
156
112
263
130
157
121
181
112
121
302
203
167
112
112
150
162
130
181
170
223
232
150
222
200
128
121
172
150
272
135
237
121
150
121
167
112
194
121
236
210
112
147
167
269
112
121
160
186
136
210
112
177
160
167
228
150
186
177
208
121
187
121
121
199
112
121
156
150
194
144
150
250
204
171
112
192
194
150
147
121
123
203
115
173
194
172
228
167
121
270
150
207
147
194
167
168
226
112
156
112
150
167
159
170
121
178
171
208
208
208
121
190
159
112
121
232
150
193
165
223
147
160
177
137
170
112
112
237
143
121
150
174
189
171
112
121
210
193
164
208
176
112
150
203
179
150
237
112
237
135
200
170
228
179
243
255
167
152
208
210
144
181
208
172
121
123
181
209
215
218
220
212
112
150
193
112
150
150
112
115
150
228
220
207
150
194
177
150
123
202
176
170
223
187
123
123
150
202
150
124
170
124
121
112
237
121
214
121
203
218
150
135
201
115
208
187
136
287
172
150
121
136
123
136
208
170
195
121
136
167
219
147
198
112
208
172
229
121
121
228
112
112
194
194
167
123
228
205
234
237
288
136
202
261
150
150
171
225
150
150
202
208
200
158
213
167
187
165
149
210
112
208
225
150
123
156
240
255
184
208
194
164
175
112
210
171
115
121
186
112
172
193
112
187
172
147
112
240
150
150
112
181
208
172
208
112
121
205
217
220
175
208
152
167
159
170
167
121
150
201
208
123
115
121
115
208
199
128
112
112
177
186
121
187
123
258
194
150
208
130
150
159
150
123
203
150
121
164
223
175
225
208
231
121
150
121
168
159
158
208
214
233
172
112
209
203
205
123
195
171
247
121
112
194
219
302
150
165
160
150
239
172
245
112
188
198
150
228
194
192
144
224
194
121
176
165
225
186
112
178
194
121
228
159
112
206
146
212
170
121
208
158
215
112
147
167
187
150
150
201
181
123
176
112
186
112
115
124
123
240
217
170
150
112
233
208
195
244
195
121
229
208
150
115
150
112
228
187
202
187
150
228
187
177
146
135
225
170
209
210
130
185
201
150
150
193
187
136
112
150
208
147
299
164
194
212
121
195
121
174
176
167
219
121
203
152
220
192
121
136
243
242
150
112
112
121
130
227
170
168
219
208
171
231
170
205
212
167
150
170
208
112
172
174
170
216
167
250
237
181
167
158
121
112
209
175
200
150
204
130
181
189
172
210
115
250
167
270
115
123
217
224
152
121
234
233
167
135
150
150
229
121
187
171
252
176
121
181
157
172
257
240
135
215
121
203
167
150
172
165
208
115
158
150
254
231
165
121
121
226
167
160
112
214
167
123
167
176
193
239
231
156
150
270
167
208
150
218
208
150
115
187
150
217
121
121
172
135
171
175
225
121
194
172
197
193
172
156
167
219
115
121
171
115
150
187
202
150
156
121
136
121
208
160
219
115
229
135
112
130
209
147
112
235
181
228
121
167
195
184
112
162
241
203
154
177
190
150
176
222
158
218
205
231
168
150
156
201
112
226
219
210
174
178
160
302
164
150
172
231
170
172
179
208
167
220
208
217
147
237
147
186
237
147
177
181
193
164
237
215
150
112
115
220
194
121
171
176
204
199
193
150
121
137
123
171
218
150
170
164
171
202
123
167
121
143
144
150
225
171
194
150
208
241
123
220
150
253
153
171
137
112
208
214
186
200
172
112
196
255
202
150
167
202
237
171
210
112
112
218
150
123
216
171
121
257
150
172
171
157
130
217
182
210
187
135
184
220
150
150
174
137
241
239
243
206
150
112
208
186
150
194
207
225
171
123
121
243
128
208
123
135
203
228
123
219
231
164
156
170
199
181
150
150
170
170
130
172
150
189
160
121
171
195
167
152
187
213
170
150
202
171
218
121
124
170
274
208
202
123
112
182
115
112
150
112
182
208
201
112
150
150
237
124
202
227
196
112
121
192
208
183
121
172
172
121
181
166
194
164
112
237
210
208
150
124
172
186
150
130
112
150
202
150
177
202
112
135
193
135
168
170
208
175
170
150
265
208
203
175
158
208
208
187
121
208
171
121
123
188
136
112
207
161
169
186
229
186
176
167
152
136
112
231
167
164
158
121
232
193
243
186
302
121
112
150
191
193
186
121
193
215
164
203
204
121
147
186
209
150
115
171
121
208
194
150
172
165
167
150
172
187
167
176
196
112
112
170
258
194
198
232
144
164
147
115
124
186
171
167
203
208
150
210
121
112
167
112
167
150
192
165
112
160
170
150
143
208
115
172
212
135
216
112
260
135
176
203
156
172
112
150
112
150
202
112
123
216
216
172
208
112
121
136
121
115
147
130
349
238
202
136
172
186
175
208
208
176
208
150
167
192
237
247
212
174
219
186
171
208
128
135
160
208
150
124
217
210
167
112
128
190
159
150
181
150
192
164
170
187
150
147
237
219
170
255
197
112
195
112
124
235
167
181
208
234
171
112
239
136
156
137
202
112
172
156
242
181
212
202
208
196
112
152
194
147
179
170
177
150
189
171
112
147
207
228
212
121
197
150
150
181
193
205
136
177
179
176
150
194
211
165
187
210
150
208
201
136
208
238
189
237
263
153
112
212
192
217
115
150
302
159
165
172
135
172
172
167
203
194
177
112
123
214
150
150
130
208
167
152
212
243
225
206
121
171
121
193
184
137
112
208
212
171
208
202
121
208
237
210
266
167
212
150
201
150
276
223
172
174
184
137
167
115
172
237
203
184
167
121
172
208
190
178
167
158
186
121
256
170
121
217
228
228
112
187
150
121
172
167
176
150
204
172
161
158
210
226
159
159
220
170
167
121
112
177
150
152
172
172
194
270
123
201
121
150
121
194
197
228
150
136
123
112
208
123
160
121
208
123
264
267
186
164
147
164
177
158
172
176
208
158
165
171
194
172
194
150
210
212
250
205
150
112
121
182
128
223
121
159
229
203
150
150
208
112
179
165
153
173
112
150
181
193
228
237
208
187
161
115
136
164
123
275
208
112
164
219
144
212
225
170
215
112
112
150
165
150
228
121
214
150
172
208
208
186
208
242
271
172
186
194
112
137
207
150
123
121
218
186
170
121
171
136
210
165
123
267
202
150
208
172
186
159
187
170
150
212
208
193
182
121
136
123
170
150
150
186
112
202
121
208
150
184
112
167
219
194
130
136
150
123
123
171
112
177
172
121
170
194
130
214
172
186
150
150
211
195
112
171
146
177
218
263
175
121
195
159
228
186
203
201
267
174
199
135
164
176
154
137
150
218
174
208
172
150
233
192
181
168
150
164
229
139
150
165
170
208
208
171
175
121
112
172
156
165
174
193
158
172
201
112
152
198
172
165
159
208
203
194
150
196
176
161
272
112
255
112
137
177
112
158
171
167
195
208
170
112
181
187
187
152
163
194
112
176
208
112
171
186
219
228
207
177
150
136
208
137
172
121
194
150
173
208
205
147
218
223
243
121
167
121
208
135
150
179
218
165
112
207
143
167
171
112
137
179
121
150
202
167
226
167
150
170
124
202
205
170
204
208
123
203
112
115
164
204
205
170
112
135
208
150
238
168
112
170
156
112
123
217
121
121
210
241
224
150
208
121
196
112
239
217
112
203
121
158
137
217
150
186
235
201
121
187
187
186
237
228
121
150
208
239
196
160
220
167
170
231
121
112
112
219
150
167
112
207
121
121
267
192
208
112
215
193
121
121
124
152
167
233
176
121
112
187
112
150
150
150
121
226
150
208
121
112
171
208
152
203
170
112
112
150
194
112
275
150
194
170
152
164
150
121
188
158
124
150
275
208
186
194
123
264
121
150
112
121
153
208
158
186
189
150
231
112
170
212
172
236
263
167
194
167
203
185
217
214
172
161
228
150
172
194
172
172
150
147
198
144
128
123
189
177
194
168
150
168
179
186
263
130
150
150
171
208
228
217
192
112
210
223
181
112
225
123
184
150
181
172
121
112
195
164
232
171
172
260
235
208
150
123
177
291
123
216
172
112
176
201
170
150
171
121
194
177
172
150
171
239
121
160
172
167
172
135
112
253
150
121
193
115
208
150
121
150
219
208
220
121
226
172
147
112
219
164
215
150
136
121
121
225
165
172
112
112
170
171
170
167
281
172
112
176
121
189
121
182
236
233
150
157
243
170
186
165
112
172
171
194
160
150
171
177
299
202
187
194
181
128
112
194
208
121
156
223
159
172
147
121
212
121
135
160
192
181
178
186
194
181
168
137
164
112
203
208
150
164
181
235
195
208
144
121
181
232
121
228
141
195
229
208
218
168
193
135
136
112
219
164
203
150
247
176
121
210
208
176
130
172
146
165
202
250
170
274
136
170
178
164
121
167
167
183
250
112
147
171
172
181
172
171
121
112
158
212
228
162
233
121
208
192
220
112
205
210
198
208
194
230
156
208
233
121
143
212
170
194
112
164
181
219
121
211
150
150
121
156
208
174
160
150
121
150
135
150
170
194
195
135
167
115
219
121
152
165
150
167
128
121
115
211
228
193
165
115
112
186
223
170
112
302
112
173
167
181
123
186
218
123
160
174
194
135
176
173
170
168
121
160
115
208
171
150
177
112
150
115
135
121
269
203
238
237
194
112
172
194
139
220
174
201
192
187
187
194
167
112
150
201
186
112
167
150
202
165
112
167
150
187
160
167
172
150
178
201
164
179
112
172
171
128
167
203
207
214
121
194
150
121
237
150
208
112
223
186
276
229
136
112
189
176
243
237
194
135
212
112
150
112
159
208
244
150
136
167
194
140
172
170
194
167
147
172
208
170
181
115
176
263
121
181
172
145
237
172
152
112
175
150
136
158
121
167
207
150
228
160
208
150
175
239
186
115
170
193
150
174
112
170
297
135
112
147
150
172
240
184
170
115
210
121
229
123
112
203
158
150
170
157
165
208
112
131
136
170
121
172
170
170
214
130
264
170
189
212
170
164
128
212
208
123
220
170
165
150
212
152
212
170
212
150
123
150
167
123
208
207
150
128
139
207
172
167
278
158
158
167
112
172
181
150
221
170
187
174
230
167
237
135
181
150
172
187
123
175
121
228
150
150
172
208
193
218
112
121
276
135
203
172
165
187
170
232
150
181
172
183
150
210
112
150
215
150
181
231
212
257
150
208
193
112
192
112
165
247
150
171
135
201
170
158
121
177
160
115
121
167
202
150
208
137
121
205
130
112
137
170
112
112
181
234
164
210
172
112
172
112
218
170
189
164
228
150
121
172
278
203
167
208
121
137
228
175
215
194
176
208
213
229
174
121
121
177
176
208
167
186
130
212
167
150
228
172
170
168
121
150
150
194
123
193
112
121
202
232
112
170
167
177
171
250
212
172
240
167
128
112
158
212
164
210
121
259
112
150
112
175
115
150
165
181
172
150
203
208
220
232
215
121
167
124
112
124
255
170
197
208
247
112
181
219
192
197
150
121
164
121
158
150
121
150
187
187
115
257
187
235
145
128
171
302
174
208
136
161
121
150
250
177
167
244
181
208
123
121
137
150
236
147
171
192
186
174
182
170
216
115
171
193
220
167
208
150
196
121
176
150
123
150
176
164
112
195
135
115
170
171
112
164
212
150
260
208
121
165
150
121
135
150
201
112
239
208
112
143
121
165
121
200
172
273
197
147
112
150
144
121
255
121
150
231
206
168
158
187
229
193
167
137
184
123
181
181
150
203
228
150
186
193
231
172
150
121
234
150
214
187
210
172
259
189
237
215
228
202
203
137
159
167
171
112
200
112
123
166
181
135
159
172
112
208
232
143
250
193
218
158
250
145
187
135
175
231
165
170
204
177
150
123
177
168
112
184
208
165
121
167
150
228
170
229
224
219
195
150
172
150
164
202
194
112
228
193
112
194
121
174
112
160
220
203
112
181
170
112
115
205
202
112
170
175
181
236
150
192
212
115
160
167
112
271
181
150
150
167
193
121
194
174
112
311
228
112
137
112
121
167
228
123
150
150
172
208
208
112
211
121
250
124
217
195
121
206
150
213
112
112
228
171
245
172
281
112
176
165
168
208
135
121
167
199
150
121
150
226
181
160
112
150
143
123
176
190
150
121
170
187
135
195
150
181
208
121
172
121
233
150
208
238
130
167
171
167
210
212
230
212
171
193
112
112
203
168
181
176
189
208
115
194
150
181
194
237
121
212
231
150
112
186
194
123
121
144
172
150
176
216
121
243
158
167
236
167
181
121
179
143
172
181
167
121
124
158
181
115
164
112
172
176
150
164
196
208
167
170
205
167
121
208
270
112
179
208
121
176
150
147
121
150
150
167
112
226
124
147
121
194
164
130
187
170
167
150
150
136
208
210
150
150
208
150
217
218
210
121
115
160
167
150
208
150
175
199
147
150
150
181
170
147
128
135
112
241
171
121
232
201
172
208
219
112
172
115
121
231
208
208
190
150
177
123
229
160
121
150
170
176
201
112
150
181
277
166
150
135
130
156
202
208
136
203
186
208
194
238
150
208
143
208
112
123
121
189
123
143
150
233
172
191
176
123
208
210
170
137
164
156
156
150
143
181
237
159
150
135
189
136
167
137
181
215
112
135
256
179
194
123
228
172
208
200
137
172
201
172
228
194
112
176
147
220
241
123
170
165
121
158
172
240
210
124
146
172
205
121
237
112
168
158
112
215
184
218
220
205
278
256
112
112
174
208
262
205
239
135
121
202
181
209
228
172
210
167
150
302
170
121
112
167
208
150
210
170
226
217
253
152
217
208
150
208
198
150
170
189
150
156
159
112
112
179
228
172
250
187
121
208
208
192
219
176
255
239
160
181
208
121
172
112
189
112
192
112
121
208
181
194
159
164
123
150
179
112
150
136
172
150
208
135
137
158
172
135
263
172
207
171
194
152
150
150
176
181
165
212
208
194
200
172
174
152
208
150
226
234
121
214
150
170
180
112
243
121
202
193
172
172
263
115
208
121
168
232
165
167
208
159
167
186
150
170
263
171
150
192
112
150
263
171
121
220
171
147
112
172
217
172
262
121
136
163
189
193
194
112
112
190
156
150
165
181
121
165
255
112
112
181
208
150
187
176
203
211
217
165
150
214
214
170
165
195
121
215
201
208
144
232
150
167
115
195
172
234
193
150
112
176
165
112
137
112
172
112
124
167
208
160
232
227
150
112
223
143
150
112
240
170
203
247
208
121
229
253
172
167
250
156
203
112
214
170
172
150
231
232
143
274
156
202
150
184
193
195
160
208
112
150
150
167
158
170
167
208
228
112
177
170
186
231
147
172
124
170
121
159
112
234
172
112
150
123
194
197
121
208
208
194
182
212
143
112
164
150
186
200
235
186
208
123
147
112
135
187
156
112
143
121
112
121
123
112
123
121
196
195
233
121
165
250
230
171
219
121
243
159
207
112
150
165
196
112
182
181
206
121
187
237
172
165
195
112
112
152
164
164
128
150
187
278
167
177
123
121
194
150
136
168
164
187
171
130
170
175
164
194
170
160
156
170
194
167
228
150
203
150
128
121
135
150
278
179
170
213
233
152
167
302
150
121
278
171
171
171
226
150
150
121
168
208
121
194
121
150
135
150
150
121
205
136
172
206
150
136
216
145
112
176
208
145
160
124
177
175
150
168
236
208
164
150
202
198
228
128
112
170
170
139
121
165
150
150
150
228
212
171
172
112
123
150
181
168
150
204
112
147
130
170
121
159
150
150
171
205
112
150
115
208
192
172
167
176
112
112
228
208
115
177
236
202
208
209
162
208
263
177
227
193
192
150
220
193
214
150
179
121
121
205
201
200
181
123
171
218
225
174
159
171
112
135
255
150
237
254
194
150
156
171
167
213
250
121
219
186
171
150
112
130
167
170
150
112
175
172
112
192
164
208
181
112
158
220
175
150
229
167
128
159
171
238
208
160
150
161
302
130
232
123
203
201
136
170
201
172
208
164
112
172
147
193
150
112
170
241
121
187
112
150
218
172
220
159
228
112
159
234
150
136
112
165
181
192
181
150
123
158
123
136
278
170
238
112
150
228
136
212
187
150
226
136
147
187
164
194
243
167
170
167
279
130
176
199
121
156
172
158
152
167
112
176
180
121
160
121
167
137
193
115
112
184
167
176
219
150
176
135
171
221
217
112
173
150
219
150
121
208
187
121
143
212
112
208
172
228
121
150
210
167
172
237
158
203
176
229
255
150
121
187
121
165
112
194
215
112
203
112
170
214
137
172
112
112
194
170
150
237
187
240
170
165
250
167
250
150
150
223
208
208
176
121
176
112
172
112
150
150
124
170
112
124
171
121
223
112
164
228
177
123
239
121
130
174
123
152
150
181
167
207
187
197
187
115
156
175
112
150
136
143
195
147
177
150
220
194
203
121
210
208
135
135
202
112
176
121
170
193
270
150
150
167
181
112
205
165
121
208
124
112
250
212
121
115
121
135
143
136
194
152
150
150
135
136
228
112
137
208
123
137
184
203
136
112
123
170
163
172
239
121
150
158
112
226
152
192
121
240
112
209
172
172
136
201
150
112
165
254
170
220
157
212
250
123
112
202
160
195
112
228
167
165
208
150
212
176
172
172
167
170
137
172
226
239
187
220
171
172
159
208
208
121
112
172
150
170
217
176
209
233
156
150
170
250
208
170
212
137
171
150
150
137
168
186
147
159
167
170
121
170
170
210
255
208
158
121
208
167
121
201
217
112
193
150
164
150
150
212
172
208
291
112
212
172
167
152
150
228
186
208
181
249
158
208
171
255
150
172
150
115
231
112
150
238
171
250
195
121
208
244
165
172
135
182
171
121
123
172
210
192
123
121
177
123
190
147
112
176
150
150
220
121
150
263
181
228
115
112
136
112
171
211
241
150
212
208
150
215
158
112
167
121
112
121
112
195
121
232
167
240
203
112
171
170
195
115
205
237
225
158
164
124
186
150
219
147
172
240
240
204
131
112
174
238
121
221
123
147
210
231
147
228
208
176
147
242
112
208
121
217
208
243
177
208
195
167
115
121
231
237
198
181
237
112
112
208
135
170
167
172
225
205
239
234
256
243
150
208
121
150
150
150
112
172
178
137
194
182
112
150
208
150
112
172
179
172
192
182
240
135
112
186
150
193
183
128
150
150
244
150
185
214
121
208
243
150
150
156
172
112
212
200
147
201
170
167
165
121
150
231
186
121
186
165
194
112
123
205
232
112
255
201
165
135
123
121
228
121
147
167
172
208
150
150
218
150
237
150
228
220
212
121
150
150
219
112
160
115
177
112
123
231
170
186
226
218
158
263
219
172
193
158
208
228
193
121
150
150
174
130
208
260
176
228
162
208
115
177
150
205
205
159
121
220
121
187
121
203
165
208
164
193
228
193
233
159
156
135
123
243
150
172
194
171
121
121
208
208
171
172
121
187
135
189
163
195
237
232
194
164
179
172
174
214
208
210
150
171
245
236
201
112
153
170
255
124
212
150
150
135
212
205
192
174
222
235
150
121
121
150
147
152
135
223
121
208
174
177
159
171
121
208
163
160
207
158
243
121
201
112
168
112
150
150
136
167
170
172
150
179
121
222
157
150
123
217
187
121
167
215
160
231
137
179
181
164
112
172
194
150
202
112
112
121
135
112
302
165
172
210
244
210
150
212
171
170
121
227
112
112
150
170
172
121
302
204
231
150
176
219
208
156
115
208
121
208
267
208
257
121
212
150
146
112
150
150
192
179
187
171
121
121
135
176
172
228
194
193
220
160
194
231
250
225
147
115
231
243
267
150
167
186
215
165
172
181
150
255
115
193
165
137
112
225
177
170
121
112
150
231
150
167
130
144
255
208
269
176
193
220
121
112
167
241
171
176
170
165
121
167
152
171
200
193
208
228
260
172
216
147
170
170
208
250
207
173
150
121
135
165
150
239
228
270
121
150
167
172
230
171
229
225
193
233
207
195
112
271
123
150
167
150
136
150
177
121
281
186
121
194
150
150
150
121
234
194
112
150
234
170
121
115
207
199
136
152
167
150
220
170
209
176
150
121
219
171
202
281
167
198
172
112
232
121
250
112
170
172
156
172
112
112
172
220
171
150
186
121
202
158
171
167
137
173
208
184
150
112
165
115
181
208
228
276
150
177
150
167
221
112
115
208
167
215
231
121
121
112
123
170
196
250
150
121
239
168
208
121
167
165
241
112
172
208
144
123
167
167
121
112
207
150
186
112
165
291
177
170
161
216
195
214
201
210
150
178
204
219
220
167
150
152
112
186
174
165
170
112
112
172
112
215
205
172
208
228
255
150
170
302
174
144
150
112
165
185
244
259
228
121
202
123
193
226
121
159
231
186
112
208
172
250
121
112
137
170
135
176
208
194
171
171
124
177
112
170
121
250
167
187
112
170
124
150
186
123
172
172
165
112
202
112
112
205
165
232
167
150
170
237
201
239
208
226
121
172
123
220
186
193
165
172
112
272
170
190
208
165
228
153
112
172
223
121
272
212
220
208
208
147
165
176
189
121
176
228
112
193
208
150
121
208
121
177
194
112
176
222
167
165
172
167
257
237
168
237
115
164
203
150
167
212
112
112
112
128
171
218
144
226
175
208
112
176
220
112
124
144
150
150
197
159
233
121
112
121
229
170
176
181
179
168
243
236
158
112
121
205
150
237
158
150
269
167
150
195
227
112
162
171
172
123
150
187
121
208
208
258
123
112
150
150
211
150
172
172
137
112
168
123
263
112
165
205
186
167
281
152
171
171
112
194
112
170
150
236
150
217
150
150
124
150
121
172
150
207
172
150
195
121
112
187
166
150
112
171
170
112
137
206
112
193
208
208
112
146
195
180
150
150
167
147
150
112
150
187
165
137
237
112
231
172
237
150
165
158
150
121
172
112
167
121
150
218
208
208
137
150
195
253
186
237
250
150
172
189
231
121
194
150
150
225
150
226
121
225
150
280
167
150
236
208
115
137
257
171
202
224
112
195
243
232
150
160
150
112
123
232
256
169
246
171
209
175
165
115
158
150
167
170
228
172
121
123
192
198
167
218
121
186
165
136
172
150
231
167
136
121
112
231
167
150
150
201
167
172
212
112
160
208
124
171
243
170
150
123
168
167
112
150
194
229
150
262
123
165
121
159
181
178
121
172
176
210
194
208
250
228
112
112
176
152
175
254
137
121
150
207
121
186
176
181
208
121
167
147
121
208
121
208
208
150
165
174
208
194
123
187
240
231
243
193
205
150
121
137
112
202
156
236
233
136
112
208
239
166
112
121
194
150
172
194
150
150
121
137
172
156
150
171
121
229
171
121
156
194
259
121
203
167
194
160
171
226
112
150
150
208
170
176
175
170
170
175
135
229
198
157
158
121
167
233
135
112
165
121
112
156
229
121
152
226
212
112
112
172
223
193
181
121
170
170
167
201
143
115
165
112
115
181
228
152
207
208
208
189
211
225
150
150
185
232
152
170
147
135
121
135
208
121
143
121
123
112
182
170
150
121
147
236
172
150
181
112
228
135
170
150
121
194
147
243
150
179
128
235
204
167
150
135
225
136
128
112
121
170
121
170
171
112
112
194
123
176
112
231
167
112
121
121
172
112
123
112
124
128
150
150
165
144
167
137
123
150
181
181
150
208
171
112
208
167
172
171
202
112
171
266
172
150
202
209
112
263
123
171
198
112
161
150
121
239
209
130
201
167
150
234
245
196
121
121
164
150
150
218
242
171
112
208
150
208
121
167
130
195
215
167
167
188
123
239
226
210
201
187
181
158
150
137
135
150
123
210
210
167
150
150
172
175
121
130
112
121
167
228
198
177
208
112
199
112
150
207
208
194
112
189
174
150
194
165
228
208
167
202
165
150
302
112
147
150
150
194
164
167
207
136
179
233
234
150
150
176
228
170
195
115
210
121
208
150
112
167
112
202
150
150
166
184
139
210
208
121
195
143
208
208
130
115
150
150
208
176
170
217
172
121
150
208
150
160
255
158
168
208
170
150
229
195
112
229
228
121
160
112
236
170
170
158
121
208
194
112
135
245
212
239
156
150
272
194
159
150
172
200
172
214
172
172
193
136
267
162
203
170
171
147
123
150
147
195
167
150
112
112
150
186
243
194
187
219
159
150
206
176
171
124
187
112
176
152
181
136
226
150
165
208
194
172
124
121
170
176
181
175
233
156
250
194
208
228
150
112
121
195
212
226
150
179
146
250
243
150
172
194
150
210
150
272
171
219
212
150
159
174
167
165
203
168
215
150
216
150
112
137
176
112
121
181
130
121
178
121
121
203
121
150
176
121
150
205
112
150
171
202
208
246
194
157
237
218
167
165
220
171
115
150
112
208
112
220
167
239
143
135
150
139
170
247
177
121
167
227
112
199
174
112
167
150
164
112
150
170
145
162
150
150
261
263
167
167
136
195
172
181
121
112
150
150
222
164
112
208
121
181
170
112
205
158
115
194
176
244
176
184
171
171
223
228
181
186
115
172
121
150
137
121
171
184
121
243
223
236
172
190
167
226
194
212
171
171
202
197
150
194
220
121
112
171
179
128
201
167
228
167
170
167
219
152
219
172
238
135
259
112
121
171
176
217
179
128
176
189
189
150
187
147
172
208
150
235
150
150
170
291
219
183
193
236
150
150
159
168
168
167
302
172
209
112
178
208
137
202
112
172
150
158
159
123
145
197
193
230
121
171
202
263
121
165
112
208
172
193
168
137
205
135
147
150
194
205
181
217
170
167
172
208
150
193
158
240
239
220
181
210
194
150
115
165
219
186
237
136
150
150
240
181
194
209
192
137
136
160
143
170
121
212
150
233
172
220
233
121
189
115
167
201
177
150
172
150
112
150
187
112
121
150
178
150
207
150
167
208
150
165
220
115
121
121
255
189
232
228
177
150
258
201
176
201
208
112
150
214
172
240
172
226
171
164
121
130
167
256
150
178
192
172
115
222
205
228
112
130
208
112
112
193
112
235
216
176
112
260
158
130
234
181
150
167
268
232
150
170
165
210
172
171
168
210
150
112
135
172
187
112
158
165
226
172
195
158
210
177
232
209
112
112
195
235
235
176
202
172
162
130
165
172
167
160
150
174
165
150
235
186
264
135
242
170
171
219
161
150
150
137
239
170
112
164
121
112
136
167
214
112
212
121
171
170
121
208
220
192
165
243
172
214
178
175
158
112
165
184
212
147
193
150
112
302
115
121
147
136
167
257
170
202
130
171
210
150
121
115
112
150
214
220
223
147
112
157
167
177
121
152
207
186
215
177
172
207
121
115
194
167
167
210
167
112
176
228
158
228
219
208
112
184
210
137
201
172
121
143
220
214
121
208
121
167
188
150
121
232
208
176
167
208
203
167
157
135
171
150
130
121
172
194
121
121
195
195
112
150
210
124
193
197
176
208
223
150
212
181
172
203
216
112
206
164
201
112
147
208
112
112
115
167
172
177
137
168
165
165
202
181
123
233
192
217
167
115
123
172
212
237
135
121
112
170
135
165
217
192
115
112
150
194
150
137
112
192
225
170
150
195
196
187
165
150
112
150
172
112
233
170
208
137
232
112
164
227
112
121
201
208
112
224
171
239
172
194
237
150
172
124
121
165
205
112
150
150
216
257
203
206
112
130
121
147
121
181
153
167
137
202
115
112
150
150
159
183
193
208
208
169
171
193
190
170
164
112
225
150
130
112
128
176
112
231
176
194
112
217
112
121
121
137
235
160
218
226
136
172
255
172
181
220
170
158
172
259
202
239
170
150
167
229
158
123
168
208
231
170
252
231
212
225
115
190
121
167
121
172
147
150
181
167
121
228
240
172
208
215
181
121
203
171
150
212
171
228
123
196
174
115
186
147
194
121
172
210
179
170
205
158
210
158
121
208
223
112
228
176
121
172
156
178
212
195
203
186
181
186
160
272
121
121
233
219
220
112
172
160
208
171
115
121
208
121
112
208
112
220
167
164
194
208
175
123
121
203
194
171
150
202
196
186
176
195
150
220
112
202
172
235
217
205
150
121
150
201
112
121
181
124
201
112
150
202
206
123
177
112
186
192
170
156
192
121
121
135
194
152
152
219
172
172
164
121
112
112
167
235
193
231
187
167
250
257
232
121
225
181
170
196
139
240
150
210
137
255
112
235
136
112
143
174
136
112
158
208
220
123
194
159
171
112
112
174
170
186
112
167
161
291
150
228
179
147
240
288
226
165
150
240
225
121
121
121
112
255
112
121
150
281
219
150
201
240
179
158
121
179
253
112
186
121
165
128
165
171
150
208
150
112
195
255
121
184
115
147
150
181
112
219
197
150
164
231
189
186
121
130
187
244
112
187
212
172
156
150
112
225
121
150
121
130
176
167
186
276
194
207
208
208
150
112
170
218
150
220
112
228
172
189
150
172
170
123
115
202
172
121
230
147
237
121
233
217
210
168
189
172
210
199
217
112
195
112
225
219
152
150
150
137
184
231
172
223
123
208
130
170
137
121
239
156
115
123
192
263
208
112
214
150
164
201
185
208
121
136
165
181
158
130
147
112
112
158
237
195
112
156
176
150
167
167
150
112
181
231
144
165
130
228
208
172
208
208
150
194
230
235
195
112
135
187
176
195
150
167
194
112
244
167
208
150
173
172
194
189
302
112
112
150
176
121
137
207
164
150
232
172
194
147
194
164
150
150
112
226
263
150
189
165
164
218
202
230
171
228
136
187
218
112
225
228
167
112
150
181
172
168
150
205
208
210
121
208
214
124
167
172
115
112
171
209
171
208
135
192
208
112
121
150
171
135
181
213
167
147
121
150
250
112
112
194
252
170
186
231
208
150
136
121
194
172
150
112
150
150
136
165
112
176
171
150
167
170
193
170
121
188
170
297
175
150
165
137
150
193
112
179
228
130
240
112
160
208
187
210
150
202
124
228
121
278
171
223
137
263
150
112
123
193
150
208
181
208
165
165
112
194
121
168
190
150
170
144
239
195
228
186
172
121
202
172
232
130
176
181
202
236
208
124
255
170
130
186
250
225
121
112
112
121
112
121
150
196
196
112
150
152
176
121
218
172
136
195
150
178
152
187
112
187
219
238
150
170
150
240
112
193
176
205
124
112
219
167
150
135
255
136
236
167
143
176
267
208
115
202
130
184
112
208
128
139
202
159
208
208
115
150
170
207
167
220
302
112
181
123
150
174
115
202
177
167
233
150
150
210
112
152
208
162
167
171
112
150
184
150
198
236
135
112
250
217
208
150
123
202
135
170
170
252
150
112
206
112
158
228
150
121
236
208
150
176
112
199
226
217
239
185
150
159
181
112
228
147
171
172
171
205
171
195
150
112
150
112
215
170
225
152
302
115
137
150
150
147
193
112
220
237
233
228
225
197
112
175
189
176
171
215
259
177
121
167
137
159
176
172
158
173
123
208
150
132
172
186
194
186
123
123
207
112
150
181
150
150
247
150
208
170
263
171
112
150
167
219
194
170
218
176
152
189
112
150
194
186
238
208
170
176
121
121
115
112
207
239
194
150
194
249
205
137
187
115
121
128
234
112
170
172
164
215
196
150
121
170
241
201
167
165
186
135
174
112
143
150
203
121
123
203
121
172
244
112
226
150
215
203
112
124
244
193
168
115
210
150
233
202
192
135
186
164
171
112
165
197
123
150
176
123
137
253
112
137
150
167
193
185
203
158
195
167
157
218
193
194
158
170
176
208
170
225
150
136
130
150
112
220
186
160
205
171
202
167
124
172
121
201
121
112
121
220
121
202
250
159
192
201
207
124
150
112
231
302
177
226
208
228
245
164
193
260
174
135
136
255
136
189
112
159
165
112
243
167
150
156
247
241
213
181
112
207
186
205
212
147
167
164
167
112
193
181
177
232
226
176
172
210
193
208
165
203
172
150
210
239
203
194
195
237
131
201
192
231
205
112
197
150
167
210
192
121
150
121
208
147
224
160
181
279
150
144
181
208
170
121
214
170
203
157
181
115
179
168
250
150
245
121
176
209
157
112
157
187
220
176
150
215
216
135
235
121
207
177
170
124
231
123
172
202
174
195
150
193
208
112
203
194
121
201
172
112
208
163
193
167
186
121
225
186
167
150
150
150
112
150
170
115
112
214
208
264
123
228
137
210
150
299
150
197
136
165
202
237
217
167
217
121
186
158
237
176
170
165
208
226
208
203
216
121
147
212
186
158
240
181
214
228
150
229
207
242
175
171
202
150
121
208
121
233
187
170
136
193
123
165
202
112
171
235
112
253
164
173
237
112
150
186
165
226
226
171
181
225
170
150
150
212
172
179
231
205
187
214
121
226
165
199
150
209
218
112
150
231
194
219
228
130
165
178
136
123
194
203
232
212
112
257
137
137
112
208
115
170
112
238
150
150
194
186
208
219
217
121
112
201
137
147
233
112
112
147
175
167
176
171
112
215
150
152
181
193
201
212
228
112
152
176
208
194
187
150
150
212
112
208
212
165
112
176
278
112
230
176
208
121
243
150
170
194
194
150
121
123
212
214
194
150
228
158
115
193
150
150
175
137
112
132
112
171
276
212
167
230
257
157
209
159
150
177
254
168
112
181
123
115
172
115
178
214
170
150
160
181
164
250
112
216
121
171
176
164
194
130
259
181
112
167
201
208
223
194
170
112
157
178
223
230
163
192
223
270
136
164
130
208
187
150
172
150
150
150
167
258
132
112
150
171
220
121
179
150
172
170
170
228
171
174
201
231
112
208
167
195
170
170
165
112
150
208
240
208
187
112
150
172
208
112
161
201
150
171
227
208
203
228
143
187
162
170
150
174
160
121
172
172
158
170
168
194
208
181
173
196
112
137
186
208
136
170
224
210
135
167
172
124
150
123
208
112
175
215
112
150
121
167
170
112
115
150
253
121
172
176
150
255
150
112
208
112
194
204
208
171
121
220
150
152
121
186
192
220
186
150
167
128
193
182
150
202
181
195
147
170
250
176
176
253
150
135
167
193
184
177
176
150
208
160
143
150
170
208
164
150
167
165
170
171
112
135
208
228
123
123
177
121
150
167
214
168
121
112
181
137
150
150
121
184
172
208
185
243
177
164
150
136
121
181
165
171
227
150
190
112
172
150
136
186
167
167
187
264
123
150
150
150
147
239
121
150
236
182
229
179
176
203
158
137
176
204
208
112
112
170
174
171
175
150
139
208
152
220
186
130
207
170
121
135
171
150
181
123
219
150
115
231
175
210
174
171
112
196
143
207
128
137
230
208
170
121
180
172
274
196
112
176
150
150
159
147
250
157
167
208
176
112
219
146
147
231
160
150
167
233
233
233
179
192
195
112
196
150
202
232
255
112
174
150
150
165
232
121
203
150
209
166
152
121
189
170
152
112
145
121
289
237
112
121
150
204
150
175
176
202
121
215
123
205
181
172
167
181
112
212
112
208
121
172
130
112
164
228
123
152
176
121
194
243
167
158
192
112
219
181
121
208
250
172
167
226
112
123
150
189
121
170
170
121
250
144
137
194
158
181
167
121
237
262
218
239
201
175
208
217
217
121
208
156
186
170
132
167
137
216
186
112
164
258
167
112
150
182
112
175
186
112
179
171
242
176
137
112
150
172
124
267
210
150
176
137
147
192
204
150
210
193
135
112
194
228
147
152
112
195
121
208
208
170
135
181
130
215
195
217
158
215
112
230
175
176
150
150
186
112
150
170
208
170
260
123
189
212
193
210
214
147
247
150
136
228
112
121
194
131
159
175
194
121
112
121
137
137
136
262
176
167
121
123
143
172
184
193
212
112
150
271
167
228
170
121
112
238
227
112
123
231
217
237
174
166
112
231
177
192
124
150
146
121
265
171
218
228
210
228
121
112
121
150
170
208
121
167
112
150
150
178
204
190
112
177
190
112
150
194
150
172
112
186
210
112
156
112
164
112
112
165
147
170
170
181
194
267
231
209
226
150
171
156
174
156
165
174
219
172
147
172
251
115
201
167
174
257
136
167
239
213
208
150
219
194
257
195
181
194
150
179
176
123
150
189
152
237
234
232
165
124
159
172
136
112
201
165
161
181
167
231
112
187
112
123
165
214
112
150
167
247
226
186
170
123
172
164
202
121
156
171
139
237
171
121
193
170
150
146
121
170
172
208
152
182
170
124
121
150
201
136
150
150
112
187
177
160
170
210
205
253
165
174
137
239
223
218
219
195
198
112
242
244
203
207
137
258
187
170
208
164
178
235
112
150
168
167
169
172
212
279
203
187
172
112
207
147
121
121
239
208
137
112
135
193
121
160
124
170
186
150
115
123
137
172
121
150
237
112
121
195
202
226
121
194
121
137
208
263
187
150
167
186
121
202
171
166
150
219
172
218
112
121
172
172
233
137
150
150
181
112
121
181
194
172
112
150
112
112
172
172
167
121
164
241
210
136
171
250
250
195
220
170
150
112
115
165
213
170
170
181
187
150
131
203
121
239
220
150
121
208
206
150
218
208
115
186
165
168
172
235
121
176
160
171
210
208
121
124
158
201
217
152
150
237
205
121
220
228
225
136
150
139
250
157
112
172
156
170
171
171
175
135
177
167
194
167
121
211
121
112
207
202
172
160
228
234
206
203
218
171
121
150
202
112
212
193
176
173
192
156
115
172
123
229
181
208
160
121
167
150
174
171
200
177
211
219
208
150
222
176
210
181
147
150
136
208
172
187
208
192
199
112
156
245
121
121
112
162
121
150
123
137
112
135
128
112
176
208
184
228
208
112
196
172
167
150
212
204
193
159
164
176
164
220
220
219
208
191
150
124
165
208
121
112
164
176
194
150
270
112
192
192
193
165
150
201
181
270
121
269
208
238
213
128
174
219
167
174
123
181
121
160
210
150
172
240
176
165
207
150
159
170
112
186
171
167
215
195
237
208
237
186
165
112
121
171
171
112
194
112
212
123
112
195
121
112
208
112
168
112
203
165
243
172
112
212
263
162
121
150
130
173
112
121
195
172
112
217
172
192
202
186
172
171
121
112
228
150
150
188
208
172
112
165
208
121
250
170
199
172
156
186
175
178
177
170
112
243
228
112
150
123
208
170
239
152
181
167
176
263
150
176
150
150
159
150
165
121
228
121
112
208
187
181
220
176
112
208
210
172
170
121
194
160
136
181
150
193
234
160
181
164
143
121
208
172
218
112
172
208
150
150
168
176
192
194
150
192
171
112
220
150
208
147
150
150
223
164
181
152
121
181
181
243
158
206
173
220
167
201
123
150
186
121
150
132
165
137
185
172
206
112
157
220
150
208
192
150
121
234
176
121
165
171
198
208
181
112
167
135
150
150
165
112
137
123
186
188
172
176
223
179
167
233
212
245
150
172
195
210
121
176
181
172
213
150
121
165
172
150
170
203
203
172
121
124
246
203
112
231
170
183
150
194
187
112
150
150
115
150
222
208
245
233
195
208
172
172
220
231
208
136
230
121
172
195
150
121
281
203
223
112
239
208
112
194
182
176
167
176
121
220
226
208
150
164
199
150
150
172
186
150
171
202
121
160
187
136
150
170
171
150
172
170
150
174
193
225
212
278
150
212
237
249
121
238
112
225
156
136
228
112
172
150
172
223
170
172
208
186
150
150
186
236
239
112
218
136
164
112
192
202
130
165
182
193
172
112
207
220
128
139
195
187
150
121
112
112
170
112
194
144
208
124
137
130
193
217
194
176
194
202
208
233
157
112
123
160
208
176
213
232
150
181
181
225
187
173
150
157
186
123
220
210
121
123
233
137
150
150
238
228
150
112
202
205
168
156
196
121
208
112
219
150
139
121
112
160
187
150
150
112
195
150
196
187
150
187
239
171
203
150
186
203
228
112
121
150
189
171
174
121
184
208
217
150
130
164
167
181
123
229
136
171
143
208
158
218
112
121
209
203
278
187
220
193
228
170
203
250
216
123
150
123
115
150
215
220
212
176
167
168
198
168
167
187
121
150
137
115
143
152
174
170
112
121
147
150
231
136
255
291
207
170
204
172
150
170
163
187
246
136
112
176
121
121
176
121
203
112
209
121
212
208
124
300
137
202
201
164
112
112
112
112
204
136
121
150
208
181
208
208
150
228
167
136
270
112
176
167
167
112
217
147
229
112
221
231
115
112
150
181
121
215
112
112
202
206
150
228
150
174
208
167
208
158
164
171
158
170
121
171
202
121
171
115
150
112
175
194
208
112
202
174
178
112
121
112
172
281
185
174
194
179
194
144
162
205
176
112
174
219
225
175
184
208
167
174
157
192
184
150
135
240
276
112
170
170
201
194
115
137
214
112
112
121
167
234
202
121
205
165
165
115
171
215
157
170
195
220
236
228
237
121
150
121
231
158
226
258
255
193
172
131
112
202
150
135
167
150
224
228
255
123
205
179
192
121
150
176
121
187
150
136
112
253
147
240
112
121
121
183
150
112
172
170
171
150
195
171
234
112
182
194
208
150
255
112
112
194
237
150
146
150
150
263
150
178
128
160
123
231
237
172
175
206
239
165
112
150
150
169
112
260
150
121
220
144
205
170
150
234
230
150
150
204
243
184
121
201
195
220
121
147
203
202
257
157
164
115
239
233
164
121
302
150
192
194
121
123
121
195
167
210
205
208
171
121
209
123
150
202
181
136
112
150
204
170
121
121
112
172
121
176
172
182
167
150
112
212
170
150
195
168
271
211
136
208
258
210
150
150
212
150
167
156
232
123
235
150
121
121
167
170
112
121
112
194
208
121
186
130
164
165
177
115
112
171
224
209
121
112
123
176
174
176
176
112
255
231
121
172
229
208
159
112
121
172
123
112
112
217
264
177
172
121
220
246
186
172
203
150
121
112
218
263
181
236
150
150
172
181
121
197
202
130
266
172
146
121
123
176
181
165
167
165
194
112
203
150
158
201
112
170
250
170
254
112
150
223
112
208
143
146
150
167
231
160
130
150
135
239
192
179
172
172
150
112
150
195
174
172
150
195
123
233
231
228
177
171
184
217
121
179
186
171
177
150
213
225
150
159
208
181
193
220
150
135
147
150
121
112
172
174
239
170
245
263
194
239
208
205
168
150
158
147
208
112
160
115
237
150
121
150
186
299
228
121
150
219
187
121
158
150
205
244
174
150
150
212
167
158
176
218
239
170
216
208
228
245
123
112
172
172
187
193
176
186
196
179
237
150
156
112
152
181
136
170
164
112
230
112
112
184
112
165
150
171
171
204
112
187
112
112
171
112
121
143
172
150
130
208
194
232
112
150
257
205
232
167
254
167
211
218
176
164
210
208
170
171
121
150
211
172
150
210
152
128
165
216
173
135
137
243
179
112
193
302
186
203
165
135
176
208
184
193
208
207
208
150
150
112
135
208
228
184
193
150
166
112
123
150
121
232
164
167
258
181
123
112
186
241
228
150
237
147
221
170
195
181
150
224
112
165
264
164
150
150
136
150
172
207
172
217
205
150
208
194
176
194
150
121
121
237
144
226
150
176
165
207
208
150
112
121
208
112
214
143
164
218
208
208
112
274
137
112
164
177
232
178
177
189
229
250
176
258
167
288
136
135
208
210
231
177
150
170
121
181
276
215
265
150
225
136
216
205
176
123
147
193
121
177
121
181
181
194
167
202
112
181
237
176
194
150
208
165
198
164
253
150
231
165
121
208
192
159
167
157
195
136
136
150
196
171
237
150
112
208
165
233
167
230
112
220
171
176
121
212
165
237
121
150
159
194
226
186
121
112
161
297
181
208
203
171
172
208
112
237
165
150
165
172
150
219
167
205
112
202
192
211
228
176
171
233
181
247
219
124
115
121
121
158
143
160
181
123
121
112
176
176
201
187
164
150
177
184
181
203
176
163
150
208
123
128
121
208
218
212
213
135
115
164
177
194
177
172
237
194
150
228
112
162
240
150
201
180
121
137
136
150
135
135
203
150
121
144
227
208
115
150
208
237
208
121
121
112
171
150
227
181
240
208
171
160
121
172
235
172
158
243
200
112
112
161
209
136
112
121
112
156
201
231
115
121
150
172
239
121
263
228
229
167
187
239
170
208
194
147
150
210
121
190
214
171
123
150
150
174
200
165
172
184
150
193
112
168
228
167
195
121
164
181
115
176
195
150
123
147
203
158
150
121
196
197
156
175
170
205
172
150
250
246
143
159
172
232
243
227
170
156
236
265
186
195
167
112
212
193
150
205
150
112
147
237
208
150
165
123
181
210
201
171
150
171
121
263
176
158
208
241
121
136
214
153
150
228
171
202
226
256
228
208
233
225
172
112
112
208
228
208
159
205
115
213
165
156
168
112
212
194
291
150
212
203
174
220
121
210
112
238
121
137
176
258
231
179
181
159
275
112
170
194
158
137
130
237
226
165
228
135
171
121
218
244
112
171
147
124
112
121
112
121
208
121
121
172
167
150
175
157
150
165
244
121
159
115
121
168
150
158
167
229
213
171
187
123
167
220
112
112
208
164
186
170
172
136
264
172
175
136
150
172
201
112
208
157
228
203
137
165
181
112
173
174
112
150
112
177
217
112
170
187
167
217
177
250
159
186
236
167
195
150
194
124
210
187
150
204
208
211
176
228
219
208
150
203
171
112
174
121
168
194
170
167
150
135
208
192
203
150
136
112
135
123
224
172
194
121
170
167
203
198
160
150
223
150
112
208
150
208
121
170
229
171
164
128
150
172
156
171
147
218
197
158
150
167
150
150
150
206
112
167
176
150
167
172
112
237
194
207
194
177
208
167
115
194
172
112
170
121
172
237
112
213
237
192
239
156
135
202
202
172
243
150
243
150
168
150
302
212
208
136
130
228
194
121
186
167
265
150
170
172
150
112
121
112
170
220
121
167
135
159
193
136
115
112
167
210
192
219
112
123
208
172
193
150
156
170
279
228
200
171
123
137
177
201
170
121
202
121
112
201
135
167
197
196
172
128
121
203
194
181
205
121
152
121
112
112
178
112
208
184
115
115
150
136
217
164
246
227
112
202
215
165
150
121
150
177
208
222
181
156
124
121
172
250
150
201
250
112
112
200
167
191
228
124
167
147
150
186
174
112
255
112
150
115
177
167
128
144
121
208
121
121
147
164
170
187
208
112
172
150
182
172
217
230
219
135
112
174
128
247
194
171
121
231
208
192
206
121
181
208
178
130
135
136
302
172
176
112
150
209
250
124
165
202
237
121
171
217
210
150
136
115
150
147
112
228
217
259
230
179
136
171
241
172
147
150
167
112
195
112
112
177
201
170
137
121
147
259
150
182
164
192
179
121
150
170
171
263
112
150
183
170
135
194
215
112
226
150
187
208
167
123
156
234
170
172
208
245
199
157
195
216
172
232
218
135
150
200
195
256
150
160
150
112
186
206
208
170
172
112
263
211
167
170
171
193
123
150
231
212
150
137
258
150
167
263
167
147
135
171
263
164
158
150
158
112
167
150
172
155
210
135
231
195
228
121
137
156
194
212
257
172
167
157
172
137
208
172
131
208
172
115
228
167
165
150
150
150
174
150
121
112
255
193
255
130
173
130
150
170
187
150
187
121
202
164
205
228
201
170
121
150
137
235
217
147
205
150
194
257
171
112
156
137
150
162
115
243
228
167
112
181
176
137
150
112
137
124
230
149
173
176
186
177
158
150
150
172
167
150
137
167
181
158
190
167
208
164
167
172
130
112
159
205
204
150
220
186
150
170
112
192
115
238
206
194
193
147
147
152
131
176
230
112
243
245
228
150
186
165
178
136
121
171
159
250
194
220
112
229
112
255
167
172
225
297
171
112
112
164
231
240
172
170
121
181
186
136
172
313
112
208
150
201
208
167
208
158
210
241
200
165
112
147
187
217
121
167
158
193
213
186
170
164
112
115
171
112
121
243
212
201
150
150
225
186
167
150
201
150
121
121
193
189
225
171
112
240
177
150
176
165
150
208
208
121
150
176
186
272
223
165
115
185
195
176
158
158
112
228
172
302
165
170
193
186
257
172
217
173
121
150
112
182
208
171
276
121
182
193
112
112
112
228
150
165
178
112
177
147
190
195
112
205
208
150
143
195
174
208
175
238
193
150
195
229
186
212
167
112
242
112
208
198
135
187
112
136
176
189
164
121
194
228
121
167
159
175
136
159
208
130
240
150
193
131
208
121
167
237
112
189
268
172
206
112
207
250
186
172
193
150
175
162
170
239
135
112
195
176
217
121
150
135
143
115
210
217
112
225
215
202
167
172
194
177
224
233
121
135
115
135
208
115
174
121
186
136
150
237
112
208
156
202
226
212
203
168
225
217
228
219
176
172
170
150
233
204
164
192
213
217
181
181
123
165
176
178
147
212
208
170
121
167
241
121
150
112
165
255
112
187
121
136
170
181
136
167
121
208
181
244
121
181
187
167
136
150
135
123
208
112
184
208
150
194
203
179
194
165
158
171
186
112
121
267
150
150
171
112
231
112
174
121
162
208
215
220
172
145
212
150
181
208
192
112
168
153
184
112
115
171
165
170
150
112
210
150
208
187
112
112
112
194
220
250
215
194
207
124
181
165
158
150
236
121
167
124
136
159
228
201
191
159
187
181
167
121
208
156
170
207
181
115
165
112
121
150
121
112
123
220
121
186
171
195
121
187
231
150
202
121
159
150
179
190
170
150
135
200
112
181
165
210
181
181
174
150
112
121
194
167
172
112
208
124
112
257
159
161
199
121
229
263
161
208
176
158
123
165
150
150
150
172
208
150
186
208
178
182
112
195
177
212
203
112
115
121
147
276
147
228
176
150
176
150
147
202
150
137
208
121
177
121
201
159
135
172
241
165
124
192
150
177
174
237
135
150
150
150
121
112
201
171
193
112
150
121
208
150
178
123
195
167
115
186
172
170
220
208
153
121
171
112
173
136
121
208
165
194
209
112
171
202
176
123
208
175
135
181
160
123
168
203
194
193
193
210
112
167
207
167
166
160
121
172
194
181
150
186
165
198
171
194
115
172
136
194
257
158
210
160
128
243
135
195
165
150
237
229
167
112
174
121
177
170
176
150
137
112
237
235
227
186
121
194
121
172
150
186
228
172
217
121
171
121
121
181
239
150
229
124
164
208
167
177
171
112
112
228
172
167
123
193
193
112
208
170
123
167
136
136
164
124
147
197
177
232
276
112
157
225
156
170
112
177
210
253
115
237
175
177
121
181
228
194
171
214
208
229
219
152
219
112
237
150
204
192
112
177
112
240
228
238
112
136
193
206
150
210
112
175
165
137
167
186
202
203
181
150
128
210
164
150
203
150
128
164
112
181
227
123
150
218
195
112
130
208
145
150
121
112
171
150
175
216
164
217
171
135
172
150
203
217
191
177
171
237
268
170
167
210
121
195
178
234
150
172
112
128
170
181
172
112
278
135
225
121
228
165
217
179
233
172
208
136
135
165
193
187
208
176
171
226
112
112
184
171
193
194
135
128
175
257
214
150
115
165
194
255
121
123
194
172
232
196
172
121
121
202
208
220
150
171
123
255
167
172
193
150
250
170
212
121
208
181
121
150
121
130
208
150
170
164
136
208
150
123
172
231
208
176
172
231
207
157
208
130
176
187
150
189
176
203
257
135
121
150
203
187
121
177
256
150
169
167
181
250
219
158
208
193
112
136
210
121
202
192
146
187
228
175
260
123
112
135
121
112
193
160
232
201
147
170
174
226
203
199
112
250
112
171
218
112
208
168
121
172
136
237
150
205
167
152
121
112
183
150
220
150
232
150
121
176
218
131
136
203
186
195
192
187
213
121
187
191
167
250
215
196
112
194
201
150
211
121
181
177
203
216
231
157
179
150
121
228
208
112
210
208
150
164
150
255
209
231
150
112
210
206
208
229
259
137
233
258
164
176
167
172
208
123
208
121
164
212
193
152
171
193
232
172
171
175
210
172
156
186
170
121
187
184
164
244
171
176
212
112
225
167
199
171
176
175
230
123
164
165
210
250
220
112
146
170
172
112
194
195
229
208
172
135
145
115
150
202
239
176
228
152
112
250
160
194
229
208
121
181
176
293
123
150
121
136
150
167
121
121
181
235
193
121
112
150
208
172
121
150
163
194
152
178
192
150
181
243
112
258
229
144
165
201
152
243
147
170
172
130
115
115
208
121
150
186
150
189
213
112
176
194
208
181
112
233
121
124
174
257
255
135
239
170
150
201
201
112
112
131
208
112
202
181
112
156
121
165
121
123
231
202
156
208
219
212
165
176
236
112
214
150
190
231
176
247
160
208
165
202
150
121
147
150
130
115
112
278
233
192
121
150
143
112
158
202
259
164
233
112
204
150
228
184
172
115
150
216
186
204
121
227
124
121
150
136
255
150
178
112
167
203
121
193
121
179
150
177
191
229
150
239
170
152
208
112
150
121
205
112
150
150
112
115
260
217
228
121
168
195
243
187
123
172
231
177
112
184
264
176
121
112
208
196
174
201
212
171
228
208
121
181
112
205
247
150
121
210
193
208
170
172
230
172
150
186
150
135
187
136
165
194
170
220
181
241
130
170
170
202
112
112
121
112
189
210
150
112
194
208
150
168
150
160
194
171
150
121
167
181
150
193
201
112
208
112
170
112
150
237
203
150
181
156
121
150
152
123
112
156
239
146
121
208
112
252
150
202
186
263
124
143
171
150
159
167
121
135
205
121
157
157
235
201
223
302
167
174
242
112
156
150
150
212
112
216
210
233
150
130
187
203
194
194
135
135
207
229
239
186
112
176
171
135
150
168
221
150
167
192
208
172
150
175
145
215
170
121
150
121
150
167
150
171
112
150
171
202
203
164
132
112
162
247
150
150
112
137
165
210
275
112
194
152
112
150
178
228
150
206
121
173
121
168
193
232
220
225
219
176
123
217
189
150
165
236
228
123
228
194
237
208
150
115
121
344
112
121
214
172
208
171
112
147
220
208
161
164
237
262
190
150
216
239
172
150
208
194
172
158
231
121
167
203
171
172
194
150
208
112
159
172
150
208
208
145
219
211
178
159
115
150
112
193
167
150
152
121
171
112
167
167
123
174
203
167
128
150
210
150
177
123
194
150
250
196
256
171
167
112
150
112
172
160
208
162
203
152
123
205
157
135
147
177
231
170
160
165
136
186
167
112
115
150
167
164
172
178
137
176
250
194
171
177
213
121
112
233
208
170
201
170
150
204
202
150
174
215
164
150
159
112
150
176
121
150
150
158
150
136
194
212
216
210
112
150
208
219
178
112
139
203
201
210
216
210
208
172
340
112
215
123
168
150
112
150
150
237
250
112
112
150
172
250
150
219
158
115
160
177
279
158
136
112
170
213
112
171
150
150
281
167
164
112
228
176
150
228
195
215
205
172
147
121
194
165
150
171
172
115
146
121
172
136
211
239
112
150
201
135
215
135
121
168
141
210
121
150
243
167
177
187
170
112
186
160
186
255
160
208
208
181
215
181
135
181
194
208
181
202
186
194
121
123
112
153
112
278
189
181
214
167
150
181
150
208
168
189
121
136
265
208
219
171
172
112
136
167
159
121
156
205
170
130
112
176
167
170
115
173
172
159
225
199
112
112
121
150
165
136
150
203
208
231
208
121
250
181
223
112
209
193
150
181
150
115
136
167
164
186
128
231
218
112
171
182
160
167
112
150
172
150
150
177
255
213
177
121
172
160
212
112
160
112
170
208
123
256
243
150
201
258
185
135
207
121
136
184
167
228
202
220
201
112
201
181
208
158
150
170
123
172
181
146
193
223
171
112
112
112
150
136
168
210
112
144
112
240
112
202
159
144
158
167
150
216
201
194
172
150
208
137
172
177
165
150
172
176
112
144
219
299
115
192
121
112
156
172
243
208
186
112
152
201
192
171
150
136
168
150
121
181
121
208
112
150
164
176
150
221
167
159
201
130
250
201
136
121
228
255
205
230
112
189
150
167
121
217
208
167
170
143
193
112
112
112
112
186
228
164
112
121
112
121
194
165
170
170
136
150
112
112
209
228
135
145
123
193
172
168
150
170
176
121
121
159
112
206
159
228
279
186
124
168
121
170
165
159
135
228
181
167
203
150
203
195
172
211
121
204
112
226
238
112
251
168
172
115
171
115
121
112
150
135
201
214
175
150
263
168
176
258
150
219
192
121
112
121
112
172
150
150
123
115
208
205
302
121
115
181
174
210
135
187
112
208
194
165
135
215
174
175
112
150
121
150
150
150
112
229
194
208
172
218
227
225
137
168
238
218
135
170
278
263
123
207
170
168
167
152
158
172
181
228
128
121
170
128
112
164
160
112
160
239
124
255
242
170
189
150
171
229
112
205
150
170
195
231
170
150
128
167
130
136
209
150
150
167
121
181
137
170
150
228
178
258
239
150
172
235
192
212
137
172
188
186
156
121
176
167
150
150
175
228
150
196
209
112
213
150
121
112
121
147
115
164
239
155
164
208
146
171
168
137
218
112
212
172
121
170
165
210
181
123
121
201
239
112
150
202
136
186
243
159
158
112
237
208
170
150
170
175
232
226
123
150
124
156
128
194
205
172
150
121
186
150
276
147
203
219
227
121
168
189
216
147
172
193
160
150
147
150
150
208
121
150
112
186
167
210
150
208
150
177
192
170
146
112
179
130
150
201
162
172
158
239
157
121
128
167
178
167
112
171
136
137
121
123
195
300
130
178
186
171
172
158
131
239
150
158
150
121
172
165
172
202
150
123
121
175
159
121
189
208
172
121
135
112
112
216
115
174
201
194
159
220
152
179
121
112
121
150
210
172
112
171
123
217
160
150
176
226
150
181
112
150
172
177
193
150
181
155
128
150
234
218
214
150
236
112
239
203
137
212
112
158
112
150
172
219
177
171
210
176
150
150
208
171
212
121
112
150
137
115
150
203
150
271
150
167
150
194
205
272
187
181
150
150
223
112
112
115
112
150
124
201
150
228
208
208
208
201
121
193
202
210
167
202
220
150
156
112
168
194
210
158
112
121
201
136
231
220
158
121
123
123
208
235
152
167
208
112
258
172
121
175
167
112
112
121
150
160
115
210
167
264
170
195
243
167
112
132
246
220
208
208
203
217
150
208
208
171
167
208
225
131
112
170
112
194
150
228
112
255
121
150
175
167
276
167
193
158
208
121
281
137
208
208
195
229
112
220
174
112
174
237
201
121
170
121
208
254
167
165
209
167
150
228
121
165
150
253
150
160
167
194
112
128
165
165
168
192
250
297
115
172
208
170
195
136
175
225
176
177
174
112
147
237
150
135
167
112
112
202
229
172
208
112
136
112
172
170
121
208
181
121
208
150
171
189
158
210
253
174
225
112
121
150
265
168
112
164
121
121
112
226
237
123
150
196
218
255
172
165
210
171
239
297
112
210
174
112
165
172
201
202
167
172
216
136
208
170
158
136
260
112
123
112
289
150
170
228
150
220
208
172
152
231
199
176
202
123
202
112
167
174
232
165
171
181
193
208
136
250
247
150
185
123
199
172
150
208
243
172
152
202
208
147
201
123
255
170
112
167
150
181
162
121
194
172
194
121
172
232
176
170
167
150
208
189
175
172
208
164
193
181
136
130
164
158
208
220
158
121
121
221
146
150
174
208
172
121
208
150
175
150
144
228
205
220
123
204
210
112
112
177
150
121
178
187
184
201
121
228
165
167
150
218
171
172
150
223
147
170
181
202
214
159
194
160
137
121
203
186
192
208
194
121
167
237
210
150
172
121
150
130
205
121
193
115
181
207
150
192
112
172
112
239
194
272
123
170
150
123
176
161
210
168
215
207
220
271
124
203
167
237
174
233
160
121
193
173
208
220
171
257
179
115
164
227
182
208
212
165
167
165
121
146
170
167
195
176
208
121
112
231
239
194
170
170
213
150
168
170
167
112
202
218
121
150
112
208
167
136
202
121
135
228
171
208
186
208
115
150
171
194
164
195
181
167
158
195
181
112
170
167
123
121
165
239
152
193
193
179
150
210
193
136
121
232
121
228
136
136
208
165
160
150
124
174
203
185
121
121
186
241
239
228
194
121
225
171
208
156
121
150
112
121
260
208
167
215
150
203
172
208
137
135
172
205
297
112
121
152
212
112
231
176
150
194
232
123
123
236
210
193
170
167
136
211
112
239
276
112
194
123
137
172
228
228
121
201
250
112
128
175
172
150
228
175
121
245
121
231
152
172
135
136
147
186
150
250
177
172
177
178
112
187
121
259
212
207
228
170
167
256
183
225
124
260
170
150
165
193
112
193
139
112
221
112
165
222
152
150
210
112
121
150
192
112
150
150
162
208
123
128
158
112
186
135
219
171
184
167
121
112
195
152
112
208
130
184
135
112
194
171
186
115
121
171
135
112
121
135
112
112
175
121
200
124
121
193
190
112
254
165
112
150
136
175
228
174
171
254
210
170
152
128
199
203
112
228
265
205
181
193
194
124
181
115
228
112
115
216
158
122
112
203
136
193
112
121
203
178
115
218
121
181
179
150
164
147
174
112
171
229
219
121
136
123
150
195
172
189
220
176
135
170
152
150
172
228
165
226
121
176
147
115
205
159
150
194
211
115
178
212
112
193
112
193
165
121
194
186
214
170
121
187
112
195
112
123
121
219
121
208
112
115
176
194
150
171
112
150
181
264
123
194
171
215
135
170
121
172
172
228
172
172
171
135
172
150
112
121
245
167
208
143
121
112
170
201
112
263
218
184
112
124
211
164
147
167
121
150
155
228
112
172
279
194
202
237
192
172
150
150
170
226
121
182
121
167
187
181
172
190
192
195
193
121
218
170
170
186
193
208
194
136
155
175
174
219
135
167
220
165
121
123
170
167
170
217
196
121
121
194
135
112
177
150
112
121
150
229
170
181
208
208
192
121
156
150
174
165
121
213
172
202
171
229
207
241
170
121
112
176
201
121
144
159
181
208
218
276
150
203
208
112
208
189
160
121
208
172
150
208
181
181
241
274
201
121
176
193
208
264
112
161
136
157
170
187
136
175
263
257
216
207
172
186
207
121
190
216
150
150
165
167
150
171
208
150
245
112
278
130
186
171
115
255
186
193
185
112
150
217
112
204
123
112
250
179
208
208
170
150
194
143
121
205
208
121
194
212
219
123
194
161
121
123
192
203
171
112
172
170
208
171
150
167
123
112
174
208
205
194
189
172
170
208
208
171
130
164
166
150
195
208
201
139
193
112
210
121
231
158
143
189
177
121
181
181
210
167
150
121
136
150
195
229
150
137
121
181
123
177
112
177
158
170
136
194
233
112
180
112
172
240
150
187
167
150
236
123
165
150
130
208
172
156
172
170
112
112
112
150
228
112
112
220
112
121
121
226
176
136
219
150
150
150
208
194
167
136
172
128
204
170
210
150
150
210
171
164
150
156
167
196
216
112
237
150
172
172
158
160
152
121
135
195
172
150
260
263
218
195
124
121
219
194
128
150
208
161
112
137
212
208
159
115
181
171
152
121
272
172
214
150
112
121
143
177
156
208
121
150
214
250
187
165
202
115
167
121
150
218
174
186
165
208
176
187
259
172
150
112
121
112
186
167
209
121
181
135
156
167
201
112
171
190
150
171
208
231
171
214
213
150
208
192
181
223
121
121
130
171
157
164
121
158
174
167
170
121
218
112
145
208
167
150
150
231
150
112
167
123
112
250
195
150
187
121
233
160
212
233
112
150
170
143
209
208
121
172
121
172
208
112
136
112
160
159
174
147
342
158
170
162
235
121
208
112
150
150
186
150
112
194
188
208
186
208
152
115
202
143
208
177
230
121
208
121
201
150
201
176
150
136
128
135
150
123
181
172
170
136
171
302
144
180
195
186
187
170
210
208
150
228
231
158
112
208
171
208
112
112
124
167
121
238
115
196
150
121
208
195
195
228
167
263
202
150
167
112
167
187
237
186
240
168
194
194
189
171
172
258
159
121
203
156
187
165
242
220
150
112
112
171
201
167
115
231
144
201
150
123
194
193
208
179
208
171
171
150
213
181
124
210
182
234
121
202
112
123
172
150
208
136
189
171
170
112
210
174
147
150
135
150
170
171
135
112
170
208
172
226
150
208
158
172
195
168
150
147
177
150
172
211
210
168
174
220
130
112
210
172
208
228
143
187
198
121
121
208
172
245
172
150
278
278
226
121
210
264
121
150
150
208
194
219
195
112
228
150
121
192
112
145
115
115
143
236
231
165
174
173
203
123
123
171
215
236
181
230
158
147
158
112
194
112
186
208
172
168
167
150
192
208
112
194
223
201
290
181
137
112
177
150
201
167
197
121
181
175
170
194
195
203
160
121
177
239
186
242
115
203
193
201
158
174
193
221
171
167
202
150
245
275
167
112
167
170
112
232
177
167
150
192
220
121
198
171
159
182
250
164
135
193
231
123
130
201
181
167
172
167
112
150
115
172
150
172
144
194
215
112
181
174
182
193
181
208
168
150
150
171
208
121
161
236
112
210
194
160
176
147
228
174
167
135
195
123
159
112
207
232
220
172
237
181
228
181
112
170
135
145
165
150
202
170
171
255
115
202
195
150
112
195
202
130
210
150
167
203
150
192
167
174
112
170
150
187
150
186
208
159
150
135
225
150
147
171
177
147
137
211
115
212
208
150
121
150
225
121
206
192
229
172
121
121
112
150
228
167
150
150
208
228
136
172
210
167
159
193
150
152
237
152
123
174
174
167
112
172
181
150
127
202
167
167
228
112
212
150
150
150
167
128
112
179
124
208
121
175
112
243
186
171
176
226
207
194
209
121
112
150
194
208
171
123
158
194
186
255
201
282
112
208
213
171
167
130
150
186
171
170
172
121
121
112
112
156
159
171
199
187
112
150
112
223
232
159
165
160
194
170
112
150
186
207
208
137
150
121
165
229
193
232
172
202
241
112
151
112
167
165
231
135
225
112
165
112
217
186
195
272
150
276
150
143
175
170
112
112
243
211
171
156
172
112
208
210
185
233
195
123
150
112
185
137
136
150
112
201
208
150
150
186
165
231
112
187
152
112
150
193
263
302
150
229
227
195
158
147
123
150
167
217
112
121
112
112
150
175
171
195
150
147
154
193
186
121
232
150
201
159
150
170
163
208
217
130
150
175
281
150
172
112
121
167
213
112
121
181
212
121
150
172
226
240
186
159
121
172
147
212
192
121
115
194
208
207
208
123
150
115
186
150
147
205
208
147
165
170
186
175
186
172
143
272
172
201
202
206
186
193
231
167
121
139
130
167
160
171
203
112
172
121
156
175
121
202
139
201
156
121
170
210
194
150
263
167
210
167
154
172
135
237
144
186
112
150
171
150
236
150
195
217
226
181
150
194
150
206
187
174
156
208
236
121
158
193
156
202
231
172
150
234
112
112
121
121
167
123
206
161
112
217
121
198
201
172
164
171
195
194
193
112
233
232
167
150
167
237
194
194
150
135
215
213
123
150
167
121
208
160
161
123
150
237
250
185
128
216
219
165
147
172
137
168
112
121
172
208
172
287
167
121
128
175
265
112
201
150
143
194
167
263
173
265
229
121
150
177
240
212
243
233
150
233
121
165
121
208
150
172
115
112
172
112
150
150
212
193
167
176
210
213
185
193
135
143
228
165
150
123
202
167
208
187
182
112
171
121
147
172
150
156
194
170
150
231
170
177
216
228
137
112
123
195
208
302
152
121
219
150
112
115
150
157
174
150
191
236
121
200
112
150
112
156
170
208
184
208
165
145
150
160
187
228
150
121
172
121
171
276
208
123
112
112
115
170
269
208
171
226
121
237
137
203
205
215
186
112
121
150
135
147
171
130
152
172
112
136
112
240
121
208
112
131
206
112
150
208
228
194
112
218
250
171
208
164
167
187
190
263
136
150
147
269
171
233
205
181
121
167
208
205
115
112
164
172
183
150
243
228
165
156
174
231
193
150
208
150
194
112
240
150
207
150
112
150
167
215
167
121
150
208
121
208
194
165
181
121
144
172
172
115
240
248
121
150
121
256
193
171
186
165
208
215
237
150
233
150
208
177
195
150
150
121
188
165
171
225
137
115
198
205
223
156
201
123
176
167
212
265
170
204
167
150
212
219
187
135
167
165
121
150
158
167
216
150
208
168
218
176
208
186
167
115
205
208
160
115
181
165
220
130
202
121
172
112
207
172
170
150
112
121
112
208
228
123
112
121
201
150
202
206
112
187
123
150
208
150
112
123
193
170
128
112
208
160
112
227
150
150
121
135
112
218
115
228
150
235
195
278
112
158
123
212
208
112
196
159
192
167
204
177
123
136
112
195
150
200
176
135
136
194
167
121
150
123
241
112
150
208
218
112
238
196
208
123
112
137
193
112
218
258
123
112
217
208
202
171
211
176
186
165
250
238
217
170
229
232
124
201
174
228
121
150
112
192
176
172
167
150
237
195
121
115
128
137
112
235
172
233
172
112
150
161
239
137
172
175
112
121
229
189
170
115
144
207
219
176
112
182
123
136
291
112
195
121
205
150
150
112
159
167
181
112
130
136
121
121
186
208
112
205
192
194
112
177
205
112
202
181
135
147
215
233
112
164
172
176
168
152
165
158
208
112
220
150
159
189
231
176
220
165
240
150
165
219
206
123
150
208
147
121
208
172
159
112
194
230
208
210
121
194
121
112
159
170
167
150
112
158
171
136
176
112
181
112
193
203
207
194
212
220
150
171
181
121
182
201
225
192
123
112
150
170
152
137
177
121
121
228
208
115
130
139
168
176
170
121
186
112
150
181
181
185
167
121
150
167
167
121
150
159
121
287
123
181
143
165
237
124
150
112
208
196
175
189
147
212
181
241
164
216
228
150
172
121
176
210
121
217
181
115
137
196
170
208
186
187
169
150
208
112
147
150
187
150
164
170
121
160
167
147
194
187
115
121
237
115
121
165
305
121
123
150
224
112
150
186
205
213
183
136
225
233
256
238
165
223
187
217
165
176
208
172
112
150
167
174
112
247
150
228
208
237
208
170
164
214
211
143
150
172
195
195
181
181
178
164
225
198
206
302
170
137
167
270
176
163
176
128
174
214
159
181
152
130
130
136
112
208
170
176
250
226
226
115
206
150
171
210
160
187
172
252
193
150
167
158
181
165
253
170
194
165
174
215
202
226
150
194
250
185
121
112
173
200
187
264
150
210
176
150
152
159
167
121
174
150
159
195
210
150
159
193
228
124
112
173
112
272
206
218
210
121
150
207
112
121
202
165
136
112
184
170
176
147
150
152
121
176
228
201
164
112
150
121
158
202
112
177
203
121
193
208
186
201
137
121
112
143
112
171
112
194
121
172
208
202
208
112
204
172
186
175
159
202
171
172
236
187
225
123
150
123
208
182
161
152
218
150
173
150
186
135
150
189
163
150
179
172
256
170
187
150
172
150
172
156
212
172
172
112
212
123
265
201
121
167
170
171
201
171
165
186
150
208
121
193
209
195
165
192
156
230
150
194
201
123
112
181
112
143
231
150
235
150
212
124
159
121
170
123
232
186
150
208
217
208
123
209
121
263
233
214
218
167
152
187
121
184
143
240
170
208
121
121
159
150
218
225
121
297
156
150
150
121
112
112
208
121
121
150
150
186
174
177
203
164
112
150
205
182
258
189
121
237
164
210
205
208
164
160
170
208
135
246
192
171
243
228
112
193
135
189
152
272
112
128
172
203
150
136
210
193
172
115
195
150
172
238
150
253
171
299
121
112
135
268
181
208
167
234
150
121
172
217
167
171
170
217
201
143
208
176
150
232
211
195
112
121
171
121
179
150
194
260
203
150
187
210
228
195
216
179
112
208
123
150
175
121
208
237
187
136
150
165
170
228
112
150
150
231
135
193
123
201
121
121
203
208
158
165
170
162
158
121
115
208
168
130
150
172
150
194
179
121
112
210
112
208
150
112
150
193
172
186
208
137
211
193
170
208
170
210
150
112
218
176
175
232
194
170
249
115
187
182
241
181
112
124
171
176
181
135
121
112
174
136
229
150
187
196
123
194
208
170
167
175
215
193
167
257
167
112
170
203
165
172
220
177
193
177
171
150
150
177
112
170
130
156
181
212
112
150
121
247
228
165
150
137
197
208
112
181
159
176
150
159
112
175
187
170
225
174
112
208
228
203
150
228
193
259
147
272
150
150
168
121
210
147
196
254
136
165
194
150
263
211
184
171
176
165
199
147
201
144
123
112
213
156
156
194
123
121
150
123
150
172
195
213
170
208
186
210
201
130
150
152
150
201
193
177
219
176
171
208
150
112
208
274
208
167
121
112
192
112
211
121
199
238
171
198
171
112
217
220
112
112
124
150
112
150
208
115
150
167
186
250
194
112
150
239
192
220
150
156
165
150
172
218
150
112
178
153
225
208
274
172
193
112
112
302
200
112
171
150
210
121
187
208
194
176
170
187
214
215
250
112
196
150
181
112
212
208
150
203
115
212
150
194
150
226
167
121
112
121
210
150
235
167
170
176
176
150
130
225
181
135
150
147
172
228
193
181
172
195
165
121
112
202
115
121
150
121
121
172
190
150
130
176
216
172
212
193
229
181
150
183
193
197
208
205
207
165
194
246
233
217
240
150
225
167
150
193
124
232
112
112
167
172
112
203
244
123
187
150
156
160
217
176
245
232
150
157
156
146
250
112
212
165
121
186
167
219
216
239
201
171
135
208
121
121
220
150
207
150
197
208
219
177
228
121
152
121
216
171
192
177
115
121
150
255
112
208
195
220
123
187
121
185
181
181
193
232
217
181
216
150
175
152
194
172
186
236
112
121
164
150
249
170
135
176
219
194
229
201
112
150
112
182
167
112
144
229
112
164
167
150
123
164
177
150
159
150
171
220
198
181
144
112
123
170
150
171
170
112
176
121
135
276
208
150
150
208
172
170
150
150
203
176
177
195
147
121
172
193
240
172
121
112
150
299
263
210
112
167
112
201
137
147
176
208
171
205
172
158
121
168
228
160
218
123
165
150
171
176
123
174
112
176
264
218
171
184
177
150
171
150
112
112
112
150
239
194
150
150
218
123
170
162
115
171
164
187
205
150
250
165
176
131
186
137
208
190
167
243
193
186
172
187
187
121
150
176
167
210
186
250
121
189
227
112
197
193
240
165
175
112
238
147
192
168
112
150
231
187
167
212
176
112
192
165
219
186
218
202
146
150
170
170
225
216
150
165
193
205
137
150
170
121
112
218
139
171
112
257
121
150
263
176
112
112
225
255
135
237
112
123
167
115
177
263
167
171
182
139
171
191
176
197
150
112
170
170
171
228
170
216
147
147
124
150
189
172
192
123
121
176
175
212
121
187
112
206
195
208
152
255
150
237
150
194
212
115
175
150
172
278
193
186
160
206
174
233
302
165
202
112
208
128
250
150
165
121
150
233
156
220
193
167
257
208
165
143
186
112
194
181
194
208
112
218
179
152
202
150
165
139
150
124
123
208
204
171
160
205
250
150
167
158
210
189
186
121
194
171
204
150
241
212
172
337
121
139
112
172
135
156
167
172
250
150
165
176
165
195
150
186
208
112
158
221
150
186
147
181
121
115
176
158
159
136
164
121
150
194
170
150
181
220
150
112
171
176
165
121
112
187
171
112
210
112
278
224
220
158
246
174
205
173
123
165
121
137
193
161
247
176
158
194
121
150
167
212
160
219
207
112
237
194
167
121
121
186
194
143
176
232
124
123
196
150
171
156
167
112
186
259
278
187
167
212
150
169
211
130
150
170
121
195
150
136
170
150
112
194
137
150
176
167
210
234
130
112
211
187
112
165
167
150
229
112
144
172
208
150
186
159
194
193
208
193
150
170
132
175
167
228
192
150
220
136
171
208
112
124
278
198
209
237
202
130
115
152
200
112
112
212
123
208
202
198
150
174
187
150
217
167
172
216
137
228
130
257
143
115
210
224
172
176
150
252
208
205
172
172
167
250
121
173
190
196
112
208
121
199
212
112
254
176
160
112
165
112
228
112
212
150
150
121
194
171
208
165
181
150
239
219
150
171
227
150
137
237
162
136
123
240
205
121
258
158
150
170
263
167
150
121
220
171
177
194
208
121
171
212
135
178
203
112
174
220
203
186
233
121
172
200
187
135
112
187
171
167
150
208
228
228
187
121
241
135
172
223
237
160
227
159
171
115
135
150
112
205
150
260
237
150
228
121
177
167
239
164
112
121
112
144
182
212
202
219
194
172
170
275
150
150
177
165
208
159
164
160
167
150
150
194
179
121
161
167
112
112
124
189
147
202
150
112
143
121
192
230
123
150
276
187
112
205
208
192
232
158
170
121
250
150
150
112
150
167
150
167
232
196
150
172
139
150
179
271
226
136
203
209
150
150
112
121
215
137
220
115
123
171
136
175
224
157
176
181
121
244
208
137
195
228
150
130
158
112
123
130
220
156
167
194
205
187
186
121
150
135
147
186
112
112
231
208
194
204
212
263
150
208
236
272
177
179
150
192
170
159
112
112
203
214
150
112
115
158
264
112
112
112
211
182
212
175
193
204
193
121
193
187
168
208
171
112
225
236
228
245
135
203
233
121
220
186
158
150
150
167
231
210
150
121
223
209
165
181
219
176
112
210
165
112
150
208
176
189
225
135
159
152
112
121
121
226
150
150
196
160
205
240
160
231
167
220
112
244
172
112
242
175
201
159
172
171
231
124
186
152
219
159
150
150
147
172
121
150
150
217
181
136
112
150
170
216
260
150
179
210
123
228
276
121
193
150
168
208
194
115
201
218
187
121
208
135
208
150
177
121
160
165
150
121
280
121
225
112
177
186
195
195
112
167
171
150
167
210
137
228
181
177
135
123
170
165
162
156
121
123
201
156
193
121
112
231
205
176
178
136
240
159
267
177
209
184
167
193
208
121
216
263
236
195
112
137
123
112
172
150
219
172
170
165
115
121
115
174
170
235
112
195
121
137
165
171
194
144
176
112
192
115
150
172
208
209
256
231
209
124
147
220
212
112
170
194
187
184
158
176
210
172
179
121
167
219
194
170
250
164
150
150
231
136
189
150
152
121
131
215
150
275
160
165
171
112
115
150
229
208
194
150
131
150
152
167
178
136
194
123
112
160
187
193
207
112
182
143
183
167
144
137
170
121
184
167
234
238
121
240
175
121
121
150
208
196
231
172
172
165
121
208
150
147
121
213
239
205
172
121
150
205
136
170
124
228
121
210
161
137
144
112
208
150
170
171
176
152
196
172
135
210
212
187
121
159
112
228
244
225
192
112
231
150
167
207
217
176
217
121
215
150
170
171
112
208
170
171
170
172
150
112
255
171
167
208
194
165
212
112
207
228
208
208
150
167
160
112
225
150
194
208
150
252
162
112
172
240
150
135
208
112
167
239
228
137
112
174
112
172
237
177
112
239
156
121
263
186
220
112
208
244
208
150
218
112
137
164
167
270
192
123
135
112
159
208
121
203
259
112
172
112
150
165
150
150
202
137
208
135
167
115
207
112
203
112
171
193
121
181
194
121
112
177
112
160
229
112
159
121
186
217
230
112
152
150
121
167
156
164
112
152
208
112
150
243
152
159
135
281
210
234
137
150
167
121
167
170
170
208
159
215
174
255
167
167
136
186
177
192
208
226
172
194
150
254
171
196
150
167
228
150
150
234
150
167
176
231
123
137
144
150
156
170
172
150
171
143
184
172
164
137
147
123
192
181
115
212
225
167
172
228
237
121
207
172
121
172
235
167
150
198
164
112
218
112
229
193
112
170
121
156
208
236
208
210
172
121
220
192
238
150
292
229
135
239
170
176
237
152
121
112
226
181
297
211
112
208
150
112
178
150
112
200
135
112
167
229
150
136
150
167
208
150
152
112
121
172
115
112
167
179
215
171
215
194
171
171
203
232
112
172
150
176
136
150
245
176
167
115
177
121
223
172
152
210
135
170
181
161
233
160
187
186
193
203
251
115
155
112
202
150
147
121
167
220
150
157
121
181
208
237
137
135
121
112
150
267
255
165
112
167
112
165
193
121
210
197
219
123
115
237
231
168
167
165
172
144
147
231
208
208
112
161
172
121
203
170
136
172
150
171
121
238
250
135
183
171
121
112
170
121
112
112
112
162
112
112
150
212
167
150
257
150
214
170
172
143
150
210
123
150
128
164
177
124
121
112
128
181
135
164
167
194
150
112
121
150
124
165
152
205
186
212
184
193
220
230
168
150
152
220
123
208
112
112
172
208
176
150
150
193
208
112
165
167
170
112
121
156
150
233
136
171
150
150
167
237
172
176
137
172
181
112
150
150
130
174
130
255
203
167
143
123
112
220
198
165
123
150
112
130
112
121
275
112
200
193
128
170
259
150
172
207
167
238
237
171
172
150
194
123
208
135
150
217
220
262
231
218
258
236
194
176
208
203
121
212
281
150
158
195
150
178
167
185
150
112
112
172
208
164
172
167
121
220
222
150
164
176
170
170
121
112
135
216
223
175
204
137
219
170
196
237
276
171
171
146
208
172
205
159
218
171
150
121
124
150
172
213
189
170
171
210
115
147
112
112
112
210
150
203
208
208
239
158
170
135
260
121
112
121
243
150
272
237
165
157
167
150
226
225
147
150
150
135
150
136
150
210
194
150
150
150
184
137
208
167
150
218
159
165
232
228
209
150
150
150
139
112
150
181
254
150
159
263
208
170
204
121
172
172
179
143
199
147
208
121
121
186
171
176
147
159
136
189
115
219
172
121
187
212
121
112
187
121
192
159
121
112
211
171
121
199
226
226
237
135
212
256
121
150
159
112
136
112
167
181
177
187
208
128
136
171
217
150
238
231
187
220
266
121
170
147
123
208
208
181
112
171
121
156
112
192
112
157
147
124
188
195
135
112
210
276
121
198
228
226
210
222
112
229
121
150
164
121
150
172
222
150
123
115
143
167
236
165
231
150
194
121
220
237
112
194
168
124
167
165
186
176
121
135
112
150
208
194
175
302
172
112
213
112
195
228
228
217
112
135
172
205
208
115
208
247
217
156
150
121
242
227
168
228
112
223
194
213
159
159
179
130
237
150
240
167
167
150
263
124
130
170
121
167
121
147
137
175
208
137
167
172
195
150
137
147
156
121
150
156
136
172
201
194
228
181
150
135
150
150
150
201
167
121
152
170
176
123
136
193
259
112
237
171
167
203
219
164
242
128
112
166
167
212
167
209
167
210
156
232
123
231
165
115
228
172
121
121
172
237
112
112
164
210
176
208
135
278
272
123
181
171
228
181
112
176
112
165
167
124
276
189
167
209
112
210
128
237
196
239
128
236
150
239
167
135
121
170
150
219
172
243
112
135
192
150
220
221
174
121
112
202
124
112
123
160
219
202
144
152
147
150
167
112
112
121
136
165
195
121
123
146
167
172
228
170
137
135
207
208
150
167
184
171
147
170
194
150
150
208
112
150
170
167
150
167
242
121
158
181
157
240
150
112
167
150
228
208
112
112
203
170
112
161
192
237
150
121
231
167
123
112
201
242
171
168
112
201
112
231
187
112
192
150
112
240
121
185
250
181
159
115
202
112
121
128
162
219
203
220
156
121
124
217
172
121
300
164
112
146
208
181
150
195
150
187
208
123
181
159
135
121
121
167
150
217
170
172
186
164
160
121
150
218
168
144
221
213
150
236
202
150
172
136
172
121
237
121
193
171
215
210
186
260
195
194
121
150
176
205
160
172
193
170
195
170
159
112
208
208
204
229
219
112
150
209
170
238
195
158
123
112
172
228
220
256
112
211
170
209
150
160
136
174
147
243
150
170
209
172
226
208
208
167
150
164
187
112
212
150
150
150
238
136
201
164
194
181
158
298
112
165
165
121
112
112
170
172
139
255
218
150
112
222
112
167
172
135
243
112
196
273
150
150
158
121
112
135
237
212
150
234
150
208
121
176
136
121
252
216
205
124
228
160
123
208
179
160
172
212
172
192
208
205
237
228
192
181
112
112
165
136
184
121
167
112
123
128
143
178
168
112
112
121
194
189
220
209
172
150
165
150
150
112
121
193
277
150
121
121
137
165
208
217
112
257
135
159
176
210
212
150
220
213
186
172
150
150
181
174
136
112
121
253
167
123
243
171
150
174
195
112
189
184
241
112
239
121
174
172
267
194
212
176
121
121
212
112
231
167
223
212
217
150
208
194
112
115
181
147
208
266
202
121
121
195
216
208
177
190
158
150
159
123
150
136
181
150
150
218
171
158
165
223
201
121
212
158
224
242
137
165
156
190
187
251
239
147
136
115
164
150
112
150
121
165
239
112
203
177
150
170
112
208
124
112
208
194
172
233
175
215
167
176
201
176
172
112
186
228
150
112
209
176
205
239
135
112
172
210
174
204
172
167
121
218
187
176
150
112
150
112
192
112
112
150
192
178
159
121
192
200
176
247
194
135
123
172
208
112
228
121
226
112
230
199
167
194
115
164
171
152
123
177
121
210
137
208
174
194
181
172
115
232
112
232
156
115
130
294
203
179
208
194
187
130
208
161
164
112
181
112
150
147
150
175
112
121
156
220
160
195
150
112
297
163
171
218
112
195
167
112
208
212
224
210
144
112
210
172
253
171
167
121
112
137
187
268
236
211
240
164
194
167
208
112
150
178
156
167
112
150
186
165
167
165
178
194
112
212
186
124
203
170
195
240
177
193
160
167
164
164
136
189
150
210
208
172
226
123
186
263
112
150
246
171
203
172
236
205
160
192
121
150
121
167
171
168
135
164
186
171
196
150
206
147
112
208
112
123
121
147
207
137
171
112
158
121
112
157
203
112
167
216
158
194
183
194
170
195
121
186
201
195
235
150
233
164
150
168
171
237
150
167
194
162
172
150
112
208
195
228
112
278
135
172
150
150
164
172
193
194
237
121
124
170
233
112
194
250
201
112
208
150
239
237
145
208
208
255
192
112
167
172
115
170
112
121
175
203
121
112
112
236
194
208
171
150
208
240
171
121
275
177
208
236
231
130
217
115
184
112
237
237
150
150
255
121
135
179
210
274
112
203
226
176
222
150
150
112
165
121
264
208
203
228
171
124
150
150
168
112
228
172
203
112
208
184
170
255
192
143
137
165
115
195
218
150
123
208
150
112
121
112
121
112
167
150
167
193
228
208
195
137
176
136
203
179
172
208
241
150
219
150
208
150
165
150
112
177
130
190
121
193
176
167
112
112
208
150
219
172
167
201
172
123
137
276
208
193
171
197
220
172
121
160
224
236
172
199
226
112
194
121
255
208
136
232
171
158
219
181
150
233
208
121
194
150
124
172
143
233
195
203
176
167
272
150
193
208
128
135
123
189
167
215
167
137
171
112
112
121
112
123
167
219
112
167
143
158
167
170
181
172
167
220
208
208
237
115
218
186
225
112
123
165
121
172
186
172
224
203
210
121
137
164
165
130
172
121
274
229
192
167
150
193
150
167
170
150
150
150
112
121
147
112
208
228
217
165
212
203
196
193
121
184
150
112
123
136
124
112
112
167
164
208
150
241
171
194
201
235
112
201
150
203
215
112
240
112
191
181
112
225
195
136
150
193
204
232
215
171
177
172
159
212
164
121
136
203
193
263
187
195
135
207
150
195
159
121
203
174
228
123
208
121
112
168
150
150
121
112
272
115
123
121
208
115
150
181
205
172
112
194
208
137
192
136
123
136
150
212
250
208
150
193
172
150
172
164
223
235
275
250
228
194
195
192
136
231
168
150
112
156
147
208
112
112
150
121
202
208
112
208
239
179
204
178
281
121
217
182
171
186
123
112
170
176
176
208
263
181
172
147
171
163
161
112
235
128
230
170
228
150
240
246
167
167
232
112
121
112
186
150
136
194
130
150
250
170
207
150
208
150
152
193
112
170
176
173
207
112
112
123
170
172
208
121
156
150
121
150
112
179
177
194
205
177
265
152
210
202
181
121
255
171
112
112
231
150
194
232
121
200
150
181
159
207
167
194
156
201
112
205
213
156
210
195
112
181
135
225
121
183
226
128
205
167
167
150
230
260
195
175
121
210
121
200
187
253
167
121
201
172
179
236
112
189
247
121
112
208
112
184
218
150
150
228
181
170
165
224
115
112
228
190
226
208
136
228
112
265
195
167
112
150
121
241
150
201
170
174
176
161
207
165
171
136
176
121
208
162
187
171
202
146
175
172
136
257
231
204
137
123
208
212
123
167
171
208
150
220
121
170
190
176
168
177
193
176
167
236
112
167
263
202
179
131
214
193
171
176
112
213
220
250
258
130
167
210
112
181
194
216
147
194
216
171
230
121
208
172
181
112
147
147
193
240
181
194
228
167
121
223
172
167
177
121
172
192
237
130
195
171
259
230
288
201
208
172
208
262
167
186
121
124
168
139
201
150
152
209
235
121
165
168
229
135
232
186
121
171
205
121
150
121
112
182
150
150
136
172
228
188
121
228
197
195
171
195
218
112
225
156
136
165
194
225
195
208
147
123
130
208
112
136
342
219
194
137
115
181
217
161
112
208
123
170
112
208
160
172
192
159
202
112
150
228
208
172
208
150
167
121
257
203
121
193
172
172
170
179
210
121
192
112
128
144
250
165
229
170
137
228
150
202
172
130
259
124
150
236
258
135
168
112
150
186
158
205
167
167
237
272
167
203
112
232
218
231
176
167
121
203
240
228
170
166
121
220
171
170
150
123
167
112
150
172
112
202
228
239
164
260
150
208
172
136
202
194
193
190
135
206
135
210
203
170
121
229
177
179
150
225
215
121
112
195
150
171
121
154
112
208
176
172
237
197
123
169
250
121
201
274
186
112
159
233
150
165
263
150
150
150
167
112
171
150
165
150
302
124
112
135
121
160
121
170
176
172
208
130
150
150
218
181
172
237
112
219
172
225
193
112
231
121
150
147
250
123
172
115
215
170
208
158
208
112
202
218
172
167
173
186
226
147
121
150
194
121
112
165
130
172
194
135
215
160
263
250
181
121
194
156
263
189
121
137
168
194
179
164
124
121
208
189
124
205
172
135
167
171
181
150
208
172
208
167
208
112
192
112
210
168
150
170
115
208
121
171
231
233
171
202
202
167
150
202
121
150
159
162
187
206
186
112
216
115
157
192
186
150
123
194
136
241
150
175
123
238
150
121
167
194
193
170
276
168
121
112
211
170
165
156
167
208
135
171
168
167
171
112
112
208
172
194
159
194
172
176
171
112
176
208
171
123
172
158
150
195
172
209
172
112
237
205
194
157
150
219
150
213
263
121
172
175
201
121
165
167
219
115
123
170
172
165
150
186
172
165
150
176
194
194
208
171
184
112
112
208
150
181
186
150
112
172
203
207
135
150
203
167
150
195
150
235
150
220
167
170
121
208
112
112
150
193
181
167
176
156
124
115
184
232
135
112
115
112
178
165
208
192
208
187
112
181
174
123
115
165
182
256
150
212
112
208
121
184
258
187
150
172
184
190
121
176
236
137
112
168
143
159
136
150
209
121
121
171
112
182
150
112
220
281
112
150
136
150
243
181
179
121
112
172
160
160
171
150
198
203
156
208
150
240
112
181
236
121
174
112
174
192
135
150
136
150
112
224
167
220
112
121
150
167
150
227
121
150
172
170
150
150
130
150
194
137
181
121
136
168
193
156
150
121
172
121
218
171
165
194
177
150
112
181
237
170
170
217
171
196
176
208
124
136
208
186
207
218
147
150
158
115
112
172
167
194
121
164
233
121
135
112
137
184
181
186
299
193
171
112
112
167
176
164
208
192
210
181
210
250
276
208
189
121
171
174
136
172
112
165
186
168
208
112
158
203
152
167
147
177
150
112
112
150
231
194
242
172
167
135
112
208
123
195
210
176
208
225
156
231
276
165
278
137
121
214
255
171
257
240
164
115
167
137
208
159
150
150
209
121
112
112
150
187
171
216
121
121
112
150
288
123
175
123
112
231
152
200
150
171
187
156
150
150
250
258
150
192
168
210
136
167
237
194
150
171
150
170
239
152
197
121
172
160
156
145
168
212
194
208
167
147
208
177
170
112
176
112
168
276
121
150
237
276
150
178
150
231
165
188
112
189
212
137
201
150
171
157
212
163
181
243
165
228
177
171
231
167
276
123
201
150
193
202
172
210
263
168
158
208
207
186
123
201
181
150
175
235
225
158
124
210
160
254
210
210
112
205
156
227
172
208
207
139
164
175
164
172
208
202
123
172
112
112
183
170
150
172
124
121
150
182
208
112
194
175
208
167
158
159
150
121
136
112
150
198
137
201
217
121
136
220
194
112
115
208
150
194
255
128
112
123
112
128
121
194
121
243
187
112
135
253
150
276
160
217
202
237
181
112
238
181
205
237
213
255
215
158
123
237
239
226
123
167
112
226
150
217
208
137
176
121
112
150
208
168
236
121
124
171
219
112
172
194
150
121
187
147
208
171
222
208
164
172
143
121
121
263
186
224
147
216
167
302
112
208
181
203
150
176
167
112
229
186
186
147
176
115
150
208
205
216
150
208
170
171
172
226
115
217
228
207
203
150
177
121
112
217
176
172
202
137
130
184
128
136
137
152
209
150
207
172
112
187
123
150
123
276
112
150
112
147
136
220
150
172
150
150
130
121
160
193
172
203
172
159
193
213
208
112
208
164
255
196
150
150
112
135
186
137
229
159
170
171
212
177
201
121
218
170
167
172
220
245
181
172
171
187
181
112
167
207
121
194
171
255
167
112
231
150
176
255
112
212
156
228
115
167
170
181
112
150
187
194
192
194
150
177
187
112
147
216
171
192
137
167
115
237
123
112
144
112
164
174
207
150
123
150
171
165
172
231
208
150
208
193
171
210
121
112
176
112
203
181
121
226
263
112
150
153
194
212
177
137
156
121
164
291
121
160
176
160
172
164
208
181
172
172
167
137
195
171
172
150
112
115
121
276
172
112
164
187
112
121
123
239
150
170
201
210
228
112
156
187
112
193
186
249
170
115
208
123
206
181
150
150
192
172
150
121
112
150
172
121
136
124
194
234
150
229
147
171
193
212
192
150
171
121
177
212
237
196
205
225
193
121
198
171
112
112
112
121
157
177
135
181
172
208
176
150
150
193
204
150
218
217
123
167
165
112
150
205
181
179
112
237
211
112
152
121
150
233
194
176
196
136
212
112
297
160
172
208
255
112
227
208
112
171
227
121
150
208
187
208
176
272
170
195
167
121
250
227
150
112
187
172
147
150
229
201
123
135
167
231
158
237
218
150
150
150
168
121
150
170
208
121
171
165
123
170
186
186
115
147
150
242
209
230
170
167
152
172
123
208
231
208
170
208
243
121
208
150
208
172
112
137
229
172
215
168
174
165
121
230
150
179
176
121
194
205
181
202
199
164
224
246
137
281
187
171
168
121
181
179
194
172
123
112
165
144
164
121
171
135
190
177
163
112
172
150
168
192
228
177
150
186
168
210
250
225
123
150
123
193
150
187
150
121
150
208
172
150
195
167
112
172
206
123
150
196
181
172
112
150
165
206
208
150
170
150
143
232
152
165
208
241
121
137
233
156
204
193
202
167
121
155
233
176
135
172
171
121
235
112
150
172
121
186
150
195
178
250
112
195
121
170
135
150
178
197
181
121
112
147
208
208
123
135
202
208
215
228
121
112
164
177
165
203
225
204
218
112
150
171
124
150
181
123
135
222
150
232
192
130
112
194
171
150
219
121
171
112
150
165
172
121
178
123
208
171
112
167
150
150
121
172
150
150
177
121
179
158
170
186
152
171
150
136
170
112
167
260
201
205
195
234
150
121
167
168
208
137
150
237
194
176
165
170
231
112
137
115
208
144
112
112
218
215
123
226
208
143
210
112
177
150
146
150
186
208
147
136
225
214
121
112
167
171
239
299
123
216
135
239
115
121
193
121
147
171
187
172
158
170
194
229
179
176
165
170
210
112
217
121
193
189
150
167
212
179
123
165
195
202
112
137
121
144
121
121
177
150
175
150
160
171
121
202
150
207
167
203
115
150
208
237
121
273
150
150
170
171
150
194
237
172
250
177
150
189
176
225
186
203
272
150
210
145
143
181
187
202
143
195
135
112
192
258
172
115
208
186
186
159
112
115
208
229
150
123
136
150
186
112
193
121
202
165
272
121
178
159
121
228
158
231
192
165
220
203
158
112
268
150
112
150
179
121
150
136
195
205
112
123
205
203
210
206
237
263
194
158
121
228
165
208
186
236
150
150
172
167
121
150
112
250
172
170
195
121
176
121
210
121
187
171
150
112
176
250
257
112
211
150
143
137
201
264
112
201
187
209
212
150
208
208
136
121
167
232
170
228
167
150
167
186
167
172
164
124
121
150
211
112
212
202
150
172
181
236
150
112
137
150
184
201
121
191
136
202
242
172
202
208
137
156
176
233
112
128
172
121
209
150
165
186
167
136
208
112
194
219
112
123
168
136
128
124
164
232
167
219
124
135
195
150
172
186
228
150
176
150
150
195
179
186
136
168
176
184
217
168
226
202
228
121
172
124
168
112
136
238
121
172
176
150
276
112
124
115
121
171
158
112
156
225
144
170
171
150
208
172
302
201
147
112
150
112
121
150
194
237
121
194
219
208
172
112
189
171
123
192
204
150
176
165
112
211
147
150
171
150
164
157
160
136
168
165
174
150
208
181
210
203
212
171
233
201
121
175
215
212
121
121
164
223
167
112
167
170
167
150
184
167
147
225
205
220
121
201
181
157
150
195
150
174
181
112
208
150
209
186
139
150
112
137
112
189
167
174
172
139
187
150
150
208
189
220
150
181
136
167
219
124
181
135
163
121
242
112
144
123
112
241
150
175
112
165
112
194
208
121
172
263
170
172
201
112
130
212
208
228
150
174
186
112
220
112
217
174
150
112
172
160
192
121
228
237
173
195
158
170
112
167
167
150
253
112
121
112
121
170
172
212
150
220
172
219
150
231
164
135
172
193
164
121
112
170
193
112
136
210
192
218
196
174
112
167
174
229
171
210
201
167
233
172
186
305
175
194
196
186
170
217
112
195
112
204
150
228
208
220
208
205
130
255
123
150
170
234
112
211
177
195
150
220
150
167
158
171
150
218
150
278
150
121
150
208
237
196
121
123
150
112
167
181
150
212
150
150
167
181
143
297
277
223
115
150
176
255
137
244
150
112
121
150
195
176
201
121
128
195
170
208
170
208
147
172
186
121
187
237
135
214
165
202
132
187
165
128
208
121
150
213
150
121
233
187
172
167
150
170
217
170
167
236
150
150
199
228
136
112
135
170
135
150
181
195
150
174
223
217
229
208
150
201
208
139
137
200
123
168
150
212
150
112
171
150
135
194
186
219
193
228
112
172
195
297
123
231
234
202
219
266
186
150
275
150
195
164
150
121
133
132
150
150
172
130
177
115
274
186
204
121
178
152
168
123
179
208
202
219
150
174
171
121
112
195
147
150
160
231
291
187
150
156
202
112
181
210
143
217
121
121
201
238
137
208
121
210
112
253
112
143
167
176
215
197
272
167
217
172
150
128
158
123
112
172
152
152
121
159
208
208
302
178
150
195
203
150
217
194
187
121
167
168
112
184
159
112
121
177
175
240
112
210
171
208
150
238
302
156
172
208
112
112
209
112
240
186
170
239
231
150
212
222
123
186
202
124
150
136
181
194
173
121
215
173
150
121
176
208
236
172
220
159
121
192
187
228
186
219
173
171
115
213
139
112
150
167
208
170
199
208
121
170
167
136
156
194
208
202
172
213
130
214
139
186
203
202
171
136
234
181
112
150
150
181
260
224
175
207
170
176
158
172
174
164
208
112
203
160
226
189
112
121
172
172
205
121
228
167
176
195
236
164
123
170
112
150
164
176
195
171
206
219
214
208
181
172
112
124
206
201
194
150
112
201
237
121
272
150
172
195
112
136
187
123
150
170
242
112
150
187
211
187
194
121
112
208
208
205
112
198
150
150
124
150
242
121
208
112
172
130
245
112
121
194
112
130
172
121
112
194
150
194
112
171
168
161
193
150
228
229
181
112
165
160
167
123
241
171
150
205
195
150
258
194
150
207
235
239
150
219
115
226
208
160
150
167
181
171
228
184
167
112
218
136
173
243
199
167
192
121
158
150
217
232
206
150
182
150
150
150
184
195
150
210
150
150
157
203
167
121
167
212
172
135
150
123
150
112
170
208
241
112
183
112
112
121
208
171
192
231
121
170
219
123
150
112
182
150
186
170
228
136
150
167
137
112
121
193
123
165
150
112
172
171
239
171
250
176
150
150
231
123
150
172
170
174
176
203
239
150
167
112
171
196
123
202
150
115
165
167
171
167
150
167
170
112
112
150
112
115
159
121
150
150
163
150
135
171
170
217
229
171
112
162
193
164
210
186
112
201
217
150
292
150
224
192
239
150
177
208
170
167
112
208
123
255
212
160
212
186
178
147
150
264
115
165
237
204
121
193
167
228
123
212
112
265
192
239
112
172
176
195
156
158
112
121
203
121
176
227
233
172
144
112
147
237
200
203
215
167
165
206
167
203
170
237
208
150
196
195
172
173
186
172
167
121
112
233
244
170
121
171
208
112
124
193
171
167
184
150
136
207
123
172
232
112
194
170
172
152
150
112
137
112
208
150
172
112
225
208
210
150
177
150
112
237
231
208
121
176
147
150
121
181
137
164
112
241
112
169
229
165
194
150
150
112
203
195
186
121
112
158
215
220
196
112
176
203
123
112
158
160
220
172
208
150
228
123
177
205
187
150
220
189
186
150
194
264
194
121
187
178
258
208
208
112
150
164
135
172
210
137
172
112
150
137
150
208
112
165
220
177
228
189
123
176
209
219
112
229
112
112
141
208
212
226
234
250
165
121
181
208
171
220
185
150
115
203
136
186
202
115
216
177
150
158
228
130
121
202
171
150
186
224
195
302
153
225
162
208
158
225
136
207
227
124
237
189
150
112
137
172
143
208
123
172
158
121
150
254
218
167
165
228
193
112
123
112
112
136
186
150
201
137
214
217
186
112
112
208
193
112
112
167
186
167
275
150
150
181
150
130
150
123
192
218
208
190
150
242
121
181
147
121
112
201
217
124
152
165
112
115
167
167
198
302
143
203
172
212
123
208
144
205
172
112
156
215
194
121
121
150
164
176
112
172
219
150
207
150
150
171
150
160
227
159
112
121
136
135
150
235
165
165
115
181
220
121
121
121
163
150
218
208
112
112
173
201
194
128
186
112
194
181
150
121
230
192
137
158
231
121
123
112
203
112
150
208
208
167
210
202
112
184
177
130
184
172
158
112
170
137
171
121
165
156
150
137
202
177
171
167
121
215
240
121
143
150
123
197
218
150
112
232
210
181
194
184
208
112
201
181
193
193
121
170
195
121
150
202
208
193
187
239
150
192
150
167
145
226
219
121
121
250
137
112
167
193
172
168
237
150
158
170
147
219
168
112
172
136
198
225
147
112
137
112
112
115
207
150
135
170
176
167
158
112
195
121
160
112
121
172
186
192
255
214
196
112
121
177
150
150
128
186
208
201
192
123
136
137
150
150
121
208
233
170
156
247
112
152
121
123
130
167
172
143
135
189
167
236
172
176
144
121
203
167
208
170
123
150
150
170
150
203
194
121
187
135
210
193
168
165
193
186
158
112
167
229
212
179
228
123
186
165
208
245
172
124
112
265
171
181
112
115
112
170
241
171
150
165
208
165
186
189
297
145
112
169
150
186
217
172
240
174
112
170
208
203
194
170
167
208
194
172
150
150
167
128
121
195
164
237
172
144
159
203
186
150
115
227
182
121
171
208
255
278
201
121
112
121
150
186
172
167
167
112
229
112
208
156
225
121
150
204
112
176
212
150
217
247
172
135
144
194
186
112
211
167
112
150
123
208
235
135
208
194
210
190
172
112
150
208
112
121
172
177
121
150
187
206
202
121
170
212
237
193
235
137
170
130
220
203
228
201
150
170
150
165
135
227
208
112
202
172
257
112
124
176
228
112
167
112
202
150
228
208
157
176
219
172
189
210
167
225
182
167
156
228
172
226
210
278
193
150
167
135
112
170
123
121
163
167
135
193
178
171
208
194
153
218
208
121
150
152
168
228
195
220
150
187
165
211
208
150
189
158
121
208
208
167
263
121
175
172
112
210
175
214
167
152
172
115
167
136
137
231
167
174
121
176
123
165
177
208
150
257
164
136
123
181
170
195
192
167
181
112
208
187
208
160
174
165
181
170
229
165
221
170
208
160
150
121
192
158
186
184
171
150
167
195
181
225
150
228
165
224
112
146
121
143
174
232
112
176
239
192
179
150
172
193
123
217
150
208
236
212
121
208
165
236
184
297
208
215
143
186
225
241
209
228
208
150
174
143
112
112
150
165
150
115
177
203
173
150
192
123
121
112
176
112
172
171
167
250
112
187
123
202
176
210
213
150
219
121
205
112
167
165
136
121
165
175
112
172
195
150
121
176
171
210
191
216
123
112
136
230
170
238
160
226
112
176
202
216
229
239
233
186
197
121
150
112
228
130
171
227
167
202
186
237
159
123
150
112
112
123
193
121
171
225
218
208
150
220
121
181
231
181
171
208
187
207
112
195
232
121
150
152
195
186
194
150
115
112
208
177
177
193
150
164
121
170
212
172
121
158
162
224
112
121
176
201
121
150
168
225
121
170
193
194
195
208
123
165
112
164
112
150
220
150
231
178
156
193
241
174
219
181
130
254
201
171
190
208
121
150
205
192
123
207
181
135
121
170
239
215
172
208
112
240
150
123
170
263
193
261
150
130
185
150
112
147
176
115
189
210
167
112
176
208
150
170
194
208
121
171
123
112
160
167
216
137
121
226
208
226
165
121
208
123
135
150
112
121
150
123
130
205
147
218
115
136
136
232
235
202
167
275
181
225
214
112
121
176
159
170
226
112
150
124
202
208
208
153
112
203
112
210
187
194
115
168
223
176
194
170
207
112
121
176
230
220
210
194
121
165
186
189
201
150
112
112
172
124
121
192
257
112
150
135
150
171
150
150
214
175
187
121
172
159
150
150
211
181
150
121
195
229
121
112
150
219
128
167
150
123
167
171
112
172
170
302
172
276
188
112
123
152
167
205
112
150
227
150
121
115
121
192
167
177
274
165
147
150
172
150
112
251
160
201
235
236
235
212
172
134
112
195
207
211
205
170
112
150
167
171
136
152
263
205
164
209
184
150
186
217
128
135
165
189
121
150
214
278
255
150
240
208
167
112
137
254
171
170
136
172
194
172
112
121
139
215
170
172
210
176
162
156
208
112
234
233
121
112
168
150
194
172
143
150
243
175
121
115
170
121
220
221
156
162
172
150
112
147
112
255
168
181
150
219
208
112
171
121
236
112
193
181
135
279
177
219
130
172
158
150
168
150
208
192
168
215
121
135
170
208
172
130
112
205
171
147
201
243
186
150
150
179
187
184
232
121
243
208
167
208
112
208
206
237
208
250
121
164
176
195
226
121
249
186
199
263
115
115
192
239
201
147
171
171
194
223
208
165
165
121
172
181
150
278
150
170
218
208
112
121
167
112
137
176
115
231
171
112
167
194
223
247
167
193
210
220
123
171
210
121
212
194
208
187
208
238
112
241
305
224
112
176
147
263
121
150
170
170
167
237
112
172
231
207
190
174
121
163
274
186
208
208
171
158
177
115
167
121
152
187
203
112
167
250
194
205
123
167
192
194
228
217
157
167
150
263
170
205
208
214
112
192
278
184
112
194
137
181
183
208
263
131
167
121
121
143
245
150
166
121
121
181
131
208
168
147
167
158
112
190
165
112
150
121
184
167
121
150
147
167
150
184
192
229
201
121
150
202
131
170
159
112
196
143
167
150
172
167
112
171
172
202
177
176
213
112
171
137
302
121
208
112
112
172
172
168
123
215
194
130
208
168
150
177
194
194
175
241
202
115
170
165
194
182
121
201
186
135
172
210
150
210
228
201
167
170
147
150
123
194
123
121
194
181
181
202
272
147
167
176
286
172
172
201
202
135
250
150
150
112
158
276
137
186
123
170
147
219
156
217
165
146
191
150
194
239
136
179
147
172
121
167
200
165
136
135
226
187
147
112
186
150
123
123
147
167
121
150
167
190
203
130
202
150
150
193
150
128
186
159
161
171
226
214
121
193
168
212
146
121
192
170
172
150
284
172
150
219
143
243
202
170
194
247
137
228
128
150
170
150
225
219
152
121
236
200
150
121
123
242
235
195
196
163
177
170
135
137
208
150
112
193
203
214
239
123
171
190
124
121
270
228
227
171
174
258
203
246
170
195
226
150
276
207
147
238
239
172
171
135
123
171
150
150
201
208
205
172
203
157
136
187
167
195
165
178
171
121
165
187
181
112
171
150
265
156
121
170
211
224
203
174
208
150
112
115
205
150
250
164
172
205
174
135
172
214
112
186
228
172
112
167
128
176
150
275
178
172
172
212
203
112
168
123
220
170
208
194
179
152
173
232
146
228
172
194
121
143
150
242
170
150
208
121
172
135
135
124
121
217
159
175
174
245
205
186
164
150
227
235
112
167
208
208
150
193
150
182
194
194
176
150
192
112
193
150
112
227
167
147
123
173
123
112
112
150
167
191
237
150
225
194
167
171
150
156
135
208
237
171
172
186
237
147
228
172
183
150
177
121
181
123
172
165
171
201
150
187
217
207
237
186
121
187
150
225
150
212
170
207
112
167
208
135
165
177
150
181
167
172
186
123
205
176
255
182
217
260
208
194
121
210
130
147
150
172
249
183
170
112
263
176
174
243
189
181
112
184
150
208
150
237
172
186
229
237
276
239
253
121
157
237
150
172
242
174
232
150
218
164
150
177
224
172
158
265
112
233
217
205
164
193
121
170
215
185
112
174
172
150
121
202
185
208
147
136
229
172
194
172
228
246
170
130
150
208
196
112
226
167
121
165
135
150
231
150
276
165
170
219
193
150
263
168
162
181
176
208
176
123
181
187
208
150
186
176
212
237
150
193
150
121
208
190
302
150
137
275
279
174
164
202
121
192
175
150
208
238
121
160
115
121
181
167
158
150
121
239
174
112
121
171
121
208
250
121
195
208
239
167
150
181
112
210
150
181
112
239
121
172
172
172
159
217
204
147
170
135
165
186
281
121
121
123
193
161
202
171
302
167
112
150
121
208
186
150
150
112
237
186
121
170
136
123
176
181
165
121
205
150
231
195
150
241
170
226
123
115
135
167
158
265
165
215
112
208
150
218
208
121
172
172
156
121
150
194
167
167
167
115
112
167
156
150
205
206
256
191
177
167
121
121
150
175
137
279
112
204
167
167
121
150
124
241
194
164
170
150
302
205
164
202
121
302
210
175
123
121
170
158
212
226
112
219
172
186
167
112
195
231
210
121
150
150
170
209
203
150
181
239
135
121
170
172
174
231
160
186
195
172
229
181
141
231
130
228
239
150
147
124
112
186
167
123
217
115
167
236
123
112
181
141
217
164
128
150
150
162
167
194
165
201
150
121
121
170
171
171
230
204
150
150
121
201
181
204
172
228
228
278
150
171
204
123
135
174
250
112
206
167
211
203
167
150
187
152
207
349
274
121
171
203
150
164
203
171
156
121
112
212
150
159
186
186
171
182
121
150
203
150
219
112
115
112
208
150
121
168
147
150
177
115
250
171
123
150
186
172
112
150
193
177
160
112
121
229
150
112
121
146
222
159
115
167
143
176
130
112
226
112
158
246
164
121
167
228
171
172
112
112
172
186
170
121
181
150
160
121
174
231
181
130
172
112
150
131
241
223
235
121
208
150
112
213
172
208
192
174
199
121
194
228
158
192
160
208
164
123
147
218
121
150
171
240
152
136
187
129
150
189
193
147
281
168
226
112
195
156
121
181
150
167
150
250
208
181
233
178
228
158
150
212
150
130
203
228
121
170
170
171
160
232
150
237
150
164
150
158
112
236
219
176
156
170
187
150
121
171
150
186
202
158
208
192
123
164
112
212
158
159
172
240
172
112
194
187
226
160
204
210
121
171
181
137
121
123
150
176
150
201
121
205
156
165
115
181
210
194
121
137
212
150
174
112
175
112
121
159
194
170
243
121
131
121
112
165
121
150
112
170
195
165
121
150
112
208
228
193
112
112
123
231
243
170
112
131
161
241
115
164
210
136
212
158
171
150
164
246
121
181
150
202
176
153
124
201
257
135
176
208
172
164
186
115
131
156
202
112
174
288
157
121
168
159
112
172
194
159
121
210
159
186
121
225
299
175
187
135
208
172
170
250
205
264
121
150
137
134
137
239
121
192
194
160
205
208
176
158
208
167
177
208
170
167
187
171
212
112
150
176
207
256
123
194
147
137
186
112
121
171
194
150
240
215
281
203
150
202
121
237
212
174
237
182
205
197
194
121
239
121
275
208
219
208
147
121
194
121
112
130
112
121
165
177
112
112
192
123
199
237
181
150
174
121
131
203
168
165
185
121
205
240
187
261
115
150
167
112
201
186
281
202
196
224
171
150
170
192
189
112
172
121
172
150
143
150
168
186
112
240
302
149
172
208
165
229
150
176
228
172
276
179
123
147
174
256
171
209
121
150
121
123
170
170
176
173
181
124
150
171
121
235
135
208
172
217
172
171
201
150
160
141
171
190
172
228
112
112
176
242
170
253
192
136
185
121
233
209
121
273
112
213
171
195
208
194
147
209
190
167
279
112
208
231
171
179
199
192
168
166
207
112
164
160
152
177
170
228
135
203
112
131
193
177
112
253
194
260
195
112
172
121
208
205
123
158
215
220
147
172
228
181
172
187
250
171
150
121
236
146
165
137
176
212
186
123
112
150
254
211
121
194
194
172
121
121
136
112
121
208
121
167
202
167
112
291
150
130
115
208
167
176
179
112
167
181
135
167
237
135
172
181
121
112
112
123
167
143
131
121
176
194
121
201
150
160
123
172
228
233
263
176
150
208
170
123
170
121
203
150
237
135
112
192
224
239
150
150
112
228
208
209
121
218
176
176
167
215
150
208
181
172
172
150
210
167
176
219
158
232
193
219
112
177
210
158
150
112
157
187
171
165
172
167
200
218
208
165
216
284
172
207
150
150
260
210
186
112
196
121
171
123
164
231
164
123
210
137
239
156
150
258
250
170
112
172
193
152
161
121
156
160
121
112
112
223
137
218
121
159
123
130
150
150
208
237
112
157
115
238
167
115
121
167
150
210
208
228
112
175
136
121
228
132
208
225
165
203
172
263
231
143
160
160
150
144
212
121
150
179
128
115
194
218
112
208
174
176
150
137
147
167
112
137
209
130
208
112
115
112
186
165
112
121
121
137
171
124
137
170
147
124
208
167
150
194
150
150
170
195
217
167
176
121
123
112
150
150
170
170
181
278
112
170
203
112
172
115
174
121
115
263
165
181
165
181
224
123
112
226
210
150
195
124
232
228
152
220
177
228
150
172
274
172
208
170
210
150
184
150
112
219
193
150
124
123
208
255
201
112
192
143
258
171
150
186
112
150
167
187
150
228
112
195
176
115
121
135
172
168
112
115
208
150
143
240
121
181
112
150
150
124
177
167
121
170
150
232
194
167
150
201
263
167
123
164
150
172
158
243
164
121
150
135
158
150
187
121
220
208
150
150
160
227
186
172
172
187
135
208
171
123
115
201
170
121
194
123
171
208
216
160
150
208
226
171
252
150
191
250
150
124
170
165
112
158
194
167
135
201
112
231
112
167
167
115
240
157
201
177
181
217
112
174
112
255
164
228
257
171
208
121
208
238
150
158
171
137
194
187
150
193
147
181
121
208
123
212
218
208
167
112
186
179
203
186
165
168
112
193
112
243
210
177
253
135
172
239
229
231
217
112
165
130
159
214
208
181
213
170
212
150
181
208
115
174
170
150
150
136
202
112
237
223
220
150
208
150
150
208
240
130
218
239
202
178
206
220
167
275
150
143
150
121
170
223
195
170
239
174
147
144
159
218
172
167
135
194
152
112
112
172
208
202
203
173
176
165
150
170
150
279
112
112
208
112
171
170
208
112
225
220
175
150
177
165
232
158
172
177
208
208
172
233
208
184
167
112
202
181
112
181
208
112
167
121
147
193
255
181
150
226
112
112
202
208
216
220
202
143
223
233
194
208
249
195
130
187
147
170
123
172
135
167
112
147
192
150
172
162
121
112
150
181
195
235
181
158
159
194
112
178
112
150
212
171
150
182
237
115
177
112
165
215
232
150
112
210
167
171
172
176
228
167
172
167
167
170
168
112
150
170
172
167
150
112
198
174
229
121
210
176
179
150
177
150
124
150
112
171
135
201
176
167
128
112
236
112
167
172
172
123
234
170
150
150
172
172
237
237
168
167
150
150
121
209
135
171
170
135
130
208
170
177
237
194
189
226
176
136
121
167
112
170
154
172
181
167
159
172
174
121
202
232
203
121
195
181
143
242
143
170
181
167
165
159
112
150
112
192
150
210
217
210
112
201
211
112
137
205
207
135
150
176
115
194
256
255
239
121
115
194
171
196
302
186
175
115
172
150
150
237
187
135
172
207
194
228
181
182
144
204
216
121
160
208
203
176
186
192
115
150
123
181
277
181
153
167
112
176
201
240
112
228
165
121
194
112
112
167
121
171
170
150
203
143
228
249
112
112
121
263
143
121
208
170
112
225
194
178
177
170
194
167
206
202
240
264
170
170
231
187
205
176
150
150
115
121
112
112
263
270
150
196
175
135
150
177
205
176
195
208
171
135
172
112
167
195
131
203
171
172
137
150
193
240
208
130
181
180
112
195
228
208
215
123
112
121
208
170
123
112
121
186
208
186
167
150
181
112
112
123
150
198
150
150
150
213
150
181
121
234
150
201
167
165
121
250
112
231
150
198
167
164
136
230
186
160
112
172
176
150
172
121
176
176
201
150
179
194
229
150
174
121
158
115
150
228
245
208
112
121
170
168
220
121
172
236
208
123
112
157
220
112
178
150
123
150
112
278
182
159
193
171
152
263
170
239
236
158
210
159
121
150
123
136
150
181
150
121
165
165
187
156
208
208
208
112
215
112
150
130
171
238
150
170
137
172
177
112
150
121
207
121
181
112
208
226
205
235
192
176
216
123
121
194
251
124
124
221
205
112
112
121
121
112
195
150
167
175
165
237
121
225
176
121
121
112
177
176
170
152
147
210
121
178
194
194
121
135
112
160
172
200
123
263
165
190
174
121
164
170
156
186
167
240
194
147
187
208
208
168
121
135
165
192
204
186
172
112
297
112
150
201
216
202
170
172
165
112
112
112
208
150
208
121
193
121
112
237
172
150
165
205
171
144
121
203
210
176
150
167
150
136
234
121
208
165
159
193
165
121
172
211
187
208
233
112
167
237
219
176
225
228
112
150
150
178
130
121
124
171
159
137
201
225
220
112
121
150
212
112
112
112
160
208
218
150
136
164
121
225
207
195
226
210
193
150
171
112
150
150
112
170
112
210
259
219
202
171
193
230
112
156
186
250
204
167
112
195
112
112
167
112
170
150
208
136
208
150
121
170
135
194
112
137
177
121
150
130
121
208
112
150
195
202
187
167
112
170
121
150
176
150
239
237
186
208
208
228
195
171
150
167
191
112
175
208
150
150
255
194
112
255
150
165
150
208
171
208
172
202
112
121
112
150
159
167
150
115
175
161
170
112
193
165
167
237
228
228
150
112
218
123
208
170
150
230
136
194
302
176
123
128
172
209
216
164
123
172
112
124
208
112
231
150
171
216
263
112
223
112
239
167
121
112
170
121
207
137
172
201
208
212
228
191
199
167
212
180
195
167
168
208
177
123
139
257
150
115
226
231
195
265
112
167
210
147
215
172
165
232
172
165
255
195
156
184
121
212
171
121
150
150
168
177
165
139
208
135
194
182
150
121
159
178
194
194
187
150
112
137
242
202
170
172
165
220
194
112
172
121
181
112
226
112
194
112
171
123
159
209
150
115
172
208
260
172
112
302
123
167
164
208
147
112
159
208
203
150
150
186
194
237
121
174
176
229
167
123
150
150
225
208
121
150
176
165
181
136
150
150
136
150
121
194
260
174
150
225
160
208
121
177
175
112
194
186
220
112
194
150
203
183
260
174
171
124
189
237
168
177
121
150
136
208
123
179
225
121
186
214
115
208
165
121
162
123
158
207
170
172
165
226
167
121
178
177
121
171
168
342
123
121
208
112
150
204
112
200
240
219
112
112
112
172
190
219
253
167
201
124
112
121
170
121
208
136
112
150
201
160
157
210
228
237
208
228
121
167
210
212
181
210
128
150
160
147
176
176
193
147
195
212
225
159
112
223
147
208
136
198
172
121
212
171
235
208
121
159
112
112
121
135
259
123
226
124
112
165
150
257
208
112
172
150
150
121
215
194
135
176
172
208
130
172
150
257
202
215
165
168
112
226
121
193
170
167
193
174
121
299
121
175
194
150
201
208
210
179
135
152
150
203
172
136
201
150
208
174
157
177
157
150
158
181
121
150
121
256
115
212
112
176
112
281
229
156
171
172
112
171
174
112
181
135
150
171
202
204
150
181
121
167
192
150
167
170
194
263
165
150
231
175
211
112
121
170
112
165
172
159
255
240
170
112
187
195
179
150
115
263
150
205
237
176
172
167
208
194
121
208
193
255
170
152
210
250
302
121
171
124
187
167
112
172
160
279
195
115
255
187
121
231
263
170
112
247
121
219
210
202
184
150
274
235
124
194
264
203
172
177
128
121
194
170
150
193
263
208
177
213
150
150
239
150
150
234
250
208
194
123
171
195
239
172
150
139
217
208
112
112
121
165
164
208
178
150
219
150
217
156
170
135
167
121
164
121
165
160
195
123
226
193
241
172
255
165
136
143
112
177
121
170
207
229
121
217
171
205
208
172
150
143
168
190
167
112
189
121
176
201
147
194
121
147
203
186
123
121
208
135
165
150
171
150
112
150
146
208
115
150
170
171
167
195
212
158
160
194
150
121
232
131
201
182
187
205
121
204
228
238
208
167
236
112
172
144
208
208
226
172
193
121
165
150
172
112
260
150
124
176
236
172
170
233
212
246
121
177
174
194
258
171
186
240
228
187
220
172
219
216
112
189
121
192
193
170
172
147
177
123
216
150
167
150
164
112
150
112
223
177
112
225
171
195
208
147
121
181
112
123
123
161
150
245
210
167
208
194
202
170
208
207
112
165
208
135
150
112
115
215
227
171
207
234
216
223
121
150
193
165
250
147
205
123
238
186
194
170
201
176
195
172
226
123
210
208
150
150
208
121
150
209
112
272
121
150
208
115
112
193
264
201
193
209
234
176
143
150
228
167
172
112
195
124
210
212
170
279
202
237
165
185
208
150
223
147
233
171
228
150
210
150
176
121
208
198
121
150
172
150
233
255
177
150
171
208
121
167
226
115
112
234
150
210
121
193
174
207
186
234
167
214
165
112
200
231
186
194
123
183
137
170
208
214
171
186
188
121
192
235
170
194
187
208
171
172
121
232
208
237
167
121
112
228
196
121
165
203
167
235
150
195
165
112
112
176
112
150
240
112
121
136
152
194
123
194
228
195
150
176
121
150
220
112
210
172
121
159
172
235
121
123
172
219
121
135
150
150
170
137
150
176
263
136
112
208
208
219
144
124
115
167
135
112
123
230
179
158
167
170
172
130
210
172
134
128
252
229
160
226
208
172
172
112
150
202
203
170
176
208
159
167
172
172
150
176
244
150
160
150
112
150
121
150
181
121
115
121
167
156
123
203
112
130
184
150
112
207
150
187
135
166
208
194
121
121
192
226
208
150
228
172
175
172
167
171
175
170
164
150
172
208
170
150
167
150
155
170
232
240
160
150
178
218
167
121
150
150
150
289
216
208
112
162
150
150
112
112
225
170
112
220
112
137
167
219
150
181
150
121
200
167
150
172
112
237
269
201
203
158
242
121
124
147
128
207
195
186
150
112
150
121
231
227
240
195
150
205
165
150
112
248
171
210
208
208
167
210
136
121
240
136
170
121
172
217
150
181
167
112
237
196
158
208
112
215
181
179
167
256
150
170
123
112
150
182
226
186
237
249
201
193
150
112
164
167
121
150
278
157
193
167
235
135
228
159
202
172
181
196
202
205
115
135
228
194
164
230
226
167
172
150
194
210
150
150
150
123
171
171
202
186
150
150
174
150
208
181
305
158
240
208
179
123
150
112
172
220
147
192
167
167
112
158
205
208
135
171
187
232
208
219
150
165
121
187
112
167
150
177
195
208
205
124
208
181
170
124
215
150
150
112
171
192
172
147
150
172
208
193
165
112
216
186
150
254
112
150
267
112
150
187
181
195
112
150
150
195
150
214
181
150
158
112
182
208
236
112
210
201
121
170
135
150
121
112
175
210
187
203
135
208
202
208
156
218
192
136
150
229
208
165
181
160
150
250
212
147
263
165
156
150
194
150
112
204
184
171
123
160
172
210
190
202
167
152
213
143
193
157
258
240
201
174
176
150
123
260
168
208
165
205
172
197
167
187
150
121
136
231
208
195
204
115
208
150
150
121
195
239
171
150
165
172
121
196
233
137
212
121
136
112
174
167
194
212
212
121
112
161
112
176
170
112
157
210
150
167
204
121
250
123
123
282
121
214
115
220
172
115
208
170
208
218
187
152
171
192
238
123
124
112
208
219
150
219
121
143
156
112
112
160
135
152
150
239
206
121
192
135
195
128
260
186
229
121
212
150
121
167
152
172
208
150
193
176
112
156
171
219
112
115
150
172
121
240
205
241
187
164
123
231
192
172
136
123
224
208
150
112
228
218
167
219
112
176
218
172
150
121
299
218
192
167
178
219
150
121
255
215
194
179
302
240
130
208
121
150
112
162
121
195
121
150
170
150
121
147
121
210
170
150
202
208
171
147
203
121
208
176
171
194
201
171
175
228
194
159
210
150
176
112
112
231
136
121
162
249
217
150
176
232
115
112
112
193
208
147
171
195
215
121
128
241
150
171
131
128
194
228
150
187
123
159
121
167
210
213
178
195
150
208
150
112
112
238
123
158
207
218
219
176
228
137
150
184
167
121
231
187
150
212
160
196
208
216
170
176
176
123
150
276
302
150
170
229
123
112
135
121
150
121
150
112
175
167
150
150
207
208
176
193
234
218
112
112
215
172
123
160
177
150
201
237
203
204
150
177
185
112
207
157
208
265
112
174
112
165
174
135
121
147
121
164
197
228
135
194
216
121
150
193
121
150
212
170
172
121
172
112
174
150
112
112
123
173
159
178
112
121
167
210
195
150
235
219
279
167
177
121
196
229
165
228
112
175
180
212
192
150
167
241
208
150
207
112
136
174
121
112
121
135
164
112
182
207
208
112
112
207
168
165
270
228
112
158
208
242
195
186
219
112
150
228
150
225
237
147
278
150
137
208
259
278
172
167
112
112
135
208
195
112
150
170
205
174
212
237
208
146
112
159
121
112
208
202
112
187
150
208
193
213
187
203
150
208
220
112
208
209
112
228
121
194
135
163
208
237
165
202
150
181
207
208
112
112
176
150
208
231
182
208
174
121
176
237
170
121
112
171
137
121
162
141
174
176
147
186
150
195
150
176
237
112
243
112
124
112
201
220
135
150
130
178
136
195
112
184
170
179
194
165
208
150
223
181
150
121
150
255
231
150
212
123
121
171
203
202
212
208
175
121
302
150
150
150
150
130
158
243
228
194
186
112
181
208
121
181
112
204
226
195
203
150
170
128
121
208
194
212
150
219
217
150
121
219
167
161
203
150
217
194
195
195
112
184
237
144
174
135
237
186
150
121
143
167
150
167
158
158
212
123
172
208
128
168
115
144
237
208
187
124
121
150
186
175
112
208
202
172
165
112
112
171
112
136
272
167
112
112
172
239
112
112
176
187
150
121
177
204
150
115
152
284
144
170
172
210
170
250
208
150
152
150
240
181
150
186
164
177
186
150
208
205
150
232
128
112
112
208
237
228
237
147
174
212
263
192
150
112
193
223
150
194
112
178
121
158
208
115
175
204
121
181
143
130
156
208
170
170
193
150
171
170
130
214
150
167
135
276
121
121
112
171
167
193
181
112
186
206
222
167
201
150
112
136
150
150
121
246
187
181
112
150
121
217
137
228
201
135
201
240
193
150
171
150
186
184
112
172
181
220
176
150
255
153
167
215
187
238
192
186
128
121
121
244
220
162
135
150
136
150
265
197
123
205
195
250
121
226
208
189
202
172
186
165
112
121
205
212
171
207
168
218
202
150
215
121
167
333
147
121
158
201
196
208
181
150
121
220
112
160
187
150
212
220
237
172
177
135
194
172
123
172
210
150
255
207
228
226
112
161
167
150
137
172
112
208
195
150
228
167
136
121
194
174
243
211
202
165
150
208
163
208
112
189
208
137
239
226
193
165
141
112
123
237
121
201
150
167
186
157
121
147
112
121
160
249
121
175
160
165
173
170
137
202
172
208
172
112
175
112
150
250
123
270
150
112
172
112
121
176
165
170
194
174
112
201
220
239
121
115
130
186
136
167
167
143
229
157
259
121
259
124
235
170
210
208
176
207
162
112
186
203
217
172
171
218
172
112
147
233
121
112
136
208
172
171
158
249
204
168
164
172
195
167
195
220
172
112
121
203
214
170
193
167
150
167
192
167
147
121
182
171
174
112
178
130
176
147
112
176
206
121
186
193
150
196
112
208
115
258
136
130
242
121
115
167
171
170
121
112
115
147
167
193
121
218
176
212
207
124
194
184
189
159
256
112
181
150
208
112
266
159
136
181
197
150
205
231
123
172
130
250
150
181
190
115
187
172
150
237
236
112
193
237
228
135
165
167
250
176
237
168
167
228
171
193
210
115
167
186
274
112
150
208
168
208
130
202
124
167
147
159
208
239
230
174
203
176
121
112
201
178
176
190
150
176
121
130
123
187
214
213
187
165
213
135
192
152
165
150
231
157
231
179
121
112
150
150
150
172
136
208
228
195
194
226
174
194
266
237
158
208
196
226
123
217
206
208
181
150
195
170
195
208
233
197
112
150
213
207
172
212
150
150
123
150
158
150
237
171
175
176
215
255
212
265
194
141
121
171
123
196
158
195
192
197
121
176
112
208
121
130
171
219
150
208
212
172
196
255
112
121
152
208
264
174
192
204
135
172
158
243
112
150
160
112
213
112
190
276
208
232
181
150
243
112
150
121
170
208
156
208
208
177
159
227
128
167
150
178
176
167
263
234
128
173
171
150
112
225
112
150
165
187
112
208
172
121
112
208
193
139
121
137
171
167
167
205
124
112
210
208
112
112
237
203
150
150
226
121
121
214
157
112
150
123
208
112
123
112
150
289
237
167
150
179
174
192
171
135
212
194
195
112
150
121
150
208
210
150
217
160
203
218
193
202
136
112
208
168
196
228
144
121
112
167
223
220
160
123
164
124
202
150
173
228
147
167
238
203
147
165
136
219
202
172
207
167
201
150
187
233
208
121
200
150
175
165
112
171
147
242
278
244
150
121
193
208
165
242
193
182
121
243
112
121
289
176
239
124
171
171
150
143
250
150
193
186
208
136
150
165
150
189
167
176
112
213
112
208
208
150
150
228
112
150
182
159
160
208
181
112
212
136
172
195
171
150
217
121
276
137
112
165
302
165
160
121
112
255
147
171
226
135
174
150
195
218
150
240
170
121
170
112
187
237
123
209
112
165
150
150
150
150
182
201
225
165
121
195
229
195
228
237
217
176
112
208
212
150
172
112
150
228
112
208
208
115
170
115
121
239
137
171
208
255
160
196
150
121
172
181
171
171
234
170
172
112
175
224
220
186
235
150
112
123
150
150
228
253
150
124
206
123
240
121
194
150
210
208
208
130
195
177
150
227
186
203
160
186
160
182
184
205
188
112
150
167
186
156
121
150
121
167
219
147
128
121
177
189
121
201
228
210
250
161
170
209
278
150
174
115
213
212
166
112
203
194
171
208
195
210
136
115
112
159
250
128
150
115
143
187
236
167
210
150
112
208
208
150
162
150
204
150
164
137
123
150
189
232
186
198
121
130
112
228
192
150
112
123
167
150
196
170
146
240
233
226
202
150
208
112
210
172
187
121
231
212
155
112
208
145
208
236
189
320
186
195
150
121
165
167
178
202
143
150
112
136
136
165
237
229
168
150
112
207
208
202
112
231
155
189
168
167
121
224
194
115
121
193
170
208
222
137
165
150
121
159
137
165
112
128
218
208
171
172
170
216
227
194
202
164
112
186
165
172
203
250
172
123
164
150
239
150
172
168
150
219
112
167
112
139
210
208
121
150
206
123
165
202
217
115
136
128
219
136
172
167
195
160
193
150
150
277
121
202
192
150
250
228
237
208
175
123
128
172
176
181
194
229
165
121
257
210
205
172
150
176
121
167
155
228
240
121
112
176
170
121
214
150
187
210
210
176
157
165
121
230
121
195
150
208
150
189
195
137
181
115
186
112
150
195
190
192
187
135
150
228
192
172
210
194
193
160
150
228
244
165
208
257
150
227
187
121
167
264
170
112
121
172
175
184
167
123
112
167
167
170
112
203
212
165
219
175
275
150
176
193
165
201
150
190
165
240
112
176
112
112
128
172
150
203
152
128
121
121
115
167
150
207
171
158
186
208
172
150
201
198
177
250
121
150
172
150
208
218
170
150
263
121
233
137
192
112
201
150
112
121
171
181
112
194
210
170
150
202
121
210
150
112
281
112
112
150
167
208
181
206
112
115
208
218
212
137
172
165
195
152
123
186
121
212
124
187
302
168
210
228
150
215
177
112
167
121
165
150
203
112
121
172
121
205
164
159
136
112
150
136
231
186
167
121
115
226
208
228
181
210
192
181
112
170
112
281
123
170
139
190
177
208
219
159
177
112
165
136
143
170
150
121
176
121
150
195
150
167
121
203
172
121
176
121
172
121
190
189
156
150
181
208
227
201
121
112
121
223
121
147
150
112
121
130
177
150
150
237
177
172
137
234
123
242
193
112
123
228
204
121
150
172
208
207
167
229
194
112
147
112
136
147
255
150
202
152
170
218
150
135
208
150
178
150
181
165
121
112
136
202
159
128
208
150
236
112
194
228
159
202
245
181
170
181
115
223
150
212
112
167
165
121
165
172
150
192
121
121
228
137
137
121
288
241
153
255
176
150
150
121
194
245
211
136
170
137
235
112
202
165
194
172
150
172
121
170
172
175
194
112
172
167
228
203
115
201
260
218
174
112
171
172
167
272
212
208
157
112
115
208
167
112
231
136
170
170
156
242
197
150
255
121
194
147
210
228
178
286
171
167
112
167
112
181
167
167
112
218
164
112
177
205
186
218
124
150
115
297
112
207
208
121
136
135
115
198
233
124
190
176
170
150
123
197
112
137
152
196
186
208
160
209
172
158
186
147
136
135
124
154
130
112
112
264
186
115
156
130
121
164
167
150
195
121
179
237
172
121
194
239
172
195
198
201
174
170
242
227
238
158
121
234
147
260
150
137
189
159
174
121
184
167
253
112
137
168
112
150
181
192
121
150
167
158
206
195
150
208
152
167
219
150
170
208
247
181
112
156
150
123
172
174
171
137
264
150
150
171
208
112
226
195
202
150
121
197
121
305
124
179
121
121
123
115
164
228
174
147
150
196
205
115
198
194
208
201
121
202
184
252
152
239
137
164
205
123
123
229
215
165
112
216
194
177
164
150
179
150
135
158
112
150
164
112
179
170
172
194
228
275
218
228
228
165
150
171
158
112
228
147
208
112
170
167
193
150
183
210
210
152
244
208
186
112
112
135
123
187
176
193
150
172
210
194
167
112
112
150
201
170
150
187
170
177
159
121
186
172
167
243
150
150
184
170
168
229
195
112
123
209
278
260
203
112
202
228
228
177
181
147
181
112
210
282
150
239
115
202
233
150
186
168
262
176
150
186
220
208
150
150
210
174
276
178
181
167
171
186
150
225
217
170
170
150
181
195
203
203
150
150
187
194
112
150
201
297
172
232
171
150
193
239
112
167
176
208
236
206
187
187
195
156
186
123
240
201
112
128
150
300
228
181
208
112
201
135
186
158
146
181
172
160
194
150
208
143
115
208
246
159
194
150
112
150
160
112
195
186
234
202
121
150
167
211
135
195
112
258
112
150
255
186
121
208
198
165
176
156
234
167
208
272
168
121
150
279
170
123
226
203
112
150
150
150
137
184
170
231
170
150
181
195
123
135
220
217
202
196
170
165
271
226
123
121
121
115
195
176
229
158
171
137
112
136
202
226
121
280
170
171
208
214
112
214
112
249
121
171
150
172
171
121
302
209
202
156
208
178
112
112
187
172
164
176
172
167
210
214
147
218
150
208
170
121
172
266
112
135
150
115
121
121
210
146
202
112
112
231
228
226
112
135
150
165
195
150
160
255
177
123
218
200
202
123
200
171
194
123
165
209
184
170
170
195
150
215
172
174
235
203
175
165
150
158
150
171
167
167
150
178
171
210
242
112
128
194
190
158
128
165
164
181
167
186
228
195
208
123
121
170
208
178
150
194
159
135
112
165
203
182
195
172
156
171
176
241
189
130
194
143
184
187
208
112
121
150
240
170
204
150
150
254
123
193
112
121
167
239
112
174
112
228
302
156
174
184
158
220
240
165
192
150
236
150
172
181
150
170
167
147
150
228
193
150
123
135
230
264
195
195
150
123
205
170
167
194
150
168
158
123
176
228
112
255
121
137
150
112
112
152
150
121
205
167
150
254
170
226
171
219
186
123
236
112
112
213
208
124
236
124
176
167
150
190
121
124
170
237
176
121
150
152
112
220
167
147
112
194
237
208
121
158
150
197
174
172
144
208
291
215
135
150
121
201
208
124
171
112
208
212
150
219
112
172
115
218
208
181
121
212
144
135
172
121
164
121
181
112
172
135
210
112
112
123
130
225
203
123
204
121
132
123
179
147
165
239
208
112
193
150
112
187
160
173
115
112
164
121
123
164
194
170
121
208
171
156
195
112
121
121
208
136
143
121
172
170
202
173
176
200
203
186
112
195
195
121
217
170
176
176
145
121
159
112
150
161
172
172
200
170
112
128
240
203
237
136
172
268
150
150
217
208
174
121
193
147
172
121
170
152
181
112
186
171
112
165
150
218
176
137
135
156
123
181
112
135
194
150
231
112
124
206
220
115
171
171
199
208
172
208
112
167
215
150
150
150
150
236
136
206
156
159
112
155
208
215
112
121
158
177
147
232
150
159
150
112
112
194
136
167
121
210
156
226
181
124
158
212
233
174
172
192
150
168
112
233
172
147
150
208
212
186
208
112
150
210
162
202
170
172
208
171
150
150
190
171
121
186
237
208
250
176
172
225
150
271
165
213
181
187
121
150
112
237
177
132
177
150
229
121
150
208
174
135
130
170
165
156
176
218
150
179
171
205
186
194
156
171
124
208
170
176
165
172
165
181
150
206
186
192
167
172
198
112
112
214
208
194
150
172
172
112
195
167
198
172
208
181
205
299
194
228
150
167
174
263
137
162
112
168
121
195
115
123
172
156
243
150
170
220
167
208
171
156
158
177
112
121
171
165
112
112
172
121
121
121
226
121
115
170
159
176
150
172
206
136
186
150
208
208
176
170
189
167
130
194
112
217
112
158
208
150
170
150
121
267
150
115
164
218
112
112
156
167
150
121
121
112
150
160
121
172
115
181
231
150
150
121
228
176
167
121
208
208
276
203
112
146
208
123
123
121
123
164
158
193
165
208
128
121
135
112
121
176
179
112
172
208
176
123
150
144
244
195
128
184
152
112
228
147
147
112
147
172
136
123
121
208
165
168
170
186
215
176
174
112
167
229
121
182
195
208
201
150
121
208
164
123
121
184
233
208
178
136
195
254
147
150
121
203
158
158
189
231
202
135
171
150
192
121
167
150
161
160
171
193
164
171
112
172
135
208
210
112
208
112
216
123
243
123
147
115
150
156
112
192
228
150
112
115
150
208
112
112
228
208
167
147
202
173
112
265
141
229
172
159
167
150
275
112
121
219
135
176
210
208
150
194
212
194
237
150
207
137
176
208
172
217
166
208
208
297
135
201
162
167
226
213
121
112
171
229
205
143
150
193
195
124
150
121
112
150
168
112
167
243
176
150
167
170
150
194
112
210
212
255
212
152
171
167
135
215
208
210
135
167
115
159
208
240
194
112
115
112
187
123
172
150
200
232
112
112
123
202
150
194
226
208
247
150
170
186
261
236
208
143
167
216
190
228
135
121
186
121
193
112
171
123
150
121
150
123
181
168
231
240
112
170
121
112
162
194
233
150
208
189
112
112
181
112
208
164
205
172
170
170
213
159
135
278
150
174
177
150
112
171
207
167
121
172
121
168
135
150
193
171
170
112
200
253
242
193
240
112
274
195
160
150
233
121
159
167
201
172
112
195
112
228
194
156
176
227
237
112
150
207
212
182
175
146
187
135
227
194
157
112
218
244
160
121
223
181
243
297
121
172
181
150
150
137
170
172
156
150
115
172
150
201
203
172
167
256
172
211
135
150
194
176
172
194
184
112
253
172
186
167
136
130
237
130
212
172
181
215
213
171
115
171
192
198
357
212
175
112
173
136
150
208
172
167
112
112
158
203
255
271
172
218
135
237
172
167
186
150
115
112
172
172
170
112
150
150
112
112
255
192
203
193
172
123
121
212
176
174
195
121
170
158
171
167
112
210
210
150
186
240
121
135
172
242
171
208
171
178
112
181
220
121
179
112
152
203
145
233
147
121
219
203
195
121
186
147
121
165
115
208
174
208
170
112
195
112
192
204
236
130
150
112
181
150
171
158
181
112
217
171
150
172
130
305
112
156
172
150
150
144
172
159
194
176
171
190
278
164
181
207
157
150
170
209
175
150
223
215
182
193
224
237
167
112
171
137
150
167
214
137
265
171
166
176
123
152
150
226
170
229
230
215
218
112
164
236
193
150
137
150
167
172
223
112
240
150
174
150
150
124
247
192
187
150
206
210
167
167
208
226
170
226
181
150
177
201
231
228
186
184
121
112
170
208
150
121
215
198
124
121
174
123
220
112
121
112
210
172
174
250
187
150
170
186
174
164
203
150
136
147
208
136
160
135
112
202
228
193
136
136
208
172
160
210
172
226
225
121
172
215
167
237
112
159
171
150
245
163
174
228
150
128
163
239
218
150
172
144
135
157
175
186
150
121
130
137
208
115
172
150
150
112
231
121
121
171
243
150
130
123
302
150
186
190
156
147
194
201
164
167
194
136
212
167
184
150
208
150
150
193
175
208
159
136
171
195
177
255
226
174
159
170
158
112
150
195
150
260
187
115
212
121
238
195
164
172
236
121
203
171
188
204
210
208
187
150
160
276
137
250
219
137
112
176
112
112
150
112
150
240
112
170
150
121
135
176
171
150
174
164
121
219
243
150
165
165
112
205
170
112
189
190
193
223
165
208
136
210
276
170
210
112
172
121
176
112
201
128
202
112
167
257
216
150
121
158
237
136
172
136
208
194
147
212
177
172
210
150
205
112
150
217
123
150
176
171
212
203
135
267
150
208
121
218
150
150
159
170
156
278
237
268
150
228
213
112
176
167
112
150
279
240
112
135
156
216
278
167
228
150
171
178
203
178
193
170
121
112
233
203
181
186
167
160
263
172
135
112
197
192
186
220
123
167
176
161
225
205
201
150
139
136
175
173
232
245
193
208
228
115
112
171
176
195
193
121
128
220
192
121
208
124
147
121
165
121
186
128
210
112
170
160
121
216
247
112
196
171
121
164
167
170
137
187
150
228
205
168
170
181
150
155
278
112
195
112
225
121
210
195
112
152
238
112
112
124
171
207
167
112
164
170
112
203
189
112
228
208
121
208
264
172
121
121
124
150
181
159
192
130
167
299
167
165
176
170
121
250
242
201
112
242
186
164
167
167
121
165
112
255
186
181
112
220
121
139
208
115
181
150
228
233
121
150
257
170
237
215
171
206
171
171
112
170
150
137
244
112
121
206
234
135
115
112
228
183
208
181
175
164
171
195
226
175
225
112
172
165
165
186
112
255
176
171
150
229
146
150
174
123
112
135
167
208
181
121
136
164
165
170
201
193
137
135
232
121
214
174
208
171
150
172
237
240
124
210
237
176
172
150
164
176
171
147
121
179
186
170
160
178
115
150
172
252
225
195
257
150
210
160
259
162
123
174
130
160
150
206
179
112
231
112
167
150
208
160
121
186
203
243
168
137
150
187
170
210
112
167
211
228
175
172
177
112
168
175
193
228
167
112
171
167
144
112
228
176
176
205
121
208
186
220
158
208
121
121
150
115
179
176
225
171
146
175
182
150
150
150
165
121
165
112
137
121
121
112
237
278
130
194
175
164
173
195
171
123
172
143
112
112
208
150
159
208
112
255
172
184
112
231
233
217
223
229
112
171
172
150
171
228
137
123
112
171
167
181
201
194
167
159
181
171
112
181
189
193
214
207
210
172
167
150
159
233
150
112
230
164
112
112
112
174
150
207
150
121
228
239
136
219
121
150
203
176
150
162
209
150
121
239
201
171
150
260
208
164
121
121
171
136
137
219
208
226
181
112
150
172
201
187
121
168
176
150
112
170
165
208
170
172
259
147
167
168
176
121
195
150
181
112
194
196
112
165
167
130
112
208
194
231
121
136
158
150
150
174
170
181
171
208
184
123
112
192
124
234
123
171
150
172
168
152
181
112
167
123
172
150
112
202
173
170
121
208
121
208
222
208
231
150
160
181
150
150
184
150
150
167
167
159
112
174
208
170
150
294
158
135
121
112
174
228
208
176
193
150
121
208
217
164
194
112
208
203
170
170
128
239
175
112
226
254
177
165
212
230
123
150
229
237
181
150
195
193
112
150
193
227
208
156
171
158
170
167
269
143
176
192
237
112
121
112
196
210
115
172
130
167
218
170
123
252
177
121
137
147
135
170
165
115
172
188
217
112
302
206
150
121
171
158
233
150
174
284
112
223
228
172
176
174
112
208
272
278
150
228
172
124
235
254
176
121
150
115
265
150
207
150
187
181
210
136
150
186
195
130
115
193
150
208
112
182
115
190
210
115
121
203
121
112
147
172
123
128
150
181
165
218
237
115
112
152
219
186
203
171
146
112
123
207
182
123
121
150
150
112
171
123
208
182
150
135
172
211
152
186
124
258
205
121
150
170
121
112
215
239
208
193
210
301
206
137
202
150
237
202
170
187
227
167
150
139
121
233
121
112
171
237
130
240
167
208
255
255
165
150
112
210
210
167
121
121
202
195
150
170
175
165
150
128
150
208
112
184
299
186
150
158
172
112
171
121
232
121
250
208
196
150
172
143
176
150
172
112
112
121
167
121
208
183
229
208
121
187
172
208
147
239
121
121
194
215
166
225
112
137
196
194
150
193
204
136
186
112
121
150
172
250
112
150
112
171
147
201
121
112
184
170
208
150
171
219
128
156
208
208
205
212
264
159
184
228
179
121
186
175
211
175
150
174
202
121
205
208
121
171
214
274
195
172
237
123
224
150
275
112
167
150
112
170
208
136
164
121
170
121
170
174
208
170
135
168
203
150
205
170
231
121
193
176
121
232
166
208
121
167
167
167
195
256
193
147
112
217
152
112
150
157
217
124
208
150
243
240
208
112
227
243
250
216
136
186
228
195
150
115
165
213
112
194
214
165
205
174
121
176
214
193
136
150
187
121
210
239
115
251
121
262
112
112
297
204
192
135
123
158
167
177
171
150
237
124
179
112
121
150
123
208
208
124
170
112
124
184
150
167
195
150
206
135
112
172
228
222
160
171
124
167
208
171
186
170
187
228
205
136
150
229
239
187
121
210
239
186
245
208
121
228
173
226
150
135
210
153
202
210
150
150
263
150
172
123
170
219
121
150
121
157
150
241
208
150
228
159
227
112
170
210
150
208
181
150
239
136
208
203
210
167
170
187
187
236
205
208
172
121
231
226
201
159
112
170
172
158
167
150
121
167
186
121
204
203
115
164
194
160
121
208
200
202
136
147
194
237
121
187
121
237
219
170
115
219
112
172
241
193
177
165
181
202
112
115
165
187
112
185
150
167
172
167
210
199
178
112
177
181
167
112
193
187
202
121
302
172
150
150
135
124
130
208
121
170
124
121
139
112
150
202
172
121
123
130
251
130
203
167
171
210
170
158
153
178
124
208
121
135
167
171
121
167
112
170
150
194
167
203
208
208
121
136
209
165
177
209
201
225
167
217
150
208
121
137
112
231
150
147
150
137
170
205
121
136
135
144
165
137
233
112
237
250
218
202
112
187
183
209
202
202
167
167
181
172
172
175
130
233
240
172
168
165
112
165
193
177
136
137
174
115
181
209
172
208
193
115
160
157
212
165
161
150
227
121
194
184
282
112
202
194
265
195
264
112
205
170
146
150
150
158
274
135
231
228
226
167
223
146
239
174
260
170
160
187
190
220
139
176
240
201
161
121
167
121
172
159
194
192
226
167
211
258
224
208
228
128
172
165
197
203
176
194
115
193
115
187
137
112
112
188
121
167
225
121
172
136
212
186
172
123
172
212
115
115
112
136
228
150
168
176
150
112
190
208
187
167
150
274
121
121
208
112
172
236
167
201
167
158
159
214
208
123
194
158
208
187
172
112
139
121
112
159
194
233
150
115
159
112
128
172
187
121
176
121
157
112
170
215
150
112
172
172
172
170
150
168
245
198
203
276
112
258
137
150
112
203
124
203
112
112
195
123
137
234
135
255
112
150
121
239
150
195
171
123
112
158
228
227
196
172
219
190
210
264
193
170
167
172
187
112
217
170
250
121
170
121
234
150
128
193
172
163
123
193
187
208
146
165
150
233
165
165
174
170
208
167
112
226
146
238
208
245
170
178
150
193
208
202
165
165
210
115
137
112
186
196
171
172
192
250
305
112
112
112
192
212
160
232
112
150
186
167
112
150
177
256
112
170
179
160
137
219
121
179
193
112
236
164
210
165
150
189
171
161
167
220
121
208
171
181
174
165
189
157
220
112
186
176
121
189
218
121
112
159
193
112
186
174
156
123
210
194
239
137
121
150
237
170
112
159
147
112
241
172
112
176
234
172
121
112
121
112
150
208
150
150
210
150
258
121
115
167
261
167
112
202
244
147
153
248
208
112
203
150
164
135
170
170
231
181
162
165
135
221
121
172
210
193
297
123
195
171
112
121
150
150
121
150
194
208
195
112
167
165
121
228
152
231
123
208
181
172
212
112
192
237
228
199
176
136
181
194
168
121
150
212
150
194
159
143
278
165
255
135
173
156
212
194
128
172
150
150
226
112
150
228
176
172
172
150
187
166
112
112
246
121
186
179
152
194
112
137
121
130
172
112
229
121
121
208
181
157
181
228
219
121
171
165
186
147
233
234
171
209
208
232
137
192
208
121
189
177
121
158
212
264
260
181
169
112
253
253
170
201
172
112
164
201
164
202
150
121
170
193
136
217
252
150
194
177
170
220
209
150
181
121
150
137
194
176
135
302
198
202
121
208
194
228
150
144
225
223
237
233
239
170
187
193
150
195
170
168
162
228
172
171
194
168
167
184
150
186
150
112
121
255
112
194
228
172
228
171
208
172
150
167
192
202
150
170
184
136
208
112
121
186
187
201
165
220
201
194
208
208
121
176
208
152
247
225
150
212
164
167
171
195
194
121
177
201
193
192
150
150
219
112
123
186
112
263
164
121
121
236
222
192
219
115
229
203
147
112
112
171
208
216
184
172
130
218
193
150
219
123
150
190
167
165
174
208
152
121
181
239
225
226
136
208
123
172
112
193
143
257
164
143
115
250
205
112
170
112
208
231
186
112
174
172
181
150
193
209
150
162
211
171
112
121
178
207
121
112
147
150
112
112
121
176
136
158
172
150
123
137
172
121
184
219
137
171
171
112
210
123
123
176
115
203
121
150
181
121
170
217
279
208
150
171
150
112
171
135
121
172
172
167
187
171
156
202
194
150
236
231
150
201
121
150
203
121
193
177
219
192
194
171
168
147
225
228
112
208
188
193
237
160
172
170
194
150
219
147
219
150
158
203
170
112
181
234
121
165
190
112
150
219
150
158
121
167
203
228
208
181
123
264
121
201
177
150
165
171
203
152
170
171
234
194
121
112
178
121
112
186
217
225
170
192
209
128
207
170
150
150
176
121
124
121
167
209
194
164
225
317
147
195
159
239
202
201
150
208
112
164
245
170
233
226
137
253
164
121
186
208
121
112
208
150
121
112
112
143
112
150
150
240
208
150
216
112
208
112
121
172
186
112
231
171
186
123
135
172
121
150
147
136
199
164
121
128
208
135
150
189
194
250
150
196
112
203
208
228
209
167
179
181
302
164
150
135
115
236
181
208
121
225
207
152
167
186
115
208
202
147
228
121
150
112
121
226
130
208
208
208
172
150
216
121
112
202
123
212
182
165
170
208
181
170
172
172
195
160
205
177
150
160
208
172
150
112
112
121
191
150
171
150
199
202
150
112
205
250
135
195
136
208
252
299
150
178
246
182
208
121
150
112
112
195
112
168
112
137
172
157
210
167
181
228
112
112
158
171
167
171
215
131
112
177
121
150
231
121
112
195
158
167
172
150
115
187
150
135
181
150
146
176
160
121
147
121
150
135
208
245
167
212
208
177
123
219
175
115
229
166
175
112
170
150
228
171
187
240
219
208
121
147
165
228
150
240
282
121
152
137
137
213
170
178
175
215
171
170
161
112
135
162
168
165
207
128
145
158
206
121
112
196
239
121
231
244
179
135
112
160
186
150
167
112
181
121
187
121
194
137
208
150
171
210
198
167
115
220
179
121
121
194
135
193
139
212
240
208
123
209
194
208
137
157
208
193
115
231
137
192
150
121
208
123
150
174
158
135
208
240
167
255
112
164
135
214
179
194
171
201
172
193
112
200
208
202
143
112
112
175
201
236
195
189
163
136
171
253
194
171
177
172
150
159
150
150
136
121
164
201
112
150
187
150
172
194
228
207
123
176
147
143
186
112
208
112
208
179
208
208
158
226
124
145
187
214
264
208
167
194
195
196
167
194
181
170
115
193
176
150
150
172
136
150
112
167
171
212
179
167
135
112
181
210
165
150
272
167
170
184
136
158
281
112
234
238
167
121
202
115
121
208
193
194
121
175
170
254
210
167
112
112
150
115
150
121
150
195
112
172
201
128
229
143
170
214
171
112
232
112
121
150
112
203
121
160
167
201
121
112
219
187
156
136
177
208
121
160
232
219
219
192
210
121
115
167
135
150
171
150
112
194
164
212
165
156
192
216
150
210
217
255
172
194
150
112
176
176
228
255
167
193
194
135
167
150
147
186
186
172
194
231
232
124
174
150
147
121
121
210
240
170
209
156
123
136
150
177
172
121
215
181
212
150
150
262
170
160
194
243
137
124
165
167
171
210
165
164
185
123
128
174
228
123
265
237
172
170
217
172
240
272
112
112
208
186
167
123
158
193
112
147
112
123
112
207
150
115
193
220
272
167
186
195
174
172
177
194
165
228
167
207
170
112
210
208
137
164
174
193
112
212
150
181
128
112
208
150
150
112
194
121
121
121
191
135
115
150
202
112
257
150
257
112
195
112
202
181
121
112
112
202
112
152
176
171
195
167
172
174
150
258
176
150
112
172
115
152
143
299
192
187
173
302
136
150
112
184
112
256
167
150
172
112
210
181
194
255
150
175
112
121
220
146
208
143
207
177
170
150
165
136
160
112
150
194
234
172
124
164
112
135
196
136
302
205
170
177
112
212
192
112
112
201
297
212
242
176
170
194
172
167
208
121
186
193
228
147
194
179
177
210
137
174
172
121
167
121
167
167
147
208
167
194
150
112
150
211
192
210
124
255
171
176
210
164
172
230
136
121
208
165
241
208
176
167
193
208
150
130
194
147
179
182
152
248
170
121
165
213
189
112
255
195
228
121
208
123
201
240
147
193
208
170
112
170
212
137
121
199
241
193
172
207
258
160
121
219
123
164
130
123
137
121
181
202
150
255
177
112
115
137
123
172
220
112
187
170
170
237
172
150
123
150
228
194
112
258
240
158
150
136
163
147
215
232
121
233
150
171
167
146
208
194
150
112
136
222
208
112
112
203
112
112
150
165
247
186
177
172
170
167
193
193
156
194
229
150
135
231
195
194
170
112
195
232
226
168
172
121
150
170
170
177
174
172
209
195
218
167
115
150
231
115
150
202
123
172
177
136
208
150
229
121
194
164
136
175
130
215
160
112
201
234
139
232
220
150
135
135
196
124
123
112
239
136
121
158
136
208
172
250
167
186
210
207
121
208
136
143
190
143
242
159
228
112
121
112
219
112
124
253
172
252
212
172
187
187
195
172
128
112
208
195
210
115
219
278
181
121
150
150
174
195
176
143
173
121
210
172
124
121
170
160
203
167
158
167
150
165
150
178
181
150
176
112
115
112
233
121
186
170
203
176
185
170
197
121
168
174
150
121
112
208
112
150
242
149
208
121
172
208
150
263
130
199
239
150
121
226
150
216
112
210
170
150
181
172
250
210
123
178
128
121
208
167
135
202
234
135
177
235
150
112
170
171
115
128
212
208
221
112
164
197
187
236
112
143
210
121
178
170
137
159
177
128
135
146
208
130
172
181
170
136
135
170
203
208
167
112
237
175
171
160
150
150
121
195
152
130
112
207
208
136
201
150
112
212
168
167
150
193
150
186
112
172
167
167
208
170
165
237
182
136
150
192
172
156
150
123
112
167
226
123
208
136
123
135
112
147
112
112
150
121
171
208
218
150
251
208
260
121
121
150
195
141
236
186
150
212
217
201
212
186
278
174
130
171
121
226
243
162
202
112
181
112
150
196
115
150
235
266
176
112
205
158
220
281
193
172
205
150
152
208
193
130
172
147
219
223
112
171
220
166
220
299
215
181
128
181
218
208
172
121
112
130
194
160
171
208
112
219
168
192
168
186
195
121
112
172
177
170
233
170
152
147
150
181
172
150
158
123
112
194
112
136
150
203
136
112
208
112
177
128
240
173
121
255
201
225
278
170
171
171
171
112
213
112
158
172
205
239
150
150
147
170
152
181
123
171
150
194
147
112
136
218
141
176
187
198
194
228
150
137
232
208
170
159
150
144
208
225
150
167
225
123
135
112
186
143
226
167
137
174
147
195
121
121
208
150
201
226
184
208
239
208
194
112
176
167
112
179
112
210
218
201
167
167
186
150
124
156
150
208
167
170
135
171
187
239
231
302
112
353
115
168
137
208
150
115
176
167
168
130
177
237
176
194
175
236
136
171
146
205
168
191
200
172
150
172
193
258
171
112
179
112
196
171
115
121
112
208
284
183
187
112
208
181
124
208
208
170
150
150
143
240
186
228
112
212
186
165
112
172
121
219
160
122
207
181
195
177
237
150
123
168
112
150
210
150
150
189
231
212
300
164
130
159
194
112
150
208
210
123
183
147
156
172
171
150
255
112
218
232
165
112
121
130
130
150
123
233
210
157
203
160
202
171
171
168
261
112
121
150
202
150
147
172
165
208
167
167
240
239
130
250
186
150
204
205
150
193
121
147
172
164
172
250
167
209
208
263
228
225
175
172
208
189
121
177
208
174
201
208
193
150
167
170
201
171
198
170
202
165
228
179
112
257
194
210
193
210
112
150
150
187
174
150
228
168
128
172
147
150
150
196
170
167
135
150
150
212
208
195
233
139
187
137
208
184
150
124
170
112
217
112
112
171
150
232
228
214
112
194
150
112
112
195
160
170
170
167
166
112
170
202
167
121
121
170
150
115
187
220
228
208
121
181
220
194
158
208
121
210
150
208
164
223
182
150
208
172
195
216
124
115
243
112
277
167
150
150
186
193
287
201
147
150
205
135
172
194
249
202
220
150
176
208
112
193
181
193
200
172
121
170
172
177
176
150
212
112
112
247
215
172
172
135
112
208
150
164
205
150
172
135
210
220
203
189
150
150
139
208
153
121
170
220
150
123
150
195
112
150
171
115
165
207
171
159
171
194
135
172
202
150
150
201
170
181
167
167
194
288
208
123
128
228
121
271
172
195
193
150
115
172
219
176
186
121
193
218
172
201
171
150
147
112
157
130
170
207
150
150
222
160
225
218
112
112
168
150
121
176
152
167
193
121
232
165
193
176
112
150
172
150
150
201
172
176
156
150
121
135
217
236
158
176
208
167
178
170
172
123
147
228
186
150
207
167
130
208
121
156
215
228
112
174
203
172
112
150
215
112
121
123
160
228
164
212
112
208
112
170
121
171
235
208
150
195
171
112
219
121
121
202
174
112
219
208
112
160
135
158
187
170
194
167
172
115
150
222
167
237
257
194
226
150
225
228
121
112
121
243
172
240
112
187
181
124
208
121
168
170
211
179
150
112
121
150
150
167
217
236
147
121
222
208
165
123
172
150
195
176
193
164
234
208
181
181
112
147
181
176
177
144
210
167
112
172
137
121
112
130
171
167
150
220
112
208
171
121
165
159
112
150
186
150
152
170
167
208
112
203
232
208
159
208
229
194
121
187
170
204
181
208
176
216
115
167
150
210
121
172
200
175
150
172
171
150
150
121
208
171
196
136
112
150
115
240
150
121
150
202
137
208
170
112
176
121
150
172
168
239
208
123
181
172
121
121
112
238
228
181
220
150
166
150
187
112
112
178
192
112
150
176
170
112
174
202
150
112
181
167
203
112
171
112
237
112
202
115
302
208
136
181
143
123
136
112
177
112
136
240
150
184
172
150
247
175
192
175
121
150
170
208
171
200
176
150
255
194
136
167
202
150
193
171
147
229
123
201
220
216
199
204
231
193
152
112
178
213
237
115
230
242
176
208
112
136
143
160
136
217
226
150
232
168
156
276
194
167
195
112
112
239
181
208
192
112
112
215
172
193
167
167
213
203
150
177
213
167
135
266
165
121
228
213
184
173
208
150
208
205
147
112
208
175
167
150
136
121
112
160
150
261
150
208
137
180
195
194
196
112
228
178
150
150
115
167
150
208
172
112
123
184
204
135
208
176
112
137
112
210
136
170
121
207
201
237
181
209
112
167
232
184
150
150
199
158
207
152
202
158
209
124
237
217
193
150
124
167
300
112
112
211
229
165
181
218
210
170
230
250
150
167
150
112
135
233
112
302
178
150
220
208
167
255
172
168
121
170
137
215
136
213
150
181
203
112
123
186
202
167
168
278
150
112
112
226
150
194
250
112
208
121
276
210
167
121
152
150
152
240
150
150
172
228
176
217
172
251
147
150
167
136
193
165
121
276
208
181
192
150
185
112
121
170
137
164
257
278
176
217
208
263
150
171
165
156
208
158
167
181
228
135
112
194
112
208
168
150
150
136
265
150
242
193
164
112
123
112
150
150
223
177
150
112
121
121
150
174
165
167
353
167
170
121
124
136
172
233
170
254
228
150
123
210
167
124
242
121
170
167
150
181
193
112
164
150
181
160
150
232
177
172
187
186
194
208
112
195
112
192
112
171
147
150
136
150
208
208
156
194
112
121
171
167
150
159
152
197
150
195
135
150
121
152
150
235
192
165
217
160
208
253
124
150
176
152
217
150
115
201
190
235
208
130
193
172
112
176
205
139
196
165
201
201
121
218
208
112
172
239
170
165
236
123
215
202
150
220
210
237
165
218
194
137
175
177
174
266
171
112
181
250
186
150
112
244
204
202
186
137
208
165
203
165
121
211
255
186
223
150
181
121
150
112
171
170
170
135
112
202
121
112
205
136
181
150
205
112
206
239
263
115
202
282
176
112
112
121
208
192
196
128
112
137
208
121
158
176
194
212
112
112
123
208
208
150
165
150
184
150
227
167
112
121
179
193
201
353
208
112
121
239
166
172
208
239
143
112
218
167
112
181
174
176
167
208
195
164
181
164
150
208
226
132
172
208
121
137
112
152
249
137
226
112
165
121
121
193
137
150
208
115
152
194
186
205
194
123
150
150
248
208
150
135
121
194
112
112
171
189
167
150
112
353
233
231
124
290
237
208
193
157
231
159
161
250
212
247
112
228
225
150
121
167
170
189
137
194
231
170
208
228
194
170
265
136
203
167
159
192
150
172
208
144
123
172
167
224
112
212
212
189
213
170
170
112
121
227
121
231
208
231
206
252
150
121
176
184
112
167
136
297
170
171
194
150
191
176
172
150
201
135
170
121
220
212
175
208
135
121
167
115
130
150
212
150
121
174
194
136
178
137
218
181
220
137
232
242
190
131
150
121
159
259
218
156
214
170
112
158
208
150
159
187
208
121
112
172
112
112
172
239
121
177
156
203
121
171
176
150
208
230
164
208
171
150
165
255
121
112
210
112
112
112
167
170
193
112
184
208
124
194
247
187
123
170
207
172
150
150
190
124
112
194
112
203
193
150
207
170
112
174
121
167
150
130
112
112
123
176
208
121
135
229
171
193
171
136
167
208
212
181
150
157
187
224
112
112
195
112
150
172
244
137
150
202
121
150
193
172
209
176
172
186
171
152
219
229
192
147
233
170
171
112
223
218
112
208
172
124
171
181
121
158
216
172
153
228
172
256
167
164
150
181
176
150
165
174
124
121
168
172
159
147
137
203
176
194
179
156
168
112
121
201
223
194
112
177
210
179
174
232
195
157
159
220
203
172
150
124
208
121
196
123
147
157
170
112
172
112
112
250
229
208
121
115
112
184
194
150
121
158
230
187
121
208
181
194
165
157
210
196
170
194
177
150
137
193
123
136
195
208
186
167
176
170
123
150
217
196
170
167
112
170
227
177
121
186
233
135
159
194
112
203
171
112
123
112
143
121
158
176
233
172
115
208
218
202
112
167
167
191
228
158
112
228
258
176
165
240
171
186
150
150
244
214
228
112
165
112
233
128
208
112
229
112
164
237
128
164
112
150
233
112
150
121
195
172
177
208
165
237
112
201
171
172
176
177
174
175
150
121
135
150
194
190
276
150
231
150
196
209
237
167
194
238
176
189
121
136
135
176
123
112
197
208
219
178
208
177
147
202
146
150
167
130
208
123
112
165
210
170
170
160
210
172
112
186
218
121
186
208
210
150
150
208
177
159
150
187
150
179
236
158
171
192
220
208
150
167
167
208
156
217
156
186
150
181
164
123
228
112
130
115
211
112
150
155
150
115
239
150
121
170
112
112
235
150
240
172
121
185
168
121
112
237
208
219
237
167
206
188
228
172
112
121
176
150
112
198
208
208
174
150
121
158
205
171
121
167
150
167
150
171
121
194
187
205
265
208
237
220
208
135
240
174
160
121
136
123
136
181
186
150
121
150
112
112
152
170
172
121
176
150
170
172
171
112
203
112
171
167
167
124
194
255
208
168
172
158
217
112
193
243
121
121
112
150
210
112
228
150
150
121
219
172
214
121
205
123
123
255
214
172
112
263
209
150
207
187
208
121
193
135
223
123
150
150
192
136
168
256
210
297
159
159
155
205
208
172
170
170
243
195
186
143
222
174
217
225
123
112
208
274
181
150
123
192
192
253
170
203
150
135
164
208
172
212
136
150
302
178
121
121
112
195
174
152
112
210
254
208
181
212
228
201
112
137
170
241
167
150
172
186
186
121
165
226
121
112
135
179
150
239
194
112
199
112
209
112
121
202
176
195
112
115
137
121
181
193
165
161
137
172
150
150
167
186
121
255
208
208
150
181
137
170
186
137
112
150
167
171
181
150
178
208
172
152
208
194
207
177
170
267
137
160
165
170
135
150
112
165
241
150
124
167
189
226
150
172
112
172
112
121
130
150
194
208
194
156
121
172
231
201
112
186
137
207
165
150
192
150
167
172
137
186
124
150
150
208
167
208
123
112
219
201
112
130
121
231
194
150
150
237
289
150
121
196
228
176
203
171
152
203
226
147
208
171
121
232
184
203
240
150
186
208
121
137
168
192
165
123
192
172
208
123
208
184
112
208
182
170
210
136
263
172
146
231
193
112
199
210
150
196
302
185
123
121
170
228
217
195
159
193
150
121
216
184
181
239
181
150
164
150
112
211
170
130
150
202
212
172
121
170
165
150
112
123
165
112
121
152
225
181
229
128
150
176
186
165
171
147
121
121
172
208
123
121
112
212
158
205
196
150
159
121
167
187
228
237
195
176
137
164
187
150
220
165
238
150
171
150
207
150
208
112
193
150
150
190
171
123
150
130
181
171
165
241
189
237
175
167
167
256
224
159
193
202
182
210
112
192
112
172
121
208
243
165
159
170
121
194
231
255
150
226
170
112
208
177
165
172
170
112
170
150
150
112
232
115
219
167
170
150
186
112
186
195
223
184
263
167
115
207
172
121
176
121
167
210
195
159
217
227
112
208
121
172
222
195
165
168
205
112
192
185
121
241
150
187
211
168
147
175
162
121
215
172
193
242
175
222
192
150
150
159
181
115
112
216
263
150
121
272
193
171
123
240
150
112
158
150
143
170
112
136
205
112
194
115
193
130
165
172
150
215
172
194
167
172
123
160
231
135
177
112
184
112
136
211
219
170
112
174
167
214
130
168
208
121
236
208
210
228
203
156
177
150
150
256
112
150
112
150
150
150
112
170
150
135
172
150
172
121
112
136
227
171
228
135
174
171
170
228
208
189
187
112
186
211
237
167
208
147
171
204
186
171
123
229
240
124
168
202
172
121
219
167
234
150
123
250
172
115
123
178
150
226
150
240
194
237
160
159
168
175
276
147
150
112
150
150
115
112
174
112
237
136
162
171
112
121
196
175
237
208
143
208
237
208
263
176
186
269
184
210
112
112
194
215
237
167
214
177
172
121
202
243
228
237
207
176
226
121
121
205
175
174
194
201
150
217
175
194
176
112
112
210
112
208
208
150
208
121
216
172
181
178
121
217
172
164
171
112
208
112
165
121
203
172
226
121
195
112
170
170
250
195
172
112
176
150
208
177
170
193
121
212
150
176
208
135
150
150
204
121
150
201
146
160
266
208
150
228
121
187
172
218
150
167
121
115
165
210
233
160
200
208
194
241
121
177
150
121
121
167
165
165
239
242
228
121
112
112
196
160
195
179
123
231
219
243
201
194
167
167
199
227
206
172
112
136
208
228
191
141
203
167
226
167
150
193
123
176
170
121
112
150
172
202
121
272
174
136
176
121
150
112
215
231
147
197
150
181
150
112
213
208
195
179
206
112
172
208
179
150
170
210
202
172
219
135
121
170
171
172
160
172
150
170
203
160
167
150
160
181
135
150
186
217
170
121
210
150
112
242
231
162
123
174
187
135
228
143
150
232
192
195
158
208
216
150
219
121
228
150
121
167
150
150
198
167
112
171
244
238
167
233
204
276
170
112
265
275
159
112
123
150
234
181
257
172
112
272
193
165
172
139
190
150
112
112
250
250
240
121
181
172
150
208
205
228
171
217
150
150
239
208
203
215
112
112
181
121
190
172
160
241
181
143
182
112
172
231
170
112
221
170
165
146
238
143
170
167
150
201
217
225
165
130
150
172
164
112
208
186
195
137
167
150
239
176
143
193
150
208
176
167
236
262
112
147
187
121
219
160
203
168
164
135
115
170
187
150
174
112
115
112
203
150
150
112
181
194
150
181
170
244
112
194
201
226
201
150
210
194
170
150
208
167
137
137
112
176
112
207
112
214
185
200
159
147
123
150
212
193
174
121
121
186
121
147
121
168
123
302
220
112
220
123
128
150
165
208
112
171
121
255
213
208
165
123
186
150
195
181
112
150
217
135
121
170
208
124
172
121
181
217
212
150
167
130
171
203
167
136
124
181
195
167
156
135
112
112
172
171
193
112
189
152
208
112
121
229
150
278
150
193
121
197
112
160
184
121
136
222
165
208
159
211
172
168
179
237
234
150
176
186
193
167
150
203
208
167
177
112
179
202
239
112
150
187
150
160
150
239
230
150
181
167
137
143
156
207
187
112
193
187
112
186
156
112
210
172
172
112
181
176
201
200
229
165
150
147
176
179
112
150
167
186
210
174
226
177
186
237
150
150
150
156
150
112
128
181
276
181
171
257
121
167
263
201
213
150
190
167
229
176
135
167
150
158
150
150
121
150
239
279
238
150
112
137
208
186
158
121
181
112
167
184
172
187
181
162
237
195
203
260
121
167
167
170
207
194
202
171
112
139
123
182
221
150
208
112
139
112
165
239
177
174
158
150
174
212
150
243
152
167
205
137
245
232
208
228
121
228
172
195
186
168
201
165
281
172
208
237
187
159
178
181
172
139
210
170
208
181
136
165
150
160
164
167
195
192
177
143
225
181
193
212
157
233
150
150
168
158
208
112
255
203
150
167
212
208
123
167
170
181
168
240
175
193
172
207
178
172
240
135
112
121
121
238
150
137
171
112
214
171
193
168
167
171
198
174
176
121
150
124
172
195
201
150
237
263
171
167
208
112
150
231
208
194
218
186
204
234
172
174
160
158
212
204
167
165
234
172
150
158
121
136
228
181
112
255
255
170
240
156
228
167
201
123
196
167
112
172
208
152
150
112
172
175
208
150
147
194
170
212
172
167
181
208
186
158
193
189
121
167
115
167
208
160
203
167
229
208
164
226
121
158
152
208
121
291
215
179
150
121
121
228
210
228
160
275
164
165
194
181
208
112
160
212
176
278
150
112
150
112
150
112
121
152
112
150
150
167
228
150
150
229
167
181
302
112
112
213
112
123
254
195
115
112
250
123
160
150
192
121
123
231
121
150
172
135
235
219
115
262
176
171
237
147
150
176
150
186
172
172
223
112
139
123
194
121
209
255
112
163
176
150
112
203
136
248
172
150
112
170
208
123
201
176
150
241
168
172
201
128
219
171
231
208
210
218
212
233
186
121
143
112
181
167
112
207
159
160
121
167
195
231
170
150
112
150
171
150
165
172
161
176
121
168
235
174
147
186
172
150
220
208
240
172
186
176
250
167
189
170
233
203
162
136
172
214
215
203
172
112
147
165
311
112
263
165
136
121
150
194
121
136
165
150
247
168
147
244
121
183
160
172
136
237
235
174
209
232
130
172
135
150
237
123
178
165
186
167
233
205
225
130
150
170
167
123
172
112
176
121
194
150
228
208
121
159
115
205
193
213
150
112
164
193
152
263
220
229
165
233
112
254
170
112
174
112
210
150
171
112
147
112
186
193
121
150
177
263
150
174
160
208
147
209
220
176
167
237
147
194
210
208
112
123
152
208
121
172
150
203
233
210
123
263
210
167
112
150
112
158
156
205
136
237
214
165
112
150
150
181
170
112
123
130
167
212
217
150
121
171
203
152
201
134
171
236
121
150
167
216
187
164
208
164
186
150
228
121
150
112
123
176
192
242
121
128
167
176
123
291
205
121
176
219
195
147
150
212
236
184
172
208
112
115
164
121
193
193
112
121
150
163
172
150
233
150
181
181
162
208
112
112
218
170
150
276
147
165
192
112
150
150
176
160
150
246
187
182
112
162
184
123
165
112
176
160
174
123
171
215
172
175
123
187
181
112
204
121
121
112
112
255
115
112
121
121
184
201
150
274
136
177
223
150
121
136
137
171
135
115
112
150
150
121
171
137
170
135
121
226
219
172
192
201
112
147
115
181
170
192
150
226
164
150
208
194
150
170
240
208
150
150
212
187
232
212
172
112
170
123
171
123
215
186
160
165
112
112
204
181
171
121
164
150
208
168
201
164
139
177
168
187
203
115
150
147
170
167
214
112
158
243
184
112
167
112
186
123
152
257
172
210
121
203
208
210
121
112
208
153
123
112
239
225
150
187
194
172
112
172
150
176
228
181
207
172
187
198
170
237
214
121
136
208
176
121
176
150
210
150
170
208
112
121
170
112
150
172
174
201
112
121
164
208
276
181
167
167
143
233
165
112
239
112
208
270
226
123
150
207
231
112
168
167
176
171
231
121
112
203
115
145
237
112
233
167
123
112
180
150
176
159
226
164
160
115
167
232
167
150
234
250
181
123
172
182
123
255
194
170
112
237
121
186
177
218
195
167
172
152
264
167
170
217
257
170
234
150
165
194
112
150
175
205
195
115
219
209
167
207
172
150
202
121
123
150
231
229
205
121
186
121
237
112
150
150
150
218
171
167
137
302
177
201
194
249
150
209
150
112
137
128
193
121
230
136
130
228
185
208
150
124
223
150
196
195
258
167
123
150
206
112
150
237
203
150
150
121
121
121
150
172
130
147
150
172
172
200
177
150
121
207
112
240
208
147
121
172
208
112
159
121
160
171
156
187
236
187
182
124
121
184
172
176
168
112
176
186
194
202
121
170
209
210
250
121
159
194
150
233
124
196
198
150
150
208
208
123
136
158
147
112
195
150
170
179
210
239
123
172
112
150
186
265
172
150
176
171
212
187
152
215
239
171
177
150
235
121
112
223
137
186
208
187
208
257
150
170
112
150
176
215
121
226
150
237
136
172
302
165
194
172
164
196
123
225
208
172
150
121
172
208
121
121
208
207
150
168
202
208
121
121
167
172
202
161
164
124
186
167
202
171
172
174
186
195
193
135
150
128
207
150
121
152
207
194
250
208
150
212
165
208
174
150
210
230
212
178
157
150
187
176
172
112
194
168
167
156
164
112
203
112
205
219
208
187
237
217
150
172
121
112
156
233
112
257
150
210
210
158
112
228
144
150
150
181
228
112
194
186
112
123
201
159
190
195
176
186
150
135
208
240
186
135
206
150
150
172
172
193
208
201
191
144
135
128
112
112
136
112
213
207
152
170
121
186
150
202
226
208
210
159
187
171
212
150
204
121
240
172
150
255
159
150
193
278
192
181
202
121
137
167
218
237
208
136
267
121
231
171
121
123
212
112
150
171
136
181
205
170
121
176
167
121
112
136
170
167
167
195
194
170
170
216
124
150
170
112
170
167
177
201
167
186
255
177
208
177
210
121
150
208
194
210
150
112
208
238
150
172
172
231
179
235
212
150
220
112
205
207
147
121
121
226
163
167
172
264
123
216
164
150
175
150
194
202
112
162
209
112
172
135
208
121
187
124
150
123
147
121
182
195
150
128
150
167
121
128
174
150
135
193
159
171
179
228
213
121
210
201
170
112
150
112
160
167
237
112
124
121
112
186
135
143
192
223
131
165
176
172
123
121
228
112
150
153
150
201
181
121
199
240
184
121
202
253
212
167
165
136
217
150
170
112
158
208
167
174
186
150
172
232
186
150
172
112
194
228
165
121
154
231
250
150
209
121
226
186
208
136
167
208
150
158
172
278
172
150
208
172
121
144
177
128
150
250
172
112
194
112
187
112
150
112
167
112
192
123
187
214
112
112
231
167
165
226
150
176
218
171
172
208
229
150
150
246
167
208
192
121
225
112
231
193
121
165
115
147
253
176
170
185
208
171
165
231
255
170
226
195
229
215
205
218
112
236
164
186
210
135
201
112
170
172
167
143
205
152
225
123
186
150
193
201
204
121
115
186
150
172
132
112
164
171
147
181
123
156
177
112
179
208
170
150
172
181
195
233
184
171
181
228
208
193
112
172
121
150
171
196
112
220
150
243
181
121
160
150
121
144
226
195
208
167
208
172
150
164
121
112
205
197
243
172
210
181
160
181
112
186
177
157
112
150
150
208
176
164
156
121
217
135
195
189
170
178
121
161
175
200
147
112
163
176
167
150
124
192
238
150
225
189
123
189
115
121
208
171
171
208
165
112
207
246
204
201
112
170
170
160
121
123
150
150
174
150
168
135
263
215
137
196
136
208
220
121
112
167
208
121
302
193
210
121
112
237
170
175
236
193
150
222
243
121
128
137
202
112
208
230
201
172
150
121
170
195
228
137
112
171
171
128
179
210
193
170
112
159
297
208
220
208
195
121
112
208
194
172
192
197
172
241
208
150
250
150
243
242
216
150
156
170
112
112
150
167
219
143
150
193
156
208
167
170
112
172
146
176
172
165
112
208
150
171
167
170
193
171
123
150
167
121
239
214
207
150
193
167
136
121
237
238
195
208
168
121
136
115
231
121
150
121
247
112
167
112
150
150
176
121
172
165
186
240
250
297
178
250
176
167
170
165
136
137
229
170
121
170
150
186
212
244
130
212
121
176
278
201
184
201
167
172
152
229
168
143
150
256
172
150
121
186
192
272
181
208
121
207
136
181
208
112
121
228
195
175
231
112
216
194
208
150
167
167
172
123
112
144
257
219
171
181
186
121
208
121
250
158
247
156
255
176
194
136
115
136
115
184
112
150
251
143
167
220
208
123
167
128
172
112
186
112
112
137
172
172
208
123
196
112
158
177
176
208
186
167
200
150
121
206
193
172
170
226
208
201
208
195
208
178
112
164
121
112
181
195
181
210
202
112
172
135
271
136
112
255
244
208
202
176
150
167
251
249
136
167
218
170
150
150
136
194
112
112
255
250
217
172
167
147
112
216
217
250
147
258
208
190
266
203
150
112
185
172
228
177
171
123
150
123
112
218
115
137
150
162
257
121
135
217
159
193
130
167
184
121
112
170
150
201
235
231
228
112
171
121
208
177
146
176
172
186
230
242
112
121
150
170
150
194
172
232
170
121
198
167
299
150
256
186
156
172
207
192
112
187
128
189
137
112
171
150
210
157
150
147
147
172
150
121
171
121
237
170
167
115
170
150
150
150
252
202
200
112
130
176
187
175
121
242
157
115
215
186
172
172
150
150
254
250
170
235
170
121
167
121
226
208
112
220
156
171
143
115
192
196
176
115
121
150
164
194
210
121
164
121
196
193
208
150
121
158
112
112
150
170
192
171
135
208
137
176
124
112
181
195
211
258
177
205
186
213
121
208
211
188
150
165
112
112
260
171
166
112
172
181
150
112
206
171
143
202
195
220
172
174
159
240
172
150
193
208
170
193
187
252
164
130
203
164
208
170
258
156
204
121
137
237
229
186
232
302
112
121
225
193
168
170
189
150
221
181
170
136
121
205
167
247
147
150
124
170
194
236
165
173
135
181
150
170
112
228
208
208
208
168
189
168
112
123
167
167
121
208
165
202
237
172
165
124
212
177
208
171
196
181
255
181
170
231
112
112
208
195
164
171
128
201
211
150
112
190
150
137
176
171
187
121
172
150
123
172
208
172
225
150
147
123
193
208
123
207
182
196
210
216
150
207
112
195
208
176
112
160
124
175
150
137
159
194
208
193
167
158
201
112
262
165
130
237
136
165
150
121
209
123
194
158
171
152
165
165
236
172
182
156
121
193
194
193
121
112
121
150
170
203
112
130
195
208
202
143
213
150
121
250
194
168
123
192
135
236
150
192
225
115
172
231
112
221
150
177
189
150
168
165
214
167
143
205
208
170
112
183
186
112
156
188
172
112
165
195
212
112
164
208
167
194
112
184
112
181
121
115
123
121
202
208
157
194
158
184
123
174
150
171
121
201
150
189
194
123
150
176
150
150
172
231
112
167
112
160
167
160
228
135
190
238
171
232
150
112
137
121
171
150
150
150
172
112
228
130
258
112
121
171
159
143
159
112
195
209
175
188
121
186
130
115
167
212
150
121
150
297
172
203
159
172
135
112
177
150
170
208
175
121
202
123
208
172
207
137
167
231
112
172
158
159
128
123
121
121
240
123
150
208
156
123
123
121
228
172
112
208
112
231
123
136
197
255
208
172
186
135
177
195
160
121
172
159
135
121
172
230
165
177
237
208
112
208
231
257
150
164
150
172
112
208
197
217
186
123
174
208
229
167
192
186
228
233
201
150
214
279
225
115
223
229
115
210
159
170
179
167
121
241
112
274
171
165
112
205
187
121
121
187
123
164
112
195
150
177
231
216
130
212
159
115
193
164
233
244
223
128
121
195
195
152
184
166
146
150
172
235
172
150
121
177
199
208
195
172
172
208
208
210
112
228
121
225
297
172
136
247
179
121
123
167
159
121
228
272
121
167
124
112
212
112
112
150
209
186
123
150
165
172
174
159
202
156
136
181
171
264
194
239
150
165
115
167
112
167
237
198
170
209
112
143
123
171
209
150
195
194
237
130
176
150
208
193
299
230
220
177
234
121
167
261
121
240
203
193
181
192
123
112
243
190
147
189
150
156
171
136
112
121
170
170
150
210
172
172
171
225
189
172
187
121
186
150
123
186
176
203
165
203
176
112
112
137
136
167
121
150
150
208
167
172
213
146
121
208
121
112
305
112
150
112
150
199
217
210
202
150
207
202
150
165
112
123
172
167
150
164
193
171
121
164
227
112
253
121
208
150
152
184
194
172
203
170
167
161
171
181
135
147
112
121
205
233
112
167
123
112
172
112
112
167
171
144
112
208
208
115
193
177
158
226
167
137
167
243
115
226
165
112
170
137
165
170
147
150
112
239
112
136
135
150
263
194
167
227
121
135
228
150
176
156
150
202
168
147
228
165
150
210
112
112
208
218
112
239
221
121
239
112
167
260
203
210
131
135
165
121
208
172
272
156
210
202
172
215
216
171
131
121
170
167
201
121
172
112
150
167
147
231
121
170
121
181
184
172
195
208
115
190
201
112
137
219
203
112
136
176
228
112
121
115
192
158
121
121
165
135
164
121
112
150
112
227
214
195
172
208
136
156
171
186
201
128
245
185
202
233
150
167
165
121
181
165
174
172
176
170
112
135
202
171
228
228
164
167
208
187
121
124
165
207
112
178
202
181
216
208
150
200
259
150
150
150
194
164
171
159
152
112
208
172
135
174
156
172
168
265
124
157
243
176
172
121
123
112
199
194
167
174
195
201
182
177
171
121
208
112
179
170
237
171
135
283
178
137
172
172
210
167
208
302
172
150
193
143
150
226
165
164
167
150
208
121
250
123
170
208
160
147
112
167
150
216
236
137
136
218
186
135
195
123
121
121
208
121
228
123
167
204
250
209
175
128
210
226
167
195
112
176
121
227
206
203
150
212
178
171
121
232
159
170
121
150
112
202
187
172
112
145
208
150
112
158
121
165
250
277
150
225
230
121
156
219
121
209
150
176
250
128
186
150
150
150
194
203
187
123
112
250
144
135
172
150
150
135
172
212
171
231
194
208
170
193
115
150
186
121
181
176
195
172
208
265
237
112
194
210
230
194
150
136
150
208
170
207
160
123
171
176
124
210
112
203
137
208
147
177
170
121
212
150
170
286
130
170
220
112
189
176
170
115
193
259
121
167
228
135
147
185
227
229
147
150
194
121
112
121
192
208
202
208
194
237
121
194
143
150
192
150
150
121
158
150
123
150
193
150
205
112
112
112
139
159
162
152
187
112
150
201
160
195
177
197
190
186
201
172
150
235
208
112
203
241
171
240
115
172
150
112
208
123
177
225
156
250
176
212
244
112
150
147
247
217
217
209
171
152
121
172
121
171
150
121
181
136
208
172
135
250
112
212
204
121
172
150
214
150
140
128
112
152
167
159
208
208
164
121
121
174
230
115
273
172
158
150
213
150
239
121
278
176
171
213
176
170
200
112
172
112
135
208
259
112
208
121
172
193
264
123
112
143
201
172
115
215
208
112
203
150
124
277
170
147
112
147
196
150
156
167
121
174
194
194
195
115
158
156
256
193
191
185
193
131
165
231
243
123
121
167
201
193
177
112
112
195
173
201
121
176
181
171
170
176
193
123
112
257
150
121
121
112
112
121
242
167
128
112
150
215
172
177
177
150
208
193
175
195
112
204
208
265
250
195
244
189
150
177
150
150
212
237
165
121
164
112
185
239
231
167
150
212
214
194
215
150
150
186
228
167
212
220
115
167
205
112
201
112
237
150
150
261
216
150
112
189
226
121
168
265
278
121
171
112
121
170
112
177
225
193
212
153
212
121
150
172
112
170
150
167
137
193
216
112
164
112
112
278
174
112
112
181
135
112
237
176
194
150
171
115
170
170
121
195
186
231
112
194
112
164
171
194
159
150
239
190
210
121
194
218
165
215
195
112
150
137
231
172
112
189
124
175
121
153
124
147
207
208
250
136
172
179
208
177
121
219
124
170
229
186
214
181
150
150
121
174
112
218
226
302
208
184
153
186
207
144
159
194
112
194
112
147
121
195
240
195
112
246
177
170
187
150
123
147
112
242
115
214
171
210
164
171
247
150
187
121
227
172
167
177
150
196
167
176
226
172
121
226
183
193
167
176
115
179
174
167
135
171
201
170
170
112
181
212
205
150
112
135
226
174
150
208
121
192
135
172
240
136
171
196
150
170
168
238
137
123
202
150
164
177
150
170
144
195
208
210
121
208
172
186
193
147
232
263
293
124
235
150
112
150
150
123
112
212
203
123
227
171
112
168
147
156
175
257
130
217
176
195
192
186
123
165
128
115
202
194
172
172
150
171
181
150
228
123
223
150
112
193
141
216
208
203
208
150
209
186
167
181
208
135
121
212
171
121
181
167
121
121
158
206
176
241
194
150
172
212
302
137
186
158
195
150
230
171
147
160
121
123
150
158
167
112
161
123
172
156
190
250
123
150
208
181
121
124
172
195
150
158
164
242
186
200
170
195
115
255
171
302
246
147
167
170
193
150
208
157
123
194
185
243
147
225
186
165
176
187
170
203
165
128
161
178
112
121
187
112
170
152
112
160
193
181
195
161
195
226
139
150
202
201
231
208
136
231
150
259
192
215
150
112
159
250
136
167
201
186
170
156
159
150
158
214
121
189
123
177
136
136
181
272
165
130
147
150
147
219
256
167
172
228
171
112
302
172
115
115
136
156
203
250
181
168
302
172
150
291
112
121
215
171
219
202
192
202
200
164
156
135
176
143
179
136
158
112
150
176
172
168
150
168
150
165
194
170
196
121
112
229
112
172
135
156
171
172
233
182
147
187
112
195
150
193
232
208
195
150
123
123
128
194
164
147
170
112
112
150
150
208
202
112
172
123
212
121
249
121
202
164
193
150
181
276
179
112
172
194
205
272
203
112
112
121
159
239
130
121
150
182
208
144
234
184
150
112
302
144
121
150
121
184
187
208
208
263
136
194
150
201
201
181
260
256
158
167
164
160
231
208
176
172
170
150
221
194
208
220
150
172
121
217
158
176
236
136
192
150
112
112
121
136
172
208
147
160
136
232
228
181
209
150
245
121
208
137
136
243
121
186
212
167
167
121
202
176
150
194
112
189
121
167
222
121
229
150
208
193
165
136
269
150
112
165
135
147
172
170
150
170
167
167
228
150
150
165
130
193
124
121
150
123
121
150
150
165
165
165
121
172
172
232
167
231
137
160
171
234
115
150
274
167
208
150
212
150
212
194
195
156
121
195
123
208
177
167
152
170
167
266
192
185
137
187
167
167
167
233
112
204
194
233
170
156
208
150
220
170
201
150
192
239
115
209
171
193
157
192
150
146
112
176
208
123
167
112
243
162
147
115
202
186
181
228
167
124
112
186
121
212
218
194
170
172
219
212
112
170
172
112
121
167
190
170
161
165
161
172
189
121
171
208
172
228
167
228
171
121
208
172
210
200
208
229
121
112
150
150
180
121
201
150
212
212
150
150
219
128
130
177
216
165
216
144
232
177
210
302
276
210
152
228
231
185
121
210
121
137
168
218
150
150
124
150
186
171
172
170
112
112
150
144
150
228
179
235
206
225
237
121
192
162
212
201
150
240
236
213
121
115
205
112
242
136
150
217
150
136
121
210
173
167
128
233
115
112
177
112
168
121
187
150
112
176
136
210
112
175
167
170
228
121
112
136
208
172
167
193
172
150
121
121
123
112
210
170
228
177
121
225
164
150
179
112
144
187
167
150
121
128
162
201
228
170
150
186
208
112
152
181
136
208
167
112
112
150
195
205
226
135
175
232
177
121
121
167
150
228
212
121
172
150
150
150
193
150
222
167
121
165
121
112
112
202
193
167
176
194
112
158
229
172
170
230
170
209
210
121
259
150
172
219
112
150
171
112
176
193
136
150
168
112
172
121
229
124
201
190
159
183
171
121
121
121
136
167
235
167
275
159
182
189
130
189
195
150
250
170
150
168
150
194
158
172
214
170
192
156
176
194
128
172
195
202
192
202
143
208
112
205
201
168
202
210
208
205
209
165
172
171
195
261
112
150
121
226
168
160
167
150
171
194
176
150
150
112
177
150
165
121
181
165
187
150
281
171
187
183
217
210
150
188
167
159
192
112
112
202
177
204
150
186
186
190
172
195
143
139
213
176
123
112
265
177
276
231
121
150
112
177
256
112
241
121
221
128
212
112
195
179
208
225
212
186
150
172
121
208
228
167
181
250
175
150
128
182
208
137
170
210
210
171
112
208
150
121
112
192
112
172
165
112
194
158
172
181
121
172
238
194
210
176
150
208
146
150
121
112
159
208
121
172
136
174
243
233
112
150
150
210
150
123
183
167
228
150
150
214
121
171
172
186
179
225
121
135
186
193
164
121
112
150
112
176
192
175
121
189
115
209
227
205
208
215
137
205
204
211
172
195
150
259
164
160
121
179
137
181
208
213
172
202
210
193
136
121
147
234
177
210
172
150
170
167
121
202
195
158
150
168
168
176
165
150
237
193
112
242
159
210
146
150
150
135
203
172
171
156
150
165
170
172
171
165
150
214
135
212
121
112
136
112
112
228
170
192
181
178
112
195
123
150
250
135
150
218
112
167
112
112
123
165
229
150
194
121
170
171
244
252
150
186
150
121
186
112
251
124
197
167
150
112
112
168
186
219
112
112
144
192
156
202
172
157
239
112
208
250
215
143
250
112
167
165
121
167
164
161
195
236
165
150
112
124
112
170
208
137
150
208
172
124
121
207
195
150
231
194
150
121
216
237
150
210
220
207
172
121
206
170
208
150
172
163
121
231
147
172
112
205
115
121
135
203
208
123
150
139
231
150
213
150
228
208
169
219
276
136
203
150
187
181
219
150
160
170
115
170
186
112
167
135
112
220
195
112
112
112
167
194
150
193
237
150
175
115
115
164
240
192
123
208
121
175
237
167
112
181
208
150
121
302
150
196
235
124
164
208
186
150
135
143
171
213
145
186
172
196
189
121
228
150
182
281
228
216
171
121
170
121
170
150
237
150
112
158
214
202
231
193
112
208
219
210
212
167
176
150
150
150
252
194
215
175
167
121
121
227
150
137
228
177
150
172
176
146
170
205
208
219
112
112
123
150
167
112
112
121
121
112
219
225
112
152
172
150
164
121
208
167
150
112
241
201
121
150
208
150
172
220
165
150
112
121
182
210
176
177
121
121
150
170
187
170
121
218
167
147
150
121
186
172
112
284
239
194
243
172
158
214
147
186
215
236
130
178
150
150
158
150
205
212
259
210
162
172
237
124
150
187
173
115
124
112
171
150
237
121
164
218
181
229
276
150
150
202
179
170
121
194
237
198
160
260
156
150
187
201
112
171
188
167
121
157
220
171
112
121
174
150
196
172
210
225
313
203
186
196
150
123
128
167
208
136
177
121
223
135
201
150
144
228
194
135
224
219
194
112
115
208
195
218
215
240
196
195
182
112
228
121
208
163
165
181
112
121
135
199
193
121
186
150
123
207
112
128
128
121
174
172
274
170
256
112
150
167
150
159
150
112
210
202
181
150
150
123
203
200
202
226
202
176
172
112
150
171
121
202
176
208
250
112
121
192
194
177
112
150
181
276
112
150
112
164
219
192
219
190
167
281
112
238
112
201
165
250
147
232
263
195
213
150
172
237
112
112
147
159
150
121
121
302
121
186
112
112
139
193
221
112
232
174
162
147
186
172
112
112
150
200
112
150
131
150
174
112
228
152
112
150
136
235
172
150
170
250
137
121
179
195
242
195
263
187
165
276
229
123
150
170
226
121
181
172
196
186
112
147
233
181
121
150
165
181
112
181
150
176
167
150
150
177
112
171
276
209
205
150
226
172
164
115
121
164
229
112
150
236
229
167
172
121
208
112
181
203
194
150
230
208
172
156
112
269
205
124
150
281
187
231
146
137
112
165
158
141
194
112
179
208
150
203
124
228
128
194
167
172
208
182
244
136
181
136
150
170
255
121
121
123
121
124
150
121
147
208
150
150
112
172
168
121
121
208
257
187
217
194
184
219
152
206
167
229
176
181
208
302
172
218
121
192
112
172
150
112
121
177
112
123
146
226
172
123
123
219
201
121
123
201
112
152
208
244
170
232
165
217
228
150
193
202
202
194
150
150
194
121
164
181
255
208
210
192
225
160
130
195
164
176
212
220
150
170
186
187
135
172
170
165
192
181
150
130
121
228
208
112
144
208
237
171
167
194
174
172
121
172
150
135
203
215
147
208
167
170
175
177
195
160
164
165
112
147
112
195
192
208
181
208
178
141
212
172
135
172
150
112
175
239
212
136
150
152
230
150
121
172
167
194
170
121
195
137
239
207
177
152
176
121
150
115
257
174
150
150
146
150
162
205
186
124
150
246
121
150
112
201
156
147
195
237
186
208
206
186
112
123
121
219
164
150
165
237
150
150
167
222
195
115
172
167
186
186
172
168
176
112
193
150
217
208
187
121
150
176
135
225
237
112
158
212
112
181
150
112
152
134
136
164
208
202
112
167
121
168
217
112
159
124
208
177
150
213
302
131
123
146
121
147
136
237
172
112
187
167
184
172
150
232
136
115
172
208
150
167
226
121
225
171
150
170
164
208
172
115
199
194
150
167
172
156
121
263
165
124
115
150
189
203
112
208
194
244
150
150
150
172
112
187
128
194
212
150
208
115
150
174
221
167
194
150
112
178
170
219
121
172
250
223
121
121
150
240
159
165
194
123
195
146
167
170
112
181
159
162
212
160
202
186
112
150
135
171
112
152
194
186
136
186
172
165
278
123
194
204
150
121
251
170
158
208
187
143
229
232
218
203
281
159
203
112
187
179
136
212
135
157
187
228
112
203
194
201
112
240
208
147
194
193
165
231
182
208
210
168
208
178
112
175
177
172
112
170
167
112
112
121
112
202
112
121
171
112
123
260
172
177
150
160
136
170
146
242
195
121
181
228
150
195
112
152
167
112
238
157
144
177
121
219
193
172
193
121
128
162
217
281
193
203
181
121
163
217
123
147
239
112
112
150
210
181
208
124
249
208
179
112
239
230
229
309
214
121
124
123
217
150
220
239
112
174
112
201
150
165
235
190
112
172
112
203
112
172
150
193
165
121
225
112
206
226
270
165
176
162
112
229
112
225
176
165
176
147
150
210
159
172
206
121
159
165
195
217
208
237
176
181
157
159
202
172
170
121
181
150
135
250
123
167
137
112
121
121
181
170
121
210
186
215
208
237
263
212
208
208
192
186
189
137
136
115
165
220
121
150
172
182
124
237
225
208
124
137
194
205
181
165
150
208
172
298
121
167
167
112
150
181
237
112
121
164
167
185
167
176
167
150
170
208
210
195
192
112
136
302
205
176
184
237
150
171
160
112
255
208
165
121
208
195
164
233
176
225
205
170
181
130
124
112
150
186
205
208
136
170
112
171
112
167
168
165
208
121
182
208
208
150
172
157
121
176
201
121
150
228
147
237
181
150
202
194
265
135
159
209
229
123
121
150
196
150
174
121
136
209
157
205
276
172
208
218
231
172
205
199
203
174
172
204
170
124
128
255
135
121
195
156
203
237
193
136
172
137
187
194
208
121
195
161
161
167
208
112
112
216
150
172
172
147
240
212
172
168
158
208
136
112
159
150
237
152
228
213
235
194
159
246
143
170
203
137
198
150
235
112
250
121
232
162
195
150
150
208
150
150
194
212
210
217
112
167
177
164
172
121
112
236
193
168
167
150
123
228
165
172
183
150
195
112
202
171
275
170
167
177
228
208
288
174
181
112
150
112
150
182
233
211
223
224
112
193
123
194
212
112
195
172
210
187
201
158
255
235
112
177
130
112
121
150
195
137
130
150
253
177
208
232
171
160
159
194
299
147
212
170
167
164
205
181
160
208
208
150
167
194
121
121
157
234
237
250
236
185
193
121
112
207
121
265
167
165
181
229
112
165
211
208
121
150
243
208
145
205
150
121
208
170
112
123
137
147
317
171
130
187
175
186
150
150
172
210
167
112
174
136
210
156
165
150
215
207
174
211
135
187
124
165
171
170
112
171
223
150
159
171
177
216
112
208
150
167
181
112
233
112
150
144
137
170
158
238
208
171
194
112
167
297
112
177
112
176
212
150
171
226
259
254
205
159
121
147
202
181
171
112
193
137
121
112
136
150
167
150
176
172
194
137
158
132
217
195
150
177
228
123
172
121
150
150
128
150
135
124
176
196
176
124
112
228
231
185
112
187
165
172
152
193
150
123
203
213
112
208
217
165
165
150
135
186
164
224
152
121
112
121
162
208
186
205
112
167
172
214
112
208
199
121
179
143
168
165
243
214
172
233
230
181
121
172
201
135
124
150
160
112
195
123
212
217
121
115
202
115
230
123
208
172
186
150
150
167
181
165
123
143
165
123
137
200
144
170
167
172
208
194
112
115
215
170
247
170
135
121
210
160
208
150
174
112
210
193
112
121
168
205
176
168
179
195
112
136
134
150
218
181
194
239
167
228
187
124
217
172
226
167
150
150
150
115
202
237
244
175
167
281
205
276
147
186
272
208
172
219
172
202
179
181
150
135
156
192
182
137
237
158
150
150
147
181
137
121
121
172
194
220
121
186
159
170
150
176
150
209
254
158
112
121
193
225
115
121
189
170
112
112
239
158
150
228
178
232
170
164
183
176
202
171
121
147
150
150
196
172
171
167
172
208
168
193
164
150
171
215
172
177
276
208
112
150
177
130
164
240
112
167
167
219
203
165
228
143
123
203
176
228
170
175
112
297
172
255
208
178
165
237
161
302
112
112
210
255
150
150
262
194
181
112
121
204
174
230
150
123
297
172
165
172
170
112
152
178
194
150
199
228
170
128
212
152
121
250
170
156
212
170
150
219
112
208
193
204
170
187
233
150
152
150
211
237
256
112
121
237
165
177
202
112
208
115
121
150
172
237
158
226
210
112
150
147
179
194
137
170
170
150
172
237
248
112
121
112
150
123
112
112
123
204
156
175
121
167
150
171
187
187
121
170
167
172
123
150
228
124
165
150
150
172
186
203
175
171
171
212
194
172
135
210
112
135
176
205
112
112
172
130
202
150
206
128
187
123
159
167
150
228
229
289
150
212
174
164
121
161
172
147
150
121
112
193
150
121
184
121
240
228
240
112
172
208
226
112
121
112
172
168
164
181
186
121
170
203
170
237
224
203
170
156
123
172
150
172
177
123
147
121
152
158
174
112
187
302
158
228
123
252
158
167
208
194
286
150
121
158
208
150
150
250
208
187
164
170
264
204
121
156
112
159
121
208
167
226
217
194
217
228
297
208
205
165
202
121
150
201
167
150
208
179
143
187
201
231
172
170
186
150
160
201
282
172
210
165
150
150
112
165
121
208
186
150
223
160
112
194
112
208
121
200
123
150
159
167
147
208
150
121
264
170
152
150
121
263
247
135
231
158
233
150
184
172
121
208
176
172
150
121
150
167
172
150
181
121
176
208
124
208
172
245
201
171
208
278
112
202
150
172
165
121
204
202
210
201
250
136
223
167
121
112
167
170
112
172
115
228
172
121
150
112
150
112
186
135
208
150
220
181
121
181
208
260
150
206
167
121
211
184
121
176
181
121
226
136
246
150
167
150
264
172
112
168
170
181
236
176
135
208
214
194
115
240
123
147
231
150
171
194
135
185
214
170
150
186
136
150
259
196
150
112
215
208
112
150
176
124
217
210
139
226
186
206
171
172
237
205
214
121
189
171
208
208
121
228
177
208
250
228
136
205
208
112
193
172
225
112
216
167
202
150
265
220
176
186
170
121
194
194
121
225
195
121
158
172
170
150
170
236
150
158
156
152
211
171
210
167
160
174
167
204
212
150
144
123
112
172
170
195
152
208
121
202
204
228
170
164
208
135
193
170
207
136
150
217
186
136
208
227
189
112
150
190
237
121
174
123
159
226
208
243
164
135
152
112
147
159
255
207
121
150
241
228
167
160
150
165
139
193
150
150
123
167
170
131
241
150
150
218
177
165
212
121
199
167
167
165
160
205
185
121
176
136
139
208
150
245
171
135
174
150
186
121
121
186
150
121
196
209
165
152
150
171
159
150
160
201
167
243
165
168
234
238
150
171
208
123
136
121
123
237
176
176
121
112
159
171
302
160
237
150
242
167
194
121
212
121
213
123
147
121
208
137
156
171
112
167
223
187
194
121
171
174
121
203
112
194
150
158
240
136
139
205
240
135
150
172
150
112
167
176
112
208
150
123
112
150
183
135
124
167
279
159
165
112
124
172
228
221
167
215
150
208
208
212
207
184
239
150
112
150
183
238
112
229
112
219
136
171
158
193
150
171
184
171
194
150
213
121
170
231
112
184
147
170
123
150
228
202
211
266
150
136
112
202
209
157
112
177
194
171
150
195
165
139
115
112
121
172
243
208
171
115
217
150
147
171
208
170
115
112
123
121
208
172
193
112
208
170
181
213
121
208
181
235
115
167
207
121
150
186
150
208
212
168
156
174
189
186
194
121
228
232
186
232
137
210
195
179
121
112
121
150
272
150
237
150
172
208
112
187
115
220
112
170
159
175
195
201
167
172
253
176
175
194
112
150
178
112
172
238
195
228
130
170
186
150
158
158
239
123
201
112
130
239
150
163
167
225
201
177
167
150
189
112
167
193
170
210
205
175
121
144
202
272
212
112
195
172
208
208
176
150
150
202
215
237
152
150
201
150
115
112
203
150
150
187
202
150
162
112
150
196
171
174
136
170
225
250
202
112
147
112
202
172
124
205
208
218
121
243
172
164
208
165
167
194
217
176
112
123
124
150
193
135
167
136
159
210
257
170
112
121
174
135
123
172
194
150
302
150
159
181
240
150
215
208
112
150
150
204
150
157
185
150
121
203
158
150
115
210
195
170
281
215
184
225
204
241
150
172
189
131
208
193
194
150
135
241
170
165
143
112
160
193
171
124
170
208
173
276
201
255
194
227
171
193
150
136
130
150
255
121
176
167
179
172
164
194
123
208
231
209
242
204
112
272
181
208
240
121
150
160
170
150
171
278
241
137
123
212
208
172
167
208
112
174
150
156
250
172
121
165
212
150
193
123
150
208
136
170
112
150
152
197
112
201
214
238
174
167
263
217
227
167
147
187
184
229
194
157
112
112
190
302
147
225
233
135
210
208
186
228
181
115
160
171
121
223
194
175
233
147
228
228
195
167
207
150
150
181
239
121
167
158
174
220
115
112
150
219
198
193
135
150
189
158
121
150
194
168
172
203
212
240
193
228
176
121
216
215
208
112
115
302
124
121
208
212
112
160
112
225
112
135
212
228
176
210
147
123
237
280
201
208
171
186
121
172
135
201
124
192
172
181
112
176
150
174
170
144
158
215
168
212
228
253
137
130
150
195
237
231
121
215
205
170
150
231
202
195
212
150
121
240
243
112
161
208
194
208
208
167
121
150
193
150
278
189
112
167
143
260
193
241
195
208
250
150
208
112
243
121
121
137
150
123
182
201
170
171
174
121
167
124
186
190
144
136
203
228
208
175
181
165
228
167
121
135
176
150
121
112
150
112
150
212
171
194
212
112
167
112
215
137
130
112
170
235
170
150
156
193
128
228
150
258
167
254
228
200
167
204
226
194
181
128
165
176
208
203
137
235
168
176
194
164
150
207
167
112
112
171
121
200
274
171
189
172
170
240
186
253
168
135
171
211
195
158
193
150
150
195
210
150
112
150
167
208
226
203
186
121
112
150
167
147
150
121
150
172
201
208
128
172
121
181
208
225
115
202
221
171
192
150
219
203
167
204
236
121
168
158
212
112
150
232
212
176
137
172
121
215
158
137
241
159
150
150
121
202
165
150
167
150
208
171
196
121
150
210
201
123
205
112
121
170
112
121
222
150
172
187
112
150
112
203
112
121
225
178
217
193
263
228
170
208
123
170
193
212
156
123
226
112
186
186
172
194
253
171
171
152
184
121
208
187
167
213
121
212
212
170
240
164
150
147
231
121
135
277
167
130
112
220
128
170
135
195
217
192
210
121
121
167
213
112
250
206
201
193
150
170
172
171
231
225
170
112
150
123
115
276
121
201
121
208
176
195
220
152
208
228
237
178
112
112
167
172
150
220
257
123
263
150
171
152
187
165
244
180
160
237
121
194
150
186
238
150
209
228
174
202
112
150
170
137
217
192
152
150
170
121
150
252
208
159
115
150
152
202
150
190
181
213
176
121
193
171
205
209
173
150
226
231
212
112
235
231
130
112
177
150
121
150
208
208
171
165
135
172
173
187
121
231
216
150
165
266
150
208
150
112
225
150
121
112
150
175
121
121
150
112
167
121
147
115
178
263
240
167
171
123
162
195
172
171
112
121
187
174
208
176
121
121
112
186
192
141
263
211
197
150
217
112
176
217
164
187
195
112
186
150
226
170
150
121
121
176
115
150
263
112
194
128
175
172
150
143
170
208
170
150
112
208
121
115
130
150
112
207
150
194
112
212
209
121
150
121
212
186
146
207
150
220
194
208
170
150
135
112
165
150
187
172
150
167
167
123
214
171
147
121
150
186
115
171
194
217
186
165
174
172
175
171
220
194
112
231
150
121
160
193
150
112
150
237
121
172
112
121
225
172
130
158
167
165
208
225
112
170
196
243
244
188
121
208
150
172
167
150
112
112
167
150
205
150
160
150
245
197
131
239
241
194
202
170
181
215
163
201
173
112
172
208
245
112
128
150
194
150
121
167
195
250
231
193
172
205
228
172
187
205
237
181
112
194
252
112
172
167
150
147
170
135
150
168
208
228
150
124
190
208
192
112
112
158
150
123
199
112
147
233
250
112
208
167
167
208
130
202
157
112
226
202
228
130
208
219
156
216
112
112
215
112
147
270
243
208
220
172
164
192
136
150
172
172
121
181
150
174
135
172
112
135
196
165
121
170
194
150
223
208
237
171
121
208
179
112
233
121
121
144
248
237
186
167
167
226
219
158
184
284
112
165
170
172
121
217
171
121
136
235
223
135
170
121
181
150
192
223
150
170
128
176
112
170
150
150
123
208
208
237
237
136
157
165
179
219
171
112
170
112
123
150
144
167
157
181
207
217
112
112
137
112
198
208
202
171
121
115
150
167
112
150
218
186
225
177
124
174
162
164
172
115
206
176
150
112
121
184
121
112
178
252
150
186
121
193
208
121
250
233
159
172
170
194
250
150
121
196
184
150
253
123
123
235
195
172
112
170
153
167
171
115
171
226
136
112
186
236
167
123
131
167
112
170
112
112
181
121
205
234
135
212
136
123
187
170
208
228
180
229
170
150
201
176
181
150
208
208
170
195
228
112
172
202
124
167
192
201
124
187
112
222
158
229
147
208
181
123
240
170
135
205
218
112
136
208
115
208
175
150
170
112
255
150
208
121
165
192
171
192
150
150
143
174
236
220
228
175
172
112
137
176
172
172
175
150
123
150
202
160
172
192
175
146
187
115
112
121
190
150
171
135
277
185
176
124
171
231
150
209
150
150
137
228
112
208
136
159
255
150
121
150
158
149
210
157
167
250
112
121
112
240
176
112
208
194
150
256
171
112
123
123
177
177
135
167
205
156
167
201
208
276
205
172
150
221
147
176
115
139
260
201
240
121
170
195
165
150
112
158
150
219
179
204
164
150
115
112
112
150
150
121
174
121
172
228
112
181
208
150
172
213
203
121
217
123
176
300
123
217
128
112
150
112
250
131
220
184
112
112
135
192
150
242
121
112
164
121
143
167
208
123
112
199
123
112
198
143
202
167
186
112
208
158
210
165
112
217
150
159
112
112
170
201
214
137
121
196
171
115
172
253
201
159
204
210
254
135
112
150
302
218
228
150
123
201
172
208
167
135
212
165
208
224
112
232
276
172
123
208
123
152
136
263
280
172
193
150
219
153
210
121
150
219
115
265
171
218
112
150
112
208
164
170
164
150
208
177
112
186
226
150
150
170
263
195
175
158
135
177
150
172
211
250
137
172
164
160
204
203
167
147
201
172
128
112
257
157
187
249
194
171
112
207
174
193
270
150
201
212
195
135
150
237
167
255
123
176
176
170
135
123
210
195
208
121
252
177
199
172
186
115
208
112
121
190
143
112
186
203
217
192
170
121
190
136
121
192
112
209
150
208
115
177
186
150
135
123
150
216
194
270
137
167
112
171
112
168
112
112
186
195
136
177
121
167
135
182
189
172
186
167
208
158
121
171
174
208
168
150
219
227
168
208
229
196
150
181
208
171
210
158
112
152
121
112
187
170
167
174
150
121
160
147
121
228
150
161
234
219
150
208
150
167
170
164
150
150
161
208
170
250
121
195
233
236
121
170
208
170
112
230
172
150
172
121
208
172
112
186
167
240
214
121
208
112
115
150
112
172
115
121
158
112
195
121
171
121
112
249
173
123
201
217
193
170
208
145
196
124
171
167
158
164
220
258
172
208
172
253
239
203
217
208
208
150
255
208
165
128
112
162
208
170
201
150
160
136
172
227
112
174
167
112
171
240
167
167
186
172
182
150
208
150
176
123
189
226
112
171
172
216
112
214
112
186
164
255
121
195
208
172
121
150
170
187
150
121
146
150
255
121
167
208
208
190
165
167
185
208
218
123
208
196
205
178
174
165
152
112
201
208
208
178
172
121
167
218
212
172
124
208
150
150
121
112
136
121
150
112
150
204
121
245
156
147
112
135
150
194
141
231
213
174
176
219
150
165
171
150
255
177
150
137
193
150
167
255
130
144
207
208
152
150
121
112
150
167
172
123
115
202
189
112
236
135
172
176
219
150
244
137
165
228
193
212
121
121
150
150
112
261
189
181
112
278
176
181
121
181
171
132
226
194
167
112
203
112
192
112
185
170
165
165
150
124
159
112
170
112
172
194
210
121
176
172
225
215
156
239
165
195
164
171
243
115
255
203
121
194
213
112
167
170
121
123
225
150
230
235
112
150
297
171
121
172
135
264
236
150
243
181
208
198
218
186
195
172
168
167
208
181
208
189
172
136
121
152
112
150
112
112
201
234
147
147
239
150
216
158
231
203
174
212
244
112
219
208
112
259
195
202
189
150
112
204
112
158
239
210
177
150
237
167
121
172
150
167
220
202
157
112
159
150
112
135
167
156
150
176
121
160
255
121
211
150
150
150
187
243
172
112
123
174
136
172
121
167
193
136
172
144
172
143
181
112
204
171
156
136
150
170
121
181
208
150
270
250
150
150
203
112
121
112
150
255
150
115
158
202
190
121
193
137
150
218
178
160
217
189
171
121
172
203
135
167
171
121
237
208
123
203
228
172
115
137
172
187
123
181
112
121
194
208
135
257
213
263
165
214
208
193
167
210
172
186
194
121
130
174
152
150
121
121
232
203
112
181
121
164
150
178
206
112
167
208
112
123
229
150
172
136
172
229
112
135
161
167
150
208
218
194
112
112
112
214
190
218
172
194
207
121
276
208
178
112
175
112
150
150
186
150
208
150
112
147
135
247
172
208
135
112
199
112
121
115
228
150
170
223
198
228
221
195
302
112
203
167
150
209
167
216
222
143
150
189
112
170
167
150
112
181
172
255
186
157
150
150
115
265
150
121
135
150
231
192
150
165
167
208
150
208
176
212
165
170
112
135
233
256
202
167
123
220
170
231
112
177
247
121
128
167
150
164
112
112
177
208
194
233
208
112
123
208
170
150
228
124
208
208
255
167
228
167
164
160
123
202
170
196
244
150
240
195
206
112
242
194
176
208
150
237
229
112
250
121
121
121
194
193
172
112
237
226
172
162
112
170
161
208
208
220
123
181
121
206
150
172
195
195
170
194
121
171
158
112
208
228
144
172
193
112
152
112
256
171
121
227
194
112
160
194
193
128
167
185
121
224
136
231
208
137
265
112
135
228
121
181
137
176
181
160
186
143
130
152
150
193
112
212
121
208
176
135
218
250
167
176
159
176
112
228
150
203
112
124
112
150
137
186
217
254
167
121
171
112
193
170
194
209
243
228
123
206
212
210
209
187
158
245
179
177
165
176
171
173
159
121
128
210
121
187
174
219
208
165
194
208
228
181
172
164
135
239
171
137
128
167
167
121
121
112
171
123
165
250
152
121
136
147
112
128
168
181
123
112
150
181
121
112
150
212
195
121
112
150
237
136
150
150
175
276
150
178
181
136
172
208
146
150
194
121
163
172
194
172
128
257
181
112
115
150
143
121
123
218
260
172
161
186
203
193
207
209
220
112
135
150
121
226
121
194
112
170
182
147
121
218
150
167
121
195
121
137
174
112
168
228
150
192
170
150
121
276
123
192
206
112
121
170
174
150
172
219
237
178
121
150
257
233
210
150
150
150
121
115
172
212
150
255
160
175
112
112
195
167
192
112
207
207
172
164
237
172
193
121
171
130
233
208
121
172
150
178
220
135
245
112
195
136
167
219
170
171
212
205
112
121
171
150
194
247
175
208
170
275
150
222
176
171
150
278
171
213
150
195
216
172
112
168
170
150
121
135
269
176
156
123
167
121
220
170
121
205
123
150
208
135
153
150
170
136
123
150
170
186
186
212
128
143
228
187
234
150
171
201
171
112
121
208
150
139
202
167
201
228
213
193
210
164
150
202
222
136
205
194
233
115
186
112
121
205
192
220
112
112
136
147
196
136
121
231
171
194
181
177
235
121
223
210
112
171
235
112
186
217
144
135
171
172
150
147
112
167
208
130
147
194
147
157
150
172
150
112
112
121
207
215
123
121
112
158
136
208
158
150
181
160
232
276
115
192
164
112
215
150
112
177
123
121
176
150
112
302
193
192
170
199
172
150
150
176
124
181
135
158
112
230
147
255
150
130
186
147
150
152
210
150
172
223
150
239
191
208
209
112
165
112
123
112
194
165
128
219
121
197
234
172
150
175
165
193
195
112
112
165
232
145
121
112
181
174
237
121
172
112
207
135
123
208
195
121
150
121
150
207
194
237
121
210
194
123
237
172
167
199
182
172
195
170
177
123
160
158
202
158
212
135
216
165
217
217
201
171
208
121
150
233
172
150
112
171
164
147
231
208
167
215
150
212
135
193
172
165
187
146
175
208
115
234
136
112
156
201
155
121
217
121
204
228
121
112
115
121
237
136
177
172
240
172
112
193
228
187
168
224
171
158
150
206
162
196
112
165
135
121
130
121
172
115
181
175
177
146
115
112
112
150
225
172
112
121
158
121
219
112
186
150
195
219
112
181
238
124
115
121
150
158
121
201
121
170
121
150
167
150
208
165
124
147
174
159
181
164
202
112
173
208
112
130
207
202
201
172
201
112
156
210
150
165
175
150
302
150
112
150
167
143
186
213
281
172
160
263
115
164
112
150
170
181
194
220
150
172
210
172
165
216
158
150
131
250
250
208
121
195
195
153
208
238
176
112
170
150
112
150
208
112
181
184
167
259
237
164
212
208
121
205
150
205
150
150
123
121
171
208
184
189
210
150
167
112
207
135
165
150
218
186
165
112
179
171
208
112
165
150
150
123
223
194
167
174
264
150
150
150
212
177
123
233
150
240
263
231
208
150
208
172
228
298
112
172
123
194
150
123
150
171
208
167
121
112
121
167
219
121
238
172
150
147
208
112
205
186
187
194
228
192
208
218
165
243
115
176
165
263
136
112
171
171
168
115
181
212
170
208
172
195
150
150
147
167
150
187
193
193
218
176
193
146
112
255
195
124
137
171
152
115
147
112
112
206
170
181
121
163
121
190
223
112
171
112
176
124
187
229
244
170
193
208
175
228
171
112
170
171
208
121
212
175
194
228
228
121
123
112
221
234
167
210
165
250
168
263
228
123
171
159
213
181
170
208
124
209
150
112
121
194
177
186
121
263
195
144
139
186
150
112
179
121
193
121
195
208
150
158
150
112
136
170
156
159
171
255
177
250
165
192
150
243
170
184
121
170
195
112
176
174
150
165
112
121
170
163
217
193
144
187
112
135
232
195
167
143
150
171
167
200
228
195
112
121
174
137
196
112
228
167
135
150
150
167
123
208
220
172
112
123
187
137
150
171
121
208
164
160
171
167
207
112
201
112
229
243
237
156
229
115
112
192
135
193
167
130
208
112
171
212
112
136
208
112
137
121
202
190
150
172
128
112
208
193
186
112
112
150
255
216
172
194
205
112
123
165
215
121
212
235
208
139
281
167
219
176
115
263
171
130
170
150
150
167
195
234
137
208
186
128
141
194
198
181
254
150
165
121
150
194
150
137
167
210
212
240
194
112
226
136
112
172
158
232
136
150
249
208
202
145
176
123
112
121
121
176
172
150
167
226
150
208
250
150
218
177
194
226
202
150
150
194
121
150
174
208
237
177
112
123
220
254
121
158
206
194
112
235
231
150
135
152
121
223
121
121
170
150
112
208
150
150
112
121
208
121
203
178
162
230
121
208
123
150
172
172
135
177
233
137
204
194
147
150
202
123
156
246
150
229
121
201
237
121
284
121
170
112
150
121
210
170
210
115
192
207
205
238
186
112
150
160
208
194
182
178
150
171
250
232
152
220
128
143
165
176
186
186
121
172
158
202
150
121
172
195
170
203
112
228
136
150
231
130
187
146
171
243
227
170
123
208
123
121
121
226
176
226
176
194
158
223
278
112
172
208
202
172
186
150
137
147
257
150
168
220
172
137
123
121
121
171
210
167
172
165
185
194
167
167
112
121
172
176
152
112
167
171
143
206
112
150
112
153
264
121
115
136
112
135
167
121
243
112
171
177
208
150
121
193
208
233
167
150
156
170
121
172
150
201
195
167
121
182
150
143
195
208
172
150
112
150
228
194
171
228
121
150
112
150
130
144
150
112
182
208
208
167
150
159
150
157
150
263
195
182
205
193
171
168
236
195
115
150
194
150
150
208
175
210
136
255
176
150
150
167
191
123
137
135
208
121
172
185
193
220
240
228
175
150
161
227
240
292
192
150
205
176
219
159
112
201
121
239
152
186
214
150
130
203
172
241
201
186
136
170
194
121
136
167
112
181
112
163
150
167
121
208
150
226
150
171
121
165
210
158
172
225
112
150
170
168
198
121
130
112
150
231
278
171
112
233
171
147
172
228
115
237
150
186
190
121
170
181
189
208
208
112
178
299
176
176
222
219
179
156
203
146
187
228
281
150
152
208
225
112
302
208
176
208
179
135
267
167
172
192
150
208
121
121
135
136
143
112
112
229
207
150
219
124
217
171
222
199
150
165
177
112
181
192
137
172
201
182
167
172
257
229
201
213
167
150
263
210
156
150
202
249
226
177
208
263
143
187
220
152
208
208
217
170
231
124
136
220
212
167
143
167
233
167
243
172
112
112
210
112
112
175
121
181
128
170
231
150
121
168
181
172
121
194
228
135
237
136
121
170
186
256
150
137
135
194
172
150
164
147
165
226
243
164
150
121
112
195
186
177
171
137
217
229
150
123
135
139
167
121
220
121
195
171
143
163
192
171
112
245
158
193
225
170
123
195
186
215
226
112
121
193
194
182
153
167
112
124
170
135
121
136
165
143
176
208
216
112
150
130
195
135
136
150
167
112
208
147
193
137
165
172
164
147
186
228
135
121
194
150
176
207
112
276
123
172
233
128
157
250
112
121
181
150
187
176
167
146
153
230
199
121
178
159
121
150
165
164
172
181
187
112
121
179
179
302
208
112
112
150
123
136
150
216
150
150
172
115
176
150
121
121
239
169
210
194
137
192
193
158
158
176
194
176
136
234
136
208
115
194
208
174
171
208
226
175
150
115
214
268
201
186
193
172
168
228
150
150
186
214
121
150
121
177
112
121
136
112
225
123
199
137
123
210
176
121
207
208
237
228
171
121
158
176
172
147
112
150
208
112
186
112
243
237
123
150
172
181
124
150
136
135
229
144
219
208
201
112
174
272
179
112
181
136
231
123
220
181
150
150
226
165
184
121
167
194
167
195
171
239
171
124
217
278
176
112
112
121
186
201
208
186
150
123
228
208
159
187
284
229
112
199
170
147
172
137
172
210
150
237
172
294
172
263
150
112
150
150
159
202
139
165
135
176
165
150
167
112
181
112
150
237
205
198
250
128
158
171
250
150
150
172
237
228
165
192
112
165
205
181
170
214
219
112
112
164
165
115
181
115
193
167
176
237
168
112
167
230
233
172
121
150
168
208
264
170
228
176
158
177
128
137
158
121
195
147
237
208
159
112
150
228
219
201
112
121
205
194
190
176
208
170
176
226
179
150
208
250
121
220
267
136
135
160
112
172
171
263
170
150
150
150
212
147
150
222
242
112
208
112
162
218
150
112
112
206
251
137
208
172
208
186
121
135
196
172
193
178
208
160
271
170
167
227
231
225
139
115
202
194
203
247
150
165
194
182
137
112
121
181
240
121
130
209
137
231
250
208
171
205
123
181
150
172
220
171
193
172
112
121
150
170
188
112
171
121
150
150
164
208
254
228
175
150
208
229
240
134
167
164
121
167
167
171
212
135
201
201
208
242
121
219
171
228
243
195
167
112
194
228
150
208
112
203
192
172
175
112
115
201
203
186
172
150
178
176
174
186
123
159
167
184
221
150
266
179
208
210
276
150
228
181
200
137
176
150
223
189
112
192
231
115
176
150
172
217
202
176
209
171
242
121
172
162
176
150
208
212
167
167
150
150
212
112
178
121
121
150
194
208
150
150
164
215
121
167
150
197
121
115
220
215
150
181
175
167
197
239
217
150
177
179
173
195
186
278
212
203
250
150
147
150
189
167
208
233
234
167
121
175
205
124
121
150
176
150
150
246
172
112
223
179
176
208
224
121
210
112
208
121
202
194
115
170
208
123
112
150
112
164
170
135
176
123
192
209
176
183
112
150
112
137
112
121
124
181
208
233
203
150
210
194
135
115
165
210
240
183
167
181
167
165
188
112
208
171
176
168
220
186
112
121
112
172
121
201
165
195
121
123
214
215
237
165
135
171
123
167
240
179
150
202
121
121
250
250
194
172
123
259
231
210
115
167
167
167
182
219
150
208
121
121
112
208
112
150
112
175
121
112
174
177
150
147
184
231
167
232
198
123
153
239
121
170
212
121
250
193
216
225
150
187
172
240
250
179
210
160
167
258
208
208
150
240
232
112
208
112
115
210
112
112
207
193
121
150
150
194
121
175
170
121
150
176
167
115
212
121
259
204
150
237
121
172
121
265
121
208
202
150
171
208
192
174
112
177
208
250
147
217
123
162
193
237
177
121
229
228
112
202
237
112
186
327
181
123
211
202
208
176
236
231
167
135
121
195
237
195
170
150
167
170
186
112
208
265
112
123
112
172
219
165
208
170
233
170
243
112
115
302
150
135
150
228
195
264
186
150
174
121
121
112
160
192
150
150
208
201
228
150
150
174
181
196
226
171
208
219
228
177
181
121
220
170
121
147
121
203
231
208
208
170
208
150
147
135
136
208
171
175
121
121
150
239
181
167
210
181
132
189
279
172
150
147
144
112
224
170
179
167
218
223
228
143
121
195
112
276
199
167
167
195
136
150
170
124
170
170
172
150
178
123
112
112
208
177
231
217
150
172
136
150
203
237
167
150
135
204
171
150
174
150
186
236
233
232
193
201
176
195
242
172
172
130
150
167
234
115
150
171
112
128
135
199
208
237
194
202
177
219
186
216
172
121
268
194
121
121
112
193
170
112
121
177
212
167
194
156
172
150
231
181
136
237
250
165
219
165
219
208
172
176
121
195
223
123
257
184
194
112
150
136
164
170
121
240
162
165
192
167
112
143
208
172
150
208
174
171
212
112
170
112
150
237
172
214
208
112
209
121
220
147
217
112
227
171
121
135
112
186
177
147
167
170
112
121
237
237
170
182
208
258
159
187
167
170
194
123
168
232
112
210
232
205
193
137
157
175
159
136
150
115
124
194
121
137
121
130
172
112
121
158
150
194
176
168
207
186
195
150
208
112
150
150
164
208
150
172
167
172
170
172
165
150
193
167
150
172
208
150
227
242
170
150
193
177
170
167
170
192
137
217
231
208
249
177
207
121
167
150
228
208
231
189
172
167
150
121
137
176
157
194
181
201
250
112
159
255
219
121
201
156
158
199
112
241
208
208
112
196
112
256
150
206
167
150
150
176
112
170
220
123
171
150
121
194
216
195
184
222
112
187
233
150
193
147
112
176
135
223
121
168
172
167
144
192
186
150
202
229
112
210
175
171
196
242
216
213
167
115
112
255
189
152
121
217
121
150
176
150
187
192
150
172
121
237
172
176
172
112
192
208
121
150
112
115
273
177
208
123
150
115
207
121
112
225
270
196
176
121
123
210
210
276
112
174
150
180
202
150
160
236
167
112
150
187
112
172
195
121
112
123
206
167
112
200
195
137
172
150
187
230
124
112
195
115
192
208
291
150
176
182
194
167
115
241
150
137
136
167
121
176
219
250
150
218
170
121
165
212
150
115
137
150
175
137
171
192
162
182
231
256
123
167
152
112
150
121
150
223
228
150
170
236
146
225
281
202
171
150
137
182
255
150
171
112
203
165
121
131
208
115
112
115
121
213
202
172
152
167
121
265
172
222
172
161
167
194
225
172
205
150
201
156
212
172
170
112
150
150
231
112
123
179
172
150
231
187
170
208
121
171
115
172
171
229
121
162
171
121
121
150
165
150
208
176
121
150
135
162
232
164
170
231
123
193
112
207
167
115
270
195
167
112
150
121
216
158
121
121
156
167
250
160
150
171
150
135
215
225
167
175
147
179
171
192
123
121
172
186
181
212
170
150
227
212
176
112
297
123
164
152
187
112
240
150
207
176
112
167
181
112
150
112
240
176
121
194
150
112
208
208
123
150
150
228
181
121
128
123
172
176
123
177
160
207
121
208
209
159
121
215
257
184
194
201
112
217
177
210
147
150
137
202
231
204
208
152
150
121
177
167
210
152
208
205
281
184
121
181
172
112
208
112
136
165
208
174
187
172
176
192
112
255
137
112
147
170
170
236
112
177
150
194
228
208
240
181
223
181
195
181
172
170
179
205
112
256
227
171
115
112
218
112
121
123
135
121
167
172
112
170
237
172
146
115
167
130
193
150
201
184
225
228
203
240
158
147
175
115
171
171
137
214
167
150
181
238
165
171
237
112
112
121
262
181
112
213
232
121
230
226
176
172
165
171
194
266
231
194
112
112
112
150
150
208
136
165
224
112
181
128
179
150
208
171
194
210
112
263
228
228
205
150
208
201
158
150
150
208
112
177
165
150
112
150
167
210
136
167
203
204
150
112
181
212
121
193
167
240
121
167
176
123
150
115
190
219
123
150
172
112
228
189
219
186
112
172
156
121
176
220
150
204
174
150
158
124
226
150
170
112
198
201
150
172
123
181
150
208
201
150
157
170
157
150
192
210
164
223
219
128
302
112
208
124
121
268
112
136
202
150
195
186
136
170
257
228
112
112
171
233
170
186
157
208
225
164
208
172
208
135
150
150
218
207
150
171
150
130
163
121
112
219
184
208
171
276
112
171
177
162
194
202
115
177
194
167
121
170
115
167
150
219
144
179
174
112
150
181
150
208
135
196
156
195
228
172
121
231
165
208
150
150
168
150
171
199
121
237
171
112
121
150
302
208
112
190
220
275
136
217
160
112
193
123
208
171
171
167
210
193
112
121
147
136
214
112
171
172
135
160
207
145
194
181
121
171
187
150
177
271
150
128
208
112
241
135
160
170
170
150
237
170
112
187
150
170
123
112
239
208
121
168
232
194
233
137
208
112
186
194
250
255
186
158
193
135
194
137
167
192
150
159
212
237
200
263
150
186
209
150
193
112
115
172
201
171
171
139
219
215
208
112
193
124
170
201
226
174
172
172
218
147
150
150
186
189
195
115
208
182
233
112
164
164
188
260
181
187
255
172
172
123
150
144
150
121
121
135
186
231
176
150
150
264
223
158
231
238
220
208
210
193
121
208
170
123
150
112
121
231
115
219
112
112
112
172
212
184
192
154
176
150
177
228
172
165
112
159
112
187
156
150
150
212
150
219
255
186
121
175
172
167
150
194
123
121
208
172
157
233
135
147
234
189
164
194
112
135
231
166
195
150
199
121
189
274
201
202
159
186
208
170
121
185
112
181
112
112
130
181
171
150
175
177
162
167
200
150
121
135
170
175
193
208
121
177
272
150
186
219
210
186
150
224
205
112
272
208
152
237
172
135
187
230
112
170
112
225
181
150
150
121
112
228
121
186
227
176
192
158
150
150
240
226
250
189
150
163
172
228
136
121
150
170
112
201
135
187
181
186
159
150
192
187
210
184
167
172
112
187
146
208
150
150
121
228
193
187
137
201
136
112
228
112
112
228
278
124
208
115
121
172
121
112
176
171
112
167
112
161
176
172
237
186
201
201
173
150
112
112
147
150
184
130
112
208
150
150
228
150
172
170
137
192
121
150
226
112
121
137
197
112
137
158
175
112
121
147
150
112
112
123
232
228
171
240
186
231
170
181
190
167
112
121
234
150
207
158
128
170
167
121
214
130
121
176
207
181
121
202
208
197
170
158
172
150
135
150
212
136
121
157
115
112
193
177
214
112
160
210
170
176
121
121
212
112
214
160
167
121
208
194
158
150
167
189
139
201
160
186
176
205
170
254
178
112
232
123
208
112
198
207
112
168
218
187
144
207
186
175
228
121
170
150
135
184
178
160
121
121
121
165
172
167
159
225
112
137
128
171
176
211
121
112
136
121
226
112
171
144
170
204
176
194
150
192
167
159
278
172
205
186
157
219
195
176
150
178
128
205
135
135
186
171
157
221
172
121
112
172
136
150
121
112
152
156
167
225
211
172
150
123
139
179
257
150
150
230
279
208
168
171
220
246
121
121
112
152
176
112
214
165
228
112
112
152
147
121
150
184
112
219
203
150
219
228
124
123
136
166
112
121
150
170
216
124
157
208
208
147
165
170
232
211
276
255
193
150
167
150
121
170
237
167
150
231
112
171
214
194
208
160
209
150
193
171
123
165
150
170
193
121
123
170
201
195
225
237
195
123
181
189
278
147
112
150
156
121
208
123
172
195
199
160
250
150
237
112
228
167
112
135
112
186
202
195
167
218
203
171
150
171
147
171
220
123
173
212
179
172
150
211
208
232
240
150
228
172
136
193
147
112
123
201
135
199
121
150
112
176
219
181
225
237
150
194
112
181
225
237
150
112
123
112
187
179
186
121
181
208
194
210
175
158
229
174
150
189
121
231
175
162
152
172
171
225
150
150
208
219
165
150
212
193
189
210
176
208
255
167
136
128
181
186
144
170
170
190
208
150
170
121
170
150
150
228
165
152
208
187
186
112
115
150
232
112
204
137
156
236
112
150
297
123
128
150
201
123
136
159
218
177
170
121
171
208
150
219
121
208
121
172
176
165
121
195
150
208
123
167
208
170
137
124
186
208
178
170
208
124
158
207
152
192
172
186
164
172
257
135
150
121
212
172
150
217
193
170
205
156
171
237
150
192
207
228
212
193
112
150
229
136
171
121
219
150
212
209
179
112
135
203
177
115
150
124
150
208
214
181
121
228
135
150
168
124
237
202
182
150
112
186
225
121
121
170
194
150
208
172
205
208
231
172
150
278
195
170
175
115
137
121
186
172
182
195
121
112
165
150
112
206
170
193
112
187
115
187
176
208
167
208
167
171
187
194
112
257
192
112
211
150
172
208
121
150
156
228
121
245
158
175
165
112
150
205
171
115
214
112
219
186
194
150
112
195
164
170
121
176
168
226
112
181
193
176
212
194
154
186
240
143
192
178
136
150
193
211
220
259
150
187
215
157
187
171
181
181
150
164
187
175
229
302
219
112
267
302
213
164
171
228
246
195
164
239
167
208
176
158
208
150
178
112
193
121
176
165
241
112
170
208
135
292
208
121
175
170
121
195
150
188
226
156
170
112
172
208
237
150
156
170
115
176
150
172
272
112
172
153
226
218
225
112
150
167
186
112
208
211
218
160
207
179
220
171
187
115
219
121
167
229
172
193
240
208
112
167
156
228
174
250
112
237
112
175
212
150
217
150
150
121
150
186
278
171
112
208
207
197
167
150
172
250
150
112
150
226
121
112
210
194
171
177
137
181
182
186
112
159
157
208
136
158
210
208
214
131
228
160
195
121
239
259
195
121
121
241
193
147
249
217
201
112
172
172
278
172
128
167
187
194
137
171
172
150
208
150
121
150
186
209
192
231
195
201
255
167
167
144
171
208
158
231
121
150
115
189
177
209
121
121
163
121
198
202
156
220
171
167
218
208
175
123
196
121
112
112
135
202
196
207
201
231
150
208
253
203
181
175
135
229
121
137
172
150
233
220
147
228
136
181
150
207
237
176
162
121
112
208
175
186
172
193
208
194
150
135
233
121
150
137
112
135
189
112
124
171
112
123
186
217
112
121
171
195
121
227
121
171
208
211
228
123
159
170
158
208
172
112
209
161
135
230
158
236
150
112
211
172
124
112
208
233
250
150
164
167
159
150
217
281
170
150
176
176
121
112
121
209
205
167
231
121
202
121
198
121
112
121
137
150
150
165
208
235
205
170
170
181
217
121
159
156
115
112
112
186
187
165
208
130
208
188
181
150
194
121
170
165
167
229
228
204
194
167
218
193
238
219
123
112
158
208
165
165
112
181
207
171
171
302
150
194
193
208
121
165
171
269
112
160
112
112
194
170
208
141
124
150
181
169
112
177
210
150
210
121
170
186
164
150
128
181
195
208
202
176
121
121
212
209
167
215
158
112
195
150
176
150
150
176
208
164
195
150
147
218
150
159
201
203
299
123
181
121
150
150
204
135
178
155
196
121
171
112
128
181
210
150
177
162
112
171
165
171
196
135
170
201
135
112
124
115
121
295
135
196
121
171
176
203
217
202
160
112
240
150
208
136
187
210
159
112
112
208
165
196
186
150
121
112
181
170
193
237
152
161
194
194
135
232
194
209
302
186
194
289
121
112
172
112
112
147
181
112
141
112
208
112
112
181
112
181
249
135
228
194
170
208
152
220
170
131
269
150
208
253
208
123
208
208
231
165
208
186
135
240
150
123
150
135
255
112
170
150
167
165
196
211
121
205
199
159
150
150
121
207
186
150
150
171
158
167
263
272
112
176
187
121
172
208
121
167
167
194
160
195
130
150
135
229
184
195
112
181
208
112
165
123
205
164
112
165
192
231
171
172
200
121
121
175
121
168
220
194
203
220
176
172
150
136
112
112
177
250
121
112
160
121
228
159
177
236
112
112
208
112
181
150
201
171
219
171
135
150
208
112
171
158
170
121
228
208
150
147
147
150
152
195
170
208
160
172
150
150
170
150
208
150
123
188
282
112
121
170
194
121
150
228
150
159
196
186
136
130
172
130
164
170
172
121
172
112
208
172
184
168
192
112
194
158
202
150
150
121
121
150
160
177
121
222
242
145
172
159
115
208
165
172
208
115
112
123
134
150
194
181
210
233
205
165
203
210
150
171
178
150
181
112
121
195
112
124
124
237
199
264
302
208
167
112
150
150
121
150
195
178
170
150
137
167
150
145
195
170
203
187
167
228
208
177
128
150
193
150
172
220
112
194
193
195
217
172
225
115
152
193
150
181
174
207
213
112
172
214
121
158
112
214
174
208
150
176
172
150
167
176
150
208
123
150
172
186
209
152
212
150
121
198
150
121
168
225
175
193
147
171
121
170
202
226
150
205
164
150
177
208
150
243
194
164
219
171
217
150
193
194
264
165
278
178
112
124
123
121
164
281
150
150
167
208
170
203
210
208
150
230
112
172
164
165
216
167
223
165
115
208
130
112
194
279
115
167
202
112
209
136
121
193
170
159
135
150
220
176
121
112
112
239
276
210
167
208
217
195
205
112
150
172
220
167
172
228
137
165
112
112
112
112
175
217
201
171
202
150
220
135
250
164
255
150
212
170
194
123
231
172
150
112
121
150
194
144
208
179
214
112
150
150
135
160
217
123
136
136
167
212
174
186
112
135
176
219
216
172
233
112
123
161
143
237
240
208
172
159
200
208
167
150
150
150
220
124
206
143
150
112
121
228
203
112
245
176
121
146
150
147
189
150
255
208
150
112
121
115
147
195
112
195
112
121
154
150
164
150
237
150
178
150
197
233
242
112
158
177
172
208
112
229
112
112
215
135
112
194
231
187
178
159
112
150
172
258
240
130
167
168
165
124
220
282
196
176
193
160
172
253
150
150
124
112
112
112
168
121
195
179
219
170
194
171
181
157
112
135
314
137
245
150
150
170
170
159
174
250
112
214
215
271
121
171
176
121
115
150
172
205
212
228
208
158
171
205
172
121
152
147
187
121
208
206
208
123
123
196
123
187
121
204
123
112
137
186
195
216
208
121
112
187
193
181
112
112
201
181
121
150
167
150
232
121
160
121
167
121
194
182
181
121
150
112
150
150
172
112
181
150
150
167
112
171
208
233
162
228
164
250
237
227
255
172
193
123
168
170
237
112
115
210
150
159
233
130
150
237
172
263
219
208
135
172
196
179
112
136
176
220
121
184
226
220
208
163
123
124
181
167
244
150
150
112
203
150
115
112
235
167
161
202
137
170
137
237
170
121
112
123
112
150
135
124
164
210
112
112
204
167
112
247
159
172
137
226
208
174
189
150
208
181
124
231
150
167
170
164
150
167
112
168
123
201
150
171
187
167
121
170
115
208
208
228
150
167
276
112
124
170
157
158
193
228
167
121
150
196
121
208
170
123
250
175
170
187
176
208
208
123
150
112
112
192
177
208
228
171
187
121
177
237
167
192
172
228
112
150
112
223
233
185
168
128
150
165
194
213
222
167
194
121
159
150
121
167
150
181
147
166
172
121
214
112
170
112
123
158
176
124
150
274
208
150
170
147
137
202
121
176
150
186
265
171
150
209
167
152
263
170
167
209
112
123
150
208
226
171
203
121
220
165
210
121
194
292
156
163
205
112
146
112
150
172
245
150
112
112
136
226
239
147
263
123
276
230
150
167
112
121
165
171
260
172
121
225
136
123
297
112
215
123
237
170
121
219
155
279
194
121
115
160
150
150
170
193
150
150
175
135
255
263
181
208
205
115
156
237
214
207
112
170
202
192
181
112
226
170
121
123
255
121
121
278
124
124
121
156
167
172
150
112
176
196
202
220
194
181
152
112
112
167
150
135
176
170
121
135
167
302
208
240
150
189
112
177
159
181
150
150
121
164
219
165
171
220
121
121
172
202
195
174
176
210
175
152
121
112
210
112
228
170
112
170
181
168
205
172
208
212
282
257
124
208
181
121
170
228
194
144
171
115
112
181
150
112
186
159
112
220
193
167
210
150
184
150
208
202
213
171
210
167
211
210
167
167
181
186
177
112
112
171
231
177
147
150
150
205
150
208
158
231
115
150
328
150
144
162
288
170
201
160
240
145
172
208
159
201
123
220
205
217
209
137
228
215
172
123
152
193
150
112
164
112
170
208
164
208
150
164
123
172
192
189
144
207
181
210
121
161
150
121
188
172
203
150
217
200
226
112
156
170
210
195
112
179
209
137
123
203
150
150
187
208
197
121
167
233
167
172
150
150
194
208
190
147
112
194
123
210
194
128
157
175
168
112
170
193
181
207
167
150
150
121
205
167
134
172
276
130
156
158
135
208
150
121
112
240
193
150
121
150
196
156
211
135
171
150
170
170
276
135
147
209
278
213
192
186
167
215
208
218
112
150
172
205
150
150
177
165
253
152
167
210
201
230
150
135
150
228
112
150
198
112
194
150
208
205
257
150
150
177
121
136
165
193
208
150
171
189
208
123
150
121
184
192
131
198
150
201
150
272
150
124
150
121
201
115
198
121
177
288
233
229
210
250
123
150
203
233
121
137
135
193
176
201
135
176
121
238
167
172
121
167
135
136
215
220
123
189
219
115
215
150
150
208
136
165
189
196
112
192
202
171
172
175
139
136
208
252
112
170
195
195
112
150
167
281
167
197
124
123
121
171
112
112
222
171
217
136
186
123
167
170
203
226
186
181
165
172
112
174
210
179
112
208
173
220
172
167
170
167
136
168
121
164
121
174
167
121
171
194
161
255
172
202
123
165
167
172
150
112
202
112
225
171
147
237
167
171
205
237
167
233
123
194
177
121
150
204
112
193
192
171
150
225
164
176
197
112
246
192
121
202
228
150
203
216
179
172
130
187
203
206
207
196
167
123
165
189
229
231
214
171
229
112
121
112
257
150
112
176
167
115
181
121
167
205
150
165
172
201
181
135
112
177
174
208
150
171
194
121
195
197
112
172
172
170
165
208
112
121
201
160
121
150
186
176
121
276
201
242
170
157
112
150
172
112
121
228
173
150
121
147
193
123
208
243
130
121
150
170
172
181
165
130
192
135
208
187
202
299
201
193
233
186
176
176
150
208
225
181
121
228
208
167
136
150
187
136
187
165
112
137
157
214
150
208
121
150
121
193
156
175
137
162
186
135
215
177
181
112
193
115
269
208
193
187
112
210
203
233
217
121
121
112
152
170
176
168
150
192
224
150
193
237
112
229
123
194
225
174
237
238
112
194
220
150
192
112
263
121
150
170
121
150
255
177
170
112
159
152
241
121
213
170
136
121
175
193
170
121
237
193
135
115
176
263
170
171
168
167
208
147
123
185
210
121
172
276
137
123
200
135
170
172
112
136
186
211
186
150
194
112
209
240
150
121
237
205
112
194
170
178
124
170
170
220
123
174
150
160
136
123
165
150
236
164
205
205
123
147
150
165
121
135
244
112
219
174
165
198
137
112
218
135
172
267
271
234
208
167
150
226
176
150
232
150
123
112
150
112
172
115
208
160
160
123
177
121
208
158
171
136
228
193
112
121
150
165
214
171
159
137
195
228
112
150
112
150
225
208
121
211
263
219
150
172
112
150
220
228
150
150
170
193
172
278
121
121
342
112
213
194
167
136
112
123
136
219
112
158
210
208
121
302
208
158
136
171
186
164
161
167
150
112
135
172
181
171
212
115
121
208
121
150
172
189
265
112
231
239
193
181
123
172
165
121
229
172
187
243
239
250
190
121
112
172
244
147
189
130
255
228
167
115
194
228
112
293
147
121
121
215
121
136
203
194
232
217
143
115
124
112
112
209
217
186
208
112
137
203
215
208
237
213
150
193
176
123
176
150
165
165
195
164
150
208
121
208
112
150
250
157
210
171
123
166
184
112
217
212
150
150
160
167
171
152
193
150
171
212
217
112
228
219
167
150
228
208
159
158
237
172
123
150
121
150
123
150
204
135
193
112
250
112
121
186
194
202
150
121
112
193
115
123
123
172
115
121
186
130
203
172
150
218
150
176
235
222
172
250
170
194
250
165
146
208
186
144
150
202
112
214
233
212
178
112
250
115
112
171
199
150
201
150
263
171
216
150
135
150
171
193
172
121
181
250
112
150
205
121
181
121
192
112
112
230
193
121
170
250
171
198
112
115
208
182
135
249
150
137
199
206
267
130
172
112
185
250
167
144
170
208
167
167
112
181
175
121
121
123
112
112
135
123
164
177
175
208
194
235
192
261
159
186
181
250
229
112
192
208
186
121
112
167
203
150
181
167
205
237
194
158
162
227
150
112
233
176
240
121
112
158
112
196
194
228
150
137
121
201
123
147
193
170
150
121
112
208
115
150
208
165
171
121
172
150
115
150
237
112
201
112
207
174
171
226
167
123
161
195
227
121
171
210
197
274
167
203
208
137
171
243
158
186
112
172
172
112
217
233
112
217
112
230
171
236
174
231
208
302
150
150
228
199
237
121
225
185
181
201
173
121
150
171
204
121
123
212
150
228
158
112
167
167
115
208
121
181
150
150
170
121
208
187
194
239
197
167
123
168
208
112
121
112
203
123
208
136
176
237
176
172
170
205
201
241
165
223
150
112
150
193
112
170
112
171
187
121
203
259
202
150
137
150
172
228
228
276
121
195
181
172
235
208
150
150
187
135
208
218
121
121
150
202
123
172
202
237
192
121
146
186
170
237
194
112
167
167
207
194
216
172
121
112
176
177
195
150
167
167
136
239
172
150
231
135
201
177
194
123
216
130
177
172
202
159
173
177
232
171
121
234
212
167
232
112
192
234
208
136
179
112
150
164
135
150
150
208
159
112
112
194
263
175
208
150
112
237
176
258
256
150
192
212
128
171
240
112
213
200
218
170
121
171
121
170
192
123
167
150
170
203
150
237
130
210
167
160
121
210
195
202
229
121
240
228
187
272
160
164
152
112
227
112
171
228
158
194
178
121
228
112
176
261
170
195
171
135
208
121
208
172
228
167
121
253
208
233
112
112
193
167
121
235
150
167
194
202
170
228
150
158
208
219
150
219
177
174
186
186
192
179
150
217
210
172
276
150
170
159
212
167
202
150
167
167
137
137
171
150
135
167
194
193
112
170
167
208
179
150
192
208
115
137
121
208
159
158
115
121
186
171
193
207
193
112
210
193
112
170
167
208
150
150
184
160
200
212
152
203
150
121
179
150
150
208
112
167
167
210
189
121
157
228
237
121
237
195
112
150
172
172
137
171
137
195
203
255
170
192
123
237
123
112
150
147
143
170
193
231
135
130
167
137
150
228
121
112
205
239
150
115
195
150
208
150
121
112
145
182
174
165
217
171
207
186
170
112
137
212
150
167
217
124
255
112
121
218
263
176
250
176
150
228
164
158
174
171
208
167
192
214
176
214
176
263
112
112
150
137
202
121
121
207
165
177
187
150
237
171
121
167
112
150
112
278
167
232
228
226
184
150
210
174
165
121
208
278
112
112
211
121
172
235
112
112
147
167
208
208
137
225
208
203
137
167
208
156
144
167
172
202
208
255
112
170
302
187
208
160
204
146
184
239
170
178
233
150
194
217
174
195
150
150
240
160
150
210
121
137
160
176
170
174
195
121
135
172
259
112
172
115
276
179
167
187
179
202
220
218
121
194
208
147
165
208
211
239
178
172
124
210
263
112
172
181
112
115
115
112
170
236
159
231
167
202
170
181
216
121
208
137
274
165
257
115
121
112
150
234
266
208
167
208
208
121
150
170
181
172
150
208
150
172
136
164
194
128
181
196
243
176
167
167
112
123
181
170
272
181
162
112
150
121
172
181
172
237
112
150
115
171
202
158
210
160
208
150
192
112
210
123
195
177
147
170
137
112
198
176
121
124
112
181
172
212
135
217
250
167
234
196
121
229
198
167
255
201
218
165
121
130
195
147
121
150
121
208
186
193
197
144
112
170
237
239
121
195
181
150
150
192
239
123
172
164
218
152
158
283
228
167
112
174
182
121
167
112
172
172
195
150
112
212
232
208
172
136
165
165
171
167
165
150
157
302
172
219
156
252
136
121
150
167
195
112
170
170
198
121
150
203
208
208
192
131
136
121
112
193
217
121
115
164
150
236
194
137
135
137
226
193
205
167
150
220
186
172
121
165
112
121
172
181
172
121
243
202
121
220
181
181
112
164
150
217
202
171
208
195
170
167
150
217
181
112
147
206
112
181
112
192
150
193
137
167
232
150
172
121
156
209
192
156
260
186
167
208
137
280
158
121
181
231
164
123
121
150
136
204
176
243
254
150
121
121
174
164
201
215
208
121
208
137
213
176
176
146
112
115
195
190
137
135
124
208
176
121
150
112
150
240
156
112
124
221
208
177
175
150
208
112
170
171
150
192
228
216
168
176
150
112
112
228
150
193
172
228
121
172
213
242
165
112
170
208
174
190
178
161
150
121
208
187
150
208
123
225
150
115
121
237
208
225
172
170
159
228
159
150
150
150
171
112
225
112
181
121
181
208
296
167
150
172
193
208
203
172
206
208
176
272
150
241
121
158
121
172
167
121
136
181
160
159
265
217
196
194
208
150
208
167
216
112
208
196
250
156
123
112
258
158
121
175
135
171
177
237
208
226
123
172
172
137
241
123
167
136
176
172
121
124
121
208
229
172
208
123
147
147
130
152
215
196
202
228
181
167
123
121
112
172
165
212
215
112
121
181
212
175
115
194
159
128
112
172
210
112
137
112
216
193
121
193
219
150
130
121
171
190
128
172
171
205
150
167
121
150
203
237
112
233
187
172
202
266
237
202
194
201
229
208
236
158
184
121
135
121
177
174
112
121
124
181
228
187
168
181
181
150
201
172
181
121
158
112
193
193
178
136
112
302
165
177
208
193
121
237
167
160
263
194
189
177
150
112
170
150
112
160
208
136
152
237
202
121
202
240
167
150
150
203
228
121
150
187
176
210
128
123
215
112
232
172
121
187
128
226
172
177
137
190
194
144
170
192
137
194
217
176
201
186
150
186
165
170
189
172
173
172
186
123
171
150
170
164
172
202
172
203
208
115
171
150
208
156
123
229
172
212
156
181
220
147
175
112
205
150
172
112
165
188
121
218
121
147
272
259
174
194
206
215
181
196
302
150
181
172
186
175
121
147
182
150
112
150
204
121
168
302
112
121
229
217
112
210
250
228
171
150
121
171
156
168
112
181
121
239
177
205
150
121
121
175
184
121
184
150
193
167
123
229
181
150
147
208
189
112
112
172
187
181
167
115
112
123
250
112
112
192
172
208
167
215
112
150
192
215
112
112
112
112
167
240
203
188
150
218
135
186
121
136
232
135
167
121
150
121
219
187
121
192
170
251
167
203
238
147
115
167
144
210
208
235
156
112
121
112
112
176
185
171
176
245
112
210
278
147
233
231
150
171
228
201
121
172
208
194
160
150
139
165
190
196
175
184
259
167
121
171
189
210
150
176
150
153
112
164
250
209
112
150
274
150
226
208
112
172
112
123
265
203
263
208
176
186
237
164
195
172
188
112
202
243
150
201
121
150
159
167
136
176
272
121
160
167
150
150
112
156
136
121
167
173
121
172
229
131
210
208
121
121
167
123
199
150
130
171
150
124
172
165
201
150
172
194
208
112
264
203
121
195
156
194
223
172
150
201
223
112
201
208
208
121
121
150
174
112
167
150
194
219
170
150
147
187
112
195
112
170
112
121
121
150
121
161
121
176
228
172
171
202
170
112
181
112
172
158
205
121
212
197
228
112
150
170
193
171
112
167
217
186
172
274
150
130
115
196
208
154
123
190
121
150
167
167
260
171
199
243
170
215
150
233
228
128
208
112
207
228
263
174
167
165
195
112
144
202
121
167
139
184
167
235
150
121
278
171
170
195
187
112
231
186
139
178
217
208
124
201
150
171
225
167
174
176
137
194
177
112
164
172
186
187
150
158
186
135
172
112
150
123
115
208
304
112
184
150
218
143
201
218
220
219
240
167
130
150
112
159
150
168
123
112
259
112
150
220
228
208
168
194
202
229
171
121
171
150
229
172
276
150
150
253
175
167
135
112
161
156
203
186
150
150
193
187
198
179
150
152
250
170
112
194
150
150
205
158
123
112
167
112
208
121
121
150
229
174
165
150
171
131
244
187
156
205
210
226
170
241
170
250
121
239
112
121
144
121
189
128
186
143
150
229
112
150
181
135
112
181
167
171
171
150
214
127
170
165
150
136
170
167
191
211
175
225
150
121
150
157
156
179
220
159
172
121
210
172
194
150
228
172
168
216
112
181
176
150
226
167
170
158
237
238
170
229
236
150
135
170
150
193
121
170
124
170
228
150
223
150
156
208
172
121
170
123
210
212
112
185
189
181
150
137
136
121
164
194
208
123
121
150
206
217
193
150
220
167
170
123
112
112
147
208
150
135
172
187
210
172
170
150
150
159
195
193
167
112
150
172
212
181
150
174
136
147
164
158
210
194
208
229
212
250
217
276
121
136
121
123
210
172
150
208
177
193
150
228
207
210
198
208
203
194
194
170
165
165
167
219
137
194
203
210
193
167
177
228
232
219
238
192
189
167
175
121
121
208
207
235
150
136
112
167
171
208
205
237
172
172
165
121
208
181
167
174
170
208
278
176
181
130
237
143
181
112
112
150
208
239
165
193
170
159
136
123
150
150
150
150
252
112
156
236
124
208
172
208
208
150
255
150
194
186
222
181
123
205
147
172
165
112
112
135
210
230
159
194
112
112
172
254
257
202
208
112
174
207
215
135
164
150
237
201
121
194
147
209
205
170
208
121
174
181
212
150
121
239
195
208
137
238
225
170
171
112
226
165
167
205
165
172
171
112
217
202
194
181
231
112
135
216
130
170
123
124
187
121
170
219
231
150
161
186
175
171
121
147
195
136
147
121
135
150
201
208
243
203
194
175
187
123
150
228
208
137
187
121
263
123
112
168
165
121
205
167
192
161
112
112
195
136
170
112
215
208
240
121
167
150
150
219
172
168
121
112
208
238
208
205
147
201
270
150
195
159
150
306
164
164
121
165
231
150
260
172
150
231
121
212
278
150
194
172
112
115
112
150
136
167
121
112
121
157
121
112
112
172
174
177
144
130
121
168
187
194
276
156
121
150
201
195
112
195
209
112
121
150
112
240
186
121
207
112
259
227
193
193
176
208
112
143
186
186
150
231
186
150
176
159
121
121
150
172
244
164
112
176
112
189
112
121
172
227
112
124
112
194
302
167
112
157
176
121
237
208
121
150
150
204
167
172
135
171
214
112
167
137
172
112
135
165
165
194
264
112
208
208
112
212
115
226
254
170
121
112
171
265
150
193
121
205
243
194
143
112
150
206
165
150
124
237
121
159
201
139
112
242
121
178
176
199
208
172
147
179
150
167
112
147
203
171
186
123
193
135
112
112
123
174
167
192
195
152
115
137
112
176
150
287
225
123
150
193
112
208
193
115
186
194
152
232
172
232
208
209
175
112
172
150
249
176
193
281
121
208
176
170
161
195
124
152
236
170
218
198
145
159
121
259
112
156
112
215
167
218
112
123
167
229
112
167
150
112
171
228
195
231
159
150
135
112
135
167
207
160
216
121
130
208
128
176
150
171
121
171
228
208
124
209
112
299
205
177
208
112
242
150
150
150
171
121
256
167
215
187
123
227
135
181
208
121
170
131
192
217
121
203
175
177
176
115
172
194
187
177
121
228
121
123
193
112
150
214
181
187
208
159
150
213
121
225
156
160
150
112
112
150
194
159
181
112
115
121
171
150
208
150
172
150
241
167
257
192
150
171
112
170
195
194
184
112
189
150
167
170
112
150
171
219
208
202
184
156
112
171
176
172
258
257
121
228
208
112
186
209
210
121
112
147
135
208
121
196
252
150
229
170
193
150
208
174
150
176
160
231
165
171
124
219
112
160
167
150
172
210
242
176
112
175
228
123
186
228
150
176
112
192
208
172
178
121
216
226
209
250
270
233
179
170
121
210
228
212
212
186
170
172
229
130
176
193
187
121
193
172
165
228
202
150
205
150
203
217
150
128
166
205
139
179
121
194
156
232
146
216
115
175
121
208
208
159
171
128
186
231
156
121
150
112
170
209
171
187
176
172
164
131
112
257
150
170
171
170
121
112
241
123
218
176
164
171
241
219
172
189
205
204
121
181
147
187
147
112
150
170
121
201
170
112
220
208
160
181
112
171
263
181
201
232
197
152
165
167
176
190
167
252
225
121
167
201
121
202
171
204
171
121
144
112
208
217
168
176
231
136
179
156
115
176
123
112
150
200
121
112
190
112
127
121
246
171
121
200
201
186
207
112
208
232
158
208
159
181
219
167
243
214
165
167
121
121
121
150
121
167
172
212
220
202
211
167
269
121
121
176
112
150
170
210
121
158
195
171
231
186
150
167
150
172
257
194
226
228
167
208
181
137
167
208
167
150
147
202
226
170
112
143
112
121
197
230
175
187
147
174
170
212
152
187
192
135
193
152
161
231
121
130
136
187
112
150
121
177
231
186
170
147
208
219
185
167
172
211
150
208
112
240
212
170
228
112
195
172
218
159
160
204
174
239
167
195
172
167
165
208
170
237
226
195
211
195
164
159
150
250
171
167
167
239
150
150
137
172
172
158
123
160
257
172
121
112
150
212
301
208
194
121
302
121
210
156
179
239
115
167
181
231
137
115
208
214
172
208
186
150
112
121
112
150
215
112
112
121
200
194
195
170
187
208
187
115
202
177
250
220
112
165
147
207
175
184
150
264
121
123
195
217
167
172
237
112
150
172
150
195
170
185
115
123
137
228
247
158
219
187
130
181
203
130
214
186
112
210
176
181
201
174
123
208
158
123
128
218
167
159
186
220
121
226
184
208
201
137
228
225
160
219
121
225
206
187
112
164
170
121
195
194
167
172
172
165
112
176
112
229
231
168
167
193
188
112
212
121
112
121
181
239
209
208
168
150
112
209
177
208
170
231
237
195
121
158
150
176
239
121
112
150
187
121
231
257
237
123
150
219
172
235
219
266
131
194
164
112
208
152
115
208
170
173
198
186
135
232
129
167
112
172
150
150
112
181
267
130
201
234
186
220
265
115
112
195
167
177
158
208
121
194
121
112
172
121
243
217
177
247
172
136
193
123
137
202
150
150
121
112
172
124
112
121
237
128
112
186
173
150
150
220
159
164
121
228
124
121
202
172
150
112
212
208
167
150
250
135
162
150
112
112
208
167
208
220
203
121
208
171
150
203
123
210
209
137
205
172
112
208
218
258
194
237
203
231
156
163
150
210
150
112
172
172
112
194
208
150
189
174
160
212
123
302
208
167
177
123
219
192
201
342
170
218
195
150
112
136
181
220
172
210
159
156
150
150
136
210
228
150
228
225
181
112
112
150
172
208
208
170
146
150
200
201
213
121
121
146
167
255
164
207
172
170
112
187
218
150
150
150
194
167
123
201
150
121
150
208
202
112
210
150
165
167
181
112
204
171
112
172
208
150
143
124
254
165
243
212
208
150
167
159
146
208
237
208
124
179
150
121
115
150
121
136
171
150
150
167
193
187
202
112
170
150
215
123
224
146
171
175
112
121
123
112
162
220
112
172
185
150
170
194
241
225
167
147
135
208
156
226
276
170
250
220
243
232
229
170
160
112
121
195
203
194
150
215
150
170
165
229
264
197
137
208
202
208
176
112
152
112
158
115
135
217
172
112
121
172
172
123
170
121
136
112
181
162
238
215
124
165
167
229
242
135
187
121
227
192
167
130
240
279
150
202
121
150
201
213
225
172
224
150
121
174
121
150
186
190
194
123
257
112
217
150
186
112
172
228
202
165
195
174
121
208
208
171
212
176
123
218
167
231
150
177
112
202
112
245
170
210
181
136
219
212
136
172
302
207
121
203
252
121
194
227
237
194
150
208
130
227
207
181
172
224
161
171
144
215
112
167
238
124
221
200
214
112
193
168
171
112
172
121
201
209
150
165
150
136
135
194
218
242
124
219
195
165
150
176
165
208
273
242
214
234
159
189
121
112
204
121
177
150
123
170
170
164
172
137
150
194
208
210
121
170
171
123
171
131
201
229
161
192
224
210
171
121
189
150
112
278
174
208
135
271
159
121
167
112
112
219
211
207
115
181
121
165
214
174
150
121
167
217
130
164
167
172
147
257
263
150
186
121
174
165
165
121
208
246
202
112
167
121
255
112
255
216
115
194
166
193
112
150
121
208
225
158
172
150
121
168
203
275
194
208
150
195
121
167
223
115
217
207
186
121
208
208
158
233
192
130
208
147
194
208
123
170
172
228
195
167
136
115
170
143
201
112
195
121
228
172
150
194
215
112
164
220
194
250
150
150
147
219
210
123
276
216
121
112
112
278
121
172
208
253
267
205
171
121
172
150
212
156
150
165
159
253
172
165
220
208
192
150
150
121
176
121
150
195
167
135
121
167
150
208
220
160
176
123
182
115
175
203
136
135
112
121
237
177
159
165
186
121
210
208
172
146
170
170
228
150
150
208
170
150
137
112
172
159
121
112
171
150
160
128
143
139
147
232
231
121
177
217
150
216
112
112
160
121
208
176
171
228
167
209
243
150
115
136
210
164
165
223
264
137
228
112
112
195
170
193
150
241
121
172
216
170
150
112
170
123
137
172
150
167
188
302
208
208
150
207
128
177
112
124
156
150
192
167
121
150
193
208
150
112
258
170
121
208
150
219
112
115
208
208
121
204
203
172
236
158
176
168
172
150
212
152
165
115
208
150
244
236
212
208
181
208
150
184
150
212
198
208
173
210
192
228
112
123
121
208
150
215
186
150
228
150
171
121
210
175
170
272
230
112
202
158
112
170
130
172
220
174
193
137
228
112
234
238
121
170
150
212
123
121
210
247
167
208
208
205
170
194
210
172
172
203
228
150
176
121
208
150
202
194
186
150
123
150
181
195
189
257
208
168
167
184
112
172
208
207
176
192
211
170
156
112
174
210
123
164
123
150
176
172
170
207
123
172
240
219
121
170
121
193
165
170
121
179
150
186
186
207
226
112
150
130
167
121
174
112
121
249
145
177
176
112
210
167
177
112
171
172
193
237
170
235
123
200
195
144
194
181
172
121
174
217
171
239
195
187
184
160
150
121
255
137
121
237
186
225
181
263
231
242
167
150
150
137
112
152
167
123
136
167
150
150
157
176
202
196
183
212
121
186
213
172
121
112
203
210
167
177
158
136
172
182
135
176
164
150
181
150
121
200
201
167
174
121
158
147
150
123
206
194
250
165
115
112
112
261
112
201
181
176
146
156
181
171
240
186
150
250
112
147
112
121
238
195
143
121
236
210
115
202
176
208
192
121
176
147
231
177
112
172
208
219
181
202
243
168
150
219
150
175
175
237
135
237
172
121
123
184
150
203
112
171
112
264
208
121
236
150
231
121
223
194
112
136
186
112
159
112
150
123
208
150
217
186
159
171
150
217
170
210
167
150
150
181
165
165
229
150
150
187
234
202
150
171
171
237
112
193
112
193
209
186
239
165
221
171
112
208
165
150
144
203
237
123
172
170
157
156
121
212
240
162
181
150
231
174
165
112
144
150
232
190
136
172
297
112
150
167
219
208
176
225
121
121
112
121
167
121
160
137
124
194
233
121
195
150
174
123
176
121
208
186
265
143
210
167
150
194
123
208
201
212
121
123
121
150
194
112
172
203
143
136
203
247
167
121
196
208
231
171
112
150
165
237
172
222
121
208
208
167
159
181
167
150
226
112
192
215
143
172
135
176
187
171
172
206
112
205
121
175
121
167
208
217
135
112
152
222
150
144
186
121
208
121
150
193
170
121
167
207
241
172
121
177
162
220
147
150
150
135
172
112
172
112
162
150
115
228
112
112
295
170
121
121
174
172
237
135
135
136
172
208
131
228
121
121
112
123
121
121
217
208
176
150
205
192
193
136
260
176
243
255
121
172
210
112
157
208
147
112
199
144
218
203
194
143
159
121
208
219
193
256
150
202
150
123
150
170
237
144
299
212
121
150
225
121
211
194
167
172
237
208
135
170
171
234
223
121
177
112
135
247
121
193
112
123
226
147
219
202
150
150
137
181
112
152
150
172
164
112
136
165
150
192
121
170
123
136
178
186
150
225
278
208
165
158
150
121
121
135
112
193
150
171
150
146
212
193
192
121
212
195
153
234
165
174
158
158
184
112
167
121
159
112
168
112
165
137
121
201
197
112
137
184
228
171
167
172
121
192
121
112
112
121
143
112
187
189
202
136
135
150
170
150
237
121
176
202
236
205
182
112
208
160
123
187
225
172
193
176
195
160
168
112
112
194
171
193
208
195
221
208
172
170
228
150
170
181
208
170
171
208
121
186
121
170
165
150
250
271
172
150
112
208
112
186
152
194
158
150
226
208
213
160
217
167
208
158
150
204
205
123
150
150
172
121
165
249
195
167
137
208
152
244
150
167
225
167
208
121
223
123
195
212
164
171
250
150
228
130
172
144
136
150
112
186
208
209
259
170
228
189
150
171
167
150
184
176
194
189
192
150
219
176
174
208
192
165
237
170
219
158
208
112
203
145
179
208
170
171
121
160
167
186
227
170
121
112
203
242
208
158
130
171
171
157
112
184
181
112
123
263
150
150
201
208
179
219
167
172
192
171
112
150
201
150
210
112
202
150
231
137
172
195
150
135
172
208
112
135
211
187
227
226
238
172
150
112
150
156
209
150
112
176
216
150
150
241
131
150
121
208
121
112
150
167
150
223
150
208
167
167
112
156
302
112
165
150
139
115
176
150
215
167
209
112
150
124
210
147
112
112
150
212
216
157
186
231
181
255
184
208
156
150
112
192
170
184
276
167
136
150
150
237
243
141
150
123
208
186
121
239
167
150
123
121
208
167
170
150
189
250
166
112
208
207
192
112
112
171
112
193
181
121
112
150
172
170
112
150
150
121
194
195
112
150
203
208
112
150
171
250
167
290
150
158
189
243
112
121
150
240
208
227
150
112
167
172
167
182
128
181
170
161
150
123
232
121
165
224
213
121
121
112
208
172
157
123
172
174
112
112
210
156
128
186
208
171
150
257
168
272
177
172
212
150
147
212
168
152
209
252
276
217
212
214
112
207
176
187
152
198
203
200
208
226
174
135
112
225
150
208
150
115
112
167
121
146
163
236
123
236
208
137
201
121
239
112
212
194
150
170
236
164
172
186
208
212
181
112
208
121
175
150
150
150
121
115
112
173
231
177
174
112
214
186
150
130
158
150
234
112
167
130
150
208
150
150
150
181
201
255
137
208
131
150
176
181
228
192
112
112
174
112
220
112
189
170
208
137
168
150
150
150
243
186
158
181
203
202
150
187
121
186
243
179
159
172
187
202
123
204
227
160
297
136
172
112
177
150
176
210
150
121
167
150
170
150
112
212
159
170
274
167
167
165
112
144
172
150
174
170
222
121
219
207
194
167
135
150
150
176
128
208
177
226
195
298
165
210
159
228
150
135
204
237
278
231
150
194
176
112
299
136
112
158
112
131
208
150
231
212
170
193
171
160
112
167
136
179
201
124
152
229
291
228
164
139
112
228
157
203
167
150
172
210
123
208
130
205
112
135
164
150
121
178
228
161
229
204
150
235
189
170
182
112
181
172
198
121
213
208
150
177
112
112
112
230
225
121
203
208
121
171
112
112
176
147
168
150
228
193
165
193
172
167
208
218
250
228
233
242
232
193
186
238
206
206
187
150
231
150
150
147
217
145
193
226
150
219
150
143
208
166
208
124
112
232
194
150
152
225
164
121
255
167
112
130
150
177
240
144
150
247
172
193
121
186
130
150
168
150
121
205
137
121
121
263
147
124
112
229
112
284
115
167
193
112
150
121
170
243
144
121
167
150
112
186
152
194
121
136
215
193
150
218
195
159
123
193
181
204
205
250
121
208
150
112
198
214
150
208
206
160
226
135
201
176
170
226
150
250
150
167
170
225
123
164
153
210
112
150
191
258
112
112
237
250
208
179
150
228
237
172
193
171
112
201
150
147
224
167
231
181
208
121
112
150
170
203
236
112
150
210
239
232
158
150
137
192
181
112
121
220
121
121
150
160
208
112
171
218
220
210
171
170
150
228
181
187
150
212
150
159
232
167
150
159
167
228
165
130
172
192
172
164
186
150
194
207
201
195
201
165
263
135
181
237
121
121
172
194
187
137
181
176
121
194
265
171
150
150
164
146
167
172
220
250
219
194
112
247
150
150
112
112
240
179
179
226
136
121
231
311
241
150
112
150
194
173
156
112
130
112
207
150
123
201
246
172
160
167
112
121
172
150
150
112
167
302
208
150
241
214
217
208
208
184
135
112
205
194
202
167
187
112
150
177
172
164
130
121
174
112
150
167
216
210
210
226
210
112
112
121
258
121
112
112
112
174
112
112
150
150
167
172
194
150
228
172
208
177
112
195
177
170
112
167
205
150
177
115
186
158
214
167
195
208
112
121
137
121
210
205
252
112
121
121
240
208
175
205
228
150
150
150
167
164
158
159
172
228
286
150
121
205
208
194
177
174
136
171
121
121
171
171
112
177
121
147
276
167
299
150
112
210
233
172
167
121
181
137
208
208
137
124
172
229
160
150
150
150
194
112
112
170
115
170
112
130
112
121
209
219
150
112
160
170
165
187
170
112
210
121
194
112
150
208
112
243
146
174
206
177
150
181
121
208
164
112
170
121
112
121
217
187
150
147
112
150
121
150
187
112
194
226
177
159
176
171
253
192
150
161
179
165
150
150
121
136
150
121
239
226
172
165
195
167
209
171
225
164
220
232
112
194
147
208
181
121
158
121
121
228
115
136
181
206
210
208
164
172
168
276
208
121
217
170
121
194
209
236
171
255
121
222
135
171
174
123
202
250
123
164
200
236
152
150
121
177
121
158
170
197
150
112
210
218
181
139
159
147
112
112
158
112
137
172
209
193
153
112
208
187
115
112
186
206
208
121
121
209
150
112
150
156
208
228
172
121
208
150
170
228
150
112
205
137
150
217
160
150
152
159
208
177
115
112
192
112
203
150
112
172
128
208
136
207
189
210
182
123
167
172
150
172
112
281
112
168
150
202
150
193
195
193
115
150
228
263
209
175
123
231
186
238
188
112
177
196
214
302
121
128
202
144
235
121
143
193
228
150
112
152
186
215
170
165
247
232
121
208
195
203
156
158
121
123
170
208
210
167
159
203
150
172
172
150
171
200
194
203
202
181
208
150
152
124
167
172
112
136
212
150
121
176
167
123
149
168
218
250
208
181
203
237
196
243
172
172
171
187
150
208
121
208
227
112
112
112
224
112
121
186
167
115
121
237
237
165
218
216
208
215
121
130
112
210
172
218
171
112
164
207
112
186
164
160
208
135
150
181
112
170
246
112
160
226
164
130
181
193
208
229
176
217
216
172
121
208
193
121
237
186
150
192
112
181
135
239
230
157
195
207
167
171
192
203
196
167
181
177
123
187
207
226
250
123
176
160
226
112
167
112
160
208
228
198
128
206
112
179
121
208
112
112
205
208
186
150
179
136
165
150
164
121
164
150
171
115
255
112
124
152
150
150
147
177
171
232
201
121
201
239
150
207
172
193
186
121
181
121
213
112
150
210
112
136
207
121
143
193
112
121
181
177
121
232
150
208
167
115
198
194
112
218
167
212
170
228
112
135
205
123
302
194
123
150
172
195
150
150
202
228
194
172
220
112
265
167
112
212
176
121
150
212
136
157
150
112
179
186
112
187
208
228
167
121
112
220
170
121
150
245
208
167
208
170
136
165
162
203
121
158
224
217
150
177
160
265
143
193
220
227
226
181
255
233
238
205
209
208
121
168
250
130
220
150
112
181
171
181
112
164
231
112
136
208
172
112
121
170
165
150
171
172
112
208
193
243
213
165
178
219
208
150
187
150
150
150
193
172
158
167
170
229
112
229
121
150
112
130
212
250
135
170
164
121
112
165
181
112
208
170
203
137
170
228
237
121
174
121
239
124
194
150
150
186
112
121
159
171
150
160
150
172
121
171
186
121
257
170
112
181
112
150
226
121
137
220
150
195
229
112
150
121
186
193
164
158
246
208
150
123
150
160
112
193
237
121
193
257
200
202
181
172
195
179
115
150
196
170
182
161
181
208
159
150
186
123
121
121
176
112
172
121
165
150
173
164
208
240
174
228
170
164
187
115
189
174
168
228
192
208
172
175
212
208
215
213
181
170
115
169
112
171
150
112
112
194
112
150
150
171
202
123
121
226
278
150
150
136
202
210
212
208
210
150
130
212
228
233
215
214
208
112
237
112
276
167
171
112
121
124
112
212
220
150
153
223
208
121
243
255
171
187
170
170
170
202
112
121
157
112
176
205
176
167
167
206
227
147
112
172
194
150
112
170
201
170
176
208
150
143
160
150
112
264
121
219
172
208
170
147
112
208
112
150
194
137
172
165
112
172
112
170
167
186
175
150
150
208
121
112
150
171
172
167
208
150
123
112
232
150
170
195
175
147
150
174
140
192
172
212
150
179
186
135
226
192
121
224
147
121
167
172
172
123
150
203
167
112
239
170
152
212
208
250
112
233
150
258
215
203
171
208
219
121
190
225
150
172
275
121
150
208
164
159
172
112
150
156
128
225
123
205
208
216
121
193
123
181
178
156
170
136
112
194
193
115
237
195
237
208
157
164
184
170
218
123
208
167
203
225
112
214
171
136
212
147
183
170
176
226
214
208
171
156
112
194
150
121
115
266
165
135
112
194
189
112
233
171
237
216
121
186
172
147
172
208
181
172
172
150
150
172
187
147
150
150
170
123
208
172
121
165
121
144
137
172
150
150
112
228
150
159
167
172
158
200
137
172
173
219
191
208
167
208
269
150
135
150
255
213
124
210
212
112
165
192
172
150
150
172
242
184
115
172
201
186
226
195
165
210
146
121
112
150
150
173
168
228
112
112
181
150
172
163
177
170
112
167
130
195
121
186
224
147
123
121
167
137
170
150
175
143
112
225
228
205
214
123
226
192
137
160
150
181
112
137
208
124
171
128
172
112
150
181
177
192
135
112
208
165
226
137
164
121
112
192
172
170
150
174
245
187
121
167
121
150
255
174
208
112
136
162
158
181
202
192
263
172
170
168
186
176
238
112
192
217
167
150
150
112
112
250
202
112
210
165
170
112
124
184
170
189
170
195
112
121
210
172
290
112
158
181
172
150
137
187
281
152
115
194
193
167
195
250
194
165
193
150
112
195
210
172
150
194
210
193
192
121
208
112
179
121
250
192
223
112
202
150
121
112
170
150
121
237
186
207
210
253
187
147
123
208
255
185
167
233
130
208
174
121
195
165
211
197
250
156
158
121
247
150
201
121
150
124
175
171
121
197
207
194
208
164
174
172
207
121
165
112
171
130
137
176
137
237
208
115
170
193
228
253
212
112
112
150
206
143
250
150
277
202
121
194
170
181
135
157
172
121
112
167
202
112
150
186
150
112
136
112
150
124
112
244
170
112
179
130
150
168
202
167
150
135
193
212
226
253
193
112
253
150
170
205
164
172
283
146
123
150
150
181
186
150
172
167
219
173
121
164
168
178
225
176
188
189
170
176
150
174
112
172
121
165
136
261
167
112
112
171
218
172
167
115
147
121
167
194
157
112
217
112
189
227
123
160
171
217
170
241
172
212
172
172
112
209
150
158
160
194
193
203
112
144
150
207
112
146
136
165
232
170
174
168
218
177
121
115
208
167
121
123
170
115
123
194
150
184
135
163
243
229
171
196
207
208
194
112
170
115
147
112
167
162
176
216
204
187
225
219
152
150
226
160
210
174
208
172
150
136
112
170
208
121
178
224
219
112
195
220
172
163
150
172
201
208
168
208
112
228
195
150
208
219
152
150
112
150
237
123
237
124
219
175
195
121
219
224
150
156
150
172
237
170
123
112
170
193
234
186
217
152
115
172
203
207
112
165
214
175
167
231
112
170
150
112
176
112
164
208
172
147
150
223
137
172
195
208
190
121
112
150
266
274
128
192
194
136
156
244
201
184
174
175
195
150
184
167
170
181
164
232
208
188
121
168
202
156
176
112
128
201
165
228
112
150
231
217
172
208
167
232
230
216
171
164
205
208
150
174
158
164
265
150
214
136
264
216
150
170
165
159
209
112
217
167
112
165
123
121
156
187
135
206
212
158
112
170
199
112
208
176
172
194
208
228
176
137
121
241
150
167
121
158
115
174
171
248
170
219
150
195
170
231
203
232
210
175
121
234
210
171
194
147
179
211
121
147
199
202
196
170
128
223
168
209
193
156
150
135
203
159
186
203
135
167
112
147
172
170
240
186
171
160
152
172
190
250
137
157
228
112
121
121
195
150
205
172
229
112
172
167
228
222
144
150
208
207
150
172
198
161
202
136
192
136
170
112
136
167
212
146
150
186
219
242
170
123
195
193
276
202
165
160
210
150
186
121
130
226
255
112
147
150
115
241
171
167
172
208
123
181
201
121
172
170
147
190
150
150
186
208
172
165
210
174
112
171
112
156
136
121
123
112
208
230
121
150
210
208
112
194
160
187
150
115
152
150
217
150
168
112
121
208
156
178
136
112
258
218
181
112
150
112
217
112
181
112
121
171
150
228
123
256
181
176
159
121
181
173
194
150
182
121
208
186
168
112
152
150
187
192
128
121
208
172
210
208
147
200
194
232
237
195
186
201
112
135
202
153
175
192
165
172
263
121
194
240
136
208
218
121
112
208
176
208
136
171
112
150
305
121
181
194
121
216
121
255
186
150
160
112
210
170
189
156
121
174
150
177
150
123
124
230
172
172
112
112
171
187
112
121
135
112
172
156
223
176
112
228
112
123
158
172
186
212
276
176
150
150
112
209
208
147
121
216
186
121
112
112
121
233
196
203
168
171
150
204
228
112
158
179
139
150
208
159
207
150
195
208
147
208
135
181
112
195
121
150
167
177
210
205
112
237
137
121
237
208
121
131
121
167
150
171
150
210
160
112
137
178
123
210
121
150
158
136
203
147
232
165
194
170
162
177
207
206
208
172
164
161
160
208
225
121
112
167
135
172
224
170
186
135
112
323
167
194
121
202
112
235
181
206
193
112
171
112
115
158
150
158
172
150
184
121
135
208
193
121
135
228
121
158
150
112
137
175
150
171
147
181
112
171
195
276
172
150
236
202
175
150
171
112
231
153
112
150
187
147
112
121
135
150
150
123
159
176
156
121
150
136
171
176
170
136
223
112
121
112
202
225
172
172
164
196
194
171
207
150
164
172
150
231
187
205
112
208
242
121
238
165
112
176
137
194
171
226
195
136
212
195
202
175
112
112
192
112
135
112
172
165
147
167
190
212
172
208
175
171
213
171
150
150
158
208
203
201
124
123
181
150
255
171
205
239
238
237
150
179
150
115
156
176
176
186
202
121
150
150
150
112
237
174
167
211
189
172
177
228
240
201
232
152
229
176
259
150
211
240
150
215
171
167
219
150
172
186
233
193
121
203
150
121
167
112
150
181
208
121
207
192
223
128
194
176
137
176
167
195
165
150
112
112
121
170
193
170
112
193
112
225
136
112
121
112
202
137
150
112
219
112
244
205
121
187
121
156
206
193
112
212
147
207
204
115
150
158
150
112
208
112
201
172
165
150
186
172
250
194
165
239
171
150
282
112
160
167
156
167
214
128
238
121
208
186
112
231
250
123
147
206
208
184
150
164
150
174
112
165
225
187
150
259
150
128
203
193
123
207
121
112
250
180
171
275
121
165
150
156
121
128
150
167
136
228
194
212
156
189
153
219
121
217
170
150
112
167
160
112
174
159
192
112
150
147
172
194
235
167
237
226
112
112
135
150
123
195
250
193
121
170
175
123
130
176
228
205
112
176
121
177
177
172
152
150
121
205
112
156
121
205
167
112
240
172
150
167
179
135
159
162
184
208
223
171
124
237
250
264
228
170
231
187
176
208
165
170
208
219
135
170
212
135
181
121
225
150
202
150
150
124
112
121
172
194
208
194
181
276
150
170
172
167
124
171
218
240
121
231
158
112
194
112
165
121
112
186
196
165
208
143
224
112
181
156
174
181
194
214
229
237
121
215
226
227
121
121
121
168
186
121
112
175
170
208
233
208
210
181
150
167
232
172
211
203
123
121
212
172
150
203
205
121
170
123
158
112
112
186
156
195
147
123
181
159
226
208
130
159
189
112
239
228
195
202
167
150
167
193
233
171
150
193
112
193
123
171
176
176
179
121
165
123
123
122
150
257
123
208
228
150
112
194
150
170
115
112
157
150
156
150
150
121
124
176
175
156
233
112
165
170
193
167
167
112
228
159
171
215
150
202
157
112
150
123
186
121
150
208
135
194
201
130
136
172
136
112
178
167
219
147
179
227
186
174
228
208
176
150
121
165
231
172
165
218
207
186
172
177
150
150
121
172
171
281
115
150
235
123
194
156
171
208
171
152
185
152
177
217
177
176
170
158
161
150
228
150
121
181
226
182
167
179
216
257
171
258
220
237
150
112
171
255
203
194
150
147
181
171
121
121
208
121
222
258
123
136
121
194
210
112
121
208
201
212
194
186
112
203
152
121
208
156
250
187
150
158
207
150
215
170
152
172
170
194
171
202
250
208
255
112
228
112
194
170
150
150
217
194
187
201
121
229
137
186
210
236
115
194
203
212
214
112
176
121
121
150
150
167
231
121
121
232
208
220
170
150
215
150
146
165
137
150
202
206
172
167
124
147
152
202
150
150
208
150
150
158
171
121
195
176
112
112
184
150
172
195
147
130
160
208
112
137
128
165
150
194
208
195
156
150
217
121
150
179
150
112
152
171
226
121
194
121
167
187
172
185
163
112
112
171
135
165
212
121
189
214
172
121
176
196
115
208
210
239
158
177
172
159
121
112
226
112
112
150
112
175
171
200
172
208
193
171
187
121
176
212
237
187
150
121
128
255
147
194
193
160
137
196
172
136
121
167
171
215
232
176
150
200
168
217
165
235
203
203
172
176
158
186
132
237
135
217
201
201
152
217
150
210
220
177
112
150
208
172
165
199
160
205
201
124
170
209
136
121
167
267
135
164
150
121
171
244
158
177
123
112
220
208
150
115
150
233
137
112
121
207
123
164
171
195
181
150
171
112
124
195
152
255
213
212
150
147
203
208
156
164
194
150
219
121
150
194
219
112
172
165
172
218
147
202
228
176
202
165
159
172
228
165
171
170
231
181
179
150
121
210
150
186
172
177
228
194
234
143
159
112
211
150
210
196
238
224
121
157
112
208
206
121
180
130
207
202
228
150
212
172
203
161
250
150
174
112
172
144
160
112
167
237
147
163
208
228
174
112
176
232
218
115
150
128
121
199
115
177
112
176
123
210
159
208
112
176
202
152
194
172
171
112
150
250
112
193
179
181
150
250
168
150
237
150
206
159
195
171
160
170
214
137
170
150
172
121
181
171
242
263
150
172
112
121
158
230
112
181
164
171
112
112
260
150
112
239
147
208
123
123
115
165
171
228
167
112
112
217
150
172
174
167
203
228
172
135
135
237
181
171
123
112
150
144
135
164
210
215
185
115
121
214
203
115
176
150
195
158
233
115
230
186
187
250
150
172
208
150
177
156
121
241
112
210
112
121
144
147
202
208
144
150
143
150
170
147
135
165
219
146
215
121
172
167
150
208
293
128
121
112
267
159
112
179
150
165
208
160
195
208
150
255
194
216
112
164
189
165
228
208
263
177
228
124
112
150
150
193
152
112
194
150
250
279
181
178
121
150
271
150
170
150
181
170
173
150
214
121
207
121
175
137
150
112
210
150
202
128
170
164
208
121
192
112
121
203
215
112
150
170
167
157
208
176
202
236
228
121
121
228
203
160
193
150
172
124
150
208
172
137
171
207
172
189
171
174
123
219
150
194
228
211
192
302
112
205
228
112
136
112
233
130
121
112
150
231
187
257
150
121
165
206
171
250
181
165
170
135
167
165
130
130
143
171
159
208
130
193
226
136
121
194
150
193
193
250
170
208
144
150
165
150
192
112
150
146
187
150
181
121
208
123
121
112
208
150
213
136
172
130
112
167
128
112
170
172
210
253
229
150
208
121
150
121
217
150
121
112
228
135
167
137
175
203
176
281
159
165
150
208
189
150
240
208
121
167
150
121
136
130
229
136
250
170
184
171
164
135
136
208
121
121
150
112
150
121
231
121
231
177
121
208
112
172
123
112
128
112
193
227
170
150
112
208
136
231
192
192
231
121
187
121
172
212
115
150
150
165
172
179
150
181
186
150
231
243
201
194
150
208
193
302
112
152
194
225
165
178
200
112
112
143
170
196
150
161
170
165
172
178
112
112
123
150
112
165
167
143
186
231
219
197
208
121
195
193
174
168
112
176
115
150
208
197
168
150
261
150
172
234
176
186
167
149
174
150
187
115
112
172
186
176
179
228
181
253
121
176
229
181
136
150
121
167
136
112
150
147
121
243
150
170
234
167
150
165
186
187
121
201
123
250
174
123
164
194
208
115
144
150
150
150
171
193
124
150
220
112
239
172
121
170
165
212
167
218
137
112
130
123
121
244
163
232
195
150
143
208
167
170
228
179
158
150
195
156
171
121
150
232
112
112
193
112
171
255
112
216
112
195
208
112
177
186
172
197
193
170
172
224
181
150
236
215
187
121
220
176
121
206
212
177
218
174
187
184
203
160
172
181
228
225
170
112
220
208
237
194
167
150
161
112
194
198
187
112
208
135
121
121
214
177
195
181
172
187
211
263
250
167
136
112
237
177
150
181
176
150
156
228
165
172
161
150
146
208
176
213
170
241
173
131
167
194
146
194
123
185
195
207
152
121
170
147
176
150
147
167
176
115
134
150
144
152
150
150
172
186
171
112
121
182
237
195
167
150
212
208
262
121
175
172
166
121
208
135
194
302
150
164
112
150
231
112
172
198
150
112
228
167
203
181
160
178
207
196
195
194
112
167
208
121
121
167
342
172
112
186
194
167
115
112
176
112
172
208
172
194
178
232
197
135
176
158
193
194
193
159
167
150
121
164
172
130
216
236
229
170
150
187
208
246
112
136
224
121
167
150
258
206
136
192
150
158
176
121
146
164
121
150
150
112
121
228
124
229
143
172
167
147
176
181
115
121
165
121
146
123
112
175
186
112
267
171
164
172
232
165
156
150
112
186
170
121
150
210
137
187
194
239
139
121
198
150
112
121
230
115
230
112
160
167
112
145
167
168
244
186
209
135
181
195
185
237
208
150
186
194
263
195
121
124
137
121
223
121
172
170
186
178
121
239
150
150
172
181
128
174
220
201
192
187
167
195
158
165
150
201
150
205
150
170
135
112
181
193
136
291
218
238
164
194
112
217
121
184
171
212
150
174
173
121
186
172
206
208
186
150
170
201
228
208
121
170
147
165
150
208
167
207
150
158
112
121
112
208
171
124
181
181
137
150
214
208
217
121
121
112
208
228
112
150
150
112
243
164
193
187
167
167
135
186
196
130
171
147
181
150
194
171
201
150
123
137
150
112
115
150
231
194
137
146
172
231
208
112
150
167
150
170
150
195
194
231
115
176
237
165
128
208
208
150
170
174
224
150
121
203
156
112
186
205
112
196
175
217
130
150
168
150
219
193
245
190
217
123
226
203
112
257
150
216
167
181
186
130
201
115
112
174
112
189
150
123
172
208
150
176
255
112
174
150
172
123
198
234
170
237
158
234
150
163
272
112
112
121
205
217
123
172
158
237
207
121
165
112
150
236
135
112
172
170
253
272
150
150
135
150
112
208
123
150
218
187
150
170
219
170
112
214
152
170
210
189
150
172
160
121
170
189
171
159
250
194
181
241
192
121
215
172
170
112
171
150
165
112
121
207
172
202
171
170
272
136
150
150
279
194
150
250
195
150
208
121
232
167
187
186
172
121
255
150
194
220
174
171
165
163
218
187
150
150
123
170
278
167
213
165
112
203
150
203
137
135
236
171
195
274
172
232
136
209
170
172
112
192
112
189
211
150
247
218
150
208
186
135
123
227
156
195
208
189
150
257
176
194
194
130
219
209
182
192
202
219
137
186
170
150
208
244
112
147
121
150
121
201
185
240
159
308
147
112
203
205
186
228
228
121
136
208
171
150
170
112
202
150
192
214
115
208
187
173
172
195
172
194
192
150
135
121
172
121
131
193
145
150
150
172
241
167
112
176
172
237
199
150
194
137
171
239
150
219
202
112
150
172
130
208
186
181
203
210
121
112
172
167
176
202
121
209
170
112
164
150
193
171
115
194
208
226
182
158
237
150
121
170
231
265
136
164
150
195
150
184
219
167
135
181
115
231
121
121
137
115
150
208
121
115
158
167
176
203
176
200
217
112
231
235
235
171
235
159
202
231
123
208
228
112
150
176
135
128
218
167
207
147
161
162
235
172
168
193
228
208
170
302
112
195
208
150
186
226
172
210
150
172
220
208
150
121
165
219
135
164
112
208
323
250
112
160
272
276
124
150
218
171
181
160
212
194
249
195
121
205
185
150
147
143
121
227
208
150
112
170
175
178
159
176
276
170
137
165
210
174
205
194
123
212
216
204
121
165
260
167
165
150
194
208
231
150
150
165
112
112
164
150
174
130
164
225
172
150
150
150
170
136
170
250
220
115
162
176
170
171
152
167
121
195
181
170
172
171
208
208
167
121
124
208
203
150
181
259
160
112
175
181
167
179
124
121
170
135
145
231
123
112
208
112
167
218
175
147
207
160
234
121
171
150
150
212
193
121
112
121
186
150
212
145
208
135
231
170
121
234
217
216
194
115
231
202
176
157
177
112
240
173
150
136
112
115
195
192
240
136
268
136
112
150
139
172
137
112
181
194
228
121
147
187
164
173
121
121
220
159
128
167
175
121
150
170
231
262
147
167
112
167
193
135
220
250
243
228
121
171
150
208
167
172
150
165
112
165
147
156
194
172
121
218
202
150
192
165
150
208
130
212
121
167
212
121
158
135
170
121
121
194
218
150
112
172
112
174
165
231
181
281
150
172
150
121
150
123
121
167
160
186
150
112
194
171
121
208
194
237
124
112
158
229
150
112
164
165
171
167
150
150
121
276
112
112
172
112
258
135
198
186
186
121
208
172
150
212
157
112
203
121
150
228
209
186
164
192
137
226
121
150
150
208
204
170
121
136
112
112
112
150
175
194
201
123
158
176
171
112
176
137
258
121
143
177
152
172
183
185
220
121
167
112
208
150
136
186
115
121
150
192
217
112
210
165
250
195
146
214
186
172
208
250
172
165
170
112
121
205
158
150
164
193
171
112
208
112
123
302
205
162
150
229
239
112
194
218
203
178
171
207
143
239
172
112
112
165
202
186
167
137
220
181
172
121
220
181
112
152
195
208
112
202
173
147
228
222
123
150
243
170
172
167
112
208
194
158
234
171
203
170
201
210
150
177
184
112
164
172
210
150
150
172
124
112
189
121
156
150
121
178
208
121
272
137
218
194
220
157
112
167
112
112
165
194
216
170
177
193
237
193
168
172
135
112
170
180
170
136
208
176
152
250
172
112
194
229
112
176
234
112
123
170
150
202
172
167
210
150
172
150
192
170
171
208
150
250
170
150
170
194
172
161
176
177
112
208
150
136
207
112
174
112
167
172
208
194
208
167
255
150
208
121
208
167
170
208
121
112
150
172
159
186
232
124
121
170
121
112
123
150
147
177
181
170
150
236
112
243
150
112
225
168
150
112
278
121
202
238
265
121
175
172
172
219
172
112
257
121
121
150
187
276
159
241
136
200
172
150
170
193
229
164
112
189
172
170
215
121
172
115
226
202
168
112
205
156
206
150
112
121
171
150
150
115
243
150
121
123
167
238
208
167
194
128
166
226
147
171
112
139
167
123
194
137
186
150
208
186
112
219
137
160
194
214
150
121
167
172
208
250
201
130
137
172
237
159
167
124
172
115
186
279
150
121
150
201
208
172
150
121
179
165
112
150
233
167
112
130
181
231
170
187
225
158
150
208
172
150
286
147
194
137
172
236
208
159
275
150
239
181
170
112
208
195
115
171
187
176
150
158
172
156
231
170
123
172
167
150
159
194
150
121
178
130
159
193
242
150
136
170
178
112
137
172
226
172
210
186
231
124
135
192
158
128
194
233
208
212
170
202
115
226
193
172
208
172
208
164
208
183
121
131
226
136
170
146
123
237
121
165
220
121
175
205
227
150
177
220
250
207
257
112
165
115
167
171
123
208
188
112
243
190
208
175
159
208
112
237
226
167
208
124
210
202
254
170
172
213
150
177
218
123
266
174
112
112
208
150
121
205
181
150
112
137
219
225
137
147
121
181
167
112
250
247
123
202
159
186
172
168
228
170
172
172
232
160
174
172
150
157
228
195
209
115
121
237
160
172
172
112
186
121
202
187
150
150
165
112
150
150
209
150
193
228
231
208
202
176
145
123
181
186
208
121
187
167
112
218
170
112
150
195
202
150
207
167
150
220
175
170
172
228
208
150
150
179
121
194
124
181
121
176
121
170
235
176
194
194
164
263
136
214
121
181
172
205
121
150
152
115
174
159
172
181
231
194
112
207
121
262
256
150
150
208
208
164
177
267
194
219
173
112
176
150
181
160
178
250
255
227
159
171
150
121
202
228
172
195
167
208
136
233
186
165
176
172
250
176
170
122
130
187
170
123
156
167
152
150
176
112
165
124
112
172
150
194
206
172
112
165
112
200
186
158
213
243
208
150
223
121
112
136
187
150
170
235
242
172
208
193
232
228
121
172
244
201
160
190
220
170
179
226
195
135
121
121
204
112
121
193
150
167
217
170
187
233
207
139
170
121
150
170
121
221
136
225
150
121
172
121
198
115
228
123
165
194
236
208
203
150
115
190
278
207
208
219
150
209
123
156
217
115
223
194
121
205
265
276
121
196
150
220
170
190
123
235
186
181
150
228
203
210
228
172
173
158
243
137
164
123
186
208
121
187
196
124
137
186
235
156
229
231
210
240
112
207
174
135
193
195
186
263
112
176
208
239
150
191
208
204
171
150
172
217
161
150
228
150
112
165
150
278
165
229
150
112
136
121
167
181
121
203
123
171
112
112
208
245
170
150
115
210
208
218
194
167
156
121
112
150
208
264
123
170
168
115
208
150
187
121
123
208
136
121
208
230
167
220
174
223
112
112
170
271
150
208
172
172
176
205
146
172
193
232
178
167
215
167
240
205
167
239
237
150
202
186
136
135
184
150
228
112
121
263
121
147
221
171
174
208
218
135
123
220
123
229
137
171
137
222
202
150
165
150
170
235
121
208
167
167
121
121
165
171
172
186
194
147
147
195
123
176
263
186
194
121
193
194
232
167
207
150
225
186
121
112
172
220
167
176
143
228
231
225
198
164
112
135
136
231
208
121
198
115
176
181
128
201
201
186
172
171
150
112
231
167
194
242
170
201
228
150
121
204
150
186
207
208
112
170
198
235
250
212
112
123
208
210
135
186
230
189
121
176
172
150
179
150
229
233
228
144
172
177
228
150
207
167
186
201
112
172
177
112
165
150
150
176
153
150
143
175
208
112
167
208
243
112
176
230
167
167
235
136
112
159
112
143
150
112
112
203
170
172
150
176
150
158
121
198
178
174
145
239
171
128
150
208
186
181
112
174
137
194
112
217
156
150
159
136
158
112
152
137
153
194
150
112
229
192
137
112
165
226
112
124
150
150
150
208
124
121
121
150
257
172
239
182
199
137
210
150
171
204
165
112
228
112
192
150
170
237
187
186
112
193
205
150
194
150
212
189
233
191
171
250
214
112
171
176
172
231
123
216
195
165
181
167
150
159
215
276
255
121
130
112
123
123
123
203
128
181
225
150
121
124
177
124
137
165
112
172
195
172
194
147
208
112
167
112
123
244
218
112
112
186
137
150
121
225
150
288
112
123
186
158
208
135
197
235
262
137
112
189
181
150
171
202
121
208
112
158
208
194
193
167
160
135
112
200
112
121
135
172
160
112
171
194
121
201
147
121
217
176
123
112
170
150
172
264
121
137
217
162
208
112
187
171
112
112
210
161
195
176
160
150
170
192
167
204
167
112
136
121
121
136
124
216
150
212
121
131
205
168
207
150
150
208
150
201
246
170
121
157
147
123
162
172
226
208
121
143
189
228
208
165
167
150
150
121
150
124
208
193
223
181
172
237
206
176
207
208
208
172
196
170
181
193
112
121
175
115
121
123
202
231
212
115
181
208
194
172
112
184
231
135
210
165
121
186
233
246
172
112
165
137
130
176
241
259
165
205
167
175
121
236
235
121
150
135
185
202
184
121
150
217
112
163
167
150
188
190
256
150
190
187
207
239
123
176
115
186
174
187
234
181
172
150
150
150
171
177
112
228
121
170
123
171
112
267
208
150
188
150
172
167
121
112
165
195
121
178
208
225
150
197
121
150
208
194
164
170
220
167
121
243
147
112
115
176
160
121
174
147
165
160
228
165
121
121
123
243
121
202
150
208
263
170
112
176
135
194
167
174
112
253
112
150
176
121
121
208
199
225
194
150
156
121
150
160
112
121
250
195
253
121
172
130
150
170
182
172
170
226
242
172
195
208
209
168
233
150
136
208
150
121
156
150
176
182
121
152
150
115
238
240
175
135
123
121
219
186
184
165
207
172
150
150
112
135
205
121
162
164
135
186
208
231
228
201
170
208
121
231
181
194
146
202
170
216
167
172
159
208
112
164
112
112
210
121
194
239
172
194
160
150
195
150
150
198
241
121
150
112
152
208
215
228
193
171
158
195
112
195
121
137
207
112
223
210
143
128
167
252
115
201
112
208
121
219
208
112
176
185
150
165
112
121
200
202
121
192
217
282
143
195
150
112
121
224
167
208
171
150
112
174
208
195
178
121
172
121
208
181
228
150
236
150
302
172
224
176
226
210
112
137
226
121
136
175
237
172
167
178
165
164
164
130
150
210
208
194
150
192
181
150
124
216
112
112
201
160
160
250
115
167
193
211
150
150
112
150
112
302
115
194
257
112
112
193
150
121
150
170
237
202
216
220
193
121
207
181
208
170
150
121
179
171
147
124
152
172
123
256
121
192
176
144
167
150
171
194
167
172
128
187
121
174
135
216
159
121
112
252
172
172
187
143
135
158
201
208
187
213
123
135
150
228
150
282
121
171
193
165
128
112
112
121
158
195
112
150
150
112
167
165
193
174
124
229
121
276
150
121
203
136
124
171
217
150
115
164
181
229
208
112
121
136
204
123
175
186
187
208
178
121
184
112
121
186
208
208
150
121
210
217
224
236
159
121
112
175
123
174
150
121
170
156
112
137
208
167
181
203
112
115
210
150
216
121
208
150
150
167
186
240
130
193
112
112
112
242
112
135
192
204
176
150
208
171
112
193
158
112
167
225
243
187
144
160
219
186
121
243
225
212
232
121
208
112
171
195
150
167
130
170
165
150
302
136
121
115
192
150
176
112
175
136
236
167
176
112
208
237
210
158
152
171
197
181
165
194
208
201
278
238
201
150
263
121
121
121
172
186
115
150
171
255
231
202
186
150
147
172
121
112
181
121
150
168
208
152
112
193
165
210
112
112
160
208
136
218
176
219
150
150
250
121
172
150
177
163
112
208
170
172
193
137
223
172
232
263
112
121
201
174
170
181
112
202
183
219
193
186
167
194
178
196
210
152
208
147
175
208
208
187
210
167
176
150
208
112
181
171
150
150
213
172
121
121
208
230
231
204
231
147
233
165
137
192
186
170
150
170
167
150
176
150
231
115
136
150
227
217
167
121
160
186
124
195
112
112
176
167
146
177
194
139
167
121
170
208
112
121
181
149
208
232
121
218
150
228
250
240
172
167
159
223
182
278
193
172
208
121
243
228
170
229
150
201
210
150
112
176
224
210
258
186
231
184
167
156
121
181
250
121
167
165
236
165
112
233
181
210
189
164
123
181
207
121
171
196
165
121
209
234
121
150
121
239
167
175
231
175
170
219
194
150
168
156
167
112
194
168
195
150
158
213
121
243
182
115
165
139
172
208
150
121
150
167
175
243
150
212
193
196
170
194
131
172
257
200
250
219
194
194
194
181
297
150
115
208
194
170
207
170
170
194
237
176
195
121
208
167
123
181
170
150
172
121
123
172
121
137
170
208
208
167
228
168
165
136
186
275
195
150
150
137
201
172
181
170
172
150
158
112
171
237
172
177
194
150
165
136
194
112
150
187
186
150
112
150
208
194
186
115
172
150
115
158
112
193
187
136
177
121
194
182
167
161
112
167
208
160
208
121
212
217
193
150
158
217
150
150
162
170
112
121
112
166
193
229
183
121
216
156
202
228
179
150
195
172
137
184
112
213
112
156
147
121
150
231
214
258
227
176
137
175
121
208
112
123
208
135
128
202
150
112
215
112
195
213
147
203
135
208
181
187
128
150
176
112
226
217
121
202
201
158
171
150
112
164
201
124
135
112
194
130
208
170
150
167
194
121
181
171
172
130
210
211
112
112
190
167
124
150
150
168
147
194
243
121
124
167
193
219
156
200
194
150
115
121
150
209
144
150
150
136
137
112
253
156
112
150
217
158
224
161
150
233
232
170
260
170
226
208
174
243
176
150
136
170
150
165
150
220
176
181
228
210
123
239
121
170
215
172
131
112
121
194
150
112
212
193
174
212
121
209
170
187
121
150
197
172
112
164
188
223
208
167
147
121
180
156
212
208
137
159
170
172
179
165
167
150
203
181
208
165
112
150
177
297
137
112
181
150
121
147
158
214
224
193
194
164
228
150
112
168
174
178
150
121
121
181
121
112
165
176
229
112
137
297
172
170
130
176
156
150
255
220
121
174
112
178
186
208
219
135
204
150
193
165
112
165
121
193
150
207
186
194
150
112
112
150
135
208
280
159
226
121
115
159
156
112
212
241
121
196
168
181
150
150
240
176
170
182
208
208
193
181
204
171
121
275
150
157
257
128
147
210
112
136
150
173
208
186
150
208
172
150
226
121
147
201
150
171
236
156
217
167
112
112
250
221
173
121
121
112
232
121
112
167
112
171
150
124
222
112
210
167
165
130
175
219
152
173
123
192
234
208
205
272
135
137
209
165
165
172
263
159
181
237
208
147
192
205
158
112
253
208
121
115
150
147
121
195
112
150
239
170
112
156
143
172
193
112
150
167
172
112
150
112
244
200
150
210
112
210
112
203
219
177
171
250
208
172
121
194
112
181
150
190
187
146
175
121
123
181
121
124
165
124
165
112
186
130
276
175
171
194
176
215
150
112
226
208
231
123
136
181
210
202
135
203
201
121
213
203
200
194
302
112
112
168
208
112
250
232
150
143
210
165
205
164
242
124
193
152
150
243
203
220
208
237
271
121
170
259
147
121
160
158
237
150
150
143
207
176
112
121
200
202
212
167
112
137
276
232
194
121
150
196
150
150
150
144
136
112
115
170
208
150
150
124
112
226
135
193
135
174
170
195
112
112
123
159
176
231
202
243
231
237
158
250
208
170
150
121
167
164
150
147
150
121
136
245
196
247
121
193
210
218
201
237
121
121
135
112
219
231
150
163
112
150
203
135
187
228
121
200
203
174
123
168
121
121
112
167
194
193
112
171
167
237
147
121
167
136
195
168
229
121
250
191
172
249
195
194
208
112
121
135
186
194
176
150
143
172
121
165
159
123
159
135
150
187
172
158
150
121
208
219
201
186
193
237
167
220
112
112
121
156
192
112
135
167
187
181
159
186
130
171
228
170
176
150
171
167
196
231
177
177
121
112
136
227
187
177
159
239
192
121
276
135
121
181
202
121
207
228
147
150
259
163
167
201
271
181
231
186
236
238
187
299
121
170
181
167
135
167
150
121
205
137
171
121
112
112
137
150
194
112
255
205
194
112
201
112
186
214
144
207
121
158
260
194
208
130
157
123
150
150
176
181
202
187
121
168
112
135
250
167
194
201
167
124
226
201
212
150
172
193
212
150
194
226
112
157
172
123
228
207
172
152
220
137
160
137
115
150
165
112
112
162
203
266
205
112
150
158
219
214
210
202
179
302
123
192
121
121
228
167
241
150
276
121
174
167
228
194
193
112
112
210
194
228
150
240
231
207
171
167
291
137
121
178
207
193
122
223
241
169
250
112
208
212
208
170
208
228
228
237
165
231
235
217
150
176
237
112
121
112
150
214
179
136
112
124
152
150
128
218
170
112
128
172
239
156
112
226
121
210
208
124
231
112
231
201
220
165
135
196
135
130
137
171
243
112
186
207
147
239
123
208
112
150
194
260
268
121
181
160
137
147
130
150
203
112
172
177
195
112
255
162
203
147
194
136
187
170
158
221
300
256
121
208
226
150
150
225
121
176
182
195
194
203
193
150
123
241
177
215
164
231
121
150
187
112
255
278
208
274
165
237
211
194
150
112
150
177
170
170
139
193
195
115
173
165
209
121
172
179
112
208
167
150
201
203
208
276
250
177
255
112
197
150
150
228
158
208
196
154
176
228
170
121
195
254
171
181
208
147
187
112
170
150
205
171
202
201
158
165
215
270
121
229
152
220
194
228
181
112
121
147
150
172
121
150
195
250
193
176
187
124
231
135
112
150
150
223
130
187
250
186
172
171
228
193
214
198
167
115
135
112
128
158
170
181
177
150
225
165
186
112
121
184
221
189
164
258
121
243
130
160
194
176
208
150
112
190
139
195
174
237
150
177
255
136
170
136
209
208
150
156
220
135
174
112
136
202
168
143
217
112
208
124
235
159
204
150
160
195
112
237
164
150
237
228
187
121
206
131
208
202
121
229
171
123
167
239
210
214
208
121
181
157
177
194
196
112
167
150
223
167
121
210
135
171
112
121
123
201
212
167
165
150
170
157
228
167
112
112
172
181
112
184
198
210
194
150
217
161
156
172
131
167
167
150
170
213
181
243
170
147
194
139
167
255
170
206
202
121
187
219
202
162
172
157
121
208
195
228
150
237
172
158
206
202
208
171
181
137
208
195
112
240
253
147
121
276
184
186
228
112
124
192
202
121
172
181
201
194
172
191
242
167
213
208
150
239
158
112
171
218
150
198
218
279
158
252
227
193
121
171
217
168
193
202
158
225
121
207
147
147
165
130
207
150
225
237
112
171
167
150
172
170
115
181
189
150
137
171
208
263
264
158
150
207
158
165
208
123
247
150
187
194
150
183
187
208
209
112
231
112
193
208
165
170
279
164
121
150
160
123
206
181
195
172
172
150
165
157
181
228
170
167
192
186
150
147
207
237
153
112
112
112
158
170
208
112
150
135
137
112
217
112
155
150
112
194
172
181
217
208
137
164
112
121
112
172
112
194
121
201
194
150
225
115
158
171
165
160
167
167
206
121
170
121
150
171
150
176
121
112
167
221
195
194
170
121
143
184
121
228
175
137
137
123
231
136
164
170
170
112
264
144
170
112
311
152
210
170
150
157
121
174
150
150
156
236
195
121
159
172
172
194
239
189
121
115
211
203
172
178
150
121
170
208
121
187
137
172
171
219
150
121
171
150
174
150
248
121
208
210
201
172
150
194
150
112
112
255
112
137
195
112
194
176
177
150
197
208
241
121
192
213
209
239
121
112
139
176
121
220
230
172
186
187
175
150
150
172
150
181
143
261
121
193
136
208
193
205
143
150
170
150
112
136
201
196
186
167
121
112
150
229
123
147
176
121
112
177
208
156
228
205
158
150
112
228
201
150
199
202
121
208
193
150
214
196
194
215
112
215
166
186
177
218
139
121
165
233
208
172
171
185
195
135
137
187
150
121
112
232
112
121
206
170
186
194
121
150
232
171
192
197
205
179
278
279
194
172
112
208
175
202
210
233
147
123
186
165
150
201
112
137
121
135
219
121
158
150
121
135
170
112
208
170
115
208
167
168
112
167
181
123
220
112
150
164
193
218
272
195
112
150
281
181
171
221
228
159
150
218
150
121
164
150
172
171
162
179
112
212
152
164
150
171
208
244
150
201
211
128
123
187
170
112
170
211
150
181
210
179
219
121
235
121
165
123
193
115
195
228
195
192
112
190
135
112
220
192
121
238
121
194
228
137
187
167
226
258
174
237
112
136
202
150
189
112
121
186
171
112
188
150
123
250
231
228
167
179
147
112
124
192
121
137
165
150
112
181
187
250
186
150
112
192
229
172
165
176
181
170
170
299
172
112
194
202
112
159
215
195
178
201
121
297
112
210
152
194
150
208
208
137
121
211
112
112
195
112
150
195
194
150
123
137
121
123
121
236
158
172
233
121
174
208
212
233
196
202
175
159
229
172
302
121
208
174
150
112
238
137
112
186
217
176
156
112
217
171
171
112
167
150
150
278
194
167
121
150
222
194
159
195
150
121
208
186
206
150
112
171
121
167
225
176
156
228
115
165
172
159
121
136
158
196
135
255
112
167
150
218
207
167
210
194
187
212
203
219
123
112
192
128
192
150
150
179
135
228
202
208
112
170
115
167
167
121
159
194
143
208
172
150
192
208
150
147
156
174
203
136
167
288
112
212
158
150
276
171
250
136
232
112
228
213
150
170
121
237
150
159
123
123
208
269
224
237
121
121
172
258
172
112
123
150
231
112
217
170
167
150
156
259
150
150
121
243
203
130
176
121
171
188
260
136
150
150
237
147
121
167
274
237
150
206
112
174
112
124
206
170
187
136
115
195
212
208
121
170
121
170
203
170
228
121
171
208
210
135
212
147
212
212
150
210
202
210
213
167
302
163
112
164
194
195
208
150
150
208
234
112
215
150
208
176
186
124
112
204
158
171
176
257
176
112
208
218
144
240
121
170
135
219
165
207
160
150
231
213
187
177
193
187
130
176
175
181
152
172
123
177
208
172
150
181
250
171
112
123
123
121
121
121
150
124
150
213
175
159
124
167
150
150
215
112
195
121
217
112
344
238
215
234
195
112
167
172
123
112
130
201
181
121
135
231
167
186
193
137
194
165
181
150
215
136
218
147
215
208
174
208
172
172
112
195
237
121
172
164
158
112
159
150
167
150
181
150
208
150
165
150
172
150
128
121
195
164
218
176
237
207
135
112
135
181
172
150
115
112
150
135
159
156
233
220
143
150
121
159
195
187
177
205
135
181
174
164
121
123
124
150
167
171
257
194
150
171
302
112
187
206
156
168
152
150
121
176
172
208
216
208
231
245
150
176
112
233
208
170
165
135
171
201
143
112
205
150
150
234
112
208
186
210
147
186
124
176
112
172
175
150
205
128
147
112
160
112
195
172
150
159
164
112
123
170
137
228
218
239
181
231
165
187
136
170
172
181
208
170
192
152
150
172
201
185
121
172
172
112
121
179
226
121
208
239
124
172
208
121
181
218
112
136
150
213
231
123
124
150
171
167
135
228
187
175
172
176
150
112
150
172
112
172
115
194
176
207
152
170
172
179
217
187
210
167
210
263
186
271
172
112
202
121
128
136
171
123
135
135
218
167
150
112
201
121
112
193
121
228
159
150
150
177
181
150
228
172
135
194
150
121
112
220
317
208
235
135
160
112
112
208
130
130
165
205
121
150
228
167
165
192
123
172
210
201
121
187
184
144
250
150
135
187
112
197
121
202
302
128
121
131
167
112
167
178
167
194
147
186
208
112
208
218
194
233
150
171
152
168
203
136
130
147
121
135
150
172
194
150
171
170
208
218
167
172
172
225
255
135
255
208
150
226
150
156
194
112
167
176
136
167
121
177
223
115
170
112
150
217
115
137
263
121
121
150
230
121
239
216
158
217
150
137
254
228
237
237
175
177
112
196
201
112
208
121
150
213
194
112
208
121
150
239
171
163
152
128
150
177
201
192
172
299
121
112
176
152
181
161
220
253
239
202
187
203
176
237
121
121
231
203
172
208
123
170
172
137
150
147
150
171
152
167
212
212
172
278
208
196
208
266
159
165
228
171
195
187
121
112
123
121
121
150
181
187
123
172
158
276
174
213
248
150
150
121
254
170
115
112
216
208
115
195
112
137
135
224
260
112
165
193
121
208
150
162
130
121
143
150
170
212
170
187
112
177
150
219
147
170
165
135
302
213
231
193
150
247
236
250
171
123
121
136
223
121
112
164
208
130
200
147
195
121
128
170
186
240
195
112
172
150
194
240
167
250
150
112
203
124
150
228
152
112
287
150
160
115
112
170
256
194
194
208
165
121
226
167
172
189
170
172
150
210
121
170
178
202
181
150
245
257
229
250
121
165
136
112
121
112
150
194
167
208
193
174
150
112
193
195
172
121
121
194
112
195
123
208
178
302
211
165
255
172
112
201
210
150
150
177
226
193
112
237
235
173
112
167
158
194
150
229
174
171
150
208
121
123
150
150
191
150
152
121
171
170
176
208
208
172
235
112
161
208
150
210
150
231
150
174
187
165
144
302
244
171
207
205
219
121
121
256
124
245
150
225
176
158
170
208
170
112
121
175
112
165
215
121
167
208
193
165
194
186
150
220
170
193
188
150
121
112
172
150
165
150
190
172
112
215
147
158
217
210
135
158
167
170
170
174
220
187
226
228
121
172
208
208
179
150
171
212
232
188
222
112
208
112
123
121
150
160
193
167
121
150
220
150
228
143
178
168
128
201
205
181
121
112
186
239
208
112
247
195
112
115
112
171
210
167
150
202
112
165
136
150
159
208
150
194
202
221
201
210
121
159
150
121
112
159
112
250
228
150
150
172
243
170
259
158
193
112
121
171
203
270
186
167
201
112
213
223
186
203
112
147
150
121
112
201
185
194
193
264
215
229
211
124
170
150
121
172
231
174
147
150
150
172
121
208
143
220
239
128
175
160
161
228
128
195
217
121
170
215
150
112
112
150
121
171
150
208
112
170
194
135
241
207
123
170
170
156
193
195
121
176
231
135
172
112
172
233
121
121
170
115
150
250
170
181
250
158
174
121
115
208
112
208
174
112
174
176
215
172
158
172
121
197
220
261
208
112
112
179
188
170
171
115
150
159
150
150
171
136
121
164
172
112
135
167
167
128
177
150
130
150
263
150
172
124
150
208
171
179
219
170
228
112
121
192
176
201
214
150
112
150
210
186
147
208
167
195
234
143
112
137
181
170
194
112
112
112
193
208
187
181
150
187
247
121
123
168
187
176
254
150
160
150
130
208
112
150
208
156
228
225
208
123
175
150
171
228
121
170
167
130
218
150
194
302
202
215
121
112
150
112
150
123
195
112
210
219
192
170
184
161
194
177
121
128
123
179
187
176
121
157
160
172
202
238
167
218
112
165
179
136
208
201
130
121
135
184
156
160
217
189
220
121
247
174
197
150
159
220
150
112
212
172
201
226
112
237
203
187
112
163
202
181
165
229
192
172
112
112
179
165
121
112
170
208
121
159
150
159
243
186
194
121
112
150
192
112
174
205
136
150
150
165
112
172
251
112
121
228
137
172
167
180
262
150
165
123
201
121
164
186
165
165
123
172
121
208
184
174
194
184
195
115
208
201
150
218
115
208
152
220
220
112
299
150
252
281
194
177
150
175
263
112
112
229
158
121
186
112
219
168
172
170
150
123
170
172
165
194
207
150
210
194
150
210
237
226
172
112
208
194
226
172
187
167
150
112
167
164
208
231
228
203
112
137
193
152
187
260
210
226
232
226
174
233
112
193
194
165
189
130
112
112
210
112
167
194
130
112
167
147
210
176
192
167
150
146
112
241
179
168
165
112
208
124
135
121
201
112
192
192
137
202
121
225
177
167
112
152
207
271
172
164
112
150
206
194
150
157
123
189
203
167
123
128
208
215
112
112
136
112
170
147
124
194
121
150
115
112
150
156
123
112
112
147
121
225
147
202
208
112
208
136
193
209
176
197
170
177
229
158
121
196
211
112
206
231
165
172
121
171
112
208
193
150
115
115
112
184
203
201
177
199
112
171
112
164
193
208
112
121
186
170
172
165
176
112
150
121
150
144
243
264
124
208
150
174
112
170
150
121
212
237
167
195
115
112
167
184
121
136
124
210
112
112
172
112
210
273
176
152
203
193
150
150
216
181
209
115
187
208
208
112
231
219
150
200
147
150
223
150
121
208
225
143
196
199
150
239
156
121
216
176
112
143
137
226
121
121
235
217
219
239
219
112
112
135
137
167
263
112
112
239
203
150
150
136
159
194
203
150
229
178
121
121
177
112
240
165
112
164
112
159
123
150
192
216
234
121
112
201
172
170
225
172
175
208
167
124
112
210
112
112
179
112
152
171
172
121
150
195
231
170
137
210
150
150
121
172
160
193
130
112
171
150
187
112
181
171
150
214
237
216
165
163
208
193
250
112
112
150
250
123
208
257
201
193
137
112
194
112
135
220
199
112
226
150
178
121
188
219
195
123
250
150
172
112
192
231
208
263
121
231
174
176
174
130
172
193
192
177
201
150
160
174
150
196
213
194
237
164
237
167
225
245
208
115
128
150
150
172
270
150
208
279
203
172
115
170
121
112
150
112
244
165
130
168
226
112
150
112
226
203
197
212
135
212
246
263
136
172
177
150
150
190
168
172
165
272
150
181
176
212
172
208
121
121
193
255
254
165
150
186
172
165
206
243
196
255
225
158
150
181
263
231
203
161
208
112
171
150
279
201
159
227
228
190
170
174
121
213
194
135
121
193
187
162
302
202
150
208
220
210
172
172
112
208
210
147
121
112
270
121
265
121
115
187
112
121
156
150
193
167
121
150
168
170
278
208
112
238
112
172
150
150
255
228
186
198
124
205
276
147
135
150
150
112
196
135
158
156
121
165
165
181
238
115
208
217
193
128
160
150
170
194
136
170
193
152
207
170
158
210
150
143
204
243
208
210
195
121
228
228
195
150
150
212
150
172
210
112
137
150
190
195
167
216
227
172
196
203
167
172
177
207
236
171
171
123
214
228
192
234
259
171
172
150
270
170
208
187
204
172
150
172
167
177
150
196
170
121
240
189
123
176
228
195
150
171
216
150
186
220
209
193
159
136
147
191
171
197
210
189
124
218
121
208
150
112
226
210
233
150
208
236
121
208
150
208
135
208
176
147
112
220
130
172
187
112
228
233
172
137
112
245
174
203
150
170
124
196
121
150
192
112
237
160
170
160
150
211
150
172
112
228
208
115
112
158
112
112
174
121
172
150
168
156
219
121
123
121
136
136
267
167
208
230
171
150
124
184
163
178
177
226
194
226
123
123
121
167
112
186
187
204
171
135
193
228
208
210
123
150
172
171
194
228
186
112
302
219
232
176
208
206
150
121
226
167
195
250
136
112
228
150
177
112
208
199
147
132
115
137
200
121
192
150
228
112
194
164
156
135
160
112
121
124
228
167
172
186
245
167
170
195
297
167
170
208
172
112
194
172
135
208
112
135
121
172
150
181
170
219
150
172
171
207
121
123
115
171
150
174
171
135
215
112
172
112
194
123
181
208
172
176
150
276
179
209
167
228
121
123
121
172
150
240
193
170
112
123
176
172
208
156
147
208
242
150
112
159
150
226
208
218
150
176
150
202
167
194
150
152
208
206
150
194
171
135
150
150
112
121
167
171
171
231
150
206
172
193
204
144
219
172
181
123
112
121
165
247
135
177
121
160
187
215
112
240
112
212
112
112
255
176
123
194
237
209
246
207
186
170
112
209
177
231
194
121
172
194
112
239
174
167
147
181
218
156
150
121
216
128
239
150
115
193
165
219
150
255
150
150
170
167
217
121
137
171
167
238
259
121
115
150
229
121
112
186
171
136
172
123
172
150
150
121
172
135
208
172
150
218
172
150
203
158
226
232
112
242
201
176
112
176
167
130
275
250
187
173
128
192
157
186
167
165
172
150
181
172
146
167
167
201
192
250
171
172
150
112
192
172
165
195
186
172
208
136
231
112
170
184
167
208
160
123
200
167
193
150
164
152
121
202
112
112
186
238
123
135
212
167
263
172
171
170
121
213
220
150
208
172
112
150
194
196
177
121
121
150
176
167
150
194
266
235
242
156
167
210
177
195
124
150
195
135
198
112
213
196
150
204
167
172
137
188
135
213
167
181
167
130
167
150
195
246
210
177
170
147
186
150
210
302
159
175
228
112
112
123
121
147
193
121
150
172
208
228
208
112
281
160
112
263
112
215
172
208
167
236
195
177
150
228
210
112
150
150
137
231
124
176
228
136
150
208
150
165
208
192
186
194
171
164
181
220
112
150
150
210
121
150
171
237
150
112
229
237
201
170
123
219
123
187
219
159
213
239
112
258
208
158
150
171
150
172
202
226
204
226
229
201
208
135
121
218
226
220
195
121
193
159
112
176
165
164
112
150
181
257
123
112
171
150
167
176
115
218
175
121
150
150
123
192
164
212
112
136
176
172
195
238
220
123
124
215
181
172
135
112
121
150
208
137
174
162
112
112
121
170
178
152
121
121
143
112
194
202
276
192
208
112
146
112
112
121
208
121
172
208
135
208
181
181
150
229
231
276
150
156
208
121
137
212
181
115
112
121
177
201
172
121
161
223
123
208
135
159
177
177
208
150
203
112
176
147
279
208
112
177
278
172
181
112
263
135
205
112
186
172
123
181
231
152
186
189
228
144
164
121
124
112
167
197
165
112
193
159
171
150
197
181
176
181
150
112
112
150
150
152
194
150
264
181
208
115
170
123
115
150
217
181
226
237
150
112
112
170
210
201
121
194
170
186
159
150
212
156
150
188
200
177
123
150
143
302
236
208
208
268
144
121
135
115
150
168
172
208
210
150
121
121
171
165
167
172
112
171
260
208
115
251
225
275
130
112
121
186
220
112
146
150
229
208
112
136
179
170
136
167
194
181
177
198
115
171
203
112
192
170
208
208
171
123
243
150
225
233
181
112
181
181
236
152
150
202
112
178
124
167
194
178
255
176
152
203
124
121
190
167
228
187
240
193
189
150
172
150
193
144
177
121
156
170
210
171
150
172
181
193
112
159
172
150
206
121
150
208
172
172
195
158
121
121
165
171
192
231
172
150
187
181
238
150
176
208
349
203
112
150
150
137
243
170
150
201
112
176
165
121
194
167
228
240
167
202
136
226
214
123
271
181
150
150
209
186
112
223
167
250
156
220
165
112
168
112
302
171
199
181
135
172
250
167
232
184
207
238
157
112
168
112
150
194
135
112
164
150
300
179
257
201
136
208
163
208
172
205
185
219
181
121
170
112
121
241
171
112
141
220
112
208
174
136
150
170
167
161
135
152
150
172
178
254
167
150
208
185
137
150
112
176
121
208
223
172
136
187
130
112
172
139
181
123
226
172
150
175
171
197
152
195
121
135
112
231
150
112
171
186
194
112
158
156
112
167
199
163
302
202
167
172
208
150
159
174
250
172
115
250
189
170
123
167
194
146
128
198
222
181
216
208
179
175
216
172
165
112
121
121
135
204
112
121
203
123
172
278
194
175
186
208
192
186
112
194
121
135
130
177
167
187
243
150
250
217
212
202
213
219
112
181
210
112
124
228
150
123
112
121
170
181
136
218
219
193
177
161
150
159
121
260
210
150
115
208
228
147
165
112
171
220
150
250
150
158
121
184
150
150
121
150
170
238
165
208
239
112
135
135
193
150
158
158
150
229
137
121
135
250
167
121
150
112
210
208
121
199
150
143
181
170
208
137
187
194
112
121
150
228
123
147
170
193
136
199
143
112
208
218
150
255
112
121
162
181
187
171
121
137
207
212
112
196
228
197
121
159
232
167
194
112
112
228
265
168
150
174
170
172
181
121
150
121
263
171
176
147
176
176
165
123
209
238
128
164
231
115
229
150
226
195
147
112
112
187
188
150
168
172
121
171
150
195
172
112
208
123
176
219
253
219
206
172
228
195
227
209
181
112
144
112
123
187
223
130
187
186
150
121
115
187
170
205
112
112
164
231
150
194
121
112
232
208
150
147
189
181
207
165
150
276
176
112
177
218
128
136
218
136
121
172
160
201
210
228
210
191
201
121
193
112
164
150
177
172
112
181
205
194
209
150
195
121
184
112
121
233
205
150
121
170
215
232
215
242
227
210
172
150
172
112
136
201
231
150
150
201
170
136
208
193
259
167
172
208
229
150
209
186
216
150
193
170
112
112
167
170
167
231
150
121
187
112
137
215
159
150
177
165
150
150
208
150
115
237
112
150
170
167
159
123
176
112
160
232
218
160
290
236
170
171
208
208
208
208
187
203
150
202
237
121
208
115
150
241
147
150
203
228
210
121
170
218
208
172
121
208
212
170
208
190
112
203
162
208
164
255
150
219
121
150
193
220
207
172
172
215
172
115
165
112
165
208
175
208
170
172
215
194
181
165
121
150
171
147
275
172
171
170
147
130
218
121
150
195
162
124
201
208
208
194
121
275
121
174
194
186
217
136
112
237
172
202
121
150
172
228
235
152
143
187
162
172
150
150
150
167
159
150
229
234
121
150
115
171
158
187
231
158
201
115
255
171
195
150
263
225
136
136
121
219
121
219
208
121
112
121
208
168
170
150
170
121
233
185
165
173
135
255
192
171
152
156
181
224
239
115
217
112
168
176
150
170
158
167
156
176
226
150
203
172
171
167
193
172
215
121
121
112
176
172
121
181
147
128
202
237
215
150
170
225
172
121
208
170
263
112
261
112
150
150
172
216
177
150
187
147
176
230
121
210
112
123
179
217
162
181
167
167
112
216
219
159
167
233
170
115
150
170
186
213
150
150
194
150
121
112
170
208
203
150
241
229
215
121
150
167
176
112
150
233
172
258
123
164
121
128
170
302
201
172
150
136
112
175
210
167
212
121
187
156
150
174
168
172
124
171
170
112
167
124
210
135
228
167
150
213
167
172
150
121
167
150
150
136
228
150
150
178
184
124
216
236
176
205
137
170
212
150
167
235
176
150
257
121
186
179
172
172
170
214
194
171
159
228
210
123
150
112
164
305
121
202
239
123
228
170
150
193
186
112
136
186
150
170
217
167
171
150
218
170
250
208
123
112
177
208
205
112
171
150
171
150
112
201
150
229
195
177
135
197
208
150
186
112
194
241
203
208
172
166
302
112
225
189
163
205
201
121
208
112
167
167
226
124
164
208
263
186
150
147
150
121
172
181
139
208
184
147
172
226
164
121
150
196
168
172
275
226
172
231
176
147
146
170
186
121
150
152
150
150
170
121
136
181
259
238
150
150
150
157
150
235
135
121
121
147
214
112
170
194
172
150
210
172
202
112
250
187
192
208
228
205
164
255
165
165
112
207
137
217
187
156
263
172
187
112
121
150
177
144
186
115
121
123
158
208
187
137
202
150
121
233
121
160
196
263
182
202
150
165
121
171
172
176
112
263
112
181
167
187
121
150
121
112
206
174
123
189
255
231
206
162
150
172
150
191
112
170
199
207
276
212
112
202
226
115
112
228
219
164
137
144
199
201
184
192
165
137
115
171
209
167
208
137
112
170
121
112
112
115
217
123
172
208
150
208
211
150
121
208
194
123
121
232
137
150
232
112
278
215
112
194
185
152
208
135
137
203
123
167
208
136
112
165
152
167
219
137
172
167
115
192
112
263
124
177
165
170
123
179
210
121
147
170
121
150
165
112
193
147
146
130
150
124
236
215
222
150
194
193
194
192
167
225
112
178
192
208
150
159
177
194
150
171
167
157
194
112
128
150
150
112
179
250
281
302
237
172
115
150
123
167
150
202
279
239
150
136
124
121
170
194
112
170
162
187
121
150
179
272
159
207
115
156
112
178
195
207
112
224
262
206
150
175
208
135
150
121
197
226
147
168
240
157
199
184
208
150
182
159
171
112
150
276
203
150
172
239
167
250
235
171
135
177
136
160
210
181
167
121
276
112
226
112
176
171
112
170
170
121
112
193
121
208
165
228
237
150
208
172
171
187
187
208
150
174
210
236
260
208
124
162
112
190
187
121
150
121
121
181
195
150
204
112
193
121
112
225
112
174
124
195
174
176
203
217
184
181
174
177
150
208
228
257
112
150
250
235
181
112
128
150
112
123
121
226
250
112
176
208
195
170
141
150
202
167
112
150
121
255
217
170
139
268
194
121
136
167
198
130
164
219
158
170
176
220
172
192
112
250
165
232
131
196
205
206
180
175
187
195
121
201
123
115
112
181
172
150
176
150
233
150
121
193
302
214
171
112
201
165
205
121
245
233
112
132
208
121
130
210
245
181
208
167
194
208
136
121
160
136
209
121
112
170
167
158
135
150
123
176
121
167
206
150
176
176
150
137
220
207
186
187
181
219
225
121
224
150
225
250
212
237
168
192
243
160
236
195
121
181
167
121
136
208
194
187
209
229
186
161
201
150
172
135
240
112
150
208
205
121
112
150
194
121
150
299
174
112
176
176
112
172
124
208
201
146
170
186
187
250
112
143
177
171
160
121
147
144
150
172
182
193
121
123
194
207
147
167
192
115
208
297
167
231
197
174
244
209
257
229
147
210
219
168
203
121
158
112
208
161
193
208
199
210
195
150
147
121
208
121
121
112
208
170
187
194
212
112
203
218
179
178
150
172
121
175
194
189
176
112
172
176
256
150
150
172
112
121
220
167
226
194
150
139
121
172
150
172
186
186
189
194
181
219
137
121
150
216
112
212
112
223
196
143
171
150
172
231
225
215
171
156
159
121
233
172
170
137
124
150
218
121
192
135
167
150
150
212
175
237
150
211
193
195
179
159
172
170
172
137
170
112
121
150
135
193
123
121
181
194
112
205
150
226
158
193
186
249
194
121
176
157
112
257
172
210
150
208
193
112
150
201
115
261
167
193
172
217
208
196
150
176
199
201
165
186
146
170
112
112
167
171
218
150
121
167
225
135
200
164
163
167
152
208
228
121
206
203
112
150
123
191
112
229
229
208
172
194
112
195
172
124
121
168
150
112
150
194
186
158
112
208
168
170
182
172
176
205
121
209
112
112
164
170
208
171
208
137
207
174
202
165
207
170
121
167
150
228
112
172
194
241
121
231
150
150
112
170
193
218
130
124
150
121
112
193
167
250
143
159
121
136
230
167
207
207
176
208
208
208
150
208
150
158
208
171
121
167
128
203
228
115
210
194
115
208
121
150
112
208
112
195
228
186
217
226
173
220
112
112
203
217
112
150
206
193
150
121
211
112
150
208
150
150
150
112
175
112
121
230
172
172
136
112
135
150
245
196
167
237
150
171
259
194
150
136
237
172
168
250
194
208
194
202
239
135
183
228
121
167
170
208
141
170
136
167
131
212
167
190
193
171
174
219
150
195
147
176
201
201
212
250
112
193
152
150
121
208
208
250
137
150
112
208
150
173
150
184
167
147
137
229
228
112
176
174
174
172
121
150
193
121
143
156
135
112
135
172
278
177
112
112
112
215
279
228
112
170
135
123
192
205
112
112
112
150
212
250
202
174
115
112
150
167
208
194
152
243
112
156
201
121
174
181
176
145
187
143
208
208
167
208
121
196
135
150
171
189
112
112
198
195
228
208
172
174
240
150
203
150
150
150
172
194
222
209
177
123
194
121
208
112
178
124
112
198
195
150
167
209
135
112
112
112
112
208
150
152
112
112
115
156
228
121
121
170
165
186
184
208
150
208
281
150
176
121
172
168
170
121
175
212
208
208
171
112
165
208
201
150
187
135
130
112
262
112
228
207
112
186
243
302
150
192
159
243
201
186
208
150
190
167
184
136
237
276
150
202
171
231
172
171
194
181
202
150
172
150
150
187
165
112
137
208
121
112
184
159
241
194
250
194
170
276
150
147
174
212
168
179
194
147
172
208
135
234
229
123
231
213
185
189
174
150
219
167
174
174
150
150
194
121
172
200
112
228
218
112
121
213
137
150
204
170
121
237
186
171
181
150
194
121
150
150
139
208
194
204
150
317
171
112
160
135
150
167
230
115
150
165
121
171
207
139
167
150
171
275
194
121
210
112
121
112
218
150
121
225
208
121
239
164
174
208
147
135
152
150
233
173
172
115
121
137
178
137
112
210
121
202
172
165
167
208
123
176
150
228
143
123
152
196
136
228
210
205
176
121
176
167
228
146
178
121
210
210
156
192
196
181
201
164
216
112
186
150
150
194
170
187
158
150
228
170
157
158
193
208
135
205
115
172
150
160
210
228
211
194
231
159
158
165
210
115
150
150
112
136
121
112
150
150
171
223
112
150
147
147
135
243
173
112
112
137
172
174
115
171
259
187
150
192
121
177
172
150
150
152
201
150
150
121
123
175
150
150
121
174
150
112
167
276
137
172
137
208
217
112
124
244
121
172
212
190
268
203
172
170
231
165
121
232
112
210
186
202
208
208
124
150
121
112
194
112
115
202
137
212
208
112
123
210
205
226
112
201
167
130
171
243
186
150
167
202
167
124
258
203
112
272
219
171
150
226
181
167
170
121
150
212
150
176
121
191
171
172
163
242
170
167
112
192
112
220
211
208
150
187
112
208
192
172
150
260
159
195
170
165
172
112
172
172
217
112
165
176
164
150
172
150
150
231
150
112
210
150
181
210
121
193
123
171
150
112
228
158
121
159
170
150
167
208
171
170
201
165
194
112
150
208
121
167
254
147
115
201
150
112
202
121
192
221
171
150
231
150
220
167
121
203
123
262
219
193
174
123
121
112
150
185
128
176
187
150
202
200
181
121
115
112
150
112
178
135
209
124
112
179
168
208
226
204
194
233
208
167
112
150
150
160
275
150
112
112
228
150
112
145
112
187
264
239
201
181
189
115
201
150
146
172
159
112
121
137
128
231
115
165
194
192
121
144
228
150
121
174
208
112
171
168
123
121
194
242
225
257
121
203
137
121
157
115
216
112
143
172
112
158
130
121
150
115
163
167
278
194
210
150
175
172
208
171
121
270
158
124
121
172
121
167
233
199
263
150
170
179
152
150
147
159
164
137
250
123
204
135
225
150
171
150
238
152
223
121
150
150
182
193
170
158
150
150
150
182
186
181
170
207
170
257
150
147
135
194
179
230
112
228
121
150
171
112
167
177
176
210
242
135
121
162
186
208
167
112
196
121
135
171
278
231
192
208
121
205
121
174
214
192
176
121
208
135
239
217
121
121
115
195
202
208
165
172
139
195
193
186
233
112
121
121
160
194
150
199
112
172
165
228
112
234
165
233
232
210
112
220
172
229
123
232
210
170
112
218
172
115
171
171
136
242
265
150
221
217
165
112
164
217
152
137
203
193
244
171
167
230
112
218
150
213
208
198
208
172
112
203
150
150
213
218
186
175
123
150
201
158
165
150
250
157
202
158
182
218
170
152
201
208
194
255
235
167
149
182
189
112
171
165
208
182
150
172
171
210
195
237
192
229
136
141
177
137
123
240
147
131
112
166
170
150
202
245
112
194
150
208
147
124
171
208
208
170
226
132
137
150
210
189
168
192
150
115
152
170
150
121
234
264
160
159
157
150
137
240
244
147
150
231
241
150
112
241
222
208
130
201
175
121
201
230
250
181
146
121
147
150
212
248
150
150
172
170
167
150
165
220
150
243
167
152
170
228
208
164
121
181
198
121
218
217
208
187
112
217
167
121
158
237
112
112
136
237
112
172
171
112
121
240
186
177
159
175
123
208
150
171
123
112
112
194
150
187
112
172
213
172
203
112
150
194
112
150
124
239
189
164
150
121
202
112
212
121
202
123
150
186
193
234
174
182
137
167
203
215
137
167
150
189
195
207
208
186
144
208
302
255
112
164
135
167
121
228
115
203
207
150
250
208
218
112
167
170
121
229
226
172
121
181
112
172
147
158
201
176
264
112
121
187
181
164
150
167
124
208
177
159
187
228
207
193
172
150
121
147
259
121
137
208
203
194
150
112
150
194
137
213
150
172
112
123
205
175
135
219
112
137
172
128
245
121
177
200
112
217
257
150
136
195
187
192
189
233
167
167
202
231
174
176
208
186
212
239
112
121
123
202
219
121
152
123
150
276
147
204
158
193
167
159
208
207
349
150
121
187
170
220
225
183
164
182
121
171
170
172
170
147
150
206
159
150
121
194
174
208
167
115
175
172
208
124
193
209
206
194
160
237
232
159
236
210
165
181
170
228
112
176
170
203
150
197
172
247
161
195
112
201
150
150
212
203
195
167
194
153
227
150
172
112
121
182
158
210
181
172
115
195
124
150
237
193
229
210
172
150
150
187
238
239
165
170
167
194
123
236
192
226
170
205
112
249
172
197
186
137
112
228
150
121
270
254
201
115
121
121
144
192
121
225
186
212
203
112
150
123
123
221
202
170
121
112
112
183
136
112
150
121
156
181
150
112
147
197
115
187
195
208
208
194
194
175
195
150
201
150
176
112
136
121
181
112
193
145
165
121
210
174
121
186
136
229
112
167
135
172
121
200
172
202
150
112
209
226
193
181
150
181
152
186
264
121
168
171
150
181
241
244
135
112
186
112
150
172
150
181
195
167
150
233
121
172
150
220
150
176
150
193
112
186
121
121
164
121
187
186
250
135
194
172
172
257
167
203
187
121
218
210
208
121
193
172
172
112
165
156
174
184
208
176
177
156
176
156
170
177
112
254
172
208
123
150
195
181
208
152
176
150
112
176
141
208
112
238
121
167
194
150
150
174
174
167
143
130
150
214
112
115
187
176
170
275
243
217
165
123
187
143
207
192
176
165
212
121
121
159
168
150
233
147
172
217
167
147
150
172
212
172
219
121
147
172
112
150
193
123
171
176
160
192
210
135
172
136
150
112
123
150
172
143
136
171
170
112
177
239
220
172
208
212
121
112
147
194
239
231
121
160
121
135
164
130
121
112
135
167
150
208
167
179
214
168
205
147
202
195
172
171
135
171
164
217
176
112
123
121
195
208
115
208
170
121
184
237
124
165
172
228
170
208
135
144
171
177
164
123
152
167
112
141
228
207
208
112
135
112
172
112
121
194
121
226
121
167
247
150
212
170
207
186
143
210
170
250
124
172
121
170
143
170
205
165
195
212
123
112
123
150
147
121
171
112
178
207
211
136
150
135
147
208
112
121
174
172
209
170
208
176
112
214
206
121
208
150
150
112
181
194
208
150
208
150
231
237
170
167
136
229
158
121
192
121
115
123
139
176
171
187
122
176
215
112
263
128
208
202
165
156
112
168
189
174
178
207
150
193
170
176
135
115
208
150
135
229
231
112
156
124
112
161
137
247
157
204
165
161
132
172
164
135
208
123
143
167
150
121
172
112
208
112
189
195
237
121
121
121
170
121
181
238
186
167
135
208
167
170
208
237
205
164
174
147
123
203
121
121
237
174
193
202
194
147
208
208
215
150
121
112
112
123
201
112
171
164
121
168
175
121
297
121
171
170
112
121
196
123
167
167
167
160
202
121
207
167
240
121
168
239
112
228
229
192
112
165
128
227
135
207
136
150
171
193
112
121
158
258
219
203
112
210
210
158
164
174
170
150
239
123
178
145
150
112
171
208
112
150
208
218
193
208
112
265
242
208
237
208
121
112
121
150
238
150
243
112
150
121
176
228
164
150
144
171
112
112
112
112
176
226
150
172
121
186
112
150
121
159
237
212
150
136
112
202
152
202
167
176
135
159
219
150
150
228
115
170
181
264
202
221
172
209
135
210
207
150
220
123
265
208
136
150
176
150
144
240
225
123
112
115
179
167
115
214
172
172
237
164
175
217
176
137
168
170
184
150
112
167
150
165
242
176
278
112
121
205
112
172
228
167
112
250
242
209
112
208
136
121
136
209
172
135
208
205
212
186
203
187
230
217
260
193
150
174
230
121
170
174
150
158
208
208
233
147
226
195
112
121
202
210
243
228
237
121
135
254
238
160
167
150
193
176
121
167
147
226
158
150
150
121
167
233
150
172
150
171
112
219
208
161
123
168
194
112
208
206
144
150
156
112
194
210
171
115
172
172
159
150
227
194
112
182
193
228
112
167
232
210
172
192
197
121
135
167
208
150
171
208
224
147
165
172
150
112
172
170
208
160
184
112
208
170
150
208
172
208
228
181
171
150
212
150
171
187
147
112
121
159
236
152
174
172
201
121
150
171
160
170
121
232
112
208
208
172
208
158
264
121
195
150
136
220
128
208
279
144
193
208
187
170
226
255
172
194
121
177
112
121
207
302
164
215
176
210
158
194
128
190
214
214
172
121
164
250
176
112
121
208
150
176
135
150
135
123
217
172
158
214
212
234
181
137
112
112
150
218
152
170
121
112
216
150
150
243
150
208
150
208
128
217
202
121
123
112
150
168
152
282
131
239
228
165
172
150
207
150
121
178
223
150
165
165
150
278
171
112
112
193
219
219
172
112
212
242
121
196
187
187
194
171
181
208
121
121
235
171
112
121
212
215
121
170
181
186
150
184
167
150
177
150
128
150
216
150
203
150
171
181
181
171
228
124
156
150
167
115
170
172
278
205
187
130
135
158
179
234
165
156
150
212
172
205
212
195
175
215
150
201
187
208
250
121
130
115
137
170
227
219
172
150
121
172
198
270
208
171
137
150
150
158
170
115
216
208
150
112
121
208
121
173
208
232
195
230
171
112
276
172
208
112
210
168
210
250
112
172
112
150
150
112
176
150
150
255
166
150
220
228
112
208
186
167
150
186
167
239
171
150
208
164
195
225
150
150
115
158
167
147
165
189
172
228
150
150
179
220
150
112
158
150
171
179
208
170
121
121
181
150
121
210
165
164
121
195
164
170
237
112
236
170
208
257
112
183
168
193
136
189
193
150
150
228
160
178
193
181
171
123
228
137
208
150
112
231
150
121
147
186
150
165
246
152
135
170
176
121
203
221
193
212
211
186
135
112
136
208
112
172
172
123
202
202
130
201
150
208
203
121
212
208
123
200
223
208
171
112
137
176
245
189
121
160
228
127
349
172
195
112
208
170
172
231
124
236
121
211
165
208
165
112
181
179
115
168
150
224
195
302
112
150
232
217
170
150
179
162
170
228
208
230
203
208
190
174
136
171
206
186
186
210
182
255
150
135
208
237
191
238
206
112
112
121
171
175
170
233
150
165
250
218
210
216
187
135
156
186
196
255
167
170
158
150
112
136
112
147
112
170
121
112
112
171
137
175
242
165
147
208
193
123
172
123
242
165
210
208
192
112
112
187
219
236
135
179
176
203
168
159
156
164
150
243
112
254
194
172
172
203
210
164
170
228
137
112
220
235
195
238
150
195
194
121
171
175
159
112
121
200
150
150
184
150
121
170
258
112
112
208
228
208
172
172
150
128
267
233
112
245
135
172
172
215
112
121
177
237
208
205
170
135
170
150
121
135
208
170
156
121
112
181
121
112
159
121
176
227
262
209
194
203
121
228
150
186
186
147
196
236
194
112
112
165
181
181
231
112
202
212
201
255
158
176
190
210
156
219
136
231
121
164
194
150
181
179
208
150
112
226
136
150
136
131
231
164
186
150
164
195
121
112
237
150
150
259
175
121
112
182
226
121
160
165
202
150
215
179
232
164
187
121
112
192
121
112
206
121
173
232
115
203
167
235
189
193
234
167
195
158
176
281
147
238
112
121
176
170
208
115
131
237
115
208
124
168
223
195
172
160
168
150
130
231
175
143
121
219
170
232
112
172
244
186
239
150
205
243
170
167
172
123
112
158
130
150
181
150
194
121
123
150
176
173
203
208
176
229
174
152
123
170
160
216
170
168
203
168
242
194
195
176
121
112
178
229
167
121
173
247
112
201
210
115
172
136
112
202
229
185
219
137
171
112
137
164
171
221
172
150
112
208
135
181
195
123
145
193
263
112
121
135
121
165
190
208
184
177
135
158
172
150
173
171
112
164
136
150
123
112
220
181
121
208
192
190
112
150
147
237
181
112
202
156
201
115
239
121
137
223
179
237
150
145
239
150
112
220
216
112
223
112
210
269
186
112
150
210
150
130
150
147
115
207
172
176
178
165
213
155
170
208
167
112
208
228
174
230
150
226
121
189
121
112
232
112
228
186
112
238
171
178
165
150
121
186
181
172
179
234
202
195
228
112
182
136
205
247
214
121
237
163
156
159
136
172
186
244
192
212
172
158
115
164
160
172
239
150
112
194
207
179
150
112
167
208
174
115
121
193
209
220
150
235
171
215
288
172
137
208
235
272
167
124
167
124
231
197
170
137
213
112
112
171
150
195
238
204
238
112
193
168
170
181
219
212
244
150
217
241
135
176
250
193
157
135
187
167
208
121
194
208
205
226
176
181
274
112
150
219
205
246
226
160
121
123
193
124
150
130
128
208
123
213
203
204
121
150
196
167
172
160
214
205
143
240
176
231
250
172
123
147
170
146
150
208
121
136
171
169
190
158
112
210
244
195
302
124
179
305
152
194
123
150
167
208
131
182
158
170
237
228
150
182
208
156
121
121
245
137
150
208
172
112
198
124
218
152
158
112
121
208
172
150
229
112
201
121
170
121
240
150
198
208
165
203
150
170
244
171
158
164
263
171
193
150
171
181
121
239
171
175
150
131
137
178
181
150
123
136
130
172
194
253
249
230
121
198
121
121
158
150
121
112
243
214
239
146
210
243
212
150
226
121
170
177
202
150
112
194
228
196
187
168
193
121
112
239
112
167
124
112
168
156
174
121
208
181
217
179
172
136
165
115
175
302
160
202
150
172
208
150
171
167
150
236
189
215
150
170
128
121
208
203
150
181
170
172
167
237
255
263
112
181
150
176
150
172
186
240
150
170
150
150
172
150
170
135
121
128
167
115
150
208
150
112
255
231
167
112
123
150
200
156
228
182
170
136
147
147
160
150
121
212
160
233
196
200
121
184
204
210
158
150
160
193
121
255
165
150
235
208
147
255
112
201
172
150
172
123
112
150
112
112
156
112
207
172
215
170
236
208
220
150
195
167
170
112
172
150
170
195
217
130
255
112
176
130
172
121
212
112
156
177
207
219
112
194
208
196
218
208
172
150
115
150
121
150
112
112
172
170
228
172
171
240
135
239
131
208
171
156
181
186
264
135
174
208
200
229
112
216
143
189
162
150
112
150
275
181
240
272
187
167
194
135
171
177
192
253
115
167
150
208
150
121
219
194
167
144
150
128
208
208
130
112
193
112
150
112
167
193
150
194
160
150
121
171
213
199
170
228
158
112
170
233
135
178
208
205
150
150
112
112
171
253
184
121
112
217
170
168
237
181
208
165
208
213
210
217
171
192
170
267
171
203
150
208
150
181
234
200
207
170
121
255
172
150
250
200
150
147
237
152
186
121
128
150
206
204
123
168
164
231
112
192
196
112
186
194
170
150
150
156
228
123
174
186
223
157
220
208
194
121
112
168
150
181
193
150
208
176
276
121
150
180
202
167
201
210
139
123
176
226
147
121
112
150
162
150
144
181
121
150
238
128
203
237
176
157
212
231
187
112
221
192
239
121
201
137
167
156
171
171
167
254
208
187
112
208
162
194
136
171
150
195
172
228
190
150
150
229
194
112
150
147
123
143
165
121
159
231
203
237
213
139
194
210
123
174
184
147
112
160
150
237
219
203
176
150
175
208
150
167
115
255
181
150
187
167
112
200
208
112
167
203
202
210
208
165
177
147
135
172
194
216
137
167
181
228
208
208
181
145
150
150
150
171
164
208
112
112
194
186
229
150
208
186
136
201
121
150
202
170
121
194
235
255
135
121
159
150
194
174
112
183
112
223
137
174
112
172
150
150
128
165
147
121
194
201
177
112
178
152
150
176
112
302
207
194
121
203
121
234
170
121
112
167
208
181
201
121
112
121
150
195
193
174
167
150
205
208
205
225
186
150
172
167
150
224
172
147
216
257
202
123
147
160
167
115
208
210
167
137
254
170
172
170
150
144
255
112
250
174
112
172
263
121
208
165
237
172
194
115
167
228
302
195
123
194
172
250
245
164
112
112
123
158
172
158
112
201
150
121
158
208
112
182
202
195
123
112
112
207
170
150
171
203
240
175
135
128
208
186
112
232
208
121
172
115
174
135
121
186
172
187
193
189
150
150
194
196
150
121
187
215
121
203
193
136
112
192
231
192
177
210
112
302
165
130
185
174
237
244
167
135
172
202
150
167
121
121
130
121
215
112
208
150
167
232
189
195
112
258
165
160
170
208
208
112
124
171
208
202
121
112
189
177
170
150
195
208
171
170
112
135
219
152
226
193
174
225
112
121
164
112
112
152
121
156
253
123
160
194
159
228
121
215
123
112
208
160
210
159
181
112
203
135
201
123
153
115
256
150
184
206
121
170
219
115
237
208
112
150
150
124
208
187
195
265
170
160
228
216
150
175
121
214
137
168
210
236
192
112
150
208
121
208
150
171
164
112
201
160
259
187
195
213
227
208
150
228
167
160
150
150
123
150
276
216
150
123
187
218
115
210
250
208
147
192
192
115
112
203
121
243
201
121
150
184
121
121
171
171
177
212
124
278
122
194
121
177
144
150
176
147
212
168
172
167
121
136
186
239
172
121
202
130
205
185
137
210
150
165
217
226
203
165
123
186
205
208
177
228
115
121
167
171
203
203
150
112
192
232
208
247
195
112
186
217
112
123
112
210
112
192
226
177
150
112
172
136
210
112
226
203
220
184
170
193
193
150
167
194
194
150
194
165
121
242
172
136
259
136
170
150
121
171
186
150
150
172
205
150
164
121
302
170
131
323
202
177
150
243
121
150
167
186
205
112
150
190
218
217
112
186
192
174
176
137
170
228
162
150
147
112
228
112
150
208
190
193
150
202
173
200
237
112
253
135
143
203
172
143
270
231
123
193
181
171
135
250
121
112
112
250
194
176
217
150
208
135
136
281
144
159
112
228
171
265
211
150
208
150
121
171
181
211
168
150
241
150
229
238
171
150
202
121
150
219
253
250
232
217
121
115
168
186
150
150
121
176
214
217
171
194
208
170
237
112
209
195
121
150
150
204
162
150
150
158
176
172
172
121
121
208
175
121
176
239
171
121
171
121
223
225
202
184
208
172
112
150
194
167
150
167
174
112
215
156
167
167
172
208
250
170
187
136
205
150
278
158
150
176
121
121
170
150
192
115
115
187
220
170
112
203
171
124
194
143
163
136
130
121
187
112
213
150
194
194
167
180
212
167
156
112
124
165
208
223
112
237
135
208
208
150
155
170
137
150
179
250
158
209
172
160
234
208
150
212
121
176
217
236
195
139
150
167
183
158
172
236
208
167
192
170
191
159
208
263
201
112
152
212
203
150
123
208
121
212
150
214
171
172
136
254
172
128
150
194
156
167
167
177
226
158
194
112
112
121
195
150
123
216
186
150
159
150
224
150
158
178
147
112
123
178
135
181
228
172
181
121
193
229
172
215
175
150
207
208
179
208
170
182
150
208
254
176
112
170
130
195
121
186
216
186
186
150
202
231
182
220
176
135
112
112
170
150
202
174
171
172
193
123
187
121
158
167
246
172
263
275
208
260
112
201
121
112
228
186
147
247
150
193
179
194
167
228
210
231
210
158
210
194
217
115
176
256
174
227
112
121
150
150
156
193
236
121
186
170
208
124
172
228
176
176
203
184
167
228
168
157
150
150
172
166
187
167
147
210
211
220
187
121
112
168
170
208
137
112
208
192
121
121
267
147
209
207
150
164
115
215
162
176
137
171
172
135
170
201
216
210
226
192
175
135
163
215
168
208
229
170
172
202
150
171
236
165
171
150
135
112
205
241
121
147
208
128
150
164
250
121
165
193
171
156
150
171
255
150
181
124
124
208
209
186
156
212
150
136
208
123
135
239
121
112
225
186
208
208
121
155
121
172
121
164
170
167
167
170
150
170
212
150
239
223
255
150
150
165
143
121
187
202
182
202
121
208
121
208
167
165
212
220
170
136
137
208
176
152
150
212
208
196
208
170
112
225
150
168
123
121
245
121
193
171
229
121
171
160
143
150
121
205
276
150
165
187
172
121
167
208
112
186
243
121
208
194
187
150
170
193
137
181
225
193
171
152
128
112
202
150
288
208
181
201
207
210
240
204
112
225
150
193
172
112
171
115
205
112
208
272
159
176
137
215
263
186
212
112
112
112
220
231
208
121
150
201
172
112
278
193
121
170
136
225
205
181
237
112
121
137
150
230
150
157
186
177
121
150
136
172
112
208
158
172
265
195
150
207
121
172
187
210
124
172
245
208
204
171
269
226
199
159
179
150
147
150
136
172
152
172
228
203
112
186
115
167
172
165
173
170
181
208
121
239
216
123
276
150
172
172
172
208
136
121
172
121
150
162
112
128
150
239
150
212
216
172
150
193
177
121
193
202
123
150
208
240
202
143
168
215
147
170
121
181
220
189
179
250
174
121
115
207
112
240
121
121
202
150
152
147
208
170
208
137
187
121
112
239
186
193
233
210
177
181
112
164
265
150
167
162
167
112
171
150
112
150
186
112
202
135
121
208
150
186
181
150
167
172
136
192
245
121
121
186
112
121
150
167
208
150
181
217
123
302
171
147
208
234
232
178
150
265
217
201
171
171
124
212
220
167
171
112
121
167
170
160
171
112
121
144
206
121
150
172
150
112
171
217
150
194
228
121
172
150
210
202
150
225
112
174
172
216
244
181
195
177
124
121
192
243
205
276
150
121
255
250
121
231
210
207
172
150
150
121
208
150
115
172
153
112
150
255
192
175
112
176
150
171
143
165
157
167
171
213
112
112
228
121
171
137
121
177
195
112
112
112
223
230
115
150
123
196
139
112
167
150
218
167
150
147
150
135
112
172
205
236
112
193
123
158
242
174
171
130
121
165
152
208
174
121
156
209
176
203
167
112
150
241
171
203
121
224
135
212
150
202
150
150
135
208
172
150
204
167
208
112
137
204
121
202
219
112
203
167
212
272
178
152
165
244
150
112
135
123
150
202
167
152
150
112
217
164
172
218
176
195
208
172
150
158
112
121
158
150
212
173
218
150
160
225
172
172
130
224
112
112
193
196
200
242
228
112
165
233
150
135
135
176
121
181
172
112
147
186
171
237
172
181
228
260
171
185
231
112
208
121
181
121
194
193
193
203
172
123
175
165
121
167
177
165
228
229
259
211
161
205
228
220
208
195
170
186
159
123
130
194
211
112
150
226
112
172
239
112
112
112
202
150
170
194
167
168
121
176
181
165
193
202
276
112
112
167
194
223
225
174
172
139
121
250
203
112
175
112
216
203
175
187
168
243
225
164
121
208
181
150
121
270
121
123
147
112
121
168
170
210
192
121
121
186
171
121
150
237
193
210
201
250
263
237
121
170
131
150
156
121
167
170
135
165
121
150
150
228
121
112
130
172
190
150
150
231
147
112
136
121
175
112
136
150
187
174
165
167
306
137
218
171
150
225
135
228
130
232
121
201
167
208
223
112
167
193
112
218
180
219
176
276
174
252
194
172
112
121
167
171
219
172
121
171
176
121
150
232
121
121
181
187
208
132
279
112
165
112
112
150
195
150
201
176
150
239
150
167
172
121
172
172
121
121
172
181
112
150
176
112
143
146
150
171
202
164
213
193
201
181
121
166
150
112
112
187
187
170
231
112
171
167
147
112
123
172
209
150
115
193
112
217
172
208
156
212
112
218
237
205
240
227
207
240
121
220
170
196
225
115
172
195
150
121
135
202
225
272
136
131
143
181
112
237
115
302
245
130
171
115
194
249
192
220
159
112
194
212
130
172
170
231
208
121
237
170
112
160
210
121
208
130
214
225
205
167
192
121
121
189
237
276
207
208
170
194
165
187
167
181
170
193
193
193
121
208
208
112
231
181
197
165
207
150
167
112
112
172
189
143
150
193
112
196
172
167
208
240
193
268
170
240
165
150
215
243
150
115
233
137
168
121
184
112
192
150
192
112
121
121
121
195
186
167
228
159
121
121
232
201
146
208
177
271
213
147
112
212
150
167
192
170
121
208
195
202
189
245
150
153
212
198
206
150
123
121
121
206
212
272
176
150
115
184
171
175
112
208
112
147
202
210
150
187
172
150
167
124
150
181
203
237
194
164
159
150
150
115
123
228
112
182
174
181
121
112
181
218
150
152
157
203
170
150
263
206
147
170
207
121
112
112
301
112
228
236
135
112
150
172
128
121
150
168
170
160
193
231
167
170
194
241
181
150
167
150
136
121
215
167
250
150
236
199
220
181
208
112
205
208
218
216
137
123
144
194
112
167
199
112
255
112
203
258
171
172
219
167
115
186
156
211
187
150
150
231
229
115
212
208
121
208
207
121
150
170
226
112
228
165
150
165
136
121
172
265
121
147
167
130
195
121
150
208
212
150
187
181
171
112
136
170
172
250
181
112
197
112
159
208
229
194
115
222
152
202
130
215
157
121
208
223
137
228
226
112
202
112
210
215
112
150
201
112
168
192
150
186
121
112
171
297
194
112
172
302
150
165
167
150
112
208
121
171
121
170
121
176
243
121
147
170
170
275
179
112
150
121
115
202
150
121
150
145
121
171
218
170
136
112
208
165
178
187
194
255
220
182
177
112
170
203
236
172
112
201
121
165
165
208
195
115
123
212
152
128
208
172
150
160
150
112
176
219
150
150
121
152
150
121
150
181
205
194
193
121
112
208
208
150
167
121
194
181
172
194
144
187
112
121
236
212
137
150
167
123
193
170
258
171
144
150
136
210
179
220
210
137
124
263
150
208
115
124
167
150
150
192
176
197
150
210
205
192
194
150
167
164
112
171
302
176
150
150
181
177
210
237
207
174
167
250
150
171
228
165
299
212
220
172
202
150
204
170
263
179
150
194
208
121
112
112
150
167
164
243
231
124
150
217
121
167
112
112
123
159
123
171
195
239
150
112
199
208
172
213
162
272
150
281
124
112
252
170
255
161
194
150
265
189
115
112
150
233
228
193
160
170
202
193
115
121
208
167
205
177
115
112
172
112
123
135
130
258
193
228
158
121
176
150
194
152
237
214
121
164
171
170
217
150
193
205
123
193
160
234
220
181
130
174
194
150
202
115
170
207
170
181
150
172
150
150
165
172
172
150
136
181
193
115
231
202
205
121
172
279
205
170
175
150
112
112
150
155
181
302
208
150
187
150
228
115
228
170
121
217
137
150
156
150
238
202
150
171
150
150
215
177
150
274
156
187
121
170
121
150
158
228
212
178
171
226
206
171
112
208
156
124
255
230
121
237
223
228
176
192
201
220
212
203
150
244
250
181
179
198
150
278
220
124
150
152
115
181
150
199
210
176
208
150
161
165
213
208
181
124
181
160
121
189
137
192
135
112
137
115
203
167
150
203
260
112
165
253
130
112
185
170
240
171
150
208
208
187
112
135
167
174
115
121
192
123
112
150
150
201
150
187
172
293
158
178
121
208
112
213
208
172
172
194
112
112
159
181
112
202
208
187
250
112
112
121
208
112
158
208
147
150
210
182
172
208
112
167
170
208
121
158
208
115
224
112
150
179
121
168
137
186
208
177
150
150
123
123
186
112
199
219
147
150
158
230
219
167
220
202
194
212
229
172
172
112
190
181
174
150
172
194
260
115
186
121
165
210
172
128
150
158
208
196
194
135
150
121
165
176
185
112
172
150
250
146
165
150
150
123
136
165
194
152
150
137
150
112
172
121
150
252
179
172
150
123
171
121
212
150
112
130
150
172
181
150
171
150
263
172
172
243
231
215
121
161
168
172
150
175
202
121
174
302
147
158
208
115
224
150
186
112
137
206
208
121
156
164
143
194
172
150
213
121
171
150
207
250
302
112
219
150
208
201
194
121
172
150
228
225
121
165
112
186
184
150
159
240
225
144
112
112
186
230
218
172
208
209
208
170
229
172
274
168
220
112
167
171
172
172
121
124
238
239
230
255
259
121
130
152
150
218
124
215
150
216
150
150
152
147
193
210
150
112
203
165
208
208
194
172
229
184
150
150
276
150
164
112
150
217
208
208
282
179
150
167
159
194
121
202
167
164
150
124
193
208
167
174
233
170
167
228
147
150
234
160
123
212
193
235
168
170
135
150
121
201
136
196
228
240
158
208
210
262
214
244
112
135
195
112
288
226
193
208
167
172
195
165
203
208
112
208
217
171
172
121
237
172
121
158
220
121
228
123
172
158
123
170
172
112
176
195
136
228
121
170
201
194
171
159
208
172
259
243
112
112
150
278
187
165
176
150
146
223
124
229
208
123
193
217
171
167
172
123
135
135
172
177
208
150
175
167
195
194
136
112
194
115
121
250
194
209
150
210
201
147
150
240
208
112
147
150
179
179
208
218
178
179
236
218
123
259
112
121
196
177
212
186
115
158
171
115
121
150
167
150
184
121
204
171
194
226
150
228
218
170
121
159
150
218
205
137
167
165
170
121
121
112
193
205
193
150
218
189
205
185
217
135
150
123
186
121
202
147
194
260
121
135
176
121
215
150
137
186
219
257
227
143
150
150
219
137
217
186
165
237
158
150
250
112
263
167
150
158
150
159
218
159
150
228
156
189
121
181
204
199
228
203
187
190
143
189
172
121
195
150
171
150
150
174
164
203
165
223
171
150
172
194
135
250
124
237
207
170
121
153
181
115
228
167
220
165
194
177
158
210
170
230
212
232
123
150
201
174
167
171
186
150
275
206
112
150
121
234
176
161
150
208
167
170
150
150
174
228
167
170
233
194
208
121
112
121
192
259
185
121
204
150
202
150
152
123
121
150
187
112
167
137
219
165
150
171
193
194
194
167
174
121
231
112
208
150
208
172
150
150
213
158
150
186
181
213
247
121
208
150
170
112
194
124
150
137
171
170
167
130
170
208
212
112
175
210
171
112
150
178
112
186
220
219
278
121
187
228
112
150
287
226
150
135
112
194
172
112
123
130
150
150
123
112
208
223
181
123
170
170
174
112
135
150
136
112
150
193
206
186
181
208
210
141
121
171
205
112
121
143
169
186
160
215
210
265
206
130
147
193
115
150
205
165
150
150
228
219
172
167
150
202
158
172
165
121
112
115
150
242
150
193
188
123
150
202
253
170
202
158
123
212
243
217
150
195
239
121
170
214
158
182
112
201
150
187
137
208
172
193
302
150
112
172
128
167
228
208
112
214
130
135
112
184
112
165
181
112
208
130
164
112
123
112
167
112
260
112
239
181
208
202
115
150
203
115
229
271
123
136
171
172
150
136
124
192
112
201
135
170
172
216
172
228
177
121
112
193
302
181
144
121
208
150
186
172
156
112
187
212
112
171
242
112
112
112
172
205
194
112
170
172
158
250
121
209
239
218
179
170
207
121
112
115
128
196
190
150
192
150
171
121
208
206
158
203
146
135
172
201
115
144
137
152
164
112
150
185
124
146
150
147
208
167
208
215
170
112
202
208
230
187
174
208
159
135
112
139
210
121
194
234
168
171
121
153
170
235
121
228
249
136
160
176
228
220
174
243
172
172
205
150
150
174
176
165
150
112
172
121
123
193
219
208
228
159
172
171
219
208
172
208
212
182
245
208
208
217
229
143
175
121
121
172
171
131
195
112
150
237
112
112
121
112
203
230
121
185
135
194
171
237
170
236
220
112
194
208
192
170
265
139
208
184
123
112
186
177
187
176
194
150
170
160
121
112
150
167
231
198
210
187
210
194
150
212
208
115
172
121
168
112
229
112
228
240
165
194
112
201
112
193
250
231
181
234
150
194
150
208
112
128
187
152
123
136
181
186
240
152
112
208
115
228
170
121
167
177
208
156
112
194
137
193
147
150
150
228
230
302
121
146
170
150
208
210
130
167
194
193
123
150
167
170
136
124
164
193
150
121
112
205
112
172
195
162
170
150
233
121
165
228
204
216
181
203
150
172
208
181
123
231
112
172
112
150
112
165
212
171
202
278
150
203
150
231
157
208
272
136
171
239
181
150
121
121
208
181
150
181
234
147
208
231
170
112
165
112
112
235
172
121
112
150
150
172
201
135
181
184
143
205
264
150
205
172
208
112
112
167
150
186
214
172
202
208
284
208
208
297
112
136
168
235
158
192
225
171
201
150
170
162
123
255
172
255
112
228
187
150
150
186
224
215
172
186
130
112
150
167
171
179
112
150
147
170
150
171
207
186
228
192
247
165
112
205
150
228
179
185
156
186
164
159
158
172
112
121
212
123
225
176
121
112
208
177
193
121
147
112
167
194
152
187
259
212
112
172
227
202
112
189
170
150
237
209
115
167
156
165
179
241
167
121
212
221
121
176
205
188
229
210
181
121
121
241
112
197
203
227
112
121
132
147
136
135
115
218
112
124
137
177
195
214
150
208
162
203
135
163
150
208
167
112
123
263
177
228
167
150
170
167
123
123
150
203
160
238
173
217
239
115
186
174
255
150
237
150
112
194
172
167
193
121
176
192
181
208
135
150
209
172
165
115
158
175
112
203
112
121
210
204
237
112
186
170
232
239
135
170
123
123
202
208
209
128
150
121
208
205
181
150
182
181
214
150
205
136
112
170
150
170
158
112
181
150
112
121
170
239
150
121
181
121
147
187
208
150
179
150
282
165
171
150
237
170
253
150
213
208
219
150
150
176
210
121
150
208
112
181
272
208
167
263
112
147
219
150
152
143
194
205
112
225
280
150
137
186
184
195
187
161
179
150
136
184
112
179
150
123
158
173
123
187
150
150
172
167
194
250
186
228
121
173
184
186
170
176
208
228
186
165
175
255
250
156
150
165
220
121
121
185
167
198
150
121
159
168
225
209
208
121
208
219
195
194
112
181
170
165
112
112
178
171
150
176
128
167
177
181
181
208
167
195
208
121
176
165
170
112
165
150
212
243
228
266
193
112
165
150
150
195
239
170
209
202
194
112
170
194
167
128
186
203
136
137
150
112
177
195
121
177
194
121
112
278
115
194
135
215
150
196
208
121
150
137
208
150
208
167
247
212
150
228
150
171
276
112
112
121
121
167
112
171
165
175
172
210
112
150
192
218
150
208
208
121
115
216
193
150
123
172
279
150
176
172
112
212
244
172
112
136
181
233
121
212
228
172
112
186
167
289
177
112
112
147
193
172
128
210
237
195
112
208
219
297
173
181
150
143
150
156
123
181
147
172
121
112
150
192
112
159
173
239
239
179
159
173
170
121
121
137
176
171
121
195
167
112
167
202
176
167
195
193
159
150
150
130
172
201
177
121
228
208
172
176
121
238
228
150
150
236
115
167
170
228
210
212
115
156
150
136
156
193
212
112
152
208
188
171
150
181
178
208
197
218
123
128
123
121
150
121
171
232
208
150
135
217
231
112
208
167
121
210
175
208
208
112
193
172
197
225
192
136
158
172
181
150
150
228
208
195
177
160
202
150
201
187
121
135
218
232
160
185
223
112
208
160
150
206
167
205
231
176
167
167
159
231
112
212
137
235
137
170
159
193
172
112
144
112
121
250
202
194
112
175
112
232
205
136
121
112
112
209
135
201
167
112
211
184
121
112
136
167
137
171
137
170
171
219
150
171
159
214
210
115
135
176
174
124
210
147
150
150
212
182
195
136
176
112
123
232
112
215
121
259
192
174
150
187
137
165
210
150
172
171
226
193
150
112
150
185
166
123
145
158
165
172
150
194
121
186
121
165
172
208
150
208
112
115
231
150
189
194
121
193
212
184
121
177
225
234
150
193
176
150
167
112
171
174
123
236
123
170
250
226
165
189
187
112
244
237
128
208
193
168
193
150
227
112
207
172
159
147
210
192
203
150
181
121
195
187
150
228
213
112
115
147
214
123
160
171
231
186
168
112
181
150
302
194
150
302
195
225
172
121
181
167
121
202
168
150
186
123
121
123
192
187
150
170
222
192
239
237
167
193
150
171
227
112
167
121
112
172
143
176
150
167
302
112
207
115
204
181
239
171
193
150
172
212
159
259
178
170
167
220
112
165
112
170
187
121
112
172
184
176
112
123
208
170
250
112
172
172
212
194
194
172
112
190
135
179
150
218
150
150
165
195
150
236
203
202
159
112
192
201
170
130
168
187
210
184
112
165
150
245
136
112
210
232
181
204
150
121
167
193
121
150
160
208
179
171
112
150
159
135
121
146
135
112
170
150
121
208
170
218
168
197
145
201
160
193
123
208
150
112
239
156
112
208
217
208
199
170
236
136
167
204
204
115
150
150
171
170
121
195
228
167
208
237
190
112
171
202
202
184
150
123
186
121
242
128
112
150
195
219
123
177
128
164
233
150
174
123
112
121
234
150
167
171
208
123
187
214
150
254
210
168
226
217
112
123
170
167
170
219
112
170
123
184
176
112
209
137
165
112
112
193
187
150
123
208
112
135
150
171
212
195
219
172
236
247
186
243
172
121
136
150
135
135
112
228
165
181
186
121
225
171
193
112
121
167
150
194
135
112
170
210
202
189
135
208
150
210
112
228
198
160
194
112
178
193
167
150
143
112
172
150
205
171
112
170
202
210
121
128
121
186
171
165
144
123
210
123
150
121
112
193
150
172
202
112
115
124
150
160
150
211
112
174
203
236
160
219
206
165
150
123
167
167
192
147
263
174
112
208
201
121
270
208
171
208
112
112
194
171
112
121
171
237
195
112
214
257
170
207
167
121
208
121
128
239
170
158
174
228
210
201
177
203
271
150
229
150
136
150
181
112
167
150
124
130
171
302
208
164
135
112
226
121
137
181
237
136
231
167
170
150
170
159
159
167
172
165
178
167
228
237
150
112
147
146
186
150
128
240
247
150
192
167
150
233
158
112
201
112
177
208
150
197
172
167
233
121
172
244
150
123
170
150
121
194
112
181
171
167
121
233
219
195
172
211
237
137
176
224
176
124
150
159
150
182
210
203
123
150
191
201
165
150
112
203
115
168
194
231
201
181
210
235
201
150
208
207
165
233
211
112
208
228
186
135
208
112
124
172
219
186
160
167
172
186
171
187
112
121
225
112
194
231
204
158
235
161
257
170
194
159
186
228
192
155
135
239
208
168
172
112
167
146
208
150
172
150
112
167
158
159
124
165
194
186
187
198
172
137
167
228
121
239
181
170
150
237
135
237
150
170
170
194
193
112
194
123
147
121
150
228
112
184
181
210
171
185
209
112
121
130
112
112
167
176
121
136
121
192
159
172
150
239
186
121
202
239
226
123
121
209
112
112
170
150
231
150
121
212
150
171
121
241
112
121
165
171
135
208
150
194
232
195
136
194
112
217
217
186
121
218
152
150
112
246
171
213
150
170
150
150
150
150
186
170
150
150
205
172
150
112
208
190
204
112
150
158
150
189
112
217
170
205
172
264
123
135
150
202
167
220
167
144
230
167
123
195
167
201
172
112
157
150
176
145
144
147
112
239
174
229
201
112
240
207
164
210
224
176
156
123
121
193
165
172
112
136
171
212
156
174
202
121
208
165
115
182
192
158
123
243
172
187
161
181
123
255
194
163
222
150
236
156
158
187
238
143
208
197
233
194
250
167
112
186
150
150
150
302
121
121
150
213
263
112
123
193
259
150
150
228
194
112
195
168
242
194
181
177
188
112
212
208
123
246
189
150
172
228
236
121
130
121
229
150
121
208
186
112
165
159
181
143
121
210
215
186
203
136
167
208
230
172
112
252
172
228
160
112
225
158
178
208
194
215
242
121
112
207
167
214
150
206
208
160
181
207
112
150
259
208
161
237
172
212
150
187
201
136
177
135
228
159
136
150
208
159
167
156
172
150
137
168
131
150
174
167
192
121
244
193
150
218
175
130
167
128
121
172
167
237
156
112
115
150
135
203
170
121
194
121
147
115
123
231
128
254
203
175
172
175
176
181
209
208
203
194
178
263
124
167
123
186
165
150
167
159
147
112
123
121
121
167
112
137
167
193
147
176
176
143
165
112
209
170
198
189
150
172
112
211
152
253
255
121
228
274
302
150
194
115
217
150
205
264
193
112
150
172
194
186
121
210
159
150
112
170
150
238
212
208
207
239
208
112
150
172
274
240
172
218
250
150
208
167
115
208
203
202
158
165
150
228
112
226
208
165
112
208
112
170
112
188
299
130
208
195
171
176
121
170
217
112
193
192
194
135
171
130
150
239
202
266
115
147
186
165
222
201
158
210
193
124
172
208
281
202
249
255
208
181
121
175
187
213
189
121
112
181
131
167
170
130
176
234
121
174
112
210
208
210
147
200
186
112
208
112
195
176
205
123
158
208
150
150
186
235
187
226
168
135
193
150
170
256
208
123
194
121
160
150
227
165
171
255
150
193
150
167
205
278
214
150
123
150
112
176
130
172
167
210
237
208
144
229
212
177
121
181
167
150
153
150
143
123
150
214
202
150
237
143
208
187
112
172
156
165
121
121
172
150
171
150
208
112
199
203
136
135
112
263
208
135
150
205
176
147
286
195
150
150
112
172
221
167
112
171
112
208
176
167
150
212
150
112
150
135
186
123
192
165
147
208
136
172
193
208
172
250
195
170
121
150
150
121
236
208
208
112
115
172
168
234
165
139
208
192
167
136
112
121
190
150
150
136
130
181
162
112
115
121
121
112
187
150
158
176
135
167
229
167
167
121
157
160
150
170
167
176
202
130
179
208
165
152
186
150
112
121
147
217
211
150
230
179
167
137
121
164
112
208
172
170
167
150
201
171
195
153
112
202
170
231
150
216
150
167
121
171
176
229
121
208
121
135
172
302
135
208
189
136
237
112
150
170
121
168
150
112
299
194
150
121
199
136
136
208
143
170
186
215
301
208
121
150
112
276
194
231
158
147
208
165
121
165
232
112
135
112
112
237
150
165
124
150
112
176
243
121
207
112
208
147
135
208
220
112
227
203
171
123
121
194
225
112
210
241
172
137
121
179
208
172
186
150
150
299
212
150
258
123
186
168
112
208
167
220
213
195
229
237
207
208
256
208
208
156
121
176
150
170
194
112
208
137
150
136
194
112
187
174
246
209
302
238
289
263
121
176
112
208
232
121
171
121
202
150
176
238
208
121
158
112
150
239
121
121
167
150
192
150
150
177
208
112
123
121
150
263
150
172
112
225
208
187
121
228
231
175
218
179
159
235
162
146
150
204
121
228
199
167
195
208
242
170
216
253
123
170
201
136
201
207
160
123
255
150
176
121
152
150
160
115
172
208
186
208
167
186
195
112
212
220
202
193
150
150
181
112
150
167
160
199
228
181
112
165
220
172
219
208
170
172
193
121
194
172
112
176
172
172
237
190
112
221
135
135
150
171
150
152
150
186
121
112
123
276
137
204
121
112
112
185
150
270
159
121
112
112
160
112
150
160
115
156
150
217
208
150
167
121
208
240
150
160
261
226
112
181
168
228
112
193
150
208
123
150
179
214
167
121
201
150
228
171
150
121
250
172
234
165
150
147
130
168
150
194
150
121
115
212
210
171
233
208
121
219
164
187
150
123
150
194
121
172
170
112
161
170
171
203
185
135
112
150
184
150
172
137
213
128
112
121
177
213
240
112
168
225
179
208
210
186
202
172
112
194
181
208
160
202
121
112
194
136
112
250
172
253
112
208
150
172
192
121
115
208
136
150
242
223
210
208
171
135
189
150
112
176
170
250
213
150
150
121
176
171
243
207
234
167
194
135
232
112
112
262
135
112
186
181
229
164
236
172
112
112
135
194
181
158
226
172
242
136
194
135
208
112
168
121
172
112
150
112
121
112
226
112
167
230
201
160
150
231
150
263
159
201
150
150
207
184
115
121
193
187
156
174
121
112
150
176
112
171
135
186
135
164
112
136
263
218
203
202
217
193
187
170
150
210
124
150
124
157
263
135
212
115
112
187
146
182
137
112
212
167
264
150
160
150
170
171
194
228
121
194
121
167
175
150
198
121
135
239
147
171
184
167
276
241
172
229
240
158
231
164
150
112
165
192
201
150
150
124
137
150
121
172
193
160
159
150
171
150
121
121
219
301
159
176
177
205
192
217
165
179
209
208
228
150
219
187
216
165
194
159
121
181
276
220
195
112
172
170
194
229
150
150
150
265
215
150
112
208
150
208
159
210
171
112
175
172
150
150
181
124
217
218
237
187
150
172
257
150
203
112
216
229
171
121
112
121
123
210
194
181
167
165
121
160
115
170
121
172
162
172
193
220
276
210
177
121
195
212
181
210
147
212
170
150
131
172
177
150
207
181
160
212
187
164
124
124
172
158
167
193
150
170
172
194
224
216
137
263
123
219
192
220
282
176
208
194
226
165
144
181
121
208
205
228
121
225
208
212
165
115
150
147
213
170
121
121
171
186
212
219
212
203
208
275
137
159
193
233
193
177
136
167
137
112
123
167
121
181
228
124
112
121
171
160
172
179
210
209
167
225
239
159
112
167
226
137
150
121
115
156
194
172
112
201
176
228
204
157
112
225
172
237
130
255
159
168
181
172
237
210
170
213
164
123
211
194
150
228
112
121
242
175
247
112
112
143
208
164
187
164
150
115
212
170
170
150
212
121
189
228
212
167
172
186
228
121
208
208
239
208
156
195
181
147
157
217
136
225
208
170
172
150
205
112
124
220
167
170
202
203
150
112
121
170
124
174
201
135
123
156
212
123
150
210
208
193
167
193
228
124
190
112
202
177
132
165
178
226
212
176
194
215
112
172
167
152
112
208
208
208
159
147
212
153
231
165
158
121
217
201
112
152
182
192
112
173
165
239
172
219
152
150
176
112
208
170
112
124
112
165
208
136
255
208
112
121
160
152
227
112
223
174
174
112
150
198
112
150
189
112
198
174
164
170
212
204
226
205
212
217
208
225
172
209
121
203
135
157
150
250
150
175
195
174
208
170
160
171
240
229
208
147
121
150
112
171
137
171
150
175
201
150
132
150
171
112
112
121
176
215
186
121
215
150
195
208
173
202
186
170
167
275
228
228
112
263
112
217
150
121
170
164
121
121
123
121
208
217
232
164
171
208
153
225
112
112
112
176
150
136
162
172
121
172
147
214
167
255
156
239
115
264
192
239
235
239
112
267
238
165
137
137
121
112
207
203
170
171
221
165
150
121
172
174
193
172
124
121
237
115
121
121
250
187
219
115
124
203
112
121
225
209
121
121
167
202
288
167
237
150
159
150
150
225
121
231
124
135
150
167
121
171
167
255
233
203
228
208
159
263
208
112
121
171
121
170
194
156
121
121
181
165
203
150
257
158
121
167
150
150
150
150
150
112
135
112
123
150
150
208
170
170
150
212
187
192
210
170
172
136
172
112
250
193
215
225
143
130
272
171
170
204
167
171
171
150
124
150
170
121
112
121
235
205
121
210
187
112
226
193
170
246
193
181
176
237
193
216
217
150
216
165
195
210
170
130
237
212
135
205
237
227
208
168
214
174
158
171
297
112
203
208
158
150
167
121
210
195
240
194
167
208
167
194
186
202
202
121
112
112
123
226
228
136
135
212
112
174
228
170
112
177
150
171
112
208
208
121
121
254
152
123
135
208
237
203
231
172
172
121
208
172
176
123
194
231
167
121
194
170
255
192
228
194
181
164
121
137
171
112
229
172
112
174
150
211
150
275
228
136
158
112
176
212
112
171
150
161
193
179
194
193
165
192
152
237
208
186
193
158
130
172
158
171
217
186
170
135
121
167
147
121
115
112
170
228
150
124
161
193
195
121
121
121
212
147
136
219
112
150
210
121
124
208
150
150
225
156
174
226
225
172
121
146
112
168
186
167
208
157
170
123
170
174
121
150
246
170
210
220
131
195
136
282
112
136
150
208
171
258
181
257
143
302
208
165
112
219
121
112
121
112
204
217
130
210
121
210
236
150
170
121
194
194
203
259
121
112
234
112
150
195
158
171
208
121
167
170
150
210
150
165
228
168
112
219
204
136
170
202
230
205
194
121
150
112
202
150
112
123
121
121
167
214
254
202
137
255
150
123
112
164
172
196
274
177
210
231
167
171
208
170
112
195
195
193
229
112
213
174
123
184
189
165
192
207
150
170
171
150
123
194
124
121
112
242
215
165
205
187
139
135
150
112
170
121
150
181
204
201
123
134
112
237
112
177
195
232
256
244
150
112
179
165
181
143
208
123
203
167
172
171
150
231
302
147
172
170
170
121
174
112
112
115
121
171
242
171
158
219
112
208
228
202
218
240
199
208
150
168
150
177
212
205
164
167
150
152
237
155
208
181
135
194
228
171
181
112
208
168
194
172
150
195
250
194
208
186
150
150
208
172
263
209
172
171
147
150
150
190
186
121
208
121
208
208
150
172
170
228
121
204
144
115
186
121
152
170
208
193
112
181
172
121
257
167
121
112
176
150
165
152
184
170
194
165
112
208
194
136
150
167
121
150
121
170
201
220
176
150
172
112
212
164
194
250
218
231
156
150
172
271
150
187
178
150
208
167
112
147
208
231
202
237
112
212
186
172
150
195
174
197
121
150
198
212
172
135
164
234
171
150
168
147
150
167
227
121
165
150
123
189
150
157
226
150
198
158
167
152
170
220
220
217
121
244
121
123
176
168
121
231
215
177
150
202
208
150
176
187
170
200
150
150
124
172
123
112
112
238
171
207
206
172
209
121
121
112
264
112
234
150
181
130
121
194
168
121
177
143
112
165
228
187
165
220
170
121
123
193
112
123
172
150
112
170
121
205
185
201
144
172
244
172
150
177
121
231
239
121
193
193
293
210
187
181
135
229
167
236
208
165
112
208
213
176
167
158
194
150
124
150
172
187
237
175
194
186
263
207
171
208
164
135
171
112
123
212
170
174
172
208
194
150
121
160
250
172
212
205
121
272
179
112
176
112
135
220
150
209
121
172
174
172
228
194
208
171
150
201
124
150
176
170
174
170
250
220
189
193
150
194
243
150
167
208
121
159
229
174
150
137
166
137
158
165
121
195
150
197
150
170
176
150
172
195
260
220
174
171
150
172
191
194
121
172
176
208
176
202
170
239
174
212
217
150
167
253
172
233
186
181
214
144
121
150
197
172
170
135
220
112
150
194
150
150
112
176
208
192
167
228
112
181
187
176
193
177
123
203
210
181
171
201
112
150
264
208
215
190
194
171
115
155
182
121
201
150
147
150
150
167
165
150
170
130
199
230
121
194
210
141
194
172
121
157
194
150
182
239
265
150
170
121
208
226
147
162
112
245
136
150
208
172
112
234
236
121
195
131
171
203
112
250
112
223
112
150
147
112
237
112
121
179
150
150
150
176
150
115
112
172
167
150
172
197
150
150
208
237
194
150
121
143
212
208
143
203
121
150
193
135
191
250
137
231
175
143
159
121
208
186
135
121
168
124
172
136
165
156
241
181
214
242
200
130
136
170
186
237
171
165
208
130
172
150
150
204
184
250
196
276
137
210
150
150
225
210
165
159
193
242
174
112
167
167
182
128
150
112
194
121
237
177
167
235
265
158
130
150
150
194
193
135
150
201
130
208
150
187
150
150
150
171
211
136
121
150
195
171
115
218
186
255
143
176
157
223
170
168
193
150
216
136
150
123
135
172
167
112
112
231
167
195
181
170
112
123
233
156
164
192
194
202
187
263
208
232
112
150
112
147
192
158
219
213
302
179
219
186
112
150
172
158
150
158
201
165
210
181
218
162
112
136
121
112
152
171
135
135
210
150
281
165
165
239
243
112
189
192
165
192
112
167
150
208
266
171
160
112
170
170
121
150
150
172
112
195
196
158
172
156
208
171
231
112
219
172
174
121
128
212
208
198
176
150
208
202
112
192
177
167
250
202
112
171
167
179
124
167
164
112
150
208
168
121
143
176
220
215
235
112
112
186
243
152
223
137
181
263
193
192
171
167
233
160
184
228
150
186
176
112
143
226
147
195
201
135
207
179
181
150
235
195
210
179
258
217
201
192
275
150
150
112
195
203
147
150
115
212
214
170
121
150
210
135
218
172
172
143
189
172
172
231
121
212
121
189
208
208
137
150
208
123
170
128
194
203
143
193
194
150
230
186
171
121
208
121
230
233
172
171
208
121
176
202
208
201
170
156
208
194
160
150
229
202
210
219
167
167
193
112
202
112
147
112
139
215
170
136
150
175
136
150
181
227
159
254
167
172
123
210
172
150
184
212
176
194
167
228
150
257
229
150
228
172
176
150
194
112
112
214
112
136
194
150
160
219
167
197
176
112
228
165
257
175
171
187
224
229
219
150
112
174
167
210
150
194
112
210
254
112
159
222
121
217
150
167
156
196
210
208
167
208
208
168
157
191
167
249
143
231
147
213
167
181
128
121
171
226
150
225
112
150
174
171
228
162
172
208
208
121
161
115
237
192
181
121
150
150
150
171
201
121
170
150
194
115
208
115
121
150
170
228
186
200
170
150
208
172
187
112
121
202
121
112
233
174
235
165
170
172
232
230
150
150
112
256
167
121
218
123
136
172
243
115
202
112
150
193
208
160
172
212
150
172
207
208
195
121
150
165
202
150
195
121
174
208
194
170
176
203
177
217
136
235
150
172
176
172
150
121
190
135
171
152
210
218
229
212
150
176
177
167
172
225
112
244
201
165
121
194
121
171
147
235
210
250
184
228
167
150
150
158
231
123
215
181
171
220
112
174
137
112
194
202
237
112
159
150
168
302
195
136
121
112
150
229
172
176
228
176
172
208
170
112
177
193
150
194
193
115
121
293
217
217
208
112
172
112
210
208
214
172
195
171
123
302
174
115
207
115
147
160
213
150
150
112
135
167
112
160
193
252
128
121
121
171
167
150
158
123
112
165
121
226
150
150
172
208
186
150
167
157
208
150
170
150
228
160
194
226
121
225
112
121
121
112
121
171
112
231
171
241
182
208
222
170
143
228
159
112
176
130
121
250
168
208
208
202
167
150
208
170
171
257
181
208
237
195
150
205
172
181
237
164
207
186
208
121
145
136
137
170
158
123
121
208
121
167
177
228
112
112
167
137
206
239
168
115
172
164
130
176
112
229
205
136
121
165
121
202
174
172
112
231
208
176
208
176
165
115
150
137
278
208
164
121
184
167
208
196
150
165
181
150
243
185
208
219
207
170
112
203
215
197
181
208
167
172
112
195
253
137
228
174
150
212
304
218
235
170
143
181
223
181
229
150
232
163
112
124
176
157
237
112
112
150
150
167
249
259
112
234
121
112
167
143
213
167
205
163
243
121
237
152
196
281
177
156
204
163
167
150
255
112
124
181
121
130
121
150
112
172
208
167
150
229
158
207
112
208
193
228
121
115
150
200
172
112
263
135
198
208
203
255
170
112
121
186
121
150
123
143
217
150
150
124
150
112
174
250
199
178
121
168
246
159
150
228
112
112
172
177
150
207
238
143
201
219
233
112
235
112
255
208
112
233
208
200
167
228
195
135
172
167
210
112
194
202
211
150
208
150
215
172
172
112
210
121
123
124
121
226
137
167
186
170
147
112
233
170
121
208
237
172
184
250
199
150
112
165
135
164
164
170
112
167
208
176
123
228
246
208
209
208
187
172
123
165
172
150
147
210
115
112
237
208
150
170
150
150
228
172
158
179
208
184
112
170
160
179
112
121
136
112
212
203
186
150
168
208
165
270
208
165
150
123
150
176
181
202
212
193
194
160
236
202
121
150
208
172
226
208
208
136
167
226
112
170
130
144
121
176
150
112
147
228
121
210
112
218
178
172
199
231
150
249
234
112
186
121
218
115
250
214
203
150
150
231
112
150
227
176
170
112
146
112
231
150
205
208
165
121
181
150
150
239
124
225
178
137
150
123
172
150
150
176
171
172
121
121
220
228
156
135
216
150
112
179
150
159
208
189
190
137
112
210
207
208
195
241
112
112
252
205
171
150
112
194
210
209
176
172
112
121
170
234
208
255
157
209
223
167
183
208
201
112
201
172
208
201
150
165
137
170
121
228
123
121
112
115
112
150
112
168
130
187
220
176
213
147
121
167
203
210
121
152
112
112
208
121
150
131
147
181
150
150
228
211
112
112
232
150
186
150
186
150
219
208
150
137
228
202
181
121
226
217
187
276
167
171
182
201
128
204
208
186
228
193
121
112
190
136
229
136
112
243
136
258
186
112
168
123
150
112
150
177
164
172
112
205
121
184
150
143
233
121
212
121
208
172
195
237
112
181
167
112
176
194
160
181
150
121
242
144
150
121
121
150
131
136
168
170
158
170
150
150
167
184
159
172
136
167
207
112
170
228
186
143
156
164
112
165
123
224
112
192
121
176
176
263
156
181
194
225
228
147
150
184
123
170
220
112
147
150
208
112
208
212
152
158
147
186
186
121
112
159
189
136
167
150
150
130
257
143
186
167
137
150
112
137
238
171
210
165
150
121
123
135
123
208
124
176
172
217
150
212
237
112
136
208
172
210
158
164
165
121
165
167
167
210
115
121
219
124
135
226
112
170
210
112
212
112
172
171
135
240
136
158
262
208
228
231
187
150
170
167
150
194
112
165
195
156
172
208
159
150
181
112
165
172
203
150
176
170
219
195
121
195
167
243
172
112
112
224
186
156
112
135
171
135
195
136
228
172
158
147
112
232
172
162
150
121
222
218
211
150
201
121
150
187
112
165
172
195
212
240
189
135
146
255
203
176
193
137
217
220
233
123
167
170
255
225
150
218
150
175
160
181
150
179
112
208
203
170
170
150
198
121
206
172
208
121
150
112
167
196
202
171
208
150
121
171
150
228
112
128
150
112
202
225
228
177
147
150
162
195
121
150
255
243
239
176
212
193
219
221
112
112
182
135
187
150
136
181
231
115
150
112
164
218
121
176
112
123
257
181
160
112
165
130
172
208
210
172
112
168
112
121
209
112
170
156
112
171
112
121
208
210
135
201
233
130
178
150
172
171
253
218
121
171
123
231
205
176
209
232
187
112
121
228
150
150
112
275
112
225
176
229
206
183
250
279
167
121
226
112
150
203
208
170
232
172
158
170
121
167
150
220
242
135
264
194
150
158
186
137
194
254
249
170
160
121
208
181
193
112
165
210
112
121
226
112
112
150
165
171
112
232
150
187
237
243
208
177
172
181
187
130
150
188
165
150
121
150
124
200
172
186
112
170
184
150
215
164
112
172
123
181
195
208
216
217
150
219
137
156
172
239
123
123
202
150
195
150
152
202
203
112
170
217
147
243
171
204
121
170
203
170
235
165
159
124
194
208
150
150
139
172
186
150
143
302
170
237
150
174
186
121
205
276
150
170
210
208
181
175
171
172
239
194
158
265
152
150
150
158
150
150
189
219
150
123
208
234
208
150
164
202
250
240
171
150
222
121
186
170
210
179
112
144
147
210
214
171
177
194
139
170
165
160
159
135
194
136
167
150
176
123
160
195
121
150
208
195
167
228
181
150
302
177
223
172
172
176
167
187
228
208
205
112
123
220
170
160
121
250
220
167
235
194
121
172
112
218
112
150
197
172
167
170
226
150
171
121
181
121
172
112
176
198
208
203
231
170
170
239
115
158
121
121
170
189
216
136
198
176
167
186
167
167
121
150
231
143
193
130
150
167
121
172
130
267
147
150
225
187
112
112
158
202
181
228
150
112
181
170
193
150
172
219
224
202
124
195
112
152
176
178
150
167
187
112
112
170
172
172
121
171
190
112
193
228
112
123
237
186
123
167
176
164
172
152
150
184
123
112
276
170
158
208
150
176
172
184
228
135
150
233
123
123
123
135
136
147
150
112
186
135
165
150
147
192
176
171
170
195
202
152
115
137
233
167
130
225
170
179
112
171
150
112
146
181
176
123
170
237
231
150
145
150
201
208
208
165
159
121
181
263
239
150
208
112
220
150
182
137
121
194
112
171
228
115
266
143
171
250
186
181
170
214
246
150
150
123
237
171
168
220
201
115
167
239
171
150
115
186
123
278
150
150
193
170
150
112
112
152
150
214
182
135
112
186
112
237
150
165
121
208
278
181
196
150
172
121
112
132
208
163
177
112
147
211
121
231
218
158
121
150
150
175
177
112
269
236
208
150
121
208
132
237
194
112
194
171
112
157
202
121
208
137
150
170
208
253
201
195
201
150
235
194
112
150
228
181
115
205
150
121
112
164
121
237
121
112
150
208
196
112
112
123
228
121
218
208
121
212
121
212
150
150
150
112
209
208
173
172
171
150
181
112
150
112
150
170
210
150
244
121
152
121
115
194
112
150
194
202
186
171
212
181
150
192
202
123
170
260
216
195
232
170
156
226
175
112
162
208
208
143
218
201
186
231
121
194
226
186
208
150
152
234
217
121
237
135
228
150
150
172
135
186
193
240
194
121
123
272
150
121
121
170
112
136
300
130
302
212
121
144
150
244
150
192
194
196
150
186
165
167
202
121
123
166
241
215
150
150
208
112
239
158
167
150
197
112
161
208
202
150
123
136
219
152
156
112
121
181
208
172
123
172
112
167
121
123
146
171
121
156
121
172
160
121
242
207
150
150
208
218
236
160
210
172
150
172
135
172
193
208
170
191
278
208
159
121
150
187
172
112
150
169
112
201
181
229
197
174
112
171
136
137
135
112
171
209
137
167
176
165
208
186
256
112
137
225
165
150
146
208
170
176
124
158
193
181
208
218
201
112
112
177
176
178
171
256
177
239
171
171
121
226
239
172
121
210
121
193
228
204
171
209
147
164
237
203
187
112
150
186
172
255
123
201
158
254
150
237
123
112
203
189
200
136
121
208
175
131
164
220
217
158
241
137
174
112
228
167
150
112
239
181
193
150
159
228
196
150
112
177
208
210
150
167
240
172
208
168
194
245
217
150
167
278
239
150
112
165
172
150
209
214
196
112
167
226
137
216
121
167
255
172
160
219
130
194
237
186
144
115
150
247
112
167
174
167
112
168
143
158
159
121
167
152
172
181
112
170
276
150
234
112
150
152
144
176
150
239
176
159
167
152
181
112
212
112
143
233
136
130
121
255
165
210
150
150
205
150
112
112
167
219
172
112
208
167
115
170
179
160
194
121
218
210
171
181
193
150
150
144
121
228
137
150
250
201
194
205
150
123
112
297
150
130
150
124
212
172
203
112
128
170
150
213
193
208
208
135
137
203
171
208
238
121
150
172
150
158
165
152
231
150
163
150
225
150
212
150
150
279
121
150
302
150
193
172
157
210
135
170
210
264
202
121
258
137
255
168
121
150
121
112
239
143
170
112
243
157
231
208
147
172
208
203
121
195
212
150
167
150
260
237
165
203
167
144
121
167
195
164
208
112
147
154
136
115
160
181
225
121
252
121
239
208
121
112
187
147
112
220
121
159
123
150
193
115
158
172
123
121
187
137
165
250
192
135
212
193
137
208
115
201
186
230
193
135
123
194
250
240
112
197
150
171
121
257
112
170
176
233
150
165
195
112
208
226
112
115
172
172
263
164
176
150
241
208
167
112
279
210
181
165
112
250
172
121
174
257
112
255
123
171
150
124
225
150
267
194
167
242
135
167
150
121
112
195
167
157
159
172
197
202
239
187
243
144
150
135
193
231
193
217
156
184
123
194
201
150
186
233
170
136
171
167
278
196
203
150
181
174
150
208
172
165
193
112
181
201
121
208
176
150
112
150
205
158
204
208
171
121
123
172
167
208
124
123
179
204
177
203
187
112
176
121
228
172
150
165
150
194
171
121
123
123
124
231
150
236
179
164
112
150
208
112
172
150
174
147
150
194
208
177
159
206
206
228
186
112
212
172
208
167
237
181
228
150
147
228
188
217
212
228
121
150
181
203
150
123
187
255
246
144
112
152
208
272
187
164
137
152
121
112
143
150
135
235
172
112
150
231
252
165
237
172
156
121
150
228
135
165
198
172
150
208
124
170
212
225
182
150
193
170
208
137
250
121
172
205
165
186
170
175
150
150
189
112
170
187
164
112
189
237
208
112
112
243
194
112
208
123
112
284
115
150
112
170
115
226
172
176
170
203
197
135
159
254
181
212
112
145
170
150
115
132
208
208
281
231
172
152
195
209
121
112
194
158
121
143
171
232
121
208
112
220
240
186
123
112
112
202
186
254
186
242
210
137
112
186
170
112
186
112
194
130
236
243
199
123
208
161
150
250
121
170
278
170
237
247
150
121
208
237
198
112
194
115
164
201
196
170
186
210
208
181
112
115
250
121
194
187
263
137
121
208
121
167
171
228
250
185
266
201
121
123
244
150
112
115
174
150
150
121
121
135
225
187
167
214
205
137
250
170
121
215
239
170
112
150
167
150
181
233
112
150
131
123
214
150
176
112
177
177
171
186
239
177
172
150
128
135
123
181
112
136
150
174
172
123
121
150
192
208
171
121
181
121
210
165
193
252
208
160
158
123
115
193
171
112
167
202
170
112
159
208
208
150
208
239
167
123
187
181
159
165
167
234
150
112
112
208
150
121
171
187
155
172
198
150
112
150
121
150
150
158
144
150
137
172
208
150
214
220
226
170
165
144
165
256
193
112
121
215
159
202
202
150
171
205
208
167
172
137
143
226
188
208
215
159
239
171
212
128
172
112
112
150
150
150
231
170
218
121
150
165
150
205
186
209
225
176
172
121
136
172
150
112
263
150
121
231
150
172
135
131
181
219
250
150
115
167
135
172
150
150
172
150
115
217
172
190
185
173
124
121
177
255
250
115
172
275
121
159
172
112
164
210
137
211
153
175
165
174
216
176
172
164
150
150
195
171
112
136
167
164
263
229
170
174
172
187
160
185
136
228
172
217
112
135
150
167
202
136
192
171
150
165
158
150
121
156
194
297
215
208
115
172
121
203
184
121
178
171
121
189
172
201
167
179
208
196
187
213
186
150
172
192
164
163
231
150
194
121
171
179
170
202
160
188
203
168
195
123
203
186
208
217
197
175
226
194
150
170
272
171
194
115
208
112
226
170
147
212
150
158
112
112
172
121
167
185
172
171
181
128
150
123
121
239
174
228
112
215
172
128
177
210
232
170
121
150
158
176
172
229
243
228
112
150
128
150
171
278
240
217
186
171
181
187
112
123
130
208
212
150
164
112
181
218
208
150
176
201
164
181
136
121
135
121
201
170
201
237
192
147
240
123
121
167
175
172
193
201
195
259
176
176
150
172
209
121
208
112
208
167
233
208
130
187
164
195
121
165
205
112
112
121
202
165
172
121
220
186
121
171
136
170
121
232
194
198
207
121
150
121
226
121
302
212
239
208
194
174
112
112
212
121
165
228
171
239
181
115
208
147
224
193
201
183
164
150
195
205
150
165
181
231
167
123
121
150
206
243
222
237
253
170
178
205
147
177
182
205
208
208
186
159
264
115
168
208
147
135
124
193
227
167
167
167
167
112
176
150
209
208
180
123
124
174
223
247
112
123
112
202
225
236
150
194
157
229
208
171
170
167
150
195
112
172
150
121
176
229
176
171
150
121
257
123
130
195
231
189
216
219
150
150
112
208
212
167
201
159
170
112
167
208
159
164
115
115
210
156
198
225
164
181
150
167
150
150
121
171
112
136
208
112
208
150
167
150
112
242
150
186
184
174
150
281
201
171
123
112
170
147
186
171
115
200
195
167
208
167
150
172
208
194
171
112
150
130
150
167
208
137
165
121
208
174
150
228
182
192
171
171
187
167
123
219
170
121
195
112
160
123
174
135
167
194
193
150
192
202
213
112
171
176
171
150
202
164
172
121
150
263
187
167
121
121
186
172
167
121
167
167
143
181
170
171
189
121
135
159
150
167
159
121
112
150
186
176
124
192
197
254
187
181
121
171
121
150
115
174
187
209
112
121
121
167
228
143
170
150
128
150
208
263
172
121
164
131
167
171
121
167
181
121
172
210
182
240
192
172
178
231
123
150
201
174
195
250
136
170
208
112
186
202
243
150
203
202
137
220
208
302
201
225
325
219
177
186
241
278
192
158
211
186
168
181
205
121
193
150
170
208
150
170
195
218
112
167
121
229
150
278
150
150
208
186
255
239
150
194
195
150
150
150
193
121
150
172
136
176
223
205
200
297
135
124
156
172
123
201
170
112
112
226
171
231
150
195
150
239
158
172
186
181
150
121
128
172
186
210
115
150
124
194
167
112
160
121
170
264
207
189
150
159
208
237
187
150
196
150
112
237
150
233
231
258
164
193
150
174
121
194
184
150
136
170
158
150
223
179
252
172
212
172
202
218
171
233
211
197
226
172
150
176
121
198
137
172
167
164
165
231
205
278
150
168
186
136
136
181
171
150
205
150
172
193
123
197
170
241
212
194
167
208
239
121
194
150
167
208
229
171
192
156
150
167
112
170
157
211
150
112
172
112
219
160
186
137
172
121
115
208
112
187
121
208
195
130
171
208
194
171
196
112
167
274
112
171
170
150
167
264
192
137
136
164
165
236
237
157
150
194
123
172
171
135
211
302
147
150
218
121
121
215
201
150
176
150
240
181
187
167
211
210
176
143
195
226
112
112
202
172
231
203
112
171
170
171
178
112
135
208
228
150
237
171
164
174
170
150
237
112
150
176
186
171
147
112
177
208
181
147
121
150
208
203
143
208
150
150
112
259
232
208
112
150
121
208
150
139
112
172
158
243
207
172
212
237
141
252
112
186
168
208
165
136
121
130
191
150
217
171
135
121
186
112
150
123
137
176
175
259
112
139
168
194
279
135
186
227
194
211
167
112
115
245
258
176
231
195
230
172
283
121
270
150
172
121
147
172
220
165
164
177
158
130
205
150
208
263
187
230
112
112
202
201
121
172
226
186
150
195
186
196
159
160
121
121
171
264
187
121
121
201
112
112
209
112
172
170
233
167
171
230
121
161
197
160
181
112
121
228
177
171
150
130
302
177
112
150
299
112
217
150
112
121
147
255
150
220
255
112
115
164
123
212
192
130
208
209
167
177
162
255
147
150
187
171
181
208
189
201
250
112
121
158
181
232
235
208
208
158
150
220
208
121
121
159
195
121
112
172
150
237
121
187
176
167
208
158
112
121
187
172
226
228
112
121
112
186
187
172
207
218
112
236
228
225
130
168
220
189
174
179
195
208
150
187
150
288
112
181
112
176
150
210
167
193
175
139
181
174
210
174
181
121
150
186
112
214
211
194
184
167
121
208
145
121
189
130
212
171
219
121
150
181
112
208
222
208
237
123
121
150
234
172
150
208
123
121
171
150
208
112
136
115
167
208
150
201
123
208
112
182
150
171
181
170
136
255
121
236
123
205
112
167
159
165
208
171
207
121
121
187
214
170
237
121
208
182
112
150
171
220
230
193
150
176
135
150
170
150
231
167
150
167
165
115
150
172
121
150
183
276
136
175
208
121
193
150
171
243
150
150
150
181
220
132
115
165
210
141
299
183
228
150
121
208
112
150
172
212
150
190
150
150
121
213
186
178
178
189
121
121
115
112
218
135
207
167
225
121
229
147
203
165
195
121
230
159
177
121
181
181
208
167
150
160
112
206
202
231
171
121
194
159
147
213
228
150
172
228
175
172
199
159
121
112
194
239
171
136
112
168
150
112
302
112
170
147
150
206
167
128
128
194
242
112
174
150
135
175
168
210
123
219
175
278
112
182
165
167
166
112
123
112
217
150
192
136
150
172
150
112
150
237
176
217
186
205
178
165
216
112
233
228
202
206
112
156
172
115
208
208
192
205
182
112
195
184
181
176
232
250
186
112
208
184
193
208
179
112
123
150
229
223
195
239
194
167
152
152
150
150
170
236
164
226
121
239
172
150
257
167
112
147
112
225
168
219
208
194
152
152
208
158
121
115
177
150
167
150
202
121
228
170
201
175
208
171
170
176
193
172
167
208
150
208
121
112
262
197
171
167
136
203
231
172
205
232
159
167
216
208
156
187
210
172
189
150
128
150
115
150
112
212
150
171
193
121
170
150
128
175
121
123
194
121
203
250
164
115
225
203
167
147
171
168
227
170
167
167
177
236
168
170
172
228
198
164
170
176
150
229
165
167
207
112
184
166
128
112
112
226
136
212
186
123
217
219
199
219
167
137
194
165
174
160
236
167
112
192
194
179
121
147
208
162
167
150
137
143
112
217
167
112
112
112
150
210
206
204
121
203
228
176
150
170
174
170
130
112
112
112
211
227
171
199
187
112
234
186
170
217
275
150
181
349
194
167
212
219
112
143
178
208
112
115
250
171
226
112
146
170
112
193
112
112
167
171
208
112
135
171
159
187
123
112
170
194
208
264
165
172
137
159
112
176
172
255
112
250
212
136
150
210
135
236
153
150
121
121
258
167
177
112
143
171
201
255
212
135
150
121
208
170
209
205
147
194
167
121
198
121
150
136
300
165
186
170
219
121
194
121
112
193
150
112
171
123
228
150
208
147
214
123
167
121
181
176
150
202
172
150
174
234
208
170
150
257
233
150
212
203
190
121
281
187
182
256
167
193
172
281
220
130
194
112
164
228
165
150
186
112
144
175
170
170
112
167
174
112
121
150
217
216
112
121
212
146
112
186
167
239
159
203
178
172
121
181
177
112
203
170
219
150
150
176
192
170
150
112
168
210
187
202
150
276
255
150
219
171
240
150
150
121
177
231
210
112
112
112
264
194
147
242
170
208
218
239
192
208
200
269
121
112
194
171
242
167
150
150
157
121
237
112
152
121
228
172
181
298
208
210
172
150
112
177
181
165
112
205
112
176
235
232
123
171
121
212
244
206
218
208
195
172
237
201
181
228
112
167
112
150
186
150
263
239
176
150
219
150
217
171
255
206
121
187
121
210
150
161
150
150
172
121
209
201
112
172
171
176
175
128
171
112
136
115
150
181
121
161
150
162
121
178
255
212
160
234
223
170
150
187
150
123
123
112
171
241
219
298
202
184
175
234
123
135
206
164
137
150
201
150
215
228
158
150
158
193
236
112
208
237
167
207
202
171
112
231
219
172
172
176
150
144
150
208
219
206
225
167
208
121
172
205
214
172
181
228
220
229
250
212
144
229
222
189
123
121
202
194
150
159
150
172
112
216
233
172
186
176
231
280
135
115
123
164
186
192
121
115
171
231
202
172
147
135
150
210
257
121
171
112
195
121
186
121
181
164
211
150
192
201
112
150
192
121
203
170
159
158
238
208
172
170
147
160
208
121
208
150
194
112
112
175
150
175
176
207
232
187
167
121
112
164
218
121
212
207
172
150
112
112
150
208
172
112
150
208
194
121
115
167
158
156
112
161
136
208
150
257
251
170
235
218
228
150
150
219
130
195
204
201
208
150
172
121
225
242
274
195
239
137
170
232
202
171
164
150
177
263
189
174
167
208
181
112
192
112
232
186
232
171
228
201
184
172
218
247
112
220
176
177
175
150
121
121
150
172
203
255
172
147
167
112
167
175
181
137
238
203
239
247
208
150
177
150
172
236
152
213
232
150
228
232
167
112
121
167
112
229
279
172
171
165
196
181
115
208
172
158
212
147
201
231
239
112
195
164
156
181
150
158
192
176
121
112
212
112
123
231
208
150
244
150
131
150
150
233
174
123
172
147
112
208
159
121
121
170
112
170
168
121
263
165
240
123
137
203
121
220
172
247
172
187
123
112
150
170
213
124
172
203
220
174
208
160
150
186
157
208
208
255
219
135
194
193
217
112
195
201
112
112
150
115
147
175
167
160
112
150
212
243
121
172
121
192
123
205
173
189
115
207
130
121
201
152
121
219
194
144
181
258
228
170
230
112
208
162
174
172
164
167
229
171
172
150
167
198
121
123
112
208
195
208
172
205
237
156
208
297
203
150
112
242
202
177
172
112
159
172
212
150
218
212
194
226
168
225
178
112
208
112
128
167
172
123
164
112
123
208
156
186
112
233
194
171
135
150
168
247
167
189
216
179
194
186
201
121
186
206
250
210
147
124
208
147
177
208
150
160
167
150
174
302
194
121
195
176
150
115
171
207
171
176
137
248
212
177
112
168
172
168
150
160
181
165
172
208
186
167
194
112
203
225
112
272
203
123
150
112
150
112
236
150
181
112
208
137
150
172
112
172
150
232
193
237
112
263
177
181
208
176
150
201
243
187
150
185
150
228
123
165
189
195
218
112
201
135
115
150
124
150
208
121
176
228
193
121
123
121
170
123
227
204
187
150
228
112
228
121
172
208
217
150
121
232
172
245
250
172
193
208
112
158
158
156
232
164
137
150
150
144
234
135
112
153
242
152
212
229
186
208
115
219
186
150
150
135
150
150
171
171
250
219
150
150
121
123
112
233
150
150
239
121
225
219
220
202
150
192
201
170
121
223
226
150
115
228
165
112
123
231
165
208
150
219
192
150
175
121
211
150
228
121
150
228
207
228
189
112
144
123
147
208
202
193
237
186
187
112
128
112
121
147
150
136
112
171
164
181
112
156
165
112
123
232
123
172
179
150
112
168
220
259
150
203
130
167
192
143
112
159
243
170
147
121
208
156
150
173
130
208
112
171
212
171
181
176
121
194
121
282
150
112
228
167
176
121
176
150
121
112
121
216
112
112
171
186
175
121
112
276
189
131
195
194
184
231
115
121
165
165
128
181
165
165
170
150
136
234
136
115
201
157
302
112
165
150
210
162
172
208
128
188
121
208
224
187
112
121
258
123
147
210
121
172
112
167
121
208
235
170
171
208
195
239
235
172
172
137
123
194
208
208
121
231
208
171
147
160
186
181
249
195
124
181
147
181
194
176
201
167
165
159
255
194
208
150
232
150
207
123
250
186
112
121
172
266
159
208
181
205
137
112
115
171
150
121
208
195
237
172
205
194
177
226
186
171
150
158
205
150
181
167
181
150
150
112
168
176
150
152
150
135
243
217
242
208
172
212
112
236
121
186
164
172
121
150
112
159
112
172
167
201
121
112
208
130
150
171
186
220
232
112
228
194
175
204
196
193
176
170
161
172
205
152
150
156
150
167
121
150
175
174
181
147
220
123
223
121
121
135
172
185
147
150
150
121
150
187
181
150
121
211
159
167
123
136
165
240
112
293
112
150
202
228
160
202
172
121
112
164
115
136
234
150
175
156
208
112
137
243
206
158
208
170
137
112
159
208
158
181
172
196
150
176
208
231
179
172
245
228
187
115
121
172
164
112
178
124
211
237
175
121
170
236
167
208
302
178
112
150
192
186
123
160
170
208
112
115
170
121
208
112
302
150
234
150
167
121
208
172
234
202
177
236
167
212
263
186
175
186
195
150
167
172
150
208
136
255
205
144
198
121
115
112
121
112
194
123
150
167
228
112
121
250
159
150
121
162
170
171
150
164
112
112
112
172
159
123
170
207
210
147
160
238
178
207
172
165
165
165
167
123
143
172
150
194
210
244
228
194
230
225
172
171
172
186
121
222
161
150
220
150
208
112
279
174
112
123
205
171
170
193
189
195
244
165
136
195
112
146
273
150
112
227
167
246
165
112
208
171
150
184
208
137
150
171
203
218
236
150
208
121
195
220
196
123
186
150
209
165
201
112
187
210
202
279
121
167
214
150
112
194
150
205
205
112
121
226
207
215
159
194
112
193
150
208
232
165
131
229
182
181
123
156
112
202
174
150
172
201
208
121
194
112
121
170
123
112
226
147
170
150
164
170
197
136
270
124
150
172
137
172
164
195
112
208
195
121
186
150
112
135
143
150
194
136
172
235
178
130
176
202
121
150
137
202
121
112
150
225
121
112
208
172
121
228
193
205
172
171
186
203
115
112
175
150
112
121
135
121
210
173
167
174
112
170
150
238
187
150
226
229
150
244
121
181
112
202
226
193
233
115
152
184
150
236
128
150
171
115
147
150
208
194
112
202
150
172
159
136
112
150
217
228
210
208
135
170
162
243
231
180
249
124
158
172
194
171
194
177
123
135
229
165
302
165
112
112
178
135
228
208
150
150
164
112
121
175
264
163
112
128
210
208
274
112
172
208
232
172
167
112
219
112
170
250
167
176
150
150
150
171
232
165
167
202
112
123
217
136
194
220
171
112
150
121
112
150
121
186
112
112
194
150
170
217
172
210
150
170
176
186
172
179
171
121
195
260
123
112
205
112
137
210
134
177
181
112
167
231
150
170
179
121
170
233
278
237
115
150
228
250
172
121
150
257
168
130
208
194
150
156
181
181
112
242
136
112
210
173
176
150
208
121
190
194
150
112
112
115
179
150
193
201
121
112
165
167
150
202
150
171
172
112
171
217
158
181
242
236
150
112
203
170
164
165
150
194
255
112
172
170
150
208
137
112
112
208
121
172
193
145
208
167
167
176
156
208
153
130
143
235
255
192
196
167
176
170
254
121
218
152
150
112
112
218
208
112
174
167
203
164
172
176
124
230
121
136
123
234
121
218
194
172
195
164
219
167
225
121
178
165
167
172
231
115
112
214
170
167
112
194
176
255
202
203
112
150
147
198
208
174
150
231
121
150
121
176
201
172
174
187
181
172
165
192
112
186
208
194
228
223
150
226
150
165
225
150
276
150
171
112
167
112
115
172
167
121
121
229
150
228
150
238
112
176
259
188
150
150
170
208
167
167
184
220
226
115
171
150
172
171
186
150
167
213
112
170
170
230
121
181
220
121
112
193
167
167
194
165
112
215
175
208
150
159
187
195
121
158
178
167
115
213
171
228
195
201
121
172
137
162
172
250
176
115
165
194
208
203
150
112
150
193
158
181
158
259
167
170
121
168
174
186
112
171
112
181
152
150
208
201
203
150
172
174
203
177
176
150
243
231
144
167
181
135
192
158
136
160
112
112
150
136
172
137
297
218
207
112
176
150
232
112
281
121
208
165
150
112
173
170
168
112
176
242
213
121
187
121
250
193
194
177
220
164
137
121
115
150
173
175
128
123
210
170
112
112
212
226
130
194
190
160
150
171
247
128
182
143
172
176
147
219
184
176
159
123
217
167
137
112
228
227
112
212
179
135
224
263
123
245
165
150
123
226
150
220
176
150
121
165
186
131
163
201
150
112
167
229
185
123
189
121
159
121
112
150
208
170
237
121
150
150
167
204
205
171
160
240
137
150
150
131
256
143
112
264
210
121
170
174
209
193
175
209
219
123
192
186
112
115
112
220
176
165
176
268
194
167
188
135
208
121
121
229
170
198
112
150
121
160
137
170
187
208
202
112
208
171
171
276
150
171
112
203
181
121
194
167
112
232
171
201
112
165
164
172
183
187
167
135
164
172
121
181
254
172
150
121
121
176
245
225
121
164
210
171
137
112
205
147
121
240
112
161
186
194
112
147
121
187
176
159
192
302
112
210
150
130
210
195
208
150
177
121
123
112
121
159
147
147
181
174
170
112
207
172
137
171
170
231
121
121
112
213
147
171
112
208
202
250
137
144
112
112
228
170
263
150
212
187
158
136
210
187
176
215
150
170
205
150
150
259
167
160
208
217
165
225
189
164
194
152
194
112
174
172
212
171
121
215
196
239
121
234
196
194
112
172
161
170
181
150
174
237
112
121
182
179
112
181
208
217
246
135
112
204
181
160
136
167
150
167
112
220
158
171
112
121
173
217
123
229
217
237
228
177
144
171
179
181
228
170
223
170
223
181
204
135
150
208
150
202
208
171
170
172
170
123
112
150
121
150
158
179
137
225
219
164
150
127
177
135
193
112
112
121
192
181
168
208
242
208
112
208
150
226
115
255
144
231
219
250
121
124
187
174
121
223
179
181
150
165
171
209
159
192
208
228
121
128
208
115
182
228
167
112
241
171
112
208
166
217
186
214
208
130
193
121
275
228
150
115
147
150
226
167
137
112
121
181
189
150
203
115
172
156
208
150
158
201
217
208
181
112
150
194
176
183
150
172
193
192
208
228
136
159
210
112
150
150
158
121
150
194
176
186
112
275
167
167
220
172
143
170
137
194
137
136
214
170
112
194
147
174
245
208
170
186
112
156
121
276
147
121
195
123
201
220
121
192
124
172
202
112
205
208
158
207
171
176
212
112
172
220
208
123
150
158
172
121
156
112
194
219
123
150
211
150
210
207
186
170
176
243
139
112
172
181
174
112
170
168
232
112
150
210
164
161
115
229
112
207
112
123
150
112
172
150
172
167
112
137
179
181
167
121
231
174
112
147
174
211
171
254
202
156
171
168
181
112
121
234
212
193
160
164
196
172
239
194
181
136
218
226
194
150
244
187
219
236
212
150
150
150
150
194
150
174
150
150
220
150
121
181
168
128
167
233
170
187
150
167
172
157
124
216
201
172
233
170
247
121
165
202
137
208
167
202
194
160
189
234
112
156
250
121
164
181
237
270
191
208
159
153
194
121
150
112
150
150
170
150
150
112
172
176
147
237
237
147
249
172
207
215
112
115
121
121
166
121
226
136
240
175
159
150
201
164
172
236
137
252
214
218
137
137
186
201
237
112
171
159
164
157
299
193
152
214
217
218
136
206
150
218
181
172
194
192
171
170
165
147
193
171
147
168
172
136
270
112
201
208
170
171
263
112
121
193
150
157
164
121
170
214
171
112
112
112
214
137
203
188
150
167
167
171
150
123
197
187
170
181
162
176
250
121
150
231
150
172
208
112
124
150
225
112
194
167
229
147
170
121
170
143
124
229
145
150
225
236
172
112
167
237
112
181
165
186
168
112
150
168
174
112
123
123
150
186
121
252
112
160
112
112
193
208
167
112
159
150
150
112
228
153
150
170
150
208
193
192
208
209
136
207
177
165
186
175
150
137
150
236
208
135
150
136
150
137
150
235
163
260
150
112
208
187
185
217
168
194
267
242
168
115
167
219
150
203
165
121
170
112
205
150
237
121
229
195
124
172
190
228
171
150
172
159
121
112
243
193
150
208
165
176
263
167
231
150
121
150
121
208
208
172
228
228
150
150
170
112
164
112
170
187
112
150
172
115
150
172
212
210
158
112
220
112
124
123
193
170
172
170
115
150
170
150
112
226
192
165
194
226
228
179
163
171
121
172
186
164
167
208
121
112
121
121
176
207
226
167
150
174
124
194
150
186
172
121
150
232
112
194
167
224
112
194
194
123
202
170
202
181
128
112
186
123
225
233
121
170
121
251
187
208
172
150
218
172
159
150
112
167
160
208
112
170
170
135
279
208
121
146
112
112
192
176
112
112
167
121
121
208
112
179
150
121
165
158
137
192
167
123
192
210
121
150
193
167
112
170
170
209
112
174
183
171
150
135
152
150
159
182
121
189
124
112
112
135
124
150
150
210
195
227
143
235
150
193
210
175
150
193
231
218
208
209
181
112
167
152
150
123
136
202
223
137
149
176
147
121
156
192
270
150
194
121
171
171
194
204
208
121
112
147
181
167
112
210
170
150
193
147
150
121
228
231
121
246
217
121
150
214
210
167
150
150
176
136
206
112
171
174
216
230
165
191
210
162
195
167
146
137
219
112
194
150
216
164
121
193
135
194
172
242
172
207
112
201
115
136
210
172
194
150
208
208
121
229
186
121
150
115
150
207
112
170
143
150
184
208
172
150
175
208
147
210
257
121
229
177
143
112
171
147
210
278
208
115
150
162
175
158
172
167
160
112
112
160
137
112
187
208
121
121
186
123
123
174
195
172
112
208
220
187
157
158
136
159
150
121
244
168
192
115
220
167
172
160
112
208
219
174
121
181
189
168
164
214
233
299
121
150
150
150
167
228
194
161
198
150
186
150
194
255
220
267
172
265
160
164
257
112
121
156
158
263
202
174
121
210
229
172
150
164
170
128
150
170
184
228
150
176
150
208
112
112
181
150
172
210
228
215
123
123
135
135
121
136
112
175
205
150
112
226
150
205
150
150
150
121
219
112
216
229
167
112
112
158
150
208
170
194
255
160
194
174
167
208
208
165
203
137
255
115
168
121
135
171
121
217
208
150
170
203
150
195
297
150
194
176
199
172
208
174
150
112
208
226
112
202
115
222
172
210
112
115
195
152
121
112
171
187
121
194
160
208
165
150
150
167
175
203
150
150
112
219
208
121
181
121
217
187
250
219
208
121
167
171
203
112
168
208
219
208
143
257
115
167
172
159
195
131
150
121
172
263
181
170
167
112
121
208
236
187
208
112
238
165
243
207
208
150
207
121
150
112
210
232
172
147
167
201
150
195
208
212
156
121
112
239
167
150
230
167
250
174
208
121
121
156
161
172
121
135
150
174
121
176
112
213
112
123
238
205
177
144
135
220
208
121
210
192
194
150
171
168
176
144
179
115
172
123
150
121
136
217
270
220
112
216
135
208
164
203
260
190
136
226
207
112
168
147
112
147
112
195
168
150
230
181
195
203
186
172
123
112
168
165
264
194
210
179
121
112
150
160
150
150
112
159
165
209
239
186
194
112
150
112
170
208
186
212
130
216
112
237
195
237
112
177
150
164
121
205
176
171
121
177
150
123
167
150
158
150
121
112
220
147
123
158
130
172
150
181
170
220
121
164
220
205
228
187
164
170
181
220
112
159
121
192
232
284
150
208
121
255
172
150
185
193
121
229
214
160
237
204
150
203
208
186
158
210
226
152
179
226
150
172
112
121
112
220
137
112
208
173
112
208
186
260
197
208
206
216
179
136
172
112
177
176
167
150
186
158
150
186
150
137
187
186
173
257
175
172
123
123
136
170
220
172
243
215
112
171
194
231
159
172
121
158
274
212
150
150
223
181
150
150
121
112
229
167
150
250
141
165
170
121
210
158
150
112
182
164
147
164
121
147
123
165
186
208
232
208
121
137
112
170
150
181
165
276
130
171
121
121
231
217
164
112
170
115
115
208
112
152
205
238
212
182
121
250
229
134
172
150
181
121
144
158
208
121
167
214
193
172
210
195
150
150
172
177
186
121
167
177
170
112
182
242
112
171
130
164
150
172
171
112
210
150
206
220
193
112
181
164
172
202
276
208
150
121
302
128
203
232
195
123
214
121
123
112
146
165
231
208
121
135
150
121
170
172
167
121
150
171
267
220
165
115
177
192
208
150
167
181
136
137
152
150
219
172
219
150
112
150
228
208
112
238
212
176
176
150
181
128
208
205
165
170
137
150
167
121
121
236
112
136
210
112
143
187
150
152
242
156
164
159
220
167
121
159
147
220
193
208
172
181
192
170
115
232
121
218
159
161
150
112
176
167
209
187
167
181
186
210
178
112
193
231
130
121
201
194
195
182
187
112
170
165
201
231
170
208
259
121
112
150
112
123
150
121
259
229
196
168
212
176
123
121
165
150
112
124
230
121
172
160
137
121
112
112
156
220
217
150
210
177
123
121
135
164
150
156
165
150
150
236
121
181
168
112
150
208
250
208
220
208
130
165
143
190
265
150
208
176
136
121
121
190
112
212
219
237
255
243
150
220
167
165
212
172
176
171
217
150
160
171
167
255
112
250
205
228
171
128
150
112
150
123
208
225
171
150
168
112
209
150
208
212
181
112
259
175
174
194
194
121
176
290
170
130
208
135
203
167
121
167
112
171
167
194
200
150
136
170
128
112
220
208
121
171
193
147
137
121
112
150
203
172
171
168
255
231
202
167
150
218
112
187
189
123
150
150
219
174
185
128
168
195
112
176
207
165
172
172
193
112
167
147
170
135
150
164
219
255
157
135
186
181
168
226
208
112
123
112
156
189
150
115
170
208
194
182
181
170
172
259
123
217
206
228
150
202
150
121
193
177
165
123
112
208
212
193
150
124
192
124
217
233
172
150
121
150
152
165
249
147
193
112
216
250
219
152
115
130
210
150
160
208
123
195
202
195
150
170
136
121
133
150
254
167
172
164
143
203
170
208
164
115
172
172
263
171
170
255
112
170
207
137
194
150
212
156
170
215
211
255
165
150
181
181
187
112
112
233
150
172
237
172
121
167
112
150
137
121
167
168
171
170
178
146
167
172
150
194
150
181
208
152
234
137
150
130
194
176
237
195
209
186
131
212
172
136
124
193
172
192
165
150
121
198
186
203
150
112
143
231
203
167
235
172
112
176
160
208
208
171
121
202
239
121
112
150
201
112
171
150
210
239
181
186
121
210
150
150
115
201
226
231
187
112
112
121
171
176
208
194
205
178
150
186
192
208
214
176
130
176
170
198
136
243
172
176
112
112
194
203
194
156
262
135
214
164
165
158
158
175
167
112
165
171
150
156
194
223
172
121
176
121
168
177
268
209
144
255
192
239
208
172
192
208
171
115
158
170
177
174
280
172
112
147
190
150
192
121
123
168
150
167
112
171
121
150
176
235
177
208
121
112
150
121
179
136
186
150
150
150
135
112
192
172
275
150
242
223
222
171
112
215
124
208
207
194
160
167
194
208
171
226
212
121
150
241
181
170
150
210
136
177
115
220
193
170
150
150
255
202
135
189
112
161
112
172
171
150
202
167
174
112
208
121
172
165
143
172
183
170
239
228
150
152
193
170
202
187
112
208
165
195
143
220
147
189
150
150
208
194
112
229
170
150
197
194
150
293
170
217
193
123
194
255
150
159
136
264
168
150
178
172
170
136
167
157
220
188
128
150
112
137
181
167
207
197
171
143
121
112
175
197
213
223
191
147
202
208
172
121
208
171
253
165
112
112
195
112
115
112
156
156
264
168
231
150
137
150
187
150
177
187
172
165
201
112
205
218
236
171
181
193
115
226
208
136
165
136
185
150
152
115
214
210
172
171
206
181
297
221
160
112
195
150
150
176
123
150
172
237
178
167
202
194
208
112
137
123
112
193
238
121
170
150
121
112
170
121
167
112
121
123
208
112
175
181
170
276
112
150
202
212
172
196
211
195
181
150
156
150
192
158
172
121
150
115
121
179
172
218
193
234
170
167
123
112
208
150
159
170
160
167
112
150
220
208
112
218
208
130
124
167
156
172
160
150
236
152
201
208
165
259
195
217
175
121
135
167
204
160
228
170
208
143
128
201
277
297
128
121
228
165
170
170
171
208
220
121
239
167
115
121
232
174
165
134
112
208
150
170
172
112
172
167
208
186
168
150
121
115
172
221
208
112
212
137
212
212
150
112
193
150
112
172
121
136
170
168
121
205
171
208
171
176
172
161
115
112
112
170
253
150
135
165
115
115
239
147
215
112
112
112
176
186
176
168
193
157
130
208
174
112
172
152
112
176
112
150
227
195
115
165
203
172
124
239
215
121
172
208
203
121
208
136
143
112
228
196
128
193
231
159
182
192
201
164
121
121
112
198
195
121
121
218
135
150
184
192
150
177
209
159
171
232
172
160
171
207
167
123
123
208
112
219
187
208
112
181
150
146
150
208
150
121
272
137
150
219
181
136
212
177
195
115
112
159
121
172
195
112
172
174
150
209
112
135
186
168
112
123
196
112
186
150
210
181
208
150
182
194
167
244
226
170
209
212
194
225
150
232
130
186
160
158
121
231
171
147
185
215
135
181
170
203
123
130
171
112
112
228
172
121
150
136
187
203
112
112
185
220
193
176
170
302
189
228
121
112
170
167
144
172
121
181
159
167
121
194
167
250
172
230
216
172
171
228
201
137
185
172
159
195
112
202
150
164
137
202
150
121
150
250
136
212
121
165
176
208
171
121
121
150
137
123
167
210
204
208
121
171
177
174
194
228
112
194
202
201
112
208
232
135
121
194
177
212
239
205
219
123
221
170
297
121
150
150
121
228
196
137
172
228
121
190
112
150
112
170
172
171
150
150
278
121
212
159
170
207
237
112
121
181
275
170
208
200
208
121
112
167
203
264
112
212
176
193
136
167
121
212
160
220
210
123
231
165
186
223
223
112
202
170
208
150
112
136
137
174
150
170
245
226
204
277
246
150
165
171
123
150
237
206
172
184
184
177
156
150
202
147
171
255
160
200
208
112
203
208
121
112
112
172
112
171
121
165
158
115
123
208
305
160
167
121
302
175
208
123
210
255
172
170
208
167
246
208
181
194
121
164
208
112
150
208
181
217
165
208
128
208
144
240
112
271
130
228
121
206
202
121
112
272
112
165
186
137
205
217
112
150
195
121
123
173
202
112
165
207
171
167
171
121
177
239
255
210
168
181
173
112
240
150
159
179
208
152
213
263
211
144
150
222
121
112
124
240
278
175
121
162
160
225
136
112
162
178
216
194
128
181
121
170
201
173
194
228
135
202
229
208
196
202
194
181
208
207
165
112
175
201
170
112
212
172
172
202
239
167
124
150
186
170
130
263
170
176
121
238
167
128
176
121
171
220
150
189
219
206
172
115
137
240
203
115
189
176
253
112
177
112
170
150
112
201
218
150
171
121
172
172
150
219
207
172
123
218
165
202
194
112
167
172
210
207
137
170
150
203
131
112
172
231
217
176
160
232
245
150
232
231
184
194
124
226
124
136
144
150
172
208
208
235
208
167
199
170
212
150
170
112
172
225
168
150
124
171
208
250
171
220
130
237
187
172
123
208
203
170
231
136
135
150
165
168
112
175
202
172
232
159
185
171
208
197
150
112
212
208
231
150
171
193
181
167
181
150
194
147
121
199
121
195
172
224
226
186
167
159
112
170
170
168
150
203
167
128
150
165
150
220
170
174
112
130
172
170
170
123
210
137
203
128
112
170
193
112
202
136
194
121
276
205
121
174
181
242
112
168
207
112
241
112
150
170
167
258
239
186
250
270
175
150
201
203
176
150
150
174
186
172
128
186
187
172
176
112
121
112
209
147
225
150
211
150
177
192
208
186
135
199
208
232
150
128
171
112
210
112
112
208
121
187
121
150
121
235
202
202
259
181
220
112
167
184
177
167
205
177
167
202
134
112
239
123
112
123
112
170
215
150
203
186
212
239
208
150
173
150
121
208
121
193
170
188
228
167
136
171
121
159
121
121
194
181
229
115
176
150
187
167
165
121
202
170
112
112
209
176
194
112
208
123
174
176
150
226
150
208
212
158
150
250
123
170
112
112
181
171
150
212
176
167
250
210
208
196
218
249
167
112
276
186
121
262
179
210
181
121
243
112
150
172
178
157
173
121
165
147
194
186
150
187
123
194
228
146
146
150
194
121
195
194
150
130
147
112
202
238
162
210
150
170
150
237
112
156
174
168
167
150
150
150
186
112
181
193
124
123
167
186
186
150
176
172
223
123
212
234
275
195
150
170
158
150
128
112
208
215
121
186
174
137
163
167
228
220
124
172
150
208
165
208
150
208
201
263
112
192
112
211
112
170
250
190
172
194
210
235
200
255
181
150
170
150
121
121
176
165
121
178
150
176
150
186
158
170
121
235
250
150
131
255
144
172
137
115
171
147
200
194
135
176
165
115
208
220
144
167
112
137
168
150
218
135
208
195
167
172
112
150
192
167
164
172
121
150
172
171
121
150
208
123
121
147
112
188
167
196
228
121
167
121
198
171
172
115
112
172
208
170
196
121
172
112
152
150
167
164
229
195
112
195
150
228
176
121
181
201
220
121
112
112
187
171
170
112
246
112
194
208
228
172
112
160
299
192
112
150
176
208
198
112
175
193
192
121
112
171
170
224
187
121
262
189
160
143
112
226
121
171
172
150
206
112
192
112
170
172
210
150
236
228
231
172
137
208
121
112
302
216
237
150
112
170
190
194
240
177
238
121
150
165
137
121
208
112
123
216
112
167
123
170
231
121
284
183
121
172
226
150
170
179
170
208
171
172
250
161
202
176
271
112
276
205
123
150
147
150
150
170
186
121
112
137
121
177
136
127
167
112
172
194
121
135
152
112
159
123
152
237
150
160
171
211
170
158
194
203
160
272
194
112
186
143
215
158
172
123
121
143
271
176
187
172
150
123
212
150
233
112
194
211
215
237
194
112
165
233
205
302
112
112
237
172
268
121
112
112
193
124
164
208
181
219
150
228
218
150
181
208
246
115
150
135
143
203
212
181
121
123
236
238
158
187
170
171
165
150
204
201
209
137
212
170
302
121
160
121
150
123
174
208
150
288
172
172
171
171
121
121
170
156
246
247
231
227
112
160
238
150
143
217
246
201
196
208
170
121
147
210
228
184
208
150
183
170
229
196
112
174
150
135
167
181
174
210
250
228
193
124
150
167
212
203
171
167
201
171
208
187
147
170
208
150
302
242
235
121
182
186
193
150
208
218
112
150
208
208
197
135
171
112
181
176
112
240
121
195
174
214
250
293
121
237
165
201
121
121
206
172
195
137
195
220
130
263
135
136
150
192
249
112
115
191
150
216
121
167
168
115
165
171
112
112
193
121
195
208
112
179
147
123
194
112
121
172
165
231
130
208
150
175
171
165
123
255
168
130
277
228
137
121
192
176
217
136
123
200
200
153
208
239
208
135
177
150
217
176
174
197
150
208
150
208
172
150
121
228
239
213
121
121
208
202
170
239
170
231
167
121
146
195
293
206
218
208
192
150
255
237
150
112
112
193
172
150
177
124
198
121
171
121
196
165
165
128
170
192
165
112
210
166
208
193
202
178
167
160
217
112
181
121
208
174
254
292
150
147
247
208
165
229
208
139
181
167
166
121
150
184
227
159
150
171
112
194
121
150
171
159
187
150
205
181
171
112
181
195
164
179
150
208
184
203
195
164
150
164
150
181
167
208
175
181
210
121
194
205
203
181
208
121
137
123
217
112
137
233
297
164
186
210
208
123
171
276
171
189
278
202
124
220
172
112
205
150
165
174
121
171
173
172
156
240
170
171
208
112
208
174
194
168
123
210
162
201
212
167
203
216
186
182
159
255
172
220
187
164
171
112
172
187
256
193
205
176
123
171
121
206
112
225
208
150
193
208
202
167
121
171
184
172
115
226
214
195
174
164
254
112
193
172
121
190
208
208
171
210
235
165
139
112
228
150
202
165
179
250
172
159
135
228
208
172
239
208
245
146
217
205
239
237
112
176
241
156
156
208
145
237
150
268
121
112
121
150
152
240
236
121
189
112
213
150
150
219
150
172
176
170
208
228
172
192
170
136
211
165
121
165
217
178
208
170
176
237
186
208
170
164
150
121
167
170
171
192
202
186
159
174
220
172
195
242
123
186
159
194
207
167
242
237
187
147
182
208
193
289
112
136
123
194
112
121
223
193
112
230
208
194
171
159
172
239
170
171
135
168
150
112
250
235
228
223
186
167
172
165
121
231
150
176
171
175
227
135
178
153
206
171
150
172
208
235
170
145
150
208
199
121
195
233
182
165
165
218
291
135
121
135
167
219
217
186
166
176
156
167
123
167
150
255
172
112
156
208
202
223
170
219
194
263
218
186
112
150
171
281
150
181
224
193
186
172
112
170
150
176
124
150
210
115
121
137
137
172
147
194
150
220
184
156
121
167
208
165
181
219
172
172
224
223
112
136
172
170
112
172
112
202
174
166
176
175
130
170
150
219
165
171
137
171
217
112
208
192
112
208
164
202
206
150
227
150
195
194
219
195
121
213
121
176
170
244
150
171
150
172
220
165
167
207
208
121
172
181
160
150
168
171
112
219
177
237
240
167
252
121
164
115
171
170
173
195
210
150
207
225
159
214
135
208
170
208
174
123
121
150
147
172
150
171
228
253
192
112
275
112
194
263
171
181
250
161
170
150
137
184
203
156
167
178
165
186
215
121
196
200
213
135
167
216
218
123
228
150
228
112
171
158
181
177
172
170
208
222
195
167
112
112
112
150
112
212
217
203
137
136
150
208
193
208
121
150
167
121
121
136
150
112
150
177
194
121
208
194
112
177
112
150
156
213
136
167
235
171
171
257
112
147
222
150
176
165
171
112
167
150
170
150
156
137
176
112
208
195
135
167
208
228
135
112
150
121
152
115
165
190
171
186
115
242
276
112
195
167
213
160
147
121
201
176
171
231
121
171
130
121
210
247
208
172
172
112
112
187
203
167
208
232
208
203
121
181
112
156
201
186
208
150
204
136
135
208
229
208
225
121
150
206
267
195
150
257
201
112
150
167
259
128
164
223
234
208
228
193
208
112
203
160
194
171
194
226
208
195
205
150
223
150
195
150
233
150
172
181
130
193
214
194
219
112
175
146
167
195
202
194
112
176
112
121
150
112
176
150
230
218
121
124
167
208
243
150
136
128
208
123
196
177
137
208
187
172
211
167
210
112
170
213
195
172
177
150
230
177
165
208
203
165
179
121
121
150
237
112
137
150
208
202
208
174
263
176
243
179
187
186
165
244
146
150
172
137
167
195
136
208
194
172
196
194
236
132
219
123
278
165
234
220
156
195
128
276
112
152
175
194
170
150
194
186
121
112
150
123
121
172
181
209
121
170
150
167
219
212
150
195
249
174
181
136
170
212
112
187
237
190
169
115
179
250
196
167
172
170
187
228
220
123
181
228
123
208
181
136
165
152
150
164
194
201
208
176
208
172
210
123
231
197
190
150
182
159
251
137
176
150
150
121
165
245
152
112
165
186
121
193
193
123
165
225
135
302
167
207
237
167
112
201
176
112
230
212
177
112
232
150
205
135
170
205
150
167
170
228
170
170
150
208
136
194
121
147
137
168
210
167
159
181
121
112
178
235
172
174
121
195
237
171
158
228
226
172
172
150
220
112
172
250
201
158
218
150
186
124
186
172
181
121
205
176
121
192
160
150
171
121
150
150
208
177
167
193
121
150
164
170
150
150
150
171
112
170
186
150
203
150
213
232
121
202
201
231
112
112
208
172
174
112
159
150
167
150
143
235
167
167
165
112
237
239
170
172
215
156
181
121
202
112
208
196
150
112
210
243
263
246
160
172
254
150
150
131
193
236
171
167
157
115
184
121
121
136
174
115
171
115
186
150
150
181
214
219
121
181
135
165
174
158
150
216
245
217
150
123
193
208
207
179
194
181
121
112
172
112
112
167
157
121
137
170
121
123
128
167
135
181
176
232
193
112
172
121
171
194
167
150
187
158
150
112
192
150
150
195
150
137
170
165
159
112
112
112
212
205
159
167
150
156
176
171
208
147
112
181
147
150
121
209
208
172
128
193
136
150
150
170
112
112
170
112
170
240
220
235
121
150
208
208
150
123
200
150
170
124
115
168
150
212
195
239
194
112
195
171
165
150
203
159
236
186
121
201
158
202
172
159
112
112
187
202
193
187
121
231
172
115
112
220
195
235
165
112
112
208
194
121
181
228
150
167
150
150
150
150
167
136
150
187
181
203
218
150
150
112
208
219
150
141
208
271
165
167
134
201
167
137
121
177
112
112
170
195
150
136
167
112
150
150
176
249
181
115
257
186
187
172
165
194
112
157
135
150
167
193
150
150
174
187
157
213
193
268
187
194
187
112
152
192
121
150
150
186
150
157
112
121
112
209
121
115
121
150
242
203
135
208
218
165
229
212
150
250
187
167
172
172
170
186
152
136
150
192
208
270
124
150
181
150
186
230
123
207
112
231
135
112
170
193
188
123
236
115
170
247
234
158
208
192
112
176
236
222
172
171
158
139
181
231
194
121
239
112
175
112
170
150
150
200
123
167
196
172
208
237
121
243
233
136
170
172
200
167
121
195
208
172
250
112
176
193
135
238
167
150
201
217
164
250
168
195
112
112
121
112
210
123
233
112
121
121
171
135
112
236
144
181
147
123
123
242
176
208
193
135
164
170
208
202
181
170
193
230
112
121
112
121
195
172
181
217
205
112
112
170
194
150
112
302
158
150
150
176
112
250
189
218
237
150
272
209
212
170
176
167
121
156
218
236
210
121
121
218
171
210
202
172
152
165
201
172
243
121
112
121
150
150
112
145
150
123
112
121
136
150
112
159
208
219
150
205
208
208
186
239
223
193
159
184
172
167
178
150
220
172
231
143
121
157
225
168
217
150
186
193
202
136
172
206
112
210
150
137
167
112
150
127
112
156
167
167
124
163
150
210
171
268
172
130
233
258
193
186
170
232
165
167
150
150
186
233
112
121
150
136
112
208
121
172
176
236
240
210
194
156
172
255
217
165
112
257
150
238
112
135
208
167
208
112
121
158
174
112
147
219
150
172
136
168
150
246
212
165
255
181
165
170
208
167
152
164
174
194
167
165
288
232
172
205
174
115
164
217
208
208
181
200
181
150
182
121
177
170
121
150
112
150
192
302
130
150
131
209
135
215
208
187
255
229
121
297
215
208
226
121
228
174
121
181
121
186
136
186
202
186
150
173
150
158
208
112
205
201
121
150
112
121
121
123
194
121
176
193
212
228
201
176
164
267
232
121
179
164
224
150
255
165
112
167
150
112
150
236
165
203
193
228
220
135
150
172
121
139
150
208
212
136
112
135
212
121
158
150
150
136
167
181
189
208
167
181
121
276
150
192
171
194
216
276
192
135
175
159
235
123
195
237
172
150
193
158
121
167
167
228
217
128
159
174
184
112
233
112
168
150
233
217
172
173
130
165
172
150
173
121
244
178
172
174
172
192
165
112
112
171
112
164
150
205
150
170
171
150
136
181
210
215
121
210
212
186
136
123
123
176
150
215
167
218
216
202
228
266
112
312
225
185
112
263
170
112
112
165
263
226
150
208
224
150
208
230
194
225
157
115
150
150
171
135
112
208
207
150
112
233
220
121
172
239
231
195
171
121
171
171
172
121
220
115
150
112
167
147
189
147
150
170
123
165
172
172
299
112
174
164
170
150
172
215
172
135
175
150
179
194
237
232
150
172
217
150
167
172
112
170
121
158
259
192
112
243
112
150
167
214
167
150
178
150
112
167
112
302
181
112
210
123
228
121
168
123
147
212
150
147
121
123
175
123
167
112
121
162
208
158
167
232
272
194
181
112
121
210
164
115
158
121
209
246
228
134
150
181
172
150
152
193
167
176
150
147
176
201
123
165
172
194
171
161
177
128
150
186
131
208
130
121
150
150
112
121
112
150
112
225
186
187
263
168
121
172
179
171
130
226
147
189
175
171
176
150
152
167
174
202
194
150
150
123
186
228
112
226
150
137
179
187
150
156
175
150
121
212
159
237
124
150
112
164
194
165
201
165
121
202
150
172
150
165
115
200
121
170
186
135
211
243
150
225
112
302
167
121
167
208
208
124
135
112
208
228
217
177
144
135
150
112
243
124
208
150
219
214
135
150
170
208
121
208
176
165
150
112
208
171
137
208
175
121
278
205
147
195
203
161
171
234
257
121
174
212
150
208
175
212
202
220
302
136
115
121
192
194
181
159
159
167
181
223
252
234
170
226
167
179
165
208
162
194
150
167
192
186
121
121
205
150
181
214
168
229
135
112
150
227
158
150
181
121
152
240
274
175
150
159
265
112
112
247
220
150
112
150
123
171
226
172
172
167
124
112
170
250
150
206
124
181
123
172
112
168
112
150
181
176
218
171
167
201
232
121
172
137
158
174
228
211
220
193
153
207
244
136
112
211
144
135
249
112
121
170
172
243
202
150
220
121
233
279
172
160
150
181
121
150
297
165
176
177
181
192
172
175
209
210
152
112
123
266
115
137
112
236
208
192
121
115
263
225
167
172
234
170
218
239
150
225
150
112
208
150
208
250
176
204
186
201
159
176
250
150
228
208
240
161
213
250
124
124
121
237
220
150
160
150
150
243
143
172
121
210
150
239
123
172
172
169
231
112
210
193
167
112
143
240
144
233
150
165
165
200
150
123
204
250
172
160
208
214
160
170
172
172
150
167
172
228
194
150
170
220
170
150
236
205
176
208
234
192
121
137
211
121
163
112
235
170
150
150
135
237
201
207
112
176
165
147
137
150
250
112
240
121
252
150
233
165
150
193
121
123
112
165
112
171
228
176
192
136
170
177
172
172
167
112
123
272
150
135
208
123
195
112
112
112
147
124
137
123
112
220
152
141
112
172
170
213
150
231
250
167
223
150
202
160
121
214
121
172
231
181
195
228
239
170
237
171
175
115
135
165
170
280
208
194
176
165
172
128
202
150
167
135
194
150
202
135
212
217
172
175
228
187
150
143
232
208
135
257
228
150
186
121
206
208
115
150
172
186
156
164
218
150
112
234
137
167
237
228
170
172
115
170
232
112
172
150
193
220
210
150
205
170
121
172
150
223
167
112
225
112
210
150
121
168
170
159
121
182
158
165
174
215
235
168
115
241
162
167
112
208
213
150
212
164
275
147
177
242
195
186
170
112
112
167
208
174
170
147
174
181
167
135
194
165
212
121
172
136
150
177
232
201
143
205
208
112
112
161
150
157
165
208
181
187
139
172
167
150
182
121
121
193
299
112
157
223
195
123
124
167
208
172
262
112
225
112
194
136
172
178
150
184
172
203
150
204
150
172
172
178
218
121
135
190
152
172
150
195
232
210
170
121
121
150
112
208
208
208
208
165
135
150
170
174
167
179
220
143
209
268
124
123
202
172
179
172
210
182
167
208
172
112
115
187
167
165
167
172
112
123
189
147
177
135
226
226
170
115
121
143
160
147
186
137
150
150
144
170
216
257
165
181
123
150
121
167
150
168
112
195
112
121
247
121
176
121
195
228
112
112
150
214
208
112
287
226
147
168
121
150
228
172
136
121
121
164
237
123
218
161
210
165
159
112
135
193
115
190
181
150
225
193
115
150
178
242
121
143
137
121
172
160
121
143
219
158
115
150
194
167
212
193
181
112
121
164
207
158
201
112
208
172
217
201
135
276
112
143
195
123
165
208
167
215
128
203
181
218
210
212
115
159
123
147
172
170
171
164
121
213
181
112
202
264
232
128
156
229
241
172
261
166
185
177
218
196
152
164
202
176
223
202
123
121
150
186
177
137
121
167
121
176
121
123
112
281
150
150
205
124
176
167
205
164
187
219
194
208
147
194
265
112
165
230
112
215
121
124
208
272
227
187
150
228
207
135
121
182
159
208
112
228
121
199
172
170
242
150
150
112
172
112
240
156
167
228
123
218
150
121
121
136
208
150
195
172
167
170
121
170
160
205
187
201
177
167
167
261
202
232
150
175
160
146
121
204
208
147
201
112
135
201
112
150
186
176
210
172
232
272
201
208
218
212
197
167
202
165
121
228
112
208
165
164
342
175
276
167
240
208
226
172
233
115
203
158
217
220
239
123
217
228
214
150
177
112
170
123
171
213
208
172
150
165
228
228
150
123
121
201
124
239
204
199
150
297
112
112
171
231
152
240
172
172
206
171
157
229
242
150
167
121
230
112
147
112
135
112
208
181
121
227
250
112
112
167
112
165
150
167
121
150
150
167
170
190
243
208
170
150
206
218
150
227
121
208
219
121
152
112
237
222
253
195
181
232
123
121
146
150
172
143
112
112
208
150
121
228
150
223
218
189
228
181
171
150
124
231
170
187
241
112
174
242
192
209
202
144
237
112
137
130
162
193
172
189
172
121
208
171
165
208
199
167
186
112
165
212
172
207
226
150
258
175
239
145
177
201
121
137
171
150
150
121
194
194
123
121
112
171
204
255
194
150
158
170
177
176
172
263
156
170
121
195
123
225
181
170
176
150
167
174
172
220
130
150
172
165
240
219
159
112
150
208
172
208
112
261
202
171
165
172
112
172
228
150
228
150
162
112
237
193
201
186
208
121
112
249
121
158
228
158
255
212
203
121
159
208
159
202
290
228
112
112
123
150
202
233
150
130
121
170
121
167
266
213
150
208
130
167
152
150
150
171
150
201
203
193
229
112
220
217
209
205
212
187
210
150
210
165
112
124
150
112
164
130
124
172
123
130
159
115
165
181
150
150
150
202
246
217
167
174
288
264
172
150
167
167
112
201
174
167
230
112
237
112
226
150
274
135
171
112
135
170
115
165
156
136
112
235
170
208
184
123
192
175
197
167
123
150
199
194
112
208
112
186
201
150
150
190
170
173
195
150
123
208
193
164
187
150
259
135
175
266
150
143
162
150
160
194
150
194
121
177
164
135
195
168
196
235
171
170
176
228
201
237
203
112
232
112
139
128
112
240
176
181
112
234
112
112
152
145
203
136
158
194
172
167
123
152
175
193
234
189
181
150
150
164
231
112
150
171
165
150
209
187
229
112
121
150
159
123
112
203
167
112
167
238
177
237
112
289
194
194
225
228
208
171
112
150
174
150
150
121
172
218
278
150
235
150
158
208
194
192
165
201
192
121
206
112
220
112
298
176
112
177
158
245
231
270
226
208
123
115
228
212
121
210
172
112
172
123
206
195
216
150
208
186
150
171
240
170
121
207
137
240
150
136
160
212
201
201
139
208
164
112
210
195
168
186
123
150
208
172
170
202
208
164
172
220
121
124
150
112
167
112
229
208
112
172
136
196
172
147
209
231
136
172
172
136
150
193
172
112
194
232
208
181
192
170
150
144
239
121
237
229
206
217
170
196
187
177
302
112
167
206
112
124
159
112
186
194
150
150
164
150
124
121
143
208
147
168
150
194
205
112
274
165
135
150
112
123
220
176
201
123
167
150
175
227
121
263
150
187
170
165
202
150
231
112
121
208
171
112
150
208
192
181
174
185
195
176
158
186
170
181
165
206
281
204
136
112
237
202
165
181
150
201
112
112
123
150
150
219
170
222
156
176
150
121
170
150
202
201
160
121
217
201
208
255
150
164
167
158
170
150
211
179
179
121
208
176
123
172
112
170
121
136
210
137
121
167
184
121
150
150
121
167
167
112
194
258
121
131
124
210
150
143
150
167
181
216
203
112
150
205
186
228
112
263
112
135
150
121
195
172
112
121
150
171
123
112
121
165
115
208
159
193
243
165
172
121
237
194
123
164
150
178
197
202
112
193
204
131
123
112
172
174
147
150
168
187
208
112
208
244
172
186
177
172
193
121
112
244
150
210
181
228
150
172
176
136
112
121
170
136
160
190
194
170
121
171
210
152
187
150
135
147
208
167
208
213
227
112
158
214
181
112
194
226
150
159
112
208
212
167
121
167
205
250
207
208
121
266
187
171
150
121
136
176
221
194
150
124
207
121
171
124
150
170
176
208
195
172
115
150
175
172
194
257
176
195
167
172
299
172
121
184
174
121
167
208
121
255
208
195
165
150
112
179
171
121
172
217
150
190
155
150
210
150
250
150
121
112
166
176
168
217
112
128
112
168
150
123
167
172
131
136
193
228
150
208
208
170
208
112
112
225
124
208
121
171
188
200
203
121
257
264
228
172
218
208
165
172
218
228
276
179
194
195
225
164
198
123
208
194
158
281
230
208
168
236
178
144
250
150
207
250
167
150
112
263
112
239
211
121
203
150
213
202
150
158
123
187
165
177
167
170
112
305
112
187
150
150
152
193
112
220
170
211
135
150
167
222
150
121
135
208
195
165
210
150
208
123
112
128
171
205
189
150
254
136
121
217
112
172
121
196
239
137
195
208
286
150
147
130
210
172
150
167
171
172
121
135
172
239
220
255
201
121
112
208
150
213
121
193
112
208
112
150
123
271
194
112
171
170
228
181
159
189
150
172
228
139
146
167
231
147
171
259
121
194
189
187
121
172
112
121
192
158
272
112
220
225
121
112
226
210
208
172
212
225
112
172
225
167
150
115
239
194
172
123
171
176
150
158
150
187
245
210
170
260
165
112
210
170
167
165
233
135
156
167
229
121
112
192
150
147
186
172
123
137
123
195
150
168
123
112
219
177
194
212
158
156
112
193
144
168
150
232
249
187
123
121
211
167
226
150
228
172
226
176
147
164
193
193
208
172
297
187
219
172
172
121
194
171
121
158
150
156
208
232
194
181
121
255
208
150
175
160
123
170
176
225
219
202
112
158
172
137
192
210
172
198
150
171
171
137
150
165
112
112
112
302
167
167
176
115
181
239
208
156
203
150
112
260
177
137
172
243
225
213
171
201
150
124
112
121
218
170
208
229
226
170
261
150
112
150
226
203
112
128
210
194
172
239
150
112
150
193
201
165
121
167
121
112
208
121
135
170
112
150
112
115
167
259
182
164
194
124
202
167
150
171
112
201
218
186
172
179
167
165
112
158
207
173
152
150
217
208
130
150
186
278
167
150
115
181
236
172
136
208
202
156
121
112
234
124
235
208
202
194
121
176
192
195
112
193
179
207
187
205
130
275
121
209
147
165
150
123
208
115
172
121
115
174
160
231
150
143
181
167
112
186
121
194
123
193
150
147
165
196
194
278
172
177
193
171
170
226
174
150
208
130
150
150
244
168
175
150
207
178
123
121
121
115
166
171
255
112
231
172
112
121
112
112
171
165
237
170
172
112
164
150
112
165
225
210
176
160
121
150
150
194
164
121
172
200
121
170
171
201
121
170
150
167
228
205
193
196
112
161
153
112
150
124
167
164
176
174
187
172
150
112
181
194
150
208
225
171
137
212
302
189
112
193
194
167
200
112
150
135
194
195
147
219
112
176
147
164
253
208
150
150
230
184
208
150
136
208
237
150
150
121
112
150
165
121
165
123
208
192
250
158
207
150
165
190
165
216
195
174
150
170
203
159
196
137
150
147
176
203
208
212
167
210
159
112
193
171
179
172
150
193
250
135
121
264
202
112
160
112
112
208
194
121
240
143
234
218
123
171
229
172
194
150
205
112
186
213
165
199
123
121
121
220
123
112
159
167
172
150
230
112
121
189
207
229
121
112
226
231
167
112
121
196
165
170
112
167
112
112
194
186
203
195
123
171
153
121
112
131
167
215
121
171
152
147
137
121
219
208
175
231
208
112
220
182
172
256
192
250
229
121
112
218
177
172
136
239
238
112
167
208
150
170
121
150
185
121
228
278
231
177
172
203
150
232
187
172
150
201
255
150
167
112
208
121
238
112
150
150
185
176
232
172
112
186
212
167
194
238
159
150
112
208
121
187
177
215
250
121
202
112
193
199
217
172
150
215
205
171
210
150
147
167
172
150
232
234
150
168
112
137
207
208
187
186
112
181
177
112
265
186
187
172
256
143
150
172
157
220
150
112
121
207
228
121
194
165
165
232
186
112
112
112
130
214
112
159
137
181
181
171
121
158
255
228
194
228
112
172
207
219
250
189
229
170
202
121
135
112
123
194
175
192
123
150
237
121
192
181
171
136
150
150
232
195
210
187
218
170
281
143
172
208
167
201
150
121
136
150
137
208
152
195
243
195
187
112
258
152
121
207
176
161
218
165
172
233
176
112
207
237
176
124
121
172
172
205
239
190
177
186
165
159
168
172
150
112
177
176
112
150
245
181
181
135
237
112
164
198
115
246
136
150
115
150
135
166
150
181
115
243
187
128
181
253
194
225
229
231
220
112
173
174
219
150
150
115
212
150
193
165
208
237
242
192
203
172
112
184
171
237
172
121
121
210
176
137
171
186
121
143
225
227
181
172
208
278
112
112
150
150
217
112
170
195
121
194
112
150
195
176
137
172
121
220
218
225
186
215
150
241
172
187
254
171
112
207
208
152
208
165
121
165
208
150
112
212
150
150
167
112
189
293
112
241
137
112
121
170
210
150
226
181
224
174
150
193
150
156
176
167
121
150
237
208
167
208
165
124
112
228
123
210
112
132
196
181
260
236
186
172
195
181
156
124
150
209
203
193
193
136
121
121
210
165
252
112
208
187
147
121
121
150
181
150
208
196
159
121
210
176
237
158
203
112
172
179
186
121
121
135
237
251
124
226
195
176
137
218
147
272
135
128
214
147
195
176
194
167
196
269
150
165
121
150
150
181
137
219
112
174
156
147
130
220
171
158
228
170
260
121
112
159
214
167
244
136
123
208
170
272
135
220
167
167
121
152
175
171
208
194
208
172
186
205
170
170
170
121
192
210
121
228
208
123
150
150
198
171
150
165
165
208
215
206
210
128
177
230
228
176
150
212
150
172
206
172
203
278
233
130
159
112
164
123
181
205
123
112
150
208
160
175
176
150
243
147
150
156
211
121
203
123
135
228
121
194
208
209
216
178
156
216
150
123
123
181
121
112
121
255
136
170
217
194
121
167
194
112
228
201
152
208
184
123
115
181
121
130
150
208
124
121
242
121
156
164
121
150
242
112
186
172
192
135
215
194
193
121
121
174
234
135
165
228
167
112
208
208
193
150
184
210
195
150
207
112
203
208
237
150
192
112
112
237
121
297
112
202
158
239
242
121
178
243
170
172
228
226
147
112
112
203
168
112
201
276
150
210
112
112
150
194
181
194
230
215
311
195
175
167
135
135
193
167
250
170
167
213
219
174
203
170
248
170
210
263
158
156
150
172
112
121
153
177
272
170
208
121
170
175
121
220
170
175
121
150
121
112
172
147
216
237
211
150
112
112
184
135
193
150
137
217
121
150
202
193
123
165
276
229
123
170
121
194
167
250
150
112
208
177
184
150
172
181
208
160
121
218
197
158
112
212
208
207
208
112
164
121
241
150
150
215
172
150
147
195
172
208
237
201
170
195
276
112
112
223
208
165
212
212
228
172
131
112
170
213
176
150
150
212
186
257
172
137
160
171
164
159
121
195
229
220
231
176
208
171
208
258
237
176
112
170
199
170
181
176
115
137
115
187
150
170
112
250
115
193
123
201
275
184
172
230
165
150
152
250
168
232
193
187
135
112
255
249
175
150
150
186
112
167
112
220
112
195
212
112
165
288
150
200
150
215
212
165
170
212
228
159
240
156
208
216
164
294
208
167
172
207
175
150
225
121
170
250
213
230
137
255
112
205
112
228
176
121
112
194
202
150
208
121
123
229
170
115
167
208
186
208
112
112
150
150
241
177
195
112
225
152
176
150
123
212
195
176
167
208
195
228
192
160
124
147
112
121
237
112
205
150
218
208
178
172
150
234
150
112
170
121
121
208
121
208
218
121
158
150
181
176
172
172
170
150
172
175
195
135
198
112
150
215
123
112
158
181
121
170
176
208
115
112
194
115
195
150
194
150
121
165
230
143
170
235
186
208
186
172
181
228
147
171
112
112
121
150
208
167
172
167
170
150
167
121
137
121
167
121
171
123
167
271
175
150
121
210
137
121
165
187
150
170
167
150
176
170
208
228
177
167
246
121
255
165
152
228
167
143
112
168
112
136
176
112
228
112
184
150
167
210
259
208
130
172
193
270
208
179
165
121
217
203
178
112
172
213
177
112
194
208
167
208
170
210
259
150
156
208
172
167
112
150
193
121
137
201
186
115
172
121
137
208
167
121
170
150
179
226
212
150
172
208
192
172
150
112
173
208
174
150
165
115
261
170
121
171
237
150
121
121
112
192
167
121
181
115
175
170
212
193
172
112
137
131
203
212
168
167
269
208
208
198
229
227
179
165
171
215
171
143
193
161
199
264
167
184
158
115
112
195
187
150
192
263
194
167
181
193
165
112
112
170
167
220
193
167
150
229
121
233
167
215
192
167
172
150
229
219
201
176
167
228
170
173
201
176
172
194
172
150
143
202
208
112
137
121
150
208
237
150
186
121
208
172
150
150
170
176
175
255
194
147
238
172
137
208
213
170
195
112
137
137
171
210
231
210
168
230
147
302
218
136
121
220
177
150
208
175
160
210
158
112
121
123
239
165
167
150
209
136
150
182
135
172
121
150
202
173
195
208
147
150
121
162
121
112
228
210
202
150
171
112
112
208
172
194
182
174
220
150
150
176
112
171
231
124
254
170
171
207
215
112
165
195
156
164
164
192
112
156
176
121
194
181
112
150
136
121
208
121
208
186
170
170
203
203
150
220
218
128
174
167
150
194
171
156
150
238
203
172
150
195
220
189
213
171
176
147
172
171
135
214
194
172
167
194
167
219
137
168
186
208
156
159
208
181
181
112
154
193
176
123
220
112
192
200
150
194
164
194
245
220
121
150
181
192
121
168
150
177
150
215
171
171
192
161
123
174
172
121
170
181
181
161
165
150
112
137
176
187
194
192
208
124
167
187
115
217
121
176
164
121
112
112
150
121
210
299
186
150
170
238
150
193
172
112
172
255
112
115
250
172
208
172
152
167
158
150
176
212
181
112
121
112
200
202
220
167
150
258
244
112
172
152
167
158
218
305
121
150
255
207
167
172
130
228
176
302
170
208
112
212
231
195
171
112
208
220
186
187
150
229
121
150
112
231
170
112
112
136
263
150
219
193
150
177
208
185
150
112
150
163
208
192
150
198
170
175
150
176
123
208
208
147
170
208
212
152
172
224
123
208
112
112
136
203
121
194
206
208
195
165
215
167
172
135
121
150
179
146
208
194
112
170
194
252
150
123
265
170
156
271
302
234
121
209
135
150
192
130
193
112
115
190
202
121
137
175
189
194
187
208
159
123
171
208
150
172
112
175
147
150
130
228
208
112
172
147
171
176
160
290
187
172
146
159
150
112
135
150
187
172
115
170
200
112
171
121
167
195
186
257
112
236
228
112
130
181
208
228
164
150
171
150
112
217
181
167
130
218
150
195
136
121
150
150
165
115
172
181
121
112
224
210
150
139
217
112
121
121
217
175
172
231
272
208
229
167
135
208
123
171
177
112
208
167
124
165
219
150
115
150
158
136
168
172
181
170
186
170
150
249
204
174
164
177
115
177
188
208
112
176
212
228
171
195
205
150
194
201
177
205
150
232
121
203
219
121
121
171
181
177
167
143
219
211
193
181
174
112
211
121
136
169
182
112
235
237
128
137
150
160
233
136
228
172
236
165
136
112
174
137
275
196
150
150
220
136
150
187
177
201
112
211
249
162
168
208
250
232
150
170
112
112
195
237
167
218
147
210
210
177
123
186
121
167
204
121
150
202
208
194
112
201
165
201
250
229
176
165
203
112
123
123
171
192
121
123
171
174
218
112
193
112
221
112
179
112
228
187
165
136
167
223
172
211
170
165
174
226
115
176
174
157
132
194
203
150
170
218
167
150
203
172
112
250
187
178
208
121
208
208
194
176
115
147
159
135
121
194
172
165
121
150
112
220
195
207
121
135
135
194
152
158
152
172
150
150
179
201
205
123
187
172
137
231
229
187
112
121
186
205
150
228
186
167
232
121
167
181
167
176
150
174
112
121
228
239
193
174
209
208
208
135
112
196
112
112
161
172
237
176
121
112
202
171
204
231
124
170
147
121
165
172
136
187
123
112
172
160
128
239
231
176
195
174
186
177
208
208
195
124
115
219
121
201
302
171
231
195
150
171
181
208
181
172
219
144
172
137
175
167
209
164
179
171
123
112
121
226
201
210
194
152
150
121
112
112
150
160
168
160
201
121
176
112
278
208
158
124
158
150
182
265
121
124
170
207
179
201
157
178
170
167
172
220
165
233
150
201
160
121
193
121
130
112
213
123
172
250
121
124
168
112
172
239
182
160
194
202
174
194
178
176
228
123
206
123
121
181
112
167
171
225
123
172
172
219
172
158
135
223
150
121
150
250
112
159
177
112
135
250
194
152
164
121
193
170
259
179
172
147
208
167
195
158
229
170
136
150
112
193
121
208
150
121
175
228
187
177
158
270
150
195
228
207
112
250
171
150
237
208
112
208
181
150
172
150
167
165
231
187
121
208
230
208
203
176
237
228
189
172
193
263
150
220
231
150
220
136
195
170
150
121
150
203
170
206
112
121
194
171
159
121
167
121
112
195
203
255
150
112
112
150
255
121
203
172
192
237
112
121
181
212
164
174
160
232
185
152
212
123
139
121
158
159
233
121
237
186
181
228
150
158
168
143
150
195
170
181
202
201
208
181
172
121
123
112
150
208
232
217
121
130
146
236
226
208
165
192
112
184
121
186
230
135
130
150
150
150
150
112
121
219
112
171
112
212
208
171
150
112
256
123
136
235
112
210
121
115
170
226
278
164
177
178
121
167
208
212
150
165
147
121
150
150
121
172
121
172
167
150
112
194
121
208
171
150
150
158
228
156
159
210
171
282
215
170
170
268
170
192
208
128
239
150
150
195
112
202
208
150
208
187
233
150
170
170
150
150
123
150
205
201
136
150
229
225
165
220
172
227
229
231
195
302
208
150
124
193
172
174
171
150
150
192
171
170
112
150
232
165
193
112
135
208
131
210
167
208
207
136
135
202
112
112
255
201
174
170
194
150
210
170
135
228
112
112
170
167
208
208
159
121
171
213
115
187
112
194
176
181
112
121
194
164
150
178
238
165
112
185
181
172
172
150
131
172
171
121
196
207
135
230
186
123
115
130
198
112
164
121
208
203
121
121
208
172
150
203
212
121
179
156
194
172
227
150
172
150
121
112
164
158
160
137
231
115
115
137
208
182
193
179
210
112
171
158
135
137
150
157
150
193
150
150
187
150
121
168
194
112
150
243
237
235
209
123
159
172
170
187
150
170
150
255
193
232
181
176
255
215
123
217
208
121
112
208
255
196
160
208
195
150
121
112
228
168
136
197
150
150
150
144
136
150
195
152
187
212
218
211
228
150
207
208
270
160
124
192
229
165
112
231
157
187
121
186
172
167
210
150
207
170
250
112
208
112
201
203
263
130
177
121
172
115
131
150
112
150
179
150
170
164
124
192
194
174
165
220
207
181
195
150
195
227
175
167
195
165
193
255
150
130
121
181
174
112
172
172
112
170
250
167
170
130
158
112
157
213
287
214
232
150
177
172
225
195
193
158
137
136
135
170
121
123
150
150
165
182
150
257
123
171
196
182
176
156
237
150
176
112
194
177
192
229
255
211
115
205
244
170
181
147
297
195
112
164
150
208
170
202
170
225
135
193
235
250
208
202
115
201
212
176
168
237
194
172
225
170
150
146
226
143
219
172
121
178
112
171
194
135
208
233
236
205
228
121
150
112
112
112
160
112
184
130
228
193
123
167
112
115
172
147
172
186
150
135
150
187
170
112
156
121
257
250
164
165
121
161
150
150
168
193
170
112
156
193
164
128
208
237
112
216
171
172
232
181
150
150
172
112
176
195
121
112
202
150
150
193
123
150
229
156
150
186
210
121
172
193
150
208
210
112
202
112
165
152
115
208
207
210
170
150
172
135
179
112
121
121
234
121
112
170
128
187
213
177
167
167
208
150
157
150
124
179
172
278
264
167
121
172
193
121
112
201
150
112
242
172
112
195
123
231
112
112
150
150
194
112
203
112
165
112
164
121
143
131
185
112
121
192
115
112
237
208
115
207
123
186
137
165
167
166
242
194
231
193
170
165
259
150
257
237
162
167
137
229
193
170
165
172
237
172
172
256
158
237
112
195
181
112
139
172
186
172
112
112
135
167
176
137
210
137
150
167
211
121
208
203
181
167
150
121
150
170
150
167
210
265
217
123
150
167
236
150
207
187
225
172
150
171
150
121
121
121
195
188
172
112
150
210
228
208
112
208
112
167
203
203
167
172
175
231
147
150
112
150
112
172
208
121
137
229
186
115
165
257
254
112
168
177
216
208
212
197
171
227
121
115
121
121
239
156
112
137
194
167
190
112
179
222
205
121
201
172
121
121
181
240
159
156
150
112
130
184
170
150
195
205
150
170
171
112
201
172
208
136
121
121
112
297
194
112
177
172
112
194
193
112
112
171
239
150
177
121
177
235
124
204
210
201
239
170
150
202
112
216
186
121
196
112
121
250
150
164
112
165
210
229
179
112
195
112
226
170
219
115
201
186
168
220
121
150
121
112
201
176
112
121
195
121
165
203
150
121
218
121
165
164
137
172
182
250
245
349
121
208
210
186
158
192
150
150
128
150
121
115
201
174
189
115
112
112
123
112
150
150
207
121
112
186
150
203
194
112
217
121
123
135
208
201
167
112
203
170
235
210
181
212
159
159
228
231
165
239
208
186
170
228
195
195
249
187
150
174
112
150
158
112
205
222
164
165
112
263
135
123
194
226
112
222
276
170
115
121
172
194
112
225
150
202
240
208
193
136
124
213
176
171
112
215
208
115
265
158
112
137
198
150
150
187
210
112
161
171
176
112
123
181
220
137
121
112
167
179
150
121
170
150
130
121
181
112
137
159
150
121
181
212
152
164
150
205
189
225
121
174
220
181
188
112
220
112
172
222
181
121
150
165
150
167
112
193
171
167
150
195
202
156
146
171
228
188
150
190
211
214
164
115
121
195
172
121
167
161
150
181
194
121
170
121
112
208
158
112
121
216
147
193
239
187
146
121
173
112
167
228
147
130
164
172
208
253
208
121
194
167
212
164
176
112
172
112
121
176
112
121
135
189
150
193
201
250
210
150
160
171
208
201
199
150
150
115
112
112
187
210
237
226
171
123
172
210
208
121
170
121
170
170
194
238
136
212
112
228
201
150
156
167
158
136
171
150
170
121
136
255
165
167
150
205
121
121
182
203
121
150
214
228
170
112
170
208
121
207
121
112
121
150
112
130
123
228
152
160
181
160
115
150
170
123
171
139
209
240
178
112
226
135
194
208
208
196
158
121
164
217
150
152
135
124
121
172
186
136
212
170
189
185
123
189
171
165
130
112
224
195
135
121
112
278
186
302
167
225
121
164
152
201
194
150
202
123
112
196
112
123
183
123
150
150
167
177
137
150
194
222
156
150
121
123
172
112
240
182
150
157
172
167
167
123
150
208
257
243
184
187
121
167
150
172
152
194
181
299
167
208
180
150
121
165
170
150
172
124
150
121
170
121
121
237
112
112
208
136
112
185
218
206
112
173
269
121
187
229
231
171
147
171
197
222
144
136
217
167
194
150
206
150
181
172
222
150
186
201
196
152
112
170
159
135
208
201
176
203
150
150
238
136
165
208
210
190
250
112
177
176
216
172
187
278
112
150
210
160
189
150
121
171
150
112
215
147
181
115
171
150
167
302
170
171
168
160
186
159
124
158
172
135
170
159
195
225
215
177
208
150
135
208
121
160
195
176
258
179
203
239
253
135
112
177
181
177
255
237
302
223
136
194
160
112
171
115
172
179
171
186
208
172
121
193
150
135
231
112
167
266
176
128
150
218
239
179
150
167
115
177
121
208
112
171
202
167
172
205
150
121
136
172
121
147
258
209
172
217
208
235
170
208
178
187
176
159
121
174
143
215
208
213
123
165
228
150
181
176
186
235
143
246
115
121
150
115
187
112
177
185
274
208
202
159
203
278
254
228
112
176
172
160
172
150
186
150
236
112
112
147
193
150
167
144
228
137
178
228
150
234
156
201
112
112
136
210
177
112
112
147
112
170
176
165
112
237
150
233
165
168
170
232
237
137
193
150
228
112
150
150
211
202
270
112
124
156
170
211
225
121
137
237
220
121
195
192
152
181
121
207
121
179
186
121
124
186
167
121
137
150
112
150
181
187
167
121
170
123
150
168
121
179
121
193
257
123
186
150
112
137
172
199
238
163
171
229
171
137
263
156
170
147
150
230
255
231
150
172
172
184
170
150
186
175
167
150
171
208
170
121
135
150
150
201
173
156
171
112
174
137
261
209
203
162
150
112
171
124
158
167
181
170
194
205
177
176
123
175
217
150
121
159
167
121
165
212
136
150
189
150
172
228
137
181
176
194
150
230
207
168
191
217
231
194
231
112
128
143
150
158
150
220
208
135
195
150
258
150
123
232
193
208
209
172
135
156
172
226
186
250
150
158
202
210
170
187
172
150
171
181
164
124
112
165
147
150
121
205
170
193
172
215
112
208
121
150
112
175
219
165
150
167
167
231
150
137
158
112
167
130
172
124
164
209
121
150
207
201
121
121
212
172
205
130
130
150
192
257
150
171
201
176
174
150
231
228
112
172
299
112
172
170
263
136
186
252
186
112
150
245
187
264
167
226
147
201
223
112
228
208
179
121
150
121
147
167
121
167
194
112
208
302
150
150
123
167
112
186
210
193
121
202
167
194
181
171
220
272
124
187
194
197
254
199
174
164
201
136
112
150
112
124
112
208
167
199
143
235
250
112
121
208
172
228
176
123
158
177
112
216
152
112
165
201
137
205
192
167
158
190
232
197
239
147
121
248
213
228
228
112
130
222
143
208
150
165
181
156
195
172
164
112
156
121
170
178
112
150
150
150
135
112
209
164
212
112
121
268
112
112
187
164
130
201
208
147
208
130
201
112
150
184
123
205
165
164
150
208
121
150
194
165
208
115
121
208
150
167
220
112
186
172
225
146
208
167
178
187
194
205
208
167
135
115
150
208
228
124
250
196
181
208
150
186
192
174
237
195
265
164
181
193
150
170
208
150
121
168
112
189
121
150
213
121
201
167
112
194
121
143
171
239
175
150
141
193
123
123
144
121
176
187
165
150
121
135
172
112
121
150
139
170
150
257
263
123
172
181
115
159
175
172
150
152
202
168
123
150
165
112
187
150
225
181
164
195
121
226
150
170
208
192
121
136
115
186
173
250
150
156
163
243
202
150
150
121
123
139
263
184
158
147
170
150
220
172
152
176
275
112
170
208
123
144
112
174
199
112
136
156
172
150
137
121
229
228
266
136
208
165
209
150
123
123
147
168
182
228
123
112
123
278
219
150
130
112
208
123
171
258
150
137
208
219
221
276
202
187
208
115
130
123
186
112
150
164
193
256
230
135
135
168
228
228
112
176
241
112
228
165
112
150
135
121
121
152
208
174
172
212
257
210
121
121
170
124
208
184
209
256
172
171
193
203
165
181
171
176
150
205
254
156
160
170
137
255
250
177
171
187
255
239
176
123
244
229
121
194
136
172
171
269
121
190
128
194
121
172
299
150
121
192
112
165
202
115
162
165
170
121
150
176
208
218
157
233
194
228
112
150
150
121
208
112
228
212
112
233
121
187
258
121
217
186
137
150
286
216
128
112
156
208
170
254
150
121
152
208
208
112
279
164
121
181
172
150
209
172
231
176
172
193
192
150
174
136
156
193
176
123
167
194
194
172
172
167
160
121
165
115
208
152
234
150
201
164
202
150
121
150
268
257
137
206
208
112
112
112
172
237
187
196
228
186
150
115
121
112
230
257
216
210
174
123
121
150
194
112
121
179
150
167
210
255
121
208
216
150
160
160
121
170
147
112
112
230
178
135
237
194
150
185
216
165
205
112
121
171
137
137
130
112
121
186
208
187
150
208
173
201
171
212
205
181
158
270
198
218
223
210
150
112
167
112
187
205
150
153
231
202
255
112
121
147
171
150
179
150
280
212
124
202
167
171
208
164
195
208
123
123
165
186
123
168
150
167
228
168
236
112
112
150
220
167
176
112
136
112
187
146
220
155
196
156
170
174
121
121
215
276
180
164
229
150
172
208
167
168
167
187
201
181
172
243
112
207
150
190
137
170
208
115
236
272
150
165
175
121
240
136
172
171
167
175
168
123
172
147
136
167
150
252
210
144
150
121
253
172
112
150
150
150
165
208
187
278
121
230
171
175
219
158
203
208
137
203
176
218
200
150
232
210
228
172
208
263
112
174
112
203
185
167
158
177
195
123
112
237
150
187
171
192
112
156
208
172
192
112
167
167
121
203
208
112
194
231
186
167
208
174
203
194
177
205
135
165
172
121
152
194
112
208
123
195
234
208
150
216
210
165
172
257
219
150
193
201
228
202
150
174
121
176
165
170
167
170
202
201
212
150
170
121
135
152
123
150
208
152
150
112
170
217
165
176
123
220
152
203
228
195
216
250
194
158
208
170
201
121
187
172
172
150
121
236
123
208
136
202
174
208
136
112
150
167
172
237
112
123
121
176
112
135
226
195
208
121
121
170
112
112
165
281
112
208
208
137
205
123
205
171
225
236
172
137
243
235
217
171
164
253
130
231
121
250
194
165
139
203
171
208
150
168
237
218
153
152
187
137
112
112
181
150
177
186
198
128
112
170
255
241
208
121
248
121
202
150
208
159
171
178
150
124
219
150
121
171
228
172
239
184
112
150
211
170
143
167
170
150
176
243
198
175
167
227
150
174
187
121
112
112
136
121
167
167
121
208
239
227
112
192
172
150
202
147
171
215
156
164
123
220
112
176
186
203
208
205
165
112
174
112
143
159
202
220
124
112
112
150
172
171
170
177
121
225
208
112
207
189
213
210
121
174
207
181
213
210
242
170
273
172
112
150
195
150
150
201
210
208
170
219
147
164
208
170
176
121
252
167
259
209
112
172
121
150
181
156
243
207
112
172
136
121
208
130
172
115
121
195
242
160
176
168
167
181
112
112
203
121
121
168
201
193
164
202
150
219
184
164
124
150
260
167
112
208
112
150
121
177
115
176
217
174
150
165
112
123
157
150
194
205
131
165
171
208
193
208
150
231
177
181
171
150
170
121
171
202
255
181
237
194
159
167
159
128
112
176
175
121
171
189
112
121
181
173
171
167
150
152
150
112
228
150
206
112
158
161
150
175
194
186
150
112
112
223
115
245
193
147
186
150
150
219
194
210
177
150
150
150
130
172
136
172
121
170
168
208
177
171
121
172
121
170
167
121
210
121
195
175
212
194
278
191
150
208
208
172
212
167
150
136
150
243
174
186
112
208
172
250
216
176
174
208
208
115
137
124
210
201
179
218
193
156
220
203
194
150
172
150
194
302
208
194
164
267
302
226
159
115
194
201
216
121
208
160
177
208
170
203
112
150
197
160
165
137
112
194
237
171
193
195
137
128
208
218
186
208
205
143
186
302
112
150
208
196
200
187
167
172
121
112
137
253
170
228
121
152
121
207
121
170
150
240
202
165
217
172
208
167
201
130
219
128
208
112
112
186
167
150
121
289
147
123
214
158
121
170
112
172
218
158
196
115
233
150
123
181
194
147
171
199
172
112
232
112
258
194
124
112
196
112
181
136
150
212
234
121
167
172
174
267
112
237
150
192
150
192
236
112
201
199
165
177
172
150
112
195
150
121
151
112
231
203
187
150
233
124
112
167
170
150
172
195
165
135
171
158
194
158
193
171
171
150
137
209
176
128
193
202
112
123
135
176
223
237
213
236
170
210
160
216
121
255
176
196
196
231
112
150
121
170
112
165
158
220
195
208
172
165
171
115
190
219
237
144
159
160
210
121
123
220
187
112
250
226
203
194
192
150
195
112
112
150
159
123
218
150
198
150
112
137
123
187
191
272
194
121
150
121
171
207
171
170
152
205
121
228
212
216
121
112
194
165
170
239
201
240
112
121
112
171
112
174
172
172
130
172
231
271
121
250
228
172
177
201
123
220
170
112
208
216
177
172
121
176
186
219
112
112
226
237
181
212
112
203
150
189
177
112
259
172
201
123
143
203
223
181
150
171
247
164
201
135
170
112
112
176
150
201
208
150
208
226
208
150
263
137
121
186
156
112
168
208
150
121
202
215
160
121
202
233
150
112
170
193
202
121
123
164
179
213
123
202
121
210
164
150
124
187
234
167
158
193
181
159
176
170
147
187
241
208
212
237
186
147
224
150
236
223
210
198
171
186
172
194
188
172
112
150
237
212
123
206
136
171
203
121
217
201
181
123
176
228
150
210
128
195
171
195
150
135
186
115
170
165
245
173
150
150
150
112
158
136
208
112
172
216
258
170
150
150
250
171
231
165
195
210
233
150
115
187
176
172
186
112
115
172
172
164
250
218
196
193
215
130
176
181
171
139
150
121
112
115
176
208
112
197
112
210
201
243
205
181
121
150
186
128
121
225
231
230
112
181
159
171
245
170
124
181
167
243
195
150
208
231
171
128
166
194
158
205
228
150
199
231
263
174
135
244
195
181
181
128
187
123
112
181
172
150
196
239
170
147
212
171
193
208
231
137
121
112
150
167
130
208
165
112
195
112
156
218
187
147
150
150
236
250
165
171
135
121
164
194
158
172
171
228
281
194
121
147
112
150
179
219
187
263
218
150
135
121
121
176
165
237
130
150
112
158
150
179
208
150
174
121
170
150
170
174
202
208
220
217
193
181
222
121
164
194
123
194
208
228
167
239
150
121
123
123
112
249
150
257
174
208
115
214
165
237
121
235
177
192
194
170
203
158
270
112
192
172
150
217
200
261
201
135
177
205
115
214
171
123
123
112
158
121
177
112
217
121
278
238
204
231
201
263
235
203
167
243
150
147
137
156
121
263
150
228
130
150
150
208
181
112
174
237
203
250
195
216
150
123
237
203
170
208
218
225
130
201
170
208
166
184
189
205
121
158
233
160
112
170
189
165
177
201
207
112
216
201
208
164
164
112
189
253
241
177
170
121
181
195
112
193
208
150
171
112
195
272
167
112
139
112
121
171
212
194
123
172
123
167
170
123
112
228
181
167
150
214
187
150
171
150
171
150
170
167
253
112
171
159
112
144
150
195
159
121
137
112
194
202
121
205
194
112
208
112
121
150
200
165
194
121
150
150
208
208
124
192
115
165
186
152
112
195
203
226
202
181
112
150
199
123
115
167
186
150
112
174
160
202
167
144
112
211
172
172
176
143
208
112
112
215
278
170
150
150
167
208
229
181
278
208
177
112
179
172
176
263
195
176
153
171
135
112
167
112
150
187
121
264
165
172
136
243
150
167
123
112
205
162
208
176
278
150
219
165
203
112
172
205
112
193
121
299
231
115
197
202
208
146
231
226
208
210
121
150
144
170
164
227
172
170
205
229
194
238
204
208
231
170
228
250
112
150
112
150
121
143
165
112
186
252
250
115
135
150
176
270
242
228
137
121
212
268
181
150
150
123
193
121
174
136
222
150
135
121
144
147
150
112
299
196
150
231
172
228
112
210
130
136
121
121
168
112
275
112
137
186
170
150
201
219
208
172
201
245
121
150
150
150
171
164
195
171
254
176
181
150
130
210
219
208
170
194
121
228
136
159
171
137
115
186
194
228
187
156
201
112
112
189
121
219
203
171
121
208
159
121
239
159
302
150
121
194
165
171
172
123
207
171
165
208
172
208
202
150
150
170
179
208
200
212
250
181
144
172
257
147
112
112
146
187
171
167
121
121
170
212
137
150
208
195
150
150
112
171
184
167
255
238
170
228
150
229
222
112
172
121
137
172
136
124
160
208
242
167
239
177
112
158
150
212
237
150
121
121
228
121
112
135
136
170
175
121
181
168
212
121
186
208
167
208
229
215
112
227
178
177
121
147
112
112
194
193
219
228
172
165
112
159
167
150
203
143
232
176
233
150
297
201
250
115
112
171
207
124
150
172
123
240
250
228
130
136
193
228
150
162
130
112
245
194
269
157
192
210
174
112
150
228
179
195
220
150
152
150
195
233
181
150
208
150
171
158
168
137
112
121
176
130
150
207
251
193
160
150
196
170
165
209
275
194
196
128
156
112
190
121
205
239
260
123
170
167
121
121
231
226
171
194
177
123
187
164
167
195
210
230
174
209
135
171
164
175
121
226
229
209
172
172
265
217
150
112
171
112
112
112
167
176
115
115
178
115
168
121
172
112
208
123
174
121
137
150
167
124
167
172
250
159
218
112
240
208
150
121
175
123
128
112
174
121
112
172
121
170
201
150
172
170
216
150
172
201
228
115
112
150
134
203
194
172
171
145
170
233
112
150
115
159
143
171
167
222
210
228
121
255
171
203
172
226
112
165
234
150
121
211
170
167
220
185
222
234
172
225
208
156
150
208
112
201
195
112
170
176
193
121
121
178
174
170
231
167
123
172
172
241
164
233
121
250
207
217
112
176
150
228
165
171
158
147
172
150
112
250
177
217
233
186
172
202
124
278
172
206
209
150
121
181
238
112
147
171
255
135
208
177
128
152
236
172
192
121
275
212
150
159
150
150
128
172
150
161
195
115
115
121
135
150
250
150
121
187
231
201
181
278
172
192
228
150
275
150
208
230
302
112
150
161
135
167
255
124
204
112
174
208
177
172
172
165
171
244
171
187
225
275
233
228
176
146
150
195
187
112
167
228
170
150
174
176
123
121
123
172
171
171
228
208
170
228
121
137
212
112
150
193
121
170
115
176
170
112
208
121
112
171
195
150
194
170
171
112
233
136
165
261
190
150
170
281
143
123
171
150
171
167
112
112
241
112
123
137
115
215
112
112
173
112
150
193
172
228
195
112
112
176
208
202
165
194
170
178
208
186
128
208
186
226
206
174
239
143
279
112
150
112
194
112
220
208
276
150
184
189
228
173
187
137
171
171
203
187
150
220
222
167
121
144
150
167
112
150
121
208
128
112
203
208
210
167
278
167
172
201
159
208
112
164
158
208
121
170
137
170
150
135
203
123
213
170
194
136
172
204
260
115
181
165
112
150
150
231
184
187
170
121
136
150
231
240
172
121
156
165
172
255
112
172
172
181
123
135
194
156
124
193
302
135
112
208
170
150
150
208
112
194
228
159
135
167
150
194
150
112
150
205
239
121
246
123
121
235
186
150
208
219
170
250
250
177
136
178
201
167
121
136
150
177
212
121
218
196
170
147
150
115
150
297
172
208
202
209
150
121
136
123
220
233
112
112
189
150
157
121
167
258
172
112
143
171
199
150
196
208
121
121
112
171
181
150
115
178
209
177
205
121
136
225
237
202
134
243
176
136
150
181
236
199
193
201
121
112
121
208
215
128
226
112
181
156
187
150
208
172
228
171
216
170
167
220
172
152
135
167
297
157
220
164
164
128
204
172
214
231
167
235
187
172
168
112
219
195
228
250
164
147
121
210
167
167
121
228
205
124
112
121
112
212
193
181
150
208
112
135
187
167
194
147
159
112
112
208
171
225
150
170
112
137
150
171
150
115
170
112
220
227
187
165
194
171
175
174
135
237
185
123
150
181
135
186
121
121
193
193
165
150
220
229
194
165
302
167
112
143
176
181
239
211
276
177
121
112
265
160
176
172
121
302
195
159
172
210
121
206
157
174
208
186
239
202
167
158
121
218
164
218
193
150
203
208
121
177
208
115
208
182
191
150
211
121
112
228
195
121
121
150
170
203
150
112
121
123
121
170
195
123
222
176
195
164
121
112
274
150
194
202
159
135
150
150
228
112
121
124
219
207
165
150
170
121
135
121
167
115
186
172
208
121
202
194
170
160
167
228
239
196
143
135
112
250
194
194
175
172
121
150
137
202
158
112
176
250
121
211
202
135
165
112
254
185
193
130
135
121
170
208
192
130
170
172
194
123
150
123
112
250
121
250
194
170
176
195
212
150
257
135
186
202
204
112
167
187
177
187
297
172
240
220
176
150
249
112
150
150
121
181
121
198
121
112
224
121
112
159
112
150
186
150
201
167
121
121
172
272
158
170
137
181
172
160
229
150
150
233
228
170
170
150
226
172
302
172
170
212
172
121
172
150
205
171
208
171
250
176
150
184
208
226
238
150
276
234
192
150
207
172
176
128
112
202
221
112
186
150
147
186
231
137
228
158
170
165
250
208
172
123
208
137
121
213
227
220
217
159
228
150
229
128
121
236
281
172
170
208
170
150
218
168
121
159
158
202
208
172
115
176
255
165
121
121
173
112
112
225
202
161
150
158
150
123
193
240
121
123
131
112
147
137
150
213
208
228
279
123
115
121
150
258
121
207
121
121
159
175
170
165
207
211
194
208
171
208
188
239
150
162
179
234
121
167
208
112
212
135
164
208
181
112
164
218
150
229
237
160
156
175
217
210
121
150
130
150
112
170
223
150
112
147
208
121
218
135
160
150
121
250
225
121
232
112
121
147
171
194
265
278
291
176
208
121
194
237
243
200
208
121
171
112
121
150
208
220
208
121
197
150
165
121
124
178
167
124
203
188
112
165
198
164
218
216
150
131
115
121
260
176
112
123
121
150
167
193
168
187
208
172
212
208
176
150
160
187
222
172
150
172
150
150
115
115
150
204
170
228
231
208
150
207
130
211
179
181
157
194
167
167
172
150
220
147
168
181
179
137
212
201
172
137
194
136
170
136
150
123
168
121
150
223
243
172
171
194
115
123
152
171
193
233
112
160
112
177
193
123
168
210
171
150
225
121
258
112
171
112
237
208
237
178
130
159
195
251
147
112
228
177
232
167
302
170
164
208
228
194
194
171
135
177
150
193
135
237
171
170
150
228
175
213
112
174
150
245
171
227
220
165
135
135
112
193
150
137
181
174
181
193
170
276
172
176
137
156
121
276
171
150
219
150
150
150
121
150
143
215
167
226
115
208
124
112
184
181
112
208
150
181
219
255
208
218
150
165
121
167
207
208
150
203
172
112
233
112
193
167
195
115
135
135
172
208
171
121
164
186
210
208
235
252
196
137
150
167
181
112
165
112
112
150
208
176
240
212
194
170
228
172
194
150
112
167
150
236
150
236
112
184
136
172
170
160
204
244
121
167
135
208
189
208
150
167
237
212
147
170
190
150
158
190
128
112
210
175
165
121
121
112
217
263
121
172
213
112
165
147
178
207
165
136
147
112
193
144
193
150
237
186
212
263
167
235
171
171
167
237
144
112
207
170
150
202
112
198
121
123
195
228
170
171
135
167
167
112
150
171
216
184
210
171
150
176
174
155
170
302
172
150
171
170
156
137
121
165
165
121
171
164
176
150
150
150
208
242
112
176
187
165
147
150
189
150
217
121
135
121
240
167
112
150
124
189
150
135
112
302
213
187
112
158
166
250
174
241
112
175
150
137
236
195
112
170
112
266
147
165
208
243
112
193
112
150
123
202
208
202
216
181
159
171
115
172
177
171
195
172
208
135
150
218
112
150
112
167
194
150
233
171
171
150
209
218
202
112
172
195
172
112
121
208
112
255
112
170
250
220
181
152
189
121
150
150
281
136
165
175
175
181
150
150
194
176
123
195
168
150
121
176
208
121
235
212
190
171
195
194
136
201
228
112
193
121
150
115
206
112
212
128
165
219
158
205
167
112
208
112
112
164
135
177
196
112
167
112
187
121
201
192
170
112
218
167
229
112
123
213
176
212
172
194
238
206
186
112
187
150
172
208
177
121
228
202
195
150
112
121
121
112
210
112
276
167
115
219
112
208
193
208
112
228
121
137
257
121
172
124
203
170
130
161
184
208
121
121
193
208
207
150
193
167
240
174
150
201
210
177
196
131
187
177
112
121
112
167
172
176
147
176
112
202
150
236
158
167
150
121
121
121
136
135
187
137
208
194
150
181
172
225
159
121
159
150
112
182
172
121
239
231
165
193
150
121
128
150
205
123
196
112
121
186
226
186
250
150
208
178
172
163
112
217
181
228
220
203
112
160
250
239
195
167
147
237
143
150
193
226
121
185
206
190
193
150
208
170
112
195
167
198
150
137
123
112
228
112
193
176
161
112
121
252
207
186
294
203
123
207
112
121
150
299
208
181
150
174
135
112
112
297
181
186
189
212
112
121
212
121
150
179
202
112
112
236
208
201
150
112
137
158
156
165
136
187
123
213
220
203
150
201
219
231
172
112
201
165
170
147
176
130
167
172
171
187
172
227
121
208
150
150
150
170
231
186
121
112
124
250
192
167
121
215
170
150
172
203
168
263
195
194
112
167
172
160
175
150
201
121
136
227
170
176
207
112
240
174
164
167
233
124
167
202
186
199
137
181
184
227
150
231
193
186
168
243
112
220
168
150
150
121
250
112
171
112
150
112
123
228
172
156
150
181
194
205
203
250
147
197
203
172
203
177
121
135
194
150
208
194
172
210
171
121
179
147
135
172
112
231
121
235
208
173
112
215
237
272
172
172
147
279
121
165
112
236
150
193
121
193
208
123
186
225
121
144
172
170
112
136
232
181
121
181
208
112
124
121
171
194
172
121
181
196
164
172
175
176
172
206
150
150
228
150
152
121
172
167
176
218
112
186
172
164
150
193
167
136
243
130
181
212
182
121
171
186
112
176
187
255
243
168
167
160
245
239
181
150
170
121
150
112
121
112
208
175
121
217
112
208
232
150
210
194
150
130
192
175
167
136
123
234
233
150
170
212
219
123
228
171
229
112
123
136
135
165
160
112
112
237
150
159
198
123
150
176
171
112
136
115
112
164
223
150
170
168
150
171
136
123
255
225
172
208
150
121
121
150
156
194
255
255
112
150
150
202
176
170
213
139
170
136
150
194
123
208
150
152
199
150
302
194
121
195
115
112
121
121
123
218
150
150
168
225
243
121
234
112
115
165
150
201
121
136
121
136
220
189
123
196
176
112
112
250
219
172
150
201
115
194
208
194
128
112
172
121
187
237
215
172
242
121
150
164
121
263
171
195
208
112
112
124
150
237
205
239
147
193
150
171
208
181
239
186
136
226
123
195
168
150
121
238
203
112
152
135
158
171
172
203
123
167
121
229
233
200
260
237
208
121
121
112
181
240
112
152
121
193
225
124
170
226
150
115
208
121
194
112
123
112
205
145
121
201
135
128
150
207
201
186
194
195
194
178
174
240
255
198
112
189
115
158
121
208
152
275
147
171
232
225
174
112
226
205
112
172
121
123
237
150
243
239
243
172
208
239
167
135
165
150
171
150
206
156
177
121
150
202
170
172
128
143
203
175
112
147
172
112
121
112
172
230
243
235
226
121
192
150
219
160
159
276
112
144
172
203
112
171
167
210
174
128
229
121
136
229
112
112
165
193
160
121
179
150
181
150
208
228
176
150
170
187
150
172
208
150
171
209
112
112
245
186
167
150
150
123
194
160
187
124
170
135
190
228
121
112
217
225
172
170
137
172
187
121
172
208
112
123
167
181
192
237
210
121
112
179
201
195
179
121
150
171
208
121
168
167
167
112
186
229
112
186
150
147
218
175
123
229
121
193
192
193
212
150
263
152
123
121
121
150
115
150
174
231
130
181
123
164
121
112
208
159
137
150
232
139
121
170
121
112
112
150
150
168
170
121
137
179
181
155
187
167
186
187
170
121
302
135
202
165
201
220
156
193
123
218
135
177
176
179
186
137
204
121
194
165
121
131
164
159
135
115
235
204
135
128
123
128
236
174
208
177
168
135
190
179
112
210
202
201
150
217
228
150
136
121
145
135
172
176
174
160
175
172
158
186
150
121
121
233
112
194
210
112
141
123
172
150
210
150
226
160
150
229
135
121
172
210
157
217
121
184
182
176
208
208
207
176
121
228
170
171
121
121
228
150
172
172
186
228
190
160
123
176
123
194
165
112
121
152
205
150
218
194
112
194
175
112
112
135
236
144
112
150
232
198
131
121
121
232
135
208
150
225
123
208
112
112
150
150
123
167
228
186
208
112
170
143
228
150
112
150
177
162
112
239
208
181
234
207
167
172
150
150
123
171
255
112
121
176
181
170
112
112
167
208
261
259
187
158
121
165
208
150
263
164
208
218
123
115
171
187
171
147
156
150
143
159
167
156
205
227
123
186
172
167
175
152
171
112
192
112
208
188
208
201
172
135
173
219
150
181
208
150
112
201
121
171
212
121
232
164
121
297
112
159
176
186
194
171
167
245
176
112
121
228
150
162
201
112
228
275
121
228
112
112
112
172
217
121
250
240
121
170
178
150
158
181
123
170
195
165
168
170
237
150
215
207
147
167
170
121
165
112
175
226
207
177
159
112
112
237
121
231
164
167
121
194
124
150
172
172
172
167
172
208
150
218
112
150
220
112
130
162
150
121
212
150
194
208
164
181
171
190
205
191
112
130
150
171
218
112
112
208
187
123
150
187
121
172
150
112
121
130
168
202
171
160
112
281
174
123
172
171
187
121
112
150
171
202
112
181
213
159
172
165
121
112
167
171
208
174
187
204
170
152
150
150
150
160
167
220
150
193
195
198
147
208
239
121
123
123
124
228
172
130
123
167
150
112
302
174
123
176
150
121
208
112
130
143
175
150
121
250
210
170
238
150
159
112
171
156
150
217
176
121
150
112
135
220
219
160
186
167
130
165
121
187
230
181
145
121
201
207
150
167
213
112
150
150
150
167
201
172
185
194
172
195
217
112
156
255
135
172
121
186
226
201
174
175
121
121
227
194
186
208
223
223
121
228
124
123
215
115
150
112
207
226
112
187
123
195
165
243
171
123
210
164
220
202
112
112
167
167
150
157
137
220
150
150
212
259
112
202
123
216
203
115
152
177
162
121
197
194
150
189
171
121
297
121
250
171
208
135
112
170
137
150
182
121
164
150
167
276
170
130
112
203
165
164
121
158
112
168
212
144
132
181
171
201
158
177
112
236
121
131
167
177
150
147
150
202
164
139
167
227
216
210
198
165
226
194
150
150
128
150
167
210
115
186
241
209
150
167
208
121
150
124
147
218
210
112
156
194
112
170
156
121
150
168
150
112
176
121
112
112
135
172
181
172
206
150
136
112
219
112
238
237
207
208
121
112
172
174
208
167
112
164
160
194
208
150
202
112
150
123
160
189
112
170
181
193
121
165
171
112
130
112
236
173
172
112
250
112
185
184
201
121
121
150
143
240
150
167
112
219
218
150
112
203
112
112
176
195
203
208
176
195
156
215
250
210
172
226
231
159
112
150
211
181
172
195
112
194
208
200
266
158
205
208
128
150
237
167
121
112
137
167
192
150
123
243
121
115
150
208
255
121
181
217
130
202
164
150
172
175
174
195
250
150
194
193
167
225
194
128
137
150
172
170
167
194
230
203
208
226
150
112
194
203
323
172
121
150
171
277
112
181
197
150
171
112
208
208
112
185
181
150
136
121
146
229
152
150
123
150
199
176
223
195
150
189
136
194
150
187
172
202
205
145
208
150
172
207
112
208
112
202
205
275
172
150
181
152
202
233
167
201
136
164
121
187
260
201
226
203
238
152
147
172
115
112
205
187
150
164
112
243
226
181
165
171
208
208
150
228
172
196
210
123
184
181
112
147
167
233
150
239
175
135
167
158
150
112
194
255
147
150
257
150
196
194
112
215
218
112
219
193
210
190
150
204
177
150
167
112
130
161
214
178
276
121
147
150
167
171
159
167
150
208
112
170
137
123
115
194
136
230
150
192
128
112
112
172
208
171
247
194
225
135
165
172
150
112
167
205
167
186
121
175
194
175
150
208
121
212
187
184
175
253
170
228
302
165
195
186
229
208
171
160
112
167
121
194
203
171
179
135
167
167
208
150
194
226
176
269
181
214
206
171
210
150
168
141
176
172
130
152
208
112
195
208
203
156
196
228
171
186
121
193
171
177
240
172
143
121
112
181
164
175
239
121
158
112
112
228
112
172
208
112
208
170
158
255
167
250
135
150
150
174
239
194
123
208
238
121
192
112
174
143
208
150
177
112
226
171
112
150
251
121
121
156
147
160
121
212
121
189
147
112
231
170
195
186
112
121
135
201
167
181
195
174
181
174
212
172
150
112
112
123
198
192
112
208
121
208
172
130
135
210
177
121
209
112
158
229
144
176
201
203
135
204
165
152
123
121
121
165
150
123
208
237
167
179
171
123
167
121
121
213
150
172
136
208
159
112
150
170
212
135
124
150
172
230
171
181
167
170
172
136
115
233
121
237
172
181
123
123
123
115
218
176
225
208
137
170
194
171
143
228
239
152
112
186
172
167
206
237
181
171
190
210
170
261
250
170
201
171
186
170
128
112
176
176
121
150
172
121
146
131
112
167
170
226
245
210
150
202
193
170
165
208
176
221
202
235
139
121
150
197
212
171
121
222
239
123
172
147
217
170
226
115
150
170
150
193
167
130
112
172
208
121
171
144
124
167
170
135
174
150
115
136
135
194
147
194
157
150
150
150
231
214
217
112
263
212
156
170
208
195
150
124
150
161
171
215
170
158
112
136
241
112
176
158
112
121
164
152
255
176
165
136
121
170
237
208
193
168
112
165
159
172
220
172
259
172
121
208
208
147
212
121
292
115
112
174
112
210
176
194
237
226
214
161
112
112
172
171
112
217
156
170
165
152
201
112
147
150
137
123
112
123
202
210
150
165
121
186
237
137
258
121
150
150
187
147
112
176
150
233
181
112
121
220
186
212
187
201
124
178
150
121
172
214
158
207
187
112
135
181
208
228
170
159
121
112
250
165
159
195
213
237
164
208
159
112
167
158
181
225
203
150
215
208
160
121
171
201
150
137
158
201
208
112
177
234
130
250
167
112
123
239
228
212
150
112
208
112
121
195
207
115
121
135
150
150
258
135
167
250
207
121
237
167
150
167
170
112
112
174
208
203
203
228
194
167
123
156
218
175
121
150
181
143
135
225
208
112
162
158
202
176
150
195
202
150
143
121
242
165
224
121
176
130
204
112
121
112
255
193
174
203
237
220
165
228
208
287
187
135
195
170
123
165
232
228
135
171
150
171
112
208
195
176
228
162
205
160
208
203
121
135
255
170
210
130
207
150
150
167
194
228
243
193
130
208
164
121
195
226
198
195
208
187
167
179
193
226
172
147
112
203
181
172
164
147
234
237
121
172
112
181
158
123
147
112
150
171
186
130
194
112
150
195
171
164
171
112
121
170
234
217
158
193
150
181
302
297
229
167
189
183
199
186
129
128
167
150
165
237
202
250
217
211
250
205
172
210
182
210
167
171
186
150
112
150
196
193
121
121
186
112
202
150
170
171
217
150
150
150
204
150
181
167
172
158
184
150
124
112
159
218
164
186
237
255
137
181
112
112
201
172
167
167
165
159
178
232
194
212
112
123
194
192
195
206
112
229
170
135
123
228
165
112
302
245
112
167
176
167
112
236
208
194
178
150
168
112
112
123
164
144
165
135
167
195
187
237
219
123
202
208
167
167
150
172
172
136
208
135
274
215
171
161
208
150
172
112
170
112
210
274
218
156
150
202
150
150
150
212
208
192
150
150
171
168
192
171
270
112
187
170
202
181
232
158
167
121
163
135
150
150
123
172
250
167
210
181
112
121
112
112
202
228
161
172
208
121
121
187
170
208
150
112
121
172
164
205
123
195
210
137
187
237
175
135
292
156
143
208
181
172
229
208
158
172
184
112
172
208
150
255
150
203
225
121
165
170
150
165
232
136
162
112
208
150
186
176
184
139
201
208
115
112
172
112
172
201
202
194
167
197
150
210
112
136
136
150
197
193
228
112
168
123
167
150
150
170
199
181
112
158
150
176
172
150
147
167
115
289
112
189
121
136
163
208
147
229
170
121
112
112
179
123
195
121
112
165
195
152
244
150
201
161
234
240
217
194
170
150
195
136
167
150
187
121
123
164
208
187
112
217
220
205
172
159
137
193
189
135
121
121
112
165
159
189
186
208
223
276
241
156
170
112
208
167
115
147
112
263
130
112
208
150
211
150
177
153
121
159
150
157
208
112
165
150
205
167
186
228
121
208
170
196
150
112
121
195
186
276
147
194
176
195
147
128
204
205
150
239
121
136
176
195
177
135
112
178
192
115
150
150
171
186
164
208
219
150
181
112
233
147
170
121
115
293
130
150
175
168
187
112
170
208
150
199
167
198
115
194
136
121
228
208
171
250
202
181
170
193
115
121
194
202
181
176
240
159
158
170
112
263
121
150
208
201
208
234
263
130
172
176
121
208
167
210
121
112
255
181
174
167
135
152
150
167
198
130
193
196
176
167
220
123
176
112
208
121
228
171
159
121
208
257
226
159
165
220
158
218
150
112
159
150
223
194
236
212
217
112
209
150
177
150
208
112
194
124
186
212
170
177
238
137
136
174
187
168
123
171
150
143
115
112
152
112
121
172
167
196
174
208
157
194
208
172
208
186
182
112
225
202
181
186
171
189
112
167
168
123
143
196
220
170
220
112
272
218
187
112
199
182
177
150
176
165
144
172
186
165
170
150
150
220
112
172
176
247
121
237
203
121
150
242
203
186
121
231
171
112
136
218
159
172
112
171
170
219
171
230
165
243
233
239
124
228
219
112
150
112
137
123
170
171
150
237
112
194
186
194
200
194
208
160
172
150
121
150
144
201
165
195
192
170
171
121
167
196
165
136
194
170
150
217
150
112
150
121
137
121
209
121
193
130
178
123
242
171
246
170
150
212
121
208
266
174
121
150
186
202
201
168
210
150
123
250
135
123
135
112
150
167
115
208
115
239
229
172
226
187
123
208
186
203
135
225
143
150
194
186
189
150
121
150
171
172
237
235
137
121
150
236
167
121
194
112
208
202
194
167
239
218
150
150
167
121
178
258
291
123
187
208
174
112
181
210
158
150
194
210
288
135
227
208
174
229
135
136
208
121
194
150
228
231
205
137
201
112
208
193
208
170
196
112
112
172
256
208
160
226
212
112
121
170
172
210
152
178
194
164
136
167
158
222
208
128
200
150
121
172
124
194
165
208
192
193
205
208
112
121
150
170
250
172
124
176
115
150
150
212
171
150
115
195
228
172
112
167
152
136
124
239
194
177
150
112
150
302
220
134
135
172
112
147
139
158
259
204
212
209
197
115
168
150
167
121
174
170
123
193
112
207
212
176
228
121
121
112
112
115
171
121
167
215
164
195
112
171
171
231
167
112
201
194
124
150
203
150
203
112
233
229
150
167
225
194
168
130
192
131
172
202
194
181
160
228
115
136
135
167
121
172
168
195
152
228
212
170
165
186
135
121
167
194
168
115
123
150
219
172
212
131
150
121
123
173
171
188
181
234
171
263
167
112
194
181
152
168
121
228
170
203
208
218
112
112
192
167
136
150
121
195
171
130
171
121
207
197
121
210
210
181
150
172
209
156
150
302
112
203
124
156
186
235
150
205
135
121
135
112
170
112
240
179
112
170
168
219
152
112
150
121
112
150
214
175
160
181
121
196
184
121
150
216
208
177
208
211
194
150
181
121
187
115
123
181
212
121
121
162
123
162
171
205
150
112
165
208
147
172
170
167
137
165
121
170
128
150
197
112
172
237
167
112
121
121
219
165
121
123
170
124
112
165
150
137
150
187
112
147
198
168
208
170
207
112
208
179
208
112
164
176
195
158
208
167
220
239
112
121
204
220
152
170
201
172
192
243
150
217
181
167
112
181
208
250
278
274
112
112
190
124
172
121
112
121
172
121
112
112
195
220
136
208
201
234
199
228
172
130
210
146
121
193
150
231
139
172
121
150
176
170
152
121
211
176
170
115
212
197
150
147
167
150
240
217
172
208
206
112
158
158
172
171
172
167
165
171
182
239
112
281
167
112
136
228
210
171
112
171
206
208
194
135
121
195
121
217
130
217
173
167
176
187
208
167
167
135
112
123
172
208
112
211
167
194
150
167
176
187
210
150
184
207
136
187
135
170
115
150
112
121
193
186
167
237
150
193
250
289
243
150
195
137
123
121
167
171
197
226
195
112
176
215
128
207
193
228
112
150
189
112
171
240
157
203
165
225
259
205
158
196
124
150
158
202
172
189
136
231
121
175
123
220
150
121
192
159
152
220
201
186
195
156
112
160
124
121
231
203
170
208
186
189
112
150
150
187
121
181
137
150
158
150
167
194
150
171
171
121
121
165
112
226
170
121
121
256
137
208
121
172
241
231
171
150
208
185
165
193
147
112
181
121
214
214
208
165
263
274
150
229
121
121
210
182
186
201
150
112
150
158
144
156
150
174
228
165
171
150
112
223
112
240
150
112
220
217
193
150
176
186
121
203
156
135
207
201
208
193
228
121
208
152
202
167
225
170
136
112
243
167
203
112
112
208
121
112
177
121
176
112
227
194
219
156
150
240
115
189
112
150
150
156
208
208
112
196
194
150
150
216
205
238
242
194
204
167
186
170
176
121
115
236
220
186
112
232
112
121
200
121
130
208
150
112
167
112
160
228
121
150
171
165
207
190
194
150
172
208
194
150
212
195
146
172
194
167
208
123
201
150
259
192
150
202
239
171
170
215
214
112
165
164
150
172
194
135
177
167
121
121
210
174
112
150
193
193
207
274
128
172
194
172
201
265
186
156
216
276
210
150
181
136
123
210
195
156
121
226
302
150
210
112
121
213
195
121
121
150
274
147
184
214
112
150
194
181
112
194
128
208
172
150
165
255
121
150
112
165
168
176
232
228
150
235
171
236
167
171
150
278
202
237
112
165
147
176
167
172
121
218
130
233
121
177
112
121
150
165
112
171
165
112
121
112
167
176
135
195
203
135
195
175
208
208
112
203
158
150
240
239
250
208
174
112
208
150
172
158
193
263
150
194
167
150
165
171
302
199
136
112
123
207
137
181
208
250
243
194
181
150
233
112
208
192
226
150
160
164
112
196
121
208
187
208
176
150
225
202
128
112
208
208
208
136
171
186
121
137
208
137
160
150
179
150
237
143
210
172
137
112
237
171
150
208
173
176
121
150
143
123
203
193
112
152
112
214
203
210
150
255
124
161
135
208
121
112
121
167
172
137
152
170
177
150
219
112
112
208
167
186
208
121
193
219
208
217
172
202
124
234
143
112
172
172
157
150
150
124
136
208
228
167
201
121
194
196
196
255
172
201
152
231
150
112
208
170
233
137
176
136
217
132
172
195
187
237
176
196
121
208
112
186
229
201
167
130
194
171
172
174
172
156
121
112
137
112
170
205
112
170
150
250
121
206
112
186
176
112
170
185
112
170
195
121
231
167
135
237
112
212
242
239
230
192
150
150
222
150
165
208
121
174
170
121
208
171
176
201
205
172
202
190
255
194
150
302
112
112
176
150
186
240
174
164
247
237
208
143
194
176
168
159
170
121
203
181
156
174
231
121
212
222
171
192
150
121
219
121
182
150
194
172
208
208
210
150
176
192
150
112
168
112
186
189
123
208
170
207
193
152
209
165
150
218
170
172
208
115
150
112
181
194
160
150
257
177
177
150
174
112
124
121
121
164
150
171
181
112
150
170
242
276
208
124
201
121
112
205
193
171
208
150
185
235
121
160
130
112
121
167
253
123
164
209
135
228
170
233
150
137
112
208
178
179
170
147
150
241
192
112
112
208
234
194
112
150
171
132
194
150
259
165
214
177
176
195
217
137
170
276
112
121
250
112
177
256
112
202
170
182
158
112
165
112
112
135
123
239
150
171
226
172
245
297
243
160
255
170
250
170
150
208
130
172
121
150
123
208
201
168
123
121
112
195
218
135
121
112
160
136
186
161
202
231
189
176
167
121
208
242
194
217
112
219
150
172
152
172
187
150
214
226
217
228
121
193
170
194
150
184
210
218
250
302
195
121
115
223
156
121
170
237
208
203
150
239
121
218
226
123
172
208
209
187
250
150
216
181
165
219
223
219
181
136
209
208
150
208
150
202
212
228
210
181
201
167
174
172
165
179
178
112
240
170
176
208
205
186
172
172
218
150
192
150
244
112
231
172
171
153
205
135
159
171
220
244
190
112
150
137
150
130
150
160
275
171
121
198
172
194
215
208
150
150
214
201
167
174
130
170
206
204
112
173
167
150
236
216
231
174
194
123
147
210
112
172
112
121
219
210
173
212
218
231
121
193
112
123
181
250
167
187
150
121
144
178
150
239
228
193
194
150
228
137
146
172
203
170
194
192
150
170
167
201
208
143
167
159
201
196
112
194
167
195
170
207
158
150
194
128
164
121
240
158
165
112
137
150
187
194
179
136
143
186
302
201
199
112
160
150
219
186
156
112
212
176
121
192
212
203
127
209
159
175
167
212
150
165
186
171
277
223
206
208
150
136
250
187
150
168
208
112
150
158
208
205
150
121
112
112
135
157
208
213
181
208
217
123
150
152
112
216
165
121
121
150
235
170
172
112
164
174
144
135
172
250
112
236
170
229
207
186
112
159
137
194
159
112
212
171
219
190
112
185
167
123
121
210
147
177
150
202
150
208
170
201
172
172
170
150
260
165
208
192
150
150
194
172
208
171
182
150
130
112
112
167
156
112
174
186
115
121
203
150
137
233
165
206
194
112
123
112
194
220
128
121
194
150
212
165
112
208
174
172
112
219
112
121
170
172
213
255
121
172
158
112
137
163
195
170
124
112
121
123
158
121
181
143
150
146
123
123
201
150
219
210
135
112
137
216
164
150
299
112
112
259
112
174
226
150
208
167
150
150
121
112
112
194
189
227
193
124
121
121
231
237
208
172
130
124
228
121
202
112
172
167
124
255
202
136
112
202
194
232
112
121
195
123
176
121
216
240
178
181
208
186
136
112
164
150
115
135
169
205
171
121
208
168
235
150
207
208
255
147
152
112
121
233
121
172
150
167
165
135
178
229
136
208
171
150
228
164
112
172
215
167
167
150
255
172
208
226
212
172
171
147
171
121
150
176
112
212
121
174
209
121
171
167
201
175
278
186
170
150
112
192
112
275
201
170
135
186
228
150
194
112
170
181
121
168
206
170
137
147
121
137
150
170
172
256
123
208
208
165
150
208
219
159
193
201
172
208
172
123
174
268
170
194
150
167
210
218
170
135
220
172
167
112
235
121
112
204
231
158
150
112
171
168
112
172
150
248
193
150
141
112
177
115
112
167
112
193
210
203
112
121
150
203
174
208
150
216
150
195
195
150
150
150
233
181
264
172
238
186
112
203
237
170
112
172
265
150
189
150
112
150
177
123
159
278
112
193
195
172
208
236
260
208
175
177
187
165
167
177
170
231
172
112
209
121
164
150
168
158
150
121
208
181
150
176
260
135
208
168
193
137
150
135
226
150
124
170
150
252
112
209
121
232
208
172
152
150
150
201
181
202
223
208
210
210
121
115
237
135
136
176
229
176
121
146
174
194
112
186
174
121
167
210
112
182
171
207
240
203
137
194
302
226
181
121
136
171
239
137
217
177
112
112
167
208
167
124
195
237
135
202
172
150
150
250
167
208
186
150
121
150
212
145
179
186
167
170
121
167
186
170
150
135
195
150
150
150
121
213
121
176
225
156
207
123
155
121
228
194
181
150
123
224
186
275
121
172
112
208
261
181
172
112
157
198
241
171
237
186
121
165
194
240
112
150
167
205
112
277
220
194
194
176
128
176
267
164
123
115
124
181
220
167
195
156
121
207
175
150
208
167
176
222
165
150
136
136
150
212
250
237
193
150
170
147
210
160
121
171
135
205
193
150
167
212
150
123
192
219
208
150
179
136
186
194
150
170
112
112
220
206
210
172
174
194
297
121
194
172
112
147
150
121
239
237
150
112
112
220
167
171
214
212
121
121
196
150
112
150
167
181
150
212
208
208
167
195
112
121
194
172
167
185
121
150
136
249
112
112
167
150
201
121
178
173
112
176
167
143
208
193
217
170
181
172
172
175
137
147
150
220
171
121
159
135
194
150
160
112
176
171
225
275
219
150
239
208
170
223
115
167
181
233
170
187
219
177
123
176
176
123
170
121
121
167
173
276
195
150
181
167
302
165
208
121
170
250
181
147
150
208
177
212
170
208
135
170
112
196
172
202
136
124
208
302
210
112
181
212
258
302
158
170
231
182
217
237
160
150
121
167
167
115
219
112
176
233
137
176
187
150
171
167
258
150
171
171
121
123
135
115
150
156
165
121
160
212
121
194
207
171
121
112
193
175
171
208
250
150
150
175
171
189
121
268
181
208
121
121
179
121
176
150
112
160
205
170
166
176
128
221
203
233
135
121
202
193
170
150
225
186
121
162
202
247
158
150
208
203
193
112
121
220
186
123
205
181
121
208
208
123
121
219
136
164
112
171
226
181
194
121
210
195
281
237
146
177
123
158
202
115
175
150
232
208
171
302
194
234
172
112
166
170
130
174
112
147
112
171
121
123
208
112
137
205
189
231
121
240
112
193
150
192
200
121
121
143
121
150
212
181
112
147
112
167
121
150
238
121
203
150
128
179
112
172
187
255
137
141
164
112
187
150
186
208
278
196
228
112
208
112
121
237
208
195
302
150
193
208
184
181
181
193
123
194
236
156
112
164
150
171
176
225
262
202
218
194
123
208
194
201
172
112
121
186
194
150
150
208
208
196
150
150
194
228
112
171
255
158
165
170
190
123
121
176
218
112
130
136
150
121
167
208
121
165
137
172
150
172
156
112
210
178
157
202
112
123
243
241
164
150
181
181
237
170
112
217
217
185
177
112
164
135
218
172
165
219
112
193
237
167
213
176
187
121
201
121
172
167
182
196
202
172
112
112
180
203
265
112
150
212
112
150
112
139
112
171
237
176
150
130
124
175
293
192
201
220
167
137
170
201
160
180
170
202
112
136
121
181
237
176
181
193
219
176
121
158
164
250
237
150
184
121
202
201
112
232
136
112
137
124
150
172
177
194
150
167
202
170
208
208
128
150
137
150
176
203
165
157
112
171
115
214
203
208
231
135
178
302
123
121
208
112
121
250
164
228
187
150
208
150
150
150
194
112
121
212
121
150
160
208
167
172
112
201
150
184
157
167
112
136
208
150
121
139
167
172
216
167
255
237
208
193
112
194
121
272
176
173
112
176
264
150
172
208
246
135
226
123
167
150
143
172
226
121
167
112
167
121
121
172
172
209
176
150
196
121
202
181
121
202
171
150
176
206
200
201
172
250
150
220
205
121
121
204
112
174
223
214
208
217
164
123
137
220
150
174
231
165
237
171
214
123
255
124
150
208
167
123
150
124
208
172
213
147
174
158
172
217
272
244
194
170
150
196
243
231
229
208
202
186
208
233
167
150
170
170
121
212
170
135
150
195
186
208
245
215
171
150
186
150
167
156
150
195
150
198
115
263
112
176
170
150
210
240
112
136
171
270
218
150
121
112
165
184
121
137
203
167
194
171
150
172
208
112
193
172
207
172
121
128
201
223
121
208
212
171
121
217
121
150
218
121
220
121
208
159
178
194
228
150
121
208
193
156
115
202
199
121
112
165
194
191
121
201
159
208
144
203
112
187
178
230
112
157
115
242
194
137
121
112
112
112
187
177
137
236
206
201
112
208
174
177
121
123
136
175
150
150
208
167
152
197
121
187
181
264
182
187
112
175
181
226
195
123
150
220
217
172
214
150
160
124
135
121
176
150
167
181
244
216
176
194
158
172
175
245
112
353
250
112
112
276
168
112
186
205
208
128
170
177
177
121
164
208
236
196
202
150
154
161
276
135
252
167
174
164
171
278
210
112
172
183
143
112
112
210
172
170
170
194
137
123
171
112
112
121
176
172
198
202
237
121
167
170
172
156
176
189
208
208
170
208
192
150
233
124
158
121
150
181
150
222
121
226
187
218
150
186
150
201
171
223
150
208
208
190
172
150
150
160
207
208
130
115
136
186
121
170
137
216
207
181
150
255
135
170
112
150
207
233
274
112
112
164
192
150
150
210
209
203
167
245
193
136
208
143
172
208
171
237
150
187
193
152
233
165
175
240
121
170
168
167
150
150
150
150
189
150
112
208
150
147
202
156
150
121
121
167
115
146
112
121
150
112
112
112
150
136
187
150
208
159
115
123
214
112
193
121
150
201
172
150
136
121
186
208
112
208
150
112
172
167
112
174
210
195
212
189
150
135
208
150
203
112
174
243
168
181
121
170
136
167
161
254
201
167
150
170
167
217
203
150
211
143
172
163
124
189
172
181
225
210
150
112
145
172
225
203
187
167
193
177
208
170
208
139
166
195
190
115
115
237
172
208
228
202
150
208
208
164
164
218
212
145
214
202
156
171
263
121
176
123
187
195
136
210
171
172
217
224
172
201
263
144
112
194
167
112
150
130
137
167
150
112
190
228
167
162
178
143
167
170
160
174
121
231
188
181
159
176
121
226
219
227
172
121
137
150
237
250
156
208
250
208
172
137
150
279
160
135
112
150
162
207
194
187
275
165
175
123
150
158
201
136
228
214
186
187
210
170
234
194
167
201
167
150
180
187
230
181
172
150
187
193
177
208
171
158
150
165
280
254
202
150
112
165
175
112
121
243
147
172
157
115
170
123
112
192
130
227
210
201
208
121
121
201
112
194
223
167
121
184
130
167
167
208
168
170
167
112
228
123
201
208
216
217
203
170
123
124
201
182
192
170
302
192
150
171
208
171
121
217
167
139
201
172
195
112
150
146
236
136
176
227
121
121
150
150
123
150
112
210
202
172
201
208
170
121
112
176
203
121
181
228
187
112
150
250
150
131
123
208
177
186
263
194
121
171
137
167
172
176
234
150
150
178
228
121
203
186
124
167
186
121
242
150
162
137
139
195
136
150
123
112
165
206
150
150
176
208
163
260
220
165
176
150
160
152
130
196
194
136
150
150
230
156
112
213
226
160
226
150
198
152
235
150
121
121
181
208
160
112
181
167
171
121
228
121
208
171
232
137
208
112
179
170
112
217
170
172
112
211
160
171
172
208
233
135
165
239
160
167
112
192
159
217
208
112
189
192
160
164
150
171
208
176
121
208
170
192
115
150
112
150
156
150
167
186
121
172
158
208
112
208
171
150
165
165
224
121
165
229
112
230
172
162
115
112
234
194
196
172
165
150
186
159
187
170
160
174
177
123
239
228
170
176
201
164
210
193
201
121
171
263
121
176
112
172
136
212
144
202
237
208
172
115
177
112
150
251
112
228
218
150
164
112
121
112
187
152
112
179
131
143
244
121
203
198
231
112
227
124
176
202
160
182
156
150
167
172
112
150
227
150
217
201
141
150
219
168
228
123
147
167
150
210
187
160
228
112
156
175
150
196
192
208
174
172
186
201
144
150
158
264
176
194
168
152
121
267
123
150
276
160
165
170
220
150
216
123
176
121
176
167
172
176
245
197
186
194
208
184
208
202
150
124
136
112
208
228
193
152
124
176
181
220
219
150
123
123
121
189
212
112
176
172
192
210
194
208
201
150
174
253
237
115
170
208
227
150
150
112
181
112
147
176
208
209
170
172
201
186
184
208
172
150
196
171
171
147
194
171
220
233
150
123
115
259
158
176
124
194
208
208
171
217
192
112
212
171
231
150
202
235
178
150
192
165
150
186
167
194
213
150
235
159
195
206
150
174
174
150
179
160
195
208
150
210
150
249
167
207
195
194
172
270
236
226
135
170
212
112
205
112
150
294
124
121
176
123
258
184
208
195
172
279
130
147
150
276
168
150
136
152
190
172
201
210
202
170
112
136
171
112
187
112
201
203
112
112
137
150
150
121
238
172
130
121
112
228
207
210
205
187
136
194
212
194
201
177
228
187
112
201
172
170
164
187
135
176
137
112
164
112
124
199
115
112
228
181
176
124
152
121
121
192
112
194
176
150
165
112
135
112
171
165
157
167
176
196
150
150
186
159
208
181
194
228
150
181
193
195
121
158
135
205
112
202
176
112
194
219
208
208
165
121
182
208
121
208
121
228
167
172
170
172
115
150
172
150
176
150
220
170
150
209
150
150
150
275
150
147
121
150
208
112
121
150
167
171
167
218
172
172
217
164
281
172
217
164
128
203
150
170
193
208
150
208
208
165
217
172
191
150
112
181
112
195
150
160
150
112
150
170
150
176
171
112
176
167
130
164
172
172
208
121
164
215
167
212
121
165
207
177
159
194
208
112
185
201
121
205
193
237
187
195
121
112
121
167
171
137
112
170
203
231
150
150
177
172
150
121
243
123
150
144
150
231
174
196
150
112
181
203
222
152
204
203
181
167
201
178
181
150
226
150
135
112
210
176
112
137
136
216
172
112
139
215
165
236
208
150
171
112
156
177
237
187
250
150
128
167
207
164
187
150
157
172
187
250
208
278
181
181
205
207
167
172
136
150
195
112
172
171
181
121
210
202
112
150
112
115
112
150
195
165
121
112
192
208
167
150
225
124
237
208
234
147
121
215
181
201
137
170
172
112
208
194
202
123
121
150
219
167
193
239
112
121
203
181
137
243
176
194
189
170
175
150
165
112
112
137
210
194
192
167
225
121
300
218
172
123
150
150
121
150
246
167
150
302
210
165
135
112
197
171
193
170
112
112
112
112
123
112
150
192
135
112
164
112
228
181
135
172
121
150
167
112
208
229
187
123
195
150
204
181
150
130
172
228
124
197
167
193
228
257
174
134
257
197
150
176
150
172
136
181
167
172
150
164
228
128
208
167
150
194
135
165
112
239
208
121
121
208
210
112
172
150
150
164
208
150
150
130
121
170
226
112
136
218
219
171
115
164
150
121
121
160
233
167
172
175
186
224
210
263
243
226
112
123
150
213
187
146
213
210
265
181
121
195
150
150
178
250
121
160
172
259
171
220
172
150
210
214
186
167
208
121
150
244
115
228
112
236
167
208
158
112
165
121
112
150
208
167
112
121
184
299
209
225
276
121
181
150
121
131
214
172
202
226
194
241
121
158
167
165
243
181
184
237
208
135
150
194
112
171
243
171
179
225
202
254
112
135
172
112
112
208
250
201
165
171
112
170
147
203
156
150
171
192
112
250
152
250
255
165
150
208
176
121
112
123
231
150
167
112
208
123
192
137
150
208
186
112
112
299
208
208
123
170
172
112
150
181
223
115
115
176
167
176
112
187
171
150
178
158
147
218
193
178
150
121
176
211
228
123
220
208
123
150
167
123
238
208
206
208
167
219
192
112
193
112
170
172
192
150
238
212
164
192
150
150
150
170
210
152
229
172
193
181
193
153
210
228
121
198
194
263
150
112
208
130
160
121
237
172
174
121
150
276
171
172
123
137
147
112
201
167
150
167
232
136
150
212
176
194
112
194
170
112
170
210
170
121
167
150
207
250
112
211
172
203
170
121
176
137
124
158
167
150
150
172
226
220
208
181
233
272
112
174
194
135
150
208
172
170
160
208
121
172
208
172
150
208
172
207
186
227
130
176
112
150
112
150
112
136
156
186
167
202
172
121
201
112
193
181
112
167
218
218
168
184
203
121
137
250
269
158
172
171
121
121
144
185
112
210
121
167
192
172
150
136
205
280
136
243
150
207
259
239
150
233
187
243
174
210
210
112
231
112
150
150
177
150
195
193
215
208
130
150
257
150
112
232
130
167
159
112
167
218
156
208
202
232
228
194
150
158
212
235
187
240
112
150
112
168
123
228
226
219
136
302
112
156
167
170
170
137
258
165
135
115
167
112
171
202
208
150
121
112
172
177
167
201
195
150
219
156
135
193
168
150
167
192
137
123
177
176
210
123
208
212
176
193
158
212
278
170
130
213
150
139
170
112
187
150
112
202
121
171
209
144
232
219
164
121
219
150
147
121
197
164
150
150
207
212
195
121
137
228
121
150
193
168
172
226
242
172
124
165
150
150
171
156
123
150
156
121
112
123
112
175
172
150
158
150
112
150
157
236
235
171
194
150
112
159
150
172
121
150
130
187
202
208
208
177
194
112
181
150
219
137
170
189
172
167
195
226
208
165
112
219
203
147
150
167
150
208
171
226
174
176
217
231
176
257
150
165
164
112
171
263
276
176
165
174
121
150
167
171
150
150
208
208
112
195
131
219
232
170
112
112
209
203
150
165
271
150
260
137
167
226
170
239
150
121
257
207
112
170
150
201
164
178
150
209
112
168
150
165
172
210
176
250
150
237
194
222
123
121
192
112
243
176
187
208
150
209
150
186
170
150
201
112
150
275
160
231
208
150
181
201
174
208
160
150
233
176
181
217
195
170
171
194
112
205
137
158
143
176
159
112
121
228
208
171
147
192
190
259
112
171
231
143
159
225
150
176
121
179
211
171
150
189
195
208
172
136
198
205
167
195
171
167
150
171
237
112
123
121
172
152
112
171
158
172
136
121
228
185
146
239
181
157
231
136
195
202
156
112
158
112
150
236
205
112
210
150
231
150
194
177
208
165
211
202
194
152
150
147
112
123
157
150
172
121
187
181
121
267
150
212
112
150
193
167
121
168
236
150
274
160
235
195
121
112
159
150
112
220
178
112
186
159
210
181
157
211
219
216
131
211
112
170
281
185
172
232
121
112
143
165
177
172
181
150
210
112
136
123
167
189
174
156
181
130
175
269
171
176
112
255
172
226
150
150
147
220
121
157
171
225
186
170
186
187
213
171
115
239
150
176
192
208
150
156
181
205
150
276
202
112
172
208
135
172
194
220
250
115
173
167
112
202
121
193
172
167
172
172
128
209
195
165
175
150
112
150
272
167
208
121
165
230
121
208
150
198
137
203
208
202
124
278
150
170
181
297
231
167
219
135
194
255
279
121
150
181
208
112
172
150
121
112
178
167
226
112
167
203
121
159
137
170
186
167
123
135
181
216
121
220
121
228
167
208
121
233
112
123
135
212
167
186
112
150
172
194
121
167
121
150
225
196
207
164
171
194
186
172
177
208
121
112
179
264
150
256
170
112
121
170
172
254
205
193
150
167
170
130
150
208
168
283
262
160
208
150
167
123
170
112
228
170
150
176
121
150
171
121
181
121
194
124
168
239
121
233
172
186
150
170
112
226
128
172
150
121
204
172
123
187
201
167
192
257
167
167
194
168
121
193
233
207
210
267
123
171
194
170
209
176
202
208
121
150
150
207
246
150
150
237
112
229
208
208
171
250
213
167
150
194
150
112
167
228
170
167
121
175
160
112
212
124
150
187
156
137
194
167
123
158
112
164
172
121
136
250
121
121
219
123
146
112
121
202
176
150
112
177
223
170
228
214
150
202
177
208
121
233
218
239
171
187
194
218
171
167
174
115
167
135
210
177
167
228
172
235
168
210
172
124
210
181
135
202
121
174
147
150
112
123
175
170
150
135
205
150
239
121
150
171
229
226
195
186
112
128
174
232
112
243
167
170
112
112
179
158
231
158
112
150
202
181
222
187
150
178
152
121
186
170
179
194
172
208
121
179
150
184
121
147
208
171
150
230
240
231
135
147
177
206
112
150
205
112
164
203
237
208
112
174
164
192
212
237
176
213
112
123
219
150
262
193
176
135
208
208
170
168
150
170
165
201
159
150
208
150
150
150
202
143
194
168
150
130
180
161
170
208
201
210
302
167
135
162
150
171
112
201
218
299
156
150
112
187
186
198
234
160
228
206
172
203
217
176
193
143
112
172
112
150
178
202
112
121
172
160
150
171
195
232
158
171
150
185
237
150
121
167
237
233
123
213
181
160
170
217
194
172
121
202
123
124
220
135
228
167
240
112
184
150
144
193
172
170
121
150
147
214
112
121
237
171
124
176
232
150
201
150
170
123
208
208
202
150
136
130
112
228
208
194
112
152
150
112
121
193
112
202
237
219
150
181
160
121
150
181
112
187
137
177
165
226
212
172
172
194
194
238
135
210
208
238
208
150
167
112
136
150
255
195
150
158
172
150
174
172
215
150
172
128
130
158
195
121
210
165
150
121
171
167
250
218
150
112
112
158
121
202
112
172
158
121
112
177
243
150
168
170
211
135
193
205
112
193
134
186
135
112
192
161
215
168
186
214
121
112
181
174
150
112
233
115
228
167
167
219
167
176
150
208
176
174
165
226
217
170
165
143
195
112
241
208
179
162
112
208
156
112
123
196
124
212
210
136
208
157
150
121
176
112
194
206
228
242
172
195
176
195
210
172
276
236
229
208
112
188
186
205
130
246
194
193
112
156
150
159
147
112
137
164
163
177
194
167
123
168
241
228
223
112
112
135
150
135
202
240
123
137
225
232
121
208
208
167
189
112
215
186
206
233
215
160
205
150
251
115
194
150
201
257
194
150
176
232
115
175
168
177
266
165
193
231
223
177
112
207
194
123
121
172
150
130
160
168
115
136
150
112
112
112
243
115
228
135
121
195
121
206
210
212
172
135
144
244
181
121
174
150
181
150
225
179
201
173
206
193
228
150
121
124
227
150
194
156
170
130
147
112
124
208
234
213
170
220
150
261
208
165
194
112
182
208
250
167
115
167
165
193
123
208
208
152
159
185
230
123
225
150
143
265
167
136
112
181
121
147
202
208
171
171
202
244
192
135
172
112
219
218
123
231
150
243
150
121
150
208
213
237
209
112
171
160
206
170
112
217
121
121
123
233
150
121
115
123
121
275
215
121
206
176
170
124
212
150
171
208
215
172
176
150
208
150
202
112
193
187
298
150
150
128
193
229
121
112
165
232
208
165
150
128
121
220
137
124
112
189
112
121
136
210
136
181
150
217
112
150
135
208
112
195
150
171
135
121
172
164
121
229
207
213
209
181
205
219
213
208
172
158
172
206
150
150
194
165
168
121
136
112
205
112
171
171
150
121
179
164
112
112
121
208
202
137
210
150
112
150
210
172
170
193
158
164
112
121
121
160
115
173
112
112
184
181
208
121
187
195
123
167
121
237
150
121
112
112
150
150
121
150
230
150
208
220
121
179
291
112
208
237
167
121
213
186
115
150
208
135
208
199
112
187
167
212
250
172
257
215
201
112
203
164
137
276
167
195
171
219
167
159
167
255
208
157
165
170
144
112
195
121
217
160
150
192
121
228
135
257
181
136
239
150
239
272
225
177
208
123
124
172
208
170
159
136
195
195
193
158
214
206
242
208
157
170
194
121
158
112
150
175
124
112
176
165
165
150
112
172
112
174
123
159
217
201
210
167
208
123
150
150
270
158
121
112
150
192
181
159
170
211
181
208
150
177
158
195
172
170
165
208
185
135
160
229
172
178
121
204
172
121
112
208
225
165
210
177
121
150
150
252
177
168
165
112
165
150
112
193
171
147
194
150
156
226
112
176
171
189
121
208
150
210
150
255
112
200
115
237
263
178
208
164
112
202
262
176
212
143
150
172
150
112
229
135
172
203
152
177
172
192
170
203
112
302
150
150
170
194
164
284
121
193
167
184
193
176
121
263
239
177
121
171
174
181
193
167
143
208
195
194
167
241
282
170
224
193
167
177
150
147
150
121
165
168
207
135
150
220
171
187
244
115
208
212
112
160
242
150
205
179
172
167
150
201
121
167
150
172
170
121
115
158
168
135
150
217
147
112
147
150
172
112
179
135
160
226
147
208
181
231
150
208
250
172
121
121
159
232
147
150
112
186
195
121
121
150
150
195
123
211
187
139
172
174
208
195
115
195
172
182
123
194
172
231
175
135
112
170
170
150
171
150
189
202
112
171
208
147
112
210
150
208
112
240
150
210
135
193
167
192
193
150
201
177
195
112
234
112
226
258
220
197
150
150
172
217
150
182
171
164
218
165
150
152
201
146
202
115
193
150
175
167
150
121
121
112
156
254
231
112
121
168
147
214
172
159
181
201
194
112
200
121
172
170
179
181
220
123
171
224
170
159
121
175
150
262
196
215
152
137
171
150
121
302
182
232
178
170
112
186
112
160
205
215
150
171
150
121
150
292
143
194
172
204
137
220
121
167
230
193
208
212
112
181
171
170
208
159
208
178
205
150
176
228
264
121
208
167
172
207
123
215
228
185
226
209
136
196
231
112
223
112
150
237
192
205
121
226
150
130
228
150
112
123
152
302
115
228
112
237
257
195
167
207
194
152
137
210
167
176
208
115
158
227
240
160
112
128
158
115
150
135
276
201
194
130
203
135
172
136
224
121
196
178
244
256
218
167
150
137
202
121
167
112
173
150
150
150
175
235
150
194
208
170
115
177
168
168
172
228
210
233
226
165
210
150
112
193
135
150
181
219
121
226
112
165
121
228
243
174
112
150
170
186
121
207
195
112
207
201
170
150
112
121
233
193
112
155
175
172
202
204
208
112
231
152
150
187
194
112
212
229
150
165
121
229
112
150
112
207
167
150
176
112
115
150
250
170
203
177
121
121
158
121
194
124
208
250
136
235
112
208
170
150
159
159
218
228
255
150
208
187
193
150
121
238
124
170
150
210
172
172
137
212
208
112
165
150
212
218
219
164
135
121
171
150
210
187
150
231
172
112
216
201
130
112
112
165
225
121
192
174
121
112
121
167
150
250
112
193
175
112
112
220
139
121
170
159
137
121
192
193
112
281
167
121
208
189
112
123
250
150
112
121
233
164
150
112
136
197
179
202
123
240
272
201
123
210
121
219
152
207
171
150
203
223
193
225
229
201
208
123
209
150
168
150
112
201
147
175
112
179
112
220
158
112
205
177
235
174
149
156
112
150
112
156
172
135
159
175
208
177
150
208
112
136
174
144
112
208
150
204
121
187
123
267
238
170
150
235
263
194
150
187
175
186
220
222
159
209
229
231
228
225
121
210
220
186
194
115
150
112
112
170
147
203
121
164
121
176
168
165
147
186
112
231
198
167
210
112
236
220
250
150
212
239
167
112
147
172
201
179
123
172
150
170
152
112
228
167
219
173
112
121
209
194
112
165
195
212
157
123
112
243
121
167
115
128
171
171
237
112
121
121
135
175
194
137
165
150
210
208
225
202
167
181
257
203
182
159
135
121
112
172
208
139
177
150
112
208
208
150
194
184
135
194
150
201
121
181
121
228
186
165
121
212
115
209
210
234
165
167
150
128
158
146
171
121
165
123
208
150
150
150
156
202
137
135
121
194
123
165
208
238
193
112
165
143
172
144
168
121
123
228
219
172
150
202
156
172
137
168
270
124
208
258
218
168
226
167
150
172
208
164
259
170
170
289
272
219
167
112
263
135
201
171
242
246
150
150
181
178
302
150
276
181
233
150
229
121
172
208
150
112
130
123
150
112
172
230
150
228
248
156
208
150
220
150
135
165
174
207
210
208
112
194
265
112
172
194
181
202
194
258
150
208
158
150
172
167
172
124
230
208
172
147
208
208
158
137
194
210
121
150
147
130
167
171
237
255
152
195
150
212
190
150
194
164
171
208
231
167
202
177
226
150
112
181
207
150
176
150
115
136
130
121
160
172
150
167
302
212
182
195
121
174
193
172
208
176
199
121
172
161
176
168
121
144
233
170
165
112
112
112
239
112
167
150
208
112
112
231
112
245
121
121
171
112
171
172
202
145
181
208
202
150
112
121
135
167
164
165
137
112
150
150
166
176
193
170
136
176
172
172
121
147
205
175
112
150
150
229
225
150
228
150
150
172
164
202
121
171
165
233
171
150
225
146
217
135
255
165
150
194
167
203
147
112
152
237
170
187
202
209
192
254
190
172
177
184
199
130
112
164
279
219
123
231
121
165
150
150
112
156
150
202
150
194
143
115
187
228
231
176
181
112
147
212
112
168
160
202
121
150
181
121
121
208
170
210
167
270
150
150
172
170
172
172
150
274
150
168
208
208
181
194
172
171
184
172
150
193
150
136
259
167
167
208
165
208
121
150
112
208
187
124
208
167
172
208
208
177
195
150
150
167
174
170
289
112
193
203
112
175
278
208
168
135
172
121
210
210
207
171
147
150
165
193
112
167
236
161
172
135
241
135
121
170
112
181
219
121
231
201
215
152
181
156
121
208
186
171
130
212
174
171
130
112
208
195
112
275
205
208
181
156
176
150
172
150
150
228
121
112
176
150
174
214
233
150
121
228
159
172
158
206
172
238
202
208
176
150
121
213
112
228
186
208
175
156
150
112
172
239
158
201
203
172
150
121
171
205
208
195
181
152
191
150
112
181
112
170
208
167
176
150
150
172
150
112
143
121
121
172
195
181
112
121
170
228
224
150
210
164
150
172
225
236
112
164
237
187
220
170
167
112
156
167
250
121
203
157
112
170
207
172
250
128
150
210
229
189
167
240
150
228
218
202
112
150
121
112
121
130
121
150
191
172
193
172
150
112
150
172
115
167
241
208
150
158
203
201
167
165
121
187
156
150
167
160
135
170
237
201
144
171
112
206
156
112
150
144
121
282
213
208
112
112
194
274
135
164
201
228
196
187
302
172
231
172
150
144
159
208
225
201
153
168
112
186
112
220
193
150
176
121
186
215
112
137
121
121
208
167
219
176
124
150
302
208
176
165
136
135
194
150
121
130
187
165
250
208
202
231
205
121
159
164
143
112
186
115
203
170
150
181
147
170
150
150
187
150
150
208
201
152
186
112
150
184
211
208
153
121
267
170
181
208
186
282
150
124
150
287
150
172
208
196
112
121
123
250
150
172
146
165
208
123
231
112
193
170
121
232
112
172
171
112
150
177
229
135
202
137
186
222
150
112
121
181
150
186
112
167
171
172
219
177
167
159
237
150
135
242
112
167
195
181
215
263
143
123
158
228
121
164
257
178
171
112
135
199
167
274
164
150
193
121
112
112
143
150
171
193
150
143
208
112
112
136
182
208
263
205
123
150
150
112
121
150
201
164
208
172
171
175
228
150
202
271
150
203
158
226
130
193
209
112
174
231
121
208
167
123
172
135
172
112
121
130
121
175
152
150
172
152
228
172
170
237
150
112
112
281
121
112
192
130
164
112
150
152
209
150
227
121
160
226
218
135
176
240
167
165
121
218
219
194
123
170
115
164
212
121
146
212
135
121
143
171
136
136
115
121
121
172
121
225
201
194
150
121
112
130
246
203
167
176
121
240
170
170
195
187
250
181
203
136
112
208
167
121
172
195
181
131
150
172
173
150
176
121
167
176
123
121
167
112
176
199
210
172
121
187
128
186
112
194
202
170
150
229
208
124
171
170
219
228
150
228
255
219
112
135
192
139
150
112
237
123
112
172
310
150
167
150
208
150
121
167
234
150
115
220
131
217
172
220
137
130
202
220
123
123
167
200
112
165
112
112
208
150
150
112
121
172
150
121
121
255
202
194
232
168
216
112
121
150
172
182
115
136
181
143
128
121
150
302
204
171
147
186
172
187
170
179
150
150
176
157
137
147
205
239
164
215
228
208
281
230
237
204
115
135
121
174
124
112
147
135
272
221
143
170
150
150
210
112
210
168
190
150
165
236
186
168
231
226
150
167
170
121
193
255
112
210
177
222
121
167
194
233
150
165
195
291
172
284
217
171
177
207
223
174
213
150
136
201
150
212
150
174
115
164
172
239
195
208
228
112
164
225
182
239
250
219
165
194
168
208
150
135
112
130
202
123
215
112
237
203
172
243
121
186
112
196
172
137
121
172
164
172
150
168
147
202
150
210
152
208
170
112
157
167
121
156
112
150
203
167
243
112
123
160
208
112
112
121
184
181
123
165
176
212
124
150
220
200
168
214
150
179
210
205
278
174
195
228
150
208
233
135
172
150
187
150
176
115
115
237
112
123
174
170
215
201
112
121
150
179
115
150
168
112
158
150
217
171
276
196
112
171
193
198
112
150
202
171
167
150
143
208
189
136
124
121
225
112
184
147
195
167
182
189
150
147
220
208
158
123
152
135
193
257
225
150
202
136
172
112
167
164
159
121
121
170
243
208
257
168
176
167
186
172
150
231
228
172
112
121
201
302
181
150
212
123
219
150
136
150
164
124
208
121
121
112
158
172
170
112
130
150
186
202
121
204
112
170
220
232
228
150
123
112
213
170
170
194
147
228
253
121
173
172
165
171
203
167
137
139
267
150
150
208
135
123
121
157
172
208
167
121
172
171
247
227
208
171
112
147
194
135
220
231
159
150
121
187
216
172
150
164
167
233
217
165
143
137
136
128
160
194
136
150
176
130
123
112
167
150
128
159
194
150
130
210
176
165
181
112
205
172
200
176
150
181
152
150
167
228
171
302
201
186
208
203
170
165
174
152
208
112
208
172
150
136
222
158
172
187
112
123
150
137
242
168
172
112
121
159
208
167
150
176
231
165
112
234
194
175
144
167
171
150
174
170
170
189
112
184
208
150
217
238
128
136
123
212
135
178
143
112
194
225
219
121
123
121
225
123
171
263
170
112
121
176
150
225
214
121
212
212
167
167
194
112
186
112
203
112
194
197
170
219
150
217
208
150
208
112
165
112
171
121
254
136
201
115
170
252
112
171
123
241
181
276
228
171
167
172
195
167
121
112
240
112
181
195
169
150
217
240
172
236
195
201
159
250
112
135
231
121
130
112
121
172
150
150
203
150
187
150
195
209
240
165
112
121
115
208
234
165
172
189
172
181
234
123
112
199
150
228
220
112
172
112
123
171
147
243
208
223
187
220
208
150
143
165
167
228
231
207
228
158
195
194
150
194
217
121
249
112
150
216
192
172
150
179
193
167
136
150
165
257
203
135
218
176
112
150
212
184
194
130
150
167
186
158
218
172
237
152
135
181
202
115
236
194
195
240
164
123
171
112
165
168
152
135
237
177
115
165
147
172
271
172
150
112
121
150
170
159
215
194
135
187
250
187
170
230
112
212
181
210
192
115
166
203
201
121
150
150
208
244
204
177
202
150
179
167
164
187
130
176
150
218
158
121
202
208
232
176
210
203
136
159
172
112
181
176
168
112
137
254
244
167
181
115
121
194
112
177
177
208
179
176
136
195
165
167
172
165
212
177
219
137
121
121
176
150
207
276
167
241
135
233
150
194
123
112
228
207
194
191
181
220
193
233
187
139
121
208
208
194
167
121
172
167
150
192
236
302
187
112
160
187
123
166
112
150
156
181
121
112
208
171
123
229
150
167
150
150
123
217
242
165
172
136
150
170
136
201
124
208
121
260
214
222
172
165
208
179
160
115
181
152
121
135
207
212
175
147
241
265
123
231
135
167
228
228
187
112
167
179
123
147
150
121
150
208
123
170
121
150
233
112
127
112
164
194
215
159
228
190
150
193
241
170
255
239
202
228
231
115
150
160
178
177
208
162
189
164
218
219
150
208
167
220
176
121
147
193
123
135
157
159
233
187
219
210
210
208
219
167
171
272
112
208
162
135
181
121
123
150
112
195
195
210
177
150
172
192
150
210
160
150
186
112
146
171
210
112
167
135
121
219
150
231
147
158
210
115
167
194
220
124
112
172
150
208
150
172
150
112
172
176
121
231
187
115
137
193
121
187
224
165
150
150
208
150
201
150
194
115
121
201
243
128
255
159
150
112
172
232
112
150
194
182
121
208
135
219
172
196
206
172
213
195
229
112
244
217
165
121
186
208
301
112
121
195
171
121
208
242
243
121
121
112
137
112
210
123
135
124
160
170
172
242
112
192
121
135
115
195
121
176
202
150
123
121
260
167
189
203
195
237
121
195
158
187
170
220
150
222
170
147
112
193
112
187
150
177
137
130
171
121
147
228
160
231
150
193
172
239
170
207
158
150
121
175
228
177
193
177
181
150
112
150
143
150
150
194
205
208
220
186
213
172
172
121
196
121
172
193
219
137
115
143
181
130
228
159
165
190
121
147
174
209
171
136
170
190
194
150
170
172
158
228
112
150
136
226
170
160
205
250
208
171
159
168
172
239
228
171
158
218
121
175
164
161
150
171
192
162
176
150
112
124
135
234
135
218
202
256
171
158
112
250
167
208
177
172
170
136
206
170
150
123
150
170
205
121
121
224
228
172
194
164
203
194
112
212
208
121
156
203
147
171
167
112
121
150
121
194
181
170
208
172
181
112
168
112
213
302
112
228
121
218
167
146
121
204
210
186
165
112
143
237
167
170
112
121
228
172
187
201
167
202
177
150
211
235
272
186
255
170
150
160
215
150
206
202
150
115
135
189
230
170
179
165
121
193
112
112
137
147
208
167
137
236
201
202
208
173
121
186
165
172
112
124
194
135
123
171
152
209
236
198
192
218
290
121
228
137
172
231
112
150
220
207
216
121
231
189
121
112
112
130
112
207
130
165
143
161
123
172
240
174
121
150
194
159
228
208
172
112
236
228
112
223
225
242
195
136
115
112
212
244
121
172
152
150
207
112
208
121
181
144
220
241
150
171
208
164
150
185
170
181
207
123
167
208
239
208
123
176
124
193
170
172
147
208
150
177
150
150
156
167
190
193
170
172
186
195
159
225
184
224
167
112
201
239
137
181
181
112
181
179
112
112
239
172
302
165
259
150
170
172
302
121
208
229
275
253
172
187
193
150
219
150
121
115
239
184
187
195
231
208
147
192
226
121
210
228
136
112
287
144
208
239
210
123
286
234
121
150
251
121
186
219
112
210
232
121
136
187
172
123
159
208
237
167
194
228
121
181
234
241
170
172
150
150
176
197
200
121
193
170
143
167
112
208
194
171
181
279
175
112
168
171
178
263
159
159
210
170
112
150
220
176
150
112
187
136
264
170
150
208
179
115
176
207
186
174
162
170
160
112
112
165
115
124
208
213
186
172
172
123
150
150
112
253
112
167
164
268
204
194
135
112
210
167
194
281
115
123
150
212
164
237
112
164
136
112
170
177
158
187
208
219
237
210
195
231
112
187
130
202
121
156
193
171
170
124
150
112
146
202
121
186
123
216
112
225
112
150
208
171
217
229
208
150
143
115
170
181
150
112
212
135
203
167
171
170
261
112
243
150
194
208
208
170
150
232
176
208
156
159
121
172
204
112
174
196
243
150
167
150
150
121
112
147
219
170
158
121
171
150
208
143
187
147
165
210
160
171
170
171
115
236
208
152
150
218
128
192
209
171
137
302
147
172
150
183
170
194
208
172
175
150
112
181
194
228
150
172
112
150
157
167
238
232
112
176
121
115
172
177
150
135
170
128
150
189
216
228
175
195
150
181
177
257
175
233
136
136
302
144
228
150
150
199
197
121
112
208
150
176
121
217
195
208
150
175
166
176
158
242
121
254
208
156
167
172
220
167
121
187
135
156
170
150
203
234
209
172
171
207
167
207
128
181
121
150
174
208
165
124
164
112
255
181
208
203
177
217
272
201
150
147
195
203
211
208
179
150
137
175
147
137
171
137
137
208
150
203
211
135
193
202
213
136
112
112
112
112
150
165
121
190
143
165
170
150
168
170
171
176
193
181
150
187
176
150
135
164
168
214
170
170
176
146
115
150
181
186
167
172
172
112
150
190
173
123
186
176
135
219
170
170
121
165
167
164
121
137
193
121
172
112
302
123
170
176
112
147
172
165
121
202
121
195
252
218
176
131
179
152
174
112
204
167
193
150
150
228
150
121
190
136
150
123
176
147
194
170
123
167
150
112
147
150
193
175
218
123
208
150
234
208
172
112
208
112
144
135
243
172
226
224
247
157
150
175
194
172
112
112
202
121
121
201
121
150
171
208
131
208
184
176
150
112
171
170
132
121
112
170
208
152
195
112
194
135
176
112
121
213
172
130
112
135
167
213
212
112
164
121
233
167
112
205
167
150
182
228
215
215
167
194
186
240
112
137
177
167
202
202
244
208
112
167
193
172
143
150
186
208
210
121
115
150
199
178
121
112
121
123
228
208
229
177
167
172
208
123
205
219
218
250
172
153
212
201
170
187
193
205
172
170
170
269
170
112
162
255
121
226
231
181
156
137
243
278
186
150
205
121
243
255
172
167
196
179
115
226
112
239
121
112
124
176
196
112
167
159
152
112
195
112
158
263
112
250
167
123
193
170
121
121
146
208
152
165
121
121
208
194
193
228
158
209
150
208
260
112
167
167
311
121
112
175
161
194
170
164
194
158
124
136
171
255
121
276
170
210
195
121
195
172
205
208
171
130
219
157
150
202
150
244
165
167
187
219
177
165
164
174
167
112
237
235
211
246
121
164
150
150
167
179
150
123
228
115
223
220
203
112
186
179
121
150
150
112
121
165
223
137
150
112
170
164
150
135
228
150
218
208
150
172
203
170
172
228
158
208
171
121
172
147
121
112
194
208
214
181
236
170
123
112
187
194
186
226
167
112
201
176
181
240
239
123
112
171
112
177
128
121
174
181
150
121
195
194
194
204
167
212
121
143
208
175
208
123
150
112
207
238
175
167
192
156
229
135
112
172
161
216
158
219
186
192
112
112
145
174
150
208
159
233
189
242
112
219
224
174
201
181
223
255
150
176
150
112
206
239
150
150
208
195
219
131
176
208
121
257
198
150
212
240
208
209
211
153
210
193
185
170
194
210
157
177
212
175
210
212
228
216
150
172
121
150
172
225
150
121
165
115
112
165
243
176
173
121
112
150
207
172
158
264
112
152
121
124
255
147
168
202
165
250
201
158
176
121
150
156
170
198
112
209
195
231
130
170
202
172
170
172
172
172
210
150
234
208
172
208
150
150
150
167
224
179
193
278
261
165
202
302
112
238
128
176
147
150
150
150
232
167
147
231
194
250
170
264
136
192
195
170
208
150
219
150
150
187
121
219
159
173
171
135
181
208
195
202
187
172
207
136
170
202
210
121
198
228
112
208
208
187
121
157
193
167
171
227
302
182
150
123
194
167
208
123
121
150
208
156
218
121
197
182
171
167
177
203
172
165
131
172
186
231
177
220
112
171
170
124
112
176
112
150
297
239
170
171
193
150
170
136
167
158
193
121
160
172
164
150
194
172
121
150
275
155
150
231
194
240
150
167
201
121
202
239
239
243
150
186
158
194
177
176
150
193
150
167
208
172
172
231
112
198
190
150
208
167
123
186
150
265
219
211
121
181
199
210
164
205
158
121
171
228
161
224
171
147
240
230
160
228
172
167
121
194
231
112
150
202
171
184
194
170
150
167
115
121
167
128
208
174
208
144
150
261
121
171
171
150
203
112
150
112
227
196
112
245
112
172
150
202
150
174
112
150
112
189
255
121
150
210
112
203
112
210
123
208
195
208
225
160
220
257
147
150
177
172
150
170
121
121
212
281
147
237
218
170
226
186
193
112
167
231
112
186
170
217
121
231
112
206
167
150
172
176
150
167
177
233
286
123
181
112
121
172
208
144
181
150
172
239
150
172
150
147
112
115
123
208
171
112
121
239
186
233
121
131
123
112
130
112
121
158
171
170
257
170
205
112
208
147
112
193
178
202
147
177
121
229
208
112
195
227
128
150
208
171
193
181
231
167
121
150
208
167
150
172
172
205
112
115
112
171
187
150
130
130
112
159
177
216
217
165
267
208
208
212
233
112
209
208
220
192
167
167
112
187
172
196
201
147
176
205
123
112
217
165
272
250
124
170
121
181
123
187
302
112
150
192
167
150
121
150
210
147
213
207
185
215
135
159
150
208
121
228
112
121
137
121
121
112
264
172
277
177
167
177
150
167
167
172
156
208
112
159
123
150
121
176
208
181
210
194
150
150
187
172
130
158
158
165
179
150
176
150
181
157
121
124
216
135
177
165
150
208
170
150
150
207
112
175
208
177
121
165
232
220
135
223
194
115
112
121
200
210
210
137
208
112
212
186
233
172
150
217
150
208
156
210
121
156
165
219
150
170
121
181
239
228
150
121
175
186
152
297
176
121
112
195
192
250
112
176
167
175
171
112
216
194
181
150
135
219
193
165
135
187
195
130
208
121
165
112
208
167
172
150
205
150
150
187
150
152
150
112
233
121
112
150
177
181
181
193
195
156
121
167
211
172
216
189
160
181
150
189
173
172
172
212
135
172
121
167
121
236
121
181
121
177
172
137
158
172
170
194
215
181
195
228
150
121
208
112
187
171
136
172
178
164
186
150
164
176
121
164
160
231
150
205
232
181
115
254
170
170
212
208
121
171
150
112
170
167
208
170
238
171
167
181
112
170
205
121
195
251
130
236
176
217
121
237
179
173
168
201
121
150
202
137
254
150
137
121
173
163
121
172
207
220
193
171
150
170
171
278
137
266
171
176
152
150
181
112
182
192
243
171
181
150
186
208
124
172
152
193
222
255
189
208
194
186
219
121
175
150
193
150
170
123
219
150
201
193
112
112
112
123
150
229
215
237
242
123
158
167
160
218
175
178
170
115
123
167
215
210
157
194
150
115
219
172
216
205
208
150
150
264
112
150
112
165
201
188
158
176
211
174
171
210
244
124
135
112
177
170
184
186
176
205
150
209
194
181
170
208
121
165
150
167
150
158
167
193
150
150
231
150
171
208
231
196
228
239
170
170
121
112
121
245
170
250
135
208
167
167
115
112
203
218
257
177
250
124
279
136
121
250
112
189
165
218
299
184
209
170
157
115
112
121
231
205
194
121
112
202
255
112
112
172
167
208
124
112
150
170
112
195
302
164
181
171
186
112
194
112
165
112
112
208
213
196
160
170
172
239
112
246
172
112
112
172
167
228
150
195
195
170
137
150
172
171
171
167
128
225
174
171
195
150
259
112
139
214
215
194
150
223
207
165
195
167
232
150
158
121
203
208
112
208
124
193
265
250
203
121
161
160
190
112
208
171
220
194
152
231
121
112
208
305
241
242
193
179
282
165
208
167
190
305
170
121
150
208
236
153
239
236
196
160
170
150
121
165
171
193
121
150
150
150
112
165
202
150
170
278
208
175
143
164
123
164
160
181
231
228
164
167
200
170
135
201
112
199
219
112
150
154
147
182
178
112
121
167
209
186
177
170
121
208
150
150
167
121
203
171
121
202
237
165
181
135
272
150
112
112
167
187
170
172
136
266
212
176
112
123
170
223
170
135
115
174
152
160
203
165
150
221
222
265
121
121
177
190
137
208
170
135
165
135
123
278
144
193
232
238
172
194
147
269
234
112
201
150
145
172
250
150
229
208
152
172
112
121
112
165
275
158
187
176
176
158
121
112
165
218
158
130
167
201
256
167
172
187
167
171
202
165
158
178
112
239
171
150
176
208
163
194
150
121
112
112
208
112
171
172
124
240
146
112
218
302
208
112
201
198
121
135
121
170
226
193
170
150
150
150
112
204
243
150
135
147
186
228
273
192
208
112
176
193
237
189
227
172
171
123
121
147
208
150
170
213
208
164
247
164
170
136
172
171
124
210
220
123
208
137
202
215
176
167
112
150
167
130
176
235
112
159
231
177
217
196
112
194
224
170
130
137
150
147
194
179
170
150
208
250
121
156
171
194
137
171
219
165
208
147
179
181
121
164
123
150
167
121
228
156
201
227
150
123
112
170
208
150
239
121
112
137
150
176
112
186
150
123
167
165
150
121
121
170
193
195
218
150
228
201
189
208
193
208
288
170
215
170
208
187
278
121
170
212
168
243
171
171
139
208
164
203
170
112
223
171
198
174
172
171
158
228
220
124
202
150
263
176
112
112
177
190
202
231
217
150
202
193
137
150
136
167
121
115
167
172
164
112
167
243
208
112
121
208
203
230
170
121
181
112
137
164
121
121
144
176
187
112
112
237
208
112
175
121
237
123
150
123
237
208
171
182
208
208
208
213
210
112
150
159
121
150
150
171
150
163
194
150
234
172
150
172
150
121
193
112
136
231
165
181
115
194
263
255
150
172
121
121
201
204
202
220
167
160
182
112
250
255
170
165
212
112
123
150
167
121
179
121
112
240
159
193
205
225
172
165
194
263
143
150
139
194
112
167
208
167
158
123
150
112
207
112
115
208
193
150
150
137
150
115
112
115
174
263
112
260
212
230
228
206
123
112
150
165
201
112
150
150
205
208
167
172
112
165
171
150
170
121
171
208
112
166
212
236
150
241
208
121
172
212
115
260
112
147
209
168
210
135
250
181
124
121
195
243
201
156
202
136
194
136
201
165
150
112
228
220
228
194
208
150
176
217
160
210
209
121
208
176
165
186
150
112
112
181
123
124
171
112
121
167
184
150
171
172
167
195
121
150
136
174
172
112
208
115
172
165
197
121
164
150
233
137
170
227
186
198
124
150
112
121
167
200
195
123
112
121
150
112
172
178
167
165
205
176
144
231
210
112
276
115
208
207
202
121
228
201
137
195
121
202
263
115
172
174
186
112
201
121
229
158
150
168
170
112
135
203
184
150
112
130
223
115
203
203
219
115
227
170
228
201
121
137
165
112
128
194
121
150
232
233
181
279
160
255
172
121
150
192
208
228
208
121
152
181
208
218
228
172
170
123
170
156
229
278
121
187
208
198
209
172
264
219
136
156
150
210
220
136
174
165
208
237
147
172
112
170
121
172
143
112
136
281
121
192
124
150
136
225
174
112
157
215
136
121
176
203
172
121
170
171
121
294
194
193
150
171
150
208
160
213
217
208
216
167
203
181
159
170
208
250
181
112
186
171
217
168
172
176
150
167
121
203
226
170
160
168
159
137
231
123
121
121
228
233
205
208
171
167
177
175
150
231
194
160
112
167
152
115
150
164
171
231
175
172
182
165
121
212
172
181
150
226
150
208
203
320
172
139
216
181
152
172
167
150
150
130
172
233
205
208
229
202
201
112
165
150
112
150
112
200
220
147
112
128
208
172
226
112
195
124
150
159
177
228
112
147
150
176
167
253
194
150
255
123
165
167
150
121
225
233
189
150
181
112
206
196
150
208
167
174
228
171
112
217
135
208
202
150
195
228
172
172
302
112
192
194
130
229
115
196
263
135
197
185
167
228
144
176
112
150
208
164
160
226
112
112
208
193
216
170
237
112
150
165
208
171
150
150
202
229
150
208
112
245
172
219
164
136
268
212
150
121
167
121
112
194
193
188
150
232
121
170
170
167
171
121
181
243
121
146
203
220
112
194
181
203
175
220
167
194
112
194
234
150
171
121
167
195
124
186
167
164
195
150
165
195
123
135
121
150
225
123
204
121
150
121
150
195
220
112
112
193
150
150
150
150
176
112
172
192
150
112
150
203
195
150
121
207
176
167
208
150
167
130
172
170
170
150
208
198
195
172
186
121
223
233
250
123
115
137
150
217
236
217
112
112
208
171
150
186
220
124
187
194
150
112
150
167
123
184
170
121
136
158
208
208
210
112
181
150
150
143
123
167
167
112
172
124
172
212
187
159
201
210
223
172
112
150
141
150
219
276
165
176
194
150
136
192
150
186
208
207
170
150
193
177
242
225
121
112
170
144
167
172
150
181
156
150
195
112
172
137
150
167
128
228
112
193
121
193
207
176
224
144
214
137
225
195
115
223
128
123
121
136
159
208
263
123
150
179
208
244
123
174
172
257
236
112
243
228
112
124
124
215
121
176
184
167
159
237
150
223
121
150
211
231
112
121
228
112
172
135
121
279
230
208
237
228
121
186
137
171
175
216
176
241
121
171
150
112
193
137
243
231
171
170
158
150
250
212
150
150
168
112
177
159
193
159
150
171
172
171
279
123
171
136
208
172
177
194
167
150
170
254
150
135
170
172
156
255
123
150
150
170
136
194
195
123
194
205
207
123
178
177
170
112
174
168
220
203
209
115
167
217
121
173
193
172
121
150
171
205
121
167
160
237
112
112
263
121
170
208
171
121
150
177
237
193
121
150
226
213
202
150
137
225
191
121
150
202
297
112
208
193
255
123
150
208
121
208
170
172
171
181
121
121
150
144
234
167
167
181
121
171
171
112
150
203
172
150
170
261
115
150
208
115
228
150
172
214
152
202
215
150
276
121
137
115
130
171
215
181
150
115
193
121
112
208
171
208
121
207
195
137
233
150
160
112
150
130
121
147
112
167
243
159
150
160
123
208
176
131
209
172
210
112
232
150
177
237
187
139
208
112
115
112
181
112
182
208
160
172
171
150
177
195
112
112
174
208
112
194
212
177
121
161
194
112
150
150
112
165
112
150
196
257
208
121
150
150
193
176
147
124
150
150
202
231
208
177
226
165
274
115
170
115
172
188
193
239
172
215
150
208
232
176
210
208
172
123
302
208
171
194
243
200
168
164
112
187
208
150
171
160
257
193
150
156
171
112
181
112
115
186
171
170
150
121
112
255
137
157
124
208
194
172
123
123
137
150
220
207
171
240
124
171
156
112
165
171
260
172
112
202
156
121
150
112
136
123
176
228
224
207
212
165
167
210
227
121
170
147
167
225
123
150
181
121
202
150
150
150
160
233
165
150
124
157
150
159
241
212
150
112
171
255
195
176
121
213
210
208
121
167
121
121
194
153
240
207
181
112
112
229
168
217
208
158
211
206
228
121
172
145
167
144
159
123
216
186
227
211
208
121
165
253
195
124
212
112
112
208
123
157
130
135
172
168
172
171
210
177
229
136
121
150
243
232
227
121
208
121
158
143
123
250
172
228
112
112
150
176
135
150
208
150
198
211
137
135
112
231
147
112
112
172
112
164
216
231
152
192
175
124
158
112
189
121
208
208
123
164
150
297
121
207
112
150
202
255
216
112
217
160
185
229
159
205
112
167
215
167
190
160
217
219
170
167
167
208
207
123
165
193
150
112
136
174
160
208
258
158
152
150
208
201
121
167
187
219
172
181
143
150
112
150
158
218
124
121
121
170
276
172
194
150
112
228
165
208
181
237
112
237
167
170
112
156
115
212
156
112
242
167
239
158
135
222
193
172
219
170
231
219
121
167
186
112
112
121
112
137
121
150
184
123
208
181
206
150
174
208
210
190
172
186
171
159
164
228
112
112
112
121
176
123
112
190
160
193
112
205
123
250
217
165
135
228
184
123
177
170
112
150
172
150
255
112
205
219
150
121
112
150
150
212
241
236
159
165
121
150
158
165
121
123
177
227
170
228
165
144
159
171
112
210
226
272
231
112
187
172
156
240
165
121
229
150
231
159
216
164
150
223
212
167
167
217
112
283
223
144
115
121
212
202
112
208
187
123
150
233
124
208
172
175
112
181
194
121
150
171
210
208
176
171
172
121
208
194
237
208
193
187
195
150
112
112
181
167
150
208
112
112
123
219
186
112
228
150
214
270
181
170
212
176
228
172
164
112
195
121
186
150
150
150
232
193
165
171
112
176
243
203
158
121
239
240
229
202
172
201
208
121
202
137
243
190
121
115
112
143
255
158
176
160
186
112
150
199
150
171
161
167
150
181
213
112
150
147
167
193
156
112
172
150
173
196
182
150
164
150
121
121
123
147
302
192
121
179
171
193
250
231
232
172
135
160
156
172
150
250
236
112
160
228
205
228
172
165
189
181
186
139
194
172
212
208
203
143
175
150
150
121
215
150
218
243
217
112
137
121
150
205
237
209
195
171
157
194
208
112
181
121
115
208
150
203
170
176
253
112
202
156
112
228
172
152
167
208
159
175
226
171
215
208
150
115
176
167
159
172
112
156
121
156
164
150
194
193
150
194
243
112
212
240
128
194
112
135
184
172
136
261
112
228
174
237
176
130
193
115
210
112
167
121
112
171
208
267
192
158
135
150
150
208
225
130
150
170
181
238
172
156
165
121
172
112
168
150
176
112
170
150
208
212
168
112
204
172
170
195
208
112
124
164
167
172
208
150
123
178
131
209
194
158
112
128
121
130
208
193
170
203
229
128
135
112
181
229
112
112
208
208
136
159
170
195
172
170
112
182
123
186
150
112
193
165
239
195
150
150
186
174
239
163
229
123
170
210
130
228
164
302
121
228
112
112
243
260
192
144
150
190
216
112
173
170
223
220
172
121
187
130
194
171
137
179
121
176
203
172
172
167
112
165
121
172
210
170
215
212
187
170
208
187
112
112
121
245
123
170
136
194
255
226
121
152
172
174
112
175
210
179
189
150
176
167
215
171
144
249
195
137
208
187
247
220
220
197
170
184
203
193
272
150
165
159
230
226
112
112
203
165
135
150
237
283
167
172
123
123
220
193
130
172
121
211
208
165
123
174
210
112
229
200
208
275
121
150
202
225
143
223
218
130
158
223
228
228
121
192
150
112
150
220
168
135
165
208
191
229
121
171
176
250
222
121
135
137
121
170
112
231
203
150
136
196
150
112
115
150
150
172
150
176
147
205
112
150
171
237
167
194
206
194
186
202
175
184
206
208
167
137
150
152
205
170
150
135
112
194
112
147
112
124
175
150
171
150
183
210
187
194
137
176
150
193
115
208
302
176
244
137
112
172
121
112
185
208
150
123
152
228
225
112
196
112
174
194
208
220
156
219
181
217
239
123
194
156
121
137
167
203
226
171
172
171
181
190
121
147
192
170
181
174
112
150
278
147
128
158
214
123
141
172
121
177
136
147
208
112
170
143
213
165
136
112
231
262
159
172
167
137
171
156
150
158
160
162
168
112
123
177
182
135
157
112
165
260
187
112
130
112
194
112
175
123
172
242
160
179
208
225
170
123
150
230
276
194
208
211
208
112
274
208
202
136
115
170
208
172
224
232
115
231
176
172
237
262
112
121
172
203
234
136
226
250
194
121
143
121
136
208
219
143
152
201
228
124
150
150
115
225
150
170
145
212
276
150
196
121
147
210
112
112
201
170
171
207
150
279
121
232
150
144
165
208
181
181
165
238
121
203
255
239
167
112
172
112
170
160
230
150
170
167
139
181
137
190
220
171
112
112
136
121
143
150
175
236
208
147
150
201
161
130
121
172
165
150
208
229
121
215
177
121
128
265
215
181
112
229
201
181
172
172
171
189
208
171
121
121
302
192
165
194
196
150
181
136
193
115
150
121
208
212
182
195
250
208
220
172
136
152
189
123
167
112
232
167
167
234
239
181
202
150
220
112
150
167
193
195
207
195
147
112
112
150
229
150
174
112
181
121
150
112
201
270
244
171
165
147
194
208
208
150
150
170
112
170
187
121
179
194
124
172
150
184
121
162
150
177
208
208
167
112
112
124
150
240
186
150
189
121
150
172
171
150
168
150
209
147
164
193
194
172
150
168
236
194
115
196
193
244
179
171
165
194
181
165
194
186
202
181
112
167
212
150
150
121
228
121
150
245
128
150
193
112
208
170
150
160
171
208
157
175
136
150
172
202
112
172
219
162
121
115
150
167
175
165
123
145
171
168
152
121
136
174
112
231
121
112
143
143
170
176
136
112
193
150
150
181
165
124
186
212
112
194
202
228
176
167
147
200
121
172
212
150
123
150
195
123
233
124
152
184
214
208
150
172
193
112
171
121
121
172
208
185
121
167
170
205
121
278
172
150
172
217
255
150
137
137
121
121
150
194
208
128
121
175
202
226
201
150
150
206
174
137
212
187
150
121
200
112
112
121
199
175
233
201
170
112
150
208
123
115
150
193
187
159
181
194
237
121
199
150
121
136
150
136
150
223
178
159
203
112
250
195
229
302
245
220
121
202
228
159
208
157
208
121
185
208
181
170
150
210
176
150
172
186
200
112
175
130
212
157
150
137
170
215
144
170
186
208
226
193
177
195
158
121
181
168
167
186
121
139
217
170
181
218
112
112
150
167
208
112
228
112
115
218
112
226
228
207
194
121
121
193
171
186
150
115
167
207
165
165
115
115
225
202
152
171
193
123
176
172
208
222
150
195
121
175
123
250
121
213
150
135
176
170
197
225
176
143
257
150
194
177
165
217
202
158
195
112
201
232
150
150
262
203
174
160
121
181
244
164
112
164
215
174
171
165
171
168
150
218
175
167
212
150
223
164
171
208
160
170
150
181
210
186
229
175
237
135
164
170
194
165
258
121
193
171
184
192
136
229
176
170
167
186
175
121
194
192
143
172
246
170
167
237
219
150
112
194
210
112
112
147
150
195
205
194
136
121
170
172
186
179
135
170
147
159
187
136
150
255
228
146
176
112
150
121
150
208
112
135
181
193
150
175
150
112
112
165
217
233
112
170
208
170
192
167
195
228
194
174
121
150
212
150
171
121
181
201
150
302
182
207
242
136
171
204
184
229
194
278
227
172
150
112
302
175
229
167
150
208
243
137
136
121
297
167
121
208
174
208
205
203
186
150
240
219
137
112
228
121
239
150
147
130
121
150
228
150
112
150
208
171
160
240
171
208
112
250
208
135
176
172
167
150
115
150
135
176
263
194
172
181
208
150
146
187
150
181
150
184
193
242
121
159
112
150
174
172
177
167
201
192
204
236
121
121
170
172
150
150
170
159
137
213
121
115
112
283
193
218
204
160
243
147
212
171
150
233
187
225
172
261
217
218
112
167
192
123
172
192
186
231
193
195
121
137
170
115
150
124
156
150
207
172
150
175
210
220
206
164
171
150
171
135
210
143
208
231
150
112
150
121
202
170
228
167
195
201
171
229
150
257
171
135
112
194
115
128
177
165
237
121
136
172
227
172
121
212
170
150
112
123
202
213
213
150
220
176
164
208
190
178
228
167
150
150
160
152
150
150
143
239
121
121
150
181
236
112
137
121
203
208
121
124
112
167
165
194
171
121
150
160
150
150
115
168
176
228
263
112
208
150
165
208
208
195
144
121
139
170
150
112
210
201
170
174
172
195
150
190
187
128
263
258
150
167
150
112
202
147
193
171
167
135
193
231
229
194
219
112
136
210
245
172
124
226
136
150
174
112
112
194
208
158
179
176
150
121
147
112
194
205
150
187
220
150
186
214
150
128
194
176
121
112
181
205
170
192
176
210
147
171
124
208
255
203
150
161
195
112
123
172
186
187
134
238
172
172
176
230
165
161
187
176
112
158
193
172
244
201
208
121
187
176
150
176
198
167
276
150
121
234
176
172
112
112
208
150
135
206
167
124
202
194
121
121
172
194
150
171
219
228
112
190
208
255
165
121
157
115
194
187
171
167
136
150
121
112
121
186
112
112
135
187
208
150
231
150
292
157
172
253
150
223
112
156
187
112
228
201
164
121
170
168
178
193
171
195
150
272
231
168
237
176
239
167
167
170
207
192
170
228
112
128
147
278
112
187
225
168
171
193
171
239
150
112
158
150
229
150
210
115
147
171
170
150
228
165
208
160
241
121
121
123
112
135
150
235
194
208
123
223
121
152
220
194
220
202
146
194
171
121
121
115
139
213
182
150
171
207
186
234
231
123
229
112
115
187
175
195
147
121
208
191
166
170
208
159
112
170
112
135
210
150
121
217
184
121
115
121
121
228
135
177
205
179
170
165
170
196
222
163
112
194
176
170
150
262
112
160
170
214
150
212
124
208
112
172
179
165
112
171
150
206
194
150
237
220
121
217
170
212
184
123
112
208
176
121
121
186
218
263
203
239
257
112
192
172
186
123
157
195
121
172
172
147
189
206
194
202
150
227
167
112
170
214
150
136
208
172
255
217
237
156
170
171
143
136
208
189
210
150
170
121
208
172
168
112
217
177
178
150
215
160
150
195
112
170
240
136
181
147
176
167
150
220
231
175
137
136
150
150
207
170
150
112
115
208
233
208
203
167
206
150
179
170
150
156
171
147
172
218
226
121
121
171
193
150
174
177
147
112
172
194
228
112
164
112
193
228
171
228
112
236
176
150
239
172
123
181
210
147
208
124
255
167
228
203
112
128
167
170
223
193
170
132
112
208
172
124
137
195
219
121
232
150
194
137
172
170
208
208
210
208
112
172
121
208
150
171
261
174
112
243
135
194
150
121
215
176
112
150
195
112
210
256
121
187
143
171
184
150
195
167
150
121
112
186
208
115
181
170
150
170
121
112
121
229
121
165
236
184
170
123
172
178
176
121
193
201
207
156
176
214
112
112
194
176
189
176
195
164
121
150
158
212
147
150
194
172
130
150
172
167
195
259
136
220
150
236
210
208
187
112
208
175
121
170
123
220
240
197
115
177
171
150
150
194
231
158
192
208
202
220
135
165
223
167
179
121
177
150
167
181
135
150
158
150
216
159
150
121
158
192
135
112
112
112
112
237
194
192
209
171
228
177
233
143
170
115
217
208
158
187
150
147
171
195
150
237
209
136
186
137
170
177
193
150
165
135
150
220
255
208
187
201
124
162
112
181
193
174
255
160
112
157
205
150
159
257
208
231
112
208
170
208
172
112
196
195
170
212
271
123
150
194
162
170
217
159
121
150
130
158
163
171
181
137
194
112
217
206
135
171
223
167
123
167
202
234
150
123
208
121
150
121
186
112
177
165
186
276
150
237
172
176
176
115
208
112
213
164
121
250
212
165
150
172
121
156
150
212
112
208
271
171
196
112
208
167
239
147
112
124
181
194
121
193
150
121
112
150
135
260
112
227
195
124
121
150
241
176
228
160
155
194
195
242
187
193
208
302
167
165
121
175
139
135
170
186
207
121
193
172
164
160
150
179
229
163
203
112
112
193
159
164
193
150
150
123
208
121
171
187
168
161
192
172
168
176
115
123
150
243
150
165
171
219
234
193
150
150
207
208
130
170
172
187
170
231
201
112
208
124
177
150
241
131
159
201
112
176
263
150
167
168
161
121
154
152
121
150
172
123
112
112
121
112
147
172
134
167
223
115
121
112
147
231
147
195
231
115
123
176
150
193
225
172
160
208
170
181
165
225
160
121
164
172
172
121
121
150
123
150
121
167
223
136
115
212
205
121
224
233
150
150
150
121
121
165
174
194
208
187
112
147
150
147
222
115
147
171
123
216
172
186
181
194
210
150
143
208
137
112
192
167
172
213
181
150
128
172
189
150
217
201
170
112
281
158
205
167
150
146
150
203
124
170
189
219
172
136
112
181
203
167
150
128
233
112
165
160
219
179
131
167
203
192
150
255
164
112
121
250
167
121
252
297
181
136
249
121
167
121
177
172
172
192
121
208
115
150
150
194
206
176
195
194
135
195
201
228
218
170
112
115
191
172
121
172
233
203
297
170
123
150
121
170
171
160
211
207
165
217
195
240
201
150
221
170
170
194
176
175
171
193
210
177
147
186
239
181
213
187
175
208
121
121
136
112
202
192
172
123
165
136
150
177
170
211
135
187
203
172
214
121
147
164
150
187
172
172
181
150
168
177
147
208
220
170
187
150
227
150
194
150
212
185
208
177
208
121
212
194
146
123
177
236
130
195
137
226
150
187
237
236
124
212
181
150
203
208
249
150
215
239
123
174
195
112
165
208
195
136
201
187
150
181
158
212
121
150
145
172
160
257
121
168
165
164
121
201
150
201
189
121
195
250
259
150
112
192
181
170
121
150
170
194
236
225
139
201
150
170
208
167
150
212
135
176
170
186
112
167
121
171
176
164
150
150
181
208
181
112
167
112
159
160
172
176
176
121
152
228
212
208
150
177
167
150
136
121
217
170
207
112
177
172
186
197
262
121
150
177
112
208
199
187
193
201
177
184
173
194
112
208
208
210
176
226
208
161
150
236
222
185
194
217
208
121
112
171
172
220
136
208
167
121
121
150
158
213
112
225
121
150
224
168
172
172
236
121
171
247
263
208
232
112
231
112
167
208
217
208
193
162
147
115
232
172
194
150
203
136
121
208
167
135
210
147
239
121
189
190
121
121
121
175
130
167
121
164
150
156
208
181
228
152
202
176
150
174
123
136
223
192
228
112
217
150
167
163
194
208
203
112
121
201
208
208
170
231
112
193
209
112
112
158
208
226
231
123
150
225
170
207
121
176
220
135
167
228
240
150
121
181
193
187
112
225
123
237
121
158
121
112
150
266
165
150
121
175
170
181
210
136
187
205
207
150
170
186
208
175
196
171
216
172
123
194
115
174
244
170
227
172
135
175
115
156
208
137
263
112
202
212
186
236
172
170
128
167
124
181
194
121
159
167
186
181
112
167
231
225
208
220
121
156
150
112
174
150
215
172
201
135
208
150
201
170
121
234
193
112
208
181
220
201
136
150
208
128
121
208
219
218
237
162
112
123
167
159
178
171
167
206
202
171
192
112
115
209
146
124
112
176
208
194
156
185
240
167
208
167
121
208
239
230
208
264
150
202
112
123
150
150
208
150
172
195
220
150
215
112
164
314
137
150
226
244
121
172
156
171
208
217
212
170
121
170
172
233
167
174
250
164
239
171
196
233
112
128
150
216
172
150
249
299
192
174
202
123
167
137
203
172
174
112
189
208
194
187
121
150
112
231
208
165
150
195
202
112
207
175
150
231
208
208
172
220
112
150
150
121
112
217
170
171
150
208
192
123
158
121
186
219
170
172
170
121
212
214
158
176
189
170
167
194
194
112
176
112
112
231
112
171
143
156
265
135
150
150
158
209
167
123
112
193
208
167
208
150
182
181
186
172
172
123
167
171
150
167
219
112
198
225
228
172
186
210
121
130
112
217
150
205
272
205
184
171
208
167
124
121
170
227
176
187
212
203
190
150
150
209
181
171
150
168
150
181
152
250
167
242
192
186
170
234
276
121
123
208
202
198
150
181
178
150
238
193
159
212
181
112
123
147
159
147
181
210
135
123
207
159
121
112
171
137
123
130
121
112
123
143
171
121
115
223
150
156
171
121
263
123
150
172
195
171
173
112
172
202
189
276
112
112
171
174
121
121
210
172
255
167
112
144
150
158
168
150
135
150
202
170
112
112
147
130
112
172
137
216
121
300
210
150
171
121
209
137
150
219
121
214
164
167
174
170
205
167
130
112
167
172
150
150
210
238
187
207
150
150
147
112
181
135
182
170
167
208
150
179
112
121
228
208
150
220
112
202
235
124
150
160
210
176
112
170
195
150
160
121
112
152
174
112
135
121
208
121
193
175
210
167
135
210
193
153
121
176
172
184
208
172
226
226
165
208
208
123
172
150
112
187
284
170
208
186
171
152
213
181
150
194
137
121
112
121
201
147
208
203
136
178
112
158
209
112
112
198
181
172
235
184
170
159
150
112
187
212
187
226
195
128
150
187
135
152
255
186
242
121
123
172
137
175
167
229
121
240
170
208
156
121
181
229
232
167
171
176
112
172
175
186
278
115
178
243
228
228
150
124
147
121
139
121
176
217
256
121
164
123
150
208
208
253
123
167
150
167
112
269
121
112
174
181
202
160
130
202
192
150
143
187
215
160
121
210
123
203
243
174
170
227
216
150
147
124
208
193
219
237
150
228
250
219
150
172
121
143
121
220
216
208
214
202
171
147
150
167
176
208
202
172
123
150
150
121
172
150
150
249
269
170
237
159
234
187
150
137
186
171
162
174
123
208
172
170
150
121
227
204
195
150
229
214
112
150
160
121
188
171
212
121
171
210
187
212
216
203
136
192
150
194
250
195
112
187
121
209
158
174
172
266
160
112
219
250
218
156
167
208
121
152
136
121
189
158
208
112
135
237
276
124
187
282
195
150
150
171
172
201
172
208
150
216
115
172
237
172
137
156
212
112
158
170
150
121
179
121
135
175
121
121
179
226
165
237
131
150
112
112
250
174
172
195
150
150
115
123
150
202
208
203
167
112
225
121
225
121
158
150
288
302
165
223
137
171
121
172
147
205
193
208
167
194
209
112
215
121
241
135
208
173
130
115
150
169
194
269
194
135
260
263
175
121
123
205
186
150
147
177
167
150
201
150
207
212
176
193
171
212
165
123
181
171
236
216
174
200
164
181
208
147
167
112
121
147
164
130
123
187
170
172
170
171
159
121
167
209
165
121
208
219
159
171
150
243
172
175
202
203
187
171
112
174
172
175
159
115
202
202
187
179
240
170
115
150
121
174
164
135
171
128
201
112
203
216
121
150
167
171
121
112
185
192
121
177
150
172
121
157
208
217
158
208
177
145
170
171
228
212
112
112
158
255
217
167
236
220
164
208
172
241
171
150
171
123
265
250
228
203
150
258
208
220
159
202
212
195
121
210
159
195
210
210
217
172
195
112
194
194
229
229
135
112
195
112
112
176
171
165
168
247
147
150
121
121
193
121
124
165
150
195
190
207
176
150
187
176
193
136
232
147
112
174
130
150
136
208
192
145
150
176
195
167
164
164
123
150
150
208
172
167
239
231
207
233
202
121
240
167
121
123
150
170
112
208
170
208
115
194
160
181
135
124
210
201
172
150
191
123
150
150
130
112
210
210
121
167
150
172
167
123
186
123
112
184
217
223
175
208
173
228
160
226
208
112
112
237
186
130
202
171
211
150
176
167
165
121
203
208
194
130
172
112
181
186
181
121
184
208
224
176
201
210
179
150
239
159
121
150
164
208
159
176
177
194
276
171
201
172
112
165
167
121
208
162
228
187
208
112
150
236
287
167
239
164
177
150
179
217
121
250
130
218
167
150
231
112
192
121
250
186
202
112
150
187
167
172
228
112
255
121
170
194
255
156
150
121
210
181
156
201
171
255
172
177
156
112
208
207
130
219
206
123
174
182
231
112
158
177
131
202
231
223
167
150
160
172
167
150
112
278
172
177
184
165
176
124
147
112
249
156
175
135
112
194
150
219
273
176
157
228
112
172
157
243
276
190
147
202
202
238
159
172
201
203
219
112
208
167
230
208
225
209
236
156
165
258
228
112
159
224
171
150
210
266
208
181
172
121
150
231
208
159
192
123
121
257
208
112
121
167
201
155
156
192
243
179
175
219
192
150
112
219
247
158
167
186
219
205
202
208
194
234
172
170
150
165
237
160
177
112
172
172
190
150
171
218
167
150
158
121
173
183
150
226
193
168
171
121
150
205
171
137
112
167
150
121
172
208
194
130
112
159
144
212
177
194
181
150
121
194
172
210
121
121
193
236
150
158
167
174
112
237
287
208
208
227
208
143
112
170
189
195
210
217
123
171
150
147
203
176
150
199
171
121
121
159
184
160
195
201
150
136
176
135
231
150
171
171
172
160
208
150
170
208
187
176
210
210
150
162
186
229
241
150
135
208
121
257
167
214
150
192
143
176
171
229
204
228
196
123
219
205
147
121
225
150
121
181
201
179
217
121
172
172
112
302
112
121
112
172
182
174
123
250
207
213
219
193
217
176
218
121
176
112
150
176
170
201
208
177
192
209
112
250
121
112
123
187
158
181
121
282
217
218
159
189
201
167
172
228
194
282
160
210
112
147
150
150
121
135
123
112
143
121
112
137
289
150
150
170
172
172
150
172
156
115
112
171
275
194
135
135
121
150
203
150
112
128
121
167
219
121
225
123
112
210
223
164
220
186
112
172
201
218
278
123
150
226
156
198
218
177
202
123
112
278
167
193
172
112
167
182
112
172
174
156
147
211
172
192
170
115
165
185
150
192
150
228
236
150
202
121
172
208
216
150
147
231
170
131
150
228
152
208
112
167
112
187
150
226
121
219
147
147
150
123
150
152
208
112
208
170
150
143
186
121
143
170
203
115
263
201
172
171
195
121
121
263
213
250
112
124
150
164
121
208
167
240
172
124
112
187
223
208
236
208
170
123
212
115
186
167
220
112
164
150
175
201
171
171
121
150
172
194
175
136
225
176
170
208
123
169
162
194
187
150
194
121
150
219
209
225
112
165
150
201
135
186
112
193
170
218
170
112
181
123
210
174
250
239
167
137
193
112
150
201
234
115
263
144
123
135
150
181
299
121
128
187
168
112
165
150
195
121
162
150
121
150
226
147
128
250
172
112
243
208
187
130
165
124
174
232
228
128
180
219
150
194
112
302
176
187
174
223
112
159
150
112
150
205
112
150
226
210
172
235
193
112
150
121
147
115
112
202
150
170
195
208
171
123
237
112
172
172
167
165
208
174
172
174
192
212
208
115
178
208
137
215
121
220
121
150
219
170
159
176
167
150
172
194
112
121
112
245
150
121
219
210
112
187
121
135
115
130
128
115
192
170
174
121
167
208
112
121
112
207
172
112
220
150
167
121
170
220
123
165
150
208
195
220
195
112
240
121
190
202
281
112
181
208
145
170
123
135
123
115
124
167
112
121
243
230
212
172
167
150
167
170
143
208
164
193
121
147
181
143
207
187
203
112
170
121
208
201
167
172
168
150
112
150
186
177
150
112
121
178
165
157
181
150
208
265
143
192
172
135
194
225
173
121
208
150
193
136
174
150
219
150
121
115
123
212
147
187
193
195
218
112
201
208
171
112
234
137
112
205
176
247
150
150
239
165
208
167
240
208
186
167
170
159
112
193
208
147
150
123
203
203
206
112
112
208
121
150
112
240
208
150
170
214
112
121
193
231
177
121
202
123
177
172
209
121
181
121
187
121
219
235
208
190
177
157
184
170
156
212
158
204
167
171
193
204
195
167
207
150
167
208
216
189
192
150
203
276
214
121
170
112
237
150
150
186
237
218
208
136
229
137
150
121
150
112
167
164
121
172
164
170
150
121
179
167
172
219
172
208
269
112
112
150
150
228
112
237
150
208
112
206
207
164
194
159
217
192
115
168
150
150
141
150
208
164
137
160
170
137
150
203
219
150
181
112
228
160
272
112
263
164
112
150
187
167
171
228
232
121
150
112
150
150
174
156
143
287
276
207
123
150
115
112
195
121
182
176
123
226
158
112
135
177
202
167
194
194
208
167
194
219
171
170
211
112
208
186
161
167
150
121
217
159
202
239
255
187
112
150
137
229
171
208
112
150
181
112
208
156
193
172
219
150
172
147
136
208
112
172
194
136
137
177
170
112
174
165
219
150
199
207
112
166
150
237
150
123
143
240
121
202
167
229
167
167
121
172
205
255
193
172
189
150
210
202
208
213
112
121
136
178
123
185
240
297
147
201
174
179
124
121
189
207
112
150
150
174
203
121
150
143
136
121
221
123
165
176
157
150
186
171
181
112
121
240
121
252
160
217
201
150
161
193
186
198
130
167
112
195
172
187
203
171
123
112
179
165
123
150
237
121
186
172
204
220
150
112
171
150
152
179
156
121
150
170
171
112
123
121
112
187
123
208
147
128
123
112
121
112
152
239
194
171
171
250
121
217
208
226
193
175
208
170
150
193
176
171
208
203
212
215
211
147
121
170
182
167
208
176
170
123
235
226
208
187
164
171
193
170
150
244
208
218
172
205
176
121
121
228
228
176
217
123
147
112
171
150
159
237
178
172
170
219
112
258
172
172
197
171
208
171
222
112
189
164
152
186
174
199
112
171
150
176
121
150
187
208
115
146
172
112
147
167
208
121
150
204
203
246
112
167
147
230
201
170
209
195
243
208
176
199
121
112
174
202
150
193
171
208
112
115
112
193
150
123
124
150
195
267
135
137
186
192
147
172
208
158
150
150
187
115
121
150
121
192
181
158
209
137
174
212
302
172
186
150
210
228
150
208
208
195
167
123
150
112
181
287
194
220
168
121
208
228
190
112
135
203
206
150
177
195
172
166
186
250
194
152
121
158
121
159
168
150
174
176
227
121
186
158
165
178
208
171
121
147
305
121
150
172
150
204
258
219
237
112
112
150
209
208
156
112
208
150
226
184
254
150
128
230
170
112
161
150
115
208
208
194
123
201
176
212
123
208
164
187
234
121
219
152
112
112
255
176
181
135
121
170
160
220
181
167
179
167
203
152
121
225
112
237
121
121
121
201
182
147
172
178
208
170
112
219
150
159
121
144
194
170
181
147
177
164
123
201
150
136
218
228
205
112
165
172
121
219
168
181
225
179
112
112
203
135
193
112
172
150
123
123
112
124
194
212
150
150
165
121
174
186
209
150
121
195
152
175
172
123
158
228
152
178
121
172
195
171
201
144
167
146
278
135
165
167
172
121
210
121
181
255
170
248
150
194
274
112
112
202
121
115
164
123
158
226
121
112
150
112
123
236
112
167
176
174
124
172
240
121
179
121
174
136
170
240
136
239
179
165
150
172
137
123
146
255
121
203
168
121
219
167
177
172
183
208
226
158
171
150
194
137
112
235
172
250
170
232
167
121
216
203
176
187
212
203
124
147
181
219
181
121
150
121
150
150
121
203
186
150
202
218
172
192
121
203
164
237
143
130
112
136
150
212
150
136
192
233
167
174
195
229
189
237
150
130
237
237
150
143
259
123
203
115
228
150
144
172
215
216
172
170
189
150
121
168
170
192
150
258
194
123
150
121
112
172
152
150
208
172
121
167
112
150
259
297
167
172
291
172
208
124
163
112
193
177
195
217
145
112
150
150
194
213
217
200
112
167
186
150
208
150
150
157
242
217
112
121
135
187
121
165
236
207
156
121
250
121
112
112
176
186
201
237
121
121
159
168
167
205
255
201
112
135
208
207
150
228
207
171
172
121
192
168
228
124
239
121
112
174
112
174
150
194
150
172
146
215
150
210
167
112
112
165
170
121
203
112
194
112
192
170
203
172
123
123
165
115
123
147
218
171
186
209
112
160
173
121
121
150
112
150
201
192
171
172
137
172
144
112
232
176
172
136
121
164
152
204
208
128
121
187
227
167
123
121
194
178
192
143
171
150
150
195
202
172
186
170
162
174
208
150
150
237
226
179
250
150
176
121
194
121
185
165
255
123
159
170
219
254
150
172
193
208
178
167
171
201
112
170
184
150
277
212
263
150
171
208
172
172
171
215
112
135
150
182
115
150
185
202
137
136
194
171
208
135
217
150
176
121
184
130
170
150
208
176
192
241
150
254
121
150
181
275
137
239
167
181
230
152
158
208
217
225
213
112
206
228
123
165
237
150
208
123
186
115
164
170
167
205
259
221
193
150
121
174
205
228
228
156
112
123
112
208
195
172
170
115
121
112
112
208
167
220
160
150
250
172
195
124
231
112
112
150
203
237
194
202
150
171
245
194
186
136
208
202
112
233
208
150
135
170
121
201
186
170
112
164
172
172
209
198
130
156
171
216
193
218
150
228
150
123
150
135
181
158
150
123
112
278
174
186
240
135
147
112
192
121
208
162
231
135
121
184
177
150
196
172
112
172
172
232
208
224
170
121
112
194
172
207
150
136
176
167
112
165
123
128
230
192
197
174
202
175
194
174
136
220
187
174
112
171
177
208
229
195
150
167
150
167
121
194
170
194
164
228
208
112
179
181
237
263
226
226
121
208
205
174
150
135
245
212
172
243
123
143
158
121
121
135
201
196
167
174
121
184
141
121
112
146
276
121
150
124
202
202
208
171
165
135
143
181
136
276
210
202
250
243
239
123
217
187
168
171
150
158
121
121
167
150
208
112
176
121
171
112
271
225
150
189
239
121
112
121
143
193
204
225
206
121
171
194
193
186
172
163
172
218
121
112
150
164
243
165
165
150
165
112
137
143
159
172
182
186
121
203
121
178
208
236
186
181
230
186
150
112
170
176
171
237
171
152
231
208
208
150
208
123
123
115
208
256
205
171
121
212
231
167
203
208
150
170
112
220
208
208
152
121
115
112
121
225
209
112
176
231
146
121
150
170
147
121
175
121
194
208
121
176
210
187
150
208
121
246
150
275
170
234
176
217
195
150
170
164
171
175
194
231
167
179
197
180
218
121
171
150
112
150
150
195
150
152
177
150
150
201
112
115
174
193
159
112
243
167
150
211
205
254
270
226
158
219
112
165
135
272
218
160
152
150
112
167
210
112
172
189
167
135
165
174
171
182
179
172
210
181
172
156
167
193
164
147
201
237
269
136
172
147
150
121
171
123
147
220
121
150
150
176
137
137
137
123
229
163
115
241
121
112
150
112
128
156
136
150
187
158
131
299
172
250
186
168
166
181
247
172
121
201
121
172
208
170
237
158
203
136
193
112
208
123
237
136
171
213
124
172
186
172
214
228
136
112
112
150
150
171
194
167
172
121
121
156
170
203
210
193
167
250
177
208
186
220
136
274
112
150
150
219
167
208
123
239
112
210
208
234
112
195
164
147
172
112
225
225
112
177
123
170
167
150
112
121
172
233
112
186
210
184
172
121
194
172
121
236
193
135
218
171
150
112
121
181
150
121
121
203
123
231
209
170
174
121
172
216
176
237
150
210
175
112
172
172
210
112
150
258
121
208
186
203
186
121
150
196
124
215
150
218
136
210
121
112
150
181
172
171
228
112
167
217
160
208
194
112
231
167
208
112
159
208
150
297
150
214
112
247
167
115
221
150
166
121
204
150
174
194
177
112
150
237
245
150
112
121
135
112
191
190
123
132
150
150
175
150
186
201
208
198
165
230
130
147
194
187
150
202
203
208
177
194
171
121
139
175
231
201
150
115
208
201
215
236
144
297
112
177
228
124
208
228
143
112
112
217
210
239
121
184
175
177
176
137
170
202
204
167
170
121
207
121
161
208
195
136
172
150
112
137
172
230
123
150
150
112
167
171
123
267
228
150
193
112
236
124
135
172
150
130
170
121
130
124
183
150
121
206
112
121
115
181
137
121
171
198
254
202
195
249
121
186
112
217
200
158
176
157
121
121
205
172
189
121
229
143
121
160
162
212
150
237
171
212
143
237
152
205
164
128
144
181
257
225
124
212
205
208
223
224
158
204
172
181
233
135
208
238
208
172
238
236
172
121
170
150
112
124
208
194
172
202
170
158
140
255
243
150
172
170
178
147
167
237
121
187
121
150
150
208
121
112
150
202
193
147
177
170
189
225
150
185
228
112
205
178
173
174
121
201
208
170
112
232
186
208
152
112
251
193
208
112
167
150
232
208
121
194
123
150
150
173
243
112
150
181
167
172
176
160
179
123
135
219
213
189
218
150
170
112
181
219
167
176
121
250
176
150
181
121
171
115
263
255
130
137
208
181
218
150
150
201
172
150
167
164
172
212
150
216
167
123
193
112
135
170
181
275
130
163
135
115
171
112
170
228
171
170
121
206
123
217
121
229
217
164
186
150
159
121
228
208
208
150
150
150
200
112
171
130
112
112
207
165
170
121
164
136
208
121
170
239
158
235
121
222
170
172
207
195
228
150
229
172
194
167
236
150
121
208
177
195
208
250
150
171
161
265
205
208
156
174
208
175
231
121
212
228
171
224
165
193
150
147
220
150
193
121
172
150
150
186
112
231
208
121
229
176
205
228
208
228
121
246
193
210
167
121
176
112
181
159
112
176
160
124
232
274
202
112
177
201
121
210
171
192
195
205
205
228
123
136
172
150
193
165
278
186
201
124
172
255
121
172
193
226
177
193
150
167
184
167
172
193
175
228
171
210
167
208
170
203
150
130
128
121
172
172
150
121
112
174
112
147
208
232
197
193
112
177
135
181
150
186
208
201
194
226
187
135
185
205
210
208
193
176
203
170
152
164
135
194
123
186
195
194
160
175
210
144
150
165
171
181
150
112
121
150
121
182
172
158
231
136
121
194
128
112
164
159
156
139
172
203
112
226
112
171
195
253
208
227
121
112
168
112
112
171
174
212
156
121
150
156
201
181
137
165
121
150
225
147
202
208
167
112
210
210
171
112
208
207
124
207
153
175
178
150
210
150
121
160
202
160
135
194
164
121
210
112
201
208
121
176
170
205
172
197
112
187
194
115
121
152
135
121
164
147
187
121
176
112
121
174
145
170
167
195
226
156
150
181
172
150
210
172
181
172
164
187
188
112
194
210
185
112
171
121
156
150
121
181
194
181
198
150
203
220
178
172
112
172
172
150
165
210
250
167
274
212
121
167
208
136
121
186
137
128
150
228
121
278
228
137
195
150
195
112
202
165
150
112
201
175
243
231
147
157
170
237
208
186
192
185
220
150
208
167
204
167
112
181
242
227
135
208
208
195
172
193
121
170
205
150
217
167
137
225
123
208
164
150
236
150
135
150
150
112
163
150
196
171
208
150
112
181
181
150
193
209
123
112
136
167
121
150
178
150
150
208
147
176
203
248
187
171
180
226
242
150
208
183
216
136
164
184
112
167
167
184
208
210
150
311
124
171
130
112
150
239
172
121
180
150
112
208
171
170
112
243
181
143
209
150
164
112
174
112
187
278
186
150
150
121
211
202
150
175
244
195
172
237
112
208
150
172
193
228
136
158
176
211
196
202
237
150
150
181
170
137
181
170
168
208
171
165
165
193
202
213
175
171
137
181
150
150
193
209
174
192
165
121
220
112
124
164
131
226
302
112
150
158
177
228
165
172
208
208
201
147
150
208
112
186
175
150
176
228
115
147
150
181
150
143
121
241
219
136
147
237
137
194
208
232
217
212
167
112
121
121
121
173
237
172
195
241
250
193
208
172
150
215
247
170
167
201
164
179
216
156
130
123
121
211
203
201
147
121
171
170
193
112
230
150
177
150
143
215
136
179
123
172
121
147
205
171
232
226
263
193
112
172
150
232
233
181
170
150
193
228
219
167
112
193
112
130
121
229
232
192
172
178
208
121
173
112
121
201
167
150
302
136
165
170
207
208
263
112
225
195
217
189
121
202
219
208
115
156
121
172
229
115
181
167
176
170
302
219
184
121
121
203
159
181
147
255
124
256
150
137
167
124
179
158
150
208
167
263
176
170
121
171
172
170
177
179
187
112
187
172
139
237
194
112
213
250
112
215
201
223
165
121
150
150
214
171
200
137
226
255
172
197
165
170
165
112
202
150
130
225
195
195
171
121
234
217
231
302
250
160
176
112
150
128
135
203
167
112
215
172
203
228
172
212
231
173
150
150
150
121
123
172
162
276
212
194
160
181
150
165
170
237
208
171
121
167
165
297
170
176
150
115
112
208
150
220
176
210
121
220
167
112
172
135
112
121
121
172
205
123
207
208
159
210
170
156
213
193
167
250
121
112
150
208
187
121
150
170
150
254
137
172
255
112
121
112
150
150
225
137
256
243
208
121
158
171
150
208
208
150
167
167
193
182
171
150
112
170
194
213
172
123
170
236
112
194
226
208
121
179
165
172
198
123
250
181
150
150
195
284
121
167
208
172
195
164
228
121
112
190
143
112
208
203
121
208
193
208
270
195
203
167
147
208
194
112
137
185
150
150
263
172
194
112
112
201
150
170
115
150
176
112
254
170
143
124
115
124
208
171
150
217
170
208
124
170
176
150
193
112
112
174
231
112
147
150
228
121
121
174
281
143
194
208
186
123
243
158
123
172
265
175
136
170
135
187
181
172
228
112
112
165
171
218
112
168
237
201
217
195
121
227
167
112
112
228
150
139
137
170
147
167
150
167
258
121
147
186
181
158
170
208
194
174
150
228
201
115
201
205
165
112
231
121
150
150
112
178
181
112
160
176
208
195
211
121
160
160
170
150
150
182
208
187
168
121
150
181
187
193
201
186
186
207
159
115
112
124
186
150
150
112
172
174
167
208
212
167
212
208
147
112
206
121
123
194
150
170
208
210
135
112
210
208
167
219
150
112
150
219
157
150
208
121
112
150
226
167
122
121
150
172
187
150
217
121
165
203
112
150
124
167
171
112
210
112
112
121
112
237
137
206
136
245
123
147
191
193
150
135
153
172
150
172
150
171
228
150
172
296
112
181
159
226
179
112
121
121
121
176
193
150
194
203
165
228
207
208
150
159
137
171
167
198
263
170
171
115
255
202
121
265
192
301
112
207
123
150
171
150
202
161
190
164
167
177
121
156
172
208
205
150
213
112
152
167
150
176
156
170
205
208
150
121
168
171
208
112
208
135
115
193
208
235
219
171
170
160
172
150
250
237
228
158
233
207
158
175
150
150
220
112
170
179
147
167
172
136
226
150
150
123
112
112
112
170
165
124
165
158
220
150
172
192
177
225
150
208
234
204
130
135
246
194
184
193
150
156
156
167
136
123
135
288
147
150
208
208
194
194
150
121
165
171
201
228
171
194
172
207
150
121
237
230
150
121
208
209
150
137
171
212
112
187
213
164
206
228
215
121
158
208
123
136
123
185
123
192
165
208
201
184
121
152
202
172
181
145
172
202
220
167
150
157
176
220
121
171
123
147
172
156
212
136
161
176
112
202
192
121
157
115
150
130
230
202
161
210
121
137
172
150
181
172
250
123
172
167
112
199
208
194
250
121
121
229
112
170
150
231
178
172
121
150
176
177
176
135
150
123
259
208
181
234
121
171
112
204
121
121
150
121
170
176
242
193
170
172
191
170
128
158
112
135
172
180
167
121
121
123
112
194
167
215
135
121
121
171
184
208
121
150
193
167
208
210
112
172
191
205
150
123
170
137
143
156
150
240
137
150
112
135
208
208
121
112
170
136
150
165
240
167
299
202
164
123
150
160
186
171
121
233
112
213
135
150
177
208
121
150
121
232
172
150
123
150
208
137
112
232
167
167
201
112
237
150
177
208
181
210
194
232
112
112
172
263
224
250
201
172
194
172
172
195
210
181
135
121
194
156
121
164
208
181
168
150
150
212
219
112
158
231
115
167
183
177
186
150
124
135
195
121
158
302
112
124
123
201
150
181
167
144
223
170
229
194
174
231
208
112
228
150
165
160
239
192
208
186
238
217
150
164
208
208
212
192
208
165
127
150
150
150
202
136
150
172
212
124
176
156
206
242
263
193
150
232
204
194
194
121
161
153
150
208
222
203
172
171
150
201
208
123
150
150
150
135
164
112
143
183
172
150
173
172
187
170
167
190
147
208
200
202
178
112
121
176
121
112
121
112
171
193
220
121
217
229
112
172
143
208
224
208
121
208
121
172
172
172
172
181
217
112
150
208
112
172
124
150
165
237
201
112
257
115
172
165
158
203
170
247
112
135
210
192
150
172
112
150
150
226
234
184
139
112
208
225
121
150
193
251
208
172
150
112
170
112
187
128
121
181
201
150
167
130
170
217
172
156
112
121
184
136
243
150
214
150
112
240
112
219
193
123
250
112
225
143
136
150
167
121
250
222
198
208
150
150
150
171
123
181
202
167
167
172
150
112
112
185
172
167
231
245
112
150
190
225
201
231
168
144
187
121
205
279
112
278
170
231
228
160
121
229
208
193
131
181
112
150
181
193
150
208
170
135
186
223
152
192
231
124
121
172
167
250
121
158
186
208
121
208
150
197
192
259
121
208
112
196
150
150
197
176
255
121
123
195
150
223
112
150
150
193
202
150
170
150
121
135
195
187
195
128
177
229
176
112
228
150
170
150
121
208
159
121
208
150
112
201
217
150
124
121
208
150
174
171
215
112
121
194
219
112
131
219
139
156
194
208
150
194
112
150
137
203
226
170
121
112
121
158
165
210
196
195
121
152
175
214
167
181
187
150
201
150
150
266
210
112
193
186
240
170
208
112
194
121
167
229
136
217
112
181
266
208
137
135
150
150
237
150
201
143
203
171
121
150
239
167
194
172
212
171
174
165
150
228
112
165
171
172
197
204
255
121
160
208
136
150
170
121
121
167
192
165
112
215
121
208
172
214
124
150
167
121
243
182
182
143
195
208
217
152
176
255
150
124
170
171
124
112
193
226
237
172
192
145
184
259
215
170
112
193
302
212
176
177
208
208
121
144
167
112
243
171
156
208
135
150
203
195
165
162
150
217
158
170
186
253
212
192
128
112
184
226
176
143
137
208
164
182
170
233
172
223
167
209
208
136
205
124
194
123
218
207
203
150
184
181
121
193
176
159
202
172
172
208
176
167
200
174
115
253
124
219
201
112
165
167
219
227
112
121
208
223
121
172
250
167
124
170
121
212
135
208
172
212
190
202
112
175
115
121
167
186
187
152
172
208
150
194
246
172
186
165
121
194
225
202
164
123
215
150
115
203
121
170
225
121
172
123
217
150
235
190
202
165
112
208
167
121
231
172
179
137
186
150
201
227
219
170
228
210
226
170
172
194
201
192
208
174
159
217
233
112
250
112
227
260
183
186
193
150
172
121
172
115
121
228
112
123
168
150
150
170
195
165
128
226
172
147
176
112
215
121
112
167
208
274
258
171
112
208
158
181
245
187
159
176
150
150
160
187
167
121
172
164
208
158
203
112
150
231
135
121
194
228
112
159
197
130
193
210
239
237
237
128
181
150
124
181
168
150
150
112
121
159
121
135
112
171
172
170
115
150
150
150
207
121
112
194
150
137
112
150
203
121
171
112
232
194
240
186
167
150
112
115
208
205
254
150
143
112
160
208
202
176
112
112
192
172
168
181
206
115
202
171
112
214
147
212
150
135
172
278
144
121
172
121
172
260
158
167
161
165
150
150
150
172
241
210
130
167
226
112
172
150
203
236
150
112
202
112
278
237
172
232
193
150
265
167
135
193
112
207
167
150
167
175
172
192
112
195
208
212
150
112
194
112
208
150
164
150
239
208
178
137
112
201
172
121
181
112
211
167
194
228
135
268
165
160
212
239
176
193
202
229
146
158
194
170
186
150
200
170
115
167
121
211
112
170
202
210
112
112
165
136
228
181
135
150
208
150
172
195
158
112
233
181
247
152
136
217
112
176
112
158
150
112
178
150
160
160
112
255
204
208
171
269
186
150
150
212
219
249
135
172
176
202
187
164
172
135
231
212
165
213
167
255
220
209
202
181
174
208
201
168
175
159
172
112
288
123
172
231
228
270
156
130
194
150
170
193
201
242
170
150
130
208
112
208
175
187
170
192
115
123
181
208
123
250
181
167
150
121
165
172
173
172
214
121
115
168
209
150
123
170
147
152
121
214
150
204
112
112
194
202
150
241
305
187
112
268
121
302
150
150
181
176
121
112
121
194
159
219
150
167
302
135
123
172
219
112
150
121
181
139
171
112
112
167
112
186
150
181
121
195
255
130
176
172
121
112
176
172
175
195
187
158
172
215
150
202
167
193
201
172
112
179
137
187
208
112
172
172
150
150
168
156
150
160
206
121
194
217
121
131
171
121
221
121
181
175
112
235
208
152
242
208
121
239
150
172
237
165
181
214
150
112
176
171
150
136
112
150
123
121
121
121
194
186
159
208
276
128
112
205
193
112
176
212
172
193
121
176
167
158
112
165
121
219
237
228
167
177
172
247
150
147
150
208
207
121
176
112
208
143
176
121
167
208
212
136
112
112
193
200
208
121
171
172
237
167
167
181
196
115
187
195
170
167
170
124
228
221
194
121
167
172
123
192
212
237
194
171
152
234
225
208
225
187
171
229
157
112
121
241
112
135
112
160
123
193
150
150
112
150
124
195
115
194
168
112
194
172
150
112
241
121
229
121
174
167
234
250
237
171
194
193
171
201
124
115
172
150
192
208
121
187
232
150
187
112
208
121
228
150
150
239
150
196
121
171
112
203
181
123
146
170
195
194
227
219
112
220
212
121
250
135
171
150
123
208
121
123
217
115
195
173
150
150
194
167
150
124
150
112
186
112
208
172
220
158
170
150
177
121
135
176
112
112
150
164
123
268
112
147
164
215
244
147
121
212
210
143
193
115
207
123
203
150
160
175
150
212
170
154
176
205
150
112
175
165
170
168
271
221
186
130
278
174
150
121
179
187
172
171
194
112
209
176
171
123
143
225
171
228
150
201
143
228
202
208
112
193
223
121
112
121
170
136
159
176
208
189
150
171
150
123
171
186
233
229
150
272
150
172
278
139
152
176
112
137
152
240
168
195
150
170
165
150
217
123
232
212
181
214
150
263
195
121
150
194
342
121
157
112
176
212
112
181
208
171
150
167
150
208
150
165
177
121
164
123
121
226
232
254
173
170
302
150
194
194
208
167
158
123
195
147
184
112
172
228
167
210
195
150
150
167
174
172
150
165
227
243
124
159
208
150
167
121
225
115
206
170
186
187
167
194
198
153
150
150
170
121
172
172
155
187
165
158
112
278
167
194
186
218
167
150
112
170
205
156
219
208
150
121
150
209
112
135
208
150
112
220
115
139
121
112
165
181
124
121
171
187
130
112
254
112
177
166
167
249
210
112
172
165
186
157
121
121
168
147
170
175
112
121
217
218
152
150
150
121
220
192
112
150
150
193
150
115
210
208
112
112
208
201
121
123
121
232
139
195
208
208
176
150
194
112
157
193
255
136
217
186
150
237
147
181
167
156
237
177
115
159
150
167
112
208
158
314
186
177
136
167
172
194
150
164
112
121
219
187
158
150
135
172
194
112
150
242
198
187
225
167
150
179
165
231
121
112
150
167
187
112
204
181
253
170
208
208
170
167
165
208
231
193
165
167
208
130
167
278
135
112
221
128
219
210
208
121
115
219
208
209
150
187
192
123
172
192
121
165
150
208
186
208
243
226
112
112
150
150
186
208
186
181
112
124
225
187
167
112
228
170
208
179
137
205
201
150
136
171
112
130
178
121
135
164
194
152
121
121
194
167
195
208
205
194
130
206
150
112
170
112
112
244
212
112
159
112
150
171
186
175
217
219
150
172
121
181
112
172
144
212
193
208
170
194
190
173
210
208
115
170
112
208
121
112
172
144
121
176
128
121
168
136
137
195
150
182
242
257
123
172
201
240
170
201
112
176
137
197
121
208
112
161
167
208
164
171
135
219
278
195
186
121
176
123
208
137
159
150
170
172
112
150
112
215
207
208
241
208
121
299
170
181
112
209
112
195
121
150
159
136
179
229
137
171
147
207
135
171
171
147
207
121
181
150
182
203
121
124
121
218
167
187
150
158
170
150
176
112
302
228
121
112
112
219
193
174
147
170
121
249
124
150
272
121
156
229
112
121
210
230
171
208
160
171
229
202
208
205
112
150
112
172
121
112
217
208
121
187
150
150
112
150
121
195
147
172
208
210
171
150
150
112
193
112
176
112
150
228
165
115
130
164
158
150
193
217
170
121
228
150
167
212
214
181
164
189
201
172
175
208
159
171
214
172
121
171
115
170
172
121
207
121
181
136
137
226
297
212
186
240
208
202
165
227
215
196
150
230
230
121
172
112
181
176
228
150
150
147
203
172
211
167
193
112
156
165
123
150
174
115
112
158
204
234
158
194
150
152
194
150
217
115
208
123
195
121
264
212
112
165
208
150
239
112
150
150
186
112
136
274
228
172
112
203
163
121
150
171
208
130
121
208
181
170
172
121
170
226
112
302
237
171
137
167
218
170
150
172
208
173
158
167
202
244
182
147
201
152
123
170
181
208
165
172
210
167
250
226
208
152
186
172
220
210
121
232
238
112
235
208
201
203
168
123
231
224
242
150
137
137
202
223
174
196
112
160
121
150
136
198
112
150
170
205
228
123
112
301
152
158
206
223
164
112
150
137
121
158
208
194
171
164
123
187
265
208
121
204
186
188
172
147
187
237
167
184
171
150
172
167
112
160
160
194
208
136
170
220
112
121
228
167
112
176
176
181
130
112
112
164
136
150
208
137
204
150
192
135
237
136
143
194
228
189
172
150
150
172
147
226
181
150
263
147
112
128
172
123
194
171
205
121
167
165
187
239
121
208
158
112
157
181
172
172
150
208
217
136
165
167
208
150
172
203
112
150
150
112
150
228
176
112
170
216
229
226
194
135
231
150
121
209
150
178
179
171
182
150
167
208
121
135
194
150
186
112
150
237
170
193
225
237
172
199
165
275
112
239
112
130
164
171
165
208
230
218
121
289
276
176
147
150
342
202
112
112
168
184
157
170
176
220
170
150
171
112
123
195
194
228
167
174
121
194
150
162
250
187
191
176
121
179
150
167
174
229
112
177
230
172
190
123
156
207
150
170
150
202
279
196
121
152
177
208
172
171
167
194
260
144
150
167
150
144
175
263
121
136
255
165
150
190
193
210
152
196
186
210
150
112
121
181
181
192
182
204
208
237
115
194
121
204
171
167
150
150
179
172
112
302
112
147
237
164
124
208
170
194
136
121
112
164
172
170
167
270
168
237
112
150
158
170
112
150
201
219
150
150
176
150
181
121
193
150
123
175
150
136
121
121
172
112
269
167
121
220
229
121
177
194
123
150
208
211
136
250
155
167
210
200
136
181
195
220
112
112
208
172
228
164
172
121
150
280
172
266
206
237
159
160
201
239
135
135
193
121
184
174
167
135
144
181
217
208
171
212
146
112
112
123
150
159
235
223
208
178
150
177
165
262
201
172
208
226
195
112
160
217
135
274
176
121
172
112
299
244
212
171
121
187
210
260
147
237
159
229
137
208
112
242
181
167
172
121
160
255
112
164
150
150
205
207
112
212
181
150
115
218
115
237
112
163
171
170
208
164
207
181
112
172
197
137
147
207
170
156
121
212
136
226
147
136
165
159
123
112
224
245
212
112
115
194
203
184
112
176
167
150
208
157
158
150
167
217
150
172
174
168
150
170
228
150
193
121
171
121
112
112
152
112
167
207
208
112
186
230
112
194
166
112
250
112
237
263
172
167
171
241
167
121
121
121
158
121
272
200
123
164
165
182
212
203
121
176
168
170
170
208
121
172
156
128
204
281
167
170
186
176
172
150
167
112
172
208
115
195
255
218
255
112
205
147
170
150
172
208
170
179
123
178
164
170
186
208
172
115
167
164
171
165
150
112
196
226
172
147
137
137
202
112
150
229
216
136
171
158
112
137
115
158
202
194
220
121
167
150
112
115
223
219
253
115
176
219
208
186
176
217
172
226
112
233
112
168
201
137
258
186
236
121
144
213
223
121
194
170
305
210
230
136
172
207
171
150
247
165
179
230
194
189
150
171
218
172
243
171
147
121
112
167
150
137
115
226
170
165
172
208
135
219
208
176
173
302
150
130
208
201
177
112
208
259
112
164
121
150
150
205
233
255
288
112
112
220
150
187
206
193
228
123
150
208
137
193
228
167
193
121
218
195
175
164
150
123
112
150
202
112
209
187
143
212
215
174
172
150
150
130
112
139
112
202
150
123
121
150
206
171
275
135
219
182
208
172
187
281
227
150
150
172
143
172
232
135
194
112
255
219
245
208
150
150
165
177
187
207
255
239
164
210
194
172
172
172
224
121
112
163
159
112
159
163
227
187
131
170
186
123
137
207
210
112
207
171
147
207
150
121
208
194
181
172
208
168
167
123
150
214
174
121
165
136
171
165
162
167
150
278
167
172
172
220
112
170
167
202
167
172
195
225
123
121
203
164
112
136
159
121
167
208
150
207
158
112
172
184
237
194
170
232
212
284
112
208
174
194
186
167
210
239
136
112
239
150
112
202
231
172
136
121
231
150
177
193
121
150
150
192
172
150
115
194
165
210
130
218
195
150
171
112
240
237
156
192
186
115
193
112
201
123
208
224
205
112
150
158
170
150
112
207
150
236
208
188
112
150
196
208
237
115
123
137
172
150
112
150
276
237
158
136
121
171
231
210
210
121
217
186
112
112
232
121
208
152
234
150
237
242
208
192
150
150
171
172
266
181
247
168
112
193
184
174
121
136
218
121
130
115
218
181
150
165
160
121
145
228
231
223
165
172
168
174
172
112
170
115
194
152
121
170
256
156
201
112
217
121
115
121
112
112
112
193
187
181
228
209
121
216
121
215
130
171
246
170
172
186
210
123
227
147
206
213
302
229
211
202
164
196
208
193
266
174
150
208
220
232
121
160
112
166
203
158
177
112
278
212
213
255
150
115
112
136
231
208
164
195
165
172
171
243
168
184
183
121
171
150
128
121
192
241
150
150
150
150
112
227
182
150
202
255
150
208
186
112
112
121
171
167
150
112
170
241
128
121
121
121
167
208
208
112
181
112
186
112
172
167
124
266
201
115
168
189
167
176
141
250
196
150
205
210
186
177
136
160
170
194
181
156
112
235
210
172
150
123
121
240
242
195
235
206
257
112
239
207
121
208
150
112
170
170
115
175
193
208
195
143
121
121
123
194
223
121
201
190
170
121
150
136
128
161
278
180
220
121
194
160
150
302
208
167
228
150
168
172
181
165
208
164
121
272
225
171
187
121
137
150
220
135
225
167
187
150
208
121
210
156
121
237
124
170
170
182
167
136
172
112
201
165
160
176
212
165
175
162
172
112
208
121
171
121
112
181
201
121
123
174
177
158
170
112
137
150
112
194
112
167
128
139
235
172
112
167
228
213
234
136
112
257
233
220
216
156
121
231
201
112
195
171
150
123
203
220
234
209
194
167
225
146
124
208
165
150
150
135
177
172
227
121
181
205
181
171
201
121
195
170
150
150
208
150
147
195
229
165
172
171
137
227
121
147
194
174
135
234
121
191
121
172
167
237
177
237
147
228
136
170
171
112
194
178
172
182
237
170
112
193
171
152
175
232
136
181
196
172
167
192
212
150
228
210
167
112
167
201
181
121
112
172
165
209
202
175
210
121
250
112
220
150
130
194
121
123
205
172
171
150
160
187
159
167
112
167
176
226
150
208
150
194
276
150
150
225
112
168
216
210
208
208
219
172
195
158
202
172
208
220
214
112
208
165
217
177
214
194
170
112
278
205
236
211
167
123
208
124
192
171
175
208
229
115
189
121
208
226
200
121
172
172
136
209
121
171
150
228
112
209
172
150
208
121
170
121
112
208
112
194
112
170
220
121
112
121
167
184
147
121
242
202
194
208
195
208
239
172
208
150
207
167
165
158
181
260
302
186
170
236
215
223
167
150
208
112
145
167
143
212
172
257
205
172
171
123
302
167
172
150
112
167
172
179
164
193
205
136
171
228
150
112
130
156
208
150
291
170
121
239
150
186
150
112
208
165
112
212
112
207
112
150
167
229
167
137
207
203
201
172
150
208
121
178
121
171
121
171
158
302
229
195
165
208
210
123
176
233
112
123
150
112
222
208
150
175
167
174
112
136
112
121
217
112
150
194
176
255
208
150
172
150
171
171
165
194
174
171
171
167
177
239
130
156
137
202
170
121
121
176
278
176
203
215
205
170
225
205
172
121
123
160
112
150
202
195
235
275
130
167
208
172
112
158
137
194
167
172
160
121
250
112
181
208
150
237
172
186
180
150
231
229
112
121
150
167
195
172
255
214
165
194
231
121
226
220
237
165
136
150
121
165
176
147
150
167
194
167
176
112
184
230
150
231
128
121
170
172
202
147
121
147
194
228
176
137
216
136
195
150
208
150
136
171
121
281
165
176
208
228
130
150
176
279
144
203
112
208
150
181
218
150
150
167
186
121
208
225
218
212
208
121
210
189
112
250
150
167
136
121
172
121
176
193
150
164
165
121
205
137
202
150
202
160
208
121
170
150
112
219
193
170
115
276
231
217
176
167
208
215
194
150
115
123
261
121
159
193
159
202
124
121
188
150
240
237
160
164
176
176
171
194
187
121
186
137
115
112
112
172
171
165
221
255
112
150
112
208
147
152
152
123
186
208
150
135
208
121
112
177
128
231
172
121
112
150
176
168
112
192
194
123
162
201
150
201
124
215
170
186
228
121
170
115
170
202
171
112
208
165
112
147
165
194
171
172
197
195
167
150
222
150
209
193
250
121
160
170
184
207
150
208
131
136
177
200
165
208
190
208
115
121
121
175
302
121
167
112
165
150
171
150
134
176
171
178
150
112
172
170
112
172
172
209
121
172
165
115
233
218
112
165
150
128
150
171
162
194
176
230
137
170
164
150
150
179
165
237
162
203
177
137
144
112
121
255
193
179
156
245
278
194
167
158
174
194
150
121
137
172
165
208
112
209
112
124
112
186
112
193
167
203
137
170
160
193
187
193
165
202
160
255
121
171
136
170
121
230
176
160
156
208
234
225
156
172
170
165
153
181
115
210
123
112
154
112
234
165
209
232
137
203
177
158
150
150
208
170
150
210
170
168
121
150
172
193
157
182
112
229
112
150
176
112
121
193
112
112
150
172
176
193
164
208
208
170
159
167
193
123
181
181
233
208
247
137
137
115
171
150
176
237
174
255
112
168
112
181
231
231
226
112
225
170
123
250
150
159
226
112
210
165
170
150
161
160
130
136
150
150
278
201
167
231
196
206
181
217
164
208
217
186
167
193
205
228
167
152
171
153
150
150
150
175
144
164
112
203
115
202
150
197
150
181
112
164
208
123
112
271
150
170
150
136
250
184
150
121
193
195
121
212
203
112
208
176
150
167
180
171
136
220
205
223
175
170
157
194
150
150
121
150
150
147
219
217
121
124
147
205
115
172
112
208
150
143
186
178
165
150
150
208
147
208
143
208
159
150
196
186
137
208
112
171
206
226
150
115
112
186
144
262
150
121
157
115
215
112
135
208
150
257
146
176
196
121
216
150
194
172
158
228
255
112
121
115
128
156
115
243
135
210
172
208
175
165
191
170
170
150
201
220
112
137
121
192
212
179
150
235
123
204
123
210
194
112
158
112
112
194
164
137
220
121
160
194
208
171
171
157
186
171
112
194
171
170
146
240
212
130
150
164
150
171
115
136
150
150
150
215
157
182
258
198
150
208
171
115
172
112
215
112
150
112
150
208
172
208
250
216
147
197
181
201
210
123
171
229
177
165
156
176
121
167
225
121
189
208
194
171
150
208
121
240
232
198
112
156
181
192
150
150
150
208
150
204
121
112
194
186
187
150
123
131
167
150
210
121
217
193
205
112
162
159
155
208
130
192
150
225
179
202
208
172
201
195
195
112
194
112
150
278
112
143
170
228
208
198
112
240
150
171
181
194
228
130
136
150
121
172
112
136
123
123
281
171
112
147
222
167
176
201
136
211
121
137
150
167
208
112
167
208
172
150
112
112
208
194
112
112
176
121
181
210
195
150
171
121
194
112
196
210
243
156
147
115
170
170
150
158
206
170
159
267
121
237
167
167
208
150
160
136
226
150
147
121
172
121
226
239
150
150
228
167
241
186
167
172
121
147
207
121
121
207
150
121
152
150
217
150
228
135
172
164
172
165
146
150
150
208
208
164
152
209
158
208
171
121
228
112
231
181
263
121
187
130
220
137
123
112
150
208
112
188
238
121
194
150
147
112
150
172
115
228
150
172
171
136
192
204
202
156
167
171
208
210
195
150
137
123
150
121
150
136
112
208
229
112
186
208
159
195
228
135
115
202
237
150
203
192
195
135
209
172
259
112
214
158
190
208
217
150
112
168
175
112
150
195
226
237
121
207
123
115
147
178
172
150
165
208
235
150
147
237
135
243
121
226
185
216
260
170
219
232
121
167
112
176
176
172
201
176
123
177
178
220
243
150
170
282
160
131
177
172
201
115
112
211
112
297
255
150
198
112
190
158
208
181
177
112
121
181
255
278
121
199
202
219
112
209
208
195
198
207
245
176
112
172
130
302
164
150
146
165
150
185
112
121
195
219
150
170
211
144
193
112
186
208
182
225
150
209
123
171
176
150
210
176
167
263
147
178
171
171
239
220
193
210
212
205
195
164
176
198
208
220
276
228
165
150
121
150
121
136
147
150
123
167
219
189
201
176
170
172
171
302
201
165
250
171
178
112
174
150
176
112
207
228
123
208
233
112
229
207
172
176
193
181
112
240
115
171
210
146
171
189
171
181
128
121
205
194
123
167
161
219
187
172
189
219
121
121
202
121
205
161
130
250
208
164
181
150
181
202
177
246
228
167
112
167
150
167
193
228
150
121
172
147
253
150
167
181
212
159
112
237
193
170
264
208
212
150
121
164
128
181
150
130
207
172
136
210
136
170
194
167
121
172
172
195
167
121
150
136
201
194
150
186
210
172
219
202
186
150
112
192
164
208
150
168
112
208
181
220
212
233
181
217
278
203
156
128
137
232
231
228
242
160
237
150
171
222
174
224
153
156
192
202
147
147
171
201
160
170
176
218
150
136
176
178
205
123
181
202
202
121
208
121
199
121
212
171
165
121
137
172
137
202
208
179
231
158
243
121
121
123
203
203
210
166
167
183
112
137
121
208
170
231
227
112
193
159
186
123
150
208
208
135
187
135
229
150
231
195
167
193
168
156
190
215
157
302
144
124
187
210
112
187
227
202
112
168
228
208
208
130
187
208
159
192
207
181
172
112
177
156
173
121
204
194
136
172
181
201
271
112
208
135
112
225
226
175
174
112
210
226
218
195
150
112
167
207
205
150
150
208
167
150
164
186
112
167
228
112
112
121
222
276
112
176
310
123
195
112
112
190
150
172
228
143
215
241
167
177
231
229
112
112
202
150
212
208
172
202
130
170
170
150
150
172
139
160
150
174
213
184
170
184
174
123
195
156
152
198
228
150
112
199
193
237
172
150
186
201
194
136
150
128
172
176
170
222
196
239
150
135
224
210
193
150
168
150
235
194
150
171
244
170
121
176
226
112
150
150
174
172
179
150
112
112
188
123
170
210
123
170
193
115
112
186
214
226
112
239
270
178
152
201
112
202
176
226
167
115
236
167
121
210
112
202
123
170
121
258
176
181
112
186
201
220
150
207
177
208
278
159
172
171
187
195
177
152
167
121
121
224
121
150
216
218
219
215
181
150
164
112
195
219
202
121
176
137
208
112
150
121
208
121
189
150
112
218
150
171
135
136
208
231
194
281
147
182
172
121
174
150
150
150
181
195
181
243
121
184
172
150
121
214
112
115
194
263
226
208
231
172
186
230
219
172
177
194
150
121
232
112
150
121
112
112
121
135
172
219
150
158
165
175
112
150
150
232
214
187
233
112
150
195
168
171
239
167
186
150
170
176
174
150
150
150
150
150
195
150
121
229
172
174
150
205
172
177
208
172
150
150
203
150
164
172
158
170
172
175
174
158
192
150
171
121
202
181
137
152
205
208
121
121
150
121
208
194
217
208
159
196
181
203
121
121
177
201
220
121
112
135
226
136
150
121
121
172
164
208
112
245
112
170
208
150
136
121
112
112
112
121
159
158
158
170
181
164
112
228
135
121
130
186
150
201
158
143
167
199
112
112
146
150
136
150
174
128
112
115
237
121
112
210
172
219
115
186
115
172
112
124
156
250
233
112
150
112
264
210
186
121
172
228
165
158
112
177
150
167
237
170
167
219
121
121
123
181
121
207
112
266
193
269
137
189
168
158
150
159
210
232
115
112
150
208
253
128
176
167
171
208
173
192
167
150
158
137
206
112
226
208
121
170
167
176
144
150
115
208
135
165
135
203
165
170
210
232
150
208
112
167
220
168
172
157
220
172
172
172
208
238
112
147
210
112
123
147
215
227
231
159
234
208
202
137
121
150
213
121
237
150
171
150
150
152
208
170
176
260
213
150
165
195
202
136
178
230
152
165
164
121
195
150
112
277
187
220
186
217
191
162
150
208
217
167
150
193
123
187
147
150
112
171
150
208
121
121
123
115
177
150
184
150
150
112
150
176
121
121
192
112
112
215
175
212
172
228
170
263
198
144
167
123
150
152
208
255
202
234
276
194
121
220
348
208
164
165
207
147
210
112
216
299
176
267
250
181
214
208
112
195
121
136
121
204
170
207
172
167
150
257
167
203
203
171
112
121
167
124
112
121
112
210
150
121
115
194
150
174
172
181
112
112
208
221
210
189
150
112
171
218
255
121
150
171
172
271
216
150
121
143
220
157
150
208
150
170
121
212
170
174
112
225
112
112
172
182
194
115
232
172
112
237
228
253
167
194
207
147
150
150
112
175
160
210
150
189
165
235
171
171
239
187
137
150
210
194
172
161
123
250
167
112
182
121
218
202
150
208
193
146
164
174
260
278
208
234
172
128
218
112
171
112
112
172
121
186
115
167
112
194
212
255
150
231
121
171
228
186
167
181
263
231
229
150
201
205
218
124
214
147
204
255
135
193
176
115
136
112
150
146
172
136
239
172
192
165
172
121
112
135
150
176
208
223
208
136
210
208
150
112
192
231
237
167
150
160
112
192
194
112
219
176
159
172
193
217
236
204
172
112
123
150
276
112
181
115
176
181
159
217
167
115
225
257
112
186
208
181
150
257
150
274
192
202
137
121
158
112
115
136
121
123
186
135
150
135
165
123
145
112
184
171
147
136
208
203
219
170
171
123
171
128
202
239
219
184
167
121
201
165
165
164
121
226
232
202
208
194
228
147
112
206
123
135
170
123
121
171
203
227
150
165
208
220
115
150
186
342
156
172
121
115
156
150
121
220
158
225
208
203
299
193
112
207
186
172
203
186
144
150
150
152
208
150
174
172
177
275
226
172
190
195
229
186
237
165
121
167
186
137
170
255
112
182
235
211
225
165
244
172
150
177
220
176
150
112
181
172
208
201
160
167
135
135
143
123
226
201
167
186
170
150
186
112
186
150
172
159
170
186
121
121
162
215
130
112
172
201
198
195
219
121
217
229
170
167
150
263
177
123
121
220
210
135
176
211
158
150
181
194
279
150
228
208
220
112
167
195
177
157
250
150
210
121
135
170
189
213
168
167
219
115
150
257
152
121
121
170
202
150
121
130
250
144
121
121
135
208
208
277
181
167
170
229
192
150
150
195
202
121
255
186
112
137
224
168
172
171
165
218
231
176
172
195
202
150
128
276
121
194
207
210
123
172
112
219
193
220
121
172
192
194
112
172
150
136
150
168
201
199
137
112
207
152
121
181
184
177
172
209
128
150
112
165
150
258
150
137
237
229
171
186
193
208
172
228
112
112
232
171
112
208
112
239
203
176
168
208
202
167
165
121
208
207
112
150
228
112
167
115
217
112
171
181
147
241
176
213
260
237
167
240
208
193
177
123
167
198
179
263
150
200
112
137
243
150
121
130
112
123
207
244
194
237
207
170
202
174
182
150
257
121
219
143
207
150
170
208
173
208
123
217
203
172
186
170
123
256
167
207
172
206
286
121
172
187
171
112
208
121
123
215
150
254
208
240
217
112
143
230
194
174
212
172
203
122
150
177
208
112
173
112
214
181
202
193
164
201
302
196
175
176
160
186
220
226
172
187
164
156
210
112
186
150
150
150
259
112
231
143
219
203
121
130
123
178
112
121
241
210
112
172
218
186
150
167
150
136
194
170
171
135
195
210
195
159
121
123
217
121
202
121
112
220
232
150
172
168
124
181
147
164
250
135
165
205
203
204
150
165
150
121
202
170
150
218
242
121
165
193
159
112
136
187
150
208
220
194
112
187
123
150
233
185
181
121
112
210
128
171
150
172
208
232
112
124
212
208
170
112
112
112
231
228
214
189
150
195
167
172
136
220
121
211
130
171
186
260
150
242
150
220
167
187
170
173
112
112
172
208
137
173
192
220
174
170
240
210
176
216
121
195
150
207
172
123
210
217
202
136
167
112
194
115
171
251
250
181
150
124
181
266
164
121
181
186
147
179
171
121
123
220
146
167
172
227
143
147
150
124
121
202
112
112
302
121
217
160
167
220
184
150
193
112
184
170
150
136
160
250
203
193
160
156
181
150
239
189
172
168
150
152
150
201
302
208
121
189
232
208
179
237
234
211
150
253
167
193
121
223
146
209
231
225
150
189
195
150
255
150
167
263
150
135
150
167
218
171
215
229
218
159
186
210
187
194
208
201
167
130
112
121
139
165
112
115
167
171
206
172
139
237
186
182
257
194
150
121
147
167
150
172
123
208
165
121
150
240
158
112
208
121
167
121
115
170
159
112
176
261
204
194
112
175
237
192
150
222
176
123
170
152
150
131
112
193
195
130
186
181
147
198
239
112
150
244
112
121
176
228
170
183
121
186
196
136
192
196
121
167
212
150
121
168
176
209
150
207
115
210
165
124
115
112
177
152
112
246
205
164
218
137
208
237
150
150
210
136
112
208
212
175
150
168
177
123
158
208
112
278
121
150
137
234
123
112
212
203
137
123
215
162
112
172
172
219
167
232
208
212
137
121
250
208
147
112
203
265
228
217
208
208
130
170
170
158
230
237
208
150
112
121
121
123
164
243
195
172
218
112
156
121
250
167
239
158
150
194
171
121
112
228
112
190
192
237
150
171
167
270
144
112
150
170
150
186
144
123
182
177
123
150
188
112
208
172
194
208
170
150
172
172
172
231
121
167
172
162
181
170
147
136
228
212
237
241
112
201
195
172
112
171
201
147
121
187
156
187
196
121
189
150
124
208
194
186
121
208
123
163
181
203
250
150
150
174
255
121
165
263
280
172
150
159
146
228
172
182
192
121
121
254
175
112
228
208
121
220
172
150
170
234
121
137
150
174
158
217
112
215
181
186
240
170
146
170
150
228
170
258
121
112
112
205
150
172
263
168
212
176
184
137
177
150
231
208
121
121
208
171
165
194
228
187
177
240
231
121
187
177
179
165
195
186
115
202
172
150
194
112
168
150
240
121
131
187
170
170
237
121
160
194
178
121
115
194
209
150
172
242
208
165
208
233
121
274
172
187
150
150
121
205
208
242
150
172
171
230
115
136
172
208
136
194
208
167
150
150
121
227
171
112
219
177
168
195
167
176
170
115
207
121
150
176
112
186
172
112
231
143
203
112
179
150
150
150
112
231
193
112
150
201
194
167
121
115
194
210
150
247
215
196
150
158
215
177
150
223
121
212
136
112
137
176
170
203
179
121
150
194
159
208
170
175
172
160
115
177
174
184
150
219
164
208
112
146
172
150
201
240
177
192
237
136
150
121
150
302
177
135
150
112
187
136
208
167
121
144
135
136
222
112
170
143
156
172
208
172
208
147
193
150
123
112
193
167
237
172
236
194
150
150
176
157
150
192
203
168
158
214
172
167
176
147
205
208
159
212
181
171
150
136
195
159
208
237
212
171
112
234
147
171
168
112
192
130
112
112
150
229
172
172
150
112
121
181
112
211
227
112
121
112
150
172
175
147
225
226
121
226
130
121
218
150
208
231
143
150
121
233
232
210
195
186
160
172
208
150
208
208
112
228
143
123
177
172
208
177
176
121
181
194
112
144
281
202
121
150
112
210
195
237
170
195
172
139
167
212
147
202
232
124
121
215
112
239
195
170
228
175
130
156
219
135
195
187
227
165
165
150
150
121
194
112
167
167
150
243
201
181
186
208
217
121
112
177
136
176
229
167
115
137
167
189
112
171
176
136
112
112
150
210
121
123
214
299
208
150
224
165
228
167
150
121
162
226
123
130
204
212
150
168
233
112
112
112
123
164
150
173
250
150
171
156
165
112
147
158
188
165
144
212
173
239
226
150
195
174
237
158
167
242
195
203
218
172
215
184
181
195
167
172
208
172
186
121
187
177
121
172
123
167
158
121
194
212
172
150
208
220
121
257
121
187
124
189
230
203
195
208
208
276
121
215
167
121
139
167
197
172
112
143
173
252
150
186
208
231
150
165
150
208
228
150
115
228
112
291
172
187
176
112
237
121
123
197
208
170
121
243
147
158
121
150
115
177
123
112
147
194
221
136
237
217
136
220
115
150
245
172
223
150
121
164
186
192
208
208
158
244
171
208
201
187
210
112
150
164
237
112
241
289
165
174
172
150
215
177
150
150
194
190
121
241
170
177
186
160
152
171
152
150
187
193
208
112
112
195
156
121
203
184
135
112
259
237
208
237
136
243
167
178
214
161
121
216
172
115
150
195
197
121
115
121
236
194
143
150
158
160
228
243
172
175
178
112
181
167
263
255
210
203
121
208
112
150
124
234
112
208
195
205
112
112
188
194
184
241
208
150
172
194
228
226
207
172
210
223
257
208
167
167
112
170
181
150
115
260
136
136
121
181
170
135
150
194
150
168
137
248
181
150
112
179
201
238
202
170
177
152
164
115
205
121
167
165
181
237
276
232
208
172
167
171
136
150
179
201
203
181
219
206
112
150
112
193
202
172
212
291
195
208
124
160
231
172
193
193
209
202
195
194
123
165
121
156
167
150
150
167
136
112
193
152
150
171
121
170
208
186
123
130
167
208
157
121
167
208
121
145
112
212
136
112
167
189
135
147
218
186
206
210
243
164
112
137
201
203
178
164
231
165
124
192
210
150
181
167
171
159
121
250
171
112
112
112
228
215
254
187
165
187
150
112
218
135
135
207
167
121
112
208
167
193
203
172
112
210
214
229
274
220
228
194
269
172
201
164
115
228
131
227
210
171
121
165
123
115
194
174
124
193
112
121
172
213
205
167
171
112
170
123
112
130
150
177
170
237
158
186
189
236
202
195
123
121
186
123
208
172
172
121
242
160
136
274
212
165
112
160
136
156
164
181
231
150
112
137
174
168
167
207
172
112
167
231
150
153
192
216
195
112
159
170
167
167
181
257
176
255
167
150
170
262
150
121
281
135
121
167
167
181
233
112
173
150
208
170
144
234
165
229
112
167
158
150
152
226
121
228
121
150
123
121
170
150
195
121
170
196
170
167
141
171
238
193
112
211
152
112
137
164
177
189
221
201
195
231
176
232
204
156
174
150
112
150
172
208
228
186
226
150
150
123
132
219
231
137
171
187
121
185
208
121
152
223
175
167
145
195
208
187
158
147
112
112
172
208
193
250
192
150
171
170
150
156
132
165
112
228
137
194
147
186
121
171
150
232
172
171
112
121
203
289
189
137
112
208
170
152
209
135
167
192
121
112
135
150
181
279
112
128
121
123
150
239
208
167
203
186
208
192
121
177
238
218
219
170
201
215
208
177
162
123
121
130
121
186
112
203
123
172
121
172
159
172
123
167
136
158
156
228
147
115
171
150
181
218
203
123
136
167
147
164
213
165
179
218
167
243
212
167
167
220
186
128
121
212
123
212
237
207
137
159
156
176
135
123
228
177
124
208
174
167
178
112
170
121
167
201
187
176
176
210
172
237
112
194
239
194
121
150
239
196
250
194
227
181
150
210
194
194
212
150
150
170
150
231
112
191
173
121
181
172
220
226
208
165
239
172
186
121
203
150
167
150
181
299
147
236
177
121
123
231
159
272
186
150
181
150
172
121
228
190
244
143
150
112
121
112
200
264
174
121
177
112
220
170
172
130
121
239
121
124
150
150
150
205
121
215
181
263
115
136
150
121
206
112
121
121
121
206
232
233
186
150
176
165
193
150
121
205
195
194
150
172
253
137
206
205
237
136
258
208
150
121
171
130
158
202
147
181
147
202
225
112
152
167
115
187
195
172
208
176
255
112
241
172
137
226
135
112
212
171
178
172
172
165
160
239
170
203
121
217
170
121
263
112
123
150
208
193
150
121
220
203
250
217
174
198
208
124
146
150
121
150
112
112
236
121
250
172
206
130
172
150
180
172
112
112
217
238
135
211
172
176
226
171
123
171
175
184
167
195
112
284
112
115
208
136
233
121
181
243
154
170
158
208
156
208
208
212
184
154
130
123
208
228
112
208
250
228
278
112
150
187
181
158
128
123
228
168
184
171
164
121
165
165
163
170
112
187
171
112
150
123
203
135
220
115
171
123
150
170
232
121
147
112
121
123
150
112
195
164
208
121
194
208
171
208
171
170
187
112
156
205
171
167
128
150
124
201
210
172
156
160
150
150
220
203
121
250
130
238
112
121
130
181
136
186
150
164
195
232
238
150
172
203
112
218
186
176
150
225
181
112
150
150
160
187
147
121
144
137
153
112
150
112
164
219
173
187
136
212
159
217
165
164
236
112
219
170
255
216
112
184
172
193
272
194
201
112
121
210
167
228
215
208
150
121
213
130
176
177
112
123
237
199
112
170
177
112
150
170
190
150
115
112
112
150
165
156
112
170
208
174
209
181
121
168
112
170
176
150
171
121
208
136
225
165
121
172
170
121
164
172
176
137
206
208
159
112
112
115
150
167
172
167
220
175
194
112
112
150
229
136
208
205
147
208
212
172
194
208
160
233
160
159
176
186
167
156
238
194
143
172
171
179
194
158
181
115
176
150
123
168
121
171
171
194
136
115
176
121
172
176
172
236
115
130
174
150
227
176
171
228
156
165
192
112
112
158
217
167
135
177
185
235
176
123
170
213
301
255
167
167
208
254
121
171
147
150
150
167
174
147
229
157
231
123
115
167
213
150
121
135
123
242
167
112
121
112
242
193
150
187
201
236
193
112
165
112
208
282
176
208
240
150
190
171
205
181
205
135
181
211
176
174
112
172
136
205
219
150
210
194
167
150
164
172
150
203
167
172
150
112
208
150
223
123
156
112
232
171
160
203
187
167
112
193
208
174
128
186
123
208
121
208
278
196
171
150
167
181
170
159
171
226
194
135
258
150
224
115
216
201
228
115
186
210
176
174
167
147
190
208
194
233
218
112
177
165
259
164
112
121
123
278
137
189
179
121
202
167
170
202
187
175
226
212
150
150
181
160
208
186
123
121
160
192
181
198
112
150
187
150
171
194
172
112
112
208
150
220
165
208
246
195
194
167
137
150
112
150
121
160
171
121
228
225
201
219
250
160
137
197
195
132
147
192
172
220
156
130
170
196
164
181
185
250
171
167
167
172
150
167
182
176
172
167
112
202
128
225
172
212
158
171
171
192
121
112
211
231
255
176
150
145
150
121
181
205
231
220
150
136
210
250
152
208
165
167
237
259
150
112
135
112
200
210
170
121
150
115
112
194
121
210
195
208
202
174
165
271
232
208
112
208
229
121
136
243
135
170
192
137
194
121
194
167
214
187
170
150
205
264
224
194
170
243
150
215
112
150
150
112
237
205
196
208
192
115
136
150
121
170
165
170
150
135
172
150
121
171
171
184
231
123
123
112
112
186
233
150
115
164
171
121
150
135
210
159
239
171
230
219
150
170
208
177
121
176
150
121
135
121
187
150
208
231
165
228
159
231
181
282
167
135
121
217
281
112
172
167
185
208
237
228
150
194
206
150
123
172
137
150
167
176
168
112
171
172
112
237
144
136
208
121
208
112
121
171
112
239
121
172
157
225
150
235
150
181
112
237
167
160
150
231
168
297
150
112
121
193
150
171
156
225
207
181
123
190
177
167
174
187
193
192
170
167
121
112
274
239
237
150
208
121
203
112
208
112
150
186
121
208
193
208
112
153
159
112
121
189
156
239
226
210
170
158
208
195
201
136
168
167
172
195
112
121
174
144
176
177
210
172
246
150
136
115
171
112
112
208
243
190
170
112
250
137
172
174
173
206
214
208
112
150
208
150
112
209
150
121
179
121
150
158
167
176
237
150
201
150
253
202
121
262
150
150
164
150
147
176
208
147
121
172
207
172
204
170
177
186
159
121
208
121
160
121
193
171
121
237
203
208
174
212
171
237
123
112
121
214
150
112
112
112
237
150
147
184
123
121
250
112
135
243
217
231
196
167
176
167
257
208
268
176
150
123
121
147
112
176
208
194
165
173
210
186
152
178
115
219
150
112
179
172
255
215
150
172
228
212
225
112
177
112
150
150
115
172
194
123
165
124
123
170
257
136
150
128
112
112
176
150
135
176
170
112
152
167
135
150
208
217
112
172
208
167
170
194
123
187
123
165
124
172
161
219
152
208
150
136
172
167
197
208
150
181
257
176
186
218
137
221
152
135
170
130
213
112
167
202
121
158
167
123
187
167
167
123
165
158
121
112
121
208
150
210
205
205
167
194
221
171
236
156
140
115
202
123
181
257
196
255
112
227
201
121
121
135
150
112
231
265
150
212
171
150
167
150
194
187
137
160
207
121
192
220
215
176
121
121
167
121
135
208
143
121
112
137
172
130
172
181
150
171
208
121
172
160
121
121
195
112
150
170
208
195
112
244
187
150
228
123
176
176
136
202
112
150
121
143
156
150
128
167
143
128
159
112
215
220
172
186
201
167
150
112
150
214
150
181
242
207
208
143
267
206
181
128
150
220
172
150
237
165
150
112
205
219
112
219
159
150
181
194
219
112
150
228
171
181
121
208
112
124
170
112
167
195
124
186
121
150
231
208
123
208
176
174
208
150
112
121
174
123
115
167
177
150
195
174
167
150
186
176
170
167
189
150
176
112
112
112
184
194
121
187
236
198
208
237
199
165
171
217
112
150
171
218
199
212
134
112
167
152
172
164
216
192
128
170
121
121
135
201
186
192
208
135
112
195
208
170
170
143
112
276
112
121
112
167
112
170
112
121
193
233
121
208
123
150
205
176
217
240
147
159
239
181
208
192
167
167
243
152
208
275
208
167
181
115
165
255
174
131
137
268
135
208
123
165
112
121
208
172
112
121
160
208
217
150
167
194
150
159
112
172
224
199
217
192
172
170
178
214
112
167
112
121
167
205
112
208
208
150
112
243
167
150
174
121
136
112
170
123
210
167
147
121
112
229
150
121
121
167
112
112
167
150
150
170
167
194
150
228
216
135
167
172
162
195
121
231
208
150
172
121
147
150
235
150
170
150
161
210
181
112
218
276
112
220
172
210
167
176
186
235
208
159
217
212
147
121
219
115
171
207
164
171
170
200
172
112
170
170
150
143
165
208
179
121
168
229
193
198
135
172
150
193
136
174
150
176
193
184
112
168
202
112
203
176
121
112
209
195
112
112
194
121
236
208
181
165
193
172
170
115
158
240
150
175
121
172
194
150
208
135
112
112
171
176
112
259
159
150
228
112
245
135
261
174
112
181
195
165
177
239
181
171
170
130
150
220
214
234
123
262
206
208
167
203
115
269
150
208
121
237
218
130
172
167
208
115
160
167
124
162
194
112
170
123
203
195
167
172
150
198
272
123
150
193
245
159
176
150
231
150
226
176
170
231
195
171
201
203
165
171
112
171
203
150
215
112
112
112
172
226
137
112
195
237
150
231
158
208
217
171
178
208
112
150
192
171
170
121
164
112
231
143
176
112
208
175
165
184
121
187
194
112
112
193
187
214
121
112
202
165
196
112
194
170
160
112
202
112
112
150
170
240
276
150
237
225
222
203
121
121
150
172
150
167
218
121
124
135
208
195
219
147
208
231
212
218
205
217
202
187
168
171
150
172
150
239
124
112
135
123
165
172
185
172
186
112
171
172
234
123
266
112
219
158
183
208
150
179
176
150
226
216
165
312
112
219
115
235
150
217
167
210
135
181
150
112
150
165
150
190
223
150
121
150
176
190
150
121
181
165
112
172
260
112
112
121
150
121
206
150
208
195
136
112
150
196
135
121
136
152
212
152
165
179
121
150
167
194
181
203
185
167
212
240
172
174
167
234
196
187
150
132
121
167
184
150
123
209
297
167
112
150
168
123
112
135
172
167
214
193
150
181
181
168
112
208
121
192
167
167
167
112
226
228
121
124
181
167
208
201
297
203
121
174
250
167
208
218
178
159
179
171
181
121
208
187
195
216
170
150
297
202
121
194
156
187
233
186
239
165
186
170
150
167
181
123
147
112
135
168
217
208
112
152
150
193
112
160
172
150
208
202
150
196
112
210
203
172
193
174
150
121
150
202
239
150
174
150
150
112
171
123
164
209
112
137
242
164
203
181
213
231
158
123
187
164
150
121
167
170
167
165
194
176
172
167
123
176
172
150
150
193
217
173
220
210
258
170
208
172
150
121
176
176
112
181
174
194
112
112
237
170
165
112
228
187
123
147
123
212
143
172
112
171
195
150
150
203
202
150
172
194
210
211
112
137
121
219
121
349
237
112
254
302
181
156
192
236
229
150
240
135
191
232
112
172
144
255
208
238
232
150
150
176
123
226
172
121
202
112
150
164
177
201
112
156
229
194
167
135
172
135
187
172
208
150
150
165
201
181
167
170
172
218
176
112
208
150
121
256
218
165
208
112
250
164
210
170
181
150
263
150
232
194
195
178
131
112
167
192
136
147
195
228
260
196
186
170
150
174
162
121
189
195
150
167
160
226
147
170
150
203
124
233
135
226
112
234
121
297
208
208
112
150
150
150
181
123
236
186
165
228
228
208
150
112
171
219
228
121
193
172
121
228
164
150
150
237
182
112
167
217
208
159
210
176
115
160
123
112
194
212
186
112
244
112
150
208
227
208
208
189
150
112
195
170
281
165
112
121
167
259
181
130
208
174
159
179
112
194
201
167
228
150
208
177
201
208
112
228
150
172
167
204
203
167
208
139
121
121
164
150
195
167
150
121
203
195
112
182
194
112
271
208
112
130
150
121
174
171
208
150
208
195
194
171
194
135
239
132
130
167
112
121
121
150
143
174
195
121
164
170
201
192
220
150
136
112
165
136
170
147
177
135
214
165
128
201
170
147
170
167
121
168
242
150
172
121
219
202
194
121
121
136
171
121
137
167
164
170
150
210
231
136
202
150
161
278
245
121
150
201
121
231
150
208
194
205
207
152
137
115
135
239
112
112
137
202
228
176
203
208
147
197
208
112
150
250
136
206
172
171
121
177
150
208
181
201
121
147
194
160
121
170
112
112
150
171
228
168
232
150
121
158
123
215
237
208
210
170
112
190
112
124
208
203
208
184
170
165
205
130
172
164
208
203
195
167
226
172
172
191
218
143
194
135
136
234
187
136
147
212
152
208
225
167
123
147
181
112
164
225
176
130
121
112
189
121
225
237
156
194
146
130
203
135
112
171
225
150
258
170
143
136
121
250
121
147
130
179
180
162
222
150
112
170
112
208
255
181
217
212
136
150
137
167
123
150
124
219
205
144
172
112
246
150
224
237
255
171
146
193
150
165
208
135
239
279
171
208
170
124
164
234
243
172
184
112
165
112
150
112
194
123
212
195
239
121
172
172
150
194
210
172
164
150
158
212
176
156
246
229
135
212
121
165
150
254
150
172
112
171
172
112
171
165
171
171
171
150
112
192
171
208
235
150
176
209
121
181
208
208
239
150
208
231
217
260
257
275
201
121
171
167
215
165
215
164
242
208
150
182
208
115
176
150
229
112
177
112
170
167
193
231
233
150
136
233
147
137
170
220
197
187
177
208
244
239
203
173
130
205
170
232
112
194
156
165
172
176
237
172
174
171
167
147
150
171
147
136
229
121
112
208
203
137
121
160
167
121
137
121
112
165
150
136
181
237
170
150
228
159
195
171
229
112
115
187
172
239
208
150
150
158
220
150
280
174
208
121
150
150
150
134
112
263
237
208
220
210
167
150
208
150
172
150
112
183
136
150
121
208
115
167
159
231
210
194
135
177
208
150
121
121
170
224
121
136
167
208
212
222
121
152
171
115
174
130
121
112
212
262
241
192
123
200
193
115
150
121
112
172
128
172
250
112
211
208
112
167
242
112
172
150
150
237
137
213
130
172
201
150
121
124
172
176
213
172
121
170
137
165
121
186
208
171
239
152
228
150
172
164
208
121
222
123
150
170
150
171
171
168
165
208
256
213
218
170
186
152
238
211
150
112
200
226
208
210
150
172
194
202
215
121
203
139
160
170
208
170
174
158
131
112
181
112
147
226
206
170
175
112
150
121
193
150
208
185
177
124
150
128
187
186
242
236
150
195
150
156
208
218
194
239
150
175
150
231
137
250
210
150
201
147
152
203
167
217
236
153
171
172
206
121
170
208
208
176
171
207
170
228
112
184
158
147
209
150
121
158
175
195
170
172
194
208
123
302
121
165
220
207
112
112
112
208
167
112
179
167
194
217
112
150
203
275
112
284
194
172
228
210
121
137
259
115
172
208
158
176
150
150
150
121
156
215
150
187
204
208
112
158
208
264
225
112
167
168
157
170
164
181
255
172
231
171
172
167
186
213
136
135
165
237
150
186
237
250
177
208
230
171
233
121
165
179
170
208
182
259
265
208
150
257
112
218
158
181
237
115
237
150
164
193
208
170
208
123
228
237
159
184
216
123
205
158
135
137
203
170
170
150
159
174
165
176
193
112
228
165
121
150
112
136
172
150
208
208
150
177
181
150
112
302
181
135
123
193
235
135
200
176
195
219
278
195
150
121
161
242
202
349
241
227
121
203
146
218
172
250
186
150
219
186
202
203
298
123
158
194
193
213
194
274
194
209
202
170
121
239
156
207
202
165
123
159
121
220
267
170
250
215
170
150
167
137
156
171
176
172
202
229
220
161
112
265
175
136
137
136
112
121
185
218
158
150
121
182
135
167
165
121
123
203
115
156
208
276
165
172
171
121
112
181
209
170
135
181
176
208
167
112
170
244
121
177
115
168
123
192
171
165
208
136
159
167
211
150
168
195
158
167
152
121
174
112
242
150
146
225
112
201
202
112
201
177
112
232
150
167
150
198
121
121
112
239
150
121
225
144
121
112
170
181
112
112
112
186
260
150
279
208
175
179
263
181
212
158
172
250
112
112
112
150
172
121
167
208
172
208
150
250
210
260
121
160
232
132
112
211
232
160
147
210
152
121
260
208
176
150
201
199
121
150
238
232
121
193
171
218
208
208
209
212
258
112
150
112
218
181
174
264
124
231
172
209
228
199
194
156
124
244
146
161
152
150
112
172
212
150
150
187
301
208
194
167
130
202
168
112
217
150
150
172
258
123
121
232
136
228
121
170
288
172
194
215
167
112
123
172
203
172
167
195
164
150
232
208
112
207
112
136
162
128
233
253
181
167
136
158
194
202
209
150
150
171
112
202
192
121
112
186
150
202
112
172
150
192
124
136
194
136
158
150
250
150
213
250
112
150
205
121
208
167
208
193
177
172
112
150
137
150
172
181
121
168
135
165
195
112
170
150
121
150
170
217
112
176
165
150
167
165
150
150
176
172
150
193
136
238
210
172
222
174
208
121
137
290
167
170
135
220
121
211
167
176
112
257
121
186
150
150
112
112
176
181
175
121
208
187
158
186
208
254
167
121
212
150
160
130
208
208
112
150
176
206
124
123
229
150
198
238
112
208
112
112
170
115
130
206
198
212
195
194
183
172
201
121
168
172
121
121
121
208
130
187
150
216
147
121
212
165
194
137
208
171
112
208
143
156
181
172
195
112
202
176
230
186
174
245
190
112
128
227
243
208
150
177
172
237
172
147
167
219
150
187
208
130
121
158
194
112
181
174
195
167
253
147
150
172
243
150
150
171
171
150
112
150
172
170
150
176
267
182
183
150
123
137
115
210
181
237
181
121
135
150
121
212
231
115
112
124
123
203
121
150
239
217
164
150
130
112
112
123
144
177
167
177
191
208
299
265
150
150
137
128
302
115
165
150
228
210
121
121
171
208
135
175
167
150
177
150
233
112
207
187
177
208
208
208
112
265
201
150
257
130
213
292
160
174
198
229
112
123
342
237
150
227
243
150
170
150
256
272
170
177
208
112
170
130
219
167
193
112
233
152
218
112
121
115
112
239
209
255
158
165
201
124
233
115
171
186
175
150
239
150
150
180
112
112
135
181
121
165
123
228
213
179
170
170
159
150
121
158
112
112
159
195
115
115
137
302
167
183
209
229
238
172
175
121
123
112
165
175
196
172
177
206
115
176
171
150
179
121
204
158
172
121
150
190
225
208
112
202
205
208
164
198
150
124
150
112
167
212
112
170
250
183
225
150
112
150
150
192
194
112
187
165
208
137
150
136
208
147
124
147
150
179
201
139
150
112
239
210
150
205
171
205
172
132
194
202
210
159
130
172
164
121
171
174
112
150
123
167
172
205
201
112
112
202
201
208
112
150
121
164
186
255
143
205
209
239
150
208
175
250
193
165
146
147
165
121
112
136
186
181
170
175
171
121
124
274
112
121
179
171
112
177
115
123
210
252
232
187
167
237
137
143
112
150
172
255
194
165
147
121
186
230
170
226
171
202
170
112
172
214
203
150
150
184
194
167
166
297
177
128
135
184
208
175
172
222
150
172
192
226
239
214
203
168
186
219
175
112
228
170
226
263
160
218
181
143
210
225
242
183
192
112
112
208
193
208
172
193
112
171
167
202
160
194
121
130
194
150
217
208
159
228
150
231
167
123
216
208
208
112
112
150
123
121
232
177
121
250
150
150
150
172
150
150
160
202
192
121
239
121
183
158
167
170
165
121
159
195
112
268
195
112
209
170
136
159
121
112
243
167
150
212
201
121
227
128
171
167
167
200
115
123
167
177
239
214
112
207
174
167
175
187
237
136
112
112
174
181
150
203
150
112
152
302
130
194
231
121
150
112
224
158
150
194
203
234
186
167
199
172
156
223
121
172
150
181
112
171
123
150
204
229
158
121
143
124
194
237
226
176
137
112
228
170
167
136
130
208
167
228
112
150
208
176
250
137
207
204
184
112
231
165
219
167
150
171
228
263
186
241
240
121
228
208
121
167
229
217
176
165
194
172
220
208
198
208
195
156
297
150
206
112
220
208
164
150
121
150
165
186
150
121
121
232
176
112
201
187
236
208
171
167
172
186
208
152
174
121
170
128
208
121
137
123
112
150
172
152
115
247
150
158
193
208
302
160
121
172
160
225
171
174
194
123
137
180
228
228
112
176
123
115
181
208
112
147
112
234
170
217
195
130
158
183
135
220
172
225
164
302
150
171
219
171
177
115
194
150
137
204
112
172
121
164
196
147
176
172
112
192
192
177
152
194
199
112
135
112
263
232
192
208
294
160
168
186
212
212
226
239
239
228
159
158
234
186
150
203
150
150
186
150
177
121
213
171
182
237
208
186
172
167
170
112
150
159
239
167
237
206
172
176
216
212
124
184
171
194
115
278
201
150
187
177
208
171
208
112
150
121
208
176
164
211
147
123
225
228
231
232
192
167
203
121
225
156
205
184
165
150
176
170
202
226
137
112
170
242
158
210
147
156
176
165
172
121
123
214
123
112
150
199
194
112
115
123
112
123
167
172
115
208
123
131
210
136
121
181
248
135
172
206
136
202
208
171
121
121
121
170
225
158
135
112
219
258
219
112
167
112
121
123
112
112
150
137
135
150
216
240
217
192
160
168
167
112
124
167
208
112
150
171
228
186
170
228
167
159
121
150
137
112
172
170
115
233
181
128
227
121
194
208
240
150
181
219
121
176
147
121
150
179
121
150
150
235
121
186
168
112
203
150
208
195
212
208
112
179
172
225
205
150
227
208
147
171
265
161
150
196
121
250
208
171
115
121
171
176
211
150
193
121
199
112
121
143
172
136
226
121
171
150
152
147
121
128
172
202
170
250
121
254
124
255
203
192
167
150
112
150
195
156
193
203
181
210
150
123
177
134
150
225
208
152
167
225
170
112
220
211
159
172
172
112
124
196
160
121
112
194
202
176
123
112
123
167
112
124
150
197
229
228
112
123
193
198
150
167
165
135
112
156
220
112
112
137
112
150
164
165
121
227
143
150
137
171
161
239
208
223
150
150
224
121
150
180
150
112
201
150
170
112
193
150
239
202
152
174
203
150
201
121
201
160
121
176
136
150
150
150
150
135
172
225
186
121
194
158
172
150
237
167
152
152
147
147
167
172
237
208
150
112
250
160
212
141
187
123
137
150
150
112
121
223
135
172
193
187
254
201
208
112
234
243
165
198
150
232
208
121
144
121
186
192
150
192
241
112
160
135
231
121
218
172
160
208
193
150
194
150
160
144
123
195
158
112
190
124
192
112
237
112
115
208
123
156
170
150
167
121
193
135
208
130
176
112
226
172
224
219
194
121
237
172
208
150
158
181
115
121
172
178
172
150
147
150
179
150
240
112
112
159
112
121
150
182
236
186
165
195
132
262
112
202
225
137
175
147
160
112
195
150
186
167
112
175
123
112
229
170
194
121
227
187
164
193
112
169
171
167
130
187
181
150
172
163
176
135
150
196
124
194
229
124
263
186
210
178
115
177
193
187
182
270
210
177
233
250
112
121
263
195
121
231
121
232
176
208
186
112
159
121
257
121
112
121
172
121
208
208
210
228
302
112
232
150
167
181
239
189
176
150
171
112
123
135
112
112
208
172
244
112
123
171
208
112
172
112
112
150
217
135
150
172
170
195
186
192
208
172
159
172
163
124
195
232
220
150
160
150
209
150
239
150
172
112
193
181
165
203
115
187
255
168
208
218
218
247
172
112
208
217
194
228
232
173
159
195
150
150
208
195
193
171
171
150
123
208
172
208
236
112
195
203
267
238
201
181
121
165
167
121
167
150
112
185
231
234
121
135
235
172
208
223
195
160
112
150
164
232
172
158
123
112
121
167
137
167
137
213
150
187
243
217
150
202
210
194
112
208
112
150
218
150
196
172
112
193
137
150
170
112
242
121
165
230
182
228
124
121
179
172
121
165
150
112
112
112
202
160
160
181
112
212
208
186
165
228
150
171
192
170
112
194
208
150
193
208
187
171
123
136
228
172
150
150
204
186
123
208
112
238
215
150
218
167
150
195
195
112
219
201
240
195
135
150
150
172
208
217
187
219
121
201
121
112
112
112
150
121
216
167
193
208
121
147
176
135
201
171
112
208
193
228
229
123
257
112
165
189
184
150
208
208
181
165
231
172
158
201
208
176
208
146
150
247
171
219
212
181
172
173
150
220
230
242
194
168
214
123
157
262
170
115
208
198
223
177
174
150
228
150
159
233
176
123
150
196
174
112
150
297
121
196
172
236
177
150
174
157
205
186
135
159
112
212
135
276
121
153
167
192
177
208
170
147
184
135
112
170
181
112
176
112
112
123
159
176
172
170
112
121
181
215
237
167
136
194
167
203
200
112
208
123
189
186
150
150
231
195
112
112
112
123
239
209
172
157
164
167
171
115
150
176
112
206
135
172
231
203
150
123
186
172
223
242
204
191
112
150
205
121
164
237
123
255
150
172
135
213
201
170
194
176
175
212
202
219
195
150
162
150
112
205
181
194
172
237
121
194
172
112
207
176
170
121
250
112
228
165
208
225
193
212
225
195
181
165
150
193
194
181
147
228
231
160
146
215
193
203
264
123
112
236
207
208
224
150
170
171
121
189
150
135
112
165
220
176
136
210
208
156
175
219
171
121
112
166
217
279
181
121
121
121
204
186
196
230
230
170
150
210
201
135
195
170
130
187
115
112
159
210
228
165
207
276
201
165
201
170
175
218
150
172
165
112
152
217
121
171
150
147
207
150
112
187
237
174
150
179
193
150
150
156
150
202
150
203
150
234
202
208
150
152
112
260
257
203
208
121
236
115
112
220
137
115
228
202
123
112
224
158
150
122
176
112
263
150
237
150
217
165
278
208
176
167
150
123
206
170
165
156
172
150
135
172
150
121
207
177
195
228
121
302
172
165
121
112
205
171
195
115
130
121
174
208
112
201
123
176
170
237
239
112
112
237
172
150
183
165
170
121
186
170
190
203
112
112
208
121
121
208
150
137
203
187
203
121
112
170
112
112
175
167
150
170
208
121
178
112
208
187
172
172
157
208
150
221
121
229
202
112
213
241
226
181
171
171
255
233
174
121
112
177
137
170
194
266
208
186
112
121
170
186
135
250
203
202
167
128
170
121
226
164
156
171
237
152
172
137
193
123
203
173
150
231
208
144
123
165
217
194
212
150
167
115
181
170
123
235
186
159
213
136
121
165
208
258
112
170
200
123
150
123
135
167
187
150
229
238
174
172
172
168
170
195
150
167
231
181
208
259
175
201
228
150
167
208
121
208
198
170
171
121
121
205
150
124
207
136
171
150
150
112
135
121
171
188
195
220
150
186
137
182
210
141
209
112
190
167
193
228
217
186
121
203
157
121
157
152
275
212
135
174
208
158
226
130
174
137
112
145
212
160
210
211
208
135
203
168
121
115
212
150
302
121
172
231
121
170
202
172
208
164
186
237
171
206
233
179
167
150
150
170
231
183
150
150
168
171
205
121
202
208
150
172
150
181
165
233
172
150
156
208
128
112
219
184
165
172
112
150
186
205
196
187
208
150
121
158
121
130
171
234
172
112
141
170
217
112
137
181
296
167
253
257
130
112
255
220
181
112
208
193
202
147
167
182
150
172
206
176
208
112
112
150
186
258
242
222
194
112
112
150
121
237
112
150
121
112
231
121
112
150
208
168
213
181
167
165
172
121
150
186
243
112
195
228
175
123
186
172
250
247
225
165
150
159
177
196
159
187
112
181
150
199
121
237
226
115
176
210
170
243
186
181
150
220
194
208
202
121
150
123
186
195
137
123
181
187
135
179
168
150
208
168
112
208
150
147
137
172
228
156
172
210
112
137
265
235
230
208
150
123
164
240
165
112
150
150
121
181
240
121
208
214
228
250
157
162
172
170
223
186
130
196
167
168
172
172
208
208
228
181
112
160
164
112
152
232
172
144
192
136
115
121
150
167
210
159
207
240
121
172
124
164
194
121
210
124
160
187
150
239
121
150
220
112
137
123
187
159
186
137
167
194
170
208
186
193
181
172
230
208
201
237
201
208
195
199
164
243
235
237
167
208
167
208
165
153
172
172
186
112
167
150
190
171
209
221
207
224
121
225
158
205
181
171
174
150
177
172
195
121
236
172
171
150
135
208
202
223
195
208
112
208
208
150
121
112
121
239
229
150
201
112
194
176
150
150
167
150
185
112
203
208
150
136
172
198
208
170
171
121
202
231
170
159
202
123
174
194
121
167
150
137
112
207
171
170
167
172
208
137
164
212
112
194
232
147
230
220
150
217
193
137
112
147
177
172
193
181
225
157
171
121
201
171
250
121
194
208
208
170
227
226
184
172
156
150
203
167
170
156
150
150
150
112
186
172
193
150
121
168
172
137
150
156
137
302
165
150
215
112
172
165
174
181
208
172
121
164
187
167
121
187
239
121
150
226
172
210
112
167
150
167
172
160
121
240
222
194
213
181
176
168
146
263
208
172
121
139
143
194
216
121
217
121
150
208
123
211
208
208
112
179
165
124
164
190
190
112
192
112
228
243
150
137
150
235
220
150
172
156
124
121
170
112
186
181
208
193
230
150
150
203
150
121
177
181
150
135
150
167
178
112
191
144
178
150
150
205
150
171
179
228
176
112
176
176
123
121
225
171
123
165
112
232
195
167
210
165
175
208
172
150
193
192
150
241
171
115
195
195
150
220
112
172
176
181
160
112
210
171
208
205
275
173
194
112
194
208
121
112
147
209
228
150
194
150
208
250
112
150
178
194
181
194
210
150
145
112
208
161
189
164
150
203
172
172
157
195
172
121
174
171
207
123
123
167
192
208
172
186
123
170
135
170
187
170
172
248
167
172
171
219
240
121
150
209
186
139
189
156
121
205
137
177
203
208
237
166
156
123
208
150
150
164
123
112
266
150
250
165
123
121
170
112
136
150
135
176
215
201
172
128
121
171
165
170
167
121
156
229
181
165
150
219
193
186
115
226
150
208
278
195
208
112
204
121
150
112
150
112
208
208
219
112
208
121
168
171
112
193
208
165
219
121
181
158
172
306
150
123
121
121
135
137
228
112
195
208
167
121
171
156
226
150
121
121
181
179
112
202
170
150
208
170
170
121
150
264
208
238
160
194
238
194
159
174
165
208
168
168
179
186
208
193
232
180
179
228
150
272
137
218
124
112
112
150
121
170
115
170
135
228
121
121
150
112
167
147
167
213
226
256
112
233
205
137
196
167
192
194
181
123
208
200
150
112
121
161
172
150
179
228
192
160
206
171
121
203
167
170
263
131
112
172
112
258
121
197
186
195
121
226
112
115
194
112
171
150
150
121
135
144
220
168
112
176
123
177
121
167
218
174
150
208
208
156
150
186
229
176
225
172
150
165
233
150
165
158
233
213
156
112
112
167
112
136
167
150
259
170
121
212
187
137
263
172
208
171
171
186
112
174
208
150
112
172
158
123
194
172
112
208
172
150
244
135
202
208
199
121
171
150
150
172
150
124
112
121
150
160
123
167
121
167
190
121
150
150
223
150
207
167
121
123
176
150
112
172
193
208
112
246
150
212
217
208
172
164
193
181
201
121
112
170
121
229
213
193
167
202
165
167
192
170
165
164
137
112
219
228
232
112
181
174
123
210
147
170
165
195
150
234
219
222
263
164
174
150
172
208
212
158
168
136
194
121
150
115
215
146
228
217
150
112
174
234
213
170
112
121
208
214
150
229
121
144
208
112
187
228
150
112
172
203
250
150
228
112
227
202
193
150
115
147
210
171
247
176
228
235
176
259
150
121
195
112
229
121
175
150
237
176
237
124
167
121
174
167
212
176
112
186
210
165
121
172
150
174
176
172
237
121
165
195
123
237
121
164
174
229
177
165
220
121
264
224
216
112
112
150
240
211
135
112
201
244
176
193
137
150
167
208
147
208
150
201
150
226
176
150
121
177
203
179
121
112
179
170
203
115
201
210
212
150
181
150
112
150
150
150
121
150
186
172
208
150
123
137
228
196
226
302
115
123
165
297
241
250
121
194
115
112
208
172
164
196
152
186
235
187
255
121
121
130
195
112
172
158
175
137
112
135
123
121
121
150
164
112
233
186
172
226
170
191
249
176
193
152
130
195
170
171
171
186
194
167
112
150
121
137
121
232
219
121
205
204
231
219
121
208
164
208
181
162
137
130
112
263
167
215
170
192
137
150
205
174
112
172
121
167
180
123
167
218
150
192
212
112
121
150
158
135
176
112
228
150
208
150
194
136
167
150
243
193
194
261
172
187
213
208
135
231
170
164
115
171
170
208
172
121
181
201
170
165
172
144
208
150
242
172
170
123
121
136
192
124
239
112
112
112
228
156
208
226
190
205
208
210
190
217
182
150
193
150
263
186
171
243
147
137
112
112
172
136
231
150
206
171
233
150
150
232
121
167
205
135
112
202
150
123
170
139
143
121
187
299
121
226
210
156
170
165
194
112
168
164
165
121
150
170
235
175
172
150
202
164
240
123
150
237
224
121
164
202
202
112
170
211
237
150
167
112
160
208
112
177
208
186
228
112
245
112
217
210
228
112
216
150
112
196
150
186
208
274
174
302
212
165
242
228
212
121
196
128
202
201
229
181
196
250
147
208
171
263
177
167
165
150
217
172
186
207
194
173
266
207
217
159
243
150
181
212
210
121
225
172
112
121
217
123
144
196
156
203
160
150
170
112
237
112
185
112
228
226
159
226
159
209
228
194
257
181
193
121
176
201
115
150
150
189
186
208
170
144
150
172
208
194
172
276
150
128
150
171
181
195
209
263
233
165
112
202
271
112
112
112
112
152
220
267
192
237
202
181
208
232
130
208
150
202
201
186
172
202
167
226
257
167
170
228
121
123
245
121
210
112
219
251
208
150
136
250
124
150
208
193
121
115
208
205
112
158
159
266
150
194
123
168
112
112
176
209
112
184
195
220
245
239
128
112
179
167
112
202
226
150
150
202
194
176
172
179
193
231
187
176
112
156
131
170
192
210
150
147
112
165
205
176
165
121
174
270
144
150
212
230
167
150
171
150
208
150
171
121
230
202
250
136
164
215
187
176
159
147
112
112
121
147
171
175
193
123
210
234
121
160
171
231
255
112
219
156
221
181
194
194
121
208
167
135
181
150
112
227
172
196
152
150
172
115
176
195
164
167
121
167
177
159
172
172
123
228
209
213
170
115
172
152
206
194
152
150
112
121
150
228
171
112
217
203
147
147
143
171
170
112
135
181
135
121
150
150
123
121
123
150
208
150
167
172
150
255
176
184
112
202
159
112
147
172
167
121
194
214
176
196
150
135
192
238
112
178
176
220
186
121
165
150
172
121
136
123
112
115
112
218
123
160
124
220
174
239
150
270
172
121
186
150
121
176
207
166
136
203
123
167
175
165
162
176
194
177
228
123
112
184
121
201
250
172
236
112
150
219
194
136
212
150
208
275
217
174
176
112
195
181
172
172
172
112
112
170
221
137
202
208
165
203
253
170
112
150
207
150
253
121
170
121
170
243
181
152
112
136
121
150
276
136
150
112
159
112
203
210
205
181
208
208
202
150
172
194
192
112
167
150
214
263
123
172
187
181
112
150
181
121
172
170
112
121
203
112
194
192
194
221
219
165
112
112
121
159
208
226
241
121
123
150
184
257
171
237
112
112
150
201
171
208
160
218
150
115
123
208
112
208
228
121
158
165
112
207
171
181
194
225
112
254
123
123
150
236
208
302
165
150
150
172
121
121
112
156
121
235
181
160
147
211
159
194
150
160
267
208
121
150
209
135
250
208
194
150
228
202
150
186
172
172
181
165
170
176
193
147
160
150
208
123
112
121
172
237
164
128
150
255
167
112
170
121
265
167
150
228
202
143
121
135
121
137
252
121
194
171
205
150
239
159
167
150
208
172
255
178
121
167
201
177
112
165
202
150
167
237
208
202
112
121
164
170
296
175
112
219
165
266
231
203
172
212
202
115
186
250
150
202
150
210
175
167
178
150
231
194
255
225
176
263
150
150
228
135
174
170
260
189
208
237
150
187
150
195
167
218
150
208
172
150
167
128
231
123
192
124
208
121
165
171
150
167
231
208
150
195
170
165
230
168
187
147
208
150
115
115
253
174
150
190
165
150
121
167
112
167
212
170
177
172
121
170
228
226
150
195
171
112
121
181
188
150
172
112
130
136
167
208
150
219
170
220
195
137
194
136
165
112
237
164
150
172
121
115
208
161
135
210
128
281
121
150
150
203
186
215
112
112
176
121
181
170
182
172
172
159
150
170
237
208
196
150
121
170
112
121
202
202
175
121
174
152
167
172
250
121
112
192
177
112
165
171
112
193
228
165
194
150
112
172
225
115
234
215
172
150
121
167
216
167
121
255
123
121
174
192
150
203
181
171
194
112
172
115
112
167
208
176
201
150
170
121
150
190
123
167
202
165
150
136
220
156
204
193
193
115
115
186
150
123
226
159
150
150
179
210
121
171
231
210
208
165
208
172
212
167
208
143
263
181
147
172
112
208
208
150
150
234
235
239
130
205
112
121
214
137
137
176
213
228
121
263
210
236
175
193
112
121
282
179
165
150
165
150
150
156
208
121
112
150
144
213
167
194
150
181
243
220
214
220
150
174
172
137
121
121
121
152
112
181
172
182
201
207
228
266
206
198
227
170
123
172
123
136
150
121
225
130
165
158
186
171
121
171
150
218
156
256
121
177
156
112
158
167
156
121
121
172
237
121
187
147
135
150
137
171
193
112
208
229
170
136
207
181
210
150
163
165
147
189
172
172
178
201
228
195
150
112
152
170
170
181
150
123
121
208
166
136
121
135
158
150
228
123
181
209
146
150
121
229
174
150
150
172
263
255
192
211
231
121
238
164
172
123
220
213
170
194
165
178
115
121
121
237
121
112
137
203
208
170
150
172
187
170
236
195
195
168
209
121
167
281
112
204
167
233
159
192
172
130
183
181
194
226
121
170
112
208
123
194
147
181
123
238
205
112
159
176
112
172
112
121
171
158
189
212
171
156
128
121
147
208
186
229
208
150
165
124
212
239
179
172
208
150
170
192
186
226
234
170
150
150
208
229
112
226
208
228
167
202
263
150
150
228
187
196
112
212
112
164
121
156
172
167
121
250
121
165
112
150
112
164
192
112
207
112
165
255
112
121
225
147
203
240
195
167
167
121
186
172
208
112
202
135
172
211
187
172
243
275
208
147
121
150
112
182
165
176
193
112
182
160
150
150
193
112
121
170
176
255
121
135
167
112
193
226
208
195
162
194
195
158
152
112
203
223
121
194
176
208
135
157
186
150
112
165
147
172
150
229
210
121
135
219
225
218
228
150
167
150
131
171
112
150
208
175
208
215
184
174
195
203
123
112
123
179
150
172
181
170
112
178
171
112
208
172
150
194
159
135
115
112
121
152
150
121
168
167
150
203
167
124
287
187
164
193
217
278
167
172
181
165
225
112
175
150
165
172
150
150
172
193
175
174
172
121
186
238
123
263
205
123
201
167
194
208
121
190
193
123
147
200
124
147
208
112
167
121
172
196
170
123
208
121
160
150
123
174
220
218
112
171
121
165
227
150
150
121
172
170
194
112
206
112
112
174
150
231
121
123
177
131
208
165
208
223
272
170
208
187
186
171
212
203
173
231
150
150
250
195
121
210
172
130
212
170
239
278
208
172
167
112
143
135
172
121
171
150
170
217
193
147
233
121
123
227
219
121
170
160
164
172
217
171
112
150
123
203
121
228
176
181
121
121
156
199
208
176
208
112
123
121
150
165
193
196
150
245
174
150
156
112
229
150
123
193
349
276
112
150
158
164
121
121
201
255
112
250
202
164
121
276
156
160
219
194
121
215
219
208
167
160
121
123
184
131
150
150
150
198
302
167
130
147
179
121
210
168
165
239
150
172
135
112
235
208
170
121
204
175
194
184
121
164
176
150
272
237
220
150
176
123
208
218
112
172
121
186
121
177
123
123
112
206
172
229
214
147
112
168
170
263
212
147
237
121
170
112
170
197
201
112
162
165
150
112
189
170
112
167
124
161
147
112
237
150
263
147
172
112
243
170
161
136
123
150
168
233
167
150
112
250
176
112
156
137
172
112
165
150
150
121
159
150
161
121
215
150
228
208
112
218
231
230
202
167
185
112
208
229
175
112
232
238
150
202
161
130
220
121
170
213
187
128
150
228
217
165
159
208
167
226
150
123
135
112
152
255
112
255
246
219
208
112
112
123
237
161
167
167
170
124
178
152
229
171
210
208
150
137
192
250
150
202
150
220
147
112
208
130
167
172
217
170
135
276
112
115
171
150
158
147
194
208
172
112
167
195
208
115
170
137
208
255
170
174
195
208
208
143
219
150
255
174
264
226
160
150
171
121
112
123
210
121
174
181
195
205
172
174
150
193
246
112
217
167
172
150
261
150
121
135
203
112
172
167
206
194
208
165
150
181
198
172
194
189
178
294
226
121
193
121
115
298
112
112
208
265
172
121
112
181
121
121
181
220
195
121
181
170
201
112
233
212
211
150
212
162
247
194
115
186
167
165
115
177
208
150
243
208
112
121
160
187
181
208
121
150
171
150
165
121
143
241
121
167
167
167
112
176
195
130
205
112
150
150
144
201
228
165
121
202
172
121
194
121
170
178
165
121
208
136
164
135
208
167
150
130
272
239
208
208
177
217
212
219
228
233
163
112
171
189
214
115
186
150
194
144
205
150
190
147
150
176
172
225
215
164
170
187
165
123
112
181
175
212
302
121
195
137
170
165
121
189
170
150
179
150
150
228
150
150
141
181
135
210
147
208
193
167
172
187
194
240
172
124
150
150
208
167
220
112
272
150
128
150
150
193
121
121
201
231
137
150
193
208
150
112
210
305
212
157
150
187
150
164
228
121
121
172
196
208
167
237
167
192
123
150
150
205
115
167
193
150
195
112
150
208
210
200
203
150
121
124
164
164
150
181
194
194
112
179
124
121
167
228
172
170
170
150
172
220
112
191
136
150
124
121
231
243
121
186
172
121
209
312
196
176
150
171
208
187
150
150
124
202
184
173
194
244
210
215
202
150
195
176
179
192
181
115
121
121
136
121
208
220
181
208
164
217
112
176
208
175
150
193
209
262
225
172
121
201
208
190
168
193
208
135
128
183
167
161
112
112
124
112
150
171
172
172
150
165
112
150
182
244
147
203
167
204
135
178
157
150
237
121
187
131
278
150
172
200
112
172
275
181
172
208
158
143
171
189
130
182
203
205
112
112
208
136
272
112
220
172
167
241
172
171
112
174
159
167
135
176
210
172
115
201
179
137
158
181
130
181
212
202
192
195
112
202
195
167
228
121
237
112
164
186
176
202
194
112
159
231
187
181
181
164
208
150
194
112
239
150
136
152
147
112
150
226
203
162
210
216
186
165
171
278
150
121
214
112
137
152
204
150
193
167
226
147
115
112
212
204
150
164
171
121
238
150
212
300
112
135
164
172
161
124
112
208
168
177
194
121
199
194
170
165
192
161
170
181
171
121
193
165
176
202
150
160
153
240
123
172
150
194
198
225
150
144
172
202
254
231
167
208
172
112
197
167
196
187
216
136
115
112
167
168
123
150
181
214
210
187
147
112
167
150
112
112
137
147
165
121
186
165
201
208
123
112
112
150
175
150
245
172
203
185
152
136
121
150
112
220
150
150
170
194
172
121
210
208
186
171
203
136
160
208
215
165
170
192
156
255
112
135
217
184
212
112
162
136
187
196
206
208
208
220
264
213
121
172
184
167
217
215
215
174
167
240
135
208
152
176
121
150
208
232
210
150
121
171
150
170
147
121
210
220
193
150
152
220
176
208
228
233
112
175
167
170
208
258
203
164
206
233
150
112
167
186
202
121
242
115
218
206
192
150
112
258
152
208
243
150
207
121
167
167
201
160
186
186
203
228
115
121
231
121
167
230
123
172
150
263
179
147
218
146
146
168
172
144
160
172
175
196
186
208
195
158
233
181
150
228
112
181
112
237
219
178
208
208
150
179
167
150
150
170
135
112
205
226
185
121
208
123
123
137
150
172
172
200
112
170
162
150
158
195
187
158
150
150
170
176
215
208
181
174
207
172
143
170
121
172
150
150
192
112
165
123
225
255
112
253
121
170
121
181
136
115
164
171
231
194
112
167
299
199
274
181
229
112
210
171
121
228
177
178
196
217
121
176
210
121
112
194
150
177
176
223
172
201
208
181
172
236
226
128
165
195
208
167
112
201
160
186
137
112
210
147
121
121
172
134
150
208
121
213
167
171
187
194
229
255
250
228
112
232
121
172
128
150
121
181
225
190
182
112
137
194
161
172
165
137
112
112
217
123
226
121
240
239
130
121
149
112
150
121
263
181
170
121
170
172
196
164
186
208
153
112
136
238
150
186
194
165
147
228
228
115
115
150
167
207
112
178
181
170
194
150
171
208
135
187
208
172
208
214
203
217
150
170
215
232
150
137
112
237
144
112
219
211
112
171
121
219
171
179
219
171
150
112
195
172
186
121
205
176
176
175
150
150
176
217
167
193
137
276
258
302
165
182
202
123
178
150
135
172
208
121
212
212
201
112
172
121
112
150
137
136
150
176
203
239
112
123
171
193
232
150
121
112
172
167
128
209
177
115
177
150
161
171
121
209
150
121
167
128
186
202
165
123
186
193
181
167
112
150
150
206
213
187
171
167
167
237
165
207
172
208
174
194
131
152
150
150
201
150
172
202
184
237
167
207
145
193
150
220
121
150
150
234
167
174
197
202
121
112
150
112
186
150
150
150
210
112
157
121
112
170
159
112
172
165
165
244
150
158
156
168
112
152
192
219
112
170
163
157
147
150
172
170
235
121
150
147
181
212
172
121
193
195
121
255
164
176
191
112
124
112
210
208
181
181
150
219
156
121
112
147
170
228
164
171
112
112
137
172
205
112
131
243
223
208
231
236
150
201
208
123
124
193
112
181
112
165
181
150
208
112
210
153
194
172
228
172
162
176
208
219
196
217
181
219
202
121
137
150
212
208
176
175
208
121
150
147
283
181
164
143
209
211
121
157
247
237
171
171
226
237
172
123
193
205
219
194
176
235
171
226
150
150
178
211
278
121
230
127
121
228
171
172
164
121
124
243
234
112
170
112
150
123
202
275
150
121
150
150
123
177
150
194
208
172
194
167
150
167
201
192
137
225
191
150
176
160
167
112
172
231
158
194
230
174
196
195
215
172
136
150
202
150
254
176
218
150
115
128
123
182
233
212
165
240
195
177
112
132
208
147
160
165
186
257
171
121
226
171
202
112
112
167
123
170
178
229
121
112
121
159
135
167
193
193
150
201
121
135
255
150
195
136
208
214
170
193
263
172
243
112
209
202
276
112
115
135
150
234
112
177
143
167
193
121
160
150
150
208
191
233
208
136
181
121
135
150
193
112
176
255
172
150
194
201
181
150
226
121
174
212
172
121
112
165
220
135
112
121
217
318
203
198
172
158
201
225
218
150
247
204
112
121
171
225
112
150
181
196
121
195
213
212
212
163
225
172
195
121
121
181
170
177
223
136
184
194
172
219
228
121
208
195
237
210
112
184
228
276
167
195
124
112
112
237
172
121
170
150
172
121
250
112
186
171
136
112
121
176
201
231
177
231
124
121
208
165
178
171
193
195
121
150
123
112
212
167
150
237
121
214
165
150
121
208
212
143
237
137
211
186
206
147
194
112
199
208
121
165
208
236
195
172
167
112
187
123
233
284
172
179
176
137
150
181
121
174
249
208
123
121
195
172
217
150
208
172
175
212
172
177
215
165
201
176
121
112
112
136
123
121
196
165
123
208
229
158
112
152
136
150
239
132
162
123
181
202
112
179
186
121
178
172
177
150
172
208
202
123
170
229
150
228
239
179
150
150
230
170
212
156
228
112
112
135
165
112
176
252
172
171
121
112
121
112
168
167
170
216
158
223
167
237
208
265
121
192
186
208
208
172
192
174
135
228
188
112
195
217
219
203
165
159
112
121
167
205
205
112
150
170
167
203
208
196
112
112
186
150
121
174
167
176
231
250
186
274
150
158
172
130
165
112
177
121
172
219
136
112
195
147
112
135
135
121
181
150
121
172
136
124
174
135
167
176
130
195
239
150
193
112
219
150
302
150
115
112
150
181
181
112
203
175
176
121
150
121
121
187
278
123
121
241
263
172
185
231
150
165
255
168
224
208
150
171
171
196
121
208
239
208
164
258
218
177
194
150
210
197
177
266
165
207
208
112
219
194
177
195
192
187
150
121
162
150
249
170
243
156
112
272
160
187
181
195
150
112
150
220
150
170
171
144
201
196
150
179
178
158
177
112
187
135
150
279
205
158
208
193
112
112
112
124
159
186
121
115
147
121
187
186
170
170
194
210
174
112
181
218
241
170
150
136
150
212
181
240
112
218
171
172
165
150
176
150
172
181
172
164
172
211
150
208
208
172
242
195
121
202
233
112
208
171
194
147
112
225
205
201
176
165
121
181
121
167
258
193
112
243
170
170
150
207
158
160
137
112
137
196
147
121
278
167
231
203
210
124
172
265
208
177
147
208
170
150
171
168
112
121
198
193
167
170
202
203
170
164
147
121
112
222
167
137
229
150
195
186
206
121
112
136
112
212
212
194
194
195
172
250
170
121
112
112
186
171
150
165
121
130
150
152
190
112
150
152
174
240
159
150
124
171
229
231
208
172
226
170
121
208
176
241
206
115
115
167
235
121
176
214
112
229
170
241
121
215
165
194
121
121
208
115
121
192
173
115
167
150
112
112
165
132
150
212
181
196
150
130
145
112
171
150
239
186
121
175
179
150
150
184
208
175
217
121
230
208
150
121
171
150
150
167
172
228
112
237
170
164
167
206
123
239
170
139
208
164
112
150
150
123
195
135
255
121
150
203
168
156
205
231
171
152
170
194
182
194
150
143
112
150
171
124
150
255
253
205
170
115
174
150
165
121
184
172
192
137
257
240
186
152
174
112
167
137
181
214
208
184
178
195
150
255
208
147
112
150
255
231
112
231
228
150
208
210
158
255
196
135
123
172
192
168
173
170
202
121
172
170
164
218
112
186
203
228
112
176
123
205
124
150
193
150
150
203
165
121
194
112
147
187
123
135
195
279
218
112
170
170
171
150
150
187
112
168
171
121
147
228
130
112
171
112
121
208
165
268
121
212
203
215
174
208
123
150
181
217
112
210
220
130
121
115
128
121
112
128
123
121
238
179
258
172
112
168
219
181
167
181
165
150
172
112
123
135
112
135
185
182
233
176
203
170
150
227
208
130
207
168
115
152
225
152
137
176
159
231
186
171
208
174
124
150
218
207
135
208
220
215
123
121
208
121
165
168
150
121
208
112
121
123
208
135
121
167
210
135
159
150
194
150
167
228
121
147
172
121
139
195
164
121
229
201
194
152
171
121
194
228
112
159
196
183
123
123
158
158
251
170
112
207
181
201
159
208
191
225
174
210
144
158
194
136
208
172
171
192
168
194
150
171
194
167
121
150
208
112
177
205
150
112
229
150
112
201
112
176
193
208
187
121
250
112
250
143
193
130
186
172
123
112
146
187
121
181
192
167
164
123
147
137
150
135
198
190
150
231
123
288
181
208
150
150
178
233
121
150
150
112
218
175
200
214
202
150
167
232
250
194
112
150
250
121
208
121
112
224
121
150
150
170
164
172
112
194
233
259
132
172
174
210
165
167
217
121
168
143
167
208
164
150
150
170
112
208
150
210
237
177
121
156
121
250
176
165
177
144
176
208
260
159
171
172
136
216
123
150
112
177
199
208
195
112
172
150
177
215
147
150
208
230
231
112
192
203
234
121
208
171
112
186
159
152
186
136
215
206
123
121
165
158
123
159
258
121
156
165
112
121
208
255
150
209
112
201
220
170
150
228
137
150
150
112
135
212
150
121
171
170
239
208
237
193
150
112
176
261
112
237
201
112
173
170
172
174
112
203
167
150
181
150
225
136
186
207
208
232
112
193
150
167
205
156
201
168
187
121
243
150
112
208
208
172
150
176
208
237
147
115
171
212
210
150
208
167
203
170
214
121
112
172
237
208
150
165
137
202
112
128
150
194
263
124
172
115
275
176
195
195
170
176
244
150
170
167
121
210
150
150
137
256
190
177
150
147
156
237
239
123
194
255
150
177
158
159
232
121
112
167
150
150
168
150
123
150
171
181
124
195
187
212
170
181
121
299
162
193
165
150
150
250
240
121
170
121
181
217
147
189
210
137
272
164
206
209
150
150
240
167
123
124
112
136
164
170
112
123
176
213
194
177
164
170
177
171
237
187
194
112
205
208
190
203
150
167
212
264
215
181
231
121
208
190
143
208
165
150
172
135
171
160
186
172
121
176
128
135
170
121
210
189
135
130
208
203
158
201
189
183
112
205
121
112
158
112
150
137
195
172
194
123
135
177
135
220
255
186
223
150
167
112
150
278
250
186
165
128
121
231
112
218
170
196
206
171
228
121
170
263
150
150
121
112
172
193
246
255
150
194
198
121
202
172
208
170
170
202
210
150
121
240
208
281
176
172
150
199
172
175
150
112
171
150
200
112
213
171
150
150
112
122
228
212
256
177
167
163
208
123
150
210
165
228
192
212
112
112
195
203
171
219
150
121
172
121
150
150
208
178
212
121
171
135
219
175
217
112
205
192
170
212
121
210
123
112
229
202
208
150
173
123
112
236
112
150
170
186
203
150
150
170
172
272
121
170
208
228
165
194
176
121
201
233
176
201
276
115
193
167
112
156
167
167
196
150
176
150
229
176
167
167
194
150
177
194
131
165
231
123
172
192
150
150
121
174
208
123
201
121
254
143
137
124
112
212
150
203
263
150
240
250
171
124
123
165
137
203
171
236
210
150
177
112
167
167
210
112
150
112
220
165
167
150
158
121
112
208
112
112
196
194
194
208
172
193
159
143
171
150
150
150
208
137
121
159
112
147
112
131
167
220
172
112
228
171
176
112
206
161
150
259
123
160
112
238
187
158
177
115
162
150
278
137
202
160
208
150
150
112
243
172
112
136
172
112
208
137
186
181
176
195
193
208
195
257
172
150
194
201
150
239
174
167
115
176
174
181
258
210
150
213
176
202
165
130
176
158
167
250
121
112
152
215
250
255
150
196
219
167
150
208
228
172
150
192
217
228
207
170
205
187
187
156
219
193
187
147
208
170
171
150
150
257
243
124
202
254
172
158
201
152
212
167
121
181
187
156
186
177
170
234
229
112
171
170
172
264
210
171
176
194
167
112
212
170
181
150
172
112
208
121
171
135
219
167
123
171
201
215
206
112
227
150
123
172
194
234
224
167
171
112
112
121
172
150
150
233
167
205
171
223
243
193
112
150
170
121
220
195
158
214
150
172
215
112
164
178
112
112
175
208
208
136
167
192
121
150
147
150
195
150
112
192
186
193
168
230
123
150
112
180
237
194
112
121
169
124
206
150
181
158
189
176
171
158
150
112
121
150
190
165
165
159
239
112
202
208
135
220
150
217
170
156
208
250
121
112
170
255
150
128
123
112
121
228
115
193
213
243
174
174
167
212
194
201
123
229
170
170
219
165
112
150
208
124
115
144
208
147
178
171
225
201
112
171
174
208
177
172
202
112
214
152
195
115
208
203
187
112
112
184
219
194
112
147
115
121
208
232
121
147
208
112
228
185
203
239
220
150
112
187
196
173
199
131
150
150
214
192
237
112
115
112
176
219
217
170
198
212
161
197
174
208
213
193
123
135
255
217
121
165
193
150
158
150
172
167
168
123
150
135
194
121
232
171
181
176
150
225
174
112
121
112
165
121
193
196
230
201
150
130
150
228
176
224
158
170
147
212
167
202
236
112
159
263
186
112
200
220
187
135
207
136
219
150
112
170
150
276
112
112
147
187
208
213
227
172
208
177
121
123
218
150
121
112
208
121
150
171
150
210
208
150
172
257
217
243
229
184
210
115
205
147
112
167
136
208
197
112
112
150
174
159
208
121
143
238
176
121
194
194
171
217
234
240
176
123
165
128
121
208
225
219
150
115
146
208
180
165
150
144
179
168
201
153
158
121
162
165
171
150
208
137
202
162
150
172
112
121
123
196
150
202
112
137
205
179
192
203
156
170
230
181
226
150
186
121
181
182
168
236
192
236
121
150
112
172
112
147
278
181
159
217
229
170
229
201
194
170
203
263
150
121
121
167
208
181
121
152
192
243
260
201
121
123
171
172
150
123
205
237
112
186
121
150
171
112
134
208
242
112
159
112
208
225
160
112
121
192
216
150
167
137
208
170
150
150
239
123
150
170
192
235
201
207
150
150
177
150
121
172
185
232
121
112
115
121
234
205
208
170
297
121
208
217
150
201
150
150
167
176
121
123
150
194
194
176
233
261
208
143
208
250
147
171
230
112
112
208
147
123
136
176
208
193
167
171
208
121
150
112
237
181
208
121
193
165
228
237
212
150
186
112
135
112
121
121
195
123
172
226
150
174
189
121
212
202
174
179
147
167
112
202
150
146
192
231
237
165
150
195
171
112
172
167
112
215
187
161
181
183
121
208
172
223
137
170
181
251
128
172
165
208
136
209
159
186
243
112
202
176
207
208
123
218
189
131
195
150
150
210
208
146
150
112
220
112
160
226
184
121
176
146
187
150
136
121
172
121
112
121
214
181
112
202
112
172
147
170
184
172
112
170
156
174
121
192
289
170
121
186
112
187
203
112
112
165
172
250
176
194
218
112
112
112
208
172
112
195
150
112
174
170
208
112
250
204
176
171
192
150
237
247
186
201
112
211
123
150
170
150
235
189
244
167
112
150
150
150
231
177
208
190
123
194
194
241
178
167
135
181
236
194
203
195
167
192
189
258
174
258
205
136
237
217
177
193
194
150
124
167
223
187
181
121
121
173
123
150
176
150
167
172
184
112
193
150
174
187
150
176
112
167
205
160
237
158
112
219
121
185
150
172
170
150
168
179
181
171
121
150
199
121
217
170
150
124
150
240
150
165
121
150
112
121
208
171
225
250
167
121
193
201
211
169
121
123
223
201
195
187
150
204
255
202
201
170
115
112
112
216
150
165
175
208
115
150
170
121
123
196
121
239
150
156
130
194
150
186
181
121
172
177
112
208
214
162
158
121
144
217
158
202
202
150
266
124
112
164
166
123
143
202
181
208
215
231
147
150
164
216
194
228
170
172
208
208
195
172
112
112
208
112
202
112
130
225
208
156
208
158
112
112
219
176
112
214
167
210
121
178
158
150
121
193
112
121
164
147
112
121
157
112
291
112
135
123
150
208
210
171
240
150
156
243
194
177
150
112
257
186
112
165
158
225
214
123
226
150
176
208
237
171
203
112
121
124
150
181
172
176
147
164
167
208
186
172
150
170
186
150
170
211
228
159
210
123
121
159
203
167
171
121
176
240
210
229
112
218
112
203
237
112
176
112
123
112
172
230
170
137
228
112
202
150
150
144
150
137
170
194
150
235
150
150
186
200
255
229
175
121
123
112
172
165
187
121
186
160
124
239
170
219
160
150
250
194
195
115
212
115
167
112
121
135
128
146
150
194
172
208
137
121
121
207
170
150
202
192
231
201
167
186
212
137
132
268
123
156
195
156
226
121
257
158
167
223
159
186
216
112
156
167
150
194
167
231
128
112
209
172
208
194
150
112
137
171
217
150
121
112
137
181
130
229
170
150
210
220
231
165
255
112
150
172
193
167
217
150
172
215
240
255
187
167
124
112
187
112
176
181
172
150
186
160
164
123
168
121
167
194
203
112
195
121
112
208
212
123
112
177
150
187
198
239
135
181
167
187
174
208
194
215
228
203
168
208
172
150
206
208
207
112
112
212
150
168
150
135
171
150
195
208
184
172
121
190
219
233
112
115
172
171
181
112
259
201
167
121
121
172
167
194
181
121
160
112
165
250
121
128
165
159
208
258
201
229
218
165
215
150
167
159
112
181
204
112
121
158
231
112
192
112
137
187
225
194
186
121
175
121
115
150
278
290
150
208
150
165
150
150
164
123
172
112
165
193
184
181
172
165
160
150
121
203
231
121
121
208
268
165
241
150
150
112
112
186
195
150
136
172
221
150
187
159
213
231
172
167
208
238
115
193
112
167
208
211
121
150
181
219
186
137
150
186
228
150
173
137
220
159
226
112
130
171
194
150
219
226
208
208
124
181
170
194
121
245
172
112
150
216
167
170
150
165
186
150
195
150
124
170
217
270
112
162
168
171
150
187
208
263
277
164
170
112
112
291
131
208
237
150
123
121
135
135
203
210
228
112
112
233
184
167
216
226
150
121
150
150
179
194
150
278
229
150
245
200
167
216
150
121
201
219
165
208
165
229
150
203
201
121
121
229
158
172
181
150
123
276
139
158
150
181
150
208
226
137
176
208
175
229
170
210
239
172
195
159
203
257
150
147
279
165
112
208
165
261
208
225
112
194
170
150
202
233
257
177
121
121
194
115
150
208
150
150
170
187
228
218
194
208
150
208
172
178
238
187
121
150
176
210
121
243
112
167
150
112
147
213
150
172
176
150
210
165
263
112
174
112
112
121
123
212
136
150
203
171
112
232
208
150
212
228
137
181
217
255
115
220
170
195
208
165
209
135
172
112
177
123
176
204
137
187
219
228
121
164
208
171
195
150
156
168
115
150
130
259
170
150
167
137
208
121
152
121
186
210
210
150
121
227
218
208
150
150
196
196
208
208
259
172
124
215
212
150
152
208
172
196
234
172
150
137
177
121
172
171
115
121
136
136
205
268
112
187
231
254
143
208
170
121
242
121
302
194
214
112
302
172
145
208
176
244
231
195
208
229
210
143
182
234
223
217
150
186
177
121
202
124
170
208
278
181
121
206
167
176
172
172
250
208
147
171
183
150
207
159
159
121
121
170
208
178
121
112
172
181
187
243
217
208
205
158
112
208
236
250
171
112
171
260
181
159
168
165
172
131
112
181
121
170
184
150
135
203
128
159
150
156
124
137
136
228
112
208
165
258
150
150
167
195
165
147
150
150
240
167
160
123
165
208
181
150
210
123
150
121
242
219
128
201
123
194
208
121
189
172
112
121
291
237
165
278
121
121
164
212
112
123
112
173
181
121
150
123
208
172
229
167
135
121
217
121
282
186
204
123
112
170
171
136
121
258
112
172
202
172
193
278
158
121
203
112
164
134
176
112
112
168
152
137
170
123
150
112
172
121
170
225
170
136
231
217
176
230
230
150
181
171
157
174
123
123
171
202
112
186
194
172
194
187
177
167
202
156
150
232
123
175
158
150
112
181
228
237
112
210
213
219
123
121
112
226
187
219
150
164
150
243
172
208
164
130
128
150
172
150
229
187
202
193
112
194
150
112
174
237
150
136
170
121
194
147
208
181
165
212
239
240
228
150
233
203
170
121
150
158
172
143
217
135
121
186
128
112
150
150
214
174
141
112
172
176
276
205
255
123
201
150
160
121
168
112
121
189
121
208
159
123
209
131
234
172
186
121
255
145
150
195
112
215
210
187
208
176
231
242
208
205
121
208
203
193
275
225
212
228
123
167
130
112
230
121
250
239
150
195
187
191
212
121
170
201
226
252
228
150
262
194
167
243
187
186
178
158
112
207
150
171
195
192
121
194
121
112
121
150
150
187
171
194
195
150
172
167
177
276
243
257
170
168
228
192
207
150
170
135
123
264
208
123
231
144
112
150
203
195
121
150
220
150
150
228
239
210
171
112
121
172
123
170
228
112
181
112
208
231
121
112
228
170
121
210
231
170
158
157
164
181
150
177
121
150
202
195
167
208
156
121
150
208
192
167
217
174
170
235
112
121
121
167
205
112
170
190
112
150
176
121
137
164
121
171
176
165
172
150
112
170
112
194
162
228
156
121
150
144
227
170
130
182
226
208
220
123
263
193
172
202
150
203
172
195
150
208
192
176
150
147
211
237
199
208
150
172
172
202
172
176
235
228
121
121
150
172
181
194
121
112
121
203
194
150
150
172
137
226
115
177
121
176
194
229
215
171
150
121
174
222
201
112
165
176
150
124
251
181
112
263
150
174
172
226
208
176
208
171
202
167
167
208
193
124
174
123
112
207
174
187
215
179
171
186
170
208
150
181
194
189
179
112
264
147
152
208
187
171
130
218
225
115
198
195
147
278
208
235
239
170
177
150
147
176
210
174
136
210
203
193
208
182
172
171
112
112
112
145
121
226
278
112
172
168
237
185
228
172
192
112
211
172
137
196
189
209
206
172
121
181
210
146
176
123
237
157
170
179
203
150
150
229
112
121
203
228
172
208
159
135
201
137
137
201
228
137
174
150
238
165
112
195
167
143
150
112
226
171
150
208
210
121
195
150
159
172
172
165
233
171
203
150
150
176
179
112
121
150
150
217
167
207
164
150
208
165
215
239
227
181
208
250
302
176
150
226
186
184
112
212
276
172
112
136
150
302
112
170
112
185
150
171
208
150
187
186
150
123
112
112
112
121
121
150
171
128
150
169
188
170
150
150
174
112
121
171
112
175
156
218
231
158
174
210
121
193
130
239
208
193
165
190
143
175
167
167
170
150
208
227
257
208
289
135
240
237
201
123
186
150
121
159
121
236
171
210
209
244
203
165
112
112
187
136
147
172
243
150
207
232
207
181
215
172
197
170
172
208
150
172
209
243
176
164
208
177
194
156
170
112
164
226
215
121
121
208
186
192
121
121
194
212
150
150
212
255
112
172
225
171
152
121
112
121
158
194
263
135
167
112
208
193
263
263
170
225
128
218
195
172
121
191
167
150
236
115
176
172
130
172
128
136
228
228
195
195
150
112
130
150
230
187
112
167
159
176
209
121
220
176
208
150
225
136
112
182
121
150
207
278
164
196
170
220
112
263
139
171
137
165
250
112
232
171
187
165
167
158
178
179
112
167
135
112
112
186
229
164
281
162
150
232
112
178
194
143
209
170
230
170
241
121
150
172
165
124
150
209
152
172
228
209
212
168
121
193
150
160
207
209
213
150
124
112
121
194
112
150
263
208
115
229
208
176
172
208
156
167
255
121
150
228
179
136
208
147
135
181
193
208
278
243
189
302
190
112
172
187
112
164
201
157
208
247
218
172
150
112
123
136
115
147
150
172
242
208
214
186
230
165
171
184
121
112
167
165
172
195
208
150
167
112
208
165
208
112
226
205
123
164
135
167
215
172
121
217
202
150
150
201
135
167
156
137
167
208
130
179
112
233
112
210
181
193
197
269
202
150
181
150
225
171
170
206
165
170
205
167
150
150
193
167
208
112
224
167
189
167
219
167
157
150
173
250
135
204
136
201
165
150
150
210
176
220
150
159
158
112
237
150
187
160
123
187
164
121
123
210
232
112
147
167
272
194
255
214
112
196
150
150
259
135
112
112
150
115
147
150
136
212
261
236
147
170
112
194
121
193
150
150
172
164
150
112
112
150
112
171
112
291
167
226
112
147
112
121
208
174
212
112
165
150
130
115
150
112
176
165
112
128
143
233
136
210
186
208
150
150
112
243
228
212
112
170
237
121
112
158
150
237
210
225
150
208
208
172
171
170
121
181
112
238
167
181
137
190
150
205
186
135
167
170
221
167
150
123
150
186
115
208
112
265
164
237
187
171
144
150
121
167
194
202
136
297
187
228
211
219
121
167
172
275
121
165
194
150
213
168
115
150
164
194
158
124
181
164
150
150
176
121
158
130
172
123
150
146
121
228
235
124
203
150
165
208
172
208
150
219
168
194
235
212
171
217
201
259
213
123
150
219
174
121
171
157
240
210
208
208
121
150
205
167
208
226
187
212
217
112
144
193
150
176
167
115
124
121
186
208
204
150
250
150
121
150
208
121
208
171
172
171
205
150
171
192
112
194
112
211
112
234
196
121
228
143
170
150
167
112
112
171
112
225
172
144
112
150
165
231
128
302
121
250
112
121
112
242
181
211
172
210
121
213
193
152
150
137
220
150
150
112
211
196
177
172
123
136
150
237
211
190
170
186
255
146
171
226
212
202
112
170
150
171
215
181
112
150
170
205
212
124
167
172
208
182
167
170
121
227
172
150
186
208
150
214
195
193
121
241
221
137
112
245
203
123
136
179
216
210
172
112
208
208
176
150
115
112
150
121
174
152
201
208
183
176
159
195
150
214
121
268
225
112
171
186
121
176
159
171
197
204
186
164
150
112
172
174
165
150
121
165
121
168
214
174
175
121
250
170
121
186
181
204
237
176
282
137
194
150
206
208
212
231
194
150
165
208
121
215
203
194
176
112
147
208
250
112
220
135
150
121
150
203
121
121
150
112
112
147
194
131
267
150
123
172
172
167
193
136
121
135
112
194
202
158
229
112
152
112
152
205
165
215
147
112
166
150
167
239
220
172
208
170
150
121
186
150
123
121
193
212
187
210
167
150
263
208
123
112
112
231
186
172
228
112
212
167
152
150
137
150
158
167
205
176
121
112
172
167
150
221
112
174
184
228
170
123
123
215
124
115
147
176
112
247
162
123
121
172
112
194
150
121
176
217
121
112
137
202
218
233
170
150
150
150
208
150
199
208
121
216
112
166
170
172
171
135
171
215
195
208
207
112
190
167
115
150
150
121
208
235
171
144
170
165
210
202
210
176
150
150
115
167
112
112
172
233
112
130
302
196
215
220
124
150
156
229
121
181
208
121
218
150
150
150
167
130
214
137
184
171
250
250
210
121
192
233
172
192
189
208
172
121
112
121
121
112
208
121
115
194
112
170
195
195
212
170
112
194
179
121
123
212
121
219
229
150
210
150
112
174
157
172
112
170
112
198
220
112
272
201
112
208
121
250
208
175
175
255
158
208
112
243
112
121
112
164
167
177
214
135
207
225
121
161
121
187
243
204
195
150
181
176
164
204
177
160
212
150
250
170
123
208
191
152
208
228
150
192
112
152
162
276
131
212
150
237
123
112
194
193
150
203
112
176
171
112
150
124
150
177
176
130
165
201
157
263
176
187
171
272
112
181
275
219
177
112
194
172
212
237
137
121
236
176
209
124
171
237
207
207
172
112
150
112
167
158
237
112
164
226
172
164
215
150
158
225
167
121
112
121
237
282
150
112
112
112
239
135
150
208
150
121
207
210
112
112
238
208
215
121
147
203
219
204
178
150
171
123
147
281
112
193
112
143
172
167
167
186
121
195
167
208
124
121
157
165
181
216
112
168
112
195
220
150
164
226
217
250
150
203
210
232
199
237
150
112
150
171
150
123
150
214
186
208
170
254
150
219
192
228
137
112
220
160
171
171
228
112
112
208
171
175
186
176
121
156
112
150
150
121
150
112
144
181
112
171
174
152
172
158
220
203
170
112
181
208
218
146
242
212
193
226
167
112
208
228
167
181
150
130
237
150
150
170
167
130
194
181
215
195
228
202
236
214
208
250
253
202
167
112
208
112
172
232
137
238
186
123
123
170
219
237
172
112
201
112
124
112
241
178
187
137
220
177
159
231
147
187
150
205
136
206
150
192
167
196
176
121
208
115
150
170
219
228
181
208
201
136
172
150
136
223
137
172
210
172
205
177
112
194
170
219
205
112
167
121
139
193
208
150
217
136
112
228
115
135
167
199
226
112
240
250
253
210
165
176
158
276
172
192
211
220
207
149
115
237
211
135
195
160
203
260
170
121
175
115
147
172
195
112
218
170
170
207
121
172
202
156
112
123
112
156
150
170
112
121
170
112
115
250
208
226
240
137
171
121
215
158
150
208
264
150
192
160
202
264
112
150
150
112
223
202
167
112
159
208
112
135
168
194
158
172
171
203
170
255
211
167
226
160
190
167
186
121
161
204
202
121
170
152
190
167
193
121
112
218
176
170
214
176
238
176
181
302
208
173
232
123
170
175
208
186
112
167
150
171
232
192
112
198
176
159
181
208
150
181
170
121
194
210
130
184
130
205
130
176
276
172
212
135
167
121
150
208
112
170
240
150
186
176
186
150
147
128
259
175
165
210
198
186
170
150
143
121
171
112
167
157
208
231
112
143
186
177
186
150
172
150
168
158
250
112
208
112
123
250
231
210
196
146
112
208
171
186
170
167
112
210
146
121
199
186
167
195
121
212
215
186
239
174
170
135
176
172
150
168
228
170
123
217
121
112
187
193
210
225
143
172
136
255
130
121
167
150
186
121
186
150
192
196
165
172
176
137
173
198
181
211
170
202
186
186
208
147
233
112
150
172
112
150
187
194
237
128
229
241
174
123
179
123
160
124
228
179
123
212
193
123
189
150
128
150
192
121
112
258
175
184
171
230
150
150
150
147
236
192
167
150
203
123
150
212
233
159
186
112
167
274
281
250
187
186
112
112
206
193
121
215
176
187
136
121
167
208
150
197
150
201
199
165
112
112
150
209
150
171
158
121
150
171
164
150
165
203
150
160
168
149
121
208
112
208
206
112
228
121
150
274
112
121
195
121
240
212
231
195
270
112
121
165
213
150
115
172
228
123
254
208
112
225
236
172
167
170
302
174
165
192
234
131
121
232
208
170
130
112
208
272
112
112
124
112
174
170
143
150
162
239
167
159
121
156
207
150
158
164
217
232
150
150
171
203
121
172
136
130
165
197
202
147
112
135
150
112
193
112
231
232
115
208
244
136
201
121
115
167
123
150
211
167
167
123
130
123
165
226
202
201
123
143
150
121
255
150
199
167
121
167
176
146
165
186
170
208
222
165
165
165
150
123
231
181
223
165
181
159
170
172
112
214
192
193
150
251
205
121
170
150
207
150
193
194
159
143
170
187
150
150
189
121
176
147
213
137
234
194
181
121
150
187
150
167
121
171
123
210
226
121
194
243
121
212
194
121
112
272
167
168
194
150
164
123
123
172
123
159
112
150
159
132
123
239
150
112
150
176
216
136
128
167
150
312
195
123
135
172
141
219
203
150
181
207
172
172
176
167
231
181
137
205
208
201
121
284
112
164
165
157
150
205
170
121
179
171
167
152
136
150
128
208
276
172
121
171
123
112
220
219
112
167
170
135
112
158
219
121
167
150
182
194
161
179
233
112
194
112
115
170
112
167
150
150
174
208
208
203
175
121
121
150
240
135
150
136
190
232
170
135
194
150
112
186
172
170
160
225
165
240
165
212
226
265
257
231
176
172
170
150
168
154
121
178
208
112
208
182
150
232
203
150
193
228
239
135
235
167
150
150
213
150
228
223
112
189
150
150
237
150
178
112
170
164
167
112
177
137
165
204
181
130
150
165
171
208
226
112
165
150
191
170
239
208
242
193
143
167
208
196
112
194
167
181
137
171
204
170
167
150
112
210
121
165
167
123
172
112
136
174
202
198
160
208
244
150
208
170
171
121
174
232
112
150
121
176
212
167
174
112
208
123
175
194
176
181
208
174
237
192
115
187
185
228
225
228
208
167
195
202
208
123
157
121
112
158
208
130
228
112
172
167
150
121
112
136
121
112
112
208
112
159
212
208
112
186
150
170
121
194
160
196
124
150
152
137
174
150
174
194
150
193
198
234
172
208
165
186
112
150
215
210
165
230
159
229
238
170
150
121
121
170
208
121
212
176
170
171
150
112
278
176
123
121
215
172
172
137
274
112
158
182
121
223
121
231
175
121
208
195
150
239
214
115
177
156
165
158
150
112
178
233
271
121
150
128
112
203
135
170
156
123
171
239
208
150
208
181
183
172
158
137
121
150
188
202
186
195
186
172
112
195
186
159
186
174
193
150
227
112
184
150
121
175
261
194
208
228
165
150
121
150
278
274
167
115
228
171
194
208
195
136
170
168
121
228
173
217
208
115
147
121
181
171
167
112
136
228
207
208
208
150
123
135
150
150
276
203
186
112
305
217
170
171
150
208
150
112
150
220
207
121
183
250
231
139
121
150
167
165
170
250
213
172
209
183
232
207
159
130
210
150
189
194
164
121
231
167
124
186
165
112
150
228
150
112
190
194
184
112
167
150
228
201
164
194
244
177
123
112
164
150
150
112
208
235
135
205
170
201
150
165
135
112
156
167
269
167
254
224
223
164
165
195
150
181
167
187
195
112
184
156
121
193
171
165
144
195
202
136
189
231
177
170
167
203
150
112
167
165
136
237
187
192
242
171
124
112
172
192
192
170
167
150
135
135
121
172
112
112
186
150
159
195
147
121
171
152
150
176
150
115
194
112
302
112
112
112
227
112
172
208
156
208
178
177
171
112
226
182
208
269
112
229
165
181
201
150
194
208
239
112
208
121
258
208
170
194
150
193
181
204
152
170
176
150
112
150
202
162
181
203
208
123
112
150
121
192
179
171
143
152
112
135
186
208
147
193
115
172
176
217
136
158
150
112
172
170
161
112
192
112
121
112
172
184
208
231
128
194
137
174
170
167
177
176
123
173
167
172
228
226
233
208
231
208
186
157
194
187
112
202
228
135
112
208
172
225
189
192
150
121
177
181
170
150
208
172
229
121
150
150
112
112
162
172
168
175
172
205
176
202
115
234
193
210
181
172
121
186
170
150
167
243
245
112
213
220
115
253
186
172
112
208
208
175
190
135
112
172
167
150
208
194
162
123
228
158
121
121
198
150
171
150
150
121
199
176
203
176
210
213
165
215
235
172
187
228
181
167
170
121
150
150
136
192
172
186
174
171
208
208
172
214
112
170
157
229
181
147
177
215
172
208
183
202
121
112
244
135
247
181
240
150
208
172
218
150
183
112
220
172
136
150
115
279
112
147
187
187
205
208
115
137
160
170
208
150
201
194
165
170
263
176
227
195
112
208
167
167
121
193
198
220
275
200
172
250
240
150
193
128
208
112
185
112
186
210
121
192
164
176
209
227
172
177
171
195
123
172
164
115
228
208
112
241
150
150
208
150
172
228
194
112
170
121
165
156
136
229
136
208
172
175
171
232
172
189
112
202
215
201
181
168
167
170
124
205
112
176
150
112
150
203
112
195
150
228
211
193
171
115
112
227
167
208
218
147
237
250
257
179
171
168
242
147
176
284
112
181
150
208
225
219
130
278
226
167
121
254
112
176
170
203
186
172
194
208
186
176
150
150
150
182
157
172
272
204
250
232
112
167
121
168
123
121
246
201
150
179
150
254
220
112
150
233
170
144
115
147
165
121
196
158
123
112
135
212
172
150
150
192
150
112
150
167
164
228
276
137
112
170
287
228
242
171
115
112
171
186
121
220
156
284
250
171
121
195
157
121
226
137
150
196
202
121
112
203
146
136
123
123
121
150
275
159
158
174
112
167
198
194
112
197
231
112
112
161
112
165
150
143
195
187
121
195
161
167
171
136
195
170
121
297
208
195
201
297
176
150
175
242
170
150
246
121
150
112
150
150
274
130
171
112
112
195
240
152
170
176
112
185
150
158
170
207
190
143
112
112
210
135
208
263
121
299
115
136
203
193
194
171
112
167
135
208
247
181
203
202
150
147
150
193
202
164
112
184
172
112
150
143
205
213
187
123
172
121
150
208
171
208
112
160
136
121
208
128
187
112
239
150
121
143
208
112
225
218
123
201
112
208
143
152
203
208
135
198
172
208
225
170
150
208
137
150
147
124
112
152
184
176
112
189
121
194
112
172
150
150
164
170
123
150
172
278
203
170
205
176
170
150
159
156
121
212
147
112
187
172
121
226
150
144
121
167
150
124
168
194
182
150
218
234
121
193
202
172
121
210
181
263
171
160
240
167
206
233
208
121
121
208
147
157
150
121
158
178
176
194
181
191
220
150
112
203
121
217
175
121
220
123
150
121
170
112
121
172
210
112
131
123
123
225
121
167
121
158
208
192
150
172
229
112
121
218
216
187
121
181
164
195
191
230
187
167
172
112
156
170
225
220
132
170
143
299
167
176
176
179
112
195
205
121
167
172
228
177
182
193
167
150
121
112
226
150
123
167
201
161
181
167
213
112
208
112
186
150
150
136
115
165
150
172
150
160
112
123
274
123
112
112
192
210
194
121
128
186
208
170
137
250
164
170
226
223
172
112
112
229
112
194
150
121
194
201
208
112
115
157
112
115
150
147
191
162
212
112
172
171
185
164
150
177
150
136
219
186
121
170
194
150
233
112
225
160
112
172
158
146
121
150
208
121
187
181
181
123
170
186
250
192
112
199
210
181
135
228
165
158
171
203
208
167
115
150
205
167
165
143
194
121
220
192
208
218
187
121
178
187
165
176
263
212
226
176
172
225
181
176
278
112
171
150
167
165
121
231
170
150
112
167
150
112
188
174
192
167
172
170
121
150
203
156
250
193
175
112
150
150
175
121
227
181
150
136
121
263
242
168
147
112
172
297
207
194
226
112
228
230
172
302
239
176
181
150
123
304
123
240
233
170
219
225
112
164
150
174
186
167
186
143
239
165
196
150
227
150
115
181
112
162
121
220
150
112
150
121
121
179
202
181
208
176
186
112
135
167
255
181
147
195
171
123
157
195
112
196
208
150
150
187
150
179
170
193
187
172
121
136
237
112
123
121
194
167
194
112
171
194
167
158
226
170
192
121
228
208
112
210
205
135
195
112
193
112
165
216
210
170
160
135
192
112
112
121
171
226
115
176
225
208
181
121
212
208
218
157
165
167
167
210
207
172
112
157
112
182
228
194
216
205
267
135
135
112
170
150
250
194
218
150
112
178
150
217
219
178
121
213
174
186
198
234
112
208
121
123
165
150
198
130
237
172
150
186
160
192
164
237
241
172
208
209
239
136
130
169
176
143
255
156
165
231
203
137
112
171
204
252
158
193
250
217
112
202
121
163
167
167
112
237
147
210
193
152
124
150
205
239
216
150
205
210
237
146
194
165
112
223
197
171
157
150
184
121
216
235
239
121
186
208
208
243
161
201
186
186
147
208
172
112
112
209
195
203
135
176
176
152
170
121
121
176
112
193
201
166
208
228
158
172
220
146
223
178
222
137
203
172
260
112
112
193
112
137
200
201
197
172
121
210
170
217
302
121
237
123
150
171
123
172
184
121
121
171
121
272
150
121
167
159
167
187
112
166
186
215
121
121
170
161
150
121
153
176
150
208
193
172
121
237
158
259
226
204
123
176
136
181
167
112
167
137
199
170
246
121
121
172
186
150
219
220
167
237
112
179
170
147
123
190
121
121
172
170
208
112
186
150
112
223
112
225
247
150
194
187
150
121
112
130
208
231
172
147
150
278
150
208
121
172
150
189
228
150
264
167
167
112
217
135
212
175
143
112
158
216
175
192
170
150
176
208
121
167
172
150
121
147
147
225
207
150
167
171
237
208
187
208
193
204
162
176
171
115
170
172
112
168
236
167
279
217
231
147
276
167
150
170
112
176
202
150
150
174
171
186
254
195
208
164
217
237
171
252
202
137
214
193
150
189
220
121
208
112
205
123
112
165
172
217
208
147
150
150
226
121
181
115
172
121
189
265
181
201
150
121
186
121
185
236
221
112
150
124
255
112
181
159
150
112
123
195
167
167
208
195
255
112
236
172
150
112
150
121
171
123
112
112
167
255
233
208
176
170
212
176
150
150
219
193
121
178
179
167
228
184
150
192
112
121
170
194
170
112
135
112
208
240
112
165
112
150
167
121
112
124
230
160
164
167
112
135
218
150
172
172
176
172
172
123
171
235
137
164
176
240
121
170
121
165
112
212
164
207
208
115
123
170
150
195
177
219
167
139
112
156
214
165
193
170
121
172
158
193
121
170
150
204
115
173
150
112
165
282
150
234
219
158
199
150
150
121
144
162
208
172
215
172
147
170
181
208
167
194
208
112
167
171
195
147
112
150
144
112
192
165
171
195
150
172
193
112
136
219
150
150
121
208
232
123
170
230
150
167
181
208
112
214
156
136
250
192
150
121
150
231
174
193
121
188
186
193
176
150
112
177
172
150
172
164
194
194
164
158
136
172
196
112
161
195
194
257
198
150
205
187
121
193
150
181
135
150
236
189
210
208
162
208
193
201
150
135
212
215
150
208
260
177
208
172
112
167
274
187
242
172
136
167
178
167
177
195
187
164
167
181
160
156
193
179
112
167
194
158
176
186
172
239
112
228
112
121
150
208
193
136
218
208
190
150
167
150
219
228
207
115
112
214
195
175
121
121
165
179
231
193
150
150
212
186
171
121
112
121
112
165
213
218
112
136
135
172
208
167
170
115
172
160
186
135
112
189
124
170
150
208
179
160
281
170
187
209
263
182
232
239
115
165
147
208
196
158
165
147
213
188
278
121
172
121
156
150
167
165
160
152
181
187
150
174
171
167
135
112
189
219
121
152
135
302
237
128
208
112
172
210
228
136
205
193
112
165
202
167
192
167
170
235
176
171
164
167
159
234
225
112
171
176
299
115
208
186
194
171
172
143
167
150
112
195
112
121
135
220
195
136
121
137
171
150
208
150
167
150
121
147
170
182
195
175
143
112
176
121
123
150
150
121
171
172
115
184
259
195
130
172
202
177
179
135
121
208
232
150
112
208
231
159
217
121
202
208
150
215
123
182
112
150
227
112
194
121
135
112
150
150
121
172
228
179
198
121
187
270
187
170
166
121
176
212
112
208
170
208
167
172
121
208
210
130
159
121
194
195
195
165
112
112
205
150
233
150
115
187
250
112
150
228
200
276
123
157
150
175
112
205
150
208
167
165
219
225
187
225
208
112
171
170
171
150
189
237
228
232
176
230
187
210
234
170
242
170
187
187
208
226
194
208
150
172
123
112
174
201
112
230
218
240
167
252
172
152
176
124
201
176
147
112
172
254
150
167
167
160
115
159
228
147
121
164
150
228
237
159
115
115
136
124
162
171
165
137
193
158
170
112
291
276
219
168
121
164
205
167
192
171
171
216
146
121
150
150
165
232
130
155
212
181
187
156
150
180
121
160
135
208
209
172
167
112
168
208
136
167
112
121
165
194
165
302
115
170
150
135
167
167
150
208
263
167
222
193
184
150
157
150
152
187
187
167
112
206
112
189
150
136
203
303
167
121
224
167
121
150
176
206
181
112
150
147
194
187
220
115
123
233
150
215
210
177
233
226
272
159
115
198
124
219
174
150
150
112
181
186
115
214
123
201
235
121
150
229
203
231
208
121
161
243
173
170
143
165
134
178
121
150
172
112
205
208
159
242
157
171
150
230
236
150
189
171
194
247
123
176
181
243
137
171
156
187
135
278
193
212
150
211
115
112
302
208
195
176
115
121
175
188
121
150
112
193
176
208
112
158
186
172
150
181
159
171
220
150
212
254
121
208
168
158
228
136
224
150
219
123
230
170
121
172
150
136
167
254
112
167
192
194
150
165
112
162
121
150
208
250
208
121
150
121
259
208
218
123
137
150
176
178
205
112
167
181
124
172
219
112
112
168
249
156
112
150
208
150
147
225
135
177
135
186
239
207
158
176
150
225
158
192
229
237
172
171
181
193
121
176
150
208
115
228
170
150
226
150
187
212
136
150
218
186
196
186
150
167
177
229
112
172
208
112
208
147
172
168
150
193
112
202
217
232
229
175
258
150
150
195
176
208
123
176
177
123
239
170
208
303
164
174
179
158
193
112
176
228
170
156
170
121
208
150
124
192
179
194
228
215
171
112
121
121
208
187
159
170
219
240
167
171
272
158
201
167
201
237
175
121
112
258
176
176
210
208
123
217
137
123
123
178
178
150
250
203
136
124
150
167
176
160
150
183
181
238
239
112
187
184
150
181
150
168
136
150
215
170
210
201
150
121
167
250
150
170
143
172
150
115
194
112
159
208
216
208
193
115
112
121
150
302
226
203
150
239
172
195
124
202
150
170
181
135
150
150
112
115
112
209
190
184
170
121
205
250
229
276
162
202
112
112
193
150
134
176
172
150
170
205
170
121
123
172
257
150
170
208
147
150
123
250
172
215
231
219
194
112
259
112
121
121
229
185
200
135
177
115
172
171
121
177
121
124
228
121
144
208
150
219
156
193
208
171
230
230
167
217
230
231
212
195
150
123
123
112
150
170
194
193
112
112
112
194
167
150
173
112
209
150
208
150
168
150
150
164
176
201
121
219
218
170
238
150
123
168
123
121
196
211
159
172
187
121
189
150
112
171
171
121
112
170
205
181
112
143
187
150
187
164
176
202
205
147
174
186
143
170
172
198
147
112
150
176
150
165
219
112
231
171
186
208
170
187
150
193
209
121
150
204
208
208
194
150
137
167
181
176
192
204
150
202
218
170
208
170
229
208
208
160
156
123
181
150
186
121
121
211
121
181
220
171
137
170
224
171
150
258
150
171
172
210
205
150
170
112
123
215
136
250
112
112
112
112
121
150
165
172
150
195
175
214
174
150
112
150
130
229
121
193
193
228
170
112
181
219
172
112
159
121
164
112
150
248
121
194
203
136
216
123
150
178
152
136
228
177
175
150
229
276
210
115
164
167
144
121
181
195
115
170
202
193
174
171
264
177
150
112
165
201
112
147
170
172
208
112
237
171
244
170
150
205
158
150
112
112
112
143
172
263
172
302
150
150
121
121
158
112
255
112
121
150
150
196
150
176
228
176
208
150
217
168
165
147
158
208
112
112
150
165
213
210
236
123
150
112
135
135
150
123
167
172
194
253
208
223
112
112
193
210
186
150
245
218
175
243
172
150
112
196
150
232
112
176
112
171
199
193
159
158
231
170
228
230
194
216
150
248
187
143
123
150
121
121
202
150
208
150
257
170
172
208
121
195
165
164
112
121
165
170
150
123
150
183
123
167
170
177
220
232
159
115
176
172
112
112
201
171
215
123
172
208
143
121
212
150
162
150
185
204
172
219
263
112
150
237
150
173
123
228
181
150
194
189
112
218
112
121
194
172
176
170
193
208
181
150
136
193
225
172
175
170
121
181
121
299
178
174
112
170
186
150
147
208
112
226
172
112
112
165
181
216
167
165
112
112
159
112
121
112
112
112
150
238
121
228
228
186
158
184
214
147
186
172
159
167
171
228
112
124
186
160
112
137
137
150
187
136
226
123
208
240
123
228
194
193
159
168
160
193
112
178
235
165
201
212
170
150
167
176
165
212
150
256
218
201
143
231
186
135
225
217
167
195
112
250
159
287
186
167
178
192
194
188
172
208
170
112
171
274
194
112
121
186
194
112
242
135
121
208
121
135
150
240
121
208
172
150
158
158
121
240
176
195
194
224
139
274
255
181
250
187
237
150
112
212
171
193
165
150
172
172
171
158
233
121
174
228
174
123
144
112
194
112
186
240
175
150
208
208
158
150
172
208
121
112
203
150
136
152
167
112
173
208
217
167
170
247
171
112
147
177
215
208
194
167
279
207
112
172
156
121
167
167
150
167
137
170
187
112
130
150
186
147
243
121
124
112
147
154
167
121
172
171
208
123
135
172
270
124
194
147
112
190
198
202
232
208
175
121
302
181
161
112
121
206
112
150
121
181
147
152
186
112
207
170
219
135
135
112
226
181
202
115
131
208
194
175
150
181
210
167
172
202
179
208
150
144
150
237
165
255
121
179
208
150
168
210
152
112
181
150
172
112
150
193
121
203
150
150
167
124
150
203
171
236
121
168
177
121
112
121
135
213
194
112
150
212
121
131
208
150
170
210
150
208
143
112
150
205
150
220
190
135
176
150
121
177
167
174
112
164
231
208
255
181
195
239
150
112
146
121
193
150
147
165
176
121
203
115
181
128
171
121
201
208
231
112
170
112
172
165
176
187
165
123
167
201
229
181
150
229
121
165
181
159
150
208
112
112
158
112
208
152
170
208
121
208
254
144
176
208
216
177
167
242
150
167
124
224
150
121
172
150
112
239
167
165
209
112
136
205
147
203
112
135
203
195
150
257
178
189
112
121
178
232
136
143
137
217
171
208
208
208
112
121
208
150
168
200
156
208
121
255
123
193
236
167
177
208
255
123
172
207
185
112
112
150
147
167
190
179
128
121
170
154
112
207
150
193
194
112
150
150
150
156
168
172
121
187
202
207
150
208
112
205
215
150
194
123
219
112
112
193
124
250
226
236
196
171
123
173
121
112
136
237
150
193
175
167
193
181
172
207
135
143
201
164
246
112
128
112
250
208
172
243
150
112
212
181
112
150
112
172
115
228
150
135
160
194
213
208
150
202
228
172
122
184
203
112
250
167
112
171
194
218
150
210
115
150
170
208
208
150
194
208
176
150
184
181
176
186
219
150
147
205
121
205
171
195
208
193
121
121
150
194
208
135
121
176
146
171
121
208
231
167
150
171
192
136
174
164
136
174
232
205
167
150
219
240
121
203
121
147
177
165
150
199
136
167
150
167
121
192
201
112
196
193
232
208
112
212
172
150
187
137
207
112
239
194
150
150
112
194
208
112
193
112
225
112
137
202
137
172
112
178
232
112
150
121
181
159
150
115
150
164
208
128
170
128
137
159
112
179
192
150
172
121
147
112
167
208
257
150
201
121
135
172
150
222
121
239
121
250
208
176
172
208
121
249
263
219
121
175
121
208
150
194
191
213
206
182
229
150
121
150
172
135
302
124
156
121
158
170
150
172
240
209
167
124
152
121
112
150
208
121
194
165
171
193
157
121
121
224
170
112
172
130
171
159
130
208
181
121
231
112
167
136
201
160
121
187
123
239
231
112
165
193
150
112
207
160
230
164
187
112
237
112
159
210
121
150
172
171
193
272
158
228
150
187
177
154
150
212
191
146
112
150
150
194
194
196
170
160
194
225
172
224
218
219
205
115
136
172
239
238
192
172
172
202
150
255
231
208
208
130
205
263
205
150
112
167
167
211
208
177
229
194
172
237
136
174
192
170
150
150
150
123
196
165
170
165
150
147
128
217
187
172
167
123
121
150
237
112
150
147
150
112
121
216
150
177
164
174
174
136
146
231
160
136
121
167
165
177
216
172
239
150
121
171
208
167
178
210
233
174
156
217
218
217
171
187
172
170
112
150
167
208
250
231
158
208
165
112
167
173
203
112
172
214
302
112
187
208
112
150
210
124
174
121
150
192
237
137
121
196
150
208
135
204
274
170
192
121
112
257
123
137
172
182
121
136
150
143
168
123
194
150
208
150
178
195
181
207
156
170
208
171
203
150
171
170
182
143
150
167
112
181
150
165
193
150
112
226
121
165
150
171
194
201
231
150
225
144
150
167
172
244
150
278
115
288
193
170
150
167
205
123
150
170
165
167
194
177
121
164
170
208
172
311
158
112
165
165
112
112
187
128
112
194
176
208
150
170
150
171
184
179
171
112
150
194
121
195
177
243
123
212
157
187
150
176
150
193
112
189
181
136
204
150
156
150
121
218
243
172
204
167
237
193
178
170
167
172
170
208
177
112
210
158
150
202
121
172
172
131
208
135
229
172
171
171
220
195
150
228
208
164
203
172
208
167
167
177
179
136
207
235
177
121
194
187
208
158
228
224
112
150
171
215
247
195
230
244
186
121
121
176
203
123
202
175
175
208
112
143
171
176
210
123
172
225
152
150
186
231
194
171
177
167
212
115
121
171
214
170
240
147
205
208
147
121
204
150
121
115
194
168
123
172
208
172
112
160
150
150
150
150
172
150
121
150
208
135
172
176
170
112
121
165
210
208
193
130
112
231
205
150
112
208
208
150
203
167
210
250
196
170
170
177
121
212
112
172
147
208
220
223
228
195
172
123
202
246
228
112
128
186
121
210
189
123
124
150
172
219
112
201
158
150
202
205
187
172
164
174
208
121
147
208
173
150
197
167
112
203
203
150
250
216
174
121
196
172
130
208
223
160
121
167
139
137
174
165
201
205
167
112
208
184
255
186
176
205
208
193
187
202
171
189
112
150
197
223
173
147
194
228
210
167
208
168
150
170
228
220
239
159
150
172
150
156
208
136
228
212
225
194
170
147
121
179
121
158
115
174
196
170
220
150
237
171
136
150
233
157
208
172
182
194
196
170
150
112
238
214
194
121
147
121
195
172
121
170
211
164
171
135
167
218
207
211
212
158
172
208
167
112
202
147
123
194
167
203
171
203
177
112
167
150
170
220
220
213
205
135
112
112
186
147
112
137
243
121
171
172
112
115
121
150
123
135
181
186
174
172
176
170
158
208
112
213
150
121
164
112
167
112
175
124
176
121
220
193
176
150
228
136
121
193
171
208
167
243
150
121
171
231
150
136
243
167
165
121
195
112
186
203
150
172
150
226
192
150
219
171
152
123
215
112
176
208
237
123
124
112
184
121
150
112
231
112
150
181
195
121
228
112
195
168
150
194
121
135
231
164
150
243
164
150
121
222
131
208
123
112
144
150
212
160
208
176
213
159
237
239
194
242
135
160
217
181
218
172
136
112
181
193
248
172
171
112
112
171
217
121
184
124
255
112
158
194
258
112
225
112
135
171
112
177
172
112
167
195
170
112
179
173
208
172
115
131
208
112
186
112
150
226
144
147
175
150
121
121
172
112
227
187
150
167
208
112
167
176
208
219
217
150
121
175
121
167
170
195
192
194
187
121
172
121
150
219
208
170
176
167
208
231
208
224
208
165
165
150
158
195
170
228
124
130
211
207
187
215
137
236
208
168
176
112
160
172
237
237
121
171
121
112
233
121
170
167
210
135
121
191
112
181
167
186
216
174
112
112
208
192
234
112
170
171
123
172
150
237
165
171
123
167
229
150
150
150
130
150
177
277
225
164
181
153
112
187
160
137
170
147
204
177
121
238
195
167
121
167
158
123
112
194
135
195
136
121
170
121
165
171
247
150
187
143
208
172
112
172
208
236
150
162
203
231
121
150
150
177
179
165
170
150
165
243
204
195
112
136
121
203
236
165
112
171
121
135
143
152
150
172
177
194
164
164
150
150
194
123
210
210
207
160
228
137
123
123
121
192
171
136
276
208
172
196
143
112
205
123
150
150
123
228
150
165
231
240
170
210
115
112
170
243
281
160
121
136
176
168
181
176
171
112
150
233
150
158
152
212
121
170
171
225
165
208
173
112
208
150
226
181
174
229
170
223
130
170
167
194
233
150
112
217
171
150
136
158
112
163
195
147
123
219
196
112
137
222
220
170
242
124
211
170
207
170
167
208
150
123
115
195
217
150
193
176
186
156
239
137
220
121
150
167
196
124
172
212
121
208
229
186
112
167
187
172
177
123
192
175
150
177
158
172
115
112
212
121
220
171
195
183
168
150
112
121
150
112
150
187
163
181
173
170
121
121
150
208
176
115
229
201
124
177
237
170
176
123
136
121
150
144
135
194
176
210
144
208
128
232
175
177
208
170
121
165
218
194
150
146
218
147
112
174
150
184
255
187
176
181
135
228
123
121
228
193
207
150
112
208
196
202
112
218
128
208
172
128
121
208
171
193
210
112
150
207
130
135
112
184
258
206
160
178
172
150
168
123
112
167
181
172
208
150
150
198
150
112
136
228
121
164
208
167
112
124
220
121
121
112
158
175
123
115
121
167
193
121
263
112
128
150
201
170
121
179
342
167
112
165
171
225
112
272
238
121
234
112
208
210
150
121
121
171
165
228
208
150
167
128
170
203
158
171
167
150
112
184
172
176
112
112
208
186
186
208
187
168
208
136
208
220
172
150
241
123
173
212
123
121
219
174
112
145
195
255
201
171
202
202
121
152
192
193
121
115
186
215
189
172
165
112
176
187
243
167
186
123
244
150
115
143
112
121
150
172
302
220
136
217
172
255
168
150
201
170
158
121
150
195
121
186
186
193
164
198
213
150
121
112
288
284
150
267
263
175
139
150
208
167
205
244
123
181
172
174
147
208
123
135
150
150
112
150
201
250
147
210
171
150
172
159
112
213
121
268
123
112
226
186
203
121
177
226
150
121
135
219
275
190
272
121
202
172
112
179
284
150
181
137
123
205
171
212
123
187
176
208
209
226
192
150
171
115
167
137
201
158
112
203
229
170
174
123
202
172
115
203
150
195
150
208
150
212
203
150
176
143
206
115
121
245
286
195
112
175
170
121
112
150
171
172
112
178
291
115
121
150
174
112
232
176
218
208
208
237
193
130
172
186
172
210
112
121
150
150
179
121
171
121
230
255
172
165
194
167
168
208
158
136
131
220
121
181
167
172
213
112
162
164
194
195
176
193
186
112
176
112
218
207
135
172
225
211
229
176
226
172
112
208
208
208
219
237
201
160
205
236
208
176
164
150
112
194
136
174
152
170
192
112
179
130
200
220
112
181
181
176
115
208
147
150
121
208
181
186
143
208
202
121
172
194
225
112
112
112
171
243
150
172
241
164
167
121
219
150
232
199
179
112
191
203
123
159
278
237
202
112
167
264
150
156
150
112
168
112
187
147
164
150
212
208
209
165
172
121
112
242
176
192
172
167
121
192
194
202
112
208
184
121
150
112
162
150
135
187
112
165
220
220
209
194
210
121
208
112
194
112
135
112
208
150
193
265
156
130
167
153
208
210
176
150
115
150
201
171
150
121
112
172
200
177
289
121
174
172
150
150
152
176
123
172
170
170
159
112
112
112
219
192
194
172
210
150
193
150
170
243
232
121
254
165
208
150
121
170
121
112
112
221
172
230
171
181
174
121
123
165
121
193
228
150
172
167
123
204
243
210
218
184
137
231
193
182
112
208
112
164
232
224
121
150
170
112
121
172
181
150
193
238
208
215
171
185
172
112
112
121
219
130
171
208
121
207
124
171
135
194
181
136
121
187
167
150
218
164
194
150
208
123
228
121
218
237
150
150
167
112
170
158
212
167
186
112
208
213
208
193
302
231
165
181
179
196
123
121
160
202
112
208
167
237
135
112
177
150
143
150
112
150
121
192
128
262
121
150
150
172
165
195
208
171
170
167
112
150
121
202
165
177
237
124
150
194
236
272
165
150
121
228
150
112
115
112
203
219
174
302
195
164
202
150
230
172
167
186
123
165
135
172
136
172
112
137
147
231
210
112
195
194
237
167
205
150
150
121
208
150
156
192
226
150
253
136
157
228
226
121
176
150
208
121
150
150
228
179
208
185
150
112
147
207
121
201
112
192
147
150
202
112
181
264
152
208
193
208
272
196
172
172
192
208
228
192
181
225
168
152
172
112
112
128
167
112
112
208
121
174
150
150
237
150
112
135
179
181
165
205
228
121
121
220
150
112
171
255
171
172
137
176
215
171
172
181
157
136
121
170
263
207
150
232
112
219
165
239
159
128
150
167
171
135
167
222
186
112
135
112
112
230
208
171
231
121
176
170
112
202
184
264
195
208
247
181
112
147
170
150
190
150
208
157
150
171
135
172
210
136
187
156
194
112
216
208
231
164
137
123
211
176
167
170
150
150
179
176
121
168
112
112
228
182
112
143
168
121
225
156
150
150
192
167
150
170
205
121
172
237
198
226
198
150
136
150
112
183
208
167
150
121
158
161
121
150
167
112
194
172
195
171
205
203
112
184
210
193
115
112
182
121
176
165
112
202
121
121
194
212
121
192
150
136
165
112
150
135
135
174
136
176
150
208
208
112
172
210
193
143
181
208
136
112
112
244
165
112
205
202
263
208
170
181
172
195
171
172
208
194
179
167
150
171
112
112
176
162
112
152
205
279
178
112
150
167
135
196
226
232
124
165
137
121
156
112
121
135
170
171
174
137
165
176
150
170
165
121
234
165
217
195
150
182
165
152
202
217
150
219
168
181
112
123
239
201
150
172
127
208
152
193
112
229
147
175
231
112
167
137
135
250
121
121
121
147
193
202
177
243
141
226
150
165
186
228
147
170
150
208
112
143
150
150
207
112
121
150
194
124
156
208
171
146
240
189
150
150
228
165
135
115
186
216
150
131
208
208
150
208
172
123
168
231
137
150
156
152
150
208
156
159
272
195
265
202
164
210
167
112
146
152
176
187
214
238
171
167
121
160
167
208
172
112
121
146
112
228
193
175
210
228
278
135
171
208
236
208
168
208
170
112
158
181
177
150
208
266
194
239
112
147
263
202
212
112
144
150
112
228
150
208
172
208
253
112
245
121
168
171
172
121
238
241
150
231
152
174
167
121
112
136
171
150
231
112
236
112
150
121
170
136
112
172
257
201
173
112
202
210
112
226
112
123
170
150
264
202
195
164
112
150
170
208
150
208
192
197
172
115
194
112
163
150
263
112
170
260
112
112
128
136
166
123
171
176
172
251
217
217
170
123
198
121
195
112
147
228
208
150
121
112
150
121
186
172
195
208
152
171
150
112
121
121
152
172
150
237
167
150
121
150
121
167
234
112
194
228
167
172
176
195
229
205
208
121
158
167
192
172
170
112
172
121
159
195
121
267
164
181
164
112
218
171
250
170
195
121
201
207
187
168
186
112
167
193
190
159
123
121
172
152
165
201
187
150
150
194
181
159
172
192
229
172
112
157
176
150
112
232
160
150
112
127
210
121
150
170
174
128
167
115
174
152
178
210
302
121
121
231
164
186
121
121
150
223
135
215
231
172
217
112
255
167
112
181
150
186
194
194
150
150
135
208
150
112
112
210
218
243
112
185
181
243
202
137
150
186
181
170
219
150
208
150
181
137
165
175
121
186
150
208
173
217
189
121
124
150
183
137
115
150
228
194
164
150
112
160
172
171
170
121
228
181
112
112
123
123
208
228
187
181
167
171
150
181
276
150
147
172
170
182
160
186
112
170
165
121
175
112
244
217
115
207
176
193
211
167
112
158
123
121
172
112
253
198
176
150
198
150
171
231
202
165
137
112
115
208
232
201
150
171
165
170
170
195
208
112
225
260
115
193
147
123
208
224
258
195
136
181
189
150
194
147
137
181
231
210
174
229
112
135
130
208
208
228
112
189
150
130
172
215
249
150
176
208
212
172
231
257
121
279
228
254
150
165
123
229
226
112
181
135
160
186
203
168
205
137
232
228
167
150
124
121
175
194
186
150
186
112
186
176
150
206
112
156
170
150
146
170
152
172
150
203
255
187
186
236
150
121
150
167
165
112
112
181
112
150
208
195
170
112
170
165
208
297
174
172
181
190
218
115
185
174
196
232
171
121
194
186
135
176
150
240
112
228
220
210
150
172
170
121
177
171
236
186
201
124
217
172
195
305
115
130
197
123
121
167
112
228
150
121
181
172
147
152
150
150
150
181
206
136
136
166
302
150
193
171
123
216
121
150
167
130
186
121
170
158
172
186
147
136
121
186
150
167
186
121
187
150
112
170
233
219
112
112
164
193
167
201
164
170
167
161
257
121
172
112
228
167
147
112
208
160
226
208
170
137
124
172
112
172
219
239
195
192
112
276
167
220
130
115
123
172
112
165
112
207
208
150
152
250
202
217
167
202
124
150
172
172
187
150
170
181
204
175
167
112
137
112
172
174
150
176
202
195
201
171
150
112
147
167
137
172
231
208
177
267
150
203
172
178
159
245
112
121
135
203
165
233
112
203
121
121
257
167
112
135
220
189
121
123
228
171
167
167
177
152
136
186
233
194
124
112
164
212
112
192
150
159
135
170
112
225
189
123
121
189
121
121
121
153
250
172
231
150
172
193
172
174
171
203
135
112
172
178
150
208
202
136
270
167
187
112
210
172
112
150
123
137
174
229
112
239
210
187
201
158
239
179
208
150
152
150
137
171
115
172
167
208
203
187
165
123
136
135
172
135
150
167
121
208
152
194
176
150
265
160
136
193
195
208
228
172
182
112
165
147
132
172
201
112
206
112
171
181
175
167
175
179
150
229
112
160
172
218
136
172
147
181
150
112
137
208
121
172
121
176
112
167
202
112
150
121
123
121
201
202
171
179
150
121
212
248
186
150
112
150
158
150
167
282
150
245
195
196
173
115
112
150
233
115
121
176
165
150
232
150
172
239
212
172
160
201
123
193
165
238
135
112
231
137
228
228
112
150
167
150
112
233
186
128
186
150
128
112
186
171
167
267
150
164
121
112
112
237
156
219
201
150
112
202
208
197
240
172
150
210
150
150
115
115
112
167
242
124
212
121
112
239
176
186
205
198
228
121
150
112
216
160
112
135
194
250
228
208
189
121
150
283
123
233
201
121
241
215
150
192
161
150
210
231
150
170
279
196
160
263
112
201
164
203
210
257
172
179
160
208
192
175
124
150
217
181
152
255
167
137
208
217
150
159
232
297
121
174
263
167
150
121
228
178
147
167
160
201
112
170
167
112
205
150
176
276
237
158
164
170
165
112
186
171
177
112
203
150
123
112
112
121
260
195
139
174
208
265
208
172
255
167
150
135
171
112
201
210
234
167
112
201
194
181
176
112
228
170
231
150
112
170
112
121
171
171
152
212
112
249
115
136
112
220
177
220
136
192
265
194
121
121
231
112
171
194
150
177
167
217
135
181
219
121
135
112
236
194
123
123
150
136
121
176
226
227
219
160
112
112
112
164
203
135
135
177
115
170
112
240
229
240
194
238
150
198
171
112
247
234
121
208
257
112
195
131
170
150
135
208
137
217
112
150
136
112
191
170
167
165
152
167
172
121
130
167
150
124
181
161
184
123
192
185
212
214
182
255
195
208
234
136
233
112
178
150
137
112
217
112
112
165
179
150
171
121
150
130
170
112
171
194
159
209
187
204
172
128
176
112
123
172
208
123
112
112
150
152
172
123
258
112
192
150
159
192
215
123
218
255
157
150
193
208
276
232
210
284
195
171
150
213
145
121
181
193
170
211
219
218
212
225
220
158
267
189
265
150
238
201
160
257
171
186
186
207
171
112
112
172
261
281
172
112
150
193
136
208
136
121
196
112
190
177
209
112
186
150
262
150
150
165
194
165
210
202
112
171
176
150
250
208
177
167
179
172
172
237
112
123
195
150
150
177
203
167
176
194
121
112
228
159
208
165
112
183
121
123
194
112
165
172
150
193
150
172
130
181
112
281
174
218
186
160
167
167
135
208
121
193
195
212
135
121
181
147
143
158
176
243
150
150
187
181
112
217
193
170
220
121
226
112
170
167
206
147
226
208
196
193
170
165
220
201
208
194
112
203
112
174
186
237
195
207
168
187
201
150
150
121
193
150
130
208
228
170
112
208
121
193
115
231
225
150
147
203
172
176
124
228
123
235
112
160
194
264
150
250
121
150
181
147
150
146
177
193
192
193
177
167
150
136
243
239
165
112
201
172
121
135
167
203
171
152
150
156
223
220
228
207
228
203
172
115
224
210
176
156
170
112
137
150
171
123
226
139
227
194
172
121
150
165
235
170
150
275
217
121
112
150
159
194
112
130
230
220
174
201
171
121
170
171
150
220
112
179
195
212
172
203
233
184
201
170
208
228
158
150
196
150
189
177
112
160
115
250
174
243
159
165
193
231
136
150
150
137
229
220
150
228
192
181
263
181
123
159
216
201
243
150
150
112
150
172
209
181
212
121
179
167
209
207
193
115
165
170
167
194
250
170
215
177
165
112
147
194
152
121
112
203
203
205
112
228
196
147
228
171
208
165
212
205
195
171
168
112
121
150
121
194
112
112
165
208
229
194
123
150
181
112
135
150
134
135
208
159
112
121
172
171
121
121
206
220
172
112
218
121
201
112
208
158
172
219
121
171
128
156
170
136
208
150
208
187
123
176
184
124
215
172
136
167
167
121
194
194
167
243
112
278
217
196
208
194
170
150
175
208
144
247
231
112
164
240
172
121
172
210
208
167
229
150
112
174
168
136
150
174
135
193
187
167
136
172
112
214
194
178
201
121
171
232
258
112
202
143
136
194
264
172
121
275
172
112
213
170
194
127
150
150
255
165
112
187
160
212
135
210
182
137
190
211
194
150
187
167
239
181
208
150
131
150
121
176
158
172
150
167
172
123
231
165
201
112
167
176
297
150
193
112
195
170
187
165
208
170
112
168
194
121
264
176
150
150
174
150
233
224
208
112
205
121
124
115
112
207
164
150
124
277
244
176
146
112
121
172
165
121
193
165
159
159
152
172
172
168
208
203
165
165
156
150
222
171
124
205
176
160
217
158
150
208
202
121
208
254
177
121
159
150
176
193
213
147
202
171
181
121
208
171
208
121
238
150
121
150
165
208
121
153
235
172
192
150
215
112
243
128
208
135
225
193
152
171
181
137
181
165
195
231
136
201
239
121
206
202
121
167
212
181
187
121
168
176
147
112
171
112
147
349
181
172
172
171
190
167
167
130
167
123
172
150
172
231
237
212
112
150
112
170
170
226
112
172
226
150
215
172
176
195
143
172
208
205
208
121
159
135
168
135
226
112
171
150
150
196
136
201
150
229
158
237
121
208
182
175
171
242
165
220
233
208
165
208
150
150
194
170
174
177
208
208
147
208
123
257
144
217
167
195
167
135
202
112
150
152
150
112
171
186
121
121
192
208
112
195
250
156
223
150
152
112
135
175
150
112
211
228
150
231
165
242
194
194
170
115
275
249
135
150
194
121
152
208
228
112
237
205
150
244
144
121
167
112
278
112
150
167
237
170
112
302
172
150
150
112
215
209
123
181
150
202
243
226
150
174
150
112
195
172
233
208
174
160
186
194
170
214
291
192
220
146
167
175
135
301
150
202
189
121
147
201
150
112
121
121
253
172
136
237
228
250
265
292
150
228
150
247
208
115
150
112
112
212
150
181
210
112
171
181
228
112
147
137
172
194
153
181
233
156
250
121
239
165
170
207
208
121
208
147
150
164
156
250
121
165
112
219
204
121
112
144
174
226
150
194
220
137
121
112
195
135
150
188
208
123
193
171
121
150
150
167
208
263
150
231
177
137
150
194
212
171
194
167
194
167
112
204
171
216
172
165
137
194
210
194
121
170
115
115
150
137
176
219
217
168
190
171
217
236
172
121
136
168
271
226
150
150
150
167
172
121
210
112
172
156
150
218
187
171
219
208
172
112
184
112
123
150
231
150
161
130
202
150
240
194
150
164
171
137
136
176
211
112
158
215
170
158
172
176
160
194
112
235
121
186
247
195
196
112
135
232
150
121
205
156
237
250
172
170
121
194
160
121
201
112
121
170
215
202
158
150
121
161
147
226
112
112
124
137
112
150
206
193
121
202
150
137
123
150
177
171
225
174
112
144
206
136
168
214
181
208
121
250
229
203
150
121
150
194
143
112
112
150
208
164
187
172
175
165
136
177
123
150
217
172
193
220
152
168
157
237
201
121
158
167
208
168
228
189
157
137
177
172
201
236
202
181
231
192
124
172
150
115
223
181
175
208
208
152
223
212
112
137
112
158
141
170
183
213
181
150
225
193
187
208
158
167
150
171
159
213
187
112
172
150
123
218
189
181
225
121
193
150
121
167
150
150
150
181
208
237
121
208
150
219
123
176
150
203
172
160
121
167
121
190
121
170
136
112
121
112
181
208
167
220
150
135
215
137
112
193
189
121
195
170
302
121
194
112
112
218
150
112
203
217
211
121
150
112
195
236
137
136
112
136
150
187
167
137
112
115
150
208
208
170
150
210
194
172
164
121
165
177
174
195
174
167
112
172
199
167
150
121
179
121
123
115
170
167
181
135
186
167
194
228
187
170
207
150
220
150
232
192
115
176
112
237
160
112
189
115
112
130
135
176
135
189
121
170
165
147
150
172
208
174
215
244
134
193
147
276
135
147
202
179
208
112
210
218
194
150
208
232
115
112
112
143
156
167
150
245
181
201
232
224
236
112
143
112
171
121
121
263
150
121
179
228
170
212
218
179
231
186
170
192
208
210
161
123
195
112
200
208
143
172
135
182
150
172
152
121
193
193
121
160
121
305
164
210
136
176
171
172
208
144
246
123
150
130
186
135
170
293
112
204
150
170
210
158
123
185
167
302
278
179
150
167
215
172
112
250
203
187
239
158
186
172
150
136
168
167
164
112
165
167
241
172
121
225
156
165
176
192
181
176
209
186
112
150
112
193
171
213
226
150
171
165
171
121
112
136
237
208
165
167
190
220
230
194
195
187
147
171
112
115
193
239
112
217
255
112
181
250
121
219
156
186
201
123
281
150
150
152
177
143
150
170
208
203
172
167
210
123
150
204
208
170
178
160
213
121
170
208
181
159
137
115
121
112
195
181
175
150
124
172
208
165
193
112
228
137
229
172
194
121
171
167
158
232
150
156
150
112
112
167
150
241
115
185
172
172
128
187
150
231
194
170
160
181
203
112
158
121
225
150
150
112
150
208
208
112
203
208
121
194
186
147
282
237
167
170
225
197
150
208
208
229
167
272
171
115
203
182
204
216
198
115
115
255
219
121
181
112
121
228
170
175
164
121
112
176
206
241
150
172
171
189
121
172
236
281
124
218
193
208
150
181
170
186
217
115
167
210
209
229
167
171
150
176
170
176
202
167
150
112
112
176
115
228
208
172
156
112
123
135
237
194
219
121
170
302
168
242
150
231
112
112
115
150
177
172
177
176
168
217
186
170
167
150
198
187
181
112
215
167
195
186
278
189
210
203
121
150
208
150
123
173
150
237
170
192
212
219
121
237
150
210
137
212
250
135
208
172
187
121
194
210
147
181
210
150
192
165
112
115
121
172
208
208
121
172
208
171
121
241
172
121
211
219
121
241
150
121
167
194
150
112
193
150
265
150
112
121
233
203
136
281
115
172
185
112
112
184
150
247
218
172
231
121
150
150
159
170
172
189
201
207
121
135
121
150
150
227
112
170
219
112
150
220
150
212
112
152
112
150
208
201
150
123
112
210
172
123
181
170
137
192
193
297
112
202
193
202
121
121
172
201
212
167
211
210
112
150
171
136
112
150
208
150
150
208
123
181
121
167
115
150
231
229
112
198
204
210
172
230
124
223
115
228
124
171
280
121
172
150
137
237
207
198
123
226
121
150
202
150
124
208
112
123
115
167
121
192
112
239
177
121
115
178
270
112
112
172
121
172
167
121
147
112
202
210
228
210
168
165
225
152
150
172
112
228
150
150
225
210
124
150
194
202
170
112
208
150
181
205
228
143
157
216
170
121
201
124
192
150
150
135
172
218
210
121
160
176
213
226
217
112
150
170
263
121
237
165
123
208
226
173
187
172
255
159
150
195
112
121
208
193
112
208
150
260
225
158
187
121
130
112
131
196
167
157
189
165
208
112
150
137
112
170
158
170
121
150
170
203
195
112
223
123
121
288
177
130
150
228
121
172
112
176
194
253
150
164
165
150
176
123
226
121
123
218
218
168
150
158
121
177
167
171
150
176
181
115
197
123
181
208
181
232
192
189
123
167
165
211
226
137
123
112
194
172
210
121
121
150
170
171
210
196
172
121
143
112
112
174
228
242
144
257
121
158
165
171
121
208
201
152
172
207
121
250
112
156
223
136
349
212
112
187
181
150
150
170
150
150
112
121
177
172
164
226
150
170
170
230
112
255
167
112
237
182
159
167
143
171
186
241
179
160
208
112
121
178
121
218
147
228
136
112
208
197
181
172
150
135
170
198
203
176
112
115
172
203
214
171
232
168
187
192
210
112
181
121
150
137
230
150
236
208
219
172
193
194
150
112
164
181
255
150
115
176
203
194
193
230
170
123
233
202
170
135
137
170
131
193
167
170
250
199
121
170
219
112
194
181
150
136
167
156
123
194
164
184
187
179
172
229
186
170
112
186
163
150
152
228
150
156
135
221
235
170
158
121
214
112
207
150
123
177
170
121
176
228
150
112
124
208
171
176
236
112
170
181
208
121
195
181
170
230
149
186
219
112
170
210
272
236
170
121
158
152
194
234
112
123
255
171
247
176
112
115
194
121
164
175
112
112
165
228
150
137
136
150
121
208
278
172
202
174
112
112
192
176
194
167
194
137
150
158
259
150
147
164
176
124
150
222
121
112
210
150
150
153
143
176
137
121
267
122
136
223
211
195
167
193
209
121
121
137
241
208
123
193
115
150
232
167
188
112
172
112
150
167
225
121
236
135
223
121
121
208
231
150
174
212
240
147
203
147
186
197
167
181
208
176
112
250
212
165
176
112
213
123
259
171
177
112
165
121
238
203
144
223
158
147
112
112
177
144
185
165
208
175
247
157
239
167
176
121
172
167
212
171
195
172
150
215
147
171
208
221
176
201
150
194
193
181
182
193
281
208
112
112
123
167
172
172
194
167
214
208
212
150
136
194
167
237
150
123
112
172
123
203
158
150
192
195
186
168
150
208
193
202
173
131
208
182
207
170
193
121
112
112
112
194
177
193
231
150
207
112
177
146
167
208
121
137
165
201
209
232
147
192
164
150
171
164
112
195
230
121
235
164
199
123
150
170
194
171
240
193
121
208
150
112
187
171
137
144
200
165
176
150
165
121
147
112
147
193
150
136
172
228
121
136
194
112
243
201
171
121
121
136
222
167
208
208
208
165
212
223
172
236
112
150
208
147
115
216
186
199
225
164
121
186
170
165
228
194
150
156
172
193
171
152
167
216
250
144
208
136
231
210
211
121
176
127
164
135
183
112
211
112
150
121
169
177
158
152
237
123
187
167
210
137
171
186
167
186
112
165
250
172
218
112
121
150
210
201
112
152
165
214
198
137
112
193
208
176
250
232
123
204
172
206
171
150
134
196
220
194
121
194
186
172
187
171
176
261
181
172
112
205
208
158
158
112
157
112
228
187
208
176
121
225
221
135
194
218
121
172
171
209
150
164
137
182
123
135
207
168
241
186
121
193
176
195
135
217
172
112
203
217
201
175
167
150
202
121
228
112
193
203
172
124
194
205
160
112
135
150
234
259
212
167
201
171
171
232
208
112
112
150
121
219
128
147
242
175
208
121
150
181
182
150
195
112
168
182
167
256
150
179
143
156
208
150
135
150
121
121
165
186
225
181
147
209
150
121
121
172
193
170
115
181
150
164
121
170
202
115
112
164
150
220
150
136
231
121
186
228
237
201
185
170
231
123
167
214
156
202
208
124
150
208
202
207
209
256
208
176
147
172
121
202
263
198
123
187
170
208
170
112
179
150
220
128
158
121
144
112
195
215
168
171
112
152
150
236
123
228
112
207
167
164
186
174
150
194
171
150
240
194
165
135
150
171
208
128
208
121
176
150
137
210
208
194
159
158
184
208
172
150
219
193
112
263
167
248
164
139
150
278
150
112
121
172
187
164
121
121
150
150
203
112
172
123
112
121
181
172
123
136
150
172
194
201
176
170
181
187
187
170
150
172
172
208
167
121
150
212
121
196
192
165
276
171
228
186
172
186
121
150
172
150
171
166
250
202
195
123
208
112
160
171
181
176
200
208
194
203
176
112
136
150
195
237
150
165
171
202
212
208
158
124
228
181
147
167
128
239
160
150
187
187
177
208
121
158
192
171
195
146
112
112
220
206
174
112
150
181
172
239
150
150
130
112
208
121
172
203
170
219
165
223
247
172
192
170
188
112
134
112
150
137
176
175
150
186
121
112
214
150
130
123
137
210
165
192
233
167
172
171
177
150
165
208
167
238
150
159
208
179
208
233
193
212
160
115
225
167
150
150
136
147
121
112
203
208
150
121
137
121
208
243
167
121
121
186
137
208
172
150
186
177
198
212
112
130
137
199
208
210
214
121
165
121
255
214
168
237
121
194
123
208
112
174
195
137
156
121
167
230
208
219
176
172
277
150
176
121
232
132
158
150
181
158
172
171
112
218
112
112
123
192
198
224
177
208
150
147
171
159
150
167
146
176
144
207
150
128
255
195
123
228
172
195
177
128
202
158
307
112
150
174
250
137
158
208
135
179
128
150
132
168
164
112
150
208
254
203
172
130
195
208
165
121
238
135
176
181
171
196
167
275
121
187
231
189
194
156
208
170
187
150
224
150
112
202
208
250
112
150
131
228
170
176
112
187
186
202
112
115
237
174
172
150
212
175
171
150
172
276
128
121
167
181
172
150
150
159
192
181
144
112
112
208
150
219
202
219
181
121
228
206
212
174
132
112
195
150
135
194
150
208
218
181
208
218
112
112
150
208
210
228
227
121
168
177
150
121
176
168
112
130
112
150
278
112
181
115
202
176
167
123
236
234
210
192
263
121
147
170
210
263
194
124
124
203
172
172
112
112
121
208
136
112
201
150
172
112
159
228
156
153
121
115
297
242
205
150
136
171
262
147
150
121
170
170
150
171
150
208
170
216
150
123
163
202
192
176
231
255
112
186
195
136
190
150
187
172
150
177
121
112
121
167
112
172
237
195
150
170
124
222
208
196
217
150
174
174
124
297
213
276
139
152
255
143
219
121
172
225
208
115
170
150
194
165
170
208
152
193
171
241
115
226
187
130
112
210
231
165
130
193
112
121
123
112
150
121
135
135
186
197
178
208
202
112
150
112
164
167
150
136
195
225
229
218
156
165
128
171
281
193
121
237
214
179
219
112
177
167
170
217
150
112
219
210
150
255
187
121
167
189
150
237
172
121
121
203
171
181
167
226
239
112
237
201
193
257
112
193
245
170
150
172
115
217
228
190
122
181
165
150
185
208
150
121
168
233
258
124
144
112
228
170
202
170
235
160
167
121
186
229
150
240
209
168
115
181
168
302
232
219
150
150
172
150
236
112
112
201
193
208
150
167
123
231
208
243
121
112
244
177
150
172
198
197
167
181
208
145
187
150
174
228
123
150
170
219
115
112
150
165
184
212
112
147
167
172
225
266
181
181
121
172
228
181
178
185
167
150
227
112
159
121
203
243
150
208
171
150
137
201
165
239
216
216
170
167
121
170
218
112
194
246
150
187
174
208
170
112
121
215
194
208
112
194
124
237
152
239
115
208
121
146
172
250
192
147
226
112
150
219
181
172
238
136
115
123
163
121
150
170
212
156
112
150
121
150
167
159
208
201
112
208
181
121
115
195
220
181
121
205
208
208
256
150
278
123
150
112
147
123
150
213
112
150
205
164
219
165
172
121
121
208
112
176
112
121
242
121
208
217
176
150
222
170
150
112
115
165
167
172
237
165
121
130
172
216
115
186
187
170
212
176
112
202
172
165
194
135
175
172
211
112
112
121
208
244
263
150
112
214
208
156
264
212
167
176
112
159
121
192
150
210
207
250
228
198
137
207
159
208
212
231
112
181
150
164
167
172
212
123
202
150
236
121
208
194
208
219
130
160
170
208
150
123
193
121
171
195
193
195
244
150
147
121
150
160
150
170
112
208
202
121
205
144
121
194
194
165
112
212
147
242
199
228
112
112
150
208
112
182
150
165
150
121
112
150
143
115
212
112
112
168
205
112
187
112
167
112
181
150
171
202
181
239
202
209
278
150
121
121
208
150
150
156
156
112
162
192
174
150
266
135
121
152
299
123
121
124
202
172
202
121
235
112
208
157
203
165
112
189
152
220
179
150
186
202
186
115
208
225
217
121
150
195
231
208
164
136
147
226
121
208
160
231
121
194
167
112
121
150
172
231
150
136
181
150
159
217
156
112
250
112
130
208
150
171
181
112
112
232
112
137
201
241
261
150
112
199
234
172
121
215
150
150
121
172
167
124
150
174
212
218
172
139
208
231
272
112
170
112
112
112
164
170
195
212
176
130
179
174
209
243
112
172
150
192
112
174
171
234
112
150
170
150
170
172
112
179
212
150
150
177
159
209
150
170
257
143
172
225
150
112
237
167
168
128
181
255
121
121
187
210
150
123
228
121
264
194
150
150
227
208
112
172
160
167
121
194
178
201
187
121
172
184
112
121
128
150
203
205
181
218
195
220
187
112
115
246
255
210
165
225
195
186
202
181
215
112
168
224
186
234
165
208
112
121
176
115
195
112
179
112
123
172
150
112
218
233
167
130
130
220
186
228
237
215
121
136
121
228
172
202
150
150
112
112
112
217
215
197
202
219
232
228
208
147
172
186
150
136
202
150
228
144
203
128
158
121
176
195
112
245
121
179
121
112
231
270
123
121
194
164
112
143
171
123
176
167
159
177
190
121
136
201
202
192
242
250
182
237
187
187
208
112
172
189
168
217
170
150
196
250
177
212
150
231
121
189
228
112
228
112
194
264
112
121
115
168
150
170
115
208
179
186
112
165
192
218
208
176
193
115
121
172
189
121
176
158
121
136
112
150
121
150
147
150
229
121
150
181
198
193
150
194
171
216
170
158
150
237
248
167
193
172
112
226
217
166
123
235
202
121
112
186
170
150
170
112
128
115
181
170
172
124
150
205
123
232
172
150
112
156
124
112
174
228
150
203
202
182
150
150
172
208
231
189
150
208
162
170
208
172
156
112
186
115
150
150
208
143
121
121
136
202
226
150
137
201
150
233
121
137
205
210
147
160
194
150
170
172
165
172
202
260
194
179
170
190
136
219
186
231
112
150
159
231
219
150
145
172
172
170
171
174
136
112
171
172
174
208
121
208
206
156
170
228
121
250
150
121
137
150
112
150
112
187
150
160
150
112
158
170
170
233
121
130
112
137
150
170
208
143
229
158
192
112
192
121
212
201
112
158
208
121
112
210
172
195
210
192
171
208
165
170
150
212
150
192
121
192
171
171
228
112
121
202
158
171
170
170
156
150
150
178
121
171
228
176
214
208
112
228
164
223
177
121
208
112
158
207
208
195
208
215
193
121
112
231
173
194
217
123
231
203
121
123
167
186
201
167
121
150
179
172
112
160
159
208
186
192
121
237
228
150
112
135
208
194
208
157
150
229
218
212
167
204
214
167
177
159
210
176
208
225
186
218
228
150
237
121
167
115
112
123
112
174
194
147
123
172
147
172
172
112
208
209
208
192
171
201
123
210
207
228
121
172
112
112
253
203
170
150
250
112
170
259
172
170
186
248
167
112
115
172
186
237
247
170
217
112
150
227
172
112
165
208
115
123
121
135
250
189
150
159
193
177
136
172
244
150
112
210
161
171
250
208
183
167
150
194
123
193
156
276
123
192
208
167
197
135
150
136
121
255
150
156
187
192
135
198
150
112
112
204
194
121
121
112
164
176
195
150
168
167
228
170
194
212
121
231
170
112
186
220
177
177
172
112
184
208
170
150
257
212
161
179
178
121
135
239
150
231
124
177
112
112
172
150
160
150
150
150
166
177
112
171
193
208
121
123
150
150
150
121
172
167
241
176
193
208
167
210
254
239
208
237
121
150
210
150
137
150
144
123
218
186
196
112
121
171
121
176
171
121
232
115
164
239
179
150
112
215
208
167
170
157
112
137
263
173
203
193
192
194
288
150
150
193
195
208
112
194
172
208
172
194
147
171
112
150
213
112
174
112
135
159
208
208
172
130
172
177
208
150
179
150
159
233
112
150
202
121
112
201
150
170
121
208
212
112
123
208
161
137
112
181
121
160
150
112
202
123
186
147
150
158
259
167
121
194
181
136
150
143
208
167
112
146
201
195
229
187
187
167
177
156
156
115
186
112
237
228
200
112
250
247
250
172
143
123
150
176
137
121
195
150
220
194
175
147
150
252
167
194
208
123
150
112
220
143
150
170
210
176
112
167
112
159
112
266
242
178
172
195
150
264
150
147
112
195
218
194
150
264
278
270
136
181
231
207
112
212
157
143
237
243
181
121
170
121
147
121
150
171
205
302
112
241
170
164
170
143
186
172
160
135
137
167
199
112
147
208
112
150
121
131
150
150
150
203
264
137
186
208
208
171
187
150
204
263
200
208
128
226
150
172
124
112
206
193
171
123
208
158
209
160
137
192
182
135
150
171
124
193
194
121
112
227
192
194
205
176
121
165
172
209
112
195
176
181
208
135
123
150
121
167
150
115
112
150
159
156
245
124
144
167
186
202
172
226
187
165
150
124
150
167
242
172
198
186
165
223
152
209
170
195
150
121
150
187
150
112
112
121
263
172
229
147
177
170
150
208
150
150
237
121
123
167
237
212
172
233
245
167
187
124
225
158
167
221
211
181
228
187
150
131
123
135
302
170
219
184
216
240
112
208
123
158
112
192
121
171
194
135
150
210
167
150
121
123
150
167
170
160
207
150
150
112
187
167
150
208
112
150
203
156
112
121
177
240
150
225
239
272
178
186
208
136
297
121
123
160
156
112
112
112
292
174
121
150
171
150
206
112
162
153
171
187
156
170
228
225
181
135
172
175
150
135
234
226
158
174
150
201
239
150
219
128
211
130
167
137
218
112
144
205
171
112
121
170
228
241
150
170
158
121
212
187
205
121
259
186
171
160
233
250
170
237
172
293
232
172
208
263
167
157
250
167
188
178
121
150
238
217
150
121
150
171
187
238
112
208
203
181
123
112
172
171
137
216
208
196
179
203
262
121
130
178
121
162
172
150
184
179
121
208
150
112
121
201
170
135
172
121
170
170
130
170
165
112
207
208
123
121
135
121
121
143
157
112
150
174
121
219
171
181
172
171
203
123
230
208
164
207
121
222
112
208
123
136
159
228
121
167
167
201
150
208
112
211
167
156
195
112
112
214
150
202
150
172
232
150
172
150
150
181
196
115
150
208
237
121
250
172
136
112
181
136
203
112
234
165
206
171
172
164
193
150
115
260
208
172
121
189
181
165
121
258
203
205
137
170
160
135
147
112
150
172
192
152
167
164
208
112
210
208
250
150
128
181
228
192
172
229
171
201
175
121
167
208
302
165
123
150
123
130
240
171
124
150
150
121
200
173
243
230
165
171
228
208
121
112
179
220
150
167
112
172
172
192
165
170
121
255
203
112
229
123
232
112
216
172
194
172
165
177
144
123
150
170
112
172
167
170
205
220
220
137
112
121
192
124
193
128
156
210
112
158
202
121
150
143
172
172
258
121
210
152
159
210
176
172
121
160
194
170
213
214
176
121
150
219
208
150
150
222
197
170
156
135
150
150
203
150
207
150
177
229
177
193
219
167
200
208
181
211
228
201
160
130
150
136
205
150
147
194
229
210
121
171
158
210
214
121
112
181
147
219
176
232
112
121
168
136
123
123
112
263
172
205
158
225
150
123
170
115
177
255
212
158
112
317
172
131
150
236
174
112
255
218
112
202
137
159
243
130
239
156
229
194
178
158
187
219
172
144
208
150
203
112
156
186
150
195
237
121
150
165
112
219
170
225
121
228
123
194
168
112
181
164
230
186
173
187
165
208
218
258
112
187
174
124
171
264
181
186
225
183
177
123
181
181
170
158
150
212
219
235
171
239
171
171
171
170
150
177
172
121
187
208
150
172
171
121
171
121
236
124
170
162
167
195
236
226
112
164
208
196
164
211
112
223
212
172
228
194
152
265
112
150
231
123
234
175
179
189
150
150
208
121
147
194
150
150
144
203
121
228
150
220
167
194
179
218
195
250
121
210
158
112
255
171
172
196
135
121
172
115
167
171
192
199
223
254
112
210
228
205
208
168
144
178
121
193
115
224
189
167
115
172
187
210
233
150
177
150
184
167
150
150
150
121
135
112
171
112
231
165
186
150
112
250
121
165
112
158
164
184
112
201
210
184
216
170
208
174
239
212
123
167
186
245
172
186
187
202
172
167
124
112
208
207
150
121
112
135
228
150
164
203
171
172
187
241
121
194
121
147
205
150
220
136
136
150
267
272
192
193
240
150
162
225
212
187
150
150
150
150
193
210
177
112
112
112
194
189
150
216
208
231
150
208
231
112
168
240
172
160
121
121
121
150
130
216
156
115
170
175
187
210
112
131
170
150
208
165
136
135
121
201
194
187
157
181
207
200
159
170
150
150
150
150
276
170
197
150
181
150
124
112
223
137
172
167
263
156
177
228
175
246
121
150
121
136
164
137
176
121
112
276
150
207
174
121
167
121
171
208
150
302
112
115
210
172
228
112
217
231
159
112
186
150
171
121
194
137
219
208
121
112
124
207
112
208
228
150
208
171
163
150
170
150
170
115
121
237
186
212
158
112
121
225
121
202
265
170
152
181
226
170
233
228
137
150
189
112
237
174
115
158
181
112
203
170
121
164
112
195
186
273
226
194
278
150
195
112
121
192
150
165
164
172
233
208
165
228
150
174
229
172
202
121
175
208
168
172
172
150
211
165
150
121
112
171
195
237
220
121
176
208
202
302
208
168
121
121
208
121
112
176
160
170
194
150
231
165
302
170
123
198
253
192
202
161
186
136
167
170
187
167
176
226
136
228
147
220
150
189
214
112
121
208
165
179
172
165
219
165
193
167
203
172
181
227
158
217
150
137
150
182
172
187
222
193
171
170
218
211
167
167
156
231
164
112
237
159
121
172
121
195
167
112
171
150
193
121
167
254
237
112
112
208
198
219
189
158
112
159
112
150
170
194
256
167
172
112
135
170
203
112
112
112
171
150
157
172
194
130
137
220
167
123
121
170
137
181
208
208
147
175
171
181
170
224
121
121
150
115
150
208
187
181
184
230
150
202
182
112
209
208
181
170
150
164
231
136
121
172
240
202
171
123
150
193
201
112
177
176
165
121
150
194
234
165
165
131
121
239
150
112
210
112
187
181
150
165
226
228
112
203
181
150
168
291
167
164
231
165
150
176
112
187
161
242
174
150
150
202
178
193
189
121
164
150
112
112
112
171
226
135
147
150
150
194
302
159
136
159
178
135
219
176
112
150
186
208
164
201
255
112
112
187
184
167
121
112
112
167
150
172
172
150
121
208
203
112
123
173
250
167
208
216
171
112
165
150
156
195
208
208
176
121
150
186
167
121
193
150
208
212
181
176
150
263
239
212
150
192
197
112
236
208
213
228
163
121
172
255
150
150
112
164
240
160
147
181
170
158
112
209
220
143
154
198
171
174
167
208
228
208
275
174
238
208
160
176
185
112
219
150
208
254
177
150
170
150
215
255
172
121
170
123
201
164
164
121
172
196
172
195
223
237
171
220
150
112
123
212
179
137
172
226
187
225
121
244
137
229
150
210
194
150
150
128
121
208
237
121
208
147
158
208
112
213
112
150
160
128
187
112
225
150
135
112
251
168
121
121
167
195
112
228
121
171
250
121
255
176
172
112
259
147
194
236
124
147
164
205
171
112
121
177
150
246
171
233
158
212
170
226
150
168
239
160
121
208
171
165
208
150
179
208
170
176
112
136
137
135
143
150
192
208
239
208
121
112
186
163
150
208
174
173
150
121
170
121
167
150
177
175
121
124
170
229
233
123
278
250
198
203
192
170
349
193
128
210
121
217
150
193
112
171
172
212
246
191
143
160
181
181
229
112
228
196
139
150
170
124
124
172
193
150
214
150
172
229
179
150
150
176
112
204
240
150
240
152
170
159
123
146
121
112
212
146
112
164
167
156
255
203
121
121
112
123
112
209
137
250
231
172
210
136
128
170
147
196
121
167
170
194
220
237
170
174
186
150
186
177
170
171
197
160
150
171
167
181
123
150
182
203
168
136
201
193
203
187
231
203
130
186
208
202
167
219
150
136
230
121
194
167
112
208
187
172
208
121
147
210
150
157
186
150
294
172
160
203
121
170
167
202
239
123
135
136
112
172
112
112
112
171
186
112
121
123
201
181
123
152
176
121
167
195
208
121
218
202
259
176
150
123
112
178
186
214
165
112
112
112
156
214
238
150
199
228
136
177
176
210
208
150
164
222
167
150
208
172
130
186
165
150
194
160
112
112
220
186
112
200
170
208
156
194
158
150
184
112
217
207
121
150
170
150
121
186
121
150
112
123
150
112
172
176
150
150
186
194
121
193
181
195
186
150
172
167
270
228
224
172
112
250
112
135
202
193
167
196
218
214
123
167
150
183
139
250
199
187
165
123
208
208
112
172
229
172
250
150
164
150
121
135
150
172
262
137
139
172
167
121
136
136
278
172
270
135
189
137
226
135
206
159
165
135
205
164
210
112
112
159
225
194
112
240
112
172
174
162
112
179
159
176
172
168
150
187
115
186
124
193
165
150
228
150
228
135
218
150
187
164
121
172
185
192
230
203
159
130
172
112
191
150
228
150
112
203
150
150
150
172
174
150
177
167
150
194
157
170
173
212
165
170
237
165
174
112
112
123
121
150
181
193
150
112
112
112
212
167
167
159
193
209
212
200
228
150
258
170
147
112
121
112
205
175
178
150
184
150
184
195
121
171
137
121
112
226
250
194
181
217
212
210
170
170
208
150
195
150
150
150
112
150
121
228
202
170
167
137
147
212
150
135
181
176
135
240
194
250
112
239
172
156
177
194
203
121
112
135
215
172
190
165
168
150
115
194
112
227
152
136
150
187
112
158
179
208
143
174
255
210
165
179
115
213
112
231
202
192
264
225
112
123
121
121
170
165
115
150
176
177
150
115
162
187
210
250
212
135
150
195
174
150
150
186
173
145
112
243
167
150
112
228
158
146
165
208
193
147
121
194
150
130
150
181
121
121
150
112
150
123
112
124
150
172
175
192
205
147
195
112
121
187
170
150
150
203
150
171
121
208
208
112
112
181
123
150
165
170
112
112
150
228
171
172
221
249
208
175
171
194
194
112
121
172
165
112
165
186
197
231
181
179
170
202
170
193
195
150
194
255
165
208
112
224
190
156
147
150
172
179
124
208
210
213
208
176
150
123
208
152
237
196
150
233
172
194
217
136
112
205
115
194
124
112
232
233
198
121
276
170
167
220
208
172
112
112
135
184
231
121
214
112
211
228
217
237
150
150
167
121
172
208
150
172
152
181
121
195
147
121
136
217
172
186
136
254
179
165
205
210
190
147
257
256
202
112
181
189
167
157
220
150
186
172
112
183
123
136
201
150
170
170
168
170
237
281
208
174
112
220
112
171
112
171
150
150
165
150
135
177
213
250
121
164
170
112
150
208
185
121
186
193
176
194
189
137
164
150
171
243
207
150
232
224
121
112
121
226
213
210
112
112
160
208
174
172
150
172
208
175
123
123
112
167
170
209
208
150
201
194
136
224
152
121
250
121
194
112
255
112
245
150
171
121
178
208
167
165
150
152
112
255
124
181
187
150
170
165
150
202
175
167
208
121
135
161
201
124
170
186
121
202
150
207
210
226
186
150
112
167
123
147
121
167
150
165
150
167
167
246
170
147
112
209
170
150
160
115
229
226
208
115
123
176
217
112
121
218
202
194
212
136
205
186
121
208
150
208
230
112
220
150
131
121
112
112
218
187
172
226
112
208
164
171
123
112
208
136
152
150
112
200
146
194
150
192
150
244
193
150
239
121
172
112
213
187
181
171
150
143
112
172
121
112
121
172
186
130
203
115
182
208
121
175
170
152
236
186
171
112
167
167
229
160
194
123
123
208
208
112
121
112
201
234
172
210
167
231
210
160
167
121
150
194
150
121
123
171
168
194
150
112
172
191
112
112
208
121
170
278
137
225
115
112
150
170
112
150
210
181
150
172
121
167
210
192
124
150
215
121
165
205
219
121
208
320
150
112
156
194
236
150
177
112
164
167
244
170
150
150
135
164
112
208
165
186
187
150
150
239
112
112
201
207
184
170
193
136
201
171
112
112
239
147
112
196
150
172
137
220
112
278
210
176
228
206
135
196
194
170
174
150
198
187
225
186
192
144
135
112
150
150
112
186
112
194
123
194
193
112
197
208
168
215
207
204
150
228
186
121
150
121
150
211
208
202
150
112
175
181
194
257
186
170
189
150
171
165
193
143
150
263
150
239
143
159
135
156
195
168
121
112
210
187
194
121
150
175
170
187
112
123
112
112
170
165
123
150
167
150
193
216
135
195
216
171
167
244
167
199
170
112
112
210
201
171
167
210
121
121
209
196
156
150
112
136
237
247
150
135
220
210
201
170
124
158
167
181
208
112
150
172
121
186
194
112
170
200
150
167
239
232
150
186
112
250
112
150
269
194
112
202
165
237
150
112
175
112
121
137
172
135
159
130
150
171
135
278
158
164
137
173
212
159
150
201
159
121
242
176
194
112
176
123
121
205
178
215
167
172
171
225
189
164
150
208
220
193
150
181
179
147
112
157
205
177
147
234
176
152
150
231
177
112
201
225
193
147
150
181
150
167
170
121
263
178
150
208
150
137
170
176
187
170
188
175
158
112
172
193
123
168
192
121
240
174
208
231
112
172
242
172
150
159
150
196
112
168
257
172
167
201
160
171
167
128
203
278
193
112
121
275
150
137
167
254
181
150
210
172
193
161
124
201
193
123
216
204
224
150
175
156
226
112
186
112
168
176
112
195
167
150
112
150
262
174
176
173
175
112
112
167
150
201
152
234
172
147
181
112
165
170
170
194
172
167
121
112
181
136
213
115
187
194
175
124
150
124
156
150
121
302
123
167
160
165
205
150
150
172
167
167
121
226
135
176
269
150
170
170
181
121
112
187
172
172
163
181
123
170
112
236
195
123
150
208
192
176
112
121
187
156
274
150
170
161
121
150
220
171
228
112
112
194
112
219
200
172
123
137
172
121
228
112
136
128
150
150
121
150
194
239
203
124
127
150
121
176
266
178
150
147
171
121
279
179
158
150
112
195
172
212
186
112
208
167
160
208
172
162
112
170
150
121
172
201
219
231
150
161
176
250
147
121
112
150
172
208
263
187
112
152
150
208
172
201
210
176
167
211
181
230
241
135
184
201
112
240
276
170
112
159
167
203
201
112
158
198
259
150
112
172
150
121
135
121
210
209
206
210
137
171
224
208
194
159
112
121
112
167
172
112
121
121
123
181
121
231
150
186
276
150
186
168
115
208
210
177
250
171
131
150
123
139
184
121
205
218
195
171
150
264
158
121
167
143
150
168
207
276
123
181
212
194
150
165
167
121
164
159
208
171
202
179
150
167
158
121
112
207
150
228
177
159
150
203
167
112
167
167
158
158
194
144
193
121
121
112
174
186
135
112
112
276
165
123
174
150
181
150
150
150
115
150
150
208
208
177
210
167
228
135
186
147
167
212
172
176
223
219
176
181
112
150
232
112
165
240
121
167
156
176
165
186
135
121
150
207
156
181
181
112
123
237
200
231
237
112
150
112
112
289
150
121
220
255
157
194
150
159
210
121
182
181
212
121
112
150
137
112
115
176
167
150
112
150
256
172
170
170
237
168
219
243
156
291
123
230
112
171
208
165
250
203
237
172
193
186
150
147
112
150
160
172
193
112
172
187
167
186
137
239
174
150
225
302
123
208
167
185
302
229
192
226
208
172
115
123
228
226
219
150
193
219
212
185
112
112
222
156
232
157
178
172
170
139
147
203
176
158
121
205
123
121
243
136
167
208
216
144
193
244
196
195
194
167
230
212
158
112
112
170
195
232
130
121
265
194
167
170
139
150
208
202
219
112
210
164
194
121
168
258
150
202
150
242
186
112
165
170
150
171
135
182
135
112
164
123
171
135
172
150
177
195
112
135
112
195
178
115
150
195
174
150
150
208
121
210
170
121
195
208
150
305
112
187
205
150
186
184
237
112
121
208
128
193
135
227
181
176
186
193
219
212
225
171
121
158
208
172
158
158
192
265
209
123
150
150
229
170
208
127
150
150
121
121
121
213
170
207
208
187
150
130
276
255
150
182
171
193
239
128
150
112
208
196
121
167
112
212
208
137
112
168
214
210
112
265
263
170
267
210
112
150
121
187
289
172
202
254
123
174
165
167
112
112
221
171
150
121
232
208
172
171
202
150
136
171
121
170
150
208
272
205
112
150
220
167
167
170
232
167
228
208
177
150
123
164
167
229
150
150
172
250
165
238
218
172
123
175
194
167
121
150
284
112
147
217
220
235
194
112
150
193
112
112
150
135
168
163
208
150
255
223
165
193
208
115
121
150
147
217
171
121
269
170
112
229
237
112
182
212
179
121
181
112
123
123
231
112
172
170
123
188
213
171
193
218
164
171
135
152
128
259
150
231
160
198
172
150
112
112
176
203
115
208
177
112
217
171
112
181
167
171
136
121
137
164
150
181
233
230
121
172
170
137
234
210
181
194
181
177
239
201
208
160
150
208
227
174
190
150
171
174
112
201
220
189
172
121
158
202
193
112
174
257
112
150
257
112
150
186
176
150
194
135
181
276
181
168
112
164
150
112
112
121
240
186
121
170
150
179
202
115
121
112
124
194
218
203
146
121
112
147
150
206
150
165
219
158
177
136
121
242
172
135
171
136
150
172
165
112
184
205
186
135
158
208
263
172
150
208
176
115
165
150
187
130
150
172
232
203
195
121
219
178
121
172
121
172
150
192
112
170
152
219
172
123
164
143
144
186
136
172
112
112
121
164
172
168
150
137
208
237
219
121
112
167
205
171
123
181
150
124
172
171
208
123
150
207
136
208
158
239
147
135
207
171
171
172
121
135
147
195
112
150
115
172
228
172
150
150
121
223
201
150
170
171
202
184
136
144
193
162
202
147
159
210
208
158
176
187
172
172
150
208
181
198
112
231
152
214
177
167
212
192
186
205
177
171
226
150
121
150
146
175
135
225
150
279
137
112
172
112
112
157
150
175
164
210
112
139
210
160
186
161
121
150
121
135
124
112
121
195
165
238
170
193
152
205
208
167
232
179
112
207
208
121
112
190
228
176
150
150
150
205
167
150
165
112
186
176
165
192
144
130
150
150
159
171
167
150
181
193
237
186
137
112
218
150
172
150
159
208
135
176
112
130
167
150
205
165
222
215
150
123
184
187
167
165
228
164
231
123
121
172
212
112
171
172
208
165
112
123
192
255
208
121
186
182
167
210
275
112
121
257
201
231
242
189
231
174
247
186
112
281
172
152
215
144
219
208
135
112
250
170
150
228
265
204
121
170
208
171
195
121
135
208
160
208
121
177
121
112
160
112
170
181
172
112
112
112
150
172
202
121
181
174
205
137
156
239
112
150
162
123
121
233
193
168
208
186
229
121
227
150
174
208
160
242
150
115
194
160
245
137
194
150
167
112
208
231
218
192
157
112
228
121
213
121
195
123
121
144
152
150
171
208
127
121
152
172
121
150
199
150
112
121
112
147
121
150
171
208
187
150
194
208
171
232
231
150
167
167
263
150
159
214
208
240
176
135
112
112
112
172
150
167
123
150
202
150
219
215
257
165
136
150
124
202
179
147
153
150
215
165
135
237
176
237
124
218
210
112
181
172
194
112
189
156
217
202
164
131
172
242
205
167
112
208
216
161
181
164
203
181
150
112
225
208
123
205
112
179
181
208
165
191
112
150
245
150
157
186
208
150
172
167
194
165
121
171
165
150
137
144
219
158
162
186
136
112
165
121
170
228
186
156
176
208
121
253
150
174
193
170
112
208
152
186
186
229
211
193
189
153
150
193
181
165
112
112
112
195
150
203
123
147
189
121
172
121
112
226
222
171
147
237
150
193
229
210
167
112
181
243
201
112
208
167
172
112
176
112
150
150
121
112
203
150
196
208
194
150
188
137
123
205
192
170
172
112
234
112
207
164
181
134
150
171
208
170
255
121
172
208
171
174
152
218
205
194
115
237
112
121
176
239
194
165
121
165
170
236
150
211
112
165
173
212
172
233
165
150
219
168
194
150
112
223
156
165
176
208
202
181
181
181
165
115
112
152
147
170
150
204
237
181
174
172
208
210
186
152
208
187
187
170
187
150
194
170
143
248
150
172
112
203
121
219
208
172
172
112
121
150
224
128
121
112
168
211
186
121
135
202
178
250
234
123
171
176
208
200
167
226
130
231
172
115
208
170
168
247
172
123
191
237
135
123
182
150
208
274
181
144
112
121
210
150
112
177
112
172
165
177
112
150
196
170
203
167
244
193
112
237
176
195
171
150
150
236
123
165
165
219
172
158
264
241
174
112
159
237
112
179
156
230
195
172
211
124
193
112
130
196
212
208
240
150
136
150
267
170
167
150
175
137
253
112
165
167
210
172
137
135
194
170
123
278
123
112
147
167
150
147
170
213
136
208
150
121
193
208
112
177
165
176
233
208
150
184
208
192
167
250
135
112
237
199
198
135
184
224
165
194
240
181
112
150
205
171
172
176
186
175
150
115
272
150
150
150
208
192
179
152
209
189
135
150
150
112
205
182
202
115
164
181
112
194
136
121
194
170
158
150
172
226
167
181
190
165
193
247
250
121
136
210
194
172
156
208
231
167
193
168
157
115
186
192
158
208
150
195
152
171
202
201
205
165
159
112
226
150
232
208
250
172
150
160
147
201
112
172
271
212
132
156
293
164
186
150
121
187
150
212
150
170
198
150
124
150
170
124
167
112
112
112
121
150
170
196
150
112
187
219
121
150
165
152
256
223
194
147
135
216
220
202
158
174
194
115
147
190
112
171
147
194
238
217
207
223
201
121
150
208
186
121
121
208
186
170
181
150
208
150
208
178
176
165
213
124
121
190
192
194
252
172
123
121
208
219
178
112
174
167
301
170
239
112
192
229
172
137
208
250
135
131
232
208
233
174
171
112
208
174
167
202
121
208
181
208
228
158
264
194
220
201
158
137
167
171
194
121
193
177
181
150
231
150
172
112
150
181
112
159
164
218
177
172
170
150
163
150
210
228
150
212
147
271
238
219
164
170
186
172
202
208
175
135
121
150
150
165
228
222
203
165
112
210
147
200
172
115
121
170
342
112
170
121
112
212
150
121
220
170
150
112
191
186
121
232
112
181
112
147
209
121
156
160
186
171
187
167
171
208
156
216
115
177
124
159
115
226
164
147
176
150
121
121
135
150
123
121
202
172
167
156
230
208
219
202
136
146
195
219
150
121
160
276
171
144
186
115
172
150
232
167
212
112
195
112
123
235
130
121
150
194
112
167
112
174
250
229
112
150
135
150
150
232
207
112
208
150
123
158
171
215
121
264
202
172
302
178
232
174
150
173
208
174
240
156
167
165
226
181
112
194
112
123
170
194
207
239
167
170
150
121
204
112
167
121
112
112
208
121
171
228
172
130
121
115
150
208
123
170
150
121
160
225
240
150
205
196
150
201
112
150
202
112
240
212
170
194
121
112
257
112
112
150
147
167
121
173
231
150
171
121
150
219
121
186
150
165
171
186
195
208
208
208
231
135
208
202
204
225
158
136
150
243
137
223
150
121
130
165
223
167
112
220
181
171
121
212
189
194
225
178
172
208
190
194
170
170
158
176
171
265
170
298
217
150
165
123
279
258
150
181
232
123
130
165
208
237
150
112
135
147
208
159
136
181
205
150
208
112
135
150
175
112
194
208
202
174
165
112
170
208
235
167
121
179
184
201
112
181
194
240
164
150
135
250
170
150
219
112
216
172
170
218
150
137
195
186
112
159
199
174
150
121
218
172
208
158
112
115
231
257
202
172
152
167
123
135
182
243
171
208
208
136
176
208
147
205
121
124
112
121
237
193
150
150
121
220
112
208
112
178
181
231
228
150
167
213
112
130
250
112
232
189
121
121
229
172
202
150
136
255
276
115
175
115
112
128
263
215
150
263
137
112
136
228
160
179
167
246
187
208
150
185
176
123
172
243
136
220
123
167
158
121
181
181
274
137
170
167
112
174
112
208
239
147
130
174
112
253
150
167
150
223
187
228
208
229
172
203
157
232
175
121
167
186
167
112
167
160
186
167
121
210
167
241
137
187
228
112
135
208
194
194
112
201
112
150
121
136
144
186
165
171
112
165
150
210
208
220
137
171
150
170
167
167
167
171
112
189
227
208
176
121
121
128
123
121
171
231
112
226
150
124
211
199
167
217
208
112
259
112
135
150
150
208
150
176
146
115
170
213
172
194
150
204
181
170
161
172
208
143
150
177
194
171
112
112
112
112
208
208
121
170
157
208
208
165
143
176
112
165
199
175
165
228
177
228
233
223
147
112
187
158
181
219
150
177
195
174
150
195
172
195
231
195
192
112
112
159
231
121
189
186
150
150
236
121
121
192
150
208
150
208
170
172
112
175
147
194
112
121
121
226
204
176
152
167
195
210
194
167
233
135
250
123
278
147
146
150
112
115
112
208
162
128
172
112
157
226
147
112
150
187
136
121
218
228
176
150
121
187
167
112
172
170
150
210
112
150
112
170
121
157
206
171
214
172
150
195
210
193
150
181
208
124
193
150
208
219
225
168
167
205
170
147
181
171
255
172
174
150
150
179
208
193
112
158
233
121
164
212
150
208
112
121
170
136
121
121
218
121
121
193
123
121
150
121
143
194
150
156
172
172
123
194
250
239
150
208
135
170
208
172
187
187
167
230
232
202
167
194
194
135
176
170
128
190
227
174
211
172
150
152
225
121
172
136
136
214
208
172
194
160
206
171
193
124
167
214
237
236
150
150
167
167
150
174
178
241
121
194
170
165
112
172
174
194
205
200
112
158
250
208
212
172
181
229
121
121
179
150
123
205
172
150
184
121
242
170
195
160
171
112
208
203
152
147
121
217
167
230
178
168
112
170
168
187
112
186
229
232
179
156
205
121
176
150
181
124
217
165
150
121
157
115
172
182
196
137
165
121
167
186
203
194
137
160
150
181
172
193
269
193
136
112
167
210
212
152
150
124
271
150
161
186
176
150
156
167
121
124
201
184
258
121
164
210
170
181
172
164
221
262
263
150
186
115
195
186
172
112
135
167
233
226
195
112
150
239
240
187
121
250
170
231
175
276
194
150
150
187
207
123
226
228
150
123
167
150
239
123
239
239
195
175
123
150
115
275
172
136
201
172
150
171
121
181
174
124
230
207
150
115
170
121
208
172
121
225
208
167
146
239
150
112
150
228
139
131
121
130
181
112
202
150
228
152
167
208
292
163
171
176
255
210
112
159
201
121
233
276
124
112
171
112
170
181
112
180
150
112
112
172
121
212
121
112
167
112
165
150
150
123
237
167
208
128
194
156
204
195
230
112
194
261
150
171
193
135
213
156
150
121
115
162
226
182
121
112
144
212
136
276
202
171
208
150
150
150
121
213
161
172
112
171
144
112
143
167
215
194
164
172
225
150
123
144
226
186
226
176
121
123
130
181
208
112
131
210
143
121
112
172
214
194
123
112
112
195
181
172
112
121
121
112
205
237
121
112
150
150
167
121
112
175
136
170
231
212
231
217
232
130
176
181
195
112
144
192
181
187
187
150
135
123
246
219
176
112
121
278
177
123
265
115
165
208
243
121
237
121
207
136
193
172
173
124
247
187
194
121
175
239
209
156
263
112
263
208
112
176
130
193
230
172
150
150
137
136
172
147
150
220
230
112
136
167
136
121
172
302
208
176
211
121
150
150
150
255
112
159
243
208
233
121
206
202
136
150
112
112
239
193
150
172
208
212
186
137
164
229
230
218
205
150
282
112
112
161
193
193
121
176
227
112
250
121
228
143
121
112
150
167
199
192
150
112
172
128
112
230
186
201
176
124
150
150
112
130
170
150
276
121
231
146
112
172
188
171
197
237
123
208
200
259
170
112
112
130
213
150
112
230
112
271
115
150
208
121
150
170
112
112
150
192
226
202
181
156
147
112
264
156
185
150
181
243
220
194
205
115
217
112
193
121
181
121
150
237
152
121
243
207
194
171
193
185
112
123
255
112
115
112
172
276
150
212
168
193
112
172
174
121
228
225
147
252
208
172
205
128
150
239
112
229
112
128
171
164
202
156
181
207
186
257
136
115
121
184
171
150
156
170
239
124
158
235
243
167
121
165
194
136
121
170
150
276
121
150
115
195
112
193
150
128
192
150
150
201
220
187
208
208
176
150
212
124
150
177
208
172
205
201
112
176
112
158
150
158
121
121
302
231
256
228
195
137
112
208
217
202
112
192
171
121
112
193
150
156
232
221
275
137
172
203
210
135
208
121
121
192
187
186
150
147
159
124
234
121
150
136
208
136
238
239
161
112
172
231
167
112
150
112
172
177
176
186
214
238
123
150
121
194
164
219
193
123
112
233
150
202
115
165
207
183
222
194
176
208
194
212
121
123
250
131
202
150
135
194
231
112
150
155
194
121
255
176
150
212
171
136
208
225
207
112
174
208
112
112
186
228
150
150
170
150
150
172
172
164
150
147
158
137
172
123
150
181
208
240
193
229
217
249
238
137
121
165
112
210
208
172
150
170
227
121
112
164
278
252
112
115
194
123
194
242
232
136
212
123
228
208
165
181
194
156
112
228
163
121
242
231
263
208
208
150
208
139
231
150
214
124
212
123
181
112
171
123
121
123
172
264
176
168
176
189
144
150
167
130
181
172
171
112
172
187
218
171
208
137
164
208
115
192
195
259
239
218
136
146
181
237
206
156
212
164
299
115
231
121
112
150
208
121
150
171
121
243
121
202
172
233
170
112
121
176
174
167
244
165
176
112
123
150
215
165
150
168
213
137
135
272
167
237
273
112
208
181
171
167
165
177
181
112
121
159
167
195
170
130
150
170
210
171
150
147
203
219
165
172
167
208
150
135
150
112
123
112
123
135
112
189
165
167
172
150
150
181
228
181
175
237
297
212
278
208
232
150
187
172
196
193
187
176
208
121
123
121
201
167
253
161
156
179
208
130
170
121
165
137
201
195
130
172
170
159
170
203
136
146
208
150
164
160
182
208
137
208
136
195
112
208
172
234
112
189
235
195
263
228
239
208
208
150
176
165
112
176
192
150
165
171
112
193
124
207
181
112
112
171
112
239
112
150
219
112
170
181
168
152
150
171
150
193
150
150
187
225
150
219
124
199
112
250
263
176
175
137
243
171
150
170
208
150
170
165
195
145
121
165
226
217
167
172
112
115
121
150
177
121
150
135
175
167
189
240
220
165
164
160
219
194
228
208
150
167
150
210
170
261
170
158
218
195
112
150
121
202
215
150
172
124
192
203
150
176
234
167
220
137
255
150
168
112
165
115
112
150
208
112
121
181
112
121
194
136
112
115
239
171
218
218
150
177
139
164
299
200
172
112
136
121
112
228
150
237
112
208
121
176
170
203
136
250
130
257
243
217
233
150
181
194
170
121
112
121
221
167
156
252
174
184
150
150
205
291
181
156
112
158
194
172
112
172
150
112
171
112
147
158
112
250
150
186
170
177
228
172
112
150
112
112
121
112
115
201
231
167
236
167
121
184
208
135
218
150
170
150
164
136
172
176
236
167
150
167
159
170
150
150
186
193
174
217
181
112
276
205
167
136
112
250
124
204
124
205
250
201
234
219
167
165
226
172
150
255
181
167
121
121
123
203
170
121
121
170
231
150
150
135
208
121
212
202
112
112
218
167
165
208
197
147
247
171
208
181
234
121
196
244
228
121
260
123
176
112
112
115
243
207
194
155
121
112
207
194
192
170
121
194
202
121
263
208
150
150
208
212
143
184
278
195
147
197
181
218
194
170
177
243
263
242
202
181
150
202
170
136
167
112
112
150
176
172
165
219
208
171
123
150
112
165
243
174
165
194
121
170
124
137
158
194
272
219
150
172
270
150
150
170
203
172
172
181
243
208
147
112
208
208
143
165
112
124
176
220
232
272
229
112
193
172
197
159
208
124
112
231
112
121
121
218
150
121
137
112
188
214
208
215
192
193
208
205
115
165
150
121
171
235
181
121
208
208
219
137
112
342
218
194
192
167
152
165
123
187
150
121
147
150
176
181
123
193
176
193
193
160
175
157
202
193
243
208
147
170
150
112
165
170
174
121
124
194
112
172
170
228
135
187
165
123
121
172
177
208
237
164
234
201
170
172
186
176
135
171
263
171
228
164
115
208
112
215
123
252
276
232
152
208
172
217
121
205
232
172
150
213
210
150
207
186
112
123
121
115
196
136
123
187
121
230
208
229
130
232
175
226
150
232
112
231
121
150
135
150
174
172
150
150
112
195
181
143
228
244
112
186
170
150
215
121
172
175
219
165
194
150
121
202
121
216
112
194
121
150
121
226
225
215
170
181
121
170
112
231
167
174
137
185
150
171
121
243
167
136
234
239
170
243
136
201
194
192
177
147
152
150
135
174
229
167
208
150
220
167
121
112
112
219
239
150
150
121
150
112
171
195
174
147
193
150
150
219
150
150
152
172
124
112
201
208
195
159
150
216
220
164
171
112
194
195
150
121
202
150
121
172
175
238
150
173
232
257
225
186
181
170
231
150
150
150
130
228
162
172
231
172
112
123
128
147
202
135
123
112
123
170
112
208
137
238
164
172
128
237
167
135
217
112
150
172
167
137
112
121
121
208
152
205
158
186
189
178
210
208
150
150
181
187
170
198
150
203
121
165
150
223
201
137
150
158
194
208
228
177
112
150
172
150
216
112
213
237
150
137
243
112
225
224
115
192
168
160
112
210
150
150
150
201
150
252
150
176
112
123
217
193
121
150
186
189
171
165
150
147
232
181
112
121
194
123
208
176
208
137
203
115
170
150
150
184
160
181
112
170
160
194
112
179
112
231
172
158
203
194
210
156
175
220
208
112
164
121
194
115
121
159
112
174
242
150
250
234
150
175
167
150
204
171
217
170
150
150
194
203
208
169
228
150
198
171
177
201
208
112
170
112
208
172
184
202
208
186
123
210
208
216
112
159
240
208
171
121
215
178
176
150
170
121
190
121
202
226
208
247
121
150
194
150
147
270
150
152
227
172
208
167
150
181
202
172
205
165
228
194
164
152
160
121
232
150
176
170
160
175
112
121
112
289
150
115
172
237
112
274
168
160
193
150
128
181
175
172
137
202
156
121
112
208
207
112
205
172
156
164
128
150
112
171
220
270
165
159
186
174
112
195
112
150
158
112
121
208
112
112
172
136
208
150
193
208
195
121
195
179
167
239
176
170
170
202
121
112
130
115
150
208
112
219
208
152
210
170
214
228
123
208
150
208
112
121
147
123
190
233
177
115
174
150
121
121
165
181
112
136
112
209
112
237
202
158
218
165
147
181
206
150
171
150
121
186
150
115
235
121
165
150
150
170
150
150
215
135
121
172
170
164
160
165
228
231
112
121
174
150
170
112
205
201
176
165
152
208
112
115
150
205
167
193
164
208
121
121
175
162
172
195
115
135
147
150
175
152
210
150
112
172
121
209
135
112
186
162
194
112
135
255
112
302
150
175
167
121
186
228
123
208
250
177
299
167
186
170
208
172
208
195
160
112
124
167
267
236
175
243
172
172
121
212
217
121
112
233
193
167
164
160
181
121
172
239
112
167
130
194
150
150
195
150
195
227
159
185
195
121
194
161
170
168
196
229
194
178
234
203
193
172
172
150
174
186
201
192
186
208
112
228
150
170
112
121
112
175
160
112
203
195
243
150
220
218
172
150
192
121
167
213
150
150
186
237
158
124
150
150
170
172
210
137
186
150
121
203
208
213
112
121
194
208
215
123
181
245
210
193
281
172
143
229
244
182
156
112
170
150
233
121
135
193
112
187
228
112
115
139
177
112
255
242
121
193
150
198
263
156
158
150
150
208
121
238
175
181
171
160
201
209
112
150
216
250
121
121
150
150
135
186
165
208
167
124
121
269
212
150
237
124
225
228
136
186
165
263
150
145
121
150
259
121
228
302
167
208
112
112
208
170
150
172
123
186
112
123
112
150
208
255
112
162
228
141
150
123
250
152
244
150
150
181
203
121
160
147
150
158
208
176
208
214
192
181
121
228
165
202
136
179
150
172
298
228
150
150
175
208
147
137
150
167
123
228
135
174
112
195
177
174
193
121
244
147
210
150
165
121
228
121
167
193
112
192
112
171
171
150
255
186
164
208
112
159
121
112
203
176
193
124
150
150
186
217
150
150
121
112
171
121
213
112
194
211
158
121
121
121
242
123
208
170
210
172
167
208
152
112
159
172
171
210
130
228
167
181
171
139
202
176
165
150
150
213
228
230
229
172
112
121
202
181
172
167
217
156
174
121
208
112
123
121
152
121
121
239
201
123
165
123
201
174
150
112
173
165
233
172
167
236
176
121
193
150
147
215
160
112
199
112
187
150
186
240
112
121
150
167
175
112
136
112
206
123
231
136
135
123
167
231
112
150
183
112
177
112
158
165
172
121
150
207
228
171
194
206
225
164
227
233
112
208
203
150
231
112
220
208
195
302
193
150
194
208
208
159
150
123
170
229
215
168
177
170
238
152
171
156
231
227
112
123
112
193
217
123
184
121
150
112
179
212
170
121
201
158
121
205
172
177
121
186
219
160
112
150
150
181
193
158
177
228
112
212
194
112
181
207
185
250
208
186
186
112
167
123
181
208
167
124
115
135
150
150
259
144
207
144
147
208
168
171
218
208
171
121
278
121
150
226
121
215
150
175
167
183
171
128
208
121
121
112
112
123
208
226
121
150
218
152
124
121
258
150
176
121
150
217
205
195
207
150
208
172
236
137
124
170
193
112
160
228
208
181
287
196
150
186
199
150
121
228
186
150
136
170
159
231
121
159
167
194
112
159
112
172
121
176
167
172
212
242
150
226
167
186
112
186
172
201
164
302
208
156
121
220
121
184
170
243
147
150
112
128
121
135
172
199
250
172
172
231
112
130
174
186
170
302
208
158
112
167
235
150
170
167
170
150
130
171
150
273
121
112
208
170
223
150
237
281
208
225
208
112
150
121
232
123
194
167
121
208
121
136
143
124
136
121
176
159
150
239
112
220
152
152
208
217
193
165
121
208
147
171
112
167
158
167
194
176
158
171
150
112
193
160
159
226
144
213
212
121
167
150
205
203
112
150
158
121
167
208
302
193
208
208
152
159
243
160
123
193
229
184
172
159
167
202
196
205
240
121
235
186
123
219
223
223
174
150
172
186
197
253
170
112
171
121
159
137
208
218
194
150
174
170
258
160
115
121
201
177
112
121
171
231
177
181
208
172
176
121
237
179
123
112
257
150
177
186
278
187
250
112
150
165
172
150
222
171
165
226
214
121
195
201
172
172
124
184
207
170
159
112
147
168
128
150
112
216
212
212
112
136
211
207
172
156
165
218
150
150
171
168
150
237
176
213
112
212
147
112
137
177
112
175
175
218
228
172
121
205
208
163
170
250
265
171
112
112
210
226
164
112
208
121
112
170
136
213
150
170
167
150
207
176
191
112
230
150
172
207
152
198
186
205
167
208
121
186
165
181
208
176
194
172
152
112
229
208
150
135
243
195
144
221
121
175
219
193
150
214
263
208
172
150
175
112
174
150
176
150
176
147
153
212
228
150
228
168
121
112
181
171
202
150
181
233
112
193
167
112
210
158
174
181
194
146
150
219
150
170
130
123
170
112
187
121
159
150
150
165
112
215
213
150
170
136
156
174
176
172
176
208
170
150
150
121
195
212
171
181
172
112
215
112
112
194
208
245
296
172
232
112
170
150
136
112
115
137
147
121
147
179
115
236
208
176
234
150
123
123
128
216
207
167
263
124
165
112
215
239
150
208
229
121
186
112
193
226
329
202
203
150
150
147
123
186
176
150
208
156
150
150
112
226
160
194
232
193
172
208
123
121
128
213
241
207
208
194
228
112
130
203
112
164
192
112
175
212
121
123
212
130
192
221
115
167
181
195
112
181
150
194
255
112
121
165
121
170
256
167
112
194
195
192
194
112
172
195
152
167
112
289
167
200
231
112
150
171
187
237
193
171
123
159
112
144
112
150
147
150
112
217
175
202
112
157
135
150
205
251
302
176
170
181
150
163
150
219
181
112
228
150
187
192
215
236
130
202
144
171
249
121
176
121
146
150
202
150
225
121
181
207
181
152
217
171
165
171
229
170
157
172
171
206
203
187
279
172
202
208
231
213
172
210
150
202
171
211
211
182
171
232
187
167
137
164
158
218
121
193
214
255
208
150
235
184
150
201
115
167
128
251
112
220
186
165
208
150
193
186
176
172
176
237
219
171
232
165
167
189
259
237
150
112
112
239
165
189
194
137
218
165
130
121
208
136
193
172
221
219
121
156
171
123
158
242
170
186
161
159
210
121
193
115
250
115
121
121
239
250
172
112
170
115
195
150
167
231
115
150
150
121
255
220
150
172
177
171
170
157
150
115
210
121
121
112
208
143
121
158
170
112
121
250
112
112
236
143
171
137
167
194
171
121
224
121
150
172
239
112
219
194
121
171
230
150
230
237
121
171
160
228
160
112
302
208
112
201
152
194
112
205
210
172
204
150
181
208
164
112
216
112
181
217
112
121
174
228
150
150
115
203
115
171
123
150
150
219
239
167
210
172
212
115
112
115
254
150
158
150
172
121
193
121
167
112
208
186
217
171
240
135
201
192
181
186
178
150
165
150
195
152
188
186
121
152
170
193
121
172
150
229
150
179
181
112
179
237
123
112
112
121
165
158
172
172
112
218
259
271
167
220
152
202
150
112
228
167
228
192
137
150
176
150
135
215
150
124
220
302
162
220
226
177
181
112
177
187
135
245
150
165
174
208
121
203
136
121
181
174
171
170
121
156
189
150
174
159
150
250
176
130
170
195
172
170
150
192
214
150
112
150
121
164
192
195
150
170
170
196
112
233
172
147
160
172
131
171
174
193
191
150
172
186
135
181
181
181
150
172
299
218
175
172
150
150
176
181
123
165
214
205
208
112
225
171
115
150
172
150
150
195
176
194
302
203
164
121
208
137
171
190
128
193
260
124
205
137
156
165
112
193
217
159
150
176
240
186
208
123
123
137
181
187
208
135
121
172
208
213
237
147
150
123
247
156
186
170
167
250
172
121
172
150
206
150
194
121
130
147
159
237
147
187
150
210
217
195
167
233
227
202
135
220
150
231
112
150
172
203
156
121
143
232
203
174
201
121
255
237
208
121
150
150
201
150
217
208
177
124
167
197
165
218
112
187
186
150
255
112
165
167
172
208
233
226
230
210
175
194
179
150
207
171
226
121
210
167
227
112
170
121
176
219
214
112
115
228
181
121
201
123
112
255
167
181
150
196
150
195
242
112
150
150
178
150
170
121
112
231
173
150
135
177
239
171
156
208
203
302
112
112
135
209
165
177
150
253
121
170
179
150
243
172
112
112
202
150
175
225
167
141
205
171
158
195
135
243
150
170
137
130
112
159
172
121
167
189
199
150
201
250
150
177
194
150
208
167
121
176
218
123
150
194
202
136
208
181
181
193
181
228
193
228
150
263
112
201
112
170
112
164
112
237
165
112
192
121
276
190
217
171
174
195
278
208
194
112
150
231
150
177
194
150
208
193
202
173
152
115
186
203
220
170
172
187
171
170
112
206
123
156
208
228
112
165
218
112
167
112
164
210
150
150
121
181
112
194
172
135
158
208
220
213
220
214
195
208
192
193
167
208
135
239
124
167
150
150
172
172
147
186
167
194
164
217
172
150
176
212
171
172
115
210
158
170
203
176
172
112
223
215
160
228
171
210
150
124
121
115
203
112
228
190
135
164
220
146
172
121
164
115
200
160
112
150
147
194
184
195
208
226
224
186
112
278
216
218
210
165
192
167
150
150
203
220
181
237
181
271
208
170
170
202
121
186
193
212
150
167
115
160
121
170
165
156
194
240
150
121
250
208
208
112
181
121
208
208
171
150
143
210
150
170
156
121
250
170
194
178
194
228
221
121
167
208
112
172
213
180
115
162
171
121
227
150
228
132
201
171
171
182
175
170
112
255
124
243
150
208
156
260
208
203
143
150
121
165
262
150
161
182
121
181
150
112
137
136
136
171
171
135
228
121
228
165
176
112
250
276
165
176
194
172
194
208
219
209
121
146
112
150
202
115
123
165
150
121
173
225
167
185
160
152
174
170
198
236
176
193
240
172
229
159
199
208
177
187
167
130
164
112
276
208
187
222
137
172
172
171
171
170
181
211
130
136
213
208
202
112
186
195
174
150
231
165
171
158
265
208
172
112
172
194
150
189
112
150
172
177
240
150
258
150
184
123
181
167
207
193
176
170
124
170
193
240
186
174
208
150
150
192
226
250
170
147
130
181
217
170
172
212
195
172
135
228
186
203
112
112
178
112
186
172
216
170
150
231
150
150
124
135
121
174
165
235
123
194
167
176
262
150
121
228
212
137
150
210
235
195
203
210
121
206
211
123
220
176
198
201
229
233
112
121
136
150
195
208
160
135
112
172
229
121
219
121
202
231
218
121
165
150
164
225
170
187
112
115
174
193
208
187
181
121
231
208
167
194
243
210
136
137
192
210
156
145
194
124
211
121
150
226
121
150
208
171
195
208
132
167
170
171
181
186
123
212
208
150
219
121
121
121
208
217
208
202
208
128
195
112
112
146
208
187
121
150
170
186
150
135
121
150
156
121
172
228
112
121
208
115
194
172
172
136
150
165
112
189
150
121
167
171
150
150
208
212
161
187
112
172
159
170
196
195
208
165
147
163
166
123
136
176
194
124
150
207
176
242
121
112
195
121
143
112
167
121
158
243
130
214
121
112
208
167
171
201
215
202
150
139
195
193
241
175
171
177
147
121
186
170
181
193
219
232
163
223
186
150
176
112
171
112
215
159
150
112
205
165
112
150
208
208
186
165
150
195
250
136
121
181
150
147
112
176
207
168
167
112
232
165
228
150
194
174
112
192
115
255
150
192
112
143
159
223
176
186
177
237
170
194
228
226
135
181
172
121
112
205
231
168
150
130
128
214
195
172
150
170
231
177
172
214
136
198
152
201
202
112
186
150
112
218
159
112
243
195
157
181
135
176
200
147
112
150
150
232
165
198
150
186
168
112
112
302
135
208
112
176
210
194
112
158
150
164
150
170
136
112
208
279
112
150
137
147
243
121
171
121
115
172
187
135
128
167
112
167
182
229
167
115
176
186
194
136
136
187
150
115
150
172
208
150
112
167
208
147
235
187
170
112
172
130
250
199
177
202
121
189
121
158
121
195
121
145
263
112
168
124
256
208
123
208
150
150
150
150
208
112
241
250
112
176
150
207
239
194
121
186
112
159
112
208
245
172
156
144
150
219
177
216
211
192
121
156
239
112
167
168
210
181
220
158
137
121
194
112
194
212
202
208
160
112
112
205
201
215
256
144
175
210
130
112
171
158
143
259
187
137
165
121
181
172
150
112
112
121
167
239
159
121
201
167
239
182
165
171
190
233
170
135
174
130
177
171
202
171
170
263
177
150
150
121
195
143
170
164
121
112
167
150
112
167
112
202
194
171
121
196
123
176
219
167
232
210
190
181
112
150
150
162
150
160
150
172
170
112
212
239
164
123
150
112
237
236
121
208
223
150
234
212
203
176
202
255
208
186
121
167
208
167
121
130
150
203
172
233
170
195
231
112
186
150
150
144
135
121
181
112
112
207
150
150
225
181
177
130
181
143
135
210
211
167
181
208
112
226
150
121
160
251
172
165
193
226
202
194
112
179
181
150
121
223
209
208
167
150
150
150
208
150
136
202
165
159
194
271
167
228
112
150
165
150
194
255
237
226
135
210
214
150
150
135
276
228
186
135
208
175
205
199
210
121
128
227
194
171
231
172
245
192
150
112
186
112
231
165
121
112
135
203
193
136
139
229
150
208
250
150
121
279
121
219
191
208
187
203
208
193
202
205
123
272
139
150
235
121
135
181
167
250
177
172
112
218
256
149
137
176
124
167
219
112
208
264
123
160
150
195
150
260
150
190
150
136
172
217
147
181
206
124
121
112
121
192
225
170
123
121
168
202
167
121
235
194
263
112
158
123
217
219
165
170
159
181
207
147
171
123
147
170
121
112
123
144
208
123
135
135
231
137
150
160
121
171
115
150
205
167
174
167
172
123
187
150
150
201
112
123
112
216
150
217
204
112
181
112
218
187
226
192
178
121
210
231
207
250
250
121
150
150
150
136
243
178
130
171
187
167
121
190
121
208
112
170
156
167
176
212
176
130
170
202
208
112
186
171
226
213
121
186
150
171
112
174
227
150
172
194
239
168
137
201
193
112
158
217
212
150
150
158
239
150
159
228
176
130
172
112
159
121
208
185
228
121
172
135
255
194
203
181
201
167
112
184
229
177
278
121
112
167
123
200
210
179
202
136
143
168
165
172
172
168
278
123
212
167
170
187
170
193
172
121
202
231
187
156
150
221
112
145
210
269
164
112
177
167
150
167
171
193
194
150
213
181
192
170
255
270
150
194
193
208
208
208
112
194
194
208
176
276
121
136
186
208
121
112
158
150
174
146
238
170
208
112
198
112
121
150
112
226
194
152
164
236
112
208
159
124
179
168
218
135
302
147
112
201
208
112
150
215
130
164
160
208
112
137
208
159
115
206
208
167
216
226
150
121
186
177
184
202
121
160
193
170
123
165
181
170
186
121
160
210
172
112
115
213
233
205
174
150
159
170
182
239
150
150
255
150
112
115
121
218
207
186
112
121
219
228
167
150
124
217
193
128
174
121
150
203
135
150
242
170
245
170
167
150
165
234
136
112
115
239
223
121
164
150
179
115
121
112
112
164
208
150
195
121
137
162
193
203
167
121
152
167
186
176
205
150
175
121
217
194
208
226
150
136
121
167
202
181
225
175
112
255
217
168
170
208
222
212
203
210
135
171
158
170
165
112
150
176
112
284
194
121
205
150
150
121
241
182
181
207
154
178
236
167
208
150
150
135
210
112
194
147
150
181
208
156
239
112
177
121
219
121
208
167
205
112
130
165
112
246
172
170
250
150
203
207
112
172
150
212
130
171
228
233
177
121
158
150
150
199
192
112
234
115
233
143
172
218
225
150
112
164
170
172
182
208
143
218
112
112
208
208
150
258
179
147
276
186
170
175
208
112
150
210
112
186
112
115
172
201
147
112
219
207
193
262
121
137
186
137
144
112
170
121
227
130
208
182
170
187
121
170
240
121
177
195
237
167
194
112
254
187
150
112
123
228
159
165
174
222
242
171
112
115
219
186
210
274
203
265
172
193
210
121
177
192
121
217
245
150
144
208
231
237
115
112
172
167
212
193
230
170
112
302
158
186
112
194
158
147
150
194
150
150
172
150
121
205
263
121
181
171
194
174
218
136
121
192
210
135
237
177
237
213
137
163
150
177
171
121
112
198
205
192
182
168
130
208
167
121
186
150
201
241
167
237
123
156
124
150
143
208
121
147
121
152
176
237
160
121
112
236
261
172
115
203
225
150
170
150
239
143
150
137
231
194
198
171
179
150
186
167
121
165
167
123
202
168
150
170
121
271
165
243
136
139
195
187
233
150
208
210
112
193
121
171
165
194
250
232
165
112
210
135
210
150
176
112
172
137
115
150
176
193
181
264
228
150
181
121
150
204
147
147
112
187
220
115
150
156
176
162
171
150
192
121
121
135
208
184
194
175
228
217
170
160
228
112
150
208
195
237
112
150
112
115
224
185
204
237
257
172
182
186
259
198
201
170
204
123
219
150
165
172
164
226
196
263
212
195
232
181
228
278
128
226
228
208
172
181
255
213
181
220
176
150
121
112
167
150
174
121
250
150
208
220
158
195
228
187
202
121
238
181
171
150
150
177
181
186
207
123
130
150
249
112
237
168
150
143
165
121
150
170
121
176
203
175
204
244
112
150
150
150
172
187
194
165
186
194
257
170
172
206
168
275
150
183
181
223
255
182
193
208
172
208
137
112
230
185
167
172
170
175
152
112
237
208
186
210
228
206
157
164
201
161
195
112
201
123
137
170
158
144
150
192
181
156
225
233
187
192
167
232
156
112
177
121
256
278
177
158
123
192
121
150
167
147
121
150
157
121
157
152
115
147
137
195
164
250
121
208
160
210
247
150
130
150
112
167
112
171
135
112
210
176
112
136
203
171
112
175
147
112
193
123
135
181
181
165
205
121
160
208
137
259
172
212
172
121
150
112
219
131
201
170
112
186
112
196
177
158
130
167
121
112
302
172
210
237
159
181
225
176
172
150
121
170
112
150
121
232
156
112
207
233
112
172
112
179
137
172
257
193
250
250
234
208
124
150
121
226
217
150
193
226
174
156
121
150
159
112
216
124
194
170
208
156
127
137
187
202
112
170
171
156
183
228
210
170
112
201
170
121
194
172
150
150
123
121
167
181
121
150
172
203
212
223
150
193
115
150
167
186
223
202
186
112
208
150
171
228
167
172
175
176
220
150
208
172
115
205
171
150
115
208
215
217
219
179
115
193
115
201
121
172
150
257
220
171
181
212
210
230
194
143
112
112
201
195
225
239
164
128
170
194
186
162
121
195
112
137
137
121
112
164
186
202
247
121
208
150
150
193
121
167
150
210
135
137
178
203
195
121
205
112
156
194
150
203
193
278
150
171
121
121
165
150
208
170
165
123
150
172
121
232
121
162
147
150
181
208
150
218
160
172
112
195
167
212
167
250
150
165
150
215
212
121
177
172
123
178
112
147
208
208
112
193
186
167
150
176
239
150
233
233
112
152
215
172
208
130
212
121
121
203
218
115
172
121
210
187
186
158
167
160
137
242
150
167
170
170
121
123
233
127
193
194
121
167
192
228
137
187
207
156
112
112
181
124
112
150
112
198
174
136
150
172
275
123
112
121
143
143
175
159
193
174
121
172
123
170
176
156
147
203
121
165
123
150
152
224
160
123
226
242
164
112
181
115
150
175
156
201
121
171
226
172
217
150
170
121
150
150
158
194
150
212
121
112
207
181
137
135
185
162
210
175
121
177
193
152
220
165
144
121
210
208
139
150
195
203
231
217
150
159
150
150
112
237
112
158
158
201
175
263
176
208
198
176
150
121
172
167
167
112
185
217
176
123
219
255
168
171
255
170
150
240
164
207
217
135
172
220
137
219
150
159
170
150
159
167
112
150
152
150
176
208
197
112
258
220
215
228
150
233
150
217
121
258
302
160
167
150
123
150
207
171
175
172
112
202
121
207
226
272
121
192
150
271
267
112
128
176
112
150
233
185
229
208
237
147
121
170
170
189
194
172
115
265
196
164
187
193
207
250
176
150
202
165
121
208
112
216
123
208
194
176
112
181
208
215
150
171
302
112
195
225
112
150
266
112
268
201
121
198
226
121
170
123
112
150
112
217
150
172
216
156
217
150
112
121
192
194
112
195
193
206
150
136
208
150
172
115
176
150
220
150
253
136
150
208
223
215
121
179
121
168
228
137
112
208
150
178
203
212
172
194
159
237
219
162
176
192
198
181
233
136
150
194
194
150
121
164
164
208
172
121
187
112
150
158
221
150
112
121
135
150
172
171
172
150
112
112
123
112
121
208
150
150
171
167
177
150
121
202
112
249
212
136
172
208
232
216
208
150
147
170
208
217
121
237
196
278
263
112
266
231
201
150
207
173
202
208
121
123
176
123
167
150
212
177
170
201
165
172
218
177
184
112
226
208
121
170
164
158
170
121
231
233
121
112
167
208
177
168
263
150
150
160
112
150
121
121
232
167
135
159
212
186
187
256
208
177
172
115
172
167
123
144
192
164
210
150
193
167
150
121
128
209
170
175
228
281
212
183
123
187
208
255
143
121
210
194
174
112
121
215
240
176
208
218
171
121
211
112
167
186
123
112
121
112
258
217
150
150
112
123
189
186
250
112
150
121
187
208
170
208
194
171
121
187
213
136
165
136
167
172
136
210
193
242
171
205
207
167
123
193
244
171
172
136
208
150
150
207
121
172
174
160
194
181
202
152
207
150
207
187
228
112
177
195
112
208
194
121
112
193
172
171
177
187
137
187
112
186
187
172
167
121
174
178
150
150
232
237
124
121
220
164
123
150
186
173
112
164
150
210
136
165
150
174
208
112
121
159
150
207
186
124
112
186
170
163
170
229
184
229
170
165
136
209
112
202
112
165
121
192
236
176
150
233
198
234
112
150
150
302
150
170
184
171
143
170
147
115
197
171
208
121
194
187
124
237
176
267
219
112
192
194
297
165
112
160
172
172
115
112
150
210
112
205
152
147
121
137
112
112
150
171
121
194
208
172
112
241
121
263
172
237
135
128
176
208
150
167
130
123
150
150
225
143
210
137
214
172
139
232
218
150
171
186
249
121
165
167
123
186
150
150
237
190
137
214
239
237
172
121
239
203
121
194
213
181
205
167
170
172
239
167
255
112
150
193
207
121
254
204
255
147
144
212
210
115
174
203
202
112
214
207
193
159
192
172
112
130
150
196
176
165
112
208
160
170
123
147
137
208
206
150
150
187
115
150
135
135
150
165
143
121
159
112
150
172
194
186
167
194
225
135
242
223
181
121
218
112
206
150
177
158
150
112
210
170
226
137
211
212
220
112
187
121
219
115
112
121
112
165
250
184
238
162
202
201
197
128
150
208
186
167
228
193
146
136
230
239
210
135
174
179
195
135
212
121
208
112
150
167
112
128
194
250
170
194
201
112
176
299
137
136
240
162
209
203
208
201
208
179
137
170
167
165
143
167
170
167
172
220
237
112
170
240
112
136
201
181
121
150
150
218
167
208
123
300
171
124
160
172
150
172
202
208
136
203
217
208
150
208
172
231
112
147
121
112
194
264
232
112
187
152
112
164
150
205
115
150
121
176
228
150
150
164
170
208
112
112
136
123
128
266
185
170
208
128
236
172
208
210
181
178
215
176
112
181
194
212
150
150
214
150
235
112
174
163
172
150
143
143
123
157
112
121
260
203
250
193
204
207
167
208
181
121
150
152
172
159
212
121
112
218
206
197
250
112
208
121
205
198
197
150
112
139
165
112
181
121
150
155
121
152
226
186
207
228
208
121
202
172
171
135
279
195
208
172
121
193
167
123
171
255
164
172
112
112
150
208
195
150
172
150
143
143
160
136
194
194
195
158
136
171
171
226
200
184
208
302
150
202
135
194
208
168
168
208
181
194
123
167
231
157
224
150
121
172
112
121
208
168
193
178
239
232
228
159
185
112
167
172
150
112
272
202
198
203
201
210
167
115
115
221
186
297
173
219
150
150
150
115
208
177
165
160
171
208
158
180
202
115
176
150
121
112
194
135
176
165
168
208
171
159
123
221
181
208
150
165
181
112
112
257
189
136
176
112
263
214
253
186
202
112
175
130
174
232
210
182
121
210
201
217
170
156
179
164
112
121
112
170
228
174
171
123
172
158
112
150
135
237
241
150
220
150
172
237
136
165
150
150
172
123
163
194
175
167
124
115
168
187
112
237
265
201
250
136
231
150
192
240
217
150
233
237
167
203
115
137
176
187
172
217
172
128
209
136
193
208
212
192
196
121
150
112
162
167
160
165
112
201
171
121
172
172
157
150
172
112
152
112
202
202
194
167
208
212
170
226
208
203
165
171
121
150
136
121
237
165
255
233
205
182
150
176
159
112
112
220
255
194
150
202
128
156
165
201
195
217
170
208
112
170
136
201
123
158
193
121
215
136
137
137
176
150
137
217
193
193
194
135
208
121
152
208
205
121
121
171
112
208
121
194
128
222
160
259
237
150
174
223
137
186
278
150
241
112
193
112
112
167
112
176
207
130
208
150
112
205
181
112
159
267
112
170
161
170
232
190
150
208
161
179
150
160
218
123
253
250
228
192
121
297
137
201
217
158
202
150
150
210
137
186
153
174
135
172
150
136
186
172
112
187
112
170
136
179
172
195
167
216
176
112
150
273
205
156
150
177
121
176
171
112
130
172
115
172
237
263
192
112
112
112
172
182
181
212
186
243
165
220
191
158
228
304
150
219
171
112
208
214
259
212
121
115
192
158
176
112
150
244
115
150
177
121
167
130
150
123
175
121
143
160
208
123
228
112
205
214
171
112
238
163
231
174
176
219
231
112
112
208
203
181
210
231
170
255
172
124
128
170
208
168
172
195
143
112
176
150
123
146
112
240
202
208
112
150
185
237
208
121
167
121
150
150
150
135
123
201
183
165
172
255
208
210
255
171
167
168
112
176
168
192
150
194
165
121
165
186
112
167
164
171
147
208
112
156
164
137
112
167
121
208
152
150
123
112
190
150
167
128
112
150
121
226
208
170
152
150
112
136
152
203
172
112
207
195
150
137
136
187
172
186
123
208
150
167
170
167
150
220
152
135
136
167
171
115
242
208
112
193
121
150
202
112
164
215
144
171
167
167
147
201
157
143
172
136
193
136
123
182
171
202
272
121
167
121
234
184
150
172
179
159
147
112
158
135
186
121
170
297
225
236
237
195
276
170
150
186
189
176
150
190
226
181
150
174
219
150
150
208
136
206
193
167
121
167
189
172
228
164
218
121
208
179
150
197
186
115
150
167
173
205
189
150
212
150
238
150
121
217
208
150
267
170
121
115
186
167
165
172
150
176
136
178
156
200
150
175
236
121
198
112
205
112
201
128
176
222
250
212
167
192
213
208
115
187
121
165
121
181
205
123
150
226
255
236
123
157
112
238
184
202
150
150
191
121
216
210
152
121
302
176
213
203
121
136
121
184
177
112
195
170
172
121
121
214
137
181
196
121
238
265
156
112
237
208
135
177
150
159
158
177
168
208
276
219
150
112
214
123
210
150
170
167
121
201
164
112
112
194
121
160
170
150
233
158
258
226
112
121
112
137
193
281
186
230
212
150
207
143
135
121
150
135
115
150
208
181
208
250
150
210
210
121
237
208
112
203
150
193
202
172
121
195
165
219
112
170
186
150
112
150
220
205
112
212
174
170
147
147
239
172
121
176
112
195
121
237
231
228
115
232
150
112
158
167
112
205
181
152
112
170
202
189
228
210
181
123
167
172
186
167
209
278
158
229
208
174
171
194
172
207
121
123
191
176
168
170
112
197
150
121
217
159
150
232
136
193
121
172
124
241
135
233
112
172
158
195
170
112
121
182
112
171
150
137
150
167
121
223
150
160
170
144
171
229
212
150
150
150
150
150
219
165
170
240
112
112
193
278
167
203
150
123
136
171
167
233
135
170
170
181
208
225
176
181
174
150
121
228
208
150
165
170
231
172
115
150
208
112
159
186
112
121
218
181
172
162
239
170
239
171
135
167
228
121
124
172
112
195
195
176
211
176
228
181
112
196
220
112
147
249
121
164
168
210
192
208
220
112
237
195
112
112
123
128
196
150
150
115
158
235
160
218
121
176
112
159
121
150
202
176
121
217
163
150
209
220
115
210
150
112
121
299
121
176
130
150
158
210
181
121
216
205
112
150
172
171
203
170
167
136
195
147
253
168
150
201
217
161
121
112
150
115
158
123
176
228
112
137
258
231
255
172
150
156
171
243
187
123
218
112
150
278
164
274
112
181
171
179
230
112
153
210
192
208
192
112
157
170
150
130
170
208
187
218
150
160
150
206
226
255
172
121
112
157
278
228
212
165
226
181
150
228
174
112
187
162
181
167
170
214
121
172
144
181
186
170
156
135
186
112
112
150
121
124
187
150
150
181
112
192
208
164
172
137
186
234
123
170
195
195
135
136
167
112
192
212
232
121
121
202
115
213
286
212
112
150
150
123
239
115
240
159
236
208
212
150
115
165
253
160
150
167
186
170
171
168
156
137
171
226
205
172
250
150
170
208
194
135
208
172
237
165
195
177
197
232
112
214
221
194
121
193
186
112
115
202
170
121
208
170
210
112
217
167
208
112
212
192
124
112
171
232
135
208
124
208
150
187
207
174
237
178
150
112
202
164
137
165
112
175
177
236
187
279
112
130
212
167
121
178
172
201
229
202
226
112
233
302
150
202
202
150
208
150
168
150
208
202
112
228
278
208
246
112
255
207
137
112
234
150
172
150
167
168
150
238
172
208
121
240
150
205
150
112
150
171
121
112
150
205
124
152
239
112
189
124
159
174
112
112
144
247
177
181
158
121
112
172
150
255
112
172
194
150
165
229
208
169
226
150
150
158
212
128
164
121
201
152
150
263
172
123
136
121
112
167
212
200
150
187
255
193
147
171
124
228
115
187
124
172
112
164
123
147
208
150
121
192
147
208
112
121
167
130
152
164
218
115
165
265
167
168
263
167
226
198
179
172
112
112
210
165
112
167
235
196
237
170
165
176
172
215
172
176
194
212
255
212
171
177
128
179
247
135
167
170
165
170
150
201
172
194
208
196
147
174
165
146
171
145
165
231
220
229
214
136
160
150
181
121
210
150
147
225
239
209
170
257
240
160
250
137
150
179
189
150
147
121
170
137
233
167
186
150
171
265
144
162
184
147
208
150
218
150
186
231
208
210
212
112
225
194
150
237
165
202
135
172
121
231
208
174
156
172
167
184
238
232
175
212
156
150
150
147
112
208
196
165
150
172
278
172
150
132
149
164
217
225
171
194
254
219
112
172
123
177
284
157
158
156
183
121
150
121
172
150
201
150
137
202
150
121
200
150
121
202
216
150
208
136
121
231
172
150
150
171
157
186
112
237
196
167
112
172
150
247
250
112
269
187
112
212
177
167
184
210
121
159
194
176
205
121
177
238
150
223
150
236
193
193
189
186
234
112
137
227
112
181
150
176
219
200
212
172
188
202
112
115
187
170
112
228
263
167
237
192
210
212
121
172
214
201
205
150
112
121
186
167
177
112
236
177
208
240
167
112
167
176
230
162
217
121
196
150
171
121
150
157
156
121
219
171
121
231
150
187
231
124
186
160
172
121
112
181
121
121
152
176
228
192
243
130
135
139
150
281
172
177
194
179
159
208
150
121
241
194
167
231
121
163
121
144
150
121
170
112
112
208
215
150
112
205
128
115
112
250
156
150
171
121
146
170
159
171
208
184
150
150
164
168
112
167
159
150
121
121
158
170
171
193
115
187
121
164
249
160
193
172
189
245
157
202
177
150
121
232
115
167
112
170
150
150
145
112
250
150
112
176
206
172
212
158
112
216
189
195
150
172
136
150
204
157
124
170
218
137
170
241
115
210
208
231
112
112
194
121
302
123
165
265
175
112
247
228
187
174
186
244
226
172
112
231
150
137
112
194
121
150
209
150
172
135
201
237
168
115
170
229
121
121
194
121
204
150
234
231
213
208
121
174
152
150
150
115
239
208
150
181
115
124
203
150
208
128
150
210
112
152
186
150
235
160
123
172
165
302
167
228
128
167
208
112
203
147
158
172
195
208
218
112
271
208
167
112
208
205
150
208
115
135
177
123
240
159
143
124
186
184
212
245
176
112
237
210
195
190
150
112
136
219
208
172
246
194
231
224
181
181
201
150
170
184
190
171
121
210
208
123
195
150
171
228
194
205
210
172
217
136
112
150
174
193
112
121
112
200
150
215
121
202
228
172
176
228
202
181
176
167
136
210
147
150
203
121
167
112
172
210
121
136
135
171
112
150
228
121
123
174
178
121
176
170
167
208
112
123
150
112
150
205
112
165
195
259
152
184
237
214
150
183
150
175
112
147
176
176
165
220
182
207
112
176
172
208
115
172
205
150
165
229
112
239
164
216
167
212
176
203
112
176
193
255
213
228
178
150
121
172
194
150
123
208
244
121
208
150
150
121
240
201
237
121
153
158
206
158
167
147
121
208
171
198
156
167
215
230
177
197
121
208
167
130
165
172
178
152
171
231
187
234
208
228
193
193
208
193
218
208
139
281
250
172
130
137
172
236
150
112
172
128
172
238
121
167
215
121
137
112
218
250
212
150
186
209
135
115
156
112
201
181
192
135
181
157
112
150
115
215
246
167
121
147
150
239
136
181
121
172
181
121
112
256
135
208
237
212
121
176
112
209
115
123
186
167
185
194
196
205
172
150
172
147
150
181
131
112
152
208
190
115
171
112
174
135
121
217
150
144
178
237
170
158
170
179
225
150
170
150
208
150
208
112
160
112
150
174
237
204
226
112
240
268
112
150
232
164
135
205
219
112
121
112
112
112
203
112
193
161
165
257
170
150
137
205
175
112
124
115
150
181
167
170
150
270
165
157
172
235
150
208
187
208
182
158
150
123
115
167
156
219
152
121
170
167
115
121
112
181
121
121
150
205
207
170
150
172
230
208
112
137
165
172
137
205
112
150
208
165
147
123
228
186
135
112
112
213
147
112
121
209
150
150
231
186
176
144
182
164
150
212
233
112
121
187
200
194
115
228
172
232
225
186
212
210
208
123
210
136
234
208
172
187
172
207
150
177
170
167
205
220
208
193
172
208
186
210
310
112
112
135
255
208
121
172
112
231
239
158
167
181
181
121
150
194
112
183
150
228
167
202
150
121
150
165
121
208
121
152
298
224
123
208
215
121
221
152
171
202
165
208
232
235
208
235
228
204
195
201
168
121
150
233
137
168
167
184
208
229
214
230
121
192
121
135
200
235
228
187
136
135
144
150
171
121
201
228
192
255
232
243
217
150
243
136
123
112
167
112
112
121
123
150
201
150
212
255
299
152
150
172
240
173
123
187
121
112
203
212
187
158
208
171
206
136
112
208
213
112
231
254
266
150
150
181
229
168
115
112
150
196
225
150
147
203
186
121
168
208
192
204
207
165
177
112
150
137
150
228
136
171
165
181
150
228
150
160
144
137
255
150
203
170
123
240
243
228
121
137
121
143
156
177
128
112
192
226
141
172
208
131
115
128
172
124
165
216
112
123
121
123
150
112
121
259
112
210
167
152
150
171
164
150
164
150
237
150
227
112
208
179
167
165
171
123
208
157
150
201
212
174
187
208
172
209
229
112
228
112
207
187
228
186
195
208
208
112
195
112
212
167
123
150
181
172
206
152
170
167
121
212
208
167
175
179
172
181
186
124
121
230
237
206
167
208
219
150
216
186
171
176
205
172
263
115
200
250
150
112
179
177
112
112
276
170
194
181
181
281
179
197
195
150
135
219
208
112
150
150
207
123
150
215
172
258
170
208
170
298
152
181
121
218
170
218
145
150
205
212
228
217
121
150
112
115
123
212
150
208
218
112
172
168
229
121
232
228
170
112
164
239
166
150
172
158
192
208
209
112
228
208
193
208
239
225
177
167
167
112
121
147
176
121
184
195
194
115
202
228
157
172
302
136
124
239
181
172
150
177
186
150
150
190
123
150
206
181
121
165
193
159
208
174
181
208
177
170
209
121
112
176
171
208
184
177
121
229
174
121
150
121
123
187
229
128
172
233
206
150
112
123
226
194
208
174
171
235
238
186
219
176
237
193
225
176
167
167
135
231
181
128
170
208
170
189
228
135
128
181
123
121
187
208
210
167
121
175
187
112
257
179
158
159
112
208
115
112
236
190
167
165
186
177
208
196
123
215
181
168
264
176
208
165
208
202
194
228
171
186
112
193
201
218
212
112
112
167
150
150
123
208
284
159
150
187
176
158
112
121
218
172
112
201
192
112
170
172
135
176
165
121
165
153
201
124
297
150
130
115
215
137
172
260
112
123
228
170
250
172
121
181
112
130
172
112
167
112
255
187
150
167
176
208
172
194
152
150
135
136
130
137
147
112
174
150
219
167
170
112
163
165
156
150
170
214
178
172
251
172
297
255
150
156
170
167
212
186
112
167
172
172
165
178
115
192
250
196
189
215
162
112
203
176
220
121
121
171
121
112
206
147
209
233
167
150
223
205
207
189
200
172
112
181
167
194
182
214
123
195
121
171
112
170
240
150
150
172
150
205
208
172
123
195
150
144
130
177
150
167
124
202
150
152
112
198
150
208
175
112
172
210
244
195
121
152
208
210
201
276
167
164
167
226
112
212
134
174
150
208
150
208
189
194
228
137
121
299
250
152
150
253
144
167
150
190
112
192
198
170
165
124
150
123
150
208
217
136
112
121
192
157
302
209
112
135
187
203
194
121
239
167
112
208
217
228
172
170
243
115
202
172
112
124
210
179
186
208
302
144
172
227
170
174
121
195
228
207
208
233
194
187
150
172
194
195
225
174
172
150
136
121
121
121
167
229
167
224
115
181
173
201
150
200
150
139
201
225
171
198
170
136
212
158
162
172
198
210
212
193
112
143
233
112
167
182
187
193
158
216
212
150
112
239
121
152
290
123
158
150
210
112
112
228
171
231
150
174
210
121
262
158
193
112
121
170
121
135
121
112
135
172
201
121
215
214
181
170
165
209
167
112
158
174
150
238
123
170
193
171
194
201
112
150
112
208
229
208
171
219
150
167
150
208
171
170
156
160
168
167
192
226
150
218
176
164
150
121
136
170
124
150
208
112
245
156
209
205
121
195
121
194
226
150
167
115
171
150
176
121
194
168
112
150
220
168
121
216
241
130
201
203
174
237
124
121
194
123
137
220
161
167
215
167
112
171
225
112
172
121
192
205
128
172
165
131
150
159
272
150
217
171
121
112
112
152
170
165
112
112
150
228
172
112
214
283
228
199
193
150
208
171
150
170
167
219
112
168
171
177
225
194
147
160
152
112
230
171
193
147
157
255
208
164
112
112
228
121
216
201
172
121
112
156
165
150
205
152
130
208
178
152
172
167
161
226
167
172
121
156
194
210
181
186
112
181
210
137
130
181
115
256
167
193
150
135
257
112
228
121
208
174
112
212
206
124
112
231
181
121
174
170
270
172
176
159
208
176
112
265
196
164
170
150
112
181
172
228
165
135
220
174
158
121
172
210
167
168
175
112
112
146
121
179
226
171
276
193
167
194
130
165
177
240
167
144
170
174
202
135
123
112
150
135
239
115
150
123
208
202
150
121
219
135
150
168
233
176
171
121
172
208
181
220
225
112
150
171
130
170
170
228
137
136
150
174
194
236
112
179
150
137
121
196
121
194
208
167
174
177
194
112
147
150
112
121
172
186
112
172
167
112
229
176
178
208
170
150
184
208
194
150
238
227
208
172
112
121
150
167
245
208
112
121
150
217
112
239
277
171
172
121
231
115
121
171
237
165
218
152
181
219
187
123
185
150
157
176
174
203
181
189
136
137
250
164
219
121
181
207
228
243
150
164
135
150
212
193
112
170
112
215
112
170
255
150
186
172
164
150
167
167
170
170
189
150
171
172
208
260
186
174
167
150
115
225
150
213
267
226
159
194
187
150
147
167
192
212
167
150
150
171
160
172
208
150
170
231
150
123
165
150
150
170
172
175
211
186
194
195
218
150
171
121
167
112
171
212
159
237
195
156
164
193
208
228
132
112
208
167
225
172
187
159
208
170
150
186
187
121
150
194
194
121
176
150
193
121
158
215
231
195
115
167
176
112
112
112
194
150
136
176
196
168
186
209
112
250
150
137
170
195
150
123
194
196
203
218
174
175
172
195
192
150
121
112
167
228
210
121
150
193
197
176
223
121
135
121
135
158
232
211
186
143
184
156
278
172
171
112
214
194
150
246
115
112
194
143
238
147
254
136
179
223
170
263
239
208
145
172
217
181
150
112
164
194
123
115
112
208
176
136
123
250
112
230
124
167
112
194
150
158
196
181
150
121
176
172
150
172
160
208
177
112
150
212
121
172
171
203
202
202
165
187
167
184
150
136
112
255
172
248
208
228
150
112
217
255
204
165
172
167
121
121
170
219
201
147
243
181
240
121
243
131
202
205
147
112
195
112
135
150
130
143
187
204
150
167
135
143
112
158
112
121
121
112
201
121
199
123
196
176
207
186
172
186
170
150
198
258
112
121
211
170
224
176
220
121
167
121
112
186
144
208
124
226
135
263
157
170
121
233
187
150
144
167
208
150
112
112
208
165
176
196
208
121
121
168
170
147
164
115
124
172
208
225
150
121
208
172
112
194
158
112
243
228
170
171
165
150
121
121
121
112
240
314
208
210
210
150
172
131
147
208
112
195
257
195
181
194
112
205
197
219
228
193
143
131
242
190
144
204
228
177
150
167
160
199
170
147
167
204
121
179
202
218
123
239
167
208
170
194
167
121
201
207
171
112
171
210
202
121
302
225
168
203
147
237
141
194
217
171
150
175
175
210
165
160
193
258
208
171
115
258
112
272
170
167
238
229
121
150
167
158
187
208
280
121
112
192
170
124
147
123
112
171
112
156
143
121
197
170
201
167
185
170
243
112
136
137
167
150
150
147
194
170
130
170
176
195
216
123
121
112
195
170
194
123
172
231
165
208
243
181
208
150
233
170
182
121
219
171
246
121
232
150
260
244
172
137
152
123
115
171
112
255
172
176
208
168
250
112
112
167
211
112
135
228
150
212
228
121
201
165
143
250
207
170
276
194
156
205
207
150
210
112
165
187
112
182
112
150
150
194
181
150
165
254
150
186
136
130
136
150
179
250
121
208
236
167
172
168
165
181
208
121
150
228
201
250
132
121
150
206
170
168
228
121
195
181
167
181
220
226
112
158
196
150
150
112
135
112
167
123
112
172
121
150
150
152
121
123
176
243
187
239
112
208
202
150
175
167
150
172
115
228
185
150
150
112
174
160
211
150
159
207
194
112
193
278
150
156
240
234
222
217
171
177
112
150
121
112
150
203
208
196
217
201
226
264
167
158
150
130
121
170
302
171
186
112
168
203
170
208
112
150
112
276
181
164
170
150
194
301
147
194
203
135
237
152
112
184
172
152
226
150
257
194
172
121
201
184
170
150
164
193
219
112
150
193
112
150
172
212
244
137
121
123
208
112
178
123
176
150
165
112
147
158
167
217
218
112
218
135
179
115
234
115
186
172
158
150
168
161
170
167
136
171
150
112
220
170
203
160
123
203
112
147
147
137
167
158
150
203
243
112
178
212
170
243
167
279
194
186
236
150
243
208
225
123
174
186
150
112
177
199
112
201
112
112
202
123
121
219
165
237
150
176
170
112
213
237
208
208
164
159
220
121
176
231
160
215
195
171
194
150
187
209
216
176
124
167
170
208
121
234
181
231
157
170
165
255
150
150
193
165
115
115
132
182
121
112
172
150
215
168
121
150
216
147
184
121
121
172
242
112
167
233
128
172
150
150
137
210
193
217
112
112
167
112
179
174
201
150
123
284
167
112
112
112
255
159
247
210
186
144
130
112
123
197
250
150
150
181
147
150
137
159
172
275
112
172
121
167
112
150
121
193
150
250
143
121
219
150
220
243
203
216
172
208
150
156
150
193
172
123
203
137
121
136
158
136
112
184
112
121
112
150
228
257
181
230
121
172
263
172
202
135
150
150
121
177
194
228
187
130
150
150
207
175
150
112
278
207
238
167
145
124
136
167
228
147
210
208
176
219
150
112
213
167
218
181
172
181
154
221
123
115
156
153
121
202
175
168
172
136
112
167
167
176
172
112
220
158
194
208
195
208
121
211
172
171
212
150
171
145
121
112
175
160
121
263
228
150
159
178
217
194
253
177
250
158
130
276
165
112
150
167
210
170
112
194
208
112
217
167
136
112
150
123
172
186
147
196
198
172
121
150
171
208
121
150
207
210
121
176
172
167
150
135
192
170
150
208
121
150
250
219
181
170
216
121
135
299
220
112
121
191
205
167
136
112
136
230
214
112
121
150
232
219
135
150
150
217
186
193
201
186
237
208
201
150
150
208
187
128
201
171
150
121
272
208
181
192
194
123
203
176
150
115
215
288
146
187
228
176
187
167
239
228
136
176
150
201
173
208
193
190
185
181
112
229
195
121
170
158
171
228
123
204
165
150
218
172
228
175
170
123
150
164
159
171
207
112
115
146
195
170
225
175
302
171
128
150
156
210
226
165
189
194
219
150
208
152
211
112
123
112
121
112
121
165
173
150
112
249
223
226
228
175
112
174
149
194
216
172
215
150
176
195
164
158
186
228
185
112
170
112
150
121
172
181
195
202
150
232
150
137
208
217
112
170
156
203
188
150
190
150
121
128
208
165
123
169
121
147
220
217
192
257
208
130
210
150
199
147
121
194
202
145
150
208
194
121
158
181
201
227
194
150
227
202
150
198
150
163
121
238
176
239
237
214
186
123
165
195
212
150
150
150
233
172
171
237
112
253
170
137
112
150
212
165
121
229
208
193
112
167
112
112
112
176
193
193
212
150
195
121
112
147
165
121
134
150
150
202
165
202
302
193
172
112
115
250
171
187
150
172
112
112
147
208
176
145
186
207
194
237
204
150
115
187
158
167
121
184
124
228
146
167
170
208
228
195
220
195
170
176
165
171
276
172
210
143
150
208
239
150
239
239
181
256
214
147
171
135
152
112
165
231
181
195
115
171
121
267
208
242
181
190
150
223
112
215
302
167
212
112
176
205
123
178
112
171
158
242
202
121
136
217
194
121
158
112
150
177
170
179
204
187
162
231
228
167
239
164
121
225
226
150
232
177
179
255
112
159
194
112
147
121
212
121
207
165
170
150
137
150
165
150
225
176
186
128
170
130
240
121
176
174
165
219
266
150
147
208
175
112
168
237
234
150
179
135
150
212
156
168
162
177
157
178
250
135
147
201
177
194
208
212
172
195
179
112
218
115
195
146
168
172
121
132
150
195
206
237
159
152
135
218
121
112
172
121
172
112
147
177
226
112
123
172
201
112
171
226
172
208
228
150
121
121
150
172
135
112
112
189
112
176
175
112
206
208
168
176
121
172
159
220
194
150
193
208
237
208
150
228
207
121
168
208
158
136
195
181
233
236
231
241
302
150
112
201
121
123
156
237
194
192
171
224
121
121
172
219
202
181
219
228
167
170
112
186
112
176
150
130
170
193
172
184
219
135
167
170
115
121
171
164
121
121
212
112
159
112
175
112
208
194
208
150
170
112
181
165
150
156
205
232
167
194
150
176
176
112
193
176
112
176
201
135
197
150
218
112
187
121
167
158
195
172
112
167
203
164
150
150
121
112
150
217
203
250
240
171
208
208
112
194
152
121
193
186
112
181
112
121
208
202
150
156
241
150
187
186
136
213
172
281
112
170
236
219
123
150
193
171
121
208
172
195
203
158
150
112
216
167
121
158
219
158
115
121
172
137
203
199
171
135
112
171
219
170
207
194
147
135
194
231
181
123
249
150
167
208
121
121
150
172
170
254
302
226
170
150
165
208
171
112
112
170
171
156
242
150
192
170
112
226
121
170
172
182
176
144
167
150
202
112
170
150
202
179
186
253
150
171
212
178
121
139
150
225
172
195
115
210
239
240
172
112
193
164
121
123
123
171
186
124
211
202
186
196
194
243
212
194
219
150
150
177
239
257
121
194
175
121
184
112
121
112
193
135
194
159
194
161
179
150
130
152
292
150
181
192
185
156
150
243
115
208
187
121
121
136
174
209
208
159
172
208
172
147
156
143
167
200
208
158
175
234
257
228
208
287
164
165
180
237
150
150
121
167
218
208
187
136
259
305
136
158
219
160
112
170
181
112
184
172
214
194
112
123
112
208
136
208
171
150
128
210
150
219
174
228
208
150
112
172
170
217
121
112
208
121
186
276
121
208
193
219
172
136
201
207
176
165
189
178
176
172
128
139
208
193
150
150
159
208
230
181
115
219
150
112
182
253
167
150
165
112
202
146
112
136
168
150
123
128
259
194
150
187
164
115
121
220
184
195
202
208
176
181
164
176
200
112
150
253
160
187
135
167
228
194
253
174
176
112
207
210
159
181
171
243
208
112
164
172
195
112
186
112
174
121
131
210
150
121
217
219
121
194
164
172
202
210
172
172
171
121
205
171
203
121
136
233
228
156
159
167
161
194
175
236
265
198
244
170
152
167
150
150
112
112
176
121
121
186
228
228
137
221
177
150
146
147
150
181
239
239
215
176
194
112
156
208
208
165
165
195
121
150
167
177
171
213
112
121
167
147
112
196
228
123
202
167
112
136
254
214
112
194
123
278
171
165
253
172
194
255
227
112
226
201
171
219
181
112
174
201
150
208
167
112
121
121
172
243
182
207
194
167
136
160
167
112
112
212
205
265
121
181
121
112
121
170
121
226
208
165
183
170
159
112
167
168
124
186
215
121
208
170
179
135
219
112
161
217
112
210
227
241
159
150
150
150
112
165
239
164
121
147
112
193
171
212
194
158
205
171
135
214
176
203
216
208
172
112
170
121
228
115
152
176
187
201
150
172
236
150
121
203
121
186
172
185
229
150
187
217
212
176
201
176
220
223
112
212
204
208
228
167
165
150
194
167
150
150
121
112
181
243
112
170
121
121
150
208
167
211
167
201
176
255
184
165
186
150
208
174
170
239
171
137
147
181
168
150
150
172
208
150
112
194
171
152
112
150
194
172
172
231
184
150
121
123
258
208
208
160
228
112
256
121
165
186
171
112
112
208
202
158
164
193
212
213
170
150
150
206
208
150
170
152
208
265
170
231
121
150
121
176
136
172
208
112
164
128
194
208
172
193
121
186
170
205
150
146
112
150
158
167
143
121
121
172
176
150
172
177
194
150
178
150
195
115
150
176
165
160
156
168
112
171
210
136
206
238
220
170
145
238
172
264
173
199
112
164
205
218
112
150
175
124
136
208
150
170
167
157
201
170
150
150
208
112
121
150
187
195
150
297
150
195
202
121
193
279
192
172
115
150
210
194
123
164
208
150
121
181
174
168
143
121
194
150
150
172
172
226
123
150
150
195
254
112
137
207
208
213
112
220
112
190
226
112
152
208
192
150
172
193
123
121
182
186
112
130
302
208
172
112
193
172
181
150
115
150
189
236
159
150
204
228
242
130
172
165
172
231
171
150
215
176
187
178
112
179
170
202
171
150
170
172
112
150
112
112
237
237
121
112
112
161
170
165
168
193
121
268
220
170
152
121
150
212
156
150
242
112
152
172
172
121
171
150
112
192
186
194
239
234
165
194
208
208
150
197
230
210
171
255
239
208
208
203
194
121
193
112
112
150
164
112
121
167
172
158
196
135
136
208
112
171
170
167
150
152
177
205
135
121
266
168
160
164
150
170
201
217
237
228
112
150
137
121
194
197
212
150
121
171
177
147
187
150
170
175
243
112
170
208
196
121
279
123
115
176
214
115
208
156
192
150
159
187
168
183
112
171
137
239
112
209
121
181
235
155
272
170
115
253
172
182
112
112
121
170
112
150
181
112
177
121
174
112
136
208
198
150
152
179
164
208
203
112
167
150
173
187
167
115
150
243
172
137
167
259
172
150
218
172
167
226
194
123
202
160
208
159
194
150
159
220
243
250
193
204
236
112
210
194
150
202
205
208
112
144
198
223
124
159
187
150
194
276
137
150
170
208
171
112
150
150
150
121
220
205
159
167
150
210
150
171
175
150
171
210
215
181
187
172
121
172
112
207
181
238
150
210
193
152
165
147
181
172
121
121
175
255
150
150
230
171
172
123
194
195
228
186
193
164
240
164
170
121
150
231
208
187
181
178
167
250
195
112
124
193
207
208
150
150
121
176
187
152
112
147
150
171
124
217
232
172
123
171
217
175
112
170
177
171
167
112
112
195
203
121
302
174
112
186
184
167
177
150
170
181
164
150
189
130
178
121
112
232
150
172
121
112
123
172
170
193
112
172
139
181
143
131
150
158
150
112
176
187
208
218
150
176
112
112
171
178
214
150
159
150
121
121
210
175
182
176
135
167
172
172
150
171
208
147
150
188
115
156
150
172
255
171
202
135
178
174
170
212
156
112
112
150
263
171
195
156
171
208
202
230
215
194
150
167
150
121
186
172
170
112
136
121
150
247
181
136
136
150
229
135
171
112
208
193
150
210
121
152
176
172
216
210
170
158
195
208
112
178
265
121
255
135
263
152
208
123
121
152
135
208
121
150
189
249
112
187
201
176
167
150
181
181
159
189
170
210
206
194
150
177
147
115
243
150
150
121
229
176
202
150
121
206
203
210
158
215
136
198
112
165
135
176
150
250
181
259
158
121
124
211
235
170
170
238
194
177
220
121
226
186
172
177
176
228
186
195
165
167
203
176
121
161
181
167
240
121
161
171
231
112
173
228
172
186
228
121
205
135
150
239
195
124
172
172
192
181
130
121
271
193
208
112
147
150
192
167
167
257
208
150
167
205
175
208
165
228
189
112
208
219
177
170
181
167
213
150
208
121
210
112
172
150
172
208
208
112
121
193
232
172
226
150
112
176
218
112
124
170
212
195
150
124
189
121
123
164
193
112
164
112
167
181
150
112
170
112
190
160
167
164
212
270
150
150
232
230
150
150
242
229
112
112
228
205
112
225
150
213
184
176
123
167
172
217
215
208
112
123
137
150
201
182
171
136
135
231
194
250
181
177
172
121
255
123
165
160
192
150
210
112
147
150
176
135
112
237
159
112
165
172
176
172
143
208
179
208
150
194
208
207
210
195
171
215
194
121
204
115
150
181
228
186
139
195
163
195
256
121
150
128
170
212
214
186
121
156
136
147
212
195
173
150
128
112
121
208
165
176
112
150
123
150
150
170
255
193
181
194
150
150
124
150
112
150
150
136
121
150
231
187
121
181
170
123
176
158
182
187
225
186
150
112
186
223
172
150
150
213
207
198
172
346
278
215
167
250
256
112
171
181
150
202
170
121
208
164
178
121
208
136
171
115
230
168
208
171
156
165
137
121
257
208
208
121
150
230
178
208
121
112
150
112
150
150
160
158
112
172
200
216
171
121
222
121
171
194
112
164
225
172
137
176
161
112
167
186
250
158
167
112
208
202
302
172
150
121
121
203
194
150
144
158
121
203
187
216
136
208
171
167
150
164
192
147
212
137
112
175
115
150
228
112
135
181
112
164
150
204
233
208
208
170
150
195
121
156
121
112
176
170
349
121
112
112
175
187
158
164
289
192
171
193
150
123
202
202
218
121
167
217
172
143
150
211
150
150
121
194
167
250
150
112
194
167
167
210
195
172
150
231
123
121
112
237
231
115
238
227
172
167
150
194
121
208
150
241
176
170
121
278
112
239
150
186
150
123
179
115
157
150
186
208
150
150
121
170
158
170
112
170
115
159
121
161
167
160
165
229
170
139
137
167
176
223
184
112
187
112
207
136
112
194
187
172
208
218
186
176
208
150
135
158
112
164
112
112
203
167
158
150
220
208
143
112
263
150
186
170
150
172
203
130
172
167
171
147
165
195
150
207
176
170
150
123
150
121
112
135
237
112
150
209
208
159
135
112
160
112
186
192
196
150
112
237
201
175
208
229
187
112
112
170
164
124
150
212
112
170
121
201
150
220
186
198
192
223
150
150
137
204
171
139
226
186
121
147
208
195
172
206
208
150
207
239
150
176
158
115
225
150
194
276
171
121
195
172
219
210
121
244
203
112
135
136
195
112
263
167
205
208
181
167
150
203
176
112
239
157
172
192
175
278
202
150
165
208
150
195
237
168
220
205
225
202
159
164
150
223
202
208
121
147
171
147
150
172
194
112
229
150
194
193
124
212
233
210
112
124
208
207
176
214
167
135
171
112
156
190
112
172
121
260
244
190
170
123
136
192
179
158
165
121
150
192
212
192
208
121
124
212
112
170
212
208
244
150
159
237
186
112
208
150
159
188
181
176
121
210
177
177
194
128
231
170
186
220
208
195
219
112
181
150
222
150
193
196
242
165
150
165
161
124
112
211
233
137
112
150
165
230
193
208
201
176
147
121
150
214
255
115
150
112
121
208
257
186
208
112
208
219
208
170
172
181
170
217
121
199
209
284
194
250
164
229
158
112
186
302
150
177
239
226
172
192
172
112
195
224
228
156
112
209
186
174
115
130
181
200
172
135
176
181
150
208
181
205
218
112
208
195
143
115
194
121
228
203
112
210
231
112
121
167
158
165
187
112
172
176
186
165
203
212
181
205
187
237
147
220
208
170
203
171
210
121
208
167
208
144
112
175
211
200
170
167
176
121
170
219
174
123
160
150
170
185
167
147
121
150
150
176
156
205
112
174
203
112
172
136
112
115
136
150
150
165
228
179
135
263
121
227
123
112
112
174
190
238
196
195
201
201
179
150
293
216
258
170
150
229
208
168
170
121
112
254
267
175
236
195
176
128
167
167
167
121
181
159
152
187
172
150
219
176
150
170
150
231
123
195
186
172
112
250
171
123
194
159
234
170
194
160
208
128
121
177
282
121
239
135
208
174
158
121
137
193
137
172
201
136
302
150
186
167
202
150
150
135
236
208
172
174
150
123
210
228
150
165
205
121
203
181
171
150
112
182
208
208
164
195
242
170
150
130
255
270
167
210
181
174
135
270
176
194
255
225
174
171
112
172
170
222
170
171
211
208
123
150
219
189
150
170
164
237
165
170
121
176
187
112
112
171
208
137
172
220
121
152
115
231
209
194
207
194
159
160
208
205
176
226
137
112
210
179
137
150
207
216
167
201
250
181
160
161
150
172
136
170
121
200
194
192
123
263
228
297
302
276
150
123
167
150
164
165
172
121
112
150
170
150
208
236
150
171
210
208
208
121
172
165
208
210
167
150
136
172
167
172
146
235
150
158
152
202
195
150
121
244
121
171
179
150
204
136
216
208
181
186
112
239
171
226
115
257
178
150
208
170
237
207
162
112
121
150
167
121
165
229
164
115
175
205
170
233
228
171
152
196
123
121
215
174
232
210
170
228
164
150
210
239
208
195
210
211
186
156
150
150
176
121
172
239
150
192
243
239
170
223
160
170
167
147
170
121
121
167
137
136
152
228
202
215
213
131
221
146
150
112
172
229
159
194
181
195
192
181
181
123
121
147
137
112
195
205
171
235
121
237
150
123
172
237
167
165
150
237
212
152
210
135
186
167
182
167
112
112
226
150
201
150
159
219
210
159
150
130
205
170
150
181
220
150
255
177
181
135
186
159
202
201
210
201
237
193
220
177
124
170
121
265
128
176
217
179
171
130
187
112
175
170
172
273
137
194
177
187
208
195
209
208
263
112
173
258
240
186
172
230
243
150
192
112
207
121
172
123
208
205
112
174
193
167
194
228
171
167
208
210
193
176
232
121
121
193
170
130
187
226
167
189
170
112
172
210
194
112
170
172
208
171
198
174
207
121
212
231
137
202
136
160
172
121
150
137
302
121
112
147
135
178
219
215
121
274
176
174
210
174
174
194
179
208
112
150
167
177
112
257
172
112
195
192
121
121
255
123
121
172
239
225
226
112
208
150
168
150
150
190
170
150
121
171
177
210
230
171
207
124
172
194
150
121
171
229
186
112
178
135
167
181
150
189
240
150
152
197
112
228
121
150
216
299
167
195
147
193
171
123
123
167
185
112
112
171
112
158
181
172
176
150
170
167
201
193
226
112
165
226
164
112
170
220
194
171
167
136
168
235
112
250
165
147
172
112
258
115
214
250
150
112
193
112
112
171
112
112
208
158
174
147
112
162
172
128
156
150
181
167
175
203
112
201
218
147
150
121
121
112
170
170
210
173
150
185
196
196
186
212
228
165
136
250
177
240
112
170
112
172
243
160
150
121
211
137
240
150
181
112
165
177
121
250
150
121
186
202
172
171
172
217
208
172
150
223
135
192
212
128
200
112
136
156
207
194
187
152
181
172
198
186
123
156
167
194
167
112
150
195
204
121
202
226
150
178
231
165
170
121
212
112
193
264
171
156
172
258
165
124
231
219
171
167
150
181
208
172
218
112
150
112
228
170
209
189
228
112
159
165
150
112
194
194
270
181
150
209
227
193
255
112
147
194
112
150
176
237
123
121
112
167
150
121
228
160
143
210
196
112
255
121
137
170
115
253
251
165
112
252
130
223
112
112
112
210
186
136
150
158
112
147
112
239
228
150
167
194
135
167
175
150
214
150
212
187
150
156
194
181
208
208
175
237
170
172
181
123
172
121
302
243
168
207
137
121
123
200
112
171
206
177
208
121
238
225
228
112
208
112
123
247
265
194
150
115
160
194
150
150
167
121
182
201
195
121
218
112
121
177
203
150
205
208
202
219
288
115
158
208
170
302
171
167
112
229
170
170
244
168
147
150
121
172
164
128
208
165
121
186
231
123
208
195
172
202
172
156
137
112
121
112
167
181
167
205
184
194
171
201
208
225
112
208
115
121
204
150
186
121
208
150
130
165
195
150
121
237
167
124
262
208
192
194
165
270
161
302
156
212
128
171
124
150
121
238
208
121
112
172
191
225
112
193
195
194
112
121
164
162
123
130
207
231
112
165
172
171
172
136
172
215
202
272
212
123
130
150
228
139
121
112
235
239
112
172
124
276
297
150
150
203
135
196
185
236
145
115
172
150
112
172
112
115
210
228
228
171
167
178
150
167
115
150
194
237
247
259
190
229
121
171
208
170
150
112
135
150
146
112
121
165
165
239
193
194
167
165
112
112
150
172
158
135
254
165
213
124
165
164
112
243
195
112
170
217
112
187
168
228
112
203
135
219
112
150
194
123
181
165
150
156
112
208
150
150
150
165
112
150
164
193
240
121
121
172
208
167
223
237
160
170
208
170
228
115
144
150
202
150
194
165
150
238
220
206
146
168
150
297
194
171
195
208
112
208
167
152
181
121
193
205
250
160
181
136
171
198
136
210
228
219
163
121
121
112
112
193
124
172
112
167
231
170
171
160
222
136
186
203
233
135
208
171
167
209
177
150
167
150
115
203
194
121
171
200
158
167
150
123
170
187
170
121
150
215
150
236
219
112
145
174
150
205
150
204
115
202
137
214
165
112
194
172
181
219
181
135
237
147
237
150
202
177
112
242
112
150
228
205
165
112
150
172
174
232
226
209
223
121
174
167
212
241
270
214
172
159
228
192
135
123
226
124
201
150
201
176
150
284
178
219
150
121
196
212
150
150
112
225
172
127
150
171
181
219
203
204
297
211
171
201
164
172
217
227
204
207
187
121
237
150
174
281
171
207
237
112
276
165
172
220
150
172
150
208
178
123
256
172
270
150
112
112
150
137
150
194
112
121
203
112
212
171
226
182
135
228
165
208
112
171
150
171
255
112
217
121
167
232
121
203
220
192
236
187
208
137
181
123
208
193
194
286
150
170
112
150
150
112
250
208
150
115
231
176
235
172
147
186
150
156
121
228
170
150
208
137
121
150
172
136
172
187
150
195
121
208
210
164
123
174
235
199
150
150
217
112
210
121
175
194
168
124
123
208
170
112
136
253
172
124
150
189
203
243
202
143
121
231
204
167
233
172
181
175
135
167
186
201
217
112
112
203
187
164
112
181
172
165
208
123
167
212
262
187
181
176
176
150
150
150
213
112
128
150
124
265
237
228
150
170
255
212
208
193
225
176
150
250
150
170
130
150
164
208
225
186
194
181
299
214
167
218
121
112
168
175
194
172
172
177
198
147
167
192
160
177
171
158
203
175
121
214
208
121
172
167
194
150
167
159
121
143
201
221
234
147
167
115
112
112
115
112
192
158
201
150
167
112
112
165
200
170
278
195
147
205
171
130
150
174
123
150
121
206
150
112
150
208
121
235
213
171
143
205
203
121
123
250
112
250
170
236
193
150
228
150
112
112
163
112
210
121
137
186
121
263
150
240
208
123
150
112
186
223
194
182
160
170
170
112
115
150
212
243
112
192
170
165
193
150
194
228
135
156
150
167
135
167
167
171
167
165
158
121
165
212
193
123
228
112
167
208
112
139
135
190
150
230
173
203
201
121
174
150
150
208
150
121
171
181
165
190
181
231
121
150
212
130
170
195
112
220
193
170
150
210
150
121
158
112
229
208
112
123
170
231
135
159
168
121
181
112
187
228
201
121
170
160
215
156
112
220
172
123
204
170
172
135
150
158
210
150
137
112
170
121
112
150
181
135
232
170
247
202
181
197
190
202
165
130
171
201
191
121
205
121
115
239
147
219
137
184
205
172
150
212
165
195
112
157
217
171
146
172
186
192
121
187
165
171
210
172
253
242
212
121
150
121
112
225
112
167
112
193
172
112
121
194
162
150
223
212
112
121
196
219
233
112
112
150
202
159
112
135
206
165
150
123
145
170
208
216
159
231
208
123
167
198
112
172
181
128
121
164
243
186
150
195
121
167
208
121
172
172
112
135
121
168
220
167
216
144
208
123
232
181
194
112
165
194
210
152
150
176
231
226
112
136
205
121
160
150
177
210
150
150
244
195
112
218
223
231
150
231
170
201
204
187
204
181
188
176
170
239
171
150
201
172
218
181
223
210
176
176
171
121
128
121
167
208
241
194
150
208
294
239
112
123
150
147
192
112
136
112
218
176
150
181
121
208
112
228
150
172
229
208
202
194
150
208
179
172
217
237
166
219
230
228
256
112
202
187
112
150
208
150
201
226
187
123
208
121
137
112
208
195
183
200
279
112
187
220
208
150
167
192
112
121
234
181
200
137
170
150
121
121
210
232
175
150
123
121
233
112
135
210
121
115
112
176
228
112
135
112
174
202
158
121
177
233
257
150
167
222
231
215
150
208
194
112
182
147
256
150
115
112
211
158
208
171
112
193
168
121
202
135
112
171
217
209
266
150
220
123
115
186
193
165
112
150
121
167
250
178
150
255
121
192
158
123
167
270
208
231
164
179
156
228
123
152
121
121
123
243
172
213
194
200
170
112
201
176
237
205
147
136
121
161
165
183
136
160
135
161
135
208
112
143
208
150
170
150
218
135
170
170
193
112
230
171
187
201
170
160
167
135
170
176
192
112
121
270
171
208
208
225
172
202
170
236
150
160
208
239
195
112
208
209
176
225
147
228
112
228
213
112
228
112
143
158
195
112
146
165
208
267
171
210
212
112
121
167
177
193
150
193
263
121
211
195
213
115
194
158
175
112
181
112
172
218
150
181
161
230
165
150
121
216
202
150
176
202
112
231
170
170
135
164
192
208
121
121
187
208
164
203
204
167
202
147
194
172
150
112
121
208
208
121
201
115
208
228
121
121
171
150
170
165
112
185
135
237
112
115
121
150
225
139
167
112
236
208
112
195
112
171
201
199
123
170
112
226
121
185
170
121
162
121
217
121
208
181
171
170
112
189
150
150
187
172
220
230
112
150
201
112
186
206
167
130
278
123
150
172
112
112
150
158
170
175
243
121
136
150
150
218
208
165
193
150
177
231
121
245
150
226
231
194
150
224
195
170
121
147
135
158
171
121
160
202
137
146
112
164
150
121
204
186
228
170
112
150
258
150
192
172
150
172
160
208
121
275
208
176
208
137
208
218
158
150
132
193
302
150
121
241
270
160
245
176
227
123
193
147
170
202
172
172
206
150
121
112
112
112
195
150
184
162
123
172
187
150
193
181
150
112
112
229
121
203
165
208
209
121
150
172
165
253
203
233
177
174
112
211
172
235
147
112
150
186
195
177
156
176
181
210
112
192
136
171
121
234
206
172
112
150
112
172
215
115
172
159
157
121
115
170
150
217
168
208
147
150
177
171
170
167
238
150
225
186
207
231
121
302
240
172
165
231
170
112
174
165
237
150
172
222
259
186
172
167
121
208
230
121
194
115
237
174
210
150
121
121
130
195
121
112
211
112
112
137
165
195
181
186
236
121
137
115
239
196
241
156
121
232
227
209
121
217
150
195
164
112
112
182
112
172
177
121
179
233
239
112
137
219
150
112
150
193
121
167
158
162
170
228
223
150
194
201
128
210
112
156
215
210
130
194
208
201
243
112
167
112
121
167
172
150
181
164
121
112
186
112
112
193
121
121
150
150
211
135
171
225
150
136
150
214
208
150
235
214
115
195
164
170
167
172
150
121
135
115
121
121
196
147
112
121
150
187
115
231
220
170
150
112
187
130
187
205
139
165
150
201
150
167
222
210
187
210
272
121
227
220
150
201
171
112
172
202
237
165
135
150
112
270
226
250
219
212
136
212
184
150
112
164
150
195
150
174
150
150
112
147
167
167
150
210
194
203
112
194
249
244
160
243
112
181
112
175
123
170
121
195
208
238
112
174
181
112
184
194
208
170
112
192
165
202
121
302
167
112
172
193
176
195
172
171
208
202
121
208
150
201
176
164
112
121
167
208
176
150
194
121
218
187
208
165
194
171
121
150
198
167
165
121
170
212
208
112
112
123
170
150
170
121
143
167
121
112
112
182
186
186
147
167
192
170
190
164
112
170
137
176
186
220
228
150
160
123
124
231
135
167
175
170
170
245
208
173
121
112
210
247
192
193
186
170
172
150
150
171
150
176
159
194
266
178
228
302
186
123
176
112
216
121
206
150
115
150
267
228
112
112
208
167
207
159
234
174
178
206
202
220
203
112
112
152
193
150
174
233
147
202
203
171
166
160
219
159
265
147
167
176
189
219
172
150
274
181
187
141
165
172
238
128
167
112
112
112
123
170
247
231
152
121
210
197
158
121
112
160
172
223
135
150
186
210
255
171
240
167
147
215
228
193
156
205
232
123
167
209
172
207
135
181
112
150
121
167
176
112
121
270
165
130
239
220
112
112
208
167
239
150
212
150
172
228
123
240
150
172
159
208
112
136
159
112
172
115
121
121
121
278
202
160
215
128
121
196
150
238
195
147
219
150
136
167
167
121
233
208
112
204
207
112
150
150
194
121
181
135
156
210
236
150
171
198
150
167
172
231
226
195
121
121
172
150
121
172
164
192
195
167
208
177
204
150
137
195
208
222
224
243
167
172
112
208
165
167
112
234
123
112
172
135
209
208
165
170
150
208
158
195
192
215
136
130
250
171
232
150
172
172
121
191
112
201
208
150
194
170
228
150
123
121
177
121
185
207
208
158
171
121
121
112
112
160
112
150
165
219
172
198
194
237
180
170
112
112
150
123
184
187
158
302
236
209
136
112
157
150
150
220
220
220
171
121
164
170
123
232
150
112
112
181
112
169
205
187
123
150
167
171
123
135
130
167
233
112
176
130
231
179
191
189
172
159
186
112
172
218
162
121
159
192
167
171
176
147
172
240
150
193
150
135
121
218
240
152
124
187
229
172
195
150
158
150
160
165
200
160
112
121
194
112
220
197
150
172
112
177
121
181
150
135
176
115
171
150
194
115
201
228
162
228
186
167
193
121
198
121
124
163
112
205
203
167
196
165
112
194
207
239
150
208
183
121
167
205
172
137
208
171
150
137
150
233
210
170
201
121
172
167
202
156
112
170
223
220
170
158
168
226
123
192
226
150
215
247
194
150
123
213
121
112
112
171
112
218
150
143
182
112
231
112
233
214
170
112
112
170
121
168
170
172
212
150
275
121
123
156
190
147
170
144
112
219
302
136
194
150
121
128
225
136
186
121
193
181
258
112
170
170
168
158
147
121
250
115
170
194
219
121
156
150
228
194
123
112
150
137
259
150
112
172
137
231
192
123
210
112
135
236
171
130
208
150
128
233
172
121
214
128
121
263
208
202
170
225
175
121
208
121
150
156
128
170
112
147
121
203
179
165
135
150
181
167
150
137
194
121
165
194
208
187
150
208
170
150
239
212
123
281
115
208
167
147
136
112
172
194
112
137
207
112
112
200
177
159
123
181
210
172
112
158
123
244
181
172
137
150
201
150
150
194
147
123
172
164
150
229
175
144
172
136
197
112
121
150
112
172
171
207
223
202
175
112
170
219
112
170
210
167
172
167
165
150
124
219
121
171
217
174
112
176
240
171
121
121
172
112
195
161
168
150
177
170
183
217
214
112
233
270
219
124
171
121
185
176
171
112
210
175
181
112
112
201
206
229
150
181
150
172
213
231
150
168
112
164
174
192
150
229
175
172
136
146
121
112
192
112
177
207
173
143
150
168
150
112
210
228
219
112
179
264
172
171
112
203
121
181
143
208
112
112
176
176
207
208
250
214
170
220
121
167
217
198
209
121
231
208
152
112
167
150
112
160
208
167
186
135
135
208
112
137
124
136
194
265
208
171
228
228
171
150
194
217
302
196
115
195
195
152
179
135
150
167
123
195
220
121
115
112
150
275
243
112
220
112
112
130
150
172
177
150
186
170
215
158
210
172
177
112
185
112
195
143
176
193
121
137
176
179
202
170
112
123
264
237
181
150
267
121
150
179
121
112
167
112
176
237
150
112
195
156
174
150
150
112
202
255
228
208
121
172
130
170
170
171
152
208
121
167
136
121
208
193
112
124
186
233
239
213
187
195
121
172
121
213
171
187
254
194
121
170
150
234
193
174
171
164
141
137
171
112
150
177
237
172
112
239
112
231
210
210
212
112
171
214
174
112
112
187
171
192
146
208
150
190
210
250
147
171
181
123
115
158
192
255
274
156
115
249
112
152
170
150
219
112
229
208
167
121
183
150
156
112
208
187
121
150
121
121
157
229
203
175
112
121
171
263
150
168
115
137
170
167
112
247
271
234
112
160
193
212
208
112
167
219
228
121
150
150
241
150
194
150
228
150
150
194
121
150
150
164
147
121
208
208
112
150
160
150
170
181
171
160
123
176
123
259
121
207
137
121
271
172
210
121
157
136
172
194
121
158
112
136
137
165
121
156
195
172
172
150
164
202
112
196
179
112
181
121
197
124
112
208
172
121
278
172
167
112
172
112
147
156
150
112
177
176
176
167
150
150
205
170
150
164
206
121
208
128
150
124
121
186
208
208
218
150
160
194
232
164
112
112
186
150
208
231
186
202
172
112
176
201
271
112
203
262
121
302
172
121
255
250
112
172
228
177
123
112
150
221
158
150
121
177
150
217
123
223
172
176
228
176
143
167
208
150
147
191
208
228
172
112
237
201
245
192
250
208
238
165
187
208
123
159
171
172
121
182
213
208
150
173
124
186
156
194
171
240
167
112
171
231
226
121
147
112
214
150
208
192
167
172
112
210
137
208
167
206
186
150
112
208
171
217
121
202
211
170
172
112
137
147
257
150
150
172
190
205
288
160
170
187
226
115
150
150
143
176
123
112
208
158
187
112
201
237
167
157
150
233
150
165
115
229
112
112
208
172
172
121
171
233
172
112
195
121
150
208
278
208
121
158
211
123
121
172
162
121
275
150
231
170
147
167
177
219
136
263
167
156
165
241
225
241
121
248
250
121
202
165
172
150
165
121
150
208
150
184
159
150
124
172
179
203
150
220
112
202
172
193
143
136
245
244
150
215
181
158
177
233
150
201
210
218
137
150
201
171
172
247
150
175
168
216
112
150
172
208
135
165
112
165
255
150
194
237
168
235
181
177
160
115
228
121
212
187
233
194
135
121
232
137
136
170
212
112
137
170
112
228
210
156
194
171
167
150
112
231
210
187
121
124
167
194
193
235
212
212
186
121
112
172
214
172
208
112
194
186
112
237
203
124
190
195
207
231
121
231
158
210
167
121
150
212
121
201
177
144
207
177
171
186
177
297
203
228
193
115
137
172
150
124
187
226
255
179
121
187
150
150
171
170
175
112
272
193
150
237
172
292
112
208
172
123
150
124
176
208
135
150
176
172
150
112
210
147
121
177
150
112
121
112
135
171
193
150
172
150
171
265
121
217
171
181
152
123
167
233
208
150
170
161
137
143
233
208
131
211
198
150
121
160
170
172
172
112
171
187
216
168
112
274
131
158
152
167
139
231
175
172
112
121
237
204
208
130
130
208
225
170
165
209
205
121
170
208
124
214
203
194
158
250
193
121
208
130
175
160
208
212
196
170
231
237
124
150
212
168
121
158
199
186
144
193
172
193
181
230
245
181
208
186
150
208
172
112
171
150
184
260
177
194
121
258
167
233
158
177
150
195
150
212
210
186
121
186
194
158
172
207
193
150
123
257
150
233
112
203
112
121
207
147
150
170
226
187
243
135
121
228
168
187
187
170
168
112
208
179
208
150
136
181
216
123
237
150
150
135
165
146
112
217
207
123
112
112
196
217
150
170
208
196
150
203
171
186
195
229
112
186
112
176
137
189
159
150
172
176
130
152
194
194
250
112
176
208
170
193
260
208
172
178
172
237
197
121
159
130
207
203
165
121
210
167
208
224
112
232
170
150
226
164
137
143
205
202
171
135
121
181
233
208
181
187
156
212
231
132
167
123
170
164
156
174
115
228
112
190
128
208
193
115
167
232
208
208
150
225
124
165
233
208
137
245
257
237
165
159
121
210
112
237
176
163
167
171
206
150
233
203
228
260
159
208
281
181
171
164
170
150
172
228
167
195
150
150
187
121
121
234
211
167
172
205
143
150
349
184
201
187
121
225
170
220
177
112
233
150
168
187
179
165
150
171
228
150
169
112
215
124
150
231
240
124
227
208
208
193
121
185
181
228
176
177
194
170
230
181
170
139
124
143
112
137
172
210
239
228
164
150
212
205
150
172
135
212
112
150
150
203
243
203
192
229
176
115
150
150
228
177
254
254
112
214
170
147
172
150
176
150
121
177
193
194
250
205
196
202
150
237
112
228
227
181
150
204
167
179
112
186
150
172
181
204
123
121
203
121
203
202
121
302
220
112
115
137
115
167
208
123
236
136
176
167
171
243
298
236
115
158
209
208
171
184
168
167
202
158
193
150
243
150
234
124
150
230
121
172
112
227
158
219
204
150
172
121
228
228
150
150
170
170
194
250
165
194
176
230
143
305
137
172
160
235
160
147
203
112
123
143
217
135
196
112
241
239
245
121
200
202
172
167
121
135
225
150
208
208
159
276
267
121
226
115
172
202
121
112
239
147
238
207
170
228
235
136
181
135
130
165
167
221
232
195
165
208
203
208
115
150
187
170
158
250
172
178
147
181
210
194
121
150
112
237
233
112
141
150
193
170
171
123
136
237
112
195
242
165
121
121
137
207
121
270
229
208
210
150
244
160
172
172
124
223
179
228
167
217
112
209
263
170
198
213
112
121
201
208
176
167
150
150
181
150
203
250
136
196
150
150
194
121
112
174
210
135
156
187
202
147
112
187
112
243
112
167
156
177
179
172
233
176
112
181
184
272
167
167
158
150
237
167
150
239
208
158
137
112
167
170
181
146
150
194
195
205
226
112
208
112
112
192
302
172
121
112
112
199
208
176
186
173
171
150
238
123
112
205
112
195
171
228
172
202
226
187
121
150
239
150
216
170
112
165
150
112
112
194
186
171
208
192
123
220
187
237
167
181
172
112
178
150
179
237
112
186
112
181
281
240
158
210
302
197
112
112
170
137
194
156
150
121
186
157
181
112
181
121
175
194
172
178
194
208
115
136
167
165
195
121
137
137
112
121
121
137
208
167
186
225
136
202
150
121
194
147
171
192
243
123
186
237
208
176
136
150
170
225
137
233
240
172
150
112
197
112
150
177
121
222
121
176
192
210
210
200
162
236
194
181
196
243
170
150
250
167
186
176
219
223
275
124
193
208
184
192
181
147
150
167
121
115
220
150
243
135
137
150
159
167
194
205
156
150
215
181
192
222
136
198
223
112
217
229
205
223
150
202
193
233
172
207
135
225
160
159
181
186
302
150
112
170
137
160
112
158
121
175
208
272
150
164
167
253
218
123
157
150
228
112
121
172
112
121
167
165
135
177
147
250
165
112
203
247
159
216
237
121
190
247
150
112
123
154
167
112
152
152
181
171
172
265
115
256
171
176
170
150
203
112
219
228
231
168
170
250
115
222
181
150
158
158
181
219
252
168
229
212
212
186
195
156
158
123
172
150
219
252
208
172
228
274
150
150
172
160
124
174
207
208
207
203
186
115
121
135
176
172
342
167
123
123
165
201
137
222
212
187
240
121
170
172
255
147
172
123
121
121
165
181
150
263
167
136
170
170
302
136
168
255
121
172
171
172
232
167
150
203
203
212
229
178
171
152
228
115
158
150
172
196
172
150
194
112
218
212
128
208
194
193
176
150
137
112
165
123
112
195
208
121
207
121
112
219
219
181
202
160
186
172
208
150
175
172
208
232
167
170
170
150
176
122
150
201
156
233
214
121
204
181
208
150
204
168
112
193
195
136
121
115
208
170
172
121
150
112
150
172
208
202
150
176
164
211
210
160
233
193
175
165
201
170
170
201
214
176
206
237
123
172
229
158
158
160
235
170
181
208
176
235
208
150
194
121
194
121
186
167
170
237
124
219
194
128
220
135
150
228
137
170
183
167
181
121
150
187
150
150
174
130
121
112
172
272
203
226
164
243
181
250
177
225
150
112
194
229
167
186
203
121
208
165
112
152
187
253
240
112
250
135
163
164
175
150
179
150
130
150
172
263
150
150
208
150
170
210
171
150
172
208
156
202
150
220
150
172
143
225
167
121
137
137
158
112
167
239
250
121
168
167
201
121
237
232
226
208
112
112
112
189
208
154
237
150
187
208
224
235
161
170
170
167
209
158
112
167
195
150
205
112
179
276
186
302
155
228
150
167
186
193
112
112
237
150
219
112
112
294
212
136
233
177
150
170
228
121
170
172
210
218
172
150
115
203
228
150
112
217
182
112
176
156
152
302
186
150
171
115
225
243
190
203
115
121
193
147
164
159
186
112
121
167
193
181
208
172
112
174
208
155
172
115
150
121
171
158
208
165
172
260
203
136
150
167
207
201
112
115
201
136
135
217
158
121
174
147
212
167
123
172
204
196
195
259
190
181
176
177
233
208
194
150
226
112
150
209
258
209
167
150
128
203
152
215
150
150
176
147
216
172
170
112
150
176
172
137
160
112
112
237
179
177
135
121
226
112
150
186
150
147
269
210
172
208
171
167
193
112
225
121
150
194
170
164
150
171
121
165
175
112
171
208
121
112
128
170
135
187
135
193
141
208
158
214
243
204
130
121
121
213
194
121
240
112
181
135
228
112
170
200
150
192
263
187
221
229
121
228
150
174
130
150
165
165
170
171
150
212
250
174
170
177
208
121
181
168
193
112
194
167
121
121
158
250
181
171
157
121
121
112
167
244
208
254
143
137
220
192
203
260
194
228
194
205
176
206
112
192
112
194
156
208
263
187
203
222
150
172
231
208
150
121
263
150
184
165
297
112
201
137
195
130
219
168
237
170
150
238
121
231
208
121
193
174
187
150
112
135
181
150
193
176
237
223
136
194
171
172
237
124
170
160
228
175
137
115
121
121
212
220
208
130
250
136
205
112
112
203
250
172
175
121
177
187
115
205
112
163
164
189
121
137
194
170
176
167
208
208
210
231
147
201
128
196
167
237
215
150
172
170
208
213
123
208
112
121
194
112
172
179
194
279
121
194
174
159
112
115
115
172
231
182
208
186
150
115
147
137
150
195
172
205
112
241
237
137
224
212
190
121
181
208
181
171
112
150
135
150
150
225
228
156
264
237
176
192
167
233
193
172
112
208
121
121
161
112
185
174
208
121
170
160
170
147
193
135
172
202
150
207
302
238
170
171
229
167
208
112
164
164
150
208
150
208
150
150
212
121
121
121
205
172
147
150
160
172
112
172
167
228
173
137
135
159
193
157
228
121
210
135
187
205
168
159
208
206
174
147
139
112
150
121
115
202
202
208
112
208
167
199
176
192
112
175
121
222
208
208
112
167
112
194
121
168
115
208
219
135
208
237
185
202
156
136
160
112
150
150
121
189
206
206
112
195
202
171
165
172
150
112
172
121
272
279
220
187
150
150
150
150
128
168
170
112
237
281
172
237
202
176
123
194
112
121
123
201
237
187
121
150
165
210
194
112
175
164
186
112
206
150
150
167
172
202
121
158
208
167
150
165
209
220
170
233
178
121
121
150
121
204
176
198
137
172
158
208
226
112
163
171
215
121
167
245
137
121
172
205
184
123
168
233
112
210
171
208
158
194
215
233
184
160
150
202
121
170
208
176
182
186
112
220
194
174
174
121
168
121
168
167
267
203
179
202
174
184
172
164
171
124
112
150
165
136
121
170
268
209
143
165
205
150
197
167
194
181
147
208
212
231
201
281
172
194
208
112
186
150
174
112
130
211
150
170
187
208
274
167
123
181
210
135
201
112
208
147
212
165
208
225
176
192
187
147
152
174
195
209
123
159
177
123
170
172
203
136
112
219
112
228
160
112
171
214
170
176
150
208
167
150
203
228
150
193
144
237
170
191
186
112
112
186
216
214
201
150
181
171
195
115
158
195
187
165
136
193
115
152
137
186
203
158
112
199
181
208
171
135
223
121
123
220
167
170
193
237
171
150
206
112
136
135
135
181
112
150
150
157
165
121
156
137
172
112
249
172
194
136
194
207
112
206
231
201
112
112
275
150
208
147
121
130
121
170
128
189
250
208
121
121
150
121
150
167
194
184
228
195
147
260
121
259
171
164
150
203
156
123
179
112
170
218
170
218
164
135
174
208
212
112
112
250
226
233
172
170
160
150
186
171
210
220
121
177
160
170
189
164
150
112
167
121
252
115
186
238
181
205
159
205
276
176
136
112
136
150
168
167
208
195
167
216
214
195
121
121
150
193
211
210
202
159
121
170
210
112
186
187
150
194
150
112
267
208
177
167
123
112
167
152
172
208
121
160
136
210
171
137
215
189
121
112
112
174
191
223
170
184
171
131
112
278
175
150
233
121
150
135
150
203
150
207
220
112
208
137
121
165
202
159
150
121
233
150
121
229
203
121
168
203
165
115
239
137
137
237
161
121
167
170
124
121
194
236
167
208
168
150
112
263
150
220
171
112
200
172
156
172
150
239
112
206
228
172
240
137
150
121
208
176
181
121
187
168
250
158
150
123
168
171
167
265
202
115
150
170
156
112
150
161
250
210
255
215
112
156
150
123
121
150
263
112
205
226
212
195
187
159
123
216
112
212
164
112
171
167
171
170
203
112
172
112
220
222
135
172
256
150
121
187
112
250
205
278
193
186
159
112
121
176
205
193
206
150
143
172
219
135
150
168
202
238
208
150
216
204
121
150
150
238
167
214
152
128
167
172
150
208
194
172
112
150
160
193
208
167
168
217
158
150
158
150
165
187
150
186
124
170
121
150
177
207
112
208
219
205
214
123
181
147
121
210
171
150
171
205
168
150
194
228
112
167
176
203
171
150
168
244
121
165
208
218
206
262
186
121
186
112
176
123
150
237
243
150
210
167
121
164
150
263
167
202
150
219
176
112
204
208
237
243
187
150
121
213
164
130
159
128
123
170
150
181
240
195
147
258
121
112
193
165
121
189
208
158
150
242
194
187
172
250
216
187
143
112
159
167
150
123
221
165
228
217
170
176
121
193
250
121
208
150
167
170
171
168
112
279
187
208
112
136
170
115
143
168
186
150
132
239
150
216
210
186
176
130
121
171
209
156
150
229
165
137
167
147
193
217
136
161
123
215
215
228
201
150
147
112
206
121
171
121
198
121
160
171
195
150
150
130
167
121
121
209
172
187
150
204
177
115
167
212
112
171
170
150
208
136
243
181
112
181
186
150
201
159
225
150
150
189
175
121
172
112
171
194
278
205
220
193
181
208
112
187
205
214
121
194
128
194
208
170
210
172
112
112
203
158
177
121
228
150
160
121
150
203
112
228
208
172
194
112
137
187
172
232
158
150
156
176
171
210
167
150
144
150
172
167
172
170
208
193
172
121
172
204
150
137
136
165
159
121
144
164
112
253
172
237
176
182
112
217
227
232
150
121
283
137
165
186
220
203
208
181
211
195
150
181
168
205
135
243
195
172
196
195
176
195
200
150
155
112
171
121
167
263
159
121
201
167
172
112
172
192
150
128
150
204
250
167
112
172
150
208
150
213
208
165
210
124
150
147
167
189
172
206
152
121
168
233
150
172
225
167
176
150
228
203
257
194
161
237
147
150
168
190
150
179
170
150
222
186
186
202
123
130
194
208
205
189
112
158
201
171
165
208
172
170
174
112
208
208
208
172
167
150
112
228
136
121
202
137
112
218
143
115
201
187
205
194
130
167
208
186
176
172
150
137
112
212
172
193
220
229
208
137
121
112
170
150
204
176
208
170
167
128
240
172
221
165
194
208
167
150
208
165
156
159
150
171
238
214
136
159
112
176
200
112
224
165
112
115
164
218
201
177
181
167
228
220
121
176
150
156
171
199
193
179
150
172
112
230
279
234
172
195
194
217
121
172
153
165
202
150
203
232
160
136
121
257
135
121
208
128
112
265
204
150
237
237
170
112
150
121
135
112
243
150
187
136
210
237
194
150
194
238
194
121
172
276
128
217
112
135
259
181
135
170
130
192
150
234
239
123
208
228
124
150
195
170
150
123
212
231
112
192
150
144
185
135
121
192
241
150
150
136
219
171
174
233
112
167
275
128
175
150
121
210
176
112
194
208
228
170
150
172
195
123
152
150
112
112
112
186
174
121
135
177
176
150
187
112
268
160
194
121
115
150
123
135
115
130
121
226
121
121
205
143
121
193
170
156
208
219
187
150
170
172
147
216
196
243
231
137
165
160
112
150
208
112
208
150
112
164
208
136
172
228
239
139
179
123
167
112
150
178
137
195
202
226
193
143
150
112
255
159
212
210
135
194
171
170
199
112
185
212
150
203
150
112
235
121
235
150
172
177
112
121
121
240
200
231
212
165
212
123
212
121
112
172
150
172
121
175
171
174
150
201
150
147
194
150
121
156
112
230
121
228
112
158
121
195
172
112
172
203
150
202
250
157
121
124
171
181
204
121
202
127
112
220
112
150
210
208
170
167
170
220
208
170
207
170
174
194
228
281
258
167
208
112
214
219
167
208
165
262
226
121
208
260
194
147
193
170
165
194
228
195
159
228
174
137
135
150
237
201
188
177
181
208
225
130
167
124
195
121
158
167
243
244
174
208
167
150
177
245
112
210
165
192
167
130
112
176
150
178
208
202
220
170
208
121
208
203
203
170
112
121
189
172
150
220
167
212
231
170
115
200
131
156
231
150
172
157
121
112
121
265
112
203
121
197
185
195
174
195
136
135
167
121
195
167
172
208
150
121
121
121
156
150
147
181
172
186
228
243
194
121
135
208
152
112
208
210
215
176
112
232
150
112
121
177
150
124
123
164
128
124
121
167
193
172
147
150
150
208
195
228
172
208
135
130
224
172
115
159
112
171
174
259
112
170
121
208
194
238
121
150
224
150
150
177
150
128
150
150
150
255
207
176
164
174
192
201
172
167
228
225
121
150
211
194
194
167
212
122
208
150
201
194
143
212
241
121
115
208
123
241
150
152
174
135
186
112
208
203
135
176
218
217
150
123
112
260
167
167
208
203
181
176
158
165
208
123
121
112
171
115
228
203
231
212
121
164
204
112
186
231
207
170
172
150
137
172
112
195
194
112
121
112
171
112
112
150
203
240
171
217
175
232
172
167
170
187
121
203
208
172
257
208
156
112
201
112
172
112
150
121
193
172
165
121
123
150
121
150
165
181
150
192
167
112
208
167
167
174
176
172
167
150
165
181
115
171
204
135
195
208
194
123
199
170
212
194
112
228
250
123
195
271
121
230
218
158
193
112
150
150
112
136
172
144
156
171
233
159
228
112
150
255
121
194
167
136
192
112
208
150
121
172
121
219
121
159
240
171
305
112
172
150
150
231
115
150
150
172
186
150
124
243
186
225
170
121
237
150
115
121
112
159
170
203
184
226
165
193
194
247
236
186
167
147
121
112
187
193
121
234
121
237
150
170
181
210
194
115
208
213
202
121
194
181
147
208
207
150
123
121
165
112
112
136
123
150
121
174
209
186
181
150
150
172
112
143
174
136
171
112
203
112
176
150
161
228
201
170
225
150
172
137
195
121
150
130
112
112
235
208
226
217
121
194
165
160
217
112
115
208
158
121
112
168
159
160
167
203
150
186
167
150
136
228
150
181
233
165
150
167
136
236
228
200
112
193
135
165
209
177
168
136
159
172
194
112
233
278
136
263
136
197
171
157
136
150
181
112
171
163
204
171
207
150
192
266
172
190
167
205
195
192
210
176
137
150
195
156
123
203
150
194
194
172
150
297
217
208
208
167
226
150
186
243
204
112
167
239
112
181
270
158
170
121
150
150
150
172
121
231
228
137
194
194
197
208
208
210
202
150
192
150
179
171
121
150
176
167
172
208
123
121
115
165
177
208
135
131
279
201
121
135
121
137
210
137
121
150
165
194
234
150
112
112
181
156
203
112
194
172
150
112
219
170
137
205
158
237
212
212
144
112
121
112
185
220
112
178
220
121
220
115
150
147
172
150
194
238
205
112
174
176
231
123
121
181
121
172
164
112
150
112
121
115
170
115
170
167
176
224
159
181
112
150
263
162
165
175
278
171
152
121
156
184
164
121
230
186
212
182
176
150
171
181
208
172
112
160
115
135
150
121
237
136
263
196
185
184
258
187
177
211
208
123
112
124
164
202
207
225
156
130
250
172
144
228
112
176
115
167
150
229
194
164
181
195
123
236
112
112
121
186
194
208
150
210
160
208
121
124
121
170
137
150
121
171
167
193
165
112
112
115
167
136
167
232
184
220
167
187
112
121
112
170
167
208
202
181
170
194
121
159
112
164
165
221
212
233
167
150
147
202
229
150
187
209
112
199
162
208
112
217
139
228
136
207
248
143
123
164
231
150
216
228
172
121
225
194
239
205
171
208
144
150
220
150
234
177
172
143
112
150
172
124
228
210
212
201
257
208
181
157
121
167
112
207
208
150
178
194
170
203
121
192
160
150
150
186
167
170
208
121
112
150
208
150
136
202
176
171
200
130
150
170
112
171
150
228
124
210
160
112
181
121
235
302
196
167
112
208
167
167
112
170
203
135
175
210
172
135
255
194
172
181
208
171
186
172
208
112
173
124
160
201
164
172
171
170
150
218
218
237
123
224
150
112
172
160
150
150
123
187
121
112
219
150
121
174
136
206
220
165
190
208
170
159
150
171
115
202
187
187
186
150
217
123
121
228
170
159
115
203
282
159
121
135
172
121
210
135
226
232
135
150
121
219
150
167
150
181
121
219
228
181
121
136
349
237
150
112
195
121
254
187
194
181
121
225
228
195
210
170
131
159
264
135
211
150
240
194
167
228
199
171
212
121
170
115
207
170
176
112
167
143
121
167
181
112
208
171
185
179
162
170
112
158
207
181
115
210
172
197
201
176
112
121
243
165
194
203
239
170
167
159
150
202
172
156
218
167
124
182
217
112
208
226
216
194
121
201
212
212
150
176
121
274
172
219
194
150
121
172
170
159
243
154
208
212
275
134
147
206
172
181
238
121
123
203
189
121
137
112
177
208
172
139
112
234
168
194
136
167
164
150
195
208
121
112
245
181
181
131
112
170
150
171
150
208
123
228
112
143
167
210
170
156
219
194
137
150
176
164
228
123
167
171
172
150
172
121
112
187
167
123
220
150
189
150
165
208
240
150
150
193
190
112
202
124
121
112
199
176
205
123
219
228
112
165
172
165
158
112
128
150
220
202
181
225
170
212
121
167
121
158
201
187
112
193
206
171
176
171
167
115
115
112
137
136
230
203
208
150
137
288
150
201
167
172
179
201
237
204
150
150
150
170
182
165
189
121
121
231
172
235
171
209
212
250
237
237
121
152
196
150
121
176
197
150
165
150
123
152
208
213
220
207
112
212
150
150
167
208
150
250
112
150
121
174
229
201
165
242
208
203
112
135
112
211
112
192
172
112
121
150
112
172
112
186
150
150
181
196
235
189
121
181
195
176
121
170
121
121
174
121
255
147
205
177
193
210
135
167
194
208
144
121
198
121
121
150
150
150
208
171
231
258
124
172
121
159
112
193
192
194
150
112
150
205
115
243
184
164
284
115
135
147
121
150
121
135
123
121
174
194
124
121
192
150
167
158
172
208
112
181
176
174
219
177
137
172
115
123
160
171
176
208
237
181
171
220
178
181
193
171
167
208
219
210
195
208
123
194
112
228
202
112
221
147
150
174
150
181
239
124
128
158
152
128
176
115
128
208
165
172
192
176
220
170
192
112
112
150
121
203
156
208
208
112
176
218
171
150
170
193
172
112
150
121
172
208
112
112
112
170
193
250
174
135
226
135
216
112
121
164
152
172
239
208
147
182
150
170
176
150
167
159
193
150
222
150
201
187
112
121
177
150
201
115
177
239
194
220
187
112
172
147
158
265
190
237
186
115
158
150
226
210
208
181
203
167
225
231
165
212
112
112
164
156
209
199
171
237
112
172
123
179
192
248
159
228
212
167
164
212
193
168
172
176
150
207
168
243
205
172
186
170
208
150
213
187
181
209
123
172
204
121
150
208
237
187
137
237
152
150
231
186
112
150
208
163
121
121
203
171
150
210
202
172
130
144
156
202
172
150
208
112
112
177
121
208
150
187
150
150
219
112
115
208
112
174
159
170
209
150
123
112
170
112
179
181
170
165
228
157
189
171
112
218
172
112
170
237
121
159
112
159
159
205
147
181
170
187
260
112
204
205
210
172
121
227
150
195
164
112
218
179
112
171
128
192
144
150
112
208
181
132
234
240
121
112
203
123
172
177
168
152
150
165
112
210
121
112
121
208
156
208
229
115
257
150
172
121
202
201
181
192
112
231
165
203
115
194
147
121
179
231
205
121
172
196
150
272
226
168
186
181
170
121
172
177
255
193
145
208
260
167
179
172
112
241
165
272
112
202
135
208
236
175
112
112
213
184
121
212
171
137
172
195
208
121
124
234
176
208
150
167
208
237
154
219
246
115
194
170
159
112
121
182
186
194
170
150
136
112
208
202
136
150
186
112
194
180
147
263
181
165
167
150
121
135
121
193
112
239
167
150
150
178
112
150
165
150
112
239
187
135
167
123
156
112
186
112
181
135
123
170
214
173
150
209
192
121
203
112
261
170
186
112
208
174
228
135
158
181
112
302
250
184
150
174
112
186
187
165
232
158
123
202
208
121
179
228
130
297
121
193
208
255
242
150
190
210
112
165
167
241
197
112
208
158
219
112
174
112
121
121
171
255
121
135
128
196
276
184
121
112
215
150
150
112
215
224
112
112
121
270
221
160
158
168
170
167
202
112
150
205
112
123
202
121
150
219
112
212
159
228
200
208
188
259
158
112
184
150
210
150
272
115
227
221
173
167
192
291
121
181
187
198
147
193
231
257
137
201
250
152
229
212
112
225
112
162
175
112
150
197
112
179
150
210
228
227
174
185
123
112
190
237
115
130
187
195
124
156
172
208
193
190
121
165
186
112
171
208
171
193
279
115
112
207
208
144
121
176
203
170
203
147
264
115
216
192
176
176
135
210
219
150
218
167
229
160
167
172
167
115
112
214
172
130
139
112
165
192
178
181
187
175
172
137
228
181
150
179
239
176
123
201
226
164
172
228
115
128
112
147
196
172
172
205
121
156
158
223
186
150
208
171
255
150
186
136
112
193
206
193
121
181
135
150
208
229
208
212
112
136
136
167
150
137
130
193
165
147
123
171
186
146
172
229
194
115
202
208
202
112
208
171
167
172
246
137
121
272
175
212
208
112
112
112
181
112
174
150
208
202
186
264
150
156
136
194
195
208
219
187
172
190
121
254
156
112
112
291
164
150
157
260
172
150
112
192
181
121
165
172
112
177
217
170
172
195
187
112
208
121
150
112
302
121
212
193
195
160
112
150
115
217
135
147
250
176
144
219
192
172
160
135
112
112
228
236
112
205
112
121
172
171
257
258
208
167
150
228
112
195
170
150
167
150
137
123
231
212
150
229
194
172
130
115
181
180
193
172
187
174
237
121
228
121
181
208
193
208
217
174
207
208
208
150
202
181
232
112
137
150
210
112
186
210
253
156
150
112
121
112
297
121
163
186
223
167
208
164
170
193
226
150
171
186
255
150
175
198
150
124
112
137
176
217
212
112
150
112
147
219
130
121
112
136
170
112
194
263
165
200
112
239
282
147
112
210
150
164
176
150
202
181
121
158
219
212
121
193
210
189
112
187
135
147
170
112
112
193
121
121
215
217
165
194
172
137
215
158
146
206
176
112
150
171
231
202
195
167
212
208
135
162
276
194
150
112
170
112
136
112
121
208
172
136
181
150
123
234
226
165
168
128
121
225
135
181
124
172
112
210
194
112
165
112
150
152
137
209
181
193
112
243
170
112
181
121
112
170
232
176
150
130
177
170
208
150
123
172
170
203
112
112
171
176
184
165
225
150
233
130
177
172
229
226
193
130
213
121
150
312
208
164
193
112
195
121
211
121
112
220
247
208
112
112
194
165
207
158
231
219
172
165
172
112
150
209
206
123
167
264
150
202
137
181
194
150
170
223
150
181
137
112
215
167
150
121
150
215
167
123
123
178
237
150
121
250
128
150
171
128
212
209
208
172
150
175
179
147
195
223
201
170
165
121
172
171
123
124
208
237
160
194
208
172
150
112
208
182
208
112
189
195
123
160
150
224
150
219
167
172
135
207
219
237
128
171
203
137
121
219
217
167
195
229
190
227
112
231
194
128
212
238
219
208
157
202
181
152
121
121
121
193
218
176
121
124
241
150
205
150
112
167
171
150
172
187
176
193
150
234
172
196
170
241
194
193
186
150
172
228
167
179
177
112
181
206
205
195
130
194
186
112
167
212
172
167
162
123
208
177
172
239
194
172
115
123
123
167
167
170
208
135
218
205
255
150
112
237
137
172
178
187
193
172
121
193
164
200
171
170
208
198
212
137
202
147
161
121
121
115
131
186
181
240
203
226
208
150
150
160
163
112
208
150
150
205
150
201
178
121
152
212
150
150
112
143
150
115
176
192
194
112
178
195
147
137
228
112
215
210
178
112
212
215
218
233
275
176
121
176
170
234
243
121
168
121
229
136
172
167
121
165
171
199
112
225
172
121
186
224
176
226
167
121
130
198
165
172
150
115
123
112
154
228
112
131
158
121
150
216
112
165
176
181
177
171
112
219
176
112
136
293
193
207
121
239
216
175
171
196
193
210
193
208
172
208
121
121
187
137
198
255
112
123
112
167
115
160
115
135
177
170
194
194
228
208
150
208
130
168
212
150
244
199
170
150
139
121
165
177
263
194
181
152
170
204
177
136
244
150
170
164
205
231
172
208
112
112
112
175
278
112
207
228
121
192
112
124
171
130
123
135
121
168
115
150
115
218
208
112
150
208
121
194
112
208
136
195
221
121
208
218
150
167
176
136
160
228
179
152
121
147
218
237
170
170
186
215
147
121
150
226
241
291
150
170
233
166
123
199
206
214
121
171
172
228
194
192
137
150
174
128
121
170
123
194
150
210
167
150
165
174
176
199
171
115
263
182
192
150
174
208
195
171
115
172
150
237
175
193
150
205
123
112
176
208
234
161
192
121
130
184
211
131
123
124
194
195
194
167
203
150
237
171
130
194
203
150
150
255
156
112
150
178
164
170
208
121
112
186
227
121
186
150
135
232
204
156
193
208
206
121
150
165
150
172
240
121
112
176
186
181
167
202
130
209
176
216
150
112
187
164
164
112
181
193
121
208
228
137
236
167
150
121
159
210
208
194
121
210
177
115
150
172
158
152
189
170
167
136
192
121
150
121
187
123
167
152
165
152
132
121
214
167
181
170
232
147
112
208
250
184
112
150
112
231
112
202
171
174
193
228
192
172
112
150
193
187
145
177
150
181
172
150
156
207
236
226
167
229
193
158
121
177
152
172
112
170
174
121
181
202
147
123
193
121
190
165
186
196
219
176
204
203
189
159
208
121
167
181
201
150
170
170
237
226
121
150
150
147
147
255
150
186
212
172
121
152
137
121
181
170
130
284
208
150
136
152
202
174
181
167
230
150
123
121
121
150
206
150
156
162
210
228
211
228
207
150
186
170
115
147
232
194
112
187
150
220
145
121
208
172
239
167
167
164
165
171
112
150
165
220
302
112
121
170
139
150
172
187
171
167
121
205
121
121
150
128
245
226
201
150
208
170
112
130
160
203
150
209
194
121
150
150
179
207
208
176
135
236
178
150
202
150
185
160
150
194
177
230
112
150
130
187
121
160
112
123
150
208
172
192
192
187
218
172
112
121
172
112
121
201
219
150
147
210
167
228
123
226
217
237
208
181
170
123
121
121
187
187
237
203
208
146
238
218
186
165
121
195
210
121
215
115
164
150
201
172
210
121
136
164
167
165
150
170
123
127
193
121
150
216
201
171
171
112
208
172
123
179
212
112
236
187
232
243
210
194
263
201
121
255
112
150
187
167
247
150
149
167
165
127
112
207
112
121
112
208
225
239
170
167
121
203
115
237
171
208
203
212
164
150
226
121
175
150
112
217
225
199
231
171
186
123
237
190
203
159
130
165
201
135
130
112
150
123
239
231
165
263
121
150
239
172
177
150
170
210
121
173
181
115
208
159
150
112
136
115
150
137
121
215
136
135
279
209
190
187
150
236
150
158
212
202
212
165
112
202
150
170
195
236
123
181
193
209
150
167
210
150
174
167
189
233
150
174
150
165
221
220
208
228
186
121
239
192
143
150
137
228
165
210
194
123
181
144
202
150
164
226
156
228
193
121
181
201
173
239
276
192
243
112
194
121
181
123
123
255
233
160
115
112
171
136
157
210
112
112
225
240
205
215
170
143
112
180
207
165
150
176
240
121
208
121
212
271
123
260
194
150
165
176
258
208
150
195
170
150
240
186
164
150
225
165
112
228
225
194
147
156
228
170
121
200
150
176
150
190
150
171
208
124
179
210
121
176
150
187
150
121
112
176
202
112
150
190
135
187
112
112
233
124
195
260
250
240
112
156
112
167
194
158
212
150
193
170
172
150
159
220
205
121
205
186
203
150
245
135
172
150
172
256
184
203
209
112
176
160
121
121
121
181
112
231
172
255
236
177
194
150
226
152
170
250
230
299
213
158
170
150
237
112
170
121
147
220
239
172
150
177
243
250
266
150
245
229
208
150
159
170
226
164
219
172
136
172
195
232
112
179
136
170
115
228
186
150
112
167
232
202
239
137
150
189
136
208
160
112
150
202
206
112
209
195
130
168
234
121
181
194
187
194
196
203
269
112
150
201
137
255
193
186
147
112
150
146
168
206
208
130
130
150
124
150
275
172
181
187
172
194
219
164
215
161
167
136
164
150
220
232
181
172
194
189
194
215
112
218
121
223
194
171
115
147
150
139
253
172
225
181
258
121
112
143
172
112
181
137
150
170
112
136
208
121
232
115
196
194
123
150
112
139
158
231
220
172
136
215
156
177
121
210
172
135
150
186
240
209
160
208
210
226
121
255
194
194
150
165
158
112
165
152
184
112
199
130
150
150
158
193
150
121
167
194
150
210
265
124
172
124
150
228
121
181
150
254
218
170
121
245
123
181
167
186
130
186
123
121
208
150
112
222
214
165
165
112
237
195
263
150
202
170
167
121
176
186
112
226
112
218
172
112
217
172
136
121
183
214
172
112
124
150
167
208
143
115
179
150
123
112
255
237
172
135
237
150
208
187
112
171
150
150
171
150
209
121
167
187
176
203
186
130
123
158
212
208
130
112
150
220
150
171
186
253
202
195
150
229
176
193
165
177
208
208
112
239
144
156
174
171
232
179
242
124
156
121
187
202
177
193
171
121
156
150
146
150
271
150
136
112
228
150
195
150
171
246
192
208
193
226
209
278
112
195
112
168
112
270
128
228
115
234
150
176
181
147
208
196
186
121
130
194
121
157
147
123
194
150
150
196
112
136
178
172
121
121
223
228
167
121
212
194
208
170
136
115
112
349
176
150
239
112
171
193
164
235
172
123
167
146
208
150
239
172
123
150
202
179
150
231
115
237
121
175
239
112
186
112
233
128
171
172
164
246
176
165
121
208
237
167
150
112
150
186
212
156
159
220
203
121
121
223
150
157
195
112
123
150
214
237
112
167
181
112
254
291
121
213
181
242
172
183
112
187
112
192
175
158
237
201
128
150
167
208
194
172
112
194
171
123
137
174
201
194
219
205
176
194
202
171
207
253
150
243
150
150
209
174
124
136
202
121
202
156
121
238
223
112
186
208
168
187
172
170
136
150
223
199
174
233
172
217
147
234
112
143
170
167
184
178
231
150
150
112
171
171
162
115
186
170
150
219
150
170
208
157
208
245
147
192
172
207
165
202
112
181
237
172
242
203
181
123
170
190
121
130
226
217
192
112
228
175
136
208
145
170
112
121
121
190
150
205
147
137
150
278
211
150
267
150
121
112
280
208
234
176
150
136
231
150
170
263
253
193
150
150
239
150
150
167
164
128
135
176
208
232
172
225
257
170
224
121
194
150
165
186
250
208
158
165
181
170
137
181
123
112
187
171
201
177
135
150
150
150
136
156
150
207
172
144
167
112
175
248
124
121
237
181
135
170
121
115
121
246
135
137
192
112
192
172
186
193
150
161
208
158
137
112
123
181
112
206
171
121
147
172
193
194
121
194
192
159
233
167
112
208
205
186
243
208
160
208
164
123
121
194
121
135
147
121
177
208
204
175
237
210
196
150
208
174
208
208
143
255
121
194
164
241
212
176
112
150
121
208
112
121
237
112
220
228
192
121
170
187
112
208
193
112
170
197
123
175
168
112
177
203
123
194
112
147
121
194
121
212
160
112
186
176
225
112
193
218
170
202
167
208
136
121
112
123
123
194
112
121
229
150
165
160
150
112
121
150
255
112
147
128
123
233
178
150
172
192
194
123
181
232
181
229
112
229
121
196
171
210
194
181
150
156
237
228
193
159
130
112
112
181
208
150
150
121
150
255
302
137
215
150
121
121
193
187
112
190
220
208
208
195
112
181
146
170
136
168
150
165
170
168
112
167
137
147
150
172
181
226
112
267
158
161
112
123
195
212
257
160
240
164
205
112
123
150
150
121
150
208
150
115
123
115
195
202
226
177
152
217
170
159
137
182
143
214
261
150
208
150
259
163
249
112
186
167
167
123
172
302
193
226
161
112
165
228
193
192
264
187
165
258
194
146
239
121
112
167
167
200
150
121
112
187
112
193
191
265
112
112
159
228
208
121
203
196
112
209
121
167
176
156
158
112
159
170
255
253
121
150
135
164
208
121
164
192
216
123
150
121
160
112
152
121
160
176
187
208
135
121
197
208
152
160
208
112
208
124
135
281
210
121
175
193
170
223
152
172
202
208
165
233
121
208
115
186
160
139
181
112
121
181
161
241
143
165
162
258
228
112
150
231
237
150
187
121
112
150
150
267
159
181
243
208
128
228
208
157
176
243
196
167
150
146
150
182
240
150
240
158
147
112
170
228
167
132
136
121
170
231
220
225
112
172
167
182
212
192
150
202
112
172
172
214
176
177
192
172
112
165
165
236
193
150
230
194
190
194
262
172
203
239
150
165
150
195
174
231
172
112
170
243
203
211
220
158
208
210
208
228
212
171
226
230
121
164
176
194
228
226
124
172
253
221
150
167
121
203
257
176
150
146
121
181
240
211
147
181
181
215
216
143
176
144
194
121
150
202
150
174
207
150
112
203
167
172
171
121
195
163
150
227
136
192
112
254
112
181
150
150
212
121
136
164
168
153
195
168
196
230
176
215
158
208
172
155
208
219
115
112
172
208
147
194
160
208
168
226
201
226
164
143
135
150
168
167
237
167
275
121
195
150
170
121
275
170
192
121
112
112
187
229
150
150
237
172
152
171
150
150
150
121
174
186
231
112
181
165
193
150
201
237
112
189
176
176
235
196
112
137
186
150
193
170
124
276
176
203
172
167
229
226
121
208
172
208
228
121
163
150
302
302
181
210
181
237
228
208
172
237
121
208
128
112
168
210
210
195
159
259
170
167
208
210
172
255
194
123
112
214
137
186
121
112
123
169
165
203
205
170
273
167
156
207
112
170
208
172
162
177
278
216
202
208
167
150
136
176
112
112
187
220
212
150
226
208
186
167
208
121
212
205
198
172
236
229
121
135
176
150
187
136
208
228
160
212
124
150
121
208
121
121
165
150
112
207
170
150
150
210
187
210
123
115
121
239
176
191
159
208
132
177
194
181
150
231
168
121
192
121
156
156
215
228
222
112
220
165
112
181
123
187
195
164
115
207
165
123
150
193
112
112
225
193
150
228
186
231
167
161
172
192
167
208
150
147
112
121
137
194
217
135
210
112
206
150
172
240
135
214
212
150
121
150
232
112
172
194
201
123
150
177
164
194
136
213
176
231
237
112
112
175
227
158
195
187
115
112
205
177
158
176
228
123
121
215
112
220
232
170
220
250
172
170
139
171
121
228
124
186
147
130
219
143
172
163
179
137
202
150
233
150
204
159
185
172
194
123
208
184
112
201
177
123
241
168
172
193
112
237
167
152
170
201
112
112
112
165
172
160
176
112
160
176
168
210
212
135
192
123
150
194
150
156
135
243
175
177
250
164
112
123
128
158
112
208
273
150
201
112
203
135
187
208
179
128
146
159
121
174
150
184
208
123
115
240
158
194
194
171
128
150
121
208
150
208
167
228
159
150
176
176
218
192
210
112
135
231
175
201
205
208
147
291
170
176
172
167
112
150
174
275
158
171
178
112
242
123
150
172
207
208
193
112
170
182
170
230
135
167
136
186
165
150
250
137
194
187
170
167
124
121
171
150
187
150
176
137
136
150
187
237
215
187
150
171
257
219
194
177
167
150
115
194
158
208
208
115
172
231
208
175
150
237
139
209
240
135
150
203
112
136
202
121
150
195
177
165
212
124
230
121
183
158
170
121
237
112
112
212
112
228
164
184
121
192
237
208
123
229
186
181
147
186
194
170
208
150
208
112
226
255
260
147
208
128
150
189
121
172
121
175
195
123
195
177
121
265
195
158
150
167
181
165
121
234
194
167
112
152
186
195
185
170
194
147
176
182
121
121
208
212
172
112
112
250
207
184
239
123
255
121
170
238
136
208
152
208
228
174
115
150
186
130
226
167
165
112
150
210
167
150
208
112
150
136
232
123
115
123
112
150
167
121
205
193
137
165
150
167
123
112
195
150
121
208
195
172
232
272
193
128
232
172
112
250
130
150
239
112
192
150
172
274
181
172
176
190
203
167
112
170
156
136
150
278
112
170
121
150
249
208
217
299
150
210
171
165
207
150
168
193
201
150
150
196
231
146
179
121
137
208
233
150
135
212
187
265
203
217
158
212
167
147
150
112
123
228
150
218
150
164
185
112
209
112
228
192
123
150
167
150
263
201
176
150
170
171
156
208
176
212
250
234
193
208
176
194
165
150
220
150
170
140
136
150
150
172
215
194
219
150
237
232
208
205
263
150
217
201
121
137
165
139
115
208
170
198
217
150
228
172
150
208
172
112
168
210
150
123
167
205
195
172
194
150
196
225
121
168
150
233
172
208
165
150
147
167
193
221
123
226
112
112
177
176
112
121
194
259
135
152
112
228
121
170
130
150
150
164
167
270
237
175
219
187
172
167
167
276
121
210
204
194
164
123
234
171
189
136
233
250
164
150
112
181
143
112
225
177
194
158
112
115
212
228
195
136
121
208
190
214
167
121
121
121
208
218
236
112
150
239
158
207
208
201
185
164
172
189
123
150
150
208
202
241
193
186
210
205
181
168
207
158
202
158
201
112
121
206
194
115
170
172
222
236
115
112
236
150
112
172
177
150
250
171
173
174
160
112
225
229
177
137
172
229
208
144
221
181
172
112
152
176
208
181
192
150
150
150
176
121
208
276
160
150
189
150
171
214
165
168
165
150
136
213
171
150
112
274
219
220
112
115
203
230
225
121
172
201
185
150
165
121
171
121
177
243
121
208
112
231
172
123
177
193
167
150
135
195
112
150
137
170
243
136
202
121
171
172
150
137
135
112
208
243
121
219
197
217
150
208
172
205
267
112
130
170
208
172
121
172
239
235
150
218
112
150
150
112
228
123
121
240
207
150
222
150
208
121
194
176
207
183
181
210
112
206
193
208
170
112
197
172
121
112
172
194
121
217
157
112
158
147
182
220
112
213
135
208
150
181
212
150
121
217
195
167
162
207
172
174
150
167
158
210
208
235
165
136
161
121
147
263
161
121
150
150
208
214
137
176
196
196
208
150
160
121
136
172
135
208
144
137
208
150
136
171
147
147
153
172
201
150
192
130
136
174
274
177
208
123
121
121
112
112
170
156
112
124
112
207
193
123
172
168
158
150
167
187
172
192
167
158
112
143
194
177
202
211
170
170
228
150
112
112
112
152
167
135
112
152
184
206
112
172
136
206
172
171
192
150
121
150
167
121
121
150
239
150
150
190
250
265
150
255
228
150
239
137
112
121
121
112
167
259
177
194
150
124
208
190
208
121
158
233
239
240
194
170
150
226
123
218
150
172
158
112
205
184
214
172
150
150
181
195
172
172
194
200
164
208
121
123
192
257
162
238
150
124
170
265
112
172
164
187
228
171
217
168
167
146
181
275
124
198
205
112
172
150
218
112
170
123
174
150
208
171
231
170
212
210
238
121
243
147
147
192
152
195
201
210
197
176
181
170
240
170
137
156
124
172
164
112
208
200
218
208
121
181
167
202
170
121
208
250
208
210
193
124
150
150
150
135
112
181
121
207
208
150
170
187
186
231
150
193
150
210
208
123
170
112
213
121
112
158
187
184
194
150
135
265
150
167
112
121
220
171
123
172
171
158
234
143
195
121
205
160
187
172
172
171
167
167
203
164
176
121
115
195
121
270
121
115
131
168
220
159
150
172
136
121
218
112
167
150
170
112
165
150
165
128
193
170
112
170
172
123
112
172
135
208
150
123
147
112
212
234
135
231
208
170
179
152
136
236
215
187
194
150
137
167
194
150
241
154
121
217
206
115
165
172
205
150
185
156
146
172
208
206
181
176
150
121
174
240
170
177
174
211
202
121
194
156
150
177
112
150
135
228
137
210
205
147
135
193
208
181
121
167
258
121
177
112
167
209
121
167
121
194
231
176
121
146
182
136
167
231
150
260
186
243
150
208
137
176
208
205
121
171
112
194
112
168
181
195
192
150
137
150
150
121
167
167
121
172
264
167
145
211
136
195
123
210
112
210
223
226
121
150
208
184
196
150
171
112
168
179
228
238
194
143
115
128
177
234
208
206
157
112
112
209
137
147
121
239
202
150
167
167
208
177
150
115
150
187
150
181
150
172
143
121
172
121
205
176
112
137
112
150
178
147
250
121
150
194
123
171
160
172
194
170
237
237
150
121
167
193
159
112
112
150
112
158
150
237
150
206
174
150
123
160
186
208
174
112
150
161
165
167
170
121
194
144
130
218
167
208
112
112
150
112
172
139
112
112
252
228
239
278
112
158
181
207
150
137
237
194
147
219
192
236
172
208
171
112
186
121
202
121
124
150
112
150
121
172
136
112
170
241
150
162
212
137
176
171
177
112
112
212
208
150
112
203
302
198
217
212
164
136
194
220
121
167
121
147
150
210
150
135
167
208
121
214
208
237
193
158
172
112
174
121
121
172
208
170
172
208
170
276
165
239
137
181
202
299
137
165
150
202
150
112
172
170
208
112
208
207
186
208
201
121
194
176
165
123
163
135
212
121
170
172
121
237
171
208
171
112
167
186
220
242
143
208
128
238
121
193
150
135
219
166
250
121
150
194
159
200
228
164
187
121
181
112
237
170
112
121
178
112
121
150
150
202
255
165
112
234
112
174
150
112
208
208
208
147
121
266
158
112
171
150
187
112
203
282
161
210
216
150
174
239
121
208
150
147
135
235
228
201
123
177
147
176
213
150
167
194
213
175
165
150
163
194
167
220
112
121
202
135
197
172
152
136
194
112
171
210
290
186
207
217
112
167
208
231
165
150
176
168
167
124
121
150
121
135
175
167
203
176
150
229
212
194
208
171
112
172
226
150
115
203
150
112
225
112
202
244
112
274
193
121
208
210
183
208
147
226
187
208
167
197
150
147
172
168
208
167
167
179
123
212
171
208
208
193
172
171
121
208
196
255
194
229
170
150
112
160
222
232
112
195
167
197
136
158
165
240
172
172
289
124
172
172
176
186
170
224
167
152
167
208
112
203
170
121
172
150
213
170
176
112
195
208
202
229
146
188
167
123
241
150
123
136
208
208
224
128
184
123
353
207
186
150
112
112
172
233
170
210
212
137
302
150
298
250
193
202
231
150
229
231
150
115
121
239
171
159
150
150
181
195
208
170
170
229
121
225
229
112
213
136
276
167
208
112
150
232
121
208
121
170
186
260
226
240
112
123
135
112
202
178
187
150
194
212
167
182
150
218
112
186
150
208
199
208
207
171
150
223
170
121
150
231
228
135
246
240
115
115
176
172
150
208
115
208
150
202
170
112
208
189
177
231
167
194
112
181
123
193
203
203
159
236
170
150
218
163
167
124
201
212
228
112
164
121
147
170
194
174
214
165
112
165
170
210
112
112
112
220
121
247
187
147
172
202
164
150
123
297
150
150
112
150
123
150
177
175
172
232
226
121
112
167
112
150
150
171
150
181
194
115
167
168
228
112
171
169
177
208
121
121
159
115
167
121
150
150
150
112
163
165
218
137
165
165
208
176
176
207
174
121
147
150
150
137
170
136
222
232
170
121
150
115
170
207
157
159
150
172
229
112
236
228
212
150
219
150
167
192
167
167
186
127
228
123
186
220
213
112
178
150
176
231
167
213
203
195
274
239
121
153
205
172
146
167
181
226
112
182
164
237
246
194
150
165
172
150
175
226
192
143
230
112
269
112
112
136
112
112
203
171
194
203
112
150
208
121
218
112
150
152
177
158
172
186
123
220
150
115
121
176
121
150
150
121
176
239
262
207
165
220
172
165
150
167
209
158
150
167
115
136
216
219
174
278
233
217
112
192
123
208
150
112
208
121
241
147
193
121
208
176
158
179
230
121
158
279
121
172
112
194
152
270
167
121
130
177
257
123
213
115
267
150
220
201
170
189
225
115
204
135
228
172
167
172
167
170
194
150
128
164
170
194
158
112
160
170
193
137
150
172
219
225
160
187
137
278
189
186
156
208
121
194
201
150
156
172
112
150
176
123
194
226
174
174
192
181
165
172
172
195
240
167
172
167
112
172
172
172
208
236
165
230
219
112
202
112
123
135
150
112
121
112
150
208
171
177
212
177
235
112
170
231
171
136
112
160
202
150
176
182
208
150
112
186
228
165
239
210
165
184
115
150
112
174
192
112
150
193
150
121
187
130
112
150
240
237
112
112
174
128
172
139
193
223
219
176
112
231
255
121
112
150
193
168
186
176
158
124
228
121
112
177
137
112
182
121
208
167
213
198
158
192
172
170
172
230
177
175
150
172
187
112
170
135
168
208
194
123
152
150
186
172
112
170
229
228
175
176
241
150
137
121
194
150
208
165
172
167
231
152
187
192
123
250
194
204
174
146
182
257
152
123
123
230
193
121
167
238
263
181
208
250
212
112
201
124
165
208
171
137
167
236
150
167
226
150
181
112
202
181
167
223
135
177
150
195
194
219
146
263
229
229
203
225
150
150
172
158
164
210
112
112
186
121
150
228
168
181
232
201
175
257
112
210
112
208
147
112
150
203
147
176
165
172
186
229
150
159
165
172
171
171
112
256
176
195
112
208
112
240
123
174
112
193
187
278
150
176
150
200
210
161
193
135
216
193
225
167
179
187
112
143
152
150
171
202
112
213
146
121
121
123
172
112
121
192
281
150
237
167
164
164
235
167
136
174
150
170
150
195
176
195
158
112
112
121
150
130
150
189
258
201
181
130
208
172
123
150
202
112
135
158
150
112
193
172
137
195
121
208
112
112
171
208
150
195
170
181
187
208
112
235
158
150
135
181
203
135
167
150
150
217
228
195
121
136
150
172
195
165
112
112
208
170
165
150
150
167
150
112
159
200
181
137
124
170
121
235
112
172
112
208
220
121
135
121
165
181
240
180
192
130
135
174
150
167
150
240
123
150
208
172
228
217
226
172
121
158
123
150
224
192
160
112
150
244
176
218
176
230
186
124
165
276
170
170
201
208
150
220
112
172
121
128
226
172
112
112
167
174
172
192
194
147
172
227
215
232
243
208
121
210
224
150
250
150
172
158
121
216
181
172
167
212
203
226
165
167
150
208
167
215
209
123
170
242
176
112
171
150
136
186
150
208
165
121
167
112
167
123
165
123
150
236
231
186
207
194
199
237
150
160
239
121
112
201
195
228
302
171
167
112
115
193
226
123
124
123
121
183
150
121
172
123
115
150
171
174
212
208
208
143
150
112
181
167
162
121
208
172
253
171
234
255
177
245
167
191
112
240
156
253
228
167
235
208
176
226
187
208
212
121
150
143
164
172
194
186
203
193
150
218
218
136
167
112
156
176
238
218
121
158
208
170
218
187
187
159
203
130
192
202
112
194
233
112
121
112
150
121
170
115
165
121
123
302
202
159
112
150
171
182
170
121
208
150
174
115
202
208
231
152
150
228
250
186
172
150
191
181
150
172
152
201
194
112
202
170
121
205
168
195
186
175
112
250
156
177
208
229
229
155
144
171
229
195
112
170
208
199
186
137
202
172
176
121
121
121
112
121
171
220
194
112
123
193
170
172
172
150
150
150
255
208
208
219
193
210
195
164
150
226
112
112
193
208
121
226
115
150
123
160
255
177
159
112
123
171
250
121
210
195
170
167
150
135
135
265
112
168
217
147
170
165
237
121
208
112
150
221
150
112
256
121
150
112
135
264
167
147
176
167
212
150
190
167
123
170
137
242
152
231
181
167
150
228
184
189
157
150
172
150
208
112
121
160
150
152
150
172
112
143
225
166
208
115
177
225
165
210
210
176
171
150
167
150
121
121
193
121
175
160
150
203
274
228
208
172
170
112
123
168
167
171
168
265
216
112
112
145
164
220
121
171
194
112
238
136
170
165
187
150
181
150
174
112
167
135
215
150
121
130
203
208
187
150
146
172
172
121
228
205
176
208
121
147
115
159
150
158
150
225
150
187
171
112
150
241
186
208
165
137
172
112
115
194
150
136
112
112
121
171
208
159
208
150
150
167
123
170
121
194
150
121
193
167
112
150
121
194
115
136
195
150
167
170
175
196
212
112
170
186
181
186
170
123
150
136
150
150
187
165
210
170
136
195
150
161
128
250
194
121
150
189
226
167
112
240
171
135
112
121
170
236
143
150
193
172
123
195
165
276
137
172
121
172
121
135
150
178
235
150
201
195
112
208
207
202
187
150
217
121
147
202
128
184
212
218
193
254
158
121
171
264
112
158
237
150
208
171
205
201
172
201
115
121
199
121
172
115
147
150
170
229
175
150
136
220
176
171
228
208
176
150
181
150
207
170
208
112
150
150
181
150
160
130
112
182
179
219
220
193
112
260
181
237
158
150
213
171
147
150
208
123
250
199
229
160
112
150
121
165
144
194
212
123
163
212
208
184
139
175
165
121
220
208
250
121
201
171
170
150
172
229
112
250
210
179
130
165
135
150
172
121
195
165
121
181
150
172
234
172
187
186
158
150
226
231
250
260
193
208
220
150
273
137
165
208
168
187
150
208
175
237
123
194
121
181
174
194
164
175
112
179
161
135
210
203
123
123
121
150
205
124
112
171
150
150
112
164
215
262
172
167
187
181
265
234
121
115
255
165
208
172
137
121
150
172
181
112
112
112
147
193
150
123
136
176
257
121
150
205
172
207
112
171
167
121
208
112
255
237
171
167
189
150
201
121
212
147
271
172
121
115
172
220
150
165
147
172
150
176
128
176
158
205
212
171
208
170
278
255
181
181
165
121
171
112
213
121
172
223
121
115
209
137
186
213
177
181
147
227
195
253
211
167
200
276
112
239
208
135
208
159
186
194
112
136
158
167
167
223
147
123
208
167
173
150
165
212
186
189
150
150
197
112
164
194
124
141
195
115
137
172
150
147
112
112
121
215
172
164
220
237
187
121
121
199
209
203
112
237
205
205
112
241
189
228
208
170
242
123
219
186
184
170
150
218
112
124
202
176
256
175
237
150
150
158
208
121
150
220
181
112
123
273
171
203
171
150
181
203
150
112
121
208
194
167
121
137
181
121
164
206
170
215
256
172
121
150
150
112
208
121
189
147
208
158
177
164
121
159
228
112
137
150
150
144
170
170
150
181
167
216
228
203
210
135
171
172
130
112
243
170
177
226
237
121
156
150
115
236
170
212
187
184
202
112
112
176
237
170
172
208
186
194
174
121
194
137
171
208
181
136
172
150
193
150
174
150
238
150
237
165
212
208
121
112
137
201
143
121
121
150
172
112
205
186
214
136
124
112
150
201
121
112
224
167
272
150
302
193
193
228
170
112
150
150
121
164
225
136
115
167
257
186
150
164
226
189
171
186
150
158
137
160
182
178
174
150
203
181
270
208
194
121
202
217
121
171
239
192
219
164
262
150
239
150
112
172
174
150
210
152
135
157
167
172
172
226
194
121
150
214
135
124
216
175
147
219
167
218
121
112
137
172
121
147
181
158
124
159
127
172
208
165
210
220
226
208
170
172
189
187
187
150
167
123
189
272
236
181
217
184
176
171
121
164
179
194
115
185
146
150
234
150
210
170
193
208
232
130
210
193
158
164
130
136
164
186
207
208
121
112
150
195
218
212
167
130
160
210
165
160
241
187
135
130
219
255
216
167
162
186
208
220
208
178
299
135
179
225
172
172
181
150
257
269
150
255
177
150
112
167
146
227
156
208
225
201
208
257
150
236
195
172
164
177
177
165
240
181
136
210
167
150
199
170
224
172
208
212
112
112
147
218
171
172
136
150
224
159
150
231
208
121
112
229
243
208
121
213
177
167
178
203
188
123
150
237
121
201
112
112
165
194
123
218
165
136
150
212
121
135
112
158
223
150
255
253
197
208
147
141
263
166
231
233
150
121
218
172
181
121
198
150
218
272
189
135
112
208
115
208
193
187
175
112
170
212
193
177
177
123
208
214
202
112
224
150
150
121
194
150
207
170
171
170
150
128
150
115
136
172
186
155
150
208
172
181
121
205
175
195
181
278
121
231
211
171
150
147
193
183
150
208
121
112
168
297
123
181
136
112
177
228
194
150
194
193
123
112
168
150
158
186
145
205
186
192
228
172
192
194
208
171
194
139
137
194
121
207
255
172
112
218
212
253
171
194
115
150
177
167
202
195
252
121
184
208
174
219
112
112
150
123
171
177
228
219
150
150
150
171
112
218
264
209
172
158
121
167
172
257
150
172
170
177
121
187
187
176
172
112
121
202
187
237
150
215
172
150
232
112
210
130
219
210
167
158
230
121
170
202
121
176
150
150
203
237
147
186
240
112
112
172
150
121
150
150
112
150
167
150
167
202
150
228
182
121
121
212
177
137
176
177
147
150
210
150
181
186
150
205
172
121
150
172
167
123
144
194
181
121
289
135
176
121
121
172
171
243
159
258
112
137
219
150
179
208
177
112
150
194
218
237
156
228
172
150
156
167
195
208
181
137
170
208
171
210
123
231
208
112
172
121
115
170
150
164
250
150
128
160
197
132
124
194
251
176
160
215
112
170
136
167
242
112
160
156
167
150
210
193
121
150
112
201
194
156
112
190
276
186
216
121
112
193
233
136
166
167
170
175
243
150
143
199
167
115
171
158
189
121
161
181
150
212
112
150
124
237
150
231
181
121
147
186
179
147
170
121
121
123
153
123
150
172
208
193
123
172
136
121
194
150
232
156
238
165
172
218
112
167
231
171
193
187
235
236
220
186
112
250
150
135
202
209
150
170
176
123
121
177
237
121
181
216
208
171
150
121
152
202
112
194
278
172
170
121
121
298
167
172
228
170
167
171
228
235
167
135
208
150
202
150
186
194
219
112
159
210
181
121
212
196
255
167
237
144
192
208
167
137
187
181
164
257
172
168
135
168
121
178
230
112
152
158
135
121
201
170
170
217
161
202
115
172
160
171
181
121
112
123
121
150
121
137
194
147
186
231
112
172
121
225
112
278
167
121
167
159
177
181
176
302
194
207
203
121
172
172
203
195
208
121
197
167
181
150
193
137
181
150
208
208
170
170
231
228
121
112
112
250
203
174
239
150
112
156
165
167
115
150
121
210
236
214
150
174
165
167
172
192
123
193
123
112
181
208
121
258
159
212
135
219
167
123
121
121
123
112
123
176
228
190
112
194
112
136
159
112
186
164
150
186
193
124
150
171
167
194
123
226
226
170
150
115
223
189
150
165
121
207
192
214
112
112
167
192
121
150
217
171
181
150
230
167
176
150
168
150
112
181
112
165
172
123
214
231
130
250
192
167
150
194
208
136
172
115
237
150
170
150
234
150
241
264
150
167
212
227
158
218
201
237
233
112
231
150
167
228
194
121
147
208
207
121
177
165
182
112
150
204
221
136
136
208
115
194
176
203
208
121
187
112
112
207
193
176
130
216
172
121
150
115
137
150
112
159
170
237
174
205
170
123
208
178
156
194
121
136
170
237
167
135
146
143
248
208
150
170
171
164
217
243
112
128
208
121
165
186
150
121
150
187
121
150
192
232
210
208
243
167
150
237
298
233
237
194
171
150
121
121
115
167
227
178
152
112
150
266
123
150
220
181
205
184
164
146
214
194
218
171
228
172
165
211
201
177
170
123
121
229
231
123
150
130
175
171
239
150
150
208
165
226
259
170
144
250
164
186
194
150
150
165
176
170
204
194
112
150
147
136
172
150
115
152
234
112
238
167
150
190
150
226
150
112
264
159
150
212
203
232
172
172
204
135
146
112
167
215
239
239
147
250
112
210
150
170
150
194
198
172
170
210
208
181
181
168
192
172
210
194
195
202
121
171
152
328
166
137
171
205
158
208
179
112
175
186
160
121
137
115
167
242
135
135
172
305
172
181
128
216
206
232
178
150
165
257
121
302
218
170
209
124
165
194
150
150
243
210
187
136
130
199
112
172
150
176
160
208
174
201
194
164
112
229
121
176
150
121
123
181
208
150
172
226
201
194
176
172
167
179
208
195
238
121
150
212
123
208
112
172
216
186
121
150
201
150
170
172
121
112
112
208
194
150
150
213
225
239
195
189
171
164
135
147
187
276
112
208
143
172
208
257
112
172
215
198
171
112
226
167
150
159
167
112
239
219
172
143
128
250
150
150
201
208
135
112
243
184
167
112
302
168
203
193
150
158
160
147
208
193
121
183
228
208
166
167
210
171
150
135
167
131
172
205
171
186
229
210
121
255
150
239
243
115
208
150
167
208
121
112
150
170
171
209
201
172
121
179
205
112
150
150
121
115
150
150
123
229
170
164
176
228
198
165
150
209
220
158
123
172
121
150
208
115
164
115
218
121
276
128
253
150
263
208
184
195
121
237
135
172
115
176
150
268
115
143
223
158
130
194
208
233
121
112
177
150
223
167
150
130
173
150
171
192
192
226
150
187
121
195
112
121
172
199
150
245
172
121
218
212
193
167
157
150
112
211
176
260
174
121
150
121
239
194
194
202
170
193
259
167
150
150
112
150
171
112
115
172
176
172
150
167
250
121
121
172
156
172
193
212
208
225
184
171
150
192
190
208
150
208
121
171
167
193
186
121
171
170
167
128
121
137
225
237
112
123
196
150
150
226
167
176
235
216
205
150
167
172
231
198
195
167
237
121
231
228
165
160
181
115
187
208
112
192
150
150
167
112
208
299
208
158
176
112
210
112
130
208
150
158
190
185
157
264
193
150
198
208
172
218
235
257
112
172
250
172
201
228
150
136
121
150
130
276
170
112
150
167
170
186
167
121
228
158
150
150
174
194
208
243
231
123
164
135
203
216
115
195
278
137
115
172
208
170
244
168
170
112
170
158
121
150
112
112
170
121
139
218
172
194
176
187
160
237
186
260
186
172
244
196
160
150
152
240
150
208
112
150
167
172
201
184
124
177
208
121
123
150
232
210
172
194
208
112
147
190
170
167
218
121
167
170
112
112
172
121
175
243
150
137
121
202
203
123
121
112
225
216
176
164
121
208
177
227
135
167
342
270
124
231
174
158
112
186
121
172
211
171
164
121
193
184
187
160
172
112
193
115
155
123
170
181
206
206
208
150
121
202
181
112
170
234
168
239
150
132
194
187
208
144
150
150
121
181
232
121
150
189
172
226
121
181
112
172
200
238
195
150
208
198
150
150
223
181
121
137
193
208
302
143
172
168
121
172
210
150
112
167
175
194
210
121
194
112
181
220
253
167
167
136
136
270
167
208
160
112
208
208
121
121
121
167
170
175
177
215
121
123
231
253
150
165
220
123
265
121
194
170
158
170
121
208
195
112
158
184
150
175
170
112
177
255
165
178
159
124
150
112
112
150
112
150
158
170
182
171
171
158
121
193
232
123
143
171
150
264
235
172
137
150
198
172
193
245
192
176
112
171
150
176
202
167
194
164
217
121
233
170
121
172
255
220
123
176
112
112
136
136
150
170
160
150
137
165
136
174
194
231
121
171
112
255
179
121
137
175
170
212
150
121
112
181
165
112
192
150
198
276
130
237
193
218
186
112
112
115
112
112
121
263
181
190
172
212
160
152
136
193
184
137
193
160
181
281
121
192
186
176
228
147
172
112
165
150
150
203
131
191
202
150
164
207
150
210
172
112
176
202
112
124
171
150
137
150
112
263
121
112
164
181
201
136
239
218
208
174
167
123
115
121
121
121
112
151
137
150
112
112
124
194
130
255
172
171
135
121
158
167
137
208
135
241
121
228
226
208
189
170
165
208
168
170
136
174
202
186
211
164
186
121
218
150
123
210
223
121
171
112
165
209
170
112
171
208
193
136
112
170
231
172
177
172
158
193
176
165
150
112
112
208
208
208
172
222
173
186
205
208
152
150
228
143
240
156
220
170
176
193
177
266
146
112
176
152
170
150
160
152
203
181
112
196
115
208
164
208
178
181
171
208
202
135
212
150
167
172
123
150
150
263
121
213
206
150
112
203
172
250
205
150
274
195
208
136
160
136
150
170
172
112
121
121
136
112
232
174
123
137
274
150
121
150
213
250
130
201
121
172
152
164
150
193
124
195
150
112
135
194
178
150
226
182
150
208
208
170
208
172
152
266
150
234
194
112
208
124
208
217
204
157
192
130
170
167
176
244
176
167
121
150
167
187
130
121
203
123
121
176
112
302
112
167
177
171
192
171
233
112
255
147
205
112
124
121
178
187
121
128
121
123
194
177
155
165
115
123
196
206
212
150
239
228
123
208
217
187
112
150
208
121
208
150
193
195
161
167
150
168
123
112
121
209
136
276
165
193
112
252
137
225
203
163
172
172
121
165
150
150
171
158
208
150
231
208
112
176
263
158
208
115
176
203
215
212
202
172
186
121
167
165
208
171
199
167
135
112
191
121
167
123
121
208
137
184
177
208
121
182
171
121
121
150
121
208
165
147
239
130
174
170
208
150
160
124
170
112
194
170
208
237
150
202
152
112
112
150
123
112
172
112
112
136
172
172
177
202
175
233
165
193
232
124
150
259
112
239
228
135
229
172
137
208
150
177
167
205
157
197
194
124
237
150
121
156
112
237
194
170
192
150
121
187
150
237
167
167
167
162
112
170
227
236
112
200
194
170
112
212
270
192
208
112
195
164
123
201
220
174
211
228
147
176
124
115
194
202
228
121
137
167
172
137
170
194
217
130
167
121
231
193
181
176
170
150
112
238
172
150
237
217
179
167
171
172
121
112
150
136
189
199
150
167
209
121
171
150
121
174
160
112
186
228
170
112
208
203
143
112
121
209
150
171
112
112
171
212
194
172
170
121
121
165
175
240
172
181
170
254
165
197
130
176
231
206
170
130
112
137
147
165
159
192
187
176
202
216
121
227
147
189
202
208
272
115
278
167
205
177
121
170
158
123
181
167
135
176
215
176
194
152
193
121
150
150
187
121
200
171
171
147
135
172
220
150
112
112
220
195
150
123
137
170
228
150
181
189
112
150
167
136
225
150
165
121
243
123
158
121
231
228
170
239
171
208
231
172
150
137
202
112
219
112
123
112
250
170
143
175
112
202
214
207
187
150
128
130
239
150
121
162
199
150
255
121
170
210
257
121
112
121
159
121
178
150
208
135
150
150
217
164
207
167
112
241
121
159
193
150
204
121
135
121
150
150
112
210
112
121
135
150
239
136
205
250
112
172
167
112
150
168
112
181
208
124
189
203
156
197
208
150
150
201
179
172
172
193
196
112
150
194
216
170
136
171
165
135
178
121
171
115
131
208
121
179
170
121
190
208
150
231
170
176
195
147
203
174
184
112
214
130
176
185
123
181
121
206
121
150
186
181
260
156
160
135
228
194
176
112
208
123
112
150
256
236
167
245
121
171
192
217
176
150
187
171
194
150
250
112
123
186
137
224
187
112
160
194
150
121
150
208
260
167
208
226
137
279
201
123
193
172
193
121
136
228
112
170
210
215
172
170
172
150
150
208
174
115
167
173
167
187
257
170
177
135
232
203
115
173
223
200
135
135
228
112
195
228
174
239
181
231
260
208
203
123
170
193
112
215
198
167
211
177
175
271
172
187
173
121
156
147
237
168
212
208
128
171
208
123
170
172
150
202
187
186
171
207
137
156
150
150
112
195
172
228
242
243
158
176
150
167
112
172
215
193
150
135
177
115
164
112
159
208
121
136
244
160
259
167
172
212
244
150
112
121
208
121
158
201
186
137
143
202
172
112
217
172
150
147
228
230
112
218
167
158
112
121
202
150
112
121
236
123
130
112
174
214
179
167
265
123
112
215
136
137
112
150
121
275
155
135
150
176
160
187
208
197
172
121
170
123
229
165
174
255
208
121
208
208
147
208
190
170
170
176
202
172
172
228
217
168
175
181
170
123
212
218
112
121
112
136
208
112
164
112
112
150
121
176
135
202
196
233
184
231
112
135
203
200
112
123
150
171
165
150
200
195
170
167
135
186
236
174
121
263
210
210
176
208
150
210
121
112
171
239
112
186
170
160
165
150
212
170
170
210
112
158
128
112
174
208
177
123
112
160
176
172
238
121
202
172
112
165
112
192
135
193
115
179
112
164
171
235
150
150
121
181
159
150
228
276
112
170
217
245
170
112
112
150
181
121
161
181
187
124
187
123
208
172
194
150
167
167
227
237
136
170
112
188
150
201
208
176
147
212
234
239
176
150
195
178
208
237
255
135
150
176
123
172
112
208
228
170
208
167
150
176
208
121
121
123
200
202
208
208
176
136
150
208
112
121
112
112
231
112
208
181
194
225
112
271
165
201
168
124
231
194
227
150
121
220
121
150
112
232
193
174
150
115
112
236
165
201
181
167
208
196
123
202
112
228
194
150
136
164
112
112
112
170
150
203
240
121
130
193
178
137
157
194
170
112
208
231
112
170
158
121
150
121
226
121
150
203
210
170
159
167
229
208
159
147
173
168
168
244
139
159
137
189
170
208
144
128
195
150
194
226
150
172
112
172
162
193
196
164
186
171
167
171
112
208
135
161
168
170
194
203
171
208
244
244
208
255
115
264
202
121
187
186
190
112
193
226
112
112
165
159
170
179
170
147
112
176
165
175
121
171
236
150
174
194
201
181
186
187
112
121
160
121
160
135
150
179
115
228
123
150
150
172
171
147
190
121
121
203
123
147
150
171
187
226
208
112
130
208
205
272
150
208
174
224
237
170
121
176
183
189
136
121
172
231
121
168
171
231
237
112
193
112
123
160
187
218
201
210
121
218
150
207
178
220
208
195
170
121
167
121
194
170
278
208
243
115
181
193
233
186
225
172
167
171
194
175
123
150
123
172
190
194
121
199
152
165
208
159
186
150
171
226
175
112
194
243
150
150
121
172
135
164
172
150
121
194
175
228
193
160
121
150
156
150
150
150
137
226
232
228
147
124
199
150
150
123
112
172
201
146
112
181
121
228
172
202
237
121
229
112
171
150
226
112
150
261
112
167
220
121
220
121
181
150
197
226
135
158
210
231
170
225
115
177
150
198
136
168
223
150
167
194
158
165
278
160
208
194
121
157
177
170
167
150
150
255
168
229
292
158
165
159
112
200
124
276
146
208
255
195
112
115
187
226
112
219
237
167
147
150
172
263
215
302
217
121
150
168
170
194
112
112
161
168
150
121
124
112
209
150
137
150
228
186
210
170
150
121
158
170
150
189
168
150
112
112
214
203
193
158
208
112
165
164
195
150
137
212
170
112
218
121
147
123
171
156
158
150
210
191
225
112
159
205
167
121
218
203
167
150
150
194
231
112
297
174
255
115
112
219
224
150
136
150
181
194
123
194
150
236
150
112
180
226
112
121
150
137
165
172
177
112
150
150
172
121
176
195
150
150
175
150
112
174
150
167
194
121
176
240
181
112
121
165
170
167
171
172
136
150
205
172
170
186
123
208
172
186
160
147
150
124
171
225
195
165
186
112
176
208
266
135
172
121
171
165
236
112
164
196
115
171
137
121
170
208
112
167
167
172
171
121
112
212
150
226
223
231
165
112
193
160
121
165
112
150
150
220
186
167
112
159
172
135
189
150
152
144
172
171
302
171
164
152
172
121
121
181
112
121
150
194
254
165
171
208
121
202
112
176
215
194
123
121
128
227
174
112
206
160
172
209
234
186
121
165
194
150
263
243
194
121
172
158
208
216
168
269
172
187
149
194
135
172
215
264
167
173
194
250
224
123
171
150
121
208
212
124
177
215
150
250
168
258
193
231
121
195
121
143
194
150
170
150
150
167
158
121
150
150
128
245
170
171
236
137
121
165
184
250
220
158
112
176
150
121
160
176
150
167
150
193
121
160
162
170
172
184
164
176
121
212
172
228
202
121
121
164
158
227
176
170
201
136
176
167
187
147
157
212
170
226
173
197
150
150
112
208
121
175
265
147
150
112
158
123
208
208
165
245
207
112
172
112
231
115
180
184
202
150
217
186
253
186
207
206
137
167
172
224
112
136
195
136
112
150
254
112
159
276
121
135
172
121
231
212
179
212
225
223
202
135
238
157
112
160
172
170
150
150
112
121
172
112
123
167
150
215
150
201
152
177
167
182
226
172
143
121
176
112
172
302
150
208
150
202
128
208
239
135
156
150
158
208
115
231
181
208
165
238
137
194
130
150
123
208
217
174
219
150
176
176
281
144
171
170
112
123
165
121
176
112
137
170
181
208
150
147
150
112
123
150
150
225
121
174
201
121
223
172
112
150
121
136
263
161
203
176
228
171
156
159
203
112
112
159
150
208
178
121
171
186
150
172
159
194
150
115
175
181
124
215
121
150
210
176
181
165
170
207
121
217
170
228
121
218
150
121
172
167
161
157
170
186
167
121
112
112
150
150
135
164
259
160
210
165
228
241
237
135
171
157
150
194
167
124
193
130
181
181
177
193
212
112
135
150
212
159
121
202
195
194
208
164
202
159
212
121
242
123
208
121
228
167
228
136
225
171
121
112
193
170
181
227
164
170
206
150
237
208
210
128
186
194
226
193
212
112
210
168
195
208
121
208
112
124
150
150
170
193
150
228
121
217
201
228
263
176
176
159
261
194
147
170
171
172
115
172
150
237
267
239
115
232
177
121
115
150
176
196
150
210
193
210
170
193
167
124
186
185
144
121
175
186
179
268
213
147
150
121
121
201
215
203
112
112
172
124
112
240
165
172
150
150
189
170
172
186
195
137
208
135
175
150
237
212
172
167
150
205
156
193
185
130
213
193
231
171
112
135
158
222
171
194
165
194
165
121
244
199
237
150
186
202
150
187
150
228
172
228
171
172
186
135
170
150
208
231
135
165
208
195
121
172
123
232
208
236
228
177
135
165
237
257
167
112
123
186
219
198
112
150
156
219
203
226
195
135
121
203
170
136
245
186
173
150
112
150
135
231
170
195
194
121
210
112
217
150
150
177
218
150
208
150
179
177
112
207
218
205
245
239
135
150
228
150
121
159
203
172
218
121
170
208
201
121
112
264
137
158
167
150
158
112
150
150
121
250
181
171
205
202
123
130
128
150
179
158
123
255
150
220
135
172
161
220
152
112
178
186
150
167
242
167
150
259
172
167
150
150
171
187
174
215
150
171
170
220
167
121
170
239
136
228
121
172
139
136
218
171
112
186
209
216
208
150
112
210
192
224
168
171
170
218
147
170
112
302
189
263
150
150
170
135
176
147
194
210
208
121
137
158
220
227
167
187
150
237
150
150
198
176
150
150
203
240
121
123
187
228
206
186
112
241
194
172
208
208
150
207
159
147
147
121
123
229
115
163
196
252
150
210
187
115
112
144
170
137
208
176
174
193
237
240
212
150
158
121
112
112
159
215
112
172
237
176
216
112
192
193
170
164
150
168
236
121
137
230
135
210
150
208
152
235
112
207
112
208
178
150
152
150
112
150
229
158
192
121
171
194
250
162
179
150
217
187
179
164
181
159
144
208
208
172
165
150
215
150
112
220
196
150
208
177
167
121
152
195
176
136
239
123
121
228
210
150
168
112
208
150
150
208
182
121
218
123
130
250
167
136
227
167
121
297
121
219
112
258
123
147
176
152
184
205
112
236
171
203
121
195
156
212
179
195
170
130
156
136
173
219
250
123
192
121
208
208
272
150
240
233
175
212
123
208
112
228
194
210
150
237
203
172
193
218
121
219
186
165
210
136
112
121
158
206
255
146
214
150
150
130
112
123
181
208
150
150
167
112
194
189
203
121
171
194
171
150
231
137
195
124
208
167
167
204
193
210
208
242
172
123
156
252
302
210
194
150
250
128
124
184
178
150
189
170
176
187
170
112
112
121
171
170
112
174
208
302
220
197
195
150
150
128
124
205
112
170
165
194
239
168
206
121
150
143
123
137
121
174
150
193
198
185
181
150
112
188
121
208
203
225
208
121
202
186
228
181
170
195
160
241
123
208
195
143
165
217
225
167
123
124
181
195
240
265
186
194
174
150
112
183
150
167
132
202
130
181
218
237
182
171
171
121
194
299
137
150
176
175
205
255
190
257
167
171
156
112
201
137
186
305
176
208
205
208
167
160
208
227
192
112
232
174
121
150
179
150
172
228
112
124
121
240
168
152
150
208
167
212
157
112
189
115
172
208
147
182
195
214
158
177
112
175
176
174
172
226
150
172
178
150
192
135
195
121
136
230
150
246
174
210
218
207
170
112
165
186
123
150
128
112
147
194
176
150
195
150
150
165
259
112
150
112
121
150
121
175
195
150
165
121
223
160
186
137
230
177
170
170
228
167
112
226
172
220
121
165
195
137
150
172
225
171
150
112
159
176
121
150
121
150
150
208
112
150
250
170
193
150
212
228
164
174
172
121
146
150
112
137
186
215
136
112
193
150
181
194
150
150
159
171
208
182
212
124
172
195
186
150
176
150
181
198
172
172
220
201
171
172
170
201
150
217
194
124
168
158
121
255
218
186
205
176
112
150
228
150
112
239
150
150
115
121
123
172
112
150
246
194
124
167
171
135
167
177
170
202
229
194
231
170
201
157
181
208
200
150
202
170
165
144
193
187
124
173
112
150
121
172
112
135
214
150
234
225
239
181
187
228
226
112
170
121
167
205
202
112
192
258
212
165
201
178
170
137
217
156
172
150
167
160
112
150
248
228
170
195
172
172
121
208
172
208
181
121
179
208
240
202
193
147
197
231
231
208
203
112
121
194
265
121
176
208
194
128
226
112
231
150
212
112
150
176
115
172
112
216
121
181
171
182
176
112
181
193
150
167
228
208
164
218
143
203
194
192
115
150
181
203
219
174
158
170
150
171
171
174
171
112
112
184
181
147
230
150
112
208
167
226
208
208
112
225
167
173
150
121
194
219
176
112
121
165
177
115
230
237
112
112
150
112
311
121
167
121
193
167
188
201
150
181
219
123
211
150
201
150
147
194
227
150
208
112
121
165
156
137
225
170
181
195
250
171
231
123
175
130
202
147
112
219
112
121
195
288
207
121
181
174
171
208
168
201
201
112
228
112
147
170
194
112
143
219
195
173
112
121
240
121
150
121
217
172
124
225
152
167
165
205
150
144
205
150
115
208
181
257
205
231
201
202
167
121
150
208
212
150
130
259
112
152
181
176
121
112
208
208
181
136
167
170
208
203
176
150
150
128
150
208
112
201
165
181
195
137
172
135
233
165
158
165
112
211
208
147
186
228
121
137
121
208
187
159
171
150
194
168
193
150
244
112
150
177
210
225
137
159
112
267
150
112
201
192
150
208
193
112
112
165
165
158
201
115
150
172
130
186
172
177
176
165
136
193
204
194
186
240
216
232
164
228
112
124
195
128
193
253
150
208
208
194
135
172
112
302
167
158
150
150
211
171
159
204
123
208
137
136
112
165
112
177
112
112
147
150
250
112
194
171
168
207
150
172
228
150
112
194
165
192
172
170
112
208
193
150
208
255
146
167
115
167
150
135
123
184
170
121
112
175
150
174
208
121
239
252
208
170
228
115
170
150
193
150
208
226
150
238
150
189
189
158
210
150
170
112
112
203
229
112
255
194
150
198
188
239
170
226
112
150
112
208
202
207
181
181
237
112
167
186
291
228
219
187
161
187
186
192
136
302
150
234
158
156
167
194
121
150
135
171
225
202
237
152
167
156
167
193
187
150
190
181
150
156
147
219
208
238
201
237
150
215
136
195
121
121
112
227
258
170
176
112
167
206
181
165
193
181
150
172
139
150
194
212
115
195
208
170
168
203
250
170
231
235
112
172
150
164
146
150
149
112
194
220
121
112
266
236
194
240
237
202
205
167
181
115
202
167
205
172
172
128
229
150
136
189
144
121
215
123
206
160
202
115
237
112
170
168
194
164
255
230
141
171
112
167
135
208
193
239
208
150
175
172
143
150
112
171
208
150
172
278
208
257
232
161
112
112
135
212
115
172
203
194
121
112
170
112
208
172
171
214
171
175
172
112
115
172
171
150
150
229
135
171
194
208
150
208
208
193
121
172
208
112
217
212
171
121
165
172
123
136
184
136
124
137
205
164
150
239
172
237
150
150
187
231
167
209
201
170
112
121
167
150
220
121
130
160
271
212
152
204
147
121
174
178
257
208
250
208
160
186
159
167
260
136
181
150
175
181
112
173
194
215
147
150
150
150
150
165
172
208
112
121
239
231
202
136
150
195
153
150
172
150
231
193
172
208
186
112
201
165
165
210
150
208
167
193
121
135
208
112
208
208
150
208
244
193
112
208
172
208
112
186
121
144
237
211
223
121
231
208
115
152
212
150
112
208
234
171
112
121
121
162
215
143
172
150
112
223
208
112
228
121
164
150
172
167
121
150
137
123
186
171
146
193
174
172
123
150
160
150
226
242
250
136
150
115
234
150
217
135
112
112
167
150
112
210
213
170
121
112
239
150
177
207
112
150
203
176
144
150
171
170
187
121
171
150
208
112
139
190
170
232
212
172
302
150
193
172
174
167
150
121
121
149
201
167
225
137
150
189
208
229
186
143
181
152
208
167
160
202
193
237
115
210
160
150
186
115
245
219
152
150
112
249
177
233
194
191
115
250
194
112
214
112
150
147
172
171
202
112
223
201
112
130
112
202
167
201
150
214
159
112
208
215
112
190
231
112
194
112
212
150
135
121
112
207
123
121
164
112
167
171
121
228
112
172
167
200
208
172
202
150
212
121
252
207
274
172
175
150
177
150
150
121
112
137
121
150
194
219
175
172
159
136
187
231
112
130
219
208
167
177
224
147
172
167
236
135
170
165
150
112
158
112
121
150
165
176
160
190
123
170
158
150
121
112
171
271
171
170
250
208
246
143
229
202
254
187
121
220
227
210
165
112
150
121
236
226
220
188
250
209
124
121
187
302
208
124
255
204
174
121
172
171
112
121
218
208
168
194
170
150
170
212
170
202
112
147
207
112
150
194
208
226
242
250
231
164
233
209
181
165
172
170
121
143
112
150
176
135
208
201
160
277
136
281
229
112
228
121
208
136
194
135
128
210
121
208
193
203
238
264
202
158
187
159
210
276
245
187
201
112
174
172
144
170
211
159
184
234
112
212
150
150
194
208
121
177
170
202
201
250
156
168
187
232
198
175
160
115
228
191
229
229
150
150
112
150
170
150
186
123
231
130
228
243
165
112
194
112
172
112
229
121
121
167
170
124
136
136
201
209
210
278
156
181
150
237
241
121
172
112
233
150
177
219
190
208
239
212
223
121
193
176
177
231
123
187
150
150
150
193
176
150
210
177
172
121
171
194
150
300
160
156
171
218
208
112
112
229
112
194
187
112
147
172
239
121
174
167
172
112
187
231
123
240
208
234
165
112
112
186
115
121
112
207
112
170
210
185
342
212
187
150
208
112
137
208
147
239
150
194
208
231
270
181
135
211
150
177
123
202
172
202
194
121
217
152
170
192
112
121
136
112
234
175
171
112
112
255
112
172
237
172
136
121
181
200
162
214
112
210
208
171
172
176
202
121
174
210
264
278
136
115
112
112
124
115
121
170
176
208
302
185
181
208
112
203
174
137
228
150
150
198
158
220
123
112
147
115
167
158
177
156
167
172
160
184
167
208
176
150
141
202
208
135
143
220
121
172
136
121
172
233
236
211
192
112
165
177
232
137
203
211
196
150
147
124
187
208
172
170
172
136
150
187
229
210
210
172
195
194
121
228
160
165
121
121
195
144
189
167
187
175
179
167
205
146
193
135
174
170
208
202
112
160
121
112
220
193
112
237
208
112
239
164
204
150
207
172
172
193
167
199
170
115
172
175
172
197
156
202
208
214
121
172
123
115
171
205
216
210
208
194
201
181
156
150
228
165
189
170
250
121
136
121
225
150
167
136
261
167
212
225
205
214
150
121
150
177
250
121
121
194
112
121
170
208
202
201
147
121
167
121
124
112
150
112
112
212
160
165
170
262
208
112
218
208
172
167
179
167
194
135
164
167
203
213
150
177
203
193
196
150
112
225
174
150
112
210
165
181
203
208
202
130
150
185
193
194
171
121
135
171
156
121
223
152
168
210
168
112
172
112
115
181
150
179
302
167
147
232
150
240
112
194
165
193
184
165
167
150
170
165
178
143
273
170
187
271
195
115
150
136
178
208
150
115
167
170
176
170
159
172
121
147
175
171
121
158
246
112
121
236
135
170
150
121
221
179
172
228
158
176
208
123
176
234
147
171
124
112
167
162
172
150
166
200
172
226
172
177
123
150
302
150
159
139
128
175
249
204
121
150
150
297
212
150
161
172
112
230
124
112
208
181
225
201
240
135
150
171
121
208
184
167
172
112
220
147
159
226
226
193
131
172
164
112
112
112
112
210
147
179
123
196
237
186
168
121
193
178
150
234
228
150
194
223
170
225
135
276
208
121
150
150
195
195
210
112
200
124
200
167
130
164
121
165
121
172
112
121
172
171
170
177
170
212
176
172
158
208
228
112
228
121
147
121
205
197
172
150
112
137
137
167
217
150
216
171
155
150
167
199
189
186
112
112
121
217
212
164
176
232
181
211
192
239
165
233
171
302
170
208
136
150
208
210
211
112
150
171
112
167
199
123
194
210
115
121
170
179
121
167
172
135
121
150
174
160
176
135
203
173
194
112
229
112
237
112
147
170
208
156
112
252
150
174
147
255
121
194
205
150
187
150
181
121
121
144
150
211
150
178
181
112
121
202
212
121
194
299
299
167
112
112
135
170
171
231
203
150
255
112
159
243
201
248
202
121
121
208
219
115
185
228
121
170
208
121
245
150
112
135
170
137
112
172
215
171
171
203
220
150
172
228
263
171
137
112
177
217
203
112
165
170
200
228
123
150
135
171
195
229
170
171
190
170
112
270
210
165
172
150
208
130
260
193
203
165
156
172
219
193
150
205
172
208
121
112
211
189
150
121
283
186
147
150
137
147
281
264
172
176
181
228
194
150
172
212
150
121
121
150
172
193
190
210
186
176
207
172
186
112
167
203
193
121
206
167
187
184
123
121
165
135
121
167
216
220
160
192
150
112
150
170
167
186
170
121
203
170
128
121
112
135
112
150
123
176
150
201
150
165
193
237
172
212
255
144
192
181
220
253
235
171
171
112
264
217
112
135
228
194
146
194
121
172
157
208
176
177
112
159
208
131
147
112
170
150
112
228
210
175
193
212
203
150
152
243
181
150
175
183
176
156
168
115
201
112
150
186
187
208
121
150
250
210
212
172
112
159
112
123
179
121
123
130
178
121
208
186
228
130
112
166
220
143
250
172
167
172
217
298
210
112
302
121
150
172
187
128
172
217
172
156
209
203
159
121
135
115
167
247
170
171
143
170
181
167
135
186
121
167
192
136
150
165
150
202
237
136
112
150
232
267
158
150
168
265
150
174
208
121
181
137
150
112
171
194
185
158
237
237
242
187
123
193
150
215
130
233
121
171
121
170
227
165
159
121
112
172
172
135
123
217
176
172
219
152
181
112
121
137
150
121
210
176
172
170
165
218
220
121
179
150
171
150
112
233
121
150
150
171
170
202
112
123
277
176
278
130
233
181
212
123
147
218
172
195
240
172
187
198
150
199
199
150
172
170
121
176
193
172
112
123
170
171
121
181
150
181
226
278
164
187
165
208
170
220
236
124
173
208
159
121
159
112
147
150
182
228
188
208
210
136
213
112
150
208
196
115
297
159
112
160
136
165
226
135
240
177
179
167
231
203
243
112
121
170
259
131
123
189
224
121
193
175
201
231
112
112
150
208
203
160
150
217
240
112
167
150
165
172
202
137
170
112
170
225
239
135
167
215
255
123
165
170
172
123
240
137
193
250
167
112
200
176
112
160
121
192
165
171
172
170
217
237
189
112
164
208
177
158
165
167
170
156
208
135
121
150
112
208
186
112
165
150
165
150
243
171
170
160
203
238
250
164
112
226
154
194
143
123
147
164
264
167
167
150
112
229
240
181
150
137
121
197
121
207
173
238
136
150
150
186
202
135
208
150
208
186
123
209
174
121
147
208
172
156
194
112
208
194
170
150
147
112
150
204
150
228
170
176
229
208
201
170
150
299
112
144
237
210
112
243
167
167
170
172
150
193
192
147
237
167
167
121
170
212
194
150
216
208
252
150
161
123
167
144
121
193
172
245
121
179
121
194
165
197
112
112
172
121
150
236
219
181
112
208
208
211
208
137
244
194
194
195
130
231
112
179
139
229
130
167
112
158
135
194
123
150
171
112
195
201
150
213
228
121
250
259
165
239
150
182
209
201
167
232
189
165
112
121
121
170
112
121
137
212
121
150
144
112
165
220
172
244
228
150
255
210
195
170
241
159
181
112
198
124
150
150
217
194
136
218
150
250
192
121
112
237
150
112
112
150
136
150
150
202
232
112
121
172
171
121
135
168
181
168
165
112
203
167
123
130
224
170
171
210
121
227
171
255
220
194
146
208
192
174
150
112
150
260
208
205
171
159
152
208
115
150
121
147
184
174
150
112
237
164
171
121
181
136
207
178
159
210
250
223
172
112
112
115
174
172
143
192
167
150
228
112
233
150
167
167
112
150
193
171
302
170
150
221
172
121
174
121
136
172
167
204
172
170
170
150
121
165
224
208
167
172
150
205
137
208
150
171
136
172
137
239
192
257
172
167
204
186
172
156
167
170
187
112
153
187
136
205
150
121
210
150
150
121
150
159
187
112
195
194
208
136
220
187
240
168
207
135
170
239
226
150
189
274
150
266
112
276
162
208
194
121
256
121
115
170
172
220
175
150
121
171
171
181
112
112
112
164
200
150
207
171
208
181
208
112
208
202
208
121
150
227
209
123
208
121
147
165
121
137
210
150
171
194
123
184
176
194
246
158
112
137
150
208
225
223
150
176
112
167
193
150
121
123
150
165
195
137
150
174
215
215
150
237
194
186
123
143
170
181
167
252
195
192
152
150
137
159
195
215
167
150
221
136
121
165
201
258
200
135
150
222
167
112
167
172
121
150
194
171
121
150
302
112
150
121
236
186
193
112
228
228
170
201
186
179
170
186
247
228
203
121
112
150
220
191
187
182
212
171
150
162
170
192
152
158
208
112
175
194
208
121
255
158
172
171
158
174
212
172
123
194
112
228
172
156
112
123
190
112
135
166
235
121
194
242
147
150
186
170
150
215
252
121
150
228
250
112
189
158
193
181
203
150
171
217
150
205
197
150
164
208
121
164
150
121
112
224
228
202
135
202
112
112
208
208
210
202
172
170
150
147
182
150
150
198
263
135
121
220
112
123
131
198
190
226
167
215
208
252
165
184
224
150
121
225
246
175
208
172
150
231
241
172
121
201
150
234
193
186
237
177
112
250
171
168
173
170
171
150
112
236
112
228
168
208
279
188
167
167
121
192
150
121
176
189
212
150
229
121
217
187
158
135
193
226
147
205
171
147
112
150
218
150
212
123
239
160
184
174
115
172
177
171
193
172
208
171
112
135
190
121
137
175
203
167
255
112
150
185
229
220
210
170
195
121
115
170
150
158
121
171
150
150
190
171
121
186
128
156
171
167
150
194
121
195
150
150
226
170
150
150
128
233
112
194
121
164
174
165
150
242
150
146
232
130
196
172
172
170
167
195
186
172
112
158
112
121
203
171
173
156
168
200
150
237
150
236
204
228
172
170
135
219
121
147
176
112
302
123
194
243
228
112
228
172
214
186
208
150
176
235
121
171
202
196
165
208
172
112
112
170
192
208
178
170
158
208
150
237
147
192
112
216
243
112
171
215
208
225
167
143
174
121
172
212
137
170
123
219
165
255
192
186
217
171
164
121
186
123
137
150
220
171
162
170
208
259
236
179
123
167
175
150
218
172
136
181
170
219
150
220
172
208
167
136
219
112
115
170
150
207
220
167
146
187
171
121
170
204
208
225
195
250
172
212
239
223
236
136
112
150
194
168
168
121
115
112
264
123
112
121
121
231
202
196
186
210
150
160
157
123
172
208
159
112
112
155
208
150
112
253
112
152
172
278
121
220
165
176
194
212
236
167
225
150
194
174
231
176
182
170
170
172
123
128
164
156
158
174
210
167
167
150
185
203
193
217
112
230
150
141
203
186
167
214
252
236
112
189
171
112
150
189
200
176
194
178
150
208
136
112
181
201
150
186
150
228
147
150
147
147
178
150
163
215
167
206
167
197
112
167
170
150
181
202
150
205
123
137
165
170
137
202
171
165
212
112
150
212
219
124
164
150
175
150
170
115
112
208
181
182
216
238
212
123
112
208
237
112
143
209
203
147
281
170
121
150
150
143
219
137
147
137
220
258
112
150
206
123
112
210
121
123
165
193
112
170
172
168
208
215
164
115
150
239
167
222
228
112
192
164
112
121
228
195
177
135
177
239
171
150
194
112
136
143
208
112
170
188
231
150
194
172
181
167
165
201
121
202
202
172
171
121
202
172
152
164
263
112
208
130
150
184
121
250
208
150
121
121
156
194
171
150
203
170
165
175
202
202
115
147
135
243
172
112
112
150
112
203
187
219
159
177
212
130
210
226
228
121
150
121
181
197
187
174
267
212
228
167
121
176
164
201
194
152
139
182
152
121
170
208
228
172
150
167
115
150
172
136
208
195
206
130
219
199
112
150
165
187
243
210
201
137
243
112
172
194
243
150
112
208
192
150
229
255
172
263
164
203
112
112
212
172
174
181
252
150
172
171
150
203
121
147
217
218
150
195
150
150
165
150
123
220
179
193
231
232
121
150
238
201
115
150
253
150
150
211
201
168
150
165
128
170
112
165
202
183
171
131
192
112
244
150
187
172
208
181
192
150
226
136
275
172
276
167
112
208
167
169
220
236
112
121
204
128
150
197
250
121
165
219
195
208
208
208
150
239
172
186
189
194
150
208
172
121
194
112
150
259
181
150
167
112
172
237
165
176
195
208
208
186
186
181
177
194
176
150
193
232
181
150
112
150
165
311
150
123
165
255
147
176
186
210
112
123
170
253
112
164
237
167
112
147
239
174
150
179
212
181
170
144
150
202
228
150
212
160
112
272
187
112
196
228
112
212
192
115
115
112
147
231
294
194
258
135
228
178
135
112
150
150
161
193
215
208
150
112
165
195
208
226
150
195
187
176
233
208
225
172
239
263
181
165
173
167
171
228
150
232
197
205
211
237
241
181
171
135
208
214
173
202
192
250
186
112
208
121
167
170
112
121
191
150
213
172
245
208
213
195
230
192
205
147
187
208
121
170
189
168
200
249
174
208
112
121
213
137
150
121
112
150
147
172
150
220
112
202
170
249
171
217
164
130
150
150
184
243
150
121
208
164
176
115
121
201
150
165
167
165
121
135
150
121
112
112
172
123
150
112
171
194
146
189
201
150
220
172
196
112
150
210
208
115
112
236
150
237
170
208
165
150
216
135
247
208
112
208
276
165
144
150
175
208
150
174
165
137
210
194
115
181
150
208
263
209
208
286
203
195
171
217
172
128
170
208
147
202
150
136
209
121
135
190
112
165
171
181
234
197
172
220
172
150
147
198
121
185
239
222
150
223
233
265
203
150
181
159
150
186
193
128
170
171
112
195
208
147
158
194
225
172
158
150
121
123
147
112
112
186
121
147
112
226
239
158
112
136
208
123
171
201
266
214
167
179
193
170
181
208
158
150
135
167
181
112
152
237
115
150
150
179
170
187
112
186
150
115
208
237
278
208
174
208
167
150
123
150
168
187
150
236
230
203
112
192
167
202
198
228
250
219
225
231
194
137
150
228
112
164
112
276
265
170
158
172
123
250
112
156
160
237
156
194
112
237
150
167
135
112
186
205
222
177
172
220
121
150
179
121
121
170
228
150
172
186
208
240
172
253
267
158
150
205
208
171
123
177
150
250
112
208
172
150
150
121
178
170
164
187
150
115
219
196
203
135
195
170
158
179
167
121
212
150
121
201
150
171
190
123
150
195
112
150
121
172
147
121
150
208
208
194
190
247
186
219
121
199
193
208
150
112
235
243
176
201
144
234
194
164
208
112
207
222
160
121
208
185
172
208
192
201
220
112
171
195
112
212
207
171
194
152
175
220
207
208
172
115
128
121
195
231
205
158
128
193
181
112
201
237
215
123
187
167
181
150
121
161
158
121
221
150
135
150
150
167
165
183
158
167
194
150
172
260
208
157
170
112
121
208
161
208
150
159
239
181
194
196
158
150
170
150
193
121
233
194
226
192
167
187
150
208
187
115
150
121
152
240
150
150
172
207
150
115
170
214
171
128
237
225
123
150
135
144
164
170
239
225
219
170
123
112
167
150
192
302
171
204
159
177
207
208
121
123
143
205
112
170
195
170
172
209
121
165
194
181
234
197
208
208
177
167
112
167
174
171
112
112
112
194
170
112
135
210
172
170
195
241
226
196
239
193
182
178
150
160
193
168
167
124
215
281
150
239
171
240
165
158
167
112
150
206
208
165
112
121
176
186
238
186
226
302
193
170
208
167
135
182
135
150
177
135
220
121
121
189
209
228
150
170
226
176
302
150
150
124
112
130
210
201
202
112
224
201
121
174
112
112
150
112
150
176
228
121
172
212
210
177
167
123
121
225
193
150
186
167
150
194
150
170
208
112
150
195
150
164
208
230
159
177
189
167
150
121
172
208
189
192
174
150
112
161
115
208
167
170
181
172
194
115
207
150
195
212
166
121
130
156
208
150
112
228
168
276
214
137
202
205
112
311
208
167
123
176
139
121
150
167
194
175
123
150
212
172
186
150
198
194
160
150
150
167
150
170
130
182
112
145
168
121
163
164
202
164
177
150
210
207
208
168
205
115
112
167
121
185
208
170
174
172
176
186
186
145
205
112
150
176
184
184
167
150
112
236
276
136
150
137
121
150
231
227
160
208
139
170
123
192
165
175
259
239
211
112
150
208
121
187
195
115
171
193
237
150
172
150
171
172
250
176
263
194
171
172
210
150
203
187
171
137
167
170
217
158
165
208
167
135
150
172
135
165
195
167
208
220
240
150
220
281
187
227
150
112
171
150
233
210
160
112
167
192
208
253
172
167
232
150
158
112
121
121
164
217
174
115
201
121
167
130
172
208
136
219
195
217
195
165
123
121
205
213
150
150
208
136
150
167
189
158
162
208
202
203
201
203
112
190
170
150
123
176
112
152
112
201
291
302
150
164
150
171
255
121
207
165
171
170
170
208
157
193
175
176
193
123
150
216
172
181
112
150
174
181
172
167
200
159
124
112
230
302
220
123
160
167
203
112
131
115
171
250
158
208
121
123
172
112
228
121
112
170
115
208
164
185
194
281
177
208
150
147
165
208
112
112
219
112
193
150
228
233
152
190
171
192
115
150
263
194
150
194
112
121
112
172
123
150
137
186
158
237
202
147
150
112
167
164
208
178
121
112
112
160
112
193
157
178
121
205
202
112
115
137
165
171
237
160
220
192
204
150
171
208
167
226
121
128
176
202
158
172
250
137
164
195
207
121
172
137
123
170
121
208
112
215
112
196
234
231
150
250
186
170
150
171
168
172
123
150
121
150
171
187
208
187
150
192
181
171
115
272
170
112
210
186
112
212
212
167
171
201
170
123
150
150
171
202
112
172
115
195
202
121
300
137
171
170
208
150
150
175
171
196
205
150
167
197
150
181
167
160
112
150
208
203
150
167
195
172
187
208
176
121
112
121
172
137
226
123
135
176
159
150
143
212
150
135
165
196
205
167
123
208
228
170
179
218
167
193
144
121
121
143
150
150
220
150
160
193
168
240
158
243
234
172
167
135
232
171
172
208
150
135
136
186
181
150
150
124
150
160
150
112
150
150
193
260
150
152
201
231
150
150
112
121
237
208
214
167
210
121
121
226
112
121
208
168
196
150
150
128
150
112
121
170
167
121
170
121
208
187
190
199
210
228
171
201
150
150
112
112
201
150
171
202
121
174
264
195
167
150
203
208
137
123
121
150
121
115
147
240
187
172
112
157
150
208
210
193
203
203
208
112
181
150
186
123
177
171
181
192
112
112
150
175
233
158
181
203
161
150
192
150
253
218
167
172
192
168
208
202
167
150
207
237
202
240
163
195
212
112
230
210
210
150
216
158
193
112
112
158
158
135
121
208
112
150
172
157
201
167
218
208
203
167
236
123
239
208
165
121
228
171
112
112
178
156
152
190
202
161
269
187
165
208
234
123
121
186
121
123
187
165
187
176
150
112
231
150
150
115
207
112
121
177
167
195
147
170
144
172
152
115
185
171
123
167
176
135
210
175
150
171
202
158
121
235
165
123
217
219
156
297
112
150
181
187
128
202
164
186
226
187
233
150
170
150
137
181
210
217
208
194
171
201
170
121
170
250
172
203
121
167
150
170
150
112
130
186
176
121
208
186
172
167
167
170
171
137
112
193
121
164
173
112
164
206
178
236
187
130
194
193
181
265
177
112
159
202
165
165
112
121
264
121
194
212
167
123
112
136
186
177
112
176
187
168
174
112
112
222
121
202
150
112
167
112
158
192
115
121
186
183
150
121
167
160
150
228
135
216
160
203
258
162
171
235
167
167
194
237
121
150
189
170
208
150
112
135
247
182
194
182
112
263
139
112
121
121
121
194
186
159
123
181
192
170
228
137
206
177
121
172
250
150
161
172
217
158
239
195
167
115
167
209
208
159
181
208
233
112
231
150
136
150
215
201
214
228
177
150
172
174
208
209
165
228
229
256
230
161
208
156
175
219
157
112
172
181
121
172
123
150
159
193
257
181
112
121
121
167
203
150
202
121
123
164
176
165
208
186
165
112
172
160
150
213
205
121
186
137
263
194
150
112
123
208
112
137
206
121
172
156
135
186
150
112
112
242
167
150
150
164
234
212
112
208
199
123
228
218
170
192
137
237
187
208
150
208
128
176
268
150
210
137
112
121
205
194
135
201
219
172
210
194
164
150
150
152
193
172
123
150
121
206
181
121
297
186
152
231
121
184
208
150
167
208
218
165
121
181
121
181
112
150
186
112
158
115
188
228
239
209
121
172
213
242
121
121
201
255
112
219
112
162
220
182
135
135
135
177
158
158
187
121
171
121
167
112
201
150
205
181
250
121
206
172
259
231
150
210
135
233
170
156
135
172
218
121
150
121
172
112
170
208
172
164
158
187
112
143
228
176
136
147
171
194
265
150
220
176
112
128
170
121
195
165
176
206
143
112
198
150
112
167
123
150
112
281
189
130
208
208
176
210
137
172
184
121
182
164
207
171
226
216
165
121
136
128
112
239
150
174
187
112
194
112
121
228
187
207
187
121
186
112
208
271
203
172
195
137
150
237
150
137
115
112
172
115
121
150
150
112
112
231
186
121
150
192
187
184
195
208
158
150
170
218
207
203
112
239
135
171
226
135
150
112
232
150
112
121
202
164
205
218
208
136
135
121
150
201
150
185
167
172
187
201
208
112
112
121
172
172
123
245
135
165
224
194
229
193
150
192
170
147
189
115
202
186
167
349
150
121
260
121
175
193
171
121
164
121
172
121
150
136
176
165
195
210
150
217
124
172
209
121
150
208
112
194
233
167
150
150
232
193
121
201
176
170
112
167
192
172
150
210
186
121
112
112
231
208
121
121
150
156
208
208
208
208
121
160
194
177
164
232
181
255
170
150
170
137
165
150
187
187
171
121
257
146
201
228
150
208
137
112
244
187
210
152
192
231
136
167
172
195
150
208
150
159
171
179
121
215
150
112
121
112
112
172
208
208
263
260
208
255
112
165
112
112
164
165
210
164
172
174
157
208
208
239
195
112
147
150
171
186
150
121
220
181
233
255
231
150
150
112
187
150
208
121
206
156
215
147
181
226
121
121
150
112
172
181
208
150
172
220
170
112
214
170
146
213
228
250
228
243
207
210
167
165
112
112
115
121
158
208
198
171
172
265
112
172
121
112
150
150
150
150
137
159
174
172
168
250
208
170
208
136
226
274
203
159
212
136
150
203
302
171
222
150
112
168
208
172
150
172
233
121
208
207
150
181
176
121
184
201
196
150
150
203
196
236
172
167
112
194
198
238
135
150
208
196
150
215
147
219
203
233
190
168
167
150
165
228
121
217
226
150
266
233
170
137
165
150
192
170
176
150
172
233
144
150
228
159
170
208
150
150
160
234
213
208
150
240
112
112
112
121
171
112
237
147
112
237
195
304
190
196
137
171
195
150
176
150
132
150
172
136
121
150
150
194
175
172
150
237
150
219
167
136
177
160
123
121
167
150
174
193
202
153
150
112
121
237
171
196
150
172
194
292
194
302
121
232
121
186
208
121
170
208
172
193
195
150
171
225
150
167
112
170
171
150
201
160
112
121
187
272
219
172
121
165
240
237
176
150
225
194
150
231
150
112
226
172
150
171
165
228
121
165
201
175
130
112
121
270
202
150
168
226
112
167
172
121
193
167
124
112
112
115
123
211
150
121
171
167
121
150
186
150
121
202
194
225
150
226
112
208
235
181
167
231
150
172
172
217
194
150
150
150
243
225
174
112
181
121
172
150
121
178
170
150
112
189
121
150
181
235
135
208
158
210
156
156
167
219
150
174
150
189
150
157
202
147
174
172
121
150
121
177
112
147
203
271
194
215
202
250
121
147
164
115
121
167
121
167
150
212
112
150
182
210
208
208
124
227
121
208
228
278
158
146
124
213
220
264
187
150
135
204
171
225
190
206
210
302
150
247
172
112
143
208
112
176
150
193
156
167
168
250
150
112
152
201
158
136
172
168
167
150
203
204
178
152
150
156
255
152
150
143
193
171
192
172
112
112
136
150
210
229
171
194
170
189
167
221
232
121
242
123
170
121
130
112
121
226
226
174
150
226
263
208
121
150
186
203
217
158
115
167
147
202
170
193
202
208
172
121
168
112
170
174
112
150
233
150
171
220
170
278
112
208
112
161
229
226
176
208
208
112
167
172
181
176
121
208
139
165
195
112
233
208
208
172
128
135
150
217
247
150
172
112
218
203
177
192
208
199
175
112
121
150
208
231
214
170
171
167
112
112
187
208
156
212
150
150
171
302
202
270
122
156
196
121
112
115
181
204
179
228
121
115
233
176
167
193
272
207
150
123
198
194
231
279
226
112
193
189
259
186
147
172
238
186
202
112
177
194
248
112
121
208
121
121
121
171
158
177
226
121
112
121
208
121
112
167
121
195
150
215
198
263
205
216
208
167
165
230
170
152
170
167
112
234
150
136
167
165
179
237
210
164
210
197
170
190
112
150
150
123
202
137
167
228
171
208
121
165
159
150
150
179
172
176
150
150
189
150
150
156
135
190
150
112
121
176
209
147
147
210
171
121
184
137
210
172
175
137
147
172
167
115
220
195
112
135
201
136
195
121
172
121
239
220
137
208
209
165
226
171
121
121
177
167
172
228
198
150
165
202
205
212
150
242
208
243
187
150
198
202
147
190
135
194
208
115
170
121
121
172
137
150
123
263
232
202
150
167
167
179
160
175
112
121
150
165
112
250
121
208
115
171
202
217
123
263
167
195
150
112
167
165
174
181
135
201
121
181
204
156
137
150
121
150
210
121
171
112
171
195
164
164
150
250
156
176
228
121
112
171
167
176
121
219
175
124
258
225
150
176
176
205
210
218
112
228
246
121
115
112
198
214
143
171
176
147
112
194
176
228
171
124
181
159
172
219
240
123
239
150
172
171
207
177
179
205
135
150
210
147
276
203
167
150
136
226
193
156
137
167
150
160
173
194
150
195
167
210
136
167
158
150
124
112
135
150
220
167
208
137
150
182
157
170
172
112
150
172
150
147
187
123
150
147
115
172
124
184
205
150
112
170
170
171
121
210
208
165
121
135
171
121
205
112
134
121
171
183
172
158
150
219
121
194
150
202
121
121
160
167
276
150
203
172
112
121
137
205
208
172
188
228
202
112
193
193
178
150
121
170
228
150
172
181
136
174
150
181
172
150
150
208
123
150
150
211
208
150
150
212
112
121
150
225
276
190
211
212
112
193
195
121
150
171
121
150
187
112
170
112
170
250
152
231
121
112
150
223
202
172
121
199
112
172
186
128
203
240
124
181
150
150
150
172
181
112
112
123
164
115
208
150
160
194
219
172
212
121
181
207
264
176
147
121
159
187
156
112
135
171
136
210
168
176
250
112
201
137
112
171
168
121
167
193
112
172
165
150
257
213
112
233
228
164
121
150
150
278
195
164
112
150
128
240
181
112
136
212
223
194
165
112
112
205
208
171
212
218
224
171
176
220
172
187
121
208
170
172
112
150
208
208
121
178
228
201
181
171
208
150
177
150
112
165
150
176
167
131
150
208
193
121
168
192
194
220
150
232
181
172
167
112
136
150
225
187
165
152
112
130
136
195
165
179
150
302
112
167
147
167
150
150
165
214
147
186
231
143
112
147
158
291
171
167
193
189
187
174
210
208
139
150
202
195
167
184
112
216
194
171
168
196
112
194
194
167
223
194
112
121
121
196
150
237
150
121
150
202
263
228
147
112
150
176
220
164
220
121
212
221
137
150
144
121
202
150
121
167
167
181
175
166
170
215
150
150
217
218
139
172
150
217
265
186
210
176
150
123
225
218
194
238
171
123
202
123
218
208
112
172
112
121
237
121
150
228
112
208
123
176
209
202
186
139
164
143
201
167
246
208
217
242
228
167
123
185
121
112
123
172
121
167
201
170
207
112
159
112
212
121
181
237
150
245
186
202
112
217
194
195
112
112
172
164
165
112
150
112
135
210
226
112
121
170
112
112
164
164
171
175
158
186
165
193
174
123
135
112
112
208
236
302
186
149
164
121
212
112
112
121
237
208
200
217
186
136
177
121
239
175
237
231
112
193
172
186
208
170
231
121
170
258
172
177
179
217
121
136
112
121
167
302
172
143
207
121
208
112
165
123
226
121
179
167
121
181
112
218
121
121
233
175
177
208
203
210
186
150
112
205
150
165
167
137
179
208
115
241
232
137
176
208
112
112
207
160
171
246
130
172
150
278
177
201
168
199
207
164
246
165
159
150
152
197
170
187
160
171
214
208
150
121
228
194
267
218
150
139
176
156
206
167
150
121
189
170
136
112
199
112
165
208
112
230
172
158
240
167
121
165
150
167
236
123
132
121
134
244
123
135
203
128
235
187
226
170
226
160
130
112
195
217
147
147
159
150
212
172
195
150
186
210
237
137
164
195
170
263
121
115
227
167
215
194
255
241
218
201
141
121
167
208
228
112
160
112
150
121
150
143
152
229
123
121
112
146
112
206
170
231
177
132
135
164
208
172
167
212
162
112
176
184
228
201
121
195
170
150
181
193
170
135
121
228
123
128
257
196
167
210
150
208
112
210
123
219
150
172
150
150
123
135
121
258
168
121
121
170
203
158
233
194
172
150
124
234
210
213
165
167
181
255
121
123
234
123
207
205
128
121
137
150
234
170
150
189
254
190
150
112
115
115
164
167
137
177
121
207
150
121
147
124
112
235
236
181
202
150
150
214
162
192
135
175
229
150
150
121
159
202
229
224
123
121
265
171
189
182
245
150
206
172
170
208
204
172
172
156
170
135
137
256
168
237
124
123
170
121
190
112
193
208
231
228
136
203
123
121
112
112
112
186
121
112
112
176
208
193
150
150
195
150
150
115
159
112
171
247
174
121
150
176
263
112
150
150
208
194
171
181
165
212
147
150
121
112
150
150
208
208
150
144
168
208
135
193
192
121
150
164
121
172
164
152
208
208
135
167
115
112
241
250
172
130
208
150
112
195
150
287
226
121
150
217
251
177
167
242
147
165
150
150
218
139
167
112
175
150
222
160
121
112
196
165
112
175
239
158
165
123
248
112
210
170
171
150
168
174
219
112
263
176
167
121
160
112
136
302
226
259
194
187
219
172
144
123
250
112
198
178
150
232
121
193
167
167
240
193
112
176
150
210
123
156
190
260
168
137
167
172
150
177
112
262
212
240
123
279
193
158
168
208
195
137
136
165
204
181
228
195
174
208
195
112
150
195
112
167
193
172
123
112
164
205
135
121
170
231
213
150
208
121
165
136
172
167
184
194
121
237
112
121
202
200
194
184
177
112
208
150
123
223
181
121
160
156
210
218
150
167
225
167
181
225
112
172
199
170
255
219
229
115
112
181
112
167
112
150
205
201
175
195
255
181
184
137
135
121
209
150
121
112
167
121
165
194
167
227
165
202
150
123
172
112
167
112
135
130
297
172
121
201
168
172
165
208
253
219
174
174
130
170
150
112
208
182
202
121
228
202
195
132
167
215
176
214
115
174
228
210
130
179
260
123
167
174
172
143
171
231
172
152
197
123
121
208
228
253
175
112
194
112
214
179
128
137
150
164
214
208
181
165
196
212
217
193
165
121
123
121
195
176
170
121
112
201
194
210
167
172
158
156
174
192
112
194
170
172
186
186
150
150
228
179
194
239
170
271
276
147
121
208
240
175
208
235
121
150
121
144
186
214
210
124
214
208
123
150
253
228
150
112
121
167
203
121
150
250
150
150
198
150
186
172
112
237
208
218
226
236
228
150
127
171
210
160
255
207
165
172
208
229
168
189
112
164
121
182
231
225
219
135
208
202
172
176
181
112
158
176
121
278
112
226
123
167
143
136
150
150
136
135
194
171
150
181
220
201
208
150
164
150
175
235
160
144
135
216
135
121
121
150
150
208
150
112
156
150
137
250
168
115
167
233
112
136
121
167
123
172
176
121
161
206
150
176
171
181
128
136
150
112
208
197
121
172
112
181
112
165
150
181
150
274
234
112
208
178
208
217
231
150
201
170
137
150
276
121
157
171
243
208
183
112
112
112
205
217
135
202
235
121
167
206
187
172
228
172
225
150
171
175
137
115
160
150
158
112
214
176
121
214
150
170
121
165
219
239
165
194
167
112
112
176
203
161
137
112
201
159
112
179
121
171
123
150
226
123
127
112
121
123
134
202
112
172
121
121
208
194
167
171
165
195
150
243
121
167
123
112
202
165
208
164
195
123
115
172
186
170
143
179
121
208
147
150
167
167
208
211
174
112
219
121
243
202
150
121
231
170
193
130
130
121
216
121
176
170
112
150
194
121
203
112
112
170
193
150
170
112
172
135
150
237
112
121
194
226
206
112
112
112
239
123
250
194
233
160
218
171
232
150
208
164
297
172
228
136
216
136
202
167
228
202
250
250
203
207
112
176
202
121
233
121
170
164
165
136
208
170
150
121
231
112
176
112
160
189
112
150
220
175
195
145
176
218
158
165
208
186
208
210
208
150
112
190
150
219
123
167
150
112
186
209
342
171
112
208
181
150
112
144
208
174
167
167
211
227
112
170
170
172
112
112
112
115
150
130
170
212
238
225
158
164
210
112
167
208
208
177
228
112
264
112
208
150
150
150
150
121
172
181
225
172
193
123
112
276
212
170
194
240
170
194
208
172
276
150
163
121
186
160
115
159
186
165
162
112
177
150
150
208
121
112
213
150
219
174
112
150
150
172
186
229
150
230
239
187
150
208
150
219
170
121
201
202
112
193
121
152
150
250
212
144
258
171
112
121
115
147
112
178
121
150
136
167
143
150
137
124
123
112
156
112
212
192
150
167
224
226
176
150
166
150
186
112
178
229
150
164
171
150
150
147
208
167
112
170
150
150
123
208
215
193
164
150
150
237
150
174
143
177
194
278
208
158
150
136
184
139
170
112
205
181
136
150
150
143
208
112
243
121
186
147
147
170
228
147
121
157
112
121
150
224
191
170
208
171
236
210
181
210
219
203
121
121
121
171
186
137
218
112
159
194
172
112
150
172
218
176
112
115
121
217
156
176
150
192
194
253
112
121
194
165
112
137
136
208
115
172
150
112
208
214
179
208
112
170
177
208
174
194
194
157
184
210
150
223
210
123
223
193
121
175
172
187
143
260
210
172
115
137
302
210
112
147
168
184
171
121
150
112
123
136
172
208
112
198
208
150
226
121
150
176
250
167
187
177
150
174
187
150
165
112
147
121
196
112
160
121
171
115
135
172
112
256
201
210
147
150
171
112
124
167
229
208
121
211
150
228
167
144
150
112
194
172
170
115
112
167
208
233
150
218
194
186
203
219
171
112
112
159
186
121
175
165
157
150
230
200
195
112
172
121
195
193
112
135
263
201
171
121
112
208
194
202
172
239
239
212
228
227
168
201
201
219
112
171
121
123
185
239
201
123
112
135
172
208
146
167
208
170
203
192
158
172
187
208
131
171
168
238
275
202
121
239
176
160
112
112
243
182
150
228
159
219
250
171
186
215
167
207
121
173
165
121
150
208
217
175
195
276
165
177
112
202
135
150
229
170
121
115
212
194
193
203
177
167
161
186
167
193
184
250
192
208
121
175
172
112
170
170
239
158
186
231
150
135
177
203
171
121
165
112
123
112
150
208
187
186
147
181
238
121
187
172
208
158
121
189
173
150
172
196
177
174
208
181
240
225
121
115
137
198
164
137
170
208
160
121
137
208
183
168
112
259
121
121
157
150
181
208
202
171
150
208
123
236
172
210
224
112
193
123
231
237
137
177
121
204
161
150
150
204
150
150
212
208
150
150
214
208
208
115
202
164
112
171
235
115
150
255
171
136
165
121
112
112
228
137
210
121
112
198
229
171
174
210
179
193
121
143
112
159
121
112
167
121
226
208
208
172
123
121
165
203
112
130
121
121
186
150
130
226
195
212
112
287
218
187
171
208
170
112
168
208
204
112
150
136
213
183
186
210
181
177
232
172
202
252
302
202
150
167
191
207
176
112
172
112
156
171
192
201
165
225
150
232
121
150
192
206
150
112
254
181
150
150
147
202
233
150
159
147
271
150
217
141
167
195
240
222
170
232
150
215
218
112
121
208
123
112
208
258
201
212
165
202
112
231
220
199
156
171
203
206
195
208
158
176
193
150
150
208
172
187
123
182
208
135
170
172
165
171
150
228
150
205
207
160
195
239
218
228
135
112
112
170
137
150
226
164
150
297
112
193
130
164
186
194
130
174
237
121
172
210
214
255
121
194
274
230
233
115
186
193
231
237
112
179
156
182
217
175
136
150
121
123
167
112
136
177
228
121
121
208
150
174
208
168
150
172
208
172
193
112
167
150
150
255
136
208
193
158
203
172
210
152
186
171
121
130
237
174
131
170
237
263
205
121
165
123
171
181
162
210
147
208
171
121
208
250
173
112
158
228
167
192
150
184
208
231
194
236
123
143
121
202
156
155
186
139
267
192
187
226
195
112
174
150
208
226
190
150
212
167
172
165
123
205
205
150
217
210
235
150
205
182
203
150
226
250
170
112
212
201
217
171
223
221
201
135
156
150
208
161
112
264
150
112
208
210
121
172
121
124
170
112
182
121
121
150
203
157
231
112
237
150
215
181
170
112
112
112
128
176
152
213
147
262
168
187
121
121
121
171
112
130
170
137
217
228
181
135
195
176
229
135
121
150
137
165
202
115
121
112
249
112
187
171
152
229
172
158
167
168
112
115
237
208
228
159
176
232
167
167
168
121
208
208
164
112
167
112
194
121
212
255
121
174
228
188
186
112
208
208
121
235
256
165
228
228
244
198
195
135
179
112
195
208
246
121
136
201
159
150
121
194
165
170
112
229
208
123
167
181
228
172
194
212
150
209
172
167
224
201
152
112
121
152
178
208
150
234
156
255
206
172
170
200
150
202
152
167
112
238
150
194
115
209
208
167
121
218
150
112
241
170
121
231
208
233
172
171
170
220
237
199
124
167
160
186
186
150
123
137
172
150
184
167
209
121
175
220
177
220
112
216
195
150
239
220
147
147
150
112
250
239
159
112
250
112
164
112
194
112
259
112
236
194
250
208
208
239
112
208
181
167
150
121
195
150
123
156
150
115
171
208
186
203
192
201
112
167
187
112
278
184
250
128
208
150
194
172
176
181
202
136
121
186
186
193
231
228
112
193
195
112
147
112
170
196
181
176
150
150
150
181
231
266
231
112
207
149
137
186
194
121
150
224
162
167
250
124
112
195
186
204
252
112
220
160
112
210
112
170
227
112
136
112
208
181
216
150
136
176
130
171
123
121
170
150
242
203
193
156
214
171
194
112
121
258
193
137
208
186
167
212
194
167
121
150
217
207
150
130
220
121
218
150
210
112
112
124
208
156
112
172
152
194
208
136
194
212
282
240
172
136
233
112
178
112
112
203
195
176
150
263
179
172
150
128
143
121
165
158
208
175
216
158
150
212
150
150
121
159
150
115
202
250
112
172
121
150
136
171
136
278
205
263
167
121
150
167
200
167
145
203
170
272
208
168
170
208
176
201
201
186
156
245
150
193
164
121
150
208
220
264
150
171
135
150
240
203
167
165
172
172
208
170
260
202
112
220
208
215
115
150
223
144
112
187
112
182
217
136
232
150
263
121
167
254
205
239
150
168
174
112
112
165
150
150
177
158
182
165
167
150
210
201
112
159
171
150
187
257
208
217
194
205
167
171
208
177
196
208
150
233
203
171
276
167
201
193
210
205
214
173
156
147
121
121
150
238
228
210
121
121
139
184
112
196
135
170
150
220
228
205
193
200
121
184
121
121
156
172
121
167
112
172
186
158
305
124
250
175
115
177
150
171
202
195
176
192
193
194
112
194
176
121
170
165
172
242
263
170
241
135
172
258
150
112
176
121
172
176
137
225
112
204
112
181
152
181
159
209
274
171
167
158
146
302
210
229
208
165
172
150
208
224
112
172
172
278
159
165
150
121
176
189
194
121
208
165
121
208
164
112
210
210
112
135
160
237
237
178
244
278
131
150
150
186
172
150
228
112
172
176
146
175
112
112
150
172
208
157
143
150
123
165
150
150
208
208
167
170
150
115
193
150
186
282
181
128
136
150
276
187
165
164
229
150
170
187
184
232
121
229
167
158
121
172
112
177
176
278
136
167
202
170
112
160
137
150
135
136
228
136
150
208
136
150
158
278
211
121
210
121
150
167
136
212
121
258
121
205
170
128
208
115
150
112
298
207
186
228
150
157
170
217
150
228
224
174
176
167
171
187
112
147
216
121
147
176
219
150
201
150
167
174
203
121
186
164
171
208
172
112
170
130
150
112
226
177
208
220
121
194
150
208
233
202
112
112
192
163
176
165
121
175
195
226
222
112
156
228
210
168
208
150
121
144
172
130
128
150
208
112
170
112
237
121
232
168
167
208
172
212
174
167
123
131
205
187
216
130
228
121
115
170
231
181
210
143
176
202
137
150
217
160
176
112
174
223
121
167
167
150
121
179
147
175
112
147
208
181
171
124
128
150
112
136
208
112
176
259
194
121
172
167
121
161
112
158
171
250
234
210
194
170
179
112
302
150
193
195
121
277
193
172
256
195
170
202
208
112
167
165
130
208
170
175
175
243
150
150
171
121
201
121
150
121
170
150
112
160
213
172
255
150
167
172
179
132
172
228
150
135
150
186
121
239
273
167
249
139
186
208
208
195
165
170
124
112
167
167
150
178
170
208
135
203
112
208
181
243
112
112
172
121
158
121
112
201
150
150
150
208
212
202
200
171
165
115
172
123
165
229
264
121
172
158
193
184
170
289
194
112
121
171
167
167
150
156
147
179
112
214
135
181
177
112
115
165
172
112
208
167
174
205
150
123
197
150
172
220
167
201
112
150
233
172
172
177
170
203
191
172
169
226
121
181
150
137
150
160
167
150
128
159
181
167
123
176
152
170
210
210
187
210
112
121
136
121
143
121
150
187
186
159
164
123
230
208
204
208
167
168
203
167
247
121
255
150
229
172
167
157
186
112
165
186
121
172
112
167
150
150
202
121
209
224
226
201
168
185
236
150
112
171
226
150
236
112
112
112
203
112
208
165
115
167
112
210
234
212
225
228
121
150
150
135
278
209
115
112
112
121
233
112
263
112
150
207
271
137
121
176
195
121
222
244
201
170
150
164
150
121
160
150
121
194
236
149
150
112
165
181
220
150
208
184
226
171
182
123
172
121
112
219
208
121
228
172
121
167
187
257
121
150
172
171
176
260
195
167
176
130
112
195
172
150
172
121
112
150
121
136
218
167
278
276
150
171
196
112
340
167
210
171
150
192
176
208
124
258
208
228
176
208
179
235
112
121
195
172
150
233
215
167
208
150
208
112
167
150
172
172
278
176
146
193
174
208
112
150
157
176
137
167
150
219
231
229
217
195
165
147
171
218
123
112
167
187
150
150
203
236
208
112
231
174
158
158
208
208
207
112
121
208
195
156
150
123
170
208
176
121
121
150
167
176
189
172
170
202
208
219
181
170
128
181
128
208
159
123
238
112
167
165
137
121
112
208
121
112
172
192
170
212
185
150
115
115
115
181
150
167
187
115
234
150
276
115
150
170
194
121
112
130
170
258
146
137
203
112
160
115
201
174
215
165
167
219
220
205
150
224
210
216
150
190
121
193
239
150
176
170
167
194
174
245
112
237
192
147
220
208
167
112
250
182
187
187
112
229
213
210
193
195
172
207
170
208
143
137
150
150
156
121
143
208
250
150
150
208
112
193
121
171
208
196
208
121
210
257
158
124
203
147
121
186
186
121
112
167
181
135
208
208
136
112
156
150
112
152
150
202
174
220
171
218
150
157
171
164
208
112
228
121
150
240
123
175
121
193
115
130
237
112
210
112
186
112
189
112
150
181
136
150
121
158
112
121
112
150
203
220
112
235
192
172
219
112
135
170
121
159
150
171
121
170
253
205
195
276
150
150
244
112
164
150
170
121
172
170
112
172
171
240
159
184
232
136
159
135
177
250
225
171
181
121
272
123
171
172
170
150
121
150
265
203
201
176
112
135
171
261
150
176
184
203
171
150
171
121
112
121
135
172
128
186
150
150
213
193
223
201
167
179
150
172
112
172
171
167
137
167
150
172
121
172
202
186
150
166
202
207
186
224
137
184
208
185
170
174
167
172
228
135
250
115
230
240
172
187
172
194
215
150
208
150
112
178
202
150
150
121
150
229
112
239
112
194
228
171
121
207
167
220
236
176
172
150
130
193
112
112
210
171
121
203
150
233
164
186
208
202
128
208
217
121
150
212
219
243
203
195
150
208
121
121
216
112
112
202
167
150
150
150
150
165
234
186
212
260
172
112
150
170
137
210
112
203
152
139
228
171
150
238
136
176
164
208
150
121
192
199
161
205
150
197
123
176
167
208
167
171
150
123
147
168
121
208
121
112
147
124
175
176
240
112
186
112
208
171
181
215
167
135
150
150
171
220
192
123
194
152
207
172
170
172
143
144
178
208
168
210
150
150
228
240
150
130
170
168
243
121
150
159
192
208
208
115
211
182
115
275
208
208
253
135
170
226
123
152
167
208
150
265
112
167
115
130
198
167
193
167
194
208
246
184
115
274
167
208
217
165
123
237
137
121
171
136
278
170
226
165
205
112
164
150
202
165
205
239
194
112
228
181
208
193
159
167
227
150
112
181
237
181
267
170
150
171
201
112
165
121
192
238
170
186
128
239
237
121
228
201
214
112
170
172
287
167
196
155
165
150
173
159
165
186
128
170
210
150
205
152
239
176
170
121
176
228
212
195
160
171
121
112
171
174
177
299
164
159
170
167
175
226
121
175
239
150
112
200
124
172
224
150
176
192
170
112
192
121
176
112
194
206
123
240
210
194
186
135
121
302
189
112
123
184
219
195
165
208
176
159
135
177
201
150
212
164
217
171
147
208
112
123
150
150
147
294
124
192
208
121
171
121
226
181
150
160
170
208
259
121
172
220
123
176
172
121
150
156
130
121
171
137
194
123
150
190
130
112
225
173
112
174
172
223
170
167
123
172
144
170
143
175
164
220
181
250
121
263
218
147
150
208
123
223
231
172
208
172
150
150
211
220
123
181
150
167
167
130
240
112
187
121
203
121
165
128
179
176
194
201
203
243
115
137
175
250
210
186
112
243
121
112
195
208
186
274
208
143
150
128
123
170
112
194
178
158
167
193
199
194
112
267
208
195
223
150
193
210
112
189
130
247
143
136
121
172
212
210
171
181
112
112
121
170
150
150
167
245
112
208
179
130
237
171
150
189
115
150
112
123
150
184
228
226
203
288
195
237
147
128
176
239
219
121
194
150
201
121
167
112
176
123
176
150
112
156
112
150
121
175
121
123
112
150
172
195
210
175
150
150
121
180
263
136
208
172
208
193
168
192
150
208
165
213
171
217
171
208
136
195
170
121
112
112
112
172
171
150
136
163
172
201
230
156
121
168
181
158
136
171
210
279
123
228
214
192
208
208
172
121
150
210
210
112
208
160
150
147
170
124
171
160
172
174
112
123
231
225
208
260
170
186
170
150
186
194
212
112
195
123
212
232
167
121
208
150
135
202
112
167
136
235
161
206
112
256
165
172
150
171
170
236
195
167
150
181
209
187
168
192
179
208
150
237
246
228
250
112
150
152
112
152
147
226
263
302
236
228
135
167
195
181
150
207
150
203
176
187
150
112
244
225
157
195
228
131
194
147
223
207
195
250
228
177
124
203
195
167
172
243
167
150
208
176
187
150
121
135
112
143
208
150
112
115
199
302
121
231
230
136
167
228
255
112
150
217
179
216
239
213
150
159
157
176
233
238
201
159
179
150
225
177
179
165
220
194
167
167
135
208
112
121
250
159
194
112
245
165
165
195
225
137
210
208
217
128
240
193
192
194
112
195
150
112
123
195
112
196
203
150
197
194
172
255
203
302
112
186
128
158
158
121
177
171
150
112
161
170
150
208
232
150
171
121
171
121
144
167
112
259
250
208
172
202
145
153
170
112
112
212
172
150
112
167
158
178
208
220
136
186
150
152
172
187
208
121
135
172
146
225
112
177
152
193
150
210
150
160
172
176
150
192
167
221
150
112
121
171
216
150
212
192
164
123
243
201
244
136
158
172
176
237
177
121
225
208
112
194
231
242
112
181
232
220
150
181
147
171
136
136
171
150
170
167
128
121
195
136
208
150
179
220
204
172
158
136
121
228
236
186
215
172
203
208
159
239
192
208
211
112
210
170
150
193
150
210
170
121
167
254
150
150
170
266
220
150
186
207
193
223
165
136
165
150
130
150
208
150
237
112
193
176
167
160
124
136
112
193
194
195
121
121
171
250
181
170
150
170
208
167
203
164
136
168
144
215
112
239
150
121
176
172
171
239
208
172
172
157
137
203
192
177
228
181
158
167
203
115
121
186
150
150
237
123
121
177
124
167
164
203
164
150
193
177
193
150
171
193
167
232
121
175
150
202
165
190
250
121
189
187
150
207
177
164
170
167
187
124
150
219
195
172
171
121
112
121
123
160
136
124
208
165
172
202
123
112
196
135
150
201
150
181
112
231
143
181
181
170
216
150
171
203
121
135
240
135
115
170
231
150
219
171
175
156
165
228
163
228
121
121
170
194
210
171
194
121
150
228
281
239
164
202
194
167
198
136
272
177
172
186
193
135
174
150
112
172
150
150
167
208
238
150
112
167
172
150
147
250
189
171
136
200
150
170
187
224
121
112
136
150
170
170
150
172
171
150
112
135
115
150
112
150
150
181
210
165
121
225
226
150
171
115
170
150
258
135
121
217
181
181
186
167
121
172
147
176
166
170
167
150
187
193
123
172
240
137
136
150
135
172
121
184
240
172
112
171
112
206
208
205
146
215
147
212
121
164
201
112
135
342
112
207
121
135
181
150
237
121
112
208
228
171
112
167
170
258
186
121
150
136
208
112
150
193
165
147
167
123
150
115
219
228
179
112
212
212
170
167
220
207
228
172
134
170
150
167
208
121
150
128
203
194
225
112
167
150
112
263
150
174
121
208
165
232
112
150
150
203
150
171
112
233
150
157
112
112
167
178
172
179
217
112
170
235
174
112
112
208
210
206
167
229
202
112
121
235
176
170
150
112
187
136
164
121
215
159
231
210
150
208
137
130
165
208
139
181
168
121
208
176
228
121
208
121
172
215
161
226
121
186
115
175
171
229
243
187
150
165
115
171
226
150
241
121
112
195
194
174
150
123
123
150
299
123
186
208
150
189
234
170
181
225
143
143
188
195
210
193
170
112
169
150
233
186
206
164
170
189
181
170
167
164
112
201
150
112
194
115
205
193
205
195
121
172
150
217
121
174
194
150
207
172
212
167
195
219
186
194
186
121
186
215
150
123
150
167
121
121
255
210
240
112
187
128
170
176
250
189
150
253
135
193
172
115
219
176
112
124
123
210
121
115
239
112
150
112
208
112
137
172
177
225
240
193
206
193
193
156
192
167
165
194
112
112
192
150
234
192
121
137
158
228
187
135
135
112
171
121
150
143
195
202
192
135
266
156
150
208
121
172
135
194
167
217
258
165
177
227
243
150
121
150
208
171
237
150
150
172
159
112
255
208
150
146
186
123
216
271
112
186
253
121
150
174
172
208
193
194
150
208
241
231
150
128
202
172
150
130
171
143
167
112
208
150
187
203
172
121
121
167
112
121
112
144
207
136
167
191
250
150
172
253
250
159
123
130
186
199
186
181
158
172
208
195
220
121
179
231
171
167
208
112
112
112
263
195
121
186
150
130
112
150
112
147
128
150
203
208
150
112
187
164
195
150
210
192
176
194
255
174
167
112
171
150
203
206
150
212
170
172
150
150
121
171
112
272
137
181
179
229
121
135
150
263
253
170
112
172
123
164
181
177
190
121
150
207
121
124
187
136
150
182
193
112
160
112
220
121
167
212
192
210
231
121
144
210
216
171
170
160
209
135
195
181
137
150
121
203
201
150
175
172
172
208
130
121
195
174
171
167
218
150
218
121
237
208
150
170
187
150
250
184
223
150
186
194
228
215
207
237
225
172
167
182
237
240
202
150
165
121
164
182
212
225
260
208
207
210
137
229
193
121
135
210
276
208
186
115
115
171
150
150
144
150
136
112
208
112
192
240
165
159
121
171
208
121
171
194
167
170
112
218
172
170
135
112
160
171
136
121
225
150
150
231
135
131
172
135
173
182
225
207
170
170
176
112
258
265
171
244
212
210
121
195
165
229
167
150
200
208
208
150
166
238
159
208
167
170
150
112
172
112
150
217
112
181
123
112
112
150
121
203
189
112
115
192
195
176
208
150
150
223
112
150
212
112
112
195
208
217
112
171
176
150
164
150
189
112
165
121
121
172
171
237
208
170
123
156
177
181
186
241
123
121
159
112
220
187
171
193
150
123
150
201
216
135
150
165
240
152
181
165
123
112
167
210
225
182
194
150
187
215
168
150
112
174
124
130
112
206
239
112
112
227
194
200
254
123
167
121
172
112
115
130
181
112
171
167
167
208
194
170
150
112
150
123
165
165
150
172
121
121
150
201
206
264
175
115
112
170
219
115
208
219
176
131
172
123
134
187
150
170
121
150
234
208
167
205
210
115
237
121
218
143
213
196
112
206
121
212
150
170
136
150
186
167
112
205
208
210
235
201
150
226
176
208
199
220
158
186
210
228
208
166
112
167
158
170
229
147
210
186
147
121
170
150
172
177
170
228
229
121
239
164
172
171
170
112
128
167
226
150
112
160
243
121
241
228
221
174
219
202
172
123
193
147
112
297
168
112
203
137
170
121
243
237
172
186
172
208
170
196
200
176
121
160
255
150
121
302
181
112
212
209
232
165
268
121
150
123
208
203
143
152
186
150
150
135
137
164
150
150
174
123
237
244
150
123
150
165
187
112
112
181
167
237
239
164
112
176
150
239
167
195
187
112
121
174
229
175
171
170
193
208
192
150
213
196
165
207
192
165
228
121
208
172
206
136
121
170
208
172
176
170
123
123
124
112
208
112
145
170
112
112
132
121
145
302
121
232
208
150
182
165
213
220
255
194
121
150
194
150
137
182
233
171
146
215
186
112
147
136
260
176
147
121
243
150
234
228
150
171
146
150
115
187
121
208
186
150
143
194
150
210
150
112
112
195
170
217
228
123
239
150
195
205
217
112
208
193
212
165
165
150
167
112
208
229
112
302
228
194
124
233
144
208
205
208
212
171
165
221
150
150
124
254
200
255
121
123
181
150
177
213
112
121
176
112
150
172
194
229
177
121
194
196
204
192
150
207
112
172
121
121
136
212
172
115
199
202
150
168
193
150
136
165
112
220
123
225
139
170
186
278
237
112
167
172
150
208
208
150
174
165
194
112
194
203
156
170
181
112
112
187
207
112
123
172
208
135
135
181
210
150
170
187
177
202
150
195
171
231
212
150
226
174
150
223
112
174
121
240
208
123
143
112
121
171
171
202
157
205
187
263
187
226
150
189
159
130
112
186
112
187
121
175
231
121
172
136
190
187
210
176
130
213
279
176
137
220
139
187
228
265
167
123
181
203
206
171
150
220
170
160
210
115
170
150
150
232
194
213
243
267
156
195
170
156
203
112
137
123
184
147
167
172
150
201
150
233
229
202
112
141
176
121
112
150
112
150
135
195
150
170
123
207
239
181
112
112
219
171
167
112
181
121
156
164
121
250
121
194
172
192
171
171
136
167
150
240
150
167
171
170
199
150
121
181
187
150
203
239
186
181
181
220
212
150
121
121
258
121
112
137
150
150
237
205
210
150
238
171
194
123
167
181
168
172
135
139
208
208
216
123
112
230
150
147
137
265
112
199
186
112
147
219
167
236
187
115
139
258
112
170
194
150
137
112
259
147
195
212
172
112
136
165
263
217
247
150
167
186
146
121
137
112
170
195
121
173
208
170
164
123
172
208
178
171
124
172
176
202
175
167
112
150
165
112
170
121
121
137
168
203
181
194
207
121
228
150
226
218
195
121
150
204
124
115
150
186
115
121
112
208
172
112
158
184
225
112
165
212
164
171
181
150
208
170
150
206
194
237
137
171
231
165
159
150
208
255
135
164
150
150
123
255
121
171
186
121
231
224
165
112
112
187
189
202
123
157
174
150
152
112
208
250
124
135
205
144
150
186
194
150
184
208
112
231
112
171
205
246
150
158
228
265
150
112
112
115
150
150
177
193
112
189
171
115
135
115
121
165
121
237
112
160
207
121
213
112
228
242
193
208
172
208
112
112
150
199
297
121
176
150
135
208
186
203
150
124
220
203
150
219
147
170
112
170
181
115
137
172
231
246
203
135
187
150
219
112
150
211
202
112
203
189
241
205
220
112
202
171
208
123
223
123
243
150
230
150
181
176
112
212
150
112
171
220
171
172
195
172
112
177
218
215
121
167
167
233
212
228
150
213
150
112
121
112
112
112
123
135
112
112
160
167
228
115
236
218
136
232
165
201
128
123
168
228
164
112
172
150
172
208
219
168
112
178
112
195
181
170
203
171
150
238
205
130
176
136
181
186
121
150
217
181
235
168
172
139
220
199
164
150
226
220
195
112
192
208
112
171
144
228
217
121
150
217
172
239
165
196
172
208
112
202
208
167
249
171
112
170
172
199
112
165
158
167
121
112
205
206
128
167
115
207
150
158
259
164
172
150
193
210
165
185
121
234
123
176
123
200
274
170
217
186
135
150
234
177
187
172
124
171
164
150
179
124
121
112
123
150
192
187
208
112
232
165
183
193
150
208
160
121
136
281
172
181
165
240
192
112
220
214
171
150
150
158
194
147
167
187
112
121
112
147
167
170
112
112
299
184
167
192
112
124
189
240
207
189
176
150
218
121
217
150
121
150
208
171
250
209
170
208
172
121
174
123
225
193
237
225
147
167
152
212
121
208
130
186
177
172
201
172
234
170
150
240
112
176
172
115
158
164
194
186
260
205
165
225
150
219
250
150
228
159
212
152
243
212
172
171
152
150
150
164
278
203
187
178
112
150
167
210
112
112
177
112
130
167
203
202
203
150
170
161
255
156
186
182
159
217
170
172
165
128
176
212
121
170
184
216
239
112
170
172
112
158
150
228
152
147
173
208
137
203
112
255
168
171
121
194
195
150
237
181
265
165
136
136
164
239
176
237
193
170
147
253
112
172
202
121
170
121
167
150
203
150
123
233
150
167
255
150
208
172
171
210
121
112
210
150
209
210
124
158
171
170
232
187
208
150
158
202
208
159
170
186
165
165
152
150
176
220
168
172
124
208
231
112
164
203
150
121
137
176
165
112
219
172
159
202
167
186
121
112
137
181
240
208
115
210
164
173
124
167
112
121
124
248
112
112
121
112
112
167
174
210
121
208
158
160
112
257
233
171
187
181
112
123
112
135
112
150
147
112
150
174
194
121
195
150
167
162
123
150
172
181
211
271
121
150
230
123
264
202
121
236
112
215
194
150
134
208
160
137
121
172
210
164
112
167
112
192
237
239
181
208
170
193
243
147
236
167
121
147
123
150
112
170
208
150
210
172
156
234
121
164
186
171
181
243
112
176
208
240
171
207
208
112
213
203
150
112
128
245
121
184
237
167
115
150
171
165
167
213
260
121
121
156
236
172
156
112
171
184
147
121
226
217
137
135
137
181
170
236
164
150
187
195
150
208
112
112
211
210
150
239
150
189
172
112
208
121
176
174
172
238
202
236
187
197
150
112
165
194
121
233
187
194
112
150
159
194
208
160
201
137
176
144
173
112
174
194
203
235
257
112
214
194
150
112
115
165
223
170
196
194
212
205
212
112
121
255
112
167
123
210
240
212
167
167
227
152
121
208
171
172
208
241
150
228
175
112
124
175
208
150
220
217
130
195
175
150
172
170
168
171
194
174
208
121
123
220
150
150
121
195
193
164
121
208
208
112
164
150
176
167
150
152
172
167
112
170
231
121
255
112
211
263
187
181
181
121
165
194
207
121
228
205
212
203
112
228
171
167
124
158
159
174
167
112
135
165
137
170
186
171
228
112
237
250
130
112
178
112
203
171
121
237
172
230
170
130
272
112
150
278
236
228
150
121
121
150
181
112
187
128
239
167
181
227
208
168
167
186
228
195
177
250
150
175
181
130
208
121
179
112
238
208
200
176
112
205
172
112
208
124
177
136
220
218
233
254
215
123
112
172
156
137
112
181
195
136
235
121
174
165
226
112
121
165
187
231
229
150
170
123
194
121
176
210
220
194
131
130
123
112
123
187
171
203
124
150
194
194
123
158
131
112
112
264
272
207
179
112
229
170
195
177
112
182
172
121
135
194
172
179
192
275
165
171
165
128
150
150
121
208
224
150
237
121
181
206
170
177
156
212
159
170
158
218
112
167
121
181
121
193
228
255
121
181
231
112
257
208
152
121
137
170
112
193
165
237
193
289
150
152
234
241
202
123
195
150
161
124
208
124
202
172
135
164
121
130
137
172
135
235
150
194
212
216
176
237
194
184
150
112
112
170
235
228
184
239
121
208
177
173
174
244
150
112
208
237
121
168
123
189
158
112
208
167
171
112
150
112
170
112
121
178
181
186
170
205
177
150
167
170
193
112
123
156
174
217
121
171
123
199
150
170
165
228
208
231
236
228
181
135
136
121
172
143
150
231
170
147
172
190
228
250
256
112
150
178
172
255
123
171
156
208
201
150
121
170
206
112
240
197
175
176
201
208
194
179
174
170
112
182
172
203
121
208
112
150
152
177
202
150
121
136
167
167
150
150
203
208
193
172
112
181
150
238
179
185
112
182
208
123
213
158
208
150
112
203
195
193
248
232
195
194
150
197
167
195
220
212
181
112
208
150
150
115
177
167
202
231
172
171
121
212
228
121
208
195
194
112
194
195
150
195
177
181
201
170
137
219
112
225
167
220
196
207
228
167
150
177
208
112
150
167
305
112
241
112
174
174
123
266
167
121
190
181
210
172
184
172
176
200
112
193
231
112
121
160
208
226
192
121
171
128
137
130
208
112
150
239
112
228
160
150
208
172
150
176
192
121
150
172
150
202
200
177
135
124
189
228
112
112
123
112
150
115
137
176
150
172
159
172
112
171
172
174
112
112
165
208
112
135
228
150
208
194
159
234
172
237
271
187
172
244
212
181
167
135
165
150
157
216
128
212
265
137
123
165
228
150
201
112
170
136
121
228
160
112
208
267
123
121
170
171
112
225
153
201
150
170
156
187
121
150
181
112
121
239
220
112
218
150
150
181
234
150
193
195
121
136
150
172
231
172
207
228
112
112
144
165
150
137
201
152
158
208
150
274
172
112
199
150
115
112
203
128
121
167
208
206
150
150
150
171
202
135
150
250
172
181
171
194
271
135
228
171
177
150
121
184
208
124
193
121
244
121
230
144
187
121
226
112
150
147
208
231
194
167
158
158
143
194
112
175
224
208
217
208
112
201
278
156
165
135
112
150
150
164
160
170
206
194
128
121
238
150
121
112
121
208
136
218
160
121
184
172
196
135
193
176
135
167
171
212
255
187
208
150
231
208
170
220
172
112
237
170
228
121
150
181
112
158
123
136
167
222
152
208
112
168
172
219
123
208
194
112
159
160
243
121
128
150
172
194
136
172
208
137
210
152
112
226
202
203
163
194
147
130
159
194
189
115
121
112
137
128
176
236
112
208
112
150
174
201
136
171
165
210
121
237
217
202
147
172
112
220
147
193
150
150
209
200
150
171
186
226
167
175
195
195
187
164
135
121
228
150
112
112
123
218
233
150
215
207
171
121
112
135
168
242
240
166
208
157
121
167
164
201
112
237
150
231
112
291
208
150
137
203
123
121
172
302
172
187
137
150
150
230
150
112
121
144
165
167
121
202
220
172
150
172
112
112
208
124
150
150
176
205
165
172
112
121
121
229
203
121
222
232
112
150
121
243
147
112
137
170
124
208
124
150
210
123
195
112
168
208
221
147
181
210
205
212
112
187
150
150
208
167
213
201
156
158
161
260
226
121
216
172
263
171
208
195
152
135
170
121
150
112
256
212
123
208
214
215
112
174
160
112
112
121
219
150
164
150
224
210
203
174
150
150
187
171
112
167
150
203
121
192
208
279
150
176
170
201
187
164
167
201
137
130
147
208
152
170
123
112
212
176
205
209
167
204
232
225
215
112
123
181
164
208
208
195
195
172
121
186
187
250
192
186
228
171
220
186
150
250
168
186
156
172
206
174
121
167
207
174
172
150
121
150
112
203
177
121
150
208
168
150
144
150
176
137
150
239
205
121
137
150
205
208
194
121
121
112
164
218
112
168
112
177
194
208
218
136
150
174
168
255
181
226
121
150
112
144
186
167
121
215
181
228
179
158
239
194
186
170
165
150
128
112
259
150
224
205
150
194
165
194
112
123
208
187
167
202
112
206
194
158
192
121
170
174
171
174
150
135
150
257
237
121
167
124
112
168
177
121
150
159
165
147
115
171
250
194
112
204
256
177
150
208
184
123
236
208
170
208
160
121
121
177
150
216
212
202
172
158
150
217
208
198
171
167
229
150
219
167
112
255
186
121
208
112
232
130
160
112
167
150
136
175
112
171
165
168
227
167
167
217
160
150
172
206
239
171
115
237
170
201
225
128
192
121
174
349
212
172
225
171
150
150
112
112
219
112
176
263
167
217
135
204
212
167
177
150
123
226
194
150
150
185
128
147
229
121
150
172
172
176
150
226
168
165
112
167
123
194
237
135
168
112
167
237
240
150
288
186
237
176
123
194
222
123
184
194
190
205
176
121
208
220
112
121
226
167
167
233
167
209
171
123
150
194
150
112
228
115
196
171
150
212
171
172
112
128
172
172
176
186
135
218
228
171
150
220
121
210
121
193
112
121
179
121
208
219
121
181
177
226
208
171
121
147
121
112
174
174
156
172
121
136
176
263
194
121
189
238
150
121
257
178
177
170
123
137
170
121
165
275
210
208
172
249
150
187
212
181
112
121
121
147
187
150
121
167
203
212
208
137
159
192
170
176
112
203
165
123
185
231
172
207
219
203
156
156
137
170
194
224
215
179
130
112
112
150
158
168
172
193
231
186
171
152
150
123
208
123
136
194
121
187
243
179
121
170
137
229
150
121
192
150
143
150
195
202
147
121
136
228
176
170
176
210
278
165
228
278
210
238
181
217
177
150
187
172
150
224
203
227
170
152
239
250
150
201
186
164
187
171
112
158
170
150
143
258
136
201
189
212
208
150
147
150
170
203
220
112
170
259
170
150
150
150
172
208
218
150
235
112
176
212
208
168
165
272
115
237
170
159
167
165
136
167
194
181
167
112
167
208
176
162
121
177
112
112
123
150
112
224
135
219
195
181
202
263
275
115
278
167
208
186
135
171
170
210
135
112
175
177
152
158
208
112
302
167
237
218
121
171
226
219
186
112
219
121
243
231
112
208
204
121
181
181
203
121
158
158
236
121
231
176
150
135
206
112
173
112
123
112
278
165
159
238
112
170
284
182
150
150
187
156
162
158
210
121
150
150
123
228
225
112
170
198
156
231
193
150
112
167
176
250
258
123
158
112
208
167
194
167
176
226
172
212
112
238
170
194
121
123
121
214
195
147
205
194
225
200
233
208
208
121
179
150
144
210
150
237
112
150
112
136
112
208
139
237
171
193
276
159
167
193
211
153
150
240
172
137
195
194
158
202
176
242
152
172
112
250
112
193
167
193
123
237
176
150
219
150
150
175
244
207
250
136
112
194
121
171
164
112
121
264
167
150
178
121
176
171
112
150
208
161
150
150
160
168
150
243
170
167
139
255
150
208
112
112
121
123
174
201
172
228
165
207
255
150
172
170
218
192
234
208
157
181
193
177
150
208
199
150
194
160
170
281
181
172
112
158
170
175
112
150
187
253
121
217
121
232
265
237
167
233
121
172
187
207
250
112
175
150
189
208
150
123
130
224
215
112
172
123
201
177
238
217
150
171
112
187
150
121
167
165
237
201
201
219
235
208
135
112
150
150
187
121
196
176
167
231
189
172
276
121
209
121
131
135
226
150
194
160
228
194
150
171
193
136
281
208
210
172
172
208
136
147
158
170
112
165
123
135
195
171
121
214
150
243
179
112
167
195
150
228
121
112
186
136
226
208
208
168
150
123
302
240
121
212
206
112
136
121
208
150
199
194
220
121
121
150
228
226
217
130
121
112
172
175
147
186
136
112
217
152
193
112
112
236
259
150
207
167
112
242
115
167
263
193
112
208
121
171
222
208
174
171
112
167
228
228
137
158
175
165
164
165
175
164
212
146
202
123
214
195
150
121
121
115
204
194
171
137
237
147
112
112
170
112
233
124
146
121
137
193
211
195
115
168
190
112
204
178
121
135
158
194
144
208
121
130
121
226
194
204
170
186
178
150
203
121
156
121
232
192
150
162
150
112
184
212
181
179
171
229
208
167
220
150
192
112
150
153
177
165
121
208
112
176
194
128
176
121
171
207
219
250
192
172
150
222
237
212
150
171
210
150
176
167
187
174
121
172
152
121
208
150
212
202
214
258
150
165
193
195
172
150
186
171
174
112
150
201
112
171
260
150
150
112
164
186
177
150
130
226
159
276
228
121
197
176
130
121
216
112
156
160
233
250
112
165
150
112
240
184
150
112
121
112
208
212
230
112
150
259
121
137
112
208
171
202
112
187
150
150
181
121
181
246
171
196
144
112
121
207
170
167
144
112
112
177
208
115
181
172
207
203
297
181
172
112
112
246
186
112
164
159
229
112
135
272
187
137
156
137
211
158
224
182
195
210
172
172
121
210
270
136
123
143
220
170
205
150
150
137
147
211
240
208
299
201
265
160
150
187
135
208
240
201
112
115
121
186
150
184
172
186
172
184
143
208
112
203
158
255
172
171
135
297
152
156
150
208
160
144
112
202
171
150
195
143
159
181
208
181
172
160
210
170
124
167
247
186
172
212
158
121
172
164
193
112
121
208
182
212
174
115
123
164
208
121
112
174
150
229
150
174
186
112
210
211
165
128
121
112
199
193
112
217
136
242
150
225
186
215
158
237
136
170
121
121
137
244
150
171
187
165
175
233
205
167
170
167
174
201
181
176
208
167
196
150
150
194
234
220
176
199
187
150
189
323
128
258
167
172
150
164
179
255
194
137
217
136
150
240
201
156
156
150
172
112
150
170
176
208
150
218
168
112
201
136
152
170
137
208
150
135
136
137
112
172
167
184
150
202
167
172
194
168
121
220
239
206
261
150
150
124
208
193
170
207
112
136
171
178
121
255
172
130
176
121
115
112
263
214
174
123
130
121
150
135
228
186
137
112
170
229
137
130
158
112
200
181
223
198
167
143
172
164
207
236
181
228
210
203
172
215
150
112
253
218
181
202
124
252
208
112
123
112
245
150
221
209
165
150
172
121
176
137
195
135
112
227
203
208
170
112
156
112
164
255
160
112
112
115
146
217
172
112
112
184
186
150
255
123
123
172
121
278
150
150
201
186
170
121
176
195
195
239
199
150
121
203
171
192
147
236
159
112
170
231
220
112
144
194
123
170
165
121
150
181
210
171
195
228
137
186
165
219
239
245
112
160
194
262
167
226
192
205
193
172
212
150
176
181
235
172
240
121
121
112
175
123
156
302
213
260
177
174
186
121
226
176
112
215
135
150
121
213
220
150
112
121
150
219
121
189
121
194
234
150
176
181
170
163
197
156
150
115
168
121
150
123
172
121
271
150
150
275
243
150
112
150
156
187
181
121
208
194
135
112
112
214
228
187
167
176
278
155
250
165
121
181
170
228
168
172
186
135
160
150
170
168
150
172
167
195
112
230
150
121
203
208
201
170
237
250
210
195
186
186
160
135
231
171
165
112
137
158
123
206
112
197
159
135
150
123
236
202
150
150
165
223
112
186
172
184
115
243
174
208
208
208
258
212
150
200
128
198
208
112
194
150
208
156
193
167
164
206
135
202
137
171
268
207
182
257
223
121
167
228
191
228
163
121
208
170
229
121
171
167
150
192
194
212
170
217
168
112
112
156
167
171
123
150
237
194
302
176
167
112
208
205
121
167
170
172
167
207
225
226
192
208
164
165
228
167
171
242
186
212
186
121
112
220
203
158
121
150
112
195
208
171
121
146
150
228
176
121
123
165
121
193
172
159
150
121
202
112
137
176
173
121
171
189
165
172
195
301
194
171
201
171
121
170
170
143
208
112
171
208
231
123
121
150
171
194
147
201
212
250
186
208
177
208
167
112
218
150
128
207
236
150
167
202
210
194
136
239
225
150
194
112
237
121
121
184
170
150
195
208
115
115
177
165
112
137
150
170
175
171
150
150
202
121
172
170
179
115
207
259
128
172
208
167
176
205
121
112
172
208
237
112
167
150
150
181
200
150
150
208
186
208
128
167
167
171
159
167
177
208
150
135
202
228
217
121
181
225
150
121
176
170
137
173
121
202
158
190
233
135
159
203
112
226
167
162
208
199
220
193
121
171
150
349
208
194
112
195
239
150
181
214
124
204
150
186
112
193
214
150
124
150
112
276
228
121
150
121
165
207
237
179
221
208
165
161
206
177
165
128
186
178
135
121
207
167
186
172
135
136
195
150
208
176
201
207
121
150
150
217
112
212
170
165
121
130
204
228
150
170
130
186
147
165
207
170
208
208
226
112
186
255
262
150
186
226
172
229
170
172
150
275
112
184
121
112
179
174
130
172
137
152
150
123
263
150
215
170
121
167
150
150
208
172
186
194
257
186
279
123
172
147
130
150
220
245
192
115
167
112
186
159
181
112
205
203
192
179
170
181
121
136
228
178
121
203
170
203
207
150
171
150
135
195
193
135
150
172
167
172
156
130
210
172
112
150
137
137
171
208
171
172
179
150
196
257
158
112
150
121
136
231
260
167
147
123
112
112
121
112
121
181
236
195
121
176
150
172
228
208
150
121
176
150
228
112
190
121
187
121
121
137
193
202
226
112
136
243
121
207
123
150
231
195
178
181
237
168
208
195
150
207
112
170
167
137
226
160
186
112
167
208
112
112
243
257
128
172
170
208
144
192
121
170
208
115
171
204
150
136
115
229
137
176
192
128
170
164
150
228
167
143
150
184
165
128
170
112
112
167
208
172
121
159
194
202
193
250
156
208
112
136
159
172
150
165
215
208
193
239
226
112
302
150
121
124
228
121
150
121
121
255
208
201
204
292
167
112
167
161
208
135
135
123
160
181
231
208
152
159
175
201
220
202
170
121
150
194
121
159
214
150
112
130
159
171
167
150
162
112
112
208
112
121
121
171
167
231
229
186
212
112
112
137
167
243
172
136
212
137
171
121
177
160
167
112
194
228
112
121
258
172
193
135
121
153
167
150
210
194
130
150
164
112
240
150
135
175
257
167
251
196
177
194
121
208
195
150
112
112
181
112
179
219
150
121
112
123
168
112
171
170
121
208
121
205
128
112
112
230
121
156
124
121
115
123
163
247
170
167
112
233
172
176
112
112
150
170
228
137
176
150
208
121
121
192
208
172
220
186
168
112
192
187
172
112
194
172
207
181
121
137
137
195
228
150
172
164
210
167
228
193
158
167
171
147
176
247
112
217
112
176
115
112
195
121
181
121
160
208
150
208
121
112
144
250
255
218
150
181
208
255
219
225
121
135
208
167
150
112
218
192
175
123
172
112
115
150
237
160
172
157
170
121
159
170
208
112
168
150
201
194
194
209
220
245
150
121
213
250
208
143
112
170
112
208
112
230
170
186
235
218
193
186
171
202
165
212
208
181
186
150
112
208
172
177
112
255
178
175
208
192
172
179
150
177
263
150
208
164
195
135
115
235
123
194
200
220
210
250
137
228
222
174
181
239
233
112
112
193
175
226
201
265
172
121
150
172
150
204
226
124
150
299
167
130
195
187
177
112
195
195
175
228
164
187
150
112
150
112
225
112
172
167
208
115
121
172
150
236
189
227
202
233
112
217
210
112
219
150
143
240
182
135
194
137
130
176
202
171
201
228
112
112
123
123
121
232
174
150
167
238
204
112
112
195
181
170
150
174
150
137
172
167
167
167
221
112
171
112
208
112
171
237
112
124
131
150
152
141
228
112
226
150
217
240
301
195
121
262
202
137
150
121
237
121
187
121
172
170
152
170
121
207
219
205
135
168
158
150
121
159
235
167
121
170
165
150
187
181
112
164
167
181
123
237
214
239
171
186
259
159
150
214
121
150
121
230
172
167
112
212
150
187
265
193
164
135
196
121
150
167
193
208
150
121
195
208
150
170
150
159
164
167
195
244
124
208
256
265
243
123
190
208
121
124
185
208
143
218
194
112
167
167
193
186
112
243
237
172
121
176
135
218
150
121
156
150
208
112
221
219
150
202
175
112
160
243
112
220
167
189
229
172
150
121
171
179
135
186
186
232
143
187
167
170
167
112
243
112
172
171
288
207
253
265
181
167
123
212
207
121
228
259
275
121
238
123
196
112
181
167
203
205
180
176
208
186
162
165
175
170
150
172
181
212
208
208
123
194
226
174
167
171
208
223
204
171
150
165
193
195
171
208
167
136
172
156
194
121
170
194
172
208
121
184
208
164
150
150
167
229
237
210
291
150
170
152
112
171
170
158
172
194
121
136
257
150
121
171
165
121
170
228
193
213
123
218
218
112
123
228
121
123
208
250
112
199
121
181
112
150
112
214
168
228
195
179
210
163
164
150
237
209
121
207
112
194
172
112
135
189
121
121
186
165
115
167
121
219
217
167
171
240
150
177
150
150
252
150
112
135
208
172
112
288
121
112
135
297
243
228
184
194
181
210
130
115
121
167
196
123
187
242
136
158
165
237
172
167
150
192
112
159
171
121
208
194
218
150
136
112
112
208
240
131
112
198
203
208
170
150
172
150
150
176
167
150
112
121
152
171
174
121
150
172
186
121
194
186
150
150
181
150
208
165
121
176
150
278
231
176
174
143
160
176
193
161
220
167
170
228
135
176
176
217
150
112
172
176
207
220
177
150
220
121
237
202
228
214
165
156
112
194
176
150
121
165
193
167
225
150
150
210
123
150
208
225
226
112
121
147
121
112
165
208
112
171
121
131
136
222
170
175
170
156
176
115
193
167
150
181
208
245
157
150
150
112
121
112
137
192
228
167
202
178
215
212
302
194
215
192
112
212
164
123
170
181
217
171
147
167
226
112
208
150
112
124
112
112
195
181
199
172
195
208
181
181
195
115
239
208
232
206
210
112
121
187
150
208
172
157
150
174
167
147
112
112
112
193
121
194
172
150
186
187
176
121
181
170
226
233
179
170
112
195
121
171
112
137
279
112
136
171
208
121
150
170
208
131
215
150
255
172
172
137
165
121
179
112
112
167
177
165
193
192
186
112
192
115
193
136
230
187
210
234
164
262
178
130
181
152
208
200
150
181
167
186
112
112
207
172
204
228
237
170
170
176
135
112
208
137
112
136
194
131
137
112
202
228
165
182
150
159
171
210
208
218
165
171
195
143
208
150
263
136
112
160
172
263
121
186
201
208
112
247
172
112
200
211
150
235
150
112
194
121
218
228
121
228
210
112
121
172
121
150
135
237
194
158
221
186
121
171
135
172
167
205
261
121
150
150
187
172
156
124
115
209
208
156
150
121
156
112
152
207
157
123
167
181
223
112
217
260
172
194
166
158
220
115
181
172
124
195
179
228
203
201
150
172
171
194
171
150
203
124
167
181
167
189
193
234
112
172
112
144
242
158
207
215
208
208
121
112
121
232
167
220
174
165
112
165
177
112
112
121
272
135
112
181
234
121
121
221
150
207
208
203
218
181
208
150
240
181
208
165
172
255
228
228
245
135
165
115
121
150
170
170
194
150
112
170
210
171
123
208
194
121
203
186
208
150
147
112
203
236
202
175
150
150
150
150
208
192
195
167
124
213
112
115
123
112
123
123
220
195
123
177
253
171
182
208
123
156
214
305
245
147
150
256
167
212
136
170
250
150
124
121
172
170
135
159
184
203
112
195
112
172
170
237
170
112
112
173
137
171
171
194
212
115
194
172
211
135
189
194
230
170
232
240
167
156
184
121
150
208
121
181
165
150
171
176
172
167
112
121
239
135
195
121
172
228
226
206
186
250
167
175
123
150
121
167
237
112
202
215
228
130
168
150
130
170
245
112
216
112
236
112
112
170
123
112
228
121
121
172
208
121
205
112
174
172
167
165
121
150
121
150
112
176
224
167
170
150
164
135
228
150
156
158
176
187
184
150
115
112
115
194
250
202
112
150
136
172
250
267
112
212
167
150
176
215
176
228
115
215
121
228
186
215
219
123
181
186
226
170
135
202
231
181
175
121
121
208
123
112
232
171
124
192
302
187
164
159
121
231
112
195
181
208
112
174
150
208
159
150
150
176
167
144
150
195
123
172
135
121
121
121
247
165
189
160
123
150
174
176
112
167
228
191
150
194
208
147
179
156
124
150
176
187
220
150
255
226
172
194
202
123
189
190
208
208
177
241
152
147
208
201
218
112
167
171
170
160
165
158
167
197
171
112
150
220
181
150
121
167
171
237
172
112
123
160
189
123
167
112
226
196
171
112
165
150
241
123
239
123
112
187
187
186
135
150
131
137
203
209
202
193
186
176
228
279
137
175
150
208
121
152
228
150
112
150
194
150
235
165
165
112
146
187
147
150
181
123
143
208
193
167
123
233
228
172
192
202
121
147
150
208
170
194
248
162
225
244
203
208
143
150
167
201
263
136
225
167
112
212
193
112
137
159
237
150
159
168
274
150
112
158
150
275
207
174
201
192
195
158
170
181
211
172
208
167
137
121
205
123
165
115
171
159
231
233
167
170
208
208
172
210
216
170
137
121
136
115
172
150
217
112
112
112
208
168
159
150
167
208
195
121
156
190
240
202
172
121
165
208
123
243
177
159
112
150
150
121
174
158
208
184
174
228
174
128
216
193
217
219
274
121
121
147
172
150
112
150
223
128
172
158
181
170
177
123
135
150
158
167
150
150
187
219
276
135
121
121
150
208
112
203
168
176
182
123
150
170
195
187
112
150
136
156
209
112
123
218
208
171
147
215
130
115
150
220
170
150
170
165
112
130
186
170
112
265
213
150
167
115
254
136
176
193
208
170
208
218
208
150
150
187
217
186
228
199
150
229
240
200
150
194
150
257
208
194
178
112
208
112
230
194
172
112
124
211
243
171
123
112
225
158
199
186
112
121
181
150
227
194
229
150
216
123
136
123
123
182
192
193
208
194
230
250
281
121
167
181
235
167
130
150
212
171
226
121
112
243
167
208
195
156
150
121
208
150
172
199
203
186
152
174
208
229
121
121
112
112
194
123
172
136
226
136
186
194
172
150
228
150
176
121
160
112
193
150
181
212
150
195
170
202
206
239
112
171
216
170
112
211
115
147
123
216
121
238
170
112
137
195
170
181
172
208
302
121
208
210
181
194
167
187
172
287
208
208
255
172
193
186
297
150
177
115
192
150
112
275
121
208
176
212
228
164
121
193
167
112
170
171
202
248
278
167
174
171
210
228
192
135
193
165
259
115
172
270
112
137
208
123
175
165
172
237
212
237
171
112
186
212
135
187
180
192
195
150
112
123
181
150
150
181
150
195
167
196
253
172
208
207
137
167
219
205
124
123
193
160
112
239
121
121
150
112
187
171
208
247
181
112
216
212
231
123
112
115
224
150
150
112
186
158
219
172
123
208
194
115
150
150
136
150
150
112
208
147
204
172
156
250
194
171
121
174
211
150
112
144
167
121
112
112
158
172
250
202
278
172
150
182
193
112
225
263
159
136
176
150
274
112
171
193
172
112
121
112
157
181
220
165
172
112
112
150
193
112
208
240
150
195
135
172
167
170
208
172
212
228
158
112
210
121
167
259
208
212
186
112
192
143
167
123
250
150
198
123
115
193
208
147
205
209
123
205
193
121
112
128
231
208
194
150
150
201
136
150
170
181
193
123
123
150
212
121
123
164
208
165
124
159
176
123
225
205
135
239
150
172
165
208
121
161
112
150
167
201
115
167
115
208
121
231
208
171
165
124
180
167
252
159
168
167
112
150
168
171
123
228
237
172
172
121
237
136
135
208
121
208
228
150
121
150
229
150
121
219
121
254
112
137
150
146
164
171
208
192
237
121
172
192
171
168
194
136
212
181
170
150
121
208
173
150
203
176
171
210
167
147
112
167
150
150
218
208
193
150
187
181
193
192
208
235
165
202
121
217
121
137
136
112
193
194
112
150
172
150
234
171
147
164
179
167
150
193
226
150
150
212
208
232
172
150
275
203
208
220
218
112
177
112
121
150
156
136
167
176
231
235
206
177
170
158
208
150
150
167
112
121
226
217
121
112
160
194
150
112
123
265
121
121
178
136
150
171
208
147
172
121
121
176
181
121
189
112
150
228
123
150
150
194
194
189
165
208
218
150
174
121
124
212
220
144
176
235
112
162
150
177
136
236
128
237
240
143
175
255
172
150
170
135
237
195
240
176
121
136
150
203
172
194
156
217
123
202
202
174
171
112
123
217
164
150
170
112
112
112
150
208
229
172
130
172
150
223
121
177
121
203
150
144
208
174
213
170
128
150
167
170
167
219
136
220
237
172
112
170
112
181
176
279
176
112
150
121
147
170
176
128
156
177
172
172
121
130
226
112
150
176
121
170
150
230
208
171
172
143
195
167
189
123
213
150
156
123
194
207
170
208
137
205
195
156
208
150
112
150
171
176
121
156
208
115
112
167
112
137
166
123
135
168
174
128
165
160
215
136
210
167
150
232
136
150
124
112
173
121
112
208
150
150
112
171
170
208
121
150
167
186
112
212
202
187
208
112
159
198
202
218
181
206
150
150
202
208
150
228
121
202
124
179
112
217
112
172
203
121
150
112
202
150
112
210
150
172
210
115
210
121
168
121
121
137
208
150
158
158
121
147
112
147
147
242
195
124
164
112
172
194
250
173
228
124
203
121
210
172
121
150
115
250
170
167
205
150
236
181
207
165
172
121
159
210
193
112
237
186
282
193
164
147
170
255
137
123
121
112
182
228
204
186
220
112
194
150
136
123
214
215
228
152
121
186
147
115
167
220
112
158
194
178
172
207
150
185
199
150
176
172
150
259
167
127
217
172
123
170
112
121
150
215
150
239
112
121
124
121
208
231
165
112
166
150
112
121
150
212
121
121
121
156
165
225
112
115
170
198
194
112
156
165
218
190
165
112
203
229
252
176
205
243
192
139
147
208
112
224
121
238
172
150
167
150
176
263
121
150
112
150
212
167
150
150
170
228
172
202
112
146
136
150
150
130
112
208
202
225
232
144
112
172
181
208
112
112
186
158
121
167
121
112
121
219
181
152
172
121
172
288
184
231
239
196
172
172
195
150
112
121
207
112
217
112
136
214
193
212
226
170
260
172
150
159
176
172
172
150
186
205
239
150
176
172
121
194
112
112
130
211
212
208
208
207
121
193
150
121
216
159
172
174
115
123
168
227
237
208
193
150
123
167
150
241
121
204
207
121
208
112
208
167
165
204
186
165
150
200
201
150
124
192
156
186
172
206
169
150
150
217
165
193
202
167
112
172
167
208
217
175
229
267
150
143
167
171
172
207
170
176
121
172
174
136
137
112
241
112
167
177
112
202
112
150
207
243
112
165
160
217
172
194
164
244
123
150
150
112
150
167
121
231
202
150
130
115
112
245
167
137
240
202
228
228
112
121
168
232
164
228
237
136
192
230
176
207
150
257
225
165
128
172
115
160
137
121
121
202
121
121
188
170
240
167
112
240
194
181
150
150
177
150
157
176
210
144
172
187
205
150
150
176
243
232
195
219
150
172
121
171
180
147
208
205
121
150
121
214
181
273
231
180
121
147
123
214
112
136
158
194
170
150
208
179
192
219
186
130
123
231
167
150
179
159
210
256
121
276
112
171
225
210
167
202
220
150
255
171
121
194
158
150
150
144
193
178
204
123
212
196
165
150
237
226
201
147
123
208
152
208
121
172
172
176
171
275
147
181
172
123
112
193
153
170
276
187
121
121
181
208
121
212
147
150
181
112
121
121
137
201
150
202
270
220
170
177
172
212
112
172
237
263
250
121
218
213
167
231
137
228
194
112
112
123
233
243
167
163
157
121
165
150
150
121
123
112
137
112
208
195
172
121
266
144
128
121
228
208
150
235
187
150
165
231
237
123
150
150
204
194
170
152
150
150
112
121
160
150
183
181
165
167
172
202
194
171
193
150
144
205
112
217
216
121
228
171
219
228
112
205
231
112
150
207
121
167
208
121
231
170
150
181
121
167
287
150
178
176
112
150
187
228
121
236
208
226
162
194
250
150
228
208
172
167
121
178
203
121
159
165
189
112
171
173
198
150
112
171
178
112
121
208
150
167
121
170
212
216
137
112
231
219
112
194
187
204
181
121
238
174
152
191
130
181
152
208
112
220
121
112
150
237
179
150
123
212
181
189
205
153
238
194
128
181
170
170
121
150
220
170
165
167
158
168
228
121
121
121
234
174
168
150
208
112
243
123
150
170
210
261
202
210
158
121
202
206
176
232
231
165
239
189
170
150
208
231
144
128
244
121
150
172
121
150
205
121
167
112
208
112
171
167
228
156
263
172
243
112
208
150
213
204
216
150
210
195
228
193
172
177
250
229
171
203
121
208
186
124
150
150
124
164
201
208
195
212
150
218
172
112
211
235
136
150
269
167
150
171
160
135
239
228
121
150
167
220
173
220
181
207
255
150
164
115
176
220
121
150
115
228
201
150
233
170
276
208
123
121
206
150
123
137
192
167
176
235
194
123
209
186
150
112
112
168
231
123
217
112
121
170
185
165
112
136
204
244
165
237
121
123
191
121
186
156
112
181
194
259
216
159
112
176
123
208
208
205
181
150
228
276
167
165
128
170
112
150
136
219
250
112
112
177
112
208
147
150
121
135
170
171
150
228
128
147
150
302
170
171
112
172
208
241
242
121
135
170
112
121
228
193
261
121
150
150
150
136
236
220
172
210
158
215
207
115
150
232
222
159
112
174
123
172
172
195
112
112
170
226
218
181
112
193
165
208
112
160
181
150
172
150
215
219
136
203
136
150
194
121
174
150
218
121
112
181
229
135
150
152
150
171
172
156
208
121
112
181
121
131
150
208
197
123
189
123
174
203
121
135
208
143
254
130
167
139
156
172
203
159
139
167
112
144
147
179
202
150
206
212
220
255
150
136
137
121
194
159
160
121
112
238
196
208
224
168
194
158
123
193
170
218
220
121
150
208
152
179
217
171
195
208
121
152
123
195
112
175
207
167
219
121
186
187
203
193
159
112
136
150
176
112
115
182
181
231
165
115
219
179
212
124
158
112
121
231
237
203
228
278
112
150
205
166
210
228
167
123
150
124
136
211
150
170
137
210
124
174
170
123
236
158
167
150
231
228
186
159
112
263
160
219
121
228
167
181
171
202
206
199
219
198
193
237
150
150
177
200
112
121
260
172
181
115
136
112
172
121
218
150
139
150
195
121
252
112
220
170
207
150
156
225
150
150
112
172
176
150
159
150
121
172
165
250
247
203
176
235
205
112
202
171
150
275
250
150
167
172
121
165
255
186
174
264
223
176
212
193
266
193
150
239
143
112
167
159
165
121
121
208
177
186
136
112
152
147
253
181
150
208
112
150
174
191
195
205
178
205
227
165
207
187
177
208
171
202
158
232
150
232
150
150
174
112
224
214
192
150
210
150
193
172
172
228
150
159
195
223
244
176
225
195
150
173
112
208
112
121
214
112
112
150
232
176
123
121
274
228
112
228
176
193
112
193
257
170
176
215
121
181
172
115
170
150
121
228
112
238
112
240
188
170
176
171
235
208
227
112
201
143
121
205
187
150
237
150
176
167
260
150
164
204
170
167
174
143
174
195
195
165
172
112
208
202
123
272
112
150
194
165
172
112
112
150
181
215
175
146
217
112
168
123
166
228
158
179
158
195
213
121
152
123
156
176
112
193
112
174
121
240
222
181
150
157
130
121
194
112
152
150
121
112
229
150
167
210
156
147
170
175
171
121
176
147
165
136
194
205
167
195
121
150
171
112
224
124
150
112
225
180
212
170
178
202
208
121
150
164
121
112
135
167
135
150
150
193
167
235
167
243
171
231
145
112
204
196
135
136
112
245
150
174
193
181
193
130
165
276
136
226
187
187
210
198
237
208
195
172
112
152
150
150
177
211
201
123
115
201
137
176
130
115
121
210
150
121
195
150
121
150
150
186
194
189
164
121
169
162
150
208
167
170
202
237
121
201
112
112
137
176
150
172
237
112
121
150
174
172
213
237
152
171
150
203
171
208
176
186
237
150
234
208
150
121
209
208
217
181
172
150
164
233
208
115
112
115
172
186
123
208
112
177
136
112
112
231
230
124
172
181
152
168
135
135
250
204
150
150
172
234
194
198
212
158
194
263
210
170
243
297
171
181
176
112
174
202
156
229
210
174
184
175
121
121
143
168
123
150
150
112
297
150
215
227
170
171
231
202
135
156
220
150
237
238
187
187
112
228
171
208
130
112
215
112
231
147
112
195
115
260
224
193
192
205
150
150
207
121
291
210
208
172
167
112
172
124
205
214
165
121
150
121
123
121
171
228
172
150
121
171
150
112
202
112
235
121
136
200
115
205
212
112
123
115
150
165
170
135
208
121
150
236
167
217
241
170
150
226
167
196
208
243
112
225
170
112
112
112
112
193
121
112
112
170
150
136
194
192
208
124
231
167
176
278
243
150
229
150
228
201
112
128
181
226
135
220
194
205
123
124
165
112
263
193
182
208
150
167
170
208
193
115
171
112
170
112
210
217
177
228
112
170
174
135
112
112
121
112
172
243
135
115
192
208
210
231
150
247
212
150
150
112
208
216
228
210
170
121
112
225
212
137
202
195
121
208
167
136
112
206
150
168
150
112
172
121
164
225
231
176
172
208
168
263
194
112
170
228
176
234
171
181
200
170
171
170
112
201
170
171
170
123
202
150
171
172
218
121
218
172
181
183
205
150
135
121
165
115
150
208
164
171
195
150
193
150
128
228
208
150
194
130
179
219
170
112
208
194
136
168
112
161
263
171
192
194
207
112
123
224
208
167
205
161
177
112
135
203
181
171
137
218
150
121
201
172
194
208
266
172
189
243
167
210
217
230
172
112
112
253
176
205
215
150
232
167
174
150
168
194
112
178
220
112
170
194
121
112
170
181
123
121
150
123
124
150
203
172
112
150
115
135
177
171
150
112
112
187
217
167
112
176
200
198
112
137
276
219
172
237
123
150
201
186
172
250
168
223
112
232
236
263
121
259
220
201
135
150
181
170
228
172
173
123
208
150
150
112
165
112
217
150
250
150
208
121
167
208
181
167
167
150
170
230
195
147
175
187
215
194
121
121
264
205
123
276
237
171
253
171
172
121
219
112
185
238
184
177
157
170
150
112
150
170
121
167
130
205
182
135
239
112
150
170
215
150
177
159
255
176
213
176
150
171
176
112
121
121
231
112
135
194
112
130
201
135
176
176
210
112
149
167
171
112
174
193
176
160
112
232
150
135
136
121
150
112
144
112
170
121
170
123
179
121
124
210
174
231
121
207
176
167
143
210
250
150
181
188
192
121
229
172
201
157
112
208
210
217
219
150
150
112
177
210
137
150
193
272
175
208
236
121
170
150
167
219
112
172
112
172
184
112
150
150
228
212
231
184
186
152
176
150
123
167
150
205
189
195
112
209
152
150
258
237
176
112
172
228
123
186
150
130
112
236
112
184
217
195
150
171
150
150
128
112
172
174
208
137
234
150
172
195
207
170
172
161
112
302
219
150
208
228
150
158
172
170
147
228
181
112
182
112
173
193
228
165
209
115
124
193
218
143
112
208
159
112
121
215
167
205
121
121
159
112
212
121
112
222
233
112
186
112
201
167
123
137
176
228
121
171
112
168
171
145
115
150
150
150
175
115
208
187
186
167
165
237
302
208
219
150
174
159
112
165
150
171
150
112
186
135
150
124
219
194
136
172
167
159
229
237
115
226
115
194
174
135
150
137
201
121
237
121
174
231
130
167
203
167
167
272
167
170
112
121
150
167
208
201
231
165
121
201
171
205
208
187
189
207
237
112
205
135
186
150
197
170
137
208
263
174
160
235
150
203
123
172
195
272
135
253
202
112
192
170
150
150
208
171
217
170
195
177
208
156
124
150
143
121
210
135
235
150
135
234
210
228
237
150
170
201
121
170
121
131
150
123
150
150
192
240
112
165
172
121
194
208
112
147
276
150
202
192
203
181
177
121
206
157
121
135
150
163
158
165
179
250
230
150
143
112
167
150
121
115
174
177
203
248
177
208
121
112
121
112
204
112
158
147
115
150
192
121
150
121
172
255
195
112
219
115
136
172
136
135
244
121
121
170
112
150
250
172
209
150
170
181
128
112
208
121
228
207
112
147
112
121
150
112
179
194
171
208
194
150
208
203
176
210
168
136
208
241
194
186
176
231
160
123
115
150
147
172
175
208
167
235
233
172
121
201
150
150
207
112
210
160
123
150
172
187
121
164
177
121
112
150
121
123
210
167
123
208
207
150
194
208
215
208
171
250
235
112
259
137
135
181
152
243
202
202
176
212
247
177
112
194
176
172
167
231
243
202
193
143
137
232
219
150
181
228
212
251
240
112
218
150
172
147
167
150
212
112
231
137
217
115
165
179
208
192
135
193
349
212
161
172
244
176
231
150
150
171
167
177
150
170
112
208
208
123
112
160
112
150
258
176
150
112
170
163
158
192
208
112
213
172
201
212
167
197
208
136
130
112
150
243
210
145
112
156
150
123
208
170
112
207
150
181
179
208
236
186
124
150
218
137
150
158
115
212
150
208
159
121
150
182
250
228
167
137
172
167
191
121
115
167
112
150
165
246
193
121
210
115
228
170
115
240
202
172
195
202
112
147
193
174
167
123
172
255
121
167
218
121
112
172
172
172
190
194
171
112
121
121
210
176
210
208
150
156
205
208
150
192
263
150
121
202
170
165
174
147
172
171
170
152
150
150
121
112
150
167
150
186
192
198
194
181
156
297
201
218
121
232
150
194
208
165
228
210
112
135
112
167
171
123
193
136
150
130
152
192
225
164
186
215
147
260
194
112
208
136
121
215
174
123
194
167
121
171
172
254
208
165
193
193
167
167
238
199
150
112
121
173
210
136
121
168
187
233
170
112
159
202
205
172
170
121
195
112
203
143
112
112
171
177
177
112
150
150
170
150
230
171
232
150
257
136
191
202
220
188
278
208
226
121
121
187
202
150
174
225
172
165
152
158
210
123
150
112
112
112
144
202
238
112
203
171
157
121
121
150
121
135
243
167
128
193
194
170
168
150
208
137
231
121
112
112
158
223
209
170
171
150
206
245
124
121
112
265
213
208
130
195
158
181
135
194
123
193
170
205
212
165
112
165
150
176
150
112
219
177
172
121
147
150
121
259
121
170
218
112
231
210
112
136
150
253
165
278
208
232
172
229
147
112
208
172
216
172
178
146
202
208
276
150
135
112
208
121
193
226
179
229
193
184
203
123
165
208
201
164
164
165
136
160
299
160
229
121
176
171
219
165
170
150
159
150
150
121
150
121
150
205
194
194
174
228
207
181
233
220
141
167
205
203
206
121
150
112
177
121
112
150
121
146
237
172
115
202
176
186
170
210
137
237
174
159
165
123
112
217
190
150
167
160
186
112
208
177
121
136
212
217
194
150
121
143
190
207
168
150
150
171
209
205
121
172
168
219
170
165
112
121
210
160
165
223
208
158
223
171
170
112
170
159
112
121
150
150
201
181
112
184
150
208
168
175
167
187
176
112
185
231
121
204
150
167
217
207
172
152
167
168
205
239
172
203
150
167
137
153
202
171
137
187
112
237
188
208
187
112
216
205
172
150
203
137
177
202
177
239
150
172
250
172
195
223
212
212
207
164
172
177
193
121
201
147
123
181
186
136
189
115
156
167
186
194
158
250
208
121
150
193
176
150
186
164
150
121
167
171
112
212
159
278
242
217
150
238
150
150
123
123
228
170
150
250
112
218
121
167
115
112
112
121
220
128
115
152
150
212
112
159
172
208
187
112
195
121
243
255
201
179
208
172
161
266
208
176
203
112
112
150
264
167
220
150
208
217
112
206
156
196
135
165
172
243
147
184
182
130
157
178
178
160
158
121
121
112
305
156
217
170
201
182
135
208
112
112
210
150
159
150
121
157
208
124
176
207
121
176
269
172
144
172
150
137
156
226
201
121
121
165
228
150
208
195
150
174
193
250
112
112
175
226
167
112
208
121
150
214
192
171
167
112
195
165
139
201
208
216
202
186
137
215
150
208
210
150
172
121
243
170
172
165
235
168
196
181
277
228
158
121
170
231
176
112
135
150
121
186
150
194
167
193
194
121
205
150
186
150
146
194
203
176
172
189
225
176
212
216
227
201
193
136
150
208
188
172
147
231
150
150
112
203
121
194
219
194
170
112
135
194
240
112
187
212
239
171
280
172
244
112
186
123
167
194
176
228
123
207
115
112
215
240
196
136
281
217
123
135
123
202
150
184
240
165
231
255
112
220
172
121
240
112
137
176
208
194
207
150
184
165
171
204
135
225
187
173
215
231
131
259
187
137
144
200
302
158
158
238
195
150
208
121
208
112
150
193
112
150
135
220
135
181
172
160
172
220
176
194
208
219
228
181
112
172
177
208
255
159
187
124
150
167
278
172
121
208
172
228
228
201
232
220
121
242
121
123
150
112
208
246
186
225
170
213
112
228
170
143
194
167
220
150
194
150
224
158
112
112
186
181
231
121
194
225
159
136
177
177
217
212
170
187
160
124
121
202
186
211
186
150
214
112
195
170
223
168
228
152
218
172
175
150
208
208
112
123
194
181
178
150
212
208
112
112
112
112
238
203
121
135
121
193
195
209
264
208
147
171
150
150
128
172
150
177
112
159
210
137
194
181
195
165
156
112
207
112
121
226
165
112
218
181
228
198
212
150
237
195
112
150
239
165
150
159
172
150
228
176
112
190
150
227
135
150
194
202
136
150
218
158
212
152
128
208
212
192
147
121
168
240
144
112
150
186
156
228
112
136
177
112
123
112
112
121
172
165
158
121
165
123
229
205
139
210
121
170
240
173
150
225
211
195
170
159
130
255
150
171
210
203
112
112
172
150
112
208
237
121
229
237
147
150
112
167
181
112
228
150
150
201
150
112
150
150
176
255
167
167
171
237
112
150
165
195
231
156
137
208
229
165
208
250
219
172
121
112
150
150
112
123
186
150
167
121
208
201
150
167
171
170
150
209
186
212
150
195
112
215
168
147
135
167
210
170
172
139
135
172
150
234
187
170
112
218
167
135
121
210
177
240
135
121
112
176
121
230
121
152
150
210
187
181
194
150
177
150
150
150
193
137
165
112
112
186
187
218
150
208
193
172
121
261
121
202
121
189
212
192
115
112
144
161
220
208
112
207
250
150
170
208
181
121
172
215
212
112
135
150
163
208
112
112
208
112
202
210
135
164
194
237
228
150
194
150
234
195
150
184
176
170
208
186
193
219
121
147
181
164
207
112
172
115
155
123
150
112
156
187
181
121
121
150
181
112
167
208
175
195
208
278
171
174
171
150
147
197
203
234
164
150
176
208
177
121
115
165
201
194
167
208
177
121
195
212
171
170
150
112
181
112
219
165
176
156
253
218
192
217
136
193
137
112
211
147
150
176
167
170
206
130
203
189
112
205
147
150
121
121
121
150
150
208
186
242
121
115
156
217
171
112
137
158
112
130
121
302
150
176
189
193
112
137
150
150
112
112
130
195
217
137
228
150
167
228
137
167
264
209
112
228
231
176
176
194
121
164
121
176
150
176
112
255
150
181
203
150
224
121
150
150
194
112
112
172
195
171
115
112
231
184
211
263
167
219
147
167
121
112
121
167
176
176
181
168
208
215
208
176
263
220
147
194
172
160
112
115
150
147
170
164
171
176
194
219
159
181
194
186
234
208
228
152
150
203
175
123
174
150
178
150
278
184
112
240
150
150
172
203
174
123
121
121
170
121
228
147
150
112
174
186
207
202
206
224
147
175
112
208
220
128
196
167
147
185
150
121
227
150
170
121
164
208
194
121
158
121
176
121
229
150
150
193
167
112
204
219
150
156
171
167
176
194
170
194
150
174
172
201
208
171
203
171
112
236
168
167
176
112
136
112
112
112
165
208
121
176
203
230
194
170
121
195
167
187
167
174
172
121
150
121
121
230
265
176
167
208
112
181
203
181
135
243
239
230
112
176
220
217
150
217
225
150
259
150
112
123
202
112
193
121
223
243
184
172
115
165
208
150
276
278
218
115
136
176
194
112
199
167
112
176
112
171
121
150
165
174
231
112
228
176
195
115
172
229
231
137
121
150
181
150
186
179
121
194
137
181
237
143
208
186
294
136
123
136
244
161
156
234
171
170
150
121
172
188
164
158
163
150
195
168
112
171
244
213
167
175
172
150
170
201
137
176
115
217
121
228
292
137
263
115
171
150
121
171
150
150
150
121
194
112
112
124
167
165
115
226
150
302
233
247
255
208
172
208
184
121
156
137
208
199
123
150
160
207
225
121
150
187
210
208
136
212
170
112
136
150
112
174
172
112
150
121
158
136
159
172
236
170
112
112
228
208
212
139
277
112
150
176
172
171
170
220
150
208
165
121
249
187
181
165
189
150
165
121
256
193
150
150
240
165
172
123
250
170
226
164
150
225
156
193
187
192
255
121
112
123
229
215
150
228
174
130
208
194
170
171
167
121
208
257
229
186
192
150
150
172
203
159
167
212
225
195
175
176
150
150
167
210
137
112
150
232
257
121
150
152
112
121
206
170
231
170
112
275
208
121
172
112
194
228
178
167
191
181
171
135
170
147
208
210
115
241
121
112
186
250
208
190
123
214
112
150
150
167
171
208
179
150
176
170
231
195
302
152
172
203
193
170
234
112
208
158
218
112
144
209
238
123
121
121
301
208
200
121
172
171
250
181
210
150
135
112
150
135
170
121
135
165
121
208
217
150
170
112
203
194
137
150
112
121
112
136
191
121
171
171
150
112
123
170
193
112
187
121
215
121
150
150
167
115
165
123
112
150
123
176
167
112
112
147
135
121
208
237
112
128
166
121
212
176
128
265
121
147
239
150
208
121
150
150
115
150
178
237
202
205
130
136
193
112
136
136
171
121
121
171
167
160
250
195
123
167
170
112
240
165
201
182
177
171
201
181
128
170
187
167
167
112
167
162
165
150
208
167
121
121
195
163
167
194
164
136
208
250
112
172
150
173
156
170
192
167
172
136
123
150
150
231
158
130
189
121
170
199
121
165
112
123
115
233
219
217
177
270
167
152
121
174
135
172
158
121
112
150
208
137
181
130
237
167
150
174
208
150
112
165
112
226
123
239
181
232
241
193
212
160
137
193
217
112
217
186
214
240
250
150
147
112
208
137
186
193
167
112
194
203
150
228
193
171
121
121
194
176
160
185
225
121
231
121
218
190
208
112
171
165
150
232
208
121
222
193
172
168
172
112
207
163
158
193
121
112
233
112
239
112
112
158
121
150
193
137
210
160
302
121
165
121
112
147
112
207
165
115
112
225
235
150
175
172
208
176
195
112
205
121
167
201
171
121
167
210
121
175
290
150
112
158
143
207
167
220
192
193
150
167
195
196
171
207
121
195
165
212
212
137
167
121
124
194
160
150
112
135
208
187
112
202
187
121
208
150
150
164
112
254
265
112
247
150
150
150
150
157
150
135
207
261
242
121
112
170
160
121
195
226
112
121
167
167
112
181
189
210
150
152
181
150
115
152
115
139
158
210
147
168
150
121
242
123
242
267
150
128
112
136
186
237
167
223
112
112
208
201
220
112
150
164
179
238
135
206
210
112
196
170
150
123
235
215
170
112
136
208
150
195
172
152
121
181
164
167
167
174
130
165
208
150
172
112
112
121
228
172
187
181
197
123
150
123
181
195
136
223
214
135
202
230
181
137
150
194
194
150
208
239
150
233
217
112
121
123
123
196
251
179
124
171
170
218
112
220
167
208
164
201
121
150
221
210
150
112
198
136
165
186
186
164
112
135
211
217
150
170
187
195
208
170
194
173
123
266
275
150
130
150
146
167
135
137
172
167
172
259
202
179
186
139
187
121
185
167
156
194
112
121
115
203
112
115
112
187
196
208
165
170
158
121
172
217
150
112
172
137
137
208
202
193
121
150
131
181
187
112
229
222
208
112
202
150
170
178
172
215
112
177
228
220
237
205
135
131
172
150
237
242
135
172
208
159
135
215
186
121
165
187
150
172
237
174
167
174
170
150
194
136
115
112
228
150
217
173
112
209
112
150
240
121
278
121
238
186
194
170
171
201
137
167
156
202
150
165
123
137
302
112
177
229
193
121
167
112
172
255
172
150
121
192
115
172
167
123
207
167
170
150
168
128
150
253
187
150
121
187
167
150
223
135
243
158
171
208
225
137
158
250
115
167
135
167
235
237
121
167
181
207
150
159
130
172
171
208
112
191
243
243
121
237
112
208
150
193
167
136
187
112
167
123
297
112
187
212
112
150
160
276
112
226
161
137
186
218
193
225
150
172
202
150
150
217
172
136
226
181
112
230
167
181
121
246
172
194
150
221
150
170
208
208
171
192
136
201
172
136
172
228
171
174
112
150
173
218
121
217
193
121
150
115
112
170
243
171
135
231
135
238
225
123
156
150
121
112
237
186
121
135
219
112
178
112
176
177
165
145
150
165
121
121
167
121
237
259
187
215
217
121
214
167
147
136
170
208
112
210
121
227
203
150
170
135
299
208
257
220
208
176
135
194
212
264
112
202
264
135
167
208
156
112
150
217
165
184
112
165
193
236
219
135
209
168
112
191
176
112
150
212
160
150
229
112
252
150
181
172
181
208
150
227
241
181
236
167
244
168
186
194
174
167
212
150
112
172
121
176
172
164
150
172
121
165
208
202
217
135
171
231
223
208
134
124
212
202
172
172
176
112
121
123
124
170
186
112
210
150
191
208
232
164
112
131
194
195
242
244
152
211
112
164
112
236
241
208
181
208
115
112
156
167
176
212
171
196
181
137
167
165
167
112
197
131
264
157
210
172
170
115
150
158
178
203
212
231
112
121
176
150
165
195
165
167
168
121
136
150
157
176
135
189
172
224
170
123
137
300
121
187
187
150
228
112
112
121
194
160
170
121
121
150
182
137
186
123
121
186
159
176
217
186
231
170
172
143
208
208
167
112
178
181
112
195
143
167
186
209
202
265
210
112
150
208
135
255
208
112
218
112
121
112
187
260
150
112
177
172
150
208
207
203
194
158
164
193
115
167
123
170
143
152
165
112
171
112
137
121
150
112
167
206
237
260
139
160
112
208
167
170
234
112
170
237
170
136
136
159
121
112
194
233
172
150
112
159
208
208
167
224
159
150
135
167
167
112
195
112
136
263
194
205
137
240
170
121
208
181
192
115
135
167
171
172
121
201
112
121
156
176
203
130
202
124
147
202
112
208
136
208
171
150
211
208
136
112
237
121
164
297
193
228
192
235
213
174
150
208
112
203
194
219
223
121
208
172
171
159
150
112
207
194
233
112
212
150
207
213
150
150
172
115
112
121
147
208
252
150
121
159
177
123
187
232
150
165
170
172
167
203
201
165
240
147
207
156
194
172
123
172
182
150
207
157
164
204
112
229
150
150
175
154
150
236
112
121
208
175
181
204
187
112
112
208
150
121
179
165
150
205
167
168
136
186
214
150
232
150
229
165
195
192
206
159
171
187
219
150
198
237
289
112
121
193
121
210
150
136
193
121
123
147
112
112
177
121
247
225
150
202
208
136
112
121
195
208
195
136
150
202
150
150
181
150
112
167
176
182
112
150
121
150
208
168
171
137
194
136
237
203
204
150
201
150
112
150
143
136
121
181
219
112
208
206
170
170
243
192
112
208
167
112
180
187
170
121
181
278
167
208
150
150
231
228
217
147
112
263
121
146
168
150
137
123
276
181
172
208
212
193
263
158
112
179
167
150
135
150
210
150
217
152
237
223
136
192
159
208
181
158
112
135
123
150
112
123
174
203
184
188
208
208
165
177
137
150
177
123
135
172
258
112
171
123
178
112
147
196
170
193
137
219
250
272
157
255
175
159
245
167
112
261
112
243
172
121
121
150
194
170
121
170
208
121
112
121
208
165
208
121
181
208
176
170
182
112
181
160
170
194
165
186
150
202
150
213
208
193
165
174
136
187
273
170
165
123
150
165
136
195
171
172
211
228
167
207
172
193
227
123
233
121
202
170
193
225
205
176
210
150
131
225
112
171
147
228
150
143
168
226
121
121
194
233
176
112
231
225
112
176
291
220
112
210
165
112
208
181
121
172
228
225
193
112
150
115
167
167
172
187
181
165
162
112
175
167
232
208
150
150
167
121
176
164
243
150
181
204
172
201
121
177
121
147
147
112
150
187
220
193
172
186
167
167
258
172
278
208
112
231
208
246
216
112
136
193
217
137
112
168
115
263
176
194
226
177
194
158
175
170
164
158
163
212
231
204
208
147
170
181
167
201
135
136
181
112
236
159
231
208
112
217
112
135
135
214
167
210
143
112
186
204
193
112
220
240
121
228
171
205
244
121
170
150
170
150
150
231
186
144
130
167
170
136
150
208
167
198
147
231
202
121
233
152
171
194
121
231
171
171
257
278
150
121
112
193
144
172
150
112
187
172
167
123
172
123
261
225
208
112
297
123
150
239
177
150
268
170
171
194
194
195
210
135
165
205
176
171
238
150
150
246
150
237
193
242
217
121
208
135
160
112
135
172
121
112
124
158
206
213
150
112
112
259
167
112
203
205
250
208
165
121
112
112
172
240
150
124
179
242
193
150
229
112
167
164
232
150
171
172
143
172
167
147
121
159
172
172
164
190
217
150
137
200
150
112
194
121
112
186
121
208
194
176
173
167
218
237
128
121
167
137
172
204
187
170
165
170
135
112
218
150
121
135
202
219
193
240
202
212
194
208
150
167
112
112
121
208
112
175
135
112
150
112
112
264
147
150
208
112
152
112
112
115
210
194
228
219
150
278
112
112
165
170
234
210
191
238
255
115
147
218
176
112
220
186
147
208
174
112
170
171
171
208
194
181
225
170
165
150
165
161
220
112
123
228
150
208
208
187
179
183
115
174
221
228
208
193
170
136
163
215
208
178
150
165
181
150
112
115
248
112
144
257
156
240
150
156
172
182
121
150
159
164
137
209
170
250
121
203
124
112
135
184
172
171
121
130
208
223
165
173
203
237
121
159
112
112
164
170
150
123
231
184
233
150
123
186
139
150
193
228
150
115
221
236
294
164
192
147
121
150
150
172
150
349
121
167
158
112
121
170
137
212
150
234
175
187
112
263
217
150
150
233
181
186
167
150
234
237
150
159
220
194
203
202
150
232
210
215
189
202
172
187
170
170
121
121
172
193
123
198
172
150
208
214
115
243
147
174
112
259
112
202
167
206
121
171
165
112
231
176
243
167
193
171
150
150
202
203
226
172
123
156
208
210
220
143
175
172
121
160
201
194
176
159
179
170
220
265
112
121
257
228
175
158
232
135
158
172
174
228
143
241
150
179
195
194
217
181
194
172
124
267
170
147
212
176
176
112
121
201
150
150
112
137
137
174
123
115
181
240
112
176
212
121
112
150
159
209
193
150
186
150
158
172
150
115
112
171
186
172
302
150
231
150
165
179
156
152
194
112
193
130
185
239
186
115
121
112
207
112
186
172
202
158
150
208
171
206
186
112
160
210
208
170
189
172
208
193
162
144
147
147
168
124
112
168
187
167
208
212
145
176
253
210
112
115
150
174
150
195
186
213
147
170
181
195
167
135
216
174
167
232
112
220
208
115
171
194
121
121
195
167
165
136
156
174
172
181
136
172
176
203
121
170
150
203
123
274
250
181
150
202
137
176
121
128
150
220
228
171
150
186
194
208
193
210
197
243
172
172
136
213
112
150
123
230
172
232
121
168
137
196
174
186
184
194
144
137
112
253
112
167
112
121
172
170
206
244
178
160
143
208
112
170
150
158
182
121
150
164
158
150
172
208
220
112
210
164
172
176
137
135
150
195
218
208
115
167
172
276
112
276
181
112
150
165
179
150
216
241
164
112
121
194
147
194
255
156
123
121
246
167
160
241
243
167
228
150
247
173
203
220
152
150
121
150
193
171
281
194
121
150
150
229
212
203
150
112
193
214
161
219
115
150
215
150
136
167
208
112
121
232
121
215
150
237
226
150
219
302
112
121
193
281
158
203
112
112
179
152
190
172
172
195
121
150
150
150
208
159
159
210
112
208
135
181
156
121
197
228
150
112
144
278
160
210
170
170
237
220
202
265
115
121
150
176
247
220
121
181
194
189
121
172
174
112
150
150
121
165
121
208
150
225
164
207
186
263
167
150
237
165
150
226
165
121
167
208
194
196
176
240
208
161
165
193
146
121
174
203
188
194
150
195
150
178
198
112
214
201
167
124
146
205
201
112
263
194
171
234
217
208
186
229
167
196
175
216
150
112
121
210
192
208
112
121
128
121
128
195
167
245
202
217
130
172
130
234
150
170
223
243
121
205
226
150
152
123
150
150
213
150
175
159
143
112
250
181
276
177
189
131
203
178
231
171
128
137
135
170
150
112
184
167
150
157
189
239
136
121
206
208
130
123
193
237
150
208
242
121
137
135
242
121
171
164
229
203
193
177
171
137
219
121
192
233
177
239
115
121
164
227
123
208
121
150
208
210
121
176
186
171
236
165
176
175
202
201
121
161
198
172
150
209
123
203
150
193
167
150
112
265
171
201
170
172
193
237
167
278
121
121
263
112
112
124
181
194
250
201
177
193
253
195
112
170
225
170
124
202
176
250
239
208
208
135
146
136
176
272
112
164
172
130
171
250
112
121
112
112
167
172
250
176
150
150
150
121
288
236
172
302
123
121
150
203
263
171
150
121
147
206
208
158
176
165
208
171
121
236
233
229
164
177
219
220
112
150
212
124
170
219
172
228
150
121
112
194
150
167
150
150
176
226
121
187
112
172
219
150
176
210
181
172
170
135
150
164
160
186
172
172
194
172
137
170
112
181
181
112
121
170
124
187
228
112
240
144
176
208
228
150
150
214
121
212
171
242
112
269
208
204
143
177
172
150
121
232
121
135
150
194
173
112
168
112
192
179
136
171
212
208
170
184
259
156
112
112
208
123
187
112
229
214
130
150
152
130
208
187
123
161
210
156
176
121
135
172
187
208
147
112
121
219
150
165
156
150
194
131
187
150
121
172
123
112
112
112
208
121
150
150
203
150
165
229
158
112
112
189
168
121
263
176
115
167
209
137
174
150
112
176
136
121
238
165
150
172
130
112
187
175
208
167
202
171
259
123
150
177
137
186
201
164
167
136
172
225
112
121
121
186
194
179
143
150
115
136
160
225
150
159
208
121
121
195
259
124
137
201
208
203
172
150
123
208
193
170
170
184
218
150
181
207
121
136
143
121
112
135
208
171
258
121
164
215
112
250
121
172
217
203
206
170
237
250
150
112
121
194
210
186
121
168
263
172
150
172
123
208
150
167
160
165
121
184
186
115
152
177
160
172
170
182
135
112
150
181
112
195
208
228
174
212
150
160
136
176
150
167
172
135
215
229
208
167
152
181
150
302
255
150
186
220
112
121
156
171
255
186
208
193
150
181
253
158
245
137
210
150
228
112
219
220
239
196
121
232
152
165
170
121
168
181
203
112
184
202
175
263
276
175
112
187
150
239
112
123
193
135
150
228
172
115
167
231
240
174
112
170
123
177
172
170
164
170
144
181
243
123
184
196
167
216
159
177
255
172
130
217
208
121
168
147
115
168
201
121
208
176
170
186
228
250
112
141
112
150
112
175
170
167
192
172
123
167
170
156
150
112
121
181
112
159
167
165
176
158
202
167
258
158
150
178
150
187
136
172
187
203
121
147
121
150
150
194
150
112
112
150
226
128
184
265
121
208
152
208
123
124
208
176
171
176
230
233
174
224
208
220
112
121
186
158
208
208
208
176
150
208
253
167
198
150
208
208
171
210
167
194
225
194
181
158
150
198
194
208
112
195
194
172
144
218
135
187
172
208
121
150
112
171
112
204
121
159
232
172
112
121
123
207
207
170
150
208
213
231
202
218
136
236
182
150
160
135
203
212
190
150
225
203
168
135
208
112
202
167
150
219
150
178
205
172
136
170
165
167
208
115
186
112
186
146
181
203
112
228
165
193
232
167
189
170
192
237
112
123
177
181
220
150
150
162
167
236
158
194
224
171
239
186
166
201
171
187
255
121
182
121
150
112
199
263
165
237
112
115
132
112
181
121
160
302
152
112
203
170
115
228
210
177
160
112
160
170
167
167
123
194
170
150
124
137
177
147
150
172
112
150
121
212
264
220
195
171
115
123
150
208
263
176
228
203
150
121
172
165
210
112
150
172
171
181
168
121
152
150
160
172
237
121
202
228
236
263
150
203
201
216
167
121
225
174
203
147
203
184
150
208
181
235
217
239
220
123
167
170
214
171
150
159
171
172
208
150
121
171
170
112
250
170
219
226
112
210
150
136
150
159
150
229
208
187
150
150
150
239
171
240
112
121
242
121
253
167
196
237
194
203
121
208
226
135
150
121
208
168
150
159
137
112
112
150
208
156
165
167
121
112
167
112
150
150
112
195
167
172
186
123
123
208
168
112
157
150
208
147
123
174
150
200
172
186
182
150
172
150
150
186
115
121
181
164
207
150
123
164
112
156
194
165
152
207
130
150
121
201
276
170
236
174
150
202
210
196
150
230
250
165
247
162
181
208
150
167
147
164
167
115
112
203
208
121
194
167
236
132
208
195
150
121
121
201
219
215
190
150
179
172
172
160
121
255
128
218
170
132
181
172
171
157
150
203
172
165
228
170
170
150
174
228
112
239
177
276
150
201
177
197
208
225
176
171
112
156
250
121
176
187
210
194
192
150
167
121
233
179
121
202
172
112
297
121
170
112
170
206
167
212
172
160
150
150
115
136
210
172
208
212
112
297
179
202
147
176
147
112
150
164
208
194
112
231
112
231
178
112
150
219
267
233
238
177
167
201
112
163
112
147
150
168
193
159
227
278
174
136
147
150
121
112
194
136
210
167
112
171
255
208
112
165
150
150
174
147
135
150
123
176
137
139
158
171
160
165
231
172
164
243
121
150
232
150
193
112
208
181
137
195
208
208
207
192
209
223
112
202
121
150
208
270
190
215
156
171
135
150
156
160
165
112
112
257
112
167
174
112
194
228
171
278
181
150
112
150
112
152
136
170
112
205
168
112
170
158
128
239
233
167
150
229
150
112
193
201
195
176
179
150
165
112
184
225
184
150
172
244
243
150
112
150
137
179
202
172
150
181
143
150
193
239
150
121
187
121
203
167
239
193
112
173
150
208
171
220
170
156
152
124
177
121
217
121
170
186
229
220
233
181
173
156
112
156
235
173
158
246
150
215
175
170
186
121
206
208
123
240
164
264
181
194
196
195
112
147
156
224
208
176
241
181
147
112
167
172
112
130
123
123
170
158
181
171
150
211
121
124
212
164
171
242
212
171
176
150
121
134
165
228
181
172
220
275
210
112
189
121
150
171
135
167
203
254
204
121
250
201
165
172
112
112
167
193
130
150
240
208
150
121
150
150
186
136
150
193
263
187
177
150
150
172
158
159
195
123
150
181
169
170
136
159
121
206
164
135
203
171
217
170
135
112
170
170
121
150
121
165
112
176
150
158
167
186
139
128
208
123
232
203
123
137
205
123
112
170
150
152
175
172
167
218
202
121
225
219
172
150
121
160
231
186
208
208
121
137
208
171
172
167
150
217
182
150
172
112
112
170
167
210
172
239
254
172
210
121
199
167
276
112
231
150
181
189
165
112
194
208
159
112
208
176
220
128
115
218
203
167
121
170
123
210
164
218
150
297
195
186
121
208
208
152
201
112
147
150
112
208
115
150
170
202
150
194
170
194
171
177
208
170
158
187
208
167
121
228
231
152
208
177
187
172
198
220
115
172
160
242
112
112
218
172
170
164
160
278
112
202
208
228
143
208
203
112
194
171
135
112
115
112
121
146
208
202
159
208
150
176
135
208
128
212
201
177
202
160
158
195
124
112
178
124
112
150
156
176
220
233
167
167
176
112
121
208
121
203
137
152
167
179
210
208
136
121
228
208
170
150
218
158
150
238
208
158
130
112
150
178
121
202
150
203
173
150
150
172
201
228
112
229
115
175
165
184
240
160
201
203
167
242
135
208
123
167
164
170
214
171
164
112
243
217
192
170
187
186
170
147
112
176
167
220
156
228
167
128
172
121
170
121
167
112
112
210
219
171
208
172
172
150
208
164
208
147
150
258
255
226
176
202
182
186
121
256
150
194
121
258
246
186
121
202
208
171
170
143
112
112
172
112
207
217
172
171
234
152
150
150
206
201
158
176
208
208
208
187
136
183
189
181
172
194
112
208
112
208
210
172
236
194
170
159
176
208
171
150
150
217
130
121
147
167
297
186
221
112
171
150
194
225
115
150
172
221
112
112
167
121
220
112
150
172
152
191
172
149
193
194
150
174
187
150
150
175
168
227
171
238
208
150
136
147
225
186
209
121
207
210
150
170
112
211
171
165
193
121
171
171
112
150
121
112
208
189
150
121
150
157
196
226
171
150
150
121
112
156
181
112
292
239
181
208
192
112
202
150
193
150
121
201
193
181
171
179
160
115
112
202
270
112
121
167
252
192
147
170
182
197
232
152
242
150
123
261
121
137
167
176
170
210
231
195
220
152
135
112
121
249
237
178
136
193
181
258
112
136
208
208
241
194
228
208
264
206
115
208
159
186
112
228
150
170
172
150
121
115
208
192
112
171
240
170
177
121
121
193
176
186
237
208
121
167
112
168
123
208
165
112
208
172
121
121
150
158
124
123
226
159
171
112
237
121
186
135
150
194
202
178
207
181
150
171
172
121
150
150
168
150
150
150
230
112
170
201
228
136
150
170
274
183
172
228
242
137
112
137
124
112
176
193
170
150
165
112
174
164
150
260
150
130
170
112
187
112
208
208
123
230
174
212
147
150
172
136
150
121
121
243
121
150
172
170
212
164
243
112
121
195
179
200
208
150
136
143
150
170
172
214
203
121
150
231
194
115
160
112
189
136
150
169
145
150
150
112
208
150
112
150
150
182
198
123
170
207
206
186
121
220
239
112
207
195
167
236
147
150
136
164
136
195
147
112
121
193
195
150
150
186
172
172
150
150
137
170
186
179
208
216
121
226
112
137
205
230
170
214
179
167
112
208
168
128
115
205
178
157
172
112
181
176
167
165
176
174
174
112
260
144
176
123
181
195
203
218
167
218
218
215
121
171
167
174
176
208
226
150
112
230
167
130
121
112
205
150
193
112
172
209
195
150
150
186
201
262
112
208
172
150
170
150
263
263
123
112
147
240
112
112
210
172
176
170
175
178
269
123
181
196
171
121
131
236
165
123
177
112
150
150
112
187
115
171
208
171
150
121
167
166
121
171
174
112
192
165
202
172
121
150
172
189
181
204
159
112
194
153
225
122
212
181
115
150
137
208
165
150
143
198
176
170
244
123
150
219
172
218
123
195
150
198
233
112
219
228
121
208
209
121
170
112
121
226
130
219
150
170
150
150
174
112
150
150
165
167
150
202
171
187
121
170
112
121
135
228
150
167
150
237
121
112
150
150
121
115
150
112
150
130
172
237
121
167
150
121
150
123
207
177
130
212
145
121
115
165
171
201
208
112
115
181
208
176
167
182
187
229
112
210
193
159
144
112
208
112
171
167
172
175
158
147
200
150
219
225
112
124
121
187
176
136
195
172
150
165
208
172
237
112
112
174
205
202
239
220
182
121
228
150
112
275
172
297
185
209
112
192
135
112
112
237
112
171
171
201
204
172
150
137
210
276
165
150
178
150
255
231
121
255
210
210
205
121
172
203
132
211
150
150
208
176
168
137
174
150
181
137
263
176
121
124
181
205
112
231
208
121
258
112
208
242
167
112
158
121
218
170
226
150
112
170
233
186
152
194
112
186
219
255
170
174
171
250
165
130
150
150
150
208
158
121
270
231
167
152
192
130
112
121
112
208
167
208
172
228
167
168
174
208
112
136
121
112
150
263
237
121
152
121
150
112
215
171
186
203
115
201
159
147
135
171
136
121
150
150
112
250
211
208
156
226
170
187
171
302
123
150
177
172
121
128
240
160
235
170
112
112
121
225
123
176
146
121
208
147
135
208
167
171
164
202
177
218
112
112
150
137
150
240
136
150
177
215
194
152
137
172
237
121
121
167
167
150
217
165
135
194
135
150
172
177
123
112
201
150
168
199
186
121
208
208
136
208
215
150
170
228
121
201
172
112
181
231
165
150
121
150
234
171
223
112
205
115
210
187
160
228
232
187
194
170
121
208
150
115
193
121
150
238
231
212
181
137
202
208
205
228
123
167
164
168
170
172
184
150
218
150
121
112
121
143
179
150
137
112
128
121
208
218
165
181
115
194
220
206
121
195
208
214
172
150
193
189
112
208
130
172
176
121
112
123
121
135
231
263
121
181
167
215
112
174
171
225
112
208
112
150
150
112
240
194
172
208
135
135
192
213
208
137
208
150
121
121
192
137
202
112
121
112
217
176
121
121
228
121
170
150
123
121
255
170
208
216
239
208
172
223
186
164
150
167
112
147
150
205
220
150
194
128
112
263
167
158
167
173
243
121
165
194
171
150
112
194
208
171
212
121
171
150
115
135
193
201
193
159
121
192
168
160
121
128
170
228
208
121
181
193
208
150
203
177
193
124
175
112
208
135
121
209
130
112
208
160
112
208
135
121
181
187
181
214
124
263
115
187
175
179
233
121
181
217
210
171
172
136
219
150
209
194
193
165
210
208
112
150
176
112
208
208
195
237
172
241
208
150
171
182
249
150
208
208
250
193
150
121
194
123
167
260
210
172
202
147
192
181
143
150
159
167
187
214
121
170
229
176
258
176
223
112
177
176
212
299
212
112
128
152
181
192
176
171
196
136
174
112
243
150
214
181
212
124
224
112
137
209
186
237
231
201
219
121
220
115
152
112
121
156
193
177
150
121
171
208
217
203
147
150
187
208
205
150
112
150
150
121
170
237
228
193
172
174
228
143
187
147
184
170
121
177
193
170
194
121
196
134
192
156
201
112
164
170
194
193
121
150
176
165
233
123
165
231
121
121
150
121
167
150
170
167
172
179
172
160
121
208
177
195
146
217
208
121
242
121
219
203
121
297
156
240
208
150
147
208
190
208
121
181
170
198
150
202
194
164
121
181
250
112
250
147
170
112
176
121
150
147
212
158
179
112
112
217
201
158
171
243
252
112
150
202
172
194
265
186
112
121
156
260
226
181
199
208
170
172
172
171
150
124
152
150
115
158
187
115
172
121
160
112
174
158
112
121
124
170
112
201
171
231
150
135
146
186
254
147
203
228
112
194
172
121
160
137
121
233
150
121
150
170
211
150
208
112
172
165
193
147
167
172
193
256
194
228
135
226
112
235
231
179
167
121
146
112
112
147
203
240
226
220
121
150
112
172
147
216
112
195
121
194
124
302
150
172
179
112
112
165
208
132
236
168
150
150
297
172
112
193
137
240
121
121
167
150
170
235
246
150
135
241
172
167
198
213
171
176
209
157
204
171
124
159
172
150
121
121
197
170
170
195
147
194
124
121
131
121
161
171
242
171
121
272
216
159
170
170
112
123
184
187
160
181
123
263
150
198
168
143
209
219
154
121
174
194
171
143
137
215
171
210
208
167
172
212
147
170
156
165
205
177
150
112
182
170
201
121
121
186
187
121
174
150
121
150
150
167
233
201
168
245
112
205
139
165
150
136
208
172
264
150
112
206
112
194
150
193
123
210
156
112
164
170
201
212
167
121
220
170
192
150
171
244
194
212
139
112
157
165
275
121
167
121
162
150
150
302
200
193
216
112
150
150
150
208
228
172
193
143
121
194
112
159
195
184
187
112
146
178
150
137
208
137
194
171
150
201
208
123
237
121
203
112
124
167
210
150
130
208
171
257
112
172
181
157
255
243
135
135
135
176
123
294
195
160
121
165
112
172
172
170
201
170
150
165
187
254
172
208
178
135
203
208
121
136
194
201
115
136
168
150
112
187
202
150
121
150
210
124
150
136
172
263
112
218
160
150
193
136
226
186
123
164
123
172
186
196
174
195
250
177
210
150
136
181
236
124
150
229
158
121
124
165
115
165
123
172
168
150
195
112
220
212
121
165
137
194
203
172
112
221
170
152
172
172
186
150
164
208
238
150
194
112
112
135
150
150
187
212
217
208
160
177
203
195
194
112
150
210
260
112
210
208
121
150
121
115
121
150
121
236
112
199
171
135
112
204
196
208
201
121
164
220
228
172
112
131
124
121
176
124
170
197
220
194
216
121
208
218
171
135
121
164
150
161
181
167
112
162
192
176
162
208
112
181
172
156
128
196
135
167
112
199
211
211
195
121
172
174
150
170
193
121
250
228
150
208
186
179
136
150
150
137
162
144
184
121
250
171
212
137
150
150
208
150
228
165
212
121
170
208
202
175
181
196
112
255
194
208
150
171
172
179
121
150
223
239
194
121
167
311
181
233
150
150
170
112
178
150
165
123
150
112
112
150
152
232
121
195
229
123
208
208
115
212
208
150
193
302
158
115
228
179
150
112
187
219
231
121
167
234
112
123
165
184
225
150
171
112
150
181
236
121
174
150
212
275
228
216
210
160
171
193
220
272
195
179
181
181
150
194
231
150
213
208
112
203
278
212
186
170
172
121
168
130
176
252
237
176
202
112
172
112
147
206
276
130
130
150
237
212
121
112
207
195
135
112
135
208
112
208
219
203
218
112
218
164
121
112
165
226
121
220
112
112
121
123
228
239
112
186
210
193
143
165
121
121
231
170
150
171
229
121
150
164
178
208
150
187
159
175
150
194
170
176
139
150
150
147
202
226
281
135
192
152
177
150
195
150
128
217
167
123
150
226
195
176
150
123
201
208
150
167
208
210
150
198
192
158
202
170
167
198
208
121
208
123
231
194
218
263
208
171
195
112
177
186
165
216
205
208
150
128
164
177
199
210
158
231
205
128
158
121
112
156
208
219
158
170
130
218
219
112
112
121
172
194
178
171
150
115
121
123
176
121
150
194
112
255
177
228
158
208
150
150
240
232
167
176
187
136
121
156
150
208
179
150
175
121
112
168
112
255
112
112
121
121
225
150
112
201
253
208
147
239
115
150
150
225
168
112
187
123
112
112
174
112
115
112
121
265
143
135
112
112
135
167
124
175
178
167
194
203
121
172
178
150
168
201
203
208
176
136
156
219
170
165
165
112
170
135
150
174
123
150
112
212
212
165
170
231
237
198
196
171
250
112
150
208
208
278
121
115
115
171
181
168
228
194
205
112
193
208
121
202
203
218
164
194
121
136
164
135
150
203
172
208
112
177
208
171
257
150
157
187
176
201
242
172
150
208
232
237
135
257
195
208
124
176
203
112
150
123
219
150
112
170
216
150
167
150
181
150
150
214
150
136
214
134
121
115
217
150
213
165
150
121
147
255
172
194
208
158
198
228
161
156
212
194
217
176
176
150
158
167
170
247
210
208
121
112
212
197
172
229
172
112
170
228
201
170
210
229
150
204
150
299
170
172
124
136
187
143
128
192
157
121
214
121
216
250
231
181
159
121
246
236
168
176
194
159
255
208
165
195
208
208
121
181
159
159
179
203
228
181
172
229
165
201
212
147
220
213
208
167
170
167
232
150
121
112
150
181
150
137
147
216
135
121
208
172
208
164
235
202
186
172
182
208
170
237
182
136
164
184
112
187
112
255
208
112
192
258
157
115
184
150
208
121
230
136
265
121
150
121
150
205
170
219
164
193
250
187
237
226
235
194
174
150
187
210
159
123
189
173
208
150
187
157
177
121
137
196
112
150
147
228
210
150
121
207
176
195
112
218
186
263
231
231
170
171
172
204
228
208
177
225
112
124
150
170
136
150
123
147
177
150
176
167
172
112
143
178
121
167
176
112
278
178
167
112
203
216
208
112
255
115
121
115
172
147
201
156
172
115
208
208
229
201
124
187
207
231
181
210
121
150
168
170
112
158
171
186
168
121
171
176
217
150
186
172
150
246
150
147
233
208
284
208
206
150
112
121
195
181
239
121
150
172
206
171
121
150
121
150
112
150
172
150
206
150
167
208
193
233
150
150
257
150
123
201
170
150
123
194
150
112
172
233
242
187
150
150
165
201
171
124
186
203
121
172
174
193
112
112
194
208
192
150
192
210
150
158
208
176
208
176
160
177
112
165
215
137
187
192
150
131
115
156
171
168
170
195
167
121
172
123
176
189
112
215
112
112
167
203
208
208
212
112
124
156
128
201
156
176
201
112
263
194
157
174
135
192
208
188
136
187
210
167
150
121
201
167
194
150
121
135
172
202
176
259
161
150
167
195
112
168
171
112
189
193
237
121
174
160
167
124
243
172
209
112
112
168
121
159
177
167
143
166
195
150
212
210
150
150
165
112
203
121
226
247
121
186
170
176
193
192
172
210
112
172
172
135
115
165
147
176
302
231
121
181
158
112
208
176
121
121
178
112
158
229
112
150
188
123
172
112
250
172
170
176
195
218
172
167
121
186
207
112
239
195
170
121
170
171
208
143
123
150
187
186
121
202
123
150
137
121
137
157
252
121
243
218
131
159
274
215
202
112
121
167
123
171
167
112
176
150
150
172
171
147
146
164
172
226
167
112
150
150
172
121
192
195
205
267
112
171
130
112
194
202
112
182
170
136
170
228
203
164
195
167
229
225
231
121
181
256
201
158
112
208
165
150
226
172
192
206
181
237
137
212
170
177
112
112
115
150
172
136
150
238
171
131
210
135
156
200
210
244
174
240
135
165
164
135
217
176
192
158
112
176
167
201
215
167
112
170
150
181
158
216
150
210
170
172
112
211
196
227
208
191
121
163
150
112
187
171
156
150
124
186
193
192
171
150
193
195
112
194
121
136
171
150
150
136
181
170
166
150
112
208
156
115
237
176
201
165
193
150
121
157
147
201
171
165
147
217
167
168
181
181
171
186
272
231
210
132
172
210
186
176
150
172
157
170
181
194
198
237
121
208
228
112
167
121
150
150
231
208
227
181
177
150
137
123
150
214
175
143
150
150
137
150
203
150
186
152
203
112
112
150
176
187
160
152
177
193
130
258
150
194
112
206
171
176
172
172
167
172
123
208
150
121
172
150
121
123
123
147
236
150
176
194
167
225
112
209
208
112
171
186
150
137
193
150
212
158
150
172
137
112
217
160
208
208
171
150
124
135
217
170
150
176
202
171
225
233
121
208
231
201
171
121
150
156
130
121
215
167
181
182
158
208
172
208
171
121
150
121
194
190
194
112
123
234
193
176
121
171
150
176
170
214
263
112
187
195
172
249
112
172
121
181
157
165
121
193
150
152
238
195
185
167
276
208
112
141
238
228
150
167
190
208
234
250
165
168
167
194
158
208
164
198
315
171
112
228
115
194
228
230
150
186
121
228
176
170
195
172
135
123
156
208
150
213
181
115
176
193
170
193
172
150
172
176
194
181
121
208
170
218
112
150
177
147
167
181
170
203
218
150
150
123
115
210
240
208
165
150
172
121
220
208
150
121
208
159
121
233
150
203
239
157
187
150
158
186
158
115
204
218
167
112
228
172
197
161
123
281
187
150
208
170
155
171
136
181
159
144
187
208
112
222
112
194
167
145
170
121
150
135
172
159
112
212
187
193
121
112
123
231
121
121
124
228
158
170
219
215
237
115
121
210
123
278
112
150
174
186
213
263
123
136
222
132
194
150
130
186
211
112
215
112
150
150
123
112
172
197
165
201
150
187
208
112
172
243
112
135
208
172
170
176
112
147
181
212
165
115
197
181
239
170
260
174
112
201
150
136
187
112
213
192
150
170
181
112
203
257
150
121
181
171
239
177
179
182
187
281
167
228
172
121
150
168
112
187
208
121
167
203
167
123
167
201
167
210
112
135
172
150
150
210
208
150
121
121
195
150
172
193
208
167
231
276
112
194
165
208
170
170
208
187
137
208
208
137
167
123
181
207
176
123
208
164
112
240
121
232
181
202
196
210
209
150
266
171
150
186
161
112
195
137
165
220
112
121
186
194
121
217
150
208
172
186
195
121
112
250
159
150
240
242
228
208
128
213
194
193
170
210
167
150
112
150
172
178
175
212
150
170
255
170
172
228
208
123
193
121
192
208
202
123
206
172
112
240
164
171
150
130
121
174
136
165
241
170
219
184
167
226
193
177
227
135
112
236
220
137
150
171
176
167
150
164
121
250
152
193
186
170
181
150
267
150
171
302
202
112
121
168
230
121
208
136
121
152
202
165
130
241
160
112
218
165
247
165
161
209
112
176
123
170
112
121
150
231
150
201
121
172
152
150
172
165
150
170
159
150
194
194
170
208
170
139
136
115
218
115
261
208
150
147
150
167
193
172
208
263
115
121
121
165
156
172
150
135
150
157
156
227
171
121
167
220
245
121
121
176
150
186
156
115
164
213
112
195
231
123
167
167
150
241
176
115
264
121
263
121
112
234
172
135
121
174
208
217
186
121
181
150
150
196
190
150
112
150
176
208
185
171
192
150
228
121
207
243
150
150
208
172
121
212
193
130
192
172
150
150
121
208
202
208
272
194
218
121
150
195
171
160
123
231
196
165
112
150
212
124
170
212
270
302
170
143
147
128
171
135
172
112
220
176
123
182
281
150
150
204
150
207
193
195
112
150
229
112
250
171
121
156
175
121
130
178
121
181
121
179
136
112
173
124
212
208
121
135
245
210
167
185
195
170
167
250
135
176
228
181
168
225
168
130
204
167
241
112
193
171
150
172
172
185
121
112
177
212
210
217
158
228
179
195
176
278
232
123
123
150
147
121
210
201
112
123
212
278
159
112
208
167
150
143
167
147
121
208
181
158
121
121
205
208
115
150
205
194
150
165
179
150
201
121
190
208
112
168
121
112
212
225
158
121
158
176
156
217
167
239
212
208
208
172
112
179
194
112
220
268
231
121
212
121
123
210
121
172
176
263
195
278
130
208
168
172
165
184
208
172
167
164
165
115
121
167
178
165
150
171
217
171
123
168
217
150
263
150
181
176
167
239
150
165
171
121
186
210
240
112
112
121
130
115
195
208
242
170
165
217
193
164
167
164
112
121
165
196
130
172
121
167
212
278
150
228
136
212
171
112
150
240
208
136
135
208
135
121
210
203
167
212
210
150
121
121
217
204
136
112
150
176
150
201
156
216
284
150
112
226
202
237
172
222
150
152
150
207
159
171
179
243
144
231
112
250
217
172
239
121
150
194
112
217
210
150
189
152
150
178
213
150
158
186
172
112
206
170
115
112
112
130
228
174
121
121
194
172
123
208
171
186
130
250
228
150
121
112
240
245
150
150
128
200
115
150
202
208
210
208
228
207
167
121
150
115
172
121
150
211
186
187
255
194
217
239
150
150
112
159
176
302
302
189
192
112
150
232
208
121
150
195
215
248
152
195
170
167
112
152
194
150
210
215
150
214
121
171
210
228
201
135
239
208
170
150
172
150
123
112
181
170
156
254
155
171
150
256
112
170
193
172
172
121
168
171
175
158
229
181
195
192
130
208
150
130
167
150
150
112
172
128
150
156
216
172
208
208
205
163
171
208
112
275
112
165
171
195
226
217
171
112
164
150
170
203
235
215
167
121
112
208
156
173
220
136
231
238
121
121
150
264
167
270
167
186
136
172
208
178
159
195
171
112
150
187
182
195
205
239
150
192
164
208
210
121
160
230
150
121
240
115
208
208
112
237
179
217
150
130
150
158
124
167
192
172
179
167
152
112
167
172
193
212
216
150
121
112
194
192
194
150
150
215
112
112
121
137
158
121
150
216
150
165
184
121
208
172
202
173
180
112
167
212
164
121
176
150
121
121
171
170
242
170
186
170
171
165
195
137
121
208
201
124
158
171
172
156
112
143
172
208
203
181
112
201
143
150
170
172
137
112
217
112
167
205
121
112
121
112
150
202
173
171
158
112
213
150
135
150
239
250
121
112
165
171
208
229
212
121
210
193
170
164
276
209
164
150
208
171
121
131
167
187
121
121
203
112
160
152
115
181
112
121
210
137
220
147
208
147
235
112
170
237
208
194
159
153
156
165
165
150
121
184
167
112
194
167
167
144
115
136
112
121
167
178
187
121
250
121
171
170
223
171
208
194
181
121
219
136
210
228
170
130
220
167
123
210
179
230
275
237
180
170
181
233
130
115
115
212
165
136
201
174
150
171
195
121
172
186
170
232
276
150
208
250
159
123
212
196
121
150
218
233
150
150
237
203
200
184
170
232
136
172
210
187
150
172
239
208
121
121
121
150
171
123
203
150
158
121
112
193
232
112
150
195
165
165
177
213
121
130
152
121
150
186
135
115
112
176
225
207
168
193
194
150
203
278
207
121
164
181
174
121
158
177
235
150
150
164
143
210
121
171
170
177
209
121
150
240
165
150
208
186
212
112
137
121
255
177
189
112
164
150
217
208
216
208
135
212
181
115
176
121
229
231
186
156
289
150
130
208
112
152
137
112
123
159
137
123
166
230
181
171
210
195
160
172
164
167
194
186
150
150
158
205
208
167
208
159
230
195
206
237
143
227
112
130
123
218
136
136
221
147
240
171
112
195
150
115
158
208
238
172
267
121
115
121
237
123
150
165
192
176
172
196
121
150
150
137
193
121
236
234
170
152
112
150
225
225
112
144
237
112
196
229
150
174
121
217
150
164
191
150
112
189
219
213
198
150
123
121
228
112
172
150
193
218
152
165
171
164
171
194
112
210
121
208
220
176
226
209
147
250
123
245
258
112
121
156
150
150
135
112
158
202
208
194
194
210
112
147
147
206
112
150
208
112
177
194
218
211
208
172
164
166
176
121
227
156
131
124
115
172
121
150
208
167
121
112
208
236
217
192
121
156
228
124
170
167
165
243
115
147
172
187
201
206
136
121
150
150
146
174
172
172
208
195
176
193
184
257
170
194
150
123
192
158
121
112
123
121
112
150
176
220
208
156
164
208
174
172
170
153
147
208
160
150
121
212
194
231
167
250
190
172
150
276
171
112
112
250
167
165
158
121
122
194
170
201
124
208
172
121
195
170
121
231
121
150
123
121
112
194
167
121
202
176
218
128
150
115
238
150
150
242
210
137
250
237
150
137
208
128
128
168
152
193
229
172
217
174
136
167
181
112
186
237
150
150
121
172
206
236
156
150
115
175
124
195
112
144
121
323
135
143
225
192
150
121
123
150
210
171
165
181
135
165
193
223
132
112
194
112
217
171
172
225
172
263
193
250
230
203
158
249
170
167
121
158
112
150
112
177
171
115
243
203
171
193
181
181
123
184
121
135
123
165
195
202
203
181
112
196
150
181
112
135
208
212
152
186
121
181
171
165
240
121
202
265
206
150
227
194
112
167
186
160
135
158
150
150
226
181
302
135
265
150
167
172
208
228
170
159
150
115
194
228
235
208
172
150
112
257
121
237
291
164
205
231
172
192
170
174
216
165
112
121
198
205
184
171
167
195
167
150
150
150
210
193
167
112
112
176
167
208
121
179
174
121
178
123
172
150
164
208
225
123
168
171
150
240
171
115
186
208
204
167
302
220
150
159
135
112
112
176
124
291
186
112
187
150
152
208
123
177
172
172
174
167
121
130
150
150
121
165
164
232
257
182
150
150
181
184
187
159
215
124
121
170
193
170
150
159
112
293
156
112
239
164
208
228
239
187
171
181
194
176
208
172
203
172
186
182
150
150
181
195
112
170
150
172
193
172
181
186
215
172
121
186
187
231
150
172
171
172
208
150
238
112
223
203
137
150
202
167
272
159
212
236
186
162
171
172
172
123
178
112
208
121
212
236
202
172
203
131
228
210
219
196
171
172
150
150
135
136
201
186
128
194
112
164
136
208
172
212
137
209
176
219
181
164
263
112
190
121
164
259
213
130
208
176
201
170
217
165
217
181
170
121
278
242
112
212
226
121
112
181
228
164
112
236
171
181
165
121
250
208
195
218
194
150
112
202
137
137
167
121
150
112
186
302
135
202
160
234
208
167
158
205
229
229
112
208
156
150
172
297
112
171
208
150
276
181
181
208
276
175
112
150
179
112
112
164
195
242
205
150
237
156
150
150
172
159
171
171
238
179
121
237
121
194
208
192
260
112
150
193
167
187
237
245
202
150
234
205
194
229
150
171
257
174
150
207
218
167
112
112
112
167
121
159
121
208
170
136
208
187
193
150
171
121
200
202
203
233
174
150
232
199
112
206
136
112
150
172
178
212
194
226
167
112
170
165
172
250
181
170
220
137
150
168
172
115
195
170
123
150
160
227
147
202
208
112
112
175
196
165
165
167
170
208
121
172
201
124
112
170
237
170
190
150
177
184
241
123
112
193
135
186
193
167
215
136
208
177
186
112
172
276
124
208
172
236
121
112
112
131
187
150
176
167
121
150
202
181
175
208
150
195
188
207
192
186
135
112
112
150
159
250
218
282
194
112
236
216
167
186
135
121
167
172
208
208
143
208
150
181
150
177
274
150
229
168
167
186
223
215
121
112
115
112
150
165
150
170
205
170
172
121
150
167
171
219
171
174
121
176
121
121
208
171
112
232
112
150
195
150
150
187
112
181
112
167
170
210
205
112
176
130
195
187
225
208
181
150
212
171
206
187
150
208
263
208
115
192
186
205
121
203
237
186
212
193
176
150
186
121
150
170
230
213
137
236
165
112
150
205
121
186
112
193
245
202
160
172
171
171
282
150
203
150
159
165
124
170
208
194
208
206
167
289
150
193
203
208
186
225
150
222
234
168
159
121
208
288
152
112
150
150
112
172
179
243
167
135
171
176
150
250
210
121
233
150
210
208
115
219
208
164
112
121
150
193
231
167
112
112
302
112
112
254
112
175
112
233
150
121
208
136
194
172
150
194
194
145
147
176
167
137
226
170
208
167
176
115
158
215
208
225
168
218
123
121
147
150
165
231
242
123
253
210
243
226
208
150
194
218
121
163
205
112
150
172
193
150
121
186
150
172
170
176
207
128
112
202
137
208
171
147
181
150
123
152
194
172
189
307
208
217
137
144
150
164
170
202
123
121
225
177
175
170
150
231
233
150
150
174
195
121
150
112
156
150
121
181
150
121
251
152
112
156
257
196
185
150
181
150
187
150
150
237
227
193
229
231
194
263
150
158
226
170
266
203
202
237
150
136
112
172
176
150
187
112
165
112
170
208
123
112
112
115
181
161
152
137
260
167
167
193
176
112
237
195
170
150
150
187
218
121
135
150
203
121
172
136
121
121
167
135
176
121
210
196
167
195
181
174
212
121
152
168
150
186
143
112
150
143
112
135
276
158
194
175
168
192
228
112
181
181
187
179
150
121
225
170
228
112
212
181
171
179
150
208
123
121
150
150
171
209
171
121
167
202
189
112
152
216
186
112
202
208
166
112
123
115
130
204
220
187
218
194
147
194
204
115
121
240
121
115
181
175
232
152
203
137
167
112
255
124
257
150
250
171
276
187
115
208
121
177
189
208
201
135
194
208
147
171
121
130
202
215
172
232
227
135
170
187
217
174
121
201
112
165
143
172
171
128
130
167
147
177
150
115
226
205
112
195
278
170
156
121
186
172
150
171
208
150
122
112
195
208
157
123
229
150
223
202
112
121
147
150
112
123
217
172
165
171
135
150
228
130
150
242
112
135
112
150
231
121
259
123
210
170
198
123
150
135
174
254
180
234
194
123
170
219
124
194
150
112
172
146
214
150
181
112
302
112
121
203
112
195
193
112
181
172
172
192
192
150
204
193
174
202
172
161
235
150
172
121
136
115
252
177
221
135
121
137
250
216
216
208
160
136
187
144
161
239
124
144
232
208
135
165
159
230
162
112
121
210
112
201
174
112
112
163
194
257
231
210
177
184
172
216
208
150
135
170
112
204
187
193
128
121
239
121
226
198
112
187
150
159
226
207
196
231
123
150
150
121
172
130
171
150
202
250
217
124
150
135
172
150
170
112
150
206
124
172
150
193
226
167
184
195
147
210
143
220
195
186
208
167
209
259
121
112
112
258
201
167
172
240
170
112
193
152
176
195
186
174
170
228
228
223
208
217
232
260
130
147
172
209
170
167
172
174
135
240
195
225
230
112
128
150
174
165
181
190
167
214
136
254
250
277
156
225
123
137
202
159
136
171
242
121
135
112
124
207
112
228
163
173
167
280
241
112
170
171
211
179
150
202
165
255
177
112
177
112
243
226
136
156
176
212
167
150
172
177
177
172
112
172
112
136
240
186
164
212
157
150
172
203
130
112
167
181
209
240
163
167
231
170
215
150
275
168
177
189
121
240
176
208
175
160
135
150
112
171
121
158
150
215
161
144
150
150
194
193
210
137
112
208
115
121
112
257
183
170
208
171
130
231
150
172
137
206
112
174
112
201
112
112
135
172
254
158
233
172
150
205
205
176
257
171
156
302
130
158
121
226
181
187
136
168
208
209
229
210
150
175
135
226
150
209
150
115
121
158
150
167
147
121
215
137
228
192
164
228
233
165
194
210
198
121
250
150
164
208
172
197
150
121
150
181
193
124
228
189
237
217
187
231
167
121
112
176
208
152
244
195
150
178
137
217
135
177
202
241
186
172
208
208
208
121
179
238
128
254
167
247
172
112
150
112
150
194
135
112
195
199
209
167
240
195
112
147
279
147
150
177
187
112
238
186
124
123
194
150
212
171
186
228
121
158
112
112
205
240
172
238
112
167
233
228
186
170
128
208
219
181
170
171
194
172
150
157
181
167
167
150
172
167
234
167
150
136
202
170
172
194
150
150
167
251
233
121
112
208
257
121
205
178
278
255
150
170
220
195
240
215
164
121
112
254
160
165
150
208
150
135
152
137
150
152
156
135
170
200
255
223
170
150
208
181
121
208
150
130
193
220
186
112
152
150
181
150
150
178
174
194
223
112
167
172
172
226
166
165
205
121
112
192
112
112
150
121
112
202
195
150
121
229
202
165
124
208
195
150
128
171
193
196
179
160
170
208
170
112
177
181
186
171
170
115
170
128
226
150
178
208
150
171
212
167
234
150
170
198
115
112
121
208
147
150
121
230
228
195
170
212
171
172
233
203
171
237
168
208
112
235
205
177
186
147
112
193
147
176
208
112
135
135
123
243
165
208
210
228
124
291
172
112
251
121
150
150
205
208
165
115
215
210
194
225
210
158
135
263
144
170
123
150
170
193
147
112
112
226
150
150
208
184
219
263
209
172
147
202
112
223
208
150
231
145
121
201
172
135
186
121
194
112
217
150
200
136
172
150
139
170
194
164
121
121
112
150
186
233
236
150
214
226
167
121
229
115
220
135
170
153
124
158
115
276
167
246
184
158
150
194
217
112
267
208
139
176
226
190
235
172
213
167
205
201
161
193
115
121
150
112
121
218
184
137
228
171
172
167
136
152
165
242
112
195
112
212
112
208
121
167
174
226
115
208
115
219
136
175
167
121
197
150
220
174
158
196
168
121
167
174
163
164
193
121
186
137
135
121
112
200
256
245
239
121
174
121
123
174
112
121
192
201
121
213
208
281
202
121
237
121
152
123
165
121
202
202
171
167
250
237
167
172
124
150
212
168
150
150
150
150
167
278
130
112
170
215
121
235
181
210
150
194
172
159
185
265
186
181
150
219
211
150
150
150
176
208
121
273
174
228
170
165
208
150
186
168
172
136
263
137
186
237
164
112
146
150
115
172
112
229
197
181
219
152
229
187
208
252
150
186
208
247
121
181
121
112
158
220
171
245
121
150
135
165
208
192
233
214
121
192
234
171
172
123
152
121
143
167
193
156
201
167
135
181
349
172
121
121
208
121
202
194
195
136
147
202
258
187
112
112
193
121
121
164
237
121
203
150
123
186
302
165
211
226
121
158
150
275
172
181
228
137
150
181
170
184
228
144
112
181
159
112
123
112
152
193
187
115
144
165
162
112
112
210
186
171
204
121
150
167
239
121
176
244
150
171
121
150
150
172
158
201
147
150
150
302
146
121
123
195
257
121
194
124
121
135
167
112
208
208
136
203
205
228
135
150
167
194
181
177
208
194
184
150
237
112
194
201
112
174
112
172
150
172
278
172
196
128
170
233
177
159
171
195
123
150
201
164
167
193
201
194
150
187
219
150
150
184
233
172
181
150
195
210
176
112
194
170
181
112
225
194
250
241
171
208
150
121
208
193
186
195
196
217
147
172
112
176
121
231
150
167
172
150
121
172
240
121
121
212
186
121
172
272
186
112
112
208
194
219
165
193
195
205
210
244
123
223
194
208
112
181
202
195
228
150
121
112
137
233
208
181
112
121
150
203
241
237
150
170
112
201
175
121
276
167
150
121
121
137
171
152
150
150
218
186
220
175
299
229
112
192
186
167
121
237
152
170
260
150
229
150
195
112
237
195
175
193
200
215
247
203
172
193
121
228
220
150
189
192
196
168
175
112
123
165
210
203
228
219
190
136
171
177
135
232
150
255
135
136
226
274
203
150
165
182
123
112
150
192
112
195
124
170
135
165
272
208
121
195
208
172
173
195
194
212
205
121
112
179
128
112
135
217
170
201
218
115
171
112
216
194
181
112
170
150
150
121
157
164
250
171
228
170
150
137
186
194
150
121
136
179
172
150
208
199
174
150
121
123
229
158
181
174
205
167
186
172
236
192
237
131
212
167
199
112
194
150
202
123
164
150
226
181
235
256
168
121
150
170
194
225
150
228
150
171
192
150
194
147
186
123
172
150
121
121
194
150
158
243
150
112
112
195
237
112
157
156
187
159
228
177
253
187
214
229
220
146
170
210
171
150
234
193
170
150
250
150
150
220
112
210
139
208
121
150
147
121
159
123
250
256
123
150
112
165
168
176
260
123
170
150
209
179
208
121
115
207
276
172
208
161
167
287
121
172
150
121
121
174
192
177
176
121
203
171
123
167
112
208
167
234
147
229
150
121
187
237
137
250
128
187
164
203
177
210
165
128
208
203
210
123
203
121
112
121
150
225
181
186
170
186
112
160
205
217
236
227
150
135
150
123
152
150
187
179
121
170
112
121
208
239
135
199
299
215
170
202
123
121
208
164
245
150
172
193
194
170
164
227
240
171
188
150
172
237
172
150
172
172
112
150
159
194
187
210
112
112
178
123
112
170
172
171
150
112
150
179
217
164
168
193
121
172
135
209
123
250
208
170
123
217
150
226
233
121
112
152
212
194
182
217
243
121
123
112
172
233
250
150
208
124
170
112
135
203
215
170
112
185
158
121
171
112
278
159
123
208
303
150
185
229
220
237
253
210
237
150
121
121
194
150
160
228
135
135
278
231
269
170
254
231
121
228
175
135
239
219
263
220
208
135
193
228
208
208
202
237
250
112
112
137
223
112
130
225
250
150
135
170
174
152
192
112
196
195
159
238
207
197
231
136
170
167
112
123
112
112
164
218
211
208
165
201
239
244
205
150
112
121
121
208
233
202
193
164
150
229
121
172
177
165
123
195
121
208
185
193
207
201
250
137
194
115
150
182
147
112
150
242
172
172
165
176
112
203
115
186
158
121
170
199
170
174
112
121
121
220
112
170
196
112
213
150
201
208
175
208
150
202
150
172
165
158
263
121
171
137
190
150
181
165
186
152
165
231
167
115
208
124
171
123
150
250
164
121
208
176
170
112
187
239
171
171
172
167
143
175
112
201
167
212
210
252
121
217
145
193
202
150
171
176
176
257
172
150
121
150
211
150
226
231
208
150
176
208
150
191
205
115
170
239
224
150
159
193
208
210
240
115
135
229
278
123
172
174
176
239
123
193
228
112
135
121
224
250
232
195
112
196
167
112
150
112
208
192
237
144
207
112
112
112
150
201
115
135
227
208
150
147
175
194
121
220
121
150
121
231
135
194
181
170
170
208
250
208
172
172
135
208
182
136
186
112
190
170
173
172
150
194
202
243
123
171
172
112
128
112
136
171
150
150
240
176
194
156
112
115
167
136
242
150
219
208
112
189
124
231
170
171
168
167
208
195
112
207
172
121
124
167
171
172
226
124
150
208
150
115
186
137
121
170
194
196
239
147
172
121
135
136
167
172
237
135
150
112
112
201
136
302
150
195
150
172
176
178
195
112
208
250
159
189
237
150
172
187
205
165
152
167
207
257
150
289
208
152
150
192
172
205
196
232
147
121
150
226
194
184
150
212
202
194
136
121
150
121
159
193
121
121
137
150
150
167
150
158
150
244
186
167
208
233
217
239
181
121
150
208
195
286
172
240
217
147
258
172
222
228
176
172
186
213
210
203
181
210
228
112
121
207
196
112
115
121
112
186
168
181
112
231
197
112
150
187
171
121
147
208
172
112
243
181
174
121
112
150
177
184
184
150
121
195
150
170
121
208
176
158
112
121
112
243
219
208
150
214
150
150
236
195
213
112
236
194
172
121
177
208
112
192
156
176
210
158
115
176
172
112
121
121
150
221
170
173
225
150
150
167
226
112
123
150
121
181
115
124
186
156
169
168
112
208
176
121
135
135
175
275
203
194
172
231
187
208
121
208
157
218
176
136
171
135
121
208
171
208
227
121
165
217
112
254
160
121
176
233
156
224
147
177
123
123
121
241
121
170
112
208
193
164
208
112
112
224
176
121
194
112
208
208
128
181
201
168
121
176
137
181
112
112
112
128
228
112
112
112
112
112
121
121
121
265
158
147
228
135
239
121
160
212
165
225
121
150
172
150
172
170
210
150
167
250
137
237
121
167
188
167
112
172
194
150
176
274
150
121
236
208
186
208
167
121
167
147
165
258
201
157
112
202
164
115
168
233
239
147
112
170
203
228
167
150
177
135
181
210
121
228
170
219
276
115
194
150
217
302
172
176
137
176
159
219
250
168
121
263
175
123
112
181
170
171
208
121
212
150
172
112
227
121
121
208
165
174
150
112
112
150
176
167
187
121
112
194
167
167
184
164
226
203
193
181
121
208
121
231
135
209
171
208
231
112
194
121
218
137
205
170
194
179
170
181
171
112
170
172
124
121
150
150
121
112
112
150
170
121
150
177
121
130
208
208
211
112
150
121
165
172
219
172
187
171
167
112
150
124
146
208
112
208
219
243
112
217
165
123
225
167
150
123
150
205
174
112
202
112
112
181
172
228
150
170
150
123
219
176
239
124
233
150
194
228
203
150
203
232
150
205
172
207
150
128
208
168
112
150
202
208
237
208
115
172
112
121
192
170
135
170
143
115
240
167
236
171
184
205
136
150
228
112
201
237
181
135
121
150
136
150
137
112
159
213
193
168
226
172
167
194
172
228
150
226
150
176
170
229
167
208
121
167
231
150
218
203
197
121
144
150
112
150
208
219
121
172
186
215
112
123
239
112
150
228
165
203
167
123
136
168
171
130
172
239
171
172
150
196
131
194
152
229
172
123
220
172
181
135
112
112
208
121
112
121
150
181
150
217
159
172
121
194
150
150
135
150
216
197
121
136
112
174
172
112
172
203
170
170
135
112
156
203
238
186
112
208
194
112
181
121
186
123
195
115
146
167
121
237
171
167
150
123
150
167
112
121
150
210
307
201
150
150
245
238
248
171
209
167
187
171
150
201
150
208
121
208
150
165
187
170
213
112
189
150
230
112
194
112
121
209
229
112
218
121
121
187
158
187
135
152
150
172
204
137
156
121
165
212
159
172
193
194
159
208
165
186
147
229
208
165
226
171
121
171
179
222
112
193
172
112
181
176
172
150
194
112
173
112
170
208
176
165
193
230
150
231
208
186
115
172
195
112
159
112
150
190
121
237
112
121
176
172
208
150
150
130
212
165
112
167
112
235
231
150
186
150
195
240
194
208
112
130
219
210
127
206
137
194
209
186
112
231
170
263
170
174
202
181
112
239
174
176
146
150
121
150
187
135
150
150
171
167
150
175
176
220
121
208
121
171
228
150
159
213
204
128
184
121
123
212
186
150
172
131
171
208
136
121
201
158
192
207
150
185
112
223
208
150
121
152
208
167
227
150
150
203
112
150
202
160
168
243
170
137
150
172
150
194
208
181
192
168
215
172
239
208
194
112
225
210
208
146
150
209
228
193
206
174
202
128
164
150
208
215
181
112
193
158
112
230
212
167
210
150
170
205
198
121
172
237
123
112
172
170
194
156
121
137
226
137
207
223
172
150
123
150
172
150
194
121
193
193
121
238
276
172
170
150
208
159
123
217
181
130
150
196
121
191
172
150
263
112
201
208
228
236
231
121
205
150
205
121
137
170
159
112
186
228
228
228
208
244
158
112
201
172
136
167
194
121
115
178
211
115
167
152
208
112
150
121
150
112
164
121
150
171
226
167
158
243
121
150
167
172
147
208
254
181
150
174
176
167
181
181
150
170
123
179
167
172
112
175
234
208
233
150
171
201
167
181
226
124
186
208
157
202
176
128
208
201
208
121
115
112
136
150
202
181
208
112
112
165
210
121
121
185
212
195
186
181
203
150
150
112
178
170
150
223
193
123
171
199
203
186
181
194
177
121
135
150
112
150
171
124
150
112
112
228
172
250
213
147
150
121
202
208
137
193
150
112
150
112
200
112
135
123
228
167
158
219
150
150
184
207
171
220
112
165
150
216
229
239
192
161
112
166
210
235
197
185
201
194
263
171
121
167
150
229
167
195
195
150
167
193
167
353
112
165
187
147
174
158
219
171
121
194
121
209
194
207
150
250
302
136
121
167
196
135
228
178
171
112
135
112
176
172
176
206
112
205
165
121
158
172
168
112
121
150
170
128
276
123
150
236
207
171
228
112
211
237
187
184
215
136
150
172
184
150
150
150
237
172
112
172
210
170
152
150
170
208
123
156
210
156
208
237
257
150
143
181
208
225
167
164
150
201
208
123
136
121
112
198
112
204
202
170
150
150
172
212
242
171
115
177
187
228
241
205
208
208
228
147
158
158
236
212
171
123
121
186
112
208
299
220
238
121
240
199
179
135
121
177
152
112
208
210
121
201
220
202
267
210
167
240
230
150
135
112
170
201
121
112
182
150
167
215
186
194
208
219
112
172
135
168
124
228
112
167
187
193
150
171
233
225
158
220
237
212
150
158
230
171
162
176
172
181
175
150
137
112
240
203
194
229
115
228
238
220
171
150
121
228
172
172
172
203
208
121
123
217
233
177
172
208
167
205
161
150
150
150
160
156
158
198
171
208
172
112
112
212
193
208
170
123
170
202
137
115
156
112
167
179
150
167
121
180
235
229
156
208
172
202
112
150
178
143
121
186
187
121
212
208
123
233
121
124
239
170
150
177
233
112
192
172
189
150
170
150
150
123
150
177
228
135
194
164
165
112
200
159
203
209
265
219
165
195
121
112
190
208
137
208
135
208
244
172
123
150
205
231
150
215
112
207
210
115
172
189
181
123
181
121
172
121
194
220
150
167
121
171
172
121
207
250
150
170
171
123
112
112
232
170
225
181
172
210
150
167
164
150
121
255
112
195
172
208
156
112
167
172
171
176
229
150
121
167
210
130
150
190
210
182
157
167
176
147
121
112
187
210
121
112
208
178
112
150
193
186
121
150
167
161
112
167
150
112
121
172
150
112
220
237
112
112
150
135
121
156
171
112
147
208
170
147
279
112
112
232
121
137
156
208
208
170
215
159
231
112
150
123
121
170
231
195
150
112
171
121
219
202
121
194
171
212
174
150
141
171
165
174
223
172
228
194
217
208
198
232
205
208
150
250
150
205
171
208
167
205
179
210
123
193
121
112
160
150
186
150
223
172
178
112
112
150
112
121
112
172
172
159
150
170
176
171
128
150
208
150
193
150
228
252
171
181
216
159
171
172
150
179
179
167
150
202
123
137
301
112
135
121
168
187
112
208
177
150
121
150
174
181
121
194
121
115
187
211
112
112
112
112
218
228
112
281
184
190
240
150
176
130
112
177
167
150
112
250
150
220
164
171
208
188
147
181
167
115
112
165
202
121
121
165
177
165
164
177
231
181
228
192
150
112
137
181
171
112
175
176
150
195
263
175
137
171
123
123
175
167
176
257
164
233
208
121
147
112
156
282
207
121
170
121
231
241
179
175
219
208
208
225
159
176
202
208
121
112
152
171
228
203
179
150
150
170
205
121
193
237
194
237
121
202
136
183
237
239
213
152
121
170
167
135
239
190
112
187
181
115
170
214
204
150
208
181
121
205
112
121
255
232
181
228
150
112
237
121
123
172
167
158
115
172
181
158
152
112
161
172
160
186
135
240
150
205
203
123
150
136
174
210
112
150
150
150
150
123
160
192
121
167
167
135
194
234
218
216
250
263
121
150
177
172
208
194
171
171
150
199
150
172
112
192
124
159
228
121
209
201
112
112
150
112
150
263
181
150
171
193
192
194
255
168
194
168
181
239
150
137
121
121
219
150
121
150
170
121
112
150
112
184
172
130
112
164
195
242
150
123
123
194
214
182
160
160
121
194
255
212
150
196
150
170
203
186
150
121
217
244
112
136
150
147
209
229
112
147
115
212
159
218
236
228
150
165
193
208
147
159
112
135
179
146
177
230
123
170
115
167
150
121
112
208
186
150
213
235
150
178
278
168
177
121
208
167
193
130
121
171
186
181
167
201
202
123
175
150
163
175
170
217
135
201
186
237
159
170
172
112
150
226
167
121
160
167
112
203
213
137
207
208
174
216
212
222
160
261
167
276
247
260
239
208
168
130
218
128
121
170
112
176
167
147
181
165
167
189
181
147
150
208
181
112
165
165
150
150
112
112
167
181
199
237
128
202
174
112
194
218
203
186
121
112
208
112
172
212
255
174
218
198
172
150
115
217
150
130
269
121
121
136
165
175
137
201
172
207
112
136
150
179
160
216
170
159
112
193
208
135
239
112
186
150
207
135
150
195
112
121
219
210
130
226
112
150
167
208
217
150
167
150
208
201
210
238
182
135
170
228
237
121
175
121
147
239
172
202
121
147
239
235
121
167
147
150
172
234
121
176
112
190
147
172
121
197
115
231
150
150
174
167
171
121
208
208
167
233
177
172
167
150
203
232
121
150
137
194
115
226
176
272
186
214
186
233
181
240
165
215
181
150
204
229
158
172
150
177
152
121
192
160
176
208
182
170
170
214
161
186
225
130
235
135
165
202
112
227
208
112
181
208
177
112
218
112
235
228
150
184
176
165
201
197
167
194
112
171
150
227
121
112
172
121
135
156
176
205
152
121
219
236
170
150
121
217
136
201
121
176
164
187
225
112
239
231
171
228
186
224
150
135
196
156
187
156
217
165
220
121
187
205
212
172
160
236
137
170
112
217
150
121
121
150
203
227
193
170
204
112
283
172
168
195
121
135
189
245
112
150
198
203
208
160
225
112
205
171
150
194
167
239
217
137
200
208
167
208
250
112
226
159
203
171
115
177
170
172
208
186
150
167
121
226
121
150
201
121
121
164
135
172
235
147
167
218
121
112
220
115
176
121
150
236
123
167
202
276
170
167
112
160
193
170
229
240
240
165
150
275
193
112
150
150
121
172
147
176
112
255
172
266
176
150
187
121
170
159
150
174
150
150
164
165
171
181
124
172
167
121
220
237
150
112
137
208
121
150
158
112
112
239
181
189
204
174
187
150
172
172
112
150
135
121
194
207
176
205
173
143
232
186
115
178
237
189
208
214
121
121
177
170
158
172
123
186
150
231
174
186
135
115
112
220
150
150
143
115
123
135
208
170
112
165
178
201
226
150
165
218
208
170
159
177
121
135
121
255
150
186
130
150
186
150
193
212
167
167
147
124
137
207
150
150
208
223
121
172
121
112
112
192
176
150
172
172
176
164
121
255
158
112
150
171
208
112
170
174
201
121
164
172
177
217
137
208
264
182
167
150
160
135
208
124
198
121
192
172
203
170
112
137
177
172
252
150
195
170
186
112
219
112
211
231
150
193
208
215
115
124
172
189
208
121
210
208
150
167
265
212
112
156
170
150
228
235
229
121
176
156
150
150
219
161
196
189
115
121
193
208
150
217
181
121
170
236
208
194
172
207
123
159
168
112
217
250
177
164
243
210
194
218
201
121
206
112
136
121
176
158
172
137
150
112
112
187
123
208
150
170
167
150
208
121
123
121
158
172
170
189
195
150
194
121
198
219
302
181
172
202
255
171
217
168
193
136
208
150
172
172
165
177
135
150
194
219
172
205
197
237
162
150
130
136
172
231
216
242
171
137
171
195
199
202
224
121
177
232
192
245
167
174
150
150
150
223
112
174
124
167
150
208
150
206
265
208
112
150
150
189
172
115
112
235
177
208
164
171
156
168
121
167
164
123
150
121
276
169
206
232
121
150
211
176
112
150
121
254
136
237
194
177
124
228
194
176
176
112
112
165
150
150
121
121
214
150
201
176
233
121
115
181
208
112
124
137
170
172
121
194
171
218
167
178
130
112
170
150
208
219
219
235
112
150
176
164
112
187
168
121
176
123
171
194
228
243
121
195
181
165
121
210
187
150
276
193
228
135
164
278
150
112
112
150
172
209
150
210
176
184
167
170
174
208
208
172
208
170
112
208
208
167
171
174
226
150
136
171
112
220
123
176
259
115
205
225
218
165
136
135
130
194
237
112
207
212
115
172
243
228
181
136
206
215
121
112
112
150
137
192
112
167
150
136
170
121
171
167
208
238
201
150
150
199
167
121
136
112
112
208
170
194
150
112
150
237
186
201
145
147
211
194
187
121
156
167
164
112
112
176
250
150
170
243
192
124
171
159
123
177
250
112
194
150
172
160
115
112
150
150
167
202
167
212
150
195
228
112
205
239
150
218
135
112
212
121
181
250
174
121
171
137
112
159
208
207
184
218
194
147
176
121
172
192
174
171
112
150
167
150
219
233
160
173
233
170
150
223
240
150
172
143
112
186
157
197
217
181
208
112
121
150
115
206
150
128
172
193
176
150
150
217
147
202
147
164
187
172
124
176
112
121
256
162
208
115
121
181
186
226
240
135
150
150
112
112
230
229
176
121
186
112
202
174
170
150
150
121
201
174
186
156
231
123
174
158
201
194
231
195
264
121
221
194
208
112
167
208
200
223
172
121
121
172
112
181
167
171
167
123
170
297
165
123
217
112
192
112
171
170
186
121
236
160
194
167
208
210
229
112
135
230
208
193
167
177
208
150
228
193
260
150
202
172
165
115
147
135
208
150
208
130
181
172
208
150
112
136
170
192
150
208
208
150
194
194
167
150
297
208
123
203
172
172
171
172
178
250
167
193
112
171
121
176
137
165
130
170
150
203
164
156
137
121
171
167
228
256
144
292
215
226
165
202
186
147
192
263
112
150
239
121
137
136
158
121
150
265
196
158
136
112
147
150
150
202
200
123
176
171
150
147
174
171
172
150
112
144
206
150
165
115
167
202
159
115
173
171
171
137
172
217
236
172
159
176
252
143
136
123
121
237
220
112
121
228
172
186
121
237
157
121
128
112
150
150
208
179
238
210
209
172
176
177
208
193
210
179
202
207
208
172
130
171
147
228
121
150
199
210
135
112
237
112
156
136
229
172
150
207
229
121
150
121
172
159
150
130
208
208
177
165
212
206
150
150
176
165
167
121
112
150
186
152
178
195
112
240
208
170
150
208
170
208
165
165
150
150
193
121
202
143
186
150
195
197
124
165
112
121
121
179
178
187
121
156
112
208
121
150
115
112
249
112
112
211
247
150
174
239
186
208
123
194
170
208
208
177
194
150
236
210
121
195
187
176
167
150
176
147
112
112
207
150
172
135
181
177
112
171
172
150
186
218
112
174
192
194
177
167
208
171
123
160
123
208
172
121
124
170
202
156
150
121
172
112
176
165
176
214
208
167
150
165
150
165
167
170
112
170
121
112
121
165
171
121
194
150
262
186
167
208
204
208
158
135
208
254
123
192
176
210
172
210
123
176
150
175
121
158
255
186
143
181
165
150
181
210
208
135
217
121
228
194
194
121
215
112
150
181
201
150
112
150
187
112
121
112
219
137
194
257
174
227
208
171
165
227
178
207
196
165
150
229
147
172
150
181
172
147
150
172
121
150
176
195
164
208
208
302
184
167
174
147
237
130
237
121
150
187
172
121
135
156
150
198
215
212
195
203
207
112
150
156
194
121
121
156
150
208
215
123
176
237
121
187
150
150
112
112
302
135
225
170
194
202
167
150
167
124
208
172
150
181
196
150
208
123
121
205
170
112
172
124
135
170
112
172
135
160
186
112
115
239
147
124
300
171
150
150
156
172
250
184
237
207
146
212
210
112
121
168
217
167
112
233
210
181
237
139
190
112
152
219
171
170
112
204
121
237
231
231
150
112
174
121
170
121
157
143
171
182
210
174
230
181
150
167
112
147
123
121
145
121
164
175
239
219
150
172
150
135
112
150
186
278
186
186
160
181
202
172
172
112
184
171
156
112
172
158
200
160
158
121
278
135
168
121
193
165
150
212
150
186
193
112
206
206
213
263
194
195
128
150
172
216
171
121
172
210
170
150
184
112
167
179
199
208
187
150
172
167
121
184
150
121
170
112
194
243
121
165
112
176
224
171
112
208
150
124
163
193
147
167
137
112
172
228
172
171
123
158
192
112
177
219
219
161
209
179
112
237
195
112
121
167
202
192
186
213
174
246
193
203
201
150
202
172
206
121
237
171
112
198
112
192
165
112
165
170
208
208
112
203
150
112
121
159
212
158
168
144
208
204
112
208
160
150
214
181
172
199
172
194
135
137
176
170
165
175
167
159
184
150
172
232
121
121
217
115
147
112
112
112
156
150
250
150
186
167
172
165
193
150
207
121
112
123
150
172
165
121
242
250
158
128
167
112
150
136
192
147
181
226
112
167
150
160
225
208
130
179
112
124
112
137
171
136
150
170
228
208
167
112
121
176
159
170
121
176
228
150
121
167
176
112
215
167
170
195
208
121
121
202
209
250
170
112
172
209
167
260
238
208
210
212
112
165
170
272
150
136
146
136
167
176
123
184
150
228
237
198
112
161
181
228
158
162
204
112
204
186
171
112
150
112
208
200
207
174
272
220
250
181
150
247
171
220
250
208
156
276
159
172
112
172
112
181
150
150
135
181
210
247
181
165
112
121
194
121
176
192
121
112
174
182
195
112
130
167
212
150
112
234
150
167
167
176
147
121
172
150
179
187
177
167
235
121
172
123
242
121
179
234
255
228
137
167
164
175
237
121
203
243
164
205
217
150
228
150
165
194
276
112
167
176
208
214
112
135
121
209
121
210
247
165
150
172
121
123
150
167
186
181
121
279
176
168
112
124
165
121
195
150
194
121
195
172
121
232
228
152
137
245
240
112
137
112
156
172
209
195
171
164
115
172
240
228
208
143
233
150
150
201
209
170
124
171
135
203
123
177
212
150
215
226
263
194
112
171
123
112
192
172
243
302
112
150
223
123
236
121
146
212
237
210
121
174
213
112
170
150
167
150
174
112
229
193
171
171
172
235
177
128
181
226
150
112
146
163
187
172
123
231
194
195
218
121
150
187
171
219
150
112
112
167
229
178
202
231
210
123
152
208
170
217
208
121
194
205
121
182
179
217
278
121
210
207
228
212
112
224
219
177
202
145
237
172
171
222
187
199
202
231
217
176
165
176
158
170
208
230
152
251
172
228
208
150
217
194
150
241
121
227
159
150
121
112
146
175
229
172
195
210
112
193
156
186
217
239
137
112
202
161
200
255
136
231
112
164
181
171
181
112
167
121
209
112
150
150
208
147
172
159
228
203
186
174
147
250
121
171
208
150
165
187
182
181
150
208
194
236
165
206
176
212
202
202
121
150
170
161
245
210
150
167
112
115
181
202
150
150
171
207
112
112
168
112
130
228
212
147
170
150
176
112
176
112
171
167
233
177
210
135
174
150
170
147
121
176
112
112
204
123
219
136
218
243
207
174
135
177
137
150
194
121
233
220
150
210
184
172
223
159
212
176
176
238
165
150
147
175
208
167
208
208
210
203
123
112
208
170
150
193
159
178
172
121
112
174
150
112
150
167
186
171
112
255
192
194
112
112
112
167
124
208
178
159
150
150
123
121
135
208
112
112
171
150
205
193
229
201
168
177
150
239
167
170
158
208
171
112
208
112
121
121
112
242
121
112
167
231
217
121
150
112
172
170
278
130
150
225
135
212
124
123
137
167
259
208
112
150
233
176
226
208
231
124
201
192
186
207
228
150
216
201
121
171
167
112
115
255
137
266
157
147
124
170
121
135
193
211
195
218
164
150
165
150
228
167
123
187
112
181
112
193
172
194
233
243
167
121
121
194
150
167
150
112
182
208
201
121
220
150
167
172
175
136
123
203
137
112
203
164
195
212
174
121
170
130
228
176
276
183
172
112
150
254
165
150
170
171
255
185
167
206
165
208
121
121
150
112
115
232
266
181
194
165
195
150
186
170
192
167
136
150
174
158
172
212
208
170
136
231
143
205
208
112
156
121
150
208
208
302
205
112
215
112
164
147
150
121
170
167
121
219
208
177
112
150
209
228
208
156
219
202
160
164
167
179
150
175
214
167
241
137
224
187
233
112
135
193
112
172
170
150
194
177
171
123
193
167
172
112
150
143
112
150
147
121
150
170
227
226
124
150
252
165
223
250
174
136
171
115
208
172
208
247
147
150
115
123
225
121
167
218
121
150
211
170
210
172
150
121
121
224
208
184
150
281
194
158
193
211
205
150
121
115
121
160
176
208
201
121
112
121
216
239
121
189
233
216
189
135
203
228
150
219
115
182
235
187
278
121
115
170
212
208
255
232
146
112
235
159
218
150
181
171
150
241
220
175
190
190
276
174
228
177
172
194
146
164
211
150
156
124
150
158
112
174
124
159
121
150
150
207
208
150
150
172
176
176
172
194
237
176
226
158
121
123
178
231
212
170
211
112
136
112
186
204
115
167
208
165
171
156
195
143
121
147
115
237
121
123
168
177
112
150
150
172
193
112
210
195
150
226
121
228
247
220
208
167
165
172
150
264
176
124
217
135
228
161
121
255
171
152
170
112
147
218
170
208
150
208
207
112
167
123
172
137
208
205
207
121
172
123
172
150
181
231
197
176
150
136
172
219
205
150
172
170
208
115
147
128
112
112
194
181
177
121
171
123
246
216
229
203
193
150
249
121
150
158
250
172
158
195
121
165
186
115
167
159
121
262
181
150
170
150
112
170
112
231
139
193
158
167
181
112
167
135
231
112
189
165
194
121
210
115
115
164
194
184
167
187
232
173
145
147
121
112
112
165
150
137
167
170
137
124
265
167
150
181
174
152
144
164
192
112
255
160
165
254
186
121
137
123
177
150
210
150
210
128
164
208
121
161
147
205
167
175
231
135
135
288
150
150
187
229
172
174
177
150
166
219
135
212
121
201
164
255
123
156
240
178
208
121
166
218
208
186
198
171
112
171
244
121
192
156
172
184
237
165
236
123
124
121
226
121
219
124
112
150
225
150
187
228
150
137
171
219
216
168
115
217
112
115
177
167
136
150
226
121
202
170
241
150
237
150
187
150
121
186
175
170
150
184
115
130
150
228
302
150
135
112
239
112
172
256
112
112
121
171
164
145
252
214
156
176
150
208
160
150
193
250
144
172
150
289
112
167
121
238
181
212
159
121
194
171
165
150
194
210
274
181
208
194
112
208
176
165
150
192
171
195
121
112
165
212
172
172
208
123
208
181
181
150
269
112
235
250
150
150
197
231
164
121
121
150
135
150
227
189
178
171
177
135
150
194
164
147
198
123
172
121
121
208
121
176
210
202
158
193
112
112
167
165
150
123
187
208
207
176
208
208
167
165
164
208
192
228
208
302
150
156
214
195
121
231
147
194
196
220
167
164
160
250
177
172
112
170
172
159
171
252
150
226
150
195
123
178
156
194
150
209
229
167
174
136
156
210
136
220
161
208
278
121
150
121
156
176
164
220
157
150
147
121
121
264
112
121
186
150
112
121
121
135
181
184
139
192
193
123
135
112
150
121
237
164
167
156
208
174
250
184
135
150
193
115
172
123
137
192
165
205
171
121
177
167
112
170
112
194
202
115
194
121
121
165
201
171
112
228
157
112
228
150
259
220
121
112
165
176
186
115
136
143
164
228
208
171
112
121
208
150
265
167
185
150
192
150
150
181
194
164
150
174
150
150
158
177
208
181
237
123
112
172
164
205
203
121
176
150
186
177
172
202
228
181
302
177
165
172
176
209
186
193
123
176
112
112
112
165
237
170
150
171
128
194
182
219
167
179
240
245
176
143
150
241
167
130
112
202
232
121
137
201
258
208
150
218
121
167
193
212
150
244
217
228
165
281
136
121
137
124
186
121
231
171
177
172
159
121
150
186
128
195
193
121
225
255
121
167
170
217
150
170
112
139
202
196
121
124
171
192
167
171
176
203
281
150
159
217
208
112
220
232
228
150
165
121
213
214
192
121
193
233
136
170
123
202
158
208
139
132
171
158
208
121
172
170
215
170
150
176
147
150
165
203
243
172
243
121
225
112
237
208
123
121
229
150
150
255
150
212
150
172
187
137
202
112
137
121
121
115
253
112
170
159
234
131
172
252
121
201
112
146
194
233
167
159
135
112
123
237
160
259
157
150
181
167
168
165
197
208
150
298
170
208
165
147
167
193
165
202
181
230
243
167
150
167
121
243
212
205
167
219
194
136
150
208
139
136
170
112
172
115
128
177
112
167
226
121
165
217
150
176
193
194
121
112
201
139
208
172
123
112
254
112
135
112
213
150
167
150
164
219
208
172
172
167
150
170
121
123
112
112
210
194
181
207
172
156
112
150
147
172
167
171
168
112
121
121
194
115
167
121
170
220
172
112
150
192
202
123
178
121
187
136
112
194
137
229
250
158
167
220
172
123
112
272
195
150
176
231
193
235
171
130
238
170
112
112
171
190
115
250
177
172
115
165
194
170
172
205
208
225
128
239
228
158
137
172
228
172
171
160
225
112
200
210
121
205
150
121
256
171
150
216
217
171
112
158
205
158
167
172
172
195
150
172
121
167
115
170
184
228
123
167
181
179
242
112
170
201
181
172
172
172
147
112
112
168
121
150
257
206
166
221
181
187
172
121
176
152
201
121
123
236
201
121
208
216
208
212
181
269
171
175
158
208
245
194
201
150
172
121
121
172
137
272
156
131
249
193
186
121
121
150
167
231
150
217
172
202
157
208
181
259
275
112
150
203
201
150
245
203
121
176
123
150
123
208
156
121
112
214
219
176
144
250
112
156
181
112
195
150
194
176
208
135
170
208
112
207
212
121
183
241
137
159
150
192
170
121
210
159
158
208
274
167
171
167
112
191
198
135
121
170
112
165
123
208
121
165
167
112
136
161
150
124
208
250
147
175
137
172
208
121
195
243
203
150
130
147
167
150
112
167
121
167
150
176
150
181
121
172
112
195
167
121
208
178
237
176
150
136
150
172
202
164
205
171
212
215
112
150
204
193
150
137
237
275
171
174
158
304
121
208
121
123
171
137
167
167
150
176
349
177
233
194
112
172
209
228
159
166
240
169
159
171
219
172
239
121
181
170
219
208
220
123
229
170
168
223
167
147
112
112
231
115
232
165
150
112
194
237
135
121
112
137
150
208
187
121
150
167
121
150
121
121
182
178
259
212
223
234
112
121
195
195
128
174
121
167
137
232
220
137
239
167
208
194
165
150
239
172
262
171
165
170
231
170
150
263
156
112
208
150
158
171
225
121
123
170
217
228
176
143
218
170
135
181
177
167
208
147
192
167
112
160
171
167
186
130
171
159
277
194
234
112
112
239
208
167
124
143
150
112
212
177
220
171
112
219
218
171
177
234
194
258
150
112
186
150
159
240
150
150
150
112
245
172
223
250
115
167
150
137
208
187
176
181
131
187
194
168
226
112
175
202
137
112
150
206
208
112
256
208
137
167
205
208
112
194
112
123
208
193
187
193
210
208
172
189
112
196
175
112
112
150
165
179
121
208
233
177
156
193
161
170
170
187
193
181
181
218
172
208
211
112
170
147
234
255
194
150
121
172
186
156
198
215
115
183
232
193
121
190
202
150
172
123
150
156
170
174
121
165
150
217
124
128
121
231
171
176
202
150
187
121
130
121
147
150
150
112
170
176
172
170
194
150
210
208
112
123
112
208
121
147
249
175
176
121
197
195
258
210
237
207
203
203
231
156
128
225
243
172
128
176
187
231
220
150
121
123
112
247
182
231
227
150
121
167
194
214
194
112
150
150
186
199
186
181
201
208
150
206
167
121
187
194
210
231
112
201
187
170
170
208
121
136
228
167
305
170
193
115
164
158
150
123
158
194
124
226
172
208
150
170
121
165
141
158
212
112
170
170
150
226
218
204
170
228
128
195
263
150
238
112
136
192
115
263
121
112
135
121
112
263
112
176
192
112
231
171
150
184
112
212
112
181
152
201
208
150
121
231
158
208
176
302
150
124
150
167
238
150
150
167
150
112
167
172
193
112
172
186
231
150
165
195
192
176
115
210
150
160
190
150
112
150
172
202
219
193
210
172
302
150
112
121
198
147
176
170
167
150
176
187
112
123
200
172
171
201
165
186
150
237
210
158
194
192
150
231
243
150
208
115
160
172
208
192
187
167
112
190
150
206
165
112
123
220
241
167
112
183
194
112
240
208
240
228
278
124
130
112
156
160
195
150
208
215
174
121
235
164
201
158
190
184
112
201
252
167
172
181
121
121
112
205
160
181
112
196
152
225
189
112
121
150
121
201
205
112
121
237
164
195
160
175
187
172
135
229
121
136
208
112
164
165
112
178
172
208
259
168
121
236
187
202
115
130
170
174
172
150
174
208
128
218
181
121
179
150
170
209
112
187
123
152
124
150
201
112
195
112
275
150
181
137
167
150
193
172
121
167
187
203
167
135
171
176
172
159
208
124
170
187
130
121
115
123
121
189
217
150
150
150
201
167
167
228
276
231
220
274
186
150
136
202
220
130
212
130
121
194
137
112
115
194
195
167
189
163
112
121
150
208
112
198
159
115
121
208
228
208
150
187
159
158
168
186
150
121
167
135
205
159
124
147
112
150
177
124
112
123
194
194
121
186
216
112
123
220
200
181
112
203
167
156
112
121
171
112
112
201
121
136
115
112
150
150
186
208
150
194
178
121
218
216
157
150
203
150
121
206
150
214
150
150
165
121
217
193
228
208
177
170
121
219
115
193
219
171
182
231
219
121
121
150
135
121
123
229
229
150
206
136
112
150
190
147
208
337
112
150
150
212
185
177
190
139
124
156
121
112
242
212
230
171
143
167
112
150
208
181
239
170
123
160
194
241
171
168
192
213
168
123
237
112
152
195
176
144
210
112
150
164
210
150
121
195
247
193
112
150
184
136
181
193
202
241
121
172
150
150
219
121
164
186
182
160
150
229
135
176
194
121
184
237
184
170
176
130
172
150
163
211
135
171
121
150
165
193
150
123
150
217
147
159
187
150
212
208
208
112
175
167
208
201
121
176
121
121
112
197
137
135
123
112
121
177
187
150
172
150
229
269
187
150
238
121
112
205
195
150
150
124
112
124
235
121
196
250
144
269
179
172
137
112
172
203
176
135
165
150
181
150
164
167
159
213
150
218
210
209
171
181
219
179
207
112
181
208
208
150
195
182
164
121
194
255
172
112
167
167
121
205
229
152
112
135
220
231
201
202
112
150
112
171
208
171
112
112
208
174
167
121
232
170
150
181
112
121
194
209
135
212
171
158
112
231
302
173
168
187
150
202
220
181
150
236
172
150
135
171
229
204
150
170
186
196
123
193
147
226
150
167
150
123
210
195
135
147
137
208
167
121
158
115
240
147
112
167
199
225
229
223
121
168
184
225
150
226
226
156
150
150
208
200
171
152
208
143
112
112
212
150
150
228
220
121
164
207
185
167
240
150
171
135
278
150
219
208
194
229
121
217
121
250
220
160
121
219
121
112
174
165
137
150
147
267
187
255
152
208
208
164
115
208
172
135
172
157
178
181
121
186
121
167
234
263
237
127
165
157
212
112
171
253
115
215
112
174
195
112
250
150
203
152
186
147
150
128
112
144
136
112
219
220
150
269
184
210
193
112
208
237
234
147
176
176
121
167
193
150
194
226
186
186
150
212
260
202
201
121
124
136
182
194
157
208
238
136
150
203
208
121
121
194
150
121
156
208
224
187
115
121
186
260
171
235
224
112
112
176
167
121
112
177
161
150
135
112
219
150
159
172
150
112
167
232
208
115
112
150
143
189
216
112
172
137
123
193
172
176
158
123
152
135
214
210
152
112
253
208
147
202
112
195
195
254
199
115
156
123
228
132
254
150
176
177
150
203
199
225
278
208
112
186
192
167
205
171
150
228
227
207
112
167
150
235
239
124
178
203
203
121
121
172
216
123
214
172
196
150
193
167
208
207
226
201
150
150
150
121
219
186
208
121
156
208
124
216
150
228
172
225
208
150
257
203
190
171
167
218
170
237
176
187
147
228
121
219
203
123
232
208
181
231
269
121
170
137
121
203
150
170
112
202
170
121
181
210
160
167
206
207
139
169
241
150
178
255
213
112
112
150
167
167
150
115
228
112
228
123
167
208
170
215
186
112
186
228
137
172
195
195
171
161
150
165
212
115
195
210
167
112
136
228
170
170
121
231
189
121
121
150
135
254
194
225
112
165
136
123
150
226
174
121
207
167
168
229
172
130
112
121
152
150
207
168
121
130
170
121
112
121
121
136
170
194
219
294
172
208
203
175
232
177
162
167
112
200
172
186
205
178
195
207
112
187
187
201
121
172
161
168
158
112
203
252
208
228
135
172
209
150
150
170
172
186
167
144
208
177
239
208
150
250
150
123
179
124
164
192
112
112
158
269
115
165
164
181
112
171
196
174
123
176
172
181
195
194
172
165
205
167
167
150
241
160
188
201
167
170
112
239
112
190
171
201
167
115
137
121
112
150
235
240
112
207
172
181
208
236
240
150
112
150
195
194
172
165
147
171
150
240
150
159
121
217
121
234
170
172
159
167
112
121
112
203
150
228
174
208
181
121
121
150
135
112
177
167
165
112
167
135
208
150
150
152
124
159
112
167
158
225
200
167
239
115
112
145
165
202
150
255
150
121
158
135
177
150
172
210
112
112
165
167
172
187
193
171
112
172
160
164
203
150
168
150
112
170
176
137
152
162
261
112
272
112
165
195
158
167
137
172
150
112
137
112
170
115
170
115
170
150
205
150
128
177
172
150
172
172
135
218
186
219
121
176
172
150
194
172
212
165
176
172
150
167
143
121
112
219
147
211
112
112
112
176
115
194
150
228
112
171
136
112
150
179
156
165
150
242
112
202
121
121
147
181
112
152
172
187
192
210
272
121
112
171
115
193
121
150
172
233
112
199
112
209
128
170
267
176
193
189
205
167
150
121
219
195
192
112
208
208
208
186
172
186
177
150
170
150
160
150
177
276
186
193
150
220
210
211
112
208
112
121
207
194
150
225
112
150
201
186
150
191
237
156
160
152
150
202
167
136
208
180
150
202
112
150
220
171
236
150
181
236
156
182
132
233
121
194
254
171
147
112
229
150
208
156
194
170
121
112
231
217
170
212
115
150
121
150
112
194
194
150
224
201
156
195
237
200
112
165
124
168
121
194
112
194
121
181
158
121
112
112
211
175
121
176
150
150
193
227
121
223
275
172
112
166
150
228
232
193
202
167
189
231
186
167
112
112
123
152
170
263
150
240
121
150
167
150
224
112
123
171
210
194
220
170
167
218
179
123
164
243
170
217
212
174
219
254
208
186
150
150
172
195
112
121
181
158
112
168
121
250
202
226
258
144
207
136
123
170
155
150
203
216
135
181
112
150
217
121
240
232
165
181
112
208
213
128
121
128
201
158
274
164
261
227
228
171
150
226
121
150
171
271
187
223
172
112
147
204
123
172
135
150
241
150
210
112
112
152
121
150
121
186
121
179
209
171
196
176
220
150
150
172
202
172
208
176
172
176
171
229
195
121
194
265
177
165
225
170
150
176
121
112
150
234
203
112
208
137
170
187
195
233
121
137
135
203
112
208
147
172
150
212
189
172
228
210
226
171
208
171
170
160
250
208
184
179
170
210
147
201
112
165
208
175
163
130
237
112
112
150
168
208
240
150
208
188
158
202
144
207
150
210
208
215
172
234
193
188
168
194
150
150
274
194
121
171
112
186
208
195
184
189
187
172
147
147
121
121
217
250
168
171
112
171
302
150
112
252
186
228
167
121
115
130
194
121
121
121
216
187
112
186
121
202
208
121
205
201
112
208
205
112
224
121
152
212
159
112
226
164
112
174
167
218
112
176
112
242
208
136
193
201
224
170
208
112
172
128
150
150
181
195
143
208
150
212
184
217
150
150
203
176
150
239
121
156
182
158
123
175
123
170
130
164
112
225
254
112
150
212
121
150
228
152
259
112
302
159
147
130
112
147
181
170
176
160
121
112
112
150
216
208
123
201
194
143
206
121
112
207
171
112
172
263
172
237
174
121
123
179
112
123
250
174
147
292
193
136
181
193
181
165
251
150
176
228
186
220
123
171
121
210
112
167
150
165
201
181
123
172
179
121
124
177
171
131
230
147
121
167
261
194
165
240
124
121
150
174
195
228
220
175
219
150
115
136
150
167
121
147
172
121
158
147
135
135
161
176
165
112
194
186
279
150
203
208
302
150
175
203
194
135
112
121
187
179
159
207
112
170
201
137
150
202
150
150
202
203
172
181
201
182
194
212
112
208
237
171
121
218
121
112
167
121
150
121
175
194
150
172
150
204
150
201
147
233
167
234
121
167
159
150
112
112
164
179
124
176
185
171
208
172
150
231
194
150
135
208
150
219
193
237
136
170
177
121
150
136
150
150
135
112
228
121
187
135
237
121
112
137
217
199
167
208
159
194
186
212
150
136
196
158
135
156
121
208
168
255
252
181
208
171
112
186
150
231
128
192
167
167
156
184
130
207
263
150
208
137
170
176
231
194
112
112
164
121
171
130
170
176
136
112
165
171
150
208
112
178
172
150
194
112
147
212
194
178
159
121
208
228
176
167
147
189
194
147
150
232
160
208
232
208
121
231
172
176
229
112
208
121
121
123
112
201
170
206
150
241
177
214
128
187
192
121
150
171
186
165
172
185
112
208
170
112
137
165
167
167
238
228
170
233
123
121
212
170
205
172
171
239
150
229
158
121
150
150
143
112
172
186
135
160
207
124
156
208
263
121
121
171
121
156
164
167
208
112
220
195
186
182
130
128
150
172
135
164
173
158
208
136
123
171
187
150
195
214
121
150
168
150
170
260
135
208
264
181
167
150
124
150
150
172
150
112
186
137
167
112
159
135
185
124
220
203
170
207
121
135
236
121
201
170
112
227
194
150
152
121
184
156
177
225
188
112
233
184
202
123
165
167
121
159
171
208
199
112
212
167
218
239
165
198
172
123
279
165
121
170
165
225
231
171
193
167
264
112
135
175
147
137
150
208
121
212
255
217
112
150
186
195
194
112
250
123
259
156
194
115
216
175
150
121
160
171
112
112
112
193
214
123
171
112
165
224
176
124
172
171
150
144
112
208
121
167
208
135
167
156
121
147
193
208
208
167
172
227
181
167
121
112
150
124
203
181
165
112
164
164
159
124
112
263
208
210
210
121
152
150
150
172
202
156
112
177
112
167
202
164
208
150
137
194
112
170
112
162
194
115
200
158
121
260
208
147
245
260
170
226
150
167
121
124
226
177
172
219
297
150
170
208
150
150
194
139
172
176
167
167
167
121
115
121
240
115
257
112
218
202
121
231
201
150
220
167
299
171
170
227
177
236
214
167
181
112
131
156
123
217
121
150
152
177
160
194
295
156
112
112
112
135
172
250
172
150
208
121
135
217
178
176
150
224
112
115
212
194
172
172
137
208
218
202
167
162
135
152
156
200
237
150
201
121
150
172
121
121
150
150
208
228
177
112
276
112
112
112
179
167
121
167
178
150
147
150
165
223
208
170
150
112
212
167
262
208
164
121
205
305
152
205
181
231
156
171
150
186
212
112
137
242
167
150
203
219
159
172
170
150
150
128
177
195
195
172
121
202
170
167
202
195
208
137
202
112
194
150
201
167
210
203
112
171
115
121
136
254
272
186
121
172
181
172
150
136
194
194
130
147
236
112
123
112
227
115
112
136
165
121
121
158
242
112
181
150
302
253
208
176
212
121
150
165
150
164
130
167
135
171
150
112
226
112
123
136
226
121
209
121
130
172
186
186
167
150
150
233
168
263
112
171
150
208
167
170
228
193
124
150
121
167
165
137
186
164
115
164
170
189
160
147
194
150
208
112
220
121
209
228
212
205
165
172
165
193
172
225
121
208
172
121
112
112
112
193
150
160
239
112
167
160
121
112
179
167
112
276
195
215
150
203
236
187
245
176
121
121
136
187
205
194
171
150
121
172
172
121
194
208
136
216
208
150
214
137
211
171
112
165
150
227
209
150
137
112
216
123
167
172
208
172
121
123
189
147
219
150
233
167
145
150
254
121
208
136
150
210
172
150
112
228
150
203
123
228
202
302
112
172
112
158
121
181
202
121
150
210
237
172
112
183
208
168
136
208
171
137
216
281
152
167
171
179
201
203
147
160
121
247
167
124
164
194
167
194
215
299
186
176
150
145
218
203
255
167
193
159
150
231
194
302
164
172
150
256
112
150
172
258
121
208
201
112
137
150
167
150
228
216
158
225
150
167
195
112
205
150
197
128
150
242
150
176
175
302
112
150
167
194
189
186
212
112
160
165
150
112
164
136
121
150
172
211
150
150
160
172
181
193
164
205
237
152
237
172
207
136
150
170
112
150
239
170
170
167
150
112
121
201
194
130
150
164
143
185
170
152
186
237
167
121
112
136
121
215
174
121
123
150
121
112
229
219
201
255
234
158
168
115
195
112
112
215
244
121
121
207
228
181
150
123
193
147
171
215
160
161
112
208
217
194
112
172
210
250
176
135
228
121
240
167
186
121
150
187
167
167
170
112
164
178
121
121
225
229
112
170
218
115
112
177
208
171
195
231
249
194
121
172
172
263
237
202
124
194
242
156
229
253
203
121
186
112
205
195
112
241
115
195
221
123
225
212
174
123
171
228
201
115
159
242
150
181
150
172
212
121
174
112
167
208
164
170
193
121
150
158
165
215
203
184
150
194
208
179
170
115
176
208
136
194
174
112
121
112
194
194
128
172
208
121
170
193
170
253
152
150
208
171
168
172
203
167
158
181
165
150
208
123
147
123
150
165
214
230
259
239
225
207
112
194
150
160
121
112
136
218
176
233
174
225
208
176
150
172
159
217
208
123
121
203
150
150
197
200
234
121
121
272
167
112
208
150
187
244
121
112
176
239
179
243
150
214
121
250
222
187
165
147
170
112
212
194
121
112
121
135
181
172
171
226
170
112
121
159
176
186
171
112
124
302
159
250
186
171
112
237
208
147
210
135
112
181
189
150
150
172
239
172
167
165
172
158
121
165
187
231
156
192
228
167
223
160
112
121
194
167
202
176
112
112
112
170
124
263
121
177
150
186
193
150
207
177
271
205
150
214
112
167
203
210
208
165
112
136
174
112
237
137
182
171
150
123
227
147
181
150
156
179
121
145
112
201
208
216
194
194
190
220
228
194
112
231
170
228
202
218
171
218
202
212
124
143
205
137
172
172
158
255
124
208
208
240
193
279
208
150
208
150
240
226
115
179
237
165
112
152
215
176
170
136
112
226
174
150
121
181
150
202
121
186
208
135
194
239
150
121
172
171
150
150
150
130
112
228
325
176
171
186
150
208
112
164
192
150
147
121
112
150
163
135
208
172
167
202
150
136
112
235
210
112
121
167
158
112
121
195
121
164
210
124
203
121
150
203
160
170
162
167
196
150
194
143
233
208
158
170
181
194
220
150
123
234
194
202
181
150
176
123
263
112
208
240
146
112
112
208
172
206
112
171
228
208
194
167
231
176
127
167
195
112
158
217
187
150
158
130
150
112
228
170
112
135
165
112
193
238
156
112
208
121
181
123
208
152
210
190
112
177
168
152
208
208
112
192
196
172
171
121
150
150
263
170
171
158
150
239
121
193
237
121
193
136
130
171
150
193
115
112
147
219
158
115
135
165
176
112
211
128
192
181
181
181
172
225
167
194
238
157
135
112
172
165
192
121
192
171
181
121
176
193
226
150
112
179
194
170
152
203
170
121
171
123
115
167
112
208
195
121
172
182
196
184
228
179
199
112
231
186
152
123
193
172
150
181
230
172
121
124
150
219
201
150
263
121
189
121
150
137
187
218
255
175
143
167
130
112
150
218
201
176
194
220
165
167
212
112
218
208
243
150
167
150
200
176
172
202
208
167
160
136
164
232
136
115
121
165
187
135
250
201
123
150
208
181
186
150
193
112
121
121
137
121
121
195
115
130
175
213
112
228
128
172
150
159
121
147
219
112
211
167
150
182
160
228
159
176
208
150
150
208
174
112
198
203
170
192
172
112
143
250
193
238
150
233
226
168
243
158
186
171
170
121
226
212
171
150
219
186
195
150
150
186
208
123
144
112
181
130
135
215
172
150
208
150
197
112
194
208
209
172
170
263
186
167
168
150
172
171
164
112
177
256
146
158
112
150
209
236
165
208
124
171
150
135
208
112
171
127
256
170
112
156
124
186
112
229
160
237
194
165
150
208
194
171
207
195
197
202
187
150
112
121
172
112
160
150
254
147
175
172
187
217
240
123
167
121
208
170
220
176
150
147
212
150
150
115
209
170
194
150
168
265
161
194
181
186
124
112
237
203
147
123
186
152
170
195
150
164
168
210
112
130
121
172
193
121
147
208
167
171
179
226
167
194
202
219
202
136
150
112
208
150
171
186
161
272
228
172
220
121
112
208
193
143
202
121
177
171
181
231
225
233
112
193
237
206
195
172
115
208
278
188
121
231
181
112
176
177
172
112
172
150
135
167
189
170
115
171
202
209
167
175
172
172
159
150
196
195
272
175
112
176
150
112
170
123
112
124
208
172
112
208
167
181
195
170
172
170
181
150
165
121
150
208
240
150
239
150
231
212
121
150
201
220
121
130
150
176
171
172
202
158
176
150
238
150
121
130
208
137
243
150
172
147
237
135
171
203
208
170
172
121
137
150
121
170
172
210
158
150
228
230
194
208
177
137
220
193
170
147
236
121
202
208
150
123
164
123
171
123
135
236
112
112
225
121
121
121
158
263
167
208
186
194
167
181
123
177
160
199
158
208
136
150
181
150
213
231
170
237
150
177
232
147
255
112
225
121
159
181
255
115
177
150
167
150
236
112
172
176
121
112
112
208
171
194
112
156
112
150
195
237
150
190
150
121
147
231
168
168
150
121
150
245
219
182
170
172
128
112
150
156
208
112
136
150
112
220
158
247
121
150
209
158
115
208
205
212
150
208
226
137
165
115
208
209
159
201
211
112
170
172
170
240
167
112
233
123
205
136
230
168
136
112
121
144
150
176
172
112
193
218
178
159
172
170
208
201
150
112
150
195
131
167
239
232
170
218
210
233
150
172
205
279
121
172
150
202
187
208
165
159
208
121
150
158
206
171
177
210
217
164
167
220
233
158
159
174
174
160
172
184
208
181
243
240
170
150
172
170
136
150
170
150
121
123
121
194
112
112
150
121
202
112
165
250
170
112
276
121
216
143
121
178
203
157
218
186
214
130
208
150
202
150
177
192
217
195
214
193
147
156
181
112
171
187
112
123
217
150
170
228
112
225
201
237
112
271
172
210
135
112
150
202
150
112
147
207
147
153
195
112
150
174
194
158
123
124
161
255
216
217
217
176
225
167
136
143
195
208
150
226
297
112
171
210
187
150
220
197
258
218
217
192
165
156
172
240
198
182
123
150
187
193
124
112
112
207
195
208
135
194
201
161
150
121
112
194
219
187
193
135
207
170
209
220
147
242
250
150
205
167
268
200
208
229
208
172
168
112
187
165
181
232
147
160
112
150
137
159
150
150
123
229
135
130
112
137
115
160
181
150
150
112
150
123
152
178
171
210
192
147
181
172
255
150
210
213
255
176
165
176
136
121
177
193
172
244
112
121
176
115
178
172
225
208
121
250
263
208
174
112
112
172
207
212
193
198
157
160
281
121
112
208
137
150
208
172
167
115
130
150
172
112
121
241
181
235
150
137
112
186
167
150
216
231
208
208
172
121
167
112
208
218
181
136
165
192
170
171
121
121
152
135
137
168
121
121
112
220
150
186
143
214
112
112
121
189
220
172
121
194
194
156
240
218
150
208
158
156
112
243
235
210
218
206
244
115
181
112
217
168
170
137
167
185
137
208
150
115
171
168
175
210
112
112
174
121
208
112
265
230
211
208
172
115
208
156
195
226
112
230
177
172
171
150
212
171
250
150
150
231
150
219
147
219
194
196
232
167
220
170
187
201
217
167
171
181
212
228
210
150
172
189
205
177
201
150
186
191
137
167
237
170
194
150
159
171
233
181
179
186
226
231
112
150
213
212
203
167
195
210
137
170
208
213
123
176
121
208
250
215
137
167
202
112
170
150
150
221
260
121
136
174
150
181
150
112
135
115
202
247
172
161
112
202
121
157
137
150
115
172
208
123
208
168
150
150
112
176
123
176
150
172
112
257
165
150
150
176
208
195
112
112
187
115
195
177
144
121
112
121
171
165
112
228
170
123
167
170
147
143
212
144
239
277
167
167
164
174
237
267
194
228
112
123
230
177
167
186
171
167
174
208
172
112
217
219
194
172
150
112
206
150
121
172
121
202
167
229
195
187
150
156
167
236
171
150
150
194
201
194
121
147
150
195
130
112
150
167
112
135
201
171
195
228
121
121
152
222
187
112
153
150
121
218
167
124
165
172
159
135
136
170
202
194
201
150
150
150
130
231
243
121
112
232
158
167
156
210
276
171
167
121
150
205
225
208
187
164
124
235
150
196
112
165
150
112
215
172
178
215
195
208
150
112
167
123
208
251
150
186
208
192
164
150
218
123
147
171
255
121
186
217
121
219
223
123
193
232
208
242
130
297
217
123
172
167
237
150
112
231
217
123
193
192
172
174
239
121
181
238
121
208
208
112
181
135
121
128
152
171
172
121
205
194
194
181
115
156
181
177
159
150
220
135
143
172
228
150
194
150
115
150
176
115
187
159
165
174
208
112
167
150
208
201
112
201
150
232
226
165
179
232
121
228
152
159
172
210
137
167
112
112
218
121
172
159
121
172
213
172
194
240
237
193
121
160
112
176
156
136
216
150
192
170
137
136
150
236
150
131
172
121
193
187
150
161
228
158
112
172
130
238
243
152
181
128
184
228
152
208
219
179
171
177
150
214
220
165
210
225
213
172
167
112
206
121
165
150
134
231
247
147
112
176
239
246
176
135
167
177
297
205
194
165
121
152
208
176
136
212
150
195
177
123
193
171
210
112
135
250
170
216
213
167
219
121
112
171
202
121
272
150
170
186
112
174
121
229
243
210
181
150
210
137
121
147
171
167
212
198
121
206
150
121
186
124
150
167
172
201
165
123
171
150
139
150
234
121
189
167
150
112
123
112
112
172
177
176
172
226
112
172
226
227
167
124
150
208
150
121
121
123
112
136
171
231
177
208
150
168
245
184
150
194
170
112
112
226
202
159
192
210
177
150
112
123
212
167
233
135
123
112
194
194
192
179
225
171
167
147
201
177
204
232
172
193
228
201
147
137
182
186
112
135
143
156
173
168
215
171
172
150
165
170
135
167
187
181
112
150
150
211
170
130
150
255
205
172
121
112
205
150
208
218
172
193
152
215
121
164
170
167
224
206
219
121
157
167
164
196
121
201
194
150
150
135
150
137
121
255
168
146
112
121
171
171
255
203
150
112
150
272
229
135
178
150
121
187
150
121
172
187
150
177
237
228
115
150
115
210
217
144
208
232
167
147
174
189
172
181
205
237
112
112
181
216
152
112
112
212
128
167
210
194
121
124
136
123
131
150
195
173
112
159
231
168
112
220
121
233
150
225
112
181
165
186
171
144
208
176
227
112
123
135
208
203
121
158
124
213
234
164
135
208
165
186
176
228
115
170
177
263
210
174
167
167
121
250
195
112
112
219
121
150
115
112
174
112
150
177
172
194
171
236
202
186
203
172
193
186
174
135
182
124
246
176
121
195
112
189
171
150
170
217
214
172
208
202
165
233
210
196
135
205
212
167
172
187
193
237
130
150
186
212
174
193
255
156
174
157
167
157
210
160
123
231
123
208
159
160
171
171
208
121
205
194
194
240
112
150
172
225
150
112
208
139
255
136
176
147
208
181
121
115
137
176
165
237
178
172
158
172
177
152
228
137
216
165
147
214
228
256
153
115
206
115
112
172
150
170
175
195
185
170
112
123
193
215
147
112
208
233
167
115
150
200
165
164
112
146
176
175
195
196
195
186
160
187
194
171
159
181
112
158
240
172
167
172
205
167
121
167
193
198
150
265
164
181
150
160
158
164
150
238
176
112
194
150
178
167
164
186
150
250
172
172
233
170
210
208
194
182
172
219
229
181
121
112
170
123
167
256
181
130
186
235
216
131
186
221
194
186
208
219
175
195
112
121
121
226
137
167
181
150
203
150
167
167
225
228
143
176
195
195
170
200
137
150
150
176
152
181
177
172
150
208
228
198
150
158
170
239
185
121
150
167
202
228
150
150
150
156
220
217
194
164
222
150
186
136
147
137
186
115
250
235
172
150
172
170
150
172
212
172
121
208
218
193
150
112
112
192
167
208
177
152
112
167
137
167
194
228
158
208
121
172
194
121
170
181
179
228
172
181
121
112
172
150
112
121
228
202
121
150
172
187
171
112
235
217
150
121
178
124
274
171
208
241
172
195
187
201
172
214
237
208
164
121
121
202
171
176
276
130
172
121
152
112
232
181
128
171
174
234
130
112
136
216
112
167
150
233
203
130
112
168
150
242
150
170
150
171
112
112
173
171
217
172
186
178
199
121
150
165
177
165
156
250
274
165
164
159
147
211
121
218
150
170
123
112
179
158
172
174
214
150
165
208
121
198
121
202
231
112
172
192
170
186
170
115
176
112
217
233
176
170
112
112
172
112
265
112
187
135
186
150
181
150
228
165
225
139
150
112
147
150
150
177
194
121
231
150
186
171
176
210
208
212
136
150
229
150
124
164
123
121
201
255
167
203
135
190
228
167
204
182
193
247
176
164
150
208
137
152
203
208
112
149
214
158
197
176
165
218
150
181
150
208
206
239
121
128
137
206
123
159
217
121
196
183
228
150
150
201
167
186
172
130
150
300
207
212
243
250
170
112
150
184
187
215
130
165
203
193
208
208
176
228
121
208
135
187
202
212
208
150
121
150
170
112
172
181
193
123
150
220
188
194
165
159
112
202
172
150
170
112
186
171
150
150
136
171
167
112
150
178
137
121
207
206
195
112
208
121
176
243
112
150
208
152
150
174
123
189
160
165
115
112
121
226
112
228
123
165
223
150
159
187
176
213
147
115
121
178
208
183
187
208
168
208
152
170
150
160
150
186
174
167
259
165
150
121
172
156
152
193
170
224
202
156
177
167
188
150
167
202
182
137
201
121
194
115
170
152
167
246
121
165
164
121
224
150
112
215
156
208
213
181
112
250
150
208
112
136
208
152
212
171
150
164
179
207
220
170
174
198
167
231
150
150
237
121
240
121
242
208
112
112
172
208
112
195
124
228
156
162
170
194
115
163
167
150
112
171
137
143
121
165
137
159
186
171
220
193
167
235
170
178
203
177
208
121
172
176
208
206
169
168
170
121
170
181
115
192
146
123
159
181
194
123
124
240
165
112
170
184
179
158
150
167
128
195
186
150
147
171
220
150
112
304
172
167
229
158
112
220
202
150
147
208
167
172
150
208
194
187
190
208
225
202
115
207
208
179
197
152
150
167
112
176
121
121
210
112
228
121
160
172
237
170
194
239
150
123
171
202
167
278
156
167
237
168
229
216
165
135
234
210
184
210
112
112
137
247
232
150
171
158
135
135
150
228
150
150
150
208
121
209
150
147
121
136
158
229
152
135
167
177
150
176
237
121
159
208
206
175
172
130
181
205
150
112
239
243
150
121
172
167
112
159
202
150
150
137
121
146
210
208
170
150
152
208
152
194
171
171
228
121
156
212
165
174
176
208
231
130
187
186
192
194
131
171
187
136
112
193
194
208
112
167
216
112
172
186
171
175
220
176
224
137
186
189
112
121
237
302
112
150
136
202
171
171
112
121
112
169
181
112
135
181
215
150
165
160
195
177
186
112
170
263
164
212
228
172
186
159
228
136
150
187
170
150
213
239
121
233
210
213
194
176
150
231
237
160
141
208
176
170
176
187
181
167
112
170
159
171
136
189
150
175
179
212
176
123
135
172
278
164
158
170
147
232
208
181
172
121
174
176
150
208
112
172
172
137
150
150
219
284
210
174
159
121
194
121
210
171
150
247
203
230
242
167
229
203
186
174
208
260
150
203
121
112
168
214
172
137
170
135
208
170
150
159
112
177
164
165
209
167
150
165
192
167
202
171
112
112
178
150
165
171
150
172
179
186
115
208
228
135
112
208
242
160
171
170
176
150
176
112
172
115
228
121
121
208
112
150
112
121
171
165
171
172
185
115
167
194
255
258
172
208
208
210
164
165
150
130
171
233
121
220
172
215
165
230
135
112
153
167
187
167
201
193
201
203
250
164
187
238
121
171
136
253
208
147
181
202
167
112
174
209
172
175
219
186
150
208
194
156
172
171
157
172
150
112
171
164
209
112
130
123
145
186
172
150
201
233
181
158
121
170
214
172
210
112
219
187
186
276
176
172
188
202
193
123
202
208
112
150
181
150
257
112
150
194
165
150
168
112
170
156
112
136
121
158
250
203
174
172
112
276
171
253
216
121
201
170
123
150
121
112
137
208
202
194
230
136
223
196
150
112
172
123
177
228
121
168
201
112
150
121
124
231
121
192
202
208
217
232
210
112
208
195
202
165
167
208
194
136
172
112
176
121
232
209
150
228
150
240
158
201
175
171
147
270
121
136
150
136
170
194
253
208
150
300
190
227
150
200
162
237
226
194
121
250
168
218
250
250
150
195
223
203
143
112
240
170
112
121
121
121
172
187
112
200
167
162
243
150
212
150
168
170
137
176
112
112
123
194
239
156
112
112
147
203
121
186
162
176
135
210
176
123
208
135
231
170
172
171
167
167
172
112
150
208
167
203
213
121
171
208
215
187
123
139
121
187
170
168
186
137
112
112
169
150
112
115
207
123
233
235
112
112
165
194
179
150
112
193
150
136
208
229
170
158
115
121
164
131
165
176
167
124
135
150
175
121
121
150
112
187
150
112
181
181
171
209
192
208
112
165
195
150
167
214
208
112
168
302
112
218
170
208
170
186
186
150
150
112
170
121
112
250
121
171
227
150
150
201
115
124
150
136
171
236
167
194
150
255
121
115
112
226
192
172
265
208
231
171
167
165
112
170
193
167
208
172
150
208
112
192
218
212
176
170
181
202
121
139
123
170
208
203
112
171
136
196
150
212
115
137
207
136
112
150
240
179
202
121
159
208
112
150
186
112
172
150
150
184
167
150
176
115
186
170
121
156
115
150
187
177
156
137
168
255
212
123
171
250
170
170
250
121
226
121
112
201
208
208
255
150
137
128
112
167
170
178
176
135
112
131
150
150
150
136
150
112
192
186
195
170
208
121
152
201
112
208
150
194
121
112
167
121
208
226
192
147
297
164
225
166
150
170
150
241
176
187
176
112
150
172
181
210
218
158
173
112
187
201
150
174
121
186
137
121
168
206
202
147
208
150
236
186
256
208
158
112
112
165
187
137
112
194
136
174
150
302
159
170
188
115
210
228
167
112
150
130
193
228
229
112
206
215
240
177
203
171
112
121
181
194
135
202
112
223
121
255
168
112
124
112
220
220
172
207
112
202
150
150
171
150
150
121
171
177
165
170
207
137
176
170
171
165
150
255
187
112
150
195
136
170
112
112
145
150
150
164
237
147
150
121
170
176
150
214
121
181
130
121
184
165
171
220
172
202
112
167
150
150
170
150
112
167
167
121
150
171
112
165
203
208
175
225
167
181
172
171
112
186
172
112
121
302
112
152
150
147
217
208
199
150
208
172
112
150
115
208
171
228
178
170
167
112
207
175
216
115
210
115
172
302
112
203
190
150
172
121
216
123
136
159
170
121
208
193
234
172
112
210
135
159
172
194
137
225
121
136
193
170
150
278
112
238
136
123
201
205
112
201
201
123
259
170
172
165
194
172
208
158
135
208
228
208
112
201
150
263
112
167
208
112
250
194
121
123
144
112
208
208
121
128
240
199
186
225
167
112
158
150
121
150
250
194
150
211
150
177
112
203
172
123
121
167
121
302
150
172
172
165
159
231
168
203
181
212
179
112
174
146
172
121
128
112
115
172
112
150
128
228
190
181
112
170
115
137
121
136
150
208
150
150
150
146
208
123
194
135
150
152
194
237
121
195
157
150
112
243
123
121
205
121
239
112
260
208
192
112
164
187
150
177
159
208
121
170
165
150
170
205
250
150
276
112
112
155
124
267
170
201
229
176
174
172
167
112
162
272
236
150
172
234
220
170
198
181
193
231
164
189
170
170
160
115
150
115
124
193
123
112
202
210
124
201
162
186
172
123
194
193
172
187
214
165
214
194
150
121
121
164
121
123
167
135
165
181
255
194
152
167
195
121
150
112
176
130
202
239
150
172
167
170
250
150
150
167
137
171
112
170
226
167
150
150
123
112
172
208
228
217
184
167
150
181
180
112
281
143
241
170
241
208
236
121
157
165
202
168
150
208
215
112
150
150
195
181
224
218
146
170
112
236
195
207
159
121
159
178
187
210
172
176
220
123
121
209
181
121
147
170
112
186
172
171
150
112
215
123
167
130
121
208
269
170
209
167
164
218
187
170
240
179
208
135
208
276
112
176
159
176
221
168
150
208
220
171
215
241
242
150
254
201
150
112
112
135
202
112
171
178
171
172
208
150
172
174
170
208
172
276
264
200
158
181
174
208
190
171
165
235
150
181
208
137
165
121
121
203
112
164
172
229
171
170
192
130
137
150
150
233
171
216
165
167
242
187
172
135
165
121
207
206
174
112
224
236
112
170
112
172
150
255
170
115
194
165
112
174
150
187
181
167
137
121
185
147
176
112
167
193
167
172
196
184
170
210
150
158
193
150
208
191
172
201
135
112
171
172
176
181
165
159
171
172
172
194
205
208
150
236
147
123
236
169
255
123
264
208
135
219
215
158
165
165
152
165
230
112
112
115
112
187
167
171
223
165
170
150
207
209
172
181
172
124
186
170
208
136
208
195
135
147
112
212
121
112
245
238
121
208
164
208
150
193
181
121
152
128
203
152
121
147
181
201
231
230
212
150
121
121
202
121
208
150
243
177
177
152
112
167
172
167
112
276
172
175
225
203
121
233
172
123
143
194
152
232
176
167
147
236
123
194
152
165
168
181
186
208
208
192
239
164
208
137
172
193
211
272
278
112
215
112
112
150
203
167
225
112
184
222
175
164
152
121
121
124
167
208
181
123
208
121
201
181
164
194
220
260
136
217
150
250
143
121
121
121
158
220
172
112
112
124
135
121
215
276
167
194
150
170
208
150
302
208
220
150
130
143
150
124
208
217
202
181
208
233
168
218
215
208
112
239
195
208
167
160
219
123
236
172
186
190
208
112
231
153
178
112
150
186
136
150
158
208
171
121
172
198
112
212
175
123
242
112
172
189
181
256
112
170
226
156
121
121
239
121
172
112
226
150
181
137
202
186
228
165
164
187
187
173
187
170
237
162
160
206
177
167
220
208
157
177
121
176
150
123
159
150
172
167
171
229
121
112
131
150
202
172
203
221
225
137
181
210
121
170
217
144
115
150
123
150
220
208
250
217
214
195
212
212
150
121
260
210
164
115
181
146
159
219
112
121
210
158
112
226
150
208
150
177
112
170
194
192
121
167
150
130
112
150
172
236
130
242
220
112
209
208
253
206
208
112
176
112
172
210
115
167
112
243
123
168
123
170
170
112
165
264
165
135
152
237
112
159
112
147
243
215
172
170
112
143
121
121
208
194
240
181
174
144
137
167
176
150
167
130
143
255
150
212
159
189
159
112
121
150
228
112
194
195
157
208
136
170
170
203
250
165
112
121
167
112
214
157
222
150
121
150
185
123
171
112
225
150
250
172
186
171
170
152
171
208
165
172
181
115
236
167
255
123
204
150
160
135
206
121
150
193
112
112
112
123
121
170
208
177
171
147
112
233
171
115
124
112
210
152
167
135
115
281
137
208
170
181
172
150
167
170
208
232
121
135
170
115
115
239
157
210
179
208
172
167
207
121
203
141
147
195
208
192
112
112
167
172
193
147
167
123
121
216
186
209
260
124
212
112
208
112
121
208
137
219
193
208
176
193
276
115
165
164
208
159
178
172
181
150
167
174
194
177
253
150
147
194
160
186
121
171
150
121
152
182
121
172
121
172
231
208
176
193
123
210
203
206
137
228
112
179
161
150
112
137
172
137
128
121
232
225
112
112
223
137
170
172
165
202
150
176
172
223
112
172
189
167
121
172
121
150
194
265
115
225
198
112
208
115
170
112
181
168
167
176
172
208
124
121
150
205
223
112
255
121
137
168
135
190
202
193
172
207
165
172
202
150
170
150
121
150
208
187
123
150
158
195
233
208
150
208
123
214
123
121
257
112
194
181
168
225
165
171
205
228
150
205
112
112
172
194
172
236
193
150
208
150
121
195
150
167
277
208
231
208
203
121
178
150
112
187
158
167
121
192
167
259
194
123
130
172
167
158
121
208
186
254
173
167
212
172
167
205
112
170
255
121
165
150
123
167
186
124
209
150
232
194
135
123
112
208
130
207
121
160
115
165
112
160
165
167
208
176
150
121
150
193
176
176
194
165
158
240
112
150
184
150
172
115
121
150
150
112
160
150
194
229
225
121
121
208
157
150
209
150
150
135
112
187
137
150
121
181
193
130
190
212
112
195
280
165
201
179
208
121
181
192
159
208
195
231
250
173
172
179
226
121
167
150
186
162
150
159
181
213
115
186
112
186
167
194
123
121
208
144
150
150
174
115
208
174
210
163
174
208
210
150
112
150
123
135
174
121
123
170
212
187
112
172
158
150
170
146
112
176
167
112
112
121
208
157
112
161
172
193
175
150
208
170
170
170
172
174
247
226
183
171
112
208
115
150
181
146
121
172
112
168
121
217
150
137
184
134
150
171
143
171
187
135
223
172
158
170
237
115
137
147
150
237
165
121
240
218
158
124
208
186
173
239
195
195
228
158
208
150
240
150
208
121
210
112
150
181
164
121
180
165
208
165
112
130
115
121
137
180
210
136
115
208
156
112
203
205
208
208
226
170
158
136
112
172
150
112
185
186
193
164
176
143
159
121
215
170
167
250
181
150
195
172
121
135
194
220
144
172
150
130
176
150
226
187
150
216
208
201
121
150
150
172
121
167
135
121
181
197
272
167
172
121
152
195
150
124
194
240
112
150
150
176
112
177
226
132
150
121
208
150
150
194
177
112
172
121
165
186
115
195
172
172
172
112
112
121
176
205
150
121
160
263
112
150
112
194
201
167
171
112
121
170
231
136
159
255
171
150
208
165
150
208
186
137
202
121
159
186
196
218
216
288
211
150
150
176
150
112
206
121
220
158
150
203
233
206
192
216
203
220
150
112
112
208
112
178
208
223
160
121
150
208
192
112
212
150
208
121
176
239
205
254
256
112
226
203
167
208
121
150
250
121
167
210
181
171
167
207
278
150
112
112
186
143
150
205
196
112
212
121
182
179
121
135
210
136
177
136
115
171
193
175
124
147
194
219
186
171
181
150
112
150
150
158
172
177
147
167
217
174
121
167
215
240
258
229
237
143
208
144
112
210
198
194
137
150
112
228
171
150
194
121
167
243
243
207
135
158
181
208
164
194
238
165
150
171
228
208
237
177
112
112
121
135
231
168
263
171
253
150
121
112
171
115
193
121
162
121
112
123
227
181
203
205
135
232
181
150
217
198
226
208
150
260
192
279
230
208
168
112
217
228
205
121
182
121
231
121
186
172
150
189
150
179
226
176
201
152
243
160
156
221
112
167
215
150
150
208
220
150
115
123
210
112
205
121
121
207
158
153
203
150
208
264
195
217
121
150
208
225
186
150
160
181
208
206
302
167
156
177
219
171
172
170
172
112
208
176
167
176
195
164
195
112
164
112
214
123
150
121
228
170
121
170
172
121
121
208
203
112
130
193
197
181
121
172
150
121
228
159
238
123
204
194
272
215
231
194
193
201
170
208
141
193
123
165
143
250
214
202
195
121
150
208
147
121
187
276
167
150
112
187
121
124
112
165
172
227
172
150
150
170
112
150
194
112
157
208
121
121
172
234
197
121
239
177
112
121
208
112
206
208
171
150
121
250
174
167
165
231
181
245
158
189
195
123
150
150
127
231
172
150
176
160
193
165
150
165
150
150
158
112
156
170
121
257
150
167
186
231
167
167
171
136
150
202
177
172
112
215
150
130
165
136
185
123
171
240
150
273
128
237
247
170
257
150
167
170
190
165
147
223
231
176
217
181
233
112
176
112
287
121
121
173
112
158
131
219
150
135
210
112
121
217
136
173
171
146
112
112
160
208
235
168
150
150
165
219
121
211
226
112
176
171
150
212
167
201
121
150
219
181
167
177
112
220
167
150
208
210
112
217
150
233
181
137
236
202
174
121
167
150
150
150
202
201
136
150
150
272
227
172
150
159
195
121
164
135
176
185
192
193
150
272
278
158
136
176
136
112
150
123
229
121
172
201
112
165
121
165
181
121
121
200
150
143
253
208
168
112
121
177
186
170
112
228
121
146
255
147
171
170
150
167
167
150
231
167
172
112
208
176
121
176
121
211
150
147
194
187
121
237
112
136
150
136
150
181
177
170
158
128
147
156
137
130
166
228
150
172
112
190
172
219
137
112
170
112
165
196
193
176
228
150
121
195
123
168
235
208
208
181
150
194
150
121
137
150
194
192
112
218
206
165
112
167
236
171
186
146
208
171
208
212
112
150
194
112
184
237
167
228
208
207
208
123
130
194
124
172
165
112
147
112
195
181
121
218
115
150
112
195
167
161
167
164
112
194
202
150
239
208
263
212
121
174
167
121
224
150
217
121
177
164
150
130
150
237
150
240
115
208
187
150
194
202
165
208
170
195
208
159
170
208
239
187
210
263
250
239
182
201
150
158
112
150
194
191
152
172
143
160
112
172
152
172
150
130
112
167
219
150
216
121
150
150
210
228
150
112
237
112
150
205
195
112
145
172
121
194
170
159
181
247
150
115
231
194
201
202
202
197
202
121
137
170
167
203
212
170
137
179
112
192
194
194
210
181
210
176
112
121
275
208
194
176
150
123
112
150
171
177
150
136
215
136
179
187
208
123
112
150
130
167
112
176
147
128
136
150
160
162
171
160
128
112
121
130
194
121
150
171
193
150
178
132
208
207
128
181
170
123
121
112
227
167
348
208
150
150
227
170
218
136
168
176
302
170
205
171
172
121
246
258
123
255
167
170
121
115
186
208
208
161
236
232
259
172
123
208
184
112
202
202
150
207
150
150
172
145
276
121
233
212
208
121
196
152
172
208
112
147
150
181
193
187
150
181
150
112
171
121
121
135
144
150
170
264
210
167
232
121
123
172
165
208
112
121
172
150
112
137
150
173
194
121
112
112
165
195
124
121
220
270
209
112
112
179
112
195
288
172
201
187
176
112
171
152
112
256
200
217
139
112
208
193
112
177
124
123
237
150
121
150
206
195
238
177
165
170
167
187
225
147
228
124
112
112
177
121
208
158
212
194
115
237
171
128
219
172
181
121
232
171
150
121
190
278
172
198
112
170
219
130
150
174
186
152
112
167
112
150
147
152
112
238
112
212
193
209
234
170
158
228
217
194
175
235
112
181
172
228
160
121
112
176
181
187
112
112
150
167
186
181
150
193
112
172
115
112
150
215
130
193
240
233
225
168
171
139
225
193
112
167
112
121
181
255
200
172
165
172
228
137
150
182
112
193
172
168
124
210
147
181
167
177
210
121
181
160
212
124
121
212
236
210
243
186
208
214
170
176
208
186
172
197
112
215
170
170
186
207
185
172
150
165
176
159
208
121
112
227
172
243
181
226
146
234
147
217
165
158
112
167
112
231
193
150
220
150
212
202
121
171
174
171
255
218
203
121
121
208
112
123
146
197
208
167
121
136
208
158
237
208
263
250
128
172
174
208
150
121
181
137
168
198
302
210
112
121
123
203
171
253
150
171
121
123
150
228
147
112
208
165
121
172
150
156
240
162
242
176
228
187
156
121
121
186
147
164
208
194
181
121
186
171
159
156
228
152
208
112
217
196
123
238
194
194
165
157
234
170
135
150
228
146
228
150
226
239
150
150
225
115
171
228
194
168
208
135
205
207
121
211
250
186
237
228
121
121
112
167
159
231
246
223
170
170
228
112
150
172
172
150
187
170
193
121
137
172
121
172
137
187
158
150
184
237
190
167
245
265
190
121
202
231
170
121
121
112
158
223
210
203
156
124
158
204
147
171
123
241
112
232
112
150
176
137
194
150
112
135
171
181
167
150
202
135
215
202
123
121
229
208
168
171
150
208
164
182
150
208
170
150
231
121
150
170
205
231
172
174
206
210
112
167
121
208
231
241
165
181
187
112
192
136
168
172
172
121
150
250
150
121
124
269
123
150
178
112
276
135
167
201
112
167
171
228
112
121
179
156
121
195
172
150
208
194
181
181
181
192
227
172
192
159
121
233
164
150
152
181
217
175
208
208
150
168
121
165
112
167
121
181
172
220
237
240
194
174
228
181
249
207
208
208
121
172
137
208
267
230
164
194
137
208
213
171
171
146
171
123
167
187
112
212
150
167
150
156
220
250
197
150
194
172
236
216
228
238
150
179
128
150
172
207
170
167
250
165
115
150
176
172
167
281
209
190
112
170
150
220
167
150
152
236
172
150
200
167
112
221
195
135
212
208
278
112
214
302
181
150
150
165
121
112
170
150
150
172
201
123
164
195
228
172
208
143
172
150
158
158
150
112
167
158
181
210
219
112
121
171
167
198
268
195
136
170
208
170
156
121
150
112
208
236
184
193
182
137
167
211
241
208
164
156
181
263
172
176
170
170
150
208
112
156
165
299
181
181
229
159
167
194
215
210
171
123
208
171
235
112
235
172
299
121
137
208
160
195
172
112
153
121
228
216
221
194
187
172
250
130
112
160
150
146
195
123
225
212
225
135
170
112
136
194
231
170
112
181
174
234
150
150
165
159
210
112
156
170
212
121
150
176
225
136
165
194
208
112
150
143
168
121
246
223
143
210
150
203
112
121
228
150
230
185
228
121
208
211
112
208
187
170
176
208
228
172
158
112
170
250
150
187
170
112
195
245
121
165
121
232
162
200
224
172
170
237
112
164
246
195
158
263
135
112
214
165
226
128
171
199
121
175
171
112
172
136
170
165
240
136
208
121
150
136
202
180
231
193
124
170
150
181
150
112
152
187
150
165
124
170
174
137
167
143
194
171
121
167
208
115
121
189
212
150
150
175
130
167
136
170
171
271
193
187
112
167
153
121
112
170
256
196
112
128
198
130
196
217
121
179
156
167
182
208
112
165
170
121
218
187
172
167
170
219
235
171
112
150
115
184
176
137
112
193
194
123
192
123
257
112
218
167
181
181
214
184
170
231
205
178
207
170
121
176
186
226
160
144
177
150
156
121
150
193
112
181
144
212
123
170
208
192
278
170
164
170
201
130
302
181
172
171
265
135
172
194
171
121
115
170
165
176
167
233
237
175
144
208
231
231
135
241
150
150
240
219
157
189
121
167
228
213
202
210
175
112
147
171
152
171
181
229
172
176
121
194
167
242
167
112
150
212
228
112
193
208
164
194
181
276
208
112
162
259
137
184
160
121
186
152
194
147
186
165
167
186
228
156
160
231
193
121
121
121
208
121
212
160
236
158
174
167
214
225
150
150
194
170
194
115
233
196
234
201
152
112
158
208
263
167
194
150
219
181
121
187
171
174
181
121
164
136
112
302
181
208
192
112
172
141
112
208
150
167
112
179
175
112
255
171
196
194
136
150
158
124
137
112
211
208
112
174
135
215
181
124
205
178
172
158
226
165
121
171
193
150
150
302
136
172
146
239
247
170
208
299
112
203
150
179
136
217
167
112
159
152
186
263
150
176
160
173
167
112
167
121
192
195
150
137
123
150
146
260
112
124
210
181
172
171
217
219
172
208
226
150
197
177
172
233
250
112
112
179
170
211
167
121
139
124
212
164
167
250
150
272
112
203
150
144
228
208
147
220
204
121
212
171
192
160
205
165
150
167
159
274
121
112
226
161
150
150
205
237
147
195
150
167
112
167
176
167
150
215
194
150
115
210
121
208
238
150
150
121
250
163
170
208
171
112
172
208
112
121
162
147
161
218
226
172
115
121
143
165
210
112
150
214
121
132
226
213
167
206
243
181
121
132
123
112
171
159
194
185
137
121
208
192
123
181
236
208
205
208
150
233
112
112
194
165
159
214
112
297
150
167
112
150
121
231
171
201
197
181
167
150
209
123
165
208
199
194
112
164
135
164
201
135
164
174
188
112
232
121
121
136
186
195
124
242
231
226
167
112
112
172
194
121
123
232
150
228
158
219
161
254
270
165
190
123
230
150
150
206
172
150
172
186
172
208
121
150
172
158
170
170
167
121
167
243
208
208
173
159
302
112
208
216
167
186
207
208
232
121
135
172
212
172
112
172
203
193
204
276
165
181
178
159
210
136
164
112
115
167
186
179
121
115
200
302
193
266
181
112
150
167
239
208
153
171
150
181
201
232
172
150
189
215
200
136
205
194
146
136
177
123
228
167
152
167
121
112
186
167
170
121
216
167
228
207
150
165
112
250
165
172
112
200
150
176
194
207
150
194
219
158
115
202
165
223
192
150
276
231
152
158
165
121
165
165
167
121
170
230
216
186
208
121
162
168
121
208
195
198
171
194
112
115
195
170
137
240
121
208
150
136
207
294
243
257
112
261
112
187
121
208
159
210
164
228
192
128
167
208
112
160
121
264
145
137
210
172
212
176
123
130
228
150
211
171
176
167
245
164
216
145
150
112
112
203
186
241
181
121
208
112
167
294
228
209
167
150
145
150
170
121
263
176
170
194
220
167
214
243
212
243
150
198
171
194
172
159
237
112
150
170
239
168
208
123
150
172
172
121
150
150
124
276
177
220
150
121
232
172
150
154
208
170
167
208
173
168
115
112
181
192
121
172
172
170
172
240
226
167
150
135
194
172
123
115
187
208
136
194
121
112
187
236
150
177
112
121
121
208
248
136
176
175
156
210
150
193
147
263
210
172
150
193
223
136
170
192
112
112
150
167
226
121
172
225
171
167
160
237
203
208
135
172
170
195
239
208
170
136
201
195
150
223
172
112
170
150
170
130
237
208
208
150
228
150
240
192
121
164
112
167
238
225
121
190
121
130
167
187
150
186
112
150
172
176
208
193
112
167
112
121
250
218
160
121
174
160
167
201
112
195
218
115
150
167
112
170
208
212
208
150
219
112
172
208
167
150
177
176
165
121
144
193
170
150
219
228
172
167
161
137
181
135
228
170
187
112
195
112
112
212
174
150
243
186
164
220
176
208
167
176
257
167
240
186
187
193
123
172
193
170
115
215
198
112
213
168
255
112
184
150
136
191
162
176
170
168
150
177
112
165
181
150
243
201
123
168
147
197
192
170
112
112
147
150
194
164
150
112
225
159
210
172
225
177
208
167
121
239
115
112
137
150
264
170
177
121
184
139
167
214
238
216
158
121
112
208
213
123
112
150
137
136
172
179
202
156
208
171
121
150
150
121
115
207
158
175
225
150
192
207
115
158
240
135
215
218
150
177
112
112
181
121
213
230
228
208
150
136
187
121
179
197
164
167
231
208
150
162
194
202
176
121
170
232
195
112
130
121
163
112
276
201
171
228
170
171
147
150
121
175
210
112
218
143
255
212
198
171
115
170
194
238
112
136
112
226
208
172
193
170
150
182
121
172
181
135
135
208
121
121
121
208
210
121
187
218
150
150
167
212
146
181
194
181
121
219
215
276
181
112
198
121
172
112
147
172
112
228
112
123
168
182
194
160
208
147
167
167
150
135
165
121
186
194
228
181
112
201
198
218
150
205
112
174
121
112
276
121
158
139
146
217
193
112
121
228
112
193
171
112
128
165
165
172
201
193
171
242
228
121
172
121
150
217
163
170
121
112
121
172
112
278
216
178
141
202
152
208
112
112
195
123
235
158
231
172
219
121
212
160
196
115
181
150
112
226
217
137
194
135
219
144
210
130
167
208
242
177
165
243
218
212
165
121
170
206
177
124
150
150
215
121
193
121
123
172
170
150
208
203
150
174
165
172
171
175
194
112
197
121
150
130
137
193
135
187
136
203
175
258
121
194
208
208
172
208
112
112
121
216
168
228
150
121
112
150
239
121
195
207
112
187
112
174
115
237
204
112
146
172
194
145
208
150
112
208
150
170
210
208
172
204
112
136
250
153
147
112
194
172
228
121
158
112
181
150
112
167
237
174
150
207
228
112
156
182
156
170
150
257
150
196
128
135
203
229
167
213
128
181
112
231
112
193
121
208
231
112
176
135
215
244
208
212
147
208
197
228
177
167
203
186
150
293
241
150
208
231
179
156
112
170
171
192
186
121
223
172
170
237
250
179
194
167
124
152
167
178
224
231
168
112
167
167
200
121
195
186
150
171
186
172
218
158
194
178
226
115
208
112
219
150
137
121
150
147
208
170
212
181
150
229
208
158
269
147
209
161
202
195
123
192
150
208
195
150
171
165
121
123
215
196
208
167
167
147
220
181
112
172
112
165
150
112
112
167
194
172
181
167
150
150
181
175
202
136
121
137
165
171
150
121
136
150
208
158
123
150
177
276
123
121
176
165
208
128
208
178
181
205
172
228
194
216
220
194
170
121
121
253
123
136
112
167
225
171
220
217
181
167
202
187
147
112
208
170
175
167
171
150
171
112
172
112
207
208
112
121
217
150
176
210
143
112
201
196
135
234
164
176
150
121
210
256
195
231
170
237
237
121
202
219
150
237
231
121
160
228
150
121
165
165
177
194
170
201
137
171
212
187
208
187
194
171
243
150
208
237
165
123
220
112
176
150
112
150
205
181
218
208
150
112
121
192
150
210
201
236
208
112
220
121
207
240
170
170
167
190
278
241
121
232
121
206
206
205
121
208
158
265
137
192
194
205
170
210
181
150
232
194
208
121
187
112
150
178
184
121
152
240
112
150
179
152
135
150
150
121
121
171
195
172
242
150
112
226
128
150
112
176
254
181
170
131
143
210
229
121
213
223
181
147
176
171
150
121
150
130
150
208
228
208
112
150
135
201
112
176
172
231
208
170
115
153
240
208
167
234
164
232
158
239
164
229
170
150
170
247
281
228
158
165
121
112
181
225
167
150
152
213
217
225
173
165
150
177
172
250
181
256
243
250
202
203
229
220
150
182
112
147
201
163
167
193
136
150
236
237
192
172
135
121
171
171
123
302
112
172
212
112
195
219
147
112
150
115
175
210
150
241
229
170
217
128
181
193
219
121
123
150
231
226
164
172
179
135
217
208
158
195
202
192
208
160
172
192
255
190
121
121
201
217
193
165
121
165
187
135
175
181
150
185
150
121
208
150
208
203
121
208
215
152
150
232
226
156
121
150
193
214
150
121
123
156
159
112
195
112
237
201
135
245
172
239
208
186
150
218
255
201
181
231
112
137
152
112
209
130
228
195
200
194
217
208
190
123
189
243
195
174
165
256
167
150
193
159
150
203
231
208
158
163
238
123
121
232
172
171
121
130
278
172
167
228
208
171
171
205
121
112
225
195
170
123
115
195
123
121
150
150
187
123
176
171
203
217
150
172
176
171
228
177
192
141
172
158
128
175
150
176
208
265
170
171
196
195
266
189
150
165
176
159
172
186
121
225
264
123
115
112
219
212
115
195
239
208
182
228
244
196
130
192
150
194
194
228
224
121
187
195
229
176
171
224
165
225
172
170
158
170
229
150
158
171
276
112
192
136
112
112
187
176
158
208
150
162
150
164
236
181
176
167
165
168
135
189
177
150
123
193
176
179
150
181
150
212
202
131
172
233
135
112
216
213
181
186
217
159
121
171
137
130
198
171
150
112
161
170
112
159
194
172
121
220
186
194
186
121
170
136
208
121
205
208
123
150
201
174
176
202
112
238
172
208
156
186
186
182
168
112
193
112
208
193
187
208
150
193
172
207
208
302
194
211
210
208
112
224
204
167
150
112
203
194
121
237
201
219
161
124
167
144
135
168
181
150
225
150
233
170
261
231
212
176
208
263
187
165
139
112
167
243
171
121
192
167
208
150
162
164
112
207
220
226
135
226
150
203
177
235
236
112
112
192
177
212
212
219
167
159
112
250
112
172
172
170
170
187
112
112
193
121
171
208
208
112
121
194
170
274
194
171
176
228
150
195
172
112
171
112
150
205
167
150
186
178
172
150
150
170
150
208
181
182
297
231
150
128
194
193
112
179
112
121
172
208
276
121
210
227
147
136
186
181
121
172
112
162
189
208
170
168
208
112
158
210
167
150
112
181
210
168
167
208
201
228
226
279
112
201
150
139
172
136
112
223
181
207
150
231
121
176
164
176
213
201
233
228
201
187
170
172
174
172
112
178
112
115
202
156
160
124
239
136
179
218
187
150
208
241
226
171
150
167
168
177
193
240
112
171
150
139
123
150
150
171
150
150
112
208
255
112
112
177
121
158
237
202
208
227
121
181
167
200
203
167
172
159
167
150
229
112
262
171
194
170
191
150
150
194
112
167
170
170
190
208
150
228
186
115
115
121
152
172
112
112
172
172
243
212
121
171
194
167
136
172
112
204
231
176
165
233
208
206
176
210
130
123
205
226
136
181
167
115
115
284
112
150
147
195
208
123
112
187
147
201
190
112
115
208
167
214
112
202
172
213
228
121
181
207
150
172
181
196
112
206
155
121
121
137
228
167
112
172
181
165
147
165
237
167
150
202
193
259
112
218
165
228
217
187
150
171
112
192
225
150
123
130
150
250
150
115
225
263
236
201
170
233
177
136
112
186
215
150
177
150
150
177
210
201
170
189
194
233
210
152
136
150
292
130
121
208
178
165
147
167
131
225
195
228
282
112
212
228
208
112
112
171
182
168
174
208
189
150
150
219
174
121
228
156
225
172
172
112
150
219
231
176
136
147
235
139
150
112
167
112
115
171
192
136
147
212
121
137
186
186
208
150
265
187
135
150
121
203
276
158
171
175
123
228
121
150
112
136
150
197
112
225
173
184
150
200
217
167
176
112
135
181
123
150
194
243
250
137
216
171
121
174
112
121
150
202
170
197
156
194
181
112
115
187
121
170
201
172
115
257
167
144
208
181
181
176
191
150
208
243
233
150
170
192
179
208
112
195
135
228
167
121
208
192
205
176
203
167
121
162
205
150
201
230
167
150
185
208
130
171
181
181
150
177
194
172
176
201
202
210
115
195
150
205
112
193
165
150
202
145
165
207
195
121
187
123
233
217
186
174
150
150
198
228
150
160
144
150
121
156
181
170
170
123
203
171
175
155
150
136
156
172
220
216
215
181
208
167
123
225
186
167
150
112
167
172
176
239
203
242
135
172
219
171
121
226
171
209
165
210
128
121
158
112
170
208
150
150
159
208
187
218
176
168
172
150
112
161
195
147
156
182
186
121
160
228
115
181
112
220
187
112
231
202
176
201
188
167
281
167
160
225
158
146
238
160
201
112
150
184
150
158
112
121
150
193
202
187
208
112
208
172
242
167
172
171
179
172
137
121
255
112
235
218
112
147
216
172
202
193
214
171
208
208
172
150
171
167
156
186
112
112
112
112
258
121
123
208
121
112
164
195
193
121
193
170
150
121
121
231
195
112
233
165
150
160
164
186
232
203
112
193
210
121
121
228
130
172
150
204
181
112
193
195
212
160
195
112
191
218
165
178
123
121
195
150
198
164
220
137
112
187
208
184
208
198
250
112
137
177
115
121
239
201
150
210
217
150
232
228
176
150
208
257
235
168
210
121
229
172
228
121
172
112
192
219
171
170
123
199
349
121
167
167
278
172
195
121
172
150
167
172
115
174
167
136
170
121
202
203
234
220
192
194
210
208
228
135
173
208
150
233
150
202
172
147
260
145
229
248
193
136
204
240
187
208
170
160
123
121
220
165
208
167
177
135
220
233
172
210
187
228
231
137
187
112
150
219
239
208
160
137
217
236
177
112
204
222
226
208
121
181
176
181
150
150
172
208
176
121
112
170
208
208
211
150
187
150
170
214
193
112
123
237
170
237
196
159
135
136
172
143
208
252
250
181
192
150
136
112
121
170
201
172
281
170
112
216
201
150
165
172
150
170
170
302
208
150
243
202
167
165
150
194
159
172
121
190
179
150
208
121
150
187
170
123
181
210
112
112
135
147
193
264
150
255
202
217
193
170
167
250
159
212
164
172
170
150
208
164
156
147
112
167
112
150
172
171
136
170
167
226
112
193
205
167
150
176
121
186
208
203
150
121
121
139
172
160
170
121
195
152
163
121
171
193
121
237
112
121
174
135
194
175
218
112
136
136
260
150
208
152
112
244
195
150
161
193
145
135
240
150
231
152
121
159
171
167
150
124
147
207
221
205
167
232
228
172
237
167
201
121
165
168
176
186
239
135
177
112
150
219
170
196
167
112
167
150
112
284
234
165
240
165
150
145
208
147
167
208
121
181
187
112
190
135
152
170
195
123
186
172
176
170
159
147
150
203
150
263
147
260
235
167
194
121
244
184
135
171
301
167
164
144
209
150
167
176
212
167
152
192
168
170
247
225
150
193
177
121
165
208
158
176
184
232
121
150
176
165
112
150
112
112
150
194
177
175
208
201
244
121
121
150
212
226
195
175
167
174
170
185
172
247
159
121
121
208
210
209
150
121
112
152
172
238
165
150
167
278
160
139
176
237
186
193
225
254
196
186
247
123
208
112
167
150
243
150
121
170
181
194
150
201
173
123
192
176
233
207
112
121
135
150
194
160
121
161
278
167
112
208
150
123
167
167
150
165
201
228
112
193
172
176
147
170
144
208
131
112
150
136
121
199
158
208
216
123
195
186
194
112
225
150
135
112
208
194
208
172
190
121
150
159
112
177
217
208
150
135
219
187
199
302
150
181
201
202
174
237
121
193
192
205
150
205
202
237
231
228
121
112
195
203
159
121
193
187
202
255
223
112
150
192
165
137
112
194
172
177
150
165
112
147
170
167
201
237
172
135
237
229
121
234
144
165
168
208
252
147
176
178
150
121
165
112
143
208
123
228
121
228
174
112
147
172
176
150
201
231
172
112
243
208
137
170
150
225
150
218
112
196
217
135
165
121
123
192
231
212
189
193
136
150
195
190
255
184
171
255
124
193
121
112
121
233
163
121
150
183
112
193
130
201
181
186
112
208
156
173
239
150
123
183
174
208
184
187
219
130
171
121
112
112
228
150
184
206
173
112
218
193
218
228
239
208
208
150
208
161
160
137
240
208
177
227
202
208
212
202
255
121
137
150
112
135
112
212
171
121
165
195
112
177
208
186
121
196
150
263
228
159
242
239
194
182
225
224
239
212
150
257
194
172
201
194
223
112
302
121
247
167
115
123
165
150
216
150
144
181
115
152
242
156
195
194
209
172
121
152
208
208
177
136
192
212
121
167
255
179
208
180
241
210
121
112
137
212
297
123
208
249
231
190
112
208
121
121
212
123
150
137
204
158
112
112
150
112
216
203
193
128
150
189
208
112
150
121
121
172
135
112
228
172
150
231
194
168
302
112
231
121
186
121
177
203
227
112
115
121
112
172
196
202
123
217
210
150
194
170
171
192
124
250
187
186
187
157
121
167
150
202
186
150
176
150
186
150
115
137
112
112
172
137
123
225
208
210
225
124
167
172
150
150
181
112
167
123
121
150
196
208
220
194
159
121
150
175
176
171
170
123
123
150
240
196
173
150
123
165
150
121
150
231
208
208
123
176
156
186
267
167
171
208
276
207
112
208
112
112
208
219
159
172
234
147
167
172
190
194
112
181
220
230
210
176
167
150
237
112
150
195
158
165
161
201
250
165
170
112
121
124
121
243
121
150
115
208
181
112
185
257
250
150
150
179
186
208
235
170
137
196
121
227
193
236
115
171
233
121
186
137
201
208
167
208
195
193
121
182
195
124
123
172
165
179
208
185
170
159
150
152
112
194
202
207
170
218
177
150
208
170
121
130
174
228
157
136
121
239
208
176
174
139
112
167
121
167
194
263
260
173
112
179
150
175
240
150
159
236
195
124
172
131
172
112
182
202
208
121
208
136
121
179
160
256
150
112
208
208
150
171
212
185
121
171
257
193
181
115
190
208
150
150
208
170
150
170
160
218
186
112
112
203
208
135
121
167
123
172
150
208
121
194
207
136
172
165
184
239
144
236
208
171
208
216
121
228
158
208
220
150
274
208
121
112
150
112
177
175
124
121
202
209
208
193
228
210
192
150
170
150
150
208
165
171
150
112
228
167
167
195
137
179
211
231
172
209
227
194
206
150
208
150
208
150
150
170
212
112
112
158
208
170
205
112
172
170
136
276
171
144
202
121
121
171
130
212
187
132
237
183
112
164
137
112
250
171
195
170
208
123
205
135
186
198
150
150
206
186
112
219
267
208
172
208
302
186
112
150
171
174
201
112
164
115
208
136
112
181
235
121
121
130
171
150
235
150
192
123
208
184
137
150
150
177
186
121
267
208
124
228
172
123
135
172
186
136
156
208
121
146
240
176
193
185
150
208
134
197
204
160
186
250
174
112
172
170
193
123
121
146
115
147
123
231
121
186
203
173
135
176
181
150
137
212
194
170
181
121
121
136
217
172
208
150
172
150
179
136
172
181
217
165
177
223
168
112
181
220
137
187
137
250
204
208
172
208
172
228
165
193
208
171
115
150
112
210
170
150
176
112
186
192
150
112
124
147
181
171
238
261
123
208
201
112
192
208
135
167
150
212
121
167
150
150
121
207
208
123
181
239
132
112
195
112
212
175
186
150
193
237
194
226
178
195
236
112
167
150
112
208
150
213
115
219
237
112
214
130
112
194
201
209
172
186
193
121
124
226
165
172
121
175
228
167
112
123
202
165
183
193
204
257
263
121
164
121
208
276
181
195
121
172
115
135
172
181
170
208
172
150
137
112
228
214
183
172
137
209
193
175
170
150
112
195
112
195
168
150
121
150
165
215
208
208
135
150
167
208
121
228
231
201
150
175
150
160
150
123
147
208
194
150
145
181
247
112
211
208
123
181
150
187
150
112
121
152
150
217
158
121
121
187
202
207
112
162
208
150
112
193
150
135
288
205
167
121
112
175
176
147
171
172
194
225
115
121
172
124
160
182
112
164
176
210
220
165
208
121
249
196
177
220
212
239
167
192
201
218
112
112
167
176
171
201
121
167
228
167
150
121
150
253
170
171
174
216
165
208
123
121
225
228
202
176
172
208
159
175
208
181
233
121
208
172
210
208
170
112
186
202
217
222
150
150
275
189
172
150
146
158
158
217
223
121
186
150
176
160
150
121
182
182
200
121
236
136
172
112
137
186
201
237
137
184
189
195
167
112
208
112
208
181
121
187
172
150
210
150
181
208
177
172
150
187
226
172
137
172
121
131
171
228
150
170
208
203
201
131
256
240
150
206
135
150
112
121
229
193
189
165
146
112
112
163
195
208
170
150
176
112
170
150
171
170
186
202
208
186
152
150
215
123
150
112
123
112
172
192
112
130
112
181
170
165
171
179
167
219
190
170
208
209
121
123
272
170
233
135
150
128
172
276
172
112
171
242
187
150
208
121
167
164
112
250
161
165
150
165
176
112
112
172
150
121
112
157
167
195
150
186
171
121
150
172
121
176
196
112
160
170
179
189
212
112
147
112
124
123
112
150
194
112
112
255
217
264
208
150
231
229
187
147
173
220
150
181
156
159
156
192
128
172
147
112
112
268
174
208
228
194
167
121
112
150
189
159
150
171
208
212
208
193
167
121
115
165
181
121
197
121
176
228
112
175
112
170
150
150
176
186
208
170
165
181
121
210
228
150
167
164
165
193
187
208
158
121
257
181
152
150
208
150
112
208
167
208
115
174
150
121
241
217
205
121
121
190
231
208
193
207
199
150
176
197
137
112
250
237
170
170
159
181
172
217
115
152
237
176
238
225
150
168
135
135
154
121
112
194
233
226
137
147
210
150
205
115
171
249
164
135
211
150
228
181
212
150
211
150
167
150
225
208
150
150
136
112
170
121
207
123
150
215
172
130
228
121
181
112
231
121
170
170
112
121
150
172
243
167
182
187
172
170
150
167
228
210
121
224
181
158
158
239
239
231
170
121
112
193
262
156
186
182
228
244
193
174
112
112
239
178
181
224
177
152
156
137
112
176
123
150
150
210
172
250
201
170
158
243
164
193
162
123
171
210
173
158
208
172
167
237
228
194
175
239
156
228
199
208
214
121
121
160
215
195
150
262
156
171
187
172
172
196
208
273
130
170
158
112
128
150
212
231
181
231
170
112
230
112
172
112
195
137
231
112
176
195
112
112
208
123
203
150
167
170
172
219
150
159
231
252
164
223
150
150
177
171
168
167
121
147
136
170
186
240
279
112
112
177
175
202
112
177
194
201
210
112
178
210
167
272
212
167
159
121
167
147
220
124
112
167
193
172
112
172
207
231
208
150
112
157
171
230
181
201
167
172
177
172
194
193
231
182
112
208
193
228
170
208
176
208
212
115
220
164
121
121
143
177
150
232
208
170
207
186
112
193
150
186
121
150
152
208
177
150
157
121
208
167
181
213
150
165
181
193
170
194
194
175
211
207
150
136
179
112
220
115
167
175
150
177
160
136
160
281
229
219
250
164
172
210
170
176
229
219
175
150
164
171
229
112
160
243
135
179
244
112
152
171
231
171
302
228
167
112
172
175
112
112
136
130
121
165
147
150
195
172
121
171
202
208
170
112
123
172
194
112
123
212
171
150
123
226
271
121
165
208
172
172
278
165
130
203
167
172
121
219
209
170
121
208
223
187
186
187
121
170
171
181
187
112
156
143
230
123
271
137
121
139
159
112
156
123
150
171
112
187
250
150
150
176
150
175
181
208
112
150
121
121
170
204
174
250
150
132
193
121
143
208
150
112
121
246
112
174
167
112
196
121
144
171
208
121
112
186
164
239
201
121
218
158
176
187
164
167
206
172
124
171
150
255
121
121
228
147
210
150
226
156
176
160
115
208
121
208
218
112
225
168
112
165
150
187
195
208
165
150
258
193
216
112
121
184
208
208
170
208
150
170
171
250
203
112
194
176
237
150
172
167
167
112
194
112
260
167
278
195
112
181
236
147
165
184
150
150
123
112
171
205
206
123
165
241
150
150
187
206
112
201
231
228
179
186
263
237
121
150
250
123
189
123
228
171
139
150
171
112
112
181
236
121
150
194
172
195
112
212
112
112
150
208
203
150
186
185
123
204
112
172
235
213
130
194
170
250
172
136
215
167
172
181
170
123
210
194
165
218
156
250
136
121
167
172
189
165
135
137
121
228
147
160
147
234
230
200
167
182
144
150
192
181
112
208
167
121
201
177
205
186
171
170
150
150
225
275
150
302
136
150
181
152
167
167
112
167
208
205
121
172
121
158
159
199
143
172
124
237
123
121
208
128
121
150
150
237
176
150
247
185
112
172
167
115
171
177
150
239
226
168
150
171
150
159
207
112
176
190
208
164
186
172
176
219
170
255
165
150
150
150
164
121
147
172
171
123
164
219
170
150
112
237
171
229
176
208
144
121
150
167
121
112
208
226
171
170
150
112
202
170
187
121
158
112
194
164
121
121
176
186
186
186
205
172
172
177
170
150
121
165
172
112
137
208
130
150
186
158
201
150
208
130
121
170
203
170
153
165
123
136
202
205
210
158
217
150
135
150
147
192
228
208
237
202
176
167
150
144
172
203
112
167
213
150
260
208
243
170
112
150
208
115
150
152
227
172
250
220
202
183
150
121
159
158
167
208
112
150
172
210
202
218
219
150
187
205
187
202
174
173
248
115
112
194
208
160
194
194
219
171
192
150
112
194
112
112
152
121
176
208
207
112
136
291
231
112
203
189
150
217
123
166
181
237
272
152
204
121
112
144
174
228
181
167
130
204
176
121
194
187
177
121
201
121
210
136
231
165
121
269
172
136
112
128
243
176
186
150
172
150
112
208
177
115
214
171
208
187
229
176
196
192
112
232
170
237
263
144
112
112
124
123
279
153
208
181
112
215
208
112
170
130
229
211
158
215
115
194
171
121
172
245
172
130
150
112
278
243
212
112
194
123
156
171
150
171
159
121
179
164
121
167
195
208
226
128
147
121
176
152
208
212
121
150
121
150
124
112
150
147
171
228
165
206
150
123
195
112
182
135
232
171
121
192
231
196
187
112
231
121
168
187
167
189
150
150
225
150
121
194
302
195
208
181
171
167
223
121
112
208
202
121
112
112
167
112
121
139
172
112
199
211
187
112
112
204
165
150
123
121
150
255
196
170
186
186
123
121
170
112
204
121
231
186
233
167
150
167
195
150
170
194
152
112
150
167
156
176
136
237
123
172
172
172
189
121
150
112
121
137
112
302
168
229
137
123
237
136
197
170
239
219
121
165
172
112
112
112
194
112
112
208
150
150
123
210
190
186
150
176
228
202
150
213
170
240
181
121
170
200
172
168
194
203
150
168
112
208
181
176
171
159
112
123
187
112
219
299
112
228
150
158
152
121
167
179
121
170
240
250
112
229
124
217
164
159
177
172
165
150
203
115
167
241
193
172
172
147
170
170
198
194
172
172
177
208
150
172
150
250
112
167
124
194
112
234
112
209
167
121
137
215
121
220
143
172
177
124
172
146
160
172
178
112
208
121
150
174
150
150
177
177
184
176
187
190
121
213
150
160
214
160
121
210
150
193
170
263
150
112
208
150
121
112
195
208
203
161
237
212
247
194
235
178
187
121
115
194
123
112
196
231
172
194
172
112
150
150
202
242
208
137
179
123
136
124
121
232
228
172
150
112
172
150
233
150
150
124
165
261
167
186
172
150
159
147
195
121
115
250
167
150
182
195
150
130
202
152
235
156
179
150
256
170
172
165
121
167
231
170
115
172
208
143
165
112
216
121
121
165
123
210
198
137
128
208
244
150
147
171
150
121
201
112
150
193
112
136
169
237
237
225
186
203
150
135
153
210
203
160
123
136
195
181
150
121
194
112
186
172
150
121
167
121
208
123
208
174
210
184
172
188
165
150
233
199
221
147
210
255
121
205
240
164
112
123
208
167
239
174
150
167
172
160
112
208
194
165
121
121
170
172
150
205
150
150
115
159
170
181
228
208
233
112
121
123
172
150
115
176
150
132
217
123
123
136
165
208
276
172
150
158
299
174
203
218
206
172
112
137
187
172
208
182
178
181
137
302
168
208
208
121
150
172
212
202
150
112
150
150
121
112
139
168
250
186
161
121
137
194
194
191
172
121
121
236
144
168
150
187
152
130
175
170
228
171
232
121
124
281
150
276
165
202
206
194
170
208
150
177
167
123
163
112
193
112
150
208
203
237
218
210
150
152
170
208
121
150
128
260
210
172
167
212
167
150
170
317
121
170
276
121
193
195
176
167
186
130
244
225
167
183
193
121
168
171
131
112
150
135
164
112
159
186
187
150
207
205
136
165
150
225
144
167
175
121
179
208
137
225
123
189
212
137
202
250
186
112
121
210
156
194
112
181
194
202
137
167
150
150
165
123
123
212
170
150
229
164
179
179
160
136
248
228
176
208
228
170
225
181
172
159
201
174
112
164
121
236
173
150
121
170
168
171
172
220
158
171
150
195
185
112
176
203
194
167
208
147
150
172
175
229
165
194
208
172
112
121
171
210
237
121
121
171
167
121
229
150
165
115
112
194
195
157
233
201
220
256
228
226
208
159
208
171
197
228
170
150
144
186
202
112
167
135
121
165
202
181
168
167
182
167
170
219
150
170
228
241
137
228
173
239
196
150
137
164
123
183
152
252
168
171
210
237
150
124
171
156
172
237
121
121
167
121
137
162
123
216
228
203
121
170
121
159
220
185
176
178
121
150
164
121
121
171
165
172
195
189
167
112
123
164
217
156
187
121
123
172
121
150
240
150
167
170
174
208
243
237
177
150
226
172
167
121
172
172
183
150
212
237
163
192
170
230
121
176
228
112
235
161
121
187
123
176
237
123
112
135
171
152
135
174
208
194
123
112
121
121
150
170
143
150
173
216
135
121
156
135
167
203
208
121
150
172
136
112
208
170
150
218
170
181
170
168
112
165
150
170
207
187
231
164
232
159
174
196
121
150
137
228
175
150
168
161
184
181
172
170
172
150
112
247
174
178
136
232
124
147
208
150
208
121
137
137
112
150
247
183
170
165
112
208
135
124
240
156
208
112
112
130
208
150
186
150
170
150
112
208
176
210
135
147
257
112
210
176
237
219
112
150
195
228
136
144
165
226
173
250
195
196
194
219
112
208
176
123
250
299
167
203
208
121
233
112
150
187
121
131
208
150
112
193
207
150
112
150
171
167
171
205
150
112
153
160
167
240
121
171
135
112
150
152
184
170
172
235
150
115
158
176
181
150
115
196
171
150
165
167
181
194
146
194
208
136
177
160
250
115
167
186
229
226
130
156
128
112
225
144
187
121
195
152
170
216
128
158
179
123
165
150
152
233
150
172
150
112
152
206
210
219
150
201
172
112
177
208
194
112
187
150
170
237
150
212
121
170
121
170
199
123
194
172
123
171
201
150
158
123
158
264
136
194
218
202
255
184
167
236
136
167
150
227
112
218
121
208
121
208
112
150
178
218
272
121
112
172
202
167
208
225
219
195
175
172
121
150
121
112
181
112
164
229
172
147
193
172
164
193
112
176
150
193
124
165
228
176
135
168
112
209
123
172
150
123
195
229
112
115
181
150
165
212
150
137
146
172
217
121
158
150
171
121
121
170
255
184
171
185
121
165
112
165
235
130
237
123
237
167
237
135
175
172
135
164
121
237
150
150
121
121
150
143
217
121
214
195
180
112
150
121
139
250
172
147
171
172
172
208
203
112
225
150
208
177
150
226
147
168
167
208
228
170
165
204
150
182
218
171
150
136
220
208
124
112
178
249
137
123
112
209
121
139
171
164
237
112
177
219
167
112
250
112
156
194
176
150
121
150
185
208
240
112
150
192
112
167
255
237
187
172
204
121
222
187
165
210
234
150
121
150
181
121
171
213
112
150
171
228
233
157
170
172
250
150
223
181
160
208
167
228
112
265
233
239
121
202
139
172
165
187
112
208
160
250
128
262
165
208
193
170
276
187
158
174
150
136
199
136
234
179
237
177
164
179
115
150
170
130
182
217
121
234
123
167
236
112
213
215
115
160
202
278
194
167
121
112
159
121
186
208
150
121
172
170
177
156
208
161
231
240
205
112
121
121
128
168
175
158
170
171
201
190
112
167
112
194
112
124
186
150
247
225
164
228
171
170
112
231
150
212
229
121
208
172
186
150
243
150
195
181
137
208
237
228
171
121
243
171
137
112
147
150
135
186
195
171
233
172
219
181
172
115
112
112
112
150
193
286
112
168
137
137
150
186
254
212
165
208
193
234
237
208
121
130
172
158
186
195
171
167
215
239
112
167
208
152
150
181
208
150
201
164
170
150
123
208
228
219
171
112
115
198
228
170
135
226
150
159
135
302
172
167
150
171
172
172
150
170
192
239
123
112
181
137
112
192
208
164
177
210
172
190
227
128
202
172
192
167
176
121
115
224
128
194
112
187
228
193
176
218
190
112
156
192
187
208
150
172
194
208
194
226
178
167
136
172
121
202
189
121
136
167
123
228
137
197
237
150
160
121
152
152
167
112
170
157
121
176
123
150
171
121
150
121
192
210
165
147
223
217
181
278
150
250
165
220
195
232
212
256
170
194
112
202
150
208
174
201
115
123
160
130
186
185
121
234
208
203
170
179
226
150
248
194
130
121
172
130
136
172
210
172
172
172
186
187
203
193
168
130
191
208
135
112
209
170
165
150
150
176
121
209
167
112
115
147
220
131
150
123
121
150
150
170
150
159
137
170
121
208
188
206
150
150
165
194
237
112
210
174
150
164
278
123
130
115
150
137
176
136
220
195
121
168
208
177
171
139
229
171
207
161
167
112
282
167
210
165
170
201
177
121
172
205
237
128
121
172
172
202
112
281
136
195
207
112
135
124
160
121
170
212
172
177
150
128
232
240
160
157
172
194
193
150
170
204
208
186
170
150
216
112
186
150
136
150
177
231
219
220
172
121
150
209
220
112
112
121
178
184
170
167
208
135
209
249
192
177
164
225
256
115
205
195
170
194
291
150
173
213
181
172
150
187
160
187
172
112
219
174
150
182
203
215
175
214
150
167
150
224
208
150
156
150
157
167
112
184
121
172
167
229
210
123
201
190
165
229
194
171
135
112
135
250
150
121
112
112
170
172
187
150
208
150
150
203
112
237
200
150
186
123
228
226
164
121
176
220
150
150
121
130
177
159
202
208
208
258
194
226
135
194
217
183
226
206
171
112
159
250
112
186
112
165
112
172
161
263
112
150
182
226
262
176
112
194
192
228
147
202
121
228
121
217
171
112
206
112
112
170
112
195
212
115
237
112
112
112
115
150
158
121
112
216
231
208
167
208
250
226
231
165
194
177
244
211
147
233
121
240
112
172
130
243
147
201
171
150
250
121
150
172
208
144
179
121
167
171
150
194
128
121
208
226
147
170
112
237
170
150
201
124
171
171
150
181
121
150
159
170
112
176
207
234
196
194
112
112
232
150
150
112
150
167
121
177
195
167
208
121
135
112
150
176
123
228
150
144
112
115
150
165
150
203
202
201
193
152
181
219
152
150
208
194
171
195
121
152
150
167
121
150
172
229
172
167
279
112
121
208
130
112
121
209
150
172
240
231
112
228
167
210
228
121
212
121
172
143
135
174
211
137
220
237
158
208
121
212
192
237
195
210
192
150
202
171
123
156
123
239
170
112
237
137
223
242
167
208
281
172
172
171
167
112
112
170
167
121
208
158
123
150
175
150
216
170
150
124
112
202
124
176
171
112
250
112
150
181
214
158
146
137
193
172
220
112
208
150
123
152
194
150
112
186
150
233
210
186
121
150
231
210
205
181
156
201
157
150
186
121
112
194
250
128
150
137
165
225
158
123
170
174
157
176
172
218
195
128
186
172
150
208
194
194
123
189
181
247
203
208
160
124
121
171
202
167
173
150
217
207
174
167
124
278
112
172
121
170
112
121
115
123
216
135
194
135
208
171
150
207
167
237
193
229
186
135
167
112
181
112
135
167
170
213
216
121
223
223
167
186
123
131
228
184
176
115
224
233
150
150
150
147
121
150
256
167
215
152
150
112
208
150
186
229
163
171
121
112
177
231
220
207
135
150
112
175
171
121
150
228
150
121
121
225
164
208
112
123
179
184
208
208
150
195
181
193
208
112
299
144
274
220
150
156
226
196
144
121
130
146
204
205
175
186
177
167
172
225
150
186
207
178
121
170
150
121
172
112
112
195
171
121
112
272
112
255
208
150
150
154
245
164
112
185
208
136
150
121
228
186
181
226
112
161
237
271
121
128
112
209
194
150
135
164
158
112
202
166
172
181
212
176
171
123
150
210
220
170
150
150
209
208
170
158
171
115
150
123
215
150
128
170
208
150
159
150
171
297
215
175
206
130
150
115
171
228
193
150
165
195
172
121
187
159
172
219
208
181
150
186
121
136
150
193
171
171
216
121
172
121
167
229
189
228
172
121
167
195
147
150
205
184
170
159
124
143
167
208
207
112
112
165
150
205
186
208
199
177
201
165
201
195
176
150
229
170
184
121
123
150
199
121
150
136
112
167
208
123
150
167
137
216
167
147
228
272
150
185
172
193
229
170
161
112
150
205
243
201
121
152
208
156
207
150
150
186
233
292
208
164
250
172
160
201
172
219
171
130
233
224
214
150
194
194
115
181
192
208
203
181
176
215
170
115
121
123
170
123
217
112
171
150
197
194
115
112
171
172
121
150
112
121
193
248
177
208
228
177
193
158
158
171
121
158
224
157
171
150
115
150
121
230
112
228
237
150
182
176
150
150
143
112
121
176
208
208
173
193
121
226
147
226
121
208
170
136
172
168
157
181
121
212
218
181
243
203
121
215
219
130
150
194
195
112
170
121
170
176
208
130
123
176
152
263
150
150
164
150
121
150
170
172
170
231
123
202
218
181
194
195
121
167
131
212
254
172
167
171
168
235
213
150
172
121
201
121
150
208
220
112
208
112
209
160
193
150
220
239
150
147
243
187
259
156
167
171
150
121
257
121
150
172
112
170
177
250
121
209
235
136
123
150
194
135
235
172
112
181
208
172
150
202
172
229
218
246
193
115
112
121
172
139
121
121
165
193
112
150
152
208
201
143
170
112
112
121
223
203
156
112
168
150
208
218
156
135
150
212
203
187
112
187
121
170
121
150
112
159
115
257
208
187
112
240
228
172
167
152
121
167
186
156
208
165
130
164
150
150
228
147
150
194
176
194
167
112
150
172
176
150
195
121
121
226
289
121
123
194
158
172
203
147
112
228
150
196
231
205
212
172
208
172
255
150
225
195
181
135
184
144
177
179
232
198
121
203
194
242
217
172
176
145
193
181
193
172
150
219
121
204
208
112
159
156
135
184
208
150
170
188
208
212
164
202
179
203
195
124
194
172
172
143
167
112
181
112
112
150
239
112
121
112
168
184
121
121
115
171
192
112
172
165
208
228
150
112
150
158
177
183
171
150
208
225
115
167
250
159
150
202
194
176
150
167
181
177
150
201
112
181
172
225
228
190
208
219
218
282
172
167
187
229
123
158
171
177
193
208
171
195
184
172
228
170
209
150
212
171
150
150
208
193
150
212
136
135
167
275
150
195
181
150
170
174
231
158
207
150
137
130
150
130
208
219
150
124
165
203
203
195
162
228
225
150
208
210
150
177
150
150
112
156
150
112
150
176
150
164
197
208
198
112
150
194
150
176
158
164
172
168
218
208
171
192
181
240
150
192
208
150
121
208
176
172
226
150
112
202
167
176
152
208
167
176
115
152
202
121
135
112
121
175
112
189
191
115
159
121
220
112
150
211
212
187
181
234
136
152
187
219
150
137
208
177
150
192
216
208
123
137
165
112
153
194
150
150
231
121
172
150
184
137
181
150
123
121
164
171
167
205
208
165
121
171
172
194
200
112
175
201
221
170
194
193
202
228
112
112
200
226
121
124
176
177
167
203
121
170
167
167
187
194
228
156
112
193
150
136
170
135
150
164
131
121
112
112
219
172
159
172
112
194
226
115
172
187
225
194
150
170
182
121
112
123
172
192
112
176
123
150
187
194
121
168
216
172
170
167
238
137
164
112
187
172
187
121
170
176
123
160
150
190
150
150
137
112
172
228
205
121
135
208
194
150
208
156
163
150
193
207
121
157
208
170
128
124
179
136
112
121
121
150
219
170
257
159
160
212
207
210
112
150
210
186
112
181
170
135
202
208
150
165
202
172
123
208
236
150
228
270
167
192
219
167
195
200
121
208
112
201
192
147
112
150
121
158
237
263
123
181
150
219
177
170
219
219
195
181
121
176
172
263
211
163
165
160
150
175
115
123
228
172
218
232
195
172
174
121
220
165
205
143
165
181
167
144
156
176
150
253
168
220
187
239
121
121
167
150
208
121
198
158
170
167
186
161
137
132
150
135
192
162
121
121
208
237
112
208
150
218
233
192
152
232
208
189
112
134
191
274
172
112
172
208
150
172
208
203
168
208
172
216
121
186
171
165
203
172
212
230
168
210
167
170
194
158
167
240
137
226
236
164
124
199
239
211
150
112
121
150
164
124
150
158
180
150
159
181
112
187
150
240
171
206
220
231
302
121
181
150
150
212
218
208
208
115
172
130
167
218
150
170
202
263
123
218
121
216
201
123
201
150
150
121
193
208
137
239
237
172
121
212
167
175
210
208
172
164
124
112
121
159
172
150
112
237
159
214
235
195
195
220
172
121
150
181
208
210
112
184
121
193
174
121
171
176
208
167
153
112
112
150
172
144
172
186
228
165
186
193
165
112
176
193
210
239
121
215
112
181
121
155
177
217
199
167
208
250
218
147
150
172
171
121
218
112
112
229
201
236
255
135
167
121
165
135
137
121
112
255
176
201
170
150
170
112
135
150
238
216
179
150
121
215
121
150
150
177
139
250
123
172
167
172
121
150
150
112
208
203
218
112
237
187
176
167
150
208
150
150
247
121
172
201
159
167
219
150
225
172
150
211
248
189
135
172
121
150
165
136
123
150
186
167
137
112
164
249
167
297
242
165
173
225
172
130
112
208
112
194
150
170
150
222
112
158
203
194
200
162
201
150
181
112
164
150
187
208
167
172
194
181
167
112
158
195
170
150
302
208
212
208
156
202
172
123
121
123
143
123
160
179
131
172
208
152
150
156
150
150
170
181
150
112
231
135
150
112
207
130
229
150
177
208
220
194
172
175
156
112
194
194
121
194
192
210
112
157
121
112
150
121
194
121
195
150
150
209
172
112
167
165
150
274
240
121
164
124
218
150
150
115
231
121
170
121
233
181
193
217
137
181
214
242
136
121
243
220
172
150
150
150
209
233
171
112
115
150
237
150
159
228
194
167
263
221
121
238
281
195
228
264
171
147
195
121
147
240
194
239
115
115
123
112
158
167
235
115
201
211
171
123
202
164
112
210
150
192
159
150
193
205
112
136
192
170
244
231
165
165
170
269
194
232
187
172
112
168
136
170
112
150
172
181
217
121
192
145
224
195
121
167
184
210
172
217
137
172
170
112
172
112
112
135
134
172
174
225
135
196
153
112
150
121
181
152
171
219
250
194
167
298
170
188
159
112
135
250
208
165
181
177
121
178
150
112
115
194
210
121
121
208
136
150
150
194
208
150
194
121
170
112
208
194
181
172
194
236
136
237
121
137
112
152
150
172
186
167
121
212
226
150
250
150
187
203
208
112
172
257
167
225
208
172
203
165
167
160
203
136
124
194
115
112
177
189
172
144
156
171
165
150
172
150
212
121
178
137
121
170
172
147
194
150
170
112
220
201
226
209
135
195
212
121
172
236
150
150
193
214
214
207
170
212
112
150
237
208
170
251
150
172
192
181
203
121
131
235
220
172
170
156
121
128
201
156
202
175
164
112
112
174
112
150
167
207
121
135
112
190
112
171
155
167
167
150
171
189
150
135
150
276
220
194
121
121
150
176
135
219
150
203
172
218
203
135
202
203
135
208
181
218
241
193
150
115
150
172
181
165
112
178
250
208
135
239
215
112
187
150
137
112
112
200
150
208
211
187
208
253
194
144
121
172
150
167
172
171
167
174
112
210
218
121
193
218
167
150
112
231
135
227
121
121
150
240
139
112
165
196
112
112
164
188
112
135
146
221
226
172
244
112
195
112
170
181
208
234
179
225
167
168
250
230
150
181
150
150
121
236
171
124
112
187
182
176
208
186
225
158
253
121
250
121
274
137
115
194
112
165
160
230
150
201
112
121
240
112
256
194
178
210
195
150
112
144
121
250
137
112
136
228
207
159
171
159
112
253
123
172
112
112
171
112
170
231
150
128
150
130
175
123
211
165
112
205
167
231
112
228
194
135
184
171
121
194
167
152
121
121
230
239
137
150
136
231
208
237
121
172
121
121
164
237
112
137
207
176
177
150
233
150
186
150
158
241
172
265
165
112
121
150
150
147
208
237
158
157
208
115
112
167
178
167
121
187
167
121
112
121
112
137
150
121
254
250
112
175
272
262
203
204
179
302
186
171
237
121
225
112
276
159
193
121
150
144
180
112
112
242
164
150
212
123
237
158
150
193
150
272
211
150
218
150
172
195
216
159
128
172
181
210
167
112
176
193
150
143
160
130
130
167
121
112
112
171
121
193
174
215
135
254
123
158
212
112
195
220
121
167
143
196
123
237
157
121
161
150
150
121
194
121
201
150
152
207
171
115
202
121
194
174
208
112
229
193
243
236
112
212
208
131
201
123
195
279
150
208
121
123
194
193
210
112
171
172
255
159
178
192
150
112
174
121
202
165
213
112
136
121
194
170
181
170
143
184
208
150
219
212
226
150
172
228
194
112
174
150
208
112
159
150
195
202
217
167
143
171
193
121
112
150
220
172
150
181
189
175
256
167
158
293
170
198
123
187
112
165
233
235
172
164
112
228
115
150
150
121
167
121
172
158
150
195
136
150
233
128
235
171
150
168
167
194
246
172
225
244
186
250
150
150
167
194
208
150
176
128
150
187
121
131
158
210
276
152
167
217
150
112
121
170
299
195
165
112
167
123
195
193
150
176
112
174
272
121
165
179
208
150
174
186
210
156
208
194
170
150
121
128
203
172
237
205
195
158
121
187
177
121
150
185
121
228
220
208
240
170
220
210
243
124
112
171
170
121
158
184
181
225
193
136
165
220
121
112
203
150
215
202
112
112
220
183
177
228
212
137
112
112
135
189
177
195
231
165
167
171
239
130
208
112
171
212
158
112
152
150
135
176
168
208
208
195
181
208
112
210
157
257
250
231
172
172
150
195
121
112
207
124
150
167
219
128
124
112
193
150
150
238
172
188
112
210
258
112
208
121
212
237
210
143
165
210
150
112
233
167
123
216
150
263
186
257
208
112
181
167
128
170
263
150
121
167
123
112
112
165
174
220
121
171
165
150
121
225
193
112
233
177
115
150
172
150
232
112
257
150
229
231
202
112
197
249
167
150
172
147
193
147
208
121
255
157
170
124
207
112
112
202
112
172
112
253
195
172
238
170
182
123
121
186
193
172
167
238
150
208
241
174
193
176
150
147
121
250
112
152
150
121
208
112
112
208
208
150
112
186
225
128
115
121
225
167
224
161
208
150
205
171
231
150
115
220
192
195
208
203
176
272
150
231
112
172
121
123
189
186
255
177
171
174
167
240
150
170
244
121
164
172
135
179
157
171
225
128
194
130
181
202
255
150
202
208
121
150
150
187
236
150
191
172
201
162
112
170
276
203
208
112
172
172
147
189
167
214
179
177
231
137
205
278
112
121
147
135
144
175
115
150
150
170
176
219
249
218
112
150
112
170
208
167
150
209
112
152
181
174
152
217
228
150
202
112
175
170
121
112
164
136
121
124
185
150
167
128
219
112
170
150
158
172
181
187
112
123
221
203
171
272
201
202
121
171
123
208
174
165
121
124
194
128
209
121
172
179
208
208
167
195
192
176
150
135
112
172
165
184
194
121
265
135
181
179
195
123
186
170
194
112
208
226
150
176
172
176
165
135
172
147
179
150
176
150
152
201
220
156
237
135
193
201
112
231
213
228
239
228
187
115
137
241
123
165
158
121
208
170
202
121
207
246
178
202
134
144
112
255
165
205
172
181
112
218
150
115
112
167
158
150
212
121
232
146
130
187
167
162
217
171
278
121
202
225
153
243
121
150
170
237
136
172
228
186
165
168
193
208
208
205
170
170
181
181
157
123
194
164
124
208
150
150
221
182
254
135
150
228
208
156
207
187
215
203
170
208
226
150
121
171
170
214
165
187
218
226
210
231
215
172
231
212
112
112
112
205
174
237
193
162
231
135
186
228
168
228
228
210
170
164
123
179
217
218
165
171
202
176
152
231
135
181
170
208
208
112
150
181
208
167
144
251
165
121
208
194
112
135
172
172
231
121
172
150
112
160
121
213
208
201
150
150
220
172
150
171
231
112
135
124
181
121
150
176
112
160
258
121
208
136
212
121
231
123
181
112
208
208
150
202
171
112
193
236
207
159
206
147
208
121
136
208
170
121
194
208
136
210
150
177
112
112
128
278
170
208
123
172
182
150
121
164
203
208
112
147
158
195
176
147
208
139
123
171
192
165
132
195
226
123
121
150
112
139
210
150
231
201
167
128
121
189
121
229
112
208
150
170
193
204
234
168
208
161
121
196
243
112
177
170
150
208
193
165
247
137
196
209
278
186
171
135
135
172
187
192
172
171
164
167
135
139
150
237
203
205
208
112
172
194
270
158
150
254
135
170
208
158
172
121
165
192
150
192
121
112
184
208
172
189
209
184
165
176
233
237
181
237
228
195
239
150
232
170
240
187
150
208
172
250
209
123
171
210
150
232
272
172
194
186
150
121
186
123
185
172
143
121
208
246
229
150
121
172
121
151
215
181
193
250
171
228
131
160
203
164
150
132
150
171
123
112
112
160
174
194
174
112
195
121
176
130
135
223
202
216
112
194
172
231
212
112
150
172
225
172
218
220
208
177
150
192
170
243
112
186
112
147
137
171
240
170
231
190
137
170
130
236
238
167
112
150
231
175
172
240
194
237
115
112
229
228
225
172
172
158
189
165
131
124
176
170
177
186
205
115
150
150
163
150
115
175
187
124
189
171
168
226
156
184
208
217
152
179
171
167
212
165
156
112
181
201
121
188
165
150
150
208
121
161
150
203
171
124
166
208
112
197
112
257
170
150
150
123
165
228
231
170
172
215
150
234
160
170
176
229
146
167
147
228
207
150
150
176
150
243
202
172
130
220
171
208
194
213
176
112
150
205
164
208
209
121
165
150
269
112
171
150
186
135
135
170
209
130
121
135
176
228
150
150
217
172
171
165
208
179
192
171
203
176
186
208
112
208
201
144
157
228
123
143
167
112
189
187
258
170
143
171
167
194
112
150
147
194
150
189
152
170
121
136
137
197
115
205
172
170
159
170
165
244
208
150
208
172
167
243
159
192
207
220
135
210
121
115
174
239
165
170
121
176
136
239
121
257
255
185
179
167
195
200
210
237
244
121
228
189
124
176
192
171
123
266
121
172
121
136
187
170
181
172
135
173
150
192
239
135
216
208
150
233
208
150
170
221
184
175
150
112
167
255
121
141
223
159
121
150
186
170
184
181
216
179
121
150
150
112
236
133
147
121
225
121
253
172
179
167
153
186
150
187
208
174
170
135
143
223
213
172
147
121
158
208
152
171
186
150
112
161
160
208
193
218
174
150
185
208
171
167
150
150
170
150
112
144
150
150
147
167
181
150
170
192
239
150
150
137
121
137
121
121
172
159
161
170
112
152
240
147
211
121
272
121
258
150
150
172
172
147
193
200
167
175
150
173
167
228
121
150
195
168
202
128
121
219
181
252
123
170
152
112
121
175
150
150
239
150
167
130
176
147
150
179
193
150
121
202
112
112
231
193
201
205
202
213
145
168
176
214
112
181
170
194
112
228
158
172
167
121
194
136
115
150
238
150
172
172
176
112
236
150
226
130
112
121
136
150
208
201
121
121
150
121
220
215
170
235
150
158
135
171
160
121
231
200
150
162
228
121
194
181
121
112
203
218
171
231
112
121
121
150
232
124
194
217
136
150
176
171
137
219
263
203
195
112
112
176
176
158
194
231
121
170
237
232
121
176
170
112
194
123
121
181
121
202
212
143
150
229
121
201
202
157
210
255
241
237
175
208
170
172
150
121
218
171
176
121
255
178
181
205
167
112
112
208
121
250
186
171
164
137
112
171
192
150
121
232
112
150
281
172
112
219
242
176
112
171
236
203
121
136
194
112
250
177
205
123
150
194
121
121
215
121
202
167
174
112
186
181
227
193
112
123
255
135
205
170
247
150
112
167
150
229
112
112
121
115
203
150
172
186
123
112
232
231
112
193
234
150
181
158
246
278
181
167
225
185
150
196
150
121
238
123
194
139
208
124
242
192
136
152
193
175
130
171
196
150
167
211
212
223
172
198
208
236
225
121
203
192
201
136
208
220
172
165
208
112
171
220
150
121
239
194
150
112
207
208
147
182
174
123
176
247
147
144
123
121
176
172
150
121
210
208
186
167
232
161
170
218
164
136
123
172
208
172
228
233
199
167
150
203
150
150
150
112
265
167
181
137
172
135
112
112
193
121
208
143
165
172
112
222
171
171
176
121
231
181
176
123
170
193
239
177
172
201
177
201
253
171
186
167
167
250
210
112
121
181
176
112
137
208
121
112
170
201
167
192
172
240
200
112
216
254
171
185
219
210
170
194
174
124
137
257
150
186
121
112
231
204
191
257
150
212
240
165
112
208
158
135
167
176
150
112
123
178
188
208
181
202
150
121
220
167
121
150
208
229
221
186
225
121
193
167
172
181
212
210
181
228
150
176
231
121
135
124
228
202
124
150
157
194
165
225
219
167
147
195
136
167
167
186
147
112
172
150
112
112
208
250
168
112
136
177
237
177
214
175
172
259
185
207
165
150
225
210
121
124
123
150
172
112
171
112
150
150
214
150
294
208
112
150
230
202
147
121
112
230
237
150
123
193
205
112
248
212
208
240
179
258
167
137
112
136
121
219
112
167
237
150
135
170
136
165
228
112
177
168
160
208
112
186
276
150
208
210
164
172
208
208
150
171
136
165
135
123
186
176
200
210
202
137
121
171
130
176
112
112
150
170
150
112
186
164
137
231
115
167
123
112
112
208
187
150
208
158
237
130
185
112
136
186
112
177
167
176
209
178
176
136
244
168
237
186
172
112
172
174
194
182
161
194
219
172
121
170
150
170
174
171
150
112
112
115
130
234
112
175
121
257
159
144
228
112
172
112
121
150
212
121
112
121
184
171
173
298
115
136
150
121
187
150
187
189
187
174
112
176
170
210
112
160
203
203
156
167
150
167
181
121
175
171
192
208
112
128
112
158
136
112
176
150
219
172
137
158
165
159
229
136
150
170
228
170
208
150
128
229
168
150
184
207
150
194
165
112
210
243
158
228
181
233
210
170
172
150
150
172
121
123
150
171
112
177
245
193
112
170
172
112
220
156
147
139
171
226
121
112
115
135
150
150
150
196
146
172
167
208
121
202
235
192
167
123
165
193
172
150
150
112
211
137
143
172
182
112
194
167
218
150
214
162
257
165
170
177
121
171
302
121
121
202
210
192
260
217
170
181
195
121
193
112
228
172
276
177
121
112
150
112
121
194
181
136
212
121
279
156
144
167
176
226
170
121
150
121
150
121
170
239
144
135
171
208
208
112
170
112
187
121
228
171
121
174
207
250
112
187
195
176
176
150
150
112
194
165
177
205
243
165
197
150
193
150
167
201
172
208
167
121
215
174
136
135
181
150
208
150
150
150
216
150
167
112
150
121
136
147
121
121
123
178
177
176
123
223
167
201
121
223
229
250
205
218
200
237
195
121
199
201
150
212
171
171
161
165
208
194
239
150
210
208
181
123
253
167
121
208
150
123
167
193
150
176
175
179
204
150
231
123
167
136
128
237
250
182
172
231
212
128
170
121
171
167
121
171
112
150
172
150
237
150
147
172
171
115
172
124
278
135
202
150
130
175
150
167
115
168
193
159
112
176
172
181
150
158
202
202
186
193
150
256
112
220
193
193
150
208
226
121
165
202
115
121
150
121
150
168
112
112
112
192
112
187
231
176
176
238
164
203
172
112
112
121
156
181
229
176
227
112
218
165
176
172
205
192
208
150
150
253
205
167
212
112
112
228
208
121
186
112
133
234
150
171
267
137
215
201
143
187
172
172
150
176
150
170
123
159
181
121
275
208
208
152
206
158
150
239
193
165
150
208
150
137
130
172
186
192
150
137
156
121
226
208
193
220
241
274
222
193
201
121
150
123
203
159
208
226
229
201
121
228
150
194
135
234
186
264
203
221
121
121
147
172
194
150
128
167
167
195
208
240
112
121
171
172
208
112
164
112
194
208
170
210
196
172
186
228
121
112
112
217
194
228
240
123
147
198
208
130
112
208
172
163
159
121
208
174
143
176
160
150
205
137
262
202
167
130
121
112
150
220
112
237
216
172
123
165
195
172
121
194
255
150
123
192
194
136
225
130
121
160
302
152
181
172
121
260
222
121
121
150
191
170
235
256
121
208
207
195
150
181
171
156
171
194
194
112
150
137
178
201
220
172
193
158
191
143
158
219
150
137
186
208
112
176
150
186
165
218
207
194
190
193
165
170
236
250
121
121
165
121
208
121
112
198
112
112
218
170
172
171
170
181
167
181
193
208
193
150
121
172
168
112
192
208
253
217
112
232
218
165
176
165
278
213
196
170
112
121
150
150
220
211
208
170
198
235
175
112
150
206
170
259
121
160
228
170
152
170
167
170
121
167
137
195
121
167
135
193
172
255
197
121
219
167
150
203
174
206
150
220
260
115
172
167
150
112
208
177
160
229
150
176
150
170
165
112
181
201
172
208
275
152
150
150
112
160
186
123
137
167
170
171
121
157
150
165
231
263
190
225
250
115
121
215
121
172
115
176
164
171
247
167
112
131
157
135
193
228
124
165
112
212
150
167
112
255
150
208
269
220
150
177
136
164
135
186
209
112
212
193
176
195
208
237
112
112
186
167
181
112
123
208
150
160
121
263
194
226
208
128
170
219
150
205
164
208
189
167
150
121
172
152
208
186
302
152
150
229
121
181
181
212
115
193
115
175
121
201
238
233
124
228
203
208
112
233
150
200
206
150
150
176
112
179
175
150
226
201
176
172
170
150
164
150
121
152
225
202
121
168
201
210
152
158
202
228
177
171
152
163
157
201
112
174
112
228
121
218
208
163
159
150
234
214
121
178
178
195
217
240
230
156
112
121
123
198
193
235
194
150
229
201
150
172
121
172
171
207
150
167
176
158
250
219
147
123
160
128
302
121
263
150
143
150
170
239
171
203
150
193
176
172
171
165
229
150
210
275
168
172
112
121
150
112
143
112
229
215
241
175
208
121
229
137
170
210
186
167
208
203
115
176
170
112
123
301
175
172
158
171
196
171
172
112
167
159
121
205
150
121
121
236
124
150
115
236
208
192
190
150
147
167
250
112
208
187
124
170
158
270
112
172
170
208
152
176
210
194
112
187
150
178
208
121
170
206
150
123
236
150
164
193
171
202
123
201
177
186
193
172
172
195
228
181
150
193
175
123
170
208
147
181
168
225
243
121
141
121
170
170
250
210
136
150
244
124
302
152
150
150
175
170
279
170
193
135
174
150
150
201
168
165
170
212
112
172
203
158
112
121
176
236
150
236
220
189
128
176
150
205
209
144
124
124
137
200
150
236
171
147
208
208
156
212
302
112
112
203
181
190
278
174
208
123
172
187
217
112
115
150
228
144
165
194
224
174
144
135
184
124
225
128
212
176
121
208
123
112
207
175
178
208
209
183
228
250
173
186
150
150
121
194
186
123
208
201
194
146
193
185
170
184
165
150
136
194
228
150
208
165
124
150
212
167
176
167
121
135
135
112
264
172
174
124
150
218
208
136
212
168
235
170
165
181
112
167
165
172
150
208
150
179
201
179
165
112
193
202
121
172
177
124
121
170
137
219
135
115
223
219
208
147
115
150
150
150
174
201
208
150
159
115
112
121
130
123
150
173
123
193
218
150
112
150
250
239
112
220
189
171
112
112
161
266
237
176
192
150
187
176
195
160
170
167
176
143
223
172
115
176
201
121
170
121
189
112
195
192
194
121
121
167
176
212
178
152
172
172
172
121
135
172
112
194
208
128
228
150
160
217
174
220
150
123
170
204
170
249
150
281
121
171
152
210
112
170
156
199
159
167
237
255
176
193
203
217
221
112
167
194
150
171
112
278
172
208
253
150
177
189
186
181
137
214
239
121
195
176
234
121
136
167
194
237
220
121
167
136
225
150
160
112
174
172
194
150
160
150
172
216
217
121
121
150
121
124
123
181
172
219
112
136
170
208
171
300
228
286
232
184
167
121
184
233
121
112
195
158
165
235
201
186
254
153
228
165
159
208
171
170
208
150
121
203
205
189
195
172
186
112
112
173
207
172
115
137
158
257
256
255
150
208
224
172
224
174
186
212
152
150
112
228
162
233
123
150
150
143
121
208
150
170
193
177
198
219
302
121
115
123
237
181
203
112
112
121
167
195
158
186
171
231
193
179
158
152
208
123
112
112
123
121
123
112
112
150
178
213
195
179
241
135
112
112
112
174
172
147
143
197
121
239
167
167
195
112
150
112
121
167
121
112
158
179
121
194
160
170
237
112
194
112
255
208
164
177
210
164
168
123
152
196
181
210
124
165
172
210
112
175
194
170
112
205
170
112
208
202
163
159
130
172
174
229
231
205
210
158
150
205
112
172
150
208
218
237
170
214
228
156
220
136
167
203
181
210
213
150
239
112
176
121
176
208
150
150
150
184
208
147
167
121
160
150
228
170
219
193
160
121
172
112
182
208
195
165
167
232
199
112
112
165
228
159
202
172
160
231
121
150
112
167
112
136
170
147
112
204
112
176
121
208
233
184
241
150
112
175
197
112
136
150
203
208
167
187
136
231
181
112
172
208
229
150
121
225
167
270
182
176
121
177
171
208
112
214
300
201
209
121
226
150
241
121
147
220
121
167
167
121
172
150
172
258
150
167
130
195
157
157
176
277
112
121
216
150
150
121
150
121
220
121
229
208
152
168
228
217
150
191
213
112
121
174
144
156
238
201
176
175
161
167
121
174
150
112
112
270
167
208
225
158
170
170
121
236
150
239
150
150
192
193
192
132
150
210
221
174
165
167
224
121
112
150
121
198
221
150
186
255
171
135
136
112
150
121
172
178
210
194
218
170
161
159
123
206
135
112
150
137
172
174
208
150
135
165
203
123
186
181
172
172
170
139
112
112
208
150
186
179
239
194
263
115
199
273
219
115
250
172
167
112
150
237
240
121
229
167
186
208
152
150
112
177
181
190
172
173
150
208
112
152
170
263
159
112
112
248
171
121
121
147
177
210
150
112
156
150
232
115
170
219
212
121
121
170
201
112
233
212
172
121
239
195
150
144
172
173
167
176
208
112
175
150
170
228
172
112
150
167
175
185
124
121
176
135
130
266
176
121
112
150
226
150
183
157
150
227
137
170
121
121
121
195
170
178
213
212
194
150
170
124
194
150
152
193
174
225
115
158
175
194
150
156
219
150
112
158
112
265
115
208
220
208
240
204
115
156
172
150
162
170
121
124
194
121
179
171
123
252
165
112
150
167
164
167
177
172
176
112
182
182
172
194
181
208
208
172
136
199
172
172
204
181
123
112
226
150
150
177
217
193
147
112
112
172
203
255
150
147
208
159
123
150
186
121
112
218
167
184
150
156
167
172
170
150
150
147
112
214
150
150
112
172
170
160
171
194
208
165
136
156
210
135
194
202
112
231
181
159
112
176
202
150
167
207
202
193
181
165
175
123
191
194
234
150
211
150
171
202
228
150
121
150
150
150
228
121
172
219
176
121
208
181
233
216
150
170
150
152
164
176
167
164
229
131
150
194
220
121
208
201
135
187
121
237
121
176
204
150
158
194
112
150
135
123
164
112
168
172
121
158
189
165
174
198
207
193
172
255
150
172
167
167
135
165
209
112
150
150
208
255
121
150
172
203
150
150
112
150
112
190
121
208
158
147
158
150
171
208
170
143
193
115
121
112
202
135
219
152
150
208
172
137
121
112
194
250
112
229
181
202
186
147
150
240
229
143
123
298
150
112
202
150
187
195
167
218
156
160
237
194
250
124
208
144
137
194
236
112
226
194
121
226
168
176
112
176
229
112
136
261
181
176
233
170
115
208
176
112
170
186
275
168
220
121
137
150
121
121
137
112
135
194
150
255
172
121
172
170
112
147
150
220
112
187
210
201
257
139
192
208
201
302
167
208
165
194
186
167
171
192
171
150
115
172
202
176
150
112
170
230
176
228
137
121
195
112
112
228
245
208
170
171
121
172
166
112
172
208
150
281
195
150
177
115
216
121
194
123
231
208
267
208
150
176
158
144
170
121
228
112
167
194
176
147
121
186
164
187
195
112
150
147
112
208
112
239
172
229
123
226
288
172
219
176
167
181
186
170
194
121
115
158
150
167
214
236
171
176
175
162
112
123
206
171
170
196
195
204
150
194
208
150
202
170
219
210
165
201
112
170
150
181
174
187
121
205
233
150
215
172
124
128
208
150
121
167
170
288
186
147
123
170
112
171
179
150
181
121
172
208
194
168
250
168
195
214
165
112
159
193
130
177
253
194
176
150
112
150
302
112
173
208
112
152
112
123
150
201
209
121
232
121
123
220
150
112
208
198
170
212
150
121
170
217
172
162
150
150
208
237
169
137
245
208
202
167
231
121
197
176
275
150
251
150
121
228
210
150
219
112
201
165
112
278
165
208
167
112
181
115
158
186
170
187
112
194
209
150
210
226
167
237
186
205
112
297
150
232
150
193
150
172
206
115
170
112
186
112
112
265
150
170
186
175
171
177
192
195
236
172
115
150
172
147
178
195
160
121
239
228
170
171
167
232
123
123
170
199
150
202
112
192
176
156
171
158
186
150
167
220
210
112
165
150
212
263
171
208
150
115
243
121
171
137
218
112
187
150
208
121
243
181
228
124
150
220
171
211
176
187
112
231
208
174
150
208
137
112
150
186
167
176
121
112
255
158
150
181
167
193
186
215
245
208
112
147
136
263
121
228
177
150
150
212
112
171
112
208
112
172
168
179
174
150
150
143
160
137
181
211
159
137
150
177
284
156
230
112
150
239
124
112
112
150
121
121
147
172
174
121
150
190
228
115
249
272
121
219
208
172
150
171
136
167
174
302
210
121
278
190
147
172
215
208
176
276
187
136
171
219
207
150
121
189
208
136
194
258
150
181
115
217
181
176
208
136
150
172
187
165
161
207
177
115
218
123
112
176
228
250
171
180
257
302
194
255
217
150
241
244
203
136
174
297
208
135
199
147
220
150
254
172
175
170
150
150
163
112
121
150
112
208
150
165
135
219
203
181
112
112
186
167
220
237
179
112
204
211
212
112
150
159
121
208
170
170
201
222
115
238
135
112
170
194
150
167
219
202
121
121
172
156
201
215
170
121
215
121
167
208
228
172
150
172
302
150
194
136
208
150
150
112
186
233
220
121
156
121
195
150
181
172
195
112
216
178
160
112
170
123
147
150
208
150
223
150
250
172
172
123
143
112
150
170
276
150
147
123
257
210
115
143
147
121
121
194
164
202
165
121
112
225
174
208
195
121
121
137
170
124
150
150
172
150
227
112
194
135
121
228
171
150
165
170
181
167
208
176
121
201
121
130
137
150
150
202
201
150
150
115
203
147
164
186
172
201
160
203
170
150
177
150
112
121
171
121
163
252
218
210
172
230
171
210
176
177
260
202
150
184
121
150
208
146
150
258
231
161
177
150
170
256
181
112
167
167
112
167
164
194
209
112
186
208
181
302
193
150
123
160
143
272
160
147
164
216
167
210
150
121
150
216
194
135
181
112
112
121
176
158
150
186
137
185
123
150
176
164
189
212
158
121
190
201
170
219
217
150
167
121
205
112
208
218
164
165
150
172
208
112
174
184
170
123
194
167
165
219
112
202
171
165
150
201
123
128
195
139
231
123
172
247
203
187
150
150
220
263
158
164
193
135
121
150
160
208
250
201
297
150
203
112
150
152
201
187
171
195
150
202
112
150
121
121
174
218
150
112
202
172
143
223
136
216
201
160
121
168
150
171
186
137
150
121
181
181
193
208
115
226
210
121
137
112
176
208
225
124
181
139
170
231
172
112
112
121
186
228
136
150
112
175
160
170
136
208
182
237
147
276
208
171
170
259
193
147
112
121
193
208
121
258
130
150
177
171
208
265
177
212
112
250
231
124
135
112
210
112
167
137
208
176
150
174
150
165
172
267
150
217
239
159
121
195
236
150
167
121
170
121
211
112
225
175
128
150
137
137
121
150
123
123
232
210
223
150
186
208
147
150
150
232
121
181
146
121
121
174
158
112
172
164
208
175
210
112
164
254
165
167
160
210
121
239
212
124
121
181
198
193
231
115
232
250
112
112
121
210
112
170
174
170
170
228
168
228
178
150
121
121
226
194
147
171
112
195
233
216
208
194
186
121
172
164
150
208
208
208
150
121
218
230
112
198
112
121
208
214
150
112
121
187
112
181
212
121
176
181
255
195
161
173
194
170
257
223
123
195
171
175
208
228
221
136
225
162
146
121
159
201
123
181
176
208
207
135
250
181
147
112
190
195
112
172
130
150
234
176
212
212
167
181
189
172
192
187
191
168
150
172
203
150
112
121
164
170
112
214
150
231
181
143
159
150
167
186
222
121
201
176
160
152
167
189
208
137
123
132
150
135
159
112
123
164
208
208
170
276
193
219
158
192
168
176
172
183
172
208
112
150
137
150
171
112
167
135
178
123
152
165
181
112
112
135
112
201
218
208
167
121
167
170
150
147
170
158
210
226
147
174
150
195
115
194
228
150
150
112
115
130
135
187
112
124
234
164
115
143
195
228
178
115
165
236
167
176
208
302
170
168
247
156
112
193
130
208
152
264
150
158
219
158
208
172
176
204
121
128
232
216
208
212
172
137
262
239
157
136
121
208
121
194
238
213
215
121
208
121
195
115
136
121
112
218
171
213
233
234
158
150
124
176
208
171
205
231
193
170
128
212
112
243
112
201
202
147
123
121
115
222
194
217
229
121
112
208
176
121
194
112
172
165
194
170
194
150
176
112
121
172
186
234
150
237
186
192
195
172
112
194
217
124
202
195
170
238
170
240
170
205
217
258
121
121
147
159
112
136
210
167
152
197
193
167
170
112
123
121
168
190
121
150
121
112
165
150
171
177
112
194
150
124
112
192
237
254
121
112
150
186
232
203
263
171
263
176
158
220
171
195
173
194
136
238
150
172
208
167
239
243
225
186
150
121
175
237
167
254
135
150
205
238
170
203
181
195
112
112
112
164
150
231
136
135
112
167
136
165
210
167
194
257
181
203
208
263
189
229
112
208
121
112
172
150
300
158
281
112
150
128
121
164
210
185
121
194
112
137
172
205
130
174
195
123
208
146
150
176
150
167
170
112
165
167
182
201
181
167
208
210
147
156
112
115
121
146
112
146
220
121
112
123
150
187
208
215
150
232
199
112
202
121
112
150
224
208
219
165
147
158
174
193
150
193
150
150
121
112
150
147
217
187
179
186
124
115
208
176
121
150
115
202
112
130
240
112
181
201
257
172
201
164
172
167
194
156
167
121
187
210
150
208
170
160
150
112
239
243
203
165
215
150
255
124
184
147
171
172
165
164
175
253
194
123
121
158
208
112
167
170
135
238
121
276
167
147
238
186
167
231
172
150
128
169
234
147
135
112
215
150
203
220
194
208
186
150
208
135
210
121
112
163
121
193
195
232
115
228
170
112
208
171
203
167
236
150
242
121
242
188
158
223
194
177
135
160
150
150
167
112
136
115
258
171
150
159
208
193
208
150
179
137
208
208
121
158
208
257
231
150
194
176
239
150
208
130
215
176
150
112
152
160
208
217
170
275
112
208
167
121
170
115
150
150
239
112
150
123
150
210
208
216
186
264
192
194
167
181
124
186
150
172
196
112
164
195
150
239
250
150
184
270
181
167
234
167
250
235
121
150
187
135
112
150
171
196
112
165
156
150
194
121
187
175
167
171
152
172
186
121
171
112
234
150
137
112
112
135
135
212
243
207
194
192
150
212
203
202
163
170
167
150
170
150
167
159
150
207
135
264
150
121
150
170
194
255
205
170
171
157
167
231
164
194
121
193
150
115
172
112
150
121
195
174
193
215
150
112
112
242
302
197
217
150
160
297
150
274
227
150
136
226
112
172
229
186
193
172
255
115
174
136
170
112
177
137
112
112
172
147
195
112
176
206
121
170
250
150
176
210
121
158
206
135
240
213
171
150
179
199
193
112
210
219
172
152
121
167
172
144
208
237
150
172
121
172
121
167
195
112
150
150
220
170
112
165
123
208
112
123
177
177
130
239
147
208
158
181
112
115
150
165
121
167
208
208
174
255
123
181
150
165
112
112
121
150
174
136
195
194
167
123
187
165
246
150
121
112
121
210
156
112
121
112
181
124
220
194
208
226
150
181
176
112
136
184
176
208
135
128
136
253
171
158
150
195
150
184
112
150
212
130
212
195
150
179
276
219
112
121
150
302
172
172
150
234
150
150
172
201
112
150
254
176
228
177
264
250
121
167
150
202
170
171
170
165
150
121
150
150
188
171
215
172
181
181
115
150
150
182
150
195
228
195
112
150
196
170
232
170
150
208
173
150
186
156
229
121
193
157
112
123
143
192
136
208
147
204
112
112
135
121
174
121
146
194
171
150
208
272
176
150
237
195
205
201
167
112
201
170
223
232
165
186
156
172
123
209
150
112
279
208
170
196
121
187
195
150
187
161
150
152
112
147
167
123
231
167
121
202
203
112
195
150
152
165
135
112
208
184
219
167
170
121
226
195
112
181
165
276
235
198
159
234
152
147
115
179
150
194
240
239
150
158
194
228
257
228
170
167
237
237
165
150
176
150
215
190
170
232
204
201
208
147
123
208
165
181
201
112
232
144
178
112
210
167
208
121
121
136
121
112
171
203
237
167
181
121
176
205
192
121
121
143
167
234
194
217
208
237
150
159
121
255
228
112
171
226
179
147
112
121
174
112
212
124
252
121
172
124
121
208
170
112
256
147
171
171
112
171
208
208
121
150
276
137
150
159
217
112
176
160
250
112
202
147
136
174
167
165
123
115
150
167
165
121
150
150
203
214
121
115
168
136
171
123
172
130
243
240
278
218
167
170
208
223
168
150
229
214
177
208
160
121
150
176
121
112
201
172
195
302
210
112
208
194
171
172
170
186
218
186
121
112
150
112
135
150
202
236
276
121
112
150
136
172
208
135
150
150
150
121
123
150
228
211
172
170
150
205
194
263
167
181
186
192
135
215
219
250
121
174
243
181
203
201
128
186
233
121
208
150
177
207
231
229
164
226
159
135
121
150
208
112
171
172
112
194
176
208
195
214
121
112
112
176
112
147
192
209
250
121
150
186
262
135
172
176
165
115
172
176
150
208
150
172
232
171
121
215
237
150
160
121
159
150
112
170
121
226
208
112
121
123
150
172
203
220
121
184
112
112
274
150
194
171
242
208
150
150
203
115
174
123
121
177
195
156
177
164
213
165
212
145
251
112
150
172
112
123
173
112
115
255
172
210
168
191
201
164
265
181
302
201
112
172
270
121
187
214
170
172
228
112
186
179
150
263
243
167
181
112
150
224
121
186
146
181
136
208
112
130
208
136
186
206
172
171
150
210
203
112
115
171
172
150
181
199
235
194
121
121
121
137
160
121
172
150
181
195
143
208
123
195
164
136
208
174
136
167
228
121
175
208
150
112
135
121
150
181
201
302
174
121
213
112
123
201
172
174
195
167
172
228
186
211
135
115
121
192
228
191
191
172
207
186
176
121
147
172
172
150
208
178
112
115
167
167
186
121
228
171
123
205
156
203
121
220
167
165
172
218
208
121
135
208
195
150
186
150
210
278
150
186
208
167
121
232
150
147
172
219
159
174
208
156
186
136
174
170
164
228
172
200
171
150
150
242
237
282
167
135
121
172
150
257
124
186
195
201
167
171
163
225
226
171
150
174
250
207
237
112
156
186
112
181
208
208
205
135
150
112
164
176
168
172
164
182
242
194
150
205
143
172
112
176
220
255
150
150
170
177
112
194
208
186
216
159
195
112
150
208
137
205
112
150
150
150
167
181
171
238
181
182
135
112
194
172
194
197
171
150
164
156
231
163
171
202
165
121
121
204
195
228
220
150
209
244
205
157
208
237
165
186
201
143
170
220
231
150
194
256
209
219
167
195
112
276
176
135
171
167
208
121
146
208
158
179
176
201
147
112
150
193
150
176
121
112
112
212
121
156
302
187
170
170
221
112
208
208
150
136
162
220
112
112
171
208
158
135
121
121
112
177
128
179
194
201
208
201
167
206
121
230
152
150
150
157
239
150
203
115
220
228
150
174
123
179
170
208
112
167
205
147
165
204
115
170
194
195
278
121
141
121
167
208
121
181
208
112
150
167
263
121
202
195
194
167
187
220
115
189
112
152
115
144
112
150
210
248
211
187
208
139
112
130
121
231
112
150
137
192
240
174
112
193
152
181
208
150
196
171
164
158
204
208
205
194
150
121
172
194
174
164
172
112
160
217
181
158
112
167
156
179
208
203
164
172
160
181
186
203
181
121
112
121
150
177
112
121
112
191
245
150
172
195
112
243
172
167
215
181
172
121
176
217
237
210
112
121
208
112
172
272
121
121
189
150
170
208
164
159
176
160
239
182
150
112
112
124
121
172
213
167
181
137
131
167
297
174
170
232
124
172
171
218
220
208
121
194
181
210
172
188
139
207
172
121
302
219
228
123
255
209
150
175
192
176
203
208
192
121
137
257
250
158
137
217
150
167
121
172
186
200
210
240
158
226
172
195
150
182
205
174
194
193
164
167
112
112
121
150
130
121
201
150
150
225
123
112
171
225
156
170
210
167
226
130
121
112
195
226
208
196
135
147
241
160
121
137
266
227
210
150
228
171
170
112
228
220
121
207
170
210
181
164
208
239
194
208
213
208
121
144
150
160
223
170
201
215
150
171
144
194
194
263
230
137
203
239
209
121
220
186
207
194
208
172
233
112
213
112
121
172
136
123
160
156
174
167
121
143
150
156
195
232
150
150
194
201
112
231
172
137
172
171
233
150
181
208
112
150
135
150
121
167
121
171
167
150
171
123
217
170
193
194
150
208
210
139
179
172
239
212
181
150
250
262
234
208
124
121
250
208
115
213
171
179
170
123
124
150
150
112
236
171
167
130
152
231
170
171
152
172
174
222
182
167
131
123
228
150
175
165
176
165
167
161
172
123
177
121
205
121
208
194
112
121
212
211
208
208
226
208
195
112
112
112
174
150
123
167
176
112
163
121
167
165
150
223
265
212
208
179
150
121
150
212
176
219
177
170
235
150
150
255
112
231
181
302
176
143
176
112
165
263
123
150
172
191
203
170
172
217
152
156
121
194
123
225
150
184
186
174
121
150
158
135
171
208
207
239
187
136
176
165
227
167
112
121
150
167
250
187
150
150
130
157
250
226
147
159
201
278
212
121
150
150
257
218
241
206
150
182
150
229
135
115
188
167
210
188
208
123
208
150
302
218
225
220
172
170
112
172
192
167
210
232
266
199
156
237
147
150
239
150
123
167
186
112
164
160
170
302
216
115
159
112
167
228
177
121
227
219
181
150
232
147
228
112
177
124
263
263
172
121
172
150
174
136
172
212
195
112
174
228
121
208
112
231
136
150
181
250
115
150
121
112
208
150
112
202
112
150
135
176
158
208
172
228
229
181
165
158
124
150
136
193
193
234
182
123
194
112
208
201
167
177
123
172
123
194
150
171
146
150
112
231
172
171
168
177
193
177
177
176
121
112
150
167
150
150
112
242
165
237
167
177
123
137
177
194
217
112
112
239
150
121
181
240
123
112
112
181
147
150
172
121
186
170
121
158
137
208
218
219
168
171
225
158
236
176
112
211
208
201
228
195
123
195
205
220
147
124
202
112
208
276
167
150
171
165
167
112
228
193
150
112
121
167
181
150
194
194
205
219
199
219
181
150
167
112
172
167
135
172
177
136
177
112
195
167
201
160
193
244
121
208
210
179
212
152
208
150
230
167
121
208
172
342
210
177
131
208
112
228
167
210
159
171
150
150
208
193
167
192
112
193
150
186
150
197
205
164
115
168
121
214
112
137
208
193
250
195
202
112
207
170
112
130
203
165
203
121
150
195
150
170
167
112
226
121
150
171
167
170
242
223
165
171
208
194
190
112
173
112
150
165
150
198
176
189
121
181
208
167
158
150
181
121
150
208
181
150
124
176
167
201
174
208
218
192
228
170
237
170
208
208
121
198
226
209
115
150
172
208
164
236
232
163
221
150
143
243
150
115
238
124
165
121
150
218
158
189
174
210
165
135
217
232
220
112
180
170
112
160
123
208
150
150
179
170
210
147
121
208
210
177
150
203
230
158
135
235
123
177
147
187
178
121
223
136
186
128
121
167
121
228
209
196
208
201
115
150
150
172
150
208
165
112
172
228
167
150
123
193
121
170
242
112
170
218
302
255
220
112
174
172
161
112
177
197
176
115
172
152
112
147
170
170
115
165
172
208
239
121
167
194
167
150
150
150
121
194
121
187
179
237
212
200
172
112
170
150
250
249
231
172
177
222
130
124
208
135
194
186
212
172
264
172
121
150
187
150
135
156
193
201
158
204
174
172
190
190
171
170
208
112
208
193
172
228
121
112
136
194
206
112
170
150
150
112
150
220
225
150
121
137
176
201
150
172
239
208
121
202
121
150
112
165
112
181
172
112
123
150
159
124
170
272
121
121
264
240
194
208
168
112
150
181
150
228
194
158
112
208
225
135
217
172
176
208
208
112
186
176
170
135
171
172
167
156
243
195
201
124
121
239
167
150
115
175
145
189
112
175
172
202
150
276
170
150
150
150
165
276
150
210
168
193
208
187
115
171
136
177
282
150
112
173
112
208
195
150
182
162
170
227
112
195
174
112
168
123
195
150
171
202
190
150
218
167
243
121
257
167
209
112
208
186
230
255
175
137
171
150
239
150
121
177
167
181
233
112
150
202
112
194
254
194
150
144
181
228
177
171
121
121
150
168
115
164
208
150
121
112
165
165
146
150
112
202
208
165
123
181
121
150
165
150
172
167
146
112
121
112
152
208
237
176
150
172
212
278
263
176
178
165
115
211
216
208
194
172
121
121
172
202
170
207
170
171
112
192
150
214
186
208
112
172
240
150
239
208
208
150
158
198
171
171
208
193
112
237
181
256
217
174
208
167
203
167
172
237
187
158
194
163
115
112
130
175
121
121
115
115
239
112
239
137
150
167
203
195
242
135
208
147
167
208
208
135
255
184
150
208
112
184
128
195
112
136
121
208
208
112
231
150
172
112
210
136
135
194
172
172
177
168
121
181
230
202
150
115
206
112
206
150
172
237
152
193
165
136
150
150
136
124
218
150
121
205
219
112
147
211
150
112
170
186
239
240
170
150
115
252
201
121
150
250
219
240
137
128
137
121
150
112
219
196
195
172
210
203
220
167
203
115
165
211
123
150
167
174
171
201
150
150
112
173
208
150
121
179
201
181
236
172
150
121
193
173
150
121
181
182
147
172
150
112
208
147
208
194
186
121
208
112
186
150
171
171
168
170
136
121
196
226
150
112
231
174
232
208
121
121
226
186
218
201
181
225
167
112
112
167
121
184
208
147
112
150
112
302
195
112
210
121
217
224
171
219
121
167
121
176
150
112
263
121
145
168
112
238
123
123
170
208
177
194
157
176
115
115
176
112
150
164
172
121
239
194
165
174
150
228
158
272
176
202
194
156
115
201
175
112
136
246
112
193
187
150
123
137
121
121
150
150
158
147
178
112
158
167
210
208
228
212
121
226
260
160
230
137
168
192
253
121
197
164
228
171
168
150
112
112
208
121
192
203
136
171
203
121
112
150
150
194
150
161
121
302
112
231
121
121
121
176
210
181
172
121
239
150
194
204
192
234
150
225
171
202
164
231
130
202
115
250
134
174
170
172
124
121
208
162
219
152
203
146
167
112
172
208
266
112
165
302
170
112
240
196
176
112
150
227
121
160
215
253
165
171
247
150
170
167
165
176
233
225
172
193
167
150
170
150
206
202
172
212
263
112
237
172
211
150
136
112
165
181
112
112
201
208
121
150
175
262
112
235
112
240
170
112
156
147
150
112
150
240
167
181
121
165
112
212
170
121
150
210
228
176
150
150
121
205
170
112
202
150
112
185
165
194
170
263
160
181
165
186
208
175
205
221
112
150
165
177
124
195
121
121
177
167
196
112
212
121
200
150
167
225
226
112
170
184
207
137
187
171
172
121
167
121
210
112
208
220
164
146
186
210
181
112
213
174
121
177
172
187
194
121
233
172
217
123
170
150
186
156
193
194
168
143
130
123
215
208
112
172
172
123
124
176
176
170
210
177
172
170
203
202
213
185
147
192
170
215
166
165
208
131
121
112
171
121
194
203
208
156
171
136
171
195
193
250
167
243
228
172
165
167
210
121
121
217
210
123
152
112
121
208
174
121
128
112
136
150
167
167
124
231
176
200
135
170
278
115
165
115
112
172
121
219
112
186
202
150
201
249
150
112
165
128
177
185
167
112
208
170
228
112
172
220
195
208
179
136
121
220
211
208
255
135
208
150
186
195
181
165
150
195
181
172
229
187
112
209
112
121
167
150
171
123
231
161
167
159
150
203
229
211
121
165
123
237
121
123
208
174
150
165
150
165
112
220
123
123
171
152
150
219
115
150
189
128
150
202
167
170
203
181
150
170
240
205
237
208
204
115
130
150
143
150
121
112
124
121
112
150
123
172
210
217
121
158
176
144
112
231
228
194
201
123
231
214
194
229
171
121
112
121
174
112
112
208
216
112
167
189
171
176
203
115
112
219
143
195
169
186
121
171
219
150
255
186
112
218
136
175
124
176
263
150
144
121
167
143
186
228
217
205
121
121
174
179
165
226
195
172
164
112
121
167
202
121
135
167
112
167
212
170
168
208
202
136
208
150
181
172
121
123
152
121
136
170
165
211
124
162
150
150
192
188
150
167
150
196
229
143
123
227
177
213
172
184
164
121
130
226
143
208
208
150
181
112
208
167
121
136
208
112
208
208
208
150
112
281
144
123
201
172
112
194
203
112
121
250
136
137
204
181
208
146
150
172
237
150
187
150
150
239
146
156
115
150
112
167
158
167
112
219
121
187
135
171
207
220
186
237
219
231
232
150
150
174
165
112
237
204
112
212
150
167
137
177
170
136
123
160
208
112
152
159
150
181
243
121
175
276
204
172
177
167
208
193
212
212
255
128
170
168
150
135
136
228
195
115
209
226
152
181
214
160
123
167
112
171
123
172
150
167
202
123
172
202
172
150
236
170
121
212
258
135
220
150
194
195
158
206
135
121
115
214
232
178
184
143
176
112
210
171
243
228
150
196
136
240
194
167
235
232
176
167
187
243
208
150
260
150
160
156
172
167
239
121
208
150
176
172
186
152
208
167
150
170
147
225
228
170
165
152
228
144
195
123
231
208
168
112
150
150
192
150
163
202
238
250
237
172
240
208
195
147
218
254
172
210
150
165
172
202
136
208
121
167
172
150
189
176
112
146
167
195
150
171
212
208
170
123
176
112
187
150
112
192
217
158
131
237
150
202
159
165
218
147
135
233
208
115
176
194
228
164
121
181
112
165
181
136
167
181
150
205
171
121
176
167
217
217
171
187
170
137
192
176
208
156
123
172
208
237
135
208
176
112
144
112
112
130
164
243
150
210
170
123
195
170
150
229
228
144
150
112
135
150
170
121
112
146
192
208
167
215
112
182
238
167
208
218
192
150
193
171
194
210
225
212
181
121
112
128
208
189
112
147
172
159
121
181
181
150
150
276
112
192
150
112
150
171
112
193
150
171
209
181
234
175
121
209
236
156
135
171
186
150
121
112
187
167
193
136
123
160
239
204
150
181
181
164
121
194
192
177
165
150
171
130
158
121
210
165
112
150
257
137
237
210
147
205
112
158
150
150
172
202
208
123
239
150
170
208
181
158
135
112
281
165
112
150
150
233
170
195
150
150
236
202
201
115
278
206
150
172
143
147
139
135
165
112
164
112
172
220
152
171
176
218
172
170
112
204
237
121
237
150
185
112
150
193
112
214
172
231
130
190
238
228
203
136
171
186
115
203
231
219
112
179
208
112
123
232
194
150
202
184
203
112
121
150
123
164
150
135
171
156
137
171
150
208
239
170
170
194
177
150
112
160
172
172
112
170
194
194
130
150
121
112
171
214
150
171
150
150
158
219
123
165
150
150
171
121
161
150
195
216
168
194
172
182
121
150
176
194
217
112
205
205
176
174
121
112
147
112
121
208
123
172
165
112
178
150
209
130
172
203
121
135
136
260
195
172
171
123
147
176
112
227
150
196
208
165
168
229
194
194
165
172
144
170
136
112
150
208
150
170
231
150
170
136
218
275
150
181
228
201
115
212
206
150
186
123
217
137
191
171
195
167
150
270
121
177
208
115
121
208
208
152
171
112
208
194
207
112
159
150
112
172
208
205
172
219
137
136
208
112
195
176
228
235
208
121
170
112
220
223
208
209
181
194
237
150
150
123
150
115
135
181
212
204
121
112
205
164
192
112
165
231
243
136
201
112
123
135
234
112
172
213
300
179
121
204
150
150
112
165
150
168
193
130
130
167
194
228
208
112
203
204
172
123
189
257
208
186
208
186
112
195
135
136
121
228
136
228
162
112
176
150
158
166
144
168
171
171
195
150
171
243
150
157
208
156
227
112
208
172
276
121
121
121
150
137
112
201
208
186
197
121
195
171
198
184
121
135
135
234
171
297
112
253
160
231
215
186
194
163
195
112
112
112
214
229
150
150
177
208
194
167
176
194
207
112
172
112
123
150
174
147
156
194
202
121
172
181
171
193
224
121
203
167
192
182
207
150
259
251
167
171
205
243
205
150
136
150
208
208
176
150
239
115
207
150
170
150
123
194
228
150
150
168
179
181
245
164
112
176
128
121
208
165
189
171
124
112
150
205
121
196
128
179
208
150
144
115
176
172
150
167
150
234
204
150
186
207
121
237
186
229
150
215
208
176
135
112
170
208
150
208
121
233
112
165
150
193
181
139
124
233
228
254
150
159
201
210
112
229
215
172
115
208
112
189
171
171
150
112
236
266
124
112
225
176
150
112
167
201
121
203
213
150
208
172
201
217
168
200
171
233
121
152
208
121
162
150
176
226
167
223
170
171
177
208
112
162
181
219
247
208
150
137
168
208
198
167
174
187
121
187
175
123
208
192
137
231
121
237
150
115
177
176
123
208
147
150
208
208
181
189
207
167
112
176
121
171
228
167
172
167
250
171
172
112
171
112
150
115
201
228
208
208
121
150
194
150
226
112
171
112
225
250
215
173
147
235
165
170
150
181
212
112
144
210
200
170
150
150
167
270
173
212
181
186
150
112
195
218
208
167
212
186
160
194
165
121
218
150
170
115
112
150
165
284
150
150
177
182
231
208
150
136
208
206
123
121
167
147
218
170
170
194
112
187
112
176
121
172
176
215
257
112
185
158
115
171
159
171
147
150
135
225
208
121
171
175
219
170
222
208
128
135
239
179
241
186
159
161
212
164
181
121
121
147
165
238
210
194
186
202
250
121
193
194
150
175
160
150
135
281
121
181
123
212
144
167
172
135
171
165
112
112
115
182
226
186
226
121
171
167
208
193
121
234
170
176
192
210
165
172
137
172
159
150
208
208
147
121
237
112
121
192
237
218
181
130
136
124
202
112
135
165
112
150
121
194
159
194
208
112
156
208
150
205
150
212
202
112
215
171
170
202
150
171
203
159
179
121
165
174
167
171
208
167
208
214
220
210
210
164
150
150
150
137
147
150
121
186
121
184
237
123
203
201
167
206
181
121
302
193
150
167
167
115
158
124
115
208
175
210
170
203
156
160
193
170
203
112
215
170
228
217
172
176
121
135
112
136
172
158
172
189
187
174
121
121
171
112
150
213
167
123
189
239
112
173
198
207
226
150
150
150
243
150
171
112
135
302
137
115
121
225
182
196
159
210
229
123
121
167
112
121
181
203
136
150
112
150
156
255
174
193
131
174
263
112
228
214
258
171
223
170
150
193
186
165
112
165
208
160
197
217
186
128
206
175
158
193
131
201
112
247
150
186
171
194
165
201
121
210
192
302
112
135
112
210
171
181
204
186
112
217
115
230
181
203
246
150
181
170
172
121
192
202
121
136
156
150
167
215
187
194
210
194
170
171
260
112
121
196
290
234
123
135
192
159
193
150
172
230
171
170
150
203
150
171
195
224
112
158
171
112
282
150
217
217
202
205
158
225
158
208
147
136
158
159
171
194
232
250
112
179
207
150
201
210
171
172
150
203
164
170
150
193
150
181
121
150
228
112
172
171
177
164
181
176
187
171
167
150
165
212
167
170
121
207
167
181
181
172
112
150
150
112
121
121
112
170
150
170
144
150
202
178
243
171
194
172
274
164
182
150
130
150
181
172
179
201
112
229
136
121
181
115
252
194
176
112
167
158
135
167
165
208
172
165
152
167
176
121
150
195
231
229
184
165
204
225
172
212
150
135
112
121
176
184
208
112
123
258
194
194
171
130
170
121
172
124
171
181
121
233
228
277
150
207
123
174
210
121
136
135
302
237
175
150
121
121
172
170
123
170
171
250
228
192
112
150
150
159
167
250
112
112
228
171
123
170
112
302
192
181
186
226
167
176
244
217
159
115
170
157
143
185
181
237
228
228
112
121
170
195
172
170
171
193
121
263
161
137
276
232
136
165
216
121
238
150
112
150
207
128
174
156
165
112
186
193
167
237
165
150
167
145
208
159
208
112
193
211
135
136
208
146
115
135
237
171
150
208
184
225
209
112
135
112
174
186
217
178
112
137
144
172
214
210
165
279
135
195
177
150
208
201
208
112
158
167
121
203
202
121
152
208
112
171
208
172
150
150
170
167
170
166
115
250
121
167
150
219
121
194
128
112
121
194
164
213
112
240
170
200
150
167
130
165
160
208
202
171
172
153
150
264
208
202
159
208
194
239
256
150
255
193
229
201
171
112
123
150
137
208
195
143
170
171
190
226
112
112
207
175
181
181
225
160
172
202
165
170
164
123
233
217
164
121
192
171
121
160
187
112
128
165
172
177
171
231
233
167
150
256
143
172
165
136
187
136
208
150
130
112
186
194
137
170
228
137
121
182
168
147
174
193
172
181
137
185
171
170
150
170
186
150
172
172
177
165
172
124
150
147
124
128
167
208
197
147
135
121
158
244
176
250
229
167
257
212
112
150
112
112
202
172
121
165
167
237
150
233
112
124
171
171
167
171
143
150
165
207
171
278
194
147
165
235
150
229
136
187
212
212
203
112
194
124
160
172
121
193
194
217
217
164
112
177
181
121
208
172
150
112
150
167
112
147
255
212
121
121
176
112
121
121
192
112
167
121
150
174
121
208
186
172
176
121
164
158
237
150
150
159
112
195
212
168
194
181
208
218
202
150
121
112
121
124
219
115
172
171
206
172
136
143
112
121
174
186
150
121
208
147
177
152
302
172
121
171
186
150
176
144
150
159
219
171
186
121
241
186
136
170
208
205
208
158
206
115
208
161
227
181
176
112
112
194
158
196
112
208
237
167
194
150
112
172
137
208
255
210
123
210
171
135
112
187
212
172
152
115
185
158
121
158
201
150
167
187
225
150
194
150
147
123
182
186
121
208
193
208
231
130
176
158
219
208
150
121
170
181
167
121
150
121
112
186
181
150
150
137
121
214
181
208
112
115
250
165
217
167
187
172
175
172
121
150
203
150
231
112
208
177
209
194
208
190
210
112
167
150
136
171
121
217
195
167
239
255
233
236
112
261
139
170
123
152
135
226
172
150
213
112
167
182
112
207
137
180
165
228
187
150
115
121
165
201
112
164
177
176
184
121
225
181
174
187
150
164
187
200
112
171
201
217
121
112
260
170
147
112
208
167
174
150
171
150
112
153
172
115
123
279
136
218
195
167
130
131
253
150
174
250
144
217
202
112
237
121
250
121
145
257
179
147
208
150
194
206
150
123
168
212
150
208
167
156
165
150
194
178
194
150
228
150
240
112
177
150
159
123
181
167
150
159
115
236
208
218
159
149
195
205
150
135
204
123
177
172
228
220
208
208
171
171
192
171
124
201
182
215
112
171
171
112
121
164
136
187
237
112
167
178
121
121
130
195
217
220
145
217
147
208
112
186
212
207
186
112
150
170
174
150
112
150
172
121
146
167
181
123
168
112
231
150
203
240
143
112
112
179
112
180
130
123
112
194
195
156
150
165
170
194
150
147
171
178
230
150
150
170
206
150
170
170
121
195
187
187
172
160
208
112
112
121
272
247
194
188
150
212
171
203
150
150
128
123
209
156
112
269
223
165
150
225
250
170
228
112
172
194
178
209
219
204
121
172
176
208
204
187
112
150
150
171
240
231
165
150
208
150
208
181
237
123
172
204
208
158
208
121
288
192
112
217
112
150
237
165
135
228
150
172
217
305
121
228
193
121
225
164
121
172
189
121
224
208
226
121
150
212
121
150
231
194
170
172
121
121
217
193
147
208
208
161
143
225
112
171
112
172
181
190
229
206
112
121
195
172
215
181
212
187
121
161
233
167
167
181
159
112
158
150
137
167
217
150
143
123
156
208
150
150
301
195
218
167
194
196
181
152
150
170
186
171
171
153
186
121
172
225
181
176
282
233
167
150
172
112
320
210
181
123
170
150
172
237
150
161
160
177
112
168
150
208
194
123
137
150
112
218
232
236
160
172
172
186
220
231
170
112
215
121
121
136
150
190
150
202
172
167
150
181
215
150
250
176
112
220
186
112
150
121
150
124
171
121
147
121
208
152
128
202
195
177
158
302
136
171
228
172
150
187
167
165
121
208
209
121
208
150
143
202
167
208
208
172
208
150
144
239
195
150
181
136
270
167
123
171
172
218
287
123
217
222
112
150
203
112
263
150
189
196
172
168
121
123
170
187
112
202
174
208
121
121
208
212
167
135
150
165
172
167
158
112
204
206
193
190
112
172
177
181
172
177
189
195
225
176
192
172
168
135
112
263
228
213
237
123
177
187
136
170
121
158
172
124
121
165
121
217
187
150
215
135
123
190
124
150
150
201
174
150
250
244
158
171
167
217
208
187
193
235
128
257
231
112
203
172
243
201
121
170
250
170
245
214
150
150
208
218
172
170
121
194
112
123
172
150
202
208
178
112
162
136
150
136
121
245
242
121
112
175
112
165
228
288
112
196
123
281
123
150
150
112
123
144
150
200
181
150
121
220
233
208
150
218
167
121
195
158
152
165
171
124
150
161
210
167
121
206
167
265
194
302
176
196
193
150
112
150
123
172
208
210
228
228
170
228
179
210
194
215
167
236
208
121
121
165
150
178
115
136
170
251
186
135
225
236
134
150
123
187
112
121
112
212
212
171
121
205
170
150
233
208
121
112
137
147
185
236
193
209
194
212
150
136
164
282
112
172
231
112
171
210
187
121
121
201
150
150
135
249
152
205
174
112
237
112
165
203
170
170
123
150
194
112
112
181
199
187
121
136
240
137
136
170
208
186
194
174
176
150
181
201
209
210
165
121
193
135
179
194
150
172
165
207
194
153
228
167
115
171
210
212
176
152
176
121
121
243
170
158
177
219
150
213
176
112
202
112
112
176
177
167
112
150
170
205
196
210
170
168
237
186
179
124
218
178
194
150
213
121
150
121
130
121
178
121
150
167
176
220
152
215
182
160
112
167
112
115
112
193
204
121
212
193
175
167
194
121
193
147
167
186
194
115
201
170
208
123
184
158
214
150
190
181
121
172
112
172
181
150
176
150
173
121
208
159
250
192
150
150
112
208
147
185
201
222
150
228
167
194
177
167
121
121
172
159
208
112
186
250
158
112
196
143
172
121
177
207
208
167
202
121
115
208
137
186
121
193
302
172
204
112
167
192
186
112
147
121
112
156
201
167
112
170
194
165
171
194
302
121
165
172
121
150
121
229
187
192
121
150
212
112
112
150
112
233
112
112
167
137
165
123
165
123
237
210
112
137
194
136
112
181
209
150
275
208
121
172
205
112
214
112
112
181
150
165
172
208
160
170
172
167
112
172
112
245
171
208
150
259
170
193
170
150
201
208
112
150
112
170
121
270
204
137
226
112
112
212
220
244
194
171
170
174
161
147
167
158
177
135
171
208
228
257
150
143
150
135
121
207
121
167
158
237
172
266
165
150
150
194
159
135
181
240
179
170
121
239
181
172
181
136
176
237
150
167
209
167
198
171
186
170
192
233
150
243
121
196
167
193
231
208
172
194
277
197
231
228
237
194
193
150
159
171
121
177
201
112
194
172
176
137
147
124
201
209
121
258
208
121
158
121
121
212
123
121
187
150
172
181
209
171
176
172
156
165
201
177
150
249
230
150
150
208
147
243
194
112
150
150
150
177
170
121
150
156
150
213
150
217
233
112
190
237
150
240
112
203
112
121
227
112
167
194
238
165
176
156
208
207
192
150
208
201
177
121
239
219
156
171
146
121
112
112
172
243
121
176
243
156
212
165
112
164
112
208
207
186
150
137
195
203
146
219
150
121
150
176
172
181
159
112
164
186
174
150
150
135
121
177
208
217
165
181
228
258
115
170
208
170
150
121
228
172
176
112
121
228
158
121
171
247
170
121
112
279
150
258
182
164
121
147
171
115
217
186
121
176
237
176
176
130
121
228
150
112
121
165
158
302
193
172
150
150
211
150
186
150
167
207
257
152
258
112
121
203
176
150
208
121
239
175
177
150
170
124
121
257
150
223
112
187
131
112
218
239
150
130
184
302
199
167
167
121
168
176
137
220
159
208
202
255
161
159
150
123
323
208
115
200
228
194
150
167
208
184
121
208
121
172
150
207
167
236
150
112
123
271
186
112
112
165
170
150
196
112
112
167
167
207
230
187
121
179
203
112
150
208
144
155
208
123
243
159
150
171
176
237
137
112
167
265
228
150
135
194
150
208
195
263
196
121
112
176
170
231
172
193
170
194
218
212
128
160
170
150
112
167
208
217
171
112
159
112
158
150
212
136
130
150
123
165
121
218
167
165
178
123
112
195
181
170
165
172
156
160
170
172
232
302
150
112
219
150
143
237
259
172
150
218
208
112
121
233
208
232
121
150
171
121
171
150
177
165
150
194
112
112
147
193
201
176
172
168
112
198
201
137
194
158
202
167
135
208
208
186
168
121
165
176
176
112
181
181
187
112
282
171
143
186
239
186
181
158
112
121
219
150
123
217
172
150
137
112
121
194
112
215
209
137
167
218
147
210
170
150
123
135
171
228
210
172
194
160
225
203
235
250
150
172
112
112
171
112
124
203
150
165
213
150
152
208
150
112
228
112
184
208
186
150
267
209
223
201
220
135
302
112
152
194
165
150
186
143
123
168
172
150
123
179
115
210
171
237
172
242
112
240
217
202
207
239
165
185
112
192
168
150
112
195
112
121
170
112
150
112
176
170
136
208
136
124
123
112
237
121
181
160
165
235
207
115
171
150
219
150
194
150
112
112
179
150
218
194
121
112
210
121
257
184
233
208
121
121
172
112
240
135
150
121
112
182
171
121
234
150
112
121
187
167
121
150
193
208
121
123
172
210
176
150
181
226
172
193
195
121
150
121
121
147
112
123
181
194
112
231
150
143
147
121
206
112
137
150
158
121
167
112
213
112
173
176
147
130
250
170
112
177
157
202
121
212
112
145
200
112
228
247
168
186
172
147
121
121
121
192
210
208
226
209
205
112
187
228
121
150
158
136
231
172
112
190
171
150
158
123
278
211
177
218
241
150
123
112
203
150
208
186
194
167
124
170
194
160
247
196
170
152
160
128
224
212
121
199
175
214
150
195
115
146
150
228
167
150
237
170
181
172
237
227
198
112
177
208
150
156
124
164
171
208
112
279
223
202
152
150
150
146
121
150
263
153
112
137
150
195
165
150
232
195
167
150
233
208
150
193
112
174
165
112
171
123
150
112
231
172
150
167
217
195
233
186
194
150
136
186
216
208
172
237
228
187
121
171
152
176
150
194
259
150
172
128
198
172
194
112
112
136
115
121
226
168
187
150
150
236
171
136
195
208
156
177
212
172
212
156
210
164
196
121
194
186
143
170
123
171
203
112
201
164
178
187
205
170
210
121
112
172
196
171
150
208
208
112
208
170
171
208
156
194
177
171
112
212
160
121
123
168
160
121
171
172
224
165
211
123
121
172
150
150
202
177
143
164
237
236
136
150
115
236
171
152
228
167
240
150
150
112
217
121
184
112
203
232
112
194
237
112
228
240
121
234
123
263
123
150
208
212
131
150
167
208
123
139
112
121
112
217
217
170
210
112
135
170
171
167
121
194
302
141
135
150
128
121
123
164
172
137
170
232
260
208
121
164
220
157
158
150
165
112
160
135
124
123
150
159
181
219
194
201
210
208
150
233
243
158
150
121
160
130
137
115
207
228
112
115
177
202
202
150
112
150
121
159
208
167
167
137
203
123
128
150
210
231
121
219
201
176
171
121
121
170
112
152
121
201
123
123
172
159
158
176
150
218
123
231
112
168
150
238
156
243
177
263
112
251
156
208
150
123
152
170
137
208
171
121
121
112
152
239
121
172
131
174
112
193
112
150
210
171
150
242
150
136
174
123
208
172
170
112
192
208
226
196
121
234
193
167
150
150
170
172
147
121
150
170
223
121
172
121
240
150
167
112
112
202
195
171
135
193
164
239
158
250
178
150
123
205
224
136
162
177
208
121
208
170
137
121
112
228
172
121
112
217
168
232
205
112
150
172
167
150
187
161
195
160
186
172
171
112
150
228
112
167
176
170
137
279
150
208
112
186
150
171
170
145
205
176
231
112
228
227
150
186
258
123
181
172
130
284
112
210
184
170
202
240
170
239
239
112
187
194
189
216
167
182
212
135
170
210
121
202
210
193
194
170
201
160
112
171
250
112
194
137
189
220
128
150
208
252
233
123
276
121
150
208
150
135
182
171
121
112
208
115
243
150
177
172
205
170
150
229
112
123
257
202
210
225
258
202
171
164
255
214
112
215
164
202
121
203
150
150
121
172
239
195
121
130
201
263
193
112
206
137
150
176
150
163
170
162
124
232
158
228
121
167
150
137
150
176
137
112
137
172
150
201
172
159
195
172
170
137
210
210
112
150
165
276
193
165
181
135
172
150
195
263
194
274
264
232
242
164
198
182
170
190
165
115
181
255
174
184
170
258
150
123
121
250
186
203
208
123
213
251
208
208
158
228
167
259
112
194
112
171
172
170
168
156
112
176
210
121
202
112
150
181
167
172
187
220
172
150
214
171
173
160
177
195
176
233
228
194
112
252
217
150
121
176
208
112
239
147
112
172
229
137
167
121
217
150
112
168
193
203
167
112
171
170
219
172
121
123
150
173
175
195
112
176
170
187
205
121
226
202
167
192
112
164
225
112
170
136
193
150
150
152
150
216
231
177
160
171
202
112
189
150
209
208
176
250
181
145
299
172
150
206
144
121
208
204
208
194
167
170
150
167
112
172
112
121
190
150
150
150
121
215
263
242
186
170
158
123
123
231
157
167
219
171
186
176
174
150
121
208
176
187
187
190
112
195
112
167
202
208
136
171
150
121
150
123
170
121
217
150
248
112
177
121
202
112
212
276
121
121
181
194
176
239
202
186
170
181
150
193
227
176
208
172
121
207
207
205
164
121
150
230
176
212
208
239
167
131
170
228
167
112
175
141
121
208
170
208
239
187
167
171
220
150
121
159
194
165
164
201
233
156
112
168
214
121
170
220
170
201
150
123
208
172
167
112
150
150
121
208
200
216
112
112
147
150
150
243
144
121
121
159
171
112
193
202
175
193
176
112
167
226
213
208
165
240
112
208
171
217
235
150
228
202
206
121
208
150
259
123
205
174
150
150
237
150
167
189
112
112
150
199
208
176
167
209
231
187
228
150
239
167
167
167
137
195
194
171
160
203
220
231
146
112
123
164
158
181
172
121
121
212
121
112
276
170
150
165
205
158
150
237
152
202
112
150
112
288
150
172
278
164
185
112
214
162
203
208
124
214
216
211
194
158
194
165
112
208
173
135
112
112
240
228
147
212
150
186
121
196
193
217
208
176
202
172
171
123
228
150
203
132
121
150
150
172
156
288
152
217
150
121
203
164
211
168
121
112
250
236
176
192
123
143
255
209
172
208
167
192
262
179
208
208
167
172
171
264
171
262
197
186
228
164
201
175
165
171
167
167
123
205
112
167
174
171
172
137
208
193
243
194
150
181
171
150
263
112
141
115
219
121
199
112
177
150
215
213
195
253
135
170
150
229
112
217
121
250
231
121
150
186
147
157
267
150
194
160
215
212
124
198
150
167
179
137
263
112
226
175
165
172
208
146
167
115
150
208
112
167
172
194
208
170
208
170
228
208
136
204
268
181
170
159
228
186
150
201
279
150
121
115
165
176
253
136
195
159
144
143
172
150
177
150
121
185
231
150
238
121
168
179
123
150
199
210
112
187
121
301
210
227
208
172
112
260
202
121
229
124
130
112
211
239
150
208
229
203
202
112
150
175
170
214
124
170
161
208
112
174
204
212
194
208
171
241
187
193
150
167
199
193
178
170
218
225
208
147
147
171
121
193
186
135
150
165
150
194
159
146
156
192
150
187
112
228
165
150
123
170
203
112
208
124
158
197
243
121
218
170
187
131
232
150
112
112
208
115
170
170
121
227
164
172
152
157
150
112
203
202
123
237
143
172
226
167
195
165
208
150
170
208
112
128
162
112
150
137
158
229
181
171
223
112
255
112
162
238
130
150
150
228
112
178
235
165
208
171
217
112
171
177
136
199
218
136
218
186
115
176
208
228
176
233
150
187
150
150
112
112
208
201
262
112
121
112
159
225
112
212
158
121
112
193
171
219
212
121
192
159
200
150
170
112
160
136
112
150
112
112
121
208
236
136
150
171
208
213
160
181
218
171
137
112
229
226
277
278
150
186
167
121
194
172
150
121
112
201
192
150
150
171
112
130
112
123
150
208
189
112
150
228
194
147
206
128
171
123
208
112
170
230
147
150
172
223
176
115
172
192
201
121
224
199
165
167
250
237
248
257
112
144
187
176
178
112
203
123
202
121
170
208
226
152
193
232
121
167
135
171
121
121
212
150
210
164
194
174
112
172
194
150
167
172
136
135
170
172
150
201
239
232
159
121
193
135
112
112
208
194
176
164
201
167
112
220
172
170
194
171
167
171
172
193
150
150
147
302
238
186
112
112
229
284
167
121
123
161
220
128
121
241
172
167
150
150
170
186
187
164
228
203
121
276
160
150
199
220
220
228
159
150
121
189
167
186
115
237
112
150
201
165
165
180
177
172
208
195
121
123
235
162
146
171
170
181
136
112
250
165
202
193
208
171
232
172
121
208
150
207
167
186
170
208
178
228
302
167
212
135
170
208
208
150
150
150
150
150
208
177
147
150
195
167
115
167
212
150
214
164
208
189
144
135
165
186
218
202
193
193
158
239
250
208
112
222
137
112
178
150
157
147
112
112
181
121
112
177
112
171
209
255
158
244
237
176
112
226
201
171
112
170
228
219
170
121
112
208
112
261
171
177
176
112
150
193
158
170
121
168
112
176
123
135
123
172
147
112
137
135
226
170
171
167
172
172
170
208
208
136
121
235
150
123
128
176
233
216
121
176
193
208
170
181
150
112
121
172
175
150
235
187
177
177
167
219
150
112
121
123
121
253
136
171
203
150
158
213
150
123
179
189
167
112
170
168
215
179
112
182
123
193
161
167
219
121
208
112
223
167
112
158
228
222
186
208
136
112
150
170
165
172
112
231
256
128
192
112
176
112
112
196
150
150
209
139
208
172
195
223
165
181
150
112
121
124
112
157
121
172
263
194
150
150
168
223
146
121
194
150
202
194
232
194
150
209
165
219
278
121
167
208
150
158
181
194
112
179
243
121
242
136
208
203
150
219
150
112
115
172
276
150
167
147
135
226
186
164
193
165
172
177
212
135
208
167
172
150
121
112
150
168
150
121
158
112
237
177
186
210
210
147
123
150
112
170
164
150
187
112
165
233
112
193
205
136
150
175
165
135
182
172
112
172
150
147
194
147
208
208
150
150
112
172
115
150
224
212
167
237
214
246
208
121
170
164
182
150
228
150
170
231
112
208
147
167
150
172
172
172
112
112
123
172
218
194
170
172
124
159
112
112
207
195
150
176
170
223
168
227
121
192
123
237
112
167
181
213
208
172
112
121
257
112
203
121
112
220
176
207
158
208
208
181
121
222
172
150
220
208
175
186
160
121
165
276
128
232
189
165
205
181
123
112
208
172
210
219
228
220
237
167
214
150
164
225
276
171
123
200
184
171
136
242
112
195
231
167
150
147
146
135
135
265
220
158
150
150
115
159
150
181
194
135
172
195
193
190
231
124
203
124
243
186
112
112
135
123
297
112
136
164
112
239
194
123
208
112
230
210
150
145
112
172
187
208
233
250
208
135
208
208
220
112
150
203
121
171
112
263
302
136
135
181
194
150
172
112
115
172
229
150
171
203
164
170
112
121
150
194
136
112
112
112
208
225
225
158
123
167
216
150
167
112
179
165
147
164
170
234
218
195
186
208
219
169
150
150
186
158
208
207
136
170
176
228
177
150
176
123
194
112
121
121
208
112
143
121
160
137
175
112
137
246
208
171
195
170
167
232
112
257
170
165
226
136
121
181
208
278
112
172
150
213
121
174
171
283
195
121
174
167
167
172
144
150
176
150
135
171
167
112
239
150
202
150
263
181
170
231
172
240
201
193
150
177
225
210
179
123
194
150
123
121
150
136
121
150
150
193
112
208
203
135
167
150
172
240
176
112
194
208
198
112
150
172
150
150
135
186
177
176
224
112
228
170
165
228
195
194
208
164
135
172
121
136
167
121
186
201
121
189
112
170
121
212
121
165
208
240
165
124
150
112
200
231
178
123
194
172
175
208
171
194
208
150
172
195
215
194
121
208
150
193
167
172
228
121
239
158
143
177
212
171
112
137
203
165
178
176
194
175
174
244
174
176
170
112
189
150
231
167
171
242
194
208
240
171
176
181
164
167
123
112
161
219
205
112
135
208
250
115
170
112
121
164
143
208
152
150
172
121
238
150
135
233
158
160
278
167
158
150
137
181
228
208
231
150
150
170
195
228
172
215
160
156
158
171
205
174
170
164
219
112
123
208
150
172
187
208
181
150
236
150
189
150
158
194
193
250
207
147
205
115
115
131
196
187
225
150
192
174
123
170
177
112
210
215
237
172
150
210
204
194
171
172
194
123
167
167
208
210
177
112
160
176
267
172
150
174
123
144
194
150
171
208
121
167
237
150
121
194
115
150
170
171
171
115
302
121
187
172
123
174
302
112
170
123
121
192
182
177
112
200
115
150
210
123
210
123
150
150
123
253
208
150
184
150
232
150
112
123
279
150
115
172
158
112
121
167
147
210
136
215
193
121
164
240
185
112
197
115
167
193
170
171
121
189
170
172
215
177
172
208
165
147
187
121
171
112
150
121
123
198
167
250
112
255
172
112
167
150
171
254
193
175
172
299
112
245
174
256
230
189
171
112
123
167
165
174
263
165
187
167
194
137
112
170
197
123
203
150
275
150
237
208
217
170
238
172
208
235
150
121
172
177
225
170
172
215
112
172
215
167
204
121
167
167
112
193
181
171
210
202
229
164
167
195
167
172
150
121
201
174
137
172
208
121
150
150
144
115
176
187
150
150
192
121
170
167
210
112
195
167
171
167
170
201
195
170
171
297
208
208
181
123
135
194
177
228
112
123
171
203
136
179
257
174
136
230
112
232
243
167
175
184
203
226
158
171
165
170
208
136
121
121
176
199
170
172
226
170
167
177
121
112
194
150
115
158
115
150
250
201
207
170
170
150
203
167
234
170
112
128
165
167
112
193
150
135
136
172
121
150
150
168
194
237
123
167
156
208
150
226
209
181
237
208
150
150
165
168
217
130
218
208
210
176
121
150
167
170
160
121
227
123
115
186
150
186
203
234
208
136
174
228
181
185
112
206
176
237
123
244
187
203
214
150
187
150
231
176
150
181
204
208
136
229
172
205
170
150
112
112
167
112
170
168
194
115
187
147
194
202
170
171
172
228
219
302
159
208
165
212
281
112
170
121
136
165
214
217
239
123
137
172
178
121
172
112
112
115
150
165
172
158
136
208
195
124
165
208
222
240
171
171
187
150
135
212
137
194
172
112
112
150
269
193
208
156
194
216
123
150
121
174
218
219
232
175
181
208
112
171
208
185
172
172
112
186
209
167
167
112
150
219
152
135
150
202
181
112
172
195
152
165
238
212
237
302
170
112
274
174
115
231
181
239
232
167
176
219
185
194
150
259
112
123
228
150
172
201
150
112
208
121
167
112
112
136
121
150
150
123
170
212
250
187
150
231
194
167
194
258
156
195
112
202
235
112
112
208
136
213
253
170
176
249
137
186
195
150
112
209
208
147
150
201
121
212
210
215
168
112
150
237
130
224
112
115
159
150
230
112
121
130
123
156
262
143
201
147
177
213
158
212
167
220
180
218
130
170
167
123
195
121
230
136
121
217
150
212
220
123
167
208
159
150
170
150
193
189
178
210
167
130
128
208
167
130
172
194
159
172
229
228
231
150
147
112
137
269
172
150
150
157
172
171
237
112
130
123
112
232
112
174
172
208
112
213
201
112
172
187
184
112
112
187
130
181
231
197
240
121
190
112
168
213
123
112
164
243
136
112
263
112
176
158
239
171
255
121
204
112
171
162
112
181
178
210
165
150
150
121
181
172
167
186
258
150
165
235
123
121
165
172
190
194
208
157
112
167
123
212
150
191
121
150
137
257
202
112
150
150
150
195
150
150
230
123
202
112
203
187
237
130
150
172
130
194
210
150
260
150
170
194
226
150
202
197
150
193
164
174
121
193
147
165
172
121
194
171
193
121
228
194
150
136
177
244
135
164
112
161
137
245
150
178
181
205
128
150
135
214
187
135
167
170
178
187
121
150
172
171
147
193
150
112
147
130
250
150
170
115
216
215
121
205
218
177
171
150
237
112
164
144
172
259
175
172
112
112
186
112
152
112
228
121
136
164
193
112
165
253
186
170
226
147
208
225
135
158
276
172
164
218
136
128
170
171
150
212
264
112
130
174
202
233
150
121
255
150
186
176
187
217
219
233
202
150
167
208
123
135
240
219
179
237
121
208
171
194
189
121
228
144
150
150
112
147
202
150
159
150
255
150
112
112
210
121
150
176
172
226
177
171
170
164
171
124
174
112
170
112
150
195
150
172
192
172
172
167
150
132
121
150
150
147
150
195
208
193
194
150
192
201
177
255
135
172
187
213
164
112
190
221
176
172
297
167
150
170
112
150
160
210
176
237
237
190
112
150
121
176
220
167
170
230
184
278
194
167
147
137
150
223
214
232
150
112
255
193
223
150
177
172
194
214
150
228
255
197
192
170
161
170
168
208
172
137
112
123
144
250
172
228
237
150
165
168
167
147
199
237
161
150
201
150
123
179
208
168
170
152
181
130
112
112
226
150
143
121
170
192
167
150
220
112
203
208
172
193
185
228
137
259
219
186
245
212
226
161
203
159
112
305
207
150
159
150
202
208
150
150
226
123
157
250
123
150
121
150
171
121
214
171
238
124
124
121
135
167
112
121
255
210
130
204
171
176
168
177
195
112
115
172
172
237
156
229
152
196
123
162
112
276
164
208
164
165
177
219
167
176
160
181
150
143
121
121
121
175
195
150
226
150
170
150
112
172
239
137
178
212
195
208
196
192
194
137
253
237
202
172
121
177
218
136
204
171
175
168
124
167
112
121
186
234
136
186
121
174
150
121
176
266
289
217
208
201
143
208
112
130
202
173
202
121
212
168
237
172
219
167
121
217
229
112
136
177
112
208
171
200
199
170
201
150
152
136
121
112
136
147
201
217
112
167
128
207
239
147
196
205
121
212
263
167
165
145
159
150
194
177
147
121
250
121
170
171
121
112
159
167
123
158
172
194
121
167
147
260
254
131
121
172
237
135
220
208
135
121
250
152
172
123
112
205
185
186
130
192
112
243
201
112
150
167
176
121
228
121
194
170
192
167
150
150
177
193
124
115
181
228
192
172
160
167
165
150
237
208
121
207
208
171
202
112
150
152
208
208
167
150
262
150
195
152
210
159
170
170
123
167
159
112
195
171
150
137
172
204
150
135
171
176
112
165
205
236
203
121
121
121
115
171
186
169
213
177
181
121
150
158
112
164
231
147
195
187
191
225
160
150
231
150
171
121
219
204
112
159
136
158
208
123
210
171
196
170
143
226
150
112
112
121
192
205
217
150
217
208
130
127
202
205
156
121
121
150
150
171
112
124
124
158
229
207
172
121
168
121
121
112
208
204
168
201
208
239
208
210
135
195
150
167
152
208
147
152
171
189
201
233
181
135
172
233
195
208
121
186
171
193
112
176
170
187
112
229
154
210
112
203
112
121
112
150
194
150
243
202
237
219
255
186
167
121
167
243
181
172
150
231
150
112
258
146
187
167
228
150
121
201
228
159
164
194
181
158
112
179
121
158
135
130
124
156
189
208
157
150
196
208
121
150
158
121
237
193
150
152
123
115
204
208
172
181
181
208
162
176
212
231
175
197
204
121
150
135
150
167
144
121
131
172
178
112
112
217
203
226
208
193
174
203
172
206
158
194
208
205
192
171
150
171
217
161
210
261
150
239
186
156
178
150
231
150
276
170
176
112
150
121
263
121
235
115
186
208
220
135
112
202
112
232
201
193
232
121
250
168
171
208
112
187
172
150
181
186
112
205
172
136
170
112
171
270
112
199
150
250
150
171
172
121
164
170
150
112
245
158
121
179
124
217
165
210
182
208
112
172
223
247
152
233
174
112
311
159
150
181
189
135
147
208
150
112
228
194
112
184
208
158
168
143
150
220
186
186
123
217
167
170
173
228
195
176
144
186
208
150
167
167
121
208
202
194
176
136
150
146
186
238
185
121
184
121
165
232
150
150
121
112
150
112
150
190
121
170
257
176
171
143
124
208
193
234
198
112
146
112
176
193
137
208
121
121
112
150
217
215
162
172
112
121
193
208
176
233
171
208
250
208
112
210
121
172
225
136
167
205
115
170
121
202
177
123
208
121
237
150
228
115
170
112
208
174
174
181
170
123
167
112
208
194
167
123
150
209
201
170
209
112
203
150
150
112
171
115
121
195
172
239
230
128
172
172
226
167
171
198
121
170
124
121
112
205
121
208
112
121
181
187
112
208
192
123
250
172
205
208
178
150
159
170
172
177
169
202
202
178
208
121
187
167
170
208
112
219
193
208
202
143
172
189
208
202
112
112
112
112
112
137
167
121
150
150
172
123
121
127
165
195
121
194
250
121
227
128
203
202
150
124
237
136
150
194
220
186
121
203
150
150
165
187
158
177
186
210
121
150
128
172
121
115
192
196
171
174
150
162
170
150
150
196
231
150
261
164
121
243
112
112
150
196
208
255
152
199
181
171
162
172
150
203
112
278
208
212
207
150
208
144
150
210
195
172
259
121
115
208
208
128
176
121
187
112
167
167
239
208
150
112
115
150
136
199
164
121
112
174
174
150
137
150
136
112
112
172
192
167
121
160
121
208
186
121
150
177
150
128
219
167
172
228
199
135
147
237
172
112
202
203
136
170
177
233
112
196
214
176
175
208
258
150
194
218
157
165
172
228
263
243
161
165
164
170
187
176
123
167
194
167
121
239
220
121
115
158
165
194
193
195
158
112
208
255
150
176
112
121
208
220
170
167
135
167
156
204
146
168
228
208
208
135
168
187
137
121
208
164
186
192
121
136
150
232
187
178
208
115
265
205
284
147
152
176
186
165
165
115
121
123
212
217
175
150
202
112
167
193
179
150
212
150
150
150
305
177
175
218
112
137
165
121
167
112
150
170
176
255
112
208
164
163
167
214
226
112
188
168
177
124
208
181
150
216
112
112
170
150
135
150
112
176
150
112
174
112
150
112
202
165
137
223
112
171
184
208
196
205
151
164
167
208
172
150
150
193
112
187
121
166
112
200
136
153
112
165
255
171
226
215
208
228
172
228
112
171
121
180
136
181
150
121
172
167
170
194
186
135
237
121
189
208
193
112
164
231
171
237
208
208
123
193
176
150
165
167
112
206
165
121
199
176
208
176
217
115
194
203
170
193
112
112
208
195
172
223
115
136
190
123
167
150
172
208
167
207
150
226
231
193
171
176
121
225
168
243
195
170
206
137
150
130
112
207
112
121
195
263
143
228
121
158
217
150
181
150
168
112
226
167
150
195
124
150
130
156
112
185
186
216
237
170
218
112
177
244
143
235
216
121
159
167
278
167
208
152
210
115
229
152
239
135
123
175
194
237
201
171
121
208
164
232
150
170
112
147
112
212
112
223
197
217
112
228
220
184
242
212
115
205
242
212
193
165
212
112
157
193
167
186
150
150
239
171
194
112
208
121
176
112
172
160
186
162
186
167
194
150
186
208
135
203
167
121
164
150
210
226
208
218
121
208
150
171
172
157
193
201
225
150
232
208
217
172
150
150
150
150
212
164
160
156
147
171
275
171
150
150
217
171
150
231
150
210
167
112
135
233
186
150
231
208
112
208
150
201
128
121
259
150
237
167
170
147
157
161
235
200
128
231
150
171
121
158
150
112
210
115
158
112
167
150
181
181
233
172
135
170
177
112
171
137
123
165
216
130
186
239
121
175
194
208
150
121
167
150
256
170
208
124
112
115
226
181
193
159
208
160
231
112
208
112
208
172
194
170
208
208
112
305
210
208
121
112
228
184
184
186
124
150
233
150
187
193
143
167
181
152
210
302
177
124
207
237
179
235
128
202
213
172
170
202
176
187
112
150
297
112
185
222
147
121
150
152
208
208
150
176
202
205
150
192
196
172
193
201
224
189
176
172
171
231
112
150
150
205
208
137
147
112
158
172
208
124
123
144
245
238
137
192
201
302
167
244
208
172
172
167
115
135
208
178
135
150
112
212
219
200
212
170
136
121
227
150
240
112
232
121
300
112
208
210
150
193
164
167
112
181
171
172
150
172
121
112
208
171
157
128
115
162
171
156
220
227
170
165
172
229
208
171
203
168
189
121
171
208
165
135
170
153
112
168
288
183
207
218
214
167
112
219
176
213
112
121
150
150
121
226
147
193
121
137
112
147
128
173
121
150
150
166
121
302
150
181
176
193
164
172
112
208
185
147
130
112
208
202
202
201
194
153
186
208
115
167
152
115
204
227
150
208
150
220
150
135
225
112
219
215
230
150
226
208
112
112
210
121
212
150
165
146
172
147
202
214
194
242
139
147
208
135
160
172
137
150
226
112
231
112
135
194
167
159
121
112
176
193
218
239
229
150
128
167
156
193
228
196
194
135
186
297
282
177
181
239
112
150
124
194
210
121
172
174
171
170
121
194
247
181
208
121
172
112
207
147
171
150
152
186
112
238
121
159
150
158
215
121
231
150
146
170
224
143
201
179
112
123
194
229
208
210
208
121
193
150
121
193
128
181
179
121
167
236
170
207
150
255
112
217
121
121
171
203
255
150
124
207
112
171
112
214
152
171
228
150
179
208
112
150
164
212
225
208
186
167
112
165
167
170
115
150
194
275
171
172
208
175
150
225
150
124
170
195
112
112
175
250
208
150
208
159
229
137
112
172
176
201
226
173
219
171
208
179
194
167
194
121
147
253
168
146
121
209
240
192
131
112
150
175
183
209
208
194
273
172
121
208
208
165
208
263
157
208
177
181
176
152
159
128
172
112
229
160
171
130
150
190
143
219
115
150
210
237
159
150
227
164
150
202
168
137
150
156
232
194
150
150
203
112
250
150
147
194
112
208
167
156
171
174
180
174
172
250
112
179
158
112
158
247
253
150
158
278
178
172
170
242
193
121
121
170
195
242
121
156
150
112
186
208
165
121
121
136
121
112
150
195
121
150
193
162
147
181
172
121
211
203
150
150
207
167
172
236
164
208
218
231
210
205
167
136
150
171
171
264
150
121
208
150
201
164
208
112
150
150
150
150
226
170
112
135
121
211
112
170
121
152
167
112
170
112
259
123
167
204
150
215
208
150
229
130
158
170
172
179
112
121
214
228
121
156
171
203
121
112
112
178
167
173
179
150
121
161
215
302
167
208
112
112
229
176
112
172
176
171
208
168
220
186
208
150
112
112
121
150
172
181
233
181
150
203
167
208
150
172
135
205
170
165
233
201
172
112
150
167
175
237
250
237
150
150
254
167
123
150
172
150
187
112
228
128
112
198
189
168
174
171
186
158
115
261
195
194
170
208
136
123
123
228
135
231
202
135
185
150
237
159
121
201
208
150
137
112
146
192
137
214
124
112
216
124
237
179
112
219
156
281
167
136
181
150
231
150
193
265
208
202
150
210
194
167
214
178
257
172
121
150
233
182
250
170
175
225
187
121
170
185
121
162
112
172
143
121
181
218
131
150
181
171
202
217
165
112
170
265
194
208
170
144
150
123
123
123
193
121
201
112
172
164
167
167
150
172
164
228
250
175
164
167
182
136
146
228
193
159
121
123
171
231
237
167
187
158
167
168
112
150
124
181
162
226
222
186
112
165
150
182
171
208
192
165
112
210
208
123
175
176
208
112
171
121
231
205
194
170
196
130
190
186
215
186
178
150
175
214
121
167
193
219
226
203
150
158
236
212
150
207
112
112
121
123
164
165
208
112
170
150
226
115
208
172
171
150
208
170
192
231
121
150
137
158
217
139
291
150
203
223
258
172
176
243
137
171
112
172
228
121
193
167
171
208
172
170
172
167
187
228
123
188
135
170
167
150
208
186
121
112
217
167
150
231
172
112
211
202
162
121
112
121
171
247
150
187
112
202
112
150
130
137
170
112
121
112
170
150
171
220
135
147
121
167
121
167
150
176
150
172
225
194
150
128
121
171
135
167
203
302
150
187
147
156
150
167
112
194
228
237
137
131
243
135
181
202
112
123
150
176
250
242
193
112
237
121
171
150
150
136
217
237
179
263
112
112
225
181
208
112
150
150
164
193
275
171
167
112
220
172
112
195
136
195
190
115
150
208
172
135
177
195
150
167
298
163
112
194
218
172
168
167
164
150
189
160
208
136
172
210
193
167
210
223
172
150
208
150
175
208
167
121
136
158
172
228
150
176
208
124
167
150
112
208
143
183
150
123
121
158
150
167
245
201
193
160
152
181
177
160
171
112
278
237
159
167
112
186
161
150
112
121
112
112
172
171
150
250
187
208
150
150
121
186
150
208
147
175
150
228
176
210
167
150
186
174
207
112
203
187
302
250
217
136
212
227
219
176
167
171
150
181
115
213
121
172
210
211
178
121
150
165
220
159
190
123
208
187
170
210
121
112
150
218
170
177
121
172
194
227
177
121
170
170
186
186
194
150
194
112
198
212
150
150
177
170
112
121
172
112
193
170
121
150
115
171
159
212
121
194
121
150
222
172
171
172
198
150
121
208
150
182
279
177
226
186
121
171
172
243
137
121
158
172
165
215
201
150
217
150
225
227
177
150
195
153
130
186
121
112
186
176
152
172
212
121
172
255
181
112
237
143
186
195
121
201
217
228
167
236
187
204
208
181
208
186
187
172
159
250
195
203
201
167
165
156
171
194
215
121
143
170
164
160
216
184
150
150
112
228
193
112
221
228
221
150
238
165
176
112
156
112
189
208
194
237
167
195
208
167
172
165
226
167
164
167
163
184
202
150
123
193
150
150
187
172
201
121
208
170
121
172
150
150
123
135
227
150
167
121
196
123
215
181
170
181
181
223
121
163
167
164
250
255
297
144
145
121
176
112
156
187
176
115
192
171
130
112
170
201
150
181
158
150
130
135
171
208
150
150
121
251
203
172
225
208
171
208
193
150
130
150
123
208
202
112
135
115
228
210
137
208
217
199
128
112
150
172
239
176
193
236
121
121
121
171
159
150
208
150
236
172
112
201
158
137
349
150
159
210
195
243
171
208
112
112
150
123
181
204
172
150
112
150
150
115
170
112
121
124
225
213
171
147
115
137
210
176
121
159
152
208
186
121
165
112
167
219
208
150
167
272
179
254
276
226
174
165
255
236
237
150
143
112
203
245
170
193
237
181
121
171
130
263
204
170
112
112
150
176
150
167
165
193
171
130
121
187
174
217
164
112
115
172
201
201
150
186
171
174
115
147
177
121
187
231
176
112
193
171
208
150
176
266
176
167
208
123
204
150
186
112
167
215
186
115
172
150
150
121
195
121
128
112
167
243
112
167
208
196
208
208
164
187
190
167
230
192
228
226
150
112
190
167
207
150
150
137
171
167
137
121
202
127
186
220
112
172
208
240
165
112
194
150
147
135
150
193
121
237
170
156
135
112
123
150
135
229
150
212
150
208
302
123
112
121
165
167
194
150
167
212
181
167
206
112
150
206
201
136
121
203
112
291
176
121
187
121
121
181
136
165
112
235
170
167
171
176
231
211
137
150
192
121
136
228
121
192
193
247
241
208
219
162
194
231
112
193
219
112
181
272
170
165
121
203
170
208
121
136
135
121
137
136
181
175
206
172
165
229
165
164
172
201
237
112
136
121
236
150
195
240
135
112
150
159
121
181
193
121
150
170
171
208
112
115
161
228
181
175
208
150
167
192
159
150
135
174
250
164
152
160
171
193
123
150
172
174
156
112
147
174
208
112
121
147
112
150
112
170
239
195
194
150
112
150
173
121
150
181
210
229
121
124
150
176
164
210
207
196
244
167
194
206
208
121
164
172
172
162
204
193
208
250
206
208
173
123
172
123
238
164
112
167
112
282
150
112
208
212
208
172
137
176
112
193
156
186
172
121
135
177
150
208
170
170
170
164
189
208
178
112
123
160
150
112
172
170
112
150
310
170
171
171
176
162
207
136
165
210
219
186
187
170
194
123
179
228
112
250
112
174
208
187
208
196
115
205
112
194
150
237
150
150
112
124
189
112
207
212
150
170
195
135
135
177
121
123
176
181
193
159
135
121
342
181
121
143
150
150
150
144
121
186
176
112
112
176
174
123
112
156
150
171
220
187
232
124
121
195
150
150
112
121
150
186
121
160
150
175
150
263
112
150
112
177
193
170
236
194
150
170
171
135
210
208
201
202
225
130
195
210
192
146
208
163
192
171
223
121
121
160
186
137
155
194
150
150
150
150
245
145
112
121
190
112
277
208
201
123
170
141
144
223
130
150
112
150
121
112
186
208
165
216
217
170
144
216
121
237
167
121
124
247
171
170
208
112
112
159
194
130
150
178
150
157
202
124
167
266
152
208
193
112
121
121
123
199
164
192
160
208
186
150
172
194
172
172
150
150
202
159
170
240
211
150
238
115
172
239
208
229
158
172
220
167
168
216
112
112
186
135
121
239
171
150
112
160
193
167
186
234
167
121
112
168
121
150
172
208
205
187
228
186
112
172
187
144
208
193
179
121
150
112
170
178
217
165
158
121
194
150
128
123
156
208
181
156
112
175
208
176
195
172
147
171
115
174
187
150
186
135
179
112
208
150
230
150
250
150
112
150
187
246
201
150
193
176
208
150
176
152
170
152
181
171
112
220
165
172
210
167
112
194
233
164
218
147
150
167
167
237
219
172
210
121
159
171
159
172
209
121
194
112
112
112
150
172
167
124
156
165
211
218
112
150
150
161
170
194
208
170
135
208
160
228
150
205
112
205
115
150
203
150
195
240
177
150
196
172
121
121
170
194
198
208
167
196
195
137
176
121
210
172
167
121
194
237
150
176
150
121
176
160
167
170
237
192
171
150
208
197
132
201
130
160
121
150
208
135
112
181
202
217
170
150
172
150
202
167
135
167
112
208
112
210
201
150
167
136
250
194
212
181
150
150
260
217
112
112
205
121
228
150
232
123
208
112
121
158
168
205
121
121
150
228
112
150
177
278
304
159
172
170
194
158
160
215
150
186
172
112
150
228
235
202
176
156
136
202
215
159
231
171
202
224
172
205
170
231
213
171
176
136
170
172
214
121
233
208
208
245
150
158
192
174
236
121
121
231
112
150
165
171
208
193
193
237
112
219
146
257
215
112
160
167
195
150
121
226
194
112
177
174
150
112
236
121
181
219
112
181
200
187
187
276
172
176
208
187
172
233
150
201
212
112
150
218
236
150
121
243
135
121
150
146
167
121
121
177
112
159
170
150
208
150
193
112
158
130
147
147
150
150
250
121
112
112
170
172
121
181
243
150
112
263
239
226
150
172
158
112
121
203
112
112
112
207
112
186
121
150
182
128
210
186
171
171
158
258
206
212
177
112
217
195
121
208
137
121
121
115
147
218
167
174
135
195
121
231
150
219
150
164
194
123
187
175
150
186
172
123
112
176
159
177
176
150
157
123
175
181
150
147
121
136
208
150
170
202
130
121
208
193
177
282
167
164
121
112
238
201
210
172
112
195
184
181
135
177
150
195
194
193
146
167
187
186
195
135
201
231
112
229
193
242
135
150
121
231
218
219
135
112
112
121
136
121
158
112
112
112
171
218
150
171
239
177
193
164
112
181
167
181
150
150
172
171
239
181
173
150
172
132
150
121
160
193
150
150
143
150
198
253
157
219
200
187
212
194
172
150
150
158
195
167
170
150
150
250
171
170
112
201
112
172
203
223
112
156
213
135
156
179
172
237
121
112
177
112
112
194
250
150
121
150
201
150
150
121
239
239
112
228
171
150
152
121
174
181
201
214
165
137
284
170
150
193
121
170
193
150
123
208
165
186
171
208
220
167
150
167
172
112
212
263
135
228
135
144
112
150
193
165
208
124
208
147
112
177
160
197
170
172
255
200
137
238
150
121
115
196
202
150
121
150
147
194
176
242
150
150
112
150
167
135
240
263
115
193
124
164
210
170
150
208
150
112
112
231
255
228
136
164
150
170
121
121
230
121
210
194
177
189
170
193
135
220
229
121
150
235
201
171
121
136
201
181
302
181
112
210
210
193
121
159
121
206
223
136
112
219
112
160
147
215
112
172
156
172
207
205
203
199
239
150
150
121
123
218
143
243
121
176
156
150
176
150
171
235
269
228
112
170
136
235
150
187
186
167
174
174
222
220
150
203
112
172
264
167
150
150
217
195
187
258
212
177
204
112
301
112
231
121
312
171
121
165
127
136
242
121
276
112
239
121
121
170
112
187
173
200
167
112
299
236
150
193
123
137
150
121
150
121
121
171
176
150
150
219
152
215
219
187
158
219
150
112
212
136
135
237
176
160
150
229
250
229
131
181
168
143
115
218
156
150
150
165
220
159
283
202
146
123
194
231
112
229
227
237
264
230
203
225
112
205
112
239
121
121
210
112
150
210
124
160
112
115
121
167
170
240
181
150
224
121
123
189
189
171
259
124
240
112
112
135
123
137
137
170
214
150
150
112
150
201
197
208
217
274
195
146
192
147
208
187
233
229
205
165
170
189
147
121
124
210
150
170
278
170
208
186
150
205
167
160
112
171
170
264
193
146
208
225
186
170
150
219
165
215
172
232
171
150
135
137
228
192
130
135
168
121
171
208
150
167
238
112
178
136
150
167
137
136
184
167
211
150
123
224
202
208
165
156
195
171
170
202
187
225
202
208
192
115
193
170
150
284
171
121
207
164
173
121
299
135
112
112
170
184
250
164
150
123
181
204
202
167
208
121
213
150
167
167
147
150
195
150
170
216
231
231
204
255
229
131
243
150
228
121
150
179
123
128
174
181
156
190
170
235
186
164
121
204
174
161
193
168
150
231
302
146
208
276
135
232
115
257
112
255
165
150
203
190
194
150
123
165
123
193
205
263
150
124
228
181
123
220
172
195
115
145
276
121
121
171
208
144
121
228
150
121
172
112
162
150
193
146
147
193
172
170
165
150
203
158
171
193
178
150
208
170
121
158
167
208
112
162
227
150
228
208
123
228
196
228
194
167
208
121
121
255
174
181
152
237
264
150
136
193
213
150
121
171
150
121
165
219
124
123
237
194
152
228
201
264
150
203
171
150
205
176
212
175
130
167
112
238
229
121
112
175
167
165
210
237
195
160
203
115
143
152
228
150
189
211
276
274
187
150
167
121
121
176
186
150
112
112
121
209
130
150
229
195
136
172
150
150
184
115
190
177
171
210
170
150
172
228
164
150
121
206
220
231
236
150
112
112
128
208
147
228
237
170
207
242
189
195
217
121
208
112
136
201
112
112
170
234
186
203
112
226
228
121
156
124
201
218
170
121
275
172
187
171
162
186
156
201
112
181
172
167
195
136
193
239
193
201
212
227
150
234
123
150
123
112
209
171
235
204
208
165
186
228
121
172
150
121
170
121
150
123
214
112
193
167
150
172
147
121
121
231
176
177
208
170
201
181
170
112
167
207
241
123
208
167
208
165
150
225
181
115
121
150
170
205
150
150
130
150
137
144
210
112
171
137
165
112
208
123
219
136
167
112
181
112
121
121
150
208
123
159
170
172
150
123
144
218
193
206
112
160
121
181
213
186
258
193
210
121
177
150
112
150
136
220
238
147
195
167
159
202
218
277
165
171
137
150
170
137
265
112
239
178
128
181
219
115
171
178
150
170
112
172
214
152
270
208
207
186
181
208
167
150
156
157
186
167
170
112
181
242
170
193
212
112
150
174
209
195
112
135
195
175
229
150
165
194
212
203
115
210
112
136
147
137
150
217
207
206
175
208
150
208
135
199
167
234
202
228
219
263
131
144
157
237
170
112
172
214
135
194
185
150
186
176
123
208
236
150
192
160
224
232
208
209
263
171
171
174
226
268
176
170
181
171
150
168
247
187
150
203
135
181
220
168
202
237
150
150
172
201
150
195
115
195
150
150
150
237
192
214
196
210
227
208
175
226
112
112
156
152
160
193
167
184
208
165
150
212
135
171
150
208
208
208
167
302
112
112
171
267
181
121
170
187
158
250
112
112
208
152
229
186
164
207
159
189
219
171
221
147
207
184
170
209
239
191
150
212
121
121
172
150
167
150
202
189
150
189
220
255
160
203
164
150
181
167
112
147
144
181
123
112
147
172
248
174
147
184
239
253
167
128
150
150
195
251
170
278
128
195
131
112
231
194
112
212
165
112
172
112
121
212
170
212
228
135
112
121
152
172
167
201
178
172
150
150
167
167
172
205
139
159
112
123
128
201
208
164
147
112
137
112
278
123
167
228
121
194
147
121
165
112
167
160
171
150
121
281
112
112
208
228
216
150
208
165
172
237
177
219
123
150
176
219
193
172
208
167
152
170
171
172
137
165
150
201
112
171
214
234
112
112
239
150
150
123
217
112
115
150
150
150
158
150
232
237
112
193
244
244
186
150
208
112
194
115
121
121
130
159
137
174
228
150
212
195
232
194
150
181
124
194
121
158
194
194
203
150
123
175
170
170
212
186
172
172
112
171
177
112
182
112
234
150
121
247
112
220
181
233
219
194
205
170
208
264
152
165
150
239
170
123
135
130
208
150
196
220
150
174
112
171
185
170
123
213
186
194
123
216
240
212
208
210
172
184
130
147
150
121
136
227
150
167
207
135
131
215
112
150
136
172
194
121
123
150
212
208
158
205
124
137
112
189
210
150
135
176
193
172
263
208
237
124
225
150
212
121
237
150
209
218
172
210
136
172
218
172
219
207
175
201
176
228
121
202
123
203
150
150
212
219
123
185
208
168
112
250
224
220
237
150
150
137
209
208
159
115
112
150
123
171
137
192
208
205
150
170
170
164
167
208
239
165
135
123
231
281
170
205
181
184
112
115
137
143
121
171
198
156
176
150
170
136
177
210
150
157
147
150
150
112
167
210
112
150
190
213
115
176
158
150
121
150
205
247
226
167
264
257
192
208
232
195
123
189
288
276
121
239
175
222
237
150
177
112
186
160
147
112
218
171
223
208
184
121
170
181
250
121
172
181
258
112
150
121
121
171
144
165
185
212
203
238
210
182
195
150
263
124
112
150
115
147
201
121
143
187
194
233
225
147
247
143
215
201
112
121
184
121
121
257
208
177
150
229
164
193
208
112
224
281
150
170
150
112
193
115
175
210
150
210
121
112
225
187
172
121
175
263
202
243
220
232
112
208
168
121
150
137
170
112
170
202
150
208
198
158
172
239
193
115
212
135
121
158
167
112
170
297
150
167
167
232
202
181
186
181
171
123
112
121
121
121
181
121
136
170
121
150
171
174
237
150
150
223
210
179
170
174
194
218
152
201
209
227
172
150
225
236
177
112
150
123
156
171
150
121
175
112
207
203
157
243
131
112
172
150
147
167
174
200
170
156
177
121
231
219
150
112
150
177
135
171
216
143
164
253
200
150
193
195
123
220
208
208
112
202
112
275
121
150
165
130
150
232
193
150
194
112
171
172
181
202
136
150
139
112
132
112
150
159
237
112
124
123
210
202
181
121
150
186
147
216
194
254
208
128
170
202
150
112
170
150
201
261
225
170
172
121
128
228
115
201
123
201
189
194
193
128
147
231
172
187
211
165
208
144
150
201
203
176
167
130
112
167
239
168
167
112
196
242
181
228
156
112
193
128
250
136
259
164
112
121
112
244
208
112
170
175
124
121
112
228
112
121
238
112
112
228
170
172
112
112
150
172
123
123
164
219
236
272
112
194
208
159
121
156
227
274
128
112
115
176
182
121
276
115
235
208
143
170
112
137
150
158
159
208
170
159
135
257
172
224
190
206
112
229
156
270
201
150
145
130
121
217
208
167
170
123
147
194
121
165
177
150
171
121
218
172
112
210
124
226
137
137
157
121
199
121
249
167
137
115
176
172
112
202
245
152
112
160
150
184
156
194
150
170
238
218
228
121
203
147
200
228
194
208
172
171
237
150
210
150
121
123
208
208
150
112
121
156
192
165
172
123
150
159
112
184
213
207
121
187
152
208
150
150
150
112
194
181
112
145
115
187
194
136
208
121
174
150
115
160
212
150
235
112
165
170
207
195
228
150
159
208
168
115
150
205
150
241
217
150
167
220
121
128
210
112
203
121
121
150
121
181
112
123
128
130
160
172
237
171
170
172
192
208
187
168
297
202
150
135
172
214
167
121
228
123
115
181
112
215
170
150
112
158
245
237
203
121
193
112
171
167
115
112
176
150
158
238
202
171
228
170
112
181
195
250
167
208
208
121
150
181
297
123
186
210
229
172
137
187
228
172
194
186
165
121
170
112
279
193
207
150
176
150
150
135
255
203
192
123
208
167
186
217
237
228
123
150
115
254
121
121
172
195
123
230
237
165
176
200
112
206
112
115
170
197
112
130
112
167
121
187
123
165
193
124
164
112
112
112
121
167
242
193
164
121
224
167
192
226
181
121
160
172
208
281
112
121
170
167
196
121
112
215
170
150
176
141
136
205
112
204
150
147
170
179
302
178
184
170
208
208
152
123
152
159
220
112
187
194
228
112
131
208
160
217
147
208
112
121
236
194
121
112
208
150
158
121
187
195
121
150
150
208
177
112
193
164
112
181
150
167
121
175
164
202
195
150
150
207
223
193
187
112
121
171
189
207
156
167
202
150
150
212
112
187
112
186
167
112
121
172
112
121
175
171
147
272
174
208
218
237
172
123
208
228
135
147
342
121
208
150
150
181
193
121
136
121
130
242
158
112
112
181
207
115
225
203
123
165
181
223
121
150
215
115
208
128
121
112
219
170
225
208
112
172
208
214
167
167
150
170
150
208
187
193
159
202
237
123
172
124
186
121
181
112
233
172
208
158
171
167
112
175
228
192
233
150
121
205
173
194
236
164
171
172
175
181
231
170
231
209
152
150
150
199
208
237
201
150
121
206
164
112
172
231
231
112
193
193
135
150
150
150
165
121
150
136
167
208
171
150
128
181
168
112
208
186
150
115
161
276
150
172
274
137
201
121
193
112
176
173
124
212
112
175
172
121
175
121
183
124
172
192
150
210
219
150
187
210
176
167
161
255
170
185
124
219
174
208
205
128
217
135
255
150
205
186
150
179
237
231
150
172
204
228
212
150
170
181
172
124
219
190
210
253
181
130
121
150
172
121
147
112
167
121
112
150
176
208
150
186
233
228
112
279
176
150
195
112
160
179
203
147
150
186
203
302
112
230
228
186
135
121
167
123
208
171
183
208
112
150
225
194
213
201
150
212
121
160
150
193
220
227
136
150
172
115
150
228
150
146
121
121
137
112
157
136
137
112
181
246
214
210
172
121
170
195
226
194
172
150
121
121
189
152
121
150
240
156
181
147
144
176
204
153
112
179
225
172
168
160
263
121
172
196
168
160
172
160
176
186
115
124
208
193
186
121
150
176
150
130
174
171
121
121
210
192
193
177
167
146
219
143
171
171
135
192
208
135
216
112
192
229
177
137
171
175
124
167
194
150
208
213
202
112
112
121
240
201
121
233
123
176
181
112
150
159
207
240
297
265
176
174
186
201
190
228
194
123
150
161
177
121
172
121
203
229
112
150
172
190
167
158
202
168
124
181
136
112
229
201
210
228
112
235
252
178
165
112
233
174
146
112
229
159
150
137
181
170
115
182
167
302
193
164
121
195
255
112
121
121
150
170
167
167
123
187
150
218
218
165
207
150
212
228
193
208
150
241
237
219
150
172
170
150
176
214
121
228
269
207
186
150
212
171
211
193
115
165
170
204
220
229
150
172
136
225
171
171
170
176
123
176
174
150
121
150
112
112
150
147
201
115
115
160
214
115
170
136
170
181
192
192
176
135
124
165
195
193
112
150
212
181
228
215
112
112
187
187
192
158
121
128
250
175
137
205
167
121
228
112
181
170
121
208
186
112
239
250
172
208
112
158
121
150
167
167
181
150
201
229
193
171
225
174
302
208
112
165
220
146
128
165
205
208
207
170
172
195
220
121
210
210
121
171
187
150
121
171
255
136
124
170
210
194
192
194
168
150
255
164
208
150
112
255
204
181
112
201
112
229
150
172
210
150
226
228
121
171
171
115
170
171
181
150
216
160
161
152
143
156
208
115
187
171
121
192
121
150
174
218
167
167
147
170
150
112
115
208
176
172
265
184
115
186
230
167
152
167
167
112
159
201
112
162
192
121
172
165
121
112
112
167
264
158
176
167
209
137
150
124
161
186
112
130
218
197
121
215
211
167
172
150
210
172
177
121
170
172
147
193
123
167
228
208
112
156
131
220
177
150
150
172
208
187
209
297
170
197
150
115
196
278
128
143
177
159
172
192
172
150
170
240
112
232
194
112
150
121
210
194
164
112
190
145
205
121
143
121
112
123
194
278
241
164
112
172
237
150
207
217
176
176
121
203
234
167
112
150
208
167
174
150
121
167
210
250
208
167
195
172
150
150
165
183
190
186
196
121
279
176
176
124
150
112
184
167
121
112
121
193
112
157
123
176
150
150
121
150
255
135
216
174
176
186
150
150
150
150
181
181
219
202
210
193
212
176
276
225
229
112
112
222
208
123
205
112
210
158
183
112
210
186
121
121
181
158
121
179
241
150
137
136
167
121
150
135
177
150
112
192
112
171
158
160
194
174
150
121
159
212
229
181
208
136
170
194
241
202
208
135
112
210
112
180
156
181
112
115
167
219
112
135
220
171
208
194
123
164
228
112
194
187
170
156
195
121
267
188
177
228
220
171
257
112
195
172
165
137
121
294
205
212
121
250
287
152
201
179
167
121
115
156
275
112
171
164
207
247
170
208
135
112
183
121
121
182
112
115
176
215
172
194
176
150
112
156
112
219
202
150
220
302
250
174
112
123
297
172
170
171
297
159
218
150
231
212
187
240
121
112
112
112
302
170
136
147
170
170
193
252
112
121
150
189
124
112
239
123
121
168
179
171
147
121
193
210
135
176
121
171
170
121
137
112
176
270
121
195
112
258
216
112
172
236
208
226
167
150
150
167
199
121
115
187
146
247
137
150
172
219
212
112
229
186
176
135
112
169
121
172
124
232
135
160
171
170
112
112
223
233
150
167
165
167
152
212
199
150
208
208
181
121
172
150
150
115
176
239
115
131
342
172
150
174
175
243
150
121
112
172
112
150
112
176
176
150
226
171
239
172
208
208
172
121
177
124
199
228
234
186
147
115
112
200
112
159
195
165
150
172
137
208
208
121
158
172
112
156
170
219
240
121
174
128
147
198
208
123
186
171
168
240
181
194
237
228
275
258
194
172
121
193
147
167
112
121
208
205
167
236
172
181
150
192
240
178
150
229
167
208
121
135
170
172
150
112
195
193
150
192
176
123
219
150
237
246
147
112
208
150
208
197
186
121
172
172
150
112
239
150
136
171
135
112
184
112
195
147
208
171
121
208
135
172
232
208
255
112
212
157
172
160
112
121
121
167
150
171
255
210
226
168
150
192
172
208
112
121
165
121
167
264
225
167
181
190
177
174
164
121
167
203
220
174
177
183
195
147
229
171
216
170
174
150
171
203
179
210
278
208
208
150
233
158
112
165
205
230
194
128
159
112
208
178
115
210
150
278
165
121
112
121
237
112
195
216
176
186
176
193
165
172
231
288
112
208
177
207
208
186
186
201
209
121
150
136
211
171
150
228
194
172
172
192
171
121
193
165
137
170
112
159
176
172
147
276
130
150
150
177
208
209
203
194
158
112
112
171
244
143
123
112
112
186
198
112
136
150
150
150
130
135
219
150
150
186
216
112
181
159
161
212
165
150
150
202
160
201
124
184
193
146
158
168
237
112
167
159
150
121
136
150
212
237
210
172
212
150
124
208
150
170
170
150
223
121
158
112
170
121
121
174
121
165
112
147
121
237
214
208
223
121
150
121
124
215
156
172
186
112
167
158
212
170
170
167
171
165
150
226
208
194
194
179
121
147
237
256
112
276
226
299
231
172
226
128
278
250
121
201
170
186
171
115
181
176
150
150
172
236
217
202
150
202
158
208
171
227
123
212
234
121
171
229
159
194
172
208
214
147
187
150
121
167
130
167
216
176
150
181
219
186
123
170
228
202
258
156
170
208
217
150
167
150
228
181
210
237
150
121
278
147
208
123
112
152
112
167
150
112
186
225
187
123
130
112
150
170
143
115
177
130
170
208
206
172
208
203
167
219
170
186
171
193
186
181
227
171
170
150
278
170
225
135
121
177
200
195
150
135
175
218
265
112
121
212
208
112
174
175
280
184
164
121
165
150
235
123
160
170
228
171
150
121
194
112
235
181
128
121
112
212
112
115
112
121
228
204
123
170
150
150
150
115
177
254
150
160
201
123
123
160
150
150
237
112
240
238
181
130
208
172
239
112
123
263
203
250
302
143
144
186
172
212
217
150
175
143
194
172
172
187
228
137
212
231
172
168
156
158
208
209
186
170
172
250
208
279
115
208
150
193
172
171
203
121
174
176
242
159
167
170
259
225
130
167
171
181
112
130
173
202
121
279
264
156
167
189
220
112
208
150
167
160
208
255
197
243
208
194
176
115
168
112
150
136
228
123
245
281
112
121
198
235
121
115
170
167
150
194
150
208
150
201
186
167
112
208
143
121
186
157
212
150
217
172
200
221
112
196
167
229
150
121
177
128
162
150
152
112
187
150
159
171
231
165
139
121
236
216
167
187
165
147
121
167
150
121
172
150
170
171
112
219
172
112
208
112
150
182
157
178
150
181
121
112
162
165
112
208
150
203
170
186
208
258
156
162
192
271
150
172
115
137
150
192
228
141
174
179
188
195
121
196
123
150
112
150
219
157
112
276
124
219
121
258
121
219
233
150
231
171
150
244
243
165
121
124
112
157
115
150
194
181
194
136
233
112
192
208
195
278
266
156
229
208
228
135
115
237
159
121
241
121
160
150
150
150
190
216
170
194
208
121
228
187
218
181
154
112
130
171
112
196
181
150
208
161
162
174
190
112
192
112
115
179
217
112
112
171
123
200
239
175
161
167
121
202
137
160
194
170
228
176
150
121
135
121
195
150
210
135
112
147
167
150
172
112
255
172
123
181
210
181
150
171
135
176
193
150
194
150
112
202
130
112
150
240
170
201
208
250
172
112
210
176
121
186
150
204
176
202
121
123
121
225
171
128
136
212
181
237
176
255
170
121
121
121
237
193
194
136
152
187
171
181
121
231
150
181
172
243
202
181
176
222
208
170
150
112
215
150
303
172
112
115
225
167
208
208
150
195
112
150
150
157
191
259
232
190
201
136
179
121
112
112
193
186
218
202
112
216
121
220
128
215
146
172
121
150
203
112
205
160
175
150
121
164
121
170
170
230
121
139
284
158
112
176
203
150
167
112
164
219
179
172
150
112
150
165
212
150
135
172
123
214
208
150
170
137
247
203
165
167
209
208
171
172
208
165
112
208
167
167
112
240
112
172
238
255
217
128
112
167
159
150
176
135
208
278
173
121
164
112
208
176
239
121
176
170
302
193
193
163
186
150
165
150
135
112
193
121
207
194
176
202
229
144
147
198
181
135
112
160
220
171
212
150
165
202
237
317
150
150
112
150
121
194
167
217
112
208
168
196
171
112
167
237
164
208
112
170
172
172
112
194
167
167
204
135
152
176
150
150
278
112
124
160
112
121
167
159
219
193
121
167
171
112
121
175
121
208
153
150
170
178
174
201
208
237
177
178
121
150
165
152
194
170
187
181
147
174
123
112
165
197
164
121
235
262
282
172
186
208
181
123
219
147
258
147
168
220
167
150
123
121
204
226
164
150
172
130
167
112
172
186
143
121
210
112
112
123
112
219
177
176
150
121
212
147
137
172
165
164
177
192
239
172
134
212
200
167
159
150
150
112
167
170
181
150
228
167
176
172
121
165
123
144
228
208
164
174
206
112
147
123
171
130
205
121
195
196
175
137
165
135
170
112
124
150
195
123
203
170
150
150
124
202
137
172
112
181
194
181
200
121
150
112
121
208
210
211
176
172
216
121
171
112
159
210
171
137
123
171
158
181
237
167
264
150
252
208
181
172
212
165
165
121
150
135
135
229
112
112
165
211
112
150
205
150
182
121
181
212
112
144
246
150
137
137
150
248
204
121
178
121
121
203
171
112
167
150
168
194
150
192
171
208
251
112
181
170
112
203
172
174
231
150
170
150
181
112
172
195
112
112
112
150
172
150
150
253
150
123
112
167
152
178
276
170
229
208
175
170
167
137
121
193
181
115
121
152
121
121
176
176
201
174
143
228
207
123
112
150
229
194
112
150
176
173
172
250
172
121
136
201
168
167
150
237
121
175
172
172
181
177
160
228
159
174
219
169
181
215
172
172
179
150
112
128
231
208
112
255
250
171
208
157
165
150
150
150
177
123
220
228
121
112
150
121
171
184
150
227
297
150
143
160
220
171
172
144
181
112
233
243
166
194
115
178
187
165
203
231
112
172
150
150
170
112
150
220
208
115
181
152
219
184
124
250
135
121
196
123
237
121
193
225
154
172
112
220
167
203
170
158
210
167
123
181
112
150
165
228
112
167
240
167
168
209
220
181
201
180
136
121
137
156
147
184
208
150
170
112
176
172
197
195
181
212
152
197
165
150
112
150
199
172
112
208
136
209
181
181
115
121
150
159
194
182
150
150
121
199
158
115
229
165
165
165
163
226
182
184
187
253
181
164
170
143
175
208
185
167
231
193
172
112
228
150
186
228
195
186
200
255
215
208
112
208
150
208
150
137
150
197
204
112
212
208
244
172
143
179
203
208
172
302
270
171
123
135
255
171
266
257
253
206
220
208
150
218
159
187
177
112
275
121
170
112
281
182
172
150
193
263
172
112
165
210
112
208
144
170
150
237
147
172
112
181
194
160
232
204
170
225
143
227
112
203
171
150
165
171
181
193
187
193
136
220
208
146
182
171
150
121
123
115
208
121
194
231
124
150
172
263
150
243
228
213
202
112
172
158
170
170
139
150
121
123
257
150
136
112
263
171
220
208
121
208
222
197
150
223
233
194
167
170
112
193
201
167
150
171
124
121
144
112
150
121
165
170
170
150
174
150
193
168
121
147
233
216
130
170
135
181
217
194
167
150
202
121
187
212
124
150
187
208
186
238
150
192
206
112
165
176
156
253
167
135
192
181
172
205
167
176
209
212
115
170
150
194
150
193
112
202
181
149
194
157
186
195
160
193
112
208
173
278
112
215
297
137
167
121
241
205
165
160
159
150
175
112
193
192
121
135
187
233
137
150
237
243
112
208
172
202
147
167
121
150
246
194
192
146
121
172
176
276
121
200
164
115
179
135
167
121
214
208
199
168
137
170
229
172
201
112
273
150
176
112
195
150
209
170
112
174
263
150
121
208
121
167
121
150
208
167
194
121
184
150
150
158
202
176
170
170
123
112
174
176
150
112
172
112
187
169
150
112
172
275
165
158
175
150
196
152
186
121
183
208
231
121
176
150
208
135
171
210
181
159
172
172
123
228
221
226
172
112
188
121
128
112
159
210
168
167
172
121
176
208
208
150
203
159
181
165
164
112
112
201
172
215
150
188
236
186
121
112
229
186
208
187
208
150
150
150
121
170
218
172
174
143
220
123
112
170
112
219
136
150
152
208
150
170
150
170
112
112
226
208
135
187
176
165
112
192
184
150
193
219
193
156
150
193
276
219
112
112
124
226
215
150
135
121
205
150
146
121
202
167
112
203
121
112
150
150
136
230
197
165
168
136
112
150
150
136
156
177
181
209
150
207
181
164
208
150
233
150
186
165
210
112
208
115
203
208
121
208
150
121
213
150
225
181
172
195
172
130
162
171
112
161
150
302
137
194
216
219
174
187
150
193
124
121
150
112
167
150
171
121
150
209
217
229
177
211
208
144
181
232
112
210
121
195
194
112
259
170
150
208
194
112
240
171
168
207
225
235
225
221
172
158
208
147
302
209
150
146
121
217
172
112
121
121
194
170
202
299
164
157
170
208
112
228
208
135
156
123
174
172
150
195
123
172
135
203
237
121
121
176
167
208
150
121
123
181
190
150
172
150
165
150
239
164
181
186
231
112
194
208
112
186
150
218
168
208
189
186
200
187
160
150
150
211
135
171
135
174
175
171
165
208
112
160
229
115
202
167
175
135
147
150
165
112
239
210
233
150
172
130
171
193
171
237
193
202
124
212
238
233
164
112
143
196
250
150
150
150
208
187
174
203
263
243
220
239
193
121
121
143
176
121
121
170
147
208
150
150
165
217
156
186
239
186
288
208
238
237
161
212
186
228
246
135
208
215
212
206
193
150
124
190
167
174
150
170
124
250
192
123
150
152
165
176
200
194
167
112
112
215
207
150
184
171
167
276
123
226
181
167
150
150
237
112
121
205
181
167
150
170
112
205
112
112
208
208
201
172
195
150
186
276
112
158
171
112
121
112
257
150
137
217
150
159
170
257
150
176
170
167
192
150
193
112
150
164
176
152
186
240
121
122
159
124
164
185
147
210
123
150
238
165
123
257
274
150
128
172
150
137
112
208
150
181
112
187
228
167
112
167
112
228
150
174
174
230
194
208
196
162
266
194
137
112
225
121
181
144
135
121
267
215
201
208
112
243
121
195
229
228
136
210
172
115
218
135
201
160
184
258
147
112
297
112
112
112
207
247
147
193
181
223
216
195
172
171
215
186
187
208
243
228
112
181
112
305
112
257
176
201
170
164
228
160
170
222
150
210
112
208
112
150
150
172
186
207
112
123
150
236
186
164
152
276
176
204
159
112
115
237
208
150
210
208
216
150
150
176
208
236
220
174
172
150
165
112
250
135
208
121
170
121
194
156
147
170
165
168
265
121
212
170
172
172
193
228
237
112
193
229
170
204
225
179
194
172
181
208
136
194
260
193
112
202
164
167
217
150
112
172
136
167
121
150
184
172
128
226
172
195
112
152
160
194
123
208
219
167
144
115
202
150
150
112
112
159
167
150
219
128
112
212
143
159
150
227
170
192
174
244
135
147
181
243
167
211
212
193
186
167
228
181
167
186
156
150
135
158
194
228
112
156
152
216
177
121
217
150
225
176
182
150
150
150
181
177
123
218
177
175
121
212
210
168
150
171
198
124
194
212
177
194
171
217
208
208
250
121
193
205
131
193
299
150
224
194
112
246
172
223
240
123
150
208
176
150
112
201
164
181
130
239
167
159
123
150
167
150
150
263
164
121
278
167
150
170
123
210
137
228
207
208
150
150
192
215
201
172
253
170
171
150
181
167
172
181
241
208
112
233
213
201
160
220
231
208
171
208
269
167
234
239
145
112
201
115
225
228
220
172
202
123
170
121
121
230
253
217
171
176
228
174
150
176
193
176
112
121
161
112
121
164
173
170
186
242
187
206
228
112
150
222
112
208
171
121
121
176
195
170
135
171
208
123
112
228
208
172
187
165
160
191
121
211
112
112
175
121
229
233
167
171
193
121
179
187
165
134
208
172
208
193
208
179
112
150
184
112
171
112
121
135
195
130
150
210
167
199
112
136
112
208
215
136
170
150
130
181
208
112
167
131
115
172
208
166
208
150
165
187
187
147
208
241
168
164
174
135
112
121
193
231
192
184
121
186
137
112
158
186
150
121
263
208
150
171
219
194
170
205
233
128
208
158
165
198
231
228
170
121
212
197
167
165
152
192
186
147
208
143
255
231
136
181
165
202
121
123
237
193
202
135
150
176
115
170
233
150
208
193
200
172
121
112
150
121
150
218
174
112
172
222
167
123
195
171
167
150
170
208
112
176
207
172
184
121
181
147
227
177
228
112
172
181
112
158
150
186
170
208
167
167
167
279
193
250
150
205
121
208
239
170
146
202
194
167
255
186
186
121
194
150
165
263
135
194
177
112
237
172
213
123
145
208
167
180
121
178
112
192
121
150
208
208
167
202
228
160
208
123
112
217
208
123
167
135
112
219
240
182
160
219
153
170
187
194
137
232
187
193
181
115
195
229
167
115
150
150
167
172
164
121
173
123
203
123
256
210
165
170
121
172
150
217
112
164
172
112
123
123
112
150
167
150
176
164
163
212
112
193
150
208
228
121
136
170
150
272
150
121
112
202
262
193
201
208
112
239
128
121
171
112
150
209
112
202
188
235
202
228
202
173
150
199
123
168
207
218
165
112
193
212
112
178
219
121
208
167
176
255
208
112
115
150
150
167
181
150
150
112
112
121
150
170
257
237
124
208
112
123
112
215
208
171
123
112
121
150
165
227
272
167
194
181
205
217
208
115
193
226
200
112
168
167
171
175
201
201
223
217
228
228
121
150
172
208
181
254
193
187
130
234
121
167
150
193
173
202
171
237
143
150
230
150
237
158
220
112
167
187
172
215
278
112
172
121
228
112
192
121
223
121
112
216
264
150
112
207
124
172
123
208
231
193
183
121
150
237
112
243
152
150
150
207
207
150
121
150
239
208
164
150
121
215
239
147
150
137
158
194
115
150
184
231
115
170
115
185
152
239
150
150
215
189
136
186
165
239
131
203
112
218
147
160
182
172
112
234
121
150
262
137
208
123
205
150
112
210
210
192
121
243
177
158
112
193
150
147
157
178
239
112
115
181
135
187
165
121
121
150
186
205
171
150
171
150
121
170
123
228
172
150
123
195
203
150
121
181
176
197
200
150
165
172
150
243
112
237
165
137
196
202
167
193
195
167
250
160
220
176
150
181
208
112
172
207
228
176
210
112
112
150
123
123
121
172
187
121
243
144
121
150
168
208
124
194
175
218
165
164
112
147
193
175
172
170
258
147
121
214
208
187
150
121
195
115
121
207
212
112
158
150
150
160
207
150
121
172
176
215
112
172
181
233
176
150
112
112
231
136
255
121
208
150
170
217
150
208
112
210
194
112
230
168
232
164
163
171
195
170
232
158
267
121
121
229
208
186
260
150
257
212
234
241
211
195
209
139
112
172
156
167
150
112
217
228
165
217
136
192
158
195
165
172
171
172
137
203
231
160
188
186
135
172
205
121
121
112
193
150
228
242
137
135
112
250
164
186
121
112
208
112
147
172
194
143
112
172
112
176
137
208
205
231
275
228
167
208
208
172
193
150
204
167
170
244
167
250
112
150
172
172
252
159
177
121
150
161
150
187
150
150
195
177
228
215
147
177
136
112
172
208
112
266
150
159
130
171
150
112
186
208
236
150
170
228
239
194
210
150
165
222
176
193
135
136
112
150
179
215
220
112
255
150
193
193
208
121
192
171
170
208
124
172
219
150
193
143
175
208
136
177
130
147
215
112
239
167
123
165
156
171
171
136
193
196
217
112
230
209
121
112
208
150
139
167
171
112
157
123
208
194
205
150
212
115
112
212
230
164
150
171
112
203
150
186
213
147
123
167
208
189
121
121
208
167
186
170
177
210
121
226
237
158
150
136
215
195
112
123
174
115
209
192
187
150
186
150
137
136
178
170
237
121
172
196
214
150
243
136
165
201
170
150
208
130
170
230
181
150
164
233
150
262
211
121
150
143
172
170
112
186
167
150
172
150
205
171
222
172
187
181
177
207
302
164
205
276
203
193
201
228
150
150
172
202
192
165
228
165
112
232
218
225
245
170
172
217
150
223
172
181
150
246
150
186
130
231
112
167
186
218
112
181
158
208
121
112
201
258
150
112
131
165
229
121
112
234
202
263
130
137
176
171
196
206
136
208
219
164
170
167
123
201
204
170
137
167
174
152
208
112
124
112
123
124
115
123
136
187
212
208
228
222
198
112
150
136
208
112
206
203
170
152
269
193
112
176
176
167
121
203
283
187
186
233
208
150
176
167
152
137
226
210
234
112
226
174
152
135
187
204
192
209
175
121
233
171
147
164
194
186
150
255
172
112
228
202
112
187
121
136
192
263
112
121
228
177
225
203
150
236
168
171
233
121
112
164
210
206
228
177
121
237
221
171
172
121
112
210
176
150
165
243
177
147
170
150
150
208
172
186
234
202
121
112
137
244
121
200
210
150
190
201
228
190
121
176
135
167
112
200
161
150
208
189
167
150
226
194
231
150
196
201
179
253
187
137
208
225
193
194
121
121
213
112
167
236
112
187
150
212
207
208
265
121
150
112
124
184
174
208
218
212
144
203
186
167
302
161
171
156
196
228
150
177
176
158
205
197
172
237
150
168
112
121
208
121
167
216
150
175
177
131
232
156
152
174
150
208
250
136
121
112
168
115
112
112
181
215
150
167
228
121
171
136
203
243
171
150
185
210
167
195
162
123
193
172
226
228
187
186
167
150
167
171
187
185
160
194
112
170
128
202
150
211
228
147
121
207
202
266
112
187
157
228
137
186
158
229
175
231
167
112
172
168
172
123
202
152
186
174
112
181
187
230
219
208
136
200
167
194
172
121
187
202
112
121
112
112
220
121
152
176
131
121
115
219
228
224
199
147
150
301
201
208
150
112
232
123
167
121
228
210
150
112
233
232
112
136
150
171
150
167
284
151
208
208
150
202
210
160
121
208
172
239
172
112
194
181
228
208
165
172
177
184
255
243
121
150
171
150
121
240
194
217
187
193
239
164
115
208
112
172
208
112
150
171
231
184
182
176
179
136
278
146
190
135
208
264
121
121
198
150
187
212
203
150
213
121
150
272
208
233
112
258
121
302
112
172
231
121
211
165
187
137
167
250
150
214
121
194
164
202
212
201
203
115
128
176
165
161
171
208
263
121
165
182
130
115
112
231
165
171
225
164
202
121
150
112
157
121
208
112
167
150
112
218
150
210
112
115
195
213
204
176
136
199
226
123
150
121
217
136
144
174
150
193
194
162
165
219
208
150
121
187
112
202
172
192
255
112
202
209
177
123
124
194
167
239
123
150
112
164
241
181
226
121
150
156
121
121
112
202
121
212
212
228
212
135
187
250
150
156
121
193
123
194
233
160
201
208
170
172
214
150
150
121
150
167
121
112
121
216
160
277
121
210
201
112
202
265
137
150
170
121
207
207
223
128
158
208
195
205
211
121
150
168
112
112
220
186
201
121
187
112
136
150
137
225
150
231
112
147
121
232
203
165
244
123
164
218
208
124
208
121
150
176
112
203
202
194
194
171
167
220
208
121
150
171
167
170
112
150
202
186
150
226
254
124
112
202
170
164
150
171
239
123
208
253
150
218
168
229
237
195
193
160
170
172
124
218
172
237
150
170
124
192
112
167
150
237
112
176
165
112
172
177
136
121
172
135
143
150
137
130
160
112
121
171
115
170
187
250
193
202
143
181
208
219
172
150
158
202
182
121
165
123
115
181
121
121
150
227
194
191
208
184
165
121
188
177
194
231
167
177
121
150
210
211
176
212
214
158
167
156
147
150
208
208
176
226
208
150
263
164
135
228
115
145
217
176
237
166
228
208
135
226
112
165
135
150
239
221
168
121
177
181
112
274
121
112
121
112
124
158
203
186
194
136
170
213
205
190
136
181
201
172
167
150
194
174
181
233
121
210
167
143
176
167
165
192
170
150
219
211
112
112
187
121
198
121
210
194
112
189
167
229
136
208
150
164
112
170
137
121
210
174
150
158
211
167
198
192
201
112
165
176
172
177
184
121
202
147
207
210
236
160
167
202
171
121
208
193
225
176
123
115
172
147
123
203
194
150
203
167
112
121
167
150
208
210
115
150
187
160
172
192
150
171
115
150
164
215
174
176
228
237
170
170
136
183
158
150
243
112
112
196
208
150
217
208
182
173
207
202
186
150
121
112
195
150
264
135
181
204
165
150
112
205
255
228
186
172
150
220
135
209
176
181
276
123
195
150
174
172
201
202
205
159
194
176
123
201
299
172
121
246
121
112
123
194
208
121
181
228
112
121
112
236
150
177
201
123
167
208
135
135
174
229
235
212
176
112
136
137
210
147
199
124
219
124
150
208
172
255
121
195
112
172
150
150
226
123
187
165
112
213
124
167
150
167
229
167
200
150
237
263
208
178
123
176
121
232
165
167
200
208
150
238
150
196
121
201
121
167
250
170
112
168
112
121
170
150
231
160
121
164
202
112
228
115
219
216
192
124
174
194
184
150
156
147
137
184
121
201
112
201
150
158
121
158
175
186
165
229
256
165
167
156
194
201
195
210
195
172
211
150
112
193
181
123
170
171
182
231
260
150
123
150
165
258
115
164
193
150
212
207
121
196
150
112
235
112
167
135
202
112
223
205
135
112
150
150
218
212
150
206
305
150
121
150
205
150
187
172
214
136
150
243
150
174
159
176
159
208
143
208
193
150
167
135
150
174
150
230
184
167
212
150
225
254
150
220
226
209
112
150
121
150
243
179
230
137
115
208
168
167
152
212
210
112
208
167
112
123
162
112
147
112
121
150
112
171
130
190
150
112
167
208
112
150
124
219
167
150
262
164
130
202
299
150
180
170
167
177
150
167
170
194
123
121
156
176
171
177
156
164
171
170
247
171
123
156
175
150
150
150
208
214
124
167
137
190
147
123
171
167
192
112
254
194
203
265
112
208
121
181
123
170
195
193
175
121
207
150
150
194
240
210
181
250
150
128
203
156
150
150
200
188
212
136
176
150
172
143
201
112
231
208
212
172
112
167
195
139
167
156
232
124
176
181
158
184
123
186
194
159
204
241
112
237
208
112
226
112
257
208
177
170
121
187
203
276
165
167
205
112
167
220
115
123
165
121
181
176
150
130
121
147
186
250
150
140
208
172
112
172
184
147
228
190
112
208
174
171
135
171
250
112
121
150
194
167
190
135
226
186
208
147
208
202
194
139
170
150
137
255
227
112
143
160
176
135
181
203
208
189
172
194
159
121
121
170
229
201
257
150
276
220
208
170
112
135
158
112
135
217
236
170
150
208
150
189
208
194
194
121
172
172
112
202
202
121
161
172
112
112
244
137
201
195
205
228
203
203
112
170
181
176
150
193
181
123
193
121
228
186
181
250
121
219
112
150
237
115
159
121
121
208
202
194
170
195
121
211
150
237
150
112
150
257
135
172
112
150
209
287
171
212
172
150
171
150
210
279
216
121
150
197
159
150
208
167
181
171
210
171
167
194
112
212
115
121
135
194
171
208
160
192
235
170
112
245
208
176
204
223
218
172
150
208
115
150
208
165
281
150
112
167
147
201
121
172
231
193
112
172
171
171
199
188
121
202
171
165
220
210
147
208
121
150
176
150
193
172
210
194
147
210
243
177
215
243
150
112
192
150
215
232
190
150
121
150
112
177
195
193
190
210
150
150
164
112
220
229
167
150
216
112
165
136
150
158
177
112
130
194
159
150
194
121
150
150
121
208
135
167
212
205
205
112
228
150
181
187
167
208
150
212
208
184
171
208
112
123
170
176
179
112
208
207
123
137
115
112
186
186
250
223
121
167
229
170
208
150
186
220
112
208
195
194
123
158
172
210
186
194
150
115
150
194
172
150
159
172
150
172
174
136
276
123
223
121
170
202
208
121
135
115
228
214
237
150
170
150
121
193
181
170
171
121
186
112
220
112
121
158
150
194
236
170
150
150
121
170
207
208
112
121
177
136
135
203
112
121
187
112
150
172
150
121
150
187
196
112
250
150
237
112
175
187
207
176
212
217
170
121
177
207
231
208
112
217
167
172
112
179
115
167
135
128
150
147
150
147
172
219
236
186
123
172
150
175
172
121
208
208
208
112
250
147
121
178
112
210
150
156
202
179
152
219
150
194
201
165
147
159
201
208
121
194
215
170
121
189
177
112
192
231
136
115
263
112
208
170
181
147
202
172
225
235
157
150
112
200
220
231
123
176
164
187
193
115
208
175
173
208
228
210
234
208
165
112
121
170
121
167
171
136
193
150
179
172
150
170
222
158
170
112
209
171
210
147
171
121
136
150
181
220
237
228
194
182
165
212
135
227
187
121
204
121
193
172
177
112
136
203
112
228
159
150
189
187
197
156
150
196
172
228
234
202
159
212
193
150
121
172
115
159
121
171
112
150
150
112
216
176
225
112
194
121
172
219
158
194
184
176
134
121
164
150
201
187
150
210
208
232
250
150
243
159
210
135
187
220
207
255
112
265
220
112
170
172
167
167
228
206
274
121
204
177
170
193
150
229
150
112
167
112
269
223
174
194
150
158
172
232
172
243
172
215
171
246
253
208
168
165
172
112
165
174
212
233
121
150
121
263
208
150
195
194
112
177
115
204
167
208
121
208
225
121
174
172
130
176
233
150
112
172
208
293
121
170
236
150
195
150
177
147
175
170
190
159
257
208
121
112
265
233
208
172
152
135
167
208
229
150
192
208
165
208
167
121
170
112
167
181
123
150
208
130
207
237
158
112
115
112
208
165
152
156
302
167
194
123
168
135
112
135
228
171
237
160
174
194
167
128
112
121
150
112
121
202
172
234
176
215
228
203
219
115
112
228
193
223
236
195
150
208
112
121
177
208
263
260
193
121
121
123
210
165
137
150
121
237
200
164
177
115
201
228
170
176
150
172
218
229
181
121
137
123
124
208
172
121
150
193
233
237
158
208
193
124
210
171
272
181
186
237
228
243
172
237
136
150
112
243
193
137
121
124
112
187
136
150
195
112
172
172
167
121
150
161
136
115
143
187
158
276
197
159
123
124
165
176
228
123
150
194
212
170
167
137
170
203
211
194
170
208
181
208
112
208
201
206
230
258
194
239
172
226
228
150
202
170
130
188
188
112
178
262
150
121
176
172
201
123
150
172
168
174
206
150
121
232
202
121
121
205
209
208
112
112
128
128
201
121
186
200
146
302
124
202
170
193
112
121
178
171
202
220
112
194
160
192
112
112
175
112
121
170
170
121
135
158
302
207
208
203
207
195
150
218
112
170
172
168
212
170
150
112
121
130
158
112
137
208
112
239
128
208
139
190
172
152
243
167
195
172
112
172
173
121
210
195
112
171
121
112
158
174
172
176
193
170
130
150
158
128
171
193
158
172
208
220
233
194
112
150
179
202
112
168
232
174
193
201
171
112
123
187
203
208
193
128
203
150
187
112
123
228
112
208
112
165
176
172
150
237
150
190
121
121
150
202
112
123
228
171
150
194
208
150
150
239
194
226
201
150
210
112
208
182
121
121
227
165
160
168
167
210
150
171
215
115
123
172
112
250
112
121
112
150
250
233
112
172
150
195
174
137
112
185
228
215
159
210
121
150
147
207
157
186
302
121
250
172
195
208
194
176
196
201
237
123
208
198
172
237
181
168
172
174
137
172
181
137
258
132
136
194
150
202
181
121
150
112
226
121
112
230
159
121
159
112
136
143
167
121
179
181
121
212
178
202
172
175
170
203
210
137
136
112
176
121
135
170
171
121
171
123
171
177
283
194
227
123
208
208
243
210
171
208
158
208
172
225
121
302
172
181
174
233
150
112
150
208
156
172
268
167
150
172
181
219
158
170
181
208
208
121
207
112
112
123
200
121
208
115
121
121
181
167
130
181
156
150
150
208
171
150
128
201
150
112
208
207
189
170
176
150
205
167
201
279
170
208
137
250
112
123
112
179
172
231
219
231
237
228
172
165
167
255
121
208
218
112
150
302
112
208
156
230
150
128
128
171
182
186
172
173
201
115
112
228
170
165
167
135
193
184
150
152
112
194
164
135
156
208
213
170
170
121
205
238
170
121
212
121
150
194
176
121
243
121
208
152
167
150
235
150
172
112
223
194
167
167
172
239
152
231
302
176
193
112
237
176
181
194
193
220
182
150
170
250
112
152
256
121
150
152
135
112
170
123
194
210
150
121
208
152
193
302
208
165
208
150
112
175
136
121
176
212
121
208
199
170
150
217
112
121
165
123
150
135
176
115
246
175
176
172
275
112
195
156
172
143
263
249
205
172
228
172
172
159
171
195
158
205
121
208
150
231
144
121
171
137
186
165
167
112
208
173
202
164
216
231
237
112
170
302
208
150
160
208
208
242
172
171
150
238
198
231
170
206
208
209
150
112
150
181
121
121
218
123
150
197
152
135
167
170
193
186
193
112
236
112
278
172
208
176
193
137
235
302
186
192
164
239
147
237
208
157
150
112
143
160
208
197
150
172
121
203
121
130
171
198
194
231
112
177
223
112
202
205
258
257
137
147
167
186
112
246
115
158
171
150
121
121
192
123
137
181
194
150
121
124
115
121
135
159
128
208
252
167
200
112
210
208
228
121
228
136
167
121
233
253
250
237
162
150
164
302
112
136
150
167
219
172
176
178
207
121
124
201
220
150
121
194
203
121
221
215
112
208
193
181
176
121
121
115
202
150
121
217
223
172
121
214
135
150
208
135
112
121
167
207
121
170
112
230
121
123
139
181
195
112
123
150
168
178
147
165
156
184
172
158
150
170
177
228
150
112
147
130
135
239
255
186
145
171
121
243
227
112
150
167
150
121
276
112
176
159
167
166
158
160
208
115
205
179
112
136
121
121
121
181
150
223
150
150
201
167
215
124
150
121
184
208
176
112
177
121
164
182
150
150
172
272
232
168
147
131
121
150
212
163
121
121
159
112
167
124
135
228
165
168
112
123
112
121
202
112
172
150
190
184
208
137
211
176
159
259
279
194
168
170
216
174
167
112
210
156
170
192
176
181
187
233
208
208
201
121
167
147
208
225
172
177
123
174
176
187
194
124
150
170
193
181
123
150
194
150
172
170
170
255
232
159
219
228
112
220
112
187
137
123
226
278
176
217
178
203
159
220
167
121
137
167
167
115
167
135
172
112
193
228
158
250
207
150
215
242
238
181
187
172
179
112
177
158
208
240
115
121
150
150
150
170
156
172
150
234
176
150
218
171
152
170
135
136
112
193
115
172
194
255
121
208
170
112
209
136
196
167
158
172
171
150
150
237
128
208
121
172
112
150
186
176
175
222
181
136
172
176
123
225
158
178
210
208
228
121
112
207
193
136
167
123
123
194
158
123
255
186
172
210
112
201
121
174
150
172
276
150
228
172
112
208
172
150
187
299
150
235
123
150
136
156
121
257
167
245
262
228
121
150
231
237
167
171
172
135
172
144
170
150
176
201
220
233
216
182
150
181
150
165
193
190
112
237
160
203
150
276
150
186
137
112
186
231
181
167
146
168
176
127
159
220
186
121
208
163
115
170
263
150
227
136
218
172
170
112
233
112
150
170
112
165
121
121
123
210
241
115
150
164
170
121
112
170
131
136
176
150
160
165
172
150
210
217
136
194
121
187
208
208
112
121
150
156
297
193
203
193
187
172
170
171
171
112
123
207
170
186
202
194
137
123
150
121
123
272
188
112
228
195
176
239
152
123
112
213
237
112
164
112
135
135
150
201
225
123
194
208
170
121
115
136
235
146
150
112
238
158
195
135
112
201
123
176
170
112
194
112
210
150
167
246
177
156
165
121
130
208
201
150
159
123
167
154
172
238
194
215
150
128
272
150
202
121
195
188
150
170
194
279
208
167
167
208
209
171
112
150
150
165
176
124
150
241
150
228
162
258
172
150
176
208
194
112
112
150
112
198
171
172
172
217
170
181
167
112
165
135
219
195
112
237
112
263
278
112
208
172
112
210
210
227
112
243
121
219
178
172
136
220
147
255
203
194
172
199
212
135
112
237
179
172
182
158
137
213
150
112
215
150
112
112
150
136
170
172
201
161
112
170
220
150
121
177
217
121
156
172
150
236
168
121
150
210
150
194
150
128
171
202
167
112
123
187
215
121
171
181
199
220
170
231
223
181
197
243
172
165
167
150
150
258
208
201
112
112
159
172
167
232
123
172
179
121
172
136
266
112
172
137
208
302
172
172
190
121
208
231
230
187
164
172
170
179
220
150
177
203
150
171
177
208
189
219
208
194
172
171
208
135
124
137
249
121
172
215
235
128
172
121
172
204
167
170
167
170
208
228
170
150
112
112
112
192
174
256
112
147
156
172
170
165
152
170
219
219
172
150
150
174
164
172
170
147
112
176
170
236
221
121
156
112
123
217
257
172
160
194
171
150
229
124
194
147
150
121
170
225
147
167
150
179
208
121
123
208
193
121
215
186
172
179
123
212
211
195
255
112
276
210
187
167
165
177
147
150
210
171
150
112
192
228
176
171
172
177
167
181
121
250
226
143
211
165
195
150
147
186
167
123
150
218
121
165
167
193
112
150
208
150
171
172
207
212
208
176
150
143
150
215
236
208
189
158
208
171
177
177
193
176
150
112
112
162
172
170
135
135
123
165
150
130
172
174
137
121
135
164
195
150
208
150
187
186
170
217
121
193
112
123
150
123
124
247
178
190
172
124
150
112
172
150
115
167
176
167
121
150
112
194
121
244
201
150
170
150
150
208
147
240
171
202
228
195
239
112
206
208
150
123
219
150
112
135
159
112
176
171
150
146
216
184
255
181
167
112
194
195
171
167
112
157
112
167
181
157
170
172
112
150
121
168
150
219
159
193
193
208
123
112
150
115
241
297
150
194
150
150
165
210
121
112
112
121
195
220
210
130
167
112
172
150
208
147
210
194
150
144
124
176
225
123
200
232
172
276
220
172
128
171
193
217
165
229
192
226
176
271
176
150
176
112
195
121
165
112
176
239
112
159
137
121
147
150
193
177
150
187
208
167
237
178
218
150
171
208
172
186
112
121
153
226
210
179
150
124
121
254
210
112
197
173
189
112
250
167
171
137
123
136
170
112
150
167
194
219
112
201
177
112
112
150
159
168
121
212
194
193
121
192
192
150
121
170
208
147
211
167
260
158
217
208
176
167
112
184
167
121
165
187
112
257
237
121
123
150
181
150
158
195
175
194
225
201
150
165
194
196
121
112
112
181
208
177
121
150
201
170
124
150
112
208
172
208
225
194
112
181
226
235
123
187
112
121
221
171
121
186
239
136
135
121
193
187
168
230
215
208
230
167
121
172
250
135
172
186
235
172
165
170
172
208
150
200
217
179
112
231
205
208
171
202
187
178
167
124
170
226
228
193
203
186
128
202
147
201
215
201
121
158
167
159
208
165
121
112
112
170
165
159
121
150
195
176
172
201
195
194
112
123
150
171
219
121
150
135
237
181
174
112
121
124
165
237
208
172
170
121
165
170
255
150
189
170
217
112
121
210
170
202
193
112
121
240
124
187
193
215
276
158
150
124
156
123
181
167
112
144
245
197
207
236
164
112
167
208
150
208
208
165
150
165
215
121
167
121
173
112
112
208
181
137
208
186
212
150
276
237
170
123
136
187
201
112
121
150
187
112
112
174
150
112
167
228
208
229
150
275
208
244
112
121
208
121
172
187
237
156
218
210
112
208
121
137
156
210
112
150
223
150
195
176
234
112
150
137
184
207
215
207
136
167
208
176
167
112
171
121
266
115
211
177
121
181
208
202
159
121
164
199
234
121
164
193
143
205
121
172
158
167
135
112
173
170
150
233
170
193
205
144
170
172
217
112
208
147
237
163
208
150
238
201
112
177
150
112
150
228
280
229
186
212
172
208
137
178
208
179
220
181
167
121
198
201
156
194
196
171
193
124
121
121
184
228
172
186
211
212
136
150
150
194
152
164
216
187
194
150
112
150
112
193
176
167
121
170
176
237
167
167
171
187
135
135
214
234
121
236
207
137
165
170
159
231
128
208
150
193
121
137
135
168
174
150
123
172
121
176
150
167
167
228
145
150
150
170
150
137
210
150
179
208
123
150
112
167
158
195
172
208
124
194
158
195
136
150
175
257
174
170
172
193
139
250
255
202
167
186
124
137
208
175
171
150
208
163
170
144
218
159
171
121
220
115
121
121
194
150
121
174
121
208
121
121
121
170
121
121
237
193
181
150
130
233
212
242
172
208
112
172
170
205
146
211
121
205
174
172
258
147
208
121
181
124
130
181
150
229
228
121
186
150
156
152
202
194
150
112
170
175
177
150
181
150
159
150
112
194
170
141
160
112
121
167
130
158
172
150
208
174
297
194
112
187
181
115
165
208
123
181
123
112
144
208
150
172
186
192
195
202
115
159
194
171
150
231
171
150
150
194
150
176
171
112
136
172
112
223
172
194
208
172
136
130
179
220
225
167
177
123
172
175
165
150
123
181
181
208
115
150
194
150
150
112
292
231
115
186
176
181
226
192
183
150
214
167
172
215
174
168
170
174
150
208
177
165
112
182
172
225
164
228
194
208
150
167
112
124
121
203
112
150
167
136
150
112
194
187
147
175
250
112
212
208
186
218
194
115
121
218
121
238
192
121
112
136
252
112
150
152
158
165
186
170
112
181
167
207
218
201
172
112
136
181
137
156
193
150
201
275
159
201
178
137
176
170
186
115
121
247
176
112
167
193
195
159
193
172
168
237
135
215
176
158
123
239
112
208
198
177
212
165
168
193
150
208
176
239
171
184
193
158
239
150
150
228
170
137
206
193
123
165
147
158
176
167
186
121
176
196
123
174
150
171
112
164
121
121
124
220
171
257
190
172
123
150
112
208
164
175
112
112
208
164
112
239
150
150
208
112
233
123
208
183
136
137
178
135
150
123
201
135
194
176
121
170
172
121
172
226
159
112
135
228
165
150
162
172
147
200
243
150
276
172
150
193
150
123
121
201
208
160
170
214
150
250
172
112
139
241
167
202
240
123
150
204
147
207
159
243
207
121
263
112
121
176
112
135
112
150
112
170
152
181
278
122
150
137
209
112
231
121
167
160
150
112
194
172
150
172
112
208
172
150
187
165
124
186
160
167
135
208
181
112
237
187
181
121
162
150
137
205
112
196
168
177
240
121
214
158
112
112
136
203
170
177
170
115
213
150
123
193
215
181
160
164
123
131
167
150
189
243
112
150
194
112
177
167
255
147
202
220
179
192
175
212
135
195
210
181
160
181
214
275
187
220
150
123
121
137
226
171
167
208
121
212
176
205
112
171
112
208
186
121
193
177
121
179
150
172
171
220
186
208
171
115
152
226
147
205
112
137
176
112
123
128
121
202
207
242
244
176
124
228
137
160
167
215
112
167
121
165
121
121
171
166
208
150
136
193
273
112
212
150
202
239
226
150
145
172
112
176
176
115
159
172
229
112
150
214
208
217
121
201
150
218
167
112
150
194
150
190
203
167
174
208
202
170
207
212
150
121
150
156
123
291
272
256
278
112
192
228
150
161
194
181
168
167
189
112
112
172
174
186
150
177
175
229
112
179
112
231
115
189
175
150
250
137
112
210
165
225
124
112
128
167
208
121
112
112
121
150
150
159
112
172
121
208
168
205
167
168
170
160
172
172
112
302
150
150
112
112
165
167
112
165
242
230
208
181
112
156
243
152
170
206
210
195
172
168
147
176
167
115
205
112
152
121
137
167
205
135
172
208
150
112
190
170
216
204
150
176
200
194
167
254
219
164
121
150
121
311
195
216
150
263
176
208
157
170
208
210
231
112
208
164
135
194
187
150
194
121
239
208
150
179
167
212
150
112
112
237
150
112
167
137
150
186
147
176
221
159
174
135
209
187
158
170
167
217
170
150
232
210
150
172
112
269
121
172
163
177
171
173
112
160
150
237
150
136
193
208
210
170
112
112
175
194
194
170
121
193
152
112
208
150
233
210
150
178
136
172
121
265
167
115
223
150
137
220
150
208
194
112
208
150
112
172
112
112
190
220
131
159
150
158
176
130
172
112
135
208
147
112
265
146
219
112
165
147
150
143
121
159
225
186
123
178
123
201
123
170
167
112
121
123
257
158
204
123
184
150
162
172
208
167
208
112
208
158
211
112
121
257
121
170
208
196
158
177
225
230
164
150
170
121
123
136
192
121
170
168
199
137
165
177
144
223
189
202
165
123
246
167
172
123
121
135
121
199
124
167
179
181
112
178
123
135
221
136
136
167
159
222
217
181
193
147
172
150
121
156
231
176
112
123
112
208
112
257
170
158
226
237
150
170
172
150
150
123
153
121
228
123
150
172
181
150
165
150
160
171
233
220
131
150
152
136
176
171
150
121
181
175
150
170
150
130
150
165
167
177
219
112
147
121
165
147
168
208
230
220
150
171
167
150
112
150
257
210
171
194
112
150
186
181
173
135
187
172
228
159
212
167
208
150
255
168
147
229
228
189
187
160
172
167
115
150
212
160
172
186
203
186
172
112
172
164
170
219
208
263
150
205
223
170
150
194
165
121
159
276
212
156
112
208
135
195
206
135
150
150
150
208
172
112
112
234
121
193
150
217
219
139
208
181
231
189
160
172
147
181
150
124
150
193
186
171
112
216
135
215
112
112
208
150
192
193
231
112
150
176
208
195
228
158
167
144
250
124
172
158
135
112
121
121
150
135
121
160
150
177
192
165
150
112
172
218
223
150
172
136
128
150
172
175
121
170
240
217
112
179
121
210
255
112
135
225
150
112
152
171
160
192
136
269
156
135
210
170
205
194
276
211
203
150
189
210
112
228
136
121
201
279
240
130
121
248
210
124
158
158
121
131
136
201
233
168
231
189
150
219
150
150
135
176
167
193
121
178
226
231
237
208
170
121
187
225
121
194
222
121
121
135
156
226
124
121
121
216
210
131
131
176
112
176
150
123
189
130
121
112
193
229
112
263
228
186
212
171
131
150
135
112
121
225
186
150
181
121
208
181
152
186
168
121
212
172
202
193
172
194
131
141
168
112
202
228
167
186
272
171
171
165
187
136
208
208
170
150
170
123
121
167
165
171
123
150
205
112
238
150
123
199
225
168
167
159
147
112
215
239
150
112
209
137
221
170
158
232
121
179
201
208
167
150
170
112
123
230
175
207
155
194
267
176
167
202
179
171
157
195
172
150
135
112
218
208
181
131
194
130
208
136
172
137
208
181
165
130
193
233
167
156
217
121
202
174
196
237
172
150
121
141
124
150
167
160
165
160
212
202
150
168
147
150
130
205
165
205
143
112
239
121
170
121
165
174
123
112
217
170
260
201
210
135
194
298
263
137
112
115
223
180
186
150
176
189
170
171
184
158
211
241
172
180
150
167
194
172
270
207
239
150
159
174
158
147
253
112
219
214
167
147
177
121
228
179
121
198
219
112
128
121
121
250
170
225
150
167
228
218
212
246
170
150
239
112
208
150
121
201
150
278
121
135
176
190
136
175
181
263
208
121
112
121
121
228
243
121
195
121
112
121
121
263
194
223
121
204
230
259
181
135
179
225
135
228
150
250
112
170
208
162
176
150
112
228
165
164
176
170
200
112
229
112
215
173
208
170
208
123
115
147
150
194
170
176
192
189
121
121
174
150
143
237
112
178
150
237
130
189
153
112
220
150
229
112
176
208
170
239
254
219
112
205
160
150
112
195
112
112
124
147
179
170
170
112
150
208
112
210
208
202
182
193
205
112
240
210
208
167
171
149
121
206
181
164
123
121
230
121
196
121
121
176
164
147
136
176
256
112
147
194
228
172
232
152
172
112
208
186
201
112
121
150
158
208
115
255
150
150
112
276
112
121
237
130
121
150
112
121
121
172
237
115
123
175
115
208
186
112
212
194
158
147
137
205
253
193
194
170
150
150
112
181
187
112
121
172
135
167
197
121
197
123
250
203
208
123
112
136
172
112
208
238
121
136
172
255
136
150
213
150
194
112
136
264
170
187
176
208
263
194
153
121
203
208
176
176
135
161
172
121
121
112
263
193
208
167
225
150
112
194
131
208
150
172
228
187
164
177
137
167
170
150
208
136
200
165
176
115
253
253
171
187
112
255
150
195
167
150
228
165
203
121
181
143
112
147
112
181
208
121
263
260
150
170
150
123
158
250
141
177
181
201
167
150
194
150
199
121
150
208
121
208
239
112
227
170
172
112
171
235
112
185
167
278
184
239
243
219
156
115
181
219
172
112
123
112
236
219
226
203
123
193
150
175
172
212
156
172
159
172
219
137
130
115
150
152
270
147
123
209
112
208
115
150
121
170
170
172
171
208
172
112
193
112
202
121
278
121
195
150
201
249
128
121
165
217
171
181
121
165
121
150
164
112
177
263
150
121
208
165
112
237
150
170
121
181
112
237
172
181
194
231
112
194
219
171
150
112
158
112
150
135
172
150
208
176
208
112
213
177
208
177
195
181
172
161
121
240
136
150
177
220
216
229
208
150
156
208
135
171
167
217
121
167
150
136
197
157
208
135
121
112
112
150
150
123
123
228
121
228
150
203
181
248
128
159
256
187
238
115
165
208
150
176
193
160
167
150
112
206
237
208
182
232
159
176
189
167
112
121
112
208
208
112
121
147
228
176
231
241
167
236
194
228
234
193
165
299
121
267
150
150
150
253
150
170
276
112
194
172
177
208
135
112
220
195
112
170
136
201
208
218
115
228
193
172
112
170
208
172
170
194
202
196
167
237
181
147
170
172
172
112
112
193
264
201
181
201
172
170
205
240
176
186
193
237
150
170
228
187
212
202
263
160
228
170
175
130
130
228
156
208
115
194
167
164
167
210
220
181
216
150
196
240
181
112
187
150
250
171
163
243
121
121
171
172
135
136
206
255
203
167
170
194
172
135
212
121
186
173
255
150
194
112
130
226
121
112
150
202
187
198
176
153
137
195
128
112
239
170
235
194
170
240
208
121
135
152
112
150
177
196
208
167
250
121
150
121
208
112
187
112
147
209
121
202
172
150
231
167
172
112
121
121
210
171
241
115
194
112
150
202
208
167
201
159
208
121
150
208
115
208
150
112
210
228
121
210
165
172
194
216
181
181
123
150
215
228
179
237
237
208
121
263
172
150
179
123
121
226
121
150
150
278
150
194
194
228
112
263
181
232
231
234
167
150
226
121
165
226
137
214
147
185
158
121
150
171
112
178
225
167
112
172
137
112
208
179
208
115
172
121
208
239
150
170
112
167
186
200
174
168
112
115
209
171
150
181
171
208
228
123
112
121
124
167
229
150
261
255
231
186
165
208
208
147
143
171
186
150
123
176
204
172
175
158
213
195
192
181
167
123
230
171
196
112
150
193
228
150
196
115
194
177
217
158
167
150
150
239
179
112
237
112
202
112
115
172
218
193
150
121
255
171
208
121
202
187
239
239
164
172
195
112
194
112
181
228
189
229
245
172
172
172
150
220
150
121
172
226
167
170
128
112
150
150
165
128
143
181
232
121
170
190
121
181
159
206
210
147
201
174
165
240
167
121
205
150
197
121
156
130
181
165
172
208
150
194
123
201
228
150
208
121
150
162
165
174
124
181
112
168
215
205
187
147
112
172
198
208
231
150
176
172
208
218
112
181
213
242
225
150
202
186
177
147
170
150
172
167
112
123
150
187
171
171
256
112
208
237
112
234
175
112
164
121
112
257
208
202
121
181
150
176
181
121
205
193
208
172
158
186
232
112
174
257
121
112
208
147
201
203
147
226
184
177
228
302
150
158
112
311
112
178
112
192
186
168
152
186
112
203
168
233
150
231
170
123
136
176
259
112
210
260
150
237
167
208
150
176
121
112
172
219
112
302
128
203
212
112
195
210
178
158
187
164
121
171
230
218
172
150
112
136
167
171
143
208
180
208
147
253
112
170
186
167
150
193
150
112
240
121
220
209
112
208
121
150
147
170
187
186
150
130
171
184
147
208
207
123
172
216
219
112
235
194
112
233
176
121
203
150
194
208
186
123
150
225
150
135
112
174
204
263
243
150
179
112
150
141
150
159
225
121
264
123
112
181
208
212
112
150
112
163
215
201
175
150
171
203
159
171
135
112
171
121
150
249
220
178
208
167
167
233
194
194
165
239
198
194
187
144
208
167
263
209
150
143
150
112
121
236
165
139
239
170
186
146
228
196
187
121
137
112
150
112
123
208
156
207
233
121
184
112
208
230
209
121
137
135
195
231
215
150
184
121
150
237
219
210
187
121
208
231
150
232
165
137
160
169
150
184
194
167
215
115
150
209
182
186
218
274
181
237
194
147
121
150
247
135
189
123
193
115
150
167
172
208
121
186
225
150
186
150
207
123
189
186
184
121
187
167
259
123
236
171
172
174
208
150
121
182
143
167
263
164
242
136
250
172
150
172
176
121
130
201
112
167
228
143
171
170
172
208
112
124
115
150
190
174
172
164
181
212
172
161
227
164
112
112
223
211
115
150
112
184
171
172
139
195
172
168
112
212
167
176
121
186
176
112
150
150
212
170
211
196
186
171
128
150
226
150
172
203
121
208
121
112
237
181
112
159
174
240
121
233
178
255
234
150
121
255
176
259
112
150
137
150
203
150
208
112
150
121
258
208
150
234
112
150
212
172
150
158
128
112
234
246
176
123
210
243
150
112
123
123
124
135
121
124
170
233
150
270
194
150
225
121
112
150
189
175
178
164
121
136
121
158
219
121
135
137
167
124
262
112
150
218
150
112
135
137
206
121
135
171
208
194
195
135
175
192
121
112
115
205
115
237
150
210
121
176
167
172
172
150
187
170
150
195
150
167
167
168
171
171
181
172
121
112
195
228
276
184
203
121
176
186
115
160
112
121
186
167
150
167
150
226
194
231
167
186
112
165
112
178
274
255
150
128
168
233
112
123
172
150
158
121
167
121
147
201
196
208
225
172
299
135
258
112
242
212
150
112
112
213
206
168
225
150
237
187
169
179
112
171
164
121
112
228
223
112
205
170
274
112
198
179
231
150
184
175
128
112
144
150
174
195
130
135
210
181
112
228
226
172
112
112
167
121
123
172
171
144
112
135
349
150
143
208
190
201
167
150
208
172
130
231
206
135
214
135
150
112
112
121
112
203
171
165
194
121
194
214
136
186
272
217
237
168
237
235
150
135
263
143
112
121
150
237
170
200
190
150
121
112
164
203
170
112
123
237
201
112
255
208
212
302
165
178
115
242
176
167
226
162
193
121
121
167
112
172
203
150
228
112
203
150
171
112
130
208
237
150
167
172
143
121
220
177
208
167
121
167
168
167
219
231
150
121
172
172
213
158
121
158
176
176
150
193
176
267
239
193
167
176
201
128
249
170
115
158
121
171
171
150
228
143
194
150
194
193
150
209
147
150
172
239
239
121
239
112
171
185
254
208
231
185
150
223
171
168
170
141
233
147
121
124
176
203
164
172
172
226
224
170
165
172
137
265
171
218
150
178
230
171
112
150
176
136
150
150
177
220
150
239
208
170
195
150
137
150
163
255
201
150
184
167
171
173
121
172
167
208
181
181
186
210
228
289
124
203
121
255
121
170
208
227
123
202
190
115
136
115
193
139
228
121
121
167
135
219
181
112
150
171
145
146
171
150
112
194
150
121
181
234
208
156
171
228
170
123
172
150
128
167
194
158
210
231
150
121
208
150
170
168
170
130
170
207
230
156
112
213
150
130
150
231
178
147
194
112
159
195
121
112
193
121
135
150
234
159
186
164
167
205
150
176
254
128
231
219
112
147
144
171
213
171
164
115
165
112
121
112
124
171
165
121
212
135
207
167
112
228
121
124
150
237
258
164
186
176
203
121
123
174
171
195
226
237
171
182
189
170
250
237
215
156
189
166
170
152
121
194
186
194
150
225
205
158
182
186
167
194
121
150
171
123
121
127
121
123
158
197
170
150
228
112
187
112
147
171
212
137
112
167
121
232
112
135
150
215
243
243
123
186
158
210
135
171
176
201
152
121
202
187
143
159
115
217
220
150
172
150
218
208
170
143
187
240
135
121
189
139
150
203
112
250
177
112
150
150
152
150
208
123
112
150
201
150
172
165
208
150
232
112
150
112
112
255
195
210
167
150
123
112
178
160
170
232
218
196
187
208
150
112
170
165
172
203
150
143
121
172
150
172
228
170
189
172
208
181
171
167
201
135
150
131
237
193
112
172
123
112
202
217
172
112
195
172
186
189
150
150
150
165
196
177
172
163
204
112
201
121
217
241
208
202
186
174
167
150
302
269
200
147
181
156
150
174
232
112
160
176
184
241
178
159
112
193
137
201
167
112
229
135
176
158
226
219
112
121
178
207
201
186
150
195
255
278
172
159
121
172
146
187
278
112
137
112
172
147
121
209
121
171
115
167
208
121
193
121
208
112
124
202
150
115
195
150
215
147
150
170
184
217
208
150
121
176
176
194
152
226
177
233
186
167
170
112
226
164
160
165
123
202
208
231
121
205
187
146
172
136
208
136
150
112
219
194
167
150
193
231
167
150
171
170
194
187
112
121
185
259
121
150
236
228
152
179
165
170
188
112
195
123
171
172
216
123
210
150
194
150
167
121
226
212
181
150
152
150
208
167
236
150
194
230
112
231
165
171
112
150
170
167
179
202
156
135
115
210
158
112
236
172
170
228
150
226
186
231
172
175
176
176
171
205
232
171
121
194
187
170
231
167
167
147
150
136
168
210
123
224
150
228
241
229
194
243
274
172
150
209
175
172
208
150
204
150
250
171
208
150
171
112
186
136
172
225
137
121
123
150
150
167
135
176
150
112
150
196
112
239
121
233
112
210
150
136
170
243
121
150
171
181
233
150
187
171
150
208
112
112
112
241
135
144
112
150
121
172
172
193
208
112
209
202
160
217
172
302
176
172
208
208
121
203
121
210
210
136
130
213
181
230
123
171
194
121
144
190
193
147
150
173
171
150
189
179
112
212
258
170
263
112
203
189
167
170
150
112
150
230
163
199
137
168
135
112
136
160
152
115
255
212
150
230
231
128
187
186
187
240
187
171
143
219
130
167
150
150
150
150
173
208
192
139
278
208
171
121
208
121
135
208
121
170
179
228
238
208
121
193
121
208
192
192
112
181
202
167
239
208
227
240
164
220
150
137
201
121
150
164
228
228
218
208
150
194
228
112
123
150
194
194
147
124
237
181
239
121
158
167
150
231
226
121
239
150
208
115
165
208
112
265
186
192
182
112
150
135
220
250
195
167
112
168
150
172
177
194
135
150
223
176
299
208
112
121
121
198
168
112
136
268
208
159
201
167
121
167
241
169
193
172
208
217
112
198
150
115
202
167
112
194
112
167
167
172
115
237
181
130
130
121
136
176
264
150
210
202
233
150
135
171
135
170
172
203
150
135
112
225
150
158
223
150
179
150
156
182
150
217
244
172
135
236
202
176
144
152
179
229
121
201
228
150
167
121
152
150
170
171
150
177
203
195
207
171
201
123
181
174
159
112
157
170
237
147
112
194
212
202
150
115
160
159
172
147
242
181
121
170
150
112
170
177
112
192
112
121
121
193
172
130
135
150
230
194
194
178
135
178
181
130
176
186
220
219
240
156
159
218
112
174
168
241
224
206
121
203
158
121
112
219
175
208
112
213
258
220
112
112
162
150
181
305
203
228
202
121
159
150
121
121
150
112
220
165
139
168
152
170
150
172
171
186
172
208
121
237
121
135
150
176
228
165
150
208
186
201
186
150
239
233
150
137
261
115
150
208
150
165
168
112
210
152
112
208
112
123
128
202
201
226
171
121
150
150
186
291
112
154
112
161
112
178
181
123
228
121
186
221
237
124
172
170
218
237
181
145
202
255
172
212
150
150
150
179
208
250
112
208
177
231
150
150
150
171
135
150
158
130
208
190
160
112
193
171
186
208
195
112
170
150
158
203
143
158
217
208
190
236
172
170
170
143
194
170
171
112
112
146
232
158
178
194
177
128
242
112
159
176
150
220
243
121
150
136
121
115
195
112
241
121
121
194
170
170
177
121
170
203
194
170
150
121
200
112
162
150
181
172
121
167
165
167
121
176
150
217
159
121
150
165
170
152
302
202
150
233
171
172
195
161
136
219
216
112
150
170
112
198
150
170
207
112
167
203
121
181
240
182
159
152
123
201
112
263
171
181
237
112
112
150
172
150
150
123
184
203
150
160
121
121
243
135
167
165
238
150
150
112
186
186
195
167
195
210
210
167
150
216
123
208
112
172
112
150
228
112
130
186
223
112
194
208
192
150
218
165
172
171
208
159
208
121
170
124
170
150
165
208
135
195
170
165
186
212
150
302
147
228
170
150
207
164
170
112
150
208
208
195
172
178
235
255
167
171
170
208
150
172
123
244
202
172
177
170
164
150
208
203
171
147
205
150
150
150
164
137
176
112
167
121
121
281
112
237
112
207
167
123
202
176
115
135
240
170
193
172
112
150
235
187
226
210
150
150
172
137
208
210
186
112
218
224
123
202
255
192
176
171
201
150
173
172
175
265
170
231
112
170
208
228
250
158
178
150
121
175
177
187
201
170
165
172
123
220
121
112
208
167
276
167
165
112
212
167
172
112
150
170
181
176
235
161
208
208
121
208
181
121
179
181
150
234
210
208
172
150
172
245
195
112
167
136
123
178
158
222
165
170
112
171
170
186
112
228
168
167
123
150
150
150
172
249
150
121
203
121
150
172
136
135
150
172
171
121
238
112
150
231
215
208
208
135
171
171
121
150
225
203
210
178
147
121
123
112
177
160
135
112
150
136
150
240
112
168
194
150
208
170
170
237
150
150
171
112
112
167
147
176
158
121
205
150
203
121
171
210
172
203
172
112
195
167
112
156
150
265
112
208
226
136
112
231
219
121
170
144
208
302
215
205
201
112
150
121
172
176
289
250
112
112
150
218
167
181
226
187
201
217
201
112
137
150
121
237
150
197
163
165
150
194
176
158
167
167
172
112
172
123
171
165
121
165
164
201
227
150
208
137
229
150
123
215
175
112
202
165
202
150
172
233
112
136
212
135
176
228
135
172
170
193
112
112
115
121
194
165
198
121
192
123
150
167
167
176
112
228
167
212
267
121
186
181
158
150
147
150
172
150
150
165
181
167
232
137
152
171
112
158
156
170
115
172
207
115
158
112
215
179
217
208
150
187
172
193
208
188
279
150
207
112
231
232
231
121
150
112
234
115
208
208
203
206
171
235
123
265
165
165
168
162
159
165
115
208
150
172
223
112
171
194
239
239
228
194
177
167
150
150
171
200
144
186
228
176
172
152
150
167
208
121
170
171
171
172
167
176
186
239
201
171
112
170
150
174
112
137
205
244
112
164
150
170
220
172
158
256
212
171
208
302
112
150
167
187
203
136
240
150
124
208
189
165
194
150
187
123
156
186
202
193
158
147
112
250
196
170
150
176
172
224
150
228
159
112
196
220
143
167
135
112
181
255
170
172
112
165
150
208
170
137
229
176
214
150
112
112
178
121
176
135
177
187
182
190
172
121
204
123
226
194
112
150
137
176
121
211
143
143
172
150
165
123
193
181
207
121
237
165
115
112
112
150
194
237
193
204
163
211
237
192
150
130
150
172
190
112
175
201
172
203
255
172
177
171
227
225
170
171
121
150
181
172
220
165
176
121
202
137
121
234
143
230
115
150
208
150
160
172
168
205
194
257
121
112
170
135
225
161
172
181
228
179
225
121
203
177
174
121
239
230
165
193
150
239
156
177
150
167
208
112
170
208
165
123
219
160
243
130
112
194
208
174
130
137
220
214
228
208
263
240
172
228
137
136
206
121
150
195
112
176
211
186
121
121
208
124
121
229
121
121
170
150
150
159
177
175
170
150
121
175
137
160
194
162
121
165
157
121
202
121
205
195
170
302
167
170
112
150
136
150
194
165
130
150
170
186
297
208
150
182
194
135
247
193
135
231
112
278
217
214
157
147
150
150
192
123
150
208
112
137
228
208
203
167
150
124
121
152
156
121
150
181
238
171
172
121
167
255
208
159
233
171
130
121
121
150
150
112
203
136
112
112
210
112
211
250
123
143
176
158
250
121
228
168
195
121
212
171
121
150
146
179
250
186
193
212
121
123
171
112
200
223
181
150
124
238
136
137
112
159
167
195
215
172
186
211
186
146
194
187
187
152
112
134
123
112
237
208
201
136
208
243
150
112
219
172
172
203
152
227
121
112
186
165
220
210
196
202
250
181
115
123
112
192
186
210
219
194
186
238
215
115
112
121
203
167
150
208
121
207
187
230
112
181
158
150
150
210
121
123
160
176
240
167
208
112
201
176
208
171
174
112
225
181
165
210
193
181
201
208
175
217
184
237
112
121
150
159
150
237
208
112
206
176
176
164
231
158
150
239
209
195
150
179
187
187
208
112
128
158
181
167
168
209
122
147
158
216
202
228
167
121
232
208
187
186
150
205
268
195
150
208
135
121
121
112
213
121
201
172
187
135
136
130
171
123
176
121
150
208
208
228
208
150
217
172
112
150
170
121
165
178
219
231
187
164
170
263
187
205
242
187
216
172
150
203
150
170
207
172
236
150
208
237
150
150
121
121
208
159
167
238
208
208
123
112
187
208
150
136
150
170
176
201
214
150
150
115
231
208
165
194
167
158
159
208
192
150
112
124
124
190
112
121
123
219
219
172
121
150
203
150
152
174
160
112
150
208
231
194
176
194
239
112
150
112
123
171
167
135
210
189
194
263
176
225
172
160
162
137
139
112
124
150
175
208
216
175
135
195
255
208
172
137
150
195
208
208
135
246
150
176
164
234
194
170
159
170
112
174
121
196
160
176
155
159
112
208
121
124
112
112
121
121
136
171
121
177
189
208
170
136
150
135
170
156
112
167
172
130
252
150
165
244
147
168
176
171
121
115
177
112
232
112
255
165
112
170
194
167
150
147
159
208
150
115
223
172
121
147
226
187
186
195
112
150
255
150
172
150
172
150
205
150
137
172
121
135
136
205
168
121
112
181
150
250
220
175
220
112
130
123
193
124
226
193
170
137
205
139
147
194
225
164
150
170
112
203
202
231
147
218
150
150
156
150
208
165
152
150
208
172
112
193
233
192
150
112
225
135
234
167
192
171
115
263
146
237
137
158
272
192
192
179
228
124
112
121
121
187
156
150
174
181
112
150
172
193
201
176
112
194
170
172
175
181
223
228
208
135
172
121
121
193
208
121
150
176
121
171
150
179
208
174
112
217
171
150
131
208
150
223
150
202
121
181
115
232
270
241
226
215
208
144
208
176
247
136
191
212
181
165
241
170
192
271
165
187
167
194
208
218
115
211
186
150
186
150
112
112
236
202
136
150
212
150
112
179
195
112
150
182
212
181
121
171
172
121
226
159
181
177
168
121
150
121
159
168
172
150
172
194
112
136
172
220
243
150
130
121
165
135
209
232
251
195
136
159
167
130
112
208
193
121
193
115
112
150
136
208
186
172
239
136
150
172
210
205
216
121
121
121
168
112
121
172
167
172
123
219
234
121
150
124
219
208
208
187
137
121
187
150
231
150
121
115
231
172
263
237
123
219
112
250
112
203
150
190
170
152
173
228
135
112
123
173
121
213
150
172
121
112
240
193
211
186
112
212
302
182
302
194
150
234
243
150
235
194
193
112
150
177
175
121
121
171
170
158
150
121
170
150
174
195
160
229
123
124
223
112
128
203
121
112
198
167
203
193
150
231
123
150
214
112
141
172
208
165
135
172
191
181
243
207
172
194
229
128
282
136
150
208
172
147
203
187
194
208
193
154
112
187
255
156
172
194
171
121
167
165
112
170
150
189
112
217
212
181
170
243
204
121
124
112
257
164
121
194
172
239
194
150
162
168
121
228
158
137
209
121
165
221
172
121
208
220
183
172
172
193
123
254
150
220
208
112
121
164
121
186
121
194
181
183
186
121
208
137
165
243
123
175
172
176
181
121
170
115
112
172
208
112
123
150
237
150
250
219
187
150
112
227
172
112
172
137
176
150
165
112
150
121
123
231
164
112
208
150
112
211
115
112
181
150
176
201
218
121
112
170
208
112
112
223
112
150
158
121
135
178
208
177
187
150
123
150
150
115
203
136
167
231
201
231
112
172
136
194
182
112
167
128
187
189
174
136
212
150
121
121
194
182
112
194
167
121
202
168
112
167
167
150
112
238
196
164
263
123
137
208
194
228
150
112
123
171
147
212
150
167
167
171
250
195
123
263
213
234
190
158
162
189
208
208
171
112
240
128
112
170
189
172
150
210
112
112
171
194
176
150
194
212
302
121
162
194
202
207
150
112
123
228
150
112
165
213
250
121
212
170
121
195
254
228
181
245
121
121
112
143
170
170
167
135
121
115
171
159
208
136
172
112
112
112
172
255
239
228
160
112
156
208
121
167
160
205
187
195
172
172
175
176
172
187
209
167
203
196
186
170
136
170
170
172
193
121
112
189
115
152
112
112
112
112
208
227
220
170
186
112
168
167
172
208
194
182
143
181
187
136
177
192
210
181
170
112
135
165
121
181
152
205
172
198
214
270
172
112
112
214
156
195
112
112
121
208
228
176
121
299
167
172
147
136
160
130
170
156
150
208
112
150
150
172
185
112
150
187
143
164
123
121
243
172
219
150
208
150
143
228
146
177
175
170
195
225
150
192
112
112
193
217
130
121
215
112
172
192
150
147
112
121
135
181
172
112
150
121
152
147
217
192
205
150
239
167
208
147
112
199
228
167
171
239
150
212
167
178
176
181
130
121
165
147
155
150
226
202
185
171
121
175
170
237
178
213
167
208
121
156
162
150
170
195
177
257
219
136
194
264
128
197
170
160
171
164
150
203
195
121
202
135
112
195
147
212
202
137
171
150
194
123
187
150
237
130
147
130
112
167
156
165
207
208
121
192
214
187
193
150
159
128
210
202
121
130
123
195
219
150
150
195
177
168
150
121
112
171
150
178
121
176
217
231
150
219
170
139
167
240
112
161
212
208
225
167
209
210
123
112
135
200
250
213
194
171
208
115
196
195
192
150
150
194
121
194
167
213
144
168
226
152
164
205
208
207
194
150
200
199
203
179
150
244
201
112
186
192
193
195
167
164
192
231
171
158
121
150
127
146
115
217
225
115
135
112
194
189
208
150
170
150
170
237
121
136
193
193
250
165
179
212
150
121
249
150
112
167
123
171
121
162
212
174
172
202
165
233
202
208
167
150
165
121
195
210
171
155
214
208
112
278
171
172
232
121
167
164
170
150
165
193
171
220
150
208
194
112
171
235
115
210
170
147
205
150
189
121
150
193
167
220
156
179
156
171
150
161
170
150
152
220
232
170
193
181
115
229
165
173
137
167
181
176
123
158
136
115
170
201
115
123
177
210
136
159
150
217
124
112
123
204
167
229
187
150
121
186
150
170
240
160
150
112
228
171
150
225
172
229
208
121
263
187
150
240
147
170
172
121
168
170
150
121
232
220
165
159
135
137
172
112
143
220
181
135
121
250
275
195
177
208
121
174
186
112
121
227
150
150
112
150
208
187
299
202
112
208
171
224
200
215
208
167
112
128
203
207
167
231
159
121
193
121
167
156
212
150
137
112
206
115
179
178
130
112
167
150
136
208
203
150
195
186
147
239
196
150
254
186
112
176
253
302
193
121
150
194
196
121
121
147
136
194
121
121
181
136
176
276
123
191
178
112
123
156
121
150
219
112
228
121
171
197
112
137
208
195
168
167
186
150
121
186
115
112
171
171
278
112
194
121
181
130
170
135
112
167
112
115
112
181
130
174
172
121
121
158
174
137
208
186
239
204
219
123
233
170
143
194
210
121
172
170
195
152
150
150
150
121
231
150
130
124
156
226
143
302
253
150
181
112
130
223
194
121
181
176
156
226
175
167
210
112
208
121
233
112
112
160
123
112
112
121
172
112
179
243
186
202
115
172
202
167
121
210
150
147
121
229
208
112
208
157
121
165
172
172
121
235
228
137
201
174
112
165
172
205
237
115
240
162
164
181
121
201
172
181
237
228
135
224
170
224
230
150
193
121
220
250
208
172
214
217
167
219
170
264
115
150
230
195
181
171
112
170
211
208
243
121
150
172
137
187
170
176
177
150
115
240
192
182
170
225
208
194
121
135
217
225
208
150
200
255
201
170
176
170
174
193
176
156
170
172
210
112
184
194
225
150
206
236
150
185
150
177
158
175
121
177
150
121
220
115
170
157
158
186
150
255
150
178
144
195
214
220
128
228
208
213
190
210
175
171
121
171
150
112
150
174
208
121
181
150
170
172
165
172
112
115
170
150
150
210
172
259
112
156
186
181
223
186
171
172
164
172
112
130
150
150
239
121
208
135
121
158
194
208
136
158
278
208
226
135
240
176
226
208
208
121
250
121
194
349
177
150
158
220
157
172
218
203
121
263
172
112
176
219
259
150
150
250
158
165
233
112
209
205
147
176
137
233
194
172
121
218
229
112
194
203
137
193
150
172
210
226
121
172
167
167
206
158
174
165
233
124
121
172
167
232
150
198
112
202
164
165
209
172
186
123
150
208
208
240
215
164
172
137
171
150
172
207
123
112
141
137
191
121
302
173
150
167
136
171
167
215
112
150
121
208
226
170
198
136
208
123
259
172
128
167
233
150
152
123
121
112
171
201
181
135
203
112
112
221
212
121
170
157
112
150
182
136
150
150
208
226
121
214
184
150
186
150
202
228
174
225
112
201
193
124
177
171
171
150
150
112
123
196
112
263
240
232
171
186
194
205
211
187
112
150
150
170
201
150
121
161
172
236
195
212
121
121
263
123
121
181
196
128
237
150
194
170
112
112
201
137
150
181
121
208
208
121
208
202
171
128
193
150
139
240
223
176
115
181
258
130
123
150
121
150
170
152
171
239
156
112
216
112
252
220
115
112
112
146
208
159
193
231
147
159
229
168
112
150
167
192
121
121
228
245
150
150
208
177
208
175
179
205
150
229
156
150
150
231
175
172
154
150
171
234
170
112
170
123
186
217
167
192
198
193
121
112
164
170
208
219
234
112
203
150
193
123
220
112
121
227
208
186
228
150
193
136
176
196
121
112
147
150
208
215
137
121
121
186
176
165
228
178
194
121
172
194
239
189
208
121
192
194
121
177
272
255
143
112
202
150
121
121
170
172
174
131
170
244
121
228
195
187
131
208
112
150
229
172
150
210
187
121
208
297
177
165
178
186
121
229
170
112
150
208
253
245
165
220
123
137
115
150
130
203
218
121
172
209
195
195
244
155
228
156
212
184
203
164
242
135
121
150
192
171
238
158
112
193
240
210
177
150
150
171
115
150
121
232
220
220
112
208
186
123
219
167
147
162
194
112
172
112
128
263
167
229
243
135
208
167
210
212
112
208
170
176
112
232
150
121
165
121
136
121
147
123
172
170
205
237
112
192
279
112
123
272
170
219
112
150
186
150
263
147
112
150
160
194
112
147
204
244
112
176
150
157
167
132
180
167
121
121
269
202
208
263
123
203
150
150
181
167
112
112
237
243
112
220
157
170
121
195
123
168
150
172
147
172
123
147
223
167
150
115
121
187
124
150
112
150
163
112
212
175
121
137
167
202
150
237
121
165
236
112
201
171
193
231
147
150
160
150
206
121
164
225
123
156
121
225
195
187
164
167
187
164
143
150
184
220
121
243
136
121
152
212
150
137
176
112
170
112
224
150
250
177
231
167
158
150
210
211
150
115
186
121
170
226
123
123
208
217
121
112
208
145
202
205
112
199
121
203
208
167
181
207
194
150
228
137
194
181
123
184
112
150
208
172
208
253
170
170
121
121
158
294
215
121
278
229
121
123
167
112
123
172
150
115
233
196
172
205
121
193
210
150
128
150
172
225
204
236
112
193
150
170
150
112
202
167
186
171
150
189
208
115
233
253
150
225
112
167
121
225
208
136
203
160
240
150
150
112
170
171
215
181
112
136
200
168
150
229
208
229
184
186
112
195
156
208
167
123
202
112
236
150
275
217
201
171
175
112
208
167
150
218
152
123
121
150
237
182
159
165
159
223
150
186
150
112
279
259
112
194
181
186
195
135
167
201
128
235
235
212
229
150
208
150
210
208
150
250
203
195
228
175
150
150
208
121
123
226
150
167
164
112
170
136
255
208
164
172
194
205
174
136
150
201
139
202
115
212
112
176
121
228
265
284
112
150
208
136
254
171
177
214
172
171
171
198
174
172
193
150
135
171
135
172
196
192
150
210
208
212
196
179
160
137
112
193
165
177
112
229
112
170
276
170
147
212
208
195
156
124
112
123
150
210
201
150
165
302
167
215
194
121
143
150
220
150
177
187
172
244
203
187
225
162
150
150
217
167
176
150
210
208
112
123
123
150
205
282
150
208
171
167
186
164
150
192
121
136
172
186
228
263
172
121
121
150
263
195
150
177
255
236
208
202
208
121
158
178
150
176
172
112
174
245
123
208
150
172
121
137
147
255
143
194
177
150
150
176
121
171
174
121
172
186
150
112
208
121
171
112
167
177
176
150
146
195
135
176
177
150
207
202
160
170
205
205
170
139
252
203
170
150
135
225
176
238
147
121
146
175
170
167
150
302
238
121
158
168
215
220
112
192
137
121
167
205
121
263
147
137
276
121
136
201
181
177
198
172
164
207
208
194
123
217
123
124
121
121
228
150
208
112
171
172
195
137
170
112
112
238
194
152
121
194
181
217
196
150
176
171
237
181
193
203
172
176
150
150
123
166
187
121
208
186
123
177
121
170
121
196
170
159
178
176
238
165
179
158
147
170
156
150
208
189
112
165
225
203
165
115
172
177
150
208
170
217
170
249
150
123
172
194
206
203
161
208
181
150
189
208
167
136
112
168
121
194
121
136
196
258
274
193
112
135
150
202
150
121
170
121
112
158
164
121
150
211
121
203
228
210
150
150
257
195
159
123
135
167
112
123
164
186
112
115
121
201
181
208
121
172
137
257
175
112
121
112
112
115
170
176
212
124
195
174
203
112
150
130
150
241
112
177
112
167
194
228
167
194
171
112
167
186
210
147
158
170
172
150
223
230
174
112
203
123
121
112
121
229
150
286
165
242
210
121
150
233
212
150
123
186
147
123
240
176
282
115
187
208
264
150
205
121
112
164
211
150
150
194
144
121
137
278
228
167
225
212
112
152
193
174
208
150
168
207
164
203
177
227
202
171
121
150
172
228
171
167
208
112
165
165
171
165
194
168
189
179
165
121
172
190
123
203
202
112
165
228
260
178
172
167
170
208
202
112
112
297
112
121
121
150
135
202
137
165
276
156
112
202
190
150
112
124
192
174
121
124
171
220
147
150
172
171
112
159
168
121
112
218
189
159
186
261
112
199
194
208
228
209
112
206
167
194
225
170
201
150
121
150
121
207
158
121
123
167
181
150
165
176
228
250
167
165
224
172
171
171
194
258
172
172
167
228
137
172
181
112
250
112
121
162
112
115
167
186
147
130
150
208
179
172
208
150
199
198
205
150
150
112
187
112
176
121
150
208
195
121
192
171
259
160
225
193
205
212
186
112
208
226
208
135
167
172
150
182
172
194
246
144
167
187
181
165
186
115
115
194
172
172
128
112
162
124
135
135
194
115
208
137
172
121
150
245
238
235
150
121
150
172
219
212
112
167
112
193
150
228
139
194
194
150
240
112
231
121
226
171
150
150
208
219
225
219
172
239
121
167
147
170
236
176
238
131
174
223
112
112
121
187
172
112
228
193
213
264
239
150
184
198
152
203
198
157
266
212
146
170
170
158
150
205
233
150
136
130
123
226
233
206
112
225
124
205
186
208
196
150
272
150
213
167
115
176
150
123
229
112
236
150
172
137
208
115
112
170
219
150
231
112
238
170
167
165
123
192
112
181
189
150
170
150
170
176
112
150
190
231
123
228
208
123
225
184
150
229
150
260
161
240
121
228
201
210
150
165
121
150
112
150
135
170
178
187
195
150
211
150
172
121
174
259
135
208
186
170
237
203
150
220
172
201
177
150
177
189
176
201
227
302
208
112
208
150
152
112
208
135
208
135
170
177
266
176
135
150
181
193
121
112
123
187
150
135
161
121
172
112
208
167
208
176
124
150
121
196
226
239
195
150
263
112
213
210
186
167
171
202
121
210
147
121
171
184
112
192
265
112
172
196
220
170
208
150
217
170
121
172
112
208
112
219
165
135
208
121
150
182
172
121
165
112
112
173
208
121
150
144
172
150
212
176
115
210
137
150
150
150
175
205
112
150
186
195
242
112
168
176
240
144
210
176
208
112
243
112
112
181
150
112
150
207
112
177
265
112
121
171
150
150
121
150
121
225
210
112
112
240
194
130
159
171
177
237
195
208
187
202
136
150
165
112
181
121
176
206
121
112
150
258
186
150
208
209
150
112
165
152
172
207
181
121
175
172
174
167
121
215
201
212
259
208
112
170
150
172
177
164
150
131
154
150
168
172
121
171
231
124
203
187
121
164
137
198
194
165
135
210
263
150
150
170
202
130
193
159
208
150
176
123
112
171
263
123
217
121
179
218
172
165
150
205
112
112
205
167
205
195
228
136
186
165
212
112
170
121
172
228
121
194
202
257
160
156
130
236
112
203
112
112
121
172
220
172
167
193
194
167
147
292
147
121
170
170
189
121
217
181
218
172
172
228
112
212
167
136
174
264
150
170
156
112
130
170
172
218
135
172
150
112
171
150
160
194
209
150
179
150
170
208
177
170
177
112
112
227
231
208
208
167
165
165
121
136
150
208
187
121
192
205
115
150
112
158
231
112
194
135
115
112
170
239
150
161
208
172
121
164
174
112
172
170
233
167
167
208
150
219
210
167
112
150
210
123
150
167
121
205
131
239
237
112
121
194
150
228
136
172
201
135
228
181
231
177
136
219
260
171
172
221
200
168
215
170
123
112
195
112
121
234
115
124
150
112
177
121
208
255
165
150
193
177
150
176
121
150
147
217
112
150
193
239
112
134
121
232
172
167
227
170
150
232
184
228
219
229
112
177
137
115
150
181
112
172
159
207
123
172
239
121
150
115
112
208
150
156
121
172
208
165
124
243
171
135
170
193
170
174
144
152
172
232
203
212
121
207
203
170
184
194
237
172
207
167
115
124
255
208
167
112
112
176
150
150
194
115
150
164
150
193
160
208
137
112
167
275
172
167
210
210
124
229
158
181
176
121
112
150
265
204
171
195
158
181
150
182
212
167
228
208
194
121
172
167
135
167
172
194
150
121
128
121
130
165
121
112
150
112
121
219
170
115
181
177
150
136
208
305
194
165
135
187
165
112
150
181
210
112
219
184
223
216
170
156
167
136
208
208
232
202
202
112
146
150
137
217
181
179
202
112
150
193
123
150
112
135
112
203
115
263
171
123
227
112
112
165
209
160
220
174
112
131
172
221
121
166
208
228
208
165
202
147
263
216
172
175
207
167
208
123
194
170
112
239
172
190
112
170
168
186
158
162
210
136
172
147
194
112
159
184
167
202
112
159
112
121
150
164
150
187
115
177
131
238
231
236
208
171
150
212
186
170
158
112
187
250
137
210
208
172
194
212
175
167
137
121
150
150
181
225
206
172
208
112
123
152
135
208
203
112
128
124
172
121
150
208
239
136
112
231
202
181
194
189
184
215
186
152
158
177
171
165
233
196
158
188
112
121
121
115
208
176
171
167
192
194
112
112
186
158
112
121
112
210
136
165
176
160
164
168
112
170
172
172
112
176
195
164
176
258
112
175
201
124
150
158
208
201
212
243
190
206
123
137
112
165
136
239
208
121
123
186
112
171
211
150
210
167
229
186
150
220
186
208
172
207
150
201
150
150
186
150
175
123
263
215
220
208
123
212
121
181
167
171
181
189
171
156
150
194
121
193
150
121
121
150
158
121
159
205
172
150
139
172
210
201
171
156
171
159
212
208
150
167
204
121
202
115
156
208
170
218
150
150
172
165
176
123
172
179
179
150
130
152
181
244
193
150
232
243
225
123
204
172
228
194
112
170
112
167
112
172
207
208
278
121
170
171
201
167
150
112
135
147
121
112
158
195
121
150
167
192
179
170
202
112
208
150
150
201
150
123
208
112
208
112
187
112
170
115
208
147
115
112
150
123
167
137
218
121
150
137
176
176
172
112
165
164
228
192
172
210
177
150
137
243
154
208
156
194
208
170
208
157
112
150
172
208
127
112
195
201
130
287
208
121
112
187
176
121
112
186
167
112
159
175
150
187
144
130
187
156
171
157
112
144
121
208
150
121
170
112
192
201
278
233
186
170
229
302
135
181
233
150
165
170
193
228
208
239
174
171
161
201
193
181
246
208
160
112
179
123
115
150
112
193
112
174
112
168
124
239
121
210
112
208
112
136
150
208
112
150
201
121
185
240
208
121
236
121
150
239
170
158
186
112
264
207
150
112
150
170
112
160
202
112
172
170
156
186
181
181
226
176
206
115
256
165
217
168
165
257
198
247
150
208
164
202
147
208
136
275
150
150
150
121
212
233
219
171
210
245
160
112
171
223
112
232
189
216
226
225
150
167
208
167
150
150
112
208
164
181
170
171
170
121
159
161
229
172
167
199
163
161
171
172
165
150
121
167
152
170
150
167
165
172
150
150
208
150
208
121
152
181
208
187
177
165
137
112
225
225
170
150
210
139
172
202
172
194
121
150
172
186
181
207
150
121
197
198
224
225
208
228
208
176
231
139
171
147
150
170
185
150
150
194
186
167
157
144
218
121
170
171
198
231
178
170
112
170
171
150
195
150
181
165
203
150
199
123
112
243
147
237
176
115
172
210
194
167
181
181
115
192
237
172
208
121
244
194
177
208
237
172
176
121
302
181
112
123
170
184
112
165
124
176
208
202
276
242
150
112
165
201
150
194
167
150
112
152
186
194
195
145
123
130
231
181
147
135
171
203
177
250
121
123
172
171
187
130
115
123
112
193
237
112
220
181
208
168
194
172
176
150
167
217
226
181
239
208
121
248
150
159
213
196
167
115
194
215
167
121
150
137
243
158
203
167
121
226
150
124
150
172
219
171
171
121
194
121
208
150
121
231
160
222
181
177
276
123
212
250
121
187
121
231
147
207
123
220
171
144
167
228
137
195
210
167
112
181
121
115
171
168
179
208
112
150
167
171
115
171
217
208
150
150
225
164
121
112
112
150
152
171
198
185
152
112
189
226
121
170
121
158
164
171
167
115
265
210
136
245
195
171
228
112
121
170
177
165
150
150
242
170
167
136
164
202
172
239
228
181
112
150
223
150
164
236
159
243
167
255
152
170
165
112
236
174
176
164
208
150
150
121
135
201
176
208
112
170
137
215
150
121
168
112
121
208
112
137
182
161
150
150
150
121
212
112
205
172
171
112
259
130
186
170
240
124
208
165
121
121
199
243
124
136
237
208
112
165
150
205
201
201
184
228
210
156
194
112
123
187
112
223
156
176
193
121
150
136
172
137
123
259
171
150
208
115
177
174
201
135
208
172
150
112
192
158
208
150
174
150
128
186
194
150
170
150
147
172
121
158
174
150
172
167
194
112
112
181
170
172
121
172
172
212
209
150
112
112
200
192
112
156
143
247
160
121
240
230
112
219
150
112
123
150
135
167
176
123
172
112
150
112
137
202
211
178
112
112
121
150
150
195
181
205
272
158
150
187
181
121
123
172
172
124
210
170
226
143
123
187
170
147
201
135
195
179
112
112
201
164
167
147
208
230
170
172
150
250
172
228
209
121
128
194
181
112
176
171
208
171
167
194
150
159
137
164
194
128
112
253
121
121
135
171
121
227
135
195
123
228
150
172
112
172
112
150
121
194
236
136
135
181
208
220
229
150
193
112
215
121
228
112
172
208
150
195
112
204
150
219
240
150
121
121
121
150
208
231
112
194
228
172
171
208
172
186
121
121
176
175
115
136
112
172
121
112
165
160
202
176
150
150
172
212
172
150
150
247
139
208
172
181
112
202
237
147
203
176
228
172
167
179
160
123
146
121
242
172
121
112
112
208
248
137
170
193
156
150
228
158
124
167
237
172
219
123
123
195
272
199
165
137
124
186
201
157
150
208
208
150
186
121
121
210
137
170
112
267
124
172
150
112
182
121
195
150
172
172
150
115
150
121
121
121
147
139
181
112
168
150
186
121
194
194
159
271
150
302
112
115
112
193
212
181
164
176
158
115
171
165
167
171
170
147
121
121
208
219
193
195
112
121
135
171
232
192
214
115
225
181
115
186
121
208
170
175
208
147
164
234
112
195
164
194
196
170
187
208
112
212
214
158
121
208
170
121
160
144
226
123
137
165
219
232
208
168
174
150
195
152
150
112
121
156
150
112
167
194
226
123
112
136
112
150
190
215
179
249
202
123
136
297
216
123
299
131
156
136
150
158
181
121
262
177
176
203
165
208
139
128
123
187
218
194
112
121
170
121
208
208
132
208
164
165
136
158
177
150
143
123
181
205
248
186
228
147
223
302
167
171
121
172
198
207
240
168
112
165
172
147
223
130
174
228
164
208
208
150
272
164
130
121
186
233
137
204
228
150
150
136
121
123
150
208
167
194
228
150
150
136
150
167
123
158
207
211
167
170
121
137
112
232
206
112
194
112
170
171
167
112
243
112
112
170
150
190
172
194
218
123
150
172
112
202
112
121
139
181
144
150
202
150
112
167
231
150
195
229
112
172
150
160
214
162
300
193
123
172
115
112
158
150
181
181
152
112
175
171
220
112
112
150
112
147
123
115
147
137
121
136
225
121
194
200
112
168
202
196
121
164
208
165
181
156
172
121
225
112
121
208
203
256
242
112
134
136
167
121
217
192
150
136
208
150
171
112
112
194
201
176
170
143
177
150
218
181
195
150
207
121
121
164
158
172
170
278
195
186
231
255
172
205
171
201
112
172
172
181
187
112
181
170
217
192
246
112
219
217
192
124
172
150
167
202
121
194
150
121
158
172
172
150
208
172
150
172
147
112
194
150
150
231
112
225
167
208
187
167
165
150
220
187
171
112
128
112
121
170
231
112
150
237
112
228
128
228
123
165
152
150
170
131
259
150
172
172
121
208
263
124
136
181
172
231
201
164
112
112
219
177
171
124
193
223
172
186
170
124
112
150
170
115
121
239
147
193
115
226
171
160
112
195
121
152
225
231
239
249
137
228
164
236
168
229
171
243
171
121
150
162
177
112
136
171
237
121
112
197
165
186
208
190
112
194
136
150
238
130
202
172
124
210
112
215
232
207
263
208
201
187
150
123
179
112
168
135
158
167
226
112
167
112
172
152
121
121
121
170
121
177
170
199
201
193
239
171
195
121
215
150
150
176
136
233
195
193
112
240
224
181
165
152
121
121
128
121
121
112
172
176
194
225
201
236
123
137
130
150
112
177
121
112
219
218
128
167
178
235
130
201
210
165
121
210
234
213
170
124
195
150
152
203
171
237
187
172
121
181
213
213
112
123
228
156
187
112
167
207
123
170
144
150
150
150
167
163
174
231
112
208
121
112
186
168
123
255
167
150
228
203
121
181
226
208
204
226
112
218
174
201
112
150
228
208
208
254
201
115
187
121
257
276
158
152
217
150
150
222
220
176
112
172
168
165
205
172
112
135
208
150
216
195
123
167
235
194
170
150
164
208
123
193
228
195
174
112
214
146
158
167
170
220
193
136
233
121
204
190
121
170
239
115
172
218
123
210
235
239
210
172
170
208
172
215
201
193
194
212
194
112
205
177
194
170
150
159
112
265
239
121
167
193
121
201
170
112
210
172
150
171
194
156
121
130
187
208
167
168
176
187
201
150
188
112
136
170
225
136
228
195
112
157
181
135
237
163
228
186
186
172
231
167
115
181
201
233
220
228
196
150
137
220
123
208
302
128
112
219
263
112
250
213
261
168
112
181
208
112
179
130
172
186
255
189
164
202
143
220
165
172
167
124
229
187
206
202
121
150
209
197
208
172
231
201
150
208
112
156
152
137
206
204
115
202
172
158
150
208
212
150
167
186
201
171
176
194
150
121
150
166
137
112
112
199
175
203
237
185
156
150
193
112
205
250
150
150
194
210
172
112
176
112
135
211
192
112
217
167
201
228
150
160
172
115
158
165
237
181
192
203
150
190
236
202
150
210
147
150
172
137
175
112
300
187
228
150
177
212
170
237
112
255
150
217
228
136
164
121
150
137
156
121
150
203
179
164
170
162
219
167
225
164
193
174
186
250
150
123
135
219
212
121
143
194
201
121
165
150
240
167
220
243
150
240
150
210
165
239
159
218
121
235
150
239
150
168
194
208
112
220
263
178
171
232
150
121
124
235
228
150
170
150
179
181
167
237
112
237
112
172
171
208
136
150
302
255
202
208
112
172
237
267
150
179
130
205
228
121
136
112
186
150
175
255
121
165
131
121
242
195
258
121
112
150
171
203
136
186
135
291
187
218
208
237
208
150
112
167
112
112
213
178
121
201
150
150
175
156
228
171
150
170
349
187
121
145
147
250
150
121
203
302
217
150
203
194
223
226
112
243
170
167
200
156
158
208
208
121
211
174
208
220
121
161
167
235
194
112
112
172
219
263
112
207
237
150
170
204
136
194
167
136
167
216
172
121
255
150
147
168
219
123
150
174
147
187
150
176
172
165
175
123
135
112
165
194
156
150
217
170
172
172
187
167
150
217
112
137
158
150
128
172
159
150
171
130
112
194
186
112
231
121
204
201
128
217
210
208
208
121
112
150
175
170
150
167
228
186
121
186
146
156
164
121
243
150
236
124
167
135
220
150
164
123
137
212
197
112
202
137
137
177
121
137
150
139
162
184
242
150
165
150
206
121
205
150
112
176
121
181
201
176
172
172
208
208
170
196
150
177
150
121
150
199
175
121
112
272
112
260
162
187
235
112
150
176
218
156
170
112
136
171
112
229
208
214
212
205
121
167
241
171
121
194
121
135
150
175
121
112
121
112
150
259
147
121
150
225
170
174
302
181
135
189
112
203
112
172
172
112
179
220
121
228
177
252
112
128
115
227
181
224
170
115
135
212
171
172
171
205
135
121
208
115
212
112
172
194
165
181
137
216
157
202
158
150
194
121
226
167
210
112
176
178
171
192
208
181
171
171
150
236
181
172
207
167
194
175
150
263
135
112
171
181
250
172
223
112
115
124
112
150
187
235
165
121
240
167
208
174
203
193
208
171
176
150
136
152
195
208
165
208
189
195
218
112
171
167
159
243
162
176
172
171
218
121
128
240
156
186
172
121
172
177
177
115
124
208
218
205
228
186
158
167
255
112
203
112
188
194
150
112
112
208
164
237
228
112
123
208
172
232
218
150
194
150
176
147
121
219
218
225
170
121
170
228
150
202
150
184
147
150
185
162
210
121
135
195
250
176
135
123
112
210
115
167
150
150
136
121
176
172
150
150
121
112
210
115
256
172
208
173
121
112
208
121
170
208
219
201
137
241
192
121
216
147
121
150
205
121
239
136
167
150
172
172
121
186
181
172
121
150
165
223
181
208
174
170
177
234
219
156
112
136
208
208
208
121
150
210
213
196
150
205
247
121
251
123
115
112
112
208
170
165
172
172
194
123
170
172
152
123
159
177
150
158
167
121
171
167
177
150
150
219
164
231
150
123
302
170
194
112
193
177
150
150
172
136
193
194
171
112
150
150
123
112
228
218
190
115
159
164
158
124
212
167
208
239
121
267
150
124
250
158
177
229
200
172
201
250
250
170
150
236
208
112
181
135
167
208
232
199
171
176
150
208
121
278
184
226
167
167
219
152
168
212
200
112
278
123
217
112
208
124
159
170
150
150
170
172
172
212
208
170
112
206
112
219
171
112
177
237
170
172
121
123
172
112
176
228
121
230
115
112
150
167
150
185
150
145
170
150
258
171
124
150
112
240
121
212
123
146
112
172
194
150
176
172
193
167
167
208
170
187
128
112
208
172
186
172
124
167
176
187
195
172
112
203
187
233
170
121
238
170
228
150
167
194
121
265
294
208
186
231
262
167
112
207
150
214
156
230
218
112
167
201
250
112
208
152
112
112
208
121
208
165
181
302
181
203
112
123
112
112
150
171
167
112
208
150
150
159
185
112
196
176
237
121
198
170
171
167
112
115
167
212
209
223
210
172
228
231
112
208
177
150
172
232
203
112
136
206
112
192
208
170
209
168
146
196
112
208
207
167
174
179
213
197
121
121
158
187
121
181
216
170
147
192
167
121
112
194
205
263
177
212
121
181
171
237
150
194
208
165
167
112
203
121
150
171
121
112
195
237
244
231
226
232
150
167
150
150
121
167
123
170
121
246
121
170
112
167
150
172
159
207
208
150
160
136
250
171
197
179
150
150
121
302
150
196
121
192
167
150
181
115
121
206
159
123
212
238
136
156
150
228
121
208
170
203
115
193
172
121
143
150
165
239
302
208
192
130
219
208
150
150
121
150
137
194
112
176
112
150
226
150
112
121
137
167
181
150
239
150
220
210
208
176
171
174
172
150
172
147
193
121
150
112
205
147
135
218
206
170
150
168
112
197
276
203
233
150
121
121
193
170
174
186
176
193
237
147
115
156
121
160
212
181
189
136
181
150
208
121
260
150
112
167
150
210
218
150
150
210
171
231
130
150
187
208
210
121
112
112
195
167
159
171
172
186
144
150
181
198
156
253
112
255
208
112
112
150
208
167
157
167
187
135
172
170
150
115
170
172
121
211
208
258
121
136
208
226
208
121
208
121
162
115
187
264
205
218
167
112
121
161
112
112
197
172
172
121
223
187
160
194
135
112
243
167
167
203
152
112
202
124
164
208
220
175
212
176
167
167
176
167
121
171
115
159
202
212
124
237
112
172
121
197
147
212
121
112
146
218
112
124
150
212
121
121
171
172
274
176
166
150
241
208
167
208
201
227
167
123
195
231
220
174
150
112
156
123
150
170
121
170
112
121
210
121
218
150
121
198
220
255
150
194
121
220
167
177
172
219
147
121
187
121
152
217
150
247
181
112
208
158
178
130
167
162
212
112
181
226
194
167
223
170
231
193
217
150
264
184
121
228
172
135
150
209
187
228
243
165
112
150
227
212
255
235
170
137
228
123
193
150
150
186
239
162
123
112
137
168
121
195
198
188
187
225
208
243
242
201
274
228
112
150
171
208
150
208
195
147
150
121
225
112
171
112
121
112
123
228
150
150
112
231
199
121
208
158
158
228
150
121
208
234
218
208
121
121
208
195
167
135
176
231
150
207
121
197
182
194
172
112
121
240
225
199
172
186
150
186
171
172
112
124
226
123
121
112
208
181
112
212
167
112
172
164
144
123
195
208
136
112
177
203
208
160
192
208
172
147
121
157
115
187
255
204
235
208
199
112
124
187
186
170
170
147
172
216
170
121
201
196
228
194
202
172
191
150
167
150
205
137
167
216
121
171
302
200
210
156
226
177
123
152
121
121
112
121
208
187
150
147
135
112
172
208
150
121
150
112
176
112
172
228
217
172
112
241
176
121
121
158
172
162
121
263
229
150
346
170
165
150
150
165
187
170
137
194
240
167
208
150
259
150
232
208
203
232
150
208
212
170
112
150
237
170
192
121
112
205
172
167
175
173
218
112
210
121
162
167
177
121
121
202
115
161
302
176
177
112
172
150
135
112
186
177
208
219
172
170
163
112
220
208
152
137
171
161
201
169
135
212
203
150
175
171
172
189
150
150
150
177
165
132
150
230
219
130
137
210
172
237
213
112
203
194
150
228
121
195
150
165
222
121
217
136
171
137
112
123
193
170
159
171
196
194
150
112
201
270
193
158
228
206
192
207
121
232
228
188
176
192
144
150
135
171
232
181
202
172
210
150
150
150
160
187
150
112
167
135
112
202
121
144
165
179
136
135
193
112
167
194
136
220
187
112
150
177
150
112
172
176
241
150
192
208
112
150
239
202
176
165
123
172
156
215
219
259
255
176
112
121
112
143
208
112
112
136
139
121
136
193
193
135
172
210
219
172
240
115
181
173
167
182
176
170
115
175
130
136
150
181
121
215
167
121
150
121
115
121
196
170
121
228
143
112
167
190
164
186
174
171
165
112
123
172
123
186
284
124
164
123
112
203
157
135
201
201
167
165
147
135
150
172
210
196
112
112
121
195
172
231
175
200
115
168
171
121
135
121
171
213
194
170
179
128
112
201
150
128
224
112
194
150
135
172
202
210
121
187
150
181
121
150
152
130
239
173
160
150
194
194
178
255
190
165
195
209
220
209
150
159
167
198
201
147
171
150
150
171
112
150
176
215
112
172
150
150
193
112
179
160
194
150
112
121
112
194
208
135
210
150
150
207
121
194
170
286
226
192
121
115
208
261
170
205
176
165
177
115
245
229
137
193
124
112
210
112
158
208
112
217
150
264
112
226
165
255
177
174
208
121
208
150
274
187
165
232
208
172
228
121
150
188
202
123
112
150
230
112
159
150
112
124
124
170
172
218
147
165
210
194
152
227
172
121
202
112
150
228
216
136
157
202
203
170
150
112
255
171
263
184
178
137
198
150
121
150
150
239
228
176
172
171
194
239
202
241
210
167
172
150
233
177
302
171
198
210
150
150
165
121
187
194
164
147
112
208
175
172
192
255
147
203
229
234
171
208
208
210
192
177
172
112
171
130
236
121
208
171
202
188
123
150
150
172
186
124
170
172
184
156
170
121
240
136
112
178
210
199
205
184
115
235
172
147
192
187
147
150
150
234
228
239
208
208
167
135
176
150
170
112
150
235
164
194
174
170
181
215
181
179
208
112
121
177
214
208
208
121
167
150
150
171
179
193
212
213
208
225
190
214
192
112
121
194
112
230
261
137
237
177
181
150
172
202
124
112
186
176
231
208
208
208
112
112
255
193
255
167
178
217
150
205
186
204
150
231
181
170
226
186
112
210
172
212
186
203
212
121
239
171
184
150
150
124
193
181
121
192
218
150
176
208
156
243
131
121
137
238
255
135
208
165
121
172
163
194
112
228
158
225
115
208
210
196
170
159
208
121
212
159
216
239
112
150
165
186
150
121
135
121
170
243
150
187
191
165
112
121
194
171
172
112
175
112
112
150
170
168
172
112
150
203
112
147
171
121
194
218
177
158
237
112
255
112
240
195
195
121
206
204
166
218
190
123
239
201
150
112
172
203
135
146
112
112
208
208
112
112
135
112
121
174
194
207
160
208
218
112
170
278
158
208
232
276
215
171
181
264
130
150
250
137
112
112
225
187
112
228
121
170
208
228
201
176
150
175
121
150
193
123
150
240
181
171
156
131
243
255
231
121
171
203
123
135
237
170
271
232
159
128
276
123
186
186
159
218
255
136
172
208
150
219
159
150
168
144
135
152
205
208
208
121
218
159
115
208
241
150
198
203
167
171
170
195
150
212
178
124
150
215
250
213
167
150
175
121
203
150
224
112
243
130
239
112
181
112
112
250
172
168
112
255
195
176
177
150
150
112
150
168
170
211
208
160
237
112
172
136
112
150
112
204
150
177
201
170
192
189
171
208
194
174
112
201
112
202
186
112
112
195
121
219
123
194
158
193
112
135
121
123
161
165
220
170
112
112
112
167
112
208
128
178
123
170
247
174
112
232
177
112
112
172
208
112
276
165
112
194
174
124
176
168
150
150
121
259
164
121
235
112
212
228
201
226
112
130
112
217
184
200
206
197
167
218
150
175
136
223
112
121
172
212
192
238
167
112
160
228
150
208
212
150
121
115
121
115
170
177
217
137
210
150
167
121
144
255
121
237
177
225
192
144
137
112
112
203
112
147
137
242
172
150
150
186
170
167
121
167
205
143
136
229
112
158
123
150
150
193
172
150
226
171
136
150
150
150
184
205
150
150
235
194
135
208
176
112
112
228
165
208
202
171
177
168
167
167
228
150
150
177
213
185
158
217
156
150
204
112
202
112
215
161
121
181
136
177
281
150
208
150
121
175
123
150
137
189
187
157
167
135
219
112
195
278
135
186
130
112
150
137
208
250
136
189
167
121
209
135
170
150
150
167
195
172
150
208
165
212
182
170
121
220
121
177
172
150
123
208
178
259
172
150
156
181
193
177
217
130
207
201
232
135
205
250
172
218
164
150
162
200
160
227
194
210
121
123
123
224
299
208
226
112
150
250
112
150
210
112
158
121
217
150
196
199
255
201
203
192
150
172
182
112
225
219
250
165
172
171
170
130
208
176
121
121
171
150
152
234
170
170
195
181
203
150
146
167
171
212
150
212
194
121
176
112
150
143
173
201
112
172
217
168
186
121
187
217
172
205
237
123
175
167
187
150
150
147
208
194
158
164
212
212
171
171
237
150
214
156
156
271
167
171
172
215
121
175
158
150
201
208
270
121
167
189
121
147
121
171
123
239
157
208
137
170
208
186
202
208
193
172
219
177
159
171
171
231
150
232
208
136
208
121
135
171
193
171
237
199
121
112
170
225
121
147
297
171
167
172
202
150
237
165
172
150
137
208
219
210
136
302
210
162
123
150
190
136
208
168
112
167
195
168
147
147
174
210
130
150
150
128
258
196
213
201
150
233
150
150
121
165
207
170
158
135
208
176
150
124
124
263
112
171
164
239
115
201
172
112
281
218
195
130
150
194
274
121
136
197
150
150
137
145
156
231
150
208
145
177
150
254
208
167
164
281
176
150
170
164
150
183
221
181
202
172
121
135
181
205
123
147
172
242
150
236
150
167
112
210
209
210
150
112
238
160
115
167
210
192
167
167
205
208
121
242
174
176
176
150
270
194
231
193
167
112
112
137
112
112
225
231
115
164
181
164
264
150
241
150
168
112
150
208
189
112
215
210
189
250
112
235
130
181
121
179
218
170
219
195
112
271
121
168
194
123
150
136
136
171
202
195
112
172
265
150
171
193
136
112
147
150
202
150
150
186
176
150
112
156
195
176
228
220
202
257
150
121
165
168
150
192
150
205
150
157
194
121
203
164
150
150
121
137
150
112
195
112
123
112
177
121
121
171
112
115
206
208
187
112
217
172
206
135
121
136
205
112
150
224
112
152
193
150
167
137
236
207
121
174
195
130
150
165
205
112
172
112
170
214
112
112
150
112
123
112
179
159
208
185
171
219
150
171
172
208
273
176
203
112
171
167
135
176
167
165
150
194
121
150
185
112
219
172
194
112
112
167
228
171
243
181
112
115
194
194
121
201
186
121
175
209
231
230
172
243
167
150
150
121
121
112
121
195
112
150
250
201
211
176
135
177
156
186
208
158
203
167
207
135
181
121
194
181
121
150
208
226
128
150
171
165
112
121
218
172
195
156
187
207
193
137
230
201
165
194
210
170
150
258
143
203
218
150
147
112
243
223
115
121
205
165
208
201
170
167
186
170
112
192
150
156
156
112
172
231
167
179
176
147
112
123
302
172
150
176
265
195
186
112
135
123
112
240
150
215
208
160
141
139
177
160
238
112
208
150
150
219
186
217
170
112
208
208
226
184
167
208
147
121
272
150
158
115
123
187
208
124
112
206
112
181
258
172
112
171
170
212
121
137
202
112
208
201
170
195
150
170
147
184
123
232
228
186
210
242
112
167
239
170
227
176
185
207
150
160
208
172
281
136
112
136
232
203
232
195
238
112
223
237
171
212
172
186
165
212
189
112
171
263
201
176
159
228
182
121
137
194
112
172
233
167
243
150
205
156
167
208
175
121
172
192
179
159
112
115
260
121
209
152
171
112
176
150
121
167
112
164
147
158
124
112
192
112
217
143
121
168
167
112
220
179
206
112
250
170
195
167
208
209
228
194
112
183
297
179
157
172
128
288
172
135
208
115
194
195
150
112
276
237
210
137
143
194
165
112
152
150
172
170
150
184
150
112
167
112
203
150
205
208
190
243
165
170
225
128
152
204
150
150
115
181
231
136
185
112
150
137
124
150
123
174
242
208
177
164
175
176
150
150
150
150
121
181
302
136
167
172
193
150
150
112
163
172
112
171
170
237
143
160
150
217
194
150
152
112
150
112
112
241
112
217
256
165
225
112
112
187
112
121
215
170
187
150
205
124
159
208
193
208
172
112
150
299
158
195
147
112
255
161
227
235
158
212
150
226
237
165
112
194
121
150
131
201
167
171
181
160
171
208
203
177
121
112
150
210
192
177
266
123
171
209
112
208
158
172
121
215
172
170
150
112
169
234
112
152
349
124
210
150
194
159
193
112
112
160
208
124
226
208
167
150
150
121
186
172
171
121
121
208
121
150
208
194
195
150
239
150
158
197
232
112
208
112
165
147
212
150
150
208
132
186
208
152
186
184
121
187
208
132
342
121
194
112
121
121
195
172
143
192
208
175
137
112
208
167
208
112
150
150
201
172
112
201
137
172
112
208
112
203
195
202
186
208
174
128
143
121
208
193
206
135
203
209
284
203
181
254
123
234
240
150
156
202
208
202
276
237
210
112
172
203
196
159
156
187
208
121
219
150
194
123
150
208
208
250
234
258
136
236
150
153
121
176
150
167
165
170
124
302
115
112
250
208
263
150
217
170
130
232
208
147
202
195
256
172
208
164
112
192
228
121
211
150
210
150
112
201
168
121
150
202
150
201
150
225
137
115
158
112
121
220
136
201
121
204
259
121
112
187
174
235
167
123
238
150
165
175
202
205
237
208
150
137
156
121
176
150
192
137
194
179
136
186
165
195
135
208
186
123
115
202
121
208
222
172
150
121
208
112
150
150
112
150
150
198
208
158
159
208
194
131
202
150
171
150
121
194
207
181
167
167
112
281
242
159
150
115
121
135
112
112
209
137
112
170
174
112
121
150
170
139
150
172
228
220
152
121
225
112
161
176
112
150
164
172
158
164
245
173
171
112
150
208
189
239
112
208
183
231
236
178
171
172
210
193
121
160
135
124
181
202
150
231
150
171
167
250
131
171
172
207
168
161
202
174
150
237
166
156
171
112
112
150
218
123
192
115
220
178
124
190
150
112
172
112
164
112
150
172
192
185
196
170
210
137
172
255
208
176
121
237
208
172
167
176
150
150
218
194
124
243
115
177
112
226
112
208
213
170
216
175
150
237
165
195
194
128
186
164
217
186
238
121
234
165
207
193
156
112
184
232
150
167
186
115
181
203
175
135
150
184
210
165
112
176
147
167
112
121
218
195
189
137
231
267
115
164
208
147
171
174
146
150
167
143
201
276
112
150
128
165
112
136
150
173
137
172
208
239
172
186
128
262
121
176
150
121
121
121
209
230
239
167
179
158
160
167
210
208
150
181
186
257
150
179
172
176
238
150
124
253
135
147
130
217
150
186
136
222
209
205
121
174
233
112
220
137
208
202
242
167
178
171
156
226
147
172
164
164
181
121
187
172
281
228
229
123
223
193
177
112
121
112
208
165
150
115
147
232
123
150
135
172
212
123
136
121
171
167
187
121
203
144
136
123
171
209
150
112
150
179
156
150
174
172
171
135
181
112
208
147
194
171
112
182
112
124
137
132
211
186
202
228
250
238
112
150
216
224
210
164
186
172
194
174
123
150
121
208
185
170
202
208
192
150
206
172
212
177
150
150
112
152
203
236
194
150
156
170
199
172
112
242
150
349
171
193
172
208
226
112
121
232
181
165
208
112
167
147
112
150
229
172
208
229
168
170
152
112
165
150
172
192
194
112
208
150
187
112
136
208
150
181
123
174
240
175
203
121
177
193
167
112
150
158
123
170
136
132
175
179
204
179
171
123
231
202
137
137
121
112
124
182
205
150
253
172
165
176
219
150
194
150
121
186
275
121
172
229
168
157
208
121
124
208
121
135
167
302
181
186
194
232
158
167
170
150
215
112
228
150
167
121
112
156
136
160
201
184
112
123
234
150
150
176
172
172
121
150
176
235
112
234
201
192
219
121
193
208
121
159
202
150
136
176
181
150
143
112
150
135
150
150
121
150
218
121
136
136
210
164
186
281
172
150
186
175
236
121
178
208
208
131
150
115
150
208
123
212
123
164
172
208
172
208
163
212
176
221
193
202
167
193
170
150
112
172
216
187
311
115
121
130
170
158
175
181
247
167
239
231
172
135
230
178
147
176
123
229
121
187
112
170
208
229
250
237
150
150
167
150
165
128
170
150
205
136
208
112
159
162
213
241
150
175
228
246
196
136
237
228
150
170
205
121
187
208
194
187
112
210
170
297
187
176
128
208
147
181
217
170
172
137
168
171
172
121
121
193
192
194
164
167
112
112
156
112
170
150
121
220
203
156
112
112
258
203
187
112
198
207
194
239
181
231
136
150
164
157
243
208
210
170
208
170
121
208
168
210
150
123
123
112
279
128
123
150
167
147
167
157
211
171
144
238
115
121
193
181
203
164
231
203
147
171
167
232
176
121
165
193
150
130
208
137
171
112
231
228
208
121
196
201
172
171
194
156
121
250
187
165
187
137
181
150
121
121
263
150
202
172
240
167
212
195
171
181
267
112
150
150
192
121
121
135
168
245
229
177
210
136
170
171
150
112
205
150
170
123
168
172
123
112
220
210
170
212
112
208
177
208
121
112
115
150
172
176
124
158
189
121
260
218
276
212
181
194
159
228
194
167
165
135
271
136
136
112
124
172
226
121
123
172
231
187
203
237
240
255
164
150
231
121
121
115
187
177
164
172
214
115
170
160
164
212
208
231
174
195
172
208
195
115
167
208
173
208
231
112
240
112
229
189
177
150
121
137
121
156
208
214
229
165
214
150
189
137
157
123
231
150
208
112
167
150
171
184
187
112
112
211
165
201
175
172
201
194
177
170
112
136
193
194
184
167
172
112
165
164
172
160
123
193
208
115
212
176
227
176
150
194
112
176
121
124
208
210
187
124
239
135
160
176
112
112
112
205
170
121
168
229
174
121
186
170
164
186
194
124
121
342
112
172
112
208
150
150
121
115
192
182
150
229
216
121
150
239
150
170
172
178
186
150
150
150
165
115
124
158
150
112
239
243
170
179
195
272
240
218
208
193
239
186
228
234
218
238
165
112
194
112
184
112
150
194
164
150
150
112
150
181
186
237
177
170
233
150
193
220
208
115
203
165
172
112
195
228
237
121
130
121
176
229
255
170
165
172
121
176
255
171
158
177
250
150
150
217
220
115
150
210
159
150
207
194
201
121
190
170
112
193
194
143
209
167
137
158
181
112
220
193
195
158
150
194
176
181
165
124
164
160
186
210
121
165
210
112
176
150
172
172
208
181
150
150
172
195
170
187
208
150
218
150
238
187
150
115
193
208
123
191
115
193
150
150
150
194
150
159
228
150
121
170
170
170
150
220
202
209
302
194
123
150
201
207
121
245
189
208
135
167
186
186
195
208
228
170
203
123
175
228
172
231
176
208
123
121
112
194
243
165
128
226
150
181
137
150
176
172
147
147
214
172
150
194
203
150
112
150
186
194
121
181
172
208
150
181
150
179
186
267
112
121
177
181
167
112
112
201
136
203
170
225
176
171
112
187
181
150
121
150
115
121
121
112
189
121
228
115
195
265
179
208
115
216
158
270
159
210
121
121
211
208
208
112
112
150
192
135
112
193
198
206
150
172
212
181
203
135
208
115
112
181
235
171
207
228
150
158
135
181
150
165
172
150
167
274
150
137
193
202
206
150
178
175
172
195
172
121
231
220
121
150
150
208
150
170
164
143
115
171
130
208
112
167
121
205
208
150
150
175
181
123
167
177
212
170
121
165
150
112
193
112
177
202
112
165
202
193
171
135
167
209
203
203
208
208
194
230
112
112
208
237
176
228
218
136
135
172
150
167
164
112
112
115
112
112
167
147
150
172
200
150
195
205
203
143
208
112
121
135
150
112
167
121
223
136
112
181
170
179
237
172
172
202
235
228
228
208
112
234
204
123
164
112
187
112
170
164
150
228
150
150
233
204
121
172
181
171
130
150
128
170
172
150
192
176
144
143
255
203
121
147
144
208
162
124
241
252
214
229
157
123
112
150
150
164
208
112
243
257
253
189
152
243
195
174
123
170
171
112
174
167
170
139
220
175
135
289
208
121
115
240
205
165
121
150
211
177
135
112
168
112
137
203
174
208
205
212
186
121
236
159
158
212
172
137
181
172
123
197
158
122
164
202
157
172
112
135
193
186
208
193
150
253
216
150
235
123
130
186
112
220
172
112
201
152
202
164
208
217
112
171
121
172
228
121
121
164
121
195
150
128
173
220
210
112
159
150
178
208
181
171
112
257
246
121
184
198
150
259
127
150
112
121
121
185
132
112
214
226
217
150
121
148
121
150
112
150
208
231
167
194
150
195
250
121
147
112
201
121
167
150
132
153
205
128
150
121
186
147
150
167
123
263
269
210
202
167
123
150
172
150
195
193
187
123
112
172
150
250
137
172
220
177
167
112
276
150
192
170
170
159
194
194
250
164
167
205
136
176
150
150
112
112
121
176
210
135
171
177
112
123
177
219
186
123
170
228
115
150
172
112
165
176
211
156
115
150
167
150
250
208
128
150
172
274
170
147
150
121
176
112
208
215
112
228
231
143
220
137
208
170
275
176
150
212
228
255
160
202
253
176
121
194
205
121
241
158
181
212
202
121
194
112
171
230
187
137
186
201
121
150
171
147
143
150
112
202
167
150
136
208
204
208
147
232
170
147
167
187
115
158
112
228
255
263
121
214
167
222
112
255
121
124
172
150
150
130
187
165
228
158
225
170
218
243
112
170
263
208
170
164
239
112
150
150
270
181
214
212
150
210
208
150
172
172
112
208
112
147
170
208
156
165
172
170
112
171
193
220
112
242
193
237
174
176
170
112
137
150
203
160
172
171
208
160
112
185
123
212
219
121
135
137
210
232
172
112
172
194
150
172
216
150
112
112
165
243
167
112
171
112
150
171
220
202
210
176
194
171
208
194
235
179
208
187
143
146
121
201
147
171
170
128
150
167
135
121
150
168
167
203
112
167
150
177
170
150
112
150
123
131
172
228
205
136
176
150
137
172
243
225
150
219
198
112
165
250
156
112
136
121
181
165
174
158
165
136
170
123
112
211
244
236
123
193
212
150
112
115
175
172
209
167
210
112
185
281
220
194
208
163
167
186
137
172
121
135
112
121
112
121
165
121
150
167
203
159
167
112
165
123
202
115
177
121
278
170
167
150
226
121
112
156
123
150
226
176
171
112
176
150
181
226
184
179
208
121
121
150
231
212
171
150
278
172
194
261
150
212
208
208
150
171
150
181
112
210
170
112
136
121
158
121
150
153
210
150
174
212
137
170
137
217
176
174
150
150
208
112
112
150
160
121
112
112
121
147
137
112
215
121
243
174
212
150
115
171
164
189
123
170
121
150
233
219
150
150
174
112
146
171
135
147
215
112
160
214
167
150
184
146
150
168
174
165
121
176
207
128
217
160
176
202
112
243
137
112
193
202
121
143
150
194
121
121
150
299
208
208
123
164
208
208
150
121
242
215
121
242
121
220
181
150
171
225
135
210
225
121
112
177
179
164
208
193
255
150
159
150
130
160
150
239
228
135
233
112
123
180
150
228
112
213
136
171
210
182
202
167
208
218
194
112
179
112
167
193
177
228
144
160
112
121
112
205
202
187
157
208
167
172
208
205
187
170
112
176
227
112
170
112
136
181
167
167
121
182
208
152
202
121
172
147
174
188
112
189
207
278
243
160
170
215
123
176
112
112
214
160
147
171
168
165
137
181
168
174
198
250
208
245
164
112
220
227
164
176
235
115
182
171
167
167
150
167
121
208
254
208
234
170
161
172
217
203
158
167
192
170
150
112
150
220
217
231
150
237
150
167
150
272
112
212
175
121
237
208
202
121
137
177
195
170
171
147
112
181
189
165
208
150
172
158
187
161
150
207
207
179
170
150
123
177
192
115
136
121
170
121
150
208
136
112
181
121
235
150
208
150
250
270
228
172
159
137
176
277
225
230
121
150
233
246
215
150
207
205
170
229
229
135
167
169
112
231
156
208
135
123
135
244
231
167
227
147
147
121
228
156
172
150
198
172
171
207
170
229
135
210
170
112
174
160
150
165
171
121
165
207
136
196
112
201
172
112
231
150
150
218
150
253
236
217
237
198
121
208
174
167
231
226
152
150
139
121
186
237
170
203
150
121
170
150
121
112
150
205
215
179
243
150
224
165
184
121
159
150
171
115
171
152
112
240
209
276
202
167
172
274
137
172
136
210
210
167
165
150
123
207
239
168
167
193
123
112
158
186
208
167
159
210
186
231
194
179
172
201
112
112
234
156
121
239
210
263
220
258
128
203
167
147
131
170
238
150
250
186
167
242
136
146
172
115
171
123
165
136
171
121
112
170
170
165
112
165
222
170
121
172
208
121
190
194
167
186
208
208
229
147
176
158
212
194
150
146
170
121
172
276
170
136
179
242
150
165
136
112
121
176
146
112
128
203
193
156
202
167
136
167
150
112
121
181
121
209
208
123
265
115
172
193
112
128
167
194
156
232
171
208
112
226
130
242
112
150
150
130
172
150
135
228
232
175
186
187
123
123
170
181
237
159
123
194
203
112
112
165
208
123
194
121
171
139
172
112
208
167
229
121
112
123
150
112
229
210
150
176
150
171
150
130
160
208
121
208
219
121
217
150
159
175
185
123
171
150
182
172
121
112
150
216
172
240
202
208
237
203
137
150
171
220
176
150
172
121
159
175
135
195
135
186
130
115
218
171
208
172
150
112
232
219
171
112
213
167
150
167
147
152
150
276
159
194
158
147
218
172
150
150
176
237
187
227
121
156
195
123
121
172
144
172
197
168
112
204
121
170
150
170
225
237
115
112
150
121
208
124
172
223
150
121
184
187
112
165
112
135
150
208
170
150
150
208
205
230
231
136
167
167
167
150
219
112
253
228
152
124
124
302
172
208
179
216
208
225
121
131
150
150
152
165
167
208
172
150
115
121
147
150
170
150
121
157
121
170
190
212
237
170
112
194
215
227
170
170
228
124
172
240
112
112
217
173
164
194
112
135
121
135
167
194
196
112
135
181
112
121
137
181
165
121
172
194
176
172
112
112
112
236
171
195
112
112
112
137
121
171
187
112
159
208
171
150
112
112
121
212
136
171
112
221
218
150
135
235
135
147
187
150
171
171
147
263
170
203
170
217
165
203
156
216
250
150
112
150
172
240
191
159
150
112
281
121
237
214
194
135
176
112
197
176
170
205
176
217
193
208
195
207
171
208
182
112
231
112
234
230
150
299
181
123
150
112
150
208
121
201
186
150
112
196
121
158
152
202
112
175
186
123
150
171
194
112
150
172
143
219
206
231
167
121
170
187
112
172
219
121
218
159
112
189
150
240
205
165
177
228
170
121
161
232
218
121
203
172
112
150
121
150
150
231
147
208
137
211
144
112
232
176
194
172
171
121
175
208
147
150
220
123
167
208
112
121
112
165
112
208
208
172
181
121
112
172
147
135
164
208
112
172
112
135
192
187
194
147
112
168
172
233
228
186
226
241
208
194
112
136
139
176
208
115
167
150
210
159
112
161
112
121
167
186
208
123
189
172
150
237
289
123
208
192
150
165
208
150
121
150
170
167
208
150
150
112
204
208
137
136
112
181
236
157
170
112
228
165
152
123
218
174
115
150
177
272
208
206
210
204
123
194
130
172
165
195
159
276
112
234
236
177
112
187
244
181
207
121
229
147
263
121
150
220
171
172
177
302
211
216
195
194
150
228
150
194
137
302
168
212
172
112
227
150
172
176
184
174
112
193
167
201
208
202
260
128
174
208
136
181
172
167
228
263
194
136
159
143
176
208
207
189
115
150
181
228
275
175
150
112
168
189
112
245
147
233
123
218
121
176
219
161
152
244
137
160
250
220
112
263
167
160
181
220
177
115
112
112
150
187
174
144
181
171
208
170
187
219
160
150
208
206
150
257
121
121
112
231
150
172
136
164
243
135
112
208
234
112
156
208
150
210
243
201
112
222
121
165
170
181
150
135
208
112
208
158
121
123
135
229
218
150
112
150
267
143
177
112
112
112
288
213
250
195
201
177
121
157
112
193
214
156
136
172
208
212
195
150
150
201
205
216
203
203
121
254
208
210
208
131
175
250
170
231
112
171
181
239
193
112
112
150
165
150
219
150
177
202
158
165
181
166
123
193
209
168
158
112
176
150
121
121
135
112
112
121
172
181
196
208
208
165
112
219
160
218
186
187
231
247
135
161
150
150
121
202
194
195
147
240
150
112
121
167
181
220
228
263
121
179
228
150
172
170
112
171
167
238
186
218
194
228
210
112
220
229
176
136
195
208
136
121
112
255
208
170
172
174
179
201
123
112
121
177
136
124
150
121
172
124
181
121
150
214
192
172
150
182
150
208
201
150
205
227
181
276
212
220
241
225
121
219
112
219
156
121
172
121
218
186
208
181
124
150
121
158
121
112
150
208
173
172
181
121
121
124
176
216
194
193
112
205
112
150
194
112
173
143
196
208
226
194
112
253
123
121
121
201
121
181
208
156
150
150
177
150
195
147
210
270
187
171
112
218
194
112
187
195
123
112
250
208
136
135
190
208
164
194
181
226
229
182
150
143
128
226
156
121
194
147
220
167
187
228
234
160
227
164
164
190
193
212
130
208
172
137
194
187
137
193
121
164
193
216
121
201
170
150
210
260
246
150
201
208
112
115
167
156
123
186
208
197
159
147
161
112
175
170
172
112
257
165
237
231
171
145
112
150
167
160
176
112
210
128
172
184
240
112
177
170
193
136
150
136
123
208
195
124
172
171
176
208
121
170
242
177
152
150
159
121
121
201
208
195
234
121
123
112
257
172
239
177
176
229
139
171
144
237
164
172
123
179
183
112
256
299
208
150
172
195
208
150
150
172
139
170
228
124
112
208
174
112
159
208
150
147
112
181
150
121
204
150
250
177
194
123
121
150
130
197
121
206
121
161
168
194
150
194
194
167
150
124
208
201
177
121
115
121
171
172
112
193
209
208
171
218
210
112
112
167
203
147
170
112
165
203
121
196
194
167
147
150
239
160
205
121
230
167
187
112
123
187
150
121
178
150
135
174
167
187
187
150
170
123
112
150
159
167
112
112
228
112
128
193
150
186
254
150
172
157
237
198
218
115
150
233
255
208
112
194
137
150
255
121
150
152
158
121
150
172
112
121
240
172
234
181
123
121
137
150
202
123
172
158
170
150
172
194
167
112
112
171
164
185
112
165
240
210
171
250
121
208
208
121
165
232
147
192
208
176
135
170
135
150
172
215
192
112
175
174
172
159
156
150
112
195
152
159
205
112
203
167
195
112
135
150
203
172
150
175
195
150
150
217
167
150
195
240
195
170
147
170
210
150
150
272
302
193
172
181
275
150
167
240
172
136
231
208
150
216
150
158
146
252
121
157
194
164
150
181
112
156
239
147
168
186
121
165
121
112
167
240
150
270
150
176
203
167
225
184
135
121
168
172
167
136
112
124
195
208
211
147
226
150
239
201
112
199
181
208
170
172
167
171
150
237
160
143
208
208
167
197
210
156
112
225
176
179
167
181
171
233
237
171
239
150
237
112
112
150
185
177
112
242
165
219
227
123
150
135
181
121
171
150
150
209
112
190
195
233
112
192
150
170
167
112
165
181
112
210
171
175
121
137
121
231
112
165
121
208
146
135
150
164
225
112
150
123
150
202
202
186
158
187
218
135
112
208
137
121
181
208
150
170
231
168
150
112
228
112
181
174
167
177
211
168
112
282
302
203
226
198
212
150
121
194
165
228
131
121
150
150
172
210
231
172
170
176
192
228
186
212
195
165
174
163
263
240
217
234
187
208
202
197
158
215
170
170
131
176
150
152
121
181
202
165
232
272
170
171
137
208
237
210
161
210
192
237
237
167
124
167
192
121
170
167
165
185
267
150
137
181
112
181
228
172
121
121
158
186
208
207
181
150
112
167
186
187
237
123
212
137
194
203
229
115
150
112
187
174
186
164
255
112
150
123
201
158
168
131
184
172
194
115
208
217
123
156
112
199
115
121
134
232
172
189
150
302
211
150
139
112
115
219
177
150
212
128
212
194
181
137
229
165
112
130
150
167
121
123
186
297
170
112
150
171
216
175
171
145
174
173
150
112
171
135
112
121
194
121
121
130
167
218
179
172
170
167
208
179
121
237
162
121
210
220
186
124
171
112
123
208
150
227
228
171
196
143
150
150
147
162
255
130
137
112
187
150
121
165
164
156
203
210
171
137
172
121
182
194
203
194
235
121
135
139
199
124
190
208
210
212
226
206
137
150
181
152
115
181
150
150
150
193
165
200
186
223
250
150
187
150
170
229
203
171
150
156
237
177
170
160
112
137
164
123
194
177
135
121
174
152
232
112
217
194
181
218
208
121
159
224
176
123
202
156
229
193
137
136
158
150
173
226
167
203
112
150
150
150
189
112
261
115
158
159
160
150
144
164
186
123
150
255
218
167
186
187
150
150
167
221
112
150
228
228
210
264
115
181
167
123
195
167
165
170
160
218
165
121
150
175
208
112
150
186
144
112
186
144
130
150
192
181
112
181
167
213
174
170
205
237
192
137
121
150
112
186
171
123
212
202
181
115
150
112
150
160
121
112
121
212
144
123
182
152
195
150
150
150
181
237
231
164
203
212
190
194
171
248
112
250
150
203
176
135
187
112
153
115
174
121
228
258
250
112
202
237
161
192
181
112
278
137
112
172
150
193
150
150
181
136
167
158
239
150
246
214
170
121
177
112
150
196
245
121
226
150
112
176
112
137
174
205
231
115
121
297
150
157
160
230
150
150
172
150
208
228
195
187
150
281
121
195
121
112
200
186
232
112
168
150
112
171
136
208
121
168
192
172
150
167
186
187
123
167
170
135
112
112
112
193
208
201
208
276
203
150
165
171
150
150
172
205
220
194
147
208
167
150
202
164
176
208
121
168
192
121
206
250
235
212
158
112
171
170
208
237
123
121
201
177
181
115
195
174
112
212
271
176
112
179
209
112
123
171
121
150
150
167
150
167
121
203
210
143
235
121
172
200
193
121
121
177
121
176
186
181
112
220
195
121
123
172
135
208
115
208
159
170
171
164
176
167
112
172
203
165
208
193
206
202
150
212
123
219
181
202
121
211
170
208
212
121
167
150
195
171
112
192
150
170
171
150
245
150
203
147
112
208
208
192
194
194
150
165
220
181
302
166
187
150
150
135
202
176
150
190
221
171
112
167
150
228
115
208
182
137
192
165
170
237
168
181
150
192
170
167
172
208
194
112
150
176
112
172
150
123
208
171
171
158
172
112
150
112
160
121
208
112
176
233
136
193
121
212
167
150
208
178
121
150
255
211
177
123
143
167
164
181
156
115
237
184
172
237
167
121
123
231
202
115
150
121
172
189
215
167
195
164
123
219
115
214
112
150
158
112
254
220
207
171
170
229
241
233
121
112
112
228
205
201
171
172
198
239
150
147
196
112
135
137
187
233
121
257
212
171
208
263
208
228
112
212
214
231
150
186
112
209
121
150
112
185
121
162
150
150
202
150
253
170
193
150
205
230
167
170
194
124
164
208
150
121
170
115
201
207
167
181
205
179
150
170
150
167
121
128
123
171
186
214
143
171
202
172
115
112
160
112
172
121
172
231
150
164
172
181
150
160
186
121
112
121
121
202
210
228
170
239
181
201
150
172
170
167
203
192
208
170
124
123
121
203
115
152
234
112
124
211
112
112
223
112
147
112
208
170
192
164
160
172
208
255
170
177
121
187
227
150
208
216
249
192
255
130
208
150
172
202
150
115
150
208
193
177
164
121
193
137
201
217
137
205
174
150
167
112
212
121
186
195
179
170
208
208
150
201
121
176
203
228
221
186
160
208
167
224
269
226
174
152
112
121
243
198
219
158
247
202
112
228
193
224
167
121
112
128
246
124
128
112
187
112
165
263
152
135
150
208
150
121
177
181
208
200
170
167
207
112
165
136
236
123
199
137
174
297
171
193
112
176
123
170
218
121
147
112
150
121
170
121
112
150
156
172
146
206
172
212
199
137
150
135
208
155
182
193
205
194
236
123
150
145
207
225
121
150
150
186
150
167
181
226
112
112
136
193
186
212
239
112
167
201
165
170
121
302
172
147
170
165
121
143
171
150
156
220
192
177
112
112
171
176
164
172
168
165
210
208
210
184
174
208
158
195
150
112
220
200
167
250
202
150
167
112
208
112
226
170
112
208
221
147
205
201
121
260
172
121
123
225
150
121
178
172
170
150
147
195
205
216
121
167
170
186
184
112
202
150
112
167
194
212
229
112
135
155
237
150
165
205
123
194
136
165
200
137
158
152
172
174
171
237
165
159
150
164
225
233
150
170
172
121
150
121
170
171
263
228
172
201
201
196
165
112
165
136
164
160
172
231
136
121
124
199
227
150
150
228
167
270
194
121
150
150
195
181
176
175
212
228
121
208
137
121
112
150
150
172
121
150
220
263
193
121
121
112
204
172
170
112
112
172
123
212
136
150
175
194
181
177
121
158
237
212
170
227
147
150
150
150
229
178
150
159
212
193
195
172
167
208
115
259
147
223
112
123
158
210
112
172
123
201
168
187
121
112
203
123
135
193
193
167
136
121
167
162
150
112
193
150
150
218
150
112
204
201
297
123
176
152
150
165
206
160
233
150
219
239
135
157
235
208
121
135
150
299
167
112
210
280
150
208
214
168
194
232
121
121
208
186
209
175
171
165
163
219
229
167
145
237
192
170
193
135
164
208
208
136
112
112
171
219
229
202
189
137
182
112
124
150
172
174
195
174
194
172
150
234
170
208
147
209
243
123
231
187
203
176
208
228
123
194
121
208
121
228
150
193
150
220
192
196
172
165
112
193
227
150
121
233
121
165
112
150
172
159
187
112
208
134
192
165
160
236
170
203
203
187
193
150
203
121
208
123
192
171
136
167
196
250
150
272
232
135
176
210
238
195
218
243
170
170
208
171
167
187
170
208
147
124
112
112
272
228
202
243
170
112
194
191
168
135
112
167
112
165
112
208
121
112
123
112
181
174
150
176
164
208
143
130
194
150
123
209
150
115
187
121
158
167
194
208
201
186
112
196
150
158
150
208
211
176
204
144
206
150
135
135
150
150
121
136
181
207
181
121
208
167
213
112
232
171
219
194
178
137
172
193
112
170
165
165
226
112
112
167
121
175
205
121
240
194
152
137
195
150
239
167
184
121
175
121
121
164
136
225
177
235
112
194
158
150
208
187
150
200
161
179
189
112
179
260
219
152
171
167
203
150
194
165
150
168
237
160
167
177
112
172
112
171
210
208
194
195
150
220
112
172
226
201
164
150
194
115
112
112
167
194
150
167
172
147
202
254
170
123
166
121
208
228
112
167
228
167
195
177
112
208
244
170
115
208
115
195
137
220
237
150
174
135
174
192
137
195
150
135
150
167
189
232
231
171
288
240
136
236
225
207
135
172
210
112
150
112
121
121
181
208
112
195
121
201
208
179
150
231
192
150
178
294
150
226
201
208
236
232
226
171
228
167
165
189
231
128
214
150
123
121
112
150
136
158
123
112
192
152
112
156
237
121
170
181
150
176
150
121
167
121
121
112
245
194
194
209
121
121
167
124
121
208
206
200
207
136
112
112
150
210
195
152
147
230
112
190
208
121
150
156
135
123
194
123
167
186
219
152
259
147
234
277
216
115
123
112
150
172
159
150
194
181
190
172
136
208
208
171
220
181
174
128
172
226
165
208
226
276
121
150
220
208
112
179
112
177
193
159
112
157
150
181
137
112
158
121
112
212
150
187
215
195
237
167
150
268
189
195
158
137
135
121
171
179
228
170
112
171
302
165
150
112
158
240
177
160
121
203
203
147
150
121
135
194
147
150
217
150
165
167
194
158
187
186
143
250
150
237
172
217
218
121
112
165
182
194
123
147
172
157
195
147
147
237
144
112
275
262
115
208
150
226
150
124
208
123
184
112
150
228
112
115
172
147
202
213
208
203
193
147
150
172
237
171
137
150
121
150
193
112
167
172
208
207
202
231
172
137
168
189
162
121
172
150
160
193
112
121
172
202
194
194
150
192
237
211
135
220
164
194
112
150
192
208
168
115
208
159
203
208
231
172
121
172
208
164
177
167
194
176
150
208
161
159
150
174
137
208
112
167
186
121
170
121
112
167
147
112
167
172
162
112
207
194
208
170
150
112
171
135
208
171
112
208
212
203
192
136
215
132
123
228
228
229
187
263
187
150
137
150
171
231
181
131
194
167
112
150
215
242
208
135
146
167
112
165
150
192
147
210
164
203
228
226
220
150
195
219
115
175
150
112
176
189
164
172
204
152
158
172
208
159
220
150
194
171
172
205
172
153
123
121
150
208
208
137
164
208
181
172
121
208
150
150
174
194
260
165
135
217
112
121
219
208
181
194
214
181
150
165
136
220
214
220
165
150
144
150
172
174
150
112
170
160
121
208
199
181
194
187
189
186
162
171
210
121
210
112
171
112
123
172
163
112
112
243
176
225
202
172
194
187
176
162
168
210
228
208
158
158
186
112
172
181
137
165
195
171
150
168
121
208
219
167
200
112
161
173
112
186
208
207
204
276
229
121
219
112
121
176
137
171
165
158
267
121
176
137
181
250
150
167
159
112
193
171
210
208
228
186
150
165
121
208
193
205
186
167
130
194
167
150
170
193
237
161
176
223
121
194
210
135
215
112
121
198
150
150
182
121
176
194
177
172
261
172
121
137
150
150
201
263
176
165
159
208
208
250
172
128
112
121
186
170
112
186
137
167
164
150
263
144
123
112
206
167
189
112
208
170
121
121
137
172
112
196
250
150
150
194
150
112
112
170
243
217
195
208
167
121
212
150
252
208
276
161
121
228
170
167
112
121
194
212
115
172
121
121
121
121
181
170
208
194
143
121
172
121
112
231
170
157
228
170
219
192
167
231
121
160
170
170
201
187
203
121
176
150
202
212
205
121
208
194
196
279
167
170
213
112
164
186
168
112
150
158
203
121
145
135
130
208
208
172
167
112
147
153
265
112
262
167
230
208
168
121
112
150
237
240
123
112
231
171
237
168
195
150
207
170
302
136
194
228
121
203
240
208
195
194
150
174
194
121
167
172
146
228
205
147
112
220
208
203
167
121
150
243
112
115
112
181
167
137
150
167
208
202
121
209
172
219
121
171
186
167
228
206
170
237
196
208
135
254
208
112
208
150
167
208
192
196
135
208
150
121
208
195
177
162
123
215
156
121
150
160
121
170
112
172
121
299
167
123
121
167
205
233
223
217
112
167
234
112
112
112
302
170
147
150
165
150
213
233
171
177
172
131
302
171
237
150
150
158
207
170
192
187
187
137
146
150
243
112
234
186
250
195
158
242
137
150
239
112
176
121
130
170
121
150
294
230
150
170
174
112
210
121
191
208
123
170
171
112
186
186
150
233
174
160
258
170
172
121
170
232
205
115
214
150
150
150
208
233
124
112
165
112
208
201
217
210
121
170
205
205
219
112
176
193
208
160
165
168
170
150
128
167
193
128
112
150
186
147
208
201
176
164
147
181
263
204
150
121
171
170
150
174
177
112
209
183
202
123
150
135
194
194
112
158
208
136
112
193
217
124
176
187
177
251
186
171
208
115
121
208
203
162
231
238
232
171
121
172
234
168
208
208
112
181
167
204
146
229
241
186
212
150
270
172
172
147
172
147
217
208
170
208
158
167
208
112
208
192
213
150
220
168
217
150
210
165
172
193
239
135
190
202
171
150
135
167
194
158
194
186
167
205
121
205
205
171
176
112
288
195
171
202
201
136
112
165
150
112
172
205
160
218
189
172
121
170
112
217
208
171
128
181
236
203
208
121
150
194
150
150
165
150
194
186
237
181
112
184
137
176
136
211
220
167
208
164
224
123
167
174
176
171
150
172
199
172
201
195
208
202
172
208
123
150
136
159
195
177
121
194
165
167
202
239
150
208
168
208
212
150
150
193
112
121
186
241
208
193
214
220
192
112
112
158
123
112
228
170
171
299
225
170
217
121
172
235
208
123
269
243
200
193
121
194
228
150
150
121
240
181
194
165
208
197
231
236
171
240
158
167
171
158
217
123
150
265
177
229
123
208
278
167
121
219
170
195
150
201
150
220
187
150
208
200
192
112
158
167
137
203
156
176
137
165
208
130
208
194
231
217
170
203
208
115
226
147
186
225
208
159
208
150
121
215
172
243
265
193
263
280
150
195
150
150
172
121
208
136
181
186
150
217
186
201
150
203
172
171
231
115
137
158
150
177
112
136
150
193
196
220
235
239
112
167
182
218
168
179
150
172
146
181
174
172
121
121
112
228
112
176
159
164
144
150
165
112
112
217
150
208
203
115
224
172
202
219
171
121
160
221
121
170
176
167
121
172
213
137
121
194
143
137
121
172
123
196
187
168
167
238
121
112
176
194
212
164
241
208
121
170
208
168
121
121
181
172
257
186
223
219
228
160
278
181
150
121
112
201
208
136
194
115
112
150
123
112
212
186
121
150
172
193
150
263
172
150
123
208
168
150
239
208
228
172
170
112
121
251
167
242
172
123
150
224
194
150
121
143
276
115
170
112
194
112
112
195
150
150
165
121
147
209
200
112
123
181
195
170
112
195
181
208
147
172
167
175
167
167
121
112
159
234
124
150
150
171
208
281
203
195
123
121
220
121
194
259
235
247
242
121
171
210
265
112
112
150
160
165
167
167
209
123
171
150
121
193
130
147
150
112
150
171
137
121
150
171
150
112
167
112
112
212
250
123
165
186
212
187
176
167
208
121
150
224
242
136
178
112
121
218
215
172
259
112
190
255
212
181
112
235
121
243
171
115
188
217
121
186
143
167
181
231
165
213
186
196
175
112
202
219
194
210
181
184
136
238
243
171
237
187
250
123
150
121
212
135
174
208
115
192
150
167
184
181
121
135
112
219
165
187
237
150
121
208
150
186
167
112
184
172
112
229
112
172
167
112
234
150
172
219
147
121
150
177
195
112
150
150
146
112
152
208
150
165
170
203
209
136
212
121
254
112
150
186
121
237
156
137
196
181
121
170
176
121
152
234
128
147
172
130
202
112
179
156
112
152
150
112
128
121
112
150
237
167
187
193
150
202
209
150
201
123
121
276
239
255
171
213
112
218
112
176
195
121
203
112
203
128
208
150
121
123
112
170
177
160
171
112
176
208
124
150
176
181
121
195
171
263
123
175
112
204
194
168
159
241
187
208
112
124
121
167
218
165
193
254
193
176
150
189
181
150
150
208
203
219
121
172
178
112
236
192
239
167
201
112
150
150
139
160
172
170
241
217
150
208
192
265
187
179
194
130
181
112
208
208
258
150
115
194
228
153
200
176
170
150
135
172
203
147
150
147
167
207
158
150
208
165
202
121
196
222
112
172
194
167
228
150
170
208
121
232
150
210
237
124
176
115
128
226
232
112
208
208
186
172
208
237
193
201
112
187
115
150
165
228
177
228
226
208
187
205
206
165
201
115
112
195
112
208
121
150
121
177
121
158
112
229
121
167
202
179
112
150
136
208
205
193
112
245
176
208
112
181
222
167
210
170
156
208
150
115
112
121
181
253
193
176
193
135
195
195
171
181
236
150
208
172
150
123
208
195
244
237
208
181
167
208
276
202
136
112
121
193
171
150
164
208
150
172
196
208
181
210
170
150
157
147
150
235
112
150
135
193
115
219
172
135
208
174
187
150
112
186
172
170
160
150
208
150
159
208
178
112
238
150
112
150
228
121
250
121
237
170
171
139
160
137
195
204
147
171
192
167
141
150
235
210
150
164
112
172
219
136
210
121
186
186
112
150
194
278
150
121
194
172
201
121
228
195
172
208
208
150
112
172
150
210
244
288
112
150
187
170
139
237
181
194
112
278
112
121
167
198
177
205
224
150
228
253
170
201
172
150
230
177
121
143
112
208
130
203
167
164
203
150
217
137
192
237
150
121
139
165
121
195
176
201
177
112
150
150
150
206
156
112
201
254
208
115
112
281
208
150
135
202
112
197
187
112
193
228
150
150
228
158
150
143
226
179
165
150
265
177
158
245
193
240
121
208
170
150
193
194
150
263
209
121
112
186
112
170
136
218
172
181
171
172
181
112
172
121
170
150
175
217
150
136
176
144
186
172
263
202
172
144
176
150
124
186
146
115
177
228
115
248
150
121
170
201
212
112
237
176
179
150
121
194
121
212
121
187
121
112
150
195
176
193
112
171
146
121
150
167
195
172
112
176
192
112
194
112
168
150
130
121
210
181
112
121
210
136
195
112
150
121
112
217
212
121
174
167
201
112
208
123
213
236
167
172
172
147
165
182
171
167
124
136
202
124
136
165
137
208
199
115
121
177
177
232
124
172
168
121
150
150
147
172
150
231
144
209
186
170
239
208
112
150
112
237
187
170
128
208
195
212
121
194
112
194
207
150
194
123
121
171
240
121
121
176
208
143
147
167
217
176
176
186
150
184
121
150
112
176
176
150
194
150
172
135
147
176
150
186
171
186
208
165
226
171
199
150
150
115
179
208
150
170
181
216
171
203
202
112
112
112
121
112
137
201
193
112
158
181
193
167
192
186
187
257
150
172
217
193
203
205
176
201
172
152
176
160
194
215
150
135
112
171
165
185
171
172
121
130
192
231
239
112
176
181
281
214
212
150
147
171
150
194
170
193
121
164
220
112
158
172
249
194
150
165
171
210
207
192
196
187
187
123
184
208
222
243
150
152
235
232
121
165
172
218
195
150
160
276
202
112
112
160
150
243
194
177
194
208
220
176
182
199
150
121
112
112
181
245
150
257
150
150
239
156
193
208
124
172
112
181
194
147
146
214
173
226
150
147
181
124
150
208
136
167
150
150
201
121
128
194
225
150
150
239
165
150
208
206
121
208
171
150
181
112
150
152
181
193
205
205
164
210
226
150
167
219
112
193
121
205
150
121
115
172
208
135
172
208
160
210
150
123
195
150
150
167
150
226
193
139
159
240
150
205
147
112
167
238
150
150
121
160
186
208
186
235
208
112
302
115
112
150
208
160
165
150
203
136
135
174
170
150
160
136
208
175
202
137
208
194
150
210
208
150
208
228
262
172
150
112
172
210
121
112
208
202
157
195
187
225
219
170
112
172
232
112
210
194
135
112
208
172
223
150
217
136
112
231
187
257
172
212
239
193
152
137
121
112
123
112
150
112
135
165
171
168
208
112
121
150
176
201
186
218
150
112
147
232
150
195
150
187
112
213
150
165
112
150
128
170
237
193
208
181
172
112
208
123
181
206
112
121
150
220
150
112
208
181
176
255
234
168
193
186
121
130
244
257
159
121
187
174
226
171
112
123
249
231
112
150
150
212
150
121
171
121
150
162
123
150
186
186
225
208
150
170
150
121
187
159
168
258
115
259
115
150
186
131
150
174
207
170
164
150
115
150
112
226
150
263
208
115
121
304
121
144
167
150
112
176
172
228
112
223
170
112
226
150
150
170
192
112
196
201
194
112
124
150
211
123
217
112
208
130
233
244
124
167
237
208
150
167
150
121
229
150
123
160
115
208
150
202
158
172
206
147
168
121
212
187
276
212
152
181
121
150
121
112
220
112
168
121
212
228
208
218
112
208
172
168
164
121
123
272
159
112
135
121
240
123
210
121
214
208
187
150
194
194
217
150
232
162
175
196
172
241
112
195
121
123
150
150
265
150
123
150
208
137
112
174
195
181
215
172
112
112
157
150
156
171
194
150
137
187
167
181
220
121
206
121
259
112
222
150
112
162
172
112
128
192
135
174
130
150
208
150
181
170
121
257
167
200
208
171
208
176
212
201
203
147
123
150
112
195
247
112
250
112
186
112
229
212
276
130
201
145
121
172
123
167
144
217
150
202
150
217
172
112
220
136
220
172
172
176
230
257
172
194
171
112
195
157
226
121
112
202
210
203
203
123
152
167
167
173
150
226
250
121
240
123
137
135
181
136
112
137
223
187
218
178
123
147
121
167
202
137
177
172
187
204
150
212
210
186
202
228
176
225
121
242
210
208
121
208
201
136
170
112
112
210
172
168
194
160
123
218
251
112
123
181
144
121
170
112
150
170
150
205
227
112
144
167
232
276
232
193
171
170
205
186
115
232
177
167
121
209
253
150
208
208
172
176
240
195
262
112
147
121
244
182
147
156
112
156
177
186
194
257
194
135
205
276
172
171
237
262
164
175
150
175
128
194
194
176
170
208
156
204
211
167
150
112
186
176
121
175
176
167
200
150
112
186
181
193
112
172
208
197
172
158
209
171
150
203
150
156
112
181
211
237
112
205
208
210
115
217
245
208
210
121
194
115
112
210
210
150
150
112
228
187
220
228
228
231
233
231
190
157
165
187
150
193
150
194
128
115
178
201
212
176
136
229
123
150
201
121
165
199
177
228
176
150
150
121
207
217
137
172
147
172
170
192
229
176
172
137
170
194
144
210
243
208
232
190
115
207
181
121
150
167
219
167
112
123
231
212
136
165
246
186
203
215
170
253
208
112
244
115
208
220
170
150
146
150
121
167
220
196
233
112
194
150
160
112
165
194
123
150
123
150
135
150
150
158
147
238
170
237
170
128
172
159
226
150
181
112
131
170
210
187
201
167
211
112
167
229
115
150
121
228
112
205
172
208
231
150
160
193
172
181
187
172
144
124
172
150
167
136
181
172
121
163
252
236
115
135
192
182
196
150
215
150
176
195
147
220
276
208
257
150
112
150
158
121
150
150
112
237
135
212
185
167
123
165
181
228
121
167
214
164
232
203
194
158
176
167
194
123
193
112
165
181
170
196
165
147
172
255
216
193
228
177
172
193
170
186
194
172
123
144
150
171
172
253
211
112
135
181
240
167
259
170
150
121
208
150
208
187
225
203
150
130
172
130
156
112
244
228
112
167
150
112
208
233
150
112
167
150
112
122
170
193
171
176
231
137
168
159
177
176
266
150
192
181
186
150
130
130
208
243
208
186
112
150
112
150
178
208
181
159
112
112
137
208
184
123
137
228
115
170
150
150
168
150
132
124
167
150
218
179
192
112
194
121
195
208
112
150
171
150
171
150
124
181
170
172
275
150
193
210
123
236
112
150
208
170
205
112
112
217
136
250
112
167
228
150
177
208
181
168
112
194
193
208
237
236
205
172
170
150
167
165
262
150
137
192
194
212
121
121
250
208
220
181
167
211
208
194
194
189
150
152
204
170
165
214
156
150
112
150
121
124
121
147
179
121
196
281
176
167
121
165
236
208
228
121
121
123
181
208
202
121
172
195
172
181
150
177
218
177
187
195
185
112
112
240
226
121
158
238
159
150
208
178
194
170
112
112
161
219
230
150
174
174
170
202
228
193
172
146
189
228
171
165
158
121
131
231
150
121
121
255
128
165
202
172
121
208
124
170
172
186
219
150
143
178
150
168
123
115
150
170
176
115
150
121
230
159
228
195
150
174
209
121
150
150
174
181
234
112
152
150
156
174
150
150
150
195
253
208
228
150
115
112
208
112
203
121
194
228
136
243
208
137
174
167
177
186
137
172
150
172
193
194
112
150
146
174
167
214
278
112
208
197
136
239
160
150
185
136
121
193
158
198
112
156
167
217
172
200
172
221
205
124
150
130
208
189
150
150
112
136
150
150
208
231
233
200
214
206
177
121
168
121
112
172
123
193
205
162
112
204
123
150
150
123
199
265
143
121
167
194
228
192
112
213
136
115
212
136
193
207
237
263
160
164
172
172
115
123
112
137
208
121
112
262
228
172
179
217
217
208
176
193
170
174
193
192
123
186
121
194
168
193
121
208
112
130
150
112
137
168
136
168
231
217
263
160
164
208
228
195
198
144
170
112
167
194
203
190
121
171
123
176
121
203
112
164
245
121
164
187
157
213
238
212
121
171
150
164
176
208
161
171
136
150
123
156
167
208
150
186
158
208
205
130
163
121
168
150
150
150
229
135
160
112
227
203
207
121
174
255
123
208
170
121
147
176
241
231
208
130
177
195
144
207
173
208
121
189
171
150
112
170
190
135
239
165
208
187
150
212
115
137
176
177
170
121
121
150
198
112
112
112
137
214
112
297
112
199
214
150
137
121
150
121
201
209
158
135
193
150
174
165
196
170
208
208
277
146
205
233
208
210
164
147
186
223
186
150
150
181
147
171
115
121
124
228
150
172
170
163
227
208
236
167
112
192
121
192
121
136
165
172
123
208
167
208
172
121
121
237
207
212
171
192
124
174
128
167
197
146
228
228
158
144
124
181
195
195
205
123
194
157
171
187
179
181
276
121
195
112
150
112
172
229
121
195
167
186
171
112
172
150
217
159
150
115
150
209
115
123
147
150
172
135
172
112
228
150
112
202
150
147
121
170
179
150
186
176
208
172
171
239
147
112
210
181
247
170
187
193
167
172
218
232
150
112
159
150
176
165
112
152
175
150
201
112
202
228
208
115
172
165
165
176
186
150
208
211
181
174
171
202
167
172
220
150
121
123
178
144
186
112
184
272
195
171
205
150
112
212
254
123
158
167
170
260
150
255
170
267
297
237
150
121
179
169
170
123
194
150
144
260
194
219
208
167
181
186
186
112
150
112
121
165
121
189
200
141
115
121
134
216
150
150
167
172
228
150
172
150
212
177
202
163
198
156
150
170
121
172
112
150
172
147
174
163
112
170
205
150
165
172
121
112
150
228
150
172
135
165
121
144
112
167
112
167
171
181
211
234
211
170
208
233
170
146
112
172
150
177
150
115
136
208
194
121
123
137
150
202
212
175
170
193
121
147
121
112
150
115
112
159
112
202
112
121
165
186
172
124
137
195
150
186
124
170
112
135
112
170
137
270
240
150
172
219
181
123
121
152
194
150
195
233
167
172
215
150
298
186
201
112
181
168
121
208
173
237
235
176
217
176
150
243
193
121
250
219
136
135
210
158
112
226
193
112
207
208
161
130
178
150
208
229
121
112
212
160
150
265
176
208
210
112
233
259
179
135
181
256
152
167
220
195
224
121
159
150
112
131
171
223
176
171
147
150
121
112
236
170
210
210
150
184
252
172
112
185
150
177
167
186
175
112
123
150
150
150
269
208
187
220
209
121
121
158
189
124
121
201
159
170
112
152
282
172
224
208
112
172
260
198
172
150
170
164
150
176
168
219
150
135
210
139
112
123
150
112
181
220
172
168
192
194
165
176
186
150
172
164
216
112
231
150
218
121
121
187
196
236
121
181
171
121
144
112
167
121
150
123
143
210
165
228
276
208
218
121
170
208
130
186
260
179
193
112
195
208
150
112
115
221
156
165
208
209
181
183
167
229
167
121
112
136
198
170
174
130
150
171
193
201
150
167
208
228
177
193
121
203
123
172
170
121
164
121
205
150
184
143
164
240
112
194
146
121
165
237
156
264
167
231
181
208
121
239
171
169
207
130
159
124
228
181
150
159
112
171
152
112
209
121
174
208
176
167
170
124
208
265
150
208
177
176
150
112
112
137
172
172
131
165
195
160
112
112
168
112
112
115
112
208
278
171
112
112
121
189
150
150
208
208
195
112
112
156
204
165
208
212
112
187
217
172
172
208
250
167
172
150
180
150
215
236
212
186
240
257
182
237
278
208
150
121
217
135
171
123
121
181
112
175
220
112
150
176
203
112
156
124
193
115
179
186
128
150
152
150
195
112
297
150
213
197
150
112
215
195
160
276
167
121
128
158
121
237
150
123
150
171
237
201
112
135
112
121
167
150
143
135
123
181
112
160
121
203
170
171
128
112
278
150
150
240
217
135
281
171
152
167
167
112
112
170
121
205
150
121
175
121
158
176
167
210
208
234
121
165
177
167
171
123
176
150
112
161
187
208
208
195
150
218
121
150
121
150
121
176
123
147
167
121
208
170
234
150
208
171
250
112
115
212
112
194
193
121
241
131
208
172
170
123
112
150
212
152
170
194
194
205
218
112
174
115
187
176
202
170
150
181
281
172
219
170
168
208
121
150
150
208
150
208
228
239
150
164
128
211
172
220
168
165
135
194
112
128
208
150
152
112
150
208
197
219
205
208
112
171
228
259
218
214
112
121
217
150
172
176
195
150
225
171
208
208
233
172
121
150
194
243
174
124
255
159
172
152
157
150
225
189
196
202
208
165
235
150
172
121
150
202
159
150
215
209
158
167
170
193
130
150
195
181
167
172
278
253
167
121
177
243
171
112
203
208
168
150
208
150
112
171
208
121
186
241
187
143
150
264
278
168
150
112
220
208
123
150
195
121
176
182
130
179
150
184
175
210
150
112
164
112
183
137
217
150
150
121
215
213
171
237
201
202
150
150
121
121
208
150
150
168
150
121
115
195
228
150
147
170
121
150
121
195
177
156
167
170
193
137
112
150
112
192
208
171
172
170
135
112
150
184
240
228
123
165
195
167
112
112
223
146
162
150
147
182
250
232
150
137
171
181
135
231
170
167
150
211
150
171
124
171
172
172
150
150
208
150
121
137
176
194
263
123
208
170
181
165
186
165
218
208
241
112
190
112
210
112
160
228
171
112
112
234
121
255
170
144
229
143
150
179
231
112
123
150
176
170
147
170
164
150
150
236
202
150
229
231
195
192
208
210
194
276
261
187
112
212
112
160
150
112
128
210
137
201
123
270
150
136
212
255
242
192
194
170
210
121
208
150
165
172
175
279
123
121
123
225
123
150
168
197
193
208
219
130
215
208
172
123
121
172
201
174
194
156
202
192
112
136
150
195
160
136
112
172
208
171
171
160
112
112
150
201
187
176
170
212
150
176
203
192
123
227
217
202
158
150
170
174
219
195
167
158
165
136
135
210
156
184
201
194
112
121
165
171
170
112
203
215
208
150
208
213
197
231
171
226
208
164
187
121
172
172
143
171
150
158
208
194
171
158
158
150
237
174
121
123
210
160
121
167
197
210
112
195
150
208
205
279
202
186
176
256
121
150
196
228
208
137
218
250
228
172
150
208
136
121
170
208
263
165
172
112
226
137
123
115
150
146
121
202
150
230
112
212
150
121
150
210
167
147
302
135
121
150
181
172
192
199
201
208
211
112
177
194
203
121
171
195
205
193
177
167
187
278
121
172
135
228
123
201
121
121
112
164
205
208
150
346
194
115
208
220
234
112
219
176
171
176
150
298
121
228
220
204
150
150
167
121
226
146
135
171
168
202
121
123
240
171
171
112
225
121
192
112
212
217
112
150
235
213
172
167
112
131
121
174
150
186
150
150
150
112
218
174
150
208
121
150
121
121
156
112
170
211
196
150
181
165
112
167
171
121
201
167
210
160
150
172
172
121
150
167
150
136
112
170
207
121
203
212
143
172
112
150
150
192
165
297
150
123
159
196
112
121
243
205
150
112
112
121
181
194
241
170
182
112
193
150
228
150
209
189
112
219
210
171
150
121
164
190
170
217
194
137
215
237
136
121
205
121
121
171
181
136
232
165
147
256
123
231
223
176
177
171
205
130
256
220
121
167
121
121
112
223
170
172
112
214
121
257
156
121
207
208
228
174
177
165
150
137
257
168
150
115
228
137
112
150
187
112
160
171
230
165
123
150
208
177
170
112
159
194
231
208
123
238
228
217
177
187
192
137
195
123
128
112
206
123
147
202
250
121
192
203
150
115
172
171
167
179
203
136
167
170
194
112
136
112
121
170
193
121
202
250
205
208
112
112
112
164
171
210
121
250
165
171
247
150
164
168
208
150
174
172
275
112
203
228
170
201
121
250
170
194
193
170
152
274
194
193
216
202
243
121
172
167
258
208
181
167
112
238
230
233
195
112
137
112
171
121
195
172
220
171
201
121
203
208
150
181
170
233
212
233
172
112
214
167
165
203
196
164
181
150
150
136
230
208
121
170
150
212
121
112
112
167
147
150
163
137
176
177
150
208
170
150
208
239
167
242
150
121
171
172
302
228
181
238
150
193
184
208
121
150
193
150
144
112
174
164
167
150
229
121
136
121
135
160
187
215
195
112
174
193
195
208
186
150
150
136
112
179
150
220
197
123
137
112
121
170
210
121
187
220
124
216
192
208
112
234
150
112
189
176
150
112
172
203
237
121
194
150
195
174
192
150
112
121
173
207
112
201
121
172
203
150
167
228
172
112
123
210
208
172
176
150
228
150
170
150
220
121
170
165
200
167
121
150
228
167
189
190
112
168
187
150
170
121
208
112
200
208
165
190
170
170
136
216
182
123
172
112
121
175
229
228
150
115
123
167
195
150
165
228
181
167
171
167
165
189
171
150
167
217
187
152
278
121
112
208
218
167
164
112
150
171
157
112
201
185
218
167
172
171
229
205
231
112
177
218
212
163
150
112
231
177
150
214
150
208
172
171
203
156
121
150
112
150
115
208
236
121
176
195
130
121
112
208
170
194
137
150
172
167
208
147
194
121
150
186
177
193
123
112
230
255
207
135
143
121
167
204
121
172
150
194
112
240
195
145
212
115
112
208
186
228
150
184
170
135
186
215
121
176
195
150
172
186
167
167
143
150
115
171
177
172
135
112
150
194
150
152
184
123
121
170
195
228
176
115
112
137
208
112
170
112
150
239
121
167
112
121
265
181
192
159
112
121
121
184
150
112
136
147
194
167
203
112
226
219
181
207
193
216
212
112
123
244
150
244
150
176
150
176
187
150
176
150
121
115
172
237
165
276
192
235
196
194
172
121
170
112
210
208
123
195
165
228
181
123
121
150
112
121
150
157
230
170
181
239
199
165
252
164
150
153
150
171
150
187
208
193
136
174
193
168
135
143
164
121
212
208
167
171
167
171
139
213
172
128
175
170
232
250
170
176
208
263
115
128
121
176
172
137
150
181
247
172
202
152
167
250
136
256
176
135
177
194
150
226
302
170
226
176
181
172
121
172
150
216
190
208
182
237
150
195
112
216
121
137
167
172
170
194
112
240
150
164
150
170
159
186
210
112
174
172
136
165
220
181
195
228
121
112
187
259
227
136
167
215
170
121
186
239
190
172
112
174
276
156
220
150
226
150
112
194
121
205
147
233
221
231
150
176
171
174
175
208
184
218
123
172
184
112
210
217
165
130
172
228
167
208
165
208
175
172
121
200
124
171
176
112
164
177
121
172
193
123
187
208
167
121
121
175
156
202
218
167
150
121
208
181
176
177
172
112
195
147
147
208
202
150
282
171
121
208
212
232
212
112
202
176
194
159
205
228
121
124
195
194
150
201
219
112
124
193
204
242
121
112
208
121
164
181
233
194
208
208
172
193
172
226
208
208
194
237
150
168
211
186
112
167
150
231
193
167
176
203
202
150
207
150
170
136
121
178
231
229
226
204
196
158
179
136
168
208
112
112
150
205
121
112
208
136
234
112
112
176
195
178
208
176
112
205
136
184
121
226
150
150
170
235
150
136
186
297
205
112
112
128
177
167
228
170
150
121
176
172
112
253
218
167
121
121
165
181
208
121
168
194
150
150
202
115
233
112
208
192
172
240
165
203
137
167
167
136
170
164
135
124
150
228
181
208
203
115
112
130
186
236
165
181
150
208
164
150
112
167
158
188
181
199
112
150
165
136
150
208
121
123
228
170
112
121
217
160
150
182
112
171
240
195
263
152
112
112
112
172
179
167
238
202
208
164
172
258
170
282
245
150
194
136
172
186
203
202
172
194
194
176
112
130
208
150
202
150
187
181
172
112
250
232
112
112
165
240
112
121
192
179
135
124
202
179
194
124
241
160
203
209
233
237
135
231
171
161
172
170
228
150
228
172
208
150
112
208
250
212
196
172
156
284
226
170
195
168
240
208
172
195
172
194
158
168
212
220
121
170
257
208
112
112
128
166
167
150
177
234
150
150
150
167
195
167
121
217
194
112
250
196
208
165
160
152
208
124
210
150
221
167
165
181
144
203
215
181
203
150
228
195
170
177
208
112
136
210
164
239
112
209
112
160
171
174
181
176
208
202
121
132
112
267
214
150
172
240
136
156
172
171
159
167
112
172
187
121
232
172
192
130
186
208
167
194
228
208
150
225
150
174
186
112
206
147
170
218
181
150
168
150
147
167
219
164
150
170
204
234
121
181
239
123
234
130
210
135
121
123
226
210
167
216
121
212
210
112
150
167
112
279
150
171
174
112
193
171
172
159
174
124
150
112
150
121
143
121
115
246
123
150
172
193
121
232
250
278
237
271
176
181
124
208
186
185
199
212
170
121
128
210
217
154
281
121
230
208
128
112
212
257
168
176
176
201
219
115
182
203
136
208
152
165
201
121
189
136
112
259
181
137
186
167
194
150
206
192
243
170
181
121
176
219
196
144
162
208
230
175
170
172
228
167
159
112
204
112
172
121
205
150
216
150
183
177
136
150
195
152
208
194
121
176
150
205
170
208
150
212
171
167
204
214
123
208
112
121
112
186
215
159
194
172
174
124
202
150
172
186
172
170
112
112
112
158
171
167
112
124
195
121
278
172
121
201
160
112
212
147
123
137
150
112
193
115
157
185
172
172
240
152
239
216
243
265
123
168
174
159
167
170
170
150
167
220
157
181
167
112
233
121
150
211
205
153
201
112
170
112
165
193
112
172
196
263
150
123
112
193
172
208
213
167
112
124
207
171
170
227
212
181
208
150
176
165
202
237
112
150
112
167
172
150
193
192
150
112
164
165
220
212
123
112
112
186
213
179
137
177
170
208
152
167
156
150
150
192
208
171
150
177
210
112
121
226
221
112
205
112
181
150
128
208
121
208
218
184
194
218
158
135
274
150
202
176
255
121
172
150
233
270
208
193
208
234
112
112
242
180
172
228
150
159
137
205
112
167
168
172
233
228
217
237
112
208
164
229
158
112
172
190
177
167
115
167
150
112
112
157
210
225
158
112
208
173
164
121
189
170
150
177
186
124
172
128
165
121
263
112
204
112
158
170
124
150
228
171
172
172
186
159
194
112
121
228
208
150
216
172
164
194
170
150
121
115
150
135
150
112
243
210
160
177
171
190
172
171
171
261
171
112
150
128
158
158
150
208
208
165
164
197
176
193
171
156
124
121
123
184
253
165
172
144
196
208
121
208
171
121
217
156
201
194
194
112
147
150
170
171
135
193
228
143
220
115
168
171
276
192
115
150
194
150
212
217
112
121
210
112
112
121
150
210
150
112
156
144
172
217
128
112
208
150
208
150
121
112
115
224
136
190
179
167
208
192
194
205
194
171
112
150
183
208
194
171
194
150
121
205
239
164
199
209
150
205
150
150
208
195
115
150
209
181
193
136
137
186
234
123
121
193
137
208
171
181
136
172
150
237
194
170
201
172
167
208
243
112
253
150
210
136
170
150
176
121
145
150
182
152
228
128
150
250
150
208
137
181
139
123
112
179
124
194
194
263
112
123
208
195
123
192
278
150
228
225
250
150
152
231
228
250
121
181
196
150
137
181
186
112
299
121
164
244
112
172
187
226
159
232
179
240
170
112
215
232
242
181
208
176
164
194
174
164
112
301
172
150
150
167
165
250
192
150
219
144
217
208
181
173
171
181
217
115
172
225
165
181
112
201
276
205
167
172
208
172
112
256
208
215
112
150
121
172
187
170
186
158
216
157
150
215
112
171
170
112
158
231
205
167
187
161
167
264
121
219
123
165
112
137
245
112
168
112
181
121
150
170
193
194
172
226
203
229
150
216
229
121
208
167
172
172
121
112
167
232
250
164
112
156
165
176
207
178
150
212
239
121
205
194
212
209
112
193
172
176
177
215
194
176
130
168
112
112
202
171
137
229
234
115
150
121
187
150
123
150
212
170
136
112
208
168
144
115
212
171
167
218
194
177
150
123
237
172
201
176
208
208
192
150
181
165
121
112
150
115
181
121
121
192
193
112
205
276
203
270
150
124
167
123
232
147
150
186
130
112
167
223
150
208
172
167
135
250
165
237
172
195
170
165
203
173
174
121
154
150
281
201
150
112
150
167
158
150
174
241
121
163
167
204
287
123
121
121
212
172
121
167
302
171
121
233
174
204
150
196
115
260
150
123
150
208
167
218
123
205
147
115
172
194
172
168
208
176
150
161
177
203
150
150
217
195
207
215
208
219
263
203
208
211
150
172
205
165
121
179
112
210
121
112
123
208
226
112
135
214
177
121
179
194
150
112
150
243
218
166
170
121
123
150
170
208
170
121
239
181
167
123
150
234
202
194
158
139
165
181
112
112
255
112
173
112
176
115
121
112
194
121
112
194
242
172
250
208
137
242
229
123
228
136
112
150
121
181
137
159
150
135
176
186
168
218
115
174
121
112
115
121
215
141
112
121
202
172
192
150
137
270
112
121
187
158
150
214
123
160
147
220
137
121
219
208
228
147
121
170
172
209
250
112
167
194
255
121
237
186
150
170
167
205
219
112
178
183
170
112
194
208
121
233
172
172
162
204
141
242
198
218
172
150
112
123
152
121
112
121
159
112
121
193
183
233
112
150
176
256
112
150
194
150
208
176
150
208
121
150
159
152
146
170
193
130
121
176
176
121
159
112
177
228
210
165
121
210
150
128
121
130
112
123
147
195
170
226
112
112
194
172
214
160
147
237
150
192
187
147
162
175
186
179
250
239
239
150
150
232
192
112
218
208
196
174
112
213
137
160
212
186
187
250
237
128
121
182
121
150
171
136
112
167
208
171
167
219
121
227
112
201
115
144
171
123
150
161
165
150
112
144
137
216
112
121
150
176
136
174
150
197
208
195
112
150
121
171
181
150
167
165
192
167
194
158
234
241
255
193
172
135
171
123
208
158
160
165
121
181
254
167
123
167
121
208
150
201
226
193
183
178
121
112
137
159
171
123
115
153
121
186
121
172
263
238
162
208
219
203
238
123
156
189
121
181
121
171
121
121
112
112
112
152
194
150
112
167
112
123
150
136
121
203
233
195
121
136
165
231
176
181
187
136
121
179
207
193
194
150
208
150
121
208
210
208
204
170
253
171
150
176
239
150
158
207
176
121
203
150
112
172
207
204
124
135
201
176
150
165
121
170
213
167
208
208
220
203
187
130
210
112
208
112
150
162
179
212
170
172
150
196
194
158
189
181
186
177
208
150
210
203
170
258
197
121
212
184
112
178
196
201
158
184
143
121
121
186
171
167
159
137
170
213
194
171
121
193
150
194
121
175
150
205
192
193
172
150
193
225
156
239
167
112
136
168
143
177
112
167
212
167
112
183
179
172
112
257
270
150
112
177
217
184
170
193
150
167
195
190
171
208
121
210
195
243
208
172
165
196
259
227
208
112
121
184
150
121
143
112
193
121
255
167
163
171
150
177
176
165
177
112
181
171
121
152
121
159
135
255
206
156
150
121
223
187
167
112
211
171
160
208
229
165
189
112
135
160
193
181
194
137
159
137
172
112
227
210
171
167
223
150
112
202
112
112
210
135
159
167
168
174
135
165
176
209
195
186
255
150
172
150
123
167
262
170
150
181
178
194
177
172
123
229
171
202
272
172
112
121
121
265
236
205
150
123
210
121
172
158
215
112
123
112
192
135
172
210
150
194
150
210
212
177
263
208
170
189
158
170
135
167
167
112
121
250
164
158
214
195
123
150
167
123
202
165
130
112
112
187
121
236
123
231
121
124
170
123
172
172
124
150
112
212
219
208
150
150
112
150
174
172
225
249
167
150
203
150
150
192
121
209
217
171
168
150
212
186
176
150
121
210
150
219
150
165
112
236
115
112
239
209
212
253
121
150
123
121
112
192
202
112
257
137
121
195
207
195
219
207
164
121
202
158
272
150
160
150
164
150
121
207
176
150
208
234
167
181
208
176
121
172
245
254
196
226
161
112
160
158
160
170
160
240
184
150
156
158
158
228
194
123
121
208
203
208
237
172
168
228
150
207
172
202
150
182
112
121
197
152
186
174
201
167
210
112
124
121
172
150
172
172
135
172
112
115
227
228
150
164
165
137
165
208
165
171
121
150
170
226
150
193
171
161
121
150
208
243
250
181
112
176
181
112
176
209
195
112
171
209
229
220
172
115
112
232
194
199
171
278
112
150
233
174
135
210
194
168
176
167
150
150
178
170
219
121
112
112
240
150
121
207
208
281
181
194
150
201
208
201
210
176
220
150
218
137
162
121
276
174
112
240
235
136
121
250
228
135
150
172
165
234
194
147
147
195
181
279
177
171
150
128
217
150
112
156
112
195
181
112
195
284
150
172
176
150
143
123
238
112
112
219
172
237
112
196
150
246
150
150
137
150
121
291
194
112
172
135
208
227
150
210
124
240
231
150
150
124
228
208
172
137
233
150
239
130
195
219
172
112
150
137
150
150
123
226
208
121
174
112
112
150
172
112
182
115
165
121
217
150
202
208
181
195
150
192
237
128
187
121
152
112
170
212
112
176
150
112
137
193
150
208
194
194
123
220
150
159
208
156
150
144
121
181
130
208
170
212
124
179
112
172
212
112
167
150
171
150
234
250
186
167
165
278
121
115
150
167
124
207
176
146
124
158
112
147
164
186
123
203
226
250
137
225
208
208
170
170
233
158
170
150
181
123
302
197
150
193
201
170
170
202
128
172
195
112
199
196
172
170
112
232
121
112
172
263
150
150
171
174
275
208
257
163
135
205
112
112
123
150
217
278
150
112
233
228
168
232
269
209
128
136
210
167
150
160
123
150
302
207
208
112
243
172
112
186
216
152
279
208
199
227
228
228
193
150
150
130
210
158
150
181
167
130
190
194
202
212
145
207
150
112
121
232
150
121
167
172
170
112
124
193
172
257
137
175
167
115
195
208
164
231
228
130
136
165
170
121
115
130
161
205
229
136
172
112
124
182
137
112
203
231
175
258
223
121
171
165
208
181
167
150
150
150
233
217
164
208
162
201
176
150
172
171
205
156
112
171
181
201
130
150
237
181
121
166
121
158
123
208
216
135
150
123
228
208
150
150
150
194
179
150
221
150
175
136
287
181
225
187
228
258
150
112
112
203
201
135
150
150
211
232
202
137
237
263
239
208
204
121
147
195
267
164
207
194
123
171
136
179
171
213
178
150
170
150
150
226
193
205
193
150
128
150
115
170
252
135
165
123
231
135
112
186
208
112
208
219
135
204
136
150
121
150
208
177
194
144
135
220
150
157
112
174
177
208
171
137
161
150
121
170
207
172
228
208
150
181
112
172
175
171
135
150
217
157
239
150
263
234
234
112
115
176
137
123
135
178
136
112
210
196
143
230
123
212
237
208
203
150
137
257
112
237
177
250
264
231
217
112
220
193
275
170
121
143
212
165
235
112
137
232
174
139
203
233
192
121
156
121
170
157
115
170
195
237
206
181
210
208
121
190
217
184
128
238
171
112
225
195
135
121
123
124
150
115
238
167
137
112
179
174
150
231
112
150
121
112
150
207
112
150
257
208
170
156
217
135
172
150
214
228
167
168
170
178
170
202
172
121
187
160
172
171
275
121
150
207
170
212
115
150
164
170
123
112
193
187
228
235
121
167
150
165
202
150
121
208
201
165
167
194
167
195
238
159
170
187
186
195
226
195
124
263
167
115
201
201
199
167
177
112
208
165
194
135
123
208
209
112
171
263
164
193
233
210
210
255
160
150
212
135
112
150
121
172
278
112
156
243
152
144
176
214
208
193
147
158
208
135
214
121
179
121
121
215
250
218
150
217
194
172
192
150
136
171
112
192
212
171
170
124
216
112
265
156
128
112
243
112
159
150
112
147
121
172
136
112
193
171
208
112
121
150
172
150
181
150
146
192
112
196
210
177
167
170
150
150
165
170
228
170
112
112
150
226
232
147
112
123
150
207
160
178
135
202
128
206
228
208
136
172
150
220
164
168
253
239
121
121
159
181
174
208
159
150
121
150
176
150
181
150
123
165
208
208
225
164
121
192
121
160
171
121
212
124
204
135
172
121
171
150
212
228
150
173
112
112
147
220
217
227
112
112
201
186
167
167
124
150
229
212
150
152
112
137
164
268
192
143
130
121
172
229
224
150
150
135
208
170
121
150
170
156
172
150
228
130
187
237
186
171
121
302
150
150
231
170
263
167
150
226
196
171
135
186
128
135
225
172
176
202
174
212
193
167
121
121
121
194
208
160
112
185
112
195
199
112
137
147
174
152
237
121
190
150
210
121
202
236
195
147
189
135
218
137
171
228
128
115
136
240
228
226
176
123
156
121
212
172
170
167
112
205
201
170
150
263
220
164
229
121
228
190
172
255
170
150
135
172
229
178
168
208
210
208
167
112
150
212
150
210
211
165
194
218
150
159
210
208
219
158
181
150
239
270
172
143
156
150
302
160
173
208
171
204
179
228
272
128
112
171
123
208
167
167
137
171
208
150
217
156
232
189
208
235
121
121
237
112
136
150
170
112
167
172
193
172
210
172
150
228
194
181
246
165
171
143
172
181
159
210
247
150
231
172
161
215
121
247
187
150
172
223
150
135
121
150
150
167
150
176
171
150
242
121
150
245
121
208
121
194
235
112
216
192
112
147
112
150
179
121
167
112
112
226
193
232
170
162
210
158
123
181
170
150
217
112
244
121
136
158
220
181
208
150
167
128
150
150
137
115
170
158
112
186
135
121
194
228
121
150
226
150
172
112
128
136
234
115
226
175
193
150
121
152
121
208
150
206
171
208
112
121
150
249
170
152
240
229
210
121
195
204
150
176
172
172
123
135
210
121
150
202
150
171
208
150
123
170
208
244
348
262
172
220
121
162
194
185
172
136
181
237
150
150
112
189
121
208
171
150
167
135
172
243
197
231
182
112
229
112
165
172
150
219
198
112
112
150
194
212
150
150
193
123
150
121
203
242
115
228
172
112
112
227
170
181
167
158
187
203
112
124
228
167
150
137
194
150
170
213
152
181
167
170
194
112
121
150
167
208
112
167
177
208
121
121
235
197
150
255
167
208
112
208
136
237
112
187
172
150
171
157
164
214
168
174
187
112
217
172
181
112
194
219
167
181
135
121
164
136
193
150
194
123
203
189
228
150
202
172
161
135
128
150
115
112
172
150
121
172
178
168
208
242
176
181
150
173
150
208
177
121
211
226
178
165
171
172
112
195
190
121
135
202
194
137
124
112
170
203
123
281
233
246
150
123
230
275
297
203
147
115
171
170
250
167
168
216
284
121
121
194
123
210
194
150
115
115
137
254
135
112
208
239
175
172
194
176
123
208
160
208
167
181
212
150
206
112
255
112
136
160
150
112
184
186
121
177
115
150
135
157
150
167
172
225
165
172
244
121
205
170
128
195
218
159
208
208
229
302
212
240
112
121
112
150
208
278
175
170
237
253
153
187
164
181
159
177
167
239
208
188
172
150
187
212
121
112
165
198
217
208
208
112
130
207
112
212
172
170
121
194
186
176
112
112
250
181
121
150
150
165
205
150
210
166
112
121
123
112
174
150
112
187
215
172
121
115
210
150
167
150
165
167
186
214
181
170
171
121
250
121
226
112
115
243
194
193
150
210
150
218
171
112
136
194
219
150
121
172
112
250
231
195
150
203
211
150
144
112
271
123
196
181
194
229
150
112
228
160
143
150
210
156
112
250
147
194
237
164
194
208
128
170
229
158
208
219
174
194
172
167
175
208
164
219
195
176
121
121
302
137
193
228
210
112
193
121
243
172
112
170
208
172
121
176
160
172
254
205
150
189
137
170
121
198
112
205
181
208
176
167
135
181
177
121
170
156
112
217
195
170
112
160
170
202
135
188
257
207
174
228
112
165
121
170
168
150
152
112
164
170
112
176
112
158
172
164
265
176
207
201
232
208
165
121
208
165
150
181
205
160
121
121
167
170
228
232
150
208
236
210
181
150
115
243
150
123
175
170
150
176
121
165
112
150
158
175
194
187
176
150
208
265
217
228
171
233
228
208
115
168
208
159
115
121
208
207
121
237
208
172
238
172
200
168
196
112
123
189
150
232
207
152
208
137
185
165
156
202
207
249
112
112
208
150
112
167
170
112
195
150
112
194
194
172
121
208
130
167
150
194
220
176
244
177
121
172
225
172
121
174
150
195
167
146
167
179
121
112
150
170
233
195
225
208
276
171
170
216
164
172
112
186
193
135
195
136
150
225
112
115
216
167
115
121
121
195
136
112
175
297
193
147
156
123
123
150
172
254
194
170
150
194
150
200
209
176
136
112
121
244
208
181
147
147
137
208
167
214
170
123
150
170
150
234
115
121
207
165
121
204
226
165
131
135
150
123
137
214
232
208
150
112
136
173
150
194
210
195
176
121
150
156
186
170
123
121
214
215
186
121
150
121
223
203
123
176
193
165
193
201
121
212
156
165
150
136
150
136
205
165
150
170
172
212
184
121
208
121
254
259
186
171
121
208
250
181
123
186
170
224
156
159
172
124
167
302
167
250
208
227
171
174
159
172
181
150
123
150
219
150
239
170
302
170
136
201
172
121
123
240
297
150
137
137
204
150
193
130
150
193
179
172
239
121
112
208
112
121
220
124
208
170
211
115
186
112
160
178
160
208
121
121
176
167
165
199
176
186
112
143
121
136
135
208
172
205
124
112
220
165
150
147
171
167
226
150
172
181
150
112
150
200
167
121
193
147
208
112
239
164
171
208
202
124
182
263
167
150
115
270
208
112
172
226
137
216
150
228
208
165
150
128
112
121
123
228
156
193
246
112
152
230
210
174
203
147
171
121
172
263
208
201
194
121
150
115
112
171
150
203
112
123
226
137
115
276
165
195
150
112
112
208
193
276
219
241
202
232
150
159
184
170
112
184
167
147
158
135
170
130
252
302
136
136
150
115
202
178
192
194
112
112
112
165
123
217
150
171
178
231
207
218
137
112
231
202
192
121
186
228
150
257
220
147
186
237
192
121
174
158
215
181
216
158
194
165
112
208
186
218
201
210
165
150
193
167
272
228
121
237
147
112
230
200
150
208
158
176
205
228
171
195
172
176
193
112
147
214
150
167
123
193
137
181
226
150
172
150
150
261
153
112
121
130
205
136
172
167
121
248
183
218
121
150
172
131
164
123
175
112
123
150
172
123
210
208
121
112
187
167
210
193
135
150
189
121
147
165
275
231
238
150
210
172
150
112
121
225
115
146
278
121
210
237
255
208
121
208
150
112
150
167
124
233
186
115
181
171
150
177
217
239
212
217
112
150
171
202
215
115
228
160
167
150
136
181
167
136
220
121
158
170
154
208
195
167
208
112
121
150
170
171
255
193
158
167
228
172
170
202
167
121
204
115
167
208
152
121
167
228
204
237
194
121
193
167
144
208
205
237
300
193
121
172
170
193
234
170
171
172
195
112
208
163
159
121
150
160
208
135
231
215
167
121
167
136
135
194
156
121
250
177
135
202
172
121
172
112
152
121
193
112
121
250
171
136
136
208
208
165
167
208
121
177
257
171
147
172
199
121
167
112
157
121
150
115
121
179
177
208
225
165
175
167
112
123
181
172
112
143
172
136
226
150
264
123
135
225
172
121
136
170
158
181
165
179
121
193
165
150
150
207
121
181
112
167
121
237
177
194
171
160
218
177
135
167
203
167
157
201
112
153
112
135
158
150
193
155
181
208
201
159
208
202
144
203
165
150
152
185
159
112
250
193
194
130
192
225
150
208
150
137
167
184
136
230
208
208
150
243
193
229
121
167
218
242
225
115
112
217
181
208
112
239
150
171
112
171
208
220
235
112
167
112
159
165
171
201
124
143
240
147
123
121
150
224
203
123
130
210
165
174
121
150
302
195
293
112
218
121
112
217
195
167
179
172
227
150
236
228
194
145
202
181
276
250
165
130
128
208
172
217
194
146
121
121
208
150
193
207
174
193
233
112
123
121
121
150
181
150
165
225
181
233
215
208
147
167
186
231
172
208
208
150
150
123
194
210
216
239
121
186
172
121
208
112
112
163
159
150
208
172
135
218
203
150
167
195
198
112
158
150
176
123
194
194
250
150
170
229
112
194
231
112
124
174
210
121
175
256
186
213
167
208
193
112
208
137
150
112
186
194
170
112
164
121
150
128
195
115
207
156
242
184
186
112
135
193
121
228
215
172
150
237
121
167
203
209
150
121
121
174
121
232
171
210
239
193
187
186
171
112
112
115
150
159
130
297
115
199
197
165
205
112
112
112
121
147
196
175
150
176
197
208
112
194
236
218
161
263
204
165
282
150
232
124
112
115
170
167
115
176
112
150
147
217
112
210
272
193
137
210
181
130
150
115
123
112
112
150
256
207
212
194
172
172
257
208
121
121
192
167
170
147
164
208
196
276
164
130
255
168
145
206
212
195
121
210
224
178
112
207
121
121
164
172
217
112
121
196
193
172
124
176
176
150
228
186
194
165
168
112
208
121
121
112
172
164
217
150
220
171
171
171
205
112
150
172
121
124
172
186
137
208
115
112
150
208
121
193
236
186
208
150
112
208
115
208
172
143
112
150
263
167
250
173
202
121
121
232
240
229
144
150
150
172
121
121
158
171
255
218
193
194
112
150
177
210
170
219
167
112
115
112
150
112
210
186
208
167
276
247
158
167
212
172
145
208
220
178
216
181
208
150
172
179
167
121
124
121
123
121
194
209
121
243
121
167
115
302
121
190
222
121
170
112
193
210
195
135
276
187
208
237
210
150
172
159
128
198
219
150
197
150
233
204
150
193
143
150
202
242
214
115
158
121
170
121
112
172
219
124
184
192
112
172
124
167
170
235
158
158
112
167
239
158
179
168
176
209
112
172
210
208
121
145
112
226
225
136
264
219
187
171
123
176
194
112
150
237
196
243
112
112
170
210
112
156
209
170
208
212
201
171
181
137
170
167
112
150
194
150
167
137
212
208
195
208
123
112
176
174
171
217
167
168
237
167
171
193
170
147
150
172
178
208
186
237
215
179
150
250
171
170
223
130
194
135
167
207
172
136
208
190
167
170
181
150
167
150
150
150
205
217
121
239
150
150
171
171
121
167
165
181
228
219
112
156
219
121
150
172
201
112
112
172
150
156
194
181
172
144
172
150
121
160
228
150
231
167
152
150
167
172
150
165
130
171
124
167
152
136
112
165
205
231
150
157
255
121
226
179
208
195
194
187
121
209
228
112
121
208
243
194
150
172
186
171
167
136
200
194
225
121
208
208
171
208
150
250
123
187
194
212
186
257
170
150
170
234
170
115
135
202
192
237
171
112
112
121
167
203
237
208
112
193
123
193
150
193
167
150
233
136
192
150
236
112
187
189
150
212
112
257
112
135
172
192
150
157
210
123
229
112
158
193
244
164
112
186
181
237
231
239
156
210
160
161
228
220
112
112
112
112
167
181
181
136
136
203
150
208
181
192
200
192
194
150
224
134
181
147
176
135
112
165
172
182
176
193
208
205
165
186
178
130
202
147
193
241
208
226
165
150
172
136
156
121
170
210
181
237
189
243
165
218
236
112
201
231
189
121
186
112
135
228
135
124
207
186
170
226
194
181
150
135
228
176
171
236
279
182
150
112
229
189
112
167
150
137
232
171
165
198
131
167
187
196
237
150
156
184
193
150
165
226
202
208
176
175
112
241
150
180
237
112
150
150
208
115
170
170
165
234
187
121
121
250
195
115
187
139
123
172
112
176
137
175
121
150
181
112
150
170
112
232
171
193
275
115
265
160
176
121
121
112
121
123
165
150
167
150
170
121
178
112
121
112
112
167
196
213
139
197
112
150
258
235
187
152
121
159
168
237
176
167
172
127
167
196
195
225
152
137
167
170
189
212
161
171
160
194
205
172
276
150
158
112
137
208
171
135
185
176
208
225
112
167
215
213
150
232
202
226
177
121
185
201
150
176
150
195
176
167
112
156
189
150
212
172
224
171
208
144
150
115
173
112
172
185
187
147
219
207
208
172
115
137
186
172
136
172
172
232
172
150
112
170
195
203
217
181
215
159
275
150
170
200
242
181
212
198
201
112
123
236
130
162
112
150
222
147
170
112
150
150
150
128
167
121
136
217
153
201
135
171
194
167
232
181
150
170
112
156
164
158
250
208
137
150
170
130
178
150
143
112
121
263
181
208
186
208
171
124
121
150
150
170
130
165
167
228
150
150
176
172
181
231
247
170
112
123
203
150
201
208
214
115
121
173
128
130
146
150
236
181
121
112
181
112
167
136
250
130
228
167
124
208
195
124
171
167
112
203
209
136
112
150
258
265
194
206
150
150
123
135
156
171
208
250
226
170
179
136
121
255
150
228
193
203
135
173
135
112
195
204
270
121
241
121
121
201
147
121
112
121
186
171
208
181
167
190
186
150
170
143
239
174
204
121
186
115
135
132
172
159
173
158
121
186
172
112
150
162
112
150
156
123
150
136
121
240
139
112
181
112
146
197
171
208
194
150
121
226
255
208
212
201
123
170
121
170
167
171
121
112
208
171
150
168
150
121
212
156
150
156
208
158
163
186
208
245
276
135
150
255
195
250
238
194
276
208
208
214
202
208
123
228
231
165
270
172
265
176
123
176
267
150
206
186
170
217
288
112
115
158
212
228
115
150
194
171
172
171
152
165
231
208
184
121
164
174
202
112
250
159
240
258
208
217
204
236
186
179
112
171
135
242
260
228
208
168
171
202
189
112
170
172
186
172
194
229
150
195
167
171
156
176
167
181
150
124
193
150
208
137
170
130
112
156
124
147
112
150
130
216
202
156
143
112
160
189
172
170
124
261
193
212
150
150
218
176
112
186
150
112
158
171
224
170
171
112
167
150
150
152
150
226
160
112
211
194
112
189
170
135
228
147
135
147
121
219
209
121
121
226
228
233
172
202
170
203
187
212
194
218
150
176
121
150
199
302
157
245
208
150
112
135
121
121
231
150
214
112
210
204
234
184
193
150
205
172
156
186
170
226
176
172
220
172
156
218
238
223
150
170
150
112
112
174
182
202
121
112
169
179
135
202
121
177
225
219
209
181
237
186
130
150
217
194
192
150
112
214
128
228
172
176
187
112
249
210
165
136
112
137
172
212
236
167
190
177
159
165
150
176
262
150
187
187
163
115
172
115
177
194
174
208
171
164
130
165
195
165
112
201
150
201
152
178
201
208
167
237
136
186
150
150
201
121
150
209
231
150
158
276
167
165
135
210
226
231
121
121
170
195
181
225
150
288
181
178
170
165
171
121
210
181
195
159
152
208
171
176
112
135
137
172
150
210
121
179
168
112
181
112
186
121
233
240
240
250
131
176
193
167
248
121
172
181
121
135
150
112
170
171
121
112
189
177
226
165
121
193
137
150
115
150
189
193
195
172
115
121
212
181
121
175
192
255
147
112
167
237
215
160
170
150
161
168
208
208
137
121
121
112
228
121
156
194
167
152
231
121
137
167
158
239
170
121
135
179
121
135
232
160
112
232
249
302
150
199
240
181
121
196
159
112
179
121
170
212
186
121
184
121
130
228
176
121
277
171
201
112
279
168
190
184
121
229
150
170
207
136
207
165
167
167
203
178
187
139
112
208
121
244
193
112
218
187
198
194
237
208
170
150
186
150
152
150
112
170
135
112
177
208
124
200
181
238
195
228
172
172
130
137
123
112
214
167
174
193
208
150
121
194
172
128
184
172
123
196
218
121
121
167
112
170
217
235
167
218
229
112
172
208
167
112
150
212
121
164
174
165
167
194
172
135
150
215
186
172
195
210
172
112
121
205
150
178
233
150
172
217
172
159
176
112
167
112
150
160
186
112
219
150
218
150
121
194
237
165
112
171
112
115
121
193
193
210
217
123
174
225
184
250
158
181
170
164
282
172
150
170
167
196
150
208
172
150
172
175
121
167
147
172
233
208
181
208
121
150
171
150
208
195
150
150
150
112
208
112
121
182
195
121
150
170
137
193
250
161
208
150
150
170
192
167
112
206
208
137
170
187
195
123
167
136
220
112
150
170
136
172
136
212
160
137
152
150
170
194
237
112
172
121
121
150
231
121
167
172
210
167
150
137
123
208
195
187
178
167
123
205
150
210
230
167
171
210
135
150
167
112
112
172
231
112
136
143
150
170
208
112
189
167
121
187
150
189
112
170
172
150
136
172
217
208
302
250
152
201
147
165
182
160
209
205
263
121
218
215
159
150
201
121
259
164
147
193
152
112
128
171
158
174
170
208
196
186
147
112
150
170
202
136
121
121
136
172
172
112
187
172
150
195
150
137
220
238
121
226
214
121
201
112
167
170
150
219
172
112
218
186
208
160
150
150
112
121
174
115
115
150
187
150
210
199
152
159
267
171
210
170
165
150
194
208
150
115
219
167
128
135
121
201
171
123
207
214
210
150
228
195
198
208
190
171
150
181
195
150
112
147
112
167
112
168
147
150
238
202
112
172
192
150
215
137
227
172
150
208
150
174
192
194
240
189
172
256
205
150
135
179
213
229
150
225
181
150
167
121
112
170
136
210
150
181
112
252
186
137
167
130
208
121
150
226
170
205
150
239
210
208
121
121
121
150
181
202
220
160
218
186
171
228
215
187
112
168
217
123
202
172
218
225
264
193
121
170
201
112
189
176
163
228
239
172
215
202
150
150
202
135
201
208
150
177
187
150
195
302
115
195
172
150
217
165
194
220
224
170
194
124
112
201
121
150
124
274
137
226
208
239
121
121
266
208
143
112
167
195
178
209
123
278
207
156
137
228
236
208
124
163
228
150
159
115
228
112
250
240
131
171
194
165
112
217
112
229
208
186
201
121
208
121
227
193
165
158
204
210
231
181
150
150
150
112
212
121
193
182
228
171
185
205
220
238
135
150
208
150
112
194
175
228
121
112
152
170
121
121
112
112
227
165
112
130
165
208
201
181
177
150
170
130
201
161
201
172
228
186
176
257
210
150
175
222
170
171
192
176
115
112
172
181
112
123
181
165
181
202
159
194
137
226
150
212
237
137
121
112
208
152
150
121
275
124
171
150
192
193
121
237
121
237
181
187
112
240
172
221
112
204
231
208
115
239
192
208
167
160
115
201
150
156
115
172
121
201
121
112
112
255
234
281
123
220
218
147
172
112
195
137
229
181
121
167
171
194
121
150
147
208
187
228
150
174
263
150
208
181
211
208
136
202
239
112
206
135
219
208
172
250
136
172
121
150
220
203
112
112
208
150
177
150
219
172
121
259
205
194
147
211
172
235
179
193
210
121
277
143
178
168
112
150
112
170
250
170
150
171
208
172
228
202
150
112
112
302
121
121
209
208
208
209
150
181
112
167
184
135
112
171
147
172
297
112
112
212
202
150
223
185
216
121
167
194
168
121
150
123
170
158
164
213
171
121
121
176
278
166
228
112
172
232
225
121
164
259
150
206
186
112
181
233
250
215
170
176
210
181
201
167
112
112
112
161
112
131
201
176
150
216
170
172
150
172
171
263
146
210
194
201
188
112
237
121
228
208
203
150
171
187
176
167
230
150
170
112
193
168
174
228
164
136
150
150
123
208
208
124
112
231
231
172
135
207
167
201
209
112
112
170
172
121
257
137
194
167
150
165
112
186
147
208
137
150
228
156
175
123
171
181
208
181
150
150
150
228
168
194
192
158
112
171
177
228
250
172
167
195
209
228
208
174
121
121
121
179
165
203
160
150
208
195
201
150
220
112
220
143
181
121
121
135
189
176
137
186
121
112
170
193
175
112
147
208
150
202
237
198
201
150
150
302
121
208
207
112
230
171
112
201
176
112
173
112
228
170
176
121
150
150
150
121
229
150
121
160
207
176
187
194
208
225
208
112
228
137
231
206
208
164
147
181
121
112
215
112
186
229
115
150
150
167
232
203
150
194
121
137
208
238
136
278
150
219
160
121
193
176
180
156
150
225
136
150
147
171
121
190
112
152
212
136
189
172
214
112
150
237
123
137
112
194
181
170
112
156
124
135
162
212
263
237
112
131
112
211
212
186
205
216
218
186
150
212
165
229
112
228
195
168
189
203
170
210
172
203
192
172
121
150
202
136
150
187
233
168
202
250
203
112
186
208
195
164
208
124
167
202
278
192
172
217
208
158
121
171
123
172
195
208
176
187
121
236
150
167
112
150
150
186
208
170
172
112
136
128
136
228
112
112
276
112
228
170
228
176
195
121
181
143
112
210
160
255
123
112
112
215
196
172
202
121
147
196
186
186
208
208
202
172
150
165
207
165
174
229
124
210
167
194
123
177
208
150
217
231
197
137
139
165
171
158
187
208
194
177
250
208
205
202
194
160
112
165
167
186
233
168
112
228
205
136
181
167
160
136
167
135
213
243
194
212
150
218
121
112
181
112
150
201
181
194
150
193
195
112
112
278
170
196
112
226
167
194
150
112
172
172
156
145
167
121
121
176
167
218
173
128
176
208
150
208
171
121
112
228
159
175
112
172
187
167
239
190
171
112
115
237
194
150
112
150
150
253
185
136
177
167
193
236
123
158
230
170
136
174
187
195
150
167
144
165
171
150
121
150
112
208
240
262
184
172
147
165
165
121
210
201
147
150
245
170
237
150
255
150
112
214
202
195
136
217
270
172
150
121
195
208
208
202
233
159
258
229
176
236
121
187
170
179
194
121
146
150
238
228
176
171
181
190
115
150
121
147
112
237
121
172
202
156
167
174
112
249
112
121
192
218
171
112
150
123
112
201
156
183
112
160
187
174
220
187
168
236
171
158
147
172
202
208
150
150
172
208
164
275
121
123
121
115
172
123
228
172
121
175
156
195
150
150
176
158
121
237
135
112
194
136
123
175
178
236
262
112
208
240
228
220
302
172
128
158
170
186
150
172
112
121
171
231
208
112
136
274
181
190
112
150
208
208
202
121
150
137
226
172
179
257
186
164
112
219
172
150
244
226
168
162
172
181
202
112
171
177
229
179
112
220
160
196
194
130
186
208
164
171
195
145
150
212
223
167
115
172
150
194
199
183
209
112
174
150
191
210
121
170
123
112
135
182
124
150
176
165
121
167
171
281
170
147
121
194
212
187
144
171
272
150
121
208
201
165
233
231
150
123
112
146
197
112
112
226
194
121
150
130
232
165
158
187
172
136
112
170
208
217
121
121
124
160
150
212
123
210
203
165
170
115
167
121
199
147
136
158
202
112
208
194
214
208
150
121
121
212
231
213
201
170
136
123
199
194
112
194
130
249
231
208
173
167
156
208
205
199
272
174
179
135
167
152
170
130
121
194
190
112
112
171
172
121
121
121
184
208
208
150
281
210
112
252
150
170
205
123
208
159
201
121
172
121
147
302
131
208
172
194
150
233
150
112
112
121
231
174
276
194
150
207
165
208
210
196
150
123
213
217
112
223
222
130
172
208
233
208
112
183
121
209
115
160
223
130
208
121
150
213
174
165
231
217
212
167
172
112
207
150
136
136
193
150
112
112
212
172
164
203
128
121
171
121
226
219
135
192
176
164
167
171
160
159
150
150
128
174
147
123
150
150
204
112
211
130
165
173
150
150
112
202
121
183
121
128
208
112
150
186
171
192
232
147
203
228
160
171
231
172
239
208
194
186
172
210
112
164
237
218
208
255
112
164
123
123
181
172
165
150
115
135
150
152
171
216
165
112
112
179
165
121
201
165
112
167
198
136
219
115
218
170
160
208
184
112
177
150
121
172
159
112
207
170
243
246
208
237
152
115
147
147
167
252
194
210
170
156
194
177
195
215
150
208
187
165
208
208
158
115
121
167
176
121
195
165
226
124
172
112
198
150
207
112
165
172
218
201
167
135
252
112
121
136
208
276
150
193
193
193
137
230
174
193
136
123
150
192
177
135
121
225
136
205
165
121
167
171
170
193
135
205
177
171
181
150
165
112
250
228
170
136
228
164
171
237
121
195
121
212
121
215
121
121
205
164
216
158
150
158
205
218
150
150
181
223
121
212
130
164
199
173
203
112
194
112
245
226
124
165
150
171
247
165
186
239
135
150
165
217
181
269
244
181
235
170
121
187
176
243
112
121
235
194
172
249
121
176
112
112
112
178
208
194
131
150
121
177
121
220
189
242
167
189
219
170
112
220
150
231
112
237
226
170
179
208
150
182
150
150
228
112
172
176
172
193
189
150
150
150
172
170
167
112
168
276
172
167
175
193
139
123
201
176
237
201
171
186
228
250
208
247
112
123
243
215
150
121
136
311
226
136
171
130
123
112
121
172
121
179
181
130
223
112
112
176
171
121
171
186
170
172
237
232
121
170
232
171
112
250
170
121
208
172
115
172
115
208
121
112
237
150
121
184
194
212
210
150
167
135
112
213
150
229
203
172
150
177
172
112
210
137
181
150
135
176
121
150
210
202
172
121
150
174
150
203
167
164
231
112
124
202
143
150
112
176
150
219
150
219
172
167
172
266
121
243
112
187
160
225
112
150
232
167
150
150
170
124
112
228
250
150
112
123
121
177
170
167
172
208
150
128
242
112
150
165
121
156
150
121
208
167
158
181
195
179
173
150
121
121
209
112
219
164
121
212
121
157
228
112
187
193
115
147
172
190
150
124
176
123
158
171
135
135
150
132
150
171
121
176
172
112
265
170
250
112
150
237
172
186
150
137
255
207
281
123
172
226
150
112
150
230
112
172
208
201
147
202
186
231
115
237
170
147
150
158
217
171
115
259
194
192
170
201
152
112
218
194
195
208
147
167
208
172
121
158
197
239
159
173
195
121
208
147
150
208
176
150
192
135
220
150
135
121
224
112
187
193
220
260
176
232
167
123
208
220
112
196
150
232
208
123
237
121
195
121
136
174
171
171
150
150
174
150
208
147
193
150
242
112
150
112
121
112
220
171
136
174
229
179
112
123
168
112
208
121
170
214
269
194
176
150
229
115
237
150
194
220
217
208
184
250
150
170
207
203
170
187
181
123
150
150
121
250
219
208
176
192
112
193
221
121
172
162
136
137
123
219
201
112
214
150
276
150
275
150
160
164
170
176
121
112
172
121
121
194
181
159
150
219
165
172
214
150
186
150
135
123
210
137
167
216
170
136
170
251
194
112
112
207
209
123
150
176
216
168
203
212
171
123
163
123
147
230
225
147
170
177
172
112
150
112
181
202
231
150
193
135
167
170
155
135
168
147
172
115
240
170
236
234
167
159
199
178
112
171
135
112
242
150
124
150
115
202
210
177
121
143
121
237
164
203
112
150
124
157
204
160
136
228
220
112
187
112
150
137
150
121
171
203
156
229
218
181
115
165
136
123
271
150
136
203
208
165
132
187
167
167
194
178
257
121
170
201
121
167
208
171
164
150
150
150
150
176
209
186
139
112
167
212
152
178
176
165
112
170
112
222
208
121
115
231
172
186
186
128
170
150
121
199
212
192
224
208
249
172
150
150
173
165
174
208
218
144
121
172
237
194
171
121
181
112
210
170
121
150
121
250
200
150
194
158
254
135
174
170
188
130
263
112
150
208
216
167
172
150
164
121
165
210
146
112
217
194
235
196
121
202
150
121
218
172
112
195
172
150
172
123
123
232
170
124
150
168
112
121
186
233
167
121
171
112
150
189
121
150
135
248
176
164
112
193
172
195
220
220
216
194
150
160
302
150
112
172
112
172
192
181
150
150
263
150
150
208
240
208
260
278
193
207
167
231
150
209
135
247
150
220
150
150
167
187
181
150
150
174
220
171
159
220
150
262
208
229
202
167
228
167
172
150
205
232
121
158
203
231
172
227
229
135
115
208
208
208
167
265
171
135
210
208
137
194
170
121
157
112
137
121
179
171
137
121
121
223
143
150
207
171
181
150
150
112
172
199
186
210
212
150
187
202
167
187
172
208
170
165
274
179
171
150
121
165
135
112
121
150
220
131
160
121
237
170
167
172
170
112
182
150
220
190
181
150
194
171
130
167
112
130
237
230
194
150
121
201
150
181
164
150
171
198
245
121
150
150
194
170
210
177
135
150
250
137
250
192
210
150
150
150
168
239
137
208
181
195
150
143
150
208
193
214
115
193
243
158
153
123
112
121
150
167
220
218
112
158
193
181
167
195
150
205
121
150
195
192
128
195
158
208
150
219
161
194
123
112
220
172
228
176
143
229
150
150
112
194
112
208
214
237
112
150
253
195
112
212
177
150
206
150
208
235
150
170
187
171
152
208
171
186
203
167
136
225
164
152
192
172
257
171
167
170
112
216
242
220
172
210
158
112
171
226
150
147
112
228
150
121
135
229
174
228
171
258
242
158
207
123
172
164
174
201
175
137
208
195
250
193
150
209
171
213
112
171
203
172
208
208
194
112
172
159
229
239
263
160
167
255
240
162
159
150
150
243
194
228
187
195
237
136
150
229
172
121
155
194
236
193
208
112
186
237
202
150
208
192
176
150
150
150
171
147
172
192
123
135
171
193
171
167
226
170
128
208
196
121
150
150
186
150
217
150
220
136
121
150
150
170
203
112
243
215
112
210
172
112
112
195
160
233
112
139
196
150
165
150
112
165
230
207
165
172
150
150
135
164
121
201
130
165
195
210
228
150
112
121
182
172
164
143
135
112
170
207
228
165
150
245
112
150
181
176
208
194
165
121
186
150
179
112
208
172
150
187
203
186
152
167
158
158
209
121
218
239
261
143
190
112
233
136
112
168
112
194
121
171
170
152
186
150
115
121
112
282
195
208
170
168
172
150
112
250
177
112
170
150
208
150
194
172
202
167
167
123
135
112
150
190
228
167
136
181
121
194
150
167
150
181
121
244
208
257
219
170
170
112
193
208
172
172
150
150
177
237
186
208
164
172
121
237
171
165
172
166
170
165
137
167
167
217
202
205
220
203
137
219
123
167
123
152
135
239
150
201
229
152
208
193
239
203
150
162
147
164
112
212
239
130
189
150
121
150
121
208
202
112
240
208
172
150
228
123
147
150
171
150
193
121
170
150
112
240
207
172
165
150
170
135
244
220
187
189
194
172
137
112
229
137
121
150
150
234
190
123
204
208
112
152
195
112
146
121
174
112
204
199
206
210
136
135
167
201
239
167
174
172
210
135
167
172
158
262
150
160
147
167
152
172
121
231
255
172
150
185
228
212
250
229
207
165
232
164
121
233
167
176
128
115
236
210
254
112
112
186
123
181
202
150
197
123
208
160
199
167
194
112
181
150
121
165
186
121
171
232
172
171
263
164
167
167
150
170
150
159
179
186
150
112
136
217
206
208
172
250
201
234
201
205
220
136
147
198
112
261
172
150
302
172
167
112
187
147
208
147
205
150
193
123
225
121
150
150
293
172
121
193
168
112
150
210
112
121
136
205
186
162
165
228
159
112
150
210
150
159
174
164
143
186
136
150
296
250
115
205
228
160
186
203
177
234
170
139
236
172
112
179
210
201
171
210
160
112
229
150
170
160
203
219
115
193
135
201
150
237
202
276
201
171
170
150
112
210
112
150
121
208
144
112
176
243
150
131
121
171
187
192
228
150
150
275
208
147
168
247
112
240
112
218
121
194
167
231
150
172
121
202
261
135
112
177
112
147
121
216
176
193
241
150
150
187
121
200
112
210
172
194
226
186
176
150
181
150
202
121
190
123
165
219
164
171
128
170
167
233
209
243
176
160
203
260
150
121
143
112
201
137
214
156
172
193
164
183
121
150
237
171
112
174
112
178
150
121
167
172
203
167
195
170
115
177
112
181
202
197
150
166
150
193
218
208
289
168
121
150
196
136
203
241
150
195
168
176
172
136
228
226
150
209
112
150
187
225
112
121
112
159
130
202
144
112
121
229
203
178
171
208
112
233
176
150
235
208
135
112
210
184
115
193
231
172
208
165
150
229
208
167
175
121
229
170
137
167
123
136
115
167
112
150
150
135
219
150
121
164
171
147
201
216
124
178
150
112
136
210
156
123
226
193
121
112
239
135
121
193
147
185
121
156
167
136
172
112
210
186
261
123
208
194
150
187
165
212
135
165
188
248
205
159
179
208
168
204
170
176
158
208
143
170
178
194
150
159
247
237
208
167
171
121
115
210
272
150
167
167
172
150
208
150
172
124
150
167
187
193
229
189
192
150
174
170
167
160
130
217
263
112
186
167
150
115
201
255
225
201
150
195
228
167
121
172
130
128
192
170
208
176
214
167
123
150
172
186
192
121
112
172
171
178
172
187
112
135
112
223
112
170
228
205
193
165
164
167
194
150
219
159
167
224
226
208
192
172
150
210
156
256
150
181
128
186
219
112
150
112
136
150
150
194
112
158
112
112
121
192
152
208
112
150
150
150
165
170
263
150
272
181
115
219
263
165
136
194
161
147
150
172
135
136
171
150
255
205
136
201
172
150
167
228
225
238
150
231
209
156
112
172
121
203
178
112
186
194
217
201
121
123
150
136
123
112
259
121
193
164
143
208
150
150
208
168
194
172
202
150
208
234
194
171
202
150
121
202
201
121
176
208
212
276
150
144
226
112
172
164
201
135
172
112
150
177
214
187
205
202
150
176
203
150
208
187
130
186
227
172
174
112
150
203
168
137
175
170
121
225
160
217
150
150
257
147
164
135
170
170
189
203
147
167
208
218
150
212
150
233
159
217
255
172
176
255
172
112
150
235
280
186
172
170
207
194
176
219
247
177
176
136
205
165
165
112
128
195
170
187
194
167
150
214
218
244
208
161
177
170
121
124
168
182
150
172
135
181
220
239
121
112
112
186
208
115
208
228
247
201
207
121
237
147
137
121
231
150
204
203
150
150
150
232
175
167
199
121
159
174
150
186
160
214
121
121
112
147
194
208
217
176
186
165
242
243
150
112
176
112
236
175
208
160
150
225
165
174
192
167
179
165
121
121
205
208
135
203
237
170
121
112
186
168
194
226
167
194
174
207
176
232
276
175
170
218
112
208
208
168
123
212
181
131
121
231
147
121
172
167
171
112
172
170
150
240
121
210
135
243
192
156
112
164
150
136
112
226
135
210
172
150
182
150
236
150
165
135
174
159
179
121
211
202
194
115
159
208
150
150
186
184
139
209
123
176
210
170
159
157
176
193
152
165
194
278
193
150
150
147
112
229
220
187
150
150
177
121
172
121
144
112
170
232
204
121
174
150
207
121
135
212
123
150
181
176
165
150
157
150
177
150
227
134
228
245
159
121
158
160
112
194
219
124
187
115
211
112
165
161
121
240
212
208
150
112
217
170
237
171
250
112
174
194
123
123
178
196
202
150
150
170
187
112
128
123
150
215
207
150
121
115
150
203
208
171
112
172
112
172
123
115
172
112
170
228
121
226
135
150
170
170
265
121
172
209
170
212
174
234
302
172
121
237
201
170
130
112
172
171
192
165
177
208
147
150
227
228
187
143
150
208
121
217
194
137
121
177
203
250
150
182
219
150
171
139
158
123
112
226
167
172
130
171
112
172
228
112
172
128
228
239
186
208
123
150
112
226
219
208
167
208
171
216
150
210
172
255
112
233
152
170
170
194
150
165
233
121
136
115
305
159
210
171
123
167
135
121
172
123
210
205
121
115
158
150
167
194
187
136
225
150
194
212
152
174
181
135
171
171
218
179
186
195
181
112
176
190
150
112
124
208
210
176
201
123
167
167
112
236
174
174
150
112
220
240
218
115
208
150
237
193
121
172
128
202
182
150
130
121
121
181
165
124
225
172
172
216
145
121
130
195
112
194
152
112
278
147
115
156
112
112
194
237
112
211
121
150
121
150
189
167
150
145
136
203
181
210
171
165
172
112
150
240
150
172
176
112
227
167
210
210
172
167
121
167
266
137
112
112
121
150
214
208
112
278
150
187
164
172
233
150
112
145
150
165
170
121
150
232
210
186
150
212
189
215
229
150
183
212
274
263
150
150
167
121
112
250
150
112
205
172
201
139
172
128
243
172
167
167
228
194
212
112
208
157
112
201
135
240
172
170
164
193
175
181
135
137
112
161
172
202
150
121
276
228
181
112
124
184
208
150
123
150
193
195
150
150
203
257
233
164
193
150
160
218
150
187
208
170
194
216
233
150
208
112
121
150
121
150
195
135
208
112
121
201
150
165
157
123
121
208
171
176
170
171
169
203
209
150
194
205
208
179
176
150
194
137
276
150
243
208
205
228
231
115
165
165
237
226
115
150
150
121
112
171
150
175
218
231
228
130
147
112
115
112
210
150
121
121
121
172
219
159
150
150
174
115
112
236
193
165
226
150
147
150
168
207
217
212
167
121
150
121
171
250
217
112
172
236
112
233
167
121
135
158
228
147
112
238
112
181
112
220
192
170
181
257
258
215
194
181
172
147
203
177
121
172
217
167
239
167
170
212
147
194
224
202
172
135
208
171
170
150
226
167
112
231
172
158
112
208
150
139
176
170
152
172
112
121
195
237
121
208
137
193
171
205
156
205
156
195
175
175
147
195
167
208
233
121
208
150
121
161
150
168
196
202
165
170
176
150
228
207
208
170
150
229
209
112
231
172
123
201
175
177
150
257
208
190
194
237
265
171
214
202
123
224
174
195
121
254
137
208
121
231
225
167
150
167
112
112
209
172
215
150
150
173
212
186
150
208
228
112
226
121
214
158
177
150
112
135
208
150
205
164
112
150
112
121
112
176
219
181
175
194
299
168
209
136
226
147
184
184
115
150
150
157
167
165
202
228
302
186
176
150
161
178
251
172
112
209
165
112
167
208
174
170
212
150
164
208
152
226
206
181
213
156
193
150
121
165
216
150
167
155
219
170
186
171
165
208
232
168
150
208
121
150
124
172
170
238
112
184
150
206
208
112
130
143
187
172
227
177
123
282
123
172
167
121
165
115
112
112
121
186
172
189
202
123
141
150
165
150
167
137
220
234
135
225
150
234
167
150
165
205
179
150
229
224
171
160
186
181
167
175
121
237
171
150
240
264
189
150
228
181
112
168
181
258
121
170
194
214
152
171
137
170
187
121
165
230
196
121
208
170
243
174
173
112
194
150
208
187
115
179
189
112
150
150
165
272
112
121
187
260
121
240
150
161
165
208
176
150
229
146
112
150
150
228
194
167
112
218
150
137
112
189
172
158
150
182
208
172
237
143
150
121
112
150
186
150
182
228
152
208
205
187
112
208
123
136
172
150
178
197
121
170
208
172
135
121
250
226
179
176
123
213
121
136
274
206
231
121
150
194
167
156
112
164
112
115
147
121
135
172
230
170
203
170
208
112
150
184
150
166
177
121
190
198
112
195
150
195
150
208
212
137
112
172
112
112
172
112
231
231
121
212
165
225
112
135
194
187
242
175
123
259
150
150
201
208
128
190
186
150
136
187
112
194
181
112
208
123
171
182
135
243
193
170
121
150
160
121
187
112
167
112
200
226
121
167
175
170
165
150
112
172
170
112
150
203
194
202
171
112
207
157
164
112
177
181
170
224
194
203
121
121
215
150
167
228
176
267
112
172
121
135
229
147
221
211
121
135
136
121
167
179
208
246
123
255
229
171
167
121
150
123
193
150
121
150
206
172
208
172
210
152
115
156
167
233
112
157
150
121
167
168
170
208
172
150
243
220
174
194
121
172
239
112
158
186
172
250
202
202
193
150
228
219
172
172
273
194
167
112
150
168
171
172
112
278
194
112
259
208
231
201
112
137
137
250
150
250
170
150
121
112
201
150
112
170
165
225
208
208
112
255
186
112
121
177
158
121
203
112
186
187
121
208
123
170
194
192
128
150
202
167
237
228
195
177
302
189
143
112
172
150
123
124
170
167
170
181
165
121
181
256
281
174
193
187
171
150
176
123
172
112
250
150
233
112
189
123
121
210
147
255
195
239
112
147
201
112
208
172
237
207
172
222
159
194
208
229
112
194
121
124
194
231
243
202
112
186
196
207
171
150
243
150
195
187
233
240
228
150
150
112
124
121
207
167
208
150
171
112
172
123
172
176
291
137
208
121
165
158
123
150
156
243
194
156
208
223
237
208
186
219
179
237
137
115
123
189
112
150
112
160
143
208
112
158
194
194
112
239
112
112
150
165
217
231
223
207
242
172
172
121
267
112
150
190
208
172
179
208
193
115
150
112
158
135
181
150
219
202
165
146
250
194
164
194
193
194
232
256
150
186
227
171
167
150
115
186
167
187
143
115
184
208
157
121
165
115
143
121
226
167
112
309
231
123
150
194
121
168
164
143
115
136
121
194
194
112
121
121
184
208
136
123
171
121
161
212
167
236
208
216
150
239
150
112
170
208
112
176
208
220
112
172
210
168
112
131
208
135
208
217
196
158
167
195
220
112
194
302
112
123
136
121
276
156
187
256
150
147
237
121
150
112
171
159
167
255
124
210
208
172
150
201
136
121
168
153
112
121
242
167
210
201
123
250
218
172
123
150
150
158
208
150
181
139
156
150
194
194
150
171
241
121
167
121
190
201
197
150
168
135
150
201
150
174
128
181
112
195
115
210
112
150
170
201
181
184
112
172
202
130
243
235
156
175
225
172
165
124
172
150
167
123
186
157
210
170
150
124
112
174
121
123
179
276
207
135
150
172
220
112
265
150
121
230
172
147
243
112
137
167
208
207
150
172
167
204
156
150
181
112
167
176
176
121
172
213
172
155
255
231
150
228
158
232
208
121
172
165
167
112
112
135
176
115
202
175
219
124
112
186
239
121
115
171
150
193
219
150
231
121
171
239
171
171
170
150
112
238
171
201
150
137
170
121
247
255
179
276
150
139
171
147
208
124
150
121
287
193
164
170
226
193
171
143
112
143
255
208
241
186
218
121
208
208
143
189
186
147
172
229
194
208
112
172
214
206
171
201
112
112
170
194
186
218
115
112
150
236
121
150
150
150
231
112
231
172
112
147
112
187
165
121
192
121
172
150
208
150
164
194
170
121
186
123
172
200
150
208
150
150
171
208
121
194
112
161
212
181
150
121
147
112
228
121
150
159
150
165
121
112
189
141
208
234
172
208
121
165
112
181
121
150
266
136
150
121
232
232
202
176
172
134
150
152
172
121
164
121
189
187
176
123
186
112
112
193
130
226
150
121
121
216
171
150
121
147
172
112
237
124
112
150
112
181
171
255
192
214
234
172
112
172
167
208
237
210
193
237
192
239
150
121
150
176
237
137
208
139
181
171
123
121
177
150
167
225
123
216
112
194
257
147
150
121
223
172
123
201
237
165
136
208
172
192
150
181
195
193
181
158
172
150
112
150
182
172
208
112
208
172
194
136
150
150
208
297
170
170
160
228
228
137
168
150
170
150
167
272
135
150
195
204
121
204
165
160
150
171
171
170
112
193
233
172
112
210
163
181
150
131
235
121
187
121
184
112
186
167
115
144
112
150
158
208
200
186
112
135
121
168
112
135
150
112
124
219
130
187
147
112
123
121
208
137
194
242
172
174
182
210
112
150
227
187
112
150
190
112
123
115
147
201
181
167
212
167
228
112
150
208
159
226
210
218
159
278
161
170
135
193
208
235
172
167
172
253
150
165
152
224
165
217
152
187
183
121
202
170
112
171
250
247
172
171
171
150
195
202
172
244
302
208
210
135
186
207
186
174
164
150
195
186
235
150
156
150
208
112
150
159
112
135
172
217
112
208
208
150
193
164
165
240
172
198
201
167
212
186
112
170
171
121
176
236
167
152
174
215
152
150
172
146
231
219
112
112
112
205
121
187
236
170
278
137
167
121
112
181
253
220
150
187
216
150
170
175
152
208
150
170
112
121
150
202
121
152
193
112
141
112
150
150
177
135
112
225
147
258
147
112
202
168
171
218
264
112
212
171
115
208
208
112
208
208
150
170
135
175
112
214
158
210
143
189
112
181
225
167
264
208
227
177
184
219
167
150
170
112
257
150
172
150
170
150
172
173
147
201
248
215
121
212
158
167
165
172
201
121
170
176
112
177
144
150
171
150
187
172
121
124
215
217
192
123
167
186
225
150
156
158
186
212
208
168
112
112
278
300
136
204
112
184
167
115
121
208
135
250
157
147
195
150
165
194
137
194
216
136
158
121
150
137
144
171
176
150
208
181
130
171
215
159
112
202
228
263
217
150
150
167
165
258
225
226
167
150
187
186
167
225
228
233
229
121
195
121
112
181
150
194
199
225
150
195
210
121
210
158
226
150
292
175
181
130
143
112
263
123
121
121
240
241
135
167
150
170
193
112
158
172
299
121
195
121
209
150
194
194
202
135
112
112
112
150
208
112
192
112
112
171
260
167
237
112
167
172
210
160
239
137
136
150
121
176
167
112
172
170
156
150
147
150
177
172
192
121
137
172
112
196
112
192
128
167
121
193
143
210
225
215
237
123
189
185
231
201
208
172
112
150
165
177
172
136
150
223
121
187
136
229
137
182
150
184
123
175
112
121
201
208
208
250
210
197
194
228
112
201
232
121
208
124
239
228
194
167
220
172
150
186
150
204
170
172
112
112
158
217
170
257
172
161
198
167
112
150
172
165
178
150
237
194
150
150
186
208
194
171
121
172
201
170
182
159
276
167
121
150
123
160
208
156
121
220
165
187
297
112
150
302
209
167
165
115
136
208
112
172
210
187
150
271
239
207
112
115
194
112
123
121
189
123
165
208
208
193
135
210
228
112
231
123
210
176
170
167
172
172
189
121
302
112
259
165
167
112
112
112
237
170
171
177
132
203
163
121
165
227
167
160
150
121
193
217
258
115
237
167
278
221
181
150
184
121
162
196
150
150
112
174
124
172
192
147
207
128
150
302
170
112
152
150
121
167
207
150
208
171
171
147
121
123
208
150
176
121
165
112
208
278
150
170
121
112
136
164
210
186
150
165
112
130
212
121
210
165
170
202
150
150
178
150
227
160
150
171
168
172
112
164
121
217
172
250
168
194
121
150
172
112
182
210
150
208
170
135
112
202
186
228
181
208
254
208
199
135
171
186
172
205
208
121
159
124
170
167
112
218
112
223
123
121
112
152
220
121
208
150
171
112
194
195
171
212
137
150
172
247
158
150
165
219
177
164
150
121
121
168
194
171
165
150
194
181
112
165
172
160
121
213
208
209
150
172
150
202
187
255
195
147
165
274
121
165
208
194
187
121
241
150
272
165
194
143
112
212
228
150
135
112
112
123
150
208
210
203
147
186
181
115
112
165
226
171
207
115
172
171
150
112
150
192
193
167
121
128
241
201
150
193
194
203
137
150
121
236
231
239
167
196
208
170
150
171
211
171
150
150
237
115
177
175
121
188
238
112
130
177
123
121
112
195
208
167
121
160
228
186
136
194
112
164
177
170
212
159
255
170
225
181
172
172
121
243
172
207
231
173
231
123
121
121
123
168
216
208
135
172
121
150
115
159
172
171
207
208
135
193
164
128
150
190
150
208
178
150
278
175
172
238
233
170
176
176
231
212
112
170
150
207
208
150
112
123
172
112
164
150
164
159
172
216
187
112
176
233
179
112
192
115
150
194
208
219
176
202
150
208
130
265
165
167
171
112
170
267
150
226
192
136
135
220
184
208
302
170
112
181
150
203
112
164
181
187
135
219
112
121
176
220
217
112
147
237
172
137
167
112
150
112
112
150
195
226
194
186
121
208
144
121
147
150
262
212
201
215
187
112
123
167
239
187
150
157
208
121
121
264
208
205
203
208
264
237
199
128
194
176
218
237
150
150
167
231
171
238
202
178
175
123
112
170
150
182
228
220
194
112
150
170
208
174
139
168
220
143
187
220
150
193
160
112
207
135
192
112
197
121
112
150
160
135
150
124
121
168
112
112
136
112
176
121
210
177
150
253
217
177
170
194
112
230
135
217
202
112
208
184
208
208
208
171
112
168
171
208
156
174
208
136
205
159
112
121
165
165
237
112
212
164
172
208
234
152
123
143
275
143
167
220
206
150
150
144
112
174
192
171
192
194
208
170
150
225
172
204
167
208
130
150
165
194
137
195
208
167
231
228
239
181
165
195
219
219
229
194
193
150
115
112
165
187
264
225
181
194
194
237
112
187
210
136
208
217
121
161
201
176
225
112
121
195
121
150
167
150
158
115
195
121
165
207
112
202
124
171
195
136
167
167
150
112
121
179
170
243
150
150
193
171
131
220
231
137
150
218
172
121
207
193
205
150
191
227
121
150
170
150
150
226
136
150
150
228
195
158
150
150
170
172
159
147
165
167
214
168
112
225
181
171
172
219
263
112
193
152
215
170
171
158
227
205
112
170
121
150
194
208
212
250
123
207
210
112
144
150
177
274
150
121
235
229
139
167
181
176
112
136
121
171
123
150
186
139
112
112
150
240
237
203
112
208
150
112
123
170
112
159
212
115
186
167
221
171
112
121
150
164
167
170
121
150
150
172
187
150
167
112
172
112
225
205
112
195
150
112
150
121
123
112
187
115
121
167
207
121
171
219
150
195
208
170
231
212
228
158
217
170
208
180
112
172
121
203
123
208
112
150
150
240
157
192
220
228
112
135
150
202
150
278
231
121
112
194
194
171
121
150
270
193
139
135
186
205
177
167
115
172
124
202
172
164
150
162
167
199
121
150
115
186
243
228
215
215
112
185
181
150
181
150
205
112
212
159
207
208
302
150
143
176
170
159
181
123
211
172
210
112
121
170
217
211
112
216
214
254
181
123
165
112
202
172
172
136
212
150
121
150
123
112
174
170
123
219
192
150
228
218
210
231
174
187
170
112
170
150
192
159
112
150
150
170
123
272
219
208
112
150
228
241
276
167
194
220
147
201
147
150
242
121
171
112
150
172
220
150
193
139
186
208
158
168
121
121
156
162
176
218
165
112
123
281
172
147
218
121
208
212
176
263
112
124
135
176
208
219
186
121
190
128
208
112
220
170
167
166
123
150
150
168
202
208
174
150
136
112
193
171
183
170
158
201
150
208
150
209
208
115
204
170
112
157
112
170
186
136
196
112
265
186
112
194
178
203
202
208
121
150
192
177
164
172
121
202
156
150
195
121
123
137
121
150
121
229
143
121
175
228
198
167
137
202
112
231
218
121
112
265
228
194
179
181
171
121
235
172
145
194
147
186
266
170
150
172
203
124
112
158
202
115
171
278
121
176
112
150
184
165
164
209
189
217
172
208
150
137
150
112
168
208
158
204
197
226
195
112
150
270
229
208
181
150
172
232
183
172
206
165
206
171
172
262
228
112
193
170
170
112
136
192
243
302
112
112
135
150
243
208
208
172
112
201
172
195
172
112
172
150
121
172
144
242
176
209
170
150
230
112
121
208
150
121
167
150
134
243
194
130
158
172
150
194
189
205
137
170
150
231
150
181
172
228
186
236
195
147
177
121
175
156
181
167
112
302
115
186
205
276
112
216
231
172
277
158
302
172
239
208
194
174
150
167
150
279
150
208
167
150
225
181
237
193
112
187
121
194
167
170
124
141
112
170
168
121
170
181
150
112
204
150
172
121
194
170
123
112
194
167
264
223
159
176
121
121
177
194
171
123
187
121
150
150
208
164
167
201
302
195
194
190
152
239
123
178
237
150
150
112
150
187
150
219
172
178
121
153
186
167
170
170
172
208
112
194
165
226
167
211
218
123
121
182
123
274
205
213
213
121
112
177
236
174
228
212
121
215
208
205
165
212
170
172
172
167
245
163
170
167
168
237
150
187
171
245
212
226
218
112
227
165
150
215
164
216
123
150
168
264
121
115
167
187
212
172
121
208
157
218
207
175
167
112
158
255
234
202
228
187
112
165
193
150
208
208
124
194
172
167
201
207
172
231
170
112
208
190
112
243
112
164
112
208
172
136
121
178
212
121
150
214
150
282
143
112
202
201
222
212
150
150
167
208
150
179
160
112
165
144
187
194
112
186
186
173
195
157
170
275
150
194
123
167
150
171
250
194
152
158
121
202
121
121
208
240
123
175
171
168
150
175
112
150
112
167
176
219
181
170
150
170
167
186
112
167
112
220
171
189
112
167
229
112
219
200
177
123
112
115
208
171
192
121
208
164
123
160
243
150
121
174
112
208
236
210
159
150
167
167
177
171
168
121
197
135
243
164
210
225
177
121
231
205
112
136
193
215
172
150
112
165
150
160
158
170
172
121
195
172
112
175
124
150
201
186
112
112
121
161
165
208
235
121
174
135
121
208
181
123
201
112
112
186
189
193
167
161
112
214
164
208
208
167
123
182
177
130
167
237
123
302
172
161
176
121
172
288
115
150
181
172
137
186
274
144
145
197
150
189
239
260
171
112
202
187
165
165
171
187
121
236
187
202
158
208
123
236
150
195
192
144
135
270
121
115
112
150
167
176
167
165
208
172
135
121
121
136
181
121
135
164
234
228
202
211
205
193
123
176
223
170
170
186
225
228
203
152
170
170
121
168
176
123
193
150
186
112
139
192
210
135
205
186
156
176
255
175
172
208
220
160
150
206
112
176
170
231
121
150
150
177
150
276
218
152
112
112
150
115
168
213
194
112
205
194
150
164
203
159
112
115
217
121
274
172
178
150
115
150
143
172
164
202
121
172
137
112
150
184
172
167
187
269
112
181
136
201
239
150
150
208
123
112
150
121
209
159
176
172
150
150
203
214
193
223
144
167
172
208
115
176
194
203
112
230
150
158
135
150
208
237
112
136
121
171
121
112
193
150
228
130
124
150
147
242
158
150
123
204
189
212
115
184
146
150
143
193
177
123
159
228
121
174
220
186
195
231
202
112
112
115
145
121
168
112
112
170
147
121
150
121
216
121
121
172
212
158
195
112
172
147
136
165
128
250
201
167
121
219
112
172
171
172
208
131
150
112
195
121
217
165
171
112
177
135
174
229
112
124
150
228
170
199
150
150
229
136
158
165
168
112
150
123
202
137
195
250
150
150
181
171
234
203
168
168
112
195
137
167
181
112
121
172
112
225
257
218
150
219
171
186
194
181
112
194
208
181
150
150
112
217
167
167
239
211
112
165
150
230
208
150
150
143
181
182
172
150
192
174
167
112
157
159
130
208
172
244
206
112
237
150
121
150
150
136
212
150
123
208
201
165
236
135
174
150
219
228
212
203
152
219
121
121
147
226
150
219
211
193
112
175
171
123
147
171
121
112
171
170
150
212
121
226
239
137
259
150
257
208
175
181
203
112
141
128
232
172
201
121
121
158
147
211
181
193
297
186
212
158
121
237
121
112
172
112
172
159
121
223
208
177
226
173
112
150
181
143
161
176
170
176
200
143
172
176
121
176
115
246
167
228
214
123
214
208
186
271
112
218
263
112
115
203
202
179
171
165
150
150
208
167
150
159
143
150
196
250
167
150
208
167
209
208
121
123
150
121
112
186
176
177
228
158
263
152
171
121
121
150
208
158
112
112
150
150
168
150
121
152
220
201
226
121
170
181
171
194
150
194
172
174
143
181
265
176
178
115
193
167
264
121
112
186
150
123
253
112
112
181
123
202
170
167
121
233
121
170
228
186
176
202
171
167
124
208
112
172
209
231
170
203
112
170
194
263
218
112
208
156
157
150
208
112
121
240
112
199
172
252
203
225
250
121
112
158
167
171
150
239
172
177
208
228
227
167
228
186
208
201
220
150
179
112
242
186
167
121
172
193
192
212
147
112
172
174
150
167
176
165
217
195
121
208
115
176
192
171
112
150
159
218
229
136
124
219
159
173
172
209
205
135
208
121
115
240
208
172
150
172
112
112
150
112
233
231
167
217
208
123
170
150
235
229
208
194
112
112
170
171
150
177
234
172
158
135
123
231
255
167
171
193
112
150
123
212
164
112
150
186
150
168
170
112
243
112
172
177
158
218
172
215
167
170
172
172
135
112
112
112
167
121
263
207
195
184
189
172
156
123
150
208
201
150
248
112
150
167
212
179
190
136
220
162
208
150
121
208
121
219
171
135
195
186
121
210
189
170
112
208
150
208
187
167
147
302
139
123
177
112
121
112
150
188
121
217
123
165
171
165
112
170
160
150
165
207
147
170
167
267
192
231
165
112
195
202
150
112
208
186
194
193
159
112
158
168
242
123
201
136
179
147
182
150
168
123
224
164
112
172
195
124
181
203
150
176
266
179
165
186
177
112
170
167
228
218
121
112
128
212
112
186
115
150
150
150
150
137
202
136
144
167
171
150
172
112
150
203
137
121
187
181
121
121
176
172
227
229
147
170
165
172
112
112
181
192
171
193
205
208
170
167
150
181
195
150
194
170
112
210
237
237
210
210
208
217
256
165
232
237
137
115
187
160
150
269
177
172
135
208
179
238
121
172
121
150
112
187
167
123
256
150
228
212
243
147
121
150
158
172
123
163
158
174
232
264
112
152
147
237
150
228
150
223
147
121
150
112
184
201
136
121
168
130
228
219
176
215
177
168
150
112
112
150
176
186
115
176
150
222
170
112
229
208
206
123
121
150
150
158
228
170
177
225
171
195
170
121
123
170
194
124
236
208
150
170
181
236
215
217
195
171
156
158
228
112
150
170
150
164
167
202
150
112
123
147
237
121
164
172
164
194
121
205
121
171
121
167
150
181
130
228
225
158
225
210
171
170
159
202
202
181
181
158
172
112
278
170
217
182
170
186
159
219
150
170
279
121
158
212
234
135
136
152
112
112
193
170
194
214
195
201
150
210
136
150
202
150
150
150
121
112
225
137
272
170
150
213
164
167
150
121
270
147
112
170
271
115
170
150
150
229
229
150
261
147
150
181
208
254
193
123
130
241
250
112
121
150
150
194
172
121
168
217
228
163
112
208
231
235
172
181
233
150
174
210
135
137
210
112
139
228
228
159
208
234
171
168
139
112
208
167
121
123
215
171
208
170
136
150
239
250
172
210
157
195
203
112
222
146
172
121
147
205
177
170
208
112
170
159
167
236
167
195
121
150
181
167
170
150
187
186
150
208
186
172
201
121
123
226
228
112
172
150
215
159
112
165
168
171
121
197
121
112
170
147
160
193
150
171
150
171
292
150
186
121
181
112
188
130
186
172
115
186
112
194
145
165
150
195
147
172
123
121
210
172
124
193
255
170
226
208
124
121
244
180
135
210
158
178
112
175
237
194
150
235
181
170
165
208
147
112
121
194
159
112
174
160
208
124
174
217
121
263
150
112
194
115
121
150
167
158
137
172
165
150
195
237
193
171
245
130
172
172
135
247
150
282
172
150
194
172
143
143
228
121
195
217
115
165
174
150
237
112
150
176
192
121
112
250
137
165
278
278
150
228
225
164
115
158
112
218
176
150
164
121
242
171
160
200
160
192
210
150
260
299
172
112
123
159
194
112
158
174
242
217
112
219
192
177
124
253
170
171
121
168
112
302
167
202
121
205
150
172
167
112
165
167
158
228
172
228
197
112
112
228
202
172
121
171
121
226
195
208
181
115
170
210
158
150
150
204
219
160
159
112
154
195
190
276
187
206
170
170
202
172
123
171
215
165
208
172
211
208
112
172
177
215
128
194
136
231
171
194
150
135
176
167
193
158
150
203
207
112
194
209
212
124
237
124
124
123
170
112
171
194
184
130
136
121
121
276
121
222
172
124
112
150
112
195
225
147
150
207
239
121
112
147
165
196
202
181
112
236
187
150
156
191
187
123
112
170
150
214
150
135
239
171
167
112
121
112
172
174
207
202
165
112
150
215
210
226
214
167
223
208
175
112
212
168
170
187
159
121
220
176
121
158
194
172
263
210
202
220
115
123
150
153
115
178
150
150
176
112
240
187
115
158
171
128
170
136
112
137
147
210
152
193
131
177
123
176
150
218
150
121
176
165
171
219
228
167
202
194
240
136
194
156
112
179
115
204
212
181
201
121
228
225
123
150
218
212
167
136
137
112
123
123
150
165
202
205
239
196
230
172
123
242
112
187
160
121
112
150
208
198
210
172
201
112
121
243
178
112
208
194
171
167
170
167
172
159
281
233
158
172
112
214
237
208
210
137
212
187
187
123
115
207
159
253
195
208
208
135
229
172
181
124
112
224
226
202
150
195
150
212
231
150
187
172
194
212
195
201
112
112
177
215
172
172
165
170
201
112
210
167
115
174
194
272
201
229
186
150
186
217
223
203
150
226
174
179
175
150
152
115
192
112
112
165
237
221
172
123
135
202
190
171
121
150
150
228
136
208
165
192
208
135
176
203
178
208
202
186
186
202
208
234
203
147
150
121
150
150
160
150
115
136
186
135
167
174
177
112
135
112
156
150
121
200
207
172
150
259
168
187
123
167
112
137
121
212
167
181
167
195
136
135
210
172
150
136
212
208
208
159
193
176
137
172
179
136
164
208
217
179
207
236
112
208
130
157
112
112
263
189
228
159
176
156
208
195
121
196
121
121
167
194
172
128
264
215
267
202
168
233
181
146
167
150
123
121
210
209
150
150
112
147
167
170
121
162
175
178
170
147
170
150
230
208
240
112
147
193
187
112
228
268
231
165
112
194
165
181
172
228
150
176
150
181
174
123
150
112
159
179
234
164
150
194
112
135
192
190
137
255
150
194
159
112
194
228
212
112
261
172
248
152
203
245
121
174
231
226
150
121
150
208
172
230
257
112
112
230
123
170
175
121
186
164
165
147
112
112
193
195
172
167
112
219
217
112
121
159
136
194
237
136
167
202
260
150
194
193
225
136
172
192
227
121
121
170
201
187
207
150
112
201
210
194
112
227
237
121
274
186
128
208
186
198
112
123
208
193
150
167
121
112
200
237
272
175
121
217
176
176
172
146
171
112
172
208
226
176
124
220
167
150
197
171
150
210
218
150
210
210
153
183
214
172
263
213
158
121
175
123
167
179
112
186
121
112
112
150
212
172
123
176
198
112
162
121
220
172
121
229
208
124
175
172
123
223
112
194
208
187
302
187
179
214
121
236
112
167
172
137
216
137
135
201
172
194
121
150
152
184
172
215
171
112
165
205
186
193
134
121
135
150
235
238
201
193
153
112
194
234
171
121
229
229
121
237
208
121
187
174
135
112
150
203
229
177
201
278
167
208
200
150
186
150
179
170
147
112
136
217
121
112
112
159
158
228
180
203
135
187
130
150
170
193
174
231
167
208
156
112
186
158
160
172
167
237
150
150
150
208
250
121
158
175
172
210
208
150
172
121
123
181
143
181
186
172
177
225
157
112
203
281
211
228
183
167
210
123
250
121
218
172
220
121
174
181
172
172
194
167
160
171
121
208
150
193
136
171
167
150
240
167
172
170
160
236
158
242
145
202
150
176
269
150
171
185
150
124
172
226
156
164
181
167
123
187
170
269
121
210
131
150
203
178
150
172
167
168
150
172
171
112
121
193
147
167
121
150
186
112
121
131
170
158
152
150
250
201
167
194
172
171
150
150
160
150
136
121
243
121
150
203
172
112
228
232
210
240
208
170
217
210
130
219
176
208
121
139
171
115
165
150
187
208
224
177
173
193
181
238
226
159
175
121
177
167
230
181
165
217
176
112
112
170
112
150
186
147
136
231
195
172
186
240
158
189
123
208
112
221
150
187
208
165
121
167
208
124
121
230
171
121
184
197
130
245
208
165
150
112
150
137
150
214
172
150
172
199
136
224
150
165
232
208
152
150
204
181
150
239
231
202
121
176
121
195
112
115
186
176
150
150
160
175
170
150
158
112
150
181
112
112
150
150
203
178
207
167
259
136
212
240
195
167
278
200
172
179
208
150
201
112
172
228
172
187
135
170
112
237
237
130
115
195
150
193
121
150
112
176
121
186
167
193
112
230
170
130
121
167
167
228
121
233
167
150
198
167
112
112
121
270
137
150
189
115
121
228
208
112
164
121
152
187
164
172
150
150
123
158
158
214
243
167
112
267
112
150
130
194
137
172
150
205
297
123
130
198
231
121
172
130
172
175
208
136
112
208
231
254
218
167
172
112
208
203
112
181
250
153
112
167
150
208
186
165
202
179
203
208
259
194
112
112
137
184
136
208
176
181
208
179
195
170
123
150
167
112
121
112
237
219
186
136
112
216
112
121
170
176
233
150
150
160
192
158
199
112
170
158
170
208
156
228
112
208
203
112
167
225
171
144
212
123
172
192
112
150
208
208
208
218
170
150
232
237
207
236
158
172
112
112
121
210
164
208
164
124
136
121
121
147
171
137
171
147
121
192
231
112
259
134
238
193
128
164
165
195
139
135
121
135
172
202
112
150
174
239
208
171
150
176
171
161
193
112
189
160
182
207
112
176
112
112
275
168
112
218
112
150
150
170
192
175
194
177
181
238
181
123
150
221
112
164
193
237
150
195
150
121
302
115
219
123
194
218
229
197
150
260
112
135
150
172
244
208
150
150
208
186
198
234
222
198
252
171
164
208
201
216
243
150
159
257
255
170
208
194
150
167
150
305
186
112
255
150
176
172
231
208
194
208
231
181
121
150
121
196
167
172
165
165
220
247
121
204
150
136
240
121
167
172
181
172
187
269
280
170
234
121
218
135
167
112
195
237
193
171
177
150
187
172
167
218
188
208
186
255
112
170
181
181
181
172
208
179
187
170
165
193
167
115
121
201
194
241
203
176
124
121
164
297
213
208
171
208
171
208
121
121
165
115
195
112
150
150
182
229
192
143
165
112
189
165
160
150
220
228
194
164
121
121
150
150
112
192
121
193
121
150
112
147
184
150
172
187
158
193
195
181
123
215
165
150
228
121
226
194
234
112
212
186
172
135
152
156
164
135
193
225
158
167
158
203
207
121
150
172
181
219
156
130
121
230
181
132
159
202
207
237
194
208
167
167
195
187
255
150
121
217
210
112
184
150
159
212
210
121
121
164
208
150
135
165
211
186
121
164
228
265
192
150
212
164
186
124
171
121
135
174
204
194
208
186
123
171
178
174
208
181
194
150
147
208
164
192
228
165
170
171
156
176
167
193
264
112
201
177
123
152
172
159
194
167
219
210
150
150
195
158
194
150
214
121
177
193
231
298
150
219
115
241
172
221
112
212
150
121
112
136
150
150
136
186
228
187
171
112
121
160
176
219
174
150
208
112
121
186
150
225
170
115
112
172
194
208
139
121
158
124
170
194
167
172
276
112
112
152
239
158
165
167
226
121
235
210
195
187
170
228
124
208
121
236
150
124
171
112
121
196
121
112
171
184
115
112
150
145
167
203
135
195
228
186
112
249
150
177
124
147
218
150
186
121
143
170
224
130
206
182
121
121
157
241
215
177
208
186
208
158
172
252
239
150
250
195
150
121
123
112
263
283
150
137
150
202
194
130
121
158
176
193
112
123
208
150
156
173
139
147
175
208
165
150
228
194
218
172
112
208
221
150
171
186
194
160
176
208
263
159
135
158
253
121
171
112
172
170
213
172
150
194
208
194
176
208
121
147
136
239
223
206
159
208
121
170
170
112
112
112
112
158
112
231
181
115
161
172
135
202
136
112
112
160
165
228
250
181
208
225
172
121
167
212
174
187
186
128
121
112
208
167
208
264
115
195
121
150
150
112
112
150
208
231
200
130
212
121
112
150
121
121
135
181
208
150
115
199
121
167
112
208
170
150
121
263
262
237
239
228
174
208
136
135
121
217
158
229
217
176
171
156
181
231
112
152
121
112
177
112
171
214
202
208
201
195
150
225
186
112
201
195
229
208
121
231
136
167
147
182
165
172
239
202
150
128
223
237
135
220
165
144
187
172
170
193
171
170
224
164
150
121
195
210
123
172
276
176
201
136
257
150
170
222
112
208
255
176
150
208
168
228
185
170
167
164
208
150
212
167
302
193
137
115
135
208
150
121
150
193
112
150
150
135
158
174
158
150
135
112
207
147
115
150
228
208
121
184
176
184
210
250
222
194
178
256
176
124
174
171
208
233
112
112
220
172
121
137
170
164
171
167
198
278
147
202
171
176
226
167
112
179
278
168
165
112
236
202
172
175
175
135
150
121
157
159
239
171
172
152
150
150
150
136
172
123
193
112
186
188
197
115
222
199
159
201
112
164
233
176
161
112
170
177
204
282
255
121
174
115
229
167
172
207
192
112
172
150
190
187
174
112
121
171
208
208
172
135
195
187
150
250
297
150
186
112
170
150
187
145
112
233
112
112
112
212
150
196
158
158
165
170
150
128
177
224
175
166
229
160
112
215
176
150
171
228
170
255
112
112
187
135
208
170
218
194
150
173
158
147
167
121
208
112
210
208
208
165
150
150
121
182
203
210
203
165
112
186
167
167
182
187
220
131
150
170
299
237
135
164
150
276
184
203
128
124
194
206
201
112
121
172
150
150
225
208
210
147
194
121
121
123
241
193
150
228
158
224
121
208
150
135
123
146
112
172
172
112
168
167
170
217
165
170
121
112
177
150
158
172
115
203
152
112
147
219
112
210
137
112
176
236
150
159
150
121
208
231
190
250
185
112
121
160
274
164
171
172
112
203
135
150
150
112
237
121
174
124
112
208
187
167
208
194
112
115
121
158
137
150
251
240
193
196
121
265
190
208
150
112
112
112
186
205
147
150
223
193
211
112
195
150
121
184
150
135
201
156
150
152
150
165
170
224
217
167
128
165
112
181
194
150
191
165
150
150
112
203
195
112
237
181
177
226
167
172
172
203
225
121
242
168
172
139
171
225
241
112
121
112
150
112
203
228
112
235
237
212
208
121
203
115
205
156
187
165
150
228
112
174
112
150
137
167
152
150
171
249
112
172
237
192
227
207
205
205
250
150
139
186
150
128
143
123
237
172
176
207
184
128
281
276
209
190
150
174
219
228
112
208
121
208
175
150
112
112
231
181
112
188
192
180
112
157
121
239
202
217
170
208
137
124
213
174
212
121
121
177
181
171
150
193
172
124
203
214
167
112
164
156
147
214
208
194
112
210
172
194
121
174
112
184
195
124
165
159
123
231
152
208
235
158
215
231
150
144
121
128
208
123
121
150
181
165
150
237
115
121
170
219
112
193
171
194
147
172
323
182
112
212
171
137
208
302
112
195
174
112
250
112
112
136
226
150
170
164
123
208
184
204
121
208
207
167
124
131
175
187
276
214
171
135
158
217
147
146
194
156
181
186
170
112
112
112
174
130
171
150
202
186
112
212
123
167
136
136
165
242
150
115
137
172
167
170
112
194
150
171
212
112
187
167
261
150
112
208
170
150
219
112
195
172
150
150
229
176
179
112
170
172
156
181
192
150
112
112
121
123
233
178
204
152
121
261
170
187
174
208
150
165
147
112
176
167
272
164
210
112
253
160
172
167
124
150
121
174
121
112
172
250
208
170
187
203
112
112
190
202
186
152
208
223
150
195
115
208
150
172
208
186
171
282
240
136
232
187
201
150
172
190
166
121
139
135
220
208
121
162
161
121
135
121
128
146
161
179
144
112
212
239
215
208
208
143
187
203
181
150
150
257
176
112
176
171
150
181
219
176
176
112
203
240
150
121
115
170
121
167
137
112
239
195
194
112
159
121
150
121
194
150
150
112
150
220
150
194
112
170
194
208
210
136
112
186
186
150
210
176
186
181
165
265
112
167
208
123
172
208
205
225
193
121
150
189
226
150
112
241
194
212
218
159
112
208
196
150
123
171
112
123
170
150
208
112
172
255
208
226
199
189
112
236
172
177
181
172
263
201
136
178
172
112
187
170
137
239
167
112
150
186
130
238
190
150
112
112
177
195
228
210
208
201
172
121
228
112
172
271
158
121
112
171
137
112
203
217
171
243
167
167
150
112
123
219
164
112
193
209
260
194
121
115
229
196
194
207
228
203
164
211
226
150
150
212
214
112
164
210
171
160
203
170
112
232
161
205
121
172
202
237
201
130
171
165
112
192
121
175
170
121
194
195
167
179
181
112
250
121
167
226
147
168
150
112
205
208
220
167
171
195
124
121
112
121
121
144
192
208
250
162
167
160
208
207
193
171
150
121
194
233
250
223
174
177
228
181
121
156
162
213
186
181
112
157
167
135
245
112
210
121
231
208
201
239
150
121
228
150
167
167
165
172
150
181
256
152
136
136
128
121
121
194
121
172
170
219
220
137
124
239
203
131
150
130
170
207
112
143
112
128
210
176
121
121
274
197
164
112
112
128
171
167
187
121
172
150
181
121
121
123
123
170
150
165
195
112
165
136
192
276
121
170
121
237
150
152
150
239
121
233
186
166
121
164
115
181
262
234
186
172
228
121
112
196
136
112
150
150
278
170
167
250
202
195
194
255
194
150
158
150
150
204
186
175
195
223
172
128
171
172
176
208
230
164
158
168
170
156
121
164
112
167
199
170
147
186
159
181
277
240
167
112
171
150
159
235
123
150
237
115
219
193
182
276
250
195
112
121
160
172
136
136
150
194
179
208
181
123
123
237
167
253
173
276
175
121
136
137
121
157
123
235
150
201
208
112
237
187
112
112
170
164
168
150
128
147
208
186
174
289
165
112
150
124
150
240
302
190
198
172
241
135
160
208
150
192
121
176
112
150
208
143
177
177
176
112
159
123
231
177
275
146
121
156
176
174
167
250
158
170
186
239
112
192
121
132
208
187
170
172
164
208
112
112
210
237
195
232
198
323
254
112
207
112
124
181
177
160
167
186
112
212
172
175
208
172
239
202
123
172
172
244
187
208
219
112
153
121
175
112
237
181
147
270
135
121
232
167
112
187
208
150
202
165
124
181
123
171
194
226
253
112
217
121
168
181
196
121
235
165
181
186
112
112
150
177
150
187
202
208
121
212
211
150
195
152
112
234
226
174
176
124
186
158
216
250
208
121
121
128
208
150
123
143
150
177
165
174
150
158
136
150
228
121
112
229
165
240
137
187
193
172
150
172
189
145
147
121
150
121
203
214
177
212
172
202
150
121
255
194
264
112
172
175
170
181
167
152
150
164
121
208
123
217
171
170
161
215
121
121
159
203
173
167
137
171
202
121
150
167
211
167
115
112
150
203
213
137
172
208
181
112
150
225
226
143
171
150
255
210
146
193
150
237
112
112
187
278
182
176
112
237
112
165
121
187
112
121
176
210
192
157
239
195
160
172
172
152
115
172
164
187
158
167
123
231
189
192
208
195
170
227
181
150
187
115
223
112
226
121
137
210
112
237
218
194
123
172
231
121
176
136
121
170
156
124
172
218
174
150
150
176
150
150
123
193
160
172
150
208
112
123
150
112
112
123
216
172
121
178
172
135
150
200
220
147
135
208
187
240
217
276
146
136
121
212
278
212
165
208
228
136
176
193
112
189
112
265
150
237
121
167
170
224
168
194
276
176
172
121
228
194
236
195
192
177
150
158
263
206
165
176
265
171
112
157
165
172
150
168
208
170
175
170
190
171
150
152
112
208
195
137
115
164
167
170
123
112
135
193
170
168
150
121
186
159
158
112
202
124
191
176
172
181
136
172
121
123
112
112
231
171
167
195
218
135
193
192
186
225
177
164
218
147
158
172
186
225
171
143
172
236
226
150
170
218
112
208
238
187
181
187
194
160
122
208
172
136
121
112
208
176
208
200
157
150
192
197
176
201
195
112
128
219
112
165
158
112
150
210
225
253
115
165
172
177
208
210
208
208
152
121
112
165
212
172
112
167
135
237
201
143
172
272
203
278
228
181
121
208
135
167
207
193
171
150
112
112
150
213
205
150
208
186
123
208
227
208
171
232
150
168
195
158
137
181
201
167
121
205
201
201
112
192
208
186
121
150
195
172
219
112
175
128
236
112
150
208
208
208
177
202
121
215
201
150
150
150
121
172
208
208
208
121
211
278
194
193
237
137
171
210
225
268
187
226
195
150
250
152
164
147
123
222
267
199
112
121
112
229
152
172
193
112
172
171
160
250
112
121
112
112
150
170
150
121
203
181
172
216
156
172
136
121
150
167
150
112
208
226
150
194
150
256
115
164
172
172
136
143
112
150
186
112
150
172
167
121
174
164
121
212
112
150
136
228
112
201
131
158
112
121
281
174
136
146
170
121
220
247
136
172
239
150
147
220
176
257
165
208
170
208
168
112
181
195
281
121
150
121
112
112
112
151
112
156
167
231
150
195
124
112
150
112
186
255
178
158
172
275
240
112
165
186
121
112
164
170
178
135
228
150
210
208
150
159
112
112
205
170
167
208
150
202
222
208
150
112
194
194
112
181
121
187
172
171
205
159
208
208
201
186
123
150
112
165
278
171
170
208
194
112
164
195
164
112
208
192
158
171
178
150
165
195
150
164
165
123
170
112
207
150
167
112
171
150
228
208
257
150
228
171
121
159
137
160
210
127
181
165
139
152
123
137
121
172
150
150
278
164
131
112
235
147
167
233
136
160
112
121
170
187
176
184
229
136
139
228
159
150
193
241
217
187
218
165
137
121
112
170
172
124
264
112
150
194
216
171
168
181
250
228
173
172
135
177
136
192
136
161
208
121
176
214
115
161
205
260
160
160
112
257
212
160
172
172
208
150
176
219
150
150
228
121
150
112
185
194
150
186
121
128
172
112
168
172
194
209
121
137
121
172
112
212
136
150
233
112
112
210
112
150
112
217
112
202
187
232
112
150
121
150
171
181
170
219
167
239
171
150
210
212
232
214
156
237
218
112
178
171
189
150
243
208
128
174
167
121
192
234
194
137
172
181
150
212
150
167
136
115
167
150
135
137
150
208
152
121
135
136
228
121
176
158
193
172
150
181
112
212
206
179
167
165
150
144
164
170
176
194
255
152
201
226
170
228
162
178
150
231
112
194
214
201
112
195
150
226
165
112
237
278
207
195
240
181
225
167
218
152
161
267
123
112
255
193
112
170
211
167
136
208
146
172
158
121
165
235
195
232
128
220
242
112
201
150
121
112
150
123
192
135
238
194
272
121
194
230
150
112
150
112
112
253
112
181
150
237
160
187
147
189
189
181
192
150
171
112
150
175
172
167
112
150
150
121
137
165
208
177
165
123
150
170
170
208
172
170
121
112
112
150
167
167
150
150
172
208
220
165
194
205
171
112
181
150
170
219
174
137
228
170
208
208
112
165
121
255
231
176
194
137
210
112
220
128
150
195
150
150
168
208
167
208
124
179
176
112
208
167
208
124
172
150
232
112
121
115
181
172
130
231
220
186
195
168
156
184
172
232
165
193
136
150
150
144
212
263
219
176
168
128
216
215
179
212
144
229
226
121
186
112
160
147
231
112
165
121
167
150
174
170
170
212
206
121
172
172
192
112
218
205
218
137
121
135
150
115
218
195
137
150
228
121
112
171
247
112
121
220
209
193
150
276
171
177
208
236
278
150
181
228
186
281
121
164
171
156
203
150
210
174
171
208
167
121
212
176
165
229
172
165
250
150
195
158
158
123
228
171
226
170
123
208
112
167
150
157
203
258
177
208
159
240
247
237
112
194
224
171
195
181
121
250
170
123
195
195
170
150
214
216
281
112
225
112
112
203
208
112
186
231
130
208
112
112
150
239
150
150
181
121
172
186
275
150
257
150
210
190
124
207
172
195
172
124
150
150
192
205
167
121
150
176
136
177
177
121
121
167
150
152
112
171
195
112
210
150
240
112
208
150
112
208
164
195
194
150
150
186
150
222
170
170
121
150
229
220
150
170
150
170
112
177
172
150
171
170
123
205
150
175
172
146
203
203
198
161
187
183
170
112
152
208
216
176
150
187
147
194
150
225
172
220
150
208
256
208
232
121
219
150
208
170
172
164
112
193
123
238
208
208
231
112
170
228
136
121
258
208
208
190
210
212
150
150
202
164
210
208
263
121
170
123
170
223
194
150
170
202
115
121
172
121
135
239
208
150
176
181
164
208
112
186
208
121
170
239
212
123
150
213
112
150
215
208
172
209
174
170
152
150
194
225
207
170
112
167
170
121
242
121
175
150
172
124
112
172
186
263
201
121
217
194
289
150
210
165
121
123
150
241
178
205
175
112
194
176
112
128
170
167
112
192
218
143
165
112
235
170
121
150
158
160
136
123
187
201
152
210
176
150
186
228
150
150
150
123
209
172
250
167
121
168
205
168
181
115
193
124
152
177
123
198
150
227
208
170
184
171
194
208
172
136
121
210
194
202
121
194
200
176
171
112
115
202
240
121
135
186
150
195
250
186
174
121
147
185
170
124
235
171
150
156
243
172
167
193
170
121
181
170
165
150
150
219
187
170
208
203
112
172
193
124
189
176
112
167
176
112
208
202
201
199
150
212
202
184
167
170
121
181
157
220
121
150
172
121
208
250
150
121
181
208
150
171
124
195
112
112
144
165
177
203
194
174
160
227
229
201
164
167
150
121
181
121
130
123
217
176
176
208
121
208
184
234
124
131
170
121
156
150
112
150
194
150
167
121
210
150
170
136
186
112
231
136
192
193
147
135
208
123
171
186
150
212
121
121
115
172
194
112
159
112
137
170
112
211
171
150
121
164
130
112
159
186
150
196
210
150
172
195
181
261
124
112
150
112
250
150
208
214
208
278
150
112
186
115
150
216
147
130
121
150
228
275
230
186
150
160
112
170
172
203
212
190
247
170
234
195
150
123
202
181
170
121
171
115
121
195
181
170
121
175
176
112
112
170
143
123
177
121
193
172
215
150
210
238
210
181
208
123
167
112
150
186
220
160
204
150
208
174
220
152
123
208
170
172
152
172
233
208
159
172
211
128
150
279
204
150
208
250
181
159
121
172
167
240
228
172
172
171
112
167
121
165
219
167
121
165
195
167
164
121
172
172
172
171
121
208
181
158
158
112
112
150
194
226
202
150
215
172
136
121
187
160
186
150
173
243
250
186
207
198
150
223
167
112
121
194
198
112
128
158
232
150
193
211
196
181
171
156
121
182
172
128
208
112
192
150
219
194
147
112
237
221
195
136
208
207
165
175
210
214
203
115
147
121
150
115
165
208
186
174
241
150
147
232
222
121
112
150
235
150
121
186
195
228
186
195
231
136
160
170
172
121
136
231
112
150
115
208
165
222
171
150
204
250
121
121
152
150
194
167
147
228
112
157
227
201
121
150
208
171
181
177
150
150
167
167
121
167
205
179
150
208
181
197
192
158
231
279
150
193
186
150
112
165
171
237
172
121
342
150
181
172
150
121
186
121
172
194
218
208
231
255
198
164
231
171
121
168
194
112
164
205
112
167
136
170
168
172
172
192
167
136
231
167
178
187
253
112
203
187
172
178
150
121
170
234
115
123
150
165
257
121
150
194
256
150
237
228
189
174
135
250
121
154
121
150
128
167
208
150
208
150
167
167
137
128
112
208
168
170
238
160
210
170
136
179
164
115
150
172
170
124
112
208
281
173
150
243
121
186
123
208
201
150
164
167
167
121
171
218
176
150
228
165
150
137
136
170
211
136
167
150
187
239
150
192
172
195
184
240
195
167
224
112
112
121
210
208
159
112
202
216
207
174
208
137
220
176
121
136
112
193
112
160
121
208
206
158
150
172
240
121
193
112
225
130
121
150
136
150
150
208
137
123
194
168
150
239
208
202
214
121
112
229
208
236
193
112
187
172
165
168
171
276
170
208
123
167
150
150
161
121
208
170
172
176
150
187
215
220
150
115
167
121
212
170
219
172
172
177
170
123
190
256
231
177
112
170
207
278
181
123
201
150
243
178
172
165
208
170
225
211
121
176
208
205
279
115
194
208
178
172
207
232
208
209
150
237
150
115
239
175
193
181
150
234
220
121
150
174
214
121
231
150
170
207
143
237
150
121
170
112
203
171
220
121
207
192
150
167
136
181
150
171
144
186
181
156
121
174
121
150
150
123
238
233
175
146
149
137
121
167
172
137
208
216
130
186
177
149
179
121
177
278
112
231
167
205
144
194
167
170
194
164
219
205
112
186
123
172
165
121
170
123
123
192
237
112
167
137
193
112
174
250
165
208
208
181
219
194
150
121
202
165
121
172
176
121
195
112
208
150
157
121
208
252
187
208
258
112
210
147
182
165
226
197
164
150
181
150
236
121
150
208
172
164
250
153
170
112
112
137
208
137
121
224
150
112
123
112
193
121
165
170
115
245
231
171
121
194
112
164
241
187
130
136
211
193
156
121
178
127
150
172
208
121
212
167
150
130
219
121
176
167
177
175
137
158
193
172
121
123
112
112
250
194
207
192
168
210
112
171
195
199
225
176
158
150
225
123
259
172
186
150
228
121
135
162
218
207
172
302
208
112
112
231
218
199
236
215
170
186
192
216
112
172
264
150
172
171
201
194
232
121
150
194
170
121
121
112
172
112
144
150
275
112
228
225
181
121
168
226
276
136
176
121
167
172
171
231
121
225
121
209
239
112
198
156
167
172
112
208
112
230
207
121
170
170
263
250
150
150
208
112
150
150
150
208
112
121
121
176
170
172
124
181
225
243
135
233
171
135
121
150
201
112
150
208
193
121
171
121
259
298
274
193
208
194
160
150
123
282
150
172
150
123
161
208
121
171
208
128
208
237
218
208
170
181
167
137
112
137
276
170
150
181
150
208
210
213
130
121
135
246
167
194
121
172
172
187
174
205
112
232
231
165
202
186
112
167
139
238
255
297
170
249
208
170
150
159
150
112
172
228
210
250
186
156
243
121
172
208
212
172
176
187
228
262
156
179
115
172
202
172
202
123
203
219
181
183
135
135
229
164
159
194
196
231
250
225
201
121
188
170
121
179
192
121
205
208
208
150
208
294
123
181
112
223
121
230
150
186
197
172
121
232
112
171
173
150
208
181
165
170
170
121
176
208
170
220
150
123
178
112
150
203
218
165
167
152
112
150
112
159
121
167
112
194
176
179
208
112
224
210
229
219
160
219
232
208
121
194
193
150
213
115
172
276
130
172
121
177
185
150
172
112
181
176
181
123
195
181
172
181
121
216
192
115
245
207
112
167
150
255
228
218
112
128
208
208
170
123
158
168
209
123
237
158
214
121
194
128
150
172
208
112
137
208
174
226
150
208
171
181
152
194
208
179
150
150
112
210
112
210
187
202
130
112
237
165
130
150
179
203
202
178
167
112
167
209
250
172
150
233
212
208
112
112
150
201
234
193
147
205
150
176
225
192
137
170
172
164
112
121
172
165
112
196
112
150
150
195
112
218
123
170
201
201
207
231
219
167
187
150
150
121
190
194
123
112
189
179
240
186
112
176
202
240
208
186
124
172
228
150
171
112
121
250
160
193
164
123
260
152
193
194
167
150
112
121
160
176
167
112
217
170
176
199
150
208
170
112
150
201
208
112
167
167
203
234
231
219
170
194
228
195
202
178
232
186
115
121
181
150
172
187
147
112
184
121
150
192
170
112
218
171
112
181
170
136
276
192
192
228
150
208
150
255
215
172
232
150
176
175
220
136
121
211
195
164
137
172
112
121
150
121
150
172
192
160
171
196
150
112
201
208
112
226
147
137
194
121
193
121
193
195
241
150
209
217
159
186
187
165
218
205
165
193
219
241
136
159
193
144
203
190
167
136
180
137
175
181
206
112
208
167
170
175
150
259
150
172
229
209
150
121
212
216
150
158
263
147
172
165
123
167
204
150
165
170
135
212
256
208
115
181
193
175
201
135
210
268
199
165
278
198
137
147
188
256
165
150
181
123
112
121
167
276
150
150
131
136
150
172
121
197
181
124
203
228
143
144
237
150
172
115
123
112
167
212
170
150
112
212
250
123
259
178
210
200
121
159
211
176
112
164
231
176
150
189
172
123
174
179
205
150
165
203
210
150
171
190
203
170
237
124
121
186
226
124
112
210
136
194
112
161
198
172
187
147
150
187
202
274
209
228
181
150
302
121
208
239
150
194
123
150
170
137
112
150
177
177
201
123
128
150
236
112
171
197
171
172
121
165
170
176
123
168
150
112
144
167
208
172
212
184
112
112
121
202
112
150
187
203
167
196
147
201
165
112
199
207
178
146
150
159
167
170
164
172
121
150
160
168
237
170
123
150
179
112
123
135
112
167
218
172
227
170
112
259
150
164
276
186
150
182
187
158
152
115
156
213
150
171
143
112
172
170
170
215
195
115
115
112
121
231
150
121
167
176
247
159
112
177
121
146
177
203
236
210
112
150
219
112
177
112
172
150
171
208
150
150
112
135
112
167
162
172
147
150
186
170
186
183
193
236
228
217
174
208
201
115
228
115
137
167
176
192
112
167
219
201
150
112
112
186
112
167
172
150
156
150
237
181
194
174
193
146
170
201
208
187
136
247
156
123
150
112
241
153
150
250
112
182
192
112
172
181
167
194
210
267
209
170
124
128
202
200
202
264
121
172
121
115
176
150
219
112
121
245
223
164
112
170
128
143
186
257
112
218
165
150
225
150
194
150
150
112
112
115
112
207
228
184
183
121
216
150
185
112
150
186
172
181
121
211
197
176
208
193
181
172
112
171
255
121
121
212
150
121
147
201
150
213
136
228
112
159
150
150
121
112
112
228
112
152
172
112
160
165
112
150
252
172
231
150
167
135
225
185
150
121
112
262
160
150
208
165
150
181
177
186
201
186
171
168
123
228
210
112
181
170
167
193
165
112
176
167
176
136
176
170
112
150
208
115
165
167
112
165
172
272
176
185
181
194
170
172
233
121
234
121
210
112
112
234
156
237
274
150
121
243
112
112
124
130
253
160
227
188
135
170
112
135
150
186
123
231
208
202
121
186
158
181
193
208
255
170
194
186
181
181
196
186
190
150
128
136
171
212
190
158
200
150
172
194
232
233
112
150
216
170
135
137
194
203
186
212
171
112
150
112
167
186
112
189
112
195
172
302
121
150
227
164
112
208
170
248
160
172
121
135
212
186
150
147
121
237
237
112
121
237
171
150
179
156
137
218
150
228
150
170
167
231
150
232
181
150
258
150
112
178
159
121
150
232
150
202
212
172
243
208
150
236
121
202
172
172
257
143
217
164
171
112
195
172
194
112
154
171
123
170
186
182
174
208
112
158
181
112
112
176
121
219
176
130
150
194
150
112
124
137
112
136
112
281
136
137
202
172
228
168
214
231
223
250
202
170
130
150
181
179
203
179
115
159
112
191
196
135
193
162
150
121
220
121
123
194
130
240
194
210
150
167
167
208
135
137
158
124
150
172
229
112
150
176
208
205
123
152
193
150
112
121
172
123
171
208
219
210
263
182
121
181
112
177
250
181
150
254
209
208
172
167
121
195
172
167
159
135
112
232
190
209
112
112
240
194
209
167
112
170
121
203
234
208
208
150
150
172
167
174
168
124
123
168
193
167
208
172
121
150
255
217
123
213
232
112
237
193
177
172
208
228
208
187
128
208
203
121
194
237
208
187
192
112
150
203
208
171
150
219
164
121
135
150
216
230
276
194
112
121
160
255
135
181
150
112
159
137
210
167
181
112
207
178
112
112
170
172
171
149
121
159
121
170
208
171
123
251
150
165
137
208
228
135
147
255
195
159
121
121
121
267
225
267
121
147
190
189
194
121
202
121
150
181
213
112
156
175
150
237
202
121
208
194
150
171
203
112
167
208
219
193
176
228
150
150
226
167
208
134
165
186
194
121
167
121
123
150
150
176
136
208
181
189
263
210
204
159
208
228
165
121
172
181
172
121
124
170
236
130
198
168
192
167
171
112
167
263
112
112
172
172
175
171
121
164
136
121
112
194
208
220
174
193
172
147
255
170
237
121
181
150
162
112
135
186
231
231
112
210
150
165
208
121
131
170
159
112
121
170
135
176
150
221
121
123
177
112
147
150
192
161
255
112
167
212
121
187
164
115
172
234
202
239
170
150
239
170
205
201
195
232
150
150
112
252
208
112
193
206
112
204
121
220
179
150
207
215
121
135
153
170
121
167
210
115
150
170
170
170
196
202
150
115
150
112
255
172
181
226
208
193
171
195
203
183
217
121
158
112
123
239
164
187
112
167
147
250
239
193
228
238
112
136
174
208
150
150
173
176
175
112
205
208
150
194
214
209
208
150
208
150
112
210
176
167
150
130
172
171
136
112
193
112
194
167
121
179
193
150
115
197
150
244
176
178
150
150
201
203
210
171
172
164
170
115
167
170
260
179
255
242
172
187
237
171
121
124
112
159
165
263
234
208
121
219
112
121
208
112
234
220
124
174
208
171
181
112
172
167
150
175
171
231
176
224
165
205
172
186
188
184
171
176
158
166
176
228
167
123
150
201
208
260
112
192
210
210
170
203
172
240
112
192
136
222
250
150
240
187
158
208
168
174
174
207
167
170
202
160
210
205
121
208
121
150
205
165
172
210
121
186
237
115
112
186
173
146
150
174
226
208
150
199
121
158
112
177
206
159
208
212
175
186
208
167
215
171
137
112
208
237
150
177
143
150
167
135
170
112
208
219
121
253
231
170
150
194
150
143
210
169
172
186
208
202
170
171
137
150
112
172
167
158
181
218
208
231
229
186
192
243
203
136
136
208
171
170
208
112
150
131
121
187
207
210
170
112
231
208
147
115
112
195
150
112
158
226
143
186
250
150
239
272
197
228
167
181
112
167
207
207
255
135
150
201
121
147
150
231
123
165
170
221
219
190
253
150
243
170
216
181
123
150
208
228
216
228
167
171
182
112
208
164
152
112
195
174
150
150
208
170
195
181
150
170
187
112
150
249
230
112
160
121
165
121
223
170
121
150
212
208
212
172
220
121
121
152
252
158
168
193
115
150
172
176
219
205
150
214
150
112
163
237
150
121
137
167
123
123
115
150
121
170
193
192
150
150
150
172
137
201
167
121
112
255
121
121
187
193
220
159
123
208
150
175
121
121
186
190
150
112
177
135
199
200
165
135
208
208
137
178
186
123
203
135
112
186
168
150
170
171
112
205
121
150
176
208
112
240
112
210
228
147
181
112
221
115
195
160
239
170
179
163
201
275
202
210
121
208
112
172
150
172
237
121
201
177
176
150
150
121
167
135
204
150
158
173
172
234
220
123
115
212
121
150
249
150
164
112
121
185
150
144
181
123
208
193
150
223
177
243
237
207
135
112
186
150
112
193
167
235
112
123
230
167
150
186
208
121
219
150
174
228
157
150
167
115
121
112
172
192
212
175
150
172
208
150
171
193
150
197
147
171
201
176
172
150
123
283
210
205
141
203
167
176
121
150
150
150
201
194
172
174
115
121
217
227
121
170
171
121
121
237
187
255
170
152
112
147
167
124
121
130
115
184
112
121
224
174
150
193
208
171
150
258
223
121
150
121
263
112
112
150
112
240
232
218
213
156
167
150
112
175
150
112
208
150
162
172
192
112
112
243
121
112
199
172
223
112
150
150
208
121
195
170
299
136
170
172
112
164
176
228
187
194
237
167
172
135
115
193
176
228
172
172
175
215
239
170
225
195
208
112
112
123
172
177
179
121
202
275
121
263
219
164
158
171
121
172
214
203
228
212
224
150
176
121
187
112
208
176
179
150
205
136
145
256
172
263
112
264
208
186
208
124
158
123
121
112
130
171
194
121
158
187
194
183
150
136
164
208
170
213
112
208
184
228
178
184
203
150
112
208
195
192
135
150
194
208
143
192
167
144
150
112
192
205
208
255
203
123
150
157
159
112
112
170
172
174
115
210
165
206
222
121
208
150
235
150
205
204
164
112
209
167
121
239
150
204
112
152
171
137
196
121
150
201
135
170
170
193
236
172
203
194
184
112
170
170
200
209
150
244
201
112
165
146
171
208
167
194
239
121
203
170
115
203
164
167
112
171
237
121
181
186
208
112
194
112
226
121
150
209
225
186
159
187
186
150
121
228
171
121
152
112
150
150
171
171
208
150
171
143
208
112
209
171
150
208
194
195
136
150
175
194
208
150
229
167
177
240
150
250
297
181
189
210
215
165
172
150
208
225
198
123
135
123
112
123
186
150
193
175
220
112
236
215
202
112
186
230
237
171
174
150
238
153
170
188
210
172
167
206
121
181
167
207
209
121
159
115
141
165
150
170
112
181
215
178
172
121
213
137
170
168
112
150
112
208
161
171
259
181
127
192
172
150
164
196
150
150
237
212
167
121
223
208
220
121
150
121
137
131
211
206
124
172
149
208
225
130
150
150
167
156
156
112
195
203
135
162
121
167
159
172
124
187
242
172
264
238
179
150
112
171
172
171
150
238
193
203
150
135
172
302
172
147
172
218
170
112
150
124
177
112
171
156
121
234
150
225
250
121
225
207
186
165
196
164
208
150
172
123
112
208
172
244
112
167
191
171
186
231
158
112
193
180
171
136
195
150
179
167
239
167
112
123
121
172
208
231
194
236
231
121
112
121
270
124
210
159
137
231
225
167
176
165
229
112
228
135
121
218
165
150
195
150
150
223
121
239
121
150
123
112
194
208
160
123
186
135
168
174
222
255
172
170
121
223
165
203
167
171
172
121
172
172
112
112
156
193
123
176
171
152
208
186
302
195
150
192
208
121
139
194
131
150
121
150
189
207
208
202
150
210
302
165
212
163
171
123
194
237
171
229
264
181
210
112
164
150
121
199
194
208
210
186
177
172
176
255
150
219
228
193
135
170
150
212
208
164
150
112
250
219
187
170
162
170
112
239
189
172
121
210
202
245
167
150
112
121
112
237
150
112
195
255
150
156
167
121
171
170
112
121
170
212
193
182
123
263
143
234
170
112
250
217
186
172
219
182
147
194
276
176
150
143
272
112
112
147
232
170
112
170
150
233
187
130
123
170
210
112
121
204
223
112
236
128
172
157
201
156
186
175
121
150
167
172
167
167
225
165
112
150
121
153
212
208
137
112
176
208
208
237
135
112
172
167
237
176
177
158
227
112
186
223
150
150
164
230
135
147
230
112
192
121
135
177
121
194
160
217
150
186
194
172
216
160
150
194
246
228
132
150
234
170
204
112
150
121
167
176
174
112
232
150
130
276
121
176
203
112
167
150
191
216
178
237
208
137
158
112
170
208
115
134
150
158
128
137
219
206
147
159
150
247
176
112
194
208
112
112
187
135
124
208
167
123
255
190
203
170
237
156
211
123
112
165
167
197
176
121
194
159
135
233
137
150
231
165
136
150
128
183
208
217
186
150
144
123
167
159
112
174
121
170
121
228
112
172
170
150
159
192
210
231
181
202
144
179
112
205
208
112
157
121
208
112
150
165
192
123
171
135
167
175
230
165
320
203
217
214
187
170
112
186
266
150
172
164
212
121
194
215
112
150
219
278
124
143
112
150
150
181
176
209
179
135
167
160
112
259
186
137
112
150
167
167
193
172
193
164
174
137
190
164
167
172
174
172
112
112
236
219
198
112
150
172
137
156
172
150
210
147
167
112
260
192
124
200
115
238
112
150
228
208
144
112
171
121
232
208
137
121
137
206
121
112
186
168
121
173
112
172
150
121
121
124
121
192
121
150
194
150
121
193
217
207
208
208
212
174
208
112
192
191
228
150
232
196
112
150
176
188
177
234
124
228
167
187
216
150
150
150
115
179
160
208
167
208
121
147
205
172
208
135
187
167
121
137
208
209
208
236
170
150
168
112
208
193
159
128
217
150
208
167
167
252
198
167
202
182
186
176
112
208
115
136
121
158
165
170
167
223
172
150
177
168
115
150
212
208
112
174
175
193
167
212
150
137
230
121
165
203
123
167
208
170
172
170
147
172
172
175
112
164
187
193
238
172
168
168
112
121
137
208
168
150
195
159
112
228
130
147
172
223
150
136
186
172
147
193
206
123
203
143
255
186
212
150
121
150
187
208
112
150
214
121
168
150
112
167
208
185
208
206
161
150
228
266
171
186
150
207
202
196
150
112
123
242
230
115
210
164
123
241
121
150
181
168
257
201
150
193
168
150
201
172
121
137
135
205
237
195
170
124
187
167
186
121
121
121
158
112
264
195
239
208
112
112
112
112
172
212
194
172
233
181
112
112
150
121
186
174
167
121
160
136
121
184
112
208
167
136
231
174
171
170
152
195
162
150
112
144
171
144
172
150
172
159
207
112
231
150
123
150
214
165
152
150
264
208
121
181
112
115
112
150
121
156
150
147
124
112
121
233
112
170
209
159
165
123
150
150
165
137
128
112
147
124
228
172
208
228
208
112
194
123
171
150
263
121
147
244
200
121
192
193
150
220
112
176
170
158
237
220
172
164
243
237
208
158
208
182
226
164
164
167
123
150
193
208
130
121
115
150
212
143
121
275
150
237
208
167
263
203
167
170
167
167
112
197
124
190
176
208
193
203
115
150
172
112
210
112
257
158
165
121
112
121
222
112
158
208
186
121
121
167
164
150
152
177
192
112
247
121
220
171
201
121
202
121
195
263
165
201
168
171
124
171
208
172
121
121
218
194
172
202
152
121
181
228
150
150
121
193
170
217
112
179
112
170
208
171
171
207
160
171
184
136
192
150
219
158
123
163
208
150
150
193
124
218
174
215
192
121
179
202
212
208
121
219
135
208
219
204
156
255
176
170
150
167
150
143
112
112
217
150
150
172
150
208
167
112
229
150
168
150
204
175
150
172
136
228
112
250
121
170
160
263
112
121
204
219
147
192
150
168
167
150
221
181
181
167
228
121
112
263
193
150
157
240
147
220
193
171
171
243
112
121
181
201
179
172
123
112
150
135
150
155
121
136
115
167
226
150
121
171
174
121
112
172
218
219
210
150
229
208
112
156
121
223
167
206
218
176
172
236
181
175
187
195
171
208
160
171
177
222
221
171
136
150
150
121
112
121
265
146
193
165
172
220
179
121
121
150
243
170
112
112
150
115
165
175
150
176
208
208
171
171
228
193
209
177
176
208
187
174
112
124
137
147
202
202
181
123
194
150
171
208
208
164
160
210
164
115
172
150
150
121
112
150
172
150
158
239
255
263
228
172
112
223
181
150
176
176
137
112
220
208
186
137
186
190
208
156
150
237
228
202
226
191
217
225
147
150
193
219
210
123
174
150
171
208
208
147
112
176
170
150
255
165
112
159
147
167
170
228
150
193
112
156
237
170
128
136
243
137
158
165
212
272
195
170
124
112
231
178
147
214
112
150
167
186
159
170
150
274
137
208
202
207
208
150
207
194
150
174
112
167
172
187
201
174
208
207
123
121
115
150
158
121
159
167
150
156
137
193
181
121
121
130
177
237
121
193
259
150
128
112
121
143
121
193
172
168
136
171
156
226
195
112
121
170
112
121
210
212
174
165
218
247
199
171
205
189
181
192
249
188
143
162
221
199
166
255
175
164
161
204
236
203
287
183
222
238
129
146
145
198
178
146
147
229
200
210
168
172
210
221
164
176
219
194
320
213
231
207
247
150
244
223
215
164
146
184
146
221
161
151
145
158
213
164
178
283
225
176
191
202
115
221
234
183
115
130
115
255
199
173
247
204
189
129
205
144
207
115
129
206
194
189
156
164
173
233
202
214
240
158
211
179
163
166
173
204
161
172
219
191
162
145
303
133
146
241
188
221
222
210
168
204
184
153
149
281
210
183
130
179
241
168
238
217
213
225
217
202
167
129
191
184
230
200
175
211
146
193
130
225
185
204
180
213
180
227
192
208
155
208
217
129
227
214
210
173
183
215
176
143
184
175
143
161
129
144
211
230
151
173
159
115
210
185
133
158
186
221
195
216
211
209
202
191
198
182
176
182
188
209
130
185
206
200
175
178
202
173
191
210
183
252
168
184
173
213
233
129
191
185
174
204
188
150
214
254
176
178
204
133
164
209
242
155
172
191
187
176
164
262
230
182
156
128
243
164
228
225
184
186
156
142
221
207
156
192
184
224
130
191
143
141
179
146
173
156
242
245
220
146
204
177
167
240
204
122
188
191
288
256
130
129
226
188
184
133
219
258
161
194
173
156
173
180
156
247
217
247
212
200
152
180
115
207
245
133
188
205
157
201
191
146
191
181
184
186
158
155
221
205
177
162
178
133
146
205
202
168
133
176
204
206
162
247
309
146
217
224
183
129
129
194
179
150
207
335
146
205
166
172
200
236
250
178
180
279
255
160
235
221
217
129
143
210
183
190
169
259
222
129
205
180
115
209
177
256
197
203
238
184
195
194
189
178
225
235
157
179
204
241
230
247
168
197
161
219
236
180
173
241
220
172
214
133
184
129
129
194
264
190
186
179
132
200
193
228
184
246
210
192
146
238
214
226
176
256
188
230
129
209
243
227
168
189
184
259
164
158
186
173
202
238
181
247
158
191
197
180
265
186
168
226
129
173
184
172
221
236
217
192
194
184
164
149
204
115
258
236
234
227
204
174
146
205
156
219
156
148
186
162
167
200
156
165
226
204
130
174
176
115
169
229
201
210
217
230
130
187
195
146
231
204
190
270
184
155
255
186
115
201
187
146
201
210
163
146
263
184
181
156
176
129
205
176
210
200
162
130
146
204
202
199
185
176
210
192
184
182
143
143
200
249
238
199
217
238
129
143
192
201
335
202
175
166
180
285
122
264
182
188
146
213
252
167
115
230
129
141
176
191
206
141
197
198
270
182
183
173
221
182
231
186
201
130
179
149
213
199
129
235
246
193
173
145
129
214
214
234
217
200
189
208
128
184
267
221
176
146
193
252
243
162
183
161
234
207
122
183
230
210
204
174
243
190
169
156
238
141
130
296
221
173
182
192
178
146
184
264
190
225
183
210
180
202
200
173
143
184
210
190
207
204
254
210
176
160
187
200
150
209
129
133
150
217
203
210
217
130
156
122
130
153
214
222
217
176
176
195
130
203
223
170
228
218
122
174
131
236
222
145
130
262
145
250
130
150
176
132
143
185
130
157
182
176
210
238
174
182
197
181
130
217
192
239
238
129
208
143
195
222
235
161
228
222
263
147
129
129
182
180
130
185
173
155
211
141
209
187
146
153
232
238
160
247
236
141
217
212
173
200
202
178
176
145
264
263
129
211
185
211
201
281
241
204
184
258
206
122
200
194
173
210
266
146
281
202
158
168
133
265
233
138
122
262
256
146
122
220
198
164
203
200
275
335
210
302
240
201
219
115
176
202
206
231
173
146
187
189
155
187
161
164
181
188
233
161
181
258
133
173
209
166
211
200
198
221
173
155
217
277
217
237
211
200
224
212
181
173
168
216
173
201
133
217
186
230
194
133
235
205
286
145
173
229
183
176
242
217
145
158
190
168
173
238
202
300
204
235
204
129
230
146
160
202
211
230
176
179
238
141
164
232
240
144
174
179
130
173
180
176
225
212
168
200
208
130
201
208
145
162
217
206
166
174
198
202
216
167
239
145
158
164
195
188
174
201
263
162
129
115
132
143
190
173
129
179
194
201
222
174
122
196
202
143
239
204
129
227
204
178
224
184
184
184
171
261
246
150
145
260
206
182
211
173
146
140
129
130
191
130
221
199
176
169
192
157
146
217
183
180
248
189
227
171
256
162
180
211
144
162
242
192
202
204
138
179
223
233
184
229
163
210
146
176
146
180
237
210
146
158
115
254
216
129
191
149
151
145
228
191
143
146
210
211
262
225
217
168
204
238
200
161
185
133
166
264
146
155
185
215
185
183
230
274
168
195
194
191
238
183
210
230
143
176
238
173
248
199
170
180
194
129
248
211
146
146
201
195
178
225
143
173
194
168
182
170
239
199
201
204
115
129
287
191
256
146
203
201
173
175
130
201
145
256
217
152
224
122
245
146
210
133
210
207
247
184
191
143
143
204
133
204
211
183
158
129
255
210
164
182
183
214
168
173
158
158
224
297
164
289
207
220
152
225
234
145
133
216
221
162
210
200
219
187
254
211
155
146
183
205
194
158
210
184
227
186
174
170
229
144
164
233
204
205
145
208
252
261
198
162
164
227
133
173
146
162
204
173
242
204
149
230
146
233
200
192
214
192
174
225
173
189
189
221
201
168
335
252
158
183
219
210
168
176
235
222
225
173
261
178
162
224
133
179
210
179
228
115
257
129
240
173
201
160
200
129
122
176
190
166
240
217
176
191
130
221
178
239
204
202
245
211
180
201
133
264
129
189
189
236
261
130
143
229
204
195
184
255
193
176
204
208
205
226
256
180
255
218
230
248
202
176
225
128
188
202
246
247
225
129
129
169
240
128
182
220
149
214
146
143
178
230
204
204
141
229
153
238
218
219
133
192
238
179
195
188
208
165
220
176
159
186
172
256
130
145
162
182
198
249
146
184
207
129
224
132
185
129
214
248
160
185
191
238
184
214
193
189
211
200
168
222
201
146
264
155
214
164
166
240
199
202
211
199
195
215
129
206
173
146
252
170
158
162
164
246
115
240
215
275
238
178
129
230
204
195
179
178
173
155
222
186
162
129
237
261
184
204
211
161
146
165
165
217
204
196
202
204
150
166
205
237
122
129
159
210
179
233
128
270
190
130
173
207
200
145
180
247
202
211
197
160
129
133
155
146
230
184
208
143
198
173
184
182
235
209
198
179
221
214
133
200
176
201
162
197
197
191
192
145
176
152
183
218
301
164
173
235
179
190
246
184
239
204
152
188
206
193
173
201
185
168
129
181
145
217
155
145
197
225
188
237
243
194
185
219
192
164
175
183
197
187
173
215
231
146
210
254
115
150
265
133
129
335
129
205
167
212
162
179
200
175
219
325
138
172
235
193
206
221
179
173
254
200
145
240
201
245
161
162
176
211
268
165
173
210
254
209
130
132
146
194
191
247
129
158
122
234
194
211
172
152
210
202
210
195
227
245
162
145
218
151
188
156
185
202
173
129
230
194
179
159
221
184
141
221
169
287
176
198
231
283
248
129
248
259
300
164
173
129
185
191
164
184
174
217
173
129
201
145
219
217
176
167
250
159
265
176
206
168
133
156
206
173
259
324
218
242
148
145
268
224
277
191
212
255
251
122
143
204
173
264
146
214
168
129
264
115
181
141
247
171
176
146
229
251
168
158
210
215
179
247
257
216
239
197
198
173
186
145
252
185
242
212
179
129
132
138
222
230
186
222
188
211
130
202
156
227
250
185
227
194
234
174
129
157
204
246
228
187
129
172
209
201
255
256
206
192
217
204
150
252
176
173
228
122
129
231
211
191
210
259
158
194
200
145
148
219
173
129
246
239
173
162
216
192
211
146
201
179
146
254
176
152
203
211
248
204
242
219
224
245
179
168
169
178
242
178
145
190
173
199
178
188
217
202
168
161
221
240
260
162
170
200
183
212
192
212
173
158
288
249
146
130
221
238
155
217
216
160
190
129
184
206
155
176
144
230
182
236
173
130
209
189
204
184
164
180
186
225
182
210
147
185
230
163
201
184
239
192
259
254
130
115
202
184
234
128
232
231
248
192
165
218
122
157
230
174
178
238
141
195
176
257
219
155
245
261
174
180
268
153
204
146
146
217
188
257
220
258
161
186
153
115
262
180
304
191
173
216
174
166
249
146
176
145
192
160
284
229
178
181
177
215
189
162
222
156
239
131
268
202
176
238
236
211
129
173
180
254
173
217
218
146
288
194
145
206
207
171
221
210
201
197
176
231
141
238
195
217
288
200
171
212
185
183
182
204
153
246
164
229
197
160
169
115
250
190
168
192
208
153
197
190
164
225
146
168
207
179
235
131
173
236
186
201
158
179
173
214
168
165
221
153
204
222
205
225
162
168
262
168
184
238
185
201
151
197
179
180
203
191
208
161
215
207
183
187
172
214
182
222
173
206
158
129
157
174
243
219
265
161
163
236
244
235
287
166
195
181
177
209
221
222
183
210
228
267
168
210
185
201
171
194
186
184
176
201
172
145
186
153
195
173
185
201
150
202
202
178
233
265
232
258
222
156
266
129
176
217
208
255
235
176
161
211
241
179
197
180
145
115
145
146
192
247
190
133
247
129
175
232
188
252
197
133
129
168
164
210
201
150
141
173
203
155
173
217
151
262
159
274
202
224
223
197
226
199
258
205
335
206
173
200
204
173
176
213
206
193
184
146
146
190
156
218
180
208
209
204
196
176
256
300
169
238
155
186
173
202
200
219
201
246
176
215
165
254
183
191
249
232
166
247
220
233
287
191
146
174
242
165
176
183
215
199
223
210
182
237
210
195
161
222
130
257
129
200
190
129
220
179
226
217
263
260
173
204
206
162
190
206
212
200
211
166
133
168
209
227
185
184
161
200
232
173
193
179
289
210
231
233
263
197
133
132
218
224
194
211
231
146
204
214
187
203
217
210
217
115
184
237
173
215
252
214
193
266
200
169
184
200
143
236
195
236
179
133
308
119
174
294
242
161
214
266
158
168
171
165
155
191
192
204
138
201
161
129
200
256
231
202
143
182
162
209
129
155
200
132
130
188
161
234
256
271
130
226
173
156
175
197
159
169
138
122
176
173
254
204
146
186
200
141
189
166
231
170
242
182
162
214
179
192
173
256
166
204
158
143
242
192
146
239
218
162
202
229
238
147
245
200
173
168
270
233
203
166
202
234
206
187
150
190
182
240
156
259
216
146
211
246
202
146
178
180
212
167
179
146
164
173
206
335
241
179
158
211
146
130
287
181
210
184
243
190
173
167
272
236
246
178
222
235
247
186
194
207
151
188
236
249
231
164
174
210
146
222
208
145
150
179
129
204
146
161
156
181
115
183
181
235
221
211
162
194
210
163
200
155
205
168
188
217
168
179
184
200
230
204
239
208
176
198
191
129
129
168
184
173
202
256
192
187
192
133
201
185
185
168
147
188
129
218
162
211
158
115
260
204
133
247
155
204
215
202
206
205
162
183
222
173
210
216
231
179
171
214
182
143
130
146
207
156
185
192
215
246
173
170
262
179
192
168
198
183
158
274
193
233
168
169
168
174
202
201
189
149
191
156
221
244
161
210
185
210
207
173
258
209
145
146
160
179
176
197
225
261
223
247
271
254
211
250
158
218
184
295
219
174
167
195
182
176
174
258
195
201
252
146
251
180
232
138
182
157
179
210
180
178
129
201
229
210
205
238
191
191
180
149
198
236
187
157
228
173
205
260
155
256
200
115
183
145
130
240
251
233
183
255
178
225
145
176
207
236
173
216
186
185
214
129
176
252
204
129
193
193
217
221
191
184
184
212
214
188
198
230
208
192
143
146
155
234
241
179
208
162
206
129
230
122
141
217
217
171
248
196
146
187
201
225
130
122
204
130
130
158
191
180
191
216
176
229
214
133
205
221
191
177
145
146
145
138
254
205
145
213
186
276
176
278
206
185
249
169
146
168
176
158
244
202
185
181
287
230
202
237
179
178
146
158
183
171
161
130
130
195
293
145
161
244
163
303
176
267
252
128
130
217
171
236
229
207
156
146
146
212
158
206
231
173
176
166
182
217
217
228
199
180
194
160
204
223
248
162
162
197
258
205
210
156
194
172
146
174
177
155
209
200
174
182
159
242
201
242
170
149
230
155
141
182
129
187
192
153
189
194
129
176
176
146
195
183
204
268
198
186
226
130
217
166
221
244
174
161
177
115
176
183
209
221
225
185
171
244
287
176
192
210
169
202
209
221
210
219
175
181
186
261
166
274
208
207
200
280
146
146
192
222
230
176
129
219
178
185
173
228
198
200
115
231
184
143
138
146
210
204
133
176
172
208
275
202
158
145
184
176
181
214
178
122
188
184
195
179
132
187
179
256
223
130
253
206
129
287
210
204
173
156
149
173
167
263
197
203
210
204
162
186
238
220
211
198
144
183
179
204
274
150
130
197
186
194
146
183
201
214
150
211
271
155
247
191
209
241
214
176
129
146
246
186
181
129
238
130
184
264
129
178
178
204
211
187
312
167
153
179
164
319
175
218
183
230
192
191
173
129
173
199
193
254
226
183
129
167
143
132
129
199
191
160
182
146
236
162
173
143
205
225
211
143
216
169
209
206
189
205
222
146
201
146
195
166
200
261
191
230
146
162
259
156
221
228
174
214
245
238
231
181
200
238
184
210
129
219
178
257
213
248
191
177
228
169
258
277
171
176
115
168
130
251
184
185
217
133
187
156
195
210
115
162
183
130
239
193
204
230
207
162
173
207
196
170
146
195
255
158
237
130
175
146
227
159
186
221
130
179
202
217
176
144
177
185
262
143
206
204
172
204
157
207
229
159
204
236
185
173
210
166
236
162
166
185
181
176
176
182
201
160
179
207
146
145
236
184
149
278
205
178
197
206
244
199
181
198
128
173
166
210
155
217
173
150
150
202
158
162
270
275
227
300
224
219
190
258
178
173
176
176
209
188
199
262
184
222
182
238
162
168
184
162
239
158
233
173
182
178
198
202
173
195
225
115
180
173
156
187
182
225
156
228
204
187
130
133
160
129
216
275
173
205
214
180
141
219
130
145
229
200
115
210
130
284
172
218
129
183
217
180
238
219
259
238
218
183
167
201
247
206
205
200
168
229
197
185
200
248
211
189
194
203
146
217
133
245
196
214
211
198
145
170
201
146
203
224
146
206
265
202
219
174
178
130
236
179
162
238
173
162
204
200
184
219
164
201
130
182
240
183
191
258
130
130
235
239
155
241
210
181
176
158
199
115
210
194
217
243
200
249
191
156
184
191
163
129
169
181
284
141
275
162
203
211
230
182
152
169
257
179
167
211
190
122
198
173
218
248
129
222
141
143
146
141
176
184
149
144
255
160
245
184
251
236
264
145
178
155
210
239
253
155
201
174
130
129
242
164
206
167
179
145
212
232
226
212
243
187
129
184
190
173
173
217
196
242
181
259
183
186
211
297
202
206
172
201
210
185
222
264
180
207
208
115
231
255
191
152
242
192
173
195
130
176
190
265
203
129
218
227
202
210
169
191
204
158
206
211
194
158
190
238
247
209
230
130
146
115
219
166
155
294
168
242
173
256
183
185
190
178
237
232
261
206
257
187
179
176
176
191
218
263
132
205
179
173
151
145
141
115
145
173
236
237
176
177
158
198
205
244
158
249
188
165
192
182
195
178
204
225
202
176
238
157
264
179
217
165
173
146
189
206
211
150
218
129
146
155
225
197
190
139
179
178
200
195
237
201
206
215
216
236
192
204
228
204
173
200
130
173
191
178
172
196
171
261
146
262
191
183
195
218
146
158
144
188
208
133
146
129
247
164
164
164
235
204
167
161
173
115
226
217
145
182
172
218
141
230
269
224
250
230
217
246
130
231
230
161
143
150
192
155
204
145
211
199
205
168
171
181
229
156
187
142
159
193
169
191
184
256
271
184
232
236
231
216
208
200
200
173
249
261
198
146
194
226
220
146
249
182
130
243
217
216
182
193
183
179
182
182
212
180
145
182
143
183
178
133
183
130
145
248
261
240
150
146
210
230
129
204
162
160
161
275
256
182
211
164
163
143
130
166
210
141
208
211
175
227
211
186
216
189
191
160
179
158
192
146
245
190
191
212
219
268
257
198
230
206
234
245
282
179
188
183
246
144
143
168
163
183
156
217
158
274
191
143
175
183
146
146
152
150
171
217
255
130
210
176
200
247
181
260
176
296
243
213
129
194
144
211
199
246
238
138
169
201
224
161
162
173
182
217
183
206
210
146
130
239
186
207
146
202
182
171
185
193
130
236
169
178
238
210
169
232
172
182
189
205
158
238
208
150
173
250
191
130
211
209
189
200
182
147
222
218
214
155
244
170
217
115
159
197
185
219
236
204
211
178
178
228
180
182
146
202
204
133
129
183
129
176
235
173
191
182
160
204
177
163
158
175
130
164
176
224
191
244
148
210
176
143
222
165
168
178
225
141
238
221
210
181
151
158
194
236
179
176
273
160
212
129
133
267
173
172
181
218
162
158
209
219
231
198
182
192
259
176
160
191
182
252
203
220
269
161
169
190
228
204
199
184
138
239
182
133
161
204
211
201
211
146
213
228
167
251
173
191
173
197
174
130
214
128
176
258
130
202
246
250
202
204
224
176
236
211
130
265
279
133
171
243
210
205
173
181
149
184
200
230
192
248
180
173
168
170
225
119
264
172
206
201
130
173
156
130
130
185
210
217
200
232
155
129
143
195
285
142
176
221
217
201
194
184
190
228
130
179
146
187
223
183
130
212
206
202
255
201
176
192
130
232
216
202
129
202
230
143
230
263
226
192
173
183
173
204
188
203
211
173
191
146
268
236
188
217
202
251
162
160
204
184
184
271
238
270
173
183
164
204
238
157
168
184
119
171
169
180
182
251
167
247
191
183
186
204
184
180
230
200
200
158
180
115
180
145
130
196
159
255
216
224
172
168
217
172
174
168
279
236
219
158
179
151
199
184
160
175
192
269
253
184
226
179
188
158
132
173
228
193
227
204
179
138
164
115
212
216
219
170
115
129
196
153
204
210
176
218
206
184
156
163
242
161
210
146
300
182
207
236
143
173
210
230
220
239
130
202
137
167
205
217
191
158
180
181
231
255
203
166
208
275
201
236
251
180
203
194
222
254
115
198
216
203
230
176
146
335
199
303
205
181
231
160
222
168
217
238
168
191
195
213
201
196
146
129
184
218
206
176
217
211
214
130
212
141
129
192
151
256
162
133
202
209
230
201
185
198
166
236
184
188
162
162
129
176
162
231
207
195
201
216
245
227
164
122
168
232
146
174
191
246
178
167
152
181
147
188
176
205
146
154
133
262
133
216
179
164
150
176
173
158
180
186
183
191
150
157
184
146
199
145
229
129
180
207
122
168
115
167
130
231
169
250
176
205
198
200
238
162
186
257
205
258
171
130
211
179
130
173
167
155
161
170
217
210
194
130
210
133
227
243
197
211
199
132
230
271
198
147
192
234
202
169
250
122
209
235
284
168
212
231
185
173
173
223
205
159
143
182
145
270
234
146
143
264
225
184
159
169
202
146
239
186
196
143
201
310
210
179
180
173
115
164
129
223
178
178
146
130
146
185
213
255
200
171
174
238
236
241
229
208
216
166
155
238
130
129
264
274
195
172
169
203
252
119
238
180
233
173
130
210
251
191
276
248
204
187
215
173
227
203
210
226
178
176
208
141
169
147
181
193
214
210
210
233
191
210
214
173
211
179
130
179
217
294
198
232
161
204
205
183
203
189
210
133
173
176
181
171
217
245
225
161
143
259
245
173
185
162
214
133
204
133
235
145
214
185
168
204
206
196
247
133
143
158
218
145
156
145
210
168
210
249
230
165
143
164
172
204
225
150
285
217
138
206
169
145
221
146
176
233
191
209
210
150
189
182
191
217
128
272
189
202
223
192
226
282
211
130
167
209
245
172
212
226
173
247
246
168
224
169
156
221
185
184
217
190
176
174
141
242
260
203
254
219
191
258
173
229
176
223
168
130
176
252
177
156
115
191
133
264
164
188
204
184
130
181
138
207
175
185
158
236
183
161
207
190
188
203
171
164
233
182
302
181
191
201
164
216
173
244
210
207
143
177
209
187
221
252
221
173
176
214
222
229
201
191
171
204
129
138
186
170
216
152
195
196
146
157
182
173
230
146
264
237
178
182
180
173
248
250
182
204
169
115
201
197
184
190
221
129
173
208
238
132
155
236
246
180
143
231
122
161
229
300
251
201
211
204
174
248
162
151
156
188
189
225
155
176
202
156
191
151
183
165
129
195
165
115
222
239
133
206
130
176
255
185
219
204
131
219
270
194
191
246
187
253
162
156
263
200
160
207
145
146
240
130
198
247
130
129
227
223
160
215
122
150
132
275
266
210
168
131
225
129
231
204
231
164
162
240
184
222
182
238
170
171
170
185
190
295
264
164
176
160
184
217
174
201
210
138
211
119
161
141
286
250
165
130
160
155
168
200
152
229
255
160
115
253
203
221
158
172
209
173
230
209
206
187
296
248
158
181
166
225
173
146
202
143
164
173
202
234
186
145
226
236
195
184
230
217
115
141
225
204
155
166
219
133
200
204
149
227
180
145
257
176
176
162
230
162
206
239
179
192
182
257
213
279
143
184
181
251
166
187
150
161
129
157
129
122
200
141
215
224
138
129
182
248
270
206
202
129
133
256
239
129
129
195
133
115
191
239
296
206
223
229
255
129
194
216
256
195
238
212
146
164
182
190
261
193
207
285
250
146
164
252
173
193
227
169
261
156
150
184
186
230
178
160
257
201
180
176
153
176
206
197
210
201
215
204
221
179
195
164
187
182
218
226
161
173
228
245
213
206
187
240
226
160
207
214
150
211
218
133
251
195
129
158
260
133
176
210
201
201
230
286
186
238
149
129
261
289
145
209
200
129
188
220
223
173
129
238
238
185
162
217
285
242
167
215
143
221
236
168
210
166
179
202
173
194
212
185
267
198
161
164
242
167
204
217
145
194
273
236
334
230
200
205
192
159
202
173
202
168
164
173
141
191
207
155
280
222
227
175
181
133
143
195
157
130
143
145
141
330
198
141
225
260
217
222
181
213
230
130
119
192
168
158
130
296
132
172
143
176
203
211
184
236
242
199
173
146
237
230
199
205
173
180
146
206
221
191
248
209
199
240
263
203
150
173
265
183
173
209
158
202
195
175
199
129
170
170
230
188
183
192
176
287
173
258
182
115
176
195
146
172
162
173
173
209
235
239
197
165
204
130
130
193
161
204
193
183
218
213
129
171
228
184
179
198
160
145
182
176
187
200
150
182
201
171
225
255
191
173
201
327
208
145
213
145
218
173
156
210
129
130
218
188
187
203
170
173
204
195
168
164
201
155
157
129
178
144
231
238
221
204
150
231
264
210
227
188
199
211
157
201
210
204
172
239
271
204
201
169
184
209
143
129
157
228
241
194
222
146
159
227
196
176
189
195
187
210
256
162
179
198
178
200
259
187
205
154
220
174
128
204
222
254
182
130
130
195
130
274
246
158
210
211
202
181
182
204
192
233
249
184
261
173
204
168
217
156
162
239
214
190
168
217
207
212
264
150
115
258
230
174
255
133
215
173
176
157
241
193
211
130
227
202
176
129
185
152
176
129
182
255
156
130
239
225
176
168
161
250
255
168
150
186
205
190
199
191
144
138
181
164
210
218
184
190
245
145
191
162
187
130
244
173
138
191
214
165
256
200
212
146
156
146
164
222
130
182
130
138
235
129
201
202
217
144
206
238
230
213
146
210
218
133
261
188
145
171
176
162
243
168
138
178
184
168
217
302
145
182
192
164
239
183
265
213
185
194
211
189
145
230
206
226
160
187
194
160
237
162
238
178
190
216
156
161
224
165
206
164
194
133
194
211
146
169
182
180
163
156
147
261
163
236
178
205
251
208
130
263
170
176
217
158
156
145
233
158
257
247
195
162
192
238
211
146
168
222
287
150
164
178
235
215
203
130
224
251
157
155
145
129
230
178
171
133
246
162
150
216
206
160
190
206
153
229
202
222
197
184
155
210
210
217
264
276
168
208
247
191
264
176
212
145
206
171
161
192
211
213
189
229
162
187
194
162
179
157
238
198
150
173
210
222
205
177
186
217
219
129
182
261
188
173
227
204
229
181
173
183
260
176
274
188
183
186
182
306
190
180
225
158
151
218
211
229
175
183
115
159
203
209
145
199
214
146
145
192
160
185
179
184
169
188
177
195
191
200
209
211
216
225
160
252
220
145
257
186
144
173
217
239
236
200
161
219
217
146
220
165
183
200
158
187
164
194
222
164
143
210
133
158
300
175
219
233
176
222
252
191
168
189
254
238
129
197
221
204
200
189
311
219
173
231
161
252
186
161
153
224
231
201
149
173
187
283
176
222
204
119
164
152
185
151
146
160
155
231
173
228
233
200
173
129
197
183
183
164
141
188
142
239
218
180
146
246
283
183
242
184
163
174
210
197
133
185
173
129
238
176
130
214
236
160
202
180
173
234
179
199
211
159
173
176
168
192
195
168
191
175
193
227
129
253
193
162
181
155
265
158
200
236
179
204
246
181
225
192
178
236
209
133
182
146
230
138
155
122
129
197
210
131
219
182
129
178
203
149
166
166
146
230
177
202
191
180
206
239
146
237
115
252
202
145
266
184
185
206
186
231
255
197
130
205
214
130
175
234
129
141
168
193
146
212
222
164
150
204
143
147
115
180
211
178
179
228
230
238
115
158
210
227
221
182
211
217
192
184
217
217
228
230
176
219
217
197
197
171
207
115
204
213
214
303
208
184
175
222
210
149
244
143
182
141
119
195
169
226
191
198
161
130
238
129
130
208
173
168
173
204
176
158
219
155
185
211
156
166
172
176
162
155
218
205
181
237
129
214
182
216
238
140
176
173
119
184
143
130
176
182
217
146
217
234
211
160
213
189
171
217
186
155
181
201
232
201
217
216
212
185
237
245
115
184
160
222
145
206
187
206
221
184
183
176
183
217
153
212
130
201
168
191
194
143
155
180
156
172
146
144
177
184
160
228
210
179
146
179
199
166
255
210
252
201
200
275
205
216
239
197
157
245
173
226
176
217
213
232
204
184
187
279
184
115
173
207
146
164
181
193
173
219
204
143
197
214
214
133
200
176
138
130
173
242
213
176
176
194
179
173
238
195
281
183
138
194
200
201
168
180
158
200
206
198
160
167
185
229
197
179
226
201
115
244
152
249
201
264
173
203
190
198
184
115
216
171
146
122
208
147
198
210
155
221
204
248
191
191
161
173
211
238
176
143
184
193
163
160
201
183
227
272
192
177
182
156
200
182
162
176
156
238
184
220
187
129
217
173
213
169
171
145
182
185
133
201
193
206
129
201
202
252
201
218
157
230
206
156
129
208
168
173
222
221
204
190
203
203
227
249
200
250
224
179
208
197
132
238
231
181
209
146
198
196
304
148
285
190
132
129
244
225
152
228
211
150
229
191
184
228
252
169
211
168
194
216
200
178
184
210
179
211
255
130
130
130
266
156
172
256
253
256
250
160
174
195
176
188
173
178
210
244
236
173
222
173
215
189
244
150
132
219
149
238
183
115
129
176
129
157
255
146
173
203
180
233
158
186
178
168
202
141
221
158
146
158
209
203
147
201
182
206
192
146
129
122
146
180
235
176
246
242
185
193
183
182
200
173
151
199
188
246
182
149
233
195
129
172
181
228
182
211
217
129
176
266
227
269
227
198
161
268
210
160
184
208
129
133
204
205
185
189
129
222
205
181
192
180
189
221
175
130
160
175
211
204
173
158
185
169
158
176
191
259
285
145
227
209
130
214
225
237
244
201
183
115
283
228
242
144
225
172
188
217
200
183
229
206
197
239
189
175
213
150
239
185
129
152
169
222
240
210
200
203
122
145
211
149
129
225
179
130
176
237
130
182
173
203
209
166
154
191
181
233
255
168
282
215
180
195
146
226
175
195
269
239
247
222
209
217
252
184
210
130
189
178
202
155
168
258
129
164
243
205
183
234
176
175
177
158
265
246
197
266
197
203
197
236
183
212
217
156
228
210
236
183
173
238
164
186
168
149
229
178
194
210
175
195
147
204
184
210
133
244
147
219
128
210
236
158
205
129
274
162
167
203
272
182
215
261
212
175
182
173
168
170
202
129
180
147
242
130
210
144
222
217
206
173
202
202
173
147
130
201
321
190
285
206
241
189
214
188
168
292
220
219
191
199
246
141
226
158
133
150
274
149
188
200
143
160
214
173
122
286
164
201
229
175
187
211
129
274
155
204
129
247
184
211
162
179
178
178
204
206
214
204
173
122
191
180
157
182
213
129
195
215
244
130
225
173
195
265
169
146
146
251
206
217
143
221
192
182
168
158
162
178
176
179
179
243
141
211
210
319
180
162
192
185
229
184
168
225
238
160
215
237
138
179
204
156
206
129
127
190
146
201
247
129
130
162
208
133
173
204
210
200
130
159
269
130
204
229
217
204
173
186
149
191
169
231
122
182
180
168
155
160
211
192
130
183
185
165
201
129
227
148
178
198
167
219
246
204
152
273
164
182
188
164
173
164
235
149
204
203
130
166
146
115
153
214
225
207
271
163
188
158
251
188
130
230
221
191
233
177
209
245
164
133
173
208
200
233
188
168
231
176
146
200
197
200
245
115
195
236
129
235
238
182
155
141
250
223
166
207
195
235
133
179
141
151
171
206
218
191
222
146
206
200
173
144
145
217
146
214
222
164
186
156
259
244
146
168
204
180
213
279
206
197
168
173
215
216
204
226
252
168
186
180
241
183
194
242
206
240
257
278
211
221
221
170
171
252
162
179
183
243
238
205
170
178
177
204
200
193
217
232
187
163
164
219
182
158
156
176
204
207
181
166
194
200
204
146
209
176
217
202
201
173
197
204
173
194
146
210
155
229
133
204
226
129
182
221
188
201
182
217
211
183
241
268
189
162
204
145
283
240
258
204
230
164
204
209
186
260
180
260
129
217
173
146
212
194
129
214
258
240
153
162
177
179
235
179
179
176
227
167
272
205
191
220
216
229
218
189
205
227
210
202
156
169
211
187
169
232
129
122
160
206
229
190
185
322
141
233
143
186
189
155
185
218
232
219
176
185
261
217
217
225
179
212
229
146
179
204
155
129
265
214
231
264
173
228
179
156
206
202
200
160
203
167
239
205
188
158
131
249
194
167
209
184
157
161
212
157
272
210
174
227
215
157
146
172
168
115
224
200
195
224
164
162
249
227
146
209
173
130
227
130
201
260
130
253
184
155
217
211
156
180
179
228
115
250
210
198
200
205
129
182
194
210
190
190
264
146
145
189
223
224
233
270
225
181
129
217
202
146
202
184
144
236
217
188
229
178
150
202
181
246
155
202
173
146
247
170
178
217
206
156
216
196
171
185
265
176
202
217
179
246
152
161
158
179
204
218
208
201
227
229
168
210
237
184
306
239
167
202
194
215
199
195
157
249
156
194
224
176
204
168
230
183
144
230
174
244
129
251
180
178
233
179
177
244
181
202
199
146
234
201
204
218
172
207
182
197
129
179
187
227
237
222
173
149
133
227
158
245
211
189
171
184
211
191
150
152
195
266
201
225
210
157
170
176
133
216
149
216
129
129
234
143
202
161
218
241
222
207
270
129
225
173
115
226
129
247
145
171
129
184
193
173
181
218
206
204
247
252
174
217
181
146
179
163
152
210
171
145
133
185
335
176
130
216
179
210
174
174
317
194
172
150
193
307
202
188
202
168
245
217
186
204
195
244
152
210
219
188
164
155
253
146
218
147
244
274
173
210
155
227
145
211
300
155
180
173
187
193
180
213
191
221
210
253
166
179
184
164
173
188
168
162
155
288
129
195
162
281
168
235
145
133
164
238
150
204
213
181
225
215
173
195
156
222
173
187
188
240
193
143
182
146
206
149
252
144
129
129
198
182
261
264
200
133
184
165
205
252
217
212
245
188
189
188
141
161
147
235
157
202
204
202
200
164
159
238
184
251
161
212
187
188
264
222
171
239
158
238
164
186
176
217
150
155
171
206
296
129
185
176
194
204
201
146
270
203
191
176
163
162
253
202
157
232
240
173
206
122
188
176
182
211
201
190
130
277
170
214
194
255
178
237
115
178
170
173
184
148
130
222
180
201
162
166
145
130
204
229
143
265
196
176
159
186
189
185
178
144
170
204
155
243
187
246
230
191
232
207
225
206
210
165
225
188
185
188
174
256
146
143
157
232
237
257
146
237
145
201
210
129
232
207
201
173
216
237
166
251
176
250
157
204
201
253
141
252
130
247
191
221
194
298
145
164
225
183
237
192
217
129
203
199
183
257
154
164
180
205
115
220
172
191
210
173
129
159
173
178
197
169
129
181
204
161
211
206
170
173
168
204
176
217
226
194
353
146
188
278
189
272
236
115
234
211
202
216
122
163
182
212
217
217
263
184
153
158
204
240
195
202
194
187
158
197
168
202
287
189
197
141
210
194
173
195
207
212
158
205
168
222
204
209
182
243
173
168
159
195
159
274
221
239
203
177
204
215
168
207
179
227
201
204
204
171
185
146
227
174
175
162
221
183
155
152
176
168
168
256
176
183
230
186
144
129
185
147
155
191
129
243
182
182
194
130
172
197
130
191
141
210
158
204
158
219
122
187
183
173
185
172
129
335
210
184
219
202
203
165
282
230
174
206
164
130
229
166
206
298
202
178
218
210
208
181
202
204
176
253
157
200
115
184
172
209
212
162
119
179
164
204
141
162
214
191
272
189
203
200
264
180
115
181
143
185
206
205
192
206
172
115
186
191
182
210
217
133
171
210
143
204
180
207
191
238
173
177
168
150
239
209
193
217
181
211
162
143
230
143
210
202
236
166
157
213
204
155
208
236
185
287
129
139
190
211
146
203
231
184
191
192
173
182
164
201
258
130
173
184
136
160
155
171
263
161
204
115
181
285
212
224
210
231
179
130
179
230
130
189
219
129
176
173
185
224
166
221
209
247
129
183
169
222
184
192
179
262
158
211
183
204
214
206
217
173
152
173
264
158
197
211
283
212
201
244
200
254
215
146
252
192
207
194
221
184
187
189
255
277
145
157
146
283
213
173
122
199
190
217
284
173
183
256
179
220
183
152
146
256
210
156
149
230
179
261
129
200
155
208
207
241
204
217
115
130
217
254
230
208
223
229
173
173
262
271
198
188
286
191
252
217
222
173
165
164
210
174
227
228
115
177
173
236
242
250
185
153
176
200
235
229
194
236
187
235
265
236
194
216
183
149
158
271
260
208
149
204
183
164
177
254
210
193
167
204
198
176
236
184
158
179
180
208
143
203
254
202
195
191
173
180
185
192
155
128
168
214
272
211
145
168
189
222
230
178
262
181
173
184
222
190
202
179
209
202
165
200
169
228
224
205
133
130
205
145
189
171
158
217
228
214
204
176
204
133
174
213
224
271
202
199
169
115
173
173
179
192
168
149
173
282
191
230
184
335
246
206
224
192
265
179
205
203
179
158
141
166
220
162
236
247
204
175
189
239
190
157
177
173
167
144
176
146
213
179
194
178
176
225
176
335
251
247
145
299
173
153
164
301
166
247
172
179
174
166
221
145
236
164
132
224
164
176
227
181
240
255
266
184
201
179
191
175
201
168
238
158
201
185
242
211
157
219
242
204
138
213
199
206
163
149
265
145
208
236
146
210
151
250
193
168
185
174
176
145
229
211
212
166
180
146
176
128
129
255
130
201
238
239
191
145
129
133
173
173
209
162
145
153
130
122
282
275
157
157
219
181
205
139
141
174
235
318
166
217
308
153
252
129
161
130
187
176
174
176
210
204
151
141
163
185
176
195
179
232
176
178
230
203
192
181
206
178
179
170
191
165
146
158
176
209
176
223
186
119
180
152
196
192
209
207
184
181
236
242
129
222
168
257
178
200
176
297
227
208
156
146
206
206
183
166
245
192
343
143
146
151
128
133
208
182
178
222
178
238
209
216
245
185
184
146
115
195
211
202
210
201
177
119
175
173
169
226
166
168
216
173
211
207
170
217
264
144
230
161
205
146
194
130
244
155
210
148
129
237
133
133
217
230
214
165
220
181
275
130
273
288
161
222
169
251
212
207
201
145
225
206
218
240
174
156
186
219
233
335
138
155
173
164
224
164
165
156
188
212
214
164
225
133
180
210
236
190
222
229
201
149
199
205
169
184
173
169
208
184
204
147
218
265
169
143
238
184
158
236
130
217
143
184
200
184
160
173
194
241
170
188
200
246
181
171
210
145
249
162
162
258
183
122
146
129
200
264
169
174
160
239
190
173
201
142
291
129
176
238
238
204
129
158
129
153
144
198
204
202
228
182
211
178
182
200
182
188
190
219
230
129
145
240
173
195
166
222
208
262
197
238
178
213
216
230
162
192
179
146
206
176
178
127
176
252
210
161
193
130
227
184
146
185
223
199
174
201
166
199
230
251
244
211
195
129
166
254
130
164
161
204
211
182
164
190
236
158
161
129
217
225
159
209
181
190
179
252
255
201
197
141
164
191
145
292
180
235
253
250
179
237
133
239
287
130
215
192
168
182
138
264
130
199
215
129
217
191
180
183
173
210
207
150
153
173
162
173
190
217
204
188
262
204
173
226
200
264
217
177
180
204
225
141
164
168
173
129
129
182
129
276
211
184
176
133
158
192
218
195
236
239
162
217
216
129
179
232
228
146
156
184
173
239
161
173
197
245
129
171
153
149
176
129
180
160
180
217
188
171
209
230
232
155
199
146
173
182
178
158
203
219
132
180
166
228
145
242
146
230
263
246
146
198
179
231
203
204
210
152
195
204
194
174
214
181
233
202
129
174
228
221
230
173
229
176
173
204
129
211
171
225
211
197
187
164
146
192
237
169
236
178
219
133
192
201
202
239
190
240
160
227
206
191
132
129
236
168
251
209
130
203
184
204
133
342
146
191
309
130
229
156
216
143
217
197
205
265
264
146
190
161
204
221
235
235
161
210
130
204
203
195
206
238
115
184
158
157
228
130
191
138
234
216
175
173
207
149
198
252
211
191
187
162
221
166
176
171
218
220
202
146
191
185
186
179
153
258
231
182
266
200
246
133
231
221
258
164
208
191
213
218
207
130
204
202
206
185
229
164
223
173
225
303
201
191
190
216
211
146
174
243
231
234
233
152
231
128
211
201
184
176
150
201
129
242
130
129
204
227
186
175
175
257
115
162
152
229
183
146
144
173
155
129
211
143
158
152
195
247
119
257
146
217
130
244
309
264
248
178
159
211
155
169
218
221
188
183
141
146
214
179
181
182
158
133
144
225
244
238
202
214
173
183
233
204
164
202
237
178
191
218
129
237
169
156
251
231
115
161
210
194
191
238
233
192
209
155
204
143
197
130
157
178
230
252
256
216
173
184
205
222
155
185
129
227
188
275
203
207
236
202
217
181
169
192
226
251
210
191
145
133
173
157
243
188
227
239
273
176
217
165
327
160
189
188
209
335
210
256
263
228
151
146
198
200
162
143
268
133
239
141
176
194
172
175
221
234
130
151
164
180
141
173
283
190
175
201
169
132
146
226
129
145
164
184
183
216
221
122
143
255
187
145
160
188
122
173
235
224
172
161
211
169
229
289
239
210
221
205
146
241
146
166
164
143
202
217
194
143
217
213
312
162
193
217
171
239
158
141
230
175
325
246
115
211
185
129
218
203
249
164
166
199
191
176
230
194
335
185
129
180
250
260
168
204
152
130
181
183
203
144
146
168
212
133
129
166
266
129
191
138
183
169
166
164
164
182
196
202
130
202
146
184
201
133
247
239
146
129
129
140
176
174
130
190
165
176
236
133
197
181
149
200
204
191
221
287
175
143
160
155
251
228
278
204
209
187
172
264
215
195
146
175
218
251
153
207
173
188
173
230
129
246
230
199
176
130
145
173
173
201
130
173
238
168
115
313
155
175
198
115
149
162
195
150
176
148
130
152
176
181
130
169
209
168
194
130
146
278
214
153
146
149
180
133
186
157
227
129
221
176
211
168
213
218
155
188
179
195
328
133
236
172
193
203
173
192
232
146
231
260
237
217
249
206
228
156
172
165
182
173
243
217
179
296
216
176
150
129
161
200
176
188
191
204
198
207
153
209
178
204
243
202
191
133
173
192
230
196
204
192
204
176
133
199
169
146
122
143
182
198
143
206
210
149
211
179
225
178
204
210
210
195
168
166
161
300
239
211
194
150
235
192
175
214
164
230
259
149
191
241
175
233
254
186
190
200
211
267
146
186
217
325
129
139
187
150
236
133
179
169
238
129
176
146
185
201
214
196
191
204
146
138
244
162
205
185
143
169
185
204
155
204
143
263
252
176
210
191
162
237
227
144
146
143
255
182
201
254
197
180
236
227
211
189
158
224
143
192
179
264
122
238
268
172
207
115
230
149
173
217
204
164
145
181
172
206
184
235
232
210
201
264
129
146
151
261
284
234
168
195
199
146
256
145
210
162
168
129
237
208
197
201
194
254
211
172
156
266
208
179
204
130
151
256
223
210
143
236
235
221
193
179
180
130
270
176
262
145
195
209
164
173
146
153
240
211
168
202
213
299
182
189
191
186
180
176
228
177
224
204
133
161
217
146
146
225
205
167
155
171
187
176
227
287
179
250
164
133
270
228
143
255
218
300
246
146
129
204
176
176
233
156
169
133
263
145
146
162
221
200
173
214
143
185
186
119
207
251
166
229
185
179
208
234
176
171
195
211
170
214
173
172
202
200
276
195
221
176
164
217
209
146
173
191
206
241
245
130
244
261
164
181
145
168
223
274
115
195
207
176
130
146
180
115
146
220
235
129
152
169
264
203
172
145
225
271
147
210
151
176
146
214
131
214
210
216
176
225
203
234
264
216
212
253
182
235
188
201
192
229
249
221
185
145
173
115
195
264
176
184
129
195
197
188
130
180
170
141
204
231
233
234
209
230
153
184
129
203
129
161
162
225
176
170
202
207
216
192
182
258
129
201
146
156
192
204
173
153
195
178
180
184
190
227
228
241
201
202
195
176
129
130
188
129
162
222
175
237
173
227
161
206
259
145
130
179
204
225
179
173
143
204
179
192
138
257
173
204
180
167
188
183
208
242
143
173
183
138
236
155
205
266
271
145
211
130
161
162
261
179
182
212
157
187
204
167
229
236
158
211
204
164
146
201
253
178
262
180
145
129
198
130
129
210
167
168
287
236
173
239
158
188
204
164
290
240
146
193
143
179
250
180
251
158
130
143
129
151
180
213
169
182
196
325
261
184
237
282
173
129
188
227
194
222
209
129
159
242
252
138
133
242
205
130
179
191
149
178
253
187
176
146
170
145
200
167
206
170
201
197
130
177
211
179
193
199
157
277
260
200
181
183
196
189
130
241
237
145
145
182
179
176
180
211
244
201
193
248
208
207
214
143
227
129
149
228
229
183
170
303
155
208
173
203
129
133
129
211
278
179
206
156
155
146
283
174
206
250
226
133
130
207
204
173
217
130
182
129
168
176
174
209
227
202
227
168
181
146
235
225
204
191
115
129
184
220
223
158
246
206
184
160
234
222
190
204
181
210
335
204
204
205
185
230
172
190
157
170
155
235
248
236
204
193
173
129
226
226
183
205
205
145
146
188
167
250
179
210
141
222
159
184
255
206
224
186
184
143
221
149
201
237
176
214
130
209
225
215
180
225
138
194
227
143
186
221
198
158
234
250
211
217
261
196
182
236
228
255
200
181
212
129
176
228
254
231
219
173
156
207
176
185
115
247
191
157
216
146
201
145
173
201
176
149
176
217
188
175
191
186
187
180
146
130
182
204
193
171
256
133
155
236
307
184
156
165
145
261
214
133
200
166
231
260
183
169
184
133
140
217
165
152
192
138
200
247
176
210
176
228
173
174
119
261
186
173
196
155
223
184
207
204
173
209
200
219
195
335
191
176
181
178
175
145
146
184
173
204
185
153
252
181
133
207
239
191
176
238
239
238
179
252
169
188
168
218
156
146
129
129
210
218
222
168
191
187
129
227
231
146
169
192
129
173
129
143
146
226
158
164
150
202
252
257
179
173
209
208
179
212
164
230
172
130
189
168
155
236
202
176
206
193
129
152
211
191
130
178
195
185
141
146
176
286
197
210
146
255
283
168
146
261
180
203
176
133
181
155
211
222
173
259
205
264
200
204
200
129
180
176
168
216
210
176
217
130
185
228
130
158
164
173
261
115
156
212
171
149
146
149
241
183
176
163
191
122
212
227
268
239
122
130
194
146
289
146
222
256
173
157
191
130
202
169
267
211
201
206
190
129
220
138
194
141
179
170
175
162
282
211
133
146
143
160
206
226
164
297
182
168
239
143
189
199
203
130
236
211
176
194
226
115
250
168
215
171
251
130
206
146
187
115
145
204
177
265
204
216
245
217
203
130
178
173
274
190
218
155
179
210
189
173
175
217
122
162
193
130
201
241
162
204
115
173
164
168
204
221
173
195
138
194
215
212
173
174
115
217
179
303
215
195
183
203
204
128
173
250
188
146
201
201
235
226
200
204
162
168
355
133
206
193
143
176
181
230
149
133
141
202
211
230
145
180
172
208
177
243
194
225
225
144
232
143
162
187
225
185
211
173
252
252
211
150
214
210
158
160
149
214
200
193
222
133
129
182
192
211
130
200
206
206
178
171
199
183
215
184
178
173
234
115
133
222
158
146
189
252
206
190
175
145
204
156
173
173
130
158
132
205
202
164
247
129
157
133
241
249
210
203
155
226
220
210
181
239
179
173
205
166
130
171
230
193
146
146
194
260
193
186
173
157
189
184
158
182
176
204
254
209
181
215
202
204
277
164
162
146
184
201
151
228
167
206
158
162
158
297
115
206
160
200
228
190
221
129
219
259
163
211
195
173
216
219
241
204
129
181
210
222
210
229
184
195
130
236
196
173
203
141
160
179
211
200
149
252
200
181
244
247
168
186
266
204
244
176
189
132
230
180
191
215
178
183
150
277
228
173
189
129
157
285
201
130
214
210
178
200
170
181
210
150
181
200
237
196
182
204
192
164
146
184
210
132
228
169
208
201
210
176
258
264
130
200
209
130
122
191
193
235
210
224
206
200
182
192
238
211
189
217
138
176
157
122
203
168
164
129
198
183
242
143
174
122
207
146
179
180
204
181
195
203
264
129
133
212
195
167
170
239
237
210
178
211
168
146
130
182
215
133
184
230
245
115
191
234
230
243
176
156
188
158
174
216
206
219
155
129
193
149
133
200
168
179
156
237
237
185
153
233
173
115
183
162
236
169
189
210
145
216
200
221
176
188
155
144
130
261
213
238
175
198
189
169
178
191
227
254
153
129
146
155
195
188
230
149
247
146
209
202
173
201
179
216
193
221
160
189
192
210
191
193
227
200
200
146
204
168
181
200
129
168
206
231
173
169
249
187
162
184
160
156
180
155
133
174
176
220
172
184
211
205
179
115
185
166
208
158
238
156
227
133
133
119
272
181
229
206
130
186
172
188
210
179
198
192
253
283
173
226
193
190
179
197
214
201
147
257
222
243
145
115
133
204
182
147
173
174
242
216
335
198
258
166
146
206
222
233
186
188
232
188
179
200
198
130
164
144
159
129
180
166
284
129
204
179
130
201
214
244
172
182
252
215
200
225
211
226
193
197
230
180
216
170
202
173
182
179
188
189
210
201
149
159
162
212
178
194
184
224
217
222
129
149
225
129
264
230
173
167
204
173
210
129
253
190
145
183
177
200
188
138
216
207
250
173
146
161
217
151
225
146
115
179
245
199
202
183
197
164
206
173
132
176
187
149
176
146
194
195
204
156
159
210
129
240
144
241
194
115
122
179
211
201
258
173
176
210
247
130
133
201
156
158
190
201
208
189
221
183
158
193
228
210
211
195
210
192
207
204
197
146
202
288
201
244
187
183
155
238
302
236
191
190
287
130
143
173
179
176
160
203
202
143
164
209
247
187
162
210
130
184
187
235
198
129
182
130
181
217
174
130
192
179
195
173
184
182
193
181
184
230
130
164
184
199
133
149
240
213
236
166
243
195
182
201
208
173
201
212
254
187
187
210
239
223
155
178
158
217
201
185
219
237
180
171
193
146
129
182
207
200
129
179
129
196
176
192
217
220
234
186
261
145
256
240
196
157
222
173
209
222
322
183
184
169
210
222
173
182
277
191
156
176
199
234
173
141
203
151
185
267
129
210
167
177
176
209
171
146
145
207
156
240
173
130
209
176
181
208
215
184
144
178
168
164
208
146
189
198
185
198
216
130
173
260
182
258
168
211
194
173
211
176
232
200
173
202
210
155
169
185
260
151
265
185
218
166
156
234
193
149
129
178
129
210
150
241
146
202
242
180
256
210
146
227
145
165
164
173
156
184
178
162
227
146
190
229
130
154
145
205
217
211
145
176
115
129
217
183
205
164
179
145
130
164
115
157
210
248
132
160
252
173
162
143
130
221
288
155
146
190
221
242
128
171
130
247
185
188
164
146
261
179
155
296
174
162
202
206
256
143
210
191
180
163
218
161
133
161
179
145
184
265
201
122
211
184
221
173
254
179
185
211
195
173
177
143
151
183
217
185
128
205
201
157
183
201
129
221
151
212
269
143
182
221
178
175
176
189
143
133
176
159
222
190
132
258
168
203
151
179
194
165
252
179
187
115
283
188
175
130
188
173
158
245
149
168
206
218
203
191
128
156
161
182
224
178
201
194
214
129
196
211
224
216
184
130
217
164
169
228
258
246
162
174
183
180
227
197
173
138
133
170
207
169
145
214
182
144
129
170
157
211
193
202
241
252
146
210
167
192
210
185
168
204
224
225
189
217
143
169
179
175
236
264
191
206
202
130
183
152
155
206
204
264
173
183
173
203
173
173
223
182
168
203
244
201
184
147
175
218
194
188
185
188
221
161
161
138
199
190
239
129
210
214
195
263
213
231
214
210
230
176
161
115
155
169
229
173
189
208
207
186
202
227
159
179
175
167
176
214
308
115
210
188
162
176
165
206
162
222
210
197
181
211
189
210
230
174
146
180
180
202
264
158
173
184
129
173
115
185
181
227
189
166
176
201
133
261
261
191
183
227
129
184
255
298
181
189
199
191
130
200
173
190
212
233
161
217
159
173
183
230
254
146
211
176
236
189
210
143
175
213
178
129
129
178
248
199
179
206
168
182
206
175
222
158
145
138
129
207
168
182
241
224
241
218
237
163
146
167
190
162
179
179
188
183
145
230
263
222
129
133
259
202
132
115
162
227
176
132
204
122
119
174
203
182
251
204
204
141
230
316
182
149
141
171
176
222
232
214
129
197
200
185
214
286
213
294
197
172
242
169
201
133
170
223
169
169
228
229
158
227
191
176
217
173
203
130
268
133
201
222
130
195
133
173
156
260
264
234
189
187
237
255
200
191
185
129
206
178
208
231
224
251
173
230
179
145
146
209
219
150
169
190
184
138
182
212
195
244
200
261
130
155
258
240
226
182
129
178
208
182
216
180
200
200
184
164
185
162
184
236
129
131
203
174
146
253
243
171
189
146
200
216
186
179
225
130
182
178
146
205
141
164
207
299
216
181
130
227
168
215
223
130
237
229
200
184
176
138
222
164
178
201
255
146
194
169
196
231
146
162
162
239
188
204
222
210
205
181
200
167
283
200
246
176
204
218
146
183
168
145
192
133
239
184
144
166
130
222
263
174
288
164
230
128
238
133
150
195
173
173
238
227
218
201
173
143
176
260
115
188
206
195
214
257
172
150
141
173
247
138
157
162
130
191
236
129
283
245
146
156
195
335
128
130
173
193
191
160
335
208
181
166
182
130
216
193
197
197
231
166
184
186
185
169
150
217
179
242
202
231
155
130
115
173
256
203
200
217
240
162
236
161
271
208
186
247
242
176
265
129
188
164
246
264
122
156
234
211
138
192
231
115
178
179
173
130
260
162
237
188
155
244
146
166
173
193
175
147
166
197
236
190
234
228
171
189
146
228
218
208
168
161
193
162
207
194
195
168
224
197
211
129
204
166
158
179
162
184
204
129
176
158
200
210
203
217
238
204
204
129
194
210
176
176
173
168
225
115
132
267
173
153
204
160
219
161
244
195
234
222
190
204
115
188
254
250
170
206
287
150
234
238
179
167
157
161
160
146
192
209
249
202
210
152
270
213
143
188
287
205
221
173
173
201
211
273
204
267
174
244
185
192
143
132
179
182
168
191
228
191
200
184
129
115
191
297
143
209
186
217
176
216
236
182
236
213
225
177
129
191
184
226
250
255
159
172
182
182
241
146
217
207
239
218
169
233
221
129
146
133
201
153
192
174
241
115
141
216
172
164
157
195
227
227
129
205
130
200
160
201
152
190
172
236
175
164
208
176
190
272
246
183
171
144
170
130
130
146
156
236
270
321
240
189
285
149
206
115
185
191
239
266
176
173
200
201
187
201
229
180
260
147
146
146
178
188
196
165
146
296
170
194
230
240
188
182
183
188
197
265
254
199
158
211
202
230
179
228
207
150
195
216
203
166
130
193
141
217
218
188
209
155
235
130
130
132
171
200
283
201
166
192
203
182
130
208
229
207
129
239
216
248
283
168
235
200
214
209
178
200
221
206
190
239
203
173
177
203
173
213
151
335
202
239
129
130
169
129
201
155
237
160
210
251
257
177
214
162
133
206
239
191
221
162
246
176
156
146
200
218
133
195
178
222
181
236
197
204
204
169
129
228
130
133
203
243
150
146
222
206
263
204
188
213
239
221
130
179
182
269
274
179
130
183
191
206
156
234
162
240
220
115
170
204
236
227
238
192
176
129
174
214
176
222
189
155
214
158
206
227
156
162
133
221
193
130
216
193
146
166
188
132
254
187
161
300
155
244
151
201
197
152
180
184
185
146
234
242
202
215
155
210
129
210
229
248
133
170
144
182
181
169
225
227
204
130
210
149
184
162
175
232
238
177
192
152
186
162
170
185
132
159
255
200
146
150
138
175
222
152
182
168
242
195
263
162
164
143
193
223
204
182
173
228
129
163
176
164
179
207
176
178
216
147
234
200
173
155
204
146
185
201
200
176
189
200
129
225
183
240
224
195
195
138
178
176
179
179
150
200
173
137
191
158
182
204
335
276
133
160
235
129
173
198
180
259
241
183
239
238
160
164
214
241
246
191
115
145
225
181
198
156
210
238
170
232
173
201
115
232
217
179
206
191
200
171
175
176
128
202
207
186
205
186
150
188
230
213
149
143
221
247
211
174
210
219
183
173
269
185
217
202
201
237
146
230
115
204
217
130
231
130
222
239
262
221
153
210
216
169
195
247
180
173
224
193
242
266
198
164
184
200
199
178
190
210
207
119
211
179
185
145
236
239
164
176
237
339
141
166
208
166
180
197
130
272
257
174
200
146
207
171
245
192
130
115
183
162
242
158
185
217
193
203
289
204
202
252
133
166
227
178
145
204
270
174
122
206
182
237
189
129
174
200
201
156
182
171
185
240
238
246
199
184
181
259
212
225
195
172
169
164
162
202
217
258
179
210
176
199
246
236
133
188
155
194
201
211
173
197
219
213
168
260
207
199
204
250
194
163
191
129
183
234
268
176
129
303
133
155
130
232
289
253
202
205
183
217
202
199
209
188
179
184
195
219
129
181
169
150
221
224
155
183
182
202
156
173
217
179
146
149
158
171
129
254
235
225
248
217
222
182
244
172
206
181
186
173
147
130
176
151
177
204
189
222
183
228
141
185
184
127
221
146
138
174
166
153
176
201
235
185
297
145
220
231
206
270
146
230
162
221
158
158
157
164
210
149
170
133
162
160
115
225
227
178
130
239
146
227
143
193
129
173
204
238
204
184
248
130
186
227
164
115
214
200
145
210
141
182
182
215
179
211
176
230
173
145
191
184
202
119
206
179
130
178
236
204
157
129
202
179
173
186
202
183
217
200
211
211
186
187
169
203
241
133
264
146
227
128
188
204
179
200
158
185
195
292
232
184
219
176
176
141
202
133
217
155
221
225
210
204
209
217
233
228
185
247
244
206
179
150
202
211
232
150
133
246
146
141
168
153
181
186
201
129
176
130
235
161
200
246
138
167
224
178
176
156
186
230
185
166
209
191
214
211
176
200
164
249
209
202
143
177
176
201
210
225
211
168
197
203
224
193
257
187
204
210
176
235
281
172
199
184
146
150
213
145
176
115
203
230
174
143
173
183
127
279
196
200
288
231
155
168
249
182
269
130
210
287
172
211
181
173
143
180
185
152
206
162
163
253
178
250
179
242
144
173
231
182
284
141
185
129
240
204
145
143
219
185
250
169
160
129
227
181
185
201
176
156
211
239
236
204
156
188
162
183
221
164
193
179
240
201
202
160
255
129
206
219
151
209
129
129
184
130
211
216
212
178
237
180
172
129
214
183
214
162
129
138
178
130
211
188
200
143
185
180
193
188
239
151
155
161
206
189
227
202
273
230
183
191
248
217
227
149
143
130
225
234
130
198
228
153
248
260
156
206
227
189
208
224
143
210
209
175
299
168
227
280
129
176
206
225
169
191
168
200
211
162
175
182
190
251
217
115
162
204
194
285
184
223
228
185
217
175
286
169
185
156
181
192
224
205
251
213
133
180
149
192
146
184
238
221
192
232
204
191
216
152
211
213
202
207
185
184
267
195
193
130
176
189
217
211
307
200
150
143
303
244
176
187
178
180
219
217
195
206
219
202
198
217
231
205
259
207
181
231
191
130
182
201
178
185
188
200
183
181
222
146
208
160
236
215
250
180
210
219
215
175
222
211
191
146
173
133
243
157
238
174
158
193
191
129
184
249
149
220
176
141
168
204
152
236
230
261
206
149
202
283
181
221
155
155
201
152
155
190
162
194
179
232
173
205
201
247
232
155
191
252
129
145
206
200
161
188
161
225
236
191
204
179
188
201
232
210
146
200
179
200
230
130
247
201
206
130
183
268
157
158
189
129
152
181
216
173
208
179
176
138
214
151
160
184
294
174
172
184
230
221
237
202
178
184
141
257
188
296
130
234
129
196
289
174
201
267
191
173
129
179
216
235
206
227
141
184
182
131
199
146
181
230
222
210
194
164
219
168
161
176
182
129
146
208
161
205
232
179
204
274
129
168
169
210
237
254
165
216
146
164
204
178
130
219
155
221
194
191
154
207
194
146
146
182
146
180
217
223
204
180
182
217
146
283
239
207
184
174
194
129
238
204
184
210
232
145
207
178
185
210
180
176
162
129
200
141
155
173
235
146
195
281
217
156
179
115
168
184
229
214
176
147
200
145
191
217
229
171
115
143
164
173
212
210
185
156
213
204
182
173
224
227
164
173
201
213
242
204
206
180
158
260
273
195
184
222
129
187
155
238
200
162
215
187
163
235
180
149
214
225
202
174
217
213
192
146
169
185
194
131
183
231
234
161
130
171
189
197
185
230
129
129
185
130
234
160
204
129
206
159
179
222
170
179
235
223
138
230
201
178
239
166
185
119
195
281
184
160
194
222
206
193
187
129
204
163
178
241
174
280
156
146
168
204
183
150
115
230
220
158
227
238
172
188
242
188
130
168
168
164
184
155
278
277
168
226
221
227
162
155
303
185
156
190
181
162
193
182
175
169
122
115
210
156
230
239
144
229
210
251
177
251
137
145
216
206
199
149
160
192
215
146
203
183
166
176
186
166
204
145
199
145
186
173
246
191
173
183
176
183
179
129
145
191
263
172
217
201
157
303
178
206
147
245
193
275
229
190
170
201
176
167
130
146
178
193
180
224
197
268
216
166
208
256
153
162
162
230
178
249
257
186
176
164
203
182
129
289
176
188
185
168
255
202
220
202
115
156
167
256
205
176
168
232
206
202
283
146
253
129
240
197
236
205
201
218
204
222
170
191
231
195
210
240
145
213
186
173
190
217
215
157
204
254
173
204
129
182
180
200
164
185
138
265
162
183
199
203
249
129
182
257
133
146
130
145
176
184
185
130
182
172
228
208
146
228
189
201
169
173
200
176
168
184
210
179
231
252
157
247
202
170
231
133
210
197
242
129
164
335
228
211
179
133
130
145
153
201
146
158
184
286
122
129
215
164
179
302
212
176
203
211
202
130
237
242
234
146
188
197
179
173
157
203
176
130
230
195
193
230
119
204
227
227
280
164
210
173
226
246
179
256
196
208
205
143
265
217
211
173
230
207
261
211
174
130
178
160
173
214
210
294
133
145
153
216
211
200
228
204
210
176
206
160
222
158
161
155
169
214
130
130
176
230
217
182
204
160
231
166
173
205
173
195
202
133
133
158
207
205
191
191
204
202
230
264
204
203
133
206
232
251
208
258
186
189
180
221
166
202
145
202
278
176
202
248
206
145
187
234
160
128
247
200
229
149
160
221
133
173
138
171
194
194
202
156
335
183
146
165
173
206
168
194
162
160
195
168
182
209
232
173
170
129
187
130
205
195
171
176
248
156
236
231
185
155
240
147
169
175
184
162
145
259
210
184
147
240
182
158
146
227
164
202
129
225
194
191
145
128
209
180
152
168
227
130
225
222
202
130
174
202
239
183
199
283
146
164
184
168
210
217
179
146
202
250
263
184
133
160
162
205
115
162
173
145
227
139
179
155
129
129
216
237
145
146
202
195
244
225
202
155
217
210
184
327
200
179
228
242
145
226
207
143
204
179
155
237
130
193
225
184
141
191
180
183
235
260
244
237
191
204
229
211
206
215
181
201
229
157
160
201
197
224
171
236
183
187
180
168
181
188
210
200
218
192
155
178
158
217
195
231
172
168
130
248
171
170
171
180
258
197
224
179
182
184
239
129
211
181
187
217
180
188
204
149
173
130
179
229
132
236
155
181
226
255
242
173
240
176
177
181
233
157
129
177
173
244
141
216
129
161
250
200
230
212
204
191
171
200
254
210
130
210
169
130
218
179
242
236
162
210
202
221
231
175
115
157
164
213
245
183
238
183
209
197
261
247
115
175
229
179
201
204
238
130
190
185
210
181
211
161
222
206
164
234
202
219
164
151
201
130
191
153
245
236
192
129
234
138
230
143
220
212
200
217
182
146
200
204
207
187
144
198
143
139
219
173
236
115
189
202
122
178
150
187
145
188
202
178
204
143
233
180
279
183
244
130
172
201
204
149
150
210
146
221
129
236
231
211
194
161
199
273
224
207
212
184
149
195
219
173
204
236
147
129
130
236
210
188
230
233
195
172
162
137
173
185
152
242
152
169
185
192
205
187
162
222
147
149
221
250
182
183
158
115
208
191
146
164
236
176
146
230
176
164
194
180
129
222
191
188
232
226
212
138
188
162
214
210
210
133
151
238
145
185
188
184
177
249
216
172
250
191
152
236
247
233
138
176
208
173
173
221
200
229
208
162
217
248
214
153
168
129
146
226
218
176
211
191
227
264
229
159
236
130
270
259
191
225
164
176
265
231
242
146
182
185
223
211
211
143
217
210
155
146
164
256
189
255
143
173
237
214
179
130
176
146
173
156
204
175
257
169
283
181
210
191
159
173
231
257
202
222
183
232
236
254
202
236
229
250
220
180
230
149
221
199
179
209
181
166
156
173
170
180
197
156
122
190
172
220
227
207
186
141
227
178
212
207
209
162
211
222
210
204
232
184
191
176
204
158
204
115
200
206
179
218
180
196
284
130
178
162
251
194
180
303
213
214
237
167
212
186
150
204
157
209
119
239
214
239
299
156
236
199
146
158
203
129
150
245
247
179
244
164
167
152
228
173
176
214
179
210
161
266
166
249
194
193
224
189
191
196
173
166
204
172
223
158
225
246
143
170
149
204
161
164
186
178
129
225
185
143
158
206
133
145
132
176
130
156
230
164
174
191
165
192
180
219
201
171
238
200
141
155
146
210
239
192
194
143
211
115
223
203
130
248
168
215
196
189
227
158
210
164
238
283
216
150
160
145
168
221
217
168
222
217
146
199
177
145
233
219
146
236
265
271
145
222
181
234
197
146
179
173
211
130
254
180
212
165
145
205
208
164
173
225
230
129
157
201
248
201
184
258
153
239
162
150
193
217
199
155
146
173
191
249
173
188
185
260
243
173
130
255
182
170
130
160
239
210
183
261
173
174
267
262
173
177
280
232
131
186
150
186
187
222
267
146
129
195
152
150
242
185
150
172
204
170
203
232
252
164
156
238
202
173
115
141
276
130
183
221
177
265
160
193
172
138
211
128
276
176
202
129
176
204
203
130
209
204
168
206
179
211
195
201
150
192
119
246
216
211
180
174
151
216
262
130
275
129
173
266
160
204
202
158
217
197
174
162
145
162
188
204
322
242
270
187
206
146
162
176
256
210
115
217
195
164
141
203
199
242
203
158
225
182
145
147
220
138
221
172
207
234
251
163
241
182
132
146
227
230
191
232
239
230
185
193
218
133
145
140
183
176
191
217
158
247
143
217
191
234
168
169
180
274
157
168
183
130
191
206
182
133
203
162
179
252
180
237
205
246
256
175
273
130
227
217
241
306
234
184
160
173
155
174
209
194
130
184
181
209
183
133
138
188
206
179
172
176
235
245
204
158
202
229
248
115
229
234
198
215
210
162
203
194
203
146
172
197
224
189
146
183
284
182
173
162
129
209
207
223
228
180
297
201
244
182
235
129
151
130
210
221
230
186
186
173
214
201
169
203
176
184
176
184
146
261
206
160
259
213
176
250
222
212
192
227
176
201
171
156
252
255
174
189
141
166
170
200
244
221
185
254
206
141
173
144
158
191
172
161
259
201
189
146
259
145
277
202
229
201
208
184
239
164
190
238
227
269
129
276
168
176
129
183
233
177
186
190
200
210
240
188
201
170
143
244
204
169
162
132
143
164
173
246
182
163
146
173
203
232
232
130
164
176
164
167
176
227
216
190
222
178
204
179
201
188
176
158
202
181
244
158
130
204
129
206
197
164
184
204
179
204
307
210
183
176
192
278
221
150
143
200
170
195
176
219
183
177
173
172
129
184
115
183
272
218
169
143
225
217
187
179
180
225
207
181
200
184
172
164
228
210
176
130
169
168
202
138
164
200
204
186
186
256
173
153
204
258
238
266
143
204
138
191
213
222
221
183
223
188
162
210
172
175
192
160
211
129
206
214
146
220
187
219
143
230
209
277
178
200
197
155
181
163
217
203
192
179
220
146
185
239
180
216
164
166
197
146
211
129
133
246
155
211
227
155
204
233
146
211
176
241
279
206
160
221
170
187
180
133
153
179
237
203
204
143
216
206
213
153
195
176
181
217
201
172
231
162
236
173
217
178
168
277
186
144
224
173
226
208
235
204
201
179
228
202
162
217
168
179
239
227
146
176
130
173
167
115
141
176
178
229
236
225
179
215
183
168
182
263
217
202
247
206
246
173
129
164
164
206
130
130
133
179
245
202
210
197
245
173
217
122
239
200
183
162
224
211
129
212
145
146
244
229
129
173
166
115
287
146
179
166
130
129
150
173
240
185
244
269
204
194
217
172
278
190
201
193
238
164
258
254
130
165
168
171
173
184
173
158
184
235
133
288
173
243
188
228
210
166
133
237
153
233
122
164
173
173
247
210
153
128
198
183
199
130
174
189
166
266
255
215
234
230
156
204
153
219
152
228
232
173
214
205
219
251
179
202
160
164
207
213
199
248
226
133
179
204
182
185
145
155
210
138
282
201
221
236
237
197
148
149
226
190
183
257
265
192
158
161
203
207
187
214
182
156
234
255
243
183
184
199
168
217
162
194
224
216
161
187
246
122
211
130
210
146
146
173
239
247
217
138
169
200
274
206
271
171
201
169
200
186
204
145
251
193
206
210
230
179
147
222
133
175
162
173
166
176
218
211
147
143
180
225
193
164
246
229
210
231
168
218
145
185
162
129
157
180
176
183
115
217
196
166
240
261
181
150
199
229
238
133
251
246
145
200
200
150
172
162
146
226
205
188
202
250
210
225
201
229
243
174
183
205
181
217
209
143
162
217
146
261
239
146
207
239
132
201
195
244
195
175
158
246
283
176
261
213
129
164
179
187
204
207
206
183
297
146
230
204
155
211
257
149
169
146
235
170
209
254
193
232
215
239
146
186
335
211
164
220
187
189
176
235
209
143
166
173
115
189
243
211
300
200
178
307
209
176
129
159
183
265
274
164
208
173
204
161
204
160
193
184
186
292
184
176
215
191
168
138
129
208
219
133
155
149
190
150
183
203
174
130
185
230
168
190
169
248
166
210
129
200
225
158
265
176
143
176
129
146
160
180
143
180
184
207
149
161
194
146
170
277
217
179
168
202
184
183
200
218
207
242
234
169
130
176
133
168
188
208
205
186
168
177
156
228
187
208
192
190
173
183
264
208
182
164
115
146
190
129
224
181
222
211
198
169
173
132
150
145
151
130
162
176
181
270
211
204
287
155
194
171
180
199
198
181
160
181
236
213
201
179
204
202
130
202
166
220
122
226
197
183
182
195
225
198
130
217
242
236
162
158
207
191
256
195
217
192
176
207
160
182
192
217
176
210
231
226
239
217
227
192
165
198
179
129
202
145
146
160
189
225
221
189
185
185
176
115
130
228
214
195
221
152
238
179
145
201
271
211
191
165
192
159
171
219
178
144
246
160
150
211
155
304
173
152
204
143
192
180
216
146
187
230
247
145
182
156
147
168
161
129
188
180
141
189
208
204
152
177
188
211
233
179
213
227
130
195
164
178
164
203
180
188
253
158
173
222
197
331
258
146
210
251
177
176
182
213
252
164
252
205
183
202
304
132
177
179
188
217
170
195
199
235
158
210
182
176
145
256
173
155
206
255
192
225
210
176
190
228
189
208
174
183
227
187
191
253
283
158
210
335
156
158
197
213
222
129
173
179
215
166
143
212
210
183
185
191
210
234
227
218
199
146
189
173
176
211
173
264
262
206
160
203
186
256
178
193
217
149
180
180
173
129
244
169
144
164
171
271
178
181
173
146
235
246
254
133
202
209
227
140
218
130
229
217
194
213
165
201
236
158
300
173
183
159
225
193
198
185
209
209
216
247
237
168
164
158
285
130
204
227
176
176
179
155
143
217
212
173
167
219
161
130
129
138
182
260
130
143
212
212
163
163
180
204
204
242
115
191
179
236
173
162
176
204
168
146
236
255
210
153
202
300
225
169
161
168
202
147
162
210
283
215
149
195
146
143
219
164
205
188
129
216
189
204
130
129
202
242
176
182
129
166
214
184
187
208
173
210
299
202
232
210
188
246
143
130
178
181
227
204
235
200
200
190
183
145
261
176
170
204
130
192
130
216
226
185
211
201
133
149
129
204
237
201
184
188
206
184
243
206
143
177
166
115
188
230
143
217
173
168
250
182
213
217
247
176
182
179
208
161
169
168
183
171
205
201
194
166
170
188
173
173
146
216
176
179
162
204
211
204
152
176
157
211
193
262
173
188
238
178
194
224
129
210
191
162
146
191
206
178
238
207
184
206
194
169
208
231
146
179
162
217
236
129
165
143
237
261
173
138
210
192
294
182
129
189
219
209
215
202
234
205
191
247
129
307
238
210
115
174
180
191
215
203
178
129
222
177
167
206
212
200
188
284
283
115
264
214
221
257
178
129
221
242
195
173
184
162
170
176
229
217
175
228
145
164
265
175
242
186
176
199
195
210
214
169
204
245
173
225
188
183
236
205
189
164
129
184
130
188
149
173
146
235
192
201
146
250
145
130
176
202
201
183
183
222
255
197
202
235
189
209
184
225
190
211
150
210
242
158
130
182
217
171
130
182
143
186
208
130
165
254
156
197
164
283
146
206
204
179
261
300
146
162
212
169
146
145
177
203
251
174
193
171
153
190
150
179
187
158
250
146
164
171
176
171
156
212
162
180
285
188
129
174
201
229
152
222
224
173
152
231
204
176
184
206
144
178
167
168
129
145
164
180
184
177
211
247
202
146
161
176
236
171
165
254
178
156
222
130
241
164
231
219
224
143
143
143
233
174
210
227
274
246
192
211
208
201
194
165
155
184
199
133
129
183
115
187
169
204
207
206
187
204
230
160
150
253
183
186
201
266
145
166
173
133
195
191
235
257
194
210
203
244
205
235
184
238
335
247
238
204
224
238
222
211
179
200
184
258
178
176
214
189
230
200
192
129
210
215
211
196
173
210
130
160
176
221
129
271
189
284
237
186
119
210
184
217
201
230
217
146
258
230
271
265
212
162
227
188
163
141
234
187
250
192
193
214
195
162
122
157
156
204
247
166
210
162
213
185
221
154
246
303
240
183
238
239
252
188
173
191
184
210
133
130
191
209
231
129
233
202
179
234
193
229
213
129
204
210
145
252
164
213
173
210
270
222
252
182
225
176
231
181
176
146
167
169
210
143
173
183
171
209
211
204
170
190
210
175
150
129
254
212
236
133
210
149
166
259
158
262
209
146
244
236
300
214
158
207
201
219
214
242
184
146
179
189
242
242
181
129
176
146
207
201
176
283
200
145
204
242
119
144
204
143
182
281
230
203
175
182
203
169
179
146
233
171
159
215
151
206
211
168
166
213
221
183
138
174
146
229
173
215
211
224
214
226
130
176
236
204
129
155
188
258
138
233
216
141
235
156
227
169
162
199
161
162
230
186
156
222
275
211
179
255
230
179
259
229
174
146
176
246
207
185
198
162
226
176
202
212
205
204
201
213
143
284
188
198
206
184
133
204
174
204
192
230
129
130
129
210
260
230
225
241
168
174
220
138
208
221
210
229
129
146
173
153
176
161
217
188
201
217
145
179
184
130
206
151
146
157
197
145
200
208
174
225
190
228
145
248
174
173
173
246
157
248
161
185
236
157
141
213
260
202
158
229
115
214
201
180
218
187
223
168
193
206
249
254
199
256
133
204
188
191
206
183
161
157
132
186
176
236
186
203
198
251
204
152
258
183
239
168
146
173
174
230
173
242
204
184
228
156
214
156
210
251
173
171
159
178
258
159
204
208
195
264
207
166
184
229
156
229
237
249
164
146
188
171
236
219
213
183
225
204
244
129
182
179
129
242
141
279
187
169
217
194
141
176
219
238
195
188
164
187
146
217
181
158
177
174
211
168
146
191
179
221
146
176
149
241
177
225
202
174
260
130
168
180
196
277
204
185
129
284
204
268
146
234
204
129
182
165
209
182
156
200
318
130
199
191
303
145
128
146
167
174
210
243
189
204
252
230
226
227
173
186
204
201
203
195
129
230
165
174
129
179
159
217
201
188
197
173
191
222
149
146
157
225
185
183
131
186
245
179
208
226
151
238
145
176
201
201
184
158
183
234
130
157
155
199
182
200
176
181
146
155
151
145
191
171
178
287
129
203
150
184
208
185
217
220
195
173
173
247
173
287
186
237
199
199
155
161
145
203
195
212
228
214
222
158
210
188
193
129
164
185
150
203
200
180
193
204
213
173
229
182
202
182
146
201
176
169
153
186
172
166
173
240
193
174
222
115
166
235
238
129
191
201
217
195
179
204
204
221
115
188
196
187
188
182
115
145
190
218
180
203
253
180
202
215
204
225
240
176
173
176
183
252
189
169
151
221
178
204
115
179
197
191
180
148
197
200
181
176
154
191
202
237
259
200
209
176
240
219
227
204
149
187
238
255
254
192
115
234
236
168
183
179
228
160
184
200
248
146
179
188
146
188
197
192
219
227
166
174
182
295
164
146
150
176
195
225
238
227
179
204
227
179
214
158
164
194
216
202
225
229
173
155
129
211
264
217
176
152
178
160
273
122
159
185
254
115
204
164
264
243
173
224
230
222
242
223
217
224
236
168
206
183
231
129
241
156
257
188
180
164
243
211
130
143
255
261
210
115
191
176
242
164
187
132
180
238
217
192
184
168
161
175
178
225
210
259
201
202
171
185
161
166
138
157
182
158
205
173
191
196
176
239
168
164
146
244
158
133
171
179
115
195
202
237
167
133
146
197
173
254
214
237
191
233
209
174
259
185
203
211
204
180
187
244
169
184
277
210
264
180
231
201
183
202
206
184
236
229
186
185
173
218
176
175
164
133
191
173
176
173
228
242
229
150
191
234
146
145
275
229
298
185
176
212
130
191
143
130
161
226
198
263
144
212
210
162
145
130
209
203
169
169
200
282
181
130
239
164
165
194
183
245
207
217
145
246
182
153
143
222
205
222
248
200
200
169
204
163
156
209
179
254
157
231
264
129
130
206
230
162
308
187
167
195
230
214
246
246
226
219
176
169
178
173
240
212
254
200
202
202
130
154
155
221
212
246
164
192
179
180
168
146
195
145
191
206
164
166
141
211
206
218
258
146
173
160
233
129
223
254
197
176
246
144
130
254
220
204
130
236
209
208
256
217
216
176
180
173
186
311
129
187
178
230
166
184
180
147
167
201
245
206
217
219
200
162
143
262
284
165
160
227
186
204
169
182
133
230
185
203
203
179
202
160
203
250
212
186
212
256
236
180
203
208
145
228
173
194
216
171
141
217
229
164
203
220
228
129
156
168
173
176
151
164
179
195
189
128
210
211
183
122
143
200
221
185
235
230
204
166
203
254
207
185
220
178
243
195
204
164
130
156
173
184
156
169
257
225
173
162
176
173
230
168
182
237
257
170
193
178
235
204
260
173
230
128
185
155
183
129
242
223
247
184
202
158
146
119
202
238
143
199
180
185
195
281
179
193
259
115
204
217
178
246
176
164
115
138
206
217
130
179
221
144
246
156
190
168
286
263
194
205
174
240
221
178
226
156
226
133
143
175
153
176
186
169
173
335
275
184
203
225
150
168
173
157
201
173
209
235
237
225
174
188
189
313
172
145
215
201
185
164
146
221
226
162
172
181
184
199
205
184
129
141
239
185
150
172
172
143
176
156
158
176
129
221
184
173
161
258
277
211
211
166
236
129
146
263
176
172
130
160
149
129
193
166
198
130
239
172
227
227
193
206
194
204
191
185
210
165
217
204
182
145
195
166
127
173
179
170
143
192
146
202
188
215
178
203
122
246
216
205
242
130
192
160
168
212
221
146
204
132
162
145
241
145
212
205
217
172
212
236
164
240
145
245
263
173
185
191
158
204
233
239
222
190
272
173
207
185
199
180
172
209
194
180
184
190
240
178
255
173
230
204
244
185
202
255
133
158
183
267
186
259
255
214
181
184
130
173
210
130
138
166
214
153
204
217
170
235
176
236
227
146
173
207
119
201
146
211
183
177
188
189
230
207
176
319
150
216
247
253
179
166
141
230
248
161
146
229
239
226
130
241
133
195
204
278
176
201
158
186
239
220
133
242
202
164
171
209
206
208
166
222
194
201
209
249
280
191
243
168
223
206
166
146
173
264
191
212
143
130
254
173
170
175
187
156
130
141
204
204
145
180
250
159
211
166
178
129
159
185
206
128
209
146
161
115
181
129
197
162
164
231
199
224
195
176
150
229
162
191
227
192
144
190
158
193
245
259
236
172
239
168
190
149
211
217
200
143
194
204
201
189
177
191
230
169
173
205
237
129
122
232
129
130
222
168
230
214
229
115
239
321
208
145
138
254
176
173
210
210
159
173
200
217
129
170
183
143
170
171
200
115
217
115
143
239
199
164
226
225
176
115
179
129
164
206
238
222
142
194
230
224
129
179
129
189
265
243
230
255
285
211
173
262
207
151
264
130
262
200
132
198
225
239
205
216
214
217
202
200
256
191
237
202
192
206
122
122
204
170
164
173
143
201
184
173
168
204
174
225
182
202
129
224
213
144
169
200
211
207
157
132
209
208
158
197
191
181
212
236
198
146
132
159
215
168
129
269
211
194
176
220
192
221
141
244
146
213
206
255
192
198
143
229
170
179
188
158
183
174
285
215
185
130
266
185
179
145
194
176
162
215
207
254
209
195
242
129
215
175
182
222
129
209
176
146
207
229
146
216
202
222
274
231
149
179
202
178
247
178
115
202
174
162
158
193
206
192
216
176
129
129
180
130
157
185
191
145
221
179
202
183
204
145
219
217
115
192
247
200
159
232
247
204
203
194
263
149
259
271
161
143
182
237
215
115
253
181
162
143
247
190
229
180
241
173
130
146
129
239
133
179
115
146
173
191
201
204
176
256
162
221
173
222
198
145
133
203
173
202
198
175
164
243
129
147
235
183
138
176
218
133
187
175
185
204
242
166
230
146
186
169
219
155
187
198
261
150
186
129
267
225
206
244
185
160
173
173
157
141
235
191
129
160
176
189
221
129
261
274
164
133
173
129
200
219
228
168
201
202
188
208
217
177
146
247
173
259
197
225
173
202
185
264
330
173
204
227
160
146
244
184
146
129
189
129
235
230
185
186
138
228
230
244
169
239
225
151
198
217
119
133
210
165
278
180
206
191
179
160
242
254
187
199
160
184
277
207
228
160
209
146
216
143
169
220
129
226
238
222
231
130
161
216
204
173
211
173
129
145
163
166
274
204
141
185
246
251
197
168
203
146
191
182
187
172
296
209
186
231
146
209
205
254
206
170
182
185
195
204
145
222
204
179
175
202
185
182
181
178
210
180
192
133
247
130
164
161
130
199
226
221
204
191
190
204
222
202
235
175
237
246
145
175
173
181
218
242
133
155
130
115
239
203
213
238
129
173
187
191
209
201
243
146
184
264
224
222
173
173
218
203
246
191
157
252
276
276
228
206
201
146
190
159
158
165
254
115
150
176
200
172
155
184
191
173
171
234
208
244
188
162
277
238
184
160
207
274
185
183
155
155
217
191
197
218
216
165
184
119
176
210
230
129
264
169
269
184
210
217
138
261
180
182
297
210
251
176
181
182
186
181
155
201
218
232
236
156
143
182
210
220
204
172
207
255
184
203
173
179
211
130
150
200
209
162
179
264
179
130
145
162
207
211
168
143
146
206
132
247
266
176
221
203
146
202
176
224
190
247
287
226
115
228
277
199
183
206
187
214
234
176
150
205
143
173
212
202
173
162
176
129
191
274
179
185
265
214
237
210
129
229
261
176
188
166
189
175
176
173
181
150
179
200
166
173
204
209
158
129
115
224
244
195
202
278
335
335
170
129
228
150
146
190
192
196
167
164
173
186
129
210
185
193
217
237
179
146
194
178
164
208
202
203
149
206
216
133
204
200
178
243
167
211
249
157
138
224
162
160
138
173
156
200
115
158
258
133
283
194
186
193
162
204
184
204
203
185
213
163
158
204
176
164
210
258
177
146
163
182
192
167
187
265
217
215
212
158
182
193
141
254
180
175
209
216
239
130
164
151
145
164
271
228
220
232
122
165
194
228
201
212
170
115
173
202
219
186
130
199
152
146
195
130
130
183
146
175
187
174
130
232
178
130
155
211
144
223
242
143
224
213
210
174
193
129
254
201
189
143
221
133
164
182
176
190
130
226
150
242
262
194
179
196
173
253
173
204
192
157
216
146
195
216
201
173
209
247
259
219
246
251
129
217
311
171
167
129
183
231
218
246
193
156
176
223
172
200
225
146
168
129
161
201
206
179
231
197
215
176
230
181
138
204
233
218
146
129
157
227
199
129
176
163
223
194
213
236
193
150
202
193
221
244
172
188
131
216
145
146
230
168
189
141
180
133
145
177
219
210
259
189
294
149
130
210
222
259
129
180
122
252
144
206
265
206
203
217
185
250
203
176
173
188
168
184
173
335
180
171
207
202
246
203
201
181
204
209
257
223
204
189
173
180
198
168
141
188
298
176
236
204
244
185
190
295
252
176
199
199
149
133
177
302
225
129
182
249
210
157
202
188
149
183
234
182
199
191
203
219
176
214
176
189
227
200
247
264
213
155
243
204
204
158
176
253
335
184
210
157
217
122
183
222
206
145
146
178
184
168
145
160
248
162
217
230
218
178
129
188
162
272
217
185
217
129
130
257
220
202
210
216
288
130
179
200
178
129
130
178
161
183
191
183
182
217
191
335
217
256
184
145
168
216
158
212
214
204
162
223
210
209
174
129
115
149
187
158
202
211
193
183
194
129
300
158
146
214
182
162
292
194
211
202
239
202
181
256
195
191
215
184
217
149
172
258
203
174
176
200
130
204
230
168
204
207
227
153
186
217
185
164
144
185
236
230
115
183
194
150
178
210
229
259
193
210
146
173
155
231
162
161
199
211
217
146
221
332
158
206
226
233
181
193
138
211
242
210
201
287
242
229
227
122
188
228
176
204
191
180
250
204
169
216
193
146
217
182
205
168
173
172
194
122
203
164
230
178
158
155
189
164
194
264
169
201
200
258
149
220
304
236
183
185
204
211
173
159
251
201
200
145
115
143
155
147
247
211
160
228
146
146
237
185
207
141
129
145
179
173
255
179
226
186
185
179
238
169
188
176
221
194
157
199
258
197
235
222
205
213
128
145
189
182
173
128
178
206
223
176
229
204
228
215
130
184
210
209
156
115
141
173
115
217
162
222
294
209
226
129
259
246
149
146
155
204
177
169
191
203
177
211
165
176
186
224
204
193
216
221
176
199
152
158
178
213
183
162
239
182
145
169
146
269
130
164
155
189
211
175
185
217
150
146
133
130
217
156
217
155
254
230
266
231
184
166
205
132
181
115
254
230
169
188
219
176
168
161
191
129
115
315
179
210
206
222
242
173
204
156
166
186
182
129
176
180
146
251
225
179
186
153
283
190
194
202
204
176
182
161
194
212
122
217
246
205
153
276
149
240
143
151
145
143
130
215
224
161
173
176
164
182
191
176
173
202
189
228
194
178
173
239
129
146
176
146
195
182
146
199
292
231
262
249
173
151
227
204
158
177
192
130
217
174
192
177
256
200
133
246
232
226
217
168
210
265
130
183
238
213
166
242
210
234
183
179
215
204
230
129
188
219
193
174
173
143
219
164
285
158
182
200
254
210
269
246
200
174
242
204
198
174
264
227
160
184
214
178
205
176
187
157
182
236
178
217
204
178
237
157
176
168
202
228
188
182
227
144
145
129
207
221
146
223
251
203
176
179
193
129
197
173
167
229
193
150
203
230
133
229
152
164
183
226
157
156
188
188
150
269
228
173
162
217
252
225
178
146
162
204
209
201
235
236
169
122
168
161
145
150
289
138
263
171
230
176
194
198
150
193
230
333
230
146
138
236
185
192
246
269
195
185
133
189
217
230
193
129
200
180
211
164
132
129
210
236
203
181
228
193
246
164
169
176
178
168
223
254
245
182
264
185
190
187
184
166
193
235
203
189
179
166
225
146
180
209
169
179
130
271
224
173
228
222
156
211
168
245
152
238
130
193
221
230
129
169
172
130
247
208
251
180
324
130
200
146
138
129
240
219
230
161
208
129
182
160
209
230
174
161
247
156
184
224
239
247
201
182
232
129
201
141
221
141
145
217
217
194
184
181
185
249
222
194
210
236
146
183
227
174
185
222
185
168
160
212
176
173
195
180
210
155
176
152
185
217
130
211
183
166
210
143
179
212
212
164
255
287
226
191
164
152
162
174
235
201
262
174
264
166
152
248
149
155
208
168
129
145
164
180
249
129
181
129
188
191
256
201
204
166
211
201
129
173
147
146
243
158
181
181
152
239
176
224
210
261
174
130
217
201
228
173
168
178
146
182
184
149
184
220
234
153
217
129
185
210
226
129
160
129
199
128
174
186
146
236
206
215
180
244
206
155
184
173
191
214
215
168
238
115
164
146
146
151
157
202
191
115
144
164
130
188
217
162
146
159
179
180
184
190
211
183
284
173
164
247
182
130
200
245
182
166
160
146
211
207
217
176
238
130
150
129
254
231
156
247
204
249
267
153
173
236
169
130
230
230
206
146
157
173
173
265
191
258
209
146
146
211
184
227
176
234
164
143
261
273
296
206
235
169
214
210
244
155
206
129
202
185
237
335
166
182
228
173
178
210
225
208
168
184
179
261
133
159
146
208
129
260
183
143
236
145
181
182
191
176
161
225
254
241
195
234
191
254
115
228
201
157
267
130
193
185
162
192
150
225
174
162
129
128
214
200
130
210
170
173
201
157
159
203
192
174
158
192
258
184
176
193
206
217
172
145
235
143
173
195
173
162
133
146
207
158
173
206
236
178
146
173
251
236
251
147
169
261
166
236
133
264
115
173
158
212
115
204
129
224
115
275
214
183
246
173
138
253
146
244
160
173
189
167
204
186
162
184
143
146
253
198
219
115
164
209
217
210
143
202
247
179
129
157
209
155
179
242
133
204
222
239
155
182
204
200
203
223
248
204
235
182
202
173
145
169
162
335
213
159
145
206
203
164
138
190
239
168
264
248
160
157
183
183
247
146
115
178
191
276
220
197
145
213
181
194
175
146
246
218
146
217
141
176
144
183
246
178
204
129
146
182
169
173
202
204
173
133
183
173
248
179
163
248
202
178
176
229
230
157
195
182
179
229
187
182
202
217
159
180
161
182
204
202
176
184
169
226
191
204
145
181
143
228
146
169
186
206
231
238
194
231
245
182
210
194
185
212
217
256
272
201
198
238
138
147
287
216
181
178
196
230
130
216
183
129
195
158
206
181
183
176
208
141
196
261
212
173
146
206
176
227
145
143
164
218
228
173
235
217
199
185
247
212
211
152
244
215
251
173
232
133
211
164
223
143
210
193
274
204
176
236
247
224
143
230
184
216
189
212
178
253
129
146
169
211
195
127
197
331
176
206
211
221
186
209
179
234
200
174
129
210
205
129
200
176
176
200
214
209
133
195
191
236
193
164
129
210
210
115
214
143
160
227
128
194
195
261
122
173
211
156
194
251
271
189
176
263
171
168
170
173
146
230
169
183
179
166
173
191
201
246
166
189
179
184
230
186
215
287
259
236
193
115
206
203
130
176
231
237
186
208
215
204
192
162
162
226
234
178
188
188
146
146
202
181
333
222
168
208
153
146
237
169
236
217
174
173
192
181
204
200
160
210
212
230
246
207
177
164
149
168
173
241
191
211
204
225
276
133
167
261
201
203
115
210
278
200
129
160
184
200
132
151
238
201
155
191
176
173
129
150
278
176
146
164
245
171
146
200
115
260
201
176
241
178
189
218
222
221
231
263
225
164
128
190
170
201
129
171
201
145
181
259
217
199
251
156
173
168
179
220
216
271
206
185
161
264
188
252
230
201
225
167
143
211
203
164
210
207
224
160
180
115
161
179
200
185
181
193
145
238
207
162
115
129
231
141
210
219
162
141
182
201
160
162
183
225
133
182
153
220
259
156
172
259
213
194
195
211
226
222
164
171
201
186
156
259
183
194
308
265
239
197
191
173
145
239
201
162
173
201
201
214
204
253
147
176
133
238
221
178
248
176
190
230
217
179
179
161
184
190
214
201
168
188
205
145
201
191
201
211
202
209
206
122
217
165
209
204
143
167
227
210
172
213
173
230
191
163
204
206
138
214
189
204
145
191
189
170
270
203
199
146
173
174
145
274
259
130
193
247
152
141
232
188
256
206
155
129
143
194
204
158
202
146
173
193
176
185
199
155
180
155
183
132
129
191
180
166
175
192
215
182
164
238
141
141
180
156
179
224
252
159
269
145
178
146
168
172
129
152
201
158
257
181
173
159
130
146
206
173
138
188
155
199
204
230
190
249
218
130
230
166
189
184
191
200
210
163
129
133
133
183
174
174
129
169
245
206
181
184
130
283
218
133
216
150
200
246
162
260
146
181
172
165
160
235
230
214
179
145
191
182
181
186
192
238
230
179
209
129
179
128
302
173
225
217
176
227
164
246
178
239
164
129
239
236
210
151
176
194
193
218
249
184
242
202
115
211
156
242
265
162
173
169
250
173
221
176
234
232
162
203
174
244
144
168
129
213
245
166
209
178
201
133
203
178
161
145
211
162
179
176
201
176
304
156
176
173
184
161
174
115
169
202
217
209
175
191
230
191
169
141
185
147
115
278
130
173
170
206
234
182
143
210
183
192
179
187
184
214
181
259
143
182
199
229
228
173
225
217
181
180
216
195
129
221
129
162
210
158
158
239
201
215
158
191
179
210
194
190
209
217
291
160
173
184
205
222
158
227
138
143
207
173
185
173
129
277
158
169
176
162
226
155
146
277
221
201
223
182
191
198
129
206
150
251
141
188
200
206
224
162
160
186
130
232
238
164
128
229
247
190
238
129
256
238
242
143
189
199
257
211
178
203
217
249
194
179
176
133
128
173
217
237
175
200
209
185
179
185
200
158
146
185
222
210
174
129
230
214
164
208
129
248
202
175
138
130
185
143
198
157
176
204
194
216
227
187
195
130
207
197
146
220
183
128
224
227
201
183
161
191
155
175
177
236
219
265
211
218
184
229
183
176
219
202
198
128
245
133
206
176
218
192
144
133
284
236
221
225
176
190
179
184
179
230
218
269
162
168
239
192
149
179
211
189
166
209
146
182
146
275
223
129
171
187
273
130
157
208
180
194
176
143
176
145
203
209
141
130
256
201
273
201
228
209
133
192
146
202
224
187
129
276
130
250
212
184
167
186
173
146
199
210
115
258
179
187
222
146
182
158
247
168
238
190
150
155
246
188
208
229
173
169
215
186
176
204
244
174
201
149
211
160
143
129
209
192
215
200
182
190
185
173
155
183
184
163
204
193
189
192
141
173
217
145
210
129
221
133
173
178
173
179
199
188
228
129
204
214
184
251
179
264
242
183
200
129
211
164
164
158
196
115
176
210
176
206
180
179
153
130
146
200
245
200
128
170
243
225
194
177
211
153
162
145
178
119
182
172
221
130
189
164
176
218
164
187
253
173
184
260
184
148
202
228
208
194
162
179
211
209
158
176
179
184
234
210
192
216
143
129
206
222
204
206
272
207
197
190
246
225
210
129
194
188
238
176
179
201
217
228
210
201
189
217
169
192
279
146
141
240
239
204
145
197
143
176
143
255
251
236
206
224
187
191
204
206
238
195
164
231
175
149
228
272
130
206
146
164
225
234
179
219
201
145
166
161
176
178
143
178
219
145
146
217
176
129
115
251
155
185
204
152
184
208
178
207
173
160
295
161
132
210
182
146
204
193
202
221
165
201
200
254
201
266
221
229
183
184
176
225
146
230
181
115
130
255
231
130
204
234
211
260
204
222
217
208
245
230
146
130
173
191
176
129
164
206
138
161
204
222
162
196
141
206
248
169
265
192
197
172
245
201
179
174
335
211
162
141
145
255
176
150
182
133
220
176
179
188
165
173
214
190
209
165
278
182
182
166
210
233
183
188
187
164
169
143
205
158
158
115
183
202
225
249
163
206
176
178
145
146
245
186
188
194
248
298
146
243
138
201
184
210
145
176
223
169
197
201
287
271
168
173
191
238
185
204
133
132
239
236
200
166
133
180
195
150
206
176
230
129
207
183
168
291
170
176
192
182
266
172
168
201
182
146
204
197
248
180
207
130
176
168
221
160
211
230
211
208
174
161
156
253
189
180
146
160
183
137
217
181
194
129
165
145
198
183
170
173
164
193
214
181
261
226
192
225
173
219
180
176
193
228
145
199
176
204
155
143
168
157
146
179
217
210
129
179
179
194
158
261
175
297
167
168
177
129
199
129
226
217
169
145
201
204
246
188
176
258
179
169
255
168
239
128
217
192
150
130
180
146
166
149
188
245
145
239
201
207
210
191
130
229
176
188
215
200
149
202
173
185
145
282
164
164
185
129
197
200
283
200
185
145
173
129
166
176
155
217
122
252
155
217
261
201
208
129
168
180
161
185
230
191
232
164
172
208
143
152
147
160
179
190
171
186
302
152
225
155
156
179
162
180
187
240
204
151
167
133
246
227
201
145
195
175
178
129
192
297
130
183
182
257
186
229
214
166
170
249
236
161
162
166
204
164
202
202
211
249
203
202
178
151
192
130
215
183
162
183
228
153
273
189
168
188
160
239
167
205
173
176
190
130
183
201
122
145
241
146
185
238
165
230
283
157
157
129
221
169
214
138
218
178
146
230
129
201
256
185
185
179
214
259
149
149
176
145
146
129
180
201
155
248
133
265
185
202
235
184
232
217
236
200
257
202
208
214
236
225
133
163
216
150
194
185
168
171
254
227
230
138
238
196
214
201
143
204
156
155
179
167
141
150
266
201
171
141
155
146
146
157
155
210
146
180
258
199
234
213
239
216
258
162
197
172
150
173
198
179
187
253
166
239
228
245
239
146
188
186
225
168
258
214
130
202
226
146
205
299
180
171
173
207
173
146
164
237
222
155
215
173
145
265
235
145
195
173
239
201
172
149
150
186
145
183
172
115
152
150
231
220
234
180
217
234
129
211
238
174
176
193
130
188
176
179
145
164
209
209
221
179
168
158
229
187
217
145
145
193
145
210
184
192
164
225
176
237
176
215
132
200
179
181
170
222
220
169
162
180
191
325
169
247
115
176
129
186
270
150
193
230
153
130
179
234
237
150
178
211
174
129
208
197
179
143
146
178
231
217
210
182
192
238
157
155
186
163
168
201
146
191
191
217
133
257
225
228
168
157
249
115
188
294
130
130
216
129
208
178
258
146
176
191
230
141
204
225
240
180
193
185
129
208
214
168
256
210
194
217
174
268
155
274
193
222
222
183
166
150
208
173
184
146
146
203
156
155
173
199
171
214
193
133
178
218
228
184
173
276
132
216
146
186
204
175
160
210
217
168
175
130
204
218
229
155
209
146
151
122
191
239
160
129
179
187
211
130
207
237
223
173
184
216
222
176
150
156
222
192
150
158
172
220
172
115
154
173
231
162
130
147
253
249
133
162
225
184
184
143
238
171
180
175
133
122
211
173
163
198
176
227
187
217
200
194
164
179
209
164
200
183
237
170
261
162
197
176
216
180
210
176
234
239
149
166
129
194
263
216
191
229
239
291
188
231
143
236
179
181
217
204
217
203
184
202
191
183
214
173
146
184
210
230
183
196
194
211
174
176
174
146
172
176
173
161
173
185
173
171
210
242
156
207
214
164
237
195
173
232
184
146
242
143
173
204
218
176
211
183
162
166
216
293
162
225
206
161
230
225
218
225
161
304
215
214
129
219
251
230
200
229
263
129
190
196
179
206
177
281
189
238
149
238
129
200
155
246
181
255
189
205
189
231
288
176
172
168
306
129
157
182
174
225
246
234
173
210
146
158
247
283
149
194
115
164
185
181
180
285
176
156
122
210
201
133
237
164
249
230
176
158
166
133
222
181
172
173
264
155
221
205
185
211
214
122
167
133
264
176
228
197
217
203
185
302
196
180
182
184
176
129
130
191
173
199
258
202
187
153
217
226
248
179
262
204
141
146
178
204
168
225
179
176
176
158
192
155
182
184
210
228
236
129
242
176
200
254
141
188
319
145
242
146
146
207
207
208
161
155
168
237
211
204
122
247
184
161
201
164
246
162
182
186
242
202
151
152
129
184
138
122
214
240
138
236
146
225
190
203
221
212
149
176
259
259
145
194
193
192
184
192
233
206
216
202
177
204
199
263
204
176
149
206
146
204
187
198
180
225
162
183
166
179
188
143
180
130
184
210
129
168
160
133
187
122
231
234
166
175
178
179
258
176
119
319
190
195
193
216
146
210
146
167
187
211
228
205
180
213
204
210
203
240
197
186
270
199
184
177
141
198
145
155
221
130
155
179
133
259
266
143
214
284
158
162
236
171
216
152
210
289
160
217
115
176
173
143
213
165
129
222
145
191
201
173
188
183
203
185
172
176
264
153
159
194
158
300
130
215
257
322
188
243
173
143
129
176
294
232
229
195
190
268
202
225
210
187
198
130
203
133
176
183
190
164
150
214
255
190
204
240
195
150
251
168
164
156
158
130
175
270
201
187
178
219
210
202
198
237
146
176
215
232
186
235
133
174
192
187
146
217
188
143
190
182
192
227
166
140
158
206
200
162
179
169
170
146
251
164
222
206
169
250
129
204
206
198
194
183
157
143
155
185
222
164
230
204
257
256
160
211
237
152
269
115
143
204
256
193
171
171
179
164
182
168
150
283
206
130
201
211
158
188
182
145
217
264
176
210
264
185
209
225
200
161
227
129
231
133
173
260
216
189
190
200
171
203
252
190
211
215
185
188
220
211
129
115
237
129
160
130
246
232
296
182
177
214
176
237
244
181
215
247
205
208
302
210
178
231
172
201
252
146
130
201
164
176
230
129
145
220
171
200
202
185
210
188
201
222
225
269
217
191
320
204
153
193
206
233
161
223
212
129
215
216
217
206
262
277
202
211
308
226
184
146
202
183
205
191
191
247
190
204
149
156
176
129
143
149
182
248
201
232
158
174
256
182
227
168
175
138
208
281
238
176
188
236
173
163
128
238
265
174
174
170
162
180
176
178
156
191
130
166
180
216
237
188
250
173
267
298
300
260
246
172
176
155
185
242
184
188
115
169
181
203
254
234
130
201
130
239
264
171
161
231
166
224
225
194
144
204
204
130
204
184
172
201
172
192
146
191
249
204
201
217
193
168
246
172
173
252
204
166
159
180
192
213
191
122
129
192
173
146
259
195
210
249
157
217
238
146
188
204
162
180
115
212
178
162
242
182
234
172
169
216
202
129
200
217
156
130
156
158
182
205
218
206
221
210
171
149
221
146
146
202
146
129
206
188
230
214
158
252
173
219
207
229
122
130
211
146
167
172
227
180
225
179
246
146
130
210
231
263
173
283
217
226
129
258
173
222
206
199
168
195
162
213
115
150
194
233
129
115
260
129
130
173
204
254
208
130
129
182
239
204
200
246
133
173
181
152
238
193
200
230
199
243
204
217
264
192
227
178
144
229
200
236
257
238
180
222
236
130
178
224
212
184
195
198
155
230
133
171
155
144
197
212
289
179
202
146
217
215
247
209
281
161
182
236
197
206
244
230
130
186
168
243
206
187
164
235
227
161
178
145
129
141
160
211
129
264
171
263
206
194
161
217
178
195
129
156
158
214
224
158
145
193
210
165
175
168
225
169
178
261
209
179
251
191
267
133
207
222
234
201
149
231
230
176
221
162
238
150
246
238
185
133
238
271
230
195
176
266
203
210
210
155
169
144
268
235
178
227
236
191
130
217
201
182
185
210
205
122
181
197
171
227
182
201
176
239
235
129
207
189
297
178
217
170
173
129
166
202
199
272
167
179
182
138
130
204
210
183
159
204
189
160
129
204
178
130
205
208
209
129
189
193
156
192
171
222
173
173
169
129
255
201
222
158
216
182
145
224
224
143
155
155
156
183
141
262
217
295
145
319
216
310
191
214
191
169
168
167
115
202
225
130
156
189
169
185
163
207
176
207
235
184
172
160
175
213
192
145
239
207
157
173
172
172
258
258
206
185
173
169
188
170
230
200
222
156
168
173
228
133
205
165
146
202
215
180
267
224
239
214
176
217
211
169
197
168
171
150
156
251
204
200
204
149
156
192
222
174
174
210
185
170
129
130
233
261
221
184
172
195
146
210
174
129
151
257
257
171
208
191
185
261
183
204
181
177
247
194
156
230
178
162
176
146
181
236
179
209
165
166
164
184
150
261
200
169
212
199
239
233
211
174
239
173
170
230
129
155
194
162
179
217
129
162
184
191
160
152
146
205
236
190
122
128
230
178
149
130
158
226
130
129
130
214
166
204
197
173
191
191
180
146
157
185
204
198
195
251
176
156
221
179
200
246
183
206
170
174
192
155
149
280
229
146
156
155
200
251
211
198
152
256
185
129
181
204
206
201
183
197
202
176
210
176
199
211
153
210
195
191
279
150
227
173
173
163
199
146
274
264
202
202
184
237
187
224
175
179
176
157
238
132
187
152
188
230
246
146
191
183
122
186
261
221
270
236
219
151
234
197
206
156
180
254
304
294
257
179
208
180
130
141
146
194
217
211
146
204
227
173
154
180
269
176
201
254
236
221
277
173
180
169
223
164
191
238
196
174
176
274
115
150
210
203
173
166
244
152
187
212
195
246
212
226
201
132
251
265
173
204
230
182
243
176
202
188
240
176
191
206
206
217
230
225
200
188
146
270
171
238
164
175
115
197
178
179
180
146
138
209
158
200
161
141
197
115
150
186
200
176
184
210
233
164
193
143
247
187
155
195
185
238
234
218
160
192
227
187
162
156
181
176
178
176
161
204
172
207
180
145
192
209
143
204
214
255
160
173
251
178
227
217
146
235
162
211
146
239
217
173
217
189
188
228
240
173
217
133
167
161
173
146
206
176
237
183
160
224
190
210
167
166
157
141
173
206
182
208
176
164
204
156
209
145
160
156
182
130
201
190
122
115
210
196
180
184
203
255
189
156
261
183
207
168
221
146
209
219
130
158
208
206
191
172
258
165
202
186
156
207
189
184
162
130
185
198
175
130
200
190
181
173
192
176
149
146
162
201
158
160
149
157
242
133
200
156
233
133
199
254
178
176
179
169
264
158
251
257
162
178
129
214
216
234
203
221
276
168
262
174
203
171
155
178
189
249
218
184
161
205
195
248
140
206
255
191
173
214
179
227
218
228
178
219
146
133
216
139
266
187
264
185
157
173
202
194
184
173
145
198
308
173
176
211
171
184
205
202
218
239
166
257
173
180
187
198
200
190
209
263
269
204
176
210
195
183
167
115
257
179
280
182
174
209
192
229
212
155
166
138
250
181
281
228
143
192
215
248
212
299
183
185
225
200
179
129
165
183
210
216
166
199
115
115
230
202
205
175
200
176
155
141
143
179
167
205
208
245
189
212
158
179
193
146
211
171
222
169
229
228
204
178
197
244
176
216
141
178
185
238
173
222
174
196
181
221
228
130
191
210
205
171
169
178
211
158
173
185
181
197
238
178
230
175
168
203
201
210
325
178
171
217
191
185
173
173
249
221
231
182
236
146
182
174
210
168
210
236
129
115
178
240
189
218
210
207
216
133
198
241
180
179
129
179
182
220
165
130
173
166
184
293
225
230
209
155
247
202
191
130
206
170
236
216
184
129
219
235
210
188
210
133
201
129
227
209
210
203
168
171
252
222
167
164
176
210
189
257
138
169
199
155
201
173
130
258
200
202
176
191
130
202
255
178
132
216
155
280
211
227
204
173
158
158
191
307
201
204
222
146
182
185
155
263
236
129
172
186
226
241
201
215
191
242
217
179
179
253
174
168
187
174
176
264
252
210
130
200
162
183
183
202
185
279
195
204
203
214
176
217
149
180
164
178
204
245
178
144
189
152
138
132
271
164
161
146
162
210
130
164
202
133
239
161
181
217
191
290
182
207
130
158
255
222
146
242
190
218
233
275
202
143
156
156
191
188
185
170
164
178
179
166
156
157
168
256
146
194
181
162
203
184
193
217
183
145
210
153
254
201
188
208
322
141
179
207
180
158
143
228
160
176
161
234
178
226
230
145
182
183
176
221
179
171
178
195
145
281
193
128
141
206
168
141
299
242
264
173
164
192
221
146
296
236
202
222
201
171
139
189
154
195
248
171
259
185
162
189
207
236
211
130
178
186
258
198
192
155
230
131
146
146
201
159
150
198
283
209
208
239
278
194
204
209
172
162
206
215
225
213
178
202
221
146
183
220
145
176
179
146
204
233
192
167
130
184
236
151
225
162
181
191
158
130
180
185
238
260
156
167
211
200
204
161
194
261
130
174
146
204
162
145
202
234
146
168
218
227
186
217
185
132
173
217
160
160
189
224
173
146
145
180
214
218
193
173
177
228
247
129
167
179
177
168
182
169
230
173
212
182
130
176
239
168
245
217
195
236
209
146
236
216
149
162
217
215
184
255
179
141
174
168
209
289
255
283
181
194
169
210
235
157
169
188
179
264
176
239
204
206
209
264
149
146
189
206
218
182
179
178
233
170
181
143
306
232
161
204
155
210
198
214
193
228
247
238
212
278
191
162
168
239
211
206
173
241
210
218
238
191
216
245
179
130
201
122
173
130
248
157
156
197
157
256
202
232
176
188
173
160
209
173
164
230
217
155
169
171
199
167
129
162
115
213
155
185
265
190
279
239
185
140
216
201
133
191
244
171
221
146
220
179
238
204
171
236
158
247
247
152
247
246
245
204
240
180
169
274
209
208
200
164
162
174
225
258
174
173
150
235
217
173
215
130
194
132
181
129
213
180
141
203
146
172
164
115
182
173
157
210
173
182
189
160
202
179
151
115
183
202
173
149
173
129
209
212
193
206
130
202
132
132
182
201
158
145
191
183
185
185
224
130
210
199
217
163
227
174
180
146
218
158
206
202
244
242
270
246
231
146
235
201
174
162
157
193
229
201
210
229
240
204
228
155
217
252
206
206
269
182
115
199
247
191
147
173
193
115
138
244
236
241
236
162
204
160
210
196
115
138
133
162
138
185
173
168
130
187
262
195
164
133
169
224
155
226
130
213
236
221
153
200
202
177
184
145
185
182
162
259
227
193
220
161
258
193
176
115
230
152
179
146
180
183
186
166
160
189
204
195
143
191
191
176
211
162
203
212
267
200
189
197
184
236
211
201
240
216
129
169
231
130
238
191
176
234
210
168
153
244
269
132
162
204
155
165
168
288
178
219
153
210
198
206
258
203
204
146
162
130
156
192
187
157
191
176
169
226
173
217
176
223
227
176
146
230
217
161
186
193
186
159
197
229
129
129
247
234
200
133
248
219
164
202
141
285
256
146
171
157
143
129
150
241
193
168
176
225
138
173
202
240
220
211
157
192
167
164
200
145
127
173
158
183
204
150
202
176
217
216
205
176
130
169
169
192
176
164
180
173
209
183
205
162
310
285
168
202
237
191
248
239
161
234
174
166
172
156
204
206
209
166
173
129
122
246
145
159
146
204
168
223
165
261
216
204
181
146
173
167
176
180
204
130
254
183
146
209
146
164
192
170
191
179
155
200
219
247
183
143
223
263
173
217
173
130
222
235
199
245
180
143
238
287
174
176
204
202
130
179
168
164
182
170
206
234
222
203
193
223
173
168
204
193
138
210
215
151
180
214
217
208
158
203
184
218
174
129
211
219
176
210
164
335
239
162
239
262
211
238
164
166
243
175
239
133
200
190
218
211
206
236
247
182
207
264
132
258
146
199
160
188
181
246
196
230
254
174
270
173
253
271
133
130
211
201
179
222
195
150
207
199
170
236
204
162
176
236
223
240
168
146
201
132
244
130
217
188
180
168
235
206
239
176
168
138
146
119
210
191
198
221
194
184
206
158
130
192
292
176
263
180
204
185
212
235
129
237
231
233
133
228
195
159
164
225
146
133
146
232
227
174
146
177
204
209
129
212
201
176
155
236
168
173
202
198
213
115
237
201
193
173
138
204
155
129
192
194
206
182
155
230
204
226
188
195
254
173
178
146
159
191
146
169
157
256
227
168
176
230
180
206
202
122
168
239
190
217
187
200
216
238
191
143
314
247
200
249
167
189
184
141
214
263
201
228
186
145
254
203
221
150
230
221
200
146
195
223
235
227
210
252
129
204
237
228
129
183
160
186
163
188
146
201
239
219
187
203
253
231
133
158
173
230
176
204
176
176
193
115
191
141
155
172
204
230
164
186
244
210
203
278
179
168
204
204
176
145
175
300
177
150
240
190
211
177
190
211
163
178
216
230
216
200
240
162
216
151
170
215
264
191
197
133
252
133
201
236
293
169
182
185
130
184
184
208
132
180
217
146
130
192
211
205
230
217
217
211
191
189
202
206
174
247
215
182
199
189
169
207
220
191
143
201
130
146
171
129
176
224
240
190
221
213
229
284
183
180
138
190
194
168
202
176
183
206
169
201
146
180
158
230
173
137
184
202
204
182
168
248
180
158
192
177
213
263
218
179
263
176
262
143
217
172
198
211
159
251
242
151
204
175
204
255
166
199
152
169
129
152
176
171
202
222
155
143
186
206
266
191
149
214
130
187
143
177
161
195
192
201
207
183
157
220
162
186
181
217
232
176
200
158
130
183
217
216
173
205
195
198
160
215
211
198
146
230
115
222
209
166
214
183
233
208
160
133
173
164
187
196
231
174
187
288
196
192
294
176
193
173
143
226
223
146
206
199
151
204
164
217
186
199
145
237
244
146
231
246
270
240
160
230
208
184
143
115
182
155
212
208
146
143
217
261
166
170
194
129
198
222
232
201
202
231
115
190
129
217
179
224
129
153
181
180
176
196
217
129
239
183
208
201
129
162
210
143
194
181
246
230
129
195
204
129
233
139
153
178
264
238
178
231
239
218
180
115
156
277
202
172
202
178
129
221
160
160
238
166
173
180
150
240
202
176
130
238
204
229
178
131
162
203
194
169
228
162
130
247
204
132
223
201
185
239
214
172
166
185
156
202
178
175
200
175
143
198
169
183
178
162
228
251
177
193
210
176
130
198
201
217
242
150
181
282
213
178
146
156
198
225
185
169
213
197
156
182
261
158
229
191
176
247
173
215
210
213
219
184
164
275
225
193
184
146
246
183
226
211
210
200
204
185
162
220
257
191
224
192
175
162
238
188
158
186
232
197
179
146
173
215
201
133
202
149
173
173
188
146
231
161
156
129
160
240
247
253
204
164
152
115
198
192
146
176
138
210
221
225
186
164
179
145
173
166
242
145
184
146
264
210
152
160
157
176
168
213
217
145
176
191
183
238
202
233
173
232
173
163
225
164
115
217
122
196
225
229
169
161
211
115
168
220
181
173
224
155
193
179
252
286
204
294
225
200
210
232
130
177
128
204
177
273
187
186
242
222
176
133
233
217
183
264
204
132
242
173
173
231
189
216
184
239
173
225
260
235
179
164
145
173
179
200
161
181
204
146
214
115
166
211
210
243
250
162
195
255
185
198
185
255
262
253
230
206
197
153
176
307
199
158
158
283
191
206
173
184
204
129
194
195
173
128
217
150
228
218
176
176
176
199
161
221
188
173
202
222
129
205
169
149
179
204
221
201
151
176
230
182
181
270
173
203
240
200
130
220
189
181
229
216
199
146
171
217
202
129
165
201
183
169
222
223
201
274
208
190
214
189
231
159
216
160
211
191
168
205
256
229
146
206
173
202
216
146
249
129
221
153
181
163
130
173
115
166
247
186
173
181
158
152
182
193
210
224
216
234
184
170
257
153
141
172
176
208
152
130
216
210
243
152
161
217
231
234
217
130
176
170
228
198
186
189
158
146
176
130
211
260
129
133
182
213
188
208
181
144
115
140
183
182
242
190
184
189
167
237
115
210
164
146
146
200
222
202
218
218
146
252
185
238
221
308
204
197
133
200
184
201
212
183
151
158
199
189
197
150
158
208
210
190
252
209
164
296
238
177
221
146
180
185
257
163
223
250
203
288
184
209
252
130
155
197
218
210
214
146
129
192
195
178
133
230
194
164
146
224
212
216
194
122
217
167
217
183
234
204
129
133
204
222
199
181
150
214
180
188
147
250
249
207
215
210
145
237
213
267
180
130
201
178
258
166
183
256
174
165
162
236
166
133
182
219
122
214
179
174
176
272
184
195
204
213
194
229
226
204
233
146
176
192
260
236
186
257
265
176
176
172
186
127
175
130
222
211
288
184
130
173
115
189
211
273
130
214
335
183
161
178
147
227
220
258
162
214
129
188
201
246
155
247
191
168
146
225
204
214
244
238
168
115
222
173
176
161
132
187
247
208
181
183
158
209
217
169
217
227
201
227
129
145
222
129
211
260
166
160
160
176
183
115
227
174
150
245
178
210
205
217
258
225
148
195
230
217
166
203
199
215
184
115
230
209
187
161
192
191
145
184
208
146
258
176
238
209
207
158
194
236
214
222
204
235
210
145
180
150
240
143
178
202
173
218
150
208
203
204
172
173
129
188
184
129
246
129
192
206
188
245
173
217
193
238
143
231
215
146
173
173
204
170
174
170
168
143
155
202
129
166
201
244
168
181
274
178
199
161
230
227
203
173
211
130
192
208
221
217
209
195
184
203
160
223
303
193
166
258
197
230
176
173
168
225
140
212
146
210
214
173
145
247
248
129
218
168
194
254
244
130
237
175
213
214
223
230
263
175
202
208
182
211
204
181
280
146
191
161
143
267
130
147
146
177
157
128
146
193
252
184
176
192
213
208
211
206
182
210
270
242
161
164
159
206
194
214
162
223
200
176
169
161
181
130
145
244
213
195
189
254
155
146
145
314
133
183
174
169
206
264
173
210
183
198
239
252
129
185
198
233
229
133
146
149
164
168
178
178
204
199
247
176
210
155
241
199
230
201
247
176
221
145
239
178
222
176
218
214
180
166
218
210
180
236
271
221
200
133
239
151
182
265
204
210
129
185
158
211
181
184
133
215
115
158
211
228
238
246
275
181
241
178
223
216
164
241
119
179
233
232
141
169
168
167
201
201
211
152
227
173
130
164
130
176
176
171
170
172
216
187
184
202
217
182
151
195
228
212
187
219
175
192
214
173
130
233
225
184
143
236
129
195
122
184
160
227
162
166
160
201
166
303
221
265
173
162
181
173
181
184
221
285
224
150
133
169
150
151
179
146
222
230
200
238
164
191
255
244
178
194
335
211
155
152
285
239
261
173
176
133
179
276
158
239
204
192
122
202
189
192
173
146
153
202
157
164
271
173
181
197
255
249
146
186
191
229
267
206
271
145
177
194
156
176
181
180
205
242
210
316
204
155
238
157
182
155
141
178
130
219
191
176
219
168
171
162
214
182
179
200
199
195
129
176
162
177
262
180
216
158
205
217
262
226
203
179
205
172
213
203
146
158
300
130
141
209
166
238
224
122
191
170
210
168
243
132
176
296
145
218
115
147
210
162
200
239
250
206
170
238
226
176
211
201
133
185
147
230
179
183
171
156
129
217
197
191
146
174
184
176
176
192
179
202
203
146
173
227
150
173
129
219
225
183
264
176
164
211
201
232
144
301
211
238
264
228
122
176
206
228
261
182
171
239
153
233
263
195
201
203
173
204
200
185
187
158
176
129
239
143
195
204
249
204
207
238
145
174
169
215
115
164
165
195
150
210
188
236
129
230
146
182
178
184
210
162
129
197
179
146
198
241
155
191
186
179
239
130
252
222
204
216
146
196
169
239
230
217
217
145
162
200
188
228
143
213
186
115
250
183
231
146
115
237
259
184
202
164
182
130
247
194
194
209
251
164
178
176
129
232
173
180
162
221
289
216
194
204
225
173
155
263
228
211
130
219
133
191
186
243
188
192
162
239
188
201
146
214
249
155
143
231
202
206
237
195
214
211
146
146
182
249
195
194
210
206
270
236
160
230
168
272
173
156
146
204
222
176
192
130
242
150
132
153
193
164
231
190
183
198
216
318
143
173
174
221
209
210
225
204
178
230
203
129
239
230
151
177
179
151
184
184
216
220
222
145
153
214
242
115
182
210
162
210
184
200
173
223
143
145
173
285
176
176
115
158
211
208
264
283
200
201
185
221
203
129
267
122
168
146
183
223
268
182
239
204
130
211
146
138
129
163
151
217
181
184
202
217
131
129
202
129
180
168
205
182
210
186
146
186
195
173
179
155
179
235
210
211
226
167
232
184
216
119
170
176
203
188
173
147
230
184
198
210
223
146
224
204
200
211
183
130
191
204
173
179
181
169
208
182
130
152
226
199
238
184
162
208
210
219
176
129
211
179
230
175
204
146
195
200
229
189
186
164
264
248
212
177
211
138
175
296
204
176
143
259
178
130
255
203
200
215
176
203
145
204
201
193
173
201
185
173
180
176
246
225
162
238
146
164
213
153
184
188
129
200
228
210
230
194
168
180
248
212
264
204
211
217
129
214
204
130
236
172
264
138
151
236
176
176
129
264
216
172
302
222
146
176
206
225
182
183
231
287
203
205
230
175
169
189
170
173
159
154
206
216
141
146
219
178
129
168
191
191
182
164
214
270
255
193
205
186
162
237
171
129
204
169
225
252
205
130
176
129
203
206
133
221
192
168
180
173
144
282
172
217
163
202
214
130
222
206
173
200
257
230
115
224
198
174
182
227
145
176
236
129
206
225
272
161
282
115
129
168
238
130
168
263
231
176
177
138
216
212
146
204
215
227
201
176
146
115
172
214
238
236
146
209
217
229
225
209
202
245
225
299
189
115
204
201
169
237
223
143
263
217
225
197
251
184
182
187
216
143
230
203
272
191
158
155
205
163
152
184
219
194
163
133
158
176
169
204
216
183
132
129
168
181
210
149
151
179
255
231
178
256
156
218
138
201
190
164
253
152
150
199
145
144
176
259
252
259
258
130
185
242
217
173
243
238
183
162
173
185
179
228
272
183
164
179
115
274
140
200
141
115
181
166
161
259
294
149
169
167
159
235
194
220
158
211
247
210
213
208
184
152
170
155
172
133
157
129
244
129
149
199
191
195
227
168
179
214
130
214
189
216
202
201
203
162
264
217
146
115
189
253
129
253
210
219
115
146
150
230
231
217
237
261
214
129
184
229
217
173
221
143
246
173
213
185
218
211
214
166
146
250
217
222
184
210
205
183
128
257
193
133
217
213
155
129
158
145
217
204
237
202
161
179
171
146
186
130
164
185
228
205
211
195
173
122
320
210
217
195
257
214
217
199
141
145
164
191
222
210
155
239
219
188
194
145
197
185
186
240
243
198
199
130
147
162
184
224
191
194
184
211
204
200
176
199
182
176
179
211
202
236
206
164
208
182
184
176
259
213
236
279
192
143
119
204
217
179
227
129
173
197
115
251
220
248
173
210
252
221
248
146
145
240
122
203
180
176
182
157
202
210
165
201
202
189
329
182
200
266
146
180
219
179
203
320
217
168
238
206
264
248
168
230
203
145
222
173
162
144
214
183
228
200
253
129
178
173
178
129
176
202
186
172
181
189
184
145
262
145
256
176
129
149
160
155
215
188
261
204
264
190
250
210
190
168
163
188
213
207
146
192
146
226
192
197
184
210
152
173
182
188
217
191
156
276
185
184
129
201
150
206
169
210
144
146
311
129
133
190
173
166
210
201
256
192
176
240
247
217
231
130
219
221
185
238
191
183
232
182
179
254
179
189
149
241
207
215
173
195
191
270
179
176
179
181
183
169
207
200
141
185
130
192
206
130
176
201
169
149
222
297
199
178
179
180
133
130
264
173
180
172
201
219
222
204
174
217
130
169
170
155
176
183
200
151
198
210
158
221
187
184
179
185
287
230
164
263
245
130
173
250
157
225
179
169
200
130
173
183
218
252
204
183
179
176
195
256
160
250
176
155
211
186
160
206
206
211
234
115
179
192
152
209
168
198
217
172
186
184
261
176
158
252
184
129
176
181
179
129
129
158
204
153
130
199
266
173
169
157
184
193
201
218
160
170
231
230
164
167
164
132
182
176
151
145
178
156
231
167
209
247
129
206
162
176
176
201
164
230
174
259
257
230
144
146
157
191
173
214
176
238
226
173
188
217
173
182
158
197
211
187
191
214
217
214
146
187
190
179
168
190
180
219
182
229
205
155
160
183
214
177
266
169
191
146
182
155
182
199
210
283
206
146
192
263
212
145
156
138
252
166
202
129
141
179
151
202
162
194
183
224
250
168
173
181
229
171
173
213
143
179
158
161
150
164
293
202
150
206
201
147
150
179
222
220
238
172
217
192
179
227
146
184
270
225
231
234
130
180
212
209
138
185
180
153
259
169
199
182
153
212
186
115
226
129
132
169
270
249
217
221
146
182
274
210
115
172
255
221
180
160
205
185
129
202
240
270
162
190
181
292
180
184
192
215
182
238
122
179
202
129
130
328
183
211
221
230
155
172
221
149
213
206
115
192
208
179
164
130
158
146
230
204
156
180
213
266
221
149
146
146
230
246
180
197
219
185
181
163
234
168
162
146
236
256
208
173
171
146
173
190
209
184
244
176
155
129
187
173
214
241
169
187
255
242
147
187
141
245
232
230
158
186
179
170
143
216
206
176
179
189
145
192
122
248
202
250
177
189
200
222
302
228
188
152
266
130
161
128
194
235
231
128
212
239
296
245
184
201
152
146
187
166
256
190
230
172
222
183
225
191
218
129
156
180
217
183
276
227
211
236
299
258
247
214
281
211
171
183
232
145
219
234
206
236
210
180
276
130
176
214
202
194
152
223
185
269
193
133
180
207
129
175
256
127
203
183
167
130
170
179
221
271
129
175
176
216
159
173
233
231
204
174
202
173
131
161
146
155
182
272
335
168
173
166
183
240
171
206
260
201
129
182
155
187
171
218
166
252
179
157
122
200
141
221
217
157
167
182
130
178
258
150
204
273
222
217
201
133
236
206
178
115
179
184
206
185
268
173
181
271
184
168
236
162
192
178
277
211
199
230
144
158
141
193
197
230
233
130
145
168
258
236
260
173
210
231
225
145
264
274
217
146
195
229
192
130
176
160
234
196
233
188
224
194
231
191
230
246
185
210
207
132
225
129
212
180
199
213
250
230
228
146
146
115
173
166
162
176
178
162
150
191
209
182
145
180
187
211
176
189
184
146
204
156
173
146
217
204
162
203
177
250
172
146
138
149
130
239
141
130
176
220
256
212
178
176
192
229
171
190
170
150
157
191
219
175
246
214
179
236
164
199
202
234
229
178
164
212
129
245
202
191
201
206
227
154
143
236
193
129
169
201
217
189
145
214
191
208
180
257
146
286
156
191
149
203
204
222
217
133
204
145
271
131
222
211
255
252
192
217
145
176
201
128
218
188
174
145
244
202
235
164
247
225
173
178
227
214
174
212
173
210
185
124
225
130
209
176
181
145
233
283
250
152
246
211
191
230
238
145
129
235
191
256
193
183
178
190
280
231
204
184
217
283
187
144
182
145
190
175
170
211
211
149
158
296
159
234
184
162
197
129
182
204
168
179
193
213
132
247
217
227
173
305
204
204
151
146
200
158
174
236
145
212
184
155
195
237
190
208
158
200
168
216
158
242
173
146
166
130
156
168
236
199
129
193
184
189
146
239
216
176
178
274
169
214
268
231
217
263
195
181
241
180
191
215
242
254
184
195
189
197
191
158
115
130
179
206
230
152
162
265
239
204
193
145
186
143
210
158
168
178
185
146
122
202
174
199
251
206
161
256
200
215
212
179
162
198
200
143
143
201
184
133
219
132
115
221
178
202
200
115
235
155
174
183
130
185
190
239
162
231
221
179
236
176
201
149
233
230
168
173
168
203
222
175
202
217
200
202
169
162
173
179
175
168
227
162
199
129
250
187
129
178
156
223
216
194
179
247
214
173
201
166
187
128
162
207
163
156
162
204
160
239
129
146
146
176
141
178
243
166
130
200
208
210
178
217
210
216
155
198
247
181
173
141
149
176
221
129
176
145
217
180
201
196
174
204
129
156
232
146
191
222
217
162
253
271
183
209
191
185
189
259
185
122
194
286
267
183
182
156
129
258
182
129
139
173
264
190
115
202
146
154
156
185
184
201
192
225
200
233
242
250
259
180
146
193
178
176
241
168
173
206
274
179
195
152
173
242
138
173
184
263
201
237
231
255
130
254
194
173
143
239
251
182
236
244
206
146
213
229
153
176
202
146
192
225
184
210
245
178
222
173
189
232
209
173
185
178
195
225
146
195
244
202
249
197
166
209
231
259
217
217
173
115
303
170
173
240
193
122
143
219
262
146
174
234
174
173
173
188
183
173
145
130
115
130
195
169
217
130
176
129
145
146
189
173
206
246
281
188
174
212
179
237
146
182
261
158
187
239
217
129
205
183
180
146
213
164
204
149
174
231
129
206
173
200
182
176
228
129
197
177
168
129
143
143
219
292
181
158
201
209
145
214
146
138
200
160
182
206
146
173
196
206
252
146
178
217
230
185
146
171
237
247
164
177
250
157
179
225
211
241
204
186
228
184
164
130
209
252
162
184
130
146
239
200
164
201
173
157
250
217
210
162
202
227
220
177
133
184
201
146
130
248
179
208
194
176
204
240
167
206
145
246
196
185
230
220
209
191
175
213
283
217
268
169
152
176
221
168
147
205
143
201
149
302
197
219
132
129
167
226
129
187
202
240
217
149
169
182
187
191
230
179
217
206
209
176
155
176
173
149
219
227
201
181
211
143
133
168
218
180
245
203
243
225
218
218
184
244
166
173
194
230
204
181
240
247
132
243
217
204
194
146
169
146
213
173
145
264
187
211
206
173
203
180
217
254
162
160
231
115
129
241
168
253
173
217
181
147
204
217
183
209
147
179
217
191
168
229
173
271
162
179
231
132
169
199
166
243
249
300
122
173
203
184
226
176
184
224
173
273
214
179
129
173
223
182
171
179
176
202
166
129
157
146
200
169
197
205
171
213
145
208
278
147
202
143
168
179
202
185
147
129
204
129
201
216
186
228
164
173
201
200
204
214
173
202
206
204
174
193
236
247
205
204
217
192
189
183
231
182
170
154
228
203
169
203
232
231
171
203
197
238
197
164
172
171
146
128
200
158
158
202
173
203
191
184
162
242
122
164
185
210
230
138
174
155
194
143
219
157
186
213
246
250
206
206
228
172
220
198
236
228
195
222
150
265
168
217
221
178
174
213
213
206
213
206
200
204
173
168
158
211
266
218
199
146
256
152
176
169
217
130
193
170
181
265
258
186
210
192
180
158
263
176
226
183
203
228
268
183
133
221
227
170
129
206
249
204
182
130
240
217
215
138
245
147
194
133
216
221
207
164
183
129
164
175
175
204
218
182
200
241
161
240
186
164
244
191
216
182
204
214
155
210
130
204
173
229
187
191
250
194
189
203
133
261
169
217
231
178
181
166
241
238
184
200
169
187
191
169
194
162
177
204
187
176
228
268
207
229
214
202
204
146
288
115
173
211
208
238
176
220
244
194
162
190
170
152
173
173
225
129
255
162
216
173
185
236
187
264
176
164
154
202
257
222
130
229
204
230
231
200
168
201
252
188
156
209
122
193
170
204
178
156
150
180
173
200
205
214
179
129
164
180
181
155
146
173
181
133
161
184
210
206
176
129
200
158
228
184
180
221
180
129
196
183
201
191
138
162
141
184
133
173
173
239
181
235
164
200
173
184
158
129
172
252
259
217
211
221
173
145
187
205
234
130
238
178
217
204
152
204
231
203
277
210
172
199
173
199
183
129
226
176
150
201
229
146
178
145
203
176
129
173
129
213
167
129
273
233
209
201
210
164
234
115
206
182
211
146
255
202
187
204
184
192
202
246
186
212
207
184
182
143
170
162
173
210
176
206
253
129
211
152
240
173
145
132
188
176
115
236
162
155
263
145
203
146
192
153
172
212
164
211
179
208
185
202
216
177
211
176
180
164
128
227
169
204
236
202
155
179
168
217
145
171
203
204
215
173
217
145
243
205
192
324
130
178
165
188
175
170
133
143
190
130
225
217
162
176
183
182
141
214
216
239
146
204
238
235
179
225
130
184
208
188
168
278
272
209
141
115
130
155
179
184
161
184
146
206
130
185
146
158
205
278
262
173
144
222
130
179
217
261
225
190
146
201
130
130
172
176
224
186
173
179
201
186
150
225
228
146
146
194
250
158
246
149
158
115
240
115
202
200
299
122
204
164
217
236
205
201
130
217
198
189
257
130
184
203
162
146
228
185
164
228
246
217
170
173
161
190
212
169
198
206
179
210
220
204
221
180
183
221
163
272
238
173
143
186
202
208
152
209
174
161
239
158
161
242
173
227
191
179
191
198
166
187
206
227
220
181
130
195
178
180
201
171
187
155
190
189
198
193
200
138
143
214
179
130
115
122
161
230
202
191
164
185
146
128
129
178
182
228
167
156
184
183
201
129
192
130
160
179
162
210
178
219
158
186
210
163
130
238
184
206
201
227
182
226
217
173
248
210
211
270
184
166
164
211
200
164
188
251
221
165
128
143
265
115
260
145
252
145
229
217
212
143
190
219
335
182
190
171
239
248
199
209
179
204
193
206
217
195
184
238
138
146
183
189
147
267
250
255
162
175
180
204
204
184
141
213
255
211
195
229
198
122
202
234
155
183
211
129
191
187
204
221
208
229
200
164
115
168
212
174
129
241
250
194
250
192
196
204
270
197
157
195
201
251
130
181
167
183
186
209
211
202
225
146
236
211
254
189
184
187
221
226
176
157
264
178
201
221
132
257
248
183
214
235
218
162
201
129
176
184
258
174
204
164
252
176
211
202
204
202
209
205
152
193
248
214
129
138
179
190
252
240
158
146
208
151
157
199
193
176
195
236
209
173
161
150
251
205
141
173
130
186
162
270
168
178
180
211
208
200
287
130
158
193
216
217
162
183
202
199
143
244
252
128
235
280
176
249
115
160
178
119
221
236
133
204
173
168
261
213
200
184
206
115
177
210
213
251
223
212
166
195
153
239
194
164
184
188
203
170
218
195
217
145
175
129
129
189
158
129
156
182
164
200
193
172
239
182
131
189
287
211
227
244
236
146
187
161
190
173
183
204
204
146
161
167
186
130
181
258
202
184
236
129
122
178
230
115
162
194
186
266
160
204
203
190
188
151
204
127
256
211
300
196
183
217
226
143
189
214
204
198
206
204
130
129
244
246
200
210
233
194
210
239
229
146
143
156
160
189
187
180
182
283
307
129
254
143
205
173
192
183
222
173
143
199
212
173
230
176
210
202
211
247
133
229
197
185
155
200
208
173
183
230
164
180
201
184
181
210
186
172
184
204
214
201
216
158
129
164
168
173
204
222
200
174
282
194
214
226
146
201
227
194
191
207
155
144
176
208
191
143
183
204
300
130
133
188
210
204
250
206
190
249
185
244
187
122
183
173
301
184
182
172
176
156
158
335
186
160
133
225
231
202
211
302
129
213
217
157
213
168
200
230
190
201
214
188
184
180
163
199
129
177
165
187
255
162
185
191
173
128
185
210
230
181
205
193
211
129
184
197
198
172
155
169
221
204
216
182
173
189
240
156
173
180
210
173
191
184
246
176
248
243
160
152
179
129
179
274
168
211
257
217
223
178
168
242
164
178
171
115
219
202
171
251
235
179
243
193
211
219
166
221
204
205
199
188
190
164
266
168
133
129
196
158
237
200
251
141
204
217
247
182
184
255
204
130
152
168
217
216
217
200
252
202
143
254
179
248
141
183
115
129
216
173
115
210
202
223
322
196
236
145
230
188
160
172
174
216
159
230
188
133
122
210
143
230
197
184
195
158
149
162
184
215
246
221
258
173
227
246
308
189
218
204
229
166
129
215
130
164
181
290
208
210
176
192
214
189
160
157
211
180
211
235
199
180
143
200
259
191
166
216
176
167
215
271
191
175
161
199
204
217
152
161
193
128
158
244
159
164
129
259
217
202
200
251
202
174
150
129
130
303
224
225
183
182
169
169
228
214
129
242
335
181
230
263
211
129
130
214
266
204
236
145
146
152
197
194
145
146
251
179
152
145
143
202
163
211
203
141
197
173
239
268
198
158
153
122
205
234
167
168
220
234
199
255
208
227
303
171
219
247
167
130
178
265
176
261
186
133
191
176
133
217
182
176
175
145
169
214
193
230
145
259
130
205
225
143
145
164
146
130
202
206
187
176
254
228
236
147
225
130
206
221
187
211
182
115
297
259
219
200
179
159
146
189
191
225
176
166
186
191
129
181
241
162
128
236
264
200
169
146
234
129
143
161
271
239
206
264
144
127
157
115
122
185
251
158
195
292
191
115
218
221
210
189
257
143
167
130
162
168
259
129
183
206
217
164
221
187
181
176
191
168
225
259
204
184
141
179
212
200
216
161
190
213
200
273
191
223
164
195
232
182
214
216
164
158
193
208
257
217
133
206
253
184
176
258
115
176
205
188
230
200
225
162
177
224
191
173
176
158
167
181
191
203
200
150
223
241
200
200
180
133
204
217
119
261
217
255
180
129
198
161
161
206
211
145
256
149
173
189
175
184
237
246
147
221
261
200
182
222
222
300
218
281
204
222
238
217
208
274
173
173
278
225
217
176
158
144
239
161
160
218
146
199
164
155
185
236
238
218
191
208
173
231
169
160
242
204
162
230
200
237
162
202
200
178
115
182
224
164
265
218
192
166
275
149
189
183
195
250
242
182
201
225
230
214
130
181
174
173
164
145
166
223
246
204
160
198
192
201
205
203
132
264
227
173
159
183
172
245
202
246
216
178
258
241
145
236
166
199
204
208
250
197
166
168
260
173
274
236
212
200
241
214
180
240
221
146
175
246
129
145
201
133
235
231
191
255
155
231
183
190
157
230
204
175
195
169
185
146
152
237
189
203
166
268
218
198
259
145
211
232
174
160
275
261
201
146
155
234
220
130
133
164
146
179
162
245
166
265
168
163
181
254
146
176
257
231
171
122
257
211
180
190
157
200
130
242
236
217
217
266
288
228
161
156
188
206
164
204
225
200
192
231
175
172
191
231
182
187
192
129
173
168
202
129
189
146
179
199
182
146
202
225
229
213
226
201
181
145
130
157
182
201
202
214
183
221
204
182
151
164
194
129
222
156
186
198
190
173
158
169
203
222
327
232
149
193
225
177
242
213
176
270
260
179
255
133
155
217
164
150
217
164
214
166
175
157
141
315
204
217
155
212
240
178
224
146
115
173
175
231
187
162
205
240
168
193
158
173
200
133
230
193
183
168
184
141
191
201
182
210
164
224
239
212
197
176
214
227
168
150
164
248
217
146
152
161
195
190
185
173
165
204
281
210
231
204
168
129
119
273
207
143
212
146
156
210
168
186
178
158
206
181
220
178
216
213
257
210
211
152
184
200
200
200
240
237
130
133
260
133
217
210
230
143
206
187
202
183
237
189
214
206
184
259
147
181
224
178
201
205
186
192
201
143
156
218
209
130
173
172
166
208
173
234
170
212
138
163
208
164
251
196
160
191
161
168
202
183
200
206
168
219
138
206
189
193
261
240
191
162
182
200
162
178
145
183
296
182
253
191
204
195
155
187
210
248
230
178
164
186
115
189
230
191
129
196
183
224
218
187
173
152
153
202
204
183
164
184
161
210
129
229
171
179
229
220
183
162
229
133
115
238
178
236
200
211
258
224
196
218
179
164
151
191
140
173
214
176
204
190
193
202
129
145
162
187
146
189
235
265
201
129
176
180
203
203
230
234
204
122
130
239
153
180
222
195
186
173
182
221
211
150
201
250
247
225
234
256
144
143
176
155
130
200
174
130
151
130
155
160
199
243
178
129
190
229
191
182
229
249
206
265
132
173
164
191
146
236
129
174
188
184
173
176
220
210
189
176
133
201
146
208
149
183
261
194
183
129
168
153
184
195
183
195
217
286
200
214
204
168
168
153
166
208
186
129
227
214
138
173
185
250
173
201
199
254
285
179
194
270
146
214
230
115
155
158
247
186
159
213
254
199
158
172
197
217
159
159
221
172
264
192
230
196
231
169
184
204
213
169
194
158
200
210
226
173
210
209
146
212
178
205
210
167
206
185
203
191
253
210
186
242
270
204
228
274
218
171
166
130
145
158
166
213
130
162
186
272
252
213
261
208
206
193
245
145
200
171
141
169
230
192
258
168
183
197
262
237
172
187
166
155
173
130
187
238
271
186
206
145
190
173
173
221
237
180
192
149
179
138
217
179
185
180
205
216
266
166
249
168
251
168
119
210
169
180
161
180
229
200
174
183
149
178
169
207
133
184
211
173
210
173
173
256
175
206
141
133
166
218
248
176
210
219
130
203
173
192
164
129
161
185
155
227
176
145
130
130
149
174
211
228
191
218
184
202
191
170
129
221
254
168
192
235
188
254
176
263
262
173
168
130
171
169
133
146
247
174
173
230
115
158
131
204
201
236
229
130
129
239
130
226
224
168
145
204
262
241
171
225
168
133
182
212
130
129
183
269
181
173
168
199
165
221
184
265
188
195
164
183
176
238
284
155
192
253
234
160
237
190
133
156
259
200
166
184
260
214
214
145
191
143
211
231
164
164
247
184
211
168
157
303
216
214
252
206
150
219
217
182
160
156
194
230
236
168
195
221
229
190
129
238
210
210
166
204
145
170
150
179
164
173
189
166
129
204
173
246
178
162
206
190
168
231
149
181
115
159
200
138
184
222
182
263
226
217
228
231
210
186
133
206
146
252
146
217
217
130
229
188
179
209
162
184
170
196
146
211
226
151
258
155
196
129
190
179
146
179
122
155
194
143
208
203
173
225
150
204
214
219
266
179
176
162
191
206
143
173
184
122
130
216
194
216
176
202
195
153
129
170
158
210
209
295
203
176
183
186
280
200
238
270
206
155
223
219
176
227
179
237
176
175
179
173
115
172
221
254
238
265
173
201
263
238
212
205
206
173
138
194
168
221
206
202
178
236
185
132
204
181
183
204
199
150
199
213
173
173
194
210
204
162
146
178
158
204
158
206
191
222
173
207
198
160
213
180
169
171
203
179
223
219
202
146
173
173
229
169
166
200
179
231
166
172
191
175
164
192
210
184
158
245
182
242
183
210
240
202
149
130
217
200
122
204
152
204
201
164
186
195
222
176
255
165
261
204
219
227
207
232
217
165
204
193
146
129
188
227
187
181
218
156
210
166
180
146
138
206
162
190
170
178
166
191
130
156
228
143
155
145
185
161
180
313
163
183
115
209
209
175
217
200
178
173
281
227
130
176
173
176
222
181
176
133
146
207
167
182
184
185
138
178
150
157
229
146
272
225
150
160
174
158
194
176
206
171
238
220
146
210
201
217
207
130
174
183
143
197
133
200
129
192
182
194
115
239
183
130
164
146
115
243
128
211
210
217
146
239
211
173
208
164
160
179
238
191
173
208
179
190
185
159
146
210
158
172
155
252
218
188
149
155
247
200
218
133
185
204
204
211
241
246
245
222
228
187
185
133
202
276
176
228
192
179
202
221
257
179
175
171
202
143
252
210
153
188
192
172
173
226
191
130
146
177
145
202
217
241
174
164
347
178
133
122
181
206
160
178
222
151
183
264
155
130
202
182
166
173
238
146
168
151
146
227
130
146
191
194
206
146
192
181
194
179
210
210
238
204
183
201
145
236
227
227
173
200
177
193
176
224
238
177
203
176
201
211
210
217
223
234
187
171
229
200
315
235
230
201
150
195
146
179
213
186
238
263
224
164
158
146
198
238
181
234
176
183
211
141
158
261
188
184
186
202
200
164
215
239
230
156
212
175
183
175
218
199
219
175
152
182
164
162
146
217
206
204
187
335
155
191
218
228
143
204
217
209
143
230
204
201
171
199
129
189
248
130
146
257
130
214
208
169
130
175
224
200
214
185
161
158
179
227
191
281
155
213
219
219
138
158
189
239
146
176
163
244
185
211
203
188
165
193
185
202
228
186
205
207
146
129
254
195
257
199
158
189
185
186
155
243
222
234
183
173
183
133
216
164
164
211
173
236
178
178
198
225
164
191
192
217
146
195
155
184
217
168
150
208
195
127
210
146
260
212
147
201
164
179
188
144
236
200
199
131
143
130
210
280
228
187
209
160
184
191
156
146
145
215
209
259
175
146
316
214
162
203
172
249
240
230
181
205
275
263
226
183
180
203
194
156
146
163
189
202
151
185
204
189
128
187
264
133
199
229
202
162
196
205
230
188
155
217
215
237
180
258
161
255
129
152
171
171
214
188
239
164
129
166
184
204
183
168
164
176
173
227
201
204
259
137
189
129
245
178
193
262
191
245
272
246
267
211
202
205
146
236
289
238
190
210
236
115
203
184
157
201
150
191
249
130
129
146
180
258
194
285
209
224
158
194
206
206
213
185
176
197
191
194
241
133
176
197
196
210
160
188
192
231
179
257
198
203
164
315
246
197
150
200
212
159
211
200
122
183
168
179
122
187
199
130
150
149
273
250
145
147
173
204
200
200
206
221
191
225
166
129
146
195
167
217
208
185
152
249
183
115
141
176
146
133
181
146
204
214
187
226
216
263
257
242
202
158
157
239
200
264
164
138
204
242
130
203
204
204
179
162
210
228
173
183
146
173
168
198
221
236
189
119
206
255
198
173
122
184
184
200
190
232
189
133
146
241
228
200
155
184
187
221
165
204
130
141
210
200
266
133
179
264
164
169
179
143
161
188
232
189
132
200
208
227
173
143
171
227
185
188
200
222
190
235
209
222
265
143
222
252
200
173
176
176
181
244
230
200
173
210
235
223
217
163
179
210
148
210
173
167
155
225
129
145
185
173
252
202
210
129
177
221
145
254
222
204
132
232
177
239
211
158
192
283
150
164
184
203
175
130
217
166
253
179
187
164
230
141
169
145
191
206
188
227
187
249
220
217
149
200
211
218
146
130
180
285
192
230
225
199
173
190
185
230
234
176
162
187
163
212
201
115
232
217
190
248
143
264
115
185
167
185
245
206
184
212
161
164
145
130
115
162
166
181
251
155
217
168
160
129
182
250
151
212
146
129
213
204
229
208
175
209
211
201
173
133
204
199
129
186
164
207
188
204
211
204
145
146
225
236
205
201
129
210
221
238
133
204
207
173
197
197
171
174
201
180
240
205
230
239
180
145
148
188
164
159
174
181
243
184
157
163
173
145
230
179
175
130
143
198
170
191
217
179
133
183
186
130
173
227
283
171
150
185
198
240
267
210
198
173
214
146
122
146
231
149
186
227
234
174
156
239
115
248
236
247
272
146
204
167
221
172
217
170
226
238
130
165
130
172
145
122
190
285
262
129
187
183
184
192
214
191
162
166
206
201
271
213
168
146
186
145
236
225
217
174
205
185
236
144
171
157
172
217
158
145
225
146
168
143
151
129
174
176
158
197
217
223
223
191
202
234
146
168
157
156
153
173
181
160
130
129
244
209
190
194
211
170
184
182
175
199
187
194
264
179
145
217
199
238
185
244
200
198
240
231
226
239
237
150
128
247
115
146
259
158
238
146
171
200
171
198
150
237
145
152
254
168
144
211
183
168
238
256
250
264
217
141
178
173
222
146
207
204
149
284
274
246
138
175
173
146
143
222
173
133
192
194
255
180
254
176
261
167
130
249
180
160
222
227
146
209
149
228
115
115
229
184
133
162
180
231
173
155
335
301
158
244
189
129
195
230
191
200
179
183
176
173
187
203
257
233
184
115
150
129
133
143
141
244
146
180
162
146
232
239
171
233
170
132
242
272
130
234
183
188
184
176
264
211
150
245
160
199
129
263
204
281
150
221
176
179
224
132
188
198
179
171
206
162
133
196
133
215
245
209
164
218
227
145
162
219
225
143
115
238
149
191
179
130
201
214
143
205
256
178
155
133
264
227
174
168
146
191
181
146
182
166
181
243
188
179
138
211
163
179
141
214
201
115
199
174
187
179
258
161
213
201
231
177
169
153
230
201
195
201
210
201
245
225
201
141
145
176
122
209
178
196
187
133
230
202
176
222
239
204
232
184
181
141
138
194
192
169
225
204
238
202
211
173
191
230
258
115
183
168
245
176
145
202
229
244
281
146
168
214
178
176
228
184
162
210
129
211
185
204
207
229
175
188
168
155
192
151
185
206
212
177
146
231
158
218
129
208
180
187
270
129
173
130
181
274
129
179
210
217
217
276
176
214
261
237
177
173
206
209
200
250
257
299
133
236
252
182
202
273
115
173
130
160
133
228
217
130
150
166
223
189
200
178
176
182
122
209
228
175
190
183
204
191
201
238
210
258
213
182
230
190
145
222
260
239
180
222
169
156
202
173
182
156
115
204
232
182
204
168
180
162
230
214
129
251
141
186
166
149
211
129
204
209
204
200
188
162
260
264
210
128
244
174
176
200
182
219
183
173
222
261
188
181
146
130
195
143
253
274
202
143
184
115
302
176
256
274
177
219
210
193
146
179
257
184
179
169
221
207
258
185
257
187
207
140
238
174
222
195
263
129
198
225
174
192
204
173
172
191
217
242
129
182
224
192
202
204
200
210
233
167
206
156
190
209
248
150
184
164
189
161
162
236
183
168
173
143
183
203
168
254
195
180
129
158
173
202
190
241
175
131
212
244
264
158
150
181
209
172
210
205
179
230
191
206
261
150
191
180
197
210
218
156
224
122
265
173
252
182
265
129
221
187
191
169
221
264
129
242
115
156
153
183
169
173
223
191
172
214
202
130
150
185
133
188
195
239
204
205
146
222
204
217
181
211
178
190
150
222
195
238
129
180
233
235
218
222
218
217
219
130
145
183
191
186
259
169
186
181
250
201
193
192
216
146
166
181
172
162
129
179
162
210
204
192
204
130
211
184
194
181
231
179
173
287
185
244
222
183
184
210
230
194
249
227
115
145
191
218
129
168
231
207
229
249
201
130
195
269
162
138
179
155
176
175
173
173
209
133
242
200
164
209
230
198
214
213
164
210
160
239
209
166
129
220
186
159
210
179
232
217
204
176
230
218
178
273
177
146
217
168
167
197
209
183
202
191
247
146
200
143
210
173
190
200
226
214
201
164
211
211
176
202
204
130
236
257
231
188
202
164
214
188
152
180
190
240
266
296
231
250
169
186
211
234
161
184
201
166
130
198
161
157
215
164
205
232
216
115
128
191
141
246
185
173
174
258
179
166
168
191
145
143
156
262
172
222
201
211
229
176
176
219
329
171
133
217
200
211
254
227
179
209
164
171
204
230
240
162
155
185
215
161
222
204
202
177
220
210
156
180
202
146
132
212
229
184
251
267
176
192
161
233
211
155
141
174
173
212
187
236
183
225
186
168
228
144
133
200
185
256
143
176
146
190
155
173
200
207
158
188
217
199
177
200
211
173
178
181
222
266
183
247
238
227
206
164
129
277
164
204
335
170
221
149
162
158
144
178
187
252
172
133
183
179
187
238
165
202
172
210
199
141
250
210
244
204
133
216
170
146
148
221
169
146
202
171
210
208
160
173
258
158
179
231
204
209
173
209
243
173
182
185
236
131
129
155
133
180
191
226
203
234
174
211
192
181
189
195
244
273
201
183
158
152
261
171
164
211
203
141
214
156
185
202
157
237
204
177
146
162
190
204
115
202
194
244
248
176
169
130
165
204
236
169
248
209
204
200
230
215
176
203
200
187
203
143
165
143
200
181
150
150
159
129
223
246
208
188
226
238
204
183
226
230
175
221
229
145
133
204
217
201
149
227
225
234
168
195
146
155
168
224
182
191
167
211
174
157
296
146
250
122
204
210
335
183
201
155
158
165
206
232
233
180
128
187
230
171
246
195
183
204
188
179
129
261
210
141
221
145
191
253
161
282
169
237
224
237
166
177
176
151
129
182
230
218
146
146
191
185
199
133
184
179
130
212
209
129
167
130
163
228
129
210
168
133
201
189
172
205
155
191
183
204
172
152
204
145
179
143
194
225
244
233
173
130
156
145
152
229
179
173
176
193
262
182
157
276
201
244
138
208
182
182
204
206
242
179
169
263
210
219
224
188
195
186
133
207
200
162
254
242
218
168
143
175
115
164
209
163
231
231
205
241
247
172
230
206
210
179
240
249
210
237
204
172
183
175
179
231
165
209
231
188
184
244
205
217
182
179
211
285
162
186
191
198
168
195
179
257
150
180
261
169
235
240
201
196
173
146
225
129
211
185
146
169
206
192
192
163
221
205
259
188
182
225
176
146
185
206
220
184
266
115
167
287
195
133
181
180
229
217
155
194
176
191
217
176
192
178
192
211
200
143
220
173
176
244
206
211
146
175
273
235
224
150
189
168
300
218
212
155
234
176
141
246
179
211
211
215
163
162
159
209
172
229
161
212
182
184
230
153
141
164
168
207
213
225
236
132
146
206
204
213
161
254
176
201
176
194
195
168
164
231
171
146
227
256
206
246
156
179
178
304
169
214
261
188
130
175
202
203
229
173
159
145
204
203
169
130
211
211
214
190
191
238
195
209
225
167
236
168
238
115
141
274
227
210
256
197
232
218
205
221
193
264
205
244
130
155
189
202
183
210
204
179
130
195
184
196
176
217
213
215
206
176
204
217
178
147
239
198
183
206
146
221
211
207
237
178
161
176
230
215
185
242
166
204
201
119
203
225
245
173
146
193
305
197
220
176
218
190
217
179
153
173
201
208
217
164
205
291
222
236
214
202
217
210
211
275
173
252
236
200
205
217
200
201
235
204
216
224
192
173
130
173
182
282
146
221
208
245
157
169
225
210
230
154
146
176
129
253
207
187
218
207
164
207
171
130
140
183
204
162
180
189
203
179
274
238
145
220
193
145
160
244
130
131
130
248
146
227
209
210
258
178
146
155
210
206
141
207
225
168
145
128
218
180
173
169
174
161
241
216
248
211
221
150
193
264
249
201
185
191
234
214
162
133
251
162
144
207
214
196
174
184
242
168
238
230
192
160
130
184
184
246
191
184
208
181
183
218
181
180
222
227
228
130
183
167
168
217
227
176
201
177
170
204
173
115
144
162
179
184
182
173
180
165
155
178
217
249
201
172
173
210
209
211
166
259
191
156
181
168
133
203
185
157
168
227
195
230
130
229
236
153
141
190
218
130
238
160
210
129
210
173
229
204
283
151
221
178
183
251
133
191
133
176
187
210
175
214
198
253
248
202
138
173
230
204
195
146
199
211
182
184
119
119
236
187
146
204
195
129
164
218
210
192
191
131
202
173
185
130
195
115
122
191
188
202
138
162
206
129
227
291
149
191
156
261
203
210
183
182
217
214
214
225
209
188
204
170
189
145
167
241
192
284
178
171
205
230
183
231
236
168
231
145
186
217
179
194
162
159
238
219
130
141
231
169
211
122
168
204
202
188
176
233
343
238
227
181
296
168
205
189
225
210
216
199
164
254
239
158
197
130
129
192
214
201
158
180
145
255
133
130
129
159
173
231
214
176
179
115
204
200
229
206
179
143
147
211
173
146
225
183
223
258
168
253
122
191
210
129
224
280
183
236
146
167
115
209
239
133
179
206
184
178
183
218
209
198
205
204
152
149
183
173
226
204
141
233
228
173
262
160
156
176
198
236
183
119
191
216
211
278
221
145
211
227
263
129
143
204
147
195
170
284
143
203
231
282
217
160
145
178
182
235
188
300
294
190
262
130
227
145
146
185
204
159
133
210
216
206
221
164
150
156
202
156
237
137
200
212
173
204
147
206
226
129
222
130
155
206
181
166
183
179
203
160
200
182
146
196
239
217
179
188
133
183
182
229
138
176
209
224
127
164
170
204
170
266
192
153
297
145
258
184
211
238
150
218
159
236
146
257
132
128
199
222
263
204
204
173
184
129
194
133
201
115
166
133
200
210
174
193
160
166
172
218
234
218
141
180
170
158
239
158
234
198
198
129
203
195
182
238
209
182
204
143
240
173
237
171
187
162
115
251
217
146
158
228
200
130
179
216
179
232
143
179
189
133
171
214
205
155
224
202
210
201
138
261
209
195
230
246
173
175
119
168
150
168
160
212
201
193
144
265
115
152
141
129
221
239
122
188
168
242
130
192
201
179
218
287
200
189
175
236
200
230
150
222
230
130
144
156
230
202
160
149
183
174
173
162
213
129
176
208
250
129
158
158
257
184
226
208
164
260
247
233
208
173
210
238
173
224
200
155
166
194
173
133
146
190
217
175
211
172
240
167
210
204
176
248
160
169
145
178
227
158
181
201
210
173
145
155
264
258
174
146
239
183
168
200
132
176
227
190
155
122
200
242
171
184
200
197
187
300
178
176
284
192
147
162
191
190
231
211
178
192
276
170
192
130
222
187
221
245
300
201
158
176
229
214
204
204
173
227
180
225
203
205
236
198
216
211
115
166
198
128
230
324
185
129
129
128
197
208
122
206
206
188
241
204
210
155
167
128
230
176
202
164
202
259
173
168
209
129
196
229
224
173
174
208
145
194
274
189
239
162
200
129
115
174
171
203
201
236
198
183
162
231
249
241
218
251
252
203
201
246
130
198
262
237
146
202
179
192
229
270
179
129
191
239
197
183
201
146
227
146
153
335
176
131
217
146
228
149
146
171
158
181
146
206
172
238
229
210
170
172
164
180
201
164
130
129
213
186
198
249
228
122
155
169
208
202
200
202
201
183
169
226
193
210
175
189
236
149
190
176
217
168
130
186
211
222
259
185
209
241
155
201
193
217
146
133
216
176
195
173
210
173
194
231
217
129
122
191
183
164
200
204
179
222
173
197
217
133
130
204
229
204
195
188
129
224
204
157
176
258
129
145
247
158
164
192
195
188
238
209
188
129
189
283
247
185
244
129
232
202
205
194
208
181
242
183
145
150
221
180
190
195
191
115
156
178
237
172
129
234
188
182
183
284
176
201
146
158
150
218
184
155
230
192
188
204
247
164
198
194
129
247
192
210
241
247
183
182
204
186
247
173
164
133
208
157
173
186
129
221
195
164
151
156
230
232
242
258
156
205
227
184
192
204
129
166
130
246
188
202
145
268
200
173
204
226
144
235
236
210
129
185
258
172
162
206
143
196
202
219
191
208
214
203
173
146
174
171
178
210
160
217
196
146
203
252
170
176
184
210
194
218
182
243
133
129
130
237
176
227
195
184
146
300
200
245
130
188
275
221
173
214
230
214
187
171
235
186
202
175
225
187
201
205
236
158
143
157
174
217
246
146
277
168
240
183
187
130
160
150
259
198
201
176
257
169
168
206
214
289
170
130
162
206
219
119
184
202
185
179
222
178
176
162
234
194
204
173
202
166
182
145
168
141
230
160
194
205
169
191
131
145
188
197
122
149
216
237
204
179
210
202
160
163
167
164
145
252
146
240
122
129
176
207
200
176
204
168
210
333
221
176
155
197
183
221
115
182
264
225
201
212
255
223
206
143
184
221
238
236
238
173
183
263
173
204
204
202
178
144
274
210
130
129
155
201
186
256
129
168
217
200
115
252
218
184
243
200
240
149
335
130
181
268
256
163
173
133
203
246
156
211
173
225
244
146
189
171
201
255
247
168
173
129
172
193
201
184
202
152
206
141
178
202
122
202
146
221
171
162
193
216
191
176
244
200
190
130
192
150
278
240
129
213
229
164
176
218
197
174
210
168
160
197
210
183
234
156
209
155
180
173
133
200
202
146
230
184
164
149
164
217
189
143
130
161
200
178
122
176
223
173
184
207
196
133
212
129
148
206
297
195
151
236
187
226
190
162
263
246
191
204
182
155
188
164
165
146
176
188
207
201
129
165
157
222
182
166
162
172
190
153
180
214
179
218
223
164
274
200
210
184
199
203
162
201
146
176
204
150
230
185
143
203
238
115
180
200
200
222
145
160
267
239
184
146
239
236
129
115
195
145
244
217
195
184
183
174
230
191
170
203
210
217
236
174
283
209
237
212
238
205
132
145
186
210
189
204
157
217
122
225
173
203
176
197
184
216
172
241
146
119
183
130
230
187
253
164
162
264
146
209
122
185
183
161
191
217
231
146
157
164
223
180
204
252
158
158
246
178
129
218
216
173
265
200
179
129
199
119
197
186
210
168
152
143
265
162
176
204
208
218
300
257
230
174
147
176
230
159
129
192
248
176
199
218
174
176
129
146
133
210
188
234
300
225
182
254
173
238
202
238
250
150
204
191
214
175
182
174
176
183
164
169
179
258
263
119
164
178
129
143
168
146
266
215
239
214
161
211
211
193
228
186
204
201
150
211
204
201
203
138
195
172
247
174
149
158
188
204
206
181
204
225
191
236
234
132
181
161
191
227
218
208
262
236
164
202
138
210
210
162
179
173
178
194
260
176
168
219
208
145
232
210
251
175
212
141
206
161
188
258
183
238
181
182
191
212
180
180
179
254
197
122
143
166
128
181
209
206
150
212
151
166
195
201
221
201
201
258
217
192
162
204
203
183
201
265
171
146
162
217
219
194
167
128
130
178
183
241
191
201
176
146
210
248
210
188
183
130
129
129
129
194
257
156
191
206
195
202
335
179
225
158
173
231
189
160
233
201
173
133
195
115
210
192
131
248
204
129
218
186
151
178
201
204
247
235
164
230
133
178
191
172
205
168
207
237
162
176
210
219
176
217
199
236
129
235
163
174
180
157
185
221
174
218
167
153
244
212
217
274
158
129
206
185
244
249
185
235
253
199
206
213
129
255
180
227
210
130
225
183
179
158
195
161
240
175
129
242
168
187
199
202
129
282
209
262
176
217
222
146
208
147
272
191
200
202
188
130
183
115
175
219
202
204
182
228
216
179
166
122
217
128
130
146
230
179
251
176
244
235
190
246
178
210
157
195
225
242
211
195
153
158
175
181
186
255
222
217
203
200
175
129
168
191
218
191
201
162
178
223
160
161
172
264
146
210
221
222
182
176
185
185
246
238
153
175
193
204
217
200
185
213
209
133
133
173
183
312
187
165
181
236
188
221
268
129
226
162
202
232
158
217
115
224
220
190
204
236
145
210
146
210
233
200
200
181
130
164
241
217
232
146
216
156
171
255
217
115
216
234
194
146
205
173
178
274
216
157
205
176
168
190
200
320
184
122
275
238
231
205
242
185
212
248
181
133
204
204
172
170
146
149
201
201
232
192
200
132
239
163
171
170
144
200
200
176
129
185
195
206
188
255
253
160
150
122
173
151
224
200
191
165
167
150
168
191
242
211
146
173
232
264
166
230
182
218
157
227
189
245
193
156
191
133
267
180
187
209
130
164
198
200
199
231
273
214
193
166
133
191
233
187
145
143
176
247
189
216
180
180
207
169
146
169
183
194
243
115
202
130
192
255
176
173
166
129
133
209
188
133
164
181
195
206
132
217
296
204
238
203
173
200
164
271
146
208
208
129
168
229
184
206
212
173
130
239
268
179
130
129
303
129
195
283
164
271
122
166
186
217
195
173
206
218
244
164
204
199
192
226
204
155
129
196
200
170
185
238
162
210
238
146
240
163
229
184
129
168
239
161
191
241
180
228
204
214
242
237
222
162
228
210
150
215
183
207
210
218
194
153
178
164
204
191
138
204
162
230
192
184
221
175
146
313
225
190
189
184
151
222
206
204
184
228
156
249
143
145
200
160
238
173
256
176
133
210
169
184
146
259
155
219
201
115
130
224
173
282
166
122
185
190
158
190
203
262
206
184
237
171
240
146
162
198
244
177
168
251
232
171
207
173
202
160
221
197
201
152
196
128
187
130
218
243
239
239
230
191
206
166
202
176
191
284
239
207
217
204
184
161
217
146
187
204
176
182
214
217
185
177
161
224
263
200
217
211
163
179
130
175
200
172
189
195
212
122
174
196
138
143
217
145
168
143
166
222
175
174
191
150
230
157
146
155
173
256
218
138
230
122
146
202
204
322
122
178
201
145
203
200
252
155
200
208
182
189
261
210
258
230
188
169
185
210
263
204
264
183
213
184
128
209
159
228
235
226
129
145
179
169
202
162
182
222
179
204
241
236
211
226
181
133
122
201
262
193
130
179
212
196
172
143
253
204
265
184
210
129
236
238
210
210
232
210
204
228
130
158
184
176
233
122
230
231
249
185
173
168
176
211
143
173
275
180
155
207
130
144
200
221
229
196
184
158
218
174
230
204
144
183
115
202
193
217
194
176
218
155
217
258
244
152
209
197
238
245
130
200
160
217
159
223
202
182
212
227
167
156
173
248
283
166
180
169
186
221
173
130
181
203
150
176
211
161
176
179
166
229
176
209
235
167
220
225
173
179
179
197
261
186
150
160
184
192
129
218
144
216
204
166
192
146
173
264
181
211
173
168
211
200
184
229
141
145
218
193
258
228
190
201
182
250
206
175
179
204
216
202
211
203
202
155
202
259
185
251
133
273
176
203
209
173
162
179
146
203
206
194
204
155
185
193
181
130
160
262
168
254
210
170
130
209
212
129
253
169
221
160
204
162
162
190
188
214
122
180
244
255
181
222
235
201
183
227
195
164
179
266
202
191
209
291
128
233
192
179
220
263
203
176
129
263
133
175
188
231
168
273
184
207
179
160
182
257
173
226
191
146
191
155
203
130
187
173
145
246
201
214
173
156
217
160
185
210
229
129
261
215
180
217
130
261
211
191
218
181
166
189
218
248
173
144
181
192
193
144
195
216
150
164
230
207
133
147
251
168
226
207
164
176
202
155
194
200
166
182
173
206
250
239
193
252
179
213
192
222
182
129
206
211
173
168
173
130
206
204
169
182
178
240
141
200
162
168
169
186
174
173
173
183
202
129
155
164
201
238
129
115
170
238
175
201
229
189
164
195
265
185
199
225
274
287
129
172
258
129
167
172
302
246
161
162
164
237
161
164
141
225
200
206
216
249
246
201
178
260
164
234
146
200
129
216
202
141
204
129
217
202
198
206
238
212
162
201
129
247
183
220
263
173
200
173
194
209
184
184
231
211
129
184
261
243
173
238
187
130
129
184
213
191
202
169
168
188
129
129
209
149
164
115
130
157
197
195
155
174
186
160
155
178
204
276
179
181
178
247
193
184
254
219
224
130
146
168
244
164
159
173
180
231
202
235
208
158
164
145
169
186
133
129
146
159
202
144
143
143
143
146
224
202
174
172
216
229
173
238
221
156
201
215
278
130
276
246
218
256
189
202
208
174
245
208
157
167
164
238
255
178
173
156
159
164
167
162
205
155
217
208
264
172
156
239
216
166
173
146
161
183
240
210
129
146
216
191
185
191
162
213
273
192
217
203
130
202
173
200
204
176
185
204
141
143
217
209
160
179
194
256
232
263
176
233
200
153
180
173
250
215
130
207
178
161
232
150
222
182
201
236
155
115
146
130
193
212
130
264
255
170
167
197
146
141
209
204
231
198
224
194
230
202
146
198
254
192
129
188
262
256
141
237
188
133
150
144
269
221
143
230
155
204
141
264
164
248
172
241
258
176
170
186
225
175
225
129
210
217
129
211
168
208
231
201
201
146
179
172
221
183
228
169
205
205
168
222
176
213
169
202
272
162
237
146
252
173
248
212
183
146
189
146
179
180
201
176
165
211
211
223
232
245
162
185
158
133
168
184
209
194
130
256
229
193
182
258
195
141
155
160
164
238
183
211
210
130
162
210
191
200
189
169
245
230
202
176
215
130
211
151
146
141
220
183
193
236
231
193
251
277
168
180
229
203
191
226
211
176
115
208
170
210
181
119
210
222
200
141
189
242
299
208
214
143
203
187
199
204
183
130
200
296
162
143
133
173
186
193
230
246
210
215
220
243
190
188
182
129
173
147
143
168
194
228
217
143
144
210
228
221
207
216
194
222
143
146
187
210
178
179
166
160
176
207
244
183
217
158
200
260
246
171
216
187
168
163
217
176
146
248
255
239
170
217
179
179
173
176
173
230
152
296
189
130
229
176
168
207
175
174
170
187
146
204
162
220
177
207
161
179
176
204
217
206
228
189
225
220
188
168
152
214
178
173
202
204
166
146
197
115
190
129
202
177
168
240
264
180
200
172
129
234
199
130
182
299
261
208
169
129
198
208
132
201
230
236
176
152
158
251
191
179
129
246
222
168
168
179
207
200
189
146
165
204
188
182
195
239
295
210
156
160
146
191
263
184
164
210
262
122
185
198
150
141
179
237
211
164
210
130
146
211
130
150
195
190
129
217
197
169
261
192
199
130
235
223
192
201
204
207
256
129
210
210
176
216
251
203
237
274
155
173
167
244
176
222
162
239
173
260
216
173
253
252
188
160
181
162
206
159
201
166
191
213
143
150
173
179
200
191
189
138
163
261
129
129
158
173
217
172
158
201
245
229
156
178
222
168
129
186
146
227
200
129
167
187
145
173
115
253
223
173
217
172
184
189
192
207
179
182
172
199
244
146
203
173
180
164
258
173
173
224
222
184
150
191
237
173
170
146
189
180
179
143
183
180
166
194
129
167
162
217
162
236
176
155
199
181
164
185
204
219
202
143
272
219
204
149
203
190
262
156
254
217
283
115
183
258
146
204
193
180
191
168
161
200
129
228
183
217
146
176
268
176
152
221
231
211
130
259
189
244
128
239
226
152
211
187
244
241
178
185
175
173
242
222
133
242
198
235
172
176
230
206
185
246
188
122
161
146
164
217
183
178
191
187
246
184
231
219
221
206
146
182
209
206
258
254
264
230
221
143
252
216
146
173
252
188
122
194
129
157
164
164
182
215
150
130
198
129
175
247
166
162
164
221
179
187
176
166
176
145
211
179
176
145
173
146
194
145
210
161
244
225
146
227
245
177
178
173
208
217
228
138
210
130
162
214
251
230
235
182
176
174
230
162
212
157
206
299
315
238
208
156
219
191
246
201
214
181
130
259
203
204
204
176
185
249
179
200
178
181
288
261
227
213
274
210
196
129
223
189
141
150
176
164
186
146
203
181
225
153
155
212
204
236
182
283
145
200
196
182
194
231
182
162
129
258
157
217
203
200
146
211
146
210
157
231
230
144
184
214
238
155
234
176
255
218
265
146
155
275
210
168
244
198
239
309
227
202
308
176
238
146
129
129
178
156
147
237
179
151
206
211
182
171
177
300
145
232
255
229
172
225
147
210
163
217
122
146
173
130
242
222
163
153
147
129
191
225
210
145
146
190
170
177
205
210
246
228
167
214
143
264
254
156
233
296
205
133
194
201
153
203
173
257
200
193
218
203
129
196
155
224
238
179
187
207
201
173
201
172
183
192
194
201
208
213
195
250
220
224
128
189
200
141
199
240
204
129
146
204
164
200
225
146
270
195
211
206
130
176
211
221
180
146
199
195
200
233
129
197
201
187
182
129
200
234
195
164
225
209
202
214
210
179
133
129
143
207
270
133
129
143
211
187
162
202
200
164
168
129
170
172
163
145
228
257
165
262
186
233
211
184
133
210
217
143
249
144
129
195
179
183
229
200
212
262
143
183
201
230
158
130
263
189
221
273
263
231
149
208
164
197
157
195
202
115
254
174
214
179
227
243
240
235
206
130
211
144
173
202
185
195
166
205
258
171
130
115
144
235
192
186
207
133
246
176
128
208
214
129
156
130
183
181
179
182
264
165
283
253
210
225
215
147
185
227
238
200
283
145
146
264
247
176
227
141
209
242
129
143
176
155
191
238
183
221
178
191
183
184
240
174
130
198
183
183
205
210
152
256
164
237
208
188
206
234
158
171
133
191
157
191
173
138
182
183
169
210
241
238
223
173
182
259
220
208
176
138
180
184
195
174
199
171
264
143
275
181
201
155
224
167
184
190
130
173
190
246
217
138
239
199
183
259
155
217
205
164
130
221
129
173
219
174
227
198
198
187
184
173
179
244
177
179
207
224
191
175
170
206
160
143
146
122
232
158
190
161
179
129
200
129
182
146
204
266
249
225
153
231
335
198
191
172
155
193
230
222
129
133
145
224
211
145
231
129
200
180
157
238
185
130
202
210
182
129
179
236
162
183
189
191
129
206
191
162
162
180
210
173
262
178
162
205
257
193
129
254
180
187
173
245
245
219
181
182
217
145
180
221
171
210
146
183
211
230
206
236
164
130
158
216
132
225
138
193
192
160
145
179
129
241
179
230
283
176
194
206
215
130
230
244
211
188
236
209
186
146
182
254
256
129
146
174
247
204
173
158
129
158
179
119
156
155
176
214
173
146
181
269
203
183
192
182
201
174
173
218
199
195
335
242
209
259
208
133
166
213
192
236
237
249
184
150
211
174
219
208
122
173
173
179
146
201
164
216
210
133
173
164
206
141
146
204
234
263
205
146
158
285
189
199
199
219
129
292
115
221
203
146
239
228
256
188
238
255
115
204
231
206
204
184
130
230
185
180
236
170
203
129
173
222
186
190
233
130
231
214
129
175
228
209
191
240
200
203
168
130
236
190
244
173
185
145
185
156
158
130
178
229
146
247
176
162
181
191
224
201
166
182
185
191
133
166
160
247
176
162
263
212
185
191
199
146
191
155
194
218
171
204
206
183
151
210
218
202
182
203
184
235
244
296
173
168
235
260
201
173
211
168
155
204
256
198
168
211
219
228
171
187
160
175
236
138
225
129
181
173
130
158
183
129
181
178
171
166
190
211
191
196
162
153
172
226
181
184
143
210
173
234
216
211
246
158
143
162
145
208
174
146
130
211
168
164
130
210
200
146
158
186
230
215
212
182
151
172
211
217
199
214
183
193
236
204
199
182
146
223
187
185
211
282
166
192
188
175
233
202
158
189
190
164
202
187
168
324
141
194
146
211
182
244
176
217
180
268
238
173
176
173
211
183
205
200
202
141
202
181
132
212
156
211
176
226
170
176
191
243
200
133
212
239
182
282
172
155
173
260
210
175
213
251
162
168
171
158
130
248
164
155
184
179
181
300
146
187
161
225
210
221
211
129
206
200
201
168
191
205
168
187
260
191
130
249
199
173
265
164
273
129
236
236
173
257
224
153
166
247
176
174
166
199
178
242
185
191
182
259
193
178
171
223
299
186
149
225
231
214
158
176
183
162
176
249
225
190
180
208
256
202
182
234
184
175
195
181
183
155
201
157
217
180
211
206
202
129
179
204
156
201
239
187
164
252
210
168
205
145
173
266
141
181
257
219
206
238
247
196
160
246
216
179
130
179
187
309
222
205
184
185
325
129
335
161
204
272
184
211
200
146
156
162
133
180
156
202
216
178
225
185
256
186
195
204
162
275
161
204
180
240
229
225
191
197
185
145
173
200
151
191
226
213
209
168
174
335
235
115
171
144
246
147
164
172
178
204
154
223
164
242
204
256
227
155
160
130
204
179
210
191
176
261
130
146
206
168
176
141
160
260
181
225
204
221
129
230
133
130
174
217
164
217
161
160
267
176
132
206
182
209
218
122
236
284
129
216
255
185
229
248
193
232
267
161
247
187
201
156
147
163
155
168
176
194
177
133
141
164
256
176
216
238
179
201
156
202
183
220
228
208
169
157
217
129
173
239
211
227
238
184
141
216
191
201
132
222
246
242
169
185
228
191
203
224
143
115
176
174
207
186
180
162
146
151
184
179
210
225
173
165
199
191
225
192
176
217
173
148
146
189
188
182
179
130
229
178
180
206
214
152
335
180
143
203
210
179
175
247
207
182
210
217
224
130
173
122
200
286
205
151
238
152
253
216
195
184
210
158
200
258
188
128
210
202
183
262
168
186
195
237
195
178
217
158
200
168
233
190
150
209
160
145
205
261
243
232
129
143
187
177
229
188
130
244
186
159
174
222
238
122
168
144
185
129
169
204
164
243
183
146
287
227
176
146
178
185
178
210
236
194
211
218
200
277
130
165
209
146
300
129
176
173
261
206
115
204
202
202
195
175
185
115
234
173
232
202
174
161
193
214
243
268
158
234
190
230
211
198
178
235
129
182
158
239
150
133
216
129
163
173
214
231
146
235
176
255
211
122
145
199
147
206
247
182
168
210
212
209
206
183
186
171
184
129
145
201
265
240
193
166
143
203
187
164
222
209
254
194
119
204
200
217
227
219
167
213
150
171
190
225
157
172
204
177
242
173
141
216
228
177
206
190
248
168
178
182
247
287
202
186
262
214
186
173
211
188
202
227
115
172
239
203
281
209
133
129
166
138
202
159
277
247
222
122
206
146
179
203
164
130
146
145
242
209
115
181
194
229
284
187
208
198
174
192
180
130
202
183
231
233
211
263
179
143
234
155
214
173
199
335
146
159
200
179
185
162
293
233
210
217
141
200
274
128
143
257
122
183
210
221
176
212
238
176
202
210
222
183
231
133
215
145
156
185
243
145
244
249
261
189
217
247
162
152
147
184
182
129
178
146
171
214
184
130
164
133
162
244
177
219
175
184
144
224
210
183
200
236
158
166
214
179
223
211
204
216
182
202
168
180
159
204
152
232
181
146
209
204
129
181
168
178
191
254
199
194
166
133
180
185
138
201
152
184
187
210
199
183
129
173
146
164
238
209
182
146
247
130
201
146
143
222
200
141
201
203
228
230
254
186
219
210
246
211
298
183
184
217
204
209
217
158
200
209
153
207
234
306
179
164
161
162
268
143
115
170
230
155
192
179
190
155
200
187
157
233
191
255
173
176
185
182
210
166
143
178
237
178
222
144
259
191
204
192
211
188
207
201
132
210
232
223
129
198
234
204
178
260
240
205
141
213
153
222
129
129
202
217
217
130
227
225
182
204
187
133
164
131
201
177
259
205
176
150
189
201
182
176
200
201
189
176
173
183
185
172
196
214
157
258
204
214
185
230
168
202
147
168
236
264
148
152
161
255
282
160
175
184
299
196
185
204
146
199
251
143
248
230
129
186
258
251
242
176
176
196
232
182
204
222
192
209
145
172
230
189
183
217
164
160
222
146
199
157
143
214
176
201
201
253
171
190
133
115
259
242
229
206
201
307
219
150
143
196
235
198
168
201
248
263
218
232
133
173
212
132
164
238
173
240
143
194
179
132
229
200
144
283
269
129
172
129
133
173
176
188
132
150
146
162
193
179
246
191
169
214
230
266
173
183
122
203
143
173
129
235
225
181
194
274
129
162
206
155
229
184
181
209
129
145
211
214
179
239
158
144
205
211
187
229
303
204
164
155
237
173
173
192
176
228
187
201
303
189
202
199
231
222
309
201
236
115
149
186
202
222
160
225
133
193
133
221
199
214
188
177
218
164
176
151
210
201
185
195
173
216
181
158
191
248
230
217
182
192
204
185
194
210
201
238
168
204
204
210
146
195
210
146
149
220
129
271
130
130
176
173
216
173
200
130
211
201
211
224
242
213
166
187
146
247
184
176
252
222
179
225
146
217
204
244
268
204
160
200
160
190
158
173
206
202
181
158
243
129
217
262
185
200
258
185
202
225
222
275
176
204
274
193
164
146
211
185
183
182
173
198
267
217
173
153
224
129
264
179
157
227
130
149
129
207
176
168
173
179
211
242
292
258
163
210
130
230
201
179
171
133
309
165
176
178
133
190
201
149
176
144
175
158
187
173
205
246
230
210
217
215
115
231
201
185
193
200
206
242
184
130
177
200
161
141
195
201
238
265
163
200
179
176
214
200
184
161
234
249
143
146
164
225
187
146
193
183
200
129
182
238
204
183
204
115
163
217
217
174
210
191
153
129
182
228
160
183
177
130
173
174
143
212
175
154
200
210
211
234
145
164
182
194
180
210
266
178
178
228
165
129
230
204
179
151
178
161
240
208
258
216
162
274
129
189
242
202
158
173
210
236
185
258
188
283
239
227
173
138
164
155
133
229
237
202
205
145
152
210
202
248
229
130
269
179
252
227
201
266
211
260
245
254
175
221
176
238
204
204
225
199
190
218
256
204
203
263
174
115
220
172
212
173
173
176
229
226
130
230
181
169
212
189
179
224
225
175
133
238
200
130
204
122
174
161
193
214
182
262
176
187
173
165
130
173
214
161
201
162
146
233
141
199
184
168
130
229
181
208
174
182
217
209
228
200
162
264
166
138
225
130
173
161
206
211
247
227
129
178
197
230
192
160
168
230
151
176
225
192
261
225
246
208
202
213
260
165
231
162
141
147
153
275
133
160
194
191
162
210
251
303
149
211
211
198
208
210
306
188
286
241
209
209
200
179
217
146
199
228
129
173
181
176
203
222
217
188
213
130
146
184
156
245
146
214
204
179
190
181
211
211
161
264
215
217
166
172
202
166
204
269
160
201
188
173
238
225
168
190
115
162
179
130
182
218
196
190
132
169
232
194
130
236
210
183
141
243
184
250
185
160
211
149
193
179
241
146
238
210
175
227
179
181
227
211
158
259
173
168
272
173
206
197
173
179
248
236
275
167
173
174
188
233
225
179
194
233
202
173
180
211
162
158
194
206
230
164
204
176
164
146
228
210
199
172
239
189
266
232
158
148
210
206
182
188
266
211
161
216
122
196
176
235
218
176
173
204
257
179
164
183
200
176
179
180
214
215
145
180
236
256
236
203
210
158
204
192
186
238
175
255
217
152
224
192
246
151
210
189
130
200
181
217
130
150
213
146
147
217
175
129
210
218
149
264
200
180
190
248
199
173
141
201
202
164
172
239
168
151
155
204
222
172
296
186
231
173
204
173
257
261
161
230
227
224
198
155
213
158
157
132
186
224
164
246
156
181
206
161
168
296
115
224
252
237
149
230
229
228
169
335
168
185
162
231
219
263
133
188
161
239
129
250
184
174
228
174
164
158
170
171
146
155
184
204
133
200
225
149
174
176
170
146
185
158
225
187
130
169
260
185
160
258
229
184
168
179
179
195
155
261
173
265
285
206
188
158
260
179
236
178
194
233
204
221
206
162
168
182
198
179
185
210
189
187
191
283
207
261
212
247
211
244
224
209
191
259
201
231
180
258
287
228
194
143
160
239
211
191
176
161
171
201
138
215
191
161
183
216
163
145
229
143
237
191
179
195
246
191
147
182
115
222
238
207
204
230
168
210
196
184
115
204
335
227
169
188
174
167
168
179
239
208
168
206
132
202
222
176
146
206
129
129
255
207
174
193
185
182
189
203
143
206
180
229
189
223
150
155
143
146
217
236
166
236
153
176
191
174
174
166
176
168
222
198
228
219
184
335
129
209
173
173
160
265
221
256
174
115
197
211
198
206
184
159
169
129
212
129
217
184
256
172
201
168
176
162
193
226
129
182
173
188
204
132
190
203
158
158
246
210
152
204
225
194
236
176
222
210
236
173
211
146
129
208
213
180
201
293
176
173
199
173
258
195
189
193
222
181
133
211
208
236
220
177
145
283
222
212
254
182
222
138
162
188
164
173
263
236
175
195
191
267
130
133
280
137
167
250
206
235
159
179
266
217
248
211
179
210
248
185
231
204
133
204
169
178
146
201
218
173
158
207
184
188
202
173
219
191
182
143
225
203
227
204
238
146
169
212
239
183
186
146
222
130
211
185
133
196
147
146
138
146
162
178
224
146
258
168
219
200
182
179
158
184
184
155
194
146
206
133
283
188
142
207
215
187
201
254
218
238
207
208
222
238
263
155
210
162
161
180
230
190
248
149
179
143
176
238
210
236
167
146
146
197
200
171
222
234
205
232
240
164
160
256
230
200
212
173
170
161
179
187
210
190
129
217
191
185
166
217
176
234
210
156
165
335
189
146
119
130
188
159
236
129
146
141
215
214
262
187
232
198
193
247
278
214
250
257
217
191
176
130
150
176
246
157
188
200
210
175
211
153
222
217
155
225
317
182
229
217
165
203
176
246
132
218
227
164
203
222
166
269
210
200
161
201
230
249
146
184
210
247
146
162
252
181
221
197
115
162
200
186
181
178
202
164
183
204
274
182
167
153
194
205
194
211
195
231
210
210
270
129
169
122
252
129
179
172
205
147
164
259
185
302
168
179
214
172
331
204
260
193
179
133
145
161
227
222
272
204
170
280
193
178
181
257
129
280
256
246
205
173
130
217
210
239
115
146
189
168
226
187
230
238
251
238
187
128
189
232
218
129
192
141
238
160
203
181
192
188
207
155
225
263
180
227
198
176
173
201
240
217
228
288
314
164
178
142
176
173
180
216
217
225
175
204
133
236
229
172
241
219
179
195
202
143
143
195
208
219
183
289
168
185
237
153
195
176
160
191
200
146
283
181
256
176
238
277
195
176
176
147
167
195
179
156
206
280
182
204
139
208
240
203
222
179
156
160
152
203
182
143
167
264
168
157
191
218
222
203
203
174
155
168
157
293
219
200
244
225
230
188
150
204
210
237
209
211
303
205
178
158
247
115
145
203
173
211
185
235
183
185
214
174
255
160
191
204
176
237
174
173
254
175
217
206
191
202
200
214
222
130
129
190
179
219
219
176
211
247
164
202
180
222
208
177
162
202
204
176
183
262
187
210
328
173
193
129
160
155
173
115
179
173
203
173
173
182
287
174
179
201
210
240
202
150
164
159
146
169
213
201
198
141
168
146
139
176
176
202
162
201
254
236
245
236
133
255
182
164
203
227
187
182
145
173
200
267
207
260
203
228
206
184
130
158
231
176
158
217
133
151
253
201
184
212
206
161
213
145
236
242
202
216
263
180
173
182
173
330
167
231
184
143
130
129
197
209
155
255
201
276
162
173
228
205
212
130
195
184
176
204
207
283
205
158
178
146
173
231
335
204
227
240
162
217
225
211
184
210
186
206
232
173
197
195
178
184
254
141
133
194
146
258
206
204
216
176
234
176
145
212
173
196
251
204
191
191
224
146
196
155
176
230
162
224
206
128
253
150
204
217
149
181
158
145
200
187
203
145
203
173
187
184
182
250
180
198
185
186
129
184
247
146
183
143
146
279
158
224
202
230
143
227
241
130
198
168
173
217
227
167
147
146
167
259
165
238
248
162
202
185
206
184
183
129
173
165
158
192
246
173
248
229
265
185
169
193
166
219
143
150
185
181
183
133
236
225
275
265
130
284
202
187
276
192
130
145
153
217
130
214
228
209
183
249
129
214
185
169
216
230
143
184
203
217
362
176
219
188
201
153
138
194
210
190
209
282
185
160
133
192
224
214
199
197
221
130
178
267
204
233
130
183
204
179
172
173
188
141
145
211
242
197
233
178
129
129
171
204
227
247
184
130
209
166
165
173
230
150
210
205
283
226
145
176
206
181
150
179
200
204
208
188
145
150
202
159
184
150
149
201
335
229
202
209
133
217
179
204
173
188
210
130
200
173
161
219
173
209
138
204
278
156
173
239
216
217
162
159
169
173
173
209
252
204
236
255
200
172
172
210
227
253
214
129
200
247
183
237
221
141
197
174
190
204
167
133
237
182
143
217
155
217
140
204
147
166
161
186
191
168
242
171
185
204
240
168
207
146
185
227
198
183
131
191
133
195
209
173
146
162
183
129
247
133
189
175
150
176
228
168
168
161
132
219
122
283
129
202
205
176
173
206
204
146
236
131
209
162
205
204
205
129
250
179
163
242
168
202
184
159
199
179
166
130
194
138
217
181
206
210
138
115
115
173
175
210
166
122
169
202
239
146
193
182
281
173
129
182
187
210
162
195
206
274
133
210
202
232
236
201
209
281
244
179
226
225
211
245
180
234
158
164
209
183
158
242
166
130
212
146
207
158
155
246
162
214
131
150
185
195
168
167
184
236
253
216
195
176
193
275
204
246
146
229
132
146
248
184
178
159
178
203
160
211
153
234
219
258
181
162
202
201
235
204
115
188
151
156
201
142
150
179
211
195
211
187
144
164
225
207
203
156
179
178
166
209
156
195
147
172
256
185
216
175
227
253
164
182
203
211
206
217
146
229
234
176
241
184
236
222
157
146
207
227
183
201
297
239
130
208
211
200
213
149
229
179
307
158
266
195
187
149
197
218
169
178
130
211
162
194
160
198
201
146
178
182
264
191
199
224
185
130
237
238
210
217
193
129
243
202
129
202
142
149
281
224
204
145
145
172
206
173
207
204
173
215
207
179
130
283
130
149
185
189
183
175
194
178
133
171
201
178
146
167
130
184
239
149
185
217
236
157
159
213
209
162
238
195
188
122
177
247
209
245
300
174
165
179
191
235
236
143
188
194
173
183
188
161
222
187
188
206
156
202
221
216
149
144
210
200
146
217
180
200
197
160
230
149
157
169
209
176
146
204
176
176
133
204
146
147
158
158
202
130
196
184
244
211
190
224
173
158
200
196
153
170
199
221
164
255
236
208
283
172
173
150
173
178
217
129
230
177
191
239
181
195
180
309
129
228
203
185
176
129
145
166
200
212
207
206
197
145
139
228
155
152
160
176
186
177
133
208
230
204
145
182
122
176
129
211
181
131
176
256
185
169
163
264
191
281
204
162
229
151
151
238
239
145
129
250
211
236
178
146
146
231
152
215
254
195
185
206
222
129
133
229
224
182
171
162
146
191
175
236
174
207
200
169
198
179
182
129
133
164
173
174
283
161
225
168
145
149
204
207
183
228
216
210
245
173
223
133
252
227
182
138
226
162
187
196
239
262
184
179
129
259
180
210
129
221
254
145
210
188
210
178
230
179
168
210
206
184
185
211
145
176
168
186
206
208
162
211
155
238
206
185
176
141
230
186
261
157
263
209
184
278
234
130
236
133
129
130
130
200
225
197
216
155
130
141
324
211
226
212
191
242
185
145
184
242
209
129
227
266
266
145
129
129
219
219
211
158
210
229
163
265
176
180
251
233
264
129
240
215
241
204
176
176
195
169
184
210
143
146
173
151
169
174
162
173
197
176
343
129
163
205
153
179
194
129
200
198
209
239
188
210
174
195
193
189
146
231
202
167
184
130
264
130
173
230
200
204
192
179
158
166
205
192
154
180
201
278
202
218
227
176
168
189
190
173
300
122
227
169
173
177
178
195
133
128
146
198
165
169
256
335
228
122
199
133
221
122
179
221
238
250
129
219
176
180
210
227
164
221
204
213
206
166
207
150
201
229
191
176
190
179
222
133
198
255
207
180
138
223
210
164
133
205
180
204
239
199
173
329
166
173
193
278
158
169
164
182
183
115
146
188
176
255
182
130
181
214
185
229
144
183
164
188
162
130
169
160
177
267
196
228
244
209
179
182
149
217
245
191
207
187
209
146
214
133
173
128
165
147
155
260
164
222
170
202
236
130
217
155
178
129
201
181
217
186
146
217
129
157
184
201
162
214
162
182
296
179
260
273
132
206
192
227
115
211
184
230
268
171
129
201
247
189
204
173
234
187
176
225
176
147
203
146
173
145
201
164
229
204
204
206
225
207
169
160
179
230
185
187
262
143
277
218
212
205
195
129
230
233
187
230
188
178
204
200
252
247
213
162
129
161
228
212
270
173
210
227
176
205
155
201
210
252
148
166
186
246
231
211
176
173
163
179
176
173
129
188
233
191
168
204
217
237
171
149
274
178
211
146
258
178
221
225
214
203
246
188
160
225
183
179
165
115
260
163
217
193
169
182
182
184
161
143
259
186
194
167
180
188
181
156
238
173
130
248
230
206
238
162
115
298
165
133
119
167
161
168
223
129
214
193
188
203
205
180
173
178
175
253
264
201
141
222
169
212
182
168
187
133
141
195
162
209
181
248
201
169
238
179
146
157
169
151
217
253
156
203
214
179
169
187
186
288
206
172
201
216
256
211
173
305
190
222
210
186
168
223
180
274
206
204
145
194
217
205
238
247
264
179
162
210
179
188
157
176
204
168
146
129
189
236
159
138
131
200
179
290
208
185
156
166
219
183
195
162
146
191
162
133
141
207
173
185
185
195
200
211
242
156
144
197
191
122
263
183
254
200
205
213
180
162
167
164
170
166
246
149
145
228
143
164
215
181
151
156
236
146
192
215
222
156
210
176
183
199
200
231
203
211
204
132
156
152
129
205
182
183
189
162
180
150
221
156
162
150
222
227
198
217
202
259
160
203
130
206
175
196
176
185
254
179
218
179
210
153
189
234
194
173
221
146
195
212
164
149
146
212
149
230
240
244
204
167
233
130
141
143
206
180
129
193
309
206
129
202
180
199
259
182
203
158
214
307
168
239
145
203
146
228
115
172
146
189
141
133
176
248
196
189
186
241
141
204
172
129
204
129
228
163
209
232
189
158
169
216
168
257
217
205
162
211
240
156
173
236
173
263
213
130
167
160
217
210
183
206
143
181
239
260
151
282
206
205
229
168
129
165
228
248
149
173
278
207
173
178
171
194
227
182
152
198
256
177
221
145
222
164
201
129
218
204
230
204
201
173
145
190
202
211
165
163
174
130
160
164
217
215
274
130
203
184
172
225
185
164
130
162
206
149
335
145
202
185
212
240
130
170
155
182
129
179
182
237
237
129
152
191
239
176
115
225
222
191
275
185
133
173
225
169
224
263
130
264
224
130
221
212
202
190
263
248
170
242
173
217
218
255
201
169
221
162
190
153
173
208
115
180
209
255
129
204
167
184
215
208
274
195
170
207
176
218
252
252
239
187
197
168
143
204
133
183
130
180
274
141
141
164
181
138
115
204
180
143
168
128
182
283
228
179
169
193
147
189
210
204
192
214
150
220
188
222
199
180
222
183
186
232
130
187
255
164
191
209
242
171
213
202
183
211
176
152
185
218
179
133
185
171
180
180
182
217
176
264
227
210
237
168
146
216
180
211
218
133
176
204
164
241
206
209
167
168
179
194
176
223
264
128
231
251
169
238
164
210
159
164
274
164
184
240
205
211
168
236
199
129
202
182
129
202
221
222
274
169
146
176
129
245
195
264
159
146
162
229
194
204
238
203
204
130
143
190
143
200
202
194
255
242
182
219
185
122
230
164
197
252
168
133
258
115
130
171
166
200
176
210
176
129
204
143
162
171
258
167
162
129
182
229
233
237
187
195
176
183
169
151
259
192
146
143
271
130
217
180
243
129
143
190
241
180
173
129
226
257
173
206
215
168
179
115
210
173
275
249
161
226
180
183
173
175
161
227
202
151
168
190
231
150
192
146
232
172
182
133
178
264
183
211
222
218
236
206
194
200
183
218
204
173
182
191
176
151
179
173
184
230
158
192
200
237
144
184
191
283
241
151
174
133
274
193
158
160
200
130
210
195
187
164
204
217
256
204
203
180
184
189
178
184
146
229
249
180
162
130
214
153
201
252
191
229
200
178
153
244
208
183
191
202
115
145
198
173
205
185
128
145
273
129
122
200
130
210
277
207
184
180
227
128
169
259
141
245
182
184
180
153
214
182
162
168
234
217
209
146
264
146
287
200
225
247
173
129
207
260
162
199
155
162
185
210
216
173
130
184
191
185
173
200
143
197
234
179
237
252
211
194
195
224
138
257
196
182
166
223
205
145
289
168
172
171
172
161
162
176
247
210
161
184
222
202
133
182
170
151
173
204
230
221
192
129
174
201
176
176
138
158
164
133
178
242
164
174
232
229
141
195
185
173
162
177
169
168
170
221
162
184
270
164
258
206
168
200
246
200
235
173
212
206
188
173
172
145
176
189
190
181
214
177
237
210
201
131
166
186
122
151
272
236
146
217
143
184
129
208
184
202
204
211
156
194
145
152
130
143
210
193
188
132
181
242
308
188
225
214
218
193
156
145
198
220
143
145
256
198
230
214
174
213
206
162
143
119
152
207
178
192
207
242
179
191
169
225
185
129
222
242
195
161
131
154
195
182
203
255
202
178
173
204
231
235
179
174
264
235
210
238
179
307
231
129
158
194
195
180
133
168
189
221
138
217
190
272
145
247
204
239
291
209
198
179
203
217
227
176
149
229
157
200
253
129
231
216
237
190
192
238
207
176
223
211
200
173
185
208
145
176
215
176
216
166
215
180
265
173
239
286
179
173
143
173
191
173
176
234
185
176
130
286
247
168
184
157
204
287
263
284
165
163
237
222
236
229
200
174
185
172
129
221
177
204
215
184
208
158
178
184
262
129
205
218
228
184
168
193
143
138
178
206
185
255
335
130
200
130
255
230
210
182
253
200
144
156
335
226
130
214
202
153
130
176
223
217
183
176
167
189
173
268
173
226
191
216
178
189
204
238
200
210
164
167
197
181
185
225
219
169
257
147
202
161
211
215
157
146
206
214
141
201
184
186
200
143
201
158
221
168
214
184
176
146
214
201
178
235
210
229
164
180
167
184
236
143
173
230
170
217
145
157
185
161
167
209
151
162
162
240
129
145
217
179
167
176
218
227
207
207
181
176
204
152
254
216
145
274
247
248
176
172
178
189
130
225
179
222
144
162
262
214
263
205
200
203
204
178
238
236
129
212
185
183
208
209
191
146
129
187
141
171
160
239
204
146
133
249
145
173
187
172
133
254
165
174
169
216
264
217
179
210
256
257
183
174
181
225
226
283
122
184
180
185
207
234
217
146
204
166
187
204
146
146
218
171
189
203
207
181
217
239
171
200
192
169
193
219
210
294
169
230
146
151
190
146
173
133
238
224
187
188
144
317
185
202
151
158
169
173
147
129
296
184
211
179
201
129
175
182
155
219
173
225
153
254
212
183
222
189
204
189
155
227
186
191
146
176
169
275
236
209
181
265
166
221
143
145
204
236
168
177
204
132
180
155
204
152
255
217
191
214
201
199
218
181
196
176
171
204
235
182
221
204
184
192
243
194
214
179
170
184
241
179
216
249
155
228
151
206
140
189
173
158
190
130
186
174
191
181
217
275
204
214
128
181
200
173
217
207
228
217
208
211
115
229
170
159
251
164
143
176
279
176
217
181
145
202
217
230
115
276
206
115
176
208
194
191
185
261
183
193
240
216
200
189
115
185
151
228
156
129
231
197
300
175
174
173
191
178
150
188
181
179
202
172
205
262
160
211
211
189
168
217
219
183
195
176
184
162
144
200
128
166
184
238
165
209
184
167
115
173
146
186
217
204
146
179
184
173
145
157
170
184
225
133
182
152
184
248
188
181
181
211
197
129
202
162
173
179
192
168
226
240
199
234
172
158
130
144
270
200
190
158
182
145
228
229
143
171
190
146
255
246
175
146
130
235
130
189
265
238
159
176
180
130
205
261
130
191
133
229
189
300
176
129
191
227
233
146
213
257
152
188
167
141
172
206
158
236
201
143
176
189
146
212
211
209
195
222
158
198
187
248
129
176
172
240
146
185
227
145
169
173
210
129
153
154
204
166
166
247
168
201
202
211
146
239
209
202
206
138
191
155
199
182
152
225
303
122
217
214
201
179
128
227
143
252
191
238
156
163
129
161
177
173
132
209
132
119
231
240
217
155
238
179
183
214
205
206
153
208
143
246
251
130
146
233
204
202
129
180
203
184
217
115
185
180
169
214
222
143
115
196
174
184
130
273
174
130
219
217
143
163
206
236
215
219
230
183
215
173
210
189
239
129
204
201
155
231
219
157
246
133
220
247
203
211
130
143
240
206
335
182
176
195
194
185
180
164
184
190
201
208
235
205
232
183
207
176
192
239
133
176
146
221
233
202
179
164
129
181
205
182
198
161
204
227
224
185
219
164
208
206
214
219
246
171
213
217
162
184
173
241
129
210
164
204
130
166
266
147
210
208
164
182
207
245
204
183
146
143
182
199
200
145
230
209
161
189
238
198
187
256
184
164
183
155
176
143
225
289
171
191
178
206
172
193
189
220
205
227
217
129
203
176
204
243
181
221
194
184
201
198
200
203
179
130
204
128
193
160
182
166
210
260
158
176
192
173
171
221
234
236
264
186
207
158
206
192
228
158
259
224
197
184
205
226
236
174
176
260
203
173
176
180
190
299
173
183
205
184
181
194
206
229
201
224
171
202
156
192
162
256
156
188
188
182
181
173
164
246
122
199
215
190
166
172
187
155
178
204
236
179
145
234
164
192
238
176
184
186
217
173
129
226
171
129
188
251
184
180
157
169
230
210
201
271
184
173
173
159
115
258
178
184
229
170
185
208
147
146
194
206
211
133
210
143
195
167
174
204
164
194
167
217
214
302
227
164
162
180
168
250
176
173
178
129
146
214
171
277
194
250
209
175
200
184
166
193
262
173
168
191
200
240
184
176
179
192
206
167
211
192
146
242
194
191
152
211
162
211
146
210
145
232
238
203
198
162
225
166
199
150
221
208
145
216
194
220
173
146
146
274
279
260
184
198
202
291
257
189
192
133
221
208
238
201
145
173
174
164
228
146
197
191
179
217
146
222
186
225
246
254
230
244
176
172
264
192
236
150
158
165
164
164
187
174
184
213
160
162
161
184
168
143
183
129
335
146
129
240
133
237
238
183
165
226
162
200
218
171
192
189
200
130
302
227
271
146
146
217
173
190
141
192
270
204
130
174
206
210
211
141
215
252
150
221
202
225
168
180
162
191
206
225
210
178
203
218
256
256
274
186
129
164
221
186
210
264
263
188
184
188
235
236
229
189
157
146
211
210
185
146
219
115
184
145
185
263
146
202
192
199
173
244
226
182
196
221
151
129
227
146
209
192
258
173
232
180
130
143
244
219
200
204
201
206
179
195
204
143
152
199
297
204
227
234
138
176
217
203
129
168
161
162
207
199
164
229
230
178
190
207
179
204
204
212
228
187
188
209
178
176
203
223
254
129
204
254
204
173
249
227
250
217
156
193
259
218
239
182
206
204
164
238
225
129
210
268
260
173
209
195
144
221
185
158
185
236
178
180
210
129
254
149
130
146
164
162
146
157
204
174
189
210
130
188
184
130
155
205
132
174
184
217
212
201
179
145
179
186
164
229
204
205
209
185
173
180
204
272
177
115
215
129
188
255
217
164
157
206
141
177
262
115
189
230
128
179
173
146
216
146
130
182
141
183
210
130
161
146
264
129
231
206
187
203
264
176
206
181
145
194
201
181
176
230
129
194
161
176
224
155
229
211
228
129
202
187
128
182
163
321
213
162
254
220
259
166
262
197
176
251
227
154
194
204
162
263
129
188
239
222
248
231
184
146
192
160
164
283
301
169
145
168
158
130
225
229
159
172
194
205
283
115
166
133
174
115
210
220
141
184
231
191
133
146
202
130
130
207
253
158
143
187
239
238
201
130
214
225
193
153
213
162
168
264
186
180
203
254
115
141
179
178
214
181
172
169
177
173
146
160
178
272
206
204
195
173
122
163
191
160
209
182
205
189
179
211
235
166
176
157
185
169
129
176
227
193
152
222
229
236
173
145
210
211
217
185
161
191
215
156
195
236
200
191
173
239
144
176
152
239
202
284
228
225
156
283
208
209
145
217
212
218
185
130
259
201
129
209
223
260
187
204
201
178
211
265
301
213
236
217
164
297
210
172
202
180
176
233
159
197
188
129
168
225
211
186
164
191
273
130
145
223
210
162
222
240
261
173
222
179
204
231
201
173
184
180
213
141
192
205
241
206
236
189
129
255
222
130
183
193
177
177
188
163
132
182
212
178
203
211
173
177
133
156
257
187
184
143
190
237
178
176
268
205
176
129
202
185
200
209
230
129
173
209
190
255
223
211
234
233
173
144
195
191
200
143
129
179
182
129
251
176
188
240
249
212
156
185
172
133
146
155
186
179
146
170
180
202
156
158
190
192
168
259
187
228
179
194
258
173
157
138
259
223
183
189
192
176
230
176
193
206
228
144
115
204
182
198
230
248
156
146
207
151
155
230
180
263
178
264
156
173
161
185
183
196
227
164
222
199
143
159
206
133
144
149
173
173
203
176
222
130
238
115
223
244
149
272
234
132
174
176
129
157
232
204
186
180
188
213
162
180
190
237
164
210
189
150
198
151
208
166
193
176
133
153
239
175
200
211
202
182
179
202
164
204
222
204
200
249
174
133
167
133
277
211
199
130
181
218
232
237
202
222
128
245
234
222
176
176
182
149
173
179
146
204
133
174
200
222
219
209
174
166
132
133
206
203
282
129
192
130
190
145
247
187
162
195
222
262
189
168
181
210
210
179
223
184
247
197
225
229
147
172
186
168
176
146
173
143
152
259
173
211
246
205
169
176
146
138
210
231
240
130
242
181
209
169
230
198
235
184
183
131
146
204
171
176
168
203
189
204
209
169
226
183
210
164
204
182
164
190
183
167
146
240
190
201
145
210
245
130
235
238
180
230
183
280
165
179
238
188
122
173
189
218
159
186
189
239
209
215
166
156
130
144
211
266
254
129
184
122
190
198
222
133
130
214
237
209
150
176
164
238
173
145
173
180
235
129
198
217
150
130
152
153
225
204
254
178
149
173
188
217
205
129
156
211
158
179
195
222
182
224
186
156
225
188
206
141
232
146
161
246
202
252
230
165
231
187
146
159
185
181
211
211
238
259
158
176
162
221
210
133
179
219
176
156
211
215
213
168
162
178
287
174
181
250
204
200
225
129
179
188
187
145
224
203
146
198
239
226
176
238
182
162
228
156
201
278
165
160
230
179
225
115
155
231
188
214
180
128
275
246
202
217
179
181
190
201
166
194
222
203
204
195
182
183
239
164
256
182
217
238
264
218
218
168
156
152
200
210
176
186
157
186
199
259
130
343
184
187
225
139
164
133
195
119
130
246
138
264
143
215
174
149
189
169
230
209
278
261
246
167
270
162
176
178
194
217
228
212
201
202
178
161
186
179
284
200
239
174
160
214
187
129
150
200
188
214
166
216
158
261
275
231
190
182
209
202
194
179
129
247
239
186
162
239
146
245
211
252
165
158
145
173
235
200
186
146
267
164
204
122
151
300
182
175
143
179
212
198
242
164
175
227
197
213
204
204
171
155
205
211
228
238
164
191
146
130
227
194
178
214
255
173
175
206
145
230
174
222
180
201
263
206
146
176
209
238
133
146
259
174
251
180
204
180
214
233
158
157
160
178
217
230
173
168
158
217
184
146
141
155
199
173
162
235
187
228
129
216
191
205
130
166
168
266
158
256
205
205
185
172
152
230
186
194
162
176
223
206
203
185
195
206
249
173
293
226
225
211
225
242
115
335
193
217
236
183
181
252
204
172
252
200
180
230
173
237
221
202
200
204
211
168
173
303
201
156
189
221
210
170
184
159
168
218
168
225
195
225
219
206
204
179
188
155
186
201
204
239
129
191
130
206
179
193
177
221
188
186
210
255
206
202
192
221
141
160
195
146
239
173
164
174
168
159
217
246
194
173
212
173
206
217
173
181
210
236
217
225
202
156
211
204
151
262
161
227
257
195
156
160
197
212
133
213
206
204
188
246
176
176
218
173
261
156
225
155
171
166
251
236
173
238
184
242
115
251
190
162
142
173
130
199
194
146
168
150
278
153
222
241
173
168
221
129
173
141
217
206
235
213
129
240
146
256
243
204
178
184
173
146
222
185
191
180
232
147
192
168
316
115
176
158
214
217
184
157
190
147
149
130
179
166
129
210
176
246
179
161
176
237
129
133
176
143
186
238
150
155
146
217
217
216
153
206
185
146
204
205
204
227
173
165
173
236
237
182
203
158
237
206
166
264
158
210
211
206
252
145
183
251
306
129
149
261
177
176
133
115
210
210
156
146
115
129
201
146
122
182
176
160
167
179
187
192
208
217
206
115
161
129
158
183
174
213
164
195
176
235
186
177
183
176
161
209
178
192
238
162
151
179
183
176
132
234
204
133
158
202
251
207
188
173
149
172
195
335
188
152
130
143
242
202
210
217
230
190
230
244
188
211
202
169
238
284
219
176
162
162
236
129
149
133
146
225
150
204
211
138
170
173
151
234
188
209
201
243
245
224
241
122
172
227
200
176
233
201
251
191
161
215
197
250
155
159
173
203
201
287
251
249
173
129
193
182
176
170
157
128
222
183
146
208
178
164
191
218
214
181
159
212
173
186
184
145
188
173
183
129
129
256
265
163
162
273
180
164
241
161
202
218
265
180
232
130
174
239
181
187
203
216
217
130
174
245
225
258
277
115
230
166
204
182
239
266
170
192
223
130
200
217
172
168
130
164
190
210
141
145
227
250
181
195
146
205
158
217
145
167
130
234
217
235
230
179
224
156
221
206
146
191
178
179
179
179
146
183
204
212
180
176
211
219
182
215
277
261
178
146
202
248
191
227
201
185
152
246
181
234
196
214
143
213
255
219
231
143
221
174
191
176
204
199
266
176
179
153
246
195
167
209
241
191
222
202
185
241
283
205
188
187
191
210
229
288
187
173
199
152
303
129
168
197
184
230
227
220
206
145
211
200
166
194
190
211
221
223
173
181
148
183
130
270
194
205
252
210
213
157
221
146
115
198
207
161
200
173
182
202
182
178
175
129
228
129
202
211
143
244
227
178
158
198
182
254
191
197
211
162
225
229
222
161
286
242
129
164
249
167
246
210
222
178
203
172
182
207
212
176
178
176
199
204
186
213
251
164
215
165
130
158
258
258
210
204
226
217
226
227
201
143
204
209
230
185
189
179
238
205
228
190
202
195
202
143
209
176
209
250
166
205
209
211
319
141
255
300
145
211
247
231
130
206
214
248
178
209
162
173
146
217
130
179
161
129
229
218
145
239
201
234
164
176
214
162
157
274
146
201
143
163
173
243
252
260
225
130
218
174
181
190
242
222
202
214
115
172
129
143
175
129
206
191
230
160
150
224
130
183
166
129
202
238
183
231
188
178
210
232
193
225
157
231
183
221
176
193
204
115
225
168
190
199
164
177
162
258
164
229
179
243
246
171
234
184
209
324
261
234
179
169
205
159
151
164
164
187
211
217
216
175
165
238
176
210
179
265
187
212
258
171
244
182
252
188
249
178
178
217
207
187
157
129
176
192
242
201
122
238
192
178
129
129
173
122
202
228
251
184
179
188
266
115
194
201
208
164
122
249
143
194
255
192
314
210
283
255
253
202
324
146
180
234
201
188
205
197
251
236
186
210
236
176
178
145
186
210
265
156
129
193
213
219
146
202
153
241
155
217
200
204
210
191
200
129
183
183
188
201
228
197
181
162
188
200
192
201
237
204
231
168
199
144
146
230
204
242
183
202
146
179
210
248
230
247
148
115
129
259
221
237
204
209
115
191
176
215
204
195
133
130
162
176
221
191
216
145
230
261
127
201
210
198
204
228
205
183
162
213
143
183
250
186
129
217
187
159
175
225
236
145
164
240
165
234
146
210
143
208
147
168
188
191
173
164
162
138
146
192
205
168
186
202
241
199
256
191
169
176
228
200
158
146
235
167
179
252
179
228
129
230
201
200
205
143
130
264
248
207
275
201
254
162
169
209
252
210
201
266
238
182
219
185
222
234
133
211
202
146
173
180
201
204
146
162
191
201
178
219
231
133
173
201
242
146
146
122
146
192
221
119
249
202
162
197
190
182
188
199
161
169
232
151
201
203
131
186
130
183
246
173
174
244
247
183
146
162
179
229
189
176
176
263
182
219
218
147
255
210
143
263
245
170
217
249
194
191
217
176
193
133
200
164
146
205
130
187
146
159
230
201
205
129
186
122
222
176
171
209
175
159
219
191
172
207
183
239
141
151
183
146
130
210
216
222
164
173
130
206
214
133
173
180
145
237
194
182
143
204
184
191
210
235
206
176
158
192
155
130
129
239
281
205
143
180
156
236
174
173
187
133
119
168
189
158
210
249
180
285
169
211
161
189
214
184
195
179
211
192
221
185
222
235
204
165
211
191
179
152
191
256
179
138
184
174
254
185
179
193
130
203
176
225
167
184
193
195
129
181
164
213
199
177
155
204
181
230
221
248
208
259
179
237
261
145
217
147
188
213
146
130
130
173
211
145
206
179
216
261
205
146
173
143
190
187
176
191
200
158
182
202
229
202
230
183
230
146
199
185
274
176
130
176
181
176
183
300
201
308
175
179
130
176
217
197
155
191
174
229
257
166
248
225
173
195
211
201
204
204
279
198
130
222
210
170
115
174
265
173
190
204
158
155
225
130
250
202
186
188
164
130
211
173
187
217
215
261
230
176
173
221
213
153
176
258
232
168
202
198
130
175
129
166
198
229
204
219
207
204
263
200
195
253
202
186
216
217
254
262
173
242
181
179
249
141
203
182
227
130
243
210
241
201
206
130
173
219
201
179
130
284
168
222
209
115
130
130
169
128
180
179
214
164
157
143
200
182
198
201
235
164
246
204
184
230
211
202
221
182
187
207
172
164
146
145
177
257
197
207
241
206
164
158
241
170
234
130
205
168
179
222
177
223
129
188
188
258
204
171
203
225
211
264
218
176
153
160
231
212
216
158
164
173
185
236
195
153
179
225
183
146
233
162
167
202
238
173
308
234
160
191
234
173
213
194
166
202
115
192
228
262
164
173
194
236
155
250
172
204
221
213
204
186
274
201
150
146
204
146
202
207
201
173
194
182
147
206
245
155
178
184
192
192
187
133
265
233
189
189
175
173
173
202
184
191
173
167
239
183
230
204
217
184
181
197
173
217
187
233
183
182
129
230
286
161
176
204
146
179
238
210
191
164
186
156
210
186
115
129
210
167
176
180
150
211
164
129
143
132
176
202
158
217
191
211
192
178
195
194
189
183
172
164
188
160
204
215
133
130
162
133
153
181
216
228
182
185
169
187
146
218
211
132
204
205
251
217
133
192
200
208
165
133
162
161
167
176
168
173
240
143
128
129
217
169
198
211
264
249
156
178
197
214
183
211
129
186
204
122
188
157
212
193
176
173
176
173
158
146
264
178
173
225
145
204
225
197
258
226
129
268
216
226
143
184
191
181
146
247
168
231
202
184
209
226
183
171
184
204
202
133
230
255
201
168
256
176
235
203
199
230
192
193
237
203
191
166
189
167
214
227
282
153
184
194
183
228
220
206
190
240
184
183
201
145
183
155
243
259
246
175
236
204
147
173
201
167
181
193
173
223
171
143
229
255
191
130
176
115
129
188
173
129
168
158
221
162
209
129
226
119
228
143
211
173
130
266
209
115
130
195
221
236
191
143
191
141
177
189
190
194
227
201
216
162
129
242
216
193
180
210
180
168
178
185
202
158
217
204
146
250
263
237
190
230
133
184
147
217
171
246
146
238
220
195
247
250
180
202
159
249
129
184
174
168
215
192
238
206
204
206
184
185
184
218
187
210
122
231
148
247
179
115
162
259
146
209
180
214
193
253
173
178
171
222
130
191
195
214
176
205
207
196
210
186
197
147
147
173
200
280
172
294
232
276
190
188
206
236
151
204
176
191
144
164
203
169
129
178
195
180
217
202
204
244
130
236
195
221
189
156
225
264
173
177
155
218
154
335
186
168
130
157
188
201
154
186
184
212
180
181
273
204
162
173
188
213
197
192
217
130
156
155
239
209
189
168
228
173
217
138
145
216
210
242
129
201
169
265
230
184
151
300
222
130
216
195
177
146
299
158
186
158
157
201
122
133
119
179
244
162
176
166
138
281
179
199
225
155
259
210
185
204
179
143
208
169
162
179
176
217
198
217
192
210
185
141
238
186
173
256
240
174
192
193
238
164
180
184
173
171
181
191
201
214
185
206
161
176
133
186
241
162
259
180
224
187
183
211
218
185
190
173
269
213
196
210
264
171
176
183
193
115
204
180
228
169
182
150
200
174
200
152
211
178
207
176
146
235
164
130
233
162
206
168
179
171
217
161
173
217
173
255
225
163
167
168
146
129
195
210
215
194
199
162
249
133
212
248
294
180
211
206
176
156
144
200
227
156
199
356
164
237
167
190
214
145
217
176
230
172
182
173
195
230
216
193
275
200
243
160
208
119
161
243
184
143
181
138
130
249
130
185
146
183
225
211
183
218
161
217
162
160
272
258
252
204
146
217
162
228
191
130
141
247
150
201
130
143
299
211
212
218
179
194
155
230
193
130
202
174
143
218
227
174
188
158
200
204
270
173
149
217
201
208
238
178
206
173
133
172
225
252
209
195
115
236
277
173
171
230
235
145
169
146
258
248
242
264
201
145
129
283
247
192
146
234
176
189
147
164
206
220
160
115
143
198
206
178
186
129
158
145
233
182
238
178
299
184
219
184
217
180
236
172
190
130
156
150
276
259
204
169
127
160
150
239
133
164
204
238
170
129
219
242
233
191
174
148
224
203
221
217
200
145
275
191
217
210
207
179
146
129
185
191
145
180
148
191
248
146
217
214
195
263
145
252
186
234
204
214
190
238
237
171
204
201
130
184
257
234
192
222
187
179
225
201
202
204
156
155
169
220
212
186
176
138
203
257
166
202
189
173
190
133
194
183
194
211
201
130
129
196
173
143
173
198
206
254
213
133
130
247
225
205
217
251
221
144
143
206
261
162
161
146
150
129
184
160
253
181
146
209
240
200
247
177
160
180
145
204
150
200
234
191
175
236
191
122
192
280
236
173
193
168
174
156
171
232
187
253
275
190
168
146
192
211
213
155
176
228
180
183
186
199
191
253
216
129
179
206
164
182
174
173
250
173
164
229
169
158
236
173
210
204
239
184
192
258
220
129
176
214
146
225
204
204
155
231
202
254
174
237
129
264
173
171
162
203
219
176
244
189
201
155
230
215
226
130
204
222
198
173
184
227
179
164
206
168
189
168
179
285
186
230
214
179
170
234
176
237
230
202
207
181
130
242
249
232
173
185
161
210
146
181
239
188
238
202
230
234
162
257
192
164
179
182
171
130
261
166
173
141
218
221
156
209
130
156
206
228
161
129
199
271
181
151
155
190
195
173
153
210
190
274
238
130
196
146
229
168
227
145
169
130
164
247
130
237
195
239
173
191
192
168
193
216
175
195
176
192
115
262
145
173
170
219
270
115
170
191
173
188
188
128
248
205
226
235
163
189
171
146
166
192
218
174
143
119
130
188
207
122
115
221
188
147
158
182
138
202
246
162
215
247
186
173
175
209
246
119
147
252
193
167
224
190
173
177
285
145
250
299
198
229
179
256
182
186
145
151
207
129
278
210
264
150
183
122
286
170
184
122
214
213
217
160
201
178
231
162
183
212
233
231
242
214
235
143
257
203
122
255
217
151
180
168
190
175
217
162
152
258
194
179
242
162
264
234
186
180
174
238
184
239
230
236
162
173
143
234
245
206
173
192
213
217
239
173
145
179
167
170
174
150
205
266
194
129
176
229
220
189
193
130
115
195
187
190
199
221
219
204
202
146
212
201
151
184
176
201
156
247
191
203
130
130
224
165
164
173
169
146
133
164
193
243
173
245
183
263
150
238
160
223
235
129
191
143
130
235
181
185
188
133
217
164
170
185
194
129
234
205
200
180
133
168
180
229
240
287
162
256
173
168
301
264
173
194
169
253
176
192
184
221
178
256
200
238
275
164
129
187
176
200
211
156
159
201
130
230
129
181
185
166
221
176
194
197
182
201
210
210
218
200
236
143
129
175
217
115
168
163
200
209
217
221
152
241
208
202
219
201
202
115
210
173
182
222
189
149
191
202
198
158
188
129
240
130
265
201
155
176
185
247
204
119
248
130
232
156
171
191
274
175
267
195
252
184
173
217
208
222
165
219
263
236
161
183
187
177
122
201
130
241
252
204
254
179
246
215
173
169
141
197
204
169
146
180
230
202
226
210
225
178
208
150
230
131
203
238
158
201
189
169
182
149
184
204
215
211
186
130
144
166
122
225
146
209
237
201
204
146
183
200
188
151
166
133
150
155
176
267
130
216
183
145
185
179
168
192
143
190
186
228
196
216
178
143
262
225
206
221
183
210
238
191
195
226
188
256
178
184
171
208
182
230
265
210
130
202
146
201
236
133
173
166
242
172
210
189
159
242
218
169
256
226
198
179
153
204
145
190
197
193
217
166
220
272
210
158
129
201
228
203
210
217
245
162
146
180
184
146
275
145
184
203
193
190
211
174
146
204
210
214
176
244
182
262
206
130
162
212
187
264
141
175
183
214
166
238
254
183
179
214
211
129
214
133
187
169
156
182
164
155
133
202
182
129
166
284
129
130
160
179
150
173
256
173
129
264
122
115
160
221
206
171
169
158
146
222
236
227
161
146
160
173
189
221
162
115
239
181
206
190
175
149
156
184
209
168
199
179
186
226
186
169
210
144
247
266
155
182
191
162
168
153
230
254
179
130
192
173
206
203
184
183
201
150
185
141
214
151
272
158
133
255
199
259
276
237
232
176
239
221
151
203
164
196
156
166
219
130
221
145
238
222
191
294
241
145
211
188
248
227
191
195
164
274
216
183
252
202
203
183
182
210
218
130
201
183
199
146
157
210
200
218
181
202
248
180
208
335
263
206
179
176
285
172
203
196
218
129
179
195
209
203
164
200
245
130
204
182
141
217
180
173
162
129
192
169
180
138
194
178
237
146
179
129
203
115
181
238
221
204
158
228
180
225
195
259
173
238
184
141
260
245
194
130
228
208
176
195
281
143
128
229
239
262
156
208
219
168
185
130
129
221
180
163
115
146
251
158
251
158
156
201
166
141
156
170
216
231
176
184
164
193
182
164
190
185
259
179
162
171
248
162
210
187
173
169
222
162
217
201
168
239
164
222
237
145
200
236
164
206
259
158
204
133
132
176
184
145
205
210
164
133
176
227
169
297
210
204
260
192
191
204
195
183
130
166
191
235
183
173
211
239
209
130
185
160
146
199
180
210
229
157
228
148
216
245
146
240
222
204
187
204
182
141
168
130
180
224
129
266
247
206
212
190
179
238
141
129
129
174
211
210
160
166
201
213
201
182
162
263
192
146
133
162
186
141
220
193
210
132
198
251
164
183
162
166
129
281
227
200
179
180
189
130
229
225
130
146
150
256
155
130
248
155
274
195
201
253
182
167
217
129
129
143
245
145
285
227
158
236
133
180
202
246
265
250
143
182
183
174
201
242
204
164
228
146
244
129
159
146
180
187
175
225
191
225
207
204
335
321
199
183
217
192
145
239
210
155
162
147
179
191
216
214
168
156
220
174
156
146
187
178
184
179
259
192
210
181
152
267
204
141
155
182
172
188
176
183
150
204
162
164
181
223
201
248
174
204
189
212
253
168
129
210
200
154
146
230
207
264
250
161
169
171
235
160
235
220
176
133
217
184
229
150
155
185
252
204
145
169
149
218
189
178
207
147
172
115
174
176
207
173
230
190
202
231
173
160
230
208
204
115
178
230
236
195
168
146
234
182
176
156
176
132
217
199
190
174
162
180
211
129
182
238
176
157
241
221
155
207
122
176
130
178
164
195
214
201
251
203
186
201
197
229
224
260
238
173
183
247
200
234
227
165
204
130
211
194
270
258
238
173
205
239
146
189
244
157
222
156
129
169
130
263
201
160
206
180
158
210
166
244
167
260
200
193
230
175
191
183
225
161
229
157
202
242
158
195
176
179
263
237
171
243
203
168
229
204
205
209
130
217
201
143
146
183
201
180
159
184
173
166
143
230
182
172
209
145
204
146
180
201
203
248
198
180
199
221
155
204
179
176
229
138
230
236
239
146
173
185
248
199
146
245
163
205
146
173
122
131
211
245
184
176
180
146
221
164
130
129
129
174
169
231
235
146
209
166
143
214
210
208
203
133
230
243
186
242
184
129
145
178
261
210
182
164
200
234
212
216
130
168
194
189
164
200
178
152
161
155
141
244
115
204
239
208
242
253
247
176
236
133
188
146
161
182
236
261
166
184
234
143
247
225
204
209
185
227
191
132
237
210
168
155
161
184
174
180
195
146
217
146
185
163
180
239
239
167
253
334
193
221
141
172
151
199
254
210
187
166
211
175
158
203
243
181
133
167
129
190
190
273
146
169
183
262
192
205
189
181
251
235
129
173
182
217
160
245
174
253
209
272
183
230
217
115
171
216
115
173
129
210
205
236
213
208
133
129
176
176
222
143
204
200
162
180
146
192
218
133
192
178
201
200
209
191
263
183
183
155
262
190
211
193
335
223
146
238
176
165
182
184
232
130
115
299
251
133
176
195
130
129
261
200
204
130
238
185
199
204
166
152
199
201
191
164
150
184
234
171
189
215
173
210
265
191
185
150
258
183
185
130
162
178
156
251
207
211
176
183
185
122
210
257
186
234
205
167
239
170
210
217
193
209
179
179
190
147
202
226
189
211
206
185
161
198
259
261
194
200
286
173
192
210
210
199
183
212
192
174
130
163
155
201
217
180
155
129
166
159
233
145
172
190
246
181
146
187
216
169
257
129
195
239
133
166
160
178
180
222
181
226
199
173
145
226
143
200
129
146
190
150
182
210
288
273
192
199
276
166
188
225
186
210
168
181
204
175
130
133
150
195
231
217
221
233
194
199
210
195
266
191
186
191
162
223
166
179
269
230
227
187
177
206
217
190
167
150
202
207
133
188
189
168
202
149
176
245
238
204
243
159
284
216
161
203
141
188
207
200
115
257
203
130
130
258
200
237
206
155
152
144
228
218
129
304
241
215
227
233
225
166
152
245
176
130
192
179
250
168
235
169
143
165
168
143
204
234
241
210
216
201
174
176
205
160
194
171
194
255
214
130
179
209
213
201
158
144
227
236
145
247
247
184
146
155
247
172
173
146
129
183
230
129
206
208
115
132
178
220
190
176
192
217
158
204
177
155
224
150
179
146
166
216
155
197
247
133
133
197
252
189
209
160
186
168
173
178
183
204
236
162
173
202
161
146
210
184
146
166
198
263
236
230
170
242
176
180
157
209
185
186
277
193
130
146
225
185
146
235
204
186
209
195
217
151
223
169
231
151
162
163
221
144
192
185
193
168
133
213
244
155
200
173
169
188
243
133
150
143
167
175
203
169
216
133
186
128
191
211
221
222
256
210
222
175
219
183
178
173
217
172
181
248
191
169
115
175
170
129
234
158
215
253
186
185
157
168
261
158
187
197
173
210
201
211
146
234
174
184
171
179
224
129
155
170
176
173
207
236
130
145
147
230
236
206
169
203
210
211
129
168
191
179
143
271
187
210
260
132
164
130
179
130
146
146
176
216
129
201
193
185
169
213
228
184
188
193
230
191
266
170
212
146
173
214
242
129
214
190
145
243
227
173
183
258
196
249
133
167
153
200
147
232
235
222
130
146
184
244
208
217
145
202
188
243
152
222
188
239
219
255
156
200
240
270
176
213
130
160
246
245
178
242
174
186
152
150
247
169
186
237
228
209
115
157
211
162
181
174
115
281
130
150
258
164
230
169
181
190
182
213
157
173
115
130
222
163
179
192
122
180
217
190
195
231
173
156
211
155
228
162
168
200
166
189
216
253
210
301
173
201
178
198
160
200
186
194
210
143
182
146
162
207
174
176
256
168
130
180
194
234
204
212
177
227
213
174
263
158
168
210
202
149
195
141
182
200
168
230
173
168
257
210
145
227
168
146
176
241
158
261
158
181
133
183
224
185
201
172
206
231
151
248
159
168
222
181
164
199
201
129
179
129
188
210
191
146
173
145
212
188
146
237
146
242
202
203
180
191
213
130
181
156
222
156
178
183
242
230
221
217
209
176
204
204
207
206
185
254
187
225
162
196
176
152
173
220
168
164
162
227
222
213
182
218
204
188
261
186
173
279
247
238
172
180
138
172
130
210
226
127
217
146
133
189
204
195
179
181
179
192
235
191
212
231
201
202
182
297
232
164
210
174
129
115
146
130
130
244
145
237
176
158
133
129
173
159
274
254
161
133
200
144
237
185
210
173
179
271
164
191
227
222
202
171
173
184
251
200
178
258
148
222
143
144
176
265
258
173
207
218
193
143
176
199
197
257
201
239
326
173
199
133
237
238
179
130
146
236
166
201
172
206
248
173
189
230
169
129
242
225
233
122
176
202
115
173
188
200
263
217
267
202
174
183
146
146
215
236
173
221
158
247
202
141
215
268
169
153
201
239
219
209
148
133
218
133
156
188
307
250
146
166
222
129
200
143
194
198
206
199
204
248
217
214
183
205
204
146
171
191
188
228
173
209
200
169
157
191
218
129
158
194
173
176
162
170
208
173
181
190
238
179
204
132
210
115
187
190
203
210
159
129
122
201
184
217
218
204
256
232
214
252
184
164
241
198
182
182
206
145
217
178
180
190
184
224
184
214
176
183
176
238
195
177
223
178
249
191
173
199
177
173
217
242
213
300
178
211
146
146
158
191
192
236
214
160
202
115
200
205
263
171
149
169
130
210
146
204
209
179
176
183
238
129
236
161
190
196
204
188
225
115
187
179
185
230
176
115
222
203
222
179
143
190
211
176
250
162
192
176
146
130
130
236
239
190
129
206
229
129
183
211
145
242
143
181
167
214
138
210
156
210
244
149
138
212
230
168
193
210
170
201
218
185
162
210
176
129
204
233
218
178
151
141
194
141
202
130
204
217
129
159
178
258
184
130
259
178
279
217
168
183
122
201
180
186
202
201
225
165
184
188
226
133
150
195
185
206
150
201
182
212
204
144
214
156
201
133
155
146
229
129
154
208
149
129
238
180
230
184
133
173
201
270
209
201
263
216
233
191
192
218
145
146
236
178
162
204
204
173
187
162
179
201
233
219
219
191
129
189
182
184
164
184
203
183
164
179
173
173
236
199
201
289
181
141
268
167
166
204
160
261
184
174
156
252
311
249
206
252
130
218
183
199
129
224
261
173
138
149
130
259
191
226
226
129
150
182
203
145
181
258
174
194
173
252
141
173
238
230
157
174
201
265
168
178
169
195
254
236
200
251
183
164
251
195
167
130
238
224
217
162
143
202
176
187
169
129
215
204
169
184
184
210
231
264
253
150
115
211
223
204
122
295
235
189
200
200
225
221
225
211
204
261
206
201
184
169
228
201
203
130
218
191
146
244
208
158
165
145
183
158
150
194
122
201
164
230
313
185
214
200
244
213
294
173
259
133
130
210
176
172
146
221
145
149
130
303
194
222
173
158
168
268
251
171
189
179
187
307
230
208
210
130
156
216
191
293
206
261
144
193
270
205
131
157
193
180
209
263
182
236
171
229
211
175
158
130
151
259
239
237
204
233
166
230
195
188
171
251
158
187
222
230
158
146
258
235
133
184
212
198
236
171
252
216
289
256
201
246
171
200
185
178
182
247
201
194
168
224
197
193
146
237
211
161
264
227
266
226
159
189
146
217
146
193
202
211
189
226
224
222
183
224
217
187
208
178
183
192
210
211
185
150
258
142
227
192
263
166
182
227
179
147
191
276
174
190
142
225
150
143
209
184
230
194
259
133
226
229
191
239
192
230
156
164
258
178
143
255
179
145
225
175
187
151
201
252
176
176
176
200
202
207
247
186
202
183
179
168
180
234
156
138
133
167
188
177
199
227
181
188
222
185
167
182
201
164
201
199
221
182
173
146
179
141
176
193
244
145
168
173
176
162
228
285
191
166
202
218
181
162
249
191
197
227
160
145
200
191
182
230
169
215
216
227
281
239
220
225
247
184
200
171
230
199
184
193
233
146
176
227
200
184
264
211
164
219
184
180
283
204
158
122
205
146
171
194
173
228
173
236
129
176
200
163
209
184
158
240
192
246
197
222
193
204
173
233
143
184
164
181
226
227
231
212
210
176
221
225
176
192
183
129
221
216
286
210
228
186
191
192
173
138
229
176
168
223
210
167
145
161
181
201
202
335
201
203
211
143
145
223
176
214
178
259
169
238
200
244
217
193
200
262
176
168
201
146
232
214
146
130
203
211
173
204
230
245
239
281
195
141
185
228
219
217
264
179
168
283
201
180
194
119
217
191
225
156
208
206
210
204
215
174
158
191
216
133
230
217
178
228
176
174
275
144
174
209
226
307
169
230
211
225
160
166
227
204
199
160
171
143
133
190
225
206
200
173
182
165
173
243
129
204
169
164
138
173
254
215
192
205
225
151
185
178
166
194
257
202
239
174
129
176
179
221
248
195
214
209
236
138
191
215
224
138
202
234
201
186
197
230
183
216
249
270
162
173
184
174
231
149
209
218
169
184
201
217
187
163
143
262
191
258
335
155
146
194
230
176
248
176
244
203
164
225
230
250
184
207
204
181
169
296
165
164
226
210
181
236
204
152
222
133
206
152
187
146
200
219
143
146
146
202
161
204
210
204
185
160
218
183
184
156
277
182
173
228
200
204
225
143
184
204
200
202
244
217
214
210
130
189
162
143
129
129
180
146
171
129
245
217
189
129
143
245
253
241
192
138
187
160
162
173
129
174
230
176
230
233
201
162
299
195
169
167
174
122
171
174
193
221
195
186
211
174
129
226
257
203
172
201
181
294
256
266
211
157
172
131
132
173
210
247
190
156
129
185
178
178
242
115
145
168
210
173
174
143
185
215
204
242
234
216
176
115
193
179
166
187
194
187
261
130
191
209
222
264
122
207
192
224
238
259
261
285
244
218
201
191
181
264
173
266
207
221
146
180
185
155
277
226
166
168
173
183
217
207
200
157
189
288
162
152
145
246
249
214
129
171
158
184
199
211
236
156
210
228
181
139
225
188
184
174
146
226
190
115
178
174
170
145
156
265
173
210
230
233
156
214
197
215
194
276
138
206
210
149
249
201
260
130
157
179
258
133
225
153
146
201
144
197
203
178
244
208
129
146
129
240
115
196
161
173
231
248
204
168
143
180
211
164
143
200
188
193
173
201
257
162
270
144
219
217
300
204
204
214
166
166
146
178
176
286
133
146
255
191
174
210
192
169
210
218
212
212
188
176
212
129
158
241
256
206
159
160
264
155
287
241
267
129
177
145
195
130
261
143
162
205
129
173
204
258
213
149
201
146
172
303
153
169
143
232
150
225
156
210
182
179
177
162
266
130
144
168
145
145
238
263
199
231
253
146
229
289
242
173
196
216
191
197
202
175
184
217
161
204
162
289
220
242
133
129
231
173
166
173
153
211
182
266
297
201
213
173
236
195
133
173
149
236
191
256
204
307
181
300
178
185
195
227
222
130
132
233
143
168
156
179
179
179
146
143
172
210
179
129
158
166
115
138
217
213
183
192
225
207
178
186
194
222
149
211
168
183
151
184
182
230
231
164
155
179
245
147
183
133
221
204
173
252
188
234
173
217
145
241
235
234
182
171
204
300
212
173
185
174
162
200
185
186
219
189
238
172
177
217
210
129
204
211
206
159
133
274
208
210
192
115
164
141
150
173
210
190
197
275
194
197
145
181
184
129
237
145
203
199
184
206
215
122
190
129
184
133
164
188
230
133
130
174
207
133
194
185
222
186
169
179
131
160
239
151
232
171
152
228
180
231
249
218
145
138
167
198
132
175
178
188
249
239
248
200
245
155
276
197
181
193
173
232
204
239
250
192
204
184
129
203
161
122
132
176
168
179
211
235
201
146
260
250
256
184
190
207
187
163
211
239
173
163
231
193
227
163
178
201
255
195
146
184
205
214
263
173
162
187
178
166
150
133
185
208
250
162
182
210
230
162
227
208
211
217
243
209
217
173
278
168
145
230
143
204
236
268
129
143
183
242
173
238
209
129
157
204
200
143
239
191
154
115
252
183
238
143
266
209
198
218
122
168
189
202
204
227
190
129
200
232
188
143
230
176
173
249
216
219
236
130
178
228
199
259
129
129
182
172
236
151
206
129
232
158
185
164
176
201
161
184
195
226
177
225
161
206
193
145
129
228
141
194
185
263
232
156
202
176
187
263
128
206
195
151
222
156
169
204
168
166
222
320
200
129
209
206
201
161
231
283
161
279
145
174
191
185
187
146
197
259
130
160
187
194
187
236
214
217
225
188
225
180
149
211
230
183
189
263
242
195
173
231
192
130
129
215
195
201
211
193
183
180
145
247
169
158
194
235
212
213
207
138
184
238
178
230
206
176
218
203
215
172
182
115
129
172
210
129
173
175
204
173
162
173
179
130
255
201
204
168
253
254
179
166
247
184
195
225
173
192
165
182
201
129
146
246
225
199
244
217
168
158
173
180
150
213
128
201
119
219
226
287
197
171
254
146
177
150
254
179
193
205
175
213
244
210
204
158
187
209
251
230
216
192
133
173
231
197
230
146
168
150
199
212
181
130
222
220
219
158
176
179
186
182
133
240
204
259
305
203
204
167
189
207
189
217
197
129
229
179
170
191
182
176
252
236
255
129
202
243
319
187
181
168
185
227
202
159
191
153
130
160
222
234
143
119
206
129
211
195
157
143
168
204
202
185
237
227
189
227
157
130
129
228
222
197
206
183
191
166
283
130
164
221
146
228
155
162
221
168
176
244
200
168
182
157
149
168
221
234
240
115
183
152
210
173
143
215
146
139
241
166
185
214
160
204
158
264
220
175
206
211
204
146
133
198
197
221
204
258
210
208
230
180
166
176
166
150
180
231
168
122
129
144
187
182
145
190
180
210
183
198
254
188
222
250
115
176
129
168
200
263
204
188
173
214
227
228
195
129
206
269
218
204
176
149
129
196
234
184
206
181
221
166
241
206
156
178
156
177
159
180
176
230
158
158
198
227
204
130
238
150
262
204
169
168
216
242
270
217
179
214
186
180
130
229
164
122
169
176
207
171
184
179
162
221
179
202
206
137
184
145
176
322
191
203
145
191
143
263
200
230
169
201
184
179
194
185
186
265
194
133
170
150
173
170
242
228
213
163
145
264
122
194
164
132
216
201
211
201
213
168
168
204
179
265
162
201
164
130
227
217
143
212
130
185
211
225
162
167
185
209
204
201
155
197
235
191
258
143
231
217
180
180
129
152
205
129
252
216
199
182
152
146
208
160
191
204
129
145
176
204
244
191
222
242
200
205
186
236
169
274
130
228
133
213
146
250
171
146
270
173
192
176
129
221
129
173
212
183
264
185
242
145
179
173
168
183
195
201
224
130
212
234
283
214
177
202
237
233
303
251
152
230
181
245
163
162
216
172
147
165
176
231
192
232
180
203
181
115
186
187
185
197
168
225
179
176
152
217
155
238
138
146
190
133
168
201
170
222
174
263
230
168
151
141
217
183
195
160
143
145
306
162
217
115
315
129
181
191
119
246
122
168
160
246
229
246
201
164
145
250
222
243
197
300
286
133
168
237
201
264
143
141
199
195
197
201
212
212
183
204
150
158
261
211
129
176
183
164
255
195
218
206
237
202
261
164
146
200
143
115
226
216
178
184
182
246
129
193
247
201
115
132
153
197
195
193
173
300
176
129
214
133
156
184
211
186
203
173
193
145
207
157
204
176
236
203
122
211
162
172
130
248
199
235
204
191
205
122
192
176
200
240
157
218
181
183
275
186
132
173
157
200
201
168
130
220
146
143
204
146
257
254
228
190
130
201
165
245
145
238
181
168
173
179
225
217
159
217
155
247
217
179
247
173
130
224
244
256
178
244
200
246
227
173
195
201
237
168
173
204
163
210
197
129
203
234
184
129
180
129
183
230
144
200
243
252
115
130
176
228
244
141
197
146
180
155
173
158
204
239
214
147
173
157
182
157
155
179
164
232
214
217
265
227
130
247
266
130
143
247
226
129
212
157
199
211
173
171
179
206
274
261
178
130
155
181
157
164
162
130
200
168
164
200
163
180
222
183
140
211
211
157
210
202
145
169
221
233
228
230
177
271
183
172
236
206
191
143
200
212
192
152
193
217
228
167
163
209
200
235
193
155
204
193
184
227
207
204
159
173
115
241
186
261
178
173
192
182
238
165
173
217
173
201
197
209
133
162
161
270
185
150
156
146
189
174
274
195
210
184
204
247
174
130
258
219
129
200
201
202
168
211
202
122
146
201
245
204
176
168
239
211
185
215
188
179
209
169
158
181
130
225
240
215
263
270
190
172
214
250
178
179
173
181
186
176
183
176
187
238
201
266
186
185
246
202
168
215
168
183
173
217
204
155
130
130
129
133
225
235
194
210
183
173
145
180
182
145
230
246
167
176
161
264
194
201
157
188
148
176
225
238
145
158
176
184
179
166
191
184
146
180
160
176
186
217
167
188
230
183
186
221
158
204
236
161
206
191
119
206
159
203
146
219
129
149
190
182
201
195
205
129
163
229
171
195
191
122
193
210
191
228
145
122
204
168
133
115
188
218
261
146
176
158
115
202
176
220
170
206
264
173
184
169
206
247
168
176
141
144
115
130
208
176
261
204
145
194
197
246
217
217
180
187
240
164
269
240
209
194
245
190
183
195
130
182
214
115
146
183
250
244
143
222
176
133
244
173
183
179
141
182
220
190
239
228
176
190
205
129
129
173
313
176
233
248
200
172
216
143
216
130
159
230
204
207
213
234
245
168
178
179
261
233
263
158
130
246
190
133
203
146
191
176
141
221
129
199
188
217
158
218
129
182
201
182
206
200
204
184
164
133
161
199
208
236
210
319
192
239
201
158
146
210
133
198
176
175
174
167
146
192
168
181
176
173
145
193
238
191
214
129
143
146
213
211
242
133
204
238
176
205
206
185
170
130
183
162
166
177
202
207
187
138
174
238
218
163
271
184
184
162
183
264
179
250
204
167
245
242
191
205
130
234
164
176
228
206
176
208
217
277
217
177
201
239
203
174
216
160
155
201
150
169
194
215
264
187
219
197
145
174
182
194
190
183
235
156
213
217
210
227
192
146
164
160
204
179
174
210
214
190
187
190
146
204
173
257
180
252
129
146
197
149
201
198
164
253
219
176
169
176
249
191
164
200
236
236
182
212
181
285
178
216
175
194
173
176
129
130
167
192
145
150
183
173
221
144
197
150
183
173
207
115
209
145
204
222
146
210
246
122
176
238
191
201
184
272
183
158
173
204
164
183
186
158
203
158
246
150
292
209
202
180
184
204
200
213
246
164
209
207
119
205
122
252
212
188
184
172
207
272
210
221
238
211
170
228
161
210
230
192
230
161
215
206
129
171
162
169
203
168
210
191
179
166
174
204
155
212
255
153
241
232
179
228
176
184
194
210
115
211
244
155
283
187
185
225
150
187
176
196
204
259
162
146
176
190
191
206
146
223
145
214
204
220
206
264
204
179
184
273
154
219
115
173
208
261
194
182
257
115
184
177
211
179
201
129
181
160
178
181
180
217
184
208
211
200
145
200
223
176
143
149
214
173
170
149
184
178
168
141
238
195
217
146
216
150
180
226
207
199
173
153
172
235
261
167
214
146
275
146
184
269
146
183
235
194
230
168
146
251
173
262
180
268
172
166
162
204
179
201
222
227
160
211
184
180
257
203
168
176
173
191
146
221
238
217
252
251
176
160
166
245
156
188
146
168
182
128
232
179
146
245
257
210
214
203
150
166
182
233
217
227
219
221
177
221
115
143
218
164
240
157
176
194
182
184
191
147
173
188
164
202
164
169
183
129
180
205
259
175
165
236
237
184
128
254
166
173
236
198
146
184
178
181
240
206
230
174
260
164
196
179
266
207
202
183
152
200
243
176
204
251
167
176
215
181
219
179
179
258
176
234
206
158
284
156
210
156
252
244
129
225
221
157
115
196
266
186
246
146
178
206
173
219
173
130
222
146
208
156
173
203
131
224
259
130
263
164
210
228
169
181
146
185
173
180
225
224
246
236
239
214
141
228
146
204
203
206
205
236
227
167
210
244
186
158
220
216
162
176
158
188
225
129
251
145
168
200
217
239
194
192
256
214
210
225
176
210
129
185
173
146
210
146
130
158
230
176
161
257
209
185
219
285
244
182
199
195
203
205
160
166
285
160
173
182
197
220
202
173
225
147
213
210
188
213
176
176
202
192
245
195
201
222
161
173
176
166
122
173
155
178
218
130
189
168
212
229
262
204
173
210
129
129
208
179
129
149
204
186
157
211
229
200
235
288
239
166
203
291
222
188
278
227
196
219
197
145
236
238
161
160
214
143
141
212
217
139
156
244
175
180
176
303
184
178
228
129
238
170
122
153
300
172
212
155
129
201
244
192
130
223
115
214
156
230
146
186
202
130
275
211
252
209
274
205
130
143
132
158
129
202
146
188
181
129
183
216
153
193
146
210
219
182
164
223
227
230
174
245
150
175
209
222
180
228
180
202
119
166
202
199
133
212
200
248
234
174
188
220
277
194
195
175
194
203
209
300
180
183
195
158
174
218
167
200
183
285
180
189
138
157
178
228
184
204
211
217
202
175
208
221
167
171
191
223
268
164
185
226
174
179
198
257
226
171
149
197
130
176
141
224
225
129
145
258
214
184
146
230
217
178
172
219
130
155
115
149
211
122
210
208
173
164
186
157
222
191
217
223
166
303
168
210
180
115
199
173
152
202
203
191
179
235
196
206
204
146
305
197
145
181
178
199
196
225
197
158
183
129
166
209
214
130
287
180
146
153
156
184
305
150
149
202
184
162
211
193
165
201
178
162
172
161
302
162
238
254
231
183
115
130
202
216
177
188
204
164
221
258
178
217
195
270
146
185
183
141
194
201
191
162
130
122
201
162
129
215
210
228
217
146
179
204
166
184
227
163
183
204
168
130
130
221
129
195
206
129
146
202
164
217
155
211
200
173
229
173
173
130
218
204
215
169
173
132
260
167
171
180
146
145
115
130
207
179
166
233
200
192
184
230
237
188
234
189
194
188
130
236
146
221
233
173
145
129
146
222
204
200
155
195
235
184
164
172
194
208
274
206
219
216
204
210
173
173
204
202
214
146
202
192
236
226
165
235
230
194
217
115
194
230
156
204
168
147
199
193
228
182
216
210
217
230
186
173
214
214
164
201
201
175
173
196
133
206
119
202
180
191
146
230
252
170
146
115
171
302
173
180
179
239
182
183
149
166
200
218
201
160
211
130
145
241
173
143
173
130
270
169
191
168
300
160
207
233
263
258
185
216
162
221
152
212
179
218
163
133
173
265
188
156
151
161
199
178
184
158
157
130
229
145
141
205
195
227
267
176
173
208
242
216
168
268
115
172
170
168
145
171
168
174
252
294
262
233
184
217
226
230
195
161
143
174
184
130
157
192
129
244
143
143
174
195
159
130
186
176
184
162
176
251
184
159
273
210
173
208
239
210
148
204
189
272
141
145
221
183
229
182
138
264
235
178
161
176
175
168
180
261
208
197
186
182
246
183
146
204
145
191
250
252
201
235
143
226
133
147
122
158
225
150
201
141
179
225
206
201
289
263
185
243
236
191
115
191
186
143
181
158
201
203
145
211
133
115
183
245
158
144
259
154
266
143
183
210
198
195
205
178
214
227
204
252
188
183
225
210
311
239
224
160
220
129
213
231
158
200
190
209
198
184
182
217
179
319
194
143
163
183
162
146
155
194
170
173
156
245
212
195
151
173
274
225
254
221
245
239
182
130
176
200
172
130
146
217
204
208
130
210
169
183
159
166
219
265
200
183
183
261
273
250
161
188
261
201
159
155
184
201
239
165
164
138
173
164
183
130
144
250
174
193
179
203
165
143
161
210
146
173
179
162
162
210
163
129
210
122
138
158
130
115
159
198
219
157
165
129
200
184
151
219
133
179
222
204
274
278
145
214
188
181
231
173
202
146
231
129
185
183
168
166
177
164
129
217
181
296
115
299
177
188
186
214
229
214
202
146
208
234
204
184
233
245
205
202
130
130
145
181
173
201
240
155
230
181
176
133
255
204
252
173
184
173
164
173
149
261
129
159
143
217
115
264
173
188
218
130
268
164
148
184
190
176
181
201
133
225
265
133
281
214
199
240
179
172
184
183
173
206
158
274
257
210
172
221
318
189
195
204
158
197
143
173
138
209
217
203
184
149
130
193
143
174
242
158
256
231
182
210
184
180
156
233
172
188
264
262
141
238
200
238
176
149
157
221
201
175
149
213
202
146
241
199
180
238
179
180
184
173
175
160
236
242
189
159
214
210
142
273
166
220
152
257
133
130
143
122
229
115
158
191
200
217
170
195
228
192
208
181
269
143
172
189
240
180
255
196
194
194
115
143
281
129
200
130
197
188
307
146
224
130
143
179
242
146
147
212
251
164
218
173
181
222
246
173
223
173
238
232
203
216
138
143
183
180
184
168
209
146
200
172
129
130
184
211
215
211
173
130
215
184
183
242
215
209
138
190
234
197
226
229
225
248
176
145
229
129
180
245
179
210
184
228
181
131
208
228
185
178
241
256
173
157
146
194
173
230
153
133
205
227
170
147
210
210
208
215
250
179
202
216
173
162
261
236
211
173
179
115
179
195
209
203
192
173
128
122
247
204
167
244
187
229
215
183
171
257
162
129
247
155
210
192
213
188
173
194
222
169
173
200
197
145
183
129
176
184
234
181
176
252
166
151
173
206
206
214
185
147
211
215
177
237
184
288
204
173
178
256
173
237
263
204
218
146
131
192
251
157
179
213
223
236
184
222
261
229
192
177
236
182
173
209
213
201
160
238
180
168
246
173
172
203
199
209
130
115
185
132
202
133
228
204
218
166
217
217
254
164
263
156
129
234
197
204
184
255
199
184
183
192
230
129
202
258
151
241
146
238
145
173
237
248
226
264
248
162
146
181
264
186
271
185
201
274
195
211
170
198
145
157
178
184
226
132
212
143
204
227
162
203
156
201
209
172
150
141
173
147
201
170
149
215
187
176
202
150
189
277
212
245
246
158
226
133
218
180
217
208
181
214
262
185
191
129
244
184
210
197
181
173
156
191
228
173
193
204
210
164
225
222
122
145
269
179
217
200
254
202
196
173
178
207
222
168
179
204
133
204
207
174
146
146
159
179
163
130
146
176
200
168
214
242
227
143
250
222
132
173
179
182
204
200
174
174
173
222
210
133
210
228
162
213
162
211
173
129
193
130
210
203
204
224
234
202
190
230
159
158
161
211
184
211
204
129
130
191
180
183
248
151
210
211
219
263
210
129
244
211
168
218
152
210
184
168
130
179
130
237
232
150
216
179
129
238
200
115
184
243
174
256
221
241
184
166
236
162
209
201
170
213
226
173
210
202
239
178
190
252
267
173
156
233
168
182
164
239
228
194
197
171
189
219
238
231
231
188
179
259
183
173
173
164
191
221
186
188
206
149
115
178
261
173
161
238
167
208
146
180
250
208
150
214
194
201
150
167
204
146
133
145
194
204
220
222
178
181
119
176
129
145
155
186
167
128
211
166
157
176
195
131
283
198
164
205
167
201
184
176
184
156
181
230
202
130
210
228
149
196
249
207
242
130
255
176
204
240
146
179
250
240
234
250
200
191
256
206
243
143
201
229
173
199
178
156
166
222
217
191
180
217
217
145
128
156
146
145
178
115
176
208
184
244
206
200
160
179
188
204
151
215
132
168
178
184
263
200
200
202
196
201
184
115
224
230
159
179
230
212
188
180
208
229
186
208
227
143
203
153
205
161
203
203
166
230
122
146
201
150
173
150
184
177
146
195
213
170
217
242
164
176
184
214
145
207
170
152
263
274
234
129
183
238
203
243
191
211
211
176
129
130
245
197
183
224
239
198
173
262
256
189
157
159
225
146
258
167
176
159
251
192
190
182
213
212
266
151
190
164
146
237
216
152
229
183
251
181
236
173
207
191
195
146
246
160
218
236
220
174
186
146
145
130
179
206
206
138
156
180
203
130
143
209
191
179
200
179
262
201
198
179
210
230
164
184
266
266
183
146
156
222
167
183
180
238
207
229
212
188
219
228
188
200
195
172
129
218
186
182
215
156
190
172
172
164
256
161
230
283
155
143
211
201
268
133
191
179
223
171
182
218
247
119
235
130
157
146
230
141
225
130
168
129
133
172
295
281
145
165
191
204
228
149
218
235
146
253
184
224
145
130
164
222
199
264
210
224
164
146
191
129
150
201
143
182
204
236
206
244
202
211
227
221
204
242
145
189
146
208
140
178
190
202
158
164
164
230
162
181
115
192
149
158
177
130
193
197
171
173
193
138
138
256
217
183
204
150
176
238
237
183
233
143
173
204
206
232
201
182
186
129
180
145
149
254
229
192
240
129
202
156
187
268
235
210
186
222
230
138
200
183
156
235
238
203
168
210
178
149
211
194
211
191
155
183
190
216
259
180
248
190
211
188
211
204
130
171
225
182
195
232
191
192
280
183
173
200
217
222
196
173
200
230
211
181
162
145
164
183
155
141
146
258
231
254
205
115
173
230
160
191
221
146
168
130
155
215
209
146
138
162
228
173
145
236
180
198
217
200
195
235
145
191
206
158
127
176
204
157
180
182
246
206
183
283
173
129
202
238
214
172
247
184
129
187
204
146
256
204
180
171
157
194
246
239
179
262
146
238
199
202
259
187
214
129
172
168
200
176
163
185
187
172
179
217
173
191
210
143
129
169
235
226
152
191
236
229
185
204
264
164
237
253
217
408
239
182
173
162
201
143
220
202
155
242
227
145
186
154
222
130
157
143
200
115
190
211
192
233
185
130
176
162
267
191
248
164
161
189
170
209
263
163
189
143
182
225
168
227
219
173
185
227
144
130
157
328
176
193
229
229
250
263
194
182
217
155
195
182
211
210
168
227
115
166
141
133
210
144
181
219
245
169
238
214
184
204
185
186
200
306
184
162
130
115
206
236
238
146
145
210
171
159
216
129
168
182
214
292
184
235
202
235
220
204
173
202
184
183
199
162
203
182
245
201
176
219
191
197
184
227
204
177
264
185
169
221
231
216
164
145
182
185
219
205
192
185
230
145
164
146
166
130
168
155
150
202
157
146
247
234
129
325
199
172
235
173
201
133
222
300
205
228
197
187
300
250
249
185
266
228
199
225
210
202
195
156
146
115
169
236
222
201
162
246
211
222
203
214
145
155
141
162
178
173
171
211
179
234
169
178
176
199
204
164
192
228
195
213
248
235
198
169
186
206
295
219
181
185
162
262
199
151
244
188
211
129
174
164
206
130
144
129
195
158
190
202
240
168
183
185
215
205
187
237
208
168
172
226
211
186
232
204
221
182
280
161
191
237
217
244
115
155
235
181
188
146
115
145
176
238
182
198
221
218
194
233
164
146
210
130
200
226
146
263
210
207
226
186
237
164
245
224
178
204
227
194
202
249
202
166
143
141
149
211
204
217
173
129
139
214
180
147
230
173
239
194
208
201
143
146
145
211
180
238
224
200
195
178
179
211
252
158
164
173
204
180
231
129
133
206
252
225
259
169
231
238
218
143
223
172
129
182
183
115
156
176
180
185
184
224
170
179
129
173
269
146
141
181
261
181
145
190
157
218
163
176
161
216
200
187
194
122
164
227
254
146
203
146
229
275
189
222
270
221
217
221
207
211
190
186
122
169
202
305
195
242
236
173
162
180
182
211
160
146
129
199
184
185
152
173
231
180
183
263
169
146
216
158
274
122
155
180
162
168
195
202
176
203
129
227
129
173
230
200
191
204
129
204
167
156
148
175
256
173
178
174
176
203
164
217
143
133
139
178
185
166
150
164
256
170
184
219
264
157
218
173
203
180
188
158
129
184
221
171
182
190
193
204
180
175
179
138
176
179
246
185
203
167
181
170
146
261
216
246
195
201
214
178
143
143
145
166
182
133
197
238
210
146
257
207
201
202
156
158
176
151
115
193
178
143
175
162
227
129
133
189
233
205
162
178
212
209
243
198
248
200
194
184
184
217
202
185
179
193
130
162
207
192
168
184
201
256
146
155
150
233
146
130
153
162
246
167
170
225
130
173
193
130
168
129
219
115
168
182
251
192
247
239
247
133
173
173
207
214
210
198
146
146
243
229
222
173
146
182
173
173
181
178
207
227
256
197
183
161
187
228
201
193
211
220
183
130
249
229
211
201
226
195
129
182
250
160
145
193
273
214
202
157
171
249
184
206
280
244
193
210
236
130
217
222
115
193
177
174
260
182
288
192
285
145
238
192
179
212
156
216
228
189
200
173
193
129
222
172
211
187
157
173
133
146
153
130
219
162
186
168
200
172
130
180
152
162
173
191
180
178
194
183
280
141
168
255
145
211
263
229
158
189
229
186
218
237
155
176
250
152
211
231
157
226
182
145
211
216
178
182
183
173
169
183
192
234
146
131
168
189
173
240
200
138
262
202
173
228
133
190
204
239
179
177
145
177
192
204
195
191
164
160
214
201
201
302
166
255
146
214
196
173
145
130
200
147
168
283
143
172
179
143
215
197
192
172
185
217
183
228
217
184
204
171
213
219
196
133
185
270
161
217
130
145
129
188
205
204
178
217
204
129
258
189
206
200
115
227
207
190
141
182
146
130
204
174
260
188
141
181
265
223
191
233
164
179
263
207
119
145
214
171
220
184
189
184
247
160
225
143
146
221
170
179
239
150
155
180
239
183
149
236
201
187
226
225
207
157
246
209
227
216
203
191
149
129
130
122
172
252
188
180
204
115
195
211
183
173
149
129
138
202
231
236
196
195
235
179
226
265
283
188
147
257
168
217
241
191
231
156
195
195
130
189
151
201
184
200
205
251
206
212
210
276
246
217
258
211
133
210
179
232
149
146
204
199
221
261
225
195
206
263
253
130
265
263
183
272
274
201
164
217
143
174
227
229
203
196
224
230
207
164
217
217
153
184
303
176
162
186
165
239
151
180
234
129
186
189
217
168
160
217
204
122
197
162
176
160
219
204
226
205
182
176
182
211
196
129
200
234
224
230
247
233
173
171
184
201
122
129
245
130
180
184
225
238
220
229
179
164
218
180
204
190
229
242
130
161
227
158
221
170
205
231
225
146
274
195
219
252
219
176
184
181
129
174
152
189
180
191
176
181
189
201
189
258
203
185
216
165
232
230
223
200
143
249
158
210
196
199
146
248
164
157
215
177
157
214
129
254
146
244
189
183
166
129
204
209
204
230
156
173
146
166
150
158
265
173
146
238
203
228
187
274
236
143
240
155
168
132
177
133
143
179
181
129
129
171
176
194
217
202
179
226
225
207
180
130
287
200
133
229
216
198
162
227
171
264
201
227
185
173
173
178
222
258
158
179
217
230
245
238
272
184
184
162
170
252
146
181
228
115
251
133
222
191
191
158
232
115
179
225
186
145
191
173
161
156
198
191
191
249
146
233
176
221
182
156
207
210
155
155
146
133
170
176
222
202
142
149
143
160
197
184
194
240
200
158
260
115
203
173
166
173
221
173
130
191
176
129
237
173
225
155
210
122
296
119
230
252
167
150
162
143
151
231
176
252
227
210
184
227
190
191
176
219
182
155
214
144
174
176
184
176
232
168
186
204
194
178
230
178
257
182
146
261
197
180
115
175
191
217
161
145
216
164
115
184
130
195
168
232
260
222
298
179
216
146
239
200
177
230
164
143
166
158
149
185
217
173
276
145
166
143
221
216
201
203
188
186
146
153
145
203
217
202
217
221
203
130
223
194
253
190
185
216
239
256
238
174
191
207
133
204
173
156
149
171
161
176
197
243
163
214
172
212
178
133
143
176
133
168
143
243
283
299
259
203
201
185
199
213
179
194
177
132
161
198
145
232
221
130
150
145
264
205
130
209
189
168
176
145
210
202
215
173
220
173
130
201
208
129
128
188
204
192
132
186
138
246
189
158
192
134
188
145
193
210
202
242
181
239
115
189
146
210
146
226
304
181
172
202
209
181
227
288
243
133
178
201
168
184
164
155
129
283
146
214
222
171
216
133
180
267
209
173
156
181
270
196
166
130
165
166
187
218
146
177
208
209
169
216
239
119
183
204
145
166
169
256
222
130
256
160
182
184
171
229
162
184
186
178
256
158
151
258
141
218
176
174
166
194
211
129
129
271
236
255
141
145
227
176
179
233
167
146
169
169
211
150
237
143
129
271
146
182
173
184
204
164
141
185
203
233
282
173
221
205
202
201
236
188
158
174
138
240
209
195
129
199
138
182
129
173
287
205
205
240
208
231
158
211
133
183
225
189
214
245
178
239
238
194
246
176
194
122
196
164
141
202
205
230
172
156
146
204
247
178
164
176
217
264
206
259
257
162
191
187
204
244
186
236
195
246
201
195
179
178
143
264
218
115
245
191
133
146
218
146
176
145
130
262
129
206
211
228
234
208
221
220
252
210
167
297
149
151
210
204
192
209
171
204
211
232
192
128
176
222
217
173
167
205
186
156
211
210
119
162
133
205
212
209
172
176
216
129
170
217
168
153
221
220
155
166
231
167
188
236
181
236
178
191
259
176
210
201
260
174
200
240
129
130
191
230
133
259
147
198
228
205
170
215
130
188
201
225
152
146
199
183
207
234
239
164
183
201
227
234
179
227
176
176
230
119
187
210
207
173
255
236
164
158
158
216
146
146
145
250
244
225
211
128
219
232
115
258
206
184
199
225
156
152
162
158
176
208
225
238
169
143
184
246
244
158
217
115
239
130
206
133
205
238
190
229
208
198
195
225
182
163
157
205
129
169
152
169
163
197
227
161
145
161
164
191
115
204
157
220
185
212
206
188
145
168
185
172
183
138
206
165
162
221
179
146
190
217
173
241
192
150
176
217
162
159
146
190
182
133
222
183
206
211
160
188
180
210
168
169
187
185
173
226
214
215
188
242
130
133
163
130
168
186
176
201
216
256
178
230
133
166
156
176
253
248
173
179
186
227
172
197
210
156
158
143
182
141
239
183
288
203
207
188
146
176
149
174
203
169
182
185
172
205
234
269
150
228
138
164
173
286
201
161
141
206
182
176
197
230
130
162
204
180
157
201
159
190
220
233
258
180
254
169
176
145
226
176
176
225
183
190
201
168
227
201
244
204
208
176
185
171
133
238
183
236
241
168
200
115
133
130
174
178
200
155
161
202
146
209
215
145
238
210
201
173
178
179
156
182
150
169
129
174
146
178
193
225
172
253
211
129
184
215
172
173
167
218
198
146
208
206
197
150
146
176
232
173
198
155
184
192
214
236
228
146
169
115
236
236
185
286
185
189
181
176
218
146
173
146
206
179
205
158
166
186
189
161
173
176
129
210
162
170
205
206
221
196
180
129
213
202
188
264
218
158
226
143
182
193
217
214
258
245
173
220
209
264
184
146
299
197
158
162
241
184
130
193
130
174
122
225
176
179
195
178
183
158
218
218
129
149
264
217
194
236
178
206
130
205
234
218
169
302
239
184
185
256
149
200
210
224
230
206
184
143
204
130
129
210
186
248
256
176
199
180
218
169
169
228
176
146
216
293
141
265
183
245
226
204
173
217
183
145
187
190
178
115
212
211
156
221
187
243
146
192
252
216
173
130
180
210
184
210
280
185
129
173
225
222
167
225
222
185
150
211
156
162
146
213
164
191
191
206
128
209
143
132
130
185
143
183
211
204
175
144
156
236
190
204
163
129
177
146
151
182
115
196
234
202
246
215
146
211
129
210
225
197
208
204
164
184
304
233
129
222
257
183
169
244
180
217
172
129
194
197
153
145
237
181
212
225
145
193
236
167
178
162
293
213
155
237
156
200
164
166
239
182
222
161
238
173
192
191
230
145
180
227
293
229
183
217
225
210
130
221
187
204
193
183
214
164
146
206
185
160
129
129
173
280
182
142
188
146
201
156
217
158
195
211
224
130
228
214
210
183
129
205
183
174
162
164
183
311
129
254
234
158
212
194
282
263
182
179
227
168
202
296
185
228
252
181
180
205
199
182
156
129
166
211
175
229
162
170
213
222
230
185
163
152
223
192
180
129
210
211
190
204
129
204
176
203
167
243
182
170
214
129
122
213
204
130
163
202
145
182
208
215
152
204
214
219
180
236
210
133
252
141
138
216
237
166
129
138
186
251
200
224
218
143
180
146
256
214
115
247
232
193
181
335
220
215
146
178
193
146
173
193
198
168
185
178
174
269
213
130
193
128
199
146
190
170
173
230
129
242
212
285
179
173
156
256
156
179
176
221
173
239
146
206
194
242
201
249
139
173
179
208
146
168
274
133
147
191
189
190
187
160
184
115
242
185
182
157
147
210
170
115
133
189
183
217
235
227
183
175
240
168
145
244
143
235
202
212
187
210
193
172
129
219
176
191
178
212
251
156
177
321
284
238
243
185
143
130
219
189
176
192
211
223
173
172
190
258
146
133
162
143
288
115
145
206
203
173
275
182
211
160
119
180
226
194
194
129
173
191
158
185
206
204
238
168
183
268
189
129
179
130
180
201
223
129
190
203
184
201
200
188
211
221
222
204
155
252
147
208
225
168
130
202
176
166
255
229
179
169
233
183
176
237
185
168
145
133
187
145
221
182
214
138
130
162
179
232
180
173
144
321
244
180
133
205
173
182
242
173
216
146
130
221
255
207
187
160
183
182
146
204
176
252
188
158
146
225
176
206
201
204
143
208
157
115
227
169
212
230
182
289
167
133
159
158
199
155
258
133
130
191
173
176
162
204
156
182
200
261
156
129
176
173
179
201
255
197
176
197
115
206
173
174
217
144
210
190
262
202
165
249
200
303
164
146
181
210
145
146
181
153
175
160
224
175
161
174
168
208
229
230
168
161
201
223
187
178
183
174
228
273
165
266
222
197
146
146
202
160
264
128
129
234
170
258
195
210
170
219
158
153
245
199
263
172
210
194
261
203
156
196
240
204
180
167
200
146
182
210
212
138
145
201
161
173
182
173
202
179
164
146
239
146
199
153
204
242
253
195
169
115
226
193
190
191
236
185
185
162
164
237
255
213
182
197
217
192
199
168
182
130
203
208
200
158
202
184
186
204
192
195
207
213
146
175
176
190
216
210
273
193
210
200
130
166
304
149
206
211
246
191
130
162
167
173
130
210
183
183
192
183
244
167
130
232
236
224
192
168
145
130
225
230
178
180
130
228
259
271
119
166
227
230
198
234
250
178
273
145
213
201
182
179
170
218
205
168
184
259
173
173
316
168
182
186
147
184
143
215
208
222
173
251
173
176
204
236
205
181
138
172
129
180
233
157
178
210
184
180
187
210
203
129
115
168
173
201
233
176
218
141
222
170
184
210
129
156
203
130
184
187
212
178
133
149
133
133
242
239
145
195
161
183
130
193
211
164
146
214
173
222
122
263
143
162
186
183
164
268
189
211
178
183
181
264
213
130
167
199
228
166
207
187
172
176
245
162
129
174
175
130
164
217
228
217
173
179
166
129
230
179
192
217
146
214
215
168
186
199
210
199
218
184
130
184
178
146
168
229
221
115
217
266
130
161
156
188
145
190
179
173
211
183
212
149
221
261
129
147
172
146
129
275
222
212
180
228
129
173
130
240
178
133
226
115
176
260
188
256
239
200
173
141
204
168
246
200
188
191
254
252
214
146
228
144
217
188
173
230
179
240
194
230
171
184
129
256
242
172
237
230
179
168
191
211
259
204
283
211
189
230
262
228
160
129
234
202
156
128
130
173
200
171
204
129
186
333
217
173
160
204
185
202
204
204
181
269
169
206
199
211
279
184
237
122
115
287
160
173
165
201
149
236
130
295
264
133
259
132
156
211
201
175
185
239
202
264
247
176
167
119
171
130
176
206
204
236
203
153
204
161
179
129
149
175
169
128
204
211
182
195
152
138
195
229
231
145
200
231
115
222
231
226
238
203
244
160
146
182
204
128
221
239
236
176
128
149
158
218
149
239
129
249
162
176
162
159
228
173
206
206
176
216
143
225
146
230
173
182
206
184
201
264
146
122
230
210
205
176
262
254
201
251
254
197
166
222
209
115
130
209
185
129
230
179
195
184
179
158
174
217
184
162
182
171
234
204
171
239
115
192
162
228
217
184
202
202
146
122
169
184
228
201
181
146
224
130
173
130
242
164
230
200
191
133
164
169
192
144
238
229
211
206
146
249
195
232
257
176
176
192
129
167
153
168
211
210
177
179
173
143
302
211
174
168
247
146
247
179
152
211
192
133
176
145
163
199
188
300
204
184
225
138
130
201
320
197
129
260
335
263
137
180
184
181
239
201
236
165
204
230
195
150
174
166
158
133
214
231
172
169
210
190
141
146
178
206
202
130
130
204
219
193
228
162
211
227
176
145
129
129
172
162
224
157
201
150
180
237
247
145
217
209
169
202
190
211
188
188
237
188
277
240
216
235
217
217
240
210
206
211
204
265
187
179
115
129
180
259
214
188
233
211
192
229
175
236
193
214
233
130
173
246
178
236
263
171
210
232
250
185
194
179
191
176
252
208
225
129
204
248
207
194
130
209
200
204
182
226
183
246
222
261
179
206
183
221
164
217
206
189
239
115
191
227
231
197
187
225
188
194
259
146
328
119
213
164
130
179
202
129
214
150
173
191
146
234
158
246
296
196
162
161
176
141
184
122
264
221
150
226
162
192
208
196
178
143
173
263
185
198
202
129
199
243
168
197
201
141
201
129
173
170
237
129
143
191
180
180
264
168
153
236
247
173
187
254
184
290
242
173
211
173
193
194
236
138
238
228
158
225
217
217
245
179
195
169
176
210
161
203
162
265
187
194
196
129
238
178
221
238
193
186
188
189
183
180
170
129
211
164
171
170
247
218
216
182
229
256
212
155
141
201
209
159
160
227
212
146
129
168
216
242
150
251
151
210
148
229
230
273
191
174
141
174
173
194
145
195
228
210
173
234
176
207
200
182
143
173
221
175
163
247
146
133
151
255
178
216
184
130
207
238
200
130
192
155
243
156
227
145
200
186
180
224
210
161
173
191
218
271
162
233
185
222
230
256
173
164
210
205
191
164
209
191
171
153
184
201
311
195
178
205
203
176
183
180
115
204
173
289
256
145
235
130
222
170
210
209
185
173
218
177
170
176
186
150
226
247
179
270
158
217
209
178
170
239
209
171
247
128
206
145
129
129
219
173
207
183
200
128
228
145
204
206
155
146
172
184
173
186
190
171
187
163
195
242
184
182
146
176
229
258
213
166
180
206
202
152
281
168
173
129
162
196
152
217
184
204
210
130
300
168
213
183
211
145
195
184
218
164
268
205
217
189
253
224
145
191
255
122
262
194
189
204
184
132
287
262
150
161
173
188
166
193
173
176
242
234
176
160
200
161
200
200
131
192
203
210
230
182
178
209
243
190
217
185
184
264
210
188
185
219
159
160
145
151
202
212
169
217
236
156
182
189
208
205
146
221
247
187
184
229
240
199
115
157
146
222
208
133
187
157
211
173
133
171
236
211
209
217
197
220
204
181
205
234
252
164
138
191
182
229
227
191
173
175
180
210
190
186
146
130
202
241
209
222
130
172
204
198
211
143
225
192
242
145
206
195
174
197
207
204
265
192
256
176
181
145
173
129
228
203
255
264
133
272
129
206
162
252
129
225
234
210
243
176
172
184
191
161
183
214
239
173
156
187
164
179
160
168
173
222
176
325
155
191
130
210
178
115
210
167
174
168
184
235
228
158
146
217
115
266
202
146
155
143
196
145
145
209
230
167
208
176
204
157
146
266
173
256
130
184
177
122
267
129
155
233
230
173
236
325
186
188
129
151
173
178
190
335
195
133
158
210
156
171
236
265
130
149
143
254
162
232
198
129
227
204
265
158
264
184
288
176
218
236
158
173
204
180
205
206
190
206
199
171
129
183
204
250
200
270
183
177
261
115
168
176
129
184
143
180
186
214
185
237
115
119
173
188
180
131
187
204
259
178
241
160
205
185
201
130
274
143
239
173
184
164
204
218
234
238
206
274
143
133
219
225
178
222
133
122
297
146
182
236
173
179
150
191
240
281
197
178
143
122
222
168
230
254
202
130
283
164
246
176
206
202
146
173
206
196
155
205
234
176
141
192
165
231
212
133
264
231
225
129
155
173
217
146
225
167
226
238
179
212
161
159
173
206
179
200
130
196
188
212
194
237
247
151
212
204
217
192
204
178
208
129
226
182
265
174
231
202
133
217
264
169
115
189
141
188
188
157
277
254
159
178
188
181
173
176
188
191
217
211
200
145
174
192
168
158
184
145
176
177
246
204
188
231
186
271
220
155
191
178
204
241
177
213
200
248
189
203
190
256
185
210
238
186
209
265
306
176
185
162
151
212
178
165
195
201
115
236
230
241
230
210
205
145
201
249
229
168
217
145
181
151
202
188
274
162
173
215
122
204
204
183
176
237
202
205
208
225
187
184
204
182
246
158
223
225
195
200
191
204
133
147
180
228
211
162
206
162
225
145
211
173
188
168
201
211
188
146
195
236
161
211
129
143
191
206
183
174
211
188
163
122
206
282
132
217
225
153
145
161
157
146
214
210
210
227
196
261
169
131
204
146
180
167
223
204
248
193
191
297
157
168
201
186
214
236
214
205
227
115
284
146
182
159
209
298
143
280
180
245
238
212
251
214
214
130
274
217
295
216
164
251
165
197
207
256
186
161
303
181
191
168
176
183
270
172
146
157
180
242
155
174
247
145
255
190
217
219
203
245
200
184
239
224
188
234
217
236
129
168
211
194
222
217
160
224
173
259
202
249
214
181
161
214
286
199
170
217
234
182
173
201
215
146
173
161
241
165
245
273
180
168
175
178
271
216
243
164
237
209
225
206
268
226
226
202
217
182
191
164
191
155
176
188
185
187
250
182
184
201
145
173
173
129
192
204
149
183
184
175
178
128
191
219
240
214
155
173
175
176
199
115
143
203
170
197
168
242
229
162
159
241
176
133
168
162
212
235
210
194
162
172
235
200
149
269
186
270
203
200
153
214
210
243
235
174
176
184
229
162
195
225
264
138
244
158
130
204
184
165
268
288
179
173
255
158
225
176
227
254
242
202
169
264
214
252
129
182
226
132
149
130
210
210
202
145
184
182
192
173
204
202
227
162
130
285
189
170
236
162
221
180
178
229
149
186
164
182
235
220
145
200
227
158
195
283
237
217
115
180
182
173
227
129
176
138
185
204
217
145
168
239
234
217
166
201
211
244
262
205
217
122
182
265
259
252
184
187
130
161
179
166
175
150
133
130
184
189
163
156
166
178
179
206
158
230
181
324
208
181
164
168
171
129
230
221
164
190
190
173
242
174
172
211
222
193
245
217
203
161
156
183
240
168
129
197
186
129
210
250
144
199
192
335
225
192
184
133
201
183
335
130
210
115
267
262
211
205
145
115
146
145
164
267
256
224
232
146
194
176
166
151
208
277
190
255
182
191
176
146
218
202
180
206
130
187
216
203
201
219
191
240
211
208
303
208
180
202
215
204
217
168
246
169
130
206
152
180
155
213
237
190
194
204
225
181
129
188
195
216
132
219
273
238
189
200
187
233
191
173
250
212
167
166
189
150
192
169
237
176
208
189
186
194
199
238
191
129
181
299
201
206
186
129
183
226
145
178
164
145
206
129
203
143
177
237
193
184
129
130
247
191
176
222
156
181
163
213
151
191
129
215
168
122
143
198
215
147
190
266
199
173
252
203
195
216
206
164
246
162
213
178
129
191
203
229
173
262
162
115
176
176
129
229
161
219
200
166
162
212
164
237
226
205
228
174
170
236
129
221
166
264
206
115
296
215
162
156
184
250
174
168
176
255
183
201
174
156
197
208
237
260
246
211
214
261
210
175
146
176
195
293
170
263
182
138
201
250
229
200
185
218
150
202
185
150
170
168
171
151
232
211
229
191
176
162
225
232
149
173
168
133
252
119
227
236
180
233
130
245
217
208
173
189
145
129
190
227
224
236
156
228
176
183
207
130
150
173
199
169
202
214
236
193
168
146
200
210
244
129
146
195
248
221
187
145
183
183
187
224
237
217
209
199
221
183
133
239
210
165
176
306
204
132
200
199
199
264
202
222
213
149
149
177
156
128
278
174
162
130
169
219
147
204
130
148
166
179
144
174
173
201
194
115
244
168
181
164
145
203
168
192
217
245
158
187
171
300
173
187
129
146
202
212
176
163
277
130
156
217
189
164
222
210
158
171
161
289
153
270
146
173
163
165
145
272
183
185
158
236
222
201
185
242
178
133
210
182
243
167
168
192
196
156
143
133
176
170
222
188
163
185
143
211
255
264
197
193
155
157
235
254
162
130
197
146
145
259
201
213
168
130
145
202
149
192
168
200
217
162
183
228
203
143
150
122
208
252
133
180
173
192
178
145
237
191
201
217
217
170
183
201
206
173
200
194
229
176
185
221
180
164
184
200
212
213
129
170
155
129
182
183
194
164
189
205
214
312
188
164
180
181
174
179
162
129
191
190
170
210
172
233
174
230
156
204
229
183
119
200
244
164
162
147
174
269
143
258
215
260
193
203
206
247
204
162
192
239
200
164
212
209
173
215
162
230
201
191
166
180
269
264
182
163
182
178
205
157
335
204
122
168
181
178
203
166
179
189
237
206
209
216
156
129
203
203
122
233
192
149
225
176
253
206
146
133
115
169
238
184
225
201
143
191
168
129
209
239
211
254
203
179
174
173
132
200
201
155
203
212
187
162
130
217
258
202
204
239
179
237
130
224
130
212
164
242
174
238
195
155
206
174
130
145
160
233
168
132
168
205
189
230
181
200
225
229
146
146
178
259
173
237
156
244
293
238
184
194
185
278
191
191
184
237
224
185
139
232
224
210
231
181
266
220
204
266
192
130
144
119
184
186
217
240
172
129
201
128
211
197
146
173
180
173
200
228
183
129
202
164
204
146
288
256
122
181
163
176
181
175
198
191
163
190
184
143
143
182
155
236
207
306
115
171
155
209
173
210
239
164
173
204
173
166
171
145
222
217
218
162
129
223
205
259
179
209
129
176
156
176
204
220
145
201
211
173
130
225
182
217
211
264
143
207
210
115
194
215
293
155
206
192
143
232
179
133
248
156
205
218
256
206
175
250
221
168
217
173
239
171
184
191
189
181
146
227
129
149
129
190
129
182
216
231
240
239
202
211
164
156
161
184
181
133
173
218
251
155
200
130
185
210
191
146
182
174
220
146
192
178
238
164
129
190
158
247
163
146
237
217
204
210
199
192
182
211
130
155
169
211
201
228
187
225
175
206
188
185
253
132
201
178
228
138
214
217
144
207
234
164
224
173
148
144
258
288
183
156
130
179
207
152
176
129
211
195
173
229
211
179
211
191
168
226
235
230
193
203
144
243
153
239
176
150
188
158
197
157
182
176
169
226
216
157
236
184
164
158
228
186
256
262
175
270
297
196
205
206
205
262
176
245
212
256
130
239
210
205
168
156
204
168
248
184
205
204
115
143
269
208
204
155
146
172
188
189
212
206
241
189
215
211
115
199
228
247
244
146
241
161
217
176
132
215
141
203
214
240
238
215
201
147
182
183
200
229
219
141
166
130
259
264
216
198
214
163
173
199
193
166
146
146
210
221
230
141
226
262
195
173
214
156
261
193
138
129
227
280
161
239
168
173
168
208
130
173
150
185
189
240
133
231
182
168
185
236
195
268
176
169
262
201
274
203
169
209
204
164
143
209
180
183
237
162
145
191
204
209
127
165
178
291
141
226
227
213
130
216
229
155
168
168
266
199
205
179
230
182
183
168
233
203
151
201
254
173
218
257
192
273
231
230
130
122
227
174
173
185
260
211
173
188
169
194
238
128
158
198
208
236
119
214
296
259
205
183
158
157
122
156
209
190
216
211
146
173
115
245
173
162
264
133
130
176
133
168
216
129
225
157
181
166
186
133
166
190
240
256
192
182
141
190
156
146
181
162
195
184
177
185
129
147
187
200
230
211
145
200
146
161
210
214
160
210
128
183
194
169
207
220
185
209
130
278
232
183
272
129
256
115
193
184
201
204
240
143
173
162
225
211
171
183
182
181
204
179
178
185
202
202
155
278
130
173
178
184
178
207
189
219
188
149
237
256
188
176
177
146
179
335
146
160
200
221
205
257
145
200
141
231
205
235
164
158
205
169
252
115
252
199
146
222
256
184
195
260
223
191
166
149
189
150
173
176
158
202
193
187
168
189
227
164
212
288
146
240
216
244
184
253
129
208
130
287
222
204
168
143
189
178
253
224
115
192
211
246
164
146
186
129
130
201
207
191
176
168
199
170
201
217
202
195
129
155
138
129
188
179
138
232
196
184
244
129
208
156
218
168
192
179
155
192
185
122
164
181
264
179
184
174
129
143
198
272
264
218
202
297
173
218
219
201
204
202
129
191
184
242
192
233
217
212
181
192
133
197
176
156
182
184
204
182
211
150
130
276
216
150
210
226
176
239
130
150
236
166
221
198
138
230
133
211
223
181
187
169
172
191
184
173
212
194
130
158
244
199
245
164
173
173
149
237
204
162
244
173
182
284
204
185
203
211
133
150
214
160
241
234
277
202
180
182
189
206
208
150
241
200
157
150
169
218
179
204
220
204
228
198
190
133
188
178
192
220
230
183
192
227
214
156
226
179
228
228
239
229
215
190
244
129
143
195
200
216
141
233
217
165
210
155
183
256
166
146
199
297
224
115
200
190
164
230
267
210
217
245
173
283
160
147
156
183
157
200
166
229
187
211
238
176
178
168
210
214
195
230
241
145
202
195
130
202
231
217
214
178
224
143
170
213
241
149
266
228
238
232
210
223
201
183
207
171
202
156
159
161
176
181
224
211
274
146
176
186
162
187
218
231
178
115
233
179
194
245
218
232
174
115
176
237
175
211
222
130
169
171
265
179
157
254
176
195
177
199
193
143
230
181
271
203
188
204
203
196
163
229
157
179
182
216
150
138
198
178
147
168
154
210
220
239
168
161
211
166
158
263
130
273
263
209
185
216
214
193
208
155
221
132
130
204
199
146
164
146
204
129
166
246
259
246
146
151
180
275
176
187
210
141
160
176
217
164
226
156
194
115
175
188
174
156
204
173
150
206
146
230
160
179
202
222
278
222
217
122
152
196
129
212
204
176
203
191
175
198
185
252
211
224
130
133
215
183
182
178
130
235
171
228
188
222
178
205
253
201
131
216
252
145
240
253
173
173
206
129
171
146
173
150
257
220
145
239
236
195
205
182
167
210
191
232
133
115
218
176
197
263
179
193
176
143
201
169
210
176
164
164
335
204
157
146
203
200
181
115
144
215
200
210
211
201
229
227
230
129
238
176
184
162
150
243
263
236
145
247
130
238
176
172
202
115
182
222
190
222
220
210
212
129
227
238
207
261
217
225
179
129
234
196
299
216
185
200
162
178
184
156
146
258
190
167
150
146
204
156
146
161
184
158
130
185
173
130
246
272
173
183
145
242
204
173
179
173
130
146
180
223
209
210
201
130
168
157
206
181
244
219
211
195
245
218
179
179
201
226
180
152
191
130
130
182
156
206
207
263
209
133
210
188
180
180
194
204
184
183
288
200
202
129
220
211
183
164
211
164
172
181
176
146
159
209
223
252
183
176
247
249
183
211
170
173
157
144
218
232
133
173
221
218
115
183
204
133
226
173
146
162
173
215
164
160
185
194
206
264
221
146
176
198
211
133
201
185
235
146
162
228
159
138
184
197
179
167
228
198
179
150
201
162
151
217
130
179
286
265
179
282
230
151
214
258
115
153
128
168
247
204
251
203
173
202
143
129
122
217
173
173
245
172
206
206
215
199
133
212
218
185
228
248
168
187
173
204
204
237
202
246
169
232
157
172
225
212
160
191
185
129
254
218
191
170
239
168
216
202
172
146
182
261
238
198
211
119
132
177
158
222
195
206
138
179
173
143
176
189
203
257
183
144
196
122
194
156
156
202
145
145
146
164
173
294
230
162
202
230
260
200
189
122
238
225
176
211
190
188
252
188
236
164
236
129
233
129
203
182
162
177
218
155
133
178
234
255
224
210
187
184
200
179
214
168
210
201
239
208
176
193
198
184
146
151
157
236
169
166
199
191
222
227
210
201
197
196
184
141
145
129
294
173
201
145
156
217
187
208
129
269
197
231
162
227
164
252
143
201
130
179
181
179
130
199
183
155
235
129
214
151
242
186
184
204
242
175
193
144
237
248
211
130
188
146
158
213
176
173
251
183
215
235
174
167
226
254
175
174
185
250
131
233
176
294
222
210
130
242
257
250
206
145
247
173
129
129
173
178
194
168
247
166
182
257
285
261
167
210
241
115
211
193
192
188
129
179
180
229
151
255
173
190
172
216
232
261
146
205
207
173
156
162
234
130
238
129
191
178
186
145
161
214
219
188
300
133
171
171
258
168
147
189
176
214
236
193
228
187
183
192
258
201
231
162
145
202
141
161
185
202
216
207
147
122
221
236
210
213
171
183
244
144
260
176
259
285
187
115
130
176
300
191
174
190
229
202
194
156
202
222
179
179
172
129
144
170
191
146
195
156
174
191
164
133
284
143
173
260
145
243
115
168
250
210
235
189
162
183
273
130
187
151
129
221
230
149
217
221
166
243
176
185
203
218
238
157
140
259
156
179
194
191
164
166
207
130
169
115
200
204
146
241
252
192
204
244
176
173
169
206
180
165
258
168
210
184
141
230
221
164
220
201
217
222
239
209
210
248
216
186
151
263
132
175
172
205
164
202
257
146
216
237
146
156
183
277
227
172
133
151
204
219
274
204
242
146
211
228
215
206
250
225
141
143
320
187
218
184
143
145
182
229
181
198
130
223
179
129
173
237
206
190
195
222
129
171
225
195
146
146
132
204
183
203
247
149
178
228
182
211
238
174
194
157
179
183
175
185
200
132
143
178
115
302
206
274
146
202
166
162
288
227
209
172
254
185
201
247
129
191
200
146
130
227
192
181
192
157
218
168
212
196
169
194
177
162
130
149
130
219
150
210
231
191
158
184
182
141
221
183
187
146
204
130
225
183
203
202
184
145
195
200
260
146
196
219
233
252
129
146
192
224
204
156
179
196
167
210
218
210
216
179
230
182
158
248
182
287
217
210
211
181
168
115
129
157
248
129
216
210
166
176
184
204
130
188
146
210
159
259
173
191
211
145
143
189
215
247
236
207
189
171
198
200
146
146
200
192
133
202
202
173
210
259
166
129
129
191
199
206
146
255
179
335
152
143
164
250
180
170
190
206
173
141
162
171
171
250
115
172
221
161
178
129
191
129
133
200
209
208
162
222
191
164
115
181
189
189
210
164
217
225
217
133
204
143
143
173
181
188
168
238
186
145
184
229
162
212
146
229
133
210
201
176
186
240
195
244
203
161
206
199
202
266
162
156
230
115
129
168
204
216
145
167
181
157
248
162
217
168
149
146
161
222
217
176
141
230
143
191
173
235
173
175
146
179
206
164
182
183
180
173
217
188
130
176
200
155
223
172
194
143
210
220
143
297
209
192
268
161
182
188
152
210
202
133
243
170
143
183
196
147
179
228
138
201
190
263
130
285
193
200
119
221
129
149
173
146
191
129
169
210
168
191
187
158
143
179
182
194
191
129
255
205
187
145
218
162
270
169
200
175
201
233
204
171
217
265
181
192
183
176
146
204
222
179
202
151
201
227
169
210
184
179
223
167
176
197
275
202
225
259
143
197
254
224
173
176
158
236
129
184
130
246
247
168
226
130
145
219
171
129
210
194
221
200
185
223
182
164
201
202
231
206
130
211
237
252
300
188
201
195
166
233
192
204
229
146
209
258
199
130
145
216
196
163
200
129
208
208
254
145
266
182
193
194
200
187
229
183
157
204
129
208
119
181
174
115
231
186
172
247
167
281
237
190
230
133
146
168
231
168
129
155
246
155
238
155
180
169
254
146
200
224
156
160
130
133
217
149
173
272
201
206
133
231
184
213
274
170
129
146
231
268
217
263
201
145
206
209
205
184
129
252
115
173
204
180
225
130
226
159
207
173
172
197
197
161
174
129
173
146
199
151
162
157
240
206
129
242
161
165
130
228
130
161
217
173
168
212
160
122
227
183
222
206
239
210
230
281
176
184
233
192
261
283
146
174
212
190
199
199
225
170
210
227
216
186
204
215
160
199
230
236
164
238
129
242
194
173
200
191
194
115
173
190
173
172
145
155
160
171
198
217
223
166
204
225
202
129
248
197
119
256
229
214
167
162
128
286
177
146
206
211
248
175
138
205
173
229
181
214
240
228
130
130
146
221
222
176
200
188
168
168
167
206
190
213
207
149
202
145
244
202
195
181
172
150
181
168
178
173
206
183
166
221
130
169
150
205
204
146
248
195
219
214
215
228
213
206
171
130
187
295
145
188
141
162
257
179
211
201
199
193
193
187
145
211
149
170
225
178
210
195
239
180
203
185
161
212
211
162
218
143
204
206
191
180
287
238
207
190
202
195
162
161
221
132
169
145
141
146
183
162
163
183
172
194
224
192
210
191
209
173
187
211
208
146
176
285
223
165
335
202
225
183
152
186
264
214
197
162
162
177
146
246
179
189
234
146
182
160
160
176
196
184
226
129
169
213
210
144
182
129
178
183
192
217
183
251
174
119
130
155
150
143
184
267
141
185
222
186
145
214
225
214
247
191
221
129
227
217
151
230
217
214
202
230
176
227
259
177
144
286
242
193
194
222
187
187
168
238
184
203
161
130
250
204
194
150
264
227
146
257
199
162
210
146
145
211
130
183
191
169
182
145
179
129
210
129
182
143
180
145
204
273
228
214
208
199
304
115
169
221
130
270
185
174
169
207
236
200
252
128
210
210
165
221
209
176
205
207
156
129
156
138
209
204
190
204
261
246
204
264
180
200
222
201
193
314
156
195
200
189
175
199
178
231
213
196
173
235
133
193
171
182
227
199
171
130
214
161
167
194
214
205
166
216
190
240
173
263
156
267
204
172
296
129
276
182
287
184
129
181
244
180
179
253
158
264
164
206
156
244
158
218
235
204
167
189
182
115
210
238
152
162
296
254
175
218
204
143
149
157
158
115
235
179
224
202
180
239
191
152
202
146
143
246
173
174
222
175
156
174
264
221
133
206
185
252
188
202
201
169
255
213
186
205
257
193
181
230
195
177
188
193
216
160
143
224
162
191
183
170
247
128
145
180
146
201
196
174
210
187
146
147
176
234
143
262
204
176
247
238
200
169
182
202
184
133
178
115
176
158
222
225
227
233
173
236
230
197
290
187
130
155
204
145
201
173
167
200
189
222
201
184
217
222
138
185
200
143
231
194
231
176
239
146
231
244
130
187
207
193
220
133
157
215
202
221
162
146
164
229
192
173
226
212
143
178
169
194
168
193
182
158
254
156
239
187
129
177
235
201
210
252
246
128
172
266
158
190
168
158
182
243
180
196
182
178
133
174
200
173
141
179
210
146
266
179
195
282
192
183
217
197
210
210
197
163
130
238
204
260
236
176
210
155
188
152
145
168
238
161
172
217
179
176
228
191
247
200
171
194
132
217
207
220
205
179
236
161
175
153
220
191
115
203
199
146
216
217
229
138
225
158
146
182
155
197
209
174
250
172
259
185
197
184
185
204
211
207
146
201
130
192
133
210
216
202
209
189
184
217
184
183
173
122
216
129
176
214
164
156
175
204
157
115
149
210
155
130
130
150
222
177
176
211
198
217
129
176
146
230
294
140
129
174
240
182
191
230
115
207
188
221
260
190
138
176
184
145
262
176
236
152
115
252
222
173
130
257
146
143
211
214
203
199
168
162
182
211
181
192
176
193
164
230
244
216
222
160
171
184
193
246
210
204
269
187
222
164
229
197
181
191
168
227
130
204
169
251
203
244
190
160
240
185
187
214
244
211
252
133
176
169
159
182
146
129
157
173
145
155
148
202
178
146
183
179
167
198
159
216
170
146
155
176
229
129
229
165
143
233
238
129
217
195
155
214
224
179
129
151
249
263
129
206
204
215
186
207
150
145
143
179
155
202
223
248
182
182
219
146
184
207
204
263
220
152
115
184
231
183
180
157
191
185
206
179
173
133
130
163
205
297
156
204
201
198
204
214
196
217
293
175
244
200
205
211
235
184
130
206
130
175
189
178
155
208
164
234
214
168
145
129
259
255
180
129
190
210
228
189
146
188
178
161
168
208
215
244
273
161
209
173
233
235
206
238
119
166
193
200
129
166
209
179
160
242
143
225
180
176
219
274
182
185
194
234
193
180
160
231
179
180
211
214
238
168
210
183
130
186
180
158
186
138
227
201
211
176
264
254
200
149
247
149
202
176
132
199
146
185
203
194
146
187
191
173
157
160
193
211
200
166
229
173
200
279
173
231
159
186
303
146
224
228
197
155
202
204
296
182
115
202
281
195
115
192
166
201
268
173
186
176
145
176
230
213
210
146
179
146
174
217
146
168
130
238
194
193
173
133
143
194
164
217
173
230
171
209
146
216
184
262
164
281
195
191
287
259
173
208
244
181
197
146
204
151
229
211
187
167
146
153
228
186
228
211
192
122
238
131
194
214
176
256
171
168
157
185
228
201
203
206
173
222
244
207
204
200
210
173
208
180
138
264
256
173
191
158
146
206
200
190
243
156
242
162
175
133
151
221
224
213
198
256
164
190
176
218
166
201
203
173
240
170
166
207
242
158
152
192
129
142
161
196
197
244
184
146
176
199
145
231
181
263
176
193
191
173
209
236
222
122
204
213
218
160
205
183
206
211
176
153
193
168
261
232
178
189
204
225
196
236
259
204
205
195
255
210
214
202
130
180
229
164
146
183
200
185
203
184
222
222
166
158
236
191
183
239
247
155
146
174
229
146
169
174
146
221
207
221
222
221
252
129
227
138
176
168
243
174
115
196
243
178
164
182
194
204
185
226
241
206
208
129
195
217
204
150
204
146
256
179
238
204
146
156
129
210
183
201
246
162
151
288
129
244
202
184
159
260
191
262
181
185
204
215
227
225
228
130
172
230
182
130
169
238
164
178
226
210
264
168
206
217
133
230
224
183
245
201
177
222
176
321
214
204
166
208
176
230
155
183
201
204
143
268
185
190
190
174
141
243
242
179
286
155
226
202
190
183
133
130
222
176
335
236
236
154
206
131
242
145
202
206
229
210
182
199
217
221
205
240
133
194
178
182
228
143
222
173
193
176
179
240
201
164
122
201
229
230
206
133
167
182
184
204
210
133
221
194
210
220
204
176
188
210
173
164
217
165
153
210
254
189
209
210
129
158
181
214
297
170
168
130
146
162
129
180
146
169
174
222
204
169
216
246
195
227
185
184
162
115
141
202
155
242
255
221
264
183
254
129
238
183
143
235
143
187
130
220
250
195
171
130
141
155
200
193
172
205
231
115
205
267
217
256
228
159
144
229
177
202
138
186
179
129
233
256
164
194
173
179
138
272
183
199
211
178
183
188
200
217
129
129
122
146
179
167
139
176
215
147
208
279
166
255
157
184
177
212
146
189
179
242
202
247
122
202
228
210
173
170
166
129
173
176
173
237
204
210
157
196
173
191
183
146
264
201
201
228
274
185
141
266
176
225
227
211
176
209
261
152
230
187
173
235
208
151
204
133
168
158
201
206
164
143
203
236
194
259
210
166
204
145
241
173
214
303
132
190
238
191
129
133
185
190
181
302
211
175
201
171
206
215
191
235
215
192
184
158
147
205
206
261
168
175
220
176
129
128
184
189
146
229
193
230
133
182
133
115
130
225
192
239
143
251
143
166
263
183
238
216
213
206
145
182
173
188
225
147
168
119
217
166
173
162
228
210
208
183
151
231
155
217
156
232
157
178
156
238
202
165
158
204
225
203
168
182
211
176
223
186
219
208
182
143
250
198
173
206
160
164
130
178
191
219
181
217
162
210
197
129
281
235
191
253
234
176
173
176
146
176
249
198
164
167
166
182
217
218
205
199
214
205
171
184
229
183
218
261
212
240
228
186
205
206
197
286
192
184
257
239
202
217
133
169
180
150
130
207
178
132
197
146
335
159
205
259
200
259
230
210
199
217
129
173
217
191
250
236
193
233
210
129
173
178
169
188
130
235
186
194
168
176
174
199
188
251
146
245
241
115
213
228
173
186
163
144
150
194
138
129
181
173
245
220
184
247
185
166
190
166
145
159
190
191
239
204
179
201
193
198
203
217
217
238
160
196
176
173
217
200
230
190
204
180
211
238
247
178
281
146
162
161
176
200
157
130
145
158
252
179
143
178
153
204
200
182
188
186
207
157
146
265
195
146
211
206
244
132
146
158
202
259
237
162
239
129
213
147
202
239
173
204
204
143
173
146
232
129
146
198
200
232
256
180
173
256
180
225
214
167
162
201
238
155
182
187
115
115
197
195
242
162
158
129
233
229
192
146
173
182
234
129
166
157
184
258
176
173
259
262
210
169
167
122
204
254
263
130
166
160
201
204
173
172
145
173
228
146
129
162
146
205
201
236
138
208
258
200
179
146
129
220
180
222
204
115
130
204
249
211
176
129
180
204
210
230
193
143
188
176
115
214
146
179
122
202
236
219
215
173
230
133
162
229
230
159
133
256
228
182
182
146
231
191
203
246
197
204
188
272
219
233
228
129
144
168
287
203
128
146
191
191
236
178
230
236
239
143
210
185
165
129
192
196
200
243
150
145
201
256
228
206
265
204
183
176
231
143
225
183
252
150
146
278
237
186
153
201
237
185
181
199
182
239
173
157
200
233
157
213
252
250
162
188
209
303
176
219
183
286
191
157
133
162
155
184
191
146
122
217
165
169
183
214
291
216
204
201
210
238
219
156
228
239
202
197
130
221
230
171
198
237
210
259
164
210
225
227
263
192
243
115
129
259
144
287
210
225
221
191
220
242
227
230
273
218
158
237
181
168
184
236
260
129
165
257
184
192
176
264
132
133
229
282
167
236
209
173
275
168
240
129
252
206
158
181
130
186
130
207
176
146
211
191
176
144
211
214
301
179
197
158
152
186
182
231
130
172
161
203
155
191
129
240
191
230
200
129
184
130
130
282
171
233
184
221
230
155
129
258
176
173
268
198
129
158
158
146
262
218
216
176
129
199
168
130
185
228
158
154
173
225
239
259
210
171
174
141
242
246
130
234
194
166
146
158
266
146
210
146
199
173
208
146
179
157
153
204
265
115
183
207
146
231
184
143
178
132
185
201
133
210
179
213
193
181
217
253
177
202
231
188
198
173
264
182
145
182
296
151
194
207
197
287
236
204
172
115
156
270
129
208
130
183
181
214
274
180
229
258
210
149
183
165
130
187
155
187
236
227
168
143
205
196
172
266
242
151
173
186
306
174
164
145
191
210
173
133
179
168
129
201
245
173
273
205
235
227
184
130
175
257
191
146
129
153
130
130
215
173
129
195
202
129
156
210
130
230
217
207
273
183
340
200
236
213
176
155
211
257
235
188
162
115
198
168
271
180
176
222
198
256
190
184
224
335
229
145
173
244
272
183
173
206
173
168
215
204
182
178
132
234
200
130
238
201
133
146
266
170
176
206
226
201
176
204
211
179
194
160
206
167
216
130
256
203
185
210
217
180
173
211
219
228
202
180
179
173
205
179
237
204
236
189
176
155
164
230
294
207
173
162
283
176
149
207
129
156
193
187
115
194
183
145
196
212
207
129
168
162
182
218
156
184
162
204
130
156
315
185
181
191
215
178
191
193
208
184
188
195
168
184
115
192
253
133
208
228
180
206
247
155
143
208
230
262
205
178
130
138
261
184
210
202
186
174
162
248
133
156
149
252
160
173
195
169
232
230
176
181
179
225
173
201
166
183
143
129
141
214
210
130
237
206
185
172
239
220
130
159
176
236
238
176
129
208
209
203
143
153
238
250
179
159
266
162
204
231
146
199
191
173
168
188
190
129
182
245
239
183
186
145
179
184
175
173
201
212
155
164
178
155
180
209
160
214
211
179
158
201
192
240
230
183
152
173
183
217
201
200
222
250
164
146
210
180
184
129
254
204
146
206
141
182
168
203
197
219
191
240
221
320
181
204
162
145
186
176
203
164
150
174
242
260
217
212
267
156
209
146
212
234
145
173
130
216
156
170
159
252
225
214
169
216
243
210
210
141
197
173
159
180
173
200
155
150
158
231
187
151
130
253
261
210
185
217
203
149
201
185
180
164
225
250
174
184
158
230
241
184
204
202
201
221
168
166
198
200
191
148
138
128
270
158
164
166
211
141
204
173
204
165
130
206
180
199
213
250
145
173
176
179
263
211
231
189
220
141
128
199
272
184
202
183
138
206
234
170
212
146
147
227
133
150
214
143
219
143
206
130
204
212
191
130
138
260
187
156
217
179
258
191
211
146
274
130
206
130
176
232
181
184
173
217
169
188
201
129
192
241
155
204
236
191
217
162
183
210
168
186
167
162
143
175
182
180
176
235
168
130
191
176
166
275
208
274
217
222
176
155
198
185
245
247
146
138
219
146
155
277
206
227
205
215
210
184
224
161
207
184
182
214
162
138
182
255
243
162
133
201
175
178
156
213
203
203
122
258
217
196
309
199
146
159
161
173
200
242
164
238
147
209
150
162
206
132
235
204
205
188
264
213
146
238
178
183
210
201
130
217
177
150
186
156
221
202
258
210
145
215
179
143
217
182
212
204
227
231
203
144
179
130
185
164
177
231
129
211
200
221
147
168
161
201
157
247
119
189
240
149
244
239
180
247
228
115
236
239
211
164
211
133
236
202
179
152
183
165
158
182
217
237
130
263
246
184
184
190
179
218
209
115
211
129
206
130
296
169
185
160
200
171
174
272
193
251
204
179
269
141
207
130
176
227
176
129
262
185
173
198
169
129
181
200
145
219
210
179
216
167
122
231
201
246
138
131
244
184
264
146
252
195
167
190
173
228
146
166
158
192
212
191
156
173
281
200
194
190
195
169
295
130
128
212
228
176
180
274
224
164
130
204
180
239
129
122
181
162
191
202
217
152
178
161
177
228
191
166
201
215
185
223
201
258
168
190
212
210
122
146
130
143
213
179
180
300
130
211
164
122
208
217
162
180
195
159
203
143
160
176
265
199
173
222
151
204
156
150
181
209
254
236
162
130
211
192
258
264
199
210
275
187
182
173
233
164
173
158
179
185
168
217
129
231
230
250
219
202
238
217
196
221
146
195
156
162
182
203
146
187
190
258
176
209
210
119
223
191
186
294
230
230
206
171
176
195
162
178
210
178
176
158
146
164
173
146
187
133
250
164
163
158
201
232
219
176
122
191
191
170
193
149
171
129
143
141
230
143
155
173
179
164
243
159
247
283
215
178
209
156
155
202
203
242
202
176
210
163
249
179
294
210
210
155
129
188
160
230
182
200
129
191
281
239
231
164
221
138
191
168
130
236
202
179
191
230
192
197
216
273
171
190
166
163
242
171
208
171
153
209
251
173
183
186
228
206
235
153
263
180
167
130
244
180
189
195
204
128
183
254
210
192
150
170
178
245
200
115
133
239
227
200
225
212
221
230
145
145
159
255
224
231
222
230
169
122
160
260
198
216
150
212
260
183
226
188
240
194
155
206
191
167
166
248
153
248
236
194
209
215
217
224
300
191
185
209
245
145
186
146
209
174
182
240
238
199
203
129
287
179
193
210
122
184
220
236
204
207
168
146
200
202
129
129
208
261
235
129
196
179
201
169
198
152
221
155
238
218
143
203
209
239
179
230
181
234
260
173
258
168
218
216
261
164
174
129
143
258
211
176
217
146
239
176
155
211
146
171
172
262
179
270
204
141
149
184
150
202
202
167
130
182
173
201
180
160
244
187
221
225
183
231
204
254
173
269
182
236
173
204
173
252
244
209
173
179
130
244
274
204
264
221
202
197
210
243
240
203
231
203
250
244
238
216
168
173
200
249
164
208
164
143
179
230
250
153
195
215
204
175
246
184
170
211
168
206
254
157
243
132
173
186
170
218
141
190
211
217
302
238
146
224
184
207
143
254
219
168
249
141
173
175
206
208
179
168
193
200
145
221
130
202
230
145
213
193
132
217
173
215
212
184
205
129
183
185
193
202
213
241
129
200
196
335
130
213
202
143
230
186
171
203
228
173
255
185
217
216
185
162
156
145
149
204
199
156
277
180
210
245
208
175
197
232
152
115
229
175
173
190
217
200
214
169
236
222
156
217
193
187
129
187
129
217
168
224
176
146
176
149
222
236
214
167
184
168
188
233
179
133
204
201
233
162
175
183
217
156
179
232
183
193
206
215
211
194
164
185
130
225
180
204
183
185
178
224
130
209
201
185
196
226
194
186
264
176
130
249
262
146
183
202
211
164
180
217
150
262
184
176
152
207
177
261
218
179
197
180
176
162
217
281
146
130
159
204
235
212
157
146
164
164
218
168
237
133
146
141
238
130
183
182
146
181
204
164
243
202
179
232
155
232
238
160
161
227
131
129
190
180
191
166
186
130
180
184
166
329
217
240
232
133
239
202
141
212
176
191
164
129
130
208
240
257
184
190
184
143
235
246
203
146
133
206
160
188
162
198
202
158
210
129
280
239
184
194
146
155
200
210
165
201
129
217
189
202
200
214
171
211
183
217
207
178
179
179
146
238
227
212
164
172
130
214
138
170
210
270
230
230
179
210
191
202
133
200
115
146
164
160
209
173
161
198
201
215
133
241
234
168
241
141
197
188
229
189
155
174
196
206
204
183
303
217
162
184
115
202
242
288
207
243
215
221
141
283
204
176
180
247
167
201
258
201
297
205
156
264
141
176
170
229
146
162
318
214
210
211
211
162
143
274
188
228
160
261
231
203
184
203
202
175
176
268
177
145
230
292
143
245
146
230
233
211
162
178
180
200
206
151
184
232
115
265
243
263
130
236
161
143
184
225
130
204
204
132
234
186
203
171
183
237
209
206
129
146
162
160
160
202
195
173
145
183
209
169
194
173
179
181
178
202
122
138
235
132
130
115
171
211
217
211
183
185
191
204
211
303
143
187
161
264
130
155
176
163
194
281
184
228
176
201
171
203
268
203
274
130
188
231
228
150
258
180
229
204
187
141
173
210
218
174
115
129
133
133
181
201
160
217
129
174
153
195
186
151
146
115
258
183
179
288
211
174
169
200
236
155
200
182
191
256
236
188
180
178
128
130
202
192
210
236
197
132
179
229
248
255
210
248
264
201
130
155
190
170
173
176
194
246
206
162
247
122
243
297
181
156
195
138
144
188
172
202
173
173
161
204
128
202
248
168
179
209
201
241
231
173
182
178
130
234
202
146
186
261
246
193
158
234
155
219
253
173
170
172
191
286
172
234
173
153
248
227
217
173
230
262
193
237
208
166
218
173
133
204
256
130
145
204
199
176
146
210
203
201
194
172
200
211
217
247
159
211
145
156
145
129
168
173
209
163
210
210
122
178
200
162
265
209
202
281
145
201
215
210
211
158
282
230
173
191
230
167
151
115
175
210
231
173
190
130
241
162
146
247
130
193
165
188
248
162
188
206
229
266
211
202
155
187
166
184
244
174
129
193
128
194
257
168
270
169
247
158
162
217
211
184
283
173
175
152
167
145
235
181
204
185
213
263
229
173
256
192
176
209
203
223
233
227
130
217
184
204
259
191
238
225
213
273
194
184
249
173
229
206
264
241
277
145
176
210
214
225
173
130
271
218
145
179
234
173
183
201
204
229
146
189
185
155
182
181
185
210
181
229
164
231
170
218
143
263
178
230
184
202
143
146
236
145
143
207
253
132
268
244
178
204
146
236
133
201
258
227
169
138
168
129
130
264
173
178
210
325
203
193
172
202
206
165
187
222
226
208
153
179
360
302
160
198
216
262
236
238
129
183
173
168
162
170
225
150
234
200
139
199
129
193
249
224
156
191
230
187
189
189
186
157
161
222
203
197
122
162
172
115
236
133
143
150
115
281
224
169
153
130
156
202
203
201
230
294
129
143
194
226
188
186
269
192
179
264
172
146
173
232
182
230
146
255
205
150
240
283
217
183
128
184
208
188
191
145
191
206
194
144
194
192
133
158
201
228
208
168
202
250
191
226
217
167
173
164
169
192
129
217
115
148
195
181
160
160
200
205
222
149
200
217
130
167
152
239
182
244
211
176
180
182
262
163
224
204
231
227
155
224
236
163
176
206
238
182
207
247
279
209
206
239
204
214
241
210
236
130
143
243
138
209
200
138
211
176
215
190
172
184
186
201
256
152
176
187
209
262
211
219
129
181
188
145
146
168
235
198
173
178
182
164
193
164
164
158
184
245
238
146
129
222
193
122
158
254
172
150
235
299
184
207
186
146
201
211
161
202
264
205
191
286
173
184
146
244
228
174
130
239
155
201
247
292
168
161
173
168
209
246
130
203
163
210
186
241
187
217
187
173
122
213
230
129
189
144
166
160
180
115
216
153
159
158
244
154
218
203
168
184
206
197
254
226
204
191
168
200
151
212
204
133
212
201
209
191
239
146
183
164
146
115
141
286
146
217
141
156
172
279
173
231
198
203
143
170
143
200
281
204
193
216
183
228
252
182
129
226
182
172
173
146
199
133
196
278
205
115
163
133
212
179
211
246
155
174
215
165
176
176
181
185
159
210
157
217
143
173
251
214
207
133
186
271
282
168
216
216
150
172
129
176
202
259
210
176
146
193
143
164
263
186
257
146
210
244
183
293
184
184
168
169
129
176
173
206
221
252
130
210
264
173
182
214
226
169
206
163
184
167
218
203
213
215
130
133
150
115
189
215
204
183
182
133
223
189
180
173
133
273
187
164
216
215
201
160
178
210
269
146
194
203
204
212
218
210
172
133
217
147
191
173
164
230
179
141
171
213
164
129
198
183
191
150
216
221
210
185
218
204
259
279
184
208
179
282
166
171
213
173
197
230
170
194
308
179
236
204
156
180
194
130
176
199
193
215
255
236
143
172
203
239
169
215
182
150
168
180
206
214
266
216
159
176
160
145
164
183
130
283
146
205
189
188
183
174
169
261
247
133
193
253
253
201
158
176
260
205
202
238
204
275
183
182
133
246
217
202
130
175
178
162
225
185
173
218
130
173
209
167
211
287
214
262
201
178
198
170
222
160
129
183
257
181
222
259
115
192
201
129
266
143
255
236
187
176
195
173
168
162
209
239
182
129
211
233
184
133
179
202
222
132
234
219
185
214
205
179
225
179
158
191
201
225
133
213
206
235
217
189
219
187
146
184
232
182
202
173
157
245
193
231
146
191
218
173
168
183
209
168
218
215
129
238
173
152
157
146
191
195
231
220
130
129
221
204
205
218
245
167
130
145
211
201
221
210
150
182
150
173
130
192
261
130
192
250
184
168
217
144
130
247
174
204
204
279
183
182
144
179
173
115
251
270
248
164
216
219
151
115
204
217
210
236
182
158
155
250
129
193
146
221
130
192
242
210
238
228
182
176
186
133
143
146
173
130
176
128
195
179
119
122
173
272
204
225
204
192
172
209
211
130
130
194
229
222
178
210
228
238
132
178
178
191
206
186
231
172
187
210
176
171
212
217
166
184
215
217
239
195
179
197
184
268
203
213
252
200
218
217
273
176
173
200
141
166
287
217
173
208
128
173
229
245
211
156
150
176
174
207
129
199
171
179
209
164
161
182
194
115
199
258
186
229
237
187
179
226
262
200
183
156
173
201
191
132
246
248
217
162
240
231
168
207
299
190
219
205
238
204
128
182
172
214
145
146
218
185
181
156
176
156
217
173
146
228
222
195
129
141
145
230
181
238
217
184
215
155
179
156
164
236
181
122
157
240
246
206
210
129
181
176
168
146
231
193
266
162
208
191
191
217
218
182
208
185
146
179
263
240
171
183
208
283
133
257
183
211
129
190
234
206
278
193
186
145
200
185
202
248
129
166
231
186
200
209
173
201
162
115
156
173
218
204
173
206
255
176
129
221
256
168
173
179
171
204
130
173
155
174
130
169
195
169
182
210
254
222
155
248
179
204
222
176
225
230
299
209
256
129
183
210
206
201
143
208
230
129
208
229
153
240
287
186
229
222
204
176
146
215
212
129
190
252
141
234
311
176
210
202
266
201
146
201
188
146
229
239
173
143
178
218
179
206
204
161
238
176
209
164
222
231
210
264
202
194
193
130
173
215
230
175
235
143
130
143
198
234
176
176
217
115
162
191
233
166
192
207
256
202
190
266
179
146
173
194
240
307
286
146
191
194
190
201
194
138
229
152
195
182
222
227
179
130
218
209
208
226
115
210
222
252
181
162
239
138
129
184
170
172
129
241
178
176
188
199
221
170
221
176
206
179
187
229
146
216
176
191
201
193
225
239
180
225
260
143
178
183
200
261
169
176
221
275
227
182
211
162
230
256
228
215
129
146
164
190
145
220
234
253
210
173
145
158
204
173
194
198
151
129
164
278
217
173
181
166
202
210
178
180
209
198
234
211
211
212
186
164
133
115
198
250
147
173
166
262
145
201
185
173
146
143
174
202
195
166
166
191
195
274
264
173
161
171
143
270
210
176
179
156
206
247
182
230
222
166
156
157
230
146
146
278
146
265
173
210
211
179
287
151
165
202
155
247
200
171
252
129
188
193
221
130
245
234
296
158
164
160
161
204
218
218
230
230
202
230
200
158
204
242
192
129
174
216
214
130
146
155
256
177
172
176
169
249
179
168
214
258
212
207
303
189
232
178
157
130
217
206
200
129
130
232
238
188
133
208
228
216
187
182
211
205
143
191
230
213
182
181
179
244
211
130
115
231
204
207
185
213
159
177
184
262
178
174
171
236
227
236
173
150
205
151
150
156
115
129
173
176
230
271
182
236
150
199
145
146
222
236
210
162
202
166
150
122
182
258
204
258
251
174
158
197
170
130
171
253
229
178
211
145
130
232
164
178
208
226
176
130
251
205
184
129
159
231
146
213
177
190
137
211
129
143
256
229
164
179
145
199
202
225
203
202
210
288
208
216
130
183
178
218
238
183
199
171
129
222
179
162
264
201
184
182
150
173
188
129
179
236
164
164
147
184
224
176
234
193
224
146
225
275
146
217
133
169
275
189
183
182
223
178
172
215
202
180
211
237
287
189
183
145
202
183
178
146
129
228
261
212
187
129
149
181
167
216
237
176
266
296
185
201
130
248
232
225
252
173
200
146
261
182
278
122
151
234
170
204
200
260
201
230
252
176
264
130
194
151
239
194
166
207
146
321
235
230
196
213
222
158
183
207
217
229
122
210
233
129
210
219
143
161
238
226
236
264
271
132
201
152
176
176
143
204
145
143
242
187
191
185
261
187
182
221
164
145
128
196
173
231
187
256
160
173
156
148
204
216
205
160
130
218
211
173
202
266
229
211
146
214
183
206
184
161
138
177
200
237
240
176
183
138
173
196
172
190
130
162
156
246
287
263
164
204
269
201
160
166
202
181
130
230
198
186
216
212
170
226
177
146
164
173
197
230
130
180
184
180
236
146
191
176
164
300
222
196
191
202
204
191
204
179
166
130
164
167
173
170
191
204
224
257
225
238
129
201
210
223
164
130
199
253
182
173
202
193
215
191
208
184
143
205
202
206
200
243
153
216
143
209
243
175
119
226
230
185
173
265
247
158
138
257
212
203
210
253
186
166
143
207
283
178
146
244
205
212
238
232
190
216
204
204
317
129
275
233
145
164
173
115
174
148
260
199
202
228
200
211
146
280
218
238
224
164
173
130
230
185
189
161
174
179
184
176
177
180
262
195
180
168
141
169
216
230
280
162
174
166
259
229
179
146
200
146
183
184
198
266
141
172
185
133
179
174
174
141
170
227
173
209
152
176
195
204
239
248
249
230
216
181
184
173
228
236
143
228
115
183
173
254
216
156
152
170
148
204
267
181
185
214
122
184
129
138
185
181
204
192
141
158
210
182
176
209
206
204
204
146
230
146
255
173
246
183
233
218
169
179
167
184
185
176
176
233
146
198
156
241
210
175
146
146
188
158
179
176
173
232
189
189
178
119
115
197
166
251
164
149
273
170
204
164
261
151
204
217
129
176
182
146
162
119
249
143
215
162
180
143
184
192
201
176
181
275
185
182
195
243
230
156
216
222
214
188
162
173
176
173
218
200
173
146
210
166
146
205
201
199
155
185
203
235
143
188
166
162
162
206
180
204
229
143
231
270
200
210
130
206
206
212
222
262
242
182
210
132
222
176
129
227
217
184
217
160
186
128
235
191
224
206
191
176
130
115
194
226
166
189
190
188
172
261
146
133
202
187
133
158
146
162
184
217
283
155
240
194
204
175
240
133
217
173
163
155
201
184
176
164
146
185
251
177
238
213
243
176
274
268
253
203
129
183
204
179
182
182
184
149
147
208
132
216
200
157
229
197
236
194
146
162
214
270
184
225
216
173
175
130
237
176
130
172
162
115
130
274
275
233
171
180
194
169
203
183
190
132
129
246
205
185
242
254
192
168
192
133
181
188
218
239
147
206
203
195
158
221
115
146
219
206
227
255
150
211
204
240
223
158
184
188
187
176
224
130
173
162
201
153
249
166
186
170
143
188
144
219
198
258
197
211
175
192
199
173
184
302
219
222
226
156
175
242
218
201
156
202
204
184
115
172
247
188
129
171
199
192
235
188
169
213
191
146
173
130
300
219
154
130
146
176
211
209
184
200
238
203
207
255
195
238
235
162
235
162
119
241
189
130
183
146
217
161
169
164
166
189
206
146
179
213
173
222
176
130
161
214
146
226
219
129
225
206
225
145
187
189
224
222
159
183
217
245
115
222
152
145
149
232
192
172
175
221
171
146
175
205
181
146
174
238
201
181
183
200
156
166
213
204
130
209
197
201
247
160
193
129
146
149
144
210
205
231
143
185
115
222
231
146
176
152
217
173
194
174
194
179
187
141
173
209
176
273
184
195
148
160
217
233
209
193
257
180
261
179
263
228
204
200
211
195
182
174
198
146
130
202
193
230
144
289
186
206
183
162
173
258
185
156
237
183
215
143
246
220
231
132
168
200
234
182
151
206
211
236
115
225
146
216
200
168
249
186
214
192
217
174
130
264
183
227
181
173
129
146
145
205
185
205
243
212
173
215
205
196
176
169
205
146
205
218
237
300
214
182
201
184
130
178
184
145
227
161
164
173
189
236
275
144
167
129
157
194
211
206
198
176
258
230
168
193
157
254
173
217
210
185
143
209
213
215
210
146
228
194
202
129
164
211
244
264
207
162
283
164
194
168
173
222
162
192
162
169
129
236
198
176
240
202
143
145
133
216
267
225
204
210
213
235
150
246
216
246
189
208
162
209
243
202
227
201
173
214
156
191
146
184
277
239
201
176
245
176
183
147
216
201
146
192
184
207
184
166
217
115
129
129
176
187
207
172
187
181
230
212
226
279
190
162
217
207
182
202
189
165
133
202
217
227
173
179
248
175
176
146
288
248
207
173
258
145
231
174
176
201
224
191
215
143
186
217
153
181
150
133
236
204
219
226
223
209
183
237
226
216
168
166
130
223
147
229
246
194
179
176
211
202
176
257
189
225
254
240
208
225
131
219
227
201
210
233
180
222
191
218
184
141
191
166
206
238
206
189
218
149
204
170
205
259
146
129
242
193
192
215
228
188
129
161
129
181
210
183
179
130
203
200
199
239
191
179
254
191
208
173
178
217
226
242
183
146
181
209
162
185
182
262
191
174
133
264
164
184
168
209
152
239
228
246
153
201
275
188
204
146
160
250
129
231
194
129
230
166
217
196
228
178
146
200
155
115
229
180
187
201
244
222
143
191
162
190
147
204
151
176
176
184
225
146
204
187
162
236
174
169
174
115
218
235
143
182
204
238
122
204
184
227
193
146
218
141
178
184
188
158
227
176
242
191
247
162
193
237
188
176
206
176
261
209
208
241
178
233
130
164
207
204
228
180
244
256
197
173
129
270
228
216
192
206
166
283
238
176
242
170
143
158
173
182
205
129
167
200
129
165
156
146
205
238
209
299
206
180
230
210
216
247
210
219
158
209
115
146
122
192
189
226
191
183
148
130
200
199
179
218
207
226
195
143
231
178
183
184
243
146
156
169
200
172
283
256
221
221
145
188
201
204
219
185
176
191
155
194
176
353
133
197
184
217
203
215
188
196
244
263
189
216
232
207
224
115
235
233
222
272
213
138
129
188
217
217
158
163
181
170
169
211
202
130
201
129
210
245
204
146
220
130
224
300
270
215
173
210
133
188
197
183
216
267
164
208
162
130
187
182
162
217
232
185
181
156
186
206
236
262
171
238
215
169
204
129
176
182
217
204
160
216
115
133
207
133
160
160
183
129
261
243
199
191
184
173
225
200
133
145
149
167
243
129
195
202
183
200
203
119
190
115
201
143
211
246
199
195
130
259
170
195
133
128
240
258
212
222
164
246
199
182
173
188
143
166
217
145
130
191
130
153
201
200
156
204
238
247
199
146
189
303
158
173
122
204
238
267
203
178
164
149
176
167
189
212
185
181
261
175
261
231
204
200
237
193
190
207
129
173
229
185
187
207
178
229
162
115
146
164
168
199
184
173
176
183
149
166
168
155
239
143
210
211
129
214
200
169
230
185
225
219
194
230
244
168
194
176
192
179
251
221
233
183
208
234
214
133
173
158
162
190
160
138
180
182
176
204
185
219
150
179
183
244
218
168
245
141
191
185
146
178
180
129
200
170
223
182
228
130
285
155
273
156
150
173
184
202
193
145
150
201
210
146
189
188
149
156
146
192
124
210
201
220
146
149
129
238
172
158
146
214
203
335
175
231
234
122
193
197
133
193
200
238
245
186
191
191
225
193
204
129
190
198
217
171
144
160
217
186
206
247
217
188
248
173
224
204
191
210
143
167
217
195
202
170
194
156
184
168
221
204
133
230
204
133
204
193
198
164
199
168
186
199
210
166
286
153
149
225
200
184
194
144
280
178
255
167
190
199
130
193
164
203
236
195
185
166
146
147
204
179
168
187
190
129
160
174
164
247
204
181
180
146
194
229
176
168
176
234
146
206
206
237
217
150
156
192
201
189
175
210
130
194
184
181
143
150
167
201
175
143
259
188
231
129
231
252
230
204
115
173
159
272
145
129
178
168
189
185
161
177
164
162
212
204
234
242
183
157
217
174
202
176
180
225
182
222
174
204
200
129
176
143
141
130
188
255
151
185
194
141
188
199
143
174
122
203
212
210
210
166
130
160
210
198
170
198
181
205
200
202
204
217
183
212
291
204
262
122
179
151
188
215
192
182
210
201
176
166
179
177
188
164
277
190
177
159
197
147
250
230
250
241
176
147
335
146
133
146
225
238
211
169
242
143
210
173
214
217
184
188
146
233
216
274
156
206
129
221
181
150
162
181
210
254
129
191
129
206
165
185
160
184
201
181
241
210
164
150
212
283
179
189
143
183
251
187
211
201
158
115
204
241
296
164
179
169
129
201
162
210
239
160
146
221
129
129
173
158
204
178
236
143
211
216
214
191
204
230
207
179
158
258
210
130
211
156
244
263
210
217
189
146
210
176
169
176
141
208
227
176
214
173
150
145
247
143
147
200
133
274
194
261
178
143
164
122
146
245
233
221
231
189
145
143
249
168
129
165
130
176
210
141
173
173
209
211
207
130
200
216
206
195
227
180
207
171
186
143
261
210
133
277
122
210
210
229
168
214
212
211
195
259
231
264
181
231
158
194
229
204
115
178
199
174
204
215
205
204
277
195
130
168
225
212
209
164
156
161
148
176
256
133
217
130
272
146
146
230
222
163
206
195
176
183
206
216
186
191
171
170
161
180
143
165
180
218
238
238
156
129
160
185
173
176
130
172
173
221
233
227
130
160
234
228
178
227
222
205
185
244
206
173
248
233
203
215
211
274
304
261
130
169
184
169
239
184
197
195
169
167
176
240
242
206
130
184
209
204
202
168
129
192
147
233
161
122
227
179
204
251
176
176
309
164
193
209
217
183
200
206
167
155
274
187
189
156
173
183
192
188
247
216
155
192
214
184
147
155
150
191
188
145
158
130
162
211
200
191
211
218
217
206
177
203
219
184
215
173
230
225
141
129
133
198
189
115
184
204
254
130
228
222
181
158
214
191
185
180
237
259
158
265
286
278
201
203
141
184
164
183
130
257
149
227
302
208
175
173
151
211
158
162
205
158
214
173
221
184
168
231
170
168
204
145
204
217
189
185
210
257
184
177
139
158
236
185
181
146
219
236
335
189
217
188
176
189
204
206
181
228
185
173
217
159
204
206
180
214
213
151
264
210
211
179
122
227
151
211
303
153
208
176
246
145
201
145
183
168
242
146
173
197
274
145
201
230
204
202
146
122
129
155
228
204
119
200
229
174
184
230
246
176
129
207
260
156
203
204
176
230
129
172
146
217
166
195
173
174
176
133
206
159
204
182
157
215
130
221
202
130
150
205
191
143
238
176
194
167
204
143
176
155
172
130
188
214
211
172
187
335
207
196
119
214
192
165
129
172
217
187
173
183
205
191
143
311
129
168
212
146
228
130
141
133
129
173
178
207
141
183
229
146
343
202
267
152
170
237
192
175
218
176
189
160
242
146
130
146
132
159
265
211
162
181
195
141
162
204
174
198
166
173
217
196
158
175
207
168
222
201
261
150
204
248
208
223
181
153
194
201
191
156
227
237
217
195
231
183
134
237
145
173
162
265
228
223
115
187
220
143
220
237
230
115
152
173
206
179
156
204
169
162
173
229
285
259
119
204
173
224
169
203
239
218
190
151
143
191
297
184
170
190
199
204
141
230
206
180
174
182
195
210
221
147
203
185
133
173
239
166
173
208
182
173
194
168
130
230
194
206
128
200
193
168
141
176
170
168
176
173
167
217
252
167
115
219
184
197
230
193
173
141
191
228
162
179
307
234
212
164
228
133
200
242
184
206
209
186
192
143
168
173
173
132
147
264
204
146
180
173
210
287
168
210
214
205
191
210
204
122
198
178
130
174
146
173
158
218
164
217
187
235
210
159
202
175
155
138
200
157
176
177
179
200
177
182
227
157
167
158
169
129
231
205
214
202
166
173
202
176
211
186
204
158
168
217
176
115
179
183
222
162
173
191
173
208
200
201
263
263
211
129
189
209
146
243
184
261
204
242
247
237
174
145
217
221
242
221
204
119
187
186
183
236
141
129
173
254
230
152
130
215
173
171
201
210
203
210
146
162
170
191
180
133
129
217
202
158
280
166
214
160
241
162
168
234
129
210
183
138
201
191
178
197
204
156
169
214
160
162
201
164
162
201
266
221
264
155
280
166
164
130
174
236
208
204
248
228
191
210
176
171
138
301
195
137
166
237
315
231
202
217
225
182
233
157
158
239
158
236
204
168
129
187
129
166
191
133
204
166
147
141
190
155
232
191
140
188
335
205
129
200
166
195
250
221
202
225
217
171
178
206
210
206
161
241
189
259
259
145
179
176
210
181
201
200
201
204
146
145
211
146
204
201
179
185
280
211
259
172
176
188
241
211
141
226
146
210
160
239
217
218
246
186
229
184
168
158
175
210
212
183
179
284
166
230
176
129
197
206
173
214
237
198
181
192
221
228
146
252
171
207
196
236
198
187
238
176
201
241
186
284
173
133
281
130
195
238
181
218
173
133
195
179
150
211
259
158
214
191
185
235
245
175
130
209
207
207
245
176
233
173
129
250
247
267
183
189
165
253
265
133
302
168
173
247
130
129
182
146
182
182
174
168
191
201
237
188
198
186
138
145
179
195
263
287
230
206
197
130
182
157
173
181
158
162
238
130
206
157
225
233
176
227
244
275
178
156
143
133
145
130
200
150
169
230
133
166
262
204
204
207
179
195
168
162
225
258
157
153
129
204
168
202
325
222
165
132
214
236
206
173
195
212
240
218
130
209
211
185
211
183
173
191
180
256
191
166
217
210
239
162
184
178
266
264
199
176
158
156
183
185
209
180
182
219
238
216
173
218
222
191
228
212
162
176
202
174
146
222
191
146
187
189
233
129
148
184
198
179
178
182
201
163
218
176
211
157
148
155
202
239
221
217
190
187
211
147
238
173
141
204
178
181
157
230
192
188
170
176
176
200
210
216
173
237
214
214
227
183
249
231
188
133
190
258
167
145
203
157
168
181
130
186
130
186
274
181
179
146
235
172
230
225
192
183
161
227
218
215
168
245
241
183
219
179
205
129
245
176
165
180
129
156
163
204
181
199
145
173
200
168
192
176
204
182
179
176
173
188
160
181
173
217
217
248
187
214
176
208
225
168
232
179
220
129
238
204
206
143
204
258
235
173
273
200
204
173
167
225
180
184
217
226
152
218
217
173
163
255
211
147
235
185
191
129
210
158
197
122
209
180
187
144
223
213
241
238
130
173
145
133
262
151
255
128
216
230
151
222
176
190
173
185
184
210
264
130
204
177
241
197
232
185
180
133
217
267
194
230
153
178
208
201
131
173
168
166
227
216
227
146
158
199
225
157
182
239
228
196
208
169
181
130
180
182
218
230
146
211
277
221
133
149
153
184
150
197
252
201
133
133
179
197
176
190
145
178
166
257
182
187
222
190
168
146
149
230
158
215
129
196
164
166
149
184
129
192
185
183
225
242
204
286
184
236
130
204
218
202
141
176
186
129
194
186
176
181
130
215
162
174
129
230
167
241
162
129
178
191
208
229
201
199
216
201
241
197
200
175
164
249
171
146
153
178
162
188
242
187
129
189
182
164
162
274
245
174
263
250
168
133
158
207
232
225
253
178
155
262
176
216
269
157
204
300
184
227
228
164
179
115
238
276
138
194
159
178
247
227
176
147
147
201
236
209
184
215
189
210
234
214
209
214
188
226
232
129
207
174
246
130
115
178
165
192
155
211
226
205
255
201
146
156
130
149
168
179
238
194
179
195
245
230
212
176
164
202
218
253
166
250
202
205
138
227
194
234
210
272
164
183
217
170
246
266
165
246
171
158
212
213
232
146
164
144
191
138
201
132
176
237
193
212
204
183
197
180
222
164
170
243
225
233
176
133
173
133
189
155
222
236
160
208
177
184
167
160
178
179
227
160
222
237
245
190
199
133
179
186
133
158
289
218
146
197
195
204
150
226
211
181
225
149
240
186
155
223
192
180
208
215
185
181
145
173
133
133
130
129
210
147
206
202
157
176
188
173
199
167
129
188
264
191
231
171
200
203
224
178
210
133
149
158
180
223
234
210
164
149
204
234
150
173
191
164
202
263
236
176
201
211
193
221
179
199
252
218
233
261
191
295
141
188
238
192
194
229
205
225
216
262
130
227
203
266
188
176
185
257
204
236
214
173
195
182
167
164
255
212
214
254
204
205
214
209
146
204
252
169
162
226
173
180
192
122
190
186
236
181
144
166
211
225
210
228
129
230
178
166
130
190
191
199
173
202
181
224
190
219
264
179
183
129
178
173
199
178
173
202
194
176
236
292
204
194
190
208
300
195
145
204
181
168
209
204
188
166
199
230
194
168
195
202
166
261
242
188
133
155
267
202
158
279
115
196
151
150
191
193
207
264
206
225
178
143
161
182
158
244
155
130
228
168
130
185
210
146
257
228
193
294
181
129
216
176
200
146
201
244
182
119
176
150
188
173
210
233
160
200
162
143
203
169
199
145
158
146
180
204
179
249
130
141
146
176
129
143
145
162
183
210
265
199
218
150
228
194
236
207
192
156
143
221
251
239
210
166
237
183
239
130
212
183
216
194
194
146
222
129
144
173
204
254
261
232
283
186
170
230
229
201
173
316
176
156
192
122
115
182
195
217
173
182
182
176
151
186
164
200
187
178
204
223
206
176
201
227
210
231
222
262
208
187
260
270
158
181
210
184
132
202
133
176
187
213
185
191
228
202
159
157
115
130
173
232
261
146
155
256
215
133
178
129
115
216
166
129
173
202
115
169
151
150
254
247
155
158
232
219
191
133
236
129
183
258
206
224
129
201
192
191
202
207
188
184
164
238
146
199
145
149
195
240
211
151
155
187
168
229
158
206
180
174
129
217
179
184
200
251
191
201
304
169
185
239
176
249
196
216
133
218
168
225
242
149
150
211
200
192
162
173
230
218
175
204
160
160
129
133
191
224
122
202
174
157
248
180
115
186
158
189
129
211
299
301
288
179
222
199
130
129
145
310
256
230
203
217
202
209
233
176
271
158
210
133
129
195
186
146
296
160
133
146
156
241
182
248
143
227
216
155
238
206
130
195
296
141
189
222
181
225
167
183
198
143
133
155
183
173
222
168
214
122
222
244
239
183
162
210
224
169
208
143
210
201
229
200
246
141
255
170
265
185
173
184
190
155
235
130
195
184
182
203
261
173
156
251
162
183
250
201
280
199
202
157
171
185
198
229
217
187
213
210
250
184
176
130
171
182
217
155
166
237
218
181
227
238
203
204
151
129
158
230
210
188
158
162
173
129
215
211
165
183
222
270
173
115
217
176
164
133
172
173
129
179
115
201
143
184
129
173
176
130
168
176
129
119
210
183
197
151
186
214
164
150
197
212
146
207
230
173
176
223
202
133
191
158
176
196
231
185
191
249
132
188
160
138
178
145
235
210
182
171
189
251
194
133
173
211
218
173
166
205
169
205
212
187
174
208
195
155
133
143
162
193
144
186
115
253
223
201
212
175
209
202
166
195
204
153
184
180
157
149
185
178
164
283
232
162
176
169
146
191
231
222
133
179
262
177
209
201
184
186
206
215
173
216
225
186
213
181
158
214
177
210
233
184
230
160
150
130
193
249
150
191
177
115
175
184
133
206
235
239
156
227
129
184
172
231
157
146
217
167
275
239
129
206
146
166
204
335
264
185
264
187
164
145
129
203
168
199
178
182
212
145
138
171
128
206
158
248
246
179
201
244
188
202
193
218
176
202
188
158
189
166
189
184
231
156
204
200
152
164
176
253
222
200
173
156
161
201
222
252
130
200
173
257
192
176
210
191
210
203
217
130
235
167
210
257
258
143
133
179
192
252
202
203
146
240
176
207
130
185
235
188
230
193
172
185
289
130
204
162
208
206
200
193
195
201
182
245
180
143
171
146
189
230
210
167
172
277
229
216
204
198
222
180
129
211
173
158
248
130
173
158
238
146
179
157
234
143
185
169
130
204
180
162
143
195
183
178
179
225
272
214
252
115
176
225
150
145
204
263
133
150
185
261
174
156
160
166
200
224
156
255
225
129
222
246
160
185
201
211
241
243
166
153
256
240
234
204
146
211
192
174
240
204
242
210
206
173
238
181
149
257
164
210
185
191
175
129
207
182
130
180
228
219
168
210
129
189
130
256
204
141
115
181
176
197
204
173
143
162
143
157
183
160
238
238
162
164
158
170
162
186
207
175
115
192
191
203
230
143
147
182
158
204
199
129
211
242
210
246
192
153
261
217
204
130
193
179
175
146
165
234
217
227
250
166
225
213
212
183
215
258
210
119
176
210
229
143
187
172
277
188
158
179
129
139
178
185
229
228
178
122
247
189
143
185
220
191
285
204
213
166
115
204
182
248
168
296
230
209
167
223
146
156
146
203
166
158
194
152
224
228
168
200
184
251
160
143
176
138
167
151
149
220
158
184
246
184
130
146
153
145
191
164
129
183
173
146
157
208
143
129
168
246
211
182
129
179
164
223
208
145
182
164
187
208
173
204
198
115
157
137
219
145
210
187
188
239
180
180
262
133
173
130
171
133
188
217
224
247
145
272
185
184
206
168
185
166
218
181
192
156
274
236
174
169
192
181
192
230
181
180
181
152
195
202
212
176
178
185
157
225
129
182
129
191
191
129
261
179
156
250
200
201
156
177
207
222
182
133
162
296
183
220
119
287
150
175
129
115
196
146
200
189
255
225
182
242
223
260
173
192
189
150
213
146
176
130
156
173
178
239
169
179
190
209
159
252
232
149
173
240
129
204
146
204
173
244
170
216
186
214
202
249
238
158
145
184
289
168
168
213
174
201
167
246
236
211
180
230
168
145
143
133
190
240
228
130
204
184
173
129
249
173
119
260
192
212
210
207
176
244
255
277
180
272
218
157
187
165
130
161
202
236
162
180
203
184
273
163
259
200
144
256
129
218
143
221
195
200
198
217
185
235
181
224
257
176
240
179
133
191
176
227
219
265
188
181
176
130
152
198
166
186
194
163
176
165
183
201
146
170
174
158
204
209
187
131
216
335
236
183
180
161
146
266
225
224
181
197
157
208
178
149
217
146
164
283
173
146
237
154
218
335
173
133
225
129
211
195
202
159
161
159
214
184
179
280
203
173
210
156
217
222
168
185
219
129
200
246
217
150
190
244
217
146
236
138
194
173
206
254
176
219
158
232
184
225
191
201
231
146
239
273
235
155
215
238
246
239
158
170
166
129
129
191
181
180
225
191
164
167
204
201
188
130
201
236
242
204
220
321
181
191
122
203
167
180
204
202
221
238
229
146
239
258
173
224
143
209
235
132
191
302
191
160
211
195
195
164
206
211
210
190
207
157
181
242
177
219
184
219
171
185
187
200
155
143
146
232
234
215
180
168
203
201
175
191
187
258
211
246
176
130
156
191
195
219
183
182
230
200
195
199
146
146
217
202
206
234
156
204
157
209
155
149
188
210
222
166
184
115
191
185
201
192
143
145
160
211
183
172
272
202
231
170
204
203
210
173
186
230
160
145
187
202
181
180
236
199
204
202
141
168
187
180
183
164
224
230
236
259
129
307
228
130
201
218
220
179
173
335
212
199
189
171
146
240
179
179
191
292
202
146
211
151
119
221
166
215
252
184
178
303
224
217
155
129
182
185
211
230
215
201
184
335
176
206
169
159
163
149
164
204
209
257
145
173
147
179
130
217
182
173
215
231
261
174
143
234
176
171
195
144
203
146
160
213
170
160
228
266
247
214
217
166
133
236
192
238
130
318
209
210
201
165
173
188
130
252
188
202
225
192
243
200
204
211
145
145
191
187
247
133
229
146
208
333
166
193
246
138
229
180
130
183
178
201
133
217
246
182
179
209
175
170
181
241
223
143
166
212
200
214
226
210
143
150
179
171
130
183
224
234
204
155
188
204
115
209
175
158
130
143
182
190
130
176
201
258
161
217
170
193
223
172
194
115
230
173
183
205
235
221
143
164
188
197
187
214
169
261
257
150
201
193
160
182
217
157
244
158
170
232
176
172
224
199
272
218
195
214
168
217
201
192
161
173
162
193
187
217
211
179
178
203
133
157
115
115
243
180
280
283
191
251
146
228
258
182
195
143
158
159
163
220
214
176
173
235
209
188
218
115
254
249
182
217
171
204
130
185
207
220
181
178
202
210
210
178
132
171
185
179
297
151
130
239
158
160
143
234
158
168
173
202
193
173
202
211
152
246
173
195
157
189
222
195
184
302
255
188
247
133
213
191
248
202
231
204
210
129
264
206
250
187
174
199
193
166
160
200
228
177
239
203
191
128
243
191
205
192
115
256
182
129
210
151
234
234
188
230
236
185
179
191
176
199
252
221
130
143
176
203
226
201
230
227
185
115
214
143
210
193
209
177
185
157
145
176
188
168
150
133
129
181
203
122
143
176
185
145
209
184
202
151
184
242
149
194
275
130
115
198
188
215
217
150
194
145
172
186
258
179
222
146
184
169
147
179
193
188
214
176
213
257
222
217
203
201
179
287
232
278
227
194
193
162
230
190
301
180
200
190
205
221
141
160
188
169
218
145
166
258
168
201
238
262
150
172
194
214
201
227
192
150
187
204
172
257
211
244
122
289
146
204
138
178
202
168
204
335
190
145
240
229
188
146
129
151
229
143
237
200
241
161
241
147
162
216
178
189
133
167
130
247
130
186
173
130
174
138
203
161
217
225
188
176
130
235
238
249
235
189
150
187
146
183
197
173
187
190
191
132
277
273
168
192
145
235
155
209
183
249
155
176
251
138
141
171
166
162
210
272
138
204
206
175
164
214
169
184
209
182
173
201
161
282
115
129
164
206
146
268
164
246
184
146
146
183
197
229
182
210
143
254
192
164
115
183
265
168
176
156
191
145
183
189
239
146
158
177
194
210
186
264
133
146
201
230
204
226
172
130
192
246
209
130
274
184
257
204
176
228
202
176
176
211
274
175
255
214
176
231
155
186
176
165
179
145
257
166
221
130
224
183
183
162
186
193
223
202
273
230
203
198
197
201
129
153
176
164
173
177
200
213
184
176
144
188
130
239
204
208
231
201
217
129
187
254
261
222
214
174
145
208
138
235
226
223
244
129
197
190
218
229
200
275
227
158
204
200
156
241
188
234
186
236
230
214
201
130
205
236
146
204
180
179
158
176
163
207
176
133
141
201
173
201
138
174
129
146
237
187
221
133
237
231
182
213
149
129
146
130
241
172
163
146
197
225
265
222
146
179
173
159
167
197
231
180
160
236
261
166
218
197
130
280
203
193
168
146
130
243
210
173
180
229
168
191
264
194
171
250
208
230
208
178
130
115
200
149
130
268
196
210
146
202
204
143
239
208
210
196
205
164
264
176
129
178
210
237
151
261
194
162
130
213
132
201
168
204
155
239
207
130
170
147
164
179
149
239
164
288
266
172
213
203
129
146
218
173
217
173
191
178
184
169
171
197
180
287
174
227
228
187
146
176
221
236
207
192
146
143
335
249
204
153
173
245
258
216
221
205
168
212
190
218
146
146
217
184
243
272
185
188
209
168
198
230
173
178
208
175
146
164
168
264
217
201
191
133
150
180
145
201
161
233
185
164
204
140
210
226
196
206
130
216
155
130
236
202
137
243
176
150
230
247
146
174
128
129
149
175
197
130
173
250
182
178
180
115
185
115
150
195
115
225
176
180
205
225
238
335
146
184
261
202
162
204
164
217
222
176
175
167
151
211
164
173
130
173
239
217
256
173
115
218
228
178
163
229
166
192
164
209
240
173
169
192
206
205
169
176
252
188
204
202
171
210
233
324
150
168
185
155
170
145
172
115
146
197
254
227
122
129
115
207
173
183
217
158
130
272
139
237
138
199
170
193
217
130
264
151
169
217
129
124
187
254
190
146
176
197
161
228
182
200
133
189
211
192
184
128
206
177
263
172
166
178
247
183
243
178
178
187
152
203
178
201
214
160
179
238
147
221
179
194
223
200
181
206
225
151
269
234
164
150
176
138
235
264
298
155
129
277
204
236
159
215
259
211
184
167
129
161
215
210
242
133
183
210
230
185
211
129
199
151
185
146
156
214
212
179
164
200
162
183
162
159
210
204
211
158
146
146
187
200
264
158
274
129
206
184
176
221
169
173
188
219
188
239
179
152
325
160
179
235
169
273
133
217
158
195
173
129
165
150
146
133
183
195
217
182
263
246
204
197
239
296
141
133
162
211
185
173
209
235
141
133
201
176
217
132
146
204
129
155
202
238
174
184
223
176
180
173
132
214
176
130
193
129
183
176
261
143
205
176
232
235
194
217
158
129
210
180
206
180
149
235
218
169
268
168
181
202
173
115
194
158
260
211
173
236
229
206
162
194
146
130
141
187
182
264
222
242
146
213
167
192
180
169
145
115
173
247
203
146
212
202
174
204
133
206
190
171
155
146
211
221
184
173
132
227
217
162
217
238
200
176
203
217
158
173
193
333
228
203
217
176
256
155
204
239
202
129
177
186
224
200
143
201
229
167
162
157
167
178
191
129
152
240
208
155
200
173
201
243
264
179
228
227
146
176
173
133
162
218
152
160
217
222
207
218
194
187
133
156
173
238
168
211
183
128
309
166
230
201
212
273
180
143
173
185
204
145
192
184
129
196
173
178
205
335
130
187
182
164
176
203
161
206
224
171
201
230
254
287
190
272
215
173
261
161
200
210
173
183
115
182
183
171
129
206
129
217
247
177
197
145
213
189
186
162
168
143
217
224
129
141
174
194
184
177
145
225
173
176
115
179
205
232
236
155
217
245
167
245
129
258
225
155
231
214
183
174
182
221
242
145
175
226
165
192
264
143
204
141
172
247
216
164
182
209
150
133
189
266
183
155
193
180
264
204
166
208
127
168
234
141
216
281
189
225
178
115
239
175
179
262
204
215
162
150
147
210
159
254
133
176
200
233
204
119
216
159
191
333
200
145
191
200
200
202
204
129
130
231
210
183
115
158
230
210
207
228
227
266
217
218
188
214
238
176
168
159
183
193
176
170
191
155
181
263
217
207
205
250
257
151
169
201
153
179
269
165
193
179
234
211
138
248
176
188
183
256
234
165
164
130
206
193
203
176
270
259
176
151
257
228
146
178
202
115
263
270
183
262
204
190
256
173
199
152
173
205
226
321
129
183
217
240
176
190
190
191
204
186
320
263
255
196
191
185
201
235
214
182
240
194
262
189
176
187
204
220
274
208
146
208
171
210
144
225
197
174
157
311
228
205
161
230
183
179
155
199
129
206
164
191
156
204
183
170
168
159
164
194
175
173
152
168
250
169
184
265
168
203
188
119
179
236
144
192
168
204
230
145
238
286
203
178
151
186
191
146
197
130
173
201
237
130
194
130
221
143
145
130
183
158
250
228
235
173
231
133
130
130
254
206
160
203
178
251
227
256
173
243
239
230
192
202
246
210
164
176
163
191
138
171
202
176
191
130
205
184
115
210
185
200
227
180
173
184
272
274
184
204
208
133
250
200
217
180
129
130
221
217
181
168
150
173
184
245
115
181
185
174
251
211
168
236
195
218
145
130
182
207
130
144
195
185
173
185
173
171
212
234
155
176
240
173
130
173
236
158
189
163
236
213
157
236
143
201
169
204
211
145
231
217
182
159
240
129
229
214
249
129
200
216
173
220
244
158
259
209
176
328
146
221
143
185
146
132
146
226
298
189
192
162
133
194
189
202
250
168
261
179
210
182
171
210
186
115
205
146
178
155
179
234
170
176
184
183
210
161
176
173
188
185
149
227
173
184
192
216
211
174
236
226
171
169
170
129
157
192
129
239
164
242
133
164
253
210
254
192
200
162
193
204
182
202
208
187
212
259
184
259
219
146
191
161
216
162
186
179
131
206
130
216
158
201
214
262
200
233
230
165
241
173
130
195
184
185
176
204
193
157
161
288
155
156
162
236
181
193
209
210
130
207
151
204
130
215
182
195
158
254
146
151
173
227
184
181
119
186
211
227
180
150
133
192
145
201
161
240
256
253
129
156
222
204
162
258
192
248
149
180
185
146
194
145
238
260
248
198
173
155
266
133
246
156
214
290
184
257
181
209
168
129
228
187
258
172
211
180
234
245
246
162
143
122
238
182
203
129
261
192
130
187
217
248
281
155
172
173
199
225
181
158
128
223
216
179
171
254
210
162
190
249
190
173
115
164
178
176
192
230
179
232
130
188
185
188
173
217
198
180
145
209
209
209
231
146
143
169
153
220
143
144
130
178
164
146
188
132
236
175
201
138
205
172
185
217
260
217
190
240
222
144
322
130
161
231
164
122
206
146
239
178
168
162
129
202
200
179
176
177
169
231
206
182
175
158
179
217
161
185
227
210
130
210
239
210
239
168
168
157
178
238
222
171
157
146
206
188
242
194
128
169
186
313
273
214
158
180
128
248
176
168
179
162
201
173
130
175
176
173
146
218
198
178
173
182
199
202
129
221
184
182
215
211
186
226
195
191
162
227
240
119
149
212
164
155
173
180
210
238
170
182
155
178
152
173
145
228
185
160
143
210
200
187
173
173
206
235
207
249
211
173
179
150
195
242
194
176
205
222
179
226
173
141
203
184
217
185
247
130
203
168
198
176
198
184
173
194
130
174
143
169
202
133
158
129
162
129
223
143
251
183
129
203
146
211
294
160
115
335
178
176
202
236
278
200
182
248
207
129
190
262
217
194
240
190
191
153
145
122
182
213
263
178
194
152
204
185
159
129
176
183
168
169
223
164
158
206
191
164
175
177
260
154
183
133
143
181
200
143
207
228
185
233
162
130
115
176
213
178
272
197
191
188
214
143
129
194
173
241
141
210
169
181
168
195
222
236
184
230
209
192
180
247
287
176
263
207
180
160
171
178
228
176
161
217
201
146
183
147
129
168
203
231
247
173
189
146
300
216
194
201
129
212
130
179
169
221
179
188
183
129
205
218
146
200
180
238
206
187
172
174
167
141
200
184
263
157
194
217
200
236
182
204
214
156
191
165
176
133
183
173
149
300
173
176
217
236
196
204
214
171
178
180
213
145
202
213
129
233
188
204
235
189
187
178
168
177
201
130
218
201
169
249
167
151
172
177
169
160
225
264
173
225
189
209
162
168
161
190
132
245
210
151
231
227
195
129
226
201
143
162
287
203
184
195
185
238
201
208
182
236
133
193
130
226
146
208
283
162
168
175
228
176
197
159
167
236
181
190
173
238
162
130
173
288
172
236
180
151
127
252
173
129
146
157
162
168
160
143
197
164
188
183
176
159
204
231
224
153
251
173
191
211
166
156
146
271
239
239
198
179
132
190
140
172
130
144
305
184
177
155
149
151
238
185
241
161
178
250
191
160
233
152
145
248
187
183
206
183
181
210
226
141
169
169
202
187
172
253
238
143
224
224
145
206
173
183
225
129
209
214
162
145
133
143
195
129
173
185
145
173
202
188
166
250
238
160
130
341
156
237
200
179
156
200
186
115
173
302
172
162
168
129
210
217
203
176
204
190
173
235
185
160
181
185
244
210
238
189
257
199
265
225
264
200
273
222
217
146
201
229
149
129
197
217
192
261
204
156
307
198
275
263
166
156
230
205
183
270
146
188
200
176
225
210
173
184
145
248
174
252
199
218
156
166
160
201
155
130
182
236
146
141
191
210
188
151
173
212
216
178
165
176
204
199
183
201
224
212
115
152
176
183
185
164
195
173
202
173
217
183
215
182
194
198
129
207
157
265
174
191
192
175
194
176
151
161
204
146
204
211
173
246
206
133
162
231
172
239
197
183
207
210
251
261
212
217
138
210
207
129
146
155
168
203
219
206
195
214
263
185
227
223
180
189
131
130
202
176
162
157
215
161
173
173
277
173
221
266
115
216
164
158
174
167
214
170
172
190
193
268
202
226
288
146
179
225
162
173
184
232
129
133
173
202
172
151
214
204
130
146
213
191
172
164
141
214
173
222
209
192
162
132
282
161
129
165
204
165
217
225
146
159
161
252
234
208
217
191
177
174
195
198
129
170
166
157
259
156
149
226
199
182
288
210
173
233
228
230
214
202
146
209
266
184
175
185
176
271
157
175
241
230
184
207
187
195
138
160
186
122
115
181
161
186
219
167
138
162
238
146
149
161
167
217
248
146
201
156
165
202
131
250
161
214
181
215
227
184
173
202
191
256
261
236
130
211
169
129
245
233
197
198
185
146
199
130
183
201
176
115
200
181
220
129
239
199
224
215
180
217
166
200
168
210
186
184
161
172
197
184
173
242
233
257
115
146
230
173
189
247
173
153
146
176
169
198
217
200
231
165
173
230
231
185
187
217
155
180
167
146
179
152
206
239
207
180
263
266
132
190
173
253
166
265
237
164
239
207
204
239
211
183
185
204
130
231
152
182
220
202
189
207
201
202
190
273
180
262
174
261
254
194
138
170
245
217
155
260
191
173
189
199
219
146
155
246
248
244
171
181
169
239
152
257
191
231
143
246
158
286
129
233
192
202
199
229
170
222
145
209
174
168
195
129
173
146
130
250
176
206
219
179
210
130
151
198
220
238
146
138
248
203
228
166
225
242
188
143
133
203
232
210
156
173
217
186
162
204
199
163
203
211
171
146
214
236
183
185
189
255
174
192
176
146
191
211
258
235
204
215
223
156
280
200
234
129
163
220
245
279
181
279
133
143
192
204
263
210
130
265
247
268
193
161
221
209
201
206
198
157
214
335
226
153
122
228
150
130
228
177
214
202
173
179
145
231
175
174
259
205
181
194
181
191
173
208
189
201
200
212
193
208
191
217
188
129
244
188
115
204
207
197
172
249
157
210
171
264
288
221
218
173
197
145
183
138
195
226
221
264
150
212
251
115
168
204
179
225
141
162
185
155
187
165
145
184
189
183
238
141
205
194
212
173
184
198
187
242
145
129
201
182
202
198
230
174
260
214
218
173
173
156
213
231
162
159
145
202
250
150
162
201
130
209
261
173
246
176
213
248
161
160
211
211
209
238
183
198
210
185
206
178
152
129
179
217
217
146
191
191
198
194
182
236
252
238
146
162
133
195
162
162
185
253
156
189
169
174
179
231
204
204
188
210
227
234
115
259
146
138
223
173
128
200
265
168
213
303
227
184
200
130
270
146
129
237
199
179
188
214
200
192
146
166
183
210
255
174
181
133
157
257
222
145
186
184
176
235
182
172
179
179
129
187
174
193
180
264
202
115
194
176
191
129
226
190
133
160
230
235
232
162
168
184
146
264
254
247
274
196
213
152
200
144
178
115
189
206
216
178
257
194
217
149
176
210
190
175
141
247
200
182
130
173
184
176
236
197
141
278
207
169
235
184
129
206
143
191
209
204
188
173
227
166
180
115
146
181
232
297
130
304
239
133
138
192
224
203
215
145
217
162
189
225
176
164
210
190
200
176
169
190
181
257
138
253
161
184
158
129
188
188
264
195
180
187
210
245
313
254
132
210
155
176
200
217
201
132
209
226
217
133
255
180
194
185
201
129
217
277
261
273
224
170
191
184
173
202
180
143
141
189
162
188
146
247
115
130
181
239
236
153
145
186
190
210
153
130
179
181
192
115
210
212
157
168
229
184
225
202
199
115
210
240
196
189
151
162
183
176
177
171
179
210
262
199
182
201
162
195
225
195
237
263
130
184
264
250
145
133
208
130
168
202
146
246
200
254
211
201
204
187
148
150
181
164
145
230
202
182
174
217
143
210
171
184
184
204
149
183
231
228
155
179
178
184
174
176
217
265
186
299
179
198
208
194
252
184
238
230
249
172
183
222
168
157
219
204
145
141
259
176
129
184
244
184
213
210
207
203
221
202
129
213
149
204
242
187
204
174
258
244
169
186
149
179
133
146
211
133
141
157
166
141
240
200
193
180
115
259
162
230
239
205
146
158
272
157
204
243
230
184
138
204
238
186
220
260
162
155
204
183
158
244
183
129
162
129
208
149
173
205
133
200
204
141
266
198
258
282
128
129
119
164
232
130
173
237
192
246
217
249
168
180
156
246
230
241
206
238
174
143
186
182
164
141
165
204
211
227
238
175
233
210
288
193
196
201
204
288
192
155
162
260
202
195
185
229
250
166
167
353
153
163
211
229
169
237
322
183
227
210
168
197
131
238
173
164
325
179
191
255
186
155
163
162
146
282
168
182
204
200
229
248
143
175
219
161
156
202
221
129
206
240
164
146
181
211
169
185
176
173
214
204
133
206
270
164
189
210
239
145
202
173
173
180
122
184
165
193
158
163
201
146
245
159
246
179
206
115
156
190
264
206
158
204
195
178
255
238
162
225
211
201
178
294
175
239
180
202
150
164
231
178
181
143
164
239
202
199
133
183
230
180
176
146
164
256
168
179
242
285
129
219
128
173
139
189
295
176
236
151
213
216
210
158
213
191
183
204
230
157
162
259
164
173
206
176
201
199
169
138
225
173
211
174
202
226
185
301
161
335
192
201
180
199
239
129
141
209
179
212
145
191
180
143
173
129
230
229
239
197
173
230
215
198
252
150
150
161
183
168
143
164
191
156
235
155
236
261
181
168
193
196
200
200
179
202
189
204
187
209
192
210
205
141
145
184
204
200
227
129
201
194
183
189
267
169
133
191
197
200
208
129
183
238
188
150
209
225
164
247
122
238
201
236
192
162
220
206
204
150
115
193
280
179
201
173
230
175
188
147
182
165
200
200
174
158
164
229
239
200
133
217
222
202
210
182
199
252
298
159
204
199
178
170
203
209
195
218
174
164
172
222
228
164
174
201
217
149
209
202
179
210
228
204
143
217
164
191
182
130
164
205
250
260
183
182
214
255
252
234
164
277
237
268
206
204
180
176
218
141
197
217
155
133
250
200
214
176
202
146
130
179
257
210
158
259
173
141
146
173
213
178
185
145
219
204
164
240
185
143
150
231
145
146
189
182
129
218
263
133
184
129
200
191
130
233
248
191
119
176
202
212
175
209
193
164
179
188
153
197
262
143
236
187
155
129
202
206
229
341
129
217
145
208
205
129
158
145
146
132
204
179
168
225
130
197
146
168
168
146
202
219
166
145
191
170
158
143
192
184
202
202
155
181
204
115
213
205
177
228
183
196
204
239
209
204
242
128
262
244
221
133
239
133
143
176
129
273
176
130
274
228
162
129
216
201
204
218
179
115
129
201
226
228
215
200
145
198
239
225
128
153
130
246
229
180
192
205
216
212
168
146
129
157
239
251
192
230
195
173
203
190
130
129
255
184
159
200
204
206
174
146
173
179
263
245
130
162
160
184
162
150
248
145
145
239
169
133
236
204
146
203
224
166
172
130
189
213
217
183
182
189
185
211
242
185
181
179
129
223
175
202
122
230
162
221
211
195
222
189
188
195
129
204
191
122
180
187
186
162
146
133
166
202
200
214
194
200
183
246
150
173
129
145
150
194
149
200
261
204
227
188
216
181
207
145
182
204
172
238
257
183
193
178
169
150
203
186
204
224
167
252
166
198
197
258
212
182
133
132
151
122
239
236
206
133
247
258
158
180
181
265
171
176
287
191
143
246
213
191
168
253
248
194
171
211
204
210
210
164
194
169
156
208
203
236
179
133
197
228
173
171
180
267
184
173
211
179
225
194
180
130
160
166
159
164
176
181
166
249
157
217
184
129
261
130
183
204
161
200
221
211
254
217
237
145
149
204
184
225
245
201
245
200
211
236
183
230
179
180
257
172
180
215
230
133
236
233
153
224
187
146
214
265
246
143
173
166
180
166
151
226
252
188
146
179
168
272
145
160
210
214
207
237
232
184
169
162
168
169
129
296
248
157
161
408
146
129
166
227
145
171
188
166
176
129
173
173
129
254
209
229
240
263
258
160
193
164
208
253
146
191
164
193
217
146
183
212
174
172
178
176
241
247
208
178
176
183
176
214
184
183
149
184
299
164
274
178
264
196
162
240
202
146
239
230
233
182
258
149
142
146
161
146
194
132
242
182
184
203
250
130
194
255
212
184
191
218
162
199
261
246
204
145
156
153
179
211
194
133
287
176
303
146
190
211
198
130
217
244
201
208
169
198
145
164
213
129
183
176
133
226
152
184
141
214
141
184
202
174
225
145
254
230
141
150
129
185
151
270
228
210
253
329
242
188
256
215
150
206
230
265
141
145
130
211
195
169
168
176
173
215
184
179
158
292
248
182
219
143
128
216
165
128
158
225
164
178
222
256
202
181
176
143
145
202
149
216
185
191
204
180
201
261
208
255
223
294
210
210
166
296
197
133
141
217
335
234
230
205
192
271
302
150
286
184
129
182
209
184
290
205
218
259
211
252
158
210
186
264
184
166
164
115
206
242
146
239
234
176
203
203
231
204
190
212
204
183
160
183
176
204
146
166
162
309
183
221
200
130
180
189
207
181
193
178
282
133
194
151
194
174
222
169
174
130
182
233
174
211
164
231
200
183
242
155
180
155
243
169
226
129
182
188
228
217
180
199
175
157
300
183
185
210
129
173
176
165
201
184
173
261
169
282
173
193
215
201
143
182
200
184
145
200
229
212
184
199
161
130
194
129
201
181
159
180
218
146
194
228
185
202
198
115
230
192
188
210
204
130
206
145
146
241
150
176
225
203
130
236
246
221
133
115
157
168
176
160
202
143
218
168
216
239
192
173
254
115
211
146
230
205
179
130
166
169
181
145
176
146
128
231
222
130
162
280
155
167
192
176
234
215
184
173
178
210
162
208
155
145
146
184
183
197
193
173
145
130
180
129
158
129
191
230
217
216
160
178
187
206
212
181
129
239
184
240
176
172
149
176
237
210
201
204
183
145
155
226
177
223
194
178
192
176
184
176
133
230
198
222
204
162
256
130
130
179
173
167
224
180
129
239
169
169
232
194
173
146
215
217
206
174
230
220
168
229
235
138
204
234
220
184
168
188
264
194
242
234
204
188
176
231
230
266
206
182
130
129
173
179
247
197
178
173
200
141
211
228
181
138
242
176
263
209
185
115
166
173
181
226
149
183
204
241
146
155
178
201
219
146
146
202
160
171
159
206
167
168
119
143
204
194
224
222
146
300
146
204
200
152
168
185
149
129
167
161
228
230
184
202
192
180
158
145
264
206
164
186
115
242
176
203
206
115
200
248
155
201
194
180
200
175
222
173
283
183
256
200
178
230
143
263
186
262
259
180
146
185
183
179
176
204
214
130
210
230
262
238
186
207
238
204
225
158
185
278
173
254
166
115
130
203
301
133
230
178
165
210
191
184
143
157
143
164
247
155
164
206
172
179
225
165
217
178
191
218
184
209
209
210
173
231
129
188
231
195
228
237
208
168
172
219
210
182
179
122
195
203
145
115
216
115
233
214
199
191
130
202
192
174
236
209
166
156
185
199
182
190
222
176
230
132
122
175
266
250
184
218
325
178
227
146
204
190
188
217
226
130
218
207
201
233
281
165
193
204
143
146
192
219
147
217
173
227
145
184
141
199
151
220
192
143
211
165
141
180
211
158
300
206
185
202
162
190
172
176
129
156
179
156
201
130
182
209
145
192
188
158
173
176
175
258
164
188
249
168
180
224
168
150
149
169
176
210
139
199
194
200
236
201
296
129
157
157
216
176
200
203
174
178
167
176
173
176
198
176
283
157
168
200
148
185
155
199
205
158
162
133
169
173
129
173
179
271
204
150
203
211
191
221
209
235
216
200
226
130
170
151
129
184
189
200
214
242
210
212
183
128
164
195
157
272
218
130
182
146
186
129
178
179
238
128
184
210
179
173
161
146
173
129
246
133
130
130
335
286
162
213
133
129
195
191
182
249
211
133
219
223
229
236
236
173
175
166
204
188
204
178
176
210
177
223
183
238
206
141
236
129
199
132
146
216
145
176
208
204
204
230
153
158
158
173
200
204
217
132
199
182
175
160
159
192
228
254
195
263
225
188
229
156
183
217
184
192
168
129
155
212
153
218
264
195
168
133
263
213
183
167
176
145
222
221
206
225
197
169
219
145
204
206
192
238
209
222
201
145
191
244
188
176
115
216
184
155
133
149
202
182
183
186
184
208
241
146
205
145
146
184
232
189
172
201
166
211
189
229
156
132
162
178
195
217
205
238
210
130
178
143
263
263
181
189
176
188
214
256
182
163
263
188
182
247
211
234
262
232
202
201
200
130
264
173
147
130
162
178
191
178
188
213
129
180
200
143
224
231
168
129
191
252
182
211
208
198
200
158
174
145
153
211
151
189
205
217
158
162
129
162
191
208
195
245
130
197
257
229
152
241
214
216
179
184
214
200
240
155
157
211
224
222
173
200
177
203
243
182
212
191
145
281
206
272
206
129
178
204
162
158
233
258
252
179
146
205
209
189
204
143
160
173
224
211
171
158
130
146
242
191
234
168
242
205
193
197
192
202
159
169
190
264
208
238
179
184
141
143
191
119
201
179
157
186
201
185
173
218
181
259
186
151
204
210
204
176
223
251
222
157
177
179
249
176
250
169
176
204
269
178
259
251
205
202
169
176
164
129
201
185
158
185
129
175
227
166
238
150
160
207
152
228
205
130
167
157
204
187
141
197
226
145
163
184
204
235
185
189
176
212
202
202
132
133
204
205
232
162
197
200
198
232
182
273
179
217
195
128
173
199
255
156
162
211
199
179
179
221
179
179
202
243
122
201
227
173
168
144
146
176
173
201
182
202
143
146
173
179
201
129
211
154
146
209
130
183
224
261
247
225
223
173
187
170
183
181
128
164
181
178
170
143
205
133
199
248
158
168
161
179
178
178
130
176
130
210
230
206
241
221
194
166
203
249
160
130
233
195
184
191
161
213
185
164
168
263
214
273
182
156
259
215
115
164
167
264
206
200
289
259
226
119
194
159
202
252
162
200
200
130
230
146
183
146
195
195
217
115
155
238
335
210
191
133
163
180
206
163
173
217
146
184
164
265
174
192
129
232
253
240
145
176
130
172
242
215
204
206
141
176
172
137
141
221
199
204
128
143
163
204
255
129
115
188
187
183
221
164
129
192
176
261
217
165
257
201
237
173
228
164
161
221
158
129
119
146
173
283
300
236
173
210
224
190
187
181
201
200
193
210
249
182
146
266
214
147
200
236
222
185
181
145
215
249
240
130
230
239
242
146
164
264
204
193
236
186
129
156
204
248
173
211
155
155
200
196
184
217
204
236
145
241
192
248
191
167
239
185
184
201
179
278
238
199
176
130
191
217
162
210
184
263
181
129
205
158
169
210
214
183
244
190
233
188
173
210
217
238
176
236
202
207
173
138
129
242
151
185
236
129
168
146
161
209
176
237
203
183
146
182
186
155
233
189
176
176
261
230
194
185
194
146
228
204
192
287
231
211
176
214
187
210
209
201
170
260
211
201
160
190
166
180
228
202
248
156
167
171
146
259
251
130
282
174
191
163
128
220
133
162
234
178
195
217
199
164
153
130
241
179
122
228
202
217
130
176
127
192
212
146
278
171
228
197
143
161
197
215
180
274
172
210
203
146
168
244
181
170
217
259
164
130
239
166
161
150
169
191
226
278
229
115
186
259
146
235
165
173
133
187
146
204
229
132
146
143
161
144
192
234
173
236
180
202
199
195
204
225
176
263
192
265
130
236
254
167
204
133
115
195
220
234
203
145
186
207
201
191
173
133
128
192
151
184
191
189
255
184
190
151
173
189
299
211
234
133
184
204
167
191
186
191
148
239
147
253
168
182
253
176
215
185
205
244
193
242
256
229
186
201
233
238
231
199
221
147
168
176
217
206
200
258
215
155
146
266
129
251
209
179
145
189
265
169
168
179
192
177
211
189
208
164
174
192
146
191
191
266
236
162
230
191
173
181
166
266
244
143
174
184
190
271
187
192
211
146
236
198
183
164
169
214
210
149
187
184
201
130
167
143
247
143
201
172
181
146
300
216
211
171
249
184
132
185
182
209
202
146
199
297
194
251
189
221
163
211
255
272
211
204
256
146
206
210
238
133
115
204
133
202
174
236
184
176
207
188
174
128
207
209
130
201
262
162
173
130
162
203
176
183
179
197
199
201
209
205
202
147
306
234
130
217
130
180
178
231
186
246
199
257
173
146
205
199
190
168
143
153
234
221
129
128
205
205
185
162
160
218
143
197
168
176
168
171
220
251
217
130
199
228
265
204
228
149
288
145
245
210
145
164
182
162
180
182
214
163
189
184
211
187
183
206
254
264
260
273
213
160
149
214
166
207
219
195
189
227
161
204
171
201
188
179
184
259
244
219
172
161
204
202
184
128
230
146
254
224
173
168
185
187
169
185
204
183
257
130
247
148
183
155
248
162
150
236
190
180
215
175
168
171
198
185
309
169
231
145
310
210
152
129
195
176
204
214
211
146
169
183
115
166
174
170
164
200
155
261
204
214
238
153
201
146
190
130
145
171
201
173
188
115
172
218
122
182
164
210
172
208
206
155
184
184
115
201
186
247
243
199
122
146
196
230
174
181
146
162
253
172
191
231
252
210
230
217
180
229
130
190
130
202
200
210
241
232
161
230
130
202
203
248
156
168
247
265
226
194
247
201
130
236
129
161
204
206
158
194
129
162
184
160
296
129
197
218
253
175
237
217
217
264
130
160
184
211
133
250
230
217
149
267
221
218
176
201
210
222
185
200
229
215
206
199
193
187
180
209
175
158
157
151
156
206
203
222
173
173
239
219
204
235
184
254
130
228
182
138
155
188
266
232
162
236
182
182
161
200
130
173
168
200
145
238
183
240
196
176
195
211
169
129
165
189
191
206
239
202
219
146
146
202
200
162
170
130
208
192
115
210
176
228
203
179
226
211
185
173
258
225
178
211
182
133
210
206
160
217
202
194
205
156
143
156
162
200
146
239
236
178
200
199
130
201
202
219
258
204
179
217
188
219
133
192
130
216
181
129
225
236
208
192
190
173
181
146
191
216
181
150
182
206
187
179
133
237
169
179
254
218
210
236
201
184
162
167
169
261
217
174
168
158
143
229
168
195
161
122
188
192
204
229
236
211
182
190
133
238
191
198
261
174
185
115
234
164
283
141
169
155
225
234
228
156
227
138
162
166
176
190
206
162
173
185
217
263
156
145
261
182
237
184
192
133
173
229
202
201
130
195
242
183
132
210
192
168
238
210
204
130
150
130
204
179
176
129
230
129
133
217
133
208
192
145
143
130
236
194
180
172
204
204
168
139
172
184
161
206
176
247
225
201
174
283
130
183
246
168
133
166
207
239
230
270
211
155
221
215
187
179
176
287
335
167
173
243
141
242
173
198
161
129
264
205
179
187
146
239
138
129
172
225
188
266
172
204
221
211
217
186
222
181
163
204
214
184
230
222
176
177
236
264
131
242
172
180
176
202
225
221
233
185
146
201
176
178
145
217
206
227
175
182
130
173
164
173
130
199
204
187
250
122
235
228
206
176
191
190
169
164
207
232
299
181
167
221
158
141
158
230
211
176
206
186
220
219
205
158
231
157
263
279
130
162
168
174
129
264
231
214
240
145
201
149
242
137
229
130
179
176
222
164
200
169
160
229
182
238
179
155
173
205
300
247
168
300
242
183
191
178
212
231
230
193
210
181
194
183
229
184
202
173
219
239
182
229
197
155
146
162
212
185
257
164
207
210
200
202
195
293
146
239
202
141
181
171
138
176
173
217
195
179
168
143
194
230
176
209
200
248
173
236
115
201
149
267
206
173
157
196
206
162
178
221
222
176
145
217
219
230
246
225
157
176
173
206
173
153
202
204
156
133
218
133
146
130
129
130
245
230
187
143
164
259
119
119
201
230
178
222
166
193
225
156
176
227
211
186
254
172
262
210
174
167
165
255
195
245
179
168
256
146
158
146
169
130
141
271
164
216
155
138
186
211
200
205
195
183
230
186
184
155
233
186
216
203
275
210
204
182
178
203
185
168
206
227
237
240
247
247
146
165
141
143
174
192
250
130
217
261
189
129
201
179
129
245
230
211
153
217
129
221
156
182
138
163
230
161
188
189
261
169
204
213
197
225
210
173
205
167
185
249
233
173
133
193
146
204
205
115
130
233
187
172
189
313
184
235
173
168
199
257
182
152
183
221
146
202
151
184
229
191
173
171
191
176
162
206
162
229
130
176
189
211
236
178
204
173
215
164
203
214
160
129
176
216
213
183
209
203
133
130
180
200
204
214
143
200
270
173
211
129
204
173
133
150
219
209
146
194
204
115
144
217
180
159
200
129
229
216
200
225
167
205
203
209
160
208
158
173
173
233
162
236
263
138
211
176
200
176
211
164
188
264
177
264
174
194
158
185
184
191
133
176
204
174
184
189
204
279
230
219
219
163
202
210
183
187
211
203
182
145
193
170
168
199
158
247
168
156
180
170
146
156
179
246
185
129
172
179
173
157
204
252
182
222
173
130
237
274
172
151
115
173
210
164
146
188
144
209
221
192
250
245
168
146
178
245
229
221
160
246
263
210
204
143
188
115
169
238
210
170
199
219
168
206
193
183
241
212
211
202
146
251
198
201
171
237
184
130
146
211
211
209
236
130
173
168
157
182
172
240
226
201
184
185
227
150
210
171
216
195
212
226
133
166
260
247
238
192
257
232
191
287
230
129
259
193
183
232
173
146
263
202
129
173
205
162
155
197
219
115
223
236
130
167
177
127
217
176
210
155
236
162
225
173
203
239
160
164
151
217
226
184
143
222
195
184
146
179
250
164
197
237
247
155
191
184
158
209
225
168
183
202
145
206
239
162
133
179
166
225
173
207
145
238
174
176
252
184
193
138
249
242
115
213
169
226
210
180
201
254
173
182
201
240
164
179
209
186
176
204
194
194
143
206
233
238
201
229
155
143
183
199
202
202
228
263
146
287
137
191
252
169
133
159
239
184
170
157
195
213
211
180
138
258
153
180
179
115
193
161
224
204
173
237
200
188
193
149
133
263
205
129
145
168
205
174
140
254
202
204
202
167
193
180
188
162
283
129
202
175
145
128
197
228
146
115
183
217
259
281
173
192
211
210
168
152
225
226
176
206
198
173
211
173
210
183
162
130
191
274
176
201
202
189
213
181
178
184
238
144
155
203
133
217
173
152
164
218
201
272
122
129
133
169
216
192
176
150
186
258
191
217
296
217
202
132
146
201
160
198
186
222
115
211
197
239
273
173
141
211
203
156
158
217
211
202
204
133
195
162
158
161
195
160
182
184
179
269
184
115
192
201
230
206
243
158
262
179
162
242
189
186
189
160
130
175
255
164
204
168
146
211
157
174
211
145
188
157
179
211
206
176
194
193
164
190
146
179
182
173
133
299
179
199
217
214
201
186
157
156
208
214
230
133
175
210
149
160
185
179
229
129
217
209
173
262
193
210
197
198
200
171
211
317
230
236
151
198
143
182
237
203
299
166
179
230
215
216
214
200
122
283
149
167
143
214
188
204
204
141
184
264
176
184
202
237
216
180
130
254
270
216
145
211
272
211
158
222
145
190
177
227
230
238
119
115
191
201
183
143
161
129
238
179
204
179
197
200
183
235
179
153
173
188
115
176
227
183
115
187
170
233
195
186
184
156
176
151
228
185
160
204
218
178
200
215
183
268
187
163
157
179
188
156
206
169
158
199
235
203
197
176
214
189
191
185
176
192
182
146
214
122
171
145
161
172
178
244
184
160
176
210
243
201
164
129
237
259
178
227
209
143
229
175
128
146
175
276
185
190
206
160
212
243
198
200
179
168
143
156
206
260
228
179
151
183
205
119
141
185
183
197
173
183
174
128
214
173
179
128
143
243
172
188
225
206
259
173
129
138
189
180
186
179
176
263
200
195
173
227
187
241
156
202
150
210
207
164
166
176
214
212
158
182
201
182
160
228
180
160
183
238
160
250
184
204
210
168
229
173
183
203
198
282
115
129
150
164
248
204
165
194
202
185
240
133
185
177
165
146
265
274
178
166
143
115
212
255
210
174
166
130
256
171
204
164
200
164
129
241
174
168
172
132
165
146
185
146
145
130
130
210
206
247
153
155
209
211
130
198
162
262
256
195
236
213
204
211
170
239
207
177
218
189
150
206
130
170
163
283
232
143
167
129
188
176
129
158
221
201
185
188
145
228
212
224
217
227
206
130
231
191
253
179
176
229
191
226
173
213
150
230
143
221
157
278
222
198
224
182
145
185
129
209
192
184
143
208
178
209
195
146
241
170
265
185
258
232
208
146
183
166
229
222
146
211
115
145
190
191
199
167
177
203
217
145
169
168
178
170
146
161
190
201
157
211
151
200
146
198
201
173
204
194
201
200
129
202
163
146
234
202
184
163
190
201
211
173
211
161
204
138
206
247
186
174
209
197
226
258
207
184
230
204
203
240
201
230
206
185
182
129
197
129
194
218
191
129
173
200
180
207
206
228
215
130
226
162
203
231
170
204
204
177
155
210
185
215
146
176
141
150
145
173
176
211
130
162
187
188
181
207
210
155
129
162
164
183
238
115
229
176
155
233
115
230
210
246
250
185
202
213
176
257
181
146
335
199
263
186
176
156
236
169
146
130
138
145
204
168
203
186
240
179
209
211
264
241
183
189
153
169
187
252
269
208
130
146
163
173
182
205
144
211
133
184
273
190
171
182
244
218
177
192
211
181
169
155
176
173
231
190
231
182
227
199
143
182
173
173
146
146
162
173
214
176
234
210
180
239
170
192
143
170
173
148
164
205
206
233
210
214
178
179
222
129
145
231
237
220
244
184
216
211
265
204
143
216
184
206
211
201
129
181
206
206
178
133
173
217
167
158
236
217
169
210
283
206
206
156
204
175
143
215
186
207
225
176
164
161
229
147
182
146
210
202
185
180
199
138
242
129
224
191
231
205
129
130
130
188
219
214
176
210
211
129
205
162
138
304
210
212
162
127
183
141
192
243
219
172
176
182
172
150
241
199
199
240
197
143
204
230
201
214
150
268
216
201
195
209
147
283
181
202
129
210
183
176
146
204
176
169
229
133
239
200
217
251
170
143
253
208
179
202
207
201
145
184
176
157
193
158
201
228
244
191
230
236
186
242
197
229
213
246
158
162
115
131
178
348
247
247
189
208
138
217
205
221
230
173
223
146
130
228
180
253
186
195
178
129
201
204
143
235
210
176
115
130
130
171
277
224
195
174
257
141
235
146
217
208
188
185
274
220
129
189
193
226
167
191
217
164
290
150
274
157
133
146
158
215
129
253
131
165
236
239
173
217
228
283
201
168
189
236
156
221
200
216
203
335
210
173
217
129
210
143
217
250
172
173
176
176
194
173
227
176
161
185
262
213
202
227
133
130
202
233
200
129
160
211
169
233
226
202
259
143
178
164
189
261
230
238
173
129
230
263
241
164
217
222
220
209
204
220
143
252
165
210
238
129
191
220
185
222
204
240
179
200
251
225
173
205
178
212
185
202
147
214
199
168
238
205
160
180
258
335
159
207
260
162
200
239
316
230
225
115
183
209
183
206
181
202
215
191
202
191
199
254
184
184
164
206
161
237
202
253
176
179
180
174
265
168
175
197
173
205
210
176
191
138
133
227
176
161
115
146
163
235
176
146
217
221
201
213
155
173
155
254
221
176
184
307
157
204
182
259
194
214
183
228
153
172
221
262
247
160
161
181
280
172
172
130
168
226
211
227
231
185
129
274
204
212
146
235
155
198
183
201
143
254
204
130
204
274
201
225
242
133
266
285
177
172
145
181
168
270
137
221
236
296
178
187
182
176
173
233
173
265
256
176
168
115
167
238
164
252
241
214
177
176
156
200
158
247
167
225
162
129
182
216
173
184
247
181
211
174
144
230
286
173
130
205
191
130
250
226
190
122
174
115
188
236
233
182
168
274
162
155
206
130
176
181
230
226
122
193
211
160
162
222
221
195
189
221
132
182
202
185
181
224
179
184
145
167
203
198
201
164
146
191
130
227
221
253
122
141
211
236
182
168
188
129
188
141
140
205
222
183
183
169
203
197
282
188
150
195
168
226
129
210
160
176
138
191
183
192
129
190
146
195
180
146
221
194
214
214
183
174
178
219
184
172
200
162
172
324
268
130
146
129
168
210
209
168
217
146
209
146
244
179
251
263
223
181
184
175
150
153
115
184
217
210
177
143
166
152
204
192
213
185
146
129
167
253
173
209
217
191
160
210
217
239
156
191
194
266
115
167
303
130
202
146
197
173
195
162
176
171
199
230
192
231
175
165
194
176
208
180
202
152
208
299
204
186
210
191
211
191
177
172
210
180
260
158
182
129
158
242
145
239
153
179
208
178
225
168
236
209
238
132
130
201
254
229
178
168
222
143
198
180
173
129
189
209
185
224
145
122
239
197
176
161
238
222
216
214
175
181
234
168
217
266
213
230
130
228
228
270
203
178
217
122
201
208
173
153
255
225
184
182
184
191
183
214
218
173
146
251
233
238
130
217
187
214
176
210
171
143
183
183
176
175
176
221
200
227
169
166
201
294
238
168
168
228
188
205
220
182
194
210
229
164
203
223
167
178
216
129
191
206
184
182
226
210
145
258
239
186
169
143
173
246
217
176
211
129
200
179
217
146
191
190
129
224
184
158
199
203
202
168
179
230
238
244
210
146
303
173
163
199
150
217
184
146
202
141
233
173
133
189
133
146
164
169
115
162
188
205
204
146
173
202
217
206
204
171
259
210
287
145
222
182
176
145
145
274
150
130
200
157
179
201
182
168
178
173
210
130
186
185
201
179
186
161
217
178
243
145
148
146
205
214
228
130
155
176
146
177
182
185
182
157
259
183
167
179
207
193
122
224
158
157
263
182
155
231
170
210
150
147
122
262
115
130
156
192
200
237
145
181
193
176
205
183
168
145
218
203
227
147
170
133
257
207
179
206
225
186
208
252
217
273
171
217
161
162
161
164
215
200
133
138
160
202
204
176
166
235
201
190
176
225
227
201
189
252
176
179
217
163
175
129
173
130
129
176
182
179
189
210
179
207
180
175
210
176
236
200
266
165
203
130
225
196
194
150
259
176
115
225
153
210
223
273
176
189
143
143
161
211
129
227
191
129
129
191
191
158
179
158
164
189
307
257
186
210
164
202
178
204
158
244
156
187
150
217
208
242
146
204
261
195
252
178
173
191
237
212
169
235
159
129
130
173
227
132
129
129
172
130
129
233
167
132
206
176
173
258
182
229
236
188
179
230
213
145
210
188
182
213
230
244
202
133
149
204
217
187
198
210
172
115
195
129
211
200
230
232
180
227
173
232
176
191
189
133
204
208
185
179
158
208
130
247
182
177
251
186
202
203
146
239
262
201
184
218
242
182
205
210
236
236
178
230
200
129
225
230
146
177
173
169
223
242
155
129
211
228
252
173
241
173
162
182
173
149
206
159
156
223
150
191
168
189
206
204
143
138
166
213
193
130
161
173
226
269
230
182
156
164
265
175
241
219
145
199
191
147
167
250
182
225
179
200
201
185
131
200
129
249
233
167
255
158
203
197
294
151
217
129
130
206
221
170
210
130
130
229
207
146
202
221
169
176
145
206
164
164
240
245
184
177
164
229
208
171
156
229
259
205
219
176
205
222
173
177
200
210
178
238
259
191
168
249
179
176
169
165
194
145
213
202
130
200
145
194
238
180
223
149
166
246
194
195
133
257
208
205
187
156
195
265
178
261
150
161
146
176
216
217
181
218
299
173
172
168
161
175
227
141
231
146
254
143
206
173
146
193
129
240
246
204
190
204
180
218
217
164
129
173
129
130
208
191
178
250
218
173
182
185
264
206
155
210
191
182
171
181
204
243
172
174
197
212
149
233
230
217
157
199
190
129
201
213
143
236
146
201
303
169
183
157
190
158
260
185
205
182
181
152
215
218
181
217
162
167
173
173
192
178
199
260
194
173
156
162
256
206
231
143
173
237
115
264
158
238
184
115
176
167
185
164
214
174
132
129
170
202
197
162
176
200
232
196
185
227
223
129
179
182
153
156
169
183
217
186
185
184
237
210
158
172
129
200
211
241
235
129
296
230
217
182
225
138
155
129
133
141
173
203
211
175
188
171
203
242
283
236
170
166
194
202
202
155
129
164
155
227
185
183
128
115
138
258
217
155
151
145
210
202
211
250
198
127
214
129
188
215
198
278
130
156
168
155
195
212
181
119
145
186
222
184
264
203
220
173
217
173
129
244
200
187
275
173
173
210
202
184
146
210
176
138
158
147
200
191
129
146
236
256
130
130
214
231
173
190
225
263
150
218
129
241
148
230
130
146
229
183
217
119
162
241
204
202
203
180
228
210
176
191
146
208
184
166
182
176
217
185
186
184
204
122
202
231
210
216
179
208
192
177
130
207
173
184
204
115
297
233
259
200
173
202
176
212
176
165
214
168
166
159
178
206
146
173
201
185
239
206
133
130
189
173
129
274
133
177
164
164
179
219
203
204
209
143
255
162
159
252
258
141
204
207
164
183
187
185
191
228
217
180
164
172
195
244
182
162
188
217
204
159
204
230
175
153
129
254
178
157
129
133
172
138
198
115
153
215
216
129
246
188
175
299
176
184
176
261
211
202
164
146
162
254
197
169
221
191
166
192
243
204
214
205
240
230
253
164
130
189
234
246
212
192
197
143
178
179
204
163
173
263
133
204
170
156
204
225
194
222
231
236
159
164
218
172
133
174
182
170
122
197
200
146
212
184
195
138
179
247
173
202
176
151
191
157
258
200
189
130
133
170
202
217
250
183
166
138
248
239
204
242
129
172
158
246
157
133
228
193
184
183
231
222
200
209
133
130
192
186
155
171
133
210
177
164
246
228
188
164
217
173
209
204
183
168
235
193
180
211
226
232
158
168
184
229
201
175
198
176
173
247
191
200
168
244
163
167
164
133
181
236
158
225
261
213
206
187
186
157
185
214
207
218
202
217
197
213
238
283
166
296
249
133
165
133
152
182
183
210
210
191
199
195
231
169
233
156
173
189
261
211
239
171
250
194
271
253
211
203
159
250
130
164
183
199
130
166
217
176
191
176
201
161
180
235
192
222
201
119
157
230
183
263
217
197
197
202
188
173
190
204
227
224
194
270
185
129
173
220
227
173
228
157
200
165
171
204
267
182
257
217
217
180
115
171
217
161
259
211
156
173
202
207
194
200
210
192
164
145
162
164
133
293
247
238
205
174
315
217
231
200
176
217
170
206
251
266
210
168
128
217
129
176
228
173
226
142
235
130
166
172
155
162
168
167
204
141
187
144
155
143
214
204
146
182
156
186
217
235
175
130
230
223
148
133
168
191
132
179
225
231
115
210
275
162
229
162
206
156
220
173
207
229
176
157
179
178
150
170
178
209
130
226
183
246
160
245
194
193
176
174
157
133
187
173
238
267
172
196
289
257
181
179
173
162
204
169
168
179
204
156
129
204
288
229
115
129
229
130
194
171
195
195
266
202
264
165
199
129
144
146
161
193
211
200
149
185
251
181
122
230
157
202
191
179
225
201
149
145
161
175
161
243
129
238
176
211
203
237
183
203
173
146
204
173
161
173
179
313
216
195
166
155
300
193
229
130
176
176
186
143
195
220
257
227
129
147
174
129
253
204
204
162
228
156
146
335
158
287
161
258
202
262
193
176
129
251
249
146
248
129
232
217
192
146
141
244
234
157
241
278
211
180
211
138
146
166
212
252
184
247
204
238
178
235
230
173
191
179
158
115
265
162
228
203
213
165
178
201
189
190
166
210
234
133
141
180
258
210
264
240
199
167
155
182
243
122
151
146
181
253
173
218
245
195
138
297
186
209
210
238
206
168
168
210
247
235
186
216
181
236
169
228
184
115
138
160
138
259
180
196
129
176
162
200
200
178
230
211
130
181
150
155
209
157
130
206
158
210
173
164
173
177
204
253
156
175
217
206
158
256
189
168
284
162
223
149
182
236
129
195
182
252
176
204
274
161
147
230
256
195
164
173
167
196
174
206
196
145
225
217
133
219
191
129
194
199
173
156
173
254
245
193
230
193
229
247
227
174
218
253
210
253
247
194
115
234
193
252
257
197
145
173
184
187
205
184
146
231
206
206
229
245
174
204
224
181
183
246
130
180
205
173
199
192
202
219
217
168
144
236
194
178
300
207
138
222
170
175
200
204
213
146
170
162
122
191
260
236
203
176
176
168
260
179
177
202
183
211
231
146
230
246
251
138
205
204
129
265
204
215
226
161
257
214
184
182
239
162
188
175
173
243
189
219
146
177
146
179
186
205
198
186
223
129
204
202
240
146
162
164
146
197
200
187
208
189
206
122
217
192
182
168
247
226
145
222
201
115
153
184
228
182
212
173
201
218
256
273
229
188
217
182
178
187
230
191
224
178
173
210
143
280
264
215
208
194
170
231
164
196
168
191
179
202
206
173
162
129
175
217
209
173
178
232
188
217
183
240
240
173
230
176
115
173
169
240
151
180
206
227
182
198
217
150
243
181
215
191
260
256
190
178
169
325
205
155
204
173
180
191
257
183
174
153
185
191
249
235
182
228
292
168
184
231
187
155
115
263
201
276
174
255
204
213
177
186
228
230
155
130
143
169
228
214
207
184
204
164
130
153
184
212
150
236
138
188
204
240
283
210
206
277
204
260
177
179
230
202
143
138
129
145
209
207
212
159
173
236
194
173
217
239
161
264
209
243
303
159
146
182
244
176
236
190
191
179
155
191
201
143
200
182
141
253
169
229
231
130
250
218
164
194
209
304
164
217
309
215
211
176
130
172
204
202
206
151
146
230
209
166
241
178
162
169
235
210
179
162
146
176
215
254
155
275
333
192
204
204
215
217
243
181
183
129
176
228
175
201
222
122
185
211
115
122
225
182
173
167
173
216
185
133
141
145
193
202
204
200
207
183
146
239
210
176
257
282
229
168
191
147
145
206
162
190
191
200
155
188
191
160
189
205
260
143
201
242
183
164
185
193
227
272
173
155
289
175
214
189
235
210
235
241
157
236
210
133
128
187
183
119
155
239
164
184
146
146
185
203
197
173
229
221
183
206
169
244
162
222
143
133
251
166
166
198
210
196
225
158
210
224
182
201
165
248
128
146
212
130
217
132
204
221
224
243
197
158
173
141
201
184
193
231
220
204
170
162
297
129
222
264
182
228
204
128
146
193
209
156
232
162
156
146
182
212
214
161
221
182
115
202
197
208
173
217
225
178
184
233
178
143
164
222
173
300
146
204
227
183
238
129
156
173
261
176
160
146
178
185
219
130
178
215
130
144
204
213
181
182
216
218
232
245
186
267
283
182
200
156
226
202
181
206
224
176
211
237
229
182
157
240
202
193
239
289
206
156
168
234
187
185
155
217
195
158
166
144
258
186
242
176
210
181
216
173
238
211
188
210
222
179
164
265
238
201
129
132
184
216
195
143
181
149
200
178
164
231
229
205
130
149
184
266
217
146
200
170
261
183
210
161
182
150
209
146
191
241
146
155
202
155
122
248
217
255
210
166
218
218
173
262
203
164
265
129
180
184
204
223
210
238
230
210
130
274
188
162
141
183
146
182
169
178
144
191
222
146
130
195
174
180
218
130
230
201
190
175
155
204
169
156
202
202
179
184
129
202
191
228
196
182
168
173
156
258
204
235
129
187
144
173
217
174
162
222
145
145
173
133
173
187
133
172
248
159
231
176
263
241
189
130
163
168
230
183
251
231
174
207
210
269
150
129
231
166
266
256
198
247
173
169
216
216
257
149
133
158
133
238
300
264
205
164
247
228
221
241
266
232
188
174
130
186
186
182
168
129
243
157
222
212
248
164
248
130
215
220
133
212
209
189
229
182
229
168
155
200
195
144
133
280
261
145
214
182
174
186
179
194
147
193
197
209
244
173
254
129
181
173
239
221
173
215
143
173
199
210
194
258
173
130
173
260
231
199
234
185
156
162
211
307
199
157
182
170
191
158
173
157
193
158
246
214
180
243
184
251
208
164
133
281
130
129
182
204
288
246
203
194
129
246
153
254
204
173
164
206
151
195
129
170
214
173
200
182
183
191
183
204
169
220
169
197
187
200
242
257
173
169
160
174
204
143
174
282
228
161
218
115
206
130
193
201
203
129
256
238
146
183
129
146
203
167
198
215
129
184
146
170
252
221
190
201
187
200
164
256
217
203
217
233
179
218
158
204
218
168
257
173
173
185
212
230
213
133
240
224
206
195
203
238
238
230
184
235
183
230
129
197
164
115
210
185
173
158
191
230
200
199
263
210
201
222
183
230
183
268
227
174
195
164
188
236
173
130
164
174
230
189
230
217
194
209
150
145
240
174
219
274
170
227
204
130
303
238
202
259
204
226
204
167
178
215
191
206
145
200
166
194
192
228
261
162
183
200
204
171
246
171
183
245
178
173
160
173
185
183
164
176
128
196
227
210
223
191
204
217
162
155
191
229
203
309
173
234
178
180
224
115
195
143
210
200
188
133
175
222
162
232
160
253
204
193
156
250
212
214
164
156
130
176
151
173
146
152
220
201
217
155
150
244
171
258
213
227
183
198
202
226
182
239
182
152
174
128
201
218
129
184
130
206
176
166
145
146
182
174
143
132
178
164
176
176
182
163
239
231
166
189
146
253
321
146
173
173
172
269
167
209
182
173
146
164
182
129
149
130
189
203
129
176
237
160
209
217
220
174
232
169
168
122
193
155
216
176
170
187
203
188
238
233
217
177
209
141
172
182
177
178
143
174
268
145
210
129
221
236
152
209
150
143
238
201
235
164
162
141
236
222
130
275
264
129
195
234
129
151
146
214
161
211
233
164
199
194
217
210
280
226
205
188
180
239
165
115
219
203
251
130
255
172
281
188
246
179
221
169
160
186
202
212
128
185
206
202
219
184
240
205
152
180
179
165
221
211
129
181
145
160
168
184
233
182
204
264
235
166
158
226
130
213
129
222
153
190
233
185
155
158
130
170
160
162
174
184
191
146
209
225
151
191
166
216
146
172
172
206
129
163
267
210
194
187
159
156
221
201
262
145
241
214
190
210
173
174
184
192
262
173
241
202
158
180
146
183
200
163
203
182
303
211
202
173
183
170
171
129
158
182
130
208
204
181
249
170
247
183
168
189
210
191
216
130
128
204
184
173
130
173
184
183
157
211
171
219
202
183
168
166
173
173
129
201
205
201
194
202
198
211
218
221
206
185
215
146
231
176
183
211
204
144
214
259
187
186
183
270
296
203
155
178
195
176
169
119
197
210
158
180
280
165
230
211
158
183
130
204
169
155
164
224
251
335
204
115
146
138
207
267
209
172
221
187
133
184
171
128
205
234
210
115
191
250
129
155
129
166
202
169
179
173
185
133
197
167
129
199
169
226
296
206
169
171
264
202
184
215
164
130
218
129
133
146
204
187
177
203
122
151
197
159
160
162
242
168
169
169
202
220
191
199
225
176
188
133
199
178
205
169
261
202
187
161
218
258
238
273
212
191
205
335
219
182
180
200
250
230
278
216
214
218
200
194
168
178
146
190
168
195
160
204
146
171
128
177
259
202
209
168
216
173
195
190
144
178
217
180
241
224
129
173
143
178
173
173
182
198
156
157
180
198
204
246
183
184
223
219
245
201
130
191
158
169
180
239
205
166
184
230
197
152
335
180
179
222
173
169
236
180
223
180
129
188
147
204
147
210
190
225
201
188
168
217
206
228
204
294
184
148
267
141
233
115
146
242
169
145
184
169
169
202
220
240
208
188
173
225
241
184
182
168
158
204
204
253
187
162
209
119
259
155
199
211
230
209
202
212
141
183
151
182
221
229
205
149
221
194
129
201
178
133
184
210
173
286
170
173
260
204
210
203
176
182
261
281
143
210
133
248
171
220
230
182
122
185
241
191
179
172
183
239
204
293
187
191
186
211
211
193
159
164
221
129
156
261
187
183
226
200
209
156
204
177
133
146
143
191
173
172
241
250
177
192
129
204
129
143
138
130
208
211
213
129
119
203
272
261
205
222
201
167
186
206
298
218
255
174
130
179
219
211
274
165
217
158
244
178
252
174
151
196
173
189
212
146
152
158
179
269
302
146
155
182
146
129
265
217
228
231
226
205
146
217
168
331
161
247
189
205
279
211
259
210
151
194
287
164
159
211
207
224
272
146
133
210
173
183
230
180
198
130
176
259
242
240
156
184
240
129
205
233
168
201
169
257
173
194
191
206
173
192
209
156
184
158
146
174
146
335
178
248
247
122
180
222
122
176
180
240
151
225
130
173
260
204
146
115
132
206
167
204
200
183
130
186
189
239
201
204
211
227
229
138
231
304
206
143
188
197
284
201
184
173
169
217
166
260
271
170
186
185
203
203
191
203
295
133
149
201
227
230
164
247
211
214
199
132
198
204
200
230
193
157
191
179
176
199
201
166
192
204
194
227
229
129
164
129
268
188
176
173
300
194
115
184
179
206
156
193
193
179
191
212
202
167
206
130
171
183
226
225
171
164
184
263
204
179
219
204
143
258
173
143
156
221
214
242
186
247
195
207
185
174
230
184
173
155
146
178
174
239
211
236
164
210
230
133
181
146
146
184
189
164
147
238
183
234
129
115
213
173
185
168
217
133
203
186
130
119
144
157
230
282
221
225
194
145
130
198
195
130
130
185
182
204
173
238
194
129
168
205
189
204
211
230
203
210
214
146
173
225
233
133
192
210
171
183
164
198
175
115
130
182
183
162
165
146
171
183
190
164
215
141
191
172
211
155
129
168
233
293
204
248
158
196
194
255
225
176
115
201
188
191
129
163
225
179
281
163
192
189
180
246
130
314
254
150
145
172
128
193
222
200
185
246
158
204
150
164
251
268
288
200
167
206
182
202
115
179
160
130
184
281
219
229
225
219
171
192
188
203
184
143
295
204
210
129
157
146
158
162
215
261
146
115
179
146
161
202
188
160
210
182
164
274
122
171
207
129
188
186
246
244
201
206
219
195
239
182
189
199
155
160
230
302
225
155
146
166
151
189
204
204
146
202
171
147
261
133
199
188
214
204
283
173
168
264
227
203
141
165
193
180
164
129
302
186
164
129
176
153
261
210
210
168
186
214
176
179
129
162
224
192
169
143
214
173
283
161
184
200
176
209
191
204
178
162
179
188
164
191
216
238
228
168
202
196
146
208
129
162
227
146
230
218
175
200
193
176
239
225
216
193
230
202
238
261
173
204
204
230
256
208
158
170
240
204
236
185
192
164
202
220
228
205
187
130
202
232
129
146
130
199
176
227
175
145
133
170
287
283
239
185
217
213
217
169
200
202
204
157
176
191
186
204
194
115
158
366
188
195
217
292
164
227
173
115
182
335
225
212
166
190
215
238
189
182
192
202
122
205
208
214
145
133
115
164
216
229
129
182
202
173
129
130
182
207
264
207
129
184
129
222
143
191
183
129
216
226
220
206
157
200
201
229
195
181
161
241
176
188
130
168
173
176
213
238
202
238
161
256
169
230
209
174
204
152
184
194
182
206
184
265
173
200
149
231
267
195
198
220
173
143
130
232
180
264
218
173
173
170
182
188
162
222
207
158
199
243
222
187
130
236
185
150
152
172
187
178
210
227
143
217
176
129
228
174
218
286
161
197
234
178
259
196
182
188
267
233
226
200
162
204
132
195
211
184
217
171
156
164
181
204
216
195
161
263
167
241
146
149
220
202
189
130
180
210
204
191
265
166
164
232
130
222
173
170
206
178
169
166
203
133
220
245
166
202
229
176
152
203
130
201
238
176
188
243
169
221
214
250
288
191
217
242
130
155
169
210
182
217
202
132
157
181
168
280
158
208
175
223
128
173
259
162
133
188
200
211
133
224
222
205
176
169
229
239
227
159
217
147
146
207
190
223
230
264
173
115
146
210
236
166
130
133
192
240
150
130
215
207
214
195
130
173
203
158
221
186
176
240
184
172
201
199
145
278
129
249
204
171
176
239
185
178
244
204
224
249
267
209
130
179
199
210
210
198
156
146
158
162
159
229
173
264
184
206
221
130
210
274
171
229
235
145
188
146
133
180
204
182
230
217
145
202
251
183
129
176
204
183
161
182
192
183
215
203
207
193
176
203
264
230
185
191
158
157
187
168
183
129
204
176
184
157
164
161
129
247
179
171
219
180
240
130
167
202
130
250
129
176
210
173
195
168
240
183
164
182
192
190
129
130
247
222
130
221
283
214
252
237
170
225
195
208
168
195
212
207
184
205
173
235
209
122
191
165
214
261
211
220
129
166
176
192
209
202
157
158
200
204
198
239
254
164
181
174
145
115
211
245
173
129
193
191
211
234
239
186
202
122
146
221
217
129
162
130
146
130
207
202
189
204
211
182
172
172
173
230
173
227
206
168
197
260
204
190
173
217
176
239
164
235
174
189
277
197
206
267
130
211
247
227
183
183
234
176
158
179
201
180
219
132
183
180
186
259
248
206
130
172
176
176
245
183
191
228
217
235
173
184
164
181
242
248
201
172
115
277
164
296
200
252
184
172
203
234
236
194
239
210
165
259
246
261
204
143
150
219
225
187
178
146
162
173
205
158
187
133
191
161
182
161
143
266
211
189
283
249
217
200
145
220
173
229
222
266
206
234
184
247
183
178
216
257
129
249
280
155
225
133
190
146
235
181
162
210
230
255
244
178
219
158
174
144
185
146
130
210
183
244
147
245
200
242
230
236
146
141
195
130
213
190
205
198
172
201
158
221
201
211
162
246
180
198
115
236
151
197
200
240
167
157
173
234
204
146
119
129
188
258
162
195
217
221
216
164
189
133
152
245
115
173
251
236
216
191
215
176
267
179
133
179
252
225
204
217
185
187
155
204
201
230
211
146
167
181
214
170
129
191
191
206
173
164
169
267
147
230
146
178
146
190
204
219
146
161
143
218
147
178
166
187
145
145
145
257
202
186
195
225
179
146
177
198
162
184
157
224
190
199
133
202
181
209
249
173
217
261
199
164
129
145
230
176
211
200
217
233
130
156
199
173
200
130
146
223
168
201
193
229
171
176
160
164
289
229
179
146
146
177
168
202
145
194
238
173
145
201
145
232
245
204
156
253
236
171
176
252
138
130
151
158
178
115
202
141
207
133
170
228
165
176
217
185
195
217
193
262
172
176
192
214
215
162
218
213
185
215
210
129
218
200
204
192
236
191
133
217
130
244
224
178
236
236
129
200
196
238
218
178
200
201
214
166
172
178
182
226
168
185
172
170
178
146
225
130
209
183
171
185
188
133
236
189
226
176
173
199
228
212
197
215
129
168
162
146
156
210
252
204
267
143
132
180
264
176
146
158
178
200
145
155
185
303
162
160
129
181
228
224
200
200
129
151
160
147
169
235
181
167
210
195
202
171
259
212
173
146
202
133
268
176
194
184
160
191
146
258
258
164
131
272
205
190
184
174
132
206
209
193
179
247
212
202
249
177
237
143
179
173
266
216
261
202
129
130
143
214
206
211
232
146
146
233
197
208
242
204
173
206
234
226
255
157
200
201
191
201
173
211
176
246
263
207
210
190
236
204
165
166
191
185
192
186
176
206
184
204
174
170
210
202
193
226
230
129
204
174
190
130
160
185
129
168
129
279
179
129
145
194
180
204
174
206
176
184
171
129
143
190
228
168
227
202
205
193
174
143
173
210
178
200
213
130
190
132
183
179
211
237
232
173
115
227
146
146
184
157
264
239
202
180
204
151
190
176
228
237
162
244
161
236
234
197
166
202
246
143
221
162
167
210
206
141
216
264
176
173
182
175
130
242
129
218
133
183
188
210
209
168
129
227
225
204
196
227
164
198
184
132
141
133
211
212
210
236
164
212
202
257
204
221
201
227
300
161
184
257
219
168
181
183
151
158
230
167
162
184
115
185
184
241
173
209
179
162
177
208
218
172
177
115
200
256
200
157
168
242
171
130
283
231
235
242
199
133
173
198
183
221
201
175
129
218
254
231
130
204
158
153
225
199
236
210
211
143
188
185
201
204
146
164
231
146
188
169
148
178
218
176
191
167
146
216
162
192
171
191
162
281
179
299
185
267
191
155
168
130
132
141
129
129
195
187
250
264
168
217
201
210
258
192
204
185
162
145
158
259
181
217
180
283
201
130
170
239
188
133
261
222
151
247
203
169
174
204
115
146
173
202
164
158
196
250
189
217
132
184
209
235
160
201
207
130
210
229
175
204
164
231
256
176
216
234
195
173
204
218
179
248
278
132
169
239
182
184
210
260
146
215
168
176
183
164
214
145
188
155
195
201
176
179
230
160
155
230
247
216
239
237
173
182
129
129
295
240
239
178
211
115
189
335
191
235
216
174
194
169
160
196
201
146
158
160
218
231
166
174
161
206
130
164
157
206
182
235
201
173
179
229
176
228
252
182
197
173
231
245
234
156
185
162
175
173
408
238
244
158
203
162
270
146
157
229
184
238
172
130
227
244
184
129
182
197
173
173
254
162
158
206
180
225
230
241
143
132
180
217
202
237
180
176
201
168
115
200
236
257
217
156
164
173
238
122
245
186
130
130
205
218
200
180
129
196
225
143
130
238
119
150
181
205
194
200
129
277
133
219
173
228
130
209
168
206
210
202
150
176
146
230
230
128
376
150
166
191
146
270
164
182
217
137
222
224
261
226
237
148
251
217
202
179
185
209
168
187
188
164
206
266
208
248
184
142
165
240
220
165
174
129
160
130
169
164
205
180
168
206
183
197
193
228
187
210
168
129
184
203
182
162
204
201
211
245
146
206
244
192
161
162
168
166
214
239
266
241
162
282
220
204
146
150
217
199
146
130
188
211
179
133
189
173
122
277
188
168
197
161
231
173
217
226
231
146
227
229
182
200
165
201
180
143
141
183
191
168
226
199
115
192
173
182
203
294
227
210
204
270
206
170
271
183
184
223
210
158
206
204
189
199
259
122
191
210
183
264
172
177
195
215
202
115
173
195
143
264
202
210
207
168
246
129
230
178
192
155
242
173
221
246
202
217
183
236
143
247
204
173
192
129
244
211
201
202
220
178
200
231
194
209
273
209
173
164
177
187
160
247
149
201
195
146
204
217
129
204
145
164
141
201
189
225
205
259
130
191
188
227
199
133
244
184
256
143
188
115
173
133
173
237
133
189
259
115
189
219
207
150
164
161
201
173
146
255
145
173
200
212
141
187
162
200
129
159
192
179
210
287
179
122
168
176
218
265
184
247
217
202
188
193
208
178
193
261
145
237
248
200
217
183
182
158
217
226
203
225
204
201
176
176
211
183
162
181
130
174
217
200
302
162
141
115
262
155
176
226
160
173
164
303
221
156
262
169
216
217
168
224
119
237
158
274
264
176
183
173
174
285
235
157
171
204
245
180
204
129
210
193
242
210
209
187
115
206
208
203
159
130
163
204
214
165
129
182
129
146
239
179
264
173
129
200
176
204
188
146
176
184
185
224
211
146
179
229
167
170
192
237
179
221
217
166
145
176
164
180
182
174
194
130
200
214
138
211
184
191
248
169
145
220
247
217
169
240
234
209
179
211
257
258
186
146
204
203
131
187
168
271
210
204
306
219
172
173
195
213
217
197
207
143
158
197
217
263
144
204
216
222
133
168
282
192
160
159
229
219
161
184
178
190
211
200
192
252
164
203
180
206
193
191
173
230
214
200
191
177
145
201
245
150
211
266
200
208
214
250
201
184
178
216
181
212
210
200
206
146
190
209
162
188
166
155
161
188
194
204
229
206
230
208
185
201
167
192
176
176
153
227
130
253
170
259
227
168
227
231
145
162
183
158
141
143
115
193
193
150
169
130
173
181
184
182
210
199
158
205
132
216
168
267
184
179
191
242
218
200
195
189
122
204
225
204
200
210
191
204
217
162
133
146
203
184
171
115
153
216
215
204
254
173
213
264
181
161
169
211
133
283
167
162
238
232
254
206
242
129
184
214
275
173
206
130
130
211
170
229
190
178
225
271
259
183
199
213
248
144
307
145
239
247
221
244
183
187
258
209
242
204
200
253
237
152
156
212
129
141
173
204
217
149
146
179
168
143
146
176
146
227
253
181
214
167
288
184
184
210
151
247
200
130
176
149
229
257
176
245
177
206
191
194
263
216
182
187
203
188
180
183
175
159
146
143
261
146
152
185
195
222
182
206
168
188
176
181
129
129
231
176
178
168
248
162
164
144
303
129
271
156
205
178
183
217
174
225
206
138
133
183
182
225
130
161
144
170
162
164
202
188
133
147
252
155
204
146
191
194
207
183
208
210
236
129
214
204
177
146
221
200
210
184
238
166
201
204
115
246
185
184
224
146
222
251
130
217
169
146
171
129
248
168
164
162
262
203
115
130
209
181
186
234
204
190
253
197
178
129
184
187
149
166
176
160
115
180
243
155
195
230
258
256
122
285
155
238
129
169
243
202
179
181
178
254
210
146
164
201
143
138
229
199
156
233
177
233
211
190
179
150
184
200
186
190
115
215
130
119
236
200
172
209
234
185
130
169
189
155
187
209
255
158
244
201
214
209
241
148
200
239
156
185
168
194
184
204
257
191
146
143
248
169
142
199
212
204
191
150
184
188
180
242
204
221
164
173
149
173
184
285
183
217
168
162
171
130
180
246
179
204
218
209
247
252
184
267
191
169
227
217
211
300
129
199
204
130
178
164
212
279
183
144
188
205
236
196
185
209
209
119
222
143
230
206
206
204
188
201
177
149
143
227
238
189
193
200
210
262
209
217
146
235
202
168
180
151
247
164
222
122
204
160
196
170
178
129
265
187
202
163
122
206
194
192
130
199
168
145
168
188
235
150
231
158
176
115
199
216
188
180
164
115
264
173
130
285
214
206
219
273
202
258
230
162
211
242
217
188
216
155
184
176
205
200
160
231
274
205
210
183
189
214
129
214
205
174
160
184
206
166
190
165
246
146
210
133
230
224
184
201
129
188
237
276
144
208
229
155
230
122
156
174
247
263
176
236
208
212
129
164
130
200
189
283
158
166
228
172
156
202
156
191
227
168
164
255
191
207
182
153
182
217
202
214
146
212
175
182
164
197
159
178
145
204
186
227
173
227
204
192
207
211
239
160
191
156
156
226
194
238
256
235
200
190
175
133
122
185
198
185
143
314
208
200
183
200
270
184
200
216
194
129
189
138
164
209
146
129
146
185
214
219
184
236
188
159
146
171
204
252
158
168
211
143
138
210
191
193
245
133
156
146
159
202
228
173
257
194
272
228
206
129
129
232
223
225
213
115
130
206
192
201
171
168
153
283
202
250
190
138
230
264
132
133
206
209
180
146
230
173
141
217
130
178
202
149
179
257
169
129
180
288
272
172
200
138
130
143
164
173
217
155
130
195
129
247
129
222
149
242
173
223
212
157
130
251
162
204
183
209
198
212
191
183
129
238
274
176
179
280
221
146
204
180
166
291
173
217
179
182
210
167
183
248
143
201
162
191
180
143
200
129
149
241
236
158
155
199
158
161
201
236
214
207
161
192
222
256
266
130
162
161
173
158
143
232
176
173
173
236
278
158
210
262
173
215
201
165
130
144
146
215
146
233
212
192
232
228
210
258
173
169
185
179
173
168
202
243
217
183
231
214
194
183
175
156
217
260
132
224
228
162
211
258
201
216
182
149
234
229
145
173
129
181
195
169
133
211
190
157
199
228
244
233
167
168
226
146
178
184
241
162
247
210
164
193
251
254
194
129
173
181
182
261
229
160
257
196
149
185
244
182
145
246
237
168
227
156
202
145
204
176
130
115
185
189
200
166
235
229
205
130
129
168
216
205
303
205
190
241
176
191
130
157
129
172
237
210
182
191
221
183
158
155
260
203
149
129
164
185
180
214
163
208
115
184
269
192
222
129
204
184
248
184
263
147
156
236
203
201
149
261
202
231
156
189
214
157
191
175
232
162
201
173
173
217
255
206
202
239
235
115
215
217
208
183
205
180
198
228
158
184
149
164
173
166
206
177
214
168
141
183
221
158
179
193
155
162
217
157
182
209
208
174
202
188
251
218
202
259
201
204
229
178
212
201
122
204
145
176
202
217
149
146
178
130
224
194
176
225
143
179
207
224
141
190
158
182
176
169
143
169
200
158
211
234
258
238
167
198
115
166
164
149
184
183
168
182
181
179
193
169
182
223
235
246
237
206
251
128
179
130
217
206
130
197
170
177
176
186
130
168
138
180
115
237
182
201
175
190
158
156
258
211
236
263
211
210
171
171
196
210
302
214
270
213
145
200
146
189
181
146
246
146
169
164
188
212
141
122
188
173
201
152
202
205
257
168
246
225
156
200
129
169
176
190
161
204
236
174
206
191
250
210
162
209
145
244
203
258
215
129
181
279
179
220
247
164
218
266
214
199
228
188
195
182
200
150
239
129
146
202
182
133
209
245
201
147
115
233
164
168
130
210
294
214
132
166
255
173
173
202
206
168
200
204
184
156
217
231
147
178
269
197
227
186
158
230
210
191
146
202
146
186
166
146
180
145
230
239
240
182
189
202
211
149
210
191
324
180
261
197
129
130
185
210
129
188
238
130
166
211
181
183
151
191
183
265
206
165
204
173
129
146
166
211
206
169
130
207
202
129
164
227
202
261
210
274
129
233
203
182
204
255
210
212
211
150
150
168
176
168
252
174
204
174
143
214
178
180
274
119
166
193
122
217
152
178
234
130
210
115
184
260
184
162
161
204
176
190
130
216
231
129
262
183
172
129
172
180
188
240
270
236
201
149
178
145
168
173
133
154
206
172
210
264
188
201
115
233
212
217
157
210
236
203
217
168
193
247
204
192
202
119
258
229
218
185
195
155
141
130
182
224
190
236
240
217
236
202
262
214
146
190
191
176
217
217
188
150
176
167
229
187
179
262
237
183
250
130
168
162
247
180
180
176
183
203
222
158
214
129
129
219
222
216
211
172
184
218
179
202
129
166
192
230
141
173
130
180
129
130
129
182
225
225
197
189
259
185
146
181
115
173
146
128
219
230
192
157
130
177
214
173
264
164
175
235
193
166
200
204
210
198
133
176
265
168
176
184
284
171
129
186
211
194
185
184
199
177
222
173
291
130
188
178
376
245
185
196
220
169
258
199
238
239
150
254
253
146
204
166
150
129
320
210
115
129
145
242
210
115
258
274
238
235
173
200
163
181
202
122
189
164
239
249
164
185
263
255
160
160
183
262
129
176
188
162
210
215
204
228
133
238
197
162
143
203
185
236
217
227
186
196
204
204
175
184
128
158
202
146
176
162
169
206
238
258
166
165
130
145
217
184
170
174
209
158
129
238
202
182
249
129
187
205
250
209
201
214
181
239
205
129
181
216
207
138
173
155
263
179
133
212
171
161
176
190
173
234
152
236
146
204
231
264
141
201
162
333
130
201
143
216
200
184
173
129
160
224
214
176
211
185
217
230
208
204
179
173
190
183
184
130
166
195
168
227
266
162
122
177
183
229
210
132
262
179
262
194
198
219
168
222
200
211
188
178
176
186
191
182
236
144
204
263
209
143
248
129
182
206
179
218
160
213
211
115
173
179
275
202
209
213
184
261
159
191
143
173
173
243
184
210
206
164
299
259
129
181
122
202
153
164
216
199
238
130
143
183
188
173
145
190
204
129
129
189
261
146
182
210
239
229
162
201
179
202
180
174
183
191
210
146
162
262
165
247
224
201
256
146
206
237
149
162
225
211
193
183
166
258
174
236
202
168
178
207
175
207
130
207
161
184
210
185
200
129
192
170
178
133
173
176
195
214
214
156
236
206
183
129
300
180
177
141
173
232
180
141
173
145
184
184
158
204
244
162
173
251
194
206
179
179
182
133
201
184
298
160
254
130
226
184
177
226
210
183
202
129
130
173
162
241
210
248
203
147
247
182
218
133
162
190
180
211
164
229
229
184
162
171
164
258
207
133
236
150
217
184
292
146
221
259
217
115
168
193
195
247
191
180
254
155
173
143
161
204
200
194
219
213
191
210
191
244
176
151
156
173
173
185
201
173
186
176
156
198
229
204
176
207
130
130
228
299
198
265
211
190
182
129
262
200
149
181
180
182
164
160
191
119
158
182
204
190
227
190
158
168
149
211
185
178
129
129
184
141
197
175
247
155
195
204
129
195
250
182
159
156
255
221
146
122
187
197
208
201
129
210
250
143
217
146
241
170
129
133
178
213
244
203
133
209
160
208
209
195
132
155
221
138
202
237
155
141
190
198
239
209
216
176
262
230
325
217
191
171
210
216
151
217
182
189
225
115
190
167
122
226
191
205
244
195
277
229
277
162
213
179
168
222
201
281
181
227
200
149
192
210
115
162
250
171
145
146
220
240
177
176
214
233
238
206
141
115
174
158
176
158
256
216
129
236
141
182
204
166
179
225
216
186
145
183
257
210
180
129
146
241
225
168
204
179
303
168
162
130
206
156
178
209
242
210
217
185
189
191
193
184
214
160
172
115
183
156
146
182
208
158
179
184
173
180
179
216
174
201
201
211
248
130
262
233
207
204
162
141
169
197
218
252
202
173
211
228
194
177
133
161
194
204
146
164
168
185
198
176
222
301
236
219
157
158
129
254
161
146
217
164
191
193
228
130
209
160
229
222
180
212
204
186
189
178
199
187
147
228
203
182
201
146
270
183
181
217
198
261
183
269
141
202
253
176
216
164
204
133
160
235
227
115
215
130
247
199
214
198
202
173
209
211
225
187
130
245
206
240
357
166
143
204
325
182
229
207
119
156
237
138
195
192
210
202
183
188
130
146
176
170
204
173
146
130
153
244
234
239
176
181
191
214
178
162
184
211
194
208
130
191
217
175
180
211
206
213
202
230
169
119
129
129
173
221
236
168
222
164
184
232
174
129
199
173
180
178
210
218
184
211
115
130
211
219
173
155
190
151
171
235
212
173
146
146
193
130
191
283
209
115
218
129
221
236
210
234
129
206
164
193
168
190
243
167
225
201
115
264
200
244
194
145
143
236
146
146
129
164
171
143
227
236
204
206
214
270
171
193
303
160
217
250
266
207
141
210
146
209
268
130
204
146
149
164
195
173
195
168
257
160
173
130
198
176
146
201
130
182
211
185
203
204
236
169
150
206
185
173
176
188
184
201
218
206
119
248
122
129
129
231
217
145
236
146
264
178
179
198
164
163
217
156
168
211
169
203
154
274
174
197
138
200
176
190
155
179
303
191
228
145
246
182
146
185
184
133
160
285
206
202
176
215
130
209
185
162
155
130
176
182
257
131
174
212
160
217
155
150
183
228
183
168
204
164
191
211
225
130
164
230
201
170
129
149
162
176
205
156
295
209
225
169
179
206
202
186
257
200
190
129
239
182
210
335
239
176
283
129
205
146
143
188
158
115
264
130
218
145
129
155
173
197
146
173
129
259
260
188
201
179
173
128
205
204
294
185
183
253
158
191
146
210
133
287
234
151
174
194
143
130
214
245
242
202
227
263
176
182
189
213
186
206
200
159
224
192
174
189
201
158
149
115
202
178
147
191
272
130
210
205
176
172
201
202
216
129
196
180
239
150
165
182
168
219
141
115
141
239
203
209
146
251
234
209
262
130
264
173
168
237
213
198
184
145
180
234
129
173
191
164
181
234
288
221
250
242
217
200
146
186
187
247
200
178
206
182
216
181
236
155
133
158
130
167
252
164
178
219
264
141
157
206
146
172
201
164
115
229
235
152
190
190
208
190
115
183
248
165
231
278
181
238
145
129
258
183
244
186
184
143
149
188
177
177
281
194
200
173
182
174
146
178
160
199
190
180
119
152
217
168
179
209
237
209
213
251
224
171
130
186
183
228
129
138
257
230
130
219
180
236
199
115
203
148
225
188
217
210
169
218
200
282
139
200
122
248
206
138
191
244
194
188
146
166
173
267
302
157
217
115
129
145
130
217
222
191
257
230
227
171
210
169
214
162
173
175
212
164
130
146
173
181
183
184
230
183
174
159
149
206
202
194
262
210
187
168
146
171
274
210
200
249
201
236
180
194
238
184
189
175
222
176
181
226
146
201
313
259
173
173
146
130
176
171
147
227
273
221
194
115
253
190
155
182
166
226
170
180
184
184
200
151
216
208
229
194
258
256
138
270
115
164
173
189
183
129
178
204
236
241
179
129
209
161
145
164
129
201
245
208
164
213
219
174
168
201
294
119
230
286
173
262
236
237
193
133
266
271
211
229
235
202
143
169
201
168
230
201
158
191
256
150
239
221
168
160
212
297
186
158
278
130
181
171
251
260
199
155
146
179
150
252
205
152
155
133
191
239
228
190
225
222
158
187
201
278
185
225
171
204
179
240
205
168
201
146
227
183
168
138
130
204
204
209
191
331
204
173
284
266
235
129
218
178
130
181
215
204
162
204
263
178
141
192
239
122
164
146
218
204
145
176
151
173
335
167
173
155
202
198
210
300
184
115
236
199
182
176
210
188
185
199
160
129
289
260
237
236
186
230
253
182
173
231
207
160
187
201
133
226
146
208
238
178
222
176
115
182
183
186
153
201
181
217
251
200
203
239
217
182
184
188
214
202
200
149
206
219
122
130
176
167
157
144
168
156
213
252
115
197
233
231
261
261
202
145
173
257
173
168
174
214
173
185
210
128
148
174
173
207
206
192
217
248
146
156
204
132
236
207
155
185
210
173
235
176
146
141
212
235
179
188
182
115
204
155
283
173
130
331
162
182
217
144
300
215
222
219
218
145
194
231
185
141
188
162
256
158
187
242
183
195
146
193
220
183
246
212
173
143
209
207
193
173
176
168
128
162
155
158
162
146
164
272
201
249
129
194
201
156
184
188
171
129
180
133
251
141
251
173
275
228
176
335
185
201
205
185
210
204
180
181
204
216
176
150
214
199
210
174
222
160
203
185
199
222
213
180
164
281
269
155
171
146
258
217
173
166
200
238
200
204
184
222
175
200
195
155
183
168
204
219
176
157
207
130
156
294
226
174
174
176
130
303
261
211
168
201
164
129
129
222
213
204
210
247
244
185
191
259
191
211
179
277
160
165
187
227
257
252
143
216
258
376
183
203
251
206
198
230
227
157
203
180
173
214
185
158
238
185
176
263
155
166
155
236
262
167
208
238
238
238
138
155
222
191
248
209
164
164
193
129
176
211
172
141
164
176
130
182
238
206
248
176
158
133
220
243
187
179
216
115
262
184
194
291
204
306
183
162
210
254
138
179
115
256
202
182
195
145
225
174
174
202
233
234
202
180
201
214
252
180
217
210
203
183
218
156
217
182
187
259
179
192
220
231
130
129
228
233
129
184
242
187
188
143
218
197
173
221
288
214
211
130
228
208
195
191
149
243
161
217
176
250
181
200
188
258
264
195
185
207
167
182
209
252
182
162
176
146
260
201
245
249
178
234
210
173
179
227
133
184
212
189
230
222
156
164
235
221
222
204
191
188
211
185
246
208
184
222
177
201
223
204
274
236
228
132
201
115
204
217
208
155
182
173
235
238
192
179
193
219
225
204
173
206
204
144
183
236
129
180
227
201
183
156
217
146
185
150
186
176
130
266
199
169
168
176
156
178
186
239
201
176
173
129
216
132
227
172
249
141
166
217
207
274
187
192
233
189
194
161
193
143
217
187
237
115
161
216
144
218
191
181
215
164
230
198
178
234
262
143
176
195
268
157
208
143
129
188
203
250
207
229
173
204
199
169
129
233
220
174
238
185
209
186
138
161
130
261
210
146
202
211
176
194
130
247
150
259
170
130
196
298
208
236
201
303
129
176
155
174
155
168
181
155
204
210
211
182
211
182
155
208
176
173
192
173
164
230
182
216
231
237
301
169
204
176
176
130
261
129
173
178
169
225
230
201
264
133
132
247
149
191
227
178
201
181
210
288
176
179
175
174
202
182
144
229
158
252
185
199
138
277
144
171
130
166
206
175
173
158
168
199
266
230
207
172
259
211
224
157
186
201
191
299
160
230
258
271
173
222
213
180
211
192
161
190
209
182
197
325
188
218
184
178
224
214
228
227
264
158
213
228
185
198
199
248
201
183
207
169
193
185
164
202
145
198
226
119
170
129
150
129
174
164
172
168
168
162
166
206
176
162
182
190
202
176
173
230
181
166
213
252
218
258
175
235
187
186
146
158
216
185
156
191
258
243
166
208
201
146
204
133
211
277
168
176
191
230
187
159
247
189
185
227
130
206
115
202
201
191
200
171
130
185
141
205
205
173
173
129
221
185
198
158
169
191
206
187
203
183
232
258
161
238
186
183
146
341
181
187
165
238
204
204
178
160
141
130
217
199
217
188
202
195
158
191
168
321
198
183
168
160
175
303
169
183
146
275
182
145
196
191
278
143
162
194
166
181
208
202
204
228
176
190
186
207
215
162
240
246
129
201
258
168
220
191
235
166
173
146
182
210
260
173
183
264
229
203
201
173
188
206
173
222
146
172
192
141
186
138
194
265
202
262
156
146
226
268
130
211
171
170
129
133
211
156
169
224
256
264
156
205
146
177
172
258
193
206
206
256
164
162
150
207
122
173
168
171
277
129
129
166
221
204
145
203
196
130
197
238
156
210
259
182
179
209
149
184
220
173
166
229
130
167
146
202
209
129
130
156
195
178
202
162
179
181
202
143
179
161
222
164
225
115
175
155
146
182
187
203
183
266
204
162
161
155
287
148
191
129
143
181
173
124
115
205
174
260
192
197
217
252
204
231
210
146
196
183
160
193
284
145
198
183
176
221
156
157
213
236
179
236
194
161
164
130
193
211
168
130
215
201
190
132
217
211
183
259
180
129
176
205
200
129
217
210
182
161
176
206
157
194
277
199
133
246
168
193
141
152
307
176
211
130
297
180
167
230
130
230
129
207
171
211
183
130
185
230
191
155
211
173
260
161
202
309
143
194
199
217
203
185
228
247
260
239
204
214
225
173
149
146
230
236
188
201
300
258
211
168
173
173
242
147
201
203
200
149
187
132
176
173
166
273
206
240
191
226
197
191
234
248
205
141
201
202
265
181
212
156
150
162
184
313
188
259
184
168
176
133
198
241
244
129
180
260
194
189
214
210
215
202
209
190
231
168
233
158
238
238
250
239
141
253
235
280
182
129
129
174
213
141
146
191
173
230
220
202
191
177
210
200
155
191
146
155
146
181
170
168
176
163
169
204
130
158
204
171
158
215
150
205
240
178
202
205
217
174
201
236
259
182
227
170
168
265
145
224
201
201
146
187
133
160
162
239
204
174
184
217
204
183
133
300
200
250
201
238
158
156
195
153
224
222
191
146
161
181
183
133
174
176
167
200
180
219
228
150
185
146
193
143
133
184
175
188
209
149
202
204
196
212
191
229
201
176
197
195
263
233
163
168
189
176
199
164
217
179
143
242
195
202
133
192
235
217
173
190
175
177
210
229
210
129
145
146
242
184
164
238
176
227
228
245
188
285
184
200
204
288
129
164
252
144
173
144
176
247
189
141
211
130
174
162
179
211
169
213
239
214
206
129
225
209
158
289
261
219
266
173
188
207
183
189
129
225
220
189
133
182
155
146
129
169
161
230
227
130
168
201
168
195
143
173
130
186
211
258
215
122
188
195
168
129
168
171
122
252
202
130
333
186
258
129
205
215
258
168
195
194
183
162
209
237
131
180
261
172
162
241
200
192
198
166
247
225
173
169
210
194
162
244
192
182
197
168
211
185
178
198
171
182
162
266
161
155
149
200
183
133
182
209
143
133
190
234
168
237
185
176
231
181
254
138
204
178
278
178
184
259
214
152
178
256
194
254
143
235
143
264
247
276
146
217
133
165
204
211
216
183
236
115
183
209
211
185
197
146
176
175
169
265
216
213
176
233
130
259
181
184
169
202
141
182
207
210
222
178
206
146
250
201
183
211
197
207
217
156
214
208
216
267
138
141
217
179
216
152
325
240
264
130
212
191
158
228
179
187
158
225
115
168
215
164
182
259
246
239
180
168
129
233
168
184
214
203
115
168
217
189
162
115
212
225
198
186
163
164
222
185
193
191
194
267
179
202
147
193
262
190
193
129
214
164
170
225
214
196
210
201
185
141
207
182
176
270
201
210
190
296
242
194
216
176
158
196
161
183
196
262
178
156
179
218
238
188
201
184
145
119
222
218
181
176
130
176
133
173
203
169
255
175
129
210
182
222
211
147
231
179
161
228
208
171
250
181
172
231
155
234
145
180
189
190
270
170
209
211
133
163
168
158
234
256
173
229
204
164
200
189
220
233
194
130
180
218
146
210
262
217
198
168
188
179
244
180
167
202
162
173
206
176
193
191
162
195
156
209
179
196
133
185
173
172
242
164
173
168
291
239
213
176
155
202
230
129
206
174
204
141
144
164
131
235
236
130
129
217
129
216
122
250
129
176
296
222
227
272
200
234
138
245
115
214
169
169
286
129
234
193
146
231
182
221
217
210
188
201
130
155
222
162
206
266
238
122
219
130
173
217
257
230
173
146
158
172
244
172
307
128
226
176
164
204
202
264
190
199
173
176
179
207
248
173
146
175
182
130
277
133
256
222
162
185
250
256
148
210
204
217
234
183
205
181
200
129
184
229
168
181
192
176
215
281
261
200
192
191
226
188
200
164
176
243
227
231
162
129
187
246
277
250
209
185
216
157
149
197
179
156
179
158
164
129
280
174
180
177
178
133
146
167
170
209
141
254
155
206
307
129
170
227
191
176
212
174
225
139
162
129
211
267
173
270
287
184
176
140
191
209
219
173
290
179
166
250
174
157
130
236
146
195
169
185
210
176
185
145
208
283
178
178
191
189
272
211
223
156
246
206
203
201
178
182
171
210
234
264
256
207
130
294
182
180
206
221
146
150
203
204
204
194
129
186
263
216
155
246
168
164
179
129
227
204
222
146
245
161
272
133
248
129
190
218
180
206
217
295
129
166
146
238
248
294
129
133
221
303
170
206
182
221
231
216
255
180
146
164
210
217
156
176
196
205
130
143
229
222
173
198
234
202
195
162
256
196
199
229
204
157
174
184
210
182
190
150
143
180
222
193
242
179
176
191
203
182
209
264
184
160
151
252
264
208
162
202
216
161
186
218
129
189
242
173
129
187
115
164
200
230
167
158
211
168
186
183
191
214
335
258
236
145
206
288
130
204
184
176
146
162
212
277
146
145
146
173
177
210
181
181
288
205
254
253
150
201
161
237
145
162
160
129
169
145
158
185
235
201
218
195
251
130
183
191
182
186
249
281
129
130
158
255
194
182
200
168
150
192
209
201
194
164
158
173
191
346
244
236
183
236
184
184
335
229
238
155
189
183
235
164
212
157
192
170
176
173
239
176
160
164
214
203
156
214
187
222
160
130
217
168
247
129
129
155
217
146
156
158
186
195
210
145
256
176
130
181
258
146
146
130
205
198
146
173
171
236
211
194
156
210
130
115
206
274
133
257
231
238
146
176
205
206
228
241
258
238
251
201
175
205
217
179
173
217
243
196
275
231
129
196
195
230
145
143
166
204
162
201
187
129
133
231
221
200
269
180
247
234
189
152
204
256
184
186
210
224
155
247
305
173
200
182
222
205
213
222
186
185
206
218
192
115
169
238
229
168
195
216
227
146
170
263
153
282
178
255
132
258
176
201
205
129
176
144
184
203
181
194
207
218
200
210
193
159
226
172
175
175
183
180
145
130
191
229
184
312
130
143
190
284
141
211
205
242
155
246
189
249
146
180
230
200
173
138
217
188
169
240
229
201
211
274
218
166
204
186
210
239
236
145
138
183
183
186
146
210
193
182
182
238
256
261
183
145
200
258
129
197
178
252
241
129
243
246
181
239
204
212
156
239
217
164
303
159
246
202
210
188
165
153
225
146
243
195
230
283
152
229
204
195
138
130
180
173
180
217
144
155
182
156
204
197
182
288
190
222
186
191
185
129
149
146
184
203
145
184
155
205
140
186
203
141
203
200
185
218
222
259
299
168
145
184
261
226
241
176
176
169
222
195
143
225
187
249
155
143
183
211
219
210
155
145
223
168
251
146
238
250
161
165
162
226
214
228
283
210
225
173
152
162
221
192
210
130
235
194
160
196
226
211
164
206
208
221
145
212
210
228
210
173
177
268
145
225
186
181
169
182
190
210
216
209
175
174
192
133
197
178
238
180
131
185
204
191
184
257
127
192
221
179
166
203
176
261
180
229
244
252
222
256
191
256
192
230
180
184
204
145
130
177
211
182
184
238
182
178
140
205
168
217
245
218
204
177
184
168
204
185
161
213
283
220
202
169
239
200
183
235
173
173
189
225
191
217
189
158
203
217
158
228
286
194
173
129
196
191
172
132
159
191
216
130
253
225
183
194
232
151
230
204
210
222
228
190
217
222
216
174
129
287
179
163
115
229
211
155
287
169
173
172
254
167
186
173
231
168
150
246
203
192
133
205
151
220
207
170
208
168
201
210
146
182
239
239
173
164
150
173
222
276
165
273
146
173
188
158
230
158
238
168
149
141
166
141
156
228
192
199
146
217
275
115
239
201
221
209
212
193
239
185
183
143
162
335
201
209
222
264
183
209
285
265
250
222
200
122
190
178
129
138
129
115
215
184
206
206
145
176
203
115
159
217
236
146
198
129
191
210
260
140
269
189
231
176
191
133
274
231
217
179
130
260
155
166
206
204
162
170
229
217
171
244
204
218
146
182
180
179
179
255
146
166
247
130
122
222
195
211
161
169
263
143
143
164
179
202
151
151
228
199
193
159
181
195
146
202
225
168
185
203
178
213
152
209
172
228
130
302
141
156
133
172
220
146
182
122
159
204
221
225
199
225
217
202
270
246
129
231
184
203
189
159
156
178
159
211
144
175
240
212
217
198
202
226
180
176
230
200
231
209
206
241
211
174
130
213
247
155
197
230
215
206
178
202
202
238
225
178
251
176
141
168
205
191
189
185
245
173
194
176
210
198
238
158
145
191
220
184
178
234
137
212
186
150
229
198
222
266
146
186
222
215
141
217
191
160
251
182
180
182
183
248
146
143
184
251
158
173
185
201
262
190
218
250
200
147
264
257
193
176
247
133
266
166
183
129
129
225
180
183
197
217
178
204
184
215
229
263
184
191
165
184
146
194
242
178
128
207
226
204
178
129
229
230
206
214
235
183
176
268
260
246
130
128
165
204
179
173
222
164
247
204
151
228
228
122
236
143
115
217
172
196
238
226
204
162
222
225
159
115
169
138
214
143
191
130
167
201
240
146
166
182
256
224
210
182
130
179
146
242
186
146
189
176
201
288
215
255
179
162
220
225
211
210
232
259
246
130
217
122
155
183
208
158
182
176
130
181
214
166
210
146
205
181
234
178
191
156
130
244
115
146
195
178
158
168
202
199
200
151
227
248
197
147
200
199
282
198
173
164
238
214
178
249
166
230
179
186
157
184
155
274
146
129
188
222
141
189
179
179
252
264
176
192
211
203
181
183
217
212
227
259
196
221
201
210
243
256
173
254
301
173
154
221
206
176
247
224
173
168
202
161
206
194
146
207
287
192
217
201
161
166
215
222
205
222
192
183
260
335
178
234
239
303
207
158
143
180
204
249
178
211
173
180
115
211
179
210
262
184
244
182
173
206
172
192
225
150
206
164
162
146
168
147
247
173
167
216
239
230
188
176
193
150
185
211
209
147
179
178
269
183
208
229
178
187
181
182
206
211
227
211
254
204
217
179
138
182
219
146
177
264
185
128
215
244
129
130
236
210
176
201
232
227
171
161
200
191
222
201
203
237
173
238
239
202
202
216
178
145
161
191
184
219
146
176
203
198
210
171
239
188
200
146
130
194
195
262
151
143
255
161
210
240
176
179
228
229
145
141
138
221
177
205
214
130
206
170
162
132
187
183
173
189
222
214
228
146
196
177
193
129
224
143
143
176
168
158
158
195
210
146
195
133
188
173
186
222
145
158
251
188
168
195
217
218
188
173
169
236
181
145
144
191
155
175
158
194
169
265
228
157
174
182
129
130
155
215
285
207
149
173
194
157
275
176
215
157
165
200
217
230
210
257
277
211
130
145
210
205
162
159
211
156
181
238
194
150
152
160
204
241
130
178
138
208
212
200
257
230
190
246
132
129
199
210
290
143
143
214
167
129
180
257
280
129
202
194
164
184
167
146
186
217
168
129
150
162
156
130
146
168
128
186
235
223
158
244
181
225
203
201
162
192
222
183
162
209
158
208
240
212
256
204
195
173
238
173
201
217
129
179
158
201
213
161
161
180
191
236
224
230
209
229
188
173
214
188
191
181
171
255
143
231
168
222
158
195
164
221
187
196
174
146
176
197
170
187
176
214
234
210
264
201
156
214
192
221
220
234
264
252
217
178
165
168
185
190
166
234
176
183
193
133
181
145
182
202
185
204
244
128
200
164
203
194
249
158
165
200
156
182
195
264
179
119
132
163
158
169
203
265
219
130
183
168
238
178
149
202
133
182
217
223
188
204
229
164
129
146
212
191
146
189
197
146
177
187
146
210
210
205
229
207
158
184
210
189
115
228
171
206
188
238
239
188
143
173
163
245
199
195
225
143
332
186
221
171
166
254
119
228
147
129
227
244
209
173
197
199
202
202
202
157
179
185
183
250
129
226
302
204
171
169
246
129
207
198
183
170
156
170
174
234
255
263
174
232
182
246
266
145
201
168
220
219
205
178
222
186
164
173
248
207
184
182
146
230
145
201
160
176
263
176
173
156
166
160
218
222
122
257
188
133
185
199
160
219
201
129
122
185
188
202
192
204
161
162
130
222
214
173
212
193
240
211
162
201
211
194
216
237
233
179
210
156
178
205
149
209
218
191
143
243
175
173
146
216
202
200
186
214
184
228
129
185
185
186
211
242
227
150
188
181
203
176
162
243
233
182
200
300
262
238
193
206
204
211
171
187
201
204
173
333
132
162
252
281
250
214
210
202
205
192
217
179
176
226
225
179
212
235
217
133
202
158
204
221
146
201
173
294
212
133
186
204
181
211
204
184
173
181
184
191
247
157
240
158
166
201
221
203
170
178
197
166
198
178
241
186
245
129
146
216
169
234
160
162
231
189
193
173
183
214
246
217
195
191
187
207
238
204
228
176
185
183
177
156
284
192
178
129
173
218
202
158
133
130
145
153
216
209
225
129
172
244
201
204
181
183
216
181
146
167
164
192
202
305
240
204
205
191
262
229
204
186
180
218
171
230
191
188
144
129
187
186
133
247
130
122
210
145
185
133
176
209
145
218
146
178
130
255
196
256
173
187
181
201
147
198
173
217
129
130
146
202
115
287
176
130
173
146
115
129
206
150
152
176
129
222
241
185
192
176
204
189
210
179
254
224
223
183
210
130
147
176
155
209
152
243
217
176
204
200
188
238
270
217
201
217
146
222
248
257
205
200
236
183
218
278
201
204
217
200
185
169
181
152
201
242
187
232
188
209
259
176
226
207
180
211
216
186
221
146
202
190
173
145
230
133
283
230
130
174
129
191
166
226
176
143
218
178
287
164
188
217
201
210
181
210
244
189
216
130
221
252
169
158
115
179
192
168
156
219
244
217
129
211
209
141
161
206
130
203
130
171
200
158
146
150
236
168
182
206
133
207
254
204
246
192
129
225
182
294
129
146
184
158
146
179
164
184
168
219
178
202
229
211
217
179
239
214
162
236
115
175
232
226
137
276
174
174
230
325
129
193
241
161
164
203
146
260
132
128
230
179
179
115
215
217
145
145
204
156
189
119
155
193
178
183
249
194
130
169
169
225
257
227
198
247
182
179
191
173
163
164
225
200
172
163
173
176
186
299
161
206
155
162
145
200
250
130
207
183
210
209
184
204
221
188
204
171
191
173
187
156
204
146
143
164
259
227
158
168
242
205
203
244
239
211
214
179
179
247
172
219
210
146
256
195
158
252
174
133
181
233
237
210
210
226
212
164
227
180
129
158
249
172
209
161
192
245
146
261
168
130
217
178
198
164
236
130
130
170
206
216
185
166
207
195
158
130
193
157
162
202
180
262
218
204
173
144
138
244
183
204
238
155
173
245
129
149
206
129
200
169
182
168
197
202
204
193
143
201
149
176
261
164
223
210
199
217
181
230
179
237
262
155
269
189
182
145
202
247
157
214
175
237
168
146
159
227
158
138
133
261
146
155
206
146
173
176
133
195
228
217
238
186
267
206
173
240
130
146
217
143
201
195
129
182
164
173
132
249
171
233
169
171
180
173
203
175
232
214
170
129
184
130
186
216
178
130
155
219
226
235
206
176
146
188
129
211
217
210
169
164
129
208
183
210
231
122
173
260
182
222
205
203
149
173
115
204
206
201
179
129
278
194
182
283
141
297
199
146
139
195
138
122
227
202
213
133
146
141
166
197
176
192
183
210
173
205
209
149
184
246
247
214
234
212
169
244
186
181
173
164
232
227
225
155
237
198
188
269
191
244
176
248
143
204
210
129
204
225
257
230
171
233
172
210
197
210
237
202
224
176
175
218
151
189
173
115
204
209
315
165
180
202
138
157
212
202
244
183
179
146
164
160
164
164
234
147
146
192
174
259
163
186
189
158
156
236
133
217
168
298
164
239
186
239
130
208
200
184
173
176
138
204
146
209
240
129
188
225
265
204
206
184
129
200
202
224
186
184
183
164
178
158
184
218
210
222
212
238
174
143
162
264
239
169
198
237
185
182
258
200
202
319
155
176
178
115
161
196
222
200
238
129
235
193
234
306
177
201
246
228
129
222
164
236
277
173
201
191
183
210
176
255
210
173
143
220
169
250
193
115
231
237
183
133
173
179
226
190
211
240
169
260
183
180
237
187
175
250
176
146
176
176
228
300
225
238
202
259
232
186
179
200
191
201
183
185
230
215
259
130
200
201
173
202
215
155
174
270
171
247
171
201
249
200
193
210
199
222
198
147
179
162
207
129
201
274
188
173
146
158
143
233
180
168
173
130
129
155
164
239
224
264
237
171
147
226
216
231
158
249
184
186
129
201
280
167
166
246
166
173
199
145
205
182
204
194
138
184
196
202
143
214
205
194
217
155
256
217
147
132
156
173
129
213
173
210
155
226
160
236
138
156
181
258
202
217
187
166
169
119
201
226
176
204
178
132
164
173
133
194
143
204
164
173
226
239
131
200
202
264
215
143
286
227
144
156
217
145
164
164
138
199
186
204
170
238
143
227
187
200
173
243
156
162
199
324
234
165
199
182
204
187
160
358
200
179
224
153
169
250
287
195
227
177
186
283
144
184
219
216
173
129
184
189
185
162
200
155
163
277
221
265
224
204
246
157
184
176
170
179
211
183
262
146
183
204
201
187
260
210
146
158
191
162
218
162
150
238
146
210
129
225
143
130
173
169
204
212
215
194
129
204
212
261
173
130
193
262
255
186
162
201
184
199
173
146
230
176
130
210
173
271
184
167
199
115
195
184
221
230
202
249
181
160
200
207
129
176
190
175
211
158
176
146
155
130
141
160
230
172
181
220
146
202
215
201
147
141
204
258
202
193
150
158
203
195
194
180
146
231
215
185
223
185
162
169
182
201
200
252
170
182
179
182
173
194
247
230
181
162
178
162
129
211
243
217
167
184
171
224
231
175
195
189
205
187
157
173
129
204
183
129
210
164
180
226
206
238
183
232
119
161
158
227
200
229
115
299
210
258
218
129
231
130
150
214
219
253
129
129
156
204
187
146
253
217
162
267
190
146
146
164
172
165
210
257
249
221
217
176
164
130
206
146
198
201
167
204
299
216
193
210
180
141
222
143
276
242
141
258
255
145
188
173
179
253
220
188
195
173
210
186
141
201
164
168
250
175
115
236
178
184
221
203
168
184
214
169
129
187
229
149
133
217
162
276
178
168
180
237
202
191
130
256
146
161
179
175
212
173
176
146
130
150
144
195
150
173
226
146
152
205
173
222
218
261
255
146
248
190
225
219
234
260
133
188
160
194
175
146
228
198
243
146
217
288
217
223
133
335
207
172
192
232
252
210
239
155
218
210
176
176
185
249
283
146
170
143
145
198
197
259
185
191
192
229
174
129
262
179
130
195
182
185
162
129
183
152
184
145
246
129
143
222
202
183
203
168
231
158
129
236
173
286
200
215
160
212
204
140
197
146
212
186
204
183
218
182
185
256
234
176
179
129
191
217
259
252
238
145
226
191
183
204
181
173
238
137
201
179
217
144
239
300
119
160
115
180
165
179
273
211
204
222
184
151
158
184
211
139
138
236
129
236
191
211
263
205
158
164
193
244
262
195
176
178
230
184
227
163
133
202
176
173
218
185
203
145
147
210
176
166
207
206
152
158
191
149
168
186
209
130
195
130
184
173
222
202
179
232
161
170
188
221
156
157
141
217
184
157
204
162
225
251
146
179
173
241
138
148
164
176
222
155
130
176
188
257
216
164
197
195
204
209
162
227
231
146
173
258
219
231
147
129
211
168
241
225
339
195
209
204
214
184
144
237
173
208
173
176
204
130
274
189
151
242
115
225
238
130
159
195
225
206
167
185
185
150
129
176
210
176
211
186
181
222
225
195
176
193
176
156
210
258
191
217
237
172
257
122
148
304
188
162
133
172
181
147
169
156
214
233
211
225
191
145
204
129
173
182
184
222
161
185
164
258
168
214
155
179
204
208
206
218
133
210
205
156
122
200
172
179
200
280
204
204
228
146
179
173
192
188
231
184
158
199
191
143
184
222
210
194
221
188
217
176
119
206
229
188
246
172
271
191
186
168
234
159
196
171
146
186
230
176
204
193
286
129
140
196
179
182
219
206
210
204
177
231
209
189
225
255
224
230
206
184
237
146
188
216
207
179
115
115
218
222
141
196
241
231
220
187
255
263
206
203
172
207
200
196
179
190
227
173
122
229
166
171
201
138
179
199
152
168
165
210
129
199
183
198
188
215
211
210
226
200
268
176
210
176
189
173
253
242
190
271
166
138
210
193
129
130
238
172
250
319
151
131
172
293
214
208
182
233
170
185
186
190
238
228
233
149
182
280
184
299
240
274
171
259
185
207
192
214
256
231
146
146
236
122
129
241
173
189
170
129
164
211
153
230
256
169
200
173
195
200
256
196
146
230
216
173
187
143
160
256
239
179
189
234
133
200
214
172
202
175
204
129
130
217
236
195
160
164
168
250
146
234
211
221
185
219
204
204
133
192
185
214
129
210
229
257
158
173
201
225
129
164
224
163
242
199
277
195
170
130
189
174
211
130
181
230
204
144
169
185
203
115
185
180
213
192
252
145
145
189
160
191
155
173
195
204
184
144
258
184
183
227
221
203
173
115
197
186
178
164
237
143
167
176
209
231
217
232
235
228
224
174
197
196
146
215
201
173
181
217
168
160
176
288
133
173
183
202
189
184
156
182
225
321
219
185
155
195
229
236
197
242
230
224
119
231
216
164
129
130
178
245
129
181
204
151
204
230
155
251
188
209
213
199
237
129
146
213
143
185
263
193
129
184
274
218
158
231
235
242
130
236
210
143
191
170
184
256
229
211
195
218
167
145
176
173
173
248
158
155
179
209
204
222
214
242
172
230
145
173
204
207
138
133
183
133
249
128
168
115
204
256
191
173
189
182
210
221
208
158
151
226
203
130
233
221
200
191
174
179
195
264
185
173
158
200
129
176
185
146
218
236
230
210
146
209
205
189
168
143
129
176
261
221
234
261
180
217
163
202
253
115
175
183
162
264
219
143
158
181
190
205
161
176
216
206
270
224
129
204
216
190
227
193
174
159
144
184
260
146
218
143
202
173
146
146
164
225
160
209
169
216
129
244
202
211
302
197
174
160
157
265
133
257
186
180
264
181
217
214
227
230
174
163
230
223
166
202
303
181
264
227
115
190
229
185
204
215
156
160
193
157
214
162
182
245
202
157
182
176
167
205
254
300
226
152
204
168
271
283
204
223
222
164
173
122
249
172
189
202
146
182
197
200
169
250
211
229
192
191
204
249
213
227
307
207
281
122
143
274
177
316
153
167
130
230
211
227
212
173
168
166
239
143
217
207
221
205
204
237
161
179
273
169
187
315
182
180
246
209
200
182
129
227
236
188
185
176
234
189
202
162
173
208
179
129
179
281
179
237
198
115
115
211
263
178
158
255
239
193
232
215
227
173
202
176
130
204
171
218
191
211
260
159
269
233
138
179
167
130
274
164
150
202
129
278
239
172
255
210
173
156
161
204
230
141
201
224
158
205
230
189
138
198
289
215
204
217
210
185
237
119
170
247
146
237
227
234
130
210
188
249
164
227
168
158
221
236
164
229
162
210
231
193
145
241
181
191
171
210
138
287
196
145
238
209
237
145
258
176
259
170
280
185
258
162
168
206
145
274
171
207
263
251
196
279
168
130
222
222
130
244
231
258
144
202
204
214
221
211
129
184
201
187
217
141
259
210
143
208
289
202
209
284
115
195
179
213
129
169
184
203
201
174
176
182
213
184
303
162
143
225
206
198
166
155
115
130
218
192
182
143
164
269
138
146
179
181
210
274
197
145
184
175
273
149
182
211
211
168
143
145
161
249
133
193
229
241
179
158
129
182
130
169
143
133
249
222
191
158
141
258
166
168
119
208
115
149
146
176
185
264
220
180
173
188
173
151
176
201
214
173
185
143
146
198
190
229
146
171
256
150
167
171
213
227
202
192
202
210
209
174
200
246
215
174
130
157
194
146
189
171
182
225
271
211
192
274
202
190
204
172
130
233
177
202
233
236
145
178
164
214
173
203
211
257
173
237
130
265
115
180
232
281
264
172
189
146
182
212
130
198
226
184
218
172
230
195
141
183
230
141
194
194
150
205
173
179
222
191
202
176
171
174
145
192
201
261
191
188
130
217
167
178
167
191
188
229
184
129
146
237
173
217
191
217
173
178
263
194
115
130
199
200
155
175
162
239
211
210
162
176
141
236
146
122
130
191
164
133
165
182
176
204
286
194
162
173
188
185
173
186
144
204
185
252
211
129
164
232
185
166
146
247
206
174
181
185
201
173
155
212
210
146
188
176
181
171
115
173
162
172
150
185
189
204
201
178
170
233
174
208
176
239
155
194
185
204
227
144
130
217
129
183
265
254
185
133
167
220
144
183
184
234
195
176
227
146
182
183
197
179
163
130
129
191
236
208
225
132
214
202
283
246
170
178
184
158
161
172
173
129
222
230
133
129
206
184
188
161
130
141
231
176
129
169
264
168
186
188
176
181
146
166
210
176
180
201
169
182
172
197
130
179
180
213
203
198
244
223
234
170
186
182
185
204
176
303
176
209
229
206
256
184
166
228
172
115
221
225
143
186
244
141
149
255
173
184
263
173
165
174
247
162
178
191
180
298
170
186
130
166
237
129
208
211
178
183
145
173
194
156
217
162
191
264
205
129
150
176
188
176
208
176
214
216
162
238
230
162
194
143
227
179
194
180
122
173
162
239
232
152
144
219
147
231
129
171
115
218
211
181
171
230
129
211
167
165
201
214
146
178
174
212
168
204
178
155
145
129
228
225
146
184
215
201
162
223
202
192
199
225
145
149
210
201
130
189
211
213
256
155
185
146
172
176
200
173
162
222
211
202
187
216
230
248
167
146
211
143
226
202
205
129
204
168
181
202
196
146
233
184
143
143
172
202
181
221
178
187
131
221
189
210
239
261
164
204
190
168
234
172
259
219
249
201
247
225
208
211
210
170
247
284
185
219
191
168
145
183
179
201
162
158
184
164
180
189
179
184
129
218
133
151
166
146
204
222
211
184
163
204
186
162
171
322
193
171
208
264
176
189
221
155
204
155
192
185
129
181
231
185
208
193
153
173
250
287
185
122
129
231
195
204
132
309
179
202
193
175
261
216
248
143
225
190
202
227
215
130
259
229
288
211
193
228
129
169
202
204
230
168
192
225
212
222
145
234
183
257
189
208
191
234
129
209
181
176
211
248
150
201
173
236
233
174
148
228
149
129
236
119
204
201
241
156
184
217
143
229
173
228
217
200
184
146
158
194
262
178
247
271
146
200
175
200
240
214
230
115
198
206
191
176
210
228
146
222
224
247
166
248
208
216
232
211
143
209
214
207
239
176
149
179
133
153
173
149
162
187
251
176
184
210
257
184
173
115
230
158
155
229
191
250
214
239
206
195
180
156
183
211
189
209
191
234
171
130
201
129
219
182
210
210
129
232
143
161
190
162
166
174
260
143
173
178
230
247
225
133
146
129
225
260
130
158
210
204
206
189
222
173
219
197
271
173
173
146
152
212
171
146
249
184
185
191
162
119
156
230
195
258
241
230
145
144
192
194
166
232
162
158
129
181
192
209
170
185
128
178
190
182
179
200
188
249
129
200
235
173
180
151
130
217
145
202
193
167
210
143
251
177
185
236
133
146
210
215
236
196
158
182
180
242
159
174
182
263
220
182
155
176
129
151
176
129
250
184
204
194
146
173
221
186
205
245
146
149
258
147
138
239
176
276
183
156
188
115
158
133
182
129
238
166
203
129
172
240
188
146
188
149
222
222
263
214
179
178
129
149
246
187
146
191
207
130
151
199
183
205
200
220
215
204
168
146
133
176
278
244
178
169
213
189
204
184
180
224
210
197
178
205
267
159
133
218
240
230
176
209
164
210
141
246
173
214
209
210
143
200
156
155
190
206
217
202
252
196
222
193
173
255
246
177
132
166
192
178
205
173
260
173
200
146
173
145
132
162
217
190
157
178
130
171
130
214
175
178
180
200
214
182
198
218
129
168
180
260
200
210
221
202
191
188
204
239
299
291
204
130
130
184
218
145
230
183
186
128
204
204
173
176
232
233
169
160
234
206
239
210
188
201
193
286
183
170
266
228
156
213
146
176
144
206
145
268
181
223
194
173
232
172
184
222
188
200
151
146
158
128
253
210
129
155
229
186
200
138
169
130
228
232
187
246
173
184
210
187
211
230
143
129
150
227
211
219
187
130
235
180
143
173
211
143
168
164
162
206
144
226
164
229
249
165
239
173
227
198
143
257
229
230
210
145
183
206
175
201
139
166
198
210
216
208
218
133
162
191
152
238
197
207
190
152
228
211
199
254
115
144
173
218
248
176
145
201
161
166
247
130
169
211
193
193
147
162
202
196
226
205
278
130
181
176
176
191
158
300
210
122
130
202
201
188
175
184
259
191
249
204
146
194
183
206
208
211
217
184
206
146
146
146
157
250
180
203
173
177
232
173
160
213
204
176
173
206
176
207
214
179
186
173
238
250
183
202
222
196
230
201
146
169
176
179
156
162
210
228
155
146
236
201
202
176
156
166
176
122
194
209
178
146
230
183
173
201
210
246
258
152
190
220
234
178
197
201
225
146
208
270
201
223
159
164
231
180
210
200
206
200
130
197
167
159
194
164
144
130
156
130
178
153
178
227
115
170
184
183
211
175
208
192
213
170
230
168
155
130
190
174
156
146
218
214
225
206
182
166
167
186
208
168
176
201
173
204
145
182
163
174
143
222
168
195
168
195
216
219
173
214
222
115
166
302
160
301
201
204
173
242
220
163
158
226
130
173
119
207
189
257
146
179
221
168
325
147
217
164
169
210
201
204
162
133
129
168
198
141
141
225
195
182
210
217
162
141
155
240
194
176
173
159
129
274
297
168
181
253
145
184
185
171
204
216
250
158
188
173
145
213
178
217
184
162
158
176
242
247
242
191
157
241
195
173
133
192
203
197
141
240
210
143
129
348
224
156
201
209
178
184
175
155
236
155
132
182
151
221
182
168
151
122
252
182
145
157
246
180
210
150
173
221
143
204
168
161
203
202
129
193
183
160
173
158
174
264
170
204
220
119
186
207
195
176
217
206
242
131
234
176
218
180
129
130
210
202
130
206
170
211
181
144
129
232
269
179
204
174
173
218
130
222
189
211
161
164
179
236
222
178
146
182
239
129
236
176
186
146
221
182
240
192
185
181
181
156
158
168
146
204
182
246
166
202
183
155
201
162
186
178
162
164
144
210
202
234
191
206
156
171
204
199
178
130
164
195
183
202
167
208
300
253
176
224
230
238
210
201
195
182
187
188
173
210
146
194
186
241
204
156
236
203
130
164
146
278
182
202
227
221
173
165
222
130
185
188
221
207
173
204
172
180
230
217
182
146
176
221
173
236
242
158
218
224
179
129
173
170
175
201
139
274
182
197
191
227
185
173
219
204
211
160
149
182
212
202
184
150
153
167
224
203
219
150
224
133
195
186
186
236
184
236
225
230
258
239
264
224
141
236
192
239
265
274
206
186
176
201
129
264
190
146
202
217
220
182
227
210
143
204
151
201
198
188
230
220
246
191
200
171
202
158
194
239
236
141
155
160
201
202
147
145
158
178
173
181
184
204
156
229
230
284
205
204
256
176
203
240
221
211
239
152
211
149
190
200
276
231
189
245
133
176
184
210
160
115
151
191
177
168
238
236
178
182
213
210
245
182
158
130
189
228
197
133
166
195
191
129
138
207
129
171
190
206
150
168
170
176
210
179
194
149
263
195
247
229
262
198
210
218
213
197
224
146
158
247
244
168
227
235
217
229
206
158
173
210
155
129
206
138
183
189
173
164
145
257
226
130
185
191
230
225
191
158
158
225
275
335
211
204
226
155
211
200
264
231
242
204
129
184
237
215
183
194
172
245
139
143
195
219
173
207
237
146
179
164
158
207
201
231
173
161
173
180
157
184
170
174
161
270
195
152
145
182
179
176
145
214
241
295
258
156
129
204
236
190
194
191
161
169
246
173
200
164
208
217
258
238
245
176
206
171
273
176
173
274
197
156
218
173
201
206
184
252
281
177
176
176
227
210
168
130
143
191
128
168
195
200
162
161
210
255
180
187
254
202
166
222
201
172
129
231
200
151
200
178
202
194
133
202
184
173
184
180
268
132
130
146
152
181
209
183
161
216
187
221
248
207
143
128
185
169
208
301
168
191
303
129
258
182
179
206
130
201
204
195
189
204
178
183
128
130
156
130
281
198
197
231
187
202
287
232
176
211
130
184
200
175
133
190
255
143
235
138
153
146
197
192
180
261
146
261
181
247
146
188
246
155
268
146
178
191
115
259
172
177
182
145
183
129
176
173
177
228
162
194
138
259
176
203
210
184
149
173
245
145
183
198
146
196
176
211
138
207
146
200
164
171
182
217
141
195
219
161
182
129
247
180
167
234
227
194
201
187
122
206
168
129
176
146
168
145
203
143
259
128
174
162
174
173
200
228
156
236
164
143
176
225
185
201
186
153
165
335
173
128
194
141
210
143
238
146
167
150
164
146
189
178
195
176
200
130
214
183
205
155
130
211
210
229
236
316
182
281
230
173
146
194
206
238
158
138
200
204
222
184
150
182
211
205
185
180
159
247
129
300
192
211
130
217
176
210
182
197
251
173
191
186
203
115
235
210
170
243
168
244
210
242
249
141
208
195
149
239
239
174
186
237
204
168
204
190
157
201
155
182
191
241
230
156
133
182
202
173
224
264
146
221
188
131
189
160
184
130
130
205
130
324
276
238
176
146
209
133
202
229
122
172
216
157
191
229
143
184
146
201
214
169
217
249
225
243
159
190
162
156
249
218
178
217
233
158
133
211
179
214
145
210
207
146
198
138
168
236
188
176
238
233
266
263
273
201
152
252
161
230
160
194
199
129
220
157
376
204
184
201
150
178
173
256
180
246
157
236
128
335
173
146
244
185
184
169
188
220
130
182
188
266
170
173
243
204
184
158
202
217
260
143
143
181
208
174
229
239
293
263
226
204
204
238
224
170
176
169
197
217
221
164
173
162
246
152
146
156
161
193
159
222
129
158
214
155
187
228
133
220
201
222
153
218
158
285
222
171
214
201
201
130
181
176
182
178
162
203
168
180
168
224
297
190
240
129
157
169
191
179
198
249
169
211
177
190
205
150
230
206
147
186
209
191
190
181
189
176
204
215
256
261
173
210
153
202
166
165
151
231
222
184
144
176
143
164
130
236
185
186
130
192
218
234
200
268
146
191
194
169
178
237
173
206
179
190
192
146
191
179
129
158
225
162
214
172
240
251
146
179
202
200
166
275
164
143
184
186
174
143
175
184
158
160
189
173
252
177
230
145
130
189
202
238
149
214
204
146
129
141
146
191
246
174
203
157
145
247
262
165
263
209
189
166
115
204
219
210
209
205
199
180
188
210
173
130
274
206
200
178
229
189
194
167
168
145
166
185
250
184
212
236
122
228
129
234
129
184
264
223
217
153
160
254
274
294
225
146
129
162
215
141
156
173
217
149
143
183
162
191
175
258
289
165
210
146
197
193
186
145
145
158
255
147
180
210
176
214
174
176
141
182
200
181
172
162
172
161
216
168
159
129
169
223
130
239
138
174
189
176
130
186
150
130
193
166
191
168
191
192
217
178
146
206
234
246
184
204
203
180
176
173
207
255
129
176
165
206
184
203
153
167
169
229
161
133
207
169
195
173
146
146
259
214
130
130
176
173
183
202
236
133
300
178
180
132
192
257
178
191
227
199
182
255
158
182
265
264
141
186
176
210
138
115
173
210
217
207
146
164
146
248
233
263
190
187
170
232
204
200
133
200
138
189
183
214
197
222
162
169
209
213
205
172
155
201
182
196
273
184
203
222
174
122
206
132
211
130
129
210
146
176
153
228
198
183
202
186
280
174
175
262
190
176
237
197
173
202
129
246
129
225
202
226
177
206
218
231
197
157
151
217
217
202
237
122
133
261
191
218
192
156
175
184
156
129
257
176
200
164
213
185
143
146
223
184
249
173
178
210
176
167
176
165
210
153
192
216
155
172
160
208
156
162
247
217
178
158
155
115
158
261
194
204
217
202
211
143
173
238
236
219
199
173
146
247
198
233
181
200
146
175
184
158
247
238
150
203
261
234
173
263
182
186
178
170
191
160
122
222
235
212
143
132
188
153
129
200
282
237
152
202
141
191
179
174
138
174
238
208
254
154
145
173
217
146
202
247
209
240
176
207
157
211
182
173
254
210
138
178
168
201
185
187
193
115
185
195
259
169
234
184
133
210
197
208
170
219
247
177
244
181
179
202
163
182
175
200
162
208
199
205
211
209
230
158
156
211
218
130
192
141
155
155
248
179
244
168
205
169
239
192
184
203
198
132
252
162
129
202
199
168
175
159
190
203
251
235
210
195
158
130
200
196
255
201
212
168
179
240
175
173
184
195
187
205
210
235
225
225
146
133
163
250
158
141
201
191
191
157
188
178
178
206
216
240
237
183
183
250
149
173
173
217
178
143
169
222
199
181
182
161
269
259
214
161
233
232
173
178
266
164
182
196
130
162
192
143
191
176
211
204
252
180
189
214
176
201
210
169
206
204
241
152
217
188
238
221
288
169
169
279
190
176
176
261
168
180
240
189
217
185
303
164
198
225
181
202
228
176
191
204
208
206
218
133
237
161
225
292
167
191
181
210
166
156
129
169
164
146
178
209
227
130
204
199
185
150
129
265
129
221
179
150
173
181
175
166
155
230
246
206
186
204
155
155
205
236
202
115
206
242
159
188
146
133
143
197
131
209
119
242
180
278
218
184
236
205
286
158
181
264
234
206
164
202
200
129
178
204
164
217
224
122
211
188
130
129
184
200
216
234
204
198
177
164
261
182
205
241
247
172
155
115
166
173
217
237
169
191
130
225
130
155
191
179
238
145
176
129
259
128
199
300
182
156
226
164
204
167
186
179
173
156
178
190
169
214
187
129
143
217
156
225
185
202
195
211
169
246
166
185
237
218
173
220
184
130
186
235
240
211
182
261
185
171
170
204
245
208
146
259
146
185
238
221
240
146
158
231
161
175
244
252
158
251
156
212
186
149
217
204
155
183
138
146
184
197
227
168
160
129
190
234
173
200
192
177
129
173
130
260
129
231
204
169
174
193
238
133
173
173
180
211
164
122
176
210
236
191
188
218
236
155
129
192
236
242
168
255
129
176
230
156
253
130
175
145
133
180
169
179
146
141
238
240
220
243
209
207
258
183
196
164
188
180
206
146
130
167
139
202
228
155
190
176
172
144
163
188
205
210
186
151
199
173
178
214
191
184
183
222
237
162
145
188
184
155
172
204
187
239
191
146
162
156
170
129
217
189
196
191
195
205
180
198
203
189
115
260
130
202
209
168
176
173
186
150
209
172
181
210
229
202
251
266
202
168
222
156
158
159
241
155
210
155
252
181
200
130
197
171
236
194
150
141
249
147
156
221
129
169
153
146
146
210
300
202
210
303
166
173
173
161
174
173
291
164
204
158
195
197
191
263
183
224
204
184
146
164
129
205
129
266
182
217
262
209
205
173
184
155
267
227
181
179
160
155
343
129
209
198
230
129
130
179
156
198
227
186
130
176
146
248
171
211
182
190
160
191
173
195
247
195
191
199
237
172
129
186
130
238
274
130
229
244
189
173
129
200
262
119
145
200
231
173
206
258
233
224
182
176
250
162
247
203
195
164
169
252
163
226
162
255
130
168
184
250
176
176
204
189
164
162
251
158
181
170
237
168
210
174
171
202
283
179
202
217
180
146
173
240
207
224
300
183
190
199
203
210
283
173
146
184
146
210
210
204
141
216
173
176
189
189
211
220
252
165
153
173
271
184
200
273
204
164
188
194
145
191
204
162
184
204
175
181
157
149
210
183
141
217
196
171
176
168
188
298
168
167
254
194
131
178
241
227
216
179
146
238
234
238
219
130
197
183
289
162
217
241
185
212
212
211
261
201
181
185
146
215
204
204
209
170
219
204
211
189
143
195
242
227
172
211
210
188
176
200
177
179
188
199
143
179
192
156
167
160
206
187
146
188
179
217
225
146
234
133
226
173
180
145
193
145
189
274
179
175
220
167
179
172
131
261
238
241
173
150
146
211
155
128
211
179
200
240
160
230
115
152
190
183
141
173
206
244
119
182
143
221
185
299
235
311
200
173
190
174
130
174
217
250
264
163
115
259
228
209
211
151
164
246
215
182
267
201
173
166
214
143
192
201
200
201
204
150
210
229
207
178
158
168
254
143
185
201
176
192
152
268
188
176
227
130
182
133
162
129
210
161
183
184
202
169
240
130
146
173
161
176
194
241
203
192
246
176
164
171
234
212
133
201
203
254
129
190
228
181
181
211
133
202
177
174
168
224
239
164
158
204
222
130
170
221
173
145
201
245
187
133
248
231
191
173
200
143
161
221
182
220
169
217
166
216
145
193
217
173
209
160
265
146
248
211
173
158
178
240
252
191
210
237
216
174
202
202
222
256
190
249
206
182
129
278
203
145
288
178
227
141
202
203
272
173
130
173
211
155
210
239
192
155
210
205
203
257
184
255
232
189
193
271
163
266
156
173
165
306
200
183
210
203
229
203
133
180
218
179
159
222
229
166
252
210
175
164
242
219
176
211
182
288
168
256
241
200
183
242
130
274
180
157
166
159
168
234
129
171
224
229
145
215
145
164
183
167
173
204
256
211
204
263
246
173
145
238
190
179
187
200
200
162
257
168
201
171
247
243
198
229
141
182
206
146
180
287
139
194
169
211
236
252
261
273
230
188
206
149
162
174
194
158
119
236
177
200
206
214
205
155
191
166
169
193
242
146
172
129
182
206
283
172
204
146
197
175
150
217
184
176
185
262
188
208
174
253
162
173
207
238
229
168
213
143
191
193
138
155
190
165
173
186
130
210
162
210
195
145
175
115
250
258
158
219
204
168
164
152
161
129
184
129
155
163
228
201
167
146
252
226
146
212
161
202
160
283
236
230
191
287
250
172
276
133
167
236
149
228
265
201
206
180
164
184
191
210
171
185
222
200
191
205
206
217
217
152
209
242
174
239
133
186
194
179
187
204
169
155
252
172
173
161
193
166
115
232
188
147
221
130
193
130
139
145
168
226
168
179
174
155
133
161
129
217
130
183
183
236
300
164
183
201
236
204
129
188
186
178
146
164
198
247
217
143
202
115
198
242
236
250
189
214
185
180
253
138
124
293
227
179
155
145
176
165
183
160
179
209
183
247
255
239
164
204
281
157
335
173
158
146
182
161
274
179
160
138
176
159
241
167
162
215
242
133
174
178
129
115
188
143
236
202
217
170
182
173
236
173
202
130
200
202
210
206
210
130
206
130
280
138
166
204
129
181
211
205
176
146
129
204
210
200
179
227
169
226
221
176
245
160
156
179
181
172
237
211
185
246
179
181
283
130
149
156
194
176
205
150
180
231
228
218
210
193
213
212
217
176
218
153
210
197
183
242
221
164
179
206
202
146
224
173
174
166
177
188
130
182
254
179
130
215
145
199
197
190
186
119
173
216
178
219
202
187
200
211
183
206
221
132
184
169
144
180
195
248
239
168
190
223
238
275
151
186
234
191
209
168
242
206
228
208
164
213
206
157
153
189
195
161
166
129
209
182
238
159
177
221
299
170
216
180
307
184
259
145
236
178
216
183
208
168
202
194
169
211
215
211
207
180
145
141
222
146
219
275
300
233
185
170
129
184
173
160
237
194
236
216
132
243
172
210
145
148
168
179
198
200
160
147
249
146
166
179
202
182
158
263
226
213
185
208
279
190
185
141
166
209
236
225
189
173
176
184
193
247
173
145
175
242
217
192
185
130
173
184
249
204
194
129
234
206
218
201
192
130
236
174
211
171
200
173
208
201
224
177
202
145
191
202
169
130
188
300
211
156
217
130
263
182
199
168
311
228
173
171
267
173
237
191
206
159
173
255
213
130
164
177
182
195
208
179
188
173
188
166
146
214
157
133
178
115
170
188
228
193
189
173
222
239
146
202
210
216
192
173
225
156
196
128
159
205
192
162
197
185
176
206
143
180
186
216
182
176
189
151
211
143
129
193
141
210
206
178
115
183
168
183
273
222
210
130
216
193
173
275
253
168
173
176
204
193
183
151
186
262
173
195
169
191
204
229
184
144
139
206
206
185
133
188
151
182
191
212
247
143
211
177
176
236
236
122
223
166
225
162
223
179
190
200
150
222
201
200
185
200
176
156
129
177
173
237
187
218
115
227
230
115
274
187
122
228
146
166
264
214
190
188
146
202
230
115
160
199
166
183
129
191
180
152
180
204
129
174
196
179
192
219
202
233
235
248
185
182
143
228
145
167
215
184
204
238
204
160
141
235
197
207
145
204
179
152
185
115
205
146
209
158
245
199
223
250
222
191
141
230
187
172
204
149
164
150
201
144
158
171
250
179
171
191
204
207
213
216
192
129
191
239
184
115
170
155
217
182
170
236
166
239
191
182
208
265
236
155
201
155
180
144
243
228
228
233
172
144
222
186
176
187
168
210
169
203
156
230
141
189
129
248
194
145
162
168
214
278
173
129
168
190
151
248
162
211
262
206
151
212
210
115
176
184
162
130
195
146
130
156
200
283
162
146
173
197
209
150
129
243
160
274
129
146
149
173
174
211
208
180
193
202
213
239
187
173
234
185
228
173
227
245
242
214
212
247
176
238
264
122
115
119
261
218
260
183
231
122
188
192
230
161
156
160
228
212
240
170
242
183
209
210
205
180
130
184
130
213
212
225
146
271
191
130
176
213
273
211
178
130
214
236
162
173
202
225
184
238
156
169
179
181
209
195
194
226
186
203
141
167
176
154
160
191
184
281
188
287
151
234
175
173
148
191
180
174
158
162
195
210
237
222
261
208
158
185
236
195
217
204
192
287
231
144
204
207
170
228
167
164
144
160
210
214
182
191
168
222
219
152
176
188
177
133
176
146
184
170
204
161
151
129
217
173
161
229
133
193
173
168
248
202
150
176
162
208
189
217
145
191
129
191
115
207
163
173
246
182
192
133
263
202
230
129
155
262
200
228
141
146
133
146
130
212
209
254
204
238
129
214
219
180
197
172
202
187
277
184
214
169
236
128
259
129
161
172
220
265
145
228
130
194
149
179
204
179
246
173
210
178
178
162
150
184
133
280
176
130
272
289
211
209
133
168
172
214
210
181
173
155
196
130
180
181
167
171
131
133
183
160
188
182
182
240
148
252
165
195
183
176
269
176
252
168
236
146
201
186
191
151
186
176
160
175
122
182
206
226
138
143
209
173
210
156
181
209
172
130
157
147
188
176
180
199
203
164
177
176
275
209
252
176
211
176
170
261
230
191
145
234
129
207
207
177
171
192
214
210
191
145
115
202
193
234
248
173
247
146
214
122
227
209
146
184
251
158
130
266
162
195
146
143
158
160
224
247
158
201
210
129
204
234
202
294
193
210
237
186
166
191
180
173
208
247
264
175
234
236
141
180
143
165
206
190
252
173
115
173
203
130
129
199
179
275
182
149
203
201
273
143
173
179
182
158
197
283
216
206
130
227
162
202
155
197
168
283
193
202
206
212
214
166
229
156
192
202
143
173
191
130
138
129
204
203
202
130
201
242
149
216
210
133
189
217
216
234
145
176
156
173
195
173
251
178
151
264
202
161
146
173
173
217
211
221
258
222
147
240
205
239
206
168
157
202
256
222
147
176
222
183
150
236
217
200
221
195
168
212
176
204
250
202
173
228
164
264
173
143
223
211
210
178
180
146
288
129
204
194
160
213
173
217
197
218
158
184
176
229
236
143
236
210
238
211
209
230
128
212
234
175
164
164
205
162
162
168
210
128
170
171
177
241
273
235
184
335
133
130
220
162
199
197
234
155
158
192
164
329
168
182
217
211
133
267
130
221
203
257
178
206
172
175
223
246
235
172
146
197
230
320
167
146
186
168
161
265
212
214
210
195
189
181
195
189
133
207
234
164
246
207
145
221
201
200
164
192
200
180
129
176
179
213
151
177
184
145
176
237
193
233
300
155
160
206
158
210
183
211
206
247
178
210
133
203
163
129
218
263
250
192
155
222
218
264
115
188
145
176
179
186
192
188
206
200
252
192
204
196
130
201
177
200
129
200
187
204
170
211
162
239
145
146
266
268
143
199
173
188
226
191
155
209
195
186
119
153
149
168
217
180
258
207
201
187
239
209
304
235
166
230
179
203
203
178
179
182
158
307
217
203
210
178
201
232
206
179
225
185
149
203
143
174
176
252
170
179
129
130
133
205
195
178
300
247
141
261
162
259
149
239
247
203
182
145
260
130
202
217
226
228
189
180
229
209
255
122
211
159
247
221
138
177
195
141
166
171
206
216
133
180
162
201
183
173
173
230
168
211
239
146
163
222
239
179
189
217
155
168
210
191
197
189
255
179
200
189
164
184
243
181
143
227
141
204
141
212
163
224
210
278
203
165
146
229
236
240
173
191
220
184
173
189
173
146
130
229
174
162
146
186
209
164
264
180
205
204
210
190
185
190
176
201
158
203
204
249
133
171
133
143
162
209
210
180
144
237
176
168
210
270
145
175
190
173
214
189
185
162
141
146
164
210
216
173
230
148
268
168
162
191
162
217
168
146
188
129
143
176
130
158
215
209
209
129
168
204
175
149
174
130
214
217
216
192
182
179
188
146
192
217
230
160
156
155
250
173
229
182
164
206
145
203
193
167
122
168
115
238
233
209
199
202
152
194
230
174
178
152
237
179
250
221
182
183
151
211
241
196
133
227
221
183
150
234
173
199
230
174
129
129
221
152
270
231
169
163
130
335
158
214
191
145
156
156
228
167
233
217
150
202
200
226
149
215
221
162
226
162
184
178
185
242
238
129
138
211
222
164
210
173
130
175
173
219
169
190
193
191
195
141
260
257
206
291
167
239
182
214
192
206
258
158
195
231
222
183
204
231
162
207
130
176
221
168
207
221
155
188
243
195
129
133
187
245
228
225
185
152
172
185
206
164
208
143
236
211
183
194
215
133
180
192
245
192
193
173
200
167
184
183
149
221
173
198
191
295
202
141
164
179
224
221
204
231
204
201
172
239
261
129
254
158
143
173
210
164
237
240
229
179
203
193
145
247
229
129
199
235
179
158
176
217
189
227
228
130
204
149
163
168
190
227
178
189
129
129
168
145
186
176
221
217
162
160
227
236
198
185
205
251
143
246
264
204
211
191
173
210
237
185
161
192
221
158
173
209
141
163
260
251
198
216
173
247
264
204
204
204
182
196
225
155
184
190
234
184
189
199
171
138
204
226
208
145
182
222
270
166
209
247
205
196
218
150
168
149
129
193
186
145
260
145
168
176
162
146
191
180
115
158
227
144
182
179
236
232
167
162
191
215
184
184
143
222
242
168
156
201
231
165
218
241
164
196
164
198
167
252
191
210
190
263
201
192
149
168
145
203
130
201
256
230
264
176
161
184
201
129
199
184
180
235
217
217
161
160
202
195
262
161
224
201
211
230
201
145
261
216
288
187
201
218
130
180
172
207
153
214
209
221
182
185
250
206
129
227
214
179
246
176
185
223
185
201
188
174
189
115
176
188
231
185
176
264
238
176
145
169
161
200
202
173
173
196
153
225
201
158
130
129
176
183
204
143
171
237
195
188
162
233
210
168
201
220
257
146
190
130
236
214
205
213
215
208
191
162
234
172
150
151
201
204
201
264
240
269
115
176
204
200
181
214
151
296
164
207
214
201
210
130
210
230
257
194
183
188
130
217
228
188
201
193
256
221
182
150
222
210
199
236
219
246
220
158
196
222
201
283
178
230
286
214
221
201
171
176
221
188
143
240
211
248
256
214
146
180
157
220
164
191
216
199
261
172
211
160
217
245
223
263
179
211
173
193
186
188
174
186
195
246
182
143
166
183
169
150
201
184
198
122
204
158
158
280
200
195
180
220
222
183
173
246
205
115
259
158
201
212
155
183
146
169
225
218
283
179
185
224
194
169
185
193
168
211
176
145
186
201
252
173
197
181
312
130
165
208
164
203
234
133
152
192
141
210
215
222
198
133
227
280
211
158
133
240
184
129
176
204
173
130
162
212
335
236
143
183
176
246
183
200
176
205
198
172
148
155
173
204
191
158
181
167
172
239
146
258
204
183
130
198
152
168
236
147
181
189
202
185
210
160
184
133
143
160
150
206
217
202
231
210
184
146
184
220
306
192
164
229
173
160
331
115
145
176
222
192
223
166
271
145
211
204
173
303
211
216
129
169
201
230
168
182
243
150
155
200
266
161
130
150
202
174
162
183
188
167
181
226
192
207
138
182
146
162
177
222
180
160
173
210
165
195
196
186
156
168
180
230
190
146
174
299
180
222
269
162
146
179
146
130
129
186
211
146
229
168
164
230
173
146
146
285
183
156
212
130
260
184
181
173
178
179
146
143
162
191
208
173
250
210
172
274
194
182
176
162
238
115
211
179
130
168
130
186
155
210
146
224
202
209
122
251
226
257
157
146
206
147
210
227
183
169
141
199
183
150
168
146
238
227
189
246
181
143
174
152
210
227
202
129
174
173
254
195
115
183
159
149
274
201
258
129
210
239
208
226
229
217
201
150
133
225
179
156
129
182
119
240
261
206
171
186
171
204
178
274
256
177
173
258
217
173
191
176
205
115
192
204
132
143
205
163
171
146
187
232
214
167
173
204
129
171
129
181
217
143
174
185
210
217
204
234
133
158
191
204
200
200
143
146
182
195
195
179
207
143
191
176
204
160
130
171
173
250
190
193
200
222
182
235
162
204
203
189
129
130
158
201
193
176
199
247
156
211
173
195
164
210
187
226
143
130
149
181
183
153
132
176
186
185
193
219
186
194
145
184
143
176
221
180
162
241
235
184
167
189
249
240
251
165
243
206
185
230
222
194
153
225
212
173
245
212
156
150
130
209
188
187
179
219
176
224
208
176
146
210
174
164
130
206
217
221
199
269
161
219
233
176
231
255
207
200
132
203
192
129
207
264
217
252
179
168
176
210
130
225
186
283
168
202
196
203
305
247
115
129
210
270
173
190
146
261
288
178
158
146
155
206
176
203
239
182
217
115
261
192
132
254
141
188
184
225
176
202
191
236
175
176
115
211
166
210
258
190
292
172
222
210
239
198
166
173
186
238
162
143
152
146
191
194
152
173
175
146
232
197
176
182
222
176
211
169
183
164
175
173
189
185
178
190
158
226
221
167
227
198
145
183
227
216
245
211
218
129
190
231
146
230
180
204
187
200
180
212
274
215
180
255
212
145
240
236
201
185
204
217
256
146
158
179
238
238
246
143
200
129
199
184
194
194
182
166
211
244
129
218
201
156
128
153
129
129
211
204
251
235
133
274
150
143
206
141
238
188
187
176
191
141
175
215
182
183
228
217
146
189
146
122
198
169
122
130
174
222
202
182
197
150
201
218
201
206
171
227
173
145
186
173
205
209
248
210
188
196
251
197
143
227
150
161
190
156
234
185
146
218
145
204
175
236
188
204
188
144
176
185
188
130
176
191
129
160
197
146
238
176
225
172
211
203
217
199
190
164
247
195
183
210
239
173
169
180
233
198
183
212
149
238
182
175
172
177
243
168
129
219
201
173
171
176
122
130
146
251
193
133
158
199
189
277
182
227
230
115
163
168
179
156
200
214
212
184
238
307
184
162
143
170
184
129
174
156
191
219
177
226
227
233
230
149
176
213
205
186
162
141
156
152
212
158
204
143
172
164
214
177
198
201
157
194
197
222
193
257
240
190
173
296
232
130
177
217
179
258
204
176
173
209
206
258
172
201
167
230
173
176
246
132
231
202
187
202
138
174
200
115
178
168
210
152
196
176
243
222
225
185
251
130
141
174
185
229
242
259
207
213
266
173
176
130
146
115
173
242
217
210
129
129
158
192
191
212
192
229
176
188
164
184
200
252
152
172
206
187
250
182
186
210
184
228
159
280
173
183
210
238
206
259
169
184
208
182
185
122
193
206
132
168
214
180
179
264
130
145
141
214
145
236
183
169
202
216
174
129
143
211
145
177
221
160
129
173
258
150
172
179
174
235
167
180
251
176
179
179
194
160
199
245
224
204
162
171
246
141
191
191
179
206
129
182
115
143
184
198
177
150
189
267
149
133
243
168
237
230
150
199
300
243
229
157
204
239
304
164
174
187
218
182
211
129
167
169
168
204
250
130
129
130
155
212
191
186
200
191
170
185
183
259
180
267
164
179
173
176
221
187
187
258
209
216
161
130
207
225
173
192
176
168
202
210
232
158
177
204
192
146
173
156
162
178
171
173
162
221
217
230
205
156
206
186
258
256
210
214
201
164
172
222
180
183
203
204
172
209
173
238
217
168
206
180
171
229
203
325
230
130
156
178
313
205
150
216
201
212
217
218
261
217
185
251
146
130
238
197
146
179
191
231
169
170
173
200
162
194
332
171
173
210
176
173
204
221
172
133
170
207
231
214
200
206
133
200
231
155
146
257
190
133
131
191
256
201
155
258
205
178
130
130
158
211
270
171
162
202
145
146
170
130
129
204
162
160
259
219
138
210
214
200
133
145
146
158
146
145
264
149
210
182
210
294
129
198
212
201
115
146
222
156
203
211
183
210
193
210
129
129
297
227
200
211
204
146
182
160
143
162
129
170
146
173
201
180
185
130
178
167
169
216
169
139
163
229
215
173
201
173
181
202
232
129
222
192
210
173
162
164
256
174
157
156
200
141
161
199
216
115
272
209
237
182
146
179
146
141
182
217
209
176
218
147
178
230
129
231
186
204
226
192
262
172
217
236
150
155
259
192
187
206
188
252
228
229
226
335
156
162
176
173
230
180
255
158
183
200
216
211
265
162
199
204
221
178
216
206
225
150
129
179
185
151
212
182
247
139
210
167
250
210
176
201
191
164
180
207
146
158
161
176
248
169
191
188
249
207
188
130
168
161
202
133
199
201
205
192
245
236
176
171
222
182
159
172
179
265
173
201
207
145
191
188
160
146
163
205
146
234
144
179
179
155
209
183
141
230
231
202
184
242
164
219
176
176
146
222
184
133
210
213
254
143
176
211
228
189
195
204
171
182
179
186
186
143
145
138
250
200
168
206
195
156
227
221
202
231
217
155
155
143
129
200
167
251
245
202
157
187
236
246
188
248
171
167
205
151
167
218
289
225
189
152
151
184
214
212
177
173
193
172
201
174
182
130
229
143
155
188
200
172
225
261
143
222
245
239
191
240
184
143
176
157
222
150
181
183
180
181
155
178
200
156
194
198
240
143
144
218
178
173
172
130
146
207
146
211
176
251
176
240
181
211
204
239
129
225
176
173
164
163
162
182
222
186
251
162
186
143
214
115
209
275
181
205
221
286
173
183
189
231
228
204
238
287
200
249
205
161
217
201
164
155
191
176
283
173
200
129
162
155
182
158
129
178
141
178
158
175
222
133
185
185
173
216
146
218
190
174
158
190
228
183
192
212
176
130
210
205
264
252
218
230
145
219
172
166
184
225
129
221
221
230
225
182
166
217
227
238
147
166
166
209
129
225
164
143
158
217
166
204
188
173
115
211
175
247
193
146
230
208
176
183
226
179
182
210
146
166
146
229
187
191
229
230
171
195
181
158
203
200
217
209
258
204
210
192
254
217
196
162
216
200
202
195
181
176
196
175
176
162
193
152
231
176
209
178
186
171
160
170
199
266
145
144
168
259
238
210
215
236
172
176
204
158
214
179
238
192
200
236
115
149
146
145
129
145
254
204
130
217
239
129
176
175
215
173
222
130
148
213
182
174
129
158
129
179
176
210
146
202
158
217
212
178
189
176
179
261
238
203
221
217
231
195
214
236
214
129
132
150
184
168
204
129
177
230
158
260
191
192
175
204
150
191
173
180
208
177
173
129
268
259
155
204
180
141
177
204
166
262
182
183
181
176
287
222
189
138
176
185
204
145
143
217
238
219
145
174
194
253
230
181
176
210
201
195
199
188
227
190
153
249
176
202
130
146
236
206
129
211
196
173
128
183
151
239
198
198
216
217
206
186
242
129
176
167
226
204
203
197
186
192
180
145
206
173
152
246
150
238
191
222
159
171
130
174
133
190
263
180
167
175
189
186
190
133
243
217
202
179
222
210
258
222
174
173
232
160
176
194
156
169
182
158
275
171
217
215
115
158
145
152
227
210
228
283
227
214
219
130
213
190
149
192
230
159
146
182
145
208
211
201
225
173
211
252
189
130
190
182
252
204
199
302
206
129
141
206
218
129
206
296
214
129
173
211
133
226
122
185
236
188
184
195
173
129
130
200
176
210
247
162
149
180
231
213
162
233
178
184
189
164
242
115
162
173
188
158
254
239
247
156
277
205
191
189
189
130
221
164
173
215
218
205
200
145
179
164
215
204
191
238
227
264
173
146
206
173
202
213
145
145
210
200
192
176
143
193
178
199
261
190
239
162
161
173
236
238
189
183
185
200
130
167
176
208
196
130
157
190
284
266
254
202
174
236
115
197
146
184
138
234
194
129
225
176
250
173
255
265
217
129
224
151
174
239
173
217
224
266
264
145
195
239
180
245
129
163
210
250
240
261
160
263
213
202
184
160
260
256
156
218
272
176
200
218
143
179
207
182
150
176
169
230
190
129
182
287
209
206
188
195
176
216
209
155
164
176
202
204
183
206
177
187
201
210
115
160
231
201
223
164
183
193
236
150
183
143
189
221
175
155
194
204
158
179
143
335
200
190
239
183
200
230
150
232
182
187
214
157
206
189
225
198
185
176
182
173
151
162
230
229
146
168
218
170
237
131
162
225
194
300
176
214
173
194
240
198
150
166
170
201
202
152
129
145
191
204
236
211
191
189
210
261
173
191
171
221
256
209
176
191
216
180
204
161
172
179
132
161
235
224
185
166
230
210
197
143
204
242
167
263
130
223
129
250
179
189
192
200
194
180
162
147
170
225
217
231
244
145
190
230
168
229
191
156
179
214
129
183
209
184
233
210
145
257
129
129
174
115
147
176
180
227
210
202
176
238
183
187
191
146
250
161
158
228
221
129
205
230
165
158
258
173
172
129
255
192
176
206
226
145
191
178
185
187
115
144
191
200
185
230
268
171
129
130
322
176
162
229
194
179
145
202
206
150
187
194
204
146
129
202
222
191
133
196
176
214
180
195
201
122
211
236
216
272
208
180
258
162
192
252
229
129
222
152
169
250
238
210
286
130
178
194
180
217
152
231
221
202
173
253
234
258
143
164
224
178
209
161
146
163
231
226
266
138
177
162
204
200
222
187
205
280
188
208
182
229
143
153
156
236
162
130
168
201
130
180
235
156
195
220
202
176
237
168
239
222
218
227
213
180
193
236
165
168
227
176
204
179
253
178
238
165
204
176
200
212
185
202
200
216
155
179
264
226
229
184
267
205
222
263
164
198
188
198
178
145
201
236
195
129
220
210
147
198
224
190
178
230
164
210
203
225
204
115
248
184
188
239
193
130
133
221
184
183
129
168
119
244
180
216
183
181
210
217
170
236
188
158
223
168
209
197
242
197
187
157
191
186
183
248
204
166
179
247
210
183
115
227
180
221
143
145
216
246
200
173
144
179
217
156
213
181
199
222
245
149
222
206
222
145
228
187
207
138
210
242
200
216
180
210
211
182
181
115
181
130
152
168
168
130
143
208
204
237
171
203
266
144
178
176
150
238
178
174
204
160
195
170
238
129
197
211
224
199
129
145
169
143
248
185
164
202
185
173
130
225
196
217
173
162
217
172
176
250
196
115
130
214
191
146
144
203
205
146
182
194
241
217
212
160
130
145
166
333
222
190
170
176
227
226
166
172
160
218
173
306
184
143
203
207
222
146
217
189
130
267
115
203
216
193
164
195
191
214
146
217
144
146
145
212
162
223
141
263
170
293
204
146
191
166
218
200
207
173
158
242
190
218
170
201
208
155
146
183
182
202
171
261
214
130
129
200
199
164
308
232
199
171
160
192
174
122
133
146
249
180
210
204
174
245
175
211
206
145
167
204
176
185
214
181
115
143
275
221
173
162
181
181
166
235
129
178
204
176
172
230
195
225
177
193
201
210
191
219
303
234
138
156
129
218
162
176
252
155
155
141
149
168
212
162
173
173
223
167
184
183
255
169
181
156
129
268
200
183
173
190
211
194
235
201
210
211
223
191
115
130
187
207
194
202
200
206
258
176
182
203
115
176
184
129
183
146
176
186
159
157
173
166
195
146
129
129
251
176
205
158
203
129
188
228
266
156
191
202
181
146
217
176
199
249
179
184
172
214
141
173
273
190
174
204
201
288
200
211
238
129
238
130
162
200
191
162
188
230
211
276
222
248
173
211
190
188
234
211
176
115
202
217
300
129
178
143
222
217
244
155
228
115
226
217
287
197
189
164
160
176
168
145
210
178
201
176
183
191
168
222
172
173
248
197
133
141
237
193
181
246
211
214
256
164
168
218
225
212
130
192
210
246
183
168
183
201
145
181
201
122
213
238
129
263
264
168
219
145
206
219
222
164
155
186
176
177
162
235
155
226
181
175
274
211
204
203
265
180
173
164
238
168
217
208
179
290
174
119
176
182
199
146
217
129
189
196
176
204
198
145
304
160
182
185
222
149
191
138
224
129
232
133
255
178
158
228
176
173
204
158
132
228
215
210
200
169
150
211
168
252
264
176
130
175
272
182
201
146
155
185
228
174
238
217
259
207
180
183
203
275
233
200
191
228
199
236
199
233
276
182
217
176
176
265
180
163
218
163
171
218
226
210
227
188
168
129
240
160
173
211
200
195
252
169
204
191
143
130
167
147
216
183
176
230
200
174
230
179
166
217
226
176
266
129
195
162
192
201
145
194
180
210
251
119
200
204
178
201
217
214
241
224
162
217
169
169
191
130
182
196
152
242
129
192
164
146
176
211
143
195
192
175
200
133
246
247
255
268
238
161
173
179
217
240
202
169
157
178
239
202
202
236
145
281
202
186
218
210
179
184
177
194
200
132
211
212
216
143
206
226
196
273
238
145
202
183
219
182
210
130
130
200
180
271
169
227
173
262
178
258
211
216
238
222
129
200
171
201
245
181
160
192
130
187
182
158
174
173
214
230
224
197
182
173
238
214
171
167
183
168
173
202
161
214
155
182
203
217
199
189
231
204
205
212
186
146
184
186
245
217
217
194
168
201
133
281
218
130
210
252
221
179
153
115
184
141
199
164
176
180
201
201
162
213
172
169
193
145
182
239
182
179
157
173
197
252
129
115
191
133
190
213
174
128
238
172
153
182
211
160
182
146
274
178
206
214
158
186
216
229
169
235
187
210
255
173
156
204
211
178
176
200
191
160
210
247
164
169
141
146
185
217
184
206
225
200
146
132
207
173
173
115
226
251
236
182
145
241
211
180
176
233
146
212
183
143
283
191
244
158
230
175
176
214
211
176
190
222
309
176
192
158
173
173
201
239
150
217
220
256
200
155
149
193
242
189
232
244
133
168
204
191
220
195
185
227
240
178
145
156
186
202
158
263
191
146
208
145
256
168
174
146
235
265
183
187
185
196
221
179
182
162
173
146
202
236
146
287
143
203
188
115
167
143
238
156
133
204
184
225
249
173
187
160
202
242
166
146
144
221
273
300
173
236
184
176
228
225
143
236
242
277
183
256
184
166
130
185
145
177
202
188
183
130
197
210
173
217
187
191
156
247
234
138
210
199
217
145
256
216
133
143
182
186
212
168
169
130
163
173
174
158
202
160
168
211
213
146
176
206
172
211
208
155
188
185
182
115
185
133
176
261
275
199
168
173
262
262
149
210
146
155
296
133
287
143
179
206
214
130
193
133
308
230
184
210
255
179
186
185
200
150
179
173
194
273
165
257
220
261
222
173
175
141
237
252
170
180
130
186
210
179
164
218
209
173
156
213
190
184
230
181
225
203
173
115
122
260
201
186
129
204
211
202
205
195
209
246
176
145
272
216
258
182
173
201
201
129
197
162
162
251
182
214
176
206
129
196
195
183
189
213
199
151
238
236
193
249
129
146
162
165
218
180
280
182
167
212
143
166
133
173
158
233
176
252
146
205
207
161
216
260
130
203
220
115
132
245
149
204
241
158
160
200
146
197
164
176
176
161
245
183
149
161
202
216
198
264
218
115
178
169
180
232
168
122
162
164
191
180
229
224
235
179
178
216
195
193
181
221
179
190
246
219
132
162
192
184
173
247
168
170
201
214
171
204
174
238
146
263
235
221
156
176
174
191
129
192
129
224
275
210
219
194
133
166
217
182
335
225
210
156
219
233
178
184
216
201
214
168
200
261
129
146
207
179
226
199
129
162
228
204
227
222
201
190
240
157
195
225
176
162
141
158
128
192
289
222
213
224
239
265
129
204
242
191
271
230
200
204
225
227
217
173
222
129
193
189
239
225
211
181
216
185
206
146
212
236
229
129
179
230
204
149
180
207
204
173
158
132
197
199
213
129
234
266
229
185
146
129
211
180
178
176
201
199
200
146
162
176
175
181
151
138
177
212
146
222
146
208
130
292
192
277
201
241
221
199
194
236
201
259
183
164
167
147
180
207
144
238
167
195
191
254
193
156
321
183
234
129
252
205
168
184
202
223
188
278
168
146
197
185
188
162
241
191
245
129
168
200
168
192
222
202
205
145
228
176
238
217
171
176
195
202
201
206
198
226
322
146
198
153
143
234
221
168
173
166
162
164
151
251
178
192
203
182
146
242
145
188
115
129
209
146
242
222
170
141
207
176
210
190
190
207
231
232
129
146
239
143
227
180
183
256
234
176
168
214
200
157
160
133
186
218
210
224
210
185
132
151
307
201
175
217
130
164
177
178
146
138
204
146
201
192
258
192
198
221
236
230
179
241
252
181
230
245
129
162
210
203
204
246
176
192
204
228
287
186
130
150
129
259
226
173
204
191
235
159
179
161
229
217
252
168
182
198
159
162
162
214
242
230
187
176
167
181
210
197
195
145
229
205
184
244
171
169
197
182
133
246
149
251
171
177
215
179
162
204
201
240
156
189
183
162
181
253
173
178
169
221
181
201
188
144
190
166
163
211
130
188
155
143
168
274
200
200
184
146
218
183
168
185
129
133
164
162
210
230
231
248
218
157
146
217
195
211
185
250
236
176
176
256
204
175
129
187
213
130
204
202
197
179
164
195
173
211
216
168
200
161
212
130
173
296
172
231
180
173
115
168
207
146
255
239
201
238
161
182
204
238
258
217
164
182
275
234
145
218
129
168
207
206
173
130
130
211
146
152
211
273
178
179
245
191
129
241
224
129
176
194
162
211
202
156
254
225
208
182
229
138
209
143
201
208
249
175
146
217
146
157
174
217
145
184
231
176
179
157
138
183
163
185
186
237
240
260
129
225
186
206
176
204
173
131
239
173
205
262
206
234
245
202
157
179
160
184
221
157
214
260
198
173
249
200
191
130
204
163
244
210
130
150
204
153
169
129
225
155
227
189
163
173
272
162
240
155
129
239
149
176
191
202
249
219
180
217
184
146
146
215
266
230
208
217
204
196
236
161
211
144
263
238
181
205
185
206
122
201
174
184
166
182
205
236
173
176
272
193
231
179
240
179
204
335
146
129
190
235
146
210
173
222
197
215
203
184
227
183
190
156
179
146
200
145
230
170
146
160
146
335
164
188
164
216
146
166
257
245
170
191
146
203
162
231
164
200
129
129
229
173
176
191
163
164
176
210
201
187
217
174
189
212
261
193
128
171
181
176
191
129
166
166
254
130
206
115
256
211
149
184
143
186
206
129
157
178
183
257
176
262
173
176
146
130
247
258
160
164
211
222
198
173
190
178
182
200
149
216
237
185
172
169
158
145
201
238
225
201
129
115
183
143
191
166
182
164
155
156
146
236
186
204
184
278
158
266
217
207
195
182
201
191
169
156
141
220
254
209
246
184
218
242
173
173
173
204
143
256
185
218
244
206
201
186
171
210
168
251
155
197
181
145
168
250
176
150
186
207
238
184
228
208
200
187
156
180
129
211
166
181
193
173
204
201
130
227
122
168
242
178
217
167
211
190
241
202
218
187
164
254
130
230
195
143
270
201
176
173
141
115
138
230
145
256
266
214
181
206
178
197
145
160
130
146
176
143
228
130
222
274
133
334
236
204
205
222
188
253
204
203
162
162
257
133
188
186
205
178
202
161
133
211
227
119
211
133
203
129
233
237
183
158
228
146
166
191
176
230
232
222
256
158
190
129
221
143
173
206
190
240
215
231
206
184
143
237
234
146
269
129
130
146
242
129
231
242
192
132
143
184
204
171
203
211
236
130
209
169
184
217
255
191
240
208
259
225
251
146
151
182
173
146
145
176
190
169
238
171
115
191
129
130
335
232
133
169
216
210
195
146
192
180
216
202
155
192
263
164
179
240
129
129
184
176
210
146
201
225
180
115
227
115
238
146
173
248
218
229
201
129
132
220
192
199
145
181
204
176
157
138
158
194
258
183
160
157
138
187
216
226
184
171
129
216
255
146
193
173
168
200
240
173
169
254
206
130
162
145
240
195
212
206
230
174
133
162
188
182
173
167
180
183
228
283
162
190
178
183
115
164
168
238
191
183
244
222
196
162
231
185
146
199
202
176
173
235
186
184
225
143
260
233
133
169
335
173
200
191
174
272
204
202
171
188
182
309
202
195
237
201
180
191
261
174
217
145
222
179
199
201
181
198
184
176
173
133
207
204
168
146
178
209
138
155
214
194
199
204
162
247
229
190
178
183
175
178
145
133
230
285
182
246
133
217
201
145
180
131
166
204
162
192
197
115
192
203
146
229
249
203
210
266
236
166
151
221
152
216
283
165
212
217
176
182
202
184
168
146
145
169
215
222
184
221
229
150
178
146
166
182
188
236
205
187
145
180
149
182
197
122
129
173
214
185
225
228
185
130
228
180
207
220
171
129
147
255
138
143
180
190
129
141
231
204
145
184
224
168
217
173
237
250
195
233
210
202
228
206
202
214
167
184
183
240
144
156
199
211
129
238
182
149
238
225
264
129
140
211
182
229
179
296
238
247
171
208
200
191
206
167
174
262
198
217
179
201
183
236
141
176
168
268
230
222
236
162
202
148
205
181
191
130
197
176
168
173
184
182
269
212
228
132
180
195
274
166
140
190
219
202
146
254
216
195
158
192
210
164
211
177
186
181
168
166
145
291
205
145
180
202
259
208
184
260
186
227
236
262
164
191
193
173
168
215
287
261
173
183
184
178
133
146
161
162
144
212
173
178
130
164
225
172
150
252
146
230
254
145
148
145
228
201
292
143
227
176
172
238
249
206
184
205
143
195
162
222
195
264
145
208
192
197
251
190
150
167
129
173
145
176
194
165
130
266
182
145
149
146
173
146
227
211
212
130
253
158
185
216
211
173
161
230
173
204
166
201
146
226
218
161
203
162
215
158
188
171
133
210
261
174
185
173
218
179
280
246
129
244
212
238
211
180
229
201
115
143
146
181
173
201
185
251
173
199
180
217
162
178
176
188
179
185
173
222
157
176
204
146
211
259
229
258
215
206
182
230
225
203
179
197
202
219
227
174
217
222
221
204
235
115
166
256
145
150
193
204
210
206
151
224
146
168
200
231
145
212
176
197
177
219
201
218
198
335
173
211
218
146
119
150
185
281
210
227
157
203
214
132
202
179
249
265
203
217
173
115
217
191
157
154
173
211
164
214
190
185
235
220
188
183
168
180
246
184
199
210
144
297
198
232
213
276
182
162
173
176
146
181
187
217
226
155
169
145
204
133
172
146
184
202
177
169
146
141
188
150
147
200
129
152
188
184
188
236
212
179
165
217
181
185
157
233
268
173
157
209
189
222
122
204
168
267
200
217
262
172
171
236
158
169
253
183
191
255
217
191
130
129
204
191
226
203
205
211
181
145
209
175
138
169
179
214
130
183
245
185
182
176
143
200
213
130
178
165
193
146
200
138
171
212
212
176
218
202
230
262
194
204
195
188
189
150
146
210
115
122
176
143
193
195
204
163
178
211
168
145
193
238
200
225
176
190
156
194
115
143
278
141
143
201
130
166
145
242
247
173
130
184
212
186
200
181
146
194
172
235
206
181
208
157
206
204
229
211
217
166
283
115
221
230
162
130
212
185
204
277
189
219
179
182
260
211
204
228
242
129
174
195
253
158
240
195
143
204
227
178
225
221
202
184
176
129
205
231
246
212
216
180
210
130
236
210
201
188
176
234
188
194
149
199
174
214
155
173
335
211
192
149
157
205
129
202
202
320
180
175
172
168
206
191
159
191
150
129
230
217
249
129
176
130
204
204
169
186
188
160
228
182
130
208
188
175
231
176
130
203
247
163
261
242
234
188
206
218
204
178
236
176
161
202
129
224
146
155
177
201
191
171
189
217
207
164
210
173
218
204
158
194
164
155
202
206
174
130
150
138
174
166
160
173
145
176
210
130
274
242
186
244
173
194
133
179
174
244
265
259
173
172
216
160
206
219
159
226
236
210
181
237
246
133
258
168
200
202
152
192
176
200
167
211
201
167
240
201
181
202
176
228
211
210
199
143
146
179
221
197
230
187
213
158
210
201
271
194
130
227
168
186
200
130
156
175
187
214
240
261
204
155
206
200
218
180
275
130
175
170
216
287
182
129
149
122
258
217
229
275
191
170
228
162
133
208
244
193
169
197
128
173
138
166
155
210
204
307
169
199
238
169
157
202
185
234
197
143
133
144
236
242
186
183
201
188
181
236
221
221
185
179
129
174
215
130
158
264
221
147
236
287
176
221
217
143
130
138
166
225
146
204
230
185
169
282
319
181
192
167
203
171
208
161
204
130
286
231
246
172
165
129
176
182
204
257
212
183
164
133
245
203
164
230
169
236
212
178
262
146
198
214
274
184
115
238
221
176
335
302
197
287
226
201
141
228
184
176
172
176
161
192
192
186
149
183
202
173
205
178
173
157
180
176
146
259
176
226
167
180
204
192
206
146
145
141
158
227
164
191
186
133
264
187
222
159
151
186
246
179
143
182
152
247
141
204
176
202
115
182
235
130
275
236
151
201
180
194
115
208
195
146
138
182
244
191
166
217
156
190
221
228
192
244
204
276
202
173
145
192
285
199
239
201
207
275
220
235
249
180
130
144
238
179
129
236
178
184
202
194
183
129
146
202
179
219
210
227
174
224
239
175
255
232
129
174
162
146
227
252
156
274
145
217
204
210
215
130
169
146
304
243
211
173
185
287
171
141
141
255
165
204
191
181
217
224
179
209
115
243
183
174
146
335
271
217
214
241
171
168
232
178
228
182
261
218
168
129
168
129
171
217
194
262
248
204
254
143
206
162
222
157
149
155
218
260
169
221
228
122
184
147
146
173
169
129
247
176
257
174
169
217
199
190
210
141
156
222
122
236
164
172
239
214
179
146
225
188
191
133
138
176
202
204
221
263
174
204
164
203
200
226
146
225
216
202
216
230
206
199
199
258
172
215
195
258
195
183
210
115
242
172
170
153
205
225
220
284
217
209
182
158
200
211
226
151
115
155
186
230
184
173
144
169
200
202
176
287
186
202
175
204
231
168
220
192
150
242
162
254
258
210
151
169
250
162
199
266
211
155
171
203
240
216
145
242
128
162
176
162
230
176
201
210
191
193
161
168
186
210
129
236
271
180
130
228
173
236
304
176
239
188
231
221
145
219
168
194
147
133
173
236
174
129
211
194
122
230
208
228
273
133
176
238
190
185
133
247
201
214
146
258
200
192
192
238
130
192
138
167
225
128
187
198
141
198
178
176
173
178
210
185
170
146
222
200
145
237
169
115
181
195
179
225
173
172
204
217
186
182
231
129
204
178
145
202
229
173
181
230
169
182
146
129
232
196
204
176
176
204
129
171
168
210
172
184
146
258
182
150
203
168
203
217
130
253
146
209
217
261
164
244
264
206
201
143
222
195
244
153
215
155
168
171
182
213
231
208
138
133
233
221
219
145
195
192
225
183
146
145
217
160
179
212
264
145
164
202
175
177
217
149
307
178
210
133
144
146
160
176
247
162
215
163
203
283
130
213
200
173
168
202
206
162
235
288
174
166
157
129
150
194
204
206
183
207
229
143
190
145
188
200
200
183
169
235
145
230
212
236
161
207
189
215
195
193
183
264
236
173
201
146
181
206
153
144
172
218
164
211
200
173
145
239
187
188
166
164
166
166
129
204
129
187
212
175
191
209
175
215
197
146
201
145
129
252
150
151
269
178
156
201
130
225
204
225
130
245
210
177
158
199
133
215
211
151
202
129
181
265
234
146
170
179
173
182
129
146
219
202
201
146
204
263
173
131
194
180
224
221
227
217
182
230
190
192
237
191
164
201
192
130
186
212
133
201
216
173
288
146
180
195
173
191
259
211
143
238
201
208
168
210
230
168
166
132
130
214
204
206
190
155
256
172
210
174
179
217
185
146
150
145
129
183
180
176
199
146
146
164
193
212
236
188
180
288
164
178
168
243
283
193
201
115
130
210
204
201
155
173
201
196
168
261
176
240
129
260
189
164
261
219
242
162
189
163
146
128
164
192
173
146
224
151
230
173
146
223
174
138
195
143
146
264
225
175
227
150
210
173
130
164
176
156
145
205
239
180
205
173
179
170
144
133
130
248
176
206
226
173
236
186
205
222
169
209
143
238
143
130
287
130
201
141
172
171
169
211
220
173
146
203
287
173
217
130
264
200
287
230
168
256
184
214
225
238
204
204
184
259
194
255
204
190
198
255
222
199
146
247
176
208
231
283
208
133
198
238
130
187
183
165
238
141
239
321
240
178
162
145
215
162
146
214
185
199
131
200
236
202
203
146
115
258
229
236
155
171
143
266
212
214
247
211
115
143
222
192
185
349
133
211
210
185
188
169
185
166
219
181
168
192
173
179
237
184
164
186
166
147
182
146
329
199
203
146
130
222
162
179
130
196
153
200
206
252
217
217
129
228
176
173
193
173
149
204
133
180
263
162
178
258
171
208
129
210
182
278
186
173
207
169
236
185
143
213
170
193
204
172
225
202
261
184
146
184
176
158
184
202
162
247
190
189
170
246
153
179
216
194
162
201
187
216
228
179
208
161
185
155
187
176
212
174
186
199
236
202
212
236
181
185
196
226
204
208
212
168
128
122
264
161
145
150
130
197
200
200
195
181
239
223
185
133
218
215
203
130
157
243
162
173
115
146
181
206
158
176
225
193
191
165
188
166
155
197
173
210
193
227
255
262
246
115
218
176
221
230
240
204
202
235
173
143
218
179
166
173
185
130
230
204
179
194
209
204
168
157
180
149
146
145
164
232
144
173
122
210
222
171
132
164
200
197
189
115
180
218
184
252
181
252
146
194
122
191
217
176
200
209
133
130
179
172
162
149
246
173
173
157
184
194
237
199
187
161
166
178
201
172
195
155
209
234
211
171
192
202
185
204
115
179
146
185
162
211
168
237
230
179
191
206
296
193
164
195
168
133
144
194
176
176
243
252
283
190
215
188
158
173
217
204
200
146
185
176
204
211
218
160
167
145
217
132
246
193
176
211
263
115
161
204
161
196
168
180
209
160
217
300
200
162
266
178
138
171
174
129
150
185
174
214
164
132
203
158
239
161
176
174
190
156
232
155
192
192
162
164
129
146
150
210
195
122
146
194
130
176
168
258
188
232
143
186
180
216
129
205
115
129
221
201
143
240
146
145
230
178
171
236
182
214
204
180
179
211
224
168
237
178
179
153
184
115
176
217
161
146
119
202
212
173
236
153
200
158
173
270
169
311
192
230
201
122
262
335
162
178
160
195
164
218
240
204
156
234
262
183
122
147
202
237
230
183
213
145
157
130
184
130
206
201
189
186
150
191
138
212
265
156
204
236
146
181
230
205
238
239
262
180
238
165
129
129
255
238
175
184
194
129
207
210
200
231
185
204
189
169
229
129
210
234
212
264
176
179
179
146
167
168
217
211
141
238
260
193
189
152
129
215
115
276
129
176
129
230
168
129
129
195
239
236
186
238
217
173
197
219
202
141
182
202
228
181
209
169
146
176
179
183
233
173
157
175
274
217
232
213
161
155
129
206
185
153
184
204
129
178
197
225
164
161
221
218
239
192
150
199
200
239
193
227
206
210
130
199
168
263
182
180
169
283
239
280
204
129
168
159
263
251
165
184
232
220
207
223
173
263
204
168
196
254
262
184
199
213
164
182
190
211
190
173
191
246
183
182
205
210
202
230
210
290
242
311
248
182
202
245
225
168
171
130
221
207
203
143
211
225
173
229
183
128
214
129
128
238
212
182
166
172
182
204
181
138
199
192
217
235
158
217
162
129
203
259
231
206
122
230
204
180
213
192
185
192
204
173
222
133
170
143
252
202
162
176
246
164
176
174
115
256
204
206
160
146
242
229
183
181
167
164
257
182
168
335
218
201
173
227
186
263
195
173
160
281
173
217
133
193
132
149
227
236
181
146
210
211
232
188
176
173
145
179
184
130
226
165
187
191
217
186
180
182
204
145
243
183
307
238
186
212
161
175
145
189
211
173
166
173
210
214
160
192
210
191
209
193
187
273
201
170
173
204
130
194
251
208
180
180
185
145
176
214
171
130
181
164
230
210
144
184
211
222
273
186
147
225
173
201
194
256
168
188
204
178
228
211
191
203
315
115
169
242
222
173
233
198
143
164
133
166
221
181
201
169
217
168
203
169
162
186
210
232
165
182
194
216
211
224
230
204
269
214
203
176
155
188
263
180
215
147
207
133
149
202
178
178
190
170
228
200
176
122
255
248
161
231
182
245
176
200
162
166
187
264
173
168
146
145
129
115
122
227
138
171
239
129
238
219
130
217
208
246
173
187
188
184
194
238
203
182
203
218
206
257
201
245
194
266
201
198
179
254
203
218
230
228
272
244
243
181
162
236
229
169
190
254
198
182
190
265
168
169
217
234
202
162
283
200
197
133
190
229
163
263
143
181
149
162
211
201
252
119
235
204
217
176
211
193
133
259
166
170
182
190
209
256
179
227
217
208
260
200
168
160
146
335
231
181
173
181
218
195
115
211
156
234
130
262
195
210
162
239
150
243
133
166
204
306
155
146
206
149
183
249
221
192
162
252
146
206
176
210
188
210
139
167
201
197
239
209
173
176
146
155
210
216
232
211
141
211
198
182
146
141
129
183
210
173
217
214
158
204
228
223
227
230
183
222
205
204
204
237
250
133
207
258
179
185
246
156
209
168
246
211
265
190
222
160
160
210
217
190
144
146
145
130
217
235
149
221
155
115
190
145
180
227
202
138
239
335
206
194
204
180
216
215
146
153
171
171
195
272
209
129
204
236
206
201
164
201
230
179
172
228
182
187
185
162
224
164
169
133
268
206
218
190
217
183
175
261
183
186
184
257
179
219
219
157
161
247
204
146
175
149
179
150
243
182
194
164
244
162
129
240
144
204
146
176
235
151
206
217
193
178
161
145
173
192
164
300
164
239
225
189
191
238
205
229
176
210
171
203
177
174
130
233
201
184
202
179
236
138
227
160
173
239
181
209
262
204
178
204
265
189
143
194
181
148
173
129
199
201
177
133
182
168
179
173
176
141
206
169
130
202
230
276
130
178
169
239
224
152
179
211
173
174
187
274
234
244
225
162
188
282
230
204
269
192
289
156
166
202
234
249
185
227
239
228
190
199
172
162
173
173
225
184
199
200
204
146
282
186
162
158
164
261
176
177
173
165
129
183
115
156
164
216
158
179
183
176
156
217
230
204
130
191
264
133
146
156
122
214
206
145
130
168
119
183
143
214
227
168
201
218
189
186
182
205
145
181
171
178
202
122
141
146
164
175
230
204
172
220
263
160
231
216
181
260
185
178
129
218
208
143
145
143
180
219
202
231
167
226
169
213
211
193
163
168
176
163
230
208
221
159
192
191
129
200
231
130
179
152
201
166
184
238
199
222
202
129
133
141
146
227
176
206
187
207
153
225
158
200
200
217
201
183
214
184
130
156
207
195
162
204
206
166
214
209
166
129
228
119
166
173
251
158
270
168
211
179
206
242
130
285
205
222
210
176
201
164
173
216
183
173
199
132
176
179
150
195
207
206
200
210
160
183
253
250
217
129
164
246
225
215
166
151
169
222
227
168
184
246
202
194
236
187
171
211
179
251
143
201
153
218
201
175
205
267
194
178
195
129
156
224
203
210
271
160
227
175
199
155
141
189
304
228
162
300
216
143
212
231
130
185
195
256
145
178
221
153
181
133
169
198
239
202
146
138
232
235
197
173
184
182
164
205
144
176
209
160
210
188
217
189
146
162
149
197
115
178
176
187
122
209
208
273
146
147
211
257
178
187
188
168
232
213
230
187
162
197
159
263
208
217
246
236
173
164
208
130
173
187
182
185
173
229
146
236
204
183
205
183
202
180
193
225
204
217
146
253
132
190
232
194
173
145
211
207
146
213
240
152
115
226
180
274
195
222
176
133
206
145
211
176
171
176
145
200
202
191
214
204
187
160
159
214
249
230
161
161
168
178
156
143
157
214
206
129
169
143
176
235
179
155
222
253
227
129
178
173
217
187
251
201
201
254
199
202
178
171
130
231
176
230
228
236
168
183
173
234
160
174
239
228
201
168
267
199
227
200
189
179
158
244
171
185
213
146
156
176
200
161
182
173
217
146
133
195
201
242
192
150
179
159
227
214
217
238
191
188
216
171
211
209
184
180
128
201
211
146
176
229
183
155
264
176
204
210
197
222
169
241
129
274
164
176
217
119
160
165
167
226
258
238
207
151
210
181
239
204
214
249
166
191
184
217
146
129
227
183
172
115
158
194
183
192
238
217
325
173
191
204
158
195
169
256
129
201
230
225
200
184
173
188
241
115
146
263
256
146
143
214
222
180
132
179
197
235
179
128
146
179
320
182
151
174
138
204
178
173
206
254
155
180
179
210
141
176
195
173
206
210
186
143
169
184
190
176
199
176
158
158
164
178
150
178
221
265
214
129
129
176
221
159
179
199
141
190
225
211
222
238
210
204
129
236
247
235
139
183
252
226
169
122
252
171
189
208
168
156
180
171
146
204
221
221
174
216
186
202
202
145
149
172
252
182
287
261
184
208
173
247
183
145
202
173
183
192
139
228
211
197
129
176
224
115
224
187
202
115
146
174
225
198
168
176
129
224
205
227
267
193
173
176
191
204
221
206
133
266
204
143
200
204
230
242
173
178
273
159
231
199
199
158
192
251
222
204
211
224
218
161
217
188
143
228
236
242
151
202
130
240
186
193
228
138
146
183
250
164
195
215
148
146
186
220
200
179
184
186
162
176
168
181
162
153
189
204
210
201
182
173
161
264
183
169
146
267
157
164
273
176
183
212
182
150
176
191
210
225
154
256
192
129
176
138
266
191
143
202
214
177
173
225
176
155
178
268
164
158
231
173
145
272
145
167
173
178
203
173
158
150
176
192
146
150
176
146
208
182
187
138
234
188
179
130
202
164
289
228
183
218
180
162
175
203
180
188
168
133
214
239
230
182
300
215
151
217
211
216
130
238
176
169
162
146
173
250
130
133
257
200
230
246
162
228
153
199
184
129
176
145
130
225
180
130
155
173
211
129
225
129
180
205
191
171
246
195
186
221
210
237
129
174
186
198
222
205
186
204
242
185
237
168
176
183
228
204
168
182
194
209
169
168
180
215
167
133
129
239
173
146
258
230
155
176
221
162
162
212
146
191
181
212
176
259
216
159
145
170
176
146
202
246
309
171
186
214
155
173
162
211
174
160
133
178
187
250
200
256
273
295
176
174
206
225
162
130
149
202
182
176
198
200
188
260
282
235
165
146
173
173
197
169
182
287
162
231
233
201
129
155
237
187
129
180
150
233
229
193
167
184
181
217
173
203
213
214
238
210
161
211
146
222
214
190
138
217
190
217
180
237
228
258
245
129
214
185
161
271
178
202
182
160
217
175
204
237
163
188
204
237
221
176
247
205
216
216
201
143
221
183
228
208
239
200
238
283
230
203
247
188
179
210
201
191
182
133
220
153
161
162
204
204
235
130
216
233
210
173
247
130
160
146
184
205
146
168
246
195
214
182
173
194
292
210
229
236
191
152
203
175
346
230
173
176
184
130
181
191
194
185
179
230
138
180
185
183
146
274
146
130
188
224
250
162
161
230
185
207
129
186
231
301
293
130
199
129
218
158
228
169
192
210
215
204
146
187
215
164
173
207
158
246
206
227
183
133
129
206
224
129
174
184
186
170
219
218
201
159
141
217
269
160
234
200
239
130
231
168
273
178
198
212
211
115
258
189
228
211
171
176
171
202
204
176
141
177
283
164
183
196
178
237
243
176
193
186
176
150
166
236
217
150
129
192
129
190
191
200
252
146
203
210
181
239
162
218
202
210
208
204
129
225
191
212
218
191
204
157
173
182
204
179
150
250
218
221
188
130
158
178
229
133
130
146
206
143
198
176
195
181
188
197
191
190
197
204
131
163
210
162
193
156
129
202
141
193
179
239
171
129
230
249
146
252
170
204
258
179
240
229
157
195
203
200
288
246
208
204
185
210
173
180
253
200
191
129
219
256
176
198
247
177
177
188
244
160
204
201
228
182
129
146
165
228
250
115
179
210
164
207
217
176
161
217
203
229
190
173
130
204
185
246
181
246
149
272
181
178
200
222
173
225
192
169
130
217
129
184
149
221
186
239
146
158
209
214
204
217
216
196
210
213
180
158
162
185
173
186
257
130
161
146
184
287
208
166
229
160
230
200
130
174
244
173
215
181
198
202
180
186
119
115
184
217
152
130
188
235
258
200
211
182
158
203
204
247
129
163
162
176
146
217
227
146
190
238
129
190
184
173
188
217
146
216
193
173
184
239
252
259
214
179
158
302
246
130
153
206
153
212
192
158
180
158
171
221
297
169
173
160
151
164
162
179
153
183
217
191
275
214
130
145
155
174
192
176
258
193
249
162
146
206
202
191
204
177
211
206
158
209
193
185
169
146
245
339
191
204
229
218
308
171
235
195
294
122
178
156
145
272
184
304
190
182
168
207
164
176
242
214
173
214
198
179
242
173
170
220
153
176
211
226
214
214
201
264
160
160
255
185
212
176
143
244
289
243
129
129
204
217
173
217
204
208
115
176
203
171
214
210
229
122
226
267
129
250
208
129
208
210
183
247
198
181
146
146
199
159
174
160
162
213
235
213
217
283
201
158
165
173
180
243
146
238
191
171
186
255
202
227
129
217
187
130
235
236
184
245
236
133
226
157
214
203
240
146
146
182
198
241
275
196
138
194
173
128
183
173
146
176
168
243
195
176
215
129
146
173
179
164
185
146
210
241
199
176
122
164
133
159
244
242
164
204
130
194
274
207
214
234
201
130
213
176
173
258
215
181
200
222
246
190
234
191
115
155
231
183
204
132
252
131
188
222
180
283
211
170
200
164
157
129
187
149
242
190
273
130
158
224
239
206
129
218
159
223
145
133
222
176
180
204
224
210
157
214
202
146
236
255
246
242
201
145
182
138
181
166
178
192
236
184
222
173
226
244
141
172
150
153
236
206
186
179
129
180
206
173
218
173
130
174
168
173
245
199
266
219
231
188
254
162
177
217
209
184
202
189
184
194
187
210
210
168
242
173
247
171
115
173
168
254
162
122
208
205
202
175
195
236
191
208
247
303
213
176
194
182
141
199
153
238
197
146
172
200
155
245
150
178
231
145
254
191
207
230
176
173
211
129
186
259
211
209
178
183
258
289
115
288
190
246
130
180
176
224
164
168
185
231
215
254
188
162
173
185
217
204
162
146
200
199
202
146
214
199
161
115
227
179
237
170
138
246
155
164
211
183
138
217
184
187
130
224
222
259
143
185
184
184
173
151
182
128
146
149
145
173
158
192
192
190
192
143
192
130
161
192
204
145
163
197
264
173
168
216
212
209
272
145
149
129
173
199
208
161
211
212
138
224
210
241
231
244
133
222
223
169
258
187
217
228
184
229
130
162
239
191
157
166
128
171
156
244
193
198
130
281
170
195
217
159
162
224
207
188
179
179
215
202
274
241
156
174
173
258
224
282
209
186
184
204
156
157
165
193
228
180
220
206
130
133
202
321
264
115
184
129
130
164
207
218
162
183
205
194
180
215
230
207
211
173
176
288
195
186
207
200
129
130
200
176
212
212
149
214
201
196
211
130
130
130
130
181
184
244
210
253
166
179
215
184
181
270
155
195
258
179
264
168
181
162
182
130
231
168
200
180
129
129
184
170
210
250
146
261
201
131
219
225
229
256
202
143
236
204
228
182
153
160
190
181
204
209
210
179
175
182
259
256
158
188
168
179
201
267
194
222
122
238
122
163
162
182
225
115
173
307
191
152
197
198
246
192
231
235
204
247
229
150
197
130
130
217
168
258
194
252
209
206
191
166
252
231
167
179
133
211
162
288
194
173
184
184
168
168
173
130
146
188
151
129
164
228
182
239
235
168
173
197
225
133
129
145
210
231
166
217
235
202
211
145
205
204
184
153
181
174
156
145
160
176
173
200
145
239
202
171
204
249
143
186
185
228
185
258
206
211
213
146
215
146
217
173
236
206
161
139
145
162
159
263
274
213
183
173
186
146
184
133
201
147
177
145
216
145
155
147
229
173
255
204
228
206
241
238
129
147
115
215
173
176
259
206
231
229
188
176
208
204
178
230
202
192
236
219
143
173
203
188
193
192
210
184
218
210
202
198
200
216
180
129
222
205
161
184
192
122
243
192
146
192
164
190
218
201
174
168
132
190
146
198
155
146
223
187
160
204
180
222
285
145
217
190
193
335
192
201
154
173
204
258
187
202
176
178
173
129
183
168
161
143
211
178
182
171
207
221
133
176
173
287
297
183
202
129
131
257
208
196
192
217
225
160
150
200
172
145
129
173
202
230
247
182
212
172
189
236
242
249
188
257
188
265
261
156
176
256
202
201
178
249
129
174
129
195
156
168
237
129
211
216
183
225
162
206
193
265
158
198
236
227
262
149
225
239
173
227
203
236
189
163
180
184
201
191
130
219
157
164
145
178
130
225
237
216
188
214
180
200
133
245
153
195
194
173
188
218
184
146
176
182
224
149
129
178
222
215
185
165
166
164
219
183
177
200
183
201
211
129
210
218
255
202
211
129
141
257
208
145
185
207
183
230
140
155
143
215
183
209
195
213
150
204
160
171
169
180
129
213
188
257
183
204
164
129
223
163
257
180
202
220
176
206
211
180
166
225
204
263
204
205
179
145
176
184
230
215
145
200
188
148
201
208
255
195
161
187
158
164
166
162
179
158
228
145
222
282
256
158
193
204
158
172
179
210
172
307
193
203
156
223
193
201
122
156
180
161
208
218
225
212
205
132
211
146
197
162
176
180
229
158
234
180
173
133
186
146
204
206
181
146
245
231
146
161
302
146
211
187
188
205
205
146
180
335
176
153
182
164
204
191
246
260
210
185
143
281
204
313
176
261
194
248
173
237
168
234
169
138
207
184
158
238
206
180
207
238
261
218
173
182
214
192
214
185
227
129
242
181
195
152
146
171
253
321
242
173
232
185
266
158
253
249
202
193
180
174
249
150
210
164
191
176
236
141
129
208
146
236
173
173
186
173
258
145
129
222
202
213
176
168
151
246
246
176
207
220
201
190
141
191
129
201
178
162
198
186
216
217
178
224
178
176
166
204
191
174
181
263
146
222
216
257
205
235
242
176
145
173
197
227
183
221
179
199
169
186
159
178
189
138
230
210
176
247
217
287
191
141
199
145
204
146
201
214
228
208
183
207
201
253
173
243
115
226
208
133
185
145
188
179
189
119
235
168
172
230
190
201
130
191
249
172
255
201
150
159
204
274
295
183
168
180
200
199
188
218
143
270
262
164
224
185
203
176
216
179
130
130
218
158
146
133
187
129
175
162
166
163
202
235
146
217
149
242
174
210
198
129
176
173
157
247
172
173
217
115
173
178
190
271
176
206
302
288
210
180
178
204
194
149
141
217
238
204
145
182
222
191
144
212
115
259
183
235
204
204
187
225
191
210
143
187
149
133
189
211
181
173
164
130
182
198
210
164
197
224
146
261
143
204
160
188
211
191
176
210
221
201
176
168
176
234
283
210
212
212
299
222
200
155
201
248
251
205
176
115
179
205
200
168
171
212
216
188
129
185
210
173
129
158
200
204
179
158
199
133
220
239
225
210
129
214
259
201
211
220
247
172
226
204
200
170
203
151
206
214
176
176
165
178
163
218
228
229
184
180
176
206
187
145
252
188
210
130
212
160
230
145
221
129
195
231
177
149
164
191
210
182
146
181
204
192
176
210
164
241
253
184
222
159
158
146
161
210
192
200
178
144
252
119
130
217
168
208
203
164
179
174
170
227
172
155
174
204
233
202
213
253
145
152
175
146
259
184
206
229
231
131
184
173
176
230
249
224
204
168
270
274
158
265
200
204
214
217
258
129
173
200
133
184
168
220
169
158
230
236
204
235
243
161
261
159
217
178
173
245
185
239
211
122
251
130
188
217
210
280
182
162
258
236
238
177
182
129
163
178
141
211
165
273
229
115
176
283
193
249
283
224
248
226
144
250
193
273
182
193
209
189
252
303
214
166
133
229
226
176
300
129
202
228
156
129
238
256
164
176
202
130
130
146
227
253
200
191
184
204
171
281
204
182
130
143
212
164
191
264
250
215
192
192
115
195
220
129
173
191
183
176
230
196
216
182
192
189
170
129
132
204
150
176
180
184
286
162
177
200
208
182
180
181
205
146
190
210
227
161
130
181
203
202
129
130
242
255
203
176
250
149
185
228
179
210
257
146
157
251
230
237
133
211
146
176
184
176
162
166
168
228
245
175
169
229
166
239
161
229
228
143
235
175
188
156
133
164
194
181
166
155
210
208
188
192
190
146
206
198
141
173
256
210
173
163
158
220
146
193
146
122
129
192
182
275
203
156
204
164
186
143
227
115
207
234
200
211
177
179
201
143
228
211
257
147
133
173
130
158
152
158
195
172
183
130
200
215
186
130
225
209
204
138
210
246
171
181
182
180
186
143
242
169
231
152
178
217
256
173
185
236
143
186
228
146
230
247
267
144
150
173
209
182
218
170
206
252
170
202
260
235
229
146
287
164
189
176
197
261
158
164
203
206
210
164
174
180
150
122
161
171
164
153
183
228
218
173
185
211
153
146
190
130
210
183
170
187
176
143
191
158
222
192
179
200
179
183
133
183
217
181
201
200
178
146
181
145
214
162
133
206
209
179
162
183
181
195
255
181
204
179
183
119
146
222
176
227
168
169
176
245
164
179
146
232
180
174
236
239
245
146
264
236
143
180
181
129
204
236
151
157
195
212
225
217
207
269
217
196
158
208
175
173
115
171
168
209
156
204
206
172
133
168
211
235
188
210
176
209
146
259
170
204
225
263
186
161
251
210
201
152
130
179
162
168
185
182
262
222
200
294
171
226
141
133
194
228
236
232
193
227
205
303
173
211
200
181
201
237
200
191
147
210
179
159
133
174
240
204
198
215
146
191
305
143
217
173
161
194
189
145
158
185
172
260
194
269
212
240
186
178
172
166
175
158
174
232
165
219
143
182
214
204
164
133
152
211
210
253
155
140
158
165
194
115
191
184
147
174
176
201
246
283
201
166
272
217
183
258
217
182
159
130
145
240
186
182
217
210
252
265
206
173
164
173
115
210
214
218
228
175
174
146
129
176
130
195
182
162
179
176
201
130
168
231
187
160
164
170
219
230
179
159
257
253
172
204
217
281
182
182
256
168
156
168
145
164
184
172
133
277
237
115
131
171
246
202
176
149
251
129
230
206
227
237
201
239
230
273
173
176
264
179
194
188
146
155
230
206
190
143
143
201
183
236
210
225
168
173
215
238
182
214
183
189
184
190
178
222
239
146
173
184
176
178
130
146
200
143
184
129
115
184
179
167
230
159
161
146
129
244
200
222
173
146
222
195
213
236
172
211
194
145
251
183
190
173
217
215
215
187
227
179
175
170
207
130
254
150
152
188
146
270
184
143
175
168
231
172
169
161
187
202
171
161
240
179
206
204
146
214
173
150
185
187
240
216
254
130
129
153
141
129
249
115
200
115
179
230
146
155
198
221
147
129
200
253
169
145
335
199
249
222
206
204
210
133
247
193
146
186
216
158
186
167
202
147
173
297
210
168
243
188
146
197
173
224
145
173
201
219
183
216
179
184
155
248
143
176
191
129
259
166
211
210
176
250
165
236
144
236
210
187
228
191
146
230
157
222
216
180
214
192
169
191
146
179
173
213
173
130
138
201
129
204
222
185
182
216
178
239
145
193
176
188
143
200
201
248
187
162
202
169
130
150
201
173
173
228
197
167
130
266
196
226
193
132
122
209
166
143
242
202
210
246
212
212
211
143
217
165
201
230
129
220
177
176
204
242
164
334
211
180
143
247
166
293
115
146
182
192
175
147
212
170
144
158
144
185
242
149
185
254
204
164
130
183
266
266
171
143
179
172
230
168
184
172
219
189
255
207
182
178
183
195
221
254
146
179
237
224
260
155
259
234
244
191
202
151
155
236
155
206
192
153
220
232
227
206
236
298
335
173
192
129
164
212
234
138
189
186
247
236
173
228
224
218
217
178
176
211
231
205
171
150
164
186
260
176
193
147
183
176
177
174
200
158
167
216
188
176
203
192
198
168
199
173
197
227
173
205
146
195
143
217
130
146
175
204
168
229
186
164
263
238
205
221
242
176
218
179
173
250
146
145
262
188
244
175
213
143
303
132
185
175
162
260
130
149
220
247
209
205
210
217
214
231
264
226
219
211
174
168
276
204
221
146
152
218
210
254
183
260
162
207
140
201
175
187
162
157
178
178
240
152
246
204
220
200
187
209
191
210
253
242
239
304
166
225
198
129
141
227
264
171
129
166
247
199
168
180
235
262
230
213
194
211
288
188
153
173
266
191
205
217
192
179
218
213
193
157
214
202
184
156
174
160
202
194
129
268
129
236
151
188
214
191
224
246
138
204
178
258
194
191
181
194
239
234
173
152
217
182
285
206
173
221
239
186
115
201
206
179
174
318
186
173
216
133
222
161
201
211
189
204
129
208
219
217
203
211
138
275
130
238
231
246
176
190
159
130
263
133
147
184
129
211
192
194
261
171
243
138
173
204
174
130
185
204
204
186
173
146
204
168
161
214
200
138
206
229
185
164
247
179
237
146
145
150
182
162
130
202
146
202
178
146
146
200
288
183
143
211
219
182
204
217
158
152
173
176
176
169
143
291
186
225
245
203
195
217
251
155
166
183
185
180
160
238
217
221
199
235
197
168
285
181
168
146
239
162
228
227
184
157
189
207
204
130
184
261
226
178
185
168
156
129
214
222
192
222
231
146
219
202
178
187
156
241
225
254
264
210
227
146
173
197
171
287
222
144
243
173
181
245
204
255
264
248
146
322
155
147
201
257
202
227
129
226
269
195
285
180
201
184
184
129
224
171
184
200
145
198
205
236
132
168
158
146
122
225
141
138
185
191
210
206
146
187
173
239
258
115
168
195
143
158
190
179
177
237
194
143
133
283
164
173
217
210
150
261
198
178
230
146
133
146
164
204
261
210
231
129
185
145
215
154
188
194
188
184
210
210
193
217
212
151
154
204
231
227
173
216
217
207
163
186
178
217
246
184
144
225
171
220
200
222
198
147
242
119
201
183
129
156
219
179
208
115
195
162
150
173
204
185
179
186
138
237
164
181
151
132
184
115
202
143
168
155
211
174
215
226
210
261
173
176
155
166
146
179
182
248
129
242
208
132
148
221
282
228
173
173
150
240
184
201
204
184
210
191
225
285
201
245
172
202
129
201
273
157
189
146
176
150
184
222
156
156
180
182
203
208
133
226
268
231
141
230
164
146
155
216
234
236
218
115
169
164
174
131
186
197
188
251
204
179
225
178
144
204
239
200
138
207
210
162
250
159
210
176
149
218
129
129
201
199
171
297
152
168
229
162
230
216
173
208
180
176
195
224
214
166
128
184
202
229
178
174
224
206
206
334
218
247
129
144
307
254
200
264
183
179
231
155
132
179
222
210
162
218
124
292
291
300
202
200
259
219
246
223
222
157
247
206
130
249
162
249
145
164
158
200
146
184
178
221
217
178
129
143
129
210
169
183
133
173
188
158
217
151
192
133
211
209
199
174
216
208
211
178
160
155
279
145
187
236
219
186
204
187
222
171
188
213
240
143
208
138
239
221
173
228
161
161
208
199
130
176
183
210
166
119
158
184
176
184
166
249
184
150
204
200
193
176
129
194
239
217
185
210
201
191
209
191
169
146
190
198
169
256
202
228
203
141
156
235
182
261
184
230
201
130
168
185
236
226
161
191
214
217
176
217
138
223
190
173
210
115
178
206
183
129
257
183
168
193
206
238
189
195
129
164
199
180
246
215
236
172
161
229
230
201
201
168
152
204
184
163
176
206
162
178
189
157
165
238
133
200
191
147
202
129
205
254
187
146
219
204
165
145
182
244
191
195
177
149
167
179
147
260
281
296
199
192
169
221
130
206
218
210
175
227
249
141
217
202
208
178
234
164
188
164
195
204
151
201
146
235
157
226
146
158
170
145
190
138
166
229
173
246
192
180
260
226
205
162
245
235
145
184
162
164
173
229
173
233
243
239
215
185
204
176
143
172
235
240
205
221
239
217
128
200
201
161
210
201
219
173
162
201
141
201
189
184
181
200
214
215
183
193
176
115
224
178
231
162
129
234
208
144
208
233
129
129
256
166
171
202
191
184
176
189
130
192
175
174
158
200
238
217
224
193
176
199
233
145
278
130
158
254
191
146
180
173
218
164
166
203
202
155
234
201
164
185
155
180
138
146
195
197
133
129
143
199
238
200
269
179
186
129
162
163
206
162
218
335
178
205
187
159
146
191
180
231
179
168
176
201
221
184
167
146
203
185
190
189
155
184
160
194
215
218
206
210
254
247
212
193
214
230
129
244
201
152
211
239
172
201
157
183
176
191
252
217
204
221
115
146
238
185
246
169
162
229
178
223
246
155
185
182
179
157
174
132
211
190
176
176
251
266
246
168
224
130
183
158
211
218
195
149
182
261
160
130
254
238
192
206
202
171
188
220
213
185
191
224
221
176
171
209
210
255
167
212
146
262
130
235
186
186
195
146
200
181
191
183
228
237
236
184
215
127
161
129
205
213
133
191
150
226
192
169
183
227
209
225
239
204
210
138
146
203
236
200
204
228
179
190
207
187
210
201
178
129
209
226
186
258
180
158
173
174
147
145
162
238
227
203
238
188
186
294
143
146
174
202
156
191
183
236
129
203
169
133
255
129
189
225
181
217
226
181
173
204
173
200
187
143
236
188
179
173
130
199
208
130
221
122
176
206
259
178
133
266
180
249
209
225
204
173
188
176
179
287
132
225
168
217
149
261
202
176
129
229
198
201
175
219
203
180
243
162
210
179
216
152
171
201
313
206
155
176
204
208
239
204
146
176
176
214
150
143
221
199
206
173
176
192
161
150
234
146
213
217
240
141
194
162
176
231
200
133
163
216
246
194
179
173
232
201
162
214
177
238
162
219
183
133
222
255
184
173
129
234
212
221
133
247
248
169
160
176
194
151
159
262
208
164
160
212
184
164
262
200
143
133
210
143
228
162
260
183
173
266
264
179
228
204
173
150
115
204
195
115
241
184
198
252
155
156
130
253
158
130
225
200
178
177
143
195
178
203
250
173
130
179
227
203
219
143
250
217
221
145
225
156
192
332
271
209
176
213
198
235
191
180
170
183
157
206
173
146
208
146
217
167
146
198
217
145
176
173
131
185
164
208
190
175
174
164
197
115
229
172
230
183
173
176
141
191
115
176
238
181
168
260
260
256
143
252
185
173
266
194
147
178
190
211
191
182
115
195
216
146
205
173
201
219
300
178
202
238
129
226
220
151
246
228
201
130
145
146
221
186
143
192
168
130
219
147
158
158
182
205
184
202
249
217
242
195
201
237
179
194
129
185
198
201
217
239
223
252
197
137
173
168
166
238
188
176
247
130
257
216
284
201
335
155
211
173
148
143
184
221
144
302
129
193
130
176
169
208
214
246
162
224
184
231
191
176
216
176
157
209
228
185
206
133
241
192
144
260
146
187
183
283
296
199
261
183
153
182
220
164
178
236
201
129
130
168
184
239
191
184
237
168
185
200
222
304
174
157
167
182
176
143
156
262
278
287
174
201
217
191
241
172
176
143
271
210
133
146
190
146
211
203
256
184
162
204
196
222
205
214
164
166
210
210
306
206
160
157
164
224
115
217
176
179
143
115
255
169
267
167
225
193
176
195
210
204
115
176
204
164
129
189
145
157
228
230
238
226
167
161
229
230
191
175
158
160
217
174
191
146
251
204
173
180
176
157
173
264
227
129
157
143
184
216
201
200
145
158
212
168
146
182
168
217
187
129
150
212
223
150
226
192
133
230
175
206
180
197
235
184
214
151
183
129
222
176
201
176
168
216
172
217
130
161
160
129
156
130
203
161
335
115
285
173
208
222
223
195
179
209
144
188
213
128
208
174
184
203
173
158
176
185
146
141
201
207
147
182
180
236
261
201
145
115
162
218
158
130
188
146
173
145
176
146
165
201
299
133
205
230
163
222
183
143
254
200
204
287
225
165
130
146
272
234
203
259
287
210
191
187
242
208
158
145
250
185
130
311
128
242
141
210
184
220
200
176
194
157
204
146
152
252
242
155
173
173
199
234
143
143
211
158
129
279
188
129
239
164
215
259
132
115
257
238
129
149
149
246
129
194
259
217
178
253
129
190
229
130
175
252
237
217
168
204
206
198
197
176
169
209
173
145
130
158
205
198
174
244
204
209
161
242
207
192
232
186
180
176
173
272
186
272
180
204
189
227
233
170
188
129
197
239
285
244
231
182
203
236
222
168
129
222
178
173
295
157
187
200
185
133
122
161
195
204
217
146
133
115
225
173
157
230
205
158
165
177
189
211
199
201
169
122
219
194
158
143
260
231
201
240
244
226
181
159
182
213
231
204
146
143
238
180
143
144
160
225
169
130
242
249
141
252
166
236
204
180
178
157
176
191
133
173
243
217
222
213
227
215
169
183
218
228
115
221
129
208
255
187
321
152
199
162
220
173
244
157
153
131
211
143
184
197
179
164
203
217
147
193
181
173
189
242
243
193
130
202
129
130
204
210
145
130
188
184
184
188
197
218
164
158
150
154
271
204
220
169
197
215
189
203
224
219
141
195
133
219
244
171
129
129
173
130
195
237
186
152
217
219
192
177
207
235
233
237
200
281
190
236
186
158
193
234
179
217
196
130
234
228
249
191
185
146
242
214
235
190
211
261
247
254
201
219
188
185
183
202
185
190
250
176
166
150
122
204
176
173
230
222
226
158
115
271
210
176
209
188
132
182
217
241
175
230
157
146
164
227
170
186
179
179
270
145
204
200
186
179
203
217
215
178
210
188
258
252
179
195
179
130
143
145
230
147
146
238
164
122
211
202
222
129
141
179
214
186
200
259
122
214
130
162
133
212
222
265
233
195
197
162
143
215
263
274
193
173
157
261
217
172
238
266
195
129
185
179
173
133
145
180
186
180
218
190
133
168
181
153
210
256
225
129
161
228
182
246
141
189
243
161
219
115
188
146
225
188
247
168
249
145
220
255
202
184
159
219
129
211
146
176
240
164
146
206
200
223
156
195
151
204
155
173
243
191
194
205
179
158
222
179
190
242
243
198
185
155
133
201
200
129
214
265
146
202
133
300
195
145
170
250
211
160
130
169
187
168
179
215
205
197
182
182
179
208
190
232
200
198
250
158
172
193
216
192
274
164
115
200
151
242
149
174
217
185
240
297
262
204
305
211
162
195
203
252
200
209
132
147
203
197
180
184
181
184
128
133
115
213
260
204
163
174
146
178
204
179
192
160
173
216
164
181
225
189
210
203
160
176
133
168
300
146
240
204
187
172
232
122
260
211
245
178
176
192
209
167
182
228
159
129
156
133
211
249
152
173
183
138
192
230
143
195
229
264
167
186
189
158
224
144
225
133
143
212
201
184
191
197
233
270
146
230
168
129
215
164
217
261
115
261
206
250
214
176
168
200
184
162
228
230
155
217
191
169
130
173
238
244
173
220
173
194
212
173
197
145
133
146
130
230
246
166
225
162
173
130
207
164
218
175
184
283
188
200
169
227
184
164
160
162
225
146
133
168
189
246
294
201
304
217
143
176
173
173
224
260
206
182
129
146
173
203
238
229
146
157
129
200
176
281
238
178
129
224
173
187
161
201
214
201
167
168
228
195
221
232
251
210
145
150
185
192
204
191
180
129
183
206
224
122
149
222
173
203
183
179
242
217
173
198
173
245
143
282
138
206
211
173
130
281
151
138
188
274
204
147
164
191
247
156
178
200
214
210
180
225
149
153
146
146
217
179
252
195
183
268
182
173
238
239
183
190
180
194
176
151
210
261
186
208
158
182
137
263
217
143
173
193
184
164
250
215
251
196
181
164
211
162
246
203
169
129
197
217
201
210
184
236
164
133
173
181
201
247
115
223
206
206
188
229
176
258
169
197
230
167
231
180
269
202
190
210
229
225
217
204
210
129
230
264
204
184
239
185
229
224
213
130
130
207
210
214
201
195
295
212
187
250
200
204
164
161
184
191
245
181
238
256
232
220
189
174
158
173
238
226
221
161
130
143
146
203
250
223
130
143
198
199
186
219
259
237
145
203
198
238
164
145
158
210
225
206
226
197
224
146
188
155
173
202
238
186
115
185
238
271
184
210
230
255
166
175
146
181
205
234
159
202
178
210
200
198
178
231
278
229
158
236
212
144
208
252
219
198
115
208
205
238
174
143
169
214
289
156
150
238
287
178
292
150
173
210
174
204
202
141
211
238
238
175
147
183
168
211
201
200
221
185
186
168
221
161
138
287
195
230
158
261
162
178
210
132
232
200
289
245
238
173
156
119
187
201
172
200
129
176
129
239
216
191
176
199
244
174
164
202
169
129
191
145
204
144
207
205
164
185
181
122
283
177
204
115
228
184
204
133
168
188
129
213
184
145
122
155
188
129
157
184
202
221
156
222
204
217
252
235
197
209
182
179
145
202
250
143
168
143
167
252
276
211
191
164
155
188
147
168
145
152
200
208
221
169
206
144
186
236
143
162
230
240
173
194
204
210
172
230
210
156
187
166
201
260
168
207
198
251
129
193
219
209
202
227
156
162
261
235
235
147
156
161
204
168
240
248
278
210
167
179
217
169
217
192
129
146
189
158
182
264
176
189
239
166
197
129
188
158
269
168
241
187
209
178
205
149
130
166
184
147
214
184
202
200
190
267
181
143
222
270
173
151
205
179
230
208
190
129
141
309
196
130
217
128
173
155
210
202
178
143
202
207
136
185
225
130
129
189
187
239
173
230
115
184
171
196
129
168
226
176
173
244
202
143
227
226
201
259
185
205
197
178
230
177
183
207
168
119
227
130
233
230
146
179
173
236
211
145
185
182
180
179
191
161
181
130
202
195
269
129
225
271
183
146
248
150
156
201
210
204
179
210
146
195
238
208
173
245
119
201
211
235
240
146
190
230
186
178
115
199
204
190
187
183
178
164
226
204
217
193
204
255
137
216
197
201
242
238
197
143
186
132
182
257
169
210
253
164
200
129
192
180
160
204
181
141
137
179
166
214
259
180
189
204
133
130
226
241
217
133
200
204
183
256
214
164
183
198
161
173
210
294
225
234
197
115
208
192
203
300
202
191
168
211
194
146
176
183
192
188
162
133
173
145
193
228
129
204
185
169
224
163
184
242
173
191
296
225
182
178
283
186
130
162
152
153
146
186
232
168
163
184
182
188
162
130
212
195
210
248
239
218
178
178
173
197
185
199
212
182
119
242
146
217
146
190
146
241
218
144
141
191
133
228
217
168
122
275
155
222
159
249
146
169
199
256
166
130
166
233
198
190
166
246
164
133
160
200
180
237
146
162
166
130
231
233
224
218
177
202
115
219
270
209
282
225
247
209
130
228
181
185
133
183
162
269
217
265
155
146
173
200
160
143
206
176
175
206
191
209
195
185
207
204
172
157
212
168
169
216
217
218
173
176
201
130
186
129
211
202
209
184
149
199
155
275
199
129
203
171
222
214
130
244
176
173
162
253
150
204
133
204
209
164
202
146
218
185
180
214
130
145
129
227
130
185
203
210
236
122
191
190
181
191
224
180
239
168
228
184
227
205
248
223
181
180
253
256
195
176
181
206
193
201
173
179
158
168
202
137
235
217
215
210
173
228
197
237
246
158
146
221
239
173
173
147
190
218
205
174
115
182
215
200
122
204
170
191
191
138
192
251
204
191
208
173
255
183
199
265
263
204
163
153
240
173
178
261
179
158
183
128
216
209
211
129
203
182
181
203
194
143
183
169
255
176
179
143
157
146
238
150
193
199
153
335
191
127
260
177
164
200
204
226
209
206
176
173
146
176
141
192
210
213
187
176
176
232
143
194
204
200
185
243
143
191
168
272
191
184
211
207
161
176
217
197
115
173
199
184
228
201
188
168
204
211
225
115
225
192
279
196
252
201
122
191
173
160
216
201
173
222
262
261
206
175
169
204
175
184
226
161
214
231
222
171
143
176
149
130
133
201
171
211
122
185
173
192
217
283
173
141
242
201
206
302
192
251
176
162
128
224
187
146
151
164
203
192
188
288
214
176
144
207
195
235
174
173
173
140
164
230
176
202
303
231
174
164
238
271
200
204
183
184
255
119
223
197
168
169
149
197
179
184
154
251
204
129
272
184
179
145
182
211
173
184
236
209
184
183
254
181
129
206
180
191
177
201
232
208
158
242
146
174
160
169
192
115
228
129
254
122
180
182
245
191
194
153
235
188
205
179
188
199
144
132
203
231
210
209
226
202
219
145
193
202
226
202
248
191
164
146
149
162
194
184
236
225
247
164
274
162
176
217
181
269
222
133
129
274
210
295
201
187
185
261
197
115
115
172
164
178
176
287
176
202
191
236
256
130
230
210
173
150
242
173
115
192
146
219
202
204
201
166
141
259
172
180
185
230
223
247
150
164
217
221
176
257
171
208
173
157
236
160
129
203
200
158
239
220
173
211
211
249
173
224
173
238
270
160
193
191
241
179
204
161
214
222
177
210
283
216
129
228
141
170
174
238
217
137
158
208
296
132
188
211
202
129
260
146
217
191
181
217
151
169
179
211
191
178
248
173
187
242
163
197
129
184
195
171
162
149
259
226
181
202
179
173
247
159
239
209
181
183
182
195
146
217
239
170
230
192
258
244
188
247
161
162
171
228
198
181
143
204
150
186
216
231
183
191
162
208
129
187
162
226
129
335
234
248
190
158
180
130
167
242
205
211
222
168
183
191
190
177
205
146
179
115
187
251
246
177
143
217
277
248
162
179
227
169
230
217
201
206
220
190
278
202
193
178
204
205
258
255
201
186
210
216
204
222
192
214
231
188
302
200
199
132
129
164
129
210
189
155
158
192
173
168
210
122
203
190
186
233
153
215
168
219
296
183
222
226
129
150
158
143
208
199
204
252
266
173
255
204
146
133
201
171
204
196
130
264
133
173
157
167
200
181
266
148
253
178
191
173
145
226
143
172
195
115
138
211
198
156
178
130
204
191
210
151
190
196
243
234
171
168
158
206
241
181
202
203
259
165
239
155
129
184
202
250
192
146
182
189
200
173
130
208
187
231
162
189
176
213
171
146
214
129
164
138
143
204
115
204
211
259
199
232
115
231
130
246
157
166
200
180
217
146
166
256
173
205
169
198
189
201
129
194
153
162
173
230
138
214
260
183
155
129
243
283
215
141
187
263
146
171
160
129
211
252
157
253
144
183
233
143
335
202
204
168
153
119
210
228
181
204
184
217
176
218
175
204
184
175
129
177
214
211
162
225
206
229
254
144
132
162
200
188
143
174
204
202
167
166
176
183
174
183
138
187
130
146
207
169
155
198
146
200
192
254
211
132
143
183
145
260
210
235
182
252
138
193
151
129
214
193
254
173
176
276
236
226
214
173
208
157
219
206
115
187
242
173
239
173
183
195
171
244
203
160
178
184
194
261
239
207
129
206
169
180
195
187
225
206
241
145
232
173
187
169
217
141
138
155
229
246
217
195
153
229
158
132
248
182
162
200
190
158
166
258
180
204
217
188
130
151
201
184
143
197
155
274
210
179
239
217
184
188
173
168
210
182
265
192
187
256
182
180
224
210
280
200
206
208
241
212
236
210
178
164
270
133
227
224
200
256
253
261
240
215
238
293
146
150
141
235
158
191
162
145
183
204
185
198
270
214
303
205
201
157
230
158
205
200
150
210
239
176
143
185
181
230
251
183
246
200
183
249
145
208
178
174
158
201
204
223
174
226
197
183
161
170
178
210
192
251
236
193
133
164
173
145
173
192
246
228
221
236
189
176
194
129
256
145
276
235
205
185
146
176
155
261
202
201
219
218
173
211
240
196
217
201
170
204
216
162
237
204
181
263
202
222
129
171
176
129
176
187
201
149
143
217
201
218
264
171
245
209
129
263
129
173
143
147
166
153
192
143
169
247
129
173
250
132
173
230
201
143
169
213
183
180
147
217
146
146
130
146
207
176
235
262
220
204
229
178
119
143
173
162
158
174
138
115
197
176
246
115
185
221
143
210
204
168
264
210
168
193
215
204
161
161
185
202
256
210
210
200
146
217
151
216
189
128
171
180
182
195
201
225
183
202
205
143
243
207
262
161
146
184
189
130
209
145
188
192
197
204
244
164
256
195
169
152
237
148
180
174
143
185
204
252
195
130
130
188
206
274
143
181
210
129
156
122
212
141
197
259
248
130
210
164
314
237
176
198
129
129
189
129
185
209
176
208
220
173
151
204
128
164
213
186
234
147
261
217
217
182
255
187
189
242
217
169
242
194
201
189
174
152
130
172
182
226
174
222
217
225
158
242
175
203
224
146
210
183
211
217
202
169
176
211
230
218
141
255
167
263
203
184
276
162
169
143
130
149
178
130
214
203
217
173
184
115
239
179
176
146
186
178
173
191
164
246
195
146
200
230
206
173
150
163
164
133
251
164
256
242
226
204
165
173
175
222
146
222
256
145
197
146
115
143
224
264
146
244
203
243
184
164
179
204
172
210
203
129
228
129
204
132
173
191
210
171
212
195
188
225
201
214
222
204
128
173
263
247
206
211
271
181
178
183
262
238
141
130
152
184
182
160
167
219
191
287
184
183
236
146
212
156
187
175
146
141
176
133
214
242
207
194
188
287
130
202
203
200
237
161
157
165
218
182
167
115
224
133
205
166
229
161
244
165
173
188
180
164
222
264
152
129
182
176
197
129
206
188
184
303
146
198
141
150
156
173
181
156
189
153
185
252
222
197
203
168
129
149
193
205
188
291
204
244
190
235
234
180
143
194
210
200
158
258
166
146
157
138
146
149
207
264
115
179
215
217
246
191
173
202
187
203
150
237
233
227
183
179
150
190
167
143
145
173
194
165
146
214
217
222
128
157
235
207
254
236
156
185
176
129
261
165
262
191
176
168
245
176
173
216
250
130
230
191
160
206
252
221
183
162
180
158
191
173
145
182
191
208
209
188
206
203
189
211
183
176
192
143
191
221
199
201
143
211
227
229
181
258
138
146
182
227
162
166
225
115
239
231
134
179
230
204
221
268
141
122
132
153
218
164
204
212
145
200
183
138
179
242
152
185
212
161
196
190
168
217
266
191
138
217
188
179
133
129
173
179
249
122
160
164
217
130
147
201
164
222
204
141
181
152
176
238
229
141
153
217
178
197
183
220
242
226
133
227
173
238
204
172
130
130
234
231
168
162
129
162
295
215
173
164
115
214
168
155
130
174
204
202
204
192
168
133
257
129
217
182
143
144
145
199
232
227
180
150
217
200
173
204
195
156
201
226
210
208
175
239
185
159
172
130
187
195
132
143
189
169
179
258
232
204
157
231
261
130
158
185
181
204
179
204
202
149
227
204
202
238
200
146
178
186
215
247
184
219
248
184
170
200
160
185
204
192
209
158
191
172
165
197
169
230
232
146
258
232
230
175
256
122
240
204
249
176
145
129
209
152
189
181
172
201
256
130
186
198
211
158
264
170
236
161
146
183
203
196
179
187
173
176
211
207
208
206
185
191
160
221
212
141
181
210
191
133
144
222
199
201
221
253
204
169
262
258
188
223
184
146
218
129
156
173
182
190
197
221
226
180
179
199
288
178
256
264
172
143
182
164
274
202
152
287
214
203
206
161
235
184
216
186
206
204
173
129
199
176
178
181
200
156
173
192
200
190
161
181
160
146
173
144
191
204
234
300
216
200
218
172
186
217
138
201
160
211
238
176
219
193
133
176
181
168
204
172
169
141
208
129
206
192
164
176
211
235
238
230
187
188
181
249
202
214
225
222
258
206
188
205
202
128
200
217
176
218
274
180
253
179
210
195
204
186
151
218
130
216
188
171
231
189
204
185
201
200
182
129
267
167
240
145
185
146
171
225
253
239
143
168
283
167
168
189
168
218
259
192
191
181
222
170
238
130
211
249
145
182
173
160
222
210
119
247
216
256
230
173
173
168
253
168
195
181
261
252
115
184
229
230
204
255
223
179
251
173
205
206
129
175
173
130
218
210
143
214
200
188
212
187
186
238
156
209
236
325
197
130
146
158
238
156
174
206
218
185
202
204
184
188
129
252
130
160
212
258
115
214
164
229
173
204
145
193
178
146
190
167
195
193
129
209
183
166
200
115
146
260
146
174
237
176
275
210
227
170
235
197
208
225
168
234
156
236
210
161
146
169
278
197
189
264
202
156
200
185
182
218
146
197
130
217
129
206
181
207
192
212
146
236
215
212
158
160
234
143
138
130
195
268
183
156
191
173
179
169
176
150
188
173
184
239
216
243
181
170
221
176
146
241
204
211
184
230
115
227
165
335
201
239
162
240
234
206
289
173
209
246
197
264
176
173
168
210
146
240
180
189
180
173
145
184
237
173
167
141
129
153
178
208
129
204
211
204
230
201
130
264
175
146
169
176
221
146
217
231
174
212
207
156
184
207
177
167
252
202
122
253
193
268
210
150
194
164
146
158
205
170
199
225
246
181
182
186
204
186
180
130
145
215
189
146
294
254
161
256
183
182
192
150
202
186
234
233
324
176
129
130
306
259
173
240
258
133
216
162
149
164
171
227
167
186
173
143
162
187
264
180
182
264
165
129
189
138
194
193
149
176
189
208
133
191
145
115
221
129
203
201
146
150
182
206
211
208
236
206
242
225
227
239
186
222
243
211
169
130
217
185
180
194
132
131
230
184
228
144
264
248
146
192
144
170
122
155
130
229
187
168
185
263
212
223
146
162
146
249
194
115
182
262
197
133
176
238
169
217
184
215
244
168
251
173
163
236
208
152
246
160
204
129
156
115
216
256
145
129
223
182
161
190
176
225
210
173
211
240
181
195
180
189
206
258
115
210
199
143
186
162
132
201
215
130
206
261
200
129
224
158
287
206
153
168
200
190
211
148
203
204
200
188
209
132
226
205
230
173
178
214
217
183
173
174
178
252
229
183
174
246
239
192
214
173
202
225
220
182
238
239
200
185
216
168
197
146
130
176
200
159
252
188
167
198
196
173
130
169
194
145
209
173
210
194
166
176
254
243
284
198
129
146
129
215
173
262
225
225
182
179
173
189
206
130
174
166
182
122
183
115
211
156
152
210
257
243
145
150
176
199
191
204
179
146
201
174
191
217
216
129
160
217
162
189
226
212
199
176
177
130
231
207
217
252
225
190
192
146
207
181
178
168
241
129
178
143
129
214
227
235
210
193
172
146
183
202
200
221
158
296
160
193
204
223
176
206
149
222
129
155
251
199
164
170
197
179
204
177
173
184
242
254
182
210
115
130
232
210
185
239
199
143
246
211
236
158
184
230
182
179
189
234
146
145
176
152
171
163
132
173
204
173
133
221
182
184
181
248
128
179
250
178
130
215
236
210
183
255
207
115
204
150
143
157
225
250
223
180
176
222
217
193
211
133
258
198
207
222
197
202
250
224
146
241
236
180
164
146
191
153
214
138
212
164
211
130
155
201
160
176
214
164
210
197
195
201
297
159
183
246
201
211
157
192
227
158
182
210
183
195
164
167
206
275
264
143
146
189
182
178
182
169
186
192
214
210
228
219
146
274
200
146
146
217
162
198
130
192
200
171
176
228
168
177
138
236
168
194
228
217
146
208
250
173
185
217
160
169
163
130
150
145
146
158
230
210
153
198
122
184
193
214
200
178
204
176
169
145
205
141
191
298
217
184
184
258
256
181
194
146
223
167
122
146
200
132
227
193
144
212
176
200
198
211
130
217
210
115
177
185
252
131
212
201
203
178
145
162
256
146
204
190
180
185
232
177
221
174
201
177
255
212
129
236
221
183
209
223
186
185
178
185
211
270
145
173
229
192
156
183
239
295
217
145
210
190
144
256
204
186
210
215
297
247
133
149
213
151
179
210
217
143
208
115
197
245
238
248
161
203
206
138
214
185
204
176
188
122
179
222
213
146
223
241
191
222
234
204
130
218
147
146
182
225
130
201
189
191
178
182
189
160
212
176
128
141
168
195
184
164
176
144
146
288
220
133
202
186
179
168
299
230
168
176
144
129
255
231
218
206
156
180
155
228
203
227
254
201
178
115
201
188
204
172
248
189
200
159
212
230
200
222
169
200
191
194
204
182
199
296
223
199
217
156
184
237
194
251
170
153
147
133
183
170
195
201
161
261
156
174
173
217
235
217
158
185
168
299
258
238
176
146
285
149
169
184
204
130
209
253
258
173
129
156
175
192
202
249
203
176
146
217
243
195
145
245
194
160
165
234
199
205
133
258
190
165
181
223
185
180
252
141
182
176
201
191
204
231
234
216
184
235
240
177
170
211
168
214
151
141
189
179
303
228
255
181
179
161
217
169
185
156
191
179
173
176
215
221
173
204
133
249
179
206
145
143
205
183
215
231
182
183
269
217
158
202
219
130
153
157
195
146
158
146
179
143
161
169
189
182
173
266
206
153
162
155
252
188
230
185
238
216
220
204
189
143
248
178
238
184
223
182
146
210
238
143
304
193
122
173
160
162
130
229
192
214
303
146
189
187
202
185
265
181
183
224
191
210
231
204
188
179
169
173
195
186
189
200
235
204
245
277
210
179
164
181
146
164
198
210
171
200
216
173
160
236
204
188
207
269
183
145
185
172
180
187
236
181
153
200
202
230
195
143
200
169
150
152
175
146
248
164
130
228
158
217
184
168
217
184
150
201
182
210
231
225
214
236
264
186
225
215
207
272
182
239
186
183
204
262
210
204
129
203
133
182
175
138
168
173
133
178
146
160
201
210
204
258
130
191
217
176
206
129
247
161
162
217
259
206
179
287
188
213
205
222
164
189
173
236
215
176
239
151
174
211
261
211
210
190
200
211
145
133
202
213
138
214
237
168
176
222
248
180
185
129
268
173
335
244
234
130
183
216
304
146
195
155
223
335
229
133
222
150
138
234
173
238
217
241
239
132
201
229
130
235
210
176
179
193
129
176
158
206
229
162
214
183
217
192
146
156
173
235
168
204
192
176
187
188
173
231
194
216
205
218
236
187
138
183
192
209
206
172
183
173
155
218
141
188
176
204
157
211
191
166
179
195
173
180
205
168
273
200
130
168
146
264
179
221
174
246
170
149
191
221
165
222
192
238
287
176
173
179
194
324
234
176
221
200
128
167
203
202
180
180
144
130
147
179
181
227
262
169
169
264
178
206
176
238
168
177
188
190
160
156
215
162
133
224
201
146
181
203
206
190
259
129
218
129
207
179
201
187
143
130
219
227
182
223
210
230
193
195
184
204
158
158
157
202
129
146
230
164
224
129
216
238
184
132
171
158
186
173
190
204
198
216
201
227
200
256
187
238
283
229
181
211
214
146
231
230
291
210
210
236
185
217
187
187
129
202
166
235
250
204
227
164
128
201
184
237
186
206
178
156
202
195
215
189
183
200
172
184
198
166
169
180
203
209
227
198
177
182
171
210
143
179
262
157
128
164
181
167
201
168
146
173
217
129
242
236
230
178
161
242
138
201
158
197
164
191
187
168
191
185
188
133
211
224
143
265
282
146
212
130
227
206
210
164
202
245
193
213
201
210
259
185
210
173
164
281
247
222
263
169
164
191
156
221
169
180
115
217
212
202
147
174
186
206
146
152
162
219
210
202
150
209
232
210
215
222
162
145
157
176
169
228
174
211
229
182
133
202
266
208
129
146
168
195
188
146
186
147
250
217
210
186
194
155
233
183
160
183
129
254
168
146
228
258
138
250
166
192
186
191
238
176
222
182
230
166
173
188
182
224
196
178
192
219
245
231
176
162
176
143
184
173
218
180
241
176
183
206
164
292
145
156
216
155
203
156
173
173
178
179
216
143
133
219
229
216
232
141
168
222
202
178
227
145
199
208
195
261
185
184
171
202
129
204
151
209
133
180
227
119
146
217
129
141
196
204
173
194
208
178
168
156
204
178
166
169
174
244
179
158
220
264
188
232
190
146
231
210
229
211
115
205
219
211
236
225
181
201
181
179
158
222
191
181
263
213
234
239
183
173
236
143
220
173
256
204
145
206
160
255
221
168
173
209
201
251
222
254
199
239
115
217
149
128
172
185
191
233
170
204
221
210
201
216
183
145
159
202
244
264
183
179
226
202
185
129
173
211
197
209
210
244
230
185
179
211
129
262
146
201
204
172
296
221
173
181
204
191
146
254
200
222
249
202
130
277
213
217
176
171
192
168
240
247
204
277
261
247
230
211
204
146
292
217
130
168
129
183
277
141
176
214
239
175
246
236
204
143
194
231
214
129
186
147
167
175
129
191
221
176
188
182
184
149
225
182
262
130
173
204
169
218
167
202
138
182
176
197
161
179
201
155
179
192
180
203
247
161
166
249
303
153
173
200
129
215
169
164
287
154
210
186
206
158
296
230
206
185
214
208
173
196
219
146
231
238
204
163
194
157
203
145
214
184
238
187
217
211
219
215
180
227
212
187
227
151
246
221
217
220
189
145
191
176
191
211
156
129
185
231
187
256
195
187
177
143
184
206
166
195
202
247
300
129
122
216
180
169
227
227
187
245
231
218
203
164
181
196
168
194
158
173
200
161
251
254
216
173
236
218
144
129
164
225
200
175
201
177
163
212
175
173
183
240
189
158
287
129
200
236
199
151
204
225
217
229
219
129
210
122
122
162
236
186
143
272
209
218
238
213
187
156
242
172
292
143
221
190
180
211
264
259
193
146
204
192
194
129
189
185
230
234
182
158
180
198
262
185
158
236
186
177
208
176
274
132
191
210
203
204
184
129
176
199
176
174
214
161
249
239
143
168
225
129
213
184
129
176
194
287
218
225
186
204
146
228
185
230
239
183
254
222
238
156
201
129
177
190
194
210
192
217
324
179
146
150
185
162
210
176
209
149
214
205
206
180
130
173
130
299
202
164
292
149
179
158
236
157
212
213
168
288
230
192
248
231
253
168
146
188
156
180
246
186
146
233
164
161
274
221
176
206
190
245
129
186
277
164
221
177
217
181
181
146
190
200
176
179
152
195
214
138
161
239
143
203
233
115
174
217
204
150
174
239
160
218
182
156
241
197
180
173
207
237
130
192
206
211
236
191
191
183
179
173
264
168
192
211
147
201
250
145
155
199
155
267
204
192
242
237
283
230
184
197
169
215
211
242
246
236
187
260
184
179
204
185
200
188
231
239
217
272
299
210
155
230
274
238
158
138
201
160
197
122
303
223
158
149
210
208
238
202
166
143
223
225
155
247
189
265
179
216
185
225
179
164
150
204
115
191
202
280
162
183
174
204
138
161
308
184
222
195
196
200
183
180
243
141
206
173
202
227
202
195
183
151
174
199
185
157
115
178
146
189
162
174
143
260
174
218
180
130
201
130
255
232
190
159
176
182
242
130
237
248
166
204
207
146
300
230
162
219
180
222
208
214
183
141
151
146
187
202
254
216
212
195
155
209
156
173
230
211
206
189
166
231
214
258
173
130
193
163
167
231
170
192
204
243
220
241
194
250
185
186
202
129
129
221
288
217
222
190
219
184
195
245
188
240
163
178
240
202
233
230
240
213
204
211
195
231
174
164
217
129
202
199
213
226
209
218
296
146
168
240
186
253
179
200
164
129
191
130
183
211
181
168
201
149
158
221
210
182
229
181
130
188
183
146
210
249
151
122
214
149
143
319
199
204
216
162
129
158
203
129
274
210
195
257
169
158
128
182
194
129
217
204
176
152
173
173
128
194
178
161
281
129
171
146
187
261
146
202
170
178
150
151
197
204
272
168
226
183
219
133
152
174
184
204
183
220
183
216
182
239
168
181
176
250
244
221
245
164
176
162
180
179
245
166
171
208
164
221
130
162
178
219
166
259
185
170
129
157
225
178
231
162
217
200
172
218
173
214
210
159
188
179
205
230
168
277
193
191
204
173
265
133
202
169
253
252
186
210
247
191
167
222
138
240
199
296
146
184
195
162
133
211
206
239
172
185
295
176
143
162
168
225
138
280
303
179
223
146
229
181
165
187
195
186
159
211
205
195
183
179
176
143
146
221
195
234
157
184
199
190
273
264
132
182
176
193
144
176
147
145
162
166
156
206
247
138
164
201
206
209
218
221
176
226
183
182
175
199
141
231
115
171
168
264
133
179
278
180
302
201
184
184
236
236
145
156
174
208
158
203
205
226
129
164
261
216
209
129
130
130
160
149
240
211
210
157
222
335
130
201
217
199
176
311
191
192
254
145
122
168
194
156
162
186
282
210
217
154
176
199
204
175
149
237
149
220
232
188
217
167
256
264
130
204
182
185
191
325
145
193
227
227
213
210
150
206
226
195
184
218
189
192
180
198
192
239
143
160
146
202
115
209
230
166
155
188
130
128
115
173
191
178
161
115
194
173
201
202
208
178
209
200
171
186
184
216
194
129
248
164
200
204
201
179
257
128
211
210
230
222
225
247
218
182
164
262
216
204
145
204
176
183
176
192
130
202
145
262
239
143
129
188
162
171
182
202
232
146
203
164
291
146
191
199
173
199
168
151
211
184
261
217
147
184
173
269
242
228
241
133
284
265
179
231
172
185
204
211
211
133
172
169
208
146
129
163
211
150
204
205
242
176
205
173
129
214
201
210
196
201
115
188
182
216
181
216
223
253
146
169
145
161
173
179
202
145
148
179
230
234
221
187
115
296
173
200
133
130
175
227
143
247
182
172
266
115
204
130
225
146
145
204
171
181
228
243
146
192
171
145
173
173
184
130
245
173
146
145
185
221
180
186
219
139
289
179
258
201
242
201
203
228
182
188
164
174
200
162
115
168
219
274
187
130
225
238
246
174
205
205
245
191
256
229
214
154
218
176
130
204
176
141
204
179
185
227
205
200
201
129
185
190
217
164
133
174
188
200
210
194
228
149
194
227
204
163
155
157
150
247
191
204
202
181
162
208
188
132
145
200
204
179
215
172
164
171
186
206
171
210
195
130
179
271
243
264
259
176
199
194
137
216
184
206
168
201
176
183
175
156
192
204
130
218
190
190
161
226
200
175
130
179
161
216
146
254
185
227
173
129
133
191
227
166
166
204
149
203
206
130
130
200
234
184
217
198
197
146
202
178
232
150
244
221
236
206
205
129
194
182
211
224
215
256
183
157
217
270
146
203
225
234
191
191
164
146
229
129
173
162
209
184
201
166
129
173
129
241
303
191
219
227
119
133
230
274
200
183
166
192
144
158
202
191
185
205
179
188
264
175
179
181
207
130
129
182
215
187
217
179
187
192
184
149
233
301
281
254
178
201
239
225
167
141
206
130
241
129
146
203
149
226
200
204
158
145
143
138
200
155
172
177
149
146
144
242
164
191
252
178
166
130
150
168
184
199
211
245
183
235
179
146
173
173
203
146
225
229
204
241
212
220
229
182
217
167
204
130
217
217
187
164
158
312
211
217
200
210
160
173
192
143
252
130
164
162
180
191
235
180
188
115
176
129
207
224
176
176
167
174
181
161
146
184
189
263
160
188
204
150
206
238
146
264
133
264
179
232
162
189
200
155
130
194
235
232
129
217
130
178
256
242
211
130
146
274
147
296
146
150
237
182
212
238
227
167
210
242
130
138
175
122
204
180
218
210
205
210
191
143
193
212
169
149
182
146
143
141
210
220
244
192
180
151
130
130
131
202
174
130
130
175
143
156
236
205
166
183
131
115
180
130
143
165
192
133
149
161
227
213
175
274
222
200
224
206
146
208
176
115
202
179
146
230
231
240
184
173
218
180
248
175
212
193
130
204
167
181
158
180
176
130
192
259
207
155
184
164
239
178
187
200
221
206
157
201
157
191
241
168
166
221
211
200
130
219
204
146
164
173
211
263
162
158
230
115
173
223
230
230
171
278
204
185
158
194
122
185
200
206
188
149
210
220
146
241
183
115
283
145
149
151
155
232
115
130
115
182
209
146
179
169
161
119
161
173
156
208
180
190
206
188
175
141
169
206
157
176
196
181
156
122
212
189
204
235
168
149
146
208
236
273
145
179
147
156
239
229
191
201
145
191
157
166
224
130
204
186
225
168
232
232
144
222
228
204
229
263
202
209
210
188
158
206
171
122
204
156
164
201
203
164
158
155
237
230
249
252
201
216
129
214
168
175
191
130
143
161
188
152
235
211
149
183
184
219
191
178
164
276
248
143
173
170
224
145
211
133
217
234
155
194
217
191
188
212
227
227
227
163
226
248
236
256
249
166
233
128
174
229
206
287
146
162
252
143
146
130
245
201
229
156
176
238
237
221
180
199
206
260
164
243
252
261
213
180
211
148
145
144
200
210
160
238
162
145
232
179
130
241
168
189
160
191
183
225
130
192
211
173
181
217
167
222
189
179
184
185
204
145
257
202
211
173
144
200
228
202
175
181
228
208
185
145
168
208
202
130
129
214
149
207
200
130
209
219
256
231
236
193
169
209
173
264
247
172
115
174
194
312
176
238
141
184
238
211
229
184
179
147
221
202
176
145
130
143
145
184
335
183
146
242
210
162
227
190
204
191
274
231
184
229
253
225
171
160
131
201
223
177
162
197
234
231
185
187
216
335
156
145
206
229
258
158
173
146
261
232
231
188
230
164
133
149
261
244
320
202
156
187
197
164
174
211
150
189
248
184
168
187
236
115
222
174
180
129
146
200
167
211
133
133
264
195
182
180
191
204
133
130
184
189
251
129
196
150
204
264
292
176
150
138
226
264
217
238
203
146
164
210
186
122
145
129
192
184
192
163
133
130
178
146
176
153
238
258
198
199
196
206
246
208
246
193
214
210
200
211
178
260
200
173
201
221
201
252
255
179
130
206
207
143
274
219
217
191
132
129
244
160
179
228
217
263
217
173
211
201
217
146
201
190
160
145
143
115
214
206
194
271
234
149
204
188
179
168
156
173
246
240
129
300
230
115
143
129
225
172
186
274
255
242
129
122
141
208
182
164
195
225
180
173
242
115
168
247
174
225
241
182
287
206
226
208
184
115
202
146
238
208
129
186
182
236
204
244
122
195
173
173
209
197
217
180
206
210
216
173
178
173
258
216
195
130
238
155
173
169
283
143
167
226
230
130
242
164
144
203
173
259
234
182
129
179
179
267
242
166
162
184
145
211
233
204
287
202
143
192
146
225
182
275
176
122
194
173
231
129
228
183
225
238
203
137
164
242
242
192
202
146
303
185
287
204
160
201
133
179
204
178
203
221
179
222
195
174
162
191
170
204
204
159
195
189
192
180
204
146
184
180
122
204
202
200
287
158
181
211
223
168
210
202
145
280
229
257
162
143
231
221
183
203
182
146
222
233
192
204
210
176
246
198
178
129
230
184
177
264
153
248
158
177
183
209
164
130
204
242
149
238
235
164
201
204
206
197
254
230
168
147
216
208
162
155
212
246
214
144
169
178
169
181
255
236
224
191
233
188
188
129
219
208
210
202
201
168
200
213
220
231
234
168
158
221
200
225
204
228
247
206
222
133
171
176
207
193
238
184
265
173
211
182
186
167
122
209
210
211
145
199
194
230
227
208
166
145
189
170
185
224
255
201
182
209
176
191
173
150
216
176
250
217
181
157
235
188
221
210
187
186
224
146
168
195
115
201
173
217
217
179
180
222
180
225
173
242
234
173
146
176
230
201
158
178
164
179
210
129
246
143
213
191
146
204
204
274
161
226
129
195
234
286
176
245
176
164
129
146
179
152
129
184
156
202
133
257
217
247
208
243
152
229
173
210
186
184
184
209
152
129
181
146
129
144
145
193
156
304
130
183
184
159
200
223
143
179
130
184
156
187
230
195
185
146
143
169
201
155
246
258
216
181
130
219
176
168
226
196
218
183
238
197
185
146
194
146
150
217
175
161
129
175
197
138
129
221
182
269
201
150
172
176
164
210
168
201
115
236
225
211
213
129
282
210
173
210
251
213
145
204
262
168
203
283
157
204
175
185
182
161
214
200
210
149
210
170
164
239
168
161
211
187
195
182
275
217
183
133
143
166
242
146
185
155
162
149
130
192
158
206
156
169
211
184
193
222
173
215
181
201
226
239
231
286
238
188
168
194
239
181
143
176
201
173
191
201
152
138
173
193
182
198
249
173
186
185
161
199
243
216
210
217
193
143
289
212
157
145
226
189
204
173
201
189
172
209
204
163
204
175
129
183
225
192
143
187
129
230
173
133
155
200
178
208
260
238
176
173
200
176
206
156
173
249
155
219
214
177
146
205
204
210
173
204
267
179
129
166
174
235
145
213
149
162
211
172
226
208
182
171
191
171
182
151
174
133
213
217
287
146
129
198
143
187
189
236
234
145
259
179
190
213
164
176
194
164
217
282
162
241
146
234
181
234
158
133
173
217
231
178
162
209
176
189
115
224
178
238
257
238
191
206
129
187
210
163
201
173
176
246
149
156
130
151
213
275
164
174
193
192
211
229
240
160
168
200
184
210
258
172
244
173
230
132
162
210
144
115
191
173
180
210
221
229
191
225
230
238
161
228
181
217
240
261
185
242
203
173
173
174
169
243
129
248
176
171
217
229
274
242
246
226
252
164
214
129
214
129
210
173
128
279
201
204
215
199
245
146
184
232
145
212
239
182
233
190
240
206
174
200
158
230
259
238
145
202
174
230
184
160
152
183
217
129
188
168
146
204
184
206
192
167
153
221
191
176
208
129
192
146
239
180
217
182
276
200
228
115
222
242
184
188
208
217
152
155
165
203
156
176
158
208
204
184
139
146
147
240
122
146
202
204
160
179
188
145
128
192
173
210
161
175
185
151
254
217
209
185
200
203
178
129
278
202
155
155
230
268
184
198
182
129
180
231
222
167
146
146
190
273
130
133
168
335
221
251
179
211
149
129
173
194
261
182
146
130
236
209
301
179
155
172
217
223
176
147
115
146
299
146
183
218
206
278
179
181
175
146
173
202
231
221
179
261
190
234
163
179
184
201
143
169
146
193
261
244
145
197
195
158
261
198
227
199
133
201
168
218
179
184
162
157
158
208
210
200
173
255
164
150
173
176
203
187
186
132
186
218
175
193
128
173
179
237
182
190
193
176
166
146
211
219
146
191
174
201
166
187
155
172
186
130
188
228
172
229
186
164
192
145
198
152
143
202
129
143
173
173
129
164
164
191
200
217
207
197
133
274
180
231
228
122
256
210
143
274
181
237
217
200
143
150
248
203
129
160
244
177
158
238
246
202
211
204
182
217
238
168
172
260
236
130
238
168
158
150
176
190
228
188
156
161
239
226
129
243
238
193
162
255
160
201
150
179
184
171
217
252
282
191
238
189
183
177
141
274
115
129
145
207
236
264
205
130
226
146
236
184
254
204
129
179
233
146
173
133
199
189
223
287
201
178
180
181
206
185
161
279
230
193
216
176
129
185
190
166
129
215
195
217
129
145
189
236
214
162
174
224
168
157
201
131
231
115
210
192
223
192
210
197
178
243
176
188
230
276
191
173
203
115
232
200
173
201
222
204
115
155
260
236
222
189
194
238
203
198
228
225
183
182
130
115
221
221
174
210
129
237
171
159
152
210
199
207
210
204
187
180
248
170
129
156
188
180
200
162
162
169
257
176
249
130
190
173
186
273
176
170
211
201
145
138
264
161
200
211
269
176
202
130
197
146
236
191
227
146
210
218
189
163
249
189
189
164
149
212
139
185
119
170
246
252
210
180
122
150
115
145
173
146
157
247
202
133
195
201
180
234
208
130
264
210
200
191
173
244
130
195
176
181
204
191
158
182
218
145
177
193
212
164
241
256
200
130
217
186
141
158
162
200
240
227
188
221
169
211
207
173
197
145
238
183
158
217
145
173
191
205
173
165
202
160
215
174
239
254
236
201
242
179
209
129
258
169
256
133
202
190
204
191
201
183
151
146
162
194
164
201
202
189
182
187
204
198
185
214
250
179
202
164
130
217
115
240
227
228
230
229
133
217
215
209
240
166
228
178
158
149
146
180
189
215
256
202
194
180
176
173
149
171
243
232
204
190
196
173
182
115
145
186
130
200
208
246
201
173
195
191
162
172
193
204
222
239
250
246
239
225
184
130
195
175
209
158
240
238
176
161
122
130
133
176
146
204
211
179
224
204
146
231
249
200
153
185
182
188
205
202
151
228
179
146
130
207
235
161
206
215
155
180
218
158
261
129
231
259
145
222
171
174
251
210
198
145
144
198
204
278
257
224
210
195
248
180
204
164
130
200
172
221
220
207
222
178
129
184
231
210
204
202
138
217
129
129
210
164
185
180
180
143
199
168
164
150
168
209
206
156
191
147
205
143
115
176
262
171
255
185
131
187
173
130
193
239
129
183
156
173
176
169
222
228
156
263
228
250
183
210
192
185
227
175
176
141
206
200
182
167
212
173
115
173
221
197
159
193
182
180
310
145
204
222
207
224
188
133
145
200
158
201
251
166
158
146
145
224
172
186
144
155
145
237
184
227
249
141
129
252
210
216
211
266
193
180
253
239
178
176
242
129
173
167
155
259
230
146
163
185
274
210
168
161
217
261
235
230
184
180
149
130
145
217
115
239
146
171
183
263
162
210
157
179
150
160
145
214
155
246
182
184
129
158
172
266
219
184
225
195
200
160
270
129
189
150
179
173
164
201
143
186
201
158
222
129
230
230
158
207
160
180
145
201
209
202
191
188
263
236
203
173
200
239
183
224
192
294
212
162
197
186
173
225
296
238
201
179
190
303
227
176
233
207
264
166
191
238
156
164
191
239
230
217
129
149
183
173
261
203
229
219
228
252
164
233
211
155
202
214
219
265
207
231
158
176
179
258
115
160
239
129
225
214
252
206
202
130
146
221
155
265
206
158
176
222
164
222
236
201
185
217
162
202
216
173
143
214
197
204
166
146
182
160
205
130
194
325
186
115
129
230
217
145
200
133
238
173
225
212
141
183
217
233
182
198
294
201
155
130
179
234
178
243
115
187
176
202
235
146
130
174
274
184
129
183
191
184
200
191
179
163
230
191
230
191
216
115
185
209
176
223
166
115
204
186
172
217
201
211
161
211
173
189
223
198
194
200
184
143
227
167
158
220
130
192
247
200
160
146
247
185
267
156
143
174
160
228
221
144
213
162
176
263
200
247
155
225
146
133
132
143
168
222
156
174
187
223
206
258
218
184
224
199
175
232
253
235
189
161
172
130
230
213
270
206
281
200
246
178
179
133
284
211
215
209
229
143
204
200
170
185
159
183
182
178
128
200
189
145
200
168
192
168
179
200
163
204
236
173
180
168
202
230
238
166
190
158
221
206
164
230
185
217
133
173
262
166
176
130
143
153
201
173
173
173
238
179
133
161
130
168
129
204
158
202
171
236
193
180
145
164
221
162
204
162
130
176
270
277
198
176
143
174
183
168
202
210
293
237
170
228
179
230
146
160
258
208
183
200
168
202
197
206
169
168
200
172
163
176
133
174
143
152
173
241
133
155
169
181
182
155
143
178
115
200
161
194
213
146
173
207
215
239
225
198
143
129
211
229
130
162
149
151
171
236
225
216
166
172
138
252
161
236
200
151
245
191
259
184
236
210
218
203
137
199
283
204
256
179
217
264
210
168
145
211
167
146
192
249
206
255
115
244
143
166
181
238
167
157
182
186
159
206
176
272
158
193
150
172
167
257
231
191
115
132
130
164
140
180
222
255
145
283
173
149
200
146
224
207
200
141
182
211
187
200
194
129
189
133
229
210
247
180
217
240
146
153
168
200
199
235
129
133
171
265
158
183
193
129
246
196
128
239
182
158
183
208
172
208
204
194
212
210
208
227
239
176
181
201
216
206
143
238
254
183
129
133
227
241
173
176
129
205
158
180
133
201
200
194
201
222
201
231
225
129
174
183
287
265
156
217
173
238
146
252
130
173
210
222
208
217
145
249
262
204
146
169
147
201
129
169
166
156
211
189
173
166
146
217
202
192
211
161
115
170
179
164
170
234
178
299
191
202
209
146
257
285
168
218
267
204
115
193
170
189
222
166
158
232
201
211
239
155
239
164
173
206
201
242
189
225
249
191
162
162
204
184
184
287
176
146
254
200
200
145
155
215
158
187
160
203
212
197
176
146
162
250
240
169
259
216
177
296
204
143
205
210
245
146
209
129
141
288
184
171
183
115
122
194
173
129
210
165
263
198
258
175
176
199
156
217
145
204
208
165
227
229
172
145
254
206
185
176
202
232
191
283
188
255
146
129
180
183
168
152
214
204
156
269
208
133
227
227
243
264
217
168
219
210
208
232
130
157
145
249
145
262
163
198
182
255
242
130
208
263
158
187
256
231
158
208
184
262
279
179
254
151
179
178
184
157
143
219
221
236
171
230
188
194
230
239
204
146
211
221
194
176
263
174
191
188
168
230
230
115
129
202
172
157
152
201
223
246
206
149
197
164
249
184
157
146
222
229
156
216
204
129
299
224
246
206
201
164
168
228
130
236
228
170
246
130
141
204
168
180
244
257
162
179
184
204
176
209
161
335
119
164
171
244
146
209
210
129
181
152
165
245
184
145
246
152
184
220
172
161
238
166
202
190
174
173
216
146
173
211
278
198
186
138
204
143
200
225
216
205
210
181
200
187
217
227
217
129
222
173
217
229
296
194
230
130
240
204
224
152
184
184
239
156
210
169
173
179
204
130
226
154
230
204
187
173
259
224
182
115
146
194
208
176
199
210
238
131
181
203
286
179
218
129
253
151
182
173
164
129
191
188
241
263
213
206
211
129
264
184
183
130
173
202
191
208
193
213
203
264
225
190
191
146
311
185
238
146
215
201
130
188
214
218
129
155
176
133
230
150
264
214
146
239
196
168
222
275
255
115
146
206
303
159
141
145
199
204
188
226
115
169
158
133
129
185
194
171
202
207
173
246
171
172
173
228
195
277
191
209
204
200
127
185
208
225
146
176
194
180
159
183
191
215
202
230
182
184
156
174
207
176
181
254
119
168
173
160
181
204
150
233
266
222
144
213
225
158
232
248
191
146
122
164
251
180
171
218
173
211
191
129
210
221
176
206
204
188
206
158
190
129
236
202
184
241
204
236
171
176
159
130
227
189
262
217
186
146
162
115
155
178
165
206
155
200
284
250
156
234
158
176
235
207
193
129
154
219
192
176
236
239
233
157
194
201
235
181
221
209
155
193
131
249
208
231
213
187
292
236
160
198
129
178
150
182
150
173
237
205
183
158
187
176
197
174
178
177
172
200
199
235
239
133
145
214
299
162
164
200
200
143
195
261
228
239
197
193
146
173
262
180
227
179
237
209
173
274
165
182
138
150
195
201
212
255
184
158
129
146
150
175
143
155
183
218
129
200
149
164
164
179
193
209
204
146
175
141
182
130
258
166
191
166
242
217
244
130
234
160
119
192
176
226
213
185
234
122
205
210
157
221
176
204
192
155
156
241
173
239
222
252
165
168
180
146
215
180
230
204
225
182
129
205
251
164
146
207
199
169
191
216
155
149
226
156
180
290
262
243
230
193
217
210
146
130
222
189
230
162
182
267
182
162
204
158
252
168
262
173
155
213
150
130
145
156
178
204
119
242
129
156
282
229
182
239
266
236
188
184
146
179
188
186
300
230
266
164
133
201
299
202
115
130
258
210
224
201
162
164
211
230
179
215
186
217
169
173
168
236
178
133
188
199
300
201
212
222
183
168
210
164
208
188
174
246
255
228
241
174
229
150
224
188
130
181
179
201
173
146
141
213
211
133
242
174
249
168
192
211
133
278
205
164
182
185
133
156
169
130
191
158
180
198
188
168
145
143
226
205
153
175
158
203
164
155
146
202
236
191
161
238
216
199
238
163
130
194
181
230
176
175
228
194
280
184
250
129
256
130
197
175
227
227
231
169
168
211
158
168
183
202
188
162
204
122
198
194
180
166
217
157
200
297
165
186
122
207
217
130
229
146
240
217
115
215
129
129
146
204
176
146
249
201
213
281
222
211
236
200
204
229
189
230
192
244
209
166
266
285
246
129
133
239
182
130
161
183
214
229
236
204
226
227
177
214
201
221
158
179
275
174
145
176
161
260
214
150
173
211
129
249
146
204
203
189
200
161
176
184
133
115
206
159
176
195
186
258
145
184
151
160
129
129
161
221
159
179
141
239
176
214
165
236
173
245
239
173
173
149
195
175
274
181
201
162
130
216
208
173
225
129
238
226
173
171
189
151
149
162
191
129
210
180
169
193
193
191
138
239
185
214
167
165
182
254
173
182
217
195
192
200
174
166
218
191
187
146
129
198
180
205
278
207
204
217
176
130
181
261
141
210
161
206
161
228
130
176
217
164
197
204
161
146
130
244
162
184
130
262
186
201
146
225
171
197
181
173
293
197
191
143
176
231
263
195
204
189
236
146
214
217
173
241
214
303
183
184
259
168
176
202
168
234
228
225
228
152
250
238
115
229
202
210
210
292
178
219
245
219
227
182
236
228
240
167
178
183
129
164
209
145
203
161
156
149
176
199
176
146
162
213
138
146
158
195
147
242
192
211
193
162
217
203
204
178
164
195
176
202
191
175
299
130
175
176
162
225
184
201
146
201
179
164
204
224
172
176
158
211
175
146
180
194
171
166
239
242
206
176
129
150
234
195
222
217
248
219
204
176
204
179
239
209
212
194
143
129
201
162
200
211
212
219
176
235
226
188
211
207
155
229
146
225
210
217
133
171
236
179
236
217
157
201
236
130
184
164
183
232
210
167
202
176
171
194
173
184
217
162
158
262
162
210
143
211
204
182
209
217
217
212
146
197
145
258
207
129
252
201
189
179
195
141
138
251
141
188
201
222
199
181
216
222
192
141
232
176
242
141
198
201
168
242
250
176
193
183
274
250
200
130
200
210
170
202
252
250
204
145
200
207
204
175
197
193
129
178
300
213
227
250
163
149
236
204
115
187
210
146
186
207
176
168
287
210
128
210
164
130
210
203
164
274
203
160
129
242
178
180
237
243
226
190
198
156
209
208
176
143
129
278
191
204
162
189
184
201
206
130
255
179
161
222
184
207
129
133
259
237
201
163
180
141
204
176
259
183
150
204
242
146
271
268
166
197
205
313
190
194
256
198
204
193
301
215
281
129
253
156
211
212
155
195
144
204
143
173
130
236
138
232
181
184
162
204
193
189
171
173
155
179
224
195
130
228
203
200
156
129
130
224
146
217
275
209
122
236
130
201
194
182
130
211
226
197
180
146
219
129
181
240
205
181
228
186
254
211
200
189
173
278
146
182
265
129
157
173
210
162
160
185
201
253
213
296
199
175
191
160
210
157
190
166
179
190
145
206
187
180
203
217
184
166
173
236
225
174
321
176
202
247
217
129
132
182
219
130
217
202
217
247
166
130
188
177
179
143
137
202
235
182
195
206
129
145
210
129
153
119
186
146
171
170
176
157
158
228
178
160
188
215
201
128
191
236
162
256
201
176
146
210
200
209
187
225
191
168
146
229
169
194
173
146
167
173
262
211
160
151
217
181
173
143
274
184
173
191
190
179
230
150
129
146
188
194
192
179
184
176
181
205
194
174
163
196
221
184
210
229
202
217
210
265
239
296
248
176
276
173
170
185
217
205
143
251
174
269
183
176
255
145
185
231
186
129
205
186
156
130
129
176
276
166
185
187
222
145
166
190
130
203
160
144
229
222
214
217
185
171
234
187
143
146
149
227
160
281
162
214
179
147
156
146
164
292
172
152
205
161
237
146
129
206
182
189
179
181
192
206
155
192
232
203
190
162
169
162
149
186
182
267
200
199
146
184
238
169
227
194
180
238
169
296
209
188
238
184
133
200
208
144
132
189
130
146
217
202
176
208
240
202
164
175
257
186
210
150
223
176
129
156
187
192
174
155
186
236
210
133
162
145
167
213
163
173
214
143
155
115
191
180
115
235
141
230
191
182
185
221
217
225
176
223
197
158
257
226
209
176
254
129
264
158
195
211
199
179
146
204
146
200
162
229
162
152
190
227
256
182
203
218
199
162
208
182
157
197
239
176
157
197
176
204
246
155
204
202
175
206
210
174
222
184
300
164
158
164
158
158
168
202
180
192
202
198
178
160
204
184
257
212
246
182
206
210
211
278
164
178
182
155
227
236
217
206
267
252
174
181
164
169
199
264
237
192
158
173
204
202
173
166
122
221
192
145
129
178
217
246
226
149
217
201
270
175
158
130
167
210
169
181
241
244
200
194
145
173
183
209
313
169
222
230
215
262
247
160
158
183
130
159
130
173
223
132
115
191
201
203
129
249
204
171
271
173
260
201
216
206
193
180
213
178
165
192
256
166
129
180
166
151
130
150
145
230
182
209
187
208
204
158
203
177
191
184
162
195
146
204
185
264
167
194
217
168
227
172
166
129
301
236
189
202
157
225
180
229
191
239
198
193
128
146
252
245
192
173
230
195
188
222
171
129
179
146
186
192
156
184
230
201
228
264
166
162
130
181
196
195
189
264
252
230
210
194
246
283
169
220
212
200
201
193
211
158
204
129
190
230
180
217
207
185
151
188
175
146
176
166
144
202
204
168
204
141
164
228
230
189
211
200
242
222
176
161
145
179
204
217
184
173
206
194
211
181
201
202
224
199
149
173
144
165
195
244
158
162
129
191
164
191
200
255
202
164
238
153
178
191
177
221
228
244
179
260
198
171
258
217
244
273
210
274
216
213
204
238
239
198
146
227
197
283
191
230
247
283
268
188
247
248
201
230
262
253
204
233
183
191
197
335
214
115
252
133
235
215
273
228
172
161
235
224
230
210
143
185
222
199
194
138
143
204
217
206
204
202
210
204
257
168
180
201
214
268
145
271
188
158
130
225
182
133
156
133
161
166
183
227
283
237
191
257
156
144
179
158
122
239
193
160
211
129
255
181
146
300
146
188
191
188
262
274
173
197
254
211
218
146
230
212
230
145
240
214
168
159
201
145
202
173
221
204
179
141
157
297
129
182
247
239
201
150
206
236
201
182
218
204
242
213
233
166
169
211
191
199
201
202
146
231
233
180
183
206
187
176
275
170
147
250
181
175
183
129
239
209
255
130
207
200
146
145
251
184
206
197
241
231
222
138
165
201
122
184
165
185
226
174
173
141
130
221
179
244
173
179
180
195
221
162
210
231
217
178
209
200
197
176
167
227
115
217
146
200
173
235
168
115
146
174
156
174
200
217
159
129
173
164
218
210
133
129
167
176
234
225
328
173
143
214
227
164
207
176
194
205
146
188
242
185
202
210
172
239
201
204
193
238
173
163
205
211
204
190
222
257
149
205
216
168
204
146
204
246
185
201
220
230
129
183
200
287
205
155
146
146
151
216
182
298
244
228
204
146
222
158
210
129
264
199
158
234
146
204
193
220
217
205
175
188
191
189
250
146
197
188
235
184
166
202
269
204
115
130
171
183
199
130
258
129
184
190
250
176
192
189
241
133
260
129
216
204
169
217
238
183
146
238
229
168
188
249
129
210
230
181
247
247
150
213
200
238
129
236
168
173
202
171
211
167
210
236
246
146
150
130
302
173
253
180
288
196
190
166
238
181
195
200
188
202
171
160
201
224
258
173
210
185
227
217
209
162
145
151
169
222
168
233
210
166
227
161
189
129
129
160
219
217
130
150
227
237
145
173
209
221
204
183
138
255
180
214
232
146
201
196
267
182
238
190
193
204
204
127
194
217
158
146
193
209
194
254
154
206
143
182
264
182
143
217
146
216
150
217
217
157
230
246
229
252
205
251
258
249
129
257
200
176
173
146
260
166
243
203
146
129
145
204
153
333
235
198
165
173
162
240
335
252
173
130
280
128
222
147
184
129
239
201
144
208
281
190
172
213
254
302
162
184
211
251
163
205
151
204
167
163
181
204
191
193
217
155
204
176
202
217
234
169
185
143
250
217
210
191
138
176
180
163
189
264
115
130
196
176
168
282
188
130
170
211
212
193
299
145
115
210
198
187
201
174
144
175
146
197
195
129
185
206
210
176
173
203
202
215
146
242
206
263
132
187
188
171
176
162
230
166
193
210
173
207
230
191
216
162
216
146
173
146
143
155
168
194
193
181
155
202
161
206
217
166
222
194
238
200
141
155
184
275
176
149
230
240
272
130
155
151
184
239
162
228
188
204
186
214
155
188
191
187
210
155
133
201
168
185
129
217
251
200
223
155
138
210
214
218
314
194
221
217
132
158
130
205
129
200
206
189
188
143
168
150
228
188
129
231
183
199
175
176
221
150
210
173
188
223
258
130
183
143
150
146
179
271
175
204
185
154
204
237
187
245
153
130
173
285
141
173
221
206
226
238
201
183
182
186
222
146
358
184
171
201
220
182
202
195
224
206
184
315
173
129
203
129
162
203
177
191
211
210
149
164
200
173
183
201
129
168
145
168
207
206
201
129
204
230
162
228
176
215
171
217
178
180
206
216
129
157
179
179
186
141
206
169
218
252
238
168
180
204
263
155
119
208
230
168
256
238
186
141
170
143
158
264
164
168
187
249
270
171
205
258
176
149
200
236
247
230
217
155
129
272
173
227
244
155
180
202
204
266
240
214
214
234
221
204
198
132
236
129
182
189
153
152
254
248
198
202
145
168
184
173
165
200
193
247
202
321
209
164
225
272
234
130
173
254
180
200
173
161
207
200
146
190
173
129
233
208
173
169
208
172
183
180
230
256
168
179
155
217
129
187
218
236
168
205
285
195
184
179
206
173
145
216
206
145
179
229
204
173
234
229
217
163
185
189
206
130
280
280
272
192
222
213
130
178
147
145
223
217
217
178
214
162
221
241
191
218
200
194
129
220
160
143
146
210
236
267
238
204
197
146
247
201
197
173
241
259
129
185
115
162
169
210
191
217
176
200
238
158
216
202
267
186
218
180
250
185
204
173
228
202
130
176
180
156
171
133
182
182
173
187
192
311
246
204
192
288
259
159
185
168
166
181
241
200
164
158
146
183
200
181
160
185
176
246
187
143
256
164
219
183
221
145
204
166
186
211
230
162
146
178
274
257
130
173
166
200
170
186
234
205
217
173
207
242
283
180
193
129
197
179
207
221
129
180
146
130
189
247
230
211
177
228
138
227
162
211
335
204
146
274
210
261
210
130
155
164
210
242
201
129
173
211
185
198
181
138
200
146
168
237
115
176
129
184
225
130
157
146
265
156
130
174
146
143
206
129
217
200
212
158
203
211
251
192
253
180
246
202
146
133
261
141
240
222
215
203
176
205
131
254
156
138
239
179
183
256
177
183
145
201
176
173
191
171
173
169
183
230
164
195
218
176
158
210
204
251
130
143
129
258
191
194
204
162
257
146
176
152
153
145
197
129
176
199
236
202
252
130
186
179
214
176
255
199
173
217
156
176
157
204
206
274
201
215
139
182
185
210
238
181
176
191
203
219
176
130
232
244
299
211
163
210
178
205
192
146
217
158
267
195
186
236
143
298
188
161
173
145
203
157
204
210
160
202
204
222
201
216
230
141
211
180
202
215
207
190
210
157
160
186
169
192
178
200
130
192
143
184
238
214
158
257
184
204
309
268
176
165
198
252
261
184
146
162
186
241
157
138
201
173
198
211
219
164
180
211
252
230
225
196
129
214
211
180
309
156
180
129
214
198
274
222
198
201
133
203
188
130
193
240
133
203
175
129
180
141
192
130
170
246
201
181
179
236
194
201
202
179
203
191
183
210
157
158
285
173
228
176
150
182
222
140
164
176
143
262
115
141
235
178
192
236
130
210
173
174
197
176
187
178
221
204
254
255
186
256
181
169
234
201
141
152
198
176
158
185
273
187
181
300
159
217
297
251
168
162
185
211
257
145
160
181
176
201
159
143
179
153
204
221
173
133
261
274
143
172
130
185
201
195
253
145
201
204
151
283
129
184
166
145
184
225
203
189
265
159
236
212
210
115
238
144
223
146
208
143
164
145
242
239
209
214
122
122
146
187
151
239
251
202
190
181
228
234
187
164
158
175
217
205
242
183
245
191
183
164
203
180
186
239
129
231
303
242
179
216
188
122
188
159
156
129
138
176
187
177
129
207
181
146
130
115
256
179
164
252
138
216
186
130
217
157
186
115
200
169
186
241
182
204
133
252
173
115
227
133
200
133
130
239
181
143
130
300
133
184
178
146
184
151
204
171
152
155
176
129
173
210
201
193
143
148
291
233
185
210
148
264
174
179
299
196
217
152
173
217
242
204
149
155
168
176
157
129
199
146
199
173
247
156
130
198
138
202
160
191
191
173
201
179
240
192
206
160
179
246
188
150
173
164
182
210
201
181
214
170
180
181
129
200
146
176
226
247
229
144
206
167
254
184
167
176
145
227
158
191
176
300
159
176
234
204
212
164
145
173
206
264
146
176
225
145
179
189
178
173
211
214
156
193
208
176
195
229
210
188
298
195
256
193
201
182
214
169
130
222
193
162
173
195
170
230
204
221
146
129
214
180
138
146
212
206
206
211
276
226
173
264
162
164
155
221
145
182
146
240
168
196
190
211
130
230
178
185
279
241
195
306
173
204
246
150
204
166
151
202
180
213
178
172
174
213
130
132
215
191
285
133
168
132
164
129
210
219
115
180
146
184
220
212
186
176
115
221
228
283
251
247
206
176
211
168
193
180
171
259
130
207
194
217
168
204
183
249
223
185
146
175
178
138
146
224
157
183
176
236
180
173
178
210
216
190
147
239
149
225
210
115
167
179
182
171
230
219
155
209
182
145
178
228
198
197
200
205
169
236
160
196
217
211
204
209
212
191
173
242
146
197
201
129
256
188
205
183
177
182
173
151
180
215
156
202
143
203
308
267
115
183
160
183
145
210
263
205
219
187
158
249
190
194
236
162
202
288
233
228
234
171
221
171
218
153
158
232
145
161
162
217
129
160
194
181
176
201
217
188
164
181
176
211
185
199
158
173
159
164
247
169
225
173
199
130
130
158
115
234
185
247
210
237
210
128
185
186
181
214
150
129
130
272
196
176
175
205
229
211
173
229
162
246
182
146
172
171
185
209
176
130
173
193
130
168
185
231
211
180
216
173
203
207
187
222
129
211
155
182
186
216
115
211
179
191
247
191
202
138
236
226
225
143
225
175
233
188
231
196
217
155
179
202
221
178
201
193
227
184
176
201
159
176
261
133
158
188
168
170
264
206
335
264
202
212
226
227
215
162
173
204
143
146
133
176
150
175
158
133
200
335
255
141
197
183
203
216
191
203
229
162
273
157
251
176
208
171
204
221
237
173
255
210
195
155
146
295
181
175
204
201
188
187
115
173
164
183
169
206
192
227
241
186
188
199
129
182
146
208
129
143
211
204
176
204
251
189
244
229
212
200
158
205
184
173
157
204
191
146
146
189
195
186
206
145
212
205
210
224
183
206
182
151
204
199
206
182
178
158
183
205
222
158
208
130
209
180
244
210
227
146
168
193
207
156
256
164
204
216
204
218
182
115
205
161
201
181
243
162
145
154
176
128
199
155
207
264
217
185
198
218
275
165
199
184
173
214
191
158
145
130
166
193
160
146
183
129
164
204
209
211
240
177
231
176
195
206
189
173
188
168
176
169
210
221
141
130
281
173
212
217
164
156
173
214
184
130
183
214
180
170
191
176
184
254
173
222
202
183
217
243
231
210
245
206
203
160
214
257
177
191
130
219
215
130
212
206
181
168
189
253
152
210
215
170
172
130
179
173
133
210
257
210
182
207
130
165
178
214
130
239
202
191
221
187
176
202
203
242
172
130
149
204
204
189
217
177
221
221
204
202
227
165
182
180
155
155
211
240
263
247
176
222
164
204
178
130
228
275
173
152
200
210
145
130
146
194
229
175
146
166
191
183
173
258
167
224
171
255
182
184
261
202
174
208
115
156
168
184
212
201
247
210
204
221
173
209
209
177
193
188
186
133
146
246
237
214
184
195
227
174
253
209
174
212
168
146
242
132
283
238
182
147
133
211
197
162
225
180
173
181
262
207
180
131
169
211
173
221
180
270
131
208
173
226
150
141
198
200
157
161
215
238
143
185
129
130
188
231
173
130
247
222
202
248
150
115
204
130
211
162
208
158
181
156
179
173
183
164
206
178
231
208
129
173
250
185
194
145
131
259
158
182
162
145
146
206
138
129
231
179
209
183
143
205
130
246
138
239
189
239
173
182
150
155
164
179
155
283
169
255
227
242
143
210
169
191
159
173
199
168
200
181
187
176
210
162
176
133
176
231
205
149
178
282
184
185
191
162
270
173
277
225
198
193
230
168
152
129
146
130
204
169
180
236
162
179
146
145
292
181
169
197
185
184
178
141
208
129
151
157
303
129
173
217
200
146
146
238
225
131
122
171
202
203
207
129
225
201
185
156
204
200
168
211
161
130
241
171
191
204
295
208
237
190
185
206
203
171
181
191
230
129
208
216
150
240
254
219
229
280
143
184
130
204
203
170
180
145
182
155
197
158
152
129
217
173
188
181
251
129
214
231
167
141
208
187
239
181
211
225
194
218
130
204
182
168
179
181
169
259
200
178
216
168
196
156
240
188
245
128
195
285
201
201
230
162
180
250
221
216
160
217
238
204
182
130
177
168
251
204
157
191
208
239
211
213
169
260
162
204
213
176
202
172
175
144
210
146
182
204
173
177
146
200
175
169
188
204
247
155
129
209
177
158
215
224
180
158
176
244
155
184
173
156
217
214
212
164
179
161
183
122
160
200
211
180
206
240
194
146
217
115
157
237
119
224
222
150
130
185
185
183
201
168
158
153
217
149
195
203
258
186
235
130
297
191
180
182
149
172
211
171
193
163
146
174
179
176
248
160
243
219
185
185
182
166
187
201
228
164
188
242
217
162
182
253
161
176
202
174
155
261
209
205
225
232
158
176
145
155
274
129
202
228
255
201
162
197
172
176
160
180
146
189
230
164
238
182
129
197
182
232
189
274
238
158
146
265
160
259
179
175
133
162
261
145
146
262
219
241
159
215
156
147
283
176
222
201
162
147
242
221
203
159
230
162
133
188
130
228
203
195
194
143
184
183
222
271
170
166
157
157
195
208
129
157
185
163
155
164
138
218
335
192
149
169
206
200
200
197
168
198
179
143
258
239
143
168
202
182
144
230
185
189
141
247
201
146
179
183
200
172
151
231
200
273
180
199
179
203
269
201
130
129
193
220
146
199
122
217
210
168
162
234
186
130
165
130
176
247
150
146
250
188
189
197
206
162
130
277
173
129
233
130
129
189
159
236
204
147
181
209
200
223
250
201
129
236
211
201
161
254
182
235
143
201
167
267
242
204
201
203
242
180
157
138
215
202
176
145
206
184
182
193
203
204
195
141
146
216
204
217
260
129
158
226
191
178
218
190
191
197
219
204
157
159
210
172
206
188
146
287
202
250
145
226
202
162
201
216
221
175
212
129
169
206
217
259
164
256
180
237
133
169
212
145
283
217
210
210
141
228
145
173
212
172
131
254
252
247
203
228
236
186
167
239
129
201
233
129
262
239
208
238
236
129
175
284
184
129
228
256
216
255
143
176
166
239
182
192
252
231
247
180
184
185
179
133
133
185
175
227
246
166
225
225
230
200
162
166
179
209
171
255
162
211
130
256
233
168
249
162
168
174
184
230
173
200
189
145
202
227
236
254
195
234
179
173
143
176
222
248
158
183
198
143
239
291
246
173
133
211
183
261
161
240
202
191
234
129
205
182
132
211
203
260
178
163
182
245
157
181
211
209
271
179
130
179
146
287
149
227
143
186
130
194
149
227
138
191
201
184
221
215
186
180
239
189
197
220
143
184
138
171
200
199
186
225
146
206
175
169
206
216
189
183
167
186
133
172
209
185
182
201
189
149
242
190
244
194
206
234
184
250
144
200
231
143
266
266
252
292
187
264
224
169
189
173
202
201
225
283
187
163
228
227
185
186
172
183
225
205
161
210
251
226
239
129
152
170
157
193
184
115
211
242
173
212
200
237
151
155
210
247
239
168
245
227
201
176
182
146
229
176
217
192
215
256
143
130
171
172
204
238
200
202
195
176
122
222
115
201
186
155
220
285
324
245
191
223
189
211
202
225
181
204
155
184
115
129
156
164
130
211
200
115
229
115
179
235
216
191
228
146
152
176
130
213
189
247
259
238
198
146
227
208
129
157
226
217
191
162
133
230
188
182
201
185
175
202
183
218
216
179
160
211
185
168
202
273
182
250
183
188
242
167
173
186
239
204
211
146
210
202
202
185
191
145
184
178
149
129
215
221
230
178
162
171
173
214
179
152
146
133
240
162
206
182
130
307
195
205
244
217
263
204
130
171
232
129
206
156
205
182
132
171
176
174
204
248
187
158
225
211
260
210
186
185
129
156
164
172
202
288
151
277
152
213
220
205
217
281
156
164
178
234
180
203
256
213
200
186
122
146
195
236
159
262
222
150
172
160
214
195
151
130
176
245
141
141
212
157
189
176
234
184
234
202
169
166
181
158
173
130
208
189
198
146
185
177
227
215
210
201
230
201
253
173
129
175
176
232
204
207
211
143
146
188
184
163
149
183
225
181
138
167
191
204
145
265
184
164
161
200
202
182
230
176
250
176
201
181
178
204
143
259
160
210
242
199
270
218
172
202
210
158
237
162
217
138
195
203
174
239
146
252
192
217
204
143
151
243
201
191
231
158
149
197
201
231
143
183
250
146
200
209
201
241
235
173
146
241
173
244
242
210
187
170
179
248
130
175
211
245
179
176
182
263
214
204
231
141
176
159
186
210
176
208
176
229
225
215
172
231
217
208
151
204
232
221
156
247
164
264
146
130
199
176
191
184
128
173
224
180
183
133
147
225
184
235
256
267
195
229
162
180
204
174
190
172
184
146
214
195
164
219
230
246
169
192
170
176
181
165
248
232
240
181
162
176
169
275
152
178
130
219
202
288
164
145
181
185
146
211
199
214
160
146
258
204
225
206
178
158
143
203
173
222
115
178
263
166
130
115
184
161
184
173
209
213
191
173
166
206
115
210
222
229
130
130
167
209
169
249
175
150
174
173
264
224
250
149
162
143
268
230
207
214
188
182
231
183
133
257
158
212
222
130
160
160
129
168
210
132
252
168
240
209
251
182
190
268
173
242
191
130
181
210
247
215
247
271
273
188
213
190
218
129
183
216
179
149
256
133
162
173
235
195
210
193
204
171
225
191
172
280
220
164
208
201
220
179
164
190
215
217
130
215
178
146
211
204
228
190
204
253
141
236
200
222
153
161
169
164
129
146
130
173
231
182
265
217
222
207
189
152
129
227
129
172
162
181
239
178
202
225
130
129
141
201
309
143
252
204
130
188
138
201
225
250
179
185
206
203
171
191
204
206
151
249
230
223
297
258
201
230
199
211
240
205
181
133
218
203
252
156
184
133
211
171
184
173
148
208
229
190
256
246
156
176
181
219
143
184
204
186
146
267
130
252
222
224
180
191
217
277
173
228
251
130
204
176
211
200
122
179
261
163
181
217
207
176
156
173
213
173
150
184
250
191
227
234
257
193
200
151
182
129
195
183
185
169
217
183
168
145
163
141
223
206
194
212
227
129
161
249
242
184
168
206
174
214
203
210
122
115
133
283
152
200
210
254
240
163
204
183
279
217
258
190
151
245
181
251
217
184
194
250
239
206
203
146
203
133
157
210
184
207
145
204
122
223
183
285
194
146
180
282
255
285
175
172
200
173
203
176
218
129
201
170
225
195
211
234
217
169
182
234
115
155
169
147
178
196
188
162
261
173
241
181
146
248
217
196
129
214
133
151
265
283
129
206
173
172
159
157
156
158
164
152
164
198
256
129
261
133
187
162
173
224
200
202
180
204
115
156
191
143
204
221
250
153
182
173
258
230
130
299
176
230
238
150
184
173
163
128
265
184
206
195
184
201
146
202
206
217
168
184
158
183
182
246
168
164
173
269
242
209
178
184
217
146
187
259
197
203
179
258
184
211
176
255
133
167
206
199
180
184
257
201
205
248
182
206
174
280
184
164
165
145
173
173
230
146
158
204
192
210
182
168
169
201
129
202
156
172
206
225
189
146
145
297
129
129
230
179
173
211
179
191
115
190
211
188
164
204
212
212
188
182
222
219
225
217
234
184
221
161
202
149
176
184
145
271
184
173
129
194
182
199
204
145
168
272
179
164
199
146
173
236
222
146
176
159
169
176
226
207
183
146
184
219
173
168
203
225
129
165
225
184
143
193
179
150
204
151
206
254
223
204
189
180
176
214
204
204
162
158
197
179
205
168
115
204
213
205
275
188
199
181
218
122
195
255
210
232
171
204
180
183
217
169
236
230
187
160
192
173
187
244
158
218
138
182
184
157
195
130
237
179
144
150
169
190
187
228
240
184
221
164
237
180
195
122
184
130
211
180
133
164
211
141
244
212
167
187
229
202
179
169
169
146
176
247
194
145
162
225
271
178
274
180
176
176
201
270
204
234
176
258
229
257
128
164
203
129
210
203
201
232
201
229
204
227
230
178
170
204
214
229
209
274
146
130
156
206
207
178
173
202
129
225
166
264
203
130
210
173
201
265
191
203
262
133
230
166
210
211
224
203
168
180
191
217
129
155
173
166
201
168
230
217
177
129
185
169
158
328
230
268
242
129
183
188
263
178
160
182
146
180
130
222
133
208
214
183
149
179
115
203
211
255
214
169
199
130
170
194
150
221
184
162
200
194
180
162
282
166
211
146
226
196
273
115
165
179
159
242
203
195
215
129
222
195
208
202
201
217
182
146
162
185
176
202
215
244
223
203
182
173
187
211
230
176
295
179
143
160
166
168
130
296
115
175
196
179
170
194
193
217
149
173
216
129
217
182
228
164
183
192
188
180
230
206
186
195
242
115
158
146
179
234
281
190
165
229
230
221
217
161
169
182
194
222
181
211
182
216
200
173
225
133
186
217
221
218
143
186
211
214
173
167
202
270
181
231
170
201
162
173
169
214
173
186
192
188
203
217
166
191
129
252
181
192
210
132
173
204
167
160
202
146
239
147
257
150
210
245
158
211
239
166
204
191
225
212
182
133
202
219
130
200
192
232
144
180
143
178
115
152
157
232
173
222
169
294
162
210
130
185
239
227
143
232
180
246
173
179
247
168
152
169
164
151
239
210
204
191
128
217
161
204
129
217
214
176
181
238
185
204
190
115
227
155
222
204
142
217
202
162
176
245
176
214
199
304
251
180
183
206
130
200
202
166
224
251
210
173
235
221
216
146
129
214
217
227
179
201
141
214
173
224
183
149
115
150
202
183
217
129
225
197
141
178
184
181
178
173
168
221
198
143
189
179
167
175
156
258
176
146
209
227
271
183
244
129
143
248
200
192
189
150
236
133
214
132
236
129
183
157
129
145
156
172
168
162
191
187
246
178
169
201
173
129
235
217
168
187
206
130
176
184
192
240
189
173
162
174
200
202
221
153
222
200
218
146
189
215
129
243
129
195
269
184
180
184
155
213
217
201
238
162
212
204
174
182
197
227
209
143
161
184
230
253
202
222
177
176
188
210
210
129
168
246
231
185
149
146
206
156
216
146
200
210
156
173
171
183
255
175
211
207
218
168
145
236
129
204
211
210
255
181
264
191
130
238
270
204
119
199
115
209
210
141
255
130
209
237
193
176
209
157
224
187
200
133
174
146
252
178
176
185
254
221
202
200
184
254
146
246
160
211
221
202
235
138
140
145
341
211
199
283
129
200
158
255
162
217
220
218
180
216
234
147
173
203
160
179
169
149
143
183
235
180
212
260
217
211
156
164
184
173
129
200
210
144
236
229
203
202
143
217
204
146
232
159
259
166
180
226
194
133
184
160
172
153
207
177
179
241
146
197
200
217
178
149
130
205
226
223
185
176
217
146
191
129
133
162
243
231
176
183
130
195
178
182
203
245
183
176
128
191
210
129
165
180
313
236
179
192
115
236
219
217
144
150
191
156
169
209
173
173
179
226
200
129
190
156
129
212
189
208
202
248
303
201
188
259
216
115
168
173
168
188
172
176
263
178
150
180
238
183
130
187
259
221
247
115
206
173
185
205
155
182
217
178
132
161
263
211
144
155
206
206
144
180
260
204
203
195
169
222
131
173
183
164
255
234
242
182
178
221
158
233
160
247
221
173
187
153
152
180
205
288
130
204
174
128
227
204
166
188
168
224
184
205
240
180
204
203
208
171
238
228
144
173
204
204
256
236
250
251
202
254
181
217
143
184
133
188
130
146
143
168
191
210
231
249
229
250
143
218
198
192
188
297
158
146
200
171
204
236
146
202
158
225
232
175
146
221
236
146
222
201
170
168
179
210
129
130
218
171
204
129
239
157
154
254
265
281
228
179
184
191
164
188
191
158
233
209
180
185
217
210
296
229
132
235
245
202
204
182
204
239
189
204
183
130
158
173
222
184
262
180
239
129
155
224
178
199
191
172
189
129
115
315
192
162
238
176
129
217
143
181
207
236
212
130
181
201
173
130
168
161
176
246
266
259
178
205
200
143
228
181
211
225
184
224
230
231
204
185
130
235
236
200
180
195
167
168
255
147
146
225
201
241
249
129
176
180
210
247
178
173
141
179
222
146
171
191
156
193
189
171
197
146
201
146
130
130
222
183
246
130
186
223
219
225
146
255
244
221
200
168
217
178
168
208
241
257
211
201
201
201
201
258
170
206
178
208
270
170
204
162
209
188
210
183
192
160
217
253
287
164
129
173
162
162
138
130
203
200
186
206
211
200
353
162
171
185
244
195
143
162
258
242
191
204
159
248
174
171
152
149
215
222
225
168
210
204
202
242
172
200
187
211
246
155
204
175
143
245
170
180
168
158
208
249
217
178
156
196
158
143
185
164
174
275
273
182
207
202
218
129
178
122
173
176
155
177
174
180
262
182
192
270
219
191
229
204
206
192
133
210
180
179
143
178
249
188
239
201
161
173
173
174
179
260
180
146
162
180
255
185
182
178
129
300
231
236
214
226
200
196
146
203
191
157
268
132
200
206
188
189
129
214
156
169
226
239
157
158
172
146
185
182
201
184
194
206
204
257
211
157
180
180
158
217
335
173
173
217
214
259
146
174
122
141
151
185
129
185
195
183
202
130
203
189
129
246
179
221
182
157
182
182
176
239
238
178
188
182
203
146
189
194
149
249
189
171
187
146
247
169
176
238
160
244
145
210
197
156
174
206
129
191
209
146
200
155
164
188
146
156
130
176
187
161
179
129
239
166
274
204
202
221
156
234
164
129
141
174
183
285
246
176
197
129
236
238
143
227
130
115
186
181
156
248
217
172
129
173
186
146
199
192
197
238
252
307
157
198
189
229
186
271
281
180
218
198
148
201
205
184
249
219
240
202
115
146
274
133
149
208
146
243
242
183
205
188
201
208
185
197
211
204
178
186
200
180
164
260
147
176
210
209
204
173
170
187
183
254
198
144
210
169
275
205
211
188
176
228
167
183
202
115
210
225
209
282
296
130
150
155
243
168
180
233
122
178
186
191
222
143
163
130
175
140
195
206
182
191
191
202
208
164
232
172
137
159
173
184
173
206
222
204
169
161
201
168
182
201
210
173
175
171
193
168
143
155
229
158
227
199
199
202
176
161
211
192
195
130
191
215
202
161
138
212
146
174
211
200
212
187
158
189
192
210
283
147
176
162
150
210
239
285
207
204
179
174
247
138
179
247
195
208
211
239
160
231
129
216
209
210
208
133
176
166
162
172
217
191
239
218
217
158
186
146
152
247
207
150
206
185
181
144
206
217
146
224
273
170
195
238
146
204
178
235
238
182
155
238
267
204
183
217
182
191
143
176
160
191
156
146
287
151
259
161
158
146
130
217
153
156
158
174
129
180
192
146
236
247
147
215
204
133
214
218
256
128
143
244
154
160
183
202
216
145
223
236
234
199
129
219
146
115
257
182
190
168
225
217
255
186
133
144
199
163
236
187
233
257
159
204
242
204
177
191
145
169
199
173
146
198
146
239
219
217
266
163
198
207
145
167
270
206
164
210
188
158
146
186
247
203
130
133
247
220
202
258
151
164
162
130
150
129
203
255
185
164
184
201
143
150
155
195
146
163
150
133
129
183
176
233
210
181
233
206
193
176
217
218
241
171
189
164
224
217
210
175
209
182
164
162
200
187
266
141
204
236
187
224
216
205
158
194
200
221
197
129
170
186
179
230
262
158
179
197
166
152
258
180
179
204
197
173
252
274
213
156
206
162
218
150
182
207
193
172
204
200
168
146
189
143
244
179
156
177
189
129
186
130
174
160
191
176
187
130
156
168
265
216
174
231
202
162
176
199
171
231
155
287
146
260
197
204
143
122
214
187
299
325
167
178
133
133
266
258
282
146
209
146
221
182
206
184
194
191
166
115
221
204
170
200
228
170
158
146
130
129
201
231
182
204
175
183
158
185
217
173
239
210
204
216
297
146
178
210
130
143
209
227
155
173
146
183
180
233
155
258
186
133
179
129
145
150
201
217
149
168
130
218
187
130
293
181
202
191
216
130
239
200
247
146
218
192
187
132
239
189
278
225
145
209
199
129
185
195
146
214
234
155
200
201
191
233
129
130
146
166
234
176
234
132
261
222
141
162
210
184
232
239
239
186
195
256
169
179
180
202
174
215
233
193
146
143
231
184
177
209
264
263
186
225
145
174
210
180
161
198
217
158
268
179
231
179
264
219
146
217
191
236
209
138
208
147
165
188
181
210
202
246
174
204
158
201
192
144
212
133
335
178
160
155
138
173
150
192
173
214
251
279
173
145
192
229
174
208
202
115
183
228
223
184
268
132
213
197
130
143
167
217
130
146
206
176
183
193
217
170
146
164
219
160
158
201
270
119
191
169
254
249
182
188
232
162
204
129
162
195
217
231
130
185
130
169
271
183
155
204
204
173
190
185
207
217
234
211
169
157
181
176
160
200
166
129
180
225
217
220
232
201
218
212
211
156
174
335
208
133
217
230
204
156
251
200
186
160
169
178
211
238
258
287
270
133
164
186
219
240
214
253
158
197
166
216
171
183
166
210
247
271
222
214
168
192
146
216
129
133
129
208
210
191
173
146
225
181
176
181
206
180
155
267
175
181
217
213
173
174
195
196
210
217
172
146
174
210
194
191
156
211
191
217
155
242
173
261
156
210
173
213
242
169
189
216
234
211
122
200
172
176
149
222
127
189
140
184
182
166
227
202
162
256
202
217
122
150
171
184
205
162
258
164
184
141
180
208
235
141
246
221
217
264
141
225
173
255
115
209
191
149
129
202
149
175
303
264
146
203
204
275
232
224
144
212
178
238
205
209
215
236
167
222
182
188
195
130
191
211
214
151
194
200
154
203
146
194
173
158
200
179
129
184
178
217
282
158
211
180
210
217
198
167
183
182
245
231
165
188
146
147
239
200
231
175
147
254
173
184
182
115
162
177
204
179
148
119
115
204
227
178
228
184
198
155
204
220
210
189
225
168
181
204
176
191
190
129
229
161
234
254
166
119
246
129
222
130
221
219
168
178
204
180
173
206
200
204
254
156
188
129
159
169
157
227
199
180
192
115
214
170
161
183
179
176
191
216
232
202
271
190
303
145
206
168
205
191
183
236
173
253
246
146
176
173
138
179
210
239
146
177
206
221
210
228
178
244
158
201
129
174
171
210
164
286
162
222
217
239
162
160
210
200
168
149
258
176
115
229
224
208
239
162
200
171
201
194
128
172
208
222
133
162
175
201
130
207
264
188
186
176
220
176
176
146
146
168
129
173
193
223
199
201
243
222
224
198
181
147
201
225
226
161
175
165
129
164
164
188
149
184
208
215
257
143
154
250
130
138
205
200
244
198
129
184
184
200
162
223
168
201
190
173
264
182
115
206
198
200
115
168
185
271
173
261
210
188
164
264
184
212
150
256
204
194
161
158
173
204
232
146
185
178
222
237
182
227
173
209
146
207
224
236
235
131
184
145
321
226
179
130
191
232
194
238
206
204
150
194
239
249
201
207
196
186
160
180
191
162
215
179
208
202
176
251
239
202
232
269
155
231
235
119
200
143
122
145
178
270
235
160
218
262
252
274
182
292
179
175
200
169
156
191
150
300
335
227
208
213
130
173
146
176
242
181
258
219
192
261
130
210
168
129
192
200
167
239
186
238
184
291
189
215
201
173
167
130
206
242
175
166
173
190
173
176
218
138
209
167
173
149
165
122
182
216
202
207
170
143
236
204
257
129
285
115
158
182
173
169
267
234
183
178
174
259
204
175
190
129
141
156
230
173
171
222
168
208
176
129
184
206
168
252
194
243
133
228
239
222
161
155
128
219
214
228
206
199
130
232
155
184
178
162
247
141
205
204
222
181
168
210
179
168
129
146
182
193
150
200
211
251
200
162
239
145
300
258
179
146
146
146
207
130
130
236
189
173
130
185
204
202
168
200
162
187
168
240
204
184
145
264
184
138
146
202
194
253
156
164
183
214
204
181
156
185
220
130
159
168
282
183
164
205
145
130
225
238
188
229
146
209
252
206
130
236
149
157
241
186
158
173
207
161
169
185
174
155
238
179
187
162
147
171
129
183
215
210
200
179
130
130
188
143
244
160
156
183
261
240
129
226
247
192
249
231
176
212
217
169
199
183
156
158
238
251
158
173
146
185
288
243
191
129
164
210
124
201
200
149
185
179
200
217
198
205
164
156
176
279
202
247
202
182
258
184
202
195
275
167
157
184
202
182
195
188
137
189
239
256
158
169
190
191
155
255
160
223
217
226
299
210
281
173
179
200
146
179
242
168
229
182
167
133
239
170
129
197
173
230
179
130
205
222
216
146
173
141
267
141
261
231
174
221
219
191
245
193
129
182
213
173
243
194
264
242
211
133
176
202
217
129
158
252
122
183
179
244
216
164
185
211
176
178
194
230
195
185
264
152
164
129
191
143
158
184
181
173
168
146
210
252
176
181
173
115
158
222
220
176
152
255
236
155
159
211
251
264
203
221
189
173
115
205
176
150
200
204
221
150
172
254
221
239
191
146
251
191
204
217
183
168
146
138
208
157
191
165
181
143
201
229
180
173
176
173
155
168
173
201
130
209
161
214
200
178
183
237
212
182
231
185
145
204
183
188
146
212
168
191
182
268
204
155
129
141
201
190
230
176
214
228
215
170
138
200
218
255
231
218
259
190
156
292
203
205
143
164
173
115
178
213
239
218
210
195
204
209
267
163
205
171
238
197
207
260
203
143
174
145
227
183
210
129
228
231
236
218
158
215
128
162
199
130
146
224
295
181
244
204
146
257
227
182
265
195
240
155
183
170
128
146
162
175
178
129
200
129
239
184
145
210
143
129
173
226
171
185
130
203
182
166
254
195
200
200
253
215
187
188
201
204
200
304
156
164
146
228
256
189
212
129
183
190
247
202
141
143
201
173
179
146
229
176
210
225
164
211
202
146
283
162
168
217
173
172
202
229
298
182
259
226
129
210
146
167
146
167
189
256
174
206
181
192
202
191
185
261
191
164
218
150
182
129
189
144
166
204
205
168
236
122
138
179
150
187
216
145
202
219
145
130
145
244
145
185
164
174
241
179
146
209
211
192
155
190
227
214
179
181
201
214
182
192
256
210
145
145
210
185
130
217
217
129
128
194
207
160
217
208
191
246
182
168
195
203
146
190
133
169
221
190
169
141
157
203
231
150
287
161
173
230
201
270
129
247
146
182
191
246
115
156
255
155
210
207
132
204
176
146
132
129
156
286
197
254
153
141
177
182
158
164
301
204
233
181
178
129
153
238
230
129
213
146
202
257
173
169
221
202
181
210
168
186
170
175
155
195
253
183
179
210
180
225
225
269
178
210
172
200
129
164
212
207
266
158
200
188
173
152
205
176
173
265
185
168
200
146
160
238
200
132
172
176
236
145
201
161
179
211
184
205
152
138
270
222
206
225
164
186
166
169
214
185
191
214
213
190
168
178
187
170
266
192
176
186
174
130
191
168
226
129
207
161
183
204
132
217
236
146
144
238
189
204
164
189
189
143
177
150
192
274
158
173
164
241
230
169
201
176
200
210
146
138
129
173
225
217
130
173
129
176
185
129
268
177
186
184
174
238
239
169
218
162
200
209
195
176
161
231
206
157
173
236
179
174
242
223
173
209
228
221
206
146
177
166
141
206
237
164
221
146
202
201
255
307
169
151
173
165
160
169
184
178
210
211
184
137
173
150
186
225
160
187
162
195
227
217
150
185
229
224
224
173
213
259
191
272
158
205
214
141
217
204
204
182
119
226
203
235
167
177
176
235
218
184
270
246
184
238
248
266
211
137
129
236
168
212
132
228
158
173
179
210
255
221
186
130
204
171
146
161
158
176
274
237
215
217
155
146
184
213
171
210
146
184
201
176
200
191
229
187
191
226
203
146
241
210
201
261
236
173
214
141
183
156
169
162
168
130
214
236
243
115
213
146
146
173
146
219
229
186
255
179
146
230
200
186
222
146
182
228
255
162
176
168
143
155
173
200
187
190
169
210
200
210
129
176
206
181
206
189
145
204
141
187
168
129
225
227
249
190
186
300
225
167
222
229
193
216
130
222
153
228
228
169
177
174
178
206
204
185
227
200
183
146
173
115
115
150
132
188
132
180
204
240
147
249
169
232
180
185
133
230
145
130
229
263
234
217
185
246
209
164
246
300
173
182
146
222
128
200
169
171
186
160
210
204
217
147
133
193
178
204
133
196
129
179
238
230
168
265
295
199
249
162
205
224
129
115
146
229
223
250
193
146
173
141
232
238
143
164
200
181
181
182
160
217
186
279
163
202
176
236
183
138
182
237
174
167
235
259
162
186
143
217
183
211
210
182
145
230
229
205
149
210
184
161
145
166
191
237
146
178
133
150
167
230
191
146
226
221
239
235
255
247
274
230
192
146
228
204
163
214
198
179
146
155
164
160
152
180
129
195
199
146
143
157
224
186
174
284
241
183
157
218
129
241
133
213
214
192
178
264
146
209
175
273
193
152
191
189
156
128
130
168
191
184
222
190
145
164
176
190
188
191
236
203
147
155
189
257
201
160
187
180
221
239
182
133
238
213
146
129
173
145
144
240
227
212
195
190
176
215
182
174
181
192
168
217
195
178
206
156
141
207
293
194
180
253
115
162
133
212
236
129
146
186
164
214
204
190
155
146
161
208
252
202
160
164
247
203
204
182
170
202
188
212
184
280
143
129
225
168
217
233
241
151
239
292
187
167
145
222
192
205
146
129
177
162
217
205
145
209
230
129
247
238
164
115
195
146
251
162
158
180
206
204
158
191
228
200
214
129
194
178
155
230
188
187
216
203
143
204
217
199
146
141
145
219
211
203
171
172
243
146
174
206
179
206
201
155
233
194
183
229
227
194
207
212
236
200
162
180
180
155
199
198
138
270
217
210
164
231
188
244
209
203
185
115
197
182
283
231
144
182
178
133
168
155
205
217
262
223
241
170
191
274
179
146
187
195
179
183
166
204
171
173
158
179
129
173
243
149
190
184
184
185
146
197
176
130
212
329
133
193
232
173
184
238
145
173
235
183
115
182
195
133
178
242
199
157
172
143
162
184
173
198
155
143
178
173
146
173
236
155
225
145
211
168
182
203
173
321
184
143
246
182
211
217
143
132
237
242
166
160
176
212
213
167
175
168
206
178
233
206
161
236
230
146
173
176
202
168
156
162
206
138
161
194
173
235
146
191
130
199
210
180
255
161
204
166
144
142
256
216
215
188
174
151
141
211
150
169
244
204
155
192
172
189
172
173
176
161
129
212
202
262
222
183
157
210
204
219
179
184
145
197
202
191
235
239
165
244
143
129
227
201
172
232
192
182
286
129
247
150
173
230
174
183
189
203
191
131
143
206
241
191
150
202
145
161
194
303
194
147
191
154
210
189
149
278
178
169
244
206
204
179
132
228
209
193
191
156
146
228
166
229
176
177
269
183
196
172
150
172
195
150
172
222
272
225
192
203
211
227
212
255
186
264
218
179
184
257
217
201
129
221
188
205
225
210
162
277
168
169
215
226
254
188
152
210
264
152
228
129
235
226
231
188
168
173
180
183
173
219
254
264
227
168
202
230
185
166
168
240
199
176
210
156
156
230
212
198
202
204
133
210
173
224
160
229
145
161
209
240
209
230
270
188
335
226
235
258
188
242
173
184
251
176
198
222
218
202
175
181
206
211
198
141
182
197
189
222
138
260
182
230
191
162
130
146
188
180
141
161
241
191
187
220
232
176
201
172
133
173
235
211
176
239
188
209
173
205
180
128
173
206
122
152
244
162
227
173
185
185
240
211
191
240
239
233
173
170
218
173
217
167
122
225
210
166
172
174
129
261
200
209
203
204
232
173
122
146
211
143
185
187
173
138
228
171
256
173
193
210
199
184
178
236
206
189
230
204
192
246
156
195
146
166
141
162
184
171
162
169
210
233
180
159
187
248
203
218
149
184
272
155
234
138
251
150
190
189
193
130
161
166
204
214
129
129
243
191
213
204
232
138
163
155
181
258
213
174
176
156
194
173
182
185
225
272
238
176
162
206
173
191
162
161
193
152
171
180
141
214
234
177
230
210
184
198
182
129
183
201
175
208
185
176
169
173
283
160
155
173
164
230
184
200
247
172
212
143
138
208
151
274
242
119
184
179
133
176
183
178
182
230
175
169
185
181
132
195
210
122
141
214
324
162
174
194
133
196
177
148
180
195
146
207
183
266
190
213
185
159
260
220
228
115
202
157
218
169
129
162
168
247
146
146
200
192
204
178
202
174
222
152
115
295
207
217
203
155
158
164
166
171
171
214
261
162
161
179
206
249
174
203
151
182
174
171
244
179
156
176
203
208
164
215
214
181
223
213
194
219
173
246
145
228
200
213
146
296
264
181
130
174
201
169
173
143
221
143
209
204
228
208
181
201
166
157
170
161
231
164
119
250
248
202
173
130
223
199
198
184
162
133
130
158
305
173
234
146
189
200
156
183
195
192
218
151
219
157
177
182
294
193
250
191
141
204
202
129
143
172
230
213
212
150
204
182
254
182
202
191
145
267
204
176
217
272
162
252
212
238
178
221
164
176
206
146
146
174
229
158
245
130
210
231
248
130
178
207
192
146
237
164
115
129
146
174
200
215
207
304
176
200
141
175
195
246
209
211
242
146
191
173
155
179
173
264
201
138
168
173
176
176
263
184
257
204
141
226
189
209
146
188
203
203
143
160
205
158
181
227
191
129
219
199
249
166
122
221
150
133
174
208
162
178
193
224
221
201
244
202
146
176
169
159
234
158
237
158
205
179
143
173
208
235
169
204
171
200
210
290
172
158
215
200
236
200
148
206
143
167
230
239
179
205
210
226
186
132
165
185
182
186
272
159
146
146
129
184
146
192
174
146
260
173
204
158
170
193
262
230
201
211
141
200
132
185
184
256
179
224
236
184
307
238
173
164
202
164
229
218
202
245
190
158
146
141
270
225
171
209
129
164
190
130
168
183
204
144
155
227
176
194
211
177
169
205
150
204
194
162
191
288
129
197
202
164
129
195
184
242
182
160
162
247
195
181
193
263
179
207
146
129
211
239
183
183
156
214
115
169
205
119
186
200
150
242
170
181
178
146
215
246
209
197
175
161
205
169
273
182
188
222
230
209
238
181
181
200
202
194
203
227
168
178
173
303
222
173
277
159
173
133
211
231
122
241
158
161
201
216
177
146
146
169
164
210
187
242
215
214
179
143
175
157
204
209
158
265
189
176
192
163
282
191
130
229
201
245
184
122
202
164
204
211
214
188
176
162
264
186
236
210
169
259
185
200
155
141
205
162
261
171
210
225
199
226
184
143
199
156
210
263
252
202
191
201
183
179
168
306
129
161
155
213
158
199
163
165
232
154
176
257
204
223
217
169
179
167
250
130
209
254
236
188
176
178
231
189
211
169
147
146
210
173
184
245
217
173
173
197
204
189
239
204
187
255
146
191
202
192
204
219
234
146
266
173
217
187
200
214
193
185
229
209
186
219
165
189
226
217
167
193
180
225
203
233
190
209
176
158
256
174
188
209
195
230
130
179
145
162
189
228
217
235
201
146
188
236
264
162
156
179
214
149
199
130
173
184
174
191
266
179
201
151
164
146
175
261
128
270
184
220
206
204
202
169
161
170
155
162
211
204
256
138
151
220
173
249
201
202
146
204
217
146
171
335
237
181
173
177
262
157
178
231
204
186
188
165
247
307
204
247
183
226
219
179
171
146
232
145
202
158
217
247
236
239
173
181
214
230
190
172
225
229
222
158
223
130
225
146
133
231
217
199
173
150
236
207
180
326
180
218
193
236
190
264
240
219
176
222
179
230
179
204
236
164
142
227
243
250
281
182
162
152
191
173
186
129
211
228
204
190
210
189
164
217
210
196
196
206
264
179
210
158
245
219
190
215
129
204
231
247
256
183
158
226
130
235
169
261
240
184
253
204
187
129
130
158
175
180
202
150
193
197
176
199
188
244
177
185
157
272
172
202
174
316
230
130
221
202
220
175
200
256
141
129
179
188
176
226
246
210
193
172
223
216
173
184
168
229
198
262
158
231
162
130
177
234
145
163
175
218
176
169
182
130
206
214
241
179
217
238
145
158
243
222
204
189
115
250
263
151
159
173
252
156
181
130
247
191
191
185
176
248
204
199
139
278
129
321
216
173
186
231
132
201
115
204
220
189
206
230
250
162
201
218
242
156
130
204
263
205
133
256
245
189
155
205
215
173
173
175
230
185
186
145
195
146
191
188
179
160
158
129
201
162
182
234
297
183
184
212
200
176
180
160
180
165
151
198
191
267
199
149
195
243
194
216
207
159
186
146
204
183
191
275
170
143
148
133
179
189
210
200
176
202
191
202
218
200
179
130
210
222
212
146
205
204
158
182
205
201
236
191
266
230
246
146
129
185
173
239
272
174
182
177
157
130
205
160
213
204
217
200
201
227
115
234
210
199
208
257
176
145
194
206
202
168
162
199
214
226
214
170
207
168
146
164
173
141
205
180
238
166
227
183
205
179
159
199
208
169
191
184
200
201
146
161
133
250
208
195
169
146
175
239
206
130
168
200
204
179
177
197
168
206
164
216
183
183
145
194
179
155
231
253
274
146
191
181
203
252
250
176
218
238
152
253
186
176
143
214
176
217
207
143
239
165
191
168
159
145
232
204
200
204
214
146
257
122
172
217
146
236
263
216
176
266
173
138
222
157
186
188
211
139
180
263
178
122
214
180
202
178
226
204
130
198
207
174
263
181
198
170
211
191
313
162
219
191
169
200
202
202
129
217
206
200
230
263
184
130
173
179
204
129
221
176
243
226
229
115
174
168
115
174
130
227
230
172
185
176
158
199
160
256
241
211
214
184
158
176
129
130
146
243
187
191
237
207
184
229
267
129
146
240
209
184
217
152
208
161
130
138
201
164
200
231
221
168
173
206
173
201
190
283
242
183
166
201
122
210
179
129
171
173
143
210
146
226
229
195
210
146
167
171
184
146
215
244
213
122
168
146
169
157
115
212
217
222
173
200
145
170
188
206
226
263
129
223
181
173
205
202
211
173
173
178
184
208
170
183
184
202
143
197
173
278
206
184
244
165
130
267
200
209
179
204
129
183
184
236
214
161
183
176
176
174
272
173
173
233
281
151
211
200
169
220
201
216
146
192
206
158
173
224
133
186
211
206
159
175
215
130
268
179
184
155
155
145
150
226
130
204
211
130
159
238
190
214
129
272
170
230
235
265
179
174
246
169
185
229
199
239
199
239
173
133
133
174
146
195
172
288
208
230
143
176
233
191
186
178
283
218
146
173
179
239
251
234
200
161
169
212
210
166
163
298
213
203
239
130
174
204
263
146
173
184
218
230
192
234
129
183
201
195
180
202
179
145
227
202
160
193
150
191
225
191
231
149
216
182
239
191
189
318
232
247
222
249
146
214
231
156
237
176
146
189
180
172
182
240
201
184
222
201
231
143
254
172
164
129
194
206
248
182
247
176
195
214
197
237
224
191
180
182
191
217
200
211
210
165
259
130
146
178
283
191
150
231
238
208
235
173
233
161
258
219
172
115
143
187
141
149
275
179
227
198
191
210
173
146
191
130
164
216
260
192
187
225
173
204
155
198
234
214
115
162
181
175
156
201
236
185
173
200
181
143
161
182
219
200
141
149
129
197
176
225
158
182
144
204
145
129
212
212
202
173
179
217
183
141
129
152
209
145
129
205
216
227
210
184
129
204
206
173
220
145
277
225
164
233
201
186
168
145
203
235
217
129
208
179
222
192
150
216
156
224
210
202
204
180
141
173
177
182
184
130
264
236
212
230
240
200
178
195
185
122
202
213
180
263
146
236
244
173
193
149
223
178
213
197
130
191
297
130
173
213
218
228
185
115
232
230
227
133
213
215
232
129
196
129
185
217
159
184
225
231
143
225
130
195
158
261
164
164
234
184
229
221
188
184
161
196
178
261
205
195
176
156
240
225
133
143
204
178
223
236
151
258
222
204
176
239
233
175
183
145
207
205
200
133
217
238
223
202
144
184
204
146
181
197
185
183
174
165
216
224
158
182
202
174
222
170
186
199
242
233
183
222
157
188
181
190
234
259
173
266
130
238
176
130
152
217
199
183
202
176
168
144
158
247
191
146
204
200
184
222
172
115
196
244
222
210
252
274
217
204
266
235
200
209
176
146
225
217
201
184
201
263
210
130
173
130
184
166
167
170
179
179
200
259
201
250
231
193
203
218
224
236
235
182
192
227
232
170
164
176
182
168
173
199
188
187
179
216
132
217
216
201
209
175
209
192
169
341
219
182
204
162
245
181
176
145
208
183
217
185
215
204
174
204
188
221
170
227
173
266
146
240
199
209
230
146
176
172
164
158
244
130
281
209
256
213
204
183
173
206
168
191
270
210
146
162
129
128
284
202
176
226
132
253
211
146
158
176
158
247
172
180
182
188
155
195
258
239
204
185
229
210
132
168
173
202
282
185
138
155
259
229
242
178
133
129
228
146
200
133
204
115
155
150
161
160
164
221
229
146
146
176
173
141
202
158
180
210
159
162
122
249
192
144
255
265
152
182
216
202
171
185
202
143
178
146
173
202
129
143
162
180
146
200
209
211
203
202
173
165
225
204
186
184
176
182
158
198
156
287
180
282
204
219
192
150
156
146
227
218
226
202
214
225
176
202
162
158
193
235
175
208
190
265
188
188
170
180
210
146
142
180
188
138
130
212
200
183
181
190
210
256
217
287
260
255
282
171
129
171
173
176
208
180
184
173
176
269
207
162
133
188
176
204
243
162
325
170
201
202
182
231
265
164
263
222
302
200
146
160
238
155
174
130
130
197
229
236
177
211
156
182
213
173
178
176
218
173
173
179
192
141
197
204
222
115
179
190
246
158
204
184
210
266
155
165
183
250
204
254
155
216
225
147
122
183
219
211
255
188
184
193
129
178
209
236
261
184
176
176
157
218
175
176
130
222
178
210
201
164
149
212
115
247
264
205
233
234
146
221
175
187
183
199
204
130
169
192
182
237
195
184
215
222
335
160
197
260
195
219
251
149
138
217
115
200
179
176
185
213
218
185
186
115
181
193
184
210
190
143
335
201
184
225
173
208
206
257
179
255
173
168
204
190
130
222
176
195
231
217
182
203
208
217
144
130
231
170
222
115
160
146
212
263
154
200
188
220
168
205
210
149
207
138
186
162
197
167
146
164
182
160
197
185
205
173
201
174
229
143
173
223
254
184
229
205
183
173
287
238
156
203
245
169
201
246
184
170
130
162
187
184
168
173
239
236
173
146
162
146
250
184
191
179
246
217
183
143
208
244
202
174
235
133
256
211
129
178
219
159
171
199
224
262
199
190
217
209
236
115
176
155
174
183
170
335
233
173
244
200
177
129
130
204
191
230
166
228
261
212
179
191
184
209
173
262
241
199
288
201
129
179
173
215
130
164
177
160
229
199
287
130
221
202
217
138
204
204
224
188
213
140
180
236
203
228
264
171
211
162
189
184
210
224
217
200
184
195
176
224
217
228
183
212
129
217
231
222
133
205
155
204
155
189
191
282
197
226
195
230
206
184
206
182
146
201
146
185
178
183
182
258
191
228
180
210
164
161
272
164
176
162
168
204
155
176
188
181
204
141
160
161
209
165
187
164
200
279
181
156
157
147
221
183
300
184
184
243
153
141
150
205
199
191
243
195
129
184
176
149
246
188
156
173
228
173
178
249
201
215
201
183
230
122
173
159
203
157
208
206
220
166
300
173
242
190
161
175
200
247
159
284
169
179
146
210
185
158
204
236
182
224
129
127
173
227
221
168
216
145
217
170
217
146
204
172
213
158
179
164
150
204
141
202
242
189
119
152
199
195
217
287
173
129
230
168
268
168
156
164
130
143
195
191
210
182
217
225
236
265
260
156
207
225
145
228
129
162
254
315
178
195
189
178
201
145
138
249
176
178
130
183
183
203
131
189
242
160
211
212
206
173
169
204
185
226
228
188
173
180
146
168
157
191
168
146
176
185
248
205
194
245
269
190
197
204
179
166
130
152
143
206
204
202
220
171
242
204
145
169
166
228
183
156
204
204
166
173
149
246
230
217
238
230
230
163
166
234
214
214
225
147
218
203
129
275
217
190
160
146
162
250
145
184
217
179
257
181
158
192
204
180
218
183
228
162
179
169
184
211
130
217
207
183
173
249
206
227
187
115
206
199
188
189
221
144
145
180
145
145
160
195
227
204
152
133
146
138
130
211
122
220
196
175
200
267
168
141
162
146
226
244
191
272
162
171
146
156
207
201
218
205
251
219
217
184
237
262
259
215
216
169
235
169
178
221
194
157
256
145
138
200
190
176
202
217
195
168
202
202
218
178
211
225
143
335
146
248
202
130
176
233
158
133
176
174
208
209
153
178
188
260
238
252
245
235
146
256
232
146
219
247
218
222
213
200
181
212
211
185
170
162
164
221
283
130
208
228
239
130
169
130
179
143
239
259
261
228
179
261
246
138
216
195
145
173
274
209
206
176
267
133
254
173
201
230
211
149
210
169
230
176
130
156
173
213
162
115
249
146
192
258
211
158
181
172
212
235
217
200
211
141
211
236
251
251
222
236
251
264
161
188
204
130
174
210
240
162
217
173
180
190
182
168
155
300
244
210
252
238
238
169
214
158
263
213
170
179
179
212
222
149
178
260
178
115
173
115
166
205
225
202
202
191
231
208
151
129
145
172
188
130
185
214
185
202
155
155
210
217
195
240
208
223
167
212
162
141
183
180
198
230
244
268
214
146
214
186
222
157
202
176
192
171
164
150
173
151
129
214
217
130
201
221
129
239
159
180
202
178
245
208
172
230
173
251
176
155
149
240
218
184
145
191
210
305
164
208
210
173
206
143
302
184
225
187
210
174
214
209
186
211
143
199
242
221
211
236
201
235
161
115
238
162
204
200
173
240
165
230
173
166
195
217
143
230
221
206
182
187
224
173
129
179
191
217
207
177
225
130
160
173
242
115
169
198
158
198
128
210
190
115
206
176
206
203
164
206
167
222
155
173
176
130
185
204
199
210
175
157
162
129
131
204
173
265
178
282
129
175
145
212
182
141
237
168
204
184
225
146
242
181
158
244
194
162
216
248
209
164
179
168
183
176
245
128
179
176
173
204
146
195
277
164
150
282
159
156
202
235
146
287
129
236
214
150
245
177
178
176
189
222
182
247
216
236
184
184
257
204
200
185
230
195
224
184
130
221
201
204
210
183
186
200
178
178
234
201
265
213
149
265
145
170
173
252
185
208
263
130
244
250
265
143
150
234
161
201
155
191
242
201
180
210
207
228
192
176
198
143
185
176
122
172
184
230
234
166
213
128
162
149
274
198
210
161
238
176
200
201
242
198
145
208
176
218
146
230
184
206
122
230
217
169
171
222
175
197
201
147
162
243
234
208
169
146
201
172
194
182
217
183
211
143
173
236
230
211
153
166
184
188
274
259
236
202
200
166
230
176
130
291
235
161
268
146
184
216
174
211
180
198
158
176
206
274
181
170
200
172
208
242
213
156
172
225
225
216
143
130
216
115
226
130
192
122
151
246
143
176
219
170
159
179
228
173
195
166
146
162
186
200
152
238
130
133
246
173
185
196
197
190
153
185
208
230
236
313
206
176
237
204
234
146
210
216
147
156
209
239
161
158
278
220
229
176
218
186
179
162
174
221
263
188
264
145
256
190
133
222
221
251
162
197
201
155
146
303
183
197
209
198
131
297
194
158
173
204
168
209
153
175
150
130
304
201
204
217
183
122
130
210
262
217
173
206
170
208
146
206
162
129
242
176
261
204
194
202
174
283
190
202
175
237
180
201
204
221
183
164
255
185
211
187
144
238
227
174
146
155
175
214
173
173
179
202
184
166
188
130
242
174
205
222
209
164
246
190
206
257
209
130
182
194
191
159
251
205
129
234
185
319
130
307
161
153
158
145
173
252
266
238
217
133
226
270
221
216
276
228
173
204
185
166
228
300
173
162
292
192
238
130
176
146
176
129
173
178
300
157
268
133
219
251
184
164
197
150
210
202
214
173
247
115
131
247
217
129
119
166
241
241
145
274
247
129
173
172
190
186
177
208
175
182
152
185
198
143
199
210
201
171
191
187
181
176
152
264
199
233
234
206
179
151
178
115
156
143
180
222
191
190
184
199
210
201
130
158
245
129
244
227
261
145
178
173
173
244
178
217
213
235
129
133
236
143
160
129
168
145
224
214
164
137
206
210
202
157
227
176
208
129
146
252
249
211
225
156
115
174
155
143
197
192
115
228
130
176
185
174
247
209
238
195
180
169
201
132
188
199
169
183
173
210
248
169
201
174
169
222
211
205
145
155
138
194
189
221
176
200
184
153
157
237
190
143
155
143
162
150
129
268
129
214
221
249
176
185
200
185
150
210
259
169
212
219
179
213
200
199
170
201
173
190
204
221
231
221
173
176
192
180
160
206
213
172
161
201
174
163
168
313
164
229
202
173
240
195
153
202
217
176
229
172
162
216
146
156
230
240
182
238
230
191
236
170
214
173
129
178
129
166
173
217
192
202
176
204
146
129
218
279
146
179
222
245
204
173
132
146
192
181
152
181
195
213
146
162
196
305
194
157
210
174
229
210
201
160
156
208
145
242
146
228
186
177
210
143
210
225
209
168
149
173
192
218
207
176
210
132
174
335
158
129
129
210
161
231
230
232
208
143
228
184
155
181
173
209
227
219
217
217
197
217
195
243
156
168
173
229
146
146
148
184
200
185
173
188
231
185
245
225
229
137
204
212
115
198
162
144
172
168
200
180
130
181
209
151
182
184
168
247
229
210
198
115
217
201
204
161
171
208
171
162
156
272
145
130
131
200
146
186
180
194
224
234
244
184
151
202
236
155
129
133
206
129
146
173
133
183
194
239
206
243
173
215
183
204
215
161
210
191
180
179
246
158
130
203
164
133
146
211
202
335
149
225
202
200
238
238
204
208
166
225
132
139
157
168
162
129
129
206
145
209
180
203
178
175
253
178
183
242
267
236
177
270
168
218
200
164
204
264
201
255
200
204
129
150
181
225
207
178
156
302
259
185
228
145
188
184
243
164
246
130
156
129
227
188
176
265
230
133
211
130
156
146
194
274
183
152
201
202
211
146
206
218
206
176
210
158
236
130
181
150
149
188
256
188
164
184
205
164
201
202
182
246
162
211
240
170
161
160
155
213
210
133
180
205
206
147
184
164
215
177
179
156
161
173
146
231
160
225
129
204
230
185
255
173
237
238
182
146
191
202
220
262
199
128
156
254
205
246
170
313
210
192
129
162
225
182
225
129
156
161
188
213
213
191
243
176
147
164
150
141
204
187
179
184
160
150
209
205
172
143
209
178
203
179
257
133
230
217
203
162
144
133
179
214
164
204
130
246
161
115
246
166
133
133
163
191
189
168
165
176
183
150
228
159
211
145
186
188
201
158
189
156
211
215
191
164
202
149
146
167
202
211
181
195
179
203
145
261
227
183
204
248
184
146
157
191
164
300
153
199
211
173
192
247
157
194
188
133
206
155
217
115
216
239
146
179
244
146
241
158
173
222
210
204
210
235
228
214
146
133
257
178
204
204
195
197
130
169
133
146
269
173
191
211
202
261
166
158
195
234
178
194
217
133
130
204
268
176
281
191
248
230
204
280
176
231
204
166
179
173
199
200
199
221
223
185
206
207
167
182
206
159
236
254
237
133
176
206
185
200
128
173
202
204
242
217
234
115
264
146
214
188
239
196
129
192
176
201
180
129
227
225
169
146
214
174
196
173
229
191
200
330
186
145
147
251
188
246
138
145
204
192
168
192
202
173
217
173
173
270
176
204
202
204
270
171
187
204
200
168
242
233
146
173
189
169
168
176
234
174
203
130
264
133
145
240
204
230
252
155
186
173
158
189
171
237
166
161
238
204
217
146
115
115
246
133
213
275
176
184
138
207
234
164
273
146
173
200
180
201
182
204
166
129
133
115
214
130
270
300
161
183
169
204
225
204
252
209
184
236
129
166
173
171
172
211
188
146
141
277
161
180
174
181
277
254
166
235
173
240
138
155
141
251
186
197
214
263
209
122
176
155
210
212
228
178
174
209
245
231
130
158
215
196
129
211
335
132
230
204
210
177
171
169
219
180
187
217
218
209
184
133
217
175
225
130
288
183
201
195
263
227
198
216
244
197
176
216
173
158
144
216
205
133
155
130
133
156
133
183
278
174
216
264
175
176
206
151
202
217
145
130
160
201
152
173
184
145
162
145
188
158
130
222
200
181
243
200
160
215
250
162
129
194
156
189
158
183
173
142
166
145
166
217
204
197
146
246
273
159
239
179
231
274
210
181
233
182
212
146
216
176
130
173
199
182
149
189
202
158
211
223
133
176
211
147
155
225
194
234
191
191
194
189
129
185
158
115
191
221
115
180
241
198
163
173
158
158
237
209
146
160
189
165
168
251
174
261
158
128
129
181
146
246
184
176
183
176
176
192
179
296
180
158
145
190
204
221
215
232
198
199
184
226
143
177
181
155
248
158
156
185
210
157
170
168
158
210
249
240
264
201
210
335
243
191
149
155
165
184
167
203
149
158
222
206
146
222
133
158
178
146
212
133
247
150
239
145
217
199
130
322
244
237
157
203
203
173
248
236
278
115
204
157
227
231
296
188
179
179
183
250
206
143
184
180
145
176
159
227
189
198
256
207
201
227
167
242
249
243
149
257
209
262
252
143
218
197
221
138
258
192
133
210
210
217
202
146
133
217
255
146
180
176
144
234
230
214
173
317
238
179
155
227
158
166
178
226
162
250
202
183
172
229
146
213
186
179
146
156
191
161
253
173
129
173
138
206
224
173
223
184
159
236
225
199
173
145
200
218
206
262
263
143
206
175
143
146
176
198
158
199
224
173
146
176
129
128
130
217
170
194
145
230
173
150
218
145
260
200
183
158
199
146
208
232
146
163
197
210
185
122
182
176
172
146
188
176
195
188
219
173
168
167
218
201
200
195
201
122
144
169
205
189
156
233
197
244
252
208
191
212
203
268
168
204
184
146
211
191
211
150
174
173
130
229
172
201
243
143
160
216
228
146
173
175
214
130
183
207
191
283
184
201
203
173
115
212
156
205
190
173
238
200
130
162
143
173
173
176
200
201
190
200
231
267
247
173
180
239
168
195
195
191
204
180
204
168
145
238
236
206
159
191
180
204
202
221
195
187
168
167
146
274
194
198
200
180
209
225
146
179
178
204
161
264
210
201
218
191
178
297
283
194
129
133
257
178
210
168
237
248
183
187
178
130
207
200
130
202
255
219
259
228
235
220
158
176
205
151
248
220
217
162
178
193
119
164
130
244
196
185
166
155
181
257
226
166
191
303
214
267
216
179
225
214
173
158
180
297
169
160
230
143
189
177
192
176
253
188
198
210
232
241
115
173
159
209
188
180
198
265
180
179
184
187
239
174
221
162
201
181
195
223
146
146
159
174
176
236
217
275
186
230
180
133
184
183
167
191
173
205
146
145
254
138
244
197
244
153
176
273
168
184
115
184
146
211
162
183
229
187
182
188
240
168
188
210
258
182
170
261
239
122
145
204
210
164
245
162
173
189
229
210
141
192
173
225
176
146
159
143
158
156
130
153
130
204
173
250
209
201
280
188
303
246
228
287
168
236
130
115
213
213
229
264
249
192
275
161
250
167
259
197
180
155
230
210
173
176
229
228
141
160
225
162
195
190
150
171
202
200
172
191
174
187
283
185
281
173
147
210
204
237
162
151
179
168
185
175
183
130
247
158
129
129
225
263
231
146
115
238
217
187
122
211
190
178
179
166
151
146
170
214
175
146
191
138
130
204
180
201
203
227
200
157
173
200
193
122
204
203
172
182
205
208
178
180
168
196
189
184
168
143
186
265
145
184
122
145
288
264
182
228
260
201
200
186
217
149
239
115
163
174
210
169
260
178
214
247
160
229
186
201
146
239
236
265
160
194
215
151
206
193
115
150
143
146
206
129
129
234
204
176
173
192
221
246
185
176
188
190
253
236
220
169
195
188
184
216
190
194
182
185
245
181
155
303
202
171
252
166
214
210
186
155
122
178
197
133
176
214
203
162
204
177
170
222
129
173
176
122
217
210
224
204
205
155
143
199
115
240
224
180
155
171
240
199
225
245
152
216
202
153
214
168
130
206
177
174
216
173
176
191
246
210
207
181
122
206
225
162
143
201
176
130
143
146
265
300
194
141
194
207
233
181
146
239
260
230
147
203
185
151
210
168
162
146
180
229
239
182
172
158
193
129
160
133
201
130
229
260
168
204
200
199
200
183
145
166
219
201
145
183
155
225
170
146
260
237
239
198
264
223
175
162
229
190
183
186
202
170
182
204
184
158
201
195
195
192
164
176
303
130
234
216
180
212
247
230
162
213
227
174
174
173
147
300
230
162
245
252
168
201
240
143
180
188
197
182
203
170
230
162
202
160
228
236
188
173
168
203
173
158
173
264
130
234
176
204
130
171
236
235
203
228
175
183
205
182
210
203
192
198
195
173
209
205
179
274
176
224
210
187
217
264
264
182
211
209
204
230
201
158
217
229
252
141
188
188
185
225
207
162
214
199
207
182
186
204
195
171
202
129
271
176
169
178
159
145
246
143
210
209
153
215
133
215
186
150
217
231
144
181
172
169
156
180
182
211
157
200
192
200
173
156
177
133
251
227
236
204
129
173
192
293
162
202
129
143
226
247
144
233
166
224
141
155
242
115
274
156
227
178
149
162
247
128
210
129
217
122
212
222
165
214
242
265
201
178
178
150
209
200
162
172
189
130
143
161
261
115
189
173
227
143
192
222
168
187
173
262
194
143
171
158
211
169
187
196
160
175
252
230
181
176
130
270
129
198
171
193
193
183
195
130
235
133
319
195
209
194
206
214
170
168
196
164
205
238
168
160
164
215
169
169
150
129
252
205
179
164
186
170
200
185
230
280
205
133
149
172
229
177
264
211
307
264
173
146
305
198
178
209
200
257
256
205
236
199
225
189
184
184
188
283
186
201
263
191
133
160
200
215
195
216
146
200
168
230
252
213
187
236
266
245
264
167
138
145
129
215
146
252
146
227
195
144
199
129
217
230
324
178
151
166
185
128
247
185
190
262
201
190
230
171
176
173
204
133
130
222
236
257
166
146
180
158
224
187
261
149
190
211
188
188
162
213
183
195
173
231
211
252
173
193
278
301
176
164
133
166
190
183
173
146
202
155
298
115
169
185
129
238
208
193
202
177
155
254
222
221
266
204
235
182
204
146
158
230
184
248
201
204
146
182
233
217
164
281
229
216
185
161
297
211
146
256
182
146
208
173
222
184
173
194
205
262
129
229
230
211
176
201
143
158
191
202
196
191
238
296
204
223
250
240
189
168
161
210
186
185
143
149
130
212
283
206
207
216
185
211
175
247
191
115
158
228
248
251
133
246
182
200
216
229
129
235
181
176
129
138
171
202
220
163
158
210
182
185
217
210
225
133
163
277
204
143
131
164
225
236
209
150
210
185
178
176
182
115
281
204
130
176
203
179
244
255
236
235
147
214
200
130
206
231
129
141
161
264
230
156
188
166
195
230
217
204
195
202
185
195
130
189
149
144
183
183
246
201
228
180
191
177
204
133
115
204
176
179
254
129
129
176
167
202
164
146
176
209
227
146
240
214
190
163
184
232
201
167
190
138
204
169
174
164
164
237
200
240
263
150
212
155
176
238
145
179
189
210
173
141
247
206
217
209
203
129
146
197
173
184
204
207
253
179
183
211
183
230
242
162
165
247
145
157
129
285
173
145
146
248
130
173
200
156
149
146
293
133
129
216
270
238
179
190
227
195
145
173
211
144
251
204
210
155
161
235
203
176
141
188
204
176
217
158
173
185
151
177
168
201
129
203
180
200
225
156
203
262
132
264
173
217
162
146
262
187
141
217
176
224
233
203
209
164
209
229
297
174
275
191
146
210
188
143
222
188
181
196
192
254
200
130
183
164
180
181
168
202
184
170
187
145
217
222
210
217
181
230
138
155
186
189
181
206
183
217
178
201
164
206
173
168
129
150
200
179
170
202
171
236
130
165
188
294
177
201
204
227
241
144
211
236
202
210
242
211
171
202
211
146
166
223
218
229
210
225
182
146
224
129
145
217
210
182
335
230
184
176
205
210
211
239
214
253
217
204
225
194
227
245
181
205
189
138
233
241
202
178
181
158
171
270
201
208
200
193
182
138
129
233
190
183
157
173
214
179
180
194
237
148
189
130
240
182
239
166
222
164
214
180
195
188
192
230
193
206
156
129
168
176
205
138
258
181
241
184
209
174
202
211
155
215
168
242
179
234
198
146
164
194
129
191
152
146
244
268
201
203
226
191
248
115
221
227
297
230
182
222
176
122
145
203
133
167
175
194
173
219
255
211
129
287
176
192
217
164
226
255
245
191
146
167
247
195
210
191
176
207
200
176
130
201
218
240
234
202
190
210
176
225
196
209
251
263
206
179
202
122
251
202
129
239
146
265
189
178
133
236
199
151
141
237
130
192
147
131
228
168
210
179
129
247
199
211
176
129
176
213
146
200
219
216
256
226
146
162
173
162
275
179
264
188
209
170
119
207
206
130
235
122
243
200
222
160
217
165
201
210
225
238
213
177
273
157
212
191
199
286
129
183
201
172
242
222
179
183
158
230
188
185
194
143
184
206
202
192
182
167
143
161
146
233
176
265
180
164
200
202
215
221
145
221
261
179
192
173
205
202
208
130
146
193
179
195
143
217
188
182
211
161
173
252
203
206
145
202
146
248
261
185
156
230
130
186
156
183
167
205
164
166
160
179
247
227
181
211
210
220
122
168
197
227
186
202
247
228
163
228
191
162
173
150
129
202
166
115
206
201
146
166
202
162
168
210
191
193
199
189
195
217
213
183
217
204
156
251
129
183
201
130
173
274
155
233
141
164
143
164
129
191
179
178
192
184
176
202
226
234
143
188
233
242
206
185
206
195
186
169
231
202
197
183
133
180
156
184
221
162
226
247
130
182
168
277
195
162
146
236
145
181
158
176
233
191
172
166
187
242
168
204
183
162
275
246
204
178
183
217
335
145
207
178
183
181
162
158
143
197
176
141
201
200
141
158
218
184
168
231
182
151
188
175
180
143
234
184
194
181
152
163
144
230
162
161
225
176
242
201
238
178
209
188
156
181
165
130
146
199
217
179
176
203
179
234
172
203
232
225
165
174
227
217
173
181
222
158
210
198
204
164
146
133
224
204
188
156
171
167
176
183
192
193
151
231
193
161
215
152
145
201
202
197
182
132
191
151
163
168
115
210
211
157
228
216
180
129
222
188
184
180
159
115
274
257
204
132
250
161
133
211
149
162
230
205
191
244
166
191
335
176
168
179
164
176
236
133
161
129
164
240
243
164
177
202
146
259
145
218
296
191
210
115
214
212
214
208
166
169
260
168
178
176
224
168
178
242
194
220
129
167
132
184
236
199
146
230
173
181
187
166
144
185
173
261
267
241
177
264
169
130
254
230
143
236
175
143
210
164
119
207
186
204
166
144
234
182
230
170
146
197
175
189
195
173
183
130
157
145
221
183
233
169
230
278
217
192
204
160
143
171
179
174
195
217
199
236
163
200
133
179
200
158
173
186
168
262
210
141
218
257
250
184
249
198
186
181
232
235
197
216
128
271
211
179
185
168
130
176
168
180
283
180
173
210
235
179
130
143
243
187
259
198
199
212
179
160
237
214
249
266
177
210
277
150
211
115
156
216
195
207
211
186
158
172
173
180
153
180
209
204
181
162
170
207
172
207
148
204
204
266
258
130
168
171
221
175
204
255
172
228
266
193
146
200
217
195
235
173
240
130
115
168
220
220
292
217
216
140
173
146
167
153
230
155
168
185
122
187
242
247
196
257
169
188
168
246
156
162
190
259
199
242
164
227
145
210
259
199
168
194
204
178
219
143
171
216
173
200
188
261
283
214
177
174
173
190
115
203
280
236
197
198
274
162
181
230
172
235
198
207
172
212
143
164
195
241
146
247
185
145
231
173
188
142
175
130
226
181
182
168
230
186
141
169
180
241
217
170
169
184
207
282
129
188
156
194
217
218
210
183
302
231
182
183
150
167
178
267
212
217
184
160
238
170
171
225
157
211
157
283
163
144
190
179
195
173
162
133
207
213
206
129
115
190
177
204
170
169
228
176
208
234
271
283
200
203
173
218
182
217
179
206
130
193
224
181
192
166
155
146
178
192
216
236
217
133
176
270
185
173
201
180
207
210
184
217
179
205
230
184
201
199
149
146
146
182
236
202
217
166
129
203
277
197
159
211
192
133
216
204
145
143
180
162
128
173
157
331
236
186
256
272
182
202
239
198
234
213
158
239
173
263
243
225
246
168
184
222
130
158
252
194
231
193
222
162
341
173
122
201
274
170
158
241
180
177
190
184
257
242
241
229
132
119
182
178
218
166
185
236
143
184
195
297
245
173
115
180
203
324
236
203
160
159
162
201
185
168
155
236
182
180
259
173
164
158
261
200
245
191
193
175
215
245
224
173
206
181
204
146
179
218
237
300
231
228
303
176
195
179
236
189
184
218
237
145
230
172
206
228
190
236
193
183
194
225
202
179
174
182
151
201
184
185
170
256
207
188
247
129
206
221
213
201
130
239
129
253
145
130
181
229
231
169
166
184
213
141
283
170
161
174
192
325
251
203
222
239
204
165
200
173
129
162
242
234
149
195
206
217
164
212
155
202
205
237
129
164
264
217
217
212
144
141
227
178
283
181
191
201
211
166
183
173
217
195
130
130
210
217
173
262
170
184
176
119
182
237
176
187
158
157
237
168
179
187
168
212
186
176
180
147
228
258
145
168
209
211
172
270
224
185
173
217
209
231
129
179
240
176
183
181
179
194
176
270
217
115
218
183
252
278
246
183
184
185
164
180
130
295
162
173
211
173
178
186
233
247
176
115
169
169
158
217
197
141
169
188
132
171
225
177
244
237
246
230
234
230
197
198
296
211
176
187
200
182
184
179
146
129
167
143
263
204
237
146
193
259
165
235
169
246
115
261
251
254
129
168
197
223
180
204
213
227
252
189
201
155
176
145
206
225
178
130
183
205
162
160
183
202
335
198
190
183
115
228
158
217
210
274
211
175
166
166
159
180
168
251
184
264
176
146
145
173
173
146
185
191
133
178
173
173
145
225
225
236
161
192
146
257
245
218
247
194
212
206
211
204
230
216
182
164
143
129
199
250
146
239
201
252
177
169
247
115
133
115
195
265
217
150
210
215
236
138
213
245
237
182
204
200
238
210
203
190
146
151
155
234
182
164
132
191
256
173
115
166
170
175
183
190
150
182
173
204
143
239
173
208
129
129
248
171
212
206
166
180
175
216
180
175
214
166
182
213
172
164
186
184
147
183
190
133
244
217
179
173
178
183
177
179
129
146
183
257
194
197
179
171
173
255
252
115
129
169
203
229
173
217
221
176
164
173
224
247
176
160
217
176
178
155
165
176
151
185
183
146
202
143
157
185
209
179
252
253
234
180
159
213
158
143
196
173
129
146
151
235
201
173
129
176
184
195
195
173
190
237
156
173
141
206
182
173
224
129
170
151
239
129
146
169
157
189
155
213
181
206
200
196
200
143
168
182
193
130
185
228
204
189
180
194
180
152
160
255
182
217
180
182
150
198
257
179
156
232
263
281
213
164
163
174
168
206
146
272
236
250
158
246
181
133
168
212
158
264
189
228
201
178
186
257
129
189
250
156
184
174
181
211
173
133
204
230
191
190
174
161
165
201
129
162
264
211
225
245
174
165
176
141
176
183
176
141
195
167
217
186
143
164
179
156
241
130
179
163
193
221
122
244
129
201
196
210
133
143
239
221
162
173
163
204
223
162
194
209
129
164
144
261
179
181
162
129
191
190
178
236
182
214
212
128
146
195
168
309
180
231
145
174
173
219
176
230
158
158
176
227
281
240
238
185
130
138
169
210
173
145
164
216
173
236
150
173
242
216
145
164
119
199
129
159
188
161
219
189
189
128
272
173
208
200
195
216
156
128
217
256
241
159
211
184
233
246
294
193
188
236
201
209
212
158
170
173
251
201
147
173
161
128
214
189
206
174
146
212
186
247
170
230
251
210
155
176
176
210
226
217
178
173
230
266
239
211
222
237
156
143
165
203
230
178
260
175
202
211
235
129
180
208
146
205
236
186
168
214
167
212
205
246
176
237
141
145
150
239
162
204
147
256
261
184
183
197
115
161
236
179
176
226
184
236
210
173
257
198
151
214
214
185
231
166
161
152
217
220
255
178
173
168
265
239
185
197
146
187
155
129
204
220
156
220
173
219
228
194
162
195
211
141
183
164
199
183
229
168
176
184
257
229
130
192
182
264
264
239
115
249
194
256
261
184
130
255
160
196
143
191
166
226
190
162
195
162
181
173
129
167
147
173
130
201
192
162
273
223
181
173
210
174
217
160
184
182
192
244
189
133
204
214
152
180
245
200
166
204
146
206
168
185
224
133
204
164
169
184
172
206
245
178
264
255
159
151
203
145
190
210
170
214
145
253
144
243
195
129
200
130
146
195
176
156
146
186
168
219
183
146
212
130
261
133
243
214
169
200
202
168
158
152
173
211
184
217
184
189
216
129
217
191
207
130
188
168
190
178
158
180
210
209
164
148
173
212
181
272
238
210
169
166
218
173
185
192
206
184
208
230
238
253
130
202
174
199
238
151
146
173
173
200
240
182
176
145
129
222
251
252
143
210
234
133
169
214
227
133
155
296
203
184
141
174
173
274
187
156
201
178
190
210
172
173
119
195
236
170
164
197
159
227
206
144
144
146
176
264
196
183
201
155
232
155
119
145
224
166
158
182
193
187
195
184
174
162
240
147
199
166
216
185
182
264
183
209
202
224
166
239
144
197
245
181
130
259
146
210
221
162
143
183
170
211
210
209
178
174
188
191
173
160
158
241
204
210
225
213
189
251
229
202
192
181
236
122
133
174
146
187
171
168
182
271
256
184
260
173
217
205
176
200
182
143
195
200
168
335
227
173
276
166
190
204
151
186
162
209
210
170
158
173
188
216
267
221
122
181
188
248
195
222
175
129
196
146
151
141
155
230
222
212
150
164
207
209
161
179
231
129
188
203
203
143
242
261
194
200
197
173
164
127
200
202
168
205
173
213
200
130
274
246
185
207
195
171
130
253
162
146
164
185
149
176
147
130
256
155
130
222
191
204
130
129
199
239
178
256
183
176
303
115
263
258
242
202
173
238
164
257
254
130
210
168
189
200
194
210
259
234
133
239
158
157
193
204
181
219
176
210
214
224
173
253
227
185
239
151
204
168
217
182
210
155
115
130
182
203
168
178
183
173
169
141
265
230
292
225
192
170
179
160
179
202
251
164
170
247
163
173
163
164
198
158
204
214
191
200
158
156
230
141
184
129
309
130
204
202
189
211
147
180
201
183
141
195
206
130
178
183
278
210
176
176
211
204
145
186
171
191
222
222
262
236
255
171
158
217
222
206
164
217
127
180
222
171
175
188
217
210
129
146
217
150
158
168
204
285
156
210
175
179
153
206
219
143
176
183
233
197
207
203
162
146
194
185
249
217
244
167
164
176
147
242
133
190
227
218
170
202
242
213
182
162
189
262
176
269
162
209
176
186
212
219
199
216
190
234
199
146
281
231
209
206
173
143
203
178
143
159
173
129
222
156
133
219
204
129
242
211
156
240
264
166
144
166
213
177
145
141
130
252
263
196
146
236
207
320
166
190
300
184
206
198
259
211
164
225
214
252
211
228
146
214
160
206
201
129
199
217
138
274
129
200
276
164
209
145
216
149
179
161
139
224
202
197
258
180
165
189
164
156
183
202
247
203
141
202
173
217
172
173
129
239
183
223
160
190
253
164
176
216
165
249
225
131
185
180
130
211
143
189
179
197
281
187
238
115
222
146
144
208
130
191
199
214
233
146
160
222
146
204
212
180
183
173
166
171
166
190
168
234
190
188
152
231
158
248
235
199
238
229
166
141
188
208
180
222
239
221
122
230
212
228
183
242
195
275
237
230
181
181
210
233
192
179
146
244
156
211
129
178
201
246
246
268
182
232
219
211
220
160
204
158
225
143
242
158
231
201
176
182
178
266
212
202
146
204
191
133
205
250
158
217
160
284
218
228
174
155
208
143
173
189
181
203
181
200
168
169
179
159
258
236
166
178
176
160
184
222
187
176
153
143
145
150
286
143
210
130
130
216
177
158
191
176
220
149
168
210
184
166
145
178
302
146
207
272
133
191
164
226
227
204
143
210
191
146
206
165
228
173
146
239
198
192
237
211
179
247
187
173
209
182
208
179
238
264
183
144
210
147
224
227
130
187
144
169
273
202
168
122
293
184
176
225
156
206
173
168
182
189
173
222
211
217
164
129
210
184
210
179
205
181
185
173
189
283
176
184
184
173
168
218
198
215
201
145
202
170
232
130
115
264
149
184
138
193
146
203
216
204
239
129
221
146
222
129
182
234
186
191
194
122
122
162
173
185
222
185
192
189
172
188
216
188
231
130
185
166
191
163
133
133
138
241
210
287
176
183
204
180
205
193
128
212
179
180
192
225
193
210
321
164
168
160
115
208
203
160
168
257
176
214
216
185
226
164
155
146
190
195
185
204
157
156
181
181
155
146
183
171
230
210
129
162
141
200
178
130
184
204
161
211
178
186
205
168
230
130
146
158
183
185
130
180
169
189
200
173
130
130
130
181
260
149
223
192
155
188
141
214
175
244
256
173
146
144
129
198
161
238
199
115
179
189
185
178
225
201
203
141
201
198
173
217
202
145
115
162
199
229
181
219
186
143
224
180
171
130
256
204
130
210
227
197
219
211
200
145
157
173
133
203
210
225
192
200
146
179
217
204
158
130
220
264
129
235
203
129
209
186
130
246
147
129
173
145
207
211
129
115
162
232
181
205
173
189
170
183
179
143
189
239
240
198
214
174
214
115
130
146
204
162
176
212
146
169
181
183
150
205
220
155
187
200
189
158
210
283
255
210
217
258
167
225
141
170
200
200
138
182
236
158
176
152
147
227
186
257
192
247
166
130
130
115
204
146
166
214
191
130
204
189
167
160
176
236
115
262
146
181
151
130
153
246
313
168
130
129
143
195
171
198
220
207
131
222
186
192
243
188
146
207
187
133
261
174
241
225
138
256
166
246
155
201
129
181
173
204
259
160
168
263
166
168
150
335
157
212
146
203
208
157
173
210
198
239
168
172
209
195
188
166
201
156
212
146
187
133
130
130
183
261
162
247
161
277
143
211
228
234
204
214
166
159
143
169
230
159
173
217
212
173
164
185
182
230
170
204
209
173
183
145
169
146
183
176
296
129
228
231
221
146
200
204
238
217
188
190
173
198
173
206
223
167
171
129
222
173
173
183
210
115
169
129
178
146
129
146
146
138
217
240
242
174
133
210
155
130
162
207
221
162
204
202
138
146
191
216
145
179
217
232
179
241
129
236
215
146
204
162
162
205
209
173
173
141
179
256
178
184
208
179
217
128
252
183
217
161
146
258
227
191
193
146
230
222
228
145
237
211
148
149
186
191
207
163
168
129
217
158
201
129
194
218
195
161
203
186
200
162
172
173
173
180
176
202
170
204
145
230
207
264
129
150
218
129
172
173
168
231
133
173
217
276
152
147
211
195
206
244
211
264
201
184
209
231
182
173
122
190
176
145
242
266
161
161
244
237
173
173
210
165
162
156
250
145
211
258
264
162
179
199
145
196
201
162
207
214
178
188
208
183
192
160
206
236
162
204
210
159
264
206
222
206
193
270
189
180
252
199
188
209
235
176
201
246
231
256
165
240
200
173
214
279
173
179
200
158
191
158
129
174
146
159
130
181
156
216
231
236
201
211
143
260
175
254
275
211
173
194
186
173
216
191
183
141
176
234
201
268
158
143
161
158
162
218
210
195
178
189
130
263
172
203
239
173
130
237
219
129
132
192
190
180
160
238
163
187
176
224
271
174
195
151
164
191
250
213
221
184
206
183
147
183
322
274
225
168
164
133
130
202
210
173
173
335
208
127
202
234
176
200
180
168
201
197
209
164
151
174
180
190
208
204
129
179
212
130
268
183
274
201
143
202
150
206
167
180
230
168
209
207
182
130
158
262
195
210
218
188
238
220
210
133
218
146
149
236
257
212
216
155
257
191
181
175
146
184
284
162
145
183
176
197
191
184
242
143
222
257
211
292
214
163
115
183
164
161
173
176
191
222
168
163
130
171
230
176
184
166
231
157
146
204
204
203
164
194
141
204
164
129
200
173
186
178
173
132
253
179
202
173
277
210
149
158
215
176
133
178
174
236
240
129
226
210
146
217
149
185
184
146
180
173
256
176
156
210
129
189
143
219
170
189
115
191
217
115
130
182
211
190
181
228
179
258
232
152
193
138
166
143
180
189
143
234
162
186
237
204
182
173
239
173
191
168
218
176
214
211
158
156
176
185
211
146
129
246
242
182
168
194
193
160
183
246
173
164
170
145
215
221
294
178
217
189
179
173
145
180
166
204
206
303
204
163
211
258
180
184
166
210
210
164
206
206
249
199
287
263
217
176
250
200
224
186
178
224
143
228
238
122
228
193
204
146
225
198
208
206
219
188
176
231
168
169
145
176
210
173
146
145
155
179
130
236
174
224
202
199
184
230
122
145
146
178
173
146
186
130
226
115
214
226
204
181
219
200
200
158
144
228
243
115
204
241
187
176
183
130
184
165
196
204
237
191
191
205
129
173
193
179
181
192
228
204
191
214
115
158
206
205
197
182
143
218
226
158
228
173
130
234
158
186
198
246
145
217
202
228
191
199
218
222
146
221
182
133
230
189
229
211
303
179
222
132
141
231
192
227
201
182
199
130
246
179
235
215
155
176
211
183
241
219
176
217
217
221
152
237
254
207
211
217
168
212
180
227
176
260
129
236
190
173
193
159
227
161
244
192
195
238
181
190
145
231
174
231
182
201
129
175
204
174
230
180
217
221
164
235
201
157
231
271
180
179
201
243
168
195
141
282
240
201
162
151
253
258
188
265
225
168
176
237
167
202
182
164
169
170
230
222
210
187
259
263
169
143
197
133
177
221
192
238
168
265
184
204
303
173
130
236
173
168
280
201
252
214
253
115
261
206
189
238
176
227
157
182
146
157
122
176
177
274
194
239
205
207
180
150
206
171
131
282
179
273
203
186
182
173
178
191
235
146
237
254
219
230
217
210
150
226
204
222
188
185
206
183
179
130
178
225
173
138
138
263
255
202
216
164
197
204
276
205
178
180
204
150
176
184
122
180
164
160
237
211
145
200
133
247
168
115
229
263
261
191
181
202
192
188
143
230
168
146
168
208
143
247
247
138
233
225
182
240
247
150
244
158
169
193
158
164
210
185
173
272
182
227
191
129
181
191
160
141
234
129
179
265
187
155
210
173
210
155
218
177
176
185
219
182
214
162
173
171
209
230
174
178
221
207
173
204
240
179
208
162
200
242
204
172
178
129
197
178
227
251
208
206
211
122
181
178
228
155
238
164
168
115
129
197
224
133
166
229
146
168
199
115
183
174
226
217
130
252
187
236
204
173
170
234
143
179
191
213
210
211
186
184
158
222
115
150
168
212
211
176
168
239
188
191
255
202
191
187
115
194
164
146
201
212
183
162
130
226
152
171
160
173
180
186
172
143
247
188
182
176
129
178
274
146
162
169
187
212
129
186
217
201
236
168
217
236
230
230
129
239
246
256
226
178
202
210
156
155
228
149
167
225
217
143
115
214
133
168
161
190
145
179
207
221
160
207
204
270
204
141
152
238
166
173
145
173
145
214
248
241
237
176
195
171
173
204
204
169
232
219
129
159
130
210
175
115
187
169
173
161
173
161
201
164
145
202
209
243
174
230
201
237
221
255
154
249
174
225
267
130
227
215
146
258
129
202
189
254
171
240
225
158
156
257
254
146
188
253
201
130
186
176
235
215
115
164
129
146
186
157
190
172
238
192
176
149
200
200
250
208
193
200
182
156
227
119
190
169
191
164
162
167
155
155
129
169
271
227
144
258
175
242
155
189
216
210
176
122
196
201
174
248
184
201
215
217
167
186
234
229
180
129
201
268
264
157
225
193
165
188
297
171
303
180
191
242
278
176
130
213
206
247
129
161
161
274
129
218
202
158
176
222
217
230
184
204
179
173
164
173
168
239
149
173
164
212
203
170
293
281
216
187
193
199
207
130
186
210
248
189
130
193
184
184
155
133
179
206
184
236
168
177
200
173
222
209
185
174
195
163
160
175
207
143
133
179
188
174
210
228
226
230
212
146
230
173
193
261
204
201
213
215
227
207
168
157
211
129
200
288
230
206
151
144
201
207
176
195
174
155
160
228
129
230
204
168
250
236
168
150
129
221
156
145
234
226
195
220
160
185
204
186
210
239
205
197
161
133
181
220
217
203
232
205
203
204
184
178
210
227
176
197
168
250
230
212
273
180
130
192
313
129
271
169
173
202
339
173
219
217
180
191
209
158
202
165
133
222
203
279
129
208
173
173
210
258
191
145
183
200
182
195
158
208
177
213
188
152
204
176
270
199
176
288
238
274
179
235
130
236
192
182
184
206
204
211
218
155
171
205
181
161
217
173
173
219
143
217
174
166
155
201
232
164
130
204
171
254
187
210
168
202
214
201
224
166
206
176
234
158
187
236
143
186
129
170
194
162
167
149
128
171
185
130
197
256
230
201
206
227
182
223
242
170
227
155
183
129
214
268
194
170
161
235
206
203
209
208
176
225
231
204
188
208
259
210
161
183
190
210
180
230
160
192
243
241
184
206
229
169
286
185
182
186
188
216
173
131
200
138
197
228
166
119
130
183
202
227
176
130
208
189
238
222
195
234
182
234
223
172
143
211
173
217
208
197
169
316
182
176
184
129
145
169
207
143
250
268
115
158
176
129
149
149
115
146
231
174
130
230
233
235
146
200
167
173
181
250
130
179
176
115
216
154
262
149
216
224
129
233
226
236
204
202
147
146
207
254
214
168
217
249
183
185
158
149
188
270
251
144
129
133
240
214
201
189
176
131
256
212
184
209
215
225
184
192
176
228
210
143
146
169
143
270
193
168
181
176
199
302
166
201
166
143
168
129
206
133
202
146
184
129
173
184
324
238
176
143
130
300
185
165
212
258
129
180
162
211
224
151
153
156
146
265
240
221
168
192
133
278
158
188
158
198
218
200
191
203
202
173
169
221
160
209
200
186
254
184
171
196
200
176
204
173
244
178
160
228
268
115
204
166
261
179
146
164
265
155
200
189
146
204
175
254
206
211
164
181
204
189
155
200
211
129
145
211
216
129
200
263
164
232
129
211
200
202
183
145
192
225
232
245
187
217
189
166
222
191
172
189
160
208
133
216
173
184
133
201
211
176
184
213
150
217
201
181
188
169
176
252
149
217
186
130
183
164
230
155
212
195
130
204
261
180
203
216
202
198
197
192
204
258
202
130
143
143
216
238
211
166
202
133
152
130
215
167
266
230
130
181
252
210
146
166
206
217
201
234
227
184
218
249
152
205
230
184
258
283
168
174
206
145
164
238
181
187
204
188
192
149
133
204
133
198
181
270
210
177
191
210
195
162
201
188
214
163
229
251
206
164
224
202
248
230
169
202
128
218
204
173
146
248
186
146
158
185
206
225
183
211
248
189
157
202
246
204
157
224
214
225
251
225
132
235
173
246
181
191
275
182
145
151
221
180
184
169
180
231
151
230
195
185
195
149
257
146
229
182
158
210
188
204
161
143
166
239
203
230
144
200
194
195
230
189
191
200
138
143
158
173
182
179
169
194
208
244
185
183
202
186
201
277
190
158
184
202
143
173
183
158
157
180
217
146
247
179
200
173
174
156
213
213
191
181
191
161
252
289
204
226
182
132
245
129
173
215
267
156
168
168
189
238
211
195
201
240
187
222
197
209
213
173
184
172
245
254
151
257
133
200
204
236
179
230
173
214
209
186
205
171
184
198
129
256
129
204
204
201
191
182
176
259
245
171
201
166
141
185
189
217
234
145
157
228
203
255
256
242
173
168
150
175
129
122
194
173
133
181
187
122
184
184
218
210
242
192
145
203
158
146
262
192
238
156
193
228
171
244
239
179
195
226
186
196
149
248
254
210
167
203
191
225
228
145
214
210
230
199
238
296
228
180
204
283
207
119
228
210
174
177
254
234
146
183
229
230
192
129
178
203
181
186
192
173
162
210
243
238
145
168
188
189
303
169
145
168
194
201
204
215
200
193
159
210
212
115
157
182
130
179
210
164
230
200
205
195
187
181
171
129
153
191
138
146
228
181
183
168
176
207
183
146
146
141
130
243
210
205
187
173
177
217
205
261
200
188
239
196
256
173
192
211
236
129
172
155
179
176
170
202
187
264
182
130
194
214
187
212
146
166
207
164
224
221
204
202
158
200
138
206
150
128
185
209
252
172
146
205
211
210
191
173
157
211
172
168
149
169
199
250
210
164
146
129
244
205
130
230
164
115
122
236
204
184
204
246
209
254
191
194
207
164
322
130
180
286
205
184
222
199
250
190
195
201
133
180
202
227
204
169
171
211
143
179
248
200
252
210
235
207
115
196
174
222
161
310
166
224
216
115
155
180
206
115
220
175
210
217
215
173
184
234
203
256
236
335
234
173
145
173
202
255
164
178
201
235
169
186
184
199
131
200
182
214
173
194
213
228
141
189
204
115
184
162
172
146
226
203
169
223
200
283
145
157
251
231
211
157
143
260
183
184
228
184
166
145
167
130
227
170
199
227
146
210
182
172
185
151
161
173
144
244
226
169
222
168
143
191
186
143
201
195
174
173
236
191
206
187
201
164
204
129
188
170
156
238
200
201
146
168
202
168
157
210
180
188
129
189
203
181
179
176
195
200
204
250
199
274
201
160
255
155
133
143
236
213
166
185
132
184
289
164
130
146
130
259
186
146
210
159
210
230
175
224
157
237
155
146
191
245
236
182
128
196
173
127
210
195
191
201
283
182
222
235
177
151
191
164
161
204
173
192
239
168
232
152
238
183
186
210
249
160
172
168
246
158
190
146
202
156
182
176
185
119
174
161
199
162
159
156
188
160
227
115
152
149
277
206
217
180
166
129
185
200
217
217
242
176
176
164
138
211
207
166
150
177
129
249
132
193
146
133
178
146
146
132
156
130
155
266
202
185
231
130
256
173
200
206
211
182
217
179
200
158
274
133
179
176
184
175
176
194
146
138
183
171
252
256
181
192
173
146
195
182
146
145
206
183
231
170
158
265
141
145
206
185
246
133
145
159
156
185
184
138
179
169
262
273
146
206
174
209
231
244
232
216
188
143
164
168
155
210
179
238
146
184
265
219
228
127
168
244
201
158
213
238
184
162
164
176
204
156
173
231
230
190
178
178
194
176
156
202
189
158
231
173
181
246
214
130
129
233
181
222
262
185
182
204
150
172
226
173
183
168
270
185
132
210
168
168
219
193
195
210
195
187
162
191
222
217
180
145
182
147
128
236
174
184
183
203
211
173
176
179
213
178
161
175
170
240
176
195
255
201
150
192
191
143
172
153
210
129
185
217
168
158
250
212
192
250
164
230
204
156
231
130
141
185
216
227
187
191
152
218
210
150
231
129
161
222
115
238
200
236
184
171
197
159
199
152
221
128
173
211
143
168
176
233
161
193
246
146
181
144
157
221
211
210
215
177
238
133
254
217
222
226
173
227
225
158
122
176
204
122
130
182
258
211
181
175
130
239
280
183
161
215
162
261
217
168
214
191
202
224
188
220
175
214
173
214
227
183
146
179
205
322
168
221
209
249
199
160
243
129
322
217
173
253
115
129
173
203
198
156
173
194
174
212
215
178
146
184
146
133
159
141
208
168
219
182
210
194
146
151
162
228
198
242
122
129
129
133
192
145
265
166
185
115
201
255
152
176
180
145
129
194
266
185
217
164
141
180
176
178
229
223
130
173
146
176
201
146
215
141
183
217
143
167
250
200
194
128
176
227
187
202
246
200
265
149
176
181
129
181
244
314
261
204
182
254
164
206
230
254
185
195
228
254
170
168
222
210
286
186
188
184
149
133
174
214
210
157
143
143
152
172
211
129
204
182
206
206
219
145
207
184
221
187
156
200
176
190
163
189
185
226
129
191
236
164
187
164
195
173
173
181
235
272
226
266
181
129
162
220
180
217
253
173
274
240
239
218
147
173
222
145
173
187
164
129
184
156
195
237
252
218
146
173
242
146
129
206
184
221
168
161
141
234
204
217
133
238
189
188
238
115
232
199
191
210
173
240
238
173
178
191
227
260
214
141
222
179
177
162
167
183
247
180
162
204
149
247
182
173
161
172
164
192
149
204
129
302
162
206
176
128
210
199
188
129
208
221
205
146
179
212
179
210
133
227
181
181
179
133
179
141
158
208
164
146
150
130
189
202
184
156
178
241
173
231
230
180
157
193
251
146
166
171
194
175
214
133
190
232
216
205
209
173
185
236
146
157
173
145
231
216
261
188
188
238
217
204
216
145
202
200
178
242
201
206
214
199
201
197
188
162
130
211
166
264
231
224
227
176
169
232
155
239
217
238
179
189
173
225
174
166
203
147
217
232
210
182
155
146
228
173
211
129
261
150
188
129
145
128
168
176
202
191
168
183
168
173
214
173
133
185
213
150
185
150
152
202
168
168
230
162
129
146
130
197
189
165
255
226
237
182
122
156
224
233
185
176
200
206
200
144
176
195
183
160
146
190
190
180
200
173
173
186
230
229
202
208
124
288
228
171
196
202
173
293
218
280
176
168
141
203
260
173
167
189
176
164
204
133
204
235
179
131
178
158
278
166
160
189
203
204
335
190
138
207
200
173
129
172
192
141
143
246
223
145
265
173
215
202
115
179
194
128
183
129
240
169
208
188
212
175
133
294
210
181
182
152
262
192
205
212
251
185
155
202
166
259
241
214
301
176
211
259
158
173
175
236
217
206
180
228
178
211
214
129
174
170
162
200
179
234
129
184
129
133
179
167
161
164
236
237
189
176
133
163
217
145
189
222
164
192
189
174
162
164
216
184
174
208
231
173
184
264
204
172
180
264
160
222
217
201
159
129
179
183
161
290
250
176
145
168
129
197
205
199
204
173
156
188
213
144
158
157
201
174
189
146
251
164
182
183
204
173
236
129
129
183
287
127
208
187
180
170
129
230
146
211
205
197
196
241
173
177
273
176
182
180
176
166
261
173
202
188
200
205
176
180
226
173
201
222
182
235
236
203
200
133
218
146
161
209
191
130
167
164
184
151
220
204
208
195
191
242
143
209
161
270
182
129
198
115
177
217
151
201
217
204
215
176
178
209
186
201
182
175
256
129
184
146
232
272
133
189
179
184
172
147
259
130
236
130
160
240
173
202
156
253
186
115
212
179
192
166
143
133
224
196
173
143
168
231
145
129
204
183
237
208
145
129
163
133
228
206
201
261
244
183
146
189
164
202
187
179
192
184
169
183
168
211
221
192
228
189
204
188
166
130
186
164
168
164
145
244
210
239
218
191
204
186
122
146
145
153
217
164
207
210
217
160
155
246
240
166
160
149
173
227
160
176
238
145
252
191
222
228
160
156
225
187
252
129
252
201
258
176
296
197
211
173
254
178
233
212
260
266
247
227
145
129
130
335
263
257
245
232
201
201
178
176
214
173
200
115
143
210
129
205
252
195
130
182
244
237
201
238
225
236
141
193
179
151
225
212
210
144
176
173
210
201
200
184
184
164
216
130
176
184
224
247
168
187
188
182
130
225
204
211
213
173
212
172
130
255
166
189
146
261
155
149
130
146
240
146
183
261
198
192
227
184
182
168
193
189
146
261
166
242
274
201
216
145
243
216
206
224
168
133
206
145
202
150
204
141
186
248
202
215
258
227
178
201
274
128
264
203
313
189
158
218
180
173
216
271
183
173
212
202
143
146
180
216
278
130
176
170
177
201
204
149
264
198
191
163
180
146
162
211
185
189
209
190
143
232
146
173
155
144
227
155
146
168
183
209
166
183
214
214
220
231
146
254
325
164
222
199
115
171
229
173
272
246
209
185
208
173
180
122
129
212
171
189
238
181
176
129
178
184
178
220
176
162
202
143
207
173
144
143
146
158
249
122
173
146
171
115
241
152
230
133
201
129
169
264
158
168
180
186
143
151
145
232
179
317
193
176
253
185
211
199
130
164
173
168
201
200
184
228
155
184
144
179
188
171
166
182
252
239
195
201
200
145
200
158
160
129
172
115
210
174
192
130
179
193
263
242
130
200
168
193
187
182
224
168
206
188
185
186
174
248
149
189
182
155
205
130
172
227
221
130
217
176
195
303
227
210
184
259
210
173
242
145
158
158
202
150
216
198
179
173
229
188
115
192
155
156
226
184
168
184
224
186
221
178
248
257
185
231
191
215
246
162
169
145
207
181
252
265
270
210
264
179
176
259
194
216
214
150
270
184
201
130
247
204
218
225
161
218
212
192
205
158
170
296
210
199
129
129
209
143
204
212
168
155
222
212
187
179
151
198
192
168
191
247
257
187
162
206
222
256
208
182
171
150
194
191
146
239
119
232
164
133
149
230
230
273
241
213
187
185
130
195
230
143
194
225
204
206
210
176
163
211
164
173
130
213
171
236
217
202
203
217
210
203
200
250
130
266
185
133
259
164
174
215
215
130
218
179
180
246
198
258
170
129
231
265
130
223
173
234
232
213
211
143
207
200
263
211
200
209
152
166
230
192
161
222
150
207
176
201
287
256
187
201
146
242
217
188
242
157
221
200
173
185
231
211
199
204
155
204
227
237
138
178
202
173
217
217
168
180
179
259
172
217
204
201
164
239
239
248
166
297
201
215
265
169
168
143
158
236
175
207
143
161
237
246
239
262
130
275
204
181
133
208
204
143
203
244
223
234
223
146
273
183
178
210
161
226
179
210
146
168
201
202
242
202
187
157
226
146
237
130
219
152
130
190
248
130
158
171
201
204
214
204
199
233
183
218
219
185
221
146
217
129
164
188
201
191
176
156
260
181
206
183
256
180
164
184
201
201
176
194
264
231
195
129
180
231
130
210
191
176
183
230
230
201
215
183
211
160
193
157
129
181
196
207
186
156
133
181
184
206
146
228
202
192
255
210
202
188
209
175
181
236
155
129
258
130
251
246
242
283
218
280
219
169
164
145
130
207
143
143
239
132
173
240
238
189
233
150
149
182
161
161
258
214
200
129
241
188
164
211
146
210
136
132
205
171
200
129
238
259
149
265
191
211
129
216
176
168
203
143
180
266
200
146
181
217
145
256
174
221
245
211
174
129
188
218
267
129
146
204
158
193
145
169
181
128
155
179
210
173
217
237
215
133
168
115
217
164
263
190
130
197
133
214
200
184
202
206
211
193
158
145
153
256
274
190
178
218
208
162
201
169
183
206
236
178
213
192
132
210
215
208
217
319
181
201
232
115
146
215
192
173
217
227
145
178
132
190
188
183
201
221
188
204
191
146
217
194
200
208
169
175
204
214
176
209
218
173
182
172
204
138
173
172
203
158
206
160
261
164
192
162
230
178
173
170
150
157
168
130
238
214
231
165
215
238
245
179
153
271
141
210
164
192
179
249
129
150
183
199
237
176
209
199
181
197
162
219
235
161
188
169
179
146
178
188
250
236
143
179
169
199
171
238
215
216
227
249
164
238
192
265
130
230
146
269
179
146
130
201
143
266
216
133
167
231
162
146
227
255
261
306
115
196
249
168
168
200
267
156
182
130
264
217
206
191
152
165
198
184
183
227
208
194
185
240
181
225
204
192
174
204
216
153
173
199
169
170
206
178
159
179
168
264
130
257
199
198
239
220
227
115
225
166
179
172
179
164
146
173
141
217
230
183
208
200
162
176
173
204
299
172
227
220
176
196
208
176
249
176
173
194
228
242
133
162
225
256
238
236
186
129
230
300
200
160
151
242
216
168
172
162
156
195
155
178
248
141
200
204
213
162
232
192
191
162
192
173
204
217
205
235
205
133
197
214
228
173
234
202
174
138
238
194
259
195
207
188
209
275
169
129
253
155
129
210
294
217
201
178
198
181
225
198
210
225
201
176
130
196
267
186
165
190
215
221
206
195
231
145
176
191
254
269
143
242
210
174
146
149
167
176
158
160
247
160
145
133
230
186
185
201
187
146
244
207
146
204
214
133
172
192
206
200
129
230
231
186
129
191
188
179
181
212
164
201
157
153
167
204
204
175
143
221
253
228
194
160
224
235
233
257
169
158
129
185
173
204
195
201
195
184
179
174
171
138
174
210
164
173
210
130
129
176
181
215
212
173
179
261
176
168
228
195
184
181
250
229
204
226
211
232
202
230
172
245
230
182
200
182
141
240
240
195
130
191
236
164
129
171
204
196
164
146
183
239
158
130
194
244
230
205
237
211
173
129
189
240
258
180
178
232
198
213
255
214
230
254
138
274
185
150
207
178
187
202
291
173
181
217
145
217
179
246
304
173
220
179
202
145
194
146
162
146
164
173
119
187
178
180
210
273
201
203
184
130
208
203
200
274
191
169
248
247
185
169
214
229
141
182
201
195
193
137
189
187
179
145
186
173
220
186
186
176
146
223
176
177
218
156
189
204
197
182
237
162
146
184
146
208
162
203
193
210
207
269
206
184
178
194
200
144
146
186
217
198
133
162
180
259
217
195
178
201
150
214
200
203
207
201
161
230
173
235
185
223
246
203
223
203
206
214
185
204
162
173
180
205
146
157
168
169
149
246
182
155
164
141
173
149
234
152
225
129
130
166
180
214
138
185
165
200
184
166
204
147
149
158
208
262
191
176
265
222
236
242
244
119
187
225
220
176
236
146
152
146
204
167
207
191
199
243
144
173
214
202
201
148
173
145
200
210
182
222
181
206
175
249
210
205
197
237
203
209
216
215
179
176
303
232
224
169
184
193
296
194
217
184
213
198
227
198
202
192
325
217
206
191
200
210
179
128
146
205
183
211
158
147
204
237
172
130
217
115
233
196
255
202
115
252
168
185
183
162
229
188
185
224
130
172
203
132
225
231
209
217
200
201
237
210
158
235
150
246
214
204
249
253
150
162
192
180
182
115
226
204
230
229
183
178
187
203
211
164
181
199
127
203
183
212
195
191
202
164
234
158
179
231
191
155
153
201
173
239
202
138
129
256
217
161
183
176
185
236
115
213
210
285
157
167
168
200
190
158
164
164
258
173
231
178
200
221
179
155
176
289
216
182
115
193
200
155
162
200
197
191
174
130
129
256
173
130
205
206
175
180
204
173
173
182
193
133
183
129
178
133
217
130
172
174
174
225
149
184
205
129
229
163
214
152
177
229
211
188
181
217
146
211
215
179
231
216
252
143
211
164
216
176
188
180
133
180
204
182
129
201
176
188
122
273
130
182
230
204
251
155
258
277
191
246
294
129
222
183
202
203
226
156
143
164
188
228
274
199
259
206
161
146
195
156
133
203
275
279
226
160
168
247
211
318
198
237
182
243
253
232
204
157
260
115
179
242
129
133
146
175
211
162
211
146
230
146
257
146
217
246
188
130
181
171
220
191
183
129
206
180
232
160
259
216
242
217
199
147
156
210
209
130
224
290
146
207
122
191
232
152
189
179
174
202
203
254
158
186
207
176
160
130
238
222
130
204
211
198
153
238
210
204
177
185
146
233
184
192
187
138
223
197
186
197
281
299
198
164
198
188
130
225
201
228
133
162
269
198
157
220
217
254
255
175
200
283
191
171
230
201
225
195
201
200
192
202
191
157
148
230
166
293
301
155
146
141
191
222
143
259
129
228
179
227
274
215
186
130
176
169
146
143
240
235
227
162
228
187
176
192
259
183
199
168
213
238
213
122
115
231
193
189
168
185
194
182
247
186
179
276
262
217
130
235
225
273
168
178
173
195
148
197
133
217
179
255
232
250
244
173
206
216
179
185
203
219
169
269
209
152
129
210
185
159
201
199
225
185
249
231
216
273
194
179
174
184
178
299
227
217
173
169
183
233
130
251
170
176
216
226
115
164
168
166
150
148
187
275
133
227
177
201
203
255
214
182
176
244
202
162
251
201
283
209
172
172
188
242
153
200
223
164
184
184
246
235
130
201
129
191
214
140
158
179
201
182
189
222
227
188
183
146
237
248
146
173
200
210
176
277
188
253
206
187
210
129
253
179
161
197
179
173
217
221
236
155
174
180
258
178
161
153
275
115
224
186
172
221
173
130
166
182
229
197
206
180
129
146
185
198
179
208
234
242
186
230
179
172
146
168
151
146
203
210
224
146
130
161
228
158
198
180
255
180
162
184
149
157
173
210
223
284
223
211
223
201
206
150
185
204
182
195
225
204
193
193
179
168
189
133
158
161
250
129
155
178
168
169
172
173
176
204
274
216
245
233
147
228
162
146
146
210
200
143
115
145
217
217
229
266
200
281
182
280
246
204
176
161
201
162
194
179
215
219
144
252
219
158
252
179
201
206
149
178
148
177
162
147
188
158
129
186
182
324
150
216
128
188
158
209
230
167
224
129
160
167
223
191
157
194
158
266
297
146
133
129
263
228
185
165
155
195
252
210
176
194
225
230
202
173
164
184
202
146
129
241
180
133
209
209
181
230
226
176
210
200
230
132
221
238
181
130
220
266
204
187
157
189
115
197
221
202
210
143
255
228
229
227
183
168
230
155
206
201
173
194
236
189
226
176
203
168
166
277
204
179
214
188
185
129
204
191
176
296
173
168
147
242
130
173
162
242
185
218
201
140
209
178
164
200
189
303
182
201
210
133
115
165
200
195
182
182
197
176
208
174
204
266
145
191
229
204
157
225
211
200
129
146
202
211
115
201
216
115
204
191
206
204
212
162
171
200
173
158
201
176
184
144
195
238
204
185
146
150
129
157
146
240
231
146
239
200
201
193
145
145
183
194
151
190
188
173
183
180
130
133
184
165
169
261
202
183
176
243
194
246
163
245
240
171
173
183
324
164
217
239
181
217
165
240
129
133
155
173
130
250
248
173
252
188
258
184
184
236
122
187
128
144
129
231
145
204
173
129
237
172
211
214
146
230
217
211
182
261
129
190
184
222
228
224
173
282
192
230
178
211
170
191
156
210
178
145
222
176
200
230
239
227
222
122
179
219
228
224
204
176
182
235
185
206
229
242
210
201
250
221
269
179
163
219
209
182
130
183
158
210
182
186
146
261
217
259
130
246
232
218
145
158
130
184
210
204
176
183
144
230
252
146
156
256
186
173
150
171
161
210
173
218
193
130
130
255
146
182
178
227
115
173
191
183
168
168
217
214
270
129
185
197
230
239
174
147
251
221
184
210
183
221
200
204
181
195
285
129
189
194
176
255
225
182
162
115
203
189
176
156
192
147
189
129
228
274
129
216
210
173
307
175
146
168
235
200
141
252
213
210
216
183
115
217
195
158
210
240
216
204
209
211
200
169
201
130
150
208
254
201
155
185
153
177
262
129
173
181
226
173
173
238
164
158
160
130
162
167
190
179
162
185
181
165
179
145
211
165
168
146
226
194
185
165
197
179
146
208
239
173
122
130
179
210
129
182
193
180
231
201
204
231
130
146
222
152
247
145
217
238
188
202
204
225
181
198
211
167
159
296
222
319
173
259
219
216
143
188
187
174
206
138
204
168
263
195
146
217
164
202
227
179
224
258
130
208
217
129
201
204
198
195
247
207
195
246
130
243
173
246
230
160
222
161
217
158
168
186
145
189
192
190
146
229
211
204
146
115
240
249
175
205
204
173
176
182
195
141
133
243
143
182
130
204
149
194
175
264
231
228
170
176
200
176
244
241
224
191
206
153
193
210
162
236
239
129
172
146
194
199
180
173
216
129
205
251
231
176
236
130
157
129
179
215
166
222
187
191
230
141
225
210
181
200
217
241
173
182
222
173
201
194
192
167
157
218
182
154
236
159
201
176
202
153
182
130
300
204
130
176
173
172
226
204
168
183
130
233
242
217
197
270
147
230
199
227
277
133
174
129
169
184
236
196
206
234
269
200
143
211
201
150
196
246
215
130
185
203
286
254
129
238
242
146
206
184
189
217
164
191
239
206
192
206
242
185
210
198
249
143
146
164
231
201
243
256
166
143
130
194
200
265
146
183
216
211
262
211
186
261
211
179
236
214
183
215
217
151
146
207
251
197
255
198
184
166
261
198
206
237
164
182
192
218
133
152
133
133
184
168
258
218
168
145
190
167
211
191
198
187
179
194
245
227
195
176
210
146
235
210
173
115
231
186
230
197
143
175
259
239
281
226
155
281
173
217
210
174
141
186
218
258
146
183
212
204
130
211
217
191
173
130
146
140
251
214
145
183
146
242
204
215
221
210
219
222
176
129
199
149
184
187
207
264
230
223
145
157
183
236
261
204
130
177
180
189
222
188
203
267
217
234
194
208
179
224
207
130
163
199
238
239
234
155
179
240
149
156
143
171
166
181
204
204
171
211
292
256
179
115
251
138
155
222
229
208
200
162
182
203
187
176
273
197
158
158
176
230
206
197
178
190
180
187
255
170
204
183
275
164
173
238
223
237
240
207
200
214
146
122
144
129
236
158
173
184
200
147
173
283
185
115
201
221
204
242
170
129
244
239
222
156
168
217
176
160
183
248
179
167
209
173
227
145
184
189
182
188
180
173
146
149
203
244
203
129
208
175
143
133
186
261
149
198
155
187
164
192
173
157
184
210
129
262
229
236
200
276
228
172
212
201
129
115
204
204
263
194
210
225
151
219
238
250
228
164
181
247
210
200
205
183
172
227
263
195
183
231
158
141
179
184
160
146
210
230
186
165
239
191
210
179
159
130
129
225
147
228
144
192
132
185
191
215
236
189
193
200
149
199
265
182
244
173
169
208
231
122
229
211
210
130
184
260
195
141
191
200
173
179
172
226
221
236
200
173
146
115
211
145
210
122
194
144
203
176
178
200
205
192
272
169
214
217
173
164
206
217
202
204
189
130
146
221
246
285
133
175
185
211
206
158
173
210
211
182
204
208
146
222
190
133
210
115
194
131
226
173
173
242
129
203
186
192
204
254
179
225
234
294
130
160
184
250
271
179
231
197
186
178
248
180
213
161
156
246
150
143
238
191
240
201
219
230
173
173
182
188
204
219
156
191
217
215
157
202
174
210
228
162
238
257
204
147
230
227
164
175
176
155
162
132
216
231
209
226
180
217
168
249
211
176
176
239
251
194
209
204
182
162
168
141
261
217
199
219
182
275
209
169
217
201
227
203
198
157
200
202
176
130
242
157
145
228
197
130
159
144
214
158
183
205
172
212
164
265
130
221
219
155
202
168
220
204
217
215
234
258
183
174
242
237
211
250
164
173
232
181
187
213
214
265
224
211
174
200
182
263
180
176
170
221
183
184
196
166
164
182
220
214
200
238
239
156
283
208
221
130
146
173
146
169
199
203
217
199
162
192
179
175
217
188
214
170
201
157
217
205
238
167
201
224
130
130
195
210
176
278
179
222
184
150
202
173
169
177
216
168
300
115
183
176
217
158
146
204
245
238
156
193
151
203
162
164
204
280
211
200
145
202
189
129
181
175
202
211
300
158
189
217
206
122
258
115
158
201
173
171
173
174
216
204
276
243
242
231
211
214
192
155
201
184
173
230
205
210
221
169
208
238
204
159
146
229
182
184
257
194
190
129
129
129
145
178
175
255
203
175
179
188
258
287
201
168
207
229
173
173
129
229
146
190
143
238
184
171
130
178
159
178
202
210
258
173
191
225
217
195
176
173
155
143
194
194
197
201
187
176
169
132
161
195
240
182
176
178
172
162
188
189
262
200
146
181
144
218
173
206
194
175
168
202
174
287
201
220
171
235
218
176
205
165
229
151
216
188
335
129
146
236
177
208
253
208
183
179
182
131
133
226
187
247
253
158
151
201
132
129
281
183
178
151
192
168
252
202
214
149
182
145
146
178
159
161
200
215
239
204
145
128
181
129
202
213
203
184
193
168
171
183
130
223
188
169
160
228
133
171
181
219
164
210
188
169
130
169
185
122
119
209
200
221
176
204
115
185
204
172
236
204
141
179
242
143
146
217
164
206
185
182
174
176
187
212
170
265
132
227
218
128
275
218
201
199
195
133
147
193
241
200
186
189
217
182
206
221
220
178
217
204
173
130
177
181
232
222
203
234
146
227
164
115
211
182
129
173
153
200
180
262
190
156
204
162
174
239
115
233
191
175
192
188
182
283
210
133
168
189
146
133
173
133
210
219
173
231
182
153
225
296
183
184
248
149
192
185
155
160
252
186
223
149
191
188
209
195
150
248
217
226
172
206
130
206
202
154
187
182
257
186
212
173
205
141
166
184
129
191
172
172
202
208
219
164
232
184
179
179
225
240
231
173
204
184
195
252
152
230
206
236
205
236
222
163
157
236
191
184
227
248
218
225
150
115
185
192
143
182
245
189
222
217
174
200
173
219
200
183
145
115
173
181
161
173
248
242
184
179
146
204
216
259
204
146
156
224
200
129
229
162
164
177
206
174
207
176
172
155
181
173
200
164
197
185
156
184
204
146
204
184
174
115
202
212
217
222
153
184
130
204
186
228
143
208
206
191
203
216
209
217
263
237
174
222
214
204
180
224
155
169
204
230
190
204
204
238
211
191
265
190
210
146
217
176
202
231
183
211
130
218
146
189
201
245
146
215
237
235
217
245
180
206
184
180
221
236
189
146
225
146
115
182
276
206
146
181
275
183
214
172
173
181
164
178
265
187
204
130
236
141
200
211
179
221
198
204
221
202
161
166
180
192
247
202
190
217
265
210
162
206
235
204
130
215
145
119
191
146
146
169
221
182
220
204
275
244
300
133
254
203
211
160
221
156
168
194
182
210
227
180
150
162
141
198
258
141
238
216
202
257
162
194
182
278
226
249
173
161
173
173
195
193
183
193
192
201
227
188
221
182
217
173
191
143
217
212
164
146
200
166
173
184
202
245
202
206
171
173
229
158
190
247
176
185
179
241
212
187
158
265
119
176
145
186
274
197
200
151
200
172
197
221
180
212
150
197
173
217
162
169
133
168
130
197
129
195
176
226
147
219
200
256
158
184
222
197
183
174
129
230
168
228
130
173
180
138
146
210
173
155
216
218
157
162
166
163
159
179
202
209
133
150
184
160
185
221
183
204
219
176
188
141
169
210
217
206
208
133
172
211
180
146
124
181
183
128
285
144
192
217
179
212
162
249
227
204
220
175
180
159
158
216
184
230
254
222
164
204
141
265
138
249
205
129
150
235
170
182
193
146
259
232
219
197
165
160
271
146
204
165
301
209
229
158
179
200
160
188
211
222
225
226
202
162
225
199
183
243
204
208
176
230
180
191
189
171
173
128
183
158
172
204
258
192
220
206
197
146
214
202
138
178
146
200
214
129
228
130
186
145
184
119
254
176
210
204
168
164
187
195
168
173
158
195
204
208
265
216
240
212
227
207
211
147
223
129
130
122
195
130
181
158
216
197
129
185
262
234
256
172
195
247
132
169
176
186
130
149
201
276
133
146
220
277
209
232
138
173
229
181
194
260
264
166
217
176
162
122
185
183
222
200
201
266
200
293
185
208
245
184
172
164
215
244
247
240
213
218
169
206
130
147
141
263
215
204
179
166
218
176
188
185
199
238
197
158
204
242
187
176
144
129
195
162
179
206
180
219
192
192
212
220
160
194
115
172
181
217
255
251
162
162
209
158
179
202
231
185
237
182
192
129
189
178
189
185
213
176
212
215
176
192
115
210
183
239
181
160
168
217
191
177
238
208
217
174
149
206
198
204
232
239
244
204
237
156
153
227
185
204
200
143
130
178
283
158
246
130
158
258
202
210
168
146
191
160
129
292
208
191
179
262
152
195
208
224
236
201
175
157
182
190
150
210
176
168
209
182
209
200
173
182
186
212
169
200
183
211
191
180
148
225
198
132
187
180
196
168
164
173
212
193
210
243
218
143
239
184
221
129
227
219
250
217
210
251
175
239
308
141
238
207
158
164
200
293
129
141
257
180
227
262
183
138
182
204
168
173
115
214
163
202
242
192
253
216
146
176
201
199
151
130
143
182
217
184
243
191
204
258
204
158
133
133
169
204
115
203
223
170
200
211
217
204
227
172
171
170
184
175
143
129
204
173
266
201
254
210
168
181
173
188
129
160
238
206
173
179
206
186
183
129
247
214
130
208
201
115
146
260
239
171
183
170
196
169
217
168
182
296
201
150
258
166
201
176
202
145
200
146
129
182
191
179
115
189
202
210
146
182
167
146
206
200
228
176
220
143
129
190
246
164
177
164
176
185
146
175
200
184
130
273
158
221
228
191
143
299
188
252
176
158
175
258
248
179
230
189
212
195
182
133
217
181
210
206
128
191
162
191
211
204
235
158
129
183
145
153
130
184
185
204
205
190
187
246
184
254
200
236
218
173
171
185
176
184
198
129
248
202
132
164
222
154
158
195
222
237
225
211
199
222
206
238
146
173
184
227
164
274
205
169
179
229
174
238
243
129
221
218
204
211
285
204
224
213
159
205
130
146
146
156
152
146
226
237
190
141
230
224
133
208
146
129
157
190
230
146
178
156
288
141
230
185
206
141
187
176
199
246
171
158
130
143
176
202
183
228
195
210
195
173
132
194
184
201
181
143
166
226
210
190
133
191
195
209
165
143
193
240
261
259
164
205
231
192
129
201
122
157
217
239
183
186
155
197
155
146
146
159
281
230
214
236
173
129
146
216
233
181
225
138
217
176
234
239
216
183
168
270
178
184
202
192
230
195
162
130
213
207
146
227
199
234
204
178
204
158
192
142
184
146
169
217
272
173
145
122
182
206
213
207
217
208
173
232
193
204
115
228
204
191
229
183
215
256
190
202
239
201
217
152
180
146
230
319
130
233
190
180
190
202
258
130
180
222
241
240
171
247
214
199
191
128
228
202
166
215
227
244
173
299
214
204
183
173
238
216
222
175
152
192
163
210
162
181
173
245
155
209
173
151
189
143
234
177
192
168
184
210
219
188
239
234
205
201
146
187
239
221
146
187
202
224
193
211
187
227
222
115
239
191
184
149
155
175
169
222
225
180
239
187
246
187
256
160
129
199
283
146
194
184
210
185
220
166
178
192
144
184
200
179
146
270
204
216
235
145
235
216
129
245
178
207
159
188
283
129
153
133
164
217
236
173
274
301
174
261
300
238
208
193
187
173
158
236
199
217
221
119
238
176
182
187
208
170
199
173
130
164
200
173
155
181
207
168
243
150
255
186
195
143
146
255
222
157
201
150
155
236
175
283
173
232
222
192
176
212
262
143
115
162
153
201
204
206
153
260
173
203
164
195
171
194
177
237
234
143
190
172
194
146
182
185
183
220
183
133
158
252
179
238
268
195
155
181
194
176
141
201
222
188
190
205
299
249
138
150
223
217
211
129
155
145
146
267
184
204
146
164
227
155
179
202
176
152
225
241
184
181
164
249
209
181
193
222
172
164
172
164
170
190
238
130
203
173
190
216
183
175
201
129
148
211
205
133
179
195
210
222
161
204
141
128
160
170
129
220
174
262
141
157
146
151
297
187
261
173
265
273
281
194
189
230
216
255
182
163
188
168
166
181
203
236
138
202
173
256
228
287
201
164
173
177
176
248
184
209
146
215
161
164
189
254
168
146
200
227
157
185
119
201
201
173
189
187
132
144
204
228
187
263
162
173
187
196
149
164
247
228
228
221
236
266
225
182
161
129
190
143
201
269
217
170
261
169
193
193
178
247
174
173
283
156
227
145
236
204
217
130
225
115
166
115
241
194
211
212
201
115
122
176
256
210
200
238
260
222
191
292
146
207
185
186
204
211
219
233
184
143
173
122
180
170
201
254
153
155
176
242
129
249
164
214
181
183
164
222
262
167
304
217
229
129
277
195
209
212
214
129
288
236
236
182
185
227
128
145
155
164
130
173
211
173
129
241
173
236
119
169
146
283
230
210
300
174
237
204
208
188
204
149
162
203
179
160
227
173
155
129
172
232
217
199
183
214
206
204
210
188
208
175
210
210
258
146
170
262
238
204
144
175
190
217
139
171
156
184
194
206
179
159
129
216
146
133
181
202
191
183
157
129
210
210
180
202
234
183
204
212
229
115
183
183
164
260
303
176
182
201
228
244
171
206
184
143
238
250
145
164
242
185
169
189
168
204
155
236
161
224
204
236
194
184
255
184
129
164
146
208
172
200
191
176
164
185
138
115
187
158
202
244
149
201
182
193
173
129
129
238
277
246
183
189
190
154
173
223
143
174
191
180
226
222
216
205
209
257
130
162
208
186
160
162
275
210
193
214
210
204
193
176
204
254
145
162
180
251
162
141
206
206
217
146
203
236
235
130
202
122
145
179
176
182
179
203
254
147
204
151
166
221
143
141
229
242
128
149
203
218
199
202
191
115
236
179
168
208
192
302
169
200
210
187
188
238
152
191
253
217
251
160
202
234
273
115
130
178
129
183
231
238
225
200
159
133
214
130
187
195
146
159
182
197
150
129
145
264
168
242
235
130
191
211
168
201
162
173
181
226
133
195
231
179
115
204
199
251
192
185
151
192
228
146
212
176
195
130
174
145
190
228
156
202
176
178
239
220
257
165
202
180
207
200
204
173
207
173
230
237
173
185
328
161
222
173
217
185
179
203
182
145
190
222
162
181
236
176
203
153
217
144
183
210
218
158
277
226
150
182
133
213
157
217
158
204
222
222
115
133
173
179
164
191
210
247
245
236
141
181
230
195
174
174
207
172
115
193
195
215
280
173
261
179
331
162
129
183
204
210
158
132
238
130
179
161
157
217
184
211
195
192
243
173
236
129
283
176
157
229
128
201
210
211
287
158
143
213
184
143
242
161
182
205
176
191
197
184
210
292
231
162
151
281
122
133
198
149
182
192
199
180
171
179
156
222
225
145
183
264
223
198
179
130
187
184
182
257
207
271
173
187
202
247
181
186
204
210
177
155
246
206
184
181
180
173
257
141
215
230
129
297
299
179
178
184
179
201
214
145
197
184
260
186
146
191
141
141
252
143
179
186
164
206
168
215
236
183
255
223
143
173
203
179
145
211
138
185
217
178
150
176
160
180
215
236
186
168
191
122
172
199
176
146
239
202
186
187
217
204
237
195
164
228
254
184
287
188
173
265
206
202
214
204
260
218
197
173
176
190
122
202
204
217
214
179
201
164
214
200
143
184
185
130
174
269
183
145
192
217
145
205
219
187
229
208
219
146
187
160
183
166
180
115
277
145
249
199
145
226
168
196
267
157
213
162
166
130
222
143
168
200
167
153
184
171
169
214
182
210
146
146
162
129
239
299
294
252
141
193
217
232
185
141
177
173
172
197
145
206
173
177
209
206
335
119
164
214
168
191
213
221
188
166
170
132
239
185
202
155
203
191
164
156
203
258
252
202
184
217
130
264
133
200
176
202
194
180
195
238
158
188
173
179
172
156
211
182
200
215
205
224
182
194
175
229
130
179
158
186
249
176
200
205
192
230
186
238
226
204
158
168
234
252
244
176
214
178
191
143
189
176
115
169
199
206
206
252
160
122
176
210
208
173
269
176
250
150
146
141
151
191
133
176
268
259
216
173
246
191
216
229
132
189
246
169
178
237
186
204
211
168
197
184
183
270
130
204
143
205
230
143
189
203
185
229
237
303
272
198
171
122
200
176
210
202
129
178
255
183
122
168
202
237
228
168
178
236
164
158
221
224
155
192
174
176
129
201
187
173
268
129
143
141
227
158
203
204
248
146
211
158
211
129
206
201
197
219
153
210
173
203
227
133
234
230
215
195
318
245
208
168
203
168
200
129
144
174
146
201
244
147
223
145
186
275
169
249
211
173
173
197
236
183
159
270
166
209
228
156
129
176
156
287
183
146
204
187
217
159
210
221
166
211
176
246
178
129
288
210
195
219
210
169
210
162
158
146
179
173
179
226
165
204
211
171
141
227
211
210
173
133
161
162
143
211
166
258
187
197
194
212
145
192
175
234
176
223
138
173
274
143
179
244
228
152
251
215
202
264
188
129
239
280
255
175
186
171
150
238
222
201
168
176
271
145
143
199
129
225
158
234
129
230
168
130
222
129
174
170
158
157
211
193
184
130
228
173
220
192
147
201
236
173
196
129
250
130
176
167
177
228
182
211
180
208
204
146
173
130
203
200
155
171
129
160
182
145
191
130
190
180
210
129
129
133
188
186
218
203
129
209
209
201
143
187
129
168
258
205
130
209
129
130
164
197
131
236
130
202
168
274
217
182
129
176
302
129
229
239
211
201
192
185
210
173
210
199
191
201
218
217
204
230
181
178
168
122
272
217
214
158
195
209
170
212
206
133
198
208
239
164
201
172
173
230
152
300
179
195
171
211
175
206
159
210
190
164
130
209
191
145
142
220
150
224
173
172
150
212
169
222
190
236
212
175
226
186
236
262
133
158
210
211
239
214
270
227
174
138
155
167
175
211
205
164
157
164
191
231
261
143
217
128
233
122
231
133
259
201
195
173
161
238
157
255
216
249
130
224
200
186
230
184
179
186
129
176
249
237
129
257
186
178
149
162
200
220
238
130
155
183
145
256
165
192
144
158
130
149
170
155
185
230
161
195
169
193
299
202
202
160
147
149
205
176
229
195
214
146
144
130
182
279
192
204
133
158
146
192
225
181
217
236
185
147
176
167
210
246
232
188
161
204
246
210
251
218
164
146
157
180
146
239
264
239
204
210
203
253
171
185
180
145
284
141
227
129
217
168
164
190
244
129
243
204
182
283
210
157
259
128
176
162
214
173
149
115
129
205
173
201
155
188
183
181
143
129
178
190
163
173
197
177
204
200
168
158
224
214
130
195
273
133
205
173
202
197
192
189
192
248
129
156
213
204
141
225
170
162
230
198
129
200
143
228
185
216
188
195
188
233
158
200
235
237
185
245
133
156
141
183
176
217
173
173
187
296
211
129
162
141
202
218
237
174
164
154
138
201
219
222
248
181
191
145
282
212
191
209
254
281
210
199
192
218
252
191
146
180
178
200
183
165
174
185
173
202
193
171
150
162
150
155
201
182
143
234
217
188
186
202
129
170
129
257
283
184
173
180
130
191
185
189
143
202
228
166
170
172
183
133
193
234
168
260
206
187
173
228
217
217
199
201
206
221
191
204
266
217
189
176
158
199
207
130
195
222
162
130
246
157
115
188
178
228
184
217
185
200
144
191
176
167
235
237
171
173
149
270
161
129
192
130
157
219
191
166
257
231
129
119
191
193
234
211
130
184
202
211
195
210
179
129
248
191
170
264
263
181
173
273
146
200
130
147
188
115
274
218
176
179
216
133
155
191
201
162
133
255
199
198
143
266
208
229
173
204
129
204
239
179
239
202
264
194
147
145
130
223
190
244
231
130
130
160
210
211
168
204
149
230
169
173
144
180
190
233
210
203
197
155
201
188
210
169
260
201
212
255
146
197
258
199
179
222
229
191
225
197
254
212
182
115
279
260
222
227
175
168
169
237
203
231
192
156
145
156
239
115
133
215
129
240
198
238
261
179
194
196
238
208
230
157
213
141
205
201
154
211
227
156
210
193
221
129
183
168
184
223
173
206
240
143
155
185
199
145
160
173
115
216
208
130
238
181
169
204
193
210
176
191
223
300
162
129
199
238
169
173
182
216
173
221
180
155
178
164
176
192
206
211
201
129
210
242
166
212
160
225
263
168
216
200
203
160
176
217
195
204
187
154
234
146
174
165
251
133
160
192
328
230
173
236
178
227
251
161
133
212
184
228
243
222
217
170
176
199
177
211
238
229
198
158
222
166
180
181
130
192
176
241
222
179
210
203
209
239
143
206
200
146
173
164
176
204
192
191
178
233
181
156
178
160
194
115
224
164
190
238
195
211
184
231
173
186
141
188
176
207
167
193
184
129
162
224
146
183
175
248
146
150
173
176
252
153
147
145
265
170
204
210
216
176
204
141
236
262
185
129
204
266
166
262
130
174
206
169
242
210
204
204
200
175
186
143
188
176
163
164
217
158
166
144
234
204
145
195
245
217
192
259
173
217
130
259
216
176
204
166
146
225
133
145
144
204
335
185
169
167
222
146
184
115
115
162
173
201
206
175
178
180
176
164
146
188
238
198
164
235
158
153
244
205
182
185
195
228
145
228
164
225
236
202
226
122
174
153
164
231
195
192
210
222
133
172
249
205
162
246
229
262
173
176
202
211
198
173
168
235
221
218
219
259
156
238
234
202
222
240
193
238
307
129
271
129
175
321
164
204
130
174
178
184
221
216
257
162
162
189
194
176
209
179
138
257
210
173
175
222
227
222
182
167
190
335
173
151
173
204
156
187
180
217
158
234
179
166
173
182
251
271
194
228
335
133
179
182
201
192
209
231
193
214
204
162
209
217
129
170
173
199
163
184
246
227
149
156
129
193
220
130
172
130
231
144
192
230
218
162
130
146
198
249
130
252
130
186
210
293
218
173
119
200
174
162
184
230
263
193
156
196
270
195
179
200
149
187
176
133
199
173
167
146
233
220
255
158
130
173
204
221
198
210
232
191
161
175
218
150
176
168
200
200
159
275
264
173
236
194
129
158
156
195
191
220
138
180
157
188
227
230
201
145
191
204
229
190
184
155
149
201
156
176
237
146
200
303
201
211
173
204
212
129
223
262
194
208
234
171
145
160
206
171
130
255
227
184
130
168
231
176
144
156
255
183
210
164
176
171
211
149
235
143
242
189
234
229
188
146
128
213
302
221
208
204
227
176
171
186
202
224
254
160
129
175
217
152
214
130
138
173
217
179
266
230
129
223
226
156
171
197
204
255
183
162
204
180
193
217
173
179
206
206
168
162
146
176
239
209
151
129
146
230
216
187
227
129
191
225
178
241
173
191
171
129
227
204
227
141
204
232
189
188
186
145
283
238
130
245
173
242
183
162
205
222
179
199
221
220
217
150
184
237
138
211
130
206
155
173
143
178
131
211
157
185
132
197
150
173
144
168
184
187
129
194
155
281
263
176
186
174
173
230
146
218
146
201
179
130
220
185
209
217
256
213
191
192
193
156
169
162
195
129
183
192
214
242
248
189
164
201
146
244
258
199
130
212
176
233
206
186
241
259
206
184
204
161
232
175
185
259
163
193
182
230
262
183
193
191
257
173
183
159
204
168
132
210
205
164
173
228
184
263
166
278
173
217
219
162
129
216
203
252
272
204
258
188
129
153
132
268
247
174
209
202
206
191
200
183
210
223
324
211
156
222
299
203
182
181
176
212
129
183
187
115
162
169
115
254
204
161
231
245
195
210
251
133
229
184
201
170
159
178
133
264
251
176
161
185
222
201
129
229
176
162
173
183
173
216
189
296
173
129
176
181
192
245
237
183
183
210
207
129
173
143
176
158
146
206
174
170
282
202
146
146
150
175
129
178
273
214
226
229
128
181
167
176
229
229
171
231
179
228
164
239
146
243
242
168
168
168
146
191
133
260
239
182
249
155
205
231
164
247
191
128
243
176
150
143
156
228
201
231
147
216
210
176
217
217
189
180
231
173
160
234
229
206
226
200
129
216
176
195
155
183
220
246
129
178
170
215
200
160
176
130
218
230
227
227
225
155
193
189
218
163
144
200
169
143
229
182
173
211
176
217
243
129
221
297
133
143
266
200
221
204
263
181
151
146
180
240
180
235
204
156
179
172
217
225
209
254
221
204
130
129
164
225
298
168
161
146
173
196
115
184
173
210
211
174
115
199
164
246
179
225
242
176
202
145
190
149
146
234
250
225
168
188
219
185
221
186
155
255
216
178
201
201
268
130
133
245
184
167
189
178
274
221
130
228
230
238
119
156
202
221
238
200
262
176
300
151
195
242
204
164
149
173
184
215
168
155
178
176
217
229
244
171
166
230
218
209
184
206
209
181
178
191
175
146
229
195
254
170
265
182
146
176
129
209
168
239
200
162
204
130
207
179
191
206
145
146
210
143
184
195
159
204
200
168
237
166
181
273
158
129
248
197
230
151
204
272
180
129
192
168
143
191
208
295
252
176
203
164
173
203
217
200
217
182
132
201
159
145
186
222
198
227
172
164
214
238
254
201
185
187
178
303
214
234
230
171
211
218
195
211
179
166
198
205
129
161
183
238
164
242
146
210
204
210
160
171
146
237
199
193
260
165
204
226
217
181
204
193
172
174
170
172
240
285
270
193
173
180
205
222
197
133
173
214
147
204
198
198
214
321
231
176
156
217
129
250
222
219
149
236
261
155
202
133
115
273
217
200
287
130
179
248
237
173
180
162
160
204
202
225
129
211
189
199
249
244
184
235
217
234
129
204
239
143
185
188
184
206
261
162
178
167
159
130
164
182
162
141
179
203
146
219
204
204
190
254
218
146
190
169
229
200
228
176
214
178
143
233
193
233
146
130
202
146
231
206
133
160
201
146
176
155
204
222
230
226
133
173
145
211
202
250
129
168
204
239
150
162
246
221
130
164
149
179
256
204
130
158
130
204
208
198
149
217
199
130
122
297
144
246
254
143
158
129
258
204
184
194
215
234
200
173
173
225
192
176
237
146
197
203
138
222
201
160
204
225
145
273
176
287
194
201
169
201
173
168
145
161
168
131
133
133
176
236
219
202
230
277
146
178
211
262
129
239
169
224
209
228
175
180
228
168
228
184
162
129
175
166
234
145
173
254
274
176
248
190
133
250
154
219
259
201
183
166
188
185
229
184
162
203
197
173
159
197
150
189
146
168
203
212
166
153
209
184
141
230
172
210
204
172
232
200
212
259
130
138
180
145
183
188
168
162
182
145
182
129
214
132
142
235
266
211
174
221
195
175
183
150
168
145
269
147
181
162
194
209
228
232
173
173
184
176
164
146
165
190
251
191
262
196
130
143
195
263
163
149
204
259
227
183
222
231
232
237
225
204
130
160
175
185
166
168
145
133
153
194
145
204
176
133
205
176
158
221
164
201
205
168
155
233
115
194
195
189
239
249
239
133
184
156
230
192
185
158
210
179
119
263
162
201
174
259
146
181
157
216
141
157
174
122
182
273
158
179
201
228
169
203
207
211
210
129
146
174
213
207
210
166
250
165
252
149
115
149
234
129
242
158
184
208
206
157
245
129
325
239
122
179
173
192
169
234
184
186
184
197
201
237
203
218
132
133
214
158
176
227
198
215
177
236
212
183
149
129
250
170
187
191
173
229
155
173
130
183
147
218
273
266
283
163
178
176
192
215
133
164
183
130
201
173
176
228
115
185
236
197
143
211
179
149
194
179
188
184
197
182
231
195
179
129
152
187
206
162
189
146
204
133
233
217
187
200
210
173
217
188
235
207
264
177
205
169
169
162
197
225
194
204
172
163
204
224
215
203
194
169
171
151
180
150
129
178
268
228
140
210
173
294
207
186
247
236
183
141
183
230
250
179
202
152
202
176
115
200
176
129
173
233
115
176
145
156
198
179
182
250
149
237
211
138
190
192
256
191
155
162
202
188
302
217
143
146
168
129
129
130
146
220
173
173
147
173
199
173
207
170
185
240
146
211
212
138
221
201
212
210
184
307
129
266
183
202
192
188
247
261
130
186
228
204
184
229
146
129
213
151
176
133
168
161
180
138
221
145
146
250
155
162
180
249
247
164
173
263
145
130
190
233
133
227
133
179
187
210
234
236
223
216
230
213
176
144
242
176
166
158
182
230
216
133
218
187
231
130
217
179
263
146
224
172
191
162
173
193
167
249
169
167
176
258
185
236
195
176
129
166
212
143
195
194
130
192
180
225
207
171
240
199
290
200
161
257
145
227
185
166
181
236
204
201
188
212
192
214
133
180
184
156
168
230
191
145
115
206
231
182
176
176
206
181
180
159
230
179
133
150
183
284
191
156
193
209
129
204
211
129
158
130
197
179
174
149
216
183
255
189
232
146
182
184
146
204
286
143
188
184
146
130
179
162
192
169
166
141
173
129
122
211
190
228
205
166
225
254
250
229
146
115
196
158
215
222
162
226
186
169
194
224
216
211
313
266
172
162
222
166
210
217
246
253
231
179
178
168
244
173
176
178
190
194
209
191
195
253
145
186
149
206
210
238
200
185
173
238
192
200
211
243
189
244
235
202
133
193
210
146
133
218
130
172
203
294
222
166
173
176
173
168
248
185
162
166
194
174
201
242
128
175
176
233
153
210
233
218
201
144
202
258
132
217
247
158
150
158
222
162
191
197
234
191
230
201
209
287
246
202
133
217
149
152
183
207
204
199
178
212
236
149
169
146
153
196
264
283
143
130
146
191
164
181
175
190
238
209
183
191
214
147
115
168
141
161
170
184
204
129
203
201
146
202
164
129
202
182
128
236
210
166
162
222
190
174
156
222
149
166
159
185
143
220
133
129
152
172
176
150
149
179
227
181
178
189
204
173
157
177
129
159
190
178
155
230
147
335
191
222
226
203
201
245
195
192
211
239
263
153
129
222
202
129
216
183
185
191
181
238
188
182
169
236
209
204
184
207
169
129
166
156
179
264
204
213
168
204
145
115
115
216
228
234
207
115
173
149
266
180
132
143
179
205
250
141
222
184
149
195
191
129
191
145
145
172
202
204
202
254
179
155
267
162
129
195
173
146
156
236
210
221
169
129
215
270
215
179
164
209
130
173
176
248
129
228
147
186
297
219
167
202
183
156
176
146
173
209
256
204
191
212
191
155
231
204
188
149
203
150
202
213
129
130
182
146
192
253
217
146
209
234
176
222
156
153
182
178
217
176
237
245
169
179
288
177
201
162
164
204
199
178
129
239
173
178
183
214
183
146
175
146
230
176
173
158
188
218
207
176
202
270
122
205
227
130
201
157
210
296
186
232
133
221
130
143
245
231
230
145
178
265
226
210
207
185
234
155
160
167
146
178
180
249
189
264
129
202
146
173
230
211
173
185
181
176
246
182
173
220
150
245
228
172
202
206
182
194
173
287
129
230
173
160
197
180
252
220
178
159
147
172
130
201
191
253
151
169
138
176
190
195
179
130
248
242
192
164
146
235
130
216
169
170
210
204
139
144
184
205
158
146
248
170
221
203
164
129
237
200
256
180
201
141
238
260
263
129
181
238
176
129
256
130
218
167
188
144
236
221
215
218
185
188
214
211
168
158
176
191
169
245
180
178
158
184
191
195
145
234
145
173
207
184
178
221
189
138
201
176
183
162
270
194
179
130
202
178
146
211
202
204
242
212
227
210
247
130
239
206
190
207
184
207
188
153
204
221
204
210
169
265
146
195
229
133
204
182
173
173
146
176
194
283
228
268
168
172
171
157
209
129
133
181
197
252
143
176
143
207
242
189
243
214
154
229
185
212
267
216
181
225
193
237
175
202
143
180
254
216
214
166
185
164
129
146
248
129
217
258
184
149
210
133
173
217
245
172
133
196
129
221
232
198
182
211
177
169
183
211
230
186
115
209
200
206
168
119
184
236
255
261
146
237
180
209
130
232
168
167
211
219
129
175
191
210
172
119
187
178
220
252
162
210
204
211
149
173
161
179
225
129
216
189
174
155
146
183
171
240
191
164
149
236
178
183
253
145
162
173
209
122
157
335
209
189
182
229
182
210
184
165
222
210
146
214
211
214
200
184
176
222
115
237
185
133
222
250
130
129
179
149
206
233
179
263
236
146
204
210
247
129
166
189
193
210
229
213
181
145
172
198
247
200
217
199
162
173
204
258
146
228
169
213
221
133
178
130
190
146
257
168
158
191
161
177
264
141
193
171
246
298
204
217
191
224
218
173
241
255
201
207
197
256
194
252
257
183
211
204
230
263
215
241
179
201
176
201
227
181
232
191
176
210
289
173
234
204
129
156
146
209
210
204
230
206
236
133
157
212
209
160
206
201
260
171
199
190
231
191
188
171
178
129
234
143
205
178
176
200
184
177
199
182
268
262
115
158
169
130
189
252
168
160
198
175
315
201
239
182
300
151
146
204
173
211
150
200
203
176
161
214
262
179
130
129
132
204
161
223
237
205
162
161
229
211
210
212
220
199
195
173
264
182
238
227
228
204
238
215
176
209
182
149
146
155
216
246
187
179
178
143
141
146
210
250
206
256
225
160
184
251
229
164
184
211
161
190
221
188
302
158
210
230
162
176
158
165
191
133
213
179
212
187
183
141
143
182
156
214
257
204
180
161
145
222
324
201
296
182
204
238
226
210
232
263
189
276
133
156
241
190
304
249
155
246
133
222
201
183
235
129
185
146
208
151
182
129
173
207
119
176
286
255
129
198
167
176
191
146
141
211
168
228
200
173
159
185
221
203
146
287
222
201
239
210
182
171
194
158
178
212
173
173
168
141
130
169
173
264
221
201
127
130
152
222
161
178
162
211
176
211
173
184
272
129
164
238
303
191
200
218
210
184
203
157
204
194
210
122
167
208
176
263
129
144
133
142
247
235
155
186
223
250
179
164
159
129
203
187
268
182
184
193
149
300
191
164
179
236
247
162
173
165
201
204
143
236
162
204
170
202
176
183
194
176
230
184
133
119
207
168
172
174
206
189
188
235
221
151
204
206
174
226
179
204
222
173
220
193
133
174
138
184
201
215
214
206
188
203
185
215
179
155
203
132
150
204
217
203
187
202
204
133
169
173
164
227
129
160
189
133
264
170
241
247
188
115
192
146
178
160
170
150
191
204
129
210
203
263
209
129
159
173
188
178
206
130
207
239
145
182
208
186
150
164
133
176
201
202
128
184
173
180
206
165
183
177
153
254
141
147
197
200
222
239
178
190
208
143
130
201
163
221
146
199
227
240
186
176
205
203
173
172
225
176
198
244
276
141
167
204
169
225
203
157
173
167
186
239
264
235
195
130
261
225
143
183
246
169
158
205
173
129
180
129
164
171
200
159
229
191
175
138
264
176
208
265
164
187
202
178
230
173
236
202
185
164
166
179
176
247
183
217
335
141
217
152
173
255
149
281
274
176
141
300
198
219
242
244
236
194
214
122
146
164
184
146
143
227
227
176
176
246
152
176
201
204
193
200
183
190
203
143
161
179
208
250
162
179
193
237
168
201
168
181
163
256
133
194
187
184
184
180
133
191
162
192
177
274
171
193
178
204
206
133
129
115
214
185
186
210
190
202
164
265
177
210
213
183
219
176
161
194
206
264
204
176
149
230
196
171
175
174
221
192
212
238
196
182
177
166
203
250
180
181
218
146
185
191
204
158
242
299
213
175
232
183
210
150
204
130
160
145
188
201
166
146
211
176
248
156
238
270
209
176
238
210
205
158
176
230
210
164
184
246
173
256
192
178
145
200
130
214
169
146
239
208
267
146
158
130
246
185
176
191
193
188
259
133
265
289
244
210
204
195
210
179
215
187
211
122
133
166
162
182
227
245
194
132
222
185
231
182
210
179
146
145
149
150
202
168
146
218
169
204
180
228
162
192
179
245
187
216
189
216
215
230
146
122
158
198
249
264
199
202
130
178
213
175
209
180
254
176
201
151
217
210
234
220
178
235
174
130
230
179
217
178
239
176
248
143
237
217
181
187
167
188
210
115
273
244
190
221
168
218
201
133
146
168
146
204
133
171
157
156
195
155
145
141
247
176
160
218
160
267
182
211
178
147
115
213
214
145
187
182
157
196
158
253
189
129
229
204
217
129
283
240
173
143
201
173
236
173
256
199
130
201
201
171
199
217
181
222
236
162
171
245
160
187
192
258
174
179
243
166
158
181
151
252
216
146
210
200
164
151
194
225
167
115
149
218
199
214
231
169
251
143
197
217
179
216
174
170
146
223
115
217
167
183
190
237
214
258
194
221
157
161
166
199
311
149
184
174
192
206
149
182
146
171
206
145
183
195
188
131
151
143
171
197
166
168
163
205
177
206
168
245
155
244
217
226
274
215
180
183
182
195
187
230
194
133
201
204
262
266
228
152
176
186
133
141
234
191
205
210
255
145
205
167
178
238
247
197
209
188
169
150
130
182
301
214
202
199
178
191
225
184
151
175
165
261
256
147
222
156
149
230
246
157
189
216
155
258
209
176
143
244
230
185
129
143
230
242
227
174
130
164
168
237
176
263
119
204
194
209
153
206
210
183
200
181
177
164
141
129
173
187
130
260
173
119
201
209
133
210
198
231
178
210
169
209
202
222
191
191
197
255
196
211
168
239
234
249
194
231
146
256
182
164
176
204
256
145
208
204
222
219
183
229
180
179
155
194
220
187
204
184
244
115
130
133
122
181
169
169
231
213
183
192
228
208
208
147
282
195
128
195
168
128
256
176
184
218
233
280
294
130
162
165
176
191
203
162
130
238
180
194
179
179
176
231
179
195
249
209
213
130
176
214
239
242
228
200
168
209
224
184
179
211
204
218
204
185
168
217
205
278
129
227
144
238
230
173
238
169
234
151
237
236
225
230
257
210
264
204
212
173
281
176
218
176
190
272
176
149
186
205
254
233
174
182
168
133
240
150
222
230
228
247
236
178
202
274
252
145
188
178
191
204
179
241
225
155
210
232
190
146
184
198
181
184
188
204
234
203
199
146
189
145
220
176
178
160
176
146
206
169
225
159
178
194
215
217
201
176
200
173
217
183
145
211
164
199
217
187
193
176
179
129
129
294
249
192
202
184
269
201
141
205
146
227
191
146
212
179
172
168
248
115
201
224
182
214
226
278
169
228
168
205
186
174
217
180
182
183
227
129
145
231
184
185
146
194
204
199
304
203
246
183
187
210
192
178
160
143
158
201
180
178
235
251
277
190
169
192
201
189
196
211
215
223
250
228
249
146
150
238
156
133
251
235
184
182
213
214
204
162
237
252
235
205
138
204
209
211
211
238
237
168
160
177
195
209
218
217
178
173
217
190
199
207
176
160
204
214
187
204
151
214
202
258
225
219
201
193
197
179
173
282
238
238
145
208
179
176
201
241
230
262
169
173
195
204
224
232
176
129
156
242
216
227
229
201
188
245
205
203
133
232
239
146
161
302
206
146
192
179
292
171
268
201
130
210
168
169
221
233
179
206
128
217
205
143
203
231
173
238
257
236
215
173
162
206
225
193
179
129
144
171
185
179
115
200
129
221
162
167
235
221
172
256
199
161
171
251
166
160
202
234
184
252
130
128
143
201
200
274
173
204
144
230
220
130
179
130
193
129
182
181
115
191
203
199
183
152
200
234
130
197
207
239
228
254
188
176
207
184
173
246
174
258
229
182
204
187
159
182
174
176
173
191
242
160
204
145
187
158
151
217
156
133
248
211
169
186
239
157
128
217
178
146
180
199
214
202
150
204
212
256
198
206
193
146
226
223
206
181
161
188
307
221
212
201
173
294
160
164
170
203
221
206
122
160
231
222
150
174
225
189
217
237
209
146
130
212
217
190
208
168
168
201
180
236
186
195
204
168
133
227
146
202
156
200
248
164
210
173
168
178
237
160
328
130
162
167
236
173
199
192
224
165
182
133
180
218
174
146
144
215
201
252
199
198
184
132
129
143
204
130
176
188
255
154
264
235
201
157
228
168
245
130
203
175
207
194
115
190
115
197
226
206
238
179
251
219
176
176
175
176
207
221
149
129
241
134
129
189
197
176
299
283
207
187
128
249
191
164
159
202
176
190
236
201
202
187
207
149
237
173
184
257
129
174
202
211
209
222
133
210
130
265
157
174
263
167
180
161
159
167
210
211
184
253
164
202
129
173
181
187
176
185
224
272
187
211
211
192
208
239
168
143
169
255
160
156
129
191
182
171
234
231
232
179
245
204
182
236
146
190
222
202
207
201
129
130
188
160
208
184
227
144
266
251
238
228
238
215
130
130
199
184
206
164
129
195
258
182
141
239
225
146
145
210
146
146
211
133
204
203
200
151
256
212
187
236
145
179
129
192
182
182
183
146
207
143
223
219
224
202
157
122
164
173
213
197
169
236
184
191
212
258
190
192
255
168
162
217
173
164
162
155
174
115
144
199
252
190
162
211
288
219
252
201
130
189
212
170
156
145
207
271
204
206
300
160
176
239
158
160
212
225
195
188
129
187
138
239
223
130
229
217
235
193
180
224
174
183
238
209
115
222
189
183
174
188
222
212
172
183
176
190
206
206
193
256
245
166
179
213
191
183
145
174
176
214
234
183
178
217
150
182
210
146
162
209
209
183
231
182
211
173
130
130
222
297
146
130
200
217
164
168
173
246
273
245
209
222
168
178
210
191
151
249
174
188
182
183
166
184
171
259
176
244
204
176
230
211
247
236
168
201
155
129
150
176
212
194
149
200
173
229
245
218
175
195
156
144
158
238
156
151
184
186
187
197
146
199
188
204
162
263
200
211
210
198
119
138
182
129
146
177
191
242
192
211
213
229
191
176
287
164
138
129
122
169
179
229
190
122
203
211
204
122
130
210
243
129
197
175
228
180
138
165
202
227
179
191
167
207
250
152
164
128
171
130
178
145
247
185
238
248
182
164
179
129
280
206
182
166
129
229
166
162
194
219
145
222
253
184
155
180
170
176
184
145
200
218
209
193
164
147
239
122
168
232
296
204
182
176
145
234
237
256
249
210
210
183
242
211
130
146
143
242
192
133
173
208
217
204
173
129
204
177
164
168
217
239
149
173
199
184
146
195
229
211
256
181
191
217
176
151
185
184
208
260
184
247
166
200
236
176
252
178
274
122
173
210
299
210
156
161
227
243
152
190
200
183
239
200
202
127
225
182
238
300
190
130
172
173
262
263
144
160
201
160
129
173
166
192
190
162
133
146
259
170
183
130
146
164
156
164
209
144
180
232
194
145
132
233
192
129
185
168
217
195
158
217
262
153
176
210
146
210
204
219
173
211
156
209
133
157
209
216
146
180
162
250
182
227
200
158
150
146
201
236
302
155
242
230
229
211
193
252
257
138
223
260
194
145
152
176
226
189
207
208
172
210
170
178
228
181
130
146
133
138
177
185
201
229
164
202
146
130
158
173
175
256
164
198
179
182
206
182
146
201
197
189
220
200
143
209
145
227
203
227
200
206
228
161
143
222
162
199
251
173
188
209
194
149
207
176
161
122
234
201
231
208
146
267
171
157
143
227
176
145
259
230
221
162
262
176
226
176
238
238
166
202
180
184
202
158
179
183
234
145
146
130
236
224
140
207
189
200
194
192
227
185
226
217
164
229
197
168
179
204
186
197
209
175
228
184
181
193
212
158
197
249
210
183
130
232
161
207
187
200
176
146
199
294
130
203
202
122
130
211
149
141
146
156
173
210
168
161
145
168
273
268
158
212
146
150
179
161
161
214
200
173
204
129
115
184
203
149
240
155
155
202
262
187
205
175
180
115
167
180
236
228
238
146
176
173
176
229
162
173
176
178
224
138
129
230
252
247
234
138
207
180
264
225
185
225
159
234
177
217
192
207
129
129
173
171
202
164
151
130
146
198
168
143
191
185
232
176
204
209
195
168
146
146
182
196
223
164
207
170
173
256
133
160
191
197
199
236
178
205
179
155
279
260
235
185
156
247
194
204
155
217
210
216
259
256
144
222
235
204
162
220
185
115
210
171
195
192
252
211
217
177
200
190
173
160
204
287
158
208
153
230
127
203
335
217
175
251
145
141
198
173
206
143
129
272
204
222
210
128
150
184
236
145
171
173
208
192
204
181
181
180
223
155
201
146
144
115
238
243
151
255
176
180
288
158
183
184
267
129
204
146
145
228
208
178
230
155
176
239
192
242
157
190
200
183
181
211
221
173
145
200
282
217
200
129
210
115
234
217
179
200
225
176
236
192
173
173
197
232
210
155
204
133
231
213
258
160
144
179
129
176
179
191
146
166
150
167
249
258
236
230
200
179
184
129
263
205
153
190
171
217
156
176
236
202
176
202
115
204
149
190
143
188
129
221
179
115
244
181
270
211
191
161
174
173
263
191
172
238
241
214
176
175
171
175
166
192
187
179
219
214
214
182
173
191
207
180
250
182
199
234
146
218
181
185
163
253
188
227
176
146
207
296
201
183
156
146
223
215
194
177
202
237
173
204
187
259
224
221
207
164
130
211
169
204
250
187
236
164
130
204
210
122
212
141
227
259
177
211
214
217
232
181
176
161
178
214
225
202
204
218
178
222
190
171
171
130
159
201
162
208
173
115
217
250
195
115
115
233
222
209
176
239
183
300
204
255
129
122
217
236
162
173
162
221
249
162
216
259
133
182
284
176
211
129
210
182
182
238
184
206
153
185
156
182
129
193
146
227
188
143
185
210
200
212
224
178
146
146
204
218
130
251
180
204
183
212
234
196
191
170
230
166
222
224
200
166
176
164
138
149
174
130
187
168
145
164
183
145
252
236
237
145
129
204
202
201
178
166
181
129
145
179
217
221
185
143
270
254
222
145
202
173
224
162
211
206
128
200
180
156
133
172
184
239
243
182
248
191
173
190
303
217
249
188
155
261
176
251
227
178
209
175
171
178
129
306
197
138
149
216
242
191
230
158
244
206
219
225
206
227
235
250
222
247
244
187
153
201
185
174
224
130
184
217
210
225
207
228
183
146
184
173
242
204
176
217
176
204
217
150
210
164
132
150
133
146
247
143
141
193
205
236
166
176
254
199
156
183
156
204
178
158
173
253
145
179
185
183
180
133
146
130
168
207
175
162
173
197
115
161
182
235
129
167
129
239
216
157
264
194
179
206
164
242
176
145
177
162
176
256
130
184
173
227
138
247
129
176
329
216
173
180
183
181
160
146
200
203
180
161
202
259
170
267
237
143
200
200
155
250
168
186
184
191
179
133
215
270
197
149
173
162
164
222
189
129
192
229
212
173
199
166
201
192
180
236
252
191
115
246
201
173
265
248
236
156
180
205
143
220
200
146
251
164
208
221
217
210
129
230
237
236
300
220
146
178
217
300
224
193
236
165
190
146
144
218
200
209
146
212
256
204
191
222
162
210
173
182
164
189
201
193
217
210
211
156
189
183
177
130
292
197
141
236
166
167
130
190
201
264
192
178
115
201
129
262
224
209
198
236
225
207
211
195
209
219
184
183
199
164
176
181
230
202
242
170
173
183
149
204
199
200
179
230
275
146
155
187
183
186
208
283
189
173
184
247
234
239
161
158
211
176
162
176
188
129
232
185
167
162
144
184
212
212
168
179
191
268
184
307
146
141
264
204
230
164
187
145
202
185
181
168
168
177
239
283
297
235
208
152
186
180
189
321
191
134
172
145
194
177
172
215
119
129
130
232
115
230
191
230
128
184
187
164
222
176
130
154
195
149
200
220
240
221
176
234
146
194
201
211
228
115
146
240
173
221
160
179
189
204
201
141
128
184
205
213
230
249
201
251
133
230
238
201
143
243
181
199
180
191
173
145
164
150
205
185
172
199
201
170
251
269
223
133
204
248
204
225
221
115
211
259
239
202
228
227
204
222
184
151
176
146
273
164
170
176
115
179
133
143
197
188
171
211
262
204
146
138
145
158
211
155
129
210
145
219
133
133
248
260
162
262
224
173
204
173
168
141
222
201
193
205
230
335
226
130
156
153
214
210
201
261
173
138
155
195
217
147
211
201
241
200
178
162
184
235
211
252
246
227
173
203
192
207
130
167
130
256
215
200
179
192
204
198
173
195
146
174
186
184
189
191
218
204
210
141
199
138
173
210
221
211
176
162
252
170
203
217
216
269
229
171
129
199
171
174
179
172
206
180
230
164
210
173
206
146
212
174
164
295
206
173
145
263
234
150
122
208
156
183
230
203
168
195
176
273
146
222
230
180
214
144
160
181
236
129
192
186
173
212
115
130
162
212
185
133
189
214
189
143
209
232
241
232
133
179
129
178
210
173
191
141
176
183
160
226
238
215
146
145
224
179
172
130
181
185
191
166
238
143
239
164
130
204
146
176
203
268
154
145
230
234
287
264
212
170
202
150
144
129
181
206
254
152
189
167
222
204
173
132
196
176
184
146
160
210
168
167
197
176
197
168
130
248
184
156
129
219
158
204
187
198
130
171
201
237
188
214
186
203
186
177
148
211
184
200
207
217
176
210
202
217
196
153
158
233
204
146
179
181
200
192
164
185
252
173
232
204
184
190
173
130
157
236
217
189
264
143
222
182
236
234
149
259
206
178
212
164
167
184
155
195
205
115
214
204
162
265
129
217
246
202
236
161
157
217
158
217
277
193
226
130
155
207
191
173
216
195
143
164
119
185
211
143
194
115
144
202
203
175
168
256
283
143
179
204
182
195
204
162
201
191
228
173
207
183
217
178
238
217
230
183
172
150
265
141
173
145
186
230
171
192
176
178
158
173
201
262
163
256
173
221
162
192
180
183
141
260
225
210
171
202
199
246
239
193
191
164
253
203
182
129
180
182
173
224
229
130
182
182
164
146
156
130
188
230
199
183
304
176
283
146
167
211
231
196
184
178
176
204
256
269
138
163
179
258
166
221
182
133
230
182
180
197
196
173
274
182
145
207
129
133
204
191
180
321
182
130
224
161
293
201
130
181
200
185
234
200
272
189
181
175
254
209
188
218
211
247
178
165
198
129
283
267
212
185
187
227
167
229
181
225
217
166
201
200
193
188
211
222
215
228
202
204
191
163
204
239
266
201
229
185
168
149
205
251
175
162
161
168
133
201
149
216
236
195
207
176
276
162
230
129
143
197
177
145
243
274
205
185
195
173
180
166
186
178
176
144
247
162
232
217
229
151
178
191
211
204
204
130
146
204
192
214
172
222
276
178
202
173
191
202
201
175
178
180
184
220
129
156
168
173
236
201
165
170
184
230
214
204
145
181
206
208
155
184
211
183
252
262
236
258
167
204
186
232
190
239
141
201
213
129
146
176
237
166
191
294
246
187
195
169
190
183
249
168
263
176
133
182
269
130
196
159
164
214
242
197
191
181
221
165
143
130
238
129
195
155
194
191
297
194
176
193
156
127
202
232
189
191
210
200
183
217
181
210
283
202
183
214
256
178
191
192
200
161
185
115
255
181
149
208
176
203
212
257
187
133
160
195
204
196
242
166
211
211
205
146
130
230
210
181
188
267
162
172
198
158
178
181
173
187
168
179
264
248
294
145
162
219
167
206
223
170
173
207
273
253
145
225
173
190
165
176
175
150
146
146
176
129
184
254
229
185
176
325
189
214
283
204
149
188
214
196
218
176
228
138
232
254
143
185
190
176
204
197
145
232
193
214
208
174
210
200
226
204
256
246
162
169
227
216
204
208
230
252
231
182
173
191
176
194
187
223
169
291
213
216
206
173
179
173
173
206
213
182
130
201
178
213
182
194
209
191
230
196
143
211
192
176
194
222
230
201
156
238
191
256
199
183
176
209
138
152
211
193
188
210
242
227
167
164
208
146
200
268
252
145
176
217
236
165
176
193
229
179
160
227
221
207
280
137
227
257
158
254
168
182
238
235
189
145
250
145
173
158
168
183
229
226
216
229
210
201
214
184
238
210
143
214
256
201
206
129
172
179
219
169
208
200
185
203
222
208
212
259
151
176
164
217
145
165
248
176
138
147
156
192
115
182
149
173
202
158
186
254
214
164
184
176
181
137
180
173
236
173
146
184
172
186
129
164
249
192
162
239
143
145
192
146
186
179
280
171
122
250
295
133
248
130
195
187
166
217
261
189
206
200
227
158
219
146
200
197
146
176
192
150
165
217
182
141
264
146
182
119
167
192
191
129
146
275
133
185
176
138
130
191
227
261
146
174
129
132
194
199
133
254
172
184
164
130
156
169
169
152
170
167
164
171
156
182
151
211
166
129
183
212
194
204
156
207
183
203
255
208
283
234
162
165
157
180
156
184
210
234
190
179
243
204
169
158
115
158
189
129
178
182
225
189
274
242
184
146
230
201
209
283
146
255
297
190
212
199
217
168
216
210
181
202
309
178
210
146
210
182
244
200
257
146
145
195
207
145
169
115
162
213
240
204
232
261
200
153
213
190
194
146
283
172
210
200
173
115
211
161
175
192
115
166
229
276
208
217
184
162
257
182
226
149
173
210
176
272
173
207
233
199
180
186
260
178
173
146
187
203
129
168
181
181
213
287
218
241
202
187
129
204
291
240
145
187
176
205
207
183
300
171
165
210
210
217
158
143
166
177
232
253
221
173
209
235
158
169
201
198
176
256
234
180
180
275
173
129
205
229
256
242
170
200
189
168
132
129
236
177
190
260
310
182
187
204
215
225
155
129
194
194
235
206
194
184
198
163
130
129
226
180
169
148
206
208
220
193
192
146
197
184
214
230
143
275
202
173
228
174
130
227
129
214
225
115
133
176
115
231
179
179
241
167
254
164
178
198
183
138
146
235
228
220
133
256
231
212
180
169
210
222
213
129
181
184
183
165
161
191
210
152
162
156
156
145
184
220
214
184
210
171
202
260
192
173
210
128
208
163
199
210
233
176
169
212
161
204
130
210
138
243
206
189
201
207
206
168
173
226
180
210
132
169
224
222
162
238
214
188
234
219
189
179
197
209
221
222
157
128
146
130
143
210
207
198
162
254
175
167
162
199
244
254
152
163
186
197
185
245
129
300
170
178
194
224
201
202
204
115
185
177
217
173
143
144
239
183
173
220
210
131
173
168
129
169
203
242
210
204
209
195
201
200
162
156
228
227
173
198
163
209
183
145
173
187
183
183
204
174
222
204
129
143
173
207
184
234
172
149
265
222
192
178
217
230
163
155
164
168
234
253
166
158
156
115
221
173
296
129
161
191
210
218
201
211
189
170
161
156
146
145
179
213
278
157
189
178
193
277
189
226
230
199
179
190
221
198
271
129
183
206
184
129
210
182
167
206
146
158
158
188
127
237
158
132
151
194
217
146
133
325
222
198
172
160
173
129
180
265
146
202
212
204
195
190
171
201
186
138
216
278
204
180
195
222
158
187
298
147
237
133
155
207
216
237
166
191
216
162
249
171
184
173
233
164
217
221
143
204
273
189
262
186
159
231
242
180
169
168
280
185
176
138
305
221
168
211
193
182
235
153
158
182
191
131
156
206
182
222
228
198
244
172
263
192
128
236
181
202
173
221
162
146
211
220
151
165
185
158
208
195
162
236
217
202
228
173
156
246
195
173
166
210
174
176
155
167
202
173
198
182
201
194
144
283
172
173
210
132
234
158
204
225
237
210
212
176
234
259
215
193
130
204
180
217
179
155
216
158
236
129
204
226
189
221
158
130
162
201
176
227
183
191
145
212
194
328
174
203
188
225
208
150
160
208
215
193
172
180
200
144
130
184
191
203
129
261
205
194
186
141
236
130
200
229
186
195
219
176
141
178
191
228
190
176
169
229
173
202
177
335
204
238
187
133
187
170
230
303
173
204
219
179
229
247
260
250
180
179
176
217
191
115
291
209
130
156
204
154
162
247
133
164
185
225
157
173
168
210
206
182
165
224
129
146
160
217
213
200
130
173
196
145
129
146
129
138
174
235
183
201
264
264
173
146
146
197
244
205
164
204
204
187
174
189
230
115
146
201
186
232
132
179
207
212
129
200
169
162
202
257
158
204
129
176
181
174
236
145
144
210
176
173
190
184
188
270
157
239
185
158
129
206
150
213
200
211
156
157
245
238
260
208
166
211
284
143
213
122
239
168
174
199
168
146
240
144
145
236
230
178
182
214
239
274
203
176
234
191
148
228
183
210
129
146
210
157
231
225
231
179
222
146
210
254
217
217
197
130
222
129
255
210
195
221
133
170
211
204
235
165
146
217
161
174
221
130
252
195
195
164
176
200
176
217
162
141
188
199
168
268
184
201
180
258
221
184
176
188
186
219
203
225
183
222
189
182
210
204
242
214
189
222
182
176
274
161
173
173
216
211
129
160
184
129
130
146
211
256
212
180
212
173
186
204
232
173
210
230
189
132
129
180
178
219
210
199
130
181
144
203
168
203
175
176
246
145
156
149
256
258
158
184
217
182
168
239
227
197
232
176
225
153
231
150
232
269
176
197
232
204
115
191
156
162
202
213
241
226
143
197
252
161
170
173
128
168
169
222
218
145
219
133
122
183
266
129
228
129
199
146
216
228
204
211
204
245
181
225
146
208
173
203
217
206
193
164
194
229
130
156
216
160
246
260
132
173
182
202
146
260
157
270
182
173
192
223
225
229
214
130
173
252
217
210
187
145
239
264
191
158
179
208
130
156
217
237
180
176
195
145
222
251
143
217
286
249
215
179
162
173
173
157
230
224
176
173
141
211
191
216
254
132
204
176
185
169
229
176
235
141
270
198
262
236
173
216
199
204
262
222
217
178
182
167
129
166
199
239
200
216
173
155
174
129
162
158
208
303
172
173
173
292
191
183
199
186
219
162
239
198
252
209
247
204
130
173
176
230
145
175
174
210
212
225
203
184
201
188
219
133
152
169
130
161
212
203
129
176
191
266
254
185
217
173
173
229
197
215
210
176
173
176
122
216
166
149
168
176
181
235
129
252
146
173
211
160
153
231
207
216
176
200
130
180
200
234
115
233
184
173
138
335
161
226
202
186
162
259
205
141
270
284
205
273
146
174
146
206
145
208
229
181
173
229
200
188
235
225
168
201
176
258
224
198
200
194
274
156
149
212
182
171
200
129
189
236
264
185
180
237
201
238
192
169
168
203
164
204
178
246
232
353
192
195
201
238
186
168
180
170
191
251
176
169
205
247
249
179
280
200
199
157
203
181
236
167
173
227
146
175
176
204
205
185
187
212
237
241
229
188
168
238
300
206
181
129
299
277
236
189
208
158
161
129
240
145
182
129
164
204
190
219
173
220
287
145
179
200
164
146
204
156
283
181
249
225
256
176
173
160
222
238
183
201
176
161
129
156
229
223
235
182
184
227
185
210
133
262
162
185
204
214
224
210
222
138
258
169
230
129
173
162
222
151
260
180
214
190
182
115
212
176
173
208
132
201
247
144
204
237
204
229
162
183
167
191
200
205
182
254
165
264
192
182
204
184
217
185
231
201
129
146
180
204
227
200
217
185
204
160
172
217
129
195
204
179
247
214
185
155
201
205
179
217
188
207
146
202
144
189
248
129
129
232
226
191
179
191
185
143
231
145
204
174
171
160
211
194
157
227
211
160
211
217
248
179
146
183
138
229
178
196
230
115
201
173
181
195
197
204
233
198
223
169
200
247
179
162
211
176
176
210
129
151
219
333
215
173
138
212
208
203
200
186
164
267
204
208
130
177
268
222
191
128
232
162
176
201
210
236
237
242
174
178
149
211
130
256
133
155
130
168
182
146
202
153
190
246
248
202
145
160
171
146
171
199
175
130
150
150
190
205
222
227
264
222
250
132
200
190
204
212
238
218
130
226
130
130
199
141
232
158
196
130
279
158
233
191
204
218
183
179
169
239
143
258
175
129
146
172
204
212
203
230
237
128
163
162
240
208
247
155
173
320
168
179
235
182
253
277
131
236
204
211
183
244
200
157
143
189
129
182
183
226
261
217
162
227
200
115
203
254
203
183
170
264
215
171
239
185
217
194
181
168
248
182
307
180
206
180
119
173
174
146
176
238
152
155
210
115
187
211
215
194
173
208
204
287
165
153
256
230
144
173
148
235
197
194
187
129
180
177
191
152
158
238
169
164
273
257
183
130
236
146
261
177
179
182
189
190
174
206
211
239
173
208
202
174
129
202
179
164
250
129
189
179
155
239
230
160
200
197
199
179
158
256
244
162
201
189
255
143
162
176
173
204
130
210
174
191
226
173
152
176
176
225
145
130
146
146
158
115
237
194
218
308
193
203
202
229
181
201
150
201
164
194
146
129
146
164
202
115
162
180
190
228
190
231
115
169
184
162
158
159
189
182
176
214
221
146
231
143
150
176
129
204
195
115
171
210
129
224
211
211
303
230
205
264
173
156
195
264
185
270
176
214
239
155
208
187
148
180
162
229
173
180
179
209
204
168
217
236
178
170
173
216
173
143
189
161
200
198
158
133
175
242
295
200
162
182
152
222
160
146
202
211
210
204
203
204
179
203
179
186
179
217
263
219
244
193
130
248
202
212
214
202
191
218
176
183
183
192
213
196
180
227
180
191
210
168
228
166
335
143
200
129
201
183
180
143
206
182
236
248
221
211
179
129
200
229
230
218
145
184
155
130
143
255
153
239
176
178
162
274
181
272
242
173
200
229
212
128
162
203
210
183
235
283
128
175
163
229
259
129
166
205
147
163
161
211
151
199
183
186
251
146
155
193
221
217
166
133
171
182
129
197
197
204
133
247
143
122
164
137
176
206
217
122
194
210
210
180
144
115
192
155
201
236
184
166
184
185
143
115
204
145
174
222
192
173
238
167
214
188
257
144
241
199
129
258
141
156
144
168
216
251
178
198
218
184
185
156
185
314
209
253
242
206
216
146
172
195
204
216
164
179
184
168
158
173
195
209
206
145
240
240
174
201
252
173
179
228
146
189
186
214
173
164
225
174
205
164
133
242
176
186
200
144
183
204
217
171
130
253
178
128
206
238
264
133
217
168
187
155
173
195
194
244
133
129
161
206
163
210
146
194
201
226
250
146
168
241
192
226
183
146
181
176
218
231
246
202
115
191
238
146
188
206
217
204
260
141
230
168
224
175
175
164
212
175
172
200
180
193
173
204
211
188
181
129
130
195
232
128
190
192
129
146
266
153
261
222
143
175
210
144
204
176
191
195
153
245
133
158
201
145
216
182
296
188
172
259
218
168
201
177
203
204
146
158
200
170
158
176
231
208
273
205
214
200
162
164
130
258
146
209
236
162
200
193
156
174
225
201
204
196
205
215
129
187
198
201
200
187
205
229
226
205
243
161
189
236
128
175
208
149
149
209
210
145
218
180
186
146
230
181
247
130
250
133
145
226
158
130
187
191
264
206
172
227
225
185
158
200
179
182
211
173
208
173
166
169
179
194
178
180
115
235
149
129
235
230
237
189
203
129
173
185
162
244
249
174
255
229
178
156
141
231
200
176
133
214
179
181
216
155
277
176
208
199
194
192
180
177
173
192
249
122
230
173
129
206
236
231
202
171
155
133
186
155
187
259
281
168
194
192
237
156
182
220
230
184
162
204
236
204
182
261
172
178
185
283
156
181
223
143
133
183
174
260
164
115
205
218
242
206
138
295
188
133
145
236
215
190
190
274
204
236
146
227
129
156
158
145
146
260
236
182
258
211
239
145
143
166
333
205
299
252
236
178
175
227
171
220
217
214
160
233
173
119
264
145
228
143
191
230
252
228
122
256
130
217
206
272
188
158
160
179
182
173
195
217
130
182
168
254
242
255
129
261
198
261
182
195
190
209
143
242
212
183
180
204
242
171
231
250
143
234
170
247
200
188
171
181
204
206
210
225
188
194
128
227
186
204
228
197
176
204
231
129
220
272
247
189
184
271
248
245
241
265
129
150
194
202
173
188
193
202
220
173
207
159
247
204
182
168
130
182
205
179
217
210
179
129
217
184
164
191
195
191
210
204
203
155
211
214
155
214
176
201
133
248
214
248
215
179
181
257
162
141
217
176
214
211
259
234
180
115
115
145
227
161
204
225
201
176
259
204
115
256
115
191
145
174
130
180
163
199
159
163
188
122
130
201
196
184
162
217
228
232
198
204
180
156
219
210
200
219
208
183
171
187
187
164
210
173
168
174
209
228
176
162
158
146
184
243
158
168
231
230
230
190
173
163
155
191
245
287
150
143
228
227
202
180
157
162
129
182
268
260
164
225
129
239
263
210
217
210
217
181
158
230
211
157
236
242
158
231
233
185
191
129
170
177
191
173
129
208
181
115
264
252
191
207
187
181
173
171
176
251
247
236
192
161
181
201
229
186
172
204
229
189
214
159
247
129
200
261
146
238
204
227
192
130
208
241
190
133
164
215
130
241
173
306
204
213
224
155
242
236
218
233
197
230
208
211
179
146
234
243
200
146
238
217
151
197
182
132
210
176
235
178
243
200
178
225
178
173
155
228
179
131
193
204
205
246
181
130
146
130
176
234
210
204
222
165
248
224
189
214
182
133
262
174
206
158
170
211
213
171
130
144
173
173
244
157
203
230
202
248
176
115
185
165
180
261
149
209
264
214
250
212
168
174
201
180
197
185
239
214
180
210
205
216
173
146
161
265
200
239
166
129
133
230
222
173
186
203
166
199
185
185
277
219
188
244
137
129
200
130
184
144
254
204
130
195
252
236
209
227
187
156
180
278
235
182
191
173
178
162
183
173
145
218
192
204
198
246
197
179
130
202
184
209
193
164
143
164
179
210
183
145
212
255
211
173
187
211
164
174
218
237
160
205
272
224
253
177
293
156
231
181
156
152
218
189
223
194
165
164
157
173
200
130
146
217
164
179
145
217
200
302
209
204
231
182
176
173
279
217
164
191
145
244
225
179
164
158
152
175
214
188
215
176
224
122
236
156
200
178
184
192
199
128
146
173
241
204
158
176
179
145
138
209
246
168
184
196
173
236
213
210
176
250
282
168
216
190
176
129
179
143
180
145
210
199
202
285
150
156
211
221
238
158
130
214
210
155
210
130
179
169
162
185
129
236
231
191
211
206
130
261
191
186
217
130
129
197
191
209
206
223
176
179
230
265
188
250
253
166
173
210
200
146
184
165
173
317
115
261
204
119
188
256
234
203
130
204
191
198
252
217
217
210
177
183
209
174
211
201
193
156
251
207
160
234
178
231
255
238
201
176
234
178
261
247
179
171
205
188
145
130
194
183
192
242
157
216
157
180
164
193
161
219
200
204
227
129
233
176
183
173
181
204
164
130
164
250
184
161
185
138
210
252
188
175
254
239
176
180
164
173
152
193
191
206
183
195
160
217
225
184
230
211
130
176
202
195
168
178
180
265
259
285
216
183
169
175
195
137
191
145
201
133
206
174
200
239
144
241
206
178
249
167
208
242
187
173
158
209
252
156
181
189
162
231
237
173
155
211
202
269
209
173
149
283
213
187
236
242
129
254
193
165
203
156
244
181
238
204
190
183
213
200
221
208
206
217
300
184
274
180
145
195
201
234
172
145
122
168
180
115
177
189
155
240
176
216
175
207
146
281
158
161
204
115
174
132
236
173
217
265
174
204
231
160
177
146
183
221
232
229
146
219
197
185
133
246
170
238
214
190
222
146
203
145
162
211
173
211
234
246
161
240
122
261
129
177
159
160
245
175
200
166
167
247
277
217
146
115
210
146
146
184
262
266
231
189
166
115
273
214
173
216
185
189
225
180
191
129
200
230
183
253
164
150
162
183
194
265
192
162
264
213
115
258
180
158
213
181
213
189
204
183
160
182
130
153
261
143
263
129
210
285
180
192
175
177
168
212
278
231
119
173
176
193
170
236
141
245
231
204
187
171
145
158
149
173
269
166
256
130
239
215
234
130
209
234
146
189
205
158
207
191
119
175
176
130
145
237
234
191
184
159
201
216
164
171
236
180
188
161
241
162
174
242
169
191
165
184
209
236
221
180
264
245
212
201
133
158
176
283
236
167
173
200
164
204
210
183
202
261
143
257
162
143
164
143
273
321
133
269
211
119
235
143
174
192
192
217
210
149
221
147
195
180
200
169
207
185
160
173
238
145
202
191
194
194
182
165
129
195
143
221
187
173
248
242
164
259
245
204
158
129
243
184
162
176
198
210
224
164
183
214
175
233
194
177
189
225
204
195
115
236
188
181
157
274
217
144
168
208
205
158
201
203
168
199
145
146
145
204
217
195
210
210
155
130
178
222
206
240
194
288
164
133
190
173
197
197
173
179
176
159
255
180
156
171
201
167
193
129
190
129
150
173
159
199
129
230
237
176
187
230
186
210
187
131
171
206
206
161
173
178
162
139
155
209
133
158
203
228
188
156
158
209
193
202
167
168
201
200
164
251
168
213
176
205
129
146
209
248
217
211
209
195
182
201
162
230
175
217
180
164
217
200
201
141
194
161
211
145
183
192
159
198
211
151
187
129
209
204
211
184
240
261
155
186
171
146
210
202
152
207
243
182
209
208
174
186
203
161
210
200
174
146
233
204
277
182
265
211
181
143
176
162
177
129
168
242
259
184
190
133
173
115
133
206
132
149
201
156
176
161
146
247
197
130
186
195
157
173
214
222
217
129
167
230
150
148
145
214
133
231
214
164
173
202
146
210
225
122
182
249
196
200
146
210
180
210
143
188
186
259
163
166
217
178
231
122
188
188
158
221
173
184
183
214
285
183
202
176
175
196
207
158
164
169
238
182
141
247
210
185
204
129
255
184
225
176
147
184
156
129
226
129
195
211
138
200
181
167
204
195
183
221
211
230
157
156
140
172
275
226
189
162
132
182
129
149
130
115
141
199
132
187
201
186
152
176
220
130
163
225
217
188
211
201
131
283
190
200
204
170
122
139
149
243
184
153
264
233
245
146
176
217
182
282
156
160
162
217
203
214
156
230
208
191
192
190
242
204
197
174
157
184
182
143
182
190
217
272
161
158
176
150
172
221
130
152
184
178
133
219
227
193
155
176
218
161
184
260
181
130
250
176
130
152
200
256
164
146
185
182
237
182
130
225
162
222
206
251
246
130
228
130
174
162
179
221
204
192
129
236
138
202
141
144
133
246
133
173
202
244
158
156
226
264
115
173
217
200
221
185
236
152
158
184
212
182
239
206
185
179
186
255
200
232
155
178
155
221
145
218
128
152
140
190
166
178
233
234
222
217
122
186
141
227
314
211
221
146
218
192
179
177
192
155
197
217
218
204
225
160
133
217
204
143
231
201
176
211
115
146
191
210
187
143
129
146
133
151
176
184
190
218
143
217
173
183
156
166
149
144
270
160
171
200
198
173
233
188
164
155
144
193
176
191
149
130
192
256
229
158
140
187
146
204
183
149
185
204
220
209
165
228
216
273
145
176
156
143
175
242
186
181
168
145
176
173
173
255
222
205
146
195
130
192
122
164
257
230
228
173
263
229
200
242
191
133
170
239
188
191
143
173
202
179
176
272
173
162
274
249
226
145
176
184
208
115
221
236
160
129
238
211
213
204
164
209
260
182
169
183
129
129
174
158
185
308
211
267
198
202
243
191
191
202
200
162
250
178
179
176
189
158
176
232
192
260
212
173
229
185
252
218
190
176
202
164
173
225
238
225
201
201
155
144
263
203
241
174
130
174
173
265
158
145
209
227
225
206
203
193
146
211
160
181
219
155
146
204
191
206
203
215
173
173
214
163
146
183
216
164
130
176
200
152
210
130
197
174
169
133
164
183
199
264
203
149
213
210
145
206
225
171
189
161
146
204
208
180
228
202
197
171
178
212
206
176
162
179
234
175
179
173
132
115
167
246
240
184
268
221
145
169
237
166
196
173
129
119
184
202
238
228
170
192
254
183
246
166
214
199
255
130
254
157
250
204
296
191
222
174
202
206
188
254
200
183
143
211
182
194
184
149
130
260
230
219
171
234
210
204
230
176
232
244
146
201
150
211
181
210
256
130
208
146
335
177
161
203
274
258
174
245
205
199
201
174
161
138
203
204
204
151
165
201
159
211
158
192
173
239
204
115
291
252
169
211
168
217
173
246
188
211
159
147
213
190
195
146
187
184
141
173
129
130
179
242
237
191
147
240
230
178
173
176
215
231
177
214
149
249
129
218
219
231
130
141
179
129
181
224
176
204
259
175
168
234
221
200
209
129
171
164
141
197
173
229
215
214
129
133
225
211
168
146
173
207
274
230
167
179
130
254
234
273
206
129
234
255
191
158
213
161
140
226
130
186
164
192
173
227
208
227
217
184
184
182
247
168
165
192
273
129
185
201
182
174
242
234
188
200
130
204
267
194
252
181
202
227
173
157
231
156
239
133
133
200
187
272
238
151
238
149
146
222
227
195
156
167
174
149
181
187
173
204
261
149
285
195
173
130
219
168
216
201
184
217
176
197
174
222
233
192
128
166
166
202
164
180
168
236
227
176
209
158
215
191
133
217
144
163
238
195
203
210
176
291
194
151
173
228
214
173
177
241
180
190
236
175
184
216
174
211
182
176
180
200
185
174
164
202
176
205
182
182
166
217
178
195
203
130
183
195
119
147
196
146
155
173
229
145
239
214
141
239
217
164
182
130
182
251
262
176
230
200
188
247
188
177
236
196
244
169
206
167
173
146
241
133
252
168
184
187
183
173
230
133
146
204
216
166
211
224
146
229
224
162
149
157
254
169
184
224
160
181
182
130
155
206
164
217
205
194
210
157
184
182
157
181
283
171
146
161
219
164
200
201
185
200
171
179
173
173
151
214
180
170
203
270
129
157
257
223
197
186
170
185
156
179
205
203
168
207
143
227
287
173
181
168
168
212
183
204
264
274
176
227
222
130
220
188
219
203
130
184
164
176
178
152
227
238
161
240
164
264
152
217
246
179
183
186
181
201
268
187
175
210
157
146
206
239
224
210
138
176
178
176
176
166
199
204
161
168
168
171
179
184
210
180
191
271
201
183
211
185
197
168
179
130
183
197
133
210
183
130
274
229
181
173
180
202
151
217
129
129
144
174
174
145
222
235
164
186
172
218
246
185
315
146
143
129
194
217
201
215
192
181
236
230
187
204
210
201
182
180
146
189
181
184
178
206
155
167
141
218
171
215
182
115
217
194
229
184
178
146
184
129
184
149
201
197
173
195
211
203
141
130
173
170
164
167
167
202
220
180
195
242
223
173
133
168
162
194
203
130
181
183
184
187
129
186
178
186
164
211
178
151
180
182
201
221
170
182
129
201
179
195
220
141
159
146
199
162
184
194
164
161
184
171
164
188
115
204
211
168
263
144
252
204
192
189
129
155
204
219
157
147
210
173
132
236
204
194
220
129
210
238
133
173
152
257
171
202
261
180
211
211
225
290
164
254
229
251
176
212
165
162
217
179
203
141
297
186
182
217
176
195
199
222
283
193
190
185
227
207
175
173
205
190
239
207
204
204
133
248
213
232
217
130
264
238
211
183
209
239
236
204
182
246
217
217
222
230
173
194
214
170
251
173
191
172
208
214
193
184
176
191
179
226
198
240
210
236
130
176
239
204
202
183
128
186
162
143
213
145
122
225
178
179
238
182
232
200
167
155
248
129
287
180
149
264
182
178
168
204
198
246
146
257
194
201
158
217
159
163
167
219
162
195
168
221
258
159
130
211
236
156
191
217
152
185
236
156
229
129
153
232
185
202
224
200
158
202
183
242
202
255
212
129
162
199
165
169
201
211
192
192
221
235
250
161
150
199
145
173
225
208
255
211
167
173
187
274
209
225
165
133
247
129
130
202
179
191
225
227
133
129
133
239
130
176
174
115
250
235
172
173
192
185
156
240
130
138
169
141
201
130
130
149
229
215
175
115
144
141
217
204
261
174
234
235
204
145
183
190
146
209
182
263
129
130
204
176
182
143
133
248
220
181
200
182
201
172
164
284
195
204
176
130
217
155
204
115
176
251
238
176
205
193
232
164
192
160
302
178
206
151
130
212
238
192
184
281
188
174
133
218
201
186
214
201
221
205
245
222
156
206
206
202
218
203
214
199
210
167
207
166
225
119
248
221
206
180
225
176
174
239
193
191
176
217
129
210
222
173
174
176
242
178
210
195
174
185
181
204
176
275
176
191
130
204
169
164
145
178
130
171
230
184
115
225
146
146
198
181
264
173
217
146
242
240
149
204
169
303
255
201
227
176
184
175
174
210
215
231
303
233
146
191
264
270
122
156
186
186
184
197
184
211
149
188
176
215
129
228
214
173
212
188
146
229
254
201
171
226
130
192
173
217
156
156
295
146
130
195
225
138
162
221
130
210
231
146
210
230
147
129
208
229
149
219
201
115
256
188
221
190
257
198
153
193
205
192
155
133
210
186
188
187
143
200
180
176
167
236
192
129
197
184
183
186
186
151
178
143
122
158
202
141
238
115
220
259
210
186
249
168
218
186
179
188
188
262
204
227
189
143
204
224
195
168
210
129
146
226
168
172
181
204
157
168
178
217
197
183
174
169
185
185
194
152
169
176
228
155
158
133
168
176
195
246
280
168
221
163
219
211
158
210
247
176
162
220
256
146
256
199
185
220
170
212
129
133
204
203
179
164
173
222
246
201
186
189
217
183
180
198
202
155
180
222
144
197
246
198
155
164
129
250
179
184
230
207
169
160
195
168
158
273
146
174
209
200
146
217
244
146
157
182
255
192
200
217
223
217
230
180
191
200
210
259
162
138
181
231
178
158
129
188
236
210
182
146
198
173
170
203
168
176
147
201
214
195
217
215
239
217
164
194
129
190
173
191
217
173
202
239
239
171
130
220
218
145
215
195
165
204
186
119
203
238
274
179
182
130
160
173
194
152
141
176
167
149
179
206
231
145
129
188
279
205
162
150
115
231
252
209
203
250
255
207
159
224
222
179
218
191
182
172
129
143
225
184
249
191
129
233
158
183
229
138
158
176
115
173
210
115
197
228
228
130
186
146
161
129
202
151
283
115
175
206
210
173
227
201
173
130
213
239
198
195
193
201
204
129
208
166
133
261
202
200
255
270
256
252
143
247
122
190
138
284
189
130
216
166
143
219
171
225
190
217
215
155
217
143
122
231
166
220
238
257
202
143
219
173
235
156
202
179
133
216
217
218
203
204
255
138
181
182
216
210
214
208
191
146
177
186
181
196
210
162
162
184
264
181
220
200
205
169
207
230
217
204
169
155
241
150
149
189
145
143
231
145
144
148
192
182
253
158
188
187
213
173
177
210
194
201
217
181
164
233
178
146
216
206
217
231
143
225
173
250
262
145
160
193
167
199
195
257
132
204
156
176
188
162
180
180
163
233
170
285
205
209
189
173
187
253
128
204
202
155
264
201
185
214
332
212
173
254
174
183
176
186
138
174
200
246
173
161
180
195
211
155
130
180
180
252
171
184
141
169
132
158
204
185
181
172
242
156
255
168
238
270
179
193
143
183
186
222
150
206
129
195
145
199
197
115
263
204
176
204
283
173
176
129
187
202
319
224
205
182
238
231
186
230
157
177
168
186
251
169
163
155
193
146
145
173
201
164
185
217
146
158
191
146
225
242
197
146
248
174
244
191
204
205
209
156
238
219
146
130
198
169
201
132
226
216
300
179
151
204
170
299
158
219
143
173
251
129
188
247
191
201
201
181
224
217
256
217
174
143
173
200
226
199
217
180
204
130
162
240
255
250
228
245
216
179
226
162
173
143
196
145
202
188
247
241
289
299
155
176
210
230
161
166
198
237
303
207
201
202
146
209
196
176
189
173
150
210
213
201
203
168
164
145
221
173
158
195
153
212
141
130
221
210
206
183
184
183
209
195
180
228
184
145
238
129
170
184
133
214
164
176
122
233
210
250
203
173
170
213
179
261
164
143
202
211
247
133
186
250
265
255
133
248
155
191
145
155
182
214
145
176
174
185
225
202
204
264
260
191
252
238
254
185
185
153
158
210
193
184
252
187
210
209
152
210
173
149
173
143
173
150
171
236
129
150
190
204
156
203
188
130
179
150
228
158
220
212
244
181
210
220
162
168
206
231
214
178
218
129
222
203
173
168
206
115
202
225
171
239
201
206
176
196
173
129
173
239
167
184
191
215
212
202
200
157
168
129
145
183
155
193
130
158
146
209
274
132
147
217
178
129
199
162
146
176
168
189
224
205
189
197
182
143
186
243
225
238
208
162
130
242
218
186
129
217
264
171
198
200
164
198
122
160
181
191
182
261
133
261
238
192
141
167
178
160
190
283
185
143
156
130
195
122
130
257
217
189
259
250
129
246
176
130
156
186
169
222
217
145
225
229
184
174
180
201
236
129
173
161
176
262
207
175
173
168
172
167
204
234
155
241
207
198
152
173
209
238
182
202
184
221
190
232
147
176
130
246
225
165
235
217
146
203
145
192
218
194
219
146
221
146
162
222
251
243
178
169
202
162
164
228
210
230
122
206
150
211
200
246
145
197
236
184
129
132
221
202
155
219
217
216
180
204
181
149
230
115
218
211
192
165
188
204
200
172
249
173
191
264
285
188
200
129
210
230
190
233
156
187
176
179
246
145
203
221
164
200
217
263
211
129
161
168
162
164
250
192
238
265
129
225
189
180
204
158
229
253
215
204
147
216
223
285
206
172
173
179
174
176
265
193
181
210
225
236
173
145
179
175
191
179
200
173
168
200
176
250
210
133
227
143
188
217
271
132
166
197
233
203
164
158
254
266
212
182
222
153
188
199
130
180
146
173
156
258
202
145
201
230
173
176
201
152
180
162
242
150
214
235
202
200
210
143
168
200
184
156
176
193
264
206
168
164
183
207
178
172
224
129
183
210
166
143
254
211
192
274
149
204
231
176
130
222
210
265
173
145
231
180
180
243
141
221
244
157
188
169
206
132
178
248
177
224
269
162
173
186
324
179
152
261
156
191
220
221
208
223
158
176
146
173
145
133
149
161
206
176
229
222
183
191
155
258
129
129
221
130
192
161
217
210
188
130
219
184
230
173
164
172
202
217
210
184
173
285
222
180
130
171
147
299
186
211
130
265
161
185
169
158
145
247
173
258
179
186
129
209
185
214
244
185
230
202
129
213
207
212
185
162
162
181
168
266
184
249
202
163
212
335
158
273
129
230
188
145
146
161
211
179
210
188
206
182
239
115
133
194
193
211
222
184
168
115
176
179
227
179
238
130
210
194
188
208
184
221
253
115
246
206
233
201
129
222
180
211
159
211
210
148
197
162
204
190
115
255
196
184
184
173
256
176
220
193
224
166
129
202
176
160
146
201
130
266
230
156
187
210
174
186
178
122
204
181
203
160
206
143
187
179
239
183
179
234
146
156
176
161
119
204
200
210
219
185
176
190
217
274
193
260
155
202
204
193
176
223
133
168
204
230
167
191
228
189
145
172
115
194
133
241
184
221
153
221
129
146
236
217
256
211
225
130
179
210
184
144
158
115
236
184
179
216
182
230
200
186
212
146
130
205
164
175
156
129
153
188
228
180
145
130
179
146
242
129
258
191
173
178
181
264
122
196
190
198
234
210
146
221
180
129
151
130
197
146
216
130
154
224
206
256
165
195
158
144
184
206
173
188
146
152
144
185
191
213
176
145
205
188
143
179
230
182
200
264
173
227
162
195
169
184
203
143
115
149
130
146
173
213
234
133
208
170
176
184
180
201
238
232
200
173
151
176
229
176
130
178
173
191
193
221
246
161
205
250
234
214
194
173
262
225
186
164
206
175
230
180
220
164
203
179
217
200
204
138
199
176
141
183
203
274
210
166
166
201
191
153
187
227
181
169
310
187
210
215
166
201
173
145
176
217
206
208
284
235
169
191
258
186
173
162
179
179
236
183
227
254
168
284
201
205
196
204
211
202
115
143
172
197
249
239
255
280
200
210
203
156
173
228
155
182
191
173
130
205
164
200
146
212
204
271
202
129
152
143
146
214
162
129
218
173
235
155
210
173
202
205
240
179
141
170
164
188
185
168
193
204
205
271
188
239
141
146
168
200
115
201
227
181
183
238
214
269
174
211
180
219
128
211
230
226
203
170
130
203
280
206
201
260
304
204
252
176
205
210
236
244
285
223
149
176
259
191
198
218
177
203
178
129
148
215
176
191
264
225
129
233
162
228
182
230
203
228
202
302
190
178
254
206
214
238
247
149
162
251
335
292
173
202
230
165
130
171
272
184
220
184
162
191
155
203
266
173
183
229
138
210
153
177
240
132
183
193
129
192
156
122
153
145
255
187
192
215
177
179
173
260
193
200
158
229
216
130
228
182
202
156
200
214
167
245
210
174
176
229
190
201
161
204
145
130
276
249
215
155
122
248
160
173
128
198
191
242
201
173
218
160
240
231
192
239
177
244
158
217
146
164
183
145
182
190
219
165
115
167
162
262
239
238
208
245
183
164
192
179
168
211
169
206
200
197
173
168
227
221
202
176
230
229
224
183
169
173
143
210
268
230
281
236
186
146
153
192
130
115
166
183
214
187
200
184
169
174
212
173
225
182
202
202
183
122
145
211
280
186
264
168
219
270
166
205
228
164
247
203
155
229
218
146
180
191
238
189
186
217
230
256
128
183
209
129
191
183
226
225
204
150
212
144
210
161
129
217
163
312
204
169
216
129
237
200
128
231
180
265
211
194
177
247
179
184
153
161
251
149
220
232
186
186
162
186
249
229
252
195
230
178
157
162
187
228
183
179
286
172
222
150
239
145
146
160
166
180
313
261
122
181
202
212
155
211
252
240
231
217
191
188
176
222
217
148
179
217
157
167
238
180
145
189
287
179
158
217
211
246
184
192
210
182
200
178
199
240
188
203
216
240
237
288
147
241
115
176
138
182
200
231
146
210
237
176
212
174
128
202
210
180
238
205
182
178
189
166
207
129
169
141
214
175
170
171
145
206
199
257
204
204
158
204
269
254
162
185
115
146
210
172
227
224
186
145
259
175
168
207
185
185
158
228
215
115
240
146
167
230
225
184
115
173
176
173
173
149
218
236
210
200
217
166
202
229
178
185
204
178
210
138
217
238
225
202
200
231
204
204
155
209
216
217
213
146
181
256
133
170
224
203
209
173
244
201
173
216
204
158
162
200
115
181
147
228
115
189
201
199
173
164
237
207
264
231
202
160
268
205
146
170
208
208
185
169
193
226
183
115
183
212
246
183
181
250
158
199
202
179
152
163
174
184
145
200
204
186
180
156
210
242
170
210
158
211
244
173
146
316
218
138
264
176
152
129
178
245
217
181
176
185
211
218
192
207
234
129
128
176
216
144
299
146
129
279
217
274
162
146
168
198
249
230
221
210
129
242
173
143
254
212
143
169
217
182
230
221
204
156
174
195
253
214
189
239
234
185
205
214
158
201
155
180
239
138
235
213
296
143
201
190
153
166
204
146
247
217
173
168
164
176
130
181
221
222
158
179
280
173
173
143
176
227
255
260
185
192
129
172
171
247
178
178
225
194
178
189
285
143
164
218
185
145
184
156
211
150
119
209
209
255
193
158
179
142
192
176
204
115
168
164
174
166
234
264
207
164
186
133
228
168
173
245
192
158
209
228
176
206
182
197
166
200
145
145
179
173
228
185
143
207
199
193
173
242
214
208
214
202
275
219
173
209
210
183
254
213
179
145
185
228
248
122
241
216
129
211
242
195
158
205
168
179
183
295
289
155
145
210
153
214
200
146
300
236
212
227
215
177
188
184
146
145
234
202
185
242
181
185
156
264
195
191
263
240
129
133
174
205
200
206
236
197
146
166
304
243
252
141
222
143
175
185
222
192
230
194
165
242
129
160
186
157
223
176
245
200
185
296
186
162
260
213
129
158
129
211
191
173
244
173
204
198
212
130
143
207
238
162
168
200
191
204
173
179
185
231
205
183
148
188
146
233
166
205
184
208
164
224
210
168
130
210
290
206
129
191
211
122
146
188
191
254
217
240
183
227
224
204
208
141
173
155
306
254
130
154
223
151
305
165
238
176
145
212
188
204
200
161
198
200
212
249
133
166
203
146
199
176
218
200
141
129
207
178
150
180
179
284
238
224
298
228
202
202
178
164
211
146
238
207
180
257
191
201
187
208
130
217
176
230
173
133
150
180
173
264
250
180
190
173
205
179
152
236
184
208
225
145
174
115
169
182
172
211
160
178
177
250
170
297
168
179
247
263
166
201
221
225
173
247
150
129
165
206
170
205
247
243
203
176
128
217
157
191
176
238
145
163
198
204
130
264
202
179
188
166
172
218
133
229
179
218
156
178
178
130
173
208
158
204
228
211
176
184
145
169
214
199
227
207
247
233
173
181
236
227
222
188
177
186
164
247
122
205
204
130
173
264
211
201
222
176
166
176
248
259
200
177
141
172
155
141
237
173
205
239
195
206
145
165
184
191
234
219
185
151
253
160
206
149
212
149
200
230
206
173
130
179
261
232
227
175
217
241
195
200
199
266
159
191
119
146
211
194
150
115
278
236
283
141
178
141
220
146
256
230
200
202
303
173
160
155
197
230
236
161
233
204
152
133
167
164
201
246
182
115
181
218
146
178
195
181
238
195
222
184
184
226
162
148
214
115
164
172
170
176
248
179
179
183
184
153
130
214
204
267
130
181
270
142
252
168
172
178
191
161
191
172
176
163
152
229
144
215
173
153
217
172
155
242
162
235
204
133
225
175
145
269
202
170
168
179
176
146
239
203
227
178
200
156
173
176
185
128
335
188
258
219
143
228
204
201
206
179
202
145
211
196
183
129
210
129
232
160
198
235
206
194
202
143
241
230
192
239
176
130
180
195
247
195
238
213
185
263
303
181
170
236
199
223
139
158
266
206
168
206
158
211
220
138
133
246
158
168
115
150
176
129
242
122
225
236
205
267
184
203
156
237
191
230
210
153
129
222
210
157
179
174
204
204
191
227
173
184
115
258
218
206
179
208
216
217
171
182
169
206
204
231
115
194
143
228
225
171
130
185
190
130
129
230
130
263
215
129
206
231
185
180
205
263
119
201
143
211
144
180
130
164
143
210
178
130
201
202
202
244
232
264
287
146
122
219
143
202
238
146
255
168
226
255
173
239
230
222
189
176
165
193
173
176
115
215
210
256
189
146
231
178
130
130
227
129
215
210
168
161
191
242
138
240
174
158
204
168
176
146
246
235
238
239
204
200
231
129
188
276
236
204
160
179
204
158
170
220
174
146
162
204
151
201
259
138
193
214
206
164
173
206
270
162
213
219
164
204
152
256
176
149
129
176
161
201
247
204
213
184
195
155
192
191
174
217
188
259
194
257
132
146
264
221
274
143
235
174
192
130
166
208
241
200
211
181
296
162
230
191
200
230
176
275
294
176
170
130
143
170
152
210
239
164
129
205
247
217
181
204
190
171
218
173
229
283
173
129
202
198
200
182
230
288
202
213
166
150
146
247
235
202
176
202
158
281
217
172
151
230
245
175
240
178
130
182
181
176
190
192
247
176
190
162
155
249
233
184
229
181
184
192
145
221
247
233
216
218
180
159
197
168
238
186
241
194
252
172
183
237
144
143
277
143
201
115
257
191
176
258
130
193
174
222
258
204
201
130
210
216
211
187
204
231
181
191
239
162
146
160
194
163
204
217
156
164
220
239
168
174
158
143
153
146
179
164
258
200
251
218
130
272
179
246
195
182
164
156
198
180
251
180
236
158
173
204
200
192
158
176
168
255
183
259
219
132
314
173
205
200
188
185
201
180
240
203
201
133
115
185
217
156
237
162
166
158
133
163
156
206
194
155
162
162
199
174
129
173
202
131
204
221
175
173
179
198
205
222
210
230
145
213
200
172
145
178
201
163
180
172
173
178
158
163
167
133
249
221
210
201
234
184
190
129
179
130
245
208
197
206
223
169
191
145
173
173
257
149
200
156
203
254
202
146
225
182
155
162
182
213
167
270
176
146
246
179
189
214
183
246
216
160
130
191
146
259
158
221
209
176
145
255
335
115
211
115
202
166
204
228
146
202
204
199
214
211
212
210
183
146
169
219
144
173
143
205
200
129
161
173
166
168
157
208
176
236
149
191
146
221
209
185
176
195
173
168
206
169
200
174
260
182
130
219
238
206
183
174
229
133
199
295
217
210
191
227
262
206
133
176
130
205
205
187
187
227
200
133
274
180
171
176
158
170
170
130
176
216
176
164
152
217
203
217
130
231
222
194
129
178
173
180
220
244
130
146
146
246
206
206
209
146
202
217
157
238
164
158
213
187
206
219
185
152
143
144
157
211
306
206
201
138
178
143
138
162
179
143
184
231
146
184
229
182
143
225
129
216
233
168
173
133
179
149
178
129
204
162
202
181
201
237
176
191
191
168
176
211
184
156
146
265
176
152
130
151
169
178
205
158
224
176
193
207
130
188
180
193
227
176
211
185
226
185
155
178
251
255
166
188
183
171
201
247
191
130
252
228
175
168
214
213
176
129
243
170
129
204
155
225
129
217
198
179
138
178
130
129
146
259
176
172
173
179
176
324
182
155
181
130
162
202
168
184
178
204
165
196
183
217
145
204
129
228
185
173
238
243
146
146
203
195
179
303
146
160
273
193
157
173
133
168
145
146
206
208
187
182
212
228
168
203
256
179
211
181
206
212
234
166
169
208
146
201
181
129
209
200
185
211
130
182
214
122
197
210
244
216
270
207
191
240
215
193
187
179
190
143
188
166
188
150
239
115
155
141
243
199
245
129
201
153
233
297
184
146
203
201
231
233
188
265
231
176
181
206
252
145
192
194
200
155
150
175
262
133
231
133
115
174
115
150
130
201
239
264
115
130
184
188
176
180
213
217
180
249
238
225
244
155
130
212
201
234
128
201
226
130
129
186
132
225
195
226
262
181
192
158
230
130
184
237
183
130
152
205
176
247
185
213
190
161
181
187
129
156
210
146
179
187
181
168
130
164
215
192
249
176
190
190
201
233
119
183
156
173
130
200
176
248
230
280
247
225
229
165
198
144
206
162
216
206
198
168
208
155
200
213
176
196
234
197
274
281
162
179
263
244
261
160
263
143
258
173
167
164
243
209
129
230
191
176
143
204
230
115
192
251
210
186
149
232
158
211
158
206
209
173
229
143
184
247
176
261
185
216
255
200
233
146
176
218
129
226
239
217
205
163
143
159
197
173
208
184
194
222
173
181
211
193
208
203
221
158
189
173
207
162
222
129
175
252
177
176
182
210
144
161
202
145
185
176
173
189
261
156
265
130
201
173
146
228
166
160
172
129
203
206
191
189
149
193
206
156
271
216
193
162
128
210
272
204
183
129
217
150
179
183
217
173
214
197
180
129
232
191
129
141
211
226
132
177
208
130
175
122
159
217
264
129
168
175
145
183
204
146
164
179
230
181
208
201
147
191
217
238
151
224
161
284
145
176
191
173
162
341
203
189
173
158
228
232
225
173
183
165
222
168
164
287
228
188
133
179
179
249
204
184
173
191
185
184
221
254
175
283
165
257
149
207
182
180
165
187
157
250
176
197
173
145
169
222
256
158
230
210
191
185
264
146
178
144
191
133
176
182
232
231
271
164
156
242
141
211
166
227
162
204
236
162
244
146
183
176
256
155
208
257
238
152
183
178
145
143
181
130
227
155
205
174
133
176
145
228
225
157
166
227
181
220
223
195
183
239
247
230
167
192
233
194
143
257
174
209
183
158
206
201
204
188
141
161
222
184
204
165
158
229
179
161
183
215
182
227
170
255
188
192
205
232
204
182
227
191
179
251
168
219
164
200
187
227
220
197
190
225
149
270
205
208
143
170
230
129
202
219
204
175
210
185
176
184
225
130
147
231
213
217
176
182
227
276
231
173
162
164
168
186
145
220
231
201
197
207
201
237
194
226
208
176
184
231
202
236
264
122
199
207
246
214
155
205
210
146
216
179
225
185
203
130
179
210
228
146
261
153
187
180
238
250
164
200
133
173
166
152
176
246
133
155
197
176
226
152
162
238
212
193
188
222
194
164
201
195
192
179
200
221
204
155
176
197
183
179
248
155
188
282
115
204
186
234
215
303
227
147
130
211
162
173
157
236
166
214
212
173
217
160
195
208
220
272
214
195
149
130
236
182
222
180
205
130
176
217
204
252
204
186
173
115
206
210
153
180
204
197
143
239
170
129
230
129
176
176
195
185
227
232
254
157
261
193
141
185
162
184
182
199
130
193
230
133
217
197
197
129
230
202
264
178
174
166
236
236
263
221
184
170
186
217
130
252
191
174
204
221
156
176
176
195
169
291
130
241
259
172
219
236
168
247
207
146
219
197
239
146
143
270
115
174
179
197
195
236
238
194
158
150
115
172
192
197
191
129
164
275
238
129
168
130
194
226
159
174
216
191
172
230
184
212
218
243
144
190
146
210
194
192
217
193
190
153
171
145
146
179
210
211
231
194
265
274
146
185
233
146
159
200
224
130
129
216
133
193
176
207
222
183
214
179
206
164
242
259
200
225
143
244
183
198
158
166
143
188
181
224
195
193
178
173
211
185
211
129
210
176
130
204
206
146
175
145
184
184
145
213
188
176
156
202
172
176
198
207
191
282
176
183
173
173
207
143
168
229
228
176
153
184
158
210
183
195
158
160
210
222
155
158
156
150
207
235
149
163
176
190
145
216
237
204
217
129
225
264
173
258
160
223
204
217
146
217
211
162
192
162
158
200
228
217
254
207
146
241
145
246
247
129
146
169
141
217
214
259
174
283
146
229
237
202
236
173
210
260
194
283
230
199
173
259
213
158
144
141
147
222
157
183
180
238
151
259
246
173
180
206
184
217
209
230
281
200
256
201
128
192
156
128
171
176
141
239
191
201
202
189
155
165
164
178
158
248
206
130
149
195
203
173
238
227
206
164
266
202
179
142
130
166
193
172
129
171
133
158
191
185
202
153
182
130
258
321
176
182
245
176
129
179
246
177
129
221
130
217
150
143
158
180
158
192
211
146
156
145
204
158
218
172
162
161
203
265
226
191
264
173
129
200
235
219
156
160
206
171
210
201
200
240
145
173
181
183
156
129
204
202
236
204
260
199
207
208
130
133
214
223
176
202
156
157
246
133
227
174
178
217
245
184
209
209
243
171
178
151
202
201
279
200
155
138
164
210
179
208
186
158
216
179
187
173
129
180
145
168
210
173
184
214
162
284
115
219
206
179
146
164
180
291
230
184
130
211
195
167
147
119
200
203
209
132
225
211
129
169
303
182
236
204
218
173
226
246
217
184
203
183
115
183
176
178
173
186
190
163
222
176
221
198
207
232
166
204
129
145
173
206
176
145
218
210
187
145
161
217
211
173
210
210
210
162
218
212
155
183
180
204
172
178
241
172
129
236
184
231
143
173
149
205
255
321
189
158
240
201
158
184
217
179
212
187
169
196
222
183
210
160
200
211
186
192
224
228
160
168
210
245
202
192
149
155
146
129
146
210
201
210
187
200
181
174
240
115
195
141
186
206
129
178
176
228
225
215
221
115
218
204
166
258
160
180
128
176
262
260
227
176
169
216
272
129
165
253
167
201
204
170
271
218
212
211
159
168
206
183
248
206
261
130
185
201
200
183
209
174
192
145
193
176
194
200
221
151
192
282
182
256
234
173
128
129
210
176
172
239
155
223
185
328
203
183
202
204
205
167
221
170
187
201
161
268
122
191
173
166
201
146
270
194
274
211
258
183
194
227
165
151
178
176
269
184
219
173
156
235
173
235
145
186
229
178
217
133
188
158
146
139
204
129
192
129
133
146
246
173
155
173
163
178
159
189
208
221
164
163
186
222
188
185
206
194
177
194
204
165
217
188
176
168
160
216
200
122
145
122
176
204
151
231
236
130
160
230
181
168
169
193
129
130
181
179
191
146
239
215
249
240
174
152
210
176
210
151
143
179
179
204
133
208
130
189
251
150
185
180
163
248
253
175
207
162
173
173
184
192
300
191
164
215
205
201
203
130
165
220
185
181
200
130
188
149
197
144
250
210
129
200
178
218
255
209
151
165
200
161
199
227
173
237
213
183
161
250
220
129
212
201
218
164
249
182
181
156
146
200
129
200
115
196
174
178
189
209
238
143
210
177
250
191
164
133
233
201
226
233
211
157
184
224
210
214
146
143
238
180
270
143
205
266
129
219
146
221
224
161
138
129
217
149
146
176
178
176
252
208
172
204
180
150
176
217
169
173
233
170
227
307
197
195
159
210
227
216
183
147
173
197
147
183
184
227
179
231
200
176
211
144
122
190
265
212
177
155
169
176
173
176
173
224
210
146
186
160
200
180
178
169
221
115
153
194
182
230
210
198
239
146
202
221
210
133
181
178
174
204
130
129
257
161
210
182
149
235
207
169
176
209
156
161
264
144
166
242
183
161
202
302
213
185
184
167
204
182
239
164
259
130
157
176
215
206
167
173
184
206
238
200
146
302
178
151
192
186
194
258
308
184
129
172
183
224
132
264
224
194
182
192
191
164
204
138
211
186
184
229
213
303
190
206
256
145
204
180
160
217
204
161
162
203
237
200
197
279
192
185
191
214
300
191
211
220
199
246
261
201
218
200
183
238
207
211
183
158
185
184
238
210
236
230
205
179
130
202
174
199
158
238
189
176
164
269
180
173
283
256
214
307
130
194
204
211
222
158
204
178
176
115
201
204
143
181
238
204
192
173
183
207
215
155
217
238
191
151
206
157
169
184
207
258
164
130
186
217
158
208
237
150
241
129
236
256
211
183
201
189
239
138
210
159
239
115
207
122
173
156
211
187
182
187
162
217
210
204
247
187
146
224
184
129
180
238
166
161
227
162
157
204
157
219
176
129
155
210
273
219
182
202
238
164
237
176
179
239
168
170
225
129
201
166
151
221
162
229
133
149
210
210
256
206
146
179
150
234
200
201
176
221
129
183
227
223
245
206
168
204
252
268
173
143
184
178
183
162
133
236
284
207
163
212
155
177
166
129
163
224
173
180
115
217
133
173
193
195
199
213
238
146
151
283
173
129
132
152
202
239
227
213
179
130
164
169
115
214
173
194
173
183
193
133
181
158
205
232
252
172
155
208
145
242
169
204
247
214
175
157
225
186
195
171
143
176
130
174
195
143
201
187
184
130
195
176
195
184
173
161
242
203
249
234
207
204
191
230
200
161
206
172
220
214
182
239
129
176
146
192
254
183
207
190
199
324
182
190
158
188
209
176
231
209
209
266
161
143
129
217
176
171
203
206
201
202
190
204
217
184
169
179
240
162
173
173
262
236
143
145
217
192
130
222
239
190
178
242
176
173
182
156
217
173
208
162
179
179
178
200
189
230
227
236
164
168
149
129
222
151
252
235
229
133
200
204
233
201
222
176
191
187
161
176
211
130
149
150
179
200
179
191
258
210
176
172
230
194
230
166
184
198
228
164
176
174
247
229
223
223
146
205
179
211
176
233
267
182
238
280
168
300
149
202
129
188
186
145
183
263
161
208
255
202
207
179
204
185
230
188
158
151
214
266
228
236
151
186
171
218
184
191
133
179
158
171
157
179
297
148
158
213
202
297
176
150
235
275
129
191
257
247
164
146
200
185
201
199
190
129
129
146
293
204
182
211
219
217
197
192
188
206
184
191
225
115
146
221
250
173
204
271
155
182
231
173
171
160
247
251
199
162
164
132
203
221
166
239
218
193
235
260
173
254
185
255
168
214
182
214
172
145
221
222
143
205
191
215
235
167
243
143
208
217
160
174
133
265
129
257
130
133
217
210
160
193
184
245
204
158
191
206
182
195
115
169
293
217
208
234
122
225
217
171
212
247
172
158
145
191
217
168
145
266
149
210
189
181
159
158
193
214
204
236
205
285
225
129
227
206
129
180
166
206
176
158
209
236
209
252
147
211
143
217
179
146
197
249
155
200
217
172
176
130
221
130
231
129
145
213
174
141
146
157
216
178
227
218
203
173
170
242
182
214
222
238
146
132
257
130
195
191
179
217
220
238
151
222
225
243
141
239
225
239
254
133
204
221
206
240
216
176
181
156
225
210
130
206
211
169
174
187
195
235
186
187
159
158
242
256
175
179
173
171
176
211
236
205
163
182
192
204
211
156
182
156
168
177
119
174
207
201
204
204
239
197
173
229
296
222
156
225
376
210
229
133
129
171
146
178
239
166
129
168
202
179
166
191
221
254
249
128
156
173
183
170
270
197
130
225
204
158
164
239
241
200
229
146
192
129
215
187
219
260
179
222
201
184
242
178
129
155
204
185
328
194
158
204
178
239
206
168
221
176
198
211
201
206
189
183
204
183
129
177
210
197
145
143
184
176
193
184
179
210
119
130
132
172
189
185
198
184
202
269
178
160
212
177
197
228
212
173
129
202
183
175
208
262
180
115
222
239
167
180
188
178
210
247
200
201
231
174
218
188
201
234
146
133
217
210
168
193
168
300
168
217
132
236
204
238
181
169
168
201
152
176
173
213
224
240
174
210
155
169
239
230
146
181
144
176
217
219
218
219
129
264
173
174
180
182
174
175
155
173
210
195
194
191
207
280
185
179
170
129
179
203
212
182
202
173
214
255
156
130
210
185
173
150
200
129
228
173
215
133
143
203
296
146
203
236
168
191
246
122
222
210
263
162
150
119
165
128
175
157
165
240
226
182
208
158
263
223
217
252
153
191
260
169
201
115
200
186
145
234
225
130
165
170
238
211
214
201
206
174
262
182
265
195
201
225
202
188
267
157
215
188
179
209
215
167
184
129
180
144
239
184
187
257
225
204
168
185
217
115
155
247
219
179
168
167
122
173
158
150
179
183
158
180
129
183
195
176
167
191
182
133
176
164
240
238
190
162
145
231
191
159
226
253
205
173
255
222
160
230
184
160
242
163
211
184
150
184
168
179
193
182
210
143
239
183
310
233
162
214
202
210
237
268
146
212
129
241
217
204
172
230
146
181
224
189
199
268
255
174
201
179
161
211
229
219
161
143
133
227
220
129
199
183
193
149
153
259
192
168
234
171
173
209
195
264
193
241
201
147
177
237
179
226
173
203
199
210
195
205
168
217
257
250
197
187
171
173
156
130
162
179
227
226
115
153
296
177
193
221
186
266
250
143
188
186
231
119
129
204
227
237
129
169
260
188
196
168
196
169
214
185
222
178
237
200
204
161
168
255
133
183
168
155
206
129
173
168
162
230
259
170
208
222
265
209
229
176
163
206
185
272
201
203
282
145
141
191
235
251
155
185
210
204
179
172
202
246
155
233
252
220
191
145
150
201
250
273
194
161
200
214
204
178
161
168
273
216
191
146
202
146
215
210
196
177
218
224
200
187
174
182
236
204
130
197
130
183
221
143
178
146
210
232
202
200
167
145
187
214
238
210
165
194
192
195
234
182
173
173
197
173
155
201
228
211
238
190
179
257
173
258
210
138
182
242
201
132
155
214
183
258
210
145
189
151
150
229
206
183
201
183
169
179
243
145
188
232
244
115
182
202
201
191
247
173
290
176
204
162
168
146
129
261
168
168
221
146
194
208
129
230
173
214
197
158
188
195
239
145
176
214
229
201
180
222
176
146
275
149
208
150
172
295
172
235
173
200
144
147
241
182
156
181
204
261
189
239
209
200
183
220
157
206
130
200
206
205
274
214
138
164
254
244
182
161
184
174
158
247
163
204
234
149
238
186
168
187
206
228
143
169
174
231
176
193
190
178
169
180
229
129
214
143
201
185
176
273
182
191
146
222
190
210
226
115
200
173
174
218
130
233
267
178
168
225
129
202
222
155
155
183
219
160
181
209
146
236
195
198
206
168
217
160
228
281
146
168
173
210
218
173
190
130
227
246
146
192
130
184
274
162
207
115
130
207
190
266
155
146
217
191
189
182
129
217
188
230
273
212
158
203
231
204
199
225
143
173
236
217
240
185
130
156
143
210
217
115
230
189
173
122
210
190
193
183
238
217
179
235
202
196
162
195
156
236
129
171
219
129
210
129
210
184
141
130
216
130
145
248
186
238
217
238
180
335
294
229
176
200
227
122
151
168
168
200
179
224
217
182
227
166
230
158
183
200
238
158
225
200
191
225
249
195
187
129
133
158
155
246
151
161
179
225
186
161
266
322
217
190
194
276
170
260
244
156
173
164
211
221
176
255
213
210
208
243
129
164
212
222
184
185
215
173
227
180
168
130
184
244
247
175
173
138
213
150
273
170
184
173
202
161
179
225
208
183
157
197
179
204
230
166
195
227
263
229
197
221
182
204
224
173
237
145
208
202
162
229
211
129
210
254
188
181
221
166
216
201
220
285
186
176
188
236
247
211
225
176
195
231
173
200
146
168
225
233
179
220
128
166
207
115
272
224
242
203
179
176
230
221
167
201
166
176
158
259
206
206
211
237
131
168
211
146
265
188
335
198
146
242
225
130
161
200
252
150
129
161
170
158
133
183
261
129
191
222
155
222
164
224
201
130
129
181
180
166
187
138
231
182
247
207
264
234
262
204
115
173
180
209
189
245
129
211
146
185
176
195
161
202
162
130
129
225
205
181
210
175
200
232
145
217
180
179
188
138
184
222
216
181
182
133
171
145
144
200
179
231
214
222
179
156
208
130
202
150
184
199
230
292
152
195
130
155
230
115
180
240
201
201
166
268
254
222
143
256
201
198
185
152
147
192
183
150
166
129
285
237
203
141
166
181
210
288
163
195
216
196
180
233
232
201
115
173
261
115
222
266
227
186
249
158
146
197
179
184
244
200
226
222
263
230
236
215
225
152
119
179
199
210
189
270
300
191
178
162
173
234
184
255
184
259
145
210
164
263
179
239
157
173
201
217
150
191
236
115
228
185
183
200
130
192
133
222
164
264
173
143
178
176
217
201
258
222
145
164
238
173
193
231
180
191
222
216
167
241
169
222
239
197
231
202
249
214
130
149
181
242
162
161
173
159
181
215
209
182
149
164
214
130
169
181
143
143
224
258
203
166
272
150
138
201
227
204
158
122
145
216
146
211
132
158
173
212
251
227
222
129
214
146
260
211
195
181
225
187
195
129
129
163
204
214
247
130
129
176
213
122
248
217
158
201
184
254
166
217
191
177
182
178
129
244
176
274
158
197
166
230
158
173
192
146
145
122
143
152
177
176
185
308
200
167
195
212
156
115
185
145
140
158
115
145
198
181
210
179
214
210
172
210
180
178
238
132
171
222
206
239
253
146
187
259
194
246
184
211
145
229
173
169
158
265
179
157
143
162
146
115
166
209
242
265
164
176
166
246
187
129
221
173
265
230
239
184
155
200
260
256
189
214
168
186
274
162
219
247
251
129
250
156
183
194
143
175
221
191
215
283
115
182
129
173
171
162
161
201
180
214
248
194
192
217
162
235
141
209
165
178
217
146
201
169
182
165
200
146
283
217
167
241
227
217
226
115
231
129
143
299
133
146
187
146
185
199
212
168
143
242
186
285
185
238
191
191
177
237
168
133
165
173
168
227
197
176
216
143
122
206
191
146
115
130
184
180
202
259
203
146
231
145
286
179
141
239
181
225
259
209
227
164
231
247
156
170
176
217
145
184
173
242
185
192
210
187
206
188
204
167
194
283
217
169
180
222
162
204
214
235
247
265
194
129
193
204
210
173
129
158
202
211
297
190
188
227
146
195
201
160
165
238
129
221
193
173
204
227
294
146
256
132
156
261
188
203
173
255
182
180
226
264
146
143
222
200
204
231
194
195
203
236
252
229
143
158
202
129
255
158
168
199
176
227
119
145
176
180
155
159
186
185
209
202
179
169
225
174
175
181
179
129
186
133
219
162
155
143
130
202
149
173
180
128
158
162
185
182
208
132
222
203
204
184
274
162
152
146
217
222
162
237
294
169
202
231
184
259
252
149
201
203
203
148
201
209
185
164
129
248
129
296
261
227
158
225
145
231
182
141
155
168
271
177
133
247
258
181
173
157
192
194
179
322
195
180
145
115
164
187
146
246
207
182
143
204
130
205
221
146
191
150
204
231
215
196
216
231
175
206
184
158
178
258
200
188
335
157
185
209
129
146
221
214
156
182
133
204
235
148
238
235
190
188
129
217
169
176
164
161
143
145
258
146
129
168
274
217
129
228
195
129
238
146
162
200
187
201
184
129
216
173
238
197
247
203
247
173
201
221
151
192
138
173
191
182
168
230
151
179
179
184
226
201
138
217
164
211
175
205
214
199
130
204
190
162
150
222
173
145
183
176
276
216
269
145
205
221
133
166
246
182
170
196
172
214
202
176
217
150
274
129
182
236
158
190
191
183
263
172
221
201
130
182
285
222
193
129
165
212
217
185
144
160
192
198
210
222
197
179
213
130
205
295
217
220
152
179
181
176
211
247
146
122
258
202
184
151
130
210
233
178
196
226
234
122
209
146
203
208
236
184
205
191
258
188
227
264
207
228
277
208
180
258
202
217
200
224
174
227
191
248
182
186
206
211
261
228
129
202
178
247
157
174
129
281
226
168
206
204
130
211
179
212
182
202
133
203
150
227
210
236
195
184
180
119
191
179
186
200
312
201
230
130
254
141
205
238
214
236
207
266
320
185
146
184
187
182
274
211
211
246
214
174
206
172
130
247
177
148
189
217
130
197
168
209
191
242
204
216
206
335
174
193
188
188
261
238
162
208
300
211
130
244
214
198
160
185
150
185
217
169
210
182
169
202
185
247
229
242
173
176
169
176
167
204
194
182
258
133
224
206
130
190
150
146
115
158
155
152
232
164
236
173
156
185
216
201
146
176
250
176
291
130
122
193
130
182
205
165
172
184
236
156
129
238
176
180
236
145
204
159
215
208
224
206
168
193
176
193
133
229
234
258
189
163
172
236
201
202
222
156
173
222
217
188
216
204
240
237
181
228
264
146
175
303
228
115
218
158
129
221
183
264
168
199
199
224
238
164
222
229
166
173
235
238
175
170
227
265
143
235
199
268
129
180
210
206
128
254
130
239
166
212
146
247
199
179
178
182
164
199
154
205
204
380
115
130
155
145
191
150
243
194
200
229
219
238
204
145
184
204
192
173
196
182
146
264
199
209
130
190
162
204
286
184
215
168
230
188
174
274
182
203
213
164
227
163
130
200
204
184
170
236
186
172
234
202
132
287
235
184
168
146
173
225
229
210
201
191
200
204
201
242
227
177
211
212
182
186
146
157
138
247
180
210
227
229
200
239
201
115
261
274
191
168
182
174
173
186
184
173
138
183
145
167
210
166
176
200
155
160
168
155
146
225
184
216
179
221
173
226
174
146
161
246
196
155
207
133
242
305
236
174
210
173
240
258
176
197
179
173
130
146
186
277
236
168
248
156
161
215
204
204
162
199
185
168
164
209
221
216
260
201
213
191
182
219
230
261
204
173
150
180
129
146
176
151
173
130
211
182
202
146
179
185
173
173
162
202
216
192
221
174
199
193
180
211
129
207
264
145
185
168
155
176
160
206
210
210
177
204
201
179
204
210
145
145
255
192
145
214
164
179
192
164
146
130
259
227
237
173
193
244
227
241
251
217
264
158
146
188
184
183
143
180
180
216
146
160
164
133
185
200
146
173
211
222
192
217
217
184
164
185
133
208
162
200
158
220
158
183
180
122
146
174
155
206
156
163
176
212
210
202
173
220
145
225
160
243
185
164
156
130
222
162
202
183
168
179
218
115
218
179
233
174
233
130
200
168
145
189
269
204
238
130
168
144
181
204
232
176
162
256
173
229
159
177
174
205
202
303
229
158
180
267
146
162
164
182
132
215
250
146
168
204
224
174
192
149
173
228
244
171
160
256
146
185
230
176
146
208
166
230
185
213
203
164
204
172
185
176
209
168
234
173
149
215
182
198
129
162
146
202
176
208
186
255
200
213
210
225
189
228
150
146
202
227
166
193
215
176
143
236
166
260
234
181
176
141
185
157
221
147
145
211
201
130
191
250
140
221
200
169
190
261
189
235
186
178
186
221
168
176
216
173
190
171
189
189
168
186
204
188
164
168
250
230
150
160
224
210
203
164
168
129
174
242
272
180
206
141
212
173
153
186
145
141
122
146
177
168
166
130
190
185
230
175
222
200
129
166
256
185
255
217
243
176
143
229
158
247
192
258
265
283
240
221
179
184
147
234
146
191
133
176
261
177
169
146
227
141
166
236
186
237
133
182
146
190
210
182
238
249
133
157
172
180
145
261
150
227
236
193
129
133
227
204
196
257
176
204
194
251
143
164
183
209
201
173
178
115
182
212
243
168
195
186
203
146
206
253
145
186
222
217
232
173
129
195
211
204
199
167
231
182
160
191
167
197
231
200
219
178
294
192
251
122
227
272
238
158
130
181
186
265
161
237
173
164
230
276
164
176
149
205
235
222
156
257
167
187
160
189
191
300
213
202
194
189
210
154
217
217
150
164
133
129
176
160
130
172
210
266
211
295
146
210
207
217
146
231
201
236
221
180
204
115
283
146
146
228
197
234
143
129
173
225
204
207
180
236
229
228
201
230
128
175
239
158
191
185
196
217
201
268
185
185
193
163
145
155
150
145
210
207
198
220
215
184
176
206
184
219
224
149
129
201
179
230
291
263
201
229
210
259
227
168
133
195
176
189
262
168
130
195
190
203
238
174
211
178
255
217
183
204
164
210
225
198
214
157
187
133
202
208
183
210
130
146
183
188
130
148
218
292
253
185
264
133
203
184
180
201
184
225
146
178
226
152
199
176
155
133
204
133
180
129
169
229
190
211
129
178
200
156
173
183
175
181
192
186
250
201
230
158
155
150
191
221
166
129
133
238
133
191
166
173
172
217
212
173
200
262
133
157
176
176
168
178
200
182
198
158
226
183
271
189
287
186
242
180
168
143
133
254
167
146
193
174
201
176
202
186
212
214
201
197
300
130
268
190
234
173
150
236
221
217
156
115
222
155
162
201
216
164
228
179
206
272
133
151
141
146
210
229
200
184
182
241
180
181
238
128
205
145
188
240
146
230
129
231
208
192
238
260
176
168
211
184
219
171
272
167
189
115
173
150
218
158
185
246
209
205
153
245
144
179
176
160
138
189
133
179
201
179
145
213
241
176
184
176
195
146
231
254
173
182
189
129
209
163
221
129
226
187
146
250
230
174
230
210
228
176
130
141
176
184
255
151
133
259
259
270
201
184
217
133
235
178
215
214
251
173
133
179
174
235
161
168
174
204
129
288
213
230
248
173
199
188
242
152
185
256
209
210
209
145
227
246
203
227
295
130
227
150
115
146
173
202
215
151
204
175
253
229
179
216
181
212
221
206
240
130
165
143
211
260
183
150
193
129
185
235
156
168
129
182
212
183
242
184
256
175
168
168
210
239
198
130
129
247
224
181
215
178
145
215
200
228
225
129
150
174
183
210
154
234
174
152
168
129
187
164
264
234
211
235
185
189
185
239
233
228
222
182
163
249
130
130
178
230
129
208
152
255
146
170
160
189
115
130
189
130
164
186
204
191
245
185
146
192
192
206
237
187
227
335
175
133
145
138
183
179
256
172
130
251
228
173
146
162
143
156
168
227
260
163
122
187
192
168
158
197
173
233
132
162
242
229
176
150
130
236
223
237
162
243
176
199
171
175
191
187
160
223
184
211
191
158
217
252
182
178
186
181
195
203
223
173
160
185
206
220
173
173
194
308
187
191
189
227
274
200
210
237
222
222
264
195
182
176
174
156
149
176
221
189
238
181
166
185
201
225
144
206
228
241
180
183
201
200
184
129
217
216
145
252
181
178
145
177
204
228
182
184
186
261
247
250
143
227
160
130
247
181
195
221
248
225
227
224
145
210
179
204
197
176
225
214
204
269
185
200
194
227
168
217
171
199
157
130
199
172
130
173
172
204
325
204
162
187
145
214
211
183
146
115
169
151
213
129
199
213
176
173
185
172
150
271
173
236
189
206
146
239
189
190
223
188
212
180
212
145
200
164
197
210
171
130
145
168
115
200
178
214
138
174
186
255
216
199
129
173
185
162
146
189
199
150
335
189
184
231
217
211
141
216
202
179
173
271
289
187
244
244
178
183
240
180
238
160
201
162
130
215
200
188
202
173
172
166
143
146
193
224
179
200
269
201
129
171
239
171
270
130
307
176
191
157
146
115
197
190
188
269
184
200
169
204
156
184
237
246
209
143
238
191
234
221
181
162
236
192
172
179
195
115
175
157
238
184
156
184
172
129
237
129
194
221
129
115
158
216
174
205
186
257
183
169
173
166
175
214
217
259
217
129
173
152
207
236
198
238
156
217
179
264
184
216
230
197
199
158
183
204
172
236
217
185
182
205
178
146
173
173
273
184
246
236
211
176
231
190
182
146
181
169
145
189
210
188
217
217
130
149
192
189
176
235
188
188
192
176
147
191
176
240
172
176
129
212
149
217
176
145
122
217
166
176
211
204
247
173
162
174
170
201
173
133
300
210
211
236
146
204
210
180
212
209
173
146
122
184
181
164
191
188
259
173
178
207
210
150
187
146
225
129
239
186
138
165
211
155
219
197
185
119
179
129
164
210
231
208
178
173
254
172
158
200
141
119
211
261
143
179
191
238
143
199
164
242
214
144
145
285
190
256
181
229
168
278
146
181
251
133
170
129
155
299
264
173
173
205
187
115
122
128
264
189
129
207
167
315
178
189
205
211
145
234
277
184
256
197
236
204
217
115
204
146
183
150
161
203
210
156
166
146
130
292
187
162
237
258
216
216
148
259
173
232
180
218
202
157
214
171
146
242
188
232
210
176
265
208
194
236
162
182
138
133
211
179
195
249
221
146
242
133
143
174
228
231
229
145
210
247
203
200
237
200
185
179
245
164
146
158
217
156
183
173
143
229
194
259
156
248
145
239
209
204
179
197
146
195
191
208
129
188
247
166
201
210
155
210
115
133
219
184
229
162
179
244
157
213
185
252
236
221
146
197
158
193
133
115
183
230
129
281
129
143
262
280
195
188
232
270
160
217
185
230
160
172
252
178
225
158
133
190
272
145
153
252
137
115
155
250
212
138
240
217
174
222
180
130
197
173
150
203
270
179
209
122
150
231
239
206
180
202
287
173
143
150
130
184
182
164
204
207
231
222
165
221
227
317
143
211
246
188
192
141
129
173
145
217
191
268
130
221
246
167
189
264
208
195
258
162
184
231
222
173
271
180
199
169
206
214
214
176
190
189
238
176
210
147
183
233
210
201
215
115
162
204
160
119
286
237
275
130
186
250
207
274
162
208
164
167
168
191
182
246
245
179
221
183
129
176
211
264
210
247
178
173
171
195
130
138
204
179
191
146
183
266
219
244
240
184
174
162
200
229
183
262
129
201
260
183
225
115
164
162
211
210
155
176
130
130
162
171
146
188
152
217
181
180
245
185
222
130
146
162
178
255
174
149
122
208
209
179
201
262
210
191
143
211
199
172
211
158
146
211
200
200
115
217
150
115
179
209
201
180
184
211
204
214
262
172
174
184
229
197
161
129
179
202
133
129
183
169
155
211
205
183
230
202
150
130
200
191
243
181
184
200
207
155
246
145
191
184
214
179
180
226
188
200
151
169
176
252
179
192
248
274
210
233
217
185
129
176
221
207
202
228
156
243
237
214
240
168
273
176
129
176
187
172
161
264
194
188
214
115
129
204
182
172
191
146
198
193
219
187
115
235
209
176
206
130
188
172
201
230
177
173
195
115
200
218
221
171
164
217
170
182
179
190
171
225
180
176
217
179
195
241
129
129
201
158
150
191
177
178
133
209
217
122
175
161
214
176
204
163
192
256
257
248
172
148
200
206
219
146
211
133
133
155
201
169
154
164
209
218
166
295
172
171
215
179
173
211
184
190
188
211
130
185
201
201
191
201
182
155
263
202
181
167
238
202
200
282
180
199
157
188
169
203
176
187
130
214
254
243
189
227
133
129
183
189
146
210
173
146
144
183
237
191
200
277
158
227
239
191
129
236
225
221
182
220
173
149
205
249
146
146
129
214
218
143
206
199
175
208
234
229
164
174
218
180
234
161
241
188
213
162
185
249
218
182
157
222
203
276
115
239
185
192
235
173
206
271
199
226
202
210
138
210
203
248
150
200
129
162
203
164
285
170
175
261
173
171
178
178
129
192
202
247
169
124
133
235
194
181
220
251
222
162
251
176
193
174
173
194
164
173
115
186
146
231
335
176
181
277
212
193
264
176
191
177
207
183
176
230
200
122
283
189
240
184
179
224
204
201
128
235
145
188
164
205
171
265
130
172
173
184
218
129
115
166
161
165
115
244
204
173
217
130
259
182
203
204
265
189
129
146
190
173
176
185
182
156
235
175
206
190
211
237
192
167
215
186
186
156
230
193
218
242
171
209
171
209
146
263
145
210
146
143
145
183
269
184
178
176
236
299
130
191
171
233
204
155
191
129
221
133
182
184
202
195
195
184
170
179
182
185
210
191
176
247
206
204
182
187
176
169
200
185
145
130
183
168
204
206
143
217
145
199
209
220
178
207
206
191
193
222
168
201
179
173
115
192
211
203
198
128
215
241
287
173
209
157
231
191
185
202
191
156
244
171
167
182
185
281
175
129
162
151
222
176
230
253
196
204
141
168
223
208
162
202
201
224
179
172
210
245
182
133
174
184
244
161
225
176
188
244
133
210
200
171
193
206
221
145
182
189
143
162
202
133
150
216
191
255
182
164
129
196
155
188
187
214
146
204
211
162
162
211
190
259
173
183
203
158
226
171
168
216
202
162
160
161
195
129
251
190
261
210
130
202
204
177
227
224
242
207
206
204
193
202
259
176
202
207
155
194
173
156
211
236
268
192
218
190
244
204
234
259
208
194
237
248
247
143
236
215
177
268
141
204
192
183
188
238
129
229
190
166
182
210
191
223
164
211
180
145
129
210
179
158
216
141
231
198
217
129
221
193
191
200
166
195
217
211
168
232
230
204
173
261
271
183
178
173
160
260
209
241
248
206
180
198
183
268
246
146
155
182
162
141
211
200
204
164
181
191
200
129
176
187
168
243
237
233
224
204
255
181
219
176
150
202
187
160
247
207
239
133
119
182
173
133
237
244
129
244
180
339
179
179
210
129
162
206
287
252
217
193
236
300
145
129
272
145
133
230
267
174
176
204
143
188
225
145
173
161
214
156
214
202
176
173
160
200
200
202
179
265
222
218
239
146
129
173
143
232
262
173
129
230
165
174
244
242
158
159
221
146
182
181
172
204
270
133
226
182
145
133
146
168
130
172
162
217
194
178
185
204
184
197
180
146
204
203
180
181
146
172
206
229
129
206
210
227
216
187
162
193
192
193
133
227
230
143
251
255
256
234
146
222
176
200
183
157
222
129
138
234
169
146
148
217
149
242
222
206
230
173
255
145
200
189
192
200
240
174
144
193
210
146
176
272
168
217
185
247
259
203
129
261
115
115
175
284
234
234
181
175
181
178
202
129
173
227
224
129
168
202
228
204
146
130
236
247
236
217
166
172
221
225
182
246
141
202
247
176
147
230
195
201
285
201
178
164
188
190
133
210
130
180
150
146
138
160
129
244
202
222
237
222
184
200
185
217
189
158
210
207
164
143
181
204
156
236
217
191
176
141
203
161
333
155
189
216
208
238
194
199
204
209
206
296
230
157
138
181
202
171
138
196
255
129
201
155
158
236
274
171
185
197
176
156
198
210
211
211
293
252
184
193
263
166
246
156
231
173
171
173
248
244
186
245
192
122
130
161
115
235
209
215
212
184
152
234
146
226
153
217
176
219
166
261
217
252
300
238
129
200
133
183
200
115
194
173
204
170
247
160
173
202
211
200
166
208
197
143
185
161
192
264
164
164
188
167
174
168
168
174
130
214
173
188
130
122
191
188
225
234
158
274
202
186
217
201
178
216
130
186
198
145
155
129
169
173
203
164
237
203
150
257
178
130
146
184
189
129
165
277
225
189
176
192
206
168
153
158
247
278
169
129
173
205
162
176
199
143
143
227
259
246
197
271
225
247
226
211
183
242
162
275
192
234
172
247
240
149
133
225
219
165
176
145
191
208
201
170
146
210
184
158
199
214
192
193
143
183
201
215
146
274
200
226
335
246
156
199
184
273
170
164
208
146
265
156
162
209
178
174
292
164
194
190
149
151
184
210
209
171
158
234
208
254
260
222
156
230
210
202
185
194
164
188
162
185
183
253
184
179
179
166
218
143
209
175
178
217
173
221
141
146
146
173
122
238
193
164
227
130
166
218
207
166
213
162
190
195
164
211
173
238
217
204
256
200
180
246
211
263
155
115
178
179
162
115
157
191
177
129
182
242
171
168
190
204
209
176
243
141
288
217
146
248
261
230
211
224
184
234
146
145
252
161
157
179
162
204
115
213
122
184
230
238
204
248
199
201
197
129
146
222
199
206
129
210
266
216
239
281
190
242
199
167
204
261
188
193
188
207
194
178
204
294
162
187
230
179
173
211
206
161
201
335
176
168
196
197
188
203
221
192
221
182
129
168
225
204
129
130
192
130
205
240
160
205
144
171
231
179
204
168
230
173
213
160
173
176
180
221
205
181
158
190
201
245
191
129
181
164
252
181
160
237
213
200
200
192
173
115
179
172
282
177
289
158
202
156
256
180
133
115
129
173
129
225
133
261
176
221
294
205
191
265
228
129
202
236
164
145
170
157
138
216
235
245
191
159
189
259
174
129
236
222
203
295
128
221
146
130
170
247
184
172
168
224
182
200
212
182
251
222
174
171
214
209
122
155
133
171
222
199
262
239
162
206
206
115
182
225
163
181
181
204
190
177
230
185
227
143
173
217
146
179
179
283
204
166
166
224
176
204
169
242
129
150
198
171
289
176
176
143
197
172
173
233
182
240
143
235
145
242
185
188
157
242
198
149
211
246
158
146
204
145
173
240
207
249
191
173
214
186
230
183
176
146
193
185
266
208
185
132
199
227
146
205
168
217
176
227
241
205
163
202
176
129
178
197
164
268
221
168
228
218
204
231
146
216
241
247
176
225
252
263
184
173
184
230
248
188
231
235
184
150
211
236
205
196
128
210
282
230
195
191
155
288
156
217
237
190
183
182
182
254
160
252
214
211
194
178
164
191
184
169
191
257
191
158
180
162
217
206
206
182
226
182
173
130
242
162
179
172
145
188
204
180
153
188
122
150
176
130
208
225
229
335
218
216
122
225
141
206
216
146
115
221
222
172
150
143
178
164
214
200
222
212
133
130
146
238
129
225
200
205
115
180
177
146
146
191
181
210
274
202
167
255
202
176
172
217
145
168
194
190
177
221
189
129
182
208
224
259
171
155
129
158
146
165
196
180
238
221
236
162
187
208
183
151
198
203
236
192
250
130
155
248
239
260
184
227
188
183
164
172
160
253
239
187
195
172
183
147
248
219
184
191
129
176
152
231
176
175
162
159
157
230
195
183
204
162
225
239
204
183
184
191
192
143
190
130
221
209
229
238
231
176
130
138
155
171
146
153
173
172
264
266
205
188
188
176
143
172
206
130
176
241
176
186
204
187
221
160
166
180
192
168
194
180
187
149
172
179
187
201
227
269
166
222
179
229
178
199
217
207
146
164
176
129
176
146
204
173
176
270
169
173
219
145
273
122
220
217
171
146
207
217
247
155
146
179
146
182
213
138
180
130
195
115
153
226
208
175
143
209
145
150
189
130
182
122
158
152
183
237
196
203
200
183
230
153
191
141
143
169
129
247
193
162
270
149
183
161
180
184
214
158
130
138
226
146
129
162
191
200
236
221
204
204
221
151
210
129
158
129
217
173
236
240
202
219
122
229
235
210
179
191
238
202
130
206
196
128
150
192
189
146
168
198
223
228
204
133
238
190
176
170
185
159
242
216
115
180
133
238
189
233
176
175
177
194
244
115
173
122
192
198
239
219
183
208
132
260
173
129
170
199
189
224
160
129
164
162
210
204
182
213
229
201
130
160
210
175
115
203
164
201
245
180
228
274
172
180
213
187
219
202
297
216
158
204
183
180
217
169
146
180
174
200
130
244
170
185
296
181
197
203
144
166
204
190
145
192
194
143
201
191
225
168
229
201
176
161
210
201
230
173
201
169
198
218
170
166
214
164
184
170
193
149
200
168
173
211
229
222
206
264
191
300
251
223
199
235
288
247
168
129
184
143
219
150
169
176
204
303
173
190
173
240
234
191
155
200
210
204
227
283
146
223
209
199
145
191
207
147
156
173
243
176
242
164
164
203
204
162
183
183
146
166
183
222
190
200
211
191
180
277
158
225
179
145
128
270
145
173
173
200
217
176
147
200
173
176
262
216
256
232
217
222
193
170
187
173
210
202
130
192
204
217
129
246
211
132
257
213
267
129
232
178
204
189
206
255
130
198
237
200
205
258
184
143
234
214
168
211
210
239
168
200
200
162
184
225
180
133
182
165
205
158
224
204
173
176
164
248
225
174
217
146
129
219
168
231
131
204
168
222
161
210
182
200
200
130
189
219
115
188
274
129
187
129
225
184
179
238
232
182
214
156
201
143
191
249
200
183
158
133
223
202
130
165
192
151
229
179
130
202
122
138
177
201
180
195
182
156
185
155
186
164
129
145
167
204
205
183
212
161
173
158
152
208
169
206
168
173
141
197
176
202
202
175
195
184
201
185
201
191
130
129
202
258
219
130
172
157
191
180
186
130
217
115
207
193
207
208
200
185
141
176
201
185
181
204
289
218
176
200
145
164
247
168
236
129
174
141
236
257
185
187
330
146
217
198
225
174
246
173
174
260
228
181
208
166
177
147
186
201
227
178
231
173
193
233
166
179
156
178
221
146
242
231
141
214
193
180
211
156
210
185
190
239
193
259
228
238
230
214
168
211
165
158
252
146
230
192
206
254
201
204
205
182
263
173
265
179
269
203
232
180
129
129
122
173
309
157
197
158
241
228
261
234
189
158
184
146
206
170
129
211
157
147
176
191
210
225
238
171
149
153
202
158
201
202
173
211
152
129
175
115
178
230
150
203
201
200
201
246
224
277
214
313
225
173
153
249
157
198
179
130
181
209
225
200
225
251
173
230
129
209
176
204
210
171
184
222
202
227
179
162
237
289
259
217
175
259
146
151
230
276
176
191
194
246
183
184
217
173
184
166
129
179
164
216
115
150
145
210
193
176
179
160
210
201
204
198
156
227
207
184
191
186
204
171
213
204
253
204
222
160
166
212
222
176
145
239
211
210
197
172
217
159
202
211
183
200
162
188
215
164
239
147
243
129
213
230
217
226
186
166
183
227
133
173
204
211
157
216
177
202
169
133
225
208
188
179
190
155
206
208
224
186
189
130
198
146
171
172
183
177
206
173
210
167
180
216
147
195
176
161
251
201
184
155
226
230
184
130
208
133
172
162
273
189
215
178
164
262
193
286
214
176
257
257
204
181
186
145
201
196
173
213
171
146
130
258
158
238
256
208
162
188
253
158
156
251
162
217
146
157
150
144
283
115
233
188
174
216
183
184
230
272
227
180
146
173
297
234
211
210
256
211
182
230
130
198
115
216
244
229
227
146
185
193
180
175
200
173
178
236
150
214
206
166
145
184
200
130
205
238
183
211
235
209
217
184
138
222
186
183
196
217
146
255
130
195
206
176
262
168
207
172
130
160
145
280
197
200
130
188
151
245
187
184
146
157
180
210
206
195
246
335
182
244
173
242
185
211
194
158
258
239
195
146
222
122
221
149
210
260
157
176
155
162
188
228
177
178
202
185
221
143
267
240
218
207
170
195
143
215
180
190
204
170
146
173
176
292
176
171
229
151
204
206
222
191
115
184
180
222
157
146
157
159
233
230
223
147
194
203
206
191
175
262
157
130
194
233
172
185
215
199
210
237
164
130
180
146
201
195
208
155
217
274
173
150
206
191
199
149
129
199
130
153
210
128
191
130
170
200
174
138
200
190
176
133
185
183
272
204
268
236
204
219
225
143
133
156
210
158
173
272
222
246
217
132
229
211
238
185
212
290
201
192
174
255
204
175
171
240
195
157
173
215
188
263
210
173
263
210
187
173
245
129
130
178
244
222
236
238
184
146
141
158
182
214
242
179
235
183
183
179
232
230
195
292
161
221
173
230
217
168
143
193
158
201
217
205
176
190
230
267
176
158
146
173
229
176
141
152
200
181
202
183
173
261
130
212
204
264
206
199
193
176
214
130
224
173
229
146
202
162
161
144
216
161
149
203
207
242
168
202
220
236
176
182
205
138
195
173
178
150
155
146
203
179
130
184
178
175
206
236
168
192
155
250
178
201
179
164
172
170
209
157
201
259
115
200
193
219
143
258
176
229
219
217
173
201
129
274
259
146
192
198
218
150
193
206
217
183
244
129
176
166
185
256
146
146
188
178
159
229
231
230
257
221
285
122
236
164
194
211
150
181
265
251
225
263
181
202
194
261
187
162
115
157
130
264
192
130
210
255
223
158
178
174
206
182
205
218
132
287
242
160
180
185
146
187
172
158
214
165
190
210
156
174
233
145
141
170
222
175
146
191
194
129
176
206
173
130
170
200
199
149
160
130
204
176
148
173
159
164
185
246
256
236
249
178
200
133
232
146
202
233
162
195
339
204
199
129
185
213
193
191
217
210
173
169
191
185
218
178
222
192
335
128
241
146
170
205
221
235
184
183
254
177
262
216
132
178
173
115
224
225
238
146
163
166
187
130
216
191
165
210
130
129
230
162
227
180
275
205
190
178
246
268
145
162
208
235
206
252
176
183
168
145
198
252
181
201
194
158
204
188
186
184
145
130
166
130
155
214
233
257
210
233
219
149
168
213
182
214
204
182
217
163
229
201
145
129
210
182
248
202
130
207
235
173
155
145
192
150
221
189
179
217
146
205
139
157
184
206
162
191
212
187
226
163
162
146
197
189
288
184
206
247
168
222
204
190
221
182
212
202
173
200
188
149
265
202
155
168
187
197
162
176
236
173
203
164
186
264
199
302
228
150
211
172
133
195
176
181
247
211
264
208
173
230
182
143
130
211
146
150
184
247
175
180
165
172
216
199
130
202
204
201
168
204
119
246
168
217
194
173
146
209
210
202
146
192
223
185
257
256
223
162
146
129
231
149
174
258
206
201
146
184
230
146
204
115
170
263
150
150
130
143
143
214
155
178
253
250
209
178
225
228
184
176
238
247
198
172
225
153
176
115
160
210
130
260
182
192
293
180
115
185
145
239
181
115
186
181
214
211
166
201
203
130
219
217
244
162
189
194
217
219
160
221
204
180
180
190
211
232
185
191
210
229
210
195
156
217
265
166
204
217
263
200
229
146
153
231
217
230
201
184
254
206
228
179
169
206
201
220
202
176
237
130
163
201
161
218
168
130
181
201
228
176
185
171
130
153
239
271
204
194
129
256
183
199
222
201
208
168
227
169
211
217
210
201
145
200
251
191
161
190
157
133
143
222
162
155
204
186
179
236
201
200
199
129
147
138
198
183
222
169
225
160
211
204
173
170
209
181
189
198
176
178
189
150
263
130
179
115
204
203
255
129
208
173
164
129
146
204
188
179
204
197
148
158
237
188
260
204
217
163
178
197
130
151
200
191
201
146
182
186
203
131
133
206
137
146
158
243
175
210
264
216
176
176
217
130
196
193
195
145
191
173
129
241
158
130
216
185
192
177
147
257
197
129
253
168
173
180
180
226
204
162
132
238
210
196
238
203
129
182
171
141
197
201
202
204
176
159
280
210
198
173
222
179
179
150
200
246
130
260
215
186
183
205
204
305
173
204
155
155
239
145
206
210
188
202
203
171
298
223
183
172
255
216
308
129
176
162
227
213
183
178
189
176
173
171
195
239
167
169
153
232
261
210
217
166
210
204
212
155
173
150
211
292
270
199
227
199
232
238
145
188
176
150
209
200
194
191
193
325
173
179
236
190
173
243
152
190
202
180
143
203
155
194
185
158
164
191
173
144
166
151
206
215
175
156
238
133
216
189
173
130
225
201
173
178
221
265
164
179
173
255
115
183
199
150
218
252
213
192
174
173
195
239
257
159
200
226
221
206
231
146
200
187
192
261
197
119
164
204
238
191
182
146
246
146
201
190
208
275
185
192
228
146
176
173
201
141
212
189
162
129
172
158
144
231
173
184
199
206
273
239
197
174
115
209
303
166
217
211
185
214
234
189
191
202
192
236
211
132
199
193
212
146
270
146
210
209
209
203
154
156
210
206
212
269
129
158
176
209
263
179
206
115
210
203
247
176
249
251
215
210
180
324
315
204
200
173
165
161
184
153
204
167
201
212
244
217
176
180
196
234
224
221
157
180
130
204
214
170
227
154
229
185
179
197
244
183
193
182
200
180
217
179
206
185
255
178
168
155
148
161
176
199
211
208
250
227
182
195
183
172
172
194
175
239
179
192
242
261
197
198
167
179
162
162
218
185
313
178
252
252
150
233
199
187
241
168
162
146
115
217
158
217
129
246
162
240
129
288
178
225
238
214
217
133
146
129
204
209
219
294
146
174
246
147
146
189
162
204
182
176
155
189
212
244
238
210
188
155
274
183
210
162
238
206
190
162
204
184
192
192
183
217
173
181
210
264
115
196
219
168
143
177
149
172
181
241
137
200
129
236
161
180
191
228
193
221
218
152
204
229
217
245
199
210
187
225
171
200
169
130
180
212
276
217
204
205
184
175
211
143
176
221
151
212
189
224
184
217
246
115
201
180
251
169
129
256
178
204
240
168
182
129
245
149
133
182
175
264
202
176
182
184
216
143
204
198
230
146
174
180
188
180
204
204
217
138
225
191
200
203
158
171
186
214
193
187
225
185
130
162
146
150
176
247
183
199
180
191
237
130
178
122
179
176
201
177
173
158
202
133
214
210
169
191
214
203
210
213
165
146
145
210
200
211
150
200
333
158
209
129
225
179
204
211
209
166
207
230
130
166
236
181
115
221
182
210
146
189
161
168
244
141
188
146
188
173
164
226
188
214
258
130
182
201
143
208
218
182
250
155
177
173
176
236
176
184
173
200
210
172
143
151
129
145
162
156
179
210
146
147
173
188
197
160
249
198
280
172
178
320
200
206
172
173
164
179
145
287
179
303
178
195
202
144
175
261
226
218
173
143
322
224
183
210
154
178
129
163
200
228
155
156
192
160
201
202
204
191
225
230
236
158
180
115
181
173
178
228
207
188
165
176
200
173
166
180
226
195
269
222
155
146
143
212
245
157
209
270
217
214
250
115
226
160
230
130
225
144
190
210
197
218
177
210
169
176
189
158
204
211
164
138
122
210
132
242
190
141
296
173
275
244
199
217
173
186
278
164
157
162
176
206
129
166
210
217
231
296
191
156
176
201
202
204
230
245
129
220
267
199
207
156
207
191
187
227
129
274
190
241
196
129
200
209
200
138
204
224
130
150
211
183
176
225
132
196
167
173
213
185
210
143
186
173
261
208
179
149
172
264
236
231
202
282
198
303
184
183
245
146
195
218
129
279
217
265
198
164
196
122
133
175
176
189
190
273
175
178
209
204
239
173
168
203
188
253
205
188
178
212
200
184
202
162
234
183
145
187
295
146
154
146
129
204
198
185
246
146
189
228
206
219
217
165
169
180
179
169
242
262
176
185
201
189
130
202
246
193
184
177
238
192
129
146
179
180
215
204
376
184
200
129
158
146
179
232
164
190
176
168
133
208
145
185
180
194
231
141
180
166
243
238
210
204
165
212
248
197
177
234
200
183
169
228
217
231
263
130
235
159
204
230
200
184
146
237
239
215
281
226
188
155
224
178
171
178
183
229
156
130
228
157
210
170
187
287
149
145
227
216
225
194
214
250
191
232
145
173
129
213
179
233
148
238
244
217
141
278
181
197
259
130
177
230
235
221
228
201
203
146
240
145
256
243
221
141
181
231
235
164
210
249
180
226
191
173
210
178
238
178
218
250
195
145
183
178
216
251
129
253
171
231
155
212
170
133
203
191
182
165
219
158
169
157
143
181
195
221
183
138
230
184
244
199
191
146
183
190
187
192
207
130
242
153
184
168
184
187
202
156
213
200
180
236
143
115
173
186
188
204
133
283
182
180
192
186
129
190
189
227
146
219
158
192
217
202
162
258
129
214
129
146
176
199
217
115
234
188
210
210
129
236
178
178
283
129
293
166
191
185
184
252
211
184
221
160
146
217
222
162
182
204
195
176
176
150
254
206
150
160
217
210
130
130
184
152
180
152
235
176
133
212
261
204
201
192
194
247
202
150
262
176
190
268
184
195
204
162
255
173
169
169
200
176
205
335
211
130
146
176
155
146
184
203
198
231
214
164
229
270
188
182
129
179
239
259
211
225
162
211
218
216
149
205
132
164
204
247
173
226
222
190
180
161
244
238
181
155
171
211
168
188
309
186
202
170
164
160
130
176
216
143
204
176
200
181
191
143
162
250
213
181
204
168
184
230
170
197
218
218
242
146
157
129
319
210
133
130
227
213
180
164
178
129
164
256
220
176
246
174
183
230
165
263
146
176
214
183
130
178
183
210
130
165
172
236
155
157
223
214
182
190
176
249
220
201
189
181
222
227
188
219
168
157
180
178
176
292
148
132
155
152
140
252
229
225
211
146
173
188
130
200
129
221
199
202
176
145
239
132
130
145
204
177
158
213
206
132
130
173
281
216
155
183
176
145
275
191
170
203
210
213
202
274
158
143
179
147
146
200
199
173
202
219
179
212
171
156
204
217
146
129
178
204
122
204
219
211
242
201
228
239
196
141
130
127
146
210
191
183
170
182
197
223
186
216
185
241
190
210
173
218
187
180
152
130
252
146
186
203
218
130
214
186
129
155
176
168
146
265
201
251
294
285
238
203
221
149
168
173
144
129
204
210
197
150
180
209
261
164
129
230
206
256
204
191
128
254
214
169
164
178
250
184
168
149
146
158
222
179
180
170
243
143
248
129
201
202
232
171
211
170
193
231
223
171
256
263
266
193
209
191
179
204
146
315
190
242
178
146
168
138
173
149
204
184
130
162
208
220
183
228
130
242
197
164
169
151
197
195
183
191
171
240
184
202
173
236
178
146
183
145
228
201
129
130
157
195
216
221
179
190
173
157
201
274
187
185
164
236
170
183
216
168
203
176
187
184
167
225
190
128
156
239
204
183
236
146
186
178
161
231
210
211
164
179
257
129
176
254
162
162
204
210
239
234
184
201
201
204
241
162
143
194
180
194
164
168
169
238
201
130
170
173
210
217
202
130
183
180
168
281
246
238
143
175
155
133
208
238
153
211
129
155
227
133
251
302
150
149
255
273
162
146
272
307
166
177
143
202
274
231
173
184
167
172
221
259
188
201
179
164
209
195
244
176
210
264
155
143
192
129
191
170
155
182
204
206
224
146
178
146
179
141
206
195
146
268
204
217
115
236
146
237
168
146
189
183
143
115
239
176
146
221
234
197
183
253
257
216
122
129
129
145
274
214
182
192
184
179
172
202
225
228
251
216
190
163
155
223
130
183
200
228
177
184
150
209
204
133
210
192
230
141
183
158
184
301
166
181
130
171
211
162
211
176
247
210
264
144
155
236
252
206
225
147
164
178
190
197
162
236
247
209
335
200
217
210
195
229
165
213
211
262
200
157
209
150
197
279
146
170
181
236
210
182
137
170
206
173
217
261
236
209
182
201
162
202
181
246
274
157
229
174
168
145
274
211
202
168
115
146
130
283
149
178
201
158
204
146
146
145
241
174
200
183
231
274
257
228
147
204
180
162
202
245
174
194
252
263
193
237
158
248
205
246
225
157
166
168
201
198
178
162
179
138
174
188
177
143
148
155
191
193
220
225
176
160
340
173
171
131
129
235
198
202
133
179
162
155
173
167
158
263
162
174
188
158
238
208
193
165
214
162
241
204
228
263
164
180
158
156
173
228
210
221
210
199
155
214
213
261
192
192
210
199
264
236
233
294
173
261
249
133
228
195
202
130
204
218
201
193
172
176
192
195
115
133
119
176
228
206
164
296
183
301
185
224
236
217
201
141
162
201
145
178
209
115
188
143
220
178
198
213
251
210
155
204
211
201
217
177
226
147
189
158
230
195
158
193
260
227
230
176
143
150
187
188
201
141
119
157
252
275
129
155
193
227
146
211
299
178
160
178
210
235
156
150
247
219
201
146
132
205
225
201
164
197
299
263
176
166
230
221
207
199
173
272
178
158
263
138
189
211
146
185
224
205
231
159
162
181
129
230
129
195
210
129
202
205
232
261
182
115
179
230
146
164
195
193
195
215
221
206
230
205
218
250
242
181
182
335
173
141
229
179
129
228
212
173
193
171
239
179
183
182
164
163
210
182
239
228
130
168
245
115
239
176
270
145
129
247
216
115
216
210
201
208
200
176
132
184
192
183
202
203
281
160
294
246
143
192
179
156
130
191
235
195
173
206
238
165
211
129
200
165
168
194
175
241
318
184
197
198
189
199
146
228
129
216
202
158
146
203
173
235
201
200
129
143
141
179
240
130
230
147
268
158
129
185
191
224
187
211
205
188
168
239
235
243
177
225
206
215
195
202
235
157
149
216
146
173
180
138
179
210
184
179
195
160
197
199
176
192
175
115
193
242
185
217
235
183
185
186
162
176
266
150
185
206
182
179
216
152
216
143
199
130
201
205
210
156
130
200
182
164
210
176
192
210
196
211
217
221
230
176
143
217
213
191
180
202
176
205
184
188
188
129
250
200
187
146
164
211
168
188
247
115
174
212
239
204
238
181
200
221
206
190
144
212
235
171
151
311
216
195
183
247
164
227
173
168
201
209
186
186
195
300
129
143
129
204
250
194
141
203
131
176
239
175
193
217
196
243
188
144
246
180
222
146
213
195
259
156
150
233
198
221
176
190
222
269
248
204
182
211
203
179
173
130
192
259
190
133
229
156
183
138
188
183
199
200
187
162
150
166
159
190
186
245
146
184
261
158
145
129
182
201
192
138
175
129
235
210
219
200
213
238
246
192
202
160
130
129
129
202
162
287
228
146
250
258
155
233
188
177
157
274
157
217
161
154
153
275
178
143
241
230
195
176
236
236
206
187
173
141
204
208
176
217
175
187
227
203
226
247
145
144
221
212
236
205
179
214
164
129
240
180
181
231
132
218
186
179
158
228
190
177
162
164
150
178
276
184
246
191
217
180
201
188
176
175
161
206
201
176
245
211
164
171
252
169
234
213
129
173
146
200
162
190
206
251
211
164
185
208
210
130
218
261
289
242
228
130
187
184
218
247
176
173
127
178
122
183
176
200
130
181
168
181
211
202
160
129
184
146
179
147
200
192
173
201
205
171
219
162
209
130
169
201
129
119
176
225
160
211
198
214
179
156
192
238
229
129
183
168
191
130
217
230
230
161
203
213
158
204
201
242
147
244
129
228
246
188
206
179
168
163
189
215
205
171
235
173
233
172
180
129
273
169
194
138
176
193
200
231
183
158
238
146
130
171
129
199
179
249
184
204
217
163
163
211
147
176
176
133
216
177
216
217
178
173
132
269
195
133
201
219
271
225
176
192
216
215
147
202
200
146
196
219
180
252
184
249
197
230
168
282
210
162
191
151
216
254
214
155
259
189
149
205
171
210
115
204
171
191
178
187
192
178
175
224
181
246
217
146
146
204
217
247
217
166
173
129
168
129
221
201
143
281
146
318
191
201
193
145
151
158
204
214
260
189
173
183
232
159
210
192
182
184
129
240
182
206
242
162
143
129
190
209
146
166
168
187
176
188
188
250
202
180
180
176
219
130
132
168
209
193
185
169
162
147
184
141
162
281
206
176
158
115
248
173
191
146
171
164
260
186
187
128
180
201
208
169
133
160
130
222
147
115
236
130
129
241
228
185
222
246
122
188
200
212
217
211
130
188
171
181
130
130
156
214
179
161
180
202
182
176
184
165
236
204
169
228
164
180
201
129
188
188
201
211
219
183
234
166
184
258
187
221
129
233
173
238
240
182
206
170
200
168
245
200
204
185
129
238
145
206
204
182
236
145
194
204
239
130
194
195
150
203
188
206
164
210
225
204
246
188
161
204
210
245
130
206
185
221
182
138
158
191
162
251
206
145
169
182
173
215
204
198
145
160
149
168
173
211
229
237
201
246
150
204
162
200
167
240
245
182
216
180
171
227
146
179
156
190
235
192
233
179
193
202
189
162
189
163
130
211
193
169
129
168
193
173
130
229
204
199
178
188
197
214
173
197
210
173
128
200
115
161
173
183
168
168
146
129
258
173
185
162
145
115
217
179
160
248
173
256
200
294
133
146
167
230
166
238
155
143
162
239
244
184
145
180
175
170
146
167
226
191
204
211
145
234
168
176
138
145
191
182
209
155
195
172
177
146
213
233
158
172
143
172
174
149
283
193
133
259
151
169
243
176
266
213
230
167
129
182
174
158
217
133
175
147
129
185
129
244
152
173
185
182
179
154
197
184
206
156
238
166
294
204
279
197
224
173
146
183
145
228
167
210
216
171
190
228
247
221
235
187
212
204
169
210
235
152
210
269
201
176
211
130
214
178
164
192
146
202
247
200
230
264
199
214
202
180
233
176
162
206
222
173
238
210
217
191
195
180
129
200
176
245
130
186
122
138
130
168
267
191
182
210
232
203
146
207
184
204
211
258
162
172
212
227
145
201
225
189
180
158
221
186
216
173
210
217
244
173
230
185
265
222
168
133
211
217
138
179
234
182
143
138
194
191
182
173
151
263
221
173
161
222
160
237
217
200
214
133
242
240
206
155
155
168
205
145
238
146
150
206
156
158
162
257
129
258
164
145
145
235
151
186
255
210
176
150
244
225
147
151
231
219
205
210
194
185
254
167
186
259
156
219
197
247
184
254
132
213
180
143
156
162
222
178
201
173
227
182
183
211
158
178
275
239
235
217
252
262
277
270
129
188
161
246
222
180
238
198
217
146
210
185
225
215
182
189
213
130
155
227
182
119
172
204
115
129
191
179
149
130
236
141
175
173
176
145
208
150
210
168
231
252
129
170
238
218
239
186
173
216
212
200
204
158
227
205
208
205
201
202
242
150
211
160
186
207
170
168
233
228
185
195
217
268
129
184
250
173
179
161
221
228
192
198
170
201
240
217
171
180
193
189
173
169
243
212
231
157
192
191
180
217
143
130
184
173
155
262
236
158
132
178
234
173
193
192
209
168
182
198
246
146
256
222
232
208
173
202
260
179
203
187
138
214
221
186
219
184
130
212
205
176
178
115
179
178
166
200
229
218
213
146
213
169
179
206
222
181
217
210
184
187
217
204
206
176
328
262
210
179
202
143
197
174
179
287
146
158
302
173
234
130
174
183
187
188
138
130
184
200
141
200
173
245
207
201
210
129
202
141
181
115
228
182
192
184
146
184
179
236
115
236
184
167
282
173
211
246
183
164
172
228
171
220
129
195
176
222
151
168
146
143
203
203
160
187
276
184
195
130
230
172
150
230
156
162
210
247
217
199
173
115
150
130
145
203
183
130
231
183
133
204
253
181
254
179
225
266
235
150
255
185
115
283
218
205
169
144
146
225
146
188
204
167
179
231
176
219
264
216
163
170
302
150
169
146
183
222
247
204
206
138
158
210
183
141
164
129
210
204
178
158
176
238
130
199
249
129
187
156
204
173
183
248
143
224
151
272
208
214
187
211
169
229
173
176
204
188
130
205
184
254
248
172
254
203
115
171
222
201
176
191
184
158
173
155
180
210
293
227
138
233
214
129
163
189
144
185
230
199
184
231
179
176
208
225
141
197
216
151
213
232
335
217
194
203
188
173
200
206
200
194
115
201
245
162
232
157
190
247
146
242
216
188
179
194
185
206
186
180
220
192
200
233
144
195
173
181
218
210
130
203
183
129
176
213
209
231
158
167
167
195
152
168
236
234
166
122
222
164
181
180
221
188
164
161
192
204
185
203
156
181
202
204
171
265
174
183
195
180
164
188
217
129
212
257
206
209
296
161
157
145
162
173
122
281
191
146
239
198
183
293
233
129
217
151
228
210
149
162
187
170
150
129
191
182
145
195
173
212
172
145
122
287
169
146
149
203
184
217
152
169
182
191
180
176
150
230
242
255
229
206
193
187
201
204
210
254
216
188
175
199
248
173
115
173
161
200
210
155
200
196
129
138
217
185
162
145
217
206
288
214
176
200
287
202
175
164
150
207
185
202
204
164
178
185
217
169
173
184
138
221
190
204
209
192
162
185
133
238
199
165
173
229
209
265
184
168
129
191
176
219
211
192
211
145
247
164
288
203
192
178
169
175
146
151
198
248
191
261
200
261
173
210
180
175
214
204
130
233
221
214
158
150
185
221
217
132
172
209
133
186
229
129
189
189
232
176
174
219
192
204
245
188
253
184
149
188
133
146
199
179
145
130
228
230
174
143
192
227
187
194
223
176
173
145
129
168
250
209
167
202
205
179
263
245
176
183
183
164
152
217
262
194
271
149
173
214
258
236
176
122
173
152
173
230
128
182
145
168
202
194
129
197
238
214
184
242
174
252
156
178
239
149
184
230
209
214
242
190
176
205
218
217
195
189
183
138
182
179
235
208
200
210
133
157
169
194
158
206
230
186
178
184
158
233
195
211
231
199
164
240
204
184
170
202
177
198
228
212
236
169
162
138
196
210
129
191
129
182
197
210
208
145
183
206
227
206
176
173
199
150
217
195
166
256
210
203
177
186
230
168
130
143
146
184
182
241
193
183
130
207
173
170
173
236
146
193
184
171
166
162
228
203
146
217
180
181
173
217
217
187
204
129
158
184
258
149
244
204
227
248
218
129
119
225
179
228
193
133
259
217
283
184
201
211
130
203
170
155
265
184
216
274
145
209
204
190
180
138
168
211
210
253
216
285
146
216
210
191
178
195
224
173
210
247
236
229
155
146
153
204
184
217
141
204
162
129
178
128
133
236
214
140
286
211
177
146
196
194
185
186
145
129
164
180
191
176
162
146
258
164
245
236
129
210
297
205
130
252
172
209
182
129
199
206
146
184
202
199
246
150
255
240
115
150
130
200
257
179
230
168
283
174
214
211
132
205
191
166
161
236
178
200
216
174
168
190
176
309
223
204
230
130
133
156
302
206
194
129
209
183
141
265
179
204
130
227
196
174
166
239
238
158
217
182
129
181
151
254
221
137
211
276
187
189
129
200
196
182
158
188
210
234
173
192
156
130
166
211
274
182
129
146
210
206
211
176
173
160
138
273
192
193
162
235
221
174
166
226
179
204
160
173
214
200
264
173
214
130
186
166
144
212
146
183
281
167
191
217
276
262
261
200
129
263
183
189
161
133
131
156
207
173
163
168
226
216
226
199
191
226
133
258
281
115
176
286
158
175
202
146
155
129
220
179
191
181
143
210
150
164
162
239
199
242
152
184
180
186
251
296
206
222
183
129
176
191
145
182
194
191
217
197
130
207
219
151
235
122
178
222
171
179
150
129
204
254
129
202
220
115
143
193
176
183
179
221
184
219
214
195
150
133
168
162
258
170
179
257
208
206
198
179
261
172
149
194
261
130
179
179
190
187
242
191
144
177
212
148
208
146
211
129
212
261
145
143
208
180
184
249
204
158
218
217
183
212
201
230
234
203
176
199
214
184
217
166
241
173
206
209
155
176
164
198
187
143
203
217
215
166
128
185
244
211
161
178
248
210
148
204
138
188
184
162
214
202
115
288
191
115
173
242
229
234
129
155
129
201
228
176
222
198
179
218
190
178
207
246
201
228
253
204
129
173
146
201
130
155
168
192
166
179
130
180
201
335
231
191
155
158
175
217
143
264
173
150
146
231
129
171
251
222
176
218
176
209
197
238
179
176
184
145
276
242
176
130
170
200
210
146
202
176
192
235
224
202
162
200
294
277
209
147
145
248
228
138
176
182
221
179
201
225
186
175
199
202
194
181
214
206
199
179
157
223
130
184
202
243
141
229
158
115
185
204
143
181
183
225
184
129
182
181
172
181
266
129
204
130
171
173
250
138
166
188
129
211
168
235
179
162
264
168
228
206
217
151
183
204
185
211
209
186
130
186
266
211
192
217
173
235
188
176
210
145
206
183
216
185
202
208
179
133
162
163
245
143
179
197
208
173
176
185
164
235
211
202
200
221
300
190
128
193
183
160
233
176
229
201
223
156
218
214
146
193
192
285
133
143
204
164
256
247
153
190
162
205
169
162
129
247
150
214
184
150
176
168
173
192
160
196
179
141
294
130
205
184
181
201
214
218
267
235
203
164
162
224
146
191
152
274
179
202
239
115
182
201
246
175
176
284
191
194
184
173
183
218
155
246
200
172
217
203
195
173
145
182
181
202
246
186
187
204
270
208
235
205
177
184
146
176
176
158
170
146
173
199
181
141
230
204
209
166
130
201
132
141
226
173
247
225
211
217
178
232
146
185
160
233
185
156
227
132
158
211
262
256
156
201
146
191
283
207
182
133
252
163
143
217
212
237
195
252
274
171
210
245
251
180
174
182
217
218
176
190
130
170
230
225
176
194
259
221
210
194
182
185
245
197
277
191
133
211
176
230
262
209
217
146
234
203
185
178
205
145
202
177
178
205
130
191
300
167
129
254
204
155
162
229
169
185
180
246
143
226
240
190
185
145
187
179
265
138
166
146
230
146
211
131
178
263
182
229
263
173
226
258
197
210
130
168
212
195
202
176
141
129
176
173
224
249
184
182
199
231
166
204
209
158
143
197
130
221
230
167
196
146
166
195
146
176
202
168
174
192
207
178
191
176
229
219
233
233
180
199
202
155
198
216
173
164
215
324
233
166
166
218
176
162
206
225
251
176
176
169
220
149
279
158
195
172
209
164
227
174
287
129
201
258
199
173
219
146
206
168
204
226
162
181
229
201
201
238
205
217
179
154
197
146
152
174
177
225
152
173
185
225
195
232
204
229
178
232
264
182
185
173
281
244
213
168
162
232
229
242
188
209
190
181
183
185
193
179
231
201
204
158
168
211
158
190
168
180
242
179
129
155
197
191
219
132
168
218
242
205
193
167
176
156
130
133
191
217
178
150
179
115
203
198
181
179
200
145
206
179
195
198
201
181
162
187
140
252
204
160
192
192
197
181
201
145
202
182
165
165
146
178
122
204
198
225
253
145
288
287
130
195
186
157
130
208
204
208
233
144
179
211
170
228
146
195
230
235
175
193
225
197
164
119
167
162
216
241
274
169
130
173
130
186
197
173
194
178
228
195
217
240
266
211
164
175
187
208
183
179
201
243
252
166
159
160
179
222
146
178
239
181
179
166
228
147
230
177
302
157
217
204
182
204
164
208
201
217
234
168
169
187
146
211
200
206
217
159
222
160
198
221
181
166
181
237
185
133
185
158
164
143
210
184
178
172
176
115
130
146
130
150
143
188
146
132
217
189
225
200
184
115
193
156
165
246
183
152
217
235
177
270
236
173
246
303
129
186
149
200
193
251
207
211
283
138
239
145
176
183
221
130
173
179
240
221
155
167
159
151
129
188
217
155
216
217
193
203
115
232
166
170
184
164
186
199
211
146
231
227
155
249
141
168
193
138
195
157
129
299
129
146
190
130
193
211
187
335
244
129
182
283
185
223
169
179
156
179
200
208
202
144
151
260
211
185
204
197
200
164
209
162
168
202
174
146
245
230
188
275
169
237
209
176
129
257
179
169
156
216
192
150
214
145
176
133
210
229
181
212
263
184
244
217
210
264
211
199
203
177
198
242
185
143
202
204
204
146
168
211
225
204
217
129
216
183
115
303
186
252
186
226
158
155
146
164
204
229
182
166
238
260
133
248
257
176
146
201
240
200
146
181
143
175
115
302
210
222
204
180
192
191
211
230
168
227
141
174
164
217
146
244
194
173
173
166
190
184
157
167
225
221
173
210
231
181
214
269
204
211
186
181
214
146
222
162
166
214
228
227
129
215
158
185
201
223
164
168
246
210
212
176
222
273
166
174
235
176
217
173
230
171
138
204
182
169
206
216
220
155
181
164
152
217
182
215
212
174
143
299
157
157
152
180
166
183
174
227
211
217
219
145
211
146
189
201
211
224
177
255
212
157
184
191
191
211
161
209
143
164
218
145
184
179
172
191
177
285
266
251
181
158
229
192
167
201
205
217
251
250
191
236
203
160
176
122
138
149
171
210
253
162
195
200
179
199
194
236
168
206
209
210
205
210
161
225
200
238
197
157
188
181
133
146
200
204
176
211
168
182
238
173
129
254
132
186
194
232
201
255
222
235
217
190
172
176
217
176
184
195
130
193
164
204
151
144
152
225
158
145
169
215
184
130
214
173
239
168
204
294
202
204
142
219
228
195
133
155
246
210
146
189
176
245
173
173
143
167
173
228
207
173
175
179
158
176
204
178
119
129
195
212
210
174
141
180
232
141
220
217
196
207
214
115
202
164
201
205
173
129
178
207
161
191
187
168
143
189
184
285
146
181
195
217
189
150
181
253
259
260
158
205
260
166
217
217
165
173
201
201
179
200
192
162
146
215
184
156
176
233
204
141
189
179
209
204
246
207
211
146
187
191
240
210
230
220
143
176
202
160
236
228
210
239
158
132
146
178
247
273
175
164
250
254
236
211
130
183
187
208
210
150
143
151
182
169
201
233
147
221
178
229
204
228
185
162
144
295
176
223
204
146
158
204
178
206
236
242
173
192
201
182
236
225
174
182
173
160
201
145
217
203
164
122
146
222
165
130
173
160
168
204
205
226
221
182
161
261
149
130
130
202
179
196
270
239
168
283
129
217
168
263
211
129
183
130
171
207
158
200
129
249
167
217
206
133
129
261
224
215
204
200
157
130
266
158
164
158
179
157
170
215
203
156
176
260
171
237
150
209
173
176
176
212
147
205
204
115
184
231
283
264
262
230
213
218
227
335
211
191
204
151
130
210
283
171
210
270
182
203
239
228
261
274
211
214
203
206
197
177
146
183
216
187
244
182
129
201
164
181
178
200
155
176
261
160
198
192
198
194
209
210
173
130
188
129
141
161
179
226
202
246
175
164
216
168
206
217
201
201
203
145
156
262
211
202
201
172
178
187
203
169
180
133
182
164
164
182
214
221
167
240
164
214
226
185
174
206
195
204
176
209
217
176
199
176
206
202
165
190
243
143
254
231
194
165
215
149
261
146
132
128
183
223
248
169
269
168
129
209
217
219
146
186
155
182
157
250
145
255
217
161
176
179
133
188
130
207
232
219
183
130
150
169
190
188
179
264
237
167
211
183
188
190
202
279
186
179
196
175
218
176
176
191
299
178
185
129
194
130
286
173
194
173
221
184
174
175
254
255
237
145
161
188
188
151
133
191
230
204
164
143
228
268
164
233
239
168
176
216
200
210
173
209
215
208
264
180
188
174
164
234
214
208
202
180
133
185
171
200
145
168
168
179
212
238
181
220
205
167
177
152
173
132
204
176
187
180
181
208
140
119
256
190
129
145
238
169
166
141
184
132
199
247
273
174
129
281
155
211
170
231
211
202
264
203
193
207
180
193
130
146
248
128
255
169
266
146
165
217
144
237
150
236
245
159
226
146
236
176
179
187
228
188
212
232
187
219
176
274
183
238
240
216
182
131
150
173
146
236
162
168
158
271
237
185
221
180
259
230
262
179
130
227
192
147
226
152
193
162
227
146
222
115
239
238
165
198
200
221
215
153
129
176
201
145
184
188
181
227
156
203
130
160
144
180
146
145
178
170
200
287
169
176
211
193
335
201
129
194
188
236
175
146
234
151
217
133
204
133
210
168
204
170
210
170
156
249
169
156
256
221
204
115
213
129
173
176
229
200
265
175
199
217
190
146
188
176
138
191
169
143
170
230
204
191
213
153
164
160
149
315
151
146
193
296
204
209
213
146
185
208
188
193
129
203
182
202
158
162
184
195
185
252
185
170
153
210
132
267
147
214
244
217
122
146
170
211
171
146
204
188
205
173
289
170
115
122
158
146
202
210
157
232
206
180
181
161
202
167
146
191
201
238
209
204
281
175
210
151
204
158
267
227
176
229
222
211
185
183
227
146
206
181
130
191
217
200
176
179
166
189
189
138
204
175
258
195
215
143
162
170
258
220
185
133
176
192
217
199
162
195
251
155
262
167
176
236
129
155
255
182
145
155
320
249
242
141
129
206
150
171
133
172
154
130
175
209
149
174
149
317
214
236
156
141
295
173
196
166
161
133
145
197
156
179
176
183
141
149
180
173
171
145
243
129
183
206
215
122
174
236
281
130
194
184
189
156
159
185
252
213
173
227
236
149
236
152
169
133
197
162
248
200
216
185
206
213
210
258
241
238
179
145
166
216
158
226
204
143
243
227
240
199
164
190
188
265
130
177
226
204
184
167
218
203
196
200
185
153
146
177
174
224
129
239
176
239
215
210
173
143
237
146
173
173
224
158
129
201
164
173
194
156
167
198
161
158
188
144
224
210
191
195
180
201
188
129
213
229
192
173
179
182
238
209
176
129
201
146
130
232
175
201
184
158
158
182
222
183
240
213
234
179
173
281
270
185
290
209
192
176
145
184
179
199
222
212
183
149
212
210
192
222
181
214
211
233
145
180
176
324
168
146
133
184
138
218
277
179
248
115
194
119
188
238
146
146
129
158
162
221
184
130
208
218
209
176
166
204
194
143
209
152
149
281
172
216
159
229
187
200
188
189
230
230
204
156
162
201
222
244
150
226
155
127
132
214
195
208
204
190
289
269
225
130
169
220
158
187
321
143
238
170
119
191
177
169
248
145
178
300
210
185
178
143
204
150
145
211
185
179
200
256
192
235
183
236
250
228
160
173
190
133
210
244
194
186
198
239
176
177
206
210
193
130
234
188
182
188
156
153
161
168
258
189
211
231
223
188
181
170
228
204
274
203
129
169
181
210
130
218
146
169
238
129
221
238
219
130
185
204
210
130
210
146
228
197
210
146
185
129
143
231
189
268
210
143
133
132
187
201
276
202
234
164
227
162
164
185
155
201
185
210
218
219
209
262
182
183
161
146
146
264
173
202
209
203
130
152
188
148
207
207
212
168
146
201
146
195
235
223
179
176
164
174
185
129
146
212
184
228
202
231
168
335
204
179
226
265
214
155
173
194
164
185
158
210
181
185
209
239
180
149
178
160
161
201
274
145
152
207
190
180
188
186
184
191
167
202
226
182
176
231
193
202
149
158
272
186
191
168
215
216
267
176
177
195
248
133
156
216
191
133
158
182
129
195
271
133
218
173
190
151
207
137
261
176
129
143
217
303
173
237
189
246
294
146
210
185
213
204
218
190
157
226
265
228
151
179
179
115
205
239
188
230
166
145
186
129
199
181
204
176
164
230
194
218
241
173
155
197
173
259
173
147
200
200
208
180
234
129
195
208
188
206
197
166
227
178
217
242
161
252
201
146
169
170
204
200
230
141
170
222
173
164
210
206
133
149
228
185
172
201
219
216
201
191
197
141
182
244
197
166
210
164
150
213
145
228
208
205
164
168
265
230
176
204
179
196
160
133
129
192
198
219
167
141
182
206
189
173
176
257
229
214
205
168
259
115
247
183
131
160
248
176
225
219
210
191
173
208
243
181
230
217
240
209
141
130
230
130
129
195
146
196
159
186
130
194
254
237
176
201
128
203
238
171
162
209
204
183
216
203
156
143
255
230
160
162
129
133
158
250
226
207
268
169
204
188
146
141
217
202
209
264
228
130
202
162
204
210
199
235
182
245
308
197
241
182
183
173
167
128
226
275
146
176
129
246
188
168
133
181
176
166
188
143
158
169
244
209
169
281
199
252
196
224
236
185
204
150
236
259
210
211
215
182
214
253
204
194
201
253
191
146
122
133
143
186
239
214
335
201
157
182
159
197
200
130
183
161
146
185
200
274
171
225
143
199
161
210
220
225
130
189
175
204
206
217
180
232
182
197
190
176
181
173
173
229
259
215
198
176
255
244
211
133
173
161
209
212
205
173
172
226
209
129
182
128
200
176
173
173
176
167
150
240
149
248
230
194
184
173
129
234
173
210
201
145
192
201
202
176
194
179
160
211
180
219
180
208
208
199
210
180
184
160
155
195
130
199
172
258
185
133
130
210
130
173
162
164
178
130
176
179
219
173
225
162
172
176
204
239
179
164
156
141
182
303
168
205
230
152
168
171
182
210
163
151
231
188
221
325
166
202
240
191
248
182
149
178
217
247
185
173
230
115
130
145
174
201
162
164
122
192
203
144
191
205
299
243
173
222
232
272
182
222
235
215
143
163
236
201
164
180
184
210
158
274
227
184
190
157
183
210
129
207
237
129
212
174
156
217
243
166
181
132
163
264
177
239
176
168
257
239
205
211
236
208
192
168
184
151
230
169
183
176
165
222
191
239
169
164
229
129
239
131
210
225
138
201
173
210
239
217
195
189
220
204
230
176
191
168
186
129
155
259
191
173
132
181
158
173
164
236
160
190
204
115
146
146
179
158
160
161
206
230
211
152
175
147
200
189
188
200
122
168
188
174
210
144
201
210
146
176
230
129
201
132
191
180
204
183
188
188
204
189
202
261
164
198
308
169
166
183
166
130
193
283
183
195
209
204
130
253
130
129
272
189
267
194
190
244
254
192
146
190
264
156
172
218
182
229
217
237
208
182
241
175
237
181
162
261
210
149
168
155
146
251
129
227
129
143
238
211
129
148
179
179
173
210
173
145
249
210
128
226
254
115
176
173
255
217
207
179
167
286
257
217
164
229
210
195
157
210
129
207
202
184
204
203
192
221
184
200
191
247
173
156
149
166
209
242
322
172
177
150
195
158
145
178
183
145
155
172
141
202
190
220
230
129
214
158
145
201
170
168
130
197
231
230
180
178
217
230
181
239
158
130
178
174
184
204
169
184
145
132
192
156
146
168
129
266
264
243
173
133
199
130
122
233
224
182
147
146
153
146
183
253
215
197
128
173
276
203
141
119
176
206
183
163
262
146
237
241
239
191
238
221
143
203
227
156
185
130
149
232
206
146
151
244
160
217
130
265
147
149
161
150
143
215
148
210
216
129
186
202
178
162
217
143
173
206
163
217
173
230
182
225
205
250
225
172
186
231
202
146
153
141
158
161
207
162
197
164
165
203
192
138
211
252
168
176
176
217
247
214
193
156
202
219
232
184
236
130
157
145
129
130
207
150
146
260
168
247
217
217
192
204
232
211
224
158
292
227
150
145
243
212
290
115
226
160
190
115
255
212
294
130
216
181
171
169
189
148
149
179
275
259
211
166
152
221
184
170
143
176
153
225
172
242
223
210
146
176
182
179
241
222
198
201
200
119
146
232
208
242
198
239
179
207
146
210
219
150
130
150
184
204
259
173
129
230
204
297
264
186
146
263
157
228
176
267
217
210
199
168
180
260
204
158
145
157
176
164
133
237
201
188
158
246
162
161
130
168
241
129
176
167
176
173
210
164
177
217
205
234
211
152
215
143
287
276
192
202
146
192
168
191
218
241
197
203
211
300
205
236
146
206
321
206
181
122
175
230
215
164
222
191
215
146
156
143
237
178
246
244
204
168
229
180
202
155
186
184
158
263
167
264
156
147
174
281
169
230
162
236
177
201
202
149
198
193
147
201
210
167
221
149
225
322
149
169
149
187
285
201
169
190
217
179
176
214
181
157
301
246
188
227
151
180
130
195
203
184
138
195
245
129
184
236
188
226
155
234
204
192
164
239
243
173
130
201
212
205
194
174
147
173
196
130
191
182
212
213
186
146
180
168
201
195
115
190
159
239
230
173
172
238
190
238
144
146
257
177
163
158
130
153
146
204
204
161
190
240
230
182
255
200
183
188
153
161
156
115
170
209
200
221
274
254
178
210
262
191
204
260
168
146
239
173
169
189
209
237
225
176
179
183
156
162
179
164
210
188
231
143
217
199
238
247
260
133
235
205
129
217
190
173
147
160
133
129
171
168
201
204
201
254
178
153
146
164
281
280
212
129
162
180
182
138
162
216
145
156
236
143
236
211
173
210
158
241
138
130
129
141
129
241
211
178
184
150
229
236
143
163
184
186
227
246
145
186
227
155
222
192
257
214
198
195
180
170
164
174
247
162
176
172
190
210
242
236
166
190
216
164
249
188
248
214
257
225
234
201
179
222
173
184
191
149
145
211
195
219
185
171
169
239
145
203
129
143
179
178
176
128
162
187
206
173
133
197
144
115
228
231
164
216
229
178
146
131
217
230
334
200
191
129
143
133
225
222
129
195
150
292
171
162
209
201
230
163
209
155
182
201
192
176
195
162
207
173
215
189
213
138
149
182
210
171
204
189
296
200
203
141
143
217
169
181
171
200
236
173
129
180
210
188
207
191
225
195
141
231
188
217
210
129
222
149
210
130
287
219
206
202
166
179
214
179
184
133
227
162
176
182
277
184
202
217
130
205
202
205
149
184
164
150
242
211
232
193
179
161
130
228
130
182
180
145
201
173
224
164
212
173
182
255
202
210
168
203
186
146
178
176
225
176
122
188
127
190
234
296
199
303
173
198
164
191
171
244
174
258
192
231
215
208
237
166
128
242
210
178
180
166
173
239
206
146
293
256
173
187
300
201
194
229
166
130
232
184
162
151
203
194
204
172
233
207
181
176
143
210
129
162
130
182
167
204
232
150
232
198
162
146
153
173
231
188
178
217
157
185
307
164
149
173
161
167
158
176
183
309
213
205
238
210
164
176
185
194
183
217
201
250
130
130
184
143
255
181
185
205
155
226
209
170
155
196
173
167
221
223
173
176
205
180
272
187
233
239
190
155
181
205
145
236
228
211
156
178
130
183
145
241
182
189
188
168
186
169
183
214
233
176
164
133
179
190
240
222
222
146
129
222
181
253
141
199
197
182
219
181
176
129
218
200
141
272
177
161
239
238
247
147
178
186
283
262
157
146
240
212
172
150
215
180
239
193
206
152
206
230
182
176
204
184
253
160
238
186
143
162
138
270
179
143
191
173
182
184
158
210
254
145
184
225
217
129
173
181
119
130
240
145
207
255
260
202
227
145
178
188
238
184
208
190
269
222
173
248
169
180
300
228
217
242
210
168
221
130
173
205
237
133
227
177
162
252
164
192
169
204
129
265
190
168
185
166
139
199
169
130
206
200
158
128
173
182
145
182
264
201
204
173
211
212
174
261
176
188
236
115
176
231
261
215
165
210
228
185
168
133
248
206
182
168
202
183
146
183
210
192
170
129
217
181
130
230
201
269
227
162
151
202
243
209
192
153
119
235
163
200
180
157
129
261
188
187
255
335
168
206
216
200
204
193
141
173
225
220
183
164
216
195
239
200
176
289
272
177
239
203
252
179
201
231
132
156
145
258
201
203
180
169
146
203
164
229
268
179
199
202
238
320
119
206
174
182
208
211
171
236
179
133
176
166
129
129
270
158
115
165
204
149
261
171
129
261
238
141
176
145
168
237
173
158
212
201
217
226
189
205
192
201
115
146
208
269
299
141
184
185
119
129
179
176
263
188
174
169
130
242
217
174
150
218
175
160
176
225
245
217
202
219
189
144
179
211
176
172
216
183
196
146
224
206
247
129
146
145
192
138
168
159
210
156
138
161
183
200
143
157
158
156
187
193
158
255
146
201
193
143
185
155
173
256
183
129
164
192
211
193
200
190
180
217
197
195
201
194
283
156
158
150
162
263
115
199
247
204
231
258
174
154
211
216
155
281
207
210
129
335
146
244
163
258
129
138
225
159
146
146
233
236
234
188
217
210
176
208
200
130
187
130
217
146
200
226
294
155
217
129
144
204
209
161
201
195
206
181
252
194
169
129
217
115
186
188
146
242
216
181
217
252
186
178
258
156
178
200
181
199
179
156
184
184
252
179
176
156
163
205
152
204
164
186
274
191
227
191
184
184
130
173
162
179
128
294
182
254
162
219
224
146
160
219
222
209
201
210
230
234
205
169
245
170
169
146
184
200
191
183
182
184
141
184
176
182
214
192
143
235
183
217
147
199
247
173
214
230
209
232
150
221
229
194
129
133
223
164
179
191
217
211
168
181
221
197
221
242
138
213
133
186
274
201
225
266
115
169
192
133
146
211
198
216
248
191
176
185
160
167
200
176
162
226
208
146
176
232
211
204
174
146
204
204
128
171
173
204
164
204
230
193
210
176
130
152
208
201
206
200
304
200
158
201
145
263
191
178
183
242
129
211
180
207
173
203
176
205
146
201
171
186
161
302
193
214
201
256
191
162
201
217
181
184
173
278
183
202
285
175
201
236
158
243
247
146
145
178
179
231
302
167
173
176
176
164
129
178
204
191
168
225
204
133
242
181
173
200
189
263
219
176
201
130
185
235
224
155
226
204
265
158
192
191
192
158
173
129
218
185
219
199
182
213
172
176
162
141
242
129
213
169
143
183
115
214
182
211
229
171
238
196
161
115
238
146
174
173
210
183
130
176
230
241
143
204
174
176
173
244
211
185
180
225
217
247
115
234
161
241
169
158
246
162
164
273
225
198
149
129
150
146
169
209
204
146
180
161
202
180
168
146
217
133
183
261
198
279
200
138
211
133
180
133
221
186
251
169
179
204
215
130
205
173
155
130
202
226
238
147
198
229
190
169
173
195
200
234
176
149
264
182
180
146
210
146
191
152
146
115
130
176
133
196
182
234
213
204
141
186
173
191
231
239
167
238
203
164
169
173
185
258
145
173
217
235
181
198
246
239
233
206
192
209
145
214
129
227
164
156
156
287
179
169
173
238
199
157
158
130
129
238
204
224
236
183
207
209
192
204
274
177
171
203
182
208
230
173
145
210
182
230
115
168
132
151
210
255
225
141
171
205
174
157
162
217
129
205
176
130
129
217
178
176
158
180
162
173
191
205
182
160
165
164
206
198
173
234
181
149
198
181
161
160
143
188
226
183
184
145
180
168
238
180
181
214
218
220
217
235
200
204
162
204
184
196
249
158
225
186
234
174
235
132
216
247
201
183
192
204
204
162
217
196
155
200
184
237
213
129
260
205
248
244
210
180
233
180
204
162
130
138
163
180
176
128
158
201
221
216
238
235
164
230
165
238
214
216
231
195
168
164
165
162
153
187
181
247
211
210
210
181
214
129
184
152
267
228
179
168
258
206
147
145
226
210
239
147
173
191
171
195
178
173
183
220
217
278
205
191
226
189
195
246
240
265
178
192
190
146
258
175
187
129
210
178
164
211
133
176
149
187
147
235
164
155
178
242
179
210
181
241
164
256
180
178
143
173
169
200
199
238
216
188
227
175
202
146
185
221
215
222
263
213
169
184
187
156
210
204
217
196
168
190
155
168
115
202
206
228
184
245
210
164
138
184
230
201
174
222
207
202
231
166
171
170
190
186
141
230
146
245
166
179
155
230
214
185
184
215
190
158
180
210
195
204
169
155
294
204
201
261
166
227
202
202
133
177
230
294
179
191
225
302
205
185
227
198
204
236
238
149
129
173
291
186
175
213
160
189
182
129
189
184
214
225
176
174
131
206
158
168
191
122
223
146
200
204
222
234
243
186
130
222
210
195
217
211
129
146
143
163
130
128
202
223
173
138
162
160
244
173
212
227
181
133
145
146
168
204
228
236
262
145
251
173
246
146
133
236
209
238
185
244
285
249
197
235
146
217
256
171
227
157
164
188
151
184
260
233
184
171
176
264
200
158
179
168
185
187
198
285
184
130
164
173
179
274
129
128
130
232
204
170
241
188
243
217
215
210
195
211
247
184
230
195
249
223
162
152
239
145
169
146
212
201
278
164
176
250
211
161
216
200
229
198
174
164
236
190
205
222
176
162
220
201
163
164
203
248
130
252
181
146
170
201
173
218
228
158
202
184
130
183
278
213
217
222
201
168
211
214
204
146
184
129
242
163
232
264
276
218
186
218
188
183
245
158
179
143
157
233
146
273
201
204
246
214
213
210
267
159
191
200
240
201
244
191
176
146
219
129
205
222
211
180
146
164
232
202
200
203
293
216
213
164
180
283
158
184
236
261
230
225
146
173
229
168
156
174
216
174
200
220
143
189
254
228
192
183
222
201
193
176
165
179
211
143
194
176
183
173
214
173
242
180
183
173
204
246
178
214
162
133
166
208
176
201
154
172
173
156
210
200
218
150
150
215
210
129
191
130
115
283
185
256
199
190
210
204
177
173
217
131
217
220
130
286
188
182
220
205
229
177
146
145
129
158
264
186
276
146
143
186
160
115
273
236
129
158
130
143
130
145
184
190
168
162
215
149
176
199
115
129
207
242
130
209
243
215
204
207
203
208
210
217
178
198
171
150
246
173
204
160
190
171
267
215
205
176
157
122
183
162
231
208
211
169
163
206
129
210
184
232
209
186
149
162
168
170
158
164
212
258
132
270
233
146
297
200
233
273
193
202
164
179
183
202
185
153
232
150
263
227
226
211
255
138
129
186
176
145
236
201
129
176
141
158
162
187
280
182
229
178
182
146
169
199
187
157
173
184
197
144
182
156
173
197
173
115
280
189
129
191
217
130
190
141
180
246
189
223
189
217
184
176
182
164
349
146
238
129
173
202
217
238
173
240
202
133
146
167
214
130
183
235
176
143
196
215
258
234
188
171
190
181
215
166
192
204
183
180
239
197
215
176
210
283
219
271
205
236
173
185
183
129
168
206
214
183
209
155
145
146
188
151
296
179
182
163
251
211
186
209
146
235
165
216
133
178
157
191
130
158
241
155
230
162
208
194
184
188
166
268
182
195
129
204
170
206
247
210
180
174
219
129
129
176
186
171
200
200
194
202
200
158
239
115
182
167
172
194
212
183
183
247
185
158
215
179
164
228
164
176
180
243
184
162
213
190
200
200
244
143
191
278
202
176
172
180
236
219
218
212
160
204
184
146
283
127
236
187
156
156
207
180
191
178
131
158
204
177
263
222
195
211
225
173
193
210
191
225
231
176
168
230
221
247
130
189
228
164
217
166
210
159
214
143
183
218
158
183
268
281
236
130
162
254
172
187
172
258
178
193
217
200
198
161
260
248
130
191
201
240
245
236
143
203
199
129
167
280
159
156
193
184
173
185
217
178
238
201
230
150
211
224
130
220
158
122
259
162
238
176
145
296
177
155
201
178
210
210
129
179
170
167
115
192
201
204
130
230
185
182
169
240
177
166
231
228
185
130
173
206
218
180
186
202
228
228
129
152
233
188
130
193
150
191
215
230
211
191
165
229
146
206
146
208
132
254
180
186
158
179
208
185
202
171
173
187
278
244
248
259
252
162
240
173
175
204
166
238
190
145
213
172
164
168
210
202
263
187
200
191
219
115
173
173
202
172
155
174
246
209
214
146
171
191
208
204
230
274
216
227
264
243
221
146
146
165
259
229
146
188
253
212
238
197
129
169
259
215
169
176
257
226
141
256
201
191
254
191
186
262
170
146
146
155
146
204
149
145
215
201
185
168
202
189
159
211
210
158
206
145
273
176
211
177
173
206
226
218
210
220
189
184
204
211
138
160
172
202
186
185
149
176
181
216
200
173
211
164
115
191
129
150
146
181
130
203
160
194
218
162
146
141
238
187
182
160
155
227
129
203
243
180
146
129
159
173
115
174
145
167
146
174
185
224
180
170
210
195
216
230
246
194
132
207
173
145
122
133
146
161
227
236
129
130
217
231
162
253
145
176
187
148
216
203
251
210
146
133
185
173
212
227
159
173
157
184
221
244
200
185
214
252
143
260
238
189
208
130
226
236
240
157
164
200
194
217
202
145
160
129
256
145
129
223
258
129
183
153
178
160
164
143
242
230
206
209
229
176
154
172
211
165
291
187
166
181
147
130
221
189
218
202
256
225
133
176
145
285
146
190
200
217
204
191
186
173
201
196
246
186
178
172
146
197
255
206
207
201
130
179
188
200
219
132
173
183
192
182
230
188
146
176
260
193
241
150
172
205
191
207
188
189
153
173
182
201
211
228
200
161
204
212
161
184
212
221
176
201
202
275
145
189
146
198
239
169
186
216
161
197
188
222
214
179
130
207
245
192
178
255
212
217
208
222
199
271
189
254
178
219
256
133
129
192
186
156
201
217
173
143
240
210
143
179
187
191
159
213
218
264
197
190
208
173
184
261
235
173
205
175
131
230
249
146
206
217
226
218
206
212
204
222
158
237
200
129
176
144
197
184
129
201
173
169
218
210
194
183
173
201
231
210
164
206
146
191
176
202
133
181
247
144
173
194
251
288
240
222
183
240
218
133
230
213
226
239
221
203
234
216
145
156
180
202
199
199
217
229
214
279
131
176
244
183
158
130
201
188
162
210
237
169
143
178
174
160
181
176
230
185
204
115
211
129
205
217
149
230
157
180
146
177
168
198
115
204
209
173
266
166
258
170
169
244
201
177
249
183
179
219
187
222
155
171
225
184
203
176
192
202
283
214
183
168
204
184
178
168
173
228
238
235
210
330
187
278
233
115
115
231
197
166
237
234
211
195
176
147
210
200
182
264
185
297
203
157
239
173
201
145
159
202
172
204
178
210
129
266
180
252
221
220
164
263
129
158
177
178
180
131
209
235
133
206
231
202
142
129
186
207
171
159
191
231
213
270
184
222
173
176
261
176
204
191
257
201
273
204
178
180
161
188
176
180
259
178
247
169
238
161
141
166
199
210
191
129
246
146
179
248
303
190
211
209
186
235
167
138
201
164
172
168
162
211
296
158
232
202
176
164
191
246
162
170
130
168
122
206
191
238
164
146
264
212
210
262
179
146
211
227
220
195
143
128
176
186
180
144
189
173
180
150
214
145
184
182
179
238
202
230
214
198
211
179
151
167
186
130
149
325
186
189
161
211
199
231
190
275
130
216
182
176
129
129
192
194
181
130
202
166
176
192
184
182
234
221
204
186
130
200
229
265
202
162
174
240
173
183
169
191
169
174
150
174
217
181
162
129
164
261
226
254
143
167
199
210
225
168
255
240
199
230
218
232
175
155
195
177
174
206
295
203
240
164
214
266
184
188
166
185
185
143
129
174
146
204
151
214
164
248
167
115
247
203
156
169
228
130
146
231
130
204
178
200
174
182
233
250
200
179
245
209
146
130
194
288
235
187
225
226
140
179
176
146
244
184
176
209
201
246
158
256
171
133
192
248
226
216
249
173
204
218
143
173
192
150
176
131
146
146
201
203
244
217
158
158
262
308
217
200
176
146
164
204
179
204
146
182
180
211
206
175
228
151
172
176
176
167
211
283
145
192
256
190
173
206
273
249
195
265
173
211
158
204
149
145
176
130
237
230
129
158
265
183
172
183
204
199
185
235
201
238
218
161
156
250
247
158
187
194
230
230
130
214
227
239
173
217
160
172
217
166
229
192
191
186
242
158
168
280
145
200
173
241
231
182
119
142
168
179
287
181
183
229
167
250
115
237
202
173
183
130
183
133
173
176
202
192
179
178
241
164
155
186
164
193
214
183
220
164
238
203
172
217
239
242
176
201
173
204
197
221
184
216
244
151
212
179
138
232
182
130
144
256
205
231
221
133
200
254
264
220
201
230
259
210
185
129
157
230
174
146
177
254
301
183
238
115
241
129
236
170
231
250
251
200
160
239
225
173
209
155
303
229
209
231
235
219
235
130
324
188
239
187
222
169
138
204
268
172
195
217
185
260
212
213
130
233
176
176
188
216
196
179
191
129
202
164
146
151
172
141
225
186
153
175
208
179
143
183
182
206
130
166
292
200
237
190
179
149
180
179
145
182
255
162
191
257
172
197
184
238
239
244
224
246
192
150
189
169
221
169
146
192
248
215
164
187
237
156
152
173
248
166
174
169
173
143
143
183
146
214
205
261
259
233
185
211
158
184
185
253
239
169
203
206
221
159
169
210
283
156
162
173
149
215
157
144
236
115
176
279
194
190
129
197
176
171
225
240
335
226
167
181
202
200
152
194
130
239
168
230
205
168
166
210
146
217
158
255
162
232
221
169
207
232
204
210
129
253
186
168
202
164
188
133
130
272
210
183
146
115
187
149
160
173
186
170
313
219
208
217
175
218
184
155
222
129
227
155
208
115
176
179
190
164
208
179
202
168
226
201
201
143
185
179
162
253
288
174
161
203
255
160
137
251
192
173
172
236
201
216
241
129
202
129
194
166
203
182
184
159
188
180
160
176
176
214
146
190
264
229
160
203
130
201
239
278
200
200
164
238
162
164
204
208
146
186
221
180
146
217
230
200
129
180
199
195
218
205
179
147
162
168
227
229
183
180
287
191
172
143
191
189
183
185
223
177
219
202
308
242
184
150
201
168
168
189
179
194
183
168
158
198
161
263
173
217
252
180
265
146
192
202
251
130
197
228
249
217
217
244
133
200
240
273
268
221
165
178
189
130
180
170
268
173
205
146
195
249
182
214
169
237
183
204
146
261
182
146
133
205
182
122
146
163
231
145
201
183
201
210
185
209
218
168
168
225
189
213
188
245
175
211
162
227
257
231
173
236
236
210
209
191
238
244
146
171
142
158
206
210
210
189
155
238
190
162
130
141
183
215
144
204
161
202
227
195
228
180
211
143
185
213
270
204
190
262
179
174
145
218
220
260
204
183
164
213
200
188
236
144
167
129
173
160
210
169
204
220
215
146
174
181
171
172
185
185
169
180
115
196
203
248
225
201
251
130
237
174
237
190
198
175
180
189
179
192
252
218
145
181
176
269
221
176
175
157
208
179
213
214
146
214
155
247
138
129
205
206
177
204
170
230
221
211
115
143
200
205
258
190
195
184
196
191
176
158
231
133
145
176
211
183
155
217
178
184
208
222
155
176
207
164
210
163
189
130
192
140
254
169
155
173
239
201
189
144
201
146
256
260
240
164
195
186
224
239
210
176
181
236
198
115
228
164
197
239
161
201
222
146
201
129
146
146
184
180
186
212
138
192
261
181
151
184
130
146
162
258
211
150
296
141
199
161
176
164
183
231
205
230
168
133
182
224
181
199
237
115
212
173
193
249
138
206
128
264
158
173
129
283
192
178
204
129
176
214
168
247
145
237
236
215
186
176
185
162
122
115
303
200
264
287
205
143
181
249
195
143
162
145
176
285
138
180
179
176
193
240
192
254
158
196
195
202
188
248
283
162
243
188
203
221
129
179
177
150
170
130
172
183
192
231
185
200
141
146
210
225
190
253
172
185
280
222
221
211
133
179
259
244
129
227
244
243
205
179
164
234
238
197
225
221
214
204
133
213
200
196
172
238
160
128
143
143
149
173
216
267
188
178
247
179
200
182
145
172
199
206
264
130
231
143
191
156
115
183
256
285
222
287
225
161
195
182
150
208
130
191
205
184
177
216
176
177
173
183
143
176
300
277
203
258
209
203
222
210
246
145
160
188
252
335
211
167
228
180
146
150
204
168
145
244
173
207
168
210
229
130
183
181
217
186
176
307
210
202
250
133
179
230
247
188
191
174
173
210
176
173
237
244
264
132
201
217
185
279
129
186
210
150
222
199
224
152
234
201
178
160
171
158
205
173
235
130
184
225
155
200
230
164
157
182
186
251
119
173
128
187
220
176
176
186
236
254
283
283
233
185
246
266
181
191
201
220
221
203
162
184
191
240
171
191
168
192
210
222
141
191
201
177
221
261
200
129
159
217
184
250
210
193
162
210
223
169
197
204
202
202
269
211
211
182
130
210
146
232
178
220
157
222
146
192
217
132
174
174
150
217
149
200
225
146
214
168
115
202
221
168
214
244
186
130
201
176
229
146
155
210
246
177
170
186
227
238
256
138
224
146
245
219
204
237
204
231
173
185
131
175
145
183
191
165
153
256
227
130
174
157
253
202
227
179
204
231
155
210
145
208
209
216
239
239
259
261
200
209
184
177
206
240
216
163
158
145
130
162
235
214
143
190
213
129
166
243
195
209
178
203
183
255
185
274
179
143
205
207
195
191
122
161
204
248
149
200
172
214
130
141
173
271
115
170
217
250
130
205
190
202
189
183
173
210
158
276
129
115
192
182
169
180
174
218
201
181
188
263
133
218
149
241
207
149
313
184
130
197
176
207
200
253
188
197
264
158
211
166
274
162
176
159
181
182
215
289
176
209
198
185
192
208
168
144
199
133
237
205
261
143
173
146
204
257
180
143
227
236
199
258
183
130
206
224
163
216
236
170
178
209
176
146
184
276
133
129
168
300
199
146
225
256
231
158
246
221
171
195
164
130
202
168
277
230
208
129
218
179
209
191
168
129
239
236
164
224
144
186
172
192
130
146
184
207
186
195
221
203
314
130
236
203
191
224
197
143
224
119
193
210
187
200
149
145
115
185
175
168
179
219
210
216
216
151
151
146
195
178
202
261
162
173
180
160
129
192
178
191
222
318
215
183
242
206
179
166
230
235
230
216
210
176
203
180
222
211
168
173
219
195
188
214
152
224
133
229
145
184
186
145
234
148
178
205
238
244
238
274
237
176
199
321
216
253
175
179
115
260
235
229
224
155
178
272
180
180
217
203
115
143
130
173
173
190
183
146
226
168
197
156
217
227
206
173
218
130
237
180
212
185
164
185
219
208
184
143
154
212
179
176
173
171
230
209
131
130
185
215
258
172
210
187
219
204
230
236
129
214
144
173
129
146
184
191
283
158
166
225
176
174
213
207
230
174
199
148
174
236
173
254
155
176
194
171
216
182
212
204
277
236
225
165
185
202
256
263
185
164
217
216
129
171
158
217
132
236
250
164
158
219
182
166
215
146
194
180
207
169
238
129
224
174
179
229
217
189
214
202
179
210
180
228
169
271
230
146
130
129
210
221
202
222
202
167
277
206
195
133
183
150
237
202
144
199
227
191
186
179
174
250
182
176
208
176
184
133
225
129
129
162
208
174
184
158
129
161
169
188
202
206
265
150
188
255
182
145
230
260
204
239
206
202
213
226
231
179
249
157
203
159
193
216
261
182
201
270
174
214
178
187
222
221
231
197
129
155
157
283
173
231
228
211
210
214
199
221
215
168
204
262
165
190
158
202
204
178
201
189
241
146
169
173
160
165
194
146
290
185
230
184
205
235
222
176
173
161
151
156
201
179
130
184
178
197
233
119
234
278
129
202
176
211
141
243
237
149
164
242
231
130
314
228
228
290
257
188
133
283
202
227
192
217
182
192
247
227
188
129
162
206
133
202
160
289
168
230
187
232
217
229
158
149
264
236
335
191
211
202
173
133
205
172
188
185
179
214
208
286
235
174
164
146
204
211
225
200
211
172
130
230
167
255
238
206
162
149
173
155
179
183
239
197
176
261
211
259
225
161
176
181
203
182
151
299
206
188
146
269
162
210
141
183
211
261
214
162
240
269
213
179
162
174
335
216
168
122
181
163
168
241
192
176
144
227
230
180
215
215
249
166
202
184
178
201
225
210
115
188
176
189
141
252
204
299
200
210
254
229
162
143
130
145
169
203
193
168
299
242
163
234
261
162
234
115
204
208
244
200
300
129
200
145
203
176
183
195
211
155
130
284
146
164
161
230
188
129
176
176
274
218
167
264
219
146
170
202
149
187
185
184
128
129
189
192
211
205
146
146
177
174
191
246
205
155
151
227
133
210
174
176
145
152
191
200
176
184
172
115
217
141
202
191
169
255
130
165
129
173
247
242
214
143
282
129
143
193
210
156
221
221
168
149
268
255
130
212
256
173
188
176
180
130
166
176
165
206
203
128
115
180
284
233
227
179
184
235
170
210
160
173
176
176
176
133
163
302
185
160
188
176
179
225
155
174
217
201
129
225
205
192
283
185
199
236
284
160
253
232
204
152
155
223
208
206
146
184
210
200
130
143
199
167
225
239
167
145
263
229
166
203
179
244
218
184
224
172
149
247
191
236
129
204
130
146
179
176
232
226
186
158
145
149
192
130
173
186
210
200
198
160
236
178
265
171
181
176
161
257
197
203
143
283
152
215
129
167
165
184
152
183
204
228
181
210
129
179
204
173
176
218
191
217
160
146
244
205
169
246
210
211
173
130
193
226
178
177
177
228
201
158
207
219
231
175
201
232
145
146
200
353
232
275
146
152
255
130
261
209
197
176
200
182
238
146
133
130
229
157
194
217
163
141
210
293
160
184
166
216
203
224
170
176
191
221
160
239
264
164
146
190
191
211
129
217
236
167
161
168
155
215
210
224
168
294
198
243
130
202
217
256
129
176
186
205
151
184
180
174
193
166
157
218
130
219
115
146
174
230
260
184
183
165
176
200
162
163
191
179
201
173
183
185
191
180
237
166
155
254
235
175
130
168
164
210
173
171
129
188
202
130
228
242
199
208
256
190
274
178
132
263
238
170
296
204
175
174
173
261
115
194
287
188
217
287
217
119
175
189
146
206
198
143
302
211
217
169
260
187
183
195
211
206
174
204
249
146
260
159
178
263
185
194
179
218
179
242
168
240
145
138
146
179
228
251
176
256
149
173
209
219
273
156
263
185
168
171
224
206
130
168
164
188
246
195
189
157
179
176
215
209
170
178
176
253
267
146
208
130
244
176
162
230
184
164
173
218
173
173
204
179
238
133
228
271
144
192
174
173
188
115
138
215
176
144
175
179
173
198
174
164
204
173
168
146
141
208
158
168
145
173
229
188
261
168
241
269
129
152
230
199
129
167
259
201
227
180
269
201
185
133
158
209
202
130
226
210
130
172
209
197
143
173
175
211
229
333
312
198
188
224
176
169
171
225
161
232
269
203
169
199
210
168
188
247
155
238
173
204
199
230
173
182
224
143
158
141
275
180
130
182
181
210
239
217
208
145
185
231
183
211
158
202
222
246
194
191
202
217
130
186
257
191
115
228
287
162
204
169
173
258
177
209
155
173
146
217
181
217
216
191
262
217
209
179
230
169
200
146
200
179
206
244
261
160
133
185
173
193
213
204
234
219
210
301
176
198
172
239
300
202
158
161
130
275
206
212
148
202
204
256
236
335
186
206
164
182
277
178
204
202
203
209
164
188
214
176
202
144
216
204
263
197
198
201
122
188
178
186
195
132
202
149
168
157
233
183
215
230
202
272
234
215
202
173
169
193
219
161
172
223
211
202
178
192
130
226
145
179
158
176
202
211
159
130
122
189
173
146
190
230
130
272
185
229
178
151
176
214
296
186
216
203
129
240
150
173
224
145
217
161
209
242
203
210
190
129
245
258
199
162
215
192
146
243
206
146
143
256
203
205
195
200
279
201
213
186
206
169
227
187
161
164
173
173
175
174
272
173
194
167
189
198
115
164
210
206
204
195
188
190
217
277
145
145
191
129
122
172
145
286
159
203
204
155
217
172
242
244
183
217
184
270
282
208
138
221
168
155
190
280
202
162
178
237
258
156
251
273
205
205
143
256
215
206
197
202
238
184
246
179
199
176
190
165
181
286
164
335
181
186
164
217
210
217
176
201
143
216
245
231
169
187
138
213
185
208
201
145
227
161
236
200
130
160
195
204
173
195
274
156
230
221
168
173
220
187
164
146
217
173
183
174
270
210
325
210
146
236
158
283
201
205
199
197
229
204
173
144
227
204
162
194
115
256
176
129
209
138
210
132
210
223
241
217
273
244
187
166
218
183
184
239
216
146
245
181
217
189
170
176
200
184
174
204
178
200
184
202
149
205
195
191
253
185
247
140
210
226
215
130
195
164
155
158
189
189
146
138
169
160
239
133
180
262
191
185
219
187
132
182
248
202
209
215
150
193
179
217
217
129
204
200
141
206
200
201
149
206
169
269
203
205
156
150
242
201
176
155
256
191
205
130
217
155
186
213
129
200
264
245
129
172
166
134
209
185
259
227
146
173
203
194
147
236
171
229
176
233
150
225
194
172
225
143
146
130
214
210
158
192
184
201
253
179
176
238
168
202
178
181
220
143
180
180
255
232
211
119
174
149
183
145
129
209
133
226
186
191
180
162
156
244
194
181
215
205
202
184
198
184
209
239
188
146
201
247
243
167
202
240
249
176
184
191
210
201
297
181
209
188
130
192
182
194
239
263
176
192
184
184
211
266
141
206
146
181
204
238
168
157
169
188
253
200
206
185
238
173
227
199
176
217
129
210
200
173
233
164
289
165
273
249
211
225
206
179
197
191
130
216
224
259
171
174
228
226
183
156
129
166
174
222
208
162
258
215
186
190
156
179
200
184
176
163
173
189
335
296
239
130
158
200
158
177
130
156
231
161
258
119
164
200
246
241
176
184
204
162
176
188
178
248
129
175
228
191
199
222
174
169
204
155
213
190
247
209
184
214
206
181
129
237
206
157
244
247
190
171
178
271
238
180
201
188
249
253
160
226
176
195
178
208
210
115
176
180
194
167
264
146
240
221
204
187
183
207
180
115
191
227
191
204
187
192
133
225
187
197
221
163
217
133
209
209
176
146
201
182
262
200
157
201
146
198
239
173
128
263
205
256
241
259
225
178
129
271
155
184
178
234
161
244
163
204
222
146
172
222
225
197
246
178
226
229
183
128
166
191
199
155
160
187
226
153
166
299
165
176
266
164
259
164
204
184
155
146
183
262
202
204
166
228
173
173
213
185
200
158
186
198
258
166
129
176
234
140
162
231
189
173
204
188
187
192
209
182
180
183
212
215
264
258
164
260
186
223
255
204
168
221
183
263
230
166
238
164
146
193
197
236
239
141
206
211
184
164
146
228
144
159
138
231
141
129
178
159
201
158
130
151
145
197
256
152
161
267
149
206
130
146
224
200
194
129
191
148
236
215
179
160
258
210
202
217
174
133
204
130
275
234
146
221
228
176
178
115
176
179
146
172
164
206
224
130
130
183
207
240
249
239
146
206
162
239
197
191
212
129
224
180
160
138
130
183
214
155
166
228
208
309
175
186
129
191
176
195
204
224
153
225
190
150
217
204
148
173
197
236
159
200
200
243
183
143
115
200
227
210
223
262
242
171
162
202
243
177
184
145
185
215
130
210
173
203
193
193
204
275
173
158
222
225
176
227
183
133
162
180
146
161
133
209
173
216
152
221
223
265
211
130
166
122
174
213
209
130
204
130
335
261
219
225
218
145
179
130
158
167
236
348
145
157
211
277
119
146
183
145
215
184
198
182
194
158
164
217
198
169
240
162
145
167
196
222
262
195
115
146
217
152
263
151
150
130
205
129
212
192
184
206
169
254
204
129
263
156
130
166
168
239
182
129
164
166
180
129
158
185
167
188
239
217
130
141
161
153
169
185
202
258
165
197
129
191
186
210
234
239
130
300
173
217
258
201
289
217
303
199
153
133
204
237
133
129
179
247
178
167
242
204
159
133
206
176
168
203
164
179
224
168
159
168
146
265
206
129
196
176
217
149
234
188
220
168
150
266
228
228
228
173
169
129
161
218
129
173
202
150
131
205
210
243
129
177
184
141
180
200
162
130
146
248
176
281
221
173
236
182
183
187
185
210
183
122
138
236
143
193
169
138
184
174
188
179
157
207
171
256
229
201
238
210
205
230
183
281
146
174
191
187
138
115
152
179
129
209
215
115
180
219
201
182
129
188
151
133
180
202
191
178
176
146
206
188
156
147
204
200
166
221
173
230
129
172
130
183
253
258
191
190
204
211
171
183
141
211
195
238
233
151
182
173
214
179
264
159
204
214
158
240
175
203
153
224
199
256
160
180
206
216
196
145
210
129
138
176
221
172
229
211
214
236
124
180
130
146
146
161
203
217
189
170
174
129
146
223
231
202
130
164
157
257
201
181
183
191
232
247
204
283
302
258
170
159
203
191
215
130
237
176
176
200
185
214
146
155
223
155
217
133
146
324
129
186
181
184
169
208
202
176
173
262
181
200
158
191
237
263
192
201
188
144
173
236
258
191
157
179
211
186
162
176
149
122
246
174
204
278
207
182
214
264
195
193
222
173
164
176
146
201
245
164
217
187
161
145
182
133
181
132
223
225
184
177
210
168
217
173
303
145
147
179
212
287
225
185
155
176
204
146
146
221
214
192
200
238
129
210
146
261
194
152
200
245
238
204
227
160
237
130
181
214
212
222
201
129
256
158
241
184
188
221
227
152
243
202
204
216
175
146
176
233
129
162
204
194
173
152
204
340
185
162
186
229
176
262
133
173
145
181
214
176
215
240
191
162
160
230
173
160
202
169
173
162
234
177
222
209
223
200
202
272
173
173
211
179
208
246
143
182
161
204
169
174
214
185
205
157
138
145
221
197
227
210
335
176
233
138
203
130
201
143
164
133
167
206
197
188
191
145
213
130
197
178
230
228
212
143
207
119
192
160
213
187
238
236
195
250
234
235
182
189
178
208
129
254
193
272
235
163
158
178
157
160
210
130
158
256
214
198
224
209
177
146
176
221
254
191
196
190
216
263
173
151
214
261
178
248
188
235
201
174
199
276
204
146
177
184
226
214
133
172
202
208
230
192
190
230
176
191
218
150
173
161
188
152
202
217
218
238
224
261
190
145
208
182
157
219
222
253
176
173
158
179
162
191
150
217
146
220
202
200
200
179
190
163
236
150
198
238
169
176
178
202
191
171
145
239
129
158
163
122
201
178
153
192
264
176
188
228
274
178
221
185
149
201
238
222
210
188
234
210
179
283
210
246
185
198
195
236
212
279
170
231
155
201
197
220
203
130
210
232
184
234
268
221
201
179
215
182
184
232
189
166
174
227
228
181
207
165
257
130
149
173
217
172
131
201
181
168
265
178
217
115
192
145
206
168
176
212
237
144
155
230
183
265
155
155
130
264
204
144
178
184
161
182
221
160
212
200
176
276
168
166
202
132
133
216
210
161
179
177
257
250
264
173
147
201
233
212
156
264
204
209
186
203
171
161
189
191
217
202
225
201
158
176
129
195
203
176
218
182
169
115
132
182
214
208
174
115
193
170
191
220
269
172
203
146
155
163
264
214
130
202
133
240
183
213
198
190
198
130
141
227
191
192
187
152
180
200
210
129
171
200
268
202
164
185
148
167
264
202
183
147
218
221
201
138
231
184
158
264
115
176
173
244
211
207
230
169
203
187
229
202
156
182
209
161
238
147
210
246
158
129
206
251
221
151
263
246
205
160
133
249
176
230
151
130
179
190
130
208
188
130
161
246
204
173
186
221
130
179
173
190
206
207
186
202
251
173
158
162
184
239
147
192
183
225
176
199
211
168
176
199
236
210
193
156
201
190
180
173
146
260
189
199
202
264
146
180
173
146
179
122
173
182
173
221
210
184
209
162
115
162
197
130
195
186
168
162
202
178
170
225
195
161
182
181
184
223
138
130
231
225
194
158
214
158
185
175
239
164
162
219
202
129
130
129
198
143
162
215
200
211
173
168
229
193
166
182
238
179
201
146
167
146
166
129
184
243
188
258
156
283
263
178
143
145
188
214
236
205
145
157
129
179
130
146
217
179
204
162
274
263
198
162
205
204
173
260
283
146
228
198
210
215
173
150
259
195
238
196
217
204
130
173
185
130
183
199
144
282
261
242
173
174
201
179
188
207
208
157
153
160
261
238
176
170
213
166
115
235
191
176
115
176
211
201
144
164
157
167
199
183
170
200
181
129
173
217
240
265
307
130
145
183
129
185
160
146
228
164
211
143
237
132
153
146
189
204
202
162
171
195
287
143
204
329
212
203
162
188
221
210
202
129
180
280
244
133
184
251
217
227
201
168
146
130
122
213
174
191
205
214
233
179
234
155
203
164
191
199
176
165
299
234
208
204
265
229
201
218
184
190
133
210
191
238
261
223
183
246
150
173
236
264
129
198
268
173
174
150
151
157
196
235
176
250
214
210
182
211
143
206
179
283
211
129
204
227
155
215
230
138
190
244
210
217
152
130
235
164
164
221
239
185
129
185
173
230
184
176
236
300
174
231
150
247
238
294
168
141
210
275
193
211
145
129
174
204
179
173
164
168
162
234
229
169
210
207
216
210
204
239
242
285
179
246
129
176
203
212
188
181
130
229
236
132
169
198
176
198
130
247
236
211
195
129
176
146
133
194
185
294
183
281
217
176
244
241
212
179
201
217
138
199
158
155
143
283
189
146
185
175
172
200
238
246
178
162
202
186
145
186
160
229
181
237
164
145
187
225
168
186
202
235
143
210
146
230
144
177
153
245
204
204
271
191
260
130
227
133
219
217
213
163
177
159
164
129
280
231
229
204
210
217
176
130
193
155
152
269
288
151
129
141
160
191
129
226
201
173
190
273
181
222
174
174
212
157
185
252
182
251
174
226
130
230
204
168
200
145
205
173
226
211
204
201
194
191
245
244
148
233
178
174
235
168
169
212
209
129
201
238
211
188
217
184
166
182
200
202
217
166
146
182
195
158
188
157
242
300
169
217
146
190
281
185
173
147
208
300
221
173
145
294
241
188
178
130
225
181
185
203
182
202
314
254
129
146
167
193
212
196
260
192
204
167
222
176
231
206
166
239
182
146
186
168
237
209
214
166
200
158
181
159
200
169
122
145
146
159
236
174
222
204
206
197
243
178
160
149
266
199
236
178
229
230
211
168
213
230
210
209
275
152
130
130
263
149
130
190
179
216
238
198
201
200
210
208
174
145
164
204
186
227
248
170
173
155
176
224
205
224
175
176
187
146
138
225
181
203
242
240
213
163
209
187
162
160
122
255
156
129
129
217
186
217
229
275
173
214
168
147
180
212
184
173
141
176
168
192
177
191
180
254
150
240
217
210
230
192
173
171
230
130
184
168
227
179
190
143
230
208
190
238
259
244
231
129
274
171
122
155
202
264
162
211
219
185
180
183
183
156
146
226
202
204
213
214
222
202
238
216
206
225
204
246
210
238
238
228
129
217
184
222
192
335
205
146
130
219
152
240
165
237
146
173
164
129
283
201
130
129
210
230
200
146
171
335
145
238
211
208
210
141
186
143
182
176
260
201
157
218
200
195
149
230
217
238
146
257
218
199
164
145
162
212
165
206
158
186
178
191
169
238
218
176
158
219
146
205
180
151
150
230
176
207
216
179
178
237
260
155
197
200
230
146
235
238
201
164
176
158
212
146
168
204
173
191
203
119
212
180
199
187
129
158
173
133
183
183
211
167
187
191
115
145
133
168
286
129
189
204
186
189
190
215
203
143
173
176
187
146
185
200
143
174
164
129
192
158
122
115
214
247
168
152
176
161
264
115
218
216
227
173
185
236
168
222
173
151
181
231
218
129
141
129
166
148
200
227
183
156
176
173
230
208
147
221
166
187
246
129
192
184
143
207
206
170
170
225
256
179
264
184
219
204
168
143
186
206
176
241
260
210
162
158
258
130
247
274
173
165
192
143
155
172
177
239
187
162
129
146
217
275
225
197
195
231
235
200
176
299
194
255
210
226
151
179
198
197
174
183
288
211
211
173
174
168
181
184
173
130
226
221
175
173
195
247
201
166
182
183
201
158
176
225
130
202
203
146
158
221
141
265
240
149
173
164
199
164
183
191
173
119
250
130
235
145
259
242
179
173
185
146
171
186
200
181
203
262
169
213
181
242
236
220
194
264
235
217
170
188
146
230
184
181
246
173
186
155
285
159
201
130
335
133
172
179
202
210
185
226
189
256
200
169
129
141
130
152
157
173
146
211
158
191
146
182
146
156
130
205
182
238
184
146
155
211
145
194
181
255
152
168
201
129
129
177
162
178
192
335
166
250
161
206
220
217
174
197
192
180
193
219
164
145
170
214
173
172
191
287
237
133
213
301
201
210
164
239
130
173
204
188
266
221
191
152
146
230
246
133
162
215
263
129
204
162
168
224
190
199
198
218
246
194
200
206
242
254
200
129
203
156
237
224
207
146
180
182
162
192
205
266
217
178
191
146
191
200
235
206
209
215
209
193
236
243
237
280
202
204
175
173
175
221
187
173
190
235
141
176
217
115
185
186
173
236
129
213
162
130
219
201
225
174
244
222
181
168
150
196
235
130
227
180
146
174
268
157
156
195
129
194
235
184
202
204
147
215
259
210
236
194
188
248
188
188
230
129
188
173
176
199
259
202
141
217
129
183
230
158
225
210
231
202
196
158
195
204
258
129
162
213
143
129
176
244
164
232
146
204
204
207
192
231
221
179
192
182
177
200
258
176
226
183
115
150
216
153
252
149
174
187
173
201
251
319
248
291
237
212
146
255
217
226
227
173
133
179
263
162
191
243
201
143
191
186
214
201
177
129
172
195
146
138
158
180
197
199
169
173
239
250
204
163
174
201
184
146
201
211
214
146
157
238
162
231
146
115
173
186
202
229
239
191
184
171
221
130
184
230
169
234
186
203
210
241
216
204
166
253
184
253
211
143
183
130
256
209
145
213
221
184
239
189
162
202
210
153
235
151
173
160
183
156
176
193
160
243
129
207
216
183
173
208
202
168
157
187
230
173
129
190
160
238
249
174
193
175
188
238
201
201
214
130
211
212
215
190
235
155
132
195
200
179
202
209
146
197
115
174
191
198
146
202
211
182
186
222
211
245
202
264
143
201
222
263
145
210
146
129
204
145
174
162
214
262
272
172
141
145
299
177
151
191
182
240
185
200
217
185
183
166
194
257
210
173
189
249
187
173
146
230
183
209
182
226
168
182
180
187
162
210
255
168
156
147
171
171
176
231
208
238
183
209
133
176
198
229
162
155
174
285
248
207
227
145
141
192
166
247
141
158
176
201
246
188
202
162
188
115
178
176
236
153
264
225
132
222
192
176
258
258
173
249
173
202
172
133
169
183
168
168
189
201
185
183
153
159
261
180
214
179
163
195
189
272
133
185
244
200
181
205
166
286
149
182
115
244
205
231
206
224
188
166
182
222
180
212
146
226
237
248
150
115
183
146
244
253
259
133
297
173
181
201
173
241
217
195
169
158
244
179
183
181
166
133
303
129
192
257
234
200
161
192
260
160
216
246
259
176
192
204
201
188
182
200
230
130
190
228
161
215
133
180
176
181
240
133
176
174
180
180
201
240
217
180
191
174
237
239
217
264
173
176
168
222
241
225
174
129
133
197
257
256
211
228
241
182
288
216
193
146
205
133
185
303
147
225
189
238
244
217
214
255
251
188
146
210
175
129
203
252
146
192
184
201
266
162
155
189
207
186
130
206
175
161
287
176
254
221
146
239
180
239
235
176
161
226
218
183
150
250
202
240
238
157
191
147
146
200
188
115
168
155
207
197
210
230
156
212
194
227
167
281
246
267
215
130
129
168
208
186
195
207
205
133
173
179
205
210
173
184
146
173
209
185
122
263
165
206
165
168
168
244
143
211
253
189
253
143
230
143
167
183
155
173
198
176
194
185
179
204
153
217
176
180
180
225
130
202
191
179
204
193
155
184
207
221
221
195
219
173
234
222
143
143
173
165
225
169
150
200
143
211
209
211
256
225
176
201
173
205
196
192
194
208
214
188
132
193
210
234
173
155
143
206
174
181
213
192
178
128
219
195
150
241
187
178
185
214
232
189
176
146
129
146
242
193
202
235
247
181
201
122
253
129
164
162
187
199
129
171
146
210
188
219
187
172
272
151
335
191
193
194
211
146
195
213
146
218
158
181
201
230
271
130
246
209
183
165
204
214
203
209
194
211
173
155
130
204
210
217
156
281
217
324
182
158
205
187
198
242
198
228
143
184
195
264
193
234
172
181
227
129
217
164
242
176
240
206
222
200
202
242
162
168
202
234
190
189
200
209
115
215
216
201
201
256
182
258
246
138
242
129
215
181
200
192
174
231
246
193
236
164
247
224
186
216
214
203
161
172
155
155
212
188
219
145
150
283
182
217
227
214
244
164
165
122
186
130
153
187
219
217
217
202
207
181
257
197
160
182
179
289
193
245
219
152
231
204
237
191
225
242
159
224
115
133
160
204
129
155
216
230
129
214
189
204
167
149
207
173
270
221
206
143
217
195
247
234
197
174
204
289
179
219
285
301
146
130
205
236
242
156
183
210
146
214
252
172
210
188
253
210
211
129
244
202
187
204
169
231
233
168
230
183
130
138
176
227
285
158
209
150
208
247
177
227
182
184
252
183
181
243
222
158
179
227
178
182
195
162
190
185
155
155
218
210
167
204
205
201
179
204
206
235
161
164
253
152
182
192
180
158
248
164
198
239
234
178
158
161
204
146
188
165
325
204
138
176
210
166
181
146
200
208
241
227
229
193
194
204
146
217
215
243
192
287
115
191
227
267
233
161
210
209
173
161
167
187
155
166
203
324
188
246
208
141
179
141
211
180
145
191
199
206
224
162
217
207
173
217
184
210
224
155
197
146
155
183
205
164
169
222
251
212
166
226
261
152
201
269
201
145
122
239
130
183
261
197
236
236
182
180
254
146
203
132
222
215
235
202
202
191
255
191
179
139
204
200
144
203
227
235
233
173
225
217
176
195
155
133
146
173
212
180
238
173
229
180
115
143
190
141
208
143
122
174
207
202
157
145
186
185
141
180
246
182
248
183
179
156
187
207
182
166
153
203
186
210
231
171
208
173
182
180
259
129
240
206
130
155
188
246
158
195
204
146
242
206
130
209
253
173
130
216
130
215
143
250
181
152
245
251
185
217
115
130
115
264
230
243
130
180
166
222
176
173
272
172
221
191
146
246
115
210
148
168
147
199
210
215
160
182
206
217
143
224
167
206
203
158
245
164
158
164
133
190
303
224
181
168
173
216
191
271
206
185
176
211
173
201
176
157
218
208
163
204
231
144
202
185
173
168
193
208
182
212
153
176
258
145
198
209
201
146
199
146
214
162
164
255
191
133
185
201
169
252
181
222
242
205
211
254
185
161
274
146
145
188
206
201
179
188
178
211
215
210
183
216
172
146
176
157
247
266
258
195
168
183
179
214
205
130
190
185
199
143
184
217
161
217
130
204
207
173
238
185
244
208
172
130
185
197
206
143
193
259
200
261
173
166
215
195
146
173
156
168
164
145
133
195
184
160
195
130
199
173
183
130
184
122
129
236
242
211
202
227
229
192
201
178
133
185
183
207
261
182
200
155
164
174
180
198
252
217
244
204
177
221
168
277
189
181
230
184
133
130
235
146
191
211
130
178
167
193
145
204
223
149
274
276
222
238
143
226
206
161
182
185
246
170
258
178
267
188
204
146
220
150
173
162
236
156
149
176
278
193
211
168
259
210
287
172
156
180
181
257
206
210
244
252
173
208
130
287
178
176
179
122
214
146
249
182
248
175
143
150
173
129
210
145
222
164
198
115
129
150
318
183
214
186
179
277
176
177
259
199
207
130
239
204
130
147
132
299
180
248
115
211
297
241
211
130
207
184
190
222
224
202
289
208
160
146
195
161
241
115
216
202
204
249
128
257
206
192
129
202
141
129
178
204
164
188
188
277
130
217
202
227
189
185
171
130
188
174
201
209
201
247
178
278
220
210
173
208
200
195
219
179
129
129
157
129
231
169
175
234
173
209
199
222
215
188
178
190
167
191
204
166
141
244
217
115
236
266
168
188
197
201
130
176
130
184
210
250
259
145
247
174
208
187
184
277
230
179
180
171
214
207
161
173
157
210
182
176
191
227
141
168
217
203
193
197
237
176
174
177
162
226
176
129
208
185
188
129
183
204
182
158
186
201
168
192
164
190
197
155
179
246
270
180
236
155
175
210
146
192
239
247
231
236
270
206
122
187
129
173
158
115
234
251
251
192
193
184
195
211
133
173
145
153
146
183
239
179
239
204
169
211
146
185
191
206
169
166
159
156
227
160
133
130
200
119
145
203
178
192
202
191
160
222
239
234
225
183
232
242
146
213
168
146
264
200
129
224
213
189
147
146
174
210
247
217
214
172
236
198
246
235
158
209
191
143
156
229
176
171
256
247
145
174
129
182
203
168
230
210
194
256
177
153
204
173
162
225
151
206
191
200
179
115
189
187
205
237
133
173
209
262
198
155
183
145
176
179
222
166
195
178
204
176
171
201
222
242
122
173
182
201
150
146
185
205
188
187
187
204
192
186
152
198
172
186
186
194
183
211
303
173
187
204
208
169
174
199
202
243
202
202
190
189
173
200
200
230
248
182
215
202
145
190
226
173
180
211
191
167
155
182
200
218
229
178
204
182
234
256
217
212
160
211
129
257
227
252
176
184
145
180
217
160
210
176
199
217
181
185
164
176
193
176
214
146
192
176
171
179
189
192
195
240
237
204
162
133
230
146
162
173
306
129
166
220
182
141
168
150
167
213
229
211
206
155
224
238
115
194
129
158
204
184
267
145
253
232
249
177
173
244
146
219
174
178
204
199
145
130
167
191
202
214
145
133
164
229
144
180
186
211
174
250
206
189
201
178
138
156
254
149
180
246
199
213
168
219
183
191
168
182
170
189
256
187
194
182
129
133
182
162
130
173
186
202
172
207
201
187
158
205
210
159
200
199
173
157
241
158
209
214
190
129
239
292
173
201
115
173
168
217
192
234
197
185
256
235
195
256
199
210
203
186
224
156
214
208
172
122
133
203
141
199
145
204
226
168
130
240
243
172
176
163
152
173
184
155
201
185
192
210
247
191
157
265
115
141
143
150
231
236
225
251
188
215
147
119
180
250
167
204
186
244
246
182
145
167
184
186
167
204
230
129
258
209
215
232
234
129
186
261
191
189
115
178
131
235
167
236
256
196
192
145
210
168
220
272
204
164
206
261
164
143
150
230
167
143
143
173
211
185
201
210
201
216
127
181
256
147
189
164
179
190
209
178
239
146
166
202
246
233
205
146
244
272
166
204
194
251
208
235
258
225
219
162
175
200
153
130
183
238
202
178
186
162
206
130
227
164
249
180
185
201
233
171
285
172
210
181
155
156
188
218
162
167
179
175
146
197
156
168
144
210
141
119
212
211
146
205
133
145
204
185
200
156
141
122
210
240
160
267
164
176
238
236
225
217
225
177
129
224
191
214
201
191
272
216
170
164
174
189
169
217
237
187
303
129
182
169
145
129
164
146
130
146
211
186
169
246
168
190
173
155
243
204
179
216
189
221
146
212
282
183
171
115
219
210
230
178
209
160
200
250
195
173
186
206
256
269
213
218
211
173
182
179
201
191
182
206
146
193
236
165
234
146
164
167
228
130
174
130
210
163
226
211
149
234
237
173
184
144
129
195
179
158
146
229
115
130
156
166
230
184
187
188
151
211
161
191
169
229
269
252
179
217
143
172
183
164
191
185
115
182
256
169
128
229
132
115
270
146
258
319
210
230
199
256
221
115
129
198
187
179
221
175
192
168
174
164
163
129
215
200
193
129
223
181
225
264
162
198
234
271
145
156
199
210
129
204
161
250
207
176
133
162
169
158
182
168
188
276
164
194
179
222
169
171
191
167
160
168
238
200
166
179
170
237
182
211
223
156
173
230
162
176
215
199
224
173
141
221
204
261
206
183
129
281
162
162
129
294
222
181
254
169
197
143
324
226
269
206
206
172
288
173
159
240
133
215
285
184
204
202
191
206
230
206
206
202
217
254
278
204
162
216
214
146
145
153
210
203
164
146
156
224
171
155
161
158
273
201
206
214
181
191
210
240
130
173
146
180
189
178
187
158
138
179
200
211
146
190
207
129
180
146
194
160
130
164
190
206
250
283
210
234
203
130
184
217
150
129
176
130
233
176
212
161
253
236
239
222
179
225
165
146
211
217
176
229
184
210
146
223
247
130
219
173
153
183
220
115
192
213
147
179
146
249
162
161
250
214
274
162
170
234
182
270
172
229
248
228
158
228
130
246
212
206
204
274
191
283
217
283
149
210
185
233
168
161
158
232
129
254
206
225
115
192
245
225
174
303
158
266
218
153
211
204
202
283
201
189
217
133
180
176
146
194
236
162
185
130
181
209
180
230
187
132
222
259
181
209
199
224
218
190
129
165
164
183
232
247
264
221
287
179
146
181
227
178
236
184
200
216
173
214
185
206
150
192
173
176
162
262
217
143
156
227
164
273
185
130
130
206
152
180
253
175
240
172
168
145
146
239
168
217
278
236
190
129
146
160
275
115
230
185
211
173
176
184
146
169
198
171
195
155
146
192
133
203
204
162
130
184
270
145
262
130
158
171
223
185
183
180
161
252
240
191
217
158
203
214
237
257
211
197
149
166
213
191
204
210
239
244
274
191
171
207
153
190
178
149
133
195
157
176
193
172
208
185
205
163
221
129
204
213
188
160
176
188
219
129
127
204
191
129
209
150
179
133
165
138
179
207
217
211
115
205
156
178
181
150
146
201
155
180
265
173
286
145
246
206
173
159
222
115
168
201
230
119
158
131
176
225
173
214
207
211
194
146
173
204
184
226
173
230
243
211
200
198
195
287
252
164
115
129
261
195
146
150
236
200
204
166
168
186
230
129
232
236
129
173
173
201
205
305
194
173
242
204
128
201
133
224
233
149
182
184
190
222
250
229
195
207
157
222
176
129
184
179
143
184
188
189
129
263
181
183
184
178
194
180
161
155
175
164
203
244
211
222
173
201
216
191
236
143
164
198
150
210
239
145
241
193
256
219
168
162
175
201
129
178
187
209
129
138
189
157
168
173
246
173
175
236
257
130
234
173
287
206
179
171
159
202
231
192
164
207
204
210
216
144
240
173
164
228
253
221
201
294
253
158
172
179
143
168
176
232
202
188
210
177
173
179
176
190
168
225
195
237
173
223
130
217
145
168
225
176
165
164
185
176
229
211
230
173
162
181
223
204
195
227
129
205
201
166
146
244
191
195
275
314
228
130
207
146
189
168
208
176
201
204
213
178
186
217
205
213
266
163
204
201
158
180
157
225
167
133
202
201
184
186
325
232
146
179
175
201
210
150
191
195
146
160
129
181
252
189
138
199
259
204
173
168
191
160
199
130
143
187
143
146
146
224
190
262
255
129
191
174
171
155
258
186
161
144
167
211
173
188
222
176
151
203
178
129
168
129
130
234
222
173
175
194
152
236
176
219
290
122
206
287
181
174
129
241
179
204
257
194
281
130
173
186
289
189
184
271
196
130
179
204
130
209
149
198
247
204
129
210
217
222
231
233
129
188
217
261
130
178
130
191
235
179
173
205
128
130
190
179
164
216
145
206
254
145
202
180
187
188
211
227
190
189
211
191
210
146
204
202
246
115
129
232
185
229
239
204
156
176
204
115
168
155
176
274
236
158
170
171
132
115
157
176
130
226
200
231
144
246
262
263
231
202
181
174
160
145
228
130
156
191
164
206
255
204
194
181
191
208
129
174
122
195
176
165
262
204
230
155
185
184
217
206
145
183
164
227
115
230
258
204
216
200
204
173
177
162
222
180
210
190
210
178
313
129
202
231
210
202
210
237
179
252
246
241
256
185
115
207
224
182
236
146
156
155
219
230
192
213
179
188
145
176
238
175
201
200
238
272
130
223
133
182
213
133
176
222
202
172
173
202
158
173
132
179
288
184
224
220
217
194
162
202
160
192
209
115
211
198
179
188
201
145
210
130
240
179
250
206
246
130
203
185
254
179
129
115
200
236
204
233
194
173
194
190
206
188
210
191
207
238
207
146
173
211
192
293
133
130
156
243
180
162
176
156
214
186
176
191
129
258
229
146
130
238
185
146
265
189
170
173
199
162
238
122
225
130
254
213
180
182
199
122
216
176
155
197
180
292
188
216
246
231
201
173
191
146
205
267
209
164
171
158
176
273
203
225
295
183
263
133
199
176
171
254
183
182
227
217
173
211
188
194
185
208
227
217
185
199
230
130
222
226
130
184
173
188
158
130
129
230
115
155
230
181
162
168
180
162
202
176
194
176
237
201
164
224
176
254
173
146
162
230
217
216
115
182
200
166
215
201
150
259
248
158
193
255
229
141
146
143
180
180
138
222
206
146
140
197
210
204
130
203
230
129
277
143
130
189
204
180
266
249
204
214
176
228
129
200
238
130
168
207
122
162
176
179
146
204
164
230
180
177
202
233
155
202
287
206
219
184
242
172
254
206
143
179
201
199
182
204
155
210
236
208
234
210
206
172
232
215
129
130
133
188
175
236
168
202
160
176
206
187
230
224
166
182
191
179
173
211
155
211
185
171
236
206
130
210
130
210
261
203
210
169
251
217
202
208
191
252
222
199
185
199
145
181
179
161
186
204
115
269
204
227
185
182
164
205
160
182
216
115
146
133
202
177
184
188
211
308
194
201
129
156
212
164
239
202
214
180
222
130
201
158
210
170
182
155
155
296
241
144
147
200
203
130
161
173
228
230
168
201
195
335
129
199
183
146
161
252
146
216
222
218
146
217
180
161
227
189
221
201
229
174
128
212
183
179
173
211
200
224
176
208
165
168
156
129
173
236
183
198
259
202
186
115
178
191
138
176
143
161
205
260
182
229
222
132
162
130
234
179
122
229
173
176
165
182
221
130
265
129
221
181
209
191
160
190
169
204
184
191
181
236
277
203
296
162
146
164
162
147
205
183
247
156
195
251
173
202
205
179
205
161
221
162
202
210
186
158
170
195
201
230
159
264
254
158
248
228
176
146
119
174
130
172
210
201
191
254
130
179
285
232
156
173
299
184
197
259
177
209
178
216
149
145
160
279
188
217
213
199
250
268
179
183
234
266
172
185
129
164
122
138
174
190
194
185
205
180
129
201
249
171
235
202
202
186
155
172
245
202
184
203
174
146
210
218
239
202
129
145
145
147
173
206
226
221
194
164
220
133
172
222
129
200
204
145
150
202
193
180
173
176
266
177
179
266
191
158
201
185
254
162
146
176
222
245
236
218
164
189
115
213
191
194
221
202
242
221
182
218
146
235
145
160
130
231
184
236
193
206
156
173
174
275
173
255
220
216
196
176
195
217
180
200
129
252
178
165
214
146
147
173
183
259
161
240
150
204
212
168
156
227
254
230
294
115
217
153
166
228
192
242
173
272
133
258
234
168
183
238
152
115
164
265
221
179
167
204
184
185
186
187
129
227
145
245
201
159
185
265
206
143
129
199
150
137
217
180
197
220
192
173
204
231
179
178
192
179
202
164
181
143
115
239
186
231
251
179
171
210
204
295
265
180
173
130
202
168
225
237
169
189
184
130
137
182
156
133
181
207
159
191
190
202
181
259
236
184
201
169
200
204
146
197
174
221
214
229
230
191
171
238
171
202
155
162
246
204
130
173
263
228
156
115
218
217
144
240
202
189
176
203
164
256
271
204
119
176
246
156
210
173
238
191
145
217
272
193
211
179
143
192
204
130
217
146
258
188
129
115
208
199
143
184
188
217
173
202
133
258
207
168
190
146
158
247
205
260
210
183
178
208
179
313
201
200
211
206
168
204
195
173
185
206
247
254
186
166
141
155
210
282
172
257
211
183
130
252
174
217
234
186
188
202
202
141
178
231
227
187
133
151
204
178
296
211
210
206
206
235
238
168
171
206
150
178
255
186
182
146
173
185
179
166
147
248
128
206
166
168
176
173
219
166
193
130
180
129
275
184
115
237
228
241
133
133
164
174
156
227
164
129
239
296
227
226
180
162
122
217
168
252
179
185
193
274
189
200
292
222
133
195
207
129
206
184
155
177
146
203
231
155
214
227
218
219
173
198
232
181
155
239
162
144
129
168
133
228
173
277
194
184
214
147
145
186
265
226
242
200
218
185
211
168
186
190
246
218
190
146
163
210
145
209
272
212
211
250
194
173
220
241
180
185
130
156
141
129
169
182
184
181
244
211
130
144
192
122
200
243
174
176
217
155
207
250
141
197
146
162
162
236
192
146
214
226
230
282
156
144
199
189
199
247
192
129
200
238
191
172
203
218
115
266
138
201
207
271
210
239
146
255
221
161
144
146
219
230
262
138
218
204
150
176
174
176
174
130
202
209
199
176
180
166
161
164
217
176
205
193
259
214
156
169
217
179
164
158
219
183
183
175
204
190
122
168
189
219
199
160
244
268
164
219
191
129
165
229
146
156
229
182
231
129
227
182
191
204
179
143
181
169
217
176
152
235
201
214
217
192
210
228
188
190
335
245
180
204
130
227
184
211
216
158
241
236
178
147
199
173
216
115
237
144
130
115
201
221
176
250
170
155
228
210
156
152
290
129
245
199
214
253
191
248
170
204
271
206
178
187
239
164
176
242
160
143
260
246
185
274
190
184
128
176
200
190
244
130
166
184
299
187
130
218
176
173
258
170
165
221
251
191
221
190
176
141
179
218
172
211
270
191
168
230
210
245
130
206
160
164
145
146
225
243
162
176
197
230
191
164
194
178
186
130
216
205
184
149
148
244
203
129
190
261
171
203
188
236
130
175
221
279
192
199
184
164
173
208
162
249
214
231
178
189
145
225
186
130
192
208
237
186
138
195
168
183
185
231
182
168
202
180
202
228
166
289
192
164
129
146
202
217
197
238
150
176
204
182
246
167
249
218
187
230
209
196
129
234
201
129
143
204
129
179
250
202
179
185
188
196
183
264
242
158
214
212
149
222
158
146
182
218
200
158
155
183
200
179
176
179
158
243
205
202
143
162
173
257
228
197
129
220
204
180
164
170
197
264
186
242
176
168
199
178
205
205
171
214
170
230
179
192
220
238
172
174
214
178
211
178
235
193
219
216
241
115
179
138
201
144
130
143
176
201
211
164
231
182
159
160
191
176
180
211
115
237
179
240
164
191
266
161
178
252
162
162
210
206
178
206
223
174
165
218
202
183
176
219
191
129
188
221
185
195
168
174
143
296
236
208
158
146
264
184
161
161
171
189
299
204
188
148
200
173
204
168
146
130
182
174
217
130
205
242
239
174
176
204
202
243
168
204
175
169
129
288
176
303
155
159
300
193
130
151
227
161
236
143
146
115
131
216
208
168
172
129
205
185
162
236
322
171
256
217
167
290
189
201
207
229
129
130
187
203
173
213
129
200
161
182
171
180
222
258
115
187
187
206
198
156
241
249
129
130
238
204
242
202
178
217
201
164
166
206
173
233
131
210
214
183
122
182
239
130
309
228
176
173
175
174
251
143
229
229
237
189
115
213
173
201
189
172
182
236
182
186
212
162
235
180
173
146
172
129
256
143
220
179
242
185
208
195
130
162
250
210
160
174
259
264
180
203
246
143
211
222
175
180
195
230
224
180
146
210
212
210
183
158
164
146
238
236
161
145
191
191
217
187
176
141
146
202
271
251
216
228
185
149
205
202
183
189
166
129
184
158
145
234
133
179
195
210
213
172
158
178
133
218
168
198
169
171
129
172
191
184
173
215
335
247
217
211
218
219
147
173
130
256
180
219
185
129
201
225
241
211
179
184
264
196
195
130
172
180
184
155
130
228
242
192
122
146
115
167
200
192
171
162
210
230
219
160
226
133
210
115
163
166
129
194
146
122
146
245
243
222
230
263
164
202
251
218
200
173
206
174
245
187
192
235
162
143
222
231
281
115
191
219
211
173
335
229
173
195
146
178
176
173
238
176
192
150
156
177
140
156
180
158
162
162
235
217
129
215
146
166
210
129
162
182
223
204
198
131
234
246
169
255
211
176
221
146
353
203
173
195
200
225
199
219
146
209
160
146
204
130
172
294
173
181
282
183
158
168
166
229
216
172
220
214
217
209
190
203
236
192
206
165
169
183
210
146
203
214
197
204
216
199
186
173
129
217
215
143
133
158
192
210
146
145
188
179
184
129
159
247
189
183
243
215
237
192
177
201
228
204
212
217
208
182
214
253
210
214
179
204
255
229
204
184
146
206
161
182
166
189
169
141
253
231
173
161
130
182
180
141
188
129
141
204
161
222
199
146
206
203
186
206
234
178
185
191
155
164
284
219
244
175
206
236
211
242
202
222
146
115
190
158
146
158
149
163
253
264
164
173
178
207
173
178
231
173
181
180
173
240
147
170
203
181
133
190
157
141
168
232
247
129
200
188
206
165
219
202
234
217
199
164
163
216
172
169
193
250
224
214
202
222
147
215
189
173
133
129
129
148
259
199
171
187
320
223
202
268
185
191
195
205
168
267
146
195
155
156
183
130
191
217
230
186
158
164
217
202
245
210
129
193
199
241
146
207
182
230
146
130
201
144
206
169
156
161
168
168
222
258
186
159
190
186
217
141
130
257
146
242
261
161
201
226
130
200
146
198
200
199
236
168
168
151
202
129
203
204
247
182
225
267
143
176
191
205
187
150
133
201
252
180
156
246
145
210
182
172
185
191
185
201
212
181
204
145
184
179
211
221
261
192
174
146
222
173
233
176
183
164
175
182
179
182
149
204
158
184
146
201
223
130
210
145
202
176
200
193
156
200
146
182
157
273
197
133
178
325
130
178
185
253
224
184
214
180
230
224
231
188
129
182
204
236
204
130
181
130
182
189
230
146
201
149
206
211
170
217
191
252
178
173
214
133
165
163
130
188
188
164
252
204
164
217
205
189
211
209
335
268
211
185
197
170
169
160
173
153
204
226
204
161
192
212
190
235
207
186
175
217
247
146
129
129
130
146
192
210
264
225
189
213
252
206
264
215
213
234
176
234
222
129
206
201
130
162
198
191
229
239
176
236
173
186
115
250
162
283
206
176
164
173
204
206
206
146
129
210
166
157
122
202
145
252
211
188
193
244
168
244
173
250
206
211
225
158
183
205
229
213
221
163
270
250
200
194
166
204
156
115
130
215
129
265
198
186
222
204
146
170
146
213
195
200
130
160
192
204
206
257
166
248
212
159
215
187
228
232
167
151
199
182
233
220
202
129
199
129
204
129
162
169
176
195
173
297
132
178
261
215
129
144
236
205
133
182
183
206
152
220
190
186
145
230
258
204
251
213
275
185
221
168
206
255
178
129
212
184
130
155
130
211
239
205
193
176
164
173
212
207
133
179
186
180
156
239
176
129
176
193
221
200
210
195
180
148
263
129
204
130
206
173
211
180
175
205
222
173
176
244
335
225
237
182
165
204
186
129
181
165
277
146
277
294
115
138
225
169
165
145
212
184
146
119
173
143
161
234
143
204
211
162
161
129
279
182
199
173
130
145
213
217
241
200
198
162
169
209
199
133
185
173
202
186
217
129
162
182
210
198
210
179
194
141
260
210
161
129
250
128
164
133
169
203
191
199
168
207
172
210
195
231
160
211
176
185
130
307
188
299
208
170
234
173
186
240
173
193
210
186
212
215
192
230
215
161
234
153
216
263
174
176
252
157
210
238
129
205
202
234
223
185
145
260
186
129
133
218
239
206
212
264
194
226
228
228
146
200
193
232
206
200
249
192
130
264
146
201
233
163
249
184
150
203
183
173
164
178
188
199
235
146
201
176
202
177
184
206
214
201
130
138
194
272
231
262
156
151
166
263
217
204
129
201
129
183
173
216
166
173
238
199
185
163
193
195
130
180
239
221
182
158
167
261
129
193
214
130
217
198
243
212
171
230
335
178
204
238
248
166
171
230
201
184
162
172
185
165
234
230
170
183
211
229
129
144
229
143
246
206
300
178
203
240
204
283
202
115
257
227
199
192
164
130
223
166
194
219
208
161
143
174
146
143
247
176
176
210
185
188
217
201
143
226
133
182
171
206
175
193
144
115
191
166
184
201
242
183
239
147
195
236
211
180
169
153
146
172
174
158
178
197
173
175
133
216
173
173
203
129
190
153
241
192
129
232
187
167
199
173
210
161
150
190
206
179
130
204
234
226
115
170
129
192
218
145
187
210
164
187
171
218
155
238
227
199
130
146
201
197
181
175
231
238
146
251
214
179
122
180
217
204
215
201
222
203
222
204
204
191
187
202
178
238
299
204
143
173
173
130
185
210
187
229
251
189
236
129
173
195
206
212
179
141
240
225
214
216
149
184
257
186
230
182
184
238
170
164
193
250
182
150
219
202
160
143
192
173
257
195
186
233
164
128
253
283
146
167
146
129
210
154
146
180
194
192
164
145
212
240
187
214
173
179
210
223
174
130
302
214
221
130
222
158
115
191
200
178
200
199
179
182
133
166
145
247
133
200
145
238
149
287
217
275
166
209
221
250
168
157
168
156
138
149
143
230
176
203
158
129
206
115
146
191
203
221
204
194
209
133
201
160
122
171
149
249
207
204
190
129
210
163
204
179
128
211
143
146
180
198
224
176
176
248
211
164
199
194
206
272
245
210
206
176
208
179
206
229
193
147
198
173
271
229
161
238
235
217
133
199
207
204
264
255
177
202
208
182
181
227
335
205
171
225
188
151
173
290
188
189
173
201
214
141
200
129
180
244
183
237
132
220
280
119
162
192
173
276
178
206
179
245
128
164
174
270
202
228
213
173
219
164
146
255
235
160
158
146
196
197
180
173
335
129
129
245
194
115
236
218
203
233
130
183
211
212
208
144
233
238
199
119
200
238
186
130
191
221
145
208
231
151
253
217
230
168
172
180
197
187
161
133
211
130
270
137
263
130
202
204
209
145
240
180
190
129
190
218
204
162
217
182
227
335
230
172
204
173
226
188
186
228
198
173
203
173
178
155
155
174
240
293
164
179
236
204
180
193
169
158
208
159
222
188
189
171
166
129
181
231
172
129
151
170
161
196
182
226
143
188
164
129
171
212
287
182
184
176
204
176
122
266
176
222
184
201
204
279
129
172
176
168
182
211
170
190
180
115
204
201
211
184
167
200
146
176
200
248
275
133
130
206
216
129
129
194
192
259
156
214
187
184
185
179
173
222
194
248
138
179
193
176
204
143
141
213
192
146
176
201
221
150
206
174
204
178
230
225
183
184
203
166
188
204
262
173
206
214
202
176
164
197
211
131
210
205
143
242
211
288
200
156
206
143
244
192
254
160
129
155
211
200
156
164
250
143
205
173
133
250
179
164
155
183
228
149
203
152
146
194
190
214
300
146
146
184
189
220
229
182
145
221
192
173
165
217
168
228
198
260
159
201
212
236
234
158
154
176
158
176
209
204
208
176
265
257
172
183
162
274
252
181
227
230
173
141
236
133
166
146
230
184
183
238
183
164
169
217
138
173
217
229
219
164
184
275
176
151
182
199
212
216
183
228
236
144
247
211
168
221
221
164
190
156
223
130
138
176
132
241
241
193
150
155
204
210
242
179
246
156
202
208
179
284
168
187
198
168
179
189
224
159
165
173
174
190
201
200
239
232
300
203
183
211
228
180
222
208
156
228
182
130
199
150
164
201
155
208
239
202
150
146
263
237
179
200
172
218
144
203
225
130
164
179
201
206
172
179
146
178
213
218
211
169
202
146
191
204
217
129
209
180
223
223
199
141
200
250
228
256
130
220
225
132
130
226
155
227
174
168
241
174
208
176
173
183
228
172
250
193
172
247
187
182
216
164
184
162
146
204
162
287
200
160
214
196
169
129
149
209
210
217
166
209
222
130
176
185
319
161
189
145
141
173
204
182
199
182
264
204
146
176
138
162
201
176
190
205
185
217
214
191
217
180
168
185
158
240
150
200
206
167
143
153
182
227
186
261
176
167
129
162
179
179
181
195
158
254
210
168
204
163
170
283
184
158
173
298
160
130
245
227
146
197
130
252
247
141
133
129
217
127
235
145
143
180
244
263
202
133
184
285
171
201
129
230
182
245
225
168
236
204
258
191
149
206
173
266
180
130
130
146
191
155
222
122
147
209
202
141
160
156
133
174
133
200
184
228
184
188
180
247
176
184
216
192
192
141
167
146
211
185
193
204
164
146
190
211
273
238
202
191
179
204
269
224
187
190
208
193
173
138
157
168
189
191
217
176
195
203
141
217
281
138
141
239
185
207
195
216
157
173
209
191
178
217
188
161
230
160
122
174
254
152
200
122
179
255
115
155
208
179
129
115
179
188
202
221
129
204
158
230
252
160
229
305
209
184
193
179
143
173
293
201
179
176
236
119
211
233
160
181
239
165
146
221
222
162
247
206
202
182
129
215
230
160
259
243
193
129
197
268
217
173
130
146
184
217
202
182
313
174
177
266
129
188
182
180
163
129
175
230
210
207
209
173
160
153
133
201
145
242
168
146
132
192
257
173
191
222
245
166
171
231
328
228
211
210
115
200
229
275
129
200
214
227
210
183
183
284
146
219
189
173
252
182
204
221
185
222
229
266
230
130
275
208
206
156
129
216
215
204
203
146
146
167
231
197
145
228
222
185
200
164
300
129
214
260
176
130
210
145
211
204
164
155
174
185
193
178
176
156
237
194
242
210
222
147
174
217
209
198
228
248
202
146
180
246
185
248
224
171
183
180
206
181
240
151
195
207
228
197
158
201
247
219
227
175
179
231
173
204
231
155
180
180
146
129
168
201
202
179
145
173
335
193
211
256
188
227
173
171
144
175
138
171
176
170
210
180
162
217
189
259
133
200
181
186
204
190
226
230
176
146
182
208
164
231
156
143
166
168
181
203
196
147
186
184
133
215
158
274
173
129
147
200
197
146
166
176
221
143
170
176
173
145
158
144
188
203
225
171
204
153
185
214
176
148
210
230
167
207
158
173
122
146
130
145
202
238
236
217
236
303
179
244
133
214
264
260
182
153
221
174
217
133
183
150
254
208
211
182
218
202
180
197
183
129
176
220
187
173
216
229
141
184
216
188
130
149
182
176
202
147
169
171
245
221
224
195
157
226
250
167
221
197
158
162
115
130
221
173
167
190
211
239
211
173
173
184
230
172
129
225
217
193
193
179
168
173
133
160
195
133
201
173
176
158
181
130
189
191
218
150
229
222
162
227
183
229
232
160
201
204
174
246
219
178
210
200
215
210
275
241
145
190
146
217
204
133
220
179
234
167
262
228
177
194
238
180
173
191
202
233
168
209
211
145
138
230
165
216
199
180
211
189
219
183
145
156
164
133
252
180
190
210
195
271
222
230
182
279
226
263
217
206
182
282
193
168
160
250
199
172
141
188
241
244
236
185
176
161
130
169
254
244
130
222
194
128
221
162
254
162
176
187
179
283
217
185
201
182
193
203
238
236
176
130
200
170
204
225
214
222
143
143
204
129
188
209
164
194
221
217
179
203
128
176
168
180
204
178
157
227
201
216
191
173
128
201
188
190
193
218
267
173
145
228
173
176
307
213
236
130
214
185
227
306
200
129
215
185
237
176
177
216
219
146
143
155
179
225
129
211
146
186
246
129
215
168
200
214
167
225
176
233
176
168
236
271
178
210
130
272
168
173
129
167
166
184
200
161
237
226
200
150
179
129
176
203
132
129
311
179
168
239
263
201
151
228
208
175
227
181
185
236
256
229
146
210
156
166
146
192
174
176
255
210
198
155
172
173
248
156
179
159
150
173
129
164
146
180
190
246
189
230
219
242
143
286
132
159
202
191
185
129
199
216
176
179
191
129
183
175
168
219
230
176
233
245
225
176
279
204
214
129
173
183
194
162
174
155
155
204
180
189
202
199
173
130
217
215
247
300
265
115
251
162
186
203
178
115
160
190
155
239
192
173
176
176
129
130
238
217
208
133
229
230
143
129
172
160
143
195
241
256
225
225
241
214
206
278
216
205
307
129
256
207
179
190
186
247
189
173
218
198
201
201
122
199
143
183
225
201
200
204
287
213
166
175
206
201
206
202
213
200
228
184
168
229
130
194
145
173
209
230
228
205
176
172
231
176
177
222
158
173
257
184
177
184
152
209
214
146
193
182
244
180
147
202
173
182
239
256
235
222
192
183
202
168
186
162
184
144
202
209
191
176
217
178
176
174
181
161
212
270
194
185
176
191
176
241
204
177
179
145
162
214
243
230
238
184
217
191
255
129
182
217
202
166
195
210
206
217
197
191
183
190
222
221
221
201
210
176
172
182
239
266
161
179
237
168
178
142
185
180
129
168
166
210
227
169
193
202
130
184
115
242
236
217
161
146
172
206
184
183
185
246
258
210
145
176
159
270
161
176
172
173
210
202
115
183
217
228
176
162
155
237
177
176
252
181
176
170
192
247
228
183
180
200
263
247
224
185
130
184
200
253
203
130
173
222
257
236
190
176
130
185
176
214
262
210
146
169
223
160
247
214
210
161
205
173
185
194
161
195
217
173
171
211
260
145
224
143
201
208
133
185
191
230
190
205
164
173
171
201
230
146
173
173
217
146
185
229
214
129
168
153
258
211
335
195
146
197
211
177
201
145
180
146
186
179
174
200
176
149
129
130
215
162
196
167
143
211
220
174
168
141
218
244
296
229
156
234
182
230
169
195
238
178
149
182
146
155
222
178
212
186
199
238
212
195
238
130
329
163
227
151
119
273
171
151
215
145
187
241
218
164
231
204
288
173
183
182
208
233
145
141
130
238
204
195
164
145
206
144
205
231
227
209
209
259
215
130
217
211
191
146
204
129
145
242
181
130
162
143
186
143
193
233
189
179
128
247
263
145
168
204
201
230
133
210
239
214
202
251
211
200
151
206
176
220
192
156
238
182
209
174
174
168
181
230
162
238
172
138
176
282
200
220
239
162
172
204
130
243
186
231
180
192
204
180
177
182
199
157
236
259
129
256
170
238
127
242
173
200
168
162
203
204
236
283
189
195
204
158
156
165
168
229
230
210
185
168
264
184
199
166
146
153
141
235
129
115
214
238
237
269
239
133
267
204
183
210
194
173
150
210
201
250
164
185
133
264
210
216
219
129
182
250
130
210
206
172
247
177
201
190
225
160
180
146
163
204
215
210
209
188
180
162
171
162
184
225
166
211
229
133
222
198
200
243
212
179
216
171
225
209
207
184
180
166
184
239
210
234
246
146
160
207
206
201
231
255
133
186
132
214
217
144
180
236
256
204
256
325
206
237
166
214
161
145
216
190
168
183
173
176
254
236
173
145
130
212
147
204
221
214
157
238
228
238
222
171
183
186
184
187
179
200
178
146
239
217
236
229
129
115
217
129
143
272
211
173
181
211
211
157
210
182
184
217
166
184
225
130
153
210
227
218
171
241
213
240
252
183
181
133
216
206
257
175
153
182
146
173
221
236
159
180
179
129
184
133
237
194
143
165
115
209
217
176
167
200
237
179
280
130
168
164
175
179
187
128
156
238
195
187
145
213
226
259
151
251
282
149
272
166
155
174
187
211
221
158
129
159
271
218
180
141
199
164
208
236
204
129
277
217
210
209
239
183
182
207
203
196
204
207
287
206
152
182
157
172
184
199
164
173
129
130
122
170
166
181
176
146
179
170
202
201
191
172
145
190
146
173
254
222
230
235
173
217
238
206
189
201
203
149
178
146
259
173
189
130
210
184
158
244
160
204
176
180
190
143
243
129
286
236
173
238
254
182
212
201
146
226
221
160
201
173
161
231
222
236
168
149
162
150
198
145
205
242
179
146
246
173
200
210
132
161
199
167
198
246
189
222
211
165
146
143
176
171
207
129
206
170
130
184
157
181
201
165
179
141
184
145
211
157
211
236
168
182
179
192
210
206
272
233
208
204
190
119
257
201
174
231
184
217
166
188
162
176
264
185
162
296
155
128
203
174
234
158
221
145
156
248
192
146
190
206
175
173
184
184
129
191
179
217
180
201
115
239
202
213
198
253
176
162
221
146
205
164
261
138
277
204
238
177
236
197
115
213
217
168
145
206
236
230
201
250
146
204
202
143
214
210
228
273
181
130
141
204
190
214
218
193
211
162
164
162
205
188
221
262
250
203
224
158
170
158
155
232
173
174
178
143
150
193
204
185
238
164
202
194
185
188
204
146
202
164
181
191
141
193
178
129
202
202
179
227
185
133
169
210
144
162
229
145
264
188
193
227
129
192
296
224
282
170
160
185
219
240
209
212
160
163
210
218
122
188
201
130
194
138
235
158
206
115
213
243
246
162
204
173
130
192
212
145
133
178
206
178
164
160
207
198
204
168
195
133
201
172
206
238
185
213
183
211
265
157
249
278
129
206
169
183
202
182
122
211
173
204
176
200
230
172
198
141
145
164
130
227
176
173
198
144
188
133
129
187
218
130
252
189
202
138
162
115
200
185
146
146
252
143
234
190
204
184
191
201
173
187
210
145
162
183
201
145
247
173
202
190
221
176
179
150
218
166
189
216
168
173
173
146
168
212
245
170
246
166
166
163
184
202
166
189
146
235
130
217
187
189
211
188
224
160
164
181
187
173
204
141
200
170
160
192
200
182
129
194
210
160
151
204
167
206
210
203
184
198
248
210
181
204
183
227
158
144
235
236
133
172
230
213
147
210
211
193
184
184
240
146
229
166
193
158
206
181
240
191
246
119
228
211
240
173
201
164
230
195
205
204
195
248
129
217
222
158
171
204
176
155
167
171
206
210
173
224
224
243
218
217
221
225
176
216
176
166
167
214
131
261
176
130
232
176
253
179
194
236
187
172
176
204
185
216
229
192
179
261
167
168
199
162
130
229
119
145
180
173
238
221
210
166
143
182
128
189
160
225
217
201
130
138
256
175
230
122
221
228
115
156
216
269
155
158
163
213
155
164
242
217
130
164
146
182
255
244
162
158
176
264
250
283
186
179
190
250
146
130
239
141
208
166
133
219
225
162
176
156
169
191
226
209
234
222
115
219
129
179
242
209
231
198
158
192
219
161
254
233
157
173
173
138
193
235
204
208
233
220
204
233
146
150
172
201
210
210
187
227
157
220
133
145
255
133
187
130
240
180
170
198
130
218
157
195
181
263
133
190
185
166
176
202
226
155
189
184
192
146
176
202
115
146
195
162
240
242
129
174
202
242
145
172
183
177
173
193
183
221
201
181
199
170
214
225
167
129
186
179
168
227
258
201
210
165
133
184
130
176
220
187
165
204
141
191
204
189
263
228
158
170
130
215
234
192
229
202
236
225
211
155
206
184
238
300
162
200
238
236
218
176
202
214
159
219
239
157
203
164
210
273
176
211
122
179
115
155
210
172
153
270
194
194
253
176
211
178
146
164
129
216
168
129
170
146
200
185
133
162
210
167
178
201
175
211
265
199
133
182
204
192
199
160
192
179
166
217
164
205
146
181
250
238
190
180
185
235
259
158
130
214
300
193
216
141
217
191
289
159
183
200
146
177
180
186
190
141
217
122
170
211
174
249
261
122
155
210
251
258
174
187
199
266
182
252
201
155
166
229
191
231
146
224
182
171
264
178
173
246
191
176
259
211
189
204
230
147
176
265
189
171
133
191
197
230
261
187
185
133
192
239
156
151
152
176
192
239
195
209
288
169
215
208
206
218
236
170
187
230
146
183
145
243
141
291
129
211
146
146
159
220
228
174
179
199
132
218
191
150
186
129
181
130
159
131
156
247
184
173
176
199
192
231
184
200
151
204
176
143
256
197
143
164
166
190
222
179
149
183
281
170
211
223
188
133
203
216
187
169
146
145
216
191
263
122
168
169
233
211
172
179
185
129
133
141
162
233
225
186
130
214
194
130
187
219
157
200
173
254
239
201
178
182
235
200
244
194
169
171
167
247
231
130
188
145
200
158
145
128
168
173
183
143
201
259
173
241
191
160
264
182
138
169
195
159
247
173
248
225
163
192
235
239
274
197
244
168
221
173
200
165
201
210
191
173
194
143
191
168
138
180
218
273
210
210
204
202
238
169
185
193
210
183
176
158
193
222
230
180
247
188
230
155
143
176
200
217
208
176
209
202
133
176
169
191
249
204
159
188
196
146
239
209
244
173
257
206
237
173
222
115
239
189
217
130
185
179
122
195
252
146
166
155
155
195
173
263
210
217
280
186
190
130
229
241
201
169
202
146
186
200
258
142
230
168
182
176
202
215
164
192
146
233
180
282
150
172
222
204
190
204
176
254
281
216
190
197
216
129
167
239
173
252
210
172
197
192
130
268
191
276
122
129
185
174
146
133
204
238
217
241
187
229
130
115
209
182
173
158
200
150
201
133
263
168
227
181
129
219
168
160
240
231
206
206
208
256
143
227
129
176
179
173
229
169
246
220
241
176
204
179
173
175
185
146
169
210
167
240
225
273
267
229
129
158
143
284
217
172
176
173
146
187
179
211
176
193
237
196
228
248
176
193
158
129
235
219
170
274
207
138
133
236
129
178
190
221
155
181
228
256
146
193
176
174
178
229
146
133
204
162
275
219
214
173
203
129
129
197
151
234
213
231
307
236
204
181
237
150
261
240
208
240
283
182
184
177
246
115
157
209
204
200
204
218
197
182
200
163
184
211
244
129
183
115
119
115
230
159
146
162
277
168
143
115
133
227
236
187
188
168
168
129
208
179
133
188
266
191
246
157
211
203
130
211
182
181
218
128
240
187
152
200
239
176
261
208
230
184
231
228
228
278
217
210
173
155
193
237
254
138
180
201
170
184
212
203
146
204
216
173
184
212
210
221
214
193
129
179
129
239
201
130
145
211
171
239
228
152
178
141
183
166
182
176
156
146
296
262
230
274
203
206
166
248
168
133
128
237
175
264
147
179
201
168
139
176
197
176
210
144
169
115
204
156
214
141
201
130
143
191
236
130
210
119
231
182
156
210
185
156
218
179
222
256
230
217
176
156
229
193
227
173
197
222
185
156
221
202
221
146
204
185
146
193
204
230
200
143
211
211
159
180
214
150
176
215
168
230
211
176
247
221
129
187
150
143
206
214
231
223
388
183
226
133
200
235
216
181
189
215
171
178
180
203
122
141
161
182
200
188
233
182
184
223
242
201
246
146
178
146
176
183
170
115
210
218
161
175
194
162
270
221
259
189
161
146
133
173
175
172
210
173
141
190
189
177
194
169
219
201
238
188
205
155
200
173
176
228
179
202
122
176
158
195
207
132
210
155
210
197
179
209
191
122
155
205
217
166
199
254
150
183
215
192
205
222
172
252
262
225
158
184
158
138
176
158
204
219
264
180
129
238
205
231
208
201
184
129
264
189
191
150
204
201
183
206
186
210
115
143
162
268
202
256
188
186
205
115
211
294
169
195
184
222
168
202
284
222
172
164
218
207
227
184
173
262
234
251
130
194
181
145
143
180
209
115
210
166
184
115
129
270
208
184
288
143
241
115
179
300
208
193
209
207
286
186
130
194
210
129
210
192
265
160
209
258
164
185
193
252
191
149
213
182
169
242
182
168
201
180
231
155
300
172
210
222
208
213
171
130
193
258
201
206
283
211
150
259
156
229
223
267
146
204
238
155
178
264
146
236
160
210
182
197
162
172
172
201
164
182
195
202
165
182
249
244
209
240
236
202
145
186
151
219
208
219
133
234
225
252
202
170
216
172
210
211
265
173
177
229
200
215
201
247
202
239
229
177
271
203
234
149
217
182
176
146
214
180
130
177
194
164
238
129
146
210
183
183
176
161
216
214
176
244
196
208
203
200
222
329
225
168
247
179
180
231
179
227
191
155
215
205
200
182
188
244
201
252
164
172
182
184
221
150
255
129
176
163
130
133
129
146
157
204
128
143
217
192
179
153
133
191
203
122
211
172
128
240
205
307
150
206
162
185
166
176
230
256
157
153
183
158
222
264
240
209
183
234
223
218
139
211
176
225
218
221
167
215
173
202
191
263
129
195
248
210
199
217
171
263
115
170
179
202
129
246
197
165
250
122
169
160
198
130
204
198
236
272
145
256
230
152
206
129
171
303
189
211
247
168
183
115
210
210
296
204
159
210
130
146
195
182
191
205
297
206
129
161
186
115
180
258
231
182
178
204
192
252
174
185
229
183
153
130
285
200
178
194
206
130
169
192
178
182
146
203
236
257
115
233
302
206
213
155
173
178
129
130
223
260
199
173
222
130
217
190
261
203
230
179
155
172
130
227
209
254
129
246
230
185
204
175
163
129
130
240
143
178
201
244
228
130
236
180
230
185
221
211
244
204
235
204
178
283
133
233
161
188
200
287
129
209
213
198
249
209
150
197
202
206
208
151
186
232
179
195
160
172
219
146
159
172
161
184
158
216
211
248
164
155
176
149
146
221
335
184
162
244
129
202
176
180
266
186
231
230
204
176
161
173
263
239
184
236
238
173
158
187
146
201
180
183
230
173
200
230
184
143
230
162
194
202
141
178
182
211
169
143
160
194
180
252
239
180
228
130
167
231
153
190
204
184
178
133
179
173
197
239
210
218
187
188
353
170
189
199
167
130
264
185
162
176
213
260
176
200
182
246
193
133
204
259
130
146
217
130
184
221
211
195
177
185
219
176
240
173
119
172
232
178
173
294
208
239
169
192
241
205
186
274
210
143
265
211
230
212
155
206
155
219
178
189
188
213
195
154
161
181
211
241
160
173
156
196
184
128
141
203
208
154
216
160
238
239
235
274
196
199
143
192
191
238
115
205
153
115
207
203
265
180
129
152
242
185
231
296
208
143
203
166
201
191
197
201
171
166
176
182
237
205
155
196
129
204
146
172
151
269
130
190
147
201
158
122
143
169
185
211
236
197
208
119
129
182
184
173
166
191
257
133
160
169
205
231
168
172
188
200
254
171
156
184
145
173
143
184
173
232
176
145
192
178
173
162
195
172
173
130
168
158
138
206
173
147
192
239
214
321
195
186
156
198
157
179
161
218
211
194
165
257
200
191
191
200
158
215
219
176
187
133
115
141
178
129
119
250
242
202
189
146
150
169
214
164
218
167
158
195
195
119
189
207
237
130
186
184
214
202
184
175
172
237
176
149
162
176
129
144
230
144
236
130
168
269
182
219
206
176
146
146
230
182
194
227
183
181
211
287
143
175
186
204
210
163
218
129
176
206
209
248
185
143
179
203
197
174
204
222
202
237
193
191
115
230
162
164
256
211
219
130
204
130
199
240
214
219
168
165
262
212
267
122
204
246
261
133
203
223
204
169
195
152
200
174
158
160
235
265
115
181
204
228
201
206
130
143
173
238
239
203
173
175
165
191
138
173
143
229
188
177
161
168
141
146
171
183
214
187
277
206
201
153
173
130
176
210
174
257
194
174
173
214
303
191
184
253
146
182
259
194
192
158
264
175
115
228
129
211
184
146
150
158
184
182
184
190
242
189
143
222
169
149
210
168
168
130
236
208
273
251
222
182
164
146
156
247
176
173
209
203
170
173
191
176
245
179
221
173
225
194
152
218
174
163
206
150
194
150
204
181
182
172
155
166
272
216
199
173
173
210
185
151
259
160
213
164
262
209
174
165
143
115
275
161
221
130
172
170
236
204
173
204
207
194
223
191
171
169
200
176
214
225
198
201
145
195
210
130
233
221
212
158
244
141
180
158
183
204
176
143
217
227
191
172
216
169
161
236
237
225
185
194
143
211
162
176
122
158
155
173
176
133
259
202
151
130
129
185
219
238
179
217
211
168
211
171
173
211
184
160
260
222
115
143
156
201
172
187
210
173
246
183
277
238
151
130
230
176
217
255
191
204
190
250
162
224
168
182
247
221
214
151
193
179
209
193
173
122
133
186
185
236
176
197
158
164
225
204
211
179
146
115
204
192
273
187
230
274
226
185
182
210
258
240
184
268
229
130
210
211
187
179
192
196
182
227
146
228
221
204
214
168
174
226
161
213
199
168
173
213
155
206
253
210
232
153
202
201
115
181
146
115
158
190
176
217
171
176
151
209
252
130
164
164
185
259
209
194
225
158
181
210
235
258
176
184
255
252
122
199
278
216
222
200
188
204
263
185
179
238
201
202
158
130
226
156
130
182
200
130
187
130
173
181
176
221
179
272
241
240
182
265
215
184
132
168
231
205
272
186
300
146
185
249
153
178
164
169
146
146
177
119
129
176
129
231
210
244
204
223
182
202
175
176
173
185
184
173
155
141
300
195
146
246
201
299
208
129
178
173
225
166
210
178
162
203
158
179
141
265
164
242
186
201
182
162
129
182
155
225
223
203
180
129
181
246
183
214
211
176
204
228
236
173
184
296
205
187
153
234
260
173
241
145
201
199
186
133
200
145
146
169
242
157
190
205
174
248
222
204
216
178
185
249
288
115
179
183
163
159
174
204
143
221
173
257
178
156
176
189
177
193
288
157
240
174
211
173
158
183
227
218
130
174
204
221
200
181
225
236
287
200
181
173
207
162
129
115
182
183
165
173
201
183
371
232
173
231
200
254
303
192
204
264
157
197
176
221
214
217
162
217
202
141
242
215
192
185
186
201
210
201
158
122
256
176
191
180
201
251
204
201
162
257
232
129
204
208
254
229
169
183
194
173
176
181
161
176
128
258
261
183
141
281
194
192
234
168
173
218
225
235
180
269
164
179
180
179
249
210
190
212
130
162
138
189
183
228
254
178
218
160
206
151
258
204
238
281
228
217
204
170
146
246
183
238
222
186
173
241
230
206
255
238
161
229
168
210
182
172
297
149
271
173
171
248
260
212
185
156
130
173
200
188
269
208
210
187
173
176
150
178
186
145
179
204
192
209
249
230
191
203
236
210
202
262
203
141
128
224
201
252
206
210
168
168
164
183
210
195
235
213
162
192
255
193
194
133
189
195
201
150
278
241
167
150
173
168
164
204
212
164
193
202
179
259
155
168
160
215
151
173
284
229
221
193
209
192
176
146
230
220
190
204
208
146
203
210
204
168
227
162
228
252
176
168
217
147
255
191
229
234
173
228
210
174
193
156
211
217
211
182
178
235
201
203
188
129
222
129
162
264
218
215
236
239
186
183
115
165
301
200
210
191
227
204
215
150
175
129
206
237
214
202
204
204
181
173
129
288
162
208
169
115
279
235
203
184
215
176
161
176
191
196
160
322
242
144
181
133
130
176
210
300
216
191
164
216
188
201
187
162
152
180
216
184
207
173
170
222
144
229
129
168
189
216
147
225
207
176
204
129
258
168
195
252
184
162
173
185
240
211
155
184
217
200
152
277
177
195
161
191
335
141
210
217
178
214
173
132
122
191
205
288
175
231
185
150
180
133
183
122
211
129
208
138
146
183
202
130
145
156
205
241
213
189
195
181
217
248
130
155
146
188
186
198
182
179
200
278
211
173
215
122
183
164
187
164
191
188
217
168
256
212
230
272
192
209
213
259
219
162
206
170
210
180
146
168
174
208
206
222
158
227
204
168
223
211
168
164
203
168
215
307
185
204
147
274
202
200
133
230
168
160
147
202
171
173
233
213
197
233
206
193
150
190
128
141
204
185
145
242
200
160
230
184
277
186
192
183
186
200
195
164
188
211
230
184
190
260
206
206
204
208
185
192
173
222
169
212
184
261
183
166
193
207
164
213
138
234
263
184
130
146
242
167
217
195
138
230
217
265
179
264
236
229
176
237
193
160
166
214
169
201
155
158
253
243
188
225
194
183
211
140
204
200
157
217
204
173
214
184
248
163
160
122
145
178
204
201
238
207
204
293
246
252
169
234
184
249
158
197
222
236
153
211
256
205
156
146
243
236
176
200
219
215
183
201
156
191
219
164
232
259
211
195
164
180
143
274
211
166
202
179
131
264
143
229
179
216
236
195
235
184
202
171
219
254
217
179
248
236
173
222
146
146
186
187
158
161
187
165
222
133
188
209
165
189
182
149
242
216
210
160
208
178
162
229
130
217
198
168
202
176
182
179
203
208
155
225
253
174
182
203
246
200
217
163
232
173
210
168
233
130
260
174
133
164
178
194
149
252
145
185
179
175
145
211
254
218
249
201
204
201
167
180
164
177
208
219
210
171
191
246
146
155
202
173
218
230
129
194
204
115
217
201
220
197
191
247
186
169
230
218
143
250
204
172
204
147
241
231
229
185
193
172
162
129
230
179
144
274
129
180
221
188
215
187
146
172
227
129
187
204
141
201
176
242
176
283
160
238
230
250
201
168
159
155
202
182
130
145
230
217
185
199
168
179
173
179
188
145
180
180
158
212
225
154
115
173
238
174
176
146
138
261
150
162
217
179
274
162
201
146
237
130
132
205
195
176
257
208
217
115
192
176
178
239
173
236
180
201
164
236
171
204
247
255
250
198
216
201
169
138
173
251
197
173
254
162
218
146
115
179
146
141
141
217
183
206
224
219
204
168
200
133
162
191
169
146
264
161
129
176
174
180
210
204
145
187
129
219
115
143
206
238
167
235
230
276
128
177
210
202
186
202
146
196
209
176
243
201
214
201
229
185
178
129
157
207
150
188
237
130
220
218
179
268
197
242
228
257
132
129
201
143
215
168
176
220
222
184
225
205
192
221
173
204
177
180
186
186
173
218
181
168
205
143
252
122
220
252
201
177
129
141
218
179
173
190
207
161
152
211
204
179
214
342
248
130
195
130
261
211
261
157
227
204
335
185
210
130
181
212
184
180
228
203
162
196
188
179
201
185
181
263
171
129
247
146
184
248
193
158
176
206
183
193
173
246
238
143
164
231
169
204
173
162
173
294
184
221
208
162
201
130
191
231
146
191
202
263
191
197
209
151
178
200
335
285
189
155
130
210
132
166
210
167
181
166
168
217
255
230
217
202
244
189
145
146
211
270
229
115
129
216
229
176
146
190
200
174
149
158
168
191
203
294
157
176
179
143
230
158
226
216
146
212
170
149
158
255
205
204
206
204
182
204
145
146
191
208
241
178
150
204
128
178
145
156
335
151
173
235
241
201
143
172
197
171
204
178
168
197
222
191
204
211
223
228
143
228
203
240
200
247
146
230
152
164
181
146
180
186
207
210
173
168
274
130
158
168
188
146
214
211
184
179
250
238
166
335
184
129
146
202
130
236
143
217
176
210
252
159
248
257
176
146
211
150
238
211
192
191
237
151
187
146
181
210
230
146
224
133
145
141
130
181
130
187
204
188
195
211
115
115
228
236
194
179
272
172
238
244
179
133
166
191
183
180
244
201
259
145
204
156
164
210
187
236
158
229
185
179
263
251
206
204
129
133
241
210
174
204
169
209
206
173
166
173
167
185
160
200
183
190
182
204
150
225
191
172
132
260
141
176
165
206
190
145
220
165
129
159
130
239
115
199
204
202
194
209
129
225
178
176
272
164
133
178
170
185
335
217
189
196
146
146
233
182
178
204
167
201
203
220
130
204
211
216
164
214
156
156
190
130
133
130
180
211
208
130
209
247
175
175
185
158
304
216
176
216
202
129
185
173
186
141
176
190
174
202
216
187
153
225
251
164
242
231
160
168
144
145
238
155
206
183
176
180
142
128
225
215
210
129
171
204
157
212
185
217
133
129
203
130
238
176
186
260
257
173
211
130
206
231
335
265
172
143
129
180
210
266
159
155
191
201
191
194
156
246
213
194
190
234
129
160
262
173
146
155
200
143
185
168
226
129
157
274
151
201
143
164
166
167
162
238
217
157
181
162
210
199
194
158
201
217
183
268
211
239
200
141
169
165
245
200
202
199
145
201
169
210
176
207
130
204
242
194
216
161
169
130
192
251
206
275
232
169
294
256
238
162
230
239
206
129
210
230
164
225
158
290
172
186
236
150
145
182
217
184
187
150
158
190
143
181
186
201
176
169
146
155
227
250
204
146
146
146
193
185
168
212
218
221
216
183
173
183
158
221
183
188
173
146
202
164
195
164
203
130
146
211
243
146
238
264
197
185
153
238
133
132
165
218
202
173
274
115
200
208
129
206
164
166
188
160
176
217
195
171
176
130
146
201
171
173
243
228
130
146
214
262
173
168
149
242
179
225
238
233
195
168
183
129
243
239
151
205
179
215
189
255
178
202
176
216
221
141
210
219
185
194
184
216
191
208
250
264
217
160
254
133
143
206
176
188
129
205
215
191
159
198
115
238
173
133
145
210
162
178
184
205
150
146
313
217
130
146
209
164
240
178
204
146
211
219
206
216
176
231
204
185
129
173
258
210
222
217
184
149
227
235
229
275
233
156
158
158
143
243
230
209
184
190
206
251
129
182
264
280
181
164
155
184
176
132
178
198
277
211
145
264
190
221
247
168
204
182
201
217
182
158
130
222
168
204
179
210
164
173
186
228
266
283
146
159
191
164
308
230
211
206
190
193
192
198
173
263
202
165
143
192
129
169
175
266
198
175
162
202
217
211
140
183
156
158
195
198
178
214
186
217
261
246
173
208
195
160
156
282
115
146
158
237
153
129
247
221
204
178
157
182
271
130
176
128
230
195
199
175
195
230
176
204
213
208
182
182
276
186
280
179
211
195
214
195
256
172
217
255
286
170
204
188
290
262
176
145
242
122
210
129
178
172
247
240
198
188
146
214
141
158
178
222
228
270
173
206
133
189
145
202
216
182
146
173
176
224
129
211
254
211
190
251
145
157
122
210
157
156
138
202
115
157
223
138
115
192
236
174
166
180
226
239
225
194
162
203
201
182
198
185
256
143
187
280
207
129
260
224
173
153
234
168
257
241
181
155
228
298
176
182
165
158
210
176
129
192
176
236
239
141
242
150
144
179
185
193
288
244
180
162
210
186
168
130
146
185
115
235
255
165
190
145
149
181
130
235
210
164
202
180
218
130
180
195
214
169
200
254
239
189
195
158
129
211
156
173
133
223
199
164
206
174
259
188
130
173
182
217
214
185
162
258
176
173
183
193
205
168
191
183
203
115
183
208
266
212
204
176
229
170
176
183
217
191
208
209
204
162
122
212
173
189
129
214
227
129
211
269
145
274
183
204
216
149
204
176
176
264
169
176
173
195
188
163
156
130
205
115
238
196
226
179
260
204
182
285
217
211
173
270
181
173
195
143
206
211
214
146
211
173
178
202
183
179
214
236
204
176
184
179
176
217
204
151
254
253
162
150
222
168
171
164
164
220
231
184
167
228
287
129
206
202
167
204
197
169
146
225
182
239
129
202
184
209
199
181
218
182
129
182
172
192
115
201
211
247
202
179
169
280
202
151
201
260
133
156
133
257
237
257
155
188
173
145
217
211
300
256
176
217
122
199
202
146
200
185
155
204
265
178
146
152
217
162
202
154
204
176
188
235
192
132
210
133
115
294
143
228
183
175
170
204
242
202
229
210
182
167
191
129
190
277
156
246
222
260
183
210
199
239
200
151
162
115
195
237
151
162
150
221
146
225
182
192
211
150
189
208
179
173
176
162
173
174
227
204
173
200
191
224
237
187
145
150
146
219
256
209
204
138
262
146
183
221
207
233
265
268
236
198
189
251
150
256
162
195
250
209
217
287
228
160
208
141
169
201
234
202
164
146
180
157
176
173
141
152
211
164
210
256
173
237
130
214
262
170
158
122
173
184
253
157
209
180
147
149
146
200
166
283
270
173
179
175
130
169
173
203
179
151
173
146
164
200
302
194
213
179
257
193
210
206
178
131
230
234
156
149
214
182
159
184
133
204
148
187
129
171
149
145
129
143
162
191
209
168
156
182
171
149
201
143
205
247
201
221
182
202
173
230
211
274
128
236
206
146
217
227
252
210
210
230
214
132
173
183
130
178
178
247
164
122
207
146
175
172
309
214
173
127
176
273
288
213
182
210
182
195
173
155
228
173
181
179
246
143
215
174
210
224
208
187
218
138
211
166
206
204
189
222
183
189
263
208
304
164
177
169
214
176
244
184
190
206
165
195
130
129
133
146
181
234
173
211
184
191
176
229
242
157
229
233
179
173
203
178
210
211
130
161
245
176
130
150
226
146
162
173
225
173
188
228
256
175
200
210
172
211
164
173
214
231
141
176
247
206
250
211
183
150
200
202
207
185
201
288
202
130
160
198
224
202
210
321
193
175
206
208
204
178
182
202
189
164
146
201
214
290
222
202
227
146
140
173
244
156
217
133
165
214
170
210
164
162
133
200
161
132
246
172
204
143
254
179
153
186
173
186
179
230
201
230
246
145
146
174
145
133
266
188
228
218
192
265
143
171
172
132
204
164
210
186
143
223
133
160
185
176
173
202
171
252
193
215
149
129
131
194
196
256
229
151
115
176
189
199
217
203
209
183
198
149
200
236
234
176
203
181
251
241
190
179
161
203
182
196
173
232
146
146
173
183
262
228
265
230
188
182
201
129
193
211
146
180
183
201
213
179
172
142
132
210
173
174
141
297
231
204
155
153
222
115
184
130
186
153
146
204
252
193
210
231
194
239
217
242
196
162
150
165
168
132
197
122
174
173
155
184
238
257
130
210
200
191
204
235
204
174
225
174
243
274
247
208
220
242
235
245
166
205
173
212
182
238
191
193
195
185
188
319
321
238
169
194
236
217
190
176
145
164
143
184
195
294
201
176
203
172
156
146
225
184
168
175
184
218
207
169
173
129
204
179
280
190
168
161
196
200
235
236
205
162
173
233
122
233
206
192
168
162
158
228
283
211
217
147
186
187
230
129
149
204
184
247
176
225
201
247
234
189
160
166
211
180
229
184
174
205
211
173
178
210
202
190
163
210
276
243
200
183
224
183
132
184
173
188
168
196
191
173
257
130
178
156
276
183
194
230
167
217
218
265
252
211
133
202
194
174
209
225
145
221
172
210
184
149
148
217
156
263
129
180
173
188
236
201
181
316
204
138
133
186
164
228
205
170
173
204
257
200
258
194
181
263
174
168
146
168
192
183
203
129
191
156
226
133
217
191
185
164
164
204
171
168
146
179
255
146
203
130
155
176
217
235
133
256
174
130
188
173
166
230
176
342
155
255
203
235
157
129
184
182
189
171
143
191
258
173
200
217
180
173
238
146
199
164
237
205
129
255
179
210
129
178
208
216
179
179
194
199
262
130
222
173
146
156
168
245
219
213
168
188
171
228
141
176
198
167
202
141
141
169
143
225
157
199
240
175
210
160
222
328
130
252
160
208
129
199
199
210
195
180
202
150
176
237
183
262
199
183
172
158
141
204
237
201
230
173
184
173
178
245
166
130
201
238
146
199
195
215
229
204
203
160
129
129
146
221
179
185
169
207
173
241
212
242
183
273
146
205
185
175
211
144
211
209
192
251
173
202
335
129
168
201
143
206
122
145
173
175
247
133
188
195
169
149
168
168
115
180
204
176
240
174
178
168
152
232
204
129
192
130
227
172
266
188
261
192
233
242
190
217
162
204
145
176
197
174
188
160
145
225
225
160
145
147
202
228
157
241
233
129
176
166
174
191
203
130
173
196
166
115
219
146
166
217
238
122
128
178
119
255
214
183
237
240
168
182
214
217
143
158
211
210
258
165
183
176
174
186
162
178
173
219
202
173
165
204
181
166
257
302
225
216
205
219
224
180
218
211
180
240
215
199
200
238
162
164
190
200
206
179
231
211
206
201
175
205
213
184
166
236
242
200
153
200
217
218
200
173
254
227
200
185
176
207
210
133
185
229
190
160
146
174
173
239
184
201
223
130
200
200
206
162
209
171
132
186
203
173
179
222
185
166
234
188
202
173
192
230
192
146
178
259
247
203
183
162
130
193
278
210
228
158
153
168
170
201
176
240
199
183
133
129
182
190
160
185
146
228
132
212
200
217
185
218
178
225
197
152
252
173
145
254
164
179
232
217
149
146
245
215
221
247
165
190
168
280
115
203
176
160
234
185
170
178
115
187
164
180
236
146
173
195
199
176
257
217
276
211
203
158
138
236
214
182
164
129
204
239
198
168
166
157
173
188
233
163
235
255
227
207
282
188
141
230
204
202
168
214
152
180
168
182
230
158
218
238
129
236
170
257
218
210
166
188
236
185
173
162
169
133
169
233
271
246
311
194
173
236
201
216
158
166
174
133
182
119
217
158
217
150
244
225
210
182
173
229
201
167
217
146
175
188
166
247
183
222
162
119
164
150
254
186
230
155
173
132
130
268
161
238
225
197
162
129
211
167
132
225
224
210
229
201
191
130
168
168
143
164
130
193
220
156
202
182
150
146
173
228
191
201
204
162
189
151
200
300
164
259
214
158
168
208
169
239
129
206
173
131
190
216
181
222
232
192
191
161
217
146
156
186
298
239
130
164
199
204
179
156
179
130
231
154
143
176
115
221
236
246
182
239
200
186
207
221
176
189
211
195
215
190
182
238
188
188
144
183
133
210
225
188
198
143
212
236
173
228
225
179
214
173
209
179
183
180
171
274
119
170
173
169
229
129
176
230
178
239
192
258
193
189
240
151
184
147
210
202
185
226
254
180
202
146
179
181
205
265
265
155
195
262
206
129
212
185
173
129
207
184
146
246
218
233
176
270
171
145
173
214
247
168
158
210
201
171
161
248
173
150
129
130
225
180
236
217
203
185
186
236
266
150
173
173
130
146
252
210
173
130
204
157
141
145
122
157
217
226
169
146
197
313
163
175
258
266
129
122
300
263
217
143
161
197
165
276
195
210
231
201
179
151
177
242
211
155
162
267
231
210
260
129
244
153
246
211
176
199
223
140
202
130
166
173
129
215
168
162
227
174
175
175
203
222
189
204
174
146
221
201
194
208
185
220
175
164
145
263
174
283
146
164
212
148
179
227
272
130
178
184
161
204
183
153
145
225
263
122
174
247
258
176
129
156
255
166
232
138
210
192
173
144
210
206
232
205
202
143
217
162
183
223
173
145
213
156
129
219
130
158
182
168
173
217
160
191
192
201
192
214
213
215
226
256
187
185
225
214
216
211
160
129
238
178
164
151
203
229
168
218
149
235
216
173
206
261
325
230
173
146
206
230
115
259
164
275
288
242
173
173
264
241
173
173
129
245
158
190
165
216
185
201
160
198
211
184
238
214
130
201
182
182
166
192
168
210
143
186
173
176
146
229
209
250
254
143
236
234
191
245
182
146
145
281
179
183
178
226
233
197
189
197
220
234
214
230
115
183
129
229
229
129
169
146
191
173
236
169
204
197
179
130
129
205
248
200
146
129
163
207
158
211
246
190
171
155
130
180
138
236
335
173
221
185
179
151
129
171
162
130
192
190
203
181
288
207
221
168
237
175
214
162
146
161
164
173
161
238
182
191
176
222
168
226
130
178
161
218
201
122
164
176
188
129
194
189
235
244
217
227
242
130
179
259
115
131
138
150
201
225
174
186
268
200
219
224
185
146
130
146
199
162
195
186
180
238
179
202
122
173
203
164
160
143
129
197
236
150
214
217
186
186
141
233
205
200
242
183
259
222
202
175
188
213
179
169
208
305
143
153
230
115
176
216
152
207
218
214
210
252
130
264
202
165
168
161
195
184
178
181
146
189
250
199
233
256
115
201
180
221
209
201
130
145
273
162
164
210
204
222
176
204
180
178
174
158
145
186
115
222
229
234
230
180
213
178
119
130
191
193
200
217
133
240
130
182
155
145
179
193
143
210
173
187
214
175
202
133
180
169
146
201
238
185
236
210
260
217
263
145
143
237
145
169
193
158
130
173
176
180
138
146
203
195
165
227
195
236
164
171
165
188
175
185
228
130
185
155
130
119
145
179
173
178
168
200
296
129
192
230
217
210
156
133
254
204
176
210
164
193
210
170
173
171
190
203
184
146
143
176
200
141
150
190
232
221
185
168
225
207
129
146
173
300
149
234
173
128
184
211
130
227
202
250
166
164
158
173
178
270
275
129
155
169
130
190
202
211
204
216
220
207
223
200
176
231
129
204
221
204
182
169
168
130
233
200
225
152
265
220
246
179
160
209
159
223
216
231
168
193
161
211
143
304
210
173
252
257
182
202
188
129
197
258
178
201
194
196
199
129
191
159
158
221
150
201
217
181
248
176
157
192
170
128
175
182
146
130
217
176
189
187
210
200
255
235
238
204
179
201
186
199
169
230
173
238
167
264
171
217
130
232
150
183
204
185
205
193
184
215
184
192
208
296
225
159
129
233
145
200
242
229
164
173
191
130
143
162
230
222
146
174
242
201
193
179
162
173
164
200
233
188
173
158
210
189
129
188
188
260
212
155
169
129
145
155
122
218
248
209
143
168
189
214
189
182
196
210
138
238
133
192
202
194
185
174
229
180
219
168
236
181
130
177
128
179
178
161
234
224
178
211
192
206
176
244
175
208
170
263
168
192
216
274
201
217
231
219
129
235
182
205
229
204
250
168
246
157
191
166
146
130
218
145
217
200
182
166
227
236
229
200
294
238
206
193
211
185
129
169
173
225
173
211
129
188
183
182
214
133
133
216
200
155
243
144
211
162
130
193
133
248
168
169
192
162
260
230
146
204
179
201
194
239
176
238
175
146
263
194
129
208
231
130
143
155
179
173
246
146
239
173
204
206
183
211
203
145
133
115
183
175
266
198
206
143
129
172
201
137
204
220
158
130
191
176
141
143
222
209
177
298
119
236
186
193
246
223
230
168
174
288
220
208
221
190
176
115
187
160
193
217
202
176
216
129
168
227
145
205
178
180
204
218
129
145
207
189
246
201
183
210
214
160
146
182
335
212
129
153
218
129
162
166
232
248
129
231
263
222
203
209
192
181
172
185
149
189
160
256
177
211
185
218
187
145
179
173
217
196
143
261
164
205
228
261
267
214
257
166
176
210
143
227
234
194
166
143
162
217
200
223
200
236
130
146
248
264
207
130
183
155
173
178
170
171
204
202
187
143
188
211
179
200
243
147
129
181
263
232
239
182
187
180
162
175
173
182
156
205
129
215
188
141
190
192
180
143
160
210
242
201
183
216
130
155
207
173
242
176
182
164
146
189
280
180
206
217
203
188
192
231
129
205
194
176
228
147
130
160
238
172
234
115
191
201
185
208
212
247
272
201
230
174
152
173
164
119
184
204
144
122
155
210
202
234
160
129
214
151
119
170
226
176
161
198
238
287
190
174
180
211
179
122
130
158
234
184
190
146
219
281
195
166
155
146
214
212
198
200
198
150
163
221
217
185
197
115
248
155
247
130
316
130
205
274
178
173
178
130
172
256
237
176
253
192
210
146
242
178
203
239
217
208
182
262
130
122
186
182
254
155
182
173
133
184
129
147
200
204
226
129
298
191
266
210
160
171
253
242
222
183
204
168
186
160
166
176
115
141
152
130
185
133
115
211
166
269
163
187
230
247
210
220
184
141
203
217
171
179
221
153
220
211
162
155
169
182
172
174
200
228
202
180
169
225
197
217
190
177
251
194
229
202
157
171
143
129
217
230
225
237
221
119
234
180
162
186
206
221
138
204
190
204
225
207
201
199
255
133
147
172
158
211
173
213
168
240
178
195
208
179
129
204
132
175
191
238
277
158
173
201
208
231
145
150
130
176
194
141
152
129
145
155
210
150
162
141
265
172
211
200
213
270
129
164
201
168
161
168
225
203
242
173
176
181
204
146
130
172
208
200
259
182
183
184
173
184
130
147
237
192
184
147
217
203
202
200
233
130
178
173
264
265
122
200
162
217
185
158
159
227
176
138
209
214
129
176
150
208
215
210
173
151
179
200
204
199
221
217
184
163
210
256
264
183
152
173
132
219
209
176
204
168
173
176
133
194
218
174
141
214
162
156
211
217
145
169
214
170
217
206
130
211
178
192
191
295
204
195
133
225
264
176
164
150
273
208
133
147
191
146
187
202
191
189
211
228
252
155
129
187
162
269
193
164
180
219
180
197
252
189
215
261
200
200
173
207
186
174
212
192
205
215
164
167
211
217
176
222
235
129
192
167
186
173
188
146
204
237
146
171
240
229
205
180
153
162
183
156
204
191
264
195
184
184
189
212
206
229
129
176
178
251
143
168
186
220
129
122
149
221
173
206
230
186
279
174
240
190
224
194
206
155
173
176
218
203
183
240
217
160
204
239
173
207
196
237
191
201
188
227
225
265
173
182
171
200
146
153
147
152
179
203
176
143
214
203
167
155
129
189
174
247
214
184
243
211
158
192
238
220
176
194
188
162
150
184
158
170
161
173
151
169
184
161
143
129
152
214
190
185
204
224
299
193
153
256
163
173
213
160
210
176
205
164
130
188
238
185
239
239
247
192
200
157
202
154
200
203
210
231
204
261
180
130
190
155
194
204
158
204
144
150
217
191
173
171
270
169
201
271
188
146
217
239
266
250
201
180
160
241
256
219
152
220
171
204
231
212
211
133
246
238
229
157
191
176
255
262
182
223
191
129
221
263
189
213
166
206
180
145
175
173
221
206
227
211
180
181
200
158
194
216
146
170
133
250
216
146
247
210
115
235
201
168
129
208
176
173
214
115
243
285
146
146
210
132
215
173
211
217
216
139
335
264
182
221
207
244
161
184
171
280
204
115
160
231
146
270
200
212
200
151
182
201
246
236
199
197
185
174
162
122
242
156
231
231
171
244
155
168
223
187
217
230
183
180
158
164
204
265
173
115
230
143
216
145
129
204
168
247
201
199
180
201
130
164
188
174
177
192
184
171
165
240
172
208
190
189
176
183
143
158
179
129
122
178
148
144
208
183
146
168
247
201
230
255
173
204
335
129
166
162
193
248
183
229
242
233
155
267
158
211
176
155
191
128
211
169
238
217
166
146
173
183
208
248
206
146
211
192
138
187
182
206
209
146
184
288
164
179
156
265
206
129
129
181
215
162
239
173
162
232
176
241
176
177
199
130
170
236
178
214
164
236
184
174
307
178
133
212
204
176
195
145
172
206
172
206
221
236
210
203
185
145
146
202
258
211
215
166
249
153
201
173
158
176
231
195
188
178
146
178
221
222
156
217
177
155
234
173
173
171
181
239
246
193
186
160
133
277
201
189
191
130
306
172
139
208
166
176
206
276
179
160
150
195
219
156
129
211
176
178
150
192
181
162
155
176
244
191
115
182
210
145
158
173
265
184
132
198
224
191
217
162
178
133
145
185
146
202
219
169
115
187
115
178
219
150
198
164
179
247
207
191
210
200
194
195
189
182
133
146
204
169
212
221
202
202
173
200
270
236
209
274
130
222
239
210
165
150
130
146
241
129
236
239
180
128
240
178
219
200
221
182
169
236
214
115
157
176
167
164
160
171
222
195
132
177
254
141
253
169
155
219
187
242
206
228
234
207
168
174
200
165
244
143
179
252
188
176
238
215
155
174
191
182
199
133
236
204
206
145
252
273
190
222
209
210
223
202
217
186
259
143
173
146
161
156
228
129
200
250
255
191
156
188
146
176
209
196
157
129
184
158
201
128
178
265
193
169
173
225
190
200
221
156
164
220
268
208
171
184
166
192
166
160
222
204
216
236
206
146
155
199
184
200
215
222
186
169
210
180
185
138
274
162
130
265
143
182
224
152
130
183
146
132
129
172
146
158
175
170
210
180
216
279
129
225
204
185
162
115
150
247
165
191
244
172
205
129
149
214
205
173
240
222
206
182
192
143
155
171
175
146
166
302
295
183
180
215
254
232
206
176
119
202
303
146
214
192
174
169
261
203
221
173
198
170
221
208
254
163
191
129
183
264
238
242
156
267
176
155
157
208
195
146
217
176
129
228
199
313
143
173
153
129
159
130
173
204
152
248
195
159
191
160
214
152
163
141
214
217
217
185
201
243
176
178
231
208
173
201
220
188
204
239
201
201
170
139
210
176
227
230
239
175
181
201
196
176
132
164
232
176
129
202
176
141
214
200
179
146
203
190
129
209
158
172
141
150
204
158
198
216
181
246
163
127
173
143
211
230
238
193
155
242
222
255
217
212
204
173
192
294
146
172
146
173
133
194
183
204
157
200
210
183
335
145
204
214
247
192
165
282
252
133
149
130
166
228
180
229
200
252
160
264
158
182
230
192
171
167
200
267
221
146
223
256
179
142
219
246
201
230
190
191
176
184
211
155
129
158
255
204
176
169
160
281
168
146
226
302
274
115
200
227
182
146
244
171
168
225
146
182
185
115
225
122
200
149
164
176
168
214
201
195
146
216
239
194
147
264
155
164
129
242
226
173
261
157
168
179
146
192
191
179
149
214
168
200
155
179
143
169
179
201
143
206
180
189
221
219
130
186
130
217
211
164
176
259
228
157
179
229
130
239
184
263
144
145
265
222
155
146
222
129
235
236
201
202
206
201
132
232
160
211
176
205
211
171
190
233
225
206
210
115
191
178
232
133
146
122
204
165
247
239
174
200
239
217
179
161
166
185
308
206
143
129
227
210
249
156
295
229
156
192
133
201
156
192
264
216
162
169
260
162
220
218
143
192
201
260
129
218
174
156
189
129
129
133
228
206
146
247
177
207
221
232
156
226
210
263
237
133
201
122
246
201
169
130
227
184
205
204
190
129
200
201
173
202
208
183
181
159
211
141
235
210
173
119
181
176
144
266
115
270
204
222
191
222
184
158
288
174
253
255
115
186
145
242
234
191
129
129
143
253
168
230
237
178
197
202
172
212
158
226
213
156
192
176
219
169
143
180
130
202
222
193
145
227
184
222
222
161
202
202
162
206
168
146
272
194
215
206
185
246
256
299
203
228
210
188
166
303
160
231
130
188
210
200
188
231
173
144
217
204
223
257
247
212
199
204
169
150
130
173
264
211
130
146
184
197
210
129
173
130
129
191
236
189
238
164
168
204
182
174
194
234
184
209
158
205
218
170
195
184
178
173
173
182
193
169
234
200
132
145
193
130
236
221
201
197
296
181
217
173
214
186
171
176
194
150
183
187
221
115
153
204
115
180
192
180
191
189
176
236
156
130
115
185
146
146
244
299
186
133
164
162
270
173
173
184
187
206
185
204
129
210
115
206
183
204
217
129
220
250
195
163
204
157
130
168
176
201
199
162
225
238
259
178
252
168
180
184
190
146
176
219
132
210
188
143
162
129
150
176
176
166
222
242
138
202
205
159
146
238
168
193
152
238
184
182
220
209
270
229
180
129
166
232
173
176
202
200
128
214
214
205
160
145
245
232
129
185
183
146
190
222
203
178
209
173
129
202
225
183
238
230
243
173
193
184
146
210
180
162
210
204
206
225
217
183
200
157
129
203
145
159
226
185
253
257
173
335
164
185
225
221
175
210
129
176
129
178
182
242
173
146
216
177
138
210
217
162
198
194
180
235
176
243
129
202
173
193
144
188
128
182
202
209
174
191
225
128
232
244
264
217
172
256
175
204
132
173
164
171
173
161
191
141
184
199
239
228
161
179
223
191
172
189
182
237
252
331
173
256
129
208
130
184
288
258
166
164
224
146
217
221
130
168
130
216
175
211
201
180
197
217
156
192
230
187
162
167
176
207
181
210
181
168
182
153
178
146
151
209
158
229
239
235
247
228
211
216
184
156
129
221
179
230
210
173
187
175
202
214
144
158
239
146
163
130
194
162
161
256
154
176
185
164
204
176
146
158
167
203
190
164
188
191
203
227
201
289
297
239
188
143
155
184
228
206
222
240
211
186
216
173
228
209
190
145
204
129
133
182
185
218
183
250
141
115
143
257
179
149
201
216
115
194
184
194
217
185
178
199
204
146
238
201
280
216
176
212
200
224
217
218
161
185
235
283
191
199
204
115
160
230
215
251
187
179
258
173
158
188
177
180
147
176
225
182
200
201
208
185
197
129
130
181
129
137
184
192
201
130
162
238
163
179
115
184
162
218
169
227
145
198
129
216
164
193
179
129
194
204
191
255
190
160
158
248
221
197
145
143
210
130
239
160
209
204
205
182
204
164
143
238
240
202
182
183
158
226
201
179
188
313
237
263
184
246
220
231
179
178
160
230
146
201
152
212
191
173
129
202
192
204
191
146
129
210
193
147
254
183
195
184
192
129
204
173
174
173
164
184
133
213
194
182
261
255
187
182
170
204
246
213
194
156
183
266
158
191
130
209
267
222
229
294
230
206
194
166
174
221
222
274
130
173
221
130
230
170
230
239
243
147
220
212
214
215
158
156
184
183
127
146
206
326
206
133
230
182
183
158
208
176
249
150
137
243
180
115
129
160
230
173
169
176
146
238
179
122
204
203
164
208
230
129
149
161
206
263
186
181
182
167
200
250
158
241
188
141
216
152
216
172
195
201
202
202
250
228
201
155
151
130
176
235
242
236
241
190
169
239
174
161
179
157
204
219
167
176
172
155
170
217
143
180
143
184
211
203
115
209
185
256
206
166
115
225
181
183
158
211
184
202
204
190
174
150
181
276
168
179
207
247
208
211
217
210
196
201
232
280
178
129
203
183
146
204
222
176
176
308
238
204
133
181
222
259
190
181
207
202
147
186
255
130
262
200
181
201
198
189
157
145
195
170
218
214
204
145
184
211
210
173
230
129
202
270
181
133
213
146
141
174
191
230
130
230
211
210
146
178
179
182
240
185
233
254
281
155
235
160
156
169
122
151
300
229
173
222
210
211
201
186
176
157
176
209
184
141
162
143
156
179
164
235
238
147
176
166
208
176
176
218
201
166
181
173
152
248
176
119
167
158
168
265
191
183
182
276
156
130
180
188
205
180
218
179
238
176
178
158
279
145
248
146
199
176
133
176
176
193
168
201
192
217
133
214
129
262
201
129
179
185
188
186
168
133
236
212
184
146
180
174
151
226
194
179
176
254
119
145
210
200
187
176
138
173
138
129
227
187
235
146
173
191
179
184
204
191
208
179
173
201
184
204
130
181
184
214
141
266
280
304
187
168
169
141
157
182
201
259
198
169
129
183
141
202
205
163
236
178
256
180
155
233
146
201
251
296
177
176
227
182
212
167
172
162
174
180
261
225
236
203
188
210
115
184
201
210
146
177
217
179
193
173
204
206
247
147
211
158
156
151
239
237
188
179
206
298
238
173
221
192
181
176
221
178
219
146
179
179
171
201
173
236
149
182
115
157
162
235
214
133
115
199
224
180
176
182
260
129
156
211
190
258
141
230
258
169
145
240
198
176
268
210
210
220
213
247
227
130
226
211
176
162
180
201
189
129
146
206
205
175
173
227
156
259
159
151
129
151
143
149
204
187
253
166
199
191
218
324
130
173
192
176
224
172
130
273
176
216
258
165
211
250
226
217
210
186
296
129
168
192
150
236
233
180
185
204
201
139
115
207
197
208
235
230
208
129
210
203
238
146
258
224
176
164
225
122
165
169
197
241
222
173
176
265
222
158
146
191
208
199
173
168
219
147
184
193
222
184
179
235
185
183
210
146
241
162
168
206
173
184
179
174
173
156
225
175
182
220
238
143
189
335
182
202
175
183
210
242
128
191
183
230
191
145
173
247
244
130
176
130
264
129
187
211
210
176
211
145
202
239
204
176
193
210
252
185
252
191
132
130
195
183
183
150
173
261
149
201
162
153
172
200
222
316
146
170
129
200
172
143
204
189
211
201
231
225
176
214
287
201
191
241
162
132
221
145
173
214
163
168
164
251
158
146
221
185
205
183
192
250
155
146
145
168
179
166
179
209
204
183
187
226
206
185
261
133
168
140
176
219
300
161
173
122
255
173
170
174
222
230
168
119
146
203
206
260
164
237
195
164
168
222
157
252
182
216
217
195
184
163
183
131
266
206
202
146
220
160
194
240
239
205
182
146
225
173
222
201
258
199
115
183
195
235
253
209
129
164
129
115
247
204
211
173
206
204
130
168
172
164
305
189
195
252
130
152
190
200
176
259
234
236
230
259
162
244
201
185
202
164
204
169
244
155
133
201
133
129
152
239
251
256
166
155
190
160
160
145
230
155
173
170
146
145
191
158
180
141
187
145
162
201
155
169
236
173
146
184
210
129
142
217
192
182
243
146
209
247
206
258
129
115
158
179
165
130
169
181
169
130
149
168
202
168
202
133
201
222
201
197
211
129
189
172
239
201
173
264
230
209
175
156
184
155
143
208
143
185
202
217
189
157
183
201
188
208
227
239
210
246
239
168
158
184
173
145
214
195
209
164
180
141
172
236
179
210
224
204
133
185
236
146
209
213
184
187
173
197
208
181
170
229
255
183
175
225
211
132
156
175
282
242
201
141
157
129
141
185
149
273
145
158
155
204
242
133
115
283
132
173
200
176
166
230
211
179
191
210
143
184
202
179
184
246
166
196
157
185
210
173
213
190
204
146
210
204
162
133
216
168
247
214
173
204
205
146
176
231
288
207
211
169
133
239
201
201
198
194
160
193
200
185
209
215
176
129
230
180
164
245
173
230
130
198
162
218
211
244
190
133
239
157
204
175
187
257
165
130
115
236
175
186
177
161
164
204
179
271
234
194
129
239
191
240
256
216
156
173
240
165
130
227
219
212
204
197
180
194
130
209
229
190
225
218
217
178
184
234
269
192
215
228
189
202
172
335
146
200
174
239
182
244
226
183
207
193
129
156
182
157
146
164
178
244
224
149
219
212
179
203
161
235
152
155
129
183
242
239
248
195
133
210
166
225
212
183
202
244
251
173
208
130
204
122
169
183
179
130
204
216
181
189
248
231
129
187
182
129
236
170
149
204
325
115
205
130
197
192
168
173
238
210
182
180
130
144
192
176
246
140
172
184
204
197
131
211
173
195
190
161
161
156
115
185
256
261
222
153
173
182
161
173
158
183
157
183
206
129
177
207
231
173
155
202
284
156
129
204
185
156
174
215
254
151
115
129
176
217
143
162
173
192
176
239
221
158
244
230
143
255
227
195
130
168
168
169
189
210
191
242
204
176
234
191
224
166
157
166
229
130
201
200
252
230
200
122
231
236
231
201
242
141
216
168
204
188
193
175
231
170
182
239
146
172
220
189
229
162
164
179
192
198
211
255
146
209
236
240
155
181
176
217
179
263
211
206
138
178
211
156
235
216
238
185
241
187
211
149
130
179
202
222
171
173
172
129
157
199
211
229
231
132
173
202
130
173
243
239
218
143
209
213
143
225
146
157
235
143
138
223
170
217
227
202
228
208
129
244
247
216
198
170
138
179
246
115
168
203
211
258
134
178
131
146
186
249
167
200
223
216
169
238
252
182
245
300
129
201
202
153
176
264
200
129
158
172
271
210
170
169
130
196
192
163
173
202
167
115
182
164
202
151
210
164
197
173
130
201
207
184
169
171
230
232
208
182
164
180
167
240
130
261
173
180
160
249
165
209
203
172
205
168
209
145
173
129
227
312
164
230
179
129
228
216
204
211
129
143
194
195
192
217
171
294
180
206
219
201
185
216
115
176
145
130
176
243
227
129
212
179
192
115
179
140
197
145
194
212
224
259
171
158
231
173
173
168
258
224
180
188
183
176
152
152
185
186
212
192
225
200
176
162
143
199
189
210
268
133
165
230
201
158
221
130
173
202
138
145
192
177
222
199
182
172
189
163
129
185
219
208
199
277
184
173
146
190
151
155
175
201
230
175
183
173
248
182
219
207
229
177
181
279
199
250
173
177
129
173
186
249
264
168
244
206
234
161
224
211
176
133
169
206
145
143
231
146
193
217
145
168
227
219
199
129
202
208
252
201
192
129
219
222
219
236
237
197
206
176
188
201
173
132
246
115
160
183
164
244
179
132
173
181
157
167
202
211
251
183
191
163
209
258
181
133
213
188
247
188
192
194
130
229
228
180
217
194
224
224
168
176
250
115
206
169
172
129
176
158
210
189
129
214
239
287
182
143
160
204
205
201
217
260
154
286
178
211
133
173
241
230
176
122
201
160
202
204
242
146
200
200
176
193
171
129
189
220
229
211
217
181
146
335
238
130
145
205
198
173
130
205
204
157
194
160
186
204
160
130
230
173
178
210
216
227
204
184
222
223
158
129
133
152
233
146
186
133
177
122
255
176
186
223
196
212
181
206
179
143
175
173
185
146
227
266
173
280
149
146
187
204
181
182
159
204
236
191
212
133
162
222
146
224
219
169
212
200
169
203
146
148
157
212
253
214
185
204
130
180
237
168
204
203
196
182
158
230
160
141
210
180
188
145
246
176
178
222
130
213
129
259
199
129
211
173
173
230
192
184
234
203
220
130
146
177
209
168
176
173
204
130
153
155
130
164
159
222
243
217
143
198
130
181
200
129
168
180
190
129
217
187
172
192
210
169
156
225
169
287
224
173
143
165
222
227
158
130
173
241
164
189
206
188
176
130
150
168
184
225
204
200
242
185
146
166
184
129
210
183
206
217
214
213
219
185
176
335
178
211
247
213
204
216
202
185
129
144
241
192
211
200
281
143
204
258
246
204
264
162
145
145
173
138
204
129
222
129
149
143
256
115
209
164
242
187
217
244
234
173
130
201
209
182
242
158
242
191
214
217
154
189
165
130
221
197
184
197
156
223
163
231
259
146
234
213
176
204
199
201
128
264
171
205
179
143
210
196
169
230
230
169
335
207
204
262
182
189
173
194
214
210
245
129
181
168
173
185
239
183
155
191
229
227
128
202
163
138
236
215
172
176
234
204
193
119
145
155
182
200
217
201
200
222
175
233
173
178
168
188
191
260
238
141
162
168
254
175
229
220
188
191
151
213
201
202
301
194
169
214
200
188
203
226
185
202
156
179
239
206
244
217
185
184
145
174
201
238
172
129
206
174
279
207
256
179
208
263
179
239
217
216
176
176
210
160
164
173
206
263
158
164
180
155
143
200
145
204
181
150
190
173
145
204
152
195
229
145
204
297
170
176
176
260
210
241
146
228
166
206
234
194
204
146
246
228
146
200
238
129
262
152
274
146
190
158
173
177
244
171
240
184
167
208
179
201
146
232
153
180
219
190
185
237
180
211
210
173
210
130
168
251
206
330
234
143
169
166
168
204
199
176
239
193
201
184
226
161
229
240
181
143
260
141
166
184
191
205
174
239
226
146
176
222
199
258
204
115
205
219
189
155
129
158
303
221
169
166
244
115
216
187
200
156
171
183
280
201
200
180
176
230
262
199
133
194
199
200
229
183
129
176
169
256
149
173
146
206
161
184
158
146
203
130
238
129
221
173
224
179
160
204
205
226
218
162
233
159
186
211
186
149
221
138
302
162
213
171
166
190
129
162
241
133
211
179
143
185
236
245
131
145
217
251
194
176
176
215
145
184
141
182
250
274
191
335
209
168
162
286
210
156
200
131
227
178
145
207
201
179
161
145
173
201
183
182
181
210
122
204
130
177
155
180
206
273
235
146
217
158
206
188
187
254
143
258
184
274
231
234
205
195
221
146
204
237
181
219
155
158
174
240
152
144
185
179
217
130
224
223
176
201
226
173
129
129
203
182
156
146
203
216
184
239
166
179
211
200
323
155
173
173
184
251
202
227
167
204
130
234
176
262
130
179
215
164
217
238
204
259
183
145
158
178
205
226
209
158
214
198
143
256
221
145
195
178
176
175
130
212
204
157
187
179
204
129
238
204
278
310
263
221
182
212
193
160
266
176
198
179
145
204
129
253
173
214
264
204
173
143
216
216
217
176
179
202
188
173
204
182
192
151
153
199
251
182
218
205
190
145
193
179
215
200
145
210
181
233
217
206
225
238
250
237
199
287
215
236
195
268
305
226
202
130
197
225
241
191
236
133
172
173
223
287
215
250
168
195
198
190
238
168
214
202
224
251
210
185
150
199
176
183
212
190
129
255
220
204
146
187
252
184
146
115
226
169
161
218
162
138
173
227
213
129
176
143
203
247
157
129
204
217
216
168
179
164
231
191
149
197
162
159
178
164
283
217
201
173
204
174
146
150
275
244
243
230
240
283
236
191
254
146
146
178
214
209
146
205
311
133
210
129
162
180
302
170
211
253
174
129
161
163
191
244
146
239
244
158
214
236
176
189
274
238
180
164
189
160
163
204
174
172
213
133
225
197
200
221
255
215
196
204
146
200
130
203
229
146
189
163
208
174
217
195
176
164
119
223
115
274
182
115
206
226
179
165
224
157
115
167
195
208
253
191
238
165
190
140
171
207
186
248
233
234
255
174
210
145
189
217
190
163
169
193
250
128
202
208
296
155
145
209
258
160
194
158
176
187
115
209
215
233
203
264
163
209
218
181
162
168
129
182
182
212
173
228
226
149
146
244
210
247
261
251
158
176
166
216
145
191
216
204
194
168
145
252
143
185
194
180
146
191
168
258
219
274
264
190
191
181
201
162
130
171
237
129
182
161
202
223
185
206
210
210
180
160
180
178
155
181
146
158
169
176
225
160
115
181
231
258
268
281
228
217
162
173
160
268
230
176
212
247
164
176
188
202
171
183
162
238
179
180
321
182
185
115
133
181
200
150
173
199
206
243
170
238
163
129
274
146
187
130
133
138
178
183
227
144
199
168
209
176
133
213
204
206
224
210
146
188
246
183
133
231
146
130
201
261
204
217
188
157
217
256
169
180
233
141
234
174
129
155
289
217
173
129
190
252
176
133
235
200
231
179
176
198
173
146
211
155
129
145
151
133
230
223
292
164
191
122
155
179
196
133
129
202
158
226
267
167
164
183
187
130
224
258
192
153
215
164
236
191
166
204
189
262
203
201
129
180
261
170
191
174
189
201
129
178
130
167
190
257
276
222
255
249
132
211
143
287
212
181
216
225
176
183
192
267
267
143
146
335
169
173
192
233
255
257
200
188
185
227
188
173
181
254
218
222
185
200
183
204
177
174
262
186
160
249
221
156
205
180
230
146
194
264
251
201
162
138
141
217
210
217
166
222
249
183
269
230
195
218
228
191
219
167
187
246
217
267
130
174
190
176
150
155
201
228
200
159
181
122
203
155
183
182
200
249
179
225
195
200
169
202
206
179
258
172
218
190
130
169
129
180
205
238
115
247
199
265
217
185
172
183
265
200
180
162
195
176
335
150
229
194
186
201
146
207
217
199
208
173
180
157
204
207
170
168
236
184
130
158
212
143
132
175
143
182
202
115
220
201
166
173
115
227
138
182
214
171
169
202
211
201
204
192
162
163
178
122
172
177
197
222
145
133
185
179
204
164
221
236
149
211
191
146
143
216
219
199
217
146
184
199
129
194
166
160
146
158
145
257
257
187
165
185
176
122
160
176
186
149
238
160
283
252
202
185
147
217
129
178
187
227
204
183
192
302
227
130
145
221
197
161
184
201
213
129
159
193
196
182
236
210
206
247
155
133
187
155
255
238
173
239
258
156
215
159
233
203
176
197
162
204
216
249
204
129
208
242
200
205
178
176
210
206
166
215
168
155
268
151
204
133
166
151
183
146
210
283
236
159
176
173
173
167
200
210
236
191
195
181
329
227
207
237
178
160
129
210
119
161
146
182
257
230
208
223
176
174
179
179
217
145
239
183
251
130
145
164
164
208
149
158
186
156
253
201
210
133
164
165
191
203
133
209
232
210
130
176
143
226
196
211
182
197
150
182
184
145
162
229
192
247
176
225
138
179
211
173
203
146
177
194
138
226
204
188
258
203
184
155
176
172
250
201
242
236
190
240
155
171
176
164
156
141
141
214
281
201
186
210
155
146
175
254
180
176
195
152
188
219
199
209
141
210
115
335
147
210
162
241
226
210
210
146
130
185
201
173
206
249
185
173
130
228
205
176
229
232
204
204
152
236
206
186
159
157
176
157
244
183
193
209
259
174
170
167
266
182
187
162
231
148
174
195
237
208
174
138
171
167
224
214
221
212
168
166
179
187
242
174
201
191
200
189
130
222
264
143
158
179
173
199
179
144
167
217
141
192
188
129
173
163
173
211
230
237
235
217
195
232
205
178
129
166
173
202
194
180
167
213
236
210
115
254
208
202
156
230
188
188
178
258
143
267
122
234
237
188
250
180
146
165
184
155
192
229
176
206
231
157
222
158
145
133
197
204
168
176
203
210
173
234
143
182
193
202
115
182
190
221
183
204
161
184
206
229
201
303
203
211
146
178
189
200
146
201
238
216
226
162
182
166
183
145
185
239
176
228
178
155
143
224
239
143
179
210
176
188
193
214
188
247
282
145
129
203
159
237
115
166
184
180
180
129
237
133
115
221
167
213
146
152
153
190
146
223
200
228
176
218
199
214
201
217
181
284
264
179
179
129
159
158
257
272
243
195
202
115
231
205
296
238
167
179
184
188
242
187
228
162
208
211
157
203
250
187
236
173
254
313
161
200
169
160
132
236
204
211
129
324
191
177
200
290
146
160
229
160
172
204
187
236
141
300
150
165
234
223
222
239
130
303
206
169
146
153
212
149
222
129
276
180
180
184
236
202
147
198
160
262
246
189
258
144
189
184
287
133
199
252
207
193
197
147
188
130
159
193
194
202
191
162
133
211
143
211
201
230
259
173
233
245
191
193
241
210
287
211
178
235
191
198
221
145
297
240
168
173
138
213
201
179
191
206
254
225
146
190
178
173
180
210
181
166
193
176
193
169
206
130
171
210
115
129
130
239
219
253
203
175
201
234
281
204
133
231
146
188
203
168
184
202
133
308
233
243
171
227
176
227
141
158
146
130
177
164
115
207
181
303
146
146
160
221
195
210
185
167
173
162
236
206
209
222
228
143
227
150
299
295
164
173
237
184
146
205
182
144
129
129
201
204
129
224
178
269
141
195
185
204
172
216
173
149
167
115
188
217
210
164
191
155
155
201
146
146
178
146
193
256
145
164
264
251
158
129
238
162
181
192
231
193
178
160
236
257
189
203
217
225
132
188
208
176
233
155
166
201
206
215
186
129
204
173
200
129
257
178
201
214
139
193
168
130
186
130
164
172
201
256
211
143
211
184
170
162
146
164
202
168
204
205
194
179
235
200
249
176
217
251
115
156
184
193
147
227
225
228
202
231
230
173
200
164
158
176
189
160
176
184
200
145
193
237
263
191
199
159
225
200
161
202
220
156
203
184
230
256
208
149
225
145
203
130
244
194
187
228
214
335
133
176
143
161
155
289
174
224
200
266
194
272
129
221
176
184
143
146
157
210
221
206
191
146
223
217
176
180
210
239
248
243
204
189
129
194
162
183
189
268
202
122
151
158
188
208
200
204
265
266
244
145
244
145
168
219
173
255
183
187
155
198
182
178
198
169
245
221
181
195
300
146
187
241
205
172
281
206
174
202
261
174
200
195
133
335
165
119
264
183
211
176
181
159
211
158
232
199
227
229
247
248
212
212
186
180
156
156
200
187
176
232
143
178
258
211
277
122
158
171
184
206
188
248
208
308
185
150
166
171
158
300
176
194
183
162
283
173
189
184
152
239
156
173
129
122
254
202
173
230
173
162
210
128
181
191
176
179
174
208
176
151
248
184
189
173
309
184
146
286
130
234
217
130
186
129
292
236
176
217
176
213
168
122
187
149
146
211
187
270
254
238
192
129
129
225
146
158
212
230
317
205
175
201
182
223
173
174
204
230
169
228
175
196
215
194
178
179
129
184
191
176
180
168
227
258
115
189
228
246
210
230
215
206
246
210
170
214
264
275
169
211
287
168
158
145
193
187
183
166
235
264
189
235
191
165
239
210
271
192
222
185
196
182
173
133
173
149
252
156
201
224
156
204
178
194
237
296
206
187
205
164
122
189
220
191
122
162
151
172
190
206
221
205
229
170
202
201
178
191
152
162
212
129
206
176
228
164
169
239
236
279
173
169
230
146
236
189
239
185
164
130
204
264
268
161
192
233
130
141
207
228
204
237
201
122
179
164
155
202
156
133
146
230
176
201
195
151
176
211
173
166
208
189
187
184
143
176
255
133
238
216
179
195
176
155
205
129
146
155
314
115
195
256
251
261
236
201
141
188
145
188
184
193
206
199
242
217
168
266
180
162
149
204
242
261
183
181
205
182
180
259
171
217
172
201
236
215
191
183
115
130
159
256
238
162
160
219
162
246
202
201
300
176
192
207
251
130
264
141
228
176
202
172
202
232
242
215
208
217
185
169
149
225
164
204
230
234
143
212
200
223
235
174
174
148
157
210
173
159
130
186
178
176
227
155
185
164
163
153
206
224
215
183
229
170
159
204
172
200
206
176
155
158
225
181
174
251
289
254
169
129
215
170
143
186
221
191
206
156
252
214
211
214
165
210
182
185
215
195
115
179
129
162
188
176
181
129
176
263
146
184
215
199
197
227
204
238
143
183
214
188
146
184
133
215
146
201
270
204
202
205
212
144
182
169
176
176
180
303
122
176
190
179
185
212
259
182
199
235
164
173
173
217
284
183
224
221
205
138
172
189
133
195
178
204
236
182
189
264
226
204
200
179
179
188
146
232
202
206
130
281
186
183
195
176
203
214
202
204
184
162
203
184
185
157
147
225
216
211
143
164
183
138
130
144
156
178
143
146
171
155
129
145
225
145
210
133
164
226
210
168
183
153
179
217
211
268
143
176
175
178
222
115
209
198
220
194
210
166
146
169
216
206
239
207
202
130
188
185
231
129
176
207
242
174
162
257
239
225
203
230
180
179
210
133
183
184
129
197
176
163
213
187
201
184
168
173
138
143
184
235
160
129
223
278
213
173
206
228
315
182
169
161
203
238
145
169
242
196
160
150
203
169
210
176
143
234
169
175
217
153
173
119
194
173
129
129
161
200
264
158
229
195
169
150
288
181
308
244
208
233
130
182
146
190
225
166
207
201
173
186
176
169
192
183
173
195
197
174
243
169
194
146
194
194
202
145
205
222
203
204
187
229
254
181
182
179
162
129
164
173
239
170
174
168
189
210
185
155
146
229
228
146
167
207
158
230
183
171
217
181
197
129
176
177
150
236
173
253
129
147
242
201
182
215
145
210
168
181
207
145
187
132
222
295
182
172
159
247
149
191
173
173
164
229
211
180
184
143
173
119
155
179
227
202
182
201
190
211
146
214
203
202
211
187
133
141
190
209
130
164
258
238
227
143
225
268
178
210
185
271
205
191
235
264
176
143
129
176
180
130
183
158
227
129
192
175
176
179
230
203
211
179
186
206
257
264
152
231
230
145
146
146
191
170
227
130
130
210
210
176
185
187
202
209
190
150
242
266
188
181
188
227
157
130
222
211
147
252
191
184
213
212
168
204
204
168
216
210
129
217
247
234
189
225
129
202
129
115
193
146
205
203
247
174
145
264
180
247
173
213
237
164
146
179
169
202
130
164
236
178
173
231
233
179
190
216
130
214
168
230
130
246
230
115
150
183
115
164
189
179
229
200
130
173
192
265
168
184
213
173
260
176
204
259
194
270
268
170
129
199
173
224
178
201
284
296
196
200
200
164
180
162
280
143
202
201
145
231
164
186
234
182
176
204
157
211
201
210
186
204
182
202
133
199
176
115
309
181
217
130
146
169
173
213
168
176
270
203
158
184
175
184
205
255
158
222
179
207
168
155
228
296
129
122
202
188
205
138
242
162
168
176
240
183
176
181
169
152
156
207
146
218
202
252
201
206
209
155
170
202
129
168
203
217
221
179
180
217
173
174
130
262
172
133
119
248
130
240
176
170
256
207
225
157
220
237
199
155
231
158
147
174
235
146
184
230
146
143
223
216
206
130
204
188
230
146
163
218
155
208
247
176
213
145
231
202
271
204
194
251
157
133
173
246
217
201
166
211
237
213
241
245
128
174
130
115
130
230
190
143
173
173
176
212
152
161
173
158
230
141
148
144
143
181
190
180
157
238
202
224
178
230
166
186
190
230
195
258
143
144
201
130
230
238
279
222
159
146
165
158
195
217
188
212
215
262
225
166
221
176
146
234
164
205
162
169
122
178
143
188
164
201
188
169
155
200
253
229
130
183
183
174
217
156
202
175
146
183
130
150
162
253
199
208
175
224
161
184
162
236
204
167
204
196
185
217
206
220
146
224
235
237
212
133
156
184
233
138
189
172
202
169
130
185
210
184
133
183
201
206
221
202
244
205
202
143
174
146
217
167
204
231
129
162
239
195
169
146
214
201
147
168
138
204
226
209
200
206
267
238
200
274
232
131
181
162
130
222
219
146
130
164
115
164
211
178
180
200
222
194
193
169
325
171
158
235
211
129
228
188
211
212
186
142
212
211
130
162
169
173
180
180
168
201
255
145
177
176
129
173
205
217
129
115
230
164
218
144
204
185
130
156
189
145
179
151
169
153
218
203
216
181
219
199
249
211
166
176
194
210
164
176
234
152
179
155
169
168
173
129
246
180
150
230
217
183
179
182
217
178
173
297
222
145
174
178
176
158
146
210
217
190
222
141
252
158
221
260
173
256
173
128
206
191
163
173
217
164
211
173
216
242
191
235
203
202
130
193
289
249
199
195
115
176
185
303
228
184
195
202
210
155
178
204
228
217
217
228
183
151
150
173
170
242
122
167
193
206
213
179
217
183
158
307
174
178
185
218
168
130
217
197
236
200
156
160
168
212
248
146
146
232
194
194
146
254
180
191
188
191
168
146
230
211
196
224
178
210
173
246
174
162
153
174
213
184
222
174
133
231
192
185
146
180
146
215
249
282
168
129
251
180
252
182
175
214
211
210
133
217
218
248
168
166
178
244
211
173
243
204
217
256
183
200
175
195
176
201
191
155
146
222
169
129
133
178
238
204
169
130
145
167
183
173
238
170
184
232
208
190
122
129
230
176
164
129
122
177
158
184
164
201
247
238
145
202
129
178
177
158
233
237
130
207
290
209
206
210
229
210
168
204
130
130
176
170
184
217
213
226
212
206
199
247
234
179
335
173
203
173
158
222
204
287
146
252
201
223
148
144
212
258
201
176
145
178
209
213
173
177
180
178
221
202
216
146
188
184
133
226
162
182
204
157
115
130
138
184
235
211
194
130
211
230
236
164
173
254
172
130
192
214
183
209
183
184
263
129
267
283
176
173
217
184
130
145
149
173
204
266
235
184
236
217
200
179
258
173
211
184
119
172
235
179
202
173
208
263
204
171
122
200
166
165
258
224
176
191
246
207
201
130
185
212
206
239
141
177
160
192
239
242
203
188
200
191
215
240
179
220
288
169
179
175
171
217
267
204
173
149
143
203
226
155
181
202
140
192
285
133
181
140
146
178
179
210
168
217
130
176
183
206
201
201
194
186
178
173
186
219
183
141
130
157
146
169
261
140
212
230
209
184
128
182
129
213
241
248
210
173
189
219
250
191
204
195
200
115
165
219
191
199
179
227
225
156
202
173
231
203
168
217
313
227
238
202
204
141
226
260
153
187
115
335
162
250
182
176
195
129
156
263
173
172
216
184
146
203
164
247
193
143
178
179
216
202
186
201
129
175
275
193
208
173
210
236
254
202
222
180
218
173
129
236
210
172
146
175
207
158
215
250
180
218
217
146
133
203
206
143
216
189
221
145
227
172
277
236
201
184
230
197
190
145
221
164
183
212
236
176
146
172
146
174
171
179
158
186
171
200
200
278
168
210
231
203
130
221
173
250
247
183
176
158
220
143
204
182
178
164
200
170
173
255
201
253
201
201
189
297
143
214
206
230
184
152
261
133
246
228
173
200
145
164
304
217
137
192
138
225
122
162
203
183
129
146
192
129
164
194
192
164
146
204
182
230
195
170
168
178
190
228
263
250
230
235
179
181
258
217
176
176
206
133
185
164
164
210
210
130
195
180
262
169
252
115
189
209
171
143
335
255
138
115
262
203
231
174
173
129
115
132
225
130
297
184
204
179
206
283
191
238
181
204
146
230
192
233
197
129
236
171
208
166
190
130
259
158
146
155
162
206
182
168
184
299
242
176
215
176
189
146
179
166
164
184
244
179
191
155
211
182
246
176
176
173
188
185
259
230
129
206
174
138
173
195
210
256
158
261
240
199
210
214
183
268
236
269
227
177
242
129
173
252
198
130
210
173
204
182
166
173
129
248
174
168
150
119
184
258
145
176
177
247
203
129
157
146
238
271
263
168
162
129
115
200
252
151
253
229
115
269
228
206
237
222
146
177
146
210
203
223
129
145
261
227
173
174
179
186
170
261
130
229
146
211
175
208
191
242
115
204
179
129
129
210
236
204
192
191
160
214
218
267
170
138
283
217
206
229
217
210
130
178
130
158
238
146
216
149
183
213
128
230
227
167
168
181
202
205
158
171
233
207
141
229
132
143
146
218
173
224
217
211
200
205
264
188
183
180
145
191
195
144
195
204
180
157
265
176
225
155
212
224
119
265
183
129
115
181
173
202
162
186
130
182
228
206
208
178
161
220
211
253
176
260
185
180
274
186
192
183
281
176
227
193
179
186
253
190
169
226
185
166
201
144
146
272
203
178
175
210
187
201
161
252
128
287
226
287
146
203
157
238
238
164
252
218
226
168
175
175
146
115
172
209
173
176
204
285
210
172
169
150
129
257
146
169
204
150
217
155
187
171
206
161
185
242
191
176
188
168
164
204
168
184
247
255
200
227
236
161
219
130
184
210
179
155
191
240
202
215
129
184
216
273
208
182
274
256
235
206
204
278
207
174
228
173
193
264
263
155
243
230
146
236
203
183
168
203
184
191
244
115
167
115
176
219
211
215
244
202
176
191
158
162
129
261
205
133
244
155
211
175
204
203
133
168
250
168
133
210
221
169
204
167
176
184
158
231
164
208
253
115
150
176
225
234
179
179
200
303
299
206
133
181
180
218
184
205
254
141
176
173
194
143
259
201
129
143
208
210
269
174
156
130
184
236
209
146
207
204
199
238
156
184
305
178
186
130
173
180
141
204
198
174
130
169
194
217
274
168
153
172
180
208
188
169
195
167
183
203
146
210
133
184
157
173
178
325
257
268
173
191
175
146
151
201
168
210
249
218
186
166
178
246
176
145
146
204
180
213
176
184
130
155
146
268
145
217
170
166
180
303
119
176
217
254
195
164
132
182
223
233
228
233
206
239
307
204
162
210
211
217
163
180
205
178
206
189
207
234
252
161
192
217
193
177
193
210
179
200
176
133
183
297
218
129
130
216
202
196
213
193
185
265
209
143
264
255
230
201
165
230
214
335
259
171
239
204
141
130
164
212
176
141
168
130
196
166
155
157
211
237
207
234
176
184
144
141
248
129
215
145
146
133
231
162
197
168
252
197
150
181
195
150
202
254
146
195
129
191
238
200
162
208
145
168
146
214
237
169
240
252
296
176
210
236
166
212
222
211
217
226
231
228
292
229
228
216
168
194
210
247
218
184
167
146
197
220
146
174
210
154
129
186
149
184
281
174
225
216
141
184
228
199
256
221
158
202
217
236
227
200
190
247
182
174
217
174
227
221
201
129
179
161
158
266
192
173
224
193
173
221
270
130
173
202
169
164
183
187
173
184
156
146
195
131
288
191
217
177
170
176
144
164
183
189
250
206
192
210
214
250
236
206
255
280
230
207
171
129
178
168
129
257
264
219
172
238
176
218
213
217
204
217
274
155
221
146
222
210
222
188
180
122
176
202
173
221
264
156
130
129
200
146
167
217
228
207
236
163
180
189
211
174
168
138
132
203
240
209
186
131
224
176
275
177
246
186
143
168
236
206
200
225
252
237
130
173
222
130
150
231
158
163
265
157
233
173
173
211
189
133
179
168
149
172
169
221
174
179
146
258
208
224
167
211
149
168
256
168
191
184
260
217
236
216
194
152
202
129
219
236
186
189
253
192
300
178
214
226
310
195
210
146
186
115
256
130
176
261
173
224
226
179
169
206
216
202
202
199
211
164
217
248
164
197
203
218
143
130
180
129
168
183
146
137
283
129
211
143
153
222
214
214
170
224
176
188
130
236
143
115
245
197
264
214
211
205
164
209
236
174
221
201
178
204
130
150
179
150
140
146
214
217
261
228
173
146
161
184
249
163
146
270
167
163
133
169
217
173
252
179
277
168
189
242
162
180
240
186
185
324
211
300
185
218
146
186
158
232
213
178
176
163
174
206
225
218
185
145
181
162
168
181
176
259
213
236
211
217
185
160
164
169
151
149
301
156
205
246
262
201
204
221
184
173
176
227
197
194
162
211
146
183
203
209
188
195
145
197
184
122
189
155
130
249
184
261
242
130
182
204
294
129
208
204
236
160
200
192
191
147
196
211
210
155
251
173
201
199
129
195
145
259
172
182
161
186
173
133
217
175
129
184
191
227
203
172
156
242
189
115
182
204
205
166
168
163
246
214
191
236
187
191
219
115
202
183
182
186
204
178
193
158
151
231
173
191
138
187
216
187
169
226
146
248
240
151
189
228
222
243
176
179
233
211
210
162
200
210
179
234
208
173
130
210
147
192
193
230
228
222
143
193
130
159
204
146
238
173
162
210
230
191
239
167
151
156
188
251
221
303
168
191
243
130
236
173
184
246
169
146
162
217
192
214
190
143
129
210
227
204
201
130
220
197
195
182
245
182
164
184
247
162
191
211
156
202
206
204
182
157
204
173
181
185
189
144
210
212
196
176
133
263
189
184
143
162
115
130
221
179
208
161
255
179
119
211
173
173
204
202
130
173
150
168
182
158
150
204
174
146
217
146
183
256
178
183
217
176
129
182
185
193
199
266
201
255
218
180
220
141
183
217
217
191
239
217
167
138
244
145
200
146
186
174
205
141
207
198
202
130
201
230
209
169
283
205
169
173
187
198
190
115
129
187
173
130
236
203
130
170
188
194
208
223
162
145
174
221
208
256
182
185
152
168
162
146
214
247
168
173
178
217
157
190
248
225
130
130
158
231
196
180
195
193
184
129
239
229
211
225
128
176
158
194
201
218
145
180
239
190
188
149
217
224
255
245
184
172
190
212
175
183
146
209
173
171
130
233
188
189
278
206
179
216
204
254
168
150
259
160
143
186
249
236
128
128
217
158
143
158
242
169
222
244
260
212
163
204
242
178
146
186
147
133
192
200
169
203
150
173
193
230
192
179
158
226
190
189
258
217
158
227
133
376
179
202
155
204
173
182
146
276
168
218
215
204
189
217
213
229
162
207
186
152
166
173
158
132
221
158
211
115
206
251
258
238
217
151
199
213
130
188
181
155
246
115
160
169
199
173
247
180
218
146
221
273
206
181
204
231
163
175
191
210
274
255
179
203
210
283
184
119
183
240
210
164
184
173
221
207
241
211
150
128
199
258
321
165
208
167
147
244
254
206
200
203
197
194
169
187
180
195
222
193
198
156
157
155
166
231
181
264
276
205
188
198
204
203
228
273
200
195
169
224
164
204
129
202
303
165
200
182
212
144
186
217
209
182
189
183
150
236
185
129
222
130
187
145
246
169
225
190
201
201
173
130
206
203
173
283
247
175
162
170
204
119
204
210
237
187
133
201
172
208
203
173
184
239
176
322
183
217
129
211
219
129
141
180
222
243
227
221
238
128
181
208
164
129
207
173
168
178
229
155
261
252
203
171
194
231
181
181
150
141
227
248
165
229
176
187
225
176
145
203
207
225
146
179
205
164
185
146
227
162
253
194
206
223
230
286
130
181
210
145
277
201
217
194
258
160
178
335
230
231
129
190
210
204
228
146
158
203
153
275
147
190
238
277
260
115
204
230
203
180
161
277
176
167
208
122
175
145
203
146
202
223
183
185
184
178
236
151
203
160
191
206
158
227
170
203
259
223
185
174
219
129
182
128
211
168
181
206
225
299
174
158
208
261
239
150
130
173
229
176
191
188
146
115
176
210
145
202
158
129
141
178
234
132
210
319
263
181
208
144
217
180
262
130
173
259
156
155
287
180
209
232
244
211
115
232
195
160
202
201
161
145
129
234
248
198
129
133
210
202
179
211
242
133
143
156
204
166
247
205
184
237
209
243
210
251
191
214
222
153
145
192
181
268
191
145
156
130
187
256
176
263
146
185
198
143
202
256
130
157
155
258
192
173
265
177
146
177
183
211
158
209
129
210
186
157
162
235
177
230
239
205
181
201
222
168
202
210
283
173
187
210
172
230
200
172
210
173
146
283
217
197
129
149
192
237
284
231
261
181
185
222
143
210
179
258
184
219
179
186
168
164
202
176
194
187
185
191
201
220
168
122
214
180
186
143
217
199
268
212
129
151
201
227
234
180
204
174
130
204
256
175
197
173
173
166
195
147
195
226
174
158
147
178
169
202
168
227
191
179
250
186
187
195
222
210
190
264
253
200
146
224
171
238
296
205
211
195
185
132
146
179
202
230
151
214
193
221
210
222
238
176
231
273
190
168
246
253
173
178
158
254
228
192
206
192
175
210
249
166
204
190
248
227
205
172
175
191
222
231
115
129
187
163
157
287
247
184
185
150
170
292
253
173
180
198
129
162
221
228
228
141
138
196
158
241
196
167
252
152
209
115
230
200
166
166
181
150
200
128
210
129
162
171
202
226
176
209
222
185
219
143
234
227
158
129
195
183
211
178
146
173
165
264
129
184
311
189
202
140
238
127
155
175
130
207
183
275
201
172
251
133
210
217
236
133
231
182
168
176
182
211
214
206
173
191
242
204
246
236
217
206
208
261
181
149
176
146
179
201
173
241
181
209
162
115
186
201
146
237
181
143
156
242
210
204
115
168
233
230
236
185
168
181
183
161
177
243
184
221
183
128
171
150
258
203
146
201
182
169
196
208
160
266
216
138
212
143
129
168
205
168
212
145
157
322
224
211
184
115
252
215
201
145
204
205
129
184
218
188
191
174
145
204
190
172
167
172
202
204
133
213
265
187
215
176
204
208
204
184
198
171
196
145
204
162
182
197
234
115
184
206
205
195
184
204
179
235
173
218
211
182
201
260
186
228
262
263
195
169
199
209
166
151
152
156
236
195
212
238
248
129
229
172
179
231
257
222
155
162
214
145
141
205
191
179
167
153
225
263
168
160
307
221
192
242
145
202
211
191
146
188
245
173
115
229
203
171
204
173
249
211
199
239
210
206
179
163
214
245
179
221
169
256
256
157
196
149
200
192
190
184
217
224
230
133
205
209
184
133
185
152
225
271
205
144
255
192
146
193
236
246
164
128
187
187
240
199
170
184
145
194
146
175
143
210
176
217
174
212
173
247
164
152
195
132
145
155
219
264
176
158
158
236
200
219
253
150
146
183
173
204
261
130
195
168
168
211
230
211
173
182
202
171
178
158
162
195
173
266
179
194
211
224
164
194
255
161
238
130
229
203
206
189
185
133
239
211
291
267
212
214
129
217
231
146
221
169
195
210
220
219
210
222
157
239
249
232
251
218
218
255
212
268
299
217
173
282
236
276
204
164
191
115
129
300
204
217
176
170
173
239
129
129
181
206
214
204
184
155
180
210
256
241
202
155
199
166
265
226
130
177
187
286
212
176
191
195
133
143
200
115
189
204
169
242
182
229
164
187
243
176
176
145
238
199
146
191
166
261
184
158
233
192
145
206
172
130
221
219
146
172
209
211
168
256
168
220
250
201
214
185
179
169
266
150
256
146
147
225
172
205
228
176
219
188
146
190
185
200
240
178
168
178
187
287
230
249
188
146
144
192
239
203
169
214
145
146
185
204
162
221
176
204
240
192
178
200
178
294
189
266
122
191
195
171
207
213
168
185
163
230
186
202
191
201
193
195
206
300
178
133
178
271
211
210
237
174
208
162
227
217
176
166
182
247
160
129
184
177
217
158
226
164
214
207
213
162
235
270
229
186
176
143
171
173
201
192
146
204
129
178
220
208
129
202
193
233
159
122
210
132
146
176
146
217
164
160
202
168
171
211
199
186
173
193
195
129
217
230
182
176
239
168
187
178
228
226
224
175
187
245
150
164
169
128
213
164
169
195
222
204
210
235
202
183
173
159
204
204
192
115
242
179
164
173
173
133
182
170
220
194
212
181
145
183
183
171
176
150
146
166
273
185
185
150
213
203
224
251
119
200
179
214
206
217
177
188
161
234
225
146
225
194
179
158
255
182
204
288
192
166
130
204
237
214
184
210
133
258
122
207
178
151
195
221
217
176
208
205
173
217
173
203
176
210
162
182
182
170
164
168
230
239
185
130
209
176
159
145
138
238
209
232
196
161
174
186
176
217
231
171
204
246
243
185
191
185
258
257
222
195
192
201
229
228
253
184
197
246
191
183
222
216
211
203
129
205
176
173
206
224
189
200
191
198
147
191
132
181
202
266
182
187
204
169
156
128
179
156
190
231
194
130
180
281
180
204
246
183
194
143
185
173
204
185
157
269
202
211
222
236
181
188
210
236
169
222
207
146
263
201
206
239
184
129
217
232
252
179
182
204
216
202
183
194
130
239
211
169
217
210
129
144
150
181
115
188
175
266
178
213
178
164
176
153
164
156
160
180
182
253
210
186
204
130
156
183
146
299
288
215
183
265
130
164
181
241
203
230
231
200
205
176
209
206
146
158
223
200
138
247
217
224
214
180
167
267
234
214
252
187
201
173
176
217
228
176
208
129
204
138
203
155
191
335
268
242
146
143
155
250
219
196
236
207
204
231
158
188
237
209
203
210
254
204
182
145
176
161
130
200
261
206
227
256
216
146
129
146
158
172
233
183
173
258
138
210
173
176
179
226
211
158
217
178
153
241
222
204
191
129
191
176
181
211
183
192
146
203
234
122
173
150
200
220
191
204
168
300
164
192
227
230
206
212
130
143
173
222
146
146
203
172
187
182
167
173
145
146
210
259
261
152
236
182
185
204
177
259
210
228
175
195
188
187
198
231
231
244
178
222
183
215
146
201
203
176
129
164
210
162
130
166
156
182
204
146
162
225
285
171
150
168
176
216
214
211
219
218
299
149
204
164
189
184
206
122
158
195
207
180
333
231
272
150
217
129
267
195
156
260
133
217
157
166
230
195
195
209
146
205
229
169
193
204
222
222
201
200
222
180
166
182
185
183
231
130
174
210
159
197
222
245
224
182
183
133
204
186
143
188
158
183
193
162
202
252
204
189
245
166
176
191
238
147
115
171
233
174
211
186
204
179
256
204
185
164
210
194
210
150
246
204
151
170
173
182
288
213
160
209
179
149
143
191
180
169
130
234
217
141
201
192
165
175
302
221
185
211
257
204
164
217
228
210
204
177
293
163
181
206
210
130
145
221
178
240
179
150
202
230
171
193
266
176
203
173
133
220
180
180
167
145
255
210
198
181
205
155
179
129
146
197
144
173
173
200
221
252
115
180
183
208
184
179
129
234
211
194
130
204
217
213
200
178
213
149
217
186
226
237
173
150
264
199
144
158
159
199
175
242
191
226
277
171
182
185
192
188
211
161
150
251
204
202
211
213
218
166
191
236
204
220
185
259
145
230
230
141
303
259
173
226
146
184
162
207
178
209
233
222
187
157
175
166
148
176
227
236
183
146
179
129
250
173
233
239
202
202
237
246
239
165
158
203
239
157
254
180
138
171
130
273
250
263
182
201
163
176
188
225
222
252
158
242
194
146
202
159
146
202
167
165
204
169
189
173
194
222
207
155
145
173
191
179
146
225
226
179
213
160
162
263
164
204
239
171
174
200
183
212
168
168
226
173
187
221
169
161
156
149
239
115
264
168
230
202
155
206
188
143
192
232
179
198
216
209
176
207
208
146
189
161
138
188
162
274
129
194
173
146
243
149
183
227
176
172
201
239
204
145
122
187
169
204
222
231
115
173
217
225
213
183
198
129
152
210
149
189
145
173
157
199
229
138
164
195
258
191
229
148
153
209
254
200
191
146
155
181
138
146
210
232
122
164
172
283
261
241
204
247
195
164
227
145
224
156
181
194
252
173
207
130
168
193
184
152
219
159
201
153
224
164
164
166
202
241
239
185
152
201
230
240
176
179
185
179
219
146
132
210
238
250
182
187
130
203
230
164
187
266
240
258
145
129
201
228
261
176
160
278
244
192
179
176
203
161
204
141
226
166
180
192
238
195
150
133
146
204
174
166
156
238
209
217
247
160
130
217
191
236
184
168
201
214
173
188
203
154
186
178
158
225
258
229
143
206
205
220
243
244
229
228
164
182
160
166
214
186
178
251
250
130
133
216
184
170
179
129
194
194
208
256
194
204
129
129
145
169
181
129
246
179
236
184
201
227
173
182
187
184
145
236
169
206
176
195
129
229
188
146
166
261
168
160
227
202
194
188
167
138
146
166
149
146
145
209
204
259
206
162
211
164
210
151
203
223
196
210
238
206
221
162
175
248
251
185
223
205
266
176
146
130
166
179
164
210
173
204
247
130
263
183
176
179
173
145
182
263
188
185
167
230
130
239
195
189
179
145
222
225
145
267
213
227
177
225
170
310
145
176
182
234
145
173
180
179
179
183
162
164
192
129
270
141
206
259
228
146
133
204
210
168
143
255
149
150
133
184
261
165
204
180
168
176
195
201
247
196
203
133
207
217
173
162
254
146
229
225
218
146
115
229
176
168
182
181
250
129
175
228
177
184
303
210
146
174
182
173
180
146
129
206
189
237
200
178
167
201
195
146
183
174
229
157
250
168
240
282
204
233
180
203
196
158
210
173
226
302
225
225
208
233
239
178
169
230
283
194
162
172
129
252
204
195
173
174
133
182
204
168
158
183
174
151
164
239
213
209
206
164
130
230
203
182
210
176
176
241
219
176
184
183
222
184
242
204
144
219
179
180
129
191
185
173
204
211
176
160
173
215
146
146
256
227
150
169
122
165
229
129
204
195
143
178
204
248
224
200
225
187
176
129
221
282
242
230
179
179
184
146
143
150
115
203
146
201
231
214
191
217
209
173
182
176
146
153
223
158
232
192
182
145
189
181
168
206
146
209
286
187
158
130
179
201
206
160
133
180
236
174
191
262
156
204
180
193
169
173
133
202
214
292
146
186
180
189
229
200
204
129
193
188
236
173
184
230
227
145
188
196
156
143
217
167
166
263
169
231
196
255
146
161
233
224
151
146
226
260
200
225
143
197
241
191
187
181
217
138
206
250
130
200
166
115
122
184
146
209
217
184
230
180
280
201
225
132
176
146
161
173
166
225
183
200
143
129
132
197
166
189
255
129
206
238
217
169
288
204
205
146
180
164
138
195
261
226
185
150
224
299
267
115
188
204
232
210
199
204
261
204
191
115
173
208
283
210
176
234
255
205
229
144
209
149
247
190
204
178
236
266
173
202
173
241
160
160
173
145
219
146
239
258
230
179
247
214
197
271
216
128
198
176
209
207
221
161
254
274
186
203
211
217
168
115
238
189
200
188
246
128
236
157
173
237
177
253
244
225
172
225
171
244
141
176
176
155
171
169
216
275
201
128
229
200
169
189
175
176
175
180
204
115
216
233
132
199
227
129
282
207
176
130
239
212
176
184
208
133
287
190
210
231
189
157
263
180
176
133
192
179
161
283
169
210
173
186
275
171
206
207
141
222
250
238
188
129
173
181
184
223
130
146
252
187
217
185
203
145
239
188
158
179
171
230
141
175
199
190
176
230
173
210
193
194
202
231
191
182
181
122
150
180
228
210
176
210
225
217
176
147
131
130
169
129
270
122
193
210
192
188
227
182
171
182
129
209
176
146
183
242
146
181
269
245
225
130
172
133
164
259
180
156
191
261
183
169
225
206
173
169
191
177
238
247
195
158
133
161
207
160
164
173
245
211
262
204
173
229
176
164
168
213
237
147
182
169
247
146
157
176
183
204
223
145
211
164
173
192
173
201
187
200
129
179
236
133
190
212
191
181
172
182
176
181
204
204
186
122
259
218
154
204
204
209
173
201
167
156
191
236
263
287
204
237
156
244
231
194
180
122
242
216
186
228
204
173
218
138
328
261
182
115
153
173
262
197
155
143
259
265
129
171
183
177
280
130
216
247
250
182
145
172
182
193
186
193
133
161
201
149
182
221
130
146
212
196
214
176
166
159
133
122
206
303
156
182
197
211
199
149
173
177
158
162
211
138
183
200
235
213
173
209
210
167
248
202
158
230
229
204
130
130
201
210
150
176
169
180
208
156
207
179
173
168
146
160
232
238
210
151
152
130
146
168
254
167
147
264
169
115
211
187
238
199
174
204
146
216
178
210
130
228
133
197
180
172
214
189
145
164
161
183
204
164
173
174
168
192
254
138
236
217
129
201
221
187
174
190
162
184
146
194
220
115
185
206
234
184
239
141
185
244
145
195
261
232
228
129
129
214
184
202
244
235
214
230
200
168
143
217
133
162
166
165
201
145
173
182
206
180
242
194
226
204
164
162
129
168
115
202
176
158
143
165
162
129
187
207
210
159
214
228
176
260
180
160
183
217
164
249
227
225
170
130
130
186
129
210
194
223
160
190
130
173
210
208
176
147
264
210
154
132
190
182
163
214
160
184
160
141
190
138
156
170
168
129
152
188
185
254
163
200
176
271
206
173
168
185
215
201
211
212
158
211
238
231
174
169
183
130
206
146
175
119
219
206
265
160
141
145
273
182
146
133
214
148
166
206
174
227
222
184
190
230
195
217
217
213
176
230
222
131
115
218
199
225
174
238
119
182
176
145
173
206
145
163
348
258
178
163
197
221
137
211
225
187
250
225
122
133
204
233
266
205
230
130
133
228
297
205
195
259
230
153
183
143
182
284
220
146
230
239
184
179
146
285
205
129
141
164
174
195
235
230
248
162
146
147
183
168
225
160
172
235
178
201
274
185
146
172
199
184
173
192
195
183
129
230
274
217
145
254
184
221
258
149
173
236
201
184
180
129
141
155
160
214
200
268
218
154
158
133
228
143
191
179
122
204
173
264
179
214
177
237
207
181
176
165
239
176
192
204
178
261
122
173
179
216
146
130
221
238
204
186
197
129
164
211
194
166
152
256
218
176
303
214
224
187
211
240
208
178
299
190
146
206
133
129
227
266
181
214
164
156
217
171
213
157
229
234
169
129
133
228
225
179
204
191
235
259
264
144
261
179
238
204
190
189
181
221
258
190
157
195
203
173
249
199
172
130
141
129
159
170
192
204
173
195
231
203
218
194
130
206
153
156
195
168
173
184
152
130
268
143
207
150
254
141
173
262
146
225
207
217
171
249
260
183
209
129
178
210
174
207
219
191
210
164
168
183
231
210
249
251
222
160
158
184
271
211
151
224
263
179
225
172
202
168
168
184
144
173
138
176
275
207
224
217
201
129
151
164
258
208
253
145
222
162
252
241
168
207
232
172
320
150
211
275
182
239
194
176
222
241
152
235
213
185
178
204
217
129
202
245
210
189
210
208
200
130
141
209
191
236
221
230
173
153
130
180
208
145
160
175
202
183
211
174
262
156
263
211
158
130
193
232
156
203
182
176
244
115
254
213
133
256
256
153
149
218
129
181
273
180
193
129
209
214
201
216
174
194
174
184
184
217
143
178
157
200
177
249
184
216
217
192
190
191
175
176
189
335
184
195
206
130
200
173
185
179
274
143
176
227
200
131
151
179
130
274
195
218
130
146
143
247
159
132
246
172
129
160
138
193
250
207
133
238
179
207
217
157
199
173
176
181
193
177
184
165
200
218
217
210
218
202
165
210
194
157
130
195
177
170
246
267
180
178
159
184
176
168
287
183
187
178
204
129
129
155
217
205
162
227
202
146
231
194
159
200
158
181
115
201
211
193
215
203
158
169
149
246
201
195
236
128
220
150
130
231
161
250
146
219
223
156
153
129
183
235
218
203
181
143
270
129
224
161
239
200
115
174
178
239
165
230
208
180
179
162
211
130
181
143
129
198
267
159
150
210
183
212
229
223
146
265
133
200
179
217
256
220
202
200
211
298
143
204
147
217
225
130
212
176
188
181
181
146
173
205
194
228
202
202
221
247
298
193
146
190
190
166
222
189
190
191
218
132
266
226
130
129
232
228
183
181
203
230
195
272
162
162
247
145
188
229
228
202
170
231
176
187
191
313
129
162
239
217
218
209
146
230
236
230
214
173
129
178
202
193
211
195
238
215
160
302
170
151
235
184
245
141
225
201
259
185
182
274
211
176
122
255
165
204
163
230
133
200
143
227
197
173
231
261
247
157
251
129
151
166
241
182
210
157
211
222
149
160
261
164
169
233
214
143
184
180
230
250
170
199
184
263
216
238
143
129
202
230
210
182
181
187
224
198
194
195
227
206
184
185
191
217
169
249
156
167
204
264
160
216
143
201
168
215
160
129
176
259
296
191
204
210
227
204
238
240
233
174
164
223
254
239
246
164
233
255
239
146
222
230
185
173
217
202
262
138
263
208
201
185
229
128
263
186
164
149
143
209
190
155
223
264
130
166
175
211
141
219
230
162
236
173
208
238
155
161
217
240
222
211
201
270
217
192
141
206
218
214
145
160
143
286
202
225
149
188
127
169
133
231
204
291
173
171
155
196
182
161
200
190
183
245
193
122
200
130
263
185
188
194
255
178
227
167
115
203
115
184
212
191
183
157
214
220
133
122
182
234
224
261
169
129
149
234
234
160
265
221
251
252
238
208
174
186
158
133
173
206
164
167
179
185
201
232
194
176
146
252
220
206
239
263
150
222
226
130
129
181
203
129
145
217
272
170
187
202
173
246
185
115
216
216
190
204
184
206
162
158
146
202
192
182
185
145
175
206
173
239
130
236
202
189
174
200
160
210
173
143
147
213
180
200
251
115
169
202
145
180
157
201
164
279
129
141
176
200
150
183
183
205
180
237
183
182
173
130
221
152
201
190
173
252
150
130
130
168
213
236
185
168
182
164
129
184
252
201
173
197
183
190
257
164
158
173
231
141
185
162
244
173
209
156
250
280
186
164
239
201
194
248
239
238
156
180
222
156
173
283
169
187
178
180
195
204
174
129
261
222
224
231
146
181
231
219
230
246
173
191
206
253
304
206
193
162
201
156
115
264
217
199
264
224
182
188
275
164
236
158
141
146
129
178
221
183
184
193
178
200
193
211
238
173
181
176
115
184
158
130
183
180
234
191
202
180
179
129
175
130
158
201
202
168
173
187
243
181
129
187
219
129
206
179
203
204
129
176
213
194
203
191
204
133
155
230
178
183
183
220
146
237
261
183
229
160
261
226
168
249
259
204
180
219
143
212
138
185
197
199
193
150
201
186
190
143
206
213
130
202
201
206
168
145
206
242
164
169
228
204
173
184
160
146
210
180
164
185
221
162
149
143
188
195
161
236
159
146
262
201
146
173
146
191
194
190
205
158
188
185
170
129
162
210
146
130
195
173
157
130
200
145
215
182
130
138
201
164
204
202
130
209
155
209
181
179
179
176
130
253
187
232
146
169
198
208
180
225
210
202
199
210
119
184
171
203
151
146
176
236
173
192
218
130
158
201
214
146
213
162
179
201
226
238
236
209
191
115
199
151
261
199
151
182
171
198
158
129
173
216
206
208
161
179
258
146
222
115
158
185
201
129
221
212
129
156
169
233
130
227
277
247
223
234
209
167
256
230
132
211
173
216
223
166
158
264
293
122
217
176
207
174
151
164
192
282
132
231
235
215
176
158
129
206
235
194
180
184
155
206
151
162
164
179
202
184
179
229
257
141
195
227
178
150
209
205
145
187
195
169
194
173
172
128
251
249
335
181
206
248
168
188
163
175
207
217
191
172
195
230
219
168
173
170
202
115
176
151
187
172
180
195
248
184
179
246
210
202
204
184
183
155
173
202
176
173
264
151
231
264
115
129
160
211
210
181
215
115
251
253
257
115
196
216
266
238
189
192
158
130
159
215
146
158
129
189
218
180
219
164
268
185
162
130
158
143
259
238
251
202
144
186
199
195
235
173
194
179
186
190
168
204
199
238
184
207
119
258
191
176
237
179
245
180
206
132
236
261
214
164
282
262
204
209
146
130
172
335
238
173
115
115
225
172
219
238
192
173
203
171
239
233
173
209
202
192
203
221
256
238
146
160
188
164
164
265
182
222
176
210
232
212
208
182
158
161
160
179
166
182
176
146
238
246
231
173
163
190
185
129
158
181
175
184
182
218
143
164
182
245
198
168
210
164
128
235
182
215
169
167
201
264
252
251
187
229
218
236
173
206
183
194
173
232
256
187
188
204
164
173
230
183
156
207
122
185
184
178
115
166
228
173
191
178
261
236
173
204
164
164
230
214
173
147
176
174
174
190
181
283
222
308
159
242
176
208
178
190
239
214
202
179
162
216
129
172
235
258
208
258
145
175
129
209
173
202
168
180
173
155
200
168
244
210
176
180
202
200
173
174
200
191
146
182
228
299
182
184
171
184
263
173
186
174
179
188
145
130
227
172
164
204
242
198
256
150
209
217
211
130
195
129
214
187
146
210
188
212
181
256
138
232
148
204
158
178
202
201
219
145
179
162
188
224
178
294
167
132
141
166
207
221
209
129
172
219
238
253
218
211
206
166
166
258
162
130
258
187
115
204
216
168
146
145
176
205
146
146
178
176
221
173
129
201
148
129
171
191
257
232
235
129
199
216
146
230
194
182
164
189
246
210
227
169
171
173
133
217
185
219
174
169
178
145
222
146
277
156
210
179
171
231
210
146
149
178
222
208
158
195
245
138
230
230
204
246
151
175
220
209
130
255
180
227
244
182
211
237
129
259
170
149
217
192
259
174
190
191
173
146
250
225
130
180
168
133
228
210
164
143
198
207
222
130
281
179
231
182
226
168
240
190
179
190
192
176
229
176
129
183
129
174
173
195
232
176
192
144
236
152
193
187
146
187
184
178
168
216
185
204
183
183
191
204
213
169
176
191
227
239
210
167
200
191
180
238
217
252
200
184
176
168
175
187
191
149
150
201
227
180
209
171
236
133
281
129
204
164
204
214
217
130
183
289
152
152
164
179
162
145
130
200
201
128
241
235
204
211
217
227
152
201
151
185
192
143
133
146
239
239
159
143
182
274
269
204
230
141
160
241
195
174
157
157
158
129
178
122
173
183
198
186
166
206
179
202
145
183
240
208
176
130
211
256
263
139
180
205
155
173
245
146
141
182
201
172
189
115
182
130
217
162
176
247
228
164
130
236
279
199
185
185
264
252
201
204
162
173
217
194
149
156
227
210
183
168
161
200
237
204
201
253
143
187
191
146
224
168
219
149
185
162
181
184
186
240
263
253
186
145
215
115
283
192
164
200
205
210
213
219
155
223
265
198
201
179
250
190
231
207
207
208
180
246
208
191
230
156
168
202
204
182
224
217
143
236
246
129
283
161
122
202
214
208
129
239
115
173
146
171
178
173
254
240
205
145
115
281
236
191
188
122
184
241
219
241
178
271
189
157
130
173
199
176
174
252
158
173
182
231
251
174
229
138
222
185
247
203
143
174
150
130
201
217
207
184
244
187
214
144
130
177
201
162
183
149
185
180
214
187
211
149
211
187
184
173
195
239
182
133
115
194
226
173
171
129
222
172
160
238
130
178
192
218
204
225
178
241
173
200
191
185
204
206
195
115
226
238
164
185
286
222
157
145
217
174
190
184
183
237
192
247
182
210
189
217
146
214
187
189
335
258
232
164
206
240
194
185
173
133
206
211
289
145
169
212
188
179
115
164
187
173
201
178
231
164
168
226
234
262
204
176
214
248
143
217
291
130
169
232
187
176
248
211
194
266
184
236
204
146
198
165
178
300
261
217
146
236
122
180
129
143
229
252
259
168
244
200
145
216
204
235
260
157
172
218
183
237
202
197
224
230
182
200
207
151
115
178
203
216
242
184
173
204
196
176
273
200
146
173
129
210
168
129
218
173
178
168
213
115
206
204
161
152
206
198
190
193
185
115
170
168
146
167
160
277
173
227
179
203
210
253
143
146
206
178
212
246
254
186
161
210
145
239
188
204
145
179
130
210
146
204
200
261
172
222
221
132
178
239
206
183
210
204
214
300
173
152
223
183
169
224
168
217
203
137
157
251
183
151
204
288
256
214
180
156
176
152
130
171
229
132
217
217
184
181
187
213
178
166
176
176
334
182
258
206
230
194
268
189
191
173
223
119
158
168
217
155
206
191
212
250
184
146
230
182
160
188
173
205
201
264
160
146
133
201
160
203
157
230
168
201
161
145
162
195
187
188
201
141
219
171
199
198
223
162
203
168
217
157
146
180
222
143
246
275
182
159
184
228
242
130
211
164
179
187
179
231
204
185
158
209
162
182
256
162
251
227
278
157
173
172
122
257
145
208
168
247
146
157
176
229
163
205
230
194
146
164
200
183
183
211
158
133
176
162
210
171
209
173
283
226
173
167
122
185
130
149
230
181
227
146
176
178
157
205
180
239
176
150
146
197
252
244
204
251
169
232
202
210
204
229
153
176
182
194
189
162
170
210
244
179
242
186
176
231
206
204
129
289
233
115
168
213
238
185
174
166
225
172
188
197
186
283
227
222
204
210
218
179
245
216
129
252
178
152
129
201
131
161
179
169
174
228
201
141
150
179
143
283
247
145
185
195
304
183
200
225
211
158
168
158
133
204
191
309
242
194
191
234
190
214
213
164
141
143
141
200
162
155
192
178
209
218
210
189
122
153
174
161
214
201
204
175
158
239
200
179
169
149
146
138
190
236
155
252
234
176
173
201
166
190
211
222
213
146
122
188
243
200
216
174
206
228
129
274
235
205
199
138
194
165
229
162
241
211
158
133
216
210
186
262
144
231
173
206
202
188
204
190
203
196
210
176
166
217
204
218
210
132
160
130
201
115
130
188
230
158
188
158
160
178
261
185
179
244
130
240
194
254
146
229
173
173
206
173
151
206
248
155
162
199
164
261
146
221
138
201
195
264
209
285
146
145
222
200
251
160
236
186
264
184
210
187
241
182
192
236
129
199
178
184
152
173
215
237
262
146
230
191
192
173
181
214
214
130
180
185
213
129
273
133
202
191
213
203
191
180
236
180
265
157
115
131
168
208
176
202
130
146
179
232
157
206
141
180
150
212
184
210
170
210
190
183
247
180
239
168
256
264
146
264
145
181
256
156
248
130
164
153
130
132
149
133
225
260
204
183
229
225
143
168
188
129
206
188
256
145
152
202
200
203
182
206
173
202
203
205
209
221
174
211
201
239
230
173
190
176
182
211
187
234
212
186
173
234
173
206
201
202
211
149
149
212
147
115
228
161
211
145
182
191
236
248
225
236
204
169
209
195
187
164
214
200
185
204
166
145
184
226
176
204
187
217
138
190
298
176
169
178
230
200
225
211
190
296
191
200
234
169
188
197
252
257
190
158
210
168
146
164
189
211
173
222
232
282
162
184
178
212
179
129
205
230
146
215
186
133
206
201
189
281
292
217
146
191
173
181
233
230
250
217
220
129
187
190
216
162
176
143
205
168
204
129
219
164
130
146
197
155
182
249
188
210
152
226
256
212
201
193
190
200
173
172
129
198
188
230
209
238
225
179
235
192
210
179
179
168
217
211
161
153
178
169
173
204
218
287
209
179
182
194
173
146
204
222
223
166
185
214
143
222
181
133
156
173
129
115
146
230
178
173
144
150
182
233
239
150
176
187
172
230
173
119
158
173
183
143
201
209
146
128
206
275
174
210
155
205
186
217
210
186
190
204
236
227
191
173
217
157
222
179
198
156
146
184
184
202
225
220
238
130
227
228
186
180
191
115
174
129
179
229
184
194
222
203
246
183
236
200
298
205
199
190
205
129
189
130
251
197
217
182
257
191
221
210
263
184
181
274
218
158
205
164
209
248
182
256
213
155
164
244
143
156
201
251
185
184
146
141
271
183
168
217
181
163
262
189
177
210
203
202
173
201
219
220
238
150
204
200
151
215
226
218
183
202
188
201
206
219
171
173
249
151
147
189
206
248
169
173
217
191
138
153
196
250
179
171
196
210
220
239
188
149
189
210
211
178
260
213
191
153
244
205
182
217
233
206
184
222
215
195
176
132
130
143
204
202
217
209
173
185
199
184
210
204
188
133
210
232
130
221
188
130
252
225
208
129
195
184
129
143
165
247
166
234
169
232
158
242
239
167
187
122
260
202
245
183
278
260
207
195
241
182
115
169
297
187
211
189
185
184
191
233
176
189
145
211
204
130
188
231
204
172
179
165
176
207
160
216
173
274
173
191
247
145
133
182
149
130
215
180
210
192
178
179
286
128
211
115
178
185
130
203
214
209
200
209
188
260
211
150
244
146
193
164
201
195
156
165
228
180
229
195
146
195
176
176
203
199
172
229
176
208
217
173
158
173
211
226
194
182
194
173
171
202
158
143
251
146
195
129
154
151
176
195
239
183
129
162
163
189
191
161
180
184
129
202
254
177
133
190
173
185
145
211
206
193
169
181
199
155
182
262
130
243
143
175
146
252
214
158
173
179
198
164
159
185
130
129
146
178
236
206
226
181
192
180
177
193
165
173
225
201
146
204
195
258
176
115
261
215
176
176
186
229
217
212
201
210
128
174
194
238
217
204
166
176
149
215
216
205
207
236
169
187
245
180
238
217
160
201
199
162
234
164
195
160
164
169
173
171
173
173
156
178
150
212
155
211
204
130
204
198
165
232
132
178
157
255
211
258
239
176
218
145
129
189
157
306
184
145
158
224
192
187
176
156
179
168
173
146
162
166
218
195
179
172
227
283
205
130
264
217
236
239
168
180
145
198
130
202
253
307
145
217
248
158
180
184
184
147
203
147
147
176
230
164
193
208
185
168
133
229
215
218
146
236
189
164
157
174
162
173
164
187
156
257
190
146
185
173
215
179
236
242
168
162
129
237
198
262
266
216
177
261
181
141
214
184
156
149
115
189
169
231
197
158
184
202
273
241
217
246
238
156
296
261
155
212
194
190
188
202
156
239
194
213
190
129
272
253
188
173
187
202
145
157
254
167
241
197
271
261
162
130
162
143
197
184
210
217
238
183
176
181
210
210
129
145
183
228
164
221
205
225
257
156
160
248
194
176
238
229
285
146
152
205
189
198
143
206
201
172
200
173
141
222
190
276
202
186
180
171
188
229
162
189
184
187
289
191
149
209
221
163
192
226
191
236
153
174
199
197
146
185
211
207
210
195
204
193
143
173
198
176
201
216
182
210
206
176
141
201
167
238
264
200
231
129
260
264
204
202
146
231
182
195
165
295
145
192
264
204
193
156
190
182
227
202
168
166
173
230
240
186
221
145
184
156
129
231
217
274
183
185
169
262
253
159
129
211
221
158
217
211
174
206
182
189
195
217
239
175
176
201
186
188
206
164
170
221
191
249
130
236
183
211
128
175
220
162
217
236
213
197
169
254
191
299
180
130
252
176
200
236
178
210
146
149
213
211
146
211
197
153
191
194
252
161
156
181
170
180
169
228
174
257
183
179
227
182
169
182
182
129
146
274
190
169
204
179
133
192
186
183
150
185
173
222
212
160
175
221
150
161
287
179
201
180
230
176
202
182
191
177
220
260
130
183
216
147
208
186
164
146
183
160
217
146
168
190
259
185
174
166
161
130
195
216
291
201
176
245
206
211
146
169
154
178
259
210
168
210
184
198
195
208
160
270
176
245
210
206
227
212
214
221
162
129
250
161
176
222
243
227
296
173
229
211
166
188
187
189
191
222
200
146
159
192
160
248
211
195
130
172
179
164
157
200
179
158
238
206
299
189
217
184
234
173
182
133
173
130
208
200
194
224
129
230
173
210
225
201
143
146
208
206
129
200
192
162
191
174
200
162
147
210
201
231
225
172
201
196
146
213
205
210
211
200
173
179
173
155
222
195
205
129
217
213
200
196
130
198
200
133
267
185
182
190
184
179
129
155
198
224
200
217
244
171
246
170
186
160
173
246
258
241
239
151
129
162
129
211
272
182
184
217
174
188
149
263
191
219
210
148
180
167
162
234
190
164
173
182
193
129
267
146
183
232
179
213
194
156
182
207
244
207
195
201
223
236
187
221
209
143
158
156
168
173
201
241
176
143
194
229
204
179
197
248
115
156
215
217
179
141
156
200
133
122
185
162
130
251
254
176
173
211
238
162
164
194
192
236
267
222
275
146
222
221
167
176
158
128
181
158
200
210
250
296
162
186
143
180
229
185
190
146
203
225
173
200
182
189
129
162
155
173
172
210
245
234
270
162
204
182
164
206
258
173
171
189
274
145
143
158
129
222
176
199
161
178
115
196
173
217
171
192
201
218
190
200
264
164
169
129
192
167
217
156
225
187
160
217
173
173
187
242
251
179
183
145
173
130
156
233
188
222
215
225
173
237
202
169
224
156
200
238
141
167
188
202
221
238
188
203
191
163
129
176
155
155
184
179
156
255
205
250
158
193
173
200
222
231
204
192
188
263
130
282
164
238
133
129
210
129
202
206
177
239
176
115
178
141
190
182
162
183
173
229
180
234
232
209
157
130
247
173
269
210
179
210
235
209
133
173
211
184
159
250
238
227
194
183
179
153
173
216
162
176
176
206
229
198
207
173
245
129
202
258
224
179
191
145
150
185
191
232
115
115
167
133
146
236
230
210
221
201
171
162
179
182
176
153
200
159
283
160
133
249
157
256
143
219
176
176
211
158
173
130
173
238
243
175
149
194
236
150
166
168
160
164
190
162
173
133
156
201
141
155
166
260
184
150
244
249
189
176
171
225
180
176
162
167
230
140
150
210
173
195
188
176
246
189
206
119
204
130
157
146
191
173
164
240
146
210
211
197
224
158
164
246
222
192
211
204
129
217
133
210
145
289
231
173
208
203
255
129
209
204
119
239
143
141
171
246
180
200
213
186
209
142
175
163
146
146
228
143
201
191
195
158
164
185
202
182
171
173
190
143
161
209
173
146
143
246
292
210
133
172
217
173
164
129
252
156
197
186
263
251
201
257
325
179
240
204
206
217
195
141
191
139
204
166
212
174
184
169
283
206
129
179
231
230
210
192
216
129
191
206
230
146
202
183
183
171
226
132
218
194
206
151
201
184
168
225
194
147
201
238
206
146
212
173
192
219
191
202
182
199
153
190
143
229
215
191
129
203
129
198
195
129
168
210
255
200
147
145
146
171
264
183
170
129
219
166
130
214
173
176
199
200
131
164
206
183
242
143
238
195
227
175
191
212
230
224
221
158
198
222
179
236
201
207
245
206
178
252
129
287
184
202
176
226
158
169
236
194
229
180
210
138
180
230
178
192
199
297
262
209
242
184
154
179
208
146
173
221
130
204
258
193
230
195
236
146
220
214
228
241
152
205
266
271
275
199
217
172
239
146
182
197
214
146
138
129
173
156
200
168
282
217
153
156
194
196
186
270
129
207
244
162
211
146
129
130
183
222
202
206
176
129
205
188
217
168
166
128
200
151
250
187
240
183
271
206
182
231
146
129
164
222
230
187
162
210
195
219
247
201
188
179
192
129
221
174
197
165
163
204
146
226
209
183
184
133
185
143
202
176
183
244
183
175
185
176
204
150
200
232
183
176
234
200
240
129
239
262
190
249
169
184
130
146
220
129
227
169
206
174
202
306
191
195
213
259
200
169
194
274
214
185
143
236
237
204
176
146
185
176
182
166
115
175
217
181
130
244
211
256
204
143
166
247
210
231
225
174
193
173
244
173
175
141
191
204
204
181
143
208
203
221
170
198
192
133
202
197
186
143
211
224
193
164
209
211
238
322
130
173
231
208
146
173
173
195
143
176
182
239
146
223
219
181
264
171
179
169
201
260
246
184
173
204
216
181
156
231
225
164
218
232
234
184
213
162
227
328
196
217
201
202
248
130
202
259
156
238
170
176
194
195
133
182
173
212
216
167
158
192
195
245
335
130
145
231
115
204
215
247
219
206
250
179
196
201
146
177
208
204
239
195
227
230
167
178
143
169
182
173
267
130
148
129
146
246
201
145
231
312
138
259
178
195
158
215
275
235
202
180
164
217
194
189
115
217
143
181
202
241
158
234
188
122
173
158
133
149
204
181
164
201
196
181
238
212
164
130
183
354
186
130
174
235
158
164
146
209
275
145
193
256
212
224
202
270
255
282
183
182
133
167
129
209
195
255
177
207
185
150
167
122
243
162
214
185
146
173
173
185
145
243
285
198
212
115
183
182
214
258
242
192
149
200
192
166
184
202
130
192
206
185
180
172
129
191
266
216
251
188
191
142
225
205
171
247
238
129
129
145
180
147
152
176
225
191
146
238
211
211
130
242
233
173
215
176
288
223
167
178
192
174
119
156
158
193
209
215
115
192
197
160
202
115
182
156
229
258
259
177
176
185
210
164
176
256
231
217
235
129
172
180
218
179
233
173
158
252
192
256
166
257
208
173
227
210
183
138
201
115
231
173
182
203
204
133
234
189
196
240
184
164
184
166
174
122
202
160
201
204
201
254
132
162
229
300
202
200
176
180
210
115
162
225
209
219
155
141
189
210
176
187
162
201
248
175
242
200
232
255
158
200
145
178
246
210
207
150
147
176
161
173
158
177
185
241
130
222
239
130
144
188
168
190
168
261
146
185
164
145
247
204
146
216
209
317
168
217
160
191
191
206
191
204
228
237
146
283
181
193
204
239
145
169
210
216
166
239
176
129
272
199
214
129
217
161
181
238
174
133
217
223
168
201
168
189
162
181
177
158
188
145
130
217
204
242
241
264
216
230
251
182
168
227
129
145
217
211
181
191
211
217
209
192
146
167
238
173
171
146
259
130
211
156
217
185
187
156
129
264
174
232
239
173
145
174
151
183
248
143
204
186
191
149
296
145
182
210
138
195
153
233
210
169
179
234
183
166
146
161
168
185
159
133
130
146
160
219
227
210
162
174
227
182
161
244
191
252
217
133
193
184
216
188
221
133
260
146
227
272
170
129
212
335
173
221
164
161
164
179
186
115
186
146
182
150
185
191
155
129
247
253
164
184
233
160
184
162
202
189
236
146
224
238
133
195
232
176
222
146
201
221
165
169
225
238
200
130
222
158
205
179
206
200
221
179
182
173
158
234
184
173
193
146
184
218
153
178
177
211
273
192
218
220
253
217
210
204
217
334
208
170
167
210
157
214
169
235
169
170
255
146
204
180
176
209
217
209
207
190
186
182
190
204
216
200
191
252
200
221
187
184
191
164
211
203
204
122
188
187
194
176
173
224
222
201
208
193
210
210
210
275
222
236
176
155
217
161
164
164
186
201
233
273
129
239
171
145
190
167
266
146
146
167
184
205
141
249
188
188
181
264
191
130
163
238
247
245
242
274
115
230
194
249
173
196
257
193
217
173
115
153
211
213
209
157
200
129
189
130
133
172
209
150
130
158
145
224
184
196
217
238
146
222
176
195
210
173
150
214
187
129
171
170
129
239
178
143
198
173
188
207
159
195
239
180
146
221
138
187
150
155
204
150
204
325
211
149
251
133
172
214
176
260
239
229
208
130
285
198
179
231
202
146
205
178
177
225
176
178
225
122
208
201
228
238
129
202
165
227
129
172
203
180
182
130
179
197
218
173
229
181
234
148
173
194
168
207
115
209
210
176
214
193
146
176
186
173
200
192
202
210
180
204
217
173
205
214
129
130
236
129
183
168
179
115
288
146
159
169
216
214
182
149
176
212
198
254
133
176
218
171
300
129
237
130
151
185
205
143
200
161
266
167
230
216
186
164
197
150
249
173
176
178
138
132
250
190
183
206
158
211
253
177
155
191
173
190
155
261
222
217
188
241
222
129
186
229
277
206
193
203
204
239
247
244
173
146
191
236
145
163
179
204
213
280
165
146
253
176
169
211
201
179
209
181
216
203
214
176
183
206
170
194
188
213
276
225
197
133
274
130
173
217
173
203
141
130
176
176
145
200
229
178
129
226
216
162
197
129
173
191
167
247
218
184
178
205
202
239
180
157
230
214
190
190
161
182
129
162
209
130
194
131
171
217
210
162
264
245
146
172
231
256
215
203
179
146
201
176
115
257
207
239
161
184
183
161
227
160
145
247
203
179
226
230
173
194
239
156
180
183
234
146
245
200
232
193
202
229
191
132
172
206
176
157
176
179
191
192
236
194
217
216
205
161
234
164
182
229
157
184
200
225
141
130
211
222
228
184
201
200
133
173
176
169
230
191
195
205
183
173
237
188
180
160
168
211
170
165
201
180
122
287
130
188
236
194
217
159
191
183
180
235
146
176
229
218
225
145
152
163
168
144
167
188
158
223
174
200
228
182
200
238
156
176
232
173
225
162
218
188
162
238
129
133
227
151
174
208
243
211
219
190
201
203
180
201
176
186
236
229
234
145
211
168
155
183
187
303
197
191
197
202
156
242
173
115
173
178
208
145
191
182
182
151
173
194
178
218
230
209
174
172
155
239
280
160
176
164
254
160
185
172
115
184
206
217
130
195
130
273
229
244
217
155
145
261
153
214
230
173
143
198
171
129
191
156
231
131
192
143
218
176
186
145
214
255
218
217
130
202
256
236
260
185
227
258
143
177
263
197
133
222
249
202
201
141
183
288
138
227
115
150
212
211
129
191
198
141
184
168
183
115
239
129
168
195
129
143
189
201
130
191
232
202
218
156
194
161
241
168
180
173
143
115
256
130
119
151
186
201
173
164
145
179
176
163
155
172
230
191
168
201
115
286
300
197
223
217
175
182
273
226
145
146
222
191
275
193
173
185
181
205
130
230
158
214
231
178
115
201
175
244
162
228
146
176
230
162
190
204
210
277
206
210
172
192
162
250
146
150
193
168
141
210
155
182
204
143
221
173
141
234
149
179
219
246
233
201
157
189
216
211
194
145
238
240
173
246
222
210
249
133
274
244
214
192
129
146
172
162
218
197
161
131
170
202
130
209
210
210
239
143
171
147
206
192
230
168
200
156
164
170
146
173
187
130
146
258
246
190
264
158
241
169
138
214
227
257
201
162
129
146
313
278
218
205
129
132
193
248
174
191
205
159
186
262
191
207
141
175
185
155
209
210
158
200
164
234
197
184
180
262
187
192
259
227
264
157
202
257
265
199
210
321
217
167
210
163
242
145
176
186
181
178
208
210
138
204
180
257
200
153
235
238
191
191
215
173
207
152
222
221
206
202
189
234
145
155
191
164
146
192
234
209
141
236
180
232
145
246
190
255
170
156
183
174
166
173
219
223
239
228
145
210
228
195
236
128
151
168
221
131
146
158
197
229
179
210
146
218
115
217
202
201
164
208
175
143
185
260
229
248
129
210
256
194
203
170
201
175
237
166
182
200
188
243
218
169
171
207
156
227
179
183
170
171
214
191
143
133
149
202
287
188
166
146
128
206
175
207
183
236
220
170
166
222
160
192
218
210
167
246
185
200
162
155
180
233
173
195
158
193
191
182
168
238
129
176
168
151
226
132
230
242
176
212
256
149
179
183
199
220
266
228
115
217
194
211
143
173
162
129
178
146
189
204
277
203
199
130
283
271
194
133
232
210
173
204
168
156
210
216
146
206
274
160
129
211
169
173
221
191
236
201
155
173
175
233
193
178
127
147
221
183
128
186
197
211
202
215
335
210
186
202
184
208
138
217
133
145
181
129
211
283
162
203
130
179
188
207
173
263
173
256
242
205
236
255
220
133
164
210
230
226
170
177
148
226
224
129
175
238
227
143
169
256
260
281
122
204
202
206
189
184
244
157
166
201
287
173
162
186
129
247
197
173
198
237
220
217
239
170
192
210
186
173
168
175
221
161
145
202
155
160
141
170
160
281
185
188
201
129
209
303
130
156
241
166
130
179
212
129
255
132
189
162
210
200
206
193
221
206
202
130
145
130
173
130
133
202
152
146
182
176
155
176
130
184
238
217
219
130
217
210
193
179
194
158
193
230
255
257
192
133
219
174
203
192
170
176
202
228
200
261
239
237
242
204
227
153
234
225
191
201
176
179
204
267
234
249
170
130
223
189
176
236
195
204
267
193
198
232
149
235
146
156
316
200
259
253
222
201
129
234
182
238
176
143
129
183
228
173
191
173
222
267
211
226
180
151
145
146
150
241
252
147
239
187
208
157
231
230
150
275
130
185
200
178
219
175
207
217
236
207
211
229
185
178
161
246
162
155
239
274
157
222
225
206
130
173
184
182
146
221
180
219
250
206
208
244
224
213
179
146
204
272
206
177
201
164
190
288
158
203
261
180
259
238
261
188
129
172
193
217
129
189
231
264
146
157
168
115
230
288
183
151
228
169
148
144
188
198
214
210
209
230
152
275
265
246
239
130
160
122
239
173
230
129
219
176
217
235
190
204
190
204
170
257
204
172
145
160
129
165
173
206
266
173
242
234
162
295
188
210
246
129
264
155
200
169
179
188
222
211
156
224
156
173
191
130
186
130
173
172
241
211
168
250
145
217
181
238
219
183
231
145
176
217
129
238
138
211
225
219
187
213
161
130
145
166
173
282
183
191
179
175
204
193
162
214
193
130
187
150
210
146
271
162
177
254
165
155
180
181
155
226
211
150
212
217
236
195
146
172
183
195
129
217
229
238
169
143
181
183
150
199
185
176
158
179
190
209
221
283
231
236
185
185
171
238
173
145
176
115
145
147
212
288
185
151
194
245
204
158
155
128
173
162
185
157
174
262
206
180
137
178
176
158
239
138
240
210
238
215
264
129
168
335
141
203
164
186
203
176
133
173
177
214
173
157
168
184
191
215
176
201
146
200
236
145
128
164
221
227
129
239
146
241
187
129
205
236
177
252
191
209
133
130
197
168
200
229
173
185
133
191
189
200
130
171
149
145
153
258
197
158
219
251
209
201
205
146
169
212
232
150
192
167
201
230
179
184
208
335
204
218
206
217
274
155
206
202
178
199
200
146
133
231
227
206
186
115
176
173
166
115
150
254
143
303
263
176
193
115
176
145
222
158
156
200
146
244
201
197
186
173
259
168
169
319
231
228
184
204
146
219
133
208
284
190
217
187
242
173
229
201
194
214
204
232
170
130
179
180
271
212
168
180
215
156
190
146
183
299
211
229
171
183
176
248
210
221
180
217
246
185
264
200
261
241
235
151
162
195
192
168
263
189
218
253
204
204
129
190
182
205
185
155
147
227
230
217
260
286
186
295
132
157
211
218
182
217
130
180
228
179
188
168
227
198
152
183
179
238
181
206
150
150
277
261
200
219
119
206
182
161
192
226
339
185
143
192
225
206
244
205
236
176
225
169
217
115
133
151
164
217
115
146
143
190
181
191
180
156
185
234
180
181
210
210
212
171
263
130
172
179
183
258
210
174
231
199
171
217
238
235
146
164
115
200
146
258
176
160
232
222
130
149
192
182
207
173
145
158
244
217
133
275
184
133
216
180
166
216
202
213
168
161
157
267
271
174
222
176
224
202
145
176
165
254
145
173
182
166
188
208
179
153
255
211
122
255
222
168
175
254
130
212
129
221
221
151
164
184
191
155
283
225
191
218
213
221
246
197
206
169
158
267
180
146
129
222
115
209
162
130
146
177
206
185
211
129
211
191
133
194
162
241
153
164
248
211
130
304
251
174
204
233
252
235
178
165
176
129
280
138
200
206
169
146
157
200
221
170
200
214
234
206
115
204
240
276
146
129
201
217
216
246
179
182
168
168
130
199
182
226
207
218
245
235
155
199
208
202
217
162
146
259
335
173
236
208
156
207
217
209
161
238
146
230
207
119
161
195
206
158
130
184
140
158
182
200
198
236
145
169
159
143
150
214
141
166
155
187
146
133
173
150
130
201
184
177
244
209
186
210
210
223
258
169
235
339
164
149
176
236
250
155
256
259
201
164
225
204
210
115
176
164
145
129
166
208
217
187
227
202
147
185
146
217
172
129
202
171
178
233
192
115
173
145
268
184
193
130
173
194
258
219
158
206
141
129
192
176
155
122
188
209
203
203
222
210
130
252
115
201
225
166
217
173
217
181
202
176
210
262
161
239
216
200
140
180
173
219
256
212
182
207
187
168
160
194
168
153
231
177
176
313
217
177
195
210
206
210
205
211
197
195
204
164
214
266
146
217
146
160
130
297
191
153
155
182
147
181
146
199
209
115
202
191
234
226
222
147
217
205
154
255
173
183
207
146
205
174
210
205
143
176
217
252
274
274
198
178
150
185
174
243
214
138
195
174
257
266
243
141
164
180
236
242
214
156
275
213
210
157
162
202
155
206
115
210
182
256
176
207
184
162
213
238
216
287
178
182
230
226
212
173
188
182
230
175
204
158
147
204
173
129
129
241
168
253
303
172
156
179
180
236
219
173
166
130
191
155
146
239
160
156
204
191
178
144
206
187
231
217
217
167
180
156
251
173
264
173
203
130
166
197
261
275
188
146
209
226
176
201
185
122
278
157
203
168
164
185
146
210
168
275
173
164
204
155
247
130
133
335
187
129
238
197
200
254
132
190
180
225
191
215
138
183
202
173
165
217
242
200
141
163
173
206
262
186
152
219
204
204
143
143
208
185
260
210
210
130
173
248
180
222
222
155
201
211
204
130
115
130
187
212
156
179
274
130
173
240
236
209
184
183
236
157
218
183
162
206
224
204
201
182
146
243
146
115
200
185
211
158
202
178
178
181
199
204
130
157
173
165
237
239
233
233
164
181
259
216
262
238
201
210
209
133
167
179
208
172
189
173
230
274
235
188
166
244
178
264
160
189
189
253
179
160
129
212
119
193
130
191
191
202
158
172
240
186
249
233
162
129
153
171
240
181
146
146
145
168
180
210
226
188
171
295
130
207
178
204
240
180
145
176
237
201
156
191
200
247
173
253
191
200
256
229
252
210
225
141
162
138
222
188
256
217
264
169
143
176
179
184
263
168
217
183
169
202
208
208
225
180
213
231
173
236
190
179
247
192
164
238
161
202
191
210
229
261
146
181
180
145
188
143
177
206
204
211
180
229
200
146
202
204
145
184
214
191
157
197
225
238
184
255
155
180
146
205
156
225
179
187
261
130
191
239
173
202
166
182
209
227
129
130
146
173
171
185
144
162
230
208
221
243
122
239
216
217
168
183
182
133
160
179
132
168
203
130
210
158
194
239
178
227
238
133
133
183
173
173
174
180
129
161
204
173
173
145
130
173
180
238
133
202
189
208
166
190
172
181
208
181
185
231
233
213
129
211
155
173
280
213
244
204
182
241
181
218
189
146
214
184
283
185
162
159
168
164
184
222
149
138
130
173
269
173
173
172
146
158
204
225
192
177
230
180
145
173
143
241
160
233
217
161
189
176
180
217
146
170
192
145
208
210
242
206
144
186
228
115
263
122
195
213
197
197
183
179
201
169
185
210
184
253
200
188
210
211
210
182
130
187
192
179
202
168
204
143
190
218
250
177
129
130
215
190
162
133
180
149
173
176
212
273
181
133
211
206
129
230
189
174
208
169
191
173
203
271
233
172
150
218
196
179
193
169
138
160
160
253
170
202
226
143
201
176
231
138
234
178
169
255
167
264
201
143
184
168
179
271
263
133
181
151
217
231
206
218
192
280
160
214
203
181
145
205
222
146
176
180
168
133
164
317
210
122
178
203
189
162
201
155
161
231
214
161
204
216
122
171
206
186
258
203
278
210
216
217
200
190
168
193
178
176
143
200
202
180
201
173
285
148
236
219
166
187
129
227
240
129
122
146
175
225
240
155
162
164
204
133
180
194
214
230
227
195
176
198
175
211
146
180
287
152
185
160
168
278
204
185
185
216
155
199
170
202
313
167
179
201
156
256
217
192
187
219
221
172
173
230
202
160
180
158
191
168
198
145
210
168
211
216
248
204
129
222
146
162
182
230
202
238
122
208
173
195
201
200
156
208
203
229
244
193
212
147
165
196
164
182
275
157
242
192
210
235
242
259
193
210
216
198
144
167
232
173
230
258
130
145
184
217
180
176
144
225
247
158
155
176
237
186
195
149
183
194
130
168
115
176
218
287
246
229
172
176
167
210
211
129
238
236
141
164
180
170
168
232
191
204
226
176
119
130
192
173
178
204
160
150
283
183
260
243
274
202
189
176
274
218
216
150
252
204
233
259
193
225
149
232
128
186
229
164
190
271
168
130
191
180
217
188
180
181
174
172
129
179
182
180
181
192
138
146
188
205
168
185
145
229
206
168
129
133
215
142
164
244
239
182
210
145
201
182
258
162
188
146
156
270
291
204
178
225
163
176
168
130
201
130
266
173
274
173
233
217
253
177
201
211
206
163
176
206
214
203
217
182
335
230
184
281
210
153
210
170
141
211
265
182
143
172
253
129
233
205
176
220
149
178
203
166
206
217
158
204
159
227
130
164
186
210
240
249
155
173
178
216
230
212
146
204
200
151
176
155
119
227
169
190
184
130
173
209
182
129
187
210
219
231
179
179
195
205
182
202
179
270
191
171
233
184
230
162
211
219
180
141
166
346
200
185
209
156
200
206
216
176
182
146
190
210
186
202
208
168
175
204
250
183
209
169
178
160
210
207
224
155
147
303
251
189
247
130
202
132
190
222
231
155
194
227
184
115
173
262
173
261
130
186
247
185
225
172
204
188
182
190
176
200
115
128
191
130
182
215
115
185
150
217
173
283
200
130
201
183
200
173
178
225
222
129
173
230
247
130
210
217
159
161
190
265
162
155
204
194
130
217
176
176
285
194
213
198
164
164
170
178
173
190
210
258
213
164
196
187
202
146
141
173
168
211
132
183
180
207
160
146
173
215
184
200
271
178
195
197
261
216
219
146
226
141
204
186
130
220
162
239
164
169
158
146
211
129
155
188
129
169
185
180
130
130
174
115
227
204
187
189
130
203
150
179
158
176
200
164
241
178
190
213
164
192
173
184
199
194
129
213
203
201
267
202
197
179
222
191
230
239
240
146
208
184
186
230
247
202
159
190
179
207
194
151
193
230
198
258
133
187
179
146
206
231
197
146
213
141
191
153
185
178
129
210
216
238
133
184
161
130
243
222
183
192
169
129
221
197
228
145
235
215
193
143
144
214
228
218
164
202
210
211
143
138
214
270
206
204
115
184
155
129
206
249
183
260
201
146
264
189
176
146
176
169
145
215
210
129
267
211
158
145
214
206
175
193
185
166
150
180
208
127
198
179
162
222
240
183
183
170
115
211
155
172
221
234
204
168
130
198
129
150
201
179
165
214
129
164
147
206
155
130
156
198
164
209
130
217
224
236
153
162
205
191
197
182
200
268
132
217
183
229
192
203
215
213
222
280
179
242
151
202
227
221
208
202
168
210
217
195
167
129
190
161
211
194
209
202
181
157
230
178
223
238
212
129
176
182
196
304
233
202
200
169
211
161
149
184
141
296
228
195
260
213
212
173
256
203
202
204
145
209
234
170
185
186
156
149
153
227
158
182
176
225
223
179
232
197
211
145
222
200
192
176
166
217
227
180
146
186
173
200
188
171
190
176
243
122
229
238
130
130
167
175
226
201
190
211
192
190
200
166
168
168
201
292
161
204
141
254
188
158
156
200
185
185
202
183
130
185
242
177
207
205
191
213
164
213
335
202
158
168
167
206
219
176
222
173
208
157
253
159
146
185
130
195
189
146
143
204
228
168
244
193
228
173
187
145
210
213
214
130
226
200
274
200
129
206
201
202
200
228
155
335
170
130
241
182
181
143
150
213
179
184
275
228
216
200
137
176
191
203
164
228
233
241
133
208
200
163
286
211
209
213
193
133
211
164
245
151
146
204
182
173
138
202
185
236
144
115
201
173
273
129
182
166
189
248
242
202
169
173
162
162
150
282
217
146
218
184
173
207
235
150
213
189
146
200
221
153
162
184
201
122
194
173
182
180
227
204
174
150
252
297
115
229
186
258
144
227
181
195
200
179
168
175
251
242
153
195
197
261
272
207
194
173
184
264
191
225
152
196
247
162
250
146
176
173
183
130
153
211
146
173
218
196
169
233
180
187
239
162
226
144
211
176
237
198
173
189
271
194
122
200
264
202
179
195
180
203
213
172
171
179
159
216
191
146
183
194
182
241
156
168
198
226
174
201
224
167
221
257
275
138
204
130
227
185
218
206
168
168
122
222
255
176
119
176
217
190
162
220
203
234
194
188
159
129
190
180
186
229
168
232
147
187
230
176
169
202
221
222
156
180
222
182
168
191
146
260
210
159
168
150
204
144
212
164
183
232
178
194
200
200
217
214
173
173
221
146
188
164
155
211
143
221
176
206
186
145
130
258
239
192
168
197
193
244
236
146
217
199
182
227
217
204
184
129
146
204
217
209
145
201
186
250
208
138
254
183
200
200
260
281
191
269
204
143
179
192
145
173
169
162
236
249
190
208
157
184
172
264
145
192
184
178
211
173
184
173
162
184
230
182
204
200
115
256
119
227
133
188
190
168
204
197
246
237
206
184
264
297
207
217
232
322
162
211
182
166
194
191
164
173
212
192
129
213
327
214
237
153
143
202
129
192
145
155
138
210
176
143
182
184
196
183
115
156
242
164
178
173
216
158
179
210
198
166
164
239
202
157
176
197
151
202
181
231
173
216
162
129
202
173
212
217
225
122
211
133
179
204
158
183
289
164
156
193
212
242
209
194
176
289
176
246
176
188
259
181
201
235
185
145
211
227
191
219
145
173
203
219
132
193
178
206
194
175
239
130
170
272
212
256
173
249
246
191
252
237
194
211
214
202
214
206
171
168
280
164
199
181
238
287
200
143
217
186
168
193
161
129
186
198
174
143
178
256
260
210
255
133
183
145
231
173
236
211
130
174
181
130
145
204
173
191
222
237
130
176
192
194
169
203
238
162
193
289
199
216
197
168
128
173
213
176
196
188
155
176
232
303
260
176
133
191
172
176
155
221
115
238
235
203
162
173
187
204
201
184
173
213
227
210
276
196
145
180
211
256
277
217
156
185
203
164
146
215
129
173
188
260
168
218
129
204
163
229
159
191
177
173
195
205
200
274
212
173
169
170
183
191
181
173
230
164
185
202
230
225
264
232
173
204
185
193
217
193
133
274
169
202
236
146
204
129
162
190
164
149
269
250
197
158
129
184
173
295
247
138
156
231
162
236
219
130
183
252
210
185
175
201
194
146
206
174
182
234
149
221
250
155
230
152
179
115
206
188
201
211
183
195
180
176
248
180
176
162
191
178
186
210
190
201
181
162
156
210
133
185
202
173
262
173
222
193
130
236
173
229
219
232
115
240
287
141
122
202
190
158
205
185
176
160
212
191
199
181
231
210
206
211
236
149
227
132
180
179
179
119
213
156
130
210
194
205
193
204
145
177
200
268
192
210
207
185
250
187
206
191
170
164
203
162
212
242
257
203
180
173
182
234
146
141
200
141
184
226
132
209
187
144
176
129
141
210
165
204
195
173
149
129
266
184
202
197
145
210
129
210
146
169
238
251
183
133
250
187
196
145
230
231
202
156
199
164
186
210
173
128
194
239
183
181
129
146
189
191
231
166
186
230
165
241
138
293
130
190
168
247
194
194
195
130
200
202
221
185
149
225
214
145
179
195
129
216
216
263
181
129
219
146
207
261
145
211
283
219
173
173
200
259
247
178
187
173
219
239
180
194
229
182
217
270
174
152
214
267
175
173
129
238
175
203
191
168
184
143
197
144
179
130
171
145
210
204
210
173
173
146
249
130
130
207
204
173
222
131
193
200
173
213
133
249
133
188
274
160
222
143
210
238
176
237
245
144
194
179
162
264
216
251
222
146
228
152
225
231
169
195
181
185
146
115
129
180
182
132
258
186
258
275
168
161
176
138
184
185
249
200
129
229
131
245
176
193
186
133
152
170
234
158
146
204
176
168
247
190
145
192
149
266
145
179
205
149
130
199
179
173
170
180
187
179
281
129
218
162
169
177
210
201
180
242
335
201
160
129
221
206
173
143
182
178
145
229
204
169
190
133
158
223
248
184
158
204
179
172
180
216
222
162
195
239
119
202
184
225
189
226
176
215
200
203
176
170
260
172
166
274
138
184
211
210
181
130
143
174
147
115
204
195
179
194
216
162
129
184
218
146
122
175
204
133
115
225
191
221
193
181
146
183
234
222
130
217
176
242
261
211
204
217
203
145
210
129
258
215
217
237
187
179
173
324
176
187
215
250
218
204
176
191
204
254
176
173
256
211
191
191
236
335
203
130
181
176
204
199
180
259
207
173
178
221
206
209
115
235
294
191
211
246
258
225
158
228
140
208
277
174
159
173
274
250
177
236
226
163
228
276
143
164
191
146
181
201
156
203
182
184
165
192
115
184
271
239
167
202
228
245
195
173
197
207
168
211
191
148
222
176
164
143
175
194
207
303
220
166
171
229
204
205
209
173
216
141
201
133
213
202
210
253
157
282
164
211
141
167
195
231
177
192
217
206
184
245
212
267
261
130
212
173
259
164
181
200
169
194
151
181
130
176
221
179
229
215
176
166
146
131
200
226
204
168
188
176
164
146
189
259
185
226
204
213
238
226
177
185
176
201
210
175
150
130
222
204
133
259
251
164
178
210
290
186
211
277
225
195
130
195
173
185
204
168
181
168
160
133
140
232
144
204
260
184
176
146
146
231
172
231
129
144
186
173
206
335
202
228
217
181
188
163
238
183
130
304
233
179
164
168
260
185
217
166
282
174
149
150
192
230
210
199
258
146
231
185
209
185
225
181
214
155
214
182
199
156
209
269
179
184
232
199
231
183
225
230
296
202
263
193
173
168
169
146
155
162
182
156
162
187
223
170
206
185
218
189
129
264
162
236
173
146
171
209
149
201
145
153
115
180
210
237
145
222
210
147
216
201
203
227
163
138
227
229
179
145
162
145
200
164
210
269
170
190
145
179
162
249
173
170
211
168
201
204
133
204
204
218
218
191
210
209
197
129
145
132
182
130
130
174
187
239
181
130
143
160
183
210
173
158
210
219
166
217
133
353
223
184
225
170
151
206
214
221
206
220
182
182
168
186
129
176
205
130
217
195
168
242
141
230
198
222
217
182
168
168
173
164
274
173
201
204
202
202
227
146
191
182
249
143
228
153
207
176
222
287
130
149
145
186
158
204
183
130
178
205
182
129
155
186
213
236
217
191
184
242
213
246
171
143
176
151
182
182
200
258
173
176
179
141
176
129
191
180
255
155
264
166
265
246
214
181
173
216
146
130
130
184
201
155
181
257
146
130
208
195
143
212
155
201
155
220
176
181
202
186
151
163
192
264
188
267
178
164
220
209
130
186
236
147
166
146
219
173
143
197
158
147
168
204
187
210
236
157
202
210
157
222
198
183
173
197
165
211
224
129
257
176
189
129
130
200
146
225
155
129
194
176
210
193
144
206
273
226
229
194
248
232
186
162
217
155
201
215
209
223
210
228
226
231
200
233
160
157
180
214
185
210
238
207
265
231
186
119
178
204
184
254
197
176
201
188
228
224
253
206
206
158
239
203
241
219
144
176
160
186
206
239
159
234
224
150
199
129
156
205
209
258
210
122
199
195
129
183
184
129
158
173
195
236
174
212
168
207
146
133
146
265
228
162
199
173
226
222
130
246
236
191
209
141
149
238
226
235
167
190
275
157
239
130
218
174
146
181
191
130
264
130
173
208
239
243
205
179
260
244
228
214
164
196
122
185
222
173
197
115
145
115
227
206
210
236
252
202
244
240
259
178
165
194
183
210
217
245
199
188
184
214
129
187
190
146
182
212
149
168
202
183
180
218
213
176
194
143
169
210
179
205
151
204
251
200
190
229
187
182
171
164
282
162
256
213
183
211
173
178
230
239
155
149
194
129
166
195
224
130
251
267
208
235
155
249
170
179
183
249
229
145
211
204
129
146
156
259
178
145
202
204
235
179
243
201
173
210
217
215
182
130
241
217
228
143
234
146
130
213
228
217
237
176
168
191
226
151
159
273
129
164
217
236
151
173
220
220
181
146
217
219
162
222
238
146
166
168
186
171
186
250
168
236
209
155
182
241
260
170
145
164
214
213
173
138
239
188
282
192
199
145
194
300
138
146
176
201
189
230
169
180
150
146
201
144
179
230
162
174
190
200
213
132
243
210
156
143
218
195
230
179
231
240
182
236
229
183
200
221
173
179
203
215
206
242
130
195
210
185
166
173
197
227
191
203
209
200
210
213
248
129
173
138
152
162
179
215
155
184
213
147
217
185
188
145
193
202
122
281
230
201
115
141
193
202
191
168
155
204
204
185
179
141
133
235
173
184
184
166
252
278
166
173
185
141
173
167
195
173
193
245
141
208
201
218
184
248
130
204
122
184
162
225
153
129
138
214
211
152
130
209
144
199
201
277
176
227
213
227
191
172
132
200
179
133
182
209
185
167
221
189
180
240
197
150
182
146
179
197
177
218
166
143
198
230
176
198
157
259
230
146
210
187
130
173
203
219
210
130
167
159
231
210
165
245
173
229
145
281
199
168
182
173
212
226
267
204
179
217
211
239
202
225
203
222
238
215
227
210
275
200
157
146
129
206
223
162
218
206
215
176
192
206
227
164
219
211
188
173
145
184
184
179
208
274
246
183
189
153
130
217
247
130
263
146
235
191
188
208
232
223
210
238
166
216
179
221
129
173
133
143
185
200
276
164
172
204
208
159
191
182
203
164
210
258
173
204
210
173
214
214
155
202
187
130
156
164
145
172
194
211
183
222
178
189
191
238
129
284
240
236
213
132
266
217
217
133
145
190
166
158
189
130
187
146
149
182
229
164
166
198
210
173
236
180
176
185
216
221
162
164
266
242
176
178
244
144
164
232
168
265
236
133
176
287
179
176
183
215
181
158
227
247
185
152
208
192
122
190
204
279
178
201
214
181
202
172
210
238
216
146
287
141
146
146
195
362
190
206
181
143
240
265
130
241
159
203
176
188
201
174
146
209
203
115
171
152
179
195
201
199
266
210
145
227
214
219
277
155
274
188
170
146
222
227
285
202
166
200
183
122
132
192
129
160
130
263
202
206
186
250
162
207
252
199
173
184
129
130
185
194
176
185
201
177
158
189
254
236
214
231
238
173
156
229
210
132
190
179
200
168
129
158
180
173
194
156
144
146
184
147
214
209
115
173
190
234
204
173
146
129
185
208
250
227
180
181
129
247
230
236
160
246
228
189
204
206
222
191
243
225
165
156
341
210
180
286
214
144
227
158
195
185
229
180
266
167
160
173
179
129
129
217
173
192
173
200
209
204
179
229
173
211
154
129
257
180
146
168
115
229
164
216
271
208
204
115
132
158
209
201
229
268
180
168
179
232
157
191
174
176
191
210
164
204
255
155
265
218
179
225
189
183
209
203
185
178
171
239
219
145
149
130
157
180
182
180
200
199
188
252
132
176
129
138
180
210
185
133
192
189
173
151
156
173
138
229
210
210
199
217
210
172
222
194
173
181
206
167
217
171
194
192
173
206
195
182
206
187
129
192
202
235
163
130
143
168
180
227
129
175
266
186
167
256
143
146
156
226
178
176
224
233
278
203
143
206
162
178
194
173
186
255
176
204
255
180
182
181
162
260
146
179
145
162
207
146
188
164
182
231
158
210
206
274
215
115
162
171
178
172
239
222
152
141
162
239
184
145
222
192
158
189
206
129
182
189
221
204
199
200
204
146
199
274
167
156
257
162
178
262
191
184
176
231
228
169
173
162
258
263
217
167
204
166
181
174
143
161
129
253
263
204
222
217
130
186
173
266
179
200
220
268
173
217
189
146
129
130
188
210
207
181
174
206
188
179
146
213
202
205
254
211
203
158
115
173
176
210
204
145
130
244
167
269
130
128
231
217
132
147
202
143
202
149
195
210
217
222
219
208
247
184
133
201
220
160
130
150
204
168
173
168
179
129
256
240
168
176
227
187
191
213
173
176
147
156
222
225
115
201
141
212
145
173
129
214
255
163
242
185
209
228
192
227
183
129
207
189
239
201
133
178
127
180
173
162
215
335
179
130
193
239
195
263
146
193
206
209
210
265
180
226
234
221
216
192
286
231
194
232
210
161
183
129
216
202
248
133
256
236
179
204
144
194
249
202
180
129
146
152
129
143
133
184
217
169
201
129
160
210
209
174
166
230
161
245
231
145
200
199
197
180
164
238
162
155
217
183
169
200
240
145
155
128
229
257
173
188
201
188
144
168
122
184
188
245
213
157
130
130
130
173
252
237
206
293
200
263
162
236
241
202
176
169
206
212
236
211
217
191
324
164
192
146
184
176
204
223
227
201
145
173
247
184
178
180
179
243
129
167
145
146
179
218
130
204
150
178
176
158
169
129
281
170
192
173
179
211
187
211
208
175
176
238
260
183
209
213
166
176
145
200
168
204
227
206
194
185
158
179
164
210
266
191
234
169
239
152
195
182
146
258
156
115
168
175
150
173
133
162
178
200
176
210
202
209
170
214
146
224
164
145
224
169
115
262
184
130
197
157
184
172
210
186
150
172
178
190
218
188
157
204
194
174
145
184
203
210
178
152
130
201
242
176
202
190
196
190
201
119
173
210
204
199
186
172
202
152
115
225
145
164
222
179
227
196
234
234
179
176
173
188
246
201
133
214
252
194
133
164
146
176
159
166
129
249
204
146
226
225
144
250
115
130
200
183
178
156
115
204
177
171
179
202
168
260
129
176
239
205
181
173
209
129
244
191
236
175
251
237
204
203
182
157
264
130
176
222
197
198
146
211
160
204
284
129
149
218
154
180
173
228
146
147
208
202
188
162
171
150
143
164
201
167
278
158
252
173
158
173
186
141
180
238
115
258
189
176
119
129
155
173
187
196
301
236
195
181
203
225
187
173
235
166
215
157
156
129
206
191
211
230
262
234
169
130
168
142
179
212
146
206
186
186
225
181
133
193
200
160
201
170
133
206
169
133
179
209
284
129
256
129
181
173
245
173
225
179
210
177
122
212
199
228
205
187
156
190
165
217
170
175
200
236
201
129
188
146
227
180
158
169
182
216
169
129
200
244
130
146
182
173
132
168
155
255
173
212
165
189
168
183
242
210
182
273
210
162
164
216
260
246
197
281
175
115
146
182
176
207
223
129
155
265
129
145
129
204
190
231
141
178
211
146
149
204
201
188
212
203
166
179
129
219
236
244
182
152
225
214
146
185
225
179
184
143
376
174
275
156
214
191
182
184
258
169
160
129
217
192
231
158
202
158
206
132
211
252
221
203
171
247
241
184
146
166
161
230
172
259
130
129
157
184
240
164
229
168
206
169
168
206
204
220
150
183
209
173
146
164
231
238
199
122
115
156
274
193
157
130
200
200
207
295
188
205
180
160
173
169
252
221
172
174
215
166
230
176
202
173
221
143
204
231
186
169
149
156
247
211
133
164
205
146
150
195
193
185
285
164
181
200
204
181
235
311
200
162
243
164
237
129
115
188
215
193
188
237
220
122
193
199
176
163
218
212
227
233
266
234
171
238
176
129
146
173
195
150
145
155
201
187
200
201
194
204
261
161
168
229
222
168
206
155
195
122
195
205
200
146
149
187
211
179
230
158
180
129
262
146
201
168
133
143
158
168
149
204
156
146
164
218
160
181
146
192
258
130
175
204
158
207
176
115
289
230
193
236
191
227
206
245
130
207
194
164
211
168
268
129
115
174
216
130
219
204
259
160
204
209
169
184
213
201
262
296
183
335
244
155
235
209
207
164
179
210
235
129
195
206
250
168
180
174
155
230
155
192
217
211
262
212
255
155
163
206
130
200
162
183
185
216
212
180
166
211
236
155
132
234
189
211
201
218
173
158
218
265
146
115
219
195
197
202
182
129
222
238
173
173
199
229
168
170
171
205
204
231
153
146
248
191
205
194
204
172
227
213
146
292
225
235
244
219
241
132
151
231
209
142
188
138
249
143
201
261
133
191
201
179
146
182
266
173
223
184
226
214
184
200
184
168
188
237
143
180
173
138
166
194
166
173
236
236
176
300
262
146
254
179
183
335
213
208
178
217
203
164
166
176
167
169
248
227
145
229
200
168
231
122
145
224
231
218
173
207
169
196
262
208
252
173
181
179
185
145
174
192
201
239
141
242
168
157
237
179
200
234
130
216
242
239
210
168
244
167
184
239
232
227
150
189
171
150
145
188
165
203
174
217
155
179
210
225
180
130
235
218
208
188
131
233
166
194
157
256
200
158
230
276
156
256
221
201
222
201
204
180
129
164
162
265
195
219
217
202
201
180
195
164
232
224
166
179
241
143
191
122
206
158
146
210
248
217
151
192
233
129
221
155
236
165
179
175
200
258
152
204
180
239
162
236
215
146
242
145
272
178
198
165
130
186
266
161
210
254
172
122
264
144
287
210
201
203
156
130
224
133
188
250
217
146
202
141
216
180
204
164
185
216
267
150
159
176
166
234
236
143
213
213
151
222
183
145
297
184
206
182
146
231
155
130
201
146
188
230
180
216
115
191
184
172
189
146
236
176
236
173
156
193
176
177
176
295
254
145
189
178
200
238
201
158
201
168
206
183
211
175
209
176
242
211
148
143
251
150
211
173
164
130
147
192
211
229
204
190
173
200
184
145
174
190
184
146
155
129
213
227
171
129
238
201
210
158
200
207
115
186
215
146
218
247
189
173
210
168
129
192
202
200
218
199
174
210
225
274
194
145
122
173
146
169
202
240
173
156
171
178
242
211
246
200
196
213
234
260
190
252
165
169
232
200
207
143
173
141
178
252
201
246
210
238
210
192
146
237
211
208
188
166
250
129
210
173
129
199
308
186
143
214
224
198
209
176
178
218
187
133
239
155
195
229
170
236
217
162
159
172
192
182
232
210
162
202
185
249
191
229
243
152
173
223
201
219
161
194
150
141
190
195
214
170
187
174
206
115
130
166
201
175
215
210
130
200
176
221
206
229
167
200
227
265
162
191
201
202
201
153
175
204
203
190
204
239
190
115
184
174
238
246
168
133
115
266
217
228
203
228
206
265
228
246
267
217
283
130
268
214
261
228
186
152
267
228
203
130
200
164
283
195
182
191
130
183
205
180
157
197
180
212
149
187
288
219
186
168
179
188
217
158
207
205
254
130
168
168
210
226
155
217
225
219
264
242
179
193
202
202
141
265
201
130
236
204
230
202
246
212
236
129
186
222
191
159
132
225
200
182
188
219
163
130
199
171
145
261
158
229
180
164
143
143
192
245
162
166
173
261
158
161
183
155
264
167
203
277
312
207
237
204
250
283
182
216
251
219
175
181
204
264
202
163
164
263
173
274
176
292
183
129
174
186
313
185
150
168
193
213
221
201
130
239
185
260
207
186
192
129
257
156
236
202
119
250
156
186
233
247
207
173
217
184
155
164
168
207
208
242
262
170
185
162
201
271
138
179
166
155
228
202
205
151
194
129
204
192
173
151
122
168
178
210
231
164
143
215
247
201
222
300
268
197
180
247
146
143
157
174
176
202
195
179
210
158
180
146
143
183
191
189
176
173
210
222
138
207
179
184
230
242
167
146
206
252
210
218
173
281
208
201
176
176
201
276
200
204
200
143
236
211
179
228
166
115
143
159
214
200
158
144
187
178
191
191
176
173
202
195
169
183
238
151
146
235
193
173
158
115
180
177
130
211
192
173
230
259
229
241
191
171
193
210
160
201
143
176
197
143
130
187
170
190
164
191
157
182
129
217
129
210
180
176
230
160
176
228
145
185
130
204
217
161
211
129
261
192
293
201
181
204
169
146
179
176
218
168
149
193
164
225
158
166
159
197
191
176
130
176
133
184
207
212
173
172
198
178
194
217
195
201
130
185
263
168
236
209
129
239
154
168
173
130
192
164
145
200
197
197
201
166
190
168
180
183
141
200
146
224
203
141
200
176
141
227
174
162
198
183
130
266
158
174
146
176
189
176
171
176
241
231
252
258
146
202
264
115
173
145
170
170
279
143
191
175
158
145
173
158
146
204
210
177
145
182
172
173
206
141
191
144
130
166
204
248
115
158
254
174
213
257
181
214
160
267
234
230
210
291
267
144
225
250
303
210
168
141
122
158
173
237
152
130
194
233
145
239
217
204
183
145
175
146
184
183
216
130
190
227
173
130
159
300
176
174
186
180
162
179
219
138
217
258
216
192
215
240
143
202
244
206
202
238
185
211
146
122
202
206
175
170
128
159
178
122
190
245
204
250
198
237
165
122
221
197
145
188
210
216
204
167
222
266
178
145
115
237
130
186
177
246
146
173
179
173
175
166
168
171
145
162
229
255
241
129
216
201
181
169
143
200
275
164
184
182
213
158
185
219
218
155
177
173
183
211
236
206
129
225
205
242
133
230
259
170
201
228
166
158
239
164
130
179
145
161
230
150
217
234
191
237
115
209
149
169
258
191
214
214
168
242
190
187
129
178
218
183
179
191
176
173
138
235
219
185
220
182
181
206
146
181
141
260
197
197
129
230
181
197
146
173
210
287
204
287
285
239
115
173
212
122
130
194
194
182
201
181
182
185
181
215
257
266
129
143
158
230
191
122
173
145
155
164
173
184
299
188
153
246
173
236
217
217
274
211
146
210
216
174
264
200
247
182
203
204
206
240
129
173
181
278
302
171
200
146
204
238
204
133
168
259
176
185
217
182
222
173
130
178
229
255
201
207
200
176
251
211
182
129
222
132
162
256
171
287
145
166
202
161
173
182
129
172
233
240
230
211
146
244
158
238
201
179
176
185
188
236
201
187
188
196
157
143
189
188
129
130
170
176
217
130
157
160
138
146
251
176
208
176
276
236
176
173
193
207
182
210
162
239
236
238
173
226
262
234
240
176
162
182
178
143
252
203
157
169
244
226
176
246
176
212
158
156
211
160
186
173
173
176
239
164
184
149
162
238
141
206
182
235
189
152
181
132
192
200
164
179
210
225
187
221
243
164
177
197
207
175
176
206
222
183
197
130
255
210
246
201
190
222
179
206
162
151
184
186
210
150
206
177
141
234
151
192
180
176
133
129
204
146
145
227
204
175
115
146
193
176
155
246
179
179
238
219
182
168
130
204
185
217
169
224
224
158
217
252
237
199
168
206
146
178
224
179
180
176
189
199
236
178
168
217
210
206
189
237
225
180
178
173
202
212
179
243
194
201
293
173
167
164
160
239
204
202
200
159
243
146
130
184
192
141
200
130
145
143
162
151
129
204
164
202
206
185
152
212
219
200
205
173
160
162
170
163
208
236
130
129
211
163
204
238
158
275
170
169
191
162
186
130
221
216
180
199
161
211
215
206
162
217
211
227
223
189
182
202
197
256
202
200
182
201
129
163
146
210
130
168
183
129
210
143
184
173
177
241
227
193
246
115
133
204
146
115
155
143
146
182
149
260
201
206
183
178
195
177
287
187
191
115
253
145
210
203
222
201
173
180
161
115
177
129
179
188
261
274
256
122
162
244
217
158
199
242
267
202
172
217
171
192
143
206
179
143
238
130
155
265
129
184
184
129
214
133
252
182
188
143
230
214
204
201
190
184
241
175
143
161
157
157
155
269
230
234
129
179
138
185
160
127
115
146
240
200
174
191
168
129
219
194
150
213
233
173
247
179
146
156
220
256
146
162
200
185
207
144
214
167
190
146
249
275
155
204
168
243
179
288
176
130
166
193
201
225
145
188
201
173
204
267
208
146
133
146
198
130
228
187
191
146
249
173
214
236
193
186
146
225
210
209
129
201
163
129
184
211
176
160
202
206
168
129
153
262
128
155
200
173
145
255
133
241
210
188
266
176
212
147
214
153
242
168
213
252
199
130
176
157
158
138
209
161
194
160
210
183
162
226
145
184
173
129
168
251
143
195
145
231
217
130
217
220
130
192
146
141
225
195
234
133
236
224
159
239
237
130
161
192
265
181
170
319
217
173
156
284
184
179
129
208
168
203
119
193
252
129
167
128
167
224
115
146
175
149
229
158
233
214
254
181
230
238
122
166
129
236
173
251
226
168
151
238
182
236
129
200
180
205
173
183
300
146
193
162
129
229
210
228
170
335
177
259
217
146
130
141
218
176
220
200
195
163
180
176
194
214
230
166
179
282
130
191
145
173
174
145
150
249
176
168
172
204
155
173
202
260
179
170
299
168
187
168
210
264
194
301
119
189
146
183
144
222
160
221
210
169
200
218
234
173
205
143
168
115
217
215
176
171
252
190
132
173
214
162
205
264
246
158
215
207
129
184
192
152
239
247
243
214
176
222
132
160
146
166
174
189
195
146
115
176
235
129
250
174
171
180
196
115
164
201
203
185
199
187
187
191
158
191
235
202
171
186
160
204
265
227
176
129
189
147
227
201
176
265
172
164
167
248
156
216
235
162
129
242
204
195
115
204
246
156
275
146
230
168
185
129
227
204
146
214
251
184
162
222
130
204
236
169
210
176
245
149
193
182
184
180
179
189
161
200
253
183
184
194
278
158
176
253
185
262
187
173
179
164
184
199
146
179
190
155
183
181
133
186
207
202
174
220
296
133
179
185
173
156
217
176
200
265
179
199
218
229
173
175
133
257
130
192
200
240
129
176
115
239
169
211
150
178
130
187
177
228
183
214
170
234
202
157
191
144
152
168
204
176
166
203
238
155
208
237
212
210
204
258
192
179
211
264
241
238
211
187
191
233
207
157
115
211
256
202
184
130
129
202
206
231
133
220
200
158
195
151
182
199
211
185
173
173
214
239
271
201
252
195
157
206
181
133
162
211
158
170
143
173
155
146
122
264
208
245
264
197
202
199
171
274
223
153
173
202
215
214
209
164
229
211
129
178
155
115
177
146
153
236
257
210
236
150
150
203
191
145
133
242
173
262
186
219
122
211
206
236
236
129
129
221
209
167
225
236
138
217
199
129
160
184
130
198
173
200
179
179
183
176
221
335
219
169
238
146
264
211
143
173
176
235
230
225
206
190
225
210
162
162
178
176
252
219
187
204
187
129
192
212
272
150
194
164
204
259
155
179
146
132
129
182
226
225
203
188
164
236
210
260
198
176
152
185
255
129
175
175
236
200
173
216
209
129
166
162
258
162
194
208
144
245
129
115
171
179
189
187
173
210
207
307
179
145
270
201
168
214
158
176
217
226
145
164
245
192
181
141
146
129
222
191
162
145
182
151
218
212
130
184
168
205
236
210
246
115
180
193
180
192
273
115
206
239
191
263
207
225
188
190
129
191
176
200
237
130
205
204
133
155
238
146
222
176
202
202
191
209
115
115
230
191
225
256
204
169
171
151
211
184
168
211
269
217
156
155
221
221
173
174
176
129
240
167
162
163
260
166
166
173
173
272
146
203
173
204
145
217
166
180
186
226
264
217
143
173
133
201
178
189
206
236
251
211
258
210
162
176
169
196
156
176
203
200
184
202
133
130
246
234
160
283
236
236
224
201
202
226
203
173
177
195
130
205
193
202
180
155
155
172
133
251
191
214
167
169
129
133
176
225
201
162
190
190
195
213
239
194
204
264
215
171
184
306
129
195
168
130
214
133
173
166
214
174
239
171
185
203
287
201
179
179
158
250
204
195
206
167
133
205
217
176
129
188
203
183
188
130
146
141
251
263
252
188
256
188
191
218
303
258
189
214
146
168
141
259
222
155
146
228
191
159
332
133
308
179
208
210
204
224
254
202
204
206
202
224
216
225
194
169
193
157
184
232
233
238
184
205
211
200
210
158
143
257
274
176
129
204
206
200
228
172
202
222
164
244
191
291
169
191
193
191
227
226
188
171
115
182
262
192
204
264
288
228
177
206
195
119
200
174
211
188
206
288
237
213
129
231
204
193
221
209
230
210
176
261
270
141
161
221
264
176
171
169
224
162
169
188
174
201
122
153
264
192
210
145
122
187
129
178
174
129
180
239
245
179
166
221
206
168
168
252
186
130
181
335
243
227
173
183
274
176
200
240
157
146
185
158
145
233
236
168
146
182
263
218
173
238
178
202
201
158
184
158
130
162
232
170
202
197
179
191
221
130
173
172
157
191
128
200
208
210
175
184
164
254
213
168
191
184
155
244
231
155
209
211
173
212
241
204
207
283
192
195
129
204
191
174
235
220
255
165
242
215
150
179
300
264
280
200
203
158
185
184
145
178
238
186
263
191
225
168
228
275
173
145
132
218
231
188
190
211
182
169
214
307
192
169
256
133
218
185
167
279
167
115
173
146
238
242
130
172
222
207
262
143
252
217
146
203
212
150
255
172
221
236
225
228
164
217
174
162
206
236
221
219
238
165
239
261
324
210
217
145
130
214
201
219
206
172
205
207
211
143
173
204
168
185
246
265
212
217
211
145
176
172
262
237
220
248
115
254
237
221
201
263
173
244
206
179
166
189
162
222
204
222
146
200
257
207
188
173
182
283
217
182
204
215
210
176
133
184
188
204
192
194
200
243
160
195
210
210
202
265
180
158
180
168
222
201
150
226
185
173
145
164
188
176
129
204
169
210
180
214
149
211
184
199
129
211
169
230
222
176
193
204
164
219
178
194
200
182
217
273
164
205
270
179
169
202
141
183
211
141
238
229
143
204
176
202
264
188
162
142
260
196
166
167
133
128
231
185
225
146
186
210
211
226
173
187
122
208
156
247
204
157
216
189
188
176
164
186
215
155
187
162
187
209
170
187
145
157
211
201
130
145
168
230
199
190
283
227
195
201
161
178
145
200
225
157
200
189
238
217
178
130
190
130
187
266
145
210
173
179
158
147
200
129
138
221
204
174
217
190
199
129
223
187
173
122
173
248
133
238
157
194
162
239
189
214
197
130
200
129
188
168
211
239
234
239
173
199
202
202
184
248
188
210
157
130
183
186
242
204
176
258
143
169
219
186
206
141
160
240
263
197
166
200
210
190
230
155
146
214
185
205
151
146
168
191
244
160
143
159
266
168
130
165
264
130
166
155
181
157
192
146
185
219
141
164
164
190
168
129
178
192
222
214
186
204
173
201
261
214
205
159
187
139
210
236
176
176
214
206
218
201
141
248
187
244
210
152
164
166
145
143
153
164
181
297
157
204
190
176
195
186
232
173
201
211
236
155
275
203
260
204
208
178
176
191
130
172
201
218
192
233
245
158
130
193
146
166
130
145
149
230
185
227
205
232
245
179
211
130
198
203
143
185
204
197
155
150
221
149
145
133
188
187
250
129
242
156
180
176
270
133
194
145
146
172
222
221
176
217
223
130
175
264
204
238
230
178
258
178
178
169
230
236
184
204
194
236
162
162
162
262
210
173
129
173
186
152
173
231
192
161
183
186
149
228
210
237
149
151
200
180
115
209
146
146
206
130
203
192
164
157
128
173
155
129
133
153
171
177
198
130
133
307
282
192
195
130
173
129
173
204
179
180
192
130
164
227
130
195
173
162
172
191
217
226
217
209
130
173
130
219
259
249
182
188
119
129
157
214
122
229
143
178
203
213
144
185
246
217
155
181
193
244
217
129
195
191
170
210
263
244
185
129
199
230
294
267
164
197
185
173
132
256
210
173
178
172
145
255
184
173
190
189
205
230
193
210
162
218
210
195
179
159
249
208
201
146
155
169
197
206
203
294
190
189
193
178
173
227
225
181
178
204
227
193
168
130
173
219
194
264
211
250
231
144
145
184
177
183
234
176
229
218
217
188
177
187
175
221
171
174
198
145
237
287
130
155
187
182
204
222
227
146
258
193
191
130
153
146
150
164
130
183
147
192
176
212
218
151
129
122
146
226
146
200
141
204
203
189
176
206
164
202
168
181
143
169
204
225
230
271
176
197
291
129
185
173
173
173
188
211
227
197
152
180
146
143
129
244
202
226
158
181
179
133
239
232
176
297
221
194
178
191
201
189
211
244
216
218
219
222
187
179
194
130
176
189
179
160
143
191
181
200
149
162
225
188
130
149
233
161
156
229
187
146
156
246
200
165
214
130
168
238
256
160
200
232
189
184
206
171
162
169
211
183
247
130
197
202
258
182
133
230
149
168
177
176
202
187
197
230
130
183
248
133
189
158
162
249
214
198
212
231
129
144
250
246
205
202
229
183
229
129
130
239
236
214
130
270
149
203
217
145
158
244
229
172
129
301
262
218
205
199
155
178
186
176
203
152
229
156
181
181
209
189
204
163
185
229
221
283
217
162
200
250
266
173
183
145
146
166
230
178
218
158
217
146
173
129
236
146
238
146
218
210
146
184
217
255
128
129
225
225
211
176
191
164
225
168
179
182
133
235
129
173
145
153
200
221
150
190
174
180
145
211
252
302
300
191
165
247
201
167
166
266
211
162
188
192
187
158
173
122
171
225
232
248
209
173
160
193
173
129
181
155
213
209
185
206
143
200
201
211
155
186
192
241
193
228
204
186
201
191
219
199
162
180
162
275
217
191
160
234
256
144
261
132
227
217
200
174
260
190
173
183
183
176
232
236
232
242
232
267
164
167
211
160
236
204
146
176
146
141
180
186
222
202
219
173
229
182
191
130
115
250
153
196
158
173
226
129
295
204
151
204
192
184
222
150
195
145
158
230
194
176
193
157
184
213
232
230
200
188
300
174
158
149
173
194
133
190
181
184
202
171
224
200
201
130
115
254
180
178
143
225
200
208
206
239
146
189
231
186
214
115
207
210
143
153
218
201
202
172
217
147
149
214
172
200
236
216
173
195
143
183
195
268
217
187
219
246
273
264
193
200
285
173
184
128
176
200
197
252
173
243
209
265
295
173
173
300
168
129
232
214
200
222
146
147
196
149
179
206
173
202
179
223
212
122
182
173
210
210
173
209
168
222
195
130
129
170
150
160
191
226
197
153
187
182
198
192
145
181
204
211
188
145
177
147
232
239
183
168
115
206
206
191
210
182
225
187
222
146
193
133
168
190
303
183
199
155
203
231
201
163
184
247
211
239
156
225
274
217
207
180
146
186
241
158
205
175
236
173
211
229
204
217
224
201
210
211
158
188
178
202
171
227
204
259
173
234
230
227
234
225
150
173
173
219
158
209
182
209
200
199
164
186
145
144
146
231
191
160
177
246
145
178
217
216
167
164
176
210
158
286
229
207
146
129
129
203
216
145
218
239
201
238
247
205
201
178
203
238
143
178
138
143
143
166
211
189
252
268
198
238
184
221
209
190
149
201
214
183
181
181
252
173
173
192
168
181
168
215
201
217
141
187
262
256
211
248
164
178
130
227
234
166
133
130
236
250
173
209
141
297
143
194
185
236
181
162
186
217
201
236
152
188
189
157
197
175
226
176
230
178
129
147
231
163
194
185
216
222
165
217
133
210
173
129
264
203
204
170
164
238
209
204
138
236
172
133
176
167
271
210
146
173
173
210
129
159
146
210
165
183
204
263
146
222
182
190
230
145
173
199
197
188
200
145
276
200
168
169
209
220
130
226
239
179
191
204
287
221
192
160
225
181
202
146
247
167
176
143
238
219
211
238
264
183
227
189
176
204
178
227
173
216
214
247
241
177
155
276
204
166
211
184
178
156
171
201
173
246
229
210
211
143
171
190
200
161
149
230
155
191
173
191
207
194
195
249
227
222
204
229
204
227
129
257
257
280
185
188
231
235
210
201
183
274
155
167
215
217
194
218
192
225
204
129
115
181
174
229
158
219
225
158
146
143
228
193
202
156
197
241
176
146
170
129
139
181
206
203
248
146
214
229
228
231
257
180
173
201
264
209
129
183
152
146
206
200
178
209
219
183
168
267
158
195
223
156
200
229
206
249
129
238
188
180
201
156
149
203
133
184
173
133
206
242
191
263
153
169
166
218
130
115
223
180
145
255
184
210
220
186
189
178
173
191
235
194
183
156
146
178
204
177
200
130
242
220
146
192
172
185
182
201
228
176
190
221
183
219
226
235
176
142
210
175
206
206
144
244
236
166
149
258
186
193
204
262
155
190
130
130
119
208
210
173
145
155
213
222
176
166
173
209
202
130
179
184
257
164
129
205
190
188
236
210
177
146
335
232
141
198
201
129
202
255
181
168
212
175
217
289
176
252
203
215
275
210
220
217
200
228
215
278
138
177
153
204
204
162
176
217
161
145
217
168
130
133
162
160
192
149
183
156
192
219
129
156
222
217
187
130
236
176
141
179
222
191
199
168
238
195
173
164
129
130
155
213
230
245
240
220
202
258
226
130
176
162
240
204
146
222
181
239
201
283
164
138
146
190
192
255
238
156
188
239
182
129
230
180
283
224
160
146
195
181
162
171
182
263
130
241
141
180
232
177
167
115
204
178
260
238
202
229
191
173
202
222
230
204
179
283
195
146
208
238
129
201
186
130
193
262
225
304
242
209
115
155
130
184
138
189
115
149
133
251
179
130
223
203
248
244
251
184
225
162
178
170
145
205
168
198
204
246
160
261
203
186
150
210
206
270
206
153
203
203
176
176
157
178
173
144
259
225
258
257
217
122
202
172
225
165
130
173
150
176
169
187
216
176
321
129
198
170
199
207
194
174
143
152
237
130
191
247
177
158
202
202
180
210
179
206
146
146
147
150
227
240
184
162
212
192
219
218
141
177
153
222
129
297
172
153
186
130
212
178
199
178
187
217
204
227
191
153
242
185
146
184
173
183
129
200
239
143
144
214
187
288
129
202
230
145
182
173
129
149
166
176
129
198
217
178
216
217
162
143
129
179
185
179
275
178
167
191
184
168
313
214
196
238
176
130
190
208
252
146
238
217
197
161
132
129
168
195
217
164
172
206
183
235
197
178
161
176
223
176
145
176
173
168
227
138
141
168
209
210
239
169
180
252
286
191
192
211
186
191
187
222
115
179
176
164
133
133
281
176
264
180
152
175
264
230
195
182
244
230
154
156
184
130
194
202
255
173
155
201
234
193
190
158
246
182
197
224
162
181
184
206
166
167
129
208
239
211
200
146
257
214
143
201
190
204
237
179
162
252
180
232
191
173
129
173
185
246
264
187
212
147
162
129
199
208
210
228
177
162
168
155
203
168
186
133
254
133
145
238
146
173
174
115
129
143
173
234
146
184
146
237
223
173
183
202
204
218
150
138
158
273
254
176
192
241
155
241
204
130
170
131
211
205
225
239
168
163
156
178
195
200
183
130
132
243
162
145
160
228
217
179
205
243
218
115
238
164
129
145
250
193
216
167
146
166
202
172
203
235
201
191
150
173
158
238
130
214
164
130
177
168
225
115
115
182
238
130
256
133
167
201
130
180
246
204
129
230
200
174
176
179
235
164
180
193
138
244
210
174
199
273
192
168
130
164
240
162
176
166
266
202
143
186
214
162
213
211
251
130
243
158
204
149
185
185
209
204
184
216
230
195
149
203
212
181
238
173
200
226
164
335
211
252
184
171
179
208
270
211
130
221
237
202
235
238
240
143
146
130
155
211
170
214
177
164
265
176
228
168
195
156
191
229
245
146
206
204
160
241
171
218
217
173
129
244
219
188
174
160
204
204
168
177
130
222
174
216
264
179
229
122
181
130
217
234
164
162
197
288
184
234
206
184
176
129
225
128
130
221
230
166
146
115
266
246
177
198
219
143
164
144
173
179
146
300
186
177
192
129
130
204
261
173
250
169
234
191
176
159
162
210
179
162
187
173
150
176
166
285
192
167
222
270
187
204
194
176
255
194
239
130
128
130
201
156
226
210
231
227
184
216
128
130
141
215
178
194
174
115
207
163
184
235
164
115
193
178
201
164
257
242
176
155
176
241
231
129
209
146
169
194
211
186
190
173
189
169
143
162
202
264
158
211
283
264
242
173
210
224
217
203
128
179
132
180
248
261
204
255
225
166
183
217
164
173
164
202
237
187
191
260
206
129
147
203
174
197
185
235
227
146
146
193
199
187
211
145
233
175
205
145
119
161
173
156
146
229
156
115
129
211
214
183
133
184
194
218
168
168
185
146
225
207
173
173
176
200
211
283
254
238
230
229
183
184
211
209
162
205
130
194
141
145
262
188
217
187
185
163
180
176
259
228
156
130
179
141
212
170
171
119
146
217
168
246
185
204
149
174
191
231
133
157
173
166
261
179
201
234
130
228
164
182
239
168
236
145
168
241
183
185
192
158
195
200
193
199
191
162
225
130
189
145
201
141
185
195
204
204
248
229
229
170
201
168
213
132
214
191
183
155
225
145
146
197
155
174
247
206
210
173
141
211
233
148
164
183
204
221
171
146
164
176
169
190
146
217
209
219
288
179
255
254
221
186
217
129
146
165
188
217
192
129
236
149
129
129
209
182
144
168
173
173
165
232
188
221
173
234
129
129
145
205
210
221
145
143
165
257
225
251
245
192
184
172
263
156
143
176
210
138
164
211
145
178
205
193
217
169
182
168
115
174
224
205
173
146
157
218
297
181
143
133
166
129
151
255
223
259
227
253
195
157
146
202
129
115
146
158
299
252
173
152
250
182
251
188
240
162
130
230
176
210
241
207
165
185
178
133
183
175
261
225
184
210
241
164
194
204
217
184
188
180
151
200
190
246
213
209
179
162
242
194
130
183
168
246
173
150
158
146
176
244
150
178
202
190
187
174
199
314
191
205
222
162
129
161
206
158
180
204
270
205
149
217
204
184
176
176
182
171
145
182
244
176
157
210
210
196
192
133
207
130
179
212
227
198
156
229
129
164
156
192
166
294
133
168
231
158
129
225
132
145
239
162
222
222
155
208
156
194
280
177
173
214
141
168
162
160
218
212
247
146
129
169
261
191
202
236
129
175
145
199
275
225
246
129
200
169
204
201
235
182
138
189
185
211
133
185
252
234
179
206
222
128
237
267
205
194
206
156
151
240
164
174
146
182
146
186
194
170
200
188
204
194
173
145
155
115
158
202
245
145
188
156
191
230
205
181
297
218
141
130
161
158
133
146
147
164
189
214
167
175
173
133
173
209
176
158
216
244
200
251
128
133
162
209
222
138
168
219
164
151
206
186
238
208
128
178
202
181
201
182
187
201
200
161
146
224
264
172
158
173
190
146
198
274
179
184
166
210
262
196
173
147
141
145
184
250
211
176
168
191
189
272
176
179
146
261
265
189
172
162
194
205
182
133
204
230
209
217
183
173
165
217
195
160
193
230
148
184
237
200
190
145
133
141
176
158
200
133
188
128
176
155
214
219
204
178
201
162
214
143
257
225
178
211
180
213
286
157
171
173
204
162
202
147
183
221
138
176
211
179
274
262
211
197
172
158
181
168
264
201
204
214
202
215
191
197
203
218
200
206
141
287
192
197
155
250
173
164
210
171
130
271
195
193
188
217
179
150
215
158
166
179
258
145
133
169
164
176
182
173
173
185
190
242
157
173
140
115
171
144
221
165
190
249
129
183
145
195
178
173
204
192
156
203
138
156
158
199
184
202
173
153
188
173
201
246
234
228
167
211
146
156
146
239
216
168
218
181
183
186
129
162
207
222
156
193
202
261
146
162
205
197
210
161
214
199
169
180
130
149
176
130
203
213
160
204
129
320
161
203
189
206
178
252
209
226
143
167
133
226
242
130
202
129
176
307
171
173
164
194
211
284
133
208
166
217
202
146
225
130
197
167
141
181
201
215
185
214
119
231
230
191
197
307
184
215
259
218
172
204
148
242
156
236
217
158
193
229
180
203
168
130
170
237
181
132
183
197
238
173
164
302
133
194
185
169
166
175
151
279
255
288
176
253
191
192
145
286
217
129
185
180
211
184
174
210
190
153
130
130
205
146
185
176
150
244
192
129
174
186
130
133
203
129
129
211
179
172
151
164
202
203
222
204
176
214
204
286
156
214
158
193
247
230
203
155
187
232
184
188
149
208
202
275
222
272
214
224
209
138
122
175
190
158
197
144
181
199
159
183
164
170
239
155
204
252
199
238
277
179
210
229
130
130
146
233
234
157
180
168
210
221
230
139
265
249
162
184
210
180
233
133
183
303
210
212
170
255
282
175
204
176
201
214
186
179
233
168
143
146
265
226
162
195
238
229
192
115
185
236
227
167
263
211
264
173
171
183
200
141
138
213
141
145
183
214
197
129
182
153
141
202
151
254
197
217
204
199
115
274
194
175
304
169
210
171
255
176
234
238
200
222
173
115
158
173
129
163
158
150
200
179
209
180
201
171
174
274
164
174
247
228
210
227
115
184
196
227
222
221
222
221
219
242
184
171
129
173
150
195
185
206
207
213
200
197
203
211
133
162
179
204
153
197
172
181
182
191
145
168
187
168
158
187
195
213
174
199
222
263
232
216
185
234
130
235
166
206
268
236
191
184
182
188
152
182
254
335
205
177
115
230
199
151
129
225
246
173
168
335
206
180
211
162
115
157
141
231
234
216
308
225
115
216
184
278
184
185
184
133
129
208
143
151
192
249
217
231
182
122
202
211
176
184
217
221
242
130
176
205
229
187
160
200
173
218
218
274
187
259
141
150
239
241
201
178
251
236
176
188
221
218
174
224
235
189
182
182
183
178
200
189
258
233
145
146
182
211
173
166
176
246
179
191
155
183
157
178
230
181
192
133
185
260
138
230
246
231
164
250
195
146
184
190
162
149
146
191
194
211
184
233
201
188
161
246
182
191
221
179
180
227
201
210
197
194
154
141
259
210
176
217
129
143
238
187
138
236
236
194
171
194
261
228
177
189
287
133
204
231
204
228
239
146
209
141
179
239
200
202
173
179
211
194
204
168
210
192
146
145
184
222
173
130
227
204
197
230
188
225
247
207
164
219
182
147
241
155
195
161
115
199
280
130
146
203
271
182
212
176
176
214
252
211
247
146
279
171
164
232
138
238
129
187
195
279
129
218
167
169
207
183
190
211
191
144
213
214
203
251
162
205
226
244
155
251
173
172
225
206
168
258
186
212
221
216
183
213
195
229
200
183
217
179
191
194
179
201
129
162
262
225
181
227
261
238
215
174
176
243
143
133
175
204
208
183
180
233
159
161
188
217
207
158
207
183
209
164
146
204
129
173
174
195
158
187
206
165
173
149
251
219
172
213
206
172
130
286
130
168
188
146
214
260
202
169
222
173
168
133
217
236
209
202
127
217
236
204
156
203
166
175
206
221
269
226
206
233
183
229
217
246
271
143
146
286
164
277
187
173
184
213
258
202
146
146
129
204
179
214
202
180
198
229
204
115
224
179
166
217
201
157
164
182
146
182
209
162
146
197
220
179
167
178
265
146
148
193
194
239
256
184
170
204
203
129
179
217
203
183
204
164
169
202
207
238
210
171
158
201
184
235
181
247
302
202
157
162
202
168
173
234
239
195
195
129
247
205
238
246
176
174
218
173
119
164
159
199
210
145
251
212
144
228
129
183
172
252
230
170
180
187
182
195
129
169
268
133
171
180
133
173
215
141
247
256
210
138
231
164
223
194
176
160
145
210
171
249
179
145
185
130
133
262
180
210
183
220
143
133
146
191
166
188
239
240
196
249
217
204
261
150
208
156
275
173
201
235
172
210
146
204
230
302
212
130
233
214
188
175
242
189
278
210
155
260
207
143
228
146
162
197
217
133
179
164
176
129
206
173
157
199
191
225
200
173
237
263
248
133
200
129
190
130
168
184
155
236
179
176
115
129
206
167
248
238
265
194
204
168
179
129
247
169
237
201
164
173
171
200
208
173
230
150
231
151
119
251
166
169
205
244
304
189
226
151
193
150
220
129
222
170
129
189
202
209
184
143
220
212
274
201
219
240
202
133
187
155
151
251
179
203
179
239
224
169
228
214
155
191
176
129
229
182
178
335
296
176
210
141
230
185
190
129
145
184
246
155
143
198
217
238
211
129
130
179
158
238
183
141
184
194
238
164
173
252
242
129
230
168
195
183
176
149
162
162
176
183
187
226
179
179
205
205
199
190
222
235
129
222
115
161
239
181
222
244
299
152
216
210
203
146
231
234
187
214
128
192
208
180
182
212
200
240
221
215
207
166
210
186
170
234
260
130
130
130
169
170
176
206
143
188
203
179
210
203
164
200
160
247
242
200
179
210
176
256
129
204
200
204
276
168
232
146
200
205
235
208
200
146
130
196
145
217
200
197
133
201
216
166
238
181
165
145
222
156
183
155
200
201
211
143
195
130
165
203
196
300
191
145
173
145
179
203
225
212
206
188
150
172
178
146
244
190
138
204
146
119
217
115
196
247
236
180
133
176
190
186
164
197
209
207
146
162
215
204
204
155
130
210
153
165
145
189
168
247
205
144
181
229
230
176
180
201
210
199
151
214
204
234
185
209
184
203
217
210
186
130
138
161
129
202
186
179
144
229
183
213
191
183
281
176
188
265
241
164
204
273
168
210
144
162
210
153
146
162
222
217
197
221
263
190
250
173
192
217
211
226
129
172
225
192
129
168
133
185
211
129
166
167
178
192
229
150
230
153
129
155
170
204
189
146
195
133
246
230
146
179
176
146
173
210
206
179
294
183
170
171
176
181
130
178
235
155
210
176
246
180
178
222
209
217
187
176
155
217
183
184
132
222
168
168
206
173
181
217
216
228
222
188
210
201
143
221
201
201
183
152
194
168
180
183
130
196
188
230
228
186
203
156
195
335
240
256
188
138
130
247
174
187
129
157
173
225
202
146
200
180
129
157
178
242
232
157
231
251
150
193
149
176
214
195
254
204
229
176
256
220
249
229
182
153
262
146
210
209
128
174
178
189
183
202
204
169
178
234
130
150
230
227
220
176
122
155
206
197
115
143
173
146
206
211
173
168
184
242
173
176
202
177
190
189
129
200
230
238
203
173
194
206
213
145
206
180
204
299
128
141
183
181
206
149
229
129
164
191
217
129
179
146
129
129
219
222
215
198
188
204
138
191
146
244
150
193
162
164
206
245
208
204
249
159
184
221
161
174
182
138
155
188
146
143
142
229
185
181
156
174
207
176
185
196
235
239
191
158
176
160
193
226
141
178
184
236
184
174
234
169
204
214
188
155
173
208
162
216
211
192
167
150
168
156
290
251
208
201
173
211
217
232
247
190
233
183
285
170
184
186
294
201
239
189
170
191
244
146
158
204
192
222
161
188
187
181
177
256
193
208
133
193
158
205
227
180
264
188
217
208
176
181
209
210
274
225
158
239
156
241
176
206
180
190
168
206
240
194
156
158
244
184
192
197
209
184
253
153
280
176
151
207
173
130
115
164
162
204
187
258
217
210
205
145
143
175
229
138
217
202
216
214
239
209
201
234
183
194
200
185
201
146
269
222
173
202
161
115
206
164
239
193
225
224
221
183
201
183
225
145
173
145
192
235
146
146
238
173
200
229
143
222
128
202
183
209
206
187
181
203
158
169
174
198
216
214
133
198
130
229
133
180
194
158
152
189
182
169
115
174
180
187
224
236
181
217
184
133
191
173
122
185
192
264
169
168
189
238
241
278
206
210
215
215
158
173
170
153
266
179
213
173
219
203
192
268
176
170
176
230
169
234
201
130
201
181
199
250
173
211
130
216
307
158
180
146
185
239
169
224
255
175
224
194
174
252
191
231
193
115
183
287
146
180
177
295
230
250
188
185
244
231
178
173
173
208
130
203
133
191
171
179
236
198
211
201
203
244
189
204
179
171
188
193
158
186
229
214
166
197
246
151
173
168
245
168
154
115
180
249
182
275
173
192
167
200
202
199
281
247
260
183
146
206
148
179
130
131
173
177
130
255
264
158
187
230
182
173
206
149
173
162
183
201
129
197
208
182
168
170
179
166
180
158
236
213
188
251
129
122
157
150
176
160
230
193
133
240
198
143
211
206
152
204
222
172
206
217
189
185
152
226
162
249
129
138
222
223
210
187
200
228
145
129
181
209
243
263
203
210
294
162
179
168
176
191
174
173
251
133
182
192
129
178
186
173
182
254
214
190
146
276
146
164
221
147
217
218
227
247
129
129
144
129
207
232
203
173
200
176
180
175
264
201
166
208
205
225
229
225
217
172
173
228
186
250
202
133
192
129
176
131
189
183
192
179
211
191
173
210
207
156
206
222
206
167
204
173
205
249
183
129
172
167
238
207
168
182
227
168
129
185
146
169
168
146
176
201
186
241
173
210
209
233
151
202
282
199
199
183
180
169
133
191
146
219
171
198
179
266
169
179
184
202
213
178
133
176
176
146
167
203
261
141
203
229
145
255
216
250
204
192
224
215
173
143
255
217
149
155
223
182
189
144
227
211
271
239
238
211
170
130
188
129
129
196
163
176
177
201
174
183
129
130
214
204
184
185
186
258
254
131
133
129
221
187
178
210
133
194
210
296
173
201
180
176
210
212
205
230
156
213
145
283
141
141
271
158
241
192
166
156
184
128
115
143
194
225
162
168
230
195
186
217
192
199
264
203
145
191
204
277
218
185
119
202
204
210
122
190
122
162
166
220
209
173
201
181
255
277
157
255
163
196
204
239
128
202
234
122
215
191
255
190
238
230
202
227
204
188
142
214
203
130
130
156
159
268
184
286
226
205
169
151
265
140
173
176
236
235
129
232
193
173
205
220
207
203
159
203
130
211
210
242
146
158
188
190
217
168
199
186
190
145
179
264
179
199
133
160
211
272
188
182
254
146
244
173
239
171
219
200
152
195
146
186
179
176
238
227
260
129
158
216
138
204
173
211
204
173
129
191
315
130
253
150
176
297
235
173
165
251
132
146
255
247
173
234
237
146
201
132
186
221
188
208
145
193
168
236
158
160
190
157
174
133
199
193
204
212
219
224
176
275
162
197
189
238
158
178
228
239
202
183
241
178
191
228
146
141
214
217
183
217
230
204
199
149
146
185
246
130
176
173
122
188
182
238
231
158
162
221
175
171
158
214
184
195
216
217
183
184
260
188
182
178
241
202
173
202
211
162
173
155
264
278
279
178
265
230
216
174
257
268
133
178
251
129
152
225
146
255
168
155
222
190
138
146
205
170
165
140
168
217
194
247
175
238
228
180
249
219
230
281
140
217
230
201
129
287
248
173
182
224
242
198
224
162
176
129
203
222
204
231
189
225
189
194
194
270
191
149
163
204
194
218
242
207
146
197
179
218
143
183
230
296
206
247
214
133
212
183
149
178
171
200
173
130
160
143
133
180
173
235
186
152
179
158
178
211
182
158
173
155
166
230
204
215
264
150
179
224
130
176
245
170
229
161
146
215
194
176
228
179
215
183
258
208
199
130
203
211
160
204
201
217
175
238
305
195
157
201
201
204
240
173
211
180
162
156
205
195
145
194
202
176
159
282
141
130
130
122
130
187
157
224
199
217
173
191
210
129
145
221
308
176
223
168
182
244
216
218
182
176
171
153
198
246
174
122
145
145
167
170
162
159
183
176
256
223
160
217
129
222
148
129
173
215
146
150
138
178
211
181
173
246
174
241
191
173
263
217
202
229
146
167
247
233
241
254
170
151
193
166
191
173
194
256
222
145
166
211
143
176
217
132
169
224
233
176
182
221
219
227
182
143
202
301
211
198
228
204
230
164
194
183
184
202
251
242
196
145
236
173
202
202
219
227
172
218
213
184
227
228
164
222
223
285
230
257
200
182
215
264
129
273
156
172
227
173
175
184
173
195
179
179
255
200
122
217
247
147
192
245
210
122
221
163
189
211
189
233
184
209
156
192
252
190
162
146
164
164
149
252
173
212
226
230
153
183
188
129
219
176
218
163
179
171
148
184
191
183
183
163
210
253
176
213
130
164
206
233
162
261
211
206
246
176
200
201
133
160
205
138
183
129
168
204
230
237
152
143
188
217
185
164
202
179
202
176
164
251
202
146
146
190
150
180
115
129
132
145
227
255
206
180
249
205
176
129
115
182
172
188
214
143
219
115
130
180
206
205
238
222
173
165
194
201
169
220
161
207
176
199
173
197
168
230
202
229
192
211
204
138
199
146
231
167
181
238
170
173
141
296
115
130
213
182
156
264
238
181
176
130
222
172
143
222
146
240
234
159
195
208
222
143
217
200
227
156
122
251
159
252
189
167
205
210
184
204
217
129
206
239
178
172
212
178
158
171
222
200
146
239
130
184
261
200
190
146
162
138
238
159
185
147
200
149
158
164
211
181
201
232
213
168
200
130
162
130
157
166
173
159
172
130
133
173
173
229
200
170
207
217
184
172
176
179
199
194
263
201
230
191
158
281
235
166
156
173
204
143
133
181
175
238
119
230
192
158
258
173
129
205
210
209
187
156
173
256
173
173
205
243
182
217
151
115
177
201
222
204
191
181
191
247
138
215
217
145
146
231
157
133
283
129
115
231
175
146
192
187
274
206
199
220
189
180
191
168
210
129
201
206
150
204
129
239
206
132
161
146
218
148
256
176
145
242
206
204
225
176
204
283
188
191
200
176
271
171
217
233
210
146
203
184
188
166
169
245
177
130
176
282
173
239
178
211
284
204
164
221
130
130
202
223
252
204
217
146
181
176
224
173
160
129
194
153
166
191
155
227
158
174
128
192
122
218
174
146
205
200
204
202
157
247
115
130
129
129
129
180
217
280
164
236
129
159
214
259
189
130
169
171
257
238
176
204
167
202
187
182
274
229
182
149
235
208
141
225
247
173
194
130
129
176
173
130
229
255
225
176
194
166
174
283
199
186
169
228
247
145
261
176
198
162
194
217
201
173
207
271
165
146
181
184
192
146
210
176
183
168
129
158
215
137
202
180
204
143
174
119
195
176
204
191
150
217
176
200
210
213
235
227
222
213
146
145
168
191
168
243
188
201
205
283
143
168
233
239
178
247
176
299
162
130
208
194
176
223
156
149
181
246
162
128
244
209
176
257
248
186
249
166
204
151
156
209
221
178
146
229
179
190
203
267
129
145
183
200
130
184
187
183
130
185
243
187
178
194
244
218
261
162
218
254
222
234
236
184
211
211
133
255
230
130
178
173
173
215
221
206
183
173
204
196
176
198
157
228
143
211
179
144
129
155
235
143
196
146
166
173
229
283
211
144
181
246
227
169
192
172
178
165
211
276
129
242
130
236
141
222
186
130
256
215
176
209
146
260
183
162
158
195
173
210
217
184
229
182
173
194
242
143
199
219
205
176
280
165
149
164
184
257
162
184
228
204
153
211
129
242
212
201
231
227
168
158
204
129
173
201
184
210
194
156
182
184
178
167
176
224
169
218
188
130
162
221
222
190
197
231
133
191
171
129
208
178
173
138
258
192
170
157
244
214
178
234
194
213
229
210
206
302
129
231
207
184
130
200
211
187
129
184
204
176
188
222
195
146
230
271
185
204
170
130
200
191
200
198
230
240
152
183
146
168
273
210
199
170
146
130
174
244
176
184
230
162
242
212
221
179
170
173
264
202
145
264
230
171
149
220
160
175
201
146
138
194
190
217
182
195
151
182
224
164
251
188
184
176
165
233
224
204
217
204
176
168
169
173
268
239
165
188
212
200
234
129
232
197
173
211
164
179
223
164
280
219
176
199
205
238
158
167
259
186
146
194
190
211
179
201
217
176
216
335
145
182
145
130
165
129
182
146
191
285
181
179
146
172
251
197
217
195
192
130
162
173
225
211
141
151
221
246
192
206
204
208
207
242
130
179
217
222
138
192
173
129
209
191
138
150
199
166
173
252
177
187
130
231
190
178
158
237
264
158
216
209
149
206
247
133
239
130
188
158
182
250
216
230
224
175
141
221
175
230
130
168
204
205
152
216
155
182
228
183
143
129
176
182
171
218
183
185
145
204
203
185
209
224
216
168
175
250
187
173
200
269
187
129
182
176
217
235
191
176
266
173
192
156
210
229
183
177
176
191
201
182
194
161
243
193
189
164
202
200
145
129
188
174
195
238
173
202
224
141
173
183
169
210
130
144
217
218
173
209
217
193
164
191
158
210
194
157
145
245
208
130
224
186
115
178
238
222
180
177
191
176
247
184
248
265
173
230
231
211
141
156
183
225
203
146
204
161
204
129
178
182
239
146
230
181
146
132
211
173
220
141
215
170
184
166
191
184
211
244
155
165
161
201
183
219
146
219
180
236
183
212
263
183
179
195
231
262
176
181
180
173
173
217
193
216
180
239
172
200
176
176
185
201
271
200
191
214
184
163
146
164
197
122
204
145
197
173
246
177
239
210
180
180
174
187
143
176
130
173
252
143
129
304
210
214
155
197
202
164
164
205
236
169
173
204
184
185
188
208
130
211
232
256
115
225
193
238
168
248
168
217
255
165
215
132
209
178
129
225
129
173
157
182
162
176
181
155
184
155
176
158
164
174
227
146
143
129
144
208
130
130
146
173
233
143
179
133
259
256
168
289
200
188
143
235
145
218
184
164
210
216
166
219
174
257
176
229
204
133
184
179
182
243
192
231
229
192
204
191
217
115
170
173
176
167
228
210
209
175
242
258
143
143
204
115
179
179
192
145
268
218
173
129
168
210
210
149
146
186
225
115
133
190
227
201
221
206
210
211
207
173
242
210
158
208
217
191
225
174
160
273
211
244
178
273
146
225
192
192
130
161
173
150
234
224
214
140
166
145
182
129
175
277
174
165
176
180
162
133
169
130
164
215
145
202
133
143
211
217
178
182
182
235
231
146
115
156
146
258
153
157
130
231
144
188
283
162
183
227
162
220
185
216
164
187
179
190
236
202
129
197
146
176
247
211
129
157
222
130
180
235
156
251
182
133
161
184
212
204
175
408
185
146
176
208
256
202
204
199
173
141
194
210
191
192
228
157
170
246
201
242
168
184
251
217
210
172
173
244
213
164
158
155
304
129
189
173
143
265
143
130
199
217
169
227
217
230
152
146
217
146
192
146
152
164
204
158
156
173
184
161
241
185
263
210
158
129
162
173
153
217
275
146
164
296
146
237
273
209
283
203
185
173
238
238
236
146
236
182
230
231
181
166
190
204
188
246
210
186
264
180
129
230
225
143
184
202
161
133
262
145
218
254
143
214
129
143
202
291
173
285
234
191
243
200
230
160
204
173
256
129
267
186
189
250
236
203
229
276
254
202
202
155
219
191
236
243
192
176
236
162
198
170
210
226
122
168
179
234
225
236
179
192
198
252
149
141
141
170
193
170
242
239
176
177
201
212
221
162
233
160
214
195
167
166
211
150
191
141
146
242
245
212
292
267
129
225
171
200
173
194
152
130
213
130
185
216
143
255
173
208
202
178
250
200
220
130
162
210
222
210
173
236
209
200
146
179
178
221
156
206
160
214
222
212
238
190
222
189
241
151
231
239
184
166
173
277
233
129
141
178
173
218
239
230
227
156
181
205
229
211
214
207
141
239
202
187
185
184
283
173
253
211
182
170
161
210
189
130
168
145
335
188
206
183
233
145
170
243
159
158
182
164
171
152
160
275
191
130
158
209
147
161
164
130
248
225
231
234
217
138
215
129
236
173
239
115
251
164
186
168
201
261
115
164
191
129
181
168
238
133
176
200
184
222
256
194
171
335
214
182
193
183
146
274
175
146
168
168
164
238
143
179
246
185
176
176
165
264
181
238
232
207
173
200
214
200
138
141
192
211
130
184
299
200
297
178
188
258
184
208
221
210
172
155
225
178
237
184
191
176
146
211
146
190
186
157
187
243
147
168
225
204
184
237
216
146
184
202
177
176
168
239
194
177
160
194
146
250
216
204
179
172
190
160
226
250
160
179
248
168
160
183
255
155
168
214
241
188
186
299
174
230
141
214
189
122
173
146
217
182
217
174
200
186
234
219
230
192
152
155
129
171
211
145
189
176
133
130
143
185
233
246
164
184
149
180
130
234
186
156
182
190
239
287
129
162
192
169
173
204
180
181
189
300
181
187
201
225
211
219
165
182
172
217
203
183
199
184
189
238
178
264
218
243
141
263
202
164
219
176
229
141
165
222
228
217
129
145
237
201
156
247
190
173
227
173
195
232
158
252
187
176
175
155
191
195
173
179
122
190
166
214
177
194
184
204
164
248
183
186
155
172
239
238
229
225
204
221
184
207
237
188
176
177
241
122
220
141
133
192
191
228
176
157
230
212
184
219
210
238
204
216
177
130
239
194
162
179
234
169
168
157
204
146
173
176
185
198
173
187
119
202
239
143
265
237
188
254
206
204
204
145
187
249
216
201
230
236
173
129
128
146
203
230
164
185
182
182
151
143
141
150
194
184
141
201
191
179
214
208
179
145
130
229
129
232
204
158
231
159
189
174
160
176
122
238
147
249
295
193
209
195
160
160
173
129
181
247
224
162
217
150
240
203
162
178
115
122
157
204
168
235
226
194
179
153
222
250
171
140
222
133
165
193
237
224
133
211
186
156
157
176
210
146
175
198
146
178
166
184
221
168
176
164
231
227
210
146
241
162
217
149
133
149
164
130
287
145
179
204
237
238
228
185
164
204
194
211
232
169
256
204
146
205
211
217
261
166
238
237
180
260
174
220
212
236
203
188
230
162
179
152
238
173
183
144
150
129
234
200
236
238
176
202
143
261
211
194
182
151
122
246
167
200
182
194
212
171
158
184
173
150
206
248
206
162
137
158
171
202
216
335
248
158
287
177
122
174
255
213
278
264
156
183
179
235
173
129
203
159
210
173
177
130
225
221
186
158
234
193
241
201
221
195
157
181
222
226
172
146
203
189
230
182
146
210
243
203
176
247
192
185
164
129
204
168
286
190
201
147
174
178
186
227
245
145
178
163
206
204
211
187
168
221
185
241
132
202
145
130
287
184
229
115
206
188
183
183
204
178
144
194
174
155
199
201
160
255
167
164
157
290
144
193
252
156
149
146
222
192
141
274
173
165
200
239
202
201
288
129
130
214
165
184
128
225
256
188
186
166
209
229
119
178
195
144
273
164
169
206
294
194
174
143
176
212
146
187
183
181
204
155
211
146
210
256
210
233
226
133
162
190
214
115
228
211
205
232
180
218
165
187
213
217
141
233
188
252
268
192
166
272
192
179
195
173
171
225
204
210
192
228
216
185
157
276
171
132
202
218
209
197
199
193
204
160
204
181
164
194
214
146
174
204
205
191
191
179
176
169
206
214
285
180
210
177
173
176
230
217
129
176
210
168
230
159
155
226
212
173
181
182
158
236
211
174
206
178
157
244
299
228
179
168
172
254
210
131
173
146
252
199
237
222
196
255
119
189
161
201
202
147
162
201
192
213
173
228
156
152
204
186
155
216
138
162
166
158
283
194
192
178
129
238
151
115
202
138
164
119
202
204
119
235
210
224
190
208
173
138
150
215
147
242
275
191
183
178
232
230
221
173
155
257
218
143
129
176
173
173
230
229
162
264
227
240
148
183
189
230
239
161
261
176
219
194
235
130
129
191
212
122
195
115
212
246
226
160
176
146
180
206
201
130
180
175
236
222
217
208
248
244
301
129
219
238
226
327
176
146
206
222
176
182
173
204
228
210
160
249
146
246
232
129
276
180
242
133
122
202
167
220
174
227
159
181
182
159
202
146
197
181
146
210
147
155
215
164
172
203
176
221
234
159
246
191
239
130
201
188
260
166
236
195
229
186
169
216
177
171
161
213
187
129
216
180
157
246
168
162
297
179
160
193
180
297
203
158
176
233
211
207
241
171
155
192
211
156
155
169
216
162
204
180
199
199
266
115
153
296
194
217
188
162
172
200
224
200
122
183
187
216
130
130
174
184
150
217
206
186
129
133
267
128
181
175
146
185
210
172
180
170
128
165
195
230
129
209
141
205
204
130
216
195
173
149
216
202
264
128
183
194
205
157
207
195
146
238
278
145
198
130
143
171
209
217
171
200
179
188
213
190
158
129
155
191
173
268
159
202
160
217
194
188
171
133
133
173
155
209
189
183
221
176
162
156
288
181
184
191
192
258
218
212
226
184
236
162
246
130
115
168
204
173
181
198
182
199
261
201
158
185
197
221
272
130
184
133
183
236
209
199
201
228
178
258
141
162
175
219
168
184
250
167
130
115
185
183
156
173
183
231
201
122
224
176
185
235
202
145
164
247
242
299
130
133
183
162
227
138
172
143
241
174
261
222
165
191
178
300
213
201
256
129
166
172
181
204
255
130
129
179
216
180
173
237
201
182
204
155
130
218
179
132
236
234
222
174
180
206
188
173
199
217
192
186
148
186
144
253
130
173
188
160
187
150
182
250
133
130
179
161
176
265
143
153
170
217
216
178
236
181
130
185
215
170
188
242
168
161
201
325
207
129
152
182
130
130
195
152
158
166
231
217
185
195
230
174
129
247
210
280
177
203
141
181
183
143
221
238
236
151
132
204
155
228
158
168
237
162
164
192
162
150
152
275
181
219
219
132
145
188
258
210
303
143
173
146
211
165
204
146
169
199
156
168
238
217
222
169
284
129
168
184
129
204
167
168
254
204
176
238
250
201
162
228
149
198
185
191
174
150
173
161
176
304
236
176
141
192
215
195
347
173
204
176
204
218
255
214
252
230
240
201
221
216
130
205
129
185
237
130
205
181
176
119
254
260
176
178
173
140
249
177
279
274
184
130
185
204
180
210
280
174
167
205
209
257
179
231
184
215
164
191
169
245
231
162
300
200
201
146
281
236
235
200
189
173
198
211
155
247
203
176
204
151
231
170
173
185
235
199
228
200
230
206
194
221
146
258
209
192
201
174
143
202
201
225
183
173
225
210
202
156
164
230
182
183
165
122
199
265
183
173
130
171
219
203
158
199
159
253
211
201
236
264
174
264
200
203
287
173
221
146
183
179
227
217
161
149
167
133
201
258
206
208
130
250
130
183
228
216
205
218
192
133
179
150
210
133
174
199
211
212
138
143
145
133
156
173
155
143
176
187
227
157
212
146
133
221
213
160
199
273
191
230
218
217
212
130
254
176
210
192
133
217
130
209
204
165
287
185
256
208
217
230
175
129
220
150
189
230
143
195
210
167
173
184
211
233
164
206
186
256
284
234
202
115
179
236
173
156
226
129
176
156
184
129
261
198
122
155
233
181
223
230
218
188
115
155
282
217
179
217
195
218
179
132
158
174
143
130
174
217
195
166
200
124
264
130
254
239
198
173
264
195
213
252
214
261
129
204
213
200
162
173
192
269
216
176
196
170
230
260
297
237
189
129
115
205
203
249
205
129
200
130
185
173
176
203
262
263
122
129
158
212
176
174
219
155
183
295
201
208
130
188
173
171
168
232
199
179
200
150
210
235
173
115
211
162
173
185
243
247
205
217
188
289
204
145
207
128
161
201
178
182
210
166
228
238
147
197
201
202
288
153
201
252
179
187
169
217
182
185
255
176
228
194
242
200
180
211
225
156
210
200
281
234
145
178
146
191
173
180
115
145
196
130
149
225
150
129
173
129
199
252
169
204
189
166
184
181
193
122
228
240
204
222
251
208
184
189
129
145
199
156
170
298
133
164
173
183
153
182
204
145
207
185
241
238
155
195
173
237
166
206
227
195
244
178
228
210
201
147
211
156
240
221
194
204
210
181
173
227
172
244
185
185
143
129
242
145
149
249
227
204
183
162
179
176
152
235
180
213
217
130
174
173
146
204
218
159
201
201
169
261
167
145
159
209
200
209
201
173
158
201
171
182
130
188
221
146
252
179
184
256
152
129
205
157
213
172
130
177
155
143
207
150
289
153
176
210
221
287
230
148
246
177
240
170
133
156
129
197
146
205
146
143
152
216
235
210
210
162
179
141
141
227
168
210
184
183
129
146
158
146
206
173
168
274
130
266
209
161
210
130
168
185
228
251
204
178
221
184
232
169
230
205
237
244
300
168
146
161
146
160
202
218
244
231
178
146
173
183
190
204
224
189
207
179
181
203
244
182
239
150
164
130
164
184
233
269
186
158
221
129
197
182
201
158
204
213
141
232
191
249
248
149
285
174
217
256
132
200
173
211
253
151
214
173
200
195
129
221
183
159
122
169
201
246
214
253
221
244
185
207
129
217
129
146
143
213
185
157
202
138
184
190
212
225
158
174
155
145
210
169
129
241
199
251
184
173
272
158
209
182
222
176
145
115
164
155
155
155
156
184
201
242
184
214
122
185
210
164
243
216
264
236
199
182
210
146
213
155
173
173
237
193
148
130
176
224
182
277
159
184
231
176
143
164
173
181
176
130
173
164
160
130
210
162
228
167
246
179
237
270
183
143
180
238
122
223
300
178
184
261
201
249
208
175
202
244
235
178
217
129
178
236
173
201
146
190
129
200
146
201
184
147
240
168
153
260
146
229
210
180
182
259
236
159
132
184
184
217
186
218
201
211
202
152
130
201
160
174
204
216
184
128
164
181
195
258
176
149
270
164
174
230
204
302
181
164
239
146
214
177
201
183
155
197
181
230
209
182
167
232
164
173
147
178
258
247
202
138
129
203
171
177
276
176
176
199
146
194
257
265
205
225
274
169
143
185
146
129
169
150
206
204
216
130
242
261
188
176
133
130
262
122
190
184
230
196
231
211
206
210
173
215
238
233
182
145
204
183
214
257
259
210
261
176
211
146
206
158
266
225
335
180
240
181
173
194
166
141
177
286
173
167
204
128
217
150
146
191
183
173
200
204
200
271
244
192
184
218
202
129
129
228
201
183
165
272
200
176
179
189
183
130
210
253
210
180
145
115
179
269
130
247
181
225
129
188
173
216
180
256
217
173
262
181
203
195
189
264
295
303
230
201
129
204
218
178
186
129
184
224
189
167
211
192
182
133
176
188
181
213
210
303
187
146
204
181
152
190
261
182
130
144
260
115
206
158
214
150
141
264
168
188
258
143
205
186
285
168
198
174
189
153
146
169
173
146
286
258
287
228
163
239
201
164
129
181
146
201
162
159
176
146
155
190
146
115
173
146
214
185
240
157
193
115
250
204
250
185
191
166
210
143
178
184
227
156
204
173
164
172
145
164
236
202
184
183
230
232
217
245
179
204
241
145
257
210
188
261
146
206
180
238
246
229
178
215
204
203
189
164
189
129
185
216
320
173
204
184
173
189
180
132
216
260
204
129
174
190
184
211
234
200
179
192
201
236
289
211
141
182
165
177
252
210
244
172
222
150
233
221
167
194
260
217
210
172
160
273
129
162
204
303
168
227
214
179
130
164
129
235
184
183
228
335
164
157
191
184
146
171
248
183
229
199
214
211
176
201
115
130
186
201
128
179
155
248
211
173
218
198
227
130
208
210
206
152
202
160
182
129
153
223
233
199
145
165
179
209
187
178
191
186
145
158
184
122
231
297
129
252
247
129
217
182
129
230
211
211
244
253
197
146
188
239
162
209
146
179
236
274
231
195
155
183
176
151
267
238
198
176
129
252
146
202
230
182
170
235
141
173
163
173
129
214
215
248
211
209
130
146
122
174
146
204
222
158
245
167
133
145
264
186
183
243
129
183
176
199
183
180
217
205
146
258
206
132
247
129
263
181
194
115
226
133
202
187
309
258
261
202
212
201
171
257
173
169
133
230
180
196
256
217
264
176
227
181
265
146
210
214
147
143
186
243
162
200
201
238
155
155
165
191
219
197
158
211
242
180
176
210
160
184
173
199
222
201
206
172
213
228
195
129
296
169
170
172
119
189
205
299
129
130
182
182
217
198
209
186
226
176
153
242
228
129
187
261
182
241
160
130
188
196
181
240
236
226
130
201
156
173
206
188
200
149
169
217
176
179
176
190
204
165
229
211
208
221
150
202
193
145
160
251
239
179
176
149
200
235
178
144
189
178
266
238
166
195
162
254
183
251
143
195
141
173
149
167
226
236
194
170
191
177
174
192
229
222
279
175
185
221
127
237
189
176
173
173
191
167
168
180
195
204
154
156
145
146
206
173
207
133
212
234
181
176
207
146
183
168
183
146
146
222
169
217
169
220
184
224
179
228
161
204
155
188
226
289
160
172
166
146
204
191
224
144
230
168
194
145
172
206
164
156
173
162
143
179
193
122
263
228
196
155
157
228
160
183
156
130
153
181
190
188
178
204
133
143
211
195
204
189
238
178
149
143
202
133
183
167
176
200
155
253
201
226
162
143
174
181
180
185
283
195
211
188
209
229
157
157
246
208
214
200
202
158
226
129
191
174
247
242
172
176
300
202
129
236
173
146
238
221
224
162
178
184
160
217
162
215
143
211
168
191
210
200
176
183
242
200
130
158
139
181
206
164
211
184
200
146
242
171
186
210
207
266
227
258
188
325
218
174
152
202
173
181
238
158
270
181
130
156
258
178
182
219
129
176
145
296
221
183
182
130
256
178
146
238
232
217
157
151
176
202
213
159
182
175
247
195
208
157
235
195
174
254
179
163
201
203
173
249
155
168
175
239
178
122
185
176
195
216
206
153
168
146
253
129
171
119
173
168
176
241
221
287
225
184
240
296
217
241
246
158
173
141
162
129
225
186
215
246
186
194
183
173
141
174
204
161
190
210
180
201
129
187
175
180
191
158
179
224
241
269
188
143
184
218
196
191
188
291
151
186
130
157
150
146
201
144
192
156
180
166
236
206
149
158
173
207
176
152
192
204
158
157
265
206
228
218
230
236
271
247
159
155
183
149
190
270
202
186
156
175
211
200
238
209
194
225
173
146
200
268
209
257
149
129
206
257
130
130
229
180
242
251
193
217
209
145
199
241
215
181
256
258
174
173
179
209
173
146
204
228
129
168
174
158
191
196
206
265
158
130
302
183
168
304
146
130
223
146
177
173
229
240
184
173
204
194
173
214
141
214
230
216
145
129
129
168
304
210
216
211
217
168
129
205
183
228
221
184
214
200
180
228
191
179
171
256
216
175
179
202
195
214
152
182
145
151
149
193
183
232
216
180
146
156
179
210
122
179
178
188
178
220
251
192
176
220
204
191
184
168
174
158
217
138
158
129
218
184
185
133
211
200
182
240
175
305
130
181
172
226
146
150
164
168
236
208
212
190
161
176
130
210
201
129
175
185
151
201
225
203
200
151
130
180
173
171
146
200
209
173
129
162
170
204
207
227
236
251
176
290
228
244
274
202
130
205
174
171
149
204
149
226
235
207
221
208
180
151
184
182
149
181
129
240
155
151
146
266
335
202
156
174
158
150
204
210
168
215
335
166
266
236
256
161
218
176
204
216
188
160
287
201
143
275
146
182
150
156
204
173
210
193
167
280
193
210
234
177
187
245
168
200
180
210
158
203
186
212
207
261
146
217
152
156
210
234
150
180
158
204
169
230
130
221
211
162
189
182
184
150
184
190
264
204
149
184
193
165
191
176
168
149
181
217
188
166
239
173
184
129
180
144
165
194
128
173
129
259
235
130
129
250
165
257
130
307
176
240
194
240
129
190
254
178
240
115
171
179
173
130
145
182
130
186
183
201
247
169
160
155
236
167
147
145
129
175
168
187
176
218
162
204
151
129
216
211
169
201
200
237
285
179
214
179
133
209
272
167
130
130
196
264
187
181
209
187
246
231
156
190
179
133
239
166
180
198
230
216
182
264
235
169
241
254
176
247
176
204
178
133
179
211
206
157
141
201
172
168
204
230
205
185
133
264
133
194
172
185
173
173
179
206
265
264
168
194
164
182
212
181
156
239
168
160
161
169
115
130
149
222
201
217
161
191
146
174
230
162
222
227
155
202
248
199
138
180
145
204
254
206
156
169
210
208
168
204
217
155
221
175
213
130
164
191
201
225
221
155
200
215
178
166
192
130
171
191
245
133
203
192
238
167
263
192
209
161
146
221
188
289
191
141
155
161
217
183
155
246
199
143
186
179
261
164
191
196
146
180
155
241
208
209
182
158
239
240
159
207
146
182
206
206
171
181
206
206
219
168
197
264
130
312
173
211
213
274
208
164
180
274
169
223
232
242
257
214
234
170
211
181
222
201
238
181
231
174
173
189
170
176
164
172
201
189
152
176
130
141
217
189
200
174
201
263
204
115
130
209
192
168
171
176
236
210
176
115
145
191
195
176
226
184
220
231
210
179
129
217
173
169
156
156
122
230
204
188
189
158
168
204
254
145
170
203
209
211
145
141
195
186
258
167
143
204
210
229
174
179
169
217
210
130
228
169
232
200
194
171
219
217
129
285
162
179
237
147
226
129
215
264
181
226
130
169
202
168
238
190
192
183
169
183
200
230
247
209
211
185
200
229
190
145
133
226
201
300
217
216
225
263
168
244
209
138
173
256
172
204
179
180
215
115
219
201
181
191
217
187
225
156
248
180
160
166
228
188
176
193
210
115
194
152
195
165
166
191
260
202
185
176
175
238
156
228
173
161
204
169
155
292
158
178
210
176
202
132
222
129
230
197
259
180
180
129
168
210
149
156
211
145
186
166
168
167
204
167
282
209
218
262
162
200
236
157
168
146
182
157
187
215
300
115
263
181
214
214
129
162
166
217
115
128
180
183
159
203
208
186
169
292
146
193
230
129
197
184
160
247
206
201
234
149
195
236
210
183
231
271
189
212
188
191
242
211
264
206
145
155
146
141
258
222
223
194
264
132
219
218
263
252
181
244
211
157
184
242
230
182
256
151
184
208
156
264
169
193
252
139
300
219
222
232
197
168
168
195
192
189
180
159
166
155
189
264
200
194
204
205
192
272
173
179
164
193
218
216
156
254
184
162
210
145
178
189
158
236
204
161
162
162
166
207
223
173
182
129
172
214
283
210
254
169
179
164
164
197
201
175
194
217
240
172
204
231
147
280
158
143
247
159
227
209
130
216
143
246
158
182
166
181
214
186
190
173
178
129
221
173
127
130
189
202
170
216
224
222
191
178
130
179
210
236
162
183
186
180
165
130
156
217
201
251
192
240
264
200
200
202
178
160
173
160
236
204
169
115
211
248
205
183
157
217
129
205
173
157
145
146
204
209
274
185
208
218
179
218
303
221
115
190
129
210
238
183
217
250
195
203
164
269
144
200
146
237
204
191
210
210
211
201
290
129
245
169
183
201
132
252
255
176
184
246
172
191
130
173
160
230
173
215
119
185
209
229
231
194
164
146
130
234
180
202
234
212
192
143
209
190
163
201
211
204
185
132
260
177
130
179
206
146
179
238
188
212
164
225
188
187
215
210
285
133
300
204
214
231
264
195
150
201
202
260
187
158
231
278
230
130
243
227
133
273
202
243
211
203
192
224
138
146
173
155
171
173
205
157
129
204
264
201
141
185
200
129
192
176
129
178
210
206
173
201
239
232
180
150
204
115
208
182
234
119
264
200
287
146
170
171
155
146
236
189
165
143
189
246
226
226
211
176
231
160
229
176
206
129
165
214
183
173
158
168
179
200
147
260
204
129
182
173
156
245
210
237
200
173
232
181
156
168
275
224
194
176
210
188
252
220
243
252
181
129
307
196
183
217
173
254
195
150
158
138
204
197
208
170
263
129
190
173
146
189
227
188
230
257
178
180
205
214
130
176
180
176
115
175
288
129
173
236
191
188
202
266
161
181
211
236
210
213
176
219
226
161
173
173
273
173
222
221
176
204
143
214
184
191
165
205
164
235
185
169
141
167
161
184
181
190
171
206
284
264
176
205
144
156
194
185
233
185
145
145
201
171
235
201
201
232
241
146
133
189
162
164
284
176
202
138
217
230
247
236
179
194
225
170
228
204
141
190
201
176
204
160
182
160
238
227
184
247
212
214
217
221
184
200
129
122
129
225
145
266
263
232
212
263
191
168
237
216
180
161
209
182
204
144
221
203
217
258
281
216
115
178
221
133
203
169
225
146
155
223
187
206
214
225
211
130
184
222
233
238
219
129
191
143
172
129
173
204
145
180
188
172
174
204
122
181
115
183
158
232
183
115
143
194
172
186
189
202
242
145
185
160
254
201
186
133
129
208
149
176
130
176
200
244
233
145
272
190
193
185
197
158
201
168
222
174
178
203
222
144
187
270
173
184
173
155
173
122
129
146
179
147
194
206
191
246
217
217
182
204
146
184
237
227
176
133
210
230
161
204
229
145
167
173
183
227
176
263
262
184
191
157
221
173
173
213
228
161
129
133
158
202
169
184
207
166
235
253
173
168
255
156
197
237
211
156
152
251
267
210
129
199
160
200
239
209
189
175
189
130
217
229
202
141
211
183
146
201
197
185
146
193
179
273
198
233
207
183
211
206
247
179
228
214
151
194
178
217
204
171
184
156
272
182
252
132
128
219
258
184
191
211
214
222
216
201
192
182
192
210
213
200
195
153
130
178
209
244
225
222
146
155
204
145
162
239
201
150
173
233
221
210
190
242
173
168
127
210
245
197
335
160
145
250
195
163
319
197
276
173
146
184
155
162
200
129
194
200
238
149
217
155
236
173
129
204
176
191
204
217
183
153
207
222
200
146
195
167
191
146
209
138
115
195
170
203
214
179
149
129
202
290
179
199
193
156
188
212
211
189
173
171
160
129
195
247
158
178
129
222
235
201
174
252
204
172
188
187
166
145
141
218
207
210
164
115
165
244
211
226
176
146
231
206
200
129
292
192
161
146
166
164
188
149
216
210
224
261
287
217
174
150
183
129
213
130
204
146
180
156
195
212
129
204
130
200
176
227
171
252
146
188
164
214
204
201
119
141
115
129
192
173
240
206
205
210
335
147
173
200
191
211
181
234
224
158
128
180
176
239
324
236
236
200
238
173
179
187
173
177
214
168
202
115
274
279
179
183
129
174
188
130
217
129
184
293
204
233
220
143
335
129
129
203
146
179
204
178
217
211
227
236
184
159
146
160
146
164
238
182
171
199
231
132
158
253
211
238
192
187
185
205
172
167
197
115
301
158
173
238
206
244
204
173
173
168
129
249
185
201
229
146
185
204
194
191
178
222
130
145
220
228
224
263
194
208
201
236
217
264
168
174
257
182
155
222
228
145
198
145
176
263
138
184
227
195
146
149
199
194
234
234
208
269
204
168
296
186
231
195
204
229
187
178
181
185
228
225
169
335
176
161
146
231
246
204
274
166
209
162
299
250
143
176
177
191
133
133
195
178
129
146
203
267
176
146
129
178
181
166
172
259
149
129
162
180
205
207
217
202
184
211
228
196
231
205
173
197
206
210
216
203
209
252
158
238
261
178
238
168
176
146
129
214
210
176
168
202
129
204
207
166
297
176
307
190
210
215
201
236
244
297
212
150
149
129
146
175
259
183
179
182
280
186
175
224
210
179
145
298
238
187
189
162
173
228
218
214
188
202
173
178
206
205
129
246
204
129
216
143
133
210
208
212
204
247
146
212
130
242
133
250
192
258
151
199
195
211
176
138
133
164
181
160
130
154
141
129
191
138
210
146
201
156
220
162
217
164
221
245
168
225
208
177
157
184
201
176
171
162
193
182
129
160
122
169
289
145
203
180
261
130
243
166
232
219
189
156
222
221
130
186
170
221
176
208
146
204
192
217
146
206
234
207
208
245
176
156
207
209
157
204
145
216
201
201
276
210
266
233
192
161
146
242
242
180
233
215
241
206
150
150
198
256
187
146
160
162
129
156
180
209
200
183
173
204
178
168
129
173
202
157
210
180
211
217
174
258
191
202
129
129
141
254
186
177
145
184
204
227
203
184
167
224
191
157
143
164
129
255
263
232
228
237
180
265
217
178
217
179
177
168
160
228
156
199
206
184
166
146
173
186
153
129
181
198
210
236
191
196
182
239
171
166
179
162
162
234
129
133
173
178
216
176
185
227
214
236
199
146
180
198
130
115
141
219
145
169
185
176
250
204
146
146
146
240
143
188
236
161
190
168
133
173
254
146
155
253
244
196
213
225
197
230
152
183
173
187
158
255
195
146
129
335
201
174
182
185
153
130
227
194
133
180
115
173
164
151
166
153
198
224
253
199
168
199
173
225
172
173
227
129
163
195
217
224
115
202
195
146
186
202
206
168
202
145
192
202
115
207
179
190
179
253
200
246
149
277
133
216
171
204
176
231
200
115
168
170
198
201
192
211
185
223
132
138
202
199
266
122
217
191
200
264
229
189
149
150
179
178
160
203
195
216
176
229
143
216
204
141
232
210
228
146
219
236
195
185
207
195
255
115
122
193
210
261
219
261
166
163
213
146
217
137
231
164
227
216
224
189
153
162
200
267
188
184
186
195
222
236
160
219
204
129
212
189
156
146
184
191
211
172
129
176
145
202
202
184
189
205
179
194
209
233
210
172
201
191
214
188
207
175
228
189
179
179
158
143
173
189
173
129
167
156
175
156
138
260
236
130
193
216
244
164
183
173
204
183
146
143
209
162
176
188
201
168
172
210
194
143
261
178
153
122
161
168
266
300
189
202
247
214
183
258
230
195
179
205
240
209
245
162
161
130
176
181
164
224
200
138
146
171
224
209
173
234
130
214
146
133
202
169
184
191
225
191
146
202
234
217
169
173
130
164
205
183
249
287
174
182
227
182
185
162
169
209
159
194
162
309
271
230
188
133
158
115
200
218
145
115
208
213
157
145
174
227
217
215
172
143
169
115
183
194
182
213
231
188
218
225
185
193
158
172
218
169
160
146
230
146
173
224
216
202
214
195
200
210
204
176
195
203
166
150
129
197
180
182
175
129
235
204
173
204
225
144
200
115
266
228
219
178
168
204
197
164
209
238
161
209
179
189
160
250
174
204
182
212
146
218
169
222
195
161
184
244
130
174
206
141
150
185
129
239
168
173
225
211
225
205
203
213
130
201
202
183
219
174
218
236
203
188
150
191
130
231
279
210
150
204
176
199
227
146
171
178
214
205
200
206
152
247
158
168
165
130
192
115
217
234
267
176
179
179
179
129
184
229
160
174
192
234
201
220
160
300
322
191
160
198
212
119
160
133
150
138
190
151
140
204
215
215
175
223
178
222
214
214
250
133
174
204
176
244
214
190
172
192
193
186
262
178
160
202
179
194
230
229
206
145
145
257
176
186
167
129
180
164
217
210
210
199
202
211
194
164
129
182
164
237
274
216
178
173
200
191
175
155
179
176
174
189
164
228
130
168
133
179
217
199
201
212
143
259
277
180
145
202
225
227
253
176
146
202
130
205
176
155
191
168
203
195
173
146
130
176
236
138
217
173
130
289
201
145
173
182
168
131
254
188
185
201
133
192
185
212
215
146
185
176
133
221
200
205
155
146
180
122
115
204
160
184
277
141
217
133
199
199
193
146
145
115
200
211
179
200
145
143
214
164
241
182
168
203
263
130
211
201
195
144
187
335
155
227
181
129
207
225
168
133
187
204
162
145
217
225
184
251
149
219
256
132
204
214
174
133
151
173
232
239
271
133
191
145
189
252
176
145
160
155
185
202
221
176
181
159
258
259
256
155
180
200
160
173
167
169
293
178
122
210
216
133
129
150
217
292
216
230
237
223
115
130
202
270
156
238
196
182
259
207
130
206
230
236
197
233
115
138
274
204
189
161
182
186
216
205
202
210
166
188
286
151
170
133
143
201
146
173
183
146
205
185
210
214
150
184
157
130
273
130
158
204
164
122
210
173
157
229
168
130
212
142
186
172
145
146
252
194
237
207
173
184
210
144
187
248
283
146
274
189
129
249
146
177
145
181
180
176
181
162
183
211
149
183
206
211
145
192
158
269
302
178
225
255
172
188
153
217
156
176
184
204
160
193
183
177
238
237
194
181
129
210
146
166
173
233
132
194
258
181
146
150
221
214
200
158
210
228
186
161
206
148
155
208
176
159
190
191
158
207
188
152
133
150
130
175
211
130
246
168
184
226
248
190
222
217
191
210
226
201
233
234
146
155
202
206
179
168
210
133
146
264
185
115
238
130
231
170
119
210
246
212
183
178
141
178
177
260
178
129
249
264
129
210
237
188
209
172
225
164
295
146
179
141
146
176
180
176
231
236
204
193
173
166
200
208
172
174
238
195
224
258
164
195
239
233
164
228
145
180
173
166
200
242
176
196
175
184
162
184
184
240
319
232
236
208
176
178
164
130
192
176
146
176
133
170
175
224
293
222
146
162
157
168
182
209
158
203
146
129
131
179
163
204
194
209
149
185
257
200
201
245
146
205
238
162
255
188
164
278
176
184
241
178
305
238
143
238
189
225
249
132
187
227
145
217
172
224
185
227
250
133
168
158
236
176
199
173
199
238
162
130
195
193
180
257
209
267
129
238
146
180
146
238
190
211
173
143
166
211
222
210
146
296
196
205
179
262
141
198
204
198
209
198
161
130
186
161
177
169
221
175
250
129
217
145
199
158
146
173
188
200
168
201
156
133
210
165
149
205
195
204
133
174
243
251
210
296
233
146
130
177
227
242
176
211
171
204
223
200
192
233
182
129
187
263
129
256
227
241
268
236
129
181
196
129
229
179
335
254
130
144
189
185
188
231
187
202
201
210
173
267
160
144
156
158
182
146
234
176
190
184
122
213
211
185
191
169
239
172
281
167
224
146
184
222
231
230
174
209
149
193
192
143
262
168
190
255
152
192
162
206
204
302
184
243
171
172
171
264
160
232
239
204
151
186
251
173
230
217
146
206
191
162
172
231
174
158
161
174
168
173
212
209
219
204
176
186
195
130
147
153
227
230
166
158
218
206
226
150
180
157
177
146
173
192
239
169
178
246
210
206
130
157
243
211
230
115
236
211
192
159
190
240
130
228
200
206
158
238
205
130
151
130
211
130
238
150
224
227
173
179
173
235
130
231
119
173
177
150
130
143
291
143
180
129
155
162
184
199
184
202
219
173
146
129
188
217
259
155
197
168
252
169
241
264
302
184
179
224
235
195
252
186
224
196
207
222
173
210
202
194
190
151
176
222
211
188
173
183
261
176
145
182
181
264
262
221
190
181
233
185
230
204
146
213
146
190
194
236
181
181
138
237
146
246
176
197
168
230
211
254
160
184
130
208
195
174
182
192
200
201
206
250
210
178
210
130
190
182
198
210
281
150
180
200
190
206
242
164
173
164
151
155
146
223
203
210
149
138
197
202
202
153
130
158
210
129
176
173
214
145
217
204
166
210
217
180
250
188
130
204
244
238
202
206
210
236
146
202
193
146
225
247
130
209
145
180
223
209
217
235
259
211
222
235
173
176
197
150
177
217
197
192
130
169
176
210
129
160
230
196
204
130
192
213
189
255
146
179
265
130
225
229
223
250
173
171
202
216
218
179
244
193
187
141
130
192
204
225
225
193
230
229
221
227
214
158
115
236
157
167
202
207
141
249
201
149
209
210
222
211
225
246
143
176
209
168
246
184
172
202
176
264
161
191
208
301
264
146
220
186
130
115
143
147
158
176
195
212
200
161
183
192
179
129
227
250
184
202
161
182
195
232
166
191
173
228
221
201
181
190
146
150
236
158
217
170
130
160
173
180
184
162
254
222
209
190
162
184
145
200
150
223
212
215
176
204
177
179
210
174
185
130
169
177
189
176
206
129
133
316
197
129
376
247
158
210
146
200
191
115
211
221
188
194
209
217
129
238
272
211
170
189
201
254
130
150
203
204
217
219
283
169
162
248
234
244
174
168
156
170
241
272
183
248
180
246
243
230
211
233
196
167
206
190
130
156
130
183
191
129
240
182
225
187
173
209
179
184
269
197
149
162
176
178
220
173
256
190
166
184
192
206
217
226
133
247
277
151
180
184
211
155
185
130
182
143
158
202
206
115
206
173
187
171
219
176
220
226
146
180
176
185
246
196
247
217
210
203
192
197
313
175
210
222
204
162
158
152
184
244
176
216
210
181
204
172
257
192
129
141
143
184
204
173
178
143
130
208
162
239
141
211
176
180
141
182
252
195
199
130
115
210
202
206
218
199
119
200
264
260
261
279
199
160
204
129
204
166
119
173
189
162
220
220
182
186
188
181
216
272
178
236
201
182
203
146
214
208
212
201
265
143
201
133
157
227
153
214
181
244
266
200
256
176
267
212
115
209
184
191
183
149
152
182
215
192
215
220
143
184
211
172
199
187
194
201
211
201
173
272
157
229
211
269
191
171
215
173
129
192
146
129
227
239
171
130
231
236
128
130
222
230
180
179
202
173
222
247
189
166
207
173
257
176
239
130
270
160
157
173
191
115
174
267
210
173
200
146
179
217
164
244
253
129
263
168
143
211
129
219
157
218
208
189
115
180
205
238
204
241
192
238
204
288
174
201
230
143
200
158
211
122
201
199
210
146
129
165
181
210
202
178
237
176
211
272
173
189
164
195
197
206
185
207
156
205
192
230
167
160
217
226
146
261
122
274
246
182
211
173
236
261
189
215
179
187
155
190
143
204
204
130
191
236
200
183
162
115
184
213
255
133
218
242
195
184
183
157
191
214
160
130
146
312
191
216
211
198
146
141
158
240
156
129
185
186
133
203
242
272
264
218
202
156
130
162
129
130
156
212
150
210
160
173
246
175
175
204
222
164
178
214
141
236
176
247
207
188
173
227
181
183
179
221
184
271
216
187
236
174
189
191
155
182
226
176
190
164
222
129
239
250
129
233
168
191
211
203
198
184
249
205
214
194
234
194
233
184
204
218
217
129
225
164
182
191
224
202
173
162
157
213
215
127
130
173
160
195
158
217
211
151
167
175
292
162
181
150
162
238
221
197
228
200
115
193
207
188
240
242
195
254
186
158
129
130
239
153
207
228
138
203
194
168
206
198
238
174
264
168
259
216
232
180
156
179
287
217
191
176
181
217
237
217
241
146
151
174
176
200
155
230
205
256
180
205
183
228
251
173
229
141
246
201
202
209
155
163
115
173
202
176
155
173
164
213
191
138
218
180
176
194
230
162
187
210
146
143
183
216
162
256
173
176
141
169
161
164
202
143
158
217
182
228
122
231
184
146
209
172
173
204
173
130
210
215
176
188
187
211
157
164
225
178
168
168
146
203
184
235
162
145
119
207
265
162
191
146
129
182
168
176
206
176
243
193
283
208
173
204
258
178
179
210
227
146
204
236
186
200
273
200
146
143
185
158
238
178
145
187
196
162
172
195
256
180
227
168
150
209
218
162
166
230
229
133
217
225
133
180
156
185
158
238
173
226
217
219
212
129
200
157
195
185
159
255
200
168
203
130
204
176
129
200
173
185
143
141
189
143
181
244
189
208
191
210
236
184
182
146
183
158
174
229
146
145
146
201
130
214
150
225
185
200
287
181
157
202
201
259
175
243
200
182
150
253
176
239
204
238
129
156
164
143
162
233
178
186
173
226
216
283
195
133
202
168
273
219
258
200
172
194
230
300
129
172
162
160
242
191
207
182
176
193
257
164
150
218
218
186
264
168
185
270
141
255
133
192
230
138
156
163
211
203
199
197
211
175
202
162
182
132
250
198
194
259
178
158
158
170
143
209
243
204
222
176
170
272
181
245
182
210
241
162
176
235
206
175
175
181
258
146
179
238
174
173
166
173
145
227
201
161
229
143
146
236
150
191
169
128
189
247
204
176
143
247
188
190
239
161
236
173
152
171
210
210
160
215
222
225
163
188
210
231
204
239
200
199
205
166
174
115
221
182
173
164
172
228
184
222
202
194
173
206
184
174
230
176
174
141
180
201
211
225
210
193
162
182
233
193
200
217
143
157
214
162
208
222
145
231
210
215
204
161
203
204
181
172
130
165
185
202
153
187
188
170
160
224
182
217
146
144
150
229
168
191
157
248
217
130
184
130
200
221
138
143
217
186
183
169
197
130
202
122
180
205
151
176
259
260
212
129
197
157
300
169
210
168
162
178
173
183
144
149
221
200
288
197
181
187
202
156
212
185
203
221
238
186
209
238
264
203
130
192
184
236
213
115
168
183
193
217
178
210
257
175
176
132
171
234
183
204
211
157
210
258
204
262
193
266
178
157
199
282
258
184
187
180
233
178
115
185
190
179
171
143
168
179
217
186
208
201
173
176
224
149
189
192
161
186
172
212
178
236
228
203
225
145
192
176
208
202
300
186
287
188
210
186
115
156
158
287
176
249
189
200
202
255
206
262
203
237
140
174
243
222
166
184
252
197
162
259
173
151
222
185
223
181
186
188
192
259
174
176
129
149
191
169
184
210
164
168
133
174
183
146
215
231
177
169
202
184
219
219
254
151
181
295
231
176
207
195
152
194
239
204
193
160
218
146
167
145
189
192
306
182
266
220
214
176
217
145
139
210
240
146
206
171
244
204
204
259
173
168
157
182
215
146
181
200
181
195
178
172
191
187
192
225
174
175
146
217
180
150
180
262
173
176
185
175
200
188
146
236
144
169
221
130
173
191
145
162
235
237
145
200
189
130
161
157
156
239
159
156
115
162
186
168
173
195
211
145
217
182
146
246
210
184
214
211
206
185
280
203
167
170
184
238
210
206
182
231
130
173
141
133
191
217
185
162
189
194
150
193
206
252
188
129
197
176
178
180
178
177
129
206
201
129
230
263
239
147
298
129
170
155
143
218
224
204
195
173
188
150
184
222
236
129
169
266
168
182
145
145
204
187
130
175
173
215
296
181
159
156
228
194
194
227
143
184
240
217
185
182
130
184
237
185
219
173
211
211
184
204
169
129
212
156
210
164
200
188
225
239
168
168
256
213
289
203
204
175
152
275
145
129
236
146
184
150
141
187
162
130
218
231
141
267
181
167
244
199
119
167
254
184
188
191
146
146
184
162
191
145
155
204
173
192
200
146
222
233
184
183
249
182
133
173
155
189
205
206
157
171
229
270
130
242
146
227
202
224
129
190
238
270
129
230
173
188
129
155
197
145
203
133
166
169
150
200
145
217
227
186
176
168
183
170
195
184
208
196
152
176
146
172
149
192
229
239
156
209
156
146
277
166
281
151
210
258
115
200
228
287
184
211
230
244
158
191
272
129
202
150
195
183
146
246
261
224
221
214
217
207
201
198
164
221
181
335
165
166
182
181
129
242
181
242
171
274
204
162
229
220
266
129
155
182
250
210
158
200
195
225
115
215
252
259
249
206
203
241
145
180
211
202
122
230
178
212
214
186
181
193
209
236
238
180
238
202
146
217
146
239
191
128
212
168
202
222
222
213
174
200
145
179
228
182
187
202
168
179
150
246
208
179
239
129
130
130
176
198
194
240
189
115
161
181
147
176
191
207
211
171
214
216
286
252
166
168
241
152
220
238
204
261
162
185
164
228
288
164
195
166
129
216
183
202
225
242
204
173
213
191
163
167
130
230
133
225
148
180
225
177
190
250
214
204
159
144
195
170
147
185
164
173
217
160
211
206
200
238
250
162
218
176
249
234
146
171
163
184
178
129
169
211
191
191
153
198
203
212
173
173
197
202
170
201
145
217
194
146
202
172
173
216
240
191
277
146
258
228
166
283
234
198
202
166
206
212
204
241
210
183
211
240
182
193
197
173
146
128
187
115
168
115
143
214
132
184
211
173
168
207
133
214
169
192
209
232
215
216
133
213
198
149
282
242
210
228
173
129
185
187
186
167
236
168
146
176
183
179
164
146
143
162
167
227
132
228
174
203
130
254
176
224
144
234
199
252
189
231
255
222
162
203
212
210
249
164
162
240
158
227
173
210
130
199
263
175
206
222
229
219
179
145
194
211
162
145
183
191
141
115
176
158
238
184
256
168
225
251
146
180
145
191
221
228
164
176
236
217
246
335
222
182
119
178
157
176
161
250
173
173
173
143
207
247
182
129
129
217
200
155
204
230
193
211
190
162
165
146
183
178
230
198
190
174
210
234
193
183
184
183
174
129
202
174
246
146
129
144
205
255
233
221
130
174
167
255
201
231
176
189
122
184
204
224
208
185
129
220
296
209
210
160
217
143
176
173
233
254
173
202
178
211
241
149
228
236
174
182
168
133
190
189
213
160
152
165
191
240
191
275
239
195
176
255
250
227
201
130
303
179
203
191
195
152
214
275
224
129
172
248
198
162
211
180
166
194
190
210
176
217
221
227
286
191
186
193
229
172
297
162
192
168
236
146
211
208
163
260
228
218
164
204
192
210
238
146
143
200
211
206
179
183
178
228
200
133
173
184
173
194
254
130
162
181
129
186
190
200
186
130
173
261
179
224
119
143
173
141
152
176
183
154
164
130
138
201
145
176
176
211
201
211
247
202
168
179
205
231
115
130
183
160
182
184
175
167
217
130
222
221
191
185
138
150
229
193
188
156
173
115
252
200
160
171
168
230
156
232
167
138
214
250
269
192
244
156
185
145
205
221
231
170
217
203
179
287
200
141
158
222
180
162
227
146
200
162
176
211
143
245
265
189
191
210
219
224
241
199
174
195
200
190
179
129
168
198
181
173
173
204
146
211
272
188
205
172
129
155
115
173
157
237
211
211
149
191
192
144
238
260
222
225
177
239
264
197
130
239
225
192
238
214
133
181
146
225
218
146
174
214
185
204
145
146
144
230
235
162
204
237
172
192
168
210
261
143
177
194
164
155
173
143
204
241
176
153
180
179
204
210
153
201
218
144
275
296
176
212
217
138
248
184
202
204
162
168
189
191
179
190
150
210
259
128
172
206
167
182
184
170
202
194
221
184
184
162
168
158
173
250
235
164
130
173
155
202
187
199
190
183
130
129
150
230
180
184
209
169
238
146
146
231
173
185
212
179
202
211
206
160
200
201
274
197
143
206
188
164
244
141
173
212
205
195
182
156
236
144
221
178
146
193
149
208
213
222
168
193
230
133
245
173
160
294
211
167
184
210
182
129
222
129
151
258
200
171
130
176
183
204
151
180
173
197
176
250
115
176
267
197
132
188
229
171
158
228
179
129
234
186
183
229
228
215
181
191
207
238
179
164
156
217
189
168
212
145
162
217
194
188
200
188
210
203
192
204
274
145
198
133
210
204
146
242
164
169
173
169
147
200
226
146
190
207
178
147
221
177
224
176
263
217
144
255
146
166
188
185
189
236
204
211
173
224
195
194
219
237
186
173
129
184
185
192
146
176
176
204
129
207
160
189
214
230
228
213
192
138
193
164
184
182
240
158
181
204
204
173
138
218
195
176
149
150
205
156
220
143
212
167
183
194
236
200
176
193
188
236
225
178
176
146
204
166
231
150
201
190
210
172
158
206
189
198
195
176
210
173
205
212
176
162
141
240
145
210
205
192
159
192
143
214
149
252
172
197
248
182
129
168
146
180
206
160
182
238
195
241
171
182
166
239
236
221
241
180
217
115
180
133
129
181
256
249
159
167
222
178
210
230
246
164
143
146
172
173
180
234
129
191
237
175
217
214
235
201
188
249
186
217
212
200
225
198
158
130
242
227
178
157
214
184
189
146
216
130
156
173
188
176
174
191
250
172
172
194
201
146
215
163
230
192
201
143
173
223
185
204
181
202
210
176
202
133
170
283
147
133
221
173
273
185
228
278
202
239
209
190
193
186
115
146
115
153
164
241
178
173
255
182
119
146
133
182
218
157
265
191
141
129
227
227
149
200
182
262
129
197
183
166
143
244
242
181
261
184
146
174
233
183
157
226
211
193
167
183
227
204
166
168
185
115
217
225
203
195
227
184
176
280
206
210
146
129
168
115
115
192
200
217
269
244
209
186
146
166
191
179
194
219
217
215
163
210
172
217
155
291
194
211
222
178
115
172
149
258
246
182
162
204
192
236
189
290
249
194
236
145
182
193
184
264
262
129
178
203
199
145
197
176
234
238
200
238
162
146
190
229
187
146
244
278
214
178
182
252
193
169
183
216
265
141
130
164
178
146
238
254
306
168
145
193
174
176
203
168
205
170
232
169
199
143
226
209
204
263
247
217
216
158
300
204
209
145
146
156
214
250
228
145
188
200
230
155
141
211
169
241
185
201
234
183
231
146
149
225
176
246
155
202
141
221
202
184
182
248
282
143
222
162
276
210
146
189
176
184
173
181
176
232
221
225
204
182
169
149
175
217
170
179
210
164
189
197
215
158
181
199
218
146
169
155
157
189
210
179
204
180
251
216
238
144
133
129
150
160
201
129
182
211
146
188
187
197
264
168
169
179
217
257
178
138
255
213
174
145
182
256
179
279
200
224
179
115
170
257
129
222
241
189
149
144
164
202
115
155
129
230
205
259
129
138
157
178
209
167
129
177
130
245
297
248
146
201
191
223
130
234
173
155
211
217
208
202
129
251
173
156
208
173
266
189
145
202
228
201
204
130
164
162
164
171
184
171
255
230
145
231
166
162
133
179
199
182
143
247
256
164
201
221
264
130
146
150
167
218
161
188
210
188
210
119
232
119
176
214
206
206
169
197
220
187
164
188
146
204
228
186
115
146
146
227
169
183
211
210
207
187
222
130
239
146
180
282
168
149
164
164
211
187
188
191
289
173
204
172
230
184
272
187
208
162
163
158
202
197
174
132
200
158
214
211
182
133
150
168
122
191
214
180
208
204
164
138
179
172
155
216
203
190
204
133
115
193
192
253
187
209
206
180
246
235
183
202
203
202
201
176
199
130
182
162
190
189
233
211
263
184
145
257
146
230
188
130
242
177
256
165
305
146
162
193
204
201
153
184
189
183
165
193
223
143
176
146
194
229
264
170
206
133
158
239
211
178
169
151
174
294
231
182
207
151
188
165
218
130
258
178
129
216
115
133
212
187
180
177
168
190
267
184
184
188
183
147
168
220
214
195
190
173
171
232
130
144
225
158
211
240
130
189
179
189
191
264
226
146
204
183
157
186
215
236
141
223
178
176
180
170
130
244
130
201
161
184
209
208
158
274
210
173
254
162
162
183
201
202
168
212
256
200
206
176
219
212
179
133
264
211
180
204
146
165
222
168
228
244
204
199
202
163
130
183
178
227
152
173
221
325
281
145
206
132
162
302
206
215
133
159
145
202
201
179
201
262
151
176
178
141
191
217
129
119
222
187
204
129
239
184
171
129
169
201
204
122
171
298
146
215
140
198
230
160
199
227
222
204
259
146
224
146
247
210
145
245
194
166
184
211
173
210
189
193
146
211
241
229
149
187
199
276
239
130
204
146
169
191
274
160
236
202
176
150
203
181
187
231
185
207
202
181
217
145
157
209
182
191
227
173
233
190
252
216
210
173
187
228
185
143
204
187
176
201
160
238
191
172
254
202
205
115
202
214
238
162
150
205
164
202
133
151
253
174
178
115
157
222
129
229
170
185
176
169
199
148
210
206
149
195
155
186
146
176
186
170
261
192
226
180
174
176
212
190
173
178
196
201
217
162
234
174
205
210
173
146
261
129
173
152
183
236
196
335
115
173
204
130
286
146
158
130
198
191
155
242
156
216
160
166
158
164
224
146
129
212
166
192
122
199
192
189
202
129
231
236
210
156
216
173
244
129
261
169
167
210
263
237
133
200
242
173
182
119
247
183
182
237
202
202
202
239
178
235
130
169
143
204
274
115
133
129
189
210
193
173
147
142
234
133
180
201
191
204
129
182
182
264
217
225
169
260
145
263
189
173
174
165
187
158
182
196
178
179
183
122
150
174
156
146
192
202
201
167
153
163
173
205
209
206
236
221
210
146
185
179
192
159
130
207
183
179
184
186
214
226
183
210
178
235
179
170
197
204
168
187
129
170
230
200
204
155
149
210
163
176
191
185
198
235
217
194
167
179
173
242
164
145
225
214
240
204
230
158
192
198
173
274
122
262
218
204
250
210
167
208
150
240
213
239
236
221
173
183
210
205
176
203
210
128
182
149
179
175
173
221
141
162
236
143
241
164
182
183
221
210
275
211
189
204
259
169
166
254
202
204
180
204
199
168
180
211
179
161
173
115
191
262
214
151
145
184
261
183
198
173
194
228
211
130
238
235
211
264
161
155
236
205
156
200
173
184
168
143
183
195
142
202
168
230
204
191
221
214
176
204
129
157
176
173
158
173
115
260
176
189
130
200
202
225
176
185
150
208
201
168
190
217
221
217
211
143
210
184
238
180
230
115
183
185
238
158
207
210
246
185
131
228
130
274
172
145
173
210
222
200
166
173
239
206
211
172
219
210
248
214
165
211
183
170
204
183
256
207
145
156
186
153
230
180
173
147
204
179
153
224
158
190
152
240
230
197
173
200
207
197
163
130
195
157
173
236
184
256
219
254
200
230
205
164
221
281
251
217
149
206
207
237
219
178
167
220
200
204
216
152
158
164
270
236
247
225
222
226
162
168
184
155
209
201
188
149
132
168
249
162
169
193
115
148
164
119
202
252
184
227
202
130
165
209
176
238
198
157
206
223
138
162
158
230
130
188
217
210
157
241
130
203
238
155
189
173
210
236
175
221
218
178
185
208
195
141
190
242
237
179
214
278
211
262
178
129
217
164
240
182
162
186
206
188
178
236
270
210
171
193
129
211
201
204
225
162
195
204
203
181
178
209
197
217
177
188
195
156
239
287
184
164
238
155
189
234
211
130
176
185
166
179
189
173
229
186
151
214
182
210
176
242
130
169
161
261
129
191
214
178
175
185
166
194
206
149
179
213
166
218
233
183
155
178
182
179
190
226
182
204
151
172
185
160
239
173
201
224
203
213
181
173
176
239
122
130
226
173
204
166
156
132
177
146
179
184
168
212
216
130
149
173
158
187
161
141
150
225
222
222
206
129
219
230
180
240
254
145
214
210
247
188
263
217
208
223
217
180
167
145
241
227
238
253
184
178
131
130
155
161
195
264
211
220
212
202
115
176
225
185
204
263
213
170
225
184
146
207
189
227
187
224
173
188
244
129
130
210
170
211
205
233
171
229
176
263
218
204
203
176
202
242
174
204
133
184
268
176
211
209
187
231
222
217
160
215
263
193
218
213
176
130
122
172
146
169
129
168
211
157
146
146
162
201
168
225
200
254
214
159
173
289
153
192
179
259
161
186
238
128
173
200
193
185
146
176
130
203
129
130
161
236
186
166
277
188
138
192
176
178
263
255
188
130
155
155
217
184
141
164
202
261
182
217
201
173
162
204
236
202
173
275
195
169
239
209
186
174
300
230
129
144
248
192
162
324
159
170
138
239
235
173
179
179
193
213
170
220
222
184
179
179
160
201
279
182
258
197
204
218
210
204
222
150
145
169
176
222
175
146
182
247
182
172
211
178
263
266
228
162
146
173
175
146
225
179
176
228
193
171
238
163
204
197
202
168
247
129
184
176
149
156
198
235
294
214
220
189
176
115
240
217
164
164
211
172
231
210
147
145
174
164
138
172
184
146
185
179
172
184
150
215
157
189
181
168
115
130
201
195
143
172
173
200
199
184
216
229
232
130
250
202
168
235
170
149
229
265
164
129
147
202
230
204
243
185
179
171
239
210
204
230
200
184
205
231
191
180
190
179
217
164
168
197
219
216
179
187
202
227
212
232
187
191
221
211
191
173
179
249
241
169
177
164
244
182
208
182
176
115
236
138
130
241
179
154
165
190
178
217
170
188
185
115
222
204
203
273
141
178
173
259
216
145
250
206
242
201
264
162
138
231
153
218
143
230
203
170
166
133
155
130
211
183
240
220
158
185
201
162
199
153
204
158
211
156
168
168
184
146
196
146
146
166
194
194
257
146
132
192
146
256
207
237
206
130
174
248
246
197
158
150
176
221
185
210
178
157
185
182
197
183
236
221
293
202
198
217
129
155
204
194
242
176
129
138
173
200
230
173
164
188
204
183
287
300
141
202
173
130
258
205
160
128
168
179
115
157
147
327
179
234
182
145
170
175
274
166
237
224
236
164
149
184
203
176
246
191
195
217
251
180
262
234
220
152
176
198
255
176
248
184
167
168
193
247
156
178
156
223
257
190
221
151
188
247
210
182
204
165
203
167
208
187
184
258
156
194
195
303
186
130
206
146
137
238
162
146
186
158
324
321
130
303
130
198
265
190
146
275
173
183
190
153
183
179
264
200
230
213
170
161
192
158
184
210
203
195
206
227
154
200
149
255
162
231
164
132
183
239
202
130
162
184
253
242
408
195
155
180
170
219
222
255
152
174
235
188
335
239
171
129
184
238
239
184
162
159
247
221
209
242
186
236
192
190
290
146
146
173
145
183
176
184
174
201
219
200
185
181
228
210
168
194
228
167
181
193
288
204
203
151
174
204
160
208
161
129
146
221
201
184
146
163
222
157
179
254
208
173
217
197
320
251
255
230
232
180
211
257
163
274
202
173
174
236
175
115
229
185
173
251
250
211
286
160
188
202
173
164
164
217
201
241
186
226
179
202
149
178
182
236
115
175
173
204
213
186
165
217
205
201
219
146
212
183
206
183
209
174
153
281
229
181
146
194
130
202
133
208
253
218
168
233
217
204
184
176
214
198
147
145
176
166
179
208
250
274
201
170
183
179
205
218
193
204
174
158
146
240
162
206
167
182
201
146
201
133
129
146
194
204
206
193
176
168
161
164
176
129
182
221
230
176
206
228
211
216
217
183
183
189
191
164
178
160
261
220
130
182
180
176
150
238
206
201
137
200
201
238
175
176
140
177
147
141
201
215
293
130
146
192
207
210
115
149
206
155
211
162
212
187
219
277
238
129
201
246
151
167
210
210
130
183
201
210
129
210
236
180
174
225
146
165
145
160
186
229
301
184
250
210
229
210
233
227
160
129
177
182
205
145
131
215
186
204
183
294
227
258
176
201
182
155
168
252
170
218
236
183
183
145
129
232
222
173
157
193
129
247
146
129
222
203
227
180
267
163
186
127
204
220
146
129
158
152
197
115
150
214
157
246
190
228
191
171
173
210
130
162
199
133
195
217
204
161
203
155
170
261
253
176
281
214
204
245
176
132
265
173
189
130
166
182
181
173
209
210
129
130
182
174
243
175
244
222
183
162
226
222
219
194
259
201
247
180
173
228
221
164
183
179
247
246
252
175
264
180
200
194
218
130
133
177
145
168
150
204
185
258
211
187
247
214
155
119
204
204
205
200
184
189
222
168
130
176
155
239
194
182
273
179
164
202
129
177
155
230
238
231
262
154
133
200
195
200
191
115
254
190
303
274
246
183
141
206
259
235
188
206
238
238
162
204
150
204
207
216
161
175
217
167
202
159
210
194
177
161
258
165
239
193
162
162
129
187
242
155
225
215
183
189
173
176
202
179
130
180
158
180
173
130
252
151
240
249
193
176
199
178
219
222
181
215
230
199
218
129
218
168
174
200
203
228
150
157
145
214
201
177
169
168
130
217
185
219
221
185
157
183
184
172
298
211
173
166
236
143
173
182
225
231
185
176
228
183
129
184
205
280
205
184
161
162
181
216
168
181
147
206
217
207
177
130
223
130
129
196
146
214
176
164
206
218
237
182
283
161
161
173
160
218
234
216
230
204
115
143
150
194
155
129
184
184
138
149
176
165
264
195
201
146
201
197
217
184
200
212
201
201
182
194
173
195
191
164
187
184
154
200
208
226
202
188
245
163
201
203
200
184
230
190
119
219
217
208
216
152
146
188
160
202
164
247
208
231
273
166
145
158
129
201
190
228
188
182
184
143
230
168
172
190
198
217
209
169
182
201
185
183
239
262
129
129
179
158
164
191
176
242
180
176
160
141
170
160
130
189
204
157
180
217
149
235
164
178
202
217
130
176
203
165
194
171
166
190
203
187
232
181
173
133
166
258
181
170
210
176
204
209
230
201
236
291
171
179
230
208
129
261
193
144
228
122
214
313
188
143
214
201
181
207
173
190
168
214
194
212
280
185
156
191
185
141
130
129
205
173
199
210
209
176
129
222
160
189
144
188
173
181
201
203
282
178
248
197
175
207
173
227
222
182
252
204
188
227
214
225
170
146
263
161
191
200
180
164
160
240
216
202
128
183
164
146
129
158
168
228
250
145
268
231
182
150
184
115
163
211
130
225
174
232
221
169
200
211
204
224
179
145
259
182
241
227
173
159
186
155
207
129
223
144
280
173
160
143
202
130
264
204
185
242
168
184
187
252
159
205
129
238
129
179
122
207
222
183
143
168
209
230
183
211
162
212
177
211
221
172
190
158
129
227
193
191
204
156
230
192
218
160
266
176
175
195
144
197
166
261
220
154
144
183
189
252
130
149
235
164
173
162
178
196
238
215
129
250
283
227
223
156
222
192
206
204
146
208
141
174
182
155
212
166
258
176
115
192
157
235
205
146
192
191
164
219
174
162
115
133
203
211
146
145
158
146
228
227
185
236
145
206
212
156
149
130
230
206
162
283
175
263
238
152
167
172
225
261
181
183
238
244
146
206
212
239
174
172
191
232
138
168
184
200
217
164
173
164
200
264
176
172
138
166
187
184
199
158
157
141
158
225
158
155
158
184
200
168
147
129
227
151
145
200
168
206
122
157
180
176
195
238
183
223
246
210
146
200
144
129
160
203
264
228
220
240
212
239
225
143
245
201
222
174
157
173
178
184
193
193
210
185
280
208
221
168
155
147
198
180
240
150
173
207
185
130
188
179
167
164
204
129
184
129
183
239
204
115
176
197
179
213
183
186
176
130
229
164
199
172
176
148
270
204
194
130
143
278
226
183
259
164
164
179
140
200
209
155
227
220
150
176
232
165
137
212
202
164
155
225
190
239
222
201
230
161
202
199
157
149
238
164
150
155
158
233
167
146
183
204
176
261
146
145
201
138
203
246
182
174
198
173
133
178
188
198
194
171
202
149
231
246
217
262
190
191
152
159
175
146
163
164
226
236
211
210
173
147
162
210
208
143
155
128
203
182
156
210
173
198
192
236
273
170
165
182
115
275
164
247
166
170
170
130
145
158
226
141
207
130
165
190
183
206
130
164
203
206
173
201
145
145
158
172
129
265
219
212
203
235
138
214
185
242
229
194
129
183
223
221
206
216
227
222
202
241
189
190
152
156
249
146
179
194
130
204
204
180
267
204
168
234
130
353
213
226
174
161
141
201
192
234
189
217
147
200
178
197
201
129
180
130
143
150
174
233
181
184
226
204
264
122
191
173
212
210
210
188
237
187
168
146
225
180
194
158
200
213
173
252
129
179
209
162
188
220
144
237
183
215
184
252
156
229
143
169
262
168
201
267
161
202
151
161
266
173
217
211
180
161
173
193
204
217
283
190
161
260
212
130
238
204
162
185
173
176
284
252
248
204
230
129
277
213
129
133
259
145
174
204
145
253
217
129
133
176
262
233
222
246
168
189
155
130
218
210
188
176
146
178
300
181
179
256
265
173
205
162
193
164
236
130
193
133
246
204
187
219
198
212
216
129
187
172
264
236
194
239
182
173
129
189
194
130
144
159
155
217
202
158
202
256
133
173
205
185
178
115
277
243
156
129
160
193
157
176
205
204
178
187
201
225
170
227
179
201
224
151
246
182
193
174
174
176
210
183
204
143
210
234
193
210
129
183
146
168
206
200
176
255
255
133
211
211
183
179
164
217
210
173
191
246
202
176
273
193
193
130
204
128
280
222
227
130
236
181
246
265
250
178
204
145
214
204
211
194
201
168
179
246
173
209
173
188
208
174
218
174
115
226
165
275
226
219
237
211
191
173
224
132
239
191
133
173
283
194
129
264
180
256
173
178
214
193
213
194
248
145
173
129
180
211
172
172
214
204
200
176
166
214
203
173
335
200
202
162
200
225
249
195
146
156
192
176
204
141
130
230
209
201
200
230
183
199
172
173
138
183
184
229
168
198
129
196
217
168
228
213
225
211
284
119
253
173
169
155
194
188
162
115
173
221
181
155
129
264
214
195
263
238
169
145
145
210
173
168
133
138
191
237
119
185
180
183
195
222
225
299
130
130
183
132
217
179
176
164
227
210
129
209
200
195
193
174
149
170
183
209
264
147
258
180
184
231
133
209
180
162
188
146
186
164
159
141
207
195
172
277
173
182
245
173
188
225
201
181
292
139
187
182
146
207
141
173
210
146
216
224
204
132
197
169
183
222
144
157
161
190
195
228
129
143
214
146
185
191
181
188
151
147
246
178
184
200
229
217
268
170
169
192
152
146
240
234
188
181
259
251
240
210
210
180
238
173
129
202
183
261
206
217
239
130
159
210
133
232
204
162
186
156
153
234
130
200
171
188
179
165
169
230
173
145
176
147
183
161
141
115
211
150
220
202
146
178
167
180
237
162
207
164
256
153
130
211
242
200
146
233
197
192
211
244
172
202
162
227
213
199
209
194
214
189
232
168
188
162
173
256
176
175
146
217
166
210
161
191
195
237
335
239
200
325
189
173
122
189
184
204
173
180
176
191
167
201
187
269
238
204
177
173
158
143
194
182
230
176
155
211
205
280
191
181
235
162
146
144
185
161
173
236
182
155
228
130
162
204
182
245
204
115
240
211
171
178
119
190
184
172
202
130
182
163
194
168
158
146
183
192
179
197
224
169
143
129
183
178
189
179
180
180
210
173
207
216
204
209
265
146
129
213
230
216
238
162
210
248
130
245
262
221
200
145
211
197
210
206
182
230
174
161
209
222
235
236
172
158
222
129
130
160
145
221
180
256
232
198
185
168
258
173
236
130
174
173
255
163
150
218
211
233
221
153
183
200
192
167
200
219
204
216
167
211
257
154
300
143
217
170
185
226
236
231
179
216
182
196
122
224
220
173
204
191
236
259
213
133
192
253
183
164
130
176
222
188
209
176
201
307
269
129
277
230
160
212
183
151
156
174
173
233
174
194
173
153
143
300
212
145
184
207
189
167
214
201
188
209
143
205
188
222
184
225
247
184
175
176
184
151
236
169
236
288
165
184
156
188
245
238
204
202
144
183
173
283
180
259
130
220
214
158
133
190
168
201
201
184
253
208
152
129
242
173
145
176
156
160
184
130
204
157
182
262
129
181
172
173
174
232
204
179
141
274
129
210
145
207
173
184
129
129
173
212
238
209
130
168
204
146
262
181
270
160
205
168
155
129
201
272
176
185
224
168
180
185
168
199
215
157
204
194
156
132
138
146
130
238
204
145
169
204
212
146
184
161
211
208
216
173
184
143
181
205
209
138
207
192
242
164
209
178
130
237
264
223
163
194
170
210
225
176
217
173
204
210
200
210
216
204
222
173
199
254
200
224
171
239
260
200
240
183
145
200
257
234
254
179
185
234
176
190
201
215
162
222
129
182
168
182
204
152
209
206
184
149
218
146
164
146
200
215
243
217
115
216
183
234
170
281
173
178
129
129
184
138
187
217
169
194
175
176
163
204
162
188
225
175
176
130
155
179
164
130
195
158
156
244
241
244
183
229
141
197
182
244
167
224
171
129
208
211
130
208
200
205
205
220
188
209
210
200
261
185
223
211
147
157
133
210
130
182
194
241
285
202
129
235
179
271
157
200
189
231
181
146
235
244
199
183
204
213
244
156
204
205
184
173
192
168
169
204
133
211
195
129
176
179
168
184
230
184
210
238
179
214
255
173
162
207
138
192
254
129
229
183
191
258
174
263
193
161
224
182
155
173
228
156
129
194
171
214
173
287
208
178
212
185
227
222
296
175
164
169
129
179
188
179
203
141
186
146
173
115
175
151
211
199
212
187
183
140
184
162
115
129
162
213
191
210
202
173
264
188
172
173
169
266
198
130
229
181
165
173
229
217
222
122
239
238
233
146
138
208
222
195
141
227
244
183
141
171
182
224
206
129
199
175
169
335
239
138
195
214
189
164
221
146
261
237
179
236
210
226
173
173
165
202
180
129
303
132
180
232
231
163
146
224
164
217
217
182
204
157
156
227
231
168
266
217
208
277
257
202
186
217
217
143
244
277
164
182
218
260
173
300
146
231
232
194
204
234
172
168
162
130
264
173
204
190
115
179
181
242
162
178
215
200
182
201
184
162
182
207
200
244
184
130
174
211
242
203
143
144
133
264
170
213
278
251
189
180
226
184
202
184
207
172
204
214
264
224
184
155
146
244
272
198
175
217
146
233
172
146
204
254
199
249
303
203
163
158
240
150
222
217
300
206
189
173
215
168
206
204
179
214
236
240
141
152
249
178
143
176
193
200
196
115
174
214
214
182
156
172
150
234
255
207
238
175
184
194
177
254
211
129
184
166
204
203
210
169
220
184
183
190
186
230
235
203
213
157
335
253
241
184
200
160
225
210
214
225
207
202
183
172
159
239
129
201
238
138
239
213
189
239
186
238
160
199
130
217
200
166
132
172
150
191
143
225
174
257
231
210
244
133
256
205
176
299
207
230
206
203
282
210
210
166
164
129
146
170
239
172
206
245
129
179
197
115
156
175
208
192
115
204
206
115
169
201
155
306
302
152
188
145
202
169
208
129
133
192
178
190
176
184
211
190
253
155
171
146
206
230
221
155
182
122
169
267
129
198
197
130
161
141
169
130
205
236
191
129
176
176
168
205
200
199
178
221
202
210
179
129
181
143
212
203
214
155
183
178
232
143
209
217
225
191
173
161
130
221
150
178
152
192
130
236
160
202
236
143
215
183
181
183
162
321
208
129
237
184
178
221
167
147
192
211
153
177
208
187
225
206
184
221
238
183
185
129
222
143
204
178
202
241
208
186
214
122
185
215
129
263
180
158
210
207
150
185
185
130
146
183
176
186
180
264
236
194
241
158
234
234
179
158
213
141
255
173
176
168
217
247
219
222
173
141
184
229
158
173
172
130
242
155
190
193
167
202
204
201
138
177
168
206
179
169
156
150
246
183
173
252
231
171
182
202
274
206
233
176
246
210
179
122
274
205
293
258
210
190
236
181
217
130
178
130
191
143
206
233
200
244
202
180
206
130
143
188
130
210
160
195
173
130
122
161
146
216
205
145
195
211
204
236
183
210
208
236
197
274
146
202
227
185
130
246
149
158
210
187
158
180
195
186
170
335
162
185
179
162
155
161
181
178
188
185
182
203
238
133
129
171
176
225
190
184
122
185
274
164
182
186
122
181
183
146
173
180
210
130
146
192
227
227
191
179
178
162
236
186
144
145
210
183
212
146
201
146
186
172
204
238
172
203
191
179
211
252
218
203
231
163
186
169
176
173
179
129
184
183
183
149
160
180
157
229
158
191
166
219
211
210
130
201
253
130
200
165
129
132
178
205
202
206
173
228
160
251
156
201
210
176
130
218
192
182
172
229
273
162
226
143
225
255
214
133
202
211
173
244
158
176
151
176
183
179
206
284
202
165
228
144
195
211
130
227
160
202
210
317
153
254
184
133
182
208
185
210
166
173
191
191
122
176
303
164
143
188
207
233
115
146
184
210
230
179
162
143
188
197
146
170
213
173
226
204
272
202
184
129
206
210
208
257
169
210
143
184
241
259
229
158
295
191
202
164
129
163
129
224
158
146
206
249
206
146
170
192
230
210
142
204
172
250
176
178
214
202
222
235
129
290
204
222
206
155
170
247
183
176
200
168
242
258
173
178
260
144
179
227
169
193
256
231
192
129
156
211
145
321
188
217
283
201
168
238
217
184
217
145
179
188
234
204
201
223
230
200
205
203
179
192
227
172
180
220
219
210
219
208
218
211
143
217
217
219
254
203
202
129
164
190
184
228
216
178
171
173
210
133
196
213
173
129
220
196
199
264
229
190
164
209
129
217
130
217
263
167
153
145
158
224
225
261
201
146
188
227
204
193
176
173
261
233
170
178
183
281
243
167
179
129
129
284
232
129
220
160
228
164
157
161
220
146
156
244
130
278
130
156
209
165
238
158
172
129
169
141
197
225
169
188
159
203
203
180
239
204
214
204
217
130
206
194
231
129
173
218
223
207
130
166
285
185
176
234
308
245
218
115
145
150
166
263
129
130
179
205
230
180
230
251
201
149
182
176
230
145
216
184
146
186
179
186
130
216
150
146
210
213
179
234
189
143
236
130
176
204
129
207
115
168
156
209
164
212
221
199
212
213
236
182
215
155
143
287
247
210
187
200
155
204
158
206
195
129
146
179
145
146
225
248
129
190
169
160
129
224
229
168
199
187
179
210
221
191
200
227
252
158
307
214
254
261
155
237
167
234
222
143
173
158
162
115
181
130
231
179
193
168
221
138
212
216
169
210
186
164
181
143
205
236
200
193
231
158
187
169
238
213
206
177
184
216
180
170
217
211
162
186
157
164
143
240
205
174
185
196
203
209
210
199
208
159
204
173
145
208
146
141
146
178
203
222
173
221
195
204
214
128
129
225
133
145
138
261
167
169
115
229
160
201
167
179
192
201
210
210
268
192
157
115
206
173
168
143
174
147
283
172
192
179
215
130
180
145
133
208
172
194
115
232
146
244
204
201
164
208
211
207
160
191
192
150
160
166
133
251
182
146
219
192
197
227
224
200
203
163
185
183
202
214
206
197
221
157
192
230
164
146
202
133
206
257
204
167
225
278
179
300
145
157
158
158
210
168
206
201
169
133
202
204
152
174
129
195
217
159
238
187
232
169
158
242
173
193
255
146
162
146
223
178
122
183
206
162
228
202
182
174
182
188
228
206
232
157
212
173
143
202
195
213
159
190
204
222
173
156
239
206
155
147
182
263
158
143
180
222
210
188
241
176
185
179
130
236
227
130
225
133
223
167
252
205
208
185
179
179
179
204
203
156
224
260
184
166
205
155
176
166
185
185
218
160
239
216
204
158
173
146
150
257
122
184
210
209
266
204
201
230
273
145
204
173
151
247
169
229
257
212
335
182
230
224
223
189
182
256
158
129
138
218
191
173
187
178
177
202
183
222
204
202
198
214
182
165
165
178
254
155
189
158
146
232
212
146
234
211
162
202
160
244
239
173
205
218
143
185
130
206
259
241
256
143
201
209
254
182
192
129
195
141
158
129
220
222
184
173
208
199
155
211
206
222
129
189
173
229
208
246
211
210
184
247
285
208
197
150
230
115
172
207
195
129
186
173
158
173
218
206
191
182
226
261
236
173
179
162
162
173
209
211
212
151
186
193
210
238
283
153
158
204
204
171
204
219
182
183
204
150
203
178
181
204
223
199
227
145
163
225
203
193
188
147
130
216
115
155
115
174
184
173
184
204
169
230
227
218
236
178
260
225
275
229
203
192
181
210
191
160
205
210
227
254
162
132
207
225
158
178
185
152
199
239
133
161
210
217
202
204
296
151
129
189
133
185
198
157
169
183
228
242
250
176
221
169
296
164
146
168
169
211
210
219
149
162
210
183
217
231
162
247
188
183
178
176
155
184
210
202
176
177
220
194
183
215
195
173
161
156
239
186
146
211
238
283
229
129
235
186
214
202
165
115
259
191
171
229
229
204
264
191
183
189
284
201
206
164
230
281
179
183
115
204
204
200
211
152
162
238
204
191
146
129
256
170
158
184
210
206
204
210
132
223
247
236
198
183
293
156
195
217
229
230
205
144
176
211
203
210
255
208
196
300
183
150
213
186
202
255
173
317
129
207
184
202
190
143
210
210
239
230
169
222
217
220
174
159
158
175
199
146
154
197
170
187
179
206
129
161
181
192
177
179
210
143
150
130
203
145
201
169
201
146
175
145
269
219
258
204
185
200
173
202
230
210
188
242
178
196
185
212
200
219
263
250
133
258
195
173
237
287
184
224
164
164
173
137
202
230
180
184
130
173
173
260
174
146
210
250
251
202
156
179
264
173
225
256
198
202
234
169
177
146
243
188
154
187
153
179
156
152
218
200
173
208
171
217
183
222
169
237
278
210
187
210
178
205
197
180
212
191
200
191
231
263
202
188
133
143
115
168
211
173
174
239
210
158
174
149
242
218
210
162
200
249
155
155
234
119
183
239
133
189
173
220
280
179
174
143
168
222
129
175
162
146
203
130
122
235
236
195
179
169
196
217
233
133
241
160
130
206
191
270
183
130
222
209
179
178
260
146
145
230
158
166
201
180
173
201
210
205
175
224
181
197
143
184
230
218
183
204
201
193
173
232
236
175
167
197
236
145
203
153
175
250
216
146
185
186
166
164
165
130
223
206
179
229
210
189
197
173
143
196
216
147
200
182
153
210
179
170
257
211
214
146
228
145
194
230
164
193
179
183
218
162
272
168
162
138
146
128
310
161
195
214
230
157
184
255
281
169
162
252
115
129
210
188
146
155
153
133
280
236
204
246
211
286
244
217
187
221
206
176
205
122
122
221
147
173
183
182
204
198
210
147
162
183
185
178
296
172
254
204
219
255
254
160
216
149
185
210
143
213
209
204
205
207
204
146
176
200
230
246
155
133
173
210
182
143
225
143
230
208
175
164
209
230
199
221
226
176
228
133
189
164
146
247
218
115
179
183
263
218
200
167
202
180
203
129
129
237
161
204
152
224
204
232
193
204
242
180
200
173
129
232
184
129
133
168
200
221
217
178
158
201
184
204
176
233
206
173
133
173
132
182
244
193
199
253
335
202
115
202
181
177
190
177
211
174
234
202
160
211
176
238
218
173
243
248
294
146
143
146
237
258
179
180
141
181
302
168
155
145
206
146
286
238
202
182
230
182
172
162
197
238
236
189
217
168
130
205
155
138
192
173
161
231
280
185
175
252
130
183
242
182
178
210
211
172
236
237
230
202
187
236
204
183
230
153
195
175
133
208
177
213
172
192
202
216
261
188
151
210
155
186
192
198
204
157
191
182
146
143
173
176
180
194
172
191
146
173
250
180
192
201
222
173
176
199
300
255
184
175
160
238
183
234
210
164
182
180
230
223
146
174
177
216
129
160
130
201
229
222
272
167
299
202
267
180
144
233
151
159
150
215
164
169
224
115
183
206
166
239
146
129
130
150
182
213
191
281
183
178
156
161
210
200
181
201
215
156
156
162
156
203
150
143
183
179
245
201
168
173
129
183
225
193
170
188
177
263
161
178
203
143
181
167
157
204
185
158
294
292
147
193
198
222
237
209
241
127
218
179
174
200
267
189
201
200
186
176
204
167
162
211
240
192
199
130
174
238
176
173
168
171
229
262
129
185
279
206
234
189
200
172
172
129
167
160
133
169
189
218
203
238
173
217
286
181
259
283
171
193
213
236
130
180
156
171
227
167
204
224
228
206
211
200
207
231
169
179
232
299
185
158
191
146
184
130
227
162
195
240
201
199
204
265
161
258
180
204
197
164
146
158
230
160
160
217
129
230
251
207
194
173
222
188
204
288
179
129
201
130
263
211
173
218
228
205
183
164
162
231
179
181
201
133
202
162
172
210
250
172
232
172
204
173
149
186
180
209
260
191
231
143
183
160
181
228
173
188
256
262
261
156
158
202
115
231
130
211
156
161
214
129
172
198
183
191
162
129
221
300
195
217
173
239
143
240
219
198
222
191
188
173
169
210
179
216
238
129
206
236
200
222
179
162
138
199
183
119
143
230
115
179
174
256
132
256
179
179
192
159
250
183
160
228
161
229
223
173
204
150
197
203
155
129
233
151
141
217
191
184
230
256
137
210
186
181
183
174
160
122
217
186
191
239
233
146
214
182
176
287
173
201
173
208
138
128
162
186
239
188
189
227
181
146
184
182
230
190
144
202
217
230
228
132
251
184
184
115
198
189
201
238
217
204
193
119
251
143
176
130
160
129
201
211
206
172
202
162
184
238
202
174
181
206
165
283
224
221
165
183
162
202
183
173
143
230
300
219
218
229
192
133
180
181
173
185
192
178
122
252
247
246
222
226
199
144
203
230
285
274
230
173
162
166
218
223
283
210
227
212
239
210
157
217
254
181
173
264
197
173
168
156
178
200
176
205
115
176
184
169
217
231
152
178
237
174
200
176
187
189
146
202
181
152
261
155
193
168
176
186
178
182
216
230
173
166
197
180
201
203
192
143
183
176
184
195
189
243
129
204
241
184
225
177
143
322
240
257
184
237
143
203
200
186
146
163
194
176
221
186
222
247
172
145
153
203
178
155
132
202
197
172
129
222
173
129
183
150
156
205
176
129
150
190
191
213
198
162
190
165
176
171
200
130
173
227
208
261
207
176
179
141
229
150
168
168
182
173
129
169
174
215
129
192
176
211
203
200
183
215
228
258
130
228
246
185
163
130
204
221
183
191
186
159
115
218
286
262
146
210
201
128
231
168
160
132
204
183
252
226
188
159
244
204
221
199
175
265
214
247
158
195
191
122
211
132
226
185
198
179
129
216
115
271
183
173
162
266
202
250
164
211
241
119
162
201
204
176
164
199
157
176
184
176
180
222
195
222
237
214
132
191
130
229
272
145
155
306
237
182
219
128
224
180
176
229
261
206
243
207
158
217
199
216
164
115
249
227
265
203
239
165
129
145
162
235
205
158
252
133
162
129
169
240
189
234
166
171
190
164
217
169
191
138
175
183
177
230
115
193
186
173
166
173
156
143
129
229
146
204
179
130
211
164
173
221
130
178
182
182
186
130
173
199
255
202
150
300
194
180
181
225
275
231
219
143
211
168
190
143
214
221
188
202
156
129
239
335
247
191
176
255
130
209
208
248
168
230
275
164
229
145
129
130
210
180
240
202
203
211
250
323
129
210
272
160
180
209
200
238
171
141
177
217
231
146
115
238
160
181
245
133
156
173
129
144
191
255
166
230
228
183
172
186
169
201
246
236
166
307
204
236
146
255
229
155
173
200
173
162
174
264
210
164
228
202
268
177
176
205
230
162
146
155
238
224
168
203
233
146
194
198
197
204
191
239
192
193
245
184
226
169
169
239
217
183
178
143
207
180
240
236
168
201
132
195
200
247
144
225
145
187
214
201
130
141
217
169
180
204
164
160
216
252
155
263
141
210
129
158
129
145
206
209
184
129
216
169
200
195
195
262
228
210
201
221
288
253
256
133
264
246
166
210
174
247
202
247
202
210
188
129
176
173
166
206
204
267
193
165
197
160
129
180
214
146
129
202
230
222
246
155
246
233
237
220
130
200
166
156
184
231
184
206
205
205
173
146
122
214
233
214
204
138
190
187
225
173
173
283
151
182
202
203
233
167
209
183
173
179
230
199
183
173
239
201
174
209
253
277
162
146
247
187
169
166
158
187
254
187
174
183
160
158
204
178
211
182
149
206
194
204
231
164
202
201
173
188
173
146
195
181
186
171
207
195
225
132
176
209
168
133
265
204
206
177
183
164
216
176
173
225
147
234
216
195
212
182
231
211
161
179
158
182
161
210
202
206
201
223
191
264
200
130
174
185
133
178
156
143
204
218
200
196
217
162
162
218
188
162
192
196
171
248
206
239
215
217
141
209
167
184
206
262
278
200
179
169
240
173
191
300
268
230
173
199
233
146
238
217
130
164
183
173
224
146
201
182
186
238
156
188
146
213
204
160
266
247
191
321
232
239
220
186
201
179
169
199
208
236
178
129
141
162
141
173
181
115
242
198
200
119
201
130
216
222
170
146
204
246
248
145
155
183
146
167
287
195
236
211
204
176
264
173
187
174
204
264
179
198
229
115
185
161
236
169
191
130
230
228
143
205
181
221
300
178
146
218
219
205
173
194
173
188
259
130
203
238
216
168
185
190
240
230
218
179
162
159
197
226
202
220
146
283
200
255
169
177
239
204
145
202
151
187
188
191
152
242
251
168
190
222
146
138
201
172
188
176
168
194
217
176
150
265
204
130
158
182
160
173
202
259
183
162
210
238
150
168
141
176
195
173
205
132
311
144
192
292
184
128
176
185
158
239
216
216
159
217
179
286
156
146
255
201
259
230
167
225
221
183
210
207
133
252
173
174
200
133
182
146
130
130
164
164
178
168
194
226
173
180
169
176
264
157
183
218
205
149
146
183
194
186
129
122
128
179
193
172
207
179
258
174
129
130
184
204
191
219
196
163
164
196
173
335
191
179
238
247
176
181
238
194
191
200
217
228
129
192
225
191
181
148
219
146
204
221
237
255
204
155
151
182
261
206
252
239
122
297
176
204
166
254
158
198
163
115
169
204
204
201
205
185
178
122
178
130
185
176
272
238
200
210
186
133
172
224
210
195
257
159
173
151
152
166
202
241
214
174
183
173
183
227
146
146
217
217
198
184
213
176
213
194
194
239
161
321
236
211
230
173
189
268
194
176
195
143
261
279
221
192
130
181
191
177
186
211
174
206
217
200
236
229
201
173
249
227
169
183
185
168
130
146
199
129
236
225
204
222
138
204
204
202
200
197
208
129
236
207
216
201
162
176
183
205
226
173
214
228
184
193
246
183
211
164
206
164
191
144
193
206
211
185
165
289
238
150
173
178
220
143
198
239
193
143
203
155
133
129
191
171
164
238
168
214
205
188
165
130
129
184
199
183
236
259
247
212
156
307
202
250
347
168
192
201
242
210
201
115
173
200
138
204
130
196
183
200
197
180
180
133
238
228
211
199
164
228
231
222
230
162
225
219
161
219
159
198
211
260
130
173
211
173
187
129
225
173
269
146
143
143
183
173
210
324
259
218
122
158
169
181
236
214
223
208
160
234
188
202
307
228
168
122
208
255
191
225
213
256
244
170
225
180
200
115
173
188
220
241
216
225
178
178
236
221
238
188
204
181
266
218
152
191
132
143
217
146
172
234
325
221
229
181
133
176
155
240
152
212
274
145
206
335
164
180
177
145
186
181
185
129
224
141
252
133
219
160
236
239
138
159
217
184
226
236
164
198
250
174
158
165
300
238
239
170
250
207
216
256
129
199
186
238
141
179
173
176
190
146
181
222
190
130
300
211
155
130
173
191
221
214
204
146
169
190
155
189
146
202
179
201
218
168
150
176
130
150
184
151
230
146
146
157
192
179
214
170
174
146
181
252
266
146
230
191
176
172
173
240
158
249
182
191
201
270
203
203
225
238
253
173
132
227
175
147
206
208
138
164
219
256
265
181
271
204
217
179
173
176
145
278
173
259
247
146
172
225
178
173
210
247
271
153
203
221
143
198
202
233
186
214
191
256
214
247
162
172
183
201
191
178
211
164
187
129
204
211
258
230
146
166
160
246
166
146
245
151
179
228
149
133
230
168
205
192
251
183
213
196
241
230
172
283
156
204
115
211
177
255
197
252
129
174
234
129
292
170
183
151
222
204
179
212
128
216
160
256
263
200
146
187
130
115
130
214
164
168
133
155
219
239
217
224
193
173
164
219
180
211
200
221
210
129
179
194
156
197
188
166
145
210
211
233
230
182
254
147
178
211
176
214
210
182
240
250
220
264
266
229
183
215
192
175
187
179
220
221
179
156
255
248
169
191
180
195
236
233
129
236
180
230
274
207
205
206
145
184
182
229
259
242
249
203
249
224
219
156
181
303
179
129
304
234
157
232
204
181
178
184
210
184
219
168
157
143
138
170
215
210
192
157
253
188
214
146
178
217
129
143
179
143
246
133
204
195
200
187
264
176
143
158
179
192
219
209
145
160
155
143
158
202
129
204
161
211
207
230
259
146
321
202
192
213
173
202
217
188
189
220
229
227
210
178
200
258
192
179
181
200
181
188
119
129
164
171
173
168
213
191
146
168
178
218
201
218
228
205
188
201
216
176
199
130
204
243
129
211
187
146
161
176
222
211
189
193
204
264
130
218
238
173
175
204
161
168
122
130
146
174
174
204
211
176
146
173
164
146
172
176
164
229
155
224
238
207
146
194
202
166
184
150
232
208
197
204
187
233
227
204
145
130
146
163
130
211
177
202
168
210
149
115
199
236
182
211
166
254
183
195
186
162
158
222
186
199
238
226
194
209
248
173
160
207
239
216
200
162
164
220
158
211
193
176
273
204
187
221
171
130
178
145
200
188
228
266
184
199
211
203
222
145
204
228
210
150
164
183
228
129
153
165
169
204
209
160
202
234
164
168
227
129
129
211
153
208
237
239
172
168
158
230
159
187
255
150
180
201
174
156
246
261
141
224
150
200
228
174
208
211
157
180
249
203
180
264
214
179
213
253
258
260
210
168
203
129
182
128
184
141
192
179
197
189
217
182
226
129
270
192
162
260
240
130
187
143
119
201
234
145
146
132
160
176
188
181
201
164
215
210
199
258
146
255
157
182
146
176
146
115
200
192
217
193
201
219
179
178
201
174
206
183
195
176
211
210
256
208
212
217
180
203
214
176
200
202
187
178
146
238
201
205
184
204
190
143
223
239
232
237
231
189
191
158
244
182
204
130
236
161
193
160
145
144
200
143
191
129
217
183
188
265
170
167
143
245
202
229
201
192
232
335
168
182
153
211
192
129
176
332
192
231
169
133
271
191
193
223
170
288
248
260
155
200
176
177
202
195
153
181
198
198
156
185
173
200
148
130
143
188
204
197
202
131
248
133
211
238
232
169
182
146
190
130
226
258
222
204
201
188
149
229
165
204
273
251
192
193
129
159
143
211
156
236
210
211
179
169
163
204
230
193
191
129
216
262
130
115
177
174
252
191
170
146
146
201
171
191
203
138
185
179
193
263
187
231
226
213
218
215
274
201
270
187
217
178
183
208
129
179
150
151
173
210
192
176
270
188
186
201
179
161
129
179
129
218
206
161
191
201
247
181
261
143
191
143
236
275
158
210
146
191
173
132
163
217
177
213
176
318
210
252
300
187
146
237
219
161
204
207
122
264
236
199
146
146
192
162
276
173
217
237
146
146
145
184
286
173
206
129
194
210
206
183
173
202
146
168
217
173
257
218
230
143
200
202
156
178
191
204
158
164
178
155
237
190
129
146
146
266
167
217
183
238
149
210
245
176
190
226
201
202
210
146
204
215
202
130
186
129
246
191
222
217
130
129
151
151
129
146
180
217
259
183
178
205
166
203
130
129
203
138
202
162
267
183
171
198
266
206
166
228
163
156
204
245
237
210
173
180
265
179
188
219
206
180
152
244
166
217
215
304
130
262
206
202
217
129
179
195
168
166
167
173
184
198
161
158
181
169
181
185
145
207
278
201
158
145
217
204
187
210
171
164
236
256
129
206
294
210
214
178
164
229
179
188
218
187
261
211
256
172
147
122
146
227
248
178
197
144
234
158
190
227
160
210
164
143
201
275
163
253
282
214
199
211
164
161
184
201
190
294
175
244
208
182
218
210
182
186
210
143
162
210
173
211
230
193
198
185
175
183
149
173
246
217
251
231
143
195
257
180
128
176
204
194
129
185
204
304
171
152
156
200
238
143
254
183
221
168
218
178
176
198
209
202
115
156
186
242
128
156
130
157
191
186
211
202
183
254
175
246
188
213
175
164
176
182
171
162
210
198
176
246
173
146
130
261
292
168
178
196
246
253
201
188
194
173
230
240
208
173
146
129
179
173
261
230
145
220
164
164
184
206
161
242
213
146
246
158
236
212
176
129
148
129
288
162
162
166
202
180
215
239
144
156
202
171
150
223
162
172
199
146
146
176
179
299
209
130
189
225
242
164
247
183
148
198
119
143
182
206
200
206
176
219
188
194
201
183
204
133
186
171
167
200
218
210
162
184
178
238
194
194
201
191
212
182
177
150
184
214
146
176
201
229
195
199
173
172
173
244
239
190
201
219
187
228
217
182
182
204
233
130
264
158
176
184
242
129
151
133
184
143
272
238
202
162
206
216
210
260
155
204
156
182
133
235
173
130
176
172
159
267
173
194
146
166
227
269
129
158
222
179
179
187
188
248
164
204
181
199
258
192
156
258
184
221
210
182
156
176
217
200
203
210
244
157
146
182
164
192
257
179
216
129
183
162
176
158
189
176
141
172
213
206
155
226
133
173
186
204
161
195
174
161
146
210
159
208
150
235
218
201
166
168
146
173
181
259
130
190
192
184
257
214
173
152
182
143
199
176
186
217
166
162
186
204
133
129
204
168
150
191
146
274
115
158
335
245
176
179
251
223
213
250
227
180
212
181
205
152
172
166
132
168
129
204
202
174
173
225
250
130
221
206
182
169
202
224
178
146
245
173
193
133
192
217
177
261
240
217
176
146
214
223
179
200
203
204
264
176
173
214
198
184
201
188
133
215
214
250
178
129
230
166
193
176
170
153
195
244
158
173
129
258
173
201
220
209
133
206
217
191
156
145
156
146
218
176
169
230
153
130
191
176
127
146
158
169
156
225
191
130
179
190
133
166
217
184
168
184
230
129
171
183
201
200
253
172
202
260
242
209
275
145
263
292
216
184
156
115
211
238
173
145
271
211
217
263
302
129
206
244
190
212
141
149
133
186
160
151
235
201
166
173
196
210
179
272
119
129
155
187
202
186
283
201
194
204
178
180
188
187
209
250
208
133
252
146
129
239
184
258
180
197
172
194
146
194
178
221
181
209
143
156
162
201
115
174
194
172
226
209
212
129
212
321
246
168
266
230
141
158
155
251
171
212
242
226
173
198
180
199
185
246
217
221
141
158
217
206
145
178
159
177
129
176
191
277
261
141
179
216
257
161
164
156
255
184
129
159
173
168
162
213
167
173
176
141
168
167
217
167
244
230
130
217
181
237
215
155
160
200
146
146
253
146
189
129
215
203
204
173
189
217
201
176
222
138
257
171
146
204
158
231
186
164
196
173
176
197
204
181
217
202
217
211
183
175
230
164
191
176
235
211
258
130
184
162
145
194
222
300
158
129
182
204
211
158
206
176
212
247
253
190
228
181
212
192
268
190
192
129
195
238
195
201
178
133
129
174
207
205
129
173
169
199
184
164
225
181
210
188
155
184
191
187
220
256
143
210
190
147
191
173
185
143
227
221
173
169
215
244
143
210
335
173
204
119
210
217
335
211
144
148
176
179
204
129
214
173
184
176
263
201
202
146
201
173
157
217
169
155
232
241
217
192
208
204
256
210
146
227
145
238
150
235
181
195
254
205
163
146
236
172
115
205
213
246
146
168
146
130
264
176
211
247
190
201
172
175
197
176
255
176
205
130
208
193
170
130
201
250
170
195
257
182
179
168
238
187
143
144
261
141
200
296
146
190
191
130
179
181
152
223
231
196
217
258
158
184
263
184
178
162
162
216
220
129
173
232
215
270
146
173
256
195
183
203
248
146
143
185
166
200
168
146
194
185
164
183
210
173
258
234
244
233
231
185
127
167
217
201
133
237
284
255
204
252
256
166
178
183
209
178
185
183
217
143
268
187
241
200
239
179
264
211
176
241
172
210
207
264
248
205
129
198
259
162
205
208
246
217
194
239
184
115
204
161
303
187
207
204
182
202
145
264
230
193
204
138
236
184
176
218
225
227
225
210
158
210
217
162
152
185
211
181
201
169
210
210
241
186
183
179
203
254
201
221
230
287
228
115
188
175
184
150
238
162
129
176
211
130
250
198
190
164
179
181
145
151
238
200
122
194
239
218
173
230
174
202
208
217
210
199
173
168
216
189
176
155
218
173
143
179
194
130
144
204
176
161
187
202
229
130
145
201
247
161
153
176
198
164
205
206
138
181
190
218
170
201
181
206
171
182
251
132
145
130
184
174
212
162
173
166
241
236
155
207
223
145
264
191
166
190
173
151
198
176
335
217
164
204
222
182
183
201
247
272
218
224
173
130
198
228
217
191
173
172
128
156
230
218
146
179
179
311
143
231
225
236
156
164
210
253
246
251
228
183
287
240
204
176
209
212
210
258
216
199
200
185
239
192
143
191
210
221
187
206
209
165
210
217
280
162
150
261
178
168
218
217
206
130
176
129
145
212
173
183
130
115
195
227
138
221
206
174
173
230
184
168
247
173
199
192
115
173
205
210
217
184
195
138
202
193
191
159
190
185
242
130
203
204
197
178
130
202
247
202
218
161
257
173
177
168
230
207
216
246
184
145
145
206
211
272
129
187
263
217
164
264
204
146
119
203
190
230
149
207
193
210
233
173
274
222
239
201
155
192
222
183
144
204
194
239
191
182
198
277
130
226
168
178
185
204
209
176
246
239
129
177
157
267
173
169
150
292
259
236
189
145
191
180
169
192
252
202
245
221
239
115
198
195
146
162
190
240
225
240
204
173
176
187
190
191
188
195
212
180
245
150
233
173
179
204
179
179
115
229
263
204
183
260
158
164
194
198
141
172
172
167
173
194
164
242
241
210
175
173
184
183
183
207
211
234
153
191
162
199
241
158
175
281
176
238
231
130
199
149
129
222
217
280
133
299
225
195
230
184
182
204
153
158
146
252
183
207
171
179
248
166
155
168
129
229
217
228
141
217
133
146
129
162
146
177
176
190
164
251
204
129
184
209
194
204
208
205
206
265
223
141
212
213
173
204
200
235
166
129
157
234
149
130
227
242
225
186
207
162
197
195
210
179
258
202
158
155
264
189
261
205
178
201
204
154
219
241
190
222
187
129
230
216
217
193
129
211
174
181
183
188
216
178
209
217
233
220
180
129
213
203
210
146
168
217
210
182
204
228
194
141
164
205
129
224
183
174
216
129
239
200
147
250
212
158
176
247
249
156
308
178
246
183
185
177
176
191
145
205
129
243
205
214
164
204
158
179
191
211
220
194
170
228
152
230
181
251
146
164
229
179
172
181
264
184
217
263
197
300
191
206
169
232
210
158
149
197
210
145
266
202
133
184
224
192
174
201
213
180
129
130
182
155
210
185
202
196
201
256
173
179
244
238
252
146
183
184
192
173
202
217
129
176
190
151
150
214
128
218
225
264
288
212
151
216
129
224
143
176
263
145
158
240
145
187
245
282
184
164
197
188
189
176
204
225
164
176
176
200
158
145
115
261
228
236
178
130
208
190
206
199
217
207
230
210
129
202
254
130
143
233
204
157
175
168
216
212
201
164
133
183
204
180
217
180
191
198
209
201
222
257
231
234
209
181
215
186
217
166
228
160
149
172
205
227
171
227
208
189
222
246
185
267
147
181
240
222
169
184
225
236
217
173
178
250
186
185
178
128
178
222
236
173
173
130
168
194
224
204
252
230
173
228
179
168
201
179
178
210
130
217
187
218
197
211
228
204
146
241
149
220
169
179
247
133
217
283
203
159
188
168
174
188
314
192
175
227
256
198
169
146
180
191
129
200
197
164
171
181
217
238
176
185
228
218
204
259
181
234
179
146
133
211
172
236
203
173
129
155
182
183
178
255
261
141
158
185
132
172
172
176
236
205
283
180
178
164
122
206
129
246
181
210
236
222
178
198
171
130
197
176
269
194
166
246
164
138
195
173
273
223
235
183
232
229
162
172
176
232
168
192
171
184
230
201
256
130
225
222
206
168
119
232
181
247
179
178
222
159
245
183
158
181
259
247
151
182
162
236
158
156
132
225
192
183
202
209
260
129
335
202
169
181
141
189
158
204
169
129
184
173
164
228
198
180
229
162
152
166
168
211
194
180
191
119
177
177
199
200
222
166
217
195
203
197
194
195
229
209
244
196
192
261
169
198
146
180
262
176
129
191
210
216
155
197
158
184
217
156
173
178
145
132
211
202
217
206
170
299
199
223
204
176
152
271
146
181
216
158
210
153
174
204
181
234
166
143
230
200
282
178
183
171
155
206
176
240
162
146
150
204
245
176
261
233
158
221
185
206
208
242
242
133
132
201
130
129
182
214
181
205
201
156
130
252
173
211
169
199
228
129
239
234
149
206
190
221
195
162
130
225
284
205
146
232
214
176
165
184
183
204
162
133
203
214
177
162
221
222
217
173
236
203
204
217
239
199
244
162
176
115
129
146
207
225
258
175
164
133
180
203
210
155
130
151
210
206
173
132
173
153
204
230
186
197
230
228
115
169
196
146
182
188
191
210
180
206
143
179
210
223
222
287
182
158
201
179
206
183
274
163
173
220
224
197
185
130
210
176
194
218
167
152
146
184
173
145
200
156
265
178
239
258
129
168
273
200
141
238
238
145
133
150
214
200
236
182
204
178
184
173
147
144
184
159
230
214
202
232
214
200
143
158
166
133
210
200
187
223
239
115
191
178
146
244
183
166
158
171
183
217
214
168
208
164
210
261
130
128
194
191
201
146
225
242
176
221
284
214
221
129
261
173
208
168
272
155
169
226
169
242
200
198
180
187
204
159
149
207
176
145
189
211
220
162
205
210
161
133
158
231
172
169
174
178
188
210
274
130
204
202
205
210
250
130
294
115
130
205
210
239
169
218
230
214
214
223
204
205
210
162
183
225
158
227
200
244
181
243
200
246
129
216
235
160
237
145
178
214
182
145
229
130
204
129
128
230
184
222
154
130
164
198
200
182
200
167
227
150
216
178
228
211
146
153
202
146
234
188
162
189
217
218
221
130
133
133
206
146
170
211
208
145
162
224
192
212
249
145
206
221
211
212
146
171
193
243
235
183
173
185
200
176
204
236
200
221
201
234
188
259
181
256
245
146
178
241
162
141
179
192
193
238
184
256
182
179
226
165
130
231
226
183
213
115
312
199
115
214
159
166
176
166
186
155
143
143
190
173
270
129
225
159
211
230
201
247
206
211
214
226
168
187
164
188
172
274
269
206
158
197
227
150
184
181
201
198
176
130
247
184
130
203
169
168
133
236
221
230
164
188
129
129
174
195
221
207
217
210
133
201
209
138
176
185
228
129
238
183
222
179
245
201
129
210
129
294
213
203
268
267
182
250
210
200
211
216
180
214
230
258
146
224
195
153
168
171
236
173
179
211
173
198
191
283
210
281
179
189
167
243
158
263
183
180
181
197
174
190
335
179
159
246
164
183
230
205
141
181
129
211
194
182
227
209
179
160
201
236
201
335
169
211
203
169
269
242
284
231
300
201
174
130
183
179
171
173
150
133
164
303
206
188
218
132
190
264
209
115
162
187
238
220
167
129
191
240
129
194
234
192
189
238
176
192
166
213
184
254
157
166
179
211
182
201
187
232
173
146
194
202
163
179
162
225
185
205
146
223
183
191
225
201
115
216
161
166
133
221
256
238
198
130
227
281
210
246
247
228
239
231
221
158
229
277
144
138
130
210
130
190
204
182
176
239
144
302
150
255
161
193
176
205
188
115
200
164
210
146
212
195
128
173
248
173
210
249
224
191
234
205
181
180
203
204
168
151
227
258
162
146
200
178
168
179
149
158
129
190
227
183
235
186
210
206
188
200
210
162
173
115
274
179
181
188
217
164
168
229
202
252
225
146
179
119
179
221
161
176
129
222
206
130
165
197
178
173
173
259
213
210
230
242
193
173
186
195
164
217
242
254
130
202
297
173
220
149
239
146
230
240
171
260
143
197
185
181
188
159
173
201
164
188
183
194
215
132
285
129
206
130
149
164
190
181
183
164
129
164
210
181
176
199
265
202
227
147
208
259
202
247
164
211
263
249
153
206
179
161
133
173
226
199
258
153
211
263
218
193
130
145
145
150
219
129
178
218
210
174
204
198
217
160
173
175
185
173
191
271
250
179
230
193
161
175
180
218
243
179
186
179
217
145
146
143
144
145
171
222
208
130
193
247
220
230
197
218
191
221
161
173
146
115
178
172
239
130
254
203
122
164
156
169
217
129
162
192
283
141
181
133
193
204
181
192
235
221
188
202
122
178
238
202
150
228
285
251
162
200
188
162
247
183
149
233
173
181
145
246
204
231
182
267
188
169
197
192
176
173
210
200
199
165
285
156
173
248
181
132
174
176
239
204
221
184
191
270
200
181
166
221
261
129
162
217
186
165
151
185
129
150
178
129
173
184
247
265
173
200
217
184
162
254
269
162
152
162
165
133
164
155
146
129
130
334
146
264
210
143
129
152
194
238
158
218
182
155
184
174
174
130
262
205
201
217
167
216
174
184
128
263
227
200
150
189
133
149
206
216
235
224
180
130
157
168
164
146
239
160
133
185
173
181
170
246
146
263
201
182
144
173
214
227
174
258
192
227
193
176
206
169
266
256
171
188
182
234
160
132
274
167
167
214
178
179
215
129
187
190
188
168
211
202
146
281
204
230
141
239
205
138
141
179
176
171
187
158
184
176
145
178
173
157
175
210
262
129
230
200
171
175
197
149
235
173
156
207
185
166
239
144
195
174
190
168
214
173
178
259
145
133
167
129
145
173
172
146
182
225
179
138
131
157
178
145
169
234
264
219
161
202
173
161
184
168
189
163
185
173
205
185
189
200
210
204
192
222
130
191
166
153
203
178
204
144
115
200
203
197
194
254
240
201
182
129
163
153
185
200
182
127
129
247
179
155
166
182
195
163
204
242
188
195
159
162
242
218
176
130
173
189
274
206
129
189
133
213
146
283
210
207
177
182
155
188
210
262
213
256
196
130
225
200
173
195
186
157
297
191
216
176
202
183
138
216
173
208
155
162
189
165
156
185
214
149
220
186
267
204
129
195
164
180
198
286
164
177
190
225
193
200
220
261
201
168
173
211
173
176
214
165
210
167
235
145
230
182
164
131
119
227
171
188
213
164
239
133
217
129
130
146
194
145
201
219
173
192
184
230
129
184
130
143
225
208
129
263
249
264
190
266
218
237
130
162
158
204
228
246
144
227
162
200
204
258
157
178
230
129
147
176
204
200
228
129
204
261
189
202
239
178
217
173
178
194
153
189
162
216
248
190
173
149
206
292
129
138
205
155
204
147
162
197
141
204
138
226
176
250
173
230
186
217
221
208
175
187
210
172
202
195
187
242
182
191
171
236
283
273
215
210
244
229
143
228
224
210
248
133
191
208
202
228
227
176
209
223
246
144
221
168
192
246
188
224
244
249
180
173
160
229
195
186
195
157
226
189
254
146
179
217
256
163
184
198
201
182
138
184
202
156
204
163
177
119
164
222
241
232
263
155
216
151
217
222
215
146
184
204
168
150
155
179
219
231
192
231
185
212
240
217
221
187
215
175
176
168
176
205
146
146
217
129
255
193
130
190
200
201
178
227
178
225
228
156
164
219
208
176
226
204
153
175
190
186
193
195
217
275
184
192
115
224
161
191
211
162
209
129
141
230
244
158
192
193
204
160
236
156
179
258
264
206
264
129
130
200
183
157
204
176
143
158
251
153
287
214
180
158
173
173
228
227
232
259
115
284
210
184
179
201
206
158
214
238
282
238
138
214
208
185
166
115
173
130
176
137
152
155
175
168
204
236
184
206
176
169
129
182
219
144
197
173
150
211
173
202
184
166
166
236
165
256
193
198
280
225
185
234
229
173
227
133
153
184
246
155
146
190
138
171
222
222
115
143
302
184
168
146
183
226
133
176
241
188
232
169
173
211
295
174
168
221
189
173
193
187
144
176
180
264
184
180
225
130
150
149
187
179
166
241
184
204
129
145
149
180
145
175
115
143
199
209
179
206
198
190
225
211
146
146
163
186
171
181
232
176
210
291
130
231
225
171
188
235
242
200
146
228
226
206
160
215
150
265
230
204
233
145
161
210
204
202
145
178
172
195
206
218
190
202
173
151
175
230
195
182
173
145
184
216
221
143
187
162
247
164
178
145
130
222
214
250
130
129
183
210
146
173
119
122
259
182
330
178
190
224
146
208
176
223
164
263
201
226
183
156
184
186
195
224
146
219
177
138
150
211
195
227
176
168
164
179
144
204
203
217
168
176
179
217
156
146
222
176
147
195
269
146
159
199
246
119
129
204
201
210
152
183
206
168
192
145
288
186
138
165
163
169
244
260
210
130
206
145
179
169
173
122
119
192
235
247
185
200
188
217
262
177
268
210
200
175
209
179
236
176
207
206
181
178
205
207
146
161
248
133
173
252
190
146
130
180
195
170
235
202
219
173
161
214
115
247
180
162
220
180
204
218
231
218
200
180
185
186
233
266
191
207
179
287
145
190
210
186
163
176
227
210
204
130
132
201
239
203
189
151
226
130
189
159
198
164
169
210
164
172
256
239
146
171
143
277
146
238
222
129
185
132
144
130
169
209
183
164
151
228
207
179
155
166
186
251
216
155
221
156
305
138
145
147
218
176
169
169
149
173
199
166
183
154
195
173
238
155
268
145
159
184
180
160
164
208
174
161
203
173
185
212
158
130
176
201
214
145
231
164
167
133
226
231
165
130
129
173
221
208
231
149
164
191
252
130
122
181
203
130
198
146
206
214
130
215
146
176
166
205
199
151
164
143
212
247
288
204
187
235
198
162
204
155
223
273
195
153
171
155
206
192
122
168
210
155
176
162
166
143
254
149
211
223
173
179
204
161
155
181
288
236
227
203
243
179
245
151
213
175
115
173
274
200
218
175
184
227
146
146
138
156
173
208
178
173
168
160
217
180
188
260
222
168
210
155
149
194
230
303
235
185
173
141
128
222
174
240
164
280
168
213
171
201
193
240
281
204
179
199
180
247
167
157
238
129
225
203
218
247
205
239
247
158
194
167
188
164
263
246
229
208
203
191
138
190
155
173
238
159
189
191
122
184
210
201
186
150
180
115
146
225
182
217
173
188
185
181
164
297
258
201
185
146
183
158
213
133
143
232
261
168
132
238
204
173
201
183
157
233
146
257
146
234
159
180
193
204
207
229
150
164
205
208
181
227
211
141
133
181
187
233
251
172
217
129
176
198
176
230
155
158
239
190
163
133
222
180
225
283
210
173
256
238
176
177
196
130
149
250
165
130
207
159
166
226
253
233
204
146
162
201
230
184
236
129
184
176
287
184
205
209
173
180
250
171
141
129
248
205
180
133
182
158
230
158
249
199
217
183
208
240
202
168
138
214
194
260
141
217
115
150
216
226
249
184
233
236
205
172
179
195
204
173
173
221
162
219
203
195
129
179
193
267
182
205
145
208
174
236
173
201
180
174
168
161
129
190
268
183
194
255
206
166
160
185
203
218
182
133
146
162
207
213
184
237
210
218
259
173
226
207
173
179
178
225
185
197
152
187
280
275
115
192
129
177
235
149
215
207
222
209
208
173
129
173
196
214
133
162
210
202
146
129
131
169
190
144
211
181
256
200
158
264
146
221
170
190
216
252
184
201
173
227
159
201
174
168
196
218
171
193
238
222
242
155
143
145
164
173
173
237
130
130
222
151
174
241
239
188
259
160
211
173
170
122
164
197
176
201
241
201
130
147
202
180
256
214
274
181
129
240
170
157
181
234
244
195
160
236
138
181
143
230
208
231
166
130
179
158
195
178
294
166
206
216
190
184
161
228
204
173
129
184
173
255
206
177
182
162
202
115
196
231
250
275
174
186
206
115
205
202
210
258
212
250
129
241
173
166
278
169
245
155
130
145
179
192
220
183
130
172
229
232
225
180
176
179
185
209
242
211
146
177
173
146
206
166
146
199
129
261
173
179
147
146
129
155
264
221
204
171
143
182
164
183
168
176
225
262
217
223
173
173
176
238
129
133
180
173
300
230
146
182
239
186
287
293
210
226
168
184
266
130
192
251
173
156
201
173
210
204
200
157
185
204
159
160
264
202
264
210
207
159
210
171
182
174
201
228
202
235
115
227
182
147
212
138
168
176
179
129
218
130
129
210
130
256
206
146
209
189
173
130
130
184
192
162
164
258
301
172
195
234
162
162
202
174
215
160
335
129
180
213
195
133
227
219
248
228
204
178
254
263
132
175
183
140
164
236
235
182
183
256
190
201
209
186
160
211
173
185
156
146
211
179
209
199
210
155
204
129
174
145
169
246
176
145
218
256
234
174
156
189
160
172
161
216
204
230
185
160
193
242
210
218
179
182
150
255
138
130
173
240
216
230
205
173
182
176
192
133
231
143
164
146
130
194
146
210
182
199
257
146
240
226
234
217
160
233
182
130
210
230
209
238
214
208
145
203
168
130
130
164
231
138
176
166
210
225
306
183
183
155
176
164
191
191
133
129
156
143
162
261
200
129
165
270
235
242
115
143
218
158
263
187
222
152
173
218
214
202
181
184
254
176
249
205
143
201
198
160
223
259
128
146
220
179
204
204
183
160
211
162
214
263
146
129
200
172
170
231
191
173
231
220
173
192
115
189
170
200
260
201
158
194
181
133
200
222
221
130
183
182
145
191
208
169
201
171
212
207
287
181
214
189
191
182
130
206
210
207
214
186
247
238
141
166
152
203
244
129
200
217
157
201
210
145
266
133
210
178
168
162
183
241
213
201
192
193
277
180
186
229
177
266
242
129
180
176
231
146
181
248
194
204
172
161
230
176
238
208
133
158
176
176
130
237
169
219
173
182
214
184
168
173
179
160
155
150
168
119
222
171
198
168
176
217
274
225
180
129
192
213
221
201
143
146
175
115
194
146
244
183
162
150
201
188
201
146
196
129
232
257
211
238
129
166
130
239
180
176
141
149
178
234
192
225
193
166
173
202
250
143
133
115
179
192
256
204
161
146
132
211
255
172
129
184
164
200
194
173
204
145
169
153
129
173
221
186
169
238
149
234
130
156
158
262
191
191
208
183
174
153
176
173
210
249
184
162
188
179
179
201
257
179
185
168
187
149
182
214
249
190
173
169
210
214
152
195
129
236
184
222
173
217
264
158
259
145
200
188
226
205
212
236
183
300
223
145
273
210
208
257
145
182
217
183
205
256
204
161
178
185
176
122
209
165
178
176
202
203
288
275
146
130
130
153
129
179
228
187
198
188
158
243
187
164
186
218
179
129
191
212
149
221
152
129
283
184
227
133
229
217
146
149
191
180
211
115
247
253
210
164
205
235
197
146
158
173
206
176
179
206
202
172
166
141
202
221
174
225
179
236
225
173
225
146
229
184
201
219
156
247
281
254
192
226
206
222
185
231
178
181
248
227
130
183
217
169
222
177
217
178
190
179
184
217
188
143
150
212
145
191
217
181
204
194
299
146
225
192
210
157
146
146
254
173
210
175
230
171
129
211
156
188
237
151
171
230
195
146
129
179
230
144
259
201
211
186
145
228
179
261
207
260
259
173
188
169
204
183
173
218
295
218
218
228
243
288
187
180
179
174
245
179
296
248
184
141
168
282
203
184
207
215
206
230
167
175
155
230
176
130
224
179
172
164
230
204
206
168
179
260
183
164
133
169
169
162
251
189
202
146
162
264
153
221
239
146
176
155
207
162
146
200
225
199
260
185
236
160
249
178
228
129
201
200
164
185
122
255
188
169
155
184
176
176
153
233
243
147
146
221
258
184
133
180
219
211
226
173
187
200
227
259
145
143
182
168
129
210
230
180
218
239
238
173
195
178
204
236
205
242
264
151
204
168
178
145
214
295
306
143
143
163
130
210
129
173
180
225
204
274
115
162
130
191
234
274
230
162
216
176
129
130
182
155
232
175
130
198
170
143
239
237
228
284
176
129
181
287
146
217
275
213
197
184
168
204
212
195
146
146
262
173
150
238
199
212
226
130
183
222
156
151
138
202
181
218
181
176
122
176
158
169
179
242
181
256
197
171
248
176
174
180
230
202
129
241
229
217
161
236
231
131
176
189
172
132
132
162
227
133
183
184
175
172
162
164
141
230
211
287
138
263
184
168
184
130
247
192
206
224
214
129
184
205
229
226
197
133
173
191
238
264
183
144
156
304
181
228
156
198
177
182
143
200
217
146
193
129
162
185
246
176
201
230
210
183
251
180
174
204
242
211
161
187
191
174
206
146
205
197
254
185
173
184
191
173
244
217
215
146
194
173
210
301
129
194
184
156
183
158
141
239
229
199
227
197
215
176
141
151
206
214
240
184
279
230
214
207
162
168
115
204
251
186
205
222
202
182
201
238
193
168
250
146
161
176
238
249
176
170
166
221
229
188
194
156
192
214
176
180
206
193
204
173
194
154
198
200
182
146
162
210
144
130
246
143
186
191
202
166
242
189
226
174
155
129
190
190
239
247
156
214
129
246
220
201
207
204
212
204
176
268
185
194
162
206
264
256
197
206
242
162
210
237
211
202
185
168
128
202
181
199
153
217
191
201
180
231
252
204
145
254
204
144
146
250
209
210
239
274
202
201
217
192
182
129
300
217
200
234
233
155
235
115
176
218
195
168
173
188
206
204
262
201
335
164
130
187
145
210
173
168
174
204
133
229
183
206
182
164
171
229
153
206
158
183
130
237
248
173
164
245
214
170
228
155
263
146
184
221
244
176
195
204
146
156
169
158
147
236
212
242
168
200
210
180
195
146
170
205
173
238
130
149
209
156
275
185
222
153
211
149
217
204
214
230
129
115
204
150
191
182
209
176
173
234
143
174
221
155
227
189
176
229
204
253
161
229
130
272
201
184
122
145
156
162
225
249
130
188
208
210
211
208
253
188
173
184
258
226
218
149
184
222
202
219
205
184
184
129
171
199
252
173
205
193
174
146
199
173
202
175
231
129
165
130
200
211
246
181
230
192
133
222
189
206
166
130
296
133
234
193
176
122
201
222
225
151
190
206
221
221
214
276
186
176
211
205
153
227
296
173
184
258
255
239
130
143
184
238
185
231
173
240
174
169
168
156
204
198
211
200
173
327
170
132
178
164
231
157
146
261
222
185
203
129
182
218
168
177
215
168
129
236
243
241
143
191
187
205
195
298
115
238
288
237
156
190
155
145
181
129
217
215
129
194
234
195
210
182
147
184
209
202
190
236
141
171
146
129
211
174
181
230
195
129
169
206
264
152
193
201
241
183
175
197
169
161
180
219
194
262
194
178
184
179
204
212
202
133
281
183
201
217
214
207
242
212
211
177
185
191
242
221
143
182
183
236
183
164
227
184
234
214
206
209
200
219
248
203
205
246
242
230
146
146
143
250
133
181
200
198
176
203
259
208
166
164
251
229
173
218
182
173
219
176
207
233
173
206
249
147
226
131
122
169
193
219
219
151
225
223
211
137
138
211
177
173
288
130
201
183
248
129
130
219
133
232
147
173
225
145
206
203
165
176
190
127
176
202
181
230
146
155
192
178
172
168
201
200
187
164
190
234
156
206
176
185
184
217
236
189
235
176
182
129
216
130
291
158
269
186
180
191
259
157
188
157
204
202
242
170
223
174
232
158
176
221
185
224
163
188
192
192
190
195
133
183
166
179
300
188
204
212
239
164
196
164
225
202
219
202
265
200
225
149
133
157
199
194
182
184
181
164
152
133
191
174
208
146
231
140
200
203
173
184
130
150
184
184
192
160
202
155
203
115
200
130
178
202
130
130
130
184
169
152
200
176
261
225
162
132
173
225
208
206
130
176
216
222
210
152
335
216
176
182
181
174
166
178
204
154
212
189
199
298
164
190
173
181
209
146
115
166
173
242
206
130
129
129
188
215
188
217
155
231
173
197
250
204
147
168
164
236
216
199
188
150
269
143
172
146
212
187
167
210
130
174
191
176
180
204
247
263
204
172
164
129
166
162
169
183
229
130
180
216
206
201
115
204
251
213
193
190
210
217
147
146
165
164
133
129
143
141
220
130
239
169
185
247
183
143
153
257
300
130
175
221
189
164
246
200
173
143
219
166
211
141
229
145
132
268
129
162
225
259
184
227
190
146
159
230
174
205
164
129
263
162
189
193
188
198
201
203
189
227
173
225
211
189
238
222
173
162
176
164
222
217
183
178
191
202
202
199
185
176
201
158
129
201
129
141
182
162
211
181
173
248
162
146
182
217
183
184
191
173
238
172
220
201
166
146
210
217
229
205
187
259
176
240
189
197
210
173
175
248
179
207
287
115
197
164
200
246
201
242
264
199
168
185
198
145
181
214
178
191
201
213
209
204
199
211
204
168
184
145
176
173
214
209
177
184
215
181
233
240
162
146
227
178
190
149
248
211
233
248
281
173
130
193
218
205
334
185
205
164
248
172
191
197
213
205
173
202
156
185
169
143
204
145
203
157
192
150
146
179
206
115
279
193
171
263
169
206
202
193
164
202
188
193
201
179
204
210
181
183
184
176
233
115
202
166
169
173
211
202
166
147
173
210
205
204
167
179
208
160
177
145
204
151
164
173
146
168
171
171
211
225
173
202
207
146
167
178
129
214
155
152
195
146
129
237
217
129
217
161
176
130
210
185
129
122
249
225
146
190
201
214
241
199
152
160
246
187
184
216
191
195
173
176
163
177
189
187
210
182
162
213
206
145
214
173
191
199
179
201
228
164
150
228
176
162
167
206
178
199
216
146
194
222
230
183
151
267
141
178
143
209
184
165
177
231
199
182
206
155
234
159
206
204
176
130
179
166
188
176
222
149
167
194
197
175
208
173
159
220
225
195
197
201
162
162
201
238
231
300
168
201
204
176
179
210
231
181
130
196
206
188
185
193
213
177
215
274
217
217
176
200
183
181
183
156
182
201
179
204
204
205
133
141
188
176
176
202
207
198
193
156
223
197
183
145
196
206
173
204
215
190
185
206
168
200
168
216
212
197
131
174
197
184
214
182
239
220
214
173
206
204
156
212
256
143
213
214
222
155
172
182
174
150
192
180
223
238
183
129
216
267
244
210
176
235
184
166
296
199
183
288
203
158
232
145
195
172
160
190
186
217
130
185
160
173
221
168
226
199
179
222
173
219
229
177
181
205
180
241
234
211
176
174
130
130
185
164
183
138
187
173
219
211
153
169
176
272
173
244
172
239
186
173
199
145
184
147
157
228
119
200
210
216
146
180
175
168
210
283
217
181
180
217
182
241
271
129
260
152
238
182
217
191
144
199
222
176
243
129
252
146
204
186
172
254
130
201
156
194
216
180
155
145
182
211
189
162
178
154
198
184
193
224
119
214
183
186
201
151
198
190
247
183
204
195
207
226
168
146
146
219
238
215
208
195
158
176
248
164
185
133
211
143
173
205
204
180
208
179
158
184
211
283
209
173
176
246
157
191
115
271
185
130
204
176
215
204
185
172
232
240
227
242
260
203
204
170
179
176
144
173
202
174
199
183
168
130
179
162
146
222
181
200
207
165
183
185
280
176
164
222
158
205
179
261
291
160
242
168
208
178
221
242
246
252
149
238
173
204
209
247
240
185
207
175
183
204
222
293
259
199
146
176
271
161
211
249
191
186
210
146
207
133
202
225
162
206
156
249
214
146
129
190
169
204
156
168
180
221
151
207
180
227
210
187
179
129
163
176
176
171
230
213
246
160
260
150
184
185
226
250
170
192
183
202
217
204
202
162
201
192
115
195
210
141
216
179
230
146
157
183
210
207
261
149
141
182
188
185
162
170
184
184
208
162
225
197
239
143
169
175
157
130
212
206
188
226
174
215
209
217
181
168
129
242
203
160
174
130
141
190
164
275
228
172
203
205
275
201
173
190
239
204
191
166
194
115
143
173
214
202
200
161
181
210
164
222
198
179
164
217
129
191
130
143
173
222
200
261
246
141
190
204
210
146
208
217
133
218
130
187
184
174
181
146
185
207
172
230
170
178
217
182
155
156
185
150
220
155
176
218
191
115
169
191
173
169
261
185
215
258
161
145
220
231
218
201
226
192
173
217
232
180
217
182
141
129
130
146
129
185
190
173
302
145
211
237
224
164
217
175
204
204
148
207
208
183
279
202
254
156
201
130
173
211
238
162
215
224
190
204
204
156
161
164
161
173
283
149
182
188
130
152
178
141
168
177
169
146
129
209
271
183
237
146
221
158
237
146
226
145
162
129
270
129
192
231
164
203
130
176
145
158
277
200
173
197
204
218
231
130
238
169
146
206
217
164
164
175
115
129
220
185
204
168
182
212
162
129
218
238
119
198
233
247
200
194
179
197
133
287
204
165
188
263
224
245
130
143
156
161
263
180
269
234
255
174
204
177
130
178
145
177
156
253
130
211
166
184
133
200
181
224
179
174
150
183
162
235
155
147
214
130
165
246
241
206
146
130
133
227
143
145
115
167
185
183
204
187
155
141
192
145
185
191
226
200
153
172
186
211
191
183
122
238
166
138
184
211
164
195
220
225
238
204
200
228
186
160
115
162
206
184
230
172
128
146
173
168
214
185
191
164
166
219
201
204
214
132
228
216
211
230
205
208
204
250
215
171
176
183
133
175
217
285
243
207
221
202
193
176
175
202
240
200
174
185
206
217
218
236
188
216
130
229
183
185
216
210
230
221
202
149
130
166
176
230
221
183
204
189
243
179
191
217
186
162
175
217
331
188
119
171
185
130
181
209
130
260
204
224
196
182
133
210
236
239
156
145
211
182
138
157
143
191
212
183
204
138
200
146
146
162
202
258
210
211
162
176
233
227
130
158
206
236
143
173
187
168
159
176
376
199
250
143
191
231
146
224
143
218
184
204
169
259
247
177
173
210
200
194
194
206
248
205
178
204
133
206
207
184
242
203
162
173
246
169
206
191
211
162
161
214
130
186
152
212
217
210
210
247
194
184
230
168
183
204
160
180
183
164
209
247
211
191
210
236
130
214
176
149
184
280
179
130
146
206
208
146
216
228
176
199
213
257
209
184
167
115
129
129
152
262
186
210
218
206
176
179
265
211
203
158
159
207
204
243
145
202
225
130
130
216
173
183
166
194
247
184
176
167
204
181
176
173
203
187
228
194
201
240
130
149
202
203
176
176
178
206
264
238
262
128
167
143
211
129
143
145
227
170
208
129
140
192
173
174
189
204
130
183
211
191
179
141
191
153
182
197
181
200
230
129
185
187
130
222
216
267
168
168
158
260
146
248
264
202
225
203
191
153
179
210
180
202
204
133
183
210
202
164
186
206
230
217
256
204
173
162
217
202
185
130
258
261
182
211
291
206
179
200
231
230
216
232
185
184
210
204
335
211
181
201
264
201
191
193
193
149
219
173
250
237
173
232
173
138
138
227
316
129
143
204
216
261
214
242
158
174
133
129
130
179
162
191
222
133
237
191
179
204
141
199
130
173
187
191
162
164
148
239
187
209
212
258
185
259
162
184
238
176
173
133
210
188
261
164
129
230
225
211
179
204
232
230
155
151
182
199
256
206
143
184
209
210
204
201
179
202
243
208
129
188
179
143
246
164
231
146
233
238
162
160
233
132
201
188
231
172
171
236
171
206
233
204
234
174
133
252
227
183
221
146
130
173
164
216
273
295
184
256
143
225
221
238
225
242
230
246
173
257
178
122
151
162
188
150
146
180
180
145
173
169
129
129
173
159
252
156
210
207
223
202
239
171
235
248
184
218
178
115
208
154
211
185
171
180
212
129
204
178
143
166
264
184
293
182
184
203
225
200
200
215
258
181
226
205
178
155
203
129
149
151
190
187
274
160
222
200
309
164
204
162
202
182
243
143
129
162
156
146
143
231
130
171
204
188
255
167
149
231
176
176
244
173
155
150
159
191
204
187
161
164
130
257
223
145
201
166
133
219
234
182
164
197
235
212
297
218
168
206
232
151
299
183
176
261
162
146
143
158
174
230
220
197
143
146
211
179
129
182
183
210
143
187
201
191
146
146
205
145
146
210
173
141
168
226
200
251
232
184
175
181
167
182
212
230
185
213
222
201
224
173
187
150
141
211
173
157
176
174
230
257
185
205
164
178
122
251
230
115
176
155
158
252
211
168
239
115
221
147
184
130
206
150
169
174
191
207
204
137
129
195
183
257
205
146
158
258
162
202
115
204
293
211
164
216
143
146
178
246
176
156
238
169
210
217
161
258
204
173
191
190
207
179
130
217
194
168
204
208
230
204
206
202
179
190
202
271
171
225
146
244
238
211
191
233
264
131
203
183
224
250
145
201
226
226
183
176
187
211
158
180
212
222
204
187
145
205
211
168
165
202
203
217
218
264
163
240
176
130
217
130
210
192
115
198
178
217
158
203
145
130
194
239
210
199
191
174
149
204
255
189
225
201
130
164
278
242
272
164
176
201
194
174
216
128
188
183
141
146
207
206
153
272
217
274
217
246
175
162
229
216
182
246
179
239
191
152
228
239
146
232
210
192
188
177
236
122
222
195
225
248
172
129
198
200
141
201
158
173
178
184
275
164
164
182
256
179
195
201
255
204
228
146
163
222
168
150
194
188
172
168
288
203
201
259
206
173
181
226
222
205
221
149
228
212
217
170
202
129
174
181
209
199
204
191
191
203
211
230
168
185
205
236
207
146
145
130
130
129
188
276
151
209
222
259
193
182
168
278
133
259
192
230
164
185
158
212
169
179
184
188
217
204
204
170
236
233
206
204
180
146
168
183
173
280
197
245
186
258
211
164
191
240
223
176
208
283
181
236
174
129
185
182
254
194
158
200
115
223
174
230
191
180
212
236
199
146
217
209
164
130
201
202
249
184
173
130
130
213
130
275
188
179
168
129
174
129
190
240
261
212
185
229
236
129
206
176
129
204
244
130
173
146
204
245
250
129
129
190
146
228
201
130
133
229
143
204
219
198
156
206
166
189
182
282
168
178
145
206
201
156
185
173
260
301
222
129
227
168
170
168
158
214
182
204
146
197
146
180
133
175
168
176
155
203
173
262
210
215
222
219
200
119
236
192
209
160
217
179
168
145
211
230
161
188
191
181
130
147
133
205
206
157
146
210
156
146
187
138
168
188
195
262
145
159
169
306
130
156
252
193
246
178
227
227
188
294
204
199
256
229
168
259
238
192
272
176
232
197
287
247
130
172
232
151
230
149
149
247
145
195
129
220
191
156
236
248
224
216
179
231
207
129
130
192
244
181
206
191
173
141
189
245
231
164
132
226
122
146
203
303
129
202
179
252
208
146
203
222
263
183
239
145
176
157
206
202
212
175
216
129
242
242
188
198
202
156
185
236
184
208
221
176
238
132
132
217
129
164
201
143
207
182
129
247
202
161
144
203
188
239
176
199
221
256
262
206
181
130
184
183
173
250
253
184
174
188
215
145
188
206
210
141
215
155
252
158
163
186
218
210
175
160
115
143
221
188
211
149
204
226
202
222
184
236
176
143
259
179
175
195
195
223
179
172
231
215
155
230
198
228
176
184
151
130
258
178
205
210
133
234
179
236
231
144
152
181
217
173
162
200
179
166
185
133
210
191
186
195
155
179
201
187
191
138
222
204
163
207
226
188
192
173
176
210
255
155
239
283
205
146
182
205
130
190
129
211
244
192
233
211
200
200
291
153
246
182
206
210
130
238
221
179
130
209
129
202
160
156
304
168
150
138
178
174
212
210
206
162
173
204
226
263
179
171
190
145
211
210
166
178
259
163
210
163
260
141
238
178
211
158
217
200
237
210
168
190
185
214
214
202
231
239
217
182
235
225
201
152
231
210
162
252
236
183
217
173
200
176
191
176
160
210
238
176
168
176
210
186
219
212
257
235
129
209
252
255
158
146
206
181
229
204
252
184
222
254
217
162
129
164
146
228
173
236
210
203
192
215
202
243
256
130
180
202
164
245
254
193
130
151
203
165
200
128
142
192
221
296
202
210
250
129
238
199
257
129
200
130
190
164
176
141
211
184
164
129
226
180
143
201
163
146
193
184
202
176
206
217
173
181
233
248
218
213
133
239
213
180
162
173
252
183
129
193
173
163
206
145
129
203
205
180
173
189
228
204
166
179
143
204
218
234
192
179
231
239
281
227
168
174
180
200
196
171
258
171
179
236
221
202
227
248
184
183
152
255
222
178
211
184
156
176
145
131
201
164
211
167
146
225
204
162
173
173
252
122
224
201
143
182
202
206
211
162
179
259
191
202
168
128
153
192
212
235
176
133
192
188
204
289
155
129
246
176
193
216
303
197
185
167
203
162
146
287
183
184
225
217
208
229
238
202
204
164
150
145
198
179
170
133
130
179
143
227
209
200
172
253
180
203
200
169
143
200
143
218
155
176
173
200
204
157
209
217
173
130
162
157
145
176
146
202
171
263
173
238
198
176
115
204
296
376
149
180
155
179
172
156
204
222
129
217
115
184
141
180
234
197
184
176
174
185
133
150
179
214
175
222
129
164
191
200
201
130
146
129
176
192
146
149
200
199
209
129
188
179
173
203
184
232
176
202
183
150
145
230
203
249
129
222
176
225
164
200
202
172
170
129
230
161
217
147
242
155
171
204
182
162
170
236
176
161
204
194
175
238
129
238
200
130
199
212
178
200
236
168
220
181
197
216
204
189
231
210
149
257
130
206
189
247
146
166
143
168
204
179
129
205
192
208
138
166
236
202
155
211
156
146
130
214
164
145
184
213
182
173
184
141
188
192
130
129
129
178
245
145
241
175
146
156
146
200
203
259
206
209
181
164
195
172
224
264
258
119
294
187
294
258
229
129
237
203
172
281
195
157
173
203
233
188
177
173
216
288
239
129
190
201
203
173
201
242
249
129
130
194
183
185
176
194
222
204
201
155
168
189
230
201
176
146
182
173
173
191
189
192
189
192
189
130
220
122
200
199
172
168
115
204
242
180
170
162
129
129
149
242
244
144
158
204
206
244
199
187
182
191
173
140
200
185
138
173
245
176
174
284
173
184
173
119
254
164
217
172
229
211
169
145
176
184
151
178
174
216
220
130
231
264
214
198
162
210
176
199
155
152
201
176
168
184
174
251
246
202
150
115
115
180
234
211
210
173
217
177
208
270
254
210
181
176
245
325
173
217
166
259
189
217
216
145
227
130
179
164
238
211
213
204
176
153
164
209
221
203
173
216
239
185
129
230
186
324
163
227
259
173
214
217
230
210
231
147
218
146
239
228
187
160
221
176
181
236
246
146
169
176
252
204
184
170
162
209
200
158
264
245
145
279
119
183
200
183
237
184
271
181
129
155
191
129
160
167
184
176
151
208
190
176
130
192
173
186
150
207
222
169
245
161
236
212
162
138
178
176
210
206
203
210
195
200
197
227
211
229
206
172
119
220
179
161
179
183
149
230
171
217
200
215
179
187
285
185
176
175
183
171
185
130
204
160
163
179
155
176
199
218
143
255
129
253
262
222
180
183
222
214
259
146
143
193
146
210
176
115
166
149
155
178
234
229
184
119
172
176
173
204
211
195
225
202
168
238
169
171
250
172
231
189
144
225
258
211
210
173
173
281
183
180
225
239
209
252
228
176
159
179
257
204
151
260
175
176
159
179
192
236
242
202
199
193
168
162
240
162
231
201
146
238
264
185
146
204
246
181
277
191
225
130
155
167
169
185
184
156
210
191
255
129
255
193
256
231
138
129
133
166
161
219
190
233
145
164
150
222
201
214
141
195
146
150
146
238
222
130
186
287
229
206
187
160
200
211
152
200
333
211
212
146
270
253
160
242
258
209
206
255
269
168
308
200
222
158
168
164
239
203
240
166
151
130
206
168
115
192
195
203
275
219
210
146
242
176
188
129
167
229
211
211
170
168
160
201
194
222
193
231
263
228
216
141
176
188
202
278
145
172
247
150
162
143
169
174
265
243
178
180
236
130
173
170
160
246
220
157
230
210
173
206
238
207
130
239
248
267
181
191
206
195
201
201
221
146
158
183
162
204
179
176
247
145
187
171
129
176
186
232
222
155
151
179
180
192
185
204
200
156
195
221
162
176
158
156
138
300
145
257
242
225
254
198
200
166
204
228
164
216
133
203
214
149
133
199
178
176
132
186
239
210
128
184
201
203
169
263
169
176
274
168
180
129
223
166
225
228
130
254
129
179
210
182
185
172
213
299
173
210
192
196
180
144
145
162
204
173
211
156
164
201
130
164
210
183
211
152
307
143
256
210
300
202
216
231
222
227
204
223
221
150
174
291
129
159
209
183
173
162
128
200
235
180
274
211
239
208
141
288
173
170
244
161
146
298
179
210
232
194
208
217
182
162
176
130
129
297
206
145
193
204
185
224
202
226
181
259
172
184
195
184
177
171
185
149
161
129
228
244
226
202
213
131
200
143
175
199
182
191
195
190
246
240
234
226
189
174
227
242
155
174
174
171
201
184
185
186
196
130
160
168
204
195
183
231
155
289
202
191
246
166
198
240
313
215
179
226
144
272
219
176
217
257
203
210
203
174
218
206
196
236
201
186
139
168
201
217
257
129
201
164
145
202
173
164
145
141
210
217
164
191
224
178
204
210
214
173
209
163
164
204
176
143
130
174
166
197
204
179
130
203
270
141
203
250
149
256
167
218
145
141
133
173
205
217
206
164
201
173
219
179
201
203
246
221
249
228
251
195
157
176
239
199
210
186
186
233
192
155
223
223
133
145
183
176
173
158
233
217
190
263
133
205
189
214
129
188
115
193
229
158
176
158
241
169
181
261
181
166
183
201
182
195
150
122
210
300
176
170
157
230
184
201
168
180
173
236
180
183
158
172
158
176
183
289
201
230
133
132
176
204
173
210
129
173
264
205
283
225
200
167
239
157
133
173
217
207
168
146
184
219
236
191
180
261
141
174
160
158
141
212
170
168
217
185
141
173
175
224
193
190
174
192
158
185
203
250
217
221
217
248
210
151
264
182
184
233
183
201
173
204
195
155
176
177
209
164
195
286
145
130
335
222
146
164
191
179
219
214
173
133
146
128
115
156
285
174
256
141
172
197
228
200
173
214
176
130
179
202
129
146
185
184
202
156
266
293
217
217
228
255
218
244
178
130
182
214
217
157
129
246
133
143
143
146
159
211
176
188
147
159
255
177
211
203
143
180
166
213
141
203
152
229
321
247
204
211
155
174
162
173
184
130
129
282
158
173
153
145
173
202
230
254
229
278
145
164
202
238
181
155
226
179
211
148
192
214
204
232
173
204
185
211
173
169
129
239
243
155
210
150
164
164
177
173
208
199
173
158
164
214
261
197
168
133
176
242
173
188
178
172
164
178
180
179
145
219
204
182
211
250
257
188
205
210
246
169
180
129
180
129
242
209
213
138
189
161
138
145
204
146
264
185
130
194
157
214
181
173
146
191
281
156
122
193
191
232
204
115
165
186
204
192
179
186
229
204
197
227
115
143
130
226
246
187
228
179
237
158
204
194
152
143
210
236
165
138
181
207
228
206
254
189
189
204
227
222
174
204
173
195
228
208
197
129
146
184
217
179
160
179
208
206
130
206
214
141
240
178
166
141
138
173
129
158
170
271
195
157
173
146
192
210
157
218
143
170
229
143
224
225
187
198
145
179
145
182
167
169
183
205
122
176
246
181
173
206
319
173
228
256
141
207
161
191
197
206
168
182
182
141
185
185
158
164
158
155
115
157
183
376
204
210
256
176
197
186
232
145
264
149
243
205
198
129
186
210
185
204
152
169
168
158
179
176
163
162
161
166
204
202
122
143
285
247
195
231
173
202
226
130
221
223
190
202
175
214
203
258
164
185
174
184
199
249
214
231
115
130
246
166
179
202
300
173
228
204
130
236
145
165
231
230
204
159
146
179
184
201
184
173
217
176
208
211
225
159
189
217
210
206
187
183
210
180
285
274
148
180
210
202
222
242
223
178
191
176
181
263
211
201
130
130
211
159
204
204
169
249
129
214
187
209
216
183
182
171
130
173
210
150
164
247
173
185
173
167
211
230
179
200
163
211
129
194
184
210
204
191
155
238
130
173
191
230
176
204
173
161
202
146
299
207
259
217
176
258
173
171
272
161
200
184
166
201
184
238
204
193
190
217
193
193
199
250
258
201
115
195
201
191
228
211
181
144
202
169
161
133
272
165
210
205
185
218
143
214
162
264
129
235
130
206
191
158
217
188
185
186
233
191
145
228
170
205
217
179
166
173
141
212
191
194
206
173
155
201
178
217
211
174
179
224
176
180
279
133
182
225
165
264
164
130
239
176
141
199
164
151
222
190
192
218
182
287
176
236
204
189
160
129
233
168
152
168
236
155
211
129
161
159
151
199
195
222
205
226
195
201
270
158
146
168
205
146
183
201
158
210
230
167
210
201
195
173
129
115
162
191
256
210
203
165
239
130
150
175
211
263
195
230
180
200
181
122
122
173
143
168
211
187
115
215
275
167
158
213
262
202
149
214
183
188
192
170
163
254
241
204
168
176
173
173
256
214
129
201
183
204
210
236
173
115
122
179
115
133
115
202
186
220
187
165
215
162
202
173
195
176
238
193
186
188
204
238
198
227
162
217
167
149
229
204
157
194
199
129
245
172
216
186
222
200
176
204
162
259
235
214
207
211
209
130
303
130
238
224
195
244
164
235
186
210
228
192
299
229
168
303
164
266
300
184
195
130
146
195
283
193
201
129
144
209
230
225
234
146
206
182
146
236
258
198
173
203
202
215
200
173
129
171
144
130
189
183
200
239
143
210
230
238
129
182
162
133
203
129
155
182
200
152
176
247
202
151
201
183
210
242
166
186
156
182
259
217
256
192
221
145
179
207
172
193
179
203
217
244
158
231
184
182
213
263
176
169
197
214
180
144
256
210
188
236
143
183
217
213
176
233
211
212
129
158
175
246
130
293
192
156
176
208
229
242
238
211
173
184
143
217
146
150
146
192
138
167
185
156
199
202
146
178
153
145
261
217
171
143
256
130
161
146
130
158
173
221
145
155
179
200
230
209
195
266
143
207
198
179
167
184
206
214
202
210
146
230
236
183
217
226
256
183
183
130
168
189
191
146
150
225
129
145
133
176
202
270
130
206
215
217
133
198
204
272
202
278
180
146
168
176
115
259
194
218
193
283
173
160
191
247
238
213
176
226
213
115
160
179
227
146
184
182
246
307
199
206
166
202
214
145
213
206
183
225
202
218
173
152
164
162
180
207
264
158
221
230
206
172
201
204
180
204
169
219
205
190
186
229
204
232
173
151
167
207
279
130
266
202
156
178
182
146
226
172
210
182
176
217
284
143
145
242
130
211
145
145
202
176
157
160
206
227
209
184
221
176
225
164
247
234
201
204
211
185
166
228
191
194
172
182
191
201
240
206
215
130
180
243
150
241
217
129
153
210
209
202
185
166
176
183
129
143
145
204
161
146
146
222
214
199
177
201
141
182
162
185
225
189
159
141
185
198
145
158
145
183
201
173
247
162
192
240
176
194
215
299
183
188
187
133
274
173
248
191
147
133
174
253
172
208
180
176
169
282
182
222
210
199
115
184
129
186
156
173
138
206
179
149
238
173
183
236
194
220
180
215
229
204
115
194
212
206
194
146
202
144
151
200
239
143
130
237
129
201
173
206
211
274
236
130
192
190
200
155
173
230
242
210
275
129
239
210
145
239
175
261
191
172
167
182
247
129
281
201
202
179
176
162
209
226
173
173
204
176
165
181
216
178
179
249
270
210
226
157
239
180
133
193
201
156
158
206
284
217
234
210
133
285
198
172
175
204
161
161
177
217
234
201
211
161
164
247
242
228
221
213
217
150
138
202
132
178
206
224
193
159
188
217
164
193
201
206
146
216
253
145
203
255
205
173
211
217
173
209
179
265
221
214
256
130
144
130
227
214
194
195
162
196
214
239
194
143
129
192
239
178
185
264
252
169
129
205
264
230
129
202
221
233
129
129
199
173
172
115
223
233
190
195
210
145
202
155
128
218
200
218
175
202
162
227
222
214
180
184
211
170
176
146
214
172
147
210
129
249
175
145
232
170
230
239
228
150
222
200
225
222
229
272
122
239
203
191
235
217
269
185
156
321
264
185
234
198
255
220
122
208
242
224
129
146
183
162
211
148
178
130
247
191
214
236
213
166
178
165
180
179
236
158
177
210
238
205
307
193
247
242
143
231
229
129
231
163
236
166
267
294
218
184
211
158
335
221
299
162
190
224
143
183
242
211
129
215
177
231
155
185
138
202
205
172
230
172
187
188
225
168
236
184
133
243
145
194
141
176
182
181
146
282
189
221
169
166
186
173
176
175
214
202
217
189
129
239
228
211
204
258
183
205
210
185
156
251
242
212
158
155
186
208
174
133
143
213
143
217
190
270
133
256
190
232
184
219
146
204
153
176
210
160
173
201
168
115
168
217
146
173
215
249
191
185
162
183
227
155
205
269
175
185
178
146
186
160
212
150
202
175
245
212
146
186
259
161
224
151
283
155
233
230
155
173
179
225
179
212
214
167
204
129
190
179
180
241
202
173
168
168
256
160
203
258
130
265
165
195
191
173
174
216
175
145
130
162
192
217
173
200
130
201
173
246
192
173
158
174
207
181
115
150
218
221
173
176
207
202
187
192
250
181
204
228
205
146
131
188
176
130
183
168
214
172
140
204
217
141
250
202
133
212
130
161
267
176
204
122
244
192
181
211
247
206
219
130
115
156
173
182
210
171
173
143
225
255
189
185
145
217
238
230
219
247
197
264
170
130
132
146
232
145
151
217
179
202
242
187
191
211
221
251
210
196
155
204
205
195
214
178
174
228
264
219
175
204
164
158
166
176
199
297
264
190
157
229
162
149
138
175
164
129
183
215
174
247
172
205
210
168
173
189
181
179
225
160
184
173
209
181
188
204
119
173
129
214
200
211
255
145
245
264
217
187
145
217
163
130
193
158
209
214
176
173
335
166
129
193
182
211
177
181
233
278
201
244
189
250
158
157
190
122
221
210
196
209
184
206
173
133
152
192
239
178
209
216
155
197
176
230
246
214
129
178
189
204
178
215
182
244
284
151
197
256
217
155
250
165
166
199
241
234
129
133
145
199
132
155
212
210
173
184
167
173
191
168
173
149
128
164
197
146
171
168
164
156
238
159
239
138
188
179
173
172
250
206
311
254
178
156
130
242
254
215
185
202
176
184
191
274
161
177
162
211
210
129
157
169
214
210
183
176
172
210
246
252
187
198
177
184
212
247
129
173
256
188
221
182
246
226
181
193
219
212
183
167
230
204
133
188
184
224
189
178
192
210
236
189
261
202
257
211
201
224
211
157
275
146
149
176
260
130
225
161
286
243
129
245
211
182
173
238
200
149
229
122
230
210
179
187
218
222
138
115
195
149
122
179
217
215
162
203
217
214
217
250
221
164
161
206
160
203
246
185
129
234
143
146
230
200
146
129
183
195
176
226
176
228
179
211
119
226
184
229
204
169
162
208
189
145
174
172
250
129
257
210
206
145
171
247
270
238
166
128
170
222
245
221
230
149
172
195
132
156
145
176
201
189
202
179
178
130
202
191
130
169
283
141
217
233
215
283
172
169
174
198
194
115
187
133
177
173
133
204
160
192
130
236
176
252
119
143
210
193
203
220
130
166
176
249
149
178
215
221
147
210
227
129
181
173
193
256
247
130
201
220
225
179
190
129
203
165
219
200
157
200
217
227
176
259
210
226
187
184
187
227
191
182
163
201
236
238
180
173
210
210
133
133
145
226
130
240
178
238
180
191
184
211
211
217
283
191
166
156
247
153
230
221
174
183
260
207
164
131
157
185
155
129
236
169
230
161
201
210
234
138
173
149
161
174
188
210
130
146
147
255
202
230
138
180
321
248
244
198
130
219
173
130
187
151
266
239
162
203
173
176
184
149
250
138
138
162
130
242
218
206
159
161
193
143
185
217
194
187
146
191
168
164
184
169
151
141
188
129
167
231
212
173
206
143
204
264
221
186
182
216
204
210
227
297
146
210
264
203
179
194
151
228
156
226
214
273
266
160
130
162
156
208
225
143
199
235
115
143
115
138
234
168
195
200
191
249
169
143
183
208
197
288
238
228
130
190
201
229
146
173
204
333
162
186
168
146
129
130
146
146
129
155
239
173
202
257
266
195
141
176
179
222
196
160
194
164
256
217
179
162
211
170
246
280
178
238
225
199
235
169
217
213
208
141
225
209
201
225
191
189
211
199
166
177
190
179
210
130
204
199
210
170
161
164
187
169
208
146
231
196
221
168
179
169
217
168
184
129
180
169
252
176
225
122
162
258
130
223
195
204
184
145
130
145
236
210
147
158
215
258
129
143
184
275
176
173
172
173
119
228
184
202
185
251
184
156
187
178
166
164
183
203
146
201
188
166
209
145
193
146
184
183
164
173
222
208
201
192
201
217
181
252
146
173
170
130
157
232
164
182
156
176
160
194
206
214
182
235
176
175
200
150
188
169
176
249
239
176
185
193
176
235
170
205
173
195
184
150
173
333
217
211
249
194
211
157
243
185
186
204
174
192
200
269
185
173
173
130
162
204
244
185
211
172
183
179
210
186
221
173
145
133
178
185
214
214
231
255
129
236
190
222
201
146
198
158
181
202
199
168
184
166
145
146
310
211
162
190
194
189
176
213
211
238
203
204
195
168
179
228
200
173
211
211
188
182
183
335
186
223
203
227
204
170
146
143
181
221
204
215
182
221
162
217
196
179
189
132
168
179
176
168
183
247
187
146
194
143
210
219
259
168
247
164
213
202
228
162
201
236
202
179
245
220
206
210
215
172
243
210
233
216
153
218
206
170
145
187
145
229
191
176
173
186
151
173
210
161
156
205
194
185
249
167
201
193
204
221
212
145
184
152
156
186
221
246
295
210
225
179
191
122
200
230
169
161
212
214
231
187
237
200
211
158
214
179
211
158
145
216
130
173
264
237
216
257
211
210
226
201
201
201
183
173
209
146
168
239
174
130
170
183
179
168
254
168
202
218
146
257
262
182
173
156
202
129
173
165
200
200
226
206
210
204
155
194
335
190
130
176
246
221
129
217
184
218
169
189
168
171
258
176
141
247
228
297
179
192
129
162
143
253
206
171
143
122
204
211
259
129
191
168
260
228
210
169
211
146
176
146
251
151
230
188
143
203
189
190
199
174
176
180
193
115
200
145
168
216
199
206
171
208
235
158
166
146
171
161
206
184
329
240
204
146
191
133
252
228
232
207
182
250
217
168
173
174
254
240
145
242
210
173
189
149
149
144
194
200
171
207
184
122
205
251
137
156
172
164
159
200
181
202
225
119
211
186
211
174
176
248
150
168
245
208
214
178
143
174
176
184
170
202
236
239
153
242
189
155
198
231
181
230
238
291
142
211
186
188
162
173
253
204
193
174
169
181
227
247
169
133
143
192
183
228
178
157
189
181
221
146
172
174
156
212
202
158
203
211
164
213
195
169
167
145
239
211
235
130
228
185
194
214
203
238
215
230
160
162
304
158
133
167
244
174
230
169
221
261
143
162
234
183
207
204
164
129
173
149
174
162
185
168
151
210
261
239
196
216
164
236
217
216
143
239
211
202
222
214
204
221
200
256
193
173
200
209
188
195
173
151
241
264
220
243
192
181
240
202
130
147
171
281
217
211
146
199
239
256
115
179
145
214
264
199
227
150
164
130
257
194
224
193
204
149
145
162
162
268
180
182
203
242
164
173
222
237
155
312
145
218
221
280
184
161
132
205
130
189
204
209
194
202
150
174
218
180
177
214
133
210
185
137
133
187
182
163
322
211
146
162
186
214
232
177
194
173
191
246
250
201
261
238
191
245
230
143
188
225
183
156
243
157
146
216
237
210
257
206
231
208
243
195
181
184
156
216
179
169
193
179
235
206
187
195
229
228
221
194
129
284
211
216
197
166
193
162
240
144
202
181
256
236
214
204
225
218
133
202
266
202
164
182
244
130
183
187
167
184
178
246
146
133
190
248
202
216
172
182
172
242
178
143
246
155
250
179
241
130
129
238
190
115
115
145
146
214
191
180
214
234
164
115
212
265
149
204
259
201
217
289
162
151
217
230
196
217
176
239
129
223
198
162
232
228
193
283
204
180
128
156
146
183
182
210
197
155
173
182
225
129
217
129
194
217
205
188
173
179
211
218
199
219
174
146
146
186
207
206
157
129
145
155
176
208
129
217
165
133
204
221
198
202
214
145
236
185
192
191
183
187
250
185
187
176
186
236
201
295
174
156
122
180
222
242
202
150
138
250
201
230
169
129
185
189
187
184
148
212
288
258
175
145
222
228
199
204
248
174
241
146
201
115
197
167
238
207
207
178
159
177
173
232
191
204
146
245
239
248
132
156
180
209
159
130
156
214
201
130
176
225
174
172
233
175
176
252
176
133
231
192
210
169
202
191
115
205
216
151
217
201
185
184
164
151
246
169
213
218
164
227
173
247
176
186
207
238
213
162
130
172
169
162
173
168
223
176
173
129
253
150
235
189
168
156
227
168
210
199
204
162
164
239
233
244
141
203
217
206
201
185
162
193
176
182
194
115
197
128
170
182
165
204
185
227
161
157
115
214
215
129
260
201
235
156
179
173
205
255
173
238
133
238
128
217
201
146
166
129
173
231
144
164
228
168
129
176
199
141
161
166
150
158
214
195
209
164
197
225
230
221
210
201
191
197
212
182
184
176
180
202
149
281
163
182
262
204
259
178
193
197
175
183
239
170
130
214
214
198
201
149
187
181
203
195
146
200
184
200
222
173
192
185
212
271
149
179
201
224
218
188
204
156
256
175
186
166
221
219
203
204
201
129
176
190
237
145
133
151
262
263
216
178
194
200
221
215
141
193
181
186
137
146
130
167
200
115
227
185
200
133
173
213
206
146
259
201
130
265
149
211
146
129
188
149
163
133
189
262
172
206
156
145
164
188
246
160
129
173
201
225
188
185
197
181
249
222
185
158
230
176
145
133
229
201
194
141
167
221
115
227
236
162
257
236
129
242
143
182
221
217
183
189
238
251
227
266
193
179
294
184
225
204
183
217
203
180
285
211
169
198
176
223
217
158
219
143
194
178
186
193
215
246
129
200
182
130
180
230
226
230
145
201
141
129
164
184
208
248
158
247
203
207
151
197
231
168
122
168
176
181
238
194
252
144
232
146
181
186
225
201
179
248
217
185
256
251
221
162
146
184
171
198
189
222
174
178
182
296
190
209
146
256
244
144
274
214
207
190
169
192
174
189
169
212
207
220
182
173
167
263
146
156
174
207
191
202
295
196
161
152
199
146
173
218
191
195
212
223
204
178
204
167
192
273
182
240
203
146
230
225
210
161
259
175
187
133
170
184
170
190
150
178
182
219
249
207
130
231
201
230
204
173
204
181
173
193
202
204
216
237
234
210
200
188
200
204
202
172
150
179
226
151
246
238
198
253
243
188
204
176
231
199
129
201
143
212
221
183
216
155
204
173
206
240
215
161
147
192
241
156
209
191
181
205
130
122
226
174
143
184
129
193
181
146
158
159
252
129
221
130
210
129
183
241
237
146
133
210
206
204
155
204
158
158
228
201
133
162
192
151
201
133
226
229
191
279
156
143
209
238
130
194
179
150
164
133
249
175
176
193
194
150
274
187
130
210
173
150
173
216
150
296
198
171
178
229
133
242
211
245
150
162
197
185
165
225
213
220
175
259
178
217
259
227
236
208
221
208
168
179
168
255
157
168
115
179
228
182
221
204
217
178
221
200
191
183
261
176
164
129
199
209
191
204
147
206
149
176
145
186
210
167
130
130
226
245
223
170
187
133
195
207
200
236
178
244
127
217
199
238
158
195
155
190
173
198
176
187
210
191
194
197
168
210
130
244
233
239
267
260
190
144
168
176
184
170
145
204
204
219
184
183
155
179
181
246
165
155
168
201
230
224
206
209
287
144
166
247
146
143
145
201
200
173
141
201
130
173
210
274
144
143
287
217
270
216
228
212
225
212
201
188
162
216
133
176
190
213
146
176
217
174
192
163
261
203
170
223
202
201
168
129
160
230
168
210
169
173
259
202
180
260
241
204
190
217
256
180
175
184
143
211
221
335
244
264
230
129
217
193
132
149
230
214
164
226
184
208
198
184
130
119
186
157
208
201
179
150
232
157
161
145
209
129
219
176
188
232
201
146
149
167
180
204
206
158
198
170
211
217
227
187
141
159
226
192
176
191
178
160
146
166
185
203
209
163
253
237
238
250
155
176
207
197
166
227
130
203
190
197
222
192
144
246
172
222
146
218
130
150
138
288
181
129
115
129
183
176
221
213
227
215
223
200
237
141
186
207
201
160
209
202
247
213
203
129
255
157
179
162
138
173
202
179
157
216
133
164
204
223
183
214
146
202
228
152
217
129
192
179
252
239
176
176
216
138
170
179
176
203
262
210
129
214
173
229
221
222
209
287
206
200
155
189
207
197
188
187
223
153
237
150
335
190
199
230
181
173
192
204
191
180
129
217
198
161
192
199
248
149
206
190
182
144
252
225
264
182
281
219
189
229
168
169
209
171
214
174
199
176
146
299
224
167
139
138
195
237
146
221
162
224
195
229
182
222
133
237
235
146
146
188
208
181
168
173
162
299
169
287
229
173
202
145
203
275
183
200
263
235
195
180
160
133
230
173
181
172
188
201
211
187
222
215
162
204
186
130
158
184
158
245
158
201
179
246
143
164
219
173
146
182
176
195
221
129
223
155
179
211
162
176
194
210
115
199
210
143
251
210
251
173
158
226
166
236
227
157
179
210
255
146
179
187
228
176
164
153
183
204
178
204
182
146
204
238
216
174
200
213
283
200
130
219
211
149
145
173
153
130
195
129
228
221
187
165
155
210
184
184
192
227
174
227
115
129
199
164
230
191
194
169
184
166
242
225
281
152
245
226
168
236
211
129
200
190
204
200
201
177
198
146
186
208
192
214
168
178
209
255
185
168
145
162
214
158
270
183
215
174
164
168
180
302
216
205
221
189
167
222
191
146
198
215
145
264
143
138
179
166
176
169
182
250
214
160
237
129
181
223
221
202
263
237
250
133
209
217
204
173
156
170
202
130
132
252
208
217
146
130
143
164
184
162
176
230
157
119
130
292
115
206
184
203
230
205
179
191
138
236
221
200
195
204
128
143
143
209
119
174
164
144
210
183
171
257
156
169
256
170
141
169
167
204
211
161
211
199
176
164
210
251
173
156
230
210
143
156
164
210
161
183
145
129
275
176
115
164
236
188
253
219
263
148
216
262
198
169
265
217
176
169
182
258
229
194
169
172
211
214
205
235
229
218
146
180
164
178
246
242
245
167
210
206
179
202
167
211
179
145
260
175
191
167
210
187
173
185
193
152
194
130
200
227
207
178
182
182
163
146
231
254
229
129
133
129
175
164
161
286
166
220
205
227
164
220
168
176
173
223
157
250
181
145
244
208
236
209
257
177
191
129
146
173
180
237
210
210
198
229
227
182
185
181
210
225
215
205
202
129
247
190
133
179
162
173
230
210
122
246
229
229
122
152
146
265
235
190
179
170
256
163
233
225
221
204
172
251
202
179
146
187
179
211
217
200
176
171
179
173
122
199
201
204
165
179
203
189
213
201
204
119
202
130
182
187
244
242
166
164
215
211
198
168
115
240
207
230
115
203
214
176
183
195
238
228
162
153
129
231
228
186
237
197
184
151
178
162
194
122
257
130
164
179
263
211
184
256
242
204
211
228
155
173
211
224
203
191
190
247
187
206
217
168
303
151
150
264
206
221
178
174
242
129
162
189
122
115
210
179
186
173
174
200
185
240
220
173
217
198
252
210
183
169
173
146
164
184
204
217
188
204
230
182
201
230
115
158
252
251
179
216
184
237
230
205
187
129
261
145
239
217
177
119
221
185
221
143
200
201
153
200
199
168
149
173
176
170
168
191
149
164
145
191
242
242
166
210
174
234
193
171
179
191
155
192
247
216
182
158
130
217
210
211
173
264
191
190
130
132
226
234
203
179
224
178
206
197
146
203
162
191
129
252
173
244
208
201
240
130
173
155
178
173
213
173
173
200
176
221
204
115
210
249
130
191
115
221
168
145
173
195
176
264
115
206
201
236
213
158
215
162
133
129
177
176
130
146
184
194
141
218
170
229
169
173
195
129
187
138
200
168
146
292
230
169
207
191
211
224
230
191
189
226
233
198
188
211
168
269
172
236
158
225
179
227
143
215
150
221
146
180
115
180
239
211
129
187
226
238
205
162
225
226
210
176
173
167
231
206
172
133
160
204
202
157
228
210
184
169
170
144
163
165
179
209
149
152
173
184
221
171
173
197
217
210
166
176
165
200
219
219
213
180
130
201
211
174
236
146
210
210
228
221
175
188
215
129
229
150
216
211
209
164
178
161
145
168
176
168
254
176
143
195
210
130
272
180
119
191
129
184
145
168
178
186
221
176
130
144
183
184
145
168
157
197
216
205
141
115
202
231
208
173
168
177
218
169
219
168
115
168
162
217
173
206
152
240
205
203
193
186
214
230
175
265
176
204
173
151
130
145
205
265
253
211
182
204
258
131
224
168
201
129
129
181
119
214
147
202
155
200
197
220
161
175
166
211
217
247
166
130
207
255
184
187
186
145
184
211
145
173
183
202
177
178
133
141
145
191
138
194
188
129
146
165
246
201
202
184
230
175
185
145
129
162
269
129
169
173
262
180
148
176
176
183
173
130
129
193
171
198
182
247
185
191
223
155
130
218
146
214
130
176
132
209
263
192
261
229
233
267
197
133
247
207
158
226
122
217
201
186
229
158
201
216
230
204
176
166
204
130
174
177
234
130
224
130
176
115
202
176
169
238
200
200
168
153
203
181
161
277
215
206
184
174
129
198
190
201
190
210
133
162
162
205
195
191
208
155
146
230
234
182
192
210
184
210
200
182
146
162
249
267
255
133
189
240
177
184
195
183
213
228
213
129
130
144
222
185
130
181
188
210
210
221
190
180
181
225
161
146
173
176
216
184
202
238
184
299
174
241
138
211
233
192
203
237
183
254
175
201
230
202
168
173
182
248
184
233
155
214
160
184
238
204
246
186
161
227
188
179
214
182
211
203
204
168
176
195
190
271
174
174
152
239
238
162
169
177
201
195
182
210
210
177
179
208
138
184
129
129
294
195
199
146
249
300
161
173
169
218
191
155
146
128
166
227
262
203
260
162
228
200
206
248
115
201
185
217
185
129
206
185
221
184
146
119
138
209
182
192
239
158
165
171
146
213
201
239
173
133
133
193
166
185
246
217
191
206
129
129
201
168
180
173
184
222
236
128
129
217
182
146
238
153
167
202
231
217
209
185
201
222
261
169
130
130
175
129
204
173
228
203
221
221
168
210
183
259
167
193
184
211
115
146
141
184
173
156
257
204
214
187
204
174
217
203
129
204
207
184
239
262
210
180
211
171
162
225
176
230
132
232
202
155
165
164
176
187
217
180
146
173
307
162
184
211
204
227
171
266
264
208
225
146
235
173
146
173
171
176
254
221
186
176
176
195
215
145
335
202
179
204
174
168
195
145
146
181
204
186
204
131
203
218
172
209
169
133
129
204
184
236
149
202
264
199
198
180
195
221
158
160
159
228
216
129
170
191
213
258
158
256
164
170
184
204
216
221
173
209
263
254
210
129
163
222
236
207
236
160
171
188
190
253
214
209
202
115
204
204
129
207
200
211
296
225
241
129
176
217
183
196
193
164
202
150
204
155
185
195
122
150
115
191
205
217
211
218
204
179
230
262
145
168
143
201
281
129
178
130
179
264
230
195
179
249
180
168
173
170
115
182
133
261
146
155
182
208
230
130
261
221
128
204
173
204
133
179
182
228
146
129
130
163
254
191
129
233
179
259
210
204
206
176
205
257
216
219
190
161
210
148
115
255
185
230
160
214
133
202
226
169
183
193
163
195
196
115
186
201
176
206
168
129
162
222
153
160
133
196
228
190
168
173
146
212
129
267
143
146
218
204
192
144
231
189
229
172
213
198
249
213
164
186
253
228
284
192
178
180
258
178
240
182
220
201
185
169
231
182
273
187
174
231
173
143
246
170
195
162
215
156
138
174
122
283
246
247
236
159
173
176
172
215
163
184
215
149
185
158
162
203
214
160
145
211
203
184
177
264
335
173
200
211
211
229
206
176
156
162
191
183
130
221
228
166
143
145
264
216
176
130
205
173
163
222
178
238
238
146
274
164
189
261
145
199
230
211
176
245
160
263
192
264
202
218
187
173
258
175
218
208
160
189
143
185
158
201
204
214
209
211
191
217
190
194
169
250
313
155
131
254
145
268
143
164
176
283
204
182
192
191
129
183
188
218
264
129
223
236
213
201
232
176
203
202
160
209
215
184
204
176
202
146
115
202
162
115
173
199
130
212
202
196
202
204
229
186
129
156
191
239
228
119
157
192
133
202
235
197
184
184
182
195
237
172
166
200
143
155
173
130
223
168
274
195
211
253
180
193
119
157
193
217
212
173
204
176
241
129
129
144
183
176
173
208
199
129
191
211
180
143
173
191
245
267
164
297
130
246
130
217
153
233
173
183
184
182
259
133
115
219
222
222
162
173
143
214
222
207
247
149
115
176
222
168
238
234
173
143
199
164
176
184
155
274
207
201
294
188
256
200
214
164
157
168
115
143
236
146
173
194
214
258
152
208
231
193
182
146
213
225
176
149
162
164
204
185
247
181
222
238
184
146
164
200
192
161
204
299
211
177
156
129
210
247
224
179
254
133
281
178
254
129
158
203
173
129
262
236
172
179
208
200
210
246
214
133
130
227
183
236
168
122
204
153
164
155
195
238
201
241
146
282
200
209
202
221
176
216
164
177
130
204
130
173
141
264
204
173
207
130
183
214
227
244
244
235
202
180
236
182
203
176
176
242
145
190
146
185
217
182
210
164
210
169
179
230
170
202
206
160
143
202
230
180
247
145
231
173
129
162
227
248
202
161
189
143
195
173
246
170
145
202
210
176
182
194
221
145
167
173
203
197
253
261
168
214
158
189
203
204
192
217
217
180
228
246
143
233
182
209
183
200
201
202
176
138
189
176
182
173
214
194
166
238
146
133
179
204
237
167
173
231
217
184
215
156
246
188
190
261
176
211
251
130
130
188
141
151
184
193
162
146
204
184
129
239
236
185
201
226
189
188
195
184
197
221
171
211
192
202
204
178
168
189
181
157
187
219
151
210
130
130
158
129
216
206
143
192
210
218
129
150
130
244
182
172
133
236
211
233
182
130
217
133
206
156
206
160
234
171
149
261
184
248
184
205
208
203
157
189
156
168
243
129
173
155
229
146
204
209
259
168
186
148
242
204
207
179
130
171
156
205
173
145
179
172
147
176
207
169
133
178
201
217
176
129
238
199
194
179
229
225
144
155
173
193
193
176
156
201
129
145
247
181
157
188
184
166
202
213
242
214
198
222
141
216
217
297
180
207
170
122
218
176
208
182
178
149
210
169
138
176
210
164
230
133
170
173
216
229
204
194
146
240
205
187
171
130
115
145
239
169
203
201
193
212
230
184
246
115
227
179
198
217
216
173
185
244
180
130
158
179
240
146
182
158
258
214
212
288
187
163
122
202
204
317
180
162
255
245
189
217
248
201
196
212
179
202
165
158
189
146
219
129
188
273
220
262
225
158
202
181
161
230
308
153
160
145
175
216
262
168
261
129
167
138
174
167
256
201
200
174
173
170
168
174
191
129
146
257
152
160
158
164
151
235
191
162
232
188
128
254
184
228
228
228
191
187
162
188
115
230
180
173
169
170
164
335
225
225
146
291
151
130
182
158
176
149
211
229
180
184
202
221
149
183
191
171
150
146
169
173
188
200
272
130
217
176
175
146
173
144
228
146
169
129
200
181
217
161
259
198
206
201
129
185
266
174
169
204
189
149
208
270
152
211
202
197
205
129
224
242
205
155
193
205
218
207
251
150
164
242
201
204
130
180
274
129
250
211
210
236
168
250
129
182
206
157
225
175
179
158
162
174
183
195
138
157
175
325
183
182
247
176
188
169
160
202
130
169
173
173
129
170
214
174
179
248
141
176
143
145
212
198
211
169
185
191
180
195
179
145
173
213
174
141
166
222
173
184
182
248
175
187
167
203
216
198
195
261
259
157
156
185
151
191
217
232
192
147
190
133
267
200
242
206
244
237
203
244
239
159
184
167
202
203
166
173
226
200
194
210
180
195
214
176
129
143
131
222
183
260
190
194
217
175
239
227
283
204
225
203
242
228
207
217
200
149
167
115
201
176
164
143
204
202
211
172
228
133
223
176
237
160
184
192
146
221
179
130
174
186
144
202
245
178
129
210
222
133
205
174
164
164
211
168
256
238
115
139
211
150
172
201
173
146
208
133
155
183
188
171
202
184
196
199
146
162
143
225
217
194
200
204
195
238
250
203
173
180
204
133
222
173
162
206
178
130
248
150
143
173
172
275
210
212
206
141
206
165
119
183
183
161
227
174
155
210
226
225
155
178
158
145
204
129
157
220
164
173
209
187
209
269
211
161
182
210
166
238
200
146
239
222
155
193
335
259
179
172
200
225
174
169
189
133
173
155
177
129
115
205
180
295
178
175
192
230
217
157
171
200
129
185
263
250
273
129
155
211
172
235
193
130
178
236
173
129
199
156
210
258
206
194
217
164
184
211
178
138
185
147
146
182
230
230
216
191
143
179
204
203
201
205
255
194
270
191
228
197
214
216
210
162
229
236
239
145
182
182
188
184
233
211
214
119
245
245
237
305
162
129
176
184
231
143
176
176
225
200
233
189
333
211
115
222
152
192
236
211
230
145
210
159
263
146
150
179
168
194
210
238
178
205
173
168
216
204
129
234
179
115
162
163
181
158
173
204
301
169
190
196
156
155
176
209
249
162
184
130
210
181
236
248
184
222
176
255
162
200
146
169
146
234
149
178
172
199
182
176
173
202
204
207
162
267
204
219
191
246
208
173
179
250
147
200
146
115
189
195
225
200
222
194
164
170
185
197
174
174
216
194
194
226
178
186
179
150
156
130
221
128
186
130
179
202
201
200
152
173
226
129
184
217
204
254
160
197
200
204
211
204
158
129
155
208
130
151
162
212
214
188
230
229
228
148
198
179
221
242
185
244
130
246
264
156
183
210
169
153
258
150
129
199
211
183
296
181
206
216
255
184
204
193
221
201
189
325
238
218
133
202
167
207
227
181
211
145
227
277
132
297
200
203
189
145
201
171
182
184
161
129
202
210
146
182
146
227
193
324
261
242
133
217
198
145
238
160
161
160
164
182
261
179
133
146
151
229
130
181
174
173
141
237
191
185
198
175
185
275
160
186
234
183
187
233
188
130
179
178
162
202
218
210
149
320
244
185
141
143
190
168
191
131
210
206
211
183
280
230
184
190
153
181
228
221
182
206
176
133
180
247
152
173
195
197
214
182
221
237
173
183
201
211
130
210
179
205
234
238
198
162
210
195
174
153
199
184
155
169
187
210
141
184
158
146
158
258
217
127
234
184
229
178
115
146
289
217
173
169
133
264
235
173
128
149
201
166
198
203
241
167
217
146
214
187
186
206
150
228
204
229
179
190
184
272
235
182
141
200
174
219
210
175
181
181
173
175
248
163
183
206
171
238
238
200
161
204
173
146
149
172
309
204
149
225
146
218
205
241
210
129
239
256
254
233
231
206
299
221
189
143
208
201
199
141
258
115
240
184
222
210
186
162
224
165
155
176
227
204
219
183
168
144
162
217
200
201
274
168
230
246
202
146
252
129
222
174
184
129
228
187
129
235
233
233
161
169
145
179
132
130
160
238
190
210
183
164
173
199
189
233
183
224
201
168
169
195
143
209
206
185
146
198
248
191
227
213
164
206
273
203
215
258
168
191
251
216
181
169
176
115
195
182
211
168
201
206
115
234
159
186
201
210
211
193
245
190
170
230
237
153
335
245
146
238
158
201
205
199
149
155
242
274
231
201
133
175
238
182
217
130
164
186
192
243
173
182
146
256
129
182
130
173
201
194
182
269
285
221
170
226
182
217
218
181
248
236
239
137
152
122
159
214
162
156
160
161
146
173
204
198
145
185
206
239
195
190
183
191
283
193
146
146
191
158
216
219
196
185
190
149
157
144
141
238
164
169
176
269
244
278
150
241
215
206
250
199
191
176
146
183
179
162
216
175
286
184
173
225
236
162
183
144
164
138
209
130
229
195
188
176
160
209
190
211
171
213
204
258
161
201
227
214
204
211
213
191
214
185
217
129
186
233
146
200
164
204
130
193
197
143
294
227
209
130
237
185
172
203
194
204
264
163
115
225
146
232
146
214
204
202
169
173
183
164
164
190
176
188
191
146
179
182
167
236
221
195
158
200
203
191
204
168
190
231
129
208
236
185
130
145
144
264
206
182
146
220
143
206
210
196
172
265
221
202
204
225
191
205
192
210
211
233
183
185
149
183
186
130
259
160
247
143
141
191
186
208
206
180
177
185
129
211
156
133
129
185
158
164
173
152
191
235
146
190
182
180
173
150
202
188
180
178
164
157
217
146
179
156
240
239
253
248
181
195
181
158
157
217
152
211
268
147
184
153
129
161
168
184
122
250
216
221
215
188
335
184
163
221
259
250
173
213
130
217
232
162
180
206
146
169
186
156
176
173
129
146
191
146
164
143
176
133
218
231
129
191
199
173
146
143
182
173
188
164
210
166
168
181
230
115
130
200
174
146
238
161
183
226
146
153
176
143
147
268
206
143
133
203
247
280
227
189
209
168
162
145
156
184
237
141
115
204
230
216
141
193
146
246
156
200
146
287
183
146
173
132
285
176
214
220
146
162
129
122
224
195
238
130
238
176
199
238
201
247
168
203
263
204
260
169
244
188
258
176
133
244
204
215
191
174
237
176
167
176
189
205
259
201
204
227
195
146
206
152
201
171
173
182
122
171
196
173
173
176
155
235
210
194
257
239
260
176
130
200
179
164
221
167
256
129
129
204
164
195
250
171
171
234
197
167
201
178
203
179
178
217
255
170
222
162
181
194
262
204
162
222
143
146
204
185
143
209
133
215
226
204
206
264
325
181
212
215
178
225
138
217
189
173
197
280
211
259
218
236
200
254
143
225
162
204
149
128
129
182
133
218
189
256
155
236
188
222
173
225
210
182
170
210
151
232
180
129
237
185
191
215
176
161
133
176
129
206
201
264
130
146
176
173
128
201
215
217
246
214
214
128
171
210
145
234
176
215
172
211
115
146
177
204
195
242
179
168
168
206
161
164
146
176
265
231
178
142
252
146
200
200
248
221
206
174
164
133
130
158
166
234
204
182
168
217
168
182
234
169
246
204
260
173
204
202
232
232
129
206
176
155
202
130
225
190
216
259
176
211
115
334
183
182
215
146
211
175
163
203
199
129
115
252
228
205
261
251
150
222
173
192
200
191
179
163
183
182
257
129
149
229
128
129
175
256
156
188
182
161
218
217
190
204
209
146
143
191
115
208
129
169
185
229
210
172
210
168
115
182
207
199
145
227
202
151
185
146
247
180
202
143
181
226
187
214
200
198
172
288
173
202
221
228
217
191
201
191
130
159
153
129
229
255
209
172
177
195
146
170
129
146
214
209
146
183
182
171
226
203
156
178
155
172
179
185
191
250
176
141
179
201
173
193
143
184
221
202
171
206
224
159
264
240
186
277
129
259
145
225
160
204
203
156
144
168
214
129
204
185
230
115
173
153
129
300
259
200
186
224
204
211
173
228
210
257
169
130
176
200
251
204
143
176
208
262
158
204
214
205
196
260
147
164
221
188
259
214
210
130
150
164
180
172
160
287
203
218
200
129
256
143
217
194
183
211
210
188
176
169
184
203
122
191
200
252
181
177
224
145
265
252
190
184
229
239
241
214
159
129
192
130
287
237
115
173
194
212
181
197
146
227
143
251
129
138
223
238
193
217
169
203
201
206
246
225
215
204
266
182
164
162
133
259
212
147
216
132
173
272
176
133
230
190
214
233
264
210
156
204
300
143
171
260
129
238
129
195
154
195
204
182
228
169
183
210
178
188
162
186
215
148
256
210
115
164
206
181
184
115
161
210
237
191
270
179
122
160
206
141
130
177
129
189
201
202
208
287
158
192
176
195
205
206
200
129
195
201
233
188
158
236
173
297
194
214
180
209
141
210
195
173
162
173
206
181
183
231
259
210
218
145
173
239
174
129
222
115
191
166
171
253
129
212
229
129
191
209
180
255
285
229
273
167
199
206
263
174
260
238
182
195
224
183
272
246
168
214
179
239
217
181
188
218
133
168
238
217
245
208
210
129
241
176
181
282
211
302
173
150
211
152
244
179
162
240
227
179
211
200
225
122
204
173
228
161
188
130
133
192
228
216
192
173
213
202
211
180
211
129
145
141
115
204
201
201
266
182
237
204
129
176
254
115
228
174
129
182
158
176
182
162
211
141
194
310
130
250
238
196
263
206
200
243
202
206
162
235
193
205
187
150
156
184
189
169
241
149
211
129
148
200
170
176
232
155
173
227
245
209
181
151
190
160
129
176
197
252
230
179
253
184
169
176
212
216
202
173
217
186
205
215
238
207
242
146
282
132
234
168
247
146
202
182
263
216
168
191
200
197
160
210
252
256
129
150
185
130
141
133
164
173
185
146
183
237
129
160
143
129
222
247
207
217
257
129
182
261
192
138
172
162
176
170
179
201
189
300
156
264
194
251
173
206
189
223
200
193
180
205
146
192
178
164
200
161
178
162
172
255
204
233
236
158
220
239
175
304
122
227
210
173
143
129
168
199
145
240
160
174
203
194
228
227
141
130
202
211
200
145
184
173
115
173
164
253
197
222
181
226
203
160
218
221
223
235
197
176
243
233
164
129
221
179
311
217
173
159
226
236
173
250
239
173
241
173
216
185
160
169
122
242
257
180
167
211
144
180
140
171
194
251
192
214
184
168
173
236
182
174
205
162
182
174
175
193
222
188
239
181
129
200
133
129
202
240
227
145
166
146
230
209
184
146
173
173
204
202
143
234
162
192
133
210
158
184
183
194
184
179
158
185
165
222
202
210
201
178
226
176
231
187
146
166
187
145
151
230
184
188
151
129
210
146
233
256
168
133
132
178
203
146
241
252
129
146
212
177
208
189
148
147
206
221
237
173
183
250
220
173
130
242
196
171
211
181
250
188
194
129
179
228
167
238
207
287
174
162
235
200
167
199
169
146
207
166
211
203
173
133
173
168
211
261
214
172
174
252
176
133
261
151
173
200
167
183
164
143
153
155
205
149
179
182
217
215
267
172
155
143
223
152
193
138
182
202
177
173
176
237
162
267
150
192
146
174
247
195
169
168
207
145
212
185
211
173
129
236
178
219
210
204
208
183
143
130
178
168
169
231
204
176
164
265
210
133
189
230
201
194
198
156
173
157
173
143
206
176
168
115
189
173
184
178
195
176
183
210
202
155
217
207
161
172
178
210
249
130
248
254
203
199
274
190
217
208
174
225
129
200
222
189
248
225
186
169
141
188
130
191
183
210
207
226
173
115
179
164
182
225
184
195
279
188
129
157
261
173
174
246
119
173
252
156
146
164
187
149
179
119
206
184
129
246
247
168
115
185
138
159
163
119
234
219
166
192
130
179
211
249
174
217
221
168
208
146
163
221
276
157
204
206
143
178
184
208
186
205
238
192
230
179
176
200
184
181
227
184
184
180
191
234
201
130
183
141
217
169
129
130
152
222
175
211
199
194
129
168
201
230
169
194
178
198
203
186
192
175
237
217
157
169
157
228
133
226
181
205
228
241
168
205
283
145
143
264
129
162
192
128
155
129
188
181
130
175
241
217
168
230
201
175
217
155
146
138
195
178
200
191
235
158
146
228
244
162
173
209
210
210
226
239
201
154
217
206
264
179
208
195
207
190
168
128
214
170
176
175
264
179
225
158
230
235
230
204
157
233
170
130
176
138
217
200
234
162
254
170
202
223
168
230
207
222
236
129
244
173
151
146
146
227
146
178
221
216
252
258
173
143
221
202
156
185
183
201
173
228
204
202
207
180
143
217
188
212
206
182
210
164
173
195
195
210
279
230
156
157
176
210
234
179
181
201
183
212
217
164
303
176
173
265
178
209
184
186
192
178
187
260
155
204
169
192
149
159
155
179
204
150
185
230
176
115
129
181
200
248
238
218
211
179
176
197
235
130
267
161
115
220
185
252
227
151
242
146
174
188
265
129
202
200
264
192
187
168
173
217
212
129
200
173
133
227
156
129
184
203
238
222
146
172
253
178
210
170
212
201
146
186
195
191
191
179
251
204
194
146
214
145
173
192
247
258
162
207
229
203
179
145
174
162
204
141
185
198
165
191
178
151
176
230
242
257
185
173
206
236
170
219
143
162
141
257
176
261
166
194
203
130
207
165
169
159
281
129
146
189
182
183
215
220
204
276
215
234
232
204
226
202
138
239
208
170
156
219
188
130
204
174
206
208
174
175
191
168
254
130
210
158
194
186
176
175
156
184
158
150
211
129
158
191
202
130
173
214
202
141
150
236
129
206
212
169
152
212
204
249
233
239
201
253
146
238
309
220
227
129
188
143
176
141
168
115
171
183
156
205
199
201
173
130
173
176
164
145
186
205
202
146
162
241
180
242
230
190
129
228
159
207
239
222
183
173
204
191
166
130
222
130
275
214
236
200
274
164
189
173
115
179
173
166
230
204
199
221
184
168
130
169
232
206
188
202
176
162
129
242
230
159
191
268
204
146
211
203
171
255
207
239
216
266
217
229
210
246
202
176
245
132
174
211
178
204
214
210
170
239
159
198
150
129
204
199
146
133
335
178
176
172
201
179
212
253
179
176
160
198
187
133
168
170
149
141
201
182
130
176
146
214
172
175
181
335
215
261
193
184
160
188
187
191
115
238
211
267
247
133
200
206
183
277
212
129
184
129
204
115
199
203
210
217
200
206
224
129
185
176
182
147
236
252
146
255
177
167
263
248
221
220
217
146
161
176
220
203
122
200
213
185
166
191
211
199
133
225
138
176
235
162
156
167
172
228
183
222
211
222
130
164
189
173
201
158
206
210
181
202
238
198
210
129
184
191
203
216
133
227
255
204
115
143
221
238
217
201
227
210
200
146
173
203
242
165
182
177
166
217
130
192
235
197
173
184
185
133
207
146
264
229
162
138
167
183
222
158
194
115
184
201
202
162
261
248
230
119
224
187
133
222
220
185
155
173
143
191
189
291
203
168
166
162
161
129
211
212
177
222
237
210
278
173
176
176
158
173
197
179
174
206
259
215
244
196
221
231
288
150
185
173
212
201
189
207
179
226
228
182
200
230
227
196
158
228
229
182
150
181
168
186
205
218
263
173
146
224
162
173
230
225
150
173
182
230
146
206
229
168
193
227
185
191
200
179
176
187
283
191
267
182
218
181
236
202
180
146
181
176
201
185
144
128
155
211
176
277
200
146
217
158
183
182
171
202
170
217
164
115
162
194
173
152
169
229
229
130
284
133
129
179
129
184
227
207
157
274
211
185
145
129
150
176
191
166
129
215
232
169
230
166
259
173
193
130
168
178
188
249
160
203
221
191
155
233
234
215
182
184
228
115
168
278
210
172
195
177
133
164
236
283
184
176
198
138
173
204
241
217
190
181
193
173
141
173
145
156
179
222
221
158
264
145
122
168
203
256
236
225
226
266
169
186
186
189
184
144
191
173
244
201
174
169
216
230
179
180
245
197
182
184
194
169
191
210
160
162
233
149
276
211
239
211
262
195
182
155
204
130
162
207
259
208
179
129
197
178
211
309
195
249
232
198
144
202
192
207
204
227
176
290
184
192
181
191
145
189
226
168
211
162
200
218
204
186
254
202
204
178
184
173
141
183
241
129
228
261
201
187
192
244
211
173
201
166
212
200
173
291
283
130
218
197
133
115
198
212
188
231
279
178
246
194
209
166
179
181
198
188
328
199
200
202
199
217
198
173
230
228
214
149
256
238
155
143
164
201
130
115
156
226
164
168
243
216
204
224
242
219
225
200
176
175
204
179
207
189
206
211
191
216
201
185
174
218
180
146
176
130
194
210
129
277
335
230
158
177
187
213
173
205
145
129
174
236
156
145
235
179
129
216
178
261
251
197
226
208
129
115
204
173
130
138
147
173
211
202
166
133
129
129
160
158
146
210
183
195
169
202
202
217
176
232
164
204
226
215
179
230
130
129
213
130
164
162
218
217
217
209
213
222
211
149
213
201
234
256
133
157
180
236
206
265
184
184
226
176
185
256
197
171
183
225
170
225
173
185
267
146
203
253
161
182
155
173
173
231
129
213
255
206
176
239
172
247
191
202
207
205
255
206
225
138
130
210
218
185
197
204
235
130
173
192
174
201
200
254
173
237
223
210
168
251
168
217
184
187
186
198
205
210
257
180
191
173
217
178
190
157
259
145
230
191
211
193
178
225
132
132
200
168
175
152
208
214
176
217
223
172
176
146
201
209
168
169
178
203
280
211
208
173
164
204
217
188
204
234
165
199
130
248
146
201
119
164
200
222
146
153
179
163
203
192
182
225
212
128
211
200
200
186
210
158
157
194
145
168
176
173
168
200
263
158
246
190
193
234
166
197
192
206
155
115
219
222
217
146
194
185
173
213
179
147
204
184
201
210
129
149
256
225
228
156
161
218
224
205
166
180
231
202
167
258
253
174
158
199
173
263
190
129
224
212
185
231
204
222
146
177
143
145
163
158
247
168
241
129
183
155
185
146
202
174
201
254
176
225
230
288
130
214
212
183
224
168
242
176
178
183
173
197
190
169
259
210
180
332
219
200
234
267
155
155
232
226
212
164
248
164
173
143
141
229
204
162
216
180
211
193
176
178
183
172
146
211
162
156
206
216
208
258
163
207
130
172
176
129
168
204
179
230
130
256
200
150
158
132
189
146
191
267
195
212
239
236
216
168
179
191
225
169
191
176
153
204
204
189
160
265
199
206
224
129
206
149
225
265
150
201
187
133
158
211
164
193
174
217
130
146
169
217
251
283
143
191
240
133
174
173
226
210
183
201
206
130
238
173
217
274
242
180
244
189
217
161
228
173
197
156
170
169
206
145
184
204
217
182
223
208
146
225
164
186
173
200
270
181
222
141
225
169
161
190
191
182
214
233
172
223
233
196
173
190
204
164
180
168
199
149
188
196
248
265
192
129
173
237
300
156
241
130
160
202
191
283
188
186
204
168
133
156
296
146
203
202
204
195
145
185
240
204
217
161
157
170
156
163
132
115
158
174
176
246
146
190
173
300
190
174
269
168
288
176
236
197
216
213
192
168
206
153
268
240
302
271
133
189
227
166
216
217
169
173
185
211
282
182
245
253
202
145
168
264
210
190
209
190
133
133
216
166
193
245
227
217
115
155
189
160
214
158
234
115
174
198
186
249
185
184
241
213
173
222
191
188
173
178
202
230
195
204
195
260
173
119
212
150
146
162
186
129
151
221
209
280
236
243
165
204
182
174
173
215
164
129
229
165
129
199
204
168
202
228
185
264
190
129
204
181
185
215
211
263
258
187
221
186
168
199
143
262
186
173
176
227
181
217
129
179
190
129
146
227
151
193
188
214
217
185
133
171
201
168
166
175
174
157
182
191
227
204
173
239
146
187
217
264
236
205
160
215
166
192
176
187
198
175
143
221
241
211
192
217
196
155
177
209
129
146
217
204
189
129
182
200
283
217
216
230
199
173
205
239
192
185
237
184
202
161
178
219
221
204
204
153
143
211
202
146
186
174
213
201
200
141
226
182
203
129
191
186
176
175
173
209
150
217
251
213
146
226
194
186
146
200
192
179
239
184
178
122
187
201
236
202
265
166
190
232
222
184
219
204
176
143
130
258
168
210
179
181
247
248
152
214
252
191
228
195
274
168
182
237
174
247
182
168
257
166
204
179
264
180
211
190
144
222
186
223
258
199
146
143
221
169
227
173
130
186
172
179
164
224
202
258
181
201
115
173
230
214
239
226
288
176
150
184
164
162
191
179
166
222
216
202
175
168
146
264
204
194
273
173
204
176
167
232
141
129
132
146
195
182
138
211
205
131
173
211
158
156
146
182
273
200
173
168
199
173
230
178
212
235
158
166
146
284
194
214
162
163
166
227
185
149
247
237
170
176
216
237
176
180
210
157
219
217
166
201
222
176
191
214
192
225
231
151
162
152
181
133
189
231
235
182
180
200
155
157
160
145
187
251
187
173
193
164
214
180
150
184
155
198
216
122
122
230
115
199
188
219
145
180
200
130
146
173
230
183
173
173
204
197
248
217
250
208
210
200
160
238
166
133
321
217
168
138
204
263
169
201
130
253
179
211
254
141
231
168
186
146
211
239
258
169
258
195
143
207
183
197
168
173
143
122
180
265
156
168
208
138
212
227
184
182
228
190
188
174
191
209
204
245
210
210
164
214
311
214
250
217
137
281
210
200
133
233
227
182
215
292
190
205
129
217
202
162
182
129
206
158
206
201
207
212
216
217
238
233
187
138
130
176
182
184
167
175
169
300
161
146
235
275
189
178
211
283
205
195
230
146
143
156
129
217
264
154
129
191
176
172
247
228
133
215
239
229
190
130
236
218
242
129
171
141
294
155
335
130
257
254
168
300
241
216
198
139
176
176
170
130
231
202
216
210
173
266
201
201
169
133
130
202
218
187
179
130
232
196
201
146
122
144
169
168
176
168
186
179
138
193
187
212
235
130
230
225
239
218
190
115
167
250
224
210
162
173
246
178
237
184
181
261
228
214
179
229
160
130
156
143
155
244
183
219
222
187
249
204
181
176
176
197
201
183
176
299
199
129
285
198
165
215
196
186
216
214
200
222
146
187
258
191
122
183
221
185
250
145
227
222
149
158
146
184
218
226
192
173
179
208
242
242
195
201
239
174
173
232
313
223
199
173
204
176
235
164
171
145
184
242
184
176
187
191
165
155
140
191
160
184
276
180
146
176
212
217
228
143
256
178
200
222
174
201
128
202
250
130
235
207
216
230
199
201
129
236
145
183
192
143
129
153
188
179
212
166
208
203
209
204
200
158
253
129
236
199
217
257
210
182
133
296
222
198
207
199
173
212
204
195
230
202
164
145
138
214
203
200
164
129
188
160
183
184
184
240
174
247
214
183
218
250
243
227
130
250
203
180
237
210
207
209
171
210
182
130
173
176
168
131
197
203
180
158
217
146
145
173
187
201
170
238
186
115
263
257
167
155
200
189
143
152
162
208
185
205
192
143
210
162
303
217
199
192
214
215
208
200
248
228
183
168
221
220
145
228
180
229
229
211
156
253
201
219
153
160
159
191
183
156
161
184
225
174
198
193
178
145
195
162
164
210
129
265
176
146
158
222
238
227
224
183
182
146
238
202
156
176
141
225
173
178
179
270
167
145
225
181
179
216
145
159
145
173
173
217
172
157
179
256
291
143
130
174
191
248
206
214
224
287
227
211
242
261
168
204
187
206
211
158
164
236
206
205
143
237
201
225
200
203
207
251
218
157
227
173
239
183
220
201
173
211
130
216
202
182
266
230
230
129
152
168
247
185
129
129
173
251
173
173
174
181
162
230
166
129
296
185
209
203
204
174
218
179
179
157
200
173
195
184
183
178
227
206
180
202
224
176
184
229
204
146
150
235
195
146
171
210
210
201
176
147
146
201
225
230
273
176
188
172
229
201
192
146
210
192
185
217
164
185
167
183
214
141
238
173
168
204
228
194
130
193
220
163
206
177
122
176
164
217
191
141
242
149
233
215
258
217
235
237
192
214
246
173
204
217
168
204
174
182
162
255
176
167
168
156
179
225
192
173
149
160
219
161
213
122
180
211
238
273
212
182
210
178
199
173
209
146
151
227
178
209
143
231
129
175
200
180
210
161
157
182
192
202
201
191
233
211
172
234
225
158
191
187
191
213
179
173
176
232
309
122
239
219
173
196
217
210
178
115
130
158
222
195
194
178
212
221
173
221
122
233
238
145
183
130
179
233
225
185
272
254
155
254
130
170
147
216
239
225
211
272
245
190
168
182
129
187
173
129
161
164
240
129
238
207
138
217
133
176
115
188
201
236
184
180
236
145
184
247
200
212
246
122
146
264
173
236
145
172
133
206
211
146
261
173
206
183
122
256
133
179
146
245
254
129
264
200
146
173
214
143
221
335
202
151
241
220
258
191
164
179
188
165
228
171
185
173
183
156
146
155
236
235
203
204
173
215
187
158
215
155
133
162
173
164
191
168
168
173
279
200
179
146
160
239
200
162
122
205
172
231
204
165
176
202
150
188
159
203
179
164
240
238
210
247
264
202
247
177
145
228
129
187
276
181
231
176
179
173
202
143
200
261
205
174
172
146
176
192
198
158
161
174
178
227
161
158
197
133
209
204
130
232
192
195
189
222
212
146
164
202
200
171
146
173
210
226
173
145
175
180
178
157
200
129
158
174
130
178
238
216
178
160
155
243
176
168
184
190
190
183
213
115
130
194
211
202
211
194
150
161
122
180
164
169
224
185
173
165
180
161
188
170
210
200
141
210
181
183
214
224
160
258
184
208
166
245
243
192
146
218
209
231
176
201
168
214
152
238
146
198
183
162
183
160
154
297
211
128
202
166
230
239
176
152
188
238
196
216
231
246
185
243
130
130
201
179
214
227
170
303
168
173
237
130
191
207
173
201
130
173
198
187
212
146
178
285
133
254
181
200
184
227
230
188
129
201
227
145
227
150
214
243
164
213
227
200
199
192
211
192
211
158
162
202
176
188
168
146
183
231
240
240
231
153
171
145
199
200
183
160
211
237
235
173
225
145
211
258
264
177
146
200
168
171
256
228
187
146
150
158
235
178
187
268
169
211
179
168
246
184
244
206
234
162
176
242
115
217
164
245
261
168
130
179
193
193
138
203
211
256
192
209
143
265
133
197
252
168
211
183
211
162
152
247
160
174
150
237
217
176
156
129
225
273
219
210
177
179
196
168
129
246
130
232
143
146
205
213
261
204
133
130
179
164
176
198
246
225
200
300
195
129
169
169
250
145
263
146
191
171
130
194
318
176
205
155
160
168
180
168
187
170
170
204
144
218
197
130
242
200
173
182
168
216
176
230
131
184
130
164
143
193
172
252
141
183
234
194
182
270
129
234
198
155
221
161
160
146
173
198
184
188
193
130
237
180
192
172
162
178
202
220
168
200
207
129
217
250
275
222
129
168
201
216
231
211
230
201
191
130
335
214
178
183
217
211
203
173
242
249
247
179
201
185
130
181
184
217
186
229
149
217
129
153
204
171
187
115
162
178
272
209
267
186
334
255
294
186
240
129
179
213
130
204
203
201
201
209
237
182
191
173
230
201
215
146
174
178
185
162
185
184
161
141
166
158
176
193
202
239
163
174
200
192
130
210
173
217
212
193
182
209
229
143
256
145
185
300
158
188
133
171
216
231
146
179
133
129
227
222
192
143
122
202
254
210
129
255
173
155
208
185
231
209
176
165
206
184
204
168
201
233
191
130
187
207
254
217
209
173
209
220
217
287
201
144
182
185
184
146
191
212
217
184
216
176
146
145
183
204
189
200
182
222
129
229
226
130
228
191
173
130
207
230
195
129
272
180
115
208
222
283
242
168
173
217
231
261
162
217
188
149
179
145
189
232
130
173
150
165
145
204
169
217
161
199
130
224
132
161
166
130
195
180
141
158
182
145
152
183
176
231
238
156
150
189
175
152
173
115
201
189
242
115
204
231
223
189
196
168
174
161
164
162
200
259
239
210
206
176
228
166
129
143
202
152
228
195
188
235
222
204
178
198
144
229
160
202
162
195
156
217
288
221
204
145
182
238
176
176
161
133
155
184
179
222
191
192
138
187
218
217
191
182
169
269
212
173
217
190
240
133
129
168
130
176
160
145
187
155
218
200
222
246
227
210
169
165
196
176
174
219
173
160
210
161
150
204
184
168
179
185
244
184
133
184
261
195
228
225
145
141
211
179
146
185
240
129
230
229
211
207
227
210
212
282
147
145
193
174
183
169
173
209
214
180
214
260
204
174
194
210
222
169
204
144
147
166
162
223
146
146
129
182
218
230
130
210
202
183
179
173
129
158
115
250
201
187
238
204
210
260
166
166
272
162
217
164
175
217
231
195
172
202
184
166
212
215
255
206
146
128
198
208
128
210
164
201
211
217
264
182
115
156
181
259
239
201
183
204
206
239
115
225
238
206
222
204
151
129
151
156
182
130
190
166
188
274
185
195
198
234
230
225
194
115
150
173
163
129
215
230
191
181
232
159
188
205
206
195
184
181
216
156
204
173
229
236
160
147
153
163
178
188
158
218
218
192
129
155
194
200
143
143
201
149
176
160
325
164
181
180
212
211
213
264
130
211
186
218
173
183
183
227
184
189
173
185
192
143
173
227
182
211
202
161
129
201
170
156
189
180
232
139
275
143
162
156
122
141
204
242
169
208
152
173
212
239
133
169
138
168
335
172
200
246
192
208
197
219
217
155
168
279
164
197
176
189
204
211
161
130
173
182
210
163
227
156
191
168
130
209
132
264
244
172
178
209
183
141
246
182
185
184
200
230
291
252
187
161
210
146
201
181
190
181
188
213
129
198
188
204
146
204
236
272
264
254
230
149
179
158
195
143
191
210
240
176
174
231
206
115
341
129
201
256
143
173
168
173
205
214
221
179
129
167
200
156
186
133
212
169
204
161
173
208
263
236
150
217
158
188
229
146
227
192
190
211
192
176
238
183
210
211
227
172
202
173
234
161
188
143
287
236
267
145
194
176
211
275
182
231
176
201
192
230
222
216
184
150
195
150
184
236
226
239
230
146
228
242
185
176
163
210
173
176
170
174
173
173
242
193
165
202
202
202
221
184
181
179
216
200
236
158
222
195
173
215
231
184
202
197
201
183
180
230
146
194
162
146
146
246
206
173
115
155
230
206
162
204
189
129
165
195
224
215
198
173
152
217
208
176
195
210
181
129
239
151
143
204
217
220
206
179
185
197
201
179
173
193
194
216
190
167
191
229
274
167
193
194
153
270
225
193
146
189
225
235
146
215
130
188
176
197
201
222
180
157
249
145
230
155
241
168
201
140
171
171
184
133
173
189
153
188
133
193
144
179
217
162
286
234
213
138
191
232
146
233
181
141
232
218
224
239
115
179
180
141
204
236
146
182
198
171
133
210
162
171
206
194
251
204
184
149
210
186
173
172
155
237
130
179
164
201
263
169
199
196
143
169
133
204
204
230
198
235
176
129
165
168
165
235
133
230
115
152
228
146
173
143
185
129
143
202
171
130
173
185
236
204
176
158
248
209
255
201
233
144
228
179
176
176
162
200
246
176
196
161
236
119
173
160
205
236
208
301
176
253
219
192
129
191
133
210
179
186
178
133
300
201
232
173
165
197
160
182
319
198
143
218
195
230
193
150
243
257
217
264
198
133
200
233
138
173
174
227
163
164
138
168
179
218
152
204
166
261
204
209
196
219
266
146
177
179
147
176
184
159
216
203
156
207
141
195
244
194
158
184
132
167
278
226
168
143
155
202
169
204
212
342
183
179
190
115
146
191
176
240
152
146
198
145
201
167
191
173
208
194
241
206
200
169
192
129
185
146
174
210
222
206
179
182
215
184
180
200
174
248
197
172
206
218
204
191
168
162
130
183
303
179
141
178
229
210
265
129
217
190
173
130
201
200
238
170
145
252
144
263
143
208
146
226
198
173
228
252
173
182
200
200
130
176
166
176
199
176
149
180
145
164
185
287
203
173
174
216
204
178
166
264
185
145
187
168
247
185
143
164
173
209
322
184
158
240
149
245
194
191
158
207
158
129
161
221
192
214
193
129
115
261
150
239
178
180
189
157
203
318
211
143
230
176
200
265
191
206
133
173
139
271
204
129
216
176
180
151
253
288
173
176
261
130
206
229
184
194
186
138
176
174
180
218
230
179
215
173
196
242
269
214
219
186
258
176
159
196
174
246
145
236
133
155
152
199
146
115
132
202
261
217
187
156
166
211
206
143
176
147
119
245
216
210
168
198
206
180
141
250
173
236
202
141
231
201
200
243
143
210
130
193
173
179
263
205
169
283
185
175
172
191
226
146
173
224
130
128
191
164
129
214
198
211
207
247
188
217
230
143
146
230
195
186
176
176
259
193
199
230
216
197
244
191
221
205
129
261
203
253
144
176
129
141
176
201
160
261
204
177
157
176
122
227
190
238
115
128
145
129
196
130
163
192
229
211
202
194
230
173
129
181
217
220
211
162
261
206
230
206
246
129
188
228
210
203
164
236
260
243
182
150
164
189
178
158
187
129
129
162
210
204
231
242
235
212
259
181
239
183
235
201
211
179
239
182
184
133
243
200
166
146
200
192
133
272
204
236
185
160
228
179
175
173
141
181
180
210
227
146
146
223
225
194
193
168
152
158
209
168
138
230
178
190
225
176
164
146
203
183
185
237
146
225
168
220
287
162
129
204
221
204
182
181
199
197
206
203
122
164
177
155
214
173
181
185
156
215
172
272
178
210
211
217
236
210
217
201
115
184
185
138
192
207
174
208
259
168
189
239
226
155
115
208
164
218
183
192
229
178
230
176
267
210
129
184
181
187
133
170
183
176
187
195
202
179
225
143
239
234
141
264
187
284
256
253
158
186
283
179
232
239
164
149
176
173
222
202
204
162
214
188
150
245
211
200
174
185
156
262
178
228
169
238
210
174
179
247
115
204
204
145
183
162
204
158
204
205
262
164
206
179
200
122
210
213
239
158
146
141
178
217
176
168
157
194
115
180
163
158
115
211
155
183
157
180
223
265
174
217
129
258
176
240
152
231
182
166
157
204
133
230
155
236
115
130
133
199
149
190
216
173
176
210
188
243
173
241
180
181
115
190
218
204
224
129
181
143
236
257
129
129
179
165
202
256
185
217
203
206
186
191
173
185
189
210
191
157
145
261
164
173
221
266
239
169
201
288
266
212
146
228
161
178
129
155
168
166
141
189
265
204
221
191
145
218
129
188
188
261
181
122
201
181
143
206
214
189
214
166
168
195
150
115
201
169
141
158
176
171
206
168
172
230
173
210
178
250
160
129
194
217
214
217
182
146
191
189
253
217
167
197
173
236
199
164
152
264
162
225
173
143
206
133
225
164
186
129
179
178
210
187
229
129
206
146
217
276
252
191
228
238
225
179
173
173
204
164
224
230
151
171
143
132
146
146
143
229
238
130
197
173
158
223
174
193
211
254
162
221
214
247
171
183
215
130
172
146
232
184
115
199
143
225
181
130
163
173
259
157
221
211
197
158
269
180
146
239
211
222
247
199
191
170
184
257
138
170
188
165
173
195
173
228
182
217
182
246
238
179
115
161
141
187
172
169
216
122
143
239
189
168
179
266
224
204
211
146
172
157
168
236
207
182
173
172
174
208
212
166
170
204
210
143
170
230
238
181
195
270
179
164
206
236
158
130
201
196
204
225
180
191
156
222
226
122
185
208
187
129
130
143
183
145
202
191
213
166
130
183
206
238
146
169
204
212
145
225
238
173
335
178
146
179
164
249
222
190
172
205
247
176
247
183
141
183
183
146
274
130
178
161
204
210
129
158
257
141
258
198
129
133
173
202
180
176
272
201
208
115
244
210
115
168
146
236
281
285
182
130
234
197
203
258
234
267
160
243
204
188
210
181
153
152
184
173
176
119
204
214
189
204
146
213
206
164
115
220
201
162
226
255
237
184
181
162
156
146
130
217
221
200
253
232
209
146
210
173
133
225
228
129
238
176
183
188
163
216
216
201
190
183
232
251
155
230
168
227
174
133
181
210
236
206
164
122
168
204
164
145
164
164
170
274
183
227
141
245
190
115
237
162
231
221
236
193
179
130
150
128
146
161
155
201
155
130
200
158
129
188
213
202
208
164
129
176
178
176
191
173
274
153
182
146
129
202
209
173
130
146
200
267
235
202
257
130
201
185
237
222
211
170
164
133
228
229
133
138
274
145
183
168
237
170
206
217
249
236
238
221
296
229
176
178
222
188
156
180
155
181
146
296
115
206
231
171
173
241
197
129
183
251
239
156
231
206
211
239
244
189
115
202
218
179
187
158
214
187
193
195
185
206
159
130
194
204
179
206
115
155
170
130
146
143
200
141
193
252
238
183
159
173
145
256
201
193
235
131
184
208
205
176
280
238
240
201
176
130
188
115
162
205
143
184
238
168
200
200
222
210
266
204
199
149
188
115
236
244
161
133
164
171
176
189
224
217
176
209
257
245
129
130
130
149
195
214
194
253
176
274
248
160
209
180
158
130
261
186
218
143
180
172
115
198
155
204
261
268
226
231
176
122
255
273
210
183
160
160
156
199
173
172
177
166
193
159
166
132
174
280
191
197
210
193
258
173
233
264
179
251
199
149
208
286
168
158
156
173
184
242
199
193
130
166
202
256
172
274
173
238
202
192
236
216
275
176
230
176
177
173
166
130
176
185
164
185
242
195
297
152
158
252
221
184
204
143
130
172
222
190
225
185
264
155
141
215
129
160
184
254
211
129
180
188
229
189
129
162
264
256
234
252
133
146
158
143
237
192
205
173
132
164
203
185
195
160
266
155
208
149
263
214
184
182
188
264
197
151
129
236
214
187
185
213
179
184
169
138
188
173
303
174
164
186
213
213
158
157
270
129
204
227
185
156
177
155
185
184
168
239
219
249
256
230
186
165
191
232
130
164
183
211
146
189
225
211
185
217
182
259
216
130
155
201
194
195
173
244
203
205
234
300
145
179
211
191
205
210
202
273
225
203
177
129
168
184
173
193
203
115
176
152
221
207
218
180
156
301
178
146
173
240
200
173
208
204
166
204
164
155
212
265
204
190
173
188
163
200
184
168
164
209
173
204
256
157
236
187
188
222
168
192
144
200
176
231
176
173
206
200
178
197
176
173
265
216
173
191
133
246
174
146
143
262
224
231
173
161
200
238
231
173
185
143
180
180
184
228
234
217
138
204
200
164
191
197
168
245
253
210
171
115
173
273
181
215
210
204
164
231
198
150
158
210
230
182
189
130
201
168
238
217
185
190
250
252
228
200
256
130
200
217
207
131
229
241
205
129
218
146
259
233
203
201
175
211
182
181
182
228
166
185
212
195
178
240
217
167
224
141
231
249
192
183
229
166
210
146
133
162
204
185
221
128
164
230
240
145
130
188
249
176
283
281
244
155
211
204
138
129
253
240
159
236
173
215
180
275
210
222
216
129
164
129
185
211
250
183
214
141
158
211
190
204
193
176
179
184
186
214
181
151
195
133
224
193
168
176
176
222
199
175
164
176
244
190
141
183
202
197
164
183
238
204
236
247
217
247
146
227
238
214
173
230
183
199
185
225
195
191
217
231
219
221
239
298
203
204
177
224
198
184
146
255
202
211
152
133
130
166
264
188
165
187
199
258
248
119
222
178
133
228
226
143
161
191
247
128
209
213
156
176
204
115
211
145
185
168
214
184
237
183
187
227
130
186
270
255
205
184
146
146
240
234
146
195
201
201
174
146
201
199
206
198
130
173
130
130
205
195
170
161
234
216
201
217
176
179
170
180
196
179
143
178
197
179
309
225
223
194
251
258
189
212
218
130
204
255
214
182
146
188
130
243
192
164
173
129
132
189
143
179
264
115
221
166
217
261
145
206
173
182
166
182
221
255
174
164
209
129
216
156
183
247
178
211
211
133
176
186
211
129
130
200
187
176
146
141
211
146
182
224
185
187
216
181
181
130
162
231
211
192
183
168
250
184
176
236
266
143
191
176
162
236
256
203
202
158
205
261
184
206
214
208
244
180
162
204
194
188
216
176
173
216
194
161
237
185
200
128
158
179
183
168
191
197
173
176
129
144
201
160
173
173
204
242
196
203
193
191
245
238
130
169
146
256
173
230
238
122
256
175
157
217
214
198
150
149
263
133
204
211
130
200
130
133
151
156
210
178
173
198
210
202
180
185
162
201
203
203
145
205
146
130
195
130
189
258
247
205
236
143
183
237
165
176
179
190
192
189
150
250
254
187
238
130
212
171
129
228
261
231
208
218
181
203
173
191
187
156
161
132
253
194
182
176
200
219
158
143
293
158
207
188
205
146
183
182
210
188
197
203
184
209
147
176
191
199
191
261
234
204
173
164
122
202
129
155
226
175
187
161
171
181
193
225
180
248
168
166
143
181
188
214
179
227
173
203
195
206
218
201
183
204
261
158
213
217
115
226
178
242
180
182
204
221
194
191
198
130
199
202
157
173
288
208
129
149
182
146
221
201
275
206
145
287
209
174
186
221
170
256
232
213
245
155
155
201
217
273
303
224
205
240
198
212
182
204
145
228
180
182
145
238
216
115
170
250
170
195
222
236
146
203
182
199
203
173
174
145
248
276
331
229
168
197
210
248
164
274
195
242
179
206
192
129
152
215
173
171
200
133
168
191
300
164
182
158
195
175
230
181
184
240
130
146
181
248
141
172
239
182
146
160
176
130
231
255
186
226
274
186
129
173
214
250
189
235
246
205
237
176
129
176
204
193
170
122
230
248
272
173
236
209
201
214
184
201
192
213
194
202
228
168
199
201
130
197
146
128
258
195
214
176
146
203
174
162
254
197
122
179
183
204
130
206
252
210
156
195
197
130
202
188
162
183
162
179
157
221
197
130
286
173
198
167
194
210
201
281
130
173
199
183
227
146
147
172
215
133
190
219
197
133
275
233
200
251
182
206
204
250
238
146
143
175
155
204
172
167
200
173
197
145
146
176
173
145
231
216
179
191
235
211
187
115
204
175
141
185
217
158
159
155
115
129
263
253
180
210
210
232
174
283
164
190
192
150
155
168
211
183
275
225
129
178
209
230
204
115
210
200
227
251
176
152
167
161
284
204
232
251
168
207
176
202
169
216
129
228
173
224
180
210
209
184
264
228
204
238
167
261
200
145
202
190
219
169
237
143
180
179
146
183
143
239
167
229
304
260
173
230
158
184
198
274
143
129
231
253
176
158
211
173
168
144
204
204
166
212
254
230
132
129
130
217
172
214
230
237
141
172
200
239
130
184
133
173
247
237
146
222
193
115
129
145
189
204
186
129
231
182
168
211
219
204
191
239
193
218
227
210
201
164
200
204
225
199
217
215
210
229
278
140
216
182
231
246
184
130
155
129
193
209
130
178
202
230
186
184
115
184
217
238
199
187
132
168
244
204
197
144
186
195
173
181
130
191
181
155
205
191
184
204
205
240
175
217
201
206
202
211
236
174
149
297
205
173
220
130
202
176
173
260
129
160
288
206
199
229
147
133
217
256
184
278
210
210
254
169
179
133
210
242
204
176
164
245
131
167
227
184
188
221
242
209
237
240
222
176
115
162
189
200
171
179
150
174
204
231
173
150
233
165
221
161
244
176
214
245
183
184
217
236
176
208
173
184
173
162
204
199
130
177
214
275
168
252
200
130
172
211
195
176
204
211
229
214
206
205
201
201
211
141
185
168
247
204
183
199
198
238
202
193
176
200
207
241
180
264
246
162
189
176
183
226
176
224
182
158
264
250
230
219
162
201
179
186
146
276
164
186
257
133
206
209
256
249
295
260
273
241
186
155
144
128
261
210
299
183
187
303
146
221
227
191
145
206
198
173
150
164
251
186
173
246
156
210
133
210
129
115
161
231
179
217
129
217
209
129
160
259
170
266
160
234
141
179
230
217
184
207
240
145
210
166
180
229
202
212
144
184
164
168
179
235
187
193
198
208
210
204
190
264
245
210
259
188
180
194
173
145
215
146
180
198
215
202
184
144
253
202
173
210
146
217
169
158
164
217
217
115
129
130
198
192
178
232
155
186
189
173
119
239
182
335
183
241
149
283
175
150
229
246
212
236
162
167
155
191
167
209
200
199
198
146
230
195
190
217
158
182
176
129
220
138
186
191
299
218
158
218
115
146
145
172
153
146
178
178
209
211
164
203
169
146
230
145
203
176
192
200
238
211
162
265
173
115
236
130
227
183
141
156
182
183
241
177
184
234
252
173
173
254
217
153
130
156
143
238
146
222
210
230
167
200
210
188
247
115
129
203
143
172
156
130
146
173
245
171
212
201
143
167
129
176
207
179
186
178
176
214
201
150
164
184
145
168
129
206
129
187
200
129
176
230
185
133
173
185
133
145
186
182
201
171
192
214
191
144
182
130
204
133
181
146
171
186
231
129
129
129
175
217
195
232
230
210
195
128
155
207
185
189
187
178
179
204
170
298
191
258
184
179
150
216
176
182
211
204
210
205
199
186
133
159
211
267
190
206
151
272
182
270
203
234
129
210
173
230
182
162
129
144
179
260
141
254
166
202
214
173
269
305
222
162
158
191
129
185
234
130
168
249
173
165
192
143
207
285
179
248
176
210
191
211
183
321
175
187
181
129
262
160
188
159
199
160
240
214
157
242
184
237
269
143
227
201
184
151
221
156
156
188
194
300
191
203
219
145
143
143
191
201
222
176
143
170
187
222
210
182
184
209
160
208
156
256
240
178
176
248
210
222
346
181
173
222
282
191
229
145
129
225
179
198
215
233
188
162
202
162
303
245
204
129
182
226
179
164
156
191
231
219
168
189
169
171
261
213
211
176
164
221
211
156
210
191
217
131
211
146
152
214
195
227
156
181
185
173
216
216
201
200
169
130
146
115
199
236
176
167
130
270
228
281
236
173
230
221
184
180
197
173
173
211
143
173
202
235
150
217
200
212
211
229
157
180
292
179
138
133
246
173
180
236
155
206
210
229
178
204
200
202
180
173
130
155
273
173
186
152
185
158
169
222
184
185
211
335
185
196
247
165
133
182
178
133
264
245
218
263
189
180
214
176
160
133
171
184
194
194
155
204
224
194
236
130
278
168
173
222
173
130
202
178
132
189
179
173
174
162
188
169
214
192
238
150
204
129
200
164
182
179
209
173
184
193
146
205
213
240
143
146
158
229
183
228
151
236
173
270
257
238
146
145
214
173
179
256
232
176
162
182
177
173
173
182
246
143
152
230
195
162
129
155
179
264
171
231
168
239
201
214
128
178
249
200
132
225
250
171
158
210
172
195
207
143
130
172
210
251
146
224
168
308
252
150
161
191
226
146
196
180
287
168
211
149
191
219
151
186
259
115
211
182
244
202
194
176
211
179
133
204
217
237
158
227
259
190
186
146
191
216
198
146
251
288
167
210
163
178
217
181
220
165
122
205
250
255
211
162
254
180
130
191
195
226
153
133
174
164
143
129
217
209
150
217
195
173
159
224
191
183
182
206
254
173
222
204
115
168
209
182
221
143
152
191
156
183
247
216
210
168
205
190
217
178
179
145
252
190
130
221
193
115
230
199
156
200
130
146
173
204
227
205
222
164
226
189
210
245
217
173
303
184
187
208
227
155
158
145
235
230
208
206
214
141
173
214
238
239
201
130
195
160
205
145
202
254
115
159
201
239
210
173
182
181
191
210
191
227
146
207
223
141
210
200
335
230
176
225
240
158
130
198
285
189
200
224
129
173
147
179
211
214
184
182
204
186
231
226
150
169
145
167
217
231
144
178
303
143
254
217
174
168
261
249
175
239
162
268
164
132
130
166
169
221
175
119
212
182
210
197
188
143
128
279
178
213
150
173
252
176
187
146
187
225
278
173
247
168
204
201
138
146
212
149
203
143
192
149
170
115
180
174
206
225
181
195
191
206
173
129
265
231
202
204
266
240
173
178
217
232
179
145
254
201
236
129
227
212
211
236
160
184
143
158
173
209
176
129
217
146
168
274
177
146
160
176
231
198
222
188
258
188
268
175
164
200
225
179
204
158
141
171
217
159
210
146
171
178
173
225
150
169
211
194
242
167
176
211
164
204
221
217
166
218
186
281
259
171
158
187
258
182
176
183
138
173
205
176
272
133
146
260
146
156
200
204
132
184
164
190
146
130
130
158
223
166
173
146
244
210
210
212
172
189
190
168
261
212
240
176
215
130
204
165
173
231
225
248
179
129
325
184
181
151
129
258
182
148
224
198
205
211
227
236
196
129
201
173
239
226
164
150
133
133
130
285
221
231
171
221
206
161
149
200
185
241
176
168
115
225
115
196
192
129
183
198
242
253
226
228
188
146
197
205
171
276
145
248
157
176
215
173
216
238
201
184
194
183
167
223
221
173
158
207
157
215
200
187
230
184
183
162
151
197
179
268
225
251
264
181
173
132
205
212
219
161
211
256
158
225
213
201
178
183
168
209
164
200
166
183
204
230
178
242
214
254
115
230
275
161
192
232
164
184
167
241
115
235
221
201
205
176
180
179
191
233
115
147
194
178
214
143
201
146
173
176
210
185
201
156
171
236
176
183
216
146
145
210
335
128
153
172
176
188
221
156
115
179
209
115
189
143
169
130
203
189
180
210
235
129
146
171
169
193
164
201
277
219
195
146
162
190
155
197
172
281
208
229
158
143
210
130
176
162
185
227
256
207
143
213
262
173
188
175
184
153
133
230
182
170
147
263
128
235
255
245
158
210
176
234
191
178
236
238
192
176
175
146
171
143
216
222
211
206
226
179
146
210
146
129
185
177
173
133
199
179
207
226
185
130
146
179
204
183
158
173
200
144
180
222
163
250
303
205
133
160
168
184
192
172
163
190
186
162
130
231
187
227
174
255
178
182
240
272
250
145
176
201
179
218
168
239
174
160
183
247
201
191
129
212
202
185
197
155
130
203
157
217
176
166
242
250
129
204
166
180
213
209
173
192
238
210
239
185
164
184
176
170
210
169
168
173
180
158
161
146
173
228
133
202
130
240
187
211
150
224
179
127
143
157
184
207
206
230
156
259
185
247
242
238
145
162
146
194
183
164
184
188
222
143
199
199
164
231
209
222
160
173
284
204
139
209
186
206
179
199
211
176
264
230
130
115
246
176
271
295
264
202
155
246
206
176
171
130
131
133
241
205
173
183
237
184
190
204
192
249
190
191
236
239
238
229
225
202
146
177
218
226
216
184
188
303
224
235
195
211
173
248
158
200
178
145
206
207
192
158
147
190
160
261
201
264
221
252
200
221
220
269
191
217
194
130
229
204
173
221
169
149
216
191
200
246
250
130
211
185
259
200
195
224
213
225
187
204
211
173
201
219
191
129
221
146
200
197
176
259
274
210
162
217
238
210
186
203
184
181
173
210
146
218
175
146
155
211
191
184
253
201
222
176
130
232
129
173
203
146
192
173
211
211
182
178
232
194
158
174
184
191
210
206
264
209
164
184
192
187
200
228
194
160
156
172
222
219
143
157
146
281
237
197
169
168
226
205
195
115
146
218
158
209
197
133
203
255
176
129
202
195
230
250
181
261
201
159
179
197
183
206
226
211
216
115
252
283
185
175
189
208
211
252
145
173
220
205
145
144
182
115
133
197
175
242
180
236
194
164
211
146
155
170
178
212
211
228
233
173
176
209
172
194
129
214
255
128
214
132
231
179
191
179
130
233
198
129
141
245
162
209
146
191
177
200
259
228
115
229
190
141
115
146
225
166
146
182
179
130
254
186
143
145
217
155
208
169
160
194
212
208
194
149
244
159
237
158
180
229
164
244
122
193
202
172
222
189
169
157
196
178
317
183
156
160
194
250
166
238
221
233
183
211
180
133
175
122
183
200
174
130
278
258
203
217
144
207
218
210
217
234
143
174
129
232
217
211
195
244
190
267
188
133
155
162
190
184
214
176
158
143
207
204
230
217
209
130
230
221
185
209
187
165
181
181
146
193
246
145
166
168
164
122
160
138
138
168
129
182
236
198
178
184
231
162
115
191
129
146
205
241
172
215
185
183
210
204
225
243
246
190
157
214
182
183
231
214
158
206
204
192
149
226
203
130
191
298
198
153
141
146
171
168
143
209
177
161
204
173
143
178
218
200
201
145
158
166
230
210
201
130
202
202
239
220
146
143
184
277
188
178
264
230
191
191
188
129
204
259
170
208
209
182
187
222
216
155
229
130
160
267
198
247
205
146
184
253
273
201
176
175
176
187
202
221
207
263
146
151
176
210
202
242
198
200
261
164
221
256
183
143
227
217
210
156
178
155
152
204
214
210
169
128
143
170
129
228
212
146
216
201
216
145
156
234
200
203
183
308
211
179
211
176
236
230
169
144
189
203
178
129
256
156
188
225
264
218
129
164
158
166
216
176
191
201
176
143
200
146
210
187
189
206
261
231
255
287
192
210
293
209
129
225
166
198
143
187
199
129
145
143
213
225
221
195
176
202
166
227
166
200
164
175
231
307
204
210
264
164
207
162
181
171
253
261
182
213
214
167
189
232
202
206
133
217
201
150
210
128
245
260
239
158
184
146
181
192
254
212
264
129
207
199
172
204
202
155
205
200
308
193
168
146
239
216
230
158
180
202
169
234
201
205
202
245
129
224
224
179
158
182
147
243
191
115
180
212
242
204
195
129
143
247
187
173
132
177
204
156
133
172
234
146
219
239
283
205
173
212
257
201
130
175
180
201
240
143
205
197
264
173
228
210
165
217
176
199
240
230
173
217
184
179
187
193
173
169
209
211
173
201
164
198
170
255
175
119
176
197
189
185
207
138
182
200
193
184
129
216
220
146
255
222
173
219
194
209
264
236
225
223
241
122
176
186
233
146
170
146
214
162
189
115
230
155
130
170
191
199
210
181
216
202
242
221
161
229
164
115
228
146
187
129
214
151
162
176
146
262
175
232
253
184
115
204
200
216
173
130
189
228
211
238
173
204
183
148
176
158
225
193
254
203
146
227
204
202
168
196
209
257
146
249
164
174
133
162
253
237
225
199
145
129
115
248
252
196
233
178
133
242
217
203
187
182
130
203
178
201
130
203
251
199
169
179
225
188
162
209
212
133
233
151
202
146
189
162
162
270
167
176
287
173
146
213
250
115
211
223
182
210
228
169
182
146
146
146
227
222
202
149
195
204
158
162
192
146
194
129
248
190
183
158
177
204
129
184
165
170
183
201
299
209
204
214
179
166
206
200
162
210
246
129
175
193
249
236
202
199
240
208
176
311
163
175
194
201
191
183
141
129
176
214
213
158
150
179
217
146
129
162
164
195
122
176
272
204
155
233
169
230
171
146
176
237
261
149
231
166
169
168
147
129
191
217
179
166
122
145
226
264
264
219
204
171
191
204
180
202
247
168
130
129
229
168
187
251
211
211
294
191
230
216
245
204
206
129
277
175
119
129
129
174
173
158
206
217
143
162
119
237
208
210
216
189
197
212
195
243
129
179
129
204
176
129
173
242
217
191
182
201
156
184
185
224
157
146
202
189
234
159
289
216
165
145
230
119
286
274
173
243
170
166
203
217
167
222
222
115
239
166
122
168
162
145
172
228
145
183
239
195
173
173
259
156
147
167
195
209
216
146
146
162
178
215
247
163
205
158
145
130
278
184
253
224
145
173
239
252
181
162
191
190
158
206
179
147
200
173
178
206
191
177
115
156
202
196
222
164
205
145
200
217
190
178
146
130
186
158
151
179
227
155
227
129
228
166
149
162
130
229
180
236
158
133
260
269
225
207
251
173
227
134
256
180
129
232
186
176
144
178
180
230
210
152
203
182
173
233
249
202
235
166
190
258
146
213
132
158
210
219
129
206
199
198
202
191
193
168
217
191
191
186
145
143
236
223
210
238
244
217
242
234
209
187
168
133
250
173
133
173
217
182
169
179
145
176
188
203
183
176
288
264
173
195
216
202
122
231
203
173
173
161
208
179
202
169
156
190
191
178
196
202
252
247
129
246
169
217
146
174
166
183
177
176
203
138
173
232
269
230
216
238
155
176
179
204
203
115
253
303
213
160
210
143
256
165
179
165
178
191
115
210
221
183
173
239
203
130
150
200
168
151
162
204
164
204
133
160
184
187
152
224
133
259
304
176
179
180
208
248
180
224
201
210
191
174
182
225
179
184
179
167
203
213
194
214
129
197
242
115
204
205
230
255
206
237
171
173
261
184
236
157
216
201
149
180
179
169
246
238
146
130
152
220
177
228
241
145
197
211
253
130
182
205
176
182
255
150
289
211
232
182
206
181
236
193
171
173
160
175
213
254
158
172
162
161
176
199
182
174
250
236
164
168
244
179
211
156
173
146
201
222
209
150
183
132
178
178
208
178
223
133
276
186
201
207
196
194
245
187
145
230
129
271
194
214
192
133
206
175
217
172
173
186
145
269
230
180
168
222
130
175
178
192
115
221
234
211
180
292
222
177
173
206
173
229
275
180
202
259
186
227
204
129
158
210
191
141
151
180
358
151
173
184
258
173
209
132
183
206
150
178
265
119
202
182
272
188
189
217
205
301
283
184
129
177
227
193
164
233
166
184
193
129
146
238
180
162
146
168
181
208
146
164
201
187
161
250
164
188
158
230
146
190
179
211
208
146
225
198
222
153
222
198
217
230
192
129
214
169
228
200
130
202
268
176
133
146
173
213
151
203
247
145
204
198
133
166
185
213
160
239
210
217
162
199
245
180
173
199
190
200
187
179
204
211
251
166
230
189
205
161
170
193
176
159
229
215
146
237
129
133
158
156
195
210
234
164
179
130
150
191
133
146
178
227
162
190
182
164
152
216
172
175
173
243
168
152
244
313
146
267
200
217
180
161
176
176
204
197
188
188
146
200
169
169
190
122
158
258
206
168
146
192
216
199
183
169
229
171
202
191
235
175
164
182
217
168
244
239
201
236
248
186
181
143
174
184
226
222
162
184
189
182
158
206
130
158
202
129
138
188
185
210
211
146
204
146
263
141
180
200
169
219
179
206
204
129
172
141
193
256
237
216
218
146
133
146
179
202
169
180
181
129
176
213
208
190
206
263
186
197
194
193
222
242
186
211
239
227
156
178
275
182
183
296
180
200
155
184
195
230
197
227
207
133
150
249
237
249
146
164
197
187
184
191
205
191
119
227
174
184
200
156
289
173
173
184
170
145
196
191
177
271
194
204
218
182
156
217
207
122
205
199
218
119
254
182
215
239
133
162
233
145
287
184
222
217
158
249
238
246
226
264
207
195
221
115
225
180
216
191
143
215
133
129
258
189
226
179
194
146
169
130
129
257
185
130
146
130
224
195
182
269
192
210
272
130
298
145
179
161
195
200
204
143
188
201
175
195
165
324
146
259
155
163
161
207
144
204
206
190
156
168
204
231
157
176
254
300
137
283
173
166
244
206
230
184
172
209
156
155
242
205
196
190
240
260
143
163
226
197
283
215
204
236
246
158
169
210
184
138
257
184
182
160
169
146
205
115
238
173
210
236
219
182
289
212
241
191
178
229
186
257
186
213
132
130
182
173
150
202
146
129
275
189
210
193
212
190
141
145
179
180
225
262
115
257
173
215
187
167
173
159
180
191
167
212
115
240
173
150
217
129
210
180
164
129
218
130
210
259
176
257
214
150
197
300
230
144
245
228
222
164
165
164
176
233
185
164
146
157
129
225
184
207
202
191
174
155
129
239
160
180
173
170
129
179
206
201
203
222
288
155
188
256
201
166
217
146
195
161
192
214
143
192
181
145
228
201
168
158
204
236
166
172
181
178
207
189
115
205
146
190
194
221
176
166
178
220
273
217
204
178
218
155
168
171
204
164
228
225
178
182
204
174
280
145
180
216
217
185
192
190
153
279
265
143
173
173
190
197
204
162
243
245
180
166
201
176
188
192
184
141
185
206
206
214
149
138
160
195
246
252
182
203
185
165
119
145
217
155
173
191
202
145
218
173
133
230
167
144
202
236
159
258
271
183
164
204
200
204
151
168
302
129
146
181
143
224
195
191
211
129
164
146
229
164
228
233
215
195
166
130
217
189
210
185
130
211
173
217
228
209
202
119
211
214
233
260
191
200
198
210
183
170
223
132
193
164
191
200
282
245
246
168
214
192
245
182
255
206
190
189
192
233
239
173
202
164
210
129
192
281
187
173
176
219
179
161
150
133
160
168
241
224
207
187
130
129
164
192
213
174
257
143
122
155
164
176
167
229
201
122
143
250
227
133
115
217
175
157
133
222
300
192
130
184
303
133
166
141
200
173
254
202
242
174
133
158
204
153
209
146
129
210
182
166
193
236
154
180
269
217
201
176
179
221
186
132
152
165
203
178
242
145
152
235
173
201
173
194
168
200
216
242
184
202
225
182
143
129
178
144
217
209
335
115
263
146
204
179
132
169
173
187
168
174
211
180
230
162
133
178
131
200
146
119
207
219
219
129
176
141
171
143
176
200
195
210
193
133
194
183
211
179
194
173
143
183
159
182
130
256
191
231
252
195
261
211
171
115
129
231
222
130
193
282
216
160
216
262
145
176
230
146
141
227
174
152
206
261
204
264
129
229
190
184
217
186
229
162
130
225
180
202
201
181
216
198
180
115
173
156
199
185
180
138
158
130
230
173
173
184
180
145
230
183
130
204
262
165
218
230
204
287
200
164
200
175
206
172
146
146
322
219
138
217
201
246
146
236
240
230
201
187
200
168
201
160
206
283
128
130
196
220
156
245
186
145
264
218
146
145
182
264
216
129
152
206
180
255
162
146
192
274
199
157
133
158
238
188
186
246
231
130
203
176
200
172
185
185
202
173
173
227
186
225
158
179
203
219
204
237
169
181
217
247
155
145
173
173
146
133
181
183
164
193
146
211
184
205
212
222
231
221
162
183
224
168
204
161
146
193
187
178
221
202
184
200
173
169
283
176
182
130
182
210
143
169
197
208
219
176
204
258
208
222
251
168
164
242
227
129
204
146
259
130
207
204
173
201
222
180
179
191
180
194
174
143
229
129
205
176
238
250
184
195
119
189
155
180
173
128
180
246
228
200
172
184
204
202
203
200
172
156
185
252
193
184
232
216
212
230
143
188
122
171
209
158
173
130
163
250
146
170
256
199
200
176
185
221
143
146
152
173
199
210
146
168
156
224
129
171
274
193
191
246
172
164
236
186
191
148
221
212
162
164
176
233
177
133
188
201
190
176
200
254
184
130
183
282
168
146
178
193
168
130
182
212
230
138
213
229
162
146
217
179
141
164
260
180
176
172
210
227
173
157
206
211
212
130
191
217
149
248
160
130
158
164
180
188
202
184
219
186
222
238
129
282
179
247
165
231
222
214
147
153
177
182
200
265
207
227
214
265
166
191
130
169
210
210
190
198
230
161
176
218
164
211
190
210
179
192
252
211
173
183
177
254
187
214
251
187
181
233
161
158
183
141
217
172
166
255
162
175
208
160
127
146
220
191
144
179
168
168
199
143
244
164
179
168
228
214
209
133
198
208
201
168
184
173
210
188
146
256
193
171
212
163
201
206
256
191
179
176
146
218
214
214
185
247
225
179
206
206
225
192
173
267
187
210
157
193
195
254
201
211
193
221
229
176
133
259
143
174
172
146
129
183
130
199
185
179
191
228
180
168
204
252
262
267
208
145
183
168
201
201
253
168
184
180
261
285
163
168
216
236
263
267
184
182
174
158
191
169
179
204
187
210
236
208
133
182
153
201
158
197
143
204
219
157
209
228
162
190
192
176
228
225
162
227
145
185
248
145
184
202
190
132
184
216
263
168
197
246
222
188
283
181
195
133
183
208
195
146
229
200
216
292
178
180
185
184
130
164
206
189
230
146
252
173
199
210
159
174
156
217
247
196
147
224
129
169
157
228
146
225
335
130
164
190
176
238
202
156
166
151
129
275
186
182
183
174
173
226
167
173
211
129
243
255
161
217
176
129
129
245
185
239
171
146
179
202
220
145
130
234
217
202
195
211
194
214
185
122
179
156
221
151
185
230
250
133
176
221
204
211
218
214
180
197
217
212
235
141
238
173
119
263
238
238
210
160
193
166
191
230
143
238
155
230
193
172
115
188
178
176
218
205
182
224
255
129
302
214
133
129
255
234
192
219
217
205
204
115
146
157
173
247
195
206
180
189
235
155
195
263
145
179
217
182
149
191
170
165
176
201
185
155
190
141
173
188
186
182
238
130
249
236
190
185
191
164
186
176
160
224
158
166
189
182
166
132
160
163
129
205
156
258
178
269
206
183
197
178
168
197
232
226
194
115
173
211
200
215
167
216
237
130
186
155
191
230
128
180
178
250
179
217
222
251
204
186
172
230
227
250
228
185
206
181
263
178
189
200
206
176
149
256
174
178
175
288
155
202
183
296
208
132
191
244
198
191
188
204
201
224
217
129
143
216
161
206
147
199
174
225
240
230
194
145
192
188
129
230
181
171
174
259
173
133
242
256
213
203
229
185
185
209
141
179
189
224
130
195
176
192
236
146
182
204
173
170
287
186
204
184
176
130
182
221
145
185
174
184
143
217
173
182
201
220
151
173
191
194
150
158
178
174
201
129
189
197
261
191
172
248
272
201
186
189
201
201
190
236
246
184
191
130
232
220
201
202
166
200
196
176
212
130
167
169
208
210
154
209
188
217
146
130
129
190
129
200
227
242
130
200
204
258
212
215
287
205
188
146
237
179
193
201
130
146
179
287
201
178
247
145
206
146
202
254
201
180
128
184
206
180
183
229
239
209
150
264
133
180
130
173
198
160
173
229
115
185
155
248
180
200
205
173
179
193
259
130
176
197
162
235
158
145
173
179
199
184
200
173
161
180
236
115
132
190
176
173
129
155
210
174
183
256
273
168
180
238
212
247
264
284
157
143
156
211
207
173
150
204
157
187
226
176
130
227
204
166
145
128
182
170
169
169
206
225
193
200
160
214
197
130
201
115
200
176
177
175
180
189
185
238
189
217
179
201
186
202
271
237
169
239
141
182
161
168
299
175
187
238
201
156
156
130
227
168
170
201
191
130
227
129
168
176
231
247
217
130
194
209
130
210
188
251
228
115
250
183
188
179
146
164
201
239
211
173
165
240
192
174
242
178
133
202
212
138
133
235
211
230
145
187
146
173
227
141
178
173
177
228
179
299
115
236
146
214
204
201
258
205
204
186
274
143
146
201
145
259
230
200
158
256
229
189
229
245
215
247
133
185
151
225
206
204
258
133
169
259
144
178
226
176
211
240
164
214
222
160
176
146
130
217
207
189
286
211
183
322
204
231
185
196
192
133
203
157
210
122
173
188
132
179
212
223
206
115
285
214
128
198
146
233
129
185
191
214
175
164
130
141
201
203
222
302
204
211
192
221
143
262
182
146
182
187
161
143
208
217
185
209
254
146
181
162
193
179
285
213
240
180
173
209
289
217
168
146
221
290
181
256
164
176
164
236
244
245
277
204
277
160
203
190
176
244
176
145
200
173
211
150
206
152
141
180
180
171
217
208
209
213
205
164
165
141
169
164
176
184
204
190
191
242
129
160
210
193
213
130
201
150
218
180
190
227
205
217
217
270
231
165
200
172
221
168
191
199
202
259
200
188
238
172
150
182
166
176
237
185
168
204
242
170
175
191
173
192
250
130
218
166
173
176
176
170
146
207
248
193
144
184
174
259
152
122
130
227
217
162
187
129
128
171
208
146
153
174
230
217
218
155
225
230
285
186
191
192
182
213
216
146
210
231
223
153
162
173
206
201
206
258
173
230
228
170
265
186
277
188
206
145
204
225
178
187
200
252
146
182
173
179
202
145
181
181
130
200
259
157
242
184
211
239
190
221
169
228
240
210
183
210
221
210
230
195
210
216
192
255
177
255
210
180
122
234
210
115
239
129
179
138
237
145
238
198
204
187
222
225
228
202
178
239
173
252
173
191
177
199
151
252
168
190
195
161
199
202
200
145
209
153
178
204
212
145
310
235
173
211
184
214
252
191
191
168
173
180
158
146
186
129
211
226
217
157
183
133
200
227
217
253
209
264
168
130
222
204
133
230
214
220
191
165
145
201
279
298
172
218
164
300
185
143
203
208
164
195
182
188
115
145
185
166
183
181
249
197
183
265
257
234
225
283
178
190
202
210
256
130
173
167
164
217
244
174
166
194
201
173
130
230
159
217
184
264
239
239
164
146
187
211
234
183
162
163
143
141
172
143
132
235
156
212
208
174
249
184
164
206
182
182
265
143
180
251
181
169
193
190
181
274
193
191
153
282
200
214
184
243
238
210
173
188
179
242
191
225
306
129
201
133
157
176
244
129
186
217
202
179
204
191
202
210
261
130
210
163
231
150
130
175
197
184
195
221
200
182
200
173
184
166
178
239
176
222
204
173
155
232
217
173
130
252
211
201
170
179
200
191
202
184
195
182
173
180
155
173
176
192
165
155
200
242
219
129
275
145
150
189
182
175
151
188
130
156
220
129
224
234
231
210
222
199
216
178
163
218
192
239
176
145
236
155
158
133
255
210
209
211
167
168
180
186
130
119
283
252
158
146
227
130
145
179
207
185
208
163
202
150
132
158
155
206
177
174
188
213
238
157
240
130
185
232
234
253
217
155
179
179
161
239
211
174
129
229
146
255
202
283
257
222
141
203
257
216
212
185
175
198
248
196
179
233
202
176
130
186
157
133
129
146
203
257
186
214
115
148
182
198
160
155
236
246
155
201
173
171
178
132
206
283
188
210
210
173
192
220
213
197
204
210
159
164
216
160
229
197
176
149
232
166
146
205
174
225
217
236
185
188
173
146
258
128
211
225
182
227
133
176
242
211
225
188
205
183
162
237
200
183
162
192
168
197
172
204
191
149
217
145
164
259
211
184
191
169
129
201
264
190
178
180
296
129
146
130
164
200
210
215
202
225
236
209
191
217
210
173
204
115
146
200
129
222
146
176
169
217
162
194
168
255
222
181
230
184
141
235
202
229
192
160
191
215
229
228
179
183
179
171
238
209
158
209
168
191
217
229
155
228
191
211
141
169
173
216
168
246
293
261
176
225
205
278
231
202
167
219
176
217
129
145
129
189
226
146
129
199
155
145
176
256
185
229
128
242
202
224
230
217
260
161
146
192
200
166
203
189
335
169
190
217
188
115
202
192
181
204
173
130
180
130
164
146
164
161
162
247
168
143
154
195
146
203
141
184
150
129
201
129
192
288
211
234
171
166
130
191
173
184
122
236
202
191
211
174
238
237
239
146
272
129
225
257
185
129
200
210
168
217
219
230
173
162
211
166
129
182
227
130
202
140
162
138
182
160
191
204
164
190
184
170
219
160
171
186
138
239
235
146
146
151
210
263
225
243
162
141
184
214
264
227
190
129
182
187
172
185
168
259
240
173
170
193
173
197
132
169
245
299
228
145
186
146
217
212
176
219
190
227
211
258
164
212
175
214
191
182
227
162
225
173
212
179
278
204
130
164
179
252
200
164
164
241
202
186
195
190
185
190
211
222
164
200
185
160
199
178
255
199
191
174
165
129
231
240
259
184
183
194
138
158
201
138
160
184
190
147
197
169
173
217
204
168
176
182
178
145
129
173
185
146
241
224
189
191
244
166
194
216
288
156
143
179
192
213
201
190
241
228
184
212
246
146
179
204
188
245
211
249
224
180
174
224
160
245
289
157
203
246
201
130
190
157
206
210
176
190
182
157
208
213
202
235
205
161
146
278
244
200
179
225
196
206
246
254
216
200
145
173
227
149
229
224
176
187
146
206
211
164
221
210
288
164
187
166
162
188
179
173
203
208
194
173
225
209
195
193
162
184
129
202
191
217
130
202
130
212
191
173
218
176
236
171
257
200
209
179
240
204
180
220
181
228
214
176
201
149
239
166
150
183
143
211
174
187
186
206
155
242
128
206
183
245
130
169
138
171
179
218
238
237
184
165
146
168
158
219
236
130
216
155
133
236
265
172
188
156
239
155
129
224
201
236
207
197
191
176
197
164
169
164
232
129
129
202
220
207
191
185
176
287
178
141
156
176
211
222
231
192
162
230
185
176
187
173
234
171
129
201
200
178
213
190
157
173
171
152
179
160
198
183
193
246
162
202
146
260
168
207
224
205
184
216
197
238
171
176
155
115
219
143
129
231
194
204
129
203
246
129
293
202
195
182
257
227
168
199
185
211
122
159
191
239
155
198
242
129
166
176
191
261
145
164
209
143
145
211
181
128
179
288
216
172
179
179
176
210
188
191
145
129
200
138
129
179
210
204
184
217
130
173
222
241
202
230
149
187
191
284
184
201
247
200
200
230
280
173
183
211
239
159
158
245
209
133
231
157
263
200
202
204
239
234
173
146
173
200
257
184
217
231
225
229
155
141
212
235
159
183
150
129
260
185
133
178
203
184
173
143
174
184
164
145
246
175
198
158
215
133
233
282
180
217
192
262
181
288
183
227
193
168
143
250
146
160
178
178
176
155
129
215
209
161
193
204
211
164
197
209
184
201
179
216
212
209
204
130
160
222
129
204
204
201
236
206
239
143
189
238
162
235
217
169
155
188
146
194
173
147
299
190
230
143
234
218
261
201
246
209
213
239
158
129
219
310
146
230
261
183
130
224
172
176
115
164
221
184
194
204
150
198
204
171
209
156
218
248
288
217
195
221
175
197
273
146
190
200
143
276
158
184
182
204
161
175
201
224
209
176
201
221
200
266
191
236
129
185
191
146
202
178
211
146
168
205
221
258
146
162
130
255
173
146
187
204
335
179
173
182
145
144
174
172
182
146
179
188
210
130
146
231
210
207
155
155
220
246
263
146
199
199
256
197
143
216
258
129
173
168
215
211
179
204
187
187
129
193
218
164
279
210
158
202
173
204
222
235
176
145
233
129
176
164
255
214
168
227
217
130
143
180
182
176
255
232
145
151
204
150
224
157
216
144
221
190
130
274
169
209
185
179
280
238
221
157
184
132
183
158
198
166
141
178
169
222
170
191
173
233
179
245
145
161
172
183
158
164
214
162
201
204
192
145
156
212
180
206
214
171
173
156
210
218
229
229
234
174
205
235
225
268
189
129
279
176
212
160
195
202
129
146
187
146
221
132
179
158
210
176
194
162
204
217
183
178
187
227
176
159
150
151
226
206
158
186
261
176
214
192
164
216
153
238
178
146
213
203
180
191
185
146
264
198
212
146
183
115
225
192
161
171
269
223
164
204
187
176
217
155
161
205
232
223
213
242
151
182
146
195
194
162
230
217
257
129
191
236
185
167
149
246
129
204
214
259
133
130
157
164
130
188
191
265
222
259
273
217
176
146
163
211
146
223
162
130
199
237
199
335
146
261
133
210
155
130
190
227
129
162
227
212
247
273
263
129
146
179
185
208
176
165
247
166
200
194
164
210
221
182
214
204
133
171
173
239
182
201
130
158
214
267
173
209
141
151
213
216
234
158
229
119
214
152
155
146
129
168
129
179
146
130
220
179
287
232
173
130
173
179
175
133
132
164
206
208
150
249
224
200
204
182
160
306
204
218
129
315
146
156
129
207
175
173
229
238
146
191
187
153
206
200
268
171
199
130
215
206
146
197
188
202
204
179
181
143
262
144
197
287
178
233
221
184
197
129
176
231
217
240
247
133
133
280
204
155
129
248
206
237
240
240
226
161
210
162
264
222
216
204
264
234
138
218
230
285
164
160
257
238
202
231
217
233
191
175
169
153
158
252
208
217
185
203
122
145
173
214
265
155
122
170
168
158
230
208
201
200
200
234
178
212
227
129
156
190
168
115
157
251
283
129
204
194
199
236
195
182
228
250
176
236
212
214
202
207
163
173
221
254
275
206
174
198
205
191
264
223
244
237
201
160
204
173
179
248
263
272
211
158
176
155
237
222
190
204
141
228
191
193
168
204
245
217
232
242
168
280
239
201
186
249
167
216
247
211
206
246
178
190
263
179
230
150
210
203
150
181
200
158
169
144
176
227
230
177
188
115
163
167
176
189
209
129
189
167
204
138
129
146
195
217
182
190
201
182
179
201
179
140
257
195
217
210
228
236
176
130
172
222
206
115
236
164
178
133
182
164
168
219
211
194
162
157
195
197
157
162
161
172
167
192
138
230
226
162
130
240
173
266
218
244
157
210
219
283
230
162
180
180
199
218
179
158
129
203
173
186
176
211
204
210
222
203
221
184
205
190
228
193
169
246
168
201
180
162
143
146
182
181
257
199
185
129
178
158
285
175
200
211
200
187
176
186
130
186
182
129
195
206
218
182
208
222
225
160
204
192
206
168
130
281
162
284
122
130
204
210
237
168
169
130
175
199
183
174
229
222
129
146
270
155
203
145
211
145
176
200
220
220
184
286
178
140
182
230
227
232
130
133
239
177
204
146
210
217
130
162
153
201
146
260
232
180
169
115
225
146
303
208
250
192
206
207
179
209
264
214
255
206
282
168
158
202
223
129
285
201
199
214
210
221
130
242
182
141
146
153
143
173
146
213
204
165
158
150
227
187
145
209
162
152
133
163
259
233
151
200
146
214
211
185
170
222
172
128
145
173
156
115
192
296
214
230
129
238
171
210
212
195
162
166
174
168
187
216
225
179
214
122
143
146
146
162
250
225
167
172
216
230
236
129
283
179
185
264
164
227
260
314
189
176
210
200
242
237
184
235
129
129
162
210
173
174
173
130
204
182
201
174
181
212
168
193
162
225
225
184
216
132
191
178
217
187
129
155
225
186
225
260
202
171
202
147
129
274
200
182
249
146
221
186
210
223
233
211
257
173
184
201
234
146
146
164
150
156
161
191
209
204
195
254
207
222
230
173
239
210
227
133
272
137
130
234
195
192
129
173
222
217
164
214
216
150
210
208
217
159
180
211
264
211
173
217
204
210
179
229
237
191
133
255
129
238
153
179
225
254
230
155
233
186
248
145
211
263
222
185
184
230
229
187
200
216
256
179
231
225
210
174
195
217
173
143
206
272
129
253
188
217
192
130
215
162
122
165
195
230
182
174
218
130
227
183
225
263
201
183
149
143
183
129
200
203
145
169
178
179
173
232
168
173
210
188
176
185
218
146
173
195
144
173
206
159
169
201
198
176
207
171
159
173
187
143
164
217
201
223
130
173
176
207
160
138
253
176
189
158
218
204
128
199
183
194
215
210
164
178
210
158
247
155
172
192
184
238
204
171
206
161
173
210
158
155
237
202
189
158
225
209
194
239
173
183
217
161
200
217
184
173
230
252
279
183
214
130
216
291
285
176
222
179
158
146
176
206
209
204
278
153
173
201
181
214
210
211
146
298
180
167
205
182
182
201
143
152
166
146
211
218
243
210
234
190
219
234
184
229
210
187
189
173
174
194
119
155
202
190
236
231
173
210
218
130
341
226
270
188
274
162
191
145
173
201
175
223
197
146
162
184
215
173
225
129
193
202
173
224
133
231
186
129
129
179
195
209
146
115
173
230
283
197
192
169
140
143
210
272
173
204
202
176
219
143
201
119
146
194
187
155
167
129
115
156
230
190
187
185
235
160
184
246
193
186
181
169
202
191
211
132
155
146
122
162
293
227
256
160
178
190
173
173
234
214
193
221
259
129
191
146
176
133
169
192
157
143
195
188
203
198
162
198
266
133
182
259
130
166
191
244
189
238
318
204
149
211
204
147
173
211
212
158
164
146
189
217
182
155
192
184
153
187
204
217
178
204
173
248
173
171
146
206
143
189
130
183
230
209
210
217
173
168
237
199
182
202
238
214
232
129
146
173
227
184
230
164
149
217
192
185
230
168
173
237
204
161
115
218
213
199
201
162
183
192
203
186
211
204
210
175
169
146
202
192
164
196
165
188
184
146
146
201
206
200
129
196
168
257
180
146
195
133
152
177
221
173
303
174
128
129
185
210
193
224
173
191
188
188
130
217
224
133
162
246
133
204
181
190
230
243
180
222
206
146
239
211
201
174
164
176
213
130
268
218
155
238
206
264
184
143
224
239
244
277
133
248
173
202
243
182
219
172
247
138
262
191
222
133
173
184
255
130
182
230
160
211
217
196
150
206
246
130
129
212
217
162
228
130
203
242
171
260
174
146
184
130
176
248
273
287
143
230
256
192
238
204
138
236
205
239
216
190
204
161
194
211
159
295
204
172
180
206
245
164
168
173
176
210
179
185
293
275
191
184
206
158
283
224
168
222
162
224
169
129
176
188
225
176
207
202
156
194
173
244
130
145
243
129
190
241
186
217
252
145
238
211
150
199
179
141
158
129
227
210
146
198
170
183
174
251
192
169
281
195
172
164
216
162
255
160
173
181
165
169
143
156
290
173
176
163
192
211
202
206
204
204
225
207
145
168
203
129
176
149
275
168
146
203
192
195
166
274
249
178
245
234
249
180
188
203
193
241
294
180
211
175
300
155
237
179
173
130
267
170
212
172
172
208
130
169
188
195
217
115
145
130
157
210
168
173
262
270
179
173
202
146
201
266
162
230
130
238
170
258
168
130
162
241
221
173
222
185
204
162
184
144
210
184
217
184
230
211
273
178
205
236
211
181
203
119
133
156
173
247
170
143
250
186
235
188
183
248
201
177
185
173
229
150
173
129
143
236
255
168
201
165
241
179
174
173
257
210
130
183
207
198
177
184
171
133
184
222
129
129
229
138
173
189
196
283
203
218
168
214
181
168
211
164
190
201
244
158
129
146
176
213
173
271
219
201
176
133
230
251
210
214
247
202
141
168
188
164
234
201
207
133
222
169
173
167
195
178
129
217
217
194
176
129
178
219
133
158
210
247
171
132
155
202
176
204
261
146
187
122
178
211
173
173
168
155
162
177
130
236
221
230
157
145
173
141
194
179
210
229
277
225
185
247
179
252
236
202
181
122
210
185
232
227
131
157
214
182
130
179
192
233
224
300
145
146
249
222
129
236
209
179
204
244
210
129
115
200
164
130
133
232
168
207
166
191
146
200
162
158
204
217
168
216
217
190
234
306
287
225
130
247
240
185
201
156
129
146
191
244
156
279
211
189
210
179
176
203
210
143
176
160
115
168
238
191
179
201
189
234
177
150
204
174
217
192
172
170
173
181
208
128
249
258
290
145
130
198
157
176
229
184
159
145
211
180
202
206
280
242
213
252
197
266
240
155
184
185
202
158
176
228
173
164
162
173
227
241
195
190
212
225
215
203
236
265
190
146
231
241
183
186
133
129
157
153
182
208
200
215
246
239
233
143
187
179
129
133
263
173
210
201
191
169
206
263
160
162
178
129
214
222
257
186
146
250
173
205
160
187
183
162
155
180
205
225
247
197
271
204
115
164
247
185
188
133
188
206
153
233
201
203
226
181
165
130
180
225
252
263
155
211
182
242
208
176
181
239
164
274
224
158
146
173
155
205
155
138
201
222
203
215
156
182
166
166
271
212
258
190
264
168
273
255
202
130
217
173
173
265
173
157
146
205
130
247
203
178
341
156
239
149
130
222
222
115
168
202
183
208
213
171
183
161
183
161
179
143
162
169
181
218
194
176
190
200
204
224
129
245
211
244
147
221
206
180
191
255
152
183
206
237
115
129
226
176
189
210
199
200
236
239
229
182
227
204
172
220
115
302
239
257
246
185
188
145
132
173
190
174
145
199
203
145
162
130
202
151
197
171
133
204
212
200
173
164
301
202
242
249
221
244
164
225
161
169
172
155
214
210
195
228
176
239
204
191
171
214
150
180
168
193
158
263
146
227
173
164
272
277
204
255
195
133
184
255
162
197
174
194
254
146
181
204
187
209
201
190
164
115
258
176
156
213
156
180
225
168
176
183
236
129
175
190
216
185
147
162
221
204
248
155
182
141
211
183
191
191
143
269
165
173
201
138
233
202
184
211
218
198
171
200
178
226
210
210
212
167
271
176
204
195
201
195
164
227
192
129
200
161
182
225
220
204
164
219
249
227
133
227
205
192
183
173
234
238
271
227
218
191
155
183
217
133
191
259
150
217
195
158
148
186
130
194
130
164
210
129
176
202
207
219
169
186
260
210
235
201
264
146
146
182
196
175
196
146
188
164
201
146
206
168
168
259
155
155
206
201
224
182
228
185
157
179
192
228
264
201
179
175
230
203
145
210
130
145
141
214
173
246
146
239
228
278
227
230
261
210
146
133
130
133
204
204
219
152
186
264
129
279
217
172
143
130
204
205
191
182
179
267
263
184
247
204
204
198
231
216
146
201
150
242
129
197
179
256
200
264
146
225
168
193
166
182
190
232
165
129
168
173
122
195
202
209
130
201
246
182
178
206
210
262
143
217
209
229
145
173
146
269
162
189
229
256
185
181
141
242
169
129
176
179
192
178
201
199
209
235
225
236
179
245
210
227
146
193
155
176
176
143
218
195
236
229
174
201
130
180
181
138
201
254
130
191
179
191
144
184
238
143
225
208
165
129
193
143
237
231
229
261
160
189
168
191
172
152
191
132
133
189
211
162
173
208
176
201
235
177
178
212
176
191
201
191
214
201
156
155
200
170
164
217
158
235
146
249
183
122
239
150
146
195
202
176
173
141
257
258
162
182
193
176
209
178
195
191
180
183
129
187
219
122
287
169
185
213
173
153
225
163
174
166
146
138
146
162
195
202
324
270
281
166
281
222
129
193
176
206
217
230
281
203
204
186
157
173
176
205
143
238
146
211
168
173
129
183
183
208
256
169
236
188
227
129
179
166
251
191
229
186
190
210
153
153
255
171
192
187
200
173
202
189
164
129
170
206
179
198
200
133
164
179
183
251
197
175
241
180
176
204
213
130
130
129
234
176
133
180
148
155
171
282
223
158
176
183
209
189
204
221
209
216
115
214
224
160
133
129
173
150
273
185
178
179
204
175
203
157
233
215
258
211
206
201
122
204
239
115
268
147
188
199
130
217
181
263
115
173
169
252
190
237
200
236
143
335
212
146
195
217
133
130
210
210
153
225
173
252
217
231
223
133
133
184
155
228
176
231
188
190
217
184
158
166
204
204
130
165
217
166
194
261
206
146
128
233
231
179
195
188
152
184
217
218
206
192
227
143
164
145
150
175
130
187
202
246
176
236
259
210
236
182
173
150
185
261
221
192
215
166
239
217
169
174
129
191
172
169
245
247
138
162
219
141
156
197
205
145
189
237
250
155
171
244
178
206
230
203
250
173
151
130
188
168
289
222
241
210
146
174
229
180
167
197
239
233
203
222
170
143
229
164
210
234
146
173
184
227
200
227
162
231
236
180
210
247
184
243
233
212
143
129
242
201
144
146
148
133
214
146
185
256
239
205
196
217
146
203
204
181
169
299
198
255
183
193
179
204
189
208
176
192
129
132
218
181
204
199
267
254
145
247
191
190
171
185
146
211
175
190
184
203
183
171
171
266
230
168
181
191
191
178
188
184
230
254
189
217
224
246
174
199
198
228
179
129
183
202
191
160
217
169
228
234
133
130
146
179
217
239
115
189
185
189
173
157
173
167
236
175
187
173
160
203
133
222
251
188
173
250
191
179
259
178
271
221
215
165
238
129
215
201
185
211
164
173
167
275
224
195
206
150
146
242
187
170
212
187
213
209
187
214
207
143
201
155
230
192
158
215
146
184
228
245
146
205
181
158
165
209
214
215
145
225
156
183
246
204
172
218
211
247
182
253
210
221
130
115
196
143
141
189
176
255
185
224
162
251
335
273
191
141
158
176
145
235
271
173
236
145
247
212
219
170
244
181
130
217
166
242
146
198
162
185
129
162
166
217
271
218
205
233
229
170
160
155
143
218
168
129
185
259
264
187
294
181
211
143
229
173
214
176
182
168
191
141
130
161
182
207
203
197
200
209
176
221
218
157
204
239
184
195
145
179
129
192
176
156
184
172
204
251
199
163
152
181
185
261
177
122
192
200
250
145
211
275
178
243
211
186
150
156
199
180
145
210
168
207
210
191
129
226
259
258
173
187
239
169
247
162
167
173
161
210
167
173
130
213
248
208
267
236
161
145
191
146
160
225
301
176
206
143
162
164
214
217
156
179
182
173
255
205
234
204
150
230
129
133
208
210
233
210
192
187
129
133
159
187
133
258
169
130
231
158
176
173
194
130
175
239
146
229
162
143
248
211
160
270
201
115
143
219
190
183
204
242
191
115
208
185
210
165
176
237
173
204
251
129
173
264
250
182
178
238
141
189
176
155
178
133
145
173
230
130
210
173
195
145
191
276
178
211
211
271
189
218
225
239
129
236
170
149
236
155
191
277
182
184
173
206
238
182
198
174
179
200
186
188
184
247
204
240
129
164
177
258
182
264
173
212
144
133
173
185
143
238
169
190
130
179
160
188
146
297
173
236
167
166
173
193
195
230
225
210
158
184
130
260
190
147
255
210
183
184
201
211
162
155
231
196
141
164
199
150
150
166
173
252
158
238
242
156
222
156
169
162
184
256
233
166
224
236
195
238
209
214
148
228
216
145
166
129
150
168
150
143
172
167
261
190
209
204
168
133
204
173
145
211
210
200
146
130
229
236
155
171
168
204
305
162
143
255
279
144
242
156
130
237
201
217
167
241
143
264
176
129
165
230
128
179
143
159
259
189
162
222
230
162
177
210
130
201
151
218
160
198
239
187
208
266
222
201
183
238
213
265
178
185
225
178
184
163
218
130
214
172
146
244
158
231
231
212
216
145
260
191
184
227
212
184
220
145
247
204
182
195
218
222
257
194
130
143
266
209
216
266
211
217
143
263
239
231
207
192
223
169
203
171
250
169
161
128
210
192
201
284
158
209
222
230
190
156
211
247
210
185
244
221
130
164
210
157
183
130
228
246
188
204
224
192
205
176
173
209
283
210
129
217
130
210
153
203
211
193
221
193
209
265
156
176
204
236
184
146
259
150
215
160
130
189
252
217
230
130
173
162
146
133
232
179
206
146
176
176
174
256
187
242
150
162
129
206
172
217
174
200
194
168
358
162
195
188
146
217
146
217
178
239
209
180
161
195
199
166
219
129
214
179
185
232
211
174
207
177
211
197
180
173
176
193
129
215
176
141
170
133
216
164
217
162
133
183
176
205
236
156
158
202
172
210
195
175
193
155
187
205
212
115
179
173
222
130
122
160
168
129
219
212
183
168
157
166
129
219
185
228
209
151
182
190
146
158
200
133
173
191
129
141
229
258
122
182
202
272
173
208
130
263
195
171
250
204
145
204
217
169
217
203
195
229
194
234
222
259
254
160
229
213
227
250
184
184
181
206
207
254
133
150
180
184
210
186
184
150
144
230
210
242
157
152
259
204
204
130
217
130
132
220
115
210
229
213
175
122
191
209
130
176
232
173
178
190
168
156
173
230
203
278
185
200
175
219
210
153
146
219
194
254
184
268
182
281
194
162
202
158
202
237
130
248
230
202
182
176
231
129
157
217
210
221
192
179
207
119
178
203
145
293
214
211
214
202
205
129
214
240
287
210
243
263
156
130
204
184
206
256
145
279
219
180
194
178
200
189
115
186
168
186
189
195
199
146
156
161
264
175
248
184
115
222
239
212
144
226
194
179
162
200
227
168
169
180
235
258
162
144
138
162
244
150
201
141
164
164
181
179
171
277
197
195
235
203
143
161
158
146
143
213
172
148
153
244
225
158
187
225
191
173
191
201
275
224
211
130
217
215
205
231
173
130
129
157
179
217
183
232
255
227
199
204
269
258
193
234
143
206
182
155
146
129
158
173
189
216
263
171
216
191
231
115
173
202
179
169
231
168
184
138
169
146
223
180
185
130
217
176
204
187
195
242
195
179
160
129
143
172
176
217
158
217
143
173
129
204
178
191
186
145
173
150
261
182
146
211
128
155
163
129
153
204
195
226
214
187
185
173
156
184
173
169
158
200
173
264
155
130
173
179
312
173
211
191
161
233
206
168
178
292
156
220
161
173
173
180
173
178
178
238
146
143
237
211
174
247
160
156
204
221
180
182
145
183
173
146
265
138
143
229
198
217
238
168
192
263
324
130
253
182
205
205
160
188
146
202
158
201
215
210
183
146
176
221
202
130
161
160
130
115
173
173
196
194
183
200
217
171
205
189
186
272
199
246
176
222
176
223
204
160
119
183
165
191
173
184
157
209
122
169
206
132
173
172
230
190
141
178
141
115
130
211
196
176
155
205
191
188
271
157
185
146
165
169
146
129
204
156
182
212
226
187
204
115
178
186
130
174
146
158
216
173
173
204
287
228
164
146
192
211
200
300
143
227
218
158
201
210
203
187
162
195
217
171
155
184
161
209
213
201
246
145
208
199
203
238
168
175
141
184
254
240
230
129
180
233
255
204
228
176
231
200
151
192
287
177
283
176
174
250
220
200
155
264
129
168
223
212
262
246
230
143
238
184
157
252
215
178
245
128
239
168
182
210
221
133
217
203
185
196
176
176
129
204
190
200
231
146
129
176
160
251
192
199
129
212
200
156
149
166
261
219
179
223
176
172
132
156
204
211
156
183
173
185
214
146
202
219
240
204
220
179
198
229
185
204
189
191
166
156
218
230
181
158
195
204
207
143
141
182
158
164
191
183
230
202
179
211
130
145
185
234
261
189
217
179
191
218
149
143
283
192
129
129
236
195
228
241
143
161
178
276
191
176
194
175
236
210
200
162
166
200
162
184
266
262
150
211
173
143
178
179
261
200
129
209
133
207
259
254
288
204
171
214
191
235
185
176
158
234
204
204
177
180
182
144
261
239
182
206
198
191
218
201
237
221
146
274
186
204
214
235
158
195
193
204
239
178
202
146
191
261
168
170
233
241
230
261
222
273
239
212
193
177
249
221
193
176
230
205
203
217
221
207
200
207
223
184
213
164
163
206
176
202
178
196
192
158
204
164
236
217
238
187
189
179
174
251
190
186
205
210
174
257
220
184
145
161
173
184
119
160
210
146
144
122
240
246
216
130
182
164
156
176
243
254
179
115
210
230
242
211
173
178
168
146
246
173
206
199
155
129
146
288
189
202
152
188
115
233
201
159
173
164
178
254
130
149
145
200
194
179
222
264
206
165
192
261
165
202
182
191
225
176
173
143
234
202
194
149
173
181
205
155
203
195
147
201
115
189
194
185
166
232
202
196
155
164
161
184
174
173
202
146
133
221
177
170
182
173
128
189
211
157
191
162
267
146
206
182
230
173
176
143
129
231
227
230
204
175
164
132
197
210
158
210
146
201
161
217
207
248
217
215
234
223
192
200
202
200
130
195
247
222
191
153
268
166
245
196
222
175
238
181
168
183
129
182
173
192
173
177
254
198
210
232
183
190
272
222
176
156
202
176
217
151
236
215
155
190
176
162
227
179
184
173
210
174
179
184
194
171
141
170
157
183
184
249
217
217
168
164
155
235
216
191
130
291
186
191
166
186
238
164
194
207
167
178
210
179
170
162
204
225
184
141
195
217
130
145
285
176
204
168
158
146
211
160
156
221
128
210
200
182
217
146
262
129
155
176
189
174
172
156
146
129
143
222
201
211
200
195
192
141
237
176
178
181
226
210
192
218
264
133
115
146
202
129
181
204
234
190
229
214
221
222
241
255
225
159
258
265
174
167
209
158
130
293
164
240
197
184
253
160
262
265
218
184
268
222
206
174
163
138
203
181
143
182
228
176
158
233
181
202
266
239
223
172
261
221
254
307
183
212
192
215
162
162
232
257
157
122
226
184
176
130
172
217
180
204
187
141
202
181
184
233
235
211
130
188
184
171
217
191
166
210
191
115
206
180
221
157
211
181
186
185
294
199
188
210
171
173
190
232
221
201
191
220
262
143
157
162
129
200
234
145
229
220
221
254
234
190
285
146
179
219
129
130
254
172
236
169
236
228
130
162
176
202
203
204
173
222
173
162
191
239
186
301
229
158
115
162
203
115
214
130
129
164
167
194
133
240
269
173
173
180
264
271
189
181
162
263
182
242
173
206
164
238
164
197
161
115
210
212
129
145
239
185
205
230
160
162
179
258
161
171
185
218
210
254
129
216
176
246
260
173
199
141
129
169
206
178
129
206
179
176
130
226
183
159
132
209
157
201
155
242
213
230
211
191
176
240
209
301
133
244
169
192
217
161
199
204
213
186
164
146
200
225
274
196
233
170
145
173
151
236
247
224
230
263
193
190
150
145
261
226
190
213
122
217
204
200
161
231
145
129
209
170
192
122
231
181
231
258
204
191
177
181
210
176
130
130
244
245
247
182
167
176
229
176
188
230
173
219
194
210
207
164
230
167
130
170
186
169
236
237
181
146
130
187
190
203
129
202
281
191
190
175
303
181
129
176
217
146
179
122
191
200
210
217
207
232
211
217
255
261
235
222
214
219
158
232
204
166
173
191
166
236
192
130
133
166
230
122
200
217
151
159
169
300
143
168
221
173
247
216
220
274
252
238
172
130
191
211
217
206
208
223
130
223
184
191
183
183
192
201
216
146
155
172
189
251
166
149
178
235
200
150
138
189
155
192
287
193
232
115
229
202
189
201
225
256
187
141
221
191
174
130
192
300
206
179
186
229
129
168
176
255
185
225
189
236
227
195
175
173
173
130
188
184
206
181
115
208
195
204
239
201
262
193
217
173
158
171
204
170
141
181
141
238
172
146
247
225
180
236
191
164
204
206
143
164
257
207
192
194
216
240
164
193
210
146
130
203
206
210
149
211
115
210
237
129
210
190
176
167
155
173
223
268
170
168
239
233
130
216
156
183
129
229
188
147
191
274
272
199
218
187
144
229
261
217
190
262
206
240
176
128
204
191
182
230
166
187
149
172
176
188
133
158
156
225
188
233
141
161
182
238
160
202
201
179
129
147
146
261
300
180
172
185
150
179
230
168
172
156
179
216
321
265
209
267
192
225
200
167
182
209
176
203
129
321
202
245
176
146
128
245
168
211
146
204
200
214
176
281
146
204
214
173
218
173
209
210
188
164
240
156
247
198
152
236
209
223
199
162
215
179
208
210
164
177
178
186
176
217
176
158
237
232
129
130
226
259
217
168
160
184
192
183
262
168
197
216
201
240
216
228
180
179
204
170
230
211
151
226
162
150
145
184
115
145
259
221
138
241
310
162
158
129
195
186
244
206
147
267
145
191
221
204
205
128
145
197
115
157
133
146
210
203
129
220
191
183
164
201
190
155
182
211
187
144
168
281
192
258
178
230
203
190
189
221
203
222
227
240
146
155
215
144
246
237
232
115
221
191
182
129
168
218
129
225
210
277
163
152
211
207
184
210
251
188
204
146
221
129
252
204
229
183
145
275
152
156
168
206
158
200
259
209
210
173
173
202
228
188
200
162
207
145
204
178
174
200
173
192
146
240
192
217
204
189
194
201
162
155
217
133
178
168
213
173
228
161
160
129
206
208
205
185
189
174
191
224
146
210
146
253
158
156
115
203
129
145
231
185
129
174
223
202
177
156
145
178
169
217
155
174
180
204
206
197
163
193
184
130
233
164
173
217
189
192
130
189
217
176
183
221
180
250
193
213
129
171
150
216
201
242
198
146
169
239
181
222
158
177
158
188
145
236
251
241
227
250
188
207
130
183
187
188
145
176
162
205
189
170
230
191
162
213
168
196
229
178
211
280
148
164
235
209
206
197
168
204
185
202
181
170
159
189
172
176
155
289
191
228
206
195
161
187
158
166
185
203
186
147
218
191
211
230
169
216
178
145
191
152
178
129
192
229
196
180
210
182
174
320
287
163
176
168
228
170
214
176
208
222
203
239
190
171
217
255
249
144
159
191
201
166
173
254
218
175
130
153
230
246
257
170
191
201
146
180
146
130
170
303
234
129
214
176
268
173
261
133
198
196
176
146
192
180
164
122
215
250
253
193
158
184
172
182
176
167
209
253
160
189
146
236
168
218
233
155
184
205
185
174
146
226
194
238
145
200
188
192
188
168
200
265
278
143
221
204
257
233
255
186
295
215
239
223
129
146
226
182
155
206
200
160
174
205
138
156
133
167
129
301
188
188
182
230
185
173
190
285
173
198
143
261
173
187
230
268
245
150
146
223
222
157
199
133
258
147
162
235
177
208
226
146
129
186
226
184
129
202
152
158
180
193
223
210
191
177
179
173
202
252
179
129
253
279
150
240
173
146
251
275
173
238
216
129
249
212
139
177
217
217
176
178
275
143
224
176
261
162
168
238
146
221
204
128
158
176
195
165
259
188
195
214
130
166
176
223
146
236
225
211
200
169
275
259
283
227
278
206
146
177
214
217
241
178
182
205
130
230
184
184
194
172
287
213
220
209
217
235
204
204
210
184
178
162
195
264
173
158
197
157
182
255
188
303
246
148
183
168
173
246
222
195
146
168
229
212
168
250
152
219
166
231
190
220
168
217
146
146
192
190
173
196
261
202
180
170
146
143
178
212
146
261
261
158
194
187
130
146
247
250
147
144
190
206
196
287
214
220
180
217
171
244
209
214
209
170
204
158
221
181
194
130
152
150
180
236
156
263
160
178
215
208
210
191
292
216
191
185
210
173
152
204
172
129
204
236
169
257
236
210
217
146
153
278
173
226
204
214
133
161
153
264
274
237
133
149
176
161
216
177
176
184
174
244
178
129
151
185
129
173
211
173
227
150
204
199
173
218
155
182
172
173
204
184
146
173
245
188
225
204
201
210
254
185
146
204
179
129
130
129
227
199
146
130
217
246
170
204
225
147
129
237
186
226
183
153
222
145
217
152
262
179
258
192
115
233
155
190
204
226
207
202
207
235
230
129
193
173
191
122
156
176
188
156
129
171
190
190
177
181
191
145
183
216
209
250
150
238
204
219
184
164
230
240
133
197
146
145
220
285
143
176
174
173
182
175
209
264
146
202
151
176
235
195
235
180
182
171
202
210
179
243
161
173
188
208
194
143
173
166
195
239
173
203
248
213
147
162
176
144
246
157
207
188
220
149
155
200
231
138
146
156
200
191
146
185
168
191
227
170
166
180
179
187
155
138
164
129
169
183
164
156
177
216
335
188
156
203
191
162
130
150
133
214
162
129
141
185
214
254
129
168
237
181
195
204
130
130
130
157
217
156
261
260
133
164
210
146
215
210
169
167
203
192
229
175
168
173
170
130
146
211
236
227
217
203
202
205
196
209
221
162
179
195
208
160
204
206
199
282
174
172
227
166
130
202
171
231
143
221
238
143
220
203
229
187
182
163
145
227
179
164
190
203
179
130
200
164
203
265
203
160
194
157
215
227
178
175
275
211
222
203
217
240
155
254
187
212
201
158
150
179
176
130
145
225
212
217
210
146
193
192
194
130
250
164
197
129
180
129
234
173
214
200
209
150
179
169
202
231
191
161
174
200
264
210
210
130
263
219
179
158
152
129
161
146
164
183
183
145
146
163
189
176
230
285
220
236
283
146
173
152
191
194
179
146
151
156
186
251
191
146
179
168
170
210
133
141
228
285
243
217
199
175
261
166
162
178
130
172
241
270
225
203
157
243
210
182
234
133
155
210
249
183
172
183
129
212
211
175
181
155
129
172
155
182
246
186
224
176
272
211
211
211
187
130
180
218
133
238
180
193
177
229
218
144
225
150
249
158
196
211
228
227
204
115
272
173
204
190
261
175
183
130
162
256
274
192
223
193
251
242
141
160
160
147
212
178
237
141
219
201
179
191
248
172
200
239
222
239
177
200
180
183
196
169
210
210
183
258
182
179
162
204
274
264
201
176
274
174
200
133
195
141
217
209
145
183
194
173
182
264
282
179
164
129
201
214
204
226
227
166
164
248
184
129
245
186
178
185
235
190
214
130
147
206
185
184
149
179
174
322
170
237
174
168
245
181
162
269
303
217
232
191
141
199
158
264
145
184
191
158
236
275
231
214
236
174
191
197
185
155
301
217
188
176
265
122
173
173
194
206
201
204
227
186
262
204
193
231
185
130
254
211
115
270
174
115
200
155
146
186
180
193
145
129
211
145
173
235
146
146
166
146
225
168
176
182
129
162
256
141
162
217
247
204
214
141
146
242
129
181
185
202
204
225
202
155
171
119
239
173
172
230
192
209
201
256
129
235
201
173
206
146
194
222
201
238
156
179
183
130
249
145
189
150
190
225
211
230
198
272
182
180
195
204
275
211
162
300
208
262
204
129
166
193
161
133
204
180
249
265
145
257
225
176
169
210
192
205
176
204
227
180
191
263
255
201
139
115
129
186
130
207
227
129
129
176
262
143
257
264
191
238
203
204
182
145
130
182
214
187
153
145
230
188
146
200
204
221
236
145
190
173
178
227
196
202
217
199
202
192
221
183
201
146
141
195
187
204
164
217
151
213
163
246
169
227
201
115
173
180
231
185
205
169
189
173
204
115
184
156
264
182
133
226
176
201
205
165
143
168
259
227
169
168
129
287
165
181
146
209
174
174
174
171
204
230
208
161
133
188
234
158
201
129
239
259
256
170
258
119
179
243
261
182
248
188
165
234
192
228
215
202
195
145
168
129
185
147
168
215
129
166
249
217
185
159
178
226
191
227
231
264
143
146
248
237
204
222
230
265
170
221
199
141
158
201
157
222
198
160
184
130
255
173
168
184
199
211
204
179
191
173
146
168
216
162
143
245
249
160
206
184
143
217
130
179
244
202
184
130
189
255
217
199
176
188
204
130
213
209
158
200
133
122
225
217
206
251
130
149
238
141
145
230
208
172
227
217
158
164
209
146
162
184
233
174
115
181
264
145
277
216
216
210
146
183
249
170
258
143
203
202
218
270
233
130
202
141
166
181
160
208
221
197
272
190
122
175
188
242
200
149
195
179
180
194
141
132
210
211
202
201
206
270
195
146
173
260
133
115
232
228
177
160
178
210
217
181
185
201
173
235
160
221
164
198
201
210
166
158
235
182
189
182
173
143
222
167
233
167
210
129
212
184
195
141
251
133
232
204
217
162
209
201
266
176
119
201
161
173
186
227
200
145
184
162
161
211
223
145
228
215
119
206
145
185
138
168
255
158
219
162
170
130
178
204
186
180
203
169
196
167
211
217
231
195
234
207
162
181
177
182
182
309
200
218
146
182
271
145
217
249
293
184
170
175
247
216
230
239
152
266
197
197
181
184
174
187
115
173
146
236
167
281
146
205
130
216
204
191
232
129
133
274
199
201
150
182
210
214
182
195
186
213
168
239
172
236
239
210
129
164
217
122
143
204
155
171
144
191
251
232
190
175
190
181
164
156
169
204
199
174
204
167
200
176
172
207
206
185
162
181
172
204
179
166
168
269
230
261
173
129
163
145
179
207
129
173
232
235
272
180
129
194
163
229
129
115
231
227
166
182
164
145
187
240
229
221
167
227
179
251
200
228
181
141
247
176
245
162
176
174
198
191
158
122
158
226
217
230
194
206
230
164
251
180
164
149
166
143
228
176
214
129
203
182
189
272
156
146
180
191
133
197
229
146
210
146
202
209
122
195
174
254
180
156
180
160
193
173
115
173
172
217
204
215
160
255
219
156
207
182
130
232
174
182
210
185
171
146
201
191
226
173
236
180
194
206
115
266
185
228
335
230
238
132
129
178
145
190
129
231
185
182
129
179
179
181
226
166
183
259
302
244
210
141
189
157
213
146
221
184
204
234
245
190
223
230
154
168
176
268
168
166
172
146
129
203
156
222
195
115
115
176
201
197
160
198
158
258
204
203
214
217
158
183
229
115
129
196
119
222
172
151
207
158
173
201
207
335
333
240
219
129
203
195
182
154
157
176
271
212
115
146
200
178
200
179
188
199
175
160
189
239
144
200
251
130
213
192
192
192
183
149
300
209
222
162
239
181
229
157
181
161
201
180
156
233
180
191
255
221
170
162
210
176
147
182
210
182
200
200
173
178
129
129
173
205
210
216
155
200
188
115
288
156
194
207
180
178
211
204
297
197
202
191
235
146
185
156
168
216
177
227
199
173
201
214
143
209
244
191
149
173
179
129
133
230
129
250
231
210
185
245
164
161
277
210
201
158
140
240
237
191
198
173
229
130
185
130
145
184
174
143
210
218
146
259
146
270
217
182
303
173
185
146
190
115
191
205
130
209
244
171
188
238
167
128
233
129
288
176
166
145
214
156
191
217
201
243
158
218
200
178
145
162
182
215
174
227
168
188
237
213
176
146
129
224
133
173
191
195
185
145
208
149
217
176
206
208
270
214
168
273
186
201
221
202
193
210
129
146
176
181
155
247
218
217
129
228
178
158
130
228
179
178
303
203
166
216
239
175
178
210
155
221
184
173
176
174
146
129
155
193
208
217
201
146
236
152
221
205
359
218
186
217
248
197
178
129
195
248
156
168
195
156
129
242
203
147
206
211
232
197
205
221
184
185
200
188
222
230
208
182
168
291
249
160
193
233
146
202
129
226
129
178
223
129
213
163
266
210
335
173
227
143
206
173
130
175
202
236
159
252
211
226
328
236
234
129
150
146
177
199
210
177
250
130
150
202
210
237
190
201
230
163
167
214
222
204
188
223
194
222
158
158
168
271
227
146
200
165
130
220
200
201
244
202
249
278
146
190
185
115
203
203
225
180
183
231
173
188
205
160
176
203
138
248
236
230
223
206
222
192
266
158
242
204
173
169
187
220
130
264
173
210
353
195
224
146
166
270
176
210
129
252
204
179
239
193
203
200
162
195
261
161
204
238
145
217
184
210
158
138
146
202
178
260
222
161
145
204
206
152
260
166
164
164
220
156
184
176
164
203
223
203
201
269
177
173
173
210
214
255
241
204
202
129
244
130
183
203
232
221
193
192
162
176
257
228
176
189
138
188
190
202
175
239
186
173
165
162
169
244
276
267
200
173
128
260
195
187
202
194
251
213
130
250
179
151
170
171
173
179
166
242
173
211
144
213
239
211
155
173
157
162
170
162
200
230
179
208
210
185
129
202
204
178
201
220
158
211
210
133
185
187
174
212
201
274
234
224
246
211
201
171
210
228
145
146
166
158
210
129
162
133
200
183
149
226
176
176
222
130
193
141
208
178
159
176
223
281
164
131
129
245
226
179
155
230
163
178
216
185
274
211
216
217
186
219
186
256
178
296
222
191
151
146
149
235
129
247
178
177
202
209
146
230
223
176
173
274
191
191
204
202
219
184
163
130
182
217
129
145
188
129
287
226
210
212
161
264
184
159
210
248
146
255
235
152
145
166
193
187
221
146
257
269
209
200
198
173
176
203
129
217
231
168
243
221
138
152
130
161
217
240
145
197
162
172
206
188
191
217
209
129
176
146
168
162
176
246
259
264
232
168
208
271
236
252
294
188
166
205
152
183
186
156
257
129
238
169
200
164
222
182
212
284
184
202
211
141
252
225
181
133
173
158
216
188
190
133
179
229
188
192
213
191
128
158
214
146
181
260
143
173
188
210
229
190
179
210
129
255
264
191
243
182
185
219
204
236
270
129
115
176
235
200
189
239
131
229
183
183
182
156
244
157
133
247
206
192
194
186
214
162
162
146
191
202
276
171
201
210
228
178
132
173
222
133
176
261
254
174
236
170
243
208
250
237
190
222
177
233
180
180
182
145
182
239
150
214
153
289
189
198
130
191
211
146
195
250
157
290
183
206
182
203
130
188
214
199
156
231
158
232
225
196
192
204
197
203
231
176
128
222
196
204
206
194
228
173
214
194
155
163
182
129
189
143
197
173
171
186
186
158
200
196
200
152
189
180
261
169
205
251
130
152
162
138
158
408
147
200
164
211
151
185
129
130
200
173
231
185
225
170
172
173
152
130
165
173
173
168
230
147
197
209
152
133
146
143
173
146
157
194
143
130
210
200
218
173
182
200
161
146
180
187
230
239
130
246
115
150
187
281
211
176
146
179
130
115
210
202
240
210
156
211
191
296
233
180
155
209
178
191
183
201
191
209
214
190
180
176
190
258
166
206
210
172
230
200
173
141
145
222
143
176
115
214
206
230
188
204
183
173
204
182
173
210
197
210
158
201
244
247
231
189
228
211
208
160
146
247
147
171
180
203
155
166
162
232
185
201
146
162
186
246
198
174
179
185
238
248
179
164
201
217
237
168
147
149
222
214
183
232
151
185
212
192
204
179
197
335
206
206
259
183
143
217
263
217
239
210
146
200
230
233
179
158
160
202
162
160
176
166
184
199
184
179
173
287
168
248
200
157
216
206
196
219
250
180
133
208
204
176
190
213
259
185
236
131
199
115
218
161
128
183
187
122
237
179
162
210
129
169
162
180
189
235
162
182
164
176
225
199
179
146
222
206
141
230
166
166
173
204
179
164
241
188
160
179
206
335
190
211
129
230
146
237
195
221
222
275
184
176
173
150
186
230
239
179
179
210
141
129
230
217
133
179
227
146
201
173
204
149
201
168
173
210
178
188
212
176
160
270
200
215
222
163
201
252
278
173
232
180
226
230
168
234
150
204
248
162
216
328
172
130
188
230
166
329
198
182
172
244
184
179
173
156
157
130
194
185
128
161
240
130
156
303
260
164
201
240
199
141
211
200
115
269
146
234
173
185
172
163
162
129
146
186
156
149
184
193
214
211
178
206
217
213
181
183
178
282
210
220
186
230
238
158
219
175
160
227
182
258
161
155
220
221
211
209
115
130
185
181
189
185
122
200
145
158
201
190
146
133
261
160
185
308
250
130
230
189
226
172
186
247
291
275
169
160
195
191
200
176
164
255
219
176
131
133
236
179
115
186
173
173
179
179
329
214
238
236
212
168
274
183
146
211
115
230
129
202
206
230
256
186
194
247
130
169
180
272
270
133
199
335
184
255
210
186
175
140
186
133
201
201
195
184
157
171
201
173
202
186
179
184
115
146
275
143
201
130
164
218
184
251
244
238
249
173
216
222
195
178
149
204
145
230
237
146
191
191
129
228
192
193
192
149
176
160
231
287
146
205
166
132
129
195
145
166
212
168
202
176
162
225
184
146
129
210
225
238
197
188
158
168
180
204
215
237
146
222
199
209
158
122
278
194
250
209
238
115
138
176
145
231
233
144
212
172
198
197
254
132
222
240
229
214
159
183
129
193
229
257
288
127
201
184
234
217
150
212
179
115
178
151
119
176
217
229
206
146
246
133
217
222
195
162
151
129
224
236
184
166
164
202
225
211
206
179
155
200
130
152
168
217
176
202
241
152
129
171
146
217
158
211
179
149
247
265
210
288
143
201
169
201
211
226
176
222
204
145
202
175
192
176
206
182
193
173
200
146
190
145
169
171
158
228
179
236
178
255
169
183
164
211
234
176
218
225
200
238
221
210
224
161
145
204
162
210
149
165
169
188
222
206
207
179
210
198
146
256
233
146
211
222
203
231
133
133
181
199
212
173
164
198
157
155
195
185
167
224
145
226
179
190
204
210
229
208
162
133
216
210
138
190
169
161
211
124
145
291
237
159
176
173
227
166
185
190
302
203
176
150
260
177
146
182
228
143
165
178
155
164
206
225
214
203
129
179
132
206
153
234
285
178
130
214
206
144
247
186
192
210
286
183
208
230
163
225
218
236
202
365
190
186
157
146
138
182
146
208
183
172
211
213
129
184
255
244
171
211
129
211
176
281
221
168
226
168
115
250
173
199
133
202
180
179
175
133
255
224
192
217
164
145
133
192
201
189
133
168
146
188
197
215
190
192
281
173
271
172
129
223
204
203
172
184
202
210
145
229
160
176
146
171
205
146
180
191
129
201
288
146
248
212
191
249
182
173
238
191
160
170
162
192
195
173
210
180
225
235
171
250
210
181
174
191
248
229
266
218
194
145
150
143
145
237
184
199
173
204
190
238
206
211
185
130
186
188
217
221
252
194
273
191
192
168
242
146
205
233
210
201
229
176
168
183
130
249
129
227
132
155
152
255
238
200
275
152
173
217
159
156
129
185
146
227
230
214
150
238
246
223
195
231
155
263
202
188
225
222
129
263
192
180
165
204
181
162
199
227
152
203
202
242
219
245
186
246
217
203
257
264
144
246
217
258
298
217
129
189
145
173
191
145
176
199
225
184
175
252
276
133
210
184
176
233
262
180
150
159
174
238
185
150
177
210
182
130
198
230
216
204
213
230
173
171
173
129
221
210
171
210
148
115
172
183
146
200
129
167
173
133
191
157
187
225
171
222
184
206
176
183
176
262
182
133
176
194
244
239
214
212
225
201
194
227
204
191
184
129
128
180
199
211
203
211
179
166
178
173
280
164
162
211
186
162
179
246
196
195
229
210
146
115
182
199
129
164
195
173
221
210
310
200
130
244
189
168
192
230
184
201
161
210
259
174
129
185
184
182
164
143
149
181
147
210
231
235
180
246
184
133
129
221
278
164
201
238
179
210
200
171
228
163
130
211
173
152
208
146
274
146
224
141
204
138
204
273
179
182
283
212
246
173
183
205
200
230
178
237
150
188
302
176
195
187
205
225
143
128
215
179
192
188
218
176
164
261
187
129
173
230
221
248
173
225
188
129
227
176
191
217
166
149
129
202
201
143
146
200
145
222
179
272
205
164
178
146
186
162
167
185
210
130
224
193
163
176
178
269
175
162
230
208
174
216
204
231
239
164
204
162
240
146
145
240
184
173
190
130
213
138
239
204
256
281
186
177
146
221
151
185
335
181
156
211
205
168
266
146
173
122
185
200
201
204
163
165
206
205
143
173
335
195
274
201
275
216
175
210
247
210
129
129
204
199
202
179
203
204
228
129
164
155
234
166
130
151
210
248
206
168
173
170
150
176
188
129
191
202
219
182
115
221
176
217
185
218
217
171
264
178
176
169
169
264
129
156
206
141
183
173
190
159
133
176
273
203
208
203
184
176
201
202
178
248
173
194
247
228
184
188
192
209
217
213
146
158
203
238
173
150
236
221
194
188
242
218
188
246
210
176
151
183
173
119
228
187
222
284
217
253
143
175
202
149
200
220
146
211
176
194
189
229
174
179
168
211
206
204
156
249
220
202
187
162
211
221
216
178
237
213
151
178
197
265
146
146
230
175
129
183
254
129
222
234
203
150
219
185
203
178
180
214
129
169
164
141
185
202
244
240
133
158
160
146
178
130
130
252
157
204
182
245
132
217
175
191
172
173
284
236
155
203
285
230
133
190
217
157
197
168
143
209
171
129
284
218
202
243
264
174
226
222
170
168
179
173
150
115
184
230
164
169
209
129
206
220
150
115
152
184
211
146
169
212
146
141
183
172
200
184
217
182
191
202
182
182
236
173
209
212
198
189
159
173
204
178
185
160
145
160
133
260
132
213
151
190
149
201
218
237
225
137
146
146
198
216
211
144
164
184
129
158
115
133
214
201
200
219
156
191
211
176
129
204
130
265
230
238
162
238
207
182
162
132
183
169
265
200
136
130
236
143
231
217
210
214
252
169
185
200
164
214
221
179
256
129
185
192
239
130
164
217
242
204
179
167
129
204
179
181
180
166
169
143
191
228
162
217
211
200
164
189
158
212
269
200
205
133
115
264
233
204
143
212
131
163
160
130
207
185
211
158
203
145
183
227
174
146
176
212
225
204
210
201
184
235
138
162
216
188
213
161
171
174
201
206
205
168
173
238
184
217
283
160
183
162
173
230
170
183
236
203
211
284
204
167
193
206
203
163
206
214
274
231
115
129
262
157
258
320
185
266
161
148
228
194
236
215
204
146
182
264
203
184
204
197
202
130
173
208
189
180
242
201
239
204
168
238
230
173
254
205
153
182
122
202
184
185
204
241
203
195
130
209
133
178
204
144
210
195
181
228
162
176
204
146
188
130
215
130
161
197
184
230
146
161
258
200
130
245
149
115
259
180
211
230
193
238
257
201
202
183
176
222
173
129
236
212
201
251
133
238
115
216
206
145
175
205
189
222
146
176
222
191
183
233
240
184
210
164
177
184
209
146
199
270
189
129
133
163
182
182
184
200
192
183
230
183
279
214
172
180
187
217
174
214
236
130
150
229
255
192
180
191
200
150
186
194
145
183
229
200
173
174
213
296
191
215
182
257
155
176
173
282
146
168
202
150
198
236
227
204
211
173
198
162
176
231
229
191
229
115
188
150
204
147
230
310
153
151
173
264
158
146
242
129
214
146
223
193
179
192
170
150
243
145
143
158
204
141
141
130
220
225
211
143
177
187
146
172
227
130
214
217
176
157
217
202
251
227
180
245
204
130
138
175
250
216
182
187
165
130
168
166
238
173
164
180
218
158
198
206
163
129
197
244
230
133
201
115
195
163
146
146
176
230
162
210
130
146
115
260
251
231
160
176
166
258
216
300
173
258
195
168
173
165
178
176
204
129
215
228
155
208
163
202
141
181
182
247
147
161
274
226
173
221
203
181
157
193
183
129
259
156
177
162
204
252
190
169
213
230
129
189
157
255
183
156
202
185
180
204
180
300
202
185
242
201
254
157
161
218
164
145
146
179
234
199
204
129
182
206
129
146
202
199
230
194
221
173
217
239
129
115
169
181
184
218
211
129
146
192
287
222
204
181
141
155
169
206
201
206
234
146
257
207
146
200
204
143
153
129
170
245
138
143
217
300
194
166
206
115
186
171
164
234
247
190
168
261
143
183
222
213
219
168
224
164
226
204
146
239
205
182
146
175
236
231
201
263
239
193
212
231
158
284
187
188
240
200
225
266
186
179
146
147
200
250
201
229
182
129
205
250
193
115
130
251
185
176
179
182
218
183
168
255
214
231
217
209
145
158
173
130
274
214
200
204
130
265
225
164
184
210
178
210
173
149
287
217
146
199
221
238
201
197
211
240
191
230
130
185
161
130
185
196
179
214
203
261
115
226
129
129
206
231
200
226
201
207
179
182
222
224
335
204
156
200
222
173
222
162
162
172
130
178
221
156
146
204
233
174
182
186
156
231
146
149
160
192
191
202
215
210
185
145
182
212
214
191
133
218
206
219
211
176
209
144
188
253
204
179
191
228
193
150
182
254
211
202
169
168
128
179
158
186
138
191
201
173
311
210
167
211
130
201
185
210
156
155
210
173
195
167
190
252
183
217
160
186
211
264
174
155
218
197
129
229
187
258
217
187
251
205
245
257
169
235
159
181
191
159
303
189
190
229
170
248
237
129
173
246
171
115
172
204
176
191
217
266
197
201
261
227
188
149
152
214
244
254
146
194
190
130
165
195
222
170
212
204
236
130
151
232
173
274
173
204
129
216
207
191
245
170
183
171
184
159
168
233
115
224
129
129
210
191
220
146
196
211
187
227
158
152
178
210
217
164
210
208
180
158
204
175
237
157
138
204
201
214
224
206
187
169
189
129
221
146
217
184
181
182
130
204
191
190
179
211
310
203
246
218
206
146
248
141
189
211
150
225
246
206
130
189
200
190
182
278
211
143
205
182
225
180
222
193
212
176
180
138
204
150
164
191
173
281
176
193
246
218
189
264
229
172
146
250
178
160
204
208
201
164
204
258
184
227
168
191
146
184
184
241
204
164
171
210
244
238
183
203
164
194
178
222
173
235
192
231
144
173
228
209
222
186
202
227
115
228
197
210
192
227
145
146
160
191
247
191
143
156
128
238
242
183
201
222
191
164
216
245
216
211
172
229
179
202
162
217
208
188
153
216
145
146
263
186
146
204
145
129
164
148
254
180
238
179
191
129
164
169
180
187
203
182
128
155
146
207
235
173
179
129
210
197
177
176
229
247
222
200
237
160
156
185
172
164
210
186
179
204
129
193
156
209
184
205
193
303
177
145
205
204
202
210
176
177
211
174
204
275
152
210
129
206
231
232
238
183
155
164
183
205
205
183
189
254
204
239
201
238
247
169
146
180
144
224
201
173
176
186
155
231
226
200
178
165
179
164
185
232
176
223
128
217
251
174
188
200
155
228
138
284
158
223
207
210
241
288
130
219
178
143
133
182
155
140
201
176
200
194
207
191
195
202
224
203
165
221
143
211
158
168
147
250
158
201
115
206
152
178
216
274
190
174
212
155
187
176
144
190
188
205
160
205
179
251
211
146
182
204
230
214
200
172
173
190
186
221
165
172
152
189
173
248
168
146
238
160
155
132
232
173
197
183
204
191
130
129
188
169
204
297
236
209
213
182
169
244
141
146
193
149
217
227
186
191
183
150
219
175
202
158
166
239
173
210
173
193
189
185
252
141
138
164
211
238
261
191
259
217
238
295
163
211
129
229
145
206
217
152
238
188
173
130
204
264
184
130
184
236
195
179
139
184
191
205
165
192
179
129
179
216
143
141
200
236
240
214
209
204
192
239
217
176
183
204
176
129
155
204
221
205
185
138
173
201
199
152
231
197
176
217
191
180
205
247
189
240
129
249
182
155
219
149
233
201
221
194
168
179
173
184
232
160
221
145
170
180
271
190
206
141
150
182
199
155
191
200
234
203
129
274
191
183
169
174
158
155
195
185
210
129
145
256
230
173
185
210
216
153
204
230
196
168
195
268
179
194
211
221
173
274
247
208
209
204
186
181
257
202
214
211
200
230
129
260
203
210
197
242
199
133
164
162
146
218
210
203
122
197
222
143
219
158
200
184
129
156
233
236
210
265
146
261
244
150
129
173
191
162
246
194
290
216
145
225
184
208
296
162
196
191
167
277
173
164
130
217
188
252
189
156
188
178
263
146
170
239
277
176
202
256
173
176
214
128
179
189
261
220
264
192
191
222
146
176
115
189
335
221
238
132
212
222
130
225
248
129
183
203
234
206
250
202
169
258
185
173
153
182
199
188
239
130
213
199
189
122
204
129
303
161
162
217
225
146
182
141
133
236
246
172
176
173
189
150
222
200
133
146
200
204
201
201
141
217
130
195
158
254
152
213
228
173
148
236
188
241
184
130
203
160
191
169
205
173
169
164
288
196
153
218
204
213
303
162
216
146
151
189
225
184
206
173
193
210
228
213
182
129
239
168
179
206
227
200
225
173
130
141
190
129
180
129
207
145
211
130
153
138
168
169
182
198
206
171
226
204
212
173
212
204
115
164
264
211
218
217
230
228
188
247
204
205
167
186
164
265
261
178
252
176
200
210
172
187
198
225
153
157
115
262
168
115
129
163
129
269
203
206
149
184
195
205
196
209
173
158
201
130
162
149
178
158
173
143
173
129
198
228
201
188
240
176
162
148
195
203
155
238
244
169
185
175
169
244
246
130
233
149
133
217
161
164
230
254
162
173
210
217
115
166
213
153
186
169
173
156
234
212
184
129
180
236
130
183
214
183
226
228
164
173
188
204
129
185
184
195
237
257
181
146
236
129
188
176
227
156
184
129
140
156
143
133
130
162
189
213
146
335
227
176
156
172
145
195
217
208
146
256
173
256
234
157
235
155
221
130
178
227
161
228
181
176
130
243
223
237
203
211
153
133
300
176
239
200
197
189
205
127
164
164
145
174
181
162
173
195
268
251
213
204
178
149
199
211
172
203
173
242
150
236
180
115
207
202
176
155
195
240
279
128
193
211
193
184
164
214
146
176
248
169
162
197
161
184
238
141
195
223
266
166
232
180
185
129
211
183
145
146
138
191
173
175
146
217
219
204
191
261
130
261
138
281
156
153
170
241
202
146
159
207
227
191
236
184
226
208
212
229
250
253
184
251
194
130
168
169
130
115
221
146
221
146
218
224
130
202
190
169
206
210
191
254
214
187
238
146
185
138
180
206
173
185
155
160
210
155
184
261
178
204
213
191
231
229
185
201
143
226
183
147
204
209
164
143
204
184
261
194
167
232
214
206
207
206
230
146
197
188
145
157
211
146
255
182
174
211
115
165
164
155
145
204
221
211
210
217
215
179
255
217
190
183
158
130
151
262
215
210
179
187
225
218
194
176
250
206
183
162
164
173
244
193
182
191
182
182
187
161
129
208
209
168
176
133
201
183
122
217
258
158
145
178
169
176
203
239
231
173
238
230
184
242
225
180
173
203
217
204
232
261
187
230
186
247
186
163
286
157
143
254
201
257
184
151
183
177
271
146
181
151
186
176
138
201
173
253
204
132
261
186
233
266
200
164
162
222
221
146
217
190
193
173
201
203
205
164
236
200
200
201
217
162
152
184
141
146
201
173
211
164
243
176
211
275
261
238
218
133
158
176
229
182
182
130
138
191
194
248
169
196
168
199
231
155
178
162
161
145
164
115
138
204
214
182
147
202
199
223
146
173
164
263
197
178
173
214
204
182
159
179
182
201
158
145
280
141
234
133
185
145
191
238
202
119
141
158
228
130
175
169
166
255
143
177
204
189
238
143
149
145
176
187
130
203
173
244
130
133
217
146
174
218
172
219
204
191
176
239
158
210
150
206
253
159
164
174
180
130
176
204
176
222
247
176
127
180
234
168
223
202
198
129
146
202
214
204
198
177
200
133
153
192
244
184
236
191
170
173
141
211
207
149
265
168
180
254
291
158
237
138
147
199
185
146
130
237
250
153
200
179
218
211
257
232
181
212
188
203
302
210
129
173
179
188
202
204
258
130
180
200
262
186
185
166
169
155
146
145
254
185
182
115
173
235
162
129
129
146
241
173
219
202
122
176
168
221
155
228
146
195
209
204
228
198
187
212
162
183
279
160
143
130
200
243
185
198
249
217
247
130
236
184
217
193
236
171
238
256
231
157
302
190
243
157
208
173
267
146
183
210
143
162
202
211
198
283
128
164
132
238
183
173
195
238
230
156
146
152
225
202
144
216
236
179
258
162
129
221
160
115
230
177
181
242
206
194
122
180
173
192
242
247
196
202
231
147
221
151
160
178
187
173
176
157
145
173
115
207
147
222
190
129
181
168
217
241
129
129
217
204
168
129
176
205
286
195
191
201
203
172
200
204
144
172
238
178
209
173
173
210
207
184
204
178
162
210
195
197
209
170
129
158
166
180
210
206
173
130
181
131
146
210
192
286
185
174
201
149
153
229
192
204
189
215
163
242
210
204
217
159
210
296
242
145
204
168
179
179
206
240
222
182
189
225
130
129
208
160
141
219
155
167
198
263
176
209
249
250
168
130
230
263
200
238
200
173
264
222
168
222
151
144
182
162
168
158
217
214
161
239
187
211
254
167
224
188
174
169
182
176
145
225
155
175
230
182
133
213
207
171
170
178
240
152
187
115
211
172
151
169
264
180
181
211
184
245
173
174
130
256
240
176
189
250
193
229
141
137
173
201
225
219
184
130
285
150
186
129
129
231
172
226
146
168
199
263
153
271
201
194
219
153
200
176
207
178
182
257
204
143
176
176
128
163
266
260
146
129
211
129
229
208
216
217
230
241
173
249
210
130
253
182
195
130
225
115
181
182
156
184
154
181
238
230
191
217
189
146
226
229
235
264
133
172
132
146
183
162
250
172
184
166
129
173
164
209
141
185
141
201
179
214
200
176
133
145
217
242
180
146
119
209
203
162
196
146
246
183
130
184
175
173
180
211
207
221
172
255
226
178
183
130
243
201
254
242
272
133
206
155
178
129
217
217
169
228
156
207
130
230
164
201
162
210
177
129
260
246
221
238
143
143
217
167
162
185
173
119
202
204
155
260
258
157
236
229
130
159
314
217
130
129
184
213
189
249
182
233
206
150
192
186
269
205
130
218
130
251
201
141
269
215
259
192
201
165
198
232
174
146
204
200
191
189
219
168
255
167
151
257
210
256
130
200
265
130
221
211
184
204
144
179
185
185
220
130
179
185
236
243
222
146
222
200
156
176
179
173
217
194
176
158
143
176
146
204
227
203
239
207
175
267
211
264
209
245
190
158
196
177
227
173
209
200
168
241
227
227
226
157
129
212
178
209
182
204
184
225
271
130
168
178
183
153
204
273
233
191
173
214
182
191
172
133
146
164
181
249
129
199
217
173
228
173
198
164
204
179
208
294
203
193
145
201
163
191
141
217
187
143
164
146
179
149
211
173
188
145
159
215
238
129
184
178
189
221
217
204
204
155
163
258
168
195
151
185
183
227
170
217
199
207
204
180
146
186
204
217
167
213
198
164
191
210
233
220
143
176
189
225
212
217
204
168
210
267
217
213
251
157
260
189
183
152
130
171
250
190
133
194
195
210
236
173
212
145
179
201
146
143
192
200
164
150
130
144
230
201
192
173
130
181
188
181
155
168
193
184
236
231
172
144
171
179
165
169
172
151
201
203
227
130
234
158
222
173
244
180
168
184
264
252
162
178
177
177
290
207
196
226
145
277
146
203
129
184
146
188
164
202
168
168
211
204
246
221
227
174
141
230
204
143
201
167
179
146
238
194
145
132
163
198
189
167
115
168
239
149
173
228
204
214
255
278
226
168
244
119
234
156
238
153
204
190
210
173
179
158
199
163
146
205
242
199
178
162
166
186
229
150
212
282
130
202
209
176
214
211
161
208
202
192
186
176
211
184
153
253
190
169
187
230
232
173
230
167
223
187
171
130
127
236
183
146
176
197
230
146
183
190
211
234
191
244
143
256
268
234
202
250
180
180
176
210
353
242
172
192
239
214
221
130
183
217
194
138
211
129
226
170
233
150
204
240
183
248
203
130
164
200
214
211
201
199
182
158
179
201
184
217
204
173
181
156
182
184
183
178
173
143
175
230
255
158
188
160
171
145
227
115
187
188
204
206
217
174
228
141
197
225
170
129
203
218
245
293
259
204
202
184
173
242
173
190
214
282
201
180
191
229
133
191
200
264
284
232
228
156
165
209
178
184
143
186
226
182
212
132
115
230
293
250
146
263
266
254
159
129
180
195
179
163
173
229
206
183
171
167
190
183
210
176
158
164
187
183
182
191
189
181
212
222
143
130
128
195
198
200
224
146
213
251
201
182
178
227
146
206
230
225
188
236
184
173
230
179
230
183
176
156
222
145
191
151
185
186
256
158
168
204
150
175
176
183
130
206
209
183
164
210
204
129
160
183
147
233
146
178
170
182
217
171
146
263
155
198
164
195
188
176
192
157
190
161
194
181
227
211
146
168
146
158
242
186
130
130
206
247
254
241
180
193
173
166
303
216
173
180
211
129
179
217
242
184
207
248
253
146
181
160
164
133
162
129
217
190
129
211
129
191
201
210
247
167
133
152
227
237
242
182
182
202
186
266
245
168
133
173
243
179
162
144
200
176
130
210
162
200
238
250
294
231
130
190
152
231
176
184
174
173
211
173
164
203
146
234
185
129
228
222
210
217
230
146
129
246
200
168
204
141
176
204
204
133
242
173
256
210
206
283
256
225
165
177
192
180
214
146
180
184
145
205
203
213
160
186
192
193
230
162
335
185
180
231
229
147
144
227
217
130
209
248
186
205
208
169
201
264
234
202
181
164
204
162
164
259
196
179
184
224
183
181
169
151
173
150
230
176
244
169
222
155
227
251
211
211
146
146
173
176
265
156
222
207
200
146
187
202
191
156
179
249
229
287
204
292
174
174
172
129
185
211
173
198
166
176
204
234
155
173
146
146
174
184
189
161
258
258
191
182
282
211
217
251
200
199
190
194
217
210
200
177
201
179
159
146
203
184
189
173
130
213
224
206
176
180
173
206
250
229
173
201
145
169
171
144
307
272
143
274
151
313
216
188
237
164
202
158
248
225
206
195
202
176
177
213
173
188
191
158
201
252
168
173
146
165
197
179
176
173
176
186
275
188
226
210
236
171
185
188
229
149
231
221
222
179
200
271
269
257
141
217
259
141
172
115
184
288
210
218
280
115
230
133
257
238
145
145
192
169
145
168
206
202
318
178
211
195
180
208
185
188
174
177
191
146
182
181
214
201
189
211
191
162
206
209
130
261
182
182
172
149
230
212
220
164
159
169
206
217
202
208
233
199
162
219
182
159
271
200
185
266
178
184
258
202
199
188
261
261
227
146
204
149
164
176
184
119
216
200
133
239
175
213
181
165
195
151
183
337
254
217
185
197
230
173
184
209
216
129
303
150
178
131
190
221
202
145
221
201
210
175
162
129
146
191
143
141
146
166
143
185
161
129
130
206
204
205
171
217
180
115
166
146
214
130
201
204
214
179
205
227
197
245
259
203
173
129
230
160
150
211
185
173
218
131
178
196
211
133
188
239
220
211
146
138
214
251
205
183
179
210
188
167
230
210
204
143
233
204
198
203
232
146
206
176
130
250
129
191
247
173
176
222
202
173
212
203
195
168
162
198
188
143
184
192
206
169
275
151
216
171
169
204
210
129
173
217
268
164
129
199
150
200
202
204
171
244
267
170
173
145
176
149
181
180
186
275
230
204
224
202
201
183
162
296
146
222
143
269
256
237
146
129
227
254
129
171
221
231
198
297
173
240
296
193
173
182
195
133
180
204
182
213
182
292
187
252
211
143
193
132
130
146
189
225
200
228
225
195
193
167
200
145
189
259
151
168
143
129
186
122
170
158
210
180
221
236
198
211
173
214
201
156
179
212
214
186
162
244
225
249
258
187
162
173
132
179
168
261
129
239
185
144
263
247
179
200
200
182
145
173
221
187
122
208
129
176
199
130
178
212
204
238
146
213
206
178
199
211
200
160
205
187
191
178
227
250
258
204
233
174
143
201
147
176
176
335
191
173
202
129
227
184
202
167
212
206
182
183
173
225
257
239
190
167
233
141
225
239
184
282
249
119
217
150
130
147
129
245
218
186
259
180
173
222
201
130
186
191
176
178
296
229
198
238
226
153
179
302
175
180
265
164
172
254
222
122
115
240
180
221
161
174
236
164
190
160
207
247
173
129
237
210
211
129
191
241
176
115
202
207
185
200
176
208
174
173
181
219
268
155
196
302
225
178
146
130
179
119
173
164
146
146
193
189
194
155
174
189
173
182
184
206
168
224
201
246
181
188
239
264
179
181
162
201
191
240
252
230
169
169
201
217
146
130
207
180
195
176
267
217
265
155
232
180
218
171
130
210
201
221
262
240
227
186
173
218
156
188
244
168
145
211
190
199
130
178
182
227
208
187
147
173
230
176
176
288
158
186
276
184
222
159
202
133
213
210
183
198
160
230
217
184
146
130
188
224
184
204
176
192
271
145
225
288
130
160
133
146
181
188
155
244
180
164
256
182
222
238
133
210
193
129
255
156
183
146
192
143
222
165
247
174
199
204
159
170
219
217
242
234
185
182
129
210
306
173
173
204
210
173
239
172
229
288
197
216
200
191
122
183
173
164
195
225
270
192
157
176
215
209
133
241
202
190
179
244
158
176
130
210
208
146
184
209
162
177
187
205
288
205
221
229
221
239
211
188
167
130
271
164
239
198
157
191
187
158
222
241
183
163
182
184
230
217
162
230
176
122
202
266
129
185
158
174
171
244
213
168
238
231
179
193
166
221
141
158
220
162
213
170
186
167
133
129
229
129
173
261
168
146
168
204
144
182
209
182
216
166
191
204
201
251
129
181
133
184
158
173
214
202
231
225
162
190
200
156
206
129
216
204
230
145
209
182
146
234
232
274
146
177
268
210
204
174
145
257
227
176
226
156
188
193
130
175
179
181
197
164
133
169
259
209
162
218
179
225
170
192
200
146
213
130
206
171
162
161
197
170
181
174
173
176
241
173
167
259
217
222
194
176
207
146
216
238
243
146
204
200
276
115
173
173
206
164
217
183
160
164
168
228
145
180
197
225
211
163
253
178
179
202
187
179
173
122
251
211
170
192
158
262
179
167
211
238
128
185
172
176
146
115
179
210
162
130
195
160
161
194
183
145
208
184
179
225
194
128
194
129
187
202
144
263
202
212
194
231
210
147
191
197
133
225
233
210
178
168
145
161
226
146
190
129
205
147
143
162
243
196
176
158
151
133
207
203
211
246
179
224
259
191
182
248
178
195
268
129
236
158
115
172
217
162
161
200
191
182
211
173
203
179
198
147
193
158
183
147
173
180
157
133
186
180
211
218
155
143
217
205
182
130
159
161
199
208
180
233
206
196
188
192
210
235
224
129
216
274
143
229
172
225
188
210
146
132
146
179
150
182
283
185
195
302
158
129
178
215
141
190
282
143
182
184
211
200
175
133
176
210
129
201
150
321
180
244
236
145
258
226
197
189
230
162
211
246
146
182
173
234
258
228
150
188
184
206
242
144
204
202
130
247
262
176
218
155
230
217
185
149
143
188
221
211
180
180
146
204
132
244
226
181
173
153
189
188
146
204
173
180
155
260
157
182
177
222
115
225
193
231
168
211
214
255
214
242
182
225
217
190
256
158
182
174
174
211
194
222
146
216
133
186
169
195
185
207
158
216
214
158
144
190
166
168
165
229
143
160
178
204
146
212
179
146
176
195
218
173
255
197
176
193
237
186
210
178
248
259
119
287
166
184
261
175
168
172
181
216
197
150
205
217
246
143
143
191
179
168
161
205
130
181
305
283
230
230
145
162
220
190
188
187
217
185
306
195
133
201
185
231
217
214
179
161
129
178
243
242
237
195
265
202
168
210
164
208
173
197
217
249
172
176
178
166
185
189
200
129
236
241
180
264
221
202
233
181
129
193
260
229
257
227
176
201
244
239
210
158
179
122
212
178
238
227
222
180
209
230
214
146
177
222
176
146
246
173
203
162
200
229
163
226
173
204
130
182
237
115
299
251
156
230
182
204
198
200
159
166
220
236
192
254
158
198
248
204
228
181
225
164
187
141
210
185
250
129
158
194
239
198
162
233
146
188
222
141
202
145
208
129
210
173
178
206
168
246
152
173
179
164
146
210
155
213
267
153
176
166
217
209
210
129
176
164
234
178
173
196
162
195
180
164
198
271
210
130
183
183
176
141
162
200
238
176
206
170
147
146
220
130
259
191
194
251
286
208
130
167
232
201
158
182
197
233
129
201
143
208
130
230
218
244
178
227
185
217
178
184
254
146
203
190
146
144
141
150
132
185
201
196
130
212
215
179
182
200
259
229
210
210
184
181
145
324
260
173
115
242
247
218
214
168
206
179
122
228
132
203
262
252
182
146
156
153
190
198
280
144
155
230
143
201
155
158
200
173
199
161
239
230
237
245
155
179
198
283
202
130
150
141
164
218
321
205
233
155
173
145
224
241
192
158
179
176
167
200
130
155
197
214
155
130
217
138
254
173
169
264
210
129
200
214
191
130
239
129
198
176
206
163
155
185
202
160
199
141
218
129
201
250
173
176
140
176
223
246
156
229
178
157
176
190
192
210
238
176
219
186
208
225
202
130
158
202
146
252
157
195
276
264
258
237
173
183
192
205
211
249
230
222
167
204
180
171
146
129
254
210
200
252
239
183
182
240
176
243
183
133
214
176
189
210
273
146
161
172
200
129
189
239
159
145
200
276
197
168
180
145
213
219
204
203
168
115
173
189
180
167
144
209
115
195
147
179
146
244
202
193
162
165
119
248
145
212
247
254
180
188
133
191
202
188
220
212
204
147
211
189
254
145
204
197
238
176
223
153
231
195
236
138
167
180
185
145
240
230
257
178
279
179
194
146
138
183
230
206
217
184
204
224
193
199
164
173
141
174
174
208
195
146
227
182
133
197
204
115
205
129
182
175
173
143
250
261
145
247
197
178
240
215
200
181
217
154
192
183
228
216
218
242
230
169
204
178
173
146
147
218
143
146
227
187
200
216
158
192
222
208
251
217
213
204
167
122
180
158
162
274
180
173
185
133
246
237
210
303
273
130
184
129
325
138
283
210
143
156
217
183
229
194
222
170
208
236
206
210
168
179
186
194
178
214
181
226
186
176
195
172
115
133
174
195
247
173
153
185
158
199
183
191
242
149
222
208
138
173
244
188
164
173
189
150
200
206
213
227
191
173
173
251
180
172
133
191
152
115
210
241
164
335
168
176
184
207
255
236
173
186
255
173
205
232
176
206
239
200
244
224
200
225
246
115
173
153
242
259
182
129
200
149
146
147
205
129
176
173
201
196
180
264
199
217
168
214
143
146
162
198
210
297
188
236
146
183
171
205
204
191
166
130
185
204
193
146
255
180
130
129
267
150
245
146
254
211
206
176
216
222
145
217
184
200
259
207
184
271
189
165
129
130
173
185
168
145
227
204
146
156
225
199
146
222
168
191
133
164
217
147
229
176
211
269
164
201
195
155
206
181
173
174
178
223
130
160
143
200
146
146
156
201
184
133
176
129
202
231
189
264
227
194
182
198
128
240
193
194
239
130
205
201
173
160
227
133
130
219
210
156
169
184
220
115
179
208
303
146
228
174
201
172
129
182
115
210
204
174
203
181
238
212
182
217
267
173
155
214
146
183
200
252
164
234
228
162
173
160
164
145
170
115
284
131
227
209
192
171
185
232
178
146
246
171
150
184
176
202
129
230
130
216
129
174
178
259
205
266
173
248
184
180
217
180
206
171
144
217
172
208
309
173
232
210
247
201
169
261
189
222
165
129
205
216
198
236
213
145
204
173
162
285
168
209
195
176
171
253
130
185
146
217
271
161
194
168
178
160
240
162
173
227
263
303
176
191
170
224
194
151
158
129
189
254
180
146
176
278
221
167
260
129
146
180
223
202
241
170
241
214
265
182
133
188
186
236
189
244
146
209
219
281
159
166
169
216
145
179
130
217
234
190
233
204
211
231
164
233
147
255
203
185
153
176
160
206
157
129
193
238
215
173
210
220
262
161
217
184
176
129
172
174
257
173
210
204
129
217
146
173
227
197
226
221
190
122
173
193
238
230
176
170
172
168
210
200
212
230
146
211
180
173
180
210
211
158
146
129
230
184
160
173
173
201
180
259
232
198
211
174
228
180
210
206
258
138
210
204
145
228
147
195
183
207
171
164
272
191
227
247
204
173
225
265
189
180
176
168
176
240
182
173
206
162
178
210
200
230
274
194
202
274
206
200
244
200
261
275
200
143
119
236
211
180
155
195
245
185
225
221
180
169
143
231
242
183
143
182
214
175
115
184
146
230
162
208
185
201
292
141
179
176
155
171
241
129
235
129
164
192
204
189
158
237
162
176
156
242
192
188
170
179
152
176
173
146
153
216
178
216
184
211
205
213
225
163
185
200
299
185
199
179
146
130
254
197
255
192
161
156
256
129
161
129
196
180
239
275
212
146
183
210
202
209
208
210
141
200
249
262
191
295
193
230
171
130
169
201
187
184
167
176
158
129
184
119
198
129
151
201
208
141
146
159
201
297
162
227
228
197
129
162
259
237
177
264
204
238
210
226
119
159
216
130
179
217
210
198
228
353
179
129
168
171
147
246
217
217
187
199
222
188
149
177
191
173
129
133
181
175
192
173
262
130
145
129
238
162
161
234
173
335
122
144
232
206
227
196
174
129
188
183
184
190
264
232
194
176
185
169
146
225
195
244
242
164
199
210
203
133
248
201
129
206
195
133
200
229
257
167
201
189
247
170
231
174
182
204
235
141
143
130
180
184
191
203
197
259
175
208
191
146
130
149
225
162
180
217
214
156
234
201
204
129
217
176
218
189
146
228
157
146
161
186
238
244
215
210
149
183
201
238
186
167
173
155
250
239
184
211
176
281
156
204
206
180
160
127
190
183
173
217
201
228
186
227
208
167
184
173
130
179
158
176
208
115
176
179
226
205
225
289
226
211
182
201
252
146
209
150
129
173
162
184
235
160
155
150
158
129
246
214
254
146
193
182
296
206
202
210
239
205
201
176
243
171
169
129
217
205
222
173
191
228
231
247
192
205
130
171
174
200
141
201
143
237
181
217
218
202
173
242
146
177
168
195
201
184
146
184
130
211
203
210
263
143
157
230
166
165
197
259
191
223
210
145
261
133
204
214
191
185
174
186
146
229
171
193
129
198
184
176
149
161
208
211
179
205
251
129
204
235
184
155
160
132
160
202
217
191
214
201
160
164
233
214
188
162
176
146
230
258
183
161
285
158
146
245
208
198
182
259
206
246
266
168
202
173
239
222
179
170
222
211
192
184
283
236
222
217
212
201
158
249
162
214
275
176
252
247
222
185
195
230
174
164
165
182
206
218
182
211
225
181
217
183
210
166
183
195
230
179
210
192
198
195
191
163
250
264
168
281
251
186
145
195
173
164
143
150
129
167
180
188
222
212
230
133
190
129
191
146
156
238
146
256
164
191
208
179
184
239
238
241
258
164
204
184
161
146
218
190
200
202
169
191
168
133
176
182
200
179
115
204
228
156
235
238
194
170
216
157
201
141
182
202
129
229
173
191
162
219
143
227
256
236
182
173
193
146
242
130
266
178
143
141
227
280
173
168
132
188
202
176
211
206
189
231
183
246
209
193
130
262
255
130
204
185
248
251
184
176
149
176
173
138
202
258
184
242
243
153
233
203
176
187
201
146
155
197
215
129
210
227
164
204
184
146
209
206
249
199
182
201
155
225
157
236
181
145
184
222
172
214
243
204
173
192
164
129
168
238
143
173
244
202
186
177
200
219
241
230
210
213
160
200
122
176
240
211
130
204
166
130
224
212
254
201
173
206
182
226
165
177
158
204
163
183
206
227
204
218
173
146
204
180
138
236
183
185
183
195
143
235
219
179
183
122
176
182
221
219
130
176
225
173
172
166
132
166
243
228
203
236
157
228
176
129
203
183
130
286
235
146
179
179
210
130
225
169
115
230
206
156
155
275
225
145
181
243
189
184
202
146
198
130
122
176
205
183
145
238
197
160
210
264
181
226
185
214
155
199
173
130
179
228
209
166
203
242
238
173
235
183
173
130
190
195
180
303
252
212
228
185
184
130
195
143
202
193
187
217
212
208
146
158
209
141
191
178
179
221
183
213
185
150
206
160
281
143
129
169
170
190
289
192
256
191
146
130
227
155
217
210
183
199
176
188
187
143
204
213
205
173
133
156
169
178
158
217
178
179
146
177
179
214
250
178
162
238
119
194
237
130
187
181
168
209
210
199
214
188
184
187
178
257
200
151
188
158
239
230
146
239
211
196
179
183
172
169
183
173
189
115
231
129
183
197
163
200
208
231
191
160
201
158
186
188
217
200
334
214
129
195
210
197
141
183
185
173
203
204
231
115
175
145
115
200
226
133
181
262
205
185
133
146
243
173
145
180
259
178
222
173
170
236
155
251
247
183
232
200
252
185
172
217
150
206
210
181
200
212
246
179
209
133
224
186
169
150
234
211
197
164
145
216
199
155
217
170
204
230
197
321
211
199
181
158
130
171
187
130
115
162
204
144
203
181
181
217
187
176
211
182
233
162
133
160
274
206
254
258
198
190
176
191
205
207
240
220
256
180
180
180
252
122
187
211
158
187
204
149
255
132
202
222
164
233
168
264
177
205
162
204
151
256
233
222
217
179
183
208
179
211
204
130
205
194
128
164
183
194
161
197
214
180
203
202
145
133
207
130
198
173
238
196
210
291
146
202
242
211
176
207
195
201
173
174
210
169
200
184
261
155
218
162
177
156
190
129
243
132
215
192
204
157
206
200
173
186
202
129
242
158
217
238
169
211
133
198
179
211
263
191
235
200
259
248
236
204
141
175
168
209
170
211
206
201
182
208
156
138
230
168
214
207
236
156
200
157
187
241
145
285
173
115
159
228
211
146
188
209
200
166
203
213
168
182
246
214
218
206
157
146
184
168
183
179
209
221
224
252
119
296
210
141
173
176
235
129
169
176
181
176
217
143
225
220
206
193
162
247
158
214
146
176
169
171
192
221
183
182
132
210
221
129
178
169
214
173
173
150
204
174
180
191
204
188
176
178
198
226
191
194
230
236
245
191
229
143
155
202
190
202
143
242
215
222
192
138
192
176
204
176
183
143
226
173
203
188
132
191
171
227
183
197
247
166
264
174
259
183
115
115
160
205
173
115
225
254
158
145
212
170
163
189
173
160
287
220
211
221
176
211
203
217
261
151
146
191
217
238
191
217
242
195
129
199
197
189
146
220
222
173
233
190
187
129
128
157
201
198
211
160
174
130
195
228
227
211
160
236
283
183
201
206
191
145
202
168
249
230
174
146
143
176
207
153
190
244
202
206
231
168
210
178
133
201
217
206
145
191
297
150
179
311
189
281
150
254
228
217
206
223
218
151
192
179
206
233
171
201
225
206
168
145
210
133
228
200
198
211
150
191
204
219
204
246
199
115
211
248
210
169
200
161
201
149
143
179
200
155
130
129
145
200
250
179
185
242
190
172
129
216
194
217
199
208
193
205
250
143
155
161
220
186
115
144
145
227
158
168
216
202
335
229
215
185
155
189
155
164
176
144
196
232
115
202
207
211
173
187
173
122
209
208
146
227
133
176
173
130
194
151
239
131
177
191
204
176
195
245
122
213
164
201
204
168
174
232
180
217
232
227
130
225
173
269
179
182
197
205
278
140
216
243
129
261
158
133
227
206
248
180
216
281
201
173
227
130
145
212
231
130
191
129
155
179
219
115
204
189
257
178
158
176
122
164
242
146
262
195
150
247
231
146
221
236
208
230
177
178
204
291
144
241
143
186
204
236
203
145
130
177
212
217
133
153
151
201
221
184
309
257
225
215
189
146
208
209
130
219
147
258
141
196
180
129
184
200
261
217
225
176
188
201
133
169
203
146
184
250
129
182
183
170
204
122
202
229
179
130
173
146
187
245
277
145
206
169
149
243
162
198
188
268
128
158
145
141
280
204
168
250
173
145
173
226
167
187
180
210
206
182
231
133
146
204
210
129
230
146
261
181
225
149
186
233
186
156
210
217
202
203
180
175
234
133
225
130
199
271
158
202
129
166
183
161
211
205
155
201
242
173
248
228
158
179
197
177
275
215
176
173
115
182
217
240
220
199
217
191
181
169
228
227
169
261
210
179
145
166
130
162
188
231
128
208
217
174
210
209
244
217
180
175
195
122
210
204
198
149
191
183
200
167
203
217
236
176
130
215
162
185
161
158
203
208
202
244
176
209
186
192
150
209
214
173
146
200
227
188
172
211
164
243
274
128
266
146
176
190
156
176
182
178
173
225
226
173
179
196
165
173
150
229
222
146
214
173
227
162
201
143
261
259
177
157
176
182
222
168
168
211
130
158
236
233
162
183
209
143
178
173
166
176
251
175
192
201
168
204
146
168
184
209
182
146
197
236
204
164
213
182
206
248
222
200
259
203
129
211
168
129
164
176
146
243
243
130
246
155
122
162
214
228
183
202
162
160
186
173
236
164
221
184
158
227
179
189
190
203
221
217
188
146
261
164
151
146
130
119
181
183
222
186
192
212
191
236
132
191
211
196
272
285
204
176
195
225
235
182
146
182
237
266
182
260
182
227
155
225
184
129
197
178
164
189
241
208
115
145
238
273
133
146
164
156
188
174
184
168
174
173
180
178
176
213
247
254
193
199
190
185
196
157
229
155
130
229
256
203
198
177
176
150
210
146
207
170
198
146
145
186
145
129
129
204
161
182
156
237
180
212
158
162
159
190
222
206
164
160
129
228
240
228
168
238
170
235
216
130
300
217
115
129
182
194
175
225
173
231
146
198
221
210
195
251
219
248
281
146
209
183
242
218
216
171
197
172
204
216
155
257
206
200
115
210
166
146
130
151
146
187
158
210
186
222
299
130
157
243
254
220
182
168
168
284
222
218
177
177
210
133
166
163
179
168
234
222
198
214
179
238
161
178
129
160
133
210
208
174
263
146
178
244
216
164
289
173
129
233
211
215
129
163
181
187
234
129
191
161
214
209
204
200
238
195
185
161
163
133
130
128
206
233
164
178
231
232
229
274
231
150
255
217
210
217
198
201
201
214
217
243
119
219
211
212
146
162
261
130
209
224
155
133
133
208
164
180
180
161
295
173
217
204
167
176
129
259
187
162
279
195
176
252
234
144
130
188
143
187
200
197
173
146
183
174
180
180
129
201
239
229
169
143
209
182
168
239
218
204
225
201
205
231
204
217
247
188
150
228
232
179
173
184
173
222
206
190
223
151
192
215
192
185
146
200
162
161
246
236
206
324
194
152
204
231
168
281
204
183
240
184
179
168
180
184
147
173
212
221
173
231
176
164
194
176
225
245
210
203
236
138
119
162
178
252
242
169
232
191
170
228
202
204
230
221
230
191
115
163
279
252
262
202
174
172
246
162
199
257
191
162
172
130
253
146
168
157
130
146
180
250
146
146
221
201
210
176
173
128
196
189
179
197
173
194
129
243
157
130
328
144
176
158
265
236
129
128
224
219
129
130
200
119
201
289
204
129
194
129
150
186
186
115
129
129
183
179
166
204
201
162
184
161
162
129
208
133
193
258
212
164
185
178
248
227
211
222
168
180
217
200
202
282
165
153
221
202
189
146
211
190
205
163
200
203
202
170
184
212
205
145
202
214
170
231
129
138
184
195
216
168
146
224
167
172
176
203
192
185
218
225
129
186
176
156
229
203
155
180
168
259
248
202
201
176
169
173
235
205
225
178
195
202
129
195
155
191
199
202
302
217
235
186
196
145
146
259
178
195
247
130
145
173
176
164
335
155
226
212
206
243
214
158
169
210
173
171
262
176
151
239
211
210
211
204
188
201
176
141
145
162
204
168
185
129
257
205
229
157
205
236
191
204
238
209
130
149
213
222
155
193
202
176
164
214
166
219
189
129
213
197
203
163
260
181
199
217
252
229
130
199
133
231
208
146
145
145
173
219
210
206
182
178
187
194
207
181
194
129
254
188
176
194
130
211
204
198
210
164
184
183
129
129
129
189
220
204
210
300
170
169
266
146
129
241
277
178
176
186
193
170
204
194
188
217
210
179
216
193
215
230
143
180
168
180
311
230
206
335
139
132
210
191
188
146
184
164
176
176
122
133
211
177
250
176
164
174
183
183
265
164
257
267
133
218
299
176
255
197
316
133
211
210
335
167
146
173
218
255
189
209
184
176
186
184
141
220
176
214
144
173
173
169
133
217
162
130
169
210
168
187
217
204
152
210
178
251
185
228
210
129
238
193
194
130
146
173
133
157
240
160
200
146
146
175
171
146
141
204
173
176
247
179
156
204
271
178
229
187
130
202
210
129
176
146
290
213
249
297
264
156
130
181
245
158
173
184
258
133
204
254
168
130
210
204
160
182
129
190
201
179
202
152
191
335
210
177
197
146
155
264
156
158
201
171
176
162
209
201
225
272
211
201
358
238
171
115
181
166
210
282
181
182
215
212
182
224
181
254
188
264
252
129
263
130
214
183
205
183
174
231
231
138
202
253
130
186
197
213
211
176
211
291
210
190
146
254
206
174
201
168
156
164
184
185
141
218
195
262
191
172
146
217
172
176
172
204
164
221
202
207
129
256
167
148
207
210
145
253
191
232
183
204
146
157
194
157
138
172
247
194
129
191
161
179
180
186
160
206
176
145
144
203
141
138
198
143
247
195
244
166
130
160
241
171
155
143
122
190
218
263
203
169
236
172
186
268
269
162
151
138
164
212
230
163
161
152
129
179
211
174
138
169
129
169
269
200
191
191
187
259
164
186
129
256
239
182
218
214
240
164
213
176
210
182
182
192
230
212
168
231
184
239
211
236
184
145
192
205
129
193
156
250
133
217
220
146
169
190
115
133
194
205
166
259
289
193
185
181
192
172
191
129
294
122
161
234
180
227
201
146
182
128
226
173
173
182
179
202
210
178
165
218
133
179
178
130
176
163
185
273
201
146
179
210
236
129
146
171
204
239
201
183
210
187
146
218
184
133
191
130
164
180
185
260
183
149
130
166
156
191
192
219
201
145
178
205
194
207
145
201
242
160
155
172
195
263
115
210
188
203
203
146
184
224
225
151
191
229
221
175
187
145
267
129
150
155
221
184
204
205
251
265
152
158
192
185
199
155
206
185
272
236
153
146
187
201
212
201
225
264
155
158
210
201
188
292
210
177
200
224
247
209
122
190
216
298
173
294
205
230
295
203
228
176
168
232
191
218
164
205
145
250
141
164
179
168
184
254
179
176
234
170
209
197
187
172
133
209
145
143
221
166
172
230
176
152
146
161
257
160
224
155
195
215
219
168
204
174
180
211
217
179
298
133
161
177
274
210
158
217
234
149
204
146
194
159
253
260
234
191
193
231
208
242
158
131
163
160
178
276
182
230
184
262
203
227
145
129
232
221
168
151
188
221
207
254
216
166
236
228
184
229
184
173
183
167
173
174
195
234
195
200
191
241
133
188
161
186
149
133
195
138
312
165
180
162
216
223
173
150
129
201
188
169
303
226
146
200
221
180
143
173
149
194
233
186
222
239
129
201
202
145
202
191
183
260
143
269
181
236
192
130
165
204
153
133
199
189
222
174
203
173
197
230
202
243
206
209
227
189
189
264
146
164
189
211
181
191
222
214
129
188
247
164
181
261
209
143
166
162
230
130
191
228
227
146
166
202
129
217
263
189
173
171
206
130
210
184
221
238
254
181
220
313
307
234
176
243
253
230
289
129
149
218
242
239
280
144
158
188
179
155
193
174
223
235
180
177
130
161
194
189
149
217
214
193
173
198
185
221
180
202
241
171
162
194
303
189
206
222
268
206
169
229
207
155
187
156
202
232
178
204
250
168
193
221
145
231
204
115
163
115
141
176
204
217
165
216
203
173
181
178
175
283
191
155
130
244
115
150
115
173
248
130
168
146
158
207
162
226
211
133
168
202
192
177
231
202
181
211
203
213
224
146
151
203
161
151
181
206
192
176
215
130
200
211
133
115
163
217
211
214
173
193
217
173
218
145
205
130
186
180
217
195
182
187
133
231
210
187
146
184
155
176
166
174
146
149
130
172
204
182
193
265
201
191
210
184
226
164
200
200
184
145
230
161
227
187
235
229
249
145
147
179
184
241
203
190
203
202
191
239
178
182
176
172
222
207
228
169
168
222
129
202
238
179
146
229
167
202
169
187
176
184
176
212
237
197
169
173
229
214
165
181
222
242
146
129
200
133
218
258
164
284
188
143
146
238
202
217
161
191
146
169
146
217
189
214
184
182
204
190
173
205
236
129
283
200
247
206
177
224
182
266
210
274
191
184
210
174
210
152
191
200
235
206
202
245
259
130
221
230
129
193
283
171
255
168
195
179
204
222
185
283
205
195
203
183
228
164
261
169
157
158
232
168
205
222
178
261
129
145
216
248
178
171
210
211
195
195
162
188
130
225
173
247
209
192
179
210
238
164
146
141
261
209
167
173
155
229
235
122
179
224
145
179
245
189
129
173
210
169
234
146
185
204
198
190
222
173
201
186
129
225
190
211
115
198
129
192
141
221
227
221
171
179
225
144
199
185
257
264
207
187
186
214
193
241
202
147
157
226
235
214
200
145
246
145
257
204
162
255
182
208
191
162
164
145
219
188
203
231
230
183
202
146
228
180
158
229
210
182
184
143
115
192
236
193
146
202
143
302
197
173
204
180
293
219
182
207
182
146
164
205
204
188
182
130
132
180
188
220
156
146
157
164
194
268
207
129
276
177
202
208
191
303
179
229
173
201
182
166
224
256
168
173
221
174
227
178
146
176
179
185
236
176
115
184
115
308
272
187
158
211
183
226
115
168
237
192
280
255
133
152
203
161
130
143
186
206
287
238
171
261
164
236
156
141
168
155
180
150
238
208
169
146
199
129
173
255
129
250
189
184
204
176
166
191
258
115
164
158
194
210
184
166
176
145
227
155
214
210
158
153
230
127
130
197
181
138
206
157
162
158
222
200
162
202
206
193
216
176
179
217
251
164
184
155
204
219
180
129
183
182
176
152
192
196
229
204
187
133
115
245
188
174
217
285
216
261
274
155
130
201
162
191
176
254
143
201
129
204
222
224
191
176
200
203
122
165
129
115
263
182
201
238
192
181
214
143
217
160
201
184
178
173
209
173
160
173
189
201
231
211
169
162
214
175
175
219
211
249
214
202
235
181
164
213
186
179
233
155
155
238
159
301
166
138
185
222
176
210
145
215
216
214
183
175
162
246
222
179
195
207
246
201
243
141
211
184
168
173
252
173
216
260
288
167
161
201
233
186
173
146
191
196
182
163
183
202
214
204
204
231
203
210
180
177
213
180
239
193
242
146
204
162
164
155
201
211
170
159
140
185
205
143
212
235
130
227
169
237
197
274
267
180
197
219
203
209
176
193
146
197
184
239
145
155
174
171
144
183
184
161
229
181
262
214
228
174
279
221
269
164
186
206
222
212
252
150
150
232
156
119
231
177
207
188
192
170
213
178
130
195
188
266
201
263
272
192
130
203
206
146
174
146
210
251
200
188
182
173
174
194
227
210
194
202
166
158
132
158
213
206
130
158
157
162
178
272
217
231
219
129
205
184
171
155
197
182
261
143
143
164
146
185
192
201
192
188
225
143
195
192
238
213
176
176
208
166
146
169
202
147
203
204
272
195
146
161
214
238
176
230
235
176
243
263
269
130
210
146
177
204
199
130
238
251
240
206
208
173
206
244
173
210
200
146
146
149
242
230
170
191
184
188
145
179
162
188
115
201
187
173
206
128
180
178
220
176
183
149
236
223
192
209
231
181
204
178
212
155
179
266
228
173
174
197
214
184
164
222
233
237
184
198
115
201
227
201
173
130
224
195
183
205
129
230
143
133
201
208
212
220
199
226
229
173
157
278
242
115
162
162
231
210
190
149
146
232
228
206
173
206
115
169
226
169
209
184
203
227
144
182
150
158
211
145
210
272
202
201
204
152
129
176
218
202
191
242
180
233
256
250
146
186
190
195
204
227
130
208
195
129
257
201
138
191
183
228
138
191
169
263
191
173
190
162
182
224
129
182
231
247
217
169
133
201
184
156
176
145
168
182
145
200
238
199
187
202
176
122
143
128
228
175
264
206
185
247
229
158
162
161
146
222
228
335
195
185
244
178
204
189
225
186
250
225
227
162
224
181
200
203
133
133
206
162
251
169
146
186
176
200
246
182
267
167
184
158
159
206
263
176
246
210
229
218
202
205
164
187
187
182
181
186
247
122
165
230
230
145
193
206
263
129
273
182
204
197
204
161
145
194
261
173
143
115
216
242
208
176
236
180
199
246
166
166
239
199
173
173
241
146
195
169
146
240
176
194
228
249
324
213
176
209
200
156
178
188
173
255
179
143
122
222
181
153
179
198
168
210
178
197
146
230
203
200
225
200
153
168
211
157
156
174
222
181
188
143
163
200
255
180
181
204
209
173
186
218
206
161
263
172
230
188
210
230
238
204
172
205
185
176
141
159
173
215
170
216
227
174
176
159
241
146
169
173
206
200
206
269
158
155
173
122
175
194
224
218
233
185
249
203
155
210
182
251
150
211
211
289
167
150
209
115
181
182
133
192
180
192
212
207
224
146
204
211
171
165
216
170
212
153
291
211
130
189
171
169
178
143
130
182
129
174
201
166
209
130
210
183
201
229
208
179
180
212
236
185
215
242
115
168
202
248
164
227
221
146
218
217
145
217
202
189
173
162
201
184
259
171
209
129
200
173
172
250
186
151
129
228
226
173
243
189
197
185
169
156
144
202
146
218
129
212
133
235
248
292
215
246
185
156
174
222
230
230
197
156
133
176
141
173
153
212
225
199
234
175
173
211
200
143
214
189
259
208
157
173
115
133
222
256
155
219
143
222
178
203
222
302
194
205
151
155
272
217
133
180
159
146
246
129
202
164
145
210
130
162
210
213
194
146
146
197
122
183
169
179
129
296
231
238
212
221
145
129
224
262
203
206
238
155
158
143
264
195
214
191
212
201
172
273
173
205
253
160
248
203
156
242
173
249
202
151
173
151
284
194
197
193
248
267
176
200
174
176
227
168
166
173
204
210
178
201
141
129
217
145
200
129
161
115
206
203
182
191
222
250
178
182
129
217
242
217
213
148
238
160
227
259
220
215
228
155
228
179
176
152
143
158
226
164
160
169
153
129
194
208
175
168
147
170
176
168
180
287
163
173
231
245
158
235
160
175
217
133
217
161
261
201
221
190
211
175
209
182
170
133
264
188
194
193
224
191
162
227
205
160
210
210
200
130
215
244
204
186
174
182
250
145
231
156
256
176
254
225
283
176
129
130
129
216
263
210
176
239
217
179
162
178
173
188
147
233
231
204
211
153
154
200
173
158
133
283
129
183
236
229
238
164
172
182
115
191
169
202
143
130
232
179
172
173
178
193
200
203
196
173
181
194
211
225
204
203
173
239
152
199
174
158
176
225
131
157
146
201
143
129
179
184
213
172
204
174
248
318
158
184
144
210
190
158
208
233
183
227
189
176
190
168
167
230
208
195
162
213
130
201
179
297
143
210
177
223
164
217
235
183
236
185
300
176
254
270
188
213
238
232
206
205
146
161
173
206
192
173
161
211
130
169
273
254
184
173
248
204
146
202
145
146
217
130
169
152
204
204
182
217
201
169
156
115
200
188
172
168
222
261
179
243
191
183
143
206
200
146
256
165
205
288
210
207
204
188
145
146
192
153
115
170
211
229
260
194
115
141
130
162
242
203
115
164
144
160
172
268
231
176
180
201
217
173
190
212
156
204
153
168
250
230
211
211
146
182
128
201
198
130
232
213
164
201
166
130
260
167
216
193
191
183
252
204
242
210
225
143
221
270
195
153
201
210
182
150
230
301
179
133
174
180
228
203
130
144
166
225
132
229
152
158
241
173
146
166
171
129
256
158
214
189
179
226
165
223
128
179
202
158
217
168
157
254
130
146
144
232
204
169
233
210
178
189
185
174
145
180
162
174
130
166
192
176
230
263
210
210
172
220
183
129
191
164
168
178
174
256
145
238
155
249
193
133
153
227
169
199
251
162
149
164
157
179
210
158
130
185
187
221
176
166
185
241
224
238
190
145
195
254
203
129
129
189
225
165
173
194
235
260
176
214
183
245
255
207
176
166
191
190
238
129
145
228
191
151
283
238
180
145
158
145
193
158
192
271
283
265
218
146
277
211
201
210
204
220
165
175
183
254
178
245
178
149
224
204
214
217
155
237
268
164
192
176
204
230
130
185
236
218
222
183
210
206
224
210
206
191
239
263
201
249
198
173
133
137
257
149
201
182
180
182
254
242
249
168
238
228
171
192
173
183
133
133
173
182
168
191
169
185
193
173
146
198
188
194
176
176
169
242
230
235
231
146
184
133
242
176
145
173
198
133
158
252
278
166
203
232
145
201
204
141
188
206
305
177
133
182
168
224
162
141
210
160
146
176
168
206
244
207
145
302
164
214
180
150
167
195
175
266
173
146
234
145
227
231
164
215
190
115
168
211
211
217
190
197
214
143
129
274
146
252
154
204
210
184
162
168
172
188
249
183
186
214
195
237
115
228
156
165
265
159
177
130
219
171
162
130
228
129
254
184
211
149
122
149
221
246
171
204
173
196
191
201
170
236
357
145
177
184
226
146
285
300
251
176
187
176
178
216
128
182
173
199
167
238
130
218
191
261
172
146
211
204
217
236
229
211
326
145
169
183
180
235
219
204
144
183
187
175
148
155
260
130
156
181
183
217
252
119
173
238
143
169
165
162
211
164
228
115
182
248
180
166
235
182
235
132
173
145
204
225
173
191
208
150
231
227
158
212
197
179
226
248
129
202
253
187
199
190
255
173
178
176
179
211
178
143
179
133
130
184
182
192
176
168
271
218
158
222
173
171
182
217
191
128
163
179
141
183
169
190
172
228
205
205
246
202
202
141
155
160
129
169
200
227
225
206
194
182
205
205
189
177
173
243
128
169
202
202
217
168
183
143
175
211
172
201
215
286
165
173
189
182
180
242
178
208
130
230
225
281
205
236
158
132
217
163
222
253
133
128
214
164
176
246
303
196
249
145
173
215
147
275
201
201
239
172
238
187
236
158
129
217
322
156
210
162
251
219
202
129
150
227
217
133
209
236
217
191
129
195
211
165
183
236
210
266
167
254
228
259
202
176
224
179
173
230
161
183
208
181
158
153
194
122
234
176
182
203
229
186
176
189
209
133
184
200
203
172
209
223
173
273
129
206
146
246
261
221
160
229
196
214
156
122
183
191
185
235
213
129
187
195
216
255
167
201
204
259
184
176
158
152
172
129
264
156
191
204
149
156
176
191
189
254
245
206
186
180
239
198
158
161
162
176
264
169
171
156
130
232
201
225
164
162
191
148
195
185
187
191
202
257
254
264
229
180
128
152
260
176
191
231
133
254
210
129
179
263
196
262
206
138
202
193
173
186
158
225
151
236
217
185
209
193
179
188
235
209
274
179
191
201
207
174
249
225
146
249
168
214
164
169
173
164
143
221
163
180
185
177
160
172
204
174
229
214
173
191
164
166
156
147
148
185
238
172
185
129
220
182
162
231
129
127
220
185
115
129
286
197
161
188
227
176
174
145
145
184
168
156
279
195
176
193
180
231
189
146
164
115
176
219
234
115
173
226
157
236
149
185
335
146
190
254
184
122
198
229
225
141
200
176
130
115
133
204
151
133
233
229
176
173
233
133
143
156
227
266
201
197
164
197
130
133
181
245
185
245
204
216
201
170
146
164
212
217
133
171
212
176
281
233
216
260
257
224
146
115
183
223
178
161
170
227
130
205
193
182
259
194
201
210
173
258
262
166
230
130
162
206
204
129
141
190
209
187
177
238
259
144
200
200
152
201
195
176
210
179
141
138
229
238
191
184
129
159
217
164
162
188
231
207
230
266
205
145
191
201
261
191
218
259
146
168
211
187
226
235
158
209
158
204
226
175
164
185
200
166
182
173
214
250
225
168
187
157
218
206
231
203
228
188
133
207
143
183
185
288
152
238
200
222
201
145
133
129
191
183
151
176
173
191
168
178
181
263
186
160
130
193
207
173
133
173
173
161
181
176
210
218
238
173
162
193
287
240
300
281
204
238
162
155
178
168
146
222
130
204
231
221
237
194
233
224
130
210
196
204
130
176
260
188
176
181
194
195
236
187
129
213
149
115
157
204
130
146
264
133
175
229
282
188
133
191
184
160
183
143
197
222
197
184
193
201
193
258
174
200
129
165
191
166
202
174
225
169
129
146
130
176
200
133
173
143
253
247
130
200
215
214
158
175
212
212
179
158
222
211
210
252
225
122
176
185
201
185
257
194
179
209
165
169
213
241
214
200
229
213
217
130
175
129
303
141
182
190
179
286
177
230
157
204
181
115
174
159
189
122
195
230
195
129
146
202
204
171
252
185
184
145
133
164
146
189
204
217
194
245
145
144
197
235
184
119
204
130
176
200
204
145
156
203
174
181
188
146
272
235
200
201
212
181
202
130
145
189
192
166
132
198
265
163
208
201
207
205
215
217
180
218
184
252
156
209
173
217
204
195
191
185
161
186
205
216
211
143
181
158
209
256
230
192
187
171
202
197
201
205
182
173
205
149
156
146
176
222
270
190
211
167
205
164
184
173
173
181
222
237
185
261
155
215
173
218
129
200
152
274
219
172
219
235
156
133
219
129
188
179
158
169
130
158
201
173
192
172
180
225
225
133
150
130
204
184
218
156
192
164
193
182
205
201
245
161
178
235
173
132
254
190
133
179
212
192
162
228
187
184
146
130
171
173
193
167
195
143
190
234
166
211
169
206
173
161
228
133
185
263
169
212
192
201
129
263
138
184
187
192
193
198
210
146
168
184
264
193
180
262
162
204
161
190
155
239
231
148
201
202
194
230
253
197
233
143
182
216
245
153
158
204
176
210
222
194
129
192
171
185
228
182
176
204
157
238
210
157
228
146
197
130
195
186
130
130
258
180
194
217
145
200
168
210
252
189
184
176
216
149
130
155
226
185
187
184
133
269
264
188
209
129
222
224
182
176
252
199
145
258
197
194
168
130
198
162
143
198
208
189
208
176
210
209
203
187
159
186
203
201
179
222
202
217
174
219
201
146
216
178
238
149
214
231
173
179
210
191
162
198
160
162
176
245
141
151
145
146
213
184
166
206
221
182
224
204
243
167
280
133
211
145
222
173
209
201
182
187
194
172
133
146
145
186
202
173
173
214
181
184
210
188
146
179
294
173
201
133
208
145
262
145
217
197
192
175
206
247
175
236
200
151
164
129
176
155
217
178
146
179
172
188
178
263
217
174
129
213
158
176
204
199
224
200
204
217
188
221
238
155
215
200
129
229
203
150
183
157
296
176
176
198
166
176
192
179
234
226
146
143
296
195
246
130
182
160
173
238
158
176
247
205
171
203
246
144
141
145
178
222
204
179
185
188
193
129
302
193
213
160
227
173
222
156
222
132
162
182
190
218
228
130
130
235
202
192
129
269
210
149
234
217
138
164
166
195
171
158
160
214
173
226
127
258
146
175
230
221
179
200
200
207
204
145
180
191
210
155
130
210
184
163
202
182
179
180
158
206
252
173
190
178
282
204
241
155
230
190
204
202
146
122
160
204
115
210
148
203
173
236
191
115
172
181
177
180
288
187
164
185
221
210
218
184
238
188
146
141
206
173
178
129
217
201
229
186
191
129
255
221
253
185
217
218
176
185
264
197
182
210
197
211
157
145
172
261
281
224
230
160
230
211
141
195
150
173
252
175
287
173
186
184
202
175
236
207
209
149
182
133
197
146
204
184
115
130
155
183
129
232
261
197
217
129
130
240
218
183
202
173
186
174
176
176
172
228
280
176
247
173
168
141
168
224
185
174
129
227
237
194
145
173
201
258
204
129
180
192
247
196
209
205
183
129
220
182
169
173
201
176
164
176
185
208
262
196
204
185
133
188
178
170
156
217
232
209
217
146
215
146
247
168
180
206
182
188
133
150
202
235
133
173
242
213
221
228
226
176
175
145
270
196
173
179
133
219
171
141
133
165
249
244
185
186
202
129
210
223
188
145
239
133
129
162
227
179
170
231
192
175
199
228
205
146
169
150
133
255
192
230
162
173
238
155
173
251
201
170
236
186
129
222
145
189
115
253
145
167
191
200
162
173
197
245
243
133
200
206
201
221
217
254
236
171
171
169
216
176
176
177
144
147
238
179
227
130
143
216
158
165
179
215
204
185
232
217
218
229
129
179
159
202
173
218
269
190
263
255
146
176
173
175
162
193
216
261
195
162
129
283
146
162
214
189
202
198
184
251
220
217
216
238
201
201
115
150
300
199
161
176
206
129
145
189
184
173
207
193
204
173
204
179
179
115
146
184
158
233
236
173
196
188
179
166
202
201
218
217
231
176
247
130
176
150
228
182
184
202
172
221
191
236
162
238
179
206
216
240
167
193
115
200
122
164
210
238
217
213
238
157
200
230
155
224
173
146
231
217
204
203
230
184
214
190
168
301
222
266
179
242
201
172
190
141
172
236
259
129
168
202
217
184
168
156
149
158
180
176
263
146
182
255
229
192
229
202
157
146
173
207
208
170
194
168
183
224
159
235
230
147
168
180
130
173
263
173
203
176
231
222
248
206
188
119
239
254
210
166
222
235
239
211
186
115
122
146
211
227
210
156
211
176
183
211
169
221
181
191
164
202
300
260
152
254
202
180
184
227
147
191
146
220
143
179
236
214
220
150
176
204
185
173
204
179
130
238
311
156
254
204
122
188
192
130
158
250
143
250
222
204
141
145
176
238
204
231
176
152
217
178
190
187
209
201
197
162
230
167
245
185
238
185
156
244
225
207
222
200
133
162
264
166
279
168
178
145
328
190
228
190
205
178
232
207
161
240
146
130
211
165
186
130
129
260
191
239
193
181
150
221
192
195
169
227
141
164
178
264
240
194
202
238
195
200
130
158
153
204
173
184
191
191
320
254
145
176
225
210
204
210
242
148
231
129
200
130
184
257
176
251
270
184
227
180
200
129
195
230
197
270
224
173
218
150
179
225
247
233
202
187
197
133
212
201
205
268
210
200
238
192
178
237
205
239
162
164
179
238
207
196
178
212
174
168
279
176
203
157
176
194
211
184
217
176
176
176
146
245
132
185
242
177
210
185
191
208
203
235
163
168
188
233
191
184
231
146
268
146
189
204
171
183
237
218
176
217
163
219
186
209
217
155
217
183
212
214
216
169
176
210
185
198
178
141
130
130
130
195
186
239
210
160
170
204
213
191
178
183
176
181
238
194
206
163
211
243
249
218
230
205
179
217
162
181
133
149
230
260
148
172
146
205
194
161
222
197
261
235
219
246
176
214
152
193
181
178
179
277
218
201
156
164
188
145
201
225
231
130
146
179
195
153
211
278
248
179
231
235
162
214
217
161
170
225
173
195
189
215
193
180
211
178
209
115
253
195
222
236
227
151
182
211
187
206
129
235
164
180
146
130
177
144
147
227
167
176
161
270
156
211
204
202
242
174
210
218
264
129
187
213
171
206
201
224
158
171
182
243
164
182
173
158
174
231
210
147
180
176
217
248
178
164
200
166
146
227
179
194
190
217
143
174
274
241
228
183
210
260
194
158
212
204
238
163
218
266
173
146
227
150
158
158
212
130
163
217
183
185
162
191
195
176
155
132
225
219
146
218
174
195
235
189
160
160
245
237
214
119
179
228
161
156
197
130
173
184
216
213
224
182
201
212
175
206
204
157
192
176
210
146
232
145
230
248
193
206
172
130
210
155
239
173
193
240
231
184
204
182
195
171
179
247
236
187
210
230
129
171
172
146
183
215
139
183
199
145
178
224
179
313
167
145
184
204
169
181
173
182
149
257
204
161
146
217
170
201
231
229
266
215
230
194
192
247
227
202
204
130
218
146
247
190
217
221
129
244
217
143
218
234
133
226
179
176
254
147
238
176
205
188
163
179
186
208
156
148
133
130
158
249
211
202
168
130
186
255
143
246
173
252
204
164
256
200
151
169
171
204
150
216
173
152
252
130
189
201
184
188
146
173
207
244
220
204
189
130
255
227
206
271
174
167
160
198
235
173
265
227
217
230
173
173
130
188
247
173
238
228
149
184
231
194
145
130
227
280
223
264
146
172
247
179
194
171
179
208
162
261
158
238
244
211
169
170
280
208
237
211
247
129
217
188
141
192
238
235
187
204
158
202
194
145
130
225
171
193
147
214
130
146
130
221
180
236
185
259
204
228
190
238
214
194
173
168
185
157
183
221
187
183
182
145
217
203
146
211
211
210
173
179
228
168
150
235
198
235
176
212
188
179
219
166
195
217
230
146
195
191
167
209
253
335
173
238
283
147
259
181
168
188
143
203
188
214
246
141
214
188
146
166
185
149
174
201
212
268
181
217
255
217
176
178
177
255
245
145
181
234
182
239
217
184
204
193
181
153
184
198
145
176
136
176
203
164
129
172
190
146
258
212
191
129
288
129
190
188
168
191
208
195
155
130
176
201
231
231
145
180
176
212
238
192
115
178
143
164
172
217
211
164
195
146
200
208
225
226
162
239
237
219
261
204
238
162
183
174
176
176
149
156
157
133
173
129
176
130
173
119
193
222
144
176
205
217
210
195
247
188
176
183
234
176
176
208
131
169
203
145
236
156
198
183
196
182
236
115
209
190
170
226
271
161
176
156
174
196
267
282
173
179
174
191
211
179
287
130
148
193
177
174
206
147
119
204
129
184
193
210
246
294
201
261
204
129
176
198
260
190
230
179
161
173
129
129
145
275
220
182
173
217
246
173
206
157
261
227
156
189
286
133
258
160
204
180
133
201
206
245
155
214
115
197
143
194
191
174
204
211
147
208
130
166
128
206
236
220
168
176
165
130
130
180
172
216
212
202
202
222
179
174
253
252
242
213
166
203
237
182
146
191
150
238
249
223
256
210
222
145
209
188
179
180
218
278
149
179
194
207
202
184
157
201
210
214
247
214
204
214
178
190
149
183
190
199
239
264
247
180
214
238
145
209
210
196
238
216
184
176
211
230
150
168
228
141
119
179
244
219
144
167
204
216
280
162
169
178
213
214
181
153
179
185
236
205
211
254
252
225
185
191
256
156
208
179
192
238
231
129
221
195
230
176
173
202
129
158
251
129
200
173
227
195
191
261
143
218
175
191
190
192
226
160
151
156
160
184
209
155
210
146
225
146
130
130
297
178
122
202
197
270
173
211
202
211
162
233
194
184
265
160
233
230
132
195
164
173
177
179
168
130
182
236
204
176
130
160
248
169
205
210
239
202
188
255
225
211
182
173
129
178
218
211
182
146
152
204
144
201
169
211
258
181
146
209
145
195
230
210
240
129
155
188
197
222
194
138
161
157
174
178
150
216
192
199
213
202
217
170
206
212
231
201
201
248
236
174
176
173
153
230
240
171
198
164
181
130
185
240
129
203
176
132
204
257
221
182
179
193
286
132
236
180
204
212
198
239
216
133
185
186
205
206
232
146
164
209
157
178
138
249
130
211
145
168
195
218
155
146
272
194
143
218
199
191
197
216
183
215
129
170
303
227
211
162
202
172
143
184
184
234
161
175
266
169
205
129
146
207
137
189
227
193
168
221
146
221
129
209
169
182
172
212
186
173
179
283
205
183
209
211
200
146
236
166
204
209
277
216
182
231
161
202
130
122
171
201
146
192
176
201
277
283
198
166
129
210
175
239
168
181
264
222
230
205
174
198
133
221
155
158
146
265
210
145
151
204
218
176
146
242
278
184
204
204
173
221
242
151
162
162
185
217
138
219
144
200
200
173
233
180
115
133
164
173
155
313
222
263
211
162
149
258
200
173
184
141
222
237
179
208
238
187
191
174
180
129
122
130
152
182
221
138
201
238
185
195
241
158
265
186
189
198
283
176
308
248
129
189
246
202
162
174
200
191
217
214
204
168
153
179
211
141
161
172
130
179
150
130
230
185
247
164
177
225
181
164
193
162
202
181
160
222
192
173
167
191
240
202
185
217
245
204
219
209
191
146
217
155
122
129
202
173
129
115
208
179
198
189
152
214
221
221
200
200
130
168
188
216
233
196
208
184
183
220
169
184
209
224
203
186
150
183
200
132
155
210
185
197
129
156
166
184
239
195
160
181
205
228
173
169
211
176
179
178
143
152
215
231
230
151
217
147
174
146
161
156
182
186
152
265
203
236
173
205
217
180
180
164
183
173
245
181
173
204
287
194
143
231
182
143
133
188
173
180
146
191
184
182
213
168
175
164
167
160
274
211
143
155
157
165
141
179
115
260
184
213
146
130
178
173
194
211
130
296
156
193
186
202
183
155
191
177
239
164
204
183
227
249
185
210
248
143
200
194
221
176
180
147
144
158
164
177
129
158
213
303
198
190
179
193
168
119
176
185
176
335
158
137
162
164
184
146
164
211
264
202
185
187
234
237
245
132
194
173
156
178
242
201
168
179
174
204
200
259
180
217
215
216
261
168
173
248
278
186
187
162
254
129
185
172
178
219
194
301
158
190
172
184
247
273
264
208
166
169
241
201
206
164
176
229
129
130
130
254
173
202
173
261
156
221
172
218
141
218
211
173
192
204
179
239
129
182
187
146
130
214
146
248
177
175
193
160
197
186
150
177
217
204
130
182
284
173
258
173
162
203
221
240
208
130
176
204
208
224
210
258
246
180
203
188
211
137
187
177
199
173
155
147
169
163
194
152
209
129
172
211
158
227
201
208
130
267
172
129
175
173
164
162
217
178
172
130
201
192
175
219
209
203
228
204
203
156
198
168
182
184
203
128
160
242
193
233
206
216
210
204
184
158
174
239
183
233
164
209
146
238
204
208
216
215
184
255
210
180
133
244
167
133
211
224
308
176
146
133
115
197
187
202
178
176
173
270
204
238
186
299
231
169
147
179
238
210
145
158
195
204
210
274
200
182
176
200
303
143
244
160
205
239
115
146
214
182
162
229
172
169
268
145
202
274
182
201
189
221
153
243
182
173
238
129
129
129
162
173
212
261
199
169
217
220
193
226
128
200
162
172
167
198
191
230
197
240
180
194
222
200
217
258
208
173
176
184
272
219
225
185
237
178
233
256
129
146
261
206
204
196
221
146
130
187
132
216
176
230
173
146
212
179
151
255
174
250
161
177
157
276
146
228
143
242
189
192
217
160
205
256
225
204
133
129
138
217
186
205
154
198
200
255
227
216
158
129
210
223
216
242
225
168
261
183
223
150
176
206
175
228
238
169
231
133
211
211
168
166
236
164
169
172
161
193
187
149
137
143
252
143
130
217
303
146
256
178
206
200
264
147
195
168
179
239
217
178
211
202
186
239
227
206
202
179
133
175
200
191
152
220
152
260
211
256
217
170
164
146
217
150
168
236
238
177
221
189
227
162
147
130
211
158
225
185
143
204
177
173
146
129
200
199
217
247
210
181
143
168
258
129
172
212
239
195
248
183
270
261
163
212
179
156
181
235
211
129
158
167
161
249
251
155
210
188
244
204
173
173
173
160
173
217
210
166
254
197
341
225
200
224
130
180
204
190
146
145
164
217
180
162
224
206
176
130
182
205
144
184
145
130
189
189
234
198
176
130
167
210
183
195
217
115
228
182
129
163
210
201
173
188
304
212
189
182
208
231
168
168
252
276
228
138
190
239
247
205
224
173
163
173
217
198
214
170
175
146
185
155
177
203
217
230
168
204
179
149
204
156
180
206
229
155
266
208
204
211
205
182
261
207
236
201
173
217
138
156
174
197
152
243
130
210
164
217
214
162
228
164
246
166
177
199
246
179
204
231
170
174
201
186
173
197
235
130
173
153
164
203
230
206
183
141
173
150
248
277
173
209
184
182
249
190
259
176
204
130
169
217
157
196
201
175
181
152
203
187
188
145
172
205
146
178
200
237
214
165
203
182
180
145
217
146
188
176
182
200
176
133
202
255
146
176
206
234
264
201
262
128
210
255
187
223
145
146
218
217
143
176
254
151
252
152
217
143
202
193
184
230
203
246
184
139
182
218
237
185
145
202
254
175
217
185
260
180
157
202
265
184
206
183
240
187
181
216
233
173
192
201
173
214
202
175
183
184
232
185
200
145
210
271
227
197
168
204
225
115
236
184
191
178
210
211
278
122
227
146
202
216
130
185
169
197
181
204
227
211
238
222
192
176
230
209
184
219
222
210
203
189
236
184
147
182
200
207
133
155
184
146
129
164
179
204
208
145
194
212
256
129
237
180
213
269
191
153
236
176
178
220
183
189
232
172
229
202
247
217
133
129
178
220
182
143
176
231
192
173
168
173
189
176
221
197
210
273
182
211
204
203
192
239
198
176
212
188
204
299
197
188
170
236
234
204
197
200
269
228
253
204
257
194
176
204
185
201
164
162
232
201
205
128
219
132
173
129
173
130
188
129
185
146
160
239
222
285
145
184
152
129
158
271
186
192
221
192
155
151
176
173
204
155
179
177
206
179
190
158
146
146
129
194
143
169
178
164
115
214
168
171
173
164
133
182
189
229
162
170
130
159
217
271
132
215
145
194
247
128
204
227
211
177
254
200
115
158
179
246
194
210
191
146
194
222
158
213
208
189
201
212
185
211
176
299
170
239
183
198
183
206
190
228
238
115
221
184
161
115
166
188
270
129
239
220
217
201
141
218
162
179
115
211
146
157
132
221
162
246
248
205
210
203
179
300
168
208
191
179
204
267
129
176
191
216
174
184
182
178
204
176
286
290
150
177
200
133
259
266
230
263
200
173
240
179
156
181
182
170
287
168
183
173
238
157
217
185
191
168
217
217
173
173
180
197
201
191
320
274
158
180
250
200
155
179
237
217
130
183
206
180
195
236
158
158
304
185
214
159
200
193
206
277
173
146
175
173
216
229
141
146
176
173
213
150
207
182
261
130
210
151
230
168
190
192
217
191
129
231
236
239
189
235
162
221
200
164
193
156
178
265
203
206
186
200
280
246
155
257
167
182
160
174
176
146
162
259
200
238
200
173
175
180
176
211
202
171
130
200
192
213
138
163
245
155
167
211
204
143
204
184
159
133
264
203
247
169
201
180
141
216
119
176
230
191
184
171
236
152
192
179
115
204
176
204
211
205
215
206
158
155
155
131
173
183
196
188
188
193
115
189
171
173
205
227
212
206
175
166
166
217
174
159
128
160
218
133
288
122
180
217
184
146
239
255
192
206
145
230
221
158
173
202
221
146
176
191
235
176
171
183
201
180
162
184
129
181
185
194
141
202
173
203
204
179
173
200
199
221
168
186
225
156
225
182
194
189
155
207
199
211
176
181
195
255
188
187
190
145
235
170
143
166
242
221
173
178
227
146
171
184
188
217
141
119
168
230
133
217
235
212
185
194
168
162
220
210
212
200
234
210
236
263
151
236
201
247
257
292
173
168
176
265
173
172
247
266
143
177
221
211
201
180
201
203
169
199
179
149
173
190
179
194
164
184
133
204
211
130
217
257
186
204
201
188
130
164
198
168
181
212
155
130
174
185
227
149
162
130
130
195
188
161
214
185
189
202
176
155
192
147
200
217
313
183
156
151
206
156
211
155
197
130
158
146
151
217
210
163
213
129
174
155
241
150
145
202
165
236
211
130
129
129
225
204
222
146
145
190
222
183
299
176
138
179
263
182
200
164
181
173
143
130
221
122
164
218
166
202
156
200
204
115
217
173
247
252
207
217
225
201
204
196
146
179
203
130
218
173
211
129
115
187
211
256
158
161
187
143
146
193
198
168
238
146
228
161
179
246
242
146
185
130
149
179
168
180
145
189
173
194
162
133
168
204
232
163
246
202
152
184
217
209
216
182
200
179
261
173
228
268
197
218
184
158
230
208
133
236
238
305
192
230
172
182
129
160
168
168
173
157
130
206
209
179
228
236
158
202
235
244
216
130
150
150
230
244
212
128
185
204
200
129
166
222
218
202
275
187
248
191
211
202
187
146
128
244
145
233
211
238
133
158
164
174
268
157
164
146
222
236
133
222
299
283
237
143
166
237
133
169
115
162
283
213
231
217
146
184
157
133
201
204
243
130
236
161
166
200
155
155
217
184
130
129
193
188
180
192
143
272
129
210
164
193
217
230
133
200
202
206
201
205
155
176
158
266
247
242
259
238
173
129
256
164
122
219
158
182
176
129
186
215
239
187
232
130
221
130
217
261
206
230
143
217
259
201
146
184
286
133
264
183
130
176
168
175
145
146
143
221
224
212
274
141
170
183
195
186
130
219
129
184
158
164
184
159
174
129
146
209
177
158
195
155
143
225
158
203
184
192
165
141
176
204
191
241
231
162
229
184
217
209
242
145
162
202
264
130
264
166
227
216
217
227
143
178
237
199
214
247
155
221
133
157
237
234
169
261
130
145
268
231
278
181
174
182
236
164
141
210
146
146
145
224
168
322
131
248
261
256
179
146
129
181
208
258
227
130
236
219
228
238
157
204
186
173
265
230
130
178
185
188
259
133
150
205
299
226
198
177
223
182
173
173
230
201
173
211
211
214
164
233
178
191
189
221
243
179
143
230
198
130
188
129
210
185
194
186
224
201
176
178
264
133
158
288
138
214
241
169
210
165
233
187
182
227
245
214
264
171
173
164
241
170
216
132
204
219
217
158
230
206
273
187
255
214
200
163
204
129
173
195
176
206
138
206
171
176
179
133
205
139
146
184
210
166
178
149
156
184
210
209
174
227
130
210
187
202
146
174
194
195
201
228
129
179
221
278
225
181
234
119
204
277
257
179
208
227
191
145
178
227
244
255
275
173
200
164
143
161
168
220
187
242
217
264
190
129
204
216
193
248
146
143
247
176
227
168
128
168
176
217
129
175
224
219
200
131
247
198
256
173
181
156
166
204
232
183
187
168
217
256
179
150
193
181
176
221
274
223
202
246
198
233
230
189
172
178
211
203
178
208
191
168
200
184
224
159
173
252
258
185
146
197
176
146
190
151
172
185
146
174
206
230
182
258
193
211
221
210
213
261
176
122
278
158
205
229
214
223
207
168
173
172
201
231
175
162
170
230
191
217
161
130
183
164
231
146
145
186
138
176
210
185
130
293
219
208
129
138
288
210
129
206
210
129
156
133
162
236
288
210
216
202
204
264
129
202
198
162
187
277
194
168
180
170
183
206
210
173
265
205
129
206
168
194
180
230
157
169
145
164
210
204
180
213
184
271
130
237
184
247
303
216
277
173
183
239
160
163
261
227
173
158
254
188
188
229
236
176
159
172
185
227
191
210
193
173
205
209
217
211
220
171
184
155
295
229
242
205
213
173
195
173
145
215
262
176
129
178
249
179
256
172
206
200
145
200
133
244
187
183
149
184
166
162
180
200
204
183
130
228
129
190
200
217
145
155
156
188
204
162
255
222
207
188
236
204
217
197
209
194
238
188
163
146
188
211
158
242
262
187
176
217
239
195
167
181
238
171
274
204
192
129
133
219
186
173
129
129
210
255
244
301
202
224
203
168
258
175
192
152
149
179
283
204
217
245
172
166
252
181
243
228
217
152
170
192
190
231
199
178
198
129
265
187
130
164
210
239
197
275
179
217
167
206
181
204
162
172
215
218
185
158
273
181
234
169
198
200
201
204
201
255
130
176
255
210
241
235
151
198
210
181
210
177
218
146
236
212
192
173
138
200
215
202
228
163
221
164
164
184
200
169
267
211
158
182
248
129
198
156
183
228
176
178
222
188
173
183
169
187
160
238
230
141
239
195
146
155
159
184
146
149
169
128
145
206
235
130
204
189
156
175
178
176
335
213
175
203
182
164
180
130
200
234
236
182
156
160
176
211
146
141
166
236
224
230
230
143
130
170
164
222
218
216
179
183
146
235
217
146
184
200
201
173
282
204
155
213
188
237
151
211
130
259
175
241
171
180
140
115
173
129
133
212
191
192
201
183
146
206
207
230
283
176
168
206
141
145
204
228
207
211
151
170
129
217
184
181
236
231
210
175
130
204
203
168
250
129
199
155
194
217
237
178
173
202
187
187
221
182
200
133
217
208
146
175
228
180
178
189
171
215
204
180
141
210
143
195
115
230
138
187
171
230
183
129
261
228
215
193
173
181
198
167
267
201
176
173
162
171
160
198
198
177
201
214
208
172
197
173
156
184
147
130
200
209
211
308
129
145
208
223
173
199
156
164
169
145
174
228
208
184
254
215
171
176
184
200
145
155
143
178
199
151
169
197
163
215
129
223
178
130
197
187
173
210
184
200
200
164
210
182
138
204
201
190
212
198
199
244
204
204
177
193
143
144
222
235
129
204
200
247
221
222
146
171
168
180
180
217
145
179
130
176
198
181
130
206
261
145
167
172
222
173
227
195
190
145
300
223
129
183
209
197
211
195
240
229
217
221
143
168
218
228
178
157
270
211
160
244
221
141
210
167
267
162
204
172
174
217
174
129
229
186
273
155
171
183
238
144
160
207
208
202
150
130
129
173
164
217
227
130
207
173
230
208
115
184
147
180
187
129
229
181
196
129
192
143
228
300
222
224
177
194
115
263
221
146
264
201
208
254
218
314
228
133
206
160
211
204
133
184
176
171
173
276
204
193
225
190
128
190
229
174
122
202
133
184
133
133
133
173
253
194
188
236
211
186
252
207
149
210
252
115
245
164
231
249
203
169
143
179
238
191
211
335
180
200
215
202
210
201
141
212
201
213
186
180
278
183
143
238
179
179
186
227
184
221
158
146
262
226
181
197
236
173
214
214
129
218
195
335
169
146
230
193
162
182
204
195
266
229
169
262
168
233
173
278
179
237
254
206
226
164
214
190
168
223
193
191
216
242
218
191
186
256
255
152
129
146
287
171
195
202
174
204
191
229
215
262
257
335
133
168
179
243
199
190
156
204
150
178
173
188
162
146
234
215
200
181
201
115
129
204
225
205
163
200
145
204
179
130
173
210
221
196
149
133
149
159
145
222
252
225
206
187
168
133
180
318
233
207
147
130
182
162
166
262
146
164
183
184
183
149
146
146
119
162
189
238
160
225
129
216
173
204
170
203
204
145
190
157
201
189
254
185
238
191
155
227
165
252
179
160
183
202
221
196
191
204
266
179
274
115
174
218
174
200
229
206
133
191
158
132
170
173
200
206
146
173
204
230
186
169
217
227
234
151
273
227
217
239
122
191
264
242
119
180
173
183
213
184
181
206
155
169
146
247
160
199
184
199
211
236
155
207
173
185
243
168
216
211
256
204
146
180
321
182
152
168
233
215
251
189
201
160
178
188
145
130
132
171
164
250
198
255
187
191
218
274
168
146
170
179
239
149
147
219
172
194
200
191
198
229
173
246
150
239
222
188
150
213
227
174
170
160
189
163
175
164
191
181
163
164
115
160
204
129
176
149
206
217
190
138
188
129
268
230
176
115
161
128
204
206
190
188
145
168
243
187
297
198
161
199
158
212
246
230
198
129
184
169
225
145
211
169
152
236
274
173
204
146
194
234
146
234
178
256
146
299
200
158
241
143
282
188
168
204
156
179
213
215
202
242
159
160
149
200
141
224
195
256
161
147
231
146
141
248
218
201
280
270
146
155
146
178
166
244
138
130
168
173
141
206
191
266
227
146
185
145
176
151
215
202
179
129
200
219
146
376
173
158
210
129
193
141
192
183
158
169
188
225
267
198
203
153
115
280
174
187
157
217
163
223
254
190
239
146
239
133
202
182
115
238
198
229
180
145
213
240
221
130
177
201
130
202
143
146
176
221
158
233
174
201
133
201
183
168
150
222
173
174
221
201
215
202
191
206
184
234
243
162
250
173
204
168
195
208
239
180
145
158
115
176
225
266
215
122
115
216
175
225
211
185
172
206
133
153
252
198
145
156
176
229
207
173
222
167
211
179
146
179
122
192
168
209
155
172
156
202
214
266
215
167
143
176
224
130
195
185
173
217
228
180
202
185
133
194
138
222
163
200
253
196
221
217
130
131
184
191
205
184
225
265
145
223
264
133
234
247
206
184
261
157
204
138
211
201
188
162
195
204
335
130
173
147
152
129
177
185
171
268
173
146
150
143
236
226
239
169
122
146
143
191
164
217
229
129
133
245
228
161
144
171
190
181
216
146
285
130
246
162
261
115
133
119
228
238
173
133
173
247
119
145
238
146
141
173
236
250
180
191
185
188
167
222
167
190
217
211
225
343
181
193
146
176
146
115
210
170
227
143
178
191
246
288
255
164
198
202
216
161
254
200
210
204
202
157
193
223
295
143
143
183
258
146
129
222
218
205
180
195
173
162
202
216
194
175
199
122
210
169
130
166
184
168
239
307
130
145
145
128
205
160
188
165
213
206
300
178
169
146
138
152
189
202
253
204
144
231
168
194
176
255
203
211
143
175
167
234
180
169
202
176
145
157
201
194
210
166
156
179
201
168
202
194
206
202
115
185
204
179
182
162
172
222
228
196
199
206
306
204
172
158
190
143
184
190
180
201
181
155
228
215
150
257
242
130
191
214
221
178
219
179
197
157
129
217
188
194
179
235
217
193
217
206
210
225
174
263
186
178
130
229
204
235
283
168
232
211
169
186
235
195
277
130
146
217
222
193
237
238
213
176
173
158
159
177
215
150
179
167
178
151
188
235
115
173
203
176
162
202
173
184
230
180
173
172
191
129
206
168
183
143
193
202
201
172
193
146
172
252
239
186
145
203
219
230
184
174
182
169
158
205
200
164
162
180
244
183
197
183
181
181
200
168
176
206
201
208
184
192
225
246
187
217
249
203
143
252
188
119
232
129
181
178
173
170
206
198
133
238
176
182
206
236
202
227
219
151
187
169
190
202
179
188
188
264
190
188
227
210
166
214
192
146
200
189
182
203
247
169
261
209
204
129
208
176
206
184
192
185
133
205
204
215
239
170
231
129
156
146
173
217
176
209
203
225
182
234
194
217
115
217
194
179
150
210
183
202
212
155
165
185
161
210
146
184
211
225
233
129
213
262
200
133
173
130
236
293
156
158
254
115
173
235
143
172
210
221
212
211
176
201
245
130
227
161
206
160
182
208
201
231
231
159
231
202
206
133
182
257
201
200
185
214
174
225
204
200
185
191
146
250
162
269
176
205
183
188
190
191
258
246
133
202
151
183
234
208
146
129
201
187
170
130
209
198
229
256
115
168
188
173
178
173
180
186
259
229
173
214
184
252
247
268
201
217
212
216
176
246
210
217
203
146
182
208
195
188
169
182
272
215
170
204
200
145
170
253
164
129
174
200
184
198
176
145
189
221
225
255
146
222
203
236
204
168
145
269
188
129
231
181
219
166
222
175
169
191
187
181
200
187
156
257
168
129
176
239
225
145
250
200
170
204
171
224
202
145
131
338
203
193
216
211
169
202
164
228
168
246
145
231
237
145
178
145
209
165
183
168
164
210
210
129
228
257
210
184
226
169
176
155
186
206
146
202
194
203
158
200
179
206
183
190
173
208
202
201
187
284
184
151
155
176
226
217
173
129
184
188
244
306
129
184
177
209
173
183
206
146
195
164
176
238
164
238
245
201
182
259
130
213
266
146
178
168
210
265
197
201
247
181
115
227
185
145
133
272
156
263
179
225
253
140
179
141
170
202
221
245
176
201
230
183
157
264
133
166
201
236
143
180
221
153
242
179
146
201
150
178
166
218
226
180
227
183
210
171
244
173
204
209
182
160
196
141
146
133
230
274
195
144
219
246
217
205
216
229
159
158
176
191
209
156
222
217
131
145
176
216
153
204
122
180
164
166
203
185
180
221
209
164
159
166
236
237
130
252
183
156
150
151
152
162
170
162
239
200
211
213
164
225
171
277
178
168
146
168
193
201
244
210
129
168
230
295
133
189
157
145
188
162
238
206
193
152
240
184
224
167
162
143
239
179
214
196
272
146
207
129
183
220
211
199
286
204
145
203
161
158
208
235
190
119
213
245
151
282
198
204
206
178
311
228
169
162
302
210
284
200
224
167
176
307
244
217
155
130
178
155
186
228
194
183
193
157
164
176
200
165
211
211
201
222
182
184
218
221
191
193
150
222
177
162
201
130
150
133
223
176
204
129
204
158
176
234
250
208
171
213
130
245
242
122
146
186
228
236
206
171
204
207
164
230
143
165
237
172
115
141
146
156
208
162
173
180
182
201
184
231
130
199
232
179
204
209
129
162
252
130
143
264
176
204
191
145
130
211
276
283
115
208
206
200
250
182
149
211
204
255
183
203
189
176
225
173
200
157
220
174
274
226
164
173
168
185
180
309
185
217
146
182
205
133
204
169
224
191
190
157
195
165
252
129
165
184
217
211
195
245
182
239
190
204
203
225
192
256
129
298
266
202
207
143
174
178
146
157
204
149
206
208
169
198
179
214
229
115
132
185
184
228
221
173
130
184
173
132
199
194
168
174
146
129
204
145
247
177
142
216
191
178
155
230
182
229
173
240
264
173
205
166
146
184
197
202
299
289
225
169
151
180
164
181
133
240
230
211
187
182
206
184
260
200
122
162
130
149
231
230
219
216
155
158
193
260
129
146
236
230
163
205
179
194
157
210
257
206
184
143
239
172
229
230
220
187
264
236
288
199
173
217
172
182
145
197
158
210
227
238
158
173
182
129
129
208
129
178
224
238
201
191
218
256
130
155
182
144
204
180
160
238
130
189
221
256
202
192
164
188
147
115
129
167
249
182
158
238
145
225
197
250
178
240
200
187
184
219
169
207
217
184
237
204
204
232
186
244
226
155
182
234
180
184
188
207
178
235
200
176
229
158
185
138
161
207
174
237
115
176
195
177
164
240
179
275
200
247
236
210
164
237
226
210
172
173
200
150
205
188
191
168
130
236
166
192
184
161
176
129
216
204
184
168
129
186
115
248
200
129
211
240
204
203
200
204
190
206
184
259
234
196
179
227
218
129
225
238
221
196
205
171
168
146
176
225
181
173
202
204
185
232
173
200
214
142
176
115
204
211
200
180
182
200
173
224
201
211
144
263
173
192
168
162
204
169
240
174
171
222
133
188
221
222
146
211
130
183
235
122
155
145
168
259
165
240
168
190
236
186
208
211
195
210
162
201
155
129
143
158
285
185
173
149
203
222
284
168
223
143
129
130
209
156
168
205
168
201
244
192
189
206
115
169
184
239
192
244
166
231
132
201
165
176
248
155
202
183
180
166
202
178
182
162
160
207
141
148
170
146
230
129
179
151
201
145
191
207
184
244
191
195
181
168
195
238
164
169
234
193
278
146
204
217
247
144
217
207
115
176
254
179
122
168
169
200
122
207
146
133
241
258
171
145
261
166
174
204
239
190
239
288
145
195
173
195
171
177
187
222
218
214
223
178
155
185
184
215
129
169
188
191
151
159
234
150
191
263
191
130
173
183
130
214
164
194
206
193
187
173
156
300
172
230
160
145
217
173
145
235
166
246
252
191
178
200
202
209
260
182
251
131
189
175
208
130
211
173
217
179
210
173
258
181
206
217
191
182
173
200
176
182
218
190
198
283
130
183
129
164
222
158
182
176
185
222
179
258
246
159
198
157
173
173
129
146
183
133
146
150
300
185
179
180
178
219
215
178
146
242
201
203
219
146
225
246
184
197
143
173
217
173
184
208
188
170
222
165
226
169
207
129
206
196
172
257
204
209
129
176
206
208
217
153
170
200
167
133
192
133
193
155
201
179
184
236
157
171
211
129
210
200
179
182
147
179
207
186
141
204
258
230
183
180
141
162
178
205
206
211
173
218
188
250
243
279
174
173
190
166
176
130
115
133
211
172
200
129
195
129
183
143
231
211
215
213
296
185
199
184
180
146
132
215
232
146
198
274
143
258
155
158
206
152
218
231
244
203
201
160
173
212
228
204
243
283
252
145
189
164
146
192
196
192
224
206
204
146
177
207
239
256
146
173
213
146
217
182
254
208
130
192
232
160
161
227
203
210
183
169
247
289
204
130
178
173
246
176
152
183
210
150
130
234
196
162
179
215
182
275
235
150
191
162
248
162
234
263
178
199
191
196
130
176
172
228
263
200
180
180
246
214
168
286
146
119
130
231
195
187
115
168
180
173
212
173
171
204
199
230
195
194
180
240
227
230
129
167
145
187
176
200
169
162
173
158
191
243
188
182
224
177
180
255
248
171
209
177
200
162
156
185
200
311
129
211
156
175
236
260
133
146
170
196
132
201
250
212
205
217
129
176
270
169
186
184
210
174
158
240
161
130
248
178
129
283
252
130
214
150
197
143
197
198
192
177
130
204
182
146
168
228
188
236
248
167
276
217
168
160
146
230
257
243
200
189
168
216
274
216
216
228
173
189
295
195
143
176
130
192
210
149
156
234
199
247
179
168
183
211
130
115
133
195
169
191
146
254
159
245
189
192
189
130
188
210
178
149
151
193
191
191
214
206
202
202
202
192
210
229
231
172
187
217
146
191
130
192
234
172
128
252
147
280
181
146
230
151
153
129
200
200
146
149
184
277
308
242
157
164
204
182
235
164
146
174
191
202
181
196
207
146
215
216
181
184
220
217
162
130
255
201
169
144
242
166
230
201
312
206
228
210
290
216
201
172
259
195
230
129
231
158
260
237
162
208
180
171
238
149
143
204
184
130
156
146
175
168
150
164
202
238
184
183
143
211
194
283
210
164
173
234
158
160
259
201
151
217
171
205
200
221
183
174
174
189
184
271
130
239
198
179
184
210
161
241
231
162
210
168
261
199
171
268
279
179
146
230
129
194
217
231
230
158
217
156
180
214
219
229
146
183
221
180
192
155
157
217
145
145
164
164
210
191
202
149
164
131
180
184
214
188
158
218
178
206
203
130
171
214
236
179
225
186
146
173
188
255
115
184
173
128
204
206
191
273
183
183
205
145
169
130
146
210
186
186
256
217
130
225
183
236
146
175
202
143
174
249
179
146
267
210
201
204
265
176
159
168
240
204
186
180
241
146
204
173
222
184
215
229
173
212
164
145
222
203
239
225
188
181
189
213
201
227
246
237
191
188
173
258
219
198
158
192
206
214
152
228
207
176
184
182
259
130
150
204
213
146
231
203
221
174
234
150
199
164
130
191
150
173
202
194
177
230
168
210
192
247
171
202
183
230
229
204
183
244
188
164
205
173
158
243
164
190
232
129
204
255
182
146
249
129
179
257
184
201
191
182
173
233
115
183
162
188
167
211
180
238
186
169
201
227
261
235
129
192
203
217
248
178
176
204
143
145
238
185
195
133
236
192
192
239
165
191
171
129
176
174
189
216
158
146
130
222
182
221
183
189
202
185
155
170
146
219
222
180
244
193
240
262
166
129
252
203
146
237
173
168
217
176
183
252
169
256
203
257
183
303
189
156
176
170
195
168
239
177
160
228
236
182
150
201
129
119
190
190
206
133
151
235
130
238
266
164
209
191
129
230
192
188
237
176
265
193
202
178
202
202
164
182
206
145
132
216
143
176
215
214
164
202
173
186
168
248
170
265
213
204
174
133
176
258
251
237
115
130
258
178
189
238
228
157
195
178
248
133
180
146
191
198
184
208
174
191
209
204
166
191
251
173
227
151
176
230
175
179
207
173
144
204
256
180
250
198
217
175
173
224
174
243
195
223
254
168
119
256
191
183
187
245
176
173
292
130
198
214
139
258
146
179
206
190
227
180
236
247
221
173
185
167
207
158
246
143
226
191
178
185
163
231
173
180
184
212
183
246
178
231
195
222
283
228
183
197
157
176
194
204
283
184
226
200
206
169
236
239
222
181
146
162
190
240
288
146
143
212
217
197
240
205
183
158
129
251
176
200
182
217
236
173
217
202
209
206
227
179
179
191
176
281
181
197
145
164
115
115
184
194
204
201
238
204
214
275
204
166
250
143
145
185
207
208
210
269
157
187
236
315
202
210
240
246
180
227
176
239
184
163
164
200
183
238
182
206
219
202
166
115
190
184
157
174
175
201
173
176
210
205
244
175
223
215
146
173
186
173
169
186
145
164
166
122
194
193
183
219
176
209
129
162
122
202
171
178
195
191
163
146
190
180
145
216
149
220
205
151
236
130
184
157
190
163
174
152
210
198
181
190
176
130
190
281
129
230
178
156
184
133
191
153
319
206
143
201
149
147
133
166
186
187
173
154
286
201
210
209
188
204
153
236
167
184
184
180
246
180
192
179
181
236
147
240
201
210
160
204
181
201
158
145
179
144
145
204
192
144
208
192
283
130
179
161
178
201
152
210
173
188
184
163
236
214
202
263
146
162
168
145
162
185
168
229
130
173
294
173
164
251
238
234
162
184
130
176
162
130
277
115
156
161
146
235
191
190
181
146
174
217
193
171
181
133
173
169
217
168
155
160
216
180
183
231
115
161
129
141
236
154
192
173
249
204
204
161
272
158
130
133
210
206
146
143
184
218
210
209
178
179
203
173
143
219
204
133
115
130
195
202
195
200
180
158
204
243
176
191
210
221
210
168
239
231
158
194
213
192
217
130
184
180
167
130
194
217
217
162
221
230
250
173
158
279
218
183
193
215
263
167
164
211
176
169
156
242
183
204
251
192
158
192
168
206
211
281
165
254
207
197
173
169
146
138
187
209
161
166
177
175
173
130
218
129
179
210
133
237
222
211
184
201
214
185
195
224
141
204
146
194
191
146
169
237
183
203
238
188
261
238
151
215
205
258
195
235
209
187
245
219
205
239
191
173
191
259
211
247
240
198
225
212
193
201
164
217
202
162
187
247
249
179
209
189
151
155
217
200
179
217
274
205
146
173
266
175
179
209
162
206
245
155
204
115
210
230
175
183
170
130
184
183
209
240
228
199
141
225
258
130
115
165
225
182
145
180
180
210
183
245
217
220
183
129
230
185
274
143
292
162
130
207
249
176
176
265
181
164
204
156
210
202
200
255
198
146
203
187
201
222
265
244
153
178
226
276
182
212
204
164
205
236
146
178
212
149
202
173
191
150
171
229
168
207
153
187
236
194
187
209
221
262
176
257
192
176
236
229
195
211
229
186
169
164
204
168
221
203
335
169
171
217
172
214
205
252
129
223
193
155
151
254
237
201
175
146
146
202
129
165
146
155
129
186
194
168
226
145
210
210
260
146
263
232
158
187
201
189
239
182
203
169
167
173
211
283
175
191
250
176
191
173
162
219
210
172
198
237
192
231
162
189
203
220
198
207
160
133
220
239
168
224
287
221
238
150
170
200
256
176
180
164
156
189
213
206
151
202
146
130
195
179
222
230
192
168
217
217
129
187
195
207
168
204
184
130
158
156
145
189
214
232
173
219
172
300
238
168
141
129
184
239
183
287
233
204
175
188
162
197
168
176
184
171
230
230
202
141
234
211
176
209
145
168
166
162
200
178
229
146
240
188
205
192
179
180
179
179
234
233
169
204
233
257
217
183
226
173
138
164
195
130
228
180
251
146
186
310
230
186
177
243
129
215
201
236
156
168
212
161
141
146
184
200
202
197
158
197
115
200
191
230
167
216
143
209
168
206
212
133
119
180
211
238
204
173
202
206
176
205
130
132
214
170
289
217
195
196
129
195
133
208
164
228
251
209
230
182
216
213
210
192
255
202
129
165
166
210
130
173
239
189
267
198
166
228
130
228
145
169
217
217
179
240
202
194
213
171
267
149
200
168
179
144
172
176
222
189
260
130
130
145
246
210
204
275
211
189
251
129
191
172
175
160
186
149
169
202
201
197
185
252
280
160
166
213
270
218
191
179
159
187
231
256
224
225
228
161
187
248
179
171
220
186
170
166
209
216
231
129
161
261
245
173
185
218
183
230
217
257
222
130
203
230
149
166
200
158
191
158
271
251
162
195
218
294
200
197
174
190
269
175
130
129
225
129
210
169
185
186
298
211
165
261
201
164
239
197
179
302
178
274
202
162
146
129
155
146
165
176
257
173
185
150
213
169
237
168
230
191
129
222
276
230
210
192
222
175
180
181
222
141
177
230
146
199
184
180
244
253
164
268
164
151
130
179
181
176
196
179
168
190
150
157
176
115
184
186
217
232
201
168
176
181
260
173
214
270
197
194
187
193
157
235
162
190
130
250
214
202
146
129
277
210
176
141
129
183
209
141
160
149
189
210
130
192
242
145
222
222
249
233
164
174
178
146
256
171
208
259
115
153
264
236
209
194
143
206
230
168
146
176
252
205
214
162
194
146
186
165
176
254
181
184
130
168
178
129
187
200
210
130
162
155
162
188
207
171
130
176
184
133
238
168
197
191
150
205
150
163
184
283
212
239
201
191
160
130
146
210
129
263
189
177
209
237
191
203
129
162
146
129
191
203
169
168
230
150
130
168
168
182
213
271
173
200
130
145
179
217
198
247
190
210
210
173
213
129
201
194
176
264
176
162
227
195
181
173
228
232
181
176
192
193
272
180
129
141
173
168
217
217
241
158
204
256
188
232
219
274
264
175
208
198
141
239
230
173
227
162
212
214
146
236
166
178
202
185
267
210
191
179
200
152
227
213
245
129
249
185
228
164
171
169
229
164
235
260
168
232
156
217
257
253
150
259
214
133
222
236
240
205
249
150
173
200
204
122
183
184
129
185
141
222
210
223
182
184
204
143
266
194
173
184
287
210
150
173
259
241
211
217
250
258
146
150
201
179
188
185
208
211
264
184
217
182
158
234
171
197
152
179
190
189
227
191
141
164
197
214
129
195
264
183
156
164
179
183
166
175
179
223
173
241
143
158
201
191
129
119
129
178
130
141
129
129
199
177
206
258
130
250
222
230
246
184
280
145
150
133
201
178
212
266
200
246
217
152
232
201
217
217
176
303
129
129
173
182
166
173
143
149
160
210
115
155
178
185
221
181
183
194
241
240
176
250
193
206
180
201
192
176
159
228
242
203
129
244
184
202
173
164
237
246
210
208
237
195
228
173
179
193
180
184
203
211
157
163
211
259
206
170
189
210
157
198
204
192
238
258
188
198
171
129
190
204
182
170
211
192
172
242
264
228
173
156
236
166
186
236
261
231
219
133
115
150
159
168
133
145
211
229
263
162
168
198
159
216
217
150
180
207
283
178
161
192
217
176
246
204
149
201
197
200
153
168
221
168
133
201
238
150
183
115
168
168
172
191
133
252
194
143
146
173
240
237
147
179
173
143
174
217
196
188
187
213
195
261
178
229
175
216
238
133
192
189
237
255
143
196
173
146
156
224
183
210
158
204
146
202
296
202
234
182
186
168
146
225
209
214
179
218
187
194
251
146
194
158
201
182
155
193
219
209
178
190
173
229
193
201
129
169
220
205
206
217
174
226
247
201
182
203
225
201
155
225
199
169
169
230
160
187
221
236
175
209
239
212
122
150
210
141
246
204
236
155
238
256
187
231
184
144
200
202
210
232
213
267
172
220
176
245
197
230
217
206
158
231
132
176
238
193
218
176
199
190
151
146
185
169
205
133
181
129
173
129
161
304
212
173
286
197
203
155
202
230
168
194
255
119
239
176
115
129
238
176
181
129
176
191
223
158
181
143
258
225
122
153
183
217
143
233
216
190
143
193
137
225
130
256
179
173
226
269
184
211
129
236
215
191
216
234
204
204
129
192
225
190
257
223
230
179
176
210
244
141
162
205
205
174
203
129
210
146
169
204
115
180
191
202
194
253
245
180
175
244
129
176
254
259
270
184
173
179
203
155
240
192
196
182
176
209
158
200
192
180
187
185
179
190
176
176
212
181
183
152
184
173
159
146
206
174
129
230
188
145
159
159
115
129
192
209
207
164
170
171
155
222
184
191
231
234
209
200
141
201
145
155
151
174
194
173
183
181
242
215
177
238
227
246
300
159
204
146
210
204
190
146
217
215
162
171
239
230
184
200
130
133
193
181
202
221
145
174
158
221
172
248
250
179
132
222
170
203
164
239
233
130
204
175
166
176
195
230
246
143
160
217
150
145
145
143
160
115
175
130
188
141
219
203
175
155
215
180
261
210
252
246
173
187
173
184
204
174
130
204
168
195
170
201
195
149
151
194
225
115
207
217
273
303
219
224
162
144
130
146
180
140
245
265
263
133
201
180
209
175
229
221
182
146
208
229
182
236
231
217
172
237
235
166
237
236
193
146
145
145
173
193
231
210
129
240
228
203
179
130
194
176
143
129
141
173
167
234
155
265
211
225
217
192
183
180
186
238
204
270
171
178
192
172
192
237
193
231
178
176
133
129
257
174
205
219
180
174
211
186
199
303
178
197
179
176
201
146
216
133
129
203
181
147
255
146
181
155
146
191
187
207
192
162
179
168
187
130
180
171
122
210
206
115
191
200
210
185
261
183
247
133
176
176
224
187
188
191
172
210
275
210
245
143
157
151
155
160
166
225
156
164
150
155
130
179
130
173
189
185
209
204
210
122
173
204
183
130
195
261
207
207
230
192
181
195
164
193
215
186
188
196
229
115
291
222
227
259
224
138
168
173
194
188
224
236
217
152
219
206
235
183
191
146
146
192
195
158
160
168
161
166
179
173
210
209
210
187
150
146
205
172
226
179
158
206
210
170
141
198
263
192
155
181
244
164
182
223
227
160
186
223
202
172
176
255
167
222
217
194
158
230
129
156
296
250
209
235
234
176
203
164
145
181
189
191
141
216
229
238
180
159
202
195
162
177
242
115
146
141
180
185
208
138
155
146
261
240
129
238
242
185
204
143
156
202
156
203
258
184
216
249
247
176
173
195
173
147
233
180
185
225
155
129
138
195
194
161
222
215
163
195
155
249
203
163
299
239
204
192
200
146
162
178
184
146
247
206
176
235
211
202
194
181
185
146
206
176
176
115
180
168
295
203
187
208
211
205
211
202
133
187
205
157
146
153
146
224
133
203
217
176
201
258
141
130
122
186
201
146
197
218
246
172
304
187
189
259
192
202
129
130
147
146
230
265
173
263
266
138
230
185
175
206
129
141
214
200
183
167
190
254
188
154
247
236
182
176
214
150
277
158
170
240
211
145
168
194
164
193
156
194
224
233
169
191
202
129
222
181
141
184
236
129
162
190
199
197
173
211
204
250
230
273
115
160
175
246
129
169
130
238
238
210
224
155
287
209
247
158
146
247
182
174
129
186
236
185
184
217
267
158
173
211
155
168
238
207
200
146
218
229
218
182
283
173
204
319
274
173
230
201
179
259
204
133
133
141
146
204
187
216
203
204
173
221
198
233
144
155
129
146
204
146
195
180
167
183
238
130
182
129
180
230
168
227
210
214
204
203
175
174
155
271
210
176
155
261
210
143
172
172
230
132
168
210
186
169
187
130
211
158
143
173
193
192
190
130
173
186
129
164
204
204
178
174
223
222
180
175
149
143
141
157
174
217
220
199
182
225
130
155
143
231
130
129
205
222
217
173
133
299
129
242
158
210
192
182
188
271
182
204
205
225
185
209
191
234
186
138
222
238
185
173
182
158
235
247
129
187
219
129
146
157
173
177
204
204
175
143
152
296
184
129
194
273
290
206
176
169
168
246
214
197
261
286
244
183
179
246
172
141
206
246
127
237
204
240
211
206
130
245
214
179
184
145
176
173
146
133
166
195
176
235
132
186
272
216
129
147
206
240
149
179
166
182
193
169
204
199
230
191
204
221
173
188
157
203
234
205
152
272
145
133
178
244
176
162
204
168
207
201
225
151
192
262
155
205
203
200
271
191
173
190
181
146
179
270
254
203
203
179
204
173
179
122
221
179
260
211
195
130
182
158
233
276
158
279
143
224
237
168
222
173
202
206
217
178
201
176
213
203
217
270
214
133
179
265
199
239
283
173
194
200
137
189
242
183
335
195
160
226
201
206
217
246
210
257
173
204
180
266
130
204
241
202
210
166
189
229
152
185
202
178
167
256
176
175
182
192
130
133
196
143
192
200
219
222
132
233
129
180
146
146
208
200
162
303
162
177
230
194
201
203
169
166
143
209
201
200
173
254
270
225
162
204
283
172
234
246
217
208
203
149
246
192
153
185
115
209
149
182
198
158
159
215
229
200
187
161
164
221
225
229
182
253
203
182
164
188
201
153
187
229
172
200
280
184
210
229
229
159
141
158
185
130
173
180
212
214
204
269
176
202
264
130
146
168
143
218
168
193
224
184
216
192
256
196
205
178
184
252
228
146
303
204
183
179
146
278
198
210
179
130
173
162
190
221
132
184
211
172
190
150
212
196
238
210
130
115
180
146
220
204
205
168
195
216
214
233
173
173
153
214
255
200
209
197
313
162
176
204
173
204
168
174
204
129
212
150
180
267
155
130
170
196
224
176
129
201
202
146
200
211
262
185
212
146
177
204
236
238
211
190
262
145
184
143
191
176
141
245
206
173
201
189
155
133
239
242
228
211
180
221
138
145
119
211
174
186
255
179
257
191
185
157
244
192
159
178
122
201
187
217
214
173
214
211
164
184
179
182
149
190
184
179
157
149
205
183
163
264
146
219
206
164
173
211
237
231
156
166
204
287
204
207
146
187
169
115
172
189
181
247
197
252
228
130
177
150
262
176
232
156
194
194
188
168
201
143
180
200
248
217
129
174
210
178
150
149
133
214
122
173
129
208
173
168
149
182
168
129
173
243
192
145
270
156
183
184
175
144
217
168
153
211
204
199
180
193
224
180
211
158
129
256
233
210
238
171
236
149
195
166
210
166
202
143
176
188
187
192
205
188
230
177
200
188
183
204
162
128
143
200
210
176
164
168
174
138
204
248
202
236
159
144
238
204
197
200
150
245
182
146
152
183
198
244
223
262
186
180
179
204
155
115
247
183
145
143
145
130
185
206
227
230
227
217
115
115
180
225
193
184
169
259
188
169
203
178
180
200
287
218
187
288
247
205
239
155
215
273
152
158
176
145
211
146
263
188
204
152
179
161
152
129
155
188
164
162
200
236
143
158
217
216
242
240
183
227
179
173
144
200
210
194
261
176
122
178
237
225
206
155
173
179
173
130
235
115
240
176
274
149
163
158
122
207
168
210
214
127
197
224
242
156
173
143
234
183
218
182
206
206
158
204
217
200
252
129
144
151
174
141
195
229
164
180
206
184
210
146
211
261
130
201
275
193
169
146
161
153
238
210
183
230
162
259
240
193
201
220
153
173
160
256
145
191
184
143
211
270
226
211
277
216
207
203
215
146
208
195
169
202
276
153
178
146
201
244
176
130
158
217
143
176
168
162
176
129
230
179
162
239
158
201
141
146
160
187
204
191
146
210
221
184
130
202
152
183
184
204
246
166
171
291
178
203
133
221
177
257
184
150
144
176
150
222
256
157
210
129
200
204
238
184
211
178
158
236
257
227
130
250
204
222
200
182
171
122
203
197
210
180
231
205
174
233
146
169
186
129
179
146
149
160
224
141
230
294
210
191
156
174
242
129
192
179
214
251
179
226
145
220
158
166
181
173
211
196
180
222
143
198
173
180
160
256
194
264
176
182
183
198
153
243
129
190
164
207
238
214
184
168
168
222
180
238
173
156
191
178
275
180
183
272
277
173
184
192
272
221
171
169
251
146
187
226
197
255
183
201
171
130
159
204
206
239
178
238
168
215
227
236
146
242
133
198
210
209
210
162
129
194
188
203
207
187
219
130
202
166
200
130
180
175
178
130
265
157
212
203
257
168
227
129
211
261
193
204
143
201
222
164
158
217
210
146
194
200
146
240
212
156
263
247
151
129
175
168
145
200
249
182
195
146
156
160
244
219
206
172
146
167
232
224
190
201
173
244
297
192
191
173
167
115
192
149
205
153
183
158
200
234
162
163
143
228
205
203
216
189
209
185
160
229
176
254
265
214
145
231
153
230
230
129
263
158
144
283
210
283
180
150
217
200
200
183
180
201
185
209
221
180
184
180
158
129
209
171
228
173
182
228
209
161
255
230
158
129
186
133
263
189
182
273
192
115
205
186
146
180
189
173
178
144
265
196
161
252
160
184
204
165
184
165
155
261
192
200
244
162
149
147
201
149
212
193
146
185
255
184
188
196
181
226
247
238
129
169
170
186
169
222
238
191
173
178
176
168
274
232
211
150
198
147
241
234
197
182
130
217
115
188
177
268
176
170
179
211
144
183
182
172
155
168
200
204
217
195
130
204
184
145
242
207
253
152
223
130
179
164
163
239
199
191
174
158
198
164
133
230
207
236
138
146
177
227
195
176
226
191
173
201
313
185
170
182
195
230
173
200
231
184
190
210
174
195
223
288
169
241
133
160
193
150
246
182
130
226
172
212
188
211
221
271
205
230
145
283
169
143
200
169
195
283
177
167
270
182
211
247
173
255
258
202
217
200
185
237
190
165
225
151
302
184
170
179
210
161
209
146
216
273
169
213
193
182
256
252
163
204
186
184
227
234
141
168
179
158
191
150
191
217
202
248
212
130
204
156
241
205
229
184
164
232
173
180
242
223
244
258
129
145
273
274
227
138
236
218
206
129
185
206
176
129
150
185
246
205
176
200
129
162
166
187
236
143
236
187
129
182
184
201
204
262
178
143
173
201
128
209
175
168
149
122
185
181
237
231
179
204
179
146
179
122
188
146
216
270
335
182
220
174
164
179
174
115
300
190
185
158
216
230
143
129
214
141
210
167
130
219
268
210
191
206
143
220
179
247
184
238
206
202
204
185
202
237
173
155
217
179
264
168
168
188
204
155
221
200
204
173
244
235
149
168
150
141
195
230
146
176
151
203
173
146
263
200
216
165
162
198
168
156
192
212
171
203
238
164
182
209
186
228
179
187
212
178
185
230
176
178
173
185
162
173
164
168
176
146
186
156
204
143
261
115
129
157
204
164
130
201
212
158
115
211
214
246
214
186
182
252
229
168
170
259
173
269
130
178
188
205
164
146
175
197
146
206
232
277
220
170
200
221
251
144
160
206
264
196
153
217
130
144
173
263
200
228
151
164
199
190
158
259
269
180
181
146
152
133
130
183
146
200
238
214
176
149
130
188
130
202
205
201
343
202
243
187
204
208
247
172
176
188
224
138
182
183
176
188
181
173
173
260
182
127
143
274
257
213
160
129
182
216
164
184
167
221
191
201
155
240
162
176
115
245
210
211
164
162
190
210
181
187
256
173
203
182
276
208
180
184
206
184
201
158
176
164
150
258
198
184
133
190
181
204
229
204
159
226
239
216
246
248
172
241
208
186
204
183
180
168
164
221
179
182
130
227
237
200
158
202
195
190
256
200
145
193
202
168
156
209
176
208
168
198
130
244
156
252
212
161
173
146
184
133
171
129
160
184
243
253
215
138
204
199
238
183
188
196
234
179
200
185
173
130
195
169
201
129
300
228
204
221
195
225
150
181
115
247
207
200
168
146
240
169
173
130
115
217
146
183
143
204
162
229
249
179
176
187
166
210
171
203
183
194
178
129
183
130
172
261
193
133
239
145
145
174
245
173
162
264
236
199
204
172
183
204
253
127
203
173
158
208
247
186
234
183
191
143
178
144
242
226
198
162
217
133
173
146
222
194
239
195
183
222
252
176
236
165
180
247
184
180
183
240
184
208
206
130
145
230
173
122
197
160
145
162
199
180
179
281
227
255
176
230
245
146
211
210
189
174
216
191
168
236
261
130
190
173
132
145
153
191
173
158
133
151
173
146
215
277
217
232
176
176
220
299
222
213
204
138
237
129
194
179
144
230
210
248
190
146
219
150
204
162
194
195
208
166
255
159
182
176
256
179
176
253
184
209
243
144
178
195
208
173
173
130
150
173
274
239
162
129
189
258
247
193
210
210
184
218
206
182
178
162
261
228
173
258
227
129
129
164
183
199
205
229
275
179
183
129
133
264
119
270
130
160
174
268
162
151
205
129
309
187
152
200
150
158
129
319
176
230
237
204
236
247
190
178
159
180
143
185
143
205
143
190
241
203
231
170
178
230
230
151
187
157
215
217
173
256
247
122
200
210
176
203
289
145
206
182
267
204
232
160
164
211
146
299
252
143
230
206
130
141
146
232
173
278
188
185
176
235
254
187
227
165
277
206
146
179
172
138
161
260
163
238
158
130
160
215
211
115
241
129
200
191
265
227
256
168
129
188
165
204
173
184
202
156
129
198
185
180
161
179
197
198
150
177
204
129
176
130
209
228
259
230
238
235
202
186
251
179
230
146
199
146
168
146
204
191
211
141
230
163
230
174
155
201
274
146
202
155
224
171
211
130
158
176
206
214
188
259
237
253
130
162
188
186
174
162
202
145
168
162
130
179
210
208
239
220
186
228
245
162
207
217
204
143
184
129
225
184
185
173
162
195
287
209
156
130
242
201
129
192
245
220
182
205
150
168
200
209
199
246
160
157
143
156
204
178
283
210
133
204
264
119
162
202
133
176
158
145
282
152
145
174
282
186
133
210
164
171
167
186
164
229
180
247
229
182
130
200
204
200
137
146
222
248
159
158
222
133
168
183
168
171
179
197
235
214
273
182
155
149
174
152
188
200
170
254
173
176
213
170
219
207
190
180
225
176
186
180
198
209
288
130
217
230
122
149
173
204
148
172
185
188
173
173
203
146
219
185
185
156
180
186
174
130
299
258
210
248
212
236
130
206
269
227
185
252
210
183
238
184
272
193
188
169
203
228
182
164
143
168
208
195
143
164
203
236
170
250
230
158
269
200
143
225
175
254
157
149
241
217
260
285
221
146
145
130
156
167
178
210
184
167
193
230
202
157
199
203
201
185
202
207
207
130
186
237
174
216
178
185
193
202
173
144
130
129
183
196
213
202
159
240
206
198
162
130
195
249
146
173
236
164
210
209
248
190
204
175
204
261
252
144
199
200
228
202
189
194
204
191
206
133
183
173
178
173
249
158
216
203
199
219
179
168
215
146
204
198
227
202
257
255
207
210
216
202
222
240
180
173
176
246
233
244
197
210
150
179
204
132
215
204
179
266
232
301
180
147
230
257
210
182
246
207
189
162
176
225
179
169
206
237
194
179
182
173
145
268
215
244
181
168
168
230
198
179
171
155
230
225
138
173
230
166
186
184
130
228
146
187
130
187
194
188
217
203
200
177
172
184
200
203
246
133
189
162
243
261
148
146
130
209
217
191
254
156
204
152
220
130
225
146
176
176
237
256
279
171
210
195
130
182
149
246
115
145
145
183
264
160
179
179
196
165
201
234
203
178
252
257
145
165
211
222
158
200
129
180
146
173
176
168
171
143
201
226
171
173
193
209
173
215
243
174
157
130
146
225
187
193
174
182
202
202
191
151
232
236
180
210
222
130
130
236
119
194
226
187
228
173
155
115
209
208
242
146
186
141
187
186
225
157
211
175
210
178
158
238
193
257
262
211
130
129
168
115
202
245
130
246
204
228
235
182
335
184
178
184
200
173
335
132
145
280
143
137
132
201
167
153
213
185
248
212
141
181
222
181
240
204
146
193
202
174
253
197
274
222
259
281
158
221
283
210
152
202
191
216
166
210
143
184
146
173
254
200
225
141
238
195
173
143
202
174
225
204
248
222
156
204
173
248
179
181
164
189
166
188
176
129
173
321
166
161
165
239
146
288
162
157
166
152
143
214
141
162
193
209
197
172
158
170
205
173
191
202
287
163
199
128
264
211
128
225
236
130
145
217
181
148
197
211
264
173
264
227
178
129
206
171
187
182
234
160
206
222
204
205
236
211
145
201
200
205
187
164
200
230
221
180
155
264
202
262
157
225
266
209
206
194
201
195
192
200
186
129
130
202
147
198
240
173
155
262
195
237
206
146
184
173
210
204
133
159
146
170
220
210
166
173
130
165
208
176
241
254
204
179
158
145
145
130
143
181
166
143
226
186
213
216
217
162
173
214
146
199
211
219
146
160
210
182
206
244
187
164
167
205
130
244
292
173
204
190
146
185
203
179
209
202
238
228
162
208
176
164
122
191
178
145
162
181
210
160
173
234
181
162
173
191
162
178
210
210
221
193
187
175
247
210
145
198
184
221
181
143
155
166
145
192
181
242
141
138
274
129
206
252
151
162
173
115
202
203
283
179
231
224
226
146
176
204
191
156
176
130
197
210
169
173
186
188
212
244
115
204
145
235
130
210
234
262
183
208
210
181
133
195
223
211
173
265
176
130
158
225
133
129
138
179
146
203
204
255
191
173
178
168
143
176
166
185
164
160
209
226
183
133
204
263
181
242
146
160
130
173
265
265
212
141
228
233
212
146
200
211
178
224
158
182
162
203
176
182
143
305
185
236
184
216
195
176
254
129
183
197
237
206
173
154
210
175
245
235
199
186
197
129
238
130
183
296
186
303
192
228
191
167
115
149
230
156
208
171
299
283
161
146
214
200
128
252
153
176
209
222
210
160
234
225
246
221
187
159
130
210
210
151
129
115
151
183
204
164
171
225
148
195
207
173
184
212
162
146
211
173
173
244
164
174
185
256
180
127
194
171
211
256
166
129
264
215
225
167
203
145
206
173
162
162
229
130
162
115
169
129
200
180
299
127
265
173
204
204
192
188
247
153
211
211
233
184
209
122
146
146
202
219
146
173
173
195
193
200
261
173
160
206
191
218
179
217
171
207
146
155
195
230
168
164
162
146
198
206
204
145
174
150
190
164
217
211
258
208
239
204
173
178
133
168
161
228
210
218
200
173
129
242
192
251
176
130
175
229
221
230
221
210
130
167
149
179
129
115
190
287
275
229
183
211
204
191
219
165
172
156
129
209
155
188
225
175
222
138
240
217
165
222
266
270
169
208
286
297
162
172
191
253
218
254
256
176
170
138
201
203
153
184
204
145
225
186
201
247
227
233
191
240
210
239
206
182
257
228
173
225
252
183
133
149
202
146
185
231
271
195
217
178
178
205
207
186
239
207
335
218
218
192
210
214
151
204
145
210
210
158
187
164
219
167
168
176
160
203
130
200
182
211
291
176
235
173
203
180
225
177
183
177
212
185
185
173
218
173
188
250
210
155
192
200
232
204
222
257
199
222
277
238
150
165
248
170
227
178
194
212
164
221
172
130
206
260
214
171
204
173
185
176
227
166
263
193
206
190
191
155
241
228
201
173
155
129
234
146
145
150
185
204
191
176
164
191
193
173
129
147
204
141
228
179
210
270
141
204
226
236
170
259
265
250
168
174
158
143
250
167
145
178
281
201
171
274
146
201
203
173
258
143
204
193
180
246
150
190
230
146
197
210
143
214
280
169
183
238
129
129
211
157
194
146
185
182
229
186
190
257
179
228
205
222
229
190
237
176
133
235
158
207
175
242
169
255
200
220
214
204
160
164
167
202
149
224
201
143
164
216
187
184
150
248
164
210
202
197
173
202
180
251
193
196
180
238
171
198
187
158
173
178
129
238
238
173
115
146
176
206
201
168
115
158
227
225
179
155
158
178
159
146
129
132
170
179
190
210
244
239
202
176
219
218
213
138
228
182
260
188
201
133
197
274
189
192
210
312
162
174
169
175
204
172
205
246
274
199
212
146
227
143
190
223
252
164
204
181
209
218
228
201
143
210
163
200
186
130
115
145
210
238
239
217
115
145
264
193
231
168
183
240
158
176
164
146
234
188
146
141
202
178
192
141
183
211
178
156
173
147
239
184
211
239
215
192
269
200
242
129
172
193
217
151
178
222
214
164
246
150
238
190
198
260
145
149
190
284
203
217
180
228
173
156
168
115
157
195
201
115
179
168
146
171
284
226
168
209
231
178
214
174
188
204
205
184
228
195
185
182
213
179
173
158
146
195
239
246
173
202
210
173
141
227
185
216
166
129
180
138
141
225
186
197
236
247
238
143
179
246
173
244
286
236
230
189
202
266
203
230
129
167
239
239
244
200
217
210
145
210
146
184
179
193
217
164
187
193
181
171
205
214
164
150
181
177
182
179
197
189
141
270
146
227
130
202
233
204
246
157
203
198
129
236
146
231
205
169
233
191
190
133
180
173
184
227
130
210
162
173
149
204
241
144
201
230
164
201
221
188
286
194
179
173
208
197
132
232
185
218
129
188
204
254
158
252
155
181
218
217
161
228
166
145
190
164
213
197
191
130
167
191
191
230
230
199
230
146
158
238
205
173
145
223
157
129
122
154
204
188
149
174
122
181
238
179
202
162
210
229
182
185
236
225
210
210
201
231
180
168
228
211
207
162
172
221
155
184
210
230
129
261
188
166
238
177
161
213
179
248
168
203
164
146
185
141
180
202
209
130
211
180
230
262
265
191
184
168
287
211
174
192
194
183
122
149
261
129
184
186
133
176
236
217
165
184
152
215
258
179
115
115
128
163
166
177
204
162
197
145
264
256
230
176
201
241
184
129
181
150
164
191
204
169
180
183
173
204
212
201
178
219
129
186
196
252
173
164
201
263
180
200
168
182
231
146
173
222
217
233
222
231
194
191
190
299
162
205
164
173
218
171
182
210
130
190
226
172
175
209
273
179
129
192
183
204
129
201
174
162
153
217
206
274
226
197
236
224
206
145
197
201
196
252
175
146
221
187
155
212
145
201
178
129
217
181
164
218
143
195
244
155
197
180
225
256
156
206
239
250
158
223
168
201
168
204
186
210
138
161
149
178
239
210
217
161
242
188
178
162
224
171
187
176
165
227
168
191
145
243
195
154
204
197
202
223
226
168
236
141
208
133
202
174
162
287
129
218
236
289
239
249
182
154
182
200
237
201
182
197
146
182
178
143
221
218
161
172
229
150
193
206
164
177
230
185
133
172
204
193
168
169
192
207
200
200
164
145
189
191
132
188
202
239
115
197
198
178
217
183
206
177
160
257
216
239
221
176
208
208
115
201
190
256
204
185
194
162
200
206
162
170
168
213
178
230
201
184
168
173
194
130
219
189
169
218
197
178
223
178
185
271
165
246
214
209
257
227
197
227
183
222
237
181
115
272
236
221
179
133
190
212
216
176
145
158
245
180
198
146
191
146
197
255
246
232
129
158
189
197
204
177
187
133
234
287
239
218
149
210
129
188
173
216
239
129
183
220
186
200
209
222
153
146
239
146
133
207
184
194
193
188
167
179
186
130
179
149
172
160
160
185
130
144
201
230
130
249
188
173
146
286
173
211
194
183
239
219
162
230
173
158
146
219
222
262
264
230
155
200
181
138
262
225
168
138
216
181
181
239
203
178
146
227
222
152
152
210
207
155
236
202
225
133
193
235
176
235
129
173
265
155
157
225
258
236
130
130
261
115
175
203
184
166
184
217
204
195
164
218
207
146
189
155
164
179
178
146
130
210
225
204
212
146
143
172
204
208
145
234
249
172
159
256
130
184
161
133
249
155
209
265
188
150
200
234
270
206
147
180
214
179
283
201
200
251
164
249
129
200
115
228
167
194
158
176
199
210
238
160
241
190
210
199
179
250
138
130
207
200
146
239
204
204
177
204
130
147
149
237
179
233
187
182
177
202
230
204
132
246
130
204
130
160
221
193
175
146
262
115
258
186
228
221
197
231
146
130
261
207
167
145
171
146
182
207
191
169
179
168
130
237
180
216
173
238
203
178
157
168
200
180
181
227
146
192
152
188
236
202
267
244
184
183
145
203
275
168
130
306
288
210
251
192
210
151
146
133
177
224
171
130
254
174
178
186
220
213
180
182
213
227
191
206
200
202
146
204
130
249
217
206
158
162
146
211
248
213
167
169
129
173
181
173
238
247
183
185
206
160
208
200
179
167
190
206
272
129
183
203
204
141
206
129
220
204
222
197
143
204
132
145
204
160
192
230
219
189
152
182
204
207
219
181
214
152
145
129
208
211
176
115
230
168
254
129
191
201
298
207
192
205
219
157
146
215
221
146
225
228
173
305
176
202
195
169
185
184
244
115
202
299
185
130
179
129
273
183
264
156
151
169
128
200
240
184
164
258
228
129
209
168
164
178
237
255
176
138
191
166
182
228
191
196
199
210
184
211
129
193
173
230
184
217
214
151
200
201
231
162
201
193
143
176
179
130
160
212
201
211
282
179
255
183
205
162
206
174
191
202
282
173
191
115
130
200
165
188
180
130
183
227
200
239
181
149
173
191
239
143
297
132
141
179
231
169
275
161
240
153
202
115
176
173
195
185
210
209
217
190
206
191
296
188
226
146
192
236
267
129
215
184
179
162
146
236
229
115
163
229
222
189
171
186
231
176
155
168
181
185
176
209
202
221
115
164
217
225
204
162
178
183
235
300
219
187
165
146
222
180
272
143
217
188
184
160
145
181
143
141
155
176
211
204
202
129
183
206
145
231
156
162
173
195
213
186
150
226
153
240
152
143
193
238
195
236
150
200
129
253
297
184
242
206
173
194
173
201
168
176
238
149
239
200
200
257
251
176
229
173
146
173
207
192
168
273
173
201
195
146
130
188
244
181
182
174
149
179
146
210
231
219
231
176
212
249
264
182
173
244
176
164
145
194
181
278
242
283
173
204
150
211
239
217
160
193
218
210
231
194
228
266
182
266
233
206
212
166
217
167
257
244
168
175
182
129
129
189
162
203
211
198
182
234
210
248
242
210
202
197
168
189
176
221
230
225
202
192
195
221
162
169
189
190
183
225
235
150
215
182
178
163
132
200
170
160
166
226
238
192
174
178
245
184
168
130
201
206
300
253
184
155
270
254
219
200
255
217
225
221
217
143
189
146
177
129
129
186
174
166
217
264
162
176
277
209
180
189
186
176
164
129
155
265
168
143
223
238
142
159
267
130
203
187
201
169
223
145
164
259
173
158
130
182
172
176
204
174
168
146
143
158
200
229
232
208
129
130
183
218
158
269
115
148
214
186
302
130
129
133
238
173
211
143
263
184
166
210
218
186
205
160
143
190
173
145
222
167
115
218
249
182
162
171
201
191
224
146
200
159
162
195
206
143
183
188
210
150
146
156
214
145
171
173
212
210
149
217
206
169
203
208
200
130
148
179
170
205
194
153
199
219
130
254
242
211
176
215
210
173
221
197
217
180
261
182
192
183
202
182
180
240
243
166
166
235
151
259
180
155
177
201
156
184
175
153
211
175
197
133
190
138
227
186
147
188
156
193
242
130
176
169
217
173
180
146
193
219
227
208
207
185
180
228
176
189
166
202
227
242
232
178
208
159
253
129
216
280
231
128
245
139
174
210
168
164
257
239
233
216
230
229
179
207
195
175
171
146
227
198
175
146
185
199
173
219
168
211
160
158
231
184
162
157
202
175
184
248
252
151
150
211
119
156
210
160
176
168
185
149
172
183
146
179
257
176
202
191
201
169
129
189
269
184
242
176
130
214
162
184
181
130
169
213
133
204
130
200
210
158
178
205
242
197
210
236
184
202
218
176
216
129
219
218
205
221
182
185
145
245
251
253
178
243
195
200
175
165
188
201
122
204
161
200
180
264
204
161
228
167
201
206
210
274
304
200
158
190
160
184
211
185
218
185
182
238
204
195
216
158
179
184
186
130
146
200
199
153
164
202
243
197
204
200
209
201
238
191
204
210
276
166
273
163
193
179
174
170
217
209
184
185
162
179
209
225
176
207
191
255
226
130
217
232
216
205
164
211
210
252
210
145
283
211
211
217
263
168
153
146
253
190
219
231
176
180
215
189
209
181
178
181
173
205
176
155
133
178
211
130
269
174
179
197
202
191
173
239
146
217
133
216
164
219
201
160
143
161
133
230
225
214
172
138
210
267
221
207
176
229
155
130
146
130
198
122
160
264
213
190
203
138
129
238
223
184
194
183
218
239
221
161
146
150
204
257
187
188
217
129
155
163
195
172
199
145
215
179
210
172
215
130
200
149
146
190
156
211
150
184
146
199
181
226
209
214
185
237
191
122
182
258
300
193
217
221
167
130
182
152
182
181
130
130
246
254
146
195
202
263
210
230
246
228
151
184
201
228
141
169
211
150
263
162
177
230
202
130
195
152
179
146
128
233
235
335
188
192
208
239
231
268
217
184
149
159
167
219
255
286
141
229
160
175
141
171
218
211
141
207
143
245
193
252
210
251
217
130
219
173
264
182
262
129
201
219
204
122
227
173
236
238
191
202
202
179
179
187
189
201
129
295
173
146
203
206
187
203
221
173
204
249
156
131
158
146
204
155
181
181
238
168
182
141
186
149
187
161
162
211
272
164
133
204
146
174
221
200
163
187
179
129
199
212
198
239
168
176
187
130
130
208
191
173
217
194
129
204
183
237
218
156
217
226
171
221
270
206
189
179
169
201
145
182
182
155
210
200
266
223
138
255
218
180
228
188
242
164
211
195
219
158
196
146
242
173
146
227
145
183
183
180
217
172
164
261
195
236
164
242
164
184
178
195
129
163
204
189
241
200
243
239
230
162
279
146
247
257
173
229
237
152
217
191
176
258
242
313
204
227
238
202
222
210
217
191
183
155
205
188
173
234
210
207
229
179
200
204
198
255
198
162
236
129
179
130
157
151
180
204
220
200
164
170
130
200
202
205
262
176
272
179
263
252
201
145
129
130
257
150
204
208
186
158
176
173
229
221
188
227
201
227
168
129
130
258
272
185
203
163
181
173
146
206
210
145
231
204
236
129
285
328
247
210
223
176
193
185
216
145
155
190
146
217
183
225
190
180
195
190
159
239
253
179
168
213
206
181
186
168
204
129
302
208
162
235
206
238
115
262
185
202
189
190
183
217
146
129
217
204
250
255
200
174
232
173
146
246
194
178
307
203
168
138
155
182
181
146
234
187
143
184
133
130
227
138
166
258
219
274
184
235
198
182
178
200
191
188
129
169
147
229
162
146
263
190
145
163
188
240
178
143
166
157
191
227
174
198
145
130
191
201
204
173
179
252
241
162
153
265
193
153
225
197
225
176
130
176
193
174
173
239
200
170
210
211
180
133
231
210
227
178
247
242
146
219
247
167
157
129
243
204
246
178
149
181
209
143
228
185
195
214
197
217
176
236
251
226
191
178
162
224
193
177
167
227
228
187
214
225
164
276
265
223
239
209
283
217
230
204
173
115
250
186
130
210
195
217
194
173
244
230
204
153
173
173
130
145
210
217
169
204
184
195
146
164
228
211
223
238
204
129
168
218
207
181
195
168
173
176
274
223
215
150
234
211
155
213
143
214
230
164
168
172
247
158
203
210
178
184
204
227
186
291
225
183
233
176
228
185
214
255
198
119
200
209
248
208
197
156
162
237
219
170
145
200
115
204
166
147
133
211
176
210
247
233
138
206
173
192
203
203
217
199
206
115
130
170
188
130
221
174
202
179
232
202
240
254
198
230
150
172
191
155
235
173
200
184
164
129
178
138
156
240
212
195
217
192
129
161
227
239
182
173
155
200
176
225
245
146
156
215
232
149
191
166
181
174
129
187
202
229
129
157
183
238
185
167
146
246
283
199
210
217
168
152
130
241
182
211
130
184
194
132
146
173
173
201
276
204
282
179
239
204
238
227
195
217
217
193
176
182
166
215
164
149
247
146
212
133
184
168
133
210
226
208
183
206
221
178
182
205
236
164
145
211
229
257
200
200
151
173
204
130
181
246
233
221
129
239
173
229
146
248
237
241
210
143
173
216
212
171
217
248
200
204
178
219
193
155
240
205
197
146
214
186
146
152
166
146
115
184
157
202
130
129
191
187
129
115
265
179
264
115
152
181
233
122
159
158
208
188
209
202
195
210
158
236
130
268
178
250
204
164
158
186
173
146
187
201
146
274
237
244
179
229
192
217
201
186
204
122
169
265
224
178
193
166
202
203
130
146
204
188
253
166
216
221
201
173
197
175
185
231
132
287
278
204
267
179
163
212
156
146
133
153
240
173
296
130
259
253
294
133
252
185
255
275
169
183
178
215
213
255
233
238
204
240
228
258
165
260
220
204
254
201
234
186
183
192
230
179
182
186
193
171
178
152
129
146
258
193
155
214
173
143
159
207
184
214
210
258
209
164
248
248
170
146
216
191
158
210
129
176
261
204
176
172
130
217
178
151
174
248
205
145
129
183
261
211
185
143
191
209
152
206
176
238
205
214
239
129
182
190
207
217
180
218
129
156
179
235
218
202
204
178
181
173
155
181
224
176
203
239
180
280
173
208
149
173
204
249
191
178
129
189
221
143
200
157
181
211
130
255
130
219
122
176
202
172
219
167
161
183
178
190
156
278
197
285
129
186
194
195
235
227
129
264
193
247
181
256
195
192
230
260
187
206
164
174
169
190
130
222
157
176
146
222
217
176
187
169
143
201
250
159
143
225
176
209
218
161
201
193
219
158
252
181
184
247
221
130
133
242
158
171
192
180
230
153
201
193
191
143
199
201
171
129
179
264
244
242
133
166
191
270
202
217
172
211
261
219
181
146
160
189
141
196
261
115
190
227
261
129
207
231
130
173
181
230
172
129
130
180
146
146
193
168
222
214
176
217
141
195
168
276
186
168
129
130
182
164
270
219
200
187
213
156
129
130
236
201
144
233
166
197
194
198
129
246
187
217
168
175
133
176
150
176
211
174
171
162
145
204
210
219
190
206
182
176
198
171
168
184
214
176
168
145
191
145
146
146
162
223
146
202
263
178
210
192
176
166
188
179
218
122
181
189
157
203
208
179
192
240
141
217
129
192
179
115
272
222
179
158
185
145
200
161
141
128
176
211
262
198
230
257
238
231
210
266
138
146
203
191
194
143
143
236
205
153
221
206
146
132
217
214
156
173
164
202
275
190
191
133
150
180
159
181
158
174
234
132
162
216
222
209
194
191
186
224
168
229
180
164
236
130
172
173
158
238
129
210
185
164
199
184
132
206
261
256
175
143
230
130
159
115
235
210
204
161
193
181
164
222
178
201
130
184
182
186
227
145
173
156
204
185
181
213
175
147
202
239
153
198
169
227
179
201
206
164
233
209
157
225
214
207
218
206
200
264
207
209
204
129
249
173
187
261
193
150
230
189
234
150
176
201
231
201
192
188
201
250
164
217
138
224
130
158
204
213
227
239
179
167
277
215
115
169
230
176
229
176
183
230
146
206
168
204
185
157
160
194
185
193
221
221
195
147
179
232
268
191
164
163
156
246
115
314
159
192
171
190
184
229
176
198
177
151
178
201
256
196
257
162
122
241
264
164
163
207
130
272
149
218
230
217
168
157
156
155
207
190
256
199
200
169
178
206
144
199
162
229
176
203
209
260
198
133
253
254
213
176
198
172
202
150
281
168
236
173
152
176
206
206
166
170
206
187
207
182
194
205
182
164
183
194
263
200
122
184
133
162
279
146
211
164
178
234
190
122
186
229
176
187
228
115
190
223
172
190
220
168
167
214
151
242
192
184
210
206
164
171
157
162
200
194
130
160
173
179
239
204
176
205
217
256
173
184
190
237
210
181
238
115
176
227
130
244
204
176
130
199
180
234
170
202
204
178
146
197
172
144
195
268
231
245
129
236
182
204
295
115
189
168
184
255
216
145
203
206
204
171
205
173
178
261
130
165
183
176
189
130
183
236
122
204
203
169
145
240
261
159
217
211
231
210
211
200
166
145
146
206
205
185
178
290
272
184
231
181
180
172
239
192
133
129
265
235
149
133
173
208
217
195
146
201
191
230
230
169
236
128
176
185
256
195
145
210
155
324
181
277
201
187
185
129
176
130
176
188
162
197
212
254
200
242
248
176
270
188
171
186
172
143
203
197
244
246
197
183
236
178
143
192
122
195
198
223
200
184
174
184
161
191
173
200
217
167
168
256
141
164
170
169
152
171
141
147
176
199
129
173
229
173
141
226
146
239
153
179
203
128
210
238
328
176
236
228
115
194
176
208
175
225
174
302
204
130
214
168
166
255
217
214
236
210
174
199
130
222
216
145
192
169
129
130
209
209
146
243
204
175
155
222
211
167
212
183
201
217
173
143
210
200
239
217
203
174
187
220
173
168
293
185
193
172
250
221
129
210
190
168
214
179
190
263
218
180
218
186
251
202
207
138
189
176
204
181
248
115
203
158
173
221
129
217
195
209
188
129
231
189
218
193
205
193
179
261
168
228
236
286
228
200
146
204
146
151
234
185
211
181
211
211
260
214
188
171
189
181
193
185
252
173
198
166
172
210
146
168
158
149
165
220
194
201
146
190
238
204
200
173
225
180
258
159
184
231
204
158
200
217
245
185
217
158
202
227
146
240
192
168
210
141
239
204
212
215
193
235
180
155
204
160
202
182
200
214
220
192
235
206
184
199
192
210
191
179
173
230
155
179
156
243
226
202
168
200
157
146
176
168
151
265
197
216
192
218
161
160
154
249
211
205
247
129
244
217
138
200
162
157
255
229
227
177
191
129
162
207
203
226
194
182
217
209
189
183
198
182
144
129
182
173
172
179
218
160
283
173
143
143
245
215
133
143
158
219
155
209
183
151
209
179
265
161
150
211
296
184
122
149
199
229
221
189
240
122
175
155
146
203
155
194
232
227
170
200
192
227
189
133
157
160
208
205
133
276
172
172
244
251
200
259
210
252
187
211
155
225
204
210
170
158
229
217
162
278
235
241
156
191
115
239
173
240
176
130
211
224
173
186
284
239
169
141
174
178
230
205
221
251
362
182
241
225
194
164
182
204
209
183
204
184
211
227
115
146
173
230
183
259
206
122
130
184
200
173
178
182
254
212
240
175
246
210
279
143
210
234
199
184
146
162
176
179
146
219
145
166
188
173
146
189
164
211
204
201
151
173
216
189
156
138
184
193
157
152
219
196
115
173
271
198
255
202
168
241
212
182
195
178
236
166
172
196
228
206
128
173
185
244
191
145
202
191
152
146
235
183
250
174
210
164
160
211
158
151
192
183
265
176
146
183
204
260
162
210
173
189
194
250
157
169
225
237
213
129
179
162
160
270
152
115
283
211
181
201
288
173
241
211
173
146
144
201
191
238
225
157
230
204
188
188
184
155
146
170
273
242
145
144
178
173
183
208
150
176
176
141
243
206
182
162
225
115
212
170
218
210
187
241
190
180
184
181
190
178
170
170
218
253
164
206
264
209
258
228
252
132
208
206
141
272
247
204
217
129
184
181
204
179
160
152
241
243
225
239
235
173
198
115
172
164
225
187
201
235
198
143
176
227
173
181
200
180
206
211
256
147
221
156
192
173
182
222
168
150
176
175
189
174
225
176
211
195
193
213
259
128
230
130
122
201
187
138
192
188
209
115
169
183
202
188
222
261
230
176
146
257
152
161
130
143
207
249
184
129
185
221
222
202
204
204
247
190
208
211
210
190
115
183
138
195
164
213
151
147
213
168
191
213
160
245
176
166
209
158
179
162
205
260
238
215
173
204
204
246
169
253
216
223
201
274
147
204
173
171
186
207
180
176
165
145
182
179
145
178
130
178
202
184
227
249
173
204
170
191
187
208
155
273
191
152
146
239
160
189
149
210
164
184
204
182
244
129
115
186
184
171
180
231
145
158
175
188
133
201
185
146
202
191
212
143
183
156
176
129
115
201
164
146
178
164
157
200
257
207
178
190
286
173
204
200
149
225
182
300
133
165
179
162
259
141
143
264
203
129
209
169
228
176
173
158
182
130
204
149
252
179
219
211
184
183
145
171
188
132
138
130
165
210
182
275
158
128
230
122
210
217
198
294
186
144
227
245
172
205
159
146
153
172
254
208
172
256
222
166
238
145
206
230
208
178
237
204
244
159
320
138
185
168
146
182
204
253
239
192
128
204
225
216
256
206
238
173
200
207
149
173
181
178
176
227
160
197
201
225
182
180
185
130
200
192
158
236
152
173
169
189
238
173
168
210
165
146
258
327
173
210
158
222
190
242
206
185
255
230
180
217
208
236
224
243
198
211
206
182
228
210
206
146
163
146
274
201
162
158
182
163
217
190
202
162
173
194
240
175
176
133
283
197
201
263
215
217
235
242
185
194
218
180
156
169
227
130
204
222
246
184
204
115
199
269
168
238
182
200
223
283
147
278
175
190
299
211
185
184
144
201
182
230
147
211
198
178
210
176
162
176
248
201
237
251
247
138
284
144
161
220
141
157
176
258
176
176
141
173
251
199
152
184
244
180
209
210
185
258
192
210
193
194
200
180
213
247
176
178
185
164
221
206
138
194
185
169
173
259
201
184
224
184
160
269
146
130
154
166
222
259
169
172
279
130
170
160
224
205
156
146
130
195
211
280
271
145
242
236
130
130
167
128
183
178
164
158
115
183
173
129
211
129
146
208
180
225
210
198
179
176
186
164
129
150
247
162
130
204
174
176
198
190
167
206
191
220
155
213
179
259
182
221
157
190
176
164
168
179
162
211
171
208
253
182
161
303
178
205
256
227
164
115
171
150
130
216
178
222
208
235
202
145
187
145
239
214
254
208
235
155
253
166
158
115
214
239
219
236
185
225
184
171
145
204
205
181
231
181
229
176
160
167
215
235
146
200
233
210
227
170
211
217
281
179
129
133
187
150
193
300
225
203
158
198
230
239
225
210
171
206
185
187
229
261
176
160
210
211
128
254
224
210
214
229
179
182
177
158
182
192
212
204
206
225
262
256
180
200
184
209
253
165
264
155
225
179
161
202
209
192
169
221
161
179
130
186
155
129
185
165
189
205
206
202
162
173
240
115
168
214
199
133
236
143
178
209
194
176
255
193
215
156
181
145
274
129
162
176
162
152
238
217
181
186
160
231
220
236
115
198
169
138
201
213
181
207
176
247
198
198
187
196
208
143
263
184
201
162
129
191
133
130
244
270
212
218
122
168
182
263
225
119
211
130
129
166
144
173
192
150
204
198
128
174
146
289
176
173
172
249
225
207
161
145
143
217
146
143
193
143
201
229
270
191
181
189
202
209
130
176
179
195
184
210
228
230
152
204
141
208
133
242
146
147
146
169
239
173
138
232
164
191
133
246
133
168
222
183
206
184
200
133
178
129
145
129
156
228
195
162
168
296
187
233
129
150
129
176
283
130
180
199
181
263
262
202
235
297
234
171
169
146
255
171
178
183
256
169
242
129
224
200
201
202
130
173
179
201
227
232
144
183
200
191
229
223
203
175
139
145
210
235
189
173
215
173
157
228
205
201
146
168
186
201
246
158
201
184
217
164
130
149
175
211
138
169
231
164
170
186
167
225
236
129
264
195
176
158
246
130
173
221
212
210
174
129
182
178
300
168
217
174
230
181
256
165
214
191
185
184
187
141
144
145
201
174
170
162
180
241
168
133
186
206
170
155
179
224
129
206
195
335
204
206
241
176
176
230
184
211
239
209
256
129
128
324
253
159
215
186
150
214
194
158
157
210
193
155
243
231
189
210
157
201
130
186
184
164
150
239
204
238
185
170
177
129
146
229
162
133
179
228
224
251
182
239
129
175
168
145
223
181
300
202
188
191
130
313
227
115
230
188
201
192
129
171
214
172
215
198
185
234
129
156
288
225
150
283
129
206
219
178
192
224
235
222
194
240
204
173
247
184
182
249
155
128
133
173
239
133
229
190
169
246
146
115
217
143
203
197
266
212
185
146
130
168
198
173
236
179
166
210
278
192
149
173
130
228
146
229
210
129
179
171
206
155
184
321
122
191
218
204
191
231
220
258
128
173
173
188
147
202
191
161
228
218
306
231
187
167
184
156
204
184
156
187
258
171
203
219
206
200
173
171
222
178
236
188
219
213
206
184
191
207
183
233
204
211
211
212
173
146
200
217
240
238
145
234
130
206
210
130
278
244
173
210
197
145
184
185
145
172
173
204
176
263
164
169
173
247
152
183
194
254
194
168
157
157
158
180
238
214
129
170
183
143
151
186
153
211
173
246
163
183
146
221
193
171
169
227
145
173
166
270
133
263
159
184
146
178
259
167
194
200
210
215
176
249
187
160
181
192
164
210
221
246
201
130
130
237
217
214
250
176
169
133
145
217
185
217
242
214
143
152
182
167
232
210
247
251
201
210
182
164
158
185
236
236
141
146
214
204
204
236
183
250
145
164
160
168
186
180
247
195
169
239
155
232
204
182
224
182
217
217
216
172
143
164
156
173
254
115
185
235
234
173
211
182
184
185
231
130
184
225
168
200
189
141
183
261
200
254
186
177
232
176
299
205
169
201
209
259
229
169
146
191
179
195
186
199
191
150
184
191
200
162
178
173
232
146
170
216
194
130
158
208
164
149
222
173
178
224
222
179
155
178
192
183
142
216
211
214
207
169
229
179
146
158
204
204
184
225
168
211
170
216
178
161
146
228
200
184
175
130
177
178
221
239
239
170
138
210
168
146
186
231
182
156
187
241
174
129
263
143
169
191
174
210
184
230
230
145
261
168
129
234
240
242
164
225
241
196
141
145
176
150
261
158
176
185
169
162
188
278
175
155
187
316
181
206
176
143
186
188
141
175
234
145
203
153
130
217
232
246
200
189
187
195
130
191
259
282
224
206
204
230
158
227
159
204
225
169
179
215
229
150
155
156
217
176
158
230
130
160
146
181
238
133
166
230
261
204
297
211
228
143
161
144
176
115
214
333
226
190
178
258
176
231
206
129
128
155
157
173
146
308
212
115
206
141
176
203
189
187
206
173
200
169
204
201
143
291
288
238
129
145
173
164
115
138
151
169
170
184
157
199
162
200
130
130
115
260
206
170
199
210
166
174
206
179
215
211
168
122
217
162
231
260
189
217
182
371
252
217
133
173
233
145
217
263
262
256
170
228
202
217
144
168
217
235
204
243
191
280
204
175
241
199
210
191
176
201
130
169
239
179
146
184
138
146
226
160
256
186
145
246
155
175
206
146
246
191
236
150
146
225
230
194
155
266
183
267
122
146
217
194
179
205
133
180
205
216
164
195
192
183
182
230
251
129
192
175
153
175
258
138
192
180
187
166
129
211
183
192
173
143
213
203
222
130
227
224
194
191
149
214
181
206
180
274
202
187
258
206
173
160
227
231
215
228
176
145
288
130
176
129
208
186
168
216
130
130
225
164
333
220
176
202
168
209
173
138
189
148
211
164
186
239
252
201
206
146
204
202
182
156
212
181
247
217
176
171
204
129
155
220
300
173
203
193
200
146
188
212
181
171
174
190
258
176
238
182
146
217
217
229
176
210
173
149
173
201
221
129
179
209
142
263
164
143
178
160
145
204
176
145
240
195
232
144
175
234
292
217
129
187
146
163
202
240
150
244
206
272
175
222
188
222
179
155
258
269
238
176
206
191
179
128
230
218
191
185
173
229
185
203
214
183
129
146
176
175
146
174
146
155
194
216
159
214
192
236
247
195
133
237
177
143
197
203
261
246
183
221
209
169
198
130
198
157
273
183
244
173
145
250
206
206
194
200
129
202
162
229
210
178
237
195
204
173
168
176
214
208
156
211
146
232
174
210
202
186
243
129
160
197
194
144
130
129
146
188
191
210
260
202
196
145
128
168
185
214
186
204
200
272
253
179
208
262
180
160
204
195
218
208
216
183
217
183
299
156
248
138
144
173
180
262
288
174
178
229
167
146
224
322
212
210
224
162
212
150
181
255
162
180
184
176
201
130
264
147
228
155
206
222
222
191
206
192
211
222
129
197
199
293
153
198
269
191
246
227
218
158
224
161
183
180
152
133
145
211
210
237
216
172
230
179
169
150
176
184
284
204
161
239
239
168
240
131
146
246
119
146
144
183
168
202
164
212
244
130
214
161
228
178
206
184
146
188
146
189
210
192
158
173
256
197
230
208
173
115
176
187
250
150
138
176
228
314
164
149
174
239
164
150
164
189
173
164
216
178
321
194
184
146
259
129
244
151
186
183
230
201
206
211
173
236
201
262
230
246
207
210
130
210
219
202
115
223
200
224
155
235
255
229
186
200
206
176
173
130
143
225
230
296
190
278
191
173
158
204
193
151
146
150
242
204
203
231
196
281
209
213
173
242
162
256
264
191
197
225
207
213
287
186
228
239
216
146
203
158
247
200
237
194
188
204
254
179
145
229
232
173
207
183
130
264
236
191
263
186
150
199
182
252
231
238
174
158
189
130
204
193
195
185
209
202
230
170
179
201
171
180
195
240
226
166
130
225
207
230
252
138
204
156
225
160
256
235
206
165
214
167
234
214
230
162
234
129
148
200
179
195
184
173
226
239
215
214
174
129
202
179
215
173
192
185
245
207
186
158
159
315
115
245
202
150
157
161
252
184
146
168
215
206
168
229
183
122
176
180
253
146
218
217
266
180
145
203
225
192
129
202
129
207
190
170
260
197
213
201
185
204
164
152
145
209
192
147
211
201
174
200
229
228
172
145
177
184
174
188
193
129
115
165
146
178
173
173
240
201
191
164
246
221
162
179
206
146
228
189
204
211
145
178
167
179
191
258
145
209
204
168
156
255
186
183
177
177
190
184
201
145
208
161
256
188
176
194
184
169
157
262
219
184
227
188
133
149
200
240
168
158
200
206
230
129
192
209
228
212
195
278
224
129
115
279
197
159
176
157
203
200
207
130
219
222
138
179
230
168
182
156
149
198
230
179
145
230
222
216
208
225
217
205
172
199
130
194
185
217
237
199
175
166
194
236
166
146
211
150
182
198
168
236
202
200
146
247
161
202
185
167
129
181
146
173
182
161
214
190
189
149
115
217
190
173
176
206
230
359
151
212
190
180
229
219
144
255
239
215
133
226
145
191
128
153
177
238
226
175
122
210
179
299
146
174
174
206
173
203
166
216
254
192
179
195
232
192
208
244
191
210
203
216
210
170
242
226
191
234
233
181
181
133
189
173
182
129
128
175
173
185
130
164
155
188
130
248
146
200
162
209
174
168
249
179
176
146
194
180
239
115
158
181
206
150
203
186
246
184
128
179
211
192
129
259
129
217
173
201
176
214
129
230
229
176
173
222
130
158
262
179
185
141
195
172
129
205
204
129
202
200
173
169
248
181
176
163
166
171
202
157
184
115
162
173
177
122
210
256
146
239
173
232
185
130
192
185
254
239
200
206
150
209
193
146
217
190
193
234
199
240
230
240
248
138
182
214
129
186
163
200
167
146
214
188
184
262
223
192
226
184
183
130
164
168
182
172
210
129
206
175
211
272
183
247
143
236
234
266
150
200
210
221
225
207
224
220
168
168
166
215
240
262
148
176
204
182
200
212
141
145
146
164
194
130
199
209
129
191
222
233
129
166
137
183
129
178
158
146
161
166
235
176
172
173
214
236
174
253
251
217
216
246
228
130
164
173
214
194
227
178
165
133
169
141
168
169
278
119
173
176
169
129
130
211
168
255
200
210
167
179
172
183
173
222
176
204
191
296
233
158
176
130
179
179
145
174
223
241
244
209
158
178
187
130
208
231
145
129
146
236
176
187
203
164
184
182
199
162
204
153
185
188
145
145
150
164
182
230
210
207
211
183
152
149
174
133
220
224
182
162
191
254
177
191
214
143
191
222
146
252
211
158
217
197
202
128
280
234
150
177
153
255
177
210
130
221
133
173
177
250
161
224
246
185
179
156
146
205
262
155
193
147
181
199
184
179
166
185
161
129
133
183
200
168
146
218
194
129
158
152
255
201
183
202
162
216
197
146
180
152
178
166
164
261
199
213
211
248
200
215
183
173
217
189
256
217
204
204
210
174
166
211
225
190
206
179
243
212
146
235
133
158
184
204
115
239
176
200
193
161
115
122
317
115
225
173
179
145
178
244
251
242
228
182
200
129
181
237
185
172
173
251
162
212
143
224
262
146
177
164
287
206
173
168
245
222
173
217
206
163
221
201
208
146
281
219
201
252
217
222
173
247
133
266
205
265
205
184
176
255
130
157
156
264
195
204
143
168
188
176
175
210
217
145
204
129
191
242
152
247
183
179
156
211
162
182
221
204
250
200
146
205
230
200
204
206
186
176
221
217
200
166
194
176
130
202
144
163
164
180
249
171
255
163
217
215
182
258
146
169
158
156
201
210
189
195
194
173
211
191
198
281
217
143
217
233
182
182
180
194
182
157
169
146
146
307
261
138
156
261
228
169
214
173
141
209
205
157
217
247
145
191
129
182
225
222
189
169
140
217
201
209
231
169
273
228
160
129
160
247
115
161
144
186
228
143
223
168
169
184
299
205
174
178
223
188
170
238
204
176
234
217
186
141
180
182
204
155
203
223
130
236
146
192
129
168
215
181
166
208
164
173
207
209
200
151
175
179
129
177
258
179
129
203
159
174
168
183
178
177
129
221
168
230
206
202
158
166
217
171
174
188
209
283
133
162
159
192
288
188
193
184
168
214
254
194
146
191
256
217
180
217
166
130
182
202
145
159
216
179
169
315
207
155
149
238
231
191
259
204
210
163
180
180
294
194
160
190
208
187
214
173
164
197
164
183
238
189
146
252
129
183
141
193
187
221
173
167
193
184
210
176
129
173
171
173
150
238
225
192
210
209
227
238
173
151
183
259
192
162
146
244
264
178
169
241
138
176
144
211
209
194
115
190
217
183
225
236
210
175
130
186
168
311
256
217
169
168
129
151
161
129
158
217
122
232
199
191
264
237
173
146
209
133
145
264
210
229
203
171
229
183
228
238
264
162
188
189
186
193
184
217
225
268
129
205
206
273
202
230
180
162
170
201
184
195
146
206
212
164
200
115
173
178
199
129
130
168
175
248
176
144
159
277
178
219
115
166
182
130
179
145
230
188
184
130
176
195
236
133
194
269
241
257
204
252
177
238
162
253
178
171
225
209
188
199
186
191
225
179
143
230
183
218
208
183
234
161
176
164
245
201
183
204
164
230
198
132
150
171
130
181
172
179
129
259
243
244
188
176
176
181
303
138
185
156
211
184
129
156
211
238
130
143
196
174
181
182
230
252
174
146
200
171
146
178
176
257
188
225
257
220
220
169
249
185
164
206
173
130
203
160
176
200
230
162
230
146
191
211
133
200
156
185
130
162
153
188
259
210
180
150
176
173
160
176
194
165
214
145
157
133
162
212
164
144
206
187
177
207
213
130
242
226
138
190
184
255
192
193
229
168
188
241
200
157
183
115
230
239
164
187
201
230
182
152
240
184
270
203
168
213
231
146
277
129
187
205
164
217
176
143
188
247
217
233
202
183
244
160
201
246
224
234
204
189
246
210
162
179
158
130
212
129
200
150
223
225
180
190
133
169
206
192
191
130
221
141
259
130
204
157
252
230
282
160
200
163
143
227
212
188
244
250
252
132
142
194
172
202
186
133
173
146
260
205
161
222
239
146
200
151
182
247
158
225
157
224
200
212
216
267
171
247
210
252
163
132
151
129
173
129
183
173
206
160
143
181
183
211
210
145
193
212
176
190
162
146
217
204
146
185
200
173
183
171
162
229
238
255
239
130
146
228
185
133
230
133
238
201
145
155
156
143
228
133
185
214
146
115
201
204
261
258
283
200
151
231
183
206
115
203
199
179
214
201
115
130
210
211
166
209
212
235
239
176
230
240
189
180
188
211
230
188
335
185
129
173
149
238
210
169
184
164
261
250
217
184
130
245
190
235
225
158
201
267
202
143
130
204
145
256
146
143
152
158
155
212
217
191
205
239
184
246
129
230
191
149
149
115
236
168
156
211
178
177
232
179
212
210
129
231
238
195
141
182
250
194
153
167
174
230
180
209
239
210
173
172
146
176
191
212
168
227
129
231
191
209
215
201
160
217
204
255
146
199
181
254
230
227
208
182
143
143
235
173
146
180
228
180
186
220
234
145
269
232
165
201
201
200
225
146
178
172
188
159
129
202
213
160
178
202
162
192
201
129
204
176
133
283
146
155
178
188
160
221
194
189
156
143
130
279
129
146
239
210
204
181
178
130
164
211
168
129
173
174
146
229
210
179
178
211
119
173
215
184
146
235
204
149
182
129
176
168
179
129
131
197
146
164
223
206
170
208
202
151
176
200
204
204
191
279
191
275
146
201
247
160
199
130
206
198
171
145
241
146
230
226
146
180
310
217
236
173
221
173
250
187
251
138
130
215
146
215
197
171
195
129
159
146
246
238
150
226
178
188
185
376
158
192
202
141
168
164
144
160
150
209
183
219
200
237
194
202
179
150
186
233
179
148
230
303
176
209
185
178
168
215
204
158
217
181
176
216
179
244
264
210
176
137
168
247
238
194
169
130
227
165
146
230
227
162
250
146
188
204
176
236
143
175
146
203
184
168
157
231
155
182
176
130
143
199
206
220
201
199
145
180
201
230
220
219
144
242
168
173
221
143
219
141
191
209
129
168
210
195
182
161
192
256
191
129
220
183
227
204
169
195
222
168
236
159
194
248
115
161
176
176
186
183
213
173
129
208
187
228
230
211
192
193
206
152
195
254
166
184
230
143
143
145
207
270
264
211
213
214
283
193
210
146
199
188
159
173
204
242
146
146
176
221
261
217
161
239
177
191
179
146
199
191
176
146
204
189
172
222
192
149
182
259
129
210
239
143
173
145
153
180
180
188
199
162
237
202
153
245
139
202
210
143
228
184
218
173
219
251
147
227
202
211
200
254
208
240
222
184
144
234
204
221
204
184
206
200
181
150
181
207
257
238
130
178
249
133
305
158
182
217
152
180
168
182
249
196
202
173
198
277
115
164
190
184
224
180
214
202
168
184
227
210
246
138
247
122
187
201
150
157
182
335
297
241
191
204
145
222
192
231
168
155
200
191
180
173
193
209
230
164
229
176
146
185
158
274
252
211
189
173
145
146
229
133
162
173
146
219
190
200
227
122
176
173
204
169
162
217
204
245
146
236
183
179
179
146
200
195
146
178
146
145
204
211
210
225
176
193
170
218
284
201
172
192
180
163
237
222
130
256
115
220
146
191
173
191
202
205
173
168
200
194
184
143
173
173
172
225
201
141
153
202
202
237
179
130
187
184
197
129
191
261
173
193
208
220
115
230
234
168
181
183
146
167
187
115
184
173
173
145
232
154
209
274
257
202
176
176
193
203
129
242
176
173
178
204
201
130
162
178
168
217
238
143
218
214
151
208
245
133
210
189
155
159
115
266
201
146
162
195
129
281
130
129
219
144
272
152
179
138
149
209
236
115
219
224
236
243
146
238
239
166
133
160
170
171
176
167
286
250
151
176
184
130
156
210
230
169
130
186
158
122
172
158
184
130
162
204
130
173
248
172
241
209
192
178
115
147
221
248
209
209
153
157
182
210
176
169
230
143
201
144
210
191
228
210
204
226
170
146
143
187
233
159
204
146
210
217
188
239
173
177
232
190
200
240
217
200
214
194
164
210
176
173
157
210
287
204
183
204
204
210
229
174
230
141
180
222
184
267
199
219
203
176
177
260
189
163
184
216
164
129
173
158
187
156
231
227
219
249
200
197
188
166
130
130
158
258
250
130
252
170
264
196
258
214
129
206
173
192
236
183
201
146
195
200
206
201
209
210
254
182
190
223
146
176
200
178
261
145
184
238
162
236
239
208
236
197
223
143
204
143
156
185
236
205
201
210
152
169
221
224
187
236
208
179
184
203
194
201
206
222
146
206
193
179
217
204
205
227
156
222
224
188
185
202
204
275
179
176
130
179
166
240
146
206
115
335
202
258
173
141
226
225
146
210
274
200
133
206
239
187
185
210
176
226
143
236
186
182
166
164
263
203
158
218
164
217
213
259
179
130
208
206
197
179
175
188
257
229
129
130
236
170
196
150
242
146
215
150
179
157
158
162
209
157
158
193
149
243
166
179
192
130
204
205
181
159
186
201
227
146
221
160
146
211
201
226
239
204
164
129
243
149
200
129
227
133
213
145
141
193
222
204
206
241
129
176
147
155
252
233
181
188
227
293
130
263
211
129
144
130
227
160
269
184
270
168
254
248
243
200
130
187
302
160
184
190
246
212
192
130
240
236
220
217
230
254
176
130
130
236
160
222
211
230
242
204
229
207
173
180
239
197
203
222
177
260
235
129
225
164
214
230
160
211
176
179
173
217
182
243
199
178
164
176
201
201
191
146
206
130
156
157
207
214
129
177
115
186
217
181
168
255
144
224
165
218
201
236
231
159
236
168
143
211
115
173
193
180
145
219
204
230
179
231
212
248
150
204
238
178
187
182
267
185
221
130
187
146
130
173
146
183
145
158
145
130
233
115
272
220
176
130
206
204
225
130
220
201
119
183
211
218
226
164
288
201
171
227
173
214
202
195
184
306
167
255
193
255
236
168
194
204
145
187
209
249
211
190
192
230
245
191
230
207
133
173
215
160
143
195
173
197
226
198
171
145
217
152
179
201
165
156
210
249
212
211
197
335
183
169
151
164
174
173
183
175
261
164
221
156
183
235
237
236
143
252
180
229
143
172
210
237
236
213
195
240
130
181
155
202
213
182
204
160
183
179
206
181
173
184
277
210
214
254
264
122
146
204
218
155
211
281
210
199
204
170
191
192
160
226
157
151
143
174
176
210
238
164
221
227
173
335
161
253
175
205
249
156
164
129
215
115
228
130
178
173
263
129
115
264
138
286
173
191
200
176
176
147
202
130
207
227
180
173
169
115
227
168
303
182
128
211
261
198
214
143
174
198
164
230
204
210
205
189
176
130
155
185
232
176
173
268
201
206
130
191
179
158
192
215
130
249
162
207
131
190
176
193
204
232
230
204
163
246
146
217
216
146
133
146
309
234
206
223
190
163
129
168
200
146
177
183
150
210
206
183
207
210
130
167
155
283
164
211
209
204
187
146
204
179
146
164
173
129
130
149
172
192
173
215
204
255
214
133
155
231
196
146
251
222
210
239
160
158
300
285
129
214
195
166
185
146
206
184
133
204
155
263
173
164
187
173
188
188
161
217
204
229
180
170
256
178
200
146
176
194
210
159
129
217
185
212
204
224
210
229
165
176
207
164
188
157
164
200
204
245
152
264
178
207
177
230
155
188
164
204
200
164
179
182
192
188
170
250
151
149
174
160
207
174
185
239
183
145
188
222
143
130
262
253
211
211
183
200
158
245
143
115
201
180
188
192
133
211
214
179
186
236
138
188
194
174
191
133
257
130
236
143
184
145
164
203
179
129
217
171
182
144
132
201
133
201
204
181
175
219
129
211
182
171
143
182
141
183
160
130
187
229
201
133
202
173
166
221
232
192
204
129
200
246
247
130
122
190
129
210
170
132
180
184
170
138
217
257
157
130
214
173
179
217
210
149
130
248
247
252
185
224
131
179
181
129
238
207
173
261
296
122
215
145
215
236
198
156
226
156
133
195
175
129
215
146
259
200
177
203
155
146
191
162
211
179
209
162
155
188
161
210
216
176
256
130
172
219
183
226
183
201
231
184
240
270
211
173
219
158
221
170
158
115
248
211
208
238
209
198
130
204
225
200
143
173
256
281
150
250
204
216
129
179
129
173
146
261
193
128
169
173
287
143
173
252
164
242
249
191
236
206
184
206
190
224
180
238
138
130
237
245
210
210
261
146
196
207
235
173
174
146
176
158
191
171
146
179
206
150
155
158
180
179
194
119
234
156
176
243
255
205
203
141
226
168
239
180
157
215
248
213
201
173
176
179
264
173
156
205
182
189
129
185
220
214
203
176
227
141
122
170
176
183
188
179
220
173
130
165
205
253
207
195
155
131
232
203
179
288
225
178
180
200
176
164
156
192
176
182
191
145
214
217
173
215
285
218
201
274
203
214
175
281
230
143
177
184
233
211
300
148
157
234
209
238
170
189
146
204
211
164
183
251
225
180
183
205
171
207
143
209
150
150
190
192
226
176
179
170
158
197
210
129
231
215
220
208
220
237
189
201
184
296
267
202
200
217
218
130
160
143
222
238
158
138
178
188
122
203
173
156
188
201
200
115
222
236
229
191
143
181
146
204
217
241
129
169
228
173
128
205
179
146
210
130
251
139
129
145
254
144
217
202
167
249
218
122
192
176
183
179
196
231
129
162
173
159
197
201
164
210
193
193
176
201
146
242
184
225
177
223
115
143
229
145
212
176
146
145
218
221
158
146
173
143
150
151
228
146
143
271
175
184
204
129
160
233
130
200
210
195
209
187
143
158
215
202
187
129
211
169
183
182
160
161
145
191
173
144
211
146
240
146
187
164
138
129
176
168
165
208
156
130
141
141
195
255
169
158
236
191
203
149
171
179
179
146
321
162
128
129
173
199
164
236
173
175
212
238
182
133
164
234
210
209
239
171
173
179
178
178
171
221
157
211
147
205
201
217
115
209
146
186
168
129
201
277
146
187
145
201
204
183
129
239
158
144
168
130
146
143
231
186
228
239
233
232
141
168
173
264
145
244
146
261
198
256
156
254
232
173
173
204
198
230
202
211
249
178
244
130
130
187
129
176
192
161
122
179
146
150
211
180
215
211
217
176
192
179
133
243
178
207
206
190
189
152
230
225
264
168
226
176
287
204
141
160
162
158
222
184
191
191
185
255
157
170
154
189
247
217
173
161
156
152
212
179
152
195
160
130
217
234
190
217
211
160
173
147
227
275
264
189
146
145
210
231
209
225
264
241
205
220
176
240
201
250
207
185
129
173
228
187
234
204
155
194
145
184
178
179
217
213
285
182
161
231
176
187
115
178
150
190
200
248
176
188
169
206
179
235
213
238
186
202
225
192
182
183
178
214
181
195
254
210
202
252
190
222
183
174
215
202
202
171
260
185
259
173
216
184
224
173
216
176
185
198
183
173
115
230
202
155
191
191
212
199
155
231
216
193
173
182
195
130
130
133
174
133
222
182
219
141
191
159
236
180
216
191
227
149
129
195
201
131
181
191
197
146
130
201
160
184
145
185
239
187
201
191
155
150
129
171
179
205
254
176
239
182
201
190
195
238
161
204
168
213
238
280
176
173
217
181
158
182
165
189
179
209
192
204
258
228
197
222
215
146
186
276
177
176
160
115
211
146
115
174
160
225
238
183
128
176
225
208
194
190
244
145
197
129
211
229
182
249
205
162
228
190
130
180
141
192
199
217
183
251
146
179
230
164
145
246
158
219
143
210
211
143
143
129
173
188
129
217
214
237
204
147
169
156
164
129
184
146
155
201
173
129
191
210
238
185
206
133
218
152
147
146
184
201
180
281
122
207
216
186
228
173
146
122
176
226
193
202
173
167
183
183
173
173
184
176
192
184
179
151
145
183
193
173
184
203
185
194
187
164
216
301
149
141
203
168
169
144
204
129
203
185
197
188
188
250
184
130
173
166
227
206
152
146
132
204
247
182
194
199
242
274
264
238
173
211
248
176
186
248
175
224
322
173
221
217
193
168
115
225
211
191
146
146
204
176
146
200
146
191
283
168
199
208
209
176
173
161
176
187
143
153
238
207
200
168
229
198
214
255
209
146
178
192
180
146
206
224
130
166
218
224
172
173
130
146
184
191
223
173
172
177
222
190
130
211
214
185
163
249
155
216
193
204
208
191
129
173
183
200
217
215
261
186
130
182
130
245
281
197
231
143
225
183
182
208
215
219
165
184
129
266
264
182
164
176
201
133
224
177
240
230
217
182
222
205
225
197
145
133
194
195
210
205
233
211
222
223
218
186
195
198
178
129
133
209
181
173
232
231
183
180
208
222
129
191
133
155
188
176
173
129
237
255
187
269
200
197
158
169
122
205
180
130
191
186
162
191
190
203
230
187
202
157
227
229
214
209
201
223
241
186
236
237
128
190
129
194
200
214
172
167
251
133
240
183
214
129
218
186
178
256
179
171
240
210
130
161
143
217
214
290
226
168
181
204
255
210
221
208
173
218
222
206
173
206
204
159
182
178
129
237
177
243
243
130
158
115
129
215
184
222
203
189
256
276
149
149
210
130
236
196
178
151
199
169
214
224
209
248
176
233
196
226
210
162
176
149
182
210
218
209
130
222
256
146
209
151
130
130
233
184
210
115
143
282
244
225
143
129
202
176
130
209
130
176
246
195
177
192
182
143
211
283
206
189
241
176
222
129
182
194
153
192
146
162
205
261
195
307
184
259
146
162
219
176
150
145
206
162
242
229
227
200
130
146
192
291
184
115
275
217
129
233
162
215
200
183
201
188
210
156
239
210
153
171
212
228
191
170
133
240
192
264
263
173
220
155
236
171
188
161
229
200
177
195
185
259
175
307
176
158
129
179
208
206
182
256
275
162
193
182
130
173
149
188
129
199
225
248
264
130
163
162
191
216
170
133
184
164
201
266
143
168
130
168
249
143
163
156
176
200
197
210
166
194
242
228
179
215
191
211
164
325
189
218
201
225
160
192
154
187
180
195
173
208
168
201
119
217
198
147
202
178
166
245
152
205
164
177
191
190
194
151
146
157
236
211
162
191
146
193
184
206
159
143
147
220
219
213
175
210
200
129
153
156
173
129
203
292
196
211
213
209
151
217
191
221
167
184
215
307
115
119
141
206
300
191
143
142
182
211
222
246
150
145
217
224
191
202
171
263
183
157
160
143
122
204
191
208
143
245
189
200
203
178
183
204
233
230
184
203
220
182
190
201
155
216
122
194
179
261
146
177
164
205
172
130
178
259
201
191
270
143
182
160
256
146
211
191
241
128
184
211
161
204
189
115
217
143
190
146
162
200
218
169
115
202
169
201
237
230
204
267
250
180
233
173
264
204
138
129
192
268
172
173
129
132
146
150
182
204
157
231
225
143
284
162
166
160
130
130
270
252
202
179
166
162
146
192
206
241
138
204
176
230
179
225
162
201
176
186
152
239
182
170
241
227
195
130
173
155
202
254
275
208
167
185
241
193
167
217
239
204
261
275
235
182
204
149
225
169
187
163
138
133
231
252
115
239
173
246
217
222
155
182
138
172
122
212
173
179
176
263
221
198
149
174
285
132
164
209
247
170
210
130
155
269
183
159
138
221
184
168
213
206
251
168
242
188
178
204
183
182
264
171
205
164
156
204
152
175
192
146
176
250
196
146
157
146
205
173
318
240
130
146
248
217
176
179
157
170
130
194
143
237
210
129
161
179
216
146
157
130
174
219
190
162
188
150
236
200
191
164
179
259
217
129
212
169
200
225
211
237
226
210
195
204
271
195
184
242
209
183
196
229
129
210
200
185
191
182
155
210
253
244
145
188
196
192
231
214
211
163
264
205
221
158
212
177
201
235
256
302
211
174
149
182
132
169
186
249
238
215
257
197
230
242
164
143
185
166
211
122
195
236
141
129
190
192
156
215
166
225
158
212
173
130
133
194
158
173
128
256
181
239
151
335
190
177
238
290
218
200
145
191
204
180
180
155
185
262
261
166
158
250
255
173
197
168
128
156
200
192
217
242
177
158
191
300
206
205
206
219
217
239
168
237
186
173
168
190
283
178
179
231
145
211
176
195
182
145
230
180
215
180
176
176
214
211
191
230
115
201
241
179
188
170
281
231
162
190
129
300
200
236
210
209
161
280
232
179
274
225
225
212
222
176
204
210
236
266
215
246
188
172
228
178
187
230
177
248
146
219
115
213
179
211
202
149
235
294
239
158
130
207
260
197
133
198
215
223
188
191
218
154
173
203
206
183
303
168
233
185
180
211
262
265
200
265
188
242
176
191
215
214
130
206
194
303
202
173
209
195
161
150
133
243
130
183
257
150
229
201
206
258
236
158
236
231
230
210
172
202
202
164
223
176
215
130
162
227
163
307
150
193
238
149
173
130
173
228
149
335
203
170
190
320
199
188
189
201
191
179
245
247
241
252
183
209
157
252
179
192
164
259
156
245
227
235
204
200
176
267
188
308
167
115
224
146
192
173
225
130
254
178
229
238
202
236
182
190
143
173
176
165
168
176
185
211
213
183
156
150
185
143
173
248
182
173
153
174
210
173
234
189
179
204
244
238
178
256
230
281
214
133
169
208
200
204
161
167
192
218
212
176
184
195
152
178
176
230
247
176
254
236
210
206
192
214
242
211
129
203
174
168
210
254
146
157
200
211
151
211
262
115
189
174
204
252
230
162
179
176
164
146
179
170
130
200
186
182
145
148
232
130
229
200
206
204
176
129
168
249
212
173
232
171
220
230
174
190
204
128
156
182
299
229
146
191
211
129
185
182
247
231
222
203
201
183
197
156
187
200
176
216
234
186
204
283
217
115
202
211
254
233
203
227
147
130
239
192
162
276
130
176
174
174
203
253
217
167
210
206
227
174
157
147
211
172
184
211
151
181
129
145
146
189
204
145
197
184
129
161
143
211
204
130
210
173
172
251
335
175
158
201
179
200
201
204
167
156
162
146
211
211
246
171
173
158
210
145
211
230
164
177
200
203
256
209
173
251
184
192
129
233
173
211
181
184
155
230
168
292
204
227
222
157
162
227
152
201
179
178
195
182
151
145
164
237
202
149
168
303
221
138
191
146
248
166
174
222
287
149
191
226
152
151
194
174
132
228
283
237
155
130
172
285
234
115
235
237
146
115
130
184
180
130
216
158
146
194
216
171
206
189
218
169
253
210
146
254
229
173
129
158
172
185
222
133
239
207
129
204
176
204
271
227
185
238
181
204
236
130
169
211
335
236
150
194
175
146
185
157
205
157
122
214
202
221
180
198
230
160
204
160
201
176
224
143
228
173
233
164
186
224
230
216
156
173
185
227
217
115
155
238
216
198
221
188
178
165
241
223
146
222
166
229
164
146
169
214
146
208
246
164
228
158
214
158
115
149
178
201
227
130
168
217
170
184
179
210
182
158
173
165
192
191
213
163
244
195
158
176
156
193
227
204
129
206
201
307
149
174
222
197
129
229
199
232
115
145
197
208
192
238
188
206
173
263
122
151
206
216
145
206
206
133
211
179
199
222
156
130
171
122
203
230
164
200
164
169
130
205
162
161
129
235
296
184
175
129
210
162
129
119
257
188
204
227
138
161
191
129
217
184
173
173
179
202
143
160
143
176
203
251
184
217
184
221
166
130
235
184
129
141
243
210
264
150
164
230
229
188
217
217
182
217
264
173
192
176
173
204
184
202
240
167
149
173
167
268
122
257
200
181
173
216
143
185
132
191
193
272
188
261
173
164
210
210
195
201
160
276
130
205
200
168
206
146
201
130
176
184
215
151
129
158
165
174
258
181
278
129
176
133
258
146
204
164
195
205
246
231
168
255
201
195
200
239
185
174
145
285
199
155
178
146
168
146
185
155
249
173
211
219
145
146
201
203
178
130
206
168
242
201
192
380
201
239
146
189
206
128
173
218
200
221
259
130
204
242
176
171
200
182
234
210
284
233
214
245
215
211
303
252
194
210
158
129
143
198
247
153
202
192
192
276
197
207
287
158
115
162
130
176
230
216
158
170
237
184
178
227
217
173
227
190
202
185
173
201
188
229
225
173
182
199
228
176
173
173
157
173
235
184
195
173
161
202
129
205
211
169
239
210
221
230
194
130
215
174
213
183
197
242
240
179
222
204
205
150
202
240
238
210
197
191
208
144
200
181
203
179
185
210
173
211
221
225
122
178
201
283
180
164
155
141
115
191
195
176
182
182
180
130
143
181
243
178
141
223
212
229
180
167
245
206
146
130
221
149
189
216
162
221
189
193
191
186
162
211
172
275
176
186
217
235
192
302
179
166
288
183
115
122
209
145
169
211
180
270
181
155
226
211
189
207
184
147
303
161
250
161
160
220
130
205
158
210
150
219
200
274
172
194
191
183
160
214
246
288
176
186
230
211
168
129
201
197
192
157
185
202
197
150
146
231
151
223
177
130
146
183
214
146
204
173
239
248
180
130
240
119
168
239
239
180
174
133
162
151
216
210
199
169
252
145
162
155
162
146
152
210
195
202
207
183
226
202
130
147
146
143
115
155
184
235
193
170
296
133
215
156
191
218
252
179
184
200
162
143
207
133
182
226
250
157
286
204
129
199
204
130
271
171
178
156
217
143
187
183
129
202
164
169
229
200
209
235
166
209
241
227
164
172
179
214
130
166
133
208
261
133
256
152
180
170
213
200
219
230
176
181
194
188
195
195
208
239
143
202
191
204
133
241
220
240
210
170
115
168
181
162
192
214
143
130
130
197
163
186
255
176
180
177
200
202
166
168
199
122
227
183
145
175
273
219
174
194
176
261
238
235
157
195
210
205
167
157
197
217
230
236
160
235
176
173
217
179
176
230
230
166
158
190
202
231
183
155
128
169
328
130
179
240
167
211
164
179
217
196
190
224
130
191
184
187
179
238
185
212
133
200
185
219
222
152
222
184
211
181
173
130
163
260
255
191
242
251
269
173
122
146
210
155
231
227
184
209
162
168
138
221
204
164
202
210
129
160
144
129
128
210
179
192
146
175
222
129
164
143
162
234
230
218
182
239
259
197
266
145
171
200
166
184
221
177
208
174
234
174
173
164
228
225
129
202
227
174
151
162
175
150
164
146
179
165
182
177
174
192
130
210
184
191
202
159
202
239
190
145
216
150
228
171
141
129
204
189
209
178
215
204
204
200
146
129
204
173
237
229
274
190
214
204
201
176
187
152
160
216
146
177
185
182
212
238
217
129
129
138
157
182
209
242
211
230
164
129
200
175
194
193
239
189
164
230
222
115
170
188
162
149
178
248
182
192
229
217
145
227
181
193
200
210
173
215
222
146
213
160
179
158
189
221
185
168
223
251
226
220
164
174
130
181
169
237
256
179
167
201
173
192
202
190
184
214
146
185
265
240
217
230
218
162
221
221
256
179
175
183
184
168
232
161
238
335
233
205
229
183
143
168
182
129
204
197
217
191
178
203
221
186
184
173
173
215
250
190
180
130
129
243
200
174
209
244
163
130
133
225
238
129
220
208
176
174
232
206
129
185
172
197
186
216
129
202
150
217
190
246
180
218
219
163
129
133
129
283
129
223
129
307
115
206
247
213
266
247
129
273
178
236
174
176
156
218
171
146
179
221
230
227
157
146
195
289
122
233
196
133
283
191
217
168
180
225
214
184
244
133
222
150
201
210
150
218
167
173
200
146
217
182
210
164
191
170
217
191
187
184
185
192
200
258
233
187
226
133
164
217
176
239
170
187
238
143
133
176
187
200
204
188
176
197
193
176
173
217
173
172
173
238
122
187
216
210
339
176
176
204
217
222
173
217
226
211
130
188
197
197
211
115
149
158
162
210
157
191
162
179
168
258
182
146
155
236
183
128
178
179
210
173
235
264
196
277
182
239
221
184
115
246
129
201
247
179
258
190
193
145
207
195
217
228
217
176
201
174
209
182
129
147
191
202
254
155
226
202
182
238
228
184
192
155
178
233
187
133
210
218
150
217
199
130
173
254
186
146
173
236
212
204
210
145
173
195
197
217
230
201
228
160
178
169
168
216
242
217
222
204
200
176
205
184
188
179
283
173
288
129
210
188
130
130
188
209
133
176
219
217
256
242
165
201
181
238
211
181
221
227
221
178
130
207
206
250
183
195
183
232
151
173
176
168
220
172
157
204
185
151
181
217
187
115
232
247
191
212
182
161
155
186
188
143
128
115
227
216
261
234
182
175
190
156
233
133
145
146
193
216
207
146
206
184
175
283
280
173
208
181
268
226
232
176
201
132
178
212
203
129
115
184
225
247
222
188
172
178
185
173
178
208
179
287
166
200
231
164
183
129
244
184
279
161
217
138
217
145
169
176
156
199
209
209
212
190
217
208
179
187
179
230
202
173
258
129
203
183
237
283
146
143
219
178
266
179
208
183
197
181
189
206
248
176
188
143
208
176
202
115
197
172
210
204
165
184
274
256
171
171
168
230
194
161
158
204
230
251
184
164
211
210
195
191
240
201
297
150
210
192
247
175
186
217
173
202
258
171
207
162
217
186
217
208
180
215
206
188
197
155
225
169
239
230
218
301
129
176
214
217
186
230
201
216
180
246
191
143
307
225
217
203
172
158
227
219
184
230
169
197
236
150
133
129
236
180
224
184
179
169
183
183
168
150
202
185
239
155
235
209
219
141
206
200
151
216
222
210
169
227
219
143
210
205
221
190
184
192
181
180
183
183
194
305
258
176
140
230
231
217
184
182
189
263
150
221
215
255
204
173
241
156
190
129
180
215
185
250
204
183
129
335
202
130
166
129
130
188
166
156
186
179
129
192
277
198
300
220
139
168
251
178
155
150
231
211
179
166
262
182
130
215
176
199
158
184
138
176
199
161
244
181
143
173
266
138
129
258
184
173
219
160
176
214
266
252
179
214
185
162
184
244
179
187
143
164
183
170
143
198
215
184
279
193
150
176
230
231
179
156
215
168
150
179
176
168
202
155
264
201
145
192
205
228
242
182
306
229
217
164
203
250
115
185
326
227
223
210
168
180
221
204
191
159
176
151
238
283
216
145
221
191
168
164
176
244
176
189
198
181
171
145
170
271
143
181
129
236
166
246
133
186
232
196
251
188
202
322
173
261
248
130
225
238
171
226
138
218
252
188
201
133
172
230
122
215
165
172
147
254
250
184
201
195
245
210
188
240
202
146
183
162
129
164
158
146
129
146
266
175
179
184
153
195
195
179
173
149
185
200
158
184
157
196
146
229
176
164
204
216
204
165
132
335
191
157
158
146
258
204
222
174
197
233
210
184
266
227
202
164
162
164
173
183
162
222
184
210
129
158
133
176
207
210
176
133
270
200
209
179
216
210
180
212
210
179
173
222
261
115
192
165
193
162
250
171
201
197
202
133
177
189
176
201
208
160
150
183
250
151
143
238
186
184
299
189
239
173
164
153
168
238
173
188
221
188
146
230
191
207
248
255
200
190
173
164
239
115
183
130
194
180
240
129
238
188
170
190
227
129
272
201
225
220
173
173
283
202
210
158
172
171
247
210
145
219
201
188
186
173
182
271
200
217
151
173
122
153
145
176
171
217
198
173
231
180
132
174
115
217
153
208
230
186
174
209
309
264
167
190
179
217
217
184
229
183
166
176
239
289
236
197
144
129
214
213
197
130
180
225
206
199
248
207
185
265
231
178
225
169
173
279
206
217
176
155
201
133
237
278
146
174
173
169
224
168
230
194
152
162
297
178
194
191
211
265
119
173
218
340
130
115
182
211
229
173
133
294
257
201
246
261
201
115
201
238
192
228
155
220
200
195
180
208
213
165
176
168
204
115
200
304
153
261
231
157
162
195
212
133
133
192
171
239
130
195
154
221
226
268
131
160
129
228
210
197
130
270
282
179
202
207
176
156
150
227
181
172
197
208
214
239
178
173
217
204
183
210
181
143
246
238
195
200
201
184
129
181
297
210
185
193
180
183
177
188
141
162
206
239
143
220
185
196
155
150
225
227
237
158
156
145
156
224
145
263
205
231
223
209
173
268
115
183
155
215
211
279
246
130
183
162
168
173
146
144
297
172
185
263
184
211
168
176
238
192
149
230
176
187
217
133
217
235
129
216
161
130
173
146
173
133
181
206
197
164
192
214
191
189
146
176
150
194
129
266
176
145
233
171
176
184
246
183
213
217
285
163
133
158
177
207
210
129
206
186
143
143
231
206
200
188
206
229
176
211
230
264
144
229
184
206
210
211
206
184
146
145
143
258
184
222
179
174
182
254
181
153
150
182
217
209
192
188
211
133
232
169
271
176
249
168
233
179
251
130
164
234
204
202
208
214
200
161
190
144
202
261
202
166
210
115
168
239
164
211
252
185
171
184
122
187
146
211
207
204
182
164
211
130
185
325
253
214
253
187
160
176
216
168
194
159
214
217
232
238
212
221
173
167
243
211
146
264
216
182
156
184
205
227
204
200
203
173
141
171
204
233
223
186
222
144
204
146
235
215
169
199
209
187
151
182
234
182
204
222
191
129
178
222
160
191
219
221
227
180
195
204
242
146
217
146
156
192
168
209
211
146
176
164
174
224
167
184
141
179
143
184
133
158
129
193
176
173
179
115
200
185
236
198
201
236
245
261
219
192
230
239
186
175
143
256
129
178
163
174
202
188
273
165
218
143
236
190
211
153
237
194
230
188
178
200
204
211
130
129
180
246
201
172
239
146
176
188
144
138
173
237
132
146
207
179
234
238
129
130
204
180
202
151
203
143
184
204
176
133
147
210
162
204
188
115
183
164
172
221
158
234
155
161
243
178
287
251
202
182
335
231
220
235
274
217
130
335
197
164
201
168
143
176
198
202
177
184
169
243
205
184
206
197
241
184
173
193
201
158
231
215
204
221
164
173
168
144
217
183
199
194
129
225
204
181
202
217
156
204
179
179
247
264
160
155
258
200
221
171
203
173
201
146
183
171
133
143
304
143
181
230
187
167
157
145
195
244
251
236
255
162
169
201
204
210
129
234
204
257
196
158
201
179
226
204
129
122
190
179
176
165
204
182
240
228
115
248
193
261
177
182
213
178
199
206
191
156
262
225
178
182
146
168
197
171
268
193
306
184
217
115
270
184
278
190
246
250
176
281
177
185
173
151
129
141
210
230
250
262
240
133
181
180
238
129
150
156
179
129
115
184
192
188
177
249
133
237
129
201
174
216
210
166
130
217
234
252
183
280
162
115
260
242
129
193
232
175
152
164
150
274
209
143
201
169
189
240
233
115
182
202
200
236
204
204
162
259
186
200
180
193
128
149
265
204
172
197
195
184
191
191
226
224
260
176
187
179
274
223
178
189
180
182
225
133
184
170
166
264
190
145
248
203
238
187
186
210
176
179
172
177
146
264
181
130
129
162
214
248
221
173
173
296
180
203
145
185
178
179
210
283
211
204
209
206
146
130
173
183
217
259
154
226
199
191
233
182
145
248
193
163
237
192
296
156
155
180
217
202
221
179
231
158
129
207
122
147
246
186
242
175
158
204
152
260
190
178
210
221
237
234
160
209
264
211
216
229
170
193
223
208
176
138
129
236
173
156
221
129
217
214
188
130
247
153
155
173
217
171
216
176
129
272
230
287
115
239
173
193
129
201
143
210
250
150
203
210
257
164
161
143
169
202
201
168
186
239
220
234
162
191
158
183
204
176
181
241
161
210
184
217
176
130
146
132
252
128
158
245
146
201
204
211
214
210
146
156
141
183
179
173
183
179
149
179
208
145
237
143
168
195
164
152
173
268
195
179
130
133
133
158
130
161
157
190
176
231
158
167
143
176
155
256
238
182
145
238
200
192
273
115
237
184
143
129
251
179
217
214
221
193
203
217
145
210
210
158
119
230
266
183
189
211
299
247
210
184
198
174
153
217
184
169
247
179
130
217
201
188
202
184
210
229
115
129
143
222
215
129
166
251
143
184
204
130
181
164
202
197
210
222
182
201
211
187
169
173
153
214
226
183
200
146
204
146
211
184
143
185
190
156
173
168
273
230
202
231
225
235
168
299
261
130
200
203
179
204
180
152
182
150
143
232
156
224
130
146
180
169
237
145
130
173
146
238
179
152
210
259
204
200
210
167
234
244
129
164
164
129
130
179
161
175
176
257
225
187
202
192
158
173
239
146
153
182
237
181
208
166
217
217
179
255
170
153
213
249
202
144
176
201
158
160
155
206
159
186
190
168
162
163
176
162
212
115
217
217
145
200
146
176
205
177
168
291
174
202
203
204
133
179
173
185
192
224
187
234
247
171
129
129
198
247
202
176
206
151
190
203
129
197
207
166
161
176
172
262
156
180
234
129
179
151
141
231
179
199
129
251
242
180
182
253
190
225
254
158
200
181
211
162
249
222
216
176
200
228
258
206
130
129
130
146
205
184
225
162
191
181
189
235
130
201
173
250
173
148
223
230
182
186
158
262
201
150
178
195
130
212
179
173
173
162
182
237
217
146
201
146
173
183
193
216
206
182
146
149
206
238
222
130
202
230
161
159
199
210
259
230
229
146
183
230
158
190
162
130
217
194
212
130
195
234
159
239
236
255
115
172
147
225
239
263
187
122
246
169
176
231
246
264
179
210
164
180
204
168
167
115
225
194
210
179
211
156
162
145
158
143
130
268
158
183
201
279
209
130
167
191
211
230
203
212
180
143
204
167
129
296
189
203
242
211
129
202
222
191
230
243
162
166
115
249
237
162
178
129
149
150
200
188
133
164
182
206
241
157
211
179
130
168
115
234
153
172
216
198
185
201
210
156
187
182
180
115
172
145
258
216
208
210
233
308
173
176
179
170
232
204
149
200
200
162
208
228
173
239
157
250
219
150
180
209
145
256
260
206
256
216
133
173
180
128
265
130
210
192
165
204
166
211
353
230
210
133
227
217
182
171
133
232
182
188
203
163
185
177
115
222
204
265
197
184
184
236
264
221
194
204
239
230
200
132
193
190
168
202
201
210
259
173
217
210
203
161
166
191
300
215
191
165
171
189
181
298
176
210
267
269
246
250
171
176
143
160
213
138
173
228
315
201
181
183
179
207
115
203
214
255
235
155
129
129
200
171
230
254
179
202
238
210
210
166
173
201
138
213
192
204
264
214
230
222
168
130
183
248
204
202
217
176
143
214
184
129
176
156
129
168
191
256
228
214
142
288
240
147
184
130
237
210
171
261
257
195
176
210
179
231
269
146
166
168
237
151
165
145
199
200
204
161
174
202
230
191
152
163
171
201
181
214
184
197
230
179
184
200
204
181
171
252
173
165
282
180
144
146
172
173
159
169
236
210
318
194
146
191
149
242
177
201
169
180
210
214
174
218
216
218
303
169
222
211
219
164
158
174
145
186
178
182
201
188
184
184
194
207
181
201
226
246
173
269
195
210
215
247
200
182
168
184
184
130
169
201
151
192
206
251
157
146
162
174
210
146
155
191
133
231
200
231
204
185
191
258
231
200
240
166
191
248
171
144
189
194
177
216
179
169
185
211
175
216
150
146
217
218
180
174
200
184
178
168
195
253
250
115
155
178
205
173
210
230
158
234
238
210
129
184
184
239
170
215
143
152
203
168
138
193
238
183
226
236
226
244
197
201
203
144
169
195
227
222
200
180
164
238
255
178
182
195
184
151
168
130
225
184
229
128
204
198
227
148
186
176
152
141
176
130
189
184
129
231
198
181
236
150
198
176
130
176
130
203
219
184
156
157
170
182
235
130
289
206
184
325
271
191
194
130
238
162
146
165
191
190
168
171
130
185
201
129
202
202
318
145
221
198
205
176
171
187
221
173
211
164
173
173
130
176
197
158
233
206
176
187
143
208
249
246
130
169
376
201
143
166
221
251
173
185
262
129
179
176
200
221
129
204
225
221
232
161
218
270
222
173
296
241
210
183
179
211
227
211
218
146
145
146
225
145
195
264
184
173
226
195
205
173
177
129
148
115
213
201
168
281
230
237
142
247
191
145
190
179
199
202
190
130
234
203
215
233
178
218
141
129
210
129
185
252
225
160
217
169
166
246
194
145
179
177
250
168
180
115
147
156
176
204
171
129
238
184
178
167
156
168
178
191
230
217
207
199
249
129
129
229
197
248
191
130
173
197
143
230
206
158
204
130
165
193
130
183
201
186
150
217
206
129
122
214
130
214
204
227
200
168
180
246
208
228
221
204
196
190
202
153
152
210
130
130
175
146
192
217
145
202
130
186
206
201
237
176
129
173
205
204
133
122
168
130
208
193
160
122
201
191
223
204
147
204
190
181
129
181
191
191
224
207
157
130
145
182
217
217
210
153
173
176
122
210
129
178
192
201
155
241
184
185
146
222
209
146
180
204
214
130
214
148
155
197
244
187
225
145
221
176
173
204
244
246
220
178
180
247
222
251
238
156
173
180
200
189
179
144
194
158
176
166
238
168
173
284
180
206
238
152
210
204
158
172
210
162
264
205
198
206
185
153
213
217
265
198
263
173
183
215
176
180
210
160
129
225
148
185
222
173
156
176
176
210
189
260
147
178
193
227
162
197
164
155
230
168
204
177
247
182
159
133
201
130
232
289
184
162
173
221
198
175
161
145
242
211
173
122
173
195
146
231
210
146
194
230
161
191
129
271
169
191
184
146
143
217
230
153
171
242
335
242
149
180
191
122
205
184
220
255
155
223
130
115
191
185
141
256
197
174
156
161
206
129
328
178
130
146
199
192
129
168
161
129
193
181
210
191
198
184
190
242
165
177
158
185
203
183
194
201
130
149
220
130
194
129
218
255
198
225
145
133
217
229
175
130
242
204
161
182
217
190
162
204
211
209
162
221
173
234
207
160
184
256
199
324
205
228
214
176
129
132
201
176
204
176
199
147
130
204
133
228
173
231
203
176
314
141
188
157
179
230
209
219
178
203
179
209
204
179
191
210
239
180
163
119
157
170
162
192
129
204
172
170
230
167
210
176
209
264
167
205
150
179
200
195
157
168
133
209
191
250
173
221
166
179
146
201
198
183
178
212
205
233
192
239
227
210
230
225
189
189
252
225
237
217
115
216
158
230
262
248
161
130
146
173
167
233
176
162
210
195
220
272
300
241
168
186
122
129
172
141
176
205
169
146
170
206
284
184
138
236
193
238
201
174
202
172
228
153
168
211
202
167
184
133
206
179
204
173
246
177
184
217
249
202
165
202
129
210
184
168
146
210
193
264
115
143
172
191
203
217
141
179
200
317
161
192
129
193
204
115
217
202
193
236
218
230
143
145
225
238
203
208
204
180
155
133
130
194
163
200
149
133
282
200
224
197
232
182
159
191
204
178
204
188
162
133
231
130
179
179
259
186
201
145
210
201
263
157
189
241
239
182
188
167
182
255
173
248
161
201
218
274
162
189
133
192
182
252
162
203
213
176
130
205
276
122
192
217
176
159
222
210
179
202
149
227
219
168
261
141
221
162
173
206
162
203
158
160
205
146
159
227
204
183
199
244
289
220
141
186
185
188
171
163
209
146
169
158
191
182
190
204
238
206
261
204
190
193
217
228
143
253
188
181
263
128
143
234
155
184
212
205
176
201
217
230
212
146
211
189
206
181
168
192
271
146
187
232
217
168
204
155
150
208
151
289
230
158
202
183
146
217
146
133
172
194
180
174
206
187
182
241
266
169
237
278
262
271
129
155
216
180
211
164
261
188
230
191
210
221
207
156
235
280
184
221
174
129
179
122
265
218
115
176
192
172
153
187
265
209
178
235
270
174
211
181
201
254
262
201
165
180
192
129
211
256
171
173
133
184
299
185
248
192
181
206
227
155
228
210
259
176
225
261
176
215
204
157
203
133
259
289
204
281
204
230
129
228
217
195
206
211
248
210
173
237
268
248
324
138
188
210
185
166
176
162
130
201
200
204
179
122
281
115
231
283
255
146
182
221
170
243
190
162
201
204
198
182
168
217
242
185
210
187
200
210
200
256
180
157
164
146
181
208
205
265
155
244
236
144
206
195
243
232
239
162
178
183
282
146
182
193
171
258
219
171
173
299
211
247
217
234
130
192
161
156
203
276
162
268
156
152
146
206
146
192
143
183
284
174
239
176
171
130
184
179
169
184
133
209
222
143
230
180
230
141
246
188
203
141
204
204
157
147
290
146
199
185
180
158
145
156
256
267
215
172
172
195
209
216
130
242
159
264
242
145
185
122
233
200
204
149
234
277
176
200
242
143
287
207
155
182
256
133
239
176
130
129
171
189
204
204
205
190
172
215
185
179
166
129
204
166
176
173
194
164
132
162
129
191
178
205
164
287
155
192
143
243
219
235
164
215
182
166
182
160
176
158
191
187
282
119
146
245
192
166
176
230
191
186
176
257
206
184
258
193
129
182
178
159
162
151
210
208
193
221
183
185
197
162
162
130
202
164
191
192
173
192
179
204
181
130
191
148
169
174
159
130
202
155
184
235
164
150
129
181
207
165
236
164
189
224
202
206
119
213
210
216
204
246
247
238
184
130
211
217
207
204
200
185
179
159
212
206
179
164
209
264
164
264
152
130
149
169
188
177
185
232
194
173
163
257
204
145
227
182
206
133
158
176
149
204
285
179
197
176
115
251
228
177
130
156
183
185
206
206
231
156
170
129
162
227
183
209
225
167
209
238
182
238
263
226
145
182
132
145
169
220
143
190
145
175
124
129
185
256
195
157
184
190
239
133
187
187
143
236
215
228
230
129
207
145
209
210
147
211
249
205
214
232
211
219
176
172
176
202
216
215
237
194
209
179
214
115
263
176
207
178
130
143
130
168
129
146
246
335
277
173
133
133
196
296
176
210
211
155
250
225
166
158
208
282
172
230
217
212
150
173
204
189
244
168
229
230
148
155
204
181
161
146
203
180
206
211
173
143
187
283
168
247
288
296
221
157
230
199
172
190
160
167
179
146
179
236
168
194
158
236
229
259
201
146
145
191
170
164
129
173
210
204
217
183
201
252
176
209
198
212
168
158
206
226
201
179
201
212
230
162
182
191
227
184
170
166
254
234
130
204
185
155
153
251
252
209
160
179
226
158
181
207
173
214
219
187
240
179
205
169
192
204
210
219
176
168
215
197
193
214
211
209
174
204
239
166
259
158
262
215
176
115
181
190
179
222
189
242
144
211
176
161
195
173
201
156
149
199
235
228
141
155
206
167
201
174
129
170
206
210
115
208
216
204
176
180
183
196
130
177
188
226
145
211
204
130
130
256
222
252
162
161
176
180
230
129
155
257
226
203
162
191
202
258
211
171
200
158
169
130
200
165
238
129
261
151
201
186
115
228
176
189
192
217
191
187
234
178
236
233
192
173
146
162
137
191
173
243
197
200
239
160
122
188
204
194
182
217
185
176
262
218
202
185
199
227
204
173
173
206
187
219
168
205
201
129
184
155
210
190
170
217
210
250
146
115
130
174
166
230
162
228
199
193
211
179
202
177
313
184
218
196
149
211
160
150
240
210
171
181
210
194
210
202
146
168
146
166
143
146
264
178
168
236
219
251
204
164
151
230
196
238
173
204
141
119
194
216
210
204
141
192
251
335
219
189
146
210
190
173
231
245
180
146
170
191
257
133
162
218
180
217
298
211
129
185
222
182
158
184
161
183
210
184
264
238
230
183
133
287
210
200
182
180
191
155
245
143
189
141
128
192
146
229
278
197
233
241
296
169
201
170
244
262
169
185
173
115
178
242
240
183
186
177
179
158
207
171
138
174
169
115
185
166
194
146
188
219
168
172
251
168
200
222
275
272
294
257
122
130
192
155
184
172
196
206
193
146
115
168
204
129
146
161
143
176
170
179
179
187
145
133
178
143
190
244
129
145
130
176
153
157
193
204
178
236
190
159
177
158
275
184
217
129
188
217
166
179
231
165
146
176
155
200
204
212
228
201
178
128
226
158
249
185
164
133
167
129
190
153
211
176
210
143
181
253
285
206
169
201
226
201
179
173
129
176
149
173
115
180
143
150
204
175
204
192
261
214
176
185
201
165
162
211
168
129
129
176
205
176
210
173
158
204
182
265
236
216
162
257
189
225
164
259
217
178
254
133
179
170
173
218
192
181
146
205
176
179
217
234
185
147
244
242
160
152
129
264
171
194
160
187
195
202
216
217
206
146
258
181
176
210
236
255
223
164
173
166
149
129
166
174
226
133
183
222
170
176
301
225
231
130
173
228
191
172
201
206
200
169
213
200
173
141
160
264
173
217
173
147
130
238
236
174
194
217
115
130
164
173
236
141
164
181
246
171
130
182
203
181
176
189
177
122
179
157
229
200
229
214
178
211
176
188
163
283
204
185
219
192
179
204
263
214
129
190
183
164
210
233
217
241
190
201
132
191
184
147
241
206
189
236
231
130
132
250
145
251
175
234
180
204
192
211
210
220
210
204
209
179
176
143
201
263
188
285
204
162
166
193
146
164
157
150
194
129
146
227
235
185
169
183
214
226
157
210
218
247
190
168
244
168
176
236
213
200
285
203
182
229
230
185
148
200
205
188
263
206
202
162
169
160
199
255
183
206
176
222
179
172
146
151
171
247
152
150
165
173
191
227
167
179
266
197
190
138
164
217
240
162
220
234
270
185
283
190
236
236
129
231
181
187
169
207
229
178
219
185
138
130
182
178
130
178
180
216
176
156
219
213
148
225
183
217
193
166
200
210
180
211
292
234
173
262
217
176
169
174
200
169
199
199
158
202
166
139
132
178
147
231
146
166
165
250
183
234
230
173
232
214
171
214
215
122
192
222
259
179
145
200
251
303
225
181
179
178
210
177
211
199
213
171
175
200
205
196
257
204
169
235
219
171
184
200
201
160
214
199
226
188
215
132
158
186
164
129
130
226
207
191
236
186
155
158
201
168
183
138
169
158
191
190
200
176
220
161
184
130
128
175
219
206
200
204
201
194
181
200
157
222
176
196
163
174
226
182
168
213
192
242
261
270
160
179
194
232
146
236
115
214
146
237
192
148
173
258
130
149
158
199
186
204
180
195
164
197
192
130
138
202
145
210
251
191
169
173
178
202
214
222
237
115
202
205
171
129
205
218
157
164
239
237
173
185
149
235
183
217
164
155
158
197
178
214
220
173
210
189
233
218
218
195
197
164
204
169
195
185
163
146
141
163
147
145
184
238
205
173
204
192
169
185
168
202
227
241
197
173
138
192
165
186
179
129
146
150
162
196
201
216
161
163
146
205
215
179
241
227
129
190
238
146
208
215
233
194
187
201
201
168
285
201
191
153
141
205
164
212
115
216
219
177
170
208
197
182
138
173
258
146
173
170
180
184
180
197
145
176
179
210
171
224
191
234
222
240
211
192
202
205
133
173
208
129
164
172
249
161
169
239
146
211
145
218
239
211
171
182
150
209
226
130
178
215
282
267
184
178
246
130
145
173
129
248
206
263
204
176
196
179
182
291
158
180
168
204
129
176
164
204
175
155
242
199
146
183
197
188
143
168
181
133
243
176
252
184
157
194
206
208
180
255
206
226
145
230
141
223
254
115
149
226
210
198
133
224
179
170
216
178
305
210
236
168
185
200
242
133
265
158
204
133
236
227
238
164
204
155
161
296
199
187
208
240
203
130
213
209
201
194
195
222
129
182
146
281
239
172
192
174
143
211
156
241
198
179
229
162
169
162
184
231
167
129
129
200
239
178
182
130
146
210
239
158
190
141
222
241
198
203
204
141
188
230
176
194
204
182
166
166
188
186
145
176
194
229
237
166
130
176
146
210
164
122
141
211
238
130
202
122
174
161
237
185
146
217
208
272
143
211
190
179
176
200
158
262
130
269
174
133
129
168
230
210
158
141
181
129
229
149
179
141
122
130
130
197
149
206
217
170
206
182
205
283
204
186
202
238
130
143
212
282
190
115
223
177
210
190
167
245
181
186
230
204
190
218
184
168
204
301
202
172
200
184
208
222
146
162
264
206
173
204
164
192
256
152
162
166
202
177
212
129
239
173
211
209
227
227
129
184
141
191
145
211
161
258
199
173
161
187
166
169
258
215
202
209
151
122
176
205
213
146
226
228
160
226
221
239
162
271
153
130
185
168
218
183
191
231
211
182
235
129
246
178
169
130
178
178
202
274
181
217
173
200
133
128
144
176
203
215
162
181
133
210
214
264
204
210
204
239
129
266
181
180
188
296
179
255
173
161
176
178
146
255
129
176
210
233
173
214
213
182
252
227
166
230
178
236
129
200
186
184
200
222
122
155
167
187
181
195
171
183
161
156
138
167
247
173
230
217
151
191
183
144
210
184
171
184
173
176
170
228
176
195
146
244
194
230
189
216
176
182
173
258
210
229
200
165
177
217
269
198
149
178
189
173
194
222
193
228
129
190
226
230
129
190
162
249
143
213
179
155
182
166
122
231
173
129
175
138
211
151
130
204
204
182
178
222
153
238
155
210
138
190
224
184
210
130
239
248
211
164
199
335
180
130
202
210
173
175
188
211
194
184
209
157
160
212
191
225
185
185
204
214
199
145
229
132
200
165
173
233
193
129
169
192
220
164
169
230
269
164
190
130
215
184
141
241
176
143
130
198
231
201
143
153
209
214
176
217
195
210
201
145
199
187
194
194
183
139
197
216
214
248
204
151
264
175
185
144
203
238
146
225
221
187
206
190
167
129
195
159
182
185
164
209
130
239
156
258
274
161
217
173
227
174
172
180
173
178
225
173
222
206
133
209
165
192
130
160
163
175
133
158
235
122
206
191
156
149
145
265
145
275
207
261
145
203
179
181
160
246
138
130
173
230
237
306
197
160
155
164
158
195
180
202
217
230
201
180
184
182
211
258
203
214
202
149
129
197
162
228
115
145
182
173
220
143
174
176
202
283
143
180
182
195
182
201
169
235
256
184
208
167
146
152
227
224
237
194
238
191
248
192
214
243
189
217
173
194
209
197
149
129
198
129
188
202
156
229
119
208
180
209
303
176
165
178
261
179
148
129
195
194
146
190
181
138
258
233
129
115
247
264
185
173
172
230
168
206
200
203
129
168
170
146
255
188
274
155
201
199
259
214
203
253
201
160
215
141
206
207
191
115
233
179
244
173
227
178
195
150
146
164
176
200
211
201
176
271
162
225
184
214
247
210
140
175
224
201
227
249
168
189
232
174
255
162
240
133
173
168
141
181
169
175
242
173
255
202
183
252
151
129
184
202
145
208
178
146
254
172
203
179
211
227
166
178
204
276
168
161
253
216
190
244
241
221
173
181
195
173
129
164
228
155
217
242
222
315
171
168
204
242
176
206
161
171
145
183
201
173
174
130
199
190
176
130
190
182
210
199
182
151
207
244
182
182
158
146
236
146
176
159
217
130
128
164
177
138
176
176
164
274
191
133
182
173
133
176
176
183
235
162
161
133
173
173
244
146
182
187
130
225
146
267
303
211
153
176
227
201
131
171
225
170
173
224
156
172
211
204
182
128
184
168
176
179
169
240
150
221
143
258
236
182
171
240
200
164
160
198
236
191
129
119
172
230
155
130
158
181
228
168
146
184
200
248
130
176
230
205
150
217
211
303
187
177
173
224
270
213
210
129
179
173
229
197
160
164
150
263
176
201
143
201
178
188
210
165
115
221
184
229
184
265
147
169
230
215
200
169
187
156
186
170
173
161
269
171
143
129
155
210
167
129
147
316
229
190
243
202
197
200
131
251
178
214
162
201
248
224
170
190
180
255
211
204
199
210
146
169
219
221
233
173
281
200
119
173
186
201
149
163
266
184
191
214
179
191
253
216
167
170
278
276
247
167
216
197
188
171
187
215
193
160
145
173
173
210
146
222
221
162
233
157
231
170
205
130
165
221
214
155
190
203
174
138
264
230
197
173
228
237
141
160
197
205
177
190
168
146
178
207
145
204
181
180
179
191
250
146
212
178
225
182
169
154
228
115
171
237
194
168
183
238
204
130
193
200
204
217
217
183
200
164
184
169
204
251
197
150
169
169
163
173
209
201
157
183
158
155
241
239
132
151
211
206
164
164
176
150
221
257
193
203
201
195
246
263
157
201
206
192
238
155
176
171
200
192
226
149
195
130
264
122
219
208
130
158
146
146
185
190
206
149
158
207
182
156
204
143
179
143
192
156
205
130
132
236
129
170
257
246
282
130
230
186
249
176
192
200
279
155
182
170
176
171
168
217
256
221
221
133
129
217
220
160
161
205
206
205
133
146
176
174
213
299
146
257
195
199
176
217
218
129
221
209
180
184
216
128
204
132
208
161
181
300
183
129
180
247
226
199
210
255
189
172
213
297
185
206
200
171
133
251
215
198
173
156
266
258
187
180
197
176
143
195
162
192
159
166
184
179
200
170
171
204
143
195
192
222
169
190
129
168
201
225
130
199
204
155
225
184
183
240
193
189
153
206
244
192
189
188
146
161
171
291
216
176
201
206
210
230
216
190
170
145
175
158
176
179
169
214
225
176
245
155
211
171
180
194
230
200
143
130
247
138
155
211
248
191
180
211
207
241
247
184
129
240
129
214
183
171
250
140
160
226
182
182
133
222
216
151
261
130
238
176
189
206
186
208
207
198
130
172
177
150
186
179
202
257
190
172
193
232
221
204
195
195
183
173
225
218
173
130
184
217
158
150
167
335
204
173
231
223
169
242
133
122
183
184
217
166
268
245
158
195
295
209
145
175
213
184
173
161
167
221
190
180
214
194
218
225
115
141
132
169
174
173
129
184
190
130
171
181
201
214
179
168
143
217
210
184
158
155
178
157
188
204
209
215
239
211
177
176
191
283
201
209
176
130
164
186
210
230
164
179
115
211
218
202
236
250
207
161
168
278
130
191
191
145
201
148
147
176
173
188
210
160
173
263
231
207
201
184
146
198
264
220
168
210
133
145
202
260
195
179
129
225
189
159
145
271
178
156
173
143
133
150
230
165
242
143
245
153
230
130
152
158
184
150
146
203
211
294
297
133
238
202
218
179
225
169
199
168
217
211
203
204
197
161
253
147
174
218
166
221
115
129
234
230
143
162
258
231
193
155
149
173
227
214
234
151
176
146
211
189
204
147
173
129
335
247
188
251
173
237
214
189
149
204
168
217
178
200
223
228
218
195
243
191
182
256
197
224
228
192
267
175
287
167
179
234
181
230
202
210
188
152
216
254
181
214
209
169
168
209
218
233
231
143
168
206
129
218
193
143
198
183
210
244
182
215
223
182
173
254
176
168
270
146
239
221
129
158
227
168
222
122
158
180
175
166
166
204
256
203
195
214
179
234
259
152
146
177
138
217
226
206
283
155
254
146
224
183
270
189
201
169
178
162
115
143
181
164
192
251
192
156
161
200
246
186
190
206
278
242
133
183
210
275
188
172
234
173
211
190
179
182
195
186
227
179
181
299
201
207
211
231
191
239
162
256
184
239
241
156
217
238
213
164
221
214
230
226
182
130
206
181
122
152
169
174
146
164
194
222
171
178
238
179
180
129
195
129
174
122
168
221
160
173
255
209
246
115
249
180
168
146
211
178
186
213
204
176
251
244
209
182
204
180
257
146
146
181
200
146
204
226
187
156
211
217
222
168
231
202
146
145
214
238
263
217
150
190
145
201
191
184
199
175
190
178
198
270
162
129
186
162
210
184
165
207
176
193
201
205
173
146
181
191
245
158
205
122
155
179
192
172
206
130
185
218
191
201
211
240
222
203
185
265
206
223
176
180
180
182
155
215
239
239
226
166
209
164
201
133
175
201
160
157
156
170
179
145
176
155
217
293
158
129
225
130
130
225
138
221
169
231
257
210
180
212
202
211
251
162
282
158
164
173
211
211
130
220
146
122
122
262
181
176
171
274
185
262
221
138
210
146
129
183
166
178
150
204
169
146
171
173
204
178
174
217
205
174
230
181
170
162
238
246
162
236
196
245
206
130
247
199
146
173
272
256
222
141
186
264
214
190
199
203
200
176
182
255
257
143
149
115
230
160
173
193
176
219
158
228
130
208
210
201
211
206
133
214
130
130
177
185
182
239
173
226
164
174
216
130
246
173
230
197
177
146
205
201
244
155
254
167
170
192
279
131
176
211
171
249
201
162
152
176
246
246
230
204
162
192
183
204
247
146
264
128
201
204
247
175
217
141
144
234
181
173
143
164
218
235
203
212
237
129
181
133
166
235
184
162
218
156
181
161
203
145
185
180
195
172
191
179
204
182
180
155
188
149
214
161
145
143
180
180
248
184
210
226
178
168
172
168
173
197
130
181
217
180
221
158
182
171
233
220
143
211
247
183
178
193
228
225
173
143
129
175
129
193
191
188
204
129
188
216
145
204
234
176
193
180
145
206
257
224
191
196
183
216
165
217
256
183
146
130
176
226
262
230
208
202
224
115
145
130
211
210
157
221
177
129
263
188
138
190
130
130
178
164
160
296
122
329
144
194
227
294
196
161
145
184
143
237
152
172
184
195
284
155
200
162
241
296
246
264
239
162
213
192
232
240
179
231
176
209
133
191
115
217
264
130
157
168
195
240
217
173
260
205
157
159
232
166
184
168
210
202
129
186
168
133
138
191
160
115
143
209
163
166
212
130
133
171
204
214
233
156
204
158
158
149
260
225
173
155
162
130
138
184
221
266
219
146
202
138
170
156
153
115
224
209
174
146
129
204
146
215
236
201
234
236
265
156
172
237
210
257
281
175
168
193
183
268
173
155
130
144
335
181
217
210
195
208
129
185
173
115
173
128
190
237
214
204
141
200
219
129
217
240
184
210
179
254
173
229
167
202
161
173
216
244
200
158
199
119
210
178
162
168
170
194
155
177
186
225
176
191
210
210
259
205
204
151
169
225
263
129
281
210
182
210
205
205
164
173
192
146
186
146
130
201
173
236
166
335
261
234
155
154
168
254
176
158
129
152
180
222
209
230
174
155
210
133
222
202
185
219
194
213
184
173
161
175
161
207
221
206
196
202
194
214
178
129
206
254
214
129
276
201
204
182
151
158
230
164
159
237
151
178
158
130
153
149
263
205
175
193
281
196
143
178
207
228
200
201
180
183
206
157
227
176
206
146
155
254
210
155
161
246
206
158
241
146
208
180
187
184
129
156
205
174
130
219
181
144
182
247
256
132
181
173
210
146
223
158
204
189
201
153
206
130
244
155
231
146
230
178
158
130
199
204
173
130
182
130
226
218
146
179
209
201
179
239
171
146
210
189
253
200
153
193
184
202
249
203
229
211
173
182
222
192
193
200
188
285
179
173
228
146
119
176
190
247
226
176
149
211
230
162
200
247
304
158
204
144
291
204
162
217
204
156
230
178
191
176
210
254
210
168
164
129
158
129
239
158
180
226
179
217
191
184
204
193
173
294
180
193
115
141
298
196
190
176
278
178
218
186
210
178
158
229
189
180
146
168
199
238
205
156
198
145
196
194
287
231
129
192
130
200
129
204
230
206
179
190
180
254
214
146
198
160
257
144
161
227
156
173
204
254
210
195
130
173
161
222
173
300
162
176
181
238
173
161
264
176
208
230
176
150
133
233
173
188
169
129
169
192
179
211
172
146
225
161
210
277
191
146
130
210
206
173
146
241
182
227
173
130
185
130
146
180
215
236
184
192
206
211
217
144
181
219
122
153
178
226
269
156
190
150
164
207
208
210
217
145
198
160
195
179
164
200
143
222
191
207
152
197
236
201
191
244
206
231
204
146
179
212
200
211
138
146
217
195
218
246
132
256
173
176
204
190
209
200
255
146
247
133
196
236
164
199
130
201
184
182
236
243
167
164
224
248
195
199
186
172
204
270
145
200
190
143
150
198
164
169
205
150
237
178
206
210
191
209
256
185
210
224
199
214
217
178
218
207
202
246
185
146
248
150
224
141
150
217
266
145
178
115
183
228
177
169
172
202
218
270
175
166
209
129
182
145
188
247
173
216
218
180
237
146
152
254
182
156
208
173
184
183
207
197
133
173
183
143
151
153
216
239
166
144
230
133
205
189
129
220
169
191
235
174
210
130
202
161
192
115
238
145
210
162
145
208
182
191
186
185
181
195
218
192
179
266
263
200
198
176
262
225
171
138
305
249
183
158
216
181
160
265
178
254
157
153
173
146
207
155
210
164
224
208
130
153
130
202
140
191
163
187
183
146
234
166
199
173
182
200
194
169
160
156
258
162
162
173
157
233
243
133
204
200
177
222
182
231
164
201
209
245
202
239
204
182
191
141
254
176
184
236
129
207
146
161
129
167
169
195
238
157
158
241
176
187
173
182
150
168
141
254
208
195
133
166
215
172
227
141
167
177
198
230
257
244
188
227
200
171
176
178
192
207
190
247
233
204
210
188
194
188
175
196
201
201
250
186
200
206
207
231
146
278
131
234
201
200
202
188
288
130
153
168
172
209
178
146
217
277
184
155
173
218
175
166
146
239
210
146
171
164
209
203
184
204
192
202
195
204
130
194
266
241
222
186
146
237
236
205
162
204
115
151
217
204
182
177
296
176
241
176
204
209
182
200
162
181
176
169
195
129
200
195
206
227
226
144
141
194
174
188
173
133
226
225
138
191
252
192
312
133
162
164
209
182
238
260
145
182
183
129
251
181
231
181
201
225
167
209
209
145
238
241
158
173
189
199
170
189
172
217
122
210
236
182
267
230
217
180
234
155
213
199
192
191
169
158
173
145
146
239
184
168
176
230
222
204
173
215
204
176
204
192
133
270
189
257
143
182
203
266
217
129
270
173
176
191
209
185
162
175
145
129
229
211
223
189
222
178
188
185
173
210
160
182
115
176
217
160
212
222
219
182
243
216
217
196
133
187
244
198
129
201
191
249
202
189
160
141
182
212
248
186
217
238
231
175
164
217
210
179
195
155
250
289
183
224
130
169
218
342
179
254
217
230
171
164
152
235
240
179
195
192
180
235
129
228
222
145
185
203
234
188
239
197
236
211
201
173
170
200
168
187
183
201
176
237
252
195
233
229
239
217
194
231
227
202
158
247
146
178
203
158
204
240
228
221
174
247
171
166
159
152
176
226
234
179
130
179
197
158
161
200
238
188
227
148
141
171
259
145
181
177
176
229
147
220
202
247
178
225
200
168
138
213
229
183
182
209
156
182
252
247
187
231
146
274
164
171
158
194
218
176
206
168
149
230
162
168
129
161
173
230
283
215
236
282
211
217
236
244
179
119
130
176
164
146
174
217
212
255
227
149
161
204
200
175
200
152
210
245
218
147
173
200
168
230
180
277
193
180
162
173
173
122
216
180
195
158
223
132
231
129
158
146
249
210
179
226
210
236
173
230
206
172
179
168
177
221
237
191
192
180
185
201
227
217
230
180
130
259
240
204
183
173
179
251
224
183
182
168
213
184
227
179
133
281
209
227
198
193
221
212
158
191
168
235
166
176
210
146
178
192
250
204
141
183
207
164
215
173
158
204
197
202
246
144
164
179
191
179
217
245
244
146
200
185
130
200
173
166
201
189
164
200
191
179
274
199
173
143
146
152
171
199
145
180
207
193
193
155
203
175
200
208
247
158
145
201
175
186
242
166
180
173
176
115
281
201
182
228
143
177
155
168
149
264
145
160
185
131
156
228
179
195
236
129
185
206
202
201
176
287
182
242
130
258
131
181
176
210
244
188
182
129
223
181
227
211
218
141
173
164
146
183
150
179
149
199
150
257
203
213
276
274
129
178
227
224
197
249
217
206
248
258
171
166
264
210
131
225
211
209
181
228
172
240
170
171
218
130
266
201
143
199
168
184
194
170
227
161
170
183
129
235
119
191
158
244
169
176
200
173
194
149
203
237
223
206
216
173
196
173
208
197
270
199
146
190
148
279
221
153
202
269
216
146
195
207
143
150
221
185
161
210
133
174
225
129
221
259
173
132
173
188
307
191
192
171
204
177
214
210
200
170
176
172
145
204
185
219
182
211
130
206
225
205
158
176
174
335
237
183
226
171
268
253
205
164
257
210
176
222
149
211
185
210
145
145
194
210
175
217
122
130
262
165
179
288
242
254
264
249
130
201
168
229
243
200
129
230
210
173
176
143
168
229
155
185
166
223
246
164
205
119
183
133
234
210
211
203
176
177
248
173
201
180
211
133
200
181
163
198
156
303
202
239
167
239
230
168
158
130
143
173
184
246
130
189
147
115
164
227
263
195
275
204
185
155
115
129
203
216
161
180
171
171
261
252
183
220
185
202
258
199
165
179
178
132
222
159
264
226
179
171
253
221
193
173
169
182
189
179
178
191
201
176
202
195
164
173
281
130
191
222
215
210
262
233
223
133
153
185
169
261
230
164
198
217
186
164
175
204
151
144
173
215
217
183
211
141
162
210
260
199
173
182
238
195
204
216
180
152
146
186
156
168
205
229
176
211
270
122
130
217
169
161
149
279
249
178
265
169
225
143
169
241
272
202
122
183
264
211
159
233
208
217
150
227
203
201
200
182
216
264
129
240
240
144
191
129
141
204
179
162
206
146
162
203
204
170
191
190
170
215
164
173
217
199
151
335
211
168
207
182
140
188
129
129
197
208
197
143
176
208
251
214
239
168
258
199
176
207
193
263
129
202
203
204
197
164
115
175
193
129
183
222
256
129
217
167
208
146
186
193
173
236
130
210
201
211
191
151
213
166
204
246
130
207
138
162
217
188
230
241
161
179
213
217
191
178
170
192
155
210
189
219
172
150
259
190
262
191
335
172
143
187
258
202
237
133
184
162
232
204
185
187
146
299
210
256
155
252
247
191
204
168
177
242
119
248
146
226
255
196
198
168
223
129
164
164
160
200
212
159
204
247
255
211
173
202
222
201
222
129
275
219
204
176
222
209
247
209
211
178
165
130
200
164
241
175
183
189
185
201
183
259
168
141
217
146
183
156
182
184
210
198
185
169
220
169
122
201
146
146
166
242
202
277
186
151
169
179
247
264
180
199
248
122
217
164
205
161
141
201
158
229
230
224
222
183
169
173
182
128
199
205
180
191
130
182
190
228
185
200
206
145
235
191
241
172
206
202
133
176
217
122
167
178
231
163
162
143
204
151
160
252
181
155
206
173
187
183
176
222
191
156
211
129
131
194
163
194
129
146
171
312
149
211
200
186
192
130
133
141
242
237
302
217
173
130
286
151
147
176
213
204
217
167
207
179
193
174
185
152
222
261
206
206
201
153
202
224
203
177
176
230
236
213
129
173
115
180
169
213
283
162
269
217
229
173
201
215
210
193
222
233
239
205
173
173
156
186
133
169
181
234
212
205
239
168
188
212
181
171
145
129
241
150
219
165
224
201
133
164
207
156
156
200
267
191
202
173
146
183
232
185
179
229
268
129
160
202
217
208
155
133
164
164
149
145
138
189
185
197
160
203
238
144
146
176
179
179
147
263
222
217
215
183
239
150
158
173
164
211
176
252
194
164
176
186
295
192
247
194
199
202
342
210
133
205
241
235
184
168
158
143
199
184
211
202
217
171
245
204
195
233
115
162
205
178
141
183
212
175
217
186
179
185
183
222
182
178
231
208
212
179
169
281
145
194
179
239
183
183
164
143
148
218
156
156
168
217
204
141
240
201
129
162
145
150
191
130
115
256
162
181
158
146
205
215
243
130
209
145
246
193
130
152
182
218
185
204
176
122
168
201
229
231
217
184
150
241
129
217
164
206
129
281
231
209
239
130
181
187
189
197
173
164
228
210
191
189
242
186
176
152
192
131
130
155
185
183
173
207
122
176
295
146
155
239
196
212
185
203
183
176
179
160
146
206
222
206
145
224
167
173
184
169
164
200
229
130
240
173
183
129
144
210
276
129
238
214
182
197
150
129
182
233
198
183
216
225
195
172
183
256
181
115
171
227
115
211
270
219
188
205
155
183
222
203
146
200
173
197
203
200
224
210
133
188
248
223
239
200
184
236
214
246
133
173
201
257
182
198
262
219
162
201
129
129
209
155
241
203
195
164
173
255
150
138
320
186
129
206
202
231
222
138
194
218
115
294
214
256
185
219
166
264
204
257
146
208
251
213
200
168
259
179
170
143
129
282
240
241
219
254
190
258
188
208
183
187
130
199
145
246
173
174
160
146
229
236
146
215
259
215
210
211
169
127
199
171
162
189
157
172
164
213
224
210
360
335
166
169
151
239
194
220
189
205
214
176
228
246
203
129
164
129
204
181
133
186
130
141
182
188
244
143
141
208
195
259
207
178
115
237
129
176
257
202
272
235
208
166
214
179
193
122
190
149
132
204
222
173
253
216
264
218
119
208
173
146
204
161
196
173
226
173
199
200
178
228
129
177
209
185
195
122
168
149
197
129
171
179
187
164
232
204
230
221
182
206
173
296
284
204
236
211
219
238
168
217
186
156
281
173
277
171
128
281
158
204
232
130
210
175
188
157
182
204
237
241
253
164
191
169
199
181
184
204
180
222
186
195
201
155
209
189
164
169
180
150
183
206
270
204
197
178
165
179
162
204
227
166
162
170
180
166
157
211
261
211
146
133
231
184
173
243
250
232
236
179
261
159
164
206
184
242
179
133
168
261
196
146
225
175
256
208
227
191
162
217
222
204
211
168
206
191
207
189
232
236
334
249
129
180
173
151
244
204
138
213
210
162
156
225
222
160
162
173
213
203
171
130
194
265
219
238
184
133
283
164
151
173
195
203
297
206
232
214
131
206
152
133
225
268
144
217
180
164
192
158
225
181
204
182
146
170
204
229
191
203
146
188
335
221
130
225
175
189
192
183
133
137
192
238
202
172
168
191
186
257
150
130
230
192
226
206
173
176
236
195
161
194
190
174
200
146
185
238
192
214
273
199
258
150
179
177
130
155
194
217
213
190
202
217
169
237
265
165
186
199
177
179
173
162
229
221
129
228
156
195
199
146
133
180
182
187
199
204
169
172
288
199
225
191
274
236
152
279
133
267
164
173
182
128
206
183
178
221
221
206
168
176
130
201
275
162
194
211
222
203
182
180
173
161
182
146
155
173
179
230
195
146
210
208
141
176
254
227
182
247
200
189
146
214
204
283
211
202
158
236
195
130
189
261
199
212
171
183
221
238
166
145
180
146
191
205
190
210
146
146
163
192
229
168
199
143
129
176
204
146
179
210
173
176
173
160
143
198
214
169
129
204
158
238
199
182
188
222
150
257
146
142
182
261
167
218
230
129
182
259
217
216
229
148
210
202
129
217
211
146
207
141
130
130
240
263
201
235
173
194
206
185
189
181
220
147
210
218
174
300
244
198
254
167
224
197
265
129
241
181
132
130
213
215
230
168
295
216
240
233
149
173
171
182
170
189
129
237
182
164
176
239
203
240
173
179
287
204
218
204
180
144
221
270
244
162
162
234
185
161
159
211
210
230
160
189
169
197
215
240
214
185
186
164
225
242
192
222
174
204
146
226
258
188
146
186
257
158
150
176
183
173
115
115
182
122
257
146
171
246
221
131
129
152
201
207
211
129
166
346
216
218
151
281
238
178
161
115
217
225
179
145
201
206
143
143
130
147
235
173
187
180
201
141
250
217
210
202
228
202
115
242
240
192
199
168
184
236
146
251
228
200
279
214
211
222
181
158
229
180
141
200
192
245
217
168
210
162
157
217
162
166
177
122
179
250
256
182
253
195
204
183
218
194
242
261
184
176
222
145
239
185
133
217
236
210
151
181
129
133
169
190
202
178
191
182
176
168
198
265
184
214
159
187
242
169
160
180
194
190
168
209
238
206
180
201
178
235
158
192
234
244
129
157
185
262
376
211
221
197
176
181
231
184
225
201
206
162
188
210
178
178
200
242
158
197
191
266
261
224
128
263
221
173
153
207
249
187
146
172
178
230
224
198
145
173
173
129
207
184
129
172
151
239
207
260
222
204
242
227
238
173
218
260
169
216
130
225
218
141
231
192
185
197
133
198
156
259
190
210
182
204
180
185
194
159
156
189
221
173
184
143
202
132
158
176
201
171
163
150
169
138
146
218
146
133
131
198
270
147
179
204
256
178
217
149
202
157
138
130
278
173
129
179
231
173
187
149
208
173
133
198
209
165
147
259
184
186
145
145
155
148
171
115
200
170
180
234
172
255
195
263
190
119
173
231
201
191
146
192
168
200
152
160
189
182
164
216
185
194
173
180
153
138
271
146
210
194
263
189
129
187
234
179
147
133
181
236
249
150
174
155
256
202
218
182
202
187
129
187
236
159
185
168
206
202
203
185
237
200
201
245
162
263
191
205
182
168
210
256
206
285
173
129
190
161
298
150
164
184
242
184
220
252
211
176
202
303
212
173
209
192
187
179
164
239
225
222
168
115
201
217
115
197
129
236
253
246
202
146
201
181
251
188
122
225
164
173
191
129
169
176
143
184
157
234
250
202
129
184
160
208
201
209
130
210
174
146
192
204
211
213
176
184
190
209
283
143
222
174
294
192
201
187
218
130
277
130
237
180
176
242
236
168
153
259
189
259
222
183
224
143
231
167
230
194
273
119
119
227
158
191
190
172
206
210
236
146
146
227
176
209
199
157
269
210
255
202
268
258
179
221
201
178
187
174
130
287
253
239
179
194
191
187
201
180
181
161
143
215
166
245
215
186
196
237
169
122
177
145
152
171
149
146
180
172
246
211
147
173
133
132
156
231
184
173
284
239
182
182
230
192
146
183
156
205
211
236
174
176
176
155
164
202
162
184
175
186
178
156
284
257
193
129
191
275
159
255
187
242
155
183
158
199
282
151
193
210
181
201
129
178
188
162
188
221
265
210
254
150
227
282
230
187
217
141
202
238
183
204
169
149
238
203
243
194
195
213
170
204
130
188
206
226
162
182
146
177
178
232
176
168
202
230
168
244
146
189
202
181
172
176
130
228
227
160
185
165
169
184
191
130
185
248
151
192
211
172
194
283
130
184
188
236
220
178
206
115
221
191
173
188
165
158
211
164
195
252
129
191
200
221
210
251
227
204
217
173
184
216
179
122
171
263
187
183
285
164
146
207
153
166
143
168
192
209
266
129
187
156
161
182
183
141
202
149
171
204
138
168
115
175
115
184
256
215
264
174
250
161
225
189
234
260
146
173
194
155
191
230
213
129
242
130
181
176
199
184
210
144
186
239
240
143
206
247
144
287
217
208
182
187
181
160
227
173
179
174
173
178
183
205
175
210
133
239
231
217
130
204
219
133
234
129
146
178
206
168
217
130
264
164
183
204
201
181
141
335
239
130
172
206
248
167
173
209
202
150
223
146
208
194
206
205
204
192
200
212
217
242
357
211
173
236
187
203
186
166
243
175
236
202
179
178
122
207
207
162
215
168
182
198
173
146
156
192
228
266
141
147
229
209
207
220
181
201
162
178
161
207
115
201
216
249
167
239
182
208
200
214
150
190
156
181
229
146
133
199
173
239
200
298
201
146
200
130
175
155
158
335
144
129
207
164
167
129
161
206
185
213
243
176
146
237
204
239
151
133
240
176
186
150
173
184
181
229
176
201
178
146
130
194
206
210
165
215
191
264
193
149
176
239
304
201
180
217
201
164
150
222
204
194
203
130
210
205
239
258
214
189
151
174
257
224
146
237
210
161
171
156
133
130
204
176
232
164
191
133
172
143
191
173
202
202
203
242
204
176
168
162
318
130
221
206
169
178
184
201
146
205
141
176
173
141
180
178
172
179
133
259
146
217
185
132
151
130
191
240
199
232
129
238
222
185
204
256
186
184
133
172
184
227
141
173
180
239
115
217
204
221
130
180
242
229
194
151
236
209
238
173
130
239
235
173
129
182
278
186
211
225
185
217
143
275
141
179
131
133
146
206
178
173
242
131
200
168
228
143
172
129
202
222
146
197
166
149
130
335
236
203
191
193
209
269
222
173
187
181
145
209
133
173
187
209
146
272
206
181
231
132
210
182
229
211
277
172
133
225
130
195
232
247
145
157
221
178
213
201
206
146
129
201
130
181
201
231
203
164
179
155
188
235
182
155
176
216
162
201
129
159
191
203
185
181
179
226
193
265
243
216
205
173
185
270
242
244
258
175
115
239
167
203
194
189
204
241
160
182
196
175
286
176
236
164
179
168
210
230
128
214
211
251
155
185
254
219
238
272
153
224
210
191
191
204
159
213
150
191
300
266
180
130
158
235
168
200
143
204
130
145
133
228
193
201
130
230
193
146
206
130
235
203
196
152
168
176
156
138
173
163
204
176
231
173
191
184
169
219
197
173
129
217
204
146
128
129
238
216
227
189
147
130
133
201
163
176
191
204
143
167
215
182
115
227
176
130
162
205
129
130
234
208
204
200
214
133
229
239
253
176
178
130
182
249
174
225
179
179
157
228
170
169
192
191
138
210
260
226
245
238
162
197
169
239
185
214
157
166
173
248
251
146
200
214
145
145
179
192
190
210
172
146
133
235
255
218
164
219
240
230
302
169
198
242
192
236
162
166
230
264
244
231
225
153
133
158
216
278
130
221
216
267
146
206
128
256
176
176
211
184
191
214
179
122
145
195
211
191
145
181
191
192
138
176
149
173
219
217
180
145
307
166
164
182
160
149
173
144
235
182
145
180
179
182
175
218
215
133
227
193
199
275
146
176
150
219
130
161
189
183
191
184
168
198
210
222
188
195
204
205
130
204
191
179
138
211
202
175
214
194
173
187
191
206
176
115
155
283
158
191
157
216
138
149
208
234
228
191
247
211
166
206
146
176
133
166
162
225
183
146
150
143
250
157
206
191
152
235
180
179
209
207
195
172
173
210
154
176
201
150
191
246
207
179
192
212
205
162
185
176
197
146
229
207
201
168
250
185
130
222
198
184
178
150
173
169
218
146
163
248
264
150
209
201
201
254
129
244
251
208
143
185
211
303
211
173
145
236
236
130
184
231
192
132
215
138
213
173
129
203
254
144
235
212
184
217
194
185
145
237
178
204
201
203
182
169
192
158
130
158
176
227
211
210
264
201
233
267
173
158
173
221
133
237
204
211
155
157
217
181
225
138
145
214
218
130
241
184
141
141
201
164
218
168
186
159
265
152
212
189
210
171
276
162
146
242
176
232
204
129
205
206
188
217
165
233
188
235
195
288
253
182
209
129
190
147
203
168
197
129
259
204
166
210
255
208
151
174
156
201
225
306
184
255
177
143
130
274
240
197
188
176
151
130
242
151
241
182
204
145
173
155
248
201
238
209
147
184
174
191
208
202
168
236
175
129
217
168
247
225
122
128
191
252
162
248
201
180
218
216
158
200
147
255
210
167
242
235
173
257
176
202
150
146
138
218
224
195
204
202
174
245
160
143
180
173
169
238
180
218
238
231
228
184
263
168
165
256
128
115
173
211
175
174
180
146
145
181
149
230
207
259
141
273
185
129
129
179
239
254
210
255
272
204
183
145
206
145
179
146
151
176
129
212
264
200
143
132
235
199
244
185
226
226
115
178
162
144
146
191
133
198
198
180
158
115
202
176
205
230
146
115
185
204
213
173
188
161
182
157
143
162
159
244
220
188
184
129
146
168
248
230
175
162
145
218
176
204
146
143
178
215
245
165
181
152
214
251
264
122
221
178
146
129
239
182
164
204
168
115
214
209
198
211
184
241
130
176
202
236
258
146
200
211
211
210
183
166
211
192
146
168
184
213
236
204
176
201
231
258
189
169
259
270
264
256
189
274
186
207
255
180
193
201
162
138
222
164
210
176
182
180
133
210
157
133
187
132
129
176
160
210
184
172
207
210
210
195
143
184
145
166
255
191
146
152
205
204
228
181
202
167
164
182
277
211
260
170
141
240
184
176
176
146
258
129
174
203
175
216
176
230
177
201
180
130
211
210
256
165
170
201
143
184
185
176
157
220
180
210
210
176
195
182
274
196
189
146
115
319
143
239
271
174
230
145
242
176
178
253
181
217
192
213
184
170
144
260
147
179
130
210
164
178
230
133
129
186
248
129
115
155
173
133
218
236
189
228
204
162
185
176
155
204
180
122
198
194
133
276
200
193
288
129
258
164
145
143
214
194
129
202
240
158
176
183
169
165
188
230
204
115
225
129
261
178
150
229
199
157
133
185
204
283
209
191
173
185
173
128
184
250
211
183
156
138
173
173
254
146
172
179
172
200
222
155
210
221
180
230
230
183
209
259
146
186
326
129
147
158
201
219
182
225
173
129
151
201
129
179
186
207
207
204
199
160
179
205
195
224
200
190
147
145
170
210
194
247
176
220
214
280
129
248
238
204
302
206
168
146
178
215
185
239
156
195
178
235
130
167
168
155
150
146
162
204
246
129
173
211
194
230
145
172
234
129
226
193
145
204
186
183
129
158
202
196
207
177
173
216
180
172
158
179
204
173
256
168
263
155
155
208
209
215
211
146
300
262
170
184
133
129
184
238
216
181
288
130
210
145
158
157
192
203
161
204
182
229
218
162
285
204
176
187
202
161
166
201
162
270
194
232
165
129
185
210
212
260
146
274
129
158
177
227
217
181
189
238
175
152
204
217
207
180
204
133
200
162
150
162
183
167
201
229
240
239
186
213
160
167
208
211
130
185
210
195
202
243
202
171
201
201
227
133
221
191
176
186
175
145
225
202
229
129
130
164
232
236
206
150
153
189
188
247
176
184
200
202
155
194
205
181
133
227
202
200
176
130
217
201
190
215
173
217
197
178
158
264
182
226
199
189
187
202
224
250
244
168
159
177
160
270
219
227
202
129
130
214
181
322
210
214
215
213
225
188
171
145
202
175
178
224
208
210
201
201
146
185
213
174
205
152
145
238
222
234
127
230
129
191
265
182
130
146
173
227
212
175
146
211
232
173
240
226
256
173
201
149
271
265
174
253
156
169
172
176
130
119
236
172
143
130
152
179
209
214
208
129
174
173
141
168
129
200
230
168
231
304
202
230
211
189
174
173
227
185
158
217
173
217
237
257
141
206
218
211
175
182
143
146
191
184
130
210
130
181
195
173
199
200
230
215
195
217
163
187
169
237
201
211
178
173
191
221
278
283
160
143
173
170
227
171
155
184
236
206
210
191
217
173
129
192
208
158
182
146
146
186
192
211
199
204
184
197
184
235
185
179
174
247
179
248
143
146
182
146
129
212
227
171
231
219
195
205
205
201
224
201
201
234
231
167
204
161
201
179
130
151
201
209
158
191
143
175
221
240
145
194
146
155
172
266
204
200
235
145
201
230
184
217
239
167
181
195
138
228
293
215
176
265
156
157
236
231
204
149
194
176
143
182
158
204
144
187
176
188
228
157
231
141
158
168
173
245
211
217
204
214
229
173
168
184
183
204
228
196
156
188
202
211
183
209
236
179
230
185
179
144
151
206
227
217
148
181
133
173
188
228
213
181
183
230
130
168
259
202
223
115
188
185
244
150
149
133
182
171
157
214
162
200
167
230
223
143
215
162
162
173
145
256
204
163
158
143
219
204
197
202
166
214
211
258
152
164
162
212
160
226
181
225
122
192
206
178
204
143
181
115
129
130
222
240
294
184
217
200
246
201
129
201
184
219
189
182
176
146
146
219
188
219
213
231
164
198
217
146
143
172
156
207
244
201
239
191
179
218
230
231
129
206
227
248
204
178
164
145
227
176
201
129
183
201
173
195
161
143
162
222
199
228
187
145
200
209
215
145
146
227
188
176
200
235
147
115
194
167
204
162
200
242
181
236
131
210
250
147
145
235
181
237
183
130
202
204
158
194
129
202
212
231
195
203
146
182
210
192
115
194
144
198
173
176
227
196
182
168
233
149
158
197
129
216
133
241
189
146
180
191
176
155
206
188
232
201
218
187
143
212
215
201
162
222
164
226
229
206
131
130
182
166
138
173
173
228
173
132
129
146
163
210
162
179
200
182
181
180
249
218
141
156
209
137
170
183
233
164
295
150
272
184
295
216
201
178
176
199
234
218
243
200
217
222
260
229
202
202
236
172
188
178
229
180
156
192
173
168
268
176
217
212
179
176
226
213
171
179
164
158
169
130
230
262
171
221
151
306
155
202
176
228
176
299
160
168
173
302
210
205
230
178
254
200
207
191
225
230
245
227
156
184
146
164
225
165
129
218
334
130
130
242
211
230
184
191
207
218
221
224
145
243
204
143
201
159
166
217
202
204
167
187
209
143
251
180
129
164
152
247
169
164
193
168
195
230
173
130
241
251
173
199
242
255
202
249
211
178
225
245
225
176
230
204
145
158
173
164
183
206
233
160
184
129
225
247
210
162
153
184
200
174
183
260
203
195
129
203
235
188
158
203
205
169
183
228
183
158
182
201
171
191
191
198
217
197
242
204
167
254
129
185
115
213
152
205
151
210
204
264
197
206
296
176
171
162
215
155
244
164
274
173
238
141
214
168
208
150
183
166
191
230
192
176
210
184
205
217
178
209
180
133
143
145
236
275
189
200
146
225
204
115
243
190
199
188
287
202
180
156
189
313
192
149
231
158
202
195
146
210
176
201
246
199
183
185
201
175
167
215
146
188
176
173
179
180
261
243
146
185
179
130
204
179
223
158
245
221
176
222
216
212
206
235
212
200
252
266
256
251
263
222
160
259
229
171
246
164
162
130
216
204
191
129
174
231
182
182
241
277
180
264
176
145
156
168
149
146
206
179
171
247
164
230
211
143
229
217
163
213
149
201
129
267
169
161
227
202
195
201
176
145
192
161
143
241
229
174
176
184
204
242
208
211
199
178
146
180
183
203
129
219
205
190
130
196
257
303
179
234
220
204
186
206
192
214
200
206
235
206
210
188
129
202
173
272
184
211
150
156
236
215
130
228
176
151
221
194
182
157
151
174
272
128
270
193
162
193
162
186
203
176
177
151
146
190
184
254
197
233
182
129
166
166
257
252
230
274
185
201
261
213
269
205
160
204
145
159
216
147
230
172
195
263
185
201
233
170
179
230
211
160
215
173
188
187
211
157
163
178
239
215
217
212
236
173
191
207
259
238
180
156
224
188
224
199
191
211
133
202
156
155
164
197
133
211
176
128
130
236
183
130
176
164
199
168
187
122
143
173
182
185
162
145
186
162
115
195
242
204
195
192
206
145
183
211
219
310
221
222
169
129
229
192
218
246
172
239
210
164
180
191
191
249
146
189
225
193
254
236
192
241
281
217
160
268
187
193
215
203
262
235
206
180
162
204
177
213
186
299
205
204
178
194
223
146
173
161
161
173
146
145
230
130
211
192
200
191
221
115
179
133
212
133
168
219
179
162
241
146
203
162
161
199
168
202
197
162
255
246
165
155
129
186
218
182
177
294
252
217
203
153
169
143
250
189
169
198
168
168
204
241
197
191
158
133
173
214
202
122
191
185
184
130
181
162
130
208
217
145
230
146
193
168
184
182
190
130
256
211
195
166
133
164
133
182
276
185
167
158
210
174
129
207
186
204
252
159
182
273
168
176
225
204
181
180
175
115
211
249
175
228
177
173
184
140
217
217
146
184
208
259
150
168
304
204
289
158
122
156
184
211
133
184
180
197
169
158
204
192
209
176
158
253
195
152
181
115
192
183
173
197
241
181
178
143
176
232
302
188
164
156
193
202
207
146
161
188
182
214
215
150
244
162
211
173
216
250
220
208
217
216
164
149
231
261
216
253
210
208
177
236
213
188
130
239
186
197
173
203
195
146
215
246
168
138
145
236
211
264
146
210
161
183
203
228
129
176
203
129
182
278
217
214
229
291
149
144
178
221
183
229
238
237
173
196
168
199
178
192
221
133
158
129
144
219
206
265
181
144
179
155
209
178
222
206
144
164
222
211
173
209
204
210
182
141
191
164
184
203
173
206
182
210
146
129
227
176
160
158
119
207
235
183
181
130
229
180
226
164
200
228
240
226
210
164
138
246
130
204
204
147
255
235
176
181
155
166
174
221
150
288
179
218
218
191
218
229
233
209
188
158
143
215
129
184
244
263
238
182
220
184
141
188
200
204
182
143
181
215
184
146
190
190
207
193
184
283
176
216
146
268
186
190
203
205
129
204
217
166
174
130
146
189
191
177
210
158
177
161
184
180
179
243
227
172
155
195
257
211
210
130
176
229
141
181
278
206
130
177
213
231
133
264
206
166
182
206
129
181
181
115
190
143
168
210
267
195
146
187
210
161
167
221
222
192
146
173
271
202
122
186
179
230
158
250
195
182
298
130
201
215
178
115
218
269
213
153
206
129
222
145
231
141
228
149
132
201
262
240
248
222
152
146
239
129
172
129
221
161
274
258
247
200
131
202
176
200
231
176
129
179
145
262
200
234
156
168
129
239
210
173
266
204
213
201
215
153
168
214
195
212
229
146
217
130
322
204
282
217
211
150
130
129
185
184
183
205
174
130
209
191
212
179
198
156
190
201
150
203
160
178
176
187
198
209
207
257
200
184
211
222
192
252
180
194
238
191
146
252
250
176
157
164
252
201
195
294
188
226
209
228
204
200
227
296
155
155
182
210
178
251
180
204
163
168
170
176
146
201
222
173
202
169
174
204
202
130
162
237
225
167
166
194
190
178
240
179
195
177
201
176
129
192
147
224
189
196
232
283
202
167
218
156
155
215
179
236
138
147
225
182
177
249
195
164
236
209
145
215
252
151
144
179
146
191
245
210
209
265
160
159
146
195
217
143
193
203
191
195
129
191
158
200
169
167
204
182
186
200
184
181
211
293
156
288
192
217
193
202
130
194
156
193
186
168
171
187
237
146
147
231
186
228
146
173
248
217
289
217
216
176
176
129
178
189
200
206
166
159
173
173
223
173
237
257
173
129
214
236
150
133
143
168
220
207
238
133
204
166
235
222
178
217
221
239
207
165
194
232
182
149
176
191
166
184
193
226
171
192
138
183
180
158
230
169
238
210
156
115
218
141
176
202
225
229
115
205
129
281
200
184
145
161
181
204
130
141
157
204
246
202
185
192
183
209
214
203
236
216
184
218
227
173
122
130
216
273
174
129
217
183
211
234
145
182
130
159
185
208
186
247
169
246
203
185
204
277
199
144
201
129
194
187
166
268
264
149
299
239
122
176
150
279
173
165
155
200
174
202
150
143
141
255
141
208
200
143
158
161
238
129
189
146
166
300
203
172
200
236
262
200
218
176
203
242
173
215
201
302
146
292
180
229
208
199
209
164
162
171
262
246
275
180
176
130
210
133
208
239
143
129
258
173
211
176
217
203
162
204
179
146
199
166
199
115
248
264
216
173
211
277
185
146
130
218
174
168
115
257
166
228
227
222
176
210
173
156
178
168
192
188
168
168
217
190
307
226
223
245
185
190
250
173
158
166
233
219
253
202
247
249
264
168
145
199
166
210
174
155
150
200
237
196
153
173
189
213
262
206
241
240
210
158
180
179
173
222
158
177
224
133
242
171
195
227
269
149
146
180
190
202
176
210
247
161
191
186
240
207
217
138
162
189
205
303
156
190
191
133
130
216
203
182
262
236
236
202
249
176
202
242
141
216
160
215
185
211
177
217
259
212
115
197
160
130
184
204
173
204
234
184
184
210
231
146
188
129
254
317
146
210
176
168
210
201
182
183
230
209
216
214
204
221
197
192
230
207
227
146
179
210
145
192
209
166
145
194
169
232
219
216
146
205
179
200
188
176
190
222
184
188
256
171
185
152
146
238
209
145
173
200
204
130
166
184
225
129
199
225
284
218
184
178
225
176
145
171
204
204
233
129
155
141
244
198
133
211
190
178
165
202
228
168
217
227
246
200
215
256
146
179
191
174
160
268
181
141
207
130
204
264
156
176
228
129
217
300
200
180
208
206
252
224
261
204
146
164
260
243
164
197
166
266
173
178
146
158
185
210
211
130
210
207
218
143
222
204
189
191
173
213
244
223
168
248
162
176
257
214
146
202
189
247
235
226
130
179
204
182
162
216
244
176
244
157
179
200
240
204
162
267
303
129
115
196
179
146
197
129
130
130
200
130
220
188
145
143
181
183
217
189
211
170
230
215
218
204
169
190
183
168
246
199
219
137
255
168
283
166
261
173
162
230
160
129
257
204
129
173
222
155
281
146
209
164
176
173
143
226
129
182
229
176
145
149
226
129
143
193
239
224
238
193
211
292
250
129
213
159
233
200
133
178
252
247
190
222
143
230
191
155
195
140
169
146
244
178
141
130
184
193
133
144
239
255
203
211
203
212
252
129
195
162
130
181
130
158
201
238
155
248
213
205
168
150
219
283
164
256
211
176
129
178
179
253
173
165
130
185
152
209
208
164
133
156
283
216
271
264
183
216
160
184
185
200
194
202
158
146
253
185
217
183
237
200
247
176
202
146
256
211
119
130
180
163
200
171
217
240
176
220
236
145
252
261
178
146
216
169
152
150
234
191
158
233
211
129
170
130
158
266
237
197
143
152
141
173
248
195
212
156
178
191
182
197
200
239
180
207
173
222
200
153
159
206
155
234
141
193
222
162
129
211
185
211
296
176
168
183
223
201
237
138
199
204
264
215
166
158
296
144
145
185
201
130
176
146
146
234
240
165
216
144
133
287
236
202
333
202
178
183
237
194
215
203
162
164
176
150
185
241
133
147
172
265
210
194
164
205
256
266
115
237
210
190
162
296
215
173
227
215
214
335
183
173
230
115
146
141
262
174
162
221
204
130
207
174
206
148
221
189
146
141
268
173
180
162
244
246
214
176
252
192
207
202
178
205
155
156
240
143
167
175
186
209
157
202
146
144
209
205
177
176
222
202
150
129
218
268
132
162
185
229
167
225
204
156
184
230
227
195
168
179
130
146
206
210
176
184
150
141
181
173
194
229
176
201
201
159
175
212
172
251
185
227
206
142
179
146
227
186
130
190
227
162
225
200
189
181
263
206
225
146
241
191
146
191
146
268
167
162
217
160
146
252
155
195
183
179
130
210
171
249
173
205
153
174
144
204
129
173
186
248
168
144
174
256
182
184
179
191
180
204
162
182
261
189
162
168
128
129
129
129
179
130
146
146
254
156
130
217
217
199
151
226
183
205
176
226
189
210
145
173
203
191
176
218
215
202
193
187
146
266
164
221
143
230
173
217
210
211
196
237
252
173
181
180
189
162
180
182
178
186
212
242
241
178
209
174
206
128
195
236
285
168
202
160
155
183
152
204
182
210
217
203
144
161
201
216
170
203
115
181
214
174
186
264
115
178
225
162
181
173
204
219
216
205
173
163
195
169
191
188
206
299
145
129
175
225
173
176
247
202
258
195
205
169
170
115
177
158
193
274
216
238
308
149
146
192
179
210
144
186
174
173
190
143
150
173
182
151
159
204
237
207
206
238
209
217
181
156
198
177
159
175
253
181
195
204
221
158
214
160
210
320
213
243
179
171
202
146
227
187
149
162
175
156
175
145
181
209
204
198
119
187
130
160
153
205
228
201
212
219
143
230
187
202
237
172
210
132
215
193
151
216
155
172
130
206
210
144
218
283
191
193
252
156
130
173
228
182
182
161
215
204
257
206
236
176
190
161
129
200
283
199
209
191
177
172
200
173
210
190
200
200
178
193
146
217
243
193
158
129
158
280
191
164
162
251
193
239
173
257
297
201
161
192
133
129
143
149
210
173
246
174
151
244
157
179
234
196
204
231
173
162
263
232
217
254
227
175
229
185
189
156
162
182
208
192
247
166
231
158
146
180
212
270
239
207
193
141
197
178
207
146
133
214
240
146
191
200
216
203
182
174
173
200
157
193
248
143
230
182
227
226
188
129
183
182
214
164
228
165
233
172
247
211
146
201
130
204
145
213
156
206
191
211
173
176
130
200
209
221
169
226
183
218
226
161
201
168
191
264
264
129
155
202
156
173
229
180
209
258
164
167
179
201
146
184
129
129
210
179
210
188
181
230
206
202
222
183
197
158
200
180
213
235
169
173
223
162
221
174
151
158
189
195
178
266
250
269
178
130
257
183
204
185
274
146
189
264
239
143
173
145
202
277
194
224
169
239
178
129
227
202
192
257
273
180
179
130
242
209
146
211
248
277
130
229
266
244
201
166
115
141
251
162
145
236
201
115
182
173
171
201
217
200
143
172
179
175
132
261
161
189
144
197
243
388
188
183
225
201
225
161
210
237
185
204
248
193
210
199
260
191
201
235
173
192
238
179
238
230
183
176
208
174
162
179
201
158
212
166
145
209
217
202
193
238
219
211
174
167
256
146
217
235
230
264
287
201
169
210
230
133
249
192
158
162
176
194
177
191
179
173
236
176
232
225
175
210
206
186
195
182
149
187
210
208
196
263
196
191
173
179
164
300
241
162
170
204
265
164
217
195
143
133
175
183
168
173
242
143
130
146
211
335
129
169
151
249
196
165
168
143
210
173
222
176
129
153
245
179
138
194
239
190
133
238
179
146
204
183
158
272
130
143
278
188
214
145
227
209
201
184
150
221
231
179
115
190
175
244
153
221
229
205
231
153
243
193
179
185
129
245
217
218
211
257
165
182
226
182
204
179
254
152
146
189
157
247
238
228
238
177
129
188
186
173
286
187
181
211
228
162
115
234
191
221
217
130
128
264
146
164
213
146
160
217
318
203
180
164
170
176
247
179
185
150
156
204
173
180
254
161
146
188
158
146
179
143
197
173
200
184
195
210
234
187
133
223
217
255
202
233
168
190
237
179
129
176
169
191
202
155
189
210
200
224
229
188
174
191
173
129
239
200
146
156
181
202
215
130
145
173
210
184
210
129
146
128
203
169
182
204
170
173
162
115
230
122
138
214
146
221
211
157
270
182
227
222
219
254
188
169
183
193
210
173
210
221
201
258
172
191
204
182
170
176
335
215
173
204
217
193
162
210
162
202
211
183
249
173
129
234
204
211
162
246
159
187
115
130
188
171
224
129
158
211
223
180
151
236
222
129
183
169
147
210
308
225
187
184
143
177
155
216
200
202
238
264
172
130
211
169
173
246
263
129
122
255
173
171
187
176
212
130
129
184
231
227
217
177
184
130
185
185
244
211
234
130
201
184
173
255
184
145
160
211
225
236
215
210
146
162
138
192
214
158
207
285
243
283
191
227
188
184
186
234
264
190
217
287
209
147
143
129
144
217
166
185
203
182
190
231
163
206
119
173
222
181
176
192
199
211
229
133
205
155
158
132
176
173
334
227
155
184
183
193
145
201
210
202
209
188
173
227
196
172
194
204
252
172
150
173
168
202
151
173
192
276
168
188
201
201
172
191
215
195
173
243
231
260
141
198
182
206
230
244
179
227
262
185
149
255
225
133
182
260
188
220
231
168
206
202
188
177
149
214
335
189
203
195
188
194
146
149
182
194
230
157
176
173
237
248
143
246
144
130
169
200
153
173
191
181
191
210
202
205
190
169
169
230
158
194
236
186
246
130
237
196
236
238
208
224
187
173
129
223
204
185
230
157
146
146
172
217
197
256
166
242
173
165
176
204
213
300
181
204
204
256
192
130
119
212
234
193
247
179
202
254
181
132
205
193
184
130
217
226
143
183
240
179
210
188
158
332
174
173
208
187
143
192
215
186
162
173
210
198
179
178
133
236
209
168
188
150
182
320
146
164
179
178
252
143
249
234
150
214
173
179
267
210
209
156
209
218
200
151
173
211
211
164
248
232
183
243
217
228
130
182
202
204
199
200
208
228
146
150
194
182
233
184
182
188
200
240
180
206
146
239
129
252
256
216
143
132
152
226
207
203
211
179
203
197
129
162
141
155
178
179
130
133
223
164
170
223
259
222
244
185
158
221
206
130
204
283
238
173
261
174
164
315
173
213
175
162
192
132
246
146
194
184
192
133
204
270
188
194
200
222
226
164
210
287
214
163
190
171
154
213
133
172
211
225
215
132
145
145
162
200
155
179
228
168
174
173
201
228
212
146
158
188
168
187
145
173
211
173
199
130
225
264
175
204
171
194
190
231
138
192
173
234
204
216
160
184
152
243
172
168
133
191
145
178
184
250
129
178
230
186
197
133
158
115
191
129
155
133
156
201
191
204
179
217
145
205
205
161
168
224
164
179
211
173
133
191
164
162
183
168
180
178
260
267
203
184
162
182
176
168
260
255
218
208
211
227
173
191
216
178
214
158
211
210
210
201
176
191
145
215
200
145
143
193
149
262
233
157
184
155
193
206
239
158
169
179
268
190
164
239
335
128
211
214
213
237
151
160
181
129
205
230
204
192
302
201
202
175
216
145
158
186
227
130
236
236
168
196
157
162
222
277
176
133
155
185
185
194
214
247
229
208
173
205
143
203
173
243
204
242
179
221
129
128
244
185
204
168
242
239
176
204
138
249
176
146
206
183
169
209
179
182
263
129
132
189
153
180
180
155
158
180
184
129
176
209
173
203
202
130
159
195
205
239
242
296
204
194
179
177
270
202
224
245
181
158
176
156
129
217
218
210
206
235
203
184
207
162
217
285
176
173
194
239
276
251
197
180
176
176
141
162
227
156
128
176
169
195
247
183
182
204
173
202
169
214
181
210
173
248
306
152
191
197
191
176
219
202
217
212
146
161
180
201
133
166
189
176
264
168
178
181
190
145
178
176
176
257
115
130
146
220
203
190
249
162
240
230
173
194
200
197
115
210
150
115
219
187
169
122
190
191
166
150
151
144
144
258
222
225
162
141
172
190
204
259
225
196
173
168
173
182
191
188
152
236
228
277
181
179
162
252
130
230
191
166
220
130
216
172
236
181
177
156
184
194
130
209
252
145
143
157
133
184
238
181
168
191
182
220
198
192
182
173
181
251
239
237
224
155
149
212
234
180
216
206
256
240
213
171
234
182
236
157
160
181
299
229
210
215
192
162
158
183
263
189
165
211
204
115
242
199
230
173
156
178
192
204
130
201
130
217
179
179
168
146
239
222
195
235
225
158
228
156
211
209
201
228
173
217
230
255
224
243
184
210
173
214
180
173
222
210
236
178
276
195
225
239
210
133
210
212
244
200
160
274
177
207
122
177
145
182
165
210
146
255
204
182
172
119
181
221
210
272
217
252
141
203
230
115
225
224
212
169
180
189
130
152
184
202
187
238
177
222
222
209
221
199
179
143
230
236
188
216
168
210
236
176
238
160
129
179
146
199
184
264
146
232
183
203
169
184
173
187
177
180
252
179
158
199
129
254
219
233
202
158
191
143
166
210
246
158
238
185
211
145
192
189
265
153
173
210
241
202
177
143
181
180
222
145
206
255
179
130
221
158
237
182
276
212
203
335
210
149
231
214
217
138
165
229
152
179
210
158
249
230
238
182
191
145
199
204
221
122
169
176
133
211
242
215
222
227
131
179
133
217
165
210
229
181
230
194
241
168
173
173
169
143
164
190
265
204
192
201
130
246
189
176
162
262
185
146
230
161
184
138
211
204
173
230
195
133
230
202
227
133
141
217
187
152
236
129
211
176
130
146
203
115
186
206
235
269
115
226
225
129
129
266
176
157
239
264
335
206
204
204
207
204
204
164
222
198
179
199
194
164
162
255
149
201
208
131
201
175
210
199
167
209
215
213
174
216
250
252
216
183
226
231
184
197
191
244
133
162
122
203
133
176
167
171
179
202
182
178
146
159
161
191
241
219
146
200
146
183
252
173
231
203
162
185
151
252
145
145
230
201
195
210
210
218
217
229
150
147
213
188
130
197
276
146
228
194
213
197
210
221
188
183
201
122
281
191
169
115
208
258
181
141
130
170
181
221
257
163
168
210
162
182
144
208
203
130
164
182
224
246
176
164
155
193
206
191
174
146
170
179
212
213
168
157
222
201
328
203
173
155
115
205
183
164
259
157
170
236
203
233
178
287
221
225
169
223
181
183
183
180
203
174
182
215
171
146
185
176
212
204
145
203
191
301
206
212
244
180
162
201
238
188
130
176
238
202
205
192
157
216
162
149
206
171
230
146
129
163
264
178
146
129
214
191
179
247
165
176
129
190
191
192
285
128
182
173
146
129
119
218
185
204
188
205
202
214
161
151
191
201
202
129
210
129
239
210
229
173
143
204
212
208
255
210
231
201
206
173
186
259
225
145
278
174
184
201
259
236
241
225
200
236
212
238
145
216
182
207
210
145
115
221
206
178
219
218
218
173
250
265
242
188
201
145
173
164
156
219
171
133
236
164
215
115
122
158
181
182
172
239
199
197
133
241
216
115
156
156
153
231
129
202
258
180
287
244
172
151
185
177
185
173
189
158
256
182
158
179
211
190
183
256
173
164
210
217
217
170
211
232
130
160
193
146
239
195
197
184
210
196
219
198
170
173
212
226
200
179
229
212
228
150
288
115
158
216
176
230
229
122
162
146
201
173
191
133
154
158
146
204
208
164
199
196
155
201
195
269
206
130
204
229
237
182
246
211
137
222
217
276
129
115
215
205
210
202
206
238
287
217
220
205
239
129
143
150
189
173
202
195
149
185
156
201
176
164
192
130
201
169
218
252
210
168
158
320
176
183
157
115
202
191
235
239
176
186
130
169
129
218
164
193
188
200
195
222
181
211
165
184
254
158
199
214
145
228
129
185
240
130
193
176
166
173
140
246
199
214
153
264
164
184
204
130
231
225
208
146
146
203
210
200
197
208
203
179
250
164
215
204
303
264
262
138
167
170
300
191
201
179
176
149
138
203
193
197
202
144
217
243
194
204
161
129
173
129
164
200
201
221
158
146
228
197
199
146
158
177
230
122
213
214
244
147
230
159
173
130
188
182
247
173
211
214
177
181
181
214
188
179
155
145
194
254
202
197
206
210
239
138
149
232
145
206
130
192
264
187
206
248
254
172
192
138
265
195
194
235
300
271
200
146
214
227
251
180
201
206
186
166
223
193
237
177
173
244
181
206
115
184
238
184
143
129
205
146
200
204
183
235
173
158
176
185
223
211
191
210
186
203
130
229
241
234
184
183
157
229
188
224
191
210
141
171
217
222
217
197
208
216
201
274
197
287
211
146
143
221
185
217
193
144
175
263
187
176
201
198
233
198
155
233
133
199
229
184
195
178
268
204
189
198
185
240
180
214
146
183
172
178
227
184
202
179
209
251
236
327
180
185
168
259
185
200
158
178
223
146
228
169
244
210
141
181
150
171
161
200
195
196
212
179
258
227
183
230
202
211
156
190
238
189
161
161
271
192
211
133
260
203
176
115
217
168
130
178
176
268
169
211
249
225
189
180
234
231
190
258
211
172
228
129
146
234
207
146
168
257
173
158
227
146
173
218
255
204
177
176
185
177
200
215
151
209
185
230
205
144
231
210
183
145
176
188
235
187
192
156
150
188
192
256
215
146
281
184
173
176
229
188
223
153
161
162
173
218
167
167
244
173
204
146
217
186
252
145
162
200
141
130
186
166
160
207
176
239
176
130
146
239
149
228
155
183
115
230
237
143
208
216
129
179
115
130
242
216
238
173
130
200
130
264
219
230
180
201
204
191
205
129
184
192
141
229
201
146
316
149
146
249
229
264
146
202
188
174
202
149
247
218
172
188
166
225
195
224
122
166
129
217
172
257
201
257
227
168
179
212
156
234
206
173
180
130
176
211
171
160
299
145
204
244
173
174
204
210
164
178
185
230
187
129
143
151
209
129
230
169
166
178
187
210
187
230
190
143
176
185
184
211
231
138
254
129
195
179
130
145
210
157
182
179
172
209
184
189
190
201
173
186
217
168
249
184
201
180
218
225
146
129
228
191
189
210
180
225
151
231
138
278
194
166
169
170
245
206
226
130
198
186
133
194
182
168
244
266
181
172
268
183
145
179
183
156
184
215
245
115
132
216
173
245
173
246
175
164
146
179
173
158
231
245
228
210
184
167
191
230
239
143
156
246
176
177
188
129
166
210
176
221
191
119
191
169
130
294
182
210
204
168
173
236
190
159
206
206
217
222
241
150
221
229
216
248
147
227
173
242
173
285
169
169
129
218
257
217
241
152
131
141
202
151
268
162
244
210
238
163
202
177
185
150
185
201
173
226
211
229
236
171
176
153
230
214
232
206
146
205
236
238
222
211
191
230
255
190
194
174
208
207
216
211
209
189
133
144
209
240
169
156
226
180
164
254
202
183
204
231
173
186
222
162
241
198
202
225
202
200
162
241
173
287
187
300
184
186
179
283
222
170
146
201
262
176
143
157
173
243
157
180
152
209
162
212
161
228
217
201
175
169
173
162
202
159
155
160
202
247
206
167
173
176
182
206
212
181
145
188
221
170
195
159
129
247
190
165
183
252
233
209
188
166
217
195
156
206
203
230
228
173
183
174
173
224
195
173
183
115
234
146
197
164
228
191
181
182
202
214
133
210
203
175
204
175
204
180
206
202
218
178
254
155
201
204
259
143
227
195
115
158
180
209
168
230
234
173
174
129
258
196
200
157
185
177
175
173
179
193
236
146
191
229
217
146
165
170
206
264
225
230
162
198
225
257
195
155
204
214
153
252
167
210
146
176
201
195
152
162
192
183
146
168
231
157
198
156
129
130
185
223
185
244
182
173
194
173
172
211
130
228
240
122
210
201
115
280
173
179
162
221
182
192
173
176
212
189
203
212
170
129
257
179
146
176
143
200
201
162
188
179
176
252
229
191
162
176
198
155
163
204
210
230
130
158
156
175
115
210
228
217
206
207
229
221
153
208
181
258
193
180
156
193
158
146
218
179
182
159
238
253
335
254
173
218
146
165
146
185
261
195
206
189
172
161
183
219
201
235
184
157
208
146
146
182
245
228
130
216
130
171
173
201
192
151
291
284
219
149
210
202
152
237
170
260
129
155
227
179
210
189
268
274
244
201
248
162
262
204
210
162
173
233
183
173
129
222
214
242
182
293
180
204
165
190
119
217
263
234
199
234
272
185
239
195
182
129
195
164
162
184
242
130
182
241
191
230
163
160
129
164
145
201
179
178
276
258
191
210
158
176
202
210
151
218
143
173
180
176
221
242
243
164
187
167
173
182
222
204
255
236
160
252
188
171
225
167
187
211
164
150
130
176
194
218
176
240
204
204
178
172
129
160
210
175
146
230
153
178
237
244
209
189
204
229
176
241
233
175
183
161
247
228
213
178
204
204
232
265
160
183
204
166
231
115
146
179
224
202
188
210
189
151
264
217
195
232
174
253
195
186
130
158
162
190
129
239
169
257
201
217
262
261
176
184
247
129
204
230
132
184
145
182
155
169
145
173
162
200
199
192
201
203
189
133
301
176
185
225
169
173
174
222
169
246
141
219
146
205
203
170
164
207
210
195
295
208
202
193
216
211
214
160
162
251
217
255
182
233
150
184
259
217
190
214
222
190
150
248
146
277
130
178
204
185
217
327
204
255
208
211
167
229
259
203
271
130
190
236
208
173
202
203
157
228
242
173
258
173
185
122
181
204
175
167
129
162
164
175
218
195
204
184
252
170
150
253
157
130
201
147
211
141
289
229
232
158
154
213
249
247
235
213
163
169
218
208
228
193
195
217
205
129
173
255
185
168
200
191
201
166
217
193
197
197
130
168
252
185
176
217
158
163
202
247
252
143
221
217
277
211
187
244
122
252
252
244
174
146
179
243
152
247
204
202
200
174
156
129
237
197
188
252
146
146
240
179
197
146
211
221
182
159
217
133
158
158
188
223
130
192
184
200
129
122
166
180
153
204
173
178
242
236
183
168
204
169
239
210
206
201
219
152
211
184
173
202
141
130
184
188
300
229
210
162
221
182
159
226
153
211
211
181
183
216
171
160
216
220
261
212
218
227
174
146
170
292
191
172
219
211
130
151
248
182
197
221
193
157
247
192
173
164
184
257
204
128
194
204
196
175
179
184
241
202
191
176
145
164
204
228
179
256
200
173
236
130
183
173
183
245
130
213
211
213
278
146
195
204
171
200
185
262
231
185
129
230
173
155
164
206
141
173
205
200
202
143
130
182
245
181
191
217
220
232
164
208
281
264
206
197
228
184
261
209
160
253
210
207
196
243
237
167
217
131
204
153
284
156
133
207
244
204
206
175
244
185
243
129
242
335
270
266
262
170
146
206
158
236
170
231
257
175
179
200
146
191
129
217
217
211
153
176
253
162
175
146
176
203
244
129
189
217
150
226
247
231
262
223
146
222
155
225
173
232
217
256
255
176
225
130
189
185
173
231
173
210
191
204
204
161
197
319
223
190
184
222
208
194
129
156
202
129
139
277
141
174
203
131
144
158
119
204
214
204
206
220
245
206
200
213
257
206
196
210
168
217
234
193
155
166
173
145
129
166
255
162
242
203
221
163
158
291
335
115
222
195
239
218
173
122
160
156
235
164
230
146
227
184
264
146
173
158
176
191
215
242
229
206
177
146
251
238
195
158
129
235
211
175
204
189
228
130
238
208
174
187
173
242
173
222
200
193
205
255
250
173
257
130
115
197
190
204
162
174
182
180
164
185
179
204
130
146
130
170
191
220
158
237
215
188
156
179
162
240
200
257
150
203
257
174
192
146
217
201
133
225
146
133
201
216
258
238
210
133
237
198
128
264
173
145
176
169
141
335
165
203
225
221
225
130
219
236
158
145
266
166
237
129
178
198
245
193
129
162
168
162
178
156
235
132
216
130
157
150
221
158
218
184
143
197
186
157
211
157
237
192
200
164
182
162
176
153
158
171
241
195
210
202
255
227
195
211
217
216
162
157
203
176
160
162
130
145
189
183
271
156
164
199
217
214
259
147
210
242
162
176
168
246
206
182
182
132
248
129
158
161
259
129
144
227
274
122
243
203
182
158
211
173
199
229
130
173
235
162
189
263
184
183
206
115
214
179
208
183
211
177
146
255
200
206
204
202
204
255
191
223
204
168
195
212
196
155
129
234
217
201
238
146
162
210
217
130
264
143
204
173
173
129
182
214
227
186
181
266
159
211
249
207
180
130
201
213
202
227
199
143
204
227
191
240
160
176
173
217
129
221
159
166
187
176
190
229
230
133
160
184
248
202
166
267
219
199
250
238
187
206
173
202
146
160
223
201
231
254
264
168
210
222
221
162
172
245
206
155
193
129
173
252
184
211
188
133
173
182
206
251
176
231
152
162
215
208
202
219
227
133
209
147
143
144
207
241
168
211
180
144
204
238
194
249
194
214
200
182
160
145
201
192
201
193
200
191
130
129
229
129
252
143
133
226
260
197
214
204
239
204
169
146
202
256
158
190
284
155
214
184
289
191
297
182
174
184
258
169
182
173
176
174
184
115
149
183
183
168
233
243
210
179
130
226
192
131
217
212
201
263
267
155
184
164
152
235
214
204
184
201
176
179
178
181
227
200
268
174
184
157
178
179
178
220
176
146
229
146
179
195
241
184
162
205
180
224
179
198
200
130
217
299
206
233
176
185
146
158
201
159
183
168
230
165
186
162
244
205
179
145
163
180
227
217
129
251
173
122
122
208
143
270
202
227
173
183
176
239
208
239
185
171
204
236
168
200
195
214
146
189
204
309
177
224
178
206
226
217
201
219
211
185
224
176
155
197
155
210
200
213
232
206
144
133
225
182
248
211
239
176
184
164
206
206
179
173
146
259
185
183
152
297
130
194
242
191
252
182
166
224
216
224
146
204
261
150
164
228
204
176
204
214
173
263
195
176
179
198
204
211
284
130
201
230
174
185
183
227
129
173
259
179
221
226
173
146
245
263
130
183
248
146
138
162
227
146
209
146
146
168
266
224
132
198
176
202
270
143
176
176
152
239
168
168
155
146
188
204
192
226
200
195
217
202
181
189
174
222
217
185
166
162
211
206
155
156
209
158
130
233
160
162
130
239
168
225
191
130
156
245
246
234
185
211
217
227
131
141
176
150
176
206
193
208
156
173
226
207
286
184
245
169
247
150
209
157
209
181
227
146
200
189
245
197
200
178
202
149
258
204
145
211
146
150
176
206
221
210
181
238
222
187
188
201
262
252
189
169
173
193
228
167
184
189
191
230
146
231
267
115
200
164
146
146
254
231
130
214
210
158
133
161
212
164
206
203
163
193
173
191
185
146
214
173
144
166
187
146
184
157
233
162
210
238
146
154
207
234
211
210
171
184
182
157
214
257
261
176
211
176
258
184
129
178
211
141
171
212
128
159
230
204
214
211
158
226
155
133
173
164
227
156
129
160
157
201
182
133
275
238
256
238
217
146
230
187
173
217
270
173
204
242
164
228
215
130
176
210
226
222
231
225
146
169
146
223
197
190
119
211
205
188
214
171
251
115
155
176
129
164
376
188
180
129
181
162
201
234
179
157
217
144
245
151
146
200
211
217
160
189
154
173
157
189
173
191
236
168
216
261
176
173
162
173
240
208
217
190
259
241
211
204
130
129
130
184
254
141
254
143
173
193
258
162
197
234
145
181
133
145
160
203
194
178
132
178
119
168
205
221
204
211
129
286
130
188
143
203
146
274
146
213
211
209
162
194
199
129
182
195
168
210
210
166
129
217
210
158
203
219
168
129
243
156
211
230
302
178
216
130
283
146
172
145
226
285
182
144
161
129
237
241
174
209
129
167
187
194
146
229
191
183
205
181
201
195
213
222
204
261
214
130
215
129
161
173
130
208
236
229
150
187
189
130
130
246
130
222
176
184
202
227
229
192
209
206
203
188
158
203
129
173
141
181
307
209
230
185
176
226
204
166
245
265
210
246
236
162
185
210
184
186
200
173
195
159
205
130
199
155
214
201
173
180
162
168
146
173
203
229
225
168
264
143
145
211
288
230
201
156
176
221
261
196
182
155
204
226
257
182
185
227
141
158
155
233
173
195
143
211
146
183
156
172
215
210
146
202
183
257
231
250
211
234
168
129
173
219
173
218
158
183
233
214
182
229
159
189
193
146
280
301
222
248
188
210
199
190
170
224
235
245
141
176
176
203
156
239
204
157
193
214
188
138
184
187
238
128
168
183
237
202
204
182
217
282
150
188
239
261
185
217
145
280
200
129
173
150
171
164
130
235
252
213
149
247
211
143
173
175
278
173
176
213
119
201
238
250
217
208
256
185
204
225
184
222
167
151
129
181
233
204
217
164
161
230
247
253
184
169
145
192
168
204
146
190
191
144
203
164
210
176
189
254
203
183
150
207
175
221
201
146
188
226
209
217
236
184
130
129
268
188
173
130
115
219
182
239
191
115
239
186
168
176
186
145
186
230
204
258
206
184
203
158
133
161
221
161
265
133
130
115
217
129
176
156
183
242
221
208
231
203
264
181
184
130
176
209
176
173
255
202
129
204
185
151
162
228
175
173
173
143
260
176
236
180
201
215
129
185
227
202
204
195
211
212
241
176
145
168
198
220
209
184
130
202
162
202
173
129
193
228
161
146
138
211
209
227
173
239
181
149
178
173
204
162
272
178
210
217
209
182
176
174
199
166
130
168
143
243
146
176
224
146
187
191
179
187
237
240
205
195
162
152
133
188
176
146
183
230
129
210
210
200
210
161
181
177
170
210
206
215
254
130
130
229
133
155
176
186
229
164
160
191
133
167
243
138
165
179
254
239
133
246
211
259
200
129
115
190
225
203
261
202
176
215
145
221
141
231
143
184
201
182
162
145
228
220
216
210
155
145
250
185
275
146
184
191
220
229
146
238
182
177
180
227
186
261
230
208
258
179
195
202
191
202
133
217
249
190
178
246
228
177
229
192
151
162
229
155
195
147
201
257
204
138
168
165
185
200
178
158
188
192
145
190
264
257
166
156
244
145
201
146
210
224
182
149
193
171
169
150
146
210
225
176
256
239
164
170
186
205
146
177
210
225
122
203
303
224
192
195
170
221
167
115
157
173
145
130
130
194
173
167
168
213
258
247
187
143
212
115
130
173
171
201
239
173
183
182
287
196
202
169
202
175
184
173
274
153
188
187
145
172
211
208
129
251
247
178
164
146
181
178
173
172
210
130
211
183
186
178
200
176
162
269
152
193
227
261
147
230
256
189
147
193
187
192
133
222
222
222
133
155
210
141
209
159
178
270
285
187
230
228
119
168
179
210
200
177
161
144
152
202
158
184
158
208
176
161
258
183
178
200
236
171
203
173
129
171
176
199
179
173
195
185
203
174
185
160
280
201
194
176
162
212
173
185
192
218
164
175
146
157
173
129
246
239
146
211
206
222
171
160
229
181
261
241
303
235
203
201
210
190
178
277
259
184
129
209
192
182
169
190
202
214
179
177
147
166
160
144
191
232
141
132
210
227
216
146
246
247
146
176
173
275
252
202
219
130
208
131
201
233
201
210
164
191
217
115
129
201
158
146
186
210
210
164
206
186
201
158
256
159
184
202
133
294
130
129
168
189
257
212
220
222
200
133
210
173
206
180
186
306
208
228
172
178
168
211
210
267
176
173
189
242
191
210
200
205
179
188
230
191
176
150
201
145
183
224
185
184
130
194
173
191
195
173
168
190
206
220
219
139
214
173
176
176
174
203
151
183
236
189
158
171
230
197
146
206
146
130
257
204
172
197
149
130
160
148
180
200
143
129
242
146
156
215
264
210
216
185
278
176
156
146
202
204
263
182
181
205
161
153
197
149
231
194
129
158
188
202
179
238
264
182
200
115
162
179
156
146
130
176
203
184
183
208
208
173
176
217
225
259
239
214
152
203
188
270
129
160
229
216
146
128
234
184
199
176
230
143
182
214
171
181
174
201
201
158
173
174
184
204
162
189
199
204
236
150
191
176
173
176
203
185
160
180
280
206
162
211
169
169
162
202
179
219
133
197
167
130
176
146
130
183
209
144
261
129
211
173
176
130
200
227
150
181
164
170
176
146
204
206
217
195
166
165
143
200
202
166
173
129
205
167
170
236
210
172
204
191
183
193
201
146
229
210
146
172
194
260
206
157
243
157
146
186
186
230
133
200
215
192
225
193
167
130
158
129
210
155
253
186
180
210
164
229
164
260
184
141
252
144
234
217
202
158
333
252
115
172
225
230
178
161
164
152
192
254
247
200
158
162
180
181
174
204
130
164
183
158
211
164
150
115
207
115
229
179
204
205
213
272
255
166
204
129
193
182
183
150
162
207
169
173
180
263
238
181
237
162
221
146
141
191
217
158
197
178
207
172
210
205
143
235
217
201
169
248
176
159
296
179
158
208
194
146
176
141
176
217
162
273
130
129
155
186
180
150
204
143
173
129
228
158
234
143
181
151
155
265
224
129
211
210
130
242
192
222
162
160
173
131
172
173
181
166
258
205
201
192
287
143
191
204
212
133
204
217
220
210
158
227
202
271
171
137
172
200
254
218
156
232
182
169
210
190
181
164
173
197
171
157
183
208
252
202
171
277
212
133
266
215
191
238
185
224
216
235
188
156
173
228
204
141
245
227
264
167
201
202
159
232
193
208
202
180
230
145
221
181
239
173
212
191
189
202
188
179
235
202
177
204
226
195
187
164
229
218
184
193
186
244
146
172
225
230
192
164
188
145
169
138
189
199
188
160
129
175
141
187
200
146
173
166
201
169
203
158
250
206
162
210
227
210
182
202
183
173
221
202
129
168
230
204
150
150
143
173
182
182
217
160
239
176
204
130
214
146
130
238
224
146
208
206
266
178
203
199
173
156
146
184
160
206
133
175
184
164
271
210
132
263
210
130
185
143
175
277
177
171
184
143
188
251
191
253
211
185
129
209
138
168
193
129
158
155
271
262
251
182
162
217
169
242
190
129
222
242
194
197
156
193
141
129
205
155
218
130
146
228
215
200
194
240
211
185
183
146
206
246
162
211
196
128
272
128
256
145
129
186
173
144
211
115
194
210
162
146
181
165
215
234
130
238
173
164
132
243
202
173
213
178
217
182
173
250
195
224
230
186
167
216
182
201
133
119
252
162
164
263
230
130
263
130
257
204
160
210
241
246
206
205
172
174
215
167
158
166
201
189
213
150
190
251
211
176
143
203
173
146
213
229
258
210
176
232
267
146
195
187
208
187
145
249
209
216
187
202
180
204
230
176
165
176
171
173
189
122
138
241
156
249
203
242
221
176
172
164
146
225
185
209
129
206
183
160
164
215
179
248
271
202
212
239
228
179
186
209
183
225
176
141
238
181
150
256
238
162
219
164
171
238
261
173
206
176
180
160
216
259
146
163
115
252
180
170
157
170
172
188
232
173
232
235
258
176
203
206
214
192
205
155
191
172
169
253
214
156
183
191
143
265
204
294
229
184
220
173
215
122
166
174
230
274
256
119
191
232
183
191
184
130
180
195
243
164
145
184
158
186
217
200
226
208
204
143
211
143
171
143
191
211
335
181
146
227
149
213
227
242
189
130
122
230
255
290
122
176
207
133
168
204
259
241
176
198
239
176
179
211
176
184
188
206
181
229
188
166
173
227
160
219
200
168
217
217
179
141
182
129
143
198
194
188
165
180
230
164
257
242
173
188
246
191
183
130
333
166
275
133
192
173
189
172
190
184
257
191
180
204
225
195
168
146
160
210
192
283
129
174
156
222
210
211
176
215
168
162
143
211
176
194
180
156
201
138
211
204
198
218
146
129
229
191
184
141
173
210
240
176
215
233
173
209
130
129
183
182
115
238
173
185
203
179
184
205
146
180
146
145
261
150
236
199
129
188
241
250
258
180
163
145
147
182
129
171
176
168
251
195
160
163
210
158
162
274
249
146
173
227
180
204
238
158
230
210
160
174
232
174
201
198
190
225
158
198
263
130
173
259
214
226
229
185
130
187
182
146
176
129
252
202
217
205
206
180
182
177
130
210
174
176
197
203
209
178
182
176
227
144
150
133
170
194
181
172
249
168
216
225
179
130
210
195
178
247
179
252
164
217
182
206
225
262
146
201
179
188
130
185
217
167
210
164
147
199
155
244
173
146
158
182
228
129
182
210
130
115
235
122
161
204
145
194
188
146
129
130
206
143
220
204
173
159
173
224
156
207
146
222
187
190
166
232
160
129
211
150
249
168
166
173
169
212
230
210
191
172
204
201
248
246
115
199
143
200
168
213
195
129
174
179
133
129
158
156
234
216
184
171
206
242
204
186
259
289
139
208
241
129
265
176
210
151
159
150
173
209
145
264
179
133
187
251
191
187
258
148
158
181
177
132
193
215
182
239
174
191
179
218
190
211
133
168
169
192
294
160
253
227
182
187
206
173
176
168
201
211
201
198
249
133
183
236
191
162
233
266
195
173
146
169
158
173
179
160
208
199
188
115
169
250
195
146
190
182
173
283
214
204
184
173
182
228
250
122
282
217
208
265
177
182
129
235
173
149
188
174
192
166
200
176
226
201
176
173
185
244
168
206
144
218
200
210
173
225
173
152
155
179
202
129
164
173
178
153
194
265
193
288
263
191
200
192
201
264
158
155
155
231
215
182
146
260
187
162
176
179
179
189
236
242
182
132
198
335
195
169
191
197
195
228
146
173
195
238
129
261
180
199
242
164
146
213
192
143
191
231
145
225
161
209
171
176
171
190
155
222
173
147
158
225
202
239
244
206
214
168
156
185
129
183
255
286
188
194
186
237
191
201
187
185
155
122
188
155
146
253
174
169
129
185
230
250
130
188
185
178
231
203
211
230
226
182
185
200
146
195
153
195
159
156
200
200
180
208
190
250
214
196
160
201
203
238
212
216
278
182
189
143
188
210
198
172
236
138
169
216
122
146
170
217
182
202
218
157
249
240
168
174
151
169
173
161
188
191
262
175
146
188
236
178
190
133
133
299
236
185
129
244
176
218
197
250
261
175
183
211
202
299
129
146
204
260
210
272
145
206
281
200
147
129
157
132
130
236
236
243
169
129
212
183
187
180
239
176
182
169
164
146
189
172
203
259
222
250
194
187
261
219
130
165
150
178
219
210
169
168
236
188
244
173
152
161
234
189
202
204
202
200
206
187
245
235
130
198
203
233
201
130
180
236
211
194
180
213
146
218
192
191
235
158
201
160
227
169
181
274
274
145
162
173
238
129
201
193
170
190
230
146
181
156
156
197
168
201
147
132
246
283
230
248
210
162
159
202
129
242
209
130
264
164
173
155
132
260
130
158
244
202
176
200
129
201
166
168
204
203
188
250
201
257
151
234
188
209
204
172
146
200
192
191
202
178
222
203
272
270
238
179
236
204
217
155
141
158
155
186
181
162
141
209
182
179
180
130
179
238
215
181
173
170
162
215
183
211
141
185
182
209
205
183
129
210
173
150
227
206
145
236
227
196
191
237
176
219
200
164
230
146
144
144
146
195
231
280
162
130
202
177
180
133
180
194
184
236
196
228
183
216
138
176
161
176
146
230
187
210
233
217
168
212
184
239
145
272
180
181
128
145
189
130
172
146
129
162
166
151
171
115
179
230
204
179
191
212
183
158
222
274
179
176
209
203
174
129
204
210
218
228
167
184
288
169
178
200
215
129
130
255
234
144
190
210
161
207
128
198
249
232
226
204
122
202
217
181
200
199
176
192
200
263
204
162
256
230
235
164
189
162
176
146
205
173
210
207
182
200
173
145
217
153
179
313
151
193
217
204
146
145
241
221
243
182
235
262
184
130
205
230
188
287
201
115
201
335
164
191
145
155
179
176
211
211
160
246
180
192
174
129
206
227
184
334
227
195
226
208
183
158
165
205
180
181
217
259
217
242
173
262
138
115
244
184
147
202
194
173
219
183
228
261
132
197
184
247
238
177
186
129
178
202
143
182
133
224
179
199
190
211
211
153
215
249
236
217
190
236
173
166
141
173
179
122
169
245
180
183
291
192
238
210
246
145
133
233
249
193
185
203
229
130
221
160
214
222
141
184
222
193
146
335
211
214
158
180
179
161
246
129
222
173
204
150
247
205
158
208
189
217
226
141
214
230
119
179
185
146
180
172
151
244
204
157
247
179
200
191
183
164
146
276
227
176
171
215
194
179
274
179
129
211
181
168
129
247
189
189
185
130
260
184
185
185
210
133
164
219
230
200
156
172
176
188
260
201
161
242
173
198
231
199
218
129
170
185
157
162
174
217
190
264
158
130
229
227
164
144
176
219
171
210
239
259
260
189
210
225
130
143
221
165
231
280
222
166
172
222
197
184
282
143
190
170
210
161
146
180
206
129
238
145
168
130
217
243
202
164
206
208
184
156
147
234
160
138
158
179
188
176
130
176
228
254
222
172
160
204
129
146
230
210
224
188
214
281
222
160
157
164
191
192
217
236
153
222
158
130
184
204
201
165
115
230
146
143
182
167
303
149
182
248
195
195
226
187
156
181
239
167
173
258
152
211
130
166
228
228
222
191
169
199
214
130
129
173
193
215
230
210
278
191
129
198
188
184
141
159
217
183
160
169
191
200
313
182
246
211
226
259
194
184
115
256
183
173
145
204
209
169
168
201
184
234
176
129
204
210
250
150
173
185
164
156
206
209
193
214
197
234
200
240
189
130
278
210
181
176
175
145
264
122
145
166
130
236
145
178
217
264
167
158
211
197
171
130
183
197
176
257
227
129
225
162
208
216
185
204
166
164
210
133
158
243
194
179
180
193
130
157
221
178
208
166
175
174
158
268
200
146
189
247
213
162
133
210
145
129
147
263
234
210
210
150
130
207
208
210
184
204
175
216
145
173
228
184
173
246
141
245
270
168
256
230
201
191
208
201
143
176
228
250
162
182
133
189
208
173
166
156
247
219
234
204
169
211
226
214
129
335
130
170
181
227
246
189
193
158
153
173
240
215
146
227
162
200
197
233
243
238
146
159
183
182
187
196
228
251
222
208
180
202
180
186
185
189
162
257
176
173
184
180
195
172
207
221
143
129
203
143
201
209
178
222
250
335
158
189
211
187
214
138
236
201
200
168
219
130
261
176
232
132
197
211
146
133
210
209
238
228
129
159
301
182
204
189
224
191
129
211
180
214
200
146
164
239
171
210
230
210
230
180
129
203
192
190
282
250
182
243
179
239
204
181
192
169
177
202
173
214
129
130
129
156
158
219
162
129
296
228
225
182
155
231
250
204
208
235
339
197
205
144
186
190
183
176
225
261
189
191
222
233
204
217
129
223
206
179
173
179
159
238
182
251
203
146
253
217
215
173
233
129
179
130
250
177
244
192
229
130
203
200
227
156
285
221
162
115
204
146
202
168
216
165
210
223
228
202
187
153
195
200
193
218
130
168
184
257
193
190
200
184
205
202
212
146
214
212
210
264
190
207
217
205
175
182
303
180
141
158
221
258
159
183
204
173
236
200
239
173
261
162
146
211
218
168
211
202
209
191
235
150
177
145
230
201
129
315
173
155
164
238
221
183
188
194
204
122
254
184
129
236
144
179
218
215
230
143
161
197
145
210
182
146
158
259
177
141
179
228
128
181
180
169
219
247
165
162
182
238
161
257
255
172
181
201
229
155
158
218
217
180
221
164
128
177
186
188
138
254
166
185
207
245
188
236
202
224
202
225
251
210
201
180
222
129
201
225
193
146
143
155
210
235
201
169
130
133
214
205
179
252
236
224
234
191
266
239
166
164
247
270
171
176
263
128
259
184
230
209
204
204
183
200
146
122
178
191
171
180
206
167
162
173
177
130
220
180
241
183
172
155
179
233
195
204
210
221
145
146
255
166
245
210
190
175
206
217
161
180
200
164
234
183
204
197
164
138
200
255
255
129
145
158
204
173
168
200
214
202
267
151
230
198
158
149
176
158
130
129
263
181
239
204
143
159
165
210
130
198
115
202
168
196
124
207
207
133
151
130
217
179
288
200
152
300
181
184
221
192
160
195
166
263
202
247
218
206
202
256
216
215
130
130
177
194
180
217
206
194
191
151
157
227
176
173
129
204
157
217
194
129
204
210
133
216
230
236
129
227
181
165
201
180
191
227
192
247
182
173
192
217
225
185
161
178
248
115
205
168
254
129
228
273
214
183
230
211
237
160
201
146
227
258
168
193
169
210
227
216
212
138
214
229
222
193
145
204
172
162
204
218
190
173
199
174
230
211
146
145
185
173
178
215
130
174
168
180
253
210
224
115
183
222
181
176
207
192
129
227
176
260
231
173
239
210
164
162
210
204
188
164
162
207
195
242
162
173
210
168
160
210
239
158
215
153
158
239
197
232
176
228
173
193
224
241
146
230
238
182
185
165
335
181
164
144
146
173
162
207
149
173
194
130
137
173
204
200
195
191
227
160
194
231
205
194
188
146
184
182
212
183
229
130
133
146
175
141
122
233
180
217
173
207
175
130
276
162
176
210
164
229
239
202
229
238
129
244
130
176
206
184
262
187
146
156
179
160
157
158
186
263
133
160
145
200
218
202
164
156
129
201
296
218
130
245
212
173
163
173
230
188
158
133
169
178
185
225
208
130
243
236
129
129
179
133
263
207
180
200
161
172
243
217
205
244
174
183
210
216
182
211
189
183
145
173
191
240
173
190
130
177
231
201
235
242
180
133
217
164
205
155
192
191
192
143
179
282
200
176
179
188
201
198
221
198
202
146
218
115
244
265
260
274
205
210
213
164
200
173
146
201
190
191
184
179
141
187
179
194
214
243
162
170
227
211
198
243
211
201
240
184
184
146
200
209
229
173
183
255
262
272
150
166
204
204
204
129
192
181
181
168
257
132
168
260
172
183
230
238
182
146
143
251
151
247
211
211
190
115
176
176
183
129
166
184
239
204
213
115
162
133
130
263
149
188
158
210
252
157
173
193
162
204
115
145
133
188
173
202
204
202
172
206
204
141
133
205
248
184
264
182
195
230
157
200
164
130
206
129
182
195
186
226
230
215
158
233
238
214
186
164
236
200
169
205
115
184
217
193
182
211
257
174
183
130
201
129
167
146
167
146
216
169
185
166
185
186
160
207
176
213
215
173
195
225
130
145
197
230
237
158
169
221
238
146
204
182
224
211
129
190
209
218
176
190
185
204
149
146
184
173
201
204
231
231
180
130
213
173
225
176
205
248
238
208
188
194
228
258
211
138
177
130
178
206
192
230
133
190
176
236
206
204
236
271
246
223
179
186
160
296
229
246
186
202
164
149
235
202
133
185
219
195
187
224
228
205
129
187
217
190
130
204
204
146
173
173
175
129
217
205
243
164
216
168
189
181
130
169
156
199
252
165
200
185
150
193
200
129
218
145
205
157
204
266
206
222
202
244
131
259
223
211
180
264
214
300
146
155
156
182
193
206
173
254
179
296
183
158
163
188
130
183
226
231
179
202
201
209
229
168
201
183
208
202
273
165
187
204
197
178
189
173
162
205
179
146
204
207
115
175
148
243
235
183
221
190
234
145
230
243
150
173
335
200
162
217
163
262
185
160
232
130
191
212
173
202
209
188
160
284
231
230
179
185
211
259
197
173
150
191
204
195
168
174
190
206
241
274
208
214
237
270
146
164
233
210
209
147
157
234
173
188
202
155
192
230
169
218
191
172
210
176
262
261
180
170
261
160
219
115
143
296
202
239
167
240
274
188
208
210
143
192
171
209
200
204
207
178
214
173
217
199
207
183
184
228
220
231
145
178
303
225
146
246
202
129
129
190
268
217
202
145
249
204
279
230
202
146
185
208
192
179
152
215
238
146
146
210
227
261
155
115
149
199
237
224
278
180
211
205
191
171
141
224
173
146
204
146
115
218
146
259
173
184
206
202
261
184
255
164
199
184
193
179
166
128
167
141
211
214
162
145
146
214
158
178
182
227
202
149
204
149
163
191
266
161
168
168
167
217
241
215
218
174
145
246
182
244
191
210
230
225
191
209
188
256
217
227
164
130
187
179
180
149
146
201
183
181
133
269
168
185
168
167
222
211
237
211
195
255
145
204
231
143
115
184
191
200
144
146
252
220
258
160
130
280
180
227
205
176
210
146
150
191
205
141
177
222
145
172
265
162
193
156
192
206
146
233
211
233
194
192
236
179
173
211
202
129
158
180
210
145
207
227
167
218
212
254
225
217
253
229
253
178
191
171
146
145
176
204
207
202
239
199
206
193
129
208
165
159
219
168
122
169
149
210
271
178
129
184
195
230
182
203
183
130
195
145
236
158
217
236
173
180
222
185
173
162
204
201
169
204
203
226
156
184
171
202
146
179
341
191
145
176
158
264
229
202
228
211
143
162
133
115
168
211
200
203
227
176
158
237
173
264
185
195
173
203
171
181
201
160
193
213
175
176
183
175
173
145
255
173
155
214
237
213
239
238
180
202
245
198
185
261
130
184
160
211
178
168
169
191
207
211
192
222
143
191
161
155
202
205
188
205
224
264
183
180
190
228
194
146
158
237
247
188
238
220
204
187
182
186
129
171
155
206
188
133
187
191
287
214
191
197
252
166
217
186
232
132
115
186
186
284
245
281
261
133
155
299
184
173
129
174
166
164
186
201
146
217
217
177
176
184
221
200
183
258
130
215
204
245
202
133
211
213
203
170
198
217
122
236
180
173
155
211
191
210
202
202
172
185
224
264
311
122
155
217
228
144
187
122
175
193
240
156
145
227
201
141
130
182
265
246
146
168
178
273
183
173
162
164
192
184
179
184
201
188
243
316
207
235
239
224
199
179
226
193
175
224
210
191
252
173
175
129
184
174
152
239
130
193
159
133
217
246
225
173
191
210
155
152
212
150
222
297
187
201
182
153
173
174
210
133
162
231
164
244
213
191
241
242
228
190
185
222
158
217
251
183
122
129
217
214
189
185
250
217
210
212
242
242
204
129
200
181
115
252
230
155
208
143
155
221
190
211
266
210
183
132
258
173
201
133
210
185
166
240
209
208
175
146
129
132
129
160
271
195
261
168
184
187
143
163
278
222
182
133
205
130
231
211
202
179
205
162
203
204
173
170
258
220
163
210
185
269
200
287
176
180
156
203
263
180
145
287
152
183
204
115
183
151
206
271
130
202
191
146
217
163
236
188
178
130
138
171
191
264
240
185
255
166
209
152
221
189
190
205
191
194
145
222
230
201
115
204
188
219
229
222
164
176
163
254
146
261
215
129
200
236
191
254
258
210
282
173
191
230
216
168
267
214
239
141
210
203
228
129
238
244
192
158
206
210
254
146
129
162
191
230
204
181
200
186
293
129
189
247
212
230
160
261
158
162
151
200
188
146
185
200
184
210
173
250
164
189
129
204
247
202
173
172
188
215
184
209
179
198
273
158
235
205
179
230
210
129
146
188
187
262
161
181
155
182
206
183
228
145
151
129
236
211
212
219
144
220
146
160
241
225
284
158
210
221
283
185
171
212
203
301
129
198
188
238
228
214
185
239
227
129
133
204
184
159
274
183
129
222
172
151
161
202
216
204
129
181
138
215
225
166
172
195
217
169
210
189
236
264
156
273
259
188
204
234
173
182
195
174
176
184
146
176
188
190
180
182
138
219
200
168
176
176
158
151
173
179
172
168
177
146
186
146
175
173
246
173
146
238
210
247
197
256
176
256
266
161
146
204
217
251
132
146
211
156
162
171
145
218
129
200
178
162
219
176
164
115
283
204
156
171
167
219
193
133
190
221
146
178
221
248
159
204
200
235
229
215
166
115
173
161
174
178
230
177
200
145
182
178
259
182
211
184
195
129
158
129
186
157
130
146
173
219
194
190
236
259
146
176
236
180
201
129
229
164
174
228
202
185
225
168
173
211
133
192
235
209
222
186
129
189
173
176
231
179
190
217
217
212
189
168
145
175
194
226
203
154
249
192
203
159
204
249
225
261
173
150
200
182
214
220
157
149
204
191
176
130
150
208
186
176
231
133
189
182
172
182
164
186
216
253
186
122
255
236
183
255
155
270
144
217
178
204
203
211
146
151
194
222
188
282
173
173
182
156
201
129
179
177
164
176
187
234
184
194
178
172
164
191
217
166
146
246
180
221
130
129
155
192
150
188
252
174
192
224
254
334
168
236
156
185
203
179
218
158
236
178
254
130
255
210
133
194
219
160
230
204
202
248
201
241
182
232
129
184
215
202
130
187
156
130
188
138
176
229
287
244
190
174
217
254
187
164
219
210
172
202
214
213
211
186
322
173
130
206
129
193
158
199
143
145
182
211
129
227
164
243
157
184
264
129
152
115
263
115
173
147
182
282
302
173
146
258
210
130
201
216
185
214
188
228
190
258
254
211
180
203
242
178
129
130
144
158
183
146
173
200
146
173
199
168
164
174
185
269
186
247
161
242
144
210
278
129
155
195
129
184
225
248
186
214
222
181
221
206
156
342
201
133
204
195
288
222
201
178
171
162
230
178
171
233
200
198
205
182
178
206
129
258
210
145
215
159
155
184
150
128
179
184
193
210
163
204
176
219
229
176
173
174
176
133
187
273
230
191
236
204
130
203
164
179
210
248
191
194
180
246
239
193
177
180
115
224
218
227
145
206
160
176
164
164
182
202
238
198
224
191
201
183
142
228
138
210
188
211
176
200
227
279
227
206
234
173
250
227
200
182
225
201
190
246
191
208
268
146
169
263
211
173
164
138
167
252
168
164
171
158
208
183
249
249
200
191
181
160
130
160
231
256
274
206
178
204
206
174
211
228
186
146
237
190
230
264
143
221
148
206
180
145
206
226
221
186
149
162
168
204
162
157
159
222
173
130
239
261
195
267
208
204
195
227
155
174
187
204
230
138
210
218
168
178
166
211
182
211
143
152
185
244
146
173
168
201
191
173
183
199
129
175
200
184
149
202
241
236
202
172
217
130
186
150
143
229
226
197
172
215
217
179
237
173
169
228
146
173
145
176
115
211
146
244
191
234
130
150
204
189
202
155
194
174
193
229
149
164
133
177
182
253
239
129
138
130
208
166
207
158
180
225
206
202
173
264
173
252
183
193
144
171
225
146
198
158
191
246
276
177
222
193
170
184
274
197
129
150
178
171
173
200
173
159
213
143
129
239
146
187
180
251
225
151
162
198
201
145
221
254
173
235
173
211
173
210
133
141
265
202
178
269
231
202
186
190
164
210
166
145
206
173
189
236
170
257
133
144
256
115
231
198
176
214
173
129
203
173
133
200
178
305
210
201
182
233
208
144
211
181
186
227
266
193
217
213
186
248
162
235
181
223
214
188
205
205
230
203
249
211
185
145
147
146
130
171
204
146
168
200
203
211
192
239
204
162
217
146
226
130
179
138
236
217
178
160
162
179
189
209
191
203
130
143
211
196
210
158
185
234
245
226
152
145
179
224
184
210
133
244
200
169
145
210
147
216
246
130
186
173
161
194
259
184
182
160
164
167
115
155
161
214
163
178
145
211
178
193
300
204
143
169
179
252
210
207
157
217
194
182
173
179
190
252
205
219
143
198
176
130
229
217
200
130
174
175
183
230
115
175
254
130
178
130
288
238
192
218
144
130
169
130
130
162
209
130
149
241
202
201
239
169
168
236
225
264
147
185
226
183
202
203
238
170
231
146
217
161
190
287
185
201
184
149
187
129
201
187
162
231
133
173
202
178
218
146
176
146
178
235
200
188
195
242
146
173
247
156
145
173
177
222
166
181
222
146
228
200
143
211
199
186
173
147
195
200
286
183
214
216
303
204
217
222
179
199
244
210
179
161
208
185
191
197
143
155
129
143
246
213
172
217
145
241
275
133
166
191
152
115
213
223
180
174
172
138
204
210
176
161
170
187
176
183
180
162
161
189
203
128
279
211
270
162
162
173
185
176
173
143
176
173
245
190
146
216
248
169
115
217
254
130
195
195
296
266
240
152
197
191
215
145
122
184
176
209
175
173
268
183
184
170
197
220
119
237
150
155
171
161
242
150
218
204
180
178
183
199
185
202
222
241
219
204
179
206
199
274
209
130
264
197
191
130
201
289
221
168
143
296
230
228
189
164
195
206
246
183
238
158
157
191
178
200
176
202
205
265
138
149
143
147
197
180
206
198
129
203
190
129
181
211
146
163
256
146
155
178
200
177
187
211
172
196
253
204
210
115
211
225
256
209
155
211
193
269
133
228
181
203
172
145
146
176
210
145
216
146
178
161
180
243
176
178
216
176
185
204
160
285
183
174
168
178
148
236
173
147
186
164
190
214
162
236
176
175
251
169
145
141
206
133
190
201
146
185
157
146
210
179
199
224
282
129
143
168
173
187
274
146
141
146
222
176
222
250
170
228
218
129
178
143
241
176
138
176
172
202
202
145
201
204
168
115
176
172
129
243
129
173
262
146
283
241
193
222
247
146
180
187
146
174
180
173
207
239
158
180
178
129
199
210
115
161
115
209
129
178
214
156
246
182
133
176
184
202
144
238
170
208
171
171
210
168
235
244
115
184
176
231
207
249
217
175
146
176
182
168
162
176
256
183
203
185
225
200
250
150
231
129
145
230
146
205
204
187
174
200
199
214
219
204
196
220
192
196
210
150
262
224
224
209
173
215
219
171
199
203
119
152
143
259
184
200
190
236
122
217
141
181
182
217
203
202
133
179
169
236
153
179
301
225
179
182
168
129
203
144
176
242
183
167
129
167
173
180
176
178
204
224
225
191
217
218
178
220
202
195
179
206
202
130
212
169
201
207
248
265
227
169
186
251
129
173
176
133
203
182
210
129
162
266
236
222
206
214
145
175
182
236
162
133
173
303
258
236
176
173
203
145
146
143
261
255
230
168
129
222
225
224
164
141
192
180
224
202
205
206
236
173
201
192
240
217
146
141
181
191
238
150
173
180
173
129
173
146
115
228
184
211
230
176
173
176
215
190
292
217
205
191
180
164
178
236
210
192
219
184
181
173
162
197
195
238
173
255
185
175
182
176
160
210
210
185
180
158
207
157
192
179
229
291
261
237
203
168
158
251
173
143
160
225
227
166
185
244
172
211
232
143
133
193
183
146
204
186
232
141
182
171
168
257
222
263
143
230
206
267
197
211
220
183
130
260
200
261
217
130
236
185
129
270
201
227
260
195
211
178
204
218
151
194
211
173
214
247
227
211
230
183
250
169
181
210
181
261
237
249
130
176
264
156
217
214
237
146
226
216
214
173
225
211
191
180
122
217
178
237
169
238
199
232
214
213
201
176
164
221
144
227
122
143
218
203
231
203
221
152
153
173
223
179
183
203
182
191
180
140
185
217
238
211
180
173
211
155
160
130
158
146
176
164
143
269
178
138
176
230
165
165
222
247
133
263
188
202
234
245
203
205
164
211
129
193
171
174
176
162
173
210
167
210
180
184
229
146
200
160
166
182
230
238
174
194
217
210
183
197
146
173
130
186
178
145
133
214
173
178
228
182
165
201
146
173
157
205
164
143
158
246
207
246
211
145
130
200
283
129
182
177
173
236
209
147
166
214
222
184
210
226
133
239
143
205
150
227
183
182
158
143
180
335
230
179
222
210
149
215
232
229
187
268
255
198
215
207
150
229
172
115
214
189
214
272
266
185
206
230
161
207
196
145
232
190
211
204
184
130
150
211
187
173
173
180
122
205
178
258
176
258
222
173
209
146
206
219
238
230
191
153
189
163
176
150
132
185
173
200
174
204
201
164
203
221
202
182
203
183
190
208
130
217
173
174
207
194
215
158
215
226
184
172
133
155
115
214
186
189
173
204
260
164
256
229
222
158
160
164
224
132
129
182
200
146
173
236
177
203
156
168
279
184
168
115
160
258
255
240
197
168
115
130
210
209
205
204
119
263
183
130
144
238
189
181
129
221
130
188
211
176
194
183
201
164
217
138
233
225
133
183
182
239
182
217
308
218
160
129
173
196
204
217
146
146
179
130
218
124
175
169
130
186
150
129
146
133
208
157
163
130
214
146
201
189
178
218
179
207
130
168
213
204
146
162
230
173
146
204
130
182
145
161
184
205
209
176
199
197
188
204
130
204
174
232
199
193
132
140
158
193
244
179
219
158
145
157
187
185
133
173
130
228
261
248
171
130
177
211
168
239
291
143
158
173
179
265
219
218
159
258
173
171
183
172
252
184
227
214
335
236
285
206
145
205
192
156
182
147
193
192
190
130
202
141
180
244
160
146
179
146
222
274
143
146
115
155
176
245
162
202
129
212
158
195
115
225
221
266
214
247
202
179
200
193
189
202
182
133
211
130
186
162
157
222
199
173
129
192
130
155
184
267
188
185
227
189
189
147
217
173
277
217
130
216
129
226
204
260
194
145
129
227
227
133
234
206
168
128
168
191
226
217
214
244
174
172
230
130
215
178
169
193
181
146
162
174
211
235
183
130
225
168
161
202
204
180
130
166
129
303
225
168
273
183
130
195
207
129
197
158
247
259
203
162
161
181
146
227
209
238
199
193
173
245
216
197
192
143
191
164
156
193
176
217
162
129
176
263
248
218
194
149
195
145
189
184
205
171
187
197
129
143
265
183
146
180
181
115
272
239
179
156
265
214
164
209
183
145
177
191
185
179
191
146
265
239
288
195
264
173
165
184
161
202
250
175
204
174
170
159
155
265
158
196
200
202
239
217
173
166
229
129
130
210
168
185
156
158
131
146
216
204
180
158
115
201
173
249
133
165
129
236
168
185
216
221
234
195
187
130
160
214
211
177
212
237
181
144
193
238
236
213
209
158
212
227
273
187
335
191
182
201
184
201
189
174
193
233
191
191
146
188
261
173
182
176
152
162
255
200
214
237
150
230
207
202
243
204
168
263
179
204
129
217
183
201
173
212
178
152
133
155
146
173
206
181
172
238
193
207
176
178
218
205
168
208
249
176
203
143
189
130
225
146
129
206
264
176
172
236
241
216
160
129
255
208
130
231
209
173
215
249
180
230
230
173
243
192
216
167
144
184
182
197
158
238
182
250
211
201
202
214
210
272
230
133
258
160
143
217
191
259
246
191
217
326
150
231
179
122
247
203
180
146
178
173
179
258
133
198
160
169
276
145
177
179
217
194
206
205
230
179
129
176
141
208
162
146
197
138
184
204
238
228
176
214
179
213
164
173
164
204
178
183
183
130
197
200
182
206
145
210
176
197
209
227
271
238
225
335
155
229
194
216
189
246
187
188
130
224
244
218
181
129
173
233
146
218
204
182
156
207
197
173
210
222
246
149
201
195
152
190
146
210
115
130
184
204
204
260
193
220
185
129
159
229
150
129
146
133
202
193
235
210
181
197
229
197
272
208
215
151
225
172
184
185
185
210
151
247
282
227
153
176
217
231
176
155
210
163
158
204
143
202
278
146
176
178
282
177
250
182
225
247
156
210
217
183
172
175
129
173
216
202
144
192
200
145
133
184
171
155
212
178
176
171
161
239
130
223
182
173
165
129
272
202
191
167
164
245
234
227
180
158
218
176
234
156
243
221
243
197
197
162
214
169
183
144
160
241
156
242
214
129
182
133
232
228
229
177
182
179
206
192
185
200
206
232
201
194
218
211
217
206
182
202
211
161
188
129
229
247
252
233
270
204
160
252
143
189
234
257
199
191
210
148
182
201
283
141
146
286
174
327
190
169
202
187
181
188
167
257
210
214
211
210
237
259
234
169
122
163
173
183
115
199
252
229
129
183
183
145
193
156
222
191
189
130
226
133
173
176
234
115
183
183
321
165
205
198
216
146
288
175
170
146
197
171
184
204
173
151
178
130
166
181
180
184
176
237
158
191
179
249
178
184
228
161
176
280
173
158
149
144
129
149
133
173
173
203
204
234
158
173
180
207
184
138
150
122
162
194
257
175
204
130
153
212
184
130
245
191
186
178
129
231
206
191
185
130
243
143
183
222
179
173
225
180
226
201
129
243
211
168
152
243
228
202
216
156
168
173
129
252
204
242
151
155
158
217
211
253
143
188
176
191
259
184
183
206
206
223
191
175
249
265
259
185
242
226
158
215
199
189
214
156
194
231
153
184
249
179
175
130
234
247
192
197
313
153
260
264
221
164
122
215
129
291
242
204
182
217
130
133
129
218
236
152
204
155
269
227
162
225
300
218
157
211
182
146
173
217
205
146
164
229
146
187
145
215
164
238
129
174
256
205
115
176
129
176
183
173
190
191
202
216
129
205
157
197
205
129
173
221
252
213
230
179
227
132
214
202
211
153
218
240
132
176
239
215
152
249
184
184
150
192
162
206
263
240
181
206
230
146
173
238
192
241
228
180
236
177
254
229
146
178
212
254
122
132
173
222
230
189
162
227
184
247
225
181
162
187
246
213
168
238
133
155
143
179
115
158
204
167
200
182
210
174
160
201
158
146
171
155
250
130
229
211
204
195
172
169
156
202
231
194
207
188
181
115
144
181
251
143
203
179
158
204
219
178
173
217
138
207
145
178
211
206
186
188
204
230
256
161
210
184
229
182
191
193
153
161
206
231
200
202
201
219
150
284
180
176
230
170
178
158
219
194
204
204
180
207
204
206
168
231
222
189
192
210
210
146
208
173
174
169
215
145
218
225
146
237
221
184
210
214
229
227
178
206
224
209
184
209
209
212
196
213
210
204
179
218
164
179
168
197
179
213
204
173
185
146
203
178
236
163
256
144
129
173
224
231
204
181
190
234
197
213
238
200
164
192
204
217
211
158
193
177
224
146
164
180
164
171
179
172
157
130
176
322
246
224
211
206
204
201
250
176
266
230
176
163
231
201
217
182
270
176
129
164
179
152
182
176
133
182
204
181
149
212
146
207
222
172
210
194
251
200
158
173
207
264
229
173
244
132
191
198
158
145
138
156
191
146
253
218
145
191
204
227
221
237
199
186
174
232
202
178
228
177
129
231
206
162
175
130
225
146
168
218
240
211
244
149
220
204
141
181
222
173
241
239
191
193
202
221
247
210
231
239
209
129
181
198
210
169
299
170
202
154
180
175
188
128
204
145
173
151
184
156
202
188
168
209
150
274
194
158
264
160
191
221
241
216
200
185
199
209
183
180
210
141
281
145
160
211
183
238
204
146
172
167
133
229
187
179
203
173
218
237
252
240
179
264
158
146
244
199
130
158
132
230
261
178
158
150
176
153
207
188
251
218
178
163
204
189
115
164
141
208
239
115
149
168
173
185
155
182
258
145
182
174
211
186
181
191
146
129
173
217
172
199
129
141
143
238
156
176
254
204
156
230
168
210
145
261
265
180
181
186
176
220
143
245
236
176
212
192
206
164
145
256
266
150
115
141
195
204
155
179
143
185
202
231
261
147
155
173
189
182
179
232
151
250
202
236
260
180
214
129
195
166
162
151
271
200
169
155
254
176
229
217
192
281
225
184
231
204
156
255
214
222
194
157
160
133
238
184
170
188
249
206
182
173
191
188
186
169
186
185
262
162
115
122
226
183
199
234
129
174
249
115
201
173
164
206
204
204
149
204
200
259
264
146
202
138
173
176
214
130
200
160
255
129
221
211
194
130
164
204
160
147
173
201
303
247
224
162
274
208
209
194
210
221
146
217
192
227
209
152
227
210
158
190
179
173
249
184
158
176
138
164
165
211
218
178
177
146
130
182
183
201
195
204
130
129
216
143
144
214
173
185
208
250
169
211
146
144
203
180
239
162
195
229
171
230
130
204
198
240
212
164
143
158
261
161
250
168
197
162
167
191
179
145
130
165
199
156
193
203
206
202
205
176
229
183
161
229
209
213
173
162
173
217
168
164
145
205
203
236
244
218
197
177
239
261
173
200
188
223
179
236
115
168
224
158
192
156
240
180
158
173
155
200
234
162
335
201
157
263
202
184
158
241
205
230
161
145
159
185
230
170
138
209
204
129
146
201
230
187
129
228
130
267
233
160
130
225
217
162
216
181
185
130
129
192
197
184
175
183
203
204
169
258
242
239
193
211
191
176
199
209
163
228
226
187
160
167
156
175
179
130
162
200
173
200
208
210
159
176
213
196
204
182
176
181
219
180
230
206
226
247
204
184
168
164
179
160
243
189
222
172
144
235
272
208
185
242
160
239
193
146
217
189
274
164
252
263
304
156
148
173
129
155
204
232
202
206
254
238
255
210
156
247
222
222
228
179
213
204
152
179
210
178
173
181
183
172
191
130
173
162
221
227
206
214
184
129
149
173
188
257
256
180
167
204
145
210
235
184
173
129
157
189
216
214
176
186
225
185
155
269
146
129
230
168
115
227
166
251
185
268
176
146
145
204
210
158
218
189
260
202
211
188
226
130
146
230
335
221
146
179
182
202
241
246
147
195
193
176
200
258
259
161
227
122
155
150
152
133
240
149
158
237
207
210
176
210
155
181
231
153
182
236
178
192
143
203
258
182
156
232
152
182
185
234
173
201
163
174
153
171
170
234
146
162
177
209
208
162
298
254
195
115
130
188
199
216
166
264
184
210
145
173
208
193
174
211
151
157
161
204
155
230
146
139
161
214
137
115
199
158
213
191
246
248
204
204
115
186
204
195
213
193
203
179
203
173
208
198
205
216
176
184
198
228
228
129
230
333
173
191
183
194
171
169
182
206
207
176
179
234
238
207
251
173
141
225
204
233
239
203
187
217
147
176
211
197
191
214
162
236
183
187
216
193
186
128
209
168
145
190
210
192
199
199
173
166
191
173
178
129
210
128
198
271
164
258
251
182
211
187
191
210
266
145
176
164
115
180
236
129
241
211
157
133
206
239
239
182
164
185
192
133
237
183
178
176
178
250
170
173
189
234
225
171
210
159
195
179
195
195
259
203
129
272
115
173
234
130
299
199
208
164
180
237
254
190
164
221
222
186
202
155
162
206
214
173
188
158
129
209
133
166
321
244
174
175
180
154
162
203
236
164
178
130
152
158
162
202
161
164
158
186
233
180
173
259
169
146
173
264
234
258
190
211
198
212
182
235
176
211
115
130
230
236
186
202
198
141
168
216
173
174
173
216
173
225
178
176
236
227
180
244
238
201
256
129
231
133
164
184
277
205
182
176
210
143
179
171
214
192
171
180
179
205
130
182
179
210
193
210
197
165
166
231
218
129
216
200
235
202
180
187
130
201
219
166
206
210
133
130
171
182
200
204
184
166
184
195
156
204
168
168
210
237
273
251
115
170
162
292
170
211
189
199
131
161
143
214
228
236
200
164
130
226
184
173
178
158
146
143
218
264
204
133
206
168
236
235
216
241
157
145
210
217
222
130
200
146
182
133
156
152
173
195
236
209
146
183
180
196
176
242
162
173
130
159
180
226
192
141
256
185
122
208
220
130
252
184
162
187
158
203
202
277
179
158
115
138
224
164
269
138
189
225
228
130
188
211
165
130
231
115
164
182
176
173
173
158
160
141
261
193
179
222
141
169
207
251
195
186
206
170
191
231
225
156
187
156
166
199
182
241
162
225
186
170
160
199
215
294
140
183
173
173
229
173
173
215
129
190
176
273
208
246
146
201
176
206
181
146
133
187
192
261
169
206
173
164
173
133
143
263
194
182
245
201
155
224
129
171
215
218
164
129
171
146
201
227
155
246
230
158
168
234
221
195
230
146
279
186
259
253
222
131
218
187
119
199
184
209
183
149
133
181
166
182
129
187
202
171
138
178
217
217
214
210
138
187
129
205
183
178
238
222
248
146
197
210
210
130
156
130
207
173
156
176
146
172
176
173
244
174
157
202
192
161
146
236
184
275
155
201
176
145
172
198
211
174
272
201
219
179
217
163
130
158
230
211
242
234
195
208
166
133
179
216
179
179
158
176
130
146
239
200
176
174
172
168
156
227
170
176
169
227
191
141
261
244
205
122
158
189
129
179
178
226
129
221
217
197
162
232
236
233
157
280
140
128
201
253
186
130
190
155
181
226
210
182
263
238
177
206
152
129
268
222
233
205
133
186
237
194
254
130
185
146
143
201
287
204
130
233
230
129
243
232
133
204
217
183
115
150
164
144
179
172
195
184
210
198
200
191
194
133
206
133
130
211
171
218
122
219
146
179
145
169
210
258
207
144
228
217
130
262
242
198
222
273
223
199
174
264
203
146
189
246
283
198
142
172
206
156
229
145
192
184
158
145
211
227
179
145
176
206
145
160
156
237
261
129
207
289
169
176
202
162
130
179
158
241
229
231
129
247
149
210
227
217
162
175
171
150
257
190
186
210
133
202
239
180
214
178
254
215
173
185
245
235
132
181
158
184
197
184
129
180
226
246
234
209
177
309
167
153
183
178
240
129
202
132
115
201
153
190
133
160
177
236
133
168
205
184
300
130
210
130
251
244
210
239
211
173
145
190
130
232
155
218
141
231
146
167
122
212
162
232
122
263
195
176
228
200
228
199
150
185
217
207
143
233
211
191
171
204
219
201
179
202
204
155
190
228
173
156
143
173
175
143
153
155
194
115
282
207
204
217
200
156
186
214
162
130
204
145
315
228
200
173
230
230
188
205
179
176
184
183
129
267
133
183
191
201
173
185
133
208
226
201
173
193
192
227
273
207
229
171
173
205
176
212
203
211
170
180
219
210
164
165
168
204
190
222
161
256
172
168
205
162
200
146
129
164
181
193
301
236
233
184
168
188
184
178
148
217
252
210
201
171
217
264
217
130
143
206
250
181
234
294
184
179
190
171
222
233
197
186
173
184
166
163
206
168
138
176
146
157
221
174
223
218
181
162
239
211
217
177
151
236
157
208
230
180
176
158
255
238
194
209
240
210
214
204
171
173
171
221
179
260
175
178
162
122
214
209
189
130
261
222
138
246
158
160
192
168
173
130
204
164
262
168
184
175
210
255
239
194
173
180
173
185
168
247
187
303
146
151
129
161
195
185
145
130
175
191
185
216
146
248
191
146
183
218
163
179
146
210
157
201
205
284
194
152
191
176
230
176
237
256
164
204
203
201
237
150
201
158
201
190
184
241
130
179
180
264
187
206
173
215
228
188
182
181
230
145
181
115
202
181
164
200
184
238
178
201
219
211
164
237
191
235
273
236
193
197
217
199
173
255
153
168
183
133
153
300
218
193
130
219
238
179
204
191
191
184
229
145
174
161
260
131
214
176
189
168
214
193
145
266
202
202
182
173
179
115
201
184
146
166
172
171
283
180
172
183
221
215
187
179
176
173
178
211
258
156
202
141
158
168
173
176
133
163
210
145
173
191
165
262
217
169
185
185
231
270
173
143
221
176
296
244
149
210
255
245
254
168
202
143
193
176
144
186
206
152
146
181
206
152
178
145
207
143
183
210
173
180
172
204
253
270
201
149
174
210
214
233
204
170
127
166
164
211
217
255
236
193
244
199
184
195
266
184
303
146
172
213
228
217
189
210
179
164
199
180
194
248
234
175
217
141
191
146
178
179
189
227
192
250
174
181
173
312
179
238
207
189
199
264
214
252
204
205
221
200
130
176
230
183
211
255
212
187
204
212
293
196
119
236
172
198
208
162
129
193
272
200
188
212
224
185
141
216
209
209
145
204
260
183
174
170
191
174
201
168
179
179
176
185
188
210
172
218
210
194
146
130
205
189
229
209
173
133
129
129
183
164
288
172
171
164
217
224
183
129
222
239
197
217
206
149
237
233
303
210
174
156
173
211
214
216
144
209
256
186
201
130
129
221
183
173
201
211
148
204
153
168
207
208
274
204
226
210
240
138
263
217
191
244
222
259
145
302
129
145
176
146
211
246
212
243
200
130
206
225
230
196
219
236
176
251
179
168
229
222
200
210
186
193
231
181
274
173
236
259
180
233
182
144
138
233
204
201
157
176
189
258
179
258
217
168
217
174
176
209
173
204
176
313
219
155
122
168
233
261
238
191
192
182
225
164
168
198
171
180
242
176
238
219
181
129
163
178
200
146
206
207
151
184
183
133
231
185
143
205
187
214
153
130
130
129
200
168
191
184
236
229
146
157
162
149
164
244
269
153
152
214
150
194
185
202
199
243
214
248
184
220
181
173
173
180
210
217
283
169
265
173
194
138
129
132
185
206
169
178
183
254
130
199
185
185
168
176
185
200
204
189
234
199
285
222
166
228
185
247
228
178
217
220
191
160
146
190
164
178
225
208
138
205
214
145
201
168
202
161
183
182
149
184
253
200
210
228
189
284
181
239
151
130
143
198
115
183
216
220
173
129
140
173
182
143
184
160
225
124
206
159
179
157
200
173
235
264
181
198
229
230
115
192
158
183
151
194
182
129
187
179
145
220
130
201
167
169
191
206
223
160
174
245
206
186
258
183
146
171
186
249
274
185
241
266
211
115
247
217
231
138
158
145
301
129
115
222
217
129
162
172
235
182
202
186
255
216
163
143
200
160
259
161
211
218
168
146
156
256
229
256
146
176
205
168
217
230
254
182
237
119
176
146
282
249
238
202
230
174
218
254
184
197
200
194
169
200
161
192
205
169
196
184
208
180
178
191
210
208
165
202
156
130
143
155
207
179
217
239
219
166
208
203
251
244
194
288
173
244
153
174
224
179
187
203
245
262
145
238
155
236
151
129
157
179
183
205
183
222
210
217
146
166
218
150
190
254
145
173
191
152
204
202
192
220
194
155
173
141
230
230
163
179
191
179
187
183
195
173
192
240
198
204
146
130
145
179
130
170
173
192
189
153
238
181
149
201
250
155
227
228
155
202
176
210
194
221
216
188
188
210
178
149
158
290
227
146
209
228
162
185
130
171
190
251
178
190
260
298
238
145
147
201
181
232
210
209
190
161
184
206
143
192
150
241
228
185
172
176
208
197
204
183
213
199
168
264
176
149
207
173
261
198
146
160
202
229
115
210
217
211
239
230
138
208
200
129
133
194
141
164
158
158
229
153
202
178
235
119
186
176
200
157
158
133
179
179
193
252
197
214
221
173
270
194
241
220
187
218
146
144
198
229
191
192
146
187
244
218
169
146
188
200
143
185
264
146
209
268
166
169
214
174
173
178
226
170
197
229
200
206
241
138
211
208
185
146
155
137
229
145
195
242
178
183
244
202
168
183
187
201
181
179
153
211
177
229
176
194
238
170
202
197
218
146
156
191
168
246
259
181
238
150
266
181
129
217
258
250
234
179
201
185
231
129
115
204
156
155
236
204
129
211
234
225
155
173
141
244
156
186
179
164
188
221
189
210
203
202
198
175
183
182
213
176
210
304
202
188
244
182
176
192
259
180
129
187
166
249
158
270
215
149
206
133
180
164
187
245
162
179
245
170
176
261
158
217
129
230
157
211
216
193
208
152
174
228
172
217
197
201
189
151
179
255
167
214
194
172
130
210
130
182
195
231
158
183
287
183
261
185
200
129
176
179
230
146
245
212
201
206
238
185
217
176
146
274
179
184
188
182
171
180
180
192
146
209
171
129
224
145
129
202
186
218
184
186
246
211
220
180
158
130
182
119
225
145
200
173
176
191
130
115
130
200
171
146
217
187
230
192
146
264
191
179
206
176
183
168
166
171
204
145
209
146
225
162
170
167
158
191
229
179
143
166
228
206
259
230
158
296
204
150
238
256
308
146
246
214
187
173
158
132
178
140
183
133
206
200
253
237
129
169
266
270
221
236
173
184
176
218
176
311
174
146
205
176
199
179
183
157
229
185
178
185
179
211
222
239
169
221
176
160
133
186
209
263
244
226
193
272
194
176
238
200
148
202
228
145
196
171
240
254
205
176
205
209
166
158
160
254
151
226
170
264
169
187
200
198
129
185
265
172
215
150
151
146
173
182
223
224
155
181
115
176
226
255
264
237
255
209
178
254
195
130
201
232
169
130
188
150
172
232
173
161
231
222
182
174
129
229
128
214
200
232
146
206
179
225
162
145
147
180
194
129
185
204
191
250
190
214
249
210
176
201
204
151
174
170
202
238
160
189
137
145
187
187
185
242
262
190
246
179
129
203
155
217
204
176
173
195
178
254
195
130
216
164
130
207
145
130
193
167
176
216
204
173
218
201
160
259
240
150
204
175
115
249
222
173
203
186
152
158
193
115
179
204
168
184
161
176
217
129
166
122
211
239
174
222
131
184
158
182
234
174
164
206
129
214
260
203
164
259
173
200
133
171
180
169
193
173
178
174
129
209
145
144
115
235
217
195
218
169
169
219
238
236
267
177
217
194
166
179
238
198
145
141
187
167
226
173
255
209
206
195
168
180
190
140
191
130
129
179
230
215
146
215
167
173
220
263
275
130
233
246
210
166
227
215
173
188
243
162
173
221
186
239
186
178
182
237
230
130
191
217
221
130
276
179
162
215
251
269
195
140
164
176
230
187
226
204
231
158
156
175
218
178
115
143
226
178
173
149
199
129
231
188
157
157
158
168
206
225
200
191
210
210
129
141
237
171
206
197
206
195
176
239
183
170
149
157
238
157
169
156
209
180
206
186
130
217
177
210
185
151
206
250
174
228
146
176
221
181
168
206
230
201
227
129
222
174
230
211
204
191
173
178
196
227
149
214
130
138
209
191
212
215
206
143
197
129
212
208
222
203
201
130
216
146
129
174
173
178
179
216
184
178
239
214
176
115
188
133
234
149
147
228
243
158
228
200
180
141
178
176
156
146
183
221
204
168
173
179
164
181
202
191
224
208
158
210
193
183
180
211
238
182
164
130
226
200
196
168
261
115
217
156
250
188
171
146
228
156
246
208
240
159
202
176
229
210
166
150
115
233
229
239
282
146
180
176
192
272
152
229
204
264
210
206
212
230
247
189
217
145
222
229
146
287
155
224
203
183
264
198
213
204
180
177
176
210
227
195
156
264
146
230
217
183
182
200
239
173
238
186
188
150
188
138
122
226
223
207
230
170
256
217
185
173
145
197
178
204
176
244
184
200
208
208
143
168
208
144
220
219
230
230
155
204
158
185
201
200
145
162
181
218
197
133
194
231
201
206
180
130
175
168
222
217
239
189
237
182
217
200
182
221
185
242
200
234
181
168
176
152
203
185
182
191
174
209
163
264
209
221
188
195
203
210
173
119
184
204
204
191
191
129
184
172
210
244
191
115
181
224
184
179
202
181
143
197
133
172
202
233
178
129
141
146
162
210
129
225
224
173
158
129
173
167
187
276
241
203
182
225
229
181
237
264
155
211
152
258
200
171
188
231
189
159
168
189
179
189
133
143
178
155
217
242
130
184
183
165
195
261
190
180
205
184
155
152
164
160
179
145
164
203
162
204
145
215
162
238
146
192
203
235
176
185
215
184
191
205
209
215
130
187
171
188
165
225
198
201
192
173
145
231
205
214
217
179
194
185
176
229
197
201
243
122
155
265
171
162
166
230
222
182
203
115
210
231
235
158
177
168
264
196
216
225
185
169
176
199
157
188
240
200
191
207
211
115
213
188
146
129
245
176
283
164
185
146
240
129
264
186
239
243
229
173
166
171
181
176
199
176
197
232
189
215
217
171
233
162
209
208
173
205
146
173
176
173
191
184
193
129
164
261
128
193
180
229
223
178
189
176
146
153
176
204
222
206
190
202
180
256
194
209
172
244
267
217
198
130
211
217
210
174
238
146
236
129
217
242
156
188
249
183
207
130
236
206
258
205
195
115
264
129
155
150
261
210
206
204
215
189
245
220
141
211
168
208
178
195
230
168
167
146
217
197
150
173
280
257
179
162
227
258
189
238
217
282
241
243
156
129
179
119
227
254
179
218
133
152
185
206
246
174
183
191
193
197
178
145
172
202
187
223
228
150
182
130
297
146
193
198
176
164
185
191
187
236
193
189
211
199
133
172
218
213
200
146
204
182
186
238
146
191
133
146
206
219
209
173
115
129
209
189
138
202
204
178
201
209
182
133
221
173
196
190
228
186
194
201
246
264
146
239
222
144
173
222
219
190
152
240
161
180
231
204
239
174
157
166
182
175
122
129
184
182
195
204
167
157
207
182
270
204
169
197
176
174
194
133
180
191
230
225
173
178
192
196
252
205
178
210
299
236
159
211
229
178
129
216
217
287
162
201
164
192
243
155
226
173
178
203
184
247
146
199
234
230
217
211
182
160
130
129
130
183
122
204
168
160
162
156
158
180
193
180
179
122
241
176
225
228
149
221
133
217
184
161
168
211
178
197
227
190
232
176
228
179
193
192
161
162
235
227
155
238
258
226
218
193
225
217
179
173
227
204
202
155
129
182
173
173
193
191
275
187
225
217
157
185
130
239
168
194
208
224
221
249
209
249
133
177
169
237
237
222
187
210
184
184
185
262
180
189
173
205
258
216
222
129
246
251
177
158
246
227
132
186
231
204
258
181
180
238
255
242
159
203
149
228
130
151
209
201
199
227
132
176
203
177
230
177
156
284
201
206
230
145
133
251
129
250
207
208
155
158
217
173
193
231
239
232
236
192
185
190
189
186
188
205
133
128
221
162
201
174
211
274
182
191
217
178
219
178
199
211
263
178
186
151
186
186
146
191
174
165
235
302
223
200
219
164
238
176
182
147
159
209
143
164
190
143
143
237
235
244
217
129
151
199
255
214
205
228
265
232
183
173
172
187
155
185
144
212
184
263
236
252
146
164
228
274
217
175
302
201
143
146
190
155
173
200
142
187
231
130
283
150
146
210
143
165
205
252
200
257
249
155
130
129
173
167
200
176
146
150
262
159
231
173
194
204
200
183
158
146
187
227
191
182
225
246
234
173
173
132
206
164
189
155
285
210
164
162
236
248
179
200
180
180
217
130
227
231
292
210
263
196
201
319
182
211
209
180
207
130
178
179
179
179
182
201
193
176
213
138
193
130
159
210
183
182
205
184
130
152
229
227
133
164
186
173
160
242
219
217
215
141
181
164
164
173
178
242
169
133
205
236
153
202
202
261
190
303
200
167
210
164
183
232
184
130
170
164
158
164
244
214
217
173
250
207
158
210
211
138
184
173
210
204
217
180
129
164
210
129
214
183
191
236
164
214
240
145
210
115
247
273
188
222
316
199
173
203
181
240
162
129
213
239
193
238
145
129
130
168
216
203
173
195
211
256
247
259
176
195
176
173
237
179
143
240
217
184
217
115
146
193
129
187
153
224
218
146
239
173
201
146
176
164
217
311
168
278
182
160
236
158
222
204
173
206
230
324
227
209
182
141
156
297
204
180
184
162
128
173
180
181
179
202
204
244
172
199
181
176
181
240
155
237
169
219
182
218
236
266
203
181
173
231
205
183
115
200
240
169
212
194
203
252
239
236
219
173
211
252
275
210
192
146
157
211
238
156
172
243
176
221
179
149
247
217
178
167
176
130
173
173
191
206
204
327
242
201
206
180
129
256
173
255
222
133
211
169
194
244
133
153
211
212
184
204
156
133
151
219
179
169
130
246
220
211
145
175
164
223
139
182
164
263
158
173
187
210
174
175
155
173
282
180
147
158
204
132
230
229
231
240
218
157
226
162
150
274
170
236
239
228
224
234
143
147
199
176
172
299
190
192
203
181
251
183
146
211
201
248
204
130
115
133
145
211
115
115
130
204
273
181
168
211
146
150
244
201
218
204
129
239
159
235
182
130
152
166
183
211
130
173
176
146
299
201
246
246
156
173
168
261
192
207
169
146
153
182
225
239
179
180
182
195
228
175
145
185
249
173
206
200
211
155
146
255
211
204
130
180
203
129
175
204
182
168
146
177
215
141
141
226
195
230
231
210
180
163
186
150
230
274
158
202
162
146
182
129
227
219
157
218
182
212
176
181
277
176
180
206
214
159
193
115
231
219
146
138
162
176
166
129
200
250
187
146
183
173
168
176
229
173
234
129
221
273
218
206
158
138
239
187
236
141
176
221
255
173
175
199
146
210
210
217
182
255
181
146
156
146
238
161
220
146
160
146
164
149
207
263
145
200
133
176
236
122
206
168
210
133
186
252
181
157
308
184
180
217
178
173
235
184
255
184
210
194
173
168
189
179
180
251
192
250
208
207
204
174
130
158
176
156
146
238
115
194
188
190
176
241
215
216
145
190
238
270
184
150
158
211
255
259
144
229
204
202
204
160
178
141
222
146
213
253
302
157
216
146
173
158
202
179
162
145
264
133
192
189
210
169
218
201
206
209
283
217
179
176
146
202
129
203
180
227
130
190
146
272
259
204
129
183
194
213
177
210
157
158
202
201
192
143
129
132
227
215
115
190
312
201
211
198
164
178
179
176
200
115
204
175
173
229
204
129
275
206
258
227
226
152
251
191
169
202
202
165
152
157
290
300
167
217
217
179
146
230
163
182
231
202
231
244
197
193
164
194
115
269
186
173
176
239
168
168
182
195
244
175
240
228
231
171
155
209
260
218
230
184
168
184
155
242
197
230
217
219
183
129
157
173
164
204
186
129
234
156
194
143
203
202
240
201
204
150
199
186
251
130
182
188
122
176
211
130
215
169
158
129
185
202
158
184
202
164
129
200
182
222
167
146
165
173
203
169
184
129
285
115
176
173
150
146
155
208
271
147
189
189
145
204
187
177
200
168
182
235
198
133
149
189
230
164
146
261
227
170
202
216
246
207
145
230
240
205
187
146
146
282
133
210
200
215
176
186
214
184
229
165
181
129
233
146
211
203
115
209
186
122
143
143
168
191
158
165
204
156
214
260
245
212
208
205
204
185
192
143
335
233
203
187
162
239
145
176
246
156
173
207
188
210
267
270
204
182
158
161
195
193
204
194
203
217
236
211
238
173
257
176
239
190
243
182
133
281
255
182
227
273
217
205
145
200
180
115
236
200
129
200
214
155
229
212
222
146
210
221
164
156
236
261
158
144
215
115
237
232
159
182
202
164
207
238
186
189
219
183
230
176
202
230
236
146
211
130
204
249
189
176
184
146
166
164
168
191
175
169
306
158
196
184
274
228
197
146
164
149
211
206
193
228
143
201
165
187
228
280
235
164
199
162
199
200
172
203
246
202
176
161
171
258
130
145
204
209
201
129
129
189
270
270
253
209
160
230
175
208
186
180
204
130
225
145
160
149
146
200
192
217
197
145
178
234
237
196
183
175
155
129
288
170
210
184
130
219
169
205
210
130
259
183
212
253
130
174
138
178
192
238
258
173
281
129
188
146
237
211
174
180
168
217
191
224
169
129
204
129
130
221
204
196
176
161
261
182
204
157
179
249
217
155
204
231
241
176
226
153
138
214
146
160
221
161
214
220
194
187
226
215
201
261
274
322
230
158
228
203
202
254
130
220
211
210
164
219
179
204
252
210
212
260
173
254
206
130
160
188
146
173
251
217
155
130
238
162
156
214
146
225
145
202
129
194
194
169
146
146
146
233
293
193
287
129
162
141
146
215
172
179
183
183
184
234
146
213
202
173
174
212
129
157
232
206
179
130
280
155
186
210
226
176
169
149
180
240
228
247
129
274
256
115
146
191
207
129
178
206
198
191
204
209
229
173
129
129
210
178
184
218
276
198
210
204
217
210
210
254
206
230
156
164
221
202
205
236
145
188
155
141
130
176
240
173
180
166
251
252
155
202
206
182
199
177
192
130
209
201
195
146
335
190
132
221
239
146
173
172
130
183
158
173
335
181
164
173
192
270
130
209
183
225
217
195
203
175
182
263
214
208
182
238
142
179
180
168
158
180
181
210
156
192
145
173
183
146
193
264
130
196
161
146
130
311
251
183
210
162
146
231
244
206
258
171
188
130
214
229
205
199
159
179
146
200
192
174
216
211
130
146
141
157
179
193
250
173
152
195
176
205
201
190
226
162
205
146
221
209
150
222
164
182
169
183
145
191
202
166
204
274
217
133
209
128
164
219
226
217
237
194
253
197
209
228
209
162
184
153
129
226
149
197
130
229
176
262
259
156
143
129
256
241
149
145
260
184
181
170
279
204
230
229
184
206
170
158
234
173
156
172
144
150
227
173
247
146
178
130
153
143
174
164
156
130
229
187
190
145
269
168
254
206
265
149
202
160
246
207
173
173
214
182
190
217
264
164
129
202
176
160
202
156
216
171
237
202
211
130
167
229
204
180
229
165
217
180
141
182
246
179
176
246
216
230
231
215
200
158
227
222
156
228
146
234
152
234
201
129
233
129
173
247
130
151
234
190
183
150
149
191
193
166
187
146
198
198
217
176
156
182
130
200
233
204
176
183
216
193
218
222
238
202
174
176
147
211
204
157
115
146
206
162
219
176
115
130
194
182
239
212
191
164
129
207
188
206
130
186
205
236
165
176
179
179
253
204
209
204
167
170
146
173
174
186
210
211
146
275
133
209
201
182
285
335
192
133
191
189
212
191
178
201
201
281
191
179
188
164
146
197
246
173
204
277
189
241
194
129
200
176
236
168
173
168
180
271
146
197
244
210
185
202
228
146
129
190
122
210
211
155
206
202
207
182
130
173
178
158
231
192
173
247
173
204
191
173
230
197
269
204
143
169
129
288
158
178
172
244
180
129
176
143
207
151
182
158
145
184
212
190
204
175
130
186
146
195
168
238
247
171
289
210
308
169
203
170
242
174
151
176
250
187
186
178
228
255
274
215
204
200
201
179
172
194
155
179
187
145
202
211
182
156
169
199
204
168
143
146
156
180
228
146
173
138
191
181
297
190
185
241
189
230
274
248
173
186
173
217
197
179
259
169
191
184
214
164
181
141
195
206
133
162
168
218
173
178
146
158
149
162
239
183
219
266
173
133
133
173
201
185
204
143
166
206
201
171
178
211
229
204
197
133
187
190
223
168
200
115
184
228
133
239
218
133
173
170
299
179
185
164
190
164
129
211
212
173
216
204
166
141
277
239
143
129
179
188
180
183
249
264
194
204
212
230
173
206
151
258
207
240
143
231
146
206
255
188
214
226
183
156
216
191
165
129
204
204
206
206
204
130
146
216
242
211
193
183
231
207
175
186
171
170
210
138
145
210
169
166
165
183
185
200
173
173
213
168
249
164
178
197
254
204
211
155
219
167
238
171
233
235
130
190
233
190
163
193
180
159
209
189
146
149
129
166
181
150
207
162
209
143
204
176
205
176
171
211
211
181
176
183
231
168
183
235
203
129
176
160
178
210
145
162
246
237
206
204
184
211
155
200
300
168
174
238
184
146
217
162
176
210
166
201
187
152
181
129
154
202
178
209
201
167
151
211
115
184
227
155
152
145
211
170
206
133
199
133
146
206
182
143
175
146
176
138
129
218
211
130
206
153
207
173
233
145
226
213
206
168
173
182
129
149
218
202
238
192
208
183
168
178
129
180
201
216
129
176
129
184
236
183
265
210
255
243
173
145
186
162
164
216
206
146
221
255
210
128
185
212
232
184
259
241
129
210
230
234
173
129
138
184
223
198
204
189
158
236
189
236
145
173
204
224
184
129
164
191
214
251
300
146
219
149
184
170
247
214
167
145
176
181
187
180
153
129
164
201
201
183
160
176
206
161
176
164
167
194
204
162
204
155
231
204
158
244
206
204
150
129
146
173
222
184
221
169
175
191
146
235
206
210
320
115
272
192
238
174
252
183
162
197
229
193
179
243
283
157
211
254
274
180
176
188
186
145
164
191
203
263
161
166
163
216
245
202
225
210
202
191
181
168
129
173
213
263
195
213
145
253
251
184
129
158
324
146
159
187
200
201
168
203
164
115
186
179
169
210
165
224
192
141
303
192
162
161
181
146
146
249
115
130
216
211
143
200
229
230
152
215
173
283
201
160
230
180
145
213
236
242
158
206
210
186
168
198
268
193
132
179
128
156
176
185
185
183
203
218
274
158
204
227
161
158
216
202
178
222
187
178
133
200
150
176
233
210
204
190
204
170
204
187
130
130
173
197
130
203
188
157
204
176
130
264
166
130
215
149
194
214
230
202
183
225
128
208
173
151
207
141
178
230
335
227
178
210
152
185
173
211
254
189
209
211
231
191
115
217
292
238
183
215
252
206
247
206
199
171
230
205
221
202
236
202
146
145
157
143
173
157
133
200
214
150
264
156
172
156
183
173
185
203
207
227
176
264
186
167
133
265
178
189
234
181
128
239
146
239
216
182
201
192
176
130
184
184
146
210
145
180
191
204
176
183
240
237
130
176
182
147
242
223
217
177
156
191
239
210
194
173
210
147
307
190
193
253
173
230
246
250
204
289
161
176
222
210
164
147
218
185
206
211
197
183
158
217
227
233
236
204
152
204
218
146
214
173
239
272
162
218
122
182
201
173
203
212
128
198
129
115
267
225
200
233
176
264
168
189
184
211
221
236
172
144
254
274
184
297
182
179
200
218
224
173
201
204
169
204
148
239
211
174
266
180
165
220
226
202
168
168
180
129
166
203
163
215
130
115
146
180
179
192
184
166
176
230
247
205
197
173
176
145
202
204
173
222
188
237
160
146
334
172
179
115
250
208
168
202
161
185
186
174
195
204
146
130
260
188
270
208
146
176
202
158
156
232
180
161
201
201
146
176
129
184
179
185
183
204
227
169
192
190
211
164
202
261
230
181
194
235
249
204
143
156
188
229
199
173
166
200
192
207
173
147
178
238
183
197
238
251
227
186
169
231
173
227
182
160
173
130
191
193
202
143
195
211
235
212
201
211
217
171
250
169
145
171
211
246
304
176
184
200
191
189
225
173
204
219
185
207
206
152
146
169
208
192
143
172
210
130
152
155
166
192
195
129
141
206
173
193
252
211
155
229
231
164
225
204
204
210
130
212
235
176
256
236
216
193
195
176
174
160
184
172
201
129
159
202
176
236
225
228
204
181
168
170
229
146
172
171
183
217
201
214
230
146
155
149
240
180
168
183
176
173
181
165
202
195
292
211
173
166
230
242
173
184
205
146
217
176
266
148
173
145
203
246
138
200
152
229
193
176
200
195
221
227
203
145
217
130
187
259
210
176
168
232
217
221
185
215
192
201
151
229
235
202
130
168
198
173
200
202
176
253
143
210
166
143
179
150
218
192
255
207
226
141
173
200
248
180
191
180
200
174
228
173
160
187
218
145
252
178
145
173
148
182
119
176
238
130
169
164
156
184
130
162
206
175
181
156
164
164
264
170
240
184
233
231
240
130
181
246
175
168
244
200
146
225
242
242
264
115
129
152
233
239
156
162
202
250
189
183
201
229
185
223
133
129
141
153
156
208
225
197
156
212
185
201
185
211
156
183
246
335
206
183
176
176
184
236
155
164
245
217
209
162
173
133
160
263
272
170
206
238
171
263
214
204
146
167
215
188
146
219
188
282
239
238
215
193
187
188
202
150
184
261
263
168
174
194
186
182
145
155
197
197
165
210
211
143
216
170
257
144
131
215
210
145
143
143
163
176
225
297
218
229
210
229
119
228
211
157
145
206
231
260
158
157
204
151
243
241
149
183
165
158
231
173
200
179
158
275
129
221
202
182
130
227
207
225
198
245
202
204
170
176
200
129
183
130
206
162
201
164
133
165
256
179
287
189
165
191
263
237
246
173
188
130
201
231
168
200
222
208
206
303
214
227
178
179
207
146
266
226
164
224
181
173
115
287
143
178
216
184
234
151
191
216
173
235
220
169
145
129
175
115
254
238
191
215
303
147
138
201
146
130
186
164
155
222
158
133
171
210
164
184
146
220
229
209
176
186
244
226
160
146
185
226
204
153
178
129
184
149
145
211
156
194
202
261
231
226
191
187
183
200
210
183
213
164
168
204
183
203
217
185
212
250
156
240
263
203
130
202
200
141
246
238
210
225
232
169
283
191
210
161
173
174
207
143
172
204
232
204
183
239
195
218
146
185
128
222
130
227
236
236
217
181
201
159
283
204
169
231
179
204
170
224
145
155
217
241
202
180
206
203
202
209
201
212
233
151
186
200
151
168
204
218
151
200
149
141
195
217
176
182
211
172
191
189
143
151
222
145
130
166
231
163
174
176
200
172
188
247
250
223
179
250
115
191
155
170
132
179
146
209
222
129
138
200
194
171
122
122
241
185
204
157
202
192
218
129
217
210
145
183
195
176
180
132
184
169
129
174
129
176
155
228
146
217
191
242
216
156
245
182
213
155
129
157
185
182
153
254
251
246
187
155
223
159
176
218
149
155
204
229
158
231
129
184
115
266
160
133
181
214
203
173
224
146
185
270
149
173
181
202
145
212
212
209
129
176
225
169
198
151
149
222
193
217
201
145
202
234
217
161
190
248
182
254
187
129
222
185
278
194
205
181
168
219
208
155
263
176
162
230
130
148
191
190
199
150
231
166
145
257
239
168
189
157
237
162
192
172
230
180
199
197
191
162
183
204
129
138
250
202
176
143
161
217
217
188
180
169
232
143
235
159
209
234
219
313
263
217
247
178
151
212
253
187
176
229
225
204
219
268
194
174
143
189
157
242
141
208
176
206
168
192
173
188
253
258
258
186
285
173
176
186
239
166
141
234
179
151
158
115
209
174
210
219
129
146
204
158
160
185
145
228
206
194
182
224
173
283
129
274
180
143
219
162
220
130
175
146
211
173
239
156
198
141
130
133
141
149
204
234
189
202
245
183
115
187
183
166
234
199
204
202
247
155
242
179
158
178
191
146
182
164
156
119
129
201
255
181
173
146
164
206
225
115
197
210
241
176
253
163
199
168
200
151
143
129
212
164
233
211
255
146
174
300
248
292
186
214
187
190
225
191
247
218
234
210
204
143
115
175
184
191
151
201
195
146
158
203
231
255
146
197
122
197
130
239
238
160
203
115
242
204
189
182
173
228
233
217
176
149
189
238
221
192
169
146
235
205
130
230
206
219
156
173
176
122
173
151
206
232
225
155
275
216
201
223
217
211
238
217
143
130
185
146
122
174
199
227
242
157
222
267
166
303
150
176
169
130
132
199
148
176
146
263
129
206
183
153
244
188
231
146
242
213
206
220
214
151
205
223
241
168
224
212
147
236
260
129
173
176
180
158
173
115
188
271
283
189
252
197
173
335
185
133
224
270
284
160
162
145
181
145
299
182
129
122
225
223
217
115
115
149
130
206
226
145
200
204
164
164
130
204
160
161
182
188
186
173
201
162
216
145
223
129
259
204
270
240
144
146
129
208
226
149
237
173
169
210
146
133
162
182
230
209
216
206
221
204
143
182
209
187
195
192
233
247
210
191
181
256
202
130
182
184
212
181
191
225
169
204
231
222
190
204
186
153
221
183
246
147
217
221
169
185
270
162
141
210
187
173
157
146
132
197
221
198
213
174
225
217
152
217
248
178
213
129
150
130
141
197
243
191
210
236
164
193
238
141
238
195
224
184
153
235
206
216
247
138
231
265
233
200
164
184
274
203
232
153
188
229
201
155
173
132
173
258
161
150
162
283
156
146
165
164
173
201
162
231
129
191
145
202
176
168
138
146
180
173
166
165
197
204
156
146
200
239
154
185
287
199
232
168
286
184
217
158
202
218
206
168
150
200
231
184
176
188
207
146
176
130
169
199
146
143
205
217
160
206
170
238
155
156
153
168
254
218
184
197
122
181
225
130
146
193
146
217
183
182
287
252
193
193
173
265
160
193
170
182
221
232
150
252
146
206
150
242
173
174
242
179
190
144
230
190
207
115
200
143
252
160
201
212
269
171
194
202
179
239
133
192
178
166
179
140
207
173
251
281
211
206
194
206
175
173
173
215
176
129
202
178
182
168
130
181
188
231
173
187
188
153
199
173
225
246
208
247
247
162
146
181
146
129
158
234
264
156
176
143
173
226
207
201
129
173
217
247
170
187
210
176
177
206
210
158
162
130
158
221
180
256
153
180
246
176
168
253
182
180
214
205
253
184
197
191
129
205
204
237
195
210
211
206
204
170
219
192
143
182
156
150
185
197
200
187
186
218
210
204
188
173
193
217
180
194
200
204
141
158
187
166
201
204
223
191
222
170
194
173
170
222
170
141
201
207
212
130
129
187
183
185
196
129
115
261
164
211
155
181
204
211
178
243
226
222
215
235
207
182
251
173
164
291
146
189
197
226
129
202
158
220
162
147
238
194
158
182
211
203
176
164
177
247
205
171
188
150
257
220
241
158
241
151
180
129
141
183
155
143
231
158
255
183
214
173
179
190
183
262
155
238
188
129
281
185
156
239
150
252
146
177
176
216
168
236
202
234
171
115
146
208
144
180
239
173
143
253
192
204
153
183
204
204
138
181
228
287
216
224
168
233
192
202
141
173
239
201
192
152
160
187
253
171
225
183
188
214
204
190
162
244
192
168
227
190
218
156
146
191
177
304
132
212
212
160
143
143
228
201
115
212
236
185
212
132
230
213
271
130
188
169
192
146
212
205
199
228
207
229
214
219
198
175
242
173
228
162
232
184
183
212
183
231
247
162
204
147
194
133
133
173
143
143
189
122
194
223
224
178
201
180
277
201
244
176
156
160
192
211
179
218
194
187
179
262
227
122
204
160
180
204
222
201
144
230
190
293
252
264
196
236
181
239
235
209
186
210
191
239
200
258
187
229
222
248
166
217
188
173
212
173
235
203
179
187
184
161
180
180
226
215
152
157
193
144
206
202
240
184
169
194
252
179
198
182
165
204
237
244
146
201
200
246
231
181
160
141
165
269
181
205
235
149
146
195
130
145
210
192
210
145
176
179
202
227
168
146
173
146
211
186
206
175
266
155
183
173
184
261
129
164
168
179
256
192
173
280
130
191
211
173
156
173
174
194
239
176
146
164
188
173
185
159
203
196
230
224
166
146
176
268
205
209
208
222
263
157
169
228
263
265
199
206
156
198
143
129
129
225
199
185
143
202
130
220
146
161
210
183
204
274
130
192
159
192
253
183
202
160
166
213
244
130
213
179
187
246
208
167
210
214
188
213
271
115
204
243
133
173
230
191
216
203
214
236
211
168
227
176
180
178
146
173
210
184
173
173
155
167
219
209
180
146
197
227
197
174
195
130
176
228
184
166
225
202
191
220
156
187
228
235
205
210
210
243
172
171
229
217
146
217
207
190
176
221
215
162
205
207
115
214
210
321
146
131
221
192
164
155
176
177
155
158
204
151
201
191
202
201
191
188
249
183
211
171
172
217
150
176
245
211
201
158
187
158
230
115
189
210
195
164
129
157
224
165
163
236
202
173
210
202
231
265
233
166
261
243
181
169
150
149
130
152
115
141
197
219
158
185
260
241
165
178
150
210
252
226
115
202
199
211
172
206
130
164
246
129
185
115
205
187
217
210
211
253
281
246
217
185
203
182
162
230
129
233
146
181
238
141
204
176
222
205
222
204
172
231
211
150
122
173
130
185
147
248
201
181
229
181
141
210
169
130
206
216
229
189
232
258
210
168
143
200
173
176
168
173
240
192
115
246
209
141
176
228
238
236
224
149
146
146
191
155
178
215
202
171
183
141
193
313
189
201
169
215
130
180
201
169
259
188
180
177
180
209
201
141
173
146
179
181
164
119
179
183
200
247
217
185
267
195
145
211
192
133
230
162
183
164
158
143
213
221
164
129
208
182
211
210
180
179
180
214
183
223
129
187
130
257
217
149
264
217
190
211
129
190
176
211
177
221
155
208
146
210
210
145
184
174
183
199
132
176
157
176
207
150
256
193
171
149
179
188
149
264
233
182
175
201
183
231
164
179
166
176
158
181
200
217
236
130
133
166
192
146
182
173
191
218
130
182
176
138
250
204
144
155
133
235
247
173
128
256
172
211
205
221
196
174
230
210
210
319
175
202
197
218
201
145
194
214
179
176
205
189
130
210
201
262
183
143
241
181
199
176
225
195
183
253
227
233
133
184
185
190
173
189
203
244
185
149
179
161
178
149
193
173
236
178
184
203
214
221
210
254
129
194
155
226
184
227
164
205
143
197
217
180
138
179
266
175
201
168
201
217
213
180
222
255
133
189
214
235
157
173
252
138
335
173
159
171
176
173
199
173
262
170
143
184
206
160
176
199
206
115
207
200
189
182
247
182
180
227
176
178
179
189
171
209
129
188
170
194
185
226
177
209
237
239
230
200
179
210
182
171
173
226
176
204
224
247
178
217
238
240
282
143
145
236
198
173
166
179
263
246
180
141
170
185
259
169
130
201
160
250
222
185
231
271
206
185
184
189
261
169
202
206
189
242
173
180
174
182
130
186
168
204
213
115
164
184
143
167
209
220
182
180
176
230
163
192
163
149
162
163
162
190
184
158
173
199
171
122
155
150
191
196
220
190
183
199
129
237
181
130
169
183
205
231
186
225
174
211
176
203
152
195
203
200
146
129
130
204
210
181
179
145
239
168
236
179
229
261
194
227
180
175
130
158
152
228
201
169
246
209
184
217
130
264
228
180
172
203
162
255
130
130
196
178
184
179
173
284
233
161
252
184
232
151
160
250
222
173
254
184
176
179
179
171
206
175
227
157
227
227
254
201
192
201
201
214
180
228
129
211
168
152
155
217
225
122
209
210
130
198
188
202
222
205
164
198
150
168
226
157
182
187
115
181
261
164
272
209
169
173
210
202
231
184
182
228
155
150
222
230
265
150
183
261
191
143
222
237
158
160
247
138
164
212
164
204
178
183
217
184
173
181
214
184
274
176
219
173
258
172
225
210
188
158
224
130
263
254
141
170
181
155
146
164
133
239
244
122
174
227
210
130
257
156
228
225
188
179
204
146
205
188
180
164
243
214
238
229
224
150
210
179
166
233
218
205
176
179
202
130
227
309
184
231
258
259
162
149
251
184
202
199
164
204
200
250
178
219
203
168
191
191
223
122
225
225
218
179
179
168
162
151
222
181
160
146
130
236
115
119
202
166
181
227
230
149
146
129
173
129
129
129
173
157
236
173
207
218
167
204
173
239
173
377
210
212
182
165
178
203
200
169
130
196
115
182
191
173
248
173
179
172
146
155
244
166
158
217
156
238
262
166
255
160
254
129
208
231
241
172
200
188
217
166
178
162
202
150
176
175
300
146
251
158
115
238
202
211
229
165
225
206
179
247
183
215
257
146
176
160
266
130
190
129
156
149
205
173
129
163
176
183
194
205
194
213
180
184
254
204
146
176
146
218
258
251
189
217
258
168
274
171
143
204
164
174
214
215
214
264
236
138
209
164
145
201
173
204
178
214
204
119
204
236
169
212
169
130
201
176
168
203
210
162
230
206
222
188
166
287
227
201
187
227
185
200
240
162
147
210
150
226
133
201
188
240
131
335
209
177
201
158
167
192
130
226
171
200
195
170
177
129
156
236
235
227
182
158
217
179
146
210
152
234
169
286
196
164
282
130
150
182
146
187
180
188
183
205
186
261
129
203
130
184
204
164
201
205
239
264
176
189
169
222
170
183
145
188
162
158
130
162
151
223
161
242
158
180
187
168
223
145
173
190
262
211
147
144
210
151
171
227
155
140
122
162
141
164
259
299
152
246
232
204
156
164
228
264
303
212
162
150
298
146
173
214
160
155
183
287
129
242
183
164
143
251
211
213
174
261
198
197
154
184
156
228
202
184
204
191
309
220
285
214
207
168
173
195
173
225
166
194
146
201
209
179
176
183
259
160
246
190
143
146
226
144
129
267
228
172
165
164
188
184
173
200
184
199
180
129
174
317
176
182
194
138
207
204
281
250
210
172
189
173
164
267
195
115
198
181
173
195
260
130
170
179
138
168
183
217
219
239
206
174
145
239
253
186
162
209
184
176
162
173
192
197
168
157
184
230
238
193
159
145
130
248
146
184
204
185
256
202
129
217
191
133
210
199
244
194
179
211
247
254
243
167
216
202
208
171
222
133
169
249
234
211
211
319
130
229
130
169
222
146
218
200
217
175
204
146
171
174
184
217
209
156
200
157
189
170
217
155
143
286
179
258
145
230
230
206
202
203
129
188
204
162
197
190
183
215
240
176
200
184
143
189
173
263
195
204
193
176
246
176
225
221
145
204
146
203
203
220
156
277
202
162
173
292
237
141
129
146
141
190
175
160
254
168
176
188
230
188
145
211
133
149
255
185
250
131
214
204
169
244
146
163
185
146
230
232
238
173
230
237
168
261
203
190
210
164
210
221
201
189
276
230
168
233
198
166
270
204
183
200
297
243
169
151
202
182
164
184
148
247
159
206
216
305
162
247
115
238
217
146
271
200
176
202
156
164
184
176
229
187
221
162
188
237
161
234
221
145
235
218
213
201
264
173
176
173
194
146
173
207
252
143
238
206
211
211
153
169
190
122
141
174
177
198
149
146
156
204
179
187
164
192
236
164
146
190
155
216
204
264
129
168
188
178
211
150
164
171
171
210
200
178
129
186
179
146
232
244
158
156
200
182
143
192
246
258
122
239
129
236
129
201
130
221
176
133
199
129
237
199
174
236
204
198
206
143
194
130
217
176
189
195
147
222
174
204
204
161
184
170
200
206
234
200
194
201
179
164
176
191
231
258
175
162
129
206
193
157
204
176
211
192
335
155
146
287
145
179
155
213
239
206
201
208
129
262
158
199
216
191
173
271
130
204
146
151
179
188
143
179
175
170
129
242
208
198
275
239
212
133
129
195
115
225
236
183
176
182
178
184
173
173
226
150
171
180
247
168
239
172
241
211
222
202
174
146
229
157
210
247
130
201
209
164
194
273
240
217
230
163
217
230
146
176
209
181
238
212
204
210
155
179
176
227
183
156
187
132
162
130
138
204
193
225
168
230
168
231
210
128
146
206
156
183
173
172
200
237
156
226
173
196
238
211
168
218
213
261
189
202
176
158
176
174
190
250
158
150
133
255
244
208
210
202
164
208
168
148
246
146
181
231
209
168
130
161
176
254
182
262
201
130
235
296
230
146
172
250
241
115
146
130
188
200
189
217
161
144
179
212
303
160
191
237
158
214
190
166
230
173
193
155
223
158
231
204
168
169
243
173
216
130
206
179
162
166
145
191
171
138
157
173
184
145
211
185
143
252
184
195
143
150
184
236
219
238
213
195
168
150
209
210
146
178
192
229
211
129
230
171
204
210
168
275
141
264
210
200
155
129
260
162
174
177
169
152
254
168
193
208
236
176
182
130
202
178
226
186
130
264
170
149
172
129
188
266
210
168
160
146
240
212
133
162
180
237
250
179
217
174
217
210
191
133
225
161
150
168
230
145
175
191
130
206
146
201
179
150
179
173
232
189
141
250
211
192
240
227
204
154
129
258
185
176
204
216
210
185
183
183
261
156
172
232
258
238
204
177
180
199
175
146
199
176
180
181
201
225
173
168
176
169
180
214
176
236
186
133
222
143
122
160
214
164
174
229
160
164
173
175
283
183
188
189
226
133
255
143
178
232
228
173
161
187
185
216
144
168
206
153
129
183
158
138
180
144
180
217
157
201
261
211
176
217
206
129
183
165
226
217
273
242
225
231
234
192
186
186
212
212
265
226
173
146
210
180
203
221
129
258
201
271
173
146
129
164
192
168
155
187
169
163
115
143
153
210
200
169
214
173
194
146
115
184
230
206
230
214
174
164
167
210
199
182
204
188
168
194
206
268
255
230
173
176
161
236
221
179
128
222
173
220
226
259
184
184
209
180
248
182
204
281
187
201
162
173
219
178
295
257
195
239
203
166
244
209
204
199
153
176
217
211
266
221
129
195
210
192
200
209
157
213
205
158
256
143
227
277
161
182
248
191
239
143
129
200
172
155
217
247
210
179
130
230
200
230
239
157
210
230
192
163
213
218
221
198
199
173
166
274
281
173
163
180
240
225
203
168
225
187
193
176
296
217
186
216
115
187
122
246
143
245
218
149
161
269
204
167
146
129
250
228
179
173
158
247
258
180
224
191
146
205
186
146
145
168
164
183
280
258
173
129
138
218
130
170
157
129
176
166
175
229
176
231
146
232
187
133
204
168
262
156
200
146
160
185
176
138
178
146
129
169
153
150
231
200
210
241
146
168
138
259
149
181
212
194
190
217
225
189
217
130
195
176
162
201
149
208
178
129
217
151
181
297
179
204
178
155
177
129
181
179
184
195
279
229
230
211
196
173
132
192
175
208
222
181
263
203
195
130
185
202
204
179
143
143
164
186
279
204
247
178
287
250
203
219
229
193
183
256
146
236
201
210
248
193
192
257
299
174
210
150
236
204
266
178
266
150
129
245
145
192
145
217
141
129
236
211
167
115
161
271
128
226
194
189
191
200
228
227
213
213
173
158
246
182
152
183
162
218
129
210
223
183
206
177
185
176
178
199
231
195
210
244
203
180
214
176
226
192
228
184
215
200
212
224
149
122
227
214
168
158
230
158
201
222
188
260
198
150
228
285
229
209
194
143
164
204
179
149
240
143
190
325
169
173
269
259
173
210
275
185
173
169
128
285
146
212
141
176
264
191
204
178
238
206
190
210
243
169
191
200
264
143
178
222
250
179
161
210
243
231
277
150
180
158
219
214
158
208
256
184
211
217
184
161
238
173
251
162
200
166
146
146
145
234
158
182
141
184
158
169
122
234
228
173
129
212
162
216
130
204
182
159
167
182
221
168
206
164
174
194
237
227
159
201
168
129
236
208
195
129
183
133
182
211
199
115
156
155
221
143
145
205
200
188
174
219
201
169
195
146
183
189
231
200
146
242
205
133
204
182
130
192
210
191
222
223
285
172
168
204
296
204
187
191
155
155
181
184
157
173
200
188
218
204
198
194
130
238
115
132
185
181
244
130
164
175
238
244
246
230
219
211
206
158
211
189
222
216
244
133
264
138
234
143
242
115
181
145
185
138
192
187
211
184
160
188
223
182
198
181
241
239
204
204
182
147
150
259
185
115
209
182
194
199
239
182
257
210
164
143
153
168
115
230
200
147
179
173
196
200
168
204
209
157
193
150
176
210
201
245
191
130
176
230
229
212
168
162
230
181
176
204
188
203
158
204
133
149
158
130
156
210
130
189
143
203
158
256
215
164
231
168
164
183
191
272
115
176
204
256
251
167
275
130
143
206
177
242
146
216
187
228
176
264
201
201
180
237
201
178
211
174
143
231
236
234
174
221
202
182
205
195
201
194
201
258
221
216
133
204
217
211
302
129
264
169
204
173
193
176
210
166
186
162
179
130
172
206
249
217
255
130
176
167
163
210
210
187
191
190
130
227
246
115
248
129
168
211
285
178
207
175
214
218
143
179
132
202
293
115
217
176
146
178
169
206
165
210
142
130
206
129
202
170
195
234
155
179
173
202
213
166
214
138
217
166
238
176
228
143
129
115
180
176
164
164
271
178
234
208
187
179
188
179
233
219
216
146
237
115
215
179
210
146
146
184
168
176
171
251
133
203
240
173
172
222
164
188
174
191
143
185
162
239
179
238
154
193
230
210
247
225
191
204
159
258
230
206
144
179
205
210
146
202
199
157
129
212
160
195
156
200
156
129
181
229
217
191
216
331
202
122
158
254
266
115
186
299
241
222
174
222
261
129
185
212
213
145
258
249
206
176
249
146
248
298
193
180
162
163
184
143
214
204
176
128
280
187
246
190
204
222
130
169
168
205
230
178
249
229
236
168
185
274
195
156
203
143
207
143
230
230
179
176
176
204
264
158
285
238
147
173
183
216
212
236
175
203
242
156
143
146
170
160
194
238
115
217
246
152
263
191
170
143
202
164
217
146
143
129
177
194
115
201
209
155
145
180
172
210
248
189
207
180
160
157
287
216
180
189
210
129
201
229
184
174
246
169
183
211
130
146
218
181
224
145
255
129
168
203
199
210
227
183
227
145
210
205
152
183
219
283
173
244
163
129
253
157
191
153
219
200
197
286
227
238
218
255
210
250
122
210
255
201
146
268
182
202
155
201
169
176
211
263
204
186
180
192
184
204
193
258
191
146
231
232
204
208
141
237
210
115
196
210
169
173
212
217
129
184
185
182
189
236
229
133
210
221
253
178
171
145
172
130
150
158
173
178
234
195
248
256
205
210
173
249
158
158
203
271
129
200
212
255
243
215
168
251
247
186
146
200
230
240
195
195
219
179
166
129
258
122
327
195
143
243
164
187
173
173
204
146
130
193
176
200
181
173
180
156
179
115
143
204
304
203
175
257
180
187
218
146
129
186
146
176
236
205
185
128
173
168
203
130
144
130
167
185
176
185
208
242
210
239
247
162
177
166
115
244
234
218
129
229
173
248
167
129
219
130
181
203
210
254
188
180
162
180
158
230
248
164
164
231
255
172
176
200
162
222
173
197
162
130
129
210
145
184
173
206
211
173
259
194
216
197
195
223
178
146
215
188
225
168
194
189
224
175
217
176
130
217
227
122
168
145
166
181
115
161
133
130
213
115
157
184
172
192
178
214
203
173
227
199
204
217
250
211
228
184
217
229
172
194
183
208
235
175
173
204
236
164
195
242
198
176
234
179
130
130
160
143
129
238
228
204
170
158
147
219
210
201
257
214
284
237
158
151
241
209
130
128
211
220
204
220
187
164
204
173
200
216
159
160
152
226
216
220
178
201
263
119
229
217
184
179
156
168
276
208
238
182
206
221
254
207
185
130
193
201
173
353
209
149
200
178
220
209
264
173
211
191
166
208
254
164
186
239
164
174
176
130
201
225
145
184
180
217
164
193
214
217
200
145
195
176
179
158
204
158
199
217
182
156
170
128
213
157
152
155
223
146
176
187
149
211
183
210
153
225
122
296
157
233
214
214
145
215
176
225
160
158
209
238
168
255
149
206
115
162
211
168
255
225
173
130
183
217
248
143
182
129
231
166
129
180
219
151
155
184
129
239
236
169
156
133
201
160
146
267
147
164
201
172
191
218
236
184
239
272
190
258
149
115
219
188
205
130
217
145
158
183
229
145
171
173
143
185
115
245
195
184
219
199
186
155
179
162
180
169
206
248
220
242
185
204
230
194
204
180
182
180
222
160
158
128
133
181
178
217
168
227
181
167
155
182
182
185
258
196
183
146
189
173
130
171
175
204
186
146
173
194
246
215
152
133
115
255
178
221
153
180
188
175
130
184
248
168
173
156
173
160
130
210
244
196
215
239
231
213
158
251
180
179
130
130
178
212
146
161
180
192
179
218
181
204
254
227
204
256
246
132
222
209
146
176
186
161
246
296
143
194
158
190
150
182
158
194
193
175
202
202
150
132
204
195
204
169
196
188
145
202
166
204
165
230
183
162
207
178
150
212
203
224
210
236
158
202
159
175
115
192
145
178
133
185
251
265
217
206
164
173
155
209
194
229
173
130
143
138
252
166
173
115
179
194
221
221
232
179
184
223
175
162
178
182
237
122
181
201
270
247
115
222
233
162
150
180
143
174
296
176
192
224
210
143
197
197
212
207
166
200
158
204
262
170
143
169
191
192
201
231
224
173
168
220
210
144
191
130
130
239
167
211
177
188
173
185
176
146
191
171
165
205
188
195
192
133
165
158
210
193
129
173
179
184
201
231
261
204
260
233
157
206
129
176
133
256
250
205
203
145
238
173
188
164
295
151
211
202
254
158
237
239
266
174
242
201
146
268
166
145
206
115
156
157
213
265
217
191
141
234
143
149
300
155
217
194
166
182
146
226
129
122
172
167
155
164
143
173
190
186
254
211
129
217
242
269
146
158
167
173
248
240
210
133
208
230
202
256
189
204
211
200
188
211
199
183
210
164
181
209
207
209
130
176
172
270
181
188
209
207
193
171
177
267
158
201
183
230
188
236
263
174
182
182
189
210
264
150
164
188
172
170
172
234
185
211
204
230
208
185
204
183
158
162
170
200
146
231
213
229
244
213
146
129
266
178
173
251
213
145
321
200
214
222
251
115
176
164
180
146
249
145
145
252
119
335
149
239
170
150
183
130
229
150
187
115
168
217
204
181
210
240
173
191
187
262
185
190
239
129
141
210
250
214
217
186
202
129
175
250
297
290
252
183
243
155
183
130
129
274
222
200
191
186
242
170
151
181
268
176
258
201
150
171
146
202
171
188
143
160
203
201
236
236
146
173
208
160
198
130
196
157
166
217
174
207
148
268
146
158
145
185
210
184
186
146
244
176
194
196
203
183
205
251
195
260
228
190
230
204
216
204
160
203
210
222
146
143
212
184
221
176
238
161
141
176
133
130
182
201
233
225
164
183
162
202
254
179
232
162
210
216
296
206
209
162
191
202
229
202
200
128
191
181
262
229
181
237
133
196
193
141
158
236
226
217
324
161
204
210
202
130
158
163
204
191
230
287
133
189
201
211
150
170
172
146
238
258
186
256
231
146
210
174
183
183
176
203
232
157
168
246
236
145
258
186
145
250
217
160
133
146
201
182
178
129
302
171
191
251
176
182
209
129
289
195
150
145
193
254
221
202
230
179
180
164
188
129
158
145
202
199
158
167
202
176
182
227
210
173
215
163
176
176
208
161
143
238
115
183
179
129
241
191
130
147
132
155
183
217
199
236
238
299
211
179
242
174
130
166
183
197
169
200
182
221
204
231
203
122
235
170
195
235
204
227
173
165
130
238
130
141
164
216
239
210
210
208
145
143
217
186
217
183
192
204
164
189
226
160
265
180
130
241
176
173
160
210
176
202
217
162
238
179
247
224
165
129
179
188
158
201
254
129
212
146
255
166
226
183
236
145
173
157
183
210
187
146
199
244
204
234
248
243
200
240
155
172
186
174
248
212
201
129
203
335
146
239
236
219
171
257
181
233
129
187
210
201
143
176
227
185
132
182
177
222
175
190
152
179
214
162
173
217
207
217
202
253
152
210
270
179
184
218
221
153
229
235
238
206
197
202
187
157
222
146
145
188
191
144
173
161
204
242
195
145
200
184
130
200
240
243
190
230
183
180
164
214
210
115
162
133
191
162
162
245
227
255
206
176
176
147
202
191
188
230
173
201
183
167
183
173
206
171
206
268
230
173
184
252
181
246
201
188
182
180
202
166
130
176
200
158
153
210
167
216
150
152
182
168
270
202
180
186
141
204
210
171
146
149
179
202
129
211
164
256
247
149
248
188
145
175
158
201
115
221
146
238
158
210
245
156
182
145
145
155
164
265
129
208
200
179
201
292
232
127
192
192
180
167
178
146
203
227
144
166
162
133
170
221
141
188
217
245
130
194
277
230
185
178
115
216
185
204
266
211
160
227
183
248
202
217
204
115
251
188
169
202
202
183
185
227
188
173
180
129
246
225
236
210
335
257
214
236
186
234
115
237
252
210
169
130
225
203
192
153
115
200
129
247
216
184
188
164
155
138
224
225
146
146
204
264
184
173
160
204
244
237
156
169
201
239
275
233
175
246
157
198
149
158
183
130
238
172
192
190
263
153
145
204
187
211
129
146
196
200
257
146
227
251
183
153
186
146
173
184
196
269
171
206
133
227
335
150
172
188
129
235
210
189
195
129
247
187
212
195
184
156
184
115
143
122
227
183
215
180
186
145
146
181
169
317
183
146
177
243
171
300
158
145
156
177
256
178
176
164
201
146
192
145
214
141
173
203
236
203
211
146
201
210
214
215
198
174
191
183
168
247
176
189
247
171
130
161
201
206
299
247
179
197
252
218
211
129
191
161
146
176
153
261
173
211
251
190
177
211
138
259
204
189
166
200
166
157
201
198
182
171
161
218
183
251
186
162
130
160
229
129
185
217
217
233
143
133
186
129
164
145
196
130
218
173
158
200
206
216
174
199
129
181
264
152
196
133
204
183
254
175
234
212
206
143
129
188
156
211
164
222
179
186
214
202
169
176
130
239
254
173
143
146
194
173
335
149
173
176
130
218
174
143
229
146
149
214
191
166
143
204
235
192
175
211
188
198
167
233
143
222
174
222
302
223
174
189
188
177
251
225
162
168
190
230
151
177
191
149
188
204
173
220
222
204
202
194
155
199
236
133
169
195
208
146
182
201
168
179
161
200
287
210
166
225
176
288
242
176
160
216
202
155
209
147
210
156
227
220
169
185
146
201
184
215
162
202
188
161
162
149
129
207
241
221
200
183
203
210
200
150
186
210
201
292
181
176
174
163
217
263
247
169
256
198
173
164
217
217
129
221
200
152
145
185
184
199
203
217
189
186
162
219
191
165
165
162
201
180
210
224
180
133
246
162
166
221
129
130
130
191
203
200
182
146
144
162
210
176
143
217
143
179
225
192
170
239
155
203
169
202
152
189
218
194
143
182
264
129
231
202
146
228
262
156
163
202
158
146
230
185
150
265
229
161
204
162
189
151
231
236
146
173
133
182
163
145
241
239
157
200
172
253
214
185
191
204
206
193
145
187
196
175
243
265
257
198
230
176
214
178
184
184
176
187
201
253
162
238
219
217
188
175
238
159
173
171
174
196
210
252
129
119
146
182
164
155
141
223
212
164
129
159
201
194
224
178
204
171
231
191
158
170
265
202
169
130
188
145
202
227
171
158
212
200
168
149
164
223
168
146
188
168
225
227
223
227
178
207
146
203
189
149
143
288
145
201
122
184
162
217
202
210
145
146
146
146
194
155
259
228
181
173
176
208
201
152
160
216
164
222
187
193
221
203
199
176
180
176
225
271
129
185
239
224
195
183
158
178
176
200
182
191
210
167
238
168
147
216
205
129
173
249
166
335
157
193
190
182
196
179
150
173
183
167
184
173
185
204
210
233
248
215
234
201
206
205
189
204
243
155
190
190
133
180
241
200
216
264
273
204
145
217
264
256
247
284
258
176
184
164
176
214
128
182
214
240
222
231
164
191
204
179
239
166
172
204
149
184
251
299
237
205
130
288
202
191
115
129
335
145
204
202
128
146
180
206
239
239
211
203
171
236
198
151
129
255
230
150
146
229
224
241
145
232
188
256
194
203
255
238
217
178
146
164
175
246
150
200
173
204
149
176
229
234
180
232
278
179
155
204
209
165
181
146
179
211
239
174
156
147
245
130
176
235
193
191
157
162
161
146
270
178
248
178
201
241
246
130
214
149
130
180
170
162
249
143
133
217
277
195
164
176
192
187
152
277
214
173
192
184
178
252
179
143
180
173
165
176
129
173
244
157
193
145
176
191
210
231
229
230
182
239
217
226
175
208
176
130
218
130
180
187
269
230
146
200
196
184
173
178
143
200
129
188
203
155
198
188
211
182
173
158
149
204
186
182
129
236
169
210
227
216
173
162
183
174
191
235
179
183
289
143
265
303
178
146
273
231
275
227
129
201
204
173
173
192
227
191
219
173
183
218
184
202
146
203
159
177
146
201
253
269
189
183
246
161
199
173
214
218
185
230
263
173
232
115
122
246
302
249
165
168
240
239
217
229
210
195
229
203
186
270
182
230
182
153
146
232
239
190
171
222
151
214
209
268
168
143
225
186
172
155
211
179
186
165
219
187
200
149
158
155
204
191
201
173
206
195
176
183
210
203
219
173
161
204
226
130
216
158
173
246
234
270
190
300
151
169
204
241
150
222
228
254
155
129
160
158
130
161
258
234
275
193
133
160
164
206
151
218
215
115
187
164
144
183
130
127
239
190
201
207
156
146
204
185
206
263
184
235
209
203
238
276
176
228
222
210
191
192
168
225
238
222
322
222
205
219
146
194
244
202
230
145
149
129
185
145
227
138
268
259
194
228
216
181
260
203
204
242
219
177
146
184
188
255
176
223
201
214
176
203
204
321
173
240
130
204
180
187
179
144
177
166
146
185
175
204
190
184
181
133
178
254
150
210
157
194
179
224
242
195
129
165
213
184
146
255
200
192
296
171
224
273
180
192
194
211
263
155
158
217
239
209
207
258
239
173
146
209
208
201
188
183
200
172
172
166
181
180
240
179
222
210
206
247
173
115
206
216
115
184
207
152
133
269
214
145
238
230
166
211
184
172
288
115
146
217
195
129
274
190
274
202
230
185
130
184
182
265
149
228
187
225
146
234
146
217
205
217
204
164
206
210
216
273
129
176
176
191
160
261
128
188
194
206
238
243
162
216
263
217
169
195
204
262
185
141
173
176
182
242
162
130
202
201
209
158
178
239
146
206
247
248
198
225
204
180
266
185
149
175
231
218
256
170
158
130
133
190
210
200
172
231
175
233
203
182
200
271
231
130
256
214
190
156
263
200
229
244
146
249
173
130
176
130
171
173
208
246
227
234
300
184
163
178
182
145
185
259
207
304
129
158
160
221
161
166
158
189
251
161
193
271
210
149
164
251
228
204
178
129
186
239
178
195
227
191
167
214
193
204
192
230
283
173
153
184
173
238
158
217
194
262
129
130
205
245
235
218
178
216
185
239
166
192
274
130
213
213
149
160
171
263
200
227
241
181
239
236
248
184
122
235
230
222
133
208
188
223
173
145
176
234
146
226
173
115
189
182
130
209
143
122
179
181
156
185
166
173
181
178
145
191
144
175
193
209
173
173
282
160
130
146
194
184
204
179
182
238
193
162
217
208
172
173
204
195
166
185
195
222
210
171
184
156
189
244
256
143
209
217
177
179
248
218
146
155
168
150
188
115
262
251
218
204
172
230
129
186
129
217
187
211
169
264
240
219
217
193
173
231
173
171
157
200
179
169
200
209
181
141
129
133
169
219
216
167
187
232
145
179
175
146
146
219
171
151
191
209
219
243
214
210
164
130
193
190
179
176
246
167
218
225
296
251
155
146
304
229
198
184
178
192
222
159
161
189
146
217
262
173
129
265
152
176
174
163
264
272
164
260
204
129
184
129
176
202
184
146
258
217
192
258
260
222
176
171
176
155
146
153
166
161
143
175
174
176
225
180
193
143
133
168
257
218
204
184
161
179
192
173
173
205
230
230
217
261
181
180
178
133
166
219
217
183
264
129
169
174
168
188
138
189
221
247
206
176
165
202
230
225
211
238
180
115
168
227
185
160
244
187
145
181
189
230
173
146
191
176
256
238
178
176
260
230
250
219
224
208
216
184
189
208
203
197
211
190
194
205
184
204
229
130
165
246
236
218
254
225
242
176
241
211
217
193
173
220
199
213
228
173
210
166
211
236
204
219
193
164
182
157
146
179
161
162
163
211
231
166
115
214
150
202
181
143
160
182
218
225
156
133
266
340
182
276
203
169
162
174
211
173
191
239
207
189
194
231
206
248
236
184
191
255
264
173
129
227
185
214
182
188
186
182
230
175
189
129
129
217
169
246
173
206
238
204
176
194
146
219
219
182
260
228
143
129
180
178
211
264
238
202
168
162
199
173
132
256
143
230
228
185
201
182
191
190
319
191
145
242
173
174
170
262
239
211
211
246
211
178
268
191
179
184
194
270
158
239
255
196
184
252
204
201
260
272
130
227
176
249
180
146
238
211
229
255
193
146
239
221
251
181
210
167
217
198
179
228
210
146
216
122
191
219
237
164
130
156
178
185
203
133
173
210
230
157
183
214
210
146
129
145
183
281
202
174
259
179
144
174
235
255
194
129
204
130
188
200
207
190
238
176
266
172
173
205
149
155
204
153
129
240
194
223
230
225
130
235
258
176
176
214
165
170
143
201
173
143
184
223
222
162
192
143
243
155
206
176
177
178
236
212
203
176
192
200
129
226
206
266
210
210
200
206
129
282
210
220
191
128
176
214
208
148
210
178
195
198
184
197
212
195
226
173
214
207
170
186
176
199
201
165
230
204
199
155
200
146
187
181
200
191
217
115
195
191
202
331
213
200
283
218
192
147
168
158
297
191
176
217
146
183
248
189
225
222
129
130
131
160
158
129
217
162
204
200
228
156
165
247
130
130
199
173
238
202
274
250
158
175
169
188
208
129
190
181
168
160
180
143
141
169
162
173
191
212
218
303
173
158
176
202
231
199
150
179
207
180
201
133
169
158
270
158
140
168
162
177
169
207
208
236
204
147
171
188
203
145
198
129
182
184
182
143
168
238
184
220
164
176
130
180
133
217
216
258
158
209
173
132
153
208
190
195
228
200
192
145
222
175
228
173
191
156
173
247
129
153
202
201
204
241
168
192
179
183
157
130
168
217
207
200
186
207
217
146
146
161
220
191
187
160
210
146
173
236
176
257
254
157
236
183
145
173
173
204
183
202
175
246
179
171
239
164
201
159
149
180
217
130
152
206
212
185
215
115
210
164
161
153
236
146
244
145
184
240
183
243
128
223
230
186
222
273
173
236
146
254
201
182
166
185
215
175
184
240
164
177
235
242
296
245
239
159
264
265
187
167
173
167
143
192
129
130
203
228
205
207
253
211
211
222
133
175
239
221
133
158
200
197
183
184
238
211
259
151
202
224
162
202
150
130
209
204
193
182
252
130
166
233
194
130
255
173
157
207
184
168
144
218
129
180
171
195
132
115
167
203
246
203
129
222
168
182
206
191
177
227
183
234
274
146
211
180
239
141
179
147
176
179
189
262
210
176
216
181
173
141
292
228
220
242
171
129
178
252
158
133
245
199
158
200
191
265
200
246
145
145
236
157
215
260
129
241
162
185
221
179
122
181
170
173
179
219
204
213
200
239
133
185
179
250
204
226
271
158
219
218
129
258
167
207
170
206
212
216
293
174
129
198
163
189
257
252
234
211
146
174
212
175
171
202
143
179
167
201
233
129
255
283
128
190
129
158
129
236
141
204
202
179
255
192
295
188
156
179
192
185
176
189
199
129
247
146
208
197
217
160
217
171
168
230
173
146
130
184
209
195
194
146
188
192
128
217
201
172
196
214
169
197
179
206
176
173
141
205
145
179
183
130
133
129
188
209
204
168
246
180
204
178
262
129
217
173
185
250
192
155
164
157
230
227
163
195
228
184
187
264
206
173
207
149
179
202
210
173
178
202
192
251
176
129
205
242
216
230
217
217
256
129
145
217
195
146
264
190
217
192
205
210
225
178
173
173
193
207
203
228
115
188
130
188
210
172
192
155
153
210
157
173
225
214
129
237
237
259
211
146
202
176
202
254
158
199
190
176
143
149
183
246
207
200
234
258
129
115
201
204
176
265
199
175
169
141
163
183
159
129
207
225
173
210
232
180
274
187
215
261
184
219
207
182
215
156
239
129
157
211
210
201
146
174
211
158
187
210
174
251
163
115
164
211
130
203
158
247
194
237
297
130
206
203
130
205
173
158
251
162
242
146
197
288
255
234
219
161
260
195
197
173
263
164
147
183
184
223
186
183
211
198
225
216
191
271
239
177
231
250
264
157
179
160
182
242
146
255
181
173
178
216
174
209
179
210
189
178
191
203
181
156
167
216
176
155
222
256
272
129
202
191
181
210
214
174
221
164
130
202
130
257
216
260
217
232
183
275
172
217
130
192
155
146
206
237
264
247
133
176
158
186
206
259
210
171
158
222
179
173
204
179
160
158
133
189
182
129
247
260
233
207
129
288
173
210
204
169
177
200
143
168
206
176
210
176
157
171
192
128
144
161
162
162
172
191
238
145
182
176
146
195
180
151
187
202
230
255
178
155
210
206
184
168
160
250
138
208
184
205
246
130
231
173
225
176
227
129
257
146
231
209
335
201
179
257
274
174
173
168
195
250
169
153
214
129
275
150
115
214
168
187
143
247
195
145
193
205
225
174
239
202
178
239
130
246
240
236
184
153
200
263
234
185
222
205
191
178
207
221
181
206
202
221
255
143
217
210
205
158
194
185
182
224
210
141
240
228
204
237
221
256
171
130
183
143
146
227
195
133
262
213
180
133
254
164
162
157
167
214
216
164
200
213
202
144
307
217
212
168
257
198
188
183
130
240
186
158
145
188
179
204
262
217
189
252
201
242
227
158
214
201
198
130
202
163
189
173
133
178
221
193
209
173
145
173
221
219
164
168
209
217
156
176
217
225
214
222
164
147
257
230
292
146
226
231
242
237
143
180
252
170
261
284
150
194
216
202
185
115
189
155
211
130
165
173
202
191
207
158
159
209
221
145
173
176
177
129
207
197
257
202
122
254
235
179
160
146
253
257
187
158
191
162
188
155
180
203
251
162
184
146
162
217
182
202
179
133
129
180
167
209
190
188
169
129
182
243
256
183
208
200
185
185
237
233
230
238
303
173
195
164
184
188
187
206
190
144
180
197
144
193
210
190
214
211
233
221
138
179
141
230
181
145
272
225
263
145
186
187
173
169
204
180
146
160
146
170
236
204
203
252
184
245
158
207
186
187
205
185
199
198
201
184
256
230
230
173
195
129
129
145
203
243
187
228
179
261
182
160
183
200
201
198
179
115
234
190
185
237
198
193
146
225
244
170
161
252
196
150
176
202
239
234
169
183
129
201
158
225
206
176
230
210
271
172
146
141
210
190
210
115
204
186
335
204
211
162
219
217
217
200
274
182
239
217
187
146
179
248
253
129
237
144
229
176
201
192
205
184
179
178
227
171
206
133
186
227
173
256
188
236
207
129
299
184
199
197
239
261
150
204
212
176
145
193
217
273
226
180
261
192
235
162
189
173
151
173
160
183
231
164
129
174
182
133
283
155
143
273
190
151
204
264
184
150
155
173
174
233
204
206
150
184
179
145
195
255
138
210
129
266
242
133
166
253
238
201
158
164
189
219
238
213
197
185
185
214
146
211
180
202
178
129
283
179
227
213
255
173
164
165
228
191
160
183
173
115
129
244
184
146
222
193
211
189
166
192
173
206
191
222
129
143
161
222
215
201
199
186
182
222
211
224
249
151
158
236
143
197
237
183
204
133
246
221
165
195
206
145
199
204
209
191
146
246
165
182
186
130
161
210
229
176
166
226
217
187
183
119
145
173
197
217
158
218
160
211
234
266
203
145
221
215
187
237
210
236
197
193
204
211
153
175
168
130
129
170
176
122
164
175
202
145
217
301
225
201
130
169
185
225
164
147
204
173
246
264
194
161
132
155
169
146
202
229
180
173
155
176
204
173
218
130
189
165
143
179
230
143
162
192
176
200
200
211
171
242
274
221
152
304
168
208
204
196
207
200
188
237
161
207
287
132
240
217
141
156
184
176
188
152
186
199
168
184
210
198
194
190
153
228
162
227
283
185
252
155
201
169
205
159
173
210
130
137
176
198
217
176
206
133
200
130
201
213
180
129
122
184
225
162
171
169
164
129
129
155
155
234
187
201
215
242
143
165
223
296
129
218
158
184
230
145
130
176
129
181
191
256
182
156
181
183
130
203
200
259
176
196
256
160
184
194
252
198
216
283
179
205
129
237
197
175
202
153
115
241
206
255
220
271
176
195
256
197
236
133
151
149
146
201
263
155
160
180
158
164
143
155
227
212
229
176
129
182
184
179
204
324
243
143
207
239
184
265
181
195
181
225
191
164
201
153
185
182
231
173
204
129
169
211
215
185
146
218
152
229
138
143
164
224
164
146
171
185
202
268
195
196
157
244
210
247
208
218
143
198
143
211
239
251
146
192
239
226
201
264
200
177
146
176
162
230
146
162
259
189
181
204
202
208
211
171
253
143
176
129
231
191
130
240
152
205
188
202
183
173
279
230
155
146
201
133
208
173
171
257
207
179
209
229
143
173
188
286
225
173
171
210
176
145
203
147
130
255
206
129
115
300
146
166
200
164
252
279
230
228
235
185
209
231
231
206
250
158
185
202
141
191
216
129
176
242
167
173
239
129
204
181
173
217
190
214
186
203
201
287
196
211
173
141
204
190
205
129
164
166
178
130
162
225
176
184
230
130
191
237
198
204
199
224
122
184
168
191
171
231
259
189
183
249
129
155
119
141
178
204
130
133
217
164
230
183
143
155
266
165
239
171
210
210
221
184
194
176
174
204
168
178
228
179
200
272
215
201
218
130
239
115
172
239
156
200
173
170
222
129
146
180
115
166
193
214
261
169
181
201
199
244
208
242
197
173
240
129
210
202
217
206
241
162
158
183
174
180
181
179
173
150
179
175
195
216
130
189
180
201
141
169
183
224
191
153
206
251
161
211
214
144
250
217
209
142
223
177
203
146
247
191
203
246
182
202
194
176
128
271
143
246
184
173
178
173
130
229
212
189
196
202
115
129
228
171
227
206
186
209
214
215
208
172
173
178
231
201
192
187
162
244
173
204
191
217
169
173
165
262
250
230
217
169
221
265
218
196
204
202
207
187
251
173
246
189
221
230
217
218
201
169
249
202
191
176
146
226
170
175
172
206
167
148
205
174
158
155
231
185
246
133
184
194
234
225
168
215
217
223
171
166
155
141
156
171
157
233
179
195
299
185
164
252
164
193
190
192
217
173
236
230
206
247
146
200
205
182
191
201
188
272
184
232
173
130
182
199
156
184
164
181
155
150
158
130
193
180
240
164
251
189
166
138
130
196
128
152
184
129
231
186
167
174
254
186
216
205
146
241
247
185
214
168
172
202
179
198
162
185
198
194
203
181
128
214
182
153
164
183
221
179
146
178
200
244
180
281
201
226
162
253
278
225
189
130
185
280
237
195
264
204
115
226
214
175
272
199
176
211
130
236
130
195
254
201
217
184
194
198
169
231
241
180
193
156
210
146
159
221
160
280
143
201
214
217
204
145
147
195
157
209
243
174
247
145
210
184
210
211
248
236
149
211
184
204
173
225
182
133
201
204
204
261
259
231
230
158
141
129
162
210
226
160
170
264
208
129
129
211
180
210
173
180
242
214
204
162
185
217
205
188
216
173
146
146
213
207
143
157
149
162
164
179
181
174
177
276
166
241
152
202
179
206
186
182
172
183
238
186
242
179
200
222
264
179
209
184
257
227
176
236
252
179
221
179
260
145
230
173
198
320
168
206
129
296
155
205
236
130
256
193
145
181
230
187
201
209
206
230
129
185
146
200
224
225
180
130
115
176
187
173
263
133
270
167
173
173
222
191
176
244
199
335
186
232
245
247
158
218
167
158
240
184
184
191
170
158
183
182
202
237
179
226
257
168
201
225
202
222
211
208
155
195
176
200
195
201
230
287
222
252
133
201
216
201
178
153
151
237
143
175
218
218
213
215
151
229
224
130
200
164
202
247
181
202
190
170
217
175
217
173
191
158
130
156
141
180
192
195
279
156
130
212
186
146
174
147
262
202
169
174
222
143
204
167
119
236
119
182
179
151
167
287
204
221
176
203
195
184
130
241
173
217
173
196
300
129
196
129
256
205
168
133
179
169
254
207
200
155
146
173
173
254
158
200
204
174
122
225
206
146
143
214
146
176
218
131
236
200
115
166
216
169
133
228
240
237
176
206
138
198
240
141
252
237
204
162
247
146
173
173
217
176
176
130
169
257
168
141
130
206
203
181
224
176
204
210
173
229
274
239
146
164
130
210
191
236
179
207
173
157
184
169
184
168
189
147
146
221
275
201
143
204
166
151
181
195
255
160
210
264
302
222
222
130
290
201
148
175
210
228
195
163
143
145
164
119
184
158
206
236
175
210
217
168
195
202
188
198
186
211
156
225
221
229
152
204
157
204
168
138
199
206
212
186
198
217
194
146
238
239
130
143
201
187
189
143
202
216
197
247
258
212
129
145
214
129
200
211
168
131
230
156
172
297
201
176
162
115
335
210
141
201
185
166
176
237
191
115
146
133
188
196
271
217
176
195
222
198
213
173
201
236
265
145
260
115
185
283
285
146
201
210
163
237
242
165
262
187
176
207
231
170
178
184
169
254
179
138
210
241
150
213
140
217
190
133
191
143
203
146
238
173
201
190
161
227
168
182
210
206
278
230
192
138
162
163
216
130
169
245
178
141
185
211
224
250
191
230
303
188
217
209
188
191
139
261
146
168
210
210
253
203
216
152
168
240
221
150
219
156
115
210
187
267
222
115
176
190
199
235
133
182
192
146
160
287
201
150
251
211
129
204
171
222
146
244
214
187
289
242
189
115
168
195
175
238
180
201
207
227
201
183
173
164
191
182
188
166
204
229
238
146
265
183
225
211
178
160
144
229
195
179
173
146
129
210
230
229
202
335
266
222
217
167
185
204
222
236
219
255
221
239
247
179
191
183
222
173
208
236
207
185
173
200
129
174
162
130
146
254
291
130
143
176
209
219
162
191
179
214
211
222
197
138
193
133
227
209
168
199
222
213
138
178
252
166
215
204
129
171
168
191
178
233
162
153
164
172
193
233
186
214
246
202
245
200
141
200
265
217
130
155
162
138
272
210
240
200
201
168
146
195
239
229
299
222
246
187
263
217
202
258
252
206
144
171
193
230
184
130
206
155
300
175
188
164
115
218
258
130
174
234
168
132
160
222
143
198
256
129
193
194
214
130
202
204
204
176
217
211
178
183
164
206
275
115
173
168
158
162
145
184
335
194
145
183
160
210
244
210
174
146
133
199
224
203
206
235
248
177
173
176
182
130
206
173
184
230
200
146
203
210
130
258
130
186
162
235
184
179
202
280
208
166
181
206
210
222
221
180
319
193
129
190
211
264
184
222
250
166
150
176
217
287
158
185
238
187
166
157
173
266
168
175
200
182
226
255
192
183
162
321
221
146
236
184
222
242
242
176
211
239
150
202
176
236
182
183
211
168
176
180
153
173
247
173
179
129
167
202
169
195
141
206
157
209
211
160
146
254
181
238
173
190
184
130
261
189
168
192
167
160
203
204
143
175
203
178
162
130
158
229
194
201
176
201
209
236
200
201
171
185
204
185
133
238
185
180
174
239
143
209
158
269
192
192
129
146
247
231
233
156
168
179
206
259
204
233
143
168
184
200
205
143
176
182
174
200
178
189
180
259
247
210
157
200
150
180
198
210
188
246
173
201
230
180
254
166
176
180
202
231
191
129
168
264
173
195
173
201
283
222
209
236
191
219
155
217
122
216
130
229
161
232
230
193
146
160
233
180
130
182
188
250
130
146
146
229
146
155
176
182
200
181
181
150
218
160
173
206
204
204
122
155
174
210
179
168
210
141
254
220
172
283
148
132
247
206
210
205
231
214
129
211
206
195
237
156
167
173
129
236
130
174
189
143
186
173
129
207
197
182
250
141
129
188
185
129
230
229
183
220
220
169
150
210
174
210
150
176
166
173
216
173
197
181
182
206
133
228
249
177
130
205
158
164
212
212
225
149
194
235
218
202
145
189
230
204
239
146
182
169
263
204
234
234
197
190
195
191
158
143
222
180
191
188
130
231
217
179
156
219
250
210
269
173
194
203
223
173
239
246
221
217
186
179
226
130
210
255
222
167
182
178
206
211
237
234
209
238
204
224
214
146
265
241
200
251
201
132
208
203
203
228
168
178
255
169
223
145
168
224
212
246
182
182
115
237
217
203
217
242
264
227
206
176
177
236
146
129
173
194
193
211
129
175
256
157
248
203
147
130
162
202
228
222
252
210
187
185
187
156
158
150
189
239
194
149
206
203
236
129
173
238
187
133
130
194
228
217
204
209
214
196
161
156
184
224
145
144
129
240
222
144
130
217
122
202
176
231
189
241
210
184
176
244
179
233
178
175
146
162
169
226
161
192
206
129
144
189
231
217
178
210
197
179
182
182
199
168
188
146
221
180
182
146
187
255
245
260
242
210
166
214
200
237
204
178
138
184
211
165
199
228
184
215
153
211
273
129
176
158
214
183
177
145
206
200
205
173
197
209
275
151
138
115
185
129
241
132
230
195
145
150
164
150
206
130
187
176
244
195
169
191
203
183
145
203
243
239
263
173
214
179
146
210
157
182
162
213
168
178
262
217
224
208
214
122
190
221
143
315
185
183
199
162
222
167
186
200
300
168
189
201
219
230
133
201
189
245
201
146
189
253
283
238
226
210
119
206
165
177
173
143
231
255
133
207
203
202
169
223
288
210
160
146
173
143
146
173
191
130
180
191
226
204
272
214
220
129
184
149
246
143
179
171
129
130
186
224
138
247
210
230
274
174
194
161
227
274
201
218
155
184
184
300
130
201
211
143
191
219
256
182
204
170
260
236
192
205
177
179
213
173
214
233
171
188
129
217
157
159
219
231
194
197
143
176
169
251
161
252
224
274
251
164
244
178
191
194
164
221
162
285
176
232
231
143
200
190
225
143
201
193
183
182
244
179
206
176
185
176
152
330
211
189
199
180
158
202
201
201
217
183
153
210
268
236
180
202
156
283
236
219
201
243
171
164
182
255
219
212
173
169
214
179
206
218
138
242
188
224
147
183
168
182
175
274
335
335
187
245
166
162
194
157
194
188
158
146
232
129
145
185
238
133
211
210
147
158
182
242
160
206
208
179
209
156
182
208
186
216
155
205
119
187
179
189
195
187
230
187
189
207
262
179
306
229
226
201
184
191
177
264
201
162
211
261
189
191
155
221
161
264
170
214
133
192
143
167
228
164
198
230
170
229
221
204
146
215
143
150
179
180
220
201
192
176
171
182
145
246
186
185
208
146
150
160
176
133
246
122
179
184
164
162
158
170
207
226
175
171
189
199
178
212
313
175
175
145
197
183
145
149
255
129
115
129
188
211
175
185
230
155
226
230
173
155
179
217
150
184
180
215
211
210
191
178
204
129
163
180
153
162
215
176
166
183
158
204
170
146
258
215
201
172
207
210
191
173
143
246
176
187
173
225
197
186
129
217
195
145
225
173
180
184
220
236
225
200
151
182
155
247
146
256
177
145
214
278
195
243
216
184
281
181
209
184
173
130
171
204
259
184
129
195
219
145
161
225
191
274
211
184
143
200
200
155
233
169
198
147
201
199
265
230
239
237
263
217
217
168
202
174
176
174
158
180
145
211
201
230
184
168
164
227
176
218
150
146
168
204
171
145
209
168
198
151
144
238
238
206
176
130
162
190
258
156
115
210
218
200
185
167
146
217
143
230
226
242
149
195
176
202
252
287
286
211
129
204
145
231
238
214
160
220
220
213
197
172
143
287
170
204
173
178
143
180
173
186
233
230
162
164
243
130
183
209
229
214
206
208
255
169
146
260
252
218
129
264
176
251
283
158
220
209
212
178
178
204
191
130
160
170
193
176
183
307
181
181
183
147
180
212
194
251
182
205
168
146
166
204
171
161
195
129
197
293
204
210
169
179
173
161
129
130
203
162
119
129
162
200
146
204
252
182
122
191
214
146
207
174
184
202
184
204
284
221
168
210
175
130
145
168
296
145
152
191
195
200
219
143
165
122
200
241
173
175
185
247
233
224
205
162
238
238
210
174
212
156
234
192
147
308
130
217
158
183
254
133
162
251
133
176
188
169
219
169
178
161
167
218
143
181
221
217
165
204
238
208
169
181
188
190
122
171
166
173
149
129
129
179
176
212
201
130
115
132
231
216
211
210
185
133
205
133
175
159
192
201
238
143
217
217
129
164
179
170
201
172
158
129
228
200
218
238
259
200
178
130
204
236
155
194
173
201
214
130
249
227
149
138
179
203
160
130
169
138
176
194
304
189
130
146
143
168
234
201
218
209
173
224
236
155
178
222
146
201
190
210
177
230
182
129
146
204
179
200
201
115
158
146
209
222
211
181
209
143
201
335
177
161
130
181
216
222
210
169
185
182
130
202
203
204
192
210
129
201
130
189
146
161
208
234
210
180
182
157
168
176
176
176
145
297
173
133
193
129
176
182
222
220
130
143
214
162
133
179
128
183
238
256
146
149
246
187
236
221
241
168
181
180
190
244
166
186
150
204
264
219
264
213
162
173
149
296
227
164
200
210
218
186
200
169
168
194
233
157
190
162
143
164
155
240
146
204
212
146
155
245
153
257
251
168
229
236
129
193
176
226
176
166
239
173
180
176
210
177
218
260
146
122
165
164
166
164
168
199
161
180
150
218
176
205
160
188
180
129
259
192
182
248
206
181
180
132
173
196
212
176
214
201
240
192
206
192
199
141
173
265
248
227
169
253
176
177
233
115
176
152
176
133
194
277
198
175
276
169
151
187
166
146
168
195
191
210
155
264
167
194
162
168
169
122
195
179
145
230
130
146
239
199
182
184
184
159
196
211
168
162
176
129
213
146
173
209
210
156
217
192
283
229
215
204
204
225
204
184
216
146
176
184
130
158
218
254
243
260
164
166
255
217
209
146
229
173
192
151
176
216
183
214
176
257
173
180
152
222
210
138
226
233
187
217
166
283
258
143
246
176
263
209
176
216
246
180
225
130
181
217
259
257
119
181
184
209
184
210
177
263
185
129
201
209
272
173
190
185
176
146
130
204
232
146
231
215
236
212
209
204
226
174
188
180
217
129
217
231
167
162
166
201
167
210
204
186
133
218
195
230
164
236
146
248
191
258
129
214
209
278
210
243
230
143
130
210
246
202
171
194
145
145
186
164
198
195
146
193
129
162
205
155
184
256
144
191
179
168
262
143
230
182
255
129
205
143
229
162
162
217
186
189
141
192
189
146
203
230
179
257
263
183
115
133
180
190
158
221
173
141
217
190
200
204
233
207
201
141
258
210
145
143
143
205
168
138
211
193
152
206
191
198
171
231
200
194
119
260
239
152
202
208
277
189
155
251
196
182
221
244
180
157
185
162
191
162
129
141
199
243
164
280
178
201
202
210
149
197
216
242
211
184
178
164
160
189
158
169
303
204
141
150
193
194
153
169
156
182
217
202
143
191
129
173
183
194
208
151
231
241
240
194
249
207
173
183
228
229
209
197
201
173
174
335
266
175
199
146
227
173
167
239
190
258
189
209
218
130
182
207
171
194
115
206
178
176
162
179
221
158
238
233
188
217
133
229
181
183
186
256
209
166
162
274
171
209
201
182
210
202
183
282
176
122
186
227
189
259
163
186
146
210
173
179
133
202
202
174
236
166
173
160
263
164
133
196
168
184
239
178
161
157
210
191
252
144
173
176
122
201
246
150
173
211
214
255
224
145
150
147
164
214
210
143
181
194
186
217
179
181
174
159
169
169
173
244
217
184
172
227
162
185
191
180
178
191
150
247
146
221
224
141
200
203
158
222
187
168
183
166
250
140
226
206
150
255
195
217
243
195
180
205
232
115
155
236
215
173
193
227
168
195
130
247
172
239
238
163
208
158
115
207
209
182
160
137
214
263
228
166
335
191
182
201
129
210
238
181
235
197
156
162
194
230
199
195
182
190
187
219
185
230
207
253
150
183
188
162
201
144
236
184
162
203
153
175
252
243
251
242
185
195
204
219
207
300
192
226
219
200
160
171
183
206
150
221
179
160
208
131
221
192
180
184
217
204
260
256
129
237
195
178
176
202
162
168
187
192
216
216
204
169
169
157
146
184
221
204
164
188
200
179
297
211
228
171
202
130
228
199
177
210
194
184
141
145
259
130
150
156
143
190
130
226
200
130
149
242
200
177
172
122
246
212
201
150
158
223
198
172
160
210
278
151
217
179
195
216
227
219
169
182
195
198
129
173
210
129
205
129
129
130
206
204
216
176
188
228
219
173
180
180
246
201
186
229
170
190
247
162
205
173
151
259
202
169
217
225
155
229
180
210
191
209
204
160
218
242
152
204
263
195
217
129
225
129
173
183
176
158
215
214
220
173
130
133
243
238
205
158
251
176
201
188
217
173
260
224
198
242
176
173
273
176
141
214
230
189
258
271
185
129
283
143
143
183
138
181
190
175
221
214
180
222
181
200
238
191
230
200
173
233
248
130
176
287
225
185
153
151
197
176
157
252
158
157
187
185
190
182
201
204
242
130
115
226
172
176
146
195
218
234
168
176
155
146
244
256
165
155
219
172
184
199
250
188
150
217
239
238
176
350
251
143
204
160
174
170
129
241
168
167
268
133
115
210
258
230
158
173
152
204
289
173
153
173
182
214
187
157
245
188
210
155
162
192
217
335
203
185
256
283
263
215
196
202
169
227
176
242
257
265
191
190
129
191
264
188
187
138
143
199
217
211
224
198
204
250
219
200
247
180
115
129
184
129
205
145
217
157
164
202
194
173
156
244
119
130
204
165
274
177
181
169
174
229
189
238
202
160
172
178
179
211
160
145
172
204
210
184
278
183
133
210
181
191
152
233
210
197
230
146
194
146
204
251
164
185
173
184
168
130
209
129
202
266
218
129
164
184
162
202
247
129
224
181
262
200
179
192
205
215
178
173
130
230
215
146
192
162
201
198
229
146
200
268
192
130
129
286
185
249
187
234
239
180
176
239
195
203
211
146
243
208
199
207
146
143
119
245
204
170
197
182
210
162
182
258
240
257
195
168
171
153
230
184
179
300
269
184
274
274
145
216
130
155
115
184
215
178
160
287
178
122
145
229
222
146
287
143
180
170
166
234
129
245
156
129
203
193
152
225
250
191
194
236
210
270
179
173
250
214
240
164
191
212
241
236
144
200
236
151
217
235
129
179
203
177
236
166
143
194
245
146
207
179
193
280
173
115
234
240
172
182
230
177
178
242
200
182
206
304
263
203
184
148
216
146
191
186
209
146
176
155
157
188
249
179
164
179
172
173
115
261
146
247
204
257
222
151
180
141
204
187
146
205
182
130
188
146
146
246
234
173
202
194
184
167
217
165
176
150
145
192
231
198
180
181
146
266
138
215
199
272
201
158
243
204
168
167
217
173
115
188
214
129
129
216
179
195
145
146
160
119
176
183
247
183
238
211
164
185
173
146
243
214
184
174
168
129
245
209
181
201
193
150
148
201
214
146
143
237
183
162
158
198
168
209
143
164
172
202
209
189
138
269
236
160
196
335
177
230
200
186
130
188
204
130
263
222
211
210
185
185
221
204
138
214
230
221
210
201
191
175
288
206
242
146
187
200
205
222
176
168
141
214
164
200
169
129
236
160
146
217
225
223
188
274
173
138
202
191
238
209
157
151
225
181
210
138
201
181
150
115
173
262
180
152
221
191
222
260
152
210
177
190
199
161
178
213
173
176
238
168
225
143
174
238
190
211
195
197
170
146
254
204
233
287
188
214
182
182
143
181
259
129
147
318
187
129
199
169
238
176
203
141
143
205
183
198
174
179
238
168
173
173
230
212
217
236
205
158
204
274
168
287
247
164
183
129
230
204
168
238
158
182
179
230
221
264
257
191
211
202
130
164
222
227
207
215
169
247
178
145
194
195
219
171
232
130
185
132
210
203
156
209
236
229
180
192
143
206
176
129
146
180
204
173
182
144
146
161
189
256
155
168
238
177
234
230
179
129
216
245
189
187
192
211
153
209
130
155
145
185
259
248
160
201
231
238
225
147
272
203
157
204
249
169
208
146
129
166
230
210
224
178
213
174
180
253
203
203
194
184
217
202
201
172
168
183
181
176
210
206
209
192
161
217
213
145
227
238
204
158
182
224
115
180
200
195
199
233
204
258
129
217
145
158
158
231
242
204
173
188
182
129
162
176
173
216
131
180
214
146
163
143
183
230
226
196
168
175
129
160
186
242
202
228
191
213
193
176
172
197
194
133
233
164
180
180
217
247
176
188
265
191
193
210
203
202
146
179
145
146
196
146
160
198
168
172
173
236
180
251
191
130
171
228
186
229
187
131
173
130
207
217
204
233
183
183
190
205
173
153
230
184
128
234
160
146
143
184
170
245
199
254
178
173
173
252
191
115
211
122
176
206
240
224
180
210
227
129
119
221
252
200
145
200
217
182
253
129
172
186
169
161
242
229
235
159
207
185
169
179
197
164
122
201
244
191
115
193
188
164
244
179
129
195
169
146
214
232
248
208
147
168
178
239
208
216
184
188
217
182
266
192
210
230
188
196
143
151
199
185
210
227
231
240
230
182
176
155
202
239
240
200
210
176
215
187
133
129
225
146
209
208
163
217
177
168
151
183
130
162
182
149
210
146
204
158
184
227
182
204
261
239
214
173
146
214
143
191
217
204
180
155
186
263
190
182
168
257
162
222
172
228
242
228
222
191
184
231
283
145
179
185
164
158
269
204
211
259
176
205
265
165
179
225
172
130
197
146
145
168
232
262
260
229
171
209
156
146
115
177
211
205
217
210
212
264
130
183
230
192
238
209
228
161
200
174
145
242
199
155
138
168
230
200
197
214
190
257
184
219
145
222
168
181
200
175
145
122
319
180
158
183
162
201
208
163
263
212
172
235
153
250
199
129
176
169
141
238
252
220
238
153
210
176
255
130
204
199
221
265
200
176
247
193
206
171
211
216
192
166
146
181
217
236
202
130
257
156
253
171
184
143
174
217
256
204
206
168
115
163
229
208
184
145
122
130
249
203
166
225
119
213
238
188
166
261
266
195
130
210
180
172
176
200
190
182
176
189
129
232
173
172
244
143
217
192
138
250
199
176
129
201
129
238
227
191
173
173
198
130
129
162
202
224
130
239
183
190
208
174
183
176
246
181
229
129
179
215
214
213
146
200
211
179
230
210
222
217
214
281
173
176
155
201
241
217
145
237
215
238
182
138
176
178
247
183
161
224
237
239
230
243
264
157
252
169
241
242
226
171
178
181
197
133
146
201
256
174
158
158
160
238
138
228
225
206
158
231
133
209
170
204
143
249
190
173
168
252
188
183
130
204
244
277
185
169
130
122
130
215
168
211
204
217
138
164
228
162
166
128
210
240
239
210
146
241
167
216
173
238
203
236
188
235
169
138
228
201
211
203
203
185
182
157
192
246
239
130
199
146
143
159
200
165
174
213
130
129
128
180
206
146
155
180
171
222
205
214
228
149
146
264
260
165
172
217
210
142
209
129
133
182
129
194
178
130
187
184
182
222
186
223
130
129
234
173
184
164
211
222
202
190
217
201
246
143
169
210
247
138
146
182
130
217
260
129
243
185
185
264
210
168
249
230
264
237
209
170
156
168
199
182
145
187
166
162
265
147
212
184
162
168
173
145
201
274
207
209
235
232
143
179
297
191
129
229
205
218
179
228
225
270
151
171
133
209
151
239
130
158
168
210
217
213
160
191
158
248
203
166
215
204
157
146
204
143
177
146
176
255
192
164
204
143
213
241
188
206
129
164
175
205
191
218
179
163
237
205
193
219
146
178
223
161
229
146
155
172
237
150
246
129
179
190
202
173
273
203
217
138
266
227
203
190
146
186
219
265
168
201
158
129
243
213
174
130
150
208
206
129
199
190
182
176
200
283
213
247
155
176
130
193
200
266
173
276
153
219
129
204
188
186
201
183
204
238
182
129
310
222
181
162
211
155
182
277
158
191
129
217
210
210
287
245
177
206
146
186
229
174
219
201
158
191
173
181
233
193
158
218
247
195
201
214
189
203
179
215
250
229
217
196
211
214
129
184
224
185
217
176
211
245
217
231
182
233
247
237
158
216
162
217
149
176
149
129
175
202
197
158
255
189
130
157
239
190
254
175
162
209
191
129
208
226
203
200
169
158
162
164
262
217
225
198
186
178
242
214
230
188
244
151
178
194
236
242
146
164
234
202
217
267
210
129
141
195
188
129
186
129
168
174
192
162
130
269
173
169
172
210
230
161
143
173
176
193
157
251
176
259
230
176
222
164
201
201
231
225
192
146
143
266
217
230
181
162
130
287
168
145
202
225
200
160
176
210
208
187
208
179
146
206
176
227
129
260
164
263
225
132
210
204
213
230
161
200
191
173
188
219
156
146
189
186
204
194
180
216
278
173
210
240
146
195
239
201
157
173
209
180
160
122
230
187
203
176
178
146
208
176
200
196
161
146
252
209
210
145
230
158
183
122
210
211
200
172
176
170
179
286
168
193
161
129
182
129
210
247
180
176
178
161
143
133
189
204
184
191
177
184
173
179
238
143
230
205
185
175
169
280
255
201
217
257
130
133
133
175
217
169
162
191
146
240
129
198
132
165
130
160
188
211
200
147
130
218
176
203
200
176
246
195
152
194
200
246
143
228
197
207
166
190
164
255
185
141
225
209
225
175
184
178
218
218
239
138
129
155
179
208
164
164
229
188
164
209
226
206
179
130
141
204
210
176
203
269
185
179
238
210
146
198
269
198
173
183
188
130
239
162
179
204
170
212
182
194
202
122
157
245
164
244
133
198
115
242
176
264
168
157
209
204
178
195
221
149
183
264
206
287
180
204
168
191
145
176
191
151
130
155
241
168
204
195
196
217
228
171
199
168
150
263
183
176
175
176
180
161
158
199
166
173
265
182
217
209
145
156
183
282
164
182
184
209
191
192
219
173
202
187
195
203
173
146
173
213
145
150
173
236
201
146
196
177
169
229
222
184
264
202
215
181
206
122
188
133
182
220
182
195
172
193
226
204
158
130
164
201
176
176
129
156
242
187
181
239
205
156
179
162
173
202
162
234
130
175
198
143
195
204
226
189
202
212
183
185
234
161
185
193
129
263
130
233
264
174
228
130
129
184
129
220
138
154
217
242
214
221
146
235
221
162
236
133
145
209
173
145
146
178
173
173
243
190
211
173
150
182
162
218
187
225
146
252
199
186
200
203
193
147
183
238
194
152
202
181
184
216
227
129
266
184
183
214
199
171
115
202
146
130
130
176
218
247
186
183
158
228
169
161
158
183
215
129
206
222
171
161
223
195
173
235
176
179
234
273
164
215
251
206
227
115
129
236
164
200
178
146
214
219
264
244
227
122
164
208
133
195
144
173
189
129
214
179
211
138
170
181
230
144
177
145
200
188
188
222
158
183
189
165
229
217
248
168
200
246
172
229
156
157
201
183
215
161
184
169
177
201
190
164
143
130
236
285
168
200
246
162
205
146
166
204
160
180
173
256
243
185
162
173
217
173
298
198
168
132
157
227
129
157
255
164
206
227
204
154
204
141
202
201
220
146
215
155
147
240
173
216
209
129
247
173
173
146
180
162
175
179
160
192
216
222
257
129
210
173
228
158
217
161
193
288
200
178
202
151
201
188
261
180
179
157
251
173
201
182
195
230
170
254
151
130
146
159
205
246
175
176
161
201
201
236
128
208
193
257
172
192
304
186
146
122
177
178
262
201
169
191
247
204
173
176
220
149
210
247
130
223
191
164
194
168
173
164
239
130
184
156
129
200
204
199
145
176
212
218
115
217
210
252
221
158
231
201
191
173
194
260
119
146
168
240
143
163
202
189
147
191
193
178
254
197
173
180
164
222
146
150
131
133
143
162
273
179
173
218
252
240
201
145
195
165
203
146
130
177
206
188
211
180
225
191
185
169
247
115
191
206
183
221
206
170
174
204
228
130
288
202
184
169
238
179
133
209
178
214
217
282
252
164
190
190
174
217
205
217
230
173
152
130
178
182
204
176
164
141
176
196
176
222
132
149
188
201
200
146
252
143
167
235
280
201
133
197
170
222
179
173
146
179
179
286
179
200
168
215
159
236
185
155
234
188
204
175
176
230
173
236
145
184
222
129
228
176
143
146
183
210
270
155
206
222
146
231
174
173
187
122
208
239
192
183
204
176
226
244
222
210
159
201
231
228
335
157
146
145
204
236
204
205
204
210
196
206
231
177
218
257
196
129
251
274
217
201
247
283
146
200
179
205
237
164
150
173
159
214
193
235
129
204
275
172
239
205
169
230
184
129
185
184
130
192
191
174
143
192
130
129
184
129
211
206
189
211
146
178
229
168
182
158
184
146
215
178
188
184
155
178
138
257
181
262
180
146
143
146
217
197
258
236
115
176
174
204
224
237
252
184
194
184
184
175
203
190
224
248
188
181
179
208
182
227
182
206
138
225
146
214
241
180
188
164
230
133
174
201
239
213
267
227
227
182
204
178
130
179
173
204
130
237
180
190
129
254
197
191
195
166
243
294
150
242
195
273
176
129
162
171
239
149
230
202
281
217
169
209
152
207
210
228
217
146
225
161
181
130
163
203
256
172
185
220
153
297
198
156
204
195
162
217
146
207
262
146
171
261
249
169
194
204
216
191
158
130
185
146
180
168
178
177
164
175
188
133
173
141
199
129
217
259
196
178
167
271
178
191
149
201
204
226
180
176
251
214
184
149
133
247
195
200
273
185
146
172
177
157
212
206
173
214
194
204
238
265
235
209
210
300
146
170
149
198
210
195
180
168
169
246
222
204
130
129
138
184
238
163
204
176
174
183
204
221
230
175
247
209
230
211
193
130
183
162
184
210
204
203
130
156
203
191
164
204
178
168
201
212
173
221
176
129
160
182
212
158
129
203
176
270
210
191
201
213
255
238
217
149
146
146
158
235
173
183
217
157
231
145
132
176
215
169
190
217
200
152
195
158
153
122
145
204
130
225
212
202
146
202
122
272
163
170
197
122
146
204
236
180
202
180
162
207
216
214
246
173
201
239
211
200
164
173
218
200
227
162
143
197
130
161
146
221
224
183
164
199
217
235
162
199
199
187
300
146
202
129
146
197
273
211
189
172
146
239
210
214
188
231
300
222
217
214
232
247
230
115
202
203
146
156
236
162
274
146
147
129
230
176
199
147
184
232
190
133
176
146
157
225
210
216
146
198
168
155
156
192
173
169
129
163
178
180
184
201
209
237
180
246
246
202
169
155
189
173
230
198
183
130
173
184
192
209
155
133
225
206
203
236
207
207
188
167
210
115
220
217
208
250
183
219
182
235
180
176
197
156
115
194
204
220
217
146
193
204
217
198
174
229
239
205
185
146
174
164
185
194
273
182
158
183
202
204
180
201
163
166
188
252
178
173
155
197
138
206
214
214
324
133
183
213
179
158
150
176
152
166
173
198
150
209
162
162
166
254
202
158
158
176
213
210
145
173
129
216
200
231
176
179
163
253
267
217
158
173
169
181
169
115
201
205
143
169
166
201
258
252
218
187
130
176
211
145
198
129
230
182
244
188
130
210
156
152
209
183
173
176
169
129
204
199
216
129
202
170
204
169
180
226
162
249
254
185
173
250
172
184
228
266
176
192
200
267
213
238
178
208
194
157
264
130
182
220
187
173
160
204
187
184
285
252
173
217
115
130
141
128
146
172
211
240
270
234
143
155
174
222
189
145
195
195
165
228
176
157
280
230
204
200
205
188
208
262
176
250
202
174
243
186
143
182
164
210
242
210
227
204
170
252
335
210
183
263
224
150
231
199
173
169
251
129
158
164
216
149
206
204
129
244
182
129
158
198
130
146
251
122
218
204
175
232
200
231
237
217
242
172
164
234
191
179
141
262
191
222
182
236
192
207
195
138
214
204
219
213
184
141
226
174
152
254
176
222
243
221
210
176
214
173
210
209
167
164
192
145
247
129
173
178
191
130
231
192
178
182
217
210
178
186
219
243
194
162
245
201
240
130
294
205
182
210
200
247
205
212
182
160
220
180
204
183
205
195
195
146
129
256
203
230
307
211
210
183
209
204
157
230
234
227
158
188
185
235
152
145
195
204
222
257
162
202
194
241
200
179
206
152
210
203
211
219
162
216
201
179
115
234
189
235
197
202
275
176
182
156
176
207
166
270
216
239
169
150
181
183
141
201
203
260
178
182
145
236
205
185
224
176
236
165
157
199
221
200
173
249
155
171
130
180
115
210
222
178
115
239
206
161
204
208
130
176
198
202
195
191
241
235
146
221
200
133
176
210
258
187
227
155
122
214
129
146
180
257
213
190
184
204
261
230
155
206
156
226
207
180
147
243
204
149
146
254
141
193
265
182
158
150
181
191
119
115
245
179
157
229
229
211
173
191
230
216
173
155
182
183
206
164
168
257
160
160
206
252
209
157
214
209
155
179
244
228
204
188
186
176
177
161
164
156
195
184
273
181
157
212
155
160
190
179
129
165
156
176
264
191
195
173
182
145
179
193
164
179
214
228
247
185
149
231
145
202
226
188
133
223
251
189
168
145
152
201
156
129
176
182
188
217
230
162
150
182
201
188
168
258
145
261
206
258
228
229
190
163
198
155
146
173
202
146
204
239
217
185
186
211
173
162
155
191
176
141
181
208
206
181
184
173
166
167
211
193
180
231
190
243
210
201
248
217
218
115
201
176
293
133
193
158
130
204
260
215
168
158
240
210
230
190
204
267
238
239
236
164
158
227
183
217
173
215
211
191
209
184
176
182
245
213
258
231
155
230
180
174
171
251
238
217
115
129
258
175
211
186
214
217
168
187
246
158
181
175
210
219
178
146
211
166
217
176
190
174
176
213
211
158
259
209
261
173
176
178
194
230
200
150
191
173
187
227
149
176
186
130
180
201
143
184
233
219
173
157
190
181
173
235
240
248
189
225
204
208
177
179
188
194
260
197
160
160
189
161
211
183
150
208
199
202
222
195
222
115
169
150
204
155
151
206
201
189
189
130
160
146
294
227
156
219
162
200
158
201
133
164
214
194
193
211
194
287
195
150
129
185
143
176
252
130
313
184
217
145
192
231
201
169
170
236
201
201
204
235
179
173
146
162
250
200
217
146
155
218
141
192
173
183
221
129
206
191
195
193
222
176
210
184
158
230
258
138
150
130
230
238
169
230
171
208
146
138
177
265
237
202
204
179
146
274
195
183
236
208
239
222
129
210
189
246
243
253
172
130
155
248
171
222
146
141
201
212
321
155
184
204
188
130
129
141
250
224
204
213
129
141
231
230
214
231
317
215
199
156
179
175
155
176
202
146
211
203
179
195
157
255
230
173
233
172
176
160
162
179
268
200
185
164
164
146
190
214
183
263
205
233
183
176
191
195
191
209
145
183
173
169
229
194
155
185
222
149
156
153
210
251
178
197
177
145
161
146
179
166
149
129
242
171
176
174
213
211
185
194
261
146
202
229
186
182
259
234
202
183
174
236
221
228
182
247
185
158
162
236
183
186
239
130
275
253
188
200
149
237
197
193
130
166
155
187
129
173
130
146
156
208
200
133
168
219
250
217
145
192
240
168
192
168
180
157
207
167
203
247
227
210
199
188
204
242
141
204
207
162
162
162
222
165
146
162
184
189
122
212
210
200
204
143
180
225
230
176
218
176
151
145
182
265
227
152
187
266
198
222
188
230
186
185
188
201
166
204
184
202
162
158
209
153
161
204
254
244
146
162
202
181
272
204
249
183
204
146
184
145
211
207
226
180
155
164
152
164
191
183
201
236
176
162
180
210
132
184
148
153
216
200
176
192
146
244
180
205
176
186
190
277
202
216
200
189
133
158
192
233
162
187
202
145
244
258
208
183
246
229
201
230
251
182
200
155
219
152
199
193
129
150
173
173
239
173
222
207
206
201
151
129
271
209
179
248
179
238
149
204
188
256
173
185
183
137
162
236
199
176
202
180
184
204
174
143
208
180
179
192
192
159
157
143
130
176
162
261
115
169
264
173
155
153
205
212
145
302
254
186
197
183
164
283
206
149
178
254
228
280
174
158
173
192
149
204
230
190
158
181
204
335
202
160
216
158
166
230
202
285
195
190
219
169
189
176
193
217
174
172
230
146
255
192
185
180
129
186
222
152
210
295
179
176
214
179
200
150
236
216
222
143
196
211
173
171
202
220
243
129
199
246
172
190
234
208
205
193
129
203
168
129
238
168
156
256
147
208
155
130
168
254
229
160
237
157
197
238
221
130
130
204
145
236
162
187
256
194
173
184
250
222
194
129
268
173
283
200
162
175
176
188
132
230
188
184
241
173
247
166
303
219
164
146
211
131
211
208
191
166
167
173
184
173
185
191
115
203
150
201
146
216
203
269
115
189
143
173
201
217
232
217
183
235
201
115
210
185
183
212
189
188
171
180
217
170
154
166
230
182
246
129
176
206
182
209
166
222
257
168
236
166
209
204
211
160
199
209
145
192
185
219
130
231
164
216
279
204
192
201
254
130
146
144
217
173
230
175
157
221
219
200
209
185
270
133
162
152
263
168
216
166
182
229
199
214
150
210
201
160
237
181
195
190
187
158
185
210
255
202
164
143
166
236
168
205
198
283
229
130
184
146
209
221
244
284
201
164
183
176
171
146
141
179
198
204
234
155
191
250
217
158
197
157
197
212
238
166
227
215
183
209
206
213
171
282
204
216
199
211
189
238
189
145
246
145
158
197
228
201
232
172
158
169
146
173
143
229
190
115
155
276
237
158
206
200
176
182
287
277
213
156
207
210
201
158
264
210
145
168
201
203
180
149
213
217
231
260
186
244
273
181
217
204
225
178
222
201
183
221
179
226
145
173
210
183
206
160
209
164
207
169
179
224
192
204
157
283
179
199
155
173
231
200
161
195
200
187
181
206
261
246
180
202
305
258
198
175
211
190
196
206
195
187
232
215
232
211
204
202
169
180
164
203
172
202
163
200
187
176
287
211
247
204
222
180
146
173
129
227
133
129
183
179
129
209
209
129
232
272
164
156
234
168
258
192
207
166
222
212
153
183
169
202
180
155
159
173
151
191
213
240
159
145
175
156
130
170
182
130
206
170
172
172
168
210
179
146
206
129
138
211
165
145
200
172
183
143
129
179
129
199
204
130
195
184
150
155
180
208
184
230
183
143
128
168
187
205
184
173
267
168
183
200
230
157
169
246
214
129
256
208
222
271
177
168
203
190
145
217
129
184
230
221
156
179
258
193
181
143
163
197
197
216
203
207
130
189
129
217
189
185
258
229
195
193
272
176
202
218
205
129
249
174
202
115
175
173
169
143
214
170
183
115
198
238
130
183
179
245
189
173
164
129
236
160
242
218
173
141
214
227
173
215
217
184
145
119
242
204
146
183
214
179
214
211
202
211
143
158
202
217
130
194
227
189
176
176
219
173
197
236
353
181
130
222
214
141
176
207
179
145
259
199
168
138
236
130
227
176
201
129
206
158
204
143
179
228
145
129
176
200
212
146
219
178
293
180
129
163
204
191
205
138
215
200
191
234
146
185
146
146
166
191
222
264
267
212
189
128
150
168
201
176
150
179
168
170
183
242
178
178
155
200
155
255
221
143
144
175
190
210
214
204
225
212
186
129
204
205
165
207
158
248
157
143
147
213
211
198
229
130
184
166
130
174
158
194
222
131
183
248
211
143
162
216
155
217
217
187
246
130
189
228
162
213
188
162
209
157
211
253
129
230
130
178
115
158
115
200
205
246
129
207
201
171
208
173
181
168
219
152
173
209
190
220
192
194
149
180
205
144
253
243
129
184
217
130
228
287
253
200
129
172
185
179
213
247
182
129
246
228
184
187
180
187
246
169
210
157
217
185
129
199
130
191
158
128
162
130
210
167
202
208
239
218
188
222
237
192
302
195
176
242
202
157
164
167
146
202
208
184
129
130
218
211
194
192
261
141
143
190
267
239
160
187
179
191
115
161
176
192
216
176
266
190
225
165
242
184
217
164
264
173
278
211
202
218
200
216
166
130
146
201
179
179
168
188
227
176
183
178
130
201
259
206
178
170
232
258
164
242
156
229
210
179
242
271
225
160
129
173
183
130
191
217
223
191
130
204
211
210
229
145
211
216
182
156
206
181
182
253
150
153
208
133
161
170
219
217
210
145
275
216
162
145
133
236
172
186
222
236
279
210
228
208
164
145
181
197
176
200
206
130
198
162
183
128
162
210
301
158
226
251
130
150
218
208
150
157
185
184
276
182
200
162
222
204
234
130
168
176
225
210
202
224
181
164
200
156
133
207
164
211
235
188
129
158
207
176
141
216
152
146
216
176
151
129
187
294
211
208
240
130
184
166
130
209
273
194
239
173
115
201
207
213
152
185
208
188
151
146
177
209
263
152
231
168
287
168
202
178
229
176
157
164
155
252
236
246
161
178
195
176
141
169
206
164
231
197
149
173
209
180
129
185
231
195
265
147
214
245
156
217
206
177
187
203
242
145
204
115
176
193
145
146
176
217
211
214
177
181
146
201
146
173
192
172
204
246
252
228
227
164
183
197
172
295
215
178
197
216
166
226
259
168
176
179
208
173
192
226
204
246
146
183
200
168
217
190
222
164
133
247
199
217
173
222
146
184
263
182
222
164
192
115
201
156
176
240
162
191
264
129
184
156
239
146
225
231
129
129
151
173
203
176
264
201
176
248
183
133
184
181
187
261
198
181
146
166
202
172
146
239
170
160
192
144
179
235
130
205
230
171
176
138
175
133
202
246
236
158
145
234
247
199
122
143
198
201
187
179
245
255
240
235
129
183
212
208
230
205
183
251
161
280
215
236
215
268
200
153
197
141
129
164
181
300
230
185
192
235
201
217
251
248
164
195
253
145
239
212
186
179
180
151
176
146
214
173
176
162
213
217
239
152
176
261
213
184
252
200
216
130
210
169
141
203
200
156
180
130
217
204
191
159
200
157
228
241
173
232
247
146
150
237
286
182
260
217
184
184
242
166
182
238
226
129
181
162
115
239
214
138
243
239
206
176
164
205
195
206
286
250
138
204
182
181
161
201
182
147
239
184
184
186
193
212
235
158
229
176
164
238
255
115
277
239
247
188
215
195
202
212
204
230
122
202
188
217
156
200
201
203
173
287
235
171
236
247
143
158
144
160
143
257
225
261
184
148
130
182
195
176
186
156
164
206
230
145
164
201
173
166
129
191
129
144
177
207
227
191
181
162
144
210
212
179
199
173
164
181
216
251
129
115
201
170
129
152
129
211
200
146
239
209
231
146
191
159
194
178
186
268
230
203
164
182
166
129
185
130
221
173
200
176
183
254
145
188
208
204
184
269
183
173
183
193
166
155
226
208
191
255
209
180
210
263
211
250
174
130
143
210
261
203
201
190
249
204
161
240
239
263
129
236
167
191
204
218
189
146
247
239
173
188
143
256
192
133
202
204
280
167
245
214
166
278
188
201
308
218
173
176
266
275
197
115
141
185
179
217
222
213
184
157
261
115
189
191
215
246
182
172
146
212
183
178
164
174
197
214
115
201
216
205
206
208
160
199
129
182
174
228
176
168
209
195
189
173
192
210
169
246
189
129
186
224
129
230
253
189
166
204
185
180
259
187
204
155
186
229
158
138
264
173
160
210
147
188
146
173
186
183
150
315
204
146
146
162
205
222
219
198
182
193
133
202
256
226
194
155
119
258
211
187
115
173
122
209
185
183
156
184
163
215
202
291
161
224
190
180
231
133
268
202
188
149
216
200
129
229
176
227
214
166
229
130
170
185
230
138
115
150
239
155
239
173
189
184
201
174
205
175
242
219
149
191
178
234
219
179
228
163
191
185
177
176
164
168
143
266
171
204
264
202
237
217
210
203
171
166
249
210
129
145
146
210
169
203
210
217
179
130
218
151
185
185
147
168
221
184
218
143
200
240
173
220
214
168
173
265
115
207
215
255
202
158
149
191
195
168
188
190
230
216
202
222
176
221
200
206
177
176
130
151
133
227
162
162
225
158
176
198
168
217
212
184
175
232
280
226
180
188
209
214
150
190
200
218
155
184
174
186
128
217
248
133
115
152
277
146
182
203
201
115
138
296
149
156
267
153
233
129
180
225
173
146
191
186
183
176
149
218
185
141
173
146
230
203
204
234
176
182
228
158
158
168
178
225
213
199
229
166
191
180
178
177
192
146
213
254
156
163
183
133
168
183
192
204
185
230
160
180
176
186
193
188
158
180
168
160
188
179
204
162
178
168
170
150
211
183
246
201
180
192
207
129
223
157
173
180
158
184
174
149
183
141
261
155
146
217
248
176
210
210
217
230
155
224
115
168
219
201
189
200
217
186
192
199
179
130
194
162
214
151
183
130
205
165
169
182
246
130
211
210
220
227
261
237
188
183
179
191
240
146
146
183
129
189
209
214
161
202
249
146
141
257
186
220
185
130
258
266
172
189
129
203
130
199
277
222
209
185
219
173
211
115
171
122
146
192
219
192
187
200
161
168
185
129
221
175
130
170
236
155
249
130
176
170
146
194
185
192
145
164
186
146
228
209
162
164
162
221
146
166
250
221
190
155
162
227
214
199
166
214
172
167
199
204
129
211
143
215
162
179
193
200
179
115
173
252
214
177
187
173
198
212
176
143
180
241
239
211
237
188
245
264
172
214
192
174
257
252
198
145
236
173
191
281
193
204
217
204
191
214
183
195
230
189
204
218
129
253
269
219
164
129
210
210
175
173
130
233
176
146
187
173
218
115
146
258
239
265
130
184
247
122
261
289
195
162
209
189
197
156
208
222
168
197
211
129
157
186
221
242
237
195
180
186
184
170
267
141
187
183
152
167
210
225
160
179
168
129
177
239
181
206
216
131
146
183
211
258
254
133
211
143
176
255
169
129
179
218
165
212
206
173
222
178
189
214
178
241
170
235
183
206
184
205
182
288
152
238
225
274
244
236
229
221
192
193
194
173
160
129
208
162
210
141
238
217
129
162
202
129
184
258
180
225
246
219
236
228
263
201
149
151
180
146
210
182
166
146
129
220
179
144
178
214
211
166
208
143
147
158
197
202
129
178
321
193
252
205
217
210
189
273
157
185
202
175
129
204
239
281
202
230
173
204
206
150
199
242
180
156
230
191
170
200
155
141
195
214
219
130
228
176
115
212
152
169
179
180
145
238
185
179
165
205
199
168
173
175
184
205
184
162
168
144
210
173
176
252
256
191
238
222
138
191
174
184
158
187
157
179
217
183
162
157
235
210
199
209
248
222
176
237
173
119
145
156
191
254
115
132
301
128
130
201
202
258
182
164
119
223
179
202
208
169
161
130
161
155
224
195
166
186
234
236
238
204
221
179
173
190
213
129
233
129
213
282
146
169
261
203
201
173
222
200
253
183
201
200
173
159
173
236
187
184
247
231
164
230
176
171
283
221
190
230
195
133
206
150
162
259
209
232
218
202
133
129
176
200
161
179
241
144
179
200
179
198
184
145
247
179
222
150
190
176
204
146
175
203
208
201
218
190
149
227
160
176
164
249
239
212
171
262
164
191
115
142
222
184
239
176
194
319
239
129
133
258
187
157
198
217
210
274
247
132
146
183
183
207
176
168
122
238
133
160
147
248
204
202
210
227
129
171
247
199
177
182
169
199
214
200
244
204
220
206
141
152
130
146
204
205
260
229
194
253
217
138
216
144
169
210
174
214
185
193
300
204
176
266
198
221
225
247
176
178
229
203
218
159
130
179
143
205
173
231
130
254
164
232
203
130
177
186
214
181
229
211
146
176
238
192
229
280
176
258
176
181
204
175
234
262
261
181
233
238
157
270
210
190
168
177
204
201
215
179
273
191
262
174
200
225
219
149
186
240
266
214
183
264
241
150
266
217
164
204
202
164
153
129
182
226
213
219
161
145
146
220
197
195
199
291
183
221
115
230
193
189
155
182
237
209
204
146
129
181
247
206
191
210
224
185
169
216
202
176
221
199
270
150
234
173
193
207
250
193
201
183
173
283
165
219
213
339
146
173
233
222
203
213
168
222
194
184
204
176
263
221
176
200
222
163
217
172
130
246
133
178
211
222
194
204
191
173
175
234
129
210
133
176
178
304
138
183
130
178
158
189
250
145
259
262
146
129
147
167
147
183
197
227
214
200
211
206
130
258
162
211
145
189
156
179
210
201
218
231
191
225
222
218
214
184
130
192
228
269
149
201
227
176
129
300
188
164
173
155
146
189
208
143
203
181
210
194
175
219
244
242
157
192
166
191
164
161
239
187
204
230
191
260
239
173
155
230
202
201
204
145
238
146
246
174
206
227
178
198
189
246
198
146
204
182
206
248
220
192
179
210
322
130
191
115
251
133
161
218
238
176
247
264
211
204
158
173
133
179
216
156
169
178
222
176
217
194
185
175
189
197
245
193
207
152
267
216
206
183
167
129
206
133
226
210
244
244
273
180
203
156
194
167
208
221
221
274
178
210
158
211
212
203
194
167
181
189
162
213
146
202
181
190
193
173
264
244
130
242
302
308
199
215
204
233
211
217
210
192
160
210
229
183
188
184
217
173
238
182
216
144
164
202
221
166
176
246
210
199
164
173
130
274
172
176
227
156
115
140
230
182
259
192
193
170
115
211
238
196
173
210
198
149
162
225
130
238
130
273
182
282
176
274
191
142
268
174
166
227
190
251
242
176
179
130
200
191
173
232
229
168
214
132
138
182
143
195
195
206
199
155
172
155
231
192
210
226
130
173
180
196
128
173
213
201
146
285
217
191
179
219
206
194
147
275
190
276
268
204
122
205
248
250
197
176
207
157
206
200
178
183
263
221
178
173
215
217
217
235
164
283
228
128
180
186
261
152
169
159
248
182
149
242
221
200
207
138
198
176
133
243
181
208
182
230
242
156
186
168
209
242
229
168
210
162
185
224
157
183
177
225
130
178
191
243
133
201
155
155
166
253
240
259
214
173
146
133
173
263
129
206
174
199
287
212
266
130
186
152
182
162
146
217
201
244
203
119
174
218
168
178
223
210
218
168
157
164
202
115
190
165
141
176
173
204
180
165
231
133
221
227
164
236
248
214
115
222
166
171
210
275
210
130
179
188
138
222
185
175
133
192
246
211
239
133
161
143
156
179
180
173
309
183
129
150
202
253
184
179
250
178
184
181
211
190
173
210
221
262
227
145
217
208
173
132
217
173
200
214
211
191
203
193
162
178
238
115
132
210
202
180
226
256
129
133
248
165
238
206
197
160
130
211
292
183
146
216
207
217
236
239
204
189
209
197
129
201
115
199
156
242
141
157
178
220
234
170
194
204
205
185
200
225
146
208
182
196
145
225
191
204
217
186
164
170
176
129
228
250
218
168
168
230
181
217
185
230
238
217
172
199
130
220
182
301
170
180
169
184
287
129
168
171
252
173
235
243
187
174
229
205
122
184
176
129
234
208
216
190
203
176
220
258
234
178
176
216
202
228
173
254
130
130
255
274
219
168
188
256
187
146
146
214
146
179
202
164
228
236
237
255
144
226
181
220
228
144
220
129
194
202
200
164
161
133
185
169
188
115
228
115
164
186
176
188
238
211
212
169
160
129
184
221
211
179
274
175
220
241
173
186
173
183
209
210
220
180
188
217
200
175
130
162
183
169
179
223
129
160
185
173
184
176
149
176
221
205
146
195
141
203
160
180
173
182
232
165
173
194
196
228
187
130
161
228
173
204
173
182
163
159
232
222
187
210
251
226
164
213
211
204
195
146
196
165
219
129
122
171
226
194
179
184
264
244
129
251
157
168
129
276
130
164
214
133
204
142
268
143
200
280
184
211
210
190
129
185
129
174
176
300
228
174
210
204
173
210
176
188
183
200
245
122
191
159
184
180
173
297
197
146
200
209
211
157
200
206
253
196
164
230
313
179
162
182
191
199
230
165
200
198
130
173
146
259
230
214
157
178
217
169
191
168
153
207
194
231
198
162
263
172
244
256
129
160
194
176
216
279
209
214
201
188
132
185
158
168
201
246
171
199
223
169
335
133
209
200
191
233
228
115
258
217
182
239
156
205
256
210
202
184
194
145
182
226
177
217
206
199
215
164
162
228
204
176
228
206
206
174
252
176
188
226
216
130
180
192
239
133
168
217
210
193
176
191
143
129
182
199
179
141
168
176
146
129
129
166
221
181
129
227
184
245
176
209
204
166
187
173
179
176
150
184
178
157
145
274
217
215
150
211
179
227
234
212
142
161
186
187
238
176
270
176
221
236
182
200
253
173
182
213
203
199
238
150
191
207
151
197
188
276
173
156
204
146
204
218
163
166
227
214
183
141
176
242
152
265
176
160
169
181
202
181
325
252
129
173
184
149
200
176
231
168
157
122
195
315
207
211
201
176
146
224
133
183
172
184
182
202
202
251
173
231
231
259
221
173
203
132
146
176
191
239
179
179
167
200
133
146
180
201
204
205
198
217
180
188
200
185
164
195
164
252
138
178
266
299
318
202
176
130
167
162
129
264
206
176
232
202
238
166
211
186
181
146
201
227
211
182
181
246
176
225
206
173
213
173
166
205
129
205
179
168
182
245
176
184
177
194
206
212
245
152
122
252
195
145
176
184
183
201
253
217
173
173
168
209
162
200
263
194
150
145
208
192
129
205
217
173
201
133
228
146
237
204
166
147
181
184
253
173
287
178
264
133
201
176
278
176
155
202
221
158
157
195
140
188
176
129
255
181
115
141
201
128
201
213
164
146
277
242
235
158
222
287
164
209
190
236
239
167
160
237
214
202
206
175
202
246
201
208
230
200
224
225
227
207
173
164
141
198
222
214
164
167
172
143
225
206
184
158
158
221
205
201
158
209
184
186
204
149
236
208
176
220
176
129
146
185
183
200
162
164
231
242
207
169
229
217
146
186
245
239
216
278
198
254
185
145
210
175
159
172
173
183
171
203
202
216
177
206
177
158
143
217
176
150
133
166
311
215
258
175
222
178
212
217
292
164
212
195
221
166
146
254
195
191
179
261
237
200
204
185
174
160
230
215
146
189
152
162
209
222
200
198
145
183
146
143
184
146
203
178
138
176
199
181
183
146
221
258
229
143
206
173
157
202
173
236
189
183
191
216
184
149
200
129
129
133
260
205
217
240
226
201
151
231
166
217
191
129
195
166
234
195
230
183
197
263
195
133
201
172
149
183
164
144
162
230
155
182
189
207
145
204
144
229
266
176
194
236
207
130
146
184
152
146
174
145
211
175
236
217
217
230
217
237
155
248
138
162
236
259
271
164
115
143
201
201
190
200
133
193
150
258
230
166
179
162
146
181
146
206
211
129
181
169
213
200
204
148
209
146
185
156
201
246
194
129
238
214
199
176
150
216
255
204
168
198
168
172
177
173
229
224
238
186
196
153
186
145
239
204
204
130
228
237
176
251
200
238
193
174
130
185
163
170
187
206
191
185
178
204
172
212
257
202
130
202
151
184
230
258
188
182
265
258
223
188
222
177
192
216
209
246
184
164
199
190
181
202
228
211
172
201
283
217
219
281
143
200
173
232
211
170
156
195
164
174
166
156
146
173
247
197
231
211
197
256
115
235
217
165
146
163
211
206
164
172
204
146
205
180
172
246
182
201
228
222
159
179
236
225
192
156
155
183
195
160
194
186
183
167
158
219
161
189
129
201
185
162
152
129
166
236
132
130
183
245
141
166
160
183
245
149
219
180
145
302
176
209
236
204
231
168
203
129
146
200
171
274
214
191
174
133
198
206
197
236
129
201
160
215
157
153
230
191
223
213
195
130
214
197
185
115
206
173
156
270
246
216
130
190
146
200
130
178
226
226
182
231
192
172
218
194
190
217
173
173
211
184
227
164
122
225
205
189
213
160
184
194
151
161
189
251
182
262
191
230
236
130
187
209
190
158
163
217
204
145
180
204
130
119
130
301
185
179
222
244
216
143
247
159
182
191
221
269
159
150
192
176
145
178
206
129
156
146
236
210
138
149
245
169
195
130
214
176
169
199
128
265
167
219
130
193
275
214
217
183
200
189
181
185
143
213
146
161
183
174
194
234
217
182
199
166
246
210
129
252
206
219
178
165
193
141
168
204
130
146
129
144
152
143
189
130
185
202
143
188
173
217
200
146
260
203
236
183
207
122
192
233
162
188
210
247
171
247
202
229
154
200
204
115
183
218
222
146
222
218
251
226
164
169
211
188
239
201
178
173
178
214
212
143
200
173
210
186
201
211
251
200
335
266
272
230
235
224
171
184
179
187
203
213
152
208
150
166
133
156
264
163
201
216
192
221
236
150
309
246
253
188
238
130
211
294
180
183
188
225
215
181
129
153
146
145
198
155
187
173
202
164
200
146
115
157
194
191
172
206
182
185
221
230
260
255
287
239
143
204
122
146
297
166
182
244
262
211
195
204
122
179
130
147
203
171
272
192
239
216
168
182
270
179
204
234
201
217
189
188
115
207
167
296
196
159
295
242
143
146
177
286
157
115
143
247
204
164
145
166
202
178
179
187
128
244
188
205
217
194
183
128
201
215
167
195
175
179
211
244
161
164
183
217
168
115
181
173
180
210
201
217
260
222
146
266
129
180
193
203
179
161
184
198
164
133
160
225
130
268
151
217
183
145
149
221
261
143
256
150
184
191
190
176
221
133
234
115
209
189
146
254
201
173
199
209
189
189
224
220
258
173
229
263
150
129
162
164
146
145
216
242
174
187
183
192
175
169
130
186
176
232
245
264
129
162
201
236
302
191
115
236
193
211
321
193
173
146
153
218
169
213
212
209
221
173
174
187
219
217
217
180
191
206
130
217
216
202
193
210
164
192
265
265
200
210
130
162
236
212
219
162
209
184
194
217
210
191
211
236
227
222
236
214
211
178
146
129
302
191
163
237
260
162
210
188
239
180
274
196
259
149
172
115
201
183
204
235
130
138
215
178
145
130
191
271
195
215
130
252
179
167
144
217
184
173
232
223
197
185
183
185
182
181
270
192
219
133
192
207
191
205
204
187
189
209
161
180
149
185
133
166
146
132
304
219
199
184
204
187
195
149
230
174
209
160
203
157
202
303
207
130
115
214
242
227
155
240
187
182
146
165
228
217
234
188
195
204
251
262
227
209
202
195
303
232
173
217
156
143
173
186
185
138
146
192
129
129
335
172
240
178
173
237
115
129
173
150
184
247
290
178
210
248
169
335
243
143
201
133
210
262
164
203
165
173
150
153
265
266
155
210
264
129
179
217
180
217
199
147
169
206
201
175
236
145
217
230
190
175
177
252
221
248
179
182
202
134
217
185
133
133
192
199
201
204
182
156
246
150
190
181
179
204
195
183
259
173
164
233
143
228
178
204
202
249
146
266
138
190
172
122
200
158
199
164
190
130
211
181
177
168
295
130
145
176
160
192
150
130
217
192
231
133
204
239
194
133
202
173
133
204
186
189
129
145
169
176
166
132
201
202
242
174
210
176
218
169
192
173
166
151
186
197
173
222
156
224
184
150
202
238
144
170
145
237
169
236
235
150
231
185
183
182
173
210
182
181
184
231
146
217
230
173
176
179
227
211
141
205
143
217
181
218
195
129
169
144
335
151
151
177
204
251
129
158
180
243
210
259
220
115
227
158
208
180
181
247
237
228
199
191
173
184
225
189
216
156
207
184
133
179
217
253
184
239
256
211
169
179
327
191
194
129
255
216
177
167
207
251
262
311
161
205
206
238
158
249
201
194
188
191
201
228
165
206
200
145
199
199
179
188
238
204
204
211
149
208
187
244
130
153
230
182
206
188
147
211
200
236
178
168
297
170
189
194
164
183
168
240
145
145
179
192
259
208
156
200
161
176
221
211
176
212
164
179
232
261
239
199
194
303
131
204
247
225
143
171
159
130
217
210
176
237
214
179
190
146
199
115
189
219
210
196
254
158
260
190
205
193
130
180
211
145
210
202
335
162
266
178
200
183
184
259
307
141
161
185
204
214
158
192
225
171
130
216
217
224
176
218
206
217
130
173
261
185
185
195
156
210
152
219
180
211
179
190
212
203
213
156
251
175
316
168
170
176
246
201
187
180
203
182
232
238
186
176
188
230
173
146
176
141
130
176
158
200
202
209
180
239
207
173
260
173
205
192
151
191
203
218
235
271
179
218
202
185
129
138
146
263
176
144
257
225
143
230
166
182
221
164
254
237
143
173
129
173
215
181
153
211
259
188
164
185
229
235
230
245
227
201
131
204
219
182
173
186
130
162
210
165
162
234
206
229
217
226
143
161
235
231
179
173
173
181
155
191
138
176
200
229
166
138
129
145
160
211
277
204
184
155
170
192
196
249
283
177
206
173
146
122
216
129
179
182
191
203
164
146
224
181
230
236
132
198
176
182
182
213
168
145
247
234
200
206
202
238
192
129
145
155
158
130
130
143
185
217
152
168
228
133
211
150
115
264
210
129
156
162
197
162
269
231
248
146
152
260
215
204
115
271
192
115
222
158
160
133
146
169
165
184
219
229
166
210
214
210
213
181
176
168
191
195
169
153
179
203
185
214
194
200
221
174
170
205
187
192
151
204
146
255
244
240
264
230
174
222
162
292
213
169
210
263
179
158
173
133
211
249
184
176
197
203
238
183
146
115
217
217
173
143
182
184
307
222
155
202
214
153
176
238
215
212
226
188
238
203
130
181
218
222
130
158
176
156
146
237
200
210
195
210
146
244
181
155
202
192
203
277
200
238
195
200
210
183
191
222
191
230
155
168
226
180
177
216
290
310
209
184
285
263
231
188
202
254
168
172
225
214
210
191
206
212
225
180
186
146
133
150
204
250
129
179
155
138
153
300
133
228
230
158
194
238
178
173
196
204
173
223
171
185
157
193
200
265
236
130
192
156
236
204
145
169
181
174
150
229
198
195
239
129
177
236
195
115
211
214
168
143
174
202
214
209
229
281
196
178
178
177
173
237
204
173
211
156
226
251
199
193
156
205
183
168
176
146
164
191
249
300
218
192
146
219
143
222
236
129
221
145
234
130
200
173
179
157
141
249
183
150
173
158
176
210
252
158
190
185
133
281
248
182
164
176
238
129
133
128
191
200
242
228
225
292
164
171
155
186
204
130
200
168
231
155
180
179
173
222
130
149
173
129
122
204
184
254
189
146
219
151
173
274
176
162
181
191
152
243
204
188
171
201
191
182
204
292
115
183
145
206
146
230
144
143
128
226
179
199
224
189
170
176
234
165
157
221
296
179
203
176
182
173
197
182
145
221
200
192
151
303
146
178
195
160
172
282
122
147
245
259
198
265
190
262
129
275
162
192
166
212
143
179
216
299
195
191
201
157
213
226
192
162
214
217
158
180
197
172
190
164
169
145
200
239
278
170
176
184
208
158
203
181
145
164
164
176
258
188
129
176
220
216
210
161
232
181
257
247
256
173
133
189
202
129
122
197
168
122
204
202
233
217
179
176
173
188
214
249
129
193
209
182
224
156
122
199
218
173
168
161
176
281
146
176
228
235
171
164
129
183
173
129
130
160
194
227
144
151
129
162
130
183
236
230
202
155
239
130
129
130
271
129
173
201
222
227
173
141
202
206
166
210
300
184
115
186
212
180
239
174
210
185
201
132
173
287
180
212
200
161
176
186
172
129
115
183
247
143
213
192
233
141
129
161
172
217
219
218
148
176
204
159
217
184
184
232
227
141
204
175
130
173
244
176
143
194
188
129
206
156
180
173
202
179
195
158
196
245
183
192
219
129
248
130
247
206
217
166
176
183
181
179
197
170
129
184
209
162
155
146
130
176
143
181
254
218
217
261
202
170
219
187
266
204
169
174
181
189
248
129
154
190
180
229
191
222
226
115
184
169
189
255
156
157
197
129
143
178
204
242
178
155
335
185
130
202
191
155
304
176
132
129
211
162
283
215
194
212
164
177
209
193
222
197
152
285
222
264
196
254
190
214
158
282
221
173
217
162
183
173
236
217
166
195
146
130
211
228
192
130
159
160
141
216
210
168
208
207
130
130
159
261
204
203
176
209
288
173
222
194
166
166
132
201
198
177
285
143
231
299
170
191
155
231
169
133
194
153
246
206
175
130
115
229
213
174
172
241
210
221
173
240
211
176
259
204
238
212
236
173
209
166
207
217
218
177
167
178
186
129
206
211
274
214
129
209
199
204
173
187
222
147
252
158
251
237
233
215
263
159
257
174
199
219
129
168
144
130
213
130
240
222
171
184
257
185
174
178
224
195
168
230
230
238
183
150
179
210
204
202
180
130
133
173
152
164
150
186
162
204
230
250
211
153
129
161
265
178
201
184
185
214
241
183
138
187
179
228
195
268
150
304
206
223
217
181
167
160
225
172
195
211
233
129
183
171
183
243
275
272
275
158
162
176
194
179
184
227
203
173
182
115
164
264
218
236
201
176
146
150
272
129
182
205
143
175
145
173
217
231
215
199
177
177
213
129
181
166
206
169
272
222
211
193
282
129
196
195
217
155
173
183
150
178
218
255
202
259
237
245
143
230
179
179
115
169
230
270
168
203
188
185
191
204
202
129
204
261
183
198
222
247
184
225
224
206
204
257
129
193
263
162
211
162
170
236
176
190
240
143
217
251
264
173
166
258
179
213
158
232
182
206
141
115
204
233
258
160
180
181
283
192
215
200
200
176
146
182
173
199
218
216
242
161
160
222
181
173
254
208
202
160
228
168
199
179
164
144
146
201
131
212
243
241
208
210
146
204
173
221
204
129
257
199
245
206
206
164
168
235
158
216
233
143
231
143
233
149
228
293
158
149
162
162
145
205
250
197
128
178
162
188
182
184
214
191
133
199
225
217
198
215
239
222
200
192
176
156
181
168
204
219
194
206
196
204
227
236
170
198
122
129
179
293
244
220
214
204
168
206
161
161
219
200
201
230
188
133
275
219
173
147
199
242
194
229
129
146
170
288
191
151
164
208
184
168
175
181
244
205
170
222
201
238
182
185
144
177
229
230
166
170
168
208
182
146
146
206
226
179
185
182
132
183
150
275
145
180
180
174
222
179
191
170
216
191
218
173
173
239
191
164
133
192
217
159
191
165
181
275
200
216
259
256
187
203
220
205
201
129
176
186
173
182
218
146
173
179
182
225
251
181
203
216
190
204
211
204
170
239
233
221
141
168
161
145
204
153
200
161
298
184
130
176
191
173
279
222
176
133
211
230
199
202
201
242
202
146
229
174
191
206
201
193
190
173
230
219
194
175
183
148
155
141
129
261
164
146
216
149
156
164
227
166
192
161
183
129
195
201
130
192
172
212
264
162
178
230
255
182
162
240
158
173
188
204
159
133
182
164
200
146
129
171
210
235
214
186
242
130
219
122
208
202
129
202
184
168
191
218
141
191
133
173
200
173
172
208
184
226
229
200
146
185
173
211
155
261
189
224
269
244
234
199
201
256
207
158
230
138
288
145
232
206
170
173
227
233
233
214
146
192
129
189
199
183
214
171
245
188
226
183
218
187
220
182
204
129
186
122
173
228
169
204
225
130
215
210
130
192
239
234
187
217
184
200
234
155
204
133
246
182
220
210
168
160
212
195
162
191
169
198
238
173
171
206
219
129
156
143
182
143
133
168
160
147
203
216
151
173
158
146
158
217
122
182
292
176
189
162
200
183
176
146
190
185
226
182
183
199
163
276
217
257
143
159
170
205
129
165
146
115
227
181
194
236
182
193
232
211
129
214
158
189
178
165
181
164
218
241
227
264
187
155
191
210
219
196
143
204
216
209
172
206
231
143
195
209
182
164
146
182
264
213
218
129
143
252
200
208
210
182
146
189
195
251
226
303
271
265
257
190
168
198
115
200
234
235
200
204
146
188
187
204
220
201
202
231
179
141
143
212
205
141
173
191
227
221
146
202
209
211
168
162
196
246
180
214
206
186
205
173
211
184
253
200
167
155
176
192
229
146
244
210
231
275
115
228
202
147
292
225
204
130
193
173
265
149
200
156
202
191
179
211
230
179
168
195
168
129
252
146
158
191
210
234
187
191
200
198
173
202
194
182
130
133
200
192
180
173
150
246
238
191
236
185
189
215
130
150
143
184
216
212
190
176
130
210
190
249
146
133
229
210
194
142
204
181
166
210
212
189
129
185
253
259
156
201
176
164
218
210
160
211
162
254
146
208
261
241
256
158
214
230
173
146
227
169
179
223
185
167
200
200
194
130
145
173
247
149
231
186
187
242
212
176
193
145
129
217
251
169
156
263
207
161
235
155
169
219
191
189
158
155
281
122
162
184
180
210
176
129
203
169
167
262
191
213
247
173
176
160
141
218
258
144
179
247
210
168
238
243
140
146
240
202
189
167
204
163
160
176
176
211
146
247
184
174
195
156
183
225
166
115
236
173
231
231
145
146
176
185
207
205
239
156
194
221
180
259
129
260
199
129
176
193
216
230
294
168
271
213
176
130
130
176
204
163
171
170
224
188
174
224
162
187
239
179
191
293
181
188
152
252
183
231
173
302
218
217
130
179
167
151
196
253
174
199
191
129
203
209
198
146
129
184
129
183
242
205
149
186
138
203
201
207
238
200
164
187
182
174
178
130
247
191
240
235
188
206
179
184
250
152
129
204
221
146
184
209
179
119
161
211
128
147
160
204
188
174
145
160
159
179
234
205
238
155
217
213
236
286
184
191
204
184
187
242
228
162
230
175
216
149
266
227
173
185
184
303
129
191
150
156
197
228
189
194
158
201
203
164
146
166
284
149
211
129
197
221
201
143
132
255
209
238
228
173
199
168
283
228
176
254
195
129
194
190
183
177
195
204
193
189
201
143
176
166
173
169
145
138
199
201
209
187
219
183
176
180
272
249
201
238
133
209
196
133
181
180
188
219
147
227
203
164
146
187
173
198
301
211
231
173
229
181
243
203
141
184
177
258
174
184
183
173
229
204
217
202
173
236
166
186
161
208
191
182
132
183
225
214
178
230
183
319
171
129
176
261
191
202
248
158
192
211
225
192
183
168
171
152
180
153
146
238
201
169
182
295
194
145
162
164
184
236
258
253
183
238
228
263
211
184
204
164
226
233
179
254
210
183
231
188
183
211
173
115
173
192
160
179
158
214
155
145
145
179
204
177
156
206
201
182
130
204
161
162
133
193
179
202
184
163
176
263
158
115
211
234
192
241
173
274
156
205
227
173
204
168
133
175
265
156
184
210
182
208
229
230
217
279
206
176
184
180
217
130
169
129
249
180
115
179
187
225
164
197
181
155
186
211
154
173
221
201
164
161
178
146
182
172
145
146
171
297
199
173
220
145
241
228
255
215
169
162
213
265
155
189
178
149
291
178
204
184
201
204
191
221
204
201
258
170
200
202
210
206
251
218
184
194
183
129
191
240
151
171
218
203
181
172
145
208
173
260
201
185
167
217
262
191
255
212
148
155
181
191
188
193
182
204
180
191
227
203
186
151
173
211
176
210
173
179
279
271
159
201
173
192
171
169
213
206
166
133
180
171
160
132
129
257
128
184
133
224
179
208
191
219
239
195
176
129
173
231
141
133
271
162
179
179
129
187
188
146
158
181
230
202
183
165
183
236
322
129
169
209
247
167
145
183
204
178
176
193
207
158
230
182
172
228
206
187
129
277
173
200
204
187
200
181
250
143
246
150
253
160
158
233
215
143
200
130
215
238
122
246
173
225
161
211
122
168
228
191
191
238
210
115
195
194
143
186
153
209
210
157
215
253
168
230
129
204
244
133
153
173
225
176
187
176
204
146
238
218
279
249
204
216
191
200
164
184
150
204
189
221
190
210
191
133
165
162
259
217
128
184
209
176
141
146
173
186
204
129
194
173
178
208
230
230
161
153
219
166
183
301
224
278
161
166
141
129
224
194
272
210
176
115
190
208
173
130
225
185
180
202
183
175
210
165
176
261
188
221
173
205
239
180
225
218
188
240
161
192
172
301
178
169
187
220
194
168
246
197
129
115
178
204
130
283
210
158
203
143
176
183
129
195
172
178
161
162
252
250
164
176
222
230
249
209
174
165
256
195
210
166
171
239
179
240
146
181
155
168
176
145
168
164
228
263
166
175
176
115
202
246
162
199
173
209
200
176
225
246
143
151
183
223
159
213
173
130
173
145
210
115
259
228
146
165
201
119
300
168
195
228
179
156
190
179
178
173
163
206
216
133
173
157
239
182
236
230
202
217
200
249
236
179
193
196
210
187
190
226
133
234
165
206
236
182
210
202
275
208
156
173
204
167
256
247
239
285
335
155
176
239
170
168
188
282
185
146
252
280
210
169
213
170
206
166
195
197
176
161
198
164
262
266
189
235
176
167
299
150
115
168
246
160
164
138
184
162
162
161
143
204
129
216
130
155
227
235
191
202
159
129
115
211
309
133
130
129
191
214
217
160
195
150
204
227
254
178
191
150
252
173
184
214
201
174
217
200
260
180
202
230
179
173
197
238
214
208
176
203
225
216
257
208
238
227
248
283
146
212
335
217
216
146
173
188
285
190
201
189
190
288
143
251
155
173
257
217
162
115
169
122
230
235
217
241
200
242
214
115
168
256
204
216
254
200
156
208
182
129
211
203
173
196
182
263
230
250
205
199
172
174
182
217
164
156
211
193
130
168
130
334
145
214
130
252
192
186
183
174
220
177
168
195
201
263
191
204
200
208
180
133
195
212
225
157
236
174
214
182
271
273
233
167
205
193
225
250
173
199
184
252
162
181
202
130
195
248
177
204
184
157
206
170
163
198
115
149
180
197
239
199
188
210
160
115
181
227
204
178
160
176
245
132
122
198
191
191
163
254
133
210
201
174
148
186
164
160
225
232
227
133
335
188
129
217
152
129
222
236
254
193
143
204
276
243
169
274
211
180
162
210
146
184
260
173
217
192
238
210
191
217
185
222
146
130
233
204
177
265
130
179
238
161
162
128
171
166
191
204
155
166
214
157
133
185
211
176
190
252
149
146
174
257
212
229
184
149
190
272
184
204
168
149
156
180
129
179
132
164
145
210
180
122
210
133
191
217
179
217
173
145
257
169
208
222
169
183
133
189
286
193
129
216
179
206
200
217
130
206
171
165
190
141
161
179
205
229
214
167
186
188
176
238
282
214
145
194
183
162
130
130
158
146
185
181
187
146
184
229
169
158
128
208
158
202
149
231
168
173
152
173
207
133
146
214
155
178
176
152
169
171
182
185
235
200
179
186
158
178
204
147
204
145
156
195
208
214
227
170
238
229
182
232
173
169
228
229
173
158
203
189
206
212
247
204
191
144
184
217
129
239
237
250
229
144
191
285
182
258
178
183
182
149
204
172
166
162
131
165
144
181
271
176
229
204
212
184
235
216
256
193
176
287
122
161
130
212
168
218
130
192
130
210
166
179
149
225
216
115
296
200
179
133
130
181
229
182
222
208
261
192
217
152
211
129
251
143
225
192
210
176
208
204
209
145
215
169
193
132
257
122
201
176
146
239
222
245
119
130
176
176
164
129
199
168
184
129
182
204
214
300
178
211
239
158
133
271
217
191
211
160
246
191
200
228
181
203
204
258
146
227
239
163
300
229
146
173
188
147
189
157
115
237
198
173
192
168
158
164
174
133
180
190
210
225
173
130
157
189
228
164
182
198
217
160
241
183
211
216
206
259
182
184
214
176
229
219
214
181
180
129
129
177
238
261
146
209
191
192
225
250
225
162
163
146
225
155
217
168
259
179
238
210
187
229
287
166
167
204
193
260
272
145
168
204
218
238
145
164
247
180
183
180
163
155
221
211
237
187
212
172
250
143
265
174
194
179
122
229
173
197
195
223
129
251
133
153
145
149
261
176
300
182
144
191
163
176
210
166
203
201
150
238
186
170
189
258
146
168
228
184
242
184
182
179
182
130
181
173
239
157
178
162
185
186
188
251
168
183
210
202
173
138
201
221
150
146
129
236
225
230
230
168
141
130
204
146
266
271
156
204
239
183
188
184
203
204
151
173
204
179
255
133
200
216
216
181
216
146
146
200
145
182
211
206
141
184
196
115
130
166
172
150
261
248
202
180
145
199
202
115
153
204
193
215
188
146
176
200
129
252
164
186
187
220
202
178
166
178
133
184
185
190
212
218
176
244
176
207
164
146
210
222
179
129
213
158
185
259
115
239
181
204
177
304
200
173
183
158
189
198
190
212
179
133
195
227
221
169
220
192
189
206
164
144
119
173
171
162
166
248
179
173
211
173
211
201
191
155
183
133
176
195
170
238
178
201
182
129
173
158
162
140
183
184
115
218
172
164
257
210
218
225
212
174
146
156
149
335
236
202
176
179
183
176
145
189
182
278
185
182
129
206
219
143
182
188
168
181
159
169
201
162
141
190
201
191
155
209
201
192
232
245
186
137
239
166
200
161
218
173
176
172
176
169
203
206
201
173
173
166
158
183
266
230
206
247
209
263
158
179
201
130
181
170
184
178
167
130
217
203
283
250
287
162
300
176
220
176
203
133
185
182
129
194
221
250
181
178
172
192
194
186
199
256
146
235
129
143
242
226
183
146
203
151
204
171
144
178
184
236
214
212
143
176
223
193
211
230
161
247
185
179
210
217
146
133
129
184
188
129
176
130
211
130
275
199
130
161
209
160
155
244
249
164
161
162
173
217
189
129
167
210
275
238
211
166
128
133
173
202
130
229
164
180
210
129
202
143
212
164
164
207
183
182
129
274
161
130
238
170
182
219
166
235
229
129
188
236
169
157
129
191
171
178
156
211
200
178
164
258
243
217
130
321
236
168
205
178
224
206
183
215
158
183
138
196
237
202
251
219
242
143
225
176
152
169
119
185
129
184
294
213
129
170
169
202
199
210
162
221
186
202
210
196
222
176
166
232
183
207
219
312
252
234
146
146
255
217
211
225
129
155
241
192
235
146
231
210
155
254
146
214
190
190
146
157
253
230
146
144
241
255
179
133
238
214
270
220
247
202
235
130
180
165
178
146
146
176
272
161
190
193
195
153
191
188
200
202
180
258
170
183
146
184
161
164
201
173
115
174
133
202
173
194
222
184
230
161
224
210
204
129
231
188
162
164
176
213
172
161
205
162
232
236
283
252
227
210
227
158
158
233
217
164
179
181
158
231
203
227
173
162
186
164
146
130
164
161
174
236
129
191
236
183
182
178
129
217
266
254
156
237
130
206
204
202
174
146
146
208
187
176
186
147
238
207
145
146
196
203
168
164
130
146
251
191
217
183
152
225
212
191
175
182
173
199
174
238
173
179
217
197
212
229
182
146
129
218
190
204
216
173
203
201
169
130
187
181
206
218
184
215
239
160
217
172
214
231
201
158
242
206
165
173
201
259
206
183
169
231
211
184
176
188
173
178
173
192
184
189
183
152
207
201
152
180
217
248
209
164
174
227
236
248
190
148
296
131
183
247
176
199
258
264
179
184
173
182
185
143
168
260
178
223
164
169
157
265
171
172
174
217
242
217
168
214
145
155
192
206
191
186
215
184
203
173
186
203
164
179
188
192
146
222
230
188
237
167
129
193
214
115
246
189
241
176
183
211
275
242
150
211
173
296
242
228
183
183
173
176
156
217
225
164
224
192
200
183
227
204
159
204
208
189
149
195
174
173
156
143
227
176
193
177
132
176
199
222
241
130
224
217
230
254
133
215
146
191
214
207
160
203
156
201
145
173
171
199
204
192
146
129
131
176
260
208
213
229
266
218
187
141
141
145
160
202
151
179
173
166
288
185
244
200
161
191
158
183
172
215
230
267
141
130
225
163
181
164
242
176
146
248
208
204
189
194
149
156
138
143
204
213
146
289
200
130
248
211
146
180
173
205
236
122
150
186
201
225
206
151
176
176
239
179
149
252
202
188
215
164
261
161
172
241
184
177
238
132
176
130
174
144
185
144
225
217
133
168
147
160
176
133
179
146
201
203
201
204
168
162
171
266
129
173
203
208
206
184
130
238
179
159
210
215
214
302
176
202
132
149
178
176
236
141
130
171
229
150
211
202
210
129
194
239
172
191
204
180
217
217
173
236
150
143
224
168
186
176
214
206
146
218
208
210
179
231
184
129
190
201
188
217
176
234
184
225
155
171
193
129
205
204
229
284
186
161
264
150
198
247
217
206
129
293
153
201
228
129
236
252
184
146
192
206
239
264
250
155
173
245
207
217
170
202
301
217
152
152
161
129
181
184
223
166
231
225
244
180
204
196
184
253
162
176
173
209
149
133
173
172
183
200
129
214
200
179
182
200
202
179
238
206
131
191
206
186
189
168
212
153
129
171
198
206
187
204
183
219
232
200
209
274
119
255
182
194
229
202
133
216
213
168
143
130
179
194
209
190
209
173
182
264
153
232
285
178
230
157
131
182
202
319
218
141
221
210
191
191
236
209
260
146
129
222
173
204
200
246
225
188
227
168
202
201
185
174
224
196
200
211
182
362
225
204
184
217
218
168
251
263
130
186
173
201
227
184
251
130
230
151
257
201
195
219
170
179
156
184
201
217
303
182
205
141
241
187
204
150
206
214
263
146
239
195
259
172
191
161
173
247
194
175
133
258
200
168
201
225
146
171
155
264
201
224
246
129
201
200
228
180
166
188
161
166
218
129
167
175
202
221
194
239
146
199
222
157
247
162
198
183
178
189
230
238
214
146
260
146
176
246
166
156
159
222
252
219
205
200
220
241
130
153
133
168
238
130
209
129
185
219
227
225
251
146
169
184
129
203
173
155
235
180
231
162
185
207
232
203
264
270
180
231
130
214
165
191
200
221
145
129
206
193
173
152
157
208
246
295
203
214
204
254
224
205
204
166
192
256
163
214
149
162
143
210
182
115
122
166
246
177
133
210
265
173
182
173
207
182
145
164
166
169
269
160
182
259
184
144
218
182
276
188
179
129
203
236
202
185
141
146
179
208
206
171
225
207
178
162
274
205
147
195
263
191
204
168
138
216
162
187
168
202
162
202
278
155
183
176
181
173
146
258
209
259
209
199
210
184
229
236
241
146
261
181
239
164
210
215
208
200
261
145
180
189
204
199
211
183
130
129
145
199
173
211
166
259
255
122
238
166
230
158
222
128
225
204
222
129
181
143
146
147
162
151
155
211
211
237
246
169
186
140
168
130
232
202
207
232
130
241
189
158
216
169
171
210
173
230
171
239
146
196
208
202
264
138
145
143
130
155
231
172
206
196
246
218
168
146
209
178
184
122
183
228
317
176
115
132
210
158
133
161
129
208
162
176
143
179
169
212
241
204
173
176
164
236
187
177
192
252
230
173
129
242
186
168
206
168
175
282
264
277
245
302
213
201
254
201
184
200
208
182
157
204
211
239
221
168
272
169
119
178
167
130
178
185
335
158
242
146
143
164
177
168
156
173
184
239
203
207
216
162
211
182
227
184
146
222
129
191
242
224
209
227
258
173
176
168
198
302
115
200
176
229
194
217
133
200
208
231
216
206
192
208
201
212
235
217
253
128
246
211
133
195
214
202
215
168
200
161
153
181
173
229
166
187
245
255
283
176
197
133
164
145
146
157
239
164
222
176
183
185
190
180
183
174
174
260
170
158
146
232
152
241
129
221
181
173
236
178
195
189
184
178
171
187
231
188
202
192
241
236
163
238
164
190
168
180
165
202
174
129
178
185
138
200
217
212
219
138
296
180
222
200
289
245
194
130
181
174
198
217
141
162
227
168
178
129
184
176
176
169
179
185
156
182
146
145
157
146
234
164
203
161
278
275
138
214
210
246
231
195
176
236
211
199
157
166
255
188
277
219
192
222
263
225
202
230
170
240
212
227
204
158
211
197
216
229
178
246
209
130
203
208
156
129
174
200
187
129
173
178
181
308
158
198
210
300
171
183
201
145
180
209
199
179
152
145
173
227
162
216
219
209
214
202
166
185
161
186
217
230
263
234
129
198
173
233
185
222
206
174
211
234
176
173
240
169
156
133
158
169
179
162
217
210
227
180
228
200
236
130
153
180
210
236
335
191
184
222
145
208
190
133
176
176
207
217
171
197
155
204
211
128
197
130
198
169
239
220
164
230
155
204
115
157
180
176
225
143
204
145
233
263
219
158
200
115
222
183
181
214
201
207
201
175
187
115
163
162
145
223
211
217
196
146
190
130
148
184
224
201
190
188
250
260
209
282
210
231
146
203
168
200
234
188
180
146
186
239
236
258
217
194
249
146
189
211
236
207
251
188
203
217
195
175
145
214
203
176
161
115
180
225
207
272
256
217
133
200
202
155
180
200
256
217
211
167
203
187
259
187
237
239
129
176
189
225
146
182
182
201
179
178
173
166
225
186
180
122
248
184
145
240
283
188
233
176
171
201
173
218
251
130
144
254
224
211
209
237
207
217
220
234
285
229
204
204
296
208
147
162
195
185
182
168
244
218
301
158
217
238
201
119
204
240
230
161
227
287
194
294
193
191
182
129
115
193
200
176
218
175
183
189
147
172
228
208
212
130
235
195
247
179
192
261
149
146
145
182
170
201
190
181
263
167
223
155
182
235
208
248
149
225
160
220
261
188
128
190
203
251
205
209
164
189
129
222
179
234
119
217
210
199
216
146
129
214
224
215
238
239
182
158
219
224
200
214
146
151
146
238
208
212
150
184
258
263
228
150
185
210
160
181
219
133
246
185
183
217
206
224
172
156
235
235
177
181
173
237
170
130
186
161
219
143
176
201
158
205
133
178
203
180
191
248
173
265
146
156
188
229
219
164
240
146
143
224
158
210
227
274
190
204
321
210
252
190
184
130
130
250
161
216
149
264
217
199
203
133
138
225
170
176
240
148
150
129
145
166
234
213
194
208
252
231
171
173
236
143
173
264
130
242
201
146
169
247
226
211
221
162
211
198
237
186
188
209
215
283
180
204
195
261
266
227
254
216
146
243
122
204
178
178
202
189
181
203
206
179
210
173
173
221
178
191
178
224
201
236
227
204
244
195
172
212
242
179
171
200
146
307
149
320
210
258
236
222
307
211
184
173
203
173
166
179
206
217
158
197
175
145
146
239
145
153
217
222
209
146
178
210
169
179
191
185
184
173
200
195
179
167
215
235
196
225
262
225
146
169
195
224
226
160
236
174
155
196
217
225
152
205
169
196
151
184
217
254
164
145
158
213
223
164
195
176
212
271
202
237
261
207
194
187
155
255
176
160
168
191
195
236
283
251
206
246
249
236
172
141
155
195
173
190
186
202
173
225
283
259
168
179
238
129
210
146
192
143
189
191
133
212
204
130
157
193
217
184
210
194
190
256
174
313
335
164
155
190
130
173
186
189
194
160
262
221
205
207
199
182
146
158
182
192
164
219
238
173
183
171
264
230
156
161
231
303
197
249
146
230
202
202
221
143
173
176
237
168
129
179
188
138
186
221
201
196
212
144
213
191
158
222
225
335
250
222
145
199
129
229
216
141
180
198
214
210
133
229
173
204
180
146
173
300
168
166
166
162
261
179
221
227
176
173
167
173
182
204
207
146
238
146
178
176
128
119
115
129
143
227
146
189
217
176
129
219
176
188
179
165
138
162
188
203
204
220
189
241
257
167
189
232
251
199
129
160
130
178
184
236
183
161
210
204
146
204
155
150
161
130
169
170
255
164
171
217
190
191
130
177
183
261
167
195
129
173
210
195
169
162
274
200
230
176
212
141
145
190
130
225
211
143
211
186
260
167
158
183
176
206
122
184
228
176
143
204
217
240
164
217
216
130
209
146
184
155
193
173
204
200
162
183
242
206
166
194
176
122
170
180
207
190
233
197
195
158
184
129
169
202
171
222
189
211
186
188
193
133
197
173
200
186
173
130
156
188
129
160
129
219
210
166
204
174
145
258
273
141
240
177
199
229
145
127
174
217
178
176
206
170
187
158
243
207
201
202
188
254
184
179
155
128
138
259
228
222
179
146
133
207
249
217
174
266
212
236
173
230
237
155
173
263
143
222
130
192
174
217
164
285
209
176
211
293
225
273
230
220
157
233
210
151
183
195
210
160
181
202
211
168
238
182
200
296
145
225
145
236
204
215
211
234
221
129
208
238
253
177
250
130
183
209
200
169
190
213
169
155
182
239
222
204
167
217
185
162
287
200
182
273
260
183
163
169
162
197
218
164
158
210
146
234
255
158
202
224
172
191
202
237
179
215
193
146
178
175
218
197
211
185
230
174
130
308
168
201
189
153
225
172
179
211
187
260
182
171
198
226
258
161
227
196
185
240
119
164
181
217
176
119
146
179
227
141
186
242
158
179
141
183
178
216
202
200
180
201
226
157
179
280
184
145
133
130
242
152
172
211
204
191
220
161
212
228
189
173
217
235
202
190
191
171
174
129
222
222
238
247
236
230
212
169
217
239
196
200
199
203
182
203
164
213
278
217
145
157
213
206
145
173
146
206
228
224
157
214
173
162
211
285
176
162
227
129
173
260
155
176
129
192
218
199
165
237
204
194
228
167
176
212
249
130
200
159
133
195
171
203
138
216
176
204
194
186
219
144
146
179
173
240
145
181
203
122
188
256
204
221
184
238
152
235
188
222
162
296
229
155
201
210
245
145
169
185
173
185
179
151
178
229
169
173
130
218
150
180
225
172
294
146
160
230
246
217
138
252
190
194
188
128
160
248
211
145
178
146
236
179
227
129
156
184
204
262
201
240
199
189
162
183
188
180
162
122
300
228
200
165
204
164
146
140
164
160
240
236
176
215
202
194
164
225
204
202
244
210
214
230
173
167
182
254
173
269
261
200
204
225
144
157
202
176
133
183
253
146
173
215
206
164
190
143
160
214
146
188
130
272
219
146
176
141
234
209
207
162
239
133
146
181
168
192
203
211
157
176
178
129
187
198
168
162
188
168
156
143
176
261
233
189
173
204
210
146
235
192
219
195
210
224
163
236
131
148
178
188
230
153
174
203
211
174
217
129
169
162
181
157
122
202
130
146
206
283
260
195
184
199
266
186
146
194
143
181
191
133
226
226
168
204
202
248
208
193
201
184
217
188
153
208
238
202
173
189
180
170
206
191
254
176
278
244
274
174
176
149
161
159
192
232
194
200
204
183
231
191
179
225
129
149
188
181
191
182
171
231
204
159
236
207
206
169
214
155
230
186
129
156
173
244
183
195
192
181
210
184
200
146
224
168
138
318
172
161
211
130
236
168
197
335
205
182
132
210
201
155
264
168
180
204
201
168
164
258
200
273
183
281
188
211
173
264
208
160
176
244
201
218
200
259
233
122
176
226
250
169
259
204
115
149
130
184
176
143
195
238
237
176
211
183
289
183
158
195
225
150
202
179
146
143
132
155
173
171
190
273
179
219
180
236
174
229
204
173
215
184
232
191
176
129
133
215
209
204
189
181
210
224
219
193
252
181
192
225
183
225
191
200
155
131
179
200
217
155
196
247
294
191
201
146
210
210
235
212
214
176
187
206
222
253
168
261
236
209
236
182
143
155
206
213
183
130
145
133
230
255
130
179
264
115
192
129
119
168
176
296
192
231
216
130
269
176
204
202
216
180
176
327
129
242
236
222
175
199
189
207
145
179
162
164
248
203
181
194
143
211
166
200
206
176
247
244
186
210
192
179
184
239
210
192
176
204
217
122
162
122
146
162
130
210
253
184
193
176
179
162
189
251
230
147
220
296
181
173
179
115
226
146
146
227
183
260
271
201
177
119
183
173
190
217
162
184
238
272
146
217
129
157
143
168
166
145
219
180
160
173
149
171
145
183
170
133
255
229
196
220
212
173
191
182
180
213
143
188
191
138
162
146
210
216
211
219
191
146
145
258
115
234
129
150
210
147
209
179
264
156
228
157
202
228
173
218
210
250
171
122
178
229
187
224
144
166
243
185
144
182
203
210
169
146
230
129
185
261
210
192
222
225
144
146
185
161
172
193
168
191
279
176
235
246
183
146
176
176
184
122
215
240
206
180
208
164
181
168
206
175
209
214
165
145
141
149
204
229
149
158
158
195
179
265
188
130
225
229
180
255
226
185
133
335
171
183
260
251
217
201
191
151
163
146
186
180
217
268
268
254
175
188
229
258
208
201
231
241
204
238
176
191
174
193
246
157
194
115
129
175
199
153
210
190
270
130
127
173
228
180
161
216
171
232
218
158
200
235
256
184
205
217
200
176
201
206
187
202
219
145
168
216
227
157
260
232
221
157
228
227
193
218
185
148
186
172
184
196
200
184
200
176
173
210
191
210
164
227
238
245
208
198
137
128
313
188
184
221
299
164
218
191
176
217
181
146
181
169
189
206
176
189
195
225
231
145
200
168
204
195
228
207
236
191
145
156
195
238
153
195
197
146
187
173
180
181
261
145
193
176
168
173
129
202
192
155
237
195
146
214
192
179
251
179
236
169
207
183
225
204
184
213
197
138
240
155
173
238
198
141
236
218
168
217
230
287
194
230
207
205
222
205
186
190
146
214
228
201
143
210
202
190
236
217
184
176
243
283
238
184
242
127
297
191
183
217
231
187
205
145
169
232
261
256
172
210
222
180
211
169
232
194
192
201
246
146
183
205
204
201
166
228
146
237
179
173
217
119
228
161
169
206
229
201
209
184
200
173
168
173
146
185
173
225
222
146
180
171
201
288
217
130
129
214
217
177
162
236
175
200
179
194
159
192
210
200
178
217
164
188
201
217
130
204
217
209
187
184
182
143
162
115
122
162
171
190
242
184
210
203
188
133
142
214
199
220
206
202
210
181
169
204
195
173
164
257
227
215
189
184
252
181
146
215
129
190
115
195
200
187
252
193
204
253
141
183
196
255
169
146
182
130
153
212
212
146
177
160
130
222
207
168
115
162
122
162
201
258
173
175
155
176
200
201
239
214
210
182
228
201
216
143
220
247
179
214
158
214
129
133
245
204
141
225
188
232
211
204
176
179
201
180
141
211
166
217
184
180
189
133
231
204
221
192
209
179
155
213
251
129
191
186
150
186
204
224
130
155
173
210
264
226
231
207
179
192
133
200
189
194
263
228
133
258
237
211
204
146
206
211
164
210
217
184
236
204
178
170
146
261
157
178
169
206
191
129
210
234
261
167
158
200
173
192
173
159
204
160
172
208
225
252
192
190
206
130
188
183
211
186
201
184
210
160
228
189
217
230
247
186
145
194
280
217
230
231
176
188
222
176
193
133
129
155
156
166
203
173
145
216
183
180
129
188
130
146
184
176
192
143
186
132
210
183
208
157
227
182
186
263
258
181
204
294
174
129
179
294
223
132
214
200
220
188
180
191
162
218
172
146
133
255
281
173
249
245
289
209
246
189
192
265
145
129
182
376
181
204
175
240
179
244
211
152
218
176
158
203
198
205
191
190
155
187
204
197
217
239
209
173
209
288
218
150
184
179
137
170
261
146
179
185
188
179
173
146
222
164
201
209
179
208
161
158
200
201
192
210
284
189
158
255
189
281
129
255
169
197
122
234
171
155
168
204
187
183
236
186
188
162
129
261
173
254
214
227
205
162
260
210
214
166
145
200
150
149
210
130
209
207
246
186
138
150
185
178
159
249
176
204
147
194
130
206
178
130
215
238
165
190
162
240
176
185
283
146
221
231
130
179
165
265
207
229
146
202
130
209
211
173
195
295
173
128
158
287
176
161
155
176
189
230
138
183
184
143
225
256
240
188
173
183
164
146
156
155
246
194
219
185
210
174
178
173
119
210
223
146
193
187
176
258
153
178
238
166
148
192
183
185
265
217
157
133
144
176
211
256
143
211
222
200
303
242
146
182
225
150
175
210
138
242
226
183
150
204
127
173
173
232
146
195
200
185
249
162
132
209
212
156
235
244
163
143
172
203
130
173
157
194
210
201
189
185
182
201
186
169
178
183
255
202
261
184
219
130
202
130
212
183
176
173
201
183
202
227
179
222
159
197
236
228
168
158
192
181
183
129
173
207
169
206
242
214
191
187
200
129
242
222
161
206
235
193
178
188
197
130
258
230
264
241
205
144
186
145
168
286
180
193
200
201
188
200
182
217
146
195
173
239
157
173
129
197
303
176
115
185
159
158
184
170
201
226
205
129
171
204
203
261
192
168
128
231
212
220
236
202
209
234
207
146
176
179
185
198
257
194
222
245
201
221
151
138
210
129
180
244
189
216
258
184
190
205
182
164
211
149
197
194
229
190
173
236
129
244
141
258
205
179
202
229
202
193
165
210
211
173
199
246
200
176
166
145
176
155
176
166
222
242
165
169
217
236
158
192
193
130
180
130
182
214
205
235
213
248
238
145
256
270
246
155
129
150
210
115
173
173
175
229
192
194
180
162
205
189
210
210
129
182
238
204
225
210
221
130
197
162
221
176
237
209
169
242
178
257
168
179
258
248
174
225
200
211
132
227
179
154
335
259
217
217
185
141
168
190
209
146
143
259
157
146
202
146
204
210
133
176
129
195
185
183
229
184
202
141
173
249
133
204
164
184
235
176
226
184
192
214
133
201
146
178
213
176
210
203
159
176
201
146
200
143
179
230
247
181
115
161
238
181
210
193
164
158
214
146
248
173
173
189
217
199
228
184
210
255
220
217
239
189
122
208
159
141
162
222
204
182
219
247
172
203
201
192
242
268
232
175
160
187
202
233
192
238
183
187
203
166
236
183
219
204
229
182
201
230
182
169
200
145
222
188
224
182
128
152
155
231
129
215
229
172
223
191
233
191
210
129
191
254
287
191
202
233
182
129
203
222
218
238
274
201
143
205
133
183
202
162
157
204
221
256
185
155
211
202
133
217
138
201
231
165
162
213
216
157
129
163
239
231
205
153
214
213
263
149
182
150
216
211
173
201
171
162
129
178
217
184
204
210
211
188
234
141
225
210
156
227
265
165
242
165
194
130
168
182
176
200
186
241
133
269
155
178
130
197
195
115
204
216
162
168
255
176
173
238
217
271
162
318
155
146
138
166
183
179
138
264
253
170
186
182
192
150
146
183
231
115
180
262
164
214
247
173
159
320
173
130
138
194
254
246
229
268
200
225
145
183
190
185
238
146
182
115
204
185
185
251
210
190
204
130
252
173
204
264
150
247
216
183
173
174
195
225
256
182
182
257
207
179
264
145
130
146
178
149
143
222
182
173
184
202
181
150
209
234
259
235
171
129
189
217
169
202
256
182
227
178
210
188
240
212
158
211
129
211
237
166
149
184
231
211
129
228
176
230
164
162
143
176
217
166
195
204
143
180
162
236
252
231
188
237
209
234
221
230
278
155
146
173
201
150
145
264
187
203
211
217
172
210
159
170
204
172
239
195
224
143
130
157
179
207
210
208
158
248
234
180
211
264
165
184
272
300
130
130
232
162
193
176
147
195
150
174
176
166
204
264
199
204
185
246
173
210
146
258
170
234
211
245
168
230
210
198
222
130
216
202
201
209
146
191
173
195
169
190
214
179
173
158
146
146
129
203
210
265
223
156
161
238
212
221
215
230
152
190
263
207
173
143
157
201
157
240
200
217
183
239
185
173
162
249
203
182
208
185
169
187
176
210
287
158
306
246
162
181
173
173
194
115
189
198
251
199
245
164
187
138
230
173
274
169
149
210
192
200
206
192
191
181
162
152
178
266
204
239
234
258
172
222
191
217
188
220
186
218
176
188
245
226
190
169
252
224
205
202
245
189
160
217
185
184
146
208
189
178
152
182
222
129
210
147
157
153
211
199
176
152
130
141
198
239
201
296
231
155
176
180
173
214
178
185
172
307
201
208
183
250
232
182
162
200
201
168
174
213
207
249
164
177
186
218
256
238
130
190
185
183
238
167
164
204
231
264
185
171
145
233
193
199
150
130
185
115
176
172
189
138
200
188
185
221
130
162
176
211
238
182
174
214
150
254
130
204
274
172
202
191
146
225
146
204
225
202
157
169
173
158
202
278
157
204
115
303
178
210
291
225
229
204
204
202
249
189
165
191
133
219
194
204
223
179
190
185
205
173
191
145
176
115
144
170
192
156
202
193
179
177
173
179
162
173
210
130
168
168
146
218
200
218
195
173
202
216
183
195
130
239
187
210
229
202
145
188
213
130
158
241
217
146
178
130
335
230
204
204
182
214
229
130
190
184
156
255
207
169
202
162
181
143
168
202
150
146
194
191
230
157
237
189
168
162
191
152
176
204
240
173
133
202
146
183
171
212
180
179
213
191
161
198
169
192
195
219
188
157
221
200
245
129
182
176
180
189
141
244
122
173
227
146
195
230
189
143
184
235
175
190
221
204
130
267
206
243
200
228
166
271
115
212
230
272
170
208
132
176
186
174
206
129
206
186
200
287
191
128
211
210
203
173
160
173
204
146
166
236
182
223
143
161
130
162
242
217
202
162
204
200
259
130
267
254
302
164
274
146
304
259
227
191
149
164
175
211
139
179
206
200
205
202
234
138
201
187
219
209
150
159
129
164
188
210
169
244
269
202
193
166
176
218
184
197
206
209
130
235
130
221
163
192
165
155
246
202
207
183
259
130
227
161
171
184
254
219
210
283
164
217
203
129
217
224
175
209
176
129
143
222
201
223
272
180
210
183
145
209
129
206
162
236
235
231
185
129
115
167
179
196
188
185
184
200
190
151
211
173
181
201
208
122
189
242
164
249
222
191
151
230
170
146
164
184
241
138
173
158
176
222
173
174
232
176
190
227
204
255
240
280
166
169
155
217
149
173
188
185
210
288
171
187
133
216
166
180
168
141
214
165
223
210
194
160
228
218
278
129
177
164
155
130
235
183
190
129
159
183
189
146
198
243
209
160
130
183
181
151
221
238
204
224
145
211
278
173
181
215
212
243
199
138
133
176
128
183
206
146
223
181
133
129
129
200
160
211
173
157
239
176
168
129
184
183
204
179
200
216
156
176
168
166
173
143
183
173
254
206
158
115
149
214
186
214
129
146
146
202
207
285
187
168
158
225
157
232
246
182
222
164
169
264
173
180
220
164
204
206
144
133
218
222
236
221
146
168
229
181
225
145
182
172
211
198
156
227
193
249
183
173
236
188
179
191
193
190
216
168
219
186
129
225
146
283
198
180
146
152
219
173
130
210
178
183
130
221
205
193
220
194
176
176
194
193
173
230
129
154
202
217
130
204
247
146
178
231
162
185
176
202
176
173
221
179
181
208
164
181
138
250
177
129
130
189
205
255
164
221
129
195
219
130
195
195
202
173
261
214
143
188
180
214
145
257
115
167
263
221
227
206
216
157
217
217
233
178
146
254
173
217
230
194
146
192
246
242
215
169
161
183
164
205
163
202
152
179
176
183
178
202
156
209
216
211
217
178
157
161
257
217
173
196
219
179
191
204
147
198
334
151
294
195
130
192
175
202
191
236
184
229
183
171
217
232
159
219
204
186
158
249
202
246
229
207
164
173
190
182
130
173
156
277
200
247
128
210
168
210
204
185
200
193
178
169
200
115
241
201
206
161
129
206
178
183
277
197
210
193
201
197
217
236
157
227
180
129
200
176
176
212
269
166
236
260
177
238
217
130
249
232
189
158
179
130
115
200
260
164
195
235
202
176
183
222
182
230
176
231
241
242
205
235
187
174
256
206
164
146
241
188
204
185
176
122
168
186
143
207
231
219
201
285
210
147
173
173
129
145
218
266
178
195
184
175
227
205
164
219
174
188
200
179
239
145
130
268
184
263
237
146
230
177
184
180
184
191
130
171
229
130
173
155
157
237
258
268
179
146
244
146
166
184
167
130
146
200
164
130
253
130
197
168
178
275
151
143
185
208
204
204
204
145
211
209
174
169
173
183
182
204
206
173
156
296
147
229
191
164
182
195
167
169
186
186
145
203
160
259
209
145
176
162
194
129
164
203
181
190
200
240
187
215
173
217
130
130
183
149
164
188
183
200
218
202
196
170
180
191
230
265
169
202
229
195
146
173
133
178
334
211
130
130
264
173
146
169
208
173
173
174
237
210
236
255
188
195
173
119
173
257
245
215
212
195
214
160
204
190
184
237
201
247
191
146
218
122
169
168
183
146
238
192
214
164
216
236
176
146
115
182
130
229
210
144
228
176
190
131
160
211
208
158
255
194
207
156
200
210
217
238
168
209
163
219
307
193
252
299
133
181
236
259
180
202
122
220
129
129
200
162
184
158
217
201
115
182
162
263
204
197
129
202
158
270
254
204
164
261
208
158
187
222
205
207
146
174
242
180
271
188
158
178
180
298
143
168
190
216
194
229
200
217
262
130
251
162
219
176
168
172
146
158
158
215
129
230
162
221
129
193
252
210
169
258
206
235
233
138
164
219
199
214
138
129
263
202
204
156
150
173
189
234
162
201
141
179
254
185
165
195
163
252
204
226
130
186
130
129
204
166
214
146
146
213
201
192
300
122
178
122
162
157
204
168
219
250
192
181
239
241
171
243
256
204
173
187
204
130
204
198
143
173
167
146
173
238
225
128
168
161
210
176
145
179
169
204
202
184
179
221
241
216
217
145
191
145
164
175
185
218
156
174
173
188
146
190
221
186
182
180
173
176
212
130
217
247
130
216
206
130
152
187
183
181
204
224
231
263
180
179
176
189
181
169
208
202
219
133
217
209
129
215
144
206
157
218
162
229
200
122
211
157
182
157
168
182
183
210
176
190
161
206
223
240
210
234
164
239
130
166
335
204
217
237
210
212
188
130
211
162
264
233
162
247
133
244
209
201
201
255
173
176
189
133
184
210
143
235
185
161
181
174
200
213
146
250
158
225
221
217
182
129
177
160
244
180
146
183
176
193
227
158
184
133
130
227
173
182
129
289
130
180
204
184
185
172
190
182
199
185
217
173
129
252
214
208
182
133
198
188
204
176
115
192
160
158
237
239
217
205
231
133
184
251
173
191
184
146
185
201
179
252
129
222
204
197
211
179
182
206
173
143
146
130
189
141
265
162
213
184
157
225
183
145
205
170
179
183
185
162
230
215
247
115
176
243
130
158
192
207
173
191
188
161
195
178
130
239
228
159
171
155
146
191
129
146
203
144
188
183
143
201
185
182
250
138
194
156
188
133
130
179
237
189
206
182
129
115
209
146
146
184
179
130
190
137
183
210
236
274
240
194
200
173
143
283
146
198
300
161
206
231
165
214
209
174
166
258
184
145
204
189
210
146
177
210
166
129
180
211
168
238
138
247
204
191
159
180
158
201
237
190
259
141
287
236
156
215
144
206
274
174
234
168
230
221
171
236
196
176
215
141
165
211
168
168
242
204
146
217
129
167
224
234
216
166
226
143
228
181
230
334
165
191
164
252
202
146
171
228
138
204
211
209
197
180
248
204
225
208
261
242
206
236
274
170
146
186
180
218
133
191
192
176
145
217
193
172
212
206
161
164
182
204
158
162
160
185
239
181
200
262
200
129
176
181
160
201
195
256
234
210
156
171
130
129
239
216
210
115
192
156
119
212
208
192
200
183
169
172
172
231
129
211
169
176
182
250
182
216
185
209
164
151
146
176
248
206
202
197
143
178
158
287
146
224
238
216
205
203
205
115
185
166
261
239
201
255
236
206
211
233
158
162
129
158
189
201
160
189
229
176
168
178
234
204
191
234
146
130
217
160
129
219
129
222
223
115
235
176
143
249
243
236
150
224
162
176
146
154
201
173
217
166
173
164
263
210
166
210
156
201
199
164
205
224
249
217
151
173
210
243
207
145
157
210
296
157
158
201
157
303
209
162
143
214
237
335
210
131
194
212
164
176
183
240
234
130
202
190
169
146
194
191
225
173
228
176
209
246
195
207
193
183
178
182
208
211
234
207
335
201
212
129
129
130
175
258
210
254
219
181
209
155
179
185
242
253
143
162
202
259
176
184
178
259
158
155
200
183
162
234
184
176
168
224
164
132
212
235
218
187
177
145
241
163
194
258
203
230
162
200
225
196
223
201
184
230
211
188
183
176
239
176
203
149
202
180
189
238
130
191
177
184
335
248
202
169
129
178
164
192
176
143
222
221
236
195
200
235
204
188
181
145
217
192
241
153
133
130
162
218
169
219
204
183
190
204
141
155
215
144
230
210
164
164
219
159
195
183
242
206
181
146
220
211
133
178
221
260
178
183
163
146
216
200
115
150
184
212
146
208
176
163
133
133
173
208
199
133
232
210
201
153
185
173
264
254
212
204
264
173
219
168
204
164
209
164
206
206
211
129
203
182
256
210
145
265
133
182
173
233
261
206
232
203
212
158
210
176
170
146
248
182
168
202
173
192
160
210
221
204
176
185
176
264
168
244
183
203
201
146
203
311
173
192
189
230
153
158
204
209
146
234
214
222
257
199
176
169
174
173
221
203
199
182
283
164
229
192
201
195
187
195
179
146
248
272
115
161
173
171
143
141
186
218
161
230
145
187
220
158
187
192
186
193
240
186
221
177
176
161
186
179
215
281
115
240
244
145
207
169
229
130
129
212
133
257
238
146
208
188
219
200
146
208
129
143
280
160
188
185
251
173
183
179
220
176
176
146
245
156
168
129
189
178
266
164
208
208
204
178
163
186
247
181
166
234
192
173
204
217
191
168
193
133
182
146
248
174
214
201
182
180
158
210
189
239
166
184
164
162
249
238
268
161
155
216
164
204
171
242
208
249
174
230
218
145
230
195
159
204
132
191
227
259
181
143
115
184
224
222
184
194
185
217
166
208
130
164
191
217
176
179
200
191
146
241
178
216
129
214
199
175
205
180
176
218
229
214
182
145
232
197
253
173
128
241
199
202
210
210
186
231
214
211
246
143
232
162
258
156
211
209
180
204
133
146
173
176
158
133
115
200
130
200
171
198
202
204
162
133
185
170
146
156
129
200
166
173
210
229
200
149
211
223
200
156
210
139
210
163
264
122
261
237
170
130
133
155
193
187
245
133
221
161
250
201
153
164
202
243
188
146
240
179
171
182
212
162
122
236
183
168
173
208
209
247
185
202
145
160
219
211
236
227
202
143
168
133
145
145
145
132
176
170
200
204
167
155
146
188
158
130
211
219
202
162
206
255
152
189
214
203
145
208
155
206
180
171
181
200
201
133
168
223
217
226
130
193
188
249
180
204
258
220
149
164
130
176
190
129
146
219
130
197
202
170
236
129
288
183
189
198
211
210
179
242
206
335
150
161
146
150
162
185
174
210
119
201
321
168
176
193
210
190
198
189
164
179
141
176
204
247
335
175
183
213
156
226
138
173
221
161
193
173
252
191
176
171
156
177
133
129
225
258
160
214
173
184
150
335
190
212
130
200
192
178
200
202
199
214
247
191
129
210
162
221
195
208
233
208
160
178
211
201
167
168
254
210
148
143
171
173
183
191
217
250
300
192
162
157
141
170
174
219
230
207
164
146
202
189
169
232
229
215
179
225
204
115
138
133
179
270
254
171
162
200
169
133
183
158
225
180
215
219
182
155
263
224
129
173
133
204
271
262
214
176
156
186
246
181
266
182
180
180
133
186
233
210
222
191
115
180
173
214
130
230
247
236
212
217
183
158
129
244
217
210
236
165
216
130
217
242
179
200
129
130
203
205
217
212
173
147
245
188
206
206
115
243
150
221
184
217
159
178
187
209
171
122
211
184
202
194
130
286
210
195
191
283
201
129
130
176
222
176
162
173
178
294
238
146
211
129
168
143
219
164
168
168
208
182
191
169
225
204
238
145
200
204
251
176
193
133
129
230
211
192
173
179
115
238
157
150
201
204
251
216
183
223
146
208
200
204
183
147
218
228
130
183
198
206
182
238
235
244
211
274
175
182
145
245
261
155
185
133
197
200
204
190
146
234
143
198
195
307
200
178
197
122
175
211
157
159
168
164
130
220
166
156
212
155
171
258
178
181
264
227
245
130
274
210
216
224
189
173
183
229
185
213
181
264
192
202
211
179
149
283
201
168
156
174
158
179
178
145
215
265
219
204
162
176
164
149
210
174
179
115
168
242
236
192
201
276
182
183
129
191
201
266
214
164
210
188
147
201
188
186
188
171
146
202
208
214
217
250
129
240
133
227
182
311
267
247
179
176
157
164
226
162
171
168
195
232
146
164
180
159
217
187
150
189
153
224
335
146
146
182
179
164
164
203
201
168
130
206
211
129
178
201
185
220
209
206
217
187
243
191
264
115
164
211
237
234
269
188
234
191
223
201
204
185
193
185
197
274
202
194
155
169
162
129
201
210
130
167
192
246
202
145
169
157
204
200
230
170
210
115
211
184
168
221
215
265
219
200
188
185
222
176
168
272
222
278
179
203
156
146
173
222
168
200
182
130
130
130
199
173
179
173
173
133
179
185
145
176
192
199
173
265
230
160
133
227
164
176
169
173
192
211
189
206
187
274
146
219
176
179
230
256
214
168
152
195
216
216
220
130
179
193
227
186
245
203
256
178
133
172
202
133
221
146
183
193
176
195
222
130
222
145
228
229
195
175
215
240
176
206
262
218
228
176
170
179
183
242
115
225
212
150
204
201
130
173
183
206
155
168
183
130
303
162
185
164
201
210
211
210
146
162
203
218
158
184
204
198
129
190
156
173
224
130
232
219
195
192
129
188
152
133
122
242
226
259
314
189
204
168
179
222
197
138
176
183
217
209
210
162
210
250
207
217
164
153
184
233
226
210
289
176
237
210
181
184
149
184
183
179
252
296
217
167
206
164
170
166
189
229
173
204
230
204
171
196
191
188
131
209
169
185
188
178
203
158
240
184
240
230
204
210
230
225
217
185
162
146
173
181
156
208
222
185
161
228
156
180
191
147
210
264
210
131
133
204
263
207
204
211
202
172
173
246
263
178
160
200
164
130
231
163
217
222
213
201
129
213
219
246
230
210
243
265
176
130
230
162
216
206
196
115
176
166
201
262
129
202
158
195
204
167
172
179
176
204
158
173
129
168
155
138
264
217
243
193
160
240
238
173
173
210
184
158
176
133
145
192
173
143
222
206
263
176
200
162
226
175
149
169
150
173
129
229
227
143
219
225
259
176
217
239
227
222
193
168
335
168
183
223
145
231
145
178
176
173
130
215
216
204
245
216
183
214
143
199
176
287
274
254
169
234
162
179
197
169
198
195
173
173
191
185
211
212
204
174
176
288
217
217
181
197
146
194
179
146
145
184
238
173
174
227
164
280
221
169
166
180
202
208
138
158
160
197
195
264
212
257
179
158
167
216
259
198
253
143
181
187
129
168
179
211
173
179
238
174
225
178
173
130
174
264
342
200
200
235
173
238
179
212
145
173
191
185
282
176
211
153
231
215
186
170
223
213
130
184
200
188
203
162
262
182
224
173
160
210
115
210
164
223
157
224
217
197
211
187
232
180
275
190
217
180
158
264
247
138
166
222
129
179
173
149
173
179
229
175
239
198
146
162
178
217
214
177
299
259
220
145
129
182
183
214
268
191
180
159
230
243
186
195
157
208
130
193
181
181
130
189
171
184
208
256
182
217
178
287
145
141
159
169
119
178
176
193
199
215
264
179
228
214
182
129
191
222
259
159
194
237
203
256
199
278
243
236
188
158
162
205
171
169
204
246
180
212
246
168
217
167
146
173
129
190
143
184
181
174
191
309
230
191
180
168
133
245
184
204
162
129
182
133
217
179
201
170
224
211
188
174
151
217
227
160
206
192
201
130
171
270
176
261
173
187
199
164
268
143
166
133
175
129
232
210
184
181
198
221
202
147
187
197
157
129
182
143
173
173
146
210
205
177
145
129
169
204
130
169
162
130
168
241
169
129
222
189
202
158
129
246
145
206
208
177
184
176
146
209
213
146
186
231
266
184
173
174
169
236
158
146
163
215
190
143
173
129
133
244
184
229
283
143
166
169
133
180
204
146
204
209
173
143
147
168
164
211
179
195
185
157
162
295
191
115
182
193
201
115
209
233
129
182
214
187
215
130
301
204
174
194
232
225
249
182
129
170
170
161
176
217
238
247
143
176
298
194
188
225
238
199
269
159
242
245
189
186
129
129
202
228
173
146
130
227
162
231
143
181
143
155
129
195
141
245
187
212
174
184
176
229
179
178
230
184
146
212
211
185
130
133
267
145
209
184
130
185
164
164
130
173
236
173
165
211
115
115
173
221
214
226
248
191
129
214
206
173
178
182
231
210
176
284
129
198
210
196
203
181
166
171
162
164
166
253
176
173
201
143
174
149
133
146
238
281
173
195
169
188
215
188
195
129
191
197
176
128
229
192
157
173
237
150
150
176
191
129
215
204
132
176
230
205
166
169
203
180
208
162
184
146
272
207
133
241
177
182
185
189
161
162
248
224
130
258
216
215
153
225
195
194
130
173
204
230
133
238
174
240
147
188
191
186
129
178
204
168
144
179
197
159
179
238
273
179
176
184
130
231
202
199
236
206
244
158
243
173
193
202
179
283
162
237
162
160
192
261
159
145
263
188
203
210
141
247
209
229
219
235
190
181
115
222
173
211
222
180
256
283
211
210
180
163
176
204
185
212
177
244
217
175
173
173
224
180
204
215
180
198
173
161
115
161
193
318
129
220
132
220
200
225
129
231
176
204
146
190
275
202
183
162
168
153
146
262
196
150
129
201
188
162
193
200
184
217
195
155
183
215
243
194
204
186
190
133
227
177
187
335
265
190
185
208
182
211
149
207
188
144
225
282
146
138
184
176
237
230
115
266
204
240
302
184
206
217
173
242
277
228
130
173
156
158
190
145
264
183
201
177
178
236
206
191
195
210
253
210
199
143
206
204
192
156
122
247
286
248
191
180
229
165
211
243
200
167
259
246
145
195
204
173
176
164
245
201
146
204
192
177
129
243
226
160
186
241
185
157
189
184
138
243
199
177
171
151
188
202
208
219
182
133
258
231
129
173
229
176
242
162
179
129
189
144
178
178
129
244
146
222
201
217
211
203
214
258
294
207
197
195
147
164
209
215
166
173
251
179
155
192
210
144
206
232
182
202
122
185
198
159
160
183
173
227
133
194
283
231
133
164
257
143
200
190
129
217
115
130
173
179
228
173
180
296
129
216
200
180
181
194
158
192
291
165
249
208
222
200
179
173
163
206
210
129
162
133
264
201
143
157
152
210
150
179
184
178
264
199
146
193
183
203
204
174
216
224
188
263
158
204
200
189
229
162
173
230
179
168
200
173
149
263
202
171
173
150
164
204
203
151
162
211
203
182
215
184
211
166
130
129
160
176
170
158
209
181
182
212
216
158
178
305
311
210
232
182
180
210
203
229
200
130
230
180
170
179
157
201
217
141
173
200
173
237
130
132
193
227
146
216
183
229
211
233
191
173
227
176
151
179
180
238
149
246
210
239
199
211
174
180
218
202
221
173
213
255
202
149
228
206
179
181
201
257
160
144
238
241
224
227
178
302
257
115
216
191
156
129
237
201
183
128
129
258
183
238
212
129
217
173
141
178
221
225
178
201
199
193
222
185
145
247
187
115
210
236
212
176
173
130
206
217
230
206
144
158
122
182
181
141
156
175
225
229
183
130
175
236
176
153
206
180
168
189
264
162
162
234
238
204
176
230
249
176
240
204
179
186
190
130
218
185
129
209
238
159
201
198
181
143
122
302
146
152
197
173
130
155
129
201
193
190
210
236
204
264
190
281
186
173
173
201
254
210
115
259
130
236
130
115
184
199
174
183
130
171
141
227
170
252
168
283
182
160
130
146
220
168
174
133
249
129
174
191
202
239
280
296
222
181
264
158
244
151
128
192
233
200
176
156
210
194
115
176
147
190
247
208
162
178
167
130
185
225
173
168
222
171
220
251
175
197
216
241
183
138
203
205
244
204
176
188
155
155
179
183
204
168
208
217
209
191
212
129
218
211
158
217
165
210
213
168
236
180
238
150
146
176
169
156
182
230
238
191
143
152
146
184
177
129
190
174
153
145
225
223
188
178
195
150
186
176
264
252
242
206
211
236
184
150
206
176
236
192
214
188
130
230
195
251
210
145
184
222
252
206
232
143
206
146
180
200
238
146
130
130
226
238
164
150
226
149
263
219
204
193
258
247
146
206
144
146
199
168
231
146
157
133
148
170
266
164
185
280
203
167
192
206
184
213
151
225
131
168
162
176
209
146
174
168
222
189
237
211
207
174
174
176
156
173
195
263
128
188
259
259
241
202
150
182
129
150
200
199
178
231
282
185
210
182
181
249
237
184
152
203
263
133
203
122
210
217
150
145
179
217
179
180
169
146
244
217
169
238
191
158
211
213
303
256
265
325
194
217
334
192
184
161
214
239
252
254
231
179
180
115
162
201
269
170
212
158
229
259
178
156
222
286
180
178
192
169
245
242
143
128
173
257
244
163
180
204
178
227
173
165
182
260
172
173
154
203
175
210
162
179
170
206
316
158
129
196
191
231
213
199
176
191
192
227
160
242
194
225
191
188
210
153
144
217
201
173
185
242
129
239
183
253
276
184
224
210
230
133
186
221
158
143
252
153
173
176
190
145
169
150
176
173
230
180
194
195
224
194
155
183
210
197
229
213
179
216
238
162
146
181
177
228
210
185
176
204
155
230
176
173
222
287
158
176
205
191
173
173
274
155
208
173
234
205
200
199
155
210
181
195
178
179
146
176
195
176
146
219
193
217
151
149
206
228
302
211
220
181
210
150
122
206
172
211
189
168
146
211
187
212
195
193
195
133
261
200
146
177
168
164
239
183
182
254
115
250
216
245
271
260
206
179
178
162
155
209
244
155
159
236
202
212
130
170
192
143
248
226
201
233
151
133
191
158
130
176
192
217
270
143
173
156
194
208
176
193
210
234
207
145
130
161
178
129
204
195
221
168
195
248
226
129
146
164
150
192
178
175
129
156
169
249
234
237
158
198
138
222
146
217
182
218
150
261
157
169
176
161
275
180
181
170
211
157
130
172
129
182
146
188
202
145
141
189
115
204
247
164
146
145
150
166
234
183
189
195
227
179
195
202
151
146
238
227
180
236
176
115
247
217
167
197
184
158
182
129
174
211
129
214
182
143
205
133
240
146
173
166
199
211
132
215
200
200
230
168
246
199
179
188
143
179
246
228
182
246
223
169
257
221
201
195
248
169
144
173
145
184
201
182
183
129
204
335
176
184
176
173
221
168
165
257
246
156
209
181
222
146
204
206
180
129
175
145
181
164
183
201
173
280
170
196
243
151
146
240
184
144
175
229
165
196
150
228
258
185
178
186
169
182
115
129
129
197
174
244
211
225
173
145
158
181
222
241
164
214
228
133
178
221
206
192
218
249
211
244
207
141
201
171
178
204
173
166
145
217
274
210
199
214
129
176
176
222
190
243
246
188
158
244
217
164
261
188
180
204
159
146
162
146
236
247
191
155
214
156
189
173
175
188
273
168
176
210
186
173
178
168
201
168
206
133
229
204
152
146
192
204
198
161
231
176
170
200
225
236
164
231
130
115
191
271
201
132
197
210
186
193
141
202
237
130
238
176
176
187
211
176
210
152
208
167
241
143
130
160
171
186
187
180
210
145
182
258
264
202
149
226
158
203
179
173
162
211
204
225
247
226
224
244
187
236
228
296
202
210
217
240
204
130
143
185
210
239
186
222
206
200
181
178
133
230
185
209
188
233
183
115
206
152
232
256
217
193
185
236
244
170
186
208
249
225
130
176
260
217
143
214
158
156
145
152
227
206
173
175
181
191
129
122
230
191
191
247
210
206
147
243
178
130
171
178
164
256
190
261
222
128
198
211
207
192
182
217
207
238
239
187
156
191
201
173
217
130
176
182
230
161
138
169
146
213
164
274
226
158
133
239
182
220
226
173
183
130
149
224
265
146
161
176
235
215
211
178
130
153
168
202
164
170
233
195
257
178
201
181
167
180
221
245
287
130
158
178
214
252
186
181
122
240
203
164
185
228
203
199
129
162
225
210
146
171
206
390
130
180
236
222
238
217
173
246
235
198
173
158
264
300
194
168
164
218
208
206
181
173
158
176
185
128
206
225
133
129
183
189
246
202
153
179
178
185
206
130
157
167
222
179
215
129
129
176
161
133
257
186
216
258
265
146
204
179
197
189
155
160
194
197
238
173
242
130
201
238
202
162
187
212
287
156
183
178
239
145
179
176
211
158
162
146
155
150
200
204
249
150
133
187
145
253
202
173
146
216
185
216
176
145
256
191
179
157
226
174
238
122
217
217
230
191
173
188
129
183
146
130
200
144
176
245
218
224
143
220
263
173
173
200
160
232
162
191
194
230
232
130
195
222
146
186
239
238
191
184
185
217
250
205
199
183
224
115
182
238
191
145
152
161
168
176
239
178
193
141
204
188
204
150
149
214
146
183
228
214
180
146
206
143
160
129
129
183
246
196
191
241
173
239
188
240
176
183
210
173
270
174
223
191
268
260
122
217
254
204
211
259
133
230
115
174
218
271
133
200
221
168
166
262
189
130
247
195
206
222
130
176
230
204
204
174
183
200
264
150
223
178
180
227
146
207
158
183
168
130
173
216
167
175
176
193
219
200
225
145
158
156
189
246
260
130
157
133
174
229
129
229
201
217
204
147
145
146
192
210
217
224
173
185
129
189
130
176
147
178
180
185
217
214
230
186
237
170
183
209
176
184
190
181
191
162
128
228
197
198
143
191
147
190
201
131
150
188
208
204
200
169
153
208
349
214
226
204
173
149
158
192
176
184
259
210
153
188
230
173
211
178
129
190
197
199
159
265
242
239
156
162
210
191
149
228
203
174
190
242
146
176
115
200
176
186
173
204
187
192
204
230
195
168
306
175
179
197
168
211
186
212
170
204
164
190
171
172
206
166
147
129
230
287
167
122
187
174
274
174
168
144
250
115
294
175
172
240
173
189
133
244
183
129
217
143
210
215
161
122
225
169
256
158
208
246
263
171
223
189
169
162
228
141
216
239
180
130
188
156
183
162
224
183
129
233
213
169
231
242
158
131
171
204
173
254
191
156
182
173
227
130
226
192
204
211
255
229
174
129
246
216
206
270
205
157
174
146
182
229
164
201
270
133
230
224
155
210
146
129
176
173
211
260
218
146
129
151
129
206
146
143
143
232
262
277
168
241
155
173
192
143
214
267
181
174
213
178
222
225
185
216
192
199
206
179
335
207
202
155
206
201
176
236
246
129
182
159
145
258
217
233
217
300
176
182
205
201
202
245
143
130
152
192
222
157
235
146
206
185
191
129
164
146
211
164
225
146
199
281
168
173
192
179
201
163
173
178
236
200
212
146
200
186
256
230
185
180
143
258
211
160
184
233
250
160
115
204
214
235
227
174
133
193
143
247
146
219
202
180
145
211
191
128
222
208
180
262
119
179
181
144
203
173
167
184
146
181
173
200
263
238
153
154
248
192
199
200
306
150
143
164
130
201
143
218
238
176
199
184
182
250
173
225
192
287
192
168
146
250
219
138
222
130
227
219
189
146
225
161
153
163
145
156
133
196
166
230
210
195
221
194
238
155
264
191
335
176
144
185
215
183
130
144
146
164
239
179
193
133
227
202
214
246
203
146
162
281
238
208
198
129
147
210
168
195
211
203
188
156
245
169
320
206
221
184
166
183
230
160
167
193
161
177
257
195
195
198
230
191
160
161
264
166
207
216
224
182
146
173
187
254
203
176
115
170
204
244
129
129
158
208
189
173
173
150
179
220
141
187
230
200
243
218
213
184
180
145
201
211
217
129
168
151
219
227
146
261
166
200
185
173
228
178
167
184
236
230
204
255
134
185
184
195
277
269
179
183
164
180
213
225
115
209
200
231
162
217
188
208
172
278
194
239
181
201
209
174
270
170
161
146
217
188
131
155
141
202
185
200
130
133
202
178
235
122
200
191
202
184
209
196
232
197
195
302
146
263
211
238
249
201
218
211
230
236
196
204
257
179
246
173
164
178
199
173
176
228
157
236
122
209
163
181
178
160
169
211
115
222
173
221
256
191
244
218
239
178
237
173
225
223
196
129
202
166
200
184
205
155
168
210
162
271
225
173
264
225
158
186
183
129
227
223
230
230
234
262
219
217
195
161
220
129
195
201
227
195
213
141
193
240
146
204
145
219
178
231
216
143
240
185
212
115
180
230
175
211
174
267
201
201
158
222
160
206
151
256
203
141
174
143
210
181
214
173
122
261
247
150
188
221
173
155
193
178
168
255
216
211
202
185
173
164
218
174
199
176
192
129
202
170
237
169
216
217
164
115
176
242
166
145
133
202
173
262
220
152
179
155
229
175
139
119
183
218
198
218
203
152
210
182
194
191
232
150
189
176
243
237
173
228
175
130
253
204
265
230
181
129
162
177
138
206
146
146
204
219
237
201
202
235
300
191
189
228
166
130
246
276
176
207
204
158
189
158
204
146
156
143
168
233
176
122
246
254
129
166
236
183
204
209
150
235
171
216
236
210
158
183
235
190
206
176
172
193
183
299
246
211
244
242
181
169
188
210
242
178
143
219
204
261
191
201
210
170
168
168
191
129
214
207
144
230
236
187
158
153
193
175
115
201
234
130
150
149
230
166
173
217
161
186
283
195
189
208
217
185
199
171
231
129
168
150
225
258
165
173
213
183
141
210
238
203
200
217
206
214
169
227
261
204
179
201
151
179
247
133
188
159
176
260
216
189
205
175
224
155
214
237
169
160
229
225
263
168
176
236
146
130
181
219
206
173
158
247
210
180
205
173
173
210
155
243
162
176
181
149
164
283
128
164
204
168
222
227
146
188
129
168
195
147
204
262
201
158
217
141
217
144
199
231
210
242
133
252
146
247
217
130
178
176
178
194
143
257
179
225
174
155
199
253
210
158
129
130
185
156
200
215
197
213
162
182
202
207
203
276
202
161
190
198
176
217
130
187
161
146
247
162
217
201
285
230
197
202
166
129
232
138
214
271
161
148
210
183
146
239
179
231
232
133
171
208
272
128
207
169
210
190
184
204
247
199
269
204
197
209
250
161
158
186
217
228
141
335
146
179
203
234
191
233
225
179
162
176
209
335
217
186
179
211
189
217
160
162
193
188
176
182
179
214
167
194
261
173
217
232
169
246
130
164
201
223
188
158
162
297
191
146
231
168
173
222
193
146
257
150
166
236
239
164
227
171
152
210
227
234
206
175
204
156
211
133
115
177
199
184
158
228
129
140
203
130
130
206
161
173
272
285
145
215
179
196
129
272
176
208
187
278
196
227
209
236
217
164
146
201
217
202
195
189
204
240
243
191
198
204
158
186
115
115
130
158
202
227
228
153
216
219
129
158
156
133
183
265
146
269
143
146
165
201
177
199
212
158
204
240
158
138
206
210
254
231
244
160
204
170
129
185
211
173
162
256
130
205
176
179
173
209
157
173
159
145
188
246
197
115
184
211
122
183
164
221
166
210
275
207
209
146
194
152
335
252
195
132
179
141
196
259
199
242
176
214
236
188
283
130
257
257
156
202
232
191
225
187
206
130
146
194
176
243
202
264
247
239
236
207
147
201
172
168
155
146
122
221
194
228
129
239
196
252
203
244
200
234
168
202
197
162
173
254
158
202
300
130
170
175
193
179
173
164
210
257
192
254
228
146
146
161
257
181
128
141
145
236
182
166
215
201
173
246
176
176
129
122
143
238
196
129
160
191
192
226
182
150
226
129
181
161
247
130
191
179
188
176
145
143
130
230
161
203
243
232
173
189
233
212
188
244
211
183
231
221
213
206
234
129
186
149
189
145
247
168
164
155
274
220
224
156
186
174
259
250
221
190
203
190
211
220
200
130
214
176
204
192
184
231
201
177
177
182
142
210
205
213
261
145
221
172
164
228
168
146
138
164
265
169
190
171
236
198
204
145
156
232
238
188
146
146
200
225
206
217
195
161
173
115
216
115
205
146
191
231
177
247
144
250
182
173
129
146
183
178
130
173
175
221
187
223
130
179
183
218
162
176
183
182
203
217
252
183
186
254
166
260
200
169
200
270
230
132
122
159
230
229
162
194
204
176
261
190
224
194
184
203
303
142
239
171
170
267
172
230
201
175
173
274
250
213
335
259
158
239
174
152
168
181
178
200
161
202
168
170
237
210
222
194
211
146
178
184
176
217
129
205
257
175
201
220
216
217
238
179
204
202
174
279
172
262
130
217
220
214
238
153
185
193
155
130
157
129
189
233
212
239
258
202
172
278
198
160
173
202
175
215
129
130
324
197
225
210
226
206
208
190
201
207
199
221
185
271
229
225
172
162
252
183
176
185
174
231
222
115
239
216
241
145
215
143
208
216
177
195
146
235
181
292
145
188
217
208
226
206
214
145
129
231
193
181
159
187
194
238
206
244
169
202
183
166
162
132
194
145
173
211
215
195
151
201
183
218
238
201
250
212
146
149
221
158
146
222
182
146
179
176
187
277
221
205
236
206
201
145
182
205
191
157
194
252
230
265
207
184
153
187
222
192
179
155
236
169
130
226
276
186
191
228
141
161
130
192
204
164
236
233
163
198
213
204
226
257
183
189
230
194
255
192
170
130
180
174
190
184
211
172
198
150
146
211
258
182
146
198
247
152
185
187
189
175
203
168
251
168
172
207
208
234
228
202
157
204
190
182
214
159
194
173
227
213
166
205
217
176
146
236
231
211
161
170
146
150
200
180
191
149
201
214
176
133
129
247
164
115
264
143
185
155
182
211
146
168
221
129
213
183
274
241
173
184
246
143
190
305
211
188
209
203
206
130
259
235
130
180
213
146
211
203
122
129
130
163
164
202
210
184
173
187
162
238
204
232
130
227
173
246
185
256
190
129
168
146
260
183
183
172
122
160
115
190
146
207
175
183
155
203
172
170
284
180
132
210
181
184
242
212
231
150
151
152
155
176
146
190
303
186
258
183
262
265
231
179
185
203
218
176
210
219
167
168
175
297
232
173
182
143
180
133
159
173
212
220
244
215
119
217
205
173
192
173
270
192
225
183
173
141
178
254
202
325
173
176
230
203
223
191
189
156
211
185
129
176
204
164
141
204
192
173
150
176
156
164
173
235
184
122
176
219
264
242
180
227
181
188
257
195
241
151
164
174
217
235
217
256
164
143
211
183
215
162
216
129
263
217
198
173
217
241
164
258
115
155
145
232
248
147
262
163
226
258
313
222
256
166
176
176
231
141
221
184
163
156
213
175
173
115
164
168
217
205
176
202
199
202
249
192
210
115
184
172
202
203
129
147
249
230
146
210
259
211
160
173
210
145
236
129
190
291
211
186
173
205
248
159
155
185
214
213
216
202
168
173
258
174
191
223
234
210
185
173
194
238
201
143
156
183
172
212
130
230
154
191
208
223
129
221
195
204
200
201
173
152
213
199
146
200
249
152
166
224
214
263
222
270
200
183
167
176
261
162
192
197
129
228
199
138
202
175
254
168
166
302
171
184
251
292
254
166
195
172
212
143
225
192
163
229
245
262
230
249
183
264
165
129
220
131
236
205
129
303
172
185
181
217
158
196
234
217
171
239
188
268
193
115
141
150
161
166
194
130
129
158
261
179
169
164
217
200
230
178
201
143
204
259
183
255
225
156
227
173
115
209
196
165
180
296
179
146
240
174
210
188
157
189
287
213
158
207
199
211
161
231
191
239
184
156
201
173
200
228
146
169
176
225
187
176
173
184
130
260
225
176
236
238
161
179
189
213
173
269
130
225
178
224
236
204
145
145
227
206
248
169
156
213
222
146
230
185
185
199
244
146
182
151
176
203
180
149
195
240
184
184
182
174
223
128
176
132
130
194
157
206
164
162
210
219
201
206
131
145
162
210
227
133
193
130
149
179
166
230
119
236
191
158
204
132
197
175
206
225
177
173
146
180
194
129
182
169
175
211
189
155
157
210
210
231
200
221
160
227
155
173
221
225
145
185
210
234
173
151
211
178
168
204
243
221
129
143
212
238
122
255
161
184
122
237
156
115
176
207
210
163
176
157
162
177
170
152
152
130
115
201
129
178
149
239
173
216
290
162
151
130
191
204
165
244
175
239
129
141
204
145
175
189
184
138
150
236
185
318
179
165
187
227
225
212
267
189
176
228
242
133
264
192
164
138
163
225
176
171
213
129
156
208
217
173
204
145
222
264
202
286
200
179
145
156
146
150
195
202
200
180
180
217
209
183
173
199
215
225
143
158
129
159
229
171
239
184
165
261
183
188
146
182
182
160
217
193
155
155
171
166
248
187
201
147
229
192
169
176
173
164
180
133
188
152
203
155
201
169
204
185
218
226
169
210
179
176
211
188
176
201
194
188
217
164
179
177
201
255
143
252
184
209
230
180
202
219
231
115
222
255
232
158
155
256
200
210
184
162
182
162
209
157
182
209
217
173
146
160
150
130
185
129
171
215
146
230
130
282
215
234
195
233
221
215
187
189
262
129
176
170
219
166
209
179
223
176
183
192
178
163
115
173
164
185
115
234
206
204
205
129
244
155
172
234
148
183
200
211
166
257
210
210
200
146
149
149
146
212
209
214
162
168
200
230
219
238
173
133
144
210
185
152
173
260
256
182
181
238
174
213
176
209
202
246
219
200
181
146
202
218
129
147
201
129
172
278
230
200
201
130
206
164
195
130
254
129
174
133
234
262
146
316
188
122
228
208
146
176
210
237
150
164
183
182
230
239
168
173
130
145
171
195
177
229
262
265
196
185
225
204
145
281
160
146
257
193
257
230
211
262
174
210
159
260
145
166
238
213
165
193
197
242
195
219
234
222
266
230
220
175
258
263
201
180
239
130
249
231
201
184
154
169
145
173
143
186
249
133
255
200
133
155
246
192
181
209
200
178
166
254
252
178
210
209
155
130
130
204
204
193
199
186
206
254
143
178
255
173
122
182
217
174
173
192
175
158
185
167
238
230
138
238
167
207
168
204
240
168
201
228
147
133
115
190
236
228
183
162
254
203
183
221
131
172
129
191
210
186
185
206
184
176
231
199
181
146
130
190
238
165
181
201
176
152
179
130
184
186
166
208
145
232
204
187
164
177
174
252
182
175
215
251
181
335
225
176
181
148
201
169
216
170
164
167
265
202
151
207
156
217
183
295
156
230
173
226
173
202
173
178
192
173
234
202
133
255
173
260
226
181
222
212
213
200
308
185
146
198
201
231
262
211
158
158
141
246
173
183
179
193
197
159
273
155
167
176
272
173
210
211
186
273
129
228
209
173
198
192
160
150
206
133
146
238
129
230
230
153
209
233
132
205
150
186
188
170
179
268
230
229
185
146
196
287
201
290
146
172
200
173
143
257
190
163
179
222
143
228
177
253
157
195
246
228
182
187
214
200
212
183
206
239
228
147
178
237
206
133
197
225
210
203
240
173
211
210
185
133
162
193
176
181
169
263
239
234
204
207
274
157
147
220
217
234
202
152
157
283
209
244
191
224
205
203
164
168
161
200
187
223
129
202
129
129
183
199
232
230
173
264
228
227
181
210
162
143
201
266
204
211
188
217
167
129
176
228
264
161
201
162
179
146
211
157
198
146
186
200
193
158
265
199
183
215
172
185
213
161
230
236
236
240
261
236
219
176
201
133
198
188
210
187
178
258
231
198
227
165
201
176
146
195
204
217
143
188
196
174
146
188
225
151
169
206
183
251
204
209
254
240
178
183
164
192
190
173
186
155
155
195
184
166
216
207
196
248
174
210
132
198
207
211
156
215
155
236
195
170
191
237
272
239
236
186
204
246
210
209
225
133
145
225
222
200
150
206
175
201
212
229
130
210
130
236
217
264
180
166
222
170
130
225
204
249
200
217
201
209
176
130
204
237
229
176
168
211
190
130
155
178
129
249
171
269
195
219
241
174
203
169
179
239
196
155
223
146
225
217
244
228
225
204
188
178
260
200
176
217
146
184
150
208
204
227
159
193
206
129
141
218
166
143
156
186
190
283
129
220
145
186
251
227
225
168
255
143
188
149
210
173
203
234
155
204
173
247
274
202
189
246
223
166
155
189
184
178
258
168
181
211
130
164
202
236
201
204
204
256
156
145
176
156
202
236
157
149
130
204
197
181
206
201
115
187
164
143
191
156
170
191
216
128
185
245
129
178
176
238
182
227
145
191
180
261
191
179
155
207
184
227
202
176
301
216
217
221
174
214
130
162
133
211
129
176
174
188
198
131
230
131
239
274
184
115
191
172
164
129
210
145
178
129
209
176
173
146
129
221
261
236
138
215
202
263
280
159
256
221
181
130
277
174
178
176
145
156
225
249
138
173
182
201
183
129
194
178
158
179
197
217
160
174
233
256
236
229
133
188
185
200
257
156
173
199
150
201
295
130
143
145
130
176
138
161
130
146
162
115
169
191
207
179
158
174
219
156
258
166
195
169
194
188
204
159
130
210
208
236
214
184
194
129
241
200
128
139
224
173
236
176
191
187
192
133
146
200
150
210
146
183
206
146
158
141
133
217
230
184
217
195
173
144
201
172
232
181
207
195
203
176
190
248
186
230
185
236
171
129
259
163
155
200
243
212
204
246
212
238
179
137
208
157
191
207
173
178
173
188
207
164
143
265
189
209
238
178
180
146
226
143
162
238
151
184
197
145
188
182
180
253
175
203
185
217
158
209
242
204
184
280
173
164
265
235
168
171
185
203
182
244
164
230
183
146
204
169
129
257
153
122
204
169
176
200
161
252
130
146
145
176
219
204
164
253
211
174
272
174
206
185
147
217
129
197
202
132
227
166
185
258
228
146
182
203
173
173
231
206
204
179
198
173
145
175
115
213
164
178
242
162
210
174
215
146
149
201
259
187
174
180
178
176
173
158
155
181
235
145
216
207
192
189
187
157
129
160
193
209
153
232
149
173
180
157
146
170
155
162
185
168
183
209
241
233
217
259
160
130
250
158
143
229
216
196
150
205
231
208
205
166
213
232
207
164
242
164
236
210
206
200
217
217
161
212
129
218
129
133
166
183
232
195
254
208
183
143
168
215
247
155
216
171
190
192
152
178
231
239
192
233
200
259
185
219
129
182
182
129
233
133
247
200
225
192
162
214
206
173
241
169
168
203
164
213
248
138
180
152
155
185
195
129
241
186
231
158
210
178
130
162
222
146
168
173
231
242
223
191
206
143
168
261
249
217
203
228
210
191
158
129
218
230
221
220
182
259
305
245
192
157
156
176
129
146
160
230
150
155
201
243
156
234
180
217
149
128
242
160
207
171
130
214
221
221
189
242
173
227
211
248
238
173
188
199
194
222
222
216
192
189
154
231
146
289
162
248
247
218
168
169
230
162
184
168
203
149
198
230
211
173
197
257
162
219
133
185
259
132
173
168
155
167
189
143
325
204
176
145
238
151
253
130
195
286
204
260
256
228
219
160
206
199
200
226
258
184
195
184
129
239
195
178
173
226
132
155
259
264
143
248
239
184
115
211
214
176
145
227
173
180
129
161
221
281
173
179
186
183
252
180
152
176
129
184
236
193
130
174
209
141
115
169
122
190
229
202
176
253
213
132
161
158
149
176
115
259
235
217
164
152
223
273
149
254
203
133
211
168
202
187
214
182
158
145
186
270
315
130
160
158
141
209
252
230
195
183
179
193
173
162
237
160
227
180
206
182
208
235
197
137
239
175
225
200
269
202
201
145
239
210
146
187
141
206
146
173
166
130
251
188
143
145
192
211
181
234
182
214
208
204
200
194
175
211
129
146
146
182
188
130
173
129
210
168
128
179
167
223
229
210
251
149
145
197
262
158
179
262
218
224
146
233
258
180
236
237
209
143
180
239
235
162
204
129
243
129
176
230
185
170
145
189
210
238
146
214
211
202
265
206
176
235
164
251
133
179
260
192
190
133
149
166
182
183
200
143
215
205
169
216
143
141
247
251
204
236
176
168
187
198
230
206
210
171
234
230
146
235
230
160
217
221
129
130
146
230
220
131
189
256
162
283
195
192
176
153
162
205
210
239
169
115
212
238
216
173
158
143
218
204
115
133
200
295
145
132
231
228
210
240
173
180
180
276
201
239
204
182
162
250
186
209
185
184
219
166
176
229
221
203
213
130
184
208
238
196
186
201
179
183
270
182
191
130
153
168
306
206
172
239
270
145
247
165
218
185
188
130
229
158
167
204
192
189
247
129
178
213
175
201
236
210
130
173
178
224
145
146
173
201
184
262
210
178
247
229
215
185
185
193
191
250
157
193
194
149
230
173
173
157
226
129
183
182
231
179
200
263
190
161
196
160
191
176
225
280
172
181
189
199
156
231
169
155
197
156
164
250
195
184
180
190
144
192
228
211
264
149
157
139
192
214
217
179
128
215
222
304
209
204
176
265
129
277
202
214
182
190
210
182
162
214
206
234
199
188
230
219
217
184
204
247
133
129
173
146
235
168
141
180
241
164
230
143
217
244
194
191
251
228
173
240
176
202
179
204
175
182
182
164
129
169
164
122
203
224
258
176
129
180
185
171
191
203
303
168
208
155
187
232
183
225
202
193
207
185
238
200
195
155
201
228
195
200
176
187
213
193
189
230
239
209
265
168
230
221
204
183
176
230
201
146
174
207
222
202
146
205
160
173
167
299
200
274
130
174
172
198
157
185
115
129
172
185
145
230
220
133
188
174
168
155
211
169
191
234
173
169
252
133
130
234
178
262
187
200
209
184
146
169
194
242
228
225
203
198
173
243
274
199
160
182
249
281
226
179
298
217
169
205
250
227
130
273
233
210
211
191
182
198
253
168
168
195
189
173
182
166
205
176
247
234
270
197
236
240
176
191
129
164
186
130
252
191
206
156
173
217
146
250
133
178
204
173
203
204
227
159
173
146
217
129
191
175
211
210
129
201
224
182
267
229
167
179
170
160
158
204
204
245
206
145
115
128
239
164
130
197
141
213
122
199
149
145
185
217
219
168
156
217
155
162
176
158
156
167
222
210
143
197
196
166
175
203
187
210
146
229
221
264
143
201
173
206
216
159
185
212
231
197
176
210
283
197
292
184
170
130
248
145
176
179
177
209
221
190
212
242
184
221
130
190
202
213
169
145
264
158
187
183
230
176
220
191
145
146
217
173
206
176
162
146
173
155
130
173
173
221
203
178
236
210
209
169
176
179
227
188
203
166
173
203
209
180
288
233
210
214
283
176
255
184
187
230
201
187
168
259
280
129
221
168
232
227
158
184
203
156
129
180
264
155
202
192
180
148
226
190
273
256
256
182
180
260
169
200
153
230
173
261
202
129
217
159
204
255
298
122
208
283
255
130
151
189
183
230
152
227
253
237
212
178
146
217
130
189
115
162
283
225
210
220
171
133
178
211
162
239
155
234
204
146
146
147
197
150
198
122
164
200
168
187
146
176
238
141
199
204
207
150
230
236
166
195
211
196
115
231
148
226
146
242
236
168
179
170
196
130
183
173
176
145
175
179
204
204
216
181
169
129
145
255
130
146
201
188
173
147
225
204
176
231
130
130
160
153
199
206
144
199
150
191
173
146
141
189
192
259
208
209
172
150
218
173
178
212
130
141
197
183
181
168
246
335
158
206
176
146
212
146
247
230
227
247
178
176
192
209
236
200
143
203
226
210
200
223
213
200
133
182
129
211
258
188
182
247
235
179
189
204
191
196
182
253
162
149
179
169
168
169
207
202
130
183
232
165
177
207
263
151
202
210
250
155
165
217
239
198
173
182
230
230
236
228
205
173
145
225
185
201
191
217
246
189
173
181
186
240
204
146
146
141
186
230
199
158
238
210
236
201
202
230
146
156
209
228
246
298
182
145
146
171
165
236
219
206
146
158
174
240
173
173
214
146
183
221
166
194
176
186
185
133
192
294
176
217
214
176
151
183
243
208
145
223
179
146
278
202
143
176
190
262
287
187
204
234
143
130
206
264
129
130
155
219
156
178
194
168
173
213
172
173
254
122
265
208
167
184
173
169
202
171
133
143
184
164
204
192
162
129
192
130
189
210
151
165
235
122
217
146
240
162
129
228
176
187
184
173
163
185
185
183
176
146
204
182
130
143
191
166
236
173
170
129
129
218
146
187
210
206
129
156
204
228
240
149
217
231
183
201
181
133
225
221
173
168
176
184
238
195
296
204
290
169
245
281
191
145
217
180
184
216
266
204
192
200
164
231
228
219
228
202
239
176
196
168
190
264
173
156
185
185
260
189
193
191
168
194
115
143
173
178
166
181
240
207
187
155
146
193
209
168
202
151
197
156
161
190
247
155
238
206
163
222
262
129
217
153
176
157
236
189
182
184
176
173
214
185
209
159
128
201
236
184
219
176
206
234
129
215
129
200
261
173
192
160
217
181
217
152
166
194
218
184
143
146
201
141
230
162
187
215
178
223
211
210
239
221
180
158
173
321
151
188
168
202
204
201
130
204
198
201
189
157
173
209
181
217
196
160
210
217
172
230
130
183
287
159
172
158
115
146
175
233
181
210
156
215
168
182
203
204
223
221
160
168
289
215
200
198
168
227
164
183
202
182
169
175
184
155
217
213
210
221
202
184
219
162
189
198
217
204
177
130
129
184
219
195
146
201
166
194
223
182
249
162
170
197
132
159
236
163
225
212
203
212
183
200
162
206
217
178
191
253
199
175
178
251
164
204
141
205
229
175
265
216
160
162
236
163
200
175
180
176
182
206
115
151
225
204
141
170
242
179
180
160
211
217
200
164
201
210
225
130
195
143
184
165
146
128
234
122
155
203
226
273
167
162
240
174
176
141
271
238
146
191
223
168
226
180
208
158
176
191
224
228
173
209
203
218
146
176
203
195
210
208
173
283
206
204
180
161
146
152
193
122
199
207
210
179
168
175
227
205
162
211
176
187
236
247
203
194
188
169
228
161
173
184
143
167
183
173
256
222
246
210
145
251
173
217
115
258
192
219
178
238
176
190
115
206
225
189
212
129
175
227
162
217
243
192
213
129
229
210
202
236
219
226
259
195
201
183
275
143
173
244
245
297
207
174
164
206
211
214
215
213
208
188
184
201
204
183
299
199
187
220
202
181
146
217
221
229
202
250
204
275
202
174
205
150
182
307
170
210
173
216
191
259
130
178
183
229
222
183
168
195
147
259
132
204
143
247
163
210
221
189
180
210
214
189
239
203
201
169
161
130
146
225
192
156
179
173
171
220
184
182
170
130
179
191
186
194
201
208
155
146
246
234
173
250
226
200
230
253
187
169
235
200
225
250
162
130
145
198
141
130
249
160
197
217
182
129
166
164
145
122
180
187
193
215
183
130
227
166
160
218
217
225
184
158
218
191
176
184
150
200
222
254
146
155
236
144
202
217
182
122
176
251
143
200
153
242
168
221
147
204
183
274
133
199
133
188
258
217
130
130
157
197
183
204
227
146
158
227
176
222
175
216
250
211
273
188
250
211
203
129
188
115
231
265
199
130
204
275
167
287
263
179
234
217
146
222
180
254
195
168
146
198
242
299
186
200
200
168
183
271
130
236
115
252
160
240
193
200
151
192
299
164
233
147
255
240
238
240
182
214
179
204
146
203
179
169
180
201
287
168
160
173
247
176
151
180
204
200
176
191
212
246
133
231
201
252
133
207
129
175
191
167
283
162
203
226
204
298
208
227
143
115
169
130
216
204
195
237
196
218
156
238
166
250
263
133
252
208
146
176
222
217
195
278
206
188
130
234
200
184
200
129
146
176
217
224
186
173
217
173
129
272
156
231
122
149
156
191
202
268
173
191
168
237
129
176
162
129
202
188
230
211
176
228
130
158
146
248
232
160
240
146
226
142
173
239
204
202
172
272
173
191
190
186
204
129
158
191
115
176
122
191
217
130
179
206
173
130
183
182
202
184
115
241
238
192
146
189
130
162
233
211
129
220
157
224
173
216
178
283
192
169
211
179
205
220
174
141
174
176
211
184
170
182
162
213
188
209
231
194
192
192
158
206
229
180
212
156
209
164
255
188
173
210
259
185
178
179
227
190
204
144
252
138
204
176
165
211
164
287
211
221
201
261
264
209
146
206
217
133
261
185
166
149
249
147
183
239
230
184
191
182
201
188
187
176
145
201
230
129
178
200
181
251
230
179
201
239
207
130
310
146
170
170
191
146
182
229
175
217
180
115
217
168
176
145
152
213
250
145
133
158
300
185
130
307
201
176
208
231
173
227
211
192
192
173
242
239
129
201
203
176
195
179
195
168
180
216
239
251
247
233
180
176
150
187
129
183
186
182
235
210
209
186
206
182
195
122
204
251
264
195
181
211
163
252
143
230
265
242
169
209
155
167
129
204
191
182
248
169
129
204
219
234
188
180
210
158
130
152
180
168
258
155
146
185
164
204
187
173
133
178
146
173
225
171
274
182
223
168
183
198
177
227
210
133
205
215
261
188
248
151
187
147
146
129
200
156
166
168
269
234
162
210
190
179
209
115
179
163
197
204
181
240
130
272
141
206
192
213
206
164
212
265
182
174
164
149
282
179
222
242
227
130
172
155
235
155
145
163
200
214
230
178
221
146
180
192
151
143
202
132
156
172
232
165
261
212
206
153
236
228
201
202
138
210
195
146
210
143
208
239
216
231
161
209
200
194
247
240
259
168
232
128
187
173
176
335
173
211
191
130
130
188
167
224
261
200
217
239
210
251
206
175
180
228
204
166
191
151
217
179
146
146
148
152
204
225
227
146
204
176
245
249
184
234
115
159
164
252
129
186
230
230
169
150
158
200
179
169
217
215
205
133
129
180
181
168
179
176
206
202
147
178
230
201
210
173
190
162
278
181
216
185
194
146
249
146
175
169
191
211
210
211
210
250
224
201
173
176
215
179
122
176
245
179
204
183
197
196
146
180
251
263
132
263
230
230
143
221
235
209
146
184
129
199
249
237
155
130
220
146
146
168
217
201
169
204
201
185
204
173
173
200
129
222
217
205
225
168
197
161
211
138
188
240
131
115
266
201
179
231
234
174
189
178
250
129
146
243
201
192
166
168
130
238
179
162
273
187
179
150
138
217
204
178
226
186
164
208
166
115
193
204
174
184
218
250
206
129
201
204
143
129
195
201
198
183
238
215
263
168
133
247
165
184
185
204
161
212
144
211
169
178
232
182
184
238
146
217
234
173
190
153
213
192
216
173
206
200
130
193
115
190
180
182
129
191
233
205
197
172
158
275
129
179
149
146
130
173
130
146
166
239
152
179
173
181
150
173
169
129
246
208
155
181
178
241
217
184
182
205
146
129
230
218
178
189
224
184
162
223
129
260
228
204
252
160
163
167
183
173
158
184
158
222
227
199
185
141
179
199
211
217
133
185
214
222
204
164
179
145
155
190
204
256
143
297
235
180
177
170
209
191
267
192
259
186
150
169
214
133
144
231
146
285
288
210
335
160
130
222
225
185
205
292
190
294
201
145
146
180
244
162
178
183
169
227
143
217
206
218
313
210
214
191
152
179
155
166
308
122
193
209
215
166
225
176
185
195
146
169
179
206
234
217
231
254
131
206
145
185
206
231
169
133
162
262
158
221
231
236
185
149
133
209
138
226
164
187
166
190
115
122
160
150
143
129
173
192
171
263
219
172
156
181
236
170
260
247
170
178
166
168
146
263
217
204
192
300
272
206
174
150
200
244
133
237
246
149
169
174
151
177
309
122
211
187
182
173
264
133
153
238
210
231
183
151
133
238
155
176
164
180
248
150
211
133
204
153
210
146
230
249
133
231
165
115
146
224
171
146
185
230
173
178
208
190
156
170
146
242
217
274
182
190
247
181
299
217
130
230
217
203
210
178
130
209
157
168
229
217
212
205
205
146
133
145
130
227
162
173
216
183
162
205
244
150
277
182
146
170
205
210
216
203
202
252
161
129
164
212
243
204
242
202
181
160
221
176
176
161
143
247
166
219
146
184
181
241
158
192
133
172
213
197
141
158
214
166
183
231
168
249
180
182
191
129
141
212
230
130
133
177
276
226
168
189
234
176
285
217
159
133
203
207
146
166
205
146
191
146
187
184
206
201
225
187
173
220
204
221
209
180
216
172
158
214
210
194
184
237
214
185
200
211
130
162
192
218
206
233
252
178
176
183
214
241
194
269
211
201
173
150
202
173
229
184
245
210
184
230
253
217
115
193
173
204
143
129
204
227
184
214
173
186
169
176
171
201
201
266
138
176
183
248
206
119
282
166
169
191
215
146
283
222
200
209
176
227
211
176
217
210
181
254
185
222
176
195
115
217
258
236
179
211
239
210
153
206
144
179
205
169
157
202
264
179
141
174
173
180
184
130
189
152
211
172
259
211
189
146
191
209
253
171
145
161
146
144
210
160
230
222
191
206
214
237
180
168
204
238
196
214
238
184
186
171
185
197
176
146
250
158
129
191
168
180
168
217
195
229
204
166
217
229
256
194
202
182
203
172
176
130
183
255
207
141
164
251
171
204
238
185
141
194
168
201
173
179
203
229
224
182
204
184
212
187
335
181
204
227
176
164
238
172
206
200
248
223
203
146
242
220
204
195
204
166
178
236
194
201
166
173
151
212
192
155
215
163
171
196
181
205
209
220
191
130
209
171
115
172
138
227
201
168
303
225
209
169
191
213
186
215
115
251
230
189
201
164
183
155
133
129
234
335
224
191
268
206
227
194
204
130
316
129
227
164
211
214
184
239
184
130
162
204
143
180
200
149
143
184
236
130
183
230
179
210
217
188
172
168
151
173
182
237
159
200
166
156
158
243
200
168
115
251
230
169
170
229
285
181
173
133
191
256
230
212
133
265
166
146
186
173
210
157
178
141
146
173
183
143
176
182
181
188
178
210
206
174
217
204
146
210
164
174
202
238
195
224
222
236
180
201
129
183
209
215
181
229
191
234
233
184
181
181
181
217
186
146
179
234
260
244
176
166
186
248
216
129
256
204
193
146
189
214
160
115
181
225
228
278
260
164
231
210
243
166
211
234
218
257
145
164
162
199
230
200
200
265
259
242
207
214
166
171
185
208
190
146
254
171
141
202
195
213
176
189
163
185
183
242
184
188
288
198
173
240
264
166
230
164
129
266
130
252
176
188
160
195
219
145
179
163
176
175
173
182
245
155
244
238
183
216
129
188
217
217
193
146
155
130
166
195
206
217
178
119
202
199
156
240
263
158
169
184
225
187
183
216
184
115
115
236
281
184
205
201
197
227
115
170
206
247
209
187
248
176
185
264
226
204
150
153
171
234
221
261
157
198
146
257
185
227
248
181
191
129
129
167
204
246
181
227
169
141
158
207
173
176
227
211
235
173
201
191
180
133
260
189
128
192
167
152
146
191
145
151
206
222
146
210
217
246
119
147
179
173
236
197
234
173
168
162
250
202
144
267
207
200
204
244
119
129
209
171
206
220
240
283
193
185
202
207
257
242
214
173
221
266
213
188
210
208
242
145
215
146
214
208
207
177
176
162
130
165
170
239
217
176
193
187
176
241
210
208
191
166
216
204
138
184
213
294
237
246
180
187
164
155
157
217
214
115
167
202
147
153
200
264
174
282
214
173
183
130
216
129
242
217
115
178
187
176
292
209
200
143
215
173
216
272
176
130
191
129
164
157
161
206
200
155
122
179
224
185
241
207
189
181
220
212
163
211
209
158
210
178
171
159
171
192
148
170
202
306
178
138
145
181
162
227
198
146
156
122
266
146
122
163
143
201
184
132
190
201
178
185
141
201
200
186
173
220
147
146
190
231
174
180
173
175
204
187
170
210
176
202
232
256
184
128
133
211
178
149
187
176
147
211
143
200
276
143
148
250
210
174
128
173
188
130
222
197
229
262
144
130
162
173
178
178
168
141
158
192
227
158
210
212
191
229
176
246
208
239
214
146
204
143
130
156
227
212
234
202
176
259
151
144
185
203
129
152
229
210
146
137
177
146
213
186
230
222
164
239
324
257
185
152
173
179
164
206
133
303
258
160
179
201
209
203
225
155
151
203
224
176
129
242
204
213
176
246
160
283
206
211
213
246
236
162
129
222
209
192
191
194
197
263
191
143
204
203
129
138
176
176
251
133
260
205
260
233
240
182
195
189
145
221
119
217
176
306
168
146
212
204
143
214
218
186
202
239
192
138
164
236
215
204
209
172
220
173
247
172
261
187
146
146
242
162
235
182
179
198
204
208
247
199
234
216
222
176
225
176
204
221
238
199
195
222
130
207
181
185
180
205
228
215
162
189
192
138
164
202
143
174
176
143
130
169
173
211
217
192
173
183
211
190
162
217
199
115
175
226
247
234
238
143
194
233
129
130
224
204
228
176
231
166
163
216
175
219
199
328
191
320
174
210
143
210
164
205
192
130
156
240
201
181
189
164
210
176
185
169
192
239
216
146
206
159
170
230
209
200
250
208
205
203
202
211
174
183
130
115
166
183
130
155
147
238
190
186
184
218
201
180
263
180
175
245
204
160
207
146
214
145
170
161
184
227
225
129
185
194
129
178
156
202
230
188
335
217
130
129
164
176
210
180
217
185
130
181
172
175
220
130
188
176
260
185
160
180
230
185
211
274
219
201
200
122
145
191
157
166
200
171
172
155
149
199
173
281
188
158
182
129
143
185
187
158
221
227
203
234
266
167
115
164
150
144
225
217
201
143
210
202
141
179
194
176
213
215
222
211
222
155
129
203
201
150
163
198
224
234
115
119
173
208
221
149
176
235
173
208
171
131
231
168
204
145
263
141
185
206
175
202
162
215
262
183
251
167
258
172
175
209
239
251
181
195
149
283
207
200
199
132
271
191
211
230
239
222
197
156
240
275
206
239
228
216
169
273
156
212
221
176
143
182
162
158
259
158
237
157
193
210
225
183
210
172
146
206
213
158
191
217
206
217
184
180
224
270
181
151
209
173
173
190
203
144
150
183
191
241
243
173
246
182
146
183
180
198
173
229
238
177
153
178
217
162
172
176
145
146
208
184
194
180
212
202
214
192
229
211
183
141
220
129
180
236
216
222
200
145
199
129
201
180
184
178
212
189
145
133
155
176
202
170
179
203
177
167
225
174
173
147
162
184
150
303
311
171
235
176
214
195
221
184
227
220
216
202
251
195
222
231
273
192
176
213
219
245
171
222
200
144
164
174
212
173
133
212
177
176
181
273
242
165
241
176
204
155
239
146
195
146
206
182
206
198
255
200
147
200
186
130
162
129
179
189
115
210
168
222
212
143
146
204
210
190
210
230
172
129
223
178
249
204
161
265
152
190
185
230
145
182
202
130
130
187
203
205
115
182
175
180
187
232
228
133
173
155
173
197
307
168
172
155
177
159
244
173
128
206
210
195
204
171
167
169
182
184
206
146
161
282
150
150
168
204
186
130
236
176
173
283
145
130
158
176
151
173
130
200
164
130
219
168
180
249
157
157
230
201
186
208
259
264
159
149
149
183
217
182
173
210
145
217
238
180
190
185
181
184
229
199
146
201
228
198
193
266
219
143
207
287
183
192
236
188
204
160
187
119
200
222
218
200
176
189
141
207
197
150
254
187
162
249
195
155
229
169
238
146
261
221
194
138
240
224
200
227
189
208
164
168
188
270
180
205
173
178
173
192
173
129
176
200
155
191
241
144
182
176
153
138
235
160
209
183
178
171
191
275
183
152
204
239
201
155
173
249
173
207
115
191
287
129
202
173
312
226
296
129
202
229
132
129
247
145
160
176
179
227
141
188
242
133
217
196
184
216
179
230
179
242
214
211
222
220
261
212
210
207
254
182
166
282
257
122
264
172
164
180
173
133
166
166
164
247
186
178
186
146
191
173
214
335
172
181
173
210
261
151
130
258
184
184
256
185
185
187
204
153
252
209
133
181
173
209
192
182
197
155
210
185
173
173
179
267
173
177
164
184
149
152
156
150
258
225
143
176
167
185
247
191
202
239
261
214
226
201
225
194
252
214
243
200
145
157
163
191
239
213
214
236
161
227
149
230
211
228
214
170
203
155
230
168
197
168
209
178
209
234
245
176
189
238
171
129
208
173
133
274
164
179
195
195
168
218
171
184
210
199
183
211
189
227
182
211
184
130
198
236
162
149
129
129
240
179
141
235
213
240
232
180
200
143
185
146
185
129
185
129
248
201
129
158
150
173
176
165
149
210
234
155
160
173
176
168
192
179
200
196
156
173
267
181
202
145
211
146
184
145
183
205
190
240
132
217
221
194
176
237
215
157
206
234
228
168
246
225
247
197
246
188
164
192
209
307
233
239
172
204
175
138
156
204
187
228
211
190
181
179
211
184
264
225
233
130
156
160
177
130
189
224
186
247
191
266
191
143
202
171
180
176
267
207
242
274
217
143
230
173
151
133
162
202
129
164
186
165
204
237
195
231
210
129
200
145
179
176
204
129
146
155
222
218
228
129
203
129
179
297
146
164
235
230
328
130
221
130
130
181
201
168
220
132
174
210
256
166
186
192
186
223
222
174
213
179
200
286
210
179
182
179
203
216
213
185
226
206
183
184
213
203
181
278
234
180
180
179
179
198
183
130
157
172
234
200
202
130
218
180
130
188
189
227
115
158
220
239
179
143
191
266
184
185
192
238
234
146
162
214
226
194
187
156
179
222
210
158
216
184
201
225
162
168
208
217
173
249
259
192
208
184
211
195
115
119
204
199
154
129
245
195
182
176
149
239
188
174
171
155
222
170
239
272
235
176
181
208
191
194
223
130
199
282
138
210
201
197
204
257
266
210
176
178
156
166
183
264
206
206
191
273
143
200
171
194
236
115
148
152
191
129
129
179
157
171
164
297
223
176
335
174
130
247
264
146
186
193
208
173
216
210
188
240
223
195
210
129
165
155
204
210
230
204
218
130
247
218
130
176
129
160
130
149
195
158
217
244
220
242
141
173
210
258
215
133
217
203
195
130
162
248
210
197
239
164
203
231
146
246
188
130
156
162
164
234
213
214
162
141
188
146
115
194
176
210
176
204
145
129
225
180
133
216
170
192
143
156
204
201
283
233
182
168
173
130
146
176
171
146
225
219
146
221
181
189
200
173
272
248
193
171
191
129
175
130
158
250
255
194
179
209
173
162
238
241
157
264
201
274
210
143
169
188
240
195
220
139
188
163
149
150
132
184
210
227
186
211
205
230
217
153
228
193
239
186
184
201
182
224
199
213
211
251
186
183
146
176
206
186
146
170
205
203
235
160
115
221
191
191
245
165
230
184
238
186
158
236
228
228
174
129
284
226
146
225
169
151
143
180
146
206
225
163
184
179
149
172
176
156
234
195
221
146
192
143
171
145
275
205
197
225
176
199
169
240
180
191
211
145
184
192
130
222
281
211
205
177
204
172
210
198
245
277
237
203
168
256
204
146
213
210
204
190
186
200
185
190
187
201
207
129
188
227
176
179
252
229
226
129
172
208
178
211
206
211
264
260
205
185
133
287
160
196
204
151
292
171
146
167
182
210
122
182
217
194
217
185
241
115
202
218
158
201
206
169
129
186
191
246
171
218
180
146
133
211
129
191
259
130
218
186
219
183
167
162
227
212
185
222
289
130
145
128
195
238
208
178
206
214
145
181
211
184
186
217
181
205
184
231
238
269
239
243
209
205
256
145
225
234
238
228
146
178
213
180
186
236
211
195
167
178
276
158
203
271
141
200
195
212
213
217
138
156
173
168
223
164
185
143
225
229
207
189
195
145
189
242
255
274
244
130
302
227
179
182
217
129
182
161
219
202
175
181
184
146
182
236
227
207
183
246
162
177
179
191
214
240
176
178
130
201
222
158
217
176
167
189
133
193
208
261
244
253
146
239
185
214
213
229
231
217
162
239
180
177
168
115
195
172
166
288
198
143
216
202
217
161
226
229
220
176
164
217
218
245
173
141
160
236
146
164
183
173
147
206
207
247
222
162
238
145
267
278
209
205
185
217
191
183
172
258
182
209
241
217
236
218
146
235
242
209
193
221
183
162
132
186
210
158
146
158
217
184
225
168
214
200
274
258
160
156
183
173
204
202
184
176
158
171
225
230
176
143
203
183
230
183
222
130
202
204
248
260
180
149
152
246
199
164
209
217
173
210
246
146
222
145
153
184
122
182
246
173
162
203
186
204
129
179
182
192
176
173
197
200
129
133
173
200
145
173
221
191
188
140
166
173
158
193
202
203
174
210
195
238
149
161
206
168
220
191
202
130
138
130
202
133
161
219
170
262
174
115
174
172
156
168
180
146
173
155
115
172
204
156
145
150
269
191
138
147
204
144
210
237
169
251
157
143
225
247
329
206
162
192
193
145
204
160
202
240
115
153
143
181
215
200
183
161
143
162
179
188
206
255
227
141
161
246
220
185
133
191
241
165
129
210
221
130
244
210
161
186
199
182
162
224
211
176
149
164
182
171
162
166
248
183
223
233
236
172
182
168
264
225
179
188
199
231
224
264
222
195
147
230
201
182
152
173
232
139
200
143
211
171
172
204
141
122
176
176
300
187
204
184
133
179
201
225
190
251
232
220
129
203
190
231
225
162
198
176
176
219
200
266
211
171
237
201
176
193
179
129
166
130
162
211
217
271
141
186
129
160
179
191
133
214
222
184
261
145
245
208
205
257
169
173
146
204
190
162
164
217
184
167
146
211
214
272
185
206
230
236
201
119
186
165
173
224
182
201
184
202
205
141
115
193
145
189
176
239
217
183
259
197
168
182
184
176
158
184
201
193
176
130
173
204
157
206
219
200
183
173
184
191
173
242
168
166
217
214
213
202
201
129
264
176
151
210
199
176
255
159
204
217
191
185
147
198
232
202
239
159
235
252
270
147
221
157
202
146
130
173
133
189
246
181
129
184
129
182
165
150
265
218
201
228
230
182
183
243
201
185
156
164
227
227
181
173
236
184
184
115
264
287
173
208
222
133
175
180
205
210
158
170
130
196
201
160
176
241
129
173
206
196
229
248
173
115
180
138
228
204
180
178
170
169
130
192
264
216
200
129
158
230
207
178
239
230
155
223
210
186
201
201
115
183
212
206
206
129
157
199
202
146
184
222
230
238
181
178
160
185
122
181
226
143
314
141
129
200
210
217
214
207
178
164
175
204
211
163
182
235
155
129
257
242
285
214
190
151
283
141
239
176
162
178
144
212
158
255
176
145
243
176
170
183
264
162
166
180
240
251
157
250
133
168
180
169
200
173
215
233
161
201
151
254
166
191
146
201
226
264
179
230
143
206
130
242
168
225
234
251
149
182
203
180
212
146
209
176
249
146
189
156
201
184
145
214
200
171
199
130
146
230
200
129
206
218
174
129
211
159
202
129
167
164
129
213
204
193
195
156
145
150
203
190
227
158
150
177
145
210
173
209
252
145
170
130
158
186
146
146
182
149
191
132
130
229
204
182
173
190
225
202
239
160
130
204
184
224
296
278
197
210
176
211
173
176
225
199
176
115
199
242
168
145
227
209
229
235
184
180
141
244
143
156
211
155
160
214
252
235
251
179
222
236
145
197
146
179
173
231
188
191
179
146
171
236
167
149
210
256
216
178
155
163
200
228
174
173
133
185
160
130
168
132
179
176
181
264
183
191
150
155
208
283
173
146
166
211
185
156
205
155
191
195
191
204
129
246
210
168
221
143
184
227
240
285
259
189
231
115
209
156
183
197
253
130
150
175
168
133
133
165
131
202
164
264
178
204
207
304
156
221
180
168
205
130
191
202
298
205
176
218
254
176
211
192
209
217
193
199
173
204
247
173
115
143
146
205
250
150
159
143
161
181
160
192
181
245
129
180
185
197
173
178
178
206
200
173
173
203
257
225
191
206
179
187
130
209
133
335
183
230
259
173
217
216
168
130
242
213
209
205
198
181
130
227
191
243
193
130
176
205
221
150
141
169
238
168
204
252
274
161
162
208
173
194
239
265
186
185
181
199
177
202
138
221
176
190
235
229
227
212
215
254
130
201
172
115
169
216
202
180
206
195
173
166
236
143
141
243
169
176
204
184
209
238
173
252
188
190
132
227
230
225
239
211
295
149
294
208
213
210
218
129
206
202
146
179
218
230
201
222
299
243
271
216
130
173
204
201
210
176
156
193
248
150
163
146
183
264
184
202
215
173
236
201
176
173
168
225
263
129
261
214
190
214
227
155
158
236
240
166
230
237
129
168
320
196
150
180
261
200
200
162
141
195
115
217
186
199
274
211
198
176
244
202
195
141
175
180
219
183
189
227
199
181
129
216
154
178
197
176
252
173
185
176
260
173
209
169
202
230
211
190
204
238
227
145
156
211
300
186
169
200
152
209
207
185
176
146
203
138
263
209
145
229
193
210
133
209
177
231
180
219
212
115
167
231
230
195
162
211
200
223
230
209
176
187
155
176
184
184
335
200
130
169
227
233
210
214
211
143
176
138
128
122
192
218
130
145
189
130
173
192
176
179
274
230
205
173
206
201
188
224
226
129
230
239
162
182
153
236
181
200
180
178
263
235
196
216
173
303
206
179
176
225
203
208
214
182
162
178
176
214
143
206
171
176
187
184
164
203
143
253
200
238
215
246
150
122
174
168
250
133
141
168
176
210
237
204
198
211
177
164
207
179
129
206
261
133
202
249
164
198
210
239
166
147
170
215
145
146
174
192
173
178
180
264
204
222
203
250
130
129
150
158
195
184
166
155
162
243
209
179
171
173
162
173
155
253
173
179
143
212
204
186
204
158
146
214
141
209
198
214
241
200
202
198
231
186
184
166
169
130
230
252
185
203
205
162
160
182
190
146
221
153
129
229
130
160
129
204
200
129
210
230
247
221
254
167
174
172
217
168
227
172
182
149
216
173
224
173
217
179
145
191
168
155
222
214
157
254
179
115
204
217
260
211
146
212
249
207
157
189
238
209
189
185
185
155
182
299
231
130
173
234
210
225
184
184
206
210
157
199
161
155
149
278
201
240
157
138
225
253
176
190
138
173
182
239
219
143
215
254
188
130
311
184
208
143
239
180
188
230
168
265
189
200
211
156
158
130
179
168
203
163
217
181
246
210
200
216
240
178
177
191
150
172
173
228
174
201
210
183
259
260
171
267
184
204
133
138
286
156
164
200
202
115
244
236
212
169
201
235
115
264
202
254
172
267
133
230
138
204
217
158
129
144
241
167
202
189
199
204
227
156
216
184
214
187
210
133
248
146
182
170
264
187
206
151
148
150
204
246
130
258
184
221
184
210
161
207
181
214
211
174
191
231
215
204
225
239
266
156
324
129
130
173
141
156
211
198
176
230
236
145
192
252
187
189
263
178
141
208
206
115
150
256
176
182
200
204
183
241
172
138
200
183
204
274
188
199
221
171
188
174
208
210
215
194
155
230
237
176
316
287
208
162
168
176
186
201
184
184
239
205
190
252
132
213
184
265
200
166
211
184
129
189
239
187
225
194
150
147
249
194
149
173
247
174
300
192
171
233
179
180
182
235
171
225
201
215
280
178
146
209
194
202
145
202
200
236
232
230
146
246
168
188
231
129
232
204
156
190
187
202
159
129
202
299
218
191
146
193
129
220
168
176
176
200
243
133
182
222
192
157
204
182
182
138
173
128
184
176
173
173
234
191
264
184
217
176
227
115
168
129
258
172
161
183
200
233
169
145
179
173
157
146
244
204
241
274
139
145
278
182
132
235
190
183
207
186
275
182
191
156
129
335
183
171
182
176
190
179
350
183
146
230
186
181
149
158
180
192
133
176
130
145
193
174
215
196
129
176
158
217
171
182
180
218
180
247
184
193
180
202
228
283
129
211
233
217
184
169
183
182
204
166
191
169
204
173
147
166
244
202
176
115
218
179
238
195
144
204
200
190
262
194
195
195
216
205
129
224
176
227
247
179
233
234
145
171
259
168
207
155
230
178
217
177
217
129
193
214
130
234
184
217
159
282
179
203
169
182
194
130
195
151
212
227
179
176
235
200
184
184
129
203
160
204
184
158
141
176
242
230
129
273
145
158
230
238
115
241
130
131
199
191
210
133
247
122
168
294
225
162
176
169
179
143
143
160
175
138
183
133
174
192
204
195
208
217
202
177
178
143
162
185
202
265
167
181
174
143
176
181
191
138
190
225
213
197
234
269
119
176
158
129
223
237
132
239
173
201
204
180
166
181
211
160
210
146
145
158
160
210
130
212
152
169
173
176
192
238
179
146
210
230
182
176
232
238
188
159
166
222
240
179
192
164
191
210
253
167
182
211
214
204
173
198
130
221
208
211
228
191
214
277
202
225
205
129
115
138
180
222
248
156
222
184
193
240
260
255
199
185
300
143
193
176
236
251
210
144
129
216
236
211
179
179
225
179
195
191
179
202
183
225
212
179
216
200
227
217
208
203
200
173
215
207
250
169
204
160
129
220
188
228
166
173
130
199
182
179
208
233
180
146
173
185
194
164
180
200
145
145
240
211
233
228
162
211
227
259
239
150
264
173
154
186
183
133
170
179
222
130
224
193
129
188
238
174
172
115
180
286
252
187
254
245
202
171
187
130
261
201
158
200
217
230
193
249
151
213
173
183
169
153
169
173
237
168
176
145
232
192
188
173
204
208
235
178
181
162
255
160
203
239
175
192
277
239
188
226
130
243
183
260
156
220
247
185
160
205
190
239
129
204
258
204
212
185
202
298
145
115
225
199
129
174
210
168
269
162
252
192
204
174
221
182
143
129
230
146
155
211
196
179
147
180
198
188
145
157
141
222
206
115
151
193
176
192
171
237
189
233
145
165
176
240
156
202
230
163
229
176
151
211
232
191
230
239
129
201
229
145
166
237
173
210
166
167
184
210
235
158
283
176
162
157
206
173
288
224
203
173
196
225
297
187
171
178
189
173
234
218
235
145
146
244
146
260
176
200
274
189
184
182
141
219
204
217
204
262
129
162
131
176
224
156
214
191
169
169
239
158
259
185
115
179
184
159
203
143
155
190
234
172
194
170
223
156
146
205
186
218
244
215
201
246
238
238
207
133
188
259
163
198
186
168
255
186
204
122
182
176
173
177
183
206
164
263
168
173
212
191
157
196
176
188
176
232
228
214
181
164
143
222
180
176
152
187
176
225
230
209
146
164
211
180
267
210
262
176
164
167
211
167
169
155
138
302
211
150
235
254
161
210
255
129
200
184
212
178
203
230
145
177
187
193
214
179
242
146
225
244
220
212
179
166
184
236
335
141
162
199
156
155
219
202
129
255
130
184
129
227
214
187
181
198
188
213
176
210
150
186
239
133
146
179
228
190
133
188
196
143
181
244
195
257
187
210
249
141
173
320
217
248
197
256
222
201
182
147
274
141
180
149
215
165
146
198
176
239
182
210
145
256
230
187
211
174
192
252
150
286
180
209
227
201
224
186
225
187
195
247
173
179
167
225
263
143
173
284
230
146
277
153
160
252
146
186
145
176
208
191
239
244
211
277
210
335
184
122
263
204
152
208
179
173
239
214
119
215
231
158
173
184
211
183
158
130
191
210
225
195
211
201
211
220
197
204
224
217
190
164
209
182
122
130
147
159
158
217
176
170
174
209
219
216
164
250
222
210
129
288
176
226
202
178
172
193
313
163
180
146
208
192
190
176
230
115
156
222
129
221
256
226
221
173
179
168
174
146
231
176
194
172
218
239
188
150
208
115
226
263
180
193
176
211
133
143
236
248
141
176
228
179
211
210
178
191
143
234
160
156
168
179
178
115
231
287
208
247
183
173
193
129
208
129
129
252
237
195
115
129
242
182
185
256
214
221
146
168
174
254
185
217
258
192
173
181
251
217
210
149
250
230
219
133
232
176
173
191
209
193
246
143
133
262
200
201
195
192
222
202
220
158
173
157
157
211
249
149
148
277
146
238
155
167
204
178
167
186
203
160
115
164
203
231
193
221
208
192
122
171
173
156
200
217
145
173
179
198
204
188
156
179
206
161
221
169
190
237
192
188
162
214
169
186
263
183
179
138
182
261
260
213
169
256
204
218
202
209
162
204
232
130
229
176
146
211
150
175
219
198
178
225
173
166
216
240
168
203
255
179
218
210
146
230
212
173
191
289
160
217
210
222
129
179
241
129
173
190
181
183
236
200
240
201
202
264
209
138
202
133
325
239
129
198
188
130
214
173
219
225
145
122
180
184
168
158
173
264
143
230
257
130
122
217
253
149
202
182
182
178
191
164
155
220
146
259
224
202
146
184
232
173
129
197
179
186
197
201
146
181
156
176
173
146
168
166
211
130
181
160
228
204
195
188
196
162
221
199
162
155
149
219
146
151
130
274
272
132
191
182
133
209
230
156
156
194
176
248
209
254
174
143
129
177
227
132
198
182
211
176
195
133
164
187
199
210
256
213
245
173
183
223
146
179
210
145
182
181
194
143
185
247
180
200
176
146
218
155
173
122
228
205
237
201
222
163
202
171
218
208
206
217
180
189
191
187
146
240
176
211
164
194
214
179
210
158
203
178
172
201
129
184
168
220
204
222
130
217
176
191
187
185
278
197
130
128
251
130
282
230
180
138
170
227
166
238
182
166
254
130
191
240
247
130
252
173
176
146
115
213
224
115
130
191
180
191
163
254
231
154
146
174
129
169
281
173
204
239
178
155
263
200
199
195
219
164
162
238
300
234
217
128
178
176
209
179
156
183
232
231
211
221
212
161
129
205
173
244
146
195
158
141
155
216
173
149
173
169
184
158
217
234
206
204
253
200
211
243
176
262
252
219
159
210
204
184
203
115
182
145
236
182
143
182
158
208
193
206
146
241
239
226
221
210
179
174
208
192
156
173
173
204
208
158
239
230
182
219
202
205
201
186
256
166
170
244
158
172
272
171
261
130
169
115
229
145
203
164
239
229
217
178
208
164
201
173
176
195
146
234
173
173
145
141
130
115
183
233
173
147
129
230
164
191
173
182
186
176
215
129
175
158
231
133
243
210
254
204
229
156
162
207
165
212
229
171
129
130
236
161
162
168
197
202
283
176
237
204
191
218
160
202
188
115
143
162
249
178
210
236
199
146
277
143
192
133
143
173
227
180
229
129
229
157
265
166
187
185
187
201
222
169
156
130
146
173
164
152
158
235
230
260
209
130
230
204
169
201
259
190
190
191
204
144
202
210
163
230
202
133
204
204
186
138
187
165
217
164
207
175
162
175
189
210
287
213
268
188
130
130
210
141
157
171
217
189
129
225
173
164
306
204
218
234
183
230
190
230
177
190
195
130
176
215
196
184
194
242
146
202
130
217
222
141
237
167
183
195
208
203
172
224
219
225
191
198
186
169
176
145
176
143
153
200
143
169
251
184
232
191
229
150
169
147
203
172
231
177
129
129
143
173
162
168
204
239
253
155
261
201
174
180
207
192
182
202
174
225
283
171
155
206
227
163
166
202
242
182
130
160
179
221
202
178
115
168
172
173
182
179
156
239
213
176
204
195
183
176
179
204
143
180
208
204
169
176
261
222
168
217
156
164
129
145
213
191
208
145
238
179
129
216
187
143
294
214
204
188
208
115
171
263
160
298
173
261
210
200
187
173
155
182
216
211
130
176
194
158
158
225
133
201
210
146
161
158
188
160
226
244
250
158
168
130
254
211
209
149
162
210
146
146
242
176
288
219
224
201
201
193
181
168
190
198
173
218
173
199
153
264
187
146
206
202
262
214
156
155
188
254
204
256
228
162
182
122
232
211
179
184
210
242
149
255
173
183
173
228
180
173
182
196
184
173
204
268
243
115
130
218
186
188
166
259
246
224
129
204
189
191
227
219
202
146
215
212
169
215
225
182
198
200
129
185
164
128
190
149
209
307
169
192
218
191
146
138
246
158
219
191
194
162
173
173
233
206
204
211
186
173
178
187
210
172
144
215
191
156
168
173
172
238
192
201
203
180
138
188
179
187
193
149
204
216
183
216
143
182
189
187
150
197
233
233
176
184
215
216
203
217
115
129
303
149
197
176
246
219
129
262
160
207
181
271
128
179
195
199
178
175
269
201
210
238
205
168
206
130
155
150
222
178
162
187
210
186
190
211
165
161
193
153
133
210
173
165
164
209
262
155
230
169
130
194
205
207
204
185
179
226
185
186
115
225
176
218
238
146
155
164
179
227
244
181
221
281
161
206
145
204
335
179
189
212
132
130
164
185
191
201
143
129
133
266
265
214
222
238
164
187
179
239
224
226
239
275
178
249
165
187
143
166
263
162
202
171
229
190
252
217
176
217
225
165
194
211
188
236
251
224
165
176
179
184
195
182
238
188
184
173
183
203
169
146
141
202
146
254
167
152
183
179
164
219
201
200
287
209
192
161
156
264
195
185
170
145
192
189
150
172
192
144
185
164
264
171
234
166
198
175
211
239
198
190
256
146
192
210
191
208
198
208
183
176
185
201
201
173
155
133
179
202
179
204
166
201
155
165
229
204
184
226
146
260
194
254
210
211
263
215
143
335
162
190
133
186
205
200
171
181
151
232
204
182
129
325
202
182
179
162
219
202
260
146
176
201
217
146
286
227
159
184
200
201
145
180
227
182
176
203
213
173
164
158
129
236
192
173
156
162
170
204
218
200
158
263
257
226
211
259
173
169
191
129
184
206
130
169
185
190
197
146
189
158
264
177
176
236
200
173
238
164
211
287
189
202
237
222
155
223
146
205
138
167
203
145
146
188
204
269
184
146
205
264
262
252
203
240
217
221
171
181
201
168
115
156
218
129
239
199
155
200
132
159
157
191
206
205
217
145
238
163
210
239
201
133
255
129
211
168
308
192
221
189
222
206
227
149
211
201
192
195
221
146
133
299
177
230
171
176
219
155
204
190
246
178
180
202
155
176
227
208
205
199
185
235
162
183
146
201
146
141
221
203
179
173
228
173
155
175
176
195
200
191
145
201
164
209
249
129
218
183
138
298
201
254
226
204
176
198
227
180
228
269
260
211
161
150
247
228
210
164
209
228
130
268
210
168
174
176
129
289
153
245
143
155
205
146
242
201
201
253
228
262
162
210
238
179
232
178
155
239
217
129
209
161
229
146
171
217
214
176
130
158
203
173
192
144
229
164
178
197
204
211
222
189
130
191
163
230
179
115
195
162
239
174
158
175
200
204
261
201
179
205
239
179
221
145
181
225
202
155
173
185
180
168
130
161
200
213
221
202
184
211
284
264
173
202
173
162
162
227
190
202
198
217
173
230
129
210
133
185
224
205
219
115
183
191
190
172
211
169
204
230
179
247
182
162
185
169
210
191
128
231
211
178
171
182
191
198
235
195
198
227
200
130
179
146
191
194
209
129
177
207
162
211
225
164
197
210
162
162
200
149
165
182
228
140
198
176
256
258
192
212
262
185
204
211
168
201
173
182
173
205
162
223
129
130
201
204
201
219
192
186
224
218
201
130
133
180
129
196
183
174
166
236
178
176
176
271
144
269
253
170
217
172
192
247
190
185
200
239
146
190
178
204
199
165
185
328
232
155
257
171
200
210
195
145
168
130
185
173
143
273
143
197
191
209
222
171
179
237
129
129
172
204
176
162
254
225
243
156
155
187
229
180
249
295
238
270
222
200
208
283
173
202
263
191
218
166
151
224
186
173
130
191
267
201
189
239
156
145
161
168
173
211
225
132
194
184
262
257
169
281
151
217
176
236
130
243
232
129
129
152
221
164
174
177
215
169
240
255
182
168
242
146
188
129
129
183
204
217
203
260
176
188
275
182
188
178
217
199
244
225
130
259
225
206
205
212
210
202
214
157
179
182
217
193
217
201
150
227
238
204
202
269
115
220
145
202
187
234
203
204
236
212
208
221
227
171
236
131
244
173
184
168
179
169
216
200
176
176
146
217
216
204
176
206
206
146
222
130
174
180
162
211
188
171
133
236
191
230
254
160
189
210
176
170
238
180
192
184
182
115
158
143
245
182
267
181
146
210
232
199
240
239
173
172
212
162
217
141
164
172
201
181
202
179
236
115
190
215
145
253
246
196
179
195
162
206
179
256
173
210
132
211
182
186
168
221
191
129
157
200
158
236
235
129
143
173
129
206
251
210
211
130
156
176
173
211
143
229
178
185
115
176
190
179
250
166
188
129
241
199
202
211
147
144
183
255
146
163
204
202
232
217
238
178
255
176
185
174
168
157
147
154
188
146
183
176
146
221
158
193
183
191
191
176
129
197
198
195
178
174
224
178
179
194
263
221
122
130
186
173
221
175
180
151
201
158
180
176
129
190
163
226
259
212
115
221
248
158
178
174
188
273
184
159
129
204
235
240
179
230
236
150
210
208
226
178
180
189
162
194
143
205
199
219
178
173
164
201
173
199
224
231
192
180
283
237
211
186
174
206
187
215
238
168
188
204
233
230
202
184
202
222
179
141
187
160
254
191
176
133
131
129
204
182
185
210
145
158
156
146
228
129
130
160
145
147
176
185
250
133
130
210
194
212
224
168
192
174
180
217
178
181
224
201
168
145
158
162
217
146
130
156
191
175
208
208
167
162
133
156
217
204
158
210
174
202
230
248
284
157
179
179
230
222
209
176
213
173
195
179
155
236
173
204
176
172
162
162
159
224
213
138
188
183
175
257
241
202
198
217
192
164
204
146
164
200
188
198
199
213
162
204
133
129
166
198
214
156
204
169
170
158
181
180
183
227
212
170
200
167
176
173
218
198
173
187
210
130
215
228
143
219
197
277
129
174
183
132
258
129
167
222
184
176
263
129
271
264
133
130
143
182
164
182
179
173
141
217
205
179
169
129
173
246
194
206
244
218
172
197
226
200
156
158
133
214
184
162
283
146
187
212
181
264
169
237
200
146
226
260
289
211
178
133
257
172
176
204
176
155
115
162
176
170
287
156
199
191
176
224
312
250
155
238
129
229
229
244
206
176
228
222
234
218
198
202
240
115
115
146
191
210
248
238
257
248
220
160
181
219
133
222
211
198
130
150
200
276
222
146
264
244
259
174
188
194
157
210
146
188
119
208
199
179
180
115
145
190
201
199
275
196
184
146
164
143
122
185
178
186
209
129
141
146
191
241
160
184
188
237
246
146
162
225
169
129
195
217
169
194
200
239
151
160
175
220
194
160
214
172
130
158
237
219
203
160
195
212
184
180
158
185
230
182
176
152
166
227
246
129
254
187
186
263
138
172
201
174
247
212
241
180
149
217
173
211
200
191
168
129
210
185
144
164
191
220
210
160
206
204
129
258
122
173
149
276
178
181
213
141
146
230
130
151
133
194
196
164
183
247
147
213
216
211
129
186
195
169
162
239
207
210
171
166
211
204
181
183
195
247
195
279
185
199
145
146
143
173
166
233
246
218
241
205
228
206
230
227
209
156
186
171
184
233
267
149
186
213
174
185
182
129
182
225
163
173
162
253
225
212
230
176
233
160
173
143
143
163
213
159
133
173
184
287
191
146
171
183
146
235
130
115
225
178
162
158
192
189
170
210
150
129
239
194
183
129
195
183
158
229
200
217
180
182
202
183
191
203
182
237
220
186
129
264
144
202
162
150
160
195
130
158
129
335
172
227
129
210
174
190
272
191
245
185
233
200
257
214
207
192
143
146
115
173
183
188
172
274
244
130
197
226
206
217
173
207
250
191
184
139
214
207
174
172
144
180
197
173
173
146
266
225
173
155
211
192
262
161
168
184
176
179
275
130
213
152
165
185
239
209
208
199
191
203
166
211
255
115
170
275
199
223
204
195
149
225
221
178
180
168
188
218
158
162
239
130
183
245
128
181
179
145
239
115
246
191
181
299
235
151
169
227
241
157
168
221
190
129
145
200
176
150
212
183
174
142
209
225
228
176
214
202
173
173
183
155
229
158
206
224
174
133
236
179
205
211
186
130
204
200
216
174
150
149
209
221
206
146
188
167
230
143
261
224
145
201
165
299
194
179
250
186
155
175
200
230
182
223
239
244
155
184
217
205
150
130
180
115
217
217
195
225
163
184
264
185
261
143
150
155
212
132
192
128
164
174
156
179
247
129
129
155
282
218
173
197
185
204
233
130
164
129
256
173
201
214
213
158
143
206
170
228
143
160
185
201
217
172
188
145
145
210
148
162
168
184
204
204
197
138
255
180
176
162
194
180
143
211
238
200
199
195
248
187
185
188
205
176
178
199
180
133
164
143
179
143
213
222
146
206
181
133
152
190
172
146
245
264
147
250
176
270
200
160
244
166
155
161
225
144
199
162
246
184
198
237
180
130
180
145
164
167
199
130
205
202
170
238
176
203
133
217
176
204
164
202
173
129
191
176
244
130
226
146
115
159
215
175
176
130
270
206
204
179
246
129
194
192
204
183
206
173
180
214
165
145
245
138
156
165
216
182
233
130
166
122
214
204
176
214
173
242
217
146
243
155
228
181
190
203
130
208
179
130
204
206
236
204
129
176
145
216
188
176
181
160
202
129
164
220
199
241
162
261
207
138
230
168
130
130
335
147
129
162
256
164
176
190
213
237
147
185
165
262
248
244
236
207
190
228
202
172
231
295
176
162
218
166
162
184
212
147
131
241
166
182
195
180
167
188
173
177
238
190
200
224
264
226
251
146
147
206
230
143
173
146
211
206
162
198
198
217
182
129
191
150
182
173
203
257
243
129
214
146
206
201
227
152
152
210
160
216
204
211
201
195
190
233
203
158
171
210
229
283
202
173
183
227
182
245
214
190
129
167
164
184
164
205
199
211
155
152
212
160
239
155
241
156
176
210
130
191
146
258
150
163
202
176
213
150
214
146
204
222
204
200
176
173
144
263
188
174
133
204
193
173
234
187
183
184
201
115
195
148
176
239
204
179
233
185
205
213
274
159
160
184
203
164
252
173
181
230
176
141
203
129
246
255
239
239
169
155
129
173
173
176
210
153
133
179
226
173
169
211
129
183
152
210
182
291
180
165
133
231
212
204
179
191
206
313
160
210
201
223
184
186
133
261
235
214
195
176
138
158
173
130
145
130
129
206
176
204
206
234
238
162
167
280
185
175
218
221
173
202
255
214
183
162
281
145
196
155
188
133
143
211
222
218
130
201
167
176
176
210
184
216
187
192
255
271
199
231
186
156
184
229
250
214
200
183
204
217
146
176
173
239
156
148
224
207
129
158
183
247
130
158
122
237
145
173
130
156
129
230
252
202
162
192
153
169
217
183
151
208
187
189
176
236
171
286
146
181
213
214
201
115
182
189
214
158
205
156
251
228
192
173
189
179
130
226
173
250
252
211
215
242
143
208
146
163
185
183
202
179
129
129
211
201
141
220
157
281
195
254
247
180
174
150
222
210
156
227
175
218
204
160
218
146
201
179
212
146
210
189
201
129
133
181
143
174
146
190
236
229
129
177
160
191
170
178
200
144
176
206
188
229
230
168
181
184
203
245
275
211
158
183
146
285
179
210
155
129
179
211
159
230
186
209
145
194
176
257
208
180
157
231
146
234
229
150
239
143
153
217
176
284
179
164
173
130
188
214
210
183
183
262
236
233
164
255
185
216
146
173
246
209
235
179
235
156
173
122
173
222
176
170
122
206
210
181
196
129
162
173
168
191
193
188
193
143
157
168
130
129
161
155
160
166
224
200
218
165
130
191
224
164
179
185
171
246
171
202
173
234
176
128
168
261
204
220
129
238
147
275
300
169
244
208
261
201
195
175
229
174
222
164
190
233
201
182
130
176
218
192
179
286
115
335
221
226
181
260
225
245
158
227
214
185
247
201
263
161
144
203
155
204
197
203
202
188
250
238
200
146
171
201
173
169
236
195
164
254
158
130
170
201
253
188
180
205
179
190
133
201
183
265
287
173
173
188
164
166
185
210
130
266
242
232
214
230
233
173
187
184
231
226
227
161
201
155
189
175
216
133
184
156
179
173
119
146
201
228
202
182
213
138
210
239
187
128
158
115
189
162
204
115
133
230
283
184
158
182
206
143
176
218
216
115
151
191
184
211
200
146
201
179
209
254
225
210
197
259
184
129
176
162
146
213
161
200
208
246
185
165
244
181
146
164
115
184
169
228
173
221
158
242
210
208
227
230
150
146
204
217
189
239
179
204
193
181
210
129
206
182
188
176
220
173
214
210
164
168
146
223
197
200
173
173
152
143
231
225
182
192
239
155
170
236
173
212
146
244
204
216
201
184
265
287
283
270
115
236
218
183
239
277
129
130
187
175
264
239
238
220
173
217
176
180
185
132
226
158
204
170
204
227
211
199
147
150
185
274
184
204
189
158
256
169
282
204
226
230
143
180
179
253
198
158
210
246
173
242
204
202
149
210
204
207
138
182
228
179
225
157
216
255
190
143
201
173
183
191
202
218
146
178
205
162
237
173
159
261
183
233
179
155
156
242
191
184
152
175
173
211
173
169
171
161
204
164
229
180
173
211
212
230
144
187
176
212
179
164
175
225
176
187
131
178
264
245
168
210
166
191
192
249
226
184
182
251
122
167
158
157
176
150
191
247
186
236
221
182
196
217
168
158
217
182
129
171
133
221
176
216
149
164
193
168
200
146
169
172
207
173
171
163
181
232
235
172
157
168
186
209
244
210
230
179
146
179
214
176
228
190
185
133
204
185
155
215
179
193
181
230
256
150
230
190
199
184
182
145
211
169
152
246
179
301
130
220
187
141
173
216
207
159
173
202
194
211
210
294
244
158
164
158
243
156
162
160
247
256
181
171
168
217
214
226
143
160
189
157
206
183
205
146
129
130
201
129
274
221
185
200
251
176
164
182
130
160
203
129
151
179
190
172
163
210
188
130
173
185
158
228
133
174
175
227
182
133
155
303
202
201
160
178
191
191
149
225
146
184
188
248
200
265
115
179
265
158
132
253
198
234
246
214
210
240
129
230
146
205
259
231
162
182
173
153
162
238
275
186
176
146
151
149
164
269
208
186
256
293
183
217
188
168
168
194
262
173
175
176
287
143
200
294
209
184
221
236
236
223
146
216
129
225
131
195
162
173
207
152
181
178
226
164
146
211
203
274
171
239
204
162
141
155
256
246
168
153
214
191
184
197
212
203
159
179
177
199
212
152
206
183
145
262
307
160
207
145
171
183
143
130
182
146
176
196
173
184
222
173
155
278
188
204
212
115
170
209
194
200
376
207
221
178
181
185
133
211
264
204
182
201
230
213
170
173
176
182
229
208
226
133
160
149
210
239
198
165
146
218
258
272
225
201
146
130
273
236
156
182
145
239
176
204
185
264
219
171
207
228
146
182
183
215
130
143
216
227
237
260
183
173
207
173
242
141
176
215
179
141
168
218
194
221
179
160
231
129
132
217
260
141
139
260
146
164
204
230
182
214
160
130
204
214
161
238
204
229
221
129
184
201
202
138
184
209
210
228
176
164
280
169
210
202
177
222
130
188
236
179
209
297
208
162
236
195
248
262
221
143
146
176
182
239
130
212
144
130
222
210
217
122
146
219
176
286
229
155
185
202
233
185
210
191
241
184
264
217
183
228
143
141
129
218
219
204
180
206
222
211
192
158
225
169
165
300
211
242
143
197
229
200
241
173
193
216
219
176
200
242
189
115
196
178
182
185
186
172
165
238
247
182
176
157
137
177
115
210
176
217
235
220
189
172
194
130
201
200
164
204
202
214
238
129
236
122
176
226
260
228
214
179
200
179
199
251
204
181
173
178
173
190
158
190
223
265
217
145
230
181
130
176
230
216
164
164
247
201
188
176
185
129
158
252
163
205
143
192
143
173
213
224
173
129
168
201
162
222
218
201
176
130
287
146
130
160
185
202
222
284
130
193
161
146
186
173
141
211
156
176
168
145
237
130
180
179
210
227
249
181
265
210
257
201
157
195
229
182
133
182
184
242
188
202
179
190
251
204
176
261
234
188
166
129
274
313
173
210
210
174
212
236
173
252
169
173
176
211
186
170
178
158
147
172
173
206
172
186
146
241
130
159
247
153
155
168
146
180
254
158
202
215
192
171
155
164
164
145
233
252
173
129
210
173
201
200
159
181
176
129
221
217
144
183
261
141
143
204
178
166
196
210
211
211
146
201
156
165
213
274
252
226
173
156
130
143
217
190
133
188
141
231
151
168
199
145
208
211
205
204
188
230
130
204
155
188
195
149
232
214
146
133
205
204
204
188
228
192
175
213
257
285
178
190
167
213
214
185
180
219
183
210
192
169
259
239
239
181
234
167
155
181
269
174
194
119
195
235
200
173
205
188
294
201
132
146
141
178
270
199
208
230
193
232
182
152
206
169
171
225
160
192
170
168
183
182
198
190
194
129
191
170
200
264
190
176
253
213
188
132
191
264
245
217
217
173
203
245
183
171
252
231
190
129
192
173
227
211
206
294
214
204
185
191
154
247
192
231
214
256
183
147
218
191
180
242
204
228
190
184
264
204
258
115
160
222
185
200
163
179
258
176
208
143
166
238
187
254
133
187
176
187
146
182
191
155
172
146
179
210
170
211
182
270
179
242
158
251
141
225
184
214
168
132
197
200
171
194
172
211
191
213
171
250
171
230
168
221
132
210
185
203
207
182
231
138
181
210
238
191
238
130
221
267
160
197
156
322
263
187
203
226
209
193
145
200
243
200
179
168
198
214
162
155
138
211
218
180
166
228
190
130
264
227
180
170
150
244
206
168
230
210
143
211
231
138
260
144
183
194
237
158
147
262
150
130
195
129
176
216
231
208
146
184
192
115
168
174
167
264
130
182
173
171
133
201
176
173
192
145
215
256
158
179
201
169
216
138
188
183
115
174
211
200
200
216
165
144
221
179
201
187
224
145
216
195
157
283
177
204
234
194
184
129
210
178
248
199
182
217
143
230
162
210
225
182
155
197
177
320
199
211
189
183
155
182
130
156
152
204
183
228
145
146
169
176
191
192
201
145
180
180
183
182
155
173
184
221
141
229
146
267
210
170
146
227
144
173
151
158
130
219
164
129
173
145
302
195
183
145
185
239
115
145
180
189
200
227
179
178
245
204
280
144
240
188
162
155
177
168
146
129
173
227
258
229
129
184
184
188
320
144
238
191
207
244
200
130
178
173
194
191
182
211
264
211
222
129
180
218
209
176
172
217
156
173
232
210
184
143
202
217
239
214
137
173
170
166
217
191
176
204
152
229
274
184
260
210
146
152
221
213
182
210
201
281
168
179
176
143
219
180
224
187
141
162
262
207
219
270
174
168
145
176
178
203
238
166
166
192
212
146
191
223
204
184
204
173
217
210
146
211
149
255
169
191
129
177
210
157
171
207
204
189
200
160
176
204
239
180
257
217
216
173
257
245
197
202
176
129
194
173
162
245
161
143
193
185
195
157
151
173
209
210
241
230
173
163
216
146
138
185
217
210
171
170
236
146
122
270
210
217
200
129
146
180
240
204
175
201
234
218
206
133
230
182
155
235
278
202
176
210
146
176
166
244
210
204
184
160
166
155
179
184
145
130
115
178
173
211
215
227
132
217
227
130
173
256
264
223
183
169
206
287
146
202
133
156
229
115
192
180
211
146
129
207
209
179
180
200
239
178
210
168
210
182
175
185
164
187
169
174
202
195
173
146
168
238
168
230
234
201
219
225
210
158
184
176
179
210
236
210
144
133
158
192
250
162
230
244
143
233
259
156
217
238
202
239
202
265
226
148
164
201
173
150
239
191
226
168
152
210
130
183
178
179
190
193
180
192
204
202
161
162
177
239
176
146
234
284
248
219
133
212
209
224
182
204
174
176
130
217
167
115
240
179
129
155
146
202
184
276
122
173
247
246
199
129
177
230
231
213
176
164
176
215
205
185
218
143
130
178
211
173
161
252
210
189
141
203
184
212
162
204
196
180
210
219
195
249
151
218
186
210
200
184
210
175
244
173
145
221
164
129
176
185
206
155
197
214
202
237
139
206
266
171
255
130
188
259
232
178
168
201
173
150
115
201
147
128
192
129
192
214
214
252
145
231
177
191
184
162
204
223
145
209
205
170
237
203
189
185
285
191
149
167
192
200
171
115
115
211
160
226
186
176
189
237
146
185
202
146
256
227
229
182
234
115
115
216
161
237
202
193
186
195
191
188
167
182
200
176
209
204
184
232
145
173
204
213
224
209
203
180
206
164
223
202
191
181
250
130
235
158
192
155
233
130
237
197
185
206
207
184
227
227
258
189
218
191
115
191
205
250
179
229
179
202
150
210
235
146
202
228
184
129
198
129
242
263
128
194
262
176
199
235
132
143
170
162
194
169
173
166
158
146
155
201
201
195
169
169
192
147
243
202
288
252
209
237
210
252
143
181
219
232
129
169
217
303
176
130
230
189
145
150
179
181
180
234
130
161
206
200
191
179
236
217
227
244
194
160
150
216
128
210
191
210
122
174
146
222
240
307
146
223
202
161
179
268
224
173
200
181
226
185
261
129
173
156
204
222
204
266
185
228
130
217
169
158
161
187
234
157
187
128
130
210
129
214
214
192
162
163
247
169
176
225
146
274
182
204
185
236
146
211
115
200
173
115
212
200
176
253
207
170
122
162
143
130
129
206
206
206
213
233
146
201
176
246
176
226
199
183
184
145
211
275
185
146
186
265
143
264
219
210
185
150
238
146
149
235
287
190
180
178
176
176
183
238
189
191
222
219
244
185
162
162
158
252
173
222
129
192
251
185
115
200
245
191
171
218
266
274
145
238
168
228
213
173
148
173
130
200
229
167
256
204
146
179
214
205
248
205
162
248
260
200
164
232
173
155
219
191
236
193
215
170
239
130
146
216
130
161
208
211
171
229
206
122
182
169
236
303
137
205
204
236
179
180
146
211
143
173
146
195
182
200
150
204
180
129
169
206
176
190
217
206
198
173
168
223
204
201
191
211
195
207
197
115
238
228
198
172
184
209
189
173
288
211
205
143
164
194
170
173
161
169
223
242
211
184
219
206
146
195
182
196
177
251
187
143
204
221
190
122
222
159
198
203
161
150
186
202
130
204
155
209
202
164
143
175
241
198
176
215
147
206
167
183
204
179
200
183
129
122
146
264
284
205
203
185
162
231
181
209
206
207
143
225
187
261
204
180
200
241
130
211
263
146
176
204
219
195
226
204
232
253
215
238
130
247
158
138
202
164
162
236
183
186
191
187
212
201
230
239
141
177
211
133
158
159
210
169
180
162
202
182
225
322
133
191
239
204
156
185
193
146
261
145
164
211
206
230
129
173
143
204
211
203
166
145
204
149
206
165
174
200
222
228
205
138
230
169
191
211
179
201
187
258
187
186
210
210
250
224
141
217
243
183
173
219
205
170
185
216
206
236
187
255
195
246
129
217
185
189
201
265
260
299
156
169
149
254
209
222
297
182
226
177
133
224
130
176
220
206
185
236
188
207
185
264
206
176
230
181
130
230
198
188
143
244
145
209
164
252
209
179
202
210
166
189
221
167
181
178
146
168
194
202
225
166
119
210
128
164
170
173
230
227
201
166
197
202
173
247
220
146
186
145
231
146
128
200
145
181
233
247
251
175
143
202
210
240
184
217
178
164
233
230
236
225
143
252
192
133
217
171
215
130
204
176
204
184
227
242
169
156
178
214
178
227
180
180
222
133
231
255
238
208
130
172
169
203
176
233
230
199
130
138
179
214
205
171
203
141
260
193
248
168
146
227
199
239
195
256
129
160
187
206
192
173
115
248
184
164
200
217
286
176
242
173
239
217
202
210
129
175
269
225
168
155
213
198
133
173
214
243
119
307
157
146
185
198
174
180
165
188
211
146
149
209
202
173
212
188
166
150
143
158
235
237
183
227
155
169
167
130
202
129
174
130
234
185
201
183
287
193
215
179
152
128
178
209
238
287
145
248
179
210
169
161
253
193
177
168
162
197
228
229
173
210
186
248
268
228
158
115
239
197
128
178
133
162
204
203
149
264
186
217
200
216
115
185
239
206
122
129
263
200
205
212
176
176
204
205
175
311
246
253
188
231
129
204
209
210
247
211
176
222
252
200
146
233
256
132
182
205
204
299
233
210
210
266
217
184
206
189
272
178
197
194
176
262
222
174
227
146
210
227
214
222
168
198
129
189
181
164
150
190
256
152
184
145
274
173
190
201
207
130
207
146
167
217
149
211
217
179
180
191
212
173
173
168
188
246
254
191
179
146
143
240
130
217
262
211
192
288
218
150
204
148
164
188
219
180
177
128
115
132
149
115
259
300
211
145
217
173
183
178
264
263
216
192
130
207
214
210
182
234
153
214
258
129
168
167
166
152
155
218
131
179
164
145
214
230
231
218
115
236
156
133
173
200
174
222
235
197
225
206
223
157
211
247
156
130
189
192
184
321
191
166
191
166
167
188
133
155
155
158
202
165
199
208
222
221
185
190
195
183
176
257
145
179
238
216
198
197
209
210
228
197
152
200
256
150
208
204
163
192
179
191
128
250
145
146
155
168
162
217
162
130
202
254
225
201
221
194
129
230
217
145
173
227
174
179
173
158
197
191
146
286
209
242
195
197
152
277
147
179
240
146
227
176
277
129
129
227
171
166
241
164
171
198
158
187
210
214
199
190
186
217
155
141
264
163
176
193
144
130
146
242
149
180
130
194
141
133
182
143
210
202
151
257
208
157
156
222
122
156
264
288
162
214
180
197
130
234
145
175
182
188
234
195
168
166
217
146
161
258
236
146
184
130
141
173
250
255
130
190
169
286
248
129
199
160
296
211
206
182
171
173
226
181
184
192
239
235
212
184
143
172
130
187
178
204
184
130
172
192
158
184
143
213
208
239
176
173
156
174
246
169
210
179
227
146
130
192
236
230
146
204
260
150
195
202
217
218
170
201
129
129
217
242
218
161
262
183
178
189
217
133
173
129
150
220
129
279
164
225
240
182
204
217
227
156
230
200
238
242
161
215
130
239
151
133
158
209
189
242
236
129
184
146
204
160
174
261
159
213
221
281
160
187
143
183
207
198
222
189
129
213
182
173
133
198
201
242
222
210
191
228
129
239
209
145
115
184
179
217
188
161
227
157
167
173
183
156
146
222
204
225
215
212
264
197
176
164
237
144
130
231
146
176
212
145
184
145
171
288
156
204
164
145
241
162
170
164
168
210
194
178
155
184
129
183
162
204
122
212
198
130
203
146
133
210
204
173
245
239
194
217
201
200
143
143
186
128
288
180
209
193
133
130
144
224
173
163
138
150
130
178
164
229
191
225
191
191
224
176
146
161
256
242
189
192
238
146
183
129
146
264
241
164
195
173
151
145
170
248
146
195
162
238
159
162
264
180
176
181
218
211
297
200
179
210
228
187
215
239
193
185
211
155
176
207
210
200
274
150
146
198
204
211
179
229
129
168
133
145
176
220
169
217
243
188
256
346
162
205
160
205
200
200
173
151
130
180
145
191
173
146
256
241
191
225
145
173
156
285
235
178
200
200
214
182
129
173
183
239
236
204
130
161
186
180
244
129
270
146
188
183
230
145
176
146
236
187
166
228
234
192
184
196
156
176
184
181
265
218
143
210
224
172
182
179
155
149
222
156
232
143
145
203
240
187
223
187
210
236
204
283
183
193
186
181
195
252
225
197
241
245
150
180
176
179
174
162
223
183
189
173
219
146
202
164
217
157
296
173
188
210
156
130
274
216
225
213
243
184
251
254
129
190
186
183
176
155
170
212
155
287
161
178
138
214
204
155
182
236
214
153
173
216
145
175
145
156
180
208
190
146
145
205
133
231
182
146
201
129
160
191
180
146
178
130
146
211
238
115
265
155
143
179
187
180
155
174
173
176
191
177
195
167
217
150
166
210
241
178
195
223
176
216
210
188
225
130
234
133
191
212
167
176
204
149
164
146
133
180
217
325
215
236
244
189
191
184
171
227
130
146
194
172
236
164
208
183
161
143
208
162
256
200
171
171
176
130
129
176
201
246
176
195
162
174
250
182
187
190
156
219
129
155
255
171
129
264
115
164
180
130
150
147
174
174
129
204
201
131
268
211
183
179
130
169
195
253
178
211
172
146
183
202
129
298
168
203
146
184
204
176
232
174
217
188
218
218
181
233
165
192
164
241
151
227
115
211
130
133
198
259
167
228
182
273
146
224
158
130
159
187
211
190
252
230
147
187
166
219
217
242
141
151
191
186
209
122
206
226
266
209
198
167
239
272
129
190
202
219
146
185
146
179
173
237
173
167
236
155
212
186
194
179
158
228
158
176
220
183
149
200
238
160
258
190
184
176
202
251
217
179
158
195
295
207
223
173
146
167
173
194
264
152
141
197
164
216
129
234
164
192
191
191
184
179
166
230
256
149
133
231
258
195
225
115
234
179
222
209
210
291
202
212
145
242
222
170
176
208
145
155
205
187
217
152
176
211
176
161
162
157
222
210
129
150
162
233
151
181
199
251
246
217
168
191
218
176
156
164
176
191
173
197
197
143
198
180
210
200
201
240
156
222
226
244
141
219
176
202
150
182
209
212
216
267
217
161
176
200
248
217
175
194
173
184
283
145
185
258
228
160
143
168
179
188
190
138
143
145
182
191
129
184
188
204
164
210
222
146
173
247
161
160
130
234
230
150
169
186
185
191
189
146
176
157
259
231
175
210
254
129
186
143
251
285
206
202
196
275
157
204
129
146
145
179
207
236
300
178
230
146
155
130
115
129
146
211
158
227
214
170
145
165
177
232
115
202
146
204
309
248
176
241
155
204
253
180
178
174
234
217
182
180
211
206
158
208
190
178
192
235
176
179
201
202
157
169
177
183
204
247
204
202
173
272
173
168
129
205
153
220
143
239
184
228
174
198
138
200
174
238
183
206
230
206
251
179
176
182
201
217
193
222
252
133
152
160
206
191
233
129
206
190
161
150
265
201
130
161
159
157
183
160
178
268
174
219
130
240
215
236
220
200
198
234
194
156
141
160
233
183
257
146
130
183
245
200
211
158
253
217
204
198
205
192
172
178
173
186
204
152
220
259
227
204
212
205
230
261
131
129
184
218
130
157
184
254
222
182
264
168
141
144
232
164
200
187
146
176
230
217
146
146
256
213
244
182
271
231
141
146
230
241
242
164
200
218
149
203
175
210
168
230
205
149
191
217
178
133
164
229
159
122
206
169
129
143
229
185
213
230
143
210
190
129
180
204
146
191
129
207
215
146
161
146
191
200
130
238
250
163
227
150
201
166
201
232
130
231
280
188
230
128
164
130
178
217
129
221
165
173
277
254
191
190
234
205
180
207
173
185
188
207
206
202
172
192
204
164
247
155
183
193
208
238
180
182
327
194
225
199
230
172
190
246
164
188
115
211
230
206
128
288
122
181
225
162
158
245
168
215
200
225
216
209
156
183
162
176
195
225
176
266
238
210
160
238
238
130
180
173
245
200
234
200
176
178
143
138
238
201
192
146
176
161
174
206
157
230
233
324
173
115
175
176
210
173
207
238
138
200
164
155
245
145
214
236
251
200
133
197
219
274
207
222
203
214
184
141
173
224
188
157
230
170
238
199
171
129
237
151
168
176
162
243
210
240
184
187
155
146
211
160
193
217
173
254
164
155
184
178
186
186
281
216
246
182
266
145
246
324
151
129
236
176
157
217
172
166
184
226
237
176
335
287
147
178
229
132
174
183
178
178
177
235
217
223
168
168
268
168
222
191
166
186
209
211
257
162
115
115
193
156
186
174
144
186
180
216
164
185
182
144
176
141
217
130
191
221
173
191
227
176
146
146
243
165
196
162
204
215
242
183
202
203
181
182
246
179
232
181
210
146
174
161
184
217
168
165
196
146
203
194
275
173
143
169
178
222
138
177
238
185
162
180
275
235
219
133
182
141
176
146
249
176
152
204
164
233
191
165
220
184
168
174
201
160
145
183
143
133
198
180
146
173
155
168
211
173
203
129
130
231
180
157
173
217
206
183
130
128
221
202
187
176
178
168
184
236
130
182
194
274
230
234
199
229
192
144
241
202
217
191
143
145
191
205
202
185
201
173
166
234
191
217
176
238
187
159
182
204
173
174
188
176
144
115
159
146
213
294
170
164
261
191
209
173
162
144
146
181
206
181
215
156
242
202
192
185
188
202
189
162
179
197
264
179
225
148
202
201
189
167
196
203
158
224
252
204
202
179
146
199
206
182
238
248
193
182
175
179
192
178
238
262
130
203
177
130
179
130
144
200
207
259
182
183
238
258
181
335
206
163
198
176
173
239
153
242
190
161
182
203
133
146
172
133
143
181
279
190
217
145
192
174
178
146
222
130
173
129
263
209
182
171
195
267
174
228
141
176
176
207
187
250
240
236
185
203
141
219
178
138
206
203
182
161
129
214
189
168
129
254
189
182
244
185
176
225
203
239
236
189
160
234
160
242
145
164
160
179
186
218
173
130
283
188
213
178
201
173
129
207
232
204
241
186
145
158
181
197
169
182
227
200
129
181
223
162
176
247
187
191
225
279
300
214
150
189
221
211
256
168
162
192
200
185
183
226
184
240
173
239
220
146
192
247
245
133
176
213
215
222
212
240
197
191
175
157
204
201
165
161
217
160
244
176
130
204
183
164
146
182
203
183
187
208
172
223
182
217
203
168
195
225
129
238
202
246
256
129
146
191
183
191
216
208
231
191
189
255
182
202
115
157
224
133
227
254
158
129
129
184
214
247
210
253
247
173
191
149
206
231
157
253
250
185
217
200
195
168
176
219
162
173
162
155
181
164
156
162
184
173
226
180
179
182
176
210
133
130
210
236
162
202
129
178
203
150
162
130
168
278
115
230
170
238
206
171
146
115
213
176
178
191
170
199
225
335
204
242
130
187
184
137
178
163
235
191
115
168
171
146
143
160
195
171
143
165
212
179
206
143
261
211
202
237
244
185
129
184
168
176
211
156
245
130
180
224
173
229
172
162
214
183
173
168
176
201
205
225
206
287
182
188
164
176
186
249
238
188
205
243
172
157
176
200
204
185
170
211
271
206
266
238
173
175
212
144
173
269
202
164
192
146
210
191
245
145
231
143
190
145
145
189
260
248
178
194
200
180
164
191
183
182
200
222
199
228
172
287
153
214
202
191
180
230
186
166
214
185
146
173
238
143
184
158
188
195
192
153
199
200
143
130
253
234
208
202
141
155
184
180
130
144
201
174
146
186
184
184
162
217
155
229
138
145
145
158
174
232
174
176
292
133
217
236
183
217
176
146
204
141
187
168
228
171
236
217
236
156
216
226
256
185
157
138
191
155
186
129
198
176
176
210
221
189
129
167
219
173
169
129
236
155
122
215
178
335
160
225
181
176
173
150
130
130
155
162
178
191
290
227
186
182
184
174
153
158
176
187
165
146
154
162
128
176
228
129
206
207
242
148
178
143
129
122
173
167
182
171
149
176
205
209
214
211
130
133
155
204
200
198
151
130
242
201
262
141
173
115
173
230
173
206
197
204
185
224
281
208
197
176
179
257
132
145
152
174
164
176
176
179
189
194
183
200
152
241
209
229
235
198
296
236
208
169
223
227
191
246
149
192
217
130
179
182
229
166
138
179
221
239
255
221
187
176
187
211
146
207
176
217
195
186
217
230
128
218
226
255
186
269
181
146
133
186
217
217
250
217
200
179
213
247
203
250
234
145
165
203
217
156
224
153
261
195
224
150
190
232
195
156
221
146
146
214
150
184
162
190
204
179
218
166
272
156
189
264
202
181
173
189
178
122
153
186
208
257
164
169
235
176
224
173
179
227
190
179
188
213
213
211
211
189
191
185
186
173
183
186
164
174
210
173
146
185
204
161
186
194
203
129
210
143
229
179
167
233
267
238
155
202
145
186
176
173
182
188
181
173
129
180
210
180
270
185
198
248
251
265
168
205
175
204
188
214
247
212
202
211
265
210
155
129
189
213
129
201
130
156
184
133
191
168
198
209
239
150
215
206
191
202
182
200
194
128
176
174
206
182
150
129
146
129
181
184
129
146
279
199
261
210
253
206
231
155
143
301
180
248
183
237
182
271
145
196
130
115
244
221
186
216
187
160
191
162
168
129
170
115
195
185
175
179
241
173
222
211
247
203
204
192
204
170
169
218
166
257
243
190
173
225
250
233
130
237
173
133
183
174
207
165
252
235
129
202
230
129
239
176
174
209
184
188
200
199
166
201
179
199
202
222
204
177
202
199
190
172
246
180
204
195
225
234
217
160
211
206
176
221
130
204
179
159
217
164
173
151
133
129
192
231
162
217
181
204
167
249
191
188
195
249
158
246
132
172
179
255
169
173
184
299
233
173
173
149
166
262
228
190
232
210
218
185
195
158
133
130
255
172
179
146
184
194
212
150
181
162
239
210
211
130
200
273
260
264
169
255
266
133
200
161
210
156
133
208
267
176
264
283
242
174
189
146
129
165
179
211
173
180
153
203
209
180
173
217
145
173
157
172
182
173
191
201
177
187
130
156
206
143
210
198
182
240
171
176
188
167
202
222
265
184
243
171
184
216
263
158
215
217
199
171
226
219
189
178
191
289
227
160
192
214
206
235
163
179
225
172
176
281
115
184
216
209
130
146
203
182
192
129
239
230
155
173
133
122
146
168
206
202
206
216
175
229
221
173
246
232
122
226
244
180
227
173
168
164
200
146
244
254
185
205
129
208
171
259
204
210
200
179
239
176
164
179
212
164
200
250
192
231
204
145
188
179
192
191
141
189
239
129
242
217
195
223
180
217
251
294
208
164
164
217
180
194
182
196
146
133
247
192
271
180
186
226
200
150
173
173
230
173
199
199
130
249
210
130
150
166
151
179
208
207
204
221
162
263
188
197
130
173
230
184
244
189
200
192
222
247
248
238
130
187
215
180
184
191
182
161
206
129
191
173
230
129
214
221
168
212
130
256
176
183
193
198
167
180
218
230
143
283
143
129
173
267
128
254
183
145
210
180
143
182
210
188
232
184
122
231
190
200
176
217
207
183
173
200
161
165
215
138
245
208
196
173
252
191
129
166
158
237
179
173
244
143
255
178
199
168
173
204
129
176
164
182
213
149
189
194
143
176
200
142
130
197
192
201
192
228
155
115
173
202
130
115
187
173
234
217
166
167
145
166
187
158
133
219
187
193
146
179
232
145
174
200
178
200
199
210
187
179
184
173
242
176
205
146
164
239
173
170
218
158
182
141
166
182
264
159
192
128
195
155
162
172
221
206
185
178
189
184
231
265
287
156
251
190
129
184
163
129
230
236
145
154
162
263
130
156
122
197
212
174
249
173
222
188
193
180
169
194
168
155
201
260
119
194
217
225
182
239
146
141
168
149
158
173
209
150
146
209
149
247
130
209
188
173
229
266
224
138
178
262
146
130
187
236
160
263
230
236
195
164
222
180
203
240
171
143
202
255
162
167
211
149
158
183
166
189
300
143
266
138
130
172
239
198
166
216
201
150
185
201
130
191
173
159
230
173
269
138
256
146
213
245
182
213
129
178
290
223
261
181
306
176
204
201
171
203
229
174
219
186
217
219
206
201
212
155
171
169
237
141
203
173
230
146
130
164
176
257
200
176
149
146
148
207
191
157
168
213
233
168
312
171
185
115
195
173
204
162
191
209
246
184
219
222
158
222
211
204
188
173
188
227
144
247
278
178
202
195
173
195
191
174
215
190
191
133
174
171
173
215
209
245
129
251
183
191
176
151
158
146
214
155
145
202
199
168
166
181
129
219
175
200
153
141
248
179
169
217
176
248
132
130
185
204
168
183
177
173
240
205
146
178
164
202
203
149
195
224
194
169
222
178
202
202
230
209
255
162
239
129
202
206
210
210
191
235
176
227
237
191
173
156
182
204
171
129
130
217
173
178
218
230
159
175
176
184
208
138
168
183
235
146
210
222
204
239
200
244
171
128
162
173
306
184
151
184
262
173
145
130
195
146
183
173
165
204
197
227
197
184
241
196
133
180
184
253
141
200
172
184
185
233
230
182
170
236
175
189
232
146
130
162
168
195
243
185
198
202
249
240
172
224
168
191
130
172
296
161
170
210
198
129
211
158
182
191
188
194
172
179
222
163
186
180
176
160
225
201
191
176
204
169
238
210
210
133
129
143
164
164
129
288
192
173
200
197
133
143
156
143
191
130
184
146
237
179
237
202
160
220
176
218
175
232
174
143
182
162
181
176
202
151
129
174
130
203
176
146
158
250
202
210
171
143
232
204
178
193
212
236
168
171
251
180
186
179
252
146
211
146
232
169
115
247
193
235
206
171
208
230
130
119
186
168
283
184
155
162
188
275
179
217
222
214
163
263
144
179
247
207
213
129
235
182
191
206
187
218
155
184
143
172
146
216
223
146
242
246
145
130
115
146
165
180
181
252
200
146
264
133
216
173
270
206
145
130
243
204
150
165
165
225
239
184
157
204
144
178
219
201
219
161
187
167
176
192
146
271
218
225
209
169
185
164
192
165
252
217
179
168
258
172
216
158
133
264
177
195
172
129
129
176
173
195
250
189
130
178
129
220
149
149
141
155
199
184
269
173
183
178
204
230
141
217
158
187
194
152
221
207
215
130
173
213
175
316
259
196
203
299
223
129
185
159
130
242
210
204
228
188
214
299
166
146
188
233
146
210
181
158
183
130
184
138
166
170
226
115
176
193
263
211
258
220
183
146
162
168
221
166
243
217
188
263
162
176
227
141
204
133
184
141
210
267
178
248
173
211
176
241
213
184
201
198
153
172
172
173
199
210
271
179
188
173
182
129
218
146
174
247
218
205
146
262
178
204
130
208
210
205
146
222
194
207
155
195
158
182
146
130
224
197
277
161
186
166
229
129
145
146
194
258
178
245
206
226
155
151
158
168
256
236
156
251
205
222
186
310
198
217
325
130
147
204
145
230
243
146
241
201
147
202
200
197
129
158
211
241
151
222
232
189
191
173
143
196
239
247
152
115
186
204
162
218
129
248
158
176
219
212
227
213
165
201
186
164
205
178
161
160
268
149
205
235
189
155
198
179
188
221
173
192
150
129
199
115
235
128
210
193
133
300
145
219
191
115
206
184
141
181
277
240
231
199
182
129
226
215
183
202
185
182
181
174
185
201
183
168
185
207
164
259
197
169
173
203
246
184
147
185
176
115
214
180
181
225
186
192
256
210
259
223
144
177
176
204
210
213
168
217
206
152
180
246
266
235
285
119
187
171
129
177
182
179
146
230
186
247
230
188
247
141
143
212
293
190
185
192
274
158
178
194
204
215
176
145
171
190
214
173
241
156
146
217
210
227
182
206
146
176
228
210
219
178
200
211
171
174
185
174
146
129
162
205
222
173
151
129
130
303
200
119
217
194
143
218
188
211
160
143
201
192
274
115
159
203
156
233
176
189
129
213
225
146
285
169
245
247
166
212
201
133
249
221
210
129
237
247
184
129
205
210
129
130
179
222
202
188
115
210
248
129
287
166
244
224
263
182
217
184
193
246
115
210
219
146
212
189
161
170
149
274
208
144
161
204
264
201
179
159
179
217
146
194
160
165
201
138
167
138
192
231
210
241
199
210
184
256
194
248
185
242
190
182
262
184
143
195
245
231
159
202
184
176
242
217
185
255
255
191
229
197
166
226
217
178
162
191
210
259
204
204
190
230
191
129
157
209
195
169
115
200
166
248
186
264
192
235
141
129
230
185
129
143
209
188
187
176
143
167
189
185
192
213
129
227
202
259
250
232
122
175
210
176
157
194
157
185
160
201
237
264
115
164
204
300
174
210
156
259
186
186
209
216
174
213
139
178
209
268
199
175
172
160
204
169
188
170
236
209
259
204
201
204
202
183
183
290
206
184
234
115
167
173
166
188
239
296
230
176
206
161
130
220
153
130
164
200
201
145
119
168
202
270
181
192
200
184
234
261
153
210
201
201
174
169
175
286
122
179
206
115
209
230
186
146
173
202
190
160
141
162
286
168
216
180
165
213
204
183
201
184
167
183
146
207
158
230
204
210
211
173
204
199
210
181
162
198
205
176
226
156
184
176
130
215
262
256
143
200
159
141
228
176
169
146
271
182
182
181
133
205
204
145
173
156
195
235
183
158
188
166
191
261
176
146
197
172
155
129
181
211
181
302
152
173
238
242
199
244
166
178
130
217
145
189
256
209
173
129
202
221
146
132
234
211
195
217
173
226
168
241
162
176
151
182
183
177
188
160
254
172
228
298
192
122
184
215
200
189
165
163
146
130
187
216
144
176
160
204
187
204
150
160
130
173
173
191
181
141
222
176
280
133
173
178
241
238
248
194
170
191
200
169
203
178
194
239
222
201
176
202
214
176
129
185
209
238
206
174
184
211
183
261
264
229
229
143
119
211
209
200
183
162
205
183
230
164
258
231
115
170
224
249
185
219
130
210
200
122
187
189
319
222
261
203
203
204
243
238
146
146
247
210
155
160
185
130
184
122
180
234
173
227
191
145
179
206
174
200
162
180
130
217
152
234
221
184
211
179
206
215
181
204
150
193
176
176
173
146
223
180
182
129
238
191
129
168
182
179
173
173
192
231
133
146
264
129
173
224
149
234
174
144
146
207
245
204
232
275
194
180
214
186
255
196
204
176
189
217
273
253
205
263
194
115
201
191
143
173
155
190
210
201
388
206
238
181
173
165
146
300
173
146
201
195
201
146
149
171
204
182
217
214
202
221
248
179
214
225
176
184
176
203
187
166
145
192
267
212
155
201
184
185
176
227
204
264
215
181
143
146
155
261
222
286
283
141
237
173
206
129
169
194
213
166
145
179
227
195
184
155
199
195
202
165
184
189
173
227
261
198
229
130
210
129
176
214
166
186
184
236
150
181
183
246
193
130
166
205
176
204
166
170
180
206
217
204
173
164
213
210
173
146
210
262
130
221
129
146
187
214
225
189
202
145
239
185
236
188
201
252
184
212
195
204
170
174
168
191
257
146
201
258
236
130
171
168
255
204
129
115
230
227
206
200
191
176
130
236
331
182
157
222
122
239
191
264
189
211
155
203
184
241
167
190
204
250
183
176
184
153
202
217
261
208
233
173
197
130
184
164
240
129
245
148
143
204
217
160
235
230
182
173
173
182
144
145
173
130
161
216
204
250
199
269
173
211
209
167
200
145
179
156
298
162
194
246
171
194
180
132
146
251
230
245
160
243
191
256
211
168
189
145
130
248
261
191
211
115
152
174
122
184
146
207
187
164
238
192
191
138
130
128
182
184
115
200
204
238
216
190
115
217
199
271
253
182
187
178
206
204
173
143
251
172
296
254
176
189
209
173
181
206
129
164
195
211
129
164
172
156
204
199
193
155
162
213
222
173
176
168
274
195
199
184
211
167
202
130
147
193
170
162
198
228
176
158
146
254
228
209
162
226
200
184
278
171
138
165
216
167
208
179
203
169
155
222
216
150
183
203
192
236
178
177
145
158
202
146
261
203
210
213
222
203
228
221
176
263
149
247
133
221
168
241
246
160
179
129
130
191
237
184
227
239
229
142
206
236
187
217
173
167
158
173
201
191
171
229
146
202
242
133
182
237
261
238
145
146
230
211
173
273
162
164
206
213
145
230
242
203
238
192
171
191
185
156
251
153
180
173
191
192
149
180
166
115
186
129
171
207
221
146
142
146
217
235
138
184
216
204
180
206
146
232
173
164
202
226
133
146
182
204
210
261
232
216
184
162
164
229
201
235
208
158
173
210
215
225
189
220
234
172
129
232
210
249
200
232
175
295
180
224
246
173
202
230
253
300
325
242
197
168
138
206
164
220
255
261
173
207
236
192
210
176
194
180
171
263
141
119
217
211
188
204
150
183
162
264
162
210
179
217
221
176
221
264
189
217
129
256
210
149
230
282
194
215
193
183
229
147
216
183
202
115
376
158
171
218
191
202
146
146
180
270
155
194
187
275
239
165
129
166
183
130
216
169
275
192
130
247
166
204
239
216
184
130
217
183
162
184
203
210
172
231
162
247
146
208
201
262
230
193
191
176
260
267
183
168
141
171
173
179
174
220
151
173
237
185
146
210
186
145
219
208
201
185
198
257
146
141
262
211
146
146
173
201
151
222
216
192
180
254
211
183
203
129
138
145
205
257
130
227
170
258
190
228
206
259
182
222
190
195
322
217
202
173
161
175
198
191
172
181
212
247
228
133
181
206
256
210
205
168
207
176
129
229
128
226
211
146
162
257
119
122
232
145
194
169
162
184
168
221
173
307
176
146
225
259
173
298
237
210
249
146
143
158
195
253
209
155
207
201
205
150
208
208
153
129
162
193
183
160
180
202
217
164
182
132
157
230
170
161
231
236
204
189
192
191
170
149
204
146
263
272
194
138
217
194
146
247
212
144
178
238
212
145
173
130
155
133
208
246
186
130
219
152
145
230
128
186
273
170
211
281
129
138
162
230
280
194
191
222
202
177
151
230
171
247
196
201
194
157
175
240
158
163
221
210
204
171
181
133
164
194
156
214
210
168
211
201
131
146
177
207
129
210
203
130
141
216
193
243
200
153
180
176
201
166
157
274
222
185
143
233
209
230
129
225
183
206
169
171
129
191
146
133
153
188
157
229
176
255
138
199
220
176
299
141
241
240
179
146
274
133
149
133
204
210
234
238
155
229
170
254
145
130
205
208
193
198
271
115
184
179
149
226
166
179
204
205
287
193
176
184
179
129
200
190
228
278
133
129
233
175
252
145
297
299
204
195
176
204
228
179
211
253
171
156
180
230
246
200
212
176
236
150
271
228
225
238
275
239
184
184
143
214
129
234
129
115
162
209
195
204
203
196
146
217
186
217
140
201
179
206
146
200
203
196
198
130
119
172
210
244
194
156
265
174
129
191
115
228
227
210
230
157
202
183
182
164
129
162
172
158
221
232
181
211
192
212
182
209
129
145
146
247
181
130
175
202
191
127
130
174
173
130
207
202
130
150
244
211
158
206
205
207
201
210
254
201
141
224
133
206
130
237
240
164
150
157
173
131
208
205
150
192
173
204
173
217
182
216
238
144
204
129
184
210
155
215
273
129
239
235
143
259
196
155
229
155
200
239
194
250
246
176
232
192
146
146
193
234
214
155
211
122
149
166
211
202
146
204
166
246
145
173
198
189
176
210
250
158
203
166
218
185
205
165
217
194
181
156
188
149
176
164
214
221
287
236
173
162
201
202
227
173
210
200
173
263
158
256
149
199
247
197
158
180
178
179
133
152
218
267
199
168
239
188
170
173
248
216
253
185
176
242
168
168
130
211
236
190
146
133
205
185
203
180
210
243
206
173
307
178
174
279
161
221
224
174
162
162
191
204
255
246
115
129
224
226
186
168
146
230
178
156
195
262
157
188
238
211
178
173
227
188
199
215
141
204
122
174
214
212
210
248
167
191
204
165
179
177
146
217
141
184
200
204
238
183
201
173
202
240
220
158
193
141
180
190
180
133
226
161
183
274
185
167
164
168
160
172
164
170
168
250
200
206
229
214
158
130
241
214
194
179
210
195
231
180
216
235
244
233
184
182
173
130
176
221
192
184
222
200
201
176
133
146
193
164
133
224
166
209
146
191
240
203
168
236
133
269
210
173
222
210
183
191
146
133
232
188
185
212
208
201
192
183
173
169
194
214
231
161
129
182
165
255
129
179
264
178
174
133
168
263
180
169
239
174
165
159
174
193
238
192
218
184
237
146
200
218
162
152
200
204
193
178
178
214
173
247
253
132
157
146
128
162
228
244
150
191
151
217
177
263
190
300
204
173
203
129
221
173
145
220
146
146
209
115
188
138
168
184
158
204
183
210
217
302
161
241
182
155
234
188
176
188
201
167
182
189
220
199
209
207
180
189
217
262
225
182
129
176
268
168
204
183
158
173
122
221
317
193
197
146
185
182
166
149
174
259
182
180
199
188
166
197
233
160
209
254
176
158
268
174
246
151
254
129
156
236
182
192
176
217
177
240
164
244
130
181
204
130
259
188
185
170
231
184
238
202
283
257
181
157
303
228
290
236
222
164
215
176
164
162
170
203
146
252
185
201
150
240
263
173
229
225
146
160
201
169
133
194
159
145
133
262
197
175
182
204
190
262
176
173
181
166
182
173
115
130
179
254
225
206
263
251
217
147
184
249
176
246
130
212
146
228
189
244
168
294
192
186
261
161
217
213
201
238
205
213
204
242
156
177
167
141
171
173
228
244
195
122
217
335
234
252
214
192
146
191
180
182
176
230
217
199
174
130
210
210
197
115
285
147
145
153
173
133
206
204
162
269
161
180
237
172
158
155
164
266
214
225
194
173
216
189
224
145
214
192
245
156
184
183
216
311
129
199
215
129
185
143
227
227
233
207
133
183
255
130
176
176
130
167
201
182
191
168
211
205
160
181
227
129
269
171
218
230
194
238
169
182
194
207
211
194
166
191
173
196
204
194
153
168
174
173
130
178
191
206
230
214
184
147
174
207
178
130
193
180
183
202
132
225
197
174
180
218
208
210
145
133
192
226
204
217
156
182
173
283
227
185
171
182
223
212
218
141
258
198
333
274
198
182
171
182
173
194
149
145
204
180
173
168
229
182
115
184
186
146
256
160
232
188
199
220
230
211
236
169
217
217
204
240
129
119
184
251
214
164
207
130
164
146
158
224
179
175
203
222
189
165
226
184
194
201
187
172
218
212
204
146
224
201
220
182
220
173
248
173
240
164
195
180
214
265
210
173
146
146
146
165
173
206
158
204
187
204
192
176
160
211
256
145
138
210
191
173
164
227
161
239
179
171
171
133
166
157
151
200
237
202
167
145
259
201
211
168
176
201
204
210
178
130
221
146
143
216
122
155
184
244
173
157
335
189
164
176
146
129
198
208
180
141
242
152
242
141
204
115
199
175
174
157
162
168
186
178
129
176
173
171
143
228
119
201
266
217
211
185
211
199
205
184
216
214
264
175
173
146
149
202
211
201
217
222
258
173
185
192
129
213
188
162
130
275
178
275
187
167
150
217
229
180
217
193
169
231
168
156
191
238
164
214
133
179
176
140
222
146
200
194
174
229
155
211
210
202
238
161
141
176
190
216
156
166
233
191
179
202
149
133
238
156
145
185
204
174
192
217
161
207
133
211
211
164
138
162
195
129
288
206
186
220
204
236
168
228
195
211
174
204
186
132
129
229
200
214
166
206
257
158
250
204
271
204
190
176
222
194
170
222
191
238
176
178
246
171
175
186
210
158
181
204
262
234
221
130
146
236
129
238
166
164
215
192
143
225
202
195
248
173
251
171
184
245
207
221
146
217
176
233
157
162
230
234
188
203
258
166
228
245
202
180
225
220
176
236
236
146
242
211
211
173
176
214
207
146
185
197
231
258
141
182
240
178
242
190
173
227
158
164
222
153
213
174
178
173
167
122
214
176
234
197
238
222
157
210
287
250
185
227
176
204
206
272
162
179
203
160
173
199
197
246
235
178
209
187
143
160
183
262
183
166
202
185
180
269
239
191
192
182
166
180
241
222
211
204
218
206
172
192
233
176
179
222
162
181
179
209
204
204
226
203
172
247
242
122
149
157
202
115
155
218
248
195
184
173
261
204
166
210
143
176
189
182
241
115
200
191
217
176
130
149
219
173
185
232
185
130
195
149
147
171
176
204
179
145
175
146
226
232
183
204
146
230
130
169
218
129
233
176
225
215
119
217
133
238
206
207
220
182
146
204
162
217
192
206
238
258
219
168
187
130
203
178
168
245
225
164
158
173
129
185
214
145
199
221
202
219
130
245
218
129
208
238
295
129
164
210
129
204
295
183
214
127
242
167
185
156
201
153
164
182
129
230
197
176
146
150
245
130
206
178
204
204
178
180
200
203
129
167
222
204
145
195
217
239
155
166
141
164
158
171
204
188
146
171
146
133
297
273
233
208
145
183
214
173
227
194
150
210
222
122
210
176
181
248
201
171
191
195
129
141
130
282
148
146
183
186
150
248
172
215
115
268
133
173
200
295
218
167
184
212
241
176
146
176
183
182
141
143
173
227
185
190
170
163
191
187
178
198
159
173
158
238
130
200
246
130
266
200
197
172
179
254
230
221
184
160
201
173
260
166
238
179
176
179
206
143
162
181
211
186
173
261
184
153
155
212
204
191
189
183
226
172
173
130
161
189
130
310
182
245
183
188
220
240
230
201
188
169
174
199
174
206
146
168
129
173
218
146
218
157
180
175
179
201
188
178
211
146
196
231
145
203
189
129
243
180
282
183
168
129
183
230
205
180
156
204
185
257
176
210
190
173
202
248
176
183
189
187
206
179
181
179
212
291
183
161
184
236
244
181
172
179
210
185
211
146
183
248
183
200
173
179
250
133
131
184
238
233
184
256
129
238
206
242
184
218
268
220
251
208
201
200
200
166
245
214
146
217
171
129
194
262
132
203
217
258
239
188
127
149
191
161
201
183
115
220
133
194
216
156
164
259
151
178
143
222
220
170
190
132
228
173
260
129
164
214
192
184
130
184
264
265
173
233
192
185
133
141
178
192
210
267
162
170
172
129
201
218
212
204
266
238
186
164
151
115
140
185
190
242
199
194
227
210
294
164
202
156
187
182
261
158
200
155
133
231
244
159
150
208
145
168
192
149
216
202
221
115
130
179
204
143
204
240
130
180
217
195
190
250
214
158
256
222
185
146
199
228
128
190
143
133
218
268
208
180
173
245
146
180
153
190
152
146
191
229
256
173
264
189
288
202
197
249
204
211
216
256
184
172
146
174
160
143
178
146
241
178
198
130
161
169
191
159
250
146
176
168
160
253
178
239
199
129
188
224
244
204
257
184
161
192
249
258
209
176
199
227
219
162
195
151
162
146
150
248
234
219
264
268
158
194
230
176
133
145
204
202
195
115
149
172
144
181
298
201
183
173
129
236
130
214
234
285
168
176
188
260
172
156
227
202
130
173
251
217
161
211
195
225
175
207
172
151
176
156
180
146
278
133
236
191
133
175
243
204
145
224
194
130
146
173
130
130
184
164
238
129
207
115
249
129
188
150
181
220
197
210
159
207
203
239
145
163
177
166
220
204
176
173
208
197
167
183
173
180
221
153
207
181
172
197
143
200
160
171
273
133
210
211
115
181
133
169
222
203
146
163
173
173
188
199
217
164
208
221
194
202
208
202
227
205
191
133
180
179
259
133
198
212
227
230
209
238
189
168
184
133
162
238
129
178
148
303
182
200
235
115
150
162
189
170
185
159
239
170
249
192
174
184
229
202
200
199
133
201
209
208
159
144
237
173
181
133
224
189
189
143
267
145
132
202
170
225
244
217
229
194
183
168
273
129
206
238
218
204
255
213
115
202
178
145
219
246
236
204
166
173
313
179
227
222
203
183
166
201
214
155
173
211
259
204
178
146
204
176
133
263
143
208
267
162
209
178
210
217
169
141
227
175
300
184
129
175
226
194
263
212
179
203
191
146
163
222
130
166
187
293
164
238
183
129
133
164
251
220
200
218
236
166
230
198
180
254
200
167
194
192
210
181
241
247
222
130
246
236
200
176
145
208
191
190
246
188
201
201
184
222
164
129
146
215
168
201
130
158
218
217
204
146
145
259
183
222
176
215
229
187
181
147
166
201
182
204
145
216
180
206
214
229
217
200
140
162
129
162
178
210
216
305
183
185
192
236
242
146
176
203
217
129
132
115
129
189
168
257
156
207
155
168
155
214
143
240
173
173
172
156
185
194
203
201
195
167
173
233
179
206
227
186
238
228
202
225
201
164
143
146
238
264
230
141
183
202
162
152
178
181
221
244
201
155
133
150
164
180
252
157
212
202
193
195
300
217
222
216
206
179
235
130
159
213
217
203
146
222
168
161
130
206
239
145
276
206
157
219
181
197
158
130
209
131
192
211
188
236
261
156
204
204
174
129
190
115
211
173
222
138
243
147
160
167
176
162
130
182
129
146
166
176
172
224
230
158
144
213
162
216
179
175
236
143
246
162
217
205
130
159
149
130
220
179
195
190
218
236
195
187
239
161
300
206
204
210
164
158
175
207
130
253
200
192
202
145
179
150
145
265
182
200
211
204
179
168
169
162
149
183
146
183
218
129
194
150
263
253
149
161
129
133
183
264
173
169
229
166
198
188
164
253
243
213
207
176
184
162
186
227
115
202
215
218
176
183
182
191
261
172
189
150
204
176
210
173
157
275
254
291
174
176
175
184
167
173
221
204
181
236
211
173
201
166
130
195
192
287
210
204
222
176
176
185
212
173
162
204
267
180
202
206
243
241
186
129
202
195
247
176
183
164
229
238
149
230
179
179
225
201
171
179
297
217
207
155
208
176
171
162
239
143
115
190
197
272
290
257
161
221
176
166
180
185
162
156
198
176
238
173
156
190
173
241
231
194
191
179
166
178
191
130
182
218
168
176
176
146
146
173
229
146
146
206
266
238
206
198
168
225
200
176
128
192
162
159
153
227
195
281
130
129
190
204
168
200
251
173
199
173
217
203
211
207
244
236
212
207
267
199
158
144
225
129
182
192
270
223
212
133
129
238
162
260
165
249
217
133
257
217
191
264
170
182
201
146
250
247
144
200
146
204
255
172
203
204
194
216
115
239
210
185
162
237
146
207
186
204
245
180
239
172
185
242
148
192
224
155
152
203
194
222
200
185
185
227
283
252
210
129
144
214
175
192
181
174
207
185
207
217
158
162
146
213
180
185
204
166
160
193
150
143
187
204
190
161
176
224
223
122
182
195
275
188
244
179
256
202
150
178
184
198
187
197
186
206
179
160
184
176
217
202
217
150
178
230
236
143
200
246
182
230
169
172
234
159
185
150
176
176
145
145
230
264
236
168
149
200
178
203
141
143
173
143
178
183
201
161
217
162
214
174
174
228
152
150
176
188
130
144
222
204
146
192
201
225
176
138
249
176
235
163
155
221
146
193
164
162
162
194
187
179
179
149
178
183
168
156
160
214
200
174
133
204
215
129
282
188
202
201
204
230
202
165
195
238
239
180
288
227
146
184
206
184
131
173
248
146
176
146
184
211
177
180
152
257
173
191
239
180
212
246
217
266
162
204
188
168
217
146
212
259
158
149
214
175
210
191
143
217
230
230
238
225
217
187
225
158
186
143
168
229
179
161
210
157
223
163
191
176
129
213
234
245
197
198
225
143
238
209
191
219
176
122
143
156
181
130
242
222
173
143
172
217
210
209
191
130
179
236
211
266
171
143
189
146
187
203
176
194
293
251
221
241
189
261
146
145
218
159
270
172
174
217
201
179
149
189
204
171
167
216
206
146
153
197
235
283
192
283
176
163
217
176
170
180
211
212
227
131
179
210
229
230
243
222
192
211
168
130
146
176
180
143
115
240
262
196
161
182
179
225
162
129
183
273
223
184
130
145
265
173
179
184
174
217
138
176
217
183
164
195
218
122
172
183
236
143
176
268
191
162
115
203
168
176
216
193
254
130
209
217
201
251
198
202
173
159
187
221
210
204
227
129
204
214
208
176
270
187
190
184
215
182
231
143
182
159
133
214
155
239
138
231
237
160
177
186
169
173
178
168
155
181
204
276
130
146
254
129
133
303
204
209
246
153
168
252
178
171
230
239
200
180
185
166
189
257
174
251
188
231
146
157
197
204
271
115
220
201
207
173
217
144
173
130
241
272
185
187
234
227
191
180
164
162
145
129
206
175
247
245
201
146
158
146
150
200
205
300
173
204
181
235
210
211
234
175
200
204
200
245
217
162
217
191
208
210
183
186
210
283
240
189
211
227
146
200
173
201
194
277
231
129
197
200
191
176
209
202
231
176
262
185
179
180
129
219
173
220
146
179
161
146
246
204
130
186
184
216
195
275
185
230
200
160
224
161
176
200
182
202
211
207
240
244
129
188
204
169
177
239
176
146
162
129
143
179
180
196
119
251
182
230
194
155
173
230
173
218
166
173
231
151
265
128
157
129
174
253
130
133
203
219
203
272
212
160
130
206
236
143
143
193
165
272
179
179
185
146
201
129
185
198
217
217
200
164
220
179
192
202
171
218
186
238
275
216
193
176
174
217
122
205
231
293
248
164
179
183
189
152
225
187
201
176
189
158
205
138
246
200
129
252
188
214
192
162
146
263
217
180
129
229
229
188
184
160
146
191
175
183
230
183
185
145
227
206
263
157
168
190
155
201
130
160
235
130
225
165
129
159
200
239
146
183
191
240
204
176
179
188
169
160
202
225
186
176
173
283
188
222
145
130
173
274
173
194
185
201
229
156
165
237
236
154
184
146
203
204
185
206
179
248
155
232
143
259
133
184
129
173
180
115
203
162
168
186
185
178
146
184
254
251
180
179
212
152
221
204
216
176
191
183
184
182
209
222
230
185
146
217
206
192
204
233
133
150
145
211
155
150
214
200
211
251
239
199
147
162
297
209
173
133
174
156
146
255
201
156
246
210
214
191
204
145
146
133
160
149
189
230
191
213
178
183
151
210
252
262
146
225
129
204
201
176
200
194
335
231
204
231
161
188
222
149
211
194
115
211
145
248
164
238
209
172
210
194
212
150
184
225
239
193
176
214
215
166
186
211
204
218
204
210
184
179
173
302
183
150
218
201
158
146
176
200
258
229
202
223
242
251
189
164
129
214
178
141
245
203
167
162
200
183
229
194
202
190
170
165
239
199
227
129
210
133
146
176
191
157
209
247
130
145
176
152
228
201
199
130
218
237
201
262
234
151
139
240
179
200
216
222
155
172
246
147
132
205
241
190
178
198
115
173
145
200
178
191
228
195
119
179
189
201
240
216
155
144
162
180
238
178
187
211
178
210
253
263
208
150
199
130
220
202
265
206
238
193
138
258
235
198
204
200
173
210
230
173
165
129
201
180
158
181
129
200
162
169
179
172
227
205
279
261
176
184
133
187
158
261
217
176
199
241
261
155
252
145
162
206
181
129
214
144
179
173
146
209
180
157
153
194
168
278
200
173
201
201
180
169
191
246
246
204
146
162
146
213
128
217
178
217
132
204
164
257
160
176
182
129
216
195
168
176
203
130
147
192
205
269
224
217
176
189
251
168
155
206
225
203
223
146
214
188
178
201
129
231
222
150
225
189
190
162
155
179
205
133
224
268
278
204
239
258
190
220
184
174
180
211
195
133
202
191
239
172
157
276
280
143
198
133
194
192
204
280
192
178
217
133
216
185
184
242
233
143
212
129
191
217
163
167
156
188
221
173
173
230
164
229
159
143
217
145
218
199
195
157
227
174
181
225
129
195
211
115
179
162
146
176
216
202
227
178
211
221
141
200
180
143
138
209
130
261
204
231
222
185
244
217
182
179
213
160
205
166
146
168
188
242
160
249
203
185
146
215
204
191
171
227
179
265
180
210
146
204
129
130
192
196
138
213
161
175
176
176
181
157
228
188
269
176
173
191
202
141
128
247
223
129
211
206
189
239
226
259
229
215
204
181
161
183
176
263
169
261
179
230
198
172
202
178
226
229
129
236
177
209
216
188
206
131
285
128
156
183
158
212
239
156
161
200
265
158
165
184
185
146
200
251
258
166
204
236
185
189
133
178
187
185
217
194
130
168
264
252
128
181
150
156
211
156
115
129
186
176
155
187
171
304
188
149
206
165
133
212
185
175
122
171
115
221
146
201
216
214
264
156
192
164
130
141
187
261
145
191
164
221
199
184
180
217
257
236
170
146
189
225
203
263
146
236
129
206
243
168
188
210
204
181
189
180
155
230
241
225
219
164
186
197
133
235
169
158
130
201
321
250
203
162
167
182
287
242
203
206
179
190
221
130
200
122
130
129
203
151
216
202
147
184
173
182
173
260
203
183
129
166
138
168
285
238
207
265
133
166
208
162
168
182
207
204
204
210
173
240
189
122
192
206
218
146
219
182
225
222
236
185
177
175
130
132
216
115
247
186
270
228
225
170
217
214
171
264
240
246
243
263
162
150
180
164
309
115
209
162
206
232
158
176
221
245
204
164
184
181
138
191
273
181
164
133
155
150
143
206
162
130
201
218
191
200
227
129
206
187
202
225
201
164
230
236
180
158
130
230
225
304
173
129
204
216
169
190
174
223
158
145
130
176
143
239
201
130
193
327
179
237
156
162
180
115
256
297
158
170
185
227
214
230
275
115
183
195
298
186
184
143
204
263
196
182
185
208
122
180
222
224
273
180
206
224
132
210
130
162
115
270
189
202
152
210
176
155
202
232
163
214
219
152
271
176
240
201
182
165
173
195
174
272
259
200
217
146
130
150
230
210
115
138
204
201
182
130
129
208
175
172
128
179
211
183
203
204
230
159
146
129
254
197
133
185
192
217
162
161
295
151
230
161
262
172
149
173
129
180
197
173
244
155
244
153
242
215
231
233
200
300
211
201
160
237
146
176
159
129
156
158
228
160
176
185
184
179
206
188
184
146
236
122
158
168
248
191
155
130
203
178
130
129
250
130
202
188
206
173
217
210
176
176
234
178
273
168
173
162
235
207
251
174
285
149
166
145
182
219
173
202
146
175
184
232
208
206
280
180
232
165
162
234
226
195
204
210
173
182
146
230
191
210
146
192
155
199
230
191
181
210
162
202
267
132
157
225
156
145
321
173
159
213
213
173
189
187
203
237
228
175
217
182
235
170
245
214
221
220
146
129
145
208
173
251
129
195
207
169
203
172
145
203
195
204
176
173
206
176
208
203
228
201
224
183
149
238
229
205
180
204
172
169
200
161
192
149
242
210
191
217
129
187
173
194
164
187
190
248
222
199
261
176
161
225
198
138
146
217
182
185
133
130
192
229
115
176
166
152
164
240
214
201
242
156
185
129
200
201
225
146
129
201
199
190
202
214
194
227
200
143
168
179
189
227
206
138
208
286
185
173
257
189
199
145
144
182
185
252
129
176
258
176
211
236
173
128
144
260
244
173
222
181
216
259
143
268
238
163
219
146
255
191
217
164
204
194
199
219
229
305
218
176
192
168
164
197
202
176
176
278
198
176
282
272
151
259
146
217
179
287
184
166
251
180
210
278
182
184
208
143
289
179
259
186
202
228
156
129
179
256
211
241
231
139
146
254
217
210
173
209
188
241
157
173
173
223
192
130
206
173
168
186
186
168
145
147
176
246
130
274
155
211
211
226
192
203
168
199
149
129
189
146
208
206
262
164
215
208
161
169
194
173
200
246
130
219
200
226
146
239
255
230
146
227
204
185
179
284
189
210
202
171
168
176
155
129
159
153
222
155
182
230
204
129
187
192
143
182
192
210
198
202
204
176
255
191
285
164
178
211
160
194
166
190
160
141
115
209
225
189
208
160
224
173
150
179
214
233
130
194
166
202
206
193
232
200
179
255
168
190
210
175
254
204
162
210
183
239
219
280
141
162
217
256
210
183
133
262
162
201
170
198
161
129
146
156
222
194
224
146
162
204
176
192
173
175
183
173
217
237
186
217
159
173
129
129
215
202
303
202
185
176
235
130
204
238
213
193
166
163
244
251
161
158
236
176
218
162
164
176
183
173
192
156
175
228
149
189
164
178
178
146
296
240
182
252
258
226
179
242
200
147
218
219
171
262
176
202
211
207
115
215
210
145
145
228
155
179
216
164
221
191
203
200
214
130
172
122
203
265
217
130
210
143
184
130
211
182
129
130
187
198
129
181
130
200
227
205
209
146
150
201
181
257
133
181
219
270
172
155
192
201
228
158
133
168
231
162
182
146
187
214
144
119
246
180
162
129
122
187
194
189
221
233
237
173
227
188
203
201
133
143
281
183
155
227
200
115
215
179
214
176
204
204
224
243
187
255
145
138
215
150
221
233
203
202
210
173
198
221
247
269
200
211
193
138
150
219
228
115
188
277
173
221
242
202
212
233
182
130
229
205
167
214
278
167
211
211
176
169
176
173
143
250
182
179
202
146
262
143
115
143
261
189
185
165
179
227
209
183
133
161
216
166
178
179
242
201
146
176
146
238
164
130
203
197
155
274
199
145
211
204
185
189
244
115
162
207
204
169
246
202
195
226
175
200
242
202
150
174
265
198
172
235
129
153
162
155
176
205
202
146
183
173
258
201
160
171
194
198
143
149
200
235
200
194
253
166
162
210
227
129
170
200
219
143
191
182
184
206
264
228
217
203
251
175
155
221
179
194
162
225
233
133
217
155
187
174
145
228
171
165
158
192
130
201
222
206
210
180
186
143
220
171
211
251
202
266
219
277
209
200
303
197
176
185
229
158
184
143
206
192
191
138
156
254
287
164
263
160
145
176
179
146
230
257
266
210
138
168
176
239
211
193
168
200
238
146
158
206
164
129
130
176
236
241
150
252
206
208
146
176
204
204
122
201
173
200
152
146
187
222
179
133
185
173
159
189
184
197
143
217
181
254
207
129
166
197
303
202
188
129
217
211
182
206
164
158
279
178
183
256
150
179
237
195
173
165
200
246
234
173
231
179
141
181
162
200
183
251
129
184
211
190
249
211
200
201
236
169
199
138
221
156
204
138
168
166
156
133
185
185
184
216
133
192
180
231
176
195
254
195
168
133
213
192
246
201
246
211
236
211
143
189
210
177
167
202
169
176
182
202
144
194
199
150
224
204
173
201
206
159
146
185
173
185
256
178
173
209
188
139
227
206
156
201
218
188
183
210
164
171
201
297
251
303
266
176
185
141
194
203
300
262
164
256
129
211
191
172
133
166
161
129
201
200
189
251
250
164
204
201
213
169
157
147
218
146
158
140
168
204
188
176
261
246
194
229
228
182
254
183
201
176
204
182
219
167
145
146
115
188
130
130
146
166
215
186
150
152
300
190
130
168
172
208
151
216
211
200
185
270
244
173
236
227
129
221
248
192
184
162
130
129
175
210
269
159
247
182
203
158
146
209
189
220
115
253
176
211
173
130
184
203
129
246
244
178
158
155
239
179
212
145
182
185
176
172
179
176
163
186
203
252
255
180
168
203
262
146
140
219
179
269
204
239
119
167
273
265
173
161
244
240
217
162
181
141
133
157
210
176
180
220
176
157
233
153
168
298
138
215
169
203
197
168
205
206
184
210
204
295
176
191
173
215
129
201
188
182
230
130
225
204
210
164
150
164
168
191
169
188
227
176
130
141
152
216
192
184
240
183
287
176
204
200
130
167
253
210
206
176
178
201
184
171
200
201
191
204
237
209
163
156
150
203
162
176
290
129
244
180
275
255
160
210
162
164
146
235
256
122
173
172
294
227
210
287
228
129
274
205
180
255
189
217
176
238
206
194
173
169
173
197
238
222
204
200
185
186
176
145
191
146
173
176
183
146
145
196
155
238
208
264
226
206
216
176
176
185
246
253
115
196
180
129
201
221
115
213
146
217
225
204
214
200
152
262
211
160
143
155
216
147
210
227
164
129
263
214
156
146
210
141
239
211
169
258
268
197
177
217
143
211
335
209
153
204
328
201
187
171
173
129
217
155
179
144
225
210
242
230
150
222
233
217
220
206
133
168
173
130
162
204
341
233
143
207
204
173
236
264
122
164
176
176
191
249
168
143
277
200
163
159
230
284
145
227
172
200
164
191
178
205
228
191
231
238
255
294
191
261
185
228
122
159
173
173
253
309
186
180
214
236
299
217
138
204
155
129
138
191
227
244
162
180
146
288
213
182
186
176
230
201
175
130
238
155
204
172
211
128
128
159
171
190
205
229
179
218
192
133
235
201
200
206
173
221
216
197
148
202
287
202
250
168
208
225
115
191
201
206
198
169
236
207
167
184
173
166
129
182
149
146
202
166
211
217
186
187
235
130
130
130
156
168
240
189
207
184
209
115
209
160
201
200
187
191
166
129
210
288
201
224
202
236
146
146
252
166
257
208
122
206
194
164
184
202
143
186
219
171
186
203
227
228
176
238
278
225
214
210
179
261
138
247
193
204
181
130
157
178
221
164
200
130
204
192
230
272
129
178
217
184
184
162
251
267
155
177
274
236
145
230
178
183
239
207
273
178
232
236
192
129
201
155
227
221
168
149
275
202
185
282
177
262
238
198
185
162
158
239
225
180
161
193
130
217
161
232
238
173
161
266
240
188
185
209
130
168
133
182
174
141
173
176
169
227
239
295
175
181
264
228
189
147
211
156
145
169
194
188
181
130
158
145
129
168
204
262
133
220
211
212
147
186
190
183
206
202
191
171
255
199
176
289
173
192
129
232
183
280
146
115
228
173
173
203
227
133
217
129
210
227
181
184
164
191
147
213
210
201
238
146
129
184
195
184
185
204
188
188
166
184
203
146
166
128
152
217
129
173
152
225
228
168
183
173
236
189
133
239
152
234
168
214
179
257
211
217
180
133
251
176
202
185
176
212
162
231
188
204
158
210
157
173
160
213
149
195
133
224
192
204
173
115
141
178
162
199
187
206
182
173
200
155
190
214
173
146
264
210
321
115
200
202
224
235
164
228
203
130
194
230
222
160
296
145
204
198
173
188
208
191
157
233
183
236
158
179
146
159
216
202
178
164
225
176
169
182
158
201
152
201
169
179
178
166
157
173
176
184
359
128
238
173
185
202
195
251
184
200
130
194
160
222
180
149
210
143
201
300
155
221
233
184
197
236
183
244
169
145
179
183
210
234
188
146
130
206
201
119
191
129
206
146
228
207
129
187
176
184
247
225
143
201
194
217
130
129
173
148
248
164
177
184
130
167
195
191
203
222
185
130
159
211
176
213
221
158
179
236
222
299
169
181
172
238
145
145
176
173
130
173
184
175
194
197
195
184
159
198
122
198
201
155
190
173
180
179
182
204
156
200
206
194
188
130
204
178
220
172
206
227
130
217
202
230
170
130
173
250
189
161
198
133
231
130
211
115
130
168
202
247
179
206
192
254
145
226
243
236
149
133
189
216
170
173
174
264
173
195
189
183
129
252
210
178
204
266
192
203
214
204
229
206
219
129
180
129
221
215
129
213
263
221
252
146
214
173
168
169
275
164
201
152
203
160
225
115
133
158
182
217
129
221
210
190
178
217
129
208
149
161
164
204
129
185
161
146
229
207
183
178
189
130
199
173
200
157
217
173
213
258
158
182
221
214
190
146
226
194
262
283
182
210
206
183
183
133
273
162
226
335
167
186
216
160
171
193
164
238
146
158
145
143
191
129
152
238
169
239
205
244
173
236
194
226
130
161
237
181
167
169
115
129
230
180
155
210
129
176
214
150
202
122
217
247
180
147
181
267
161
240
226
176
176
174
129
162
173
166
210
192
133
263
143
179
175
162
221
238
247
130
161
186
164
205
221
236
210
210
189
206
250
213
225
189
146
227
167
174
186
174
138
172
247
217
115
236
191
189
201
204
146
236
173
150
162
222
227
201
205
168
247
230
178
206
220
236
210
201
183
207
303
194
160
173
211
143
193
204
173
216
193
204
204
210
130
217
133
216
188
146
169
141
223
186
144
146
192
128
184
209
130
185
214
168
252
145
173
145
115
173
129
192
221
200
197
335
173
210
194
214
221
200
199
252
201
229
208
217
185
193
182
258
217
198
233
169
189
141
143
204
175
183
218
295
179
115
177
203
194
253
222
238
204
129
217
173
227
194
158
209
129
264
221
190
177
130
205
182
144
183
255
183
130
167
168
250
192
177
180
219
191
169
281
168
202
179
174
199
130
173
211
218
169
158
217
182
221
203
218
163
195
129
130
130
182
156
216
173
130
193
177
146
168
208
202
172
145
202
201
146
238
149
221
141
224
217
155
183
191
130
223
184
129
188
211
259
221
129
238
168
178
186
176
229
252
267
198
265
151
173
244
205
186
129
168
215
201
172
202
191
179
129
183
173
201
204
164
184
156
176
191
247
204
182
262
166
216
170
151
119
183
177
182
335
169
205
261
210
186
176
226
242
183
161
185
182
215
185
146
204
129
221
138
176
145
181
181
241
227
184
161
205
158
173
176
216
230
273
202
259
115
231
183
251
146
157
129
173
174
188
246
294
178
186
181
218
162
250
164
206
160
182
173
183
208
181
246
245
115
179
237
213
191
172
195
208
184
130
244
254
267
228
202
188
174
283
155
206
152
174
204
168
218
141
184
160
195
207
176
129
227
195
143
211
223
239
215
182
201
262
307
170
188
176
210
193
185
156
162
218
172
178
186
185
179
151
228
239
162
173
264
168
141
188
210
162
217
213
179
263
217
229
273
184
215
201
180
201
172
223
176
115
217
200
130
185
210
217
130
129
227
220
189
198
176
176
211
224
197
133
130
173
274
245
198
181
174
234
186
245
246
266
178
261
227
266
300
201
184
236
204
119
172
210
183
156
185
222
133
217
227
191
168
184
169
146
169
133
223
209
173
224
255
158
221
193
159
176
192
151
261
193
239
204
207
183
232
200
176
298
145
147
156
179
173
158
131
293
188
189
209
149
173
188
174
255
275
259
185
173
260
151
130
248
145
146
176
229
192
185
176
161
267
179
217
150
173
174
149
200
237
201
179
171
203
176
198
225
156
162
228
171
221
210
172
177
211
162
145
164
202
207
191
229
129
184
192
212
146
238
204
187
143
230
146
200
176
162
162
173
169
185
217
182
277
182
178
211
164
122
204
194
192
242
162
261
130
130
173
211
180
191
146
230
129
165
213
206
222
222
173
202
164
190
185
214
157
205
176
130
188
176
168
203
155
206
137
146
139
257
168
173
169
217
283
129
130
183
129
223
182
203
222
264
164
204
201
190
122
168
201
161
204
230
236
208
242
242
254
230
225
225
238
240
229
129
187
225
254
206
115
132
163
181
259
168
210
184
158
234
325
129
146
185
241
201
145
174
166
240
195
214
178
254
171
312
237
168
258
158
130
211
224
164
143
194
210
191
211
172
132
180
146
200
170
187
232
162
203
273
221
122
173
298
164
214
213
218
161
167
214
183
225
191
254
201
178
188
217
275
242
202
141
185
170
185
234
149
199
218
184
210
182
184
129
179
238
176
259
115
210
191
229
146
173
252
211
145
272
230
184
269
192
198
206
129
122
207
248
150
200
173
192
184
158
204
241
138
203
194
210
130
206
130
150
155
158
161
244
156
167
195
201
209
186
176
185
150
146
130
157
264
155
235
129
197
158
335
172
153
236
192
246
196
182
179
204
150
180
248
216
146
169
157
226
141
192
161
184
256
179
243
130
129
207
200
195
165
214
141
146
220
173
163
231
164
146
158
177
144
202
200
201
146
198
214
192
173
260
198
335
146
209
155
200
227
189
146
197
194
318
180
199
236
129
231
173
246
220
217
201
160
242
210
202
191
211
201
250
188
227
130
182
168
192
129
252
287
218
201
155
217
208
227
259
217
211
210
170
211
160
211
221
211
248
155
173
173
187
150
194
204
201
200
195
129
192
173
210
188
265
130
209
167
162
143
173
158
158
221
191
200
156
170
187
204
224
178
230
178
253
238
227
115
160
200
225
192
218
185
176
181
217
184
143
211
205
115
162
115
232
157
213
179
176
161
209
205
201
222
130
184
238
179
204
173
133
230
184
191
239
158
277
161
130
253
141
247
254
207
217
185
155
236
197
165
185
188
179
182
161
238
155
130
130
164
129
219
194
159
211
204
178
178
203
261
164
222
175
170
138
138
213
221
181
168
146
184
221
144
213
184
173
209
231
289
183
182
150
257
267
179
220
173
239
129
259
181
173
212
173
174
145
247
211
155
129
211
199
192
185
228
182
202
174
285
199
194
160
143
216
211
149
133
155
297
164
202
264
180
236
179
204
216
179
178
178
254
244
270
199
239
164
209
158
176
207
203
204
231
171
258
149
182
203
175
173
204
179
115
195
132
176
143
236
214
151
196
193
251
185
177
259
201
193
200
167
210
237
204
228
144
182
219
220
199
195
205
173
178
169
173
183
228
215
191
179
273
192
169
255
200
222
180
194
198
165
178
158
236
162
191
189
138
191
164
166
169
211
185
213
188
179
266
190
273
230
214
185
178
168
230
176
130
182
190
133
184
183
119
231
222
179
153
254
162
170
192
215
171
200
130
232
146
210
162
173
130
165
223
190
176
248
211
151
171
150
176
274
214
153
173
286
173
158
274
200
129
115
173
183
133
181
176
147
247
115
188
188
202
178
182
212
164
184
166
174
159
179
214
179
195
209
248
218
192
183
186
196
176
162
171
172
191
191
165
211
217
181
219
206
182
220
205
199
141
178
243
191
204
217
258
162
254
202
176
204
266
164
189
146
155
168
150
234
197
130
201
155
202
204
246
172
150
246
230
201
203
191
158
202
181
166
179
244
204
168
200
192
256
192
210
172
180
188
209
180
179
221
171
129
218
157
182
201
151
252
185
202
180
200
180
278
200
209
228
222
129
159
206
216
173
236
200
178
145
202
192
173
131
204
170
119
203
228
217
128
145
221
211
176
224
236
207
179
183
219
210
191
176
209
146
204
295
150
210
239
158
233
210
294
191
129
158
176
217
173
219
178
155
115
157
176
176
204
201
176
176
183
248
147
204
148
180
138
179
249
151
288
249
184
183
153
223
173
158
146
211
179
177
195
259
227
166
203
206
208
207
233
217
264
254
195
203
191
174
200
204
217
194
228
294
203
208
279
166
194
236
146
173
225
241
256
200
173
129
133
192
210
146
178
182
231
130
232
194
217
226
227
173
233
194
193
266
210
192
214
242
201
155
216
168
230
208
262
230
202
201
168
146
187
181
205
209
200
152
219
157
195
219
191
214
278
197
175
201
179
230
130
225
239
173
241
183
197
258
133
166
223
169
130
262
182
176
203
157
175
242
169
257
198
195
259
255
149
198
216
199
204
244
258
220
252
230
147
217
234
183
251
202
215
238
174
231
180
155
210
246
227
237
230
217
221
197
238
239
152
205
164
220
175
146
158
216
146
195
146
195
249
295
173
204
234
211
211
146
129
209
176
173
157
195
202
265
159
130
195
181
166
204
227
252
204
145
285
174
171
210
200
191
191
224
155
204
191
178
210
130
133
227
207
242
200
211
169
299
201
246
200
190
164
180
173
129
217
151
200
231
176
129
240
159
216
143
238
167
164
180
228
202
122
219
161
182
162
194
212
212
176
207
213
217
164
201
201
133
236
145
128
239
130
206
248
204
185
211
189
129
138
202
170
182
151
182
276
205
194
204
211
193
220
210
162
213
178
183
168
236
173
183
146
150
225
181
239
195
172
198
184
129
223
200
129
130
180
176
129
251
209
225
193
201
200
206
198
203
133
221
182
235
226
157
199
193
197
169
182
242
163
241
210
200
161
202
298
172
185
158
173
230
130
186
264
255
258
232
143
155
176
202
173
200
158
204
264
205
182
201
240
217
129
195
161
147
176
162
237
191
303
130
197
156
203
229
204
146
276
166
204
162
173
214
194
181
200
257
285
184
160
149
241
168
173
210
156
173
204
206
146
206
232
247
186
164
204
277
173
201
190
155
146
170
210
316
176
257
146
176
130
192
162
238
133
191
186
190
129
178
211
180
174
124
264
244
172
152
186
174
217
269
220
174
221
176
193
170
255
205
167
179
278
210
204
170
188
211
263
298
218
204
179
129
182
199
181
224
164
179
158
190
146
245
225
242
211
193
169
195
262
178
129
215
210
230
263
200
221
211
204
164
208
179
184
133
185
247
264
206
280
236
228
192
164
234
132
230
201
185
199
191
175
162
185
217
133
145
176
204
281
182
264
158
184
182
176
257
171
267
182
202
185
173
238
164
179
206
183
130
184
203
209
204
143
259
203
176
210
239
130
185
130
208
184
180
250
162
158
173
211
152
219
253
300
129
167
166
188
173
179
228
204
185
262
195
179
242
150
206
153
191
168
174
236
209
229
209
178
216
173
130
183
176
239
205
208
209
183
202
173
250
152
160
210
173
199
210
214
176
190
129
146
239
171
155
198
224
186
335
146
225
182
303
180
138
205
174
249
217
186
219
261
168
295
130
252
197
173
166
173
227
173
130
214
185
210
173
222
145
202
192
281
176
171
198
158
194
156
155
200
164
169
179
239
214
239
156
228
246
173
182
199
186
174
261
191
214
204
167
141
185
204
169
130
269
174
162
180
204
227
206
255
205
207
169
193
191
220
209
141
210
207
214
188
151
202
175
143
130
122
176
176
210
216
217
162
214
234
167
162
253
273
143
223
115
252
210
155
146
143
168
130
192
264
274
198
130
201
239
115
201
308
230
275
193
138
210
162
214
183
217
183
145
129
238
146
153
129
146
235
149
249
143
162
335
183
176
202
249
199
246
146
153
232
143
205
161
174
205
144
240
173
191
129
200
130
150
184
233
210
179
246
179
191
151
158
194
160
182
229
264
211
236
150
162
267
242
146
162
204
188
173
158
193
173
156
206
217
183
157
240
199
178
217
168
190
169
222
202
233
172
161
210
188
236
238
218
185
238
133
183
217
180
206
128
182
244
146
161
176
183
228
226
132
129
144
245
269
169
138
173
176
202
250
175
172
303
210
376
194
181
225
288
169
211
173
132
221
195
197
213
239
191
146
219
133
191
176
180
243
204
226
204
184
226
161
188
168
176
229
264
200
269
173
204
115
246
176
191
133
231
157
209
183
173
222
133
173
173
230
183
169
202
197
204
166
248
159
247
172
151
188
194
170
185
281
182
122
160
161
193
166
240
207
141
263
186
182
176
204
158
164
202
196
195
204
152
160
158
200
200
176
146
173
168
239
223
130
157
283
206
158
158
214
173
143
248
204
254
168
122
169
176
229
202
193
214
169
186
281
184
169
171
170
195
225
173
168
259
182
186
115
143
119
204
194
176
182
155
212
192
211
171
150
235
167
191
211
184
191
130
145
202
238
190
180
210
236
248
149
218
151
191
129
210
144
233
265
145
197
206
162
184
227
234
175
190
195
176
162
169
129
161
234
167
226
221
221
256
176
133
261
223
204
210
202
188
182
172
143
239
180
122
162
256
130
236
188
122
163
130
129
222
246
201
235
199
151
191
176
150
254
161
163
168
199
207
172
147
130
146
151
201
146
130
217
229
193
176
152
176
248
205
168
146
251
168
214
201
183
227
143
191
197
222
165
179
231
243
222
269
145
178
199
129
150
145
183
129
168
164
147
169
162
234
188
174
184
210
194
285
217
173
288
211
175
170
204
180
212
115
146
254
217
175
179
173
170
202
146
206
233
238
164
219
219
168
261
257
184
191
191
177
152
178
163
206
185
164
222
176
207
270
180
266
272
169
229
133
154
210
176
145
129
145
236
157
258
204
129
225
215
198
204
207
208
173
217
166
145
239
225
150
143
211
257
195
184
206
161
201
235
195
197
185
236
130
222
191
201
176
250
241
288
179
179
164
199
130
292
168
146
208
222
218
168
122
182
222
129
187
179
129
179
185
115
201
231
228
213
129
204
146
115
201
183
277
218
133
191
190
146
256
173
160
190
158
133
179
155
157
146
245
204
218
174
221
115
146
204
173
259
218
147
238
201
167
214
230
179
180
146
130
158
164
228
185
162
211
201
141
146
184
115
243
149
238
162
206
206
133
238
210
192
229
133
191
194
217
199
197
267
162
194
185
211
184
173
221
216
175
302
157
194
190
174
145
129
202
240
203
211
166
195
185
146
230
143
157
179
164
129
169
257
161
141
257
146
183
250
189
145
165
183
288
162
150
143
169
209
138
246
179
184
194
141
189
168
173
202
164
212
172
158
169
130
288
255
225
183
276
183
162
185
197
200
130
167
181
236
153
168
173
209
176
206
182
133
143
158
146
252
180
199
130
187
211
246
164
143
191
138
204
275
219
217
143
210
201
115
173
204
189
180
192
217
190
159
224
158
199
190
183
195
226
179
243
173
236
190
156
185
189
155
223
186
191
264
156
255
150
129
161
233
148
146
162
146
217
133
175
183
242
178
190
145
145
161
170
182
169
204
160
184
164
240
198
225
263
255
129
278
259
145
191
176
179
228
122
130
150
219
138
129
151
194
239
228
236
229
265
156
209
238
146
178
156
191
167
192
173
162
236
149
221
195
192
175
162
203
203
220
187
209
160
179
115
264
217
170
201
200
240
158
141
195
173
224
176
190
193
201
172
138
206
189
261
227
130
210
164
218
309
155
160
155
165
251
130
256
149
164
115
146
212
146
129
174
177
191
115
133
233
183
212
150
158
154
168
209
217
185
195
129
176
208
194
129
129
130
201
196
208
230
204
130
180
202
194
146
146
187
143
204
182
258
150
249
150
178
210
201
216
307
173
191
204
244
183
188
162
177
187
130
163
129
174
230
178
201
260
179
173
143
187
158
199
146
174
230
168
230
262
238
197
190
183
183
202
164
181
204
210
188
130
199
159
151
202
182
178
152
145
249
240
143
179
184
252
167
217
179
129
195
214
190
254
279
173
230
210
286
176
146
129
236
149
180
130
166
258
169
210
186
262
238
168
257
149
202
274
224
133
217
197
195
169
236
151
176
252
164
217
181
168
227
220
171
182
186
188
176
204
200
129
184
204
204
133
130
258
182
176
209
148
182
189
146
200
200
146
224
213
258
202
214
190
190
216
164
168
167
230
236
236
249
162
146
218
227
234
152
208
237
240
133
145
195
245
236
129
252
161
273
210
182
146
194
141
194
210
162
170
175
212
145
168
143
175
158
204
185
173
258
133
230
179
169
174
210
129
141
162
245
236
184
179
280
162
227
176
197
210
202
198
128
232
183
174
236
168
183
191
220
200
198
191
225
180
193
204
214
235
184
258
159
155
255
199
184
200
190
201
268
150
129
156
206
199
129
167
146
162
197
201
236
181
158
206
158
225
190
197
150
129
227
141
169
200
258
217
145
269
224
173
173
259
233
185
178
151
145
173
155
193
201
222
115
180
119
225
158
204
200
176
191
273
130
222
146
186
215
263
145
217
209
200
192
279
150
130
173
184
244
174
115
162
168
176
155
225
168
238
192
208
133
239
246
146
289
210
173
185
236
150
223
185
130
146
180
171
236
155
241
176
162
133
207
184
223
209
237
180
208
174
162
186
171
175
175
146
173
345
180
209
187
132
199
180
171
172
141
173
194
229
204
145
215
173
200
246
153
201
238
229
213
185
240
217
230
218
214
180
205
206
190
199
265
203
185
213
185
173
158
194
185
204
243
146
155
214
157
198
218
269
168
115
255
173
218
178
202
190
157
146
189
187
234
176
171
207
146
178
179
180
230
302
205
200
157
173
220
211
143
225
206
184
176
254
176
173
188
146
115
204
185
234
231
193
130
160
204
173
158
219
158
204
226
150
191
164
202
152
234
287
194
156
158
146
160
168
168
155
208
168
198
150
204
203
230
175
226
214
174
185
176
173
198
128
149
224
164
246
184
193
201
173
161
190
180
128
161
266
180
236
178
146
146
130
216
174
185
203
184
230
157
210
145
186
239
168
211
238
219
146
173
146
218
246
179
210
283
168
146
153
204
230
255
239
239
143
168
191
164
143
132
173
199
170
267
241
158
130
200
246
160
173
129
207
248
173
161
151
173
274
157
210
211
146
183
225
130
287
254
282
236
192
155
180
204
210
222
216
183
211
224
170
158
264
208
204
147
206
173
258
145
209
214
159
172
199
147
218
169
170
265
133
179
145
156
158
222
130
156
219
242
201
222
145
248
233
239
190
144
204
168
143
133
221
172
129
234
221
231
228
178
194
174
257
150
173
227
171
202
217
177
176
190
225
159
130
164
195
146
192
246
211
264
148
218
154
176
198
218
236
189
165
115
201
195
230
173
204
182
178
173
234
230
222
146
234
160
130
236
204
209
237
156
162
191
192
209
160
156
162
202
156
173
183
247
159
201
174
143
209
203
204
180
189
173
254
178
162
214
255
188
203
236
185
191
212
229
217
146
150
162
159
213
203
242
192
176
167
146
239
176
210
182
210
207
193
217
150
189
283
274
146
184
195
242
155
161
217
115
206
180
216
204
197
221
212
176
195
160
133
129
146
180
186
303
166
168
161
200
190
147
162
170
172
193
237
228
145
183
115
164
187
179
198
217
249
181
176
190
143
246
214
128
238
246
176
210
242
187
217
239
184
205
128
129
142
187
168
199
209
193
208
210
230
178
247
183
209
129
238
205
229
146
230
179
219
146
208
201
129
217
184
167
180
178
158
130
217
214
182
262
173
193
141
169
206
211
246
162
234
143
166
191
235
164
177
215
218
195
162
143
145
131
176
155
247
185
202
194
130
173
162
249
167
255
146
202
141
122
146
168
200
178
162
141
178
201
169
130
172
194
176
296
176
175
208
183
178
245
173
213
169
147
176
205
240
168
178
183
190
259
206
214
217
203
210
115
186
228
158
236
179
178
129
146
179
155
122
206
158
217
275
171
234
197
201
149
130
221
217
259
115
201
229
222
176
167
145
146
174
251
129
145
145
200
211
191
160
129
158
221
206
242
176
232
248
248
176
186
227
145
190
225
186
236
129
184
212
259
166
271
176
166
200
168
170
299
146
221
184
201
263
205
231
238
335
191
187
141
178
177
211
155
150
146
239
176
235
210
219
141
199
178
200
176
230
173
166
173
230
187
240
146
185
192
242
129
203
202
197
182
267
164
293
205
130
182
189
193
184
145
133
130
176
179
268
235
173
122
205
248
204
201
250
133
203
222
188
173
204
244
164
202
164
258
229
189
300
170
182
200
217
192
129
191
209
115
264
141
197
204
209
194
218
192
191
217
145
156
138
234
130
130
162
173
173
225
146
204
235
209
213
186
155
193
253
192
160
180
175
158
183
221
236
162
129
203
303
218
197
227
212
225
173
158
217
210
179
212
165
181
168
201
231
206
182
226
193
204
225
212
210
143
222
159
186
204
176
258
211
220
179
185
229
217
221
143
263
130
183
201
236
179
217
146
184
225
129
265
211
212
178
248
200
239
185
223
200
211
230
173
153
236
204
247
201
243
156
204
209
166
255
210
283
230
176
204
200
288
162
227
160
201
204
181
238
180
158
204
176
168
175
122
181
188
208
227
130
191
133
200
201
178
144
203
229
129
185
239
133
197
146
203
168
146
170
281
161
150
130
173
164
254
309
217
145
133
205
176
130
130
231
231
184
187
129
207
186
235
195
238
217
201
193
223
148
213
180
217
181
200
230
143
184
214
225
208
225
253
143
184
162
176
173
200
133
145
251
264
216
303
189
210
195
168
176
187
173
282
212
186
164
212
242
155
206
201
180
205
214
213
214
205
209
133
192
201
166
213
246
239
164
204
259
149
148
210
261
130
202
229
173
144
205
173
256
217
129
197
200
183
129
146
256
200
173
212
244
173
173
334
168
176
183
206
129
190
200
146
144
202
190
201
173
210
180
173
204
306
130
204
212
169
147
209
155
205
202
227
164
187
231
174
230
145
187
207
201
217
147
202
199
169
170
235
236
224
146
206
204
164
161
204
164
188
199
164
152
202
222
158
239
181
149
244
228
115
188
141
205
164
230
228
229
221
204
202
287
146
209
145
173
198
242
236
122
335
219
130
146
225
183
282
180
216
264
182
203
164
185
242
138
145
233
173
288
208
224
185
229
264
173
173
216
176
258
162
173
158
176
168
226
209
163
155
230
204
204
242
183
189
231
176
204
158
210
242
173
184
216
296
149
146
178
180
150
155
266
219
146
231
165
205
236
129
180
239
129
178
162
183
252
191
261
184
147
265
168
191
122
252
162
161
138
157
203
221
167
196
188
155
198
203
152
167
174
168
175
227
176
182
230
177
146
115
130
211
175
193
174
183
146
129
228
115
189
219
159
132
212
130
185
196
229
210
183
222
185
205
210
216
198
245
179
179
220
178
145
162
207
254
130
166
227
185
232
236
271
230
169
170
144
145
188
186
232
176
237
160
228
269
129
242
146
130
180
191
184
161
244
130
182
214
239
128
250
239
230
252
184
141
130
176
219
215
281
237
204
132
214
145
199
188
214
217
181
222
228
149
192
204
196
199
207
206
173
141
236
188
176
269
253
152
190
141
255
206
210
182
225
201
129
173
210
216
206
227
190
182
211
178
217
193
146
198
200
164
179
206
217
187
146
158
192
186
122
138
141
122
164
221
201
184
217
205
186
202
130
173
230
173
200
210
220
166
133
197
219
259
251
203
171
267
194
222
182
197
231
156
130
267
173
265
172
222
171
187
176
162
266
265
178
255
240
283
143
221
192
160
173
218
207
155
199
165
130
150
228
157
148
166
200
188
200
184
250
185
202
200
143
129
184
173
164
173
209
183
141
171
204
180
146
141
187
184
155
210
257
182
181
234
193
168
141
195
143
184
209
180
204
222
133
198
153
214
187
190
194
150
204
201
146
172
185
209
130
234
204
228
202
204
180
168
201
216
227
188
200
270
192
200
190
234
249
188
210
173
130
204
147
216
201
171
178
164
130
231
182
211
217
176
130
176
168
129
269
198
249
258
238
153
185
197
130
247
200
236
263
182
241
187
229
220
208
211
275
252
155
158
179
209
265
202
256
190
173
202
146
173
164
119
179
212
203
145
247
173
200
222
214
298
227
213
173
240
161
176
195
146
258
183
165
166
199
221
209
179
133
146
190
214
240
198
229
204
250
176
161
143
235
249
169
130
191
146
191
236
129
206
222
166
236
129
261
201
129
146
190
153
176
234
180
177
171
227
248
138
179
164
230
146
199
143
183
179
278
228
230
130
173
130
138
115
195
130
178
173
185
204
206
206
244
122
199
208
220
258
169
246
192
173
179
168
182
167
146
144
211
210
214
230
238
221
164
217
150
129
185
184
188
176
169
119
183
211
199
163
205
188
173
128
191
178
185
180
233
173
244
247
211
217
258
232
222
206
201
129
200
174
155
179
152
176
146
255
143
204
185
179
173
193
225
184
230
153
178
173
129
175
210
187
184
186
235
241
203
146
241
160
181
130
193
342
226
182
202
190
151
221
228
201
209
218
188
154
210
146
246
240
185
255
244
146
146
202
188
230
204
189
175
217
180
244
178
228
130
187
166
204
175
201
155
162
179
191
182
178
208
184
199
173
115
204
242
164
158
195
132
210
145
163
204
191
194
151
145
179
175
129
264
115
200
185
145
222
129
231
219
181
187
228
222
173
160
184
180
183
138
184
223
264
255
161
193
143
184
210
185
175
208
209
235
149
215
188
162
186
179
156
190
204
188
230
216
211
179
201
320
184
204
229
183
184
130
146
211
143
184
178
237
191
264
204
256
189
240
176
289
223
168
211
207
220
198
195
206
203
223
210
241
138
204
258
250
201
146
214
260
130
198
193
239
209
231
191
176
252
182
138
185
201
234
175
234
188
239
177
129
171
166
231
201
158
230
185
166
198
129
174
199
176
157
184
171
185
218
249
172
129
153
196
149
146
200
143
265
168
187
183
166
239
138
174
195
208
185
237
197
214
180
179
217
168
306
248
141
191
188
248
221
214
146
282
204
204
253
185
169
162
204
146
145
204
200
230
191
174
225
162
145
197
178
179
217
156
145
145
204
204
183
188
160
187
261
130
222
201
210
233
242
146
197
210
183
184
150
212
183
179
200
229
235
158
227
230
238
193
128
204
221
209
267
184
130
267
189
249
260
183
225
182
230
156
177
173
150
201
246
146
262
179
204
227
206
206
184
143
183
263
172
212
251
204
171
222
241
286
173
133
176
173
210
175
178
129
176
173
212
167
173
179
157
198
133
144
161
146
222
157
122
193
147
115
207
239
115
169
146
146
150
224
192
204
194
188
165
226
175
184
221
232
175
211
204
173
179
260
130
176
217
163
242
273
216
235
180
130
170
225
130
168
146
206
168
214
146
235
162
200
207
251
141
238
129
182
233
211
168
194
221
200
155
215
229
164
176
194
115
206
176
200
201
210
207
162
208
156
141
191
210
284
176
130
173
145
176
160
146
172
172
115
162
156
200
226
170
115
262
184
217
171
248
133
130
156
259
173
221
168
155
261
146
179
181
283
231
158
161
115
204
162
141
204
172
145
175
128
149
169
222
288
175
143
200
150
197
130
221
179
157
130
149
146
257
197
249
201
178
228
129
188
191
167
155
186
241
205
146
196
122
158
184
210
179
230
129
158
164
196
180
168
146
129
260
129
173
181
147
183
167
180
191
133
211
189
202
146
197
168
206
119
265
175
222
164
155
165
200
252
157
184
122
179
146
217
179
203
178
184
159
195
211
173
191
176
199
165
156
198
200
228
191
195
174
247
179
216
193
129
201
130
156
236
201
191
195
238
170
180
200
226
146
183
200
221
211
196
290
288
236
226
216
262
199
115
265
217
204
202
146
191
173
220
167
130
130
175
254
183
130
181
193
173
115
168
250
164
194
204
171
211
156
201
181
259
190
208
239
184
193
305
145
188
133
204
245
202
156
192
204
146
241
216
220
214
235
232
133
146
195
205
200
155
235
230
184
129
185
212
184
129
259
212
193
233
211
138
221
169
183
201
173
138
161
175
176
179
187
240
176
146
143
146
173
182
183
217
229
149
185
194
283
181
225
160
162
186
146
173
153
210
217
335
166
275
171
226
208
130
180
174
146
156
207
185
146
152
130
200
222
183
259
249
244
143
204
230
212
181
182
261
192
159
264
211
149
167
171
219
152
130
150
186
269
238
202
161
211
221
162
158
272
227
179
180
184
143
167
145
178
151
227
197
143
231
210
236
181
180
261
204
194
182
183
162
211
254
229
244
168
178
173
166
251
245
199
185
230
243
129
158
173
204
172
168
204
144
179
161
129
143
190
158
180
153
197
240
158
287
213
164
184
162
255
204
172
195
171
270
180
145
184
193
172
184
171
190
205
178
191
256
202
155
207
176
204
244
239
207
141
141
129
150
146
215
224
222
209
131
155
211
153
232
217
189
200
246
218
193
190
239
204
169
201
170
175
183
211
163
222
184
184
145
213
190
191
122
146
238
204
115
184
182
166
181
216
149
212
203
216
206
204
214
241
130
213
199
176
192
128
209
188
219
189
147
179
252
193
213
209
129
173
200
129
302
264
174
158
157
178
122
200
202
264
129
217
115
130
227
200
183
202
210
173
180
137
204
188
240
201
180
239
260
228
231
212
202
204
146
145
150
151
208
192
236
205
158
133
206
202
215
146
169
239
259
238
211
151
151
201
198
179
115
214
264
168
146
173
115
265
193
212
146
242
178
226
203
226
183
165
129
242
270
152
187
234
204
143
228
186
115
129
201
286
187
164
262
201
176
178
205
217
164
180
222
173
300
187
188
241
225
129
195
169
122
182
145
218
274
240
198
146
158
184
145
211
185
222
206
162
226
222
176
191
210
164
252
162
216
129
193
173
217
210
217
129
162
129
145
234
155
231
213
146
161
178
180
166
193
212
133
161
184
221
173
183
162
122
129
187
146
183
210
180
219
183
178
149
273
185
228
208
168
246
203
176
220
164
143
141
263
129
182
228
130
199
115
200
175
177
173
217
201
183
176
169
204
195
146
169
182
183
150
196
204
180
146
241
193
157
227
166
224
174
173
194
185
249
271
245
279
130
139
195
215
229
242
191
221
171
155
174
133
153
129
173
210
203
204
226
217
270
214
194
211
162
130
129
286
146
183
173
129
115
205
201
162
174
233
184
211
179
225
143
214
162
216
177
225
230
146
185
238
251
185
221
212
199
274
168
175
176
173
204
129
129
201
168
237
177
145
191
211
283
210
146
236
245
206
252
173
201
233
236
175
176
199
179
176
205
199
194
188
230
170
182
219
188
217
171
204
183
213
164
228
183
201
209
178
157
122
202
210
166
176
218
168
265
243
251
185
164
192
162
191
201
254
228
202
203
169
156
178
201
156
192
231
283
220
211
200
238
225
180
216
161
195
234
187
194
133
233
192
211
224
173
236
185
267
169
221
159
202
238
145
155
129
168
198
204
212
197
194
224
204
171
183
191
203
235
211
189
145
200
211
146
150
254
129
200
183
234
182
209
218
129
181
217
221
258
180
138
133
179
210
209
244
132
130
216
242
147
157
230
210
192
156
200
230
202
212
185
227
171
184
167
269
185
175
237
203
161
167
156
187
190
130
171
197
130
172
145
122
204
182
129
225
202
183
171
178
192
211
166
266
184
208
322
184
161
164
179
221
303
189
189
199
250
169
186
255
266
191
156
231
129
183
178
204
141
234
270
158
146
145
179
165
266
221
174
200
204
230
146
194
145
176
141
188
251
227
235
181
178
202
247
155
164
129
164
178
254
208
227
187
129
171
167
115
233
230
182
184
182
238
144
155
238
172
146
214
168
202
211
261
132
130
188
119
146
184
155
173
230
158
226
230
211
176
162
187
270
191
129
339
237
172
192
162
263
185
143
182
217
170
220
224
190
173
173
210
179
155
129
229
182
225
194
164
119
173
185
235
224
203
177
150
146
180
208
221
241
217
179
164
214
149
201
206
222
163
190
144
233
202
277
130
191
201
141
217
173
178
224
191
150
176
227
230
199
173
216
155
228
182
133
164
179
185
198
183
204
210
172
149
227
214
149
189
197
210
188
217
235
203
211
196
222
204
182
127
200
200
274
209
191
225
191
208
218
130
206
188
243
160
207
211
230
219
206
141
210
277
179
302
251
204
207
204
139
217
221
246
222
255
210
183
216
183
189
130
146
222
181
189
197
176
214
173
261
185
149
211
256
172
204
146
270
188
176
168
230
173
200
115
155
152
210
230
273
221
176
204
155
166
239
283
217
214
157
206
206
252
173
155
129
186
150
115
191
227
129
168
149
164
152
160
195
204
130
296
129
158
215
183
218
173
183
190
222
210
129
218
229
163
169
129
155
144
162
261
145
227
190
193
251
282
145
174
169
173
204
180
201
173
210
145
225
199
133
206
168
150
160
173
162
211
156
130
221
218
187
188
174
196
319
133
181
146
207
178
192
159
184
203
145
176
248
254
115
226
246
204
180
115
210
178
115
213
287
182
238
225
238
270
145
168
239
168
168
176
189
247
179
197
206
217
239
208
183
185
183
138
206
185
221
249
178
179
214
240
219
202
280
228
147
179
188
238
215
115
267
129
166
172
129
264
162
183
206
147
255
243
180
146
176
272
221
206
158
206
212
173
230
191
146
179
164
157
146
229
152
159
168
201
227
196
157
173
227
179
189
230
173
176
230
155
211
230
255
264
203
129
146
217
146
191
206
158
150
227
238
179
201
176
172
192
236
217
132
193
206
173
149
176
193
222
185
183
183
129
186
189
188
168
197
212
182
176
209
181
200
202
268
218
160
133
206
165
163
206
195
143
197
210
164
140
179
174
253
242
182
129
214
158
143
222
185
207
211
174
236
160
252
229
191
130
204
129
168
129
177
216
261
144
229
204
201
150
158
171
213
142
203
197
184
182
186
173
146
146
168
213
115
258
173
180
263
256
274
156
203
179
163
223
185
160
250
178
199
146
130
168
173
182
201
210
230
222
156
335
186
210
252
176
168
173
236
243
211
211
164
133
199
143
236
222
168
197
180
130
160
217
188
233
258
244
178
179
192
255
168
238
219
162
158
145
195
129
162
190
219
173
180
129
247
171
158
158
146
204
218
119
238
163
195
146
246
146
248
145
296
184
194
143
230
176
197
162
167
115
176
232
288
179
184
145
211
199
213
153
230
172
115
150
169
143
167
239
164
147
182
180
222
145
138
232
250
262
130
221
165
217
239
206
158
158
147
186
191
240
181
158
176
206
257
308
192
176
247
247
178
158
258
255
182
156
164
248
168
115
186
180
205
157
173
168
274
133
222
192
246
156
115
185
219
208
168
241
235
200
138
157
173
202
191
283
240
153
178
129
129
217
176
282
267
262
248
289
193
211
195
208
238
197
168
179
207
176
164
206
119
189
191
211
129
145
194
176
173
236
154
214
175
210
176
208
207
156
157
191
186
186
162
218
195
242
168
206
216
173
255
176
263
145
217
158
143
128
212
176
283
156
195
173
272
161
115
204
145
184
176
129
180
184
227
156
217
261
147
129
209
204
187
196
146
246
258
264
240
209
260
173
189
195
201
166
146
173
218
210
180
150
160
130
201
223
171
176
205
239
228
168
176
156
205
168
227
222
260
157
181
221
132
189
160
158
158
164
229
204
229
145
145
145
174
160
198
235
253
151
230
167
248
176
185
145
164
198
189
173
173
192
150
130
219
249
129
201
197
185
246
164
184
169
259
214
254
190
160
201
173
335
225
199
144
232
182
146
257
191
184
176
146
115
169
193
271
176
129
179
137
162
182
133
203
169
184
211
146
160
213
166
156
245
259
155
193
180
150
164
168
225
221
143
205
181
239
215
199
175
122
177
176
190
168
180
130
229
280
204
199
217
229
193
155
207
173
178
181
178
256
179
129
179
202
207
260
226
191
204
178
122
179
199
201
210
210
201
176
310
290
162
263
220
186
201
147
130
217
133
190
195
220
146
210
210
202
207
176
177
168
150
174
147
145
228
179
182
155
185
180
238
193
130
182
150
170
155
225
181
248
183
161
150
217
201
237
173
189
185
220
200
202
130
130
191
173
176
183
159
264
162
185
232
202
176
145
189
221
162
210
209
130
164
197
192
129
241
149
203
192
129
176
166
201
158
258
143
129
261
168
168
201
200
253
157
277
315
231
197
220
251
129
263
210
143
128
207
146
213
164
236
175
194
202
173
212
202
196
277
165
186
175
169
228
201
182
180
129
192
160
160
180
210
195
203
189
149
130
173
222
192
225
214
186
231
180
241
237
185
146
245
178
129
189
222
138
239
182
191
179
229
165
230
222
208
212
141
253
166
159
249
146
197
156
184
254
142
335
191
228
206
227
130
207
158
146
157
234
279
115
133
197
146
243
174
222
158
182
168
214
205
207
177
191
231
164
191
221
225
206
191
201
244
263
181
217
146
143
156
204
166
175
201
176
146
299
179
208
188
180
207
168
164
222
227
204
188
129
236
190
160
209
183
115
162
230
185
188
215
221
147
204
129
180
130
152
176
180
210
225
130
178
129
183
183
184
224
242
169
335
239
172
164
222
147
129
146
130
238
187
143
133
143
211
130
246
141
231
237
166
176
150
167
185
130
247
222
145
204
200
173
168
169
217
181
183
188
228
180
183
176
265
176
247
157
130
210
173
197
193
133
122
145
204
174
179
173
200
192
204
221
205
206
264
186
204
174
169
204
164
161
209
197
211
164
217
209
195
201
237
239
133
158
183
155
187
206
177
208
246
176
200
194
141
143
179
188
211
185
209
218
241
245
155
171
268
240
141
201
210
251
183
182
250
156
143
176
226
130
222
210
173
164
191
146
174
265
225
201
129
173
222
204
195
158
146
185
147
230
203
209
202
167
271
138
210
185
176
201
185
175
162
181
185
198
218
155
164
214
189
146
248
209
221
182
257
246
218
175
274
231
194
255
198
200
201
199
156
250
214
262
164
186
248
214
195
177
186
221
224
236
202
157
173
173
178
184
229
176
157
189
202
185
143
173
173
179
201
194
182
233
206
225
176
187
204
214
162
157
182
146
259
161
141
182
145
246
173
167
256
160
177
195
203
174
185
235
239
274
201
203
236
195
191
236
168
176
236
129
226
254
176
205
203
130
155
174
234
184
214
222
181
158
178
176
227
203
231
168
203
196
201
168
204
185
201
244
214
158
173
210
130
184
191
278
190
235
207
183
200
220
182
259
188
184
192
221
168
197
263
235
147
129
171
183
181
261
130
173
187
187
155
259
115
189
194
178
192
213
254
174
145
199
169
198
193
146
233
216
201
161
202
244
201
145
204
218
209
173
245
211
122
229
173
195
202
198
204
188
217
164
183
146
162
223
217
141
130
204
226
239
174
155
208
211
263
194
187
232
146
298
183
201
222
273
146
201
247
176
218
227
146
182
189
300
238
133
195
216
146
115
195
217
225
238
201
152
158
243
173
184
158
152
211
141
179
146
178
211
147
258
172
258
231
231
204
164
258
202
256
153
129
194
173
236
129
176
199
147
217
188
210
207
158
152
156
204
238
129
255
171
203
238
261
246
164
267
146
171
166
164
164
205
181
172
235
129
204
204
245
237
185
129
180
190
164
162
187
249
173
200
187
221
164
264
209
162
119
168
145
183
181
155
201
138
172
201
232
176
216
171
180
174
180
258
176
191
208
183
153
215
191
252
276
162
156
179
170
214
255
274
240
177
168
130
222
162
158
171
141
183
287
182
201
215
234
176
129
222
225
146
250
230
191
143
230
176
190
156
186
201
184
190
143
147
119
231
130
176
168
189
222
244
146
236
129
173
236
176
188
200
115
187
176
149
236
193
234
183
162
209
163
221
158
190
260
221
172
246
176
149
150
199
157
143
166
232
283
192
204
202
199
207
215
182
147
204
239
264
219
205
143
217
185
184
149
200
220
206
165
168
236
170
187
182
164
205
141
130
177
146
173
201
129
217
173
130
150
172
206
180
217
146
221
143
164
164
250
138
190
172
237
147
129
194
161
186
200
204
165
238
231
239
217
155
200
227
210
173
185
325
213
162
207
173
225
115
204
173
204
269
202
130
200
216
150
178
141
195
178
204
192
228
231
141
192
197
197
226
191
221
149
202
156
161
146
217
213
188
128
206
201
196
129
195
231
115
255
128
203
183
244
275
167
231
169
147
169
179
180
178
173
236
247
172
246
202
146
197
261
176
138
183
157
210
176
186
185
206
217
251
227
143
184
151
184
210
168
201
208
171
157
129
230
220
182
262
128
174
178
211
164
215
170
211
205
141
169
285
193
182
264
216
286
145
296
189
179
231
223
183
246
236
225
203
222
146
138
199
166
236
191
218
233
256
143
164
273
189
173
115
146
190
159
194
119
235
185
183
246
260
130
145
174
173
218
248
189
204
225
171
210
277
203
174
182
183
249
157
281
211
191
122
206
210
168
145
146
189
192
183
217
230
246
130
303
219
239
181
252
218
173
208
210
219
146
173
209
145
192
133
182
255
209
176
229
173
145
208
271
226
130
161
206
129
191
189
211
213
204
236
129
227
173
176
264
208
191
151
217
181
211
230
235
169
200
260
173
241
176
193
194
236
133
182
227
218
130
184
158
191
255
176
200
189
156
158
274
239
143
179
224
183
158
272
199
191
210
185
158
175
158
152
182
269
173
160
208
164
248
178
263
210
169
242
230
146
195
218
191
193
286
186
173
115
200
182
209
180
235
206
176
217
263
200
201
246
165
143
180
215
199
133
206
149
182
246
176
173
242
115
164
129
208
203
244
191
198
176
182
143
149
180
269
211
186
172
227
201
179
214
200
146
122
183
169
235
219
130
191
162
153
181
141
129
165
262
141
231
236
188
158
155
199
222
210
184
183
211
264
304
206
221
227
216
211
217
166
178
200
183
129
191
151
221
133
167
174
206
180
173
138
243
260
214
211
238
238
158
168
157
165
179
217
204
206
152
181
129
174
138
158
191
204
190
182
174
240
146
145
202
218
130
176
145
143
183
201
182
130
253
217
129
281
244
220
166
143
146
188
201
180
182
192
224
247
195
129
174
160
312
203
176
122
129
173
225
150
187
176
157
252
246
180
170
239
185
251
234
193
201
294
160
146
141
200
239
155
178
169
141
200
181
179
171
122
200
141
189
236
287
252
143
173
184
169
200
270
165
133
208
211
204
165
115
335
146
224
239
182
216
246
279
238
115
152
259
200
133
122
176
144
227
315
183
230
193
202
166
178
184
217
172
192
191
187
145
157
145
191
191
244
171
143
167
133
226
245
206
221
146
169
145
230
150
194
217
227
255
248
193
268
168
200
176
201
183
130
197
143
160
161
162
203
179
164
129
128
143
164
217
129
236
163
264
189
258
219
288
160
181
211
180
183
183
210
146
192
273
185
144
226
196
174
158
180
211
170
206
242
250
169
133
178
158
180
143
204
238
199
182
175
230
180
216
187
246
155
185
161
204
180
202
179
176
219
270
141
241
209
176
174
264
185
230
129
167
195
211
188
164
129
166
144
181
234
138
221
251
214
144
202
166
173
190
155
173
174
195
246
115
229
225
159
259
187
174
219
151
158
217
204
151
178
244
166
230
179
244
208
214
179
164
130
278
194
281
176
164
247
155
296
183
201
302
211
195
119
181
162
211
259
162
206
186
243
146
211
141
203
185
173
133
194
164
199
259
265
175
231
189
179
185
176
236
204
176
193
143
298
211
184
264
174
129
145
138
169
230
184
195
225
130
164
119
155
189
176
221
226
209
176
130
182
168
236
261
146
173
171
173
206
171
178
168
210
218
182
129
216
115
163
198
283
255
180
115
146
204
180
184
191
164
167
149
180
167
173
133
180
184
280
130
146
191
193
178
184
194
214
227
145
173
186
162
210
158
264
230
313
170
184
164
246
143
162
204
228
194
263
157
176
218
167
146
161
204
232
143
177
199
218
210
173
199
258
201
195
202
189
146
183
221
129
215
227
129
195
145
170
211
207
129
222
247
179
205
222
183
176
129
180
238
239
162
159
230
174
229
194
161
155
211
166
168
130
200
217
210
153
205
176
283
143
166
185
200
175
262
199
145
201
129
251
157
260
184
226
144
247
207
206
247
175
191
227
202
299
130
161
224
207
170
201
185
214
202
184
209
151
224
129
115
171
231
202
261
234
195
200
216
209
209
218
173
244
284
195
149
211
145
141
160
204
224
184
182
225
231
228
204
257
155
204
230
189
130
178
232
211
155
164
222
221
176
225
141
208
217
155
188
189
202
195
195
145
169
247
162
168
203
222
230
115
179
222
130
246
193
218
146
237
208
200
180
265
176
191
130
258
201
145
223
204
130
236
211
158
209
250
211
115
208
144
234
133
203
179
236
239
144
181
183
182
235
185
181
205
173
204
194
130
176
224
200
161
290
212
173
176
169
178
210
281
204
206
191
162
128
130
242
223
206
221
203
183
236
211
211
207
216
146
225
250
205
187
156
173
150
174
180
166
225
169
195
146
280
146
115
162
194
130
176
179
173
214
183
176
214
229
156
167
227
239
221
200
264
144
204
201
217
205
210
130
146
164
143
133
145
225
218
133
248
173
234
236
217
210
202
192
143
144
182
217
169
173
138
133
204
225
130
244
180
206
202
130
242
184
178
209
203
236
226
178
214
181
200
246
224
161
217
158
218
205
210
206
129
259
211
171
173
175
183
182
259
162
227
238
179
129
153
217
184
184
169
230
173
219
210
235
200
212
187
214
145
173
219
145
204
193
271
130
246
197
255
187
190
169
181
189
191
177
245
178
189
214
224
250
184
211
143
200
204
129
173
161
164
122
189
228
229
172
157
208
178
145
132
207
158
214
189
190
129
185
201
146
155
198
176
143
194
171
172
240
200
167
184
252
225
200
183
194
146
274
146
194
122
207
130
228
172
166
231
176
204
176
115
178
188
298
196
222
173
215
169
173
179
263
199
252
195
201
166
185
206
150
300
161
146
211
208
203
133
129
210
187
204
130
192
216
248
214
188
130
226
173
159
156
170
176
228
247
173
168
201
194
191
235
206
204
204
201
168
210
245
145
226
162
188
182
202
251
213
242
130
130
156
143
209
199
247
189
231
184
152
192
268
172
176
207
150
130
217
229
115
145
182
248
173
179
188
145
208
227
150
201
201
176
149
173
206
178
130
146
158
146
152
200
185
204
171
157
129
173
186
144
236
257
145
146
143
173
146
188
239
129
162
149
213
143
191
155
297
130
184
209
146
233
178
218
190
202
263
156
173
206
314
225
206
169
179
217
225
236
176
182
146
217
184
204
129
237
174
129
173
157
178
168
264
238
140
202
189
262
217
238
200
214
188
141
129
187
133
176
251
216
211
222
238
187
122
292
201
196
215
130
184
184
188
168
171
193
173
158
204
191
233
210
183
129
209
204
164
185
129
201
263
157
184
168
280
217
214
178
201
168
149
130
202
222
217
255
131
183
184
179
169
182
129
143
249
230
180
188
182
218
171
212
129
236
176
207
187
264
159
217
197
204
265
255
231
179
167
288
186
169
246
211
155
210
158
158
173
192
206
185
214
195
165
217
187
182
204
219
191
194
145
183
168
162
279
231
169
144
129
143
146
162
222
143
210
268
221
173
171
232
258
248
188
197
158
242
150
172
206
184
176
262
221
187
130
162
169
206
230
204
190
194
198
211
202
144
174
173
146
190
169
164
129
200
173
240
239
204
157
150
247
175
157
168
214
172
302
182
191
217
180
236
179
288
129
200
248
218
210
143
225
158
236
264
172
209
130
259
170
210
233
213
303
255
182
129
164
192
194
194
185
178
230
245
178
214
199
129
251
256
242
181
205
176
172
244
157
176
176
201
271
129
182
215
209
146
182
206
202
203
203
321
162
176
145
217
165
192
309
210
308
197
228
197
166
204
155
130
236
221
230
162
168
199
182
186
192
199
176
167
130
130
146
190
209
220
232
182
161
212
130
184
244
129
292
178
258
217
183
200
203
160
185
132
192
188
262
155
179
165
145
257
256
156
216
168
217
221
213
230
184
239
130
169
122
169
173
202
245
138
146
238
190
189
160
132
170
143
162
130
241
208
252
247
209
176
176
211
168
176
138
176
140
143
174
144
210
179
182
204
173
133
230
260
129
130
129
187
252
210
129
187
203
202
174
234
157
242
256
242
210
194
146
173
183
146
247
158
281
218
225
242
222
183
223
210
256
115
156
158
150
216
155
213
208
168
201
267
205
130
145
161
263
179
181
217
129
151
193
228
204
242
206
169
210
201
204
173
129
238
180
129
237
233
173
274
138
229
246
194
155
226
179
207
203
201
206
201
182
204
261
218
190
243
201
130
226
236
229
201
265
159
129
237
236
176
216
160
133
257
147
191
205
183
169
156
149
235
294
145
146
184
190
198
186
150
188
155
211
156
214
147
133
182
138
280
195
212
187
170
230
161
200
138
181
174
191
184
174
303
176
216
214
195
274
202
205
228
129
141
164
146
144
183
231
191
148
250
219
174
236
115
211
268
264
133
166
182
206
149
129
217
159
173
208
130
264
258
205
182
236
129
209
215
191
204
185
248
182
161
160
230
205
180
129
115
208
158
184
217
217
168
140
251
220
205
211
259
141
200
226
171
193
156
162
197
224
146
175
221
210
170
238
179
162
155
209
182
179
141
145
115
178
150
155
129
168
224
299
170
231
230
205
215
156
184
216
133
176
216
238
173
225
158
115
222
230
122
179
242
192
178
157
168
229
162
197
313
129
173
168
210
140
115
224
176
187
115
183
158
195
164
194
238
146
173
186
258
191
214
207
228
240
155
209
145
145
228
216
184
182
219
160
250
225
169
207
224
129
206
173
115
143
255
200
242
207
119
242
208
247
209
184
130
145
255
155
233
130
308
169
204
253
261
168
230
159
145
220
185
129
184
149
238
231
173
178
191
171
185
214
240
194
230
190
133
191
192
213
206
193
194
163
283
173
206
215
261
145
195
182
173
204
199
178
203
217
206
173
185
235
162
146
191
211
220
250
199
224
194
252
212
203
202
217
213
234
157
158
231
240
182
244
151
184
179
227
180
217
214
145
201
169
206
129
221
189
252
204
132
182
246
219
130
130
197
206
207
115
172
168
217
184
204
223
150
204
129
129
183
156
173
224
216
179
168
178
224
164
215
168
211
182
150
170
335
202
200
162
308
210
129
149
224
177
146
253
210
185
219
201
168
179
161
297
152
182
194
174
171
220
188
252
211
211
234
115
156
185
210
128
242
174
203
130
238
226
238
178
220
247
195
191
185
130
204
191
143
167
183
161
278
244
247
204
184
129
276
162
179
188
273
143
246
202
174
303
170
168
170
188
162
143
162
176
176
217
206
235
164
204
161
204
130
146
180
168
206
239
227
229
199
233
204
146
189
156
179
129
230
179
189
175
256
192
212
115
146
188
205
152
191
189
242
254
164
205
133
122
221
182
163
186
258
158
188
188
179
176
244
168
251
145
240
133
199
141
153
178
244
158
239
130
219
230
194
173
160
152
236
176
221
162
239
158
129
193
244
221
181
238
176
129
197
217
203
150
176
162
202
166
133
150
155
158
147
211
190
194
148
128
214
204
172
146
236
252
169
236
177
244
129
217
188
155
192
155
173
130
143
181
166
228
168
301
230
191
115
145
143
188
201
164
203
219
191
164
225
173
203
166
173
179
217
185
237
213
208
199
200
223
204
172
158
245
173
145
129
209
129
192
155
180
221
231
146
148
263
146
217
130
172
152
181
130
239
129
238
155
176
173
201
194
186
172
184
184
236
203
176
139
252
198
189
145
199
258
133
187
202
216
206
183
239
291
146
188
130
230
180
212
177
184
206
170
145
130
202
149
228
262
143
141
239
182
204
229
177
202
189
235
212
130
212
138
206
246
245
193
204
145
194
173
191
129
158
271
197
236
184
201
234
156
144
115
236
166
204
261
254
242
199
192
130
188
145
200
176
173
146
200
164
191
206
228
191
151
225
217
255
228
169
146
300
144
191
180
185
146
146
236
119
162
235
150
158
246
146
162
185
119
173
115
220
183
236
161
189
184
203
294
129
180
174
198
192
185
231
244
229
133
183
252
213
242
173
206
129
164
217
166
178
151
200
133
210
129
158
210
130
167
160
162
241
243
225
159
176
143
179
174
170
132
176
184
194
177
204
173
182
259
168
150
173
182
179
132
160
162
221
162
200
184
128
183
204
146
224
129
133
141
199
256
175
230
173
129
146
182
168
248
149
153
182
176
162
206
206
213
146
257
129
164
156
198
145
230
210
262
233
194
254
176
162
177
163
210
129
183
143
130
160
166
130
262
182
230
152
161
201
191
191
200
201
206
175
162
195
178
173
197
210
145
259
200
179
129
310
176
160
162
192
183
208
202
172
179
173
200
202
262
164
143
169
183
235
227
198
183
163
173
208
173
207
269
200
146
181
210
171
181
146
227
168
200
180
203
271
267
208
260
258
237
176
210
237
249
219
130
204
236
329
176
227
223
183
255
211
246
175
138
201
221
241
130
173
171
256
192
247
133
244
239
130
189
129
217
184
167
209
180
176
217
204
222
222
180
166
171
181
201
168
164
184
222
231
174
211
190
176
164
199
190
130
179
260
221
201
236
176
182
156
182
205
202
169
129
236
187
202
236
217
205
204
201
133
203
250
182
259
191
173
201
143
202
172
156
238
133
132
173
265
225
190
237
201
214
216
201
128
190
226
219
262
264
191
129
149
240
201
275
146
168
242
173
115
188
210
145
133
180
179
176
202
130
129
168
160
194
238
175
219
244
185
159
176
183
141
173
157
168
265
150
243
146
136
169
281
179
209
176
225
237
141
202
192
236
219
235
146
204
150
129
129
179
173
188
173
318
219
160
188
250
294
193
225
176
257
129
214
146
202
176
213
179
188
217
176
202
217
176
178
240
217
145
194
176
229
185
270
197
180
251
184
166
182
265
241
242
151
162
175
168
146
210
210
165
146
201
183
184
268
192
130
198
231
227
164
146
178
272
146
158
204
265
146
181
209
133
176
173
177
182
115
204
128
203
189
160
256
181
263
287
206
133
199
202
188
150
164
206
232
206
179
172
218
226
202
229
146
133
176
130
172
174
136
242
216
261
248
158
115
203
129
227
197
194
180
246
175
138
155
195
224
204
197
173
158
169
169
172
200
222
183
216
219
182
191
202
165
155
176
180
243
130
178
141
189
228
217
242
258
156
152
184
146
186
216
224
193
184
227
246
179
209
197
221
172
335
179
170
283
262
185
201
128
225
173
228
143
200
191
174
178
200
178
152
303
168
141
228
238
145
223
200
130
221
222
209
236
129
209
247
162
264
222
169
205
170
130
152
213
156
283
179
247
195
248
206
236
221
122
202
161
204
191
146
158
214
182
145
146
174
163
169
227
238
201
207
174
229
255
143
166
185
122
209
228
189
238
204
201
132
272
187
169
173
176
168
226
129
236
203
212
178
130
208
155
145
161
181
204
204
233
187
199
236
231
170
162
267
175
182
204
149
176
181
141
237
253
210
168
208
213
228
176
204
221
195
176
210
162
181
146
253
133
146
276
151
176
141
260
176
122
204
219
145
223
204
235
129
211
150
189
237
182
129
128
178
156
223
130
225
195
191
214
197
279
199
264
189
129
217
225
155
220
182
127
196
119
179
175
224
129
217
179
173
187
184
255
263
201
187
246
231
168
212
201
217
262
178
210
158
165
280
219
255
162
176
155
186
168
201
181
183
146
211
143
202
216
161
174
202
238
119
175
176
176
183
132
227
194
182
180
236
146
204
182
197
300
222
316
168
200
145
162
145
194
169
256
166
184
211
169
189
184
168
190
151
176
300
146
188
224
122
216
140
206
167
204
217
206
195
169
217
129
160
196
280
211
211
178
130
200
217
240
192
165
230
176
183
204
176
277
130
176
206
152
200
131
212
143
190
128
217
179
218
192
235
157
204
162
249
244
259
260
130
129
182
236
130
228
146
252
146
183
162
171
283
202
176
129
146
199
191
200
204
222
238
169
275
248
269
130
184
182
232
203
207
168
186
171
218
193
229
115
168
260
191
119
183
132
191
182
260
129
150
201
156
145
187
247
169
252
129
162
195
194
169
129
161
143
129
200
173
258
228
285
214
166
191
162
210
235
199
176
191
185
211
263
230
167
217
206
146
184
204
204
204
176
130
187
176
261
218
185
267
174
178
255
195
217
152
129
239
230
189
155
181
169
179
129
162
245
175
173
132
219
217
261
201
168
210
183
157
146
122
163
210
209
210
172
201
199
129
208
150
203
261
160
200
133
299
202
204
156
191
164
145
211
261
303
228
181
146
166
151
164
146
209
213
202
181
214
211
194
284
212
153
190
146
115
183
230
146
208
258
162
128
261
233
335
180
204
138
248
133
235
194
213
202
239
224
238
201
129
247
132
192
164
161
245
195
222
189
198
200
246
183
159
237
183
210
204
200
168
193
155
272
231
129
183
228
203
184
214
286
217
162
213
195
157
217
235
211
173
172
191
299
209
302
208
198
115
186
128
204
188
231
216
153
190
250
172
221
143
180
183
173
122
130
198
180
228
186
181
146
185
162
138
181
206
283
160
129
211
130
122
225
216
155
189
228
162
191
131
115
214
130
204
146
204
146
199
173
129
169
188
143
133
227
226
211
115
233
213
160
164
182
256
238
146
183
188
259
241
218
146
155
169
178
171
181
228
176
214
130
184
173
178
169
152
166
145
186
183
199
160
215
150
205
203
256
202
195
211
130
209
146
156
189
191
225
191
245
211
206
201
224
184
143
217
155
200
298
195
178
129
239
160
217
168
239
174
200
204
222
197
184
143
243
285
176
213
191
172
267
261
209
160
151
184
211
196
158
115
301
211
248
200
170
247
155
122
174
185
145
129
218
222
217
206
130
145
259
230
174
217
228
185
130
193
173
207
173
184
162
245
235
197
205
185
205
193
186
238
226
207
285
191
164
166
226
226
182
178
217
186
174
115
191
180
158
233
184
210
149
169
192
164
160
204
172
237
193
144
204
224
158
210
169
235
133
133
168
217
160
164
172
242
173
200
154
243
204
205
186
184
217
174
166
157
164
179
198
158
191
119
187
240
173
129
180
130
217
184
228
231
177
228
198
220
178
219
219
178
376
170
202
265
200
158
149
173
196
206
151
143
227
211
138
236
115
180
213
162
129
170
129
225
239
233
210
182
156
239
205
145
202
182
129
158
210
238
191
164
180
129
180
204
191
217
230
274
288
146
238
236
218
180
200
138
191
171
233
189
241
292
187
162
225
191
130
246
173
220
164
180
217
164
173
183
222
173
158
218
210
230
210
238
192
269
201
173
169
122
214
179
202
217
230
182
164
257
281
174
214
138
211
211
168
226
166
192
216
217
271
228
145
129
286
145
130
191
129
217
284
193
199
269
162
189
218
210
201
130
198
128
199
255
146
176
162
191
182
182
204
234
208
187
210
200
177
240
221
244
267
190
178
173
193
129
150
130
202
167
202
149
173
185
178
186
232
152
115
173
243
191
162
144
184
150
196
175
215
223
172
166
243
210
296
180
206
138
181
151
130
169
176
206
129
218
301
115
230
190
143
204
182
130
133
231
173
183
200
168
151
198
233
182
152
190
186
151
180
228
250
221
130
130
159
129
205
199
176
138
217
181
199
129
184
141
191
187
195
274
158
173
214
178
192
164
243
164
185
260
261
239
204
130
150
211
162
198
217
151
201
227
164
133
133
168
258
255
208
156
223
261
179
180
115
204
164
214
192
146
236
211
193
179
202
152
179
237
282
216
163
162
129
245
204
233
145
200
221
194
201
202
183
173
168
204
169
158
192
152
240
179
146
226
133
248
176
200
215
145
210
176
264
172
216
225
256
265
181
193
191
184
211
260
155
159
195
168
158
210
130
212
261
162
221
228
141
188
223
168
180
246
133
168
178
230
222
205
160
130
162
210
176
164
146
199
170
172
212
172
234
204
161
197
164
164
183
286
207
169
192
184
184
210
180
204
178
164
157
202
200
162
210
146
189
230
158
194
192
158
190
266
152
115
210
236
146
178
202
155
141
197
217
281
218
237
237
142
168
180
145
143
206
180
160
141
148
230
164
295
181
201
191
156
179
207
219
174
283
247
228
204
169
226
188
183
129
115
188
254
242
206
130
217
217
199
239
176
187
146
146
178
199
236
182
335
187
233
242
145
201
266
238
204
240
149
234
173
146
208
143
222
204
201
210
204
145
155
223
231
247
204
210
257
166
221
168
201
258
130
230
280
130
173
216
184
185
221
179
220
158
191
180
160
145
149
277
335
191
188
204
189
168
204
240
206
134
222
152
179
183
145
175
145
229
230
322
230
173
164
178
210
268
218
216
268
173
174
255
229
145
276
172
234
287
162
238
168
175
189
145
199
183
259
175
129
182
195
179
251
164
158
240
181
231
221
130
130
145
150
186
143
168
300
206
150
145
292
205
259
146
226
138
164
168
300
176
232
159
158
176
201
210
191
160
256
226
183
156
164
228
209
200
227
191
149
243
147
239
212
246
166
141
200
130
234
243
206
211
183
177
288
174
210
255
162
228
166
174
146
277
258
133
211
182
196
130
276
173
183
203
192
334
190
193
278
161
228
141
145
184
199
180
145
167
149
150
164
200
158
177
115
145
229
211
168
146
145
201
145
179
175
179
129
228
226
239
245
214
176
170
192
155
191
182
210
217
155
248
130
130
283
183
244
141
264
200
141
225
178
198
233
176
264
143
173
221
257
188
183
192
256
222
241
165
185
176
209
130
278
143
154
146
198
251
205
264
178
152
171
219
225
238
279
204
213
169
141
169
166
170
191
229
130
162
190
162
130
129
204
190
201
189
138
228
238
164
183
206
130
165
202
201
160
164
145
162
190
146
204
129
161
210
200
237
161
183
251
149
239
248
143
191
173
217
182
182
146
236
156
130
204
192
204
254
206
197
143
201
224
179
282
210
185
187
178
129
159
138
122
179
201
129
173
244
169
213
184
210
206
251
205
187
246
155
234
173
283
176
252
236
190
192
208
173
204
242
258
172
143
184
138
276
207
168
216
138
217
181
146
133
195
179
245
129
130
206
143
141
193
190
177
180
162
145
223
161
262
169
194
222
191
129
132
191
210
175
146
192
174
226
181
184
243
185
150
221
129
182
206
115
216
229
175
215
143
210
157
141
141
162
164
200
253
183
158
183
130
130
235
225
252
145
168
211
115
204
173
149
210
223
141
155
173
190
149
158
207
178
256
225
168
145
233
277
130
182
183
176
155
229
202
238
183
226
202
178
122
173
173
236
177
146
156
181
281
146
173
183
207
200
210
238
221
211
217
241
286
214
218
173
221
175
195
170
206
182
138
146
168
202
179
225
188
241
204
143
141
178
178
188
286
182
183
217
222
236
188
173
162
176
252
122
207
176
149
162
250
158
186
180
223
138
155
203
174
221
230
146
176
173
159
231
158
229
232
240
211
128
173
204
207
168
206
164
172
246
206
168
192
194
171
133
198
115
217
176
143
229
181
230
218
173
178
225
220
207
155
227
163
155
235
232
153
179
133
187
186
201
168
169
159
255
208
181
171
138
191
283
201
236
204
129
216
173
250
132
201
202
230
186
184
218
202
158
210
203
173
180
174
238
217
149
228
226
206
157
174
243
225
177
130
195
145
146
274
176
199
208
222
185
159
194
254
129
115
143
130
176
264
230
146
164
261
221
211
145
185
130
216
247
164
193
156
180
130
208
168
204
219
164
225
179
193
208
155
133
225
217
205
192
201
208
202
129
206
240
171
115
256
176
176
220
202
206
158
182
214
176
201
179
302
122
200
189
183
190
191
180
129
179
200
178
215
145
180
173
238
217
191
179
182
211
217
232
220
130
189
183
155
173
143
210
172
146
166
262
225
210
188
204
210
181
194
229
204
260
160
182
180
206
223
229
144
234
189
174
249
213
212
166
178
176
130
239
259
259
181
160
202
287
172
207
189
192
164
208
130
262
142
143
156
122
143
204
181
198
138
155
204
171
261
229
250
211
138
229
255
138
169
199
238
161
278
185
204
267
200
178
228
129
162
199
158
201
193
129
162
246
156
264
195
229
184
197
209
259
207
240
210
194
191
173
151
143
130
172
179
204
184
171
192
128
235
115
162
128
195
188
194
216
230
143
217
169
219
219
179
161
181
204
168
158
172
196
146
198
177
245
212
230
149
222
185
180
218
156
141
252
158
289
176
224
166
129
155
176
186
177
259
179
300
190
202
250
234
191
257
207
186
278
214
195
278
236
204
206
239
146
304
174
211
258
156
201
115
199
168
195
225
168
176
264
176
143
215
192
200
202
158
173
259
198
168
115
195
243
161
190
195
216
212
211
173
201
239
176
204
143
213
230
256
206
144
160
162
184
244
207
188
176
169
217
184
129
169
173
176
258
172
146
189
183
176
222
241
150
162
168
191
155
146
280
184
172
147
186
129
138
129
200
214
219
145
214
133
215
218
194
173
204
169
236
242
146
179
217
173
201
157
169
160
152
129
173
193
193
240
229
129
164
222
192
189
189
176
173
204
230
171
168
224
211
197
176
180
186
204
156
229
204
146
217
252
129
164
295
249
184
232
129
210
190
195
188
169
162
283
248
146
129
246
266
206
257
205
129
220
193
214
144
181
239
230
209
130
195
178
207
321
181
201
162
223
178
184
182
210
198
254
115
174
176
164
143
130
166
229
160
211
146
168
230
173
201
162
191
133
130
225
243
129
238
155
144
234
168
174
271
236
245
129
191
130
173
162
115
185
179
211
199
208
176
236
210
201
224
162
175
183
199
176
255
186
176
151
199
178
179
169
196
201
193
173
206
206
184
243
146
162
182
222
183
183
175
173
191
129
178
141
146
145
146
173
243
158
150
251
247
297
178
184
156
189
207
204
184
173
176
171
145
195
184
193
200
173
182
176
235
146
182
179
146
206
238
176
168
160
222
179
146
242
258
232
189
204
261
238
130
216
166
182
146
212
228
210
204
214
183
236
210
147
146
205
206
256
199
155
202
222
247
185
335
203
217
206
181
173
204
185
173
178
173
169
145
155
239
221
212
175
204
214
229
209
129
179
257
212
200
182
184
170
201
208
251
205
325
129
129
146
272
170
236
129
171
196
210
259
229
213
184
115
229
243
156
204
180
159
177
141
199
204
146
192
171
169
182
145
201
143
204
159
207
168
183
208
184
193
166
208
193
202
249
189
130
199
161
129
235
217
231
176
182
183
214
182
227
189
243
242
141
202
157
233
202
146
183
152
158
203
185
182
200
133
130
115
222
156
249
236
251
183
202
177
209
169
159
200
194
204
232
204
162
209
157
129
214
230
201
146
158
175
202
161
214
228
267
173
130
166
236
263
158
183
159
180
201
146
201
168
200
244
296
240
168
217
212
146
133
257
257
186
173
201
119
230
133
138
162
146
183
179
208
260
254
217
223
178
216
133
200
217
247
147
210
217
149
214
271
216
205
264
200
237
145
238
172
209
198
138
160
155
204
209
173
183
217
175
237
201
214
196
174
180
191
179
133
129
115
168
175
221
218
260
210
179
192
233
168
200
145
256
166
201
230
166
162
164
229
191
158
153
247
245
173
183
150
194
129
179
216
145
202
164
169
227
251
158
200
169
203
143
265
207
203
143
184
265
156
229
234
206
181
176
260
251
181
203
131
173
333
231
198
244
168
182
237
209
214
162
150
237
202
193
155
155
178
183
244
130
202
189
168
173
222
200
213
149
138
180
292
199
183
229
224
272
146
227
258
230
206
164
294
161
246
208
249
162
173
191
204
261
182
133
253
210
198
176
184
192
129
227
173
146
143
230
217
129
179
227
145
191
209
209
145
171
206
180
223
172
244
206
182
204
217
204
193
157
155
185
173
168
207
214
195
201
221
164
275
221
129
207
241
161
157
160
236
190
226
203
182
210
202
129
236
186
211
258
146
151
130
183
264
156
184
204
176
252
176
206
240
158
194
204
200
129
282
141
230
303
168
244
178
196
202
190
163
146
178
129
204
204
251
224
172
230
161
251
143
179
238
166
204
146
164
170
185
204
166
188
214
227
130
262
179
163
217
171
235
211
168
227
143
210
133
184
233
162
217
211
262
244
203
155
211
187
256
188
183
209
146
204
204
145
129
210
161
238
156
173
186
197
158
129
160
236
133
210
239
133
216
191
210
251
161
204
231
168
164
244
173
173
242
217
160
211
259
221
150
176
230
222
195
235
133
115
198
146
254
184
215
232
246
210
183
173
210
146
200
183
207
143
210
230
211
185
249
210
169
258
204
236
186
155
244
169
222
210
239
239
236
173
164
217
138
238
231
200
130
162
195
179
221
122
164
161
211
158
145
115
228
178
143
176
201
263
211
191
167
300
166
204
184
177
193
158
216
225
179
233
143
204
146
228
194
235
231
200
172
194
201
266
182
194
175
155
221
155
196
227
141
191
191
230
178
145
229
241
145
237
194
209
149
167
210
176
198
212
185
138
168
182
122
176
156
175
166
155
169
176
263
160
160
230
175
175
181
212
217
200
192
151
170
265
222
141
183
239
182
115
310
211
162
231
296
174
145
162
237
185
152
184
146
141
185
174
158
214
181
188
175
181
235
246
214
183
211
129
202
130
176
256
168
195
210
130
204
246
204
162
236
162
145
195
178
168
138
214
188
262
274
180
285
204
213
204
208
197
168
202
162
221
214
183
239
169
175
173
186
185
201
200
149
243
155
231
168
219
201
164
158
119
167
221
166
228
149
162
225
162
190
210
146
236
226
169
219
285
179
230
176
146
239
270
249
165
210
145
200
185
191
184
250
164
211
236
129
173
206
231
205
193
129
216
206
214
200
234
146
174
171
122
164
185
177
228
229
202
160
221
216
173
201
248
210
236
259
211
254
176
210
266
202
206
130
270
181
173
192
201
210
201
189
186
170
146
200
229
274
115
242
286
208
128
201
130
140
182
182
130
156
202
250
200
239
211
256
173
181
209
274
188
176
191
192
193
152
202
180
241
203
146
143
228
158
146
115
234
194
238
201
179
169
219
205
230
245
189
222
157
294
227
155
189
195
238
165
191
269
181
229
173
201
176
176
216
174
306
167
143
180
247
170
168
189
186
232
198
220
129
178
141
202
201
191
263
233
145
194
172
208
206
210
168
190
247
223
230
171
218
216
257
200
199
216
229
217
282
253
115
115
231
204
217
165
181
168
268
239
284
188
191
240
234
236
292
218
184
179
206
210
146
187
202
195
208
176
184
175
242
145
202
115
296
244
145
228
210
258
181
256
302
169
275
188
115
149
173
186
242
193
146
210
235
186
206
166
250
202
182
186
146
182
183
168
224
185
264
254
160
180
115
186
270
188
200
226
155
155
265
218
168
279
227
210
133
170
176
200
249
202
269
203
151
255
184
233
164
184
206
175
214
200
210
205
176
182
146
210
181
264
230
190
210
296
176
222
160
172
169
137
226
243
225
247
172
235
168
175
240
182
204
172
211
176
170
204
219
202
175
145
253
158
162
201
214
200
202
184
188
173
212
180
204
181
232
172
252
195
204
229
146
155
158
201
185
145
246
250
231
217
208
130
216
164
204
163
187
217
207
246
129
170
130
129
206
173
206
182
159
236
253
186
178
129
193
204
241
130
230
211
130
255
129
198
145
173
183
204
159
129
200
164
210
133
211
174
217
223
175
245
193
182
216
179
228
206
225
216
217
174
176
200
145
299
211
214
202
177
173
192
171
146
211
168
179
146
191
209
196
214
168
239
183
138
200
265
228
205
174
185
161
194
206
166
204
203
173
218
197
197
231
130
138
191
258
184
162
222
241
199
181
237
158
200
193
190
211
185
204
182
171
176
176
169
149
239
257
168
207
222
183
201
183
222
145
210
169
230
165
230
162
146
210
176
209
181
193
213
129
159
164
148
133
206
210
162
191
173
167
154
171
202
129
238
215
191
175
156
176
141
264
186
202
133
204
162
192
221
217
177
233
185
115
162
146
185
132
194
146
180
238
270
129
214
181
246
211
192
133
141
179
155
218
194
255
143
228
130
296
177
195
238
162
162
157
182
211
217
250
194
149
158
180
183
164
274
145
217
242
159
173
171
281
129
185
231
210
190
146
321
176
182
313
250
180
228
263
130
195
236
213
261
191
178
182
129
180
202
177
249
242
157
211
143
204
225
183
243
189
179
253
195
156
230
287
161
146
223
169
190
133
169
190
219
187
155
251
179
162
184
173
174
166
242
202
211
157
173
217
172
221
202
173
146
146
230
173
214
180
164
210
141
238
182
150
173
206
233
248
173
203
251
238
128
189
185
206
233
179
236
195
204
146
145
222
201
189
227
176
217
164
258
236
221
146
275
225
173
162
141
158
130
217
133
266
257
180
205
213
151
174
159
145
180
141
129
195
210
191
161
221
163
246
173
206
247
146
152
298
235
201
145
122
186
184
230
219
130
231
183
244
194
211
129
155
218
129
156
234
173
158
231
206
186
201
173
211
264
216
170
211
239
231
143
130
222
176
201
130
185
239
196
158
211
225
173
259
222
214
181
146
130
185
264
171
162
223
201
191
202
162
176
162
115
172
259
158
168
176
195
238
257
212
162
206
204
255
175
261
209
191
217
182
206
166
241
199
261
202
146
207
228
210
217
237
222
145
200
188
256
191
184
173
162
210
184
257
228
204
175
246
193
166
341
199
174
156
225
215
191
146
173
210
176
190
188
187
184
236
191
178
204
190
179
219
202
217
147
168
258
209
161
181
115
238
146
146
176
143
200
175
146
184
206
227
176
259
193
211
162
166
143
174
145
239
182
155
176
157
179
212
132
130
168
182
239
138
185
144
223
165
149
203
216
129
216
168
194
141
183
231
178
268
175
186
206
181
262
115
161
237
166
201
205
146
220
129
146
181
133
241
191
122
178
191
251
203
188
164
220
176
237
187
254
143
182
176
199
174
296
176
129
129
146
246
176
171
180
182
271
202
227
182
211
236
181
187
129
143
218
209
158
248
230
286
155
129
129
129
173
203
129
176
160
146
184
176
245
178
183
236
265
155
158
186
180
235
228
190
173
214
202
146
265
206
210
133
147
188
222
190
171
195
146
161
186
251
202
222
202
130
296
160
202
168
206
204
156
189
212
211
170
260
200
133
200
229
178
184
130
209
193
250
182
158
130
146
165
194
204
169
222
164
176
195
186
180
204
236
219
196
190
196
155
203
155
190
247
173
220
237
130
204
211
222
211
143
225
191
222
211
150
180
201
130
174
209
204
173
176
261
201
181
211
226
254
182
173
215
153
155
138
232
203
146
152
195
145
218
209
122
185
144
187
186
130
181
162
175
155
203
182
157
203
239
188
173
179
184
202
264
184
153
285
184
198
187
129
265
252
191
182
173
184
238
201
162
214
169
198
180
217
187
252
166
130
203
164
208
149
146
156
180
130
158
173
285
143
173
158
197
244
230
217
179
179
210
152
162
179
227
130
217
168
164
149
162
221
198
249
180
186
212
186
129
193
247
175
146
198
239
168
194
178
162
179
163
230
192
202
223
230
206
195
182
184
191
143
158
194
146
171
172
217
335
128
249
179
162
168
188
156
169
213
182
175
227
162
149
165
129
217
172
202
143
129
240
147
201
183
223
223
186
147
204
239
188
180
155
130
232
189
218
202
170
265
263
151
190
132
150
201
191
209
174
209
223
129
161
236
274
207
185
266
181
252
155
207
195
151
202
184
183
170
204
211
161
188
171
129
145
173
173
211
187
192
238
122
158
234
239
189
193
300
228
185
133
151
235
161
189
160
143
214
159
238
146
187
296
149
179
175
217
129
176
129
236
133
156
153
176
197
184
173
130
240
157
225
130
262
168
141
146
211
179
138
181
242
148
180
201
222
173
178
158
181
161
183
129
206
230
146
217
204
250
249
300
129
211
128
144
226
156
183
129
176
180
206
183
188
173
183
285
239
231
209
146
168
227
246
258
146
324
193
200
211
232
130
146
202
254
171
162
239
203
162
129
130
217
188
216
188
219
224
229
129
115
161
218
276
184
192
168
187
209
180
221
272
272
226
273
172
173
156
199
177
224
179
198
173
190
195
183
129
178
230
166
158
237
183
166
213
203
216
239
190
145
250
216
214
199
216
162
175
194
208
236
162
210
200
173
143
236
115
218
146
222
246
182
164
203
224
200
184
115
277
169
200
164
212
162
189
202
236
144
143
256
238
221
223
162
225
190
191
144
146
236
217
184
213
205
208
146
176
175
197
188
172
141
247
188
234
149
164
173
176
185
192
247
189
194
236
239
179
178
204
206
231
294
263
189
130
183
209
188
210
204
200
210
248
205
264
243
143
176
230
181
208
204
183
188
130
143
247
299
226
178
146
238
230
162
184
145
174
335
219
146
227
194
203
168
181
186
201
186
247
129
156
221
192
184
204
265
115
144
192
208
184
152
231
188
156
261
181
255
204
209
144
189
237
200
182
176
155
204
244
266
209
192
191
191
146
174
183
264
143
143
224
179
147
168
164
145
245
185
208
172
133
176
208
211
176
150
217
229
169
207
199
192
261
155
158
164
296
164
133
130
171
175
176
115
155
196
164
260
247
168
182
264
243
130
130
130
179
169
238
183
168
194
156
198
156
164
197
133
168
237
241
130
264
200
287
286
244
158
176
214
158
190
185
231
203
191
145
178
221
171
210
155
173
129
201
177
194
258
224
173
227
206
173
231
212
188
129
335
201
141
179
160
185
130
146
150
173
217
236
141
178
211
194
156
192
185
248
141
166
178
169
173
211
172
129
263
207
259
150
206
193
216
189
171
170
202
292
149
247
184
239
164
184
179
201
228
219
158
202
146
173
182
205
224
215
130
161
146
186
253
122
206
203
197
212
202
210
205
194
190
230
217
170
145
145
211
171
181
255
145
235
145
173
115
183
218
204
211
190
168
177
158
141
200
122
162
146
204
145
251
214
229
155
212
150
133
133
178
191
162
217
146
173
187
174
217
206
197
180
200
241
210
138
200
217
133
213
247
203
206
193
196
160
221
234
169
184
179
182
184
176
168
166
180
173
190
133
212
188
173
130
172
156
230
173
209
141
186
115
204
193
195
176
205
168
192
202
164
203
153
178
220
210
257
183
181
201
133
191
174
157
212
163
200
157
209
211
168
173
214
130
210
146
145
254
205
156
257
211
222
229
227
217
197
179
158
176
168
173
217
130
145
228
173
178
150
210
200
178
152
201
155
150
192
180
198
204
202
133
115
230
218
196
204
178
200
214
204
173
141
166
201
191
210
181
133
150
193
170
143
217
188
133
202
201
178
184
249
204
180
156
173
144
129
189
213
176
174
235
236
234
173
237
164
265
146
168
168
183
145
162
173
206
222
202
214
200
219
194
146
204
200
192
180
215
162
141
129
244
255
242
196
129
210
194
173
180
129
129
173
122
214
181
180
157
186
248
160
148
161
182
223
240
176
193
230
268
210
162
201
210
233
217
218
241
175
199
169
216
210
172
162
180
189
164
173
130
262
156
214
130
210
209
183
151
221
299
227
227
252
173
201
173
169
129
261
300
200
170
192
228
284
199
128
247
218
193
191
187
200
169
182
225
129
172
145
155
218
143
191
202
255
238
220
199
152
250
230
202
189
226
179
150
174
209
158
152
170
268
227
269
129
174
168
150
219
207
170
241
146
184
183
154
225
271
191
261
138
247
235
243
203
158
178
186
146
210
173
307
217
191
230
275
183
182
187
143
179
183
183
236
232
204
214
219
122
198
160
258
211
188
200
158
176
170
201
222
174
176
294
236
205
145
204
130
201
272
242
221
184
191
221
176
133
296
133
163
228
239
275
138
211
160
239
250
204
217
182
236
222
164
206
238
147
196
176
181
210
152
258
143
212
190
197
178
288
130
255
221
146
203
176
207
185
231
146
158
176
160
181
215
202
255
179
205
265
206
232
247
211
150
225
229
213
167
209
169
164
225
176
180
256
194
204
183
173
166
164
230
257
239
225
214
211
141
162
142
211
115
201
156
143
197
133
241
156
246
145
221
210
247
143
156
263
222
168
177
208
236
160
210
208
215
216
188
130
210
270
200
222
202
143
159
194
218
311
204
236
179
204
204
196
210
184
187
162
158
225
182
226
182
161
183
194
115
271
211
168
217
168
237
246
133
158
176
230
201
141
141
133
238
178
166
128
164
130
164
185
202
202
232
141
167
194
245
179
163
190
115
194
239
188
173
182
234
218
197
221
233
193
146
129
223
237
173
220
191
150
160
129
201
243
204
198
236
274
212
209
133
164
253
189
143
182
200
228
146
231
176
176
208
146
221
144
167
199
161
173
176
191
151
218
264
175
133
211
164
227
168
231
186
212
171
174
155
207
218
161
183
201
150
223
238
179
145
194
198
213
133
166
250
172
212
222
214
193
256
252
169
178
133
145
143
222
227
115
238
172
129
173
209
310
236
176
238
160
166
133
185
234
173
162
188
188
115
207
158
164
162
221
189
229
255
227
173
200
157
193
277
189
193
150
185
296
187
151
115
212
173
181
149
219
184
246
201
230
146
209
173
247
115
138
183
204
160
176
237
200
129
230
229
184
179
115
247
195
147
225
299
251
184
264
256
192
184
173
222
179
199
234
199
204
215
217
146
206
169
229
180
158
191
184
244
219
122
204
195
185
194
186
128
231
217
231
204
230
217
176
206
208
203
207
129
264
231
188
145
203
216
168
133
204
146
235
173
146
204
196
218
191
156
200
119
187
251
225
143
182
213
193
172
225
188
220
190
192
217
204
237
244
217
195
130
150
211
246
210
224
184
178
199
146
129
203
167
139
211
176
200
169
173
204
179
169
146
202
252
172
231
225
230
213
160
180
191
181
213
180
189
245
185
146
160
130
198
155
185
190
183
171
193
194
158
227
199
256
242
237
158
164
217
279
172
254
262
213
146
225
214
166
225
166
144
173
174
138
130
129
115
196
201
227
202
210
181
159
209
175
173
149
182
217
229
130
156
250
176
257
206
318
236
202
204
257
205
257
243
173
169
176
191
225
206
238
160
129
175
175
202
176
217
265
191
230
132
175
220
265
210
179
256
115
173
214
240
176
189
192
245
133
216
129
129
228
203
185
216
133
217
162
228
166
164
155
182
209
249
172
200
179
203
146
169
202
155
170
164
224
180
174
176
193
143
161
191
202
225
130
179
191
145
259
176
164
183
304
129
194
152
173
150
129
210
185
210
160
210
194
250
266
204
217
182
171
187
211
204
191
215
168
211
199
237
145
173
200
202
252
181
179
183
218
212
205
174
280
141
210
157
173
239
171
146
210
202
122
263
184
122
198
162
164
161
207
204
209
176
179
200
164
176
176
183
146
179
176
210
194
178
200
236
173
184
145
146
236
146
263
177
129
253
229
263
202
179
167
220
204
185
207
201
187
205
130
172
200
129
274
252
201
156
203
162
262
199
201
173
194
204
153
187
214
130
237
230
249
189
177
201
176
204
175
147
188
129
248
236
119
328
188
161
216
129
153
209
122
228
272
129
142
122
217
180
249
205
252
183
245
204
202
210
150
222
246
218
238
171
175
203
173
226
162
233
133
184
275
167
191
195
218
211
144
146
200
168
204
183
211
198
218
173
184
168
144
198
259
141
184
183
176
129
261
130
173
190
129
230
247
216
146
191
239
196
214
258
157
160
204
139
195
160
217
183
235
234
130
260
231
160
206
146
211
129
226
200
167
157
197
208
226
146
204
247
195
233
130
253
230
210
186
160
216
240
157
204
161
192
167
245
231
217
146
228
122
175
179
231
170
164
205
179
219
216
217
129
217
223
205
217
151
200
206
146
211
146
184
153
168
210
230
202
204
122
237
306
264
204
162
171
164
168
251
210
157
250
146
174
194
184
191
167
176
151
194
156
194
200
156
188
162
182
168
202
137
263
213
173
239
222
188
204
133
211
208
178
198
225
145
204
242
129
155
188
129
243
191
195
182
149
218
150
211
239
207
176
129
176
146
255
195
173
210
146
129
179
158
155
130
143
259
161
294
212
228
202
173
275
222
178
308
241
194
239
144
138
227
130
208
164
152
143
176
194
204
254
176
156
155
173
171
231
210
194
190
184
225
218
239
239
169
115
249
187
173
180
176
146
141
207
176
264
178
264
143
268
130
201
233
201
212
236
261
210
202
211
168
204
203
182
141
225
155
115
200
180
185
198
213
218
197
162
241
206
229
237
221
184
238
204
188
162
222
170
179
175
155
163
191
206
202
325
179
179
230
226
173
184
164
190
158
171
195
242
260
161
129
200
178
204
253
217
262
201
288
173
176
168
251
130
222
258
146
195
179
177
164
231
200
160
146
130
164
189
191
225
216
166
161
201
206
191
129
201
143
203
217
133
222
190
174
141
201
147
200
291
221
168
258
176
185
138
129
206
150
240
203
212
155
130
322
240
176
205
194
192
179
213
190
261
201
217
200
226
157
212
191
258
187
170
180
208
141
195
168
130
184
253
205
167
144
131
190
130
157
200
130
182
194
143
173
164
234
169
156
173
201
129
218
236
198
216
230
162
204
168
214
184
252
181
129
195
204
145
146
231
217
174
176
204
188
199
150
255
160
166
290
147
217
299
254
261
168
192
200
231
207
217
185
129
193
201
211
168
151
206
229
159
217
176
231
146
129
197
185
115
173
146
204
251
188
186
129
129
192
183
242
228
205
149
294
173
183
217
145
204
221
199
158
204
245
175
219
194
224
209
236
130
168
115
205
239
206
259
177
176
185
238
214
115
208
244
239
239
182
218
202
211
264
258
180
181
189
156
184
185
166
229
151
250
219
208
249
245
202
213
240
179
159
168
176
130
248
274
179
212
206
129
176
146
179
184
195
242
242
179
210
194
258
197
206
244
200
152
130
157
179
115
181
163
178
129
186
158
278
158
155
182
146
189
240
236
273
252
217
146
203
198
177
168
222
145
272
173
198
187
181
194
153
186
184
115
168
218
246
130
236
202
174
168
176
202
211
166
146
274
178
161
168
318
210
129
175
156
143
211
259
145
143
170
130
129
200
129
174
170
207
195
130
229
168
146
216
200
184
155
174
214
146
155
129
188
115
190
203
180
228
156
264
184
130
149
265
188
226
146
192
214
179
133
183
165
202
231
283
215
168
213
187
152
175
157
248
162
174
188
129
239
151
210
159
202
244
236
187
177
146
169
184
191
214
227
169
209
133
191
214
181
145
289
176
176
182
173
216
230
191
205
210
175
150
168
213
257
133
217
173
249
268
152
238
180
239
133
182
267
167
249
186
191
266
129
174
207
240
169
182
230
133
161
158
192
176
169
130
178
176
198
228
129
130
186
209
241
200
175
230
224
208
130
238
129
130
178
256
143
245
181
146
254
215
206
143
263
177
214
202
155
168
132
189
174
240
173
146
195
182
132
230
129
173
226
127
158
247
133
244
217
132
193
225
143
191
263
190
180
166
156
178
186
209
187
130
204
173
191
205
227
253
200
158
250
181
210
165
201
184
130
129
190
177
210
166
186
182
130
186
164
261
242
215
150
222
325
204
143
198
130
277
176
206
130
165
181
161
168
239
185
130
204
262
194
115
119
188
252
184
129
240
204
203
150
226
164
236
228
255
228
194
169
223
186
204
186
178
224
261
227
235
183
211
130
178
169
228
286
210
183
228
167
217
168
222
163
173
173
128
194
291
232
218
158
195
250
115
129
222
230
145
141
233
229
239
211
224
197
181
209
254
149
217
146
232
143
207
200
194
190
201
145
145
264
158
189
225
191
261
202
184
243
187
129
230
176
191
122
257
176
169
172
130
158
184
191
184
199
174
225
247
165
225
129
262
199
225
202
214
240
173
219
168
240
129
146
170
191
250
182
183
185
179
162
191
138
204
174
129
130
155
186
299
194
191
245
207
133
202
216
166
181
188
200
173
225
202
164
252
176
176
190
189
176
167
178
144
241
217
129
250
157
214
181
173
186
132
204
182
157
204
130
217
198
185
176
130
215
206
202
280
230
176
122
141
129
185
130
150
138
169
200
203
180
130
183
115
201
122
163
174
278
164
187
132
180
165
129
171
164
200
240
222
233
184
158
157
129
195
262
145
203
173
201
156
168
192
145
173
166
203
191
144
217
157
146
129
191
193
245
210
217
166
245
264
188
186
209
129
191
206
180
181
189
150
219
194
255
259
182
122
147
250
166
175
216
164
270
198
185
175
210
217
190
228
236
231
241
201
257
165
259
211
146
167
230
204
168
161
129
166
130
248
280
129
179
158
177
169
227
268
203
218
204
176
158
195
170
214
199
159
161
138
157
204
194
168
168
285
122
185
179
146
211
228
175
283
192
153
185
202
133
202
168
204
157
221
203
133
219
203
213
230
195
196
221
188
211
220
204
217
147
202
193
174
166
195
168
146
204
238
131
226
210
195
212
183
186
184
210
221
146
238
293
181
233
181
188
202
202
200
204
216
184
146
223
221
187
237
210
222
157
177
270
231
130
143
202
193
214
168
198
172
176
130
202
141
217
163
146
211
173
129
146
143
216
171
115
176
265
225
181
245
182
188
215
258
129
204
160
209
182
188
186
249
146
202
192
178
202
320
176
229
191
176
219
173
231
210
179
189
146
238
175
176
236
129
196
199
233
217
239
157
255
141
186
206
133
129
173
213
239
176
148
232
204
176
230
143
173
211
146
170
230
205
223
192
244
169
183
129
203
160
201
185
217
190
230
143
200
194
158
129
200
139
145
204
189
286
253
210
202
239
217
271
157
195
283
142
146
219
246
188
224
238
201
185
178
236
185
162
179
241
200
210
198
115
172
173
182
213
133
183
263
172
146
189
115
221
184
162
204
189
281
228
204
141
130
173
162
237
234
258
182
186
186
216
271
153
166
143
273
164
210
176
236
270
158
162
202
240
210
256
172
160
227
202
129
195
184
173
239
184
191
237
204
226
227
217
221
168
181
255
174
212
161
173
235
130
176
164
115
236
220
146
130
182
205
203
133
164
152
150
166
178
180
246
130
133
145
196
172
211
202
203
214
191
204
145
173
201
191
200
202
233
180
209
257
185
209
162
197
155
174
212
193
230
188
204
176
189
210
211
197
191
210
167
198
160
183
180
143
198
228
303
197
156
130
236
122
173
173
215
263
146
227
148
164
191
251
197
208
227
191
183
174
145
183
143
227
185
204
227
158
169
152
156
210
236
176
187
153
214
244
209
179
177
225
146
171
245
115
160
180
146
145
159
229
213
203
153
161
189
246
157
201
194
217
174
152
256
129
210
236
186
191
145
184
225
196
143
260
130
230
183
166
187
174
138
143
191
276
173
209
201
146
119
127
236
231
133
173
156
208
204
146
160
220
180
212
201
191
200
156
217
210
173
204
164
194
180
227
204
203
181
150
160
217
179
214
162
179
191
208
129
173
164
176
166
169
156
211
272
212
176
144
179
178
230
141
160
201
174
188
225
243
224
164
204
210
173
209
179
183
201
228
227
145
200
258
180
206
202
258
170
188
162
181
157
168
210
168
201
130
199
237
201
202
189
130
119
267
180
181
145
169
129
232
206
231
240
146
244
194
191
185
130
166
191
175
232
204
181
194
190
188
217
131
227
179
251
129
245
177
202
210
191
260
174
173
209
229
129
204
231
159
188
247
158
200
188
229
242
204
180
176
248
205
191
283
173
180
187
176
203
266
188
133
157
173
247
162
217
172
277
130
225
128
129
146
202
173
222
244
184
216
217
226
164
188
183
173
179
208
146
129
238
258
133
169
211
164
138
288
235
335
161
210
148
165
184
160
173
195
182
150
202
184
222
247
146
178
216
179
187
151
179
274
198
173
115
143
171
205
146
168
203
235
143
204
122
193
195
173
187
130
129
177
191
133
146
180
173
240
209
214
193
210
222
208
172
199
155
191
130
203
343
256
176
183
198
206
203
210
155
183
293
190
210
216
231
236
145
182
183
173
145
180
175
141
202
146
200
179
229
176
115
173
115
217
228
203
176
202
173
210
200
198
247
174
183
155
253
192
214
187
204
122
159
155
193
191
231
168
146
162
294
177
176
166
208
146
146
151
174
182
198
197
183
168
173
247
133
239
187
129
138
210
204
204
129
164
133
256
233
168
179
185
130
180
176
129
204
195
250
146
199
155
174
200
179
204
229
190
202
173
173
180
222
205
192
186
204
206
143
133
194
203
214
267
200
162
156
184
156
202
251
217
188
217
194
237
218
146
237
153
187
213
244
239
178
199
207
235
181
173
161
258
210
246
195
230
168
146
208
299
130
208
162
180
168
174
175
146
147
130
217
168
255
195
223
170
176
178
204
173
182
182
183
211
225
130
145
202
130
258
192
130
168
239
248
166
157
172
204
160
203
214
143
180
170
251
185
238
240
198
185
200
187
131
200
218
130
202
146
158
184
173
156
138
200
184
173
183
284
130
238
115
178
187
185
144
169
171
183
263
145
161
179
173
145
161
207
180
209
146
202
197
173
197
274
215
251
132
178
182
193
260
179
150
199
228
156
219
220
201
215
183
169
181
165
232
176
230
179
129
227
150
217
303
229
171
180
179
173
192
179
216
239
173
195
228
178
193
182
307
199
115
129
197
258
191
174
265
212
218
161
176
236
202
182
203
143
235
264
178
143
184
174
143
228
200
146
145
169
164
190
204
211
165
129
191
247
218
146
155
199
130
228
218
143
283
179
169
173
194
180
152
204
197
177
189
207
129
206
129
229
201
211
183
205
176
160
253
146
205
227
146
129
168
228
130
186
221
200
169
233
242
167
173
128
242
178
225
184
149
234
153
216
238
225
171
202
218
174
228
271
130
302
130
176
212
152
176
258
261
146
240
130
191
280
129
226
199
172
173
130
185
165
150
208
159
171
129
141
210
247
179
202
153
272
221
155
210
283
179
238
169
184
209
197
241
214
176
201
252
129
190
208
211
205
191
173
211
188
193
139
222
145
209
172
204
158
157
166
205
199
130
169
122
129
214
258
182
143
219
176
240
217
176
173
183
248
115
250
229
167
179
188
173
209
153
184
164
115
150
230
145
189
179
185
146
219
227
221
153
176
182
140
122
174
166
166
280
176
130
268
196
173
173
168
242
185
192
171
293
212
226
179
180
202
133
222
173
204
180
149
224
220
129
226
236
206
145
179
200
208
219
146
182
132
185
229
129
218
176
184
201
130
164
191
130
155
172
206
173
269
219
130
204
192
188
179
265
182
198
143
263
198
183
200
179
179
168
189
176
200
201
217
184
312
229
146
231
227
146
122
232
217
190
173
130
177
264
129
152
194
205
237
201
277
183
188
206
199
200
296
184
204
213
201
227
253
206
204
180
227
133
199
130
185
182
178
133
176
167
251
200
196
208
222
242
204
168
173
210
130
129
130
182
183
230
244
152
168
206
257
173
184
217
202
211
202
218
146
201
160
129
189
335
202
193
133
204
263
229
182
162
129
204
174
155
251
169
200
168
210
171
173
184
250
210
130
160
174
207
218
191
129
179
255
130
177
130
239
246
191
184
226
164
163
141
194
213
261
239
146
166
200
217
224
181
230
182
146
210
206
160
211
184
190
186
194
176
214
200
174
144
170
218
225
191
129
203
222
146
128
168
187
202
156
233
313
200
272
150
129
188
168
146
191
158
210
237
173
335
210
210
259
182
146
248
169
184
194
210
173
222
236
133
155
150
181
271
184
192
192
225
212
190
204
184
176
157
146
206
218
243
180
168
207
180
145
270
173
122
187
144
201
176
178
169
156
132
176
173
235
181
177
143
179
182
157
201
186
247
176
176
168
223
189
210
253
181
173
265
186
186
172
242
244
161
217
172
164
158
198
227
195
133
169
201
178
190
171
164
195
193
173
213
167
192
242
146
177
173
130
164
149
199
198
171
157
155
221
191
230
179
210
133
179
214
173
187
173
168
231
239
216
173
176
143
201
176
203
158
225
167
200
155
180
173
172
173
168
167
206
174
173
179
173
176
187
202
130
210
246
212
194
213
192
182
180
208
219
283
236
174
165
212
222
172
195
178
173
174
201
261
185
202
158
222
217
184
193
130
254
183
212
181
210
202
161
153
180
235
145
239
152
179
162
145
246
225
115
160
155
217
239
213
202
296
171
210
188
155
193
133
177
202
151
164
196
270
183
164
180
203
247
186
129
202
133
230
150
232
218
173
176
182
146
204
180
232
215
215
138
139
160
157
222
167
210
214
173
190
191
133
171
168
158
213
212
167
225
202
204
217
156
168
158
185
195
242
210
212
217
167
195
259
160
173
170
227
222
176
201
204
204
204
158
233
233
191
237
158
296
160
191
198
167
225
244
268
144
201
237
173
231
179
238
165
176
169
197
172
247
162
213
256
155
188
133
186
202
255
203
164
133
133
238
221
171
220
155
230
176
183
193
130
170
129
227
208
203
171
200
186
209
182
162
129
176
281
192
175
198
266
146
182
180
143
217
216
233
240
164
190
172
252
245
217
243
115
185
179
238
207
228
143
172
210
150
172
182
170
176
182
156
217
181
179
130
180
176
202
191
225
189
210
143
236
171
250
200
191
150
181
165
173
312
162
188
183
175
191
178
211
201
169
261
201
214
170
173
115
161
176
194
217
216
195
145
145
225
205
129
200
289
198
204
252
164
200
129
173
184
173
146
164
226
174
237
140
130
165
202
237
130
218
202
202
238
168
236
145
202
182
199
190
180
190
283
155
173
180
212
204
221
173
272
191
183
259
230
115
173
179
157
204
145
179
238
201
249
275
203
201
202
193
233
242
169
168
214
206
184
222
243
239
158
259
265
176
173
210
207
255
169
182
215
163
202
230
211
214
168
247
179
226
166
192
242
165
191
216
211
176
211
204
169
201
225
173
151
200
208
230
230
200
130
252
162
129
212
184
178
250
187
184
217
146
223
209
210
164
162
141
173
161
181
189
169
242
223
329
197
283
181
159
239
186
254
161
178
185
168
238
232
129
160
180
210
186
238
202
166
238
162
150
238
227
130
146
173
187
188
183
225
162
162
173
224
172
205
155
179
130
130
146
179
191
147
236
245
162
218
241
130
222
230
237
226
175
143
199
321
238
168
171
129
130
181
204
200
251
173
146
227
146
160
146
183
198
251
230
145
158
212
261
155
141
236
130
214
182
210
217
306
166
186
200
158
162
173
173
152
169
230
211
184
156
252
241
173
162
212
229
179
249
184
130
130
256
209
146
183
169
145
151
237
173
213
204
216
173
201
163
129
192
212
180
150
255
190
180
219
274
161
244
133
130
152
182
205
211
248
247
260
234
186
167
210
158
176
138
238
148
204
204
145
182
249
271
158
271
168
210
179
202
200
185
152
208
164
188
222
161
182
185
218
201
201
169
194
207
178
222
230
191
146
214
335
163
195
130
138
259
209
156
173
173
128
306
169
239
168
180
224
211
173
158
221
218
289
184
122
174
250
133
217
128
146
146
201
153
234
204
236
176
145
335
130
146
191
186
146
195
196
236
204
247
256
168
164
211
143
203
152
204
115
203
151
115
130
212
221
184
230
180
145
143
175
179
255
185
158
168
246
195
129
287
145
143
225
170
194
197
146
172
128
231
208
155
133
178
146
146
240
226
180
207
129
191
193
176
184
172
203
133
173
148
183
208
214
178
187
130
206
182
204
186
168
129
173
174
233
146
176
176
197
231
193
178
179
206
185
146
133
251
248
176
228
170
194
199
152
164
171
211
236
277
176
204
229
151
133
166
176
204
194
195
276
178
169
296
210
259
217
173
197
206
129
146
158
203
251
242
194
180
164
145
130
226
167
184
178
173
209
238
176
146
287
173
137
163
213
170
204
206
184
202
211
174
204
185
202
245
158
236
208
174
263
156
233
193
158
175
186
180
232
129
222
130
192
209
133
174
143
236
221
169
216
222
210
175
222
184
211
181
246
133
147
179
222
204
178
183
225
191
239
146
207
174
199
144
143
201
130
184
182
129
169
194
182
156
146
223
244
149
173
115
146
173
208
129
217
204
264
211
171
198
173
289
130
173
181
144
182
172
189
151
146
168
271
219
190
229
143
155
170
248
211
257
183
200
182
238
132
181
236
207
179
146
204
171
153
212
141
222
203
157
164
210
162
211
202
150
236
175
184
182
216
195
166
247
144
172
183
238
115
254
180
243
129
220
213
143
205
143
115
225
184
157
240
193
176
204
129
230
173
176
217
289
203
167
145
166
179
153
196
287
327
191
145
208
173
201
231
129
195
251
249
206
234
149
236
228
189
130
192
146
157
258
144
219
158
173
231
169
129
204
252
190
173
130
146
184
172
166
211
226
130
186
194
190
240
208
238
225
194
153
130
198
204
223
146
167
259
173
174
210
157
181
132
169
241
237
181
261
278
164
207
130
203
240
164
200
129
115
272
197
181
164
221
189
200
164
187
188
130
164
132
200
253
185
191
232
182
252
188
129
188
203
201
201
213
208
129
183
179
244
212
216
181
200
193
189
115
231
215
168
160
223
219
257
161
129
310
259
211
169
160
168
191
138
173
184
184
211
221
191
182
225
173
143
157
146
187
210
164
131
201
218
176
157
146
158
302
178
169
234
218
158
166
198
185
200
176
155
173
180
201
210
233
146
205
164
201
266
152
200
230
256
223
146
129
202
193
240
130
299
153
129
217
217
232
143
184
186
149
193
130
152
129
206
158
143
183
188
203
129
196
173
176
197
183
162
273
133
202
219
167
188
204
164
181
129
222
228
173
195
226
227
122
248
200
115
173
185
146
217
201
195
222
206
203
129
217
259
168
166
210
133
146
152
176
170
188
225
145
228
215
335
202
211
230
204
209
183
179
145
141
274
285
129
190
204
208
202
178
197
207
138
178
252
202
257
185
146
119
206
191
205
201
185
176
197
176
222
211
158
216
173
225
129
192
158
217
202
230
155
150
138
144
199
221
185
226
218
186
173
207
207
129
239
161
181
177
130
168
203
147
210
201
159
146
171
168
217
206
183
159
194
253
211
218
180
164
228
262
173
202
130
146
162
230
164
250
195
158
225
170
161
188
217
211
183
164
279
203
167
189
143
255
210
204
207
217
222
180
174
183
202
150
244
214
219
161
146
129
196
195
204
173
237
209
171
115
189
162
195
184
162
221
143
200
242
170
203
243
197
176
164
227
281
151
287
168
184
189
162
169
169
238
273
129
182
251
148
146
201
182
270
198
146
133
211
185
203
162
168
174
173
202
211
216
191
191
199
257
155
230
219
155
179
160
211
223
296
179
156
239
201
146
218
168
149
242
203
261
253
151
180
229
180
159
203
225
149
176
164
152
214
229
204
194
141
221
115
219
227
206
187
228
202
200
169
166
145
194
211
151
247
143
204
179
168
233
204
173
193
210
241
202
236
145
143
179
153
176
203
144
235
164
216
173
155
184
173
155
257
204
156
194
146
217
212
207
160
122
146
241
179
225
211
191
188
128
158
190
146
187
185
158
177
260
238
122
191
176
146
162
173
158
176
146
242
130
217
141
227
230
239
174
211
180
129
184
146
229
122
185
184
166
179
231
210
236
229
162
169
179
176
160
181
199
195
129
169
169
165
169
164
140
200
255
214
130
215
169
221
182
209
171
242
156
221
238
194
202
231
145
212
174
230
204
133
200
176
202
181
168
173
224
115
192
129
173
158
208
176
130
206
130
188
169
187
181
145
207
162
162
221
228
179
146
218
301
206
191
129
201
202
242
208
206
173
129
130
230
122
186
173
183
178
215
138
178
177
150
195
259
210
188
129
149
228
168
226
187
239
217
179
187
203
180
146
168
146
249
180
173
213
169
182
158
217
236
204
181
146
173
314
146
164
184
194
197
207
230
179
212
130
210
177
206
231
176
217
122
176
178
166
191
194
133
230
217
184
173
256
174
185
179
180
275
239
261
164
185
204
188
217
269
200
212
162
218
189
204
146
158
200
155
209
173
215
168
179
287
189
215
184
159
210
164
145
205
176
236
151
160
209
129
176
217
238
195
161
229
174
231
173
246
227
115
176
168
204
216
162
181
201
229
178
146
178
206
179
192
210
210
258
188
164
185
196
178
173
200
147
204
166
202
249
158
129
256
233
158
145
201
198
210
169
239
129
202
179
184
264
174
234
184
132
171
166
179
204
146
203
185
252
211
176
230
145
230
201
176
249
250
178
246
146
145
211
184
224
215
226
255
237
119
205
176
173
166
189
129
176
147
201
195
202
188
359
221
176
216
179
179
182
178
185
188
246
145
173
172
210
157
128
233
176
255
179
206
145
217
150
181
206
191
287
181
214
222
173
162
138
170
190
129
155
212
177
246
178
187
166
210
192
180
184
212
247
184
244
174
201
201
173
253
217
208
200
279
159
258
257
211
149
264
213
205
208
201
201
146
334
236
274
178
189
192
194
213
129
218
149
130
280
217
130
157
251
204
319
252
173
145
131
246
230
199
160
115
212
260
179
217
229
129
227
171
228
206
241
197
173
189
288
214
176
204
173
210
206
129
176
157
251
191
231
270
247
231
168
181
131
254
162
208
146
201
168
264
169
215
181
205
146
210
224
173
204
301
169
145
174
176
173
193
149
233
173
157
254
139
266
189
200
213
166
129
219
197
129
236
150
152
130
241
130
176
131
115
180
185
230
204
180
187
217
176
179
223
173
128
162
225
178
119
217
130
176
192
146
192
176
218
187
155
212
180
199
246
185
207
155
251
242
129
206
209
130
190
181
159
146
246
158
150
185
184
191
145
200
133
183
150
130
115
222
184
176
166
209
229
217
186
168
176
146
242
203
209
155
204
238
210
143
241
185
204
151
168
233
408
218
176
214
232
231
235
251
182
129
171
151
155
203
176
150
244
211
237
130
184
235
180
255
115
265
130
199
188
145
217
146
200
146
191
181
246
130
227
202
163
122
221
164
160
212
143
133
211
200
145
181
168
150
209
169
179
188
194
207
151
267
179
198
263
161
115
217
225
162
178
204
223
195
236
194
206
206
162
229
194
162
239
222
158
176
192
234
241
186
158
181
181
168
178
229
192
119
244
205
161
150
183
219
178
201
190
211
237
197
190
172
244
210
133
258
238
269
208
209
199
258
169
170
186
150
115
207
186
237
202
227
176
217
143
178
150
275
230
173
173
202
173
191
195
141
210
202
239
206
185
173
170
236
155
175
176
168
164
204
188
223
208
206
171
179
232
219
143
226
211
228
141
133
222
227
268
170
194
222
264
130
206
239
187
146
160
276
182
285
176
231
170
190
130
231
203
129
170
133
129
254
130
181
210
335
200
172
217
186
175
192
270
176
181
133
173
178
200
162
201
186
218
168
162
201
177
162
204
130
206
204
192
178
217
138
245
183
212
236
145
287
176
187
119
242
261
164
264
244
173
130
174
188
253
210
222
201
310
207
217
218
280
166
130
150
204
171
176
202
201
150
164
210
145
173
141
204
162
173
164
216
208
176
267
133
225
217
204
259
185
186
191
200
221
210
168
195
203
204
258
164
191
144
256
213
132
226
233
161
210
221
165
174
217
173
164
173
214
204
179
201
176
172
258
178
179
129
227
115
230
216
184
133
234
130
240
183
179
115
168
211
217
186
129
261
166
173
263
143
231
192
184
176
184
173
157
230
191
236
173
217
168
182
162
211
217
236
176
184
166
230
177
245
178
129
234
168
278
129
211
185
213
241
190
194
146
204
275
193
164
227
190
246
237
192
194
233
164
168
172
133
214
206
213
218
214
206
231
174
160
213
232
272
141
161
204
143
263
209
206
211
129
149
206
200
168
197
160
239
187
166
252
217
129
231
218
254
166
204
211
210
148
146
151
255
174
242
200
153
217
195
160
184
157
160
192
227
182
238
188
186
217
233
211
179
208
183
255
176
194
178
198
194
195
202
237
201
180
182
281
143
162
207
249
217
196
250
179
260
195
218
173
230
201
170
201
153
145
203
204
284
214
138
231
145
209
221
167
211
200
129
240
129
225
176
203
173
158
248
179
185
204
215
152
202
231
132
188
155
185
222
219
192
130
180
246
164
156
206
145
181
184
240
129
176
212
219
129
164
244
321
146
221
184
186
122
188
119
202
210
188
130
176
185
182
162
204
197
201
146
189
143
242
170
133
234
217
240
176
168
239
193
198
204
157
179
211
228
146
249
190
160
157
230
188
173
222
173
219
191
257
227
195
232
171
194
209
215
158
217
176
207
197
208
129
187
222
129
191
203
129
226
146
255
188
184
310
183
182
173
133
242
115
176
115
212
171
187
157
209
141
158
204
244
129
269
217
217
181
247
209
130
172
191
201
186
191
211
211
186
240
189
207
204
183
155
143
203
183
186
179
247
243
263
202
261
208
222
138
201
283
202
191
130
129
165
200
197
263
222
242
179
212
156
176
172
144
246
239
196
166
179
234
217
195
184
230
146
179
157
130
210
256
212
162
173
222
195
283
146
180
141
192
197
335
204
184
263
130
143
174
128
181
207
146
170
217
236
133
129
186
306
239
204
205
173
169
129
165
189
186
119
168
185
201
202
202
201
239
206
179
129
168
176
199
231
210
145
176
181
204
220
280
263
262
179
173
130
186
186
200
242
173
162
192
146
206
245
244
168
226
149
141
244
225
178
210
168
237
146
234
130
263
166
176
208
217
185
181
195
182
205
210
168
183
144
160
146
187
132
130
173
162
167
182
208
173
180
147
149
156
214
195
261
224
133
271
186
219
176
202
150
183
186
207
191
168
260
200
189
216
158
184
224
191
180
206
176
237
221
180
201
194
258
133
219
255
202
183
209
189
200
204
238
261
202
130
146
195
295
181
188
210
226
229
257
254
227
206
146
225
168
130
284
225
283
211
210
207
122
210
167
208
201
191
115
173
183
236
166
182
204
222
221
184
147
204
129
162
210
152
201
176
158
216
201
202
211
224
199
195
146
171
155
176
268
210
259
169
177
203
160
180
115
179
164
183
164
153
287
235
188
173
211
233
162
205
200
159
251
149
146
191
246
206
202
176
130
152
256
225
213
179
168
187
240
201
202
159
230
228
164
258
184
241
185
186
184
171
190
133
129
177
133
133
196
168
221
157
133
138
201
221
119
191
162
200
143
287
244
234
168
175
183
146
187
200
149
173
167
181
130
248
209
115
217
173
173
259
183
156
217
181
191
225
180
163
173
147
130
209
175
179
202
156
186
256
178
259
194
190
202
173
128
244
230
189
168
133
183
242
169
287
181
185
138
206
146
214
260
205
194
234
170
176
145
129
214
171
143
179
211
236
176
204
239
180
247
192
146
143
169
161
281
183
246
175
222
209
176
162
221
230
217
240
164
204
250
263
130
210
170
187
287
165
183
203
173
211
214
256
143
156
143
146
218
204
173
208
225
188
161
170
158
147
166
129
179
259
130
185
158
195
149
185
198
240
202
223
173
186
182
168
176
184
183
208
176
176
165
119
252
202
122
143
130
248
130
190
225
149
161
168
181
285
179
204
211
191
129
173
227
192
201
277
143
192
243
254
222
174
199
210
208
211
217
204
195
237
168
239
162
265
143
204
115
194
207
217
175
205
228
183
297
202
213
144
204
262
186
252
164
200
210
241
161
190
182
228
191
236
222
182
201
246
202
129
230
115
180
184
182
129
212
247
174
274
195
164
161
179
230
164
178
132
200
204
129
200
164
230
198
160
122
158
168
253
188
150
133
202
176
145
214
178
203
184
274
202
186
242
235
215
227
160
208
168
207
174
254
216
241
190
201
218
129
179
195
184
182
194
157
203
115
216
224
229
180
180
181
168
233
204
171
158
204
176
252
180
195
129
186
227
210
133
173
204
176
199
210
237
173
133
235
182
208
173
201
166
208
206
184
224
146
162
194
122
209
204
215
173
237
146
240
251
255
165
222
196
212
156
162
233
129
201
201
217
176
147
133
184
225
181
214
223
183
184
194
145
292
130
216
162
182
262
143
146
169
297
250
239
130
263
129
236
222
205
216
236
188
226
180
210
197
211
200
168
239
283
155
221
157
211
145
254
225
176
176
228
205
160
129
251
204
204
241
176
178
207
260
115
172
258
173
210
146
191
184
242
173
158
166
182
255
133
255
129
225
153
174
164
259
238
184
156
194
245
202
193
207
229
242
258
179
176
146
173
239
168
182
230
143
164
204
246
115
161
182
146
299
173
173
204
146
181
206
219
195
245
251
129
225
218
161
212
230
203
174
230
169
209
143
173
133
236
172
132
170
145
196
133
216
217
141
129
228
233
129
164
221
262
164
130
157
168
155
115
228
130
191
275
141
167
146
237
205
201
206
191
200
211
146
211
224
194
303
184
190
231
204
210
174
146
214
241
211
129
217
254
176
225
223
176
148
221
231
175
227
191
208
210
173
217
200
133
133
230
203
223
162
217
283
258
169
202
184
184
158
237
138
176
181
178
215
200
158
156
149
176
129
173
184
202
129
164
264
162
130
146
172
155
201
214
228
246
204
128
191
204
175
204
191
175
182
228
248
216
152
211
164
270
173
233
244
190
207
219
133
230
217
190
179
175
167
244
168
226
222
150
182
146
205
182
168
241
194
203
115
130
285
211
129
181
176
155
268
187
176
229
150
251
129
129
160
194
254
168
210
255
194
201
186
201
259
281
218
185
211
156
152
181
204
146
193
150
215
185
145
233
204
204
194
195
213
184
178
231
155
253
129
301
281
176
221
189
186
115
225
209
264
215
181
214
176
194
184
218
154
212
247
171
217
237
208
204
143
231
178
237
183
195
219
181
211
210
190
201
200
184
252
194
225
174
173
156
161
129
166
217
230
217
221
176
157
206
259
199
168
162
235
189
235
201
335
150
191
168
258
199
244
133
138
173
146
238
294
173
128
149
254
208
160
188
209
143
168
141
218
178
157
250
176
222
173
162
176
247
235
203
202
130
256
239
335
158
191
189
195
236
156
253
146
204
172
179
217
239
186
173
204
211
208
185
115
146
177
275
205
146
217
151
129
167
130
244
173
209
300
130
193
189
156
175
217
211
236
173
210
175
130
191
178
258
182
156
191
146
241
168
182
186
144
147
133
216
303
183
190
210
130
202
221
202
231
217
217
231
208
238
257
267
284
197
173
226
270
210
194
144
183
178
182
260
160
244
130
182
216
238
146
168
146
173
221
217
222
237
164
182
189
275
222
151
200
173
164
192
186
173
216
168
143
211
168
256
179
175
240
176
201
239
250
176
129
145
199
225
129
166
178
211
133
240
150
226
143
157
182
143
255
182
147
210
231
236
162
228
181
176
247
177
196
180
206
130
173
228
176
176
146
193
235
215
173
199
255
246
200
129
222
225
129
139
168
185
130
176
149
198
196
169
197
210
213
236
203
185
192
129
151
221
210
153
204
176
129
247
151
138
186
147
210
169
161
271
184
219
201
252
190
169
176
182
179
166
184
129
190
258
214
151
161
269
210
204
220
248
179
206
226
146
233
232
176
173
201
221
215
166
259
185
150
231
270
183
164
146
204
182
264
193
187
211
168
249
152
156
162
133
132
222
173
206
159
263
181
197
210
129
146
202
129
192
207
202
216
172
242
204
247
215
244
200
283
156
209
181
130
221
257
183
133
187
182
247
146
161
169
148
193
282
209
210
133
164
133
130
226
156
171
164
164
202
169
158
179
203
146
176
204
258
158
325
172
156
138
253
217
202
232
156
225
179
161
129
163
238
157
200
171
221
146
181
256
164
193
122
129
129
176
201
190
179
204
217
173
132
143
178
174
222
297
222
133
162
174
211
300
236
230
179
204
173
227
214
228
152
173
234
173
228
198
233
178
212
217
183
256
205
206
115
129
200
226
191
183
130
230
146
200
241
179
172
192
240
218
186
180
145
173
210
201
210
156
211
184
167
185
129
324
122
179
194
144
220
176
178
169
225
236
133
279
201
158
158
230
191
166
151
184
174
115
201
185
189
169
178
231
210
224
194
238
236
146
147
201
283
215
256
201
184
173
146
179
198
176
210
146
171
183
150
156
217
184
163
244
246
192
180
202
217
155
242
182
222
235
171
213
236
224
204
173
179
195
176
197
262
188
167
162
188
173
161
181
159
231
195
167
243
180
175
181
130
161
164
228
143
206
115
130
182
217
174
146
188
185
188
181
263
138
190
224
161
238
195
202
246
160
244
130
228
130
250
146
145
168
201
129
146
208
173
184
217
165
166
178
132
214
229
227
176
208
211
143
236
129
182
240
225
185
210
202
161
211
200
189
188
130
184
200
220
210
176
222
161
130
202
189
260
291
205
270
185
186
168
168
188
197
214
210
247
179
177
223
215
146
192
146
192
176
143
177
200
206
201
163
197
209
176
164
174
179
226
179
115
224
178
231
216
226
173
233
269
195
176
149
205
156
196
183
176
172
260
130
200
212
150
221
262
221
183
220
176
151
160
130
188
128
219
259
219
172
145
180
239
258
155
179
192
193
133
146
156
155
176
276
176
195
133
238
173
204
186
149
183
205
197
180
206
205
153
210
207
202
190
178
129
191
169
213
191
192
233
195
171
200
231
168
161
162
210
193
248
226
225
204
213
225
174
146
237
239
180
180
163
240
156
146
141
153
206
234
264
230
206
198
231
190
188
221
219
189
169
170
185
170
252
129
174
255
130
216
200
203
130
184
217
206
238
130
201
217
130
235
210
183
192
183
217
159
160
181
189
115
143
210
193
156
216
165
128
264
214
206
228
208
166
202
211
146
196
183
191
282
164
180
185
143
190
155
207
179
178
210
227
194
251
217
244
193
169
173
129
184
204
221
281
168
283
178
173
146
255
190
178
171
153
182
236
161
195
208
205
176
211
230
169
206
164
176
210
230
195
217
185
130
175
179
164
193
164
159
164
187
247
204
282
168
200
179
204
184
204
146
238
122
177
130
183
151
147
160
226
129
238
181
129
157
170
209
239
217
206
275
168
179
210
173
210
176
176
178
166
191
158
217
164
217
168
269
129
243
215
233
217
200
222
146
164
210
230
217
144
166
130
119
150
262
158
222
204
211
175
143
149
194
176
173
242
204
129
210
225
176
210
129
207
176
192
217
183
291
161
273
212
200
115
146
181
202
200
257
187
204
190
198
132
213
246
191
182
206
184
158
171
165
200
246
159
172
133
180
147
204
189
174
178
182
178
217
184
219
156
145
145
129
221
146
245
238
204
122
195
182
217
183
130
191
180
131
141
238
143
145
201
129
130
212
176
207
230
222
133
146
211
249
188
213
209
199
176
258
214
176
208
164
133
290
258
195
215
215
204
211
206
203
221
176
159
206
292
260
234
238
176
143
223
203
256
212
171
243
158
204
151
146
188
183
205
201
158
173
204
183
182
187
144
210
217
202
157
195
159
155
237
155
141
191
168
179
194
247
184
217
177
202
178
115
215
169
176
209
292
221
178
201
173
211
234
161
183
141
222
229
180
164
185
195
193
210
186
236
199
164
169
221
183
284
180
226
173
170
146
156
176
204
178
129
193
191
223
168
221
175
162
195
243
199
195
129
254
196
132
179
186
230
181
158
150
207
176
231
183
204
146
153
190
173
264
191
185
236
129
187
235
179
155
203
143
205
247
160
203
244
146
184
184
221
164
217
158
207
194
133
169
143
251
225
178
214
115
164
146
187
217
197
129
155
129
182
200
191
191
206
231
204
183
183
252
203
235
258
159
146
305
190
169
129
156
173
146
167
168
160
216
201
173
216
198
173
130
191
202
179
244
186
206
202
178
217
216
225
237
158
142
238
239
129
217
212
129
205
194
205
162
191
238
187
241
173
138
217
187
173
188
212
130
197
318
212
189
182
204
149
203
217
129
186
184
146
130
184
208
241
185
173
179
211
242
191
166
202
178
185
157
183
211
227
146
238
219
141
173
222
158
182
129
173
202
239
138
182
220
186
184
236
210
184
255
247
186
217
187
236
205
182
188
206
158
171
225
122
187
203
205
182
244
206
209
225
185
200
169
129
221
256
211
211
301
211
169
164
324
202
264
183
192
210
173
203
230
122
206
171
160
208
162
157
192
159
168
206
186
225
174
168
174
224
241
146
197
209
180
129
206
151
173
283
259
242
230
176
180
182
150
165
212
176
240
195
180
283
129
216
173
264
258
164
157
183
183
211
279
283
202
210
184
217
236
132
183
236
270
130
238
204
129
256
204
202
217
220
269
204
160
219
156
129
182
319
221
287
226
178
143
202
230
218
186
162
221
130
129
202
168
204
146
204
202
213
133
206
239
191
191
263
161
179
152
181
173
158
217
216
186
176
165
176
209
208
271
200
173
187
204
221
211
130
168
197
206
183
220
217
181
182
173
259
195
170
209
189
189
169
143
175
270
202
213
133
236
146
254
194
239
178
174
115
236
324
219
217
214
217
162
221
176
192
166
180
229
173
229
146
208
164
195
176
130
129
173
129
214
206
155
115
276
178
199
324
191
199
138
129
214
220
255
169
140
272
173
211
279
146
236
173
225
176
209
147
217
115
164
149
143
155
204
240
246
168
166
191
220
157
170
191
130
146
229
201
162
130
176
172
143
150
171
207
224
191
174
155
201
227
200
150
202
150
183
232
204
198
228
173
146
176
180
146
247
173
191
212
173
194
163
192
155
230
199
144
195
173
162
213
197
209
185
217
129
217
221
189
208
201
221
210
201
217
247
218
179
238
203
201
236
201
272
203
189
156
209
221
285
246
173
213
266
173
256
204
238
206
246
194
277
156
228
133
206
152
145
115
184
184
185
182
270
175
122
173
130
172
230
190
185
129
157
217
173
122
266
191
184
141
210
162
229
245
185
161
129
244
258
200
199
199
187
211
155
177
138
264
262
146
237
143
272
263
183
209
130
207
191
180
129
184
146
203
173
129
176
218
205
211
162
229
204
166
231
155
163
207
202
176
199
264
195
198
200
231
175
239
194
201
179
206
181
181
176
193
176
179
202
222
182
173
188
151
299
155
267
219
204
189
197
165
198
176
206
221
287
173
262
171
197
204
129
168
255
172
204
169
156
146
214
146
237
295
133
196
191
184
200
186
290
158
130
158
211
178
171
185
155
145
197
173
230
195
141
182
115
155
145
173
172
228
292
168
182
155
245
133
246
199
130
133
173
226
130
280
194
197
221
173
186
168
227
162
162
246
219
229
184
168
186
188
206
215
199
235
236
166
143
217
180
282
145
225
204
251
157
187
157
166
227
188
130
147
242
202
129
270
204
211
155
179
214
204
115
211
191
168
199
129
182
180
235
173
203
188
211
184
182
217
186
209
130
246
255
145
145
178
211
205
210
250
209
173
183
188
180
168
258
204
245
164
164
179
235
173
230
183
159
155
164
115
182
153
158
173
184
146
187
204
214
166
194
169
195
176
248
173
272
156
176
184
129
201
179
205
173
133
194
211
261
176
242
146
201
173
211
191
173
202
238
152
163
217
206
225
164
168
239
240
199
173
188
180
181
162
173
172
145
203
176
210
225
183
160
300
160
184
173
185
241
185
152
195
145
146
216
228
257
250
207
194
164
145
215
167
193
234
256
176
129
248
164
179
216
219
165
176
215
261
302
246
164
239
205
248
189
236
225
175
130
198
143
204
218
210
257
183
182
222
285
158
220
129
156
174
172
278
173
191
196
248
236
204
174
182
156
150
130
190
184
210
168
231
211
150
236
146
200
229
210
147
173
249
133
162
214
200
259
131
152
161
145
236
230
129
155
241
211
238
190
237
228
204
158
211
190
177
176
233
259
263
255
177
204
145
206
168
270
161
217
133
176
172
180
158
186
165
129
233
250
210
146
225
211
205
176
180
193
119
200
180
275
146
129
158
162
130
221
217
185
184
195
159
201
172
231
174
138
191
188
183
264
164
191
215
214
179
210
219
227
176
169
138
183
129
193
195
201
227
184
166
192
188
201
145
195
182
176
150
195
222
143
176
162
203
115
210
181
146
176
218
230
217
176
224
184
145
201
130
158
281
240
167
200
169
176
210
283
217
169
235
192
182
164
119
229
308
230
166
254
184
206
247
250
133
133
129
176
175
268
236
158
194
164
183
129
225
270
238
129
190
176
119
194
252
194
238
129
219
197
186
162
172
184
234
268
146
129
144
200
173
178
213
256
181
159
173
217
177
153
122
166
258
263
182
191
159
162
210
217
173
191
161
278
150
176
185
212
220
158
204
179
248
146
233
149
164
172
157
155
239
188
171
235
162
229
181
134
129
217
182
115
188
309
185
230
246
260
335
179
193
254
206
249
129
210
151
176
264
169
143
173
184
202
156
210
166
195
184
211
239
213
178
146
207
177
236
146
160
183
208
261
296
264
192
221
207
158
227
115
191
258
226
133
179
209
191
146
185
214
213
155
214
202
196
150
167
173
203
155
212
173
208
239
188
149
230
138
227
190
176
178
179
130
211
151
218
187
263
188
209
259
138
206
214
189
173
204
155
173
226
177
162
143
176
220
255
228
160
184
188
199
177
223
194
234
184
239
230
168
255
144
188
169
206
180
169
171
252
227
179
202
272
196
164
174
146
175
168
185
210
194
164
147
194
219
143
184
254
133
230
201
201
260
203
210
133
168
171
173
173
173
214
203
130
214
145
217
171
178
181
147
149
176
145
162
202
133
151
201
129
218
190
192
225
191
261
129
226
169
201
178
162
164
145
201
212
242
122
178
158
162
208
210
217
211
231
242
209
232
238
138
173
204
182
193
129
183
172
179
257
205
172
185
129
158
146
236
222
146
166
130
191
225
335
172
271
132
244
130
130
166
198
261
178
176
211
145
162
240
173
183
138
238
204
146
206
196
115
236
243
188
221
219
176
234
199
143
182
238
191
173
260
171
230
182
130
274
202
158
145
193
138
169
173
211
200
129
222
189
202
143
262
184
146
130
292
237
146
127
164
221
158
212
153
180
195
248
216
133
157
173
251
164
168
129
146
196
206
172
223
236
188
195
183
247
178
261
130
158
133
164
180
203
129
171
170
145
129
202
214
146
115
169
207
191
141
201
296
158
230
176
200
227
160
170
211
239
204
168
184
129
130
130
192
201
186
214
149
199
151
175
195
198
199
158
202
222
178
158
204
210
115
186
170
190
129
179
176
174
235
174
166
146
190
173
244
141
141
130
191
179
129
147
181
130
191
277
202
196
210
157
165
204
133
217
178
115
176
166
194
180
173
147
168
195
186
200
185
257
221
168
133
201
205
129
182
176
190
156
188
143
190
122
244
155
218
214
210
164
182
176
152
182
176
176
261
182
146
158
214
207
171
261
210
146
214
130
181
129
180
176
192
167
210
186
171
185
129
204
207
178
270
180
155
201
155
254
179
179
211
171
190
179
146
280
246
242
150
168
186
218
164
335
236
169
188
146
217
122
209
139
210
164
225
185
190
198
168
229
195
203
209
179
251
149
150
163
162
234
133
162
193
214
275
166
251
146
173
173
206
198
133
196
200
130
202
158
228
207
246
192
259
149
227
161
195
203
198
162
205
206
143
202
207
181
238
218
178
222
310
183
190
197
182
201
250
159
201
232
269
156
174
192
220
183
240
188
180
145
210
254
179
133
181
176
208
211
153
273
183
169
204
169
185
190
164
115
171
179
164
209
209
242
191
183
217
167
210
190
189
172
246
146
201
182
177
204
185
187
239
234
195
162
225
181
194
166
274
133
217
218
184
200
225
169
173
283
194
164
252
187
218
242
180
254
115
193
210
191
164
202
130
173
155
171
216
180
184
129
197
137
190
182
211
141
147
218
201
208
168
128
209
219
240
150
204
129
221
146
165
130
208
149
214
164
188
198
185
168
226
237
152
122
180
232
254
173
152
157
145
147
250
145
143
214
146
129
201
217
176
202
206
211
184
160
191
235
234
246
269
147
157
172
188
155
133
213
195
189
208
200
129
227
207
283
161
198
168
183
115
176
169
219
156
239
204
241
230
335
174
249
183
159
163
256
207
176
216
179
252
143
181
228
189
115
215
164
203
158
130
198
228
230
179
200
164
151
222
207
210
238
186
168
122
164
230
187
130
215
133
180
180
180
221
158
266
175
190
211
221
241
151
217
182
205
217
115
241
168
213
211
183
206
164
171
176
164
162
219
162
161
246
182
175
204
217
210
255
250
256
190
176
226
176
169
144
186
210
176
203
202
232
173
189
228
302
238
145
217
143
130
149
236
204
184
215
176
184
151
239
158
259
129
231
129
192
178
214
221
162
173
129
129
227
168
146
228
129
255
157
211
156
175
129
239
146
205
225
146
133
174
187
214
146
171
236
181
164
214
206
176
149
168
168
211
168
161
173
176
242
178
235
129
170
167
225
173
187
227
207
176
254
174
259
211
218
189
138
158
230
248
211
173
189
200
191
133
192
176
129
146
187
214
145
211
157
229
143
173
248
231
275
192
170
200
210
143
200
145
146
180
238
150
149
199
267
206
169
161
224
144
129
167
145
270
157
231
225
162
206
179
167
217
146
179
173
227
205
181
219
146
248
211
182
208
138
214
200
218
176
171
201
205
214
230
210
242
129
237
233
268
178
180
244
179
217
162
261
170
173
158
261
184
132
230
160
189
172
182
152
247
255
129
217
167
165
129
115
129
152
190
165
211
206
176
233
275
249
202
170
219
176
197
155
258
175
201
147
163
146
230
228
129
119
271
203
115
259
206
129
209
259
216
143
231
161
199
275
157
212
159
187
176
155
183
162
145
200
230
200
166
232
234
210
185
191
274
204
170
239
190
210
197
206
237
142
157
149
168
248
178
173
174
194
213
242
122
183
243
210
202
202
129
133
244
177
143
202
192
234
156
146
238
200
200
237
171
178
224
130
231
146
189
217
149
200
193
129
186
250
122
216
157
242
217
164
200
180
191
130
219
191
184
203
187
193
236
287
203
238
147
115
231
144
173
129
149
239
158
181
226
185
255
248
187
169
129
205
162
231
198
160
130
217
201
160
208
156
156
146
146
162
204
210
274
200
206
232
210
141
270
146
169
145
221
228
200
173
201
210
183
212
207
207
210
238
138
176
241
149
211
180
252
217
244
221
201
143
115
184
236
201
210
230
206
150
173
200
201
146
160
206
133
269
225
131
209
244
147
130
186
213
176
203
145
190
235
214
186
254
115
287
146
279
192
235
155
133
187
256
261
180
146
218
234
115
187
146
181
238
211
164
198
181
183
122
187
194
177
193
141
138
164
209
210
171
205
186
194
157
176
164
217
207
201
173
296
167
251
162
197
212
172
204
280
179
146
182
230
222
174
252
214
202
191
266
221
180
242
206
169
122
246
219
146
177
210
205
195
212
236
208
133
190
183
197
244
242
210
190
146
200
236
201
129
181
169
184
169
183
258
176
183
188
229
129
128
182
242
205
175
160
192
195
184
165
152
237
179
230
166
191
169
226
143
201
212
176
173
224
215
191
225
162
204
217
141
203
182
200
228
218
131
226
201
251
145
206
149
146
221
206
173
199
169
168
176
247
246
157
132
183
138
213
145
177
212
179
193
209
181
129
281
141
133
210
229
191
228
178
158
153
206
179
181
222
143
168
188
212
189
161
217
263
202
189
260
162
202
173
169
217
215
143
203
165
217
229
174
195
188
182
152
295
300
175
206
221
115
200
181
214
172
124
130
193
176
133
132
160
210
170
216
198
230
158
264
188
166
146
173
130
130
191
217
173
130
266
192
199
228
227
179
155
183
193
164
146
210
160
217
207
211
146
238
145
176
232
155
166
130
204
234
189
169
155
238
129
188
144
173
232
200
230
166
175
223
220
247
210
167
138
205
166
238
264
210
181
215
141
300
180
194
169
133
181
133
238
188
146
129
115
241
129
178
198
197
133
156
191
130
174
252
187
184
262
166
195
236
157
178
166
227
174
228
244
178
210
201
185
181
249
152
143
164
158
133
199
195
300
206
239
184
129
133
203
250
174
138
181
129
187
186
130
162
143
217
202
193
178
178
217
179
212
188
218
190
146
173
192
204
209
172
204
189
228
146
167
144
130
195
130
225
195
183
233
171
184
209
183
129
252
226
194
146
312
172
147
209
173
211
252
189
254
133
115
157
171
210
128
230
129
217
191
173
179
187
247
226
161
146
231
176
228
183
204
199
169
206
256
122
210
171
164
244
207
188
211
188
163
130
129
164
214
173
141
222
204
190
155
222
246
138
258
241
129
214
279
173
182
208
243
214
244
202
202
161
238
168
229
151
146
199
184
249
178
222
204
254
204
191
216
287
150
289
179
185
172
229
133
253
256
143
246
129
206
209
149
145
129
169
184
182
129
264
178
214
221
158
161
283
253
266
180
173
202
222
191
157
209
199
203
211
184
179
166
217
187
238
182
158
176
167
248
200
200
162
162
129
155
178
256
188
239
259
288
240
133
130
228
201
201
184
225
156
204
164
157
205
200
208
217
187
211
222
246
129
229
229
230
197
166
182
122
226
130
173
189
230
217
214
198
179
130
184
205
174
198
148
216
222
164
222
268
146
226
207
201
148
182
258
183
173
151
200
181
144
204
160
227
147
222
200
202
146
180
168
242
217
257
215
251
244
143
259
157
203
204
206
164
167
264
143
217
173
244
161
215
217
175
176
164
161
181
190
204
160
202
194
168
162
193
201
190
129
130
265
222
168
182
190
146
129
172
129
171
229
176
237
212
180
158
161
129
237
157
198
155
157
268
184
173
173
241
164
173
233
173
146
176
191
146
144
145
167
173
217
187
206
256
204
188
162
207
164
229
177
176
186
191
198
176
171
203
189
185
263
138
210
181
208
201
122
171
130
203
145
115
228
155
255
176
146
218
173
169
176
129
187
183
200
176
199
195
130
210
286
146
173
173
217
164
168
183
216
206
303
163
234
164
262
202
264
130
168
149
190
196
179
191
216
176
193
151
141
189
147
192
260
205
234
173
258
181
129
146
213
236
247
217
133
152
182
180
144
168
150
188
186
201
164
174
231
188
132
204
143
130
224
185
222
160
252
173
150
167
201
146
207
190
184
169
155
231
217
202
160
193
206
164
173
183
210
174
262
177
170
201
178
210
179
222
247
204
256
178
234
115
191
185
184
194
179
217
187
266
189
193
214
171
176
144
195
189
223
206
133
183
179
204
146
182
158
167
211
218
166
211
185
184
162
210
158
129
221
239
228
229
143
158
178
168
231
172
167
188
199
174
231
180
204
220
180
182
193
197
262
180
256
232
130
211
204
160
222
132
167
145
168
185
225
185
130
145
215
184
169
192
204
156
168
257
179
173
207
226
221
181
223
206
194
272
150
201
260
201
149
184
191
204
239
192
129
183
167
284
194
195
179
205
155
197
174
246
153
192
239
165
201
221
210
173
221
133
192
168
186
232
188
207
182
201
217
146
218
358
168
188
209
207
178
206
178
234
168
179
176
241
283
204
218
164
221
247
191
199
167
203
143
146
176
230
232
217
185
195
130
178
217
166
173
184
146
172
133
193
129
168
181
180
179
185
145
200
168
153
143
238
162
159
158
206
158
176
166
185
270
236
166
238
171
226
155
146
143
201
214
152
259
214
162
169
182
170
202
259
222
228
138
209
147
149
163
197
156
173
222
216
227
152
155
173
242
179
233
217
204
222
198
201
146
223
162
229
203
193
230
129
169
183
146
162
190
335
201
240
177
251
203
236
243
133
175
199
221
146
197
169
250
185
174
183
176
180
234
250
143
164
206
195
204
216
244
234
214
115
162
191
184
173
185
180
158
153
264
165
179
129
236
197
207
145
194
248
173
211
182
175
211
238
164
182
236
155
145
176
254
282
168
170
172
183
219
195
200
181
174
225
202
207
191
173
212
192
145
169
164
204
143
214
184
173
246
238
168
243
200
246
129
192
231
155
150
130
231
145
241
185
143
209
169
218
238
183
149
217
217
241
247
172
210
202
158
184
201
158
162
205
222
210
249
184
199
263
197
158
199
173
210
187
191
181
168
191
145
179
143
235
210
210
231
205
201
183
195
260
130
207
259
191
229
179
146
158
129
188
213
190
146
202
207
197
179
200
200
129
200
185
115
173
201
160
191
227
180
146
173
158
146
179
129
272
217
145
180
245
210
191
210
151
209
168
230
189
281
185
187
188
146
129
167
252
210
158
214
242
236
199
234
245
283
176
263
143
188
179
133
195
221
129
195
204
208
229
156
173
193
184
204
208
200
231
158
128
225
150
271
226
184
178
130
195
176
192
115
195
322
169
171
183
226
250
208
182
263
146
179
210
262
252
182
185
249
193
150
221
146
162
130
160
239
234
173
231
170
200
162
217
151
167
204
173
215
236
233
133
193
209
221
258
184
184
183
146
173
129
203
115
192
197
129
183
176
206
260
145
169
211
218
184
230
224
230
129
173
177
222
182
190
179
206
217
171
169
285
129
222
130
189
247
133
168
146
176
143
206
217
129
214
197
176
140
184
182
168
190
168
144
115
194
266
210
188
243
239
182
133
187
230
181
228
177
179
166
218
206
204
211
235
189
227
230
287
174
204
173
166
184
159
173
201
155
179
183
168
255
188
205
259
316
203
264
163
204
159
178
211
242
222
243
180
207
144
138
129
211
245
224
162
208
176
206
173
155
202
193
254
158
226
303
201
201
180
115
129
224
193
176
178
158
191
173
189
183
213
245
183
129
146
129
168
222
201
138
176
188
206
211
202
185
233
211
162
122
249
141
153
193
246
181
184
184
193
144
254
151
179
185
214
162
221
130
200
239
238
211
246
225
176
146
129
133
168
217
227
190
200
224
133
197
210
221
193
158
176
145
171
208
238
178
183
201
145
164
133
244
185
189
155
188
150
115
188
248
211
182
208
204
204
155
245
146
145
222
213
206
217
196
201
224
146
158
173
210
296
189
176
195
189
249
216
168
246
146
177
173
168
151
198
182
170
178
185
246
201
184
206
216
147
197
133
143
157
202
161
217
206
242
187
206
181
158
269
217
180
170
194
133
200
253
202
278
167
149
129
303
217
164
193
201
189
184
194
211
173
261
202
179
194
274
193
155
115
194
161
176
288
214
205
251
200
164
146
130
203
122
188
166
183
182
182
238
200
165
181
230
201
122
200
231
210
180
169
233
201
199
186
188
173
179
144
174
201
146
176
207
203
214
198
264
143
228
164
180
179
177
227
251
228
179
157
183
270
282
175
164
130
217
234
133
122
143
171
168
207
237
173
243
180
162
168
244
168
173
208
201
191
206
188
130
164
182
222
211
164
182
168
138
170
161
201
240
176
221
182
210
155
228
249
168
179
211
122
130
166
187
188
191
183
206
173
204
174
122
150
168
256
192
168
173
129
254
156
231
152
200
189
176
205
264
162
229
202
224
185
130
181
197
219
236
168
155
164
210
217
158
161
182
141
273
188
181
255
255
227
180
208
184
191
217
182
145
141
182
228
195
156
162
204
217
186
261
186
174
238
193
193
193
204
190
273
236
210
191
169
200
167
143
192
122
129
226
205
238
170
173
194
244
252
129
203
225
204
273
182
201
201
238
228
201
225
129
251
260
129
263
146
133
211
129
144
152
160
211
211
171
173
207
201
176
181
217
171
173
185
277
203
179
150
203
168
238
130
146
155
184
227
247
159
258
129
149
259
227
257
164
284
188
176
174
248
164
130
146
146
222
195
176
173
133
217
166
147
176
195
162
297
174
224
149
240
145
229
157
206
229
180
130
201
170
133
185
129
236
191
129
221
179
130
200
200
195
189
259
194
133
174
211
171
197
158
203
216
200
162
247
180
176
173
359
190
209
181
212
129
150
250
245
285
141
179
128
186
173
286
176
186
162
202
166
212
129
245
188
226
214
211
197
209
179
214
180
188
188
256
241
217
210
204
274
257
141
236
228
183
225
232
261
207
229
214
215
195
179
218
179
158
210
211
187
215
214
133
274
175
169
210
195
225
186
221
247
223
209
161
235
182
193
199
185
176
129
192
206
179
228
129
178
253
234
158
195
212
237
173
205
149
253
204
211
192
164
200
173
168
209
202
240
319
211
166
215
250
202
210
246
129
227
164
173
160
173
179
175
205
200
204
145
200
141
130
191
208
115
183
176
161
236
188
169
168
174
212
172
264
188
242
222
167
150
213
183
203
265
216
193
239
228
183
153
151
146
254
153
203
176
225
214
179
201
176
209
174
215
203
146
178
260
203
252
214
211
180
129
184
189
183
202
168
115
129
210
257
185
200
236
115
243
152
210
131
160
133
235
186
174
173
197
229
129
241
173
213
224
210
169
179
188
181
214
228
204
129
258
172
202
198
216
173
206
146
171
221
214
180
155
155
158
168
294
228
208
207
180
201
207
204
256
269
169
206
132
255
189
204
182
149
165
176
156
192
245
195
173
143
146
129
145
236
201
145
211
240
335
176
173
271
221
211
201
191
290
203
218
149
228
176
144
189
204
174
176
217
251
191
132
249
212
288
186
191
183
186
201
176
160
188
239
204
205
133
176
179
178
167
199
261
215
189
161
246
217
122
248
200
191
195
262
206
216
176
115
274
182
214
195
179
146
250
228
201
143
216
269
162
180
277
173
178
146
149
146
221
184
261
204
200
144
158
222
214
182
184
208
168
164
242
256
201
251
231
199
129
193
204
229
196
182
232
227
145
168
146
163
207
184
212
271
162
173
199
178
274
177
208
130
167
179
196
129
146
237
155
245
228
173
221
162
168
220
190
173
227
262
129
210
158
143
115
202
174
225
188
164
182
146
166
157
191
186
227
194
132
138
204
182
168
287
197
150
176
185
200
199
217
179
166
174
162
200
173
231
235
171
247
233
130
168
143
179
191
225
130
178
235
162
173
204
129
202
248
168
185
122
224
173
146
130
169
150
158
119
201
128
226
319
224
221
230
129
186
222
164
239
256
187
173
213
145
207
188
175
115
200
212
129
237
143
214
175
236
211
156
210
172
204
247
188
184
196
223
202
230
202
264
186
234
230
195
169
158
211
261
199
184
191
176
162
204
170
130
145
203
217
130
178
155
258
195
188
146
206
261
178
203
207
193
215
214
156
212
213
283
204
182
242
168
225
183
164
226
170
133
238
248
115
193
146
161
185
185
218
214
231
257
215
239
210
138
179
179
225
145
211
149
130
141
153
182
162
230
239
210
218
225
225
198
153
138
262
210
155
204
130
129
162
213
175
182
164
192
146
197
168
247
176
200
246
145
190
263
147
192
169
214
193
206
219
255
178
115
156
217
191
157
203
166
222
187
150
169
236
165
181
280
176
200
175
214
173
219
158
210
193
237
161
300
161
211
231
146
173
185
188
129
155
179
179
238
156
133
143
130
230
269
228
241
164
201
173
162
215
259
172
122
182
146
133
157
216
130
186
205
180
233
146
189
183
236
199
193
213
250
236
164
145
231
188
158
203
241
211
181
185
130
197
217
204
263
217
222
228
129
204
204
195
167
186
184
130
143
206
174
231
129
157
173
294
191
242
200
130
225
160
122
173
197
146
203
209
183
231
169
115
230
325
178
204
205
178
157
249
145
164
143
201
170
179
155
204
181
213
164
199
200
176
130
221
210
156
202
143
250
211
145
157
270
226
143
212
176
169
181
172
176
217
202
130
215
181
182
176
133
161
189
257
202
222
254
227
177
170
217
151
162
182
199
174
184
155
228
145
230
160
145
214
130
207
198
236
225
145
188
132
231
191
176
164
191
264
176
200
129
218
225
172
164
155
236
146
272
206
251
146
187
186
168
132
173
178
152
262
190
224
200
156
193
241
188
143
158
187
222
218
231
176
162
209
268
215
201
179
186
275
210
145
203
211
122
162
129
168
130
168
184
211
236
197
191
210
264
115
149
221
194
217
204
185
190
191
251
221
197
206
195
214
130
206
200
156
131
251
238
204
211
322
307
145
202
179
173
188
227
211
227
188
230
175
213
192
230
243
189
175
210
169
182
227
185
178
273
128
202
168
153
197
150
162
210
173
227
151
236
129
170
299
248
242
234
255
223
237
173
217
143
224
252
214
184
244
193
214
191
210
191
173
156
170
206
227
215
234
191
210
190
200
250
115
122
234
209
292
146
183
229
184
242
149
129
146
210
162
230
218
177
169
179
214
138
296
133
208
222
241
216
218
194
152
194
251
217
201
176
147
119
258
192
174
199
164
130
149
156
204
191
130
158
191
270
129
176
133
183
191
183
133
158
199
133
191
189
204
261
199
133
173
168
219
160
166
200
194
182
130
204
274
204
207
190
168
179
242
173
176
189
212
193
214
191
255
167
181
160
230
129
228
162
178
143
252
176
188
186
221
152
146
180
220
150
214
193
176
130
133
162
197
130
184
254
150
287
185
183
163
221
248
166
130
236
169
158
223
201
176
192
176
167
239
186
166
219
290
232
204
154
210
184
210
191
197
245
143
185
180
181
234
191
146
185
224
204
205
234
197
160
169
198
190
246
115
207
150
200
201
202
171
223
256
183
178
147
206
230
179
194
246
212
162
200
179
122
210
198
179
283
162
173
171
149
202
151
230
146
173
173
225
356
184
198
183
151
225
176
129
202
144
180
209
231
194
204
129
217
130
175
204
145
146
171
193
256
133
187
145
173
187
168
181
192
195
158
222
188
238
208
174
158
227
179
168
191
217
290
167
129
251
160
216
304
145
225
171
202
200
205
260
169
187
188
155
201
186
227
220
238
211
177
231
208
204
221
217
208
179
122
144
204
187
201
202
205
187
219
180
262
258
187
188
150
186
181
238
188
200
193
242
191
178
180
235
205
157
204
169
210
204
173
210
184
200
261
211
227
261
222
173
164
217
155
211
200
179
153
173
186
230
204
176
238
182
174
146
164
182
252
171
157
213
183
204
215
185
236
214
146
181
162
197
207
178
156
210
193
164
185
182
222
200
176
201
115
160
198
218
206
212
164
184
122
176
203
225
178
146
176
246
156
179
259
138
229
188
210
173
130
133
206
146
222
146
244
198
158
214
210
216
164
133
168
173
150
214
257
214
183
175
277
168
149
162
204
133
214
146
160
189
227
150
172
201
224
217
130
255
239
129
192
191
129
151
227
169
191
146
183
184
213
164
202
130
161
283
227
182
201
146
129
130
176
168
158
133
208
230
130
217
242
177
218
162
173
191
158
173
184
176
129
173
206
224
191
211
169
335
211
215
155
195
247
227
183
146
133
173
197
179
265
129
180
227
249
211
179
145
209
178
236
235
132
162
231
262
155
181
210
141
160
200
187
202
204
262
190
183
158
245
200
143
239
238
145
143
296
270
216
150
208
210
208
267
182
185
200
173
176
211
179
213
264
253
210
130
225
194
173
184
274
145
211
200
206
209
213
335
200
172
166
199
159
227
145
252
184
176
173
255
186
236
167
168
200
164
146
138
266
222
193
281
173
176
186
173
197
246
218
192
187
129
244
201
235
166
238
187
204
197
153
164
177
162
149
201
182
192
208
264
129
183
178
176
202
153
128
147
217
211
244
195
145
185
182
222
193
227
182
158
129
164
191
168
150
201
173
180
198
259
187
193
252
143
179
238
199
204
138
172
184
195
201
166
160
210
168
224
158
143
319
221
208
119
130
234
206
168
115
202
236
231
214
245
259
158
163
202
137
207
249
220
130
184
146
176
226
182
167
253
207
158
210
275
217
129
191
180
224
197
211
122
200
246
192
206
187
130
145
162
302
242
210
230
180
186
216
173
221
251
195
251
178
138
191
168
258
133
129
146
167
278
153
195
210
216
146
183
167
209
133
201
179
179
252
229
189
225
211
275
184
161
200
190
210
122
223
186
193
191
229
178
171
179
208
191
274
168
143
146
168
176
242
222
149
160
230
173
199
191
176
167
170
211
173
129
200
185
209
158
184
211
218
201
271
195
180
129
146
236
130
202
178
129
218
193
191
191
217
182
171
129
175
201
162
164
204
187
143
271
205
211
226
188
129
175
239
130
238
200
176
241
147
222
179
176
225
186
206
149
187
238
206
217
173
213
176
228
184
173
179
242
164
174
161
130
207
176
176
227
183
122
210
160
236
173
225
130
252
178
189
129
159
252
162
137
217
288
221
225
178
321
239
164
229
261
128
201
240
191
200
138
252
193
224
182
210
173
165
210
199
130
146
217
174
174
176
184
181
210
149
146
227
227
213
173
231
204
228
138
183
170
238
173
146
274
211
181
175
200
192
215
236
213
122
181
270
204
168
254
194
155
141
115
228
219
206
247
181
179
217
176
195
212
208
138
194
238
204
265
230
182
264
146
182
217
203
186
189
263
182
184
212
201
234
157
164
278
200
182
206
217
168
133
217
205
246
202
266
282
225
184
178
183
262
228
141
164
199
171
296
181
158
158
183
151
217
178
172
160
230
156
213
190
184
195
176
281
230
204
209
256
191
194
210
188
162
202
191
129
213
233
219
234
187
252
208
182
209
138
228
239
180
180
130
192
166
196
167
172
206
322
130
133
257
146
285
178
129
218
213
213
129
213
210
193
191
146
180
264
174
162
158
230
209
225
196
210
155
200
217
215
176
212
162
173
212
217
129
211
201
257
195
158
182
164
146
208
236
245
115
181
162
241
176
173
192
153
252
167
115
183
211
173
247
173
179
180
201
122
190
197
144
203
129
250
189
130
230
173
269
268
201
292
182
145
199
217
160
201
130
130
204
183
173
151
214
217
231
180
239
159
155
173
215
207
162
149
237
225
214
160
174
156
216
216
186
178
261
146
219
182
251
264
217
210
203
185
165
224
129
160
224
233
176
176
200
156
208
272
252
269
167
171
259
149
150
184
246
174
130
182
173
186
174
130
176
178
173
149
204
192
133
190
178
218
156
184
188
182
223
194
158
191
204
149
189
162
180
217
247
174
180
217
211
145
208
152
211
168
230
257
143
159
223
205
206
182
169
173
148
176
129
252
156
161
178
257
182
252
180
242
130
296
129
204
265
204
143
202
221
115
176
236
182
178
146
189
208
204
130
130
169
204
214
217
146
240
204
132
164
129
225
206
191
160
191
219
194
155
158
231
147
173
254
185
157
225
184
197
146
174
193
273
180
202
178
188
129
184
133
129
238
217
236
193
262
230
193
204
171
177
173
196
155
236
204
129
155
251
159
230
115
195
129
221
244
194
181
252
143
270
194
168
183
133
145
230
255
145
190
202
214
146
173
179
251
178
129
292
194
176
179
177
191
182
246
223
201
130
185
144
129
153
230
268
178
202
182
266
192
210
206
203
237
161
231
214
219
115
165
244
238
187
181
217
178
252
204
176
158
211
239
239
201
230
168
264
182
156
232
145
226
236
146
147
184
227
171
185
195
255
186
213
232
115
173
228
231
146
168
198
130
143
181
176
141
209
160
197
190
217
130
164
206
237
223
208
273
210
199
272
168
191
158
195
228
165
228
130
185
115
258
176
200
146
138
197
129
184
150
162
147
184
181
176
173
199
251
174
241
199
225
247
186
212
166
161
211
204
176
210
173
188
217
130
133
200
146
205
130
211
180
197
228
161
217
209
139
143
210
225
273
168
238
263
180
168
130
129
168
173
176
129
304
184
202
168
158
204
143
187
257
157
206
129
257
211
184
146
217
145
303
200
147
156
175
200
218
201
200
130
209
182
176
236
250
176
149
221
145
186
204
335
145
195
238
194
163
192
217
152
143
162
191
207
206
202
200
130
178
242
271
230
239
205
168
133
138
240
150
229
170
150
202
173
178
217
146
181
228
236
204
156
166
198
178
203
300
211
217
238
133
251
184
248
130
185
203
199
129
168
215
214
269
184
177
188
181
145
240
191
211
192
265
155
188
219
130
172
156
194
183
170
212
247
158
202
199
168
202
181
164
208
176
190
158
200
229
182
202
172
143
194
200
173
187
130
129
212
233
212
200
176
129
188
271
248
263
130
293
130
157
149
209
168
225
184
129
217
230
176
213
150
146
145
206
335
143
188
179
210
201
215
167
141
181
242
250
182
156
202
173
205
130
155
184
237
239
146
245
183
239
213
190
130
132
228
229
227
166
186
115
129
150
185
200
195
247
130
279
129
206
200
195
162
259
237
182
188
204
194
213
191
202
181
188
299
179
162
145
201
156
242
129
173
238
130
189
146
179
191
217
218
212
158
217
236
133
237
173
179
204
174
231
237
167
245
143
176
210
128
176
130
173
180
160
157
156
189
225
158
222
130
217
192
256
199
184
274
209
168
169
230
181
158
237
130
173
130
238
166
239
277
176
209
202
130
217
226
129
173
129
217
206
200
161
184
181
168
256
217
200
203
172
178
145
173
183
206
204
138
155
195
146
164
181
204
192
179
209
230
186
208
191
252
182
239
193
227
171
234
133
239
247
205
195
159
210
184
153
259
244
202
230
245
174
189
161
186
146
220
181
262
155
277
130
188
203
122
129
145
200
169
228
171
191
176
175
163
183
222
194
222
172
181
194
272
238
222
158
141
129
129
218
129
145
254
176
188
129
231
286
219
259
210
178
200
225
176
211
215
173
264
160
183
185
247
169
182
146
245
208
231
168
218
143
173
150
191
217
130
161
204
133
158
205
242
187
164
198
171
145
230
180
183
210
204
182
182
261
115
129
236
146
151
146
217
195
200
145
176
176
206
207
164
258
206
129
168
204
115
181
168
158
174
169
322
210
176
199
201
140
144
130
182
233
171
130
229
122
197
201
141
146
168
145
222
176
242
257
152
204
184
168
164
195
128
200
184
214
178
204
173
180
202
129
238
238
190
218
232
182
143
173
130
161
145
169
235
222
239
167
146
186
130
252
155
160
206
176
176
145
174
262
253
186
276
206
173
245
163
196
162
167
225
201
115
130
208
143
145
146
155
230
164
181
115
133
213
183
176
130
199
202
202
192
236
168
256
198
260
192
147
182
221
171
141
222
130
155
150
190
127
271
129
179
158
182
214
130
197
232
141
122
199
169
191
214
235
264
184
132
199
146
260
130
188
129
217
130
222
165
164
150
178
145
226
198
198
145
181
259
228
210
162
179
162
185
184
173
179
228
169
190
217
200
214
183
246
359
190
161
188
232
115
168
176
133
253
246
202
130
214
239
185
215
233
210
115
211
191
205
173
138
158
174
146
166
232
179
206
241
169
238
180
143
199
202
222
202
143
115
247
194
164
213
201
193
210
168
156
143
221
208
150
161
197
180
205
115
172
204
223
189
261
188
217
156
183
143
212
143
161
219
133
210
145
155
242
172
146
239
196
166
143
232
212
131
139
122
146
270
169
181
141
227
263
204
181
204
189
210
247
201
194
174
129
264
299
300
204
232
216
234
146
146
173
173
128
281
191
129
155
223
209
196
287
222
257
205
202
180
192
188
238
199
261
187
230
247
216
206
234
175
216
177
133
184
181
230
181
115
165
176
218
204
179
228
221
130
177
143
236
207
182
171
133
178
231
189
155
210
201
218
156
234
210
184
202
195
190
212
250
206
200
180
197
164
225
129
204
128
138
176
251
210
141
166
176
169
203
210
191
239
162
216
182
182
168
115
183
229
178
146
295
220
173
197
146
213
184
242
229
158
217
168
164
129
176
212
239
182
261
130
204
194
168
288
193
198
164
236
203
146
232
178
206
191
216
214
193
210
255
151
197
201
129
227
200
238
242
171
202
160
235
178
217
208
229
176
160
141
210
242
274
129
200
210
199
189
179
143
179
173
200
261
168
214
182
219
130
130
181
156
130
143
158
217
234
198
209
164
175
256
226
256
211
206
218
194
163
138
236
230
211
206
191
205
163
215
141
130
206
289
282
234
194
201
246
172
224
215
173
182
145
218
211
212
129
192
173
130
205
205
187
198
156
184
181
230
162
145
180
215
226
236
129
143
217
201
223
204
220
170
133
218
183
197
250
191
190
168
283
210
133
252
203
162
285
256
176
190
196
146
179
153
217
131
128
140
228
222
143
200
130
209
195
232
185
179
160
194
168
227
214
239
130
146
129
164
145
190
133
182
204
158
173
204
187
122
171
115
206
187
145
182
182
145
146
143
129
129
176
177
206
164
236
236
220
214
204
173
174
176
217
283
230
143
225
160
176
200
227
265
236
258
155
257
222
225
164
205
168
162
243
237
217
188
303
129
184
205
203
204
176
225
161
229
188
204
176
211
184
193
200
201
200
129
217
227
163
146
197
171
239
253
255
229
173
180
164
253
190
210
129
215
206
115
206
261
188
241
182
158
168
226
221
181
166
206
115
239
129
188
190
176
190
173
146
171
173
179
195
199
247
233
146
222
167
185
130
174
193
250
205
251
328
194
164
203
216
218
175
225
173
179
151
191
274
133
203
162
130
143
239
261
191
179
180
133
202
236
184
287
229
214
231
182
133
183
239
210
228
173
192
188
146
228
213
168
143
146
201
176
209
179
225
217
217
264
130
186
157
230
244
204
168
130
222
212
182
180
265
210
133
235
115
141
211
209
133
193
180
206
193
238
296
210
188
201
188
159
201
175
216
335
264
150
173
173
229
312
157
230
236
178
202
155
224
226
133
175
164
155
217
173
188
211
193
164
187
173
171
178
183
181
149
162
211
133
178
206
254
259
230
244
154
173
183
176
184
156
244
152
150
129
141
241
160
176
222
129
168
150
212
217
215
150
166
179
261
178
213
169
245
174
204
187
155
228
206
228
129
240
164
176
195
176
165
194
146
199
231
180
164
209
265
216
171
239
146
194
200
146
178
176
175
216
130
173
130
199
211
130
145
233
202
129
242
176
122
143
258
247
202
130
253
194
122
217
129
203
160
173
173
230
225
138
199
238
146
180
173
145
253
194
189
129
204
274
151
204
208
155
257
221
166
158
160
197
211
204
200
149
184
242
162
173
218
146
201
200
264
222
203
130
206
163
168
179
206
215
242
215
192
129
274
170
158
175
194
162
130
203
129
152
185
185
183
150
183
183
154
193
208
130
115
206
146
143
138
238
177
166
176
206
129
155
184
200
233
130
164
176
188
199
173
189
172
217
250
222
183
180
176
168
115
203
178
180
219
146
283
187
230
190
209
174
180
218
242
203
174
178
307
184
209
197
229
155
180
167
201
149
169
225
308
205
178
152
129
161
162
246
172
130
146
165
175
144
296
183
193
184
222
204
238
178
153
176
133
285
129
129
211
176
164
274
200
167
221
376
184
212
187
227
238
143
141
129
155
174
155
183
193
154
204
174
143
235
205
176
156
214
342
185
210
186
172
237
169
146
203
252
176
209
132
129
231
202
182
130
265
226
215
158
226
224
211
162
182
119
173
213
247
193
178
143
147
258
201
146
130
230
190
250
203
296
202
197
187
204
218
280
220
182
168
197
173
186
164
209
231
198
222
146
235
184
230
188
207
230
194
168
191
186
184
185
202
141
227
217
260
119
188
130
146
204
180
274
162
129
215
186
129
214
180
129
176
182
231
195
248
190
155
184
206
183
182
180
191
259
238
164
216
180
218
217
132
167
238
173
236
180
203
204
145
324
165
129
173
173
190
122
242
129
161
115
214
186
184
133
159
184
160
216
158
210
182
194
188
194
129
210
335
145
146
257
213
231
240
261
228
171
200
168
129
132
190
222
264
174
133
138
258
184
166
147
188
164
304
173
182
299
171
164
227
225
192
169
176
212
201
206
173
200
173
129
175
181
146
239
163
231
177
261
179
168
182
184
200
207
239
267
238
172
173
130
155
258
192
184
224
165
178
245
179
146
213
115
130
179
221
115
179
173
246
204
254
236
182
171
238
184
207
225
256
211
200
217
210
188
214
231
225
129
163
195
168
129
227
164
285
206
141
180
300
179
203
129
248
199
145
249
239
245
201
129
169
208
185
176
128
148
238
240
219
199
173
202
210
227
230
180
194
160
210
200
214
138
222
201
180
173
191
137
217
182
195
155
173
203
217
188
224
197
176
231
119
196
138
179
228
153
185
152
191
146
168
170
171
217
303
229
252
250
149
186
129
195
216
239
204
191
146
122
217
247
130
277
132
178
201
155
173
201
130
243
160
238
234
167
228
299
176
176
187
217
188
194
204
182
203
230
133
227
194
211
184
169
182
227
177
186
207
173
206
216
247
230
173
339
190
143
217
200
230
156
201
130
181
189
130
201
180
256
179
204
236
186
164
130
172
169
172
208
231
207
131
217
162
263
180
210
158
145
214
181
176
235
204
171
237
264
210
162
222
158
204
205
208
146
150
263
176
161
239
143
182
183
160
182
173
176
216
158
146
238
190
129
202
209
211
158
236
236
172
176
202
176
194
188
251
184
217
185
160
209
203
146
173
173
156
162
233
234
239
182
222
141
183
146
217
129
211
207
129
229
210
225
204
143
170
173
129
183
222
188
164
146
130
146
234
186
236
214
213
115
148
193
255
176
206
158
259
205
245
200
248
173
176
204
216
234
262
179
202
184
195
166
232
186
145
162
239
205
192
146
208
182
249
178
245
172
169
162
198
265
211
206
216
144
217
209
209
181
149
266
145
174
158
225
179
182
179
183
168
184
308
146
179
160
129
240
191
261
166
165
173
179
130
173
211
188
210
179
188
270
176
260
228
157
209
204
213
130
212
164
222
202
183
176
173
230
194
204
192
164
204
187
210
150
206
196
252
173
157
289
181
211
226
180
160
156
335
195
164
252
199
158
170
186
163
210
236
213
115
168
115
226
210
185
146
206
173
238
190
178
280
226
184
145
173
200
263
176
278
172
173
158
223
245
192
173
173
261
141
146
178
208
212
213
162
179
184
180
145
201
239
204
160
198
211
122
151
146
203
215
173
209
172
217
201
214
191
236
229
162
210
129
189
180
162
212
195
202
183
177
242
226
185
129
165
207
160
183
188
133
205
156
302
175
193
155
176
204
168
199
194
183
202
214
157
130
178
204
200
189
239
227
230
138
202
169
155
167
209
226
179
169
164
182
178
184
144
168
221
166
176
158
192
202
248
202
195
130
166
173
176
173
213
160
203
214
130
138
170
164
164
169
248
156
230
184
206
188
191
158
130
296
261
203
219
129
129
231
202
146
206
245
174
139
180
157
214
184
247
173
146
176
164
187
162
200
156
174
162
171
183
304
177
130
273
204
211
189
192
268
210
184
129
155
143
191
129
146
168
237
185
162
179
170
185
178
146
171
206
171
209
211
270
214
190
237
191
184
179
221
246
163
263
211
169
242
145
227
223
176
191
179
184
241
179
130
145
261
184
176
189
193
190
236
171
180
141
173
239
256
164
189
188
192
278
169
150
226
145
200
238
170
151
258
191
156
178
162
175
180
249
178
225
149
141
173
225
129
130
210
259
180
221
192
199
164
205
145
175
212
130
188
161
226
198
145
235
141
207
202
247
221
188
206
207
210
201
129
162
217
221
181
247
210
164
205
130
168
211
188
141
214
258
270
238
221
198
205
211
237
174
193
227
122
187
238
197
166
209
130
190
158
250
234
178
182
129
183
146
203
177
193
203
170
187
235
145
172
199
182
229
173
335
133
254
129
198
216
164
178
256
241
129
180
171
130
211
157
231
184
143
141
233
212
205
200
176
206
176
226
171
228
146
171
288
217
158
169
173
226
201
128
146
179
265
200
276
129
233
307
161
155
145
232
250
221
133
197
207
209
199
172
201
239
164
130
161
168
179
262
216
182
227
261
138
236
191
122
231
168
133
198
191
217
208
202
248
156
229
187
179
182
224
215
146
250
181
186
176
247
182
246
202
245
145
244
216
166
156
168
256
187
191
198
242
173
179
232
264
204
129
190
222
191
225
130
216
244
173
220
210
174
236
174
182
241
228
221
146
205
184
324
229
176
175
174
157
129
178
221
247
143
213
187
133
261
190
261
149
185
196
130
195
201
179
236
166
222
171
264
185
202
210
181
145
191
218
161
233
181
203
209
210
130
143
220
176
178
164
219
222
156
235
173
178
146
164
187
129
217
201
146
262
181
195
146
335
203
146
171
146
268
240
174
150
129
254
207
197
202
176
214
176
220
251
176
249
230
168
206
245
185
235
178
143
143
150
200
184
174
145
130
178
184
237
254
164
191
179
184
178
188
158
233
130
217
193
181
236
258
179
179
158
245
173
278
187
193
220
162
182
211
206
303
236
202
237
222
210
141
239
201
162
186
239
162
227
204
170
204
173
200
176
129
206
158
168
241
204
162
153
230
303
151
226
204
172
236
168
204
176
150
202
242
185
138
210
245
173
216
173
153
180
187
232
215
176
309
202
206
195
205
130
156
240
173
183
201
239
182
217
258
151
174
173
145
251
256
160
145
173
141
177
169
258
164
145
240
209
204
194
335
164
165
216
233
206
143
174
204
133
173
185
168
162
201
158
200
180
238
145
210
184
206
210
173
183
185
209
210
277
191
176
133
232
153
185
246
129
217
141
179
227
178
202
238
223
167
263
184
149
226
199
176
115
236
183
300
217
201
147
191
115
204
178
178
170
189
187
232
173
199
250
218
182
200
173
222
174
176
215
190
206
174
244
217
190
188
130
204
198
210
184
162
211
232
248
231
225
189
166
218
250
157
230
335
162
229
146
200
171
150
276
217
152
194
174
176
187
210
156
179
202
173
164
155
216
129
225
179
200
204
210
197
303
115
217
234
146
115
170
240
164
200
184
237
232
115
143
162
171
199
221
241
176
115
191
159
176
209
192
178
278
205
219
197
153
206
247
214
262
225
231
227
167
199
173
154
173
146
182
159
191
145
225
233
165
180
252
190
155
191
200
239
129
146
163
122
189
204
168
146
195
222
164
205
182
146
164
219
200
207
180
212
265
210
197
145
184
151
164
246
162
138
224
183
202
199
173
230
176
271
146
243
129
127
242
228
145
255
238
185
173
171
169
164
151
184
164
193
203
261
215
227
238
188
202
184
168
217
183
179
204
133
115
146
185
178
195
181
264
215
239
115
185
157
213
188
152
204
210
200
187
152
192
236
210
156
209
204
284
164
158
175
178
261
201
214
210
129
168
157
193
156
133
236
229
259
199
203
207
158
236
226
217
174
200
254
184
156
210
193
129
132
159
186
168
217
230
141
178
172
168
191
190
145
173
181
236
195
206
233
200
274
184
263
215
202
249
211
172
155
259
335
145
250
177
243
130
178
184
143
179
178
178
210
258
204
264
130
145
224
168
176
169
228
206
195
133
143
270
210
199
231
251
239
180
203
129
160
225
210
185
300
130
146
164
151
173
182
145
149
195
202
138
177
208
191
169
238
238
192
205
245
202
152
227
155
217
256
223
321
173
146
208
221
157
143
206
242
211
207
243
228
146
189
173
173
210
212
227
173
186
129
189
200
201
155
235
180
130
145
259
256
166
236
129
163
204
143
204
212
223
156
171
176
191
199
175
155
130
173
184
189
156
164
164
226
212
255
160
221
182
176
286
248
214
239
207
269
158
130
173
246
115
160
146
216
242
129
185
217
251
173
236
248
145
185
229
173
115
176
198
177
217
216
166
133
197
129
145
191
198
157
204
227
285
180
224
191
201
259
193
179
176
183
173
144
227
205
265
274
129
281
188
202
201
248
174
189
187
242
184
180
130
115
311
197
168
201
161
130
202
184
300
230
179
206
182
230
195
225
227
264
150
230
199
129
164
220
180
270
247
169
206
242
130
237
250
115
208
146
201
155
204
164
173
175
176
231
181
222
218
193
146
232
190
155
177
230
207
129
192
146
164
171
183
241
162
138
149
150
208
169
217
204
166
210
189
297
173
183
189
130
234
207
173
162
166
145
175
220
200
163
137
211
286
235
159
190
185
179
201
204
201
247
230
235
224
199
201
225
175
176
163
184
187
227
227
232
208
257
196
185
129
214
186
256
141
130
212
256
261
237
143
256
160
183
145
176
173
262
211
173
197
270
264
256
220
201
179
218
335
191
203
264
210
221
162
146
176
224
170
184
217
206
115
216
299
172
190
222
221
205
143
224
189
133
246
165
263
160
130
155
214
162
143
237
201
138
223
300
130
146
235
217
198
209
133
210
176
189
204
210
197
179
216
181
230
280
132
173
259
183
143
200
230
240
162
209
217
223
179
130
160
179
224
145
221
204
198
294
146
173
251
239
169
176
182
183
168
162
157
254
217
176
202
147
164
129
192
182
157
176
132
173
145
151
201
207
115
172
216
202
210
169
184
185
252
183
205
146
173
205
172
214
164
184
164
239
145
143
208
211
175
264
251
209
155
173
212
141
256
173
243
219
185
162
183
145
141
146
162
204
287
196
179
179
156
176
170
239
201
179
207
129
172
210
129
129
261
179
212
225
153
115
168
172
180
203
271
130
217
210
186
210
193
200
190
180
129
182
209
204
182
220
173
133
130
247
194
181
179
184
230
217
164
244
155
309
152
204
228
170
180
217
192
216
188
176
217
178
203
138
185
257
171
210
230
213
144
229
130
201
166
146
192
207
192
215
201
230
209
217
195
191
145
171
191
129
217
176
276
206
180
129
211
200
211
208
190
146
129
184
224
264
162
198
145
150
158
173
170
204
156
221
173
204
200
204
173
204
158
184
179
168
281
266
179
201
182
178
218
231
253
146
130
164
150
194
145
155
197
268
278
200
224
144
153
211
185
187
201
129
198
149
168
173
155
141
224
202
133
146
177
130
130
195
207
143
272
180
174
271
143
133
146
176
176
202
246
211
184
210
228
204
208
204
228
185
129
228
182
186
176
153
153
230
181
164
245
195
180
181
241
202
238
210
150
173
174
146
166
193
180
199
152
228
185
176
152
231
222
219
234
204
141
166
173
156
184
168
211
225
146
215
169
204
130
129
183
237
169
217
210
211
241
185
191
184
184
173
283
130
222
171
144
186
204
145
171
240
220
138
130
225
222
205
173
191
232
272
265
213
210
155
215
145
173
262
290
167
115
236
181
225
184
164
129
178
210
234
169
230
173
186
203
182
130
128
165
219
212
169
230
179
206
129
179
130
217
181
130
164
176
291
166
160
184
202
217
184
141
257
184
169
245
129
281
178
246
169
164
189
184
167
178
119
210
182
180
207
223
158
130
183
252
189
184
146
180
129
183
220
141
192
171
161
145
133
169
168
201
255
129
209
210
159
206
246
175
215
288
210
146
153
190
168
275
217
138
195
168
164
183
221
209
209
193
237
133
195
192
206
274
265
164
129
202
186
206
204
130
130
169
175
159
228
173
222
205
206
193
180
294
162
238
145
157
180
238
181
145
238
211
206
221
206
188
206
193
146
254
256
171
185
265
169
243
179
173
199
183
164
197
141
226
217
204
207
204
191
186
155
195
220
187
181
210
164
234
249
143
194
250
231
180
198
129
129
150
215
194
208
218
251
128
171
173
185
177
222
175
191
217
238
162
225
201
259
203
173
185
199
178
240
145
171
199
141
177
195
230
205
182
185
249
130
173
183
130
162
191
143
159
206
209
260
193
226
182
220
157
171
244
132
201
181
132
242
164
179
197
259
145
191
177
175
246
228
203
237
176
233
201
244
182
245
160
227
216
210
164
199
180
198
206
254
232
202
255
218
204
182
162
152
151
204
174
208
211
210
210
169
217
115
230
230
190
282
197
129
194
115
141
208
173
220
179
188
264
173
210
128
222
184
204
180
212
179
164
143
175
238
224
217
206
244
186
133
198
158
220
236
240
166
129
179
133
132
173
197
129
187
173
215
238
220
257
226
190
204
171
211
264
157
200
204
176
168
171
146
198
180
162
181
217
240
231
129
211
236
264
130
216
231
204
164
211
254
210
181
211
192
145
234
182
129
161
249
237
272
245
130
247
218
232
201
287
321
202
231
222
157
253
183
129
145
176
160
202
153
156
167
146
115
180
115
146
239
195
182
187
236
146
299
213
242
204
186
210
146
225
185
129
192
223
176
199
152
173
236
181
201
180
179
194
144
178
201
208
217
210
173
161
250
202
182
214
115
273
282
195
189
183
130
224
229
214
146
185
185
202
168
141
210
205
168
145
229
158
182
198
240
185
149
203
228
181
162
271
161
179
204
153
169
211
188
150
223
191
219
209
168
225
166
222
182
254
143
184
202
176
201
263
240
180
150
158
182
155
214
213
173
191
213
204
258
166
164
137
189
145
178
150
176
218
133
206
115
275
146
202
172
153
204
174
236
160
174
200
229
210
156
182
193
283
165
133
228
210
209
150
231
194
211
233
168
165
183
129
146
213
202
168
205
185
231
171
210
132
179
184
251
180
158
211
171
233
130
146
160
217
206
200
161
218
212
233
220
173
132
187
201
202
268
146
224
190
176
279
183
173
185
203
178
206
217
158
167
179
161
173
225
238
180
129
267
159
203
182
238
141
115
175
211
207
252
246
130
194
201
156
168
219
214
133
130
115
156
146
172
247
173
192
228
228
261
204
171
164
164
288
176
231
240
198
236
143
240
115
216
156
210
233
171
267
176
150
200
168
204
185
161
146
224
261
233
181
155
191
162
213
176
239
158
174
210
144
191
201
219
129
193
182
193
179
138
228
186
129
168
211
129
200
145
238
181
217
214
150
206
183
130
146
146
168
200
211
162
191
129
268
143
180
146
202
161
215
164
242
177
161
153
146
133
176
167
129
178
213
176
251
195
186
217
183
115
173
225
199
164
252
129
221
179
122
184
179
141
186
200
279
201
164
202
181
210
202
225
200
162
155
232
230
186
146
146
162
218
283
209
186
242
287
206
183
186
185
222
204
201
174
130
268
243
155
214
210
205
233
215
227
162
200
195
226
186
184
201
156
173
252
129
205
221
130
155
272
178
179
280
156
182
183
174
164
210
182
129
193
163
130
197
196
168
161
221
184
170
200
192
200
165
153
165
296
217
182
146
162
198
179
202
173
182
252
239
130
169
221
213
146
115
173
177
254
161
201
204
200
201
129
204
173
221
168
212
238
165
146
217
143
175
194
146
185
158
211
202
232
227
203
168
152
230
158
169
206
312
223
200
115
314
184
145
188
182
186
184
179
168
247
164
181
218
184
164
160
204
175
230
143
261
202
197
210
283
242
179
170
157
194
174
204
199
189
216
175
211
204
211
229
168
200
115
129
210
211
200
180
218
216
165
146
187
145
204
178
192
179
130
130
245
182
188
151
133
230
146
193
204
132
171
286
162
180
200
179
206
171
174
199
176
158
270
200
222
190
160
193
222
171
130
173
149
119
205
238
130
179
145
226
156
171
191
153
221
226
133
203
217
210
218
119
188
178
152
292
159
176
172
166
173
218
210
130
173
201
204
231
200
174
210
200
263
158
173
186
129
130
192
240
133
202
202
146
213
185
190
173
195
155
133
243
220
169
265
224
226
242
173
246
204
176
309
229
130
206
221
195
211
160
208
162
229
158
204
176
211
201
288
182
194
200
173
188
225
138
146
169
275
165
156
221
201
185
228
188
197
203
221
208
186
195
240
198
235
198
217
184
165
182
176
198
185
187
176
168
204
249
197
171
217
176
169
216
156
248
200
217
204
251
221
214
145
168
173
193
129
264
156
164
210
251
162
169
173
225
239
250
170
289
149
174
205
237
180
195
182
178
165
204
165
191
206
141
258
228
220
161
152
229
200
160
168
226
162
191
179
138
181
206
187
174
214
189
188
183
146
174
141
270
204
158
170
176
130
224
174
219
200
198
174
296
208
176
145
209
204
173
229
204
145
226
215
129
122
202
191
208
209
174
178
224
232
210
130
115
184
188
182
210
191
211
202
129
171
193
173
205
183
184
203
264
209
179
202
145
258
169
225
173
218
221
146
127
179
145
238
169
178
225
180
266
146
204
264
199
261
180
188
129
193
146
146
237
265
143
201
231
129
146
176
178
130
178
179
200
176
155
195
138
176
188
206
173
146
164
189
209
179
170
180
189
210
150
166
284
186
161
129
149
225
146
181
143
184
246
172
180
211
181
206
146
184
217
229
185
288
169
210
227
236
130
195
129
146
174
143
208
214
179
129
239
233
179
205
199
130
169
197
178
258
189
297
252
204
252
263
189
119
150
168
246
230
176
209
200
180
289
184
185
143
183
207
130
201
156
176
159
225
221
166
205
192
227
165
177
208
133
176
251
176
128
168
153
179
200
191
239
155
170
173
197
201
159
254
197
186
172
206
164
203
191
230
180
230
193
262
252
151
217
210
239
145
192
227
188
240
225
177
201
171
191
202
220
204
168
160
219
155
184
170
199
204
159
247
129
212
151
185
214
215
132
204
146
216
173
130
129
222
189
195
190
216
243
269
248
129
204
229
227
206
182
170
254
186
200
129
247
207
204
305
167
158
289
207
205
218
179
181
172
156
168
223
155
130
146
201
129
204
156
203
183
173
130
130
161
178
212
158
225
258
228
174
181
129
209
228
210
200
168
158
204
129
287
146
179
188
234
189
231
176
177
145
122
177
260
204
176
158
210
159
236
206
226
179
204
122
133
210
170
229
194
231
182
192
220
164
158
205
226
217
186
166
231
176
180
174
227
204
236
191
173
122
168
129
209
168
130
287
189
194
168
228
176
226
174
130
239
204
204
248
201
164
190
243
231
129
188
227
144
202
214
129
130
133
210
183
150
207
159
115
261
198
161
216
173
195
174
138
194
197
179
177
166
238
202
173
173
292
155
224
192
198
129
219
130
161
258
204
261
193
225
225
273
274
240
226
146
146
133
165
199
184
182
173
165
167
202
239
149
184
150
158
186
133
260
173
204
130
204
173
223
158
291
190
246
160
232
133
129
217
162
197
221
217
173
247
183
214
207
219
216
200
157
207
228
143
179
210
146
165
129
210
201
210
264
230
274
115
179
133
143
133
146
146
188
227
232
188
195
237
175
115
174
141
216
174
162
169
245
130
133
203
173
161
141
189
156
185
252
246
158
207
189
193
225
146
157
199
146
228
182
214
171
173
180
199
130
146
206
232
173
235
185
179
133
153
173
214
206
153
133
119
129
180
115
129
115
188
247
183
184
185
173
130
161
145
225
257
182
185
133
222
169
216
166
165
250
230
269
179
264
228
164
222
204
239
204
200
197
146
184
219
224
210
188
164
167
260
173
191
205
130
190
153
173
179
230
183
168
204
187
230
207
234
170
231
129
175
143
203
198
220
130
249
141
202
209
146
201
146
130
165
232
206
184
236
214
164
133
298
185
164
210
217
239
270
209
202
129
150
264
205
179
163
192
210
230
210
129
143
143
212
182
173
129
224
230
259
192
221
193
146
204
222
202
229
200
146
295
204
270
182
196
173
265
149
274
181
230
204
130
210
172
138
214
228
201
160
211
198
210
129
211
130
180
240
224
183
190
194
237
292
183
146
204
175
193
238
193
207
192
264
162
227
196
184
155
229
155
211
173
222
261
129
278
335
262
182
192
164
203
217
217
173
252
162
181
208
155
215
200
133
149
179
146
169
162
168
269
146
145
145
130
212
173
155
167
150
184
168
146
129
151
210
239
265
215
132
130
137
162
213
202
222
147
214
185
234
252
234
178
247
146
173
211
242
176
202
186
201
174
146
172
199
129
168
241
191
215
192
122
176
238
235
219
184
209
208
256
153
177
218
137
231
280
151
187
138
206
210
210
129
217
201
174
172
254
173
162
188
179
221
143
173
230
179
157
129
190
129
197
130
149
261
152
138
133
200
183
274
176
145
163
141
190
129
174
263
132
207
130
146
151
237
152
191
191
255
188
209
202
157
174
227
210
149
201
230
221
255
248
164
133
202
173
219
188
258
251
184
236
230
195
249
182
224
256
257
146
188
194
234
204
146
149
167
161
210
173
223
248
183
164
162
166
186
225
250
173
231
174
211
160
177
163
173
141
193
181
158
156
209
164
232
249
191
146
189
150
155
244
227
265
196
176
203
220
173
200
143
130
146
204
206
182
210
300
246
206
184
115
183
189
209
115
158
146
122
130
171
200
164
166
141
159
173
158
181
204
178
178
205
173
189
202
158
179
201
182
193
173
157
146
129
222
173
129
193
172
168
204
182
242
201
186
179
220
194
180
161
173
129
192
155
190
173
182
178
230
188
168
205
211
143
206
191
172
184
228
168
214
177
200
256
182
230
130
200
173
180
173
208
166
180
145
166
149
183
215
204
152
159
210
219
180
146
204
230
199
200
162
198
227
263
182
180
244
210
175
115
155
256
145
227
191
204
178
204
115
156
176
230
194
144
158
160
190
171
238
214
247
122
184
229
146
173
158
185
162
158
221
200
182
221
285
191
201
254
173
162
259
145
227
189
132
115
242
211
197
181
184
129
242
143
218
167
259
214
216
222
231
146
238
225
179
151
178
138
160
168
184
232
201
202
217
190
159
156
183
207
224
189
158
211
262
236
215
224
162
186
219
239
214
155
176
189
164
200
228
179
183
168
176
193
177
183
179
172
187
196
228
197
179
141
145
244
200
247
156
233
153
218
176
167
173
175
240
218
205
174
246
203
176
146
175
215
204
209
133
231
205
253
156
213
210
130
209
204
210
206
224
225
180
184
155
253
239
185
252
236
204
168
185
129
234
164
236
174
129
115
149
251
130
211
152
162
255
274
180
201
238
176
192
190
155
253
190
162
220
200
200
202
204
195
146
214
195
191
188
181
232
184
186
204
146
204
146
158
181
217
188
133
201
250
159
156
146
146
231
201
191
235
253
183
138
195
201
197
204
182
215
193
201
212
115
208
202
217
145
133
210
247
205
187
226
173
130
191
187
241
173
184
236
184
138
219
173
206
193
176
227
173
201
183
208
166
200
222
141
264
230
182
130
173
261
176
145
168
192
248
150
228
198
222
261
288
191
188
202
130
216
160
195
146
207
155
183
200
143
200
211
155
201
129
229
257
218
193
170
210
195
122
199
172
162
160
171
238
213
130
225
171
226
228
155
181
182
196
162
237
173
182
218
262
175
201
155
180
241
202
201
270
167
204
132
168
138
146
130
183
132
155
204
264
198
216
229
186
204
141
178
241
205
191
192
239
141
198
186
211
257
203
236
137
179
217
212
156
204
194
205
174
275
239
217
198
287
172
224
160
155
176
222
221
161
187
185
180
193
130
241
188
191
227
238
161
211
231
155
155
199
155
174
254
184
180
178
186
214
164
155
213
158
147
179
156
244
200
181
242
156
268
201
210
158
202
217
161
194
146
176
182
176
176
171
202
186
211
167
199
179
232
168
174
252
171
251
206
268
173
129
186
184
184
236
203
171
146
186
161
221
225
200
166
122
283
205
217
216
222
236
170
208
194
176
227
160
183
188
161
264
173
224
210
173
204
176
160
181
249
180
184
188
203
209
205
174
203
129
157
181
215
182
138
129
133
130
231
181
341
210
179
297
186
217
164
145
129
182
172
210
173
197
191
246
217
197
160
183
209
261
165
209
176
184
217
221
274
182
129
192
282
176
191
216
216
187
288
146
252
168
215
249
200
144
145
199
263
209
133
256
217
204
175
194
230
236
129
260
221
199
197
204
173
145
149
168
218
210
141
227
203
147
176
168
158
206
221
214
155
249
216
173
115
287
145
211
146
230
145
153
164
158
192
173
189
128
202
261
212
252
191
170
247
212
211
254
263
164
150
200
146
246
115
182
168
188
231
173
219
202
261
209
163
260
243
248
180
237
207
152
205
204
195
145
204
206
211
181
115
187
245
203
191
164
130
237
201
172
213
201
179
236
217
146
158
287
236
188
250
156
176
260
129
130
148
187
164
294
115
261
137
186
223
162
183
159
237
249
176
197
251
190
247
183
169
193
170
184
173
204
167
192
222
202
156
204
202
176
155
187
209
262
217
182
255
216
176
156
167
191
156
194
176
164
168
166
129
158
200
168
245
227
129
272
217
158
122
141
209
129
194
181
146
225
237
210
161
146
195
207
241
185
129
165
225
222
225
190
211
202
145
143
181
129
185
173
191
189
146
145
220
186
191
180
175
247
307
203
182
164
238
176
216
237
129
159
241
272
179
119
204
156
208
190
278
115
162
218
168
173
129
220
130
129
248
229
204
227
204
265
195
230
244
261
199
193
129
228
210
189
202
164
231
253
129
325
190
224
170
244
212
191
173
200
193
214
129
131
141
176
173
190
230
179
248
133
188
204
183
199
168
187
203
133
210
219
186
210
261
211
145
219
130
217
200
160
210
177
184
185
185
179
177
183
186
146
209
206
188
146
188
130
181
168
167
155
249
179
133
212
254
129
129
173
146
133
238
143
164
210
158
208
204
217
173
152
231
204
299
199
161
231
158
173
215
236
191
146
177
182
240
283
169
204
151
119
145
129
195
179
162
223
253
161
171
230
230
201
181
178
145
130
145
202
205
209
166
129
185
146
215
304
145
115
212
200
115
218
201
130
130
233
232
145
173
146
195
177
239
146
183
132
206
185
150
202
200
163
161
180
129
172
127
165
260
166
201
155
192
173
194
157
178
138
204
217
209
140
181
158
144
204
237
145
173
176
143
143
217
169
197
221
230
228
193
236
217
170
180
180
204
246
203
178
224
249
207
261
145
212
129
163
149
200
143
191
160
166
219
146
147
227
214
216
149
151
148
195
164
182
206
206
204
129
210
145
207
238
231
144
217
233
128
184
166
165
193
182
224
253
191
226
130
173
143
211
221
158
235
239
163
199
191
255
177
176
233
162
200
216
283
184
214
158
204
186
195
155
175
245
244
217
358
256
256
200
184
203
191
160
145
169
212
173
186
252
171
182
176
255
247
162
225
146
177
245
158
129
202
174
174
164
122
289
172
173
191
214
246
160
173
235
166
152
256
236
242
129
179
133
191
175
242
232
145
166
194
199
227
180
209
133
214
132
239
174
165
191
200
264
335
173
168
176
190
128
146
150
163
145
217
222
193
222
173
206
183
214
204
218
210
153
164
164
201
236
197
185
169
144
277
218
176
221
187
166
203
245
238
155
228
217
176
181
145
130
192
188
164
191
299
204
242
158
129
155
158
206
258
331
335
220
162
238
197
167
228
228
187
182
129
161
180
236
129
173
211
129
145
138
191
176
232
209
200
225
176
173
179
185
242
138
218
169
173
231
202
129
188
174
146
216
247
203
204
129
150
217
227
239
183
213
321
156
172
182
158
182
176
229
228
171
217
255
234
172
210
129
259
269
238
173
138
145
195
166
145
255
191
164
146
198
231
182
191
222
204
194
162
256
221
185
225
247
200
230
255
176
157
143
202
204
201
156
146
240
245
162
166
146
263
211
191
206
217
250
201
203
191
176
243
130
193
244
178
210
173
231
166
217
230
173
187
246
181
129
173
146
252
173
183
145
195
213
151
225
191
200
138
190
239
207
160
133
205
186
155
219
156
186
147
262
147
246
167
201
198
201
181
203
182
195
146
214
270
130
197
201
255
147
229
197
273
234
141
255
146
133
255
210
228
222
168
263
193
172
171
198
217
173
206
188
233
230
201
246
229
253
170
238
188
166
246
198
185
227
204
170
184
129
191
201
177
237
251
250
200
154
194
217
183
226
197
130
222
208
160
251
176
204
217
218
185
211
253
146
176
258
146
228
209
217
173
222
204
177
207
202
211
181
257
149
143
199
217
194
182
246
221
133
192
152
241
187
234
166
162
200
143
184
156
170
176
176
202
188
202
233
129
173
188
182
186
182
237
256
217
278
162
249
214
166
151
195
141
183
146
164
201
211
190
130
144
194
130
350
230
150
213
162
238
180
174
163
149
204
183
184
129
168
211
235
214
241
133
193
167
183
264
133
158
130
186
244
250
201
302
216
209
183
204
168
184
173
235
152
207
204
204
204
189
221
145
259
166
138
238
176
165
300
256
257
169
164
187
187
202
204
215
225
213
261
161
160
129
283
185
170
233
160
285
181
146
208
176
176
240
146
217
206
247
186
164
174
200
200
254
232
214
234
231
182
173
190
153
149
192
176
178
186
164
195
217
180
179
230
137
220
146
274
155
197
202
193
167
312
146
173
164
195
250
129
144
210
146
155
223
210
250
155
201
215
211
182
231
190
143
227
259
190
152
176
172
185
191
271
183
158
147
200
173
219
146
230
186
192
208
194
230
218
206
202
191
208
231
236
206
195
173
145
156
164
244
170
188
230
235
242
210
211
179
204
189
233
212
267
174
182
202
143
230
204
146
158
202
171
149
230
200
185
227
270
130
186
157
200
228
234
192
231
155
129
181
243
186
239
168
144
209
209
130
162
204
211
138
203
155
129
197
247
194
210
193
172
172
247
129
130
138
193
213
211
198
145
191
178
157
176
174
229
282
182
179
161
202
149
190
168
262
129
261
130
132
182
197
146
202
176
246
129
159
268
246
189
217
225
188
217
166
188
253
222
300
200
201
170
200
115
158
176
216
173
210
249
276
217
236
133
197
162
173
244
191
171
205
160
176
258
129
163
187
190
183
180
184
204
141
175
182
169
185
275
129
243
263
211
176
180
240
216
204
221
184
181
192
271
184
129
185
245
260
133
204
143
189
179
133
143
248
188
303
176
195
176
146
173
184
182
122
146
233
242
153
176
162
225
146
188
176
204
145
213
176
234
230
184
188
138
214
182
233
129
246
194
202
149
263
234
202
211
163
237
169
181
335
199
263
115
258
221
217
174
156
267
184
210
195
156
254
130
183
321
238
252
151
207
216
175
141
168
162
150
157
218
173
204
155
261
130
200
216
155
150
168
195
202
156
157
162
236
222
226
267
265
159
285
150
274
265
162
181
260
237
260
146
217
249
210
193
129
141
233
194
176
173
182
251
155
145
201
180
236
176
166
225
230
181
165
210
202
187
216
176
186
231
212
173
173
176
204
130
156
218
179
201
153
186
149
178
244
241
161
295
168
211
176
146
129
203
183
208
176
192
152
210
129
243
214
234
195
247
146
252
167
182
179
216
191
174
171
209
186
251
188
283
234
181
187
201
207
232
152
222
204
204
252
196
261
181
194
272
189
184
236
180
242
133
176
129
178
214
138
188
119
152
247
232
180
217
158
156
233
214
146
176
230
178
195
186
296
202
149
160
173
168
250
191
171
145
192
178
176
285
209
215
229
228
175
179
162
185
200
221
273
218
173
139
158
163
146
185
194
257
179
181
214
199
199
161
155
162
252
191
179
138
219
170
173
210
239
168
204
173
182
229
300
179
221
210
210
218
129
272
222
129
217
143
202
217
234
283
194
231
276
155
158
173
161
214
146
265
238
230
209
226
130
185
150
205
138
247
152
129
146
192
162
234
167
164
177
200
181
168
264
166
129
165
204
206
163
159
173
247
148
230
200
199
141
209
176
187
129
174
250
236
203
218
156
212
133
201
176
203
137
248
176
178
173
271
178
162
145
173
115
181
146
184
241
129
157
281
202
169
197
156
164
215
200
233
207
146
236
191
204
215
208
129
204
156
210
166
127
221
271
173
229
179
161
215
226
129
252
146
216
218
184
231
178
195
180
274
167
168
270
156
146
267
176
222
210
184
335
208
138
228
163
180
129
131
177
166
167
237
294
173
182
217
273
174
199
163
280
213
200
256
129
204
194
185
145
201
222
129
174
280
173
202
225
192
195
195
255
233
190
176
194
176
156
281
210
204
155
181
210
182
122
209
233
219
194
196
230
204
169
202
164
211
151
200
198
218
170
162
266
201
145
210
189
197
185
172
182
151
163
262
151
186
207
176
229
206
173
180
228
129
194
215
217
192
186
256
206
138
217
171
227
204
145
202
235
254
162
223
171
189
210
157
194
210
201
263
161
129
210
182
203
180
151
174
176
230
218
204
199
205
180
144
270
243
176
146
164
141
194
143
200
164
200
214
143
190
162
214
176
173
178
222
182
176
256
256
184
115
207
218
176
203
209
168
217
217
179
226
181
219
177
272
143
130
245
176
238
209
168
146
219
200
214
165
254
192
133
129
202
176
195
217
189
181
189
230
129
249
184
146
186
211
149
183
129
224
143
229
166
262
299
187
210
170
189
285
217
190
130
173
217
230
193
176
129
195
130
177
282
212
183
225
173
168
164
202
178
133
173
167
210
166
225
162
231
162
190
165
234
202
176
159
247
256
115
200
130
162
180
236
148
161
220
200
182
192
177
145
250
203
189
202
129
174
252
217
199
178
191
287
173
204
115
204
204
262
230
174
256
206
162
168
130
145
192
188
201
196
210
167
154
184
214
115
173
168
236
192
195
146
228
143
130
214
242
196
192
198
201
158
170
201
191
230
169
188
207
233
225
130
132
178
217
253
202
156
115
188
129
172
129
206
159
130
228
144
205
195
228
217
234
128
184
214
240
176
176
210
250
243
133
146
141
222
221
242
130
214
215
217
236
130
238
200
155
256
211
209
287
200
229
146
130
243
162
182
192
226
187
184
178
162
236
177
226
210
164
197
193
189
122
216
207
115
174
146
269
130
307
184
183
205
129
130
193
133
168
244
149
169
246
133
210
158
179
174
144
186
138
148
204
164
129
161
164
188
181
189
215
285
210
260
227
211
138
210
192
259
194
211
216
222
184
238
168
161
191
167
204
264
200
187
264
203
182
146
205
202
115
156
217
226
211
190
160
146
141
173
133
298
176
195
173
187
173
227
146
188
183
225
133
259
149
240
185
189
149
178
199
130
140
237
168
188
227
178
177
294
300
191
207
202
217
130
197
220
191
265
176
189
182
196
187
138
219
262
210
206
214
182
227
203
158
183
202
184
165
236
176
250
202
188
155
226
180
149
190
258
173
224
144
190
230
218
151
173
150
227
190
183
199
133
282
210
199
221
288
173
209
221
210
181
252
130
202
202
130
192
210
202
274
253
209
191
204
200
235
235
177
165
206
179
204
293
209
189
209
206
185
207
217
183
188
193
201
217
184
204
202
173
173
217
192
238
217
171
173
225
198
152
181
173
217
217
215
151
193
195
183
201
204
129
197
216
284
155
215
184
176
198
191
335
218
227
173
264
130
129
260
130
173
190
176
251
210
173
192
159
199
217
236
167
255
141
252
215
191
200
166
225
184
156
231
216
192
189
181
206
217
124
175
205
179
274
217
190
246
201
248
129
152
229
204
195
146
257
178
185
287
222
231
191
209
184
168
155
173
176
184
130
190
186
239
162
169
206
183
181
250
217
236
167
182
130
214
203
162
188
122
246
187
235
178
146
203
183
184
174
122
262
233
265
146
190
200
157
205
133
248
238
173
138
211
173
180
185
193
158
197
150
215
141
191
261
220
168
209
197
210
130
256
180
145
243
213
164
187
187
184
234
230
243
208
130
168
169
216
138
182
179
161
209
222
335
128
202
183
208
224
143
201
130
178
202
146
166
181
227
184
204
232
183
201
219
130
192
176
216
214
145
166
199
179
216
200
187
211
183
186
194
162
138
146
122
224
259
173
230
173
172
132
177
173
169
192
169
173
255
202
182
162
175
194
225
179
166
245
207
200
217
199
204
200
151
150
188
229
264
143
138
158
230
115
151
188
168
185
169
187
242
173
204
182
166
206
205
239
281
200
173
292
239
238
178
146
204
221
211
180
169
216
177
200
202
178
200
191
244
239
173
190
210
268
133
129
170
232
276
173
241
209
180
168
209
164
195
202
149
230
248
164
251
162
173
150
238
115
233
200
196
222
158
172
158
214
186
193
194
233
146
217
129
277
200
204
146
176
210
147
205
204
196
262
217
182
216
208
151
259
228
246
195
195
182
158
200
129
197
173
129
176
221
204
132
168
188
180
200
145
219
241
150
242
176
292
146
176
143
217
129
222
254
129
186
214
163
233
176
233
245
198
179
208
203
164
206
211
230
133
191
229
168
156
200
303
221
157
221
237
179
205
234
178
191
133
162
145
151
210
138
200
167
224
192
208
122
188
191
225
227
181
181
201
226
227
197
176
221
179
180
183
263
232
195
162
183
176
168
216
143
181
191
242
258
129
210
174
164
210
264
168
176
129
130
231
210
189
130
172
165
146
249
177
185
237
249
152
192
192
173
183
180
202
175
130
231
189
169
201
183
173
115
222
176
224
181
197
201
129
173
183
173
182
149
206
122
198
183
176
179
168
277
172
194
238
232
217
197
208
130
146
157
185
176
211
194
232
241
207
200
175
230
232
272
115
204
133
200
197
187
189
236
252
168
197
159
185
206
143
244
247
250
208
115
185
198
208
204
179
164
133
208
133
173
130
173
250
129
164
195
176
226
156
176
203
231
179
165
202
191
176
178
200
200
147
201
174
195
210
146
182
138
189
170
246
183
260
218
193
129
180
190
149
197
173
157
173
227
177
160
221
229
155
207
180
130
187
200
160
198
204
164
222
192
181
219
172
260
236
149
128
146
246
258
177
168
193
194
241
244
260
200
202
176
266
200
146
115
214
166
152
171
207
130
268
129
129
179
171
235
181
176
197
202
141
177
181
162
201
263
130
173
335
133
220
146
236
287
168
145
192
185
231
195
133
205
202
169
165
246
144
229
178
217
181
234
271
191
168
130
301
129
189
192
150
206
246
182
229
233
155
204
184
191
267
227
234
179
157
192
229
141
190
146
206
180
226
236
173
173
204
262
130
246
145
208
152
129
190
164
133
204
206
229
203
146
221
173
187
173
164
200
219
162
158
187
183
171
238
225
130
247
129
185
173
197
185
192
164
172
182
224
201
300
219
200
130
141
167
149
204
202
191
129
183
189
206
200
202
213
188
214
188
175
200
261
184
227
157
204
202
204
166
211
170
185
233
204
172
185
273
176
174
208
209
188
252
152
187
233
204
275
174
145
201
168
160
251
155
181
180
251
239
200
164
217
171
152
155
164
230
197
150
122
208
210
191
183
115
122
170
181
179
211
286
143
253
223
197
360
186
166
210
181
130
180
225
158
168
176
184
208
217
195
204
129
241
179
294
200
184
149
171
130
202
130
266
203
162
239
205
130
193
266
130
238
190
170
179
244
209
176
200
144
225
201
173
164
174
158
250
214
164
129
230
231
190
164
196
129
201
212
198
238
209
179
176
253
230
202
138
182
214
146
180
209
184
130
199
158
308
202
163
181
147
137
176
151
191
186
184
223
167
169
209
155
133
211
210
133
182
225
200
210
246
242
145
176
176
181
204
211
241
253
204
186
133
231
179
216
158
194
115
130
221
217
165
156
183
204
146
239
192
128
193
265
214
209
195
246
174
204
174
184
197
146
173
162
264
206
211
168
182
146
173
177
230
222
239
200
224
161
213
238
217
176
173
146
179
174
122
258
204
247
186
129
170
176
181
189
186
168
179
184
183
192
204
200
174
181
143
191
174
191
185
232
251
158
204
189
190
183
186
172
129
183
228
237
211
152
186
226
203
201
211
129
200
226
176
210
204
181
204
182
155
252
151
273
247
146
184
244
183
170
143
229
244
185
204
289
210
143
202
190
173
145
210
202
189
197
246
146
150
246
242
204
129
190
129
129
214
258
229
149
260
146
157
274
202
130
171
197
202
170
199
217
133
191
168
173
180
133
233
187
173
161
168
200
200
150
129
193
164
160
193
159
188
199
286
283
199
176
238
216
248
170
203
122
195
226
145
210
166
261
173
151
162
192
209
171
246
188
248
145
150
146
234
254
217
157
173
227
115
175
173
130
173
188
168
209
200
176
217
208
156
115
156
185
216
185
216
253
191
186
211
146
198
251
254
201
183
211
279
202
217
202
188
239
146
230
258
171
175
285
201
193
181
168
146
240
335
187
180
208
230
175
191
163
187
204
212
163
130
266
128
176
174
129
173
238
172
194
236
191
190
168
183
155
133
164
191
182
204
208
224
168
129
164
263
115
191
197
146
225
209
210
194
208
151
145
206
155
226
194
185
213
159
264
179
155
275
210
205
152
158
209
122
221
186
203
185
237
194
144
149
133
182
176
237
146
206
162
182
225
176
174
209
240
144
143
259
204
183
157
143
130
171
192
185
211
207
264
175
255
239
191
188
205
183
296
160
168
206
164
129
192
150
180
210
213
205
181
225
179
317
201
158
221
146
173
155
169
155
145
238
166
173
130
130
185
115
217
273
202
190
248
146
192
225
141
224
186
231
214
141
181
260
174
155
166
210
143
245
150
163
164
176
145
228
194
187
184
182
145
197
210
220
220
188
202
242
180
173
130
176
168
133
220
115
161
201
205
168
222
217
175
238
194
258
201
200
176
236
144
239
203
203
212
197
264
130
231
264
206
184
173
143
129
176
235
158
171
192
159
164
184
210
225
201
185
182
167
221
200
197
180
203
146
211
184
167
173
210
168
172
207
230
180
224
242
173
166
230
236
173
229
230
200
175
204
180
248
179
204
176
176
146
164
230
149
205
156
133
159
130
207
199
217
176
157
198
183
236
146
195
180
178
183
210
128
209
173
236
168
146
202
183
149
201
212
217
254
162
174
183
173
156
230
280
165
255
222
189
169
238
173
178
236
203
129
178
202
143
129
175
184
199
187
189
186
167
173
292
192
245
221
210
158
204
181
199
146
217
212
196
291
145
146
179
194
129
176
132
195
217
266
188
297
197
143
204
182
211
181
192
185
162
215
145
190
150
167
206
208
280
200
150
161
263
202
219
129
162
128
205
147
263
174
276
212
231
176
143
189
204
225
236
188
164
115
155
171
176
277
145
179
170
192
186
210
171
166
173
130
178
171
155
168
164
217
174
206
157
226
181
122
225
227
178
183
253
217
243
210
203
231
205
157
130
174
195
179
185
264
179
180
209
130
157
224
133
208
146
185
170
129
235
201
183
217
141
162
214
133
167
267
182
179
273
168
130
248
170
164
129
163
141
274
158
209
234
171
176
236
146
258
191
182
146
263
164
162
146
231
181
256
160
183
146
208
253
158
115
232
180
186
180
178
178
195
200
178
232
173
227
164
156
192
201
132
168
160
166
167
170
152
204
204
188
229
145
146
115
179
185
244
130
146
146
270
206
210
242
185
186
210
130
179
223
204
164
202
199
150
130
278
204
169
208
221
159
143
191
198
168
160
144
115
196
224
178
189
172
168
184
151
184
210
192
199
129
201
186
181
178
182
303
195
173
192
291
202
189
174
181
173
158
146
183
152
174
173
222
214
200
169
143
115
201
231
219
217
210
321
176
210
240
208
174
229
160
153
189
197
191
169
183
187
224
192
187
183
211
189
234
162
210
154
173
212
202
173
247
173
203
172
146
222
164
298
179
250
201
180
171
237
122
299
194
179
186
204
247
156
235
183
141
201
190
182
239
207
169
247
215
151
130
180
173
146
184
129
166
190
304
151
176
234
254
176
130
183
185
211
145
129
216
191
237
146
186
187
146
156
247
282
161
211
180
210
275
252
162
184
200
195
202
191
130
217
173
176
246
189
214
187
172
129
236
184
300
189
158
217
173
288
167
204
129
129
183
204
145
200
215
259
254
245
179
176
269
176
189
277
115
247
252
236
241
204
228
173
164
156
210
146
189
195
130
151
176
206
230
268
171
130
186
176
141
292
164
204
130
129
129
202
158
235
180
259
242
225
191
180
180
143
166
180
173
195
236
160
143
186
182
169
153
162
144
129
244
187
130
119
175
122
204
179
129
185
189
130
165
146
186
218
133
195
180
188
173
202
166
229
233
208
168
179
236
224
170
204
129
217
252
246
157
184
169
253
162
129
168
179
192
129
130
210
254
156
145
167
253
197
255
223
175
145
168
246
173
210
202
230
183
227
129
246
168
180
226
190
210
233
267
186
146
248
173
176
202
157
200
183
166
188
169
210
166
198
146
178
189
183
197
225
182
186
173
178
185
198
229
255
184
179
171
235
224
115
184
145
231
148
187
224
129
130
218
210
204
229
206
192
325
115
211
205
119
211
187
197
234
174
174
213
131
186
210
195
169
211
203
180
241
178
151
129
146
232
257
146
248
247
309
189
207
173
214
143
145
194
198
201
202
180
202
145
182
233
272
161
231
183
184
230
184
173
259
204
184
156
221
211
183
202
224
227
151
205
246
185
195
300
228
244
214
221
262
234
186
174
204
157
288
214
191
140
216
157
201
179
225
191
172
217
285
149
184
204
184
212
130
129
182
144
133
264
201
183
204
176
280
214
256
202
228
169
200
146
161
146
191
186
173
246
217
225
212
214
169
129
252
173
216
176
217
228
133
165
144
235
150
204
178
195
227
174
142
180
188
174
180
192
191
242
250
130
182
231
162
191
204
201
215
130
185
178
225
179
129
188
145
228
174
240
234
204
255
223
188
215
173
146
181
150
176
158
203
198
237
173
183
176
158
218
191
188
238
194
195
164
164
210
160
258
168
156
141
239
185
204
173
145
166
208
145
264
149
200
258
203
129
177
133
146
214
218
146
133
258
162
170
166
202
153
146
205
188
166
173
173
156
189
170
245
179
193
264
163
189
217
173
214
247
225
138
184
222
236
248
181
181
283
156
204
161
194
146
216
128
164
200
194
221
206
158
130
227
208
170
198
231
185
204
176
173
206
168
132
173
138
205
303
194
210
209
301
176
210
191
211
174
181
172
147
230
166
130
179
205
210
234
157
153
273
191
207
160
145
129
205
176
184
184
212
186
205
201
233
155
162
219
173
231
146
325
227
145
129
130
161
243
204
176
236
182
122
182
253
122
211
133
176
195
212
129
176
115
202
200
252
158
186
178
130
130
212
215
179
200
183
182
193
230
205
227
191
168
207
199
122
193
200
229
163
242
130
146
204
181
335
146
210
184
133
202
129
185
184
129
178
201
217
224
145
170
269
182
200
230
246
179
273
149
146
129
250
354
129
130
187
236
153
205
193
178
202
166
173
210
200
160
220
245
272
206
199
145
220
229
133
225
158
158
145
253
201
181
185
133
171
146
208
246
133
200
230
146
145
191
152
129
169
180
173
214
174
187
201
257
173
234
221
190
204
213
133
267
182
272
149
151
207
188
195
229
185
146
210
207
249
179
168
205
217
187
221
149
191
233
205
146
181
173
222
146
182
210
262
201
182
197
217
204
189
236
176
215
169
176
217
171
186
200
228
177
191
138
183
281
147
198
200
179
143
164
115
146
191
157
156
169
130
261
227
212
222
210
143
218
162
228
221
162
145
178
222
187
224
203
162
129
157
181
222
195
201
204
156
291
297
166
173
138
199
211
250
155
156
201
173
206
166
201
152
166
129
278
129
133
130
210
175
205
166
219
189
182
232
214
149
219
199
179
173
264
190
164
164
210
162
129
201
156
144
210
202
257
168
200
206
207
160
175
115
174
141
181
129
213
218
193
157
187
145
133
182
145
188
203
260
202
130
129
257
216
158
138
211
219
129
129
194
230
156
156
256
229
182
168
224
133
171
254
173
193
153
179
224
218
186
144
229
127
176
227
173
173
216
216
170
162
214
187
184
186
204
192
239
204
173
159
160
191
178
143
195
181
178
205
151
129
180
181
239
162
176
182
187
164
202
145
229
212
200
188
278
182
221
183
245
221
197
267
173
211
190
192
155
182
237
222
164
269
201
225
263
241
191
172
214
235
253
146
179
179
210
180
129
176
253
171
156
183
130
149
236
178
202
165
177
224
195
193
230
321
217
146
296
245
189
225
130
169
153
155
242
208
210
200
174
256
240
138
204
190
236
169
173
179
164
177
210
151
115
143
156
194
206
192
149
158
128
144
201
177
196
237
200
146
242
259
258
115
206
150
195
158
192
247
191
163
186
137
129
115
185
233
230
160
173
130
243
162
258
185
173
170
217
218
222
173
133
184
156
166
322
204
129
178
143
209
176
156
234
281
273
151
155
130
194
164
213
210
218
232
222
244
185
146
173
231
160
176
204
219
198
158
217
182
130
230
201
287
141
130
216
178
211
260
208
161
180
217
185
240
173
230
175
243
146
202
239
185
176
217
129
263
301
219
129
171
273
182
210
176
203
181
181
178
166
252
195
275
240
191
161
131
160
165
130
150
230
183
222
194
207
214
269
158
265
129
174
187
184
219
122
278
259
274
304
129
150
176
184
184
217
164
185
202
214
206
146
178
146
129
206
205
213
207
225
208
202
179
204
241
179
209
256
162
162
211
236
191
216
143
160
146
191
235
129
226
130
199
132
164
233
176
182
130
169
173
186
234
146
199
201
225
250
204
262
211
203
198
122
191
160
233
200
119
181
238
206
166
129
156
200
211
173
178
198
158
165
236
146
278
185
206
212
210
221
203
243
165
189
176
199
119
130
184
149
171
130
145
198
171
173
246
158
190
312
204
217
146
186
189
161
256
216
202
189
239
210
168
169
168
169
170
173
115
234
215
168
168
195
217
182
183
296
189
236
202
202
168
211
179
176
174
201
190
171
173
248
180
188
186
129
129
184
236
194
214
173
129
230
146
184
185
176
217
185
145
226
176
191
243
255
129
193
173
266
138
198
166
130
179
133
165
168
187
201
229
129
182
130
247
179
161
168
230
260
230
222
146
192
200
192
246
225
173
238
182
204
210
141
212
200
179
224
173
170
168
181
170
195
216
158
182
245
188
239
183
158
201
132
201
122
192
210
129
183
172
210
210
203
264
194
161
217
211
145
232
158
130
195
210
195
146
191
152
246
201
130
201
115
180
214
130
274
198
173
262
130
211
190
231
155
122
278
185
146
178
210
231
232
225
173
190
179
210
202
172
217
143
258
237
173
143
157
159
173
175
174
150
232
236
198
227
169
158
221
179
186
146
242
145
192
168
204
178
272
205
193
129
173
234
194
203
129
207
115
146
206
209
199
153
146
203
247
198
164
191
202
146
164
193
181
156
176
202
170
247
183
133
207
164
179
227
287
146
172
130
179
146
156
191
257
207
181
200
157
122
175
187
130
143
184
248
210
226
251
169
173
146
133
323
230
218
193
247
214
157
201
181
157
239
129
141
151
173
213
188
288
177
217
179
173
143
175
170
160
300
168
133
162
173
165
258
179
187
184
170
151
258
172
158
221
271
202
158
145
129
173
258
273
187
236
193
178
129
145
203
268
209
260
170
218
168
178
204
210
203
130
174
220
231
221
189
201
176
130
168
176
191
210
183
145
130
191
209
212
191
186
250
235
182
160
209
191
188
176
202
132
176
303
188
206
130
218
234
191
155
115
204
150
225
225
202
199
156
188
255
200
192
197
179
225
145
146
217
146
180
144
236
227
193
249
162
173
229
172
181
210
183
234
209
238
172
161
184
173
180
191
164
144
236
115
230
145
132
187
204
166
195
239
188
171
233
185
200
236
129
208
261
175
169
130
145
143
179
217
173
166
180
227
205
133
158
187
169
146
210
204
231
189
248
184
211
216
183
156
132
175
251
167
256
145
211
146
145
133
197
146
145
229
230
146
183
222
186
173
146
160
176
145
210
201
173
211
186
206
176
256
141
164
183
183
191
164
206
188
274
302
203
221
166
179
260
183
138
183
205
281
149
181
209
181
210
170
180
203
275
179
263
143
180
230
214
234
193
192
161
175
164
200
231
206
226
176
191
176
191
191
206
235
217
225
243
182
130
193
220
161
216
149
160
243
214
242
212
182
238
164
168
258
260
272
260
145
129
245
191
192
169
200
204
222
203
187
180
190
202
225
154
146
221
173
199
155
168
191
335
150
162
246
217
197
154
239
193
133
231
277
204
233
289
225
176
211
262
145
271
206
189
230
146
222
133
205
129
164
172
150
242
218
208
143
160
146
231
193
238
273
159
314
115
216
212
181
209
246
201
197
231
239
176
180
130
229
186
145
169
129
176
197
281
173
245
183
202
129
210
176
247
189
238
178
168
141
204
196
232
189
200
189
162
217
188
213
203
179
205
215
246
210
162
226
211
138
168
189
129
187
205
179
174
162
184
266
202
210
190
158
205
224
133
211
230
144
217
150
173
214
180
210
151
191
164
204
173
222
130
294
188
150
226
179
129
191
190
236
130
182
133
216
161
229
206
122
238
155
191
189
233
162
218
174
173
218
174
155
173
162
221
251
173
168
161
169
146
231
186
145
176
217
195
192
181
168
172
259
213
185
227
202
151
146
212
239
198
183
145
206
289
297
166
175
154
130
179
173
272
225
167
226
128
236
162
145
214
225
200
145
204
181
156
129
190
247
200
250
159
173
191
180
176
182
191
225
205
217
173
210
175
122
204
246
170
173
115
195
195
204
274
201
209
141
202
230
143
215
188
238
300
146
242
192
222
155
186
213
155
191
244
238
283
237
185
191
182
190
188
200
168
214
181
210
128
158
159
157
217
170
253
189
204
213
247
241
250
176
211
155
184
277
205
247
185
146
205
264
158
228
172
196
186
190
166
261
146
162
209
199
192
167
204
155
182
288
162
169
218
213
214
171
169
211
221
193
213
172
129
130
146
173
141
183
129
192
278
184
253
182
173
179
191
149
130
156
164
161
225
210
150
145
320
170
250
127
237
149
258
259
168
200
173
169
147
166
145
252
228
263
210
204
179
214
186
176
242
210
176
211
146
242
236
133
204
211
152
202
216
173
238
232
181
252
130
160
143
289
247
188
183
202
206
206
173
157
179
153
258
221
204
143
156
151
211
129
201
200
115
223
275
204
292
166
195
146
146
129
232
160
201
143
129
182
140
179
242
186
197
189
205
191
228
287
230
190
187
175
192
173
155
204
201
176
180
222
189
130
234
165
146
204
164
219
143
146
185
178
204
202
197
162
200
224
330
265
269
173
202
178
209
190
184
229
205
303
209
221
141
211
180
214
282
130
168
173
183
201
170
176
188
202
130
193
115
204
130
152
141
217
203
221
211
143
202
246
184
189
163
133
129
222
173
281
191
184
209
236
129
146
166
172
206
202
192
209
162
205
199
217
184
200
211
205
168
145
146
217
256
143
176
129
115
236
192
180
115
232
181
204
166
129
205
161
143
146
177
222
183
221
195
115
206
173
133
168
253
157
231
221
204
198
231
130
180
272
145
146
180
168
146
255
204
178
225
196
217
200
129
171
162
225
231
199
169
235
230
194
150
138
201
239
208
172
173
187
204
159
217
176
283
195
166
186
149
290
173
194
182
193
145
158
146
146
237
217
271
202
141
179
204
204
230
176
205
155
190
183
176
226
182
283
200
199
194
180
130
181
198
217
230
211
146
237
187
122
241
204
200
227
239
176
164
146
179
239
130
218
211
207
193
157
182
170
168
210
204
180
162
168
206
230
122
176
168
129
160
119
166
190
143
173
264
277
143
190
158
178
164
211
230
171
143
251
202
180
185
242
212
228
297
115
180
207
246
172
145
181
209
210
141
150
146
205
195
178
225
188
169
159
168
194
203
202
288
182
216
157
149
179
228
193
182
166
129
264
202
145
208
204
193
250
179
185
146
156
198
248
180
219
215
196
218
130
246
165
195
130
157
151
188
231
236
158
169
147
129
133
180
201
200
203
183
176
129
130
254
176
260
184
224
191
179
161
200
133
222
202
162
155
130
206
275
162
299
231
274
240
208
206
210
192
173
129
224
183
181
173
251
141
139
133
178
170
349
190
192
184
164
177
210
129
213
179
162
158
210
176
335
259
217
170
198
217
147
180
176
251
300
155
235
250
169
324
146
115
172
155
130
178
155
233
164
146
335
171
246
130
183
183
156
145
211
222
129
204
162
162
244
203
194
194
182
129
149
234
183
228
146
296
183
185
173
207
254
231
210
176
228
180
166
225
248
218
216
195
128
231
209
184
115
147
214
254
200
300
184
129
221
185
211
128
146
185
205
296
148
242
210
227
242
206
250
257
230
163
182
175
238
204
151
206
206
115
211
246
133
168
179
173
158
181
215
167
182
268
168
158
219
238
256
229
211
263
133
184
185
204
173
217
178
184
181
217
261
153
182
214
146
221
199
152
253
176
141
204
189
189
259
208
146
202
143
196
231
173
188
195
191
192
228
200
146
174
141
195
173
206
167
264
211
155
175
130
130
146
167
168
201
220
217
196
161
192
143
239
122
184
167
166
266
201
130
145
133
231
129
238
188
254
183
129
130
178
281
210
184
156
182
253
150
200
145
219
274
119
259
300
149
182
193
138
201
176
195
205
146
160
209
144
146
178
176
225
166
161
115
160
221
217
173
190
176
206
216
189
115
162
146
224
129
185
146
283
204
200
133
162
182
237
234
179
217
129
141
254
190
200
176
251
220
171
156
267
174
183
200
291
202
191
180
233
221
173
203
130
201
239
252
158
183
211
230
203
155
192
184
220
160
171
146
175
258
145
143
192
218
172
226
162
182
222
179
130
176
181
189
168
206
122
192
176
210
146
234
162
179
198
210
294
173
129
168
218
176
206
145
264
212
203
211
173
252
236
195
191
186
179
174
171
173
281
193
200
146
184
143
145
146
173
259
260
195
205
192
133
160
261
184
289
194
122
138
168
228
176
158
158
216
195
232
241
174
245
193
184
253
178
179
231
190
267
146
146
178
287
130
180
182
150
184
236
176
170
225
176
169
222
130
217
174
146
168
202
172
215
122
198
185
287
200
272
203
217
184
143
177
239
180
215
237
157
238
176
198
156
251
239
212
160
195
199
130
129
138
249
172
196
128
217
133
188
216
143
239
168
165
169
224
189
173
217
130
130
371
158
208
122
146
204
176
131
230
204
201
217
247
205
153
170
173
186
146
217
195
205
262
211
236
214
225
143
269
211
217
275
173
265
222
206
221
238
173
130
189
166
230
204
215
145
147
182
257
171
185
145
299
204
158
119
158
187
152
200
129
209
150
208
182
160
201
229
206
174
143
167
173
223
163
167
145
175
218
185
262
215
231
181
146
238
264
129
203
183
179
239
217
190
182
187
219
181
184
288
209
204
130
230
156
184
166
229
229
214
172
155
192
246
217
212
200
190
200
179
203
204
202
132
189
146
221
146
211
146
149
162
184
130
183
239
156
130
261
171
211
151
204
195
155
222
204
183
185
131
211
164
163
227
239
232
161
149
224
138
180
173
173
204
191
180
203
203
211
133
228
183
178
244
203
210
144
219
162
285
187
197
211
256
173
177
190
230
213
182
183
258
189
202
215
192
204
157
143
175
188
162
211
212
194
133
256
164
150
172
275
162
184
129
236
197
185
173
168
159
133
202
189
207
228
184
152
179
251
178
200
182
179
158
143
188
274
253
221
158
157
173
169
180
191
200
156
193
210
283
159
234
213
220
220
242
133
240
192
197
189
195
185
239
132
183
202
219
179
222
224
193
115
211
175
176
141
182
257
207
130
209
169
201
186
171
187
209
230
225
214
277
231
129
149
201
217
255
252
184
335
210
244
257
222
218
183
203
225
204
173
184
220
237
248
166
199
210
188
175
141
231
179
171
158
173
205
170
210
172
164
146
144
244
204
179
229
200
204
188
181
152
271
244
248
171
246
146
130
155
204
157
189
226
184
133
190
220
162
199
201
193
187
129
188
199
146
222
201
187
239
214
210
176
179
130
168
202
174
261
174
244
245
129
168
165
191
130
173
181
210
115
130
205
145
143
191
155
167
209
166
169
283
259
192
160
175
138
197
183
213
250
193
176
143
130
257
229
195
186
204
211
162
226
238
173
191
130
210
230
143
209
202
320
129
130
183
210
207
130
248
184
158
231
256
217
122
146
190
242
211
130
130
209
180
203
183
190
219
226
203
224
129
230
207
130
208
168
176
189
188
180
210
158
168
236
231
172
158
173
188
179
188
237
209
222
297
173
159
180
233
176
222
173
255
222
236
130
182
217
261
184
129
146
201
129
184
189
217
204
129
143
201
225
195
261
150
227
115
242
236
129
219
210
201
168
195
206
248
128
228
256
143
296
230
174
164
217
204
246
182
264
173
202
130
211
173
157
141
196
173
152
176
180
143
146
301
193
176
190
190
211
176
179
176
172
212
160
171
208
158
211
173
172
201
167
220
145
214
130
218
198
173
207
204
181
202
212
176
207
201
227
239
129
214
157
225
170
173
227
237
238
166
278
122
168
184
201
158
262
212
167
239
162
130
210
254
158
201
156
335
205
204
183
198
204
200
221
150
230
270
204
202
196
189
243
218
211
262
179
115
264
130
130
215
222
146
246
217
193
210
212
179
215
141
129
227
174
146
171
192
115
185
195
210
251
257
150
296
178
163
153
146
130
259
149
195
258
194
200
184
143
189
214
176
203
202
184
212
220
201
179
174
221
172
157
215
216
145
171
146
166
204
300
264
184
168
156
184
234
179
177
195
157
184
174
237
130
195
202
284
259
211
179
200
186
236
145
143
141
222
160
223
231
210
236
216
174
232
176
166
132
185
208
314
138
129
205
325
129
129
181
209
174
219
188
217
189
200
182
180
201
159
264
204
176
201
185
238
204
167
173
218
210
191
115
178
179
215
227
115
165
215
193
173
195
171
177
159
179
160
248
177
189
168
132
183
143
172
294
230
178
202
168
176
171
228
169
204
129
212
177
262
197
189
189
176
200
219
297
238
150
204
211
167
183
183
145
151
255
197
202
183
205
185
222
158
211
141
238
147
180
256
237
187
211
251
205
183
231
217
254
284
238
168
130
224
183
258
184
223
285
261
183
188
189
204
209
153
158
151
175
264
186
187
162
158
227
170
157
298
214
176
179
162
208
129
241
156
182
214
132
184
303
130
206
188
209
173
297
156
200
174
163
184
204
174
257
166
211
210
206
180
185
169
187
173
201
178
209
164
225
200
164
176
204
263
160
222
180
184
195
226
141
178
168
193
115
185
210
215
145
129
166
173
269
216
240
173
287
227
178
190
115
217
248
270
181
156
230
192
137
264
208
204
242
141
288
169
128
191
164
174
192
197
217
239
218
188
155
155
138
235
141
188
168
175
208
200
182
229
132
184
192
170
202
190
257
181
239
179
145
191
247
229
221
227
179
214
174
174
161
173
229
145
182
214
184
170
197
185
253
176
158
210
161
170
188
175
197
237
129
162
179
173
167
122
147
162
183
173
145
193
178
183
173
191
191
259
202
180
138
266
158
143
168
162
138
129
130
214
235
173
209
239
217
189
259
181
129
131
180
276
192
227
208
155
219
213
177
129
122
259
130
152
166
227
204
145
143
155
237
341
168
180
189
184
231
208
233
195
210
169
213
178
171
173
145
146
148
212
133
201
184
190
162
197
129
234
204
266
189
176
151
228
173
210
177
218
179
255
191
168
157
210
191
134
181
191
129
130
231
164
164
267
189
129
211
208
166
204
212
184
220
173
236
145
208
203
222
187
130
129
172
157
249
160
231
211
282
178
192
173
238
180
195
188
215
216
173
206
145
215
283
151
216
173
194
178
226
180
204
190
184
182
216
274
210
150
178
190
200
233
230
230
172
176
248
149
138
191
257
262
181
217
176
169
195
182
217
238
206
164
210
189
223
214
173
173
129
191
133
141
244
208
192
225
228
200
181
146
259
206
230
188
152
169
204
226
143
173
187
287
168
225
179
207
164
199
184
163
230
213
141
194
130
130
194
204
189
115
182
222
169
198
184
204
172
213
216
218
206
302
130
129
209
192
189
230
166
173
145
146
143
210
216
155
146
206
211
158
184
133
196
208
115
217
204
183
184
215
240
129
130
254
246
201
191
202
173
153
173
174
180
202
204
205
218
217
260
157
172
206
173
167
183
174
174
239
146
167
122
130
225
223
222
159
167
213
206
201
217
199
162
194
167
205
205
173
179
209
191
194
169
210
193
146
182
211
146
179
218
278
210
238
144
219
173
162
234
145
179
290
201
138
158
267
168
129
210
173
176
182
234
269
245
270
164
138
200
218
187
172
144
206
244
221
294
188
183
129
206
176
133
222
206
313
200
150
201
203
170
176
132
178
213
202
203
199
191
143
211
266
200
182
280
220
115
129
115
191
204
193
199
211
155
217
251
182
208
129
168
191
179
146
156
173
204
156
183
217
178
173
217
222
209
168
265
236
176
210
288
158
280
248
217
156
187
157
296
187
133
184
146
161
184
173
236
205
143
156
188
153
209
147
217
193
176
230
210
150
216
238
223
199
203
246
156
221
206
193
194
204
133
168
192
214
176
181
149
202
220
204
172
133
195
176
250
171
171
183
206
179
173
150
145
214
247
231
189
149
222
252
200
146
168
173
206
227
184
150
214
199
197
122
201
122
192
247
195
129
164
180
157
225
129
146
188
239
173
229
192
146
188
182
158
270
256
221
230
228
147
154
180
204
165
186
173
179
163
251
156
230
129
157
179
130
215
217
191
193
187
273
254
156
190
145
242
235
176
122
162
156
218
143
269
206
209
173
208
129
238
130
179
176
178
168
173
230
192
188
132
146
216
162
217
179
222
145
240
168
184
242
156
179
162
149
173
227
228
168
209
220
193
188
244
162
182
217
251
246
184
183
146
205
246
166
206
217
260
219
155
190
185
188
129
133
217
181
159
202
226
194
190
174
158
173
207
178
146
209
192
168
242
199
129
140
198
141
168
314
162
115
176
185
206
287
217
170
199
176
220
229
149
132
191
176
164
214
227
200
244
151
222
235
149
162
161
145
220
245
133
202
202
129
151
156
205
184
205
151
242
132
249
164
239
259
190
144
237
180
264
147
169
164
198
231
129
201
146
167
221
204
194
176
222
158
200
224
133
201
158
146
226
211
326
138
185
171
187
189
156
210
173
206
130
222
217
190
145
208
246
211
194
232
271
206
191
182
283
168
129
226
216
188
194
143
173
150
180
235
222
184
182
212
249
164
254
191
235
115
201
217
233
204
141
168
146
227
211
256
130
182
168
183
211
156
211
204
179
146
187
203
164
231
217
217
254
143
238
175
216
185
196
176
202
205
152
129
143
184
292
173
173
184
130
199
119
176
130
195
129
251
264
186
283
130
201
217
231
203
217
187
191
129
172
261
146
176
218
193
182
173
155
178
220
200
122
193
217
183
149
211
211
224
129
157
176
157
199
206
192
174
172
158
207
263
191
173
208
281
217
213
259
251
168
184
183
201
209
205
130
146
200
146
225
158
169
207
119
183
156
129
262
227
173
162
145
204
224
242
205
247
141
271
204
182
158
173
186
168
157
129
184
287
222
174
215
184
193
178
163
203
149
155
243
146
145
173
230
236
179
183
229
211
180
204
146
219
206
168
204
261
247
183
180
200
166
215
228
199
162
250
150
241
201
174
165
161
143
183
160
180
174
227
230
229
202
210
202
162
145
246
163
144
212
160
171
209
146
227
158
185
193
130
176
129
240
262
226
130
206
225
161
192
164
180
190
192
211
163
192
130
161
174
214
216
217
164
225
230
222
176
200
163
130
202
239
145
230
129
150
263
287
159
222
151
198
218
184
146
193
211
209
191
230
252
188
226
259
182
200
176
274
174
223
208
204
155
238
155
259
173
176
335
176
130
129
184
167
173
217
162
184
205
183
262
146
175
202
168
247
244
211
233
238
210
146
271
227
210
129
146
203
195
241
175
192
184
217
176
179
227
187
208
129
236
205
184
169
202
205
236
156
161
210
169
200
166
217
201
183
133
180
232
141
236
213
160
170
211
282
184
181
204
181
190
240
213
178
229
203
222
335
169
235
176
211
129
263
240
129
201
180
164
182
233
171
174
199
168
206
147
266
176
205
130
190
203
248
196
201
173
224
129
129
242
188
217
173
192
174
210
236
217
209
145
173
164
164
185
185
210
179
217
171
206
162
217
172
129
133
162
177
201
185
146
243
179
182
173
246
230
257
201
132
141
173
246
254
200
181
115
169
201
244
168
236
179
230
209
195
129
222
130
191
173
181
222
252
224
158
143
195
130
145
167
252
168
234
221
211
195
162
242
173
214
213
130
143
145
162
185
211
223
182
152
200
182
208
177
229
235
237
146
185
130
176
130
141
183
165
130
232
200
162
146
175
162
174
271
202
193
179
229
185
138
190
238
208
208
129
186
217
172
149
168
164
199
214
217
248
244
141
245
230
233
218
201
182
145
134
171
172
133
335
115
168
197
200
191
228
263
182
170
252
204
181
150
169
234
179
146
222
151
144
129
145
171
251
130
178
115
211
264
210
221
244
150
191
258
174
179
168
166
254
176
200
169
210
129
249
181
186
160
207
130
164
202
292
204
259
222
174
192
179
216
179
217
133
191
211
184
217
187
164
201
166
205
155
210
219
267
168
130
188
272
204
257
157
225
190
255
204
236
269
133
129
180
242
173
192
151
204
209
210
172
173
218
160
238
164
143
149
214
221
237
184
149
206
247
143
238
151
146
199
223
203
270
221
160
189
218
209
238
203
202
154
205
161
275
214
217
129
214
184
236
187
250
137
158
217
193
176
156
145
157
238
214
156
169
141
129
197
204
203
217
210
115
169
237
169
217
176
204
200
223
129
258
244
145
155
160
239
176
146
200
158
210
129
242
204
146
183
140
188
194
181
226
173
146
184
196
202
229
152
204
236
232
179
255
211
242
272
173
204
184
239
203
184
170
211
218
215
202
179
234
146
190
183
138
226
186
269
298
235
238
130
201
167
206
132
259
210
233
232
205
228
228
246
164
211
146
138
220
210
115
169
219
129
129
236
230
169
204
202
271
202
192
146
213
115
236
216
217
201
199
181
236
160
299
186
193
203
178
214
160
261
195
177
263
146
168
133
206
240
133
149
245
202
204
168
269
194
143
195
233
152
169
164
159
143
185
259
189
146
171
150
239
231
210
176
194
146
229
146
180
195
190
169
184
132
155
201
173
201
265
202
228
187
179
243
193
184
179
133
160
159
178
173
216
298
176
160
252
141
200
163
168
164
147
115
170
227
156
130
115
143
161
153
194
190
158
195
263
211
162
265
130
163
187
190
219
157
204
244
122
224
236
198
229
231
138
210
191
195
199
257
216
144
160
204
206
238
200
206
202
232
172
197
145
138
247
174
202
221
264
210
254
244
191
166
156
245
164
174
115
199
137
202
175
187
152
185
187
146
164
173
119
216
176
189
215
266
230
162
194
180
179
154
166
237
190
214
151
153
189
176
202
141
166
129
173
295
146
115
233
243
231
253
193
173
184
259
211
130
252
204
190
182
264
204
212
141
179
222
148
191
161
201
213
153
217
195
200
133
232
202
295
218
191
169
131
156
197
204
199
181
230
260
201
191
259
224
204
201
130
183
158
173
184
129
164
191
206
148
263
133
168
141
237
198
261
146
210
261
201
237
230
161
261
208
162
257
239
186
152
222
164
163
189
227
149
188
188
147
171
252
133
191
189
156
174
173
173
184
241
253
208
170
211
180
184
133
129
179
179
129
137
259
158
222
265
164
183
239
168
176
173
214
202
195
202
189
146
204
183
178
183
157
184
168
203
143
173
168
146
186
152
300
171
218
143
130
256
213
143
202
145
178
173
232
208
162
208
164
146
201
115
173
296
176
217
207
146
217
169
217
158
220
201
129
184
188
296
160
129
184
209
180
169
254
230
189
217
262
188
115
183
217
203
180
130
200
192
179
255
200
182
162
138
204
129
214
200
173
193
191
162
226
149
133
214
197
186
209
166
184
248
133
244
169
179
228
149
222
200
202
129
138
264
204
115
176
188
189
237
169
203
173
305
229
173
204
164
207
254
181
217
225
176
177
115
222
130
162
257
187
168
206
129
218
160
200
179
188
165
268
147
132
168
211
143
242
188
161
178
201
252
266
132
249
205
188
147
221
181
204
206
184
174
151
130
215
195
230
246
182
169
211
210
129
205
133
210
212
210
214
263
191
129
199
176
215
191
238
132
229
192
173
152
191
189
206
143
194
151
260
115
129
181
180
184
173
214
186
231
271
151
207
161
189
244
221
149
221
194
164
210
207
210
247
208
261
188
198
179
173
184
209
178
222
140
206
198
246
230
201
219
239
211
250
115
211
146
192
156
200
182
195
211
238
207
167
133
237
236
147
141
217
115
162
188
153
157
179
169
190
176
222
175
157
185
303
172
141
251
183
168
173
261
130
180
158
231
225
199
162
150
238
146
194
211
174
173
155
179
164
247
166
236
171
228
237
115
194
214
183
184
174
160
176
248
191
130
182
130
229
199
235
215
176
211
264
183
146
204
185
215
262
178
168
146
204
171
203
201
176
236
179
164
250
115
133
225
200
240
149
168
287
205
162
153
162
192
200
242
205
191
186
240
173
146
172
227
204
200
230
246
204
161
115
199
211
200
115
220
217
146
215
248
210
173
180
130
192
208
287
160
238
185
176
184
173
176
185
115
172
198
115
242
219
150
182
193
180
390
259
212
239
158
251
287
300
192
129
252
173
169
150
158
173
198
321
227
156
247
164
161
210
130
205
217
209
239
196
231
191
204
217
146
211
191
239
182
188
210
158
210
129
180
217
209
220
133
189
214
176
181
146
129
191
236
231
158
171
177
246
215
235
133
195
163
171
166
170
259
231
145
237
225
219
238
165
197
233
168
176
176
297
162
213
202
175
129
143
161
133
264
200
160
240
146
180
215
241
231
146
208
152
256
162
236
164
195
179
178
221
237
194
218
250
200
186
129
162
194
146
128
217
173
287
231
166
182
230
174
184
227
194
239
221
178
210
201
166
231
219
221
225
155
198
191
246
145
168
246
217
146
250
230
221
197
206
203
201
204
169
194
182
193
207
128
158
143
129
188
204
146
283
130
236
201
198
161
199
181
212
130
247
173
176
216
158
167
210
191
202
164
176
225
175
173
129
233
198
184
191
209
217
156
171
230
171
239
176
145
228
211
201
165
159
199
247
185
156
130
172
232
211
232
210
129
237
146
216
176
194
122
143
146
164
288
209
162
270
210
167
146
147
146
215
146
130
173
274
158
204
232
168
222
180
184
146
192
304
217
204
335
177
143
175
176
162
215
182
146
130
191
159
246
262
260
202
217
207
230
164
133
188
130
210
162
161
233
129
210
146
276
266
148
201
154
129
266
132
230
175
169
213
210
162
183
217
146
174
179
177
216
144
217
188
185
232
233
197
204
231
225
216
221
149
173
129
173
178
217
149
196
115
191
201
179
203
183
173
133
115
210
152
170
164
155
238
197
145
247
210
335
164
129
169
210
160
199
225
204
184
176
150
264
255
257
172
204
129
266
191
181
335
237
204
211
204
236
205
132
157
179
217
234
191
174
200
145
131
150
230
172
208
230
202
203
158
216
194
174
156
178
129
180
194
220
147
191
170
231
266
173
168
145
163
146
222
210
156
155
168
204
161
172
184
244
155
186
130
133
189
162
222
146
174
171
138
208
260
156
153
130
252
133
301
189
178
176
202
189
202
272
202
248
164
276
162
243
307
200
172
194
161
129
195
164
179
225
157
150
150
297
222
184
210
176
224
176
155
281
205
129
197
203
173
269
238
226
178
262
191
149
204
216
129
178
173
130
188
179
115
173
149
178
322
217
169
176
219
199
204
205
192
202
218
245
200
206
180
145
201
168
151
222
204
199
173
187
180
168
161
176
184
212
182
133
149
211
188
176
183
195
204
202
211
128
130
133
208
177
218
188
191
144
260
278
200
189
146
236
166
195
176
143
145
239
173
172
173
190
214
303
255
242
198
186
216
204
129
130
239
176
176
141
193
246
256
155
179
219
175
210
203
153
146
129
222
151
222
190
191
122
244
193
173
176
212
185
190
194
200
210
238
195
206
176
174
193
228
176
214
159
220
197
190
145
187
130
168
122
129
206
201
152
146
165
222
249
115
150
210
176
129
190
130
247
145
176
130
186
166
151
210
200
200
177
195
129
239
164
149
169
145
245
145
229
129
179
157
129
179
179
240
146
251
122
173
204
172
146
182
277
204
146
173
180
193
130
190
203
185
157
200
145
151
184
217
146
130
122
174
176
198
206
209
159
183
201
211
129
191
211
217
221
144
160
186
206
150
206
173
263
194
195
133
130
174
211
168
189
146
234
254
222
173
176
169
182
181
244
187
193
166
197
143
202
159
200
115
190
182
259
161
222
162
240
178
300
129
145
133
128
214
238
158
226
211
145
168
232
211
164
266
201
129
162
215
263
249
221
199
335
203
221
191
205
182
186
181
130
164
210
216
179
255
235
146
242
206
179
168
169
171
173
188
179
199
201
172
198
146
255
172
130
176
189
190
195
165
130
211
168
290
192
228
184
199
186
253
265
243
206
184
185
174
200
245
202
202
199
130
205
200
173
228
197
212
226
173
230
181
115
277
172
133
130
237
201
191
198
193
226
218
204
214
129
213
129
250
218
332
191
168
168
296
252
197
211
222
210
190
130
205
260
281
261
192
180
210
172
236
222
203
122
271
133
176
198
158
158
232
193
176
204
160
201
176
115
218
158
192
170
195
260
232
178
174
138
236
179
232
164
271
224
182
211
221
144
202
173
187
173
158
204
145
169
234
247
156
164
164
133
146
194
129
219
166
244
204
185
166
215
129
204
218
153
183
145
200
285
202
160
207
256
180
129
215
157
204
147
161
244
129
227
237
241
172
210
129
173
146
202
173
203
247
122
204
220
257
217
176
209
287
160
214
199
189
210
173
175
229
164
247
217
199
173
202
144
188
244
176
195
198
158
213
221
190
207
176
243
146
133
164
190
202
182
214
221
162
156
180
241
155
133
250
129
214
174
210
169
190
228
122
234
182
159
143
169
173
200
249
191
176
164
192
158
220
171
170
172
143
175
211
171
180
171
207
206
178
175
221
243
240
176
138
146
202
173
122
173
189
173
200
181
217
234
216
151
180
206
238
167
192
194
146
217
144
146
221
276
178
194
156
129
201
231
256
221
164
199
177
166
183
173
178
149
201
204
201
156
164
165
210
130
222
214
193
183
152
129
155
204
211
165
115
198
204
162
170
297
182
131
168
204
146
236
244
199
119
210
133
204
130
154
166
165
220
179
203
238
202
260
173
258
324
218
145
161
230
138
235
261
219
129
189
215
181
168
115
219
189
133
174
222
184
162
176
200
133
122
224
195
275
254
210
172
180
214
143
155
221
191
214
226
211
173
230
239
257
210
238
129
179
181
201
251
211
199
204
201
182
242
158
194
185
202
201
205
249
215
187
232
259
168
200
184
163
130
210
234
169
181
176
179
170
129
210
225
189
156
241
224
205
239
193
171
176
195
185
229
211
188
230
205
158
199
143
217
129
149
249
210
222
160
210
230
221
240
280
168
239
156
179
133
143
240
214
243
178
146
129
211
160
168
156
147
188
199
217
130
168
130
219
275
231
208
201
230
204
204
200
153
157
130
236
194
146
178
178
197
174
176
115
180
216
166
302
208
226
145
228
287
217
186
261
255
173
217
177
226
201
191
168
266
235
179
177
201
201
244
222
252
146
132
145
156
152
222
176
143
208
213
115
191
264
177
227
202
182
179
202
236
227
133
133
207
146
133
130
151
185
143
133
172
241
173
228
201
173
161
222
187
300
179
236
206
246
183
146
164
157
129
182
183
205
183
214
172
141
190
249
129
237
185
155
215
291
182
238
184
162
150
168
215
200
221
162
173
172
184
240
188
207
214
164
130
271
182
211
220
236
184
130
193
179
189
223
242
129
247
233
145
158
211
180
263
255
217
164
130
161
265
224
219
130
191
200
204
180
189
195
227
255
241
183
129
150
164
195
146
257
335
272
238
191
217
137
181
173
143
196
158
229
129
164
150
168
238
199
201
205
208
162
183
208
115
221
164
188
115
247
200
207
139
209
206
216
181
204
167
206
210
210
166
238
217
185
183
156
222
230
325
192
178
176
264
218
224
145
150
224
198
210
202
166
186
257
186
160
162
181
217
238
211
200
150
179
187
202
129
128
239
211
131
168
209
258
230
167
196
184
202
219
146
245
129
183
211
231
156
311
188
146
206
215
173
172
129
179
266
145
146
165
244
173
115
138
232
194
143
235
166
171
168
184
202
225
164
129
173
211
222
157
179
217
246
220
155
247
146
176
238
144
161
237
187
174
158
236
176
217
191
212
240
156
145
173
227
191
195
231
129
172
176
225
262
252
227
130
129
189
129
173
222
195
198
183
189
191
211
238
212
229
219
181
141
210
160
187
217
196
173
129
228
193
188
180
209
169
168
169
205
180
174
209
216
258
173
212
168
234
227
185
207
168
242
235
160
190
172
214
182
181
237
188
166
210
217
234
189
141
211
154
179
170
231
181
168
157
202
264
168
212
299
162
184
178
176
241
172
220
187
300
213
169
193
211
115
173
162
199
238
230
239
177
219
215
195
263
216
178
175
204
195
191
173
201
238
203
143
214
217
204
215
219
229
225
184
222
153
185
192
200
166
238
130
210
253
212
129
200
155
185
238
223
210
156
239
201
232
179
222
179
179
191
211
176
169
281
200
239
184
141
246
173
143
174
160
145
201
176
115
240
202
234
195
175
263
210
133
167
158
183
211
173
191
188
230
209
177
251
242
182
137
257
257
254
173
210
239
190
217
145
204
228
165
193
208
255
173
230
162
203
216
173
146
164
158
143
173
205
251
147
232
186
238
149
269
245
145
129
209
168
222
205
181
204
184
210
197
261
130
201
186
130
259
249
217
213
194
259
173
216
216
255
186
174
182
133
167
158
266
145
179
239
133
218
251
176
211
217
173
155
176
170
171
244
149
171
146
158
238
176
239
284
189
217
264
171
202
115
197
144
130
320
122
164
163
132
218
208
156
193
274
183
165
238
211
179
179
205
238
222
115
229
191
115
145
199
201
184
138
115
210
167
129
231
190
143
130
200
201
228
175
236
255
149
115
235
189
156
158
207
236
208
145
247
146
179
184
222
249
184
231
130
166
231
210
204
190
179
193
197
162
201
173
189
143
184
182
167
151
150
192
261
191
187
182
188
229
155
255
181
130
221
138
205
183
200
206
230
239
184
163
129
217
176
146
145
217
239
153
129
178
188
188
168
256
226
178
169
245
182
214
129
221
216
219
173
168
179
259
151
214
213
264
130
176
217
166
158
179
198
149
173
162
203
234
115
202
208
141
146
218
183
215
224
190
184
184
159
179
145
133
130
276
189
219
157
181
159
143
183
146
187
213
198
217
176
206
203
224
166
180
168
195
243
129
183
212
156
155
155
221
130
143
145
272
184
225
146
202
176
204
133
236
206
181
214
187
201
171
171
130
183
155
190
191
200
245
178
186
143
179
204
143
222
168
281
152
155
204
179
133
129
178
150
191
237
240
226
241
130
189
145
229
166
138
158
181
149
204
181
266
194
257
188
192
158
188
168
189
178
204
202
218
201
158
183
188
115
161
199
227
219
266
285
233
210
230
229
146
239
167
176
188
202
169
164
150
228
173
192
141
146
205
182
234
200
208
185
169
202
261
255
210
227
184
158
179
187
247
188
283
237
164
166
229
206
131
335
188
179
167
236
130
146
186
129
176
211
200
214
200
212
225
176
267
151
146
193
143
204
207
174
115
193
225
146
150
200
211
217
173
161
146
130
261
130
122
220
242
181
244
218
171
191
143
176
150
174
198
164
181
162
210
179
181
204
150
190
174
218
190
201
145
264
251
162
185
143
236
247
180
206
197
129
176
248
179
130
147
212
146
179
145
157
166
191
217
188
235
217
230
173
180
242
191
164
248
173
217
201
226
189
119
204
210
216
169
234
157
265
133
202
231
248
187
202
146
150
130
225
201
154
238
130
236
153
191
201
184
129
172
204
171
179
247
257
129
164
251
200
184
256
216
200
199
115
144
171
172
138
210
132
226
193
176
143
192
216
194
252
166
210
201
249
158
179
170
143
130
200
248
166
168
133
230
195
160
190
180
164
192
171
238
173
221
130
185
218
226
210
129
168
178
168
264
115
146
195
191
153
255
181
200
173
197
215
169
185
129
171
129
167
280
157
268
174
247
194
209
188
133
203
231
221
162
195
159
170
195
143
152
204
261
156
242
169
150
146
146
217
204
132
122
217
204
129
182
200
168
178
204
194
246
183
193
255
203
217
267
237
195
184
173
182
204
239
129
236
180
230
146
150
199
210
254
195
204
185
214
155
239
188
161
236
237
204
173
259
169
171
248
172
204
130
210
164
182
141
217
191
230
186
264
238
155
211
202
211
162
165
188
202
173
207
219
215
204
184
185
173
230
204
239
179
162
191
196
129
297
250
115
146
162
157
217
129
227
211
174
216
173
268
182
130
207
210
162
228
194
184
156
141
189
219
231
169
204
167
178
179
185
214
203
166
173
206
147
205
138
193
222
269
152
229
183
141
226
181
146
224
275
210
115
210
188
173
169
129
160
199
188
183
183
173
155
210
166
173
184
189
183
249
130
145
200
188
174
159
211
230
191
217
185
182
248
200
156
211
170
248
146
179
214
129
205
140
130
182
200
264
181
201
168
223
191
119
230
217
251
276
229
133
176
204
173
201
187
173
176
239
155
200
209
129
317
174
213
146
198
164
210
129
143
198
167
181
206
206
204
166
186
291
143
133
184
194
191
173
222
275
198
188
176
202
206
189
230
158
165
206
173
197
202
232
205
184
190
255
129
229
169
145
202
243
217
184
207
206
202
248
130
185
215
233
194
173
164
196
176
200
146
209
216
236
171
208
204
184
216
263
259
241
176
141
176
211
209
156
157
210
173
215
158
206
185
145
204
206
189
166
174
145
232
202
138
169
217
217
226
178
129
183
145
168
190
209
173
271
130
233
227
179
184
208
242
283
179
157
206
173
167
210
240
223
185
182
240
161
190
130
274
200
173
189
206
146
203
191
202
262
240
155
218
173
185
188
180
124
195
192
233
187
258
130
146
198
208
149
172
201
244
184
168
246
204
210
162
182
168
211
230
146
195
222
267
222
180
151
165
296
245
192
272
183
210
250
203
169
176
205
244
239
236
290
258
153
190
176
212
196
238
199
183
187
239
129
237
168
302
176
230
130
220
239
178
168
150
230
129
186
130
158
190
195
204
176
257
191
129
157
177
179
218
200
179
219
129
196
176
122
153
130
203
191
229
129
170
206
146
204
235
178
173
169
170
230
215
129
166
158
204
205
149
221
178
217
152
183
133
230
192
168
163
147
266
172
129
168
228
172
186
168
211
189
211
204
226
176
130
208
191
192
159
130
261
185
178
156
130
168
173
186
197
173
258
176
176
115
222
201
177
167
230
164
149
162
248
181
237
164
252
265
164
173
149
195
200
204
218
170
179
247
211
173
277
184
206
256
181
177
178
191
191
130
184
217
201
156
266
175
181
179
211
174
184
181
182
173
189
192
184
246
162
212
175
197
226
150
206
130
156
129
182
217
173
115
188
252
199
200
129
227
209
168
207
296
297
210
178
189
130
164
233
235
146
199
129
231
176
146
145
148
133
217
204
162
284
161
133
241
267
176
149
161
185
119
145
202
166
190
195
122
247
130
178
283
281
227
164
157
184
239
205
247
168
263
222
218
176
211
226
173
189
184
192
195
172
130
133
130
204
232
201
166
221
189
201
204
162
173
133
186
193
173
192
197
182
206
187
191
196
180
144
166
202
184
158
146
215
204
184
204
185
133
211
167
216
283
204
264
210
158
145
153
128
193
130
218
242
179
138
190
210
173
234
202
166
176
193
191
192
206
151
202
153
340
189
196
169
229
241
208
261
169
182
189
178
146
255
259
250
189
248
173
173
151
161
115
146
244
216
129
158
194
161
146
239
204
184
201
129
130
176
159
177
233
238
209
180
184
230
129
271
270
288
244
174
214
252
207
267
169
234
195
138
243
166
206
230
176
188
155
225
220
146
182
173
202
227
173
210
200
214
184
162
210
255
213
181
173
173
190
194
138
219
172
201
212
155
214
270
150
168
238
214
335
210
210
201
252
176
188
208
169
162
203
170
199
216
204
209
129
211
181
169
146
237
238
130
188
115
188
189
299
210
129
156
173
228
115
316
173
162
175
146
173
179
155
178
150
188
215
133
263
183
264
215
173
184
179
214
259
156
191
194
145
187
179
252
204
146
171
199
180
169
217
163
272
204
248
191
145
115
176
138
155
190
214
245
181
252
262
173
247
129
182
159
252
204
195
183
173
184
250
253
172
174
176
174
231
132
233
189
221
209
156
195
173
198
183
146
209
173
196
176
200
281
235
210
173
168
221
202
245
209
172
168
217
202
184
217
211
192
213
171
129
272
146
208
169
178
178
129
147
237
192
191
180
175
211
198
212
208
147
184
176
130
182
130
203
129
183
202
238
175
200
203
189
176
184
217
158
176
129
261
259
164
223
231
231
122
173
171
186
227
196
203
237
168
187
220
170
169
221
198
264
197
178
193
283
202
239
225
179
206
173
217
194
162
146
273
160
194
146
211
191
168
181
184
146
217
174
222
217
201
146
265
179
201
130
179
194
191
214
145
146
200
231
288
186
200
189
202
194
232
200
211
171
235
211
198
182
130
207
162
181
122
179
206
122
269
190
234
171
217
178
201
230
202
230
290
179
191
164
199
166
164
130
192
182
162
124
222
176
237
260
157
223
229
230
257
176
158
146
242
183
179
179
177
181
173
264
189
151
167
283
166
143
173
175
157
211
264
201
174
173
255
190
146
138
214
201
225
182
218
236
130
200
196
145
171
335
210
186
236
200
193
164
180
162
129
182
256
214
238
190
178
273
202
218
153
169
201
182
245
229
299
159
197
236
133
143
189
185
201
300
129
133
238
202
217
173
217
194
225
238
212
177
164
228
270
173
176
129
219
196
153
226
182
210
208
221
196
189
128
218
193
173
212
239
238
176
130
197
191
194
141
162
163
217
160
254
212
130
245
217
146
129
146
167
268
167
192
173
173
195
211
202
210
221
191
162
259
143
168
189
211
183
173
211
201
236
155
211
204
220
156
233
206
115
184
157
176
217
200
254
122
238
234
169
168
177
221
176
202
168
204
173
197
202
164
229
191
183
254
247
222
222
238
216
202
130
145
155
223
204
290
188
183
129
133
179
169
215
239
182
216
129
247
189
184
171
176
192
155
115
171
173
187
210
248
202
204
130
133
214
146
178
236
213
189
173
201
259
182
155
146
236
174
173
216
174
152
234
252
188
288
227
130
164
132
130
181
183
193
146
129
152
192
197
129
161
146
206
147
168
211
218
182
206
218
200
202
201
161
178
130
247
238
164
161
191
167
236
185
201
145
233
185
258
231
158
254
221
204
237
206
158
205
193
240
240
176
296
201
263
179
149
178
176
138
153
160
201
167
171
211
194
163
194
243
189
197
202
204
280
221
171
152
151
202
256
199
185
173
242
202
222
156
234
176
182
115
214
155
208
202
183
177
172
241
146
177
171
242
145
157
129
153
184
171
129
133
260
210
238
144
147
204
176
204
188
195
161
143
217
247
230
132
215
231
173
217
225
230
226
184
211
203
222
146
169
250
168
133
201
236
153
146
141
203
180
167
217
244
193
216
129
242
199
235
192
115
150
239
149
188
160
184
182
174
272
201
179
204
155
191
184
192
183
215
212
179
201
225
177
145
173
176
174
141
173
187
176
230
279
210
176
239
193
200
122
275
231
164
155
171
182
145
179
202
169
192
173
173
175
207
159
199
153
132
175
206
200
262
246
216
201
197
243
168
129
211
184
190
173
217
183
129
130
176
169
204
173
184
164
147
217
143
182
210
183
182
255
161
129
201
173
214
175
204
212
225
141
222
237
189
167
186
197
184
143
164
246
204
211
168
231
223
211
209
242
228
232
231
188
253
200
141
168
122
146
209
129
256
253
162
198
210
192
187
184
186
166
199
228
122
226
205
145
130
221
129
196
119
145
306
205
214
206
240
122
144
281
225
149
130
200
200
245
164
179
168
158
175
172
238
206
225
172
176
231
191
130
193
230
184
185
214
178
283
169
176
201
274
130
260
219
183
122
205
130
183
198
162
167
164
202
156
206
221
146
175
163
203
143
266
173
178
175
204
173
255
182
217
258
240
233
187
176
170
129
185
128
155
208
206
179
212
129
168
213
231
211
217
173
168
272
173
167
173
164
211
168
191
214
182
214
163
189
179
143
179
210
206
167
156
254
145
218
230
195
211
184
200
237
167
145
193
201
183
261
191
141
163
174
189
174
209
217
210
156
174
207
172
203
206
233
173
141
204
189
199
189
146
242
222
247
195
129
216
176
157
163
178
220
165
215
186
164
210
156
212
213
191
190
243
190
202
130
173
161
129
213
146
212
208
176
174
201
209
179
200
194
166
183
203
238
167
130
164
152
156
278
246
213
271
151
248
240
203
228
173
158
130
173
209
146
252
183
178
151
227
245
146
217
145
183
162
248
130
197
226
151
179
204
192
184
216
231
168
164
190
173
209
162
146
206
247
152
176
176
194
173
197
182
264
236
204
193
192
205
202
204
199
166
220
130
151
197
185
167
210
254
246
143
201
217
173
129
224
222
287
207
257
169
205
181
179
152
211
243
143
244
181
183
182
210
239
204
184
225
189
303
213
184
246
202
206
158
204
259
188
167
178
154
129
192
138
143
176
148
171
147
200
222
130
183
165
178
235
174
202
211
217
141
155
266
146
130
141
176
155
163
206
195
195
187
191
177
164
163
143
255
169
178
158
210
195
295
175
141
234
203
153
158
156
182
145
217
213
203
129
225
160
225
150
156
191
193
206
133
145
146
268
261
158
182
157
272
176
173
210
146
191
238
159
204
190
254
173
230
250
186
202
240
182
193
238
216
207
146
169
130
173
237
145
215
178
150
204
285
168
210
261
161
204
181
191
203
145
224
192
199
158
236
228
186
258
209
174
204
200
238
211
150
222
162
266
180
217
206
222
202
208
179
204
197
168
182
202
222
221
156
149
178
202
199
206
214
203
163
130
239
248
197
182
152
173
115
162
299
185
183
205
185
164
230
183
209
137
186
225
173
287
201
115
181
146
238
115
286
129
168
166
249
255
184
204
184
173
252
206
157
212
196
162
204
182
210
226
169
303
156
164
203
200
227
184
297
180
230
143
201
164
129
203
190
210
164
179
245
146
173
146
216
204
138
150
247
151
173
195
171
168
252
201
288
280
205
158
188
168
228
179
193
169
146
180
258
152
288
181
249
173
129
225
185
208
158
169
133
273
211
235
158
204
174
230
162
185
212
200
168
168
129
162
178
219
269
179
129
173
184
193
133
262
144
193
181
178
177
211
253
115
132
219
191
239
202
177
335
262
242
236
254
130
169
133
155
208
254
129
232
217
194
128
180
201
162
129
216
146
130
146
173
208
196
179
244
138
294
188
175
176
195
153
129
224
204
173
186
264
143
200
145
214
194
145
225
179
180
158
143
129
173
173
216
164
264
198
185
155
236
185
228
166
185
204
158
204
226
222
145
216
231
236
171
208
265
179
228
182
181
129
143
218
179
222
222
173
156
193
288
221
197
206
169
295
210
143
202
145
226
146
176
232
227
235
230
177
170
223
130
184
211
205
168
214
204
173
143
130
204
181
230
214
176
180
200
212
239
173
211
192
155
179
193
201
177
230
214
223
164
181
155
176
251
152
200
302
256
173
146
190
186
183
180
158
168
206
173
257
239
155
231
178
181
189
261
141
228
129
168
122
129
188
146
141
183
242
195
150
234
174
246
185
129
164
156
202
151
254
253
159
146
209
146
129
200
200
179
217
181
157
210
227
204
191
184
206
119
224
161
216
185
170
197
171
266
246
183
186
211
180
196
173
251
197
207
179
168
232
235
281
239
173
239
184
188
293
191
175
157
179
143
143
180
191
173
269
189
283
258
188
150
184
176
221
236
236
199
230
160
149
192
190
202
133
179
179
173
210
146
167
162
175
238
130
176
199
182
181
244
129
173
217
180
146
238
179
170
180
197
173
231
240
189
227
246
178
229
132
210
201
172
160
206
130
241
237
156
205
242
144
188
218
216
236
192
270
169
183
186
258
180
176
181
229
130
303
221
258
211
171
176
210
164
191
190
196
202
152
149
169
265
190
133
264
187
204
211
185
130
204
145
130
201
173
185
211
282
155
210
173
206
236
173
182
188
219
164
227
183
133
133
225
146
195
132
194
236
146
146
211
143
222
184
184
133
188
285
241
178
182
151
230
178
220
193
233
212
133
205
211
267
146
179
160
168
224
201
167
204
212
146
197
210
204
189
193
147
204
180
232
147
220
129
130
233
201
150
173
192
162
247
230
133
239
170
141
166
219
188
167
146
210
158
256
157
146
178
264
184
188
214
217
202
181
174
173
214
236
187
129
192
210
180
184
202
204
185
176
283
173
205
162
198
161
179
185
115
164
217
184
188
150
182
190
161
164
210
130
187
211
229
195
179
162
171
219
162
180
146
202
246
266
217
173
167
211
324
169
184
193
232
179
164
251
162
170
204
133
276
211
210
211
206
129
264
176
203
202
254
203
161
194
129
193
221
146
302
246
202
217
185
143
220
170
200
173
243
205
221
167
228
181
143
200
130
122
202
168
164
218
156
129
204
176
248
193
238
204
217
178
146
181
217
224
130
168
187
179
155
244
267
168
204
204
115
141
167
184
222
254
166
227
210
222
209
183
168
190
182
211
216
164
158
259
180
262
195
291
186
195
195
179
195
204
165
219
176
145
180
216
207
240
164
203
200
195
201
215
250
171
206
115
198
238
212
175
155
225
230
189
197
155
241
159
161
178
191
253
130
202
257
181
201
210
179
198
184
193
204
190
176
188
236
205
195
155
217
162
208
230
161
263
130
211
192
257
192
150
202
173
197
275
257
211
170
191
201
195
229
133
122
129
150
265
150
227
201
264
202
195
160
171
147
204
172
239
129
266
186
191
217
162
174
187
206
208
221
191
230
230
176
230
191
287
158
201
262
129
158
188
183
224
208
145
157
151
129
222
230
229
246
204
168
206
193
228
156
156
159
179
177
156
287
173
258
210
172
229
204
225
271
264
130
162
158
179
148
182
206
266
128
260
220
154
143
115
179
230
133
133
238
322
208
202
170
179
242
129
162
195
264
237
129
143
217
129
184
143
256
201
192
199
146
200
346
300
203
205
159
206
258
226
183
176
233
176
205
219
133
137
122
206
182
208
169
244
185
227
187
169
145
245
207
166
175
197
180
287
238
256
266
144
250
173
183
146
239
173
188
226
256
170
176
286
217
194
203
202
150
178
194
143
122
192
217
146
202
282
200
159
186
187
211
179
200
151
232
200
171
210
143
204
132
238
166
173
173
216
267
182
141
222
146
178
146
176
217
201
141
182
180
176
204
217
180
185
211
186
204
217
235
156
130
129
205
207
255
179
176
167
162
156
156
195
141
234
191
159
262
201
190
199
195
200
204
204
130
156
176
247
176
208
128
179
200
247
262
243
180
229
188
178
184
214
204
129
187
197
220
243
183
224
162
231
156
296
238
200
201
160
170
173
226
227
239
122
178
181
237
129
189
216
238
219
239
214
169
211
253
210
206
179
214
129
178
158
261
129
130
202
178
176
180
281
175
153
188
176
229
192
214
221
184
222
192
130
179
303
249
155
146
272
266
182
260
191
238
259
275
182
236
156
217
164
191
261
159
221
231
282
229
214
133
201
164
191
160
214
178
129
309
183
219
283
191
202
255
167
144
201
211
170
172
234
152
162
211
183
182
173
129
230
179
196
200
145
230
259
155
204
209
122
234
255
230
205
184
222
174
130
143
212
219
160
188
172
172
129
225
194
129
173
161
296
239
188
173
244
192
181
218
211
172
238
171
242
161
192
183
133
200
143
200
185
206
182
203
128
173
149
206
204
221
176
185
168
218
187
173
211
229
143
145
130
259
130
217
231
251
211
229
184
172
199
205
224
132
180
143
257
176
168
195
210
192
221
130
210
190
217
155
176
187
166
160
200
182
186
168
202
199
153
217
157
115
176
168
172
201
202
235
178
192
242
129
319
278
260
143
146
242
190
173
150
252
261
186
164
214
181
197
210
152
146
179
186
204
145
237
171
176
173
204
251
143
200
162
158
257
182
192
184
183
204
266
206
173
199
173
217
190
222
254
256
162
197
202
236
217
211
180
133
206
271
129
229
264
208
251
175
206
176
140
190
193
222
231
232
175
170
194
189
145
217
176
191
239
130
168
201
129
238
149
182
164
178
231
161
194
180
199
231
173
153
179
141
171
182
246
155
138
129
250
164
181
191
160
211
179
221
238
240
133
201
158
130
210
214
190
129
183
227
185
214
129
164
210
153
182
163
220
213
129
155
198
239
201
221
202
217
193
130
130
147
247
171
176
202
205
176
209
129
161
164
176
254
203
129
211
219
182
168
146
212
214
179
211
212
174
162
217
181
200
211
173
283
160
191
198
188
182
173
115
166
226
209
210
130
279
252
146
214
216
146
138
158
168
132
158
143
130
129
167
230
201
207
238
130
182
203
207
195
255
187
149
217
156
213
171
212
176
188
170
173
217
156
146
213
215
179
185
255
141
203
173
230
218
252
271
146
155
185
222
155
223
160
216
191
178
197
141
194
218
211
176
249
146
236
207
176
239
183
213
213
211
259
222
155
256
201
183
193
197
164
224
204
221
275
222
115
217
143
201
202
164
153
210
202
201
146
194
161
222
230
200
209
206
210
200
204
230
237
164
250
155
192
143
209
240
162
164
182
204
224
210
271
143
225
167
202
206
161
234
324
143
211
174
217
331
161
132
167
141
210
154
242
187
230
189
183
210
194
221
173
179
182
158
222
219
170
122
280
153
214
227
217
168
193
176
179
230
216
181
185
173
211
276
176
200
168
232
168
230
195
129
213
133
193
147
174
119
217
217
128
188
184
195
149
145
173
189
200
221
181
222
173
204
144
179
205
188
264
145
184
162
200
215
236
233
176
260
133
197
169
153
206
204
202
179
191
185
173
183
217
202
129
191
201
146
155
204
208
225
149
225
143
199
281
176
199
179
212
206
172
130
221
171
216
158
180
246
157
173
176
208
191
168
169
158
160
230
165
195
146
193
169
146
183
251
192
238
232
254
233
149
284
183
157
173
215
220
173
223
258
173
146
132
182
162
200
192
206
171
321
209
129
122
193
258
239
173
129
181
191
173
214
273
300
254
252
191
188
130
180
236
133
244
145
158
217
168
178
189
156
206
206
229
231
214
231
197
184
191
211
187
150
190
204
202
284
209
119
164
183
190
211
180
210
192
162
173
176
203
190
245
205
192
201
173
141
203
185
146
167
169
214
215
247
246
171
228
252
252
145
153
236
207
176
196
217
168
204
207
230
243
217
233
171
241
169
237
206
165
229
129
193
164
222
210
180
141
198
184
204
171
197
191
288
238
129
204
188
173
238
174
130
130
260
187
150
217
145
208
285
207
181
201
205
160
189
187
179
187
176
180
164
161
158
130
200
162
250
151
173
206
130
182
216
179
152
179
173
166
171
253
149
258
201
164
160
168
152
162
210
199
204
157
202
176
253
252
130
210
176
239
155
251
227
158
206
128
183
200
202
202
214
146
196
176
237
283
234
258
225
244
184
200
143
210
172
185
203
204
199
188
230
207
179
180
214
234
199
259
164
176
122
176
145
161
242
234
180
206
179
199
158
250
145
144
178
146
178
147
264
178
222
181
133
186
217
189
179
201
210
146
146
201
115
284
128
128
201
161
162
197
217
163
180
127
283
206
129
149
180
157
211
160
133
202
169
256
169
149
180
207
206
219
180
146
156
187
264
162
178
146
194
245
197
218
165
145
264
226
208
236
170
185
233
169
162
166
238
145
180
180
165
198
216
211
189
219
169
129
219
183
191
189
200
170
173
202
146
129
220
191
204
231
180
144
187
191
155
180
193
145
227
244
202
189
238
209
230
182
169
217
133
191
246
228
149
178
157
158
235
217
200
201
232
183
155
129
203
238
176
156
217
217
204
236
246
217
176
222
287
174
146
166
138
191
187
259
198
176
196
164
180
266
195
211
115
201
146
197
122
198
161
218
130
195
222
217
130
249
143
155
228
204
211
202
204
238
230
169
169
284
204
203
133
158
214
169
221
162
209
183
211
184
274
239
129
146
179
231
217
201
203
180
168
174
173
204
130
191
178
176
227
171
268
173
225
217
129
204
224
180
217
218
153
147
146
178
133
173
162
236
238
211
238
176
207
176
204
246
264
211
173
163
184
226
269
207
129
239
162
179
169
208
266
200
189
275
277
184
209
287
130
191
122
244
133
226
227
145
179
195
189
199
143
266
146
143
179
225
246
178
191
146
191
212
168
179
130
182
204
138
204
191
234
130
230
128
173
228
166
210
130
257
200
194
204
176
168
176
180
184
179
173
151
238
257
146
254
314
143
176
145
130
209
188
283
130
180
186
246
198
173
130
186
164
145
169
191
200
201
227
182
215
210
204
226
276
169
272
145
141
169
151
249
129
195
166
170
150
210
280
234
148
173
216
259
198
173
145
204
147
132
211
228
174
225
176
133
200
184
173
242
146
210
129
267
200
137
178
202
206
210
158
155
216
184
170
138
200
176
192
182
194
217
174
166
162
141
219
181
238
165
176
201
188
200
169
209
201
168
204
164
182
157
211
230
226
288
224
203
146
195
300
160
171
206
180
183
156
163
168
172
229
246
175
115
174
129
180
146
173
173
232
192
270
210
178
182
240
244
257
238
145
201
265
240
204
176
201
200
173
176
176
280
178
236
200
230
189
158
219
129
180
176
214
168
188
158
206
217
168
236
268
156
269
164
168
173
299
156
192
130
205
119
173
174
188
166
144
183
180
202
171
217
176
236
204
146
143
133
208
244
145
210
201
206
242
211
189
174
202
205
204
128
180
151
200
188
182
153
335
200
143
226
180
212
166
173
155
178
239
231
178
261
217
180
278
130
178
173
191
199
138
194
183
238
194
138
226
181
200
216
141
221
184
179
239
146
189
164
209
199
168
165
155
129
242
188
188
178
210
145
177
179
203
221
185
252
129
129
201
146
146
230
217
247
201
147
204
216
160
208
210
151
210
130
224
162
164
133
143
179
186
197
185
214
225
129
184
166
187
151
201
146
171
168
172
173
256
219
166
122
214
149
178
204
210
182
183
225
198
158
203
197
160
187
260
200
153
221
146
147
152
129
130
217
176
225
187
221
215
192
217
239
206
233
208
176
149
201
226
178
210
191
215
248
158
115
216
202
162
194
176
211
185
188
130
206
204
261
247
143
145
168
217
249
212
204
217
170
146
128
258
166
176
183
197
221
224
261
184
146
210
162
204
162
155
149
115
155
193
217
146
217
180
141
193
237
221
190
257
173
173
218
129
180
253
130
217
225
230
203
145
225
177
209
247
180
158
208
200
226
210
186
225
255
227
201
268
210
146
158
197
256
219
227
191
115
184
230
169
209
187
157
192
168
173
129
159
178
183
213
206
207
224
236
208
236
187
211
138
164
152
222
155
216
146
254
204
177
228
280
164
158
210
212
130
182
179
200
173
242
230
181
178
176
153
206
169
228
257
150
133
200
201
178
202
176
202
173
230
189
230
133
208
185
169
229
129
173
141
189
217
152
232
163
204
141
202
212
239
143
174
271
230
200
130
203
237
129
188
133
176
217
146
262
187
239
173
247
211
189
179
224
160
244
197
146
164
201
132
129
251
173
218
181
191
162
217
164
244
170
207
132
152
170
143
154
173
262
183
162
183
168
210
209
287
174
238
173
173
204
204
191
263
141
218
177
280
185
252
168
242
184
237
133
163
143
194
211
229
140
173
115
155
231
234
255
129
122
177
223
239
158
225
191
201
172
294
145
146
226
174
234
257
282
129
236
179
204
149
168
151
236
217
173
146
138
287
153
168
209
130
129
166
189
180
216
189
226
180
115
157
204
172
183
156
181
208
217
264
190
169
173
210
204
236
133
237
189
265
228
204
244
129
202
159
162
185
168
243
146
181
267
208
239
176
185
158
218
182
204
133
247
144
130
210
176
200
162
157
204
176
242
130
188
235
130
172
201
129
201
200
130
245
209
181
222
199
204
162
221
178
210
315
195
158
143
179
176
230
158
191
178
206
138
193
242
208
185
202
146
182
189
238
204
193
185
215
239
243
238
250
157
115
184
201
239
192
200
143
226
179
224
228
161
195
214
156
168
180
183
172
214
220
201
164
143
158
206
171
188
211
178
173
176
122
191
205
180
181
210
200
166
212
202
156
247
187
166
236
157
210
217
197
145
190
183
266
173
158
167
238
252
212
243
170
199
263
205
255
204
258
225
196
158
211
145
273
259
183
217
173
221
270
217
228
153
133
266
165
182
271
164
202
258
210
243
184
201
145
261
222
211
146
176
230
190
179
141
192
221
168
171
306
221
129
153
170
129
152
243
155
176
141
165
115
216
192
287
173
228
180
146
217
173
248
216
239
145
158
146
231
255
170
174
162
196
173
172
146
225
156
158
225
183
193
168
215
211
245
192
173
247
215
238
206
195
196
293
214
173
241
164
263
182
185
142
232
133
232
158
184
173
264
234
130
217
209
202
234
204
230
217
217
178
141
281
217
173
261
185
176
203
143
146
206
227
129
129
191
188
130
191
182
175
211
173
157
182
265
174
176
163
155
215
228
231
168
133
153
115
230
198
203
164
184
190
254
217
231
251
133
190
176
143
204
165
173
218
178
206
129
296
143
233
128
303
252
222
208
224
178
237
131
202
204
202
173
198
201
191
169
158
115
191
261
240
236
192
186
186
237
173
203
176
184
130
164
167
215
188
211
244
208
221
262
216
162
162
164
176
238
130
194
204
283
172
214
169
183
214
184
184
229
205
132
150
256
184
204
221
201
202
210
180
225
160
133
179
247
185
168
234
163
259
173
269
171
115
173
168
238
200
236
290
217
178
146
241
187
171
259
215
262
115
212
230
188
186
278
155
184
194
234
183
206
170
231
175
184
182
171
115
196
203
176
212
172
235
164
201
207
168
204
300
186
151
238
129
155
277
146
159
272
202
158
216
264
167
184
174
145
212
220
167
222
274
138
219
176
224
156
179
177
164
201
161
176
214
232
195
259
191
184
164
297
236
201
146
184
200
184
228
214
197
176
162
212
220
128
230
149
162
220
173
172
212
204
188
141
173
173
238
172
217
115
211
168
188
206
194
186
183
238
217
214
211
130
188
264
264
241
146
182
210
252
133
212
149
166
133
209
206
176
164
288
226
203
184
206
238
182
172
164
188
202
236
180
210
155
262
202
210
168
158
254
203
190
191
233
191
261
173
227
166
144
158
205
238
211
172
151
212
183
252
155
221
229
202
187
165
171
226
210
223
185
130
200
161
217
209
296
197
162
176
170
157
159
146
260
281
215
195
147
221
130
189
149
187
141
201
153
115
212
130
144
237
217
146
150
212
184
145
189
233
186
146
176
195
183
129
201
146
160
217
128
176
222
182
204
145
187
145
146
176
243
230
173
158
250
183
221
267
133
200
191
162
149
168
287
188
201
211
208
202
260
260
283
203
130
177
164
195
210
201
205
208
143
212
189
173
208
147
178
178
129
206
226
257
175
183
215
170
149
229
238
133
204
264
187
239
244
145
211
146
209
129
244
219
169
149
219
130
186
162
209
158
202
199
143
203
189
194
183
191
186
158
188
217
242
182
298
169
168
176
250
200
242
179
235
192
205
219
170
130
193
210
158
229
217
169
201
146
215
128
183
259
274
228
201
227
169
227
145
173
217
146
190
204
274
155
242
147
156
257
206
172
210
217
210
248
145
217
200
166
173
274
182
204
222
195
184
155
252
257
173
203
299
201
211
183
141
204
163
293
251
153
201
145
146
176
129
173
228
184
273
197
130
133
174
165
201
211
201
180
215
212
230
276
260
193
194
222
234
197
216
147
159
214
295
201
185
150
119
187
129
176
214
216
161
184
164
183
130
161
128
187
218
207
164
210
204
273
184
202
204
129
185
214
161
133
210
178
188
303
179
183
115
201
129
206
221
213
180
168
181
146
197
234
234
202
260
179
204
143
180
176
178
186
115
230
274
234
185
152
155
191
222
254
173
182
200
233
264
164
207
205
270
210
182
201
255
264
168
168
185
204
146
296
236
193
130
217
190
219
239
193
158
192
158
226
202
225
150
256
307
178
129
185
189
174
181
148
183
200
238
183
174
156
166
129
270
170
152
204
146
201
163
163
259
207
141
133
291
211
156
168
200
239
200
206
152
129
202
274
208
210
210
164
143
173
311
210
183
204
199
173
233
151
241
204
210
197
212
181
189
244
133
247
212
231
173
268
143
243
173
327
180
186
141
148
182
175
128
192
201
201
202
245
115
185
194
179
184
147
162
180
173
146
150
238
133
299
143
130
181
206
141
222
280
239
216
200
176
145
141
132
211
225
129
204
190
173
226
222
182
128
219
305
174
176
194
231
157
227
130
228
222
176
279
204
184
193
225
151
185
138
261
208
218
164
146
156
183
157
258
192
145
231
185
204
195
176
159
156
202
229
162
179
181
154
180
182
156
267
173
185
162
182
204
196
169
179
206
202
176
158
206
240
180
188
213
206
204
184
173
182
264
145
210
130
130
202
274
236
187
185
205
239
162
195
130
260
164
217
242
202
155
212
179
164
206
228
192
176
184
215
167
150
217
130
239
209
217
184
182
244
201
199
130
184
209
221
202
180
219
257
259
146
115
201
204
181
167
227
206
206
183
150
233
216
213
143
244
227
172
209
180
264
173
296
176
164
129
176
227
182
158
238
200
221
228
146
162
173
160
185
219
169
247
194
167
238
257
278
119
133
267
130
168
182
237
212
193
199
164
259
164
115
219
335
172
166
194
130
190
158
200
173
146
295
185
143
277
173
158
146
209
212
218
175
187
179
211
207
206
246
217
188
178
218
220
176
158
247
141
219
182
247
197
175
162
219
229
145
204
175
216
204
219
132
175
189
176
250
217
240
133
174
146
237
162
130
186
229
193
129
129
230
221
130
217
252
218
145
234
151
115
172
214
217
158
270
204
188
145
209
255
173
179
268
210
201
177
211
182
173
130
228
183
204
210
133
174
218
173
237
169
179
192
197
145
254
185
179
182
169
140
162
206
204
247
222
183
201
271
299
162
160
200
262
183
164
155
161
173
187
207
157
225
225
133
176
217
191
115
183
250
227
186
230
190
147
173
173
146
221
235
246
202
155
214
210
173
165
240
186
173
203
176
200
129
179
184
254
199
182
160
168
277
173
238
146
188
182
202
185
192
269
222
176
197
260
211
209
155
225
183
162
322
231
201
130
175
178
145
208
244
218
145
129
169
220
206
213
171
202
257
209
179
260
164
145
195
143
155
204
129
221
209
149
242
151
241
234
208
209
158
238
201
174
129
129
191
254
264
256
262
275
174
208
234
180
204
193
129
242
170
193
198
210
176
258
236
239
250
176
180
261
215
200
162
155
233
170
182
185
155
233
155
200
146
182
153
218
187
250
130
133
202
201
170
230
146
229
178
130
191
141
197
184
129
156
145
195
129
159
158
185
201
122
190
209
230
152
210
218
228
239
173
146
156
130
164
180
241
215
145
188
146
192
174
179
175
161
164
236
179
283
195
219
263
130
201
146
173
173
183
202
130
217
158
184
180
209
178
335
248
173
170
168
173
162
233
186
209
155
146
205
217
129
186
184
129
208
180
228
240
205
239
158
257
143
146
186
182
173
207
303
197
237
144
178
129
129
147
184
204
149
180
335
129
130
181
239
130
162
189
188
169
204
232
130
214
158
257
160
130
179
213
169
133
230
188
130
189
174
176
193
179
158
176
204
213
115
177
166
144
214
187
173
178
213
259
182
185
191
183
172
273
206
182
162
214
168
211
231
229
212
213
168
202
169
225
199
182
242
261
191
182
143
178
176
146
200
141
205
200
204
173
150
196
130
242
133
269
145
247
146
225
206
204
177
169
179
160
287
197
251
174
266
198
231
264
192
169
155
133
201
306
209
204
216
171
183
150
229
143
217
173
129
167
164
185
206
236
176
115
169
144
204
162
133
191
256
204
203
168
311
166
201
251
211
173
204
181
239
177
222
244
169
183
228
238
246
205
195
238
176
183
189
200
129
164
185
149
214
180
147
202
203
222
179
180
176
199
133
211
211
176
224
200
130
149
164
181
190
204
182
145
168
130
192
167
227
146
202
247
255
173
169
168
164
173
169
168
204
230
219
222
146
156
197
156
162
214
129
174
183
210
202
179
259
146
129
201
179
186
115
180
146
199
162
183
211
178
214
223
162
218
223
129
169
115
183
204
176
204
182
162
175
189
204
169
157
216
166
233
183
211
201
166
210
245
202
177
188
174
233
227
152
229
252
187
252
228
130
180
179
145
176
213
150
129
130
168
206
234
239
211
130
208
208
201
173
199
145
188
176
173
209
195
176
158
248
192
214
183
204
158
206
160
193
259
182
145
179
176
257
204
181
246
173
130
261
184
157
170
191
200
206
238
157
181
130
230
189
217
206
173
172
174
183
130
267
193
183
182
207
183
209
187
216
180
288
284
173
217
145
219
158
240
182
231
216
150
122
185
225
306
218
200
130
176
223
204
190
173
169
194
202
146
160
214
202
250
198
164
197
179
217
176
228
191
217
247
185
122
248
309
188
168
164
198
232
168
130
299
185
256
184
185
200
184
278
156
146
200
176
203
205
173
218
194
164
129
248
173
183
201
201
159
143
141
312
115
145
241
164
229
197
205
188
191
197
176
173
189
214
231
173
209
214
140
262
183
176
130
186
146
182
257
184
129
160
145
201
233
193
191
115
243
143
143
235
129
160
163
182
283
191
179
176
146
194
217
146
251
202
179
212
162
184
242
209
168
183
217
187
199
243
180
143
257
158
263
205
185
201
216
203
235
210
195
179
186
173
256
166
130
204
239
218
242
129
129
246
246
208
201
173
219
246
115
173
254
167
192
241
217
146
173
155
234
209
228
272
208
172
179
176
194
200
202
178
133
173
259
157
172
190
300
184
246
219
128
260
192
166
174
183
145
183
178
303
143
171
178
146
211
204
225
178
240
173
252
133
176
208
146
223
195
138
251
169
181
210
258
202
212
166
207
161
183
188
209
156
122
191
252
184
191
242
176
194
262
229
187
130
246
164
172
166
300
213
130
238
191
188
200
182
169
234
122
249
146
242
192
219
191
145
133
178
234
164
300
189
182
246
115
184
229
162
216
176
157
210
170
171
247
176
230
156
232
143
176
185
236
184
169
129
181
229
183
230
210
222
179
207
122
158
156
155
115
264
181
210
180
204
180
180
200
173
181
160
225
189
230
187
175
246
239
179
287
209
129
238
143
168
244
188
182
176
176
181
178
206
176
223
234
221
225
226
262
188
276
202
172
208
261
176
209
187
133
262
146
230
190
197
129
146
129
187
215
209
129
253
201
213
179
190
175
176
204
199
197
190
158
172
191
180
238
185
141
173
146
302
278
254
146
204
160
248
264
229
206
213
202
188
243
176
210
169
258
162
179
146
207
169
261
190
146
227
204
265
186
184
188
167
162
264
227
157
238
210
228
230
133
173
272
225
239
145
210
204
176
183
207
143
179
175
173
191
146
147
190
204
210
182
155
130
252
169
210
204
212
201
158
190
211
188
222
208
226
180
146
167
182
184
175
133
176
217
129
149
239
210
201
216
145
146
156
184
168
201
130
132
143
220
200
194
204
129
235
155
247
179
202
184
207
210
177
207
223
183
146
158
206
185
238
191
146
132
162
158
184
181
204
163
177
129
182
127
160
232
138
259
190
146
225
210
184
214
161
227
191
226
188
162
176
181
204
174
192
129
141
206
225
173
210
173
161
129
201
192
150
122
170
210
146
192
204
160
218
217
184
174
205
204
213
184
221
168
164
169
146
161
184
143
225
201
155
143
189
160
209
236
159
146
211
236
260
180
237
168
206
195
205
179
176
129
200
158
212
215
274
167
200
217
173
186
209
143
173
233
201
173
173
179
146
284
181
244
205
216
212
190
210
129
152
185
213
199
145
205
185
129
193
186
179
195
240
260
230
251
176
183
204
280
189
180
214
239
231
256
230
211
240
161
182
159
239
231
189
176
228
205
173
176
217
274
206
259
187
242
165
162
275
178
203
171
180
193
222
164
231
198
129
244
192
115
213
146
283
203
256
199
146
238
220
185
200
238
185
141
265
143
264
151
182
193
146
163
199
236
235
176
191
168
168
157
174
215
133
170
129
161
230
209
195
200
203
184
218
204
191
157
258
129
271
174
172
204
168
285
193
209
130
182
187
146
157
216
166
173
352
146
171
173
185
169
143
173
184
164
197
184
197
152
219
168
204
169
189
193
190
153
259
152
185
175
146
203
184
210
166
158
200
169
175
176
225
119
166
182
164
201
194
169
202
207
183
179
168
164
184
202
133
286
264
215
186
224
230
202
246
178
226
239
187
266
182
146
162
202
204
230
115
233
152
204
253
182
158
173
146
119
188
184
181
129
237
178
238
303
247
178
184
129
146
156
159
225
217
230
187
130
227
199
166
145
245
214
149
224
258
143
192
184
204
155
249
222
218
129
213
129
179
133
133
206
188
204
129
202
287
199
193
138
204
301
222
167
212
246
141
190
143
247
206
173
162
265
133
195
196
191
179
173
211
274
202
182
150
200
206
231
182
211
176
153
183
212
199
210
149
160
277
201
195
188
185
230
169
195
180
130
221
150
185
176
198
242
244
204
192
182
217
185
173
246
155
228
255
195
207
129
200
200
153
213
129
146
176
173
182
224
243
204
256
230
169
218
183
149
186
211
212
173
222
115
204
188
164
202
239
230
215
238
148
115
150
184
179
186
166
247
166
181
188
183
204
216
222
237
205
185
122
130
202
196
195
223
261
196
176
194
179
209
170
208
235
158
158
151
231
244
201
243
202
157
209
129
231
222
192
180
172
257
206
286
241
184
189
236
213
249
179
236
272
239
220
173
204
177
168
191
182
190
181
170
146
176
184
240
176
192
229
179
282
189
183
227
201
191
191
166
183
244
249
171
157
217
180
176
212
230
145
184
133
200
183
130
138
252
187
195
174
198
226
206
182
182
192
250
186
177
267
130
210
168
249
200
115
208
241
183
217
179
227
167
173
302
146
193
204
180
225
204
193
167
272
181
149
183
216
222
209
146
231
256
146
199
197
210
174
202
185
162
138
156
206
198
194
203
223
156
199
151
162
265
209
264
129
119
204
192
141
130
203
192
156
231
168
201
199
157
169
206
184
188
240
208
172
212
216
176
244
221
174
195
159
190
228
170
129
176
269
143
227
180
215
174
228
217
202
191
130
246
158
171
205
204
214
201
208
228
239
157
229
204
206
295
206
130
146
143
202
201
236
171
173
250
130
215
129
226
201
146
211
184
173
245
197
184
224
192
152
188
215
212
252
168
194
190
191
197
206
162
180
232
129
133
145
130
174
182
278
182
219
211
217
133
157
201
150
277
303
191
162
132
150
161
217
242
164
181
166
217
169
260
239
161
228
146
198
146
205
178
278
230
217
206
227
146
201
198
146
246
186
192
209
230
176
169
188
174
187
162
129
181
187
162
192
230
176
333
130
249
168
208
206
168
267
262
193
255
231
250
130
173
174
173
243
233
182
192
176
247
210
171
216
204
212
204
129
199
229
174
201
185
171
181
158
264
186
191
193
201
287
191
185
155
146
229
145
239
217
184
251
155
171
242
175
157
233
115
180
164
175
193
178
276
189
274
265
189
185
182
242
162
195
186
185
128
146
169
189
160
168
244
210
239
174
177
217
158
133
176
186
158
176
168
212
173
200
152
201
200
145
145
173
205
146
182
133
204
219
188
178
184
192
261
159
152
169
200
129
264
130
133
180
203
190
234
211
141
195
164
169
267
214
256
229
185
184
146
209
239
122
195
186
191
155
163
202
179
275
199
192
239
206
165
156
230
178
209
145
234
225
247
244
161
155
183
264
204
182
198
160
241
157
184
182
206
210
183
202
133
192
191
193
212
163
119
164
327
238
195
261
228
169
201
236
185
238
292
186
200
202
174
209
178
188
248
215
189
178
229
164
194
249
180
164
173
199
182
206
247
262
229
258
186
138
150
129
226
152
194
138
212
231
219
184
185
258
174
232
191
172
232
173
202
194
209
219
203
335
145
182
177
150
173
173
209
192
176
181
149
148
208
152
179
204
229
183
218
149
229
195
166
211
130
194
130
193
206
161
217
252
239
171
217
236
202
227
143
179
141
209
115
167
183
153
238
167
157
173
173
155
186
181
283
150
227
246
176
188
143
165
198
185
199
260
152
170
237
169
132
173
245
147
230
181
173
174
129
217
217
146
128
133
214
162
201
115
180
231
173
273
144
202
146
251
183
211
154
235
158
217
205
159
178
151
143
182
233
138
229
217
119
183
197
195
252
146
247
167
130
171
183
152
132
196
129
225
129
205
176
151
146
173
225
207
176
143
194
234
160
231
233
158
178
250
228
176
204
182
176
246
182
156
277
209
168
147
236
215
141
146
194
241
264
278
173
220
224
173
202
233
163
182
173
186
210
230
183
130
183
204
199
187
182
143
183
191
219
164
262
222
231
150
201
241
179
188
219
195
191
265
200
188
129
217
133
217
208
217
138
239
194
236
160
168
244
193
217
133
236
175
192
213
216
188
230
142
191
150
205
179
205
203
164
239
170
162
264
209
195
179
246
130
188
287
168
181
156
261
181
202
145
192
204
262
200
206
221
191
166
205
188
233
149
183
206
272
129
208
141
171
212
178
158
227
204
133
180
203
232
161
129
210
146
171
256
204
256
129
210
162
233
184
218
179
210
191
216
238
204
194
201
166
181
176
250
130
219
166
164
191
217
175
238
168
146
179
211
176
204
206
201
176
179
178
183
171
145
178
227
162
169
254
189
202
216
176
184
153
194
197
164
188
183
204
177
168
149
258
195
215
130
230
222
176
216
246
228
167
221
204
182
195
236
146
222
239
218
200
230
289
219
146
129
130
251
258
255
145
209
224
179
208
150
191
155
242
229
150
217
230
144
237
129
130
236
210
200
258
172
204
133
203
217
218
157
235
151
129
179
183
188
179
178
229
146
206
230
194
210
264
183
129
195
222
201
281
201
197
178
274
226
209
275
191
180
186
182
180
173
178
122
162
182
153
270
156
204
197
254
204
162
190
161
265
146
216
201
201
244
183
203
210
207
234
264
181
241
200
239
184
200
201
180
239
115
258
168
143
198
180
150
193
176
200
210
173
115
242
143
180
285
184
188
153
238
171
183
183
210
217
180
157
380
193
256
204
213
200
230
241
155
158
230
166
168
176
202
217
130
244
217
204
176
205
173
211
202
197
210
210
230
200
240
164
141
187
264
210
259
229
237
210
168
185
201
285
173
221
141
145
239
201
262
212
243
272
129
202
231
200
129
188
204
122
222
131
199
183
164
184
201
287
143
176
200
195
145
164
138
143
203
173
181
229
158
178
173
180
220
210
129
206
129
172
145
173
222
145
193
169
173
199
132
242
204
157
179
147
237
122
204
270
133
152
176
184
218
181
209
130
208
258
184
210
179
185
253
230
162
236
191
201
218
200
228
172
292
229
215
129
257
143
251
182
263
173
204
253
247
206
194
216
130
141
184
176
197
146
226
266
130
176
220
201
341
182
174
263
248
241
145
157
166
161
115
179
146
198
168
229
184
186
181
230
133
219
156
182
130
234
143
183
150
144
219
196
299
182
174
205
155
206
192
166
184
210
218
166
161
129
162
184
115
206
259
217
216
191
180
153
201
211
156
169
179
212
212
210
183
335
184
216
203
183
236
178
173
210
168
178
189
184
146
145
173
188
173
179
129
231
260
192
133
217
204
236
187
219
173
236
133
203
160
203
178
191
138
196
156
246
335
146
162
145
257
182
173
224
205
216
168
190
286
224
176
244
129
204
183
245
158
212
217
130
201
191
215
205
191
171
225
252
184
201
211
189
176
246
200
210
238
160
245
189
152
222
163
115
256
204
227
229
247
210
176
217
239
149
129
176
176
221
173
210
192
235
150
160
169
225
133
149
160
202
176
164
115
150
158
130
171
227
214
173
264
130
231
223
200
217
173
204
130
140
376
335
162
204
235
238
237
173
178
198
212
195
129
129
230
177
238
176
176
300
174
219
188
130
163
254
208
175
236
192
236
257
204
202
173
138
221
185
225
179
231
146
182
210
189
176
164
195
281
203
145
247
217
164
143
190
173
224
226
162
226
158
195
212
188
207
129
217
198
165
156
181
210
182
181
130
222
170
191
221
173
168
235
187
157
217
219
184
178
217
129
128
183
201
164
212
204
133
130
242
178
232
229
129
198
232
176
168
147
263
184
145
200
237
252
200
180
287
189
158
173
203
145
209
181
202
156
239
271
150
215
168
217
138
209
179
176
297
200
143
185
261
130
225
156
231
164
146
191
200
223
212
213
130
174
146
239
168
129
169
230
156
145
250
122
176
180
173
164
242
184
240
262
217
226
192
138
283
204
228
180
130
198
247
143
176
238
184
258
264
226
160
191
176
174
168
229
169
270
236
171
217
264
158
236
132
180
184
129
145
250
238
143
156
226
222
191
173
225
299
168
179
176
238
216
129
207
178
224
213
229
166
204
166
178
238
175
173
166
249
190
227
201
182
207
210
210
189
279
173
179
263
129
179
133
200
182
258
279
220
149
277
161
213
236
191
229
168
210
141
254
152
200
210
178
146
214
167
172
180
220
237
248
203
236
205
166
231
171
220
211
204
243
147
173
238
129
168
180
242
143
158
173
156
202
174
182
166
200
155
194
259
229
160
204
252
226
263
206
169
155
162
190
209
272
190
132
236
248
190
335
217
161
143
217
217
210
208
144
208
177
200
214
205
176
191
165
239
198
245
210
238
130
184
200
176
173
182
210
198
173
115
210
236
254
228
205
174
202
238
193
184
129
201
258
169
181
133
132
258
170
146
130
180
181
175
171
133
202
239
182
144
129
168
179
175
236
203
282
244
200
217
228
227
169
236
209
216
146
115
235
204
233
155
191
182
184
211
191
239
237
212
275
214
146
251
181
143
222
283
203
146
238
201
180
146
218
282
172
204
184
216
129
202
161
207
250
150
172
158
178
217
202
204
178
143
187
206
201
176
165
216
143
173
188
166
151
197
158
192
184
231
183
115
169
173
191
238
182
179
196
132
195
209
206
145
192
201
257
138
147
236
180
204
146
173
210
205
203
186
195
214
204
156
206
185
150
222
164
156
173
181
164
180
221
202
173
198
189
130
186
187
210
156
353
129
202
173
133
239
192
204
271
181
210
250
179
145
194
166
164
184
195
172
236
206
233
129
171
164
185
181
164
212
129
199
202
162
149
191
242
283
184
210
202
166
233
193
199
257
181
155
199
203
207
158
248
260
145
211
237
143
129
172
145
184
192
230
194
240
230
226
169
237
130
239
163
185
272
178
228
145
157
185
201
234
197
145
169
238
188
210
176
186
130
200
130
162
164
183
170
237
169
250
204
161
164
176
187
169
187
164
174
204
238
163
222
173
130
155
138
159
218
230
236
145
224
217
220
173
178
201
221
151
202
181
204
160
146
146
254
179
222
160
183
201
184
130
176
296
230
235
181
143
166
256
203
300
199
206
227
272
158
180
230
233
143
130
169
217
206
204
210
184
202
175
239
143
227
201
201
212
188
188
265
173
200
239
182
194
208
162
194
146
257
190
204
229
210
238
146
173
204
204
239
218
178
146
297
138
200
164
210
129
190
239
176
191
171
245
205
165
200
240
158
115
183
217
212
203
183
143
146
155
162
245
132
186
162
129
168
221
254
230
173
205
197
238
201
214
173
204
230
179
244
157
230
180
230
220
260
169
130
282
199
160
203
133
255
180
182
146
213
204
180
190
168
230
129
247
164
231
159
245
261
150
200
248
175
176
186
158
164
184
169
231
155
210
184
206
220
146
221
188
251
211
204
210
186
202
256
150
231
180
202
264
188
184
179
195
203
115
176
133
206
227
252
186
162
173
281
161
168
226
263
188
252
221
167
249
195
219
211
217
200
180
235
171
211
177
200
224
201
194
233
162
178
255
238
173
156
146
165
133
183
180
129
183
195
229
129
203
175
189
133
192
175
191
209
176
169
173
190
184
275
242
195
192
230
130
185
211
176
130
129
195
146
227
176
200
178
145
162
211
255
239
210
156
129
221
257
173
194
176
217
185
292
130
164
201
225
184
175
217
146
168
222
153
203
182
164
197
235
234
176
217
211
229
195
155
169
158
161
173
228
145
237
256
208
160
264
178
204
212
251
247
179
155
158
257
238
214
129
190
187
195
132
173
176
218
211
187
167
211
191
150
179
200
221
265
130
129
154
278
247
257
227
144
179
233
156
173
212
271
159
230
164
239
230
130
176
244
188
228
216
179
215
187
162
122
174
188
141
239
138
231
188
227
211
256
173
204
204
210
168
154
191
186
196
173
151
115
195
301
205
223
162
129
199
263
247
201
149
164
238
205
132
199
162
205
217
152
129
150
146
185
175
179
186
166
195
256
171
256
188
200
176
133
206
204
132
214
243
162
129
190
179
217
138
141
198
189
155
230
239
267
214
144
171
210
256
252
158
200
217
188
182
144
175
211
176
200
223
129
173
179
207
228
166
176
232
130
197
232
274
184
194
153
199
143
166
168
176
168
128
231
129
222
206
176
156
158
194
197
161
263
128
218
222
214
143
246
157
193
150
150
178
156
174
171
183
115
216
270
274
243
200
199
204
156
204
181
195
234
201
217
214
236
141
182
209
146
158
157
183
217
133
210
259
196
204
162
217
209
251
189
146
188
178
199
129
229
192
187
176
201
130
163
200
275
169
194
221
208
256
224
179
204
204
190
179
230
215
174
115
145
217
187
292
161
229
254
168
184
197
177
206
185
166
225
217
173
150
228
171
181
150
145
234
200
129
214
200
129
230
204
175
129
196
173
158
179
186
130
200
188
213
239
164
187
130
157
178
204
222
221
180
191
182
146
275
217
214
175
130
164
130
203
204
250
185
158
245
158
183
184
230
186
173
165
271
145
178
228
185
214
185
176
129
211
197
156
236
222
196
115
201
210
143
204
217
149
238
203
273
167
145
155
264
182
245
215
191
235
167
171
190
212
176
129
169
217
192
294
230
224
190
211
208
182
242
146
233
182
264
168
202
199
210
216
275
160
229
157
133
199
164
209
201
210
205
163
230
247
152
227
222
201
143
175
162
158
206
180
208
189
209
152
141
209
208
207
203
249
146
176
164
172
129
160
230
236
204
174
140
241
195
204
211
177
164
239
245
186
173
202
230
184
202
187
173
176
211
184
154
202
176
241
216
162
238
167
189
178
157
129
211
196
200
145
190
115
250
192
191
211
173
130
266
210
329
143
182
141
204
141
265
229
187
230
176
157
256
243
287
335
210
206
171
166
252
228
174
157
187
217
206
153
179
183
193
178
175
197
192
161
225
243
164
149
304
225
162
225
179
145
185
259
146
188
211
187
176
258
209
193
181
228
158
249
144
204
212
206
200
299
191
198
217
151
130
200
182
183
177
194
233
146
174
209
184
256
168
220
200
181
184
207
133
258
236
176
155
167
156
201
248
183
166
227
217
185
158
141
176
173
214
217
232
183
201
246
171
247
245
192
183
200
223
146
244
193
192
129
138
150
179
195
204
158
206
227
221
211
167
335
211
218
179
188
170
212
185
178
206
204
178
204
201
143
159
129
229
200
204
181
153
173
168
240
169
157
191
157
210
225
172
201
181
122
187
270
155
161
176
133
173
214
157
160
146
205
179
223
264
171
193
215
172
156
200
184
172
210
208
179
216
143
168
164
146
200
170
164
185
173
182
235
227
210
176
308
206
169
191
209
215
146
176
119
170
162
210
145
158
141
230
185
168
303
230
143
184
182
176
167
247
180
185
268
183
217
179
115
187
199
130
204
277
231
188
225
196
205
115
220
184
207
204
272
156
138
179
267
143
221
143
130
202
167
205
204
249
211
216
176
217
192
180
211
143
183
164
188
161
162
203
211
183
244
178
187
130
189
219
145
180
213
204
225
182
210
213
133
186
201
129
202
214
233
201
211
253
202
221
209
257
179
182
176
143
129
164
332
219
217
239
130
182
191
222
173
133
122
289
212
158
180
173
203
189
266
188
170
173
155
178
227
184
122
209
229
167
159
224
199
168
232
146
145
129
213
230
236
236
165
217
159
169
192
254
238
185
168
261
199
178
238
245
145
221
204
236
146
161
145
227
213
194
115
145
146
183
200
133
156
268
194
199
210
191
173
157
219
203
229
206
201
226
215
201
162
162
141
206
158
277
196
209
247
191
216
179
129
288
168
192
154
225
195
130
239
164
183
192
192
182
157
172
201
143
239
173
225
210
194
143
206
168
204
164
242
206
236
170
176
239
228
161
209
231
184
288
262
166
203
211
280
230
227
115
243
222
261
164
129
239
173
129
144
153
146
184
183
321
149
203
217
180
230
159
224
179
129
182
213
252
232
198
257
295
200
155
173
164
238
199
178
160
173
203
168
209
227
180
179
196
238
143
201
129
218
191
172
272
174
227
146
242
188
173
182
254
178
202
190
217
145
234
172
216
178
146
186
115
218
242
130
200
129
169
211
176
200
255
203
220
237
162
203
304
185
181
184
214
171
224
151
272
211
189
130
252
260
144
200
178
213
130
155
164
152
246
146
174
191
145
258
166
186
201
216
229
130
166
166
207
194
168
168
252
240
145
220
133
160
199
204
141
236
198
240
210
205
262
196
190
129
230
256
219
171
194
207
141
219
183
146
115
318
155
155
164
236
260
133
197
149
184
210
185
164
173
158
218
298
200
166
197
179
173
168
184
144
184
133
158
188
138
300
194
218
210
240
197
130
180
167
226
209
195
228
209
204
211
162
146
146
198
183
148
252
202
248
158
176
259
160
244
179
212
216
177
156
234
207
178
210
216
224
206
129
178
150
133
173
238
228
222
260
171
176
188
129
182
143
146
236
184
164
335
164
168
210
204
230
132
256
207
274
202
237
167
210
168
155
210
191
169
160
283
210
222
257
210
168
155
226
188
282
224
129
146
180
180
223
160
203
143
168
176
185
202
204
206
215
143
195
162
246
203
242
228
264
153
184
171
232
217
129
277
166
247
190
208
238
182
173
210
179
178
228
179
182
228
224
185
186
204
209
220
129
210
169
155
192
168
183
219
236
129
183
164
145
240
173
176
236
189
246
172
160
299
156
133
143
146
246
181
266
204
241
144
145
188
184
202
263
166
205
192
197
173
210
180
255
132
187
294
162
217
246
162
221
198
237
183
194
204
173
183
179
204
214
129
189
157
144
173
225
191
227
138
210
130
242
260
176
213
238
166
212
205
131
256
222
195
190
244
175
189
148
211
145
207
176
221
192
115
222
129
222
254
205
197
178
180
194
189
189
191
178
182
204
210
219
143
185
162
182
180
251
183
207
195
184
190
252
251
160
190
242
179
239
213
146
185
190
149
239
212
188
175
217
169
204
115
209
157
130
222
227
221
197
227
180
130
185
182
191
162
205
225
236
168
224
225
210
163
239
300
173
129
225
133
171
210
206
189
210
181
203
210
191
145
225
200
150
221
204
256
187
180
188
210
194
184
141
176
228
191
173
145
119
183
209
258
129
245
184
192
173
156
242
141
292
232
172
202
210
283
191
204
194
210
143
238
215
145
222
146
212
188
201
186
237
189
198
248
255
174
168
168
211
218
130
133
173
226
169
204
172
230
179
130
161
239
129
191
189
129
158
217
190
132
128
210
187
175
188
175
221
187
176
167
143
178
244
183
153
182
182
129
209
200
189
129
191
180
155
169
179
205
221
179
238
143
176
166
199
129
217
254
244
240
255
226
129
229
258
178
168
173
178
133
156
182
146
201
149
234
146
188
217
177
235
184
158
201
173
191
147
157
143
166
218
133
174
184
133
150
201
150
129
174
178
211
174
231
149
186
210
171
173
168
193
146
206
200
173
174
146
181
164
182
211
130
156
249
183
166
164
237
182
202
234
158
214
221
141
180
130
179
143
207
173
165
178
146
275
168
201
229
178
145
210
183
151
239
130
162
183
239
202
183
217
209
199
204
146
187
266
230
160
199
161
144
180
218
190
210
184
175
183
164
186
203
129
204
186
175
156
130
265
189
169
160
158
210
164
220
169
164
248
130
200
201
143
164
247
149
208
192
115
261
171
201
128
205
227
229
213
146
217
144
168
234
239
197
204
210
166
214
182
129
184
129
216
194
191
231
207
167
187
297
178
189
206
147
146
161
217
217
214
211
130
193
172
179
166
129
129
150
202
178
176
274
201
204
138
191
180
141
176
206
184
146
176
207
225
176
161
184
115
252
203
186
240
195
268
202
197
161
169
184
222
128
178
174
184
199
182
203
173
178
129
152
202
211
129
149
264
201
183
200
188
219
248
258
128
143
185
236
208
241
158
129
166
236
151
213
199
176
191
238
195
200
145
148
150
237
204
169
252
168
217
215
130
177
233
171
129
229
239
264
115
245
247
201
151
168
208
263
147
200
210
202
210
177
210
173
146
128
206
133
172
185
159
226
277
164
179
130
129
205
146
173
244
232
218
182
202
188
185
206
197
129
178
205
210
129
130
160
184
179
207
225
193
182
162
212
188
200
195
150
159
224
141
197
258
149
228
247
275
246
164
213
273
150
173
144
151
257
138
200
218
174
119
194
200
181
162
204
175
130
153
145
211
209
219
198
133
218
247
146
204
193
201
181
218
222
240
157
230
228
133
165
151
185
185
263
149
239
180
197
230
203
299
265
180
204
173
194
201
183
225
173
211
238
181
146
228
194
186
252
130
130
181
208
188
209
203
227
217
129
173
150
133
225
162
205
204
225
217
203
188
204
172
217
202
168
255
162
173
209
146
141
176
159
115
217
252
225
158
141
129
146
217
172
190
201
204
227
216
158
189
170
176
143
171
236
222
228
205
199
146
169
204
259
133
248
269
155
255
143
236
168
221
213
200
230
187
191
176
182
181
144
183
189
202
169
179
212
145
145
195
173
229
184
175
185
195
217
141
212
257
236
160
177
162
138
191
239
272
251
174
191
183
240
143
200
227
176
129
218
195
194
228
227
198
179
176
195
204
180
129
201
166
158
218
162
221
168
164
173
243
169
162
129
229
173
129
195
210
210
130
178
190
229
254
256
211
198
169
191
256
208
209
177
150
145
202
191
160
199
145
168
287
119
185
172
274
257
146
238
331
157
189
219
204
183
138
176
213
165
166
219
166
129
184
211
248
179
217
206
168
200
188
238
219
211
130
210
167
256
164
156
150
204
239
251
180
173
213
222
173
217
160
200
201
201
231
157
160
176
168
180
188
129
213
230
191
177
178
216
204
202
130
174
228
266
132
168
245
200
288
164
200
173
269
234
210
187
251
207
284
152
145
162
146
197
188
129
130
158
146
168
217
260
236
144
249
232
257
200
246
229
217
245
211
141
166
153
230
204
173
172
175
160
178
179
258
204
232
179
243
173
190
156
180
133
190
174
180
211
219
249
164
200
246
227
180
217
184
269
198
204
233
216
211
184
179
261
202
170
210
150
234
228
204
167
225
213
204
175
130
146
133
185
145
231
175
175
180
204
186
145
172
164
166
130
242
247
130
174
199
200
250
138
239
200
181
158
239
129
184
263
218
204
133
176
176
207
187
137
200
209
264
130
180
174
197
183
173
251
218
173
195
160
164
213
164
184
169
176
207
153
239
182
232
177
129
236
166
228
160
217
164
133
161
181
162
210
242
164
195
247
187
176
197
210
195
157
201
130
174
168
146
233
130
141
268
146
233
176
184
194
289
133
185
210
216
174
178
150
255
174
176
129
201
138
146
180
234
173
206
193
151
219
129
182
173
173
228
176
115
169
217
213
158
141
146
197
163
194
211
185
167
152
183
237
146
141
242
287
115
218
239
238
195
200
244
181
191
184
203
210
173
204
185
146
162
214
138
219
185
232
174
222
180
201
215
195
115
200
192
216
271
129
173
185
145
202
170
195
155
184
191
169
144
173
258
176
258
240
160
205
190
238
190
197
202
217
175
173
246
217
268
201
191
238
155
263
208
165
216
206
230
204
162
178
130
253
146
157
227
173
143
225
266
174
158
227
183
168
173
182
185
191
201
162
202
226
186
143
270
216
171
163
181
231
202
138
237
249
245
229
158
212
145
156
200
133
160
186
210
225
249
174
235
185
221
195
204
129
263
220
188
259
235
164
156
212
217
146
190
143
237
201
239
189
170
168
130
246
179
177
141
129
192
173
171
133
233
218
164
228
152
162
130
186
218
260
185
237
191
182
219
141
187
204
157
130
216
229
153
168
239
229
210
166
255
133
201
182
211
158
217
182
230
145
158
248
169
238
189
302
150
115
217
146
202
200
200
160
264
202
189
216
156
176
183
246
238
215
225
129
158
115
133
192
211
222
145
171
254
176
164
191
266
204
202
129
192
234
202
158
225
145
198
226
219
258
155
130
228
218
183
185
194
234
222
182
241
255
229
161
198
133
221
161
157
251
204
176
244
229
146
210
173
161
183
181
212
197
213
157
146
240
144
143
130
275
173
171
176
169
210
146
129
230
162
302
176
174
144
251
175
189
158
204
170
133
115
197
264
274
170
141
128
169
157
204
147
148
192
227
146
223
133
198
251
228
177
287
129
176
198
162
259
197
183
183
210
187
162
210
163
191
187
206
222
183
158
181
230
247
221
221
217
221
286
130
151
168
230
298
231
174
168
182
239
202
182
274
166
195
176
138
191
274
265
133
129
216
149
188
194
173
242
253
164
171
179
182
199
219
255
250
174
221
219
200
228
156
229
212
168
205
185
146
203
248
200
173
166
230
230
192
203
176
238
179
191
184
207
204
173
166
248
174
188
270
155
162
133
219
214
254
237
226
239
192
130
184
185
211
133
223
173
205
179
129
176
194
182
129
141
216
208
217
206
173
259
230
162
161
193
200
181
153
175
202
169
147
210
192
115
151
158
227
171
174
207
173
160
129
225
133
204
173
149
199
168
249
146
180
182
180
213
281
217
182
195
197
160
168
160
200
172
247
225
190
178
173
167
173
244
217
262
205
243
211
221
162
233
143
255
122
158
146
176
138
180
183
228
180
204
225
236
277
206
175
217
189
167
236
196
181
191
247
233
184
175
156
247
129
179
129
217
235
146
168
173
161
198
213
205
238
283
184
237
200
179
146
185
176
155
159
129
264
184
173
246
164
252
183
130
157
205
182
215
221
184
265
184
146
165
204
261
162
122
184
145
176
160
187
281
164
173
216
161
221
217
202
163
170
183
189
143
173
294
146
221
217
182
188
242
254
360
130
286
188
187
287
168
146
296
143
187
176
240
199
219
187
145
161
239
239
223
170
129
189
185
203
214
204
145
204
203
211
143
249
258
185
200
254
203
188
187
239
214
188
204
220
143
171
170
115
203
205
210
183
200
231
163
167
146
173
115
182
209
162
176
242
169
130
213
168
242
258
208
204
217
230
146
200
217
233
143
227
275
238
173
196
195
199
207
215
173
188
133
173
232
141
211
141
138
115
225
247
183
168
156
115
227
185
174
173
243
197
152
145
166
170
168
162
217
250
213
228
197
176
155
204
174
187
182
130
218
184
204
224
145
217
203
175
267
239
249
261
217
173
234
225
176
202
162
257
190
173
193
182
188
210
157
166
173
229
146
264
194
200
278
192
190
180
230
321
157
187
187
258
178
230
202
173
207
227
158
162
185
241
180
221
313
239
179
146
230
143
150
177
201
176
191
130
146
188
179
202
189
173
205
173
209
168
213
230
132
202
143
227
210
129
187
176
115
150
145
229
202
161
204
213
150
159
176
130
239
211
272
245
239
130
173
182
201
203
269
185
192
224
133
174
218
175
151
257
211
145
179
188
146
180
210
225
156
178
211
129
189
254
129
115
174
230
176
244
210
183
238
209
183
129
181
176
205
249
186
243
197
185
231
173
145
228
222
202
173
266
191
164
129
199
214
201
194
219
129
146
200
172
198
198
165
245
176
174
191
173
169
238
130
187
185
166
192
150
207
179
202
208
133
162
210
217
129
251
164
115
129
130
192
197
217
203
218
188
204
160
208
299
164
186
171
254
157
201
173
115
185
213
177
234
214
163
193
149
204
191
164
204
183
179
194
164
208
242
201
199
269
191
211
201
158
146
146
172
233
192
206
201
275
162
211
182
163
184
288
129
166
235
130
292
190
211
191
130
183
200
250
160
174
164
213
141
236
133
175
200
240
183
176
214
214
131
218
155
204
173
156
204
175
160
193
119
173
210
226
200
139
192
206
156
177
246
182
122
115
204
258
217
176
143
150
173
169
264
166
146
210
173
190
201
194
230
167
128
182
115
157
208
230
168
129
209
182
115
213
255
189
207
201
187
252
174
182
130
180
179
236
259
199
122
176
253
169
173
180
173
180
155
130
166
251
183
173
242
216
219
207
176
202
195
249
160
170
168
144
216
187
199
141
274
221
170
183
299
182
150
179
129
181
146
210
164
245
204
188
122
169
133
122
227
204
230
162
246
130
228
183
210
146
173
206
132
176
146
130
152
241
164
264
199
168
210
214
209
230
115
204
200
143
173
210
146
184
259
167
220
257
206
250
162
217
173
160
216
210
283
258
168
194
201
253
233
230
130
208
191
145
211
190
206
289
133
173
156
233
197
213
236
160
222
115
174
188
169
223
173
183
233
274
212
230
189
180
225
228
181
174
240
206
217
217
129
162
199
156
205
133
217
226
143
178
256
167
214
209
184
247
243
130
155
204
173
138
182
210
178
218
168
219
172
176
168
196
242
333
187
200
132
293
222
158
173
173
204
176
267
207
200
222
146
178
186
122
191
182
248
169
234
187
173
194
141
164
203
182
210
115
191
219
242
178
160
197
195
173
186
236
221
197
188
194
164
206
212
171
194
184
209
173
210
159
218
275
194
188
196
220
173
147
177
129
146
217
210
196
173
176
178
175
188
182
164
119
194
263
217
217
225
217
262
115
246
177
206
129
129
217
144
174
115
151
130
180
264
168
200
288
203
185
162
173
184
209
201
156
145
294
265
208
190
244
279
212
215
189
260
213
264
162
188
145
263
150
194
286
201
239
200
247
141
240
240
202
182
203
202
185
204
185
168
255
240
249
230
246
184
144
186
187
225
203
236
174
195
146
202
230
201
173
155
133
172
214
230
286
208
173
217
183
259
208
150
182
228
171
195
211
184
130
149
203
238
175
115
162
150
206
199
206
204
260
183
189
211
201
258
203
130
195
264
222
214
173
145
229
152
202
133
236
252
225
286
143
189
175
219
200
204
171
166
141
191
204
189
138
248
242
173
238
221
260
250
133
206
172
129
129
225
200
205
209
218
204
168
210
225
133
246
217
178
176
130
146
225
188
199
146
156
169
189
192
173
238
184
183
188
180
209
183
173
189
193
161
115
176
236
209
146
209
242
204
203
176
181
198
173
158
173
129
173
164
178
228
166
168
195
207
145
200
209
242
138
180
168
195
184
171
168
210
143
188
215
192
242
213
260
212
248
168
184
211
176
182
173
206
184
248
208
225
129
296
222
179
188
173
115
193
188
204
234
162
203
168
209
204
162
187
165
158
164
146
253
202
176
207
204
202
221
210
143
201
180
201
159
201
184
122
178
236
173
179
263
202
217
130
204
247
207
230
183
211
157
234
179
188
130
210
207
194
146
264
160
115
206
201
146
200
204
129
239
143
171
230
234
204
195
204
129
222
176
178
160
178
162
284
133
158
225
130
231
225
182
206
206
229
263
200
209
236
141
218
192
168
214
199
149
152
146
278
183
195
169
194
179
173
206
184
217
192
173
217
153
217
164
225
191
170
178
191
210
204
167
218
238
203
200
170
210
119
186
130
205
115
174
221
158
169
218
204
217
178
184
208
201
133
240
204
168
199
201
173
174
213
173
140
176
175
130
146
198
376
229
237
262
217
217
206
167
206
149
186
189
209
156
185
155
190
258
202
210
173
146
176
149
230
166
164
229
181
230
178
158
203
219
191
230
155
146
198
145
278
176
215
241
176
200
129
176
145
174
188
198
182
133
130
146
146
187
211
266
133
164
129
174
173
202
181
244
201
258
224
251
169
199
151
267
221
162
262
162
227
226
246
274
235
191
200
190
247
203
178
168
219
224
320
200
179
251
173
207
170
210
182
204
146
191
129
255
155
176
158
210
166
206
204
198
297
204
159
176
158
209
193
258
156
174
194
164
138
206
115
247
237
143
216
203
155
204
173
205
228
187
200
259
157
146
210
230
176
210
259
141
217
146
206
146
221
303
176
164
168
220
200
160
178
224
130
162
212
215
183
246
190
201
346
261
115
146
200
119
179
168
146
246
217
202
146
238
186
192
141
197
240
236
221
201
156
227
200
230
216
226
179
170
170
247
224
229
210
171
225
146
193
185
188
201
186
218
232
146
172
202
132
182
173
214
217
199
149
174
216
220
162
195
233
225
215
185
208
122
186
218
169
222
219
141
176
151
210
202
163
144
176
236
181
235
198
208
146
246
192
129
230
185
182
176
229
218
228
129
247
264
176
173
130
130
166
155
200
115
204
143
133
200
184
133
211
189
222
172
263
143
160
229
215
129
211
209
247
256
188
146
186
236
238
202
179
240
179
221
230
159
242
231
179
277
203
183
225
131
200
195
166
129
247
221
146
145
230
214
130
198
227
129
158
205
168
146
197
130
239
231
183
242
238
170
130
160
227
302
240
181
204
227
285
164
217
130
247
143
214
235
204
300
119
162
207
182
230
173
196
167
129
129
182
202
146
236
149
200
217
156
172
184
223
206
129
189
215
230
171
191
193
208
179
258
202
202
211
173
165
166
251
179
168
155
185
166
172
225
138
201
231
146
173
176
168
211
204
275
208
176
168
243
115
194
174
244
191
228
133
232
236
161
184
209
207
224
236
158
297
239
174
169
178
209
133
221
226
145
200
150
146
189
187
173
218
168
176
230
164
166
151
186
202
194
202
171
210
130
180
141
144
238
244
174
146
256
182
231
265
226
150
164
218
133
202
213
168
211
242
146
204
203
192
164
205
210
267
209
150
247
246
182
207
162
130
167
253
129
215
255
129
211
197
146
176
174
227
168
201
214
168
214
184
175
176
174
202
189
184
168
191
122
152
245
115
217
191
239
211
178
211
227
130
183
129
161
163
185
179
162
204
200
216
119
236
211
150
198
151
143
130
195
259
164
133
184
166
138
175
207
145
247
174
172
146
129
146
130
258
186
196
218
146
173
200
246
244
146
168
216
190
222
162
189
155
130
163
276
143
181
245
197
176
147
146
122
190
247
230
170
197
230
172
168
183
144
171
146
255
214
189
204
191
168
200
191
130
204
228
173
238
138
130
213
141
191
178
129
173
177
203
129
164
205
151
164
173
224
203
238
144
178
211
212
189
198
179
204
173
182
173
216
183
184
162
211
215
201
191
170
171
133
283
203
248
183
178
211
271
274
129
204
203
166
184
178
204
162
202
202
182
232
158
213
184
129
128
214
173
238
197
182
156
188
165
143
146
162
222
246
194
200
249
173
222
176
179
190
130
272
251
271
239
152
174
178
250
164
146
207
219
143
130
129
204
141
239
130
146
188
162
173
237
168
222
143
259
190
156
243
214
186
156
152
210
253
189
160
300
216
239
204
130
174
204
164
185
173
195
129
156
133
230
210
201
183
176
145
186
179
146
214
156
282
225
180
174
163
176
130
150
202
215
210
191
209
129
204
218
185
153
189
161
215
195
270
210
184
244
300
242
210
143
210
141
202
264
198
130
187
226
206
170
211
180
204
176
192
184
130
260
115
190
129
163
146
204
230
214
263
222
211
171
182
228
195
206
183
230
183
129
211
162
143
191
129
211
258
187
202
228
212
179
146
190
222
182
173
182
168
245
272
178
146
208
187
130
261
169
195
210
230
159
204
228
182
146
169
185
203
234
145
183
166
122
211
277
285
192
192
201
199
168
227
188
143
150
179
192
183
238
153
149
214
236
274
173
229
200
176
237
132
192
156
164
205
190
141
254
158
185
168
133
151
177
255
160
225
202
193
156
188
158
183
203
206
191
176
180
155
191
211
184
122
143
209
224
130
161
224
206
152
196
168
162
146
133
138
204
239
138
168
162
203
251
184
297
175
191
189
223
145
230
191
262
201
184
184
249
217
211
200
168
191
210
242
187
184
217
130
224
174
231
192
115
146
195
251
160
157
265
177
176
158
230
143
225
248
129
146
190
141
141
173
189
221
261
194
192
146
214
218
169
143
187
219
141
157
168
179
227
209
316
257
230
214
130
207
320
143
193
146
158
282
191
181
246
244
189
129
177
199
200
130
169
179
236
180
215
186
217
190
246
129
115
130
129
161
186
178
151
221
211
160
162
210
193
252
133
145
155
214
241
141
187
164
226
115
146
199
160
179
184
189
129
130
171
161
152
210
193
188
215
190
208
145
130
204
195
200
146
141
280
184
195
206
168
162
149
240
171
194
158
207
173
204
146
133
174
206
176
166
243
238
214
228
164
222
168
161
244
204
212
267
182
226
217
185
143
250
194
173
202
228
212
122
156
342
208
300
174
194
176
191
160
182
253
180
145
130
245
186
229
146
199
180
206
194
194
219
171
202
246
167
129
199
230
209
176
184
219
199
229
195
256
173
173
184
223
233
221
224
206
197
138
185
206
271
218
160
208
201
230
145
210
199
227
143
244
200
212
239
189
133
316
254
212
183
260
250
213
238
180
214
146
183
129
244
182
259
145
187
231
168
180
173
162
173
195
171
214
161
185
218
188
206
171
184
210
230
258
137
203
181
166
223
169
217
247
129
133
273
201
200
162
143
230
256
204
198
130
195
248
183
143
264
132
157
227
190
313
241
213
188
255
130
189
152
199
217
247
168
163
157
145
201
155
216
155
208
183
181
193
144
203
198
162
159
164
130
256
144
214
213
129
191
239
145
211
130
211
129
334
129
183
195
205
176
196
200
196
241
258
255
216
129
184
129
178
249
184
184
143
217
204
155
207
225
176
164
200
185
130
182
200
227
221
166
173
173
156
130
186
163
173
210
182
161
172
176
230
145
157
250
189
204
244
179
202
128
230
191
174
265
192
130
162
163
256
179
211
128
173
214
193
172
195
183
197
146
231
178
217
178
308
246
181
202
176
211
283
234
173
194
130
203
164
129
188
133
190
236
132
129
193
199
188
175
122
194
183
162
169
226
185
204
190
203
210
180
217
200
265
224
239
166
173
179
208
173
216
203
218
143
178
217
158
217
169
217
192
263
145
166
150
158
115
252
217
184
173
151
236
245
173
173
183
233
226
222
261
293
215
217
194
214
193
203
173
181
206
179
115
262
218
174
198
162
129
168
202
209
146
217
211
239
210
192
264
171
189
210
190
186
214
188
201
184
243
162
156
172
149
193
211
181
160
211
198
255
183
188
133
204
211
146
173
178
164
185
200
164
200
224
175
210
133
185
162
240
179
122
138
169
175
145
146
272
207
190
184
238
165
245
229
178
222
148
225
208
130
222
258
173
278
249
172
174
158
176
173
133
204
173
202
225
210
115
249
172
129
247
176
237
246
189
149
133
204
157
191
236
182
143
285
182
184
185
233
227
216
145
223
206
211
162
214
189
201
122
215
335
158
296
183
188
192
158
227
141
178
242
138
149
141
239
202
129
217
191
186
248
230
129
218
191
264
133
255
168
181
179
173
224
180
211
234
175
183
164
206
235
158
246
115
229
228
260
133
204
215
170
244
133
172
162
201
231
229
158
146
222
201
209
179
180
190
200
183
186
190
233
250
183
221
146
130
224
130
168
176
256
183
246
158
219
168
221
242
189
179
164
164
227
130
169
183
191
166
198
188
176
216
222
261
202
189
202
182
201
184
162
158
145
246
229
252
201
179
268
173
151
206
152
200
200
211
211
130
188
172
129
194
202
173
150
183
149
247
165
184
235
231
255
217
210
190
195
160
261
206
247
183
193
173
217
281
149
236
216
239
146
205
216
216
160
169
207
176
211
278
141
173
189
168
146
167
287
202
210
146
129
166
130
228
173
129
178
242
184
201
176
143
197
250
216
264
236
122
155
217
225
191
288
177
183
141
289
223
183
152
249
115
150
141
164
235
161
162
204
206
176
184
146
224
174
197
215
219
130
236
222
169
195
129
186
245
173
211
192
211
204
201
170
150
219
236
204
187
211
207
155
206
217
195
184
256
146
176
238
176
261
190
236
267
130
169
188
242
182
196
176
130
216
263
209
185
132
179
130
173
254
213
157
225
167
201
173
200
178
206
157
197
217
210
130
164
161
194
138
246
181
150
133
176
214
193
214
156
224
216
173
156
186
279
239
171
176
178
238
210
203
200
191
144
197
204
169
233
157
146
296
181
168
122
179
202
183
162
214
173
229
162
172
162
200
143
165
187
168
172
178
170
130
243
133
246
183
184
178
311
186
201
164
224
146
155
259
236
169
184
160
200
210
173
230
236
129
176
172
197
150
204
253
227
233
238
209
164
248
191
203
275
162
217
233
179
172
138
211
138
172
283
236
204
153
181
178
173
217
215
204
115
133
295
151
143
162
168
206
169
205
173
211
234
179
189
175
173
127
200
178
207
133
184
224
197
173
229
176
225
210
200
230
210
162
173
143
226
214
143
216
254
193
179
225
176
166
236
115
176
191
192
218
226
168
208
129
227
156
244
195
210
232
230
141
180
201
204
176
217
227
150
242
238
146
213
256
209
201
195
202
129
184
173
203
168
129
258
179
129
203
171
246
212
256
182
181
180
162
153
247
248
176
229
197
215
191
250
145
183
214
195
179
193
169
199
150
227
196
268
162
146
186
258
240
265
150
173
201
183
202
307
161
211
130
130
172
212
157
211
206
156
193
173
194
279
209
284
219
145
206
227
189
146
162
146
206
211
122
146
169
191
191
184
173
158
129
245
204
211
154
153
204
169
209
176
256
201
300
212
224
237
200
202
225
133
224
201
153
210
143
195
182
209
201
204
179
217
199
164
273
244
185
155
232
220
270
166
168
192
256
270
236
237
280
199
230
230
166
164
157
176
179
152
202
191
130
204
168
169
129
158
182
242
194
173
151
176
197
181
248
161
130
198
176
222
173
241
130
251
205
179
216
236
173
195
247
221
228
149
188
130
212
252
246
208
194
230
182
152
174
176
281
166
204
176
216
279
263
129
181
146
132
254
169
217
195
179
210
181
173
222
184
151
251
236
200
210
194
208
240
144
170
176
214
202
206
180
231
230
176
173
248
130
192
161
164
191
229
214
204
295
176
176
184
214
162
129
197
185
146
205
130
252
129
145
185
202
183
188
122
211
208
202
225
146
227
130
186
146
182
238
157
261
164
174
181
153
146
238
189
210
275
178
252
203
209
242
209
182
185
182
164
162
204
155
238
176
203
160
210
204
150
179
230
129
130
228
203
133
271
252
234
236
181
242
256
202
130
193
204
150
199
249
217
214
225
247
181
186
168
151
186
146
115
198
145
133
183
208
209
249
162
165
171
168
182
173
235
179
162
179
201
236
152
168
183
252
180
199
170
156
274
179
178
187
222
152
216
238
157
173
209
176
210
231
217
256
180
138
202
191
158
181
130
236
158
188
198
169
176
146
164
143
179
254
215
238
204
146
128
227
161
185
160
158
161
129
214
115
201
223
214
204
180
189
195
192
187
176
187
189
212
184
146
211
164
129
182
204
184
143
130
145
230
176
129
231
217
206
211
157
146
247
200
171
191
204
303
300
238
183
133
204
204
173
214
182
192
206
129
133
171
178
208
174
168
204
171
119
122
234
138
214
217
189
172
130
203
201
256
230
155
226
217
250
195
259
202
164
183
164
176
210
297
163
150
190
146
143
238
210
188
173
144
174
176
130
145
176
138
199
153
259
268
176
230
217
143
201
168
133
150
130
173
146
292
195
192
129
151
236
175
225
220
147
223
130
177
173
220
155
221
258
168
210
217
179
176
176
181
210
210
164
160
119
200
119
211
220
176
169
180
200
170
182
225
194
153
164
130
162
153
122
217
144
157
218
143
185
129
256
183
200
175
158
157
183
252
176
235
199
145
203
130
214
205
169
145
212
260
217
222
172
240
181
133
192
243
212
249
133
148
204
188
226
178
356
176
214
194
212
212
127
179
217
236
161
206
180
175
158
145
180
204
211
246
227
271
130
146
171
146
133
198
178
155
179
231
225
145
194
195
130
202
207
173
242
231
145
224
180
222
174
183
167
231
261
207
203
176
144
132
247
210
129
206
158
172
256
146
219
210
180
119
210
200
155
267
246
230
184
192
234
230
254
201
197
181
129
160
202
179
184
202
147
173
130
225
269
206
173
129
166
177
146
215
323
186
185
284
270
165
238
206
218
254
248
149
176
183
174
223
202
173
238
186
133
170
258
190
191
208
204
203
174
207
162
173
151
149
133
150
287
129
168
184
170
289
172
228
201
196
164
141
204
146
211
217
150
151
255
236
259
143
216
173
206
115
209
259
300
192
204
225
145
226
221
244
271
162
190
187
188
204
155
145
190
188
190
206
185
184
199
217
115
146
178
174
177
162
217
173
183
188
167
173
190
216
143
184
178
185
230
228
176
224
184
200
208
227
193
228
174
185
203
233
211
173
227
194
230
155
206
204
185
155
189
184
169
167
209
224
173
206
238
143
133
178
141
203
130
206
173
181
265
176
214
196
217
232
248
204
143
130
181
180
131
225
129
210
199
226
202
176
191
204
335
178
176
145
145
222
158
191
201
174
299
168
202
175
239
177
162
191
250
164
146
173
206
145
173
178
164
145
162
230
143
173
235
239
157
199
158
156
223
172
230
185
147
195
115
178
188
213
164
178
217
192
184
159
168
255
252
158
164
191
149
133
215
180
246
228
145
203
169
193
203
129
162
230
246
221
243
218
191
239
156
146
240
146
184
226
200
179
226
179
191
211
168
130
221
201
230
156
170
210
145
210
195
182
204
179
251
227
205
217
239
212
173
158
167
218
185
207
191
176
175
229
149
133
252
222
190
182
129
229
150
176
206
115
217
202
193
212
248
184
210
218
158
247
228
182
247
266
143
231
207
335
229
204
173
168
184
203
141
208
173
211
160
217
170
231
133
204
205
256
180
164
227
217
137
242
188
171
200
146
164
200
251
157
170
195
133
128
162
160
225
164
175
239
176
160
179
241
194
239
179
263
152
146
208
176
173
225
208
180
214
200
225
194
210
194
264
244
217
201
192
168
193
133
152
179
225
201
243
224
230
133
191
217
221
256
191
234
214
204
159
146
146
212
184
245
176
182
200
257
146
176
141
184
176
160
206
210
245
167
145
160
141
204
133
152
129
264
156
187
194
184
221
202
184
201
158
207
182
205
150
236
164
211
313
309
199
180
199
173
222
206
197
180
178
193
207
176
147
287
146
130
238
143
204
174
259
213
161
218
203
222
133
182
251
176
180
145
198
184
133
182
204
130
256
236
183
158
130
225
206
162
145
176
178
146
164
145
115
183
217
216
181
194
202
187
234
171
176
141
115
152
214
147
210
146
263
194
179
158
210
180
209
199
170
180
179
263
260
176
158
145
204
262
238
173
215
186
208
210
218
245
190
200
145
210
181
174
146
170
176
217
157
242
217
205
155
235
162
129
288
200
145
179
220
165
164
240
204
182
115
180
202
242
245
173
129
240
157
207
202
133
180
133
257
204
176
176
172
189
190
145
146
218
168
181
254
221
203
264
155
146
168
206
174
167
173
174
180
176
201
130
349
194
189
161
210
129
200
181
182
222
133
282
241
214
150
217
253
181
173
186
322
143
303
258
261
186
211
210
221
149
258
230
179
241
162
185
221
185
270
236
265
204
176
204
168
183
287
246
129
203
245
207
219
222
130
173
199
206
222
158
250
168
199
239
161
172
210
129
188
211
283
193
201
176
204
162
175
236
154
216
204
158
210
202
173
130
201
168
173
183
209
164
217
150
130
149
228
173
115
176
178
186
210
228
237
179
231
224
335
210
217
164
210
129
173
202
182
214
200
173
239
194
162
133
154
205
210
210
167
210
176
263
166
179
149
210
263
216
153
208
168
138
190
245
166
214
241
207
239
236
201
214
204
250
184
173
130
239
169
187
231
222
236
133
172
146
184
177
261
202
183
224
167
192
130
164
179
182
321
176
144
178
226
264
246
180
174
225
169
210
200
257
202
163
217
228
187
297
201
202
166
239
133
184
155
184
187
173
150
217
146
259
164
218
221
288
185
173
176
191
217
173
201
129
217
181
254
146
162
217
129
145
230
160
145
183
179
287
130
122
156
200
210
226
146
184
195
202
170
236
200
195
167
233
179
253
228
130
165
235
205
187
180
130
186
184
168
165
244
212
178
155
188
258
227
145
209
133
129
164
181
129
176
173
213
169
214
208
155
145
216
173
171
160
168
173
303
204
178
151
226
284
187
174
178
217
226
203
130
167
239
115
180
215
212
184
254
176
204
202
205
233
133
178
225
206
200
238
153
155
173
204
335
183
210
202
177
272
157
188
185
173
211
254
209
246
180
231
115
183
173
216
205
130
202
130
173
167
298
187
173
217
243
157
129
150
146
179
178
180
174
254
130
179
177
129
211
232
250
219
228
213
198
230
209
200
143
174
158
143
133
182
252
238
173
194
130
181
176
266
188
238
183
210
176
157
209
129
161
129
217
206
212
162
210
175
188
183
252
146
197
249
168
179
201
230
143
254
191
151
202
174
187
217
235
236
239
180
231
176
146
230
183
219
183
261
173
183
182
251
169
204
202
158
150
196
164
194
182
215
202
204
149
217
171
145
217
189
186
176
228
239
174
179
130
164
153
189
156
184
229
258
202
180
180
224
130
239
210
238
184
210
160
199
274
182
194
209
146
185
173
133
202
176
200
210
236
217
122
193
169
155
199
255
192
146
214
156
178
212
225
158
182
220
202
186
150
168
226
156
187
210
210
130
131
167
184
227
162
230
203
229
191
183
236
162
168
228
250
119
216
147
164
133
181
204
261
284
185
250
227
184
224
281
226
182
129
146
191
188
247
238
155
238
258
236
158
162
181
204
141
239
159
201
212
237
207
122
171
192
145
146
194
129
201
228
335
158
178
230
146
133
222
129
130
178
115
168
155
211
161
200
164
210
144
170
221
191
202
299
178
272
190
205
261
206
227
205
161
207
147
178
263
169
187
152
176
178
245
282
184
175
233
115
227
143
185
138
183
200
211
217
158
176
176
171
156
168
146
128
146
145
202
146
162
115
236
179
201
176
248
168
146
181
204
256
202
168
229
191
210
238
171
178
130
196
261
149
166
272
133
230
192
226
229
158
210
280
201
233
122
158
272
162
169
170
174
178
130
175
119
130
151
224
159
204
226
162
227
133
150
239
291
134
269
146
182
158
235
129
214
146
156
201
204
155
179
234
179
191
227
149
182
128
173
161
179
143
168
203
242
177
194
183
229
195
180
210
223
179
243
256
283
191
227
149
216
201
236
146
188
168
176
246
193
168
197
182
215
214
207
240
181
226
191
190
302
168
217
200
202
222
146
133
264
230
179
201
227
246
146
213
181
214
182
217
201
251
184
173
129
176
195
133
231
180
204
225
146
201
129
175
176
156
185
188
184
130
226
168
185
224
188
230
246
269
204
223
180
200
208
159
176
200
190
156
145
169
145
230
185
130
265
175
168
130
174
152
183
178
172
182
198
173
155
164
152
155
210
216
234
129
200
158
167
146
146
173
205
329
198
204
171
204
249
194
201
192
179
176
150
271
163
255
219
180
173
176
130
223
188
204
158
179
164
145
174
274
195
222
206
227
178
225
191
185
267
185
146
198
207
176
182
183
246
171
202
141
182
138
208
205
199
173
183
163
182
189
195
226
167
165
209
237
203
210
177
185
173
255
133
195
260
256
145
228
211
146
183
155
192
247
202
211
173
150
236
245
217
233
159
209
211
187
194
176
215
180
179
322
197
223
210
236
179
187
249
130
243
210
176
187
242
232
179
206
182
175
158
171
170
179
193
141
288
183
194
231
223
174
184
166
240
216
182
202
221
217
173
175
222
217
178
180
156
176
221
122
235
160
129
167
201
227
256
176
143
200
133
188
217
185
215
214
292
146
185
205
179
210
206
238
176
170
211
133
180
167
133
141
182
129
129
174
211
236
200
197
201
217
173
206
206
184
141
200
198
271
233
182
240
182
176
231
164
146
232
218
221
216
194
196
250
247
128
214
183
253
185
159
169
228
155
200
153
150
180
227
201
254
176
195
143
222
133
173
335
146
119
242
176
180
244
285
233
214
138
143
214
250
182
206
184
162
187
129
179
115
169
129
191
181
208
186
232
240
219
156
238
217
208
214
130
164
184
243
179
184
176
168
129
217
172
174
211
195
252
146
176
181
222
144
175
150
145
184
184
226
236
222
179
261
181
214
152
194
193
185
244
192
258
211
173
162
260
233
216
303
185
230
211
262
192
238
150
250
188
130
151
191
235
129
226
164
217
175
158
192
189
130
232
132
152
218
131
141
230
180
191
230
192
260
164
156
129
143
248
138
198
211
130
261
193
182
161
174
211
152
129
161
287
206
180
168
133
200
141
168
158
158
238
150
158
244
206
202
248
289
256
145
129
168
236
199
210
186
181
203
179
201
133
171
169
190
173
184
200
149
233
267
219
229
241
221
115
178
146
229
190
184
130
214
243
115
155
166
221
182
133
173
170
224
214
178
133
158
234
175
129
191
209
183
164
217
146
187
173
217
200
184
158
161
162
173
122
165
199
145
222
185
201
222
141
150
173
201
173
203
210
173
176
202
129
236
209
195
228
205
129
173
189
187
289
182
130
202
181
169
240
179
195
184
129
167
190
145
168
147
178
254
130
174
141
235
202
194
181
261
210
241
168
200
168
172
208
165
173
155
204
240
177
221
213
176
182
162
217
183
173
182
238
190
202
202
182
173
241
182
194
159
172
242
173
242
235
222
168
168
209
130
200
183
219
183
164
223
176
204
163
190
224
182
174
146
182
300
225
194
217
203
207
168
274
226
164
129
168
184
179
162
219
238
143
211
227
192
119
184
162
211
273
198
211
240
176
164
201
210
279
146
179
195
219
206
221
173
190
222
183
185
239
173
210
267
236
150
138
178
195
245
208
179
179
149
176
190
179
247
189
255
195
167
149
259
256
178
201
266
251
217
222
138
173
237
197
190
184
159
145
146
158
285
184
164
179
193
198
153
236
129
196
248
193
173
153
203
164
287
130
182
191
167
255
176
187
181
217
216
261
225
169
174
201
217
221
209
238
262
155
185
174
176
176
173
146
155
187
168
311
204
187
198
184
191
133
217
188
178
173
188
161
130
181
264
156
180
239
205
215
228
254
186
166
190
179
174
180
176
204
173
132
262
181
176
200
149
204
183
233
225
264
194
243
227
128
176
197
200
161
180
173
133
261
193
185
138
176
130
217
160
186
146
225
189
168
230
138
217
168
201
277
206
128
229
215
219
184
130
197
210
141
146
217
149
241
195
185
141
143
207
191
194
210
278
178
217
206
199
141
213
146
210
158
187
201
183
143
202
180
173
204
153
203
146
172
171
202
256
219
143
129
157
168
286
215
130
196
200
204
215
179
257
168
274
200
130
246
217
238
130
145
170
149
245
229
168
201
224
193
187
201
183
185
227
234
225
188
155
133
157
202
165
115
204
206
201
155
130
203
235
152
145
168
158
242
201
251
296
217
206
176
223
205
182
197
183
186
205
223
178
184
174
211
161
173
207
211
162
195
192
191
212
239
307
193
146
254
239
129
232
229
238
271
173
182
182
119
158
200
192
180
173
167
237
195
210
190
190
211
161
267
242
158
171
214
146
146
231
202
176
227
195
278
145
184
211
142
183
175
209
190
217
115
192
130
157
215
138
210
145
200
205
237
183
217
230
200
216
284
115
204
204
267
232
138
129
243
162
182
225
267
164
227
230
263
159
158
258
158
180
173
133
196
185
129
194
216
176
164
235
183
158
141
211
138
173
238
219
211
167
115
211
226
300
252
190
162
162
183
152
156
129
252
229
238
115
146
204
143
263
146
129
246
158
172
221
217
211
173
199
130
129
180
182
238
214
236
186
171
130
230
263
299
210
242
276
236
207
115
164
234
201
183
169
164
130
179
224
208
173
190
137
308
231
259
265
191
200
178
170
236
215
189
175
193
199
176
141
220
133
242
204
151
199
176
144
210
230
162
239
180
169
233
183
159
259
277
204
216
217
179
292
184
214
212
175
173
253
179
186
197
240
217
188
335
165
228
225
129
161
194
130
146
242
160
130
264
176
138
283
198
174
201
204
201
173
236
203
215
233
226
129
238
218
130
176
164
179
222
206
159
191
202
195
168
230
130
211
146
235
235
237
272
194
146
138
191
122
247
230
188
230
190
234
203
251
241
192
168
232
175
251
254
218
192
294
146
191
202
236
174
182
190
210
164
149
129
236
178
184
171
166
199
210
184
185
202
225
159
158
195
149
202
226
204
183
144
146
146
149
133
160
255
158
169
130
179
177
184
176
228
194
287
173
178
183
198
246
206
231
164
225
202
236
187
188
173
162
151
146
263
230
129
204
122
146
188
172
198
143
249
240
210
202
162
173
196
166
200
166
164
122
201
274
151
203
183
187
253
199
166
333
133
228
183
146
158
218
155
146
211
204
248
190
164
158
174
180
206
182
193
258
216
180
172
179
141
251
194
209
217
173
217
170
168
222
183
217
222
254
210
164
164
152
164
204
182
166
184
211
205
206
168
185
210
204
147
183
256
202
182
216
204
230
236
129
195
130
146
162
193
166
162
204
227
159
155
173
195
146
185
201
210
198
210
130
153
194
176
249
230
257
155
238
129
218
156
201
129
199
164
218
146
129
173
228
255
177
211
231
208
180
230
141
176
268
157
236
203
162
179
184
292
173
158
188
129
238
204
201
204
216
239
164
175
155
200
146
203
232
130
173
287
165
130
190
168
182
156
146
150
184
219
204
247
245
272
194
146
210
186
200
213
236
157
183
192
195
195
183
209
187
209
208
192
183
133
217
210
200
234
227
160
164
150
242
243
212
210
174
146
204
234
264
130
192
222
171
159
159
201
204
278
235
236
192
213
129
146
176
173
243
201
229
157
257
222
182
192
212
162
237
186
180
151
131
231
206
205
162
245
287
184
146
122
155
197
211
230
200
190
184
184
188
173
171
208
236
176
181
210
217
227
189
132
179
217
160
128
184
183
206
228
198
191
129
173
115
185
294
214
185
167
211
195
151
195
195
178
184
158
223
146
226
222
129
144
129
184
188
201
180
238
173
194
169
254
216
263
184
162
145
158
181
176
217
204
210
210
174
191
210
178
173
216
173
211
150
192
208
192
173
186
229
143
222
179
232
143
179
129
186
156
176
130
245
138
147
168
181
201
317
204
210
184
145
238
169
204
119
183
211
159
129
275
185
204
162
236
228
150
191
220
212
263
200
198
173
205
211
161
219
197
156
171
130
230
204
204
133
195
155
183
239
197
162
173
207
147
191
146
210
163
176
176
193
181
222
227
281
214
210
130
223
115
158
198
171
176
129
211
143
237
180
173
197
218
236
156
153
130
207
228
210
223
181
210
173
219
168
204
230
195
210
184
187
129
184
176
162
141
168
160
190
230
178
167
180
228
172
250
179
242
254
176
234
168
204
236
187
151
211
211
247
177
183
227
157
261
178
132
242
209
215
130
216
335
181
335
188
146
162
176
219
182
185
208
217
211
173
197
194
179
296
133
210
170
183
219
226
174
236
233
210
217
227
236
238
209
248
173
251
204
231
233
140
171
225
180
180
263
259
190
258
254
191
202
176
133
172
115
146
210
130
130
202
173
185
181
159
162
207
218
174
115
204
138
174
230
166
195
289
270
183
209
248
238
196
211
170
260
189
194
167
243
193
254
143
173
202
318
195
173
205
215
184
202
186
191
158
251
281
170
176
236
270
145
250
218
185
214
155
153
192
236
149
210
178
241
185
180
173
168
247
233
173
211
275
162
201
239
176
279
143
179
217
230
191
173
219
238
192
133
228
133
146
327
191
264
171
190
201
205
230
264
241
231
182
271
145
240
191
246
188
129
241
133
185
158
155
182
231
178
256
180
168
248
217
182
168
176
200
176
131
201
183
214
214
195
129
115
179
208
212
194
181
182
160
172
164
201
149
173
146
210
178
169
208
256
207
211
181
185
215
173
239
129
168
243
152
168
258
189
188
221
158
267
182
177
146
168
205
210
234
180
127
173
232
164
130
141
133
179
227
146
162
217
218
201
210
215
146
159
231
252
200
244
209
225
161
156
201
246
244
168
130
192
235
213
253
211
205
185
129
146
170
197
168
211
115
169
206
182
236
152
139
201
225
115
217
130
149
180
210
146
145
179
208
173
255
244
288
201
170
138
184
182
146
217
138
211
178
224
162
230
219
173
129
188
157
222
164
160
210
221
260
115
129
173
211
207
217
201
246
176
167
210
133
217
172
164
161
115
147
149
186
187
197
201
217
181
279
203
172
191
254
284
225
159
280
217
164
168
132
176
146
180
224
187
188
217
258
179
195
145
211
152
201
247
192
143
146
250
160
255
244
251
206
163
240
168
129
217
115
129
199
143
179
253
185
157
166
193
217
168
200
210
191
184
146
237
215
158
211
150
141
176
184
202
130
180
216
129
264
236
183
173
144
183
165
186
130
264
224
138
214
217
232
217
217
225
195
128
169
212
238
168
194
230
195
239
158
141
184
225
151
200
194
225
212
210
168
115
211
129
194
138
218
191
228
143
201
173
208
183
188
236
205
224
200
158
217
158
203
229
236
162
223
235
193
133
186
129
130
231
211
167
198
174
191
180
171
236
184
129
230
175
210
194
221
185
192
161
162
295
155
208
249
168
130
179
263
180
204
265
166
206
186
180
179
211
129
182
173
201
164
206
150
141
226
222
150
204
242
194
236
179
144
164
151
217
188
211
155
145
173
173
173
179
130
204
130
204
206
220
170
129
228
184
182
211
261
204
211
199
236
202
258
194
182
201
223
229
183
265
129
206
130
146
210
200
189
197
259
145
191
138
157
194
184
141
160
256
145
226
200
129
128
133
173
228
130
176
227
146
240
189
189
222
201
230
240
210
232
184
188
218
189
178
168
192
194
285
198
206
210
176
128
186
176
233
145
158
249
146
211
184
204
207
183
206
269
143
204
168
173
179
236
184
228
204
221
180
205
130
166
129
238
202
146
179
192
183
158
181
235
152
205
176
129
178
210
211
180
221
169
252
179
168
183
176
209
146
150
226
191
180
233
216
129
150
151
230
239
259
133
149
162
129
143
261
171
166
259
156
133
221
150
164
256
197
186
146
145
172
146
196
225
215
138
185
166
160
173
225
263
168
183
176
248
203
203
195
236
115
188
208
155
202
146
173
258
185
291
183
146
219
206
204
218
197
129
140
240
133
168
162
232
164
217
204
168
204
222
249
200
173
147
194
225
254
192
282
146
195
217
184
129
221
202
179
192
222
278
188
176
165
167
129
203
149
211
182
261
233
177
244
197
239
212
208
143
211
169
207
194
200
200
194
248
234
218
189
182
225
184
196
211
202
178
201
176
130
231
265
244
184
218
185
162
176
181
171
247
146
184
162
240
230
203
180
217
150
171
141
228
174
178
161
230
263
145
222
200
226
239
251
218
160
194
236
183
171
132
150
179
184
193
229
227
283
155
169
242
184
244
221
155
173
190
179
146
184
240
247
200
146
177
182
222
143
202
165
212
183
192
239
242
198
173
164
239
176
129
191
213
250
206
176
204
252
129
194
223
190
162
162
200
242
189
179
166
238
179
234
156
274
158
211
299
209
203
192
167
195
129
203
171
194
231
279
173
242
186
184
204
138
230
223
201
204
231
146
129
186
248
187
197
185
266
133
179
185
239
173
223
222
182
146
161
217
200
221
141
184
115
169
206
146
184
145
182
129
182
210
200
204
180
204
214
191
288
129
130
213
115
246
166
226
130
225
190
155
179
264
188
215
236
191
184
138
129
207
115
264
226
165
160
176
143
210
205
189
183
158
228
129
170
201
194
128
164
217
279
201
190
239
169
132
201
191
187
228
208
141
150
172
259
201
204
238
156
184
193
152
213
235
211
213
183
149
129
176
256
176
122
208
256
299
167
206
249
146
203
236
171
176
263
227
146
216
146
239
175
143
209
171
262
203
195
143
145
185
173
226
144
250
201
180
170
219
182
173
246
119
162
193
221
238
210
210
129
206
152
183
191
201
152
173
204
209
173
150
129
191
173
188
234
212
236
146
130
166
201
180
179
249
143
179
160
210
213
231
179
145
258
191
199
237
335
204
220
212
141
206
221
128
160
221
157
182
207
144
115
168
238
177
162
212
202
201
146
172
228
173
238
218
193
146
201
130
166
230
115
209
129
185
150
179
145
265
244
231
204
162
151
156
145
201
189
132
129
167
200
177
190
155
217
130
230
129
250
236
202
129
210
195
144
191
176
233
197
115
200
253
280
222
286
133
183
162
236
146
235
197
182
164
198
182
146
248
236
195
173
129
160
173
204
129
212
204
171
209
133
173
186
256
283
130
130
145
216
183
227
164
168
169
188
146
195
200
194
181
255
238
191
222
179
264
129
211
205
130
130
263
169
187
186
129
184
204
179
144
130
189
220
145
129
200
230
151
168
241
213
209
211
197
188
175
228
204
231
198
176
184
163
182
130
162
129
206
179
253
176
172
179
171
217
221
206
179
231
267
143
210
236
189
184
168
208
179
225
189
208
183
172
122
149
278
129
242
210
179
200
168
210
204
263
183
176
170
217
129
193
176
253
160
191
176
215
158
164
145
238
130
207
181
143
141
153
273
217
168
217
176
204
188
210
180
182
157
146
208
307
143
207
183
177
158
181
192
122
141
208
229
223
202
204
210
226
180
211
187
146
159
176
173
256
174
204
210
151
227
143
206
191
133
133
299
183
214
170
170
204
192
146
227
193
221
158
184
184
251
204
156
147
209
283
173
183
200
212
215
234
193
204
210
162
215
198
206
198
227
217
192
215
180
129
191
238
204
167
173
178
144
173
132
173
253
138
231
266
225
205
173
130
203
138
201
178
201
254
130
209
176
179
146
217
201
169
225
188
173
178
210
232
183
219
115
158
129
146
129
169
122
229
182
167
264
220
197
205
181
143
256
222
183
133
229
188
195
157
178
176
194
173
168
229
232
199
175
208
115
176
145
184
169
182
225
254
205
178
206
141
195
264
184
218
206
176
227
149
191
231
173
122
191
255
168
153
157
218
167
162
122
179
146
141
173
200
158
171
146
188
115
201
194
164
240
191
254
297
210
257
201
187
211
225
283
264
141
169
130
141
183
185
170
133
217
183
227
129
203
166
222
175
167
211
184
206
129
200
200
211
175
138
204
204
212
217
163
257
190
244
255
203
200
133
171
214
192
172
280
221
171
250
172
185
151
200
181
278
173
173
173
264
196
209
188
262
210
205
141
181
181
184
201
201
202
129
188
179
204
155
261
213
143
155
231
194
208
189
158
204
201
195
184
213
201
233
201
184
166
207
222
201
198
217
189
202
160
145
186
197
176
262
204
173
227
164
179
143
220
206
236
205
205
175
115
292
170
129
236
164
217
122
182
130
168
157
168
176
173
165
218
145
127
250
169
259
225
175
138
179
204
287
212
185
176
176
210
184
235
201
245
217
217
205
201
215
155
176
173
162
182
178
180
241
145
235
238
191
288
155
129
183
180
129
157
149
218
270
168
191
203
203
200
210
191
235
176
142
282
146
211
158
153
196
158
201
195
149
258
192
204
181
158
202
308
201
201
205
179
205
200
188
166
205
261
173
168
179
196
129
182
185
144
202
156
273
173
144
242
186
174
189
252
228
175
133
211
130
146
183
151
155
228
226
230
176
219
221
244
187
242
212
183
204
192
221
179
199
221
215
179
204
223
221
238
170
168
182
197
180
261
201
225
211
194
242
158
173
194
168
201
204
166
257
216
173
221
191
155
197
194
143
155
143
155
158
205
162
188
204
200
230
173
173
182
133
255
158
170
173
264
232
166
138
129
164
210
141
217
115
166
260
205
236
199
187
130
190
199
204
178
174
133
161
213
222
183
288
175
253
269
255
251
155
175
129
169
288
146
193
130
129
225
129
162
164
238
195
129
203
216
173
255
179
227
162
214
188
230
200
264
281
201
260
143
215
146
155
138
188
168
250
171
130
200
178
130
179
190
176
122
169
219
259
158
173
148
147
170
222
146
201
259
160
153
181
264
203
256
217
176
176
194
194
192
129
194
130
175
192
162
204
157
162
141
156
210
130
204
160
248
178
217
204
133
177
183
169
179
184
146
207
171
173
224
183
165
217
206
167
157
245
335
173
146
130
188
207
225
232
305
130
192
129
270
179
180
145
256
149
173
211
158
221
213
211
185
230
252
164
115
170
178
191
130
209
202
230
185
186
265
223
185
162
161
209
188
172
188
146
335
185
192
200
115
251
208
183
191
225
200
243
286
129
130
179
202
224
168
155
129
150
176
176
250
269
198
129
129
217
176
168
185
173
239
206
179
203
145
236
160
203
260
252
183
242
223
202
129
189
222
197
195
182
227
275
173
214
129
206
181
202
201
185
198
201
208
251
240
226
115
187
192
130
151
210
130
202
146
211
143
146
170
208
221
194
234
179
184
163
215
204
179
190
201
262
266
130
163
188
246
222
166
200
210
222
165
156
146
201
238
215
250
258
158
169
202
230
188
204
161
151
266
176
157
229
130
147
179
168
228
173
243
180
221
230
203
286
191
238
206
185
200
144
255
133
203
178
236
160
204
244
227
234
209
176
182
202
115
242
153
219
204
206
191
235
162
275
168
179
229
261
190
239
192
210
157
129
164
210
144
191
225
182
138
250
203
190
203
243
176
155
210
155
215
193
199
216
269
205
278
211
192
155
176
181
151
130
247
214
164
246
182
184
261
283
179
175
200
208
245
188
217
274
227
145
132
162
145
217
181
194
119
272
246
200
122
265
173
197
143
173
158
172
212
184
168
216
201
202
149
302
193
205
182
239
192
236
174
233
192
166
172
145
200
216
218
168
176
222
210
221
217
197
130
199
233
147
206
185
261
191
244
206
201
200
230
201
184
200
247
168
185
212
214
220
220
168
238
189
225
211
206
176
181
201
213
256
170
229
225
190
186
183
240
152
152
169
217
204
201
244
164
164
115
210
173
143
204
160
174
163
158
152
245
233
245
229
141
204
263
281
277
206
228
173
138
214
180
130
129
166
191
201
195
217
214
146
130
185
155
178
271
225
198
186
122
258
185
238
184
259
221
180
170
171
204
144
255
203
178
250
222
178
212
230
205
189
253
203
257
235
160
146
156
225
211
186
164
241
201
130
210
218
184
217
221
159
200
115
210
242
183
179
173
150
230
231
148
122
200
238
212
180
240
209
162
163
179
205
261
255
188
171
185
165
205
199
129
158
146
130
195
145
212
181
222
164
207
158
190
177
193
228
146
151
177
173
184
115
235
175
151
152
229
204
164
184
175
254
192
181
144
210
190
247
245
249
210
215
175
195
228
219
145
195
164
162
221
234
195
145
162
182
130
141
225
129
173
146
146
180
191
255
287
185
248
206
145
129
129
138
143
150
170
133
133
229
211
214
206
210
209
187
170
177
227
199
190
215
206
176
187
175
192
158
238
172
186
178
206
217
132
231
141
214
188
184
145
195
146
230
201
237
204
130
201
229
146
172
170
221
204
218
262
158
160
145
133
195
162
153
219
169
193
155
196
173
178
237
195
184
172
207
204
234
186
228
201
130
133
178
248
210
184
179
222
143
180
197
152
185
181
200
179
182
270
207
256
195
158
210
231
265
192
284
149
189
239
241
258
165
185
219
130
158
197
208
133
147
184
143
181
213
173
173
303
202
306
173
188
158
256
234
174
155
242
232
147
199
235
162
151
202
183
129
217
149
176
258
179
179
237
251
195
182
201
267
171
185
190
236
220
210
221
198
167
222
224
149
191
145
115
128
197
129
160
225
162
241
191
119
129
186
252
222
172
182
225
231
161
184
185
172
182
231
175
130
133
158
188
230
189
249
227
176
239
260
214
204
233
217
213
168
217
230
143
149
261
171
226
167
217
217
262
182
184
283
146
230
253
196
115
239
207
218
195
169
191
149
275
236
115
176
176
174
210
275
217
218
180
146
192
207
217
161
181
224
202
238
141
187
130
165
230
146
282
173
204
204
133
220
235
162
230
211
145
122
145
253
202
174
184
183
221
183
185
180
247
193
177
168
203
163
210
210
218
168
242
179
186
261
129
204
186
201
188
192
122
173
158
228
198
143
281
179
213
129
231
200
183
181
243
217
162
188
143
182
181
129
168
239
143
130
210
184
183
185
164
230
179
202
168
182
220
222
155
159
169
141
173
130
133
230
258
190
179
166
145
207
224
243
198
173
166
252
202
237
129
161
184
202
155
227
179
202
187
249
237
191
189
202
178
129
162
199
129
146
274
201
210
192
188
193
179
211
210
254
248
158
130
210
167
194
216
207
173
129
181
210
130
227
216
231
233
359
178
145
243
178
130
204
164
185
173
199
228
122
229
182
187
187
238
186
246
179
185
131
215
171
203
225
261
173
194
201
210
250
296
168
133
251
138
303
184
218
185
200
143
182
163
146
239
176
160
211
260
129
203
150
168
201
183
158
193
205
161
182
181
204
178
130
192
198
129
146
185
232
223
175
173
169
141
225
204
228
227
214
164
319
248
196
169
217
146
165
204
115
234
236
236
189
143
130
181
211
209
165
208
169
130
218
190
231
228
263
212
205
178
212
156
156
227
157
211
192
231
155
188
156
179
129
168
158
209
193
178
230
155
186
155
173
188
236
262
211
238
189
164
188
204
238
158
147
146
234
335
234
174
164
146
197
218
231
189
187
228
183
149
256
188
195
150
283
174
158
173
263
249
238
155
218
218
243
172
219
132
281
210
190
190
172
200
162
171
164
207
297
144
115
169
143
176
166
184
264
189
185
212
175
225
176
224
182
204
130
183
175
130
178
218
188
166
164
210
164
209
194
188
197
209
209
220
184
220
165
258
176
204
206
220
145
186
130
217
239
261
212
158
146
199
227
158
202
141
225
184
158
210
157
177
222
191
158
162
143
261
141
191
151
176
165
158
156
190
242
173
163
217
237
173
217
245
168
168
199
195
200
241
170
133
173
159
162
231
162
157
209
145
176
172
194
146
252
182
155
182
296
194
204
195
169
188
146
238
182
196
209
270
256
129
164
195
155
145
144
243
173
228
222
176
230
217
200
221
208
233
150
230
250
195
217
190
130
181
214
167
145
248
233
203
172
223
174
158
176
177
145
206
184
150
146
203
266
233
176
231
174
179
130
168
195
168
162
186
156
194
198
193
214
207
207
182
218
166
252
192
180
213
221
215
256
300
240
199
201
184
203
160
191
173
130
115
239
216
130
226
222
158
201
180
179
227
173
197
230
222
189
184
160
160
178
176
143
219
200
176
146
236
230
231
146
258
319
189
130
172
194
255
282
162
193
156
206
167
238
247
181
184
260
130
166
178
173
230
217
215
200
133
171
182
210
259
184
182
202
149
204
146
133
319
157
143
222
211
213
143
201
129
179
279
169
202
158
248
232
130
210
210
202
179
278
168
202
129
206
133
225
202
216
189
263
187
191
299
210
216
240
218
230
182
146
159
188
184
252
167
179
204
141
205
206
165
145
176
188
175
257
161
211
217
128
235
176
165
214
236
181
169
276
202
184
175
254
203
155
217
171
185
253
207
205
187
196
130
162
158
179
211
270
164
128
213
204
214
148
176
206
191
130
185
254
204
130
217
215
146
190
202
129
231
244
173
129
274
220
146
186
130
158
115
181
176
184
179
193
130
180
145
215
129
144
182
221
283
133
202
133
210
248
203
145
204
183
169
192
139
183
201
222
204
183
210
174
130
166
267
311
204
192
287
167
216
176
218
133
179
239
209
190
176
229
173
237
228
239
195
197
230
205
248
226
205
146
189
181
254
130
179
210
164
257
222
152
193
130
169
219
174
190
130
251
236
170
156
211
153
230
187
166
215
255
242
199
218
169
210
158
182
235
150
232
253
146
301
130
178
216
184
143
169
303
240
160
191
179
265
179
192
129
149
178
187
271
201
192
173
190
133
222
158
217
173
206
173
214
158
192
213
146
157
133
162
186
160
201
192
146
158
191
227
160
178
146
265
218
164
189
182
155
225
159
171
248
201
214
173
158
188
335
236
195
168
242
192
143
173
202
173
166
150
188
205
141
217
162
227
189
146
218
176
204
236
158
256
169
122
191
278
180
157
160
201
213
205
246
201
170
192
164
203
222
129
185
173
196
247
185
207
215
203
253
178
197
240
131
283
168
204
130
222
178
148
159
193
178
189
296
183
158
217
205
150
213
222
181
141
230
212
158
155
155
174
191
223
143
179
229
156
216
186
242
130
230
258
177
195
173
238
213
215
180
265
129
176
164
275
222
130
215
129
151
169
191
202
176
194
130
183
146
208
191
206
231
201
172
173
219
161
179
232
200
215
162
129
146
240
255
213
183
164
182
230
274
176
146
169
260
166
209
177
270
146
187
214
206
172
155
144
245
214
209
231
138
224
205
191
174
202
180
163
191
184
217
236
213
200
178
254
166
198
176
238
388
204
201
238
169
263
214
115
192
156
176
167
115
204
184
144
173
186
122
182
221
181
146
195
217
178
182
143
133
119
209
175
184
215
130
133
178
213
167
236
238
257
255
149
219
208
263
115
176
204
143
252
146
225
173
177
130
225
234
229
184
236
254
210
146
164
152
201
210
247
211
216
208
130
220
256
256
192
155
162
180
191
159
204
221
176
174
162
176
214
216
182
188
258
146
129
164
274
184
143
192
173
266
173
129
166
233
171
211
173
195
177
206
167
218
175
129
115
202
173
234
146
194
264
186
174
245
216
184
194
179
217
232
183
173
203
173
155
173
206
173
192
173
180
150
168
287
218
211
143
133
203
304
162
217
238
193
152
169
261
280
192
119
173
227
234
146
146
177
222
158
158
218
250
180
226
184
234
186
145
206
158
161
158
210
202
227
226
174
176
179
210
130
239
162
211
153
174
162
143
229
194
172
258
233
164
287
162
167
178
211
206
251
173
197
145
206
173
140
190
143
204
186
163
196
191
152
247
230
173
152
180
146
188
255
186
217
236
202
162
146
202
221
202
188
185
201
167
161
185
185
156
230
160
173
162
174
225
202
164
164
150
211
147
176
164
210
207
210
176
246
204
173
166
176
129
202
130
149
236
234
176
146
130
154
188
149
169
222
204
173
146
147
201
258
204
228
201
228
201
129
222
230
282
212
302
210
251
176
144
130
168
143
175
257
152
202
184
182
188
275
243
176
166
239
247
214
188
164
158
145
173
174
239
153
213
211
130
187
210
255
256
234
325
145
179
244
162
152
183
223
210
240
164
133
162
174
233
176
222
146
209
217
159
223
183
115
158
173
169
146
190
187
192
277
250
226
168
171
203
184
173
179
141
175
161
270
213
221
200
211
170
133
146
225
152
184
240
176
130
132
166
231
259
149
258
202
155
129
178
262
156
168
158
153
184
129
184
164
167
289
168
215
182
191
204
138
164
162
209
224
239
146
130
158
180
261
171
130
155
184
186
233
204
173
191
280
205
173
184
162
171
166
130
166
129
236
245
115
210
149
259
181
200
156
180
146
172
158
160
167
151
227
162
173
130
162
261
216
240
262
169
213
240
204
208
173
164
130
129
141
183
169
191
204
170
214
122
145
155
202
233
227
130
213
262
210
161
130
204
242
219
178
147
226
156
204
211
195
201
199
130
199
152
210
130
155
143
269
203
129
228
239
196
225
230
221
236
204
159
180
228
147
256
213
179
235
230
230
272
172
186
201
122
156
178
143
205
183
130
146
184
115
217
172
173
235
204
188
173
115
166
146
119
146
209
176
129
173
217
176
153
183
176
186
115
159
208
233
133
179
192
156
243
209
220
229
210
145
162
186
192
173
115
195
130
261
155
248
145
163
226
184
192
119
230
173
240
150
173
243
182
245
178
222
204
138
173
210
210
147
185
214
228
250
130
180
168
173
200
129
164
179
231
145
216
197
264
176
180
267
183
146
164
274
182
159
129
130
190
176
146
122
194
180
273
211
174
129
265
235
209
231
220
197
130
205
173
227
237
150
130
254
133
165
146
214
122
191
183
186
183
188
130
130
176
204
216
202
132
129
182
190
237
212
178
130
236
212
204
143
256
183
247
133
200
287
143
266
176
172
129
202
169
145
201
234
160
209
130
168
186
188
231
129
130
218
217
204
335
162
181
186
199
164
217
182
158
183
173
158
157
161
233
218
184
194
146
171
171
183
173
281
158
211
236
130
177
160
115
162
185
228
183
169
264
199
215
179
191
173
168
179
211
179
285
164
129
183
186
181
183
208
158
133
150
193
204
160
335
264
201
232
211
211
221
246
228
130
155
204
201
161
236
162
250
222
203
122
168
178
238
217
129
169
188
175
157
200
281
186
130
255
160
202
130
204
130
304
146
168
163
155
204
168
173
179
204
197
151
166
231
158
183
138
189
217
213
146
210
212
221
175
130
167
206
182
227
251
221
204
209
191
129
180
217
230
175
190
164
210
175
169
180
216
284
162
240
156
210
129
166
192
247
173
130
190
182
247
210
130
188
166
246
270
202
185
204
176
216
244
155
167
238
223
168
244
166
176
143
230
115
193
237
182
230
162
247
182
216
219
242
254
160
211
239
202
156
215
143
129
146
210
274
179
190
210
133
161
186
217
222
166
190
257
156
159
202
255
195
266
167
226
215
205
176
181
174
143
146
184
240
130
218
200
189
146
146
210
249
184
193
210
146
184
183
236
191
176
264
172
146
145
205
191
179
206
145
190
201
214
233
275
146
203
215
246
140
132
238
256
183
173
186
193
143
179
256
198
144
173
210
264
176
205
162
179
203
179
176
230
204
173
159
209
199
300
227
115
264
149
178
186
173
129
195
176
146
255
195
199
210
157
155
211
236
184
254
129
239
156
194
146
203
211
186
179
205
193
178
197
184
236
260
172
157
210
172
184
216
185
215
184
204
129
195
181
143
168
155
247
242
182
256
239
169
236
244
246
200
141
239
264
251
206
182
204
160
172
229
182
215
170
182
161
188
130
180
180
166
210
256
194
156
166
184
239
194
178
183
146
179
303
178
184
193
129
162
174
130
173
167
145
220
188
171
138
209
200
179
184
186
173
261
239
194
133
190
150
181
150
174
162
168
207
205
236
188
210
183
174
173
189
167
129
302
235
170
158
186
282
173
171
242
182
129
150
217
200
133
228
238
206
222
225
182
274
159
172
133
160
166
221
193
219
209
214
187
146
171
192
221
190
204
188
283
205
156
179
180
249
211
173
149
202
173
194
145
169
220
129
157
152
145
230
143
202
236
157
259
248
145
217
155
291
242
254
246
200
176
182
158
146
202
204
188
240
115
184
173
193
202
171
176
217
199
173
185
164
150
160
187
161
169
199
184
233
161
122
180
247
202
211
227
240
182
173
156
146
211
160
197
225
155
204
176
216
115
115
162
212
192
179
191
183
204
268
179
236
265
176
153
146
263
137
248
182
229
259
202
197
186
178
171
149
229
252
150
208
183
174
179
155
201
168
143
182
217
176
178
212
265
188
178
152
173
227
195
239
225
201
169
130
183
179
178
193
130
181
182
201
274
162
182
246
221
191
141
194
197
194
156
188
179
217
145
182
184
211
115
183
164
180
214
236
164
183
191
130
211
215
206
228
239
146
182
173
133
204
304
195
197
183
133
168
176
188
302
155
194
209
130
170
174
164
225
184
146
144
146
238
238
173
187
172
158
261
201
199
169
205
173
160
224
194
173
189
230
146
206
234
248
215
180
180
164
169
178
176
158
145
169
192
176
143
222
214
201
192
211
183
161
214
130
192
288
205
239
129
160
182
161
143
210
130
182
261
155
227
158
155
221
211
146
119
263
217
146
191
149
168
164
179
211
184
169
236
218
170
146
199
247
241
152
217
231
180
168
166
258
230
171
122
155
145
180
174
203
185
184
268
202
168
130
166
238
162
243
177
253
220
115
277
146
179
222
174
151
179
222
225
216
179
246
180
198
242
204
176
173
201
249
164
202
191
145
170
231
230
129
206
180
129
195
218
176
204
205
168
150
150
210
176
129
196
184
185
188
204
221
130
250
186
130
129
175
213
173
231
239
230
149
199
119
192
187
152
115
176
231
200
204
150
258
272
130
204
200
165
226
217
204
157
229
242
186
262
183
147
157
221
206
226
175
209
146
156
211
160
231
253
191
191
223
156
222
239
146
275
176
155
236
133
191
215
164
202
145
167
129
204
169
149
190
217
184
211
251
178
173
152
129
184
244
238
239
184
146
176
145
208
156
129
174
146
171
236
201
150
200
201
204
234
182
183
129
190
182
212
234
234
173
208
213
156
146
146
115
185
169
183
192
250
133
237
261
182
208
146
115
204
162
200
184
204
217
222
194
184
225
119
172
251
242
200
169
210
166
246
174
171
162
218
164
207
151
146
210
200
190
217
217
291
204
146
177
180
177
217
176
160
257
200
143
171
204
208
270
185
183
205
160
115
158
146
181
176
261
143
210
256
263
146
145
217
150
217
180
205
217
182
212
240
156
255
146
129
178
183
128
234
213
155
158
212
204
230
211
206
200
186
182
235
254
130
162
210
146
200
247
190
217
179
157
191
179
144
183
146
274
161
185
129
164
130
244
265
264
213
208
204
221
191
209
204
174
221
204
263
185
162
129
221
146
174
233
211
187
169
164
130
164
218
189
170
171
252
223
221
204
205
302
239
156
225
270
152
192
204
185
203
270
155
250
228
296
262
185
225
195
264
189
232
238
168
274
158
200
155
176
188
155
172
147
158
244
230
130
176
239
166
130
178
210
195
209
168
265
239
223
151
168
240
178
265
214
206
209
172
183
204
159
217
180
233
200
236
206
227
263
130
162
239
255
150
214
217
193
228
224
225
194
247
145
191
146
146
232
199
234
230
115
129
173
185
214
180
201
194
184
155
157
216
263
211
201
138
148
191
264
184
210
243
160
196
178
204
129
314
176
204
211
199
195
217
210
247
143
214
202
244
178
168
217
176
179
176
262
162
166
228
217
175
159
210
209
176
130
146
167
268
211
242
246
265
208
173
200
206
210
233
207
215
176
115
210
180
155
182
294
203
168
200
199
184
141
230
176
146
149
129
203
176
130
206
204
143
171
238
164
178
160
186
183
233
207
185
198
157
202
184
177
221
204
179
238
176
157
168
146
176
167
224
202
173
238
173
204
182
198
278
158
289
274
171
161
274
204
238
178
182
174
241
128
149
180
160
227
178
239
129
145
172
143
144
254
256
201
237
146
197
177
129
128
230
193
217
155
252
184
239
201
164
172
217
164
210
129
272
172
216
150
178
194
252
190
231
178
188
164
233
201
143
184
242
237
129
257
130
210
198
143
234
214
194
130
130
258
200
261
185
168
204
183
182
225
169
182
150
162
239
252
172
194
197
225
203
145
168
130
252
195
220
218
183
247
153
162
230
208
150
164
249
206
183
158
210
215
182
173
191
160
129
115
174
199
204
141
207
179
172
225
258
146
251
183
228
210
185
133
217
122
173
204
130
146
180
146
122
168
200
194
173
264
206
224
191
169
233
189
173
221
115
201
267
129
211
130
145
237
283
219
202
155
168
283
156
266
200
206
179
230
244
203
200
183
182
200
177
242
195
160
194
216
182
174
178
188
201
218
300
234
183
143
248
147
230
178
216
235
178
210
221
223
238
169
190
202
133
166
232
187
185
152
277
204
226
145
184
204
202
222
192
214
156
130
201
247
172
156
208
231
146
173
199
231
146
143
206
264
240
143
251
189
209
155
281
207
178
206
251
257
138
212
225
220
176
130
182
201
218
206
222
200
176
275
258
208
218
210
227
280
173
239
146
162
230
160
173
187
189
143
176
217
194
200
176
168
169
164
206
197
234
133
161
172
164
237
129
176
115
130
203
146
130
181
197
204
177
259
243
230
145
130
188
224
254
175
217
261
161
189
179
145
122
233
182
249
195
179
169
207
221
161
187
264
162
166
200
253
165
199
195
162
194
230
234
122
313
157
129
242
199
130
273
204
204
204
183
233
202
164
146
246
228
173
199
174
223
153
235
162
129
182
146
203
168
266
185
164
174
229
176
205
181
143
244
202
186
188
130
203
146
204
183
311
233
209
184
250
180
143
252
174
285
214
200
300
189
168
180
141
209
157
129
222
176
217
129
183
185
183
191
228
158
201
164
184
146
252
184
119
201
192
155
130
257
208
199
248
288
183
166
221
246
168
129
219
204
173
145
146
202
173
257
192
188
152
181
156
176
192
182
209
146
201
155
158
204
169
204
176
175
250
192
160
269
145
207
200
272
217
195
195
146
169
160
130
233
216
164
115
168
183
129
133
171
141
158
221
250
189
191
176
178
177
186
209
162
200
176
247
145
246
264
192
183
206
115
200
203
176
195
223
171
176
143
176
167
238
244
252
238
166
231
228
255
287
181
204
178
204
214
230
130
234
193
215
237
192
203
146
168
160
195
217
240
225
133
217
200
232
176
192
238
207
173
187
129
200
224
182
129
206
163
251
197
246
177
186
222
145
187
199
225
129
207
182
145
227
274
179
197
250
191
215
238
188
184
176
164
267
146
270
217
176
203
190
200
184
145
173
152
184
208
122
221
179
145
172
160
164
132
129
234
201
205
215
234
115
149
230
199
228
206
182
183
191
242
202
168
240
180
179
190
220
218
130
158
206
200
234
209
209
237
259
229
206
218
200
129
263
238
285
251
174
246
201
229
202
228
164
253
204
195
149
195
212
190
231
206
194
237
184
146
274
130
213
190
145
200
115
174
210
161
199
191
143
191
150
222
217
171
178
182
187
252
169
146
247
128
224
186
159
115
168
180
208
230
222
146
225
169
133
216
207
175
250
175
171
164
179
210
143
176
201
176
143
173
177
156
241
176
230
224
133
190
286
197
146
252
200
185
180
176
211
231
174
168
200
183
230
241
156
285
161
173
208
167
210
248
187
250
188
212
271
217
239
202
169
145
259
230
201
211
204
230
203
203
187
129
198
157
156
179
180
129
195
225
210
230
221
128
180
173
179
157
174
145
239
190
267
188
169
233
210
173
263
168
171
176
195
150
166
161
239
160
180
130
200
180
173
156
204
133
186
141
196
228
259
133
130
176
207
129
149
181
178
202
168
207
246
145
158
149
238
270
233
152
168
207
141
197
154
162
168
221
236
186
194
146
202
173
216
188
272
167
210
188
190
130
200
202
194
176
173
146
173
129
122
203
144
204
149
171
219
256
152
202
210
176
193
234
145
152
164
184
149
200
174
216
145
168
232
229
194
208
169
204
207
158
185
212
191
262
234
241
171
264
176
247
231
230
184
210
159
155
188
231
138
263
173
170
300
194
145
153
169
178
222
210
209
251
164
234
128
249
165
146
122
200
211
130
133
178
204
214
168
142
180
211
203
168
190
212
168
185
166
186
250
199
173
256
130
141
210
161
211
239
183
221
172
202
156
133
192
203
188
177
150
189
221
186
202
230
264
183
160
175
209
146
189
195
201
161
222
144
171
244
211
272
131
192
122
143
158
127
180
184
228
132
233
221
231
225
146
228
146
228
146
161
209
202
259
174
226
199
237
122
172
146
210
162
303
182
183
180
141
254
172
190
182
189
130
181
210
182
216
169
203
302
164
164
145
205
129
195
233
176
234
184
232
191
167
200
263
266
258
132
245
130
193
335
149
185
176
185
318
197
245
253
164
195
132
206
217
211
236
173
151
231
199
239
198
146
189
159
173
179
202
206
155
191
151
176
250
133
155
230
224
277
258
260
176
204
201
191
246
132
163
271
158
191
184
146
184
213
236
169
239
164
162
179
166
190
129
206
204
204
168
216
211
145
200
230
179
176
176
206
175
145
146
335
197
225
129
214
173
184
173
165
129
223
182
244
206
180
198
155
169
210
174
187
195
160
138
224
204
130
206
191
187
274
186
150
169
168
180
201
195
225
178
146
358
204
208
140
190
287
274
138
133
214
168
208
203
240
188
187
203
144
191
187
205
250
176
180
205
195
164
190
180
214
246
230
183
146
271
144
189
205
263
201
187
170
225
263
146
146
202
258
163
193
171
168
210
145
166
193
173
208
184
158
179
213
237
176
246
183
210
242
203
204
171
227
261
170
173
202
270
130
214
242
192
173
138
178
265
206
180
260
300
206
238
194
185
115
275
236
179
145
159
158
177
144
156
204
231
182
191
218
229
261
173
190
204
246
284
254
245
151
203
202
172
210
199
210
144
205
205
191
173
202
164
158
191
205
173
237
174
200
183
132
146
181
207
179
169
151
179
217
202
255
155
231
181
129
218
158
214
219
263
237
165
178
168
197
222
210
202
200
180
201
131
174
229
147
133
146
214
172
232
241
259
191
181
181
200
210
252
177
149
197
233
141
231
194
167
231
146
251
204
213
130
146
193
217
238
206
185
145
191
173
224
129
223
211
190
199
201
115
195
132
235
176
218
176
190
219
130
175
195
231
129
209
291
217
216
141
179
145
115
167
173
236
235
145
115
195
188
179
171
229
181
197
184
239
239
195
217
264
207
209
258
245
187
191
217
266
145
160
207
246
238
180
130
141
158
130
201
130
257
239
170
174
222
200
251
210
162
173
130
234
146
122
182
143
191
217
194
246
202
173
176
217
222
158
182
161
187
212
176
274
261
158
320
235
266
275
168
179
182
115
233
191
122
243
230
153
190
146
221
183
238
209
185
218
195
253
130
171
129
217
184
168
173
229
179
164
246
131
171
173
166
167
129
151
186
229
180
173
158
227
184
211
193
230
199
173
195
258
259
145
147
204
208
173
211
139
210
204
173
247
196
159
130
162
215
160
143
226
194
231
115
197
150
164
202
214
133
200
158
237
173
205
149
209
236
192
229
192
173
183
176
211
166
158
184
157
217
178
171
176
179
247
173
191
187
146
247
201
176
193
160
192
227
264
210
250
179
166
179
227
192
236
217
184
129
129
211
182
179
175
238
182
240
182
195
210
226
147
217
210
158
129
144
237
155
181
185
146
239
179
188
141
164
296
206
179
208
130
250
180
146
201
129
287
167
115
184
146
176
258
269
176
180
189
174
190
191
210
186
133
164
185
239
129
173
146
204
210
115
179
182
133
164
239
220
158
185
230
166
115
146
146
157
216
169
212
196
245
263
206
199
178
192
227
182
227
156
155
176
214
179
184
146
168
201
156
193
205
146
145
194
173
188
129
184
200
203
235
199
214
168
202
130
138
130
254
192
156
185
187
210
283
181
208
194
191
242
300
187
175
129
185
219
173
227
172
235
158
194
122
133
150
177
202
274
129
141
224
155
155
115
191
214
247
181
216
171
168
185
218
191
183
206
146
138
202
190
130
240
128
174
191
133
173
230
177
196
215
168
206
158
147
200
156
206
115
207
190
129
146
186
232
244
230
224
184
173
160
133
206
192
194
279
217
129
251
133
146
202
146
204
208
155
166
204
261
146
164
170
167
141
173
175
236
133
150
205
245
246
227
261
205
191
168
196
203
228
173
203
209
164
182
159
167
198
180
173
203
180
222
174
233
237
169
239
223
143
181
267
178
242
199
216
226
146
183
180
218
248
130
184
165
141
164
146
209
199
115
171
180
167
144
162
244
168
200
180
115
166
172
236
228
228
169
239
211
215
225
197
204
230
179
145
250
182
270
189
168
263
182
158
204
236
197
214
235
201
201
206
191
145
209
250
156
200
193
152
174
169
176
210
190
173
179
206
190
217
151
167
201
145
204
168
175
236
204
256
171
248
226
146
190
201
195
180
186
255
244
335
133
229
252
211
129
180
115
230
169
178
172
228
252
179
173
276
187
143
265
143
230
211
209
168
193
166
189
204
184
227
209
214
183
204
173
192
180
155
200
199
248
200
174
206
202
162
187
146
168
185
173
130
219
176
173
219
129
204
204
218
180
240
158
285
176
211
193
179
221
168
209
153
221
179
129
201
129
115
122
230
214
155
133
201
169
168
169
210
221
230
196
219
173
182
195
224
257
256
200
273
133
173
164
204
201
188
211
169
161
191
185
176
190
157
215
211
233
208
238
204
189
213
141
210
168
203
197
173
183
146
115
205
184
211
184
145
227
238
179
210
173
188
162
197
213
179
286
168
204
169
204
202
213
216
192
191
132
180
146
197
185
186
180
214
191
174
239
149
278
151
236
176
216
201
204
185
233
208
315
148
198
182
204
210
184
164
237
156
289
309
190
257
160
177
206
159
235
194
205
191
189
149
172
236
257
197
173
215
162
209
130
157
210
158
169
119
179
179
176
157
185
225
145
143
189
162
115
181
171
227
122
223
133
144
130
193
245
157
164
168
216
129
115
119
158
204
164
172
281
185
221
249
265
190
165
200
294
211
130
185
164
130
185
162
178
217
170
157
193
216
188
156
197
176
237
298
205
206
220
217
202
178
213
260
214
156
141
198
192
228
178
186
165
133
195
202
149
180
239
210
183
190
130
197
189
222
179
236
194
209
229
254
176
158
163
115
236
189
230
145
191
229
188
222
204
178
129
210
273
282
173
203
129
237
214
282
266
210
193
155
273
129
235
162
181
241
200
212
236
248
183
203
162
191
211
175
240
198
129
195
173
193
194
184
234
250
227
283
202
184
335
251
206
173
210
162
182
146
205
250
243
201
221
231
194
217
261
166
164
129
230
204
220
186
186
171
141
227
146
210
185
217
168
217
216
193
221
240
201
202
225
213
202
176
153
165
176
146
209
191
281
190
159
202
285
265
320
161
251
201
201
204
208
249
196
158
182
198
229
150
191
174
209
215
199
208
202
236
174
173
164
260
130
168
178
206
162
264
247
183
204
172
194
155
129
181
224
161
189
192
153
322
149
230
173
132
143
204
190
173
171
129
229
244
206
130
173
153
239
162
158
194
133
185
258
173
229
173
146
238
214
211
179
264
217
204
162
205
170
146
223
156
198
181
133
222
190
241
175
130
146
151
252
162
211
129
130
214
178
233
206
224
210
218
173
164
155
155
129
295
179
157
175
177
226
155
209
153
247
208
242
169
200
239
188
174
170
231
129
210
228
206
203
239
202
133
210
225
133
173
189
192
197
185
159
130
197
191
201
204
229
173
169
164
215
169
247
234
129
225
204
255
133
130
210
173
206
269
202
141
184
129
194
179
260
173
168
184
246
146
215
146
222
252
211
150
239
173
186
202
162
191
207
240
206
159
282
276
233
169
129
138
197
258
183
180
235
219
173
197
180
247
143
213
199
158
164
145
208
191
256
157
226
178
236
210
129
179
246
184
122
180
238
183
178
143
241
145
185
143
210
130
200
222
146
258
215
179
187
229
209
170
146
162
131
182
258
183
141
168
204
233
206
166
162
164
149
246
185
164
212
234
191
181
146
176
293
192
200
222
184
172
146
188
179
174
200
122
261
185
195
176
212
184
187
180
175
180
129
185
194
145
183
129
130
192
204
157
204
200
146
180
129
261
179
219
192
202
131
174
239
198
193
182
285
150
207
260
213
214
168
119
191
187
335
170
267
210
195
227
164
200
173
146
130
191
255
147
273
193
229
230
223
288
204
176
242
130
173
130
251
169
219
235
214
179
224
156
129
115
130
188
227
178
152
213
129
173
183
192
212
203
157
143
216
176
133
246
173
173
180
183
213
190
146
217
233
210
183
146
300
176
130
169
129
217
184
193
141
130
211
228
224
212
188
217
181
175
115
173
244
206
130
138
230
130
187
191
185
146
149
178
182
173
122
303
162
122
203
194
168
200
179
193
130
205
129
206
184
194
188
217
151
129
206
146
204
246
122
246
211
182
207
129
179
217
157
183
133
130
145
216
264
179
212
201
141
270
234
202
221
210
253
166
162
182
147
300
208
214
200
146
187
195
226
166
195
222
189
191
257
232
173
196
180
210
294
173
227
237
181
201
223
225
174
160
173
166
286
168
219
156
176
143
188
142
145
238
202
168
258
228
143
130
209
146
193
204
161
211
206
201
156
143
176
222
162
172
222
235
158
267
196
301
153
203
217
224
149
146
217
173
237
152
149
133
252
149
233
191
258
184
238
217
152
322
150
188
248
160
190
224
219
156
170
200
211
176
143
217
206
204
129
162
170
147
182
158
154
158
247
229
155
173
181
192
251
176
187
150
266
217
200
176
158
171
311
222
180
208
143
115
129
179
255
176
145
236
232
129
208
182
141
169
158
183
236
145
173
146
201
215
230
146
115
184
180
168
204
168
187
247
218
183
149
189
230
203
211
191
210
138
225
178
213
180
129
155
158
237
194
173
239
185
130
168
207
211
203
204
193
146
238
227
164
179
243
273
169
201
168
176
178
251
164
132
149
197
191
231
151
171
202
168
198
183
182
176
180
227
186
162
177
264
173
199
165
160
155
200
242
176
156
176
236
235
132
173
129
204
241
259
264
138
183
214
252
225
238
158
259
230
122
180
222
281
159
207
190
180
266
176
192
246
173
220
207
296
252
168
193
201
166
191
228
193
138
161
145
202
213
215
209
219
221
228
176
161
194
255
184
130
183
175
129
179
230
197
206
172
197
198
194
217
161
231
220
230
210
210
161
141
221
181
155
129
183
184
156
206
156
183
173
274
202
124
238
175
271
225
259
210
155
191
204
272
183
187
161
182
201
200
191
204
220
156
160
211
180
180
222
193
202
271
146
152
163
195
144
228
194
192
168
299
193
158
173
128
169
186
170
146
203
245
157
181
213
236
258
202
178
240
156
161
201
204
291
216
186
296
168
204
130
185
184
200
214
164
210
211
238
138
174
190
300
219
217
230
167
220
189
220
155
203
157
202
214
237
150
192
209
198
166
146
173
195
218
186
204
169
194
161
211
146
115
171
176
176
146
178
219
205
249
217
206
225
129
170
213
206
130
247
174
133
176
174
182
210
187
160
157
174
207
129
231
188
119
234
129
247
246
158
178
186
129
200
122
175
210
174
162
207
247
198
200
122
282
209
230
146
130
228
175
225
187
170
173
260
262
244
157
129
143
217
150
191
183
212
256
129
145
217
176
183
250
176
238
233
195
151
192
169
165
181
162
172
146
213
252
180
201
173
187
261
157
256
166
164
146
176
258
273
184
169
211
207
178
115
264
173
212
203
232
181
155
181
149
225
217
145
204
138
146
240
217
169
156
244
164
255
283
179
212
145
207
183
288
191
206
249
190
194
180
130
260
285
182
180
188
251
183
214
195
261
226
145
130
223
166
165
210
119
223
160
133
141
152
171
184
230
237
226
228
229
224
162
204
204
231
146
204
201
200
162
230
164
230
236
210
268
222
225
176
162
376
178
176
190
176
228
168
235
130
193
195
227
238
181
219
213
236
181
173
233
222
182
180
202
176
201
176
115
176
183
185
200
115
217
115
223
258
157
216
176
170
235
225
176
201
178
240
239
173
158
204
185
210
188
176
115
202
229
163
162
203
162
189
164
179
202
187
231
210
222
176
210
176
158
191
213
255
203
202
194
202
209
219
247
211
263
211
261
144
200
183
252
164
190
217
214
200
193
251
158
195
193
129
183
130
201
130
178
408
115
149
257
175
238
263
203
168
158
199
182
232
181
174
227
145
152
179
201
130
161
169
146
217
144
204
162
185
191
210
261
129
161
156
194
176
241
254
173
262
182
203
179
130
129
239
130
219
168
149
260
206
184
146
186
145
210
222
168
212
163
203
189
247
178
187
201
206
133
255
235
204
161
250
227
160
164
232
214
144
192
247
153
181
150
145
179
179
240
183
199
215
211
147
169
143
244
202
184
214
166
217
251
129
189
149
129
176
200
191
269
204
210
179
115
238
247
146
147
129
180
186
276
233
239
184
263
145
185
176
154
144
160
196
217
173
146
200
184
130
232
252
146
164
217
225
189
132
145
235
178
143
240
185
271
222
221
178
179
151
200
146
130
194
158
204
176
115
175
236
162
172
211
173
199
201
220
164
248
156
184
261
256
206
335
184
225
193
236
217
210
175
166
173
176
168
210
174
197
210
130
146
235
147
173
179
179
192
193
179
198
133
210
214
130
164
184
214
157
168
174
122
201
150
297
202
208
215
224
206
166
144
171
209
253
222
223
170
255
176
130
201
130
156
211
184
149
232
189
159
266
129
129
231
200
188
226
192
240
173
161
143
188
206
217
200
146
129
234
192
146
201
231
212
204
170
186
151
130
271
186
173
166
191
129
146
222
172
175
143
222
235
202
169
166
229
217
197
206
143
129
197
210
146
164
231
180
143
221
162
156
180
193
219
261
275
169
234
193
200
298
144
230
148
159
233
187
182
233
184
238
156
201
281
168
175
204
274
207
168
191
235
184
216
146
173
264
225
168
242
204
186
182
242
204
184
232
219
210
133
171
197
236
166
169
263
259
143
155
202
141
179
191
146
199
156
129
163
173
130
251
174
236
145
230
185
202
183
138
155
204
173
222
204
303
166
145
188
149
210
256
169
275
183
181
206
208
194
146
264
191
200
173
115
265
301
187
297
146
210
175
209
146
214
188
231
176
173
141
176
174
214
198
202
191
183
129
167
192
187
213
206
130
129
217
164
173
216
240
203
181
173
181
202
176
217
217
220
194
236
176
178
205
156
231
217
200
155
201
210
192
201
210
300
164
237
202
204
210
129
240
143
217
171
129
283
189
191
246
167
227
185
146
225
246
222
165
143
245
204
204
227
164
211
153
171
217
168
266
115
167
186
146
201
207
275
159
264
264
168
217
115
182
221
130
184
182
215
179
199
143
155
145
128
185
197
173
173
160
192
180
244
204
202
170
208
146
204
198
216
191
294
129
180
239
170
141
129
129
186
181
173
201
202
248
129
231
130
146
219
203
180
146
184
218
264
198
201
335
221
195
259
162
182
146
223
130
229
173
153
196
247
210
190
166
230
266
217
187
130
188
201
256
222
183
176
223
234
158
216
242
201
200
207
167
215
181
184
155
129
146
292
218
231
205
184
173
174
211
286
179
159
231
188
185
206
262
173
173
200
214
228
232
129
205
176
302
210
241
182
173
206
245
164
155
204
173
172
274
166
129
211
283
181
173
203
219
189
180
197
205
262
183
301
143
169
145
179
186
169
261
255
226
172
216
202
195
146
170
164
217
237
236
129
188
228
132
129
190
210
175
193
181
191
191
217
206
203
172
193
129
208
143
177
170
157
236
202
143
194
196
168
183
176
235
130
129
254
271
184
255
155
218
169
211
211
237
204
246
183
176
133
178
180
244
145
207
184
207
155
146
189
206
206
180
217
128
152
185
204
176
210
164
240
176
209
173
211
187
197
172
191
164
216
158
179
130
206
186
192
238
201
141
170
147
191
186
236
176
238
164
181
197
182
217
199
210
148
145
260
202
157
186
171
188
174
146
189
204
169
180
244
204
130
169
172
230
190
204
166
202
176
169
181
242
152
203
214
210
170
219
140
129
160
166
160
228
166
152
161
179
181
149
162
233
166
204
227
210
237
146
194
176
146
201
204
129
249
144
199
166
221
228
261
228
242
174
204
233
221
204
151
193
216
173
185
217
178
146
192
143
190
195
260
208
171
175
181
115
209
175
130
248
263
247
202
222
201
259
191
173
217
209
143
115
176
213
195
212
226
171
197
258
130
211
184
186
166
178
199
129
200
183
200
146
256
230
204
164
236
203
261
235
160
176
168
155
259
225
261
189
161
191
160
204
133
253
173
202
189
187
208
209
149
129
248
174
201
217
204
164
204
176
168
188
247
208
198
217
237
202
176
264
156
177
143
184
156
226
229
180
217
260
140
205
206
130
192
150
184
173
256
159
122
242
228
211
202
188
189
162
182
169
149
171
185
221
253
130
210
129
206
225
181
129
191
146
200
181
161
202
180
206
283
184
200
155
115
173
173
197
201
204
191
227
169
280
195
145
172
239
168
197
214
183
129
162
221
211
203
210
215
202
209
205
203
146
145
220
202
197
158
315
202
160
201
151
129
254
182
129
185
185
211
129
179
212
178
194
210
146
257
178
211
166
210
200
267
261
145
133
130
183
146
130
183
144
166
187
149
129
130
203
241
210
182
147
158
159
199
143
185
156
170
129
184
158
204
175
258
198
218
200
195
221
296
179
198
177
149
218
172
119
133
168
161
129
130
181
176
143
244
244
115
211
261
130
213
209
262
129
219
204
132
225
202
128
202
230
195
170
235
146
223
175
194
192
196
191
115
197
160
204
168
188
179
141
129
141
187
184
201
133
195
184
186
130
214
157
162
197
208
202
219
168
277
222
204
201
216
246
162
176
204
230
207
201
146
187
129
160
143
206
228
156
115
188
218
146
210
228
149
177
228
265
191
141
231
234
190
265
252
195
176
221
161
147
175
196
189
190
204
167
138
251
186
145
172
158
280
187
215
133
164
172
156
186
141
143
144
203
247
200
164
155
176
158
201
192
179
192
145
247
258
181
193
238
160
202
237
176
171
157
244
182
203
169
203
217
182
188
159
236
217
183
178
178
158
180
152
204
187
244
194
158
202
182
200
210
166
211
297
166
270
223
215
210
228
303
302
173
187
164
182
177
197
201
179
173
183
176
204
141
182
169
236
144
187
172
180
180
176
211
179
129
150
204
129
130
213
237
145
298
264
189
223
181
186
204
129
216
182
231
246
146
141
226
209
164
250
252
179
130
239
249
204
211
164
187
198
190
210
143
217
192
162
230
202
173
164
158
179
131
194
158
132
122
230
213
166
172
178
146
173
177
280
204
168
184
216
115
203
129
173
157
185
321
292
191
207
231
171
248
272
184
188
236
161
176
217
129
184
211
158
258
222
301
204
173
168
191
145
191
195
129
151
217
220
115
164
183
146
174
244
164
180
188
205
195
166
164
162
181
194
224
246
176
200
195
151
162
162
264
206
179
228
229
230
200
192
205
155
115
129
210
240
197
182
239
175
209
202
133
186
182
133
204
180
217
199
199
192
210
202
222
146
171
207
222
216
193
174
169
133
186
156
240
186
170
164
197
176
222
156
227
288
201
214
212
229
178
297
230
191
183
194
186
176
190
201
192
176
246
164
270
181
146
219
188
146
180
217
272
129
115
195
168
129
255
169
162
264
148
251
254
191
320
225
186
143
187
181
197
206
128
164
217
222
204
156
168
203
213
244
172
115
216
142
236
162
199
207
211
202
164
230
193
188
183
173
195
176
238
146
161
221
266
176
176
168
213
157
226
191
241
166
189
217
202
155
164
222
161
263
165
173
247
162
162
146
190
129
238
181
189
129
183
200
207
181
161
181
201
145
226
230
164
183
211
133
158
183
129
237
203
115
143
198
146
146
235
254
253
176
145
229
213
146
225
187
144
156
162
156
188
188
194
155
115
178
168
203
181
185
212
228
173
242
203
191
130
211
176
201
251
237
201
210
180
242
188
210
115
208
174
192
155
194
162
184
182
155
162
173
210
165
284
230
202
172
215
198
128
146
221
129
260
176
143
115
193
133
146
227
191
190
161
204
166
168
231
183
204
210
155
175
162
146
129
160
204
147
202
205
242
247
186
247
146
188
133
229
208
232
169
236
183
303
218
199
239
195
205
191
194
155
276
158
180
189
287
169
217
129
214
211
246
173
130
250
178
141
169
152
221
130
241
167
146
146
333
162
190
129
225
229
169
182
179
230
249
146
217
166
253
198
166
173
210
191
157
203
184
122
194
133
150
183
183
253
255
204
233
234
130
185
180
160
129
214
186
207
146
259
195
220
176
187
156
146
206
269
193
173
236
161
259
211
221
158
198
129
145
263
238
238
138
241
174
158
200
129
175
231
231
204
173
199
210
204
130
272
191
160
143
214
173
165
181
156
146
214
280
143
246
185
192
180
162
164
242
129
182
189
222
209
133
200
184
141
209
201
169
327
146
169
203
115
183
239
164
187
164
115
222
255
122
210
164
257
193
256
207
204
144
218
179
172
190
225
166
227
190
246
212
273
163
204
179
174
228
146
204
162
227
176
141
168
168
164
170
145
158
130
232
272
206
195
237
333
177
171
184
204
184
212
181
198
145
236
194
189
149
244
227
146
210
164
206
180
171
178
243
274
193
210
129
173
184
162
188
194
206
130
168
191
133
133
191
335
157
211
220
161
221
188
186
222
221
215
182
176
165
265
201
193
208
217
173
122
202
129
217
170
168
242
263
193
211
210
184
204
149
213
211
143
197
166
162
199
187
133
156
232
230
115
231
175
158
184
176
189
204
194
211
150
204
122
168
184
178
259
227
128
133
248
214
235
185
249
239
187
239
210
159
185
173
280
210
228
217
212
242
162
200
158
199
217
156
260
166
160
239
190
153
192
200
231
173
150
242
200
202
211
144
209
176
139
205
300
214
159
173
210
214
251
184
189
176
133
140
225
256
161
166
146
214
141
225
202
178
162
206
160
173
247
175
209
199
179
185
207
130
146
207
196
184
171
206
239
217
129
152
151
247
227
129
191
189
180
211
156
222
217
200
222
224
158
210
130
225
176
158
179
204
183
231
201
133
115
183
158
261
115
219
203
216
164
152
184
167
195
216
203
186
229
159
205
185
180
187
176
122
191
281
222
229
213
162
214
195
146
129
173
133
240
176
173
168
230
217
201
133
150
209
179
181
173
162
165
176
204
180
147
237
216
181
188
208
300
172
208
141
178
206
210
206
264
184
209
173
223
187
217
173
122
203
164
190
221
194
268
158
211
187
194
213
186
212
173
164
162
219
160
221
227
193
130
129
173
176
174
187
230
180
164
224
185
204
258
204
185
204
184
210
184
173
195
233
233
187
168
217
210
130
173
226
173
171
189
209
173
200
238
170
211
201
251
146
133
130
145
208
188
155
129
242
149
212
173
194
164
192
166
259
171
283
158
216
258
155
190
141
255
180
166
271
246
188
115
335
256
183
170
115
192
143
191
147
230
240
216
230
180
239
181
213
204
217
225
177
169
201
197
206
287
231
194
240
255
176
143
182
230
211
218
122
177
180
277
146
174
170
232
164
146
154
217
191
217
231
225
175
164
191
204
202
231
237
247
165
200
250
164
212
149
217
182
192
201
176
158
274
145
210
241
205
185
228
280
182
251
146
210
247
264
164
216
206
143
177
182
172
264
179
259
168
146
186
176
185
248
219
255
206
130
160
192
185
237
174
183
145
210
122
119
119
211
204
300
217
194
288
237
226
176
202
211
173
171
143
159
164
223
215
162
252
178
313
229
192
189
185
192
190
176
335
252
200
147
184
191
177
161
277
181
204
168
181
178
158
119
205
240
228
183
187
146
164
217
129
115
175
146
115
173
155
174
181
248
206
176
224
160
210
228
146
186
239
209
231
236
253
209
146
170
188
230
133
206
186
236
245
184
184
182
132
138
179
186
180
176
291
238
115
236
225
204
161
168
129
180
179
176
227
166
149
174
200
224
189
185
206
169
254
211
230
179
164
115
157
183
242
178
202
194
168
206
158
149
156
205
240
187
234
179
164
325
180
217
173
239
268
153
184
234
226
188
174
184
201
158
303
225
176
157
195
152
251
170
237
184
295
130
189
157
190
214
167
176
213
230
146
146
173
282
129
157
181
164
129
177
191
158
191
158
202
162
210
225
231
143
194
193
225
203
265
183
129
178
146
191
122
208
234
181
183
161
191
167
122
211
143
188
155
166
228
173
172
202
189
155
178
173
217
130
183
176
204
260
221
185
201
192
179
190
168
229
158
175
175
201
187
201
166
184
268
184
236
187
212
158
184
178
179
162
283
191
228
194
180
185
186
138
224
207
179
168
228
173
129
140
168
238
200
199
169
202
184
273
188
143
210
220
224
230
188
184
237
146
214
207
222
146
244
130
173
236
158
201
129
230
238
216
168
195
173
259
215
197
173
306
173
191
204
182
200
259
162
189
173
180
206
188
146
250
145
191
187
171
250
263
160
197
210
132
243
191
180
167
162
229
189
145
176
129
195
188
158
176
241
189
183
173
162
210
251
188
145
189
208
261
200
234
149
132
162
130
168
189
275
202
146
192
263
202
199
129
229
241
129
130
191
222
203
230
187
186
180
193
181
271
129
143
192
239
200
180
169
190
230
182
246
155
185
227
150
204
230
207
197
162
167
245
263
205
164
129
242
164
130
180
164
199
225
283
230
256
191
256
158
146
138
201
197
237
176
192
179
201
157
130
254
238
184
176
232
185
235
227
200
222
185
207
198
301
209
197
245
179
184
198
155
130
167
217
220
184
204
204
264
183
166
201
188
228
155
173
205
198
173
242
204
156
247
250
205
160
199
201
168
185
148
129
223
217
234
182
261
129
173
204
261
182
233
133
178
188
158
236
146
144
162
146
252
180
204
180
208
215
146
210
160
156
162
219
211
129
201
188
256
169
210
194
178
133
177
198
209
204
133
130
164
211
236
262
200
237
187
205
166
191
115
178
173
182
195
221
146
249
195
156
210
168
207
188
204
217
203
130
224
228
255
213
184
283
130
129
204
133
234
227
247
233
211
130
202
129
146
220
192
130
183
182
205
164
204
242
222
202
168
211
187
227
159
217
214
130
165
173
158
211
166
162
265
173
184
191
248
158
158
221
201
212
211
217
230
153
156
230
176
206
197
130
235
173
283
173
216
228
224
181
172
185
172
146
129
252
169
151
227
183
145
133
238
210
176
211
210
201
168
133
230
189
186
208
180
151
179
146
204
190
223
145
179
230
204
230
174
130
158
209
221
204
122
179
184
168
146
206
234
227
158
201
253
168
161
158
206
154
128
282
185
157
169
210
211
204
206
190
214
200
174
164
202
146
204
133
122
253
297
178
211
223
210
176
202
203
145
179
124
160
205
233
192
201
191
207
146
226
169
204
191
129
145
202
115
202
227
176
195
176
239
145
210
187
307
151
192
235
153
195
188
217
188
219
200
239
239
234
246
168
176
155
236
178
150
201
130
206
180
259
246
262
173
203
178
199
210
216
143
238
218
201
227
229
183
256
268
209
176
173
141
187
189
195
150
207
119
169
214
204
183
182
165
132
187
193
221
236
130
191
176
171
226
178
193
115
133
181
171
185
265
173
129
182
240
146
238
230
163
222
130
176
115
152
238
195
267
261
236
184
217
217
179
181
190
145
143
175
175
266
130
208
186
222
199
193
296
164
259
176
146
239
200
206
202
178
145
207
115
232
257
152
162
217
206
247
205
130
179
201
183
222
146
209
164
143
213
133
229
252
186
162
189
211
152
127
133
193
334
178
228
169
266
192
194
240
143
222
180
163
219
193
182
181
173
187
160
190
138
198
158
217
251
130
335
188
197
130
238
143
146
168
214
146
132
122
184
146
201
146
206
210
146
234
219
183
182
196
164
259
287
228
185
156
231
129
168
145
239
203
192
155
260
199
231
175
179
173
164
210
208
182
208
184
212
200
178
156
264
194
129
292
185
212
181
190
211
143
173
179
220
159
173
242
155
115
151
246
182
202
115
173
201
186
201
130
164
188
218
247
152
176
151
173
157
286
146
202
199
181
166
133
241
294
174
183
170
130
180
204
143
178
129
243
211
173
203
211
192
225
230
222
237
146
202
186
184
208
133
177
173
199
187
122
261
171
260
163
184
182
208
143
180
204
164
146
150
143
169
115
138
231
152
202
186
230
211
174
246
261
191
218
179
266
215
146
205
194
239
194
210
158
239
183
216
204
263
133
255
190
185
198
183
202
129
201
206
191
180
238
172
258
179
143
164
221
238
236
201
188
161
180
252
207
210
181
260
204
190
200
176
206
258
205
186
239
203
182
217
208
130
173
192
173
184
238
214
180
194
200
201
180
257
238
213
169
150
150
191
185
193
201
161
133
138
225
216
303
146
262
249
158
173
164
155
210
201
156
181
202
158
146
173
173
201
180
161
215
143
208
195
191
208
178
236
168
129
279
182
178
208
191
230
191
173
258
246
202
227
228
212
164
129
210
211
146
202
222
158
172
188
166
177
137
173
183
186
171
155
176
151
129
130
219
167
214
209
204
201
234
164
180
138
231
122
180
212
236
235
159
324
213
274
230
188
197
255
201
176
200
241
132
164
129
215
173
160
129
173
227
146
303
248
201
150
152
168
238
225
216
164
229
129
236
179
186
214
200
185
238
252
200
143
150
162
210
202
185
204
207
256
129
115
115
238
178
129
143
244
128
200
211
183
300
168
193
182
176
168
178
236
202
179
237
202
150
176
182
233
173
173
213
237
178
156
133
130
179
181
201
221
210
239
157
162
225
227
213
115
122
171
157
178
204
156
239
188
172
220
146
308
244
188
129
167
248
217
179
213
211
173
261
200
198
308
152
220
194
166
129
176
269
246
181
192
187
183
221
214
195
248
264
151
129
193
182
184
212
129
180
210
152
236
159
192
158
181
199
247
173
130
197
119
180
176
143
196
208
146
254
179
217
173
156
173
164
173
166
220
216
138
171
130
185
130
299
227
183
200
223
208
226
222
133
201
189
238
165
242
238
157
180
206
128
191
143
212
130
173
207
183
179
260
178
236
186
257
191
173
247
176
261
252
161
204
182
210
129
133
133
212
145
181
184
216
185
210
162
333
176
191
204
211
210
191
206
227
242
202
256
202
152
185
146
225
133
187
130
229
204
164
164
197
186
201
247
224
131
189
191
191
161
226
199
261
175
182
129
216
225
214
263
191
193
250
242
251
232
269
218
209
204
173
191
132
173
188
203
164
143
202
130
150
179
184
168
307
225
188
149
143
185
199
119
261
215
184
210
225
133
168
164
254
224
162
210
245
246
141
166
260
185
227
211
129
161
176
162
199
176
153
173
189
230
195
207
185
158
210
129
186
238
156
264
193
164
190
179
164
138
192
115
217
212
173
133
173
217
155
198
250
250
173
187
240
146
166
156
155
173
158
159
238
178
168
233
146
335
183
285
146
176
223
191
143
156
166
146
274
255
206
168
199
217
174
173
192
247
169
206
164
200
158
178
192
188
175
129
231
162
210
195
155
241
129
141
200
251
130
169
314
162
150
160
190
206
184
183
176
181
246
146
138
187
173
222
276
211
182
219
164
182
232
146
212
166
214
162
200
161
200
201
211
204
221
204
215
255
155
209
183
185
173
244
226
146
201
180
211
194
188
115
225
304
210
223
186
250
225
210
169
129
260
141
177
202
210
179
184
186
201
210
217
122
143
192
168
213
173
171
182
170
204
210
127
230
210
197
188
186
191
208
194
132
204
210
184
150
129
243
198
201
235
152
128
227
173
146
173
211
168
210
181
203
183
189
214
222
178
236
173
230
184
176
214
224
173
195
206
164
256
232
155
227
264
213
231
167
239
150
178
202
193
161
158
195
199
178
289
183
176
176
217
209
187
160
204
221
145
171
192
243
179
178
187
156
178
238
173
160
182
217
202
200
244
130
204
186
191
187
145
130
173
146
115
133
145
219
189
239
243
239
177
144
203
264
143
164
220
173
211
143
174
211
164
260
182
169
210
146
162
238
166
255
152
204
238
239
152
244
115
183
129
191
184
182
179
168
146
242
202
181
204
181
201
189
180
194
184
185
335
185
202
162
129
176
169
166
217
182
133
166
287
156
162
198
176
173
202
189
133
246
226
169
260
159
229
130
218
187
146
141
168
200
211
177
175
129
164
213
176
239
162
168
225
206
166
226
173
233
203
175
252
192
199
214
162
141
132
274
158
167
262
212
172
173
206
182
204
133
180
143
162
217
249
183
196
238
169
210
245
176
187
145
230
159
241
166
145
205
189
201
162
188
174
130
173
201
204
205
129
176
222
168
162
222
202
143
155
264
246
204
200
157
176
184
146
130
146
225
235
219
146
201
204
284
199
173
168
267
214
176
138
194
270
133
188
178
264
145
248
201
229
158
206
176
201
180
247
129
179
246
283
210
193
186
204
178
129
182
235
214
133
246
181
225
173
210
149
238
129
200
173
180
146
162
173
241
204
182
292
202
145
133
138
141
146
183
200
238
175
203
200
201
178
190
193
212
130
212
246
240
130
143
228
169
141
146
206
211
201
179
204
208
146
226
176
206
195
198
182
203
183
166
206
128
164
182
186
211
129
174
203
208
208
178
146
161
129
258
242
207
182
157
228
239
236
234
146
297
201
198
158
202
211
204
138
217
173
115
151
206
190
288
191
149
144
274
222
155
130
168
206
146
141
132
238
255
130
201
204
183
211
171
224
261
146
292
227
153
191
204
179
231
173
218
144
191
178
335
166
205
171
202
177
236
164
261
184
130
204
130
211
166
115
177
183
182
167
184
238
264
264
173
173
226
146
211
172
179
261
164
173
210
141
211
130
146
141
167
256
201
199
146
144
238
158
130
228
212
178
133
230
190
229
143
231
174
143
173
204
183
153
209
133
146
173
219
122
165
202
198
166
185
222
199
234
180
233
168
264
174
143
173
172
185
197
184
168
228
238
144
195
257
171
204
148
171
229
133
227
204
168
178
195
211
173
183
216
234
129
173
204
145
173
166
146
133
202
153
211
222
157
194
287
182
185
171
115
217
240
182
119
259
210
173
274
145
168
165
219
173
150
166
242
191
182
184
256
204
181
215
174
263
193
192
178
242
173
162
115
138
204
115
184
159
131
217
240
242
272
186
138
164
168
155
157
206
187
122
179
143
255
204
133
192
203
143
195
173
190
163
288
188
216
145
179
145
186
262
175
129
225
189
176
138
179
183
180
184
151
198
204
183
231
198
130
157
201
162
129
206
181
204
184
175
210
202
179
172
161
201
146
168
146
221
181
182
183
137
173
193
230
247
177
217
223
281
169
207
216
210
208
122
132
130
143
149
230
146
251
166
169
264
204
214
162
184
197
295
207
200
166
164
200
168
158
190
217
211
242
182
179
200
231
256
173
182
200
129
198
133
157
190
213
154
182
130
143
231
178
239
130
168
188
149
250
202
167
145
180
166
188
207
178
146
168
214
213
313
143
169
173
185
173
129
202
174
256
236
267
204
115
244
191
188
130
138
157
214
115
133
263
214
202
199
198
172
179
202
212
214
208
200
150
199
204
186
129
264
189
199
202
168
165
173
272
210
173
179
162
213
145
143
239
198
211
275
151
145
146
146
187
222
230
279
216
200
206
286
141
158
273
156
230
158
147
186
219
176
162
204
190
251
254
129
146
180
236
240
261
173
189
130
169
209
295
169
158
178
173
189
197
229
188
209
246
220
335
201
239
159
146
171
173
176
182
187
224
221
204
202
195
128
158
169
143
208
307
244
222
129
151
164
183
164
178
172
151
236
238
170
129
216
201
202
129
181
204
181
173
205
130
235
195
214
214
210
150
224
212
166
233
164
212
173
164
244
172
227
155
143
168
164
225
182
176
164
217
122
149
198
174
274
159
130
176
227
173
200
264
155
263
119
128
200
251
183
191
184
201
202
175
200
168
237
201
191
209
217
168
263
129
129
179
208
211
219
179
233
252
183
173
183
173
264
223
191
202
194
183
201
128
169
237
187
160
221
191
182
209
168
256
244
218
218
190
162
166
212
184
173
204
130
200
191
232
176
244
168
236
186
187
172
194
186
130
198
217
133
169
185
177
129
206
129
200
189
189
167
227
168
133
151
163
133
130
166
146
221
188
242
234
212
200
250
198
152
145
238
115
206
230
225
143
205
195
184
258
189
201
244
182
251
173
166
146
184
222
130
206
194
280
149
173
209
218
193
202
130
247
202
195
146
206
218
188
186
146
161
172
194
151
227
177
214
222
180
221
232
185
149
227
178
211
167
130
159
132
184
174
202
199
228
146
158
287
187
200
202
184
279
226
176
145
217
277
173
157
146
246
235
181
256
115
212
249
214
143
203
215
181
191
173
236
164
143
129
221
231
217
188
191
143
150
115
251
214
226
150
203
158
164
210
197
221
260
180
184
187
201
204
146
180
146
209
155
146
151
208
169
146
176
190
265
169
228
173
240
229
185
302
168
168
129
264
176
162
189
143
130
213
133
289
184
217
190
164
178
217
187
150
146
182
158
194
129
217
245
155
158
129
210
217
184
230
178
171
201
164
129
243
244
191
239
237
211
161
198
222
212
154
132
168
184
204
149
183
194
210
146
130
221
150
185
133
115
252
239
130
185
174
204
195
133
185
189
209
207
213
232
130
178
276
129
203
175
239
132
122
193
164
130
172
173
145
169
199
181
240
182
130
236
236
191
220
201
210
247
239
190
214
229
203
133
256
204
146
174
183
180
176
173
211
199
206
164
231
210
152
145
122
128
239
211
189
193
190
146
217
144
211
210
164
146
178
180
201
143
185
300
230
200
195
166
268
160
206
166
191
150
191
144
143
146
204
239
174
191
255
213
209
259
216
177
150
266
217
146
206
169
278
179
236
168
185
172
230
236
217
182
180
204
182
179
160
176
156
271
130
133
179
182
244
191
153
129
144
231
174
146
168
204
214
204
183
178
162
226
178
300
169
204
201
249
146
242
129
232
184
261
191
225
201
129
115
294
204
232
200
185
241
219
160
187
155
200
211
225
142
225
170
226
242
263
174
258
204
145
204
206
195
152
192
178
157
167
191
162
174
221
176
214
195
167
183
122
200
200
173
210
206
180
238
175
230
217
255
129
133
205
183
210
176
230
200
167
176
152
224
292
160
257
161
130
173
232
226
235
203
227
186
184
179
210
182
206
150
130
183
170
164
180
256
129
158
158
176
244
229
200
180
211
205
204
304
129
146
198
115
129
231
122
183
175
146
221
178
129
179
130
170
129
150
193
156
165
145
201
175
173
324
147
234
156
250
133
189
231
202
147
224
191
177
130
229
222
287
242
162
214
201
149
231
217
247
242
146
197
160
130
180
259
173
122
244
239
240
168
145
155
183
185
169
204
172
166
144
189
132
190
212
232
169
239
182
215
188
168
153
236
160
237
150
214
146
169
230
164
226
173
210
144
143
183
204
192
215
217
195
221
164
168
210
275
200
176
202
129
146
159
158
183
167
187
205
196
172
200
198
173
260
182
170
195
181
174
214
190
150
244
164
246
243
211
245
200
186
257
190
162
115
220
129
201
143
220
208
217
236
195
217
204
182
180
146
193
145
115
221
145
209
183
189
269
264
190
204
164
141
166
209
184
146
213
216
262
206
202
258
195
146
184
171
266
141
176
183
171
130
166
274
238
204
207
230
222
130
230
197
195
217
188
204
130
173
150
202
217
151
146
178
146
191
244
188
237
146
265
158
130
220
173
172
217
146
143
245
237
156
201
205
149
129
168
173
219
179
197
149
188
160
200
201
170
202
115
243
189
184
257
236
242
228
244
149
130
201
227
211
177
255
131
202
150
179
164
155
264
184
212
146
218
173
205
167
151
170
151
160
130
189
146
182
210
185
160
202
204
130
130
221
200
179
163
141
202
237
222
253
198
186
182
214
230
238
195
198
192
208
179
160
261
182
200
263
283
257
129
184
164
201
189
170
201
211
185
140
158
181
190
176
158
256
212
185
192
214
226
202
224
188
206
175
224
243
270
173
115
226
225
176
161
178
210
190
176
188
229
198
206
204
263
172
242
144
226
204
156
188
204
204
204
181
138
201
222
231
195
129
115
200
208
194
238
144
115
189
265
217
204
205
173
162
274
176
184
223
216
201
179
204
271
170
211
192
287
182
187
267
189
194
217
237
252
238
187
115
179
192
200
143
178
236
213
238
210
115
240
272
145
213
169
129
115
162
206
308
185
173
266
186
204
158
298
146
254
182
168
187
115
146
193
251
214
230
278
157
150
217
217
236
130
202
217
180
335
184
150
133
179
255
225
191
225
251
191
176
335
172
178
174
194
173
181
130
252
216
270
204
209
176
206
222
296
195
176
151
160
178
201
186
182
173
214
139
175
242
158
216
183
191
162
173
115
216
204
151
173
130
184
129
251
129
205
187
158
218
178
178
184
189
211
144
138
194
184
182
215
214
160
168
230
242
168
204
184
176
166
210
176
205
185
179
158
157
213
239
181
227
187
130
199
160
216
176
182
188
179
183
172
161
176
216
168
264
228
171
208
226
158
174
231
179
238
196
161
191
164
176
179
160
210
185
211
197
143
220
192
219
157
166
239
133
158
228
173
203
281
300
246
217
202
166
130
184
204
256
217
122
167
292
208
201
259
185
252
156
133
228
269
182
194
130
166
168
215
145
207
187
185
182
211
115
146
204
192
181
216
212
160
141
184
168
164
242
211
173
129
184
286
173
129
155
223
231
176
132
221
173
115
161
155
201
180
176
270
195
212
192
160
213
164
182
250
214
236
157
238
184
169
178
174
314
191
212
168
172
178
204
185
215
167
203
229
146
214
240
130
204
181
153
210
200
189
202
250
304
230
141
261
129
119
211
194
211
216
173
183
224
184
129
245
202
211
129
176
176
164
170
224
203
141
172
185
166
157
162
200
186
250
147
184
149
115
274
173
137
168
141
150
186
185
201
265
187
206
194
176
181
202
138
204
176
275
146
185
159
129
179
172
192
261
143
247
155
166
287
129
225
204
179
194
171
200
194
175
204
156
184
173
179
214
303
246
211
228
239
149
178
182
184
178
157
176
208
201
218
251
169
186
143
244
178
288
161
173
273
115
154
266
281
158
175
201
204
168
129
182
201
150
210
198
201
217
171
173
237
144
242
185
146
202
228
130
210
173
162
168
206
213
157
221
187
210
250
237
218
141
204
149
306
207
156
202
196
147
146
219
178
183
256
190
195
206
212
247
206
175
204
174
201
130
283
182
227
240
198
170
216
176
181
222
214
144
181
158
213
169
231
146
210
145
130
190
186
157
189
205
200
179
146
213
158
162
242
287
244
304
269
172
173
188
176
152
169
200
233
227
230
224
145
153
130
231
195
193
138
141
264
222
145
231
199
156
206
169
141
178
166
198
133
158
179
146
178
235
149
184
167
239
195
180
200
129
197
146
318
146
210
211
163
206
173
130
129
133
164
178
211
213
211
214
180
209
187
156
273
191
173
164
204
183
191
221
191
159
202
197
183
216
141
279
206
182
170
335
236
178
167
201
239
201
155
259
174
210
197
199
197
187
197
210
223
297
218
222
130
145
183
184
150
176
210
115
199
152
201
261
286
217
158
184
190
176
195
156
167
174
130
228
202
238
189
233
206
199
261
206
173
173
174
190
163
220
206
146
182
202
211
173
179
257
158
146
204
222
161
228
210
220
183
183
246
231
155
169
122
242
144
255
184
239
158
189
190
211
198
179
184
169
188
176
224
186
174
185
206
206
216
171
146
130
246
182
173
274
238
178
145
169
251
146
183
206
236
209
182
206
173
265
224
188
192
230
263
170
181
173
129
211
132
170
205
181
203
190
210
197
165
249
214
160
233
192
218
212
236
227
264
160
174
204
146
129
249
166
132
273
158
210
250
171
129
231
163
178
241
201
193
210
264
230
173
186
177
173
184
184
230
183
178
157
193
205
129
264
130
236
214
259
196
216
145
156
173
249
178
241
197
174
281
156
129
210
176
182
176
153
188
196
210
219
143
129
129
170
173
255
231
200
207
181
175
251
204
207
158
248
231
189
261
185
210
231
187
249
225
210
201
199
145
227
161
221
192
222
227
172
265
211
153
133
129
224
129
194
159
204
221
245
199
122
202
129
209
173
169
210
155
212
166
206
214
254
185
217
210
188
181
241
146
201
200
190
191
173
189
237
294
168
227
173
180
170
182
266
146
199
201
176
178
184
204
242
238
129
198
158
248
146
213
149
176
129
189
130
201
209
167
173
223
130
173
146
199
162
130
155
156
248
275
157
173
159
182
200
128
146
157
201
273
176
145
184
167
211
200
164
201
150
162
115
247
146
186
150
168
217
164
199
242
217
215
209
160
183
181
162
220
217
173
179
152
191
195
133
172
129
200
202
187
183
211
133
252
201
182
202
263
164
145
122
210
173
237
274
218
194
273
130
152
303
128
254
170
160
194
189
179
211
242
184
173
236
234
138
248
184
200
239
193
130
266
254
188
130
222
191
129
214
207
184
204
195
165
215
156
202
211
273
239
205
235
221
149
217
168
129
219
244
208
202
152
146
236
203
178
174
200
211
176
190
183
144
178
160
201
217
204
248
200
150
227
159
205
160
239
229
251
290
211
158
176
164
211
162
246
203
186
129
176
158
153
210
180
146
214
335
206
207
274
157
173
181
204
274
246
191
178
210
230
282
263
190
164
172
150
183
229
179
213
181
151
162
130
245
204
159
156
233
210
164
129
152
190
174
150
230
179
186
183
204
165
182
204
236
230
143
187
261
168
176
162
238
129
156
146
189
230
263
178
157
224
155
226
218
197
206
208
202
227
204
201
211
199
269
173
227
218
115
165
145
235
217
196
324
173
176
178
200
119
141
213
172
191
204
172
184
133
216
176
223
182
210
186
189
211
183
156
130
210
252
160
201
218
288
211
190
183
173
182
182
156
143
207
133
156
185
145
201
162
247
222
211
178
227
192
184
202
188
230
147
191
173
221
184
204
207
176
294
218
175
230
146
202
206
223
130
168
173
228
204
146
231
232
236
218
222
173
184
218
210
223
230
218
266
189
162
170
204
184
239
208
179
187
258
210
216
190
222
209
129
197
264
129
146
208
201
258
176
200
183
184
146
264
157
174
205
208
209
171
129
171
201
195
180
175
185
271
211
239
194
144
158
146
196
176
195
162
204
200
183
217
179
234
133
178
210
195
201
206
228
251
224
143
214
179
239
202
175
341
247
149
247
192
213
155
255
145
119
224
261
235
170
133
229
225
214
240
165
228
246
162
173
222
141
201
185
227
222
155
167
179
236
187
324
176
275
222
236
239
273
280
201
158
171
208
230
209
195
188
160
258
188
239
212
201
164
146
184
179
259
174
176
201
209
195
183
266
176
217
145
188
206
168
238
186
164
146
162
180
185
269
162
143
115
273
143
173
130
219
182
172
196
143
239
164
180
164
133
216
201
173
176
202
164
261
174
157
191
190
145
184
173
115
198
160
204
162
173
185
150
173
158
201
254
173
130
211
149
188
171
182
143
172
224
204
160
190
173
239
191
198
252
184
169
157
239
182
168
164
204
155
251
173
206
195
171
158
227
172
210
146
218
247
281
157
176
204
271
147
143
130
257
171
181
239
227
212
182
180
225
179
173
215
204
191
145
258
176
236
185
130
164
191
190
194
161
210
184
221
133
205
133
158
234
168
175
304
211
218
184
200
150
128
222
201
200
130
182
156
129
143
129
184
199
206
145
216
146
234
224
244
191
130
189
179
164
185
129
229
230
174
179
146
242
190
227
213
180
214
133
169
194
201
178
179
158
254
206
129
176
129
202
192
168
243
162
237
132
130
173
182
179
235
168
200
213
191
259
133
189
221
194
179
258
227
303
183
170
190
128
236
179
242
129
180
272
173
296
200
185
143
176
168
174
138
200
264
194
224
130
176
188
165
138
174
195
172
160
207
169
202
138
191
212
184
233
191
187
238
191
182
185
241
164
216
130
172
176
225
181
131
183
204
158
210
206
156
146
217
176
260
229
173
236
146
173
218
163
172
194
221
178
259
160
183
180
221
203
211
214
237
221
202
195
191
211
197
197
196
143
204
269
205
156
173
257
228
214
204
138
197
210
211
129
222
186
183
218
174
207
251
299
218
233
208
205
115
160
264
300
189
129
173
268
200
174
217
130
218
207
217
192
225
129
285
210
203
226
115
180
130
171
192
183
257
183
141
184
179
200
217
227
144
244
184
133
166
166
179
170
233
170
218
244
129
193
143
247
217
210
204
264
169
144
158
179
130
158
146
204
133
129
179
176
155
232
240
238
192
186
201
188
130
164
210
146
196
210
201
122
204
299
162
226
206
184
201
156
165
176
238
129
250
230
180
197
335
228
193
155
238
211
231
176
195
205
174
191
178
191
185
202
200
163
197
204
146
176
158
243
176
173
187
145
264
236
192
175
137
206
172
190
161
176
206
256
287
202
223
216
236
161
184
199
246
247
176
200
157
178
141
255
180
238
200
240
228
200
209
173
161
187
210
115
176
232
146
158
308
210
179
223
160
132
210
173
130
195
179
225
210
173
176
189
143
176
130
231
203
226
173
162
143
162
156
159
161
222
146
211
221
210
173
190
217
221
146
129
202
170
206
258
195
133
145
115
191
179
208
166
200
259
146
236
195
143
169
166
160
173
230
156
166
210
223
149
206
284
253
158
130
164
230
214
162
175
146
233
222
216
129
221
226
227
225
146
188
178
184
187
229
258
255
182
184
267
252
210
211
214
184
145
155
227
226
228
161
217
168
226
129
181
206
257
190
156
189
206
195
143
258
203
217
229
164
136
174
202
162
160
179
188
188
235
143
242
188
202
143
247
130
146
133
283
178
164
179
182
208
180
283
285
288
167
162
146
202
133
205
231
214
175
115
200
129
192
187
141
158
219
176
300
191
229
214
197
145
184
228
249
182
190
195
167
199
150
129
223
168
222
201
175
261
200
194
200
130
180
149
129
173
210
129
184
146
201
192
166
253
143
264
202
206
229
263
161
222
115
161
145
211
185
191
190
231
239
146
249
206
206
129
185
179
164
176
209
176
164
211
173
238
173
122
193
189
237
302
178
143
179
265
204
240
156
182
228
156
259
130
242
210
162
138
176
230
217
115
204
166
183
178
208
173
230
146
175
146
150
130
204
130
156
165
176
181
179
194
173
200
145
218
115
204
156
188
199
190
202
155
256
174
242
199
218
156
195
211
145
162
235
217
156
217
260
173
210
193
165
174
156
162
174
182
183
230
238
160
179
258
236
176
115
221
214
188
176
211
243
155
173
232
160
133
184
165
161
228
218
234
200
202
185
228
217
160
129
250
130
283
298
181
156
250
221
169
234
122
157
115
211
202
164
190
129
230
201
150
228
222
173
246
254
206
202
202
204
187
146
169
186
145
229
180
182
122
255
161
195
213
177
129
133
226
164
282
259
195
235
242
202
198
246
335
132
145
188
133
199
213
177
174
266
122
182
230
147
188
276
150
161
211
132
204
303
225
188
202
145
200
133
204
197
228
229
145
227
167
194
234
201
141
129
137
173
211
233
251
149
164
220
203
194
186
158
180
230
146
164
244
229
146
202
228
173
261
182
130
214
169
242
158
183
191
200
157
175
200
247
129
252
191
176
152
173
189
191
174
184
216
199
232
208
205
169
194
218
210
130
228
234
335
159
217
204
218
130
149
224
211
184
158
173
214
238
155
130
162
133
197
229
160
213
169
246
264
283
162
170
185
146
268
132
221
191
214
259
201
200
173
156
164
232
238
141
299
166
172
210
202
183
191
225
222
200
179
175
294
173
189
274
171
180
181
200
179
204
198
176
169
214
210
240
129
184
207
185
173
251
146
174
234
228
149
176
158
133
214
211
251
176
210
178
194
217
222
151
209
235
145
146
217
239
267
240
133
176
174
217
237
167
173
115
172
335
175
158
150
177
179
158
168
251
133
122
179
173
162
181
169
221
216
210
149
158
249
296
144
190
219
184
156
214
161
195
184
168
207
155
129
204
179
199
146
216
164
186
250
162
201
171
248
162
184
173
141
145
165
168
172
173
130
185
203
211
168
188
211
211
129
186
217
233
182
206
130
225
176
156
225
162
229
177
146
168
149
166
230
130
205
130
183
244
227
234
172
236
143
255
242
248
213
174
239
179
164
236
161
207
249
146
175
217
248
217
259
164
158
185
191
194
200
187
143
204
202
184
156
202
182
244
130
176
204
170
210
162
211
305
183
179
187
204
325
238
180
168
173
178
164
175
219
238
146
173
150
242
192
178
261
179
244
232
182
237
167
205
173
182
182
161
255
179
146
247
242
200
208
176
176
208
177
200
250
302
194
173
199
230
145
270
211
204
168
233
201
184
200
237
190
193
144
211
188
246
213
219
122
256
204
275
130
240
122
199
162
181
229
130
169
172
169
202
258
236
204
193
156
176
263
244
204
162
236
210
201
180
176
206
209
190
149
181
153
188
217
282
178
185
269
173
184
246
129
157
245
190
153
223
232
238
239
152
176
262
227
173
164
179
220
225
219
238
263
133
180
188
201
245
176
188
184
234
232
176
186
163
204
211
198
218
226
225
129
230
241
129
182
211
128
200
130
164
179
151
176
221
156
217
195
183
115
115
246
115
210
240
188
133
230
201
247
222
173
186
176
190
226
164
158
216
179
176
212
209
157
182
190
236
166
221
261
173
236
210
231
259
172
143
214
236
187
143
165
169
199
145
122
215
162
203
178
238
212
231
220
180
203
198
158
169
129
217
168
204
186
230
169
178
168
160
263
182
183
194
228
138
200
221
183
173
200
157
204
183
194
252
210
184
211
199
183
209
191
249
198
175
267
163
119
228
230
185
192
188
200
238
215
130
211
164
132
198
145
209
238
170
210
133
230
261
156
173
204
197
182
191
130
182
146
130
239
130
260
160
217
146
157
170
182
200
155
236
211
222
146
204
173
146
209
205
216
165
184
217
176
145
230
244
181
204
198
168
268
188
252
164
152
149
129
256
170
230
158
155
204
227
227
129
174
217
156
130
189
233
222
130
197
164
188
173
143
219
179
155
210
227
185
200
183
189
143
246
268
231
129
226
224
202
155
146
181
191
133
235
188
204
184
133
182
201
176
162
228
234
259
174
178
258
173
283
185
237
194
208
238
179
158
204
239
130
133
210
261
229
177
176
145
221
167
184
217
217
129
173
221
184
181
156
212
202
189
225
239
291
161
145
172
181
145
163
176
201
161
128
180
230
217
115
156
153
146
206
230
241
204
258
218
146
138
164
275
235
202
202
217
188
297
184
266
208
210
158
209
200
164
180
141
168
256
178
146
160
180
184
144
186
201
197
169
206
143
234
176
187
186
200
261
160
129
202
146
261
267
236
169
219
206
156
335
218
119
177
153
130
115
193
199
184
249
247
186
253
238
182
276
195
179
173
217
180
209
201
201
173
207
183
231
161
155
164
173
240
185
250
207
233
146
264
194
157
236
183
173
173
197
204
208
153
218
212
219
158
187
138
141
176
155
182
146
130
229
160
156
211
144
130
222
238
195
202
173
163
200
239
202
235
254
184
231
238
219
274
208
170
176
214
221
211
225
141
156
176
185
159
151
180
193
160
174
194
185
208
168
176
212
221
207
155
162
182
202
228
173
143
212
165
217
204
175
261
186
210
138
146
214
170
201
255
195
129
204
155
194
214
204
230
243
176
253
200
202
190
143
201
262
129
161
122
204
173
183
238
178
217
218
230
241
162
188
200
173
171
226
201
182
195
190
225
215
166
200
219
194
246
235
143
203
171
186
176
162
167
218
150
236
133
199
188
133
283
174
146
160
146
247
166
187
236
239
146
173
258
274
152
213
208
260
236
223
129
146
160
150
250
146
204
238
250
262
145
179
208
173
233
170
115
141
183
146
115
178
178
254
185
179
210
241
276
300
250
182
209
201
176
173
200
164
231
150
210
195
115
192
228
195
204
130
214
265
188
242
202
222
233
223
183
266
160
149
162
262
238
239
164
239
195
261
160
143
217
230
289
162
194
230
180
130
168
202
241
215
201
203
188
178
240
173
247
146
184
143
202
213
193
145
162
239
161
232
207
216
189
256
231
262
225
145
204
230
173
152
210
130
191
173
206
238
173
204
212
179
223
201
164
115
162
158
144
181
210
176
234
203
115
259
251
162
168
210
200
211
169
210
246
178
173
234
188
261
217
208
168
221
130
176
243
145
145
173
119
278
217
236
179
158
158
216
168
217
185
146
227
133
174
173
129
246
129
162
156
203
208
115
335
180
160
145
208
182
173
164
151
153
143
191
199
201
217
217
222
224
193
204
204
178
210
219
188
230
173
222
217
193
259
176
209
195
183
160
258
204
226
155
202
259
300
258
210
204
217
133
168
176
204
179
130
201
237
164
144
153
258
192
183
169
208
185
201
264
146
204
155
205
183
185
166
176
173
225
260
212
204
197
211
268
197
216
133
214
176
231
177
248
215
150
179
176
221
197
146
202
202
230
115
236
185
141
171
234
225
242
115
210
212
183
181
146
206
129
166
246
143
190
149
282
146
264
173
222
184
187
202
187
208
214
220
130
209
173
180
209
185
179
206
256
129
202
168
206
144
129
200
145
211
174
171
173
231
239
236
215
195
239
259
231
166
292
168
133
145
204
129
181
186
143
201
298
246
214
122
202
192
129
190
203
221
170
165
185
206
180
181
257
209
194
164
173
204
176
204
170
208
217
173
169
164
179
211
156
244
192
183
184
244
194
274
213
204
168
222
217
201
209
176
162
129
168
297
193
129
168
195
188
186
211
130
219
161
184
201
158
190
138
156
190
192
169
199
179
204
217
226
182
191
140
194
145
259
210
184
201
238
183
230
260
245
190
201
162
278
158
130
254
130
190
229
253
230
133
143
248
228
197
166
179
234
132
179
173
202
205
186
281
213
258
185
191
177
179
217
251
282
182
129
179
173
234
138
178
193
271
210
156
192
162
214
259
258
146
173
188
161
168
173
166
254
146
226
185
200
204
171
206
146
214
168
131
184
176
149
143
145
185
223
160
153
230
230
200
167
283
169
254
191
209
157
185
183
211
180
192
164
260
155
145
180
133
202
217
147
229
184
180
234
188
190
158
202
177
209
162
189
132
160
130
207
211
227
155
199
133
233
228
206
179
199
187
171
189
195
173
146
251
164
181
145
201
245
141
203
182
133
176
192
184
155
146
209
159
156
248
181
147
151
205
185
166
166
182
129
235
132
138
232
215
158
169
217
215
210
200
193
145
203
196
194
195
244
170
190
236
176
199
225
181
239
180
209
201
158
242
217
189
180
133
225
143
265
205
193
141
217
168
232
143
184
151
151
200
204
133
163
217
203
173
214
161
275
146
202
162
167
240
151
130
153
208
173
274
236
129
164
162
214
179
129
241
215
143
183
173
189
151
173
119
189
173
182
223
228
211
146
161
138
202
181
204
130
247
258
181
178
204
172
149
202
189
168
211
130
240
228
159
146
160
257
206
219
230
202
209
204
207
145
264
210
156
175
194
177
204
167
226
240
141
143
190
164
191
178
176
180
129
206
185
250
200
183
205
145
225
130
213
220
141
155
190
168
241
146
242
192
175
250
156
191
218
187
173
173
188
143
158
192
182
203
161
201
195
174
246
200
152
217
173
170
165
260
237
193
176
130
180
182
129
203
173
155
130
221
192
197
158
244
158
176
173
153
239
146
183
203
146
227
157
190
281
119
173
239
248
192
185
256
192
250
287
200
245
264
184
239
122
191
160
246
242
182
205
194
176
204
210
204
239
217
189
209
133
180
156
210
122
155
157
231
224
152
130
264
156
186
173
203
119
266
192
273
175
146
165
163
206
162
164
174
184
130
313
255
215
232
183
219
183
201
202
138
192
194
260
197
199
115
168
255
115
173
190
233
184
122
187
155
278
258
275
130
296
217
214
146
186
195
160
141
203
210
178
178
170
188
204
176
181
214
146
184
181
203
219
211
236
217
170
209
216
255
281
161
181
202
236
178
216
166
174
226
173
177
159
156
246
146
133
172
175
225
239
146
188
146
185
274
176
237
188
147
222
147
217
157
188
157
218
205
185
227
166
180
185
250
143
115
186
199
175
239
200
145
177
209
130
161
251
164
183
185
174
193
203
180
204
157
236
201
162
164
233
222
214
155
191
240
200
129
173
162
180
236
192
238
212
129
200
267
160
178
252
247
222
145
174
208
173
260
263
168
145
269
133
188
239
174
147
202
182
182
249
217
191
183
162
262
176
184
230
254
182
115
187
205
158
143
232
184
201
171
171
185
246
147
173
223
155
146
174
164
184
129
199
138
229
204
145
128
222
210
222
248
206
200
168
143
168
221
201
158
119
230
221
197
230
179
173
226
173
130
185
146
169
179
146
206
251
236
145
205
163
193
161
158
189
226
164
217
187
199
211
220
129
247
186
201
156
281
228
145
179
171
157
238
214
143
276
173
209
182
196
193
248
174
188
129
146
167
209
162
188
208
274
225
230
163
146
183
230
184
252
179
242
153
189
225
173
289
247
235
173
174
184
221
210
259
146
200
115
162
202
168
204
188
242
176
160
171
180
182
209
176
189
192
195
194
187
183
175
130
201
182
236
234
186
183
187
178
162
173
205
254
146
129
158
184
235
189
218
187
198
243
247
258
188
297
217
163
210
129
129
149
157
115
219
143
217
176
205
129
300
201
214
167
168
183
129
211
217
146
243
173
176
209
132
166
193
176
210
201
173
199
195
190
162
158
244
204
172
225
146
273
204
173
146
179
178
146
176
297
173
243
191
203
158
212
179
201
204
177
186
247
204
157
222
230
122
191
211
202
143
187
129
182
174
249
216
250
150
169
193
210
173
167
169
201
217
133
211
180
258
193
185
168
195
203
206
193
161
187
193
189
184
177
156
156
212
176
129
208
209
133
222
130
205
239
210
176
210
165
155
161
181
206
183
184
160
222
250
162
205
184
210
168
206
253
183
187
191
204
145
200
198
115
185
258
272
250
122
225
173
162
245
182
201
156
176
156
242
129
171
207
179
222
165
211
262
268
185
234
246
178
166
194
183
189
201
220
227
265
132
180
191
244
267
195
206
150
170
138
194
221
200
275
176
210
168
188
167
130
143
143
233
202
129
146
195
247
265
173
219
218
220
176
146
162
210
171
141
179
153
184
245
267
168
145
213
189
201
168
173
259
177
197
180
176
212
263
200
265
224
168
176
204
182
217
209
184
211
181
168
143
243
146
230
227
277
155
217
133
264
158
176
188
150
247
179
164
201
260
164
215
201
215
115
211
183
239
179
128
253
169
204
231
164
155
213
229
201
171
152
152
239
180
289
248
202
170
191
180
158
162
238
256
141
176
184
146
163
188
173
236
173
215
211
175
202
206
239
189
263
146
143
204
216
199
184
195
164
179
167
173
168
224
244
210
223
187
146
228
254
129
245
159
153
200
173
204
232
231
156
246
115
236
158
169
250
190
237
226
173
176
129
204
222
179
191
130
277
251
165
288
173
146
234
237
143
221
204
265
207
301
183
176
173
276
254
129
155
183
129
228
231
145
176
133
147
161
191
324
173
291
129
171
252
198
211
164
170
222
229
260
202
228
162
150
251
201
221
151
192
150
143
168
130
194
152
166
221
222
262
149
229
187
178
215
200
158
200
129
195
171
201
189
192
264
206
219
153
257
171
189
210
259
198
209
250
168
226
176
173
176
190
204
176
203
199
209
239
204
245
130
237
218
173
202
208
188
211
193
158
210
253
190
204
218
263
196
263
221
146
184
130
187
179
129
236
145
242
217
191
207
161
176
216
213
204
202
174
245
172
191
225
264
191
180
146
153
247
180
214
168
211
248
143
130
210
168
184
248
149
265
215
192
173
230
205
230
181
204
141
186
239
146
240
191
187
201
216
174
219
143
230
179
169
239
180
183
204
200
202
200
173
216
205
179
220
169
175
238
248
260
168
129
175
173
167
130
255
265
130
193
130
210
129
183
171
242
192
182
185
194
168
186
180
187
211
244
149
184
210
193
115
247
155
170
236
129
234
221
177
185
278
201
240
133
261
216
155
176
178
191
145
266
196
133
133
258
175
200
225
235
216
185
174
145
161
179
218
176
158
228
168
178
223
206
177
237
217
238
173
165
214
172
146
243
208
200
183
228
168
215
195
191
185
203
146
146
230
212
130
129
182
130
169
156
193
138
183
246
238
133
151
176
200
162
192
184
206
146
164
140
185
258
204
200
170
202
162
214
119
201
200
215
176
173
145
192
202
195
202
130
146
138
175
193
130
217
133
192
203
228
210
281
194
176
184
230
211
208
242
146
197
130
260
160
174
143
133
238
173
181
191
211
208
204
163
177
156
119
130
141
238
202
190
303
201
205
268
158
201
207
217
244
236
176
146
204
138
192
176
211
147
193
211
162
170
151
188
173
161
200
206
197
196
230
202
218
211
176
130
201
186
140
182
193
200
222
218
155
174
204
218
206
206
176
176
202
204
143
216
155
201
247
158
180
200
180
145
143
220
240
176
200
194
180
184
237
130
242
188
168
223
183
141
253
179
167
211
173
160
193
176
241
182
224
231
184
164
146
195
171
211
206
214
240
174
205
194
271
130
146
236
218
240
211
173
182
217
162
122
130
259
270
145
222
204
146
162
155
176
129
204
155
178
217
129
242
143
204
221
150
216
160
236
231
302
209
240
143
186
205
200
195
161
150
144
177
244
176
184
200
169
182
119
173
181
335
173
216
141
115
156
130
288
214
146
178
187
195
164
132
215
296
190
217
233
218
239
250
130
122
129
226
173
204
282
168
228
183
204
138
210
228
162
133
173
181
204
260
161
170
183
164
188
184
146
170
181
194
158
194
204
208
160
204
214
222
130
211
133
155
150
158
179
171
192
230
175
183
212
201
132
222
133
226
203
146
141
162
184
165
230
115
160
241
181
147
179
243
215
179
217
141
202
173
156
129
236
238
239
188
239
176
176
237
152
230
219
271
143
173
229
157
217
173
167
225
201
129
226
210
185
249
212
143
276
129
208
243
170
251
210
191
172
173
232
181
297
158
210
173
130
133
191
184
153
162
115
246
164
228
177
143
173
129
239
237
188
193
133
259
232
210
206
146
191
201
173
188
176
130
156
178
210
212
202
182
202
129
186
238
149
133
256
213
202
222
198
173
214
182
303
153
248
191
231
158
162
240
168
132
206
207
189
235
130
193
210
321
222
162
185
219
230
158
246
202
222
202
174
206
152
227
221
170
204
227
291
115
173
251
205
234
307
175
183
245
221
171
255
217
212
187
198
230
162
264
130
274
191
225
181
166
225
210
169
265
217
180
209
211
164
179
172
182
176
183
159
199
214
250
194
129
172
146
182
158
210
236
191
221
184
180
193
178
152
228
214
233
184
185
183
143
253
197
205
184
209
251
174
286
209
179
235
250
204
149
204
169
182
187
130
210
157
187
229
258
129
146
233
303
233
169
173
239
129
204
155
283
235
146
215
215
229
216
143
173
155
198
203
180
208
158
191
202
130
222
217
257
168
141
285
219
201
181
244
145
221
222
218
191
251
227
161
150
183
184
146
144
247
308
143
285
253
146
185
194
225
183
146
211
201
204
133
115
199
164
199
238
209
180
183
219
202
201
206
129
195
210
210
180
130
200
216
181
202
231
182
227
173
194
178
214
201
132
250
217
226
211
262
232
208
213
210
217
244
169
143
173
264
242
178
182
216
176
181
268
184
196
219
146
146
193
153
195
168
265
164
219
201
184
260
130
129
180
169
188
169
132
229
210
182
143
182
180
178
167
115
212
254
165
225
202
185
146
202
199
185
197
199
239
173
179
181
247
149
152
204
173
191
230
167
230
178
177
204
130
177
168
193
115
217
179
207
143
224
295
210
176
203
218
221
225
173
178
214
262
173
183
176
217
254
223
162
248
208
228
188
210
173
242
273
204
249
199
155
158
225
189
229
213
162
129
131
160
173
184
231
191
263
173
146
115
170
194
238
254
173
173
146
182
173
202
173
146
221
180
141
152
287
265
236
220
162
265
174
187
176
204
211
168
115
202
157
159
204
240
202
174
162
160
210
300
147
205
179
211
204
179
211
204
230
201
115
224
250
138
145
217
203
191
230
129
145
206
250
216
173
187
179
221
181
115
242
184
204
192
173
176
186
210
178
252
227
162
174
209
146
205
184
166
132
202
194
217
181
146
230
193
182
257
155
176
274
173
225
129
146
156
217
151
146
208
160
170
169
182
222
203
205
130
207
274
157
176
233
186
168
183
152
115
149
261
173
146
250
253
130
284
155
156
190
240
207
164
209
151
217
156
180
231
221
195
210
178
220
173
194
235
182
176
204
214
217
216
192
146
199
186
128
129
173
204
242
129
210
321
230
252
201
197
211
145
151
200
214
192
210
210
200
209
234
240
129
207
229
206
173
185
132
195
257
129
168
285
168
261
150
181
173
245
251
248
215
194
286
187
190
169
218
329
208
204
158
193
183
205
129
202
214
164
149
173
178
182
251
211
173
146
184
198
226
152
239
182
264
212
216
209
236
202
217
179
231
179
217
133
205
220
169
173
228
165
164
203
173
232
209
173
173
217
133
190
233
138
184
162
200
206
129
146
176
119
160
176
188
169
237
166
184
146
156
200
174
199
226
173
211
200
201
130
376
218
175
168
158
146
155
160
225
168
237
206
186
218
217
174
155
253
180
217
191
161
202
175
204
184
187
211
179
173
287
189
274
145
221
220
176
242
206
208
202
162
214
158
177
204
129
115
209
176
143
263
132
209
195
249
200
156
162
206
146
184
189
187
178
168
156
239
161
239
215
185
177
155
162
257
174
200
153
241
184
133
205
199
129
217
217
163
190
143
175
206
187
210
254
129
203
219
300
146
208
194
264
200
202
184
170
189
141
179
260
146
199
211
122
193
188
176
192
218
166
182
206
201
122
176
148
176
204
182
131
188
221
178
239
201
230
145
174
248
128
157
209
217
206
217
144
210
158
180
213
209
184
157
313
237
183
153
172
223
247
169
146
167
184
185
184
205
217
225
145
176
201
204
168
173
133
194
183
213
170
184
149
262
191
183
210
143
216
281
249
265
300
207
167
179
192
228
204
185
201
204
216
222
212
258
152
225
173
183
185
212
146
122
176
227
164
242
201
242
224
145
218
175
133
249
234
226
166
208
230
190
209
190
156
217
129
129
191
228
219
216
216
182
189
201
231
195
138
129
162
193
216
195
250
160
202
213
202
173
335
145
238
129
255
182
158
175
130
174
181
241
129
147
201
149
122
158
222
231
160
220
180
130
179
229
229
186
222
158
152
158
238
228
202
146
178
199
232
207
191
191
222
173
221
176
146
206
200
191
210
143
210
203
130
147
183
192
180
190
141
256
166
181
149
161
252
159
230
173
182
184
199
186
200
211
213
239
156
213
143
244
200
202
223
199
204
188
235
217
231
199
176
161
216
248
141
233
230
173
166
234
146
161
190
182
129
129
156
194
287
122
212
204
138
164
133
223
162
263
231
188
242
214
190
161
195
236
182
193
253
204
210
150
143
164
188
133
184
242
245
148
178
129
175
129
188
129
227
176
202
227
155
206
178
182
174
218
204
162
158
197
169
146
156
227
250
197
129
138
216
205
204
239
176
130
262
225
133
146
204
185
184
204
217
219
178
130
237
226
192
201
132
147
201
208
216
196
151
176
199
200
225
129
242
200
184
277
221
191
199
197
227
216
146
164
162
122
275
204
160
122
190
164
258
160
196
145
198
186
204
260
195
170
261
212
204
157
201
204
206
186
179
182
289
138
173
253
236
185
264
156
191
193
220
141
232
201
230
204
239
138
204
174
146
158
200
206
237
188
182
168
157
168
169
231
192
188
244
156
223
184
227
230
182
204
146
199
245
158
217
183
152
143
168
115
174
264
151
115
258
238
230
182
159
264
207
173
261
172
150
238
182
156
183
189
174
195
174
230
247
172
191
217
200
210
236
176
130
183
184
195
176
192
287
176
179
179
164
206
178
173
235
173
191
204
217
236
129
229
168
206
146
244
146
239
231
192
199
193
248
176
169
242
204
242
251
133
190
200
130
146
251
262
115
156
157
138
210
220
166
225
208
146
247
200
174
242
141
159
152
235
211
149
166
163
205
191
237
188
183
168
258
231
152
161
202
275
156
122
173
208
198
207
176
147
185
189
204
173
201
152
162
214
179
184
138
173
162
300
186
217
195
210
278
192
177
158
187
209
173
168
194
265
168
143
239
211
199
222
143
179
143
236
157
200
257
145
157
214
201
223
191
145
185
217
212
115
225
162
162
176
215
143
172
176
129
176
230
168
251
176
204
166
180
335
169
178
241
146
244
132
182
178
204
255
196
147
129
204
201
225
173
232
168
203
230
265
215
324
167
211
212
161
130
244
228
165
203
181
188
153
190
175
212
162
166
238
218
238
178
212
226
155
182
176
175
212
146
182
206
200
195
177
181
129
206
211
246
156
182
180
159
156
189
200
226
131
195
143
173
145
217
261
206
214
262
220
204
174
191
266
119
176
199
251
261
290
191
180
216
218
199
247
198
195
257
173
246
146
159
207
239
244
220
271
199
181
156
227
181
196
217
181
245
289
141
174
160
129
186
209
189
213
146
176
206
133
191
200
204
272
214
173
221
171
205
252
227
192
143
210
166
164
238
242
204
146
216
214
206
178
205
200
129
210
183
152
146
210
206
130
179
214
201
255
156
128
199
146
210
223
176
175
144
201
217
130
158
211
183
227
204
168
169
184
170
171
182
238
172
232
129
256
207
138
176
150
217
222
167
173
143
152
236
156
147
162
189
152
230
133
238
174
137
194
202
146
179
246
238
186
194
253
146
205
185
145
129
173
175
238
183
147
198
184
130
267
195
174
164
255
180
183
115
217
162
190
187
183
222
173
157
224
228
240
204
190
158
187
169
210
169
227
194
187
241
202
130
225
183
260
129
208
249
226
221
173
149
301
180
219
146
225
143
204
252
176
191
147
183
217
228
262
199
217
115
133
219
149
262
292
183
174
236
129
176
194
185
192
176
217
200
198
129
169
130
196
189
202
158
240
231
189
150
191
216
192
210
162
229
217
173
166
164
311
287
156
192
217
157
206
181
167
184
242
235
198
176
152
221
240
155
181
194
262
257
238
210
239
206
156
167
206
204
217
208
217
201
210
195
141
174
200
252
179
156
274
138
191
225
145
146
176
222
222
158
147
246
130
321
224
132
203
143
141
146
169
147
223
179
245
218
129
130
166
211
262
244
236
206
218
184
179
146
217
176
257
161
176
173
222
199
195
227
170
190
205
189
182
185
227
183
208
262
202
146
183
168
183
325
259
185
188
202
228
145
209
173
157
176
146
164
167
226
281
161
195
162
130
216
222
156
164
145
171
186
217
173
210
236
164
146
230
204
164
169
209
150
189
203
184
206
210
214
188
211
240
158
152
146
214
173
174
129
179
161
177
143
194
193
143
204
186
180
177
184
180
225
130
190
178
209
200
201
215
146
202
145
242
166
193
172
204
146
130
184
176
217
216
217
236
246
145
192
169
298
258
212
191
132
249
184
194
216
210
186
225
166
208
174
175
216
193
156
214
230
210
133
180
133
146
176
217
228
168
232
185
229
242
191
210
211
230
251
115
257
267
230
182
199
256
178
180
213
133
129
185
269
133
185
144
130
253
192
201
226
146
217
146
194
158
173
239
162
200
141
171
210
155
166
212
171
145
187
185
146
157
274
129
304
130
195
178
322
229
133
201
215
181
238
149
140
202
143
253
231
161
160
164
158
245
220
145
222
188
173
133
249
183
210
195
204
214
155
158
170
129
206
211
146
236
217
147
174
143
165
184
146
176
205
220
122
133
155
190
195
191
182
225
150
230
236
184
222
236
191
228
198
192
236
129
220
215
228
228
182
176
244
191
240
130
193
173
146
143
202
122
192
214
254
178
171
204
162
206
159
130
202
194
172
285
129
182
159
158
215
176
235
189
233
204
187
183
174
235
226
172
146
177
202
234
153
129
184
265
130
200
173
144
138
248
265
236
223
204
201
207
211
130
213
264
231
146
173
224
190
206
146
138
257
219
173
164
238
145
169
115
206
203
146
227
168
164
190
202
191
145
191
217
166
173
130
143
227
160
152
188
204
176
130
235
210
192
205
258
129
222
172
204
184
202
130
173
138
230
218
180
195
224
145
164
199
233
190
217
146
232
240
143
210
194
197
146
143
156
211
237
206
239
146
145
145
184
173
179
232
238
176
211
155
225
160
203
160
210
164
183
165
176
210
185
162
193
228
292
211
228
236
189
176
208
146
214
204
228
249
203
176
200
198
207
186
258
217
143
199
220
180
202
129
213
162
156
133
222
204
180
230
210
143
210
192
157
252
167
254
143
191
171
210
251
173
251
235
184
205
250
214
220
169
162
148
194
237
242
231
187
202
230
181
238
256
180
248
235
194
179
218
173
129
220
202
152
184
129
168
206
239
265
310
191
222
187
177
167
260
143
211
191
183
201
186
192
230
179
210
201
159
207
161
217
162
178
149
237
231
213
247
277
195
145
183
241
175
219
210
147
200
189
203
130
184
208
122
144
212
162
165
216
195
173
206
225
238
149
204
180
229
160
242
133
253
235
201
255
144
212
293
173
145
130
218
185
177
244
210
162
198
145
176
217
204
156
174
164
174
167
208
171
247
191
183
211
159
199
185
205
159
166
129
261
129
158
206
238
222
204
230
156
214
166
164
194
206
226
264
230
149
164
201
283
179
163
122
249
204
201
200
229
173
197
143
173
146
187
228
129
233
219
168
145
226
143
250
207
143
252
168
217
176
176
204
129
176
190
189
263
208
228
133
285
215
211
176
130
219
200
236
165
241
239
199
173
204
246
173
211
216
185
234
166
115
129
258
222
193
146
173
238
144
183
169
176
224
266
217
229
180
210
159
207
145
186
150
182
173
244
251
176
214
172
177
193
259
217
218
200
206
241
201
193
171
129
204
263
246
203
168
153
158
226
213
186
145
254
206
224
173
224
168
199
150
226
158
169
173
213
146
335
176
166
297
129
156
151
146
185
176
143
222
184
264
200
200
175
209
227
246
178
161
146
264
208
158
155
259
199
173
200
143
162
158
155
146
223
199
183
156
133
225
173
275
204
189
235
168
228
179
182
227
232
231
143
204
204
225
173
164
166
203
146
176
143
130
122
172
188
145
206
176
275
176
178
184
217
226
178
195
191
217
236
169
178
180
177
129
133
262
182
156
204
192
146
202
254
234
204
153
188
145
241
176
242
176
159
182
179
200
194
162
211
143
234
164
179
155
146
226
143
249
206
206
183
208
173
247
244
133
190
179
198
200
185
176
280
193
133
196
197
217
161
208
219
257
150
173
209
204
236
209
167
185
210
129
157
202
209
200
196
220
189
161
157
133
202
115
217
167
183
225
206
166
176
211
150
129
182
115
173
213
201
238
175
234
175
187
246
224
143
149
173
133
300
185
166
246
145
180
146
146
143
265
204
146
181
173
164
133
192
180
220
204
188
220
204
224
195
178
149
150
213
206
212
178
239
191
129
230
263
204
258
285
230
201
217
206
232
203
239
171
230
146
129
184
157
224
208
184
164
252
277
130
236
177
153
169
230
238
190
219
129
175
235
205
205
130
215
115
163
252
184
182
179
193
202
190
162
129
204
211
214
291
224
211
189
216
129
180
141
200
145
188
214
179
130
244
130
206
243
296
204
176
288
217
252
146
166
181
222
179
162
197
200
261
273
146
211
258
150
145
190
225
173
163
270
198
168
129
215
188
204
229
192
217
246
188
202
198
130
183
164
161
202
221
220
184
122
199
165
174
130
155
199
216
229
115
211
217
241
209
167
218
227
200
133
201
197
115
216
179
236
214
173
133
199
192
257
156
187
182
219
146
146
270
122
168
122
130
258
143
225
194
152
171
186
145
169
186
129
183
222
129
202
199
162
202
201
200
172
231
144
197
216
213
219
210
184
311
128
191
322
261
189
141
231
172
217
197
186
175
129
255
146
200
201
153
172
224
176
211
204
158
149
183
180
202
189
146
204
145
201
259
218
194
274
176
156
204
214
182
230
115
146
179
146
205
242
150
150
191
201
246
204
202
218
162
130
200
180
164
274
179
180
212
176
164
217
214
182
129
179
176
228
168
274
173
213
174
234
186
130
276
193
129
204
145
199
209
180
149
146
180
130
207
204
115
173
129
239
231
224
178
176
163
230
130
205
194
146
216
204
182
153
169
184
172
242
191
230
253
224
232
165
230
179
184
217
130
187
210
201
176
221
256
212
176
172
115
155
179
185
129
177
237
197
189
181
188
188
179
133
219
227
176
177
146
249
138
202
235
202
162
129
201
230
180
179
162
173
204
243
202
155
183
201
208
184
182
184
209
175
171
248
192
172
168
210
191
209
168
184
138
210
260
210
176
182
178
145
193
173
204
133
207
202
162
234
214
184
143
201
130
156
129
146
211
183
180
172
234
211
115
215
229
129
201
162
133
207
216
192
184
186
198
146
235
212
212
168
205
169
130
249
184
173
129
216
146
194
177
129
220
203
214
158
217
132
162
264
210
214
210
201
174
162
203
129
268
122
207
178
143
168
256
122
128
169
183
143
162
179
208
146
181
238
230
170
237
173
147
176
181
224
183
194
240
149
209
146
206
248
238
201
277
185
168
188
145
187
204
189
211
130
255
196
192
221
168
144
191
215
195
184
183
288
222
216
193
158
251
130
156
151
127
173
191
130
193
133
184
195
183
191
335
246
223
230
168
245
188
275
166
160
172
233
186
210
239
207
202
260
192
188
171
214
182
165
250
206
150
176
214
164
179
178
171
163
211
184
169
149
191
181
236
177
161
145
234
200
184
227
133
130
270
199
222
173
217
173
179
187
200
266
202
199
232
217
161
169
183
158
157
162
168
211
182
168
115
186
164
176
197
235
158
264
187
230
194
143
179
186
242
145
208
155
211
184
159
246
180
115
192
129
129
140
288
130
204
171
169
165
160
201
182
164
213
239
146
129
187
165
130
173
162
195
225
146
202
192
207
161
146
146
164
180
204
190
214
153
230
204
193
193
210
206
185
158
240
183
202
166
145
193
220
176
129
163
176
178
130
252
161
146
204
211
192
222
168
211
188
146
184
133
160
213
208
189
229
198
184
173
173
173
173
130
180
146
202
193
169
239
146
211
214
206
204
200
210
174
245
141
204
260
258
133
173
188
254
226
179
168
225
183
225
167
146
211
199
234
227
130
129
206
195
191
179
202
161
218
160
206
130
130
166
255
186
259
180
213
244
178
179
211
198
177
130
190
247
155
162
176
245
183
129
191
257
188
171
248
187
155
201
227
146
162
246
176
158
149
130
178
202
258
217
146
238
216
226
145
150
204
168
165
115
251
202
245
183
211
145
200
260
161
240
214
224
250
143
129
213
182
212
231
162
221
212
178
181
195
206
149
274
263
187
204
198
130
218
185
173
145
179
215
187
164
238
173
230
194
215
184
211
212
200
231
146
191
181
204
195
235
162
180
217
184
146
149
247
189
228
187
119
239
192
185
218
243
129
144
209
213
217
259
209
188
208
218
230
224
115
237
251
205
180
209
265
146
166
230
217
247
179
204
253
168
204
236
232
189
188
155
208
155
244
189
164
156
260
181
184
221
236
184
200
243
246
130
227
176
188
302
180
156
245
204
198
224
130
178
151
172
184
173
143
156
177
218
237
260
183
212
256
202
188
146
217
222
176
129
204
180
179
217
157
207
156
204
169
281
192
254
150
204
179
205
219
138
217
144
129
177
122
231
192
182
187
260
171
129
181
213
130
130
214
231
235
186
180
206
173
150
216
267
171
163
201
176
185
230
115
162
159
193
186
260
133
211
239
209
182
141
165
176
238
228
259
177
129
191
146
246
250
130
186
202
194
115
230
288
146
201
212
225
143
216
215
202
206
176
168
188
183
200
192
250
180
143
209
146
179
158
209
210
253
236
182
220
220
218
194
230
211
169
234
191
182
169
208
257
178
122
164
266
174
130
196
230
146
204
229
179
129
238
215
187
152
191
188
190
156
175
225
185
179
129
159
264
178
156
193
191
192
115
173
208
151
130
130
217
210
199
221
179
204
201
204
217
204
173
204
180
179
168
178
181
166
206
225
195
187
204
256
197
165
188
160
164
241
244
250
186
217
199
168
213
162
256
217
217
190
180
180
183
158
184
133
206
146
158
211
115
247
130
184
204
204
252
166
161
223
146
214
176
176
237
157
188
184
217
204
205
143
242
212
129
147
145
238
225
155
227
204
226
184
254
199
184
201
184
133
162
220
178
214
191
162
221
287
236
200
184
173
132
130
191
156
130
129
176
210
146
199
191
222
202
202
174
184
236
177
162
245
166
232
258
211
180
182
173
249
156
173
165
164
207
183
172
215
218
217
206
176
153
168
168
180
173
220
212
133
202
173
190
130
152
191
298
225
173
222
262
246
143
169
211
277
193
198
237
198
206
260
184
178
164
173
216
217
228
201
178
160
191
146
210
293
170
178
191
165
217
206
192
176
153
146
200
224
217
165
202
162
216
243
217
223
188
145
256
228
176
239
184
169
269
204
130
194
202
214
179
204
130
183
145
167
238
183
173
158
175
173
203
181
149
217
187
204
183
189
141
234
202
170
201
191
261
173
179
247
221
252
236
143
204
173
178
174
236
263
174
173
238
158
131
160
143
180
228
246
237
184
221
187
182
133
226
292
230
173
173
151
246
241
193
184
164
176
186
184
189
133
221
176
133
173
184
205
160
194
204
210
141
210
173
206
214
189
237
245
285
191
168
191
175
209
161
162
181
335
226
245
143
129
215
133
173
174
204
241
191
179
301
179
200
190
217
212
230
182
138
230
129
170
129
192
169
158
155
160
256
224
290
133
211
254
133
251
210
195
183
184
159
146
258
178
170
185
173
211
300
140
193
129
230
210
249
173
229
325
130
133
230
176
168
219
278
133
184
202
263
129
183
173
231
217
249
214
145
130
186
235
211
217
190
239
266
181
186
176
220
294
225
161
153
215
230
192
191
191
194
248
192
221
173
176
191
211
122
214
156
201
193
174
146
145
145
145
300
216
211
115
242
236
171
140
130
202
152
191
200
240
205
183
255
146
216
180
145
180
146
168
165
233
176
150
166
188
203
170
176
166
145
158
160
181
185
183
243
202
201
201
130
189
204
204
155
192
282
191
176
179
235
141
122
160
217
238
178
199
201
186
130
195
206
175
168
168
176
209
227
200
227
218
214
222
130
242
176
204
185
158
147
297
289
194
146
170
209
201
204
173
176
258
218
202
194
178
227
204
171
130
203
202
164
201
190
174
225
173
194
215
183
130
155
230
162
180
182
206
146
200
200
325
200
145
190
215
210
138
222
168
191
176
191
129
222
209
204
182
164
225
146
186
193
178
232
132
210
190
162
219
179
230
184
178
173
202
202
175
238
256
146
174
178
252
208
237
217
160
162
210
143
149
174
204
178
185
151
179
283
193
184
180
246
159
157
237
133
122
145
166
150
162
162
179
119
224
168
192
200
210
288
184
228
227
130
168
204
212
217
182
183
240
179
146
232
160
192
238
146
172
217
145
146
160
196
294
156
216
254
215
296
181
214
217
242
151
193
150
207
115
265
241
203
127
184
251
247
214
245
188
188
146
271
210
216
220
194
160
180
192
168
183
146
204
193
231
188
214
130
189
230
201
143
188
236
225
209
288
230
185
199
171
138
119
191
174
187
238
216
210
228
156
178
129
173
218
201
253
195
146
182
202
210
295
200
150
176
178
162
224
238
205
145
171
185
210
261
145
143
129
158
150
130
162
210
200
218
159
141
239
166
183
254
166
217
170
202
144
203
226
204
258
168
164
130
173
217
207
190
182
146
147
229
201
239
241
253
208
217
173
184
201
173
230
216
173
221
215
133
237
203
233
173
211
176
271
190
130
224
130
195
217
208
222
173
173
178
199
156
146
115
172
215
189
200
189
195
240
239
158
119
162
115
143
180
254
227
230
244
197
129
233
216
189
129
147
195
170
150
182
153
252
199
187
173
218
214
260
230
155
209
178
161
158
211
244
229
302
168
235
186
211
152
181
158
179
236
216
246
174
193
244
201
247
197
182
248
146
178
129
206
235
224
185
217
244
158
238
181
168
200
199
238
162
249
129
198
242
164
218
172
234
202
230
169
122
185
170
173
210
223
171
188
246
293
174
188
180
184
166
184
190
168
181
164
179
199
115
200
210
133
148
256
130
197
145
184
230
239
155
231
179
132
224
232
141
232
192
155
191
129
266
156
133
182
143
293
235
170
145
197
122
184
146
161
261
218
171
156
197
271
187
153
184
143
201
172
242
193
183
229
264
146
129
129
195
201
283
146
244
238
161
183
282
179
234
213
191
185
166
176
171
178
146
166
143
158
173
245
187
183
202
192
213
173
169
173
176
130
237
190
173
235
130
226
133
213
226
188
206
211
150
187
212
179
129
235
203
130
210
185
129
259
204
146
179
217
160
222
175
228
201
173
236
119
228
222
212
161
186
315
217
146
176
245
202
162
236
194
145
147
216
176
199
146
228
161
217
149
211
185
230
130
162
160
273
224
233
234
161
162
233
202
272
150
192
237
254
283
246
205
210
173
216
184
175
166
198
274
205
188
206
191
186
227
237
300
190
176
168
225
130
238
238
173
248
173
235
190
191
231
236
168
310
233
172
168
191
172
230
133
222
146
184
191
256
235
228
185
208
178
181
152
204
181
155
183
202
162
129
202
166
226
158
153
191
146
182
204
141
223
151
243
184
219
201
225
181
197
191
208
228
144
173
156
188
245
152
178
180
162
186
179
156
166
166
141
179
185
139
176
211
173
161
211
236
188
146
158
183
191
129
168
158
133
160
255
183
130
183
185
200
146
181
221
222
164
187
169
186
210
152
180
209
164
174
162
157
190
255
179
132
183
239
183
218
176
175
197
153
185
172
261
197
191
153
190
239
205
208
128
129
238
170
178
146
228
152
198
202
199
177
129
264
183
246
179
166
201
237
216
182
188
158
156
182
182
173
138
242
130
194
229
165
178
179
211
150
145
230
236
262
202
150
254
200
164
133
162
179
173
244
159
146
230
261
133
208
211
174
171
152
146
152
188
204
208
211
206
256
122
146
184
182
173
176
227
210
133
203
191
178
219
210
197
175
198
151
226
119
204
176
299
115
213
170
231
245
182
201
178
187
184
212
148
204
227
138
172
176
222
230
208
241
206
129
191
220
217
190
229
210
200
182
146
262
168
155
204
176
190
156
184
147
216
214
205
119
210
165
203
191
162
169
129
227
260
179
230
157
177
170
274
182
202
183
239
248
267
214
171
173
173
278
178
209
210
182
185
172
189
132
192
261
184
164
173
173
217
250
146
202
145
220
253
168
206
166
215
302
302
214
230
277
178
158
146
192
181
180
246
206
191
203
171
224
200
228
152
119
149
146
206
219
262
173
173
227
245
203
194
198
169
166
222
122
254
168
162
217
129
146
234
174
145
173
115
183
150
188
258
161
166
185
141
205
260
205
173
173
182
178
251
201
187
229
133
210
178
201
166
191
211
258
197
182
217
143
228
278
217
217
176
193
161
167
184
129
160
129
180
176
185
129
262
208
115
247
256
176
184
122
204
211
185
170
168
143
203
238
155
155
219
179
143
180
144
190
209
149
146
165
143
173
130
145
173
206
201
156
178
182
180
194
191
179
205
200
173
199
128
165
182
149
198
217
162
202
174
238
204
183
115
132
208
251
151
249
182
149
160
204
130
214
189
181
115
149
176
182
165
159
129
129
230
300
200
201
279
264
185
133
185
201
204
274
155
221
210
240
156
243
213
162
219
176
205
238
205
175
212
206
129
162
252
178
146
180
200
191
255
138
194
217
164
228
130
228
213
130
158
251
155
159
160
227
273
172
145
192
133
179
197
225
306
141
173
143
222
184
209
132
168
146
156
169
189
192
238
184
217
206
206
201
173
153
225
168
157
184
133
176
189
195
203
204
151
210
194
157
180
189
262
211
225
182
236
176
205
160
187
213
220
228
162
173
165
176
146
184
236
217
173
222
201
181
160
164
179
221
239
145
219
247
242
179
204
247
156
214
210
151
207
216
143
238
176
143
215
164
210
156
198
171
236
215
201
179
143
201
214
245
152
148
195
261
219
164
214
202
130
129
184
219
184
191
207
228
188
169
266
210
183
145
191
131
173
201
236
213
217
201
141
130
182
180
265
160
204
210
153
259
164
146
144
144
288
193
165
168
167
172
222
185
197
236
155
205
205
145
181
169
202
185
195
170
173
208
204
264
153
221
188
203
197
264
200
164
184
186
145
184
179
221
211
173
243
130
145
230
182
183
177
190
173
213
209
199
192
176
254
216
193
168
206
217
205
194
206
233
191
236
167
185
181
200
164
169
230
133
150
184
161
173
162
256
227
217
242
190
242
164
146
145
222
248
156
222
146
160
176
158
168
174
198
172
129
228
232
147
182
146
146
166
155
230
213
230
146
249
204
180
170
191
231
129
129
168
198
235
184
238
141
129
215
204
157
237
175
185
230
156
191
129
115
176
220
174
163
176
156
335
158
143
203
239
146
133
176
162
239
227
202
256
173
158
192
216
271
204
239
217
227
206
259
201
129
257
173
146
289
206
176
180
217
179
173
130
174
207
168
170
247
177
183
155
225
240
173
187
247
164
191
176
164
143
283
176
141
168
205
146
185
119
129
156
200
220
187
176
193
272
176
204
191
222
133
304
221
129
218
215
213
192
208
172
146
264
192
171
171
230
162
145
263
217
168
254
146
129
129
146
166
188
210
205
150
281
171
247
180
214
200
217
129
171
187
205
130
246
141
218
217
173
181
181
211
179
194
179
251
172
248
230
192
162
178
150
162
146
199
129
201
183
208
173
122
202
182
214
269
238
170
187
164
179
191
224
222
119
267
204
219
228
202
164
183
216
191
166
143
195
157
244
176
185
162
188
174
185
197
176
130
180
219
288
210
176
191
189
203
115
203
173
211
235
250
227
128
206
288
264
190
287
296
182
201
158
247
182
137
164
261
150
180
203
230
195
158
197
204
210
230
230
193
156
173
141
164
173
173
173
214
164
160
146
264
201
197
182
201
164
173
183
186
183
188
233
228
240
159
297
181
200
152
145
211
216
229
206
178
204
196
205
221
182
188
208
162
239
241
236
195
173
213
288
162
201
115
239
168
226
188
175
158
217
216
133
130
157
173
171
201
208
158
161
208
163
115
231
176
137
257
236
202
191
130
210
146
207
176
185
168
197
254
202
165
201
184
221
202
181
158
197
153
256
225
183
230
220
146
193
219
168
211
160
194
191
191
201
244
204
162
144
204
179
173
209
211
204
199
176
251
179
204
240
205
186
201
130
230
128
189
253
179
176
219
194
169
151
191
129
172
210
221
130
184
170
164
176
130
191
203
201
282
186
192
236
165
176
161
143
206
199
242
197
179
130
175
178
141
164
186
219
208
222
200
129
229
143
222
218
141
143
173
227
172
130
183
168
192
242
176
198
281
242
169
182
214
133
180
272
184
204
222
133
151
130
193
198
173
206
162
211
237
133
216
184
179
176
212
239
176
232
202
230
236
201
255
129
168
171
206
178
233
202
209
222
179
267
210
146
176
180
211
215
211
231
162
247
238
119
247
229
207
158
173
195
169
146
160
202
146
183
130
213
204
180
190
263
182
182
244
222
215
145
202
143
156
204
247
210
176
176
217
211
211
212
179
202
237
178
253
221
191
178
237
240
227
217
187
278
185
115
199
143
184
236
178
176
227
146
157
179
129
173
210
211
210
185
158
158
202
149
171
214
229
146
214
240
176
143
211
244
222
259
173
267
204
164
160
202
168
206
174
179
210
165
191
172
202
194
173
185
270
214
194
211
228
128
214
214
172
243
230
265
146
190
203
300
204
183
146
178
187
222
194
247
209
201
234
244
208
181
234
202
150
212
191
182
241
192
181
130
168
221
197
178
176
152
172
201
185
211
178
176
252
206
274
212
203
133
296
236
162
129
255
235
115
181
252
130
260
115
222
198
129
129
115
249
182
130
129
138
214
246
160
190
165
211
175
208
181
119
225
253
210
235
217
167
209
204
348
164
199
174
171
164
200
160
199
173
155
228
152
176
191
161
156
205
200
173
158
244
287
234
229
149
145
130
223
211
158
292
188
180
182
201
115
191
201
220
211
218
162
204
128
204
145
241
164
222
162
187
223
151
218
211
227
122
236
168
211
145
122
216
258
247
170
146
281
194
188
213
184
205
204
154
202
217
115
184
218
129
201
156
180
178
236
247
218
175
181
187
192
228
149
146
247
133
144
128
214
195
152
158
169
145
171
174
175
176
174
182
173
185
165
180
171
173
177
130
217
191
216
169
226
217
180
201
138
191
144
222
129
236
217
169
245
185
168
216
182
167
180
179
217
242
150
164
208
214
184
216
227
173
122
148
146
259
156
221
202
149
143
285
130
130
156
193
144
188
183
193
171
209
177
178
211
175
185
172
149
145
241
210
251
168
176
187
179
138
173
239
158
130
129
211
210
234
200
200
192
164
133
233
180
270
128
145
236
146
227
242
235
188
187
229
227
217
150
186
216
204
130
248
214
247
214
230
185
255
164
201
149
153
175
147
176
173
130
164
143
204
204
189
182
187
158
212
169
146
214
178
200
201
203
209
179
221
200
187
262
150
231
206
238
173
181
204
195
284
167
133
137
201
179
173
146
164
251
200
268
185
143
194
146
141
183
173
130
212
189
141
162
182
168
204
201
201
200
184
145
191
180
217
173
191
130
229
243
193
150
129
168
185
191
212
184
129
246
212
174
183
267
145
230
240
167
196
129
175
146
230
280
222
158
144
232
170
210
173
145
146
190
204
173
129
233
204
202
248
224
220
189
192
153
129
210
198
238
179
216
173
227
130
230
152
191
205
146
234
146
234
230
210
279
197
191
192
181
228
158
150
201
187
192
172
230
157
176
129
226
130
178
206
155
213
131
262
204
201
210
175
248
163
218
190
180
204
194
144
227
225
183
173
206
183
119
180
169
205
181
181
239
203
204
143
238
238
211
190
234
177
173
170
191
181
218
200
222
164
210
131
173
217
146
204
173
272
163
208
184
191
217
220
210
159
131
195
129
130
149
130
156
205
263
241
238
210
144
168
227
218
266
188
216
173
168
342
181
176
164
199
172
201
221
204
200
230
209
208
128
189
228
115
181
172
179
207
160
243
129
259
202
168
200
239
222
167
217
208
164
239
278
191
205
173
225
182
217
146
190
151
129
171
144
180
161
156
187
150
211
296
146
193
174
161
303
198
145
168
168
173
192
192
174
156
208
158
179
145
145
217
186
173
211
198
204
207
243
177
178
179
166
203
203
217
183
253
200
220
188
166
241
181
173
190
184
187
258
129
226
243
261
186
239
143
158
217
252
242
186
246
208
168
213
129
247
171
146
176
115
183
222
185
150
210
173
188
204
230
281
171
169
253
213
205
129
200
217
173
184
216
225
184
233
157
219
270
265
204
156
190
146
164
227
255
224
183
181
187
246
195
211
244
188
178
235
130
177
173
174
210
216
155
202
200
231
155
173
193
206
261
192
169
212
152
160
176
261
172
218
187
176
204
212
129
214
166
274
230
204
176
132
249
228
173
277
194
129
178
210
169
199
277
188
188
276
189
230
184
191
132
191
202
205
183
181
176
181
192
171
224
241
193
164
211
195
182
191
193
181
227
204
180
202
250
192
197
173
194
146
221
202
160
201
264
238
157
146
270
194
225
129
217
255
128
201
189
166
157
179
230
170
270
171
264
210
236
168
176
184
203
195
238
183
210
216
171
162
206
166
229
185
173
204
181
258
207
221
171
207
167
115
200
200
217
185
160
230
160
192
201
204
158
216
158
171
249
188
209
244
241
153
203
185
209
235
129
130
279
211
115
231
210
172
211
188
315
208
194
203
130
178
229
130
160
202
145
225
198
231
166
178
129
206
205
180
129
240
195
173
222
246
191
277
207
232
193
249
172
166
183
157
168
216
182
222
227
176
216
203
216
130
184
247
199
133
130
237
195
230
178
221
122
200
201
176
217
185
130
178
233
115
164
226
184
184
164
229
214
163
238
204
179
168
204
170
179
191
202
207
246
226
252
292
179
258
172
164
199
173
191
143
161
204
286
132
156
225
207
206
251
185
180
219
122
189
335
130
206
244
240
218
248
245
215
143
194
176
211
181
201
195
215
239
202
183
164
153
190
115
192
162
201
169
133
162
115
169
219
206
168
210
190
147
184
149
230
176
231
146
225
161
115
179
172
158
179
195
253
258
182
186
176
246
192
211
199
247
158
184
238
146
206
217
222
214
264
191
151
167
230
173
205
228
176
203
130
146
183
146
217
178
130
210
210
196
182
199
230
202
171
183
168
191
247
172
129
256
224
204
246
191
171
208
173
146
238
191
143
198
173
166
208
192
183
235
191
218
174
172
211
157
184
155
176
206
287
205
180
201
260
187
200
182
211
193
130
191
234
201
262
167
160
162
210
156
182
129
185
300
188
183
227
227
204
264
182
188
235
267
168
175
185
245
235
211
204
228
228
148
176
159
187
227
161
160
145
152
190
207
202
210
244
165
179
230
161
147
179
208
260
188
122
239
146
250
287
183
204
230
204
230
251
227
130
242
150
228
201
225
210
122
214
209
206
162
176
191
204
173
130
171
184
180
171
264
231
177
129
158
192
204
173
185
158
259
235
146
203
204
186
201
204
283
171
129
204
230
222
235
183
191
217
204
183
202
146
264
189
204
184
249
245
152
247
158
214
233
184
157
203
227
172
267
149
204
129
145
185
190
130
206
169
185
228
210
152
150
236
228
194
164
164
267
138
181
186
156
169
129
182
190
210
288
218
168
201
275
194
233
238
202
195
246
238
129
200
221
276
133
141
164
176
173
254
207
191
169
211
129
192
204
146
153
195
227
205
201
143
303
178
152
204
202
210
163
217
231
202
184
245
210
184
227
169
130
202
173
168
165
279
200
185
170
173
169
275
202
201
198
212
194
210
205
122
143
201
191
268
191
231
149
130
201
162
141
184
163
174
240
164
297
204
204
152
278
176
239
201
180
146
186
187
158
130
241
129
204
253
293
115
202
176
210
257
138
176
189
210
146
165
210
180
168
200
217
199
191
193
222
176
262
212
191
172
201
199
168
250
236
295
230
227
199
191
203
204
240
219
173
188
194
167
289
181
169
244
228
194
209
185
255
171
247
130
266
308
195
115
204
190
119
172
163
203
174
230
172
146
218
173
197
201
140
168
221
133
115
211
224
198
130
178
203
198
160
143
168
233
130
243
250
146
260
181
206
247
260
240
173
219
148
168
129
183
169
186
190
204
204
198
227
115
130
173
238
156
145
236
181
173
217
129
214
193
166
219
238
225
202
181
176
176
162
215
185
236
228
209
129
180
191
202
183
274
204
216
210
187
218
236
206
176
224
204
176
209
190
228
208
171
211
130
224
146
133
182
200
239
190
166
173
151
145
218
300
210
158
185
165
129
161
208
202
150
182
234
233
191
193
305
201
176
283
187
180
130
253
186
176
256
130
288
245
175
143
262
191
166
130
149
129
150
146
145
185
316
179
145
206
263
172
146
257
143
188
129
132
171
177
234
243
222
222
206
143
234
145
238
192
211
185
204
133
197
187
258
173
180
228
144
210
222
192
232
242
189
224
210
177
217
236
220
208
138
176
167
176
229
193
179
212
204
180
178
162
266
146
190
168
173
261
200
203
204
164
176
194
255
173
184
223
218
173
185
185
263
178
210
218
129
173
214
155
149
143
192
217
210
182
173
314
211
217
226
200
186
171
167
168
173
146
146
171
213
129
157
249
231
130
180
215
285
203
225
216
221
165
130
185
196
169
179
182
166
180
218
149
186
143
185
202
162
185
176
180
221
181
180
182
228
158
129
146
228
185
315
180
239
237
203
159
188
173
234
229
212
234
212
162
164
159
197
201
219
130
158
173
237
143
243
129
236
164
173
188
217
158
171
204
241
162
180
188
176
208
210
238
119
133
173
204
211
246
224
218
166
130
129
186
209
173
243
143
209
228
235
208
122
236
204
202
259
173
150
145
192
222
198
146
164
153
169
215
208
183
204
217
150
267
173
143
176
146
156
183
205
129
204
162
277
132
129
239
171
178
130
176
181
179
201
216
195
179
231
176
259
211
151
203
130
130
214
176
229
168
191
173
129
239
184
160
229
168
180
164
202
236
228
166
254
206
210
200
164
206
182
203
210
217
150
176
272
129
214
194
162
187
206
199
173
160
168
230
157
169
181
162
238
184
226
203
243
186
178
192
238
210
152
204
231
233
191
138
128
229
201
183
166
229
319
187
178
183
210
201
201
183
324
231
262
210
211
231
300
128
189
157
192
173
173
173
178
115
228
168
182
204
224
218
221
184
146
173
189
220
172
178
130
274
204
189
164
218
146
161
179
178
210
173
130
143
230
215
239
200
146
204
168
208
130
122
198
237
129
231
190
129
204
176
145
174
163
177
245
183
177
237
218
168
160
129
225
204
255
217
130
240
168
217
282
300
133
239
182
231
202
282
225
175
147
170
195
335
177
249
198
129
254
257
166
242
210
178
176
238
216
157
189
173
169
158
239
185
201
166
159
176
238
238
190
181
211
169
214
229
185
206
130
176
179
178
212
130
227
181
164
210
210
188
210
183
181
156
166
131
173
191
194
188
225
176
185
176
167
230
146
181
146
176
129
130
263
169
190
194
176
186
304
183
150
239
189
178
210
180
211
212
130
208
234
173
169
169
210
204
146
185
230
191
210
255
179
130
216
195
169
204
283
195
194
208
129
156
176
141
183
190
231
191
199
230
217
205
173
236
162
211
160
150
208
138
202
227
183
210
191
176
191
206
228
202
236
130
219
188
179
194
173
221
211
130
168
221
187
202
178
204
186
164
182
182
187
245
195
147
164
212
146
173
183
201
184
236
156
173
169
206
203
183
143
176
239
209
186
184
192
172
204
207
152
249
214
176
265
129
145
230
181
253
129
146
237
157
129
146
155
204
187
254
184
238
163
208
216
129
146
217
204
201
166
217
241
198
181
214
162
183
192
183
203
230
151
184
203
133
299
181
257
178
214
130
172
130
163
115
168
186
210
183
185
146
162
217
201
130
256
265
195
218
146
191
173
162
180
184
257
195
206
129
188
203
130
178
191
222
210
264
202
214
207
133
197
178
133
182
206
146
130
156
158
243
156
183
210
176
163
204
211
237
245
210
205
223
216
179
230
200
160
207
222
249
192
211
307
210
133
252
212
251
239
185
201
204
162
201
172
158
168
234
158
213
292
217
212
216
193
211
182
206
185
155
210
156
199
212
208
146
191
169
166
254
236
145
199
200
186
151
213
201
194
254
212
235
211
146
168
257
221
183
212
167
175
158
190
230
188
184
145
173
299
181
145
208
141
160
133
201
236
186
146
180
242
192
156
129
292
232
268
209
164
138
169
149
190
252
281
263
129
200
195
192
197
206
223
161
182
247
209
115
191
291
190
169
201
204
170
206
145
195
247
201
184
156
230
176
169
204
158
226
206
164
300
151
130
169
239
223
204
130
200
129
259
130
216
184
201
122
194
187
191
150
168
184
197
130
145
250
236
153
184
115
176
129
164
199
208
147
133
261
210
175
192
143
215
211
236
171
190
210
183
143
193
169
209
176
210
115
163
173
164
160
143
143
162
179
206
186
219
187
162
239
176
276
193
164
209
229
214
176
263
180
199
221
204
200
161
168
171
235
215
220
191
217
231
202
263
203
211
184
236
222
206
172
172
141
159
229
202
176
130
176
179
141
202
197
182
201
158
170
204
198
251
249
200
146
202
130
174
211
226
225
226
233
180
238
235
209
176
171
181
175
203
171
194
259
210
221
152
128
200
144
206
200
182
226
155
272
115
179
186
171
190
245
190
138
194
186
166
210
203
188
168
160
191
240
179
236
227
222
168
238
194
184
186
129
225
132
287
133
171
141
129
245
188
230
204
201
187
256
179
158
173
155
187
217
191
250
164
179
162
158
181
233
209
242
221
158
160
183
130
168
213
224
230
145
221
182
217
184
176
205
181
184
218
252
179
194
203
233
141
203
133
201
227
146
180
183
176
258
115
272
188
204
133
228
162
172
204
169
244
198
238
262
192
203
224
182
202
196
180
168
238
173
182
211
237
172
269
222
173
227
217
183
115
199
130
201
217
238
179
177
185
219
192
279
224
194
216
129
130
176
188
146
200
204
251
210
174
236
171
133
133
203
250
204
219
183
236
184
238
242
233
129
229
184
205
159
185
204
224
122
182
183
166
179
172
166
202
184
215
176
207
194
159
160
164
164
211
143
191
182
199
162
162
238
184
204
179
225
202
146
129
162
176
257
204
270
186
176
158
167
245
179
190
146
169
185
173
176
227
146
204
203
180
192
211
279
194
210
166
202
211
225
129
204
193
129
167
191
130
176
206
269
129
146
210
138
155
141
155
143
216
208
144
173
147
213
178
235
255
210
182
185
188
178
218
200
189
206
182
156
173
258
174
115
157
161
188
168
158
225
241
138
191
219
249
168
176
130
211
195
184
151
251
191
259
186
169
200
130
164
239
235
195
204
183
223
205
187
259
260
162
192
194
182
130
194
217
241
154
185
166
245
128
138
198
176
249
158
226
225
228
153
187
201
204
146
164
212
162
202
189
202
173
129
190
141
145
235
161
128
252
189
247
127
205
163
115
217
156
173
236
299
122
222
175
215
145
164
169
175
201
129
255
173
150
255
207
271
246
115
176
214
214
184
145
155
183
173
129
203
130
225
213
191
180
261
202
146
230
176
184
235
274
233
235
230
200
156
201
234
204
205
202
236
146
150
214
184
259
130
145
176
133
200
200
227
221
146
130
179
141
205
173
214
242
242
248
211
180
164
115
212
253
128
179
115
191
164
200
160
191
258
225
182
201
214
143
176
129
162
168
203
229
272
191
145
173
248
146
181
129
194
318
164
160
320
162
146
260
199
153
156
137
162
220
205
178
193
187
183
210
165
214
145
192
173
182
203
188
160
146
164
228
186
150
217
146
187
187
179
260
115
222
247
162
155
115
246
207
129
205
179
146
165
214
149
146
180
235
188
158
155
249
178
235
225
176
239
145
186
171
321
158
131
161
129
150
231
225
200
208
182
190
304
170
141
181
195
155
195
229
173
173
176
164
242
226
239
184
187
185
130
262
159
145
176
145
206
173
143
283
292
185
168
232
188
261
175
115
184
129
146
229
145
206
122
122
191
229
144
253
195
174
146
242
236
217
185
146
168
197
178
248
217
206
213
182
233
197
143
138
244
182
182
203
262
218
155
173
179
179
150
143
190
157
214
230
227
202
141
173
157
182
220
156
184
314
152
166
176
161
202
253
146
268
283
239
205
225
143
283
203
201
157
180
168
219
172
207
128
155
191
130
164
259
203
192
221
274
185
148
155
146
132
231
180
160
198
211
218
171
203
129
146
193
230
145
130
185
160
206
181
158
158
235
146
187
217
178
184
155
186
172
203
225
229
221
181
247
186
179
228
145
239
167
230
202
173
158
187
263
248
212
215
182
115
207
130
202
195
179
221
246
246
206
190
261
236
143
217
158
190
265
220
205
205
188
130
202
146
236
205
182
237
153
206
145
130
201
181
204
129
130
144
180
170
184
202
205
253
237
152
229
210
122
209
176
130
143
233
214
177
174
171
153
164
173
182
231
222
169
217
240
180
133
128
188
195
171
175
202
236
115
183
210
168
130
129
229
208
173
190
203
129
155
158
178
201
145
256
247
146
168
153
219
201
189
278
255
185
167
190
191
138
122
181
176
205
202
184
174
146
191
156
202
176
180
179
176
172
173
228
182
205
210
173
210
201
186
187
212
174
217
219
209
156
200
188
191
241
208
236
130
189
180
265
155
240
145
168
182
175
130
178
166
195
156
179
236
210
202
218
224
176
194
145
255
183
166
228
174
133
176
216
187
176
169
211
204
204
225
218
239
189
164
133
202
150
176
235
143
225
173
146
130
130
185
122
145
162
143
226
261
184
333
225
169
236
210
130
267
265
249
180
206
194
256
201
206
211
182
218
202
227
309
263
156
230
143
216
189
171
183
173
176
204
179
269
217
166
173
217
164
212
151
252
209
208
199
172
190
173
222
259
176
129
162
226
230
146
236
115
182
259
217
164
214
146
130
256
186
175
225
247
130
199
218
262
221
176
214
167
115
146
213
267
230
179
145
197
150
190
222
183
143
199
228
185
173
157
184
146
201
146
149
248
246
173
219
194
157
211
171
157
217
204
230
157
217
205
170
150
221
158
146
217
145
144
207
169
173
237
180
146
236
202
179
149
155
176
210
191
168
153
253
260
263
203
177
138
217
226
158
201
153
119
180
201
194
178
159
242
234
229
294
195
223
195
287
191
166
198
188
161
263
208
208
287
193
211
215
140
222
173
263
122
193
129
169
194
232
158
204
182
234
233
129
155
179
204
197
204
184
257
150
247
198
182
146
129
129
210
223
205
217
261
210
183
155
208
130
179
150
171
129
220
207
176
247
203
249
245
205
160
143
202
150
138
171
168
152
159
184
165
179
133
152
186
231
234
198
239
209
206
188
129
252
204
226
143
175
146
255
210
223
217
226
158
204
234
176
185
206
194
283
189
222
176
185
199
133
133
158
227
183
230
122
246
189
143
225
217
211
162
264
239
257
206
161
231
133
182
170
221
250
300
215
176
130
258
204
204
168
214
238
185
176
231
176
115
168
188
221
254
159
235
143
217
214
133
202
245
183
190
167
180
164
206
274
176
264
158
206
260
217
215
204
206
156
166
182
237
149
183
217
190
181
231
185
191
130
155
173
170
184
206
225
208
196
130
140
187
168
234
182
240
210
245
129
175
115
175
171
181
183
173
173
209
180
210
201
182
129
173
173
133
173
233
239
145
166
265
172
194
145
152
146
259
204
179
197
229
196
176
232
195
129
216
221
185
174
146
211
250
173
180
218
158
230
161
283
202
173
173
237
188
158
200
130
162
322
168
129
203
193
182
183
254
256
256
190
163
202
169
230
227
168
189
189
155
181
173
184
272
189
130
143
178
176
207
157
203
129
187
160
172
143
303
145
166
203
130
273
235
115
230
168
266
115
240
190
173
226
230
130
222
217
205
203
193
261
164
146
164
187
176
151
242
256
204
141
146
141
213
164
158
164
177
162
187
220
260
179
176
179
189
162
185
173
191
202
261
192
173
201
155
171
201
180
162
179
164
289
207
130
196
183
208
174
144
129
201
251
209
211
228
173
168
230
204
188
167
200
196
146
169
169
133
176
176
188
176
209
130
239
198
141
129
174
211
176
173
244
132
184
150
215
159
227
168
145
173
190
115
238
239
238
218
232
226
212
130
214
217
207
256
189
169
214
258
183
211
221
217
162
258
220
186
208
201
182
200
222
158
198
130
187
201
202
204
130
184
169
228
204
211
143
146
242
243
204
189
185
178
189
156
251
159
160
173
244
184
239
206
193
223
197
204
201
219
156
168
231
225
194
115
187
170
201
213
198
191
149
199
183
173
175
192
238
171
158
247
204
176
143
173
172
176
176
230
191
210
217
223
200
203
201
171
160
201
130
201
175
176
180
155
231
129
173
153
176
323
158
230
133
228
196
197
227
130
176
200
247
173
288
167
221
217
133
201
204
201
173
207
216
192
272
203
168
164
193
187
173
146
174
173
180
255
217
183
227
190
255
158
233
228
167
234
277
115
183
146
236
209
211
239
260
200
143
206
232
190
173
185
146
187
130
269
202
130
179
251
194
206
164
205
199
166
213
171
182
130
143
183
115
187
198
192
195
171
181
193
238
196
199
208
226
195
161
212
129
133
163
185
213
202
192
169
162
195
195
178
190
164
193
210
176
186
259
243
238
174
203
133
210
189
164
185
186
242
217
160
201
217
162
208
173
262
137
169
187
184
173
209
236
164
168
155
188
179
179
210
174
204
151
133
269
222
168
246
158
175
183
132
184
217
217
169
210
238
184
179
129
255
161
202
249
190
179
270
243
260
208
231
243
187
205
200
178
231
236
130
166
162
162
185
157
186
256
376
146
192
164
129
246
219
166
181
195
115
145
146
238
204
181
164
179
175
221
245
182
204
255
155
201
193
129
115
172
214
244
181
158
168
221
214
172
201
180
236
157
189
169
173
130
172
201
273
263
145
212
210
130
228
179
195
173
130
239
204
214
169
227
210
168
209
151
129
211
146
201
176
211
168
141
129
212
210
188
219
182
183
158
211
264
165
168
146
258
145
172
251
172
202
196
240
129
146
128
204
201
178
177
173
185
270
145
119
173
170
228
250
179
129
179
200
146
230
263
219
226
156
178
236
201
193
184
174
182
207
206
186
264
245
175
129
183
143
162
202
182
282
188
152
300
288
205
257
173
195
230
244
182
187
242
145
193
216
212
232
152
164
207
129
214
211
217
200
220
130
228
164
179
173
161
222
210
197
171
234
230
186
227
216
223
217
173
210
195
174
179
169
230
204
219
228
236
225
179
169
206
210
141
220
176
264
143
155
239
141
210
185
184
231
174
175
335
133
178
236
196
192
210
252
217
256
217
209
138
179
210
192
216
165
145
214
207
214
168
212
129
204
224
158
262
133
132
145
189
186
155
176
179
258
207
155
189
183
144
167
200
208
225
199
200
129
146
211
237
158
222
181
184
176
204
208
130
177
222
194
239
203
295
231
213
145
173
162
229
210
200
190
261
224
227
179
221
283
195
240
180
129
240
158
176
155
217
217
158
200
130
173
145
130
216
211
195
201
151
174
151
158
212
233
236
129
160
130
155
141
146
191
172
246
182
146
184
217
221
164
204
146
184
225
164
158
179
190
210
229
186
164
237
262
130
129
115
162
217
173
184
185
191
222
168
211
122
184
129
152
176
214
166
240
307
164
230
176
130
189
230
182
256
152
194
133
209
202
194
225
144
129
146
235
204
180
275
208
177
247
251
179
236
158
130
236
204
210
219
230
228
173
133
230
194
146
223
155
238
228
141
242
176
210
201
187
248
179
235
274
156
252
234
182
199
200
192
200
264
238
146
209
199
236
191
204
176
240
184
177
272
178
222
130
211
203
129
146
227
211
160
130
158
173
211
164
172
200
184
222
217
192
210
168
227
199
211
189
187
274
176
192
204
221
220
164
204
202
189
254
276
282
173
168
179
218
218
246
197
159
178
236
178
243
233
236
242
210
247
217
244
194
225
218
248
175
218
217
185
209
200
200
222
222
184
229
204
200
150
322
221
173
225
200
221
259
179
225
188
176
229
217
115
176
184
251
201
175
182
215
236
211
176
262
206
229
167
184
156
217
122
225
158
214
173
176
151
242
223
130
204
189
203
187
195
199
169
236
189
335
171
171
194
143
129
161
130
185
182
212
145
155
204
173
143
226
303
236
129
132
298
183
194
208
168
173
266
264
264
211
239
122
166
205
176
202
176
239
179
190
277
205
161
179
179
212
162
130
255
194
178
185
180
303
179
238
209
201
173
231
144
227
173
235
174
181
163
203
169
203
189
189
133
146
252
129
187
175
130
183
190
294
194
174
180
299
130
246
183
200
173
146
255
231
204
143
143
215
200
257
217
171
183
191
176
193
267
146
168
200
204
172
195
247
184
182
229
204
192
203
200
201
130
190
193
176
255
194
191
210
184
276
130
225
237
228
204
138
199
166
182
146
178
155
185
187
214
242
218
149
264
169
195
194
289
302
172
204
174
221
192
206
234
181
168
217
197
169
199
248
158
168
189
182
179
191
191
235
129
222
173
239
195
217
207
211
173
151
264
173
150
161
177
145
244
182
165
227
157
162
227
204
211
219
176
202
161
230
231
210
146
273
130
170
200
188
151
174
237
189
191
155
122
211
115
165
247
202
211
239
240
193
186
185
179
196
174
184
194
168
128
258
143
130
164
222
204
186
238
203
146
146
200
230
172
214
182
204
202
210
162
201
172
222
130
168
150
145
191
178
129
210
259
227
206
232
138
295
217
185
173
203
252
189
206
179
152
166
191
219
188
183
211
130
189
194
193
200
190
196
202
155
141
221
222
130
225
228
204
192
176
191
192
201
185
158
190
181
182
145
255
204
176
175
274
176
255
169
245
195
189
157
143
152
179
201
218
200
205
237
210
243
115
211
195
207
190
188
202
184
201
211
203
195
180
130
263
158
223
158
211
115
217
280
238
191
132
267
203
252
228
158
202
201
239
206
169
181
146
202
180
281
250
255
239
191
209
247
202
270
176
161
173
201
206
284
178
162
216
328
201
115
188
159
246
194
149
186
242
204
202
178
150
165
204
239
186
234
164
130
216
201
202
190
156
179
173
221
187
178
198
236
178
176
170
211
129
227
176
228
229
176
155
182
164
225
273
211
173
201
206
206
158
201
206
183
173
146
146
281
166
191
159
173
288
199
192
257
173
186
133
231
193
185
179
230
254
186
173
115
161
182
181
159
180
200
187
231
178
130
198
146
160
265
189
194
129
161
196
233
176
237
184
173
215
167
150
210
182
172
158
170
231
145
230
247
216
179
208
210
244
214
244
190
239
256
212
178
236
233
294
166
179
176
268
272
193
158
210
178
176
115
146
184
183
195
164
239
210
219
201
206
174
222
261
173
178
156
204
232
202
231
197
253
201
210
187
168
204
247
202
130
266
204
184
238
168
198
146
158
221
164
164
201
152
168
206
249
201
176
265
211
218
208
201
164
205
210
202
199
173
225
168
138
115
246
184
179
179
157
216
146
247
191
149
284
237
129
184
186
129
159
264
188
146
179
240
225
182
228
130
146
188
159
263
145
195
174
238
252
249
181
129
232
176
212
168
182
211
199
131
184
182
184
129
209
187
216
145
284
221
130
208
184
185
176
191
187
164
160
169
171
150
133
156
242
122
164
146
168
170
170
188
187
206
184
129
143
217
218
187
141
248
184
188
227
242
146
155
186
190
164
138
165
250
174
217
196
208
129
149
156
264
148
184
209
225
146
130
184
217
178
169
211
143
151
187
183
161
143
168
211
166
185
191
164
286
274
221
133
188
146
254
193
176
171
228
182
130
191
174
201
247
278
221
182
261
231
216
188
182
173
167
236
184
146
189
225
197
228
182
170
209
182
164
143
133
164
238
204
230
234
246
176
201
184
130
246
222
138
217
238
145
191
173
168
141
188
197
145
191
133
150
210
130
129
255
189
227
231
176
187
169
196
172
206
191
168
213
228
178
166
222
197
261
145
185
165
146
169
179
238
230
206
176
192
130
199
236
238
206
237
129
231
163
250
162
177
151
130
194
215
239
146
180
201
173
249
204
168
195
133
129
195
173
161
200
218
245
201
242
236
237
145
231
200
145
201
222
156
168
181
166
217
273
233
187
221
115
214
189
130
157
173
130
288
218
204
145
155
128
200
130
210
187
146
183
159
206
220
214
146
115
229
182
164
145
130
174
130
179
150
187
257
201
178
175
201
264
205
176
183
211
205
218
200
222
186
161
187
217
321
181
164
157
250
186
203
251
130
143
230
156
244
191
195
276
172
188
200
248
201
162
217
181
191
130
127
200
294
173
180
195
155
150
206
217
173
274
204
153
146
207
141
115
188
146
146
239
205
129
192
178
264
315
173
199
129
146
264
256
161
223
186
176
162
146
189
188
184
187
235
238
333
203
182
238
188
220
190
236
236
258
193
181
202
198
143
186
187
130
282
182
174
156
212
182
211
210
209
152
309
173
178
238
204
188
222
181
157
138
238
146
177
166
160
244
162
176
239
129
166
141
254
186
215
218
147
262
192
217
204
215
186
231
187
200
129
143
209
246
191
171
200
146
128
158
146
178
146
146
201
185
199
171
201
225
155
194
236
173
165
201
211
204
158
171
176
195
178
162
207
191
209
131
143
186
266
247
191
299
130
158
178
217
200
174
179
211
207
188
205
240
282
156
180
206
115
184
244
172
251
201
310
155
183
189
146
221
129
146
180
209
229
176
180
206
201
176
216
129
217
299
187
293
204
187
198
145
246
115
211
238
225
195
245
217
192
130
155
130
204
276
210
158
164
264
228
206
248
210
176
143
170
210
257
199
238
184
158
157
173
230
186
174
226
240
176
166
190
230
229
209
262
143
235
130
220
263
232
143
254
300
146
183
204
191
222
238
202
265
209
208
184
201
230
173
157
164
214
190
217
122
179
195
216
179
262
146
189
143
162
146
147
176
210
141
184
191
168
247
115
146
138
170
204
184
195
159
188
130
221
217
130
190
222
130
256
234
185
223
206
229
130
173
187
192
182
206
171
176
145
255
246
182
263
133
190
155
158
185
183
177
221
167
149
199
133
217
230
208
115
167
179
211
130
146
133
216
130
176
186
217
167
158
130
155
238
235
236
215
247
247
162
173
173
130
184
145
115
179
145
166
236
246
158
208
173
141
210
176
249
182
238
169
146
208
138
210
164
204
178
227
179
240
129
188
184
176
221
217
217
204
159
129
178
237
223
162
225
219
143
304
155
176
217
203
158
176
132
192
270
164
182
172
210
249
259
180
174
152
245
241
246
143
195
179
188
129
160
217
173
217
168
199
133
145
258
262
217
255
145
184
286
183
161
180
204
143
169
130
210
249
202
184
185
193
221
174
149
166
250
239
186
181
190
199
202
225
166
153
173
187
234
233
197
129
229
176
230
181
138
183
214
186
173
180
187
174
215
158
186
283
115
153
186
146
210
162
130
222
195
211
271
192
201
224
204
176
226
138
143
183
130
145
222
188
253
175
202
187
173
205
173
211
205
175
232
175
188
206
175
149
130
173
189
302
270
226
208
176
198
236
202
165
180
146
210
213
158
181
130
207
225
176
204
195
122
191
162
181
190
190
239
199
263
209
192
185
171
194
130
149
193
146
173
204
241
174
183
149
146
143
173
275
202
173
249
206
235
182
175
195
214
174
188
222
205
173
182
210
215
197
207
187
205
168
218
239
196
146
250
228
164
236
238
219
210
283
202
129
219
182
211
156
218
161
156
281
216
183
129
171
207
191
196
254
263
214
263
252
145
129
253
162
166
168
150
206
191
133
195
129
272
155
191
219
169
176
192
189
161
174
240
178
226
129
225
145
183
180
145
201
156
233
145
185
173
158
169
206
190
145
162
210
205
173
181
209
202
176
176
130
168
168
171
169
168
202
202
188
259
173
239
152
278
221
213
176
188
185
192
210
161
196
223
129
158
183
225
234
239
173
250
171
173
180
264
173
129
129
171
169
255
173
152
119
204
210
202
210
201
204
187
146
128
225
217
201
189
202
258
146
155
192
204
150
143
184
247
188
204
341
175
171
164
179
225
217
204
184
166
227
226
166
176
194
162
166
183
243
179
164
115
162
259
202
185
180
145
171
228
146
221
209
238
133
194
129
164
235
143
220
179
173
175
210
130
207
207
181
206
188
204
186
228
115
129
202
204
168
208
227
130
226
227
177
201
176
202
214
187
235
221
122
187
176
130
239
224
160
181
190
162
192
193
210
191
150
221
231
115
115
119
217
158
212
130
199
145
211
184
236
219
261
225
129
183
146
177
229
212
209
191
178
147
129
199
221
184
143
204
191
210
156
231
291
164
258
218
214
193
222
235
219
210
168
217
133
155
115
201
223
225
173
122
130
133
191
198
162
215
146
185
208
172
182
130
215
225
155
176
173
138
228
189
158
204
204
185
181
176
204
168
240
228
168
130
222
207
263
146
168
236
231
164
240
286
174
164
168
174
202
224
161
130
211
174
176
188
130
129
141
173
244
173
225
239
243
173
226
138
266
210
231
211
203
143
176
211
183
174
242
246
236
213
192
232
204
257
158
176
236
194
248
169
185
178
184
194
146
202
202
279
150
180
243
173
181
169
215
183
183
161
253
211
173
233
122
169
180
216
133
211
122
252
169
239
200
191
130
335
241
229
145
194
175
132
222
218
129
164
141
210
141
191
192
204
162
209
129
252
230
173
133
172
176
179
160
210
171
230
242
129
177
335
165
210
222
202
188
202
115
129
165
206
168
242
289
239
153
236
196
187
173
171
145
171
129
216
204
210
164
193
288
230
184
170
145
156
211
192
208
204
206
225
199
129
213
144
240
200
267
216
130
254
164
178
160
171
236
218
204
150
237
226
178
239
187
186
186
205
144
206
168
217
162
199
208
230
218
133
224
275
236
252
233
173
191
254
211
168
158
181
210
183
199
168
151
252
207
226
213
204
242
305
207
182
130
254
128
166
199
145
122
115
251
211
214
231
226
130
173
215
260
149
195
204
191
158
174
204
191
194
130
221
186
128
226
132
252
198
211
151
149
201
189
182
300
161
222
178
187
192
176
335
162
115
193
146
173
198
210
217
179
215
178
197
230
228
188
127
265
190
201
239
156
130
138
253
194
201
178
160
178
143
146
163
259
186
200
168
143
169
166
182
171
181
176
187
214
210
205
188
254
200
209
185
250
179
138
252
229
206
175
221
130
252
172
176
162
145
159
147
169
151
130
177
133
202
210
167
185
143
133
173
223
143
202
160
210
210
206
265
216
180
190
146
200
192
183
182
169
214
231
156
200
211
259
224
217
164
160
210
130
217
237
270
130
225
130
178
227
296
206
255
199
201
173
143
138
130
204
238
211
237
151
236
206
168
175
202
191
175
215
130
210
217
185
210
141
191
184
178
146
254
180
204
172
167
143
176
265
188
176
193
207
186
192
149
217
244
161
189
193
245
115
173
210
191
214
292
258
239
216
212
167
143
182
145
182
158
155
184
202
169
243
168
181
200
246
212
161
177
179
221
173
193
152
131
183
210
204
233
143
164
236
190
203
222
168
180
210
181
191
194
160
222
147
205
130
201
145
182
244
211
242
217
191
146
225
191
255
129
176
188
193
115
168
221
261
220
231
274
178
173
161
195
158
133
169
218
168
173
199
174
169
129
221
225
178
115
195
130
146
176
145
149
194
198
251
143
150
164
194
277
173
145
130
167
174
176
238
176
182
188
173
211
203
195
195
168
130
217
203
283
226
177
217
155
161
171
251
150
161
167
217
256
189
189
149
130
240
199
191
228
168
180
184
265
204
160
183
207
182
174
115
175
175
236
268
217
149
202
198
146
217
183
183
230
129
164
236
181
227
209
189
206
230
176
198
202
163
191
225
236
230
173
130
181
147
203
195
201
227
184
132
210
222
155
133
233
247
217
201
145
212
188
243
166
187
255
210
133
206
198
246
206
292
218
210
182
222
245
115
242
221
209
244
128
198
215
150
268
156
146
173
238
192
184
145
206
192
193
194
204
132
152
204
158
145
179
197
158
130
204
162
206
248
183
254
262
130
227
199
154
179
133
146
176
183
199
176
168
204
151
237
166
153
195
198
204
130
158
205
182
229
171
217
201
263
149
183
158
211
166
208
210
151
204
256
230
229
184
157
293
232
191
181
146
130
185
151
187
129
255
296
197
216
230
213
115
178
241
146
130
241
194
166
129
195
238
155
174
254
168
178
217
170
212
205
208
187
216
209
210
249
191
133
245
208
164
198
192
184
209
200
195
180
176
206
156
130
229
250
254
130
230
186
208
239
157
251
200
152
186
240
180
164
145
146
130
181
182
210
130
210
198
159
217
204
176
231
261
190
294
133
178
202
210
253
164
156
182
182
164
263
250
205
181
204
236
217
208
183
185
162
222
173
183
191
186
143
236
122
184
175
130
129
169
185
227
210
223
240
161
263
202
189
194
226
162
203
215
157
198
243
161
130
173
115
173
208
210
176
173
129
200
115
217
171
130
252
189
209
170
222
160
209
183
206
180
194
191
149
202
230
144
254
204
206
255
178
155
213
189
195
209
335
175
186
156
225
197
206
191
212
204
153
129
176
129
168
178
152
115
160
209
195
130
141
158
177
230
213
239
179
233
187
160
182
217
271
195
128
115
187
167
179
184
206
215
159
236
217
174
169
186
150
180
197
193
159
178
265
146
177
130
146
185
251
203
182
181
184
180
243
228
173
236
217
210
172
171
159
205
151
278
158
182
181
147
183
146
184
216
185
227
216
151
200
183
158
146
155
138
199
197
130
155
200
187
129
152
184
227
201
233
224
146
203
173
158
182
216
181
218
201
230
214
184
335
218
169
196
167
178
149
199
150
199
258
219
151
183
115
218
277
205
130
129
202
162
129
146
176
133
176
207
115
179
164
260
194
129
203
164
176
155
179
171
147
222
173
130
146
204
204
190
217
161
289
206
176
159
168
210
146
234
176
206
238
236
218
168
257
195
197
208
194
156
230
261
162
182
151
206
185
129
197
173
201
203
129
235
198
164
205
204
247
261
222
143
251
191
167
164
158
184
146
204
176
238
176
180
145
129
155
197
206
202
195
194
176
207
224
192
174
185
130
168
176
173
173
129
276
197
201
161
143
146
161
155
166
197
204
132
129
173
210
216
188
217
249
149
269
130
204
166
186
181
184
246
200
156
187
201
182
178
227
179
119
209
158
191
130
186
150
130
129
195
206
151
197
284
264
215
173
218
258
185
202
251
235
130
146
178
158
221
210
161
179
217
245
158
193
244
174
217
202
264
217
211
210
133
146
192
177
143
195
173
145
233
231
183
158
191
180
209
191
205
188
247
230
252
191
176
300
201
167
211
158
204
129
204
220
321
211
193
174
115
216
158
146
297
204
178
287
168
180
204
255
191
191
145
242
214
214
258
210
176
209
216
222
183
208
200
146
184
259
171
115
178
133
200
169
161
193
130
193
185
261
155
145
283
155
211
273
146
214
176
275
130
182
222
201
155
164
129
219
146
225
204
194
184
252
182
143
167
129
202
252
214
236
184
218
200
269
231
201
275
215
226
230
189
146
184
155
176
133
179
156
172
187
201
203
271
200
242
188
150
146
192
176
198
235
152
176
173
235
182
203
225
204
211
272
266
173
202
203
202
204
166
178
189
259
210
130
155
168
194
247
200
230
217
179
168
162
173
173
146
129
255
210
210
168
184
272
210
273
229
238
146
199
187
254
227
160
183
185
206
145
162
133
156
251
176
217
184
180
157
218
201
169
185
231
253
185
166
173
138
209
176
160
164
155
197
324
209
245
192
206
246
189
196
164
145
146
295
163
173
221
298
197
224
147
221
202
161
173
143
178
160
204
202
204
199
176
221
195
129
174
130
252
195
201
205
239
198
145
167
201
225
217
235
208
195
201
200
190
143
115
182
180
243
252
201
204
127
188
225
215
146
189
174
203
185
176
246
200
179
218
217
186
145
173
204
258
219
208
145
171
157
133
185
160
242
129
191
197
200
218
129
205
223
176
195
162
202
218
181
183
176
232
227
169
203
203
130
174
146
217
171
204
146
176
213
201
152
191
230
268
202
186
185
208
230
194
204
203
204
211
164
154
129
201
160
180
155
246
172
238
200
143
178
184
272
174
214
220
143
174
160
300
162
186
162
168
185
246
146
267
160
181
176
149
231
155
201
197
174
210
238
219
181
256
256
229
211
158
236
239
133
141
236
122
238
144
208
173
316
146
200
230
231
166
182
133
197
247
192
143
169
277
258
167
200
204
210
227
184
173
203
186
227
242
162
192
130
166
176
237
145
190
236
193
186
225
164
145
162
115
264
180
194
133
179
273
241
184
228
149
242
155
173
146
161
173
224
161
216
151
188
158
145
168
200
251
170
204
204
228
130
238
217
206
187
231
264
129
181
176
200
200
199
196
174
160
216
184
173
262
188
174
230
215
181
182
211
177
281
233
155
201
156
170
180
223
256
172
187
165
264
155
191
155
204
234
179
227
228
193
145
179
146
152
214
140
191
179
156
177
195
255
141
203
149
158
176
195
217
224
231
247
164
185
149
177
168
212
163
176
188
212
145
190
173
179
212
149
189
156
189
217
143
294
238
138
205
143
214
166
264
231
180
198
198
176
197
178
141
215
233
130
168
184
234
158
179
286
201
168
174
172
197
138
165
186
155
191
129
246
258
185
183
168
179
210
210
218
223
184
208
183
247
176
236
199
158
218
173
216
217
204
240
191
186
183
211
169
210
176
179
246
222
192
249
252
141
204
182
160
176
175
252
146
193
188
145
172
184
239
206
205
171
129
146
196
231
236
168
211
271
216
192
294
244
218
179
185
202
248
149
229
242
221
129
130
130
183
198
216
138
208
243
230
176
173
146
209
245
201
189
151
201
217
232
129
169
122
190
182
147
185
158
146
277
201
236
141
176
129
146
232
204
205
167
248
204
218
146
182
201
258
145
239
171
230
227
193
261
239
225
246
145
115
146
184
168
157
192
265
230
204
202
209
191
166
178
173
181
215
186
211
168
214
218
201
162
182
146
251
153
215
180
158
226
155
130
182
152
238
244
208
217
189
195
186
222
181
211
238
230
165
189
171
191
185
171
180
138
210
247
236
146
185
149
146
129
264
256
213
237
171
202
211
227
198
146
250
130
173
157
239
170
211
178
176
176
246
199
195
133
178
178
202
129
231
195
181
150
191
129
189
283
201
164
128
171
143
230
184
185
214
200
158
184
218
251
201
194
202
170
206
167
145
195
247
211
200
173
215
216
275
211
188
185
254
182
230
172
162
215
234
182
211
238
183
209
149
160
228
130
158
155
183
164
269
149
146
193
210
207
179
191
173
130
195
210
152
255
191
173
166
188
246
183
167
210
210
129
122
217
191
195
205
183
216
190
151
219
130
168
208
184
183
178
218
242
173
211
188
224
230
195
236
184
173
130
164
141
211
130
201
150
145
268
187
156
129
176
175
204
164
176
213
129
244
200
222
194
171
246
225
147
172
226
177
176
130
143
236
130
226
130
176
236
212
202
129
216
182
184
197
145
259
205
254
280
130
173
175
192
163
187
181
156
238
230
168
176
156
208
197
182
230
160
143
161
200
254
191
236
176
178
208
167
161
176
191
194
171
158
235
258
184
130
204
211
228
130
192
287
188
156
220
185
176
210
237
183
155
182
180
210
165
187
197
200
169
187
184
191
176
225
129
187
162
169
201
195
211
240
207
194
152
249
168
274
164
143
169
203
164
204
180
201
288
170
230
175
173
217
217
197
200
201
172
130
129
188
199
129
181
236
138
168
129
191
186
201
292
208
161
146
243
189
174
173
230
176
201
248
204
237
129
204
146
161
184
217
239
206
133
143
240
225
196
146
132
200
291
176
192
180
160
190
233
176
173
203
156
215
176
203
220
179
173
226
204
143
146
262
190
145
197
115
238
156
149
247
141
235
292
187
130
187
207
230
130
222
193
129
300
261
145
115
178
227
130
264
260
206
173
129
263
188
130
225
192
236
211
129
210
218
209
173
180
130
141
302
170
218
192
168
130
182
155
173
115
187
321
138
172
232
227
145
147
236
234
221
176
230
221
185
155
202
180
150
217
193
188
180
191
206
174
141
259
201
218
215
251
173
211
200
267
175
221
176
233
191
177
129
204
282
115
273
168
173
201
235
133
184
205
130
204
271
184
178
193
157
239
129
255
169
176
204
252
199
230
162
221
301
261
133
179
119
185
203
130
164
196
200
182
227
204
158
198
179
146
179
236
237
185
172
208
228
259
211
155
166
171
199
173
204
204
162
233
197
233
169
202
219
185
203
164
199
260
204
208
130
176
145
194
169
206
240
262
217
168
244
164
195
146
154
217
187
169
241
211
184
247
162
202
247
214
191
253
203
217
176
174
248
156
155
283
213
233
133
222
201
203
225
173
212
169
160
157
300
204
199
156
185
176
228
223
210
157
210
186
246
178
282
238
184
209
170
199
183
146
254
214
179
130
179
151
153
173
244
164
260
216
211
246
223
205
176
238
151
252
159
247
244
200
204
180
287
211
228
230
194
201
172
141
228
165
246
206
161
182
178
191
208
155
169
179
206
185
176
176
298
160
146
180
231
240
158
130
210
217
171
210
196
122
141
198
230
179
165
209
179
251
169
202
147
144
150
227
173
203
172
129
166
288
146
234
216
188
210
202
225
246
231
239
235
261
214
192
184
173
224
227
167
179
185
196
129
223
177
293
129
158
156
173
159
188
213
152
233
232
289
303
130
237
143
223
189
115
179
184
179
149
168
173
192
191
199
230
130
162
157
174
176
115
277
162
152
149
173
201
162
210
180
158
185
222
171
199
164
192
218
241
204
210
181
210
239
218
184
224
200
186
182
202
156
220
178
182
210
183
164
178
236
184
248
160
119
191
222
272
195
211
200
273
184
138
221
257
184
182
143
231
201
158
264
235
184
238
173
209
164
267
161
215
183
178
233
260
208
206
187
151
186
260
128
164
236
205
129
129
178
130
194
157
200
183
225
185
190
148
173
173
252
221
212
188
188
202
206
201
229
161
250
173
130
201
221
211
191
191
212
182
155
227
195
155
133
158
250
232
171
201
156
173
202
168
186
145
215
170
222
176
247
277
168
187
204
210
219
141
201
217
230
229
296
199
146
158
166
264
285
214
178
230
176
239
188
219
168
149
191
203
215
159
186
266
180
241
205
180
164
195
145
193
255
234
150
296
152
214
225
133
143
138
122
173
206
180
210
141
218
208
204
176
229
198
217
291
178
169
119
225
115
206
199
173
201
239
221
206
146
188
130
186
172
200
211
164
203
128
133
176
210
115
146
303
193
164
193
168
180
180
200
201
246
146
196
168
168
138
195
179
151
176
184
202
284
217
145
133
155
210
193
213
250
143
181
209
217
187
182
236
188
244
229
313
246
218
238
150
226
184
239
171
193
299
184
164
265
222
167
176
150
164
214
144
230
228
168
300
146
143
238
204
247
210
184
130
129
250
214
211
178
152
168
225
122
143
173
147
173
176
176
216
180
184
146
151
178
160
218
197
184
243
184
235
207
238
152
133
202
246
206
147
256
183
169
222
173
164
244
159
206
215
176
206
206
130
203
193
275
156
176
184
258
155
221
176
164
130
146
201
182
158
162
182
230
238
182
247
173
204
238
224
181
195
191
179
173
230
130
173
204
234
193
176
115
203
184
235
176
174
143
261
191
173
130
238
247
215
214
218
165
232
246
207
181
226
194
133
172
162
237
263
205
165
129
271
206
130
129
199
205
199
230
250
247
115
188
145
158
195
227
146
129
179
171
322
206
244
201
180
193
210
287
159
143
225
201
181
180
158
206
247
204
208
173
143
200
223
210
176
241
129
173
178
219
240
176
217
191
183
184
215
129
175
239
191
189
178
182
173
176
237
214
186
182
133
130
203
119
228
195
183
217
179
198
176
143
226
204
183
129
225
232
162
165
176
150
201
172
197
190
115
217
145
214
164
132
176
217
225
138
138
181
169
224
133
221
217
161
205
131
218
203
172
216
213
143
229
184
180
129
147
237
129
200
214
139
202
271
200
255
156
194
174
280
175
155
132
182
221
176
179
182
210
193
176
208
231
130
156
263
191
146
174
199
146
228
182
162
164
216
155
173
220
207
188
130
141
162
183
204
229
173
192
244
300
202
170
209
147
202
167
162
225
241
259
173
146
168
210
244
161
130
216
119
211
206
203
205
171
218
194
208
205
143
133
188
168
240
227
204
184
220
238
213
219
208
227
206
169
179
195
221
169
182
182
192
129
204
180
166
202
187
155
227
129
217
193
189
255
225
208
164
205
176
208
252
189
202
207
130
210
248
189
186
184
152
191
222
236
204
217
164
238
158
177
242
206
160
222
251
203
180
211
195
204
206
222
212
275
219
204
167
130
223
218
202
230
200
238
177
131
164
200
200
168
243
190
195
178
208
185
251
181
155
166
145
122
155
141
191
146
176
189
217
192
174
213
200
192
183
200
201
224
173
221
143
115
198
254
157
166
162
242
149
220
211
203
210
212
201
204
204
238
221
223
203
176
170
129
147
232
146
172
141
188
155
155
199
159
175
141
164
229
164
222
202
181
184
186
143
176
141
190
158
215
176
242
146
178
129
178
239
228
210
129
193
182
203
156
260
255
193
230
190
207
262
211
200
149
185
291
204
155
159
217
214
183
197
168
222
145
222
220
167
202
169
264
166
186
146
176
149
214
181
227
228
203
203
153
149
143
225
183
201
164
201
210
209
208
268
183
188
211
145
168
176
277
144
225
155
210
155
209
184
187
256
130
161
230
218
164
235
201
190
244
200
130
256
183
194
208
248
182
179
183
165
192
201
185
224
115
171
182
218
185
184
129
200
184
184
151
219
219
161
211
130
172
180
195
210
212
158
213
197
162
148
218
193
115
146
155
246
186
189
173
164
203
150
166
206
191
178
173
169
202
130
222
175
176
264
176
222
194
182
129
228
168
189
129
144
236
212
259
146
213
195
246
217
173
184
178
182
129
185
226
258
217
147
209
197
210
184
207
129
168
179
286
218
210
200
206
193
176
192
199
122
189
216
212
238
223
217
259
130
143
145
178
146
225
178
164
242
188
176
204
129
188
203
167
119
162
211
201
128
129
149
208
185
138
201
182
236
216
130
209
217
129
173
177
214
203
143
138
155
201
194
147
215
217
231
236
178
160
145
152
173
129
129
228
182
129
294
150
248
146
228
177
190
161
115
201
177
115
203
211
176
159
183
214
244
196
179
133
193
214
195
193
166
182
208
173
228
173
229
182
208
222
163
266
149
223
184
182
193
176
145
168
147
129
217
159
217
201
241
115
185
239
143
122
181
240
199
184
213
238
168
167
143
185
170
188
172
130
200
184
195
201
146
163
199
176
221
210
204
202
172
194
161
252
130
183
233
201
164
186
264
162
245
269
160
197
217
188
133
169
232
244
269
238
237
164
248
182
193
214
234
168
184
244
155
246
234
201
176
184
177
155
209
181
185
130
129
155
229
229
251
264
208
250
229
205
206
229
165
202
204
193
176
115
261
201
146
184
183
183
150
206
177
182
204
129
190
146
151
197
210
201
205
182
204
225
185
184
173
219
170
225
168
129
172
247
176
168
197
129
200
197
180
129
167
196
130
149
188
232
237
238
211
201
209
209
252
145
169
179
191
129
214
182
156
211
222
236
171
155
230
198
224
145
192
183
129
173
218
146
158
200
156
233
229
206
208
206
141
137
171
242
216
215
155
248
173
237
257
322
182
157
194
194
218
182
230
199
179
198
158
244
236
258
278
182
234
217
210
169
115
244
157
209
176
205
226
169
210
189
184
216
246
174
190
245
206
149
168
146
155
184
191
182
133
174
207
241
211
173
122
169
178
239
164
201
171
122
145
184
183
205
209
192
143
208
157
176
183
146
217
159
179
212
157
162
217
230
146
155
229
145
191
130
191
130
254
184
146
197
176
233
231
182
217
166
216
173
265
130
226
213
187
184
221
196
153
239
166
168
156
241
146
152
245
252
246
211
143
265
176
182
187
171
168
261
173
196
191
179
146
276
204
166
146
190
205
150
210
212
173
173
130
203
130
201
141
133
214
162
200
219
203
203
230
209
179
241
142
238
173
204
181
156
211
128
202
180
240
143
180
152
146
161
183
129
176
195
234
221
144
129
145
178
193
208
201
184
181
218
173
230
237
229
226
178
162
200
169
170
169
150
170
274
216
284
175
133
283
130
182
129
162
166
231
152
195
217
210
259
146
184
204
217
202
278
199
221
216
204
200
224
235
183
181
184
217
226
283
182
202
179
172
176
222
194
248
202
208
204
182
160
179
164
258
190
163
231
180
151
209
129
151
204
225
211
160
181
206
181
202
130
216
213
201
165
247
163
234
164
217
204
295
143
164
199
229
175
129
218
206
173
169
146
172
185
231
261
130
209
176
207
122
247
248
184
251
146
150
215
180
261
195
143
152
159
179
162
225
210
210
169
122
181
115
299
179
184
237
272
195
163
226
235
176
130
205
210
184
132
188
217
190
130
216
208
200
211
173
227
168
283
182
184
143
190
217
191
130
191
238
218
184
191
173
245
190
199
251
144
219
264
208
224
176
197
163
221
203
161
210
146
287
130
238
229
178
155
176
271
266
256
169
164
221
164
246
160
157
162
149
191
133
211
170
230
164
133
210
155
130
176
239
179
200
188
197
183
225
133
214
201
177
176
236
201
201
204
254
145
164
200
133
211
218
130
200
166
247
130
192
335
206
129
202
198
155
172
202
181
173
232
179
155
250
232
217
236
204
160
129
168
232
234
223
200
171
173
188
191
239
204
176
180
130
183
179
164
226
203
204
199
204
184
221
129
222
211
138
145
283
203
167
242
201
139
252
234
173
141
214
164
234
230
183
173
146
122
160
180
230
304
172
133
257
146
228
149
213
183
238
129
160
231
247
192
253
234
208
204
211
237
249
143
223
176
200
222
215
182
223
210
130
190
149
258
183
164
170
184
185
146
158
210
209
146
162
183
145
180
167
155
141
200
146
143
151
176
130
185
169
130
172
194
199
189
182
231
115
130
164
260
180
169
221
176
180
238
182
193
169
197
252
217
138
201
183
173
177
201
146
173
236
254
164
150
162
225
232
184
164
183
210
146
177
181
195
230
167
244
182
221
238
174
216
222
211
212
161
178
129
243
184
214
166
230
146
239
176
143
326
275
143
164
181
266
169
211
150
146
200
261
173
155
160
204
203
210
225
146
246
129
211
224
129
173
197
115
236
212
210
146
236
237
187
170
222
273
195
157
210
166
204
179
158
217
146
173
175
122
199
187
259
203
226
130
129
174
152
246
164
188
143
238
193
221
157
173
129
184
173
132
271
238
155
167
160
223
122
265
166
179
215
222
201
230
272
185
219
185
203
222
194
212
217
251
218
232
231
229
143
203
237
183
173
155
143
191
189
174
189
132
167
202
264
179
223
177
287
212
201
194
231
212
217
299
242
146
180
180
166
188
206
261
247
133
168
146
149
207
183
199
210
191
146
178
168
177
186
260
249
258
162
222
216
192
130
194
230
183
318
239
143
151
227
128
195
239
190
239
162
242
204
176
211
129
173
178
162
200
145
160
264
214
252
175
221
214
201
209
176
220
184
225
146
149
255
227
210
158
224
217
204
119
166
211
230
211
166
115
216
208
168
132
244
238
184
218
166
221
195
146
151
220
146
176
240
212
173
248
168
204
115
157
179
157
130
162
146
172
188
184
202
214
180
222
129
200
211
129
130
190
274
200
185
138
200
147
195
212
230
194
217
167
209
188
214
207
218
130
239
168
235
274
183
166
115
240
164
219
185
184
184
211
196
168
167
211
143
179
191
168
176
173
170
146
281
165
193
149
210
214
201
193
224
260
172
212
209
179
168
197
249
183
206
150
176
200
246
130
270
129
211
230
216
176
159
223
173
184
263
204
176
247
190
209
130
204
235
223
214
202
229
174
208
201
238
297
222
145
246
206
184
153
227
182
129
183
204
199
141
270
151
186
155
183
198
202
176
183
130
208
211
180
178
187
145
143
145
206
211
182
240
146
249
259
214
204
178
264
216
145
180
214
203
236
155
183
166
158
180
184
177
159
256
178
157
205
228
229
242
199
237
255
146
176
226
194
209
188
129
210
204
189
133
182
217
218
217
187
188
241
217
157
156
264
173
232
216
201
162
129
195
168
179
228
178
177
197
204
192
151
254
131
168
173
171
184
202
222
129
265
191
186
227
182
244
166
176
115
115
133
320
212
194
183
197
146
186
244
185
180
190
204
243
155
201
149
176
264
202
231
130
281
205
183
236
173
211
209
130
160
129
236
206
159
179
162
247
182
186
304
238
218
184
143
158
190
115
182
146
212
186
204
168
176
173
183
176
176
229
115
287
186
172
164
165
166
248
189
244
130
225
122
230
181
178
183
179
133
190
207
173
158
132
232
196
173
240
181
179
172
162
173
164
146
245
194
242
216
171
180
133
173
180
171
239
282
166
201
171
210
202
155
158
214
182
182
179
204
145
240
176
209
162
145
211
210
145
179
217
240
173
190
171
184
189
180
240
222
165
217
184
203
215
167
188
192
183
164
249
143
194
146
196
176
176
227
210
208
130
146
168
212
192
173
191
164
204
221
156
206
129
183
239
210
185
187
219
238
178
173
274
173
263
241
214
243
203
265
284
234
190
173
274
202
205
204
192
162
122
141
227
183
181
175
143
192
179
183
176
261
230
210
283
230
197
283
204
195
214
195
186
211
178
245
181
146
241
182
178
229
146
201
148
245
217
162
179
221
200
173
222
166
214
151
122
173
174
210
221
164
205
206
272
202
156
184
180
242
230
178
190
171
204
146
249
164
146
239
226
169
184
188
202
171
168
186
201
176
129
201
155
184
191
239
320
262
164
146
222
215
187
180
133
180
206
172
189
197
155
129
202
166
183
201
133
201
176
166
168
251
174
185
146
115
282
217
179
228
242
171
164
202
210
236
146
229
255
162
210
133
253
130
230
182
129
203
183
204
216
193
173
145
225
205
165
280
183
211
264
210
185
167
226
210
199
234
129
212
204
200
238
145
115
183
146
190
192
239
216
238
170
199
213
211
152
238
167
164
206
188
247
143
225
204
176
216
115
241
217
182
231
179
199
171
225
200
158
145
227
217
230
183
195
129
173
191
228
173
175
178
215
204
180
188
283
210
237
155
177
176
215
133
173
168
220
229
129
250
223
225
199
122
178
166
185
191
238
216
206
168
209
173
189
173
204
233
168
174
228
129
182
170
153
185
202
214
227
163
167
186
173
172
144
174
259
204
242
178
115
270
145
217
146
239
166
166
183
190
209
132
176
267
201
204
236
231
115
168
146
169
206
145
204
184
146
181
264
238
146
115
181
205
178
200
176
170
179
182
130
244
223
115
179
183
170
158
179
176
160
195
174
179
162
176
138
197
243
130
335
179
188
173
130
256
300
164
237
188
238
151
216
168
203
185
129
138
180
158
221
183
206
243
179
228
186
214
200
256
145
211
130
193
131
179
210
146
180
221
145
204
221
130
195
228
208
164
187
146
279
190
188
186
187
210
176
186
146
248
224
236
191
158
178
228
201
149
206
169
186
115
129
198
237
149
172
146
159
230
200
147
208
179
195
269
183
188
175
149
176
221
155
169
235
247
304
222
214
179
210
162
189
143
129
147
173
193
203
204
143
158
129
145
130
115
215
207
212
129
128
264
146
259
158
216
175
212
198
200
203
221
264
178
158
146
175
195
239
164
165
190
193
216
239
184
203
158
158
173
179
157
192
176
131
224
255
201
204
174
181
247
230
200
231
129
195
145
251
129
204
217
200
179
173
229
221
201
176
168
173
156
171
138
146
147
220
168
203
169
228
241
130
143
201
160
133
194
184
146
227
130
208
183
161
158
174
133
236
240
212
280
194
221
204
226
204
181
242
122
176
256
173
183
265
261
242
174
155
158
155
155
209
160
168
222
156
155
162
208
229
191
175
247
144
172
158
166
200
133
179
194
294
195
173
149
115
175
182
169
164
145
264
256
199
228
182
183
288
178
202
146
194
115
158
175
156
210
296
169
142
248
197
218
204
181
210
177
207
225
176
230
209
158
191
184
238
148
222
184
189
141
183
204
176
192
190
201
166
200
115
184
236
115
159
173
184
247
176
149
129
186
178
183
219
182
184
143
164
129
191
176
129
204
186
257
222
163
214
169
227
193
202
163
265
173
267
214
185
213
232
133
130
190
141
140
150
186
203
264
181
225
145
178
129
241
164
194
198
129
234
197
197
146
266
231
186
244
211
172
173
222
200
146
186
227
191
194
157
229
230
211
162
146
209
234
225
153
168
130
198
150
155
224
216
206
287
261
246
141
146
211
173
217
335
275
189
253
226
204
180
212
146
176
183
200
209
176
184
228
172
189
130
162
202
204
218
203
252
251
141
145
203
158
159
192
185
173
171
181
159
221
204
198
133
204
150
146
244
200
168
221
184
138
130
129
214
237
150
178
143
239
204
122
173
200
194
130
261
130
168
201
192
210
151
255
181
218
209
182
164
192
183
210
180
246
199
189
130
258
216
194
174
209
176
207
169
227
209
202
169
225
217
229
182
234
210
261
201
212
183
238
178
166
246
184
146
326
211
145
162
236
200
133
187
205
230
161
230
191
185
211
129
207
170
170
158
176
197
224
115
158
187
182
196
178
173
208
229
174
156
222
183
217
166
179
186
206
141
210
215
207
143
162
130
179
222
173
168
202
176
203
129
131
141
280
212
195
173
173
155
176
265
260
143
239
169
143
115
143
161
230
210
200
159
186
175
146
181
227
129
204
180
169
160
191
190
231
192
231
204
186
228
115
206
204
175
179
218
204
178
133
266
130
217
183
247
270
209
184
155
145
199
200
191
153
133
259
224
218
163
204
174
193
115
209
232
162
201
166
149
145
173
184
159
230
184
183
192
202
140
187
152
229
185
209
211
200
274
206
277
229
156
181
185
204
190
212
256
190
209
204
202
169
250
181
173
189
168
201
256
220
173
155
201
173
185
268
248
228
172
115
202
158
217
182
182
158
183
204
230
282
210
155
211
206
230
303
184
213
218
149
217
239
195
222
270
157
216
155
146
200
141
165
206
158
210
211
239
193
188
151
213
236
183
210
183
204
152
172
202
182
201
176
129
155
200
170
149
173
225
253
173
222
143
232
146
168
133
155
254
238
236
259
193
201
246
210
216
189
224
166
191
130
168
192
194
149
175
225
191
238
238
206
268
252
178
200
264
230
211
213
200
146
254
174
181
184
210
294
155
145
130
217
217
262
211
171
201
251
129
217
172
211
230
217
204
185
157
258
189
182
176
211
161
266
212
166
255
189
238
146
247
184
210
227
228
166
185
188
173
214
255
168
222
335
187
208
204
187
130
230
204
184
252
199
248
206
130
181
207
226
189
243
173
208
199
146
157
202
130
165
129
195
129
210
183
234
192
216
246
217
183
273
173
189
268
153
222
204
214
130
202
236
196
161
172
204
249
277
236
130
219
243
222
179
241
238
200
177
217
208
172
143
152
255
189
160
225
180
272
162
214
197
252
176
169
160
202
217
242
181
274
200
211
145
205
206
201
230
200
145
129
145
146
235
222
146
217
145
216
261
182
133
179
191
192
184
184
182
246
155
232
164
195
177
197
203
204
164
138
200
210
261
145
211
184
217
210
187
211
191
195
299
207
199
173
129
197
213
129
130
130
263
129
261
176
246
299
133
204
165
175
231
157
157
186
181
179
184
222
226
164
225
200
189
188
166
282
202
227
194
156
239
192
326
211
195
158
141
207
158
197
200
277
229
211
186
195
138
204
287
179
228
185
204
254
180
146
219
206
215
210
145
169
130
280
246
266
133
239
189
150
251
192
182
129
145
190
143
228
238
206
207
253
206
168
277
195
246
173
174
314
173
173
173
177
215
247
233
233
204
189
162
129
182
200
150
174
287
209
209
179
203
173
183
273
130
226
198
183
248
181
211
129
146
176
156
168
191
176
130
283
160
194
238
217
168
217
264
150
252
147
195
212
194
185
209
283
255
195
213
159
146
199
187
239
133
178
160
187
145
162
248
200
179
236
145
217
216
145
216
190
204
130
224
248
164
156
183
164
214
211
227
202
180
249
173
144
238
231
169
244
165
262
188
227
146
200
187
210
130
180
133
230
158
162
158
177
211
184
204
181
173
133
149
173
193
213
162
160
122
253
246
195
149
199
182
141
204
201
214
248
185
198
256
182
179
281
188
230
236
129
270
255
260
229
208
182
180
202
176
205
203
264
189
246
149
130
287
133
182
207
181
187
233
192
273
179
210
158
236
259
130
201
169
190
218
176
210
171
176
204
235
146
197
214
156
197
200
184
217
210
202
183
176
183
146
184
190
174
202
115
173
171
183
161
146
164
216
205
265
186
204
241
161
176
189
182
129
184
146
206
179
184
238
197
133
155
130
202
222
152
171
168
245
176
130
234
215
146
210
180
170
176
170
252
199
164
194
168
168
194
204
169
236
244
182
172
133
161
195
233
179
255
144
230
146
184
200
198
158
162
203
190
129
206
146
239
171
129
177
153
227
195
168
335
168
212
181
174
191
248
141
215
209
195
227
178
129
130
185
129
138
168
202
203
183
230
164
261
180
178
202
260
192
193
217
216
176
240
206
176
176
153
258
173
164
208
194
217
220
149
149
138
192
173
178
170
146
150
221
264
146
249
152
158
199
204
239
161
232
130
172
194
178
192
201
144
217
168
179
184
184
202
214
173
256
188
178
178
145
264
207
184
162
176
236
189
194
177
211
210
155
220
218
184
146
130
214
171
194
234
186
182
156
215
300
182
179
143
164
200
173
217
168
168
183
190
194
197
210
145
214
242
265
160
173
259
246
225
176
239
189
217
158
202
211
191
206
157
210
183
217
145
212
193
260
151
157
129
161
244
158
246
180
160
228
146
195
227
129
197
171
122
213
156
209
231
202
146
178
217
174
149
195
204
212
115
169
211
168
239
173
162
146
155
176
158
161
274
217
157
259
201
238
169
181
206
146
143
181
164
215
260
162
172
191
247
168
192
164
130
122
161
200
130
181
209
253
185
227
202
234
182
178
171
264
173
130
184
133
138
236
254
317
214
221
225
173
204
277
166
260
192
204
159
181
122
162
146
167
146
224
217
138
162
215
138
158
172
254
234
222
201
236
173
213
222
185
181
218
181
129
175
182
130
235
145
176
130
230
190
176
156
173
190
233
217
201
211
144
210
192
194
129
129
115
187
132
163
200
218
184
147
184
255
205
158
240
235
235
159
158
195
188
198
216
168
133
185
129
226
119
204
193
164
277
180
156
219
130
242
283
146
185
283
202
178
243
210
130
137
184
299
206
169
206
225
184
217
200
151
132
204
174
185
176
173
158
184
203
115
280
237
172
129
144
274
222
264
182
186
179
238
218
244
218
255
266
143
133
226
217
189
183
252
206
168
166
158
129
208
238
220
180
186
141
217
191
172
204
173
133
145
211
143
264
225
210
146
176
204
282
130
204
168
129
217
177
236
162
195
179
221
164
214
203
164
261
230
162
208
182
160
179
234
115
219
208
210
145
144
132
129
302
172
185
156
234
204
146
232
130
185
158
200
246
210
288
180
178
191
182
201
155
145
169
201
129
214
261
189
202
200
145
258
250
183
214
183
248
229
169
180
258
155
206
211
185
296
150
179
130
179
191
172
168
176
217
157
204
176
218
213
162
146
167
202
251
380
202
211
192
146
171
238
189
190
204
287
186
203
243
250
173
238
224
146
222
180
255
206
265
162
243
203
202
209
242
152
177
130
130
239
243
184
236
225
202
162
130
252
213
173
192
130
183
204
179
174
221
214
204
129
130
227
264
296
187
146
184
238
276
200
160
143
115
149
221
259
212
188
179
129
183
213
228
155
218
150
184
227
237
197
210
255
270
225
198
168
239
236
176
191
174
141
275
191
203
174
238
145
238
217
180
211
225
203
176
227
171
186
221
129
264
244
122
229
206
221
168
181
204
146
201
179
182
211
205
210
180
245
216
157
158
264
210
146
180
211
146
221
146
194
155
207
171
190
264
158
183
193
240
210
129
115
173
214
217
207
219
160
162
122
217
129
171
213
275
141
195
255
133
234
255
182
247
130
202
146
176
155
202
204
166
168
236
207
200
153
264
168
304
192
240
149
151
211
162
216
184
185
359
173
157
236
246
221
158
181
122
183
183
182
151
191
160
129
122
206
216
225
217
169
146
189
224
189
238
184
161
211
245
194
129
181
206
156
279
204
212
173
162
115
129
173
189
204
180
214
230
177
204
185
244
141
210
177
180
212
195
187
158
232
180
195
232
261
178
187
198
195
233
175
145
195
128
182
162
178
176
150
162
173
204
145
281
270
183
173
265
179
147
176
213
217
215
210
245
221
200
235
208
146
168
183
222
204
188
168
230
173
171
238
206
214
147
179
218
189
176
200
185
259
143
273
206
186
156
202
231
186
240
258
202
286
233
259
201
175
261
182
190
129
133
173
141
173
164
248
247
228
129
209
173
214
156
204
226
228
183
164
211
166
153
211
129
247
141
204
199
168
190
264
199
147
146
217
215
191
200
202
151
234
176
247
175
189
176
187
133
176
176
242
188
155
187
168
155
176
145
122
189
195
129
189
181
173
204
203
156
252
170
217
188
161
201
235
158
186
226
217
240
250
143
204
211
229
202
166
168
280
185
164
257
145
221
181
162
133
287
231
210
265
197
173
236
184
210
166
212
246
187
155
200
207
303
191
172
239
252
204
206
182
226
191
161
183
205
130
247
133
178
221
231
147
143
146
210
130
238
183
208
183
182
236
243
150
251
191
168
115
226
225
264
204
165
262
129
164
192
168
256
204
160
241
190
150
115
153
201
146
214
218
155
179
166
174
201
265
264
133
186
141
183
219
206
193
216
200
228
145
142
149
133
212
198
179
130
145
179
179
227
173
129
164
173
227
196
207
143
207
186
227
179
253
260
144
257
166
150
176
133
168
237
188
173
149
146
205
203
171
181
145
236
129
211
178
185
173
155
257
249
261
173
168
151
146
223
129
178
149
155
162
150
163
234
129
145
230
158
218
164
190
151
201
155
283
173
227
265
275
178
184
204
162
211
236
335
129
272
163
222
174
133
132
217
230
231
206
219
143
244
201
176
160
129
173
204
216
204
184
254
268
231
160
162
285
204
178
241
239
234
236
204
129
222
199
169
179
155
188
156
173
129
176
158
185
242
228
162
234
115
209
258
190
239
208
175
236
217
165
172
179
130
268
158
185
217
174
177
133
206
254
191
173
179
276
170
212
202
166
211
230
146
173
210
176
189
166
182
254
168
183
210
169
201
172
191
164
171
145
197
157
246
217
167
156
132
183
122
204
210
129
203
130
185
188
180
218
200
164
199
166
162
203
176
189
214
194
129
224
236
179
144
153
194
210
210
203
180
141
162
233
260
199
168
206
162
217
185
145
252
171
150
143
238
249
250
211
206
228
146
209
188
130
247
249
230
231
282
176
201
179
288
208
202
165
200
124
210
131
204
236
181
173
167
194
236
302
177
146
155
236
129
217
157
166
201
143
166
156
165
224
167
130
143
208
145
160
182
204
159
155
204
129
253
172
221
143
184
160
252
218
187
166
229
167
228
146
207
283
239
133
201
194
149
200
143
204
130
183
169
132
218
217
261
166
210
267
208
143
195
211
214
244
255
182
163
141
182
168
141
130
172
258
180
261
202
198
188
221
236
169
256
240
215
147
193
275
211
204
145
200
179
210
175
155
210
188
141
237
115
189
216
176
179
242
130
265
178
130
301
225
146
211
237
201
160
172
210
185
190
176
198
242
129
160
210
221
143
133
249
179
169
186
249
164
164
218
192
173
207
179
208
130
182
210
194
176
164
129
222
155
182
146
204
130
264
245
180
251
129
274
171
172
115
184
170
184
168
149
129
176
178
144
164
211
205
170
203
192
184
273
200
210
159
211
177
238
200
176
220
191
161
198
196
204
208
213
143
259
129
234
178
169
206
191
210
202
230
174
187
192
166
178
193
194
130
143
130
133
215
210
206
228
174
231
179
141
205
129
164
157
156
176
254
178
247
146
203
171
187
211
186
162
156
246
256
230
162
168
155
174
146
185
182
250
230
182
217
193
247
188
189
129
234
142
215
191
252
184
193
162
194
179
316
217
201
178
204
133
186
129
244
181
189
173
206
185
180
180
248
168
184
203
129
162
130
200
199
195
236
200
198
168
150
231
199
182
188
178
184
288
145
190
192
180
194
233
231
242
173
179
176
211
233
239
129
173
184
211
146
130
175
122
149
184
150
187
183
214
182
266
211
203
143
216
217
211
145
157
119
205
129
182
206
236
186
193
239
217
201
162
263
180
180
252
181
239
164
138
256
130
193
191
173
256
179
129
195
150
141
216
209
232
179
210
158
201
209
143
216
169
155
129
214
241
193
247
143
242
173
184
252
162
146
176
234
158
222
172
164
159
224
223
149
238
189
201
217
146
115
178
230
195
189
158
219
119
219
164
176
215
204
202
170
211
173
204
176
146
192
204
179
213
235
162
162
145
180
130
244
213
210
181
224
185
186
173
264
122
237
130
210
168
207
168
203
208
146
171
197
159
183
201
179
152
204
236
238
179
176
193
155
232
210
191
132
265
162
204
158
214
209
212
180
164
138
173
201
204
181
221
211
184
178
173
185
210
195
171
160
190
235
158
166
152
183
192
166
263
130
158
191
204
183
221
225
222
210
171
211
262
223
238
162
169
178
122
184
211
202
202
130
179
213
209
214
269
155
166
204
221
201
292
172
205
282
217
205
213
162
146
209
183
229
205
228
219
160
244
182
245
156
210
205
133
218
201
227
170
228
181
158
207
141
168
146
176
195
183
207
208
202
201
279
176
146
204
173
216
206
155
191
195
211
179
173
238
115
160
228
162
230
129
156
164
146
184
179
229
156
205
133
173
143
130
232
230
202
169
233
168
160
130
230
181
173
217
274
213
262
130
155
211
208
207
133
184
206
129
238
206
133
185
179
186
211
194
204
198
141
143
206
173
168
182
251
129
201
158
173
217
129
197
275
195
176
132
158
185
294
173
234
158
207
162
210
246
204
223
129
229
239
176
119
132
210
207
201
129
115
122
143
218
230
204
133
172
168
178
217
204
179
241
191
295
182
225
265
181
143
259
115
176
168
213
245
194
176
149
232
176
222
239
178
238
173
185
184
182
220
129
206
122
254
204
233
201
173
256
129
130
179
231
146
210
227
166
187
191
144
205
179
200
143
214
129
263
166
210
165
231
161
181
146
179
156
130
133
209
246
233
181
210
183
132
254
160
199
220
238
146
173
262
210
222
233
128
245
173
197
196
218
173
204
169
145
217
163
162
202
176
247
184
129
161
208
173
221
143
201
176
182
166
261
169
182
248
129
162
130
210
208
201
200
175
218
170
189
168
172
196
173
155
238
170
129
169
141
204
145
149
158
181
176
130
218
176
204
143
192
216
174
130
231
206
197
196
203
198
230
281
201
191
195
283
182
255
146
279
169
160
193
204
204
160
205
206
238
206
237
144
183
162
173
149
192
157
217
201
179
225
217
201
149
151
238
129
187
253
164
194
157
202
231
264
228
167
177
184
176
180
128
174
211
138
155
206
167
230
143
180
223
146
157
235
204
263
180
250
146
263
251
185
173
210
261
178
173
146
195
130
180
235
168
183
210
164
207
248
176
210
210
130
164
236
258
212
146
168
214
145
205
173
185
185
210
200
191
217
213
231
230
146
238
146
173
239
215
201
179
246
274
187
183
178
129
236
202
231
194
335
185
144
129
176
199
127
171
141
180
202
230
264
143
237
191
176
194
176
264
236
217
194
216
143
203
182
172
236
182
200
180
211
236
203
214
292
129
187
221
173
172
247
164
143
245
173
115
229
187
160
164
227
247
201
143
197
275
164
224
156
229
162
201
222
173
211
178
156
216
203
205
168
158
197
226
155
145
222
204
149
206
200
176
183
217
236
202
211
204
227
180
158
158
168
246
335
183
139
168
146
207
157
155
218
130
181
143
173
299
253
235
184
241
172
181
198
180
210
188
236
194
159
146
151
202
130
195
200
176
182
226
129
218
238
236
242
217
229
220
168
184
173
228
201
230
164
200
172
236
183
187
195
230
188
133
159
115
146
133
185
191
183
146
231
162
214
234
155
137
220
202
205
177
147
170
146
240
197
143
160
230
158
150
150
244
220
151
267
246
132
155
115
177
133
180
162
190
230
161
202
206
169
202
208
176
217
176
169
155
195
215
182
205
257
171
183
209
143
176
115
200
155
192
211
282
241
164
210
222
247
212
166
195
130
247
199
214
166
176
228
156
200
206
133
146
181
185
225
183
252
207
201
130
115
161
256
161
176
246
130
173
190
146
206
208
214
200
170
214
129
133
194
236
269
204
229
254
170
205
217
205
145
168
169
146
197
158
201
192
156
277
235
164
243
133
206
199
181
197
180
173
251
179
172
199
210
201
226
211
122
162
132
162
214
183
164
230
156
208
187
138
115
226
216
179
188
151
211
129
219
244
202
176
190
169
175
224
145
204
218
184
249
187
200
234
215
283
204
137
214
178
182
129
280
211
197
176
177
211
115
191
240
171
146
162
230
172
235
150
165
260
238
228
264
206
217
206
176
229
235
210
258
246
192
164
264
265
233
217
208
210
202
237
243
200
206
235
217
199
228
143
178
173
156
129
191
187
138
217
247
164
204
192
259
247
222
218
180
188
191
187
252
164
143
186
234
259
198
239
130
158
192
229
186
203
143
211
236
172
156
129
163
204
217
208
176
210
210
184
129
277
130
147
169
188
129
146
211
221
179
211
157
236
202
177
132
212
171
129
206
213
171
221
183
274
133
130
186
263
132
210
215
129
133
200
183
236
272
217
146
264
275
181
201
193
222
270
183
195
230
174
162
282
164
162
235
206
202
184
230
188
220
143
133
246
217
186
234
176
227
149
143
145
206
173
247
192
234
210
156
162
272
214
179
164
149
181
237
186
252
129
165
240
130
170
182
206
183
196
115
227
232
167
176
214
200
253
188
183
208
217
129
204
201
189
167
149
232
284
202
217
204
143
199
271
219
148
178
204
173
186
256
242
162
173
167
130
255
200
209
192
153
146
239
150
216
231
246
115
133
130
256
200
189
218
180
191
256
173
242
176
171
133
141
175
130
210
221
170
188
173
210
180
138
115
263
283
207
194
210
165
201
184
236
115
239
215
115
221
133
164
200
176
176
143
200
165
197
209
250
162
216
266
204
234
281
166
229
222
185
239
230
162
209
204
155
133
250
127
176
235
176
157
179
174
184
207
155
184
254
270
227
175
212
215
256
176
175
162
179
202
199
240
130
238
195
265
242
239
192
251
169
193
184
162
133
293
173
188
222
138
185
235
173
255
167
173
145
222
209
162
204
182
233
146
254
202
226
210
166
201
191
215
144
158
169
143
210
209
255
175
197
162
187
183
164
185
168
173
176
185
169
204
145
230
132
204
228
185
127
185
230
186
219
170
146
205
173
203
181
195
216
204
157
162
166
150
184
208
194
166
155
232
202
195
219
176
141
149
184
189
179
216
185
226
241
158
207
176
211
157
205
202
206
130
178
183
161
256
202
217
179
184
217
190
180
130
214
226
240
173
206
281
115
197
258
258
164
204
194
232
184
168
212
202
256
204
133
204
191
204
212
240
164
158
165
194
168
299
152
236
191
129
122
181
170
287
200
248
150
202
184
240
250
171
162
193
157
143
208
271
184
200
158
200
200
183
224
164
229
217
209
202
162
183
226
183
129
193
217
130
181
191
150
161
261
130
237
191
204
249
215
246
164
157
255
204
223
176
204
149
115
202
186
259
194
166
204
145
203
248
192
176
190
204
200
191
200
239
176
202
167
230
194
206
181
179
191
169
179
146
215
211
115
165
210
183
239
164
298
204
217
155
207
191
221
283
159
202
178
173
207
115
260
143
191
129
234
390
184
199
168
159
129
189
170
266
168
298
202
143
198
189
197
256
249
130
179
230
238
202
164
152
146
194
217
234
200
173
255
289
217
222
225
209
191
243
170
214
171
201
176
150
248
172
122
215
192
149
204
159
162
161
146
244
272
173
233
238
206
190
138
153
128
182
188
145
115
188
222
214
186
176
146
239
171
250
179
129
168
201
164
204
237
283
204
202
192
270
200
209
234
205
239
168
192
141
115
246
150
175
178
203
169
130
176
210
190
169
222
146
167
228
174
216
176
178
201
186
219
238
251
202
149
234
219
173
238
185
186
173
130
155
127
225
187
132
173
143
146
129
247
146
184
175
189
194
264
149
193
226
209
210
211
257
230
261
168
236
210
252
162
157
244
179
168
164
119
199
207
204
176
150
202
202
156
143
161
141
239
181
188
168
200
129
168
321
207
122
146
259
182
150
130
183
132
133
173
180
187
202
281
146
179
206
165
155
230
129
179
155
155
211
197
265
274
122
184
182
166
288
240
216
211
210
183
156
200
217
191
258
232
161
194
201
298
133
182
166
176
178
209
242
130
182
244
229
200
211
216
182
173
244
214
166
189
255
173
130
218
210
261
190
141
204
181
207
215
253
200
199
193
176
176
146
203
240
174
217
244
216
217
255
229
145
190
143
219
146
164
145
173
152
155
226
173
145
194
143
277
230
202
217
182
173
130
225
180
234
158
200
217
255
255
217
144
176
211
133
188
208
257
150
217
192
249
178
129
236
162
200
197
176
143
195
229
318
177
184
210
256
211
176
173
217
200
147
219
156
152
160
162
166
156
130
181
201
217
158
228
218
181
179
195
149
159
202
287
176
167
201
192
234
146
199
177
252
156
115
179
162
176
246
251
202
129
162
287
179
238
185
186
221
187
173
195
158
158
198
253
130
198
201
239
158
198
129
164
203
152
130
243
202
185
251
232
335
115
204
164
164
209
235
186
229
146
228
168
191
156
249
228
176
242
304
209
202
226
164
130
260
250
166
173
183
192
132
222
200
169
150
193
191
205
157
198
158
161
301
143
244
239
289
173
146
226
174
141
175
173
173
168
233
115
210
156
250
115
224
287
183
148
207
204
173
145
202
226
253
147
161
152
141
176
178
184
264
225
143
176
185
221
184
181
221
184
171
258
179
198
169
175
182
169
176
115
193
198
158
161
164
202
214
250
238
164
129
242
143
209
222
207
215
236
190
173
275
176
150
204
203
149
184
198
203
169
206
224
201
211
217
240
228
179
184
242
201
169
157
194
175
129
196
201
199
202
157
178
285
265
129
122
191
217
143
173
162
187
174
115
194
215
236
203
175
195
176
222
181
228
143
173
223
149
230
145
176
259
238
204
193
186
187
192
208
171
236
168
179
176
214
201
179
158
176
148
162
155
161
173
214
133
258
182
214
161
211
236
188
140
173
230
129
209
184
179
234
206
264
244
164
267
174
143
181
180
155
186
184
173
201
200
212
184
247
173
194
190
128
163
204
191
179
274
143
173
177
186
183
306
229
132
232
204
202
229
233
229
186
122
179
143
176
243
219
256
203
130
173
195
195
185
180
145
258
194
200
204
156
273
237
194
146
242
199
201
181
215
206
180
212
185
275
185
184
191
186
217
206
192
169
180
130
173
216
156
158
176
133
179
204
122
129
178
130
156
162
202
239
162
184
214
201
228
197
231
199
155
152
228
173
204
179
230
196
257
157
150
168
171
162
231
186
205
204
146
174
176
209
194
189
188
238
191
194
173
181
198
173
262
222
162
167
212
145
239
208
200
181
194
201
173
155
183
191
156
285
184
185
184
210
170
175
152
214
183
143
183
212
144
176
164
237
198
229
250
221
210
254
188
211
200
261
176
203
237
251
156
226
172
201
146
129
236
129
204
287
184
204
179
203
227
146
143
129
184
130
211
146
157
257
176
275
181
129
183
162
287
205
210
223
168
158
162
207
214
145
231
173
185
194
179
206
200
206
176
220
143
134
167
130
211
166
235
198
217
178
133
190
211
207
176
236
130
190
213
185
203
178
240
176
228
167
183
179
241
243
133
145
162
180
168
237
201
216
205
206
262
203
185
240
243
233
197
143
129
185
215
178
195
217
158
269
176
169
207
207
203
164
184
130
181
193
130
138
178
259
238
157
217
145
173
225
191
255
129
205
173
218
128
152
173
209
201
176
158
180
175
251
170
222
189
147
204
261
187
166
211
146
166
151
256
211
193
210
164
184
228
176
178
204
206
172
190
129
195
261
166
143
202
221
237
149
271
248
236
204
201
202
163
199
199
115
231
158
154
197
183
212
204
277
228
143
200
147
236
231
164
252
256
173
217
210
187
235
164
203
180
239
211
207
180
261
168
245
143
162
191
226
202
258
202
184
257
223
173
200
168
144
294
210
261
158
183
204
168
193
208
197
202
222
177
188
168
235
204
188
129
182
246
210
199
183
224
129
210
156
129
129
232
172
203
128
251
206
188
128
235
183
237
159
158
174
216
230
236
219
236
130
133
208
258
146
203
144
234
200
208
246
167
132
156
173
195
227
178
191
144
157
174
164
149
176
266
130
245
180
214
182
249
115
176
300
191
173
178
176
115
171
193
144
191
250
218
195
130
219
191
274
255
227
178
145
182
265
240
143
199
236
233
208
221
179
221
158
130
138
187
257
145
130
210
241
146
164
149
184
145
195
146
247
129
216
197
207
192
146
183
151
152
143
206
130
201
130
288
176
206
146
192
152
229
184
202
177
282
173
129
243
184
264
221
241
230
211
191
173
146
217
229
182
166
210
158
201
196
191
144
227
130
219
222
210
160
222
144
206
146
202
172
254
269
222
191
193
275
189
204
223
234
130
146
251
205
183
173
251
169
129
130
231
211
307
179
181
204
283
186
146
164
245
217
201
258
216
146
231
187
208
202
175
206
184
129
225
243
146
129
173
180
193
164
260
201
201
210
228
160
222
162
199
173
252
239
198
169
183
178
172
193
188
218
164
245
217
203
217
173
205
204
201
155
232
176
195
204
210
184
171
191
130
178
173
210
158
115
217
210
172
188
130
204
244
190
168
245
177
225
204
202
188
180
211
217
130
175
173
189
211
169
187
151
161
217
146
182
300
176
242
133
130
130
190
203
155
213
171
168
229
162
225
209
230
185
115
192
239
249
157
153
186
175
176
210
235
206
199
214
230
162
206
179
166
225
234
143
129
167
264
173
180
122
210
146
174
177
231
176
168
211
257
178
239
283
176
204
211
198
171
229
157
179
152
222
246
209
242
221
190
153
171
204
198
227
208
211
268
204
176
232
172
115
217
210
163
176
160
187
191
119
258
207
191
176
130
129
211
183
230
162
189
269
122
257
176
202
186
237
195
230
225
200
182
191
147
246
189
202
149
129
180
193
239
155
180
247
182
217
173
165
231
178
238
196
190
160
240
198
245
180
203
155
143
171
227
258
143
184
205
162
216
130
244
190
162
192
145
219
173
227
193
176
204
256
202
143
254
211
214
190
194
277
168
146
173
219
129
195
164
184
191
162
212
122
217
258
141
185
173
158
226
186
204
177
210
176
149
178
146
122
201
240
212
201
190
201
219
244
201
261
182
176
224
206
243
205
217
261
231
203
176
175
237
179
178
129
181
176
210
173
215
229
164
201
203
204
211
173
207
265
252
236
186
169
173
143
156
160
146
173
230
221
227
189
190
179
190
177
176
268
201
237
236
185
129
204
234
167
227
247
183
184
152
193
179
193
216
157
168
173
130
183
283
236
149
164
122
115
185
181
187
211
152
159
183
162
230
162
205
222
183
155
227
155
195
141
130
206
176
216
209
129
193
270
224
130
183
179
179
168
178
293
176
171
230
143
274
191
231
224
141
191
165
200
129
200
258
218
173
194
133
264
184
179
184
266
236
235
180
188
195
133
192
198
232
247
129
313
158
164
133
179
198
183
200
183
170
141
203
192
210
179
230
242
201
162
146
183
188
187
211
211
208
217
274
201
189
159
222
214
195
147
197
258
251
189
204
179
211
191
220
287
185
133
201
173
147
168
181
194
198
204
202
204
170
225
201
168
178
122
143
202
149
143
185
210
199
222
143
241
184
179
216
185
202
250
158
172
115
218
182
179
210
184
293
335
169
172
212
164
169
192
155
186
150
263
157
173
151
254
179
157
172
156
185
227
264
192
245
291
235
217
158
192
182
169
133
184
129
161
169
168
191
185
260
206
149
204
183
204
150
189
217
214
217
206
122
129
249
141
181
219
216
205
146
185
130
272
149
200
119
156
173
211
225
262
158
158
178
133
164
156
206
211
179
141
206
164
224
178
178
176
157
209
169
211
239
179
210
158
186
129
228
173
204
217
241
153
277
179
224
191
150
138
240
237
151
212
162
166
158
182
230
130
234
206
216
162
155
178
222
206
200
199
204
257
240
230
212
172
222
230
130
160
191
176
176
143
184
164
146
174
146
225
207
191
182
185
161
168
155
230
161
162
188
216
191
162
129
149
207
115
139
200
210
217
173
185
211
210
122
145
202
146
228
192
204
260
247
217
187
221
169
129
146
299
130
209
198
203
174
217
147
180
155
216
209
182
157
218
158
188
209
235
146
181
189
201
217
199
236
198
200
129
181
252
220
185
240
173
166
167
155
130
214
296
255
292
242
168
162
200
211
130
176
149
259
155
145
178
240
174
228
176
221
176
173
271
150
227
169
188
178
115
141
245
236
162
220
207
203
214
178
130
207
239
272
216
301
201
146
210
190
160
146
158
180
152
173
211
163
192
204
211
190
229
176
263
230
204
173
176
208
191
179
210
204
158
183
174
288
143
174
242
146
222
176
198
173
132
184
197
208
145
130
209
237
152
212
162
188
208
153
228
182
242
129
185
179
231
146
187
234
170
119
181
225
143
211
129
297
186
130
164
143
210
149
199
141
184
176
183
303
143
214
262
215
217
188
211
196
161
168
202
169
233
226
252
236
188
221
173
200
234
182
146
146
188
228
210
130
192
256
222
204
206
239
166
249
174
202
171
164
216
263
184
173
133
215
182
166
158
210
219
133
178
231
176
179
197
173
253
180
191
145
210
177
212
147
169
155
164
146
166
200
182
193
210
200
208
146
236
192
204
115
173
115
263
215
164
260
214
176
229
115
235
189
203
166
222
145
188
168
145
206
219
187
271
216
155
209
180
188
129
188
173
160
168
197
194
209
155
217
261
238
173
181
236
211
254
161
205
168
179
188
176
212
210
147
335
167
181
129
210
210
184
231
200
225
130
164
166
132
145
174
129
133
182
218
225
181
206
174
183
197
253
151
211
141
158
130
187
204
224
143
196
129
258
186
239
176
130
211
205
181
249
146
182
250
201
335
236
238
161
132
158
171
224
257
129
209
217
188
239
217
199
191
210
259
200
168
133
177
217
176
234
158
240
129
167
209
196
199
193
129
269
166
238
225
179
231
224
152
172
247
129
233
176
200
215
266
175
266
243
228
202
248
176
138
175
195
175
183
227
204
115
192
145
235
177
203
184
222
220
222
184
184
194
228
146
209
168
249
179
260
163
214
115
173
228
182
156
185
204
174
210
181
213
173
191
146
150
129
164
180
248
186
158
239
206
181
133
236
226
195
194
264
182
129
201
210
189
221
169
159
255
300
130
145
129
143
130
152
129
253
173
170
238
231
162
130
230
249
236
183
191
193
213
229
178
222
173
233
129
187
133
143
186
242
199
236
238
225
179
190
173
162
185
169
145
138
177
285
212
146
214
202
201
232
166
181
145
174
268
266
167
157
222
146
219
230
203
218
180
115
286
230
204
130
235
143
122
173
130
179
168
141
129
201
188
129
218
146
168
238
259
208
272
201
226
168
244
197
195
145
163
217
160
218
260
156
164
182
247
235
173
219
130
298
177
195
204
115
191
182
188
161
208
238
167
179
240
167
184
139
203
199
230
155
210
200
179
138
146
132
130
229
238
158
187
215
204
211
215
183
132
230
195
205
219
184
175
173
324
210
202
146
260
159
164
155
228
184
173
190
300
168
182
253
225
205
195
215
186
185
150
173
210
236
171
176
176
245
185
129
173
210
166
143
173
222
199
214
255
203
146
210
188
217
166
182
130
242
187
201
182
153
150
168
197
217
217
263
156
185
248
167
255
239
164
129
216
128
133
173
178
216
236
197
201
216
247
233
243
245
176
230
207
254
201
133
182
195
246
217
185
246
242
168
196
173
145
130
188
173
158
173
188
176
133
180
166
237
199
176
176
130
176
254
191
215
194
143
281
183
235
143
194
237
159
186
146
133
129
204
263
211
181
251
130
204
200
200
234
185
199
201
203
150
173
233
206
245
209
150
204
199
221
260
247
181
200
155
225
210
286
164
146
200
230
287
219
129
151
201
225
167
205
263
141
188
200
209
264
228
173
115
249
178
194
225
156
130
186
217
252
217
186
179
132
215
259
201
235
146
193
185
186
182
277
222
176
260
221
190
174
244
164
143
211
198
132
210
280
217
210
146
173
184
158
143
188
145
172
204
130
138
262
169
155
173
143
242
190
174
196
210
211
186
228
236
219
168
255
224
183
145
296
175
146
190
162
219
195
143
211
299
239
193
184
200
188
162
191
182
204
227
152
163
247
162
173
256
208
115
247
185
155
190
243
157
164
183
138
146
238
149
183
171
289
159
257
141
193
210
199
129
146
224
172
176
181
129
242
181
173
176
184
234
211
194
243
151
217
208
179
180
224
173
231
162
203
240
130
262
228
143
231
151
172
194
176
210
176
155
183
166
150
181
157
264
202
216
210
158
169
180
186
176
206
189
180
335
168
161
181
162
191
227
199
203
128
132
176
264
204
183
201
204
180
204
230
167
247
277
147
183
209
194
145
324
184
294
190
234
182
160
254
227
180
156
188
174
168
176
178
173
228
266
265
130
168
162
133
209
204
224
149
208
180
286
280
190
191
218
143
146
153
162
238
158
194
130
129
141
221
176
130
192
210
203
238
180
266
198
217
246
185
176
179
187
214
222
225
179
173
129
184
129
251
190
209
192
191
165
171
200
193
179
257
145
200
183
151
211
133
335
168
162
206
180
130
205
208
146
156
129
173
162
179
168
130
210
252
205
192
141
177
178
176
155
133
200
195
155
158
157
176
256
210
162
230
184
133
115
165
247
170
130
204
201
173
130
294
160
133
184
264
153
173
174
182
157
146
179
223
182
133
244
217
178
145
224
171
164
249
210
191
223
129
157
115
180
161
181
174
234
130
214
301
200
164
212
155
146
236
227
191
205
158
221
249
238
204
202
146
189
202
201
205
168
185
190
130
262
188
262
210
191
184
133
211
179
146
217
239
145
206
143
130
158
158
157
190
191
170
179
185
227
194
234
287
186
211
152
183
221
232
202
158
231
173
204
162
174
162
176
184
170
235
195
162
207
205
210
143
115
227
129
162
133
176
221
210
295
199
283
195
157
277
160
204
168
200
230
166
115
133
198
256
236
173
249
133
167
127
150
225
211
143
255
207
188
186
157
146
203
202
263
146
283
143
228
278
233
130
201
173
130
250
202
244
184
199
179
146
183
178
205
201
177
188
152
249
173
173
230
133
128
222
186
267
230
194
151
204
225
173
171
187
201
209
210
202
115
248
192
251
225
221
173
168
204
129
222
191
122
129
182
144
237
179
226
244
304
202
191
231
217
215
193
238
176
132
146
205
178
182
146
191
186
202
146
190
180
209
190
162
138
264
163
183
164
212
210
176
262
278
180
207
192
211
115
227
145
178
155
228
152
265
254
202
273
189
129
217
166
180
258
209
146
191
168
190
152
201
208
236
224
255
130
164
159
181
219
275
176
212
277
210
207
204
184
174
156
204
230
168
145
201
122
182
141
180
130
152
288
202
176
147
193
178
213
217
188
214
219
197
216
115
172
227
145
191
178
179
133
254
163
179
228
202
225
153
240
182
227
184
219
133
199
173
158
158
200
217
169
145
201
173
182
158
146
176
130
162
210
204
115
230
162
129
115
206
178
182
228
176
270
242
228
176
184
173
145
155
151
188
209
150
238
225
146
243
129
206
204
173
129
222
145
211
235
157
227
279
259
197
195
206
130
179
168
264
211
210
210
158
183
242
170
162
143
266
206
146
162
254
196
129
145
223
165
230
195
313
186
184
193
178
168
203
225
204
239
214
204
155
130
158
231
218
204
192
180
236
162
222
238
192
143
235
184
183
170
230
200
211
173
217
214
252
173
162
221
150
209
234
186
216
166
169
191
212
176
179
226
210
178
200
174
257
235
176
183
173
166
191
217
143
153
162
232
201
213
145
223
166
173
204
216
115
231
250
223
176
230
238
239
179
269
232
212
173
157
156
179
173
176
170
264
201
130
200
168
216
141
225
133
231
236
128
162
190
162
206
191
151
181
202
201
199
211
173
185
204
184
217
173
212
231
168
202
164
218
129
165
193
217
129
191
183
172
151
189
128
206
186
145
204
192
246
167
143
191
221
176
185
202
197
215
179
202
229
214
210
199
202
212
198
257
230
230
143
162
129
156
214
268
260
184
141
150
183
181
241
212
132
173
227
160
214
162
169
204
156
210
214
173
247
192
185
200
147
217
204
163
192
158
156
230
239
214
162
173
174
216
224
276
205
145
176
193
254
230
176
176
169
180
186
204
175
180
271
138
229
169
232
185
146
239
141
170
230
198
155
191
236
258
208
122
180
207
133
216
130
264
176
204
129
176
156
146
133
217
184
238
161
221
162
157
210
146
222
185
156
115
226
115
184
191
198
195
129
181
224
202
155
115
204
145
235
200
206
197
182
226
254
176
210
130
184
265
204
227
184
201
301
187
164
186
197
211
176
130
247
146
216
271
218
141
209
166
186
142
170
225
259
146
244
238
252
191
201
145
188
198
178
129
200
176
221
180
198
227
184
217
184
186
214
182
186
192
227
201
210
287
259
224
183
259
119
259
204
184
115
201
173
204
157
251
244
141
143
179
175
220
145
130
164
129
211
208
208
210
211
176
251
122
173
274
146
176
204
189
213
208
160
141
183
176
255
129
217
164
175
214
185
178
202
212
230
263
129
176
259
155
156
152
182
188
186
156
307
238
176
157
275
207
175
217
204
157
186
168
164
208
215
197
225
129
224
230
204
204
146
178
255
129
176
245
145
263
213
173
221
162
271
197
122
185
246
225
201
228
191
181
173
184
191
220
234
195
223
145
164
176
260
210
226
203
199
182
192
222
264
169
173
211
176
180
201
258
184
268
200
186
216
195
194
228
162
184
184
230
235
174
217
146
228
170
158
228
243
211
201
209
138
303
185
170
189
230
183
210
165
168
227
204
222
145
173
200
160
155
171
264
171
176
161
146
132
187
275
170
146
221
218
192
143
200
257
210
220
130
146
181
184
173
252
180
176
129
130
172
180
155
217
178
184
187
181
184
179
170
210
155
204
132
183
173
174
143
299
257
146
145
146
145
173
221
192
163
162
210
208
234
202
162
280
186
129
191
204
146
191
207
233
178
141
213
163
146
183
206
182
183
158
161
217
149
230
207
217
230
149
230
166
155
211
254
144
133
257
176
151
149
183
206
216
270
201
176
287
179
158
320
181
164
179
146
188
225
231
167
283
204
184
262
236
173
133
232
164
147
115
173
129
262
195
257
175
158
165
181
230
160
164
158
169
272
183
214
167
146
161
247
178
174
274
202
199
191
158
146
257
226
217
186
235
196
150
169
141
174
129
129
130
226
190
128
173
182
208
204
239
201
173
180
235
234
321
229
173
206
210
150
206
151
202
279
200
215
208
187
222
205
182
173
231
260
159
130
191
179
264
190
158
211
226
129
213
218
224
205
192
176
205
202
202
209
181
178
221
169
200
250
129
208
197
231
200
335
201
272
178
195
298
189
249
206
180
162
267
219
176
146
166
236
192
200
201
217
168
244
176
203
164
149
201
173
216
215
132
165
176
191
210
184
162
130
207
183
266
252
188
214
130
214
204
183
191
217
164
128
158
184
186
187
209
191
225
129
280
216
180
173
253
122
195
182
225
155
161
213
146
230
215
228
160
185
218
186
180
170
194
164
271
250
150
244
190
197
169
165
234
214
206
183
250
246
217
163
150
213
173
174
164
222
189
248
201
217
208
184
224
200
297
244
193
149
222
161
173
210
115
133
200
177
288
158
206
247
173
149
258
239
179
253
202
232
204
242
133
222
169
200
173
182
194
197
173
130
201
166
176
239
260
178
243
178
198
130
239
167
201
181
237
194
205
241
227
182
204
244
188
255
130
254
203
199
213
201
178
226
222
145
232
246
192
174
115
141
250
165
255
176
147
180
182
181
177
231
242
221
169
195
166
149
189
167
211
146
234
179
132
194
226
258
222
131
200
239
178
150
213
171
244
212
222
191
143
162
152
242
169
173
231
115
200
173
173
179
129
189
151
164
169
167
212
205
159
238
145
215
186
217
241
220
158
207
173
132
206
178
246
217
190
189
263
146
166
146
236
168
228
183
195
150
217
149
202
255
197
250
155
190
168
141
197
156
181
190
166
216
180
187
166
143
210
161
227
249
115
189
133
174
184
214
184
211
181
169
267
143
145
234
240
187
158
205
175
130
146
230
187
207
198
210
201
191
208
173
151
190
228
129
158
214
263
146
189
217
286
206
199
256
173
195
204
149
188
129
173
214
259
173
130
178
206
162
158
174
146
218
187
225
133
204
201
170
271
162
282
179
186
129
199
222
166
259
237
171
184
188
168
152
264
179
192
173
245
209
130
145
185
139
293
211
202
199
188
129
130
228
174
190
211
227
210
202
217
205
202
275
214
223
189
182
242
171
129
209
243
209
160
130
178
192
152
145
202
239
176
227
157
145
129
115
176
133
202
176
162
122
176
201
204
247
274
164
173
180
173
214
187
129
173
264
179
200
200
158
185
214
195
239
202
129
187
204
254
183
227
182
207
214
247
247
251
200
174
201
182
211
132
237
201
219
264
168
237
180
205
192
162
130
300
130
181
189
162
199
264
161
229
204
182
145
145
130
146
202
175
132
251
173
175
172
185
155
180
281
182
143
204
173
262
204
188
242
155
130
204
186
227
182
145
186
164
181
270
202
143
240
191
162
204
204
115
230
160
164
205
211
211
198
174
189
173
171
228
228
194
210
152
217
160
168
229
162
180
194
203
238
251
250
185
256
164
205
168
146
236
166
233
200
160
193
138
173
155
159
245
172
129
254
176
131
176
201
122
215
245
211
162
172
182
264
207
236
138
138
115
253
143
161
138
180
242
192
169
221
201
160
213
215
145
254
186
133
235
141
201
164
115
208
225
203
217
129
129
222
130
176
234
115
197
173
192
184
144
156
195
202
151
201
182
185
294
285
176
197
190
200
173
202
185
247
179
179
191
151
180
172
283
130
146
197
211
190
164
130
141
133
248
188
219
280
130
204
220
202
268
237
168
212
201
238
198
161
157
162
176
132
251
115
174
165
238
222
160
217
236
130
260
144
169
184
260
182
211
148
202
212
200
189
144
176
182
253
198
182
169
178
129
193
145
175
173
145
225
211
201
159
238
256
179
266
115
265
192
210
227
151
201
171
233
181
176
242
254
223
168
184
228
212
201
244
227
157
214
210
195
181
176
199
189
204
183
130
149
204
204
173
204
129
278
222
201
197
237
130
180
201
183
214
180
217
185
185
226
248
129
202
129
227
164
248
204
210
173
180
230
335
199
239
211
166
138
218
153
228
204
186
226
182
217
230
215
184
210
145
210
185
197
170
158
260
180
219
208
165
230
222
195
150
222
168
224
130
166
218
242
247
239
280
231
227
200
194
130
226
236
215
143
184
242
209
205
259
177
195
225
212
130
176
197
178
230
264
260
156
208
181
202
217
145
223
190
115
206
129
192
176
269
219
143
237
234
256
167
204
235
273
162
173
188
191
130
201
194
204
188
262
250
281
171
195
200
236
169
171
200
281
171
217
241
218
150
132
185
182
160
227
144
199
210
173
236
129
130
187
258
210
224
210
173
141
182
146
215
277
217
238
289
222
162
240
115
143
129
129
164
228
191
218
187
173
217
157
159
166
168
191
217
199
176
202
185
214
230
194
236
115
255
155
277
202
222
230
250
184
220
270
158
187
206
314
161
122
219
205
263
204
185
175
227
217
183
228
188
181
204
260
177
230
200
204
200
147
237
130
237
195
208
244
207
195
176
251
173
179
176
183
173
149
222
179
261
129
184
227
200
209
173
206
202
206
237
183
176
168
129
215
141
244
204
216
180
163
168
192
129
237
212
204
129
229
220
264
184
252
229
178
191
225
151
174
185
194
190
230
209
209
188
184
210
225
215
213
162
199
185
217
227
176
245
230
182
146
198
130
176
182
129
226
173
212
209
173
211
233
206
210
245
222
212
176
115
236
141
147
180
197
152
208
237
201
173
248
248
207
209
195
176
239
164
250
132
160
210
202
206
246
250
151
146
150
184
225
203
201
218
172
164
212
171
201
211
189
174
226
193
173
215
204
227
204
211
150
240
222
206
222
181
268
185
191
145
176
184
296
285
214
143
193
204
230
160
164
168
155
208
259
130
176
244
148
164
275
241
152
200
163
179
146
133
210
180
178
211
180
227
166
115
167
248
218
200
129
188
239
229
216
207
146
238
186
271
200
168
223
158
187
210
143
203
205
204
194
171
151
141
155
146
144
170
204
211
165
162
172
271
122
155
176
293
174
230
189
202
143
207
147
173
176
238
225
162
129
205
176
205
146
210
191
164
183
172
240
168
213
205
145
221
129
128
275
149
190
228
193
230
172
138
214
176
166
209
190
229
119
157
162
204
159
200
133
191
173
234
215
155
170
230
178
164
230
235
168
198
157
206
130
204
129
187
185
219
176
234
249
217
185
173
175
252
194
238
221
155
129
191
204
172
201
193
207
173
224
130
204
211
187
176
219
222
188
210
204
144
146
230
256
163
184
161
204
180
129
146
156
122
166
175
130
145
233
146
230
201
199
190
146
169
247
167
155
204
130
178
202
176
158
158
206
179
172
230
146
221
221
221
212
162
146
222
255
180
222
204
189
210
130
189
227
122
143
115
178
198
199
174
210
197
129
130
149
269
172
143
202
276
146
168
208
179
190
169
168
188
203
202
202
221
216
169
203
133
300
158
173
254
143
183
143
115
237
115
193
188
312
161
189
217
181
130
177
242
247
208
190
130
173
200
169
229
206
257
204
173
199
206
149
217
176
205
210
202
162
146
162
138
146
168
255
239
214
189
115
199
217
174
190
200
210
158
207
186
231
165
115
146
158
213
173
169
191
171
247
145
261
238
171
157
221
194
219
133
232
218
153
155
218
198
179
211
202
165
234
208
129
210
263
234
248
161
183
228
184
201
202
316
133
156
173
145
256
149
218
216
192
132
171
221
149
169
192
163
202
217
178
157
143
179
189
291
261
208
229
238
261
193
173
182
263
222
217
184
217
210
183
274
184
203
177
184
225
185
212
187
182
157
227
173
192
200
189
169
130
172
184
133
203
144
158
195
155
208
221
187
244
236
239
179
152
214
145
215
175
272
146
172
203
176
201
216
208
199
238
200
146
207
225
231
190
146
210
221
146
157
166
130
217
244
184
176
203
218
201
211
169
204
222
156
184
153
179
146
138
216
266
145
162
146
238
129
234
162
130
176
176
271
181
195
129
214
217
201
130
186
255
182
192
210
119
252
205
172
178
170
200
230
129
204
141
150
173
213
173
160
194
218
229
180
151
162
206
254
252
153
200
182
259
162
191
202
205
129
222
218
188
151
143
146
200
236
191
225
165
199
283
186
179
149
178
204
262
190
218
128
176
263
262
281
206
198
263
229
234
162
145
194
184
191
190
184
174
199
235
191
210
236
143
194
240
165
192
215
115
173
195
182
195
146
213
128
115
283
146
208
198
173
129
283
180
158
166
194
143
188
212
160
260
146
179
213
166
173
241
199
144
173
204
177
146
231
230
255
167
164
217
143
184
217
247
211
200
146
163
176
232
195
190
151
176
122
145
169
156
138
168
169
200
143
173
238
152
192
170
183
186
210
200
187
183
129
184
287
263
265
148
175
192
173
223
160
146
277
229
261
261
203
223
146
168
183
197
190
176
188
173
217
203
194
146
130
182
179
224
203
208
185
199
192
204
219
280
197
238
218
200
168
183
185
201
228
164
225
173
204
217
145
151
254
133
221
152
230
201
230
162
162
156
161
168
251
133
164
192
205
173
258
220
179
244
130
192
210
168
145
145
145
162
146
200
183
195
172
217
179
238
201
278
166
213
200
222
195
214
210
250
256
178
170
115
168
180
188
179
169
145
137
141
197
238
217
161
171
201
122
201
202
238
247
129
223
272
133
248
185
184
225
158
179
187
182
240
194
236
146
210
222
201
145
210
185
220
191
173
168
228
192
223
173
164
217
115
172
203
178
169
168
129
244
190
255
145
193
170
217
238
129
173
186
185
184
173
204
259
187
175
173
193
264
221
191
227
143
204
247
219
173
176
218
129
194
129
221
210
158
195
168
195
178
173
145
204
175
221
184
201
130
235
256
197
166
202
241
221
129
203
222
264
129
178
115
210
248
149
146
201
181
155
234
248
220
174
162
200
129
166
176
255
202
176
221
247
240
173
128
208
200
182
162
190
115
221
145
167
191
178
210
257
183
130
211
176
173
202
130
166
192
189
175
146
200
146
171
209
214
167
186
158
214
191
115
182
255
133
161
189
184
233
243
203
115
156
173
157
210
282
216
192
130
141
143
195
151
145
185
200
204
185
179
155
215
183
247
185
214
186
178
151
236
176
240
176
203
138
183
206
186
179
176
230
191
133
256
220
173
254
158
206
221
211
221
176
182
262
210
204
192
184
145
170
235
221
176
183
184
146
143
146
236
183
194
321
168
236
115
229
206
176
211
146
141
204
189
210
212
180
263
173
164
209
230
179
288
201
335
236
134
158
176
260
240
242
158
221
202
158
129
170
164
201
190
130
172
166
173
146
206
194
219
161
294
129
190
194
155
245
175
143
230
262
240
187
268
133
145
253
158
185
245
229
182
236
173
119
159
161
169
228
208
210
203
199
197
232
231
206
212
228
133
197
214
167
182
167
133
194
232
162
204
197
184
173
229
145
180
182
176
274
184
141
198
181
158
206
155
173
233
129
164
143
209
235
195
217
214
184
204
198
283
190
145
240
166
164
187
216
247
160
272
174
204
198
146
197
173
146
185
171
182
233
185
205
150
185
204
206
161
119
203
189
203
214
273
287
163
173
129
146
238
173
240
234
246
168
177
221
238
217
180
206
207
176
200
210
244
209
115
262
184
143
180
237
195
254
205
187
209
129
129
129
188
184
162
214
164
179
211
176
185
206
201
173
173
181
204
204
146
166
194
233
246
173
155
133
225
168
133
129
292
204
273
130
158
197
177
162
149
204
206
221
174
184
180
277
181
164
210
202
195
228
145
230
169
168
168
158
150
182
192
231
164
129
239
173
171
166
145
205
129
207
204
144
129
241
179
162
184
149
207
253
182
174
202
200
173
229
252
272
190
160
169
218
287
129
161
200
149
279
211
249
186
200
184
146
194
175
177
184
130
202
200
162
188
180
129
240
176
207
281
213
218
146
230
146
305
284
197
173
181
197
179
176
169
249
201
251
160
236
215
191
187
214
183
145
143
188
151
229
156
239
236
247
175
225
264
176
200
144
320
211
200
254
173
211
144
171
179
202
203
245
132
189
186
247
230
225
197
146
194
191
168
168
164
182
295
254
214
173
203
194
182
209
204
202
155
214
204
182
169
208
233
184
200
186
262
200
153
259
146
201
138
188
247
146
231
222
170
241
245
133
183
179
263
259
179
115
178
194
179
145
217
164
243
178
179
167
146
176
217
208
173
200
217
146
210
231
156
195
184
185
241
203
129
205
129
231
201
202
181
148
154
133
225
189
129
129
250
143
179
195
187
167
205
200
218
225
171
201
179
217
176
176
162
145
130
192
255
248
143
161
130
218
195
145
143
129
178
222
207
185
191
198
264
200
234
133
204
133
178
164
225
167
195
158
190
217
239
181
277
195
130
130
180
173
200
204
186
230
219
209
202
221
212
246
182
230
128
210
184
168
184
185
210
130
300
166
228
193
223
158
186
133
309
179
202
196
218
206
241
252
163
202
179
177
173
204
201
210
273
138
179
188
176
173
199
168
186
208
201
166
204
173
161
143
179
168
204
170
172
207
163
256
204
230
229
131
179
130
206
184
162
217
174
178
177
215
193
264
192
285
159
220
239
193
190
211
219
146
191
201
197
218
222
176
193
168
213
183
176
115
194
170
201
156
182
238
150
129
152
200
202
171
260
155
200
214
178
145
196
133
255
257
217
176
173
237
238
191
215
255
146
333
184
203
233
173
148
267
254
225
209
171
198
130
216
173
179
180
248
173
277
241
217
194
130
128
119
231
254
187
165
191
179
150
219
133
220
130
129
204
171
143
217
181
151
128
193
223
198
238
229
166
207
168
160
192
204
153
180
130
130
173
184
173
178
183
190
235
152
164
131
247
211
223
211
214
146
210
190
158
158
172
221
237
185
133
181
285
216
164
129
191
133
173
214
206
192
211
141
172
161
227
161
249
173
129
202
242
217
186
269
241
190
190
168
222
209
187
173
163
173
239
129
201
140
192
185
201
165
257
168
180
145
222
164
130
211
185
122
201
224
146
275
173
129
254
156
129
182
168
182
246
202
216
185
180
146
229
170
202
186
122
188
130
186
217
210
179
145
188
179
212
211
210
249
226
180
165
176
162
200
169
185
129
256
238
184
145
227
185
190
210
187
188
145
222
153
189
179
241
272
179
151
146
250
258
211
157
204
155
150
183
204
156
186
219
254
233
133
168
208
178
201
315
206
177
274
200
204
255
251
160
176
195
146
227
169
156
201
273
222
280
232
265
246
158
165
180
130
197
192
183
211
182
180
192
145
162
232
146
186
205
199
149
224
177
250
130
213
176
161
182
221
167
162
204
173
217
207
184
147
179
182
155
217
191
173
199
141
169
160
218
192
231
212
224
258
200
216
169
246
172
145
129
214
182
181
188
321
180
132
247
236
158
141
211
260
190
187
194
184
188
177
214
149
149
146
205
130
265
180
176
200
180
247
190
211
159
179
178
263
217
168
210
264
143
132
176
237
179
132
258
216
203
171
186
255
129
158
163
129
172
179
250
221
297
213
225
173
222
143
173
261
207
129
164
168
198
261
210
144
198
199
150
146
335
262
191
191
204
173
146
150
184
141
216
182
202
181
195
246
195
198
212
143
204
227
133
224
230
143
186
216
178
197
133
194
158
236
250
195
173
256
203
188
176
130
143
194
143
184
189
218
180
236
164
193
163
129
153
281
146
182
167
166
145
133
210
234
191
210
207
200
211
129
188
173
206
201
209
158
156
203
180
130
173
156
133
216
130
184
184
146
236
244
174
201
169
217
168
288
129
254
168
189
177
141
129
130
215
143
200
156
201
179
144
184
129
203
160
259
253
192
166
211
182
143
186
183
214
115
184
216
225
186
141
215
240
183
255
210
219
129
224
206
169
217
217
164
147
238
213
171
202
178
149
182
169
181
176
130
292
252
210
275
264
202
166
250
195
143
130
186
191
212
176
176
190
208
214
146
143
158
146
182
141
155
133
233
204
161
158
197
182
182
205
221
231
210
193
222
183
133
179
115
159
201
211
193
157
202
246
200
259
217
181
146
182
240
268
182
180
190
138
129
195
166
176
243
129
203
129
189
189
165
195
155
146
160
197
201
160
204
161
226
236
176
200
170
235
215
133
185
188
170
160
182
246
207
222
246
204
181
202
204
143
168
176
181
210
194
141
335
217
176
289
207
202
178
195
188
197
133
223
186
183
130
143
205
299
174
188
206
145
141
129
129
204
216
235
129
143
210
155
205
193
215
115
129
250
178
158
169
173
129
180
222
233
225
201
265
130
263
204
175
230
216
206
181
264
224
200
133
191
216
214
190
182
130
213
192
129
130
176
176
182
183
169
215
294
173
216
203
191
212
130
233
223
197
217
159
179
180
272
129
161
214
133
184
181
144
186
195
219
160
217
204
175
202
172
143
251
247
167
178
130
204
210
178
204
130
178
208
204
216
164
199
202
155
283
133
202
202
171
187
227
209
115
277
173
221
130
214
115
197
224
176
238
222
239
174
179
208
130
223
192
223
215
176
170
171
157
223
211
158
162
185
130
183
250
222
189
261
179
228
236
230
203
143
171
190
201
143
188
188
214
190
235
180
233
138
130
178
173
149
143
173
238
141
176
259
270
246
234
258
141
210
236
207
250
141
146
183
119
213
160
182
221
183
129
198
162
130
143
130
143
115
182
176
172
204
156
169
173
141
192
185
255
263
182
242
214
201
162
262
205
204
129
152
285
214
179
164
201
173
173
149
187
150
204
236
234
146
129
230
182
260
216
129
156
192
184
214
202
211
129
234
162
300
169
129
217
217
168
158
145
250
240
205
146
133
205
178
177
173
224
203
233
187
228
179
203
138
238
230
210
158
262
197
188
183
146
223
253
206
183
161
217
133
252
201
184
206
209
169
230
185
261
227
165
115
204
155
167
122
168
146
146
197
153
207
162
186
225
166
186
217
223
180
145
221
239
204
264
210
194
284
218
200
115
173
204
225
273
201
129
197
218
242
164
186
145
202
206
234
130
216
189
184
262
255
227
203
184
169
141
174
145
204
141
245
194
141
146
234
115
160
160
230
192
204
169
231
192
130
196
210
237
172
177
166
179
217
129
130
188
158
231
130
224
227
185
149
173
229
185
199
161
217
184
201
186
227
170
174
204
188
221
164
155
182
129
217
129
133
225
171
246
178
275
185
147
146
195
240
194
133
176
195
155
181
230
176
130
221
193
146
187
156
238
201
237
262
281
163
206
202
240
200
190
160
178
155
198
176
231
215
239
165
229
222
133
242
204
144
236
146
210
184
183
236
204
189
280
184
210
191
156
191
183
195
191
218
178
119
210
130
157
191
193
164
225
185
195
204
144
129
141
250
170
211
168
197
162
133
129
200
128
176
225
180
203
217
223
273
115
246
268
256
145
200
300
150
129
182
181
115
173
238
238
256
160
189
229
186
204
232
150
199
185
150
130
176
201
150
161
176
193
240
216
129
149
208
211
133
145
170
246
183
218
166
214
176
202
184
193
217
184
182
212
201
210
218
146
230
227
141
210
204
191
182
230
289
156
230
185
194
150
226
176
288
256
221
156
201
180
146
208
141
185
187
201
227
191
201
197
138
133
186
193
197
203
192
145
193
146
174
115
144
211
222
155
164
211
171
173
115
210
260
187
212
130
175
226
202
252
238
259
201
242
138
145
204
196
216
193
198
226
145
143
230
182
214
176
166
173
244
184
144
182
168
191
174
191
262
151
145
242
177
185
115
182
182
264
165
204
208
222
164
129
202
178
115
210
179
174
202
173
219
143
247
138
271
199
207
187
232
199
162
213
214
168
115
190
257
141
254
184
207
143
115
274
201
173
145
236
221
219
176
169
197
211
195
129
171
215
184
182
186
206
212
143
245
207
211
226
201
122
156
272
211
163
239
173
164
162
207
145
230
209
146
146
211
199
211
236
150
210
138
169
227
184
160
293
179
173
122
219
195
146
199
214
246
244
191
171
229
146
129
184
168
225
171
206
296
227
216
129
212
200
146
183
194
143
151
184
119
246
186
129
233
195
204
164
251
146
182
161
201
188
182
145
239
227
237
236
145
292
129
213
227
171
300
158
129
138
247
185
175
238
138
163
267
241
173
198
206
129
194
242
228
172
211
194
221
268
179
156
203
195
152
179
115
191
180
199
239
143
133
214
176
201
160
219
129
201
155
257
201
229
145
199
294
231
143
229
193
178
182
186
165
158
158
210
211
204
130
238
169
188
274
217
274
258
174
248
122
197
204
226
190
209
145
173
261
242
149
270
175
200
129
239
213
181
205
217
230
204
230
225
219
201
178
130
255
172
162
145
182
149
129
217
175
228
236
261
182
274
209
222
176
236
171
258
258
146
229
191
192
272
160
173
162
204
196
145
290
262
228
174
207
193
197
225
167
202
176
235
162
188
232
189
248
199
176
210
160
192
208
197
271
182
184
189
303
244
157
129
209
201
197
205
209
202
263
236
180
119
192
217
191
203
224
182
195
194
133
175
168
210
221
206
174
206
164
230
149
189
193
202
212
234
210
218
205
206
232
198
284
179
226
183
245
170
238
173
210
173
158
244
157
207
222
162
143
225
282
176
224
155
164
182
217
158
186
144
164
182
146
210
191
225
216
239
209
183
320
174
196
211
243
141
162
160
176
130
221
171
186
233
138
204
160
194
162
149
160
209
161
236
199
178
202
206
201
179
130
133
241
141
201
229
146
172
122
174
195
184
175
209
160
283
143
247
193
251
177
145
176
162
176
143
182
206
209
178
197
128
190
162
129
206
213
169
204
204
129
205
218
129
214
130
200
158
149
176
185
176
255
181
241
189
145
202
145
242
162
203
214
146
224
225
205
233
161
149
189
174
178
207
209
239
204
146
208
235
210
173
180
236
177
255
227
210
159
169
129
150
211
173
211
162
138
246
173
198
179
266
129
238
204
129
169
201
128
129
182
220
255
199
173
209
169
209
130
185
141
165
133
164
195
172
150
173
143
170
149
214
210
334
150
202
179
192
203
185
274
212
210
178
228
146
141
224
151
178
203
155
166
129
212
176
130
166
216
241
224
220
150
206
215
241
234
231
179
170
201
191
231
231
211
122
173
195
175
204
264
150
238
234
115
204
210
170
191
183
222
217
133
143
201
168
225
199
225
177
229
176
144
335
162
214
203
180
143
161
200
254
175
145
195
249
188
185
190
205
186
194
210
206
181
165
143
209
189
282
207
258
200
228
190
218
130
164
146
199
191
129
155
217
303
145
191
240
211
205
241
149
194
300
132
214
207
131
179
157
189
189
210
173
145
214
115
210
191
152
188
194
185
200
179
259
266
238
234
183
183
230
143
175
175
238
335
253
173
226
129
195
133
225
129
224
166
176
185
171
129
254
160
202
176
201
158
287
129
218
208
189
321
203
129
150
150
129
255
202
212
246
189
178
202
130
130
239
210
198
240
200
325
174
183
240
166
261
204
133
219
187
164
157
145
200
173
172
202
174
211
182
162
201
217
204
204
186
176
173
170
197
143
182
225
181
194
200
168
157
119
176
122
218
168
249
204
213
156
192
168
174
163
197
236
145
210
173
216
202
210
130
168
202
157
130
195
172
158
259
214
182
202
182
129
146
214
277
173
278
261
251
234
211
182
191
172
145
221
206
284
143
267
211
234
179
206
237
202
211
262
179
234
146
204
198
204
173
226
129
176
179
210
130
210
162
152
209
207
236
144
138
210
216
173
206
146
177
204
197
216
213
219
186
176
150
176
189
197
200
156
171
165
222
188
132
177
179
194
155
184
238
158
237
210
222
129
204
216
133
164
146
274
188
192
138
238
266
189
214
240
179
130
208
225
244
209
190
163
186
249
168
184
190
173
129
129
143
129
173
115
130
133
168
173
195
285
191
193
188
261
165
145
209
194
197
219
173
161
186
207
259
183
214
188
149
133
183
214
184
204
251
176
129
215
213
173
129
150
184
211
230
158
205
189
247
238
178
218
207
183
177
211
213
236
176
222
176
162
176
144
179
213
210
180
147
173
201
119
236
152
181
178
129
191
193
173
256
145
227
179
130
228
167
188
183
201
258
228
190
191
230
115
254
206
245
174
173
182
265
188
203
233
204
145
188
184
303
122
201
170
176
166
176
198
217
115
129
276
260
262
211
231
225
164
162
225
202
230
177
184
199
184
148
176
184
185
173
207
269
231
160
164
211
197
173
185
217
189
146
201
236
173
244
182
217
128
260
179
182
221
150
206
230
195
204
205
221
146
201
259
231
222
217
212
227
181
236
183
164
211
226
173
190
224
210
149
150
191
155
238
190
156
238
162
129
184
166
173
195
204
158
194
164
256
162
157
160
161
168
219
161
191
180
169
161
256
179
173
168
141
242
164
204
213
197
188
173
122
171
221
143
129
238
216
237
160
195
130
130
173
239
177
189
173
251
258
179
207
176
161
189
122
155
211
175
202
146
204
201
226
240
252
143
251
178
219
173
236
172
146
239
140
162
218
209
205
162
225
173
195
205
173
169
173
190
178
190
237
246
214
236
179
168
206
252
115
265
138
174
185
130
246
203
238
203
204
217
214
158
175
160
201
145
234
181
234
174
206
199
211
188
168
158
115
162
191
210
191
195
162
205
176
217
212
216
151
199
141
122
143
129
169
217
146
229
263
169
189
179
181
146
200
172
211
231
217
230
193
178
242
129
215
197
184
145
176
176
189
130
177
170
222
185
232
204
192
235
193
179
246
226
177
130
176
173
184
130
185
184
182
122
145
130
146
129
223
210
182
180
169
221
176
247
191
185
250
180
274
202
192
130
168
286
166
182
247
176
266
194
200
264
178
181
158
156
178
115
152
218
171
266
176
190
236
176
185
206
176
227
166
188
238
178
180
163
164
168
181
187
220
146
201
184
303
138
169
209
206
145
143
176
195
143
189
176
197
146
144
162
181
150
204
257
115
158
174
241
173
210
228
175
230
163
176
166
267
273
210
130
186
168
235
186
155
225
201
129
129
226
151
206
146
200
223
257
247
172
247
176
138
184
156
168
174
213
201
255
288
164
202
175
202
160
204
162
244
244
217
229
187
130
160
181
133
149
201
247
149
182
228
188
146
162
210
151
247
214
227
179
173
222
246
201
158
188
171
206
151
141
182
222
246
180
164
236
219
199
183
197
178
221
202
212
155
160
222
143
262
210
204
187
164
205
158
145
191
200
168
143
240
223
230
228
183
155
224
182
237
210
194
202
163
335
160
176
223
232
145
194
204
218
240
205
209
149
146
225
186
115
173
143
210
208
173
222
230
230
236
228
115
223
217
173
211
189
181
204
186
233
188
227
252
238
194
182
184
195
203
166
269
229
182
203
190
183
173
225
211
115
252
225
195
255
218
203
138
146
186
204
214
277
226
220
191
217
228
228
239
283
129
214
152
220
173
198
239
262
250
191
141
250
130
229
184
133
129
249
160
173
236
115
209
224
230
191
146
204
210
186
193
138
241
214
145
181
181
210
204
181
160
189
205
230
164
115
206
310
115
215
173
179
191
212
218
168
155
267
201
226
206
216
265
115
201
201
224
146
183
203
209
211
230
146
143
129
192
204
172
115
168
173
202
201
173
201
217
248
179
211
238
129
180
168
199
204
183
218
172
156
245
218
164
160
138
217
251
161
376
119
146
214
212
132
178
173
156
130
184
236
202
187
181
184
138
163
147
255
129
197
184
185
221
187
176
173
182
146
201
206
192
173
215
213
249
192
176
198
129
199
130
201
200
143
201
221
133
191
141
212
195
211
204
221
195
250
216
185
158
221
315
211
184
181
224
176
190
222
264
176
202
265
202
241
237
172
179
162
263
158
187
223
197
211
224
218
176
190
168
158
168
212
219
209
230
129
129
214
194
129
196
211
129
115
238
206
185
210
180
184
184
207
258
169
176
158
185
192
204
215
274
169
211
208
264
183
211
216
204
189
173
244
189
129
335
179
179
195
177
197
216
219
174
146
226
180
204
216
181
237
173
146
251
252
200
189
187
164
119
170
178
256
202
199
224
204
184
133
191
236
130
146
164
145
132
155
269
263
175
206
156
184
257
164
232
176
240
129
169
166
186
213
208
249
133
145
180
230
217
143
156
179
223
146
204
235
260
190
197
184
133
173
208
202
183
204
188
197
182
210
225
178
181
211
216
230
191
185
218
146
156
182
201
201
261
173
216
178
211
231
188
138
226
262
184
145
133
247
168
234
174
229
218
205
146
184
162
177
228
122
256
179
230
191
211
173
201
183
203
204
202
184
115
253
146
182
193
211
191
167
184
146
181
190
227
236
150
201
119
122
202
208
130
237
258
167
187
173
225
144
169
147
115
129
122
158
201
304
201
221
228
239
225
202
211
211
195
169
197
173
145
166
179
146
181
176
225
211
138
173
180
237
146
311
210
183
184
115
219
201
230
122
169
181
146
201
205
234
147
173
217
172
164
252
217
171
303
147
133
222
296
182
233
211
186
285
221
202
211
204
202
213
174
162
227
183
146
201
145
200
191
201
186
122
185
177
133
162
190
129
175
269
190
226
122
204
129
157
178
241
122
167
156
207
174
160
214
173
191
115
225
175
174
168
204
115
194
278
150
303
183
242
143
233
146
158
194
145
143
143
267
222
173
168
197
182
172
216
206
202
187
230
230
146
217
238
129
212
184
149
153
209
242
160
217
171
206
239
258
185
178
175
187
184
190
181
209
184
191
141
173
200
247
214
217
173
185
224
169
217
197
226
208
206
146
206
264
201
216
129
183
167
169
164
163
202
237
188
173
177
115
181
158
146
225
192
244
272
146
206
180
182
169
200
200
185
255
246
143
200
141
147
197
149
238
264
187
240
220
166
211
145
230
183
244
206
176
226
173
130
122
221
242
263
162
168
249
167
245
198
233
262
173
183
133
335
192
262
193
130
236
193
239
194
204
176
201
304
227
264
189
230
231
183
184
180
212
217
185
246
130
246
146
157
206
182
182
184
236
216
197
218
213
176
130
180
182
133
184
205
202
202
138
173
138
156
236
179
130
204
129
262
193
164
178
254
201
218
133
242
209
170
130
298
231
194
185
219
204
213
184
214
252
189
130
155
256
216
169
192
165
149
180
132
202
133
238
255
146
195
206
160
182
206
173
268
146
179
130
183
236
192
164
144
202
203
164
203
210
234
209
167
209
212
180
115
179
138
230
133
149
214
201
187
225
226
231
182
170
222
204
208
243
243
158
146
219
182
204
217
192
262
188
233
184
185
155
176
182
200
168
161
190
248
129
122
130
141
239
129
188
169
130
173
286
238
179
232
176
190
138
173
177
189
241
179
199
169
208
217
238
227
145
171
187
251
214
222
277
246
202
274
141
122
161
204
194
261
150
263
183
141
201
185
156
180
185
237
155
129
194
150
155
212
260
244
225
166
147
207
259
214
180
209
233
223
266
159
181
150
129
286
185
200
176
201
204
146
215
204
164
197
146
115
220
143
191
214
172
122
150
280
151
174
297
184
187
164
154
229
181
210
255
173
173
268
171
204
139
211
178
200
181
186
202
204
230
158
168
156
176
169
150
270
162
146
163
162
215
217
155
322
217
176
179
129
149
169
129
115
264
201
236
162
178
238
201
160
191
232
201
185
261
239
246
238
151
158
167
169
188
174
227
180
178
155
174
246
214
204
212
209
244
170
144
179
133
145
228
235
162
226
130
335
173
235
146
173
230
145
225
209
246
173
207
230
302
204
230
149
164
292
183
237
210
222
230
169
211
164
157
185
209
206
188
161
210
145
220
183
176
179
188
237
261
185
151
185
217
239
185
184
228
204
222
181
129
204
171
216
232
158
179
208
158
173
191
182
161
145
164
195
199
174
183
232
115
162
182
255
202
158
145
235
198
193
184
231
188
216
171
229
221
214
192
184
230
163
249
141
184
133
191
146
288
178
205
204
168
133
165
181
176
204
115
229
143
180
189
173
204
129
190
204
161
228
193
209
202
145
176
191
231
157
224
206
157
236
182
184
191
218
155
221
227
217
194
130
219
173
168
227
158
162
265
233
156
168
184
169
252
204
164
206
215
307
144
149
210
171
203
115
193
151
214
181
265
141
203
171
179
128
186
210
182
130
195
130
170
178
215
221
277
175
210
180
231
166
214
146
205
217
228
217
280
238
252
195
130
210
250
204
221
239
198
145
158
204
203
213
173
147
214
202
166
210
293
194
246
210
173
173
264
204
234
165
230
264
129
115
178
230
220
183
191
217
201
169
252
218
210
193
192
130
130
182
203
129
129
219
286
191
283
213
250
129
168
173
226
166
185
162
253
166
160
162
181
146
186
208
292
178
176
204
202
191
170
179
231
208
376
176
248
191
262
185
204
182
207
264
187
238
277
222
256
206
151
213
248
231
229
237
173
176
225
242
183
141
210
176
146
191
132
201
203
192
191
177
189
195
184
185
141
204
143
242
162
261
214
161
182
122
240
230
180
199
133
143
191
191
230
335
184
208
230
191
168
130
207
242
172
189
224
217
238
181
130
182
119
175
185
133
166
185
335
256
204
212
224
178
252
230
222
129
115
185
207
130
300
190
235
261
129
168
235
204
192
214
197
196
227
210
258
214
238
225
272
129
182
164
158
186
191
183
247
130
158
130
207
187
228
206
193
129
115
146
180
141
199
181
176
225
231
206
163
188
252
227
155
227
183
259
215
239
230
133
182
308
229
225
161
216
240
210
143
212
211
146
166
179
278
184
249
185
217
178
184
204
204
160
206
197
130
133
208
201
160
130
173
224
164
204
129
208
239
186
173
130
219
130
122
190
197
146
264
232
226
162
115
229
257
227
182
192
145
211
128
171
195
204
164
205
129
185
172
176
187
181
216
200
206
219
265
242
129
215
173
202
267
193
130
206
145
133
188
198
240
245
235
190
222
254
149
181
158
173
200
154
179
130
173
187
130
186
254
164
164
146
216
129
190
132
162
207
173
179
140
178
182
239
250
274
166
191
188
205
150
251
180
250
184
283
164
169
201
230
179
224
168
176
143
204
173
143
217
184
176
335
200
238
188
132
150
226
209
129
255
173
138
164
192
269
180
217
164
138
167
171
130
224
198
242
191
216
162
211
210
193
143
173
202
130
170
146
239
210
176
201
145
177
184
133
205
246
192
186
253
146
157
233
182
211
235
144
231
161
203
181
191
250
183
174
169
204
209
130
205
182
209
239
159
146
178
214
119
170
186
146
152
245
181
201
276
246
203
205
175
191
133
222
220
212
201
203
211
169
133
155
200
195
189
153
155
208
172
239
151
184
115
159
166
234
173
200
178
173
146
146
187
186
167
184
167
129
167
191
168
238
149
202
216
185
187
223
141
122
205
222
184
174
239
129
176
217
172
218
206
191
198
162
170
185
115
242
207
241
146
180
195
204
180
212
156
259
156
214
271
240
115
272
264
180
180
235
130
296
183
206
161
174
230
130
191
158
176
178
238
209
162
251
213
153
173
218
173
176
240
204
231
211
179
281
176
191
176
270
168
146
222
190
170
174
174
146
171
258
200
176
195
167
190
138
214
175
186
161
132
158
178
156
129
217
254
172
204
150
224
156
175
238
176
176
146
205
133
150
129
201
234
122
143
197
241
254
168
195
147
237
224
176
234
236
200
146
173
176
233
221
161
269
272
143
248
186
173
206
201
181
146
185
172
209
179
194
192
204
180
173
300
146
176
186
210
225
180
252
141
218
266
176
160
146
173
185
171
184
248
162
206
238
247
210
183
210
152
183
173
212
168
230
143
335
186
141
150
169
177
184
122
209
190
133
283
156
202
138
191
133
202
180
193
173
213
211
130
159
164
157
165
129
201
203
173
258
168
191
145
195
130
130
204
158
156
204
194
211
217
186
222
172
210
202
151
218
130
130
171
227
194
184
182
204
188
230
210
173
133
207
115
238
179
187
256
200
179
216
246
182
218
183
144
184
230
183
167
267
163
208
195
239
184
204
257
168
180
176
177
177
179
206
239
141
204
214
147
174
169
184
207
203
239
162
256
186
193
198
130
208
251
208
130
207
155
211
244
180
173
203
261
159
232
255
172
226
130
200
173
238
188
188
203
236
190
179
235
204
176
191
162
217
185
271
225
192
227
147
167
258
164
181
233
230
194
146
236
129
184
225
210
162
157
198
143
265
174
264
201
239
146
228
192
206
210
172
143
146
202
285
221
156
184
241
155
229
225
257
192
283
175
261
129
206
193
191
182
178
195
249
143
179
179
173
211
173
264
201
280
231
233
130
239
176
143
176
204
212
145
173
146
198
129
171
201
202
182
258
214
156
115
130
146
191
202
282
143
197
222
175
201
176
192
160
224
146
159
173
174
184
209
146
168
206
211
235
222
210
216
206
204
182
179
176
131
204
146
138
191
236
303
132
130
176
204
145
264
285
242
167
221
197
172
210
193
244
162
236
236
173
259
173
242
249
210
191
175
238
275
236
130
221
184
298
189
176
130
217
202
218
181
178
146
184
217
176
172
225
229
128
115
173
200
231
156
145
188
169
162
217
184
210
225
227
191
204
173
181
146
159
129
149
219
158
196
180
160
190
165
158
205
192
203
253
160
216
187
228
159
197
130
199
251
236
143
178
238
234
193
115
158
233
217
130
181
183
236
206
204
232
265
131
184
133
256
217
273
146
132
191
183
201
162
138
191
190
187
194
172
212
157
131
153
217
158
237
182
146
309
188
200
153
236
173
129
206
164
173
180
173
279
236
149
248
186
210
265
228
258
158
184
176
173
189
150
210
184
146
204
157
246
184
158
141
184
178
226
186
204
147
172
200
173
185
182
130
164
240
264
211
181
232
179
208
185
173
146
210
247
173
156
211
169
206
255
164
146
170
262
178
213
218
202
133
230
173
217
230
149
132
210
201
173
146
231
193
148
146
169
188
248
130
276
146
254
191
183
180
268
230
213
202
232
173
261
192
212
183
170
247
209
186
145
182
147
181
262
190
164
185
168
198
183
195
183
182
146
177
162
163
195
178
146
129
199
146
130
202
176
204
204
169
223
204
188
211
227
173
129
184
225
247
180
200
262
173
194
218
173
192
180
206
224
320
130
215
180
199
176
165
193
184
189
264
188
206
189
288
273
168
174
173
183
204
173
176
264
216
143
206
221
162
227
155
180
262
217
156
198
258
228
203
173
214
204
203
200
210
264
158
170
167
246
178
183
209
191
198
182
255
176
149
130
226
169
230
200
133
211
182
197
185
163
187
146
208
156
207
144
152
212
158
191
163
187
168
211
237
184
164
216
176
279
265
180
162
201
182
153
130
128
169
201
226
153
158
190
130
143
193
193
177
232
184
219
244
200
250
184
203
115
173
252
219
158
157
187
151
149
308
168
256
230
179
182
133
216
180
216
159
202
129
195
187
190
200
146
250
211
244
200
179
170
221
146
119
146
191
133
208
247
217
174
157
186
179
224
209
231
164
181
141
150
176
217
210
171
173
145
130
164
199
212
186
256
219
200
206
146
168
204
145
141
176
130
238
207
174
176
208
115
189
204
225
219
150
164
325
298
221
182
164
210
204
185
146
178
202
204
145
178
164
213
210
211
183
173
191
157
158
179
158
176
209
166
335
178
221
115
173
215
239
202
202
115
218
210
175
173
181
164
215
145
176
217
191
180
176
210
173
178
202
160
172
206
325
172
182
204
115
242
274
239
129
237
133
194
257
210
252
183
165
189
177
300
143
235
189
186
181
176
185
230
146
146
143
191
176
179
216
249
191
143
210
188
185
200
264
195
173
144
303
176
129
240
247
244
210
283
191
204
162
232
129
206
183
251
203
175
203
179
225
155
212
185
146
129
242
148
211
199
161
258
208
166
197
173
208
201
180
182
199
189
171
184
192
270
190
130
155
129
173
209
243
211
206
185
173
184
187
173
190
152
230
255
251
206
202
220
151
165
147
122
194
218
141
264
244
313
206
215
230
164
186
260
146
184
202
176
170
239
205
180
180
170
168
211
174
147
176
217
156
153
188
168
173
157
155
149
130
129
147
199
146
147
161
184
160
188
182
193
173
183
151
200
129
178
173
158
130
236
201
188
183
211
230
180
161
173
217
145
178
237
179
184
206
133
173
229
167
157
170
195
186
225
178
206
201
179
232
172
180
211
246
212
143
172
228
291
146
179
221
176
151
263
133
173
185
173
238
221
255
130
164
193
201
145
192
173
133
229
173
195
157
205
153
143
176
305
143
158
183
194
215
130
228
180
181
200
156
193
214
155
216
158
201
202
200
198
237
164
211
298
179
179
218
176
278
163
242
245
150
182
206
141
176
173
237
204
241
160
176
169
176
143
166
175
178
218
257
168
208
213
218
180
129
169
202
219
178
220
225
237
173
210
158
214
129
225
150
255
130
146
177
140
275
146
146
176
188
115
130
240
230
184
211
304
204
176
204
146
186
147
153
186
210
202
144
200
202
190
236
191
181
181
183
230
271
115
205
155
145
204
216
160
115
164
188
217
212
150
145
227
176
204
129
204
165
216
143
178
186
225
204
162
204
173
198
239
173
210
222
181
203
173
201
176
214
129
172
164
194
190
246
182
146
228
204
217
158
145
178
190
195
180
226
231
115
209
228
130
176
202
184
189
165
188
176
168
156
235
169
122
173
194
182
190
200
226
254
214
202
176
177
133
228
155
146
128
242
161
302
218
211
162
206
227
184
191
166
192
238
170
200
176
201
162
211
303
291
173
239
207
132
180
247
129
231
183
222
148
179
202
130
188
162
241
146
175
280
195
191
191
199
200
145
204
145
129
257
207
257
192
176
233
162
214
146
245
228
208
158
182
238
201
185
181
212
266
130
150
214
173
146
210
228
234
185
176
229
254
196
179
158
225
240
191
210
222
214
146
207
199
146
184
182
182
248
195
146
166
213
122
130
146
155
158
201
173
231
183
205
191
164
200
158
138
217
172
204
233
238
258
173
236
214
213
164
265
152
239
164
179
180
158
230
204
168
129
165
146
217
274
240
169
188
155
231
161
219
176
253
183
236
237
184
222
194
225
115
226
153
209
210
143
158
219
222
184
225
243
164
263
145
217
177
133
303
248
255
115
128
133
204
185
143
191
155
237
162
159
129
145
239
242
265
299
146
169
182
209
155
211
207
160
226
173
174
133
133
259
189
115
176
242
173
180
156
283
129
216
256
234
214
217
176
206
182
204
130
129
198
206
160
204
158
221
166
164
145
130
228
178
177
240
245
173
288
185
204
200
189
155
168
195
217
212
217
130
180
173
173
204
201
230
184
225
199
200
217
285
191
264
285
299
186
173
209
146
216
204
178
208
183
156
191
180
259
154
206
232
230
130
240
162
174
250
173
236
248
115
177
181
129
182
165
173
192
183
130
176
180
206
191
222
227
206
211
239
210
185
149
201
146
160
247
206
224
158
133
208
175
202
210
265
217
296
199
216
166
201
143
184
210
211
219
152
192
179
179
185
165
129
206
176
130
129
115
239
182
172
201
122
181
198
201
157
202
238
133
260
152
217
176
195
216
143
204
129
200
168
158
162
155
211
223
191
190
197
194
176
204
167
210
187
133
160
283
216
144
217
236
190
146
173
194
176
150
191
146
149
278
210
184
185
264
200
146
161
176
272
129
146
145
149
193
144
206
201
255
167
186
202
202
115
243
235
160
203
293
164
130
221
217
254
198
186
150
179
211
171
130
171
133
181
191
130
173
220
130
217
229
240
170
173
210
246
172
159
145
266
174
173
194
168
159
264
178
183
242
164
207
151
182
179
133
191
247
184
203
168
297
222
176
173
226
173
179
213
211
146
286
230
246
207
132
164
163
259
200
242
245
173
211
259
172
234
145
146
196
193
263
175
209
262
211
257
178
167
259
161
179
170
270
168
263
146
175
166
223
150
191
210
212
245
171
130
236
210
210
217
145
195
146
218
192
259
130
262
177
171
183
151
129
127
217
129
203
191
176
143
263
166
166
210
228
156
184
150
188
222
206
186
177
176
216
133
166
186
193
184
221
226
275
187
256
274
179
169
202
131
129
178
155
233
240
191
156
146
184
145
138
194
149
217
176
217
221
211
201
132
172
185
132
173
200
168
221
168
203
165
129
129
174
115
265
161
183
251
179
218
211
209
130
173
155
201
243
190
203
200
200
204
122
217
273
231
193
162
221
181
166
204
252
252
119
177
262
209
204
189
184
215
238
202
164
146
153
146
166
224
179
202
184
218
190
172
130
179
210
222
181
169
178
206
221
156
175
184
195
179
180
179
247
261
176
204
238
213
162
158
129
191
253
130
198
130
203
130
230
151
160
247
240
173
162
210
173
172
132
202
183
180
176
180
143
146
276
191
201
281
192
178
187
172
184
186
130
179
221
161
185
265
173
203
254
221
130
212
190
230
283
240
130
205
178
246
230
227
250
164
317
176
198
146
242
151
146
312
206
181
256
250
173
239
183
174
179
215
204
178
197
258
163
171
179
158
172
130
178
220
212
200
129
150
214
249
162
165
244
215
157
188
183
213
201
217
186
210
133
138
231
240
179
197
219
173
200
172
269
180
230
174
155
169
200
196
171
261
234
146
217
247
217
182
221
155
174
230
162
153
224
275
129
239
169
133
221
128
189
130
201
185
235
166
192
177
173
129
230
201
129
211
168
230
162
212
178
219
205
155
222
161
219
204
219
210
222
218
248
202
226
201
129
268
188
146
205
200
204
216
220
173
173
173
232
168
115
197
198
155
176
185
233
166
156
173
308
202
228
173
146
176
268
129
173
146
189
133
174
167
143
173
256
206
202
173
129
230
206
145
176
220
156
270
190
183
185
191
115
242
249
237
184
210
210
269
196
274
183
129
237
184
204
133
211
217
133
204
264
214
204
204
225
197
157
151
182
196
283
164
234
181
191
194
178
195
129
185
191
211
241
206
176
210
211
217
185
146
168
210
210
176
176
179
144
228
243
266
186
129
129
191
129
188
129
168
282
239
249
177
172
186
130
264
303
130
219
162
176
190
162
178
226
220
164
155
157
236
160
174
176
243
200
201
255
232
173
262
239
233
222
145
160
181
151
229
160
239
184
205
222
213
173
268
242
207
201
210
207
209
219
180
252
133
204
195
256
147
133
266
206
210
189
130
232
222
176
129
194
221
194
265
130
204
230
210
173
168
145
232
152
145
168
204
168
229
130
130
122
176
225
178
214
224
146
185
216
231
277
214
177
178
195
200
143
202
203
204
179
210
220
168
173
226
133
243
201
216
236
173
204
253
247
164
176
225
205
243
218
164
270
146
227
268
212
275
173
258
204
211
192
302
209
164
221
207
236
198
222
229
191
173
129
216
204
232
172
209
173
166
211
129
250
162
178
188
179
185
129
260
127
158
129
176
200
143
186
259
130
261
252
146
238
145
267
187
158
143
237
287
184
210
267
119
183
130
164
145
162
176
202
191
211
203
188
149
176
300
192
211
204
159
130
214
167
265
204
182
230
173
217
182
141
218
173
272
232
168
211
176
251
204
178
208
209
183
164
152
244
190
204
257
184
181
180
199
175
176
188
236
196
201
150
177
158
178
130
164
168
150
172
204
230
169
287
122
217
115
204
162
176
162
240
199
155
180
163
169
222
326
220
237
195
211
129
168
256
205
184
203
203
239
176
176
173
232
180
155
162
130
173
206
166
229
165
148
130
146
204
201
173
164
171
221
165
129
185
177
210
182
164
218
242
221
182
259
174
146
133
207
244
173
129
228
212
130
173
242
242
155
197
217
183
178
173
129
201
217
182
238
211
194
203
205
158
167
230
189
210
230
168
141
201
191
176
167
176
204
158
167
115
155
141
214
181
141
211
184
211
228
184
335
156
182
194
129
157
207
195
178
214
176
182
229
184
222
202
242
160
202
150
129
203
130
285
156
202
172
226
230
184
245
210
227
173
251
202
228
169
188
156
129
163
202
206
155
191
115
153
173
190
178
176
200
237
183
194
173
203
209
228
129
241
138
195
133
189
186
254
191
173
209
143
162
265
129
155
214
145
173
197
256
171
156
193
183
244
169
293
241
229
133
275
199
210
218
209
240
206
168
244
228
132
221
204
174
201
145
202
182
237
190
150
234
229
236
251
225
130
244
266
261
235
211
177
251
228
236
177
184
201
225
185
180
179
208
215
173
182
149
204
176
206
246
173
202
157
129
204
274
169
173
200
187
129
130
368
179
165
202
217
210
211
217
172
156
178
233
213
171
268
153
274
141
231
230
130
158
244
183
173
182
214
209
217
143
266
138
191
249
182
204
186
189
186
232
223
191
178
157
181
231
204
218
178
189
122
203
187
252
204
252
143
128
185
221
178
173
158
146
230
188
130
204
166
168
301
200
168
129
115
184
217
186
186
260
236
181
181
210
169
199
245
199
206
216
182
130
251
198
155
217
210
173
208
240
129
205
196
167
222
158
207
231
157
201
193
129
168
130
184
132
212
217
182
250
169
217
236
182
173
146
158
205
155
168
221
225
178
173
175
264
251
156
240
250
168
150
168
141
149
182
217
292
223
192
256
204
210
179
176
182
218
242
146
207
210
155
227
201
167
217
239
162
160
173
151
130
201
177
214
179
255
212
129
236
181
231
133
230
261
173
204
210
186
129
204
190
202
210
287
232
144
151
130
198
153
201
146
193
214
166
236
233
204
198
172
191
222
158
173
217
202
202
174
165
227
129
181
163
203
178
160
130
236
256
161
160
258
175
189
168
156
220
234
128
146
145
230
202
190
143
200
206
143
228
274
128
209
203
184
217
173
143
129
238
157
234
158
180
162
129
173
204
191
129
235
214
185
129
129
232
217
238
176
192
260
182
234
223
150
210
175
164
169
206
155
170
199
190
279
202
133
228
170
143
211
185
325
202
212
146
208
164
206
179
195
182
261
195
141
146
224
179
173
319
115
146
176
178
194
173
206
209
173
173
202
217
190
169
178
204
133
164
162
143
144
178
186
201
194
181
167
174
185
179
169
206
201
264
176
184
231
180
228
188
172
129
133
209
176
179
272
222
218
171
211
237
141
176
169
192
183
215
200
229
192
168
145
186
204
287
204
214
204
179
204
263
145
129
204
164
228
147
153
209
176
217
283
199
194
168
143
218
181
176
194
115
173
228
206
236
241
209
164
172
253
149
166
173
257
186
246
238
198
210
215
180
184
182
228
130
186
143
245
187
202
167
221
133
176
250
307
206
231
168
194
133
133
182
171
219
268
190
150
225
175
233
209
172
188
146
213
238
212
115
179
167
204
168
232
162
173
183
179
158
217
184
218
206
158
168
197
182
158
210
167
191
256
230
149
194
183
238
188
130
192
259
214
174
301
161
244
143
212
205
181
176
146
262
146
173
158
270
321
268
177
181
284
179
230
173
220
211
115
186
189
153
285
145
189
238
230
115
171
181
190
176
263
185
164
232
143
158
191
221
175
200
249
133
191
210
174
214
226
182
133
143
188
240
250
166
183
204
183
162
172
145
231
191
179
151
158
146
173
173
215
161
177
133
204
160
209
143
172
145
129
168
191
178
185
162
201
190
212
203
130
256
217
164
146
176
255
228
173
183
170
182
176
263
198
234
194
194
185
264
200
202
188
146
257
227
155
196
194
152
196
191
181
173
145
146
217
178
294
204
191
166
184
227
210
155
166
246
191
190
270
200
254
182
255
151
228
225
184
246
188
169
167
179
283
146
169
176
201
179
199
119
264
286
143
201
195
224
209
275
152
219
197
251
239
231
266
158
236
164
227
179
271
174
249
146
176
253
184
192
188
200
133
129
159
141
219
202
191
262
218
265
201
178
235
264
226
185
176
191
191
130
171
207
130
215
257
202
145
168
210
189
191
173
212
122
183
141
205
234
236
155
221
129
128
256
178
210
201
210
146
180
214
141
217
227
191
257
132
219
146
224
130
192
185
192
179
146
187
138
183
206
228
191
164
204
208
201
162
256
225
229
191
130
205
199
168
229
230
184
129
205
143
187
180
195
160
209
173
197
176
141
233
249
151
130
182
226
184
145
138
174
141
133
157
149
202
229
161
173
194
190
146
130
251
166
200
181
266
129
184
167
204
180
133
164
265
252
231
222
204
178
211
168
188
286
157
270
295
144
133
202
165
297
206
162
214
212
236
211
231
192
187
168
173
183
173
200
265
195
184
230
198
191
164
242
146
129
190
185
208
158
185
188
210
249
146
260
143
175
209
122
176
211
214
152
173
173
227
191
163
129
145
162
178
133
171
229
204
235
175
287
164
156
176
143
183
236
197
304
158
130
180
130
219
115
191
158
218
169
183
200
201
194
162
164
128
168
184
207
231
215
146
275
147
143
171
254
209
173
217
129
156
198
203
182
143
171
257
143
189
143
146
178
246
227
230
230
224
206
115
228
259
146
204
141
146
176
188
176
197
188
153
151
210
177
128
211
179
168
198
241
174
115
147
216
178
184
226
162
198
264
193
175
115
168
214
259
282
144
204
176
239
183
164
229
133
195
183
183
166
138
129
211
202
181
234
130
129
206
237
239
164
187
222
143
201
230
157
174
174
176
158
156
173
191
258
173
204
141
143
173
130
205
165
200
193
176
181
146
150
164
199
115
241
133
265
180
155
168
263
179
238
129
227
238
252
145
176
265
239
154
291
245
191
145
129
204
147
228
201
195
261
168
210
186
176
240
171
176
216
182
172
156
183
153
251
226
170
238
238
247
182
173
239
214
129
211
193
156
193
162
176
160
183
225
200
188
191
182
143
168
201
133
150
149
133
221
173
162
224
146
263
204
130
183
157
184
178
145
227
225
210
180
146
274
129
129
171
203
180
182
283
131
179
234
146
166
133
173
194
212
251
176
179
170
226
194
173
303
207
130
175
129
179
185
210
185
182
228
189
146
254
164
175
263
194
175
173
133
229
248
211
174
246
201
143
246
176
164
180
225
210
217
150
202
206
156
143
228
205
184
206
168
130
210
290
171
249
195
152
185
193
151
231
179
232
130
187
145
176
145
210
146
130
180
149
164
191
287
179
173
115
160
129
187
252
234
180
152
141
191
335
146
250
179
239
212
195
266
145
207
217
265
260
250
218
129
146
230
294
198
204
227
210
178
172
115
236
218
164
231
157
153
143
242
168
143
167
160
227
158
210
243
224
166
192
163
274
204
179
197
204
173
217
199
183
181
211
152
178
186
174
150
193
146
188
237
143
156
174
210
257
218
231
176
307
176
143
192
168
197
230
238
245
164
236
227
129
122
173
149
115
164
200
185
151
201
211
145
232
211
244
236
296
129
173
283
210
179
217
218
210
199
201
213
229
180
179
277
161
233
153
199
228
164
166
210
179
160
143
183
162
146
266
174
262
129
222
143
156
149
240
268
155
202
236
129
207
176
185
168
254
164
130
130
191
240
217
173
204
249
179
145
197
129
201
162
209
149
212
158
202
183
185
208
174
233
143
239
201
122
236
228
180
222
252
146
194
173
162
146
170
172
268
146
170
182
230
283
146
146
168
201
188
274
233
211
214
206
193
128
216
200
160
189
169
210
249
172
185
264
253
164
149
221
208
176
218
129
226
185
204
209
176
184
149
186
225
138
196
188
156
158
255
193
202
160
268
156
202
262
172
130
158
217
214
191
159
146
170
129
239
211
201
193
164
174
192
206
174
179
217
162
162
184
145
166
200
143
143
234
173
197
254
129
196
248
180
182
152
178
222
189
188
180
158
130
122
176
219
258
208
221
202
237
218
146
143
236
210
190
211
203
198
211
149
146
227
245
173
228
162
239
195
191
172
215
253
182
190
247
145
161
183
169
210
222
236
204
129
204
202
176
202
258
171
184
257
312
144
183
214
169
207
261
235
247
202
193
219
202
146
230
210
169
122
234
231
201
173
158
161
210
173
222
163
276
222
211
176
205
210
141
158
162
221
146
204
198
176
211
214
200
203
155
230
182
249
159
211
180
146
231
264
193
168
238
191
153
191
219
152
195
190
201
269
176
133
224
214
201
205
211
182
173
179
226
205
146
129
173
259
122
186
265
210
130
188
241
234
178
157
190
158
173
170
158
189
191
258
153
187
204
161
227
145
132
191
167
173
283
211
202
297
180
320
182
171
246
164
214
130
165
203
176
190
188
209
141
250
204
216
216
214
141
211
190
239
229
240
173
227
156
174
169
201
206
206
202
115
176
185
161
130
251
242
210
230
146
225
208
309
201
162
207
247
146
129
145
210
183
189
224
159
195
205
129
160
146
208
210
191
230
203
234
212
247
218
161
190
177
162
238
130
225
259
268
146
150
183
225
185
204
230
184
178
130
193
241
173
184
185
200
286
156
172
216
158
213
232
146
179
192
146
211
189
133
150
225
199
129
176
138
138
178
150
164
225
206
184
201
131
244
145
141
174
130
236
150
138
218
146
203
198
146
217
199
239
176
159
130
192
238
179
173
130
191
260
233
166
234
258
241
122
156
191
255
191
246
278
256
204
250
187
158
202
173
233
191
185
204
173
186
168
205
159
166
216
216
230
233
229
255
182
183
205
217
224
287
164
181
200
171
196
179
227
174
242
236
138
181
129
222
144
176
141
173
146
205
211
260
201
184
202
173
156
239
185
228
219
214
152
129
231
132
182
267
261
210
146
260
179
130
231
183
172
335
201
141
187
236
173
133
217
239
164
169
146
146
202
165
146
133
146
205
202
272
141
216
193
162
204
138
152
228
248
273
227
206
184
219
170
264
179
182
228
203
216
191
220
130
280
178
176
222
257
225
158
206
267
176
173
266
203
202
210
176
204
173
232
202
188
184
146
228
161
194
158
141
229
185
186
230
231
164
200
191
228
172
141
178
210
190
254
233
255
182
209
160
181
200
200
239
176
148
184
178
254
193
162
130
115
284
201
133
192
197
164
130
188
138
206
157
206
146
115
231
255
172
130
256
164
211
223
215
204
177
175
180
218
146
182
186
239
146
211
188
217
239
157
185
169
253
146
270
217
216
141
185
158
178
230
128
216
174
179
156
215
232
176
169
187
160
179
130
191
132
205
197
229
237
250
247
258
215
130
236
156
184
164
130
219
179
238
216
200
217
211
161
211
174
151
129
176
189
192
205
208
206
246
242
179
194
130
201
185
179
162
180
282
206
254
205
168
187
252
122
208
299
145
335
162
129
253
187
200
202
228
169
167
175
146
204
129
272
143
241
219
184
159
211
166
217
166
198
133
241
162
250
195
130
194
193
207
200
184
295
210
226
223
133
201
202
176
173
145
233
161
169
202
214
188
204
164
207
183
264
271
186
184
199
179
162
232
146
129
204
133
129
250
203
211
169
215
206
202
122
262
216
189
197
183
230
261
173
279
130
202
176
171
182
173
216
128
203
205
179
130
180
171
159
175
164
201
183
232
179
191
215
180
145
218
200
230
130
169
182
189
188
208
204
157
183
182
239
171
158
176
201
182
226
253
216
229
181
166
180
184
238
270
127
168
281
211
187
143
214
183
130
133
173
258
222
164
192
195
288
144
228
204
115
184
187
200
200
184
229
130
129
201
201
161
244
146
213
206
184
199
213
236
183
193
182
193
130
146
186
155
218
246
185
156
225
179
164
234
205
175
141
195
197
160
254
244
143
164
170
159
184
129
209
228
198
225
233
143
221
214
146
223
219
187
280
168
143
204
201
204
245
183
197
189
171
145
270
210
172
186
192
202
211
157
208
166
224
176
164
210
217
157
195
217
176
283
182
176
184
257
194
190
153
244
302
209
183
236
217
170
176
178
178
267
247
138
144
183
206
164
182
168
210
211
129
238
146
194
195
180
179
204
132
206
262
173
187
214
216
210
204
173
194
182
178
173
229
115
145
181
195
210
182
183
164
133
201
191
133
239
167
185
225
143
129
185
164
144
213
202
202
244
271
138
177
173
204
166
179
242
185
183
183
143
129
161
181
201
202
223
129
185
235
133
143
263
203
224
173
170
184
252
115
214
192
204
146
188
227
203
178
172
198
201
190
143
211
191
188
146
230
202
236
129
214
176
217
226
178
185
164
201
209
170
206
236
214
189
259
176
230
179
173
156
204
245
242
162
218
188
173
143
316
201
205
143
268
190
158
249
179
145
189
225
152
283
133
146
211
146
199
300
143
207
247
185
202
201
129
145
234
188
146
258
158
185
211
236
131
162
173
201
187
130
146
236
215
215
222
155
162
184
179
269
184
257
145
153
162
198
218
185
156
226
156
204
204
129
143
145
173
200
260
204
243
232
158
130
164
159
183
155
207
173
262
236
185
300
243
230
194
115
239
199
258
184
164
155
146
162
217
184
239
239
156
193
294
211
298
200
207
205
281
160
179
173
152
182
174
215
247
207
156
168
184
173
205
247
141
185
221
172
210
182
210
189
186
193
143
219
128
163
194
211
208
195
192
201
211
188
236
150
143
173
173
173
209
155
169
179
185
204
176
256
212
230
259
146
186
208
265
158
173
210
201
166
264
173
184
176
265
240
115
162
115
235
238
238
283
129
240
284
239
176
199
182
240
181
143
207
204
141
183
214
183
180
195
182
174
262
179
129
241
217
264
146
176
205
186
189
234
202
261
193
191
202
225
236
231
183
227
176
218
146
212
255
256
150
256
174
192
169
190
167
193
198
130
175
191
196
261
201
221
130
164
143
243
185
162
185
173
222
275
132
217
144
228
197
201
200
182
122
178
261
241
172
274
173
247
252
129
176
130
160
179
201
189
146
143
161
178
199
130
207
227
206
257
146
179
164
168
157
238
246
204
173
174
204
183
210
189
186
176
146
204
261
236
129
155
281
164
150
205
263
177
218
348
206
133
185
203
176
214
203
221
206
130
212
204
178
189
201
168
247
145
173
201
122
198
201
252
182
173
143
179
115
230
186
130
141
122
193
174
205
160
227
225
180
214
176
230
225
183
206
192
132
252
129
239
200
152
287
143
189
183
122
164
206
236
204
173
199
129
168
260
200
184
144
173
192
148
185
194
184
151
130
159
288
171
247
183
168
204
191
211
185
204
176
184
204
143
161
283
130
130
202
201
220
206
176
176
159
234
194
179
180
225
205
274
181
143
261
164
130
143
254
230
201
129
206
184
146
184
168
170
189
184
211
145
225
115
239
145
202
196
164
161
184
164
200
146
179
164
174
181
303
191
181
210
187
217
231
230
189
262
146
204
180
169
129
180
283
239
151
115
146
223
234
264
230
220
185
153
190
233
190
130
184
179
130
129
203
198
201
161
190
246
150
214
189
160
173
158
195
130
115
189
228
183
211
242
158
191
179
223
168
214
181
197
169
159
129
207
217
182
155
157
200
176
155
171
269
200
213
130
147
182
201
129
183
209
150
228
209
133
180
231
151
160
150
201
219
143
217
158
231
179
157
200
176
168
228
145
254
206
193
203
234
173
192
129
146
253
196
173
168
250
179
246
186
176
133
180
172
182
152
234
274
236
204
217
139
204
230
146
145
264
263
179
277
162
164
131
170
146
146
215
228
176
146
215
194
247
201
133
227
240
286
130
189
221
190
129
228
138
196
176
236
189
174
202
186
213
146
175
188
202
191
130
213
181
203
160
115
249
158
155
227
274
146
237
173
211
160
168
217
198
198
130
128
164
162
146
173
238
233
173
177
130
166
201
214
234
232
208
184
166
174
274
216
153
179
223
173
204
222
152
164
210
210
177
239
185
178
177
232
231
130
221
287
221
247
173
239
172
169
191
171
168
130
205
166
178
169
216
257
164
178
221
244
184
185
197
158
171
151
230
184
171
201
214
266
180
239
129
166
237
241
296
181
226
215
239
199
198
226
185
204
194
130
231
221
191
190
186
184
206
225
209
222
189
187
195
205
205
201
199
247
138
201
128
178
166
132
177
211
185
188
169
145
250
175
189
169
132
221
162
242
189
162
115
173
164
157
294
231
183
178
189
169
210
222
217
242
204
227
237
196
328
166
172
160
143
258
182
156
213
208
210
188
210
210
267
182
180
230
129
161
179
138
130
259
168
178
246
130
221
203
199
201
256
146
179
215
164
242
204
176
122
160
204
176
244
146
193
173
188
241
219
150
217
133
155
130
173
236
200
226
161
146
138
164
176
222
203
254
166
143
132
138
219
178
180
231
146
199
181
183
166
230
205
185
129
178
209
174
168
130
145
184
242
173
283
225
183
172
143
231
192
155
201
199
187
236
222
147
276
145
222
130
217
162
248
188
133
130
274
141
186
274
184
170
176
255
161
182
201
219
212
228
146
180
240
182
173
227
191
199
225
129
303
224
195
168
230
201
176
219
227
146
249
195
122
201
224
181
172
185
210
170
169
204
171
167
191
190
155
178
158
277
254
205
130
166
210
158
143
130
202
170
146
192
204
182
184
240
176
141
201
157
238
217
115
210
228
162
230
130
168
201
188
165
181
241
191
176
159
280
133
283
115
239
214
146
205
210
115
254
225
176
129
173
162
199
216
176
186
230
230
115
162
250
230
165
183
173
206
160
276
190
204
192
230
130
167
151
151
150
246
133
145
179
183
204
222
129
169
181
236
175
179
161
220
173
204
164
174
130
158
179
195
189
250
201
239
214
162
162
182
286
195
176
181
182
225
173
167
183
189
173
133
204
115
165
174
172
130
222
184
209
164
146
173
200
256
188
130
219
211
245
206
176
178
158
182
173
129
221
199
138
254
179
214
155
246
155
179
214
192
256
201
185
153
172
233
222
173
198
143
191
175
146
155
233
145
174
176
127
181
146
146
246
264
211
210
174
240
238
157
171
173
238
212
171
133
146
189
145
197
281
164
240
236
176
130
244
178
188
179
158
129
198
183
199
254
173
247
191
130
228
182
171
190
229
143
132
228
269
181
182
236
146
190
217
179
173
173
173
205
226
173
200
207
176
178
231
173
179
184
155
238
228
211
158
181
184
183
258
204
133
206
171
202
205
130
173
255
193
149
217
152
188
209
158
143
186
264
149
203
227
182
242
162
216
160
216
179
191
268
163
168
172
197
300
211
182
220
193
224
184
211
179
181
181
194
231
173
146
170
189
143
228
262
176
162
160
228
176
187
229
210
210
267
212
184
179
184
206
200
209
143
173
204
265
146
204
164
184
329
156
145
180
191
160
147
238
209
191
245
173
162
266
155
216
228
155
195
151
220
199
233
129
217
188
193
167
175
179
149
198
171
204
245
175
248
194
162
239
203
216
176
192
216
202
129
146
190
214
196
162
213
176
163
217
376
168
141
201
214
130
133
248
162
179
143
184
115
300
146
258
192
187
130
161
202
191
200
202
189
143
130
164
204
171
217
206
236
146
270
204
141
205
174
268
182
201
178
155
191
145
252
238
176
228
156
167
168
160
210
143
204
115
146
335
157
217
293
210
249
173
163
198
226
168
185
130
149
174
146
190
158
196
176
224
156
239
143
237
130
172
169
161
141
133
199
160
221
176
129
333
169
173
210
184
264
143
115
213
236
221
169
128
237
122
133
203
183
221
184
180
217
220
129
296
185
202
129
188
194
215
184
174
170
201
157
204
129
211
160
143
115
251
247
115
205
236
213
202
191
133
179
231
223
201
168
129
150
164
204
130
227
173
201
175
214
267
150
213
247
235
132
169
149
221
204
130
261
212
179
160
211
183
186
208
162
132
200
211
203
204
210
168
274
173
194
160
179
217
255
223
155
171
130
203
176
173
236
174
236
203
236
209
204
198
176
176
225
206
229
145
198
179
185
169
202
178
252
213
202
178
211
130
228
188
180
158
163
202
115
176
167
176
297
156
186
195
143
200
198
201
146
165
164
176
227
238
177
252
145
185
233
260
167
217
214
214
221
174
200
164
146
279
228
129
172
147
179
208
214
187
191
173
259
173
242
145
115
170
169
218
201
238
229
202
176
161
129
173
278
172
203
164
192
249
158
162
242
232
210
235
204
217
211
198
242
217
231
178
210
173
184
210
205
284
129
182
275
181
146
128
157
176
174
217
225
182
173
146
169
200
200
173
185
201
182
273
176
146
238
211
212
205
165
219
226
186
205
151
252
248
144
180
150
173
184
278
212
252
129
225
151
214
168
139
184
218
275
179
202
176
191
164
176
130
217
161
146
194
199
176
205
214
204
182
188
169
156
206
183
146
180
176
150
184
218
229
217
190
229
268
176
256
225
183
179
201
186
221
210
130
141
146
169
228
156
143
183
221
199
188
222
178
195
129
204
215
163
145
138
198
254
171
164
204
184
157
168
199
173
132
183
229
249
196
210
241
183
130
222
143
184
130
223
231
226
146
145
173
214
178
191
244
138
190
227
220
224
230
262
184
218
199
227
203
155
203
219
195
200
159
284
206
185
221
155
199
211
184
160
115
207
173
190
157
205
188
202
275
200
204
325
189
214
186
182
231
172
172
130
318
195
238
210
122
146
210
191
129
129
210
219
171
243
164
173
229
209
241
165
194
180
183
160
162
200
162
173
159
207
244
246
179
230
169
206
214
225
180
210
176
175
210
191
218
145
199
242
245
145
163
206
187
186
169
146
160
219
164
225
257
232
181
257
217
180
185
195
184
214
132
162
217
206
164
181
195
200
175
217
166
231
157
210
176
172
129
264
192
189
274
275
175
184
162
204
194
188
176
129
146
242
266
242
132
182
173
253
188
239
153
168
191
193
224
169
195
155
186
237
150
143
176
175
186
214
231
191
225
169
149
172
211
215
158
192
201
201
151
227
216
130
216
129
240
197
146
180
115
212
168
174
259
214
179
130
164
160
215
173
184
161
257
192
169
181
179
192
228
146
202
225
208
215
238
147
146
195
162
228
303
190
169
225
195
229
179
172
274
200
169
209
206
231
213
261
133
266
204
227
182
181
156
227
241
184
238
217
130
274
217
176
156
190
182
146
207
146
185
201
173
184
182
201
173
184
178
164
255
218
146
220
246
217
169
296
156
173
169
205
258
151
180
158
189
198
229
242
188
203
221
197
173
146
201
143
222
179
176
195
222
234
184
129
195
208
200
219
177
172
194
209
255
227
159
197
214
138
173
222
240
141
182
235
263
189
207
168
214
201
236
185
146
158
239
158
217
283
229
131
129
221
161
190
130
147
184
191
182
217
213
129
218
215
233
204
201
173
185
156
162
192
235
216
168
173
241
201
221
169
158
129
188
160
190
169
214
173
238
184
145
313
188
164
225
236
193
229
179
224
210
263
218
216
178
200
240
209
182
264
176
180
180
170
210
170
220
223
133
195
162
277
189
204
210
229
257
162
178
129
185
129
190
178
215
197
156
191
175
210
173
172
202
221
226
225
184
147
133
143
181
178
219
162
236
282
189
264
251
209
143
195
146
266
204
216
261
182
176
247
175
209
175
155
211
195
192
227
185
225
292
197
256
158
176
267
224
218
217
164
130
335
239
208
211
174
166
173
166
156
145
204
173
200
130
202
162
206
206
129
201
195
158
205
193
208
160
189
241
174
202
203
202
176
164
167
191
178
146
230
163
200
138
182
191
227
206
180
250
145
275
204
237
168
230
198
335
192
279
115
186
115
261
206
194
211
223
155
211
191
204
158
153
200
203
184
129
158
141
162
264
253
155
189
233
145
173
256
161
175
149
146
202
186
283
200
170
173
176
236
206
130
164
201
236
201
201
220
176
262
168
282
173
138
217
208
173
183
173
151
173
220
145
210
160
230
254
168
302
240
149
267
189
275
204
287
252
217
241
130
152
157
201
209
246
157
213
184
129
151
146
221
201
191
173
189
191
155
133
166
201
172
152
225
229
130
325
176
166
178
222
189
147
173
133
205
184
254
242
228
217
176
182
133
244
208
257
176
186
278
198
322
173
203
217
179
241
146
149
122
180
130
173
273
164
190
213
160
216
238
119
226
207
141
186
279
194
129
167
199
188
165
214
280
259
186
173
195
161
195
302
173
175
164
179
166
211
231
129
145
191
202
260
210
210
168
200
178
149
183
204
230
214
178
173
231
202
157
183
206
217
173
162
234
176
195
255
257
151
215
179
158
215
202
143
146
239
179
169
218
217
194
242
231
145
166
155
304
224
202
180
202
173
201
208
167
218
240
170
188
231
192
233
230
245
147
164
173
302
130
202
191
221
204
213
269
225
178
130
149
162
161
129
180
223
202
191
184
236
173
206
143
180
155
115
204
195
179
176
192
186
203
186
169
208
172
295
129
202
203
162
115
179
176
221
133
192
194
129
231
130
203
145
164
186
237
122
157
144
150
183
162
191
206
146
181
224
222
265
179
156
204
143
165
191
211
146
188
221
172
197
232
217
173
129
227
239
178
167
129
146
197
211
214
227
202
129
211
160
183
130
166
236
161
133
217
170
202
176
188
150
192
229
211
161
180
256
217
235
210
240
130
176
194
179
179
300
168
115
204
129
204
201
256
211
227
176
188
201
180
176
182
264
207
307
195
174
174
150
190
252
222
233
210
191
170
130
198
129
256
281
182
240
161
195
181
221
278
231
194
189
162
146
184
171
129
189
297
263
115
244
145
258
146
201
176
194
231
250
146
171
201
130
246
191
204
244
255
189
132
201
172
169
196
129
176
234
239
242
221
130
173
278
183
186
188
195
232
213
216
129
158
155
204
285
201
152
162
234
186
204
202
156
195
222
256
241
129
214
224
181
206
178
185
183
130
176
201
247
232
164
143
230
129
192
129
247
209
225
205
183
246
205
200
219
232
242
186
191
193
129
198
218
236
189
184
130
143
215
221
169
210
145
251
217
191
168
157
146
186
200
202
162
205
184
230
280
274
221
263
211
206
210
224
181
171
210
130
133
115
188
190
130
187
186
176
129
155
248
209
243
243
222
247
255
184
129
190
203
214
234
259
200
146
184
143
204
330
173
210
242
202
196
225
215
228
200
222
176
161
176
257
162
208
208
162
221
184
199
186
210
230
181
176
182
178
146
243
129
146
159
133
115
200
133
150
214
206
198
191
217
171
204
130
132
143
209
211
179
130
133
217
217
130
202
209
212
151
141
221
231
176
176
173
149
211
162
195
261
222
246
201
163
228
167
146
207
194
130
169
184
217
219
145
162
178
260
204
170
129
179
201
150
236
240
173
216
262
176
191
235
191
179
210
204
200
146
214
143
164
253
198
183
141
219
247
168
156
247
166
181
173
149
184
257
224
216
220
161
185
246
200
158
219
262
178
212
213
130
138
225
173
173
152
170
185
264
225
156
188
202
251
174
257
160
203
200
211
204
220
200
157
186
193
219
129
186
227
230
122
206
178
170
212
211
130
176
230
192
257
157
240
176
220
182
235
193
209
143
138
246
132
214
129
212
264
225
225
176
217
236
222
194
146
216
231
200
173
195
245
212
179
172
192
180
215
189
168
141
217
173
203
181
172
222
172
276
115
239
179
173
204
245
248
237
147
115
145
202
227
146
201
130
259
226
204
210
238
217
190
302
201
208
146
199
246
143
160
209
192
260
215
172
200
247
178
238
180
218
217
130
160
250
222
162
259
169
182
176
174
215
201
193
188
115
150
201
218
211
238
208
228
169
176
210
185
182
162
188
178
200
188
141
298
167
325
244
244
205
169
208
176
236
146
169
156
231
146
185
200
167
143
238
173
282
115
204
221
153
216
222
146
165
146
174
182
174
208
209
213
232
149
183
166
202
227
191
207
211
182
159
229
243
185
188
240
162
173
231
169
194
184
164
158
143
241
221
268
206
156
162
244
176
230
143
258
188
201
238
200
206
200
270
222
195
165
168
156
197
168
230
262
201
178
184
217
143
249
234
162
299
173
174
230
206
211
130
138
170
251
202
176
228
160
162
162
186
221
186
158
138
193
146
216
179
186
183
181
185
214
195
219
228
179
160
225
217
176
162
167
203
236
205
189
245
217
208
141
259
206
145
155
146
129
153
222
129
130
195
203
186
236
239
129
259
248
238
178
201
191
193
206
236
182
130
211
264
156
199
130
201
204
191
191
169
227
175
209
115
176
132
168
203
149
146
174
173
182
173
143
201
130
210
129
210
238
173
208
162
173
210
183
232
169
173
247
202
194
175
246
211
214
228
211
200
188
143
236
176
222
141
145
193
206
182
182
176
210
228
176
258
244
246
232
229
164
190
216
171
175
133
223
181
217
159
200
177
133
222
177
204
143
146
264
115
208
210
191
204
275
204
173
263
146
171
215
159
176
194
162
182
227
143
192
179
190
251
191
130
241
152
156
225
202
182
133
183
259
248
264
132
226
218
223
168
188
235
275
227
180
217
173
155
245
162
180
225
233
178
205
129
161
175
173
210
197
179
205
227
143
133
168
253
173
241
229
217
129
188
146
192
189
168
145
248
181
130
178
164
146
181
221
208
229
155
239
191
282
130
217
169
173
129
213
157
184
179
221
204
184
217
177
176
205
189
164
194
247
216
184
212
231
133
208
202
179
166
167
122
157
219
171
191
195
265
210
164
150
176
164
164
166
188
221
183
138
133
160
240
129
155
178
148
156
305
202
238
173
250
146
176
187
182
173
248
189
210
189
216
115
217
129
191
227
197
217
199
214
241
223
172
160
221
236
180
183
188
201
193
178
182
216
244
193
201
171
191
236
176
191
227
220
214
206
146
191
236
204
202
176
164
270
171
246
226
169
214
129
226
188
257
129
152
162
129
211
202
176
164
185
186
202
122
211
218
335
171
236
222
176
196
145
217
141
198
179
181
256
204
342
133
214
173
184
200
217
259
152
130
223
162
222
176
215
155
158
260
188
217
239
191
211
190
167
233
129
249
219
307
150
192
129
133
217
270
146
173
179
130
192
197
213
184
184
208
160
224
200
162
203
164
202
143
178
176
201
175
205
146
168
211
176
150
145
146
225
201
179
143
218
239
155
189
210
143
164
173
219
241
170
146
164
215
187
181
155
254
186
204
217
172
196
185
191
133
283
155
197
213
129
185
314
180
226
151
221
129
149
155
180
263
179
122
236
199
253
198
221
171
192
241
173
217
213
248
138
218
335
158
187
182
251
176
161
169
214
131
244
184
230
173
191
168
227
204
156
237
130
141
155
129
179
211
181
236
204
174
132
226
215
151
202
213
191
174
202
173
193
207
129
173
202
173
176
168
186
265
219
138
197
129
155
204
177
299
241
176
211
235
209
206
171
210
209
210
176
209
221
173
178
180
207
146
218
146
179
176
162
160
173
189
130
176
224
211
263
261
260
176
180
133
129
129
215
229
189
182
181
162
145
211
138
195
221
190
161
202
170
133
238
201
176
227
180
145
190
141
172
199
189
175
171
226
244
166
133
115
302
191
176
129
152
212
179
179
216
228
155
174
172
204
146
168
141
198
162
240
222
166
178
208
132
186
202
191
133
246
198
138
133
257
245
230
261
265
187
195
185
174
146
182
203
162
122
186
167
216
256
246
249
230
199
214
250
190
207
244
210
247
203
193
170
173
202
188
171
207
187
146
166
201
212
148
252
133
192
257
163
205
269
211
129
183
222
185
156
180
184
186
266
175
173
231
180
227
129
217
195
194
234
173
146
207
264
188
156
252
217
145
182
252
228
210
202
176
146
176
190
206
190
185
209
170
248
172
138
185
199
191
234
227
260
191
252
198
197
164
194
201
200
146
206
159
217
191
204
187
214
164
129
191
206
171
216
175
256
192
166
236
151
215
167
173
157
205
158
210
132
178
203
129
233
265
215
262
129
204
201
236
158
176
173
182
173
239
216
190
187
199
191
176
205
157
115
213
299
152
130
145
164
242
210
176
146
167
185
164
176
288
219
168
173
168
148
130
217
223
169
184
207
177
122
155
166
225
146
189
210
300
150
192
230
218
146
264
179
194
170
246
200
259
199
176
194
146
229
176
178
193
269
206
130
204
268
194
275
266
145
164
129
188
193
158
214
188
185
251
238
177
164
204
149
265
223
206
157
130
214
200
184
129
173
186
211
210
236
210
155
194
202
172
161
270
219
209
191
176
191
203
230
141
141
207
225
328
168
143
201
166
155
150
129
130
236
183
208
173
207
188
209
222
187
184
195
143
146
190
210
194
164
185
191
188
211
168
172
143
217
243
234
204
200
209
230
217
208
216
190
212
173
216
129
176
182
205
146
184
185
181
194
201
162
156
203
199
177
206
238
190
143
193
183
197
183
130
176
206
180
200
205
210
181
228
145
217
184
257
202
198
190
152
132
218
171
194
200
210
144
171
176
146
252
217
156
198
164
146
257
115
119
166
164
210
209
182
170
168
198
130
218
246
169
199
211
199
178
228
168
202
284
217
184
191
164
217
189
262
244
187
253
233
191
129
129
149
193
209
209
176
187
214
130
263
190
133
130
173
188
207
143
181
203
133
216
202
156
167
191
200
198
216
210
188
222
216
228
210
216
226
182
176
184
218
224
184
200
222
238
182
200
211
188
168
161
129
204
231
194
204
186
273
197
178
192
146
155
188
234
233
158
173
169
170
176
184
192
216
271
204
221
146
166
210
211
244
238
227
248
182
198
194
230
176
221
188
208
234
199
152
168
164
282
216
160
145
196
158
167
176
132
164
202
225
183
179
154
174
133
157
217
228
169
192
198
244
204
203
300
255
227
169
115
145
275
157
130
208
265
155
143
172
187
200
162
230
206
196
172
235
184
203
168
210
231
176
212
150
199
212
213
173
175
182
174
197
237
181
172
170
158
177
206
174
192
183
225
204
282
146
213
197
171
146
281
237
231
129
239
202
179
238
200
170
175
204
194
222
224
227
211
210
129
153
162
178
145
159
198
158
145
182
240
173
176
250
153
188
264
173
166
230
165
206
146
146
129
190
158
169
277
206
188
220
173
178
130
173
229
155
228
141
215
189
173
161
210
236
202
185
129
201
246
174
252
146
247
174
190
155
133
170
224
176
185
145
246
174
219
145
166
262
183
185
191
150
204
158
227
256
145
210
158
190
235
172
199
259
155
180
201
183
222
189
261
169
168
178
278
209
204
217
195
192
159
186
170
242
184
214
200
173
176
200
173
191
239
189
195
227
214
185
194
179
175
173
238
201
204
268
179
300
226
176
146
202
200
156
225
224
217
180
184
129
184
146
259
247
150
209
200
130
197
190
173
189
155
171
182
182
222
143
199
156
130
192
171
130
182
201
335
242
206
255
259
133
129
243
220
192
200
182
141
206
201
197
141
199
176
179
200
235
200
239
204
221
185
156
193
255
197
178
200
257
119
173
145
191
119
201
197
257
144
222
243
240
130
188
178
221
213
195
150
168
236
129
216
242
230
259
169
216
248
325
200
203
259
258
146
187
204
130
160
255
202
211
143
225
173
146
187
186
187
143
178
243
169
177
178
166
335
173
221
219
235
249
166
202
169
210
187
239
239
174
209
155
168
229
230
246
207
166
129
146
209
231
185
186
217
170
173
222
196
157
217
200
179
182
173
215
335
144
192
146
250
221
252
236
217
176
270
173
146
236
179
216
223
204
234
122
129
227
133
155
168
186
201
166
146
146
206
217
192
173
168
200
128
335
231
172
210
173
122
224
236
155
188
155
209
215
221
264
193
160
274
214
176
204
264
173
190
164
161
194
185
238
210
188
164
189
162
181
174
158
178
210
164
213
129
197
210
173
204
191
173
201
146
181
176
190
162
183
183
217
184
132
173
216
239
208
173
187
133
230
217
191
192
186
176
224
206
217
239
222
238
210
219
204
194
152
164
258
144
157
258
176
158
133
185
187
216
242
174
197
129
156
179
200
133
176
239
129
180
204
187
224
203
208
174
181
207
130
276
197
199
191
254
158
204
186
141
179
182
158
143
188
173
259
128
146
173
230
226
146
210
115
158
253
173
274
244
130
158
276
204
217
302
290
238
202
204
201
269
193
225
146
202
271
227
173
216
255
178
208
206
185
164
238
250
178
158
172
211
257
176
130
203
173
168
191
245
163
183
230
170
272
129
217
178
215
260
168
146
176
185
202
184
204
218
129
188
255
214
236
162
146
201
184
186
129
165
180
179
129
188
129
130
239
183
203
176
227
209
146
176
173
147
212
221
133
192
158
227
251
129
256
197
129
174
164
169
192
156
171
186
145
115
218
207
129
210
156
129
145
214
242
146
208
168
211
240
173
254
155
302
184
158
147
176
185
231
204
204
176
156
122
205
158
143
173
141
138
236
204
184
266
150
146
315
129
141
155
236
122
204
192
206
195
122
164
179
201
197
261
204
148
168
191
148
185
183
255
236
231
184
179
146
153
214
256
179
222
184
179
208
180
222
179
204
150
168
179
166
184
262
257
190
155
249
202
178
263
183
184
179
274
199
248
165
217
238
185
176
193
236
145
150
214
153
180
182
143
201
199
213
159
129
130
236
257
129
182
184
201
264
168
211
210
214
129
162
173
192
236
182
227
181
174
210
176
274
234
158
228
210
169
176
176
149
166
211
200
233
173
208
130
150
164
176
180
138
180
230
183
156
192
173
170
295
204
174
164
176
180
130
182
212
195
133
228
208
197
189
167
275
210
205
115
183
175
239
210
176
155
129
180
206
240
115
174
141
132
192
128
187
173
202
133
192
238
146
198
224
208
173
188
192
255
204
198
229
187
239
183
141
226
168
162
207
212
179
242
206
146
201
187
189
190
201
210
200
185
222
270
176
184
176
217
204
255
189
163
222
187
198
186
180
161
250
219
190
191
195
173
158
191
184
206
217
129
129
183
172
236
185
208
176
164
164
303
204
195
250
204
217
156
166
141
201
187
168
191
247
205
176
184
129
227
250
210
225
133
184
238
178
228
173
173
150
184
212
129
272
133
227
168
204
130
244
176
202
202
232
249
217
115
167
181
188
130
216
256
236
217
281
133
128
168
164
166
144
194
145
194
179
286
260
146
204
233
225
215
218
186
300
141
238
241
185
200
211
129
155
264
200
261
174
217
241
209
169
203
147
182
231
191
192
202
228
164
161
300
244
185
205
201
165
144
274
202
168
205
176
186
184
173
130
189
282
156
224
217
207
179
287
173
211
209
234
173
200
158
213
183
207
130
193
245
230
184
149
132
145
234
211
217
273
164
152
223
274
152
200
146
259
188
182
272
129
146
168
141
229
202
151
208
183
202
217
283
238
183
184
194
146
222
159
172
183
176
155
144
202
194
168
192
179
184
200
173
192
184
193
164
141
217
166
202
161
179
143
198
146
239
143
115
190
226
205
256
146
258
162
130
133
181
179
251
214
335
147
217
201
187
128
169
214
130
162
179
210
141
130
247
146
228
130
211
182
184
192
170
174
204
179
240
190
181
129
130
201
229
188
188
164
158
115
173
221
192
176
246
158
158
168
242
205
191
178
156
236
211
240
199
225
172
213
166
115
202
162
137
176
182
198
222
202
225
256
221
185
257
187
221
139
173
178
129
173
252
130
218
209
176
200
192
160
211
173
173
199
210
129
228
292
226
204
211
148
129
157
146
162
129
201
188
133
146
238
217
130
209
159
194
202
168
176
138
237
145
204
208
274
173
188
162
172
166
209
159
229
132
188
248
193
265
215
204
214
146
174
161
149
303
247
174
144
176
145
122
244
254
168
200
156
188
149
207
251
146
221
255
203
202
238
185
162
201
173
130
183
133
168
176
165
203
222
152
248
200
145
275
263
183
207
209
223
173
182
217
182
211
210
129
246
186
182
189
173
209
202
204
230
146
179
241
182
174
155
162
166
200
229
216
204
225
245
173
211
219
226
158
129
214
176
271
238
201
184
218
210
164
176
156
162
188
130
224
189
198
189
204
146
231
173
217
217
176
153
217
180
179
172
214
151
146
228
195
215
234
129
145
168
182
206
146
240
119
199
176
182
199
146
143
206
217
214
204
176
130
248
238
215
165
204
274
219
230
173
223
233
158
183
248
264
133
183
209
195
194
129
155
158
164
153
162
155
129
141
188
189
157
229
190
173
168
169
191
180
182
202
232
168
162
183
162
228
168
160
183
179
196
130
180
166
132
158
129
150
130
211
244
217
208
146
180
311
204
216
176
201
132
130
158
180
129
145
277
185
201
214
175
146
187
201
268
164
179
180
204
217
155
143
186
181
192
173
174
218
217
203
119
219
240
210
179
181
182
184
197
309
170
195
129
186
162
150
153
150
234
184
130
202
222
221
239
115
229
129
207
164
160
191
283
182
211
240
179
182
180
187
244
174
184
175
185
172
206
168
202
115
192
234
185
182
219
152
148
181
202
133
188
173
166
335
129
145
143
143
183
115
238
141
279
216
224
228
197
222
169
171
203
288
179
164
168
228
162
234
211
159
189
222
179
239
188
182
146
238
156
192
174
164
203
221
258
129
235
129
155
191
180
252
129
179
173
185
234
216
220
214
160
216
176
240
234
204
221
129
236
211
191
129
151
185
185
236
197
168
235
164
184
199
176
159
210
261
230
182
133
132
202
200
173
174
179
145
129
138
239
166
145
210
229
179
145
164
184
230
173
127
199
260
158
204
164
320
200
173
195
255
173
236
204
189
183
195
187
183
190
167
161
212
149
145
217
205
158
180
216
146
169
164
219
129
181
170
176
267
184
195
159
179
182
145
191
130
193
178
202
227
182
178
201
194
210
209
206
161
203
181
170
133
166
132
182
133
204
264
211
143
252
178
230
258
234
176
115
231
210
209
171
230
195
192
184
144
244
204
219
132
189
130
155
221
217
217
200
203
289
221
146
129
223
164
219
200
180
180
199
147
199
246
223
156
178
194
217
217
165
166
252
144
234
133
215
162
216
227
156
189
169
205
210
169
197
325
210
217
146
194
166
173
169
202
195
212
153
129
185
122
141
206
130
313
176
210
245
231
175
157
133
224
246
228
220
222
162
185
225
181
204
204
170
163
208
238
133
184
224
143
132
203
147
206
193
169
191
173
170
158
133
180
283
146
168
188
169
190
173
241
146
222
146
179
260
219
185
180
115
183
204
311
205
167
231
172
271
209
201
168
239
219
122
237
215
183
178
166
173
241
156
160
151
181
200
200
231
179
230
201
208
200
227
164
115
210
212
180
295
183
203
230
166
173
129
146
176
225
132
129
194
130
204
242
184
141
170
144
145
137
228
239
201
151
201
164
146
162
183
187
221
200
146
180
192
173
155
182
274
236
287
138
201
122
225
227
200
245
215
225
168
260
238
202
324
146
143
179
205
194
240
290
190
217
130
143
164
174
176
283
238
217
271
130
185
130
204
192
150
133
186
154
173
189
184
217
165
190
220
200
213
195
184
279
169
179
176
221
130
176
119
179
157
185
210
211
179
129
207
173
184
168
204
162
203
238
175
204
184
236
267
183
202
129
150
210
115
210
146
203
253
224
190
138
256
254
177
251
199
227
143
309
145
197
186
146
164
156
204
146
208
156
169
177
158
182
204
246
238
200
180
274
250
158
179
173
227
238
138
195
143
225
227
230
130
176
115
207
168
182
164
151
188
130
226
130
188
169
180
259
230
203
233
143
246
180
176
203
199
176
223
178
191
130
206
198
215
129
127
225
146
185
240
145
247
230
203
173
191
187
130
145
184
174
247
130
204
211
197
305
210
210
143
174
130
194
245
173
128
206
209
189
213
179
188
190
219
180
153
201
157
297
243
132
229
204
169
167
130
210
129
198
169
179
224
211
143
176
203
145
279
149
146
191
189
210
143
115
130
115
157
213
211
173
179
195
184
219
250
146
251
201
196
214
167
206
239
270
242
209
183
222
156
206
204
205
230
228
209
174
171
166
185
176
227
199
222
183
130
209
210
176
164
209
167
242
176
155
228
130
203
185
267
276
115
303
247
129
168
130
193
172
204
146
176
238
173
150
184
228
237
130
183
168
192
224
184
133
176
176
162
156
156
202
181
129
185
173
178
168
206
215
202
167
176
258
195
230
173
193
191
146
199
130
181
158
237
255
204
176
145
174
205
204
191
156
192
215
145
129
180
169
263
276
189
225
231
180
179
179
228
251
173
210
196
156
129
176
176
214
227
182
204
209
276
186
203
192
205
179
245
155
130
157
164
199
210
259
158
204
182
176
228
145
201
128
242
204
193
179
133
267
133
171
206
210
222
230
210
211
180
115
227
141
176
248
202
201
226
270
145
204
271
175
221
146
223
115
247
185
208
200
231
190
156
183
225
190
230
246
246
211
164
225
146
238
156
204
267
261
129
162
141
160
231
164
159
191
146
168
173
195
160
209
222
238
181
146
149
176
199
144
152
213
179
176
133
212
158
173
129
218
146
180
176
228
175
165
130
161
170
219
251
200
183
122
265
168
191
257
240
217
202
149
169
200
130
208
160
183
173
264
146
130
162
294
221
151
216
169
236
227
209
171
173
177
296
170
171
213
201
184
185
191
130
202
150
175
176
186
258
145
145
129
206
129
176
200
235
194
200
159
204
204
162
229
200
211
165
239
250
155
212
196
227
195
169
162
145
270
205
152
233
189
283
272
254
218
243
230
178
115
264
164
133
191
178
115
162
133
185
151
177
222
213
265
319
204
177
178
222
335
208
257
194
200
174
129
222
227
182
146
204
239
185
171
222
222
190
211
210
176
176
214
204
201
192
193
180
258
225
191
233
133
176
141
275
155
237
165
199
129
210
204
225
201
189
216
176
200
229
153
259
157
191
237
164
219
115
218
162
180
130
211
167
115
174
284
238
179
195
203
185
189
130
228
349
146
203
186
151
192
115
174
208
230
182
212
206
162
179
155
200
250
204
204
238
184
158
145
230
181
211
202
185
180
213
229
155
200
168
150
211
223
186
172
235
264
147
130
191
146
164
210
231
285
156
237
227
219
130
188
146
129
195
164
210
164
169
173
216
158
246
186
182
227
242
216
148
210
221
145
204
162
239
252
220
160
230
211
181
238
208
195
224
227
176
180
196
189
202
287
236
199
211
129
195
162
225
197
146
155
173
204
198
162
204
251
261
215
161
237
171
188
145
155
216
188
159
175
191
211
172
183
219
204
238
178
141
227
206
178
146
225
201
216
144
158
197
195
234
129
179
201
242
129
176
223
129
146
171
168
299
209
237
129
291
201
130
191
158
241
130
180
221
174
184
146
160
144
211
192
194
215
180
194
200
282
201
238
180
196
185
167
169
129
195
168
193
150
189
251
251
230
209
202
157
160
128
130
115
283
176
185
173
152
244
143
144
182
160
203
172
179
158
162
143
184
115
193
158
172
163
182
193
171
188
173
191
191
138
212
162
225
129
167
173
249
130
176
182
161
189
142
206
179
254
215
184
145
190
255
183
202
202
229
133
178
162
185
201
207
138
153
231
171
145
181
171
315
168
129
183
189
192
180
145
211
129
236
115
186
170
224
225
229
156
200
130
189
259
162
162
143
202
185
155
162
183
202
253
201
146
164
192
217
200
173
242
170
199
203
263
143
192
210
204
214
145
229
176
172
218
183
190
184
222
247
192
270
129
195
169
244
189
183
185
186
235
173
249
200
129
169
156
155
207
183
151
217
218
197
158
189
206
188
211
173
218
155
204
168
216
143
222
244
130
230
173
198
179
205
191
179
150
184
146
168
157
237
115
335
195
196
145
231
165
138
214
225
173
181
162
133
141
169
216
145
200
183
130
156
227
216
300
173
146
214
191
197
150
144
164
202
218
173
188
146
192
144
203
202
146
247
214
182
247
170
181
166
228
164
204
250
192
179
167
210
180
224
209
219
222
189
166
204
149
129
203
141
176
178
225
200
183
129
183
179
195
274
162
119
206
173
151
182
239
129
191
190
274
170
191
115
229
217
263
200
243
202
201
191
152
162
150
138
253
191
220
226
146
187
238
130
179
192
186
260
274
233
169
201
236
167
182
163
194
201
185
192
229
185
161
189
199
248
268
254
205
173
155
174
212
175
201
176
171
204
204
133
179
226
214
234
200
188
143
178
161
184
184
115
269
175
218
199
130
222
239
182
192
205
244
176
141
182
283
209
217
236
237
251
217
119
146
216
173
200
199
176
173
173
185
171
186
321
145
254
249
211
185
156
230
201
158
149
162
215
168
143
217
168
246
146
130
227
217
146
204
178
122
170
172
227
174
159
201
194
173
201
217
235
256
144
162
206
251
183
258
211
216
265
143
203
233
150
200
168
232
185
188
183
171
283
145
179
133
130
173
200
235
153
223
176
129
133
206
183
248
177
201
239
146
204
221
138
115
149
268
176
191
184
193
193
164
210
143
176
211
154
146
215
214
188
186
200
143
184
256
230
132
179
185
227
239
217
205
184
262
243
203
253
210
238
188
195
203
178
122
210
217
194
137
133
192
186
201
230
184
168
130
301
138
129
219
173
217
204
188
187
195
172
168
129
174
146
184
205
209
260
206
152
205
229
204
129
160
129
206
185
191
202
145
270
175
130
204
211
265
180
207
255
173
247
182
173
242
212
184
206
264
235
193
212
129
194
151
240
200
162
141
133
162
164
192
205
263
178
222
219
149
164
209
153
179
215
229
178
148
176
234
194
201
183
168
179
163
183
213
146
217
300
143
230
252
183
184
232
158
200
206
180
164
166
191
237
176
212
204
217
186
248
172
206
184
221
176
166
202
170
184
178
138
238
191
176
209
295
236
130
180
145
166
168
166
145
200
192
164
218
211
202
166
179
217
146
171
173
173
221
191
213
210
190
215
173
164
240
226
129
210
181
146
193
256
178
182
129
230
191
133
229
129
206
217
288
146
191
174
177
192
129
129
129
145
230
146
214
231
164
185
164
228
247
220
232
197
132
225
207
143
206
210
217
179
253
230
210
160
169
218
129
184
239
173
238
191
183
141
172
191
239
200
180
223
248
216
168
155
177
179
173
202
182
172
206
176
191
169
133
176
133
146
200
228
297
178
217
129
213
183
157
176
184
222
211
176
184
182
182
198
238
300
204
190
262
217
149
115
174
155
119
169
230
192
168
129
147
182
248
175
207
166
179
202
143
168
145
252
210
132
150
222
173
161
178
176
143
129
173
158
133
133
146
162
293
184
164
233
211
212
167
133
182
130
130
204
146
156
205
214
215
129
133
166
230
167
254
157
210
217
227
218
212
130
146
173
202
141
174
176
173
176
217
204
176
186
143
200
184
157
212
204
149
300
206
184
173
228
201
200
285
284
209
188
151
190
173
173
262
146
204
210
236
239
141
204
179
159
230
189
181
115
146
244
217
133
201
236
219
334
157
238
230
261
130
173
217
202
138
233
251
179
130
133
213
258
163
176
146
200
177
280
155
227
214
237
200
197
295
179
133
233
183
244
176
179
211
173
195
189
184
165
211
210
160
200
138
181
173
223
133
222
187
254
232
144
155
157
208
242
194
180
222
263
231
210
214
146
229
219
176
190
145
202
129
201
284
149
212
242
166
285
283
197
239
176
216
269
168
173
225
173
188
180
198
230
241
213
218
212
129
128
130
176
274
178
160
234
281
178
160
228
216
231
191
168
258
192
130
182
201
243
129
228
146
184
211
143
236
151
206
198
246
200
213
164
169
168
179
204
193
164
191
228
237
201
161
173
183
129
194
252
217
173
206
173
246
203
176
173
160
199
164
194
225
146
133
173
193
210
182
204
119
119
213
129
155
145
227
162
179
133
186
167
172
244
194
204
146
130
179
178
153
161
178
216
138
193
183
173
129
138
173
146
165
129
133
277
187
280
150
145
217
176
187
241
223
190
174
258
194
227
141
235
211
173
167
195
158
143
195
210
238
162
144
130
155
201
222
141
186
176
176
176
207
271
192
203
226
146
146
164
155
210
193
186
227
179
200
205
150
239
204
213
129
234
231
224
214
146
144
210
253
184
249
122
179
130
155
190
210
206
224
266
242
143
254
122
203
160
176
221
343
178
292
229
130
249
186
191
145
200
210
194
222
217
256
151
182
161
214
162
206
210
202
247
222
156
202
239
214
173
192
217
146
198
164
162
158
210
238
143
130
192
182
200
244
205
168
254
211
162
129
199
204
255
145
186
156
168
193
184
202
239
179
210
246
201
225
148
173
146
191
233
179
194
188
211
164
201
157
198
217
243
162
173
210
228
180
129
237
115
227
130
204
184
237
225
252
174
176
185
132
130
172
204
228
132
263
193
184
249
248
174
194
238
150
203
178
202
200
196
155
183
204
207
168
204
182
150
141
195
218
210
242
216
156
229
151
198
210
217
178
159
195
216
222
131
147
182
191
146
132
137
195
247
254
173
138
130
211
175
222
179
221
281
146
147
164
219
160
152
200
153
202
230
146
146
241
229
156
176
199
210
322
217
158
144
152
157
146
194
188
187
215
128
188
233
194
173
194
221
289
210
133
164
201
129
162
197
202
205
146
229
201
143
192
216
133
223
179
216
194
152
187
279
207
248
192
129
185
302
193
222
190
263
129
129
252
173
115
176
193
173
174
221
162
216
169
182
115
222
161
130
150
231
191
172
146
188
200
215
159
180
229
246
201
147
164
247
216
149
184
161
256
217
146
195
177
233
214
184
258
227
173
178
218
239
145
220
145
191
191
146
184
230
129
129
236
227
180
213
196
151
182
204
194
185
215
143
129
201
217
201
242
209
205
237
185
182
199
216
169
173
167
238
170
259
188
239
130
160
130
166
235
191
214
202
132
209
266
158
210
202
192
167
206
166
202
176
176
251
172
164
155
129
162
224
173
191
224
146
141
184
223
132
157
219
217
178
145
199
254
143
211
236
199
202
221
212
202
169
206
130
146
186
200
202
169
187
129
207
152
115
251
228
138
199
138
151
162
235
238
217
210
146
173
179
191
218
150
231
212
164
192
217
185
217
231
168
235
156
215
176
192
163
215
233
179
202
146
225
194
133
160
308
209
129
151
150
193
218
270
191
146
251
144
204
263
170
178
186
252
200
145
129
229
178
210
141
182
130
170
158
200
219
238
176
252
115
202
179
256
214
162
145
146
210
133
185
216
205
146
153
210
156
260
174
183
153
143
203
257
247
222
271
191
155
115
259
222
168
164
130
256
258
239
184
179
193
181
176
179
161
211
274
207
203
211
122
173
141
207
184
211
176
209
144
167
179
210
197
146
195
146
211
221
158
146
167
200
141
195
149
165
198
232
168
204
198
146
191
150
191
169
264
129
197
145
227
192
145
176
185
199
217
173
235
133
133
155
202
150
191
210
241
158
263
217
180
166
217
129
176
200
184
201
129
287
176
176
146
189
200
164
180
307
192
236
130
240
149
176
144
217
263
208
214
185
191
195
162
187
226
230
195
161
216
242
152
179
188
176
200
209
157
176
181
217
180
200
182
238
252
169
234
201
162
151
261
179
283
130
169
280
235
211
205
213
197
192
213
198
129
130
182
286
129
229
178
129
133
204
210
192
155
223
151
220
259
238
202
146
214
189
178
232
244
240
156
188
130
228
164
163
204
192
122
197
188
231
215
246
178
173
232
219
130
197
179
209
243
281
191
164
130
174
222
172
246
200
204
182
203
145
173
155
230
166
211
231
145
146
129
264
226
190
260
213
167
130
141
182
246
189
210
246
210
168
115
222
132
143
267
168
122
176
180
245
197
187
212
174
188
158
184
145
185
212
221
214
115
230
133
230
133
206
221
179
174
207
241
185
235
170
264
201
173
184
155
130
162
155
234
230
233
171
177
181
197
138
158
228
180
321
191
217
160
161
189
253
173
218
211
152
205
205
133
186
255
175
166
206
157
144
181
161
119
217
229
244
257
176
202
289
168
181
129
238
173
168
145
178
188
172
180
130
216
172
199
162
156
239
182
174
178
270
231
234
240
225
208
240
187
129
173
246
146
151
129
193
191
179
223
129
184
195
190
179
225
130
216
202
229
173
174
194
170
250
130
173
129
132
150
130
193
254
230
176
144
129
133
227
202
240
164
180
218
183
202
179
191
213
182
222
197
202
174
178
158
296
184
197
163
130
199
211
129
173
173
237
218
230
155
243
244
219
203
214
166
169
243
222
130
133
129
167
130
210
176
247
207
170
253
217
180
173
169
205
191
184
211
143
129
200
130
225
168
164
246
184
280
183
185
129
186
170
174
212
206
255
247
169
210
173
223
179
171
261
195
160
162
130
215
259
130
226
201
162
187
228
129
146
261
180
190
255
239
203
181
129
146
210
239
276
193
122
190
161
200
235
176
150
143
183
128
133
213
147
158
211
335
175
145
244
176
223
225
172
162
189
227
172
239
201
172
235
122
171
204
187
192
192
164
209
240
157
226
179
185
264
129
217
271
190
246
176
256
217
202
239
129
129
174
145
155
184
130
203
211
229
164
170
214
201
146
227
130
188
274
201
217
146
167
143
251
184
185
252
182
203
180
311
171
263
179
183
185
231
226
180
207
138
133
181
176
275
143
201
211
202
190
122
228
254
238
200
130
146
191
156
162
170
195
129
240
170
212
237
230
166
176
129
180
256
215
177
176
215
146
202
169
222
202
258
218
122
227
183
217
255
187
241
146
183
194
204
190
208
173
157
176
191
239
130
122
149
189
184
168
146
210
201
179
165
301
172
218
266
201
155
259
183
188
232
238
186
217
221
203
145
160
129
190
227
176
267
176
197
172
176
210
170
264
210
236
228
202
160
217
184
268
193
309
214
202
191
173
242
183
130
184
170
276
164
167
206
129
129
225
179
198
173
185
252
221
176
181
187
235
215
146
239
239
218
204
239
156
129
177
191
210
187
206
218
269
234
228
203
180
188
201
164
129
226
173
252
164
291
217
219
176
173
246
182
238
164
162
173
183
192
129
150
187
206
205
244
147
147
187
187
243
181
197
227
172
179
147
236
214
210
231
227
164
167
221
169
203
158
138
179
180
198
206
146
261
128
173
168
115
129
188
203
171
168
197
129
162
153
202
186
178
200
186
239
129
218
188
133
221
138
133
210
200
210
225
230
168
157
167
234
115
211
211
230
173
115
227
171
265
151
168
162
180
209
202
130
228
186
204
201
162
163
182
130
192
239
165
183
206
158
195
171
155
145
146
158
173
166
189
182
202
163
214
155
217
197
208
244
194
239
183
230
166
179
176
182
156
257
159
265
129
215
200
237
176
207
168
129
155
270
171
194
147
231
129
201
222
194
217
193
186
182
177
239
157
163
225
164
160
192
197
191
179
182
173
242
179
237
190
211
150
200
276
211
211
222
209
238
174
183
221
176
175
158
240
211
252
249
181
185
258
201
212
184
184
184
221
188
166
129
167
146
210
141
224
201
185
193
213
232
180
164
189
173
176
200
191
194
272
183
169
208
141
159
130
256
199
145
222
222
238
240
176
183
261
185
234
182
188
211
218
216
242
205
175
212
172
204
146
210
283
176
211
217
168
184
211
217
129
179
183
217
167
162
222
180
133
188
263
168
210
212
143
229
225
176
258
205
129
179
195
210
155
195
200
173
211
143
146
183
221
180
217
174
235
182
115
216
143
218
208
171
235
129
145
174
212
224
150
195
162
190
186
176
241
173
179
173
183
205
188
177
216
129
168
156
129
165
173
141
184
115
296
145
173
182
195
171
182
256
176
133
242
194
169
230
168
215
204
227
176
249
210
212
209
176
199
164
210
198
198
166
246
240
163
146
190
168
205
210
208
168
184
184
146
185
199
254
176
141
204
190
176
177
172
234
129
294
179
242
205
195
128
130
209
238
155
200
179
247
130
240
180
193
145
222
177
224
179
217
146
214
230
192
173
188
190
201
143
184
264
195
195
157
164
191
133
209
182
129
223
130
190
246
227
221
218
201
172
213
145
129
244
173
280
146
164
166
300
202
186
188
129
178
254
210
246
143
192
173
173
215
129
187
173
169
173
216
203
143
206
192
143
277
237
151
183
236
230
211
263
141
176
146
232
143
178
204
192
171
218
201
228
207
173
197
239
195
217
204
205
159
221
206
187
200
143
225
260
192
218
179
213
164
200
200
170
187
155
221
259
183
217
216
229
169
201
115
186
209
173
191
182
245
146
217
178
239
204
214
280
152
157
222
195
173
145
146
201
199
130
210
161
255
161
318
237
210
191
164
236
174
225
115
162
146
115
173
161
234
239
173
170
130
192
230
198
246
146
182
194
184
210
268
164
129
207
300
146
205
239
130
143
235
200
161
185
211
179
158
222
158
167
173
210
275
176
255
198
190
210
179
115
230
182
158
201
130
197
176
146
172
202
158
228
203
155
162
259
145
172
258
217
214
217
164
199
182
152
173
202
168
178
201
214
133
185
204
274
129
198
201
204
211
186
115
303
205
182
176
193
211
160
198
246
230
211
176
170
195
236
200
241
168
212
241
207
176
143
204
211
192
200
259
198
176
146
193
256
182
206
217
238
189
204
202
241
173
257
172
176
115
178
266
181
146
216
210
183
224
209
195
191
201
218
236
185
186
129
308
173
211
160
229
278
191
264
129
143
182
222
198
223
169
202
157
176
196
239
180
179
130
246
179
182
199
204
218
227
173
220
198
235
188
206
250
179
236
227
221
213
178
130
184
179
173
186
179
256
217
239
161
314
176
164
216
179
173
204
203
187
251
235
130
147
174
276
217
204
173
184
210
214
169
240
184
191
266
122
258
133
230
152
258
212
182
168
210
210
184
180
122
185
156
146
189
218
115
166
217
133
201
183
130
182
229
204
210
239
183
224
205
197
226
188
244
208
163
144
169
145
168
184
203
174
162
129
146
186
298
186
176
212
181
138
230
188
162
239
174
176
244
191
177
129
156
129
211
151
165
280
203
151
189
214
147
158
172
274
197
146
209
200
238
253
185
167
119
148
146
225
166
219
240
173
217
146
182
202
268
212
158
202
171
151
162
129
174
186
143
206
242
288
202
234
202
211
229
146
194
173
178
176
189
185
202
169
169
178
203
143
221
164
214
182
169
173
200
179
176
197
208
217
182
188
173
227
155
169
158
141
230
161
200
172
182
160
129
219
201
191
129
122
235
199
219
204
237
196
212
129
151
178
195
146
229
242
184
168
173
130
130
183
159
145
270
146
164
162
169
146
231
198
130
183
217
153
130
148
156
209
222
303
239
242
180
146
169
296
202
197
176
175
129
294
167
217
205
201
206
199
240
130
195
209
175
146
238
164
211
180
222
176
144
178
150
236
201
225
183
168
174
168
249
166
263
220
210
276
161
199
187
228
130
263
238
221
166
129
143
181
182
158
160
167
130
274
254
186
149
180
211
194
242
204
167
162
255
162
259
155
171
264
194
130
204
248
133
230
234
143
188
245
215
190
264
219
196
182
204
145
266
204
133
179
203
187
164
162
169
246
157
209
155
180
206
168
204
276
195
176
246
206
152
138
216
246
189
177
186
186
138
221
166
198
153
130
133
180
130
202
195
173
236
204
283
168
238
146
176
215
203
259
144
179
212
150
247
201
230
146
180
185
146
222
143
180
186
220
129
122
194
171
217
206
155
176
173
133
164
164
130
186
235
230
257
188
211
191
164
237
214
297
173
188
175
255
196
130
155
194
217
218
145
204
188
191
181
171
173
294
165
129
203
158
202
161
204
255
129
200
129
166
192
160
188
264
184
185
186
194
231
195
169
146
175
176
170
146
183
202
185
146
169
204
183
227
181
158
269
145
222
206
225
155
129
234
130
127
133
179
182
166
201
278
130
130
229
186
301
129
181
231
129
162
156
133
169
209
238
240
173
130
151
133
182
156
210
180
185
165
216
216
271
156
183
225
184
143
145
256
187
141
265
129
146
164
229
235
230
143
242
168
204
198
200
202
222
222
163
130
190
176
162
184
257
172
191
175
191
195
229
171
266
219
129
173
201
191
181
222
221
257
232
115
192
164
138
267
193
129
160
209
184
189
204
187
204
159
233
211
246
205
218
232
133
164
176
222
184
194
179
145
191
204
130
164
161
190
231
130
198
204
202
182
146
203
229
210
206
210
239
198
261
179
200
189
174
234
122
208
164
186
149
216
155
159
129
194
204
168
195
220
182
241
176
239
173
143
161
183
201
181
264
184
221
184
158
261
183
162
208
132
166
213
178
166
204
130
164
162
229
143
184
184
230
173
180
294
203
173
262
166
172
129
146
143
190
240
197
147
155
173
146
247
208
222
145
204
158
179
291
129
158
215
183
236
201
181
210
204
176
189
231
141
231
208
174
196
179
229
214
223
165
192
201
219
183
184
141
244
171
156
195
169
130
201
245
178
158
176
130
145
171
187
155
197
174
255
168
247
209
213
180
210
182
237
247
176
183
180
164
236
204
228
129
161
161
143
173
153
164
177
188
146
176
194
230
222
164
231
189
213
164
205
159
164
192
160
241
173
299
130
247
203
183
226
211
177
158
179
183
200
228
173
201
172
185
176
158
178
173
219
162
185
176
173
205
226
158
198
164
143
217
209
146
225
169
205
222
185
129
176
230
162
145
227
176
201
251
204
130
188
160
173
154
240
230
160
201
208
246
193
132
211
207
201
164
231
176
222
199
267
242
227
229
146
184
179
161
246
214
201
115
259
146
130
208
203
229
150
217
218
192
169
228
146
261
217
191
171
246
223
173
324
200
199
243
166
173
162
195
278
198
151
200
167
234
162
173
206
211
175
176
168
122
133
200
193
146
292
281
151
129
223
149
161
133
167
168
189
146
213
129
138
197
182
166
195
201
181
146
183
274
259
210
188
166
134
162
180
132
210
206
239
189
228
260
191
168
187
129
261
115
204
179
274
205
141
225
227
158
182
214
130
222
173
129
199
185
186
199
189
205
185
173
162
265
122
130
160
183
133
218
178
228
216
184
218
195
173
211
211
130
212
185
265
233
184
203
162
223
205
183
194
226
157
115
195
162
221
230
167
162
236
145
240
201
230
225
154
162
194
173
214
146
254
166
156
146
182
164
220
190
173
169
200
210
236
183
173
130
205
210
233
146
173
238
192
210
192
129
215
201
213
256
177
173
176
183
204
202
215
161
230
128
147
217
119
204
192
207
184
239
211
238
262
158
168
259
190
173
210
200
176
200
200
207
187
236
218
191
259
178
157
146
209
170
259
211
129
183
211
206
214
173
178
167
148
254
217
211
145
189
214
188
168
174
262
173
185
179
179
176
220
213
173
173
249
182
184
216
244
238
261
176
133
192
225
173
187
151
183
189
177
201
133
216
212
145
157
197
182
227
219
211
258
201
151
282
204
115
223
206
222
188
169
202
225
158
179
130
258
185
129
212
199
247
266
168
191
179
290
168
211
160
204
129
231
192
162
172
189
304
212
176
211
130
206
130
172
192
186
210
224
212
173
184
204
206
150
192
168
180
129
168
212
265
190
200
130
170
215
206
164
181
174
221
176
149
240
129
159
240
176
233
184
266
230
210
195
215
162
151
247
155
222
168
173
254
202
158
176
230
140
200
129
143
195
164
173
161
217
188
152
255
211
130
228
122
221
194
229
189
184
160
162
164
146
215
195
174
164
133
115
206
129
162
189
201
285
155
270
198
186
199
236
158
179
216
231
145
129
211
232
188
189
182
271
195
150
335
248
266
180
244
179
239
143
163
144
209
172
176
234
130
233
170
191
200
176
115
211
210
201
190
180
274
206
172
202
169
129
202
173
194
176
173
232
202
131
200
268
186
256
217
129
206
169
185
181
197
229
181
158
243
182
214
230
192
297
159
173
153
230
170
278
184
216
129
204
190
212
227
228
206
247
182
215
176
186
161
162
179
130
228
132
173
133
204
147
235
204
191
186
175
211
211
220
119
200
193
197
161
143
189
129
261
201
166
217
174
115
201
186
261
198
176
190
129
230
238
138
216
257
182
132
241
173
182
129
162
194
189
211
145
264
129
221
230
146
174
245
168
222
236
214
167
130
210
282
245
162
147
175
168
187
141
187
173
146
173
230
183
200
202
206
187
165
162
196
164
242
166
171
206
164
176
195
244
200
252
163
133
156
210
168
219
282
183
162
173
237
153
184
129
169
130
190
210
224
162
141
183
162
191
177
237
130
187
176
263
204
156
179
217
201
222
198
252
206
203
210
209
158
197
162
236
149
162
192
183
119
213
230
169
150
189
186
184
201
301
322
191
179
200
155
264
225
234
167
239
207
161
178
243
147
158
129
252
202
174
244
181
184
250
178
204
184
145
191
239
206
237
216
162
201
148
164
173
183
234
162
146
261
212
229
200
130
197
299
156
176
181
202
143
145
188
156
155
182
172
230
178
256
278
138
251
236
173
146
227
187
140
152
201
260
198
201
130
181
201
146
183
186
198
203
247
184
214
203
209
160
229
193
238
179
184
177
173
247
227
185
226
256
217
226
222
146
179
164
156
210
166
235
133
246
186
146
165
130
139
200
176
300
192
217
180
202
173
146
195
194
185
168
180
115
181
129
169
191
168
163
212
201
130
204
178
157
191
191
176
224
146
130
175
241
149
206
156
171
155
208
141
197
229
206
162
199
180
216
130
152
146
153
197
262
146
222
154
145
133
187
129
182
178
158
210
176
169
217
226
143
214
209
160
228
235
146
184
268
141
249
224
237
146
248
227
192
248
214
236
210
115
168
173
156
164
185
185
164
192
145
129
185
209
188
269
230
171
193
115
132
195
191
188
115
273
231
210
247
129
236
216
213
204
145
191
149
179
193
202
216
201
153
170
210
129
164
216
176
200
206
240
173
221
242
182
189
173
234
208
130
229
191
232
257
264
202
130
201
218
179
211
168
130
129
185
174
229
223
176
191
230
160
202
146
251
207
181
211
236
247
182
186
197
130
180
145
201
187
187
217
233
173
211
195
176
181
209
151
215
234
209
149
191
219
173
158
211
205
184
133
239
199
252
184
146
143
175
255
157
200
199
244
238
200
176
179
217
236
233
204
181
210
168
191
176
220
217
191
226
161
231
210
184
189
215
165
162
230
255
201
215
229
217
178
185
163
143
179
130
256
215
211
138
237
169
212
192
193
225
244
171
214
164
181
226
183
156
201
213
205
187
174
196
185
204
208
155
252
274
195
153
181
210
150
171
198
206
173
153
168
210
190
172
150
264
201
303
226
201
145
174
128
201
227
165
146
192
263
206
180
191
195
190
258
202
233
164
146
147
169
182
180
261
219
162
222
295
206
182
133
201
179
182
210
150
162
162
145
130
225
194
212
174
262
184
242
202
129
207
152
201
145
244
212
206
210
217
199
147
168
191
210
222
158
153
184
173
204
371
217
292
179
224
176
258
156
179
146
214
158
195
210
199
161
157
211
200
193
173
200
115
146
181
143
229
130
180
155
145
191
224
162
216
176
183
199
273
239
172
173
227
160
130
201
216
235
188
130
202
162
193
203
180
179
182
145
227
157
189
244
186
158
200
145
133
224
235
176
130
208
143
188
168
173
156
130
115
182
133
243
186
180
173
218
210
256
155
183
144
173
122
182
232
174
187
152
235
211
221
233
236
204
231
242
171
240
143
160
217
183
184
217
144
128
176
146
203
199
238
128
207
222
182
133
210
173
246
214
192
158
217
179
182
244
204
184
143
287
210
206
143
236
176
176
179
208
182
231
215
210
210
206
204
174
233
211
189
141
202
297
264
209
196
201
275
239
261
162
177
176
130
176
162
218
130
233
250
173
184
160
185
188
222
204
192
259
179
185
301
145
198
158
201
192
189
162
211
220
182
181
211
204
210
290
213
204
181
205
231
202
213
168
122
157
233
194
169
247
209
187
176
179
192
168
191
165
196
162
262
206
221
218
204
182
158
181
248
261
263
181
176
206
173
206
256
145
146
182
239
130
209
191
209
146
178
235
146
198
185
160
115
212
166
168
188
231
257
210
179
182
200
175
189
192
145
170
202
173
271
144
214
130
182
146
221
129
217
228
277
208
168
143
193
146
194
178
226
314
206
164
182
244
217
157
122
165
169
155
194
208
162
195
130
187
183
185
237
185
176
176
199
173
145
164
169
203
231
184
222
234
149
175
176
129
230
183
173
156
204
225
200
201
173
174
200
192
131
164
240
239
211
158
201
197
173
178
183
179
189
169
164
201
162
145
230
195
244
331
146
241
151
173
203
150
214
204
141
292
179
204
187
164
204
145
192
155
194
218
199
237
203
300
179
256
195
205
264
150
182
166
210
122
194
163
216
182
183
143
179
155
133
202
129
212
229
226
182
239
260
242
156
217
178
219
145
249
204
188
174
275
239
276
235
281
169
225
184
256
202
176
226
186
146
164
220
217
169
168
210
283
264
226
210
129
170
201
235
164
215
209
187
179
175
173
186
215
211
231
162
207
218
225
230
211
278
228
236
202
143
178
202
150
251
223
183
161
205
188
217
143
173
216
178
148
198
200
180
254
254
256
260
245
164
217
192
192
221
173
228
130
188
256
217
130
210
182
185
185
150
239
227
130
217
199
202
210
172
214
204
217
217
180
227
182
247
189
182
222
157
218
169
173
206
202
150
217
183
202
169
184
168
173
206
240
224
176
145
239
138
202
217
181
174
268
191
188
254
164
201
204
200
145
130
205
219
201
207
204
193
181
168
174
155
177
163
217
225
232
162
222
214
180
173
210
184
174
173
198
179
172
162
159
217
239
225
164
255
238
258
174
129
225
159
208
146
222
218
263
221
198
193
249
179
197
284
183
164
156
131
214
181
192
238
171
253
230
173
157
204
191
191
174
204
211
133
217
155
191
184
226
197
257
212
202
145
217
182
184
200
215
132
173
191
130
166
191
166
284
228
164
181
184
228
119
250
219
217
195
209
162
244
194
217
145
180
144
186
186
176
188
204
115
181
129
222
173
138
146
176
129
173
210
233
198
130
204
212
173
190
204
242
188
157
178
217
196
231
174
170
119
143
156
145
209
146
191
183
129
213
195
249
176
129
183
184
175
163
130
251
217
176
141
162
146
187
267
229
133
183
254
193
151
166
195
174
181
205
202
213
173
179
211
180
195
180
162
174
160
203
179
173
217
173
173
204
216
182
264
191
263
176
158
129
202
203
115
149
204
235
221
184
143
210
168
182
207
210
287
158
205
176
168
205
182
166
257
214
156
146
208
263
146
173
180
145
129
214
191
176
209
133
221
162
211
203
115
146
225
190
235
153
219
231
230
221
201
201
115
164
115
115
203
184
202
207
129
158
272
193
146
188
219
162
143
238
210
192
149
305
171
229
204
188
188
291
161
200
155
195
151
211
115
167
146
161
176
179
261
173
173
193
215
215
210
122
168
277
200
225
216
189
212
169
186
186
133
143
201
155
287
184
195
255
195
224
176
194
210
159
157
264
207
227
250
227
177
270
166
273
211
168
254
178
155
150
182
168
223
133
130
173
179
171
160
213
279
130
210
283
141
173
158
190
231
228
162
178
192
205
166
203
146
189
205
211
182
145
168
130
195
210
166
217
217
186
167
176
182
217
129
202
164
179
238
168
191
183
264
173
181
172
173
209
269
202
129
184
201
190
216
199
203
176
202
272
180
132
172
223
192
209
179
223
234
145
130
208
189
201
159
181
189
208
179
173
156
191
138
179
238
171
164
173
173
179
193
150
228
184
178
207
255
179
173
199
226
191
195
228
204
211
161
175
202
192
210
198
213
204
238
210
164
210
184
237
146
130
287
191
145
214
133
259
208
215
183
171
173
175
158
191
161
221
158
158
161
129
200
145
233
242
201
247
155
240
264
222
152
204
201
191
200
162
183
226
129
235
214
281
146
173
204
194
208
183
257
194
145
193
129
184
211
237
133
176
176
167
217
133
218
146
211
157
156
195
133
178
162
145
145
285
156
164
266
146
122
175
201
160
183
239
206
187
169
223
176
138
221
198
145
224
185
201
158
335
173
236
147
186
173
133
244
180
183
263
197
191
146
184
164
219
129
162
228
234
173
229
211
164
171
305
189
151
245
184
294
191
204
211
216
158
223
285
129
267
184
129
228
225
296
153
175
193
158
226
204
191
239
200
191
190
291
158
308
201
180
146
176
188
178
262
182
173
215
209
198
187
229
158
218
201
132
229
248
173
242
173
201
188
158
242
228
210
262
181
163
189
164
151
146
294
204
192
222
255
189
184
218
182
204
130
193
176
181
262
307
158
212
168
146
150
184
195
170
235
193
146
168
192
146
192
242
182
210
195
188
183
210
183
201
176
192
186
211
155
189
178
200
209
158
174
236
188
244
130
186
260
227
219
176
180
119
238
164
222
204
146
169
212
179
152
215
178
226
129
162
158
129
206
194
204
221
225
204
130
263
253
151
171
252
211
197
174
213
204
155
230
210
227
171
173
201
267
196
219
264
238
217
217
128
229
176
335
211
210
195
204
130
201
241
236
207
197
194
129
176
147
210
202
176
254
188
202
159
164
234
204
218
192
130
171
210
178
182
215
183
179
248
172
156
174
176
243
133
205
162
183
146
146
181
170
202
266
168
129
133
190
184
301
182
185
216
192
204
173
130
146
185
185
179
130
166
230
146
183
262
244
259
238
235
208
202
206
184
210
152
189
146
144
151
133
193
181
151
183
252
197
230
190
210
183
218
222
130
138
181
130
217
185
204
225
268
172
193
166
217
146
168
201
182
180
239
172
129
176
244
129
213
273
229
192
130
160
188
161
256
161
186
241
176
185
211
303
176
260
224
169
228
247
204
258
178
181
189
143
224
233
221
145
186
210
166
226
176
241
160
228
231
238
158
238
245
210
189
201
245
225
230
130
199
203
192
205
206
259
169
218
155
129
168
168
115
207
229
161
129
182
190
176
259
222
211
260
240
133
237
220
143
209
170
242
173
188
218
143
234
233
179
160
200
207
169
226
230
146
261
202
175
162
149
149
201
225
161
173
164
182
173
173
157
183
150
218
181
184
173
130
130
229
173
205
167
187
180
182
158
246
202
263
129
132
204
182
216
166
246
184
130
200
130
157
168
175
143
176
252
261
250
206
145
148
156
203
232
167
258
208
145
153
247
255
267
243
206
288
215
241
212
204
169
274
181
179
194
133
236
130
246
158
160
145
158
300
202
204
143
229
202
204
193
184
151
145
164
128
141
230
191
203
186
202
232
146
155
278
236
173
184
169
216
146
178
191
150
145
176
145
144
176
144
147
276
141
206
204
239
158
169
182
182
184
143
201
257
219
201
115
268
146
181
182
224
222
239
178
198
152
174
115
162
174
179
205
133
129
189
182
130
191
176
129
129
158
179
208
158
278
202
236
242
165
173
185
182
229
148
162
221
200
194
287
180
146
170
171
146
156
244
130
166
204
129
200
200
129
218
221
164
203
156
161
205
219
189
157
219
277
280
178
143
184
237
303
195
205
165
161
176
201
210
178
130
253
218
199
153
199
180
275
203
246
283
145
194
166
169
253
184
173
217
160
162
176
191
196
179
146
231
159
230
211
189
122
180
166
261
213
178
250
146
195
174
180
115
204
173
206
130
206
192
204
211
165
182
223
173
179
275
192
284
145
212
192
184
167
194
202
129
213
196
176
194
184
172
176
160
229
173
180
173
194
240
205
206
129
168
169
191
204
200
261
221
234
233
212
238
172
191
192
272
201
195
162
201
146
236
179
231
205
201
149
158
183
236
162
165
218
184
162
122
173
209
300
173
175
218
273
210
254
157
133
164
129
170
222
185
222
181
260
255
153
230
251
184
165
151
249
165
168
211
217
186
242
173
150
217
173
238
258
217
191
221
249
239
204
220
169
202
167
212
257
215
168
168
158
193
173
258
214
189
230
149
217
185
254
145
162
180
252
239
202
183
222
161
256
163
287
227
205
203
173
191
206
184
248
183
133
162
222
146
175
130
182
157
225
218
180
166
173
191
254
191
185
179
129
176
168
133
222
162
157
149
173
133
194
146
230
146
263
194
129
201
242
201
147
226
173
176
168
129
164
147
175
234
151
241
240
210
196
129
168
159
181
133
133
230
182
188
200
176
200
176
256
224
187
210
192
189
199
230
183
174
200
234
321
191
253
209
129
212
190
115
195
247
186
249
178
201
216
173
175
131
196
244
183
175
256
167
253
215
181
182
225
188
239
265
180
245
149
115
133
133
259
164
272
230
222
155
130
186
189
187
157
176
267
155
211
200
213
301
221
176
310
229
231
194
225
164
189
200
189
175
165
180
193
255
200
190
187
213
169
167
182
200
172
217
214
156
211
182
241
207
272
225
174
143
201
210
145
206
174
177
217
238
129
283
280
162
173
227
273
188
209
200
186
262
231
201
185
179
191
133
199
173
161
133
217
129
178
130
210
200
229
176
133
188
206
162
156
223
155
215
158
204
200
168
143
184
205
203
235
133
244
219
141
188
223
185
184
233
175
232
185
191
158
191
218
200
180
180
215
207
252
208
179
210
251
115
176
146
200
129
173
210
229
193
145
130
210
195
155
225
190
240
158
217
252
162
198
184
180
217
187
211
182
238
146
197
163
214
185
129
206
229
203
182
211
188
183
217
306
176
162
176
209
238
129
210
159
185
218
242
191
206
202
264
219
187
229
170
129
130
235
173
199
200
231
277
129
146
130
231
194
196
130
155
214
202
300
162
180
173
242
203
239
201
211
192
184
143
161
157
166
172
146
249
130
214
203
172
254
173
178
182
182
241
185
149
133
200
133
225
184
227
240
214
239
129
195
133
232
138
129
259
173
287
209
171
191
269
223
182
206
173
157
146
146
133
122
250
230
171
202
195
147
150
173
176
236
160
163
183
146
179
211
159
145
235
228
240
167
180
130
210
207
179
217
185
212
143
149
145
244
214
129
164
246
187
230
164
221
155
150
168
194
185
252
155
235
204
179
158
204
179
199
191
176
211
249
216
180
285
155
196
162
185
129
158
263
204
226
204
160
172
204
156
198
193
129
151
193
180
141
162
161
145
205
176
183
272
146
217
230
119
187
212
226
209
194
155
174
141
236
201
129
214
185
222
177
191
254
222
198
216
217
201
176
129
206
146
211
130
210
176
201
174
217
228
191
200
236
214
153
183
205
155
217
266
186
155
188
202
169
122
176
129
264
184
182
143
239
243
204
210
193
146
176
187
198
192
200
187
129
157
230
206
227
182
201
155
168
183
263
158
224
211
217
194
189
174
175
168
158
195
191
187
141
176
194
156
149
162
212
204
168
182
212
145
173
195
180
236
130
210
146
129
229
157
129
194
132
171
129
160
168
188
130
229
212
192
179
173
194
167
164
218
171
179
143
184
201
153
167
150
133
159
243
217
122
231
176
130
169
187
130
191
130
185
221
203
146
131
130
300
191
129
200
238
174
224
183
188
173
217
195
146
210
129
238
243
180
229
190
178
190
238
214
245
149
332
122
206
167
189
231
130
230
218
141
233
210
285
145
179
202
236
192
172
264
203
199
146
178
146
194
130
232
211
229
176
143
234
210
183
156
211
173
228
162
166
183
195
204
194
223
130
204
128
227
151
239
173
202
130
211
242
138
252
187
221
218
210
200
189
155
168
277
157
131
145
152
191
252
146
209
200
207
184
200
188
189
174
176
206
158
307
230
156
236
168
182
169
130
197
157
212
214
262
184
129
199
244
173
226
193
211
177
209
184
217
173
201
193
178
214
217
144
184
212
190
133
186
200
150
204
222
279
148
257
159
191
214
232
264
131
231
156
146
267
146
224
155
169
231
215
182
180
129
129
195
225
179
171
236
192
203
175
237
230
211
129
172
152
209
201
186
158
201
218
122
219
239
230
213
217
183
239
129
191
130
210
211
230
231
206
173
174
173
204
204
173
261
146
164
280
210
238
206
180
164
230
180
179
156
303
256
189
197
155
183
251
256
274
158
188
164
146
179
176
145
146
230
172
210
191
130
115
239
212
252
185
184
191
231
178
206
202
213
166
181
146
183
173
176
157
181
164
164
209
218
176
243
146
146
173
193
185
232
256
129
178
150
130
231
162
146
210
189
176
232
162
143
204
199
212
206
173
261
182
181
130
181
204
201
328
299
180
146
207
161
130
226
133
214
210
204
189
176
180
153
264
130
183
215
277
236
222
145
254
200
180
227
265
179
238
164
305
210
146
223
183
169
176
180
199
119
129
129
242
152
198
173
182
181
231
210
227
173
218
220
150
188
201
194
209
178
199
177
203
146
246
140
204
176
200
216
178
202
186
209
151
155
162
212
174
256
129
190
188
179
184
158
210
130
206
214
235
209
219
176
158
204
158
194
206
191
176
209
245
187
143
163
145
238
169
222
175
204
285
146
158
185
152
145
129
128
296
174
227
183
244
194
293
189
214
227
181
199
133
153
145
208
193
191
146
168
210
146
217
176
156
158
208
210
204
211
169
174
210
179
199
194
212
249
217
208
236
191
220
188
132
228
250
187
190
162
179
146
133
191
217
170
182
225
182
155
254
238
230
150
168
130
158
168
230
178
222
115
255
176
189
130
122
260
177
235
143
146
128
173
221
149
231
304
200
133
217
191
184
130
205
176
210
190
217
240
191
176
228
188
130
143
146
259
130
164
204
138
130
130
129
288
182
264
201
248
115
115
242
184
194
201
149
145
218
290
248
130
230
206
161
211
129
200
203
130
217
158
163
129
185
204
270
191
207
158
206
130
283
226
192
250
197
151
130
147
200
227
189
237
146
160
247
226
239
201
202
129
170
241
177
138
200
176
178
188
200
208
193
251
153
258
200
188
256
176
192
156
217
150
186
173
158
242
146
184
178
187
205
253
204
201
203
283
133
230
230
168
243
210
186
217
130
192
171
179
211
245
200
168
232
187
182
176
151
151
158
217
143
264
239
183
184
164
190
193
189
250
212
146
268
183
182
303
184
215
164
190
164
164
229
202
206
162
183
208
129
197
130
173
248
204
174
215
250
169
143
156
239
129
183
173
145
130
189
252
138
198
130
153
188
146
130
238
190
153
176
211
211
249
204
207
251
169
408
200
239
155
155
173
176
253
197
225
164
164
179
201
129
224
195
221
165
230
220
204
250
269
173
265
168
182
115
188
243
239
219
211
210
219
283
173
210
212
173
155
231
130
164
156
205
166
174
176
156
210
186
162
237
141
145
129
145
179
188
210
182
200
215
129
223
250
138
133
167
216
183
156
188
171
155
204
176
216
130
202
115
181
172
141
180
166
176
229
173
287
238
133
221
145
227
246
200
132
220
166
164
190
210
130
144
201
202
160
187
194
253
213
173
194
173
283
204
145
244
200
155
219
162
162
179
238
164
180
229
162
236
248
176
202
179
186
174
260
130
143
152
176
146
230
155
188
147
146
241
129
161
181
246
130
282
179
211
150
210
191
143
301
260
186
247
247
189
179
179
268
189
264
278
205
165
221
156
159
161
297
292
168
230
254
230
148
146
249
237
187
246
184
204
152
268
130
244
198
179
164
261
236
246
176
221
202
213
115
219
256
243
239
133
216
261
285
178
172
210
171
196
146
159
158
164
146
181
188
162
146
193
130
166
130
164
228
214
204
210
224
164
237
130
162
211
156
211
190
181
195
175
146
206
146
187
143
146
146
206
150
174
164
208
296
193
280
230
211
177
204
184
211
166
235
179
129
211
209
204
162
204
236
165
224
157
183
180
221
236
242
192
236
184
153
161
175
173
143
182
215
206
182
227
191
212
238
235
187
209
176
234
156
264
176
173
220
200
211
219
173
246
202
202
214
171
156
181
129
222
226
173
143
225
129
213
146
230
130
203
179
194
204
258
173
196
158
204
239
247
171
191
227
191
173
192
191
191
216
166
192
156
229
184
201
215
179
210
201
156
143
169
199
238
226
204
191
152
238
115
186
178
182
192
201
214
239
164
205
183
188
172
146
155
203
205
157
145
181
149
152
169
179
260
146
158
146
223
145
150
191
196
238
258
162
171
185
212
155
269
234
166
239
169
230
177
181
133
173
252
164
213
251
275
182
146
178
151
133
147
222
160
133
156
222
173
179
190
172
231
176
260
217
167
236
173
181
176
133
231
143
194
157
143
162
181
162
183
192
263
172
146
193
279
130
174
193
281
212
231
165
194
143
138
202
184
183
150
259
183
159
190
179
202
173
206
234
173
196
197
201
183
232
130
143
185
175
213
138
204
146
189
190
174
207
156
202
183
122
258
154
155
203
266
221
186
264
226
173
229
179
129
176
204
237
204
179
246
173
181
204
176
172
173
183
158
202
229
189
146
202
194
122
214
161
157
164
204
236
188
190
155
204
186
149
130
237
214
171
236
146
184
170
167
122
183
212
217
214
217
170
215
166
171
206
246
195
210
217
230
145
164
161
227
190
268
222
217
266
259
187
248
176
155
261
228
170
173
169
268
200
167
198
258
162
253
219
255
191
115
274
179
209
174
191
166
174
171
250
185
182
200
143
169
145
246
302
143
205
195
212
146
262
268
176
183
115
242
212
162
176
182
161
286
181
173
146
218
207
182
175
217
179
233
185
270
202
193
168
200
146
245
130
300
214
162
155
184
237
178
160
162
160
230
204
239
191
204
173
138
200
178
168
115
161
133
144
200
198
227
199
199
220
230
184
224
234
173
169
168
173
166
204
189
129
198
206
167
164
169
257
146
145
203
222
175
217
217
217
145
287
129
204
158
184
172
172
115
206
173
210
129
234
194
129
210
203
130
186
157
200
202
166
200
130
239
115
203
195
145
129
184
129
166
183
169
170
141
152
203
190
265
161
211
202
236
189
221
115
252
191
255
195
166
176
218
182
220
214
211
146
151
215
191
179
173
214
210
191
195
129
190
143
260
183
210
155
214
183
129
145
143
115
225
180
216
173
200
155
193
173
208
183
238
183
152
227
218
189
188
221
176
210
225
191
148
131
146
168
184
200
155
204
146
176
219
160
173
180
240
129
202
138
130
263
222
172
161
228
190
150
180
207
205
173
191
184
210
210
177
292
168
206
184
211
205
227
133
239
176
185
200
173
221
168
168
164
157
200
243
178
241
273
209
194
146
170
212
191
145
230
164
246
169
181
227
146
145
166
224
173
206
210
173
233
149
210
263
192
161
233
225
168
209
158
193
214
158
216
204
141
204
193
188
164
180
206
201
252
155
214
300
230
256
232
186
176
204
217
168
171
202
206
204
160
161
184
180
236
130
239
214
173
156
129
224
122
182
217
194
230
183
283
210
206
171
155
133
176
248
210
195
145
229
210
129
173
221
150
198
214
178
222
180
213
162
190
217
198
166
239
173
183
217
162
240
191
190
182
202
146
206
236
275
164
247
211
197
143
208
191
192
129
219
185
153
206
195
162
184
204
207
162
218
143
210
207
129
239
242
183
210
129
189
201
177
204
205
160
214
178
155
169
179
215
161
217
146
217
182
182
210
130
183
210
170
216
151
182
186
251
266
175
138
182
236
302
133
203
204
249
143
166
173
181
129
129
173
227
247
176
225
184
173
204
238
214
156
239
209
204
235
190
204
213
129
202
146
143
133
189
192
168
180
210
179
176
204
211
173
170
202
176
228
172
239
164
244
204
165
168
184
286
214
217
266
181
179
235
201
151
200
173
155
187
222
176
221
165
146
200
197
295
168
259
156
226
219
191
200
211
169
181
145
155
200
193
194
248
213
184
115
199
261
129
237
178
236
221
244
161
199
251
239
168
189
130
184
173
129
146
195
231
195
209
171
129
130
286
182
196
133
229
129
194
162
167
176
162
208
205
185
236
166
168
285
173
172
176
157
200
201
170
168
247
295
179
141
269
202
173
162
182
185
217
225
177
239
155
156
188
192
212
228
179
248
208
217
201
162
181
206
208
204
172
170
207
195
200
146
185
185
209
169
247
155
187
187
233
183
155
204
182
189
207
132
211
183
217
158
164
230
247
191
199
202
213
236
129
216
211
175
223
202
204
227
168
170
176
198
185
130
273
238
145
230
164
191
287
212
186
180
173
186
210
217
228
260
259
130
205
168
244
146
176
129
210
176
210
183
166
201
246
163
274
201
358
162
221
173
229
168
242
150
115
205
173
168
195
219
210
198
206
139
230
228
158
230
235
184
221
162
179
201
162
195
188
150
210
130
232
182
202
245
146
130
173
172
129
234
146
184
180
173
217
239
164
209
183
178
303
204
225
164
173
172
115
169
184
201
173
129
216
241
226
145
143
137
185
228
132
306
164
255
138
176
226
200
267
166
221
173
264
176
270
187
309
209
143
146
130
179
176
209
146
239
174
162
211
228
201
162
176
192
179
138
160
191
129
246
231
192
252
143
143
202
211
169
184
204
162
183
238
259
217
236
188
150
176
239
151
195
195
129
160
228
190
146
164
174
210
168
222
315
164
281
187
256
201
231
207
146
207
246
193
182
216
187
186
211
253
228
263
179
181
192
162
217
211
191
197
236
217
176
152
175
157
168
315
179
173
236
187
176
234
195
182
146
223
158
164
216
206
225
122
210
183
241
152
170
150
130
146
150
188
237
214
217
201
187
133
219
170
243
205
115
212
185
180
211
252
179
133
197
264
157
218
178
178
201
144
211
205
261
202
207
172
226
191
227
173
217
198
130
141
216
200
260
266
141
269
188
171
211
204
211
172
206
264
204
151
270
209
157
149
146
226
210
143
205
115
200
217
216
210
211
195
231
222
223
204
189
217
158
167
152
191
205
197
160
176
129
194
189
197
287
234
129
146
202
236
232
145
168
243
225
201
158
199
233
176
263
183
146
259
225
200
145
164
168
181
188
168
247
130
233
197
167
260
188
259
224
202
206
247
129
157
200
204
219
130
209
202
145
146
145
166
183
204
184
176
200
220
266
189
236
205
162
208
191
147
155
174
194
201
214
221
162
130
130
207
162
140
202
196
253
261
129
180
206
172
166
193
130
158
225
144
130
176
164
178
230
190
164
201
204
155
196
168
261
173
204
168
220
166
156
247
130
176
178
184
184
171
189
277
175
133
181
182
242
173
180
193
231
235
151
169
174
221
162
264
206
160
204
138
150
217
204
179
173
180
220
182
228
172
249
191
151
207
179
132
143
274
182
129
173
163
202
185
147
155
168
185
185
166
271
178
265
206
151
184
210
201
160
224
166
221
155
202
155
193
173
212
164
254
155
144
197
230
225
240
225
173
146
151
240
176
236
226
207
285
227
143
156
197
173
150
164
166
219
143
160
210
162
201
188
241
205
146
138
131
168
152
129
250
202
202
146
173
179
284
210
260
246
256
199
168
171
129
190
184
178
143
138
141
195
179
210
210
158
305
194
179
208
235
168
211
179
255
164
245
266
187
248
166
171
191
210
129
224
177
218
226
184
235
181
263
178
215
129
181
210
184
182
179
201
217
182
143
199
130
164
219
174
166
146
223
146
176
189
204
163
171
227
157
287
152
211
130
208
148
267
206
211
206
166
170
149
184
183
204
192
280
187
211
197
144
199
173
178
210
193
146
230
129
176
230
146
238
143
197
248
230
239
129
166
138
211
202
243
224
222
202
252
185
240
187
238
185
150
281
174
157
219
176
191
129
225
204
161
198
214
188
202
232
266
271
209
236
234
177
222
230
240
173
200
130
184
158
174
115
194
155
190
157
129
182
229
150
263
240
173
217
193
173
204
242
206
208
203
203
204
232
246
146
245
235
248
184
130
144
168
173
149
176
166
217
129
220
238
253
231
205
155
230
222
238
252
220
203
233
187
191
171
211
230
261
189
244
217
146
197
130
162
217
182
210
212
195
195
173
303
186
138
203
239
182
179
160
216
236
248
256
212
195
173
182
176
236
173
209
174
187
191
189
129
176
200
230
184
175
173
183
187
201
129
291
180
212
264
200
156
258
184
158
230
162
197
149
236
261
204
176
206
206
179
129
188
204
155
153
255
219
176
211
158
234
143
163
222
192
230
184
214
129
193
129
183
183
218
191
184
145
228
191
208
173
180
197
150
150
192
145
133
222
217
146
174
288
175
173
176
186
179
129
181
184
145
177
241
169
173
211
178
164
130
184
164
130
189
321
226
129
146
200
145
176
221
232
193
145
265
178
205
221
204
115
239
188
186
184
194
173
155
211
188
175
202
213
180
234
149
146
216
247
197
282
129
220
197
224
283
175
225
178
228
224
170
130
173
174
267
254
204
202
299
129
231
176
173
180
247
209
246
209
185
129
210
169
204
129
122
222
170
146
129
168
204
259
216
182
187
180
133
191
216
163
145
191
146
115
198
190
156
214
225
216
199
204
228
247
130
204
146
210
201
132
225
145
202
146
206
208
213
173
181
163
201
129
204
146
146
144
241
269
176
230
160
249
198
185
186
210
247
144
210
217
143
213
168
197
251
133
201
249
271
202
231
184
172
200
145
156
225
228
189
166
244
151
201
130
173
179
184
162
265
190
129
265
146
141
241
162
156
183
200
199
188
239
169
237
204
204
258
185
177
238
203
171
145
173
202
191
130
182
199
206
181
178
173
195
129
188
181
185
200
187
202
191
146
130
174
175
146
244
206
145
176
204
141
191
194
160
241
158
160
205
173
130
179
157
122
182
169
146
198
133
143
168
171
143
210
184
191
169
235
130
150
249
162
236
239
178
219
216
156
164
208
204
145
286
209
146
242
210
247
173
155
178
210
178
200
133
141
198
191
157
176
278
173
210
197
146
130
183
164
227
176
201
198
173
210
179
263
191
152
173
179
200
129
218
225
230
153
182
179
195
217
165
211
256
146
152
164
265
173
215
132
176
155
168
214
179
192
188
176
217
261
180
146
239
208
152
184
161
172
204
188
146
204
257
173
129
204
166
210
150
206
211
182
201
210
179
145
175
166
224
194
217
156
182
192
225
184
224
182
165
157
279
185
138
248
173
180
166
183
224
179
157
223
185
185
176
191
222
210
191
168
227
210
149
185
200
200
221
185
193
192
179
204
266
201
206
180
217
207
171
173
242
203
204
150
200
145
312
218
182
200
164
165
178
200
211
186
143
180
168
206
146
204
202
162
200
191
275
173
185
180
173
182
187
335
178
180
238
211
244
145
158
224
206
200
227
226
204
129
152
165
234
178
173
141
167
210
194
200
146
179
181
210
210
172
164
143
241
185
215
132
183
225
176
233
218
129
230
184
211
176
267
240
150
179
210
130
158
122
176
171
171
211
217
166
236
239
217
163
227
145
236
188
238
164
177
194
130
229
250
211
129
153
217
162
184
207
194
162
212
214
232
192
218
160
166
201
211
174
185
302
189
168
129
167
133
158
176
176
227
138
146
213
232
146
193
212
160
229
191
166
173
185
263
179
178
208
305
262
129
186
234
173
173
268
141
156
210
255
259
284
213
130
175
171
198
172
217
255
182
173
173
155
239
178
211
177
192
189
202
175
172
183
194
181
176
255
176
176
173
234
201
228
180
175
264
162
133
160
211
191
190
178
218
164
183
147
146
173
258
245
217
227
201
191
282
228
146
200
166
204
180
194
168
176
128
150
178
193
157
162
217
222
203
146
168
156
280
164
155
170
152
174
152
161
204
122
171
130
171
204
206
187
233
230
188
199
143
188
200
210
176
204
182
130
228
179
181
173
185
184
133
178
146
159
204
194
204
184
213
179
258
205
214
236
212
143
206
159
238
210
225
173
242
218
204
145
179
203
189
115
201
162
194
146
269
133
130
168
213
217
145
188
209
182
151
200
205
180
156
162
164
212
208
204
209
242
203
236
255
173
146
237
181
202
180
229
188
265
223
130
208
172
193
143
186
176
162
222
211
214
155
240
201
119
250
161
172
266
183
194
186
146
227
201
146
215
210
210
158
182
182
236
229
169
275
143
146
146
214
217
173
188
238
158
206
211
143
247
130
191
264
202
235
168
168
224
204
200
129
173
206
191
246
173
176
202
183
155
145
179
217
198
182
229
247
178
247
300
258
217
122
227
198
145
184
129
173
160
198
204
205
200
201
176
176
210
191
215
184
217
169
214
170
254
209
193
149
230
147
161
186
140
162
231
149
198
200
149
174
258
176
194
176
164
222
208
201
232
143
230
141
171
177
129
195
234
234
192
184
155
246
173
191
138
335
192
130
162
221
237
163
194
191
266
252
179
205
202
174
133
186
236
162
180
198
166
239
190
162
168
186
218
145
130
130
236
168
194
243
190
179
210
260
218
145
188
244
164
250
217
161
176
151
144
197
130
190
213
212
155
168
184
193
162
210
186
172
179
206
182
217
242
202
274
222
182
218
152
145
214
213
147
150
192
225
240
234
122
146
162
130
149
260
168
227
162
168
170
325
208
176
200
179
200
217
157
149
229
145
176
247
183
188
216
165
179
191
221
258
186
183
230
201
200
182
217
143
213
179
175
174
132
285
177
261
245
234
153
191
128
252
173
129
217
195
178
185
133
166
161
129
202
291
173
196
191
130
162
274
290
239
204
256
254
150
210
236
216
130
213
206
217
192
176
244
183
190
174
166
183
180
215
217
192
200
171
130
146
174
204
191
169
185
174
165
185
172
238
199
263
191
146
220
197
249
242
176
211
201
192
212
274
239
173
146
238
210
180
189
220
185
249
161
190
250
191
239
208
191
162
138
175
245
239
189
149
173
133
217
211
176
183
227
335
180
174
115
204
158
205
187
214
205
238
201
133
169
252
238
192
201
129
164
203
130
192
194
130
168
155
173
149
160
232
194
183
272
201
207
145
246
160
156
157
164
220
275
202
166
214
221
227
211
133
173
226
260
133
225
217
182
173
319
173
194
143
197
115
156
188
182
239
224
178
235
202
184
201
171
218
201
177
220
158
174
197
175
180
190
221
188
206
130
176
122
221
239
129
192
180
199
188
261
219
203
129
167
246
130
147
230
176
172
204
254
145
184
191
192
177
143
180
204
203
203
183
240
252
200
249
215
200
197
176
204
162
193
228
159
184
221
169
238
228
179
180
185
115
203
172
176
152
210
192
181
141
157
166
204
220
204
143
206
188
200
158
180
238
188
239
249
138
176
178
173
215
253
129
234
173
204
253
180
168
163
133
216
151
217
129
251
164
146
246
308
289
141
133
217
242
169
253
169
138
172
133
122
179
216
191
183
115
146
241
162
173
214
186
300
247
191
200
206
191
155
176
178
219
150
161
138
230
216
173
200
251
233
238
158
188
209
173
222
179
245
259
173
146
176
183
143
184
233
192
257
243
146
185
133
115
122
130
169
189
130
164
115
146
145
129
188
192
178
217
206
235
122
173
133
233
233
176
202
205
179
179
230
145
132
143
215
258
202
182
115
203
187
232
202
194
260
218
140
169
230
189
176
145
176
242
183
155
184
129
152
146
182
264
263
201
230
221
168
242
184
200
358
146
274
182
163
207
163
129
164
158
187
171
181
266
254
132
236
156
166
191
199
240
184
201
160
244
216
146
235
201
165
213
217
168
221
208
258
162
197
151
179
176
185
236
145
200
183
204
202
235
129
152
216
181
129
212
176
129
250
146
130
155
238
188
115
179
143
146
182
158
256
145
276
181
191
150
216
132
133
203
217
129
204
193
173
250
145
163
204
129
146
164
219
174
212
158
178
191
190
175
264
188
211
242
194
206
200
155
205
210
173
243
166
184
168
129
221
210
209
257
158
221
191
250
217
130
182
182
193
209
214
191
300
266
176
234
184
212
202
162
217
176
130
143
168
147
261
238
161
177
164
190
173
133
197
130
141
235
230
210
233
216
129
183
160
239
210
246
211
161
239
211
164
161
218
209
226
200
207
145
209
170
182
229
191
146
261
194
238
168
239
157
210
211
204
206
202
172
230
205
206
183
145
192
254
122
179
173
167
196
173
239
217
246
200
242
184
173
161
204
176
221
195
211
179
181
168
275
146
270
173
119
196
173
179
190
191
213
158
180
236
175
274
228
204
212
201
203
238
173
245
130
243
165
222
232
191
174
146
258
228
227
133
247
214
203
182
183
163
182
200
149
236
115
185
209
244
204
129
193
232
217
176
223
179
189
213
206
162
232
179
173
200
215
186
257
203
122
141
239
206
234
180
183
176
221
192
259
266
242
209
208
179
235
203
210
174
259
146
146
179
143
179
168
133
129
181
208
180
162
200
180
204
115
217
115
178
187
184
191
133
202
185
146
132
164
151
129
214
130
184
194
168
203
202
253
218
179
163
218
191
173
151
214
192
216
191
203
178
222
146
164
130
204
216
165
182
132
141
178
183
206
158
238
249
174
143
182
238
192
164
237
185
205
209
179
203
129
203
210
224
170
150
257
202
228
143
204
178
211
169
200
211
156
259
176
240
217
255
264
182
208
258
164
205
138
176
162
202
213
177
200
222
138
189
203
149
173
237
143
182
226
210
191
260
164
161
182
150
172
181
335
216
182
221
210
179
173
259
266
191
173
217
156
162
256
169
169
210
210
181
227
130
198
211
155
260
144
171
221
186
156
264
220
170
170
195
192
205
179
200
206
213
204
207
155
157
205
204
218
178
179
187
176
145
150
146
160
168
130
156
160
180
149
216
238
258
218
204
181
237
219
230
244
115
168
228
205
181
230
176
172
204
171
129
252
182
206
205
130
157
206
249
165
191
254
130
202
183
155
130
174
129
191
202
129
176
206
251
176
204
180
151
201
206
265
238
115
189
157
172
130
141
217
162
183
164
131
145
211
180
150
209
150
192
252
206
177
231
287
176
193
210
209
200
145
168
204
173
191
129
166
173
129
201
228
238
173
180
232
249
228
192
152
182
212
210
182
231
146
152
215
236
268
214
200
185
248
252
248
130
175
238
180
202
246
283
146
195
115
300
236
204
230
242
195
158
236
251
212
152
198
158
132
174
176
209
217
156
172
152
179
245
210
218
174
168
217
146
169
207
185
218
164
216
178
239
141
210
183
176
178
187
222
181
182
214
130
200
210
238
173
173
129
143
181
235
144
213
141
173
184
191
184
191
168
321
225
183
231
143
191
210
164
199
187
150
199
130
170
173
206
191
129
165
178
181
197
194
153
210
238
184
179
168
168
246
192
230
216
133
198
191
187
221
212
143
184
158
186
211
183
173
251
130
174
160
251
204
224
199
189
215
217
182
162
236
129
173
152
190
215
132
133
146
182
248
216
183
199
153
197
150
256
143
173
168
132
146
146
263
182
218
240
197
211
225
141
166
200
173
296
202
204
191
179
201
204
157
145
246
230
276
259
168
146
258
182
172
129
200
190
238
197
186
122
234
214
129
238
176
146
216
171
133
228
217
224
217
263
149
221
178
233
186
214
185
190
262
184
227
176
158
209
157
176
195
199
162
153
176
156
236
225
151
171
233
187
192
119
193
185
128
217
194
168
182
192
209
219
204
181
174
190
209
204
115
173
130
158
207
248
225
210
231
188
283
185
199
192
171
164
210
239
195
207
155
261
203
129
180
204
239
194
203
178
164
143
132
238
129
176
163
145
208
146
226
174
224
129
238
255
215
179
129
188
130
179
171
173
130
238
221
184
130
160
205
189
204
194
143
173
204
182
211
177
185
183
158
265
340
184
217
176
122
191
173
201
202
133
129
182
225
151
146
169
132
213
188
141
130
115
169
210
229
241
225
179
191
183
176
230
221
152
146
187
209
239
130
182
168
143
173
199
247
200
174
180
230
189
226
211
173
173
200
190
217
198
204
206
217
185
164
146
158
242
173
178
164
185
173
156
230
215
184
202
183
186
174
150
186
235
219
221
192
203
285
191
146
256
258
182
216
141
133
143
207
115
205
238
141
206
193
230
180
204
166
258
184
166
258
254
209
145
150
130
228
162
247
286
230
228
207
225
210
162
209
260
274
175
122
176
188
262
214
147
274
171
176
243
204
268
161
242
130
205
210
173
146
200
178
197
222
211
165
145
130
181
164
230
322
173
161
143
203
194
201
173
179
130
185
203
206
173
180
225
164
200
130
141
210
203
211
155
239
143
179
222
178
201
133
149
212
146
195
162
229
130
209
199
191
148
217
206
191
184
155
176
207
244
178
161
252
285
184
235
208
230
182
212
218
213
251
201
182
176
236
227
209
210
184
194
194
148
178
258
185
203
176
264
195
129
201
169
164
188
206
144
179
195
236
237
164
191
240
189
201
205
205
221
210
208
233
187
130
129
173
144
214
161
203
146
213
176
248
204
208
210
130
153
239
129
229
168
144
215
202
168
208
176
271
146
184
168
276
207
201
176
152
239
202
218
211
210
201
245
131
224
211
271
224
212
211
199
194
304
222
273
160
209
192
184
173
182
210
154
217
158
191
231
174
192
222
251
182
132
261
129
176
187
218
176
152
239
161
200
217
236
173
190
237
236
138
230
215
144
199
165
178
203
164
244
178
226
183
206
234
188
220
168
214
215
261
164
179
176
176
208
211
160
200
162
222
230
216
155
206
244
181
162
204
175
253
202
239
215
187
146
129
216
210
204
178
187
176
138
129
217
217
184
173
204
115
200
239
180
236
190
277
270
203
205
143
235
230
168
259
130
173
222
218
173
191
187
203
204
223
201
266
164
188
174
257
212
173
164
247
242
202
215
212
186
171
242
130
133
239
164
185
176
259
176
225
157
218
176
201
202
217
217
217
146
149
143
217
228
168
253
129
211
151
251
156
322
178
183
164
173
191
141
225
235
176
173
129
199
133
247
130
168
146
169
205
129
211
219
133
228
246
158
156
180
210
162
173
144
182
225
227
122
217
187
176
211
205
194
198
143
182
143
180
222
146
148
190
200
227
181
164
129
193
162
173
217
204
169
208
172
162
161
241
173
152
180
178
168
217
185
181
168
240
221
155
236
237
128
225
203
186
198
217
191
159
226
133
173
162
214
204
191
179
146
203
182
276
187
217
222
129
217
202
129
230
236
233
230
208
245
184
216
161
197
195
187
129
221
133
173
178
204
185
141
219
229
162
230
174
187
182
198
168
145
179
186
204
179
262
201
206
173
230
203
176
128
207
130
176
168
115
214
186
176
146
215
150
204
221
242
200
149
184
183
158
157
129
173
280
190
162
271
216
130
200
150
146
192
173
174
178
228
115
145
204
162
222
216
200
205
206
182
209
238
201
176
182
173
258
179
204
168
191
206
176
239
204
227
176
184
170
178
191
146
173
210
260
180
189
205
144
122
223
176
225
189
287
189
226
188
158
213
143
173
133
181
176
158
204
203
145
227
170
167
213
206
145
180
247
216
227
294
168
260
175
263
146
241
229
247
239
145
188
176
210
216
133
143
193
202
185
167
143
147
210
212
172
130
246
225
155
185
210
183
259
224
204
122
180
186
210
242
144
214
166
199
162
143
236
201
202
236
180
245
174
325
173
236
205
155
216
145
270
166
224
193
133
164
161
229
150
206
273
214
216
180
176
169
129
167
193
129
265
200
122
150
209
239
184
162
238
172
169
200
192
168
146
182
167
122
215
245
210
206
239
177
246
216
151
168
133
202
197
230
238
195
233
217
182
231
197
204
151
128
115
198
176
184
167
240
191
206
173
191
191
182
210
204
216
195
248
207
132
197
203
143
201
130
205
168
166
129
217
168
230
245
130
240
180
162
197
191
254
129
150
238
211
158
242
146
169
217
235
202
119
208
279
238
145
217
155
192
210
248
177
281
193
146
263
167
211
209
184
207
170
210
178
188
167
173
215
188
176
213
141
168
212
182
217
200
234
190
216
209
189
255
238
204
184
240
185
235
163
167
179
230
168
143
115
237
235
235
129
224
168
289
149
194
262
182
231
129
236
129
176
207
204
294
293
178
150
127
185
129
240
204
236
200
141
242
186
246
185
156
167
198
221
226
173
186
115
198
197
227
193
188
163
215
164
155
128
174
275
201
162
146
162
210
236
145
202
229
251
272
143
207
179
185
261
199
178
236
228
202
270
146
145
259
188
164
202
161
183
148
208
178
200
150
138
237
204
287
210
185
217
195
158
172
176
196
211
178
115
168
143
197
224
185
146
213
162
246
167
184
245
145
180
204
169
158
280
266
225
185
215
191
163
163
155
141
184
164
229
201
147
217
204
238
195
169
216
299
115
189
129
130
200
169
201
214
191
162
170
261
283
141
274
225
168
223
159
279
115
182
211
130
250
299
156
174
170
174
199
176
201
257
129
208
208
184
192
129
176
236
213
167
197
155
155
230
167
185
219
241
137
186
171
201
191
161
146
146
162
252
206
173
176
231
169
166
200
138
164
156
228
184
217
200
269
173
182
255
227
129
210
197
194
185
139
207
212
238
251
177
173
236
270
247
129
156
129
143
143
185
204
201
129
199
169
211
212
141
201
188
198
217
141
122
210
236
173
251
162
133
176
215
130
145
182
297
272
141
259
214
269
133
230
180
187
176
173
173
176
210
171
184
130
269
143
129
207
203
205
210
240
173
160
230
214
202
144
173
168
225
201
171
129
253
169
239
145
164
155
184
210
187
176
129
115
176
222
179
191
176
222
179
218
217
129
199
260
180
246
221
141
145
130
160
194
238
251
195
115
130
161
130
192
173
163
166
231
219
209
296
216
119
162
173
200
138
155
211
223
227
209
171
146
194
256
176
180
212
130
236
160
129
206
245
221
245
129
221
129
176
204
219
183
256
214
153
129
204
224
130
162
178
183
146
173
210
176
200
235
204
155
191
209
194
202
180
263
230
182
173
198
290
144
222
133
168
201
185
164
176
184
188
175
179
209
170
174
179
128
218
182
214
233
204
271
158
256
176
180
206
115
175
162
147
132
217
207
159
200
262
213
239
173
235
168
194
129
173
184
176
207
162
156
244
200
178
206
200
179
156
173
237
145
189
155
230
181
303
182
195
129
176
163
203
201
145
198
247
215
204
159
211
210
146
255
230
184
287
174
133
166
143
211
162
217
188
202
146
202
155
240
255
143
219
158
264
115
194
119
215
166
230
259
212
165
203
234
203
128
178
200
187
173
236
182
204
190
144
259
201
205
184
149
173
176
251
153
178
167
211
227
275
163
206
162
188
164
240
182
185
201
181
173
146
191
200
150
257
180
172
185
209
200
201
262
239
201
181
122
150
186
239
171
143
144
237
198
217
155
156
217
178
183
281
177
159
165
179
173
210
288
167
156
213
179
192
202
224
158
130
204
193
202
259
176
160
150
216
258
174
129
216
193
224
216
194
176
220
203
210
148
200
143
216
211
180
174
146
171
169
149
236
160
188
201
221
200
217
146
133
158
130
155
119
203
133
171
129
221
129
176
173
254
200
209
160
191
172
203
180
146
170
209
145
122
274
176
255
188
204
162
195
213
132
158
122
230
171
145
115
192
175
155
219
160
168
183
202
179
147
143
129
198
179
220
269
149
211
146
242
145
247
168
155
158
229
194
146
269
169
210
234
259
150
269
185
146
143
146
224
191
184
180
231
132
173
143
129
234
204
167
151
287
231
236
216
146
259
173
129
211
146
182
257
176
220
256
176
174
145
217
235
153
158
176
182
204
256
201
217
181
182
146
143
204
252
172
244
253
193
210
204
189
157
130
182
129
176
219
188
178
179
146
203
173
218
203
229
119
206
229
274
206
160
202
156
210
186
196
174
247
239
226
224
201
176
152
204
265
128
176
173
191
129
207
247
216
221
304
211
194
168
133
151
270
198
204
255
200
143
180
129
184
173
202
200
201
181
195
250
184
163
176
234
210
182
214
165
153
130
168
188
172
234
239
164
178
210
130
129
200
175
207
229
146
191
115
189
184
240
179
208
250
169
238
227
164
130
206
217
236
145
182
193
234
176
206
225
173
185
221
168
203
269
234
160
173
181
191
200
246
244
173
289
191
152
216
202
176
173
216
206
144
133
119
174
296
287
210
221
230
206
171
201
230
200
235
204
153
222
190
150
240
191
231
176
211
241
185
321
186
206
216
179
182
119
166
190
194
162
146
157
143
146
149
239
189
189
205
220
161
189
197
263
226
181
164
204
215
162
129
217
178
194
190
188
201
188
204
179
152
237
216
260
156
201
179
128
201
214
200
198
133
173
211
155
144
196
182
186
240
133
175
217
155
166
168
233
244
189
176
218
130
180
138
181
230
180
206
200
266
168
138
208
214
158
174
286
204
156
185
146
226
138
216
187
267
138
173
218
210
133
192
187
182
245
182
176
156
185
155
143
183
159
189
173
204
130
129
163
158
161
145
173
180
235
129
146
195
203
156
173
115
200
162
204
179
166
173
232
263
228
208
235
217
180
168
115
198
272
143
179
202
240
180
231
194
221
239
244
214
176
171
168
164
150
279
330
204
239
143
213
176
158
148
201
186
182
173
289
195
296
236
179
122
212
173
263
196
180
179
129
228
204
210
164
243
180
190
169
206
245
210
176
253
170
225
164
184
192
143
188
202
129
211
150
182
188
251
217
164
216
129
176
228
177
217
158
261
168
204
271
168
244
173
229
191
243
133
158
211
194
204
226
130
246
251
173
146
194
227
141
229
182
149
164
237
162
235
187
166
217
190
145
182
222
242
240
244
141
159
211
133
166
178
207
234
143
182
199
140
145
181
204
129
141
256
203
155
174
221
173
191
183
158
203
224
146
145
325
242
201
144
144
168
238
214
143
210
224
191
205
221
221
200
168
174
201
296
194
158
252
240
176
182
220
129
145
200
214
179
170
133
160
210
208
228
185
130
159
115
201
173
155
225
224
179
179
201
253
157
239
182
200
179
143
172
133
184
218
122
183
197
188
186
211
173
162
184
133
184
235
195
184
178
179
168
208
161
173
143
242
266
176
191
249
174
213
200
212
247
143
241
201
173
208
205
218
245
178
194
222
133
146
230
200
176
145
217
232
146
217
211
204
226
156
167
202
212
162
158
173
269
230
182
197
181
184
243
247
147
242
230
246
261
198
209
240
130
184
286
169
198
230
195
165
195
147
130
146
146
198
168
200
201
144
158
200
178
194
273
263
158
277
185
162
146
204
246
215
195
206
218
211
188
195
199
222
228
209
138
158
184
176
146
209
232
225
132
181
210
268
170
199
173
176
201
172
196
166
161
158
193
327
300
201
162
231
155
247
229
200
168
168
174
130
146
170
162
178
192
230
130
146
248
242
206
130
178
203
229
263
145
194
197
193
264
209
188
130
178
214
189
248
199
165
181
230
149
122
129
226
203
146
115
209
176
133
220
130
236
229
186
204
250
217
186
178
219
130
190
162
146
242
202
261
238
188
233
217
225
167
176
133
209
201
207
129
260
227
210
129
247
217
217
260
174
129
179
119
180
200
130
203
211
237
231
173
158
173
216
168
210
141
160
227
176
188
183
164
173
155
178
156
222
222
201
210
196
283
191
244
174
335
182
198
132
195
194
243
239
130
173
146
181
211
188
132
206
188
192
179
151
151
240
230
171
146
168
130
264
199
249
286
173
202
130
203
173
171
217
300
186
208
221
206
201
251
184
190
215
179
243
144
232
172
195
145
221
130
163
166
200
285
199
210
205
167
173
129
166
115
200
189
198
177
245
183
151
180
243
190
183
174
195
204
143
201
252
145
211
194
254
200
143
176
155
145
275
210
221
201
188
203
207
217
146
184
264
194
130
247
269
173
269
193
222
129
146
173
184
119
176
156
164
235
176
167
179
180
176
166
248
173
261
206
236
230
241
182
158
209
181
201
133
145
235
150
187
196
162
150
156
158
175
255
189
206
204
143
200
178
171
143
243
146
196
155
169
201
287
200
212
230
145
199
175
153
217
165
223
141
190
258
221
245
173
236
130
173
164
192
143
206
205
238
211
206
164
228
230
184
187
175
208
216
251
158
162
144
176
176
130
164
130
224
265
180
179
241
210
200
239
210
211
191
191
186
178
169
191
115
173
166
122
209
176
224
176
229
210
188
216
176
211
129
143
173
206
115
202
190
128
256
181
222
194
216
168
213
150
247
211
215
212
169
206
158
211
245
179
146
174
184
199
156
161
191
143
250
162
205
217
183
215
181
146
160
199
143
204
162
200
131
205
210
182
211
185
173
155
205
201
176
164
167
115
206
178
206
132
164
155
183
182
235
230
173
202
196
217
179
272
229
218
179
194
217
143
145
226
132
192
198
188
130
170
260
190
164
335
191
174
202
200
172
151
205
146
146
184
196
230
153
133
179
236
158
176
184
115
185
228
204
208
138
150
166
130
138
164
226
270
152
180
170
225
163
180
228
191
227
200
191
202
247
259
170
228
225
214
226
238
176
200
190
225
141
206
201
181
230
185
266
227
143
230
183
173
145
191
182
189
228
212
200
195
158
138
203
160
273
204
163
217
192
115
183
204
201
209
181
215
168
162
129
246
210
181
210
157
185
210
211
176
202
192
216
188
188
143
210
179
221
115
176
202
162
158
271
156
201
201
167
187
168
187
191
237
164
192
238
179
122
197
206
202
206
197
251
210
146
208
168
251
204
258
249
216
162
179
133
230
209
204
130
173
141
174
253
249
258
212
129
195
206
204
256
184
164
211
155
185
173
225
160
195
245
217
138
129
194
288
115
176
202
181
247
222
204
201
162
165
201
133
164
202
231
244
130
252
219
183
186
195
201
173
160
195
261
202
148
144
206
171
189
242
182
260
185
202
209
214
210
204
138
250
219
173
174
115
202
158
175
321
204
197
210
242
130
270
300
176
201
218
174
162
174
131
129
185
209
236
224
239
179
248
187
174
213
227
156
186
168
150
234
179
281
133
204
239
217
324
173
206
188
210
162
162
266
200
171
178
195
171
222
130
176
240
217
200
169
161
149
311
198
173
269
228
211
205
162
115
239
168
199
203
166
200
234
201
167
210
208
221
205
229
129
160
183
184
192
238
178
115
220
174
211
256
195
192
230
218
176
179
178
229
173
202
178
182
185
210
235
186
150
251
236
210
162
283
234
183
179
176
128
190
180
228
185
164
230
222
200
181
152
236
173
204
273
225
283
167
217
230
184
210
174
177
303
174
200
122
189
226
169
146
206
183
141
184
130
211
191
192
240
239
200
290
224
173
115
157
176
238
189
239
207
155
182
283
145
129
194
156
169
211
199
129
202
178
146
195
188
210
192
255
146
199
254
237
129
210
170
145
167
171
182
182
204
122
201
204
178
160
185
130
204
188
291
236
244
204
160
206
182
207
188
181
189
179
193
228
156
204
246
143
146
268
201
240
172
197
185
200
212
169
176
133
158
211
248
179
256
305
264
146
146
182
204
191
179
294
180
259
146
183
214
237
189
143
183
133
158
206
168
246
236
204
223
202
230
233
263
281
233
241
138
279
229
247
210
239
153
176
283
227
115
269
244
143
242
141
173
158
157
173
177
271
146
191
200
161
178
230
256
204
232
180
146
138
256
210
130
146
193
166
222
115
210
227
159
205
228
221
279
174
131
192
181
191
179
183
201
158
149
213
191
161
160
217
256
130
187
229
213
222
180
188
130
170
176
176
130
203
206
230
176
209
247
214
261
176
180
133
277
176
242
172
149
252
212
162
201
205
239
207
180
145
160
213
200
145
182
168
252
223
191
214
173
205
175
129
152
173
230
156
115
173
212
165
155
150
178
209
236
200
157
221
181
174
210
145
206
249
204
201
176
158
225
129
189
269
217
191
202
251
233
146
187
211
130
146
155
138
217
243
176
149
201
169
194
205
239
161
158
169
201
173
157
166
176
263
228
166
186
195
146
183
130
150
176
186
160
170
167
195
146
196
210
159
189
173
213
247
246
232
165
145
183
150
211
194
145
264
265
231
130
289
153
185
230
159
195
192
139
132
180
191
214
151
182
211
204
205
217
225
189
232
236
261
269
141
215
209
219
245
207
275
248
206
168
122
193
263
180
199
166
201
204
129
211
213
205
213
182
131
188
166
190
211
262
149
178
202
162
181
162
173
197
183
272
204
150
160
209
173
217
204
198
150
208
182
115
220
182
176
198
169
225
163
122
192
204
176
231
129
223
210
183
176
128
171
219
159
130
176
218
215
145
210
122
130
239
176
198
203
202
176
122
129
191
173
223
166
257
179
206
235
146
229
172
173
227
146
130
256
191
171
182
239
202
262
200
206
129
228
208
194
169
200
129
179
143
189
188
155
250
162
147
200
202
231
191
162
177
161
173
169
170
236
129
182
236
182
173
202
171
182
170
185
130
239
261
176
173
238
221
200
158
115
258
138
201
180
181
255
176
242
265
158
129
239
153
189
173
192
247
264
155
266
150
176
155
147
201
204
234
246
208
182
185
174
179
199
214
144
217
240
141
184
146
202
193
191
157
221
169
143
191
146
237
188
221
210
170
224
194
172
160
184
176
173
246
217
222
158
140
162
184
250
189
181
246
185
210
158
138
158
214
147
156
245
162
193
188
173
176
252
237
179
164
147
182
226
162
210
130
169
187
170
206
200
204
156
133
257
208
239
166
185
129
242
185
165
206
210
211
214
132
215
176
115
277
264
217
141
192
133
226
238
155
146
236
256
275
182
233
182
201
251
180
155
179
156
263
210
133
258
234
128
130
145
143
202
236
198
217
173
191
189
173
133
173
219
179
225
211
169
204
167
228
194
234
194
162
183
180
146
184
130
228
204
157
211
201
157
222
222
184
248
199
175
263
224
183
176
200
167
214
221
133
164
129
184
183
130
296
188
255
174
199
179
204
204
185
141
208
162
168
150
179
150
217
172
176
145
204
193
210
173
181
228
204
173
217
158
212
166
150
230
129
181
226
141
204
237
221
217
173
146
268
225
206
128
215
237
258
238
200
222
198
173
283
228
164
143
217
180
174
180
218
197
238
258
230
176
204
207
168
256
210
179
184
245
264
146
169
146
241
211
155
230
158
173
275
176
206
164
279
146
209
145
177
224
228
235
184
201
217
179
171
216
193
155
174
133
197
227
158
206
176
180
167
261
173
233
236
130
181
170
170
191
222
251
184
182
182
150
128
258
191
173
245
211
206
192
149
151
181
141
243
133
187
208
247
205
173
186
129
283
211
199
157
184
278
173
200
148
226
168
201
164
229
158
218
186
231
160
157
264
175
174
163
180
210
144
130
129
150
178
194
193
130
201
180
204
186
215
145
268
187
236
226
187
156
176
274
168
176
233
231
165
237
180
214
223
174
181
191
171
208
191
200
244
173
273
130
335
183
179
181
146
214
191
178
182
176
163
119
179
272
185
221
177
261
132
256
191
204
247
173
129
174
155
239
217
186
211
129
201
146
195
184
275
164
201
182
259
219
211
133
215
249
203
217
204
225
143
178
210
176
250
196
180
146
228
203
130
204
183
143
204
210
176
183
176
182
233
261
145
211
192
201
200
173
204
225
156
218
230
207
239
202
237
183
143
173
130
233
225
173
191
185
129
210
149
156
247
247
163
186
206
190
146
115
115
204
200
188
236
319
182
240
193
244
207
230
170
201
200
144
129
129
162
212
213
190
224
201
228
189
149
182
173
143
176
180
180
225
244
145
189
182
202
176
285
289
130
199
143
206
199
186
173
236
158
181
119
189
194
293
210
181
205
238
230
270
211
251
231
239
146
200
174
204
159
156
212
185
191
225
179
168
156
254
176
161
143
214
171
178
164
210
230
183
202
209
192
193
191
209
171
217
146
143
198
287
210
249
157
160
266
129
201
195
184
214
157
173
130
153
177
222
184
190
173
204
204
143
173
173
236
115
217
157
182
191
198
200
205
264
184
236
184
115
173
173
172
129
170
256
170
258
147
289
190
146
239
202
157
151
183
176
217
173
265
269
174
189
115
191
217
130
115
146
204
191
176
230
146
175
177
207
268
206
258
155
179
222
255
230
132
115
216
252
195
144
216
190
152
185
218
162
198
258
138
149
158
200
173
235
155
259
250
167
245
176
183
262
130
173
176
129
176
200
176
212
188
212
115
129
176
215
200
129
182
204
210
211
263
188
129
256
133
182
210
263
147
201
184
228
228
219
217
203
236
167
191
222
129
215
157
189
164
252
196
145
217
212
201
219
262
182
264
190
236
159
155
176
168
335
173
176
145
164
184
233
129
183
173
180
202
219
239
176
167
202
162
146
210
129
176
183
143
129
236
178
262
247
207
237
179
180
248
259
205
227
143
133
183
115
212
187
151
202
184
204
193
161
256
115
182
213
206
208
199
231
255
162
191
204
242
173
217
251
173
201
176
202
146
224
222
198
138
164
115
115
164
244
146
217
210
204
187
143
168
209
160
145
132
187
181
204
146
201
128
218
228
200
229
204
182
211
218
227
206
138
176
230
129
257
153
209
184
141
146
222
177
226
213
256
206
194
212
191
265
164
143
176
211
181
207
143
220
176
178
178
182
202
203
146
168
210
161
170
225
176
146
204
129
143
160
130
144
181
261
245
122
175
160
202
146
131
169
146
255
166
152
243
168
155
239
195
241
239
222
133
208
164
218
161
176
232
224
247
245
259
210
190
175
204
217
246
195
252
165
219
130
179
133
335
146
129
230
162
153
223
195
146
190
200
238
247
129
208
190
152
249
236
234
239
203
182
235
195
216
146
171
262
269
180
207
211
202
166
133
288
153
169
240
151
214
160
224
214
181
174
189
210
190
129
201
235
198
145
208
185
130
129
211
266
211
200
156
271
211
190
234
222
200
211
141
232
230
173
267
204
220
230
252
216
231
119
162
236
189
228
215
184
255
252
215
149
258
152
243
129
176
210
269
166
218
269
164
155
237
228
146
129
188
249
143
241
256
245
253
185
161
175
173
256
129
225
157
218
190
259
146
146
225
202
166
141
218
175
190
146
217
177
221
131
207
176
182
130
173
128
161
188
205
192
168
168
207
129
181
193
217
147
239
192
129
263
186
119
190
168
133
146
184
171
269
210
146
164
183
206
155
202
237
211
203
130
230
183
218
206
183
186
230
266
188
173
115
178
168
217
259
191
234
160
206
150
161
185
158
225
242
204
143
217
168
248
230
161
156
141
221
164
130
201
211
199
269
162
138
130
122
178
145
206
187
228
204
130
228
145
194
184
185
158
201
206
188
184
162
133
162
131
208
145
224
130
173
176
143
130
195
236
257
182
208
287
227
203
129
202
164
181
201
141
246
232
115
201
133
162
178
169
176
146
203
236
256
184
129
155
184
271
182
191
212
206
221
158
242
179
198
193
176
175
190
242
178
168
235
186
156
182
217
255
183
186
264
150
211
297
186
176
222
176
225
304
207
202
229
169
198
161
169
160
144
214
230
151
146
155
203
206
198
122
239
150
197
130
130
211
133
256
264
221
128
221
173
170
130
189
162
195
145
207
195
187
152
149
201
242
122
179
218
168
186
170
133
240
193
146
119
130
183
218
173
217
209
173
173
230
162
156
163
285
171
227
129
187
185
214
236
202
167
196
179
208
200
146
197
294
162
173
171
201
185
178
129
238
208
250
181
138
162
260
141
145
208
206
192
173
204
206
203
180
194
233
164
188
270
209
209
217
252
210
176
146
143
222
129
204
254
147
164
168
210
189
246
231
191
157
176
173
207
158
143
197
183
182
177
247
259
173
202
164
155
164
146
179
133
247
129
209
182
184
263
255
191
133
216
165
183
149
208
182
186
191
146
194
220
241
227
129
207
161
189
173
160
201
236
155
195
239
144
275
204
167
146
185
158
204
176
210
155
173
149
244
149
130
199
176
176
211
201
128
185
198
217
155
179
129
173
195
191
133
238
211
253
206
200
171
218
169
129
173
158
161
211
191
150
179
162
166
195
201
152
177
250
210
279
242
141
183
164
169
169
171
189
192
129
149
194
264
263
160
201
217
176
246
161
158
201
191
218
143
180
187
158
183
129
133
241
146
142
169
206
211
156
208
184
217
186
173
162
198
171
143
233
222
201
173
237
286
335
129
234
143
261
204
204
176
160
150
202
202
193
218
237
156
178
193
143
202
179
224
160
217
206
188
207
146
184
192
155
179
228
218
180
208
188
198
258
190
173
169
170
255
182
213
217
180
200
146
176
129
149
153
188
172
193
173
138
138
177
185
238
258
288
144
169
169
191
162
236
202
130
185
115
164
238
200
221
175
215
212
153
150
171
146
180
237
178
193
205
151
158
182
183
204
222
209
179
184
193
187
281
173
178
130
278
179
129
221
231
217
160
239
157
315
187
156
161
119
156
189
138
146
168
247
143
173
244
204
130
190
166
146
215
173
146
200
151
159
228
167
210
238
188
234
185
156
147
155
167
221
239
184
129
164
132
215
254
191
220
141
214
224
143
183
171
169
174
222
185
224
222
133
191
184
133
138
214
207
172
130
168
217
172
212
119
191
157
158
186
242
202
241
189
173
216
188
184
208
214
153
238
173
162
192
176
212
206
238
225
204
313
213
215
227
180
254
145
200
261
209
158
170
133
207
281
215
176
157
130
217
187
149
173
195
261
133
181
130
282
300
184
145
233
158
287
155
234
179
238
143
199
191
161
237
195
173
214
279
218
176
191
220
270
141
202
200
242
180
164
144
240
183
166
184
190
146
223
221
177
214
222
180
200
217
115
238
174
206
146
200
133
176
251
157
183
156
197
264
216
176
176
173
155
173
212
208
202
146
168
162
195
188
206
184
214
246
130
169
250
173
184
133
226
246
251
186
335
196
191
224
191
179
173
201
231
286
175
145
129
173
150
200
190
168
151
183
178
176
169
179
229
239
214
245
204
178
151
146
210
195
238
261
230
176
208
247
204
186
209
217
178
230
115
174
176
240
146
194
122
211
164
231
225
176
231
248
155
145
173
179
208
204
207
180
176
236
176
200
195
243
177
210
211
154
217
232
133
183
217
224
129
204
205
185
187
168
204
129
206
243
130
138
147
146
129
190
210
239
226
158
173
214
168
206
233
256
214
221
202
160
146
115
203
160
206
182
185
191
229
206
173
222
254
160
149
197
158
291
208
155
214
156
146
233
143
217
144
276
175
239
156
195
210
273
177
173
190
209
191
168
168
191
133
176
163
184
176
250
186
206
173
274
230
158
187
221
173
212
239
228
239
222
242
155
206
225
188
198
205
138
234
141
218
203
162
238
208
188
191
179
190
168
130
248
243
146
263
129
195
235
170
159
178
138
211
161
173
146
178
173
176
214
223
285
181
261
149
202
174
260
184
204
209
184
156
162
115
167
191
203
186
272
206
250
214
161
188
202
208
222
141
178
173
206
204
194
238
215
260
155
129
166
231
179
224
195
129
230
278
197
195
212
257
197
190
176
238
200
176
217
167
193
282
173
227
239
238
192
183
115
157
171
173
155
177
144
210
214
217
242
199
153
173
155
145
176
217
115
235
253
145
238
176
236
146
249
192
181
178
146
128
212
236
129
204
158
188
204
130
178
130
221
202
162
179
256
192
166
230
115
143
264
199
292
192
195
226
264
133
168
161
146
146
150
130
202
215
246
145
307
169
176
179
240
132
202
229
143
202
129
156
180
129
179
162
173
221
233
146
258
188
158
200
223
184
214
213
230
233
161
205
202
205
224
200
239
201
206
210
179
262
146
208
204
156
189
184
236
192
146
193
236
145
165
129
130
244
204
175
207
227
178
130
179
172
130
239
173
148
191
185
158
128
146
207
236
169
324
217
145
221
259
162
207
164
210
129
230
217
231
212
203
178
145
215
242
158
138
155
146
172
172
204
274
129
146
264
158
161
130
195
133
157
199
164
195
158
162
254
138
173
183
186
253
175
176
171
204
209
223
215
287
208
150
130
146
197
226
303
131
206
133
147
173
168
129
209
244
182
220
178
191
200
247
191
146
169
238
251
213
180
158
166
238
122
200
210
191
194
146
172
214
179
133
179
257
180
239
176
189
172
192
205
155
143
217
179
168
204
287
188
255
193
200
289
164
191
233
236
130
210
145
173
178
182
159
217
203
247
251
209
231
181
166
219
194
239
176
146
210
214
178
145
188
146
217
235
157
169
247
183
202
247
210
250
187
190
176
115
185
199
176
189
170
184
147
220
182
130
247
202
287
255
122
263
144
178
187
181
146
130
214
179
168
224
211
200
145
181
222
180
146
197
169
218
255
185
128
181
185
191
129
147
225
201
158
185
146
122
217
168
151
173
146
155
169
191
161
231
183
244
166
168
149
155
204
224
204
211
173
214
186
223
176
203
207
274
115
176
177
211
174
238
233
303
176
298
192
181
238
138
183
152
192
217
173
187
162
164
205
191
145
217
173
129
129
221
197
202
220
206
167
169
247
178
204
206
219
231
238
184
219
133
191
174
187
173
176
133
205
208
197
216
219
146
188
217
202
146
156
168
228
227
160
222
221
158
129
176
196
130
146
211
162
217
186
130
173
153
143
173
225
258
169
141
206
178
248
160
229
122
256
133
275
157
176
151
153
250
141
244
188
233
259
227
183
248
237
198
166
206
204
230
160
246
143
177
201
246
132
211
229
225
225
193
167
210
240
179
254
176
212
221
252
192
144
210
190
164
178
201
164
129
175
230
197
141
221
217
259
207
264
195
257
173
166
195
149
161
130
215
151
245
171
221
182
225
262
176
213
218
129
206
187
130
143
146
176
162
210
226
285
214
228
262
173
146
178
204
228
130
253
200
195
184
169
249
238
130
224
244
156
227
204
173
115
216
222
201
230
170
160
302
231
190
194
184
173
211
270
188
173
200
205
187
235
158
221
181
221
146
129
160
210
171
176
162
145
191
157
128
211
217
211
227
209
222
225
161
193
159
183
141
204
165
133
115
173
185
143
130
239
228
130
324
169
157
176
233
195
173
194
122
186
212
252
176
234
147
246
191
166
145
267
243
188
158
230
195
171
189
247
130
179
147
189
188
170
204
209
176
176
130
231
191
202
193
208
122
129
146
161
247
149
178
236
232
254
202
179
173
119
191
235
204
200
239
156
184
199
232
165
185
194
232
281
184
215
168
191
130
200
145
197
242
212
230
237
200
173
198
183
264
145
248
244
217
235
212
207
160
202
190
181
226
206
211
168
145
200
202
199
178
186
176
141
157
229
258
115
129
129
129
149
176
183
170
173
217
181
191
192
192
217
146
197
217
164
217
235
209
222
198
267
269
304
146
179
265
216
146
210
158
189
143
256
227
138
129
191
216
133
158
133
201
209
224
141
193
193
169
184
186
244
157
249
296
218
176
341
176
258
206
176
200
176
174
208
129
129
204
176
150
184
189
205
227
161
214
166
239
251
156
149
130
184
228
192
155
241
130
188
217
130
143
137
181
222
173
226
184
162
254
192
219
180
171
200
129
257
184
179
191
176
171
221
204
146
178
178
212
237
185
226
181
133
200
276
219
230
168
143
174
172
205
182
242
210
230
178
174
252
206
217
186
216
224
240
176
184
237
255
189
185
202
201
231
177
130
129
176
278
204
200
255
182
205
173
185
205
236
173
129
129
181
160
186
205
252
167
129
166
141
239
176
205
247
144
237
201
161
200
287
283
129
215
167
156
173
209
173
184
161
122
238
258
242
143
204
259
191
166
129
191
204
181
175
138
185
129
247
183
179
180
179
192
200
129
122
209
146
179
168
200
201
133
179
179
203
185
211
283
130
130
237
186
180
267
210
320
187
206
214
189
146
146
230
262
203
244
115
236
180
185
228
188
128
210
229
252
166
153
210
283
216
202
156
214
197
204
146
150
200
179
202
115
143
176
168
180
214
182
115
186
146
230
141
176
146
201
236
212
146
229
223
185
200
179
174
250
195
235
217
181
133
274
176
185
234
176
132
145
170
192
212
254
263
181
236
183
145
252
145
168
158
209
230
217
207
122
210
199
191
188
190
200
129
235
168
273
133
280
249
129
182
189
192
147
158
239
180
179
197
204
157
184
162
183
155
168
176
176
207
180
129
132
229
143
230
155
164
179
176
169
201
129
198
130
276
129
226
225
145
238
141
195
146
180
217
197
204
229
210
129
130
144
129
204
122
239
209
133
219
184
235
184
246
197
129
188
173
225
149
292
143
173
198
297
239
180
155
171
153
226
151
181
190
201
169
185
178
156
195
250
193
190
173
202
215
227
130
221
182
258
180
174
207
211
217
176
115
164
179
146
177
155
243
262
269
129
180
260
235
155
232
230
176
119
122
180
179
214
180
222
183
190
188
130
173
170
169
194
226
179
217
129
182
218
149
184
150
179
222
201
253
130
176
235
239
238
143
225
241
160
182
163
202
205
155
166
201
277
201
197
194
178
204
183
145
158
191
146
176
244
178
212
133
172
299
179
129
181
158
133
217
173
216
208
274
180
240
166
182
176
166
115
162
179
133
229
173
180
227
181
176
115
160
158
153
286
157
263
187
217
166
172
252
195
195
176
149
206
214
181
188
174
222
163
211
212
188
159
176
207
145
236
226
179
254
209
204
225
164
221
189
146
205
146
180
190
164
138
225
151
164
202
129
230
261
258
217
255
143
170
184
226
166
189
254
183
273
236
183
245
129
115
146
215
285
226
202
247
183
146
148
171
212
178
238
277
143
141
219
180
210
180
143
145
248
191
183
214
217
206
200
252
190
146
162
130
179
195
301
191
223
129
211
211
176
183
179
187
192
153
182
215
146
133
179
181
227
115
183
189
206
171
227
209
119
221
146
179
115
158
188
191
221
179
140
143
129
230
302
200
264
265
206
150
190
211
130
173
202
198
173
173
166
166
208
220
202
168
202
257
185
115
167
287
204
150
188
143
197
168
231
164
216
190
176
201
223
239
162
168
161
188
146
266
115
166
183
164
185
130
211
173
230
191
266
182
217
221
268
209
202
180
182
229
211
328
221
214
184
203
231
182
179
167
153
182
257
145
258
145
150
184
247
122
171
268
178
173
262
176
146
245
189
146
156
175
172
225
187
208
210
265
230
130
176
149
195
192
133
138
226
163
129
200
198
184
204
184
227
164
203
146
170
184
173
184
192
206
210
217
129
176
263
269
245
201
226
210
174
231
176
158
141
156
196
226
232
184
141
173
238
146
242
150
184
129
182
184
214
180
216
204
259
189
178
162
220
200
195
254
167
174
217
195
165
145
146
175
204
166
224
204
209
180
143
247
201
243
149
231
138
146
201
261
219
172
210
210
242
167
173
246
130
146
270
206
207
130
176
251
233
217
130
129
200
212
180
146
189
195
203
143
204
227
173
129
133
180
205
201
129
273
211
217
146
130
169
185
189
210
216
168
204
188
186
202
179
161
174
208
210
158
203
272
184
156
147
115
176
159
168
180
178
229
221
143
173
297
200
128
218
146
212
180
207
156
145
237
209
210
155
233
201
129
257
201
129
232
188
206
150
129
183
173
191
222
174
156
207
215
133
232
147
161
166
130
175
217
156
201
254
201
210
130
200
190
214
216
187
168
185
201
162
164
206
176
218
192
193
210
204
201
176
150
221
143
231
239
159
200
278
158
155
176
216
158
219
150
183
156
146
162
173
138
255
162
210
222
235
202
189
194
214
209
218
185
130
162
174
182
205
173
162
205
198
197
141
217
153
240
176
246
164
264
198
184
164
167
231
195
238
171
239
172
288
231
138
152
197
252
168
170
146
224
179
224
201
200
209
184
182
246
217
174
222
210
252
230
228
224
215
133
224
171
234
255
210
130
204
242
199
159
218
230
231
146
175
146
227
181
206
216
184
185
192
129
247
208
138
238
231
174
183
210
145
208
183
144
220
201
239
195
176
193
141
179
211
228
272
247
200
155
176
194
211
203
204
173
227
214
162
240
160
211
158
153
197
180
227
129
262
173
211
237
189
157
206
269
218
184
141
161
204
200
179
179
225
173
272
145
208
236
204
246
145
203
176
217
220
166
173
164
164
170
179
129
168
173
145
211
146
218
229
204
171
180
129
189
174
232
176
230
182
210
266
184
152
161
169
207
194
176
158
186
168
225
179
180
178
240
162
224
170
277
211
242
335
211
195
246
216
150
184
206
201
155
162
218
146
231
242
156
223
233
133
175
195
129
201
216
206
283
217
115
176
248
204
170
150
141
237
207
204
188
204
209
184
176
130
146
177
219
189
217
239
175
202
219
204
176
222
221
217
129
192
270
219
256
130
171
230
143
202
146
229
130
262
200
211
185
222
172
211
225
162
181
156
230
197
180
183
168
235
176
179
201
149
143
201
255
149
172
164
190
225
217
221
247
146
201
129
160
167
223
204
115
201
181
171
237
204
197
191
235
195
242
206
129
169
137
164
184
192
236
143
156
191
133
185
158
175
158
193
165
183
188
196
176
191
144
215
151
138
177
186
197
294
256
194
145
205
335
179
156
238
165
180
129
181
184
160
161
255
202
211
129
161
176
217
138
146
146
204
191
174
219
212
200
192
176
133
130
221
176
178
205
180
214
200
238
162
165
217
202
248
218
166
150
200
263
176
201
228
158
229
149
167
130
204
204
200
143
199
146
222
192
202
249
215
202
188
133
184
230
202
168
214
157
180
182
206
170
164
150
197
206
160
129
192
179
184
179
198
195
160
129
176
162
216
167
151
172
259
171
159
230
130
184
162
162
233
152
252
150
217
172
160
217
217
171
260
210
299
148
164
145
169
146
146
180
192
130
149
202
203
208
145
133
189
216
264
173
201
129
179
225
249
172
204
262
145
158
192
156
178
145
133
264
182
235
212
146
198
185
168
198
180
231
143
152
143
133
214
173
224
223
201
230
163
237
161
168
130
173
215
211
230
176
197
179
168
199
224
228
133
216
129
145
179
199
159
182
145
191
176
211
151
265
198
188
191
198
174
191
129
174
227
191
180
156
230
115
130
198
146
158
176
162
167
191
164
177
158
122
211
146
153
175
186
232
130
254
205
201
189
150
191
166
262
185
188
216
200
183
225
190
238
158
231
265
203
158
172
214
176
204
146
208
219
265
229
204
225
217
274
206
238
208
166
176
246
168
173
214
213
176
212
201
217
129
184
220
190
230
176
129
205
143
248
149
227
266
220
185
192
243
151
263
184
187
178
150
200
229
183
168
185
164
130
133
196
259
176
130
158
200
160
168
211
217
211
146
210
276
146
202
184
158
180
190
168
170
228
202
169
227
149
184
230
181
176
216
190
192
210
189
146
173
240
222
193
225
129
186
155
168
158
256
218
129
217
167
186
166
182
182
194
218
185
176
206
161
188
115
207
210
169
264
227
235
211
168
217
147
188
165
173
181
140
176
183
335
194
175
173
166
168
185
222
184
157
156
204
189
322
255
209
210
129
221
222
179
150
166
176
128
209
287
210
145
180
202
201
261
272
263
240
174
197
190
180
188
242
183
172
199
169
192
191
211
164
160
218
160
159
222
133
202
188
177
203
170
173
133
176
225
206
206
182
129
217
176
240
157
217
198
230
162
224
237
275
173
247
206
225
236
231
133
153
144
230
257
146
208
185
201
224
173
180
204
168
211
210
156
202
210
146
190
115
199
225
180
236
146
211
201
179
208
194
268
174
173
192
204
202
215
219
133
204
174
229
209
146
143
222
176
198
201
206
197
206
240
169
176
179
176
149
185
216
218
158
131
273
302
215
230
176
249
180
207
219
193
244
164
186
208
205
224
170
239
182
262
193
201
130
184
229
199
211
174
154
183
132
236
182
219
247
225
201
256
173
238
221
229
217
166
242
247
161
265
129
209
146
232
245
183
265
210
210
227
278
216
216
169
173
169
185
188
216
239
285
142
146
204
216
229
183
208
192
165
196
159
151
231
164
195
210
269
183
261
193
129
129
287
236
246
227
236
146
184
238
162
230
191
225
130
264
189
191
206
200
209
183
143
179
145
212
143
185
174
172
234
155
181
227
164
199
202
181
157
133
133
146
210
189
225
149
181
146
130
158
267
224
169
173
258
217
176
169
129
244
170
201
231
237
207
191
183
145
157
238
206
239
180
146
174
178
183
288
177
238
231
221
300
258
210
146
190
183
201
129
128
230
217
210
164
213
211
145
162
211
176
211
182
177
214
129
176
217
205
146
204
253
195
204
176
146
233
231
263
173
246
146
224
214
257
179
162
225
229
158
178
183
170
222
225
259
218
238
194
254
206
184
155
146
202
119
173
228
192
227
190
164
199
178
168
233
176
234
211
164
192
187
164
115
191
191
184
167
168
180
210
176
242
164
230
186
217
173
145
195
179
183
209
144
304
189
175
225
150
188
227
192
200
176
164
190
181
214
289
204
222
176
204
178
239
204
181
204
130
225
162
182
249
200
173
208
261
255
190
171
264
224
189
177
279
168
173
138
236
146
173
200
182
141
258
162
158
236
274
204
158
199
186
188
182
182
161
230
184
202
168
130
233
182
173
217
182
153
209
169
158
168
238
238
215
182
211
257
170
173
269
191
246
204
177
167
176
133
148
154
147
236
227
210
141
167
160
128
130
244
225
205
246
175
129
276
227
257
146
194
208
222
287
173
130
252
235
130
133
211
173
191
235
175
179
164
200
231
155
200
235
243
258
129
157
195
143
174
204
222
254
178
242
138
210
210
179
230
188
146
172
190
207
203
132
149
204
300
149
162
211
208
240
240
115
155
195
221
203
179
181
174
249
287
254
214
207
216
240
204
206
236
196
184
180
195
204
205
129
191
298
179
183
194
195
228
210
173
177
177
234
179
225
150
217
130
173
287
261
255
217
129
173
182
208
201
239
129
141
199
184
158
161
226
179
200
162
210
176
202
188
180
143
211
263
259
129
238
166
193
238
179
152
204
115
184
231
202
260
155
201
293
180
201
186
227
184
234
146
190
143
146
129
211
296
210
184
201
182
156
132
179
224
146
119
176
214
201
178
235
191
242
201
183
283
210
144
282
256
162
169
261
190
129
204
184
191
149
160
250
253
162
145
203
197
187
122
211
129
133
211
266
210
115
204
168
198
192
201
188
265
211
200
210
159
254
225
206
191
225
168
264
236
243
156
186
156
202
184
182
129
226
173
176
182
160
237
214
162
176
247
199
246
299
176
233
146
182
154
183
198
210
133
253
130
209
146
160
146
246
191
232
217
168
129
192
122
143
230
203
176
130
180
195
210
172
138
202
138
201
195
180
190
237
173
217
150
263
210
129
168
221
230
231
128
176
146
178
183
203
143
143
191
162
177
252
210
230
130
204
239
133
217
185
176
146
238
181
254
173
194
220
200
169
202
210
221
225
173
210
287
268
173
178
130
133
236
249
168
242
158
160
189
231
207
217
225
170
204
170
146
133
180
115
161
254
168
238
200
245
157
204
155
145
265
222
207
195
229
181
192
168
229
173
200
168
168
155
130
150
143
228
236
201
164
175
185
204
162
238
216
202
185
250
173
158
206
224
164
204
178
164
247
213
160
155
143
300
188
130
208
265
180
173
176
189
156
156
178
231
130
210
238
204
165
209
160
158
183
186
170
274
198
210
234
238
182
184
217
161
231
159
146
225
225
158
130
209
173
188
162
208
184
201
217
145
222
210
192
138
164
130
216
130
173
230
183
151
167
173
191
183
130
195
198
146
115
200
130
225
185
158
237
160
146
210
176
143
178
182
204
249
165
115
256
142
149
212
192
145
191
209
258
142
191
208
173
229
130
206
184
206
233
172
155
308
158
168
211
199
146
300
158
189
251
183
185
236
202
183
213
213
217
130
219
186
166
200
256
288
214
211
145
202
203
129
235
198
201
185
206
122
152
185
166
263
255
183
195
176
184
182
215
158
190
175
150
300
168
156
140
176
287
203
156
247
187
236
199
200
190
230
221
204
146
206
232
264
202
190
194
146
182
211
129
184
115
201
188
183
231
129
186
191
200
158
143
176
199
303
201
239
179
143
217
300
161
133
175
225
162
145
201
208
177
146
130
217
221
195
185
173
216
173
227
235
258
231
194
210
129
155
129
157
184
228
153
162
222
230
222
174
178
283
239
129
174
162
146
170
167
230
169
173
187
143
264
133
275
187
143
210
143
221
210
242
150
184
173
211
238
184
226
279
177
202
210
141
144
130
129
182
156
141
146
210
187
236
176
210
175
168
172
173
253
173
179
188
187
160
158
129
227
150
245
146
232
146
146
204
176
300
195
173
210
150
242
174
173
161
184
144
181
204
145
130
234
195
238
146
189
220
219
159
133
166
173
170
173
285
168
201
173
192
246
145
281
129
153
217
162
175
217
228
233
233
191
267
246
231
155
255
158
159
217
179
145
143
169
252
157
160
185
184
217
241
146
184
216
129
170
143
214
240
191
203
183
145
152
133
177
149
143
173
186
254
247
146
193
190
228
256
146
207
146
244
130
129
222
130
176
130
204
206
238
200
163
158
179
151
197
259
236
163
245
228
191
198
208
145
141
160
176
210
173
177
176
229
239
243
204
145
183
188
184
182
206
262
260
146
150
207
159
176
218
145
230
263
173
183
252
204
176
183
133
235
238
176
185
168
194
183
236
170
173
238
176
189
244
210
141
229
188
165
208
181
201
168
143
252
236
237
248
277
163
222
185
179
130
248
246
231
146
195
221
173
238
225
191
188
184
176
261
172
143
234
209
190
202
206
202
210
183
181
217
162
271
200
129
129
185
119
211
203
132
210
214
230
234
145
168
240
158
199
138
208
225
192
287
173
146
229
181
173
173
146
257
184
210
168
175
251
303
193
216
182
150
202
200
161
217
241
160
192
149
168
166
141
185
173
202
206
209
180
221
195
157
202
176
190
129
141
187
227
195
168
209
162
189
161
157
230
115
146
238
181
180
207
217
236
130
218
189
197
149
185
146
182
210
180
183
183
129
151
161
211
129
225
200
179
252
204
222
184
133
286
141
188
189
229
190
143
208
207
181
192
218
144
281
130
198
186
158
150
187
242
160
173
238
211
217
193
173
133
179
173
179
193
169
178
161
129
215
183
210
175
201
228
175
231
153
224
129
173
185
168
207
158
146
287
173
176
248
146
202
186
211
168
210
216
152
129
184
158
186
182
122
165
231
270
272
274
156
181
225
259
133
149
198
186
189
119
253
267
211
129
176
179
201
177
183
196
155
182
168
172
212
244
213
197
176
195
176
191
234
225
122
264
130
195
255
143
231
143
176
169
264
212
175
146
221
183
210
209
193
227
153
160
304
216
299
176
195
161
166
193
179
192
149
203
164
168
130
202
187
154
203
146
183
191
165
212
200
210
204
191
209
219
179
195
192
173
199
281
210
163
145
201
122
218
214
219
176
141
129
201
189
236
217
235
168
209
130
319
227
206
146
250
178
133
115
255
173
122
180
179
133
183
128
168
229
165
178
248
283
115
186
173
155
143
195
156
187
171
322
181
133
149
234
174
162
224
168
146
206
167
159
122
232
247
158
152
186
252
257
207
217
204
200
146
174
287
206
209
201
195
172
210
216
211
122
180
184
204
146
213
186
189
174
164
173
232
207
236
206
164
204
177
208
150
143
183
145
219
256
211
215
138
237
133
138
193
170
181
197
146
255
264
164
243
174
184
201
265
156
181
262
151
239
176
201
138
150
230
173
201
175
270
208
166
143
209
178
149
261
228
164
173
176
248
146
182
214
236
158
224
160
201
214
129
130
198
165
184
176
199
201
173
230
158
204
164
157
224
297
252
229
115
187
199
211
188
183
204
193
241
201
283
204
184
173
210
182
262
191
156
216
191
283
223
286
129
204
145
222
178
163
227
204
173
158
164
166
205
162
181
158
240
157
194
155
129
146
169
130
141
185
129
198
210
261
146
200
161
200
130
202
204
218
201
250
130
295
179
211
179
254
122
168
156
182
179
133
130
270
249
236
217
180
179
211
200
193
143
203
161
145
264
186
185
207
164
214
299
218
145
278
217
167
200
195
146
177
157
196
161
204
166
119
196
275
180
182
221
201
193
231
195
178
210
208
190
179
176
132
194
244
145
183
265
210
241
152
195
233
158
176
194
191
247
224
161
138
217
173
194
190
206
226
201
221
160
197
167
180
169
213
208
202
176
130
274
122
133
177
182
222
183
176
145
133
255
206
179
130
186
184
115
264
217
210
183
168
179
179
200
203
199
227
183
156
156
185
130
202
217
216
205
203
182
210
259
128
194
235
230
263
199
168
197
143
172
196
240
201
195
168
261
171
150
194
185
197
166
198
194
197
164
201
185
200
129
181
185
237
183
176
168
187
156
129
173
141
217
195
158
226
170
228
152
214
204
194
234
179
251
246
259
173
150
187
237
115
129
222
211
239
133
247
204
236
236
210
181
204
277
204
197
204
204
251
130
190
228
181
200
214
239
190
155
230
162
172
228
173
141
174
180
148
242
175
156
217
146
274
207
209
146
184
115
129
234
172
200
147
145
206
270
219
146
176
204
182
258
197
221
250
198
166
169
179
208
129
167
184
183
187
188
119
221
189
179
200
180
186
227
281
227
183
197
297
226
193
215
133
181
206
194
158
133
182
146
230
158
168
168
190
270
263
154
238
195
198
157
188
146
258
173
179
122
200
181
225
171
206
128
115
242
173
176
162
204
230
149
133
258
173
227
178
197
254
146
221
164
158
169
269
236
193
130
199
209
115
189
245
138
162
236
129
162
244
122
164
151
146
157
200
255
214
115
245
178
227
201
229
192
176
199
154
133
129
170
156
191
215
130
239
161
217
143
240
213
171
225
210
168
128
184
145
184
234
168
130
264
195
217
264
145
179
191
225
173
255
176
198
166
146
195
287
210
225
143
192
217
169
204
180
177
156
228
191
244
246
130
179
115
143
257
189
204
131
190
148
115
173
203
204
201
146
231
206
226
204
194
211
193
183
244
176
217
274
178
149
224
173
143
158
201
155
179
201
115
133
149
163
259
146
174
211
185
181
211
164
218
187
263
232
172
173
235
168
169
150
222
232
145
115
263
203
202
204
195
195
199
265
202
258
168
172
180
206
181
206
198
195
115
178
198
254
215
130
174
175
129
212
191
261
246
232
265
183
156
206
178
239
240
259
170
179
225
179
210
163
256
201
158
143
173
210
192
335
211
133
233
283
168
190
146
299
200
200
248
211
258
162
203
129
219
161
184
189
253
187
129
143
128
164
200
169
182
184
237
173
184
214
147
168
172
162
176
255
226
162
185
202
219
258
162
210
229
195
207
170
180
209
222
178
158
204
167
129
129
176
171
212
185
173
227
222
176
150
170
225
180
168
225
166
258
231
170
168
274
211
178
187
183
223
164
146
227
131
150
149
265
171
162
212
129
164
209
196
237
151
179
283
133
115
130
221
230
177
197
179
202
182
184
164
147
201
138
180
173
130
170
153
235
254
202
214
210
155
201
173
178
128
234
173
242
130
174
158
194
210
133
168
202
146
187
176
232
258
222
174
176
156
145
335
156
157
133
221
221
204
132
164
161
208
204
165
172
147
162
131
204
221
168
209
170
129
160
210
143
164
256
198
234
222
181
115
210
176
179
122
222
196
182
244
212
189
195
214
216
146
210
180
144
130
240
204
242
174
183
204
204
197
301
248
149
239
229
202
188
229
187
201
322
129
231
176
164
303
179
236
176
183
199
130
115
164
300
207
265
183
182
191
201
204
191
183
223
216
168
178
158
226
200
157
203
162
192
147
161
173
119
155
208
194
239
146
130
261
129
249
217
241
149
141
180
214
260
314
201
182
164
190
261
186
146
166
194
200
208
129
187
201
255
239
205
217
238
231
215
160
129
194
246
129
218
129
214
169
146
242
225
160
146
274
170
115
236
162
277
168
260
163
206
219
195
173
129
166
217
214
146
230
156
194
200
193
168
170
172
230
156
201
227
130
145
115
166
162
178
244
268
242
174
238
175
188
274
176
183
241
141
213
185
201
184
129
145
181
149
184
183
236
130
170
115
203
187
210
143
279
203
115
259
184
204
228
151
159
178
230
246
180
239
279
195
275
210
194
164
170
219
204
158
192
158
186
240
274
145
185
166
258
223
185
221
130
265
199
115
168
145
173
156
173
129
215
199
183
203
202
158
238
129
184
115
298
188
210
182
200
183
214
115
179
239
278
184
191
216
172
180
202
239
164
146
210
222
162
233
133
149
204
209
226
201
172
146
187
224
171
238
203
186
175
267
204
204
205
202
211
232
188
152
147
171
223
184
174
206
217
176
130
143
128
146
153
241
209
179
168
160
181
173
129
177
231
185
227
204
236
150
122
182
176
191
268
171
186
129
210
205
172
204
155
201
161
168
236
219
167
162
191
269
236
164
244
240
173
182
172
174
146
212
173
191
182
166
204
168
195
235
220
232
203
173
265
191
202
238
153
200
184
214
133
211
162
228
130
184
129
141
217
165
289
179
182
143
194
248
194
178
160
129
204
217
143
169
183
200
211
160
162
131
261
186
168
200
138
187
147
173
242
171
180
130
206
181
146
195
210
220
170
210
145
247
215
210
209
215
221
282
204
169
188
180
146
182
184
129
159
132
192
190
217
179
220
164
129
208
151
176
130
200
145
166
210
187
253
129
146
200
176
303
146
236
193
173
184
259
185
236
184
211
181
185
211
204
164
166
130
167
183
254
141
260
252
239
149
130
211
165
128
191
269
201
287
237
193
153
250
176
238
274
191
193
204
211
222
146
227
129
227
143
172
239
178
175
164
173
247
158
180
178
217
183
224
232
204
237
210
200
148
205
237
172
201
246
179
239
234
128
164
195
186
176
155
185
178
171
201
210
222
211
146
168
214
255
210
208
222
181
224
231
158
210
191
143
177
204
146
194
161
160
176
145
153
198
210
171
205
243
200
249
162
181
147
143
129
178
191
158
230
191
129
173
252
222
145
207
209
129
198
217
191
234
170
146
115
141
157
182
208
212
220
217
190
226
179
227
210
204
195
254
211
167
192
168
172
182
204
143
168
155
173
171
203
252
211
222
200
251
176
187
176
186
173
175
202
178
186
237
179
210
182
176
242
162
180
184
169
168
214
174
190
185
216
166
168
255
227
129
217
204
220
155
164
129
184
227
198
174
153
251
260
195
201
200
185
195
133
173
191
230
155
211
183
193
172
191
201
203
269
167
210
153
261
200
200
219
204
122
155
194
191
200
236
181
173
236
204
173
184
173
176
173
166
149
206
289
186
216
122
192
167
297
168
145
209
166
194
145
156
115
229
182
178
197
263
295
155
130
252
209
278
289
150
241
236
300
218
150
152
204
260
190
170
191
187
251
181
223
160
145
223
155
203
173
210
164
115
165
145
162
169
226
222
217
193
166
168
168
222
247
264
144
142
257
178
205
200
207
191
255
173
226
203
246
180
173
184
217
201
182
210
195
238
192
193
197
212
188
202
211
143
178
184
191
227
170
236
230
133
229
155
235
238
176
210
187
204
166
257
161
210
213
178
179
235
168
187
165
145
200
168
259
258
216
162
130
204
145
211
158
181
168
179
201
225
176
188
201
146
178
239
191
222
166
234
203
195
246
210
254
214
230
184
194
160
173
169
208
130
176
181
133
133
166
211
215
176
204
206
119
184
204
200
166
171
129
155
236
183
129
223
217
195
191
174
188
188
211
145
184
146
184
164
241
150
115
220
199
146
129
224
239
182
164
158
200
194
181
175
143
210
197
177
191
193
130
122
273
184
216
211
129
203
130
300
194
217
182
156
210
200
230
179
335
229
163
147
164
192
186
169
238
164
192
197
203
143
202
183
115
186
231
231
145
174
217
133
212
173
173
175
221
234
189
182
166
221
187
216
173
153
146
195
176
217
185
129
155
141
212
241
168
198
129
231
158
183
176
198
171
158
178
218
166
164
149
227
206
187
156
235
204
217
236
156
204
164
216
206
115
133
195
129
162
176
158
173
246
245
279
231
143
177
208
210
205
208
156
211
162
115
149
180
182
129
249
216
115
146
212
178
129
194
173
130
252
189
146
219
180
187
178
166
176
168
146
168
176
142
197
182
129
177
186
200
151
163
183
191
162
133
178
209
218
175
184
231
227
166
173
202
199
256
243
145
190
209
216
211
156
244
320
161
203
198
273
282
234
188
206
222
208
190
184
141
162
156
309
199
171
222
188
146
194
143
179
176
151
217
200
185
252
151
192
154
218
183
115
130
184
180
217
169
188
179
199
130
167
180
249
227
243
155
158
159
150
235
194
224
201
160
203
210
204
173
153
274
145
155
265
201
293
195
169
172
164
217
143
166
335
173
229
177
145
187
205
252
187
130
264
176
217
175
131
158
158
176
164
129
182
236
217
260
191
145
204
209
163
230
242
255
187
208
229
172
115
240
200
214
180
228
238
152
183
200
238
236
200
176
210
171
158
211
183
189
170
250
141
181
189
188
161
152
205
176
164
158
210
176
146
215
237
236
226
183
225
173
133
171
176
204
360
211
173
218
187
239
194
258
238
144
152
269
212
200
233
153
130
146
122
205
239
156
143
160
190
227
176
153
204
160
158
187
184
215
175
176
246
216
210
184
212
261
211
158
211
240
227
146
169
186
206
216
236
212
179
152
203
214
180
202
164
166
174
173
221
221
211
193
204
232
150
232
226
246
130
157
183
191
210
273
283
165
129
335
152
162
206
186
172
173
239
244
207
155
141
173
129
218
164
160
227
180
210
141
169
115
204
201
214
260
150
178
255
235
183
238
260
146
210
145
244
164
146
156
183
164
231
198
185
182
204
154
150
173
203
143
182
213
229
239
133
151
226
222
256
164
225
218
133
156
130
158
200
119
133
195
156
203
173
192
199
254
210
208
130
183
236
202
167
184
138
173
177
235
179
272
190
193
164
155
186
238
160
175
188
173
143
169
115
179
182
203
207
143
206
173
204
133
180
171
210
229
156
238
261
197
228
185
216
218
208
158
211
211
210
204
224
129
200
221
175
201
225
153
193
209
166
162
201
164
207
265
144
251
277
161
172
248
222
183
168
162
129
221
170
203
161
217
201
217
221
168
174
133
166
179
224
182
211
185
171
143
169
259
194
242
161
180
181
218
200
280
206
228
213
130
201
188
230
115
260
141
171
190
204
204
179
143
146
216
129
204
217
168
197
223
211
167
210
162
206
129
201
185
115
164
238
201
236
115
143
164
195
180
244
269
217
133
194
209
238
143
268
129
184
300
204
146
130
182
199
203
229
178
249
155
206
162
180
156
204
199
191
206
212
146
234
176
206
200
143
221
189
173
162
235
217
204
224
239
193
318
176
129
204
155
141
203
264
230
217
164
173
187
199
243
206
158
242
208
151
217
150
239
129
292
229
191
132
176
234
201
198
178
281
244
173
207
205
236
196
218
239
264
115
175
129
167
198
138
246
176
178
187
206
239
178
184
193
130
229
186
209
115
170
115
180
195
183
130
189
197
188
176
180
231
258
145
148
193
182
221
182
236
228
196
141
130
223
146
189
203
190
228
196
129
200
204
145
268
183
238
164
169
261
192
164
205
238
221
233
217
191
233
170
147
200
143
184
225
200
205
241
183
145
169
238
247
223
208
130
243
186
143
184
158
184
195
221
180
160
242
205
222
242
252
141
202
237
201
173
173
307
254
200
204
173
191
146
214
244
204
146
133
187
173
192
188
129
236
156
174
210
173
216
186
129
153
129
219
182
182
220
214
169
204
207
129
149
264
143
162
183
257
242
151
202
168
172
179
206
274
222
146
221
202
246
178
157
210
183
172
228
146
156
173
201
185
299
176
167
184
204
202
183
145
180
209
115
141
254
187
179
214
174
190
164
164
214
190
188
176
174
202
204
202
138
220
160
239
173
201
174
190
201
172
146
189
171
204
201
214
171
204
214
173
185
165
115
158
129
174
210
242
227
180
205
220
167
179
133
155
168
207
195
195
180
160
222
173
203
275
251
179
213
181
130
236
253
185
202
287
184
164
176
206
190
173
189
254
183
238
185
236
211
201
185
236
164
168
200
208
155
173
169
218
146
230
214
204
173
211
217
218
263
195
183
158
217
216
241
179
173
209
240
138
128
176
252
183
253
158
233
179
171
129
224
207
173
182
171
172
294
202
256
188
203
185
236
208
213
222
231
133
133
159
322
190
238
195
207
145
190
228
217
176
203
220
216
158
191
146
229
173
192
138
215
200
199
234
178
180
198
260
184
133
145
171
150
204
182
230
191
213
193
177
130
206
211
261
152
179
182
133
184
130
218
146
182
274
206
209
211
138
145
129
199
233
208
177
191
150
158
264
227
129
197
162
159
260
138
155
173
146
155
224
176
130
215
250
203
179
129
211
236
222
184
174
190
173
133
286
157
206
205
176
210
162
211
156
210
209
129
197
156
176
173
269
229
191
173
172
175
146
221
246
190
146
180
146
173
238
145
173
150
217
194
115
195
272
277
253
193
158
130
215
167
187
208
130
146
191
192
206
199
169
143
193
215
254
191
208
250
206
211
207
176
180
204
227
143
181
210
204
143
194
234
185
192
173
214
214
183
210
170
133
144
182
222
204
158
172
176
300
218
158
214
171
219
186
129
183
168
217
186
172
155
228
191
162
184
130
166
145
217
243
181
178
221
249
146
191
158
129
189
188
226
168
195
156
223
156
119
219
183
194
146
164
243
196
259
246
211
138
207
133
173
147
160
180
158
191
211
143
268
224
265
181
158
173
170
185
143
146
149
222
204
214
225
209
129
160
158
202
130
173
210
224
197
194
244
210
213
171
211
200
175
146
163
130
156
129
193
210
192
232
256
159
130
204
187
133
187
217
191
183
160
193
176
238
115
155
149
242
166
198
208
225
217
149
183
185
247
147
146
188
202
201
182
206
147
146
188
216
236
221
192
130
184
191
214
176
156
189
192
241
143
221
189
143
200
151
236
175
224
230
256
163
204
178
162
130
300
191
115
243
138
158
222
237
187
172
141
176
214
203
264
172
146
210
182
189
192
210
179
202
201
130
155
214
155
211
244
166
204
173
181
191
149
268
185
193
173
239
169
191
206
185
234
173
248
146
239
150
218
246
177
247
122
235
155
158
226
200
222
230
176
169
242
176
164
191
182
202
201
158
152
230
187
173
242
249
254
196
193
236
180
291
273
146
179
194
205
230
287
152
170
173
214
212
219
146
180
133
143
115
152
149
154
211
143
211
128
176
263
170
167
146
129
217
201
176
203
162
190
156
188
199
178
180
160
161
161
229
200
130
180
133
161
185
144
214
115
212
143
202
209
192
164
281
177
175
249
236
188
258
210
158
263
162
176
230
176
183
204
129
129
192
238
145
149
194
190
194
180
231
158
227
210
129
229
238
240
229
250
201
287
151
170
235
193
175
249
169
133
212
204
146
130
217
145
162
190
146
152
231
133
133
158
199
176
206
129
173
207
165
155
238
156
129
169
146
209
184
184
146
122
239
177
171
173
225
145
273
153
194
263
221
158
178
210
175
197
151
274
228
192
180
211
143
259
191
166
242
164
260
204
168
213
161
200
146
132
161
201
302
211
202
179
183
143
245
217
210
210
168
222
130
189
231
258
180
257
241
293
199
145
173
183
169
216
216
155
181
202
235
182
199
133
146
146
212
160
238
251
179
217
189
172
143
275
192
158
239
156
160
185
195
130
176
202
219
224
195
209
230
138
145
182
229
176
146
157
164
231
173
129
185
172
129
283
236
176
204
178
169
129
165
206
195
211
201
168
202
258
129
173
208
194
150
206
161
204
239
145
185
184
201
254
202
173
173
155
178
193
129
115
224
183
231
176
129
208
214
130
191
232
203
175
144
145
204
174
147
264
201
149
167
143
218
241
193
171
149
190
204
181
315
208
257
146
230
189
158
174
157
176
176
163
179
210
215
221
155
175
178
246
146
178
168
185
141
161
210
158
259
158
176
229
115
166
248
247
251
197
217
178
141
225
218
164
200
250
166
303
204
205
288
201
163
202
152
171
210
203
204
266
179
173
173
165
164
133
222
173
202
202
144
147
206
168
210
193
170
184
146
209
175
201
257
133
157
183
209
159
146
166
246
168
217
219
227
173
272
200
187
210
158
133
239
255
211
195
164
155
157
180
179
199
184
186
195
130
129
188
254
263
202
161
187
164
257
252
247
213
249
164
182
179
191
322
146
217
238
201
198
146
229
204
173
129
162
203
283
236
199
133
246
190
193
191
173
130
268
186
206
184
232
184
228
174
169
230
210
129
197
146
173
200
130
233
151
129
198
174
204
221
166
308
146
238
173
200
201
200
179
191
168
186
177
232
178
225
180
219
267
243
179
217
173
132
146
335
235
189
214
133
211
143
190
150
215
200
201
175
199
234
182
270
189
251
225
173
191
195
256
229
130
169
211
230
226
210
169
165
176
187
170
164
147
209
256
146
257
233
180
212
218
179
166
219
184
158
208
201
178
115
272
173
165
189
188
234
146
145
175
225
130
158
190
210
173
244
184
165
129
213
216
146
181
158
204
162
129
242
212
161
283
214
176
173
232
227
171
238
291
192
174
218
215
225
243
173
153
197
246
158
230
265
193
208
204
162
173
197
251
169
194
168
155
230
146
166
214
162
129
157
156
209
193
208
203
229
201
193
160
239
199
199
210
210
164
236
156
146
138
141
178
184
202
202
207
256
162
226
156
173
199
202
179
190
170
186
236
214
132
225
150
213
210
220
178
258
335
209
173
197
217
238
246
201
162
184
173
183
194
205
129
191
283
216
179
190
191
168
196
188
166
176
181
184
130
195
144
146
143
216
238
150
159
225
171
143
146
176
174
170
115
186
193
180
238
248
225
173
153
228
191
255
274
195
224
143
155
146
219
173
203
216
191
158
184
248
194
152
172
230
211
214
214
176
130
184
141
129
229
202
174
190
210
198
153
185
130
191
184
176
115
227
217
173
168
184
214
209
239
238
133
200
184
172
191
285
158
173
129
129
132
217
227
181
201
201
201
142
252
145
209
221
190
226
189
170
197
162
234
213
233
153
200
204
143
211
198
129
183
132
179
168
173
242
244
230
167
146
195
175
217
184
115
146
164
259
129
205
270
150
145
146
194
184
233
141
237
201
238
176
178
200
192
169
178
146
129
146
162
253
160
200
149
207
202
133
261
157
201
210
263
169
181
192
201
256
156
280
115
302
197
188
192
258
152
179
217
176
172
194
230
179
201
162
208
164
158
176
133
188
211
170
178
146
145
179
218
285
184
204
266
308
195
255
173
204
222
160
197
198
204
183
214
164
200
194
172
133
221
162
221
196
171
253
173
149
181
185
190
213
237
181
206
163
210
155
171
208
166
252
147
197
243
130
160
202
236
216
275
180
283
185
138
234
211
146
250
130
184
189
179
223
214
198
181
127
173
178
245
150
122
210
199
133
207
115
155
129
176
162
200
210
183
183
264
192
205
208
129
300
221
156
212
193
191
217
132
129
203
181
146
247
210
130
176
180
180
200
129
268
241
176
216
210
190
303
207
202
186
225
277
169
174
144
176
243
197
258
183
300
173
129
236
130
188
191
206
218
230
173
129
210
235
177
156
191
160
180
171
170
115
156
190
205
184
203
188
146
214
188
217
186
115
209
133
157
220
129
216
230
146
191
161
173
156
226
122
186
231
168
206
151
206
252
146
200
206
218
211
141
169
149
254
283
168
255
175
177
169
187
155
143
283
176
138
182
132
158
277
166
221
191
183
234
183
187
207
185
216
176
210
145
178
156
184
169
173
158
184
160
155
146
160
122
216
191
229
216
174
129
229
192
161
115
179
217
158
168
283
122
210
237
182
184
176
164
199
211
178
214
178
184
158
227
261
222
172
217
166
209
202
208
115
217
181
216
206
193
141
222
133
192
143
261
145
259
179
169
115
204
227
206
164
227
176
253
186
158
241
265
212
236
130
174
239
221
247
204
183
146
146
146
197
147
265
205
229
143
211
234
240
180
231
145
191
186
188
207
168
224
282
174
179
193
184
227
128
246
211
225
184
225
167
170
179
184
158
141
202
191
212
175
191
144
231
146
180
200
173
145
239
158
183
200
197
143
217
143
249
158
189
161
162
173
145
160
171
211
130
158
239
258
176
168
164
173
129
169
206
229
129
202
197
177
193
270
216
235
179
143
200
162
254
166
246
205
178
189
146
202
262
115
164
182
178
245
175
186
145
183
206
228
179
204
215
156
144
261
119
141
168
176
172
181
172
179
202
152
222
141
141
261
168
155
178
238
129
150
115
160
185
185
130
228
262
300
169
173
197
155
176
150
174
145
289
172
137
133
129
256
145
204
206
115
184
182
183
133
229
151
183
215
241
221
239
229
160
191
205
202
130
217
201
262
247
211
188
146
145
192
170
119
180
250
130
130
202
177
130
210
155
227
170
164
206
184
159
240
173
216
207
204
244
206
182
146
234
191
138
208
189
200
173
257
184
184
161
226
162
230
133
209
185
210
164
190
177
129
246
239
261
241
184
228
160
251
218
174
169
194
129
129
146
256
178
175
205
203
155
115
210
235
303
138
209
183
185
197
146
173
159
184
253
219
188
205
147
173
178
130
208
330
210
217
221
197
145
158
176
246
226
219
187
189
201
162
184
166
250
115
186
164
226
176
236
210
130
165
201
158
221
188
240
149
191
211
176
162
261
295
188
270
248
260
179
173
262
193
174
191
176
195
165
230
130
217
238
146
218
260
231
173
201
173
214
160
245
130
252
259
149
230
129
179
176
217
227
129
210
179
257
170
239
171
176
221
133
228
168
239
206
232
187
210
236
246
122
219
191
133
143
129
186
164
173
156
129
236
184
200
128
199
217
206
208
198
239
185
164
164
176
211
201
211
185
335
247
183
176
147
244
173
128
184
264
129
256
146
129
184
230
210
163
176
225
133
176
252
229
129
202
214
297
220
179
210
150
122
182
184
199
240
188
141
194
211
204
198
160
173
190
185
210
232
128
200
242
143
216
130
249
128
169
262
190
115
200
133
164
207
264
156
206
191
200
213
217
151
146
227
173
184
220
196
159
180
162
191
147
184
222
233
208
174
171
200
182
256
173
182
171
249
212
160
181
194
210
208
235
182
221
200
186
206
259
204
143
262
231
146
164
168
225
184
203
210
192
146
173
167
210
160
204
200
191
265
211
211
162
166
224
300
248
235
157
191
185
204
173
230
129
212
176
167
129
129
222
160
227
164
219
173
132
236
146
178
130
129
147
169
246
203
175
158
160
198
181
160
190
191
190
143
211
254
178
190
198
214
210
168
184
210
283
188
216
130
158
189
168
195
211
204
201
138
202
244
197
146
173
175
141
147
230
167
251
173
128
233
146
179
115
195
169
175
269
159
186
138
203
187
239
228
192
130
210
282
168
149
173
220
149
191
167
175
248
150
156
179
129
173
198
179
181
202
203
129
244
178
182
159
150
194
229
146
211
159
183
272
209
186
189
133
231
200
273
146
170
238
169
162
220
179
146
209
204
171
173
184
146
203
195
206
210
164
353
261
268
130
200
185
213
173
181
149
195
217
191
149
130
210
146
210
129
146
115
204
167
196
191
218
210
189
179
204
146
158
168
129
281
180
198
147
201
166
183
204
190
161
164
238
230
217
129
174
182
133
218
146
198
185
229
253
244
166
198
201
256
240
165
210
211
146
205
237
147
130
201
238
175
221
191
173
218
179
162
204
182
172
133
129
188
168
146
219
129
204
157
193
194
215
133
269
176
149
192
204
146
199
250
193
158
146
193
170
143
204
230
265
210
204
155
129
173
129
205
204
178
149
133
187
196
231
145
147
195
146
152
182
146
122
166
218
240
244
177
238
184
248
182
294
172
179
182
322
182
255
191
204
251
190
168
203
289
175
202
145
147
156
176
161
180
181
182
204
115
238
264
165
173
197
160
129
213
192
185
304
181
185
151
173
188
269
161
183
269
175
269
200
222
143
173
156
176
172
150
211
219
221
183
199
129
173
227
264
195
150
167
153
254
248
146
179
268
222
168
185
130
122
252
129
177
275
188
235
149
248
208
119
214
252
130
176
202
181
191
184
200
215
173
190
173
217
224
178
130
164
175
203
263
133
242
187
335
262
169
158
130
160
247
204
238
176
242
274
202
206
156
206
235
257
171
265
277
203
162
211
197
204
157
182
205
195
226
204
162
230
164
204
207
191
235
270
168
237
146
221
170
202
146
287
223
213
183
221
191
192
227
176
184
217
199
204
200
247
218
204
129
190
184
303
231
204
180
187
264
228
240
185
143
193
248
200
224
132
168
214
129
263
150
213
185
234
208
179
176
210
143
173
157
206
145
195
247
305
130
271
122
202
159
129
222
261
246
130
157
138
198
195
222
181
173
231
130
182
195
183
196
145
188
183
217
184
280
221
138
152
152
157
215
164
214
164
172
204
210
146
202
237
236
146
251
157
194
263
230
210
205
211
194
157
235
179
164
195
204
255
265
206
176
151
202
181
211
115
196
230
129
131
156
158
160
187
130
195
229
176
164
161
193
164
169
171
335
238
158
186
250
141
172
141
129
152
183
122
196
183
237
210
210
204
217
261
211
226
176
246
150
204
236
208
227
155
186
230
115
179
168
204
167
181
188
187
169
206
157
221
251
145
206
129
217
208
146
152
255
185
182
200
235
176
129
272
210
133
201
215
217
229
210
158
143
200
261
129
252
174
189
158
252
263
129
146
168
201
239
138
146
225
133
193
238
167
183
227
180
179
150
192
189
179
191
178
178
179
245
171
177
254
138
180
184
226
204
204
218
220
262
246
164
222
180
230
212
129
183
183
155
182
177
176
225
216
129
146
235
130
219
158
229
164
210
187
210
229
231
178
151
129
163
145
147
145
283
176
129
173
166
129
178
129
263
216
211
208
146
146
202
259
146
182
235
265
238
269
168
186
169
115
246
179
200
204
158
181
177
201
263
182
168
261
138
230
230
183
164
200
173
203
182
219
228
254
138
198
220
163
189
179
176
183
247
216
171
285
163
185
225
179
182
173
179
191
161
130
115
176
229
185
149
199
191
168
183
202
211
261
247
173
167
213
176
150
161
192
242
178
162
115
168
208
187
173
185
182
179
195
257
189
261
256
189
259
115
190
178
129
161
225
173
204
231
201
185
180
300
186
194
161
204
182
235
164
183
176
174
157
207
304
204
255
173
130
195
176
239
202
129
210
217
250
215
177
145
221
130
149
173
188
196
181
266
194
145
210
241
227
178
275
138
154
212
261
129
162
188
179
208
174
198
234
203
158
208
213
202
191
122
247
312
324
210
214
236
149
175
166
202
224
220
236
217
210
115
173
179
210
270
239
200
283
179
303
192
164
188
153
195
233
183
209
204
238
158
138
219
237
211
194
146
146
229
130
217
218
163
222
182
186
130
195
138
204
201
173
237
238
168
206
153
221
194
210
173
238
210
213
133
200
132
194
155
146
227
204
285
210
122
194
191
160
172
166
173
229
176
259
254
226
178
179
171
238
253
129
225
213
152
149
237
192
153
169
206
210
182
216
251
237
174
164
283
176
170
133
264
211
176
129
170
143
190
203
222
232
122
218
217
192
195
202
180
222
183
173
189
187
214
160
173
150
265
173
141
232
166
236
208
166
230
235
228
146
195
216
178
129
218
176
173
146
171
171
129
200
176
129
158
157
173
225
201
190
119
130
200
159
205
214
164
204
219
175
262
164
166
236
190
122
162
252
201
268
209
225
209
130
155
219
186
228
183
204
217
154
149
198
207
176
235
238
130
230
240
192
158
162
222
226
216
210
173
173
252
217
141
177
143
132
122
190
226
200
172
165
263
245
224
264
205
242
184
233
146
214
184
133
218
253
233
201
176
200
242
185
242
238
173
189
178
173
193
180
204
171
202
204
158
141
149
244
246
202
184
222
200
227
262
208
181
176
217
240
180
215
149
238
204
169
164
231
129
284
158
211
173
247
173
278
210
292
201
239
182
179
242
228
158
294
222
217
211
239
230
130
169
150
182
115
235
165
132
173
181
130
246
194
149
165
288
173
204
204
226
217
211
219
115
175
129
210
262
205
133
234
173
144
166
200
234
241
171
168
146
173
168
213
225
242
189
191
191
127
182
223
185
173
182
209
190
211
176
264
195
180
223
189
236
212
176
182
173
182
201
173
176
199
130
283
155
130
164
149
173
204
210
144
233
191
129
241
240
219
164
193
210
146
204
130
172
264
221
141
158
200
191
161
229
245
227
131
162
130
187
230
173
166
247
155
155
238
156
146
188
178
252
219
230
179
183
181
162
239
176
146
181
176
210
133
145
173
173
179
218
160
129
206
285
173
174
182
236
204
215
210
217
181
195
174
133
217
164
208
172
217
146
227
181
168
133
170
222
146
257
202
263
164
146
186
195
205
239
173
195
185
217
204
204
204
204
159
201
173
181
163
143
193
129
229
156
204
172
222
206
184
286
156
173
206
206
246
220
149
144
129
159
183
230
180
258
258
188
267
138
177
204
173
214
146
168
221
238
185
185
166
186
129
210
198
201
146
246
175
146
133
292
173
166
247
184
176
237
196
240
203
133
168
234
239
115
252
192
130
162
186
219
195
191
185
269
170
228
229
180
186
173
185
176
130
145
191
182
231
205
218
199
130
172
212
190
143
183
238
145
129
242
248
181
190
209
216
115
179
179
129
211
176
191
212
185
146
176
144
129
217
191
147
214
171
130
185
222
181
230
158
252
146
164
182
179
203
150
247
203
258
174
259
155
254
192
183
199
184
143
180
240
182
197
193
202
179
258
146
183
201
200
115
180
200
271
232
182
173
178
221
187
204
227
240
192
230
146
155
199
184
245
203
172
162
206
143
132
181
237
193
244
168
240
155
176
219
145
181
182
256
285
202
261
214
173
201
233
263
254
129
129
203
210
159
210
129
236
201
197
193
257
217
202
179
157
186
172
259
146
254
169
130
183
200
115
210
200
231
203
146
192
225
195
176
206
143
179
170
115
191
153
230
155
192
129
204
260
145
266
232
281
156
129
173
164
197
183
176
160
212
152
171
130
202
205
145
221
164
257
247
129
229
130
256
176
172
166
202
202
191
192
192
220
242
269
296
247
130
179
200
176
347
241
203
203
217
164
225
210
181
209
143
225
229
156
130
158
216
273
280
182
169
170
208
143
189
168
146
189
191
236
162
152
193
190
230
141
164
145
212
173
174
155
179
164
204
250
217
219
197
173
130
222
237
151
225
228
184
240
160
258
231
210
229
143
188
209
214
204
245
168
166
149
200
169
129
146
146
198
196
151
122
115
215
239
191
217
129
174
235
190
200
230
236
146
179
204
202
162
195
217
242
202
204
150
188
182
176
180
178
182
208
279
227
195
253
236
197
133
173
193
182
225
206
155
254
239
228
192
184
159
191
206
186
179
130
274
193
236
167
236
160
170
224
176
122
210
143
183
143
155
162
122
195
184
244
130
245
254
145
155
210
183
218
149
203
204
178
201
129
166
201
188
162
188
180
204
146
155
192
144
192
247
239
133
130
202
149
169
224
211
229
122
260
204
162
230
214
162
144
230
238
192
191
210
146
232
146
212
143
224
267
238
209
162
185
214
197
173
130
188
201
176
289
204
197
236
236
207
185
168
205
236
115
146
217
146
193
146
196
200
186
185
205
230
265
146
211
235
208
170
182
143
185
230
185
200
173
129
254
261
146
205
146
143
204
204
130
260
130
256
206
194
170
200
161
206
210
206
180
231
180
160
200
185
240
230
178
241
185
178
130
176
200
174
211
171
290
145
188
209
169
168
221
217
264
172
122
171
275
267
191
201
214
205
242
129
194
171
204
270
146
178
158
240
168
195
130
156
206
200
130
122
157
206
228
173
252
248
195
193
157
179
214
201
200
246
287
238
176
187
141
193
219
145
193
182
151
283
145
181
173
235
130
211
207
146
207
160
218
247
122
145
168
173
187
215
230
145
179
129
214
167
234
213
216
156
181
234
198
200
209
173
204
168
119
184
228
190
225
184
229
145
230
171
145
173
179
222
251
173
171
146
239
173
181
180
168
164
171
179
137
130
173
178
153
198
223
206
180
211
184
240
128
227
239
173
180
211
227
178
176
212
129
129
184
176
176
159
199
171
167
189
202
157
201
185
204
223
165
202
201
201
143
129
179
203
224
141
206
179
242
158
201
130
194
233
174
204
130
143
156
168
173
173
228
217
211
173
254
228
138
180
194
201
166
203
143
146
212
147
176
185
115
156
130
182
183
144
246
129
214
194
220
227
211
164
169
170
215
228
129
204
199
203
145
146
178
152
176
198
115
196
162
200
180
184
236
204
258
145
210
173
204
169
180
210
202
187
130
173
164
164
204
198
204
208
173
201
177
176
173
206
172
143
156
128
248
195
202
245
234
210
171
217
235
149
247
171
155
176
189
218
176
130
201
189
248
167
300
155
143
201
171
129
183
179
168
267
160
225
129
129
201
189
200
161
205
201
245
225
229
145
203
236
156
202
210
184
200
182
206
145
246
179
200
207
177
183
199
161
161
202
176
190
259
290
245
195
205
173
146
184
210
168
228
164
204
129
210
143
175
143
173
174
143
276
157
170
204
168
132
166
176
146
203
178
241
260
177
210
179
243
189
236
198
214
171
178
115
203
218
239
226
231
250
221
200
216
181
194
199
247
197
146
203
152
169
202
129
164
202
168
308
218
229
261
152
174
133
162
201
171
227
211
216
115
130
146
241
179
248
246
214
155
217
176
256
183
264
133
151
165
178
129
155
179
166
213
272
217
183
183
217
179
286
211
158
157
219
258
173
178
164
222
259
143
231
217
160
129
184
217
173
155
212
190
209
153
146
183
229
274
192
246
325
200
217
191
164
204
180
133
158
182
147
262
130
186
176
143
129
243
171
129
230
143
230
143
152
217
278
191
174
130
173
184
200
129
230
203
217
220
146
176
172
264
173
175
180
238
199
187
192
289
173
178
203
313
158
130
269
263
206
335
208
226
242
246
231
191
217
179
176
211
235
180
236
258
173
156
204
200
179
201
150
194
161
172
171
146
227
211
185
173
214
179
149
184
130
184
195
219
275
191
235
236
191
164
222
202
219
217
146
263
230
185
146
155
176
219
153
179
130
129
222
173
149
256
214
201
171
201
268
176
215
184
211
133
236
165
208
158
182
163
152
206
185
228
201
162
194
209
190
199
220
133
217
161
218
183
237
259
206
130
213
294
319
168
252
178
229
172
146
166
176
226
146
185
145
175
223
155
150
275
151
186
183
180
145
206
239
211
225
210
195
133
201
199
260
269
189
184
188
230
206
196
292
276
138
130
200
187
208
122
228
146
156
193
299
242
129
155
155
264
250
184
245
236
129
219
211
253
181
161
162
178
115
265
176
150
191
180
173
167
201
156
233
145
225
216
129
246
189
130
186
186
205
230
204
194
212
293
233
149
156
138
119
143
133
139
211
193
150
264
247
174
186
158
156
180
263
179
133
239
146
155
228
190
252
206
143
222
168
171
191
203
230
152
171
164
246
198
186
181
230
172
234
176
270
179
230
158
237
129
210
225
181
218
189
237
146
189
142
191
269
164
204
158
130
133
203
155
203
130
162
200
300
181
130
182
178
296
262
192
227
173
223
146
231
180
187
192
302
146
133
217
251
182
130
184
133
184
248
204
202
175
217
190
176
222
217
225
145
141
204
173
178
151
240
200
237
129
221
189
206
200
208
162
158
194
211
161
129
214
202
163
262
192
168
178
225
198
206
258
195
217
147
173
172
145
179
218
130
191
166
164
203
155
208
200
228
183
259
128
248
185
133
163
202
176
208
185
129
187
145
192
191
200
168
143
171
163
184
141
156
231
176
206
213
202
176
172
209
179
151
132
129
211
226
184
230
238
201
132
186
221
231
249
184
169
204
119
183
201
115
205
164
115
186
180
206
146
177
213
277
155
183
141
191
133
223
129
188
157
281
256
162
178
206
214
210
156
186
227
162
164
130
201
115
188
192
179
211
176
274
146
166
194
194
200
162
211
188
203
271
185
172
238
252
226
246
201
129
251
169
179
216
173
151
195
265
146
146
143
146
214
211
129
194
188
162
286
214
184
137
209
195
155
186
169
143
161
164
145
158
176
199
222
171
250
221
197
210
145
164
222
216
268
171
191
218
224
210
129
235
214
201
204
145
183
168
160
164
172
156
168
192
169
164
182
164
129
249
307
209
231
146
200
223
174
228
129
218
184
130
138
214
217
217
193
166
205
149
168
188
239
179
130
166
221
266
129
210
182
207
171
184
189
115
173
180
252
176
115
213
184
132
152
216
210
240
211
204
164
161
294
173
195
199
129
200
145
209
164
185
210
160
184
150
150
186
219
193
150
256
249
176
210
129
200
146
206
159
133
217
206
141
258
210
195
185
166
204
179
246
247
152
183
130
145
208
227
212
147
151
201
191
236
230
145
260
201
258
133
230
266
130
191
313
156
176
181
204
176
202
222
221
169
265
195
204
143
214
192
146
155
300
146
165
220
230
146
145
166
192
179
244
212
204
210
211
197
146
190
182
129
218
244
178
115
223
300
206
236
182
146
287
191
168
179
164
259
155
158
133
143
210
241
201
176
143
196
176
210
240
192
189
133
222
183
246
306
237
188
164
175
149
176
246
204
162
207
133
216
189
195
191
194
184
150
236
197
184
201
141
226
182
196
184
235
145
191
244
143
217
176
122
200
164
192
214
206
146
158
148
145
229
204
237
185
161
258
222
202
239
217
218
129
156
258
180
165
205
201
138
255
133
215
133
171
176
220
202
201
181
129
187
202
165
227
240
183
204
236
179
193
235
197
192
145
162
184
200
173
179
178
272
231
163
160
259
191
130
217
211
129
206
252
243
200
210
178
194
229
162
198
211
130
190
173
130
204
197
225
210
181
187
234
164
256
222
217
210
222
225
191
146
155
158
200
203
146
227
202
206
161
133
201
218
155
178
173
172
181
183
180
185
238
250
176
162
162
192
202
295
179
162
258
115
254
200
204
239
191
197
185
156
130
215
130
145
187
211
130
225
160
191
168
175
210
179
228
238
231
236
211
193
197
222
167
221
182
206
204
207
189
239
237
230
200
173
149
199
194
186
205
211
254
169
242
130
205
183
163
226
166
294
168
130
187
196
262
216
179
145
179
245
221
211
225
240
262
198
179
257
206
236
191
215
204
206
202
205
222
129
228
150
158
274
186
210
289
141
232
216
192
256
209
210
150
184
145
216
239
199
211
228
195
227
216
236
182
157
173
173
183
201
173
158
195
256
230
188
213
148
176
186
209
174
171
143
227
259
188
169
129
195
129
145
144
200
202
173
143
211
208
130
179
190
181
256
144
159
201
145
204
119
210
141
146
143
162
203
180
261
255
159
210
146
150
214
213
146
173
186
186
195
228
201
130
303
184
225
138
221
203
179
176
150
208
173
204
132
217
190
149
149
171
162
256
172
191
229
208
264
182
166
162
239
147
238
129
145
130
214
132
189
173
232
231
258
205
162
169
212
190
168
202
178
184
200
155
261
254
229
133
133
272
130
204
157
335
167
173
156
239
287
143
158
209
189
225
186
145
184
179
172
204
157
130
147
146
179
234
182
230
206
234
182
178
191
236
269
244
130
159
164
167
191
185
204
245
188
230
161
130
162
226
162
241
164
128
250
241
206
256
184
176
270
222
157
158
193
241
212
254
182
169
195
145
149
209
171
217
119
217
129
218
157
130
191
200
169
176
212
130
250
152
180
197
201
187
191
206
220
201
197
199
172
192
244
278
176
335
197
200
130
180
206
201
129
260
200
208
150
209
226
264
158
244
187
145
209
195
153
176
194
178
130
182
184
167
210
187
176
133
238
204
255
158
176
200
129
273
173
158
194
228
215
162
187
197
166
206
211
185
218
264
187
272
201
197
238
168
246
162
158
143
199
231
202
221
183
130
164
210
184
183
225
197
209
242
217
189
254
164
178
164
217
180
252
174
156
204
208
211
158
129
129
221
188
130
240
162
176
254
211
218
222
149
217
146
145
198
138
170
202
232
178
160
143
184
246
207
197
209
173
181
173
201
129
149
172
334
201
184
132
186
129
166
169
179
240
217
185
168
194
204
150
176
173
202
192
194
115
204
193
236
160
164
188
186
129
222
145
186
147
200
239
204
182
206
179
216
231
156
210
259
189
179
176
188
211
130
200
211
229
255
178
238
164
202
146
214
172
167
173
200
119
202
191
149
133
185
141
229
201
234
231
209
158
178
230
204
177
181
237
130
187
211
251
173
197
208
200
206
185
145
206
178
115
176
187
274
186
237
159
144
115
174
256
174
147
216
201
157
236
184
202
195
201
239
198
215
201
205
176
236
223
172
146
244
190
220
132
208
176
245
236
147
147
130
176
185
166
190
180
182
211
214
190
143
238
292
158
157
268
181
146
176
236
203
179
133
173
157
129
143
155
180
230
166
210
180
184
206
179
163
130
176
231
187
184
239
164
129
217
173
201
196
177
168
187
240
174
160
129
244
184
175
197
205
146
232
256
204
188
162
146
196
143
191
144
144
180
176
247
211
215
170
241
204
175
181
162
176
210
205
155
257
239
226
262
194
210
186
201
207
173
183
138
295
202
129
194
228
183
185
146
228
172
168
152
150
221
133
202
185
183
143
175
145
146
168
180
199
272
129
253
246
243
273
204
248
173
146
167
204
222
264
146
182
204
171
153
236
217
158
194
231
160
176
150
229
203
161
235
146
164
195
238
222
205
248
214
214
162
176
172
179
200
211
182
189
156
176
175
239
145
176
146
173
210
184
235
130
176
203
174
188
230
255
212
172
299
173
214
218
160
246
231
184
248
200
254
195
203
130
202
215
129
227
146
170
226
201
185
182
197
146
195
207
264
188
179
178
226
206
208
192
204
204
176
251
164
222
184
163
173
194
166
186
217
180
218
183
219
185
178
201
180
190
196
174
217
246
155
164
130
233
130
202
251
211
193
199
210
210
115
172
204
188
173
180
206
178
168
138
217
264
169
211
202
146
212
247
230
204
245
115
138
163
230
210
141
181
297
229
122
162
184
194
192
146
219
176
180
217
174
206
205
146
180
256
173
158
141
173
221
169
176
376
195
150
174
253
210
179
133
196
190
228
189
172
163
234
184
204
171
129
210
314
200
219
202
204
166
155
175
143
256
222
253
141
206
190
174
192
141
162
205
221
133
238
133
247
227
255
184
210
129
201
197
161
171
162
200
247
199
146
227
205
204
207
168
232
170
178
173
190
201
162
129
223
162
254
297
130
228
225
176
176
201
217
149
178
164
238
218
176
194
166
173
174
164
288
205
159
282
130
130
185
212
267
185
162
217
175
173
133
171
129
188
192
221
211
181
222
143
171
239
200
208
176
209
130
168
147
163
186
182
165
184
122
324
184
184
206
251
146
245
262
146
138
261
236
330
194
188
177
182
217
211
173
199
204
285
129
201
143
185
221
236
145
238
225
232
250
231
168
192
277
209
264
204
155
194
214
190
162
228
146
266
146
180
181
155
216
164
197
173
204
228
146
249
185
179
247
200
184
158
185
201
206
143
298
203
274
230
173
164
181
172
169
132
138
209
217
219
155
166
188
216
167
222
188
176
193
213
145
169
183
192
235
145
175
201
174
178
204
179
173
228
138
129
173
217
191
182
173
170
229
189
145
162
240
215
203
188
164
130
217
176
245
173
173
201
219
217
173
143
188
179
235
157
185
182
244
238
201
193
146
173
251
325
201
210
175
191
130
200
224
246
207
130
192
146
184
176
233
200
171
221
173
200
247
259
146
191
239
164
229
185
169
238
213
162
200
151
195
219
151
155
146
164
173
211
130
209
180
146
240
195
240
216
204
181
218
133
149
202
129
167
236
234
176
234
172
263
230
188
240
228
176
228
206
173
201
214
199
160
143
115
244
201
130
168
145
197
195
222
204
241
179
210
168
194
130
172
130
203
193
176
201
164
238
208
204
122
243
226
217
168
217
168
203
179
168
204
147
181
182
129
169
146
155
282
122
173
239
145
150
219
199
133
246
166
157
228
170
179
179
231
129
343
189
254
164
217
257
185
180
206
160
216
181
189
130
160
115
146
160
178
129
241
207
187
191
176
281
143
204
183
181
211
153
227
158
200
217
244
214
141
164
157
141
210
202
195
145
271
246
213
180
153
194
173
129
204
255
211
147
191
254
218
144
129
200
141
169
207
172
192
275
176
257
162
180
270
130
194
248
237
158
247
146
184
246
215
164
227
246
176
199
132
155
201
176
201
225
162
151
191
217
206
239
238
191
197
156
211
190
168
197
129
182
186
184
186
182
143
184
210
182
238
270
215
181
146
157
204
207
146
146
187
211
143
173
218
173
288
190
238
219
153
218
217
200
199
230
159
191
283
193
206
202
202
166
130
285
183
204
146
165
233
204
185
211
173
206
210
225
130
227
225
210
188
129
129
195
235
179
255
219
201
200
143
274
170
217
172
210
299
204
253
158
209
129
179
255
168
183
155
225
214
158
178
260
173
130
183
181
146
185
169
297
233
230
178
180
190
172
297
265
204
218
133
230
181
184
221
168
262
210
168
173
147
210
251
180
235
201
183
200
241
260
258
184
335
263
195
225
183
246
238
178
204
221
203
215
264
206
202
169
218
149
122
155
171
200
162
223
208
176
158
167
256
158
210
178
199
162
203
129
170
196
146
146
163
176
180
210
278
252
128
173
202
184
239
160
129
162
186
143
169
146
171
234
191
145
182
189
201
216
184
187
179
252
168
200
119
130
202
130
141
273
217
179
143
184
293
215
238
241
163
130
143
214
203
173
201
187
138
210
272
255
244
151
194
156
191
162
133
206
188
166
174
258
200
252
173
166
210
178
240
193
282
173
180
141
204
173
122
201
158
202
220
204
204
195
209
204
214
234
185
191
173
173
185
158
171
206
168
159
253
151
161
229
144
231
242
186
163
176
190
225
187
238
197
223
217
204
193
156
256
201
184
210
164
217
209
173
218
283
193
201
229
191
146
188
206
195
201
185
252
155
167
158
239
228
204
204
223
145
174
274
238
144
213
168
210
173
208
177
204
212
202
146
155
247
170
128
188
214
230
164
195
204
192
252
133
201
200
189
195
194
130
210
178
227
173
182
202
130
206
156
189
295
192
192
246
252
195
145
204
227
223
143
228
197
146
204
188
183
176
265
168
199
222
231
210
178
225
128
146
226
146
242
169
236
276
173
205
190
203
190
247
146
234
141
146
173
184
204
190
166
143
156
168
215
200
224
254
184
141
211
218
225
239
242
215
213
195
141
296
169
247
222
161
221
243
172
234
201
217
151
232
201
202
254
156
178
204
246
244
204
122
208
162
128
237
172
129
199
245
181
129
158
193
191
130
190
230
172
178
283
179
202
256
203
236
164
193
143
162
170
173
199
182
258
180
213
176
145
162
202
178
192
235
178
130
236
143
140
130
191
182
193
141
151
206
146
169
176
207
155
171
229
166
181
200
128
164
158
215
150
204
204
248
241
190
202
181
129
202
242
194
200
173
184
238
223
214
145
168
183
158
146
173
164
201
231
211
133
199
224
272
200
239
236
184
176
164
193
203
176
174
230
141
201
258
152
252
201
200
130
182
152
146
187
251
146
215
274
146
242
236
197
208
168
213
149
145
241
175
179
173
129
201
203
209
204
172
179
130
233
178
167
209
189
176
205
146
225
188
233
200
143
209
133
239
169
257
177
197
225
146
151
211
146
210
138
236
220
264
166
145
129
204
216
234
234
222
200
204
189
143
264
173
232
200
176
201
141
176
219
261
196
202
173
202
209
143
191
199
183
216
230
181
145
130
215
152
171
204
204
129
210
176
293
263
221
184
169
146
254
182
129
166
155
200
284
188
199
145
153
176
202
227
258
293
239
194
138
173
141
221
147
177
218
155
184
132
129
202
216
230
181
130
173
246
195
242
145
173
176
129
182
174
246
220
237
146
229
191
202
155
202
204
179
206
250
246
235
196
180
219
235
146
157
200
197
162
206
217
166
226
147
206
115
191
146
201
217
150
175
209
173
179
204
171
230
188
122
197
173
138
145
164
202
240
263
198
202
181
129
129
211
156
283
129
141
229
283
187
228
227
168
216
168
206
213
155
115
219
214
145
187
238
217
171
214
225
185
255
230
206
129
185
198
201
130
156
130
143
143
184
129
211
235
201
225
166
264
156
156
227
244
146
173
130
237
219
216
164
162
200
209
167
160
146
129
186
143
260
221
166
179
211
184
162
240
168
191
162
212
158
206
217
258
202
164
165
145
204
219
163
162
199
192
240
201
138
183
176
296
178
201
219
267
205
190
171
204
231
158
145
171
187
193
206
246
207
204
210
179
128
238
221
214
270
184
222
173
173
225
182
168
210
157
143
220
181
252
184
209
191
249
129
143
176
287
171
172
151
130
150
228
231
222
226
182
198
190
187
234
160
143
176
224
205
173
204
169
176
205
219
173
175
166
152
211
164
199
169
191
203
217
130
173
226
203
145
179
130
176
210
184
184
162
296
184
239
186
173
215
226
156
248
182
214
122
227
183
294
156
231
236
143
184
115
179
209
180
181
210
217
191
201
209
173
210
173
162
143
227
231
191
228
179
263
207
205
227
176
237
215
198
162
214
213
212
173
214
231
130
236
122
173
176
212
182
200
192
181
158
167
150
210
165
211
221
184
150
169
258
153
240
233
200
143
149
202
313
225
170
209
227
210
160
219
162
145
201
245
129
176
143
179
149
234
215
145
236
172
143
181
209
208
202
204
129
173
275
309
132
179
230
173
184
146
184
192
162
178
204
179
230
256
146
203
130
218
160
184
119
214
179
146
176
182
173
143
174
178
129
179
152
183
149
184
188
189
226
205
156
236
130
199
188
182
200
241
130
309
206
206
191
209
169
129
210
197
229
223
183
203
252
276
173
146
164
248
262
173
217
217
201
145
178
297
251
226
203
143
204
192
249
230
173
221
185
143
173
143
164
143
168
158
175
152
203
219
177
223
203
228
176
188
132
265
146
176
143
239
185
191
208
203
133
170
236
239
190
228
155
173
191
198
236
259
230
181
210
122
246
181
129
204
240
228
268
209
185
158
194
129
203
236
186
189
230
166
179
202
206
215
200
234
200
230
130
263
192
162
129
177
236
138
211
214
201
173
166
236
133
233
202
166
130
218
160
173
181
201
146
180
164
132
217
157
179
200
204
166
204
239
274
183
281
166
165
174
138
133
143
201
150
189
283
217
218
185
180
250
206
181
192
164
189
202
276
191
197
191
222
130
161
195
251
129
203
213
163
232
182
236
195
183
173
188
270
180
173
195
194
180
146
130
183
203
204
214
143
115
173
211
188
185
191
232
194
167
146
161
150
158
170
273
204
257
206
152
178
218
146
166
187
186
185
152
218
160
165
185
171
245
216
184
130
119
210
263
146
153
180
198
204
256
180
200
141
191
180
181
182
130
133
293
147
230
146
230
198
170
221
149
237
206
127
209
211
161
176
184
211
145
194
201
143
211
155
190
199
230
217
302
244
162
220
168
160
222
146
174
187
198
130
164
180
233
168
130
143
198
210
231
239
278
195
239
220
192
169
299
259
143
181
185
188
179
225
236
200
164
221
169
211
200
195
236
176
130
153
255
210
214
168
225
199
185
158
191
173
232
179
182
252
190
182
129
164
190
196
133
241
171
174
208
149
176
171
182
167
146
200
172
146
176
204
211
195
157
162
145
153
214
130
133
190
263
183
173
223
201
235
177
261
129
173
264
179
264
217
222
202
171
187
179
186
156
159
197
181
146
146
204
183
208
212
179
241
173
234
174
158
208
210
270
129
210
203
176
122
178
165
197
146
188
195
240
229
145
244
222
130
146
217
202
188
173
229
253
149
181
146
227
178
200
320
195
183
171
303
164
146
162
227
129
236
144
229
146
204
156
185
244
146
183
152
272
254
186
217
206
184
176
195
249
162
190
176
264
175
164
228
232
232
213
133
229
217
146
256
238
164
175
176
160
222
130
185
216
201
204
173
181
166
162
210
179
180
204
164
222
167
283
158
166
237
155
222
161
171
230
261
130
200
204
143
178
196
239
145
283
129
210
194
130
151
200
166
193
130
184
115
234
240
130
163
256
201
213
198
197
129
162
233
150
255
208
204
231
143
204
236
182
178
169
233
193
188
221
192
258
227
202
173
179
252
130
208
163
130
227
185
208
184
216
158
244
208
182
141
173
182
178
228
216
133
149
180
189
216
133
231
173
217
185
130
148
129
222
188
221
177
163
194
173
171
257
167
238
143
195
115
246
179
145
210
178
153
157
171
188
146
173
185
149
169
240
180
158
210
205
182
179
184
145
146
181
159
162
210
115
141
204
210
205
230
206
155
230
210
203
178
188
180
160
255
176
220
240
148
248
171
167
225
199
185
146
202
145
213
235
143
171
176
229
217
235
206
179
189
254
160
131
275
128
181
129
130
145
233
129
193
130
258
187
193
204
143
165
200
143
185
220
143
215
133
168
160
195
216
156
168
230
235
115
138
229
173
259
146
174
129
131
260
224
181
141
176
133
146
146
181
238
122
169
173
242
232
161
158
204
146
210
178
162
183
182
206
225
155
183
164
150
203
162
130
146
273
185
168
147
167
168
178
156
180
133
204
171
188
287
184
211
210
145
115
255
226
222
196
232
192
173
176
145
200
189
159
264
119
251
204
203
195
155
130
147
163
204
141
183
202
175
167
168
143
128
169
157
133
173
200
261
208
191
218
231
162
173
226
195
179
194
153
178
183
204
130
218
206
143
256
211
210
133
173
193
200
130
130
220
146
168
146
131
227
209
221
169
132
208
168
214
162
208
206
236
251
183
239
160
267
167
193
195
198
130
214
158
164
251
233
212
157
146
164
129
285
176
186
138
143
145
333
198
264
195
238
200
176
219
184
146
210
157
129
222
158
236
244
168
168
167
258
173
183
205
179
224
227
191
146
230
133
228
223
240
214
227
229
214
240
211
159
188
201
221
234
214
200
199
224
181
179
209
193
143
230
176
176
122
173
176
238
186
162
236
192
192
176
115
171
122
172
209
252
275
180
162
178
181
202
168
204
223
265
168
164
166
194
129
178
173
179
146
214
132
130
211
204
129
168
236
171
162
174
146
264
285
189
145
223
224
169
173
184
175
133
182
173
172
217
115
188
155
160
178
184
173
129
263
149
216
173
194
206
236
130
214
265
223
252
286
236
248
173
173
182
229
182
216
194
238
230
171
217
192
169
238
146
173
132
259
179
217
180
133
176
239
150
173
213
203
130
270
204
210
181
153
208
161
172
178
217
186
185
181
185
178
243
275
159
190
141
230
170
195
151
194
176
258
162
188
115
211
179
168
252
238
145
150
176
217
173
257
200
187
251
115
238
224
162
167
227
189
211
231
194
130
129
184
220
236
179
176
191
130
234
192
237
202
176
183
129
211
210
221
115
210
185
168
225
225
214
180
307
180
191
173
228
204
173
210
173
164
253
291
115
206
198
201
143
159
184
173
202
285
218
162
146
131
197
210
174
145
202
183
191
185
194
227
202
146
199
178
191
141
133
151
261
226
187
266
164
191
196
198
129
184
279
214
180
236
182
259
188
189
130
184
176
258
204
214
196
239
138
162
180
204
133
183
206
183
181
191
287
179
168
193
216
229
115
182
162
186
186
220
173
146
268
192
189
238
202
162
158
143
167
226
158
176
231
210
115
219
204
218
133
179
146
258
202
201
173
209
289
141
174
204
200
206
194
167
237
194
240
206
335
234
176
236
201
130
156
234
141
172
164
217
156
129
173
217
190
173
232
146
243
171
188
204
229
189
204
316
143
169
158
204
166
145
130
216
166
164
197
221
143
227
160
173
217
161
181
145
204
202
237
193
179
171
215
146
160
144
165
173
204
191
129
129
128
173
218
182
197
156
258
199
182
159
241
147
187
203
205
178
197
181
201
180
153
168
209
241
204
237
166
182
225
259
129
226
130
199
215
265
115
201
206
201
202
254
176
216
199
252
144
194
185
129
191
158
146
273
179
170
236
193
217
193
202
195
190
146
188
166
169
146
214
183
164
164
273
195
181
228
204
156
246
222
178
210
184
231
217
222
211
146
302
231
184
176
184
189
183
201
173
213
133
177
210
209
198
176
174
129
217
145
249
175
130
209
190
222
207
129
176
225
191
180
202
190
145
228
204
264
176
240
181
173
277
233
229
283
221
160
230
227
200
271
201
238
224
254
309
175
168
219
191
198
209
178
264
244
180
177
160
217
159
226
194
162
128
265
145
258
182
231
234
154
169
191
138
208
162
194
191
167
219
176
173
176
149
162
217
193
165
130
231
204
143
221
272
157
242
129
173
173
192
221
227
216
169
185
160
144
184
159
206
180
200
218
181
164
195
202
129
298
267
188
169
200
175
119
179
152
205
203
223
128
235
115
174
170
222
229
150
200
253
213
200
191
175
171
207
150
130
205
222
210
175
213
304
179
183
248
245
257
251
180
254
192
200
162
204
248
189
184
143
241
115
155
192
250
234
245
239
146
204
204
275
206
185
221
173
210
158
191
230
181
191
204
234
182
170
204
225
164
218
176
212
129
238
214
206
147
207
217
210
168
153
209
182
189
183
230
161
174
184
181
236
186
184
175
206
211
129
184
288
210
173
274
207
145
174
146
204
182
180
284
217
246
204
217
194
164
202
191
184
187
201
148
176
217
130
146
248
217
203
238
168
283
133
230
259
204
201
180
210
150
200
210
202
161
133
176
185
195
182
173
236
334
183
146
130
169
200
214
181
211
205
190
226
177
168
176
245
239
222
209
184
161
219
122
229
211
200
180
235
201
208
141
210
173
162
217
216
289
150
208
271
168
173
179
131
152
157
173
217
174
204
198
185
185
173
205
211
160
217
188
146
216
210
217
191
219
229
200
168
231
176
230
240
202
198
130
197
147
176
176
158
129
193
180
146
238
262
161
130
201
172
202
222
187
200
129
222
160
227
237
188
158
171
145
258
182
129
173
215
129
143
176
217
145
186
213
133
237
202
235
166
188
173
191
176
224
255
179
182
202
252
239
119
204
225
143
217
178
146
214
173
236
247
129
166
182
171
259
258
157
217
217
145
158
247
231
182
221
141
214
243
182
167
228
147
238
156
199
145
186
216
180
281
210
168
205
180
232
229
204
254
161
194
206
250
187
189
182
180
151
173
156
179
193
129
202
195
129
221
145
201
145
256
173
147
156
199
207
189
224
211
145
188
271
195
221
250
228
166
218
232
166
115
133
183
177
133
255
170
176
216
173
178
252
160
189
180
200
180
191
133
147
155
129
228
228
266
150
168
210
208
132
169
183
200
210
237
179
162
242
144
210
143
160
178
173
210
180
130
162
144
195
152
278
174
130
230
193
203
179
256
214
186
217
201
217
202
215
215
176
176
183
164
228
171
149
225
238
164
129
230
192
204
181
191
216
218
190
212
197
183
204
157
177
207
255
182
203
181
231
211
232
158
164
146
176
211
209
176
176
264
234
173
179
222
197
185
244
219
184
150
178
191
167
173
184
176
255
183
178
222
219
235
204
197
153
187
198
245
261
204
176
115
240
184
178
181
189
130
173
255
129
254
207
203
253
153
158
256
147
138
204
201
201
236
213
184
176
173
168
226
226
198
178
161
172
178
162
217
214
205
205
176
253
216
168
226
254
129
243
246
180
129
129
261
130
236
133
189
164
212
272
162
213
219
213
230
238
230
210
202
185
145
231
168
173
138
203
130
205
214
149
199
189
162
176
145
251
172
168
133
224
192
241
238
201
119
145
230
187
146
235
133
200
129
191
187
179
141
270
247
176
217
187
210
242
157
130
211
244
187
206
174
200
218
165
164
212
230
195
160
166
129
170
201
173
206
141
130
209
168
224
158
184
262
186
171
210
185
179
173
190
202
200
128
205
217
210
182
171
179
177
161
206
143
178
146
185
200
264
176
202
183
186
180
173
224
201
221
225
186
178
236
183
230
166
189
129
254
129
168
202
264
192
228
217
150
182
240
162
128
197
174
248
169
146
184
221
194
173
183
231
227
162
199
168
115
182
163
211
217
146
159
152
190
184
144
258
164
215
229
258
247
171
146
129
219
191
179
226
182
182
164
178
183
151
214
159
158
255
178
129
175
162
185
167
214
158
195
156
209
188
209
186
145
181
204
239
133
250
153
115
146
149
233
196
156
193
210
168
167
185
159
212
194
184
129
222
207
207
162
188
186
184
197
204
239
275
186
201
146
189
174
155
179
202
167
176
141
197
199
156
187
185
229
209
188
214
129
213
185
239
240
183
225
130
133
184
214
154
164
187
129
232
195
158
178
173
129
201
201
232
185
190
209
200
115
188
303
192
169
302
224
202
225
164
201
200
183
141
173
170
129
218
191
191
185
176
200
225
212
173
221
227
204
229
217
176
173
170
191
217
234
289
179
225
238
194
209
162
174
195
176
141
130
164
192
231
185
151
176
204
297
204
221
196
166
210
204
193
270
259
236
181
238
175
230
166
173
129
222
244
205
168
197
237
181
156
283
176
207
129
210
155
206
204
176
300
145
201
190
165
238
170
162
130
287
255
223
133
162
274
177
171
150
128
146
193
182
197
209
183
145
199
149
227
159
129
217
219
249
182
138
221
209
129
176
138
171
200
190
191
165
230
185
140
189
155
146
227
200
213
161
122
169
129
230
129
159
221
167
230
286
206
164
181
145
208
200
287
168
198
222
195
272
201
261
222
203
178
248
175
218
163
182
217
252
155
239
226
244
221
335
207
243
184
146
115
254
163
270
173
129
146
227
176
258
182
322
271
161
199
238
204
232
157
200
242
200
211
191
186
280
173
163
146
146
185
180
130
219
164
156
225
184
249
173
214
162
204
267
200
226
205
206
249
217
254
210
258
164
232
229
192
129
179
150
252
264
183
262
146
138
219
158
232
158
211
129
129
180
216
182
157
179
208
143
206
201
245
176
203
208
185
227
167
143
144
169
195
191
176
224
207
265
242
187
224
206
132
156
146
185
162
187
225
158
184
130
168
217
257
251
189
224
167
210
200
162
191
230
161
227
218
156
143
245
129
164
176
133
204
150
322
129
257
145
202
223
281
173
258
206
129
202
115
238
225
158
163
181
210
219
173
164
164
299
200
160
242
183
202
169
115
211
184
178
192
183
218
129
164
233
130
174
138
276
214
165
162
217
172
115
186
303
130
176
214
197
199
149
119
133
194
228
185
155
129
181
242
306
224
149
185
238
150
210
164
221
190
168
241
176
223
265
217
230
201
216
206
146
129
184
189
166
254
181
211
173
209
247
130
215
168
197
206
181
195
166
190
241
197
248
192
182
222
253
184
185
191
208
210
130
130
217
260
225
143
184
133
193
146
202
213
246
194
129
185
325
195
167
238
184
204
225
209
115
204
211
185
163
212
133
281
185
184
115
209
183
168
147
221
267
227
146
260
173
225
129
247
176
188
182
174
229
176
239
203
204
279
173
221
202
245
176
242
206
151
230
172
168
176
142
122
151
171
145
216
158
230
185
190
156
204
233
115
174
199
223
184
271
188
145
173
169
245
186
233
130
201
213
225
162
183
208
200
175
146
203
210
162
277
211
258
264
203
201
241
158
164
199
201
265
204
320
176
130
229
229
176
199
173
335
204
172
179
170
195
205
200
198
176
250
167
202
260
168
146
133
237
164
129
115
130
194
202
202
195
133
193
179
145
206
190
182
262
161
222
173
150
250
200
151
130
183
211
216
211
209
213
176
183
189
130
188
173
287
204
208
186
275
334
176
176
158
260
143
172
203
166
211
180
172
249
178
217
283
168
197
234
203
183
173
171
231
162
122
145
195
239
173
217
234
259
196
204
176
216
244
251
229
138
229
297
169
155
218
146
231
199
129
200
195
146
213
204
216
187
225
205
150
229
183
246
202
239
217
190
243
236
204
188
210
133
201
169
189
221
173
164
169
334
165
211
203
236
211
207
138
133
129
160
252
204
162
145
182
143
158
151
133
133
179
247
218
162
190
213
133
129
182
248
260
192
201
235
183
187
307
182
129
200
200
210
239
193
204
224
259
170
232
173
211
199
146
200
214
215
169
166
168
173
170
217
184
165
170
214
218
182
201
182
173
251
158
155
215
218
258
152
185
245
234
155
164
187
230
303
176
130
189
221
209
188
146
222
230
202
208
234
237
203
217
175
209
211
242
173
166
152
129
204
187
156
183
115
174
217
133
240
236
224
201
204
183
176
147
243
195
261
203
221
194
217
204
202
157
180
213
230
130
141
231
178
158
146
200
143
217
214
141
151
150
256
200
197
199
162
176
208
245
160
182
220
213
173
204
198
130
201
146
215
224
208
230
188
221
239
130
216
210
240
201
191
202
190
162
168
217
170
129
279
168
272
184
204
296
122
184
224
169
145
234
169
211
183
239
256
171
173
146
176
276
201
212
251
206
216
184
189
282
173
210
181
115
182
187
129
168
239
229
230
164
211
201
150
182
169
186
187
202
162
175
239
151
231
214
211
237
201
173
219
221
208
236
203
168
184
231
143
129
184
244
242
176
173
171
211
152
213
226
216
211
188
190
183
222
229
239
207
169
186
165
261
115
221
256
190
208
183
171
221
155
141
204
129
244
115
230
158
181
179
141
239
238
212
129
179
179
146
115
299
176
217
206
247
220
201
202
158
170
179
193
182
166
200
324
115
176
203
202
149
253
169
130
246
202
147
167
143
217
263
258
180
197
173
252
115
180
241
227
192
146
187
217
239
213
231
158
166
214
275
262
155
228
209
191
202
198
211
180
130
156
183
152
200
141
178
146
169
164
173
210
186
206
164
231
164
146
146
202
161
201
179
169
122
130
191
162
162
138
204
145
133
176
239
229
160
129
166
132
172
216
192
204
189
183
235
196
191
130
173
200
189
259
176
252
127
239
221
164
216
176
193
251
130
164
188
204
277
237
268
133
178
158
130
176
141
201
191
156
190
122
240
217
242
238
180
239
259
231
173
194
130
150
182
184
174
146
179
228
151
175
236
129
254
229
281
200
246
184
220
184
170
176
246
129
188
179
183
232
176
232
188
190
138
209
247
130
182
164
217
217
148
208
194
255
230
173
133
189
256
129
145
249
133
175
235
156
129
325
158
128
152
200
164
184
353
145
152
246
230
191
149
176
198
194
172
149
195
302
221
146
242
230
189
212
248
231
210
138
130
180
203
226
252
232
187
230
188
146
207
215
192
143
146
173
176
138
200
183
184
129
238
247
258
158
299
204
179
266
227
145
162
155
200
166
161
133
146
158
212
237
180
212
163
218
173
132
200
208
168
244
145
236
182
150
176
201
168
179
168
133
181
239
184
233
201
143
296
179
201
214
227
178
147
192
144
160
210
206
203
169
230
257
168
202
162
179
177
226
158
210
165
240
210
185
167
276
180
202
239
158
155
263
201
156
188
211
156
205
130
238
129
261
173
141
250
182
195
163
185
190
225
146
176
146
259
178
204
174
216
214
185
204
166
255
183
214
195
280
130
172
247
146
237
192
178
206
184
184
158
230
209
183
190
210
206
141
223
254
160
217
217
213
237
130
204
169
216
254
172
130
164
206
150
261
209
182
115
155
179
129
129
206
211
191
165
184
186
180
225
225
146
188
183
162
228
144
251
176
333
167
210
155
262
129
202
187
173
267
143
218
146
202
198
240
203
153
177
228
189
218
168
173
176
193
217
214
155
146
186
221
176
207
211
146
210
186
221
169
191
191
201
239
192
255
133
238
130
208
194
244
158
210
173
210
174
147
170
197
204
159
133
218
168
192
238
230
204
204
200
200
179
209
183
212
173
212
238
173
204
160
158
130
142
180
171
186
207
130
184
247
146
189
138
179
176
210
168
138
175
169
160
263
210
183
173
129
240
206
238
129
225
189
155
145
173
194
150
185
162
191
184
145
194
204
209
231
212
211
184
182
150
186
207
201
146
180
129
173
221
202
194
133
225
198
185
155
137
143
216
235
214
115
115
168
172
145
173
203
130
228
152
200
196
188
203
169
182
183
176
202
261
168
129
193
260
143
156
182
259
219
162
153
211
130
229
130
184
172
259
310
168
202
231
182
178
129
160
197
168
129
191
162
176
264
177
129
162
182
133
188
252
177
217
208
143
225
210
221
264
194
184
164
138
182
182
231
177
209
173
174
170
176
188
145
203
164
158
214
162
203
264
193
204
264
227
179
129
206
164
179
176
203
172
204
162
189
145
171
214
277
237
158
150
238
179
211
180
248
164
176
238
189
201
206
237
180
177
198
248
202
233
210
239
234
162
130
256
236
265
192
177
217
130
178
172
287
182
196
201
209
155
189
197
173
130
185
129
146
305
205
287
218
254
215
149
129
146
129
186
161
211
188
146
182
170
162
146
199
228
176
147
217
130
207
129
188
182
189
210
166
166
241
129
200
179
130
173
185
275
231
206
264
146
283
182
138
185
150
193
234
143
251
179
115
169
217
164
185
179
202
186
203
181
209
147
185
115
150
166
158
143
190
169
204
205
195
169
185
129
184
209
166
173
238
209
242
242
182
149
173
178
149
176
179
171
152
129
173
205
228
155
202
210
162
141
161
170
176
184
255
176
254
204
182
171
133
150
195
282
145
130
176
221
176
265
200
145
189
188
201
204
157
130
205
182
153
158
160
173
155
220
128
206
158
129
243
217
210
236
185
186
158
175
221
198
176
155
199
190
211
261
129
232
229
146
192
167
215
203
166
149
184
183
210
165
183
164
221
173
161
184
160
128
240
158
246
145
204
262
259
115
162
236
211
200
188
129
166
239
199
179
225
232
171
232
160
200
263
179
143
161
229
210
228
199
210
176
213
237
205
240
264
162
212
115
202
180
176
185
129
162
206
156
231
176
173
145
179
199
184
173
144
162
200
179
162
146
174
172
270
173
231
129
191
274
239
181
177
222
146
230
203
247
168
236
203
145
183
194
194
214
173
180
173
167
173
239
234
195
176
242
180
254
225
143
157
224
217
190
150
149
174
181
238
146
158
242
177
274
158
225
133
217
236
192
158
215
162
253
215
138
181
230
184
193
225
147
156
182
173
204
164
145
174
138
217
133
186
176
166
181
191
165
217
182
176
204
202
182
145
236
145
197
133
217
209
239
199
211
208
200
185
183
189
145
200
225
200
191
169
193
164
150
206
237
172
173
249
130
248
202
153
146
133
192
207
179
220
145
236
236
206
241
189
183
276
234
184
156
242
161
205
204
183
138
146
178
216
227
173
187
211
211
158
173
158
207
187
143
228
297
228
179
206
182
167
146
231
166
218
162
147
221
176
173
144
194
115
210
257
130
115
174
183
264
179
198
210
130
164
182
129
152
200
170
178
169
222
167
183
240
156
238
149
176
146
184
201
213
155
191
173
200
192
229
229
168
228
182
202
191
200
144
173
197
198
161
176
201
238
147
150
182
287
203
208
235
130
190
230
169
146
157
221
201
211
138
130
216
167
229
255
213
207
158
237
185
195
244
146
239
216
181
144
177
186
264
274
198
219
189
221
228
169
206
213
236
252
203
178
129
138
130
179
145
179
184
164
176
228
133
244
241
143
249
179
195
174
204
167
182
242
161
236
182
143
282
265
167
182
222
185
204
239
225
263
186
162
155
277
201
183
193
150
187
182
145
217
239
286
186
129
176
247
192
186
183
288
173
214
176
185
185
215
130
210
308
186
258
189
250
132
192
237
181
200
141
228
190
175
166
217
160
277
186
183
250
115
208
268
173
189
230
184
180
208
233
206
151
172
191
146
284
224
151
180
185
177
210
163
306
145
200
217
130
155
197
191
184
260
205
207
186
198
164
203
130
162
203
172
195
201
217
197
208
143
163
246
204
192
209
205
129
129
210
133
210
162
176
183
198
180
182
211
162
184
152
130
203
169
182
228
156
208
184
173
173
183
222
251
209
244
202
181
239
224
217
174
182
233
130
143
236
210
180
145
229
146
195
204
263
133
218
129
202
202
178
179
210
169
211
218
297
164
188
270
183
162
238
155
189
128
188
198
146
190
230
225
182
194
180
145
204
185
146
146
202
240
228
130
164
129
152
228
244
243
230
182
222
211
262
179
166
130
146
210
167
193
251
254
190
231
130
223
151
122
180
200
146
162
158
251
176
186
224
239
147
174
181
178
166
199
206
245
202
200
167
215
239
210
179
176
159
211
164
176
193
181
217
195
180
122
162
169
128
173
204
203
146
220
221
210
257
225
208
145
172
157
207
263
190
234
192
143
130
183
183
176
214
144
197
176
184
183
211
194
236
128
238
130
129
184
206
156
221
206
149
228
138
143
220
214
151
169
265
130
218
176
206
185
143
227
230
194
244
230
185
129
219
234
146
151
146
174
184
169
161
186
219
147
274
201
215
235
155
179
202
274
191
130
152
122
201
182
222
201
200
222
242
145
130
166
145
150
254
173
115
171
208
227
174
181
183
183
203
195
220
175
239
129
209
198
210
179
209
247
217
200
162
180
173
158
197
214
266
179
210
165
214
174
186
201
237
210
262
184
230
143
222
145
176
231
240
245
264
130
201
224
173
254
152
138
201
168
145
227
182
210
133
159
130
216
335
186
169
149
156
129
180
210
255
219
201
201
216
196
206
260
130
129
202
211
160
176
246
257
181
234
234
204
146
129
200
143
146
143
130
179
204
164
214
246
130
143
129
150
130
151
193
176
264
256
240
217
130
230
161
201
252
230
143
221
288
188
176
216
153
212
149
192
220
267
176
231
190
212
145
176
211
141
158
130
146
184
168
200
230
158
187
207
196
257
205
183
220
203
143
139
212
133
172
173
214
160
176
129
115
155
202
213
192
164
227
209
239
173
155
168
232
206
198
244
200
206
221
161
265
230
184
233
180
186
190
176
166
185
161
182
179
133
274
198
191
211
129
300
207
252
217
129
239
198
143
228
210
174
133
195
240
179
173
166
165
200
246
235
204
246
208
327
177
217
252
149
146
151
172
255
133
214
215
129
209
143
247
217
217
188
179
180
173
270
204
138
199
179
191
235
157
197
164
204
200
204
217
204
227
176
170
184
239
161
143
217
190
210
262
242
219
247
184
189
218
168
133
251
198
205
190
199
188
156
144
180
173
129
271
211
181
238
149
173
222
181
205
183
146
210
223
197
211
179
150
265
150
260
224
146
211
348
217
173
163
213
187
168
164
199
146
181
162
176
204
143
178
162
130
173
217
162
189
158
179
131
188
180
145
297
210
184
200
223
162
181
161
211
203
173
189
236
168
188
210
182
169
196
174
182
133
182
205
172
230
173
239
115
164
162
161
176
183
199
212
191
173
212
202
166
176
228
204
240
195
296
204
168
235
186
147
152
262
212
190
146
250
230
173
155
122
244
146
210
174
246
159
164
183
191
200
176
173
157
209
259
176
209
186
206
210
129
288
210
218
195
173
169
147
228
208
210
211
155
130
220
251
206
204
214
158
199
220
179
236
165
211
231
129
157
213
235
145
173
217
155
146
155
228
258
173
146
141
122
192
195
302
237
182
138
181
180
179
162
252
145
218
195
245
176
156
173
270
168
173
204
164
180
150
247
205
204
173
153
166
165
335
237
181
267
161
206
217
146
195
157
235
166
115
173
252
191
178
256
185
216
179
253
158
133
204
218
211
122
177
176
206
167
176
195
143
193
230
192
254
185
208
160
234
287
129
216
146
203
224
168
158
189
172
188
150
156
150
171
254
230
179
129
141
214
184
119
133
181
182
176
224
237
146
172
155
205
169
133
160
143
228
179
177
129
200
204
246
185
200
187
181
218
230
238
158
322
156
211
249
200
180
198
176
131
145
220
294
161
195
141
188
256
234
230
227
158
211
191
183
151
130
202
192
203
129
227
161
207
211
189
182
158
196
233
182
199
235
241
182
119
218
228
179
209
133
144
173
230
206
129
179
147
173
192
164
214
202
210
183
204
191
195
184
156
204
184
235
146
141
300
187
199
184
115
230
222
151
176
158
238
178
173
164
192
155
158
141
209
160
206
222
231
129
193
173
236
252
195
269
179
161
179
162
197
211
205
235
143
182
235
173
203
205
230
258
255
278
129
129
174
179
192
188
189
210
182
187
178
129
168
232
216
166
156
204
183
210
219
129
155
176
160
221
173
244
201
237
222
194
146
187
271
130
183
187
238
192
202
200
202
166
264
130
166
195
169
188
200
146
168
201
162
208
191
169
206
219
186
210
146
199
205
173
214
210
130
173
186
153
236
210
187
240
160
274
180
202
238
167
191
179
226
115
217
130
129
169
280
174
218
115
184
185
145
143
151
164
162
174
228
184
219
158
192
230
194
333
251
255
204
162
204
164
176
239
186
161
221
150
173
184
146
191
179
115
181
179
146
295
169
162
193
303
188
182
133
176
206
132
187
167
193
129
319
130
164
274
231
164
188
202
138
218
130
215
217
169
164
201
204
161
173
201
146
155
180
188
192
122
202
183
173
180
239
129
207
164
175
215
199
230
201
206
209
203
219
203
133
204
171
187
191
150
287
133
186
168
304
209
199
230
264
174
183
208
200
178
185
188
159
213
158
188
234
168
130
222
213
234
266
274
152
250
166
158
174
210
146
160
211
172
176
130
181
279
223
141
156
133
176
158
207
143
143
168
141
207
133
161
217
202
168
161
229
141
175
259
208
166
129
184
146
173
172
146
250
237
160
130
184
167
180
217
265
222
204
133
162
158
204
212
179
210
194
172
183
157
182
203
162
211
281
216
222
164
173
143
213
224
168
210
244
283
173
165
147
130
129
191
129
169
146
179
191
172
283
230
197
231
173
149
240
210
143
191
195
162
178
182
251
287
272
204
172
181
212
183
173
172
164
151
283
199
146
191
192
176
182
145
191
210
259
210
173
182
204
321
119
280
173
221
198
217
193
234
194
150
193
263
210
216
239
211
216
202
170
216
188
185
130
185
200
139
173
155
133
238
214
180
173
185
202
190
298
203
179
303
234
170
173
211
211
191
254
210
173
158
130
152
197
172
185
257
210
129
173
220
191
115
143
184
213
190
263
214
194
173
202
129
335
225
130
181
162
215
160
145
186
145
204
203
155
146
234
181
218
211
204
173
204
133
254
194
158
197
247
240
183
208
202
237
230
173
306
191
211
130
211
192
130
206
221
211
189
130
168
147
169
133
200
179
146
178
162
184
181
209
146
158
200
129
164
152
161
158
158
209
169
133
164
129
197
179
173
178
177
152
235
176
176
178
222
241
186
252
133
240
204
219
115
119
155
212
188
203
244
230
219
200
242
200
335
202
209
164
223
236
191
238
207
183
129
190
169
252
199
147
202
141
246
250
231
202
298
213
193
183
180
143
223
217
146
206
131
201
186
176
115
173
221
119
231
162
195
160
227
228
156
264
162
267
187
184
181
129
300
206
193
205
195
203
158
227
129
209
178
199
168
189
193
147
209
186
204
249
272
236
236
252
200
166
143
189
203
182
172
210
239
180
173
129
145
130
129
187
254
146
186
336
216
158
201
226
133
214
181
129
264
186
299
161
146
215
210
184
221
173
130
150
129
176
166
229
238
202
169
151
180
180
169
146
221
182
206
222
130
224
244
176
210
173
129
283
130
218
187
190
181
182
115
256
259
162
115
176
228
176
229
179
151
149
182
205
246
177
184
253
145
208
146
145
238
210
193
146
130
115
230
207
252
217
182
170
225
212
189
133
164
180
183
210
185
146
182
209
146
143
212
167
201
205
173
242
166
215
227
192
171
180
191
203
162
184
130
173
169
239
269
146
244
164
230
149
145
176
204
231
201
146
222
194
222
239
115
162
206
195
155
219
165
259
219
289
146
304
132
189
250
173
192
215
156
215
156
173
147
130
206
189
184
143
210
130
146
152
178
129
257
191
256
201
253
192
179
195
209
174
146
130
221
183
195
185
184
210
202
217
158
162
251
236
133
129
246
188
259
191
146
141
146
138
130
225
176
177
167
175
146
309
171
173
129
207
199
122
172
230
158
167
146
240
232
187
169
173
183
211
157
236
210
152
191
189
218
166
215
194
180
231
228
183
230
204
179
247
204
132
194
192
244
195
149
253
210
122
225
202
202
204
190
206
171
178
193
164
191
266
173
146
219
203
231
221
197
227
185
176
160
215
185
190
179
186
202
194
167
133
173
210
186
199
197
210
188
188
168
212
145
151
197
204
217
146
145
184
237
252
204
246
214
231
145
174
201
228
160
189
122
247
157
191
129
174
210
214
179
146
210
170
228
221
261
246
192
133
133
178
186
133
158
130
129
176
201
205
132
210
202
214
204
203
192
158
221
211
250
151
167
155
201
185
234
171
195
168
292
247
161
174
143
190
230
201
236
153
170
231
183
191
223
205
132
236
240
177
165
130
239
143
225
242
233
200
192
173
210
195
229
156
146
179
168
211
155
217
238
189
146
204
227
181
225
173
129
146
143
195
164
245
212
221
216
174
162
236
161
184
176
210
204
175
162
145
200
179
236
179
184
225
138
153
221
194
225
146
204
182
179
202
240
210
182
231
271
169
169
130
214
203
217
200
210
130
300
238
148
271
168
145
222
302
272
195
184
158
194
122
217
205
201
115
230
202
176
216
178
210
155
278
179
225
185
194
156
292
241
162
157
210
241
241
210
178
264
190
186
261
122
160
187
146
157
155
176
226
230
235
194
222
211
174
182
265
155
209
132
223
193
229
138
166
206
210
213
211
146
190
173
172
211
173
129
195
219
155
212
179
229
191
166
180
179
161
248
234
133
201
168
238
189
204
182
274
244
141
208
206
210
231
210
201
164
130
207
182
204
280
195
190
145
162
246
182
156
232
185
181
163
230
200
151
181
130
174
283
209
244
180
250
128
166
227
185
227
219
212
271
244
201
236
200
179
130
180
195
244
195
169
133
159
246
188
207
301
236
210
202
129
229
177
256
210
169
195
259
130
122
187
187
170
225
199
130
145
201
159
234
258
321
129
267
217
208
197
214
217
200
235
159
241
203
233
138
158
187
219
174
160
253
156
132
202
169
158
178
146
181
225
145
186
252
174
199
179
211
236
202
133
206
152
202
158
186
221
197
130
146
191
204
164
206
182
246
195
146
179
242
264
158
184
280
240
176
253
225
211
169
192
285
193
161
246
187
119
203
169
206
231
217
166
143
147
206
153
143
184
130
161
257
237
192
184
212
230
236
159
162
231
200
145
150
168
235
202
132
178
255
169
146
115
139
243
255
129
283
175
255
171
189
184
138
130
191
115
223
253
231
210
241
168
166
204
204
186
130
173
173
164
187
296
229
193
207
151
234
193
197
195
249
180
176
296
178
184
156
180
160
225
210
222
215
196
262
265
252
196
190
191
204
242
206
141
181
176
145
168
192
202
130
228
234
212
172
222
168
173
217
200
115
226
162
227
222
242
191
202
230
145
204
133
151
194
199
186
245
210
292
185
173
129
267
210
227
166
173
179
249
204
190
199
166
176
168
230
211
197
173
200
200
252
195
229
143
166
179
204
174
206
129
206
146
129
157
195
173
138
259
169
239
173
130
229
203
179
209
178
175
230
229
215
146
195
130
178
176
187
149
231
217
166
171
278
229
190
183
184
229
130
115
178
187
203
156
146
168
242
193
343
254
133
173
217
204
213
185
190
179
203
232
133
130
162
200
241
201
168
212
141
146
208
213
182
237
170
211
175
158
234
164
201
164
210
192
226
160
211
177
211
236
130
180
129
266
182
204
219
177
224
179
209
160
217
179
173
219
265
176
172
199
145
231
341
209
155
143
211
191
182
173
173
182
170
188
200
164
256
214
146
222
274
198
180
130
199
243
187
230
173
155
198
179
195
146
197
155
260
180
244
173
216
164
145
185
158
162
182
258
171
138
161
173
230
130
303
180
218
273
212
218
203
182
171
181
228
150
115
173
231
210
202
230
246
204
181
264
129
209
181
152
246
146
184
238
228
203
275
161
207
186
195
225
178
143
130
246
145
201
173
179
149
201
168
190
151
201
249
186
219
199
204
239
216
185
180
188
132
214
168
176
261
182
129
220
211
164
130
171
214
152
286
182
184
129
187
297
196
226
227
176
175
166
239
143
160
238
148
145
193
162
180
159
180
130
214
210
184
202
141
115
169
146
241
206
155
214
204
169
151
245
183
161
283
233
201
180
162
217
217
286
205
146
162
203
206
288
141
129
146
235
151
204
173
189
206
162
146
210
173
261
176
138
209
212
176
204
145
191
173
176
168
188
226
184
150
188
155
191
253
178
192
152
162
236
217
211
130
186
228
197
238
176
146
192
168
143
210
193
194
130
129
213
184
202
192
174
204
173
241
191
226
202
275
129
130
207
168
216
217
225
238
222
145
173
115
165
163
130
191
260
165
230
161
236
176
212
173
210
170
194
162
143
146
207
155
130
210
191
143
212
160
235
184
153
250
176
187
208
146
158
164
146
192
204
199
227
213
222
229
258
129
217
201
176
178
184
182
173
225
191
231
228
184
115
157
250
193
155
129
146
175
158
158
234
204
206
262
208
146
211
200
171
180
204
230
175
130
178
176
174
198
210
196
254
204
193
184
188
211
226
230
157
191
153
206
206
223
162
200
165
242
242
206
217
281
166
182
215
222
160
214
168
204
185
194
179
217
190
186
209
211
182
231
216
149
227
210
184
140
182
201
150
217
208
216
245
197
177
210
205
175
174
178
202
254
164
129
255
238
178
144
129
129
237
146
263
218
191
195
189
146
160
221
176
206
202
178
156
200
200
168
176
201
275
185
129
201
202
254
286
143
198
184
240
204
202
179
165
186
236
146
221
210
202
176
184
242
146
206
187
234
210
227
209
173
204
129
176
210
213
249
209
259
173
212
171
174
244
206
227
145
180
179
172
192
240
220
188
218
146
163
198
172
265
185
189
174
164
115
182
165
214
176
209
201
200
227
191
258
185
216
188
210
312
262
194
156
247
222
183
144
166
122
185
235
199
129
155
211
167
254
204
230
181
185
181
188
217
183
146
184
228
146
183
242
186
228
130
146
163
232
204
211
208
210
185
190
146
204
191
230
162
218
156
189
133
212
237
222
252
188
204
115
204
228
192
224
217
174
130
181
219
130
156
176
138
230
189
146
173
176
238
213
243
155
168
217
206
130
177
171
219
173
222
280
130
212
297
130
193
175
222
236
177
184
296
199
205
249
194
146
200
210
219
202
230
138
223
217
261
246
222
180
210
222
164
249
230
132
150
226
240
248
254
269
180
141
212
229
166
204
210
176
178
129
184
191
195
145
214
209
230
195
176
228
210
216
210
160
184
179
200
229
200
229
335
184
133
178
235
144
196
200
244
184
176
188
168
189
156
209
264
227
250
138
179
251
206
217
207
234
207
173
130
162
155
146
253
141
182
214
228
228
235
146
187
181
230
210
190
145
194
146
160
130
149
223
156
213
202
189
176
194
149
175
158
223
179
184
194
181
194
191
182
201
187
218
176
158
210
130
246
188
141
191
264
173
146
200
269
145
191
166
183
246
146
200
256
129
165
130
229
263
177
231
158
174
199
237
156
176
257
166
166
318
231
130
224
217
186
210
143
198
247
202
247
173
181
156
211
215
161
174
151
178
201
210
143
261
212
146
236
191
173
203
167
162
129
189
201
160
176
130
237
230
207
115
168
209
238
184
193
197
204
213
183
244
235
182
164
201
188
249
143
224
207
261
178
201
186
250
218
173
200
185
224
210
152
155
169
230
129
236
198
335
145
297
230
185
240
146
243
182
195
221
181
238
196
216
178
150
133
129
195
138
217
211
207
244
199
155
178
234
191
247
157
183
138
209
201
146
176
230
185
202
218
254
170
254
198
145
146
190
193
199
158
192
217
200
335
193
155
232
193
187
210
162
238
168
191
252
182
186
155
201
227
174
204
243
284
239
219
252
164
132
206
172
152
148
181
192
150
115
204
254
129
182
221
206
206
153
132
214
208
183
231
254
184
222
210
162
183
278
150
185
225
149
227
239
182
204
215
166
129
204
217
145
228
190
162
129
239
158
174
210
245
162
247
210
156
173
149
150
211
191
191
170
119
169
271
252
204
188
227
210
174
240
146
217
184
132
187
270
130
217
188
190
200
247
221
275
235
174
182
156
203
205
162
158
182
202
203
174
191
243
176
231
166
146
138
235
203
212
200
152
210
242
204
148
296
146
146
160
203
129
303
204
211
157
256
191
231
192
198
145
303
297
213
184
248
129
261
168
173
273
150
194
173
205
270
240
130
219
195
130
199
145
179
263
184
172
204
191
209
168
130
129
192
214
211
211
155
162
115
129
231
129
193
238
146
122
129
179
208
200
115
133
238
129
147
172
180
216
210
211
143
206
234
173
179
179
180
205
228
204
185
183
209
242
247
164
238
183
229
211
245
201
217
141
192
184
146
216
129
146
233
184
181
146
233
250
211
162
174
150
168
130
173
273
115
132
155
181
172
209
204
246
129
210
195
195
199
185
173
168
216
266
230
228
258
185
271
274
130
178
146
214
145
227
165
189
210
183
233
218
160
224
200
156
166
115
169
261
210
115
211
129
138
130
129
155
186
191
206
213
129
288
203
173
156
173
182
224
200
244
247
130
146
198
176
152
194
154
179
218
249
149
156
138
190
269
133
146
257
143
242
184
268
130
203
188
212
176
160
141
217
222
202
115
115
188
214
184
195
161
204
224
180
199
166
205
210
164
189
236
264
204
130
211
169
235
275
115
158
236
185
195
231
221
238
257
173
217
191
146
198
152
208
231
175
266
233
194
192
200
291
188
210
181
255
132
247
129
195
253
211
176
243
217
157
189
146
161
162
214
147
224
141
129
210
206
232
164
133
168
296
188
163
208
200
254
212
182
214
162
174
175
178
174
161
146
216
146
143
158
251
204
205
146
248
238
221
171
188
176
185
162
230
206
243
159
187
133
146
238
146
166
210
178
285
213
255
192
257
176
160
192
229
190
176
129
189
176
186
167
138
227
222
201
210
227
221
149
141
185
183
291
221
209
173
210
232
175
183
230
187
204
150
221
222
184
176
189
163
200
223
308
180
158
141
173
201
224
210
188
176
184
169
186
221
133
129
182
230
211
270
235
164
247
202
206
223
253
160
183
175
288
130
194
176
188
220
191
292
210
164
162
180
179
188
205
242
150
210
164
165
224
250
200
201
179
217
162
191
204
216
215
130
225
173
169
129
263
139
146
186
197
214
186
180
230
162
247
196
210
209
115
230
238
146
209
129
186
300
238
219
239
249
194
281
145
228
146
201
216
130
173
147
235
174
238
204
133
270
173
174
164
225
264
189
202
218
226
210
179
216
214
239
183
155
162
250
216
211
191
224
192
246
173
202
194
184
199
205
196
163
168
156
217
184
188
211
158
246
209
250
216
201
227
247
130
130
188
193
185
217
141
169
256
153
191
294
282
234
192
282
206
143
221
153
151
179
203
131
181
214
177
212
157
219
155
138
263
176
280
204
236
158
265
193
150
216
208
209
214
158
209
190
184
145
176
266
164
213
202
209
213
236
129
181
219
129
146
190
204
252
215
146
204
130
238
189
233
175
219
190
227
199
228
155
184
174
122
236
130
156
158
219
158
173
168
188
235
273
252
158
213
173
146
222
217
193
230
211
211
176
138
178
133
210
191
158
201
173
130
218
263
186
164
130
308
151
129
185
153
176
184
182
184
261
272
143
115
204
212
156
240
199
194
228
183
143
169
164
181
231
246
239
199
235
206
159
288
245
181
183
205
193
211
129
197
191
158
162
176
156
141
175
122
190
192
194
217
253
183
181
138
182
210
203
129
132
179
202
201
133
234
191
211
230
146
174
173
183
151
173
208
201
130
200
199
178
193
195
272
200
164
198
186
239
143
165
230
133
178
180
173
208
202
192
156
140
130
151
179
200
246
150
175
146
169
173
183
204
192
222
115
182
167
176
192
182
210
138
270
201
161
133
157
147
180
195
211
143
193
239
143
208
186
211
197
206
146
241
285
196
188
195
204
173
129
187
180
233
129
202
230
158
201
122
255
164
210
183
152
255
129
173
215
185
261
149
251
146
201
210
203
195
227
272
236
146
158
165
220
146
176
171
176
191
152
166
266
201
209
283
194
173
185
258
163
181
178
179
262
172
219
250
166
202
152
176
115
178
195
190
149
229
287
240
182
191
222
173
163
146
129
234
182
258
115
157
173
238
156
185
182
129
194
294
256
275
146
145
168
241
129
170
212
175
258
267
130
182
203
153
173
140
167
173
168
174
164
162
217
197
187
207
129
216
227
236
157
242
176
243
115
190
218
179
144
212
210
211
195
195
252
129
229
207
184
257
129
206
213
241
210
172
146
217
162
258
180
201
158
173
221
146
258
173
223
207
186
218
187
191
222
207
213
233
160
173
183
180
170
179
240
189
261
181
143
162
211
130
168
204
202
222
182
201
218
173
230
169
162
133
152
194
185
204
268
218
185
179
225
173
211
264
286
217
250
200
158
204
173
188
239
184
167
194
180
213
238
130
133
195
179
167
221
167
258
178
230
203
173
232
188
227
168
204
226
129
203
167
155
169
173
147
284
222
222
182
168
253
204
156
263
130
149
228
253
146
248
129
184
184
185
193
202
210
171
145
210
250
194
162
239
169
173
228
173
261
129
228
197
195
183
229
193
194
143
230
150
191
240
224
158
130
149
192
187
146
138
180
173
169
173
300
130
179
129
115
176
233
210
182
191
209
145
133
241
195
146
169
145
194
115
303
241
183
238
173
158
198
149
180
225
238
171
209
156
222
180
230
173
143
211
185
205
239
179
159
188
220
266
164
169
176
161
130
227
210
192
224
216
228
129
170
130
185
202
146
143
158
130
155
169
230
269
122
210
252
238
200
150
196
205
217
143
179
194
173
254
168
246
221
168
200
221
143
150
162
194
147
151
173
227
233
236
163
173
211
252
146
187
193
130
187
168
174
171
210
129
228
252
180
264
179
179
195
217
129
234
246
200
293
225
150
119
207
194
190
157
184
129
161
221
149
189
217
166
173
195
193
129
153
138
228
164
209
173
230
161
235
178
133
166
212
182
145
172
225
192
151
151
176
169
255
191
190
224
195
190
201
230
212
186
130
191
182
145
182
183
122
217
151
276
156
122
128
230
143
143
203
241
201
206
267
225
182
162
182
178
208
143
274
201
173
204
181
195
195
158
180
217
145
130
157
177
176
162
204
200
129
184
164
250
201
149
204
210
204
178
185
211
261
162
221
296
169
210
238
227
247
168
168
191
180
238
168
256
168
173
195
201
173
255
200
164
146
168
162
228
145
204
210
212
205
171
242
173
129
177
252
201
206
130
162
166
217
168
146
206
180
115
242
217
145
194
188
210
196
146
168
236
227
163
235
155
184
173
191
222
203
129
221
143
148
138
178
172
199
216
239
173
180
207
180
202
179
180
217
236
225
180
195
149
264
165
266
147
198
185
143
199
193
153
192
209
239
210
209
201
186
281
173
193
173
146
234
152
180
185
182
164
208
173
145
115
174
145
252
265
213
184
240
179
170
211
189
217
233
236
181
210
173
182
183
247
166
204
223
133
239
129
216
281
164
178
176
181
181
179
182
241
251
235
130
115
264
208
129
129
143
227
185
207
217
130
146
141
141
162
221
145
259
206
277
161
246
130
195
146
130
211
231
204
178
214
192
266
229
205
226
202
169
210
161
133
180
205
195
210
178
150
152
182
146
183
221
204
129
206
178
150
204
162
130
162
176
256
176
233
204
248
204
206
237
210
166
187
248
182
191
166
246
129
162
237
256
203
200
209
179
274
243
206
211
178
229
283
174
164
216
179
157
173
160
185
178
173
192
143
179
207
174
198
188
211
214
171
245
172
173
195
188
173
263
247
193
251
248
244
179
244
206
178
188
202
215
155
239
217
161
250
210
158
275
173
199
210
166
194
170
182
179
168
133
301
130
130
130
252
170
130
240
184
173
256
182
133
227
187
274
204
226
161
161
219
163
204
206
145
164
150
153
171
146
220
197
205
252
161
227
176
166
187
208
158
130
184
233
175
130
300
145
130
195
158
192
211
146
166
247
168
150
208
216
244
225
194
214
195
247
145
176
210
230
246
186
174
189
225
138
119
189
153
182
204
173
228
166
214
160
168
192
264
177
173
256
199
115
178
168
236
162
273
218
176
189
213
232
179
242
200
201
274
183
115
130
239
184
143
215
205
185
212
201
128
205
201
143
146
190
153
202
177
229
204
255
146
133
191
274
211
167
173
184
147
169
200
230
148
241
257
156
174
179
173
185
234
130
187
222
210
192
189
192
130
170
158
249
179
240
129
144
146
209
179
264
157
264
149
244
229
179
236
185
292
176
151
291
146
173
130
211
184
183
204
145
115
176
158
195
232
178
248
236
212
164
192
244
210
146
264
160
158
204
187
258
145
185
227
167
252
165
249
322
185
146
303
183
129
180
164
161
209
168
187
259
146
202
231
231
265
151
252
180
226
173
214
206
179
146
210
169
225
203
172
156
180
244
221
173
225
217
133
156
143
287
191
184
170
129
146
171
186
199
202
133
164
173
146
176
191
184
160
187
184
191
188
207
210
201
130
185
274
129
206
234
237
173
176
200
232
269
249
207
173
211
182
217
119
210
227
192
218
206
145
189
190
160
210
210
210
184
186
236
129
227
200
182
197
176
176
217
249
210
230
242
199
157
146
217
158
215
186
196
211
182
162
247
266
162
200
229
158
146
173
195
208
130
217
260
130
191
162
164
177
159
146
235
172
191
212
206
155
230
210
158
198
297
178
248
202
256
182
194
129
184
191
173
155
185
179
175
180
185
218
143
200
209
202
164
149
193
179
258
189
204
205
155
205
189
129
203
201
129
213
226
146
155
163
202
175
264
154
241
259
220
162
221
207
234
174
138
202
216
183
221
130
230
228
204
188
201
237
254
211
184
199
195
185
192
155
244
138
168
193
272
115
143
213
143
186
210
176
129
204
189
204
155
212
133
201
183
184
143
208
155
181
194
164
261
133
157
187
229
180
259
210
129
167
206
223
164
183
182
156
216
244
156
202
259
146
210
218
220
206
251
202
183
201
161
203
184
176
133
146
246
222
252
146
186
223
259
210
210
182
145
218
173
200
173
168
146
204
141
178
169
244
288
233
204
209
129
155
214
138
183
292
203
263
258
129
264
174
195
256
214
160
274
146
242
209
201
146
130
236
261
225
202
176
169
195
162
210
119
190
158
201
173
115
162
204
184
230
335
238
247
187
193
129
166
191
179
129
206
236
161
115
182
222
175
182
187
214
146
178
145
185
228
210
177
208
146
233
252
226
225
210
200
180
180
183
215
221
173
253
210
166
200
217
163
168
156
258
187
236
229
256
146
129
152
173
195
163
210
218
237
217
202
222
156
147
156
179
173
221
209
216
128
210
234
115
221
226
196
164
207
115
202
217
236
180
133
206
246
202
164
176
169
323
129
235
200
219
173
146
191
183
270
256
204
166
133
242
255
171
210
149
237
182
130
213
225
288
162
200
204
171
200
168
174
130
168
179
275
173
184
227
193
169
217
184
244
129
204
165
168
201
180
210
257
173
152
115
176
169
254
158
122
219
187
149
169
205
228
160
180
190
138
244
152
210
214
164
173
145
200
185
188
119
175
258
171
233
157
257
179
170
178
246
210
162
177
216
239
202
211
171
204
252
230
197
141
226
190
255
115
210
155
130
145
201
129
205
143
202
200
239
200
133
188
218
206
171
210
180
196
208
133
236
200
235
256
172
191
178
191
168
182
129
225
191
173
204
206
129
182
218
144
245
174
259
165
194
237
130
190
204
237
195
225
236
252
195
191
194
130
186
200
183
210
205
168
193
200
174
209
226
211
203
201
164
186
288
209
158
227
202
172
173
253
188
161
155
165
216
250
265
204
170
185
173
176
151
191
146
208
256
231
179
232
173
174
237
173
285
168
185
222
225
238
194
217
181
216
195
167
227
129
206
206
176
143
180
216
179
229
212
273
122
229
174
202
212
204
218
132
199
168
204
238
222
260
184
206
156
221
163
211
217
173
186
156
146
211
230
224
173
214
115
204
184
201
217
179
294
182
185
210
254
190
169
205
200
174
181
191
212
262
204
176
194
161
202
226
145
302
194
236
206
202
202
185
177
286
173
165
141
243
246
222
146
231
193
175
129
198
264
133
211
259
195
222
230
115
176
171
255
214
202
270
180
168
198
168
199
145
187
207
141
189
146
222
143
162
157
204
218
204
156
129
183
204
204
192
187
211
173
167
201
146
184
201
187
181
182
202
178
178
293
181
150
225
161
262
146
189
190
203
236
214
228
283
206
211
173
275
145
211
151
150
162
173
234
211
195
194
252
217
182
214
239
174
192
159
180
236
182
187
170
264
151
251
184
171
184
264
227
204
152
181
164
156
275
211
212
178
191
238
200
202
160
199
180
179
173
173
205
204
168
257
189
185
173
130
242
236
130
157
214
204
210
208
236
221
138
219
191
192
178
247
159
171
133
145
156
129
240
158
182
184
167
151
165
227
176
156
173
158
223
188
228
228
184
202
145
225
230
227
169
144
233
146
210
156
191
173
158
130
129
247
176
145
221
211
217
183
164
122
164
274
179
221
247
232
202
162
150
274
228
191
191
133
158
129
145
225
200
146
129
204
225
217
161
189
176
210
169
143
214
157
184
155
178
250
173
133
184
255
145
222
246
171
216
206
182
186
194
247
278
180
219
228
203
145
146
185
179
225
188
140
156
200
176
164
173
147
303
231
153
138
221
199
130
175
211
133
184
238
217
252
184
203
199
222
169
184
150
244
129
217
252
231
200
184
176
129
203
201
224
215
200
203
174
229
266
195
204
214
264
184
166
168
130
168
206
245
233
176
169
184
212
141
184
180
251
279
130
184
190
146
132
210
176
141
186
187
214
139
143
186
199
247
146
185
162
194
145
179
222
201
217
168
180
227
130
183
171
204
248
214
177
209
261
143
286
183
179
212
221
143
173
216
201
155
143
130
150
191
146
130
206
132
214
132
144
287
259
115
176
217
176
217
130
178
259
210
228
200
252
200
170
132
241
149
145
210
143
204
230
191
174
208
220
146
167
175
196
207
240
183
146
210
132
146
162
164
215
192
226
238
211
230
254
180
115
143
179
141
146
132
141
158
199
264
160
163
138
141
179
186
130
174
209
253
130
209
161
115
176
130
180
164
186
187
191
214
145
145
251
244
247
257
206
149
234
204
176
230
143
204
182
133
191
221
204
204
195
162
163
188
161
141
177
191
187
206
204
130
243
168
234
176
164
173
183
230
145
170
283
187
129
150
331
175
141
129
210
192
228
289
159
130
145
264
297
173
141
185
149
235
269
199
213
229
164
177
130
194
149
201
213
150
146
191
230
222
225
261
199
223
192
214
219
191
158
226
236
156
146
210
158
176
236
183
212
268
208
230
197
270
158
152
176
180
210
210
269
183
228
176
189
158
211
193
176
230
176
221
287
200
146
130
274
129
143
188
133
248
179
130
187
130
233
150
158
191
157
156
133
218
214
204
257
129
143
177
180
169
129
216
251
201
143
180
163
230
239
141
271
229
162
129
225
217
194
162
255
166
248
227
206
204
219
192
185
211
221
236
162
129
236
240
146
240
206
183
173
201
201
157
188
277
176
188
164
181
157
223
179
218
212
228
167
184
189
179
160
180
210
221
173
269
198
177
173
241
218
217
298
202
178
160
203
204
156
257
200
200
202
238
202
169
213
187
173
168
236
161
201
215
158
182
178
202
220
205
205
191
221
228
190
210
179
242
115
225
218
213
221
208
186
160
146
226
158
208
191
145
190
169
178
189
183
228
130
176
169
155
217
197
217
130
230
211
203
272
163
133
129
168
288
222
146
194
160
236
168
202
279
231
183
216
169
150
187
245
193
191
158
185
200
198
130
130
234
228
209
190
130
203
206
268
173
210
129
153
186
176
221
208
146
146
129
176
178
266
197
216
217
202
169
261
263
115
220
180
168
236
217
224
130
130
191
233
146
192
283
244
199
283
158
185
155
204
173
198
180
236
174
324
200
251
222
217
160
159
230
218
182
186
181
182
202
182
203
223
145
200
204
182
186
191
176
173
214
173
217
168
146
178
133
162
188
199
210
176
150
217
273
146
172
158
259
146
196
191
171
130
182
224
173
179
215
182
184
157
230
162
219
258
173
259
278
219
182
210
180
234
182
153
153
153
176
129
146
175
129
204
274
179
180
156
201
272
130
232
173
145
246
145
172
189
150
210
176
145
178
168
164
169
133
200
200
156
211
202
179
228
143
184
199
171
194
191
201
203
182
150
175
210
162
261
217
149
215
150
133
158
143
216
199
215
250
152
168
179
215
195
202
197
247
282
206
209
207
200
129
158
204
222
204
209
178
183
255
129
216
217
179
205
183
201
194
283
246
178
194
183
202
181
183
247
313
133
176
172
183
155
230
155
227
253
204
174
179
212
200
208
210
194
197
230
242
217
225
155
115
240
265
197
130
205
206
156
156
223
146
206
163
201
241
246
206
195
204
180
176
168
201
264
151
175
196
183
130
335
146
181
238
216
184
138
183
191
156
204
130
130
227
151
173
252
201
224
183
226
195
206
258
145
145
219
184
145
199
156
213
221
217
224
183
182
263
130
156
194
183
299
201
216
156
173
146
209
191
133
198
169
196
190
185
254
260
201
150
294
265
191
254
192
234
204
186
221
225
248
187
115
201
179
166
143
164
141
230
178
177
183
232
267
201
138
146
176
115
173
222
151
146
202
172
205
202
214
146
186
129
221
161
209
260
210
146
216
236
216
190
192
217
176
168
236
218
229
156
180
201
237
218
160
201
173
225
224
227
175
167
235
197
176
146
203
130
239
217
237
173
227
158
218
203
192
179
129
186
179
158
166
217
183
210
194
193
206
174
216
255
214
283
217
187
228
199
198
146
174
155
204
161
130
255
191
177
158
189
143
133
150
178
169
186
170
172
211
234
165
122
201
145
157
263
239
173
129
158
150
168
130
273
264
143
211
213
210
158
146
204
173
158
215
189
179
168
181
256
129
186
210
217
184
275
192
213
280
217
200
155
280
217
189
156
255
209
213
222
146
146
190
238
196
149
146
180
201
173
178
257
164
217
182
166
300
244
130
179
170
237
214
211
292
217
145
211
206
193
236
249
183
157
220
191
196
169
129
205
192
173
230
201
182
211
160
215
191
225
252
146
171
170
158
170
197
250
233
216
206
206
254
214
212
217
293
261
217
254
160
157
230
180
197
204
156
168
270
130
146
156
265
200
161
256
198
115
133
182
129
130
194
242
146
138
153
220
247
168
146
241
201
250
129
163
241
205
200
251
173
210
163
192
129
199
183
173
138
239
149
237
144
149
174
167
206
229
180
173
194
176
184
130
217
201
138
218
133
210
190
179
237
141
207
133
189
184
246
174
189
158
201
167
195
206
164
211
143
163
147
210
238
129
179
202
206
174
177
178
188
210
172
185
130
157
166
221
259
197
212
208
189
266
173
175
170
207
168
202
200
206
146
187
214
173
167
115
202
122
169
168
189
204
281
191
173
176
183
173
164
212
238
200
155
222
185
149
145
211
242
259
179
245
129
212
150
230
115
258
235
206
166
204
172
197
157
211
192
184
191
221
132
202
152
211
228
200
217
183
130
251
129
238
178
168
183
171
335
158
173
204
217
178
194
129
182
217
158
210
204
229
200
188
210
201
210
228
246
129
158
178
146
335
199
218
226
174
164
225
252
275
242
204
180
169
180
178
194
241
211
229
218
176
227
154
179
229
143
200
208
218
130
246
184
130
145
236
210
168
191
183
202
177
173
166
130
199
176
156
228
239
143
189
183
232
129
158
180
133
257
130
145
248
177
207
218
218
227
130
219
199
281
217
208
222
173
156
188
228
244
189
206
206
129
242
188
200
239
204
227
236
188
158
174
186
233
188
235
201
149
226
211
122
197
179
145
230
115
202
201
182
155
204
215
231
168
221
251
176
303
178
260
162
173
164
188
201
227
238
204
129
199
259
188
187
204
228
182
195
197
146
168
240
217
182
283
164
176
163
146
201
176
168
197
197
130
224
215
172
242
182
205
164
206
169
219
283
188
178
230
184
184
180
255
115
162
202
212
202
192
133
224
246
257
176
273
189
129
157
256
130
182
206
146
184
187
200
201
200
184
148
194
193
204
204
139
217
181
216
184
205
130
254
133
217
145
252
277
115
160
224
264
173
146
216
213
214
156
153
182
173
164
162
167
255
173
146
152
178
190
138
270
130
210
228
227
155
241
224
200
180
209
181
204
185
130
175
191
207
195
262
130
222
210
244
261
174
195
191
239
166
277
218
309
176
143
214
199
199
227
259
201
169
143
202
219
288
204
173
271
151
336
184
146
145
186
129
219
138
171
254
228
188
200
171
176
199
183
216
176
180
161
206
171
245
232
176
204
146
129
146
144
193
175
129
129
206
175
185
224
162
164
215
234
214
160
115
215
268
191
162
250
141
203
188
226
141
195
199
275
115
156
195
300
146
146
231
255
249
192
188
150
197
122
292
264
285
147
185
181
257
223
202
145
156
158
195
183
159
236
206
141
179
202
115
141
245
203
204
132
210
156
224
228
156
208
173
130
208
129
172
176
172
247
300
178
146
183
202
264
176
191
182
209
210
222
199
150
210
199
236
204
239
198
201
130
176
200
182
191
173
239
238
261
180
247
180
129
179
258
162
222
195
168
164
206
146
176
222
238
162
201
146
193
299
164
190
210
204
245
156
246
247
236
221
211
206
198
209
150
209
270
160
197
162
172
210
227
227
159
192
210
176
145
173
283
158
207
133
179
179
164
212
167
183
220
166
209
167
261
202
211
217
173
174
187
194
173
146
334
141
156
217
195
179
230
198
230
170
262
129
169
183
192
179
217
279
191
264
168
178
176
204
173
173
204
197
215
239
173
198
254
141
115
146
176
129
219
162
173
182
275
129
217
216
179
206
203
210
214
192
182
210
184
213
183
210
202
183
174
250
151
174
239
195
130
162
130
115
155
199
168
238
129
173
169
200
235
146
231
248
231
214
143
146
153
174
199
141
138
230
231
262
229
130
191
274
205
129
130
146
179
145
146
156
161
238
156
195
179
166
208
206
255
130
211
158
233
296
212
146
200
218
176
202
181
130
225
203
202
204
178
171
229
130
156
183
283
185
187
176
173
203
215
164
149
185
216
162
164
157
175
161
244
201
130
200
181
171
183
178
144
183
238
160
211
198
226
199
179
176
264
192
176
203
143
193
173
256
246
200
202
249
174
223
119
130
224
173
278
172
176
204
204
261
182
143
204
199
205
175
164
146
173
129
206
143
211
166
146
241
202
144
229
186
204
226
182
173
266
234
214
246
162
188
146
210
190
218
129
141
211
181
248
130
191
183
130
203
162
138
162
119
193
130
204
155
263
157
225
176
162
204
217
182
202
222
230
258
195
233
155
242
217
170
133
170
130
187
144
228
192
230
184
228
130
308
161
144
217
216
146
129
236
143
245
180
122
185
130
240
164
202
162
217
242
183
179
237
228
174
208
183
146
217
200
198
216
143
169
165
210
205
161
190
195
200
162
335
130
143
168
164
204
202
169
186
189
173
152
168
278
180
217
217
229
129
172
158
217
201
169
245
169
168
130
146
115
168
162
265
300
129
177
246
247
191
164
303
224
202
194
211
239
184
204
213
184
245
184
185
180
170
199
204
230
173
176
173
162
138
313
169
183
184
184
161
238
176
226
188
173
219
238
210
231
211
214
173
211
230
255
141
259
236
222
175
146
209
335
168
236
151
146
172
191
233
224
176
122
200
182
190
223
151
246
168
171
173
210
173
166
155
166
182
171
242
181
179
208
146
130
206
166
145
174
259
181
222
221
129
164
162
205
164
202
224
190
179
195
176
158
194
146
173
335
200
173
206
168
178
236
176
149
144
210
183
201
128
176
146
168
216
198
226
196
176
215
182
197
300
192
203
214
212
230
146
243
199
236
182
223
190
203
188
200
145
151
149
183
146
133
146
220
236
130
145
130
230
202
201
146
226
220
156
199
165
164
238
193
226
146
226
167
176
238
188
256
173
211
160
250
173
130
200
237
164
173
182
180
281
186
191
230
133
159
185
221
181
189
185
115
206
173
143
176
178
207
201
189
216
219
173
264
183
179
119
202
179
181
236
202
219
221
204
222
186
185
199
130
170
173
256
194
151
206
225
208
186
205
161
210
184
168
168
162
233
179
236
246
146
146
271
267
115
219
208
198
164
251
130
181
236
164
190
169
210
179
203
179
190
200
173
201
210
146
161
163
194
190
173
130
146
174
239
187
197
115
221
184
215
143
191
192
211
193
168
184
168
205
188
179
193
208
227
184
217
115
227
175
183
129
200
119
227
178
274
185
186
195
145
182
169
233
191
201
180
233
247
203
236
184
195
180
180
243
204
225
247
185
187
129
162
251
179
237
208
185
162
130
130
168
197
174
201
141
244
165
199
220
129
162
270
230
184
129
186
236
186
175
128
183
219
141
169
191
248
169
176
130
191
146
228
206
248
173
168
166
129
292
176
171
210
129
238
256
164
129
236
214
173
130
185
209
183
169
201
226
130
211
212
129
236
129
155
235
163
143
227
200
200
204
168
115
224
141
147
240
173
155
155
205
199
251
187
213
193
183
186
210
207
189
191
210
156
191
130
145
201
150
202
184
260
183
178
239
193
175
206
266
162
122
211
261
264
146
130
183
146
173
188
180
201
303
172
191
169
173
176
265
205
183
254
133
200
183
193
201
222
187
224
229
161
237
159
131
177
339
187
214
194
191
238
158
179
261
178
160
179
236
160
169
161
210
236
218
250
222
162
348
115
265
227
188
195
158
179
185
262
232
210
178
166
178
162
202
245
221
261
191
168
149
129
207
216
228
146
176
181
263
203
192
218
212
151
185
242
129
145
228
204
234
176
164
198
155
199
217
130
204
176
204
133
179
229
210
152
261
182
129
173
196
242
129
264
201
187
207
271
138
226
129
195
213
200
201
241
164
155
191
169
176
227
128
115
216
115
215
162
218
171
222
218
131
241
157
211
193
205
242
217
154
222
209
182
261
160
236
226
172
176
225
223
133
210
197
178
198
144
172
248
220
200
238
168
243
129
204
119
185
192
131
155
143
247
146
226
210
174
201
174
170
176
130
176
162
173
130
166
308
258
238
211
145
199
210
249
201
205
233
181
195
254
184
236
188
201
209
200
296
133
171
238
157
186
248
210
193
174
211
261
217
196
239
155
185
261
229
164
263
160
225
210
218
173
162
203
176
203
195
211
177
176
205
162
213
206
178
196
133
176
183
215
159
182
178
130
217
182
191
236
168
169
164
143
191
191
190
159
167
129
185
180
192
210
195
202
174
212
158
166
185
258
191
199
145
180
193
236
173
212
173
227
208
239
129
158
222
146
184
219
190
250
173
130
176
228
188
182
240
173
191
191
129
214
130
155
183
200
300
129
187
186
143
243
242
179
132
202
151
210
187
162
173
215
234
237
168
240
217
204
213
182
222
214
194
201
186
183
239
185
130
155
188
181
254
252
211
203
172
227
173
229
165
203
197
229
122
182
162
166
130
203
133
168
215
122
194
182
214
230
167
181
156
179
211
208
146
217
173
194
190
181
204
186
202
264
295
271
184
300
176
150
155
149
164
199
206
229
210
130
158
219
251
145
201
130
130
188
221
187
155
155
190
183
173
173
180
183
230
186
190
133
258
171
173
241
214
185
130
185
259
216
139
167
204
208
230
239
133
225
202
162
195
217
181
238
221
164
237
184
173
218
264
167
139
159
173
168
234
166
209
206
133
240
180
186
239
181
238
280
162
207
254
238
172
179
204
184
158
174
227
162
239
200
185
221
214
238
145
258
187
173
245
204
174
266
133
146
199
230
138
145
265
220
191
259
171
130
239
225
168
214
179
188
195
210
217
247
185
146
176
172
182
193
182
189
165
239
192
211
146
204
185
174
191
190
130
172
164
251
158
212
204
176
198
165
173
217
162
225
187
182
200
252
133
169
179
237
192
259
146
163
203
143
146
241
182
203
172
233
202
211
200
179
207
182
176
151
143
202
179
170
204
133
205
183
129
181
173
130
195
200
205
171
210
154
163
184
185
262
145
202
133
218
266
172
157
151
192
204
178
201
182
179
199
150
184
209
206
178
173
202
217
146
268
218
198
215
166
133
202
184
176
176
240
129
236
186
222
166
169
222
202
173
186
143
335
222
165
173
176
221
175
133
186
204
217
206
156
155
130
209
145
163
228
172
158
129
183
130
182
146
209
155
173
234
171
178
225
180
181
228
195
200
130
210
200
173
200
221
168
128
229
212
146
188
129
130
283
216
232
173
264
253
143
129
218
183
210
243
198
206
210
237
236
244
179
219
211
256
211
217
161
216
169
208
259
181
176
230
181
130
234
200
130
146
159
194
184
255
169
146
251
130
245
259
175
195
210
251
230
193
176
262
232
221
206
185
199
230
230
199
129
129
176
115
259
248
173
218
129
158
262
190
252
173
236
219
119
170
205
263
191
185
253
176
129
216
153
160
221
169
191
129
216
262
258
179
252
215
172
191
221
138
246
170
214
167
203
158
258
130
194
150
161
185
180
188
156
173
146
160
201
141
146
200
190
176
215
163
146
164
150
246
222
220
181
156
210
223
236
204
252
206
242
130
176
218
204
217
207
115
204
201
155
210
186
158
151
182
179
165
162
181
237
155
227
164
162
186
238
173
194
209
189
203
182
155
146
145
129
204
141
210
203
173
208
162
231
215
150
201
133
138
145
182
202
242
200
182
201
143
176
151
231
226
185
192
202
199
176
145
300
171
210
180
184
206
214
204
267
204
129
219
146
164
239
264
174
202
158
162
185
173
258
176
194
168
206
255
210
156
214
169
200
228
280
146
264
158
178
164
141
173
115
202
227
230
261
129
189
217
241
122
190
187
200
178
230
215
241
173
146
202
171
226
217
157
152
218
186
133
129
168
173
235
208
155
129
179
160
231
335
190
239
228
256
222
200
210
169
200
244
192
177
206
206
264
209
146
143
262
204
130
207
204
220
204
225
143
217
153
208
198
210
208
181
143
184
177
217
217
169
176
173
173
169
130
222
146
198
162
272
133
207
180
214
210
303
153
185
130
143
184
247
146
178
204
226
169
230
264
281
174
178
205
169
156
272
130
128
173
229
146
156
208
146
212
225
194
187
212
197
176
211
236
172
189
158
242
214
230
233
211
194
183
208
227
201
238
266
157
159
264
224
179
184
203
335
186
246
175
150
133
215
159
248
228
162
171
178
182
250
233
185
217
173
176
240
251
204
204
173
243
203
216
170
200
166
182
217
158
159
195
146
162
130
183
176
200
174
161
200
200
115
174
204
214
169
199
128
191
194
150
208
146
159
201
274
227
200
178
181
199
176
146
129
182
222
204
211
130
201
227
145
143
157
249
211
176
218
187
176
264
179
253
146
193
203
151
214
205
115
145
161
176
167
185
201
168
209
195
221
241
194
171
169
182
181
244
186
232
173
128
237
246
176
168
245
239
193
173
201
222
335
145
155
221
172
182
222
206
245
219
173
224
130
215
204
174
177
204
168
143
191
238
245
182
222
191
198
214
204
247
185
214
210
206
172
291
176
129
203
156
199
150
145
169
130
204
231
229
227
244
183
260
156
188
200
141
205
196
200
208
211
191
215
243
274
173
216
152
176
255
207
302
149
229
180
201
182
271
206
141
178
146
228
209
160
128
217
212
206
228
236
173
146
243
171
247
235
195
174
268
165
138
194
149
217
222
148
203
212
202
143
141
206
150
288
218
201
122
200
204
184
162
233
192
206
178
146
264
165
188
192
169
129
133
219
204
206
182
204
166
210
145
227
182
173
202
225
199
144
130
181
290
184
151
201
182
162
158
167
165
217
206
165
194
178
195
133
241
171
178
272
195
206
238
178
241
194
195
202
176
170
231
160
203
254
195
204
217
194
238
129
162
146
202
205
155
145
133
200
145
164
185
173
297
129
195
173
188
191
130
167
176
180
176
240
200
146
164
172
141
195
176
129
227
207
203
229
173
174
149
115
215
201
185
222
205
206
199
130
203
158
182
232
178
141
171
227
158
190
155
168
145
163
231
229
177
184
129
173
176
130
149
230
204
166
193
181
204
235
130
204
115
204
157
152
181
185
204
230
205
200
210
130
129
217
150
160
148
168
206
255
218
152
206
173
206
206
171
162
133
207
217
206
145
169
208
270
221
241
166
170
184
238
188
225
181
129
164
143
173
155
193
149
213
176
235
220
157
249
246
141
155
262
217
191
130
179
146
266
176
180
196
184
280
143
210
229
172
173
187
196
185
200
214
151
162
283
201
250
200
265
216
146
146
176
164
208
130
246
229
129
187
184
230
155
184
162
217
185
130
217
255
206
189
115
163
226
159
185
220
222
184
210
149
187
210
146
146
176
213
163
214
204
199
232
149
176
230
213
187
240
144
146
184
189
183
221
248
146
176
256
150
176
169
173
207
208
203
173
168
190
130
146
176
193
231
230
174
200
176
214
239
221
170
174
191
129
181
193
208
146
201
230
153
170
263
129
214
143
211
230
229
230
242
177
234
179
200
178
240
236
178
150
160
173
158
249
173
234
173
236
188
179
261
208
229
204
178
158
156
182
192
157
194
283
143
184
129
201
184
238
143
202
183
200
168
162
201
191
143
197
115
225
218
202
158
130
147
115
187
217
227
204
129
204
173
185
237
196
178
174
179
146
166
183
207
153
247
202
182
225
219
260
221
173
200
229
179
244
204
180
204
237
190
208
228
202
146
160
227
191
187
115
213
278
235
201
204
202
130
202
187
219
248
115
201
229
295
212
236
235
169
145
122
164
219
178
130
122
264
167
249
202
200
197
166
258
181
217
184
181
204
141
184
217
258
250
206
146
156
240
190
149
200
168
225
173
158
153
163
184
203
174
183
176
238
115
143
226
237
141
210
201
235
307
149
217
225
245
158
168
252
178
141
129
217
192
157
191
130
145
242
207
182
191
184
171
150
231
156
198
199
174
130
228
289
129
189
215
173
252
176
130
207
146
256
183
188
353
204
133
205
241
146
206
214
211
129
246
169
141
258
155
198
212
227
168
200
122
150
228
260
129
195
130
229
242
162
252
264
133
209
264
201
132
147
209
198
230
214
133
150
217
169
191
248
251
176
176
189
130
273
195
129
206
216
225
183
146
169
162
191
181
202
147
172
210
138
129
217
205
171
186
146
166
282
192
200
192
158
274
207
183
238
246
213
182
176
260
209
230
182
241
171
275
168
214
146
210
170
170
197
211
153
181
150
223
146
183
202
141
173
115
129
133
129
147
143
208
200
206
143
192
173
234
247
173
168
130
225
179
171
230
158
169
192
201
167
225
198
236
156
180
168
146
119
226
155
192
186
132
240
246
275
231
196
200
164
189
141
190
254
247
294
184
184
196
215
217
202
173
155
173
301
245
200
198
143
129
205
210
210
169
176
162
152
221
216
296
174
183
143
195
229
178
173
203
246
181
183
211
115
247
173
179
183
182
202
206
133
200
153
178
159
130
217
181
171
157
155
206
208
262
211
173
162
175
234
130
246
231
146
130
202
130
211
174
182
130
257
182
239
219
185
202
239
128
130
242
170
182
184
201
156
182
212
261
225
150
245
189
202
178
204
173
194
225
174
268
183
146
129
167
128
162
174
128
199
188
132
214
234
190
184
230
229
221
226
178
234
185
166
284
143
146
192
186
157
180
216
184
200
218
277
173
168
173
220
210
195
160
130
197
180
173
174
267
205
130
241
176
200
176
207
146
219
188
164
179
166
173
130
265
190
176
174
206
244
252
146
223
242
182
239
265
158
214
247
263
193
180
130
144
165
160
187
127
272
150
173
230
129
204
214
255
187
187
156
211
212
178
168
237
175
211
225
174
182
176
189
174
185
143
226
129
162
195
146
144
219
203
210
266
179
234
145
143
239
225
222
150
129
145
240
183
257
144
157
204
261
129
180
192
204
191
169
144
234
202
145
162
180
200
310
166
130
158
186
178
277
241
204
201
195
153
162
219
133
274
218
191
182
233
162
155
234
185
132
156
173
200
172
129
174
148
158
285
254
184
191
230
191
188
183
170
233
173
200
256
207
163
173
155
174
242
243
203
146
180
155
201
275
146
183
129
175
216
188
145
239
146
219
216
200
209
130
176
173
210
201
247
241
168
225
183
242
176
129
176
217
175
146
167
238
145
168
197
146
138
265
173
187
217
145
204
217
225
261
201
207
133
158
255
173
235
153
185
169
217
176
238
208
209
236
320
150
225
186
155
231
217
221
155
210
129
179
183
168
219
222
162
228
115
227
129
201
129
165
138
297
185
177
146
179
199
225
146
146
204
201
191
206
187
189
211
132
160
217
210
189
210
181
183
213
170
146
215
225
231
161
183
175
211
210
163
202
202
168
159
146
287
201
166
217
176
242
214
195
141
210
146
159
286
211
204
155
205
230
178
202
145
204
147
212
173
181
180
204
217
222
217
274
254
231
185
144
129
130
206
161
222
180
131
188
144
149
172
184
157
238
234
234
225
202
201
173
115
181
230
130
178
200
236
130
244
211
166
145
231
215
173
210
233
198
259
162
143
173
180
178
275
252
238
130
149
129
230
261
164
173
130
210
230
217
197
204
133
173
264
210
129
169
208
179
230
233
248
178
195
176
222
217
191
252
138
216
128
288
219
185
156
198
238
219
176
202
168
179
287
146
158
179
264
252
217
168
151
184
122
258
239
179
151
188
255
185
254
261
206
182
184
152
229
162
158
230
176
183
173
251
217
215
158
176
182
307
146
204
203
181
130
170
243
281
161
146
241
176
196
202
174
173
193
174
238
230
146
237
149
129
222
235
130
186
213
200
285
202
185
212
200
274
180
236
211
236
173
191
170
146
210
191
173
187
182
199
189
173
162
179
129
133
173
146
167
184
150
211
245
138
169
221
210
288
244
238
173
250
207
194
210
129
215
234
176
129
202
233
236
175
173
207
260
214
202
188
262
262
248
197
176
166
153
178
131
149
143
244
210
194
122
192
168
183
179
249
119
164
186
287
146
129
160
249
184
192
214
149
208
228
165
221
226
144
129
210
115
231
185
225
184
173
172
173
199
183
225
308
177
161
217
201
204
225
294
212
175
129
222
155
228
206
207
201
217
222
170
158
215
182
164
168
255
168
202
179
222
213
200
173
280
128
185
158
263
167
210
130
174
169
205
188
143
179
161
187
238
133
130
180
187
129
225
177
143
149
201
176
283
164
185
258
263
129
211
242
146
206
249
210
184
216
172
184
210
225
194
274
220
158
162
184
133
203
146
202
200
181
191
236
185
146
217
242
230
204
183
211
173
253
230
214
188
230
185
183
176
271
158
151
195
156
192
156
143
207
175
156
162
186
231
182
146
239
174
153
184
188
182
182
161
164
224
129
130
146
144
166
184
174
195
166
244
165
191
203
164
128
227
302
145
182
201
296
214
258
146
184
205
335
194
165
175
238
236
182
204
215
186
185
246
191
210
158
228
145
217
200
185
130
208
182
208
204
216
173
146
222
175
179
214
259
195
167
230
275
261
127
161
185
194
203
214
156
190
192
191
129
168
130
129
255
129
210
133
188
255
237
185
231
281
162
200
246
133
179
149
186
130
169
184
176
130
217
129
182
176
258
173
163
204
242
168
181
182
195
231
182
159
248
176
202
211
162
265
227
237
283
204
151
149
164
157
189
228
260
191
146
231
200
376
200
203
166
205
217
213
230
146
130
175
115
193
130
190
230
153
243
179
239
146
221
176
202
198
133
206
133
201
146
187
222
176
215
210
292
186
191
146
202
115
165
176
172
179
197
151
214
155
173
162
178
182
119
180
247
173
151
264
115
214
210
198
203
190
237
259
183
115
204
172
232
167
238
181
143
204
243
208
186
240
176
205
173
130
262
184
158
130
228
141
173
130
238
279
222
217
170
182
198
221
286
200
158
246
220
196
164
165
162
239
179
173
168
129
190
200
184
200
133
202
215
173
221
195
209
181
170
258
129
248
156
172
200
185
173
236
179
182
201
152
212
143
244
157
129
214
171
226
217
119
176
196
179
171
158
149
204
202
215
176
215
204
179
200
186
183
200
138
177
260
176
202
210
171
191
163
229
164
115
130
217
202
195
206
190
181
232
184
146
199
138
156
199
174
146
150
244
246
160
200
130
189
211
115
133
176
162
166
192
217
188
129
209
155
172
211
184
145
143
243
210
156
214
133
212
179
166
234
176
133
204
209
230
171
201
162
160
206
261
187
147
174
179
203
210
151
203
173
262
182
194
202
169
155
115
284
229
204
277
206
192
244
245
194
216
156
115
179
146
162
229
187
146
184
204
115
115
202
181
184
210
249
204
138
217
192
145
147
155
233
244
230
228
207
208
210
149
200
230
179
217
235
247
115
210
183
201
230
220
173
173
246
177
270
192
231
161
208
183
192
147
224
230
213
180
174
217
141
190
254
187
255
155
190
230
215
178
164
150
231
172
183
175
161
155
200
228
224
146
170
173
169
202
206
192
157
230
162
176
171
178
187
157
191
161
157
236
162
189
160
299
236
279
187
133
149
158
272
229
166
224
146
130
211
209
195
228
184
241
145
145
216
150
219
192
228
244
173
189
216
239
173
217
130
187
214
158
251
161
188
201
182
172
231
152
229
115
179
239
237
230
226
167
206
211
189
261
178
169
129
224
181
217
155
173
150
150
218
195
179
201
208
129
155
180
230
169
172
222
204
129
230
248
199
246
178
219
155
158
143
164
252
202
240
173
220
234
157
143
170
185
201
243
230
268
204
204
240
176
228
226
177
279
153
158
183
122
202
182
141
192
216
188
143
210
158
210
227
176
129
229
251
277
115
230
169
146
130
237
189
210
144
236
213
201
173
233
172
228
196
195
209
192
180
166
155
130
188
193
210
130
180
164
249
220
195
245
274
169
192
287
228
179
191
164
170
219
228
210
180
204
191
145
173
218
258
202
181
206
173
204
160
189
130
267
204
177
210
213
184
248
242
176
222
171
210
183
217
194
245
217
201
208
146
175
211
231
145
211
167
184
143
203
184
168
162
204
164
168
210
198
201
307
226
183
212
194
179
169
162
194
180
166
200
176
255
150
230
144
265
258
128
178
155
263
270
216
141
172
264
182
171
236
162
129
206
258
239
186
223
201
178
255
152
185
319
162
182
190
199
129
178
206
160
169
201
146
218
210
176
236
164
204
208
230
210
174
201
185
179
166
168
258
129
192
203
179
191
146
200
217
210
231
146
129
270
249
297
260
189
166
234
130
158
206
227
206
190
146
146
235
204
195
129
261
168
145
166
171
146
216
202
230
164
201
217
244
299
197
210
335
218
238
155
176
186
141
146
133
254
133
258
204
129
173
204
190
217
242
238
191
205
184
238
230
200
195
192
204
217
194
146
217
191
185
145
231
199
227
193
173
227
258
176
231
201
166
202
211
133
174
217
195
181
192
168
300
173
146
190
173
200
183
188
138
199
130
206
200
274
239
210
252
191
179
199
209
155
168
156
143
207
144
181
223
129
168
115
204
158
166
249
141
167
181
184
188
145
178
146
231
177
261
182
192
173
155
268
217
181
210
129
145
228
185
263
191
157
145
153
210
184
160
175
191
216
242
209
173
158
153
199
162
193
182
194
217
146
176
238
153
211
224
186
246
203
133
183
166
230
181
210
197
173
228
264
132
214
204
168
215
185
217
222
173
195
196
147
204
192
217
267
173
191
194
145
238
167
162
262
129
204
208
190
191
115
183
245
230
156
199
184
326
197
211
197
157
236
189
146
188
213
226
183
238
170
241
212
195
190
165
255
300
149
212
201
217
205
202
133
238
191
204
182
234
217
236
204
210
195
201
238
209
146
222
203
194
115
173
303
250
158
212
190
210
130
131
161
130
168
169
210
188
183
202
214
185
183
206
186
239
145
191
242
166
252
236
258
173
160
195
163
288
179
130
183
166
203
144
176
194
173
184
230
237
182
174
161
146
166
179
130
199
146
221
215
236
173
170
184
200
300
146
199
201
221
324
188
195
149
146
183
169
147
179
261
210
217
173
129
202
129
168
156
133
187
155
146
335
255
200
243
174
156
237
214
180
169
222
152
207
198
194
205
228
158
156
202
248
175
158
313
196
173
221
277
182
179
270
130
263
211
207
187
226
277
222
205
229
222
235
160
237
129
173
259
169
245
180
130
234
201
220
179
155
182
179
195
155
168
173
152
169
184
247
146
180
173
132
169
255
191
200
189
183
187
245
208
179
169
223
168
168
209
184
147
294
184
188
211
204
217
302
238
210
201
122
193
200
215
182
204
211
204
138
146
170
168
204
309
115
185
182
284
263
145
209
166
158
152
130
201
209
180
182
191
204
211
204
185
173
191
161
204
127
167
187
217
149
176
268
149
210
206
169
183
132
186
173
183
198
219
162
247
238
246
133
215
170
129
207
263
177
167
182
133
129
146
145
335
188
231
214
179
181
193
210
201
176
184
228
153
180
265
216
158
162
169
255
213
177
210
185
175
167
157
131
199
217
130
174
273
227
215
237
222
157
168
209
141
181
211
210
186
173
230
145
151
191
188
264
197
204
199
176
176
130
161
204
141
129
204
143
190
177
220
227
175
129
146
223
187
130
237
145
204
183
193
219
217
130
203
231
176
213
183
169
181
155
172
164
130
191
274
151
173
156
179
188
218
130
171
163
195
204
129
218
169
175
208
162
164
201
185
217
221
169
217
130
174
129
204
245
194
130
176
128
146
244
146
146
178
164
129
198
183
164
181
140
215
157
172
149
173
146
221
173
177
156
146
220
225
169
144
173
168
221
197
187
185
232
212
169
182
173
234
185
129
169
146
149
185
144
217
256
180
242
164
168
199
225
162
211
186
129
174
211
188
206
141
141
251
176
221
182
264
202
253
204
155
139
205
200
168
141
162
146
146
244
168
160
210
161
173
164
200
209
182
211
143
170
211
210
200
179
163
164
145
222
255
244
237
188
235
182
143
227
201
173
181
179
173
143
247
169
168
216
259
183
210
169
335
179
162
184
205
343
129
214
129
180
173
234
185
182
186
115
263
259
194
166
195
305
201
185
213
246
258
168
187
212
179
129
204
162
254
143
234
229
202
183
141
259
188
206
146
222
221
170
185
168
208
143
270
162
224
203
256
195
241
221
210
200
243
198
230
176
168
210
201
204
257
146
129
218
229
222
303
177
185
225
194
263
183
260
208
187
247
242
171
263
242
193
271
220
178
146
145
253
188
195
115
256
133
160
169
201
175
217
173
191
168
205
244
158
162
160
130
179
201
173
194
246
171
252
225
173
183
205
141
199
176
206
145
150
183
129
157
265
176
173
238
165
236
176
168
228
130
241
147
178
193
209
133
179
211
230
130
130
173
210
162
187
155
208
129
182
208
176
213
176
207
184
176
201
181
153
224
171
156
183
247
206
187
168
202
259
160
204
115
206
205
143
184
159
185
192
230
259
154
223
195
192
168
292
185
195
182
183
163
162
179
129
189
115
146
224
129
241
143
169
308
130
150
182
115
225
299
191
145
161
160
201
176
210
164
195
146
179
143
115
127
218
148
132
263
169
225
185
217
195
216
185
221
212
162
186
204
173
209
157
248
191
230
211
194
115
179
181
188
192
201
244
179
145
142
238
129
202
176
221
186
264
168
207
216
204
221
210
129
205
173
190
256
143
210
214
143
215
191
176
176
229
177
122
283
259
179
195
166
195
282
168
138
189
170
195
173
206
202
202
223
246
218
132
182
211
242
201
322
133
177
164
175
173
210
174
202
182
225
130
206
184
179
293
162
175
210
201
174
145
162
183
237
201
183
197
264
128
152
180
176
217
251
173
130
173
204
225
258
201
155
256
188
168
252
237
145
143
209
218
146
178
143
180
204
143
176
143
216
205
129
141
208
253
162
143
174
227
222
209
175
115
158
206
246
146
236
168
174
279
175
263
250
130
179
176
199
218
232
145
129
206
173
217
209
210
133
174
225
188
173
265
173
335
217
218
150
229
194
213
235
222
130
188
258
206
153
267
209
193
236
157
210
225
212
143
211
162
161
130
160
246
161
217
180
215
255
179
175
198
162
161
212
244
262
235
176
133
223
169
128
199
229
180
130
182
229
228
238
224
165
184
281
214
202
185
201
233
200
235
199
264
201
210
164
216
200
175
189
200
209
176
219
209
170
275
181
201
170
159
173
168
204
133
195
186
204
204
205
159
185
231
230
217
133
217
169
146
175
204
246
189
176
221
208
164
214
190
162
159
130
202
179
192
196
174
183
267
221
171
146
191
234
264
237
172
187
231
203
188
181
144
199
231
201
115
301
220
191
146
184
184
198
211
182
220
173
138
164
216
226
164
173
179
180
115
132
145
182
206
164
199
236
122
200
204
227
146
143
217
146
195
146
229
160
212
251
186
210
222
161
240
194
162
224
173
141
274
161
219
183
247
164
264
160
239
197
177
129
194
214
238
166
203
158
167
228
122
173
274
151
201
146
182
138
201
166
169
202
239
256
244
146
200
216
252
229
189
171
158
160
184
188
188
169
238
204
201
255
173
242
155
185
204
182
181
207
202
200
211
145
190
179
207
246
217
255
145
233
230
201
130
162
178
184
206
212
215
190
178
200
293
145
164
129
261
130
130
194
155
199
173
185
164
141
203
233
211
164
202
244
182
150
141
154
177
145
277
203
179
209
197
163
161
263
160
184
188
326
133
210
170
224
238
175
146
194
155
199
129
183
204
280
211
183
265
158
256
273
218
173
160
222
130
229
183
174
228
167
200
158
150
217
130
255
168
285
240
156
215
229
146
174
293
178
169
173
173
210
190
238
185
182
173
184
221
122
173
281
138
146
164
169
146
146
225
176
217
169
204
146
162
219
188
173
201
164
149
263
176
230
190
166
197
115
249
201
200
254
252
198
214
178
161
173
236
122
133
201
195
194
191
246
201
217
205
214
221
130
168
189
192
222
167
246
184
161
184
144
130
129
183
294
219
239
206
145
187
176
186
214
203
185
130
176
230
184
255
260
185
211
217
146
234
194
270
145
149
168
211
235
176
193
215
129
141
143
181
193
217
190
199
146
188
186
201
222
244
204
244
210
258
146
158
158
213
183
130
211
179
158
161
310
145
219
216
130
129
195
217
204
198
231
214
145
232
238
130
162
217
197
190
168
219
145
264
200
210
199
212
219
229
192
184
216
187
252
129
199
232
176
190
122
207
236
236
201
227
275
146
169
229
158
189
258
133
170
130
233
181
180
209
299
260
206
173
187
190
185
235
151
170
155
145
171
206
206
227
266
146
173
119
164
158
129
186
169
221
217
162
210
194
190
146
195
287
176
176
115
153
146
207
223
130
192
229
235
299
204
195
168
205
214
162
256
203
214
206
224
173
191
203
205
204
190
189
173
200
199
188
168
160
303
297
218
146
129
221
214
176
146
145
182
233
178
200
204
272
249
129
156
218
245
150
144
174
155
160
158
143
146
167
191
185
143
190
203
173
239
180
239
258
192
155
171
249
193
200
188
199
223
237
256
155
262
168
173
143
171
130
229
156
256
212
146
129
184
229
169
147
179
287
174
230
203
210
254
210
176
146
230
227
175
130
228
210
252
212
202
169
179
201
169
251
179
162
130
202
193
210
146
162
209
204
205
229
130
180
182
204
162
133
158
233
166
228
204
202
203
170
169
264
227
119
193
146
192
239
141
221
204
259
173
185
236
192
173
201
164
137
282
204
168
143
164
228
162
238
224
237
221
280
216
158
129
191
217
186
226
219
215
198
146
229
115
166
209
216
162
173
214
195
287
199
146
248
187
249
237
202
167
184
141
204
128
217
185
180
200
213
180
122
183
193
222
130
206
164
194
287
204
185
234
181
204
202
129
183
146
242
232
202
199
115
230
155
222
159
265
170
207
190
217
184
236
176
214
231
156
214
166
185
189
241
190
256
143
194
169
179
258
223
176
184
206
239
240
191
280
122
240
210
187
182
191
188
180
173
194
205
217
138
230
172
174
251
206
145
204
283
197
208
173
145
181
183
133
157
210
188
183
246
195
169
222
200
238
147
193
204
220
215
180
176
203
180
247
143
208
138
231
205
190
201
176
183
204
190
176
115
238
182
225
182
157
286
202
203
146
248
241
203
240
204
173
173
184
211
233
183
224
235
217
260
129
206
176
201
230
183
264
132
218
233
258
192
238
263
162
173
166
245
130
162
146
204
172
172
217
143
129
234
191
173
209
236
169
186
168
144
221
249
216
221
201
192
143
146
132
195
217
238
201
204
162
243
193
210
240
171
146
203
155
162
244
129
243
199
255
197
115
146
219
179
182
203
245
229
129
243
176
229
145
249
132
143
237
225
233
146
182
129
168
184
191
166
162
157
201
164
207
246
227
129
180
164
210
210
195
158
176
129
264
155
171
150
129
145
169
217
206
156
289
215
191
158
210
201
164
208
183
146
161
122
185
217
203
222
164
188
129
149
222
232
270
179
210
295
292
204
253
267
209
177
167
335
144
129
236
228
255
228
232
168
187
234
283
173
204
164
184
143
210
192
205
193
189
169
256
168
255
129
181
217
259
247
210
192
210
164
173
179
229
173
130
208
203
190
130
141
180
185
141
211
168
122
202
195
172
129
173
173
210
182
183
183
199
158
164
179
230
179
267
238
180
130
207
146
155
186
151
173
252
163
182
215
115
158
193
141
165
115
168
204
169
227
138
146
129
227
218
159
239
238
242
171
200
270
239
194
222
230
197
181
182
250
138
169
212
228
191
283
217
200
231
200
115
243
202
162
236
188
324
146
179
191
245
207
167
214
203
270
230
209
261
176
174
179
173
185
194
238
182
171
193
199
198
181
143
214
182
173
280
201
227
199
196
194
181
205
204
193
200
169
256
174
222
223
129
152
115
192
192
151
167
170
128
164
226
187
185
212
150
239
181
226
180
201
179
168
203
138
276
175
209
229
182
191
261
145
209
168
179
170
146
182
165
129
178
304
217
173
178
194
162
129
176
244
250
204
207
200
221
149
133
163
183
178
176
210
210
226
171
158
179
165
173
189
225
206
175
251
233
176
273
256
197
183
222
207
158
130
173
167
230
228
207
204
259
199
146
184
219
176
129
225
185
201
230
176
189
209
213
219
130
181
211
179
129
173
214
115
133
204
130
158
156
191
186
258
241
251
197
242
146
268
161
295
162
162
158
146
172
228
200
245
184
192
144
181
174
172
250
217
130
210
193
196
201
287
204
170
202
239
200
193
209
224
236
147
184
155
264
300
180
176
119
201
206
229
192
183
163
173
217
151
193
210
234
241
228
205
183
183
229
215
208
176
155
227
233
186
155
239
193
238
199
248
209
244
186
228
130
258
215
141
178
115
130
228
209
213
176
191
210
247
181
169
169
212
192
247
283
167
217
163
178
164
216
179
207
208
161
294
164
222
129
239
185
202
191
175
204
195
130
194
247
210
205
200
193
210
232
214
130
141
184
218
199
284
297
207
200
210
162
219
195
276
218
226
160
201
177
160
204
200
145
204
200
194
231
191
218
143
186
128
201
165
149
231
187
204
172
163
200
303
122
141
156
173
173
236
201
199
280
144
241
192
206
200
129
248
183
224
147
230
200
184
205
304
221
164
251
223
252
173
158
244
163
210
158
230
156
173
192
133
146
222
130
245
145
146
201
122
227
222
295
172
258
222
191
215
246
223
256
182
236
143
204
237
210
146
145
178
188
169
181
288
238
171
283
164
152
146
221
219
157
129
169
247
204
128
197
176
179
144
178
157
209
216
129
179
129
145
141
190
221
195
247
149
176
170
176
203
201
130
182
130
173
200
146
158
180
251
164
177
184
178
122
148
296
184
179
204
205
202
292
181
175
230
180
214
202
141
201
258
258
197
130
228
167
168
210
202
235
206
238
227
172
256
153
195
174
184
182
182
160
146
146
237
162
178
277
229
138
300
225
169
176
239
178
170
149
234
203
216
202
201
236
176
133
259
232
193
115
191
233
195
206
199
115
200
200
258
164
177
211
211
201
243
222
175
204
173
226
246
230
181
174
269
168
261
171
168
145
150
202
162
133
180
155
146
189
184
167
202
130
211
130
211
210
151
183
259
176
155
226
168
167
201
233
182
192
237
255
197
223
173
199
145
199
182
192
239
198
193
129
245
236
130
178
202
203
191
191
175
234
201
173
175
191
173
163
159
214
179
204
202
222
296
171
157
183
173
204
217
186
188
173
132
201
204
238
138
206
173
244
219
184
234
179
217
173
219
236
155
129
167
182
202
129
162
183
210
180
205
145
211
299
129
248
219
168
213
191
178
245
160
209
178
245
146
174
190
217
159
230
188
236
164
256
182
260
146
199
221
236
211
150
166
182
192
115
194
207
204
218
176
188
205
213
146
185
176
155
259
160
129
217
234
205
202
192
187
157
128
192
204
144
204
143
189
206
185
210
225
195
164
176
185
176
184
122
241
170
167
206
210
187
269
161
190
146
208
170
192
179
216
176
130
200
162
202
201
236
263
176
155
182
230
176
158
115
263
300
191
169
152
244
157
162
129
115
168
230
212
163
176
243
181
202
176
243
186
115
225
161
241
146
195
224
211
224
226
164
130
146
166
146
226
146
236
184
174
154
228
217
188
204
183
220
159
185
199
129
217
130
146
192
211
174
155
268
276
143
231
169
129
173
270
210
217
176
179
216
234
133
227
204
164
130
165
210
144
230
204
177
184
190
133
157
274
274
169
186
207
183
146
251
184
149
183
203
222
130
173
166
187
249
168
228
236
208
129
150
231
157
182
206
173
192
219
209
187
218
175
190
146
164
185
141
195
178
232
247
173
146
248
207
217
218
188
184
188
186
215
204
175
199
174
239
205
238
182
146
133
176
173
191
253
155
204
156
145
183
158
201
184
211
159
158
269
210
251
184
299
196
208
213
202
145
146
228
204
130
176
160
216
133
258
225
175
252
130
164
214
158
230
249
193
133
146
162
160
210
138
186
176
201
222
180
235
188
129
247
253
195
205
257
203
206
158
176
219
129
130
199
236
185
141
145
156
215
130
182
231
161
221
183
176
220
217
216
129
185
215
194
189
146
250
237
150
265
158
224
175
225
213
248
191
208
211
138
164
141
230
225
144
188
150
223
130
245
173
184
180
255
247
133
186
260
161
206
233
246
233
187
168
251
237
146
192
217
232
217
193
178
216
171
176
200
194
225
141
192
283
145
146
143
178
181
245
246
182
179
183
182
243
165
190
191
129
200
145
129
156
211
130
210
206
219
188
173
145
201
188
246
191
145
184
261
281
130
173
190
164
261
168
173
256
190
189
146
149
143
207
156
172
173
141
232
239
217
176
149
254
203
201
184
205
185
129
213
168
170
230
168
153
166
241
205
185
184
180
296
181
180
131
130
192
171
221
122
129
176
158
138
229
138
176
169
210
250
176
163
221
252
193
161
179
184
173
168
246
129
234
204
187
129
200
210
162
115
176
236
164
146
214
224
156
149
206
234
266
191
163
239
129
256
204
161
247
183
230
158
231
173
209
173
225
217
130
202
289
150
239
234
221
178
201
183
130
186
146
192
201
259
161
198
185
189
173
171
234
277
203
174
202
145
218
129
164
189
173
188
146
264
237
206
133
184
243
190
173
176
191
193
190
217
145
129
133
214
129
185
143
181
173
181
206
230
230
145
227
141
189
169
183
193
236
161
200
191
197
259
176
230
165
166
174
247
169
210
236
209
129
211
264
170
264
174
221
227
181
315
155
156
230
206
221
189
151
178
164
214
154
255
236
164
258
239
146
181
176
164
217
222
115
221
188
130
150
130
133
236
195
143
179
153
161
214
335
296
249
179
182
179
222
149
208
264
173
216
146
132
188
175
145
206
202
230
164
259
162
186
173
239
156
198
133
210
176
207
176
270
187
158
170
152
217
146
233
202
181
225
204
133
132
202
181
194
143
254
144
182
239
232
182
152
200
211
146
229
146
180
204
176
204
188
156
217
146
214
175
177
182
132
200
164
201
152
204
158
237
259
219
176
115
259
146
249
158
179
262
226
146
175
149
202
131
188
128
210
146
216
168
209
209
206
206
168
197
204
190
156
183
182
133
211
281
133
268
208
216
176
146
129
146
183
151
141
132
248
217
179
195
157
174
130
188
179
179
138
217
206
173
185
166
143
263
261
242
182
204
182
197
206
235
267
230
168
175
158
182
225
146
115
209
173
176
153
133
146
146
179
173
211
184
204
266
150
259
145
177
240
285
176
168
230
212
156
210
201
189
192
257
214
173
218
191
162
162
167
119
224
156
202
168
176
129
210
168
168
240
294
168
156
221
218
202
179
232
146
210
146
233
278
201
185
204
251
200
176
208
204
166
174
236
210
169
187
234
122
129
210
224
202
210
181
191
321
200
188
183
217
129
189
273
211
159
183
173
230
240
190
162
244
143
145
150
190
217
204
176
141
168
185
201
279
168
143
168
205
192
145
193
169
224
219
158
200
211
230
198
174
147
209
183
223
247
176
162
185
176
208
129
173
264
184
158
181
173
193
146
236
203
182
164
163
122
211
205
188
169
162
247
146
244
192
153
204
192
146
178
187
227
185
260
174
256
235
200
165
173
168
204
201
179
211
187
252
200
217
173
143
139
295
156
189
130
173
155
219
205
162
211
145
230
205
201
147
191
221
143
204
234
218
217
164
130
146
172
248
188
180
173
225
203
239
174
146
189
146
176
174
143
182
206
183
242
252
176
242
216
185
143
198
228
130
132
137
177
240
240
237
194
173
220
214
166
157
179
182
335
241
169
207
179
133
230
180
199
191
206
234
215
130
186
216
176
191
232
146
173
162
138
128
129
216
202
282
221
211
228
200
174
259
156
158
218
265
201
210
130
143
179
184
176
246
173
202
219
161
213
182
226
130
172
133
180
232
130
133
203
143
158
175
200
204
221
129
177
140
160
146
150
173
143
150
204
156
133
277
210
211
168
185
133
146
183
184
233
209
300
176
265
180
242
176
191
198
202
129
164
146
201
300
210
143
263
223
130
229
152
129
200
260
191
202
230
182
193
129
210
201
187
156
150
164
143
230
129
214
182
191
235
173
157
183
162
152
249
173
200
178
181
174
209
182
173
138
173
217
203
238
157
204
170
199
166
261
246
180
223
186
130
207
247
115
184
239
238
204
155
214
178
130
183
247
206
153
191
156
188
229
168
309
228
162
178
146
213
183
147
152
176
169
201
204
266
130
143
176
194
168
283
201
143
146
194
161
188
203
191
176
216
230
170
201
213
180
168
193
210
210
259
202
179
255
205
179
174
128
230
176
162
181
174
129
265
146
169
196
221
168
241
201
188
178
155
258
188
204
182
173
182
180
168
205
158
195
218
185
169
277
115
229
115
244
200
188
236
210
192
162
152
210
250
194
214
300
186
204
210
181
204
158
182
168
204
146
182
173
188
167
184
162
165
176
184
214
173
189
335
180
191
217
191
215
229
189
157
230
223
206
161
180
132
230
183
169
261
217
181
289
146
157
236
212
173
222
213
211
199
261
168
209
230
141
179
227
206
200
115
185
181
190
178
161
179
197
245
150
183
194
209
200
215
191
224
212
178
212
179
178
128
205
343
189
225
179
181
176
180
181
150
158
230
216
207
129
229
191
239
179
248
205
207
173
184
197
158
163
190
184
202
180
168
176
230
182
143
210
150
213
225
199
175
178
168
192
216
221
219
253
178
227
200
194
184
183
169
272
246
130
122
210
150
239
206
184
255
173
194
210
130
182
191
200
211
228
115
215
176
189
198
138
179
231
183
133
145
204
201
212
191
214
182
176
162
173
173
206
257
294
143
210
158
178
185
147
143
159
168
138
256
187
236
201
143
209
155
218
146
180
266
239
133
200
203
191
216
214
239
173
130
259
190
202
238
141
206
207
155
154
160
145
320
192
186
242
200
183
188
204
215
115
237
146
162
207
175
187
259
158
143
260
295
130
188
141
194
179
158
217
229
168
269
188
195
146
160
182
202
161
184
244
203
189
200
159
181
234
243
231
228
155
216
130
155
130
191
283
173
173
280
176
122
198
181
186
239
283
182
146
191
230
146
195
187
218
206
209
214
160
228
205
173
259
173
209
225
238
263
217
183
141
209
183
183
133
262
246
211
122
239
192
195
179
190
171
265
243
202
143
235
171
130
182
176
179
187
211
201
182
202
242
206
162
160
206
265
191
162
200
141
138
183
230
249
165
170
175
168
211
268
187
210
164
276
146
227
129
195
183
192
214
132
173
194
186
258
179
246
156
214
176
195
234
202
185
216
246
253
150
239
180
187
146
210
201
242
173
222
145
229
222
215
184
218
153
115
141
236
180
187
203
267
221
164
210
170
132
218
146
162
200
176
159
210
153
133
181
215
184
129
183
182
220
151
230
247
193
201
139
265
238
270
270
235
155
173
129
195
115
208
184
173
254
217
151
202
115
178
226
144
210
204
170
146
228
182
225
164
260
157
202
153
215
214
176
227
303
242
170
129
184
203
161
206
164
245
250
228
146
259
168
219
152
143
202
300
168
161
149
231
164
173
179
187
173
174
205
237
232
215
230
180
209
115
184
225
150
173
271
211
146
175
122
148
194
204
204
200
218
173
220
185
201
222
199
169
178
190
287
182
191
153
130
180
145
145
205
168
281
217
155
182
178
130
244
180
210
221
133
133
200
213
164
129
173
201
163
249
226
180
173
178
192
205
244
244
190
238
150
274
210
252
187
203
215
185
173
174
129
207
189
191
209
159
238
143
149
191
217
173
202
201
173
154
144
188
173
156
229
236
213
194
172
129
168
186
189
182
176
129
234
203
228
157
231
230
211
166
201
115
190
210
178
168
178
184
188
239
183
204
238
173
198
238
145
150
210
236
245
179
296
162
195
255
217
204
214
359
217
210
197
184
304
206
188
141
129
157
267
229
221
204
141
244
171
191
203
178
122
238
221
280
304
175
238
178
133
182
219
182
146
145
161
160
237
185
208
184
172
189
210
179
227
138
129
177
245
166
193
253
164
222
179
151
192
173
182
250
210
214
204
274
181
231
169
176
181
210
184
235
221
222
266
129
168
122
179
184
283
226
204
145
171
200
159
191
211
188
179
184
264
201
264
252
145
151
183
130
164
217
246
217
283
173
183
207
182
210
174
291
146
168
184
168
159
196
158
219
176
271
235
164
133
283
188
226
179
173
157
204
210
204
221
210
205
219
178
143
182
180
197
206
143
296
141
222
214
174
146
214
180
143
205
191
145
176
247
181
184
202
293
264
226
220
146
197
193
194
216
200
258
179
240
212
180
149
231
209
176
192
210
146
149
210
206
182
170
155
176
232
302
226
168
243
176
143
224
236
222
166
213
199
176
217
146
221
115
225
211
129
220
169
265
229
162
230
129
162
145
161
133
176
265
185
176
183
256
150
230
184
204
207
180
202
261
206
200
179
204
179
168
206
173
191
250
191
283
210
170
115
173
185
143
207
263
150
166
216
208
146
203
130
191
211
185
178
146
225
158
191
228
210
161
169
211
226
130
176
162
152
144
173
168
115
189
143
178
172
151
218
178
191
162
217
171
138
201
230
234
229
184
145
263
143
185
212
188
168
200
129
160
183
167
129
211
132
214
166
239
267
204
133
195
234
193
159
201
208
206
149
160
204
185
208
192
252
176
188
160
122
166
214
208
238
204
130
154
173
210
289
211
192
206
260
216
300
212
246
202
141
155
263
198
197
211
201
129
225
242
225
201
218
230
143
141
247
157
208
297
176
173
217
226
160
184
149
191
162
164
146
236
181
203
203
228
183
204
211
176
251
143
162
174
146
129
155
203
169
191
129
201
155
156
184
130
201
174
128
173
210
147
184
232
146
164
197
130
220
229
175
180
155
204
238
115
130
243
180
204
166
130
210
230
195
269
238
178
205
221
195
185
234
171
122
129
146
227
231
156
210
217
115
195
219
230
115
191
244
191
191
217
215
205
129
264
130
143
213
217
176
191
132
203
174
199
164
143
129
192
155
195
200
227
256
182
166
187
190
162
211
177
162
248
129
239
209
212
172
143
200
170
129
152
186
216
146
152
176
236
237
178
237
227
156
115
180
172
148
133
178
194
115
176
239
180
189
197
191
167
183
251
191
272
213
226
184
201
247
146
130
164
151
177
129
286
173
210
130
175
181
300
192
155
228
225
206
199
130
146
204
168
143
272
164
233
221
230
187
182
264
251
181
130
185
176
188
258
168
201
197
231
127
168
203
250
202
236
189
146
238
130
243
165
200
157
203
221
184
185
169
183
208
141
202
198
189
180
236
179
190
222
183
200
192
179
187
194
202
204
130
230
158
241
210
197
170
190
146
213
146
145
204
115
234
246
174
215
130
234
217
166
247
143
155
152
183
195
173
173
173
189
209
208
129
183
260
309
176
170
197
230
162
300
146
146
133
176
212
164
180
161
166
203
162
236
130
199
196
129
210
201
178
273
216
192
239
200
176
180
225
172
164
202
230
143
212
146
164
178
229
195
201
133
211
231
200
210
130
204
232
202
217
146
216
201
244
221
215
129
204
213
244
201
201
200
195
225
130
168
178
129
201
264
171
209
182
146
171
206
209
222
130
206
157
220
220
185
201
236
262
201
176
180
263
147
190
165
268
170
237
241
191
145
163
132
187
182
193
181
146
213
176
210
207
225
179
226
150
166
211
197
176
215
182
161
265
242
192
200
156
150
168
197
168
183
222
182
204
224
183
168
176
191
129
200
186
214
233
246
185
225
222
186
141
176
246
202
247
141
204
122
210
158
173
205
201
129
211
243
143
164
176
225
285
221
180
217
228
201
149
205
199
179
176
185
130
202
180
190
199
227
182
230
143
183
200
171
184
162
254
150
172
231
207
130
211
210
247
150
141
128
155
168
188
187
213
164
266
246
267
218
253
236
209
248
187
236
177
204
211
170
129
230
176
209
146
187
273
150
214
237
201
143
200
222
147
168
153
201
202
258
130
162
129
144
239
261
289
206
200
231
176
179
202
173
157
193
260
129
182
191
173
115
240
167
210
190
182
186
228
176
217
260
204
230
179
212
198
130
150
204
215
257
217
129
204
180
234
176
184
188
175
130
173
122
156
119
146
197
225
178
173
244
190
206
182
257
132
176
220
195
205
227
203
150
176
145
159
202
246
200
162
178
173
208
187
184
210
216
198
209
206
178
155
227
175
257
178
190
122
150
201
246
191
274
173
182
216
176
219
180
245
249
161
173
217
164
205
248
173
211
160
202
237
204
228
236
204
249
218
128
150
115
281
201
204
214
195
143
197
158
211
129
273
173
185
173
183
129
185
186
173
228
167
226
131
243
243
160
185
176
174
160
182
164
168
160
209
231
210
182
155
156
129
225
289
241
207
221
146
199
180
176
141
146
162
128
217
129
166
206
179
158
211
180
238
277
152
129
187
219
173
145
180
230
244
133
153
163
214
146
191
180
227
143
185
146
164
197
210
264
213
162
210
184
224
203
217
122
149
221
218
188
129
206
208
173
129
155
170
214
187
129
211
210
230
186
228
235
227
128
170
191
181
194
229
146
155
130
202
156
182
214
146
176
222
173
162
210
187
173
162
194
204
183
300
204
178
210
194
188
145
182
173
221
187
141
155
236
188
158
216
201
179
159
201
206
189
172
194
213
227
182
130
236
176
214
158
187
193
130
189
178
200
180
188
208
230
261
219
146
130
228
213
195
241
191
210
230
299
174
248
115
224
188
181
251
240
152
183
144
129
176
195
130
244
173
228
191
233
193
220
162
225
213
164
115
185
214
230
142
115
152
167
158
156
194
240
150
138
173
184
190
221
200
185
167
185
183
173
210
156
231
155
205
191
133
211
149
272
210
221
199
155
130
138
260
209
186
189
168
220
182
214
214
227
161
244
186
251
193
146
197
169
133
188
228
145
221
181
212
202
247
176
181
192
203
128
146
234
274
206
186
171
172
255
194
186
176
183
195
145
166
207
188
182
200
229
210
216
145
176
210
129
207
204
203
212
187
141
207
164
173
209
183
195
158
130
169
230
202
179
128
192
146
218
259
192
138
229
255
207
178
229
187
178
160
209
191
237
198
146
268
210
144
238
234
130
155
184
178
129
183
166
162
238
204
201
217
204
201
205
303
210
204
211
181
224
191
210
307
186
194
191
195
155
175
173
222
259
130
130
203
184
212
182
213
179
168
202
146
177
184
145
200
166
244
200
173
174
188
146
246
146
184
173
214
193
130
174
143
190
181
197
176
222
169
219
215
179
211
189
176
188
203
188
199
185
141
210
162
168
191
225
119
167
231
216
242
200
243
158
216
150
151
188
241
242
234
176
247
245
255
291
179
237
130
225
213
185
210
152
206
273
183
162
264
251
171
214
181
222
254
145
168
186
230
217
169
173
186
115
198
239
161
164
236
129
160
130
164
187
162
186
240
173
300
207
173
130
158
248
211
151
201
210
217
171
129
169
257
200
200
157
237
115
204
207
180
184
225
246
133
237
211
133
195
254
182
167
161
146
191
133
229
220
205
254
143
232
129
304
225
173
206
253
250
183
198
224
156
252
186
143
185
180
165
204
129
199
201
202
173
202
211
128
179
246
188
192
194
133
222
149
230
209
184
238
217
200
213
133
149
129
156
175
130
264
212
201
129
165
173
138
189
180
193
173
203
176
207
184
225
173
255
166
203
165
159
172
204
303
169
158
143
200
173
158
145
224
146
184
202
169
162
173
192
157
132
210
167
168
133
169
160
191
243
228
171
171
194
186
180
240
201
200
190
204
183
217
129
186
191
210
255
185
231
210
147
279
173
146
165
211
173
201
179
143
179
181
218
205
190
189
223
230
264
129
217
210
156
213
222
130
195
193
238
162
185
235
204
192
199
141
182
204
204
186
224
160
146
184
172
210
129
198
162
182
224
154
234
283
164
219
252
129
171
244
209
335
237
177
252
115
238
200
133
233
196
129
205
133
203
180
130
256
261
177
150
130
196
173
175
168
133
160
176
258
239
225
200
232
224
178
273
195
170
130
242
195
184
182
179
165
181
180
171
178
156
210
188
130
172
164
189
173
169
130
157
179
176
244
199
214
204
221
129
201
168
156
204
204
166
214
178
164
176
251
204
192
150
217
201
217
224
201
192
194
227
229
129
263
145
143
222
204
164
133
204
146
183
178
258
145
213
210
259
237
151
217
178
217
165
180
164
179
180
322
164
176
255
176
145
190
182
306
158
164
254
115
147
181
272
199
145
176
133
220
195
200
160
217
209
216
133
167
176
176
174
152
133
173
130
145
141
208
302
186
254
176
176
214
182
197
168
211
219
192
209
211
119
214
156
214
164
221
275
211
176
155
270
242
130
182
202
149
283
211
204
233
164
228
231
143
199
130
254
182
185
173
204
244
176
242
195
183
247
225
256
189
156
184
217
132
129
153
183
149
200
229
247
221
287
222
184
133
258
209
191
191
191
244
177
222
195
226
191
115
228
213
237
186
166
179
173
178
252
195
209
195
222
129
192
143
167
224
204
244
129
159
261
191
204
130
155
217
146
162
191
143
258
214
208
195
212
185
200
277
129
164
206
174
192
176
147
197
179
192
227
157
176
216
169
230
162
176
162
141
251
210
146
209
204
179
173
239
238
130
244
222
195
263
215
204
243
185
309
158
211
227
173
191
206
242
146
159
211
146
129
164
176
202
202
202
173
211
144
166
192
212
214
230
138
175
181
247
229
160
163
226
150
201
146
274
204
170
240
146
182
130
258
145
183
246
184
145
178
209
206
162
130
146
173
213
173
273
237
191
151
158
146
177
202
183
201
282
151
230
173
145
182
253
254
130
211
219
146
199
179
261
195
217
146
217
221
181
201
163
173
193
194
201
115
239
312
181
162
141
172
217
158
229
176
160
194
203
230
277
192
254
144
274
221
244
129
147
200
180
226
166
146
176
203
239
211
241
171
166
157
149
173
160
130
170
145
158
155
201
176
230
246
201
188
171
183
206
256
173
146
179
234
237
213
143
229
138
146
192
185
179
238
258
146
208
159
218
138
255
150
263
251
231
267
275
122
204
130
284
176
129
133
190
163
268
191
240
228
274
242
148
150
169
242
130
262
242
133
200
194
180
158
209
246
220
233
190
149
146
289
156
190
168
229
236
189
173
146
212
129
175
168
229
283
201
214
201
171
208
129
218
189
146
164
209
192
169
138
178
130
182
247
143
236
186
173
187
237
173
146
183
203
146
119
155
256
260
130
173
173
129
235
200
159
264
224
141
115
168
206
180
196
158
157
166
173
173
143
179
144
186
218
145
211
217
158
230
270
130
194
222
179
247
254
287
189
199
229
170
173
129
201
153
161
206
201
230
206
211
236
226
210
205
261
173
210
256
168
179
143
220
263
202
234
174
202
209
217
252
155
198
219
216
130
208
185
191
176
151
171
229
146
204
184
198
173
191
130
185
224
115
210
225
168
228
156
183
184
173
231
216
164
192
232
218
160
147
189
146
162
228
204
138
263
146
189
252
138
178
173
189
180
166
222
167
186
185
190
252
237
225
214
230
182
187
238
168
271
153
146
155
211
217
261
115
146
188
179
173
151
176
231
263
166
230
180
234
180
146
187
173
226
182
203
193
145
180
174
267
194
201
226
174
141
214
182
130
158
207
237
138
181
143
168
167
207
204
264
203
143
173
130
172
204
181
247
240
182
180
133
200
160
218
122
216
182
239
207
171
253
182
202
227
165
187
225
217
248
236
141
146
180
258
181
225
223
195
173
245
115
161
219
169
171
173
250
218
184
221
252
231
216
274
133
179
266
173
190
157
164
157
129
161
176
244
124
146
259
237
165
133
149
177
230
201
146
204
214
156
257
281
173
216
146
130
182
164
240
162
164
252
210
166
148
183
193
146
199
264
138
200
160
228
219
179
225
206
179
238
184
200
168
146
240
166
256
150
183
208
173
220
115
251
228
231
275
200
129
146
162
276
179
128
265
188
249
133
221
227
180
216
222
207
209
236
147
202
190
175
143
240
185
299
217
306
143
173
149
145
249
237
193
187
238
171
184
146
187
171
209
165
169
146
200
265
227
180
164
190
225
259
239
207
200
263
176
204
296
205
168
201
115
220
166
210
130
256
190
210
177
227
217
184
200
191
150
200
178
185
129
301
248
181
162
190
180
174
179
236
183
179
204
228
209
258
218
194
150
192
215
164
188
255
180
189
115
226
200
194
182
158
152
158
201
142
133
132
239
192
211
169
216
317
173
144
191
184
149
195
212
130
187
165
200
188
130
176
180
158
200
168
128
283
227
214
204
146
164
184
149
213
179
216
230
228
239
138
201
190
226
210
152
146
173
321
173
146
115
254
166
166
188
203
237
202
210
129
203
181
230
188
216
274
178
197
191
261
220
173
205
144
227
173
204
222
133
194
144
206
130
191
230
208
217
217
225
176
165
165
192
244
173
231
164
262
183
171
153
176
191
211
192
183
210
180
129
160
156
129
223
198
194
133
190
158
150
210
195
234
233
170
145
164
176
181
133
152
204
146
236
198
213
243
146
178
200
201
190
169
192
268
257
256
204
130
184
133
252
129
161
129
169
173
147
200
163
211
183
133
155
203
231
238
205
182
267
201
199
180
169
130
264
247
183
143
176
130
212
259
217
257
184
115
222
234
227
267
270
178
242
246
195
146
211
145
247
229
176
209
151
143
195
175
183
230
275
240
189
226
122
188
158
193
176
210
204
192
188
199
204
145
191
235
172
200
170
146
200
228
211
161
211
309
160
184
146
191
173
247
217
128
179
186
192
200
261
155
205
207
133
199
151
182
167
173
210
183
211
183
258
182
307
242
263
217
130
222
234
293
158
199
158
204
145
223
264
185
246
168
129
168
133
158
267
182
205
212
181
130
259
240
185
156
211
228
217
195
183
251
240
156
169
183
204
237
195
174
151
173
157
260
185
185
300
199
145
176
204
160
176
193
157
191
152
206
204
164
155
164
210
255
230
200
146
164
181
252
150
204
272
143
200
173
272
181
218
218
173
160
248
328
204
281
145
231
164
236
209
189
238
188
191
168
202
163
201
217
179
146
225
206
206
221
210
180
264
173
207
204
195
200
164
205
206
122
204
200
171
210
193
264
184
228
211
173
238
173
201
217
162
255
239
188
176
155
181
209
129
320
130
207
207
211
197
198
143
129
146
122
179
225
180
141
273
182
180
238
201
190
262
200
201
210
170
218
212
217
182
158
179
222
245
300
236
155
222
251
170
243
145
146
205
214
230
241
217
195
177
222
273
262
138
228
201
164
166
182
182
218
165
211
130
184
251
185
219
188
182
187
196
181
130
190
132
260
196
214
222
186
115
146
129
227
217
245
174
192
203
221
173
226
170
131
196
227
130
196
239
173
250
211
129
191
155
238
122
297
184
249
187
175
184
206
297
119
259
203
173
174
204
229
157
129
209
210
146
132
133
173
162
211
235
250
129
206
164
204
200
158
188
206
173
224
204
193
164
165
133
184
175
169
145
204
188
164
176
180
221
202
210
119
221
157
143
145
184
184
146
225
167
195
236
169
179
191
183
200
193
184
158
158
155
168
185
178
187
209
194
115
180
184
229
228
185
266
210
227
146
179
223
176
175
184
131
146
216
146
130
182
224
146
229
173
129
132
213
164
176
180
205
133
170
230
162
146
183
197
173
182
157
220
189
174
230
202
176
219
229
168
183
176
177
240
175
146
238
164
146
215
156
183
173
184
145
228
204
141
176
254
186
173
194
259
145
197
210
149
221
335
143
179
217
153
217
200
186
129
146
115
234
238
176
176
173
217
202
283
173
238
257
321
165
133
172
199
192
172
283
327
176
169
264
228
258
164
224
165
175
184
184
158
177
210
147
160
217
261
130
168
183
160
160
193
231
231
203
156
158
225
182
200
162
170
138
182
213
173
129
200
129
186
168
210
195
132
221
217
150
182
145
168
173
283
222
239
217
129
141
197
168
238
243
238
158
237
181
255
140
149
194
258
168
217
179
171
240
168
186
164
212
226
182
200
129
183
238
176
239
115
203
255
207
157
211
155
115
236
178
260
201
303
195
175
129
182
292
172
240
221
264
188
178
242
225
186
191
209
143
180
145
190
184
205
180
176
247
169
133
200
144
287
143
197
202
204
185
204
238
122
129
284
147
253
166
158
176
211
146
223
164
164
264
278
191
176
129
130
191
186
204
143
156
158
216
238
176
156
129
129
175
225
157
270
141
183
178
146
217
160
183
140
207
191
145
149
170
192
146
278
130
221
178
129
259
209
178
181
213
291
204
129
203
215
148
217
220
176
201
173
176
160
238
145
221
146
192
217
180
164
204
220
214
241
183
210
162
204
162
204
162
171
190
191
168
274
201
174
156
273
155
251
174
155
193
194
213
133
203
166
228
270
179
188
160
176
201
206
217
211
151
173
146
177
216
211
180
173
201
210
238
146
156
176
184
209
164
175
202
217
189
185
214
260
204
175
141
176
179
222
273
211
192
176
176
179
201
173
237
202
146
155
249
175
202
162
172
186
144
129
186
200
201
204
256
278
210
239
200
160
219
176
273
122
183
202
144
176
191
206
178
258
302
188
159
186
236
159
205
184
158
226
155
144
207
208
162
173
146
201
218
182
191
229
212
182
224
257
244
202
146
210
174
204
225
161
176
130
242
191
133
257
189
230
189
202
179
153
146
173
194
202
179
181
147
172
183
274
206
201
247
173
258
128
147
210
175
173
174
155
221
158
266
197
197
201
162
210
200
231
203
228
143
173
191
209
203
147
173
210
176
164
238
180
172
266
162
183
133
184
180
189
129
214
217
265
224
204
200
176
204
181
197
210
231
222
211
263
263
244
210
189
176
204
239
173
181
238
184
258
150
175
216
176
145
156
210
210
225
129
143
217
203
162
129
214
251
233
174
179
246
168
201
231
215
226
170
242
173
180
182
158
198
222
128
173
183
176
182
268
173
176
129
201
141
130
168
240
157
199
176
216
168
164
197
188
176
158
195
293
115
198
208
155
173
204
182
173
193
216
183
254
212
247
168
240
211
253
210
191
143
130
210
210
217
239
238
203
170
145
169
200
269
164
115
204
205
129
167
285
263
174
195
186
253
204
245
173
162
188
266
185
204
227
222
150
130
239
239
162
182
172
185
289
184
177
204
180
180
174
173
115
221
183
176
197
184
164
158
155
217
182
129
129
129
206
197
215
145
226
209
186
115
152
164
179
156
183
143
191
213
200
146
164
158
193
257
257
220
210
247
195
190
204
347
184
184
205
214
222
157
212
173
192
214
168
185
239
199
173
173
183
210
173
173
212
156
210
184
185
193
194
133
204
191
204
213
202
206
222
151
204
222
171
158
205
227
200
138
184
182
230
191
218
233
145
217
199
129
183
166
217
155
255
208
168
249
162
187
164
146
200
200
178
211
176
158
229
204
130
183
196
169
200
214
212
179
201
192
115
158
210
217
200
189
177
201
189
232
187
115
299
273
150
183
159
174
199
158
192
203
252
217
129
208
157
202
206
182
189
191
227
130
160
115
204
148
247
164
133
174
164
229
265
233
238
153
143
190
188
157
206
166
172
202
180
207
138
206
239
218
214
209
201
149
146
255
130
194
145
162
176
162
201
296
216
178
194
214
192
254
183
230
235
208
188
212
180
204
260
171
169
195
145
129
182
129
161
173
184
217
204
130
164
156
130
150
226
133
129
164
168
215
178
217
202
170
184
200
188
207
161
171
236
230
236
177
172
214
133
146
141
229
162
229
129
194
155
161
224
130
132
143
143
143
236
133
169
173
178
246
133
223
146
174
141
164
168
166
249
211
204
214
165
141
236
228
227
209
183
202
152
236
211
199
185
207
191
189
210
230
173
192
235
200
173
182
173
229
184
206
264
168
176
191
273
184
233
223
130
247
250
200
179
176
130
181
164
176
217
129
239
227
228
267
240
190
211
214
202
244
169
156
222
239
230
176
197
188
158
215
275
162
160
201
145
198
193
155
228
176
155
234
199
182
216
335
239
200
206
143
209
205
156
158
158
129
202
283
274
143
173
144
191
204
204
244
146
191
341
238
178
211
122
143
195
147
219
179
200
197
130
239
157
204
130
192
173
144
214
230
237
179
197
300
179
130
189
248
160
138
179
145
162
144
169
200
211
150
230
204
201
153
227
210
185
220
152
180
180
191
172
200
145
166
158
168
207
146
146
236
115
133
191
300
191
146
191
234
129
212
156
242
130
204
230
186
175
191
146
245
252
251
182
216
184
188
300
237
203
173
168
224
245
204
198
205
212
168
198
174
129
158
222
167
203
180
172
211
171
155
209
160
173
204
156
173
287
201
207
199
173
236
130
168
231
206
204
231
171
187
213
179
179
242
202
243
160
198
205
206
133
263
173
128
230
130
242
261
240
224
180
182
250
215
172
195
141
201
190
168
201
274
143
224
145
210
166
214
145
199
190
201
174
169
205
214
129
299
206
176
173
208
191
246
169
173
221
130
187
184
198
241
172
209
205
201
155
204
208
244
229
122
146
143
247
216
221
202
210
179
129
180
151
176
215
178
220
261
251
167
193
335
240
211
173
166
227
173
249
191
166
170
146
200
129
201
203
157
185
201
263
151
212
222
146
129
192
224
156
263
188
210
233
133
205
232
225
218
297
183
210
177
333
163
182
209
253
187
191
169
191
183
178
164
163
241
211
250
168
195
160
145
211
141
162
191
184
161
155
173
208
185
157
212
263
206
155
192
144
132
240
211
197
193
179
199
248
173
191
115
211
201
210
151
232
129
191
173
129
166
188
211
185
201
157
189
192
207
184
217
141
192
122
166
307
159
174
144
217
133
203
297
157
146
228
173
190
194
178
216
255
243
226
184
191
244
194
167
156
224
173
187
184
155
201
171
128
156
208
273
145
184
226
115
219
147
283
170
175
255
162
166
176
150
206
186
129
207
206
173
155
138
183
236
175
252
115
221
171
211
194
129
173
221
201
158
187
180
169
188
149
214
179
161
143
210
180
130
156
195
239
238
219
197
221
180
257
283
242
213
180
219
268
185
130
150
194
210
256
138
191
173
165
190
256
201
173
129
217
159
188
210
209
162
155
164
129
152
150
211
210
202
210
215
203
238
187
170
150
242
243
227
186
217
192
188
294
228
213
158
183
204
187
122
229
175
183
209
176
149
133
158
130
176
168
251
231
184
210
204
173
252
150
226
183
200
156
209
191
216
235
230
276
182
253
184
122
202
267
163
173
200
289
157
263
179
145
156
199
259
168
160
204
138
229
146
206
231
261
215
191
216
184
207
133
133
183
188
250
203
247
145
246
194
160
129
170
178
186
129
181
187
158
207
217
115
164
207
192
246
209
181
166
200
303
133
155
261
158
147
145
275
222
192
198
191
184
176
210
180
176
193
204
192
169
227
170
264
206
146
217
215
242
173
155
129
174
234
149
244
261
214
187
242
183
181
153
324
209
151
266
225
227
192
190
211
192
178
201
261
249
231
146
241
214
200
194
202
153
201
171
210
173
129
216
150
176
179
146
137
229
156
153
227
128
173
129
193
204
130
166
168
201
194
149
191
181
176
168
147
200
158
162
229
173
230
204
204
239
164
211
264
198
204
230
226
225
265
175
184
170
217
129
223
176
130
174
169
201
141
173
146
204
211
173
155
236
200
255
199
225
155
229
207
210
260
130
171
179
200
222
185
204
152
147
227
180
176
210
173
164
186
162
180
122
210
144
179
247
133
189
170
232
230
202
115
143
172
183
146
210
171
236
167
129
129
214
200
184
207
141
202
164
235
250
203
210
183
186
179
221
201
203
276
187
291
225
166
222
172
176
170
130
209
178
147
176
146
129
139
207
176
173
146
210
218
207
166
176
130
184
191
145
146
173
249
195
160
196
222
243
158
259
244
146
169
181
164
239
202
212
185
204
173
119
183
193
169
143
227
176
238
192
209
192
189
176
259
146
171
237
176
168
160
145
230
176
213
259
166
164
191
208
141
186
146
176
209
243
175
169
204
210
143
145
191
157
183
176
164
195
179
164
215
182
176
208
146
186
245
185
188
173
162
201
241
229
218
180
238
195
206
216
181
213
180
238
143
197
143
206
262
238
240
180
175
208
159
183
130
249
255
242
172
129
141
201
236
212
240
186
186
206
176
186
115
146
222
187
201
180
210
226
206
192
146
158
202
225
209
206
208
173
188
215
202
230
201
294
176
166
143
203
213
272
133
161
239
220
149
202
190
202
227
162
178
179
146
242
178
257
237
202
227
204
259
192
257
185
122
115
142
182
227
115
227
222
193
194
178
230
168
188
227
193
236
172
285
180
240
264
199
195
146
238
176
186
166
226
160
141
183
238
210
175
217
191
225
198
129
182
153
158
206
217
130
141
176
156
225
129
192
184
264
160
178
184
184
146
168
173
195
275
192
138
218
195
199
149
169
206
277
230
164
181
179
146
205
179
184
244
158
180
179
146
161
159
221
198
146
217
180
204
217
129
256
253
194
261
164
211
202
176
247
183
166
201
217
166
194
129
178
158
182
167
199
182
150
259
215
158
146
187
146
204
239
260
171
155
171
145
170
153
204
208
154
209
202
187
151
201
204
178
129
251
188
195
214
246
216
231
223
256
189
146
222
300
183
198
155
192
170
246
197
217
232
200
225
263
215
215
300
152
129
146
115
133
214
171
172
155
257
179
164
242
137
311
297
200
207
206
191
202
204
190
190
133
179
219
130
189
211
203
224
201
168
141
240
173
165
222
169
270
173
194
174
216
179
174
253
263
128
233
217
190
191
265
186
199
275
204
129
190
115
282
222
225
171
238
183
166
202
185
178
208
159
133
182
217
214
173
300
230
193
156
190
179
173
210
185
203
137
238
149
207
130
171
195
182
146
164
115
122
173
231
231
211
217
138
203
150
182
179
186
228
185
129
204
130
182
202
235
190
146
207
202
151
146
173
249
202
275
251
254
182
182
173
170
192
204
199
189
240
170
129
187
164
204
167
130
214
130
184
211
192
195
214
173
201
263
115
178
169
133
147
197
133
129
210
203
172
200
177
166
227
204
174
201
153
254
130
162
262
236
173
203
203
218
184
210
229
164
206
130
201
129
145
195
215
168
230
197
228
209
194
264
197
170
204
155
217
204
182
173
141
275
217
204
180
180
129
176
221
234
186
204
185
244
329
248
210
216
183
209
254
129
215
173
217
150
243
262
211
169
236
263
192
210
181
146
212
189
164
184
240
222
169
194
130
164
150
176
157
216
250
184
176
181
129
210
234
219
206
175
219
211
193
222
166
156
150
240
201
272
218
146
156
244
162
244
220
129
254
162
225
206
155
169
217
173
214
222
138
300
228
217
172
259
133
187
240
173
218
234
178
171
173
201
130
256
217
206
164
204
230
144
204
162
192
141
201
214
176
241
175
244
202
156
195
217
219
158
182
169
213
318
196
224
239
183
230
129
115
181
130
225
209
173
130
206
202
259
162
274
181
129
162
187
244
205
158
258
209
203
185
128
159
214
230
182
204
155
204
115
191
201
175
239
143
164
194
194
249
122
202
174
181
203
215
225
206
188
211
192
256
190
201
129
164
183
181
247
260
129
178
169
244
146
236
193
234
217
236
225
129
233
130
129
222
130
227
200
204
202
227
129
206
143
178
153
168
181
129
203
146
210
143
172
168
211
129
169
153
210
201
247
173
162
195
229
166
190
214
205
183
214
168
146
225
192
208
179
187
149
164
193
157
200
195
202
146
226
224
236
222
206
216
184
238
204
158
169
217
277
197
227
173
145
194
150
233
190
169
335
162
176
178
190
129
216
206
189
146
180
217
176
231
210
149
227
204
230
179
192
129
191
182
164
294
193
180
295
175
160
255
190
129
204
190
247
232
149
155
133
190
141
219
233
198
221
204
199
214
157
196
201
200
206
202
201
176
115
200
180
250
168
141
210
210
297
222
179
129
197
165
174
200
201
128
217
184
335
143
230
233
162
129
178
179
158
162
157
173
183
239
258
235
130
162
179
188
162
168
210
217
227
195
156
240
166
175
185
307
200
211
176
201
195
157
129
146
256
176
171
146
227
168
213
156
230
146
264
210
187
292
218
220
158
129
173
227
201
159
211
199
184
233
217
234
179
213
164
172
234
220
181
210
129
207
196
218
227
158
180
231
182
231
210
211
255
168
177
263
214
269
146
141
202
322
173
173
206
173
240
149
168
261
230
225
294
169
203
146
169
186
166
168
173
183
217
146
130
170
212
186
164
227
221
202
229
231
246
143
204
274
230
244
229
179
168
195
146
175
236
197
202
256
217
186
205
168
197
191
133
188
195
229
217
168
207
155
254
246
221
210
216
146
173
184
129
309
178
203
230
143
227
195
192
190
133
181
244
202
302
115
184
133
207
334
182
200
210
200
269
129
172
145
133
185
130
234
217
155
190
171
201
122
156
281
204
143
182
179
182
188
198
181
182
193
181
208
197
115
224
179
162
128
180
138
227
179
236
119
167
224
209
211
178
158
115
128
193
129
130
173
175
164
184
184
218
158
187
146
173
201
133
176
146
141
230
224
200
147
261
133
183
260
230
166
205
158
238
211
236
178
253
129
203
193
221
167
115
165
181
258
150
188
179
209
153
210
158
247
216
169
197
213
233
181
133
152
231
182
161
208
185
180
217
256
194
230
194
184
241
183
201
129
189
181
167
162
230
216
221
176
180
202
179
197
145
225
261
164
226
236
203
173
210
203
220
201
241
122
214
129
159
186
179
188
212
236
200
233
214
141
146
141
176
141
214
133
256
183
242
130
191
221
189
133
162
210
237
173
230
244
201
242
162
129
208
216
160
214
183
192
202
182
173
178
133
162
167
216
160
182
200
167
210
211
181
184
204
196
247
144
280
146
146
180
129
130
235
162
226
179
239
168
192
168
222
171
239
147
146
254
218
164
217
122
188
201
272
164
149
201
227
216
158
218
216
210
201
205
185
227
173
201
245
270
129
176
223
206
184
215
302
207
271
178
184
141
138
174
129
184
256
191
147
217
212
162
176
191
189
264
206
210
133
193
204
217
216
221
217
155
205
217
224
245
155
168
173
256
168
199
200
187
187
228
146
122
186
129
162
214
204
209
206
167
303
201
210
264
175
209
204
186
225
193
168
146
180
218
248
129
208
232
130
143
219
181
122
196
146
176
185
168
185
207
173
191
184
207
197
144
190
254
204
305
130
133
211
242
180
214
217
258
173
210
162
129
232
248
173
252
168
169
239
151
217
210
206
200
185
129
304
188
176
208
217
203
185
149
162
146
198
130
235
187
249
188
129
228
158
130
225
164
180
173
211
218
158
129
163
156
162
202
181
202
168
191
192
141
184
185
237
238
172
155
187
237
130
161
161
264
203
169
195
133
187
129
149
158
173
183
191
185
197
210
184
130
201
169
183
192
201
258
231
176
202
189
201
213
224
169
146
195
129
130
182
162
145
294
201
209
145
225
256
199
210
248
201
204
179
233
138
197
146
236
194
146
184
187
297
191
214
178
239
173
129
262
242
227
215
130
165
160
204
227
187
222
163
184
178
146
238
162
145
141
192
238
133
155
178
171
178
151
252
222
261
164
217
208
129
200
236
146
166
155
185
194
145
159
239
218
165
173
149
129
155
240
149
217
206
149
130
192
246
183
184
184
204
133
168
144
165
146
248
277
264
161
146
143
150
208
177
210
130
235
182
172
129
115
143
227
187
168
256
174
296
129
146
183
208
207
122
238
191
146
221
191
188
164
146
155
189
158
166
173
130
207
165
191
172
217
191
176
214
211
161
240
176
210
184
183
193
201
202
247
210
220
180
155
146
115
217
176
205
143
206
214
259
159
277
201
186
174
146
226
239
188
173
229
230
227
169
185
212
164
176
174
200
184
164
174
183
170
192
175
115
212
176
146
222
173
199
211
143
183
166
185
227
176
190
231
207
222
176
168
172
168
161
229
159
222
240
133
204
161
131
129
129
213
184
200
218
246
176
236
166
230
234
153
254
211
261
157
146
201
176
171
225
180
206
199
219
145
218
173
156
173
130
228
227
201
147
219
165
177
239
146
191
152
188
190
264
130
204
204
217
129
215
201
255
210
130
174
157
218
188
299
242
217
204
217
201
182
183
129
182
232
167
145
236
164
241
164
230
115
219
213
230
216
173
231
164
264
145
145
130
169
141
180
175
176
164
236
208
193
334
153
158
210
180
176
217
173
201
239
222
130
169
206
129
204
188
201
168
180
155
247
155
209
191
178
181
155
219
183
203
158
201
180
183
182
162
240
183
178
183
168
222
219
205
162
169
239
204
282
173
179
165
129
219
164
155
187
119
144
164
165
130
173
239
264
169
179
176
227
246
204
178
259
177
230
185
151
280
204
122
199
232
153
184
168
151
205
146
182
207
209
130
158
197
236
173
176
225
181
143
178
159
257
221
224
171
236
176
207
180
192
149
164
195
266
173
178
182
146
172
227
201
129
216
222
173
122
210
168
191
225
158
130
208
194
210
194
184
210
173
141
230
172
171
195
165
189
211
130
216
168
217
201
292
210
256
143
173
185
173
225
155
163
180
264
214
164
158
225
230
231
145
214
268
182
217
202
184
227
182
176
194
204
199
234
182
182
325
155
129
208
146
191
217
173
202
216
211
157
173
253
216
270
202
185
130
141
160
186
130
243
239
155
252
166
209
182
210
214
155
222
115
264
264
231
174
210
177
183
173
179
146
176
185
230
130
238
174
220
170
219
191
180
230
129
179
168
229
216
257
156
169
115
179
115
182
215
263
168
186
335
211
205
179
204
200
168
162
173
255
160
162
204
182
211
115
178
203
201
115
130
256
219
169
176
173
185
146
187
164
173
283
202
210
224
151
158
214
215
170
230
200
239
184
217
189
183
201
227
184
198
200
158
207
130
185
184
245
260
187
173
173
192
220
182
145
130
143
182
161
230
141
153
237
243
129
182
168
239
249
146
250
193
162
256
152
211
238
234
156
196
161
174
156
130
155
236
195
183
146
173
189
130
168
180
168
202
130
229
151
200
186
173
179
247
247
173
208
192
168
129
202
200
206
158
130
231
133
145
242
130
167
198
156
188
184
201
229
179
192
238
182
236
240
191
227
182
250
200
146
143
129
252
141
302
191
206
145
157
237
170
161
155
178
185
211
229
168
202
247
146
204
232
146
143
173
167
257
178
182
273
169
146
204
206
204
227
144
210
251
168
211
168
249
226
146
239
169
202
155
130
158
179
143
224
312
200
228
164
233
222
266
228
197
188
229
218
143
200
204
228
185
236
184
164
247
162
178
179
204
253
146
151
192
211
242
216
204
140
179
191
182
280
173
229
205
202
227
188
204
176
173
258
190
129
218
197
152
128
185
130
173
190
184
156
182
208
258
115
161
213
172
147
201
227
191
258
191
141
176
141
206
146
160
147
157
210
138
183
200
210
230
208
197
192
245
187
181
218
283
130
182
217
207
246
200
183
282
210
211
146
236
227
182
183
237
185
176
183
166
177
143
210
176
147
239
202
184
258
271
206
205
183
173
174
182
221
200
138
250
168
180
130
238
201
122
153
204
155
151
180
216
200
268
211
183
321
186
180
173
199
145
300
175
164
188
162
169
195
200
183
199
162
164
217
130
146
146
176
133
221
201
210
225
179
146
236
185
202
190
146
165
196
192
222
238
182
150
199
179
191
195
164
244
176
230
179
236
221
253
199
178
242
130
193
133
285
184
203
173
156
222
244
212
227
183
145
199
211
210
174
216
204
183
195
200
178
200
242
185
188
187
219
210
222
224
259
193
155
206
212
204
236
182
146
199
273
202
185
130
168
186
163
199
244
122
204
162
209
196
172
209
143
209
195
185
158
162
145
215
183
184
160
193
155
209
194
274
185
288
264
230
162
206
202
164
217
210
179
171
143
201
170
176
157
183
166
200
211
176
197
176
248
144
250
267
245
201
149
143
146
214
176
240
259
214
184
236
222
225
225
245
183
178
227
227
172
146
145
160
162
194
270
146
231
204
178
288
176
168
219
265
210
130
259
266
129
188
168
201
227
188
272
192
199
173
176
248
277
186
184
184
115
160
184
263
198
143
246
217
204
185
146
229
187
170
308
133
194
214
203
179
202
210
182
245
250
193
212
225
182
206
199
231
203
162
267
145
281
228
197
264
233
176
194
230
185
164
168
238
187
191
239
129
181
174
129
274
174
204
231
273
176
187
162
159
259
195
178
175
145
160
185
202
180
164
210
179
204
144
267
194
236
214
158
207
182
259
163
169
258
226
119
115
192
176
152
184
272
130
168
146
194
164
216
265
184
253
168
184
214
203
198
195
184
178
242
230
158
185
264
222
262
335
249
214
211
259
180
204
132
203
230
178
209
130
304
228
183
169
184
179
297
217
230
200
174
143
179
219
133
189
177
178
214
129
220
164
219
217
176
193
210
179
160
201
198
133
229
161
283
193
130
151
243
157
198
176
164
133
173
180
235
178
238
182
173
227
193
223
217
146
261
259
188
198
194
156
202
264
203
178
199
273
192
204
255
155
217
216
176
242
199
146
192
122
205
247
250
216
158
146
180
115
228
285
160
240
204
202
197
159
204
216
204
205
185
197
143
138
218
141
230
227
180
185
152
230
266
129
236
146
204
174
202
164
158
176
274
215
207
182
200
174
228
173
221
191
210
185
217
129
162
133
146
238
184
220
256
175
181
182
207
207
173
172
184
163
273
140
216
189
171
205
216
210
195
231
158
236
225
204
201
179
170
153
263
201
145
145
162
179
145
222
272
256
304
180
199
195
222
210
211
162
191
146
205
210
173
166
228
187
210
133
132
184
169
169
215
232
173
236
222
184
139
211
202
255
171
230
182
204
238
209
205
129
184
214
184
210
209
170
225
200
226
263
173
210
173
155
185
157
266
202
145
206
300
201
128
130
238
146
205
191
179
200
169
265
230
217
145
200
203
183
184
158
130
198
190
146
190
163
179
174
233
236
209
195
190
200
217
176
200
241
130
205
177
176
228
201
187
130
182
148
191
238
199
300
173
270
201
199
145
161
188
236
182
261
145
214
300
220
298
201
187
138
133
221
186
191
176
133
129
169
182
245
268
173
188
231
207
180
119
176
156
178
238
210
204
236
230
179
214
214
173
221
157
210
166
221
173
174
204
145
249
179
179
273
186
217
231
231
176
201
203
179
287
164
146
186
129
191
133
178
145
179
130
263
281
172
157
163
191
242
155
143
202
210
164
202
171
255
168
130
202
204
221
161
146
184
225
195
176
191
254
239
232
222
129
166
141
240
150
146
182
161
263
207
283
212
144
183
222
129
198
187
173
185
156
214
228
143
174
194
163
157
300
240
188
173
201
196
202
146
184
238
201
211
265
151
199
143
179
268
225
176
216
146
193
239
252
175
162
115
201
167
178
186
151
183
173
145
199
189
194
187
230
201
182
165
210
179
191
143
162
158
205
146
217
187
115
130
288
201
225
156
115
180
173
115
179
150
202
218
176
155
214
210
202
115
238
209
210
230
204
171
176
184
129
184
166
169
176
158
209
152
187
203
176
217
151
256
187
206
264
210
204
195
179
179
130
214
222
200
176
137
146
306
249
204
216
153
217
256
169
164
223
163
179
173
225
168
178
179
182
186
209
156
195
254
175
143
196
180
215
130
130
133
155
177
130
203
130
189
119
209
130
164
211
181
210
269
179
187
293
168
145
196
264
210
211
188
187
144
204
206
221
204
210
129
182
195
155
150
205
231
193
138
202
173
130
183
160
145
133
133
204
153
186
173
176
210
168
266
184
199
173
227
210
183
200
129
158
188
176
157
164
129
181
222
184
182
181
210
166
200
129
197
186
202
183
173
166
238
179
203
158
210
223
217
200
218
214
296
216
185
130
172
145
145
173
145
122
272
195
173
129
220
179
165
176
211
210
191
162
208
163
173
224
180
129
200
146
197
128
138
248
130
200
291
169
204
236
214
181
214
215
130
190
185
238
258
168
178
198
213
176
199
153
173
146
265
313
162
261
241
194
260
179
194
218
201
162
129
187
294
230
149
199
133
225
146
182
229
257
227
188
183
174
168
129
130
204
199
210
160
145
178
209
162
254
279
255
179
162
141
210
209
162
206
190
217
210
201
232
146
204
190
204
201
155
181
164
210
129
176
184
246
172
183
187
157
261
190
141
193
208
173
169
210
274
195
177
146
199
210
184
153
173
206
155
219
221
217
149
210
204
199
211
208
204
206
201
239
161
190
237
173
173
202
198
264
194
217
192
148
144
129
326
272
246
167
204
217
233
179
168
233
174
173
169
181
178
231
283
202
169
233
143
211
230
257
204
129
180
141
236
210
227
217
191
176
119
244
206
222
127
259
194
176
212
146
233
196
234
206
151
133
130
167
191
211
155
215
173
183
130
182
163
169
138
210
122
176
165
293
170
217
239
146
237
156
184
130
206
181
163
173
176
133
244
198
168
246
152
186
130
237
204
242
201
240
183
246
214
175
188
262
173
174
174
217
176
162
180
238
228
204
261
210
246
201
197
193
181
239
260
246
164
194
198
181
191
256
206
167
188
242
173
231
146
219
187
173
170
204
187
184
132
172
179
171
153
191
170
234
229
236
122
141
205
179
185
217
168
236
166
143
191
214
206
183
242
230
141
202
221
157
231
190
179
146
233
184
173
246
179
257
216
274
239
166
253
209
236
171
129
173
160
229
130
185
166
210
254
179
229
202
201
167
183
230
115
239
162
122
195
211
237
143
143
183
275
132
182
200
207
151
228
150
190
207
209
180
153
211
185
211
270
183
201
131
209
230
231
200
217
151
242
133
129
163
191
203
146
195
173
238
130
185
285
243
204
145
130
190
238
199
173
176
301
173
158
207
128
206
183
252
174
214
167
182
208
204
186
168
188
158
229
255
180
146
146
149
180
243
122
231
324
174
182
179
211
145
200
173
144
172
210
192
208
239
241
160
218
256
168
176
228
166
273
303
202
217
214
185
201
183
151
158
164
155
173
200
164
254
247
238
229
185
215
146
193
263
188
192
192
202
184
239
204
149
176
164
150
141
193
263
192
236
199
262
146
176
184
233
198
217
146
227
180
160
173
183
269
144
226
221
199
156
262
161
227
230
220
173
174
233
264
145
133
214
216
184
173
265
169
209
163
133
206
201
159
182
156
217
236
211
230
227
138
236
115
203
133
129
244
327
202
162
178
228
258
276
160
129
179
166
194
179
202
191
188
176
213
141
236
206
162
203
115
244
208
188
228
225
181
189
188
229
146
151
200
202
224
166
163
257
133
226
164
172
152
179
230
232
183
168
173
182
183
149
146
249
230
189
218
230
276
171
177
204
213
241
160
204
236
226
252
238
146
182
146
168
262
182
129
174
160
286
199
156
132
202
222
144
178
180
157
143
214
146
251
217
194
218
200
251
215
138
176
204
197
236
173
212
201
180
169
217
146
166
252
164
216
255
164
226
210
163
130
155
180
115
236
249
211
143
173
217
178
182
146
191
181
192
252
173
155
158
158
162
192
230
130
188
264
149
223
200
169
236
194
188
193
201
206
179
189
189
162
200
181
210
162
198
208
277
209
222
210
201
236
151
207
129
191
145
255
156
122
201
204
192
130
247
186
238
187
210
133
218
177
202
236
146
129
130
156
176
153
174
184
177
239
201
287
143
227
219
130
321
195
187
146
192
231
206
202
182
200
225
160
162
146
236
201
243
204
214
205
212
304
200
216
146
254
160
234
171
151
202
238
246
145
230
195
173
202
166
225
191
280
261
164
158
201
166
238
212
205
179
129
216
207
157
133
183
226
149
173
181
195
182
192
129
184
145
180
155
204
230
173
201
130
165
166
173
236
251
157
242
191
173
138
250
184
132
264
146
182
192
237
211
146
143
222
214
164
184
183
191
192
209
215
130
251
192
197
162
184
133
181
199
264
259
211
188
238
233
130
204
129
173
183
244
222
173
173
184
227
146
144
176
231
173
230
232
158
166
211
173
147
236
200
204
256
168
173
184
160
130
158
167
132
230
172
183
186
212
253
169
238
146
146
228
200
173
176
208
265
173
248
183
187
173
143
157
172
232
132
218
167
173
225
219
179
225
188
228
204
129
193
182
259
152
215
209
166
205
130
192
143
179
230
130
144
189
133
143
180
164
143
265
206
162
202
209
129
183
173
239
220
158
176
176
255
174
157
322
176
264
169
283
177
115
179
173
281
264
201
201
189
176
150
138
210
206
214
182
199
176
211
187
187
239
115
151
219
237
214
213
150
201
220
194
167
222
169
271
240
209
225
199
130
223
188
141
176
129
258
173
230
233
181
201
132
143
217
176
194
169
174
185
182
166
170
156
206
165
208
201
172
250
187
295
183
158
179
227
210
210
238
173
129
238
195
185
264
166
212
130
210
200
210
191
177
164
216
217
176
146
146
158
205
155
292
164
173
173
162
201
239
148
204
226
138
209
225
144
222
179
210
157
217
129
164
144
169
130
132
257
214
130
161
252
184
231
279
146
212
179
115
228
162
164
222
183
195
160
168
176
204
258
174
168
176
130
209
190
240
198
218
201
179
197
166
204
208
150
162
213
138
173
204
162
256
146
181
130
192
204
181
272
232
202
155
236
189
146
285
235
146
133
188
203
209
115
233
129
138
200
195
209
178
164
182
225
209
168
238
115
201
265
217
206
205
189
146
206
184
155
129
247
151
194
145
207
183
254
212
231
150
168
130
272
189
238
143
212
186
157
158
204
158
200
207
180
146
173
150
184
228
204
182
154
127
185
182
184
192
216
247
176
179
219
185
168
204
129
218
179
260
206
178
238
211
184
183
169
129
269
129
168
153
296
160
146
164
215
217
164
141
160
174
238
227
169
211
168
232
210
202
209
157
191
238
129
189
193
209
190
226
221
221
199
178
129
236
184
144
202
184
229
206
184
190
156
143
269
247
170
115
219
201
146
175
180
158
162
184
255
191
129
182
237
185
160
173
240
225
166
176
201
234
335
130
242
194
174
176
213
162
202
178
208
242
156
173
174
145
217
211
155
207
122
239
221
174
189
225
150
173
204
185
179
168
205
275
192
223
227
203
192
188
158
129
258
239
146
182
179
184
247
181
210
173
155
242
254
115
181
168
217
279
201
190
209
230
214
213
191
149
164
256
210
217
174
264
242
152
130
204
212
179
145
176
204
173
115
233
261
225
201
276
162
185
252
176
166
204
164
206
248
243
247
204
192
145
145
130
236
238
129
288
115
202
179
185
223
230
184
210
275
173
168
198
133
207
256
208
129
149
194
269
225
209
178
184
201
242
172
217
181
141
115
158
130
138
207
188
222
300
148
240
169
129
170
234
155
188
227
201
180
141
173
173
178
287
211
211
189
143
168
231
155
129
273
200
249
259
231
185
176
130
191
186
158
173
157
169
242
145
179
184
189
176
179
205
187
200
202
191
197
260
248
129
173
244
170
169
145
188
173
173
172
248
278
237
130
132
175
204
204
214
203
182
230
187
173
232
179
165
268
146
130
216
145
223
130
204
200
211
156
225
191
182
197
171
129
129
210
239
237
162
196
182
238
212
230
166
220
229
146
194
178
192
210
183
173
210
280
228
215
122
201
283
264
168
209
181
250
217
183
186
129
203
197
173
176
191
205
206
247
211
202
201
182
161
192
165
161
133
246
208
133
213
221
158
173
160
173
210
215
234
149
145
269
186
281
130
168
246
186
184
264
218
186
236
129
260
191
204
165
259
236
237
228
215
188
174
143
188
167
191
198
241
210
150
130
227
225
201
236
168
219
173
201
184
174
242
243
195
157
162
187
294
222
198
252
180
184
200
255
188
201
184
203
162
173
143
204
157
182
184
211
206
184
216
178
169
180
188
216
202
187
176
227
216
274
173
184
188
226
150
230
176
217
162
186
236
212
157
184
212
130
201
171
230
251
236
268
204
219
193
146
217
194
197
178
194
145
150
171
161
151
174
176
248
173
146
242
256
179
220
169
184
209
144
321
164
195
194
168
129
146
146
181
236
231
197
201
209
186
217
217
204
192
129
173
133
161
193
226
174
187
176
176
185
245
168
133
185
230
119
294
177
175
227
272
240
195
169
204
178
236
237
204
173
173
264
133
201
258
186
202
190
146
176
228
149
156
155
183
178
206
174
159
217
262
295
176
160
179
202
180
249
224
130
156
168
187
173
201
235
178
173
189
173
115
176
202
206
231
129
200
176
159
173
158
260
175
178
173
219
202
271
242
148
193
147
152
180
172
199
197
220
191
129
173
202
160
158
173
213
179
211
161
236
141
197
169
129
201
239
223
158
156
228
254
191
188
218
209
226
222
164
188
173
256
133
153
132
211
192
200
266
202
255
143
236
291
226
183
232
190
178
146
244
252
287
178
178
183
184
244
179
195
216
232
208
231
151
205
179
188
261
228
172
207
132
206
210
225
228
183
158
255
225
222
224
190
165
206
146
246
173
172
213
210
173
178
204
258
225
241
206
192
211
235
217
153
282
223
202
168
204
193
185
267
164
171
169
224
186
166
217
205
195
158
203
231
254
225
247
160
206
176
170
204
182
202
216
185
233
246
179
227
212
176
158
262
271
217
191
152
258
246
217
183
206
162
281
206
129
298
230
151
224
239
230
179
236
179
239
174
174
130
230
228
143
219
210
209
130
189
129
217
141
150
223
150
173
129
187
176
204
160
213
173
185
144
213
264
225
204
210
172
217
179
241
206
335
162
144
214
254
188
193
162
197
301
179
194
253
210
206
224
162
170
192
176
130
179
203
179
211
143
219
200
206
194
188
183
233
164
146
181
280
184
206
260
157
226
182
164
219
217
132
163
213
182
184
217
214
191
202
187
185
227
289
231
176
161
282
201
258
258
184
141
122
217
157
221
176
156
195
184
247
242
145
173
171
143
205
174
214
217
129
164
158
146
192
143
200
169
176
129
222
157
209
164
192
129
250
211
215
217
179
172
178
143
155
194
174
211
130
230
175
227
176
235
204
224
183
260
185
180
190
183
158
130
146
254
160
204
168
156
270
238
195
238
183
223
190
222
199
214
157
204
138
201
159
256
247
212
219
200
195
173
129
191
168
206
244
188
256
209
205
168
210
189
173
229
188
204
222
201
130
230
169
182
233
201
204
251
164
173
182
224
263
179
144
133
167
208
171
130
210
219
176
200
162
192
188
115
253
168
145
201
146
218
173
207
160
257
160
130
178
218
145
238
256
129
181
243
115
227
202
219
211
262
168
167
200
202
254
173
179
274
149
187
127
224
191
188
173
115
180
150
115
204
129
226
162
202
143
212
182
185
194
178
172
158
203
190
169
221
201
228
229
189
183
225
204
183
119
146
234
146
191
162
210
239
143
161
194
209
171
239
204
296
179
211
146
202
163
146
228
210
179
173
175
217
238
304
157
233
186
230
199
185
204
163
164
153
186
143
146
225
133
200
129
146
231
160
199
190
173
143
155
176
165
208
261
200
198
169
174
198
219
129
191
173
156
173
185
190
244
251
197
175
206
213
286
211
200
179
162
227
176
210
178
146
173
195
199
178
218
247
146
204
156
156
195
228
176
192
200
115
261
191
189
217
189
206
178
162
129
147
223
273
206
191
303
201
208
184
210
217
246
176
180
263
205
201
227
176
144
191
205
173
214
215
230
176
206
173
229
298
204
216
176
182
143
129
122
188
198
221
178
146
160
230
206
129
192
153
230
217
261
158
195
221
191
129
236
173
210
197
185
188
237
194
239
189
160
194
215
191
133
156
213
166
145
164
182
171
181
198
176
207
184
206
130
210
204
240
176
252
197
178
176
214
169
260
191
182
198
235
151
188
208
251
208
190
222
184
222
192
241
209
129
251
130
146
184
237
278
212
128
173
218
206
149
180
247
185
236
152
147
256
278
211
130
129
201
176
229
191
253
183
146
166
235
164
190
185
180
192
192
191
181
189
162
145
194
157
230
173
166
207
210
176
176
182
164
122
173
294
255
164
191
206
229
207
178
181
210
174
147
173
146
146
133
211
221
192
236
168
211
168
169
270
202
206
122
167
222
216
210
171
210
172
150
214
173
234
229
209
150
236
173
201
156
171
182
203
210
201
165
191
182
211
226
239
244
201
166
167
193
204
168
235
138
252
198
185
245
211
204
183
227
173
158
282
130
188
190
143
283
133
215
280
227
129
183
182
244
181
229
156
188
169
210
236
185
211
180
235
204
173
162
236
173
206
245
186
191
211
179
235
197
181
211
217
150
211
169
184
173
250
222
167
259
191
300
145
180
211
188
178
200
204
129
188
259
205
211
211
184
132
243
259
130
176
175
173
206
129
188
206
240
168
210
130
168
184
236
264
143
198
229
183
174
189
179
176
130
168
255
168
127
202
176
335
143
145
236
267
185
130
197
129
202
150
188
187
167
190
242
130
190
129
227
239
147
203
244
189
138
146
202
152
214
189
128
261
191
181
185
141
175
207
129
178
145
162
206
115
164
130
209
186
129
196
129
151
115
227
194
185
178
195
239
274
158
211
186
146
211
122
173
195
228
234
156
115
245
129
176
130
130
197
173
230
168
191
146
232
178
161
238
228
216
202
180
239
158
221
249
115
191
233
274
129
130
175
169
233
210
183
165
179
164
173
224
201
141
223
228
181
162
185
219
160
133
222
196
187
156
173
155
223
133
188
180
210
173
192
115
152
264
184
202
183
115
164
210
255
173
133
173
146
198
129
205
173
239
129
201
222
190
216
201
265
285
208
162
263
204
227
146
376
234
171
215
173
145
257
182
146
234
285
212
226
164
164
218
211
215
166
211
191
184
219
229
216
210
233
241
181
274
236
210
213
235
146
224
208
173
173
268
243
202
179
198
230
115
197
206
158
181
217
200
191
183
169
115
204
194
227
202
171
195
199
170
206
204
217
193
158
196
197
129
252
217
204
129
132
246
129
158
239
186
132
182
146
186
129
252
146
246
185
217
236
231
129
224
187
138
217
229
199
204
133
277
122
246
255
237
183
178
177
181
162
216
176
204
180
227
264
182
194
199
191
227
229
179
146
211
188
143
186
133
193
203
187
215
217
168
176
204
216
213
222
166
214
180
176
157
128
275
129
203
129
264
199
193
184
213
234
266
244
169
202
191
180
180
250
191
228
176
237
218
210
146
146
179
222
232
130
129
177
239
238
160
194
244
158
222
158
146
258
141
176
216
194
245
256
204
242
162
141
133
178
174
260
183
246
170
212
260
172
222
201
141
130
162
150
168
145
173
164
225
206
179
223
255
196
210
211
200
169
130
228
214
173
145
183
204
212
268
160
200
173
187
190
217
171
182
156
215
240
166
228
252
190
176
194
130
167
202
217
155
173
150
130
203
211
218
161
314
176
198
150
194
221
221
176
221
176
181
166
166
264
195
202
255
204
202
202
146
145
168
176
179
142
173
216
189
205
168
147
229
173
243
231
219
177
177
222
182
143
257
179
173
214
158
188
146
189
195
211
188
283
149
164
184
158
129
133
180
155
138
239
152
181
169
227
203
254
201
151
176
186
170
270
244
130
212
129
212
160
200
210
214
157
145
203
250
238
220
168
238
201
224
233
160
163
225
196
159
156
204
158
227
213
181
176
162
194
129
175
138
209
214
130
201
256
183
245
130
129
145
146
162
204
133
200
194
228
202
210
143
178
130
214
146
213
160
199
162
178
168
335
130
163
178
183
185
210
191
214
173
173
206
115
256
210
115
187
176
152
251
213
230
173
217
242
189
236
145
261
244
233
235
160
115
179
140
218
168
204
220
176
216
229
173
195
164
129
180
176
156
176
196
158
186
234
130
143
204
262
179
184
217
128
202
242
180
189
192
263
211
216
190
218
206
164
200
187
190
183
210
193
204
171
222
177
191
246
201
181
145
204
199
203
201
164
227
143
119
173
206
185
202
165
169
201
191
176
206
153
185
205
201
184
132
221
189
201
138
122
233
145
206
129
158
228
207
210
208
149
129
192
248
204
145
238
247
185
214
211
130
155
293
150
183
248
214
172
133
129
238
226
171
145
158
283
165
173
211
255
233
173
245
165
149
122
181
251
187
153
250
169
259
271
202
286
173
172
178
146
229
156
187
237
164
169
179
195
157
217
199
265
201
176
184
185
115
228
170
219
253
236
210
188
236
195
145
198
228
212
200
115
173
156
164
169
191
155
219
207
295
215
162
162
243
169
130
176
143
287
230
156
203
231
210
193
149
182
172
170
115
217
168
180
204
211
146
180
216
234
205
192
200
209
211
211
156
150
179
181
225
202
141
213
184
217
164
145
178
222
179
156
225
169
210
264
206
204
138
182
239
236
211
175
130
229
192
304
174
171
188
202
202
242
184
199
234
176
236
173
210
225
129
293
146
203
230
201
181
212
129
182
218
225
181
212
211
228
130
265
157
232
195
227
183
151
242
239
177
217
217
180
179
181
130
129
238
201
173
219
239
272
222
207
143
191
214
166
180
238
173
201
122
184
173
152
296
177
141
238
202
115
143
143
242
197
164
166
146
239
204
230
133
201
211
236
166
307
244
232
182
205
217
115
133
157
129
130
145
267
251
129
189
179
288
146
184
271
270
166
176
173
218
219
200
238
194
211
130
160
173
165
275
199
191
197
130
129
160
248
249
311
217
156
187
143
157
176
225
174
181
239
169
254
238
138
193
217
210
157
227
201
191
201
176
132
174
257
173
202
164
129
225
176
172
239
203
157
211
200
129
202
169
201
208
152
188
115
195
173
159
185
250
164
181
129
160
261
145
206
190
201
223
146
234
168
277
164
179
199
174
129
211
141
250
249
236
146
254
122
182
146
228
230
141
193
252
129
236
222
217
183
145
162
162
146
173
218
247
215
115
242
283
220
153
255
176
180
207
204
176
115
255
149
222
190
176
224
230
259
209
216
187
149
229
178
233
146
183
146
189
152
150
247
241
256
163
316
180
171
232
199
179
208
153
231
129
172
148
143
145
182
231
229
133
243
303
260
249
211
160
181
246
253
129
179
182
174
231
204
166
180
137
173
225
219
173
205
200
226
173
208
179
156
184
225
186
251
145
195
146
179
212
185
234
206
204
206
207
115
194
236
177
129
187
156
181
240
238
173
161
222
265
239
211
173
162
241
160
208
169
180
143
210
184
168
193
133
188
201
146
199
204
155
191
170
157
236
202
187
210
217
246
204
227
150
220
174
185
176
144
143
200
129
237
184
129
191
236
202
260
230
210
202
232
164
150
145
229
180
200
129
146
203
193
154
218
181
264
187
130
222
169
183
210
206
194
202
228
141
141
208
176
184
171
175
129
160
151
202
204
217
188
158
189
206
281
204
262
132
129
256
218
210
162
205
226
156
157
189
204
239
204
210
217
164
210
244
228
237
179
143
203
207
210
204
130
199
158
242
194
168
133
162
226
251
221
237
167
129
168
184
129
129
211
182
153
184
231
238
227
130
190
230
143
130
179
206
190
270
221
214
168
159
156
201
115
221
205
206
184
180
143
164
241
161
190
281
146
231
162
216
130
145
197
259
204
204
214
267
176
152
248
241
157
229
213
155
130
212
221
186
209
221
208
201
220
147
166
178
180
174
266
266
179
130
155
254
194
145
143
158
129
173
202
234
247
217
276
230
180
224
210
145
149
173
138
242
244
122
206
129
235
129
184
216
237
216
151
205
240
173
156
129
272
266
236
149
115
160
252
261
195
216
242
178
158
216
193
260
208
272
201
250
180
130
115
146
201
241
161
270
205
173
179
182
161
170
278
211
192
217
146
170
218
129
214
225
158
256
164
129
294
146
184
211
197
186
164
262
143
204
216
227
223
130
204
150
228
203
214
187
195
184
160
308
279
186
178
171
133
200
184
209
174
217
195
227
158
150
146
186
204
210
226
207
201
115
226
262
225
274
228
226
203
215
212
216
152
149
234
266
160
146
115
230
149
243
176
145
227
214
202
179
204
203
178
233
256
214
129
130
192
146
218
233
176
242
175
203
192
210
161
211
203
181
228
213
179
176
217
167
129
184
181
210
188
237
202
201
195
230
173
150
161
206
264
166
207
184
199
115
205
155
180
203
115
180
152
158
218
209
174
228
204
202
179
178
164
192
217
211
160
173
202
204
206
169
222
185
227
223
162
176
215
214
173
164
122
190
210
230
335
240
229
183
188
133
204
166
162
205
226
211
244
145
209
294
166
237
202
229
187
244
146
173
166
185
187
182
130
212
158
243
210
173
146
151
160
146
213
203
210
250
182
191
217
186
204
180
208
129
187
191
211
151
152
147
228
230
115
213
195
220
236
200
182
198
209
188
150
243
122
203
175
300
164
130
203
240
216
213
190
281
129
130
211
119
191
247
129
146
225
223
181
182
173
130
178
169
130
225
129
241
251
217
210
217
157
204
141
179
272
164
292
141
201
213
147
209
188
191
227
133
214
173
225
179
211
162
244
183
184
129
173
266
176
185
158
143
187
194
143
150
141
186
299
145
191
352
188
169
199
143
130
225
210
149
138
219
129
146
146
181
145
168
210
156
234
201
183
164
179
183
173
162
221
255
160
184
195
240
129
163
173
143
162
181
150
168
130
185
195
141
158
167
176
220
175
144
183
170
142
191
217
176
218
198
129
166
240
237
185
115
194
119
151
289
166
266
173
182
176
205
173
233
172
175
211
174
178
237
240
146
130
146
178
164
129
165
232
189
173
146
176
230
176
129
174
146
176
133
173
162
186
216
215
171
155
238
146
217
130
183
204
183
162
217
210
211
164
191
284
168
183
254
232
236
204
218
162
201
130
178
174
189
129
236
146
210
204
236
173
201
146
226
231
164
227
176
209
228
184
145
216
130
146
211
129
195
233
210
115
144
191
239
160
178
145
149
206
145
239
225
261
195
247
238
246
168
201
185
157
220
208
206
225
192
249
210
207
206
236
177
166
236
203
278
176
205
262
250
246
230
129
180
162
184
184
168
172
243
164
130
198
205
251
185
160
235
285
171
203
208
160
217
296
158
133
204
235
154
281
129
143
129
192
145
221
129
233
202
164
236
200
181
198
146
257
230
169
132
198
214
204
183
177
227
201
176
153
164
163
155
236
176
174
250
216
208
202
129
210
167
132
130
194
236
199
173
181
221
201
223
177
188
250
174
154
146
209
249
210
181
185
178
185
301
184
159
268
218
176
215
141
281
163
164
185
265
155
244
202
292
211
247
163
146
160
182
260
213
200
167
189
209
213
209
129
209
248
176
251
206
176
164
198
183
215
155
210
154
183
181
230
178
160
168
239
195
191
206
193
164
283
146
157
236
173
239
298
129
133
185
146
185
231
146
248
122
227
210
186
167
256
145
146
169
272
214
155
230
322
129
183
176
168
248
206
173
211
233
259
208
239
210
149
129
191
153
194
143
182
264
210
160
183
228
217
130
204
162
129
183
274
184
236
254
146
183
214
259
220
182
206
176
176
303
156
146
130
182
212
195
206
155
141
281
162
176
133
184
211
176
208
151
181
204
150
169
194
141
184
252
133
211
129
150
146
214
179
182
193
146
296
155
221
200
203
228
230
172
129
182
182
190
244
162
195
182
143
229
143
158
210
178
191
204
173
192
141
115
144
185
232
194
215
217
143
173
357
115
241
218
261
221
240
167
168
215
155
210
256
221
161
174
213
197
190
161
148
149
171
206
210
208
206
224
261
222
176
173
300
129
130
203
171
251
143
206
205
202
178
247
233
197
201
261
251
204
164
166
156
214
243
152
162
146
172
168
150
206
190
218
178
225
132
129
155
280
244
200
185
144
230
231
145
146
191
155
197
133
176
176
194
204
178
195
177
210
236
160
209
210
130
225
184
171
174
178
213
183
163
163
153
129
183
224
202
157
164
129
212
210
210
142
190
268
174
226
183
129
188
158
146
216
146
237
141
130
133
199
149
221
237
129
233
130
171
173
195
129
184
205
276
210
141
250
183
192
210
207
214
180
204
215
138
176
129
202
270
176
182
133
164
203
204
203
164
187
183
155
173
133
171
224
150
129
213
185
191
163
192
142
195
155
146
262
129
146
202
133
204
162
177
194
173
201
150
130
237
150
262
183
227
201
129
251
224
203
174
265
146
190
233
162
204
191
168
173
199
162
235
164
224
168
211
129
227
191
184
257
230
236
184
174
285
246
176
231
200
202
122
207
243
146
218
239
219
252
263
176
240
166
246
133
150
129
168
224
264
145
195
189
267
183
173
225
187
211
152
142
115
217
210
179
218
173
202
211
173
195
285
166
231
202
274
203
204
138
146
239
115
173
209
221
182
191
164
232
198
195
164
228
159
234
221
225
200
174
194
232
177
200
151
130
269
182
115
144
217
129
173
177
122
253
164
176
208
200
156
196
236
130
179
174
146
129
197
138
236
236
115
158
161
209
164
201
162
162
162
160
263
157
179
185
128
188
284
349
197
181
156
181
203
115
143
217
184
146
167
206
176
201
143
181
263
130
245
200
162
146
259
157
164
199
210
194
173
198
238
191
166
180
236
197
129
297
189
164
220
217
185
130
163
199
194
146
122
218
164
146
178
173
115
179
203
250
211
122
230
162
185
190
219
182
214
208
263
191
163
231
202
221
129
192
184
195
203
200
245
200
176
166
162
179
224
163
197
115
158
210
164
261
205
184
173
251
179
222
133
164
147
210
200
193
182
168
130
212
176
231
204
130
215
201
193
256
158
180
188
222
195
283
176
143
184
169
173
217
173
145
256
165
181
151
130
162
165
163
196
200
179
188
214
191
188
166
180
272
217
173
129
168
204
264
293
201
242
211
204
156
161
164
149
233
251
180
183
230
188
254
176
173
115
186
180
211
160
162
172
223
156
133
176
227
198
219
172
182
245
173
130
279
183
144
194
210
210
211
179
198
129
202
178
204
173
147
353
238
210
169
209
251
189
179
234
133
267
145
146
235
184
182
173
158
130
211
181
129
206
259
219
138
201
247
138
162
146
225
178
145
130
180
122
156
175
143
201
182
153
255
151
227
194
196
184
146
133
202
168
190
218
188
186
161
184
242
245
201
160
204
227
210
188
173
236
202
256
222
162
193
183
209
214
129
156
145
178
211
143
195
148
221
152
161
158
131
172
172
234
201
122
206
238
191
133
230
129
180
227
146
129
156
144
130
194
145
158
214
185
133
176
195
158
155
183
173
169
214
196
177
238
146
306
138
222
218
226
259
202
185
162
247
222
143
168
184
171
200
184
146
130
241
115
231
176
173
201
201
173
130
201
129
171
201
160
225
281
227
179
162
173
183
182
164
216
129
237
150
146
133
238
238
191
189
202
188
199
204
133
133
172
217
192
254
129
201
301
137
210
231
206
234
201
145
204
225
225
163
150
191
115
179
174
281
252
122
243
189
188
204
176
204
204
166
130
162
207
160
184
204
210
225
240
176
185
218
187
178
149
150
235
211
176
201
230
182
184
115
222
161
179
297
119
192
204
250
207
200
173
266
171
241
143
181
217
129
210
149
202
263
221
146
176
183
236
205
225
180
187
221
221
199
210
169
143
176
211
149
180
230
177
256
256
218
191
233
146
169
243
146
176
185
187
199
168
186
271
115
217
138
182
170
190
160
168
189
191
133
335
206
180
191
251
130
201
251
129
233
190
182
203
162
132
165
228
141
153
122
226
168
130
143
184
119
162
198
263
143
188
204
167
249
130
235
183
173
178
210
199
163
202
132
130
183
170
155
219
164
173
164
115
141
230
165
241
128
129
168
168
224
195
176
164
218
143
141
203
244
145
191
264
176
262
129
221
218
229
172
190
164
187
155
211
176
176
206
158
237
188
184
187
247
202
168
170
238
179
183
130
144
227
204
129
204
182
231
171
168
176
157
200
132
181
143
184
199
170
141
179
132
176
184
145
146
129
224
264
173
162
252
176
181
222
173
168
203
176
115
206
243
188
133
242
182
189
216
180
185
289
193
266
264
195
153
213
216
192
236
146
230
169
173
164
205
199
155
291
262
179
198
181
167
244
209
183
288
193
194
225
184
203
164
168
201
163
228
201
168
242
189
180
222
133
211
182
218
210
144
149
161
130
200
154
146
210
146
115
138
115
130
185
223
241
170
178
190
167
173
211
155
115
162
182
159
130
173
185
239
168
302
251
143
203
230
155
146
147
133
130
122
129
205
200
206
217
180
195
224
146
162
130
202
254
227
201
180
210
183
189
239
186
195
159
186
199
133
115
181
143
128
167
214
215
143
220
191
233
146
186
146
206
143
228
188
232
166
222
199
233
185
174
149
178
287
194
203
205
206
203
225
129
149
155
174
263
222
300
168
132
161
209
211
130
169
156
155
191
211
162
231
193
143
238
158
152
190
240
176
184
168
238
240
215
303
248
184
202
174
181
203
173
166
222
202
197
180
221
190
269
181
129
153
179
265
182
158
282
257
206
187
199
173
228
145
217
185
201
145
229
217
173
153
178
149
238
184
219
218
143
182
181
146
164
146
222
171
145
200
258
214
177
202
234
115
162
210
150
180
211
206
207
236
204
167
164
240
273
155
218
143
222
177
286
141
176
223
217
168
217
156
174
216
130
161
185
171
178
230
203
240
211
148
237
183
173
263
169
242
162
283
182
156
146
188
272
281
176
162
234
115
195
157
263
233
202
179
231
203
212
130
207
238
219
227
157
219
173
184
209
169
261
212
204
208
185
299
141
215
145
133
214
176
133
166
265
215
184
262
178
122
232
190
209
219
184
222
165
176
202
178
191
150
193
184
231
204
271
240
162
205
166
221
214
180
162
184
146
152
130
189
229
201
234
217
133
162
173
242
166
206
129
210
264
201
129
184
210
230
245
244
213
179
163
204
216
201
156
200
156
237
173
178
149
172
201
181
207
202
130
208
257
166
192
147
203
209
225
246
172
210
130
174
201
130
157
218
155
129
173
198
176
244
191
173
221
179
138
191
173
235
204
158
173
236
176
193
212
265
238
187
172
165
180
173
229
210
241
129
156
211
255
224
190
230
210
129
217
188
187
208
212
176
217
164
198
328
215
231
199
173
217
176
267
146
169
206
299
158
194
208
198
244
129
187
165
173
156
146
180
130
141
143
261
184
242
182
191
188
130
242
234
214
199
173
168
235
218
213
170
141
141
213
264
188
176
229
225
194
227
285
305
245
129
209
209
176
214
221
210
195
133
204
150
171
178
247
256
218
239
210
212
184
130
222
168
145
232
170
160
161
163
188
158
180
158
199
230
122
215
198
146
244
232
178
176
235
247
173
211
195
176
240
179
164
211
272
258
173
194
258
160
157
180
171
149
184
173
131
146
169
234
184
217
254
191
217
194
172
181
155
213
176
180
210
236
240
327
190
271
227
146
133
141
238
188
216
173
162
195
288
192
225
225
201
246
263
179
258
209
144
174
277
145
242
254
259
203
169
258
179
158
179
206
218
146
219
130
189
235
231
133
279
176
195
231
212
238
143
221
246
146
205
129
238
215
175
204
196
194
276
218
236
228
183
195
287
183
151
168
184
181
241
211
158
164
192
195
176
188
161
261
186
191
182
186
115
179
259
162
175
176
215
228
179
143
184
210
184
149
150
199
210
202
204
265
157
145
217
133
182
234
166
205
182
202
225
263
217
168
209
160
201
187
176
146
176
184
146
224
188
146
186
218
174
204
176
193
176
168
201
147
176
153
129
188
164
164
146
208
130
250
197
213
184
244
174
133
152
145
190
246
211
173
173
230
207
166
180
228
236
189
195
130
195
204
197
146
158
175
260
133
119
188
188
172
182
204
176
175
184
146
157
146
221
179
173
211
129
184
143
130
208
186
239
170
160
231
133
238
202
224
184
158
180
202
261
202
174
188
176
216
149
169
173
185
129
183
173
180
143
239
176
249
173
193
130
187
228
221
160
219
158
128
144
185
122
205
158
201
181
146
175
163
214
160
209
277
169
160
156
162
238
215
184
266
204
193
168
227
217
171
176
233
146
202
164
180
171
181
217
162
192
217
167
176
171
187
201
176
143
181
146
210
261
233
259
158
184
145
172
193
181
176
165
230
194
191
209
156
230
201
155
143
188
182
115
130
173
146
239
244
191
208
173
173
184
229
208
217
218
187
205
192
176
141
145
185
146
175
173
115
181
307
211
115
206
164
283
230
210
173
160
183
187
154
179
217
146
190
201
215
263
300
173
202
160
176
181
216
178
173
130
158
206
192
277
146
129
183
158
261
158
205
261
192
180
146
169
190
146
207
185
162
210
187
187
174
129
216
173
227
179
180
201
219
200
158
222
176
129
173
194
144
191
168
179
158
201
211
226
158
236
196
188
166
138
160
214
212
156
247
267
158
246
214
256
254
168
232
205
210
128
130
144
238
256
169
255
129
236
183
217
199
205
231
166
149
151
240
201
151
236
186
179
173
191
186
227
164
218
188
194
226
237
254
141
146
217
201
210
173
150
184
176
199
229
176
180
171
191
202
137
185
193
168
168
204
317
230
218
199
176
191
187
185
239
240
202
158
235
203
115
210
173
236
228
193
187
198
144
211
240
204
228
173
229
182
269
199
230
179
129
190
177
248
176
166
128
146
165
191
211
226
179
222
146
129
230
180
255
253
119
129
164
141
129
166
212
202
259
129
241
193
233
238
251
169
130
265
214
199
155
206
173
227
201
172
234
209
138
155
204
172
129
186
245
239
210
239
246
225
179
206
182
173
173
185
173
115
161
254
227
145
166
265
202
146
189
162
244
188
207
195
181
214
202
238
206
173
216
146
226
195
222
161
206
146
167
202
187
190
164
265
189
133
173
145
187
210
115
240
193
179
303
130
206
152
204
200
228
161
274
208
256
168
226
200
225
264
151
231
166
211
167
180
261
192
188
228
195
143
217
181
232
194
262
129
201
218
190
178
230
173
225
176
203
197
162
181
144
217
173
160
214
168
211
168
162
209
204
143
220
176
219
210
200
205
303
209
145
176
176
215
195
129
259
151
230
210
237
250
188
211
208
195
232
261
197
194
230
245
151
197
138
143
285
229
186
159
203
230
146
221
130
226
158
256
228
183
145
218
173
209
226
170
239
201
247
206
224
174
215
176
202
146
201
166
204
217
230
141
200
214
191
148
217
211
248
222
122
204
210
173
172
168
207
169
133
162
191
192
149
184
146
157
201
251
185
184
195
170
158
225
204
251
184
228
157
181
201
155
152
204
145
169
277
179
173
146
156
279
162
192
183
129
145
177
186
210
202
201
145
147
180
129
130
173
281
129
150
151
146
208
200
201
222
240
201
173
206
161
206
180
214
192
245
173
250
143
238
143
227
146
157
183
196
235
141
239
218
146
192
152
272
238
203
237
192
204
222
145
185
236
194
189
236
232
230
184
162
133
155
246
286
189
205
208
119
218
160
183
178
237
192
166
210
216
225
165
115
190
204
220
179
196
173
174
181
181
149
149
130
133
115
189
167
143
179
188
197
146
217
197
179
179
218
165
115
188
145
155
173
169
168
145
166
183
201
243
217
235
130
210
302
230
179
181
166
257
191
204
210
230
151
166
226
212
160
279
208
173
247
187
204
132
167
260
133
173
227
217
143
223
190
200
252
238
173
234
132
195
176
213
192
155
155
130
146
132
184
217
173
193
190
176
275
229
173
145
233
146
202
176
115
193
173
193
129
244
175
211
238
129
234
146
190
217
258
239
171
250
211
201
295
199
230
176
248
158
232
206
254
182
219
130
241
199
129
191
226
185
158
156
303
193
236
237
208
165
176
217
243
271
228
149
154
206
202
157
236
203
185
230
203
201
239
285
128
274
133
204
129
197
222
146
184
188
146
217
191
122
171
176
145
189
162
200
181
176
217
246
176
201
229
228
239
129
210
164
210
143
201
145
176
129
206
170
211
130
184
151
206
222
173
200
138
169
188
158
171
202
177
179
159
146
250
206
183
258
202
222
168
181
184
162
156
173
210
204
158
173
175
254
174
206
201
187
208
183
222
130
231
180
189
219
209
259
217
167
179
258
224
180
199
204
146
204
244
246
252
132
204
184
183
201
173
230
156
202
180
207
176
185
216
182
211
218
208
211
219
143
143
191
130
184
166
186
226
174
182
177
202
181
176
211
178
189
181
176
168
211
192
119
284
130
201
164
155
164
182
156
152
223
224
189
156
217
204
203
146
223
115
158
164
187
199
200
192
239
186
227
186
129
181
184
303
287
175
180
205
201
202
146
216
250
239
201
245
225
327
133
190
173
146
176
214
138
115
151
170
205
156
182
173
181
187
234
129
165
130
173
129
130
144
200
183
133
274
175
204
217
215
184
133
244
170
229
205
181
210
230
172
178
200
211
177
201
237
133
162
191
192
225
199
175
235
227
164
225
129
152
250
238
214
169
225
168
263
199
131
208
248
122
181
171
168
265
176
204
210
158
214
217
185
198
171
191
156
143
175
200
188
231
132
168
202
217
283
230
168
211
158
195
210
214
133
202
164
201
236
176
189
158
172
122
181
242
222
191
129
176
168
200
173
129
130
173
128
181
145
205
178
264
200
173
129
176
178
249
138
184
175
141
178
209
151
191
206
214
229
202
168
181
218
274
194
185
213
204
147
129
273
201
158
236
256
115
194
247
190
191
224
168
244
210
173
204
283
205
215
171
232
207
205
185
210
214
283
194
173
221
115
176
173
179
171
200
130
213
150
180
194
238
208
162
206
115
176
168
227
229
204
163
179
222
229
162
210
214
210
230
161
202
137
234
230
202
250
189
155
179
151
179
129
213
229
200
217
267
173
173
262
130
188
181
185
211
173
178
146
178
253
193
197
170
216
212
239
146
294
130
231
179
225
205
222
146
171
239
255
160
178
173
164
173
202
201
163
212
205
209
168
191
173
172
239
179
197
177
225
146
210
193
200
210
172
133
206
145
172
265
160
159
204
176
184
198
184
170
162
130
211
173
156
218
209
230
132
156
128
211
201
191
199
172
204
194
192
238
226
162
150
246
171
168
233
257
239
188
171
162
210
218
145
195
173
202
189
159
176
244
201
236
138
146
246
176
204
178
188
190
181
157
122
202
193
247
217
184
193
199
199
173
274
214
155
181
143
141
269
181
191
115
217
179
162
200
199
228
188
206
225
213
184
238
193
206
215
187
192
162
184
230
197
230
203
210
183
231
248
158
207
179
199
200
182
130
146
197
171
213
146
166
249
240
216
130
178
168
239
141
158
236
221
146
211
262
210
129
160
192
168
164
167
216
230
161
170
206
204
204
185
133
176
203
172
146
235
130
209
230
169
190
209
129
168
210
167
239
179
188
129
203
130
200
156
173
146
206
151
174
204
187
217
211
155
179
173
173
223
222
217
200
187
167
262
222
155
193
146
210
156
217
176
215
188
143
146
183
141
129
176
130
186
157
217
149
173
158
193
182
168
210
176
176
207
152
155
173
241
263
202
199
238
198
210
253
183
204
226
176
131
176
200
130
263
176
141
177
210
251
188
199
212
195
199
229
212
119
239
230
115
173
211
162
259
194
145
158
222
182
200
177
199
129
197
225
179
146
180
225
216
191
160
228
129
192
130
179
189
115
133
242
234
254
150
149
168
200
257
143
191
200
278
225
169
141
129
176
146
173
173
187
216
270
149
179
201
168
206
168
204
230
156
230
164
209
204
183
189
182
250
173
218
202
214
188
172
204
133
249
208
273
145
183
189
210
198
143
159
221
186
155
191
188
199
188
232
153
129
264
233
129
179
238
220
274
208
221
204
184
211
166
173
208
155
145
265
188
237
217
171
222
164
242
212
157
171
173
146
188
264
200
189
171
194
173
218
201
186
227
204
214
161
210
212
212
247
164
178
206
129
192
261
176
175
188
287
180
182
132
162
295
176
230
193
201
149
211
173
144
187
225
171
264
215
241
130
264
191
176
182
258
253
228
197
195
157
168
149
212
294
143
171
211
175
183
175
200
232
225
168
214
171
129
191
211
162
122
164
210
151
158
204
156
146
250
174
195
149
206
211
204
202
173
155
198
218
176
171
160
223
200
201
263
180
158
183
188
239
225
179
173
170
182
188
162
184
162
168
115
210
222
179
143
238
234
157
187
224
147
229
208
186
158
160
132
219
176
204
211
146
178
239
218
144
239
150
203
225
200
200
261
203
173
185
274
183
180
146
225
179
176
173
168
176
256
225
129
173
219
212
208
183
215
119
227
214
275
168
130
227
142
198
209
202
210
175
203
169
200
242
239
133
158
178
133
129
173
165
282
188
182
224
146
147
207
174
193
210
267
238
143
242
210
199
195
158
225
160
197
122
130
168
162
130
132
122
176
129
211
189
130
185
156
210
129
176
173
237
187
173
225
166
253
184
188
212
240
169
214
169
201
188
181
200
174
250
182
225
201
242
179
170
202
280
225
130
161
218
129
178
189
143
160
205
268
145
141
210
211
143
146
225
204
183
183
210
235
221
203
202
145
164
229
236
165
138
216
169
189
235
190
150
169
240
176
227
156
172
215
150
212
130
202
249
288
145
190
199
200
217
149
211
149
221
197
216
222
181
176
146
261
247
184
182
162
235
200
129
156
164
166
176
230
246
238
130
133
146
176
199
191
176
213
176
173
235
160
249
150
225
230
171
179
181
182
182
194
231
188
132
206
191
143
218
256
146
147
169
214
233
173
219
130
201
247
160
164
204
146
193
207
247
178
273
146
186
210
217
216
268
316
275
174
222
230
203
176
161
146
263
156
165
241
176
200
160
173
184
193
204
195
212
191
180
242
182
175
208
173
247
198
220
191
194
130
259
173
175
201
183
164
133
210
130
182
115
213
235
204
157
169
277
210
184
177
168
215
185
216
258
192
230
287
195
183
171
281
143
158
248
238
300
217
236
237
183
217
150
130
220
180
210
178
238
227
264
218
174
231
179
176
237
226
263
201
217
242
213
144
147
138
169
265
207
171
290
206
164
201
180
161
158
189
229
184
191
224
282
176
227
146
284
146
211
211
173
210
163
228
145
168
184
211
204
272
141
238
202
245
175
211
268
227
210
129
172
191
205
205
183
185
173
216
247
129
143
178
201
179
158
184
190
156
129
191
242
223
229
183
156
262
264
157
236
214
163
218
269
222
185
146
130
249
146
164
210
191
217
260
179
145
238
122
196
179
191
146
145
252
207
264
218
181
229
217
201
260
146
181
130
225
283
210
162
192
184
216
146
224
144
191
129
201
217
185
203
251
265
158
186
173
236
264
225
200
245
182
172
180
180
215
179
179
206
176
288
196
173
149
147
207
195
181
196
146
165
182
181
188
214
129
208
180
219
164
173
157
204
205
234
216
202
214
204
182
235
167
179
168
130
239
225
156
188
188
275
158
283
213
205
210
129
247
130
260
176
163
182
275
222
184
158
225
190
264
227
283
173
142
146
235
198
146
251
213
204
206
178
129
256
204
180
236
222
294
146
250
212
200
146
188
204
221
145
166
168
199
176
168
130
141
183
183
210
192
209
202
264
186
152
174
198
176
228
173
152
175
175
186
179
130
227
226
327
233
130
177
174
210
170
183
180
265
166
226
153
176
212
174
179
239
170
173
188
187
192
216
162
222
217
183
156
184
215
129
233
225
178
164
129
179
181
132
129
168
206
179
180
162
197
195
130
130
234
252
146
169
182
206
222
200
216
171
130
129
206
262
222
236
224
210
183
179
230
260
258
214
226
133
203
144
202
213
151
204
155
156
230
129
179
129
168
210
143
241
161
179
226
283
246
221
176
195
169
212
241
160
257
175
227
211
200
146
266
246
191
246
255
170
194
194
144
176
193
141
213
228
253
300
191
200
182
238
217
190
200
217
222
163
157
248
198
156
168
260
215
190
174
152
261
138
213
228
303
227
130
199
214
185
258
263
246
220
167
187
203
146
173
156
267
172
225
176
170
264
183
182
176
182
130
228
187
222
272
188
246
173
238
160
174
130
182
258
200
184
184
187
190
187
130
199
228
176
222
146
155
192
191
144
178
182
207
146
213
216
204
247
143
261
175
184
187
210
201
264
242
235
162
180
222
191
223
168
159
191
201
148
210
155
129
166
249
247
195
156
200
173
201
309
189
236
197
201
228
212
233
219
149
218
165
264
187
214
216
212
182
219
263
211
143
194
167
176
191
191
188
179
212
212
230
176
204
230
189
177
155
192
210
130
130
164
180
185
195
115
146
129
162
151
208
164
227
183
170
130
219
210
184
167
146
232
149
201
178
180
244
186
115
261
130
127
179
141
176
138
250
204
173
138
246
162
243
206
129
145
185
214
191
179
263
211
141
234
287
160
202
145
234
182
210
211
206
160
233
162
242
206
130
141
200
200
173
128
172
174
171
236
185
202
169
240
250
204
237
202
159
130
162
183
158
234
145
146
185
208
130
199
176
143
184
204
235
223
200
185
227
274
210
204
176
178
205
145
182
261
146
194
162
162
175
233
162
176
277
119
171
192
220
207
236
201
211
228
158
222
242
122
258
182
194
178
171
192
198
204
284
173
165
184
261
212
122
189
146
141
147
161
173
193
192
146
243
179
199
137
174
187
221
300
171
182
266
233
186
189
182
219
335
191
254
210
200
222
169
217
197
200
206
153
130
252
200
182
179
129
211
196
133
206
200
230
205
176
178
254
146
141
158
200
200
155
272
151
208
211
198
217
178
191
227
204
138
185
188
217
191
226
143
181
229
204
178
146
236
255
115
203
194
115
115
153
204
232
133
222
197
181
129
122
217
191
182
179
201
208
227
231
149
192
255
173
228
162
267
167
171
169
283
221
192
200
133
133
129
183
238
211
173
133
217
320
224
164
179
179
201
192
129
189
179
164
149
177
195
209
155
189
141
164
137
205
206
185
228
158
187
214
164
217
168
236
204
211
236
202
176
217
214
208
173
153
175
130
162
181
207
208
204
214
166
267
180
172
141
215
217
210
176
257
225
261
168
190
204
191
173
213
170
231
194
192
187
210
217
173
162
302
236
180
130
180
153
179
237
259
143
191
256
335
235
232
173
223
193
210
165
197
227
150
143
176
204
216
247
174
242
204
200
217
122
146
188
202
179
239
176
168
204
264
178
179
152
130
175
173
168
254
180
170
129
258
201
206
204
201
192
204
143
207
217
264
211
181
166
230
162
210
184
201
201
245
224
236
145
156
184
133
239
168
186
259
144
184
195
183
226
166
211
274
246
194
130
213
172
176
145
199
238
170
145
176
204
335
130
200
145
183
178
167
204
250
133
204
180
146
180
115
161
173
238
167
199
146
201
168
214
162
179
179
158
219
190
206
217
167
225
221
274
225
156
255
260
230
217
203
168
247
169
231
236
228
180
211
174
179
204
304
212
199
156
191
182
147
189
199
218
238
130
214
188
149
186
198
133
185
130
179
130
180
150
200
192
236
264
179
217
199
181
211
250
130
203
176
184
164
296
181
262
185
160
211
129
129
163
173
335
191
192
237
266
214
210
146
208
146
152
184
245
210
255
177
146
233
204
203
170
130
217
169
296
163
197
153
176
193
237
222
162
210
176
176
193
230
175
173
245
115
184
266
211
145
206
145
174
184
182
183
195
242
221
201
179
261
210
182
224
149
279
250
171
187
155
168
149
181
153
141
176
240
172
206
181
180
209
200
150
210
168
143
176
166
237
204
183
230
145
173
130
204
130
195
238
160
195
146
145
198
176
156
156
161
264
240
208
215
179
224
183
254
165
214
218
188
115
156
218
210
223
201
261
173
138
187
212
184
161
156
115
190
184
191
193
209
143
208
199
207
190
195
164
129
186
162
198
157
224
193
155
247
236
164
206
188
202
335
205
254
224
335
204
162
206
211
240
200
191
149
190
197
201
173
166
179
140
211
153
160
164
246
236
206
138
187
162
239
256
162
146
225
194
162
229
295
204
146
152
207
211
176
130
214
230
161
173
204
188
181
191
191
174
155
184
210
180
173
172
202
155
153
201
229
161
164
168
179
234
256
184
226
195
235
184
133
181
129
165
225
176
199
264
258
206
171
173
172
265
269
240
146
143
143
130
329
221
202
193
189
221
243
252
230
181
200
219
204
130
167
167
145
191
199
231
159
262
230
156
188
217
170
212
169
204
238
238
223
228
180
138
133
233
155
194
335
191
122
154
200
168
189
141
166
187
253
130
202
209
255
173
189
235
199
192
202
202
191
229
242
211
183
146
214
210
146
140
202
209
182
150
129
162
221
205
176
211
206
143
242
145
211
205
186
164
195
178
146
138
156
130
211
206
162
197
201
119
129
176
238
249
145
216
184
319
212
241
115
130
161
143
222
130
190
205
185
217
173
197
205
145
204
216
230
202
218
210
161
182
230
222
143
197
249
178
170
173
179
227
180
168
143
182
211
253
143
170
166
187
200
129
238
129
146
236
230
141
250
264
217
198
220
133
173
222
202
273
247
185
225
210
214
191
155
176
239
189
164
168
185
180
146
247
152
145
183
150
172
239
185
223
188
219
169
179
171
256
157
204
115
283
183
200
184
175
159
146
185
243
267
238
205
211
214
213
220
206
189
274
145
202
211
234
146
200
256
256
204
244
240
145
191
230
158
210
193
211
243
158
245
219
204
260
200
217
162
211
206
130
232
149
146
180
219
215
193
237
161
178
203
217
129
236
161
143
194
176
220
210
226
191
165
305
141
222
230
211
204
144
212
247
200
176
337
222
232
230
183
146
230
155
148
145
198
145
254
168
160
176
227
191
260
189
151
191
235
225
214
204
161
146
230
189
203
143
260
130
173
198
255
239
254
203
178
204
197
171
217
166
225
238
222
210
233
115
210
179
201
145
191
146
159
172
211
237
133
164
245
130
179
202
177
216
179
225
274
214
193
183
248
150
214
221
264
180
164
212
202
185
204
161
214
211
161
206
150
191
283
178
206
179
173
190
133
230
200
178
138
199
180
160
188
193
209
176
187
275
244
236
183
130
173
144
177
231
166
146
274
218
200
224
203
115
179
189
200
222
170
192
216
217
129
129
191
222
191
146
200
200
160
241
234
180
235
227
166
271
129
166
203
211
168
254
204
129
195
161
151
173
211
180
189
204
236
255
115
197
260
200
236
179
236
220
166
236
158
245
205
264
143
257
164
169
183
207
149
173
230
188
191
160
173
178
210
143
204
206
188
173
159
212
166
225
146
264
182
155
236
267
171
182
159
202
165
203
211
146
211
141
222
182
145
155
158
231
214
184
200
209
174
200
176
188
155
158
158
133
253
173
174
232
168
132
240
162
181
240
161
204
202
129
209
190
155
239
204
210
171
222
214
221
129
201
162
185
184
183
328
216
249
164
264
160
200
198
208
162
240
204
208
184
214
129
225
195
165
203
150
282
188
299
235
216
149
212
275
184
164
130
189
179
181
220
206
149
201
145
173
178
176
146
172
160
184
194
176
133
199
217
204
175
176
215
239
206
187
173
187
119
202
225
211
225
143
219
179
173
130
194
183
195
162
141
204
204
182
202
176
201
203
129
259
173
130
115
115
217
166
217
218
239
190
199
153
252
187
148
156
198
158
212
200
228
156
201
189
246
194
239
204
168
176
173
180
173
229
205
196
194
234
184
176
259
191
179
186
179
206
115
200
146
182
278
187
225
237
201
166
187
229
190
217
256
240
225
238
182
271
210
164
256
190
146
221
146
225
133
180
287
173
230
214
175
130
156
146
205
189
217
233
287
166
182
201
232
248
206
211
227
247
260
236
264
203
162
170
167
115
133
119
178
229
201
184
216
156
200
214
181
115
193
162
200
194
202
180
190
218
203
217
216
263
115
230
129
226
281
197
201
129
160
173
206
232
215
210
202
202
229
270
156
150
335
160
145
182
226
130
176
225
195
155
149
171
219
202
200
143
133
169
163
178
255
202
189
204
183
210
259
176
211
192
211
264
194
150
194
180
203
225
232
217
194
157
210
182
210
170
234
130
173
173
221
188
203
218
221
193
191
200
173
173
251
202
207
250
209
174
274
188
259
150
199
146
146
195
146
219
146
170
185
122
284
211
256
235
210
196
263
176
225
254
176
178
247
172
167
238
200
168
178
180
129
210
177
155
176
195
210
284
130
150
173
202
205
240
184
168
182
204
254
115
155
183
156
168
159
119
170
185
217
146
256
152
217
260
186
201
115
238
197
144
145
157
162
178
160
214
184
198
230
268
179
180
144
158
208
254
252
169
258
236
188
150
173
198
164
156
234
167
228
221
267
197
239
130
180
233
177
237
190
230
138
176
133
129
216
184
209
235
182
188
231
288
129
164
184
201
201
216
246
129
184
261
162
218
191
179
158
169
204
185
176
192
192
179
186
204
194
210
209
218
164
168
188
130
144
129
202
176
145
206
149
225
246
176
164
201
153
222
234
179
199
155
176
184
133
173
176
230
235
191
173
198
168
149
138
173
157
115
130
210
182
240
130
222
239
235
246
192
175
230
261
210
238
185
151
238
115
194
189
296
200
203
164
168
193
221
179
178
168
225
220
173
145
258
156
288
122
146
233
191
200
178
215
180
145
240
228
210
161
146
201
149
169
318
144
182
164
184
180
202
238
179
191
182
150
155
165
176
172
155
187
198
202
190
182
188
183
140
130
227
263
176
197
215
169
180
228
146
165
202
180
231
130
141
146
161
252
155
259
176
191
173
186
210
210
219
143
267
176
191
206
183
205
183
232
202
115
192
130
237
176
182
204
168
206
221
182
178
179
256
212
238
129
147
230
144
146
222
141
155
194
197
138
265
180
219
158
176
191
184
173
211
218
164
150
129
179
159
232
213
182
199
150
204
115
133
247
201
161
201
195
181
179
209
206
176
236
145
233
231
206
262
145
167
181
210
174
130
139
236
264
252
115
158
186
150
188
176
277
129
175
182
246
210
197
171
217
239
182
115
234
176
213
263
267
182
173
202
217
171
180
130
183
208
160
204
146
237
201
115
208
152
152
206
234
176
170
185
195
216
201
183
158
256
129
168
206
189
215
207
187
184
138
129
168
188
202
181
176
208
206
230
203
183
173
191
231
164
287
256
182
236
193
150
172
173
165
115
173
164
212
210
194
210
161
255
157
129
190
180
239
222
210
146
145
193
283
233
214
216
202
173
173
202
209
132
182
156
146
218
210
195
233
239
169
252
160
219
178
146
250
177
162
192
173
240
216
186
183
185
179
145
138
173
283
141
184
179
228
226
173
199
129
184
203
266
143
146
146
200
217
180
189
156
173
133
164
188
217
176
247
202
202
177
227
193
176
179
169
275
224
170
149
122
247
198
133
201
233
204
213
220
145
167
210
115
192
239
194
201
190
179
201
275
150
217
209
174
184
287
173
175
201
173
138
300
168
259
188
150
145
178
199
211
200
300
201
235
187
251
182
176
217
229
164
192
203
220
133
212
186
212
222
209
169
182
175
176
180
191
283
192
168
242
145
222
195
202
218
230
156
200
231
210
261
173
200
227
167
217
185
214
191
162
152
193
234
229
202
259
183
180
274
162
277
156
183
189
155
172
183
173
198
231
149
173
230
146
222
220
130
231
230
173
196
122
223
211
234
197
143
141
180
144
150
128
131
178
146
176
146
208
245
253
178
184
178
210
176
246
153
217
119
178
189
210
146
192
218
205
204
156
162
239
160
188
181
168
234
213
222
236
171
208
208
333
130
186
161
217
155
206
216
158
221
159
208
153
122
201
130
162
145
222
145
200
184
189
173
230
248
146
158
182
210
184
158
157
246
145
212
179
162
206
168
203
162
145
251
146
191
192
227
185
206
146
195
255
179
184
151
157
164
191
199
159
240
212
184
217
155
188
259
238
192
263
287
196
302
179
242
230
285
133
225
146
175
145
143
244
179
172
180
210
184
164
146
222
260
152
246
237
239
145
209
179
197
239
173
138
248
162
188
204
259
147
176
200
218
188
158
200
191
153
247
218
179
182
184
240
210
184
176
243
197
161
164
164
226
155
180
187
204
183
199
163
115
236
184
228
187
204
172
203
193
274
218
225
146
182
161
214
132
173
173
222
200
184
155
238
214
207
188
150
177
179
205
130
173
128
221
244
186
204
216
235
185
225
129
193
210
158
129
189
176
261
130
199
162
176
168
162
200
236
162
248
164
193
151
248
182
190
229
130
286
200
130
206
169
197
193
174
155
159
227
153
170
178
178
204
130
143
204
191
138
172
188
129
201
231
237
242
221
214
213
210
239
195
146
176
168
217
139
122
211
155
254
146
155
259
130
227
183
183
257
221
201
150
141
204
192
173
247
176
143
213
236
201
133
129
173
176
176
156
199
166
138
158
260
145
260
215
213
172
146
163
342
214
190
151
217
237
231
197
216
188
208
239
201
251
192
182
173
176
141
172
195
119
195
234
184
181
156
281
210
173
204
174
208
205
145
146
164
146
201
238
205
184
164
183
173
209
181
229
171
237
225
173
205
129
283
237
183
181
133
252
138
161
158
201
146
199
183
259
180
152
143
160
230
168
179
228
208
177
201
150
186
264
217
194
184
210
217
191
173
204
185
199
225
160
188
300
185
257
239
138
269
254
130
202
144
251
149
177
174
184
129
156
176
262
189
187
211
164
130
147
236
201
122
241
217
203
216
176
199
258
183
173
173
175
233
202
193
173
191
191
146
211
138
129
171
274
200
204
236
129
179
177
206
250
158
215
201
146
190
177
130
129
203
325
146
209
115
218
185
206
173
216
239
184
226
238
188
191
295
207
172
115
162
342
193
235
212
173
147
231
133
200
168
236
174
158
204
187
180
164
184
263
157
146
162
167
190
166
178
217
188
164
217
133
176
204
204
176
207
230
179
155
239
185
204
218
146
173
295
165
185
215
244
180
225
300
187
197
207
144
263
130
218
199
236
190
202
220
217
172
130
236
249
200
162
240
172
214
204
225
261
158
284
158
194
244
172
190
198
233
243
176
164
176
202
195
130
130
197
210
162
153
282
130
181
300
122
156
189
153
236
176
164
326
180
173
254
227
146
214
229
251
268
164
186
224
200
156
173
190
201
151
261
173
181
313
221
256
240
177
172
210
227
221
222
214
231
204
183
146
194
204
193
184
230
129
199
219
184
192
302
329
213
133
159
228
186
170
248
184
188
256
187
229
168
161
257
189
130
179
162
285
130
143
115
214
155
173
298
234
199
193
217
155
166
274
206
196
130
214
189
158
321
145
168
194
170
176
187
173
174
159
180
186
129
173
189
167
256
211
178
179
211
221
172
184
217
146
204
183
132
146
219
150
146
263
173
201
252
202
129
228
171
239
215
183
176
230
227
164
210
171
143
195
173
176
176
274
184
173
191
129
193
164
283
210
160
155
188
244
176
241
201
160
141
224
168
160
232
177
200
138
159
249
197
208
217
143
211
175
201
180
176
157
236
189
192
227
196
173
208
216
205
162
161
129
158
200
207
162
193
200
210
265
210
184
203
214
184
212
146
259
238
128
211
152
162
247
244
129
228
143
226
162
249
226
236
161
177
224
221
254
223
200
188
216
145
201
222
150
178
286
254
202
162
187
196
222
200
115
242
143
191
200
239
214
224
192
188
183
129
229
173
231
257
297
194
227
176
238
230
229
181
161
213
173
225
182
200
201
246
186
179
261
217
221
129
133
214
249
219
203
210
173
130
247
182
176
176
133
231
239
151
205
210
129
161
188
162
145
229
185
227
238
255
204
174
212
177
176
177
205
223
199
252
179
204
200
174
210
199
233
146
264
153
143
272
218
201
218
162
160
156
138
179
119
130
230
214
237
185
168
203
182
158
176
206
155
214
179
178
204
209
176
255
203
277
172
252
227
146
130
150
262
155
215
208
185
223
185
195
149
203
191
239
162
225
143
209
194
221
238
241
241
146
156
127
173
247
188
180
164
271
180
183
200
129
213
172
236
182
204
249
145
226
184
252
138
186
273
240
129
175
195
171
283
173
130
244
258
201
235
204
249
172
133
220
213
173
254
192
158
183
221
182
179
185
129
173
164
149
172
243
257
176
173
169
211
253
183
164
211
259
180
249
261
216
238
146
146
179
131
171
210
227
145
131
171
158
146
215
181
192
185
202
216
184
158
210
183
162
222
231
204
144
228
172
200
130
207
155
173
146
238
225
206
150
200
132
176
185
192
129
200
204
233
141
187
162
156
162
254
190
212
133
193
242
240
192
174
130
145
178
208
222
162
249
164
249
197
207
176
209
164
210
176
204
164
210
211
221
225
184
156
204
204
122
200
146
189
231
146
202
275
210
242
210
184
217
278
161
176
163
217
155
179
185
221
199
169
266
188
162
129
221
158
158
261
202
230
210
185
185
173
179
212
201
283
230
192
182
197
122
243
187
129
267
164
158
180
205
159
204
271
151
200
192
146
133
176
200
202
230
115
166
181
225
173
215
221
189
282
178
174
247
183
264
179
240
146
162
203
203
155
173
210
155
226
164
204
200
160
194
179
129
259
162
216
211
211
188
211
202
173
180
187
215
115
209
181
162
149
162
191
183
210
189
165
192
199
181
190
276
143
317
196
147
155
250
227
217
184
259
167
202
173
188
146
164
179
178
173
218
208
141
270
210
188
214
230
258
175
176
252
151
238
193
216
143
194
182
182
274
164
201
180
188
115
165
146
132
335
173
151
204
204
173
230
162
181
150
189
143
222
203
180
181
173
258
191
193
133
247
263
234
130
184
180
261
162
220
158
193
138
209
210
178
191
133
145
176
227
242
195
133
220
176
269
244
166
181
180
173
192
176
203
246
215
187
190
156
148
211
234
204
179
207
190
236
158
227
210
221
274
189
228
172
228
130
187
143
161
169
204
158
201
276
189
229
181
180
161
155
182
270
170
168
204
187
294
206
245
150
169
187
179
158
179
184
192
185
204
204
143
269
228
211
197
208
251
230
147
242
182
190
184
115
190
181
129
249
294
211
217
248
227
185
194
313
201
243
204
133
201
158
156
178
206
129
164
173
115
203
201
210
209
194
204
145
145
199
204
164
178
176
146
151
201
214
169
173
183
143
222
183
183
255
224
214
166
173
183
215
206
217
217
133
263
215
151
164
168
227
226
143
143
188
179
238
192
256
232
172
239
204
179
217
201
182
217
189
192
128
183
176
221
178
143
187
197
376
204
222
191
232
172
180
228
243
239
200
185
200
249
176
145
143
130
187
201
146
200
254
133
219
204
234
130
173
129
193
192
335
178
151
205
244
146
176
156
211
177
211
201
151
177
184
182
182
176
146
242
200
211
145
184
251
210
216
221
217
189
185
162
250
242
180
141
283
172
292
168
133
180
182
143
146
204
226
228
206
176
244
294
130
182
158
174
173
129
187
234
186
191
221
227
187
264
218
158
178
200
145
221
202
150
210
243
247
212
217
217
122
211
230
180
313
156
280
179
259
261
161
155
206
143
200
129
230
209
303
187
130
172
188
169
206
237
222
206
162
224
254
129
168
250
216
160
206
155
224
184
228
202
262
185
200
155
213
183
222
129
208
173
182
173
167
185
263
146
146
194
210
182
184
129
176
228
176
152
218
239
206
254
186
151
158
173
217
178
131
217
204
160
223
198
130
206
183
178
223
122
174
228
179
195
204
215
146
203
176
202
129
176
195
168
130
146
157
233
143
221
141
173
185
216
119
210
197
133
202
160
274
150
224
155
276
176
187
201
172
158
204
321
194
158
216
191
164
240
222
214
203
146
143
204
202
176
198
172
115
176
186
227
296
242
155
130
197
167
162
146
210
184
186
201
158
193
230
225
169
203
182
210
198
194
224
173
129
129
195
182
156
169
204
227
262
218
169
252
179
176
191
229
200
222
178
171
254
195
189
206
186
173
216
203
173
271
159
130
210
179
211
115
176
245
115
180
171
185
220
162
292
202
296
205
171
269
239
184
158
203
237
176
211
214
185
183
212
178
240
216
152
138
129
248
149
263
213
160
146
218
214
216
264
238
173
163
150
217
201
173
169
195
182
226
185
173
138
194
185
140
165
174
161
181
130
146
228
162
160
245
146
155
158
214
192
155
252
160
211
284
228
233
168
248
156
155
239
130
232
141
141
169
296
214
180
166
210
236
158
215
143
187
195
217
191
143
168
133
173
230
193
200
298
177
159
251
146
195
162
146
234
217
184
149
158
217
242
320
146
195
129
222
145
206
206
201
210
207
173
162
144
133
189
313
201
230
189
209
204
130
190
133
205
212
145
181
129
187
204
206
206
160
205
217
204
211
192
278
173
223
130
286
161
185
231
203
158
257
231
217
182
179
146
146
192
210
130
129
170
204
238
146
206
194
184
184
304
174
143
179
184
151
182
277
160
211
184
129
129
190
181
216
231
115
130
199
227
186
234
259
208
182
145
221
180
179
199
152
154
195
191
256
208
261
181
184
130
254
133
184
222
168
227
178
185
235
168
225
130
178
250
256
130
156
172
217
150
214
158
158
238
130
166
173
149
207
162
202
186
196
138
209
210
211
204
179
181
247
128
192
214
229
169
152
168
208
200
183
239
303
188
191
181
166
175
230
187
185
190
228
196
206
162
168
191
130
199
174
230
251
164
194
236
225
200
130
206
150
258
197
211
177
203
244
261
217
164
171
232
211
162
233
199
217
160
122
286
210
229
204
162
115
191
162
179
192
214
228
148
211
217
130
210
210
166
252
217
157
289
184
146
233
225
261
217
248
188
115
281
162
202
191
211
194
210
176
200
231
178
197
218
163
215
183
169
129
210
143
155
178
241
250
232
209
176
115
226
188
266
143
207
193
178
143
217
206
164
175
169
192
160
205
191
195
178
238
147
192
178
203
184
192
236
250
130
179
179
197
169
165
217
204
221
210
206
182
184
146
149
217
201
217
221
201
250
165
229
200
256
217
222
176
236
143
189
115
144
146
240
146
198
129
176
188
176
203
207
224
307
176
133
238
180
167
188
180
180
172
256
202
154
191
258
220
189
177
258
251
129
179
204
180
202
228
263
155
181
130
166
207
191
184
219
231
238
239
230
144
204
246
191
214
143
145
186
153
144
173
210
203
199
151
213
204
222
129
168
213
183
235
173
196
183
169
171
173
146
234
211
146
206
224
228
132
204
190
128
176
203
236
206
223
179
171
157
151
133
158
190
145
246
199
145
236
207
176
163
164
185
199
162
200
198
186
227
235
191
203
246
129
145
217
218
219
204
246
238
260
282
189
175
191
225
213
201
129
175
228
146
255
232
191
173
253
172
216
200
145
227
264
272
203
176
231
155
222
181
206
225
185
192
266
237
183
188
190
216
192
202
204
264
210
209
146
204
233
122
176
239
222
214
172
189
153
200
153
157
130
174
189
184
173
129
239
169
248
162
191
238
194
190
204
210
201
145
206
173
311
204
244
152
208
182
151
176
261
248
182
176
168
162
210
115
209
211
234
185
192
262
208
182
168
132
231
150
180
201
168
335
214
238
211
184
262
178
225
199
115
173
211
149
179
249
129
300
210
129
184
200
225
237
168
239
227
164
222
180
201
201
262
180
129
165
146
237
179
225
229
258
205
209
175
153
213
172
248
191
173
141
202
230
276
200
239
245
199
193
243
146
158
238
173
153
202
166
161
173
187
146
130
115
208
228
201
239
162
250
130
222
164
211
164
172
187
195
145
182
214
173
182
115
205
183
240
227
206
141
224
193
191
146
267
143
210
175
190
132
247
201
166
204
138
209
181
185
146
162
191
130
204
255
158
188
159
176
231
230
183
174
217
191
185
215
180
149
115
115
184
288
143
183
176
198
236
193
236
208
251
169
155
160
145
273
130
145
179
241
129
173
176
207
146
129
237
164
178
241
133
182
180
252
184
141
217
206
248
205
180
239
183
223
228
190
166
164
179
173
248
180
220
228
144
180
143
133
178
159
204
141
146
156
169
180
206
143
197
229
243
257
204
232
211
130
173
328
146
176
265
157
146
197
197
130
171
265
204
221
201
206
216
211
231
169
211
149
239
183
182
202
183
163
230
176
204
183
204
183
185
216
173
175
217
201
205
130
190
270
211
388
163
150
145
168
119
176
259
202
271
157
195
181
211
202
225
218
275
217
247
130
191
219
181
257
307
261
201
209
211
176
162
158
237
157
181
175
228
152
246
200
200
130
129
210
180
195
195
218
228
201
204
231
162
141
242
184
195
210
222
279
217
133
185
244
158
251
231
248
201
119
204
209
163
224
161
241
162
205
178
181
176
176
164
221
275
251
115
184
133
146
258
183
174
299
215
204
178
192
189
160
188
189
206
237
191
210
223
287
193
202
173
190
192
247
173
218
130
156
273
223
143
169
129
217
261
217
176
197
235
235
168
267
204
143
233
115
169
146
130
191
231
209
212
176
166
173
173
143
157
141
173
159
174
215
171
231
141
177
174
203
225
143
133
178
253
217
209
169
210
176
212
204
230
212
187
171
211
232
155
186
197
210
221
163
244
180
157
203
150
202
211
145
247
130
210
188
180
227
206
204
218
233
167
146
210
176
218
184
115
164
215
153
237
259
150
162
181
155
204
163
226
217
173
130
130
190
176
164
181
115
186
191
129
193
115
202
260
158
146
217
192
146
220
162
182
198
191
145
212
146
230
227
133
204
221
171
261
215
253
239
217
195
204
157
223
146
200
217
149
209
130
199
299
133
176
162
130
186
170
226
199
191
155
232
191
183
249
242
281
296
279
133
193
145
203
202
146
130
191
222
184
252
164
296
146
175
246
221
184
272
204
178
211
197
206
271
156
233
199
122
129
250
203
218
164
191
193
289
129
214
165
158
255
203
236
228
175
193
186
201
158
130
204
219
188
176
160
145
145
211
202
220
205
129
227
228
184
234
129
199
260
183
210
231
203
253
130
145
208
204
130
129
202
220
169
199
178
256
162
193
241
182
186
197
222
182
202
212
178
192
221
145
237
149
129
195
179
189
182
161
115
179
203
173
216
143
246
202
176
183
202
175
179
335
176
172
182
223
183
173
152
188
129
203
179
225
173
335
200
266
201
175
184
252
187
190
180
200
257
229
155
211
176
173
186
200
235
183
158
303
213
195
200
183
150
205
213
242
172
218
210
260
211
146
115
185
129
129
173
201
236
256
158
203
190
200
179
211
162
222
146
200
262
224
216
181
186
254
204
164
262
206
172
178
194
130
173
146
160
206
183
300
168
191
160
184
150
190
227
179
232
225
166
162
205
173
229
173
162
275
285
115
230
200
149
236
173
235
200
144
122
214
191
165
209
173
242
216
161
246
252
169
257
280
179
163
187
197
141
133
152
204
209
236
146
230
206
171
181
212
141
176
165
173
220
168
133
192
205
213
239
236
182
217
176
264
227
276
265
165
184
156
210
160
184
198
169
211
199
216
162
176
178
184
202
199
261
184
217
181
204
180
219
145
129
244
178
231
176
217
210
202
179
189
129
204
215
229
164
176
162
161
145
169
173
182
275
218
180
168
188
180
281
204
258
199
208
179
182
132
210
176
179
229
184
222
193
178
240
143
256
216
164
217
174
206
173
189
188
191
202
259
307
210
184
133
150
115
248
145
217
132
172
246
158
160
162
161
187
173
146
185
226
194
256
250
146
206
180
174
238
211
197
129
204
146
255
177
164
222
208
161
156
178
160
274
240
200
200
172
188
212
176
150
241
145
166
213
158
241
213
236
133
152
180
155
146
162
204
182
237
199
234
138
145
204
229
185
161
150
190
206
247
143
172
246
197
236
220
179
235
302
246
221
200
178
276
204
218
272
158
168
206
165
221
266
200
130
162
202
182
146
183
133
260
213
200
210
160
129
175
146
263
182
164
235
177
178
173
230
219
128
210
259
155
169
221
150
174
182
176
242
226
200
164
173
175
169
174
173
183
256
174
201
168
213
217
157
146
189
250
228
150
222
229
195
129
159
202
239
179
128
264
183
216
243
218
188
129
199
185
223
171
255
179
149
143
265
197
232
173
146
190
173
258
249
251
192
199
130
158
216
211
212
143
129
156
203
168
184
168
146
184
245
225
216
185
202
298
146
176
220
254
164
179
163
296
218
193
141
133
173
176
218
182
214
224
217
245
283
205
157
181
188
246
220
145
217
234
180
202
146
227
202
161
222
210
189
184
202
178
182
215
129
230
264
156
187
192
230
202
157
169
335
264
181
206
176
285
149
212
211
130
218
272
130
199
181
217
115
129
197
156
200
146
202
185
143
198
204
217
164
191
157
200
162
205
238
199
176
180
210
156
232
141
202
215
275
122
240
197
129
251
130
255
209
172
156
164
190
257
205
186
180
175
146
168
129
173
201
185
130
185
133
169
217
178
173
282
188
133
166
145
173
228
145
248
219
252
146
183
115
183
186
138
180
164
262
158
184
147
173
214
269
240
184
186
197
211
130
256
179
146
151
130
129
179
162
168
202
236
306
173
172
238
174
143
169
170
244
173
238
184
215
130
192
192
130
203
238
204
200
221
249
263
129
222
217
184
180
183
185
138
186
210
176
129
203
183
189
177
218
129
226
176
210
163
155
245
130
167
129
211
228
146
313
216
143
277
130
191
207
161
195
231
192
160
230
311
192
146
196
150
229
218
188
209
130
204
179
289
162
235
179
176
138
132
230
206
128
179
173
225
211
217
217
133
164
146
161
200
203
129
158
208
143
240
186
129
231
222
183
242
210
242
191
158
185
187
213
169
129
204
173
173
203
253
239
193
180
128
143
150
130
130
264
173
182
130
170
250
191
308
236
145
229
139
183
204
187
161
208
191
210
175
189
155
133
145
194
156
166
132
240
168
141
248
231
200
254
129
185
130
173
238
170
201
176
215
204
178
247
206
225
217
179
210
252
188
288
164
155
209
201
239
201
173
274
146
197
257
293
158
163
239
256
270
173
146
152
270
193
204
222
167
197
146
247
179
199
213
143
179
115
183
162
188
231
241
176
204
180
212
166
179
237
198
236
210
155
215
138
191
149
193
161
204
133
204
188
130
258
160
173
173
191
184
233
217
162
217
187
209
130
173
217
244
204
146
181
183
216
246
208
176
215
143
205
129
129
168
244
258
177
236
133
185
130
150
162
234
221
205
145
145
189
258
264
210
161
238
205
190
288
211
171
236
203
296
214
178
197
205
164
300
260
210
171
194
156
176
201
141
247
176
204
160
186
178
224
173
211
188
162
202
224
177
161
166
182
187
241
192
185
146
161
209
217
265
151
215
181
169
225
203
200
183
149
239
122
158
176
180
168
157
234
206
204
221
164
211
173
170
264
225
258
156
146
143
195
234
170
183
155
210
184
148
238
178
276
173
240
164
155
202
265
166
149
256
242
200
167
166
217
162
162
253
201
129
181
200
227
203
237
132
176
212
182
146
162
225
204
129
217
230
208
270
155
211
129
170
141
194
151
230
191
173
186
227
251
182
187
247
213
238
130
215
167
138
176
201
239
189
129
129
130
182
180
176
203
225
176
265
206
202
219
201
115
129
233
204
173
130
130
216
239
202
173
172
181
133
188
169
204
248
166
183
161
146
230
146
177
146
162
145
202
228
151
129
202
164
249
184
173
174
182
168
211
303
223
182
241
214
189
221
272
162
146
235
147
320
219
249
230
264
229
184
160
176
174
244
176
221
175
256
130
176
164
252
170
200
157
195
301
258
146
159
141
207
164
245
189
190
158
209
169
202
200
231
178
173
205
186
211
150
179
156
228
133
181
160
232
138
169
162
156
129
204
138
129
238
174
226
184
161
182
212
129
129
236
160
172
160
181
243
222
254
156
175
219
171
238
184
225
188
242
191
321
128
146
173
216
130
157
230
130
200
204
246
176
181
201
202
151
190
130
187
247
226
128
171
173
172
181
225
168
179
225
199
176
191
200
177
185
164
129
172
206
179
214
229
185
181
234
180
181
232
204
130
232
204
149
173
185
176
200
239
203
173
129
233
258
248
217
182
130
183
224
166
158
234
283
180
226
185
146
214
253
239
170
129
210
202
202
251
213
210
144
210
206
228
231
167
162
188
185
274
164
163
186
238
163
133
195
253
149
162
204
223
204
182
225
197
190
180
225
217
185
308
199
156
155
210
228
209
144
271
212
259
227
217
188
171
129
158
167
129
324
168
192
138
202
203
133
132
197
141
213
133
182
162
208
182
155
163
281
133
222
145
179
218
205
168
169
229
308
233
180
162
146
190
214
173
162
143
201
183
176
130
217
188
145
191
146
236
179
194
164
274
259
192
211
179
204
177
231
230
146
162
210
155
210
153
198
261
207
195
265
237
238
201
181
241
195
130
324
155
130
202
225
204
181
178
339
145
173
208
168
202
189
180
173
164
227
238
205
182
146
182
211
176
173
246
233
182
206
182
173
211
191
166
151
239
183
215
173
184
208
211
194
146
184
155
153
228
179
239
176
229
166
216
162
130
180
222
180
174
181
176
179
138
173
179
201
150
191
236
271
185
162
179
215
204
195
194
205
179
225
225
141
182
184
133
190
221
233
173
183
188
187
188
216
129
184
209
180
294
210
177
130
239
210
193
188
214
200
176
187
156
263
155
206
217
240
210
214
212
184
173
195
184
173
192
204
209
169
202
197
164
211
190
199
115
184
196
230
183
218
177
228
217
200
146
191
156
182
162
133
129
204
158
178
141
221
162
287
166
180
138
170
210
259
207
210
187
200
174
230
238
212
275
183
171
183
130
161
147
217
194
170
168
222
233
146
156
200
130
303
201
162
212
163
169
173
221
158
208
191
176
146
166
204
183
129
186
145
204
214
256
176
179
170
204
130
173
213
216
169
173
130
180
222
129
185
209
146
166
270
246
174
145
138
233
202
145
130
156
234
133
210
146
130
189
240
275
162
249
195
146
187
229
184
172
217
185
162
192
145
170
146
226
230
133
115
224
194
252
173
263
168
188
213
210
265
206
155
191
185
241
204
161
185
252
130
270
242
122
115
166
158
149
180
206
188
143
212
230
130
206
183
169
201
173
179
181
181
202
212
129
199
242
161
251
192
176
204
201
247
182
204
202
201
176
207
228
274
122
201
193
156
181
274
210
178
185
218
186
227
158
283
149
217
152
129
212
184
225
203
143
247
191
185
133
161
137
197
278
176
239
217
234
179
155
217
164
166
291
174
202
239
187
182
261
222
173
221
200
208
204
119
207
152
119
201
161
156
176
231
176
285
218
270
217
205
239
133
180
170
187
190
185
130
143
157
191
213
224
179
164
158
248
156
164
202
183
169
115
239
203
204
173
180
130
255
188
230
176
180
252
229
146
186
159
238
191
168
210
173
200
173
184
213
155
202
145
129
143
216
145
209
211
197
182
178
183
299
215
198
214
181
178
200
179
200
173
214
201
146
165
228
143
189
184
224
146
202
225
176
188
243
203
220
184
235
138
233
168
176
146
214
266
170
122
180
151
158
247
210
161
187
204
165
129
200
226
180
197
129
186
166
188
186
168
130
143
129
229
197
267
210
296
173
163
190
179
200
210
146
210
150
146
277
206
191
129
216
188
194
150
169
157
181
202
251
146
233
230
155
174
238
191
129
130
158
170
200
222
231
204
183
241
183
146
153
168
190
156
179
192
115
236
184
168
129
247
129
176
204
258
164
151
299
191
225
222
176
143
169
141
173
181
173
202
182
173
192
173
146
147
129
204
192
230
217
191
277
256
129
246
158
149
174
210
155
184
236
206
179
206
219
202
168
239
176
169
179
182
168
164
145
210
146
217
166
237
187
210
251
164
206
161
223
184
174
191
185
164
145
235
206
187
263
168
173
227
261
218
231
162
191
162
210
184
217
225
218
172
206
228
263
227
162
130
211
204
129
173
240
216
191
216
227
173
230
188
299
242
163
201
155
167
174
279
228
222
195
174
177
300
176
218
184
187
227
206
119
204
156
163
133
171
220
200
206
230
145
206
199
209
170
173
214
169
115
238
194
273
186
176
182
144
191
205
156
156
155
182
153
149
211
248
242
263
184
177
183
191
195
158
260
133
186
189
221
258
200
217
238
217
158
197
250
195
166
225
203
219
218
214
253
173
205
228
242
157
172
210
202
188
115
173
221
129
195
173
229
291
193
164
176
287
246
199
138
226
169
191
181
188
217
192
170
149
201
182
274
174
204
221
202
228
160
186
129
130
192
218
190
183
177
206
164
173
178
228
209
173
173
146
262
249
175
163
188
227
221
198
151
204
192
162
252
202
211
130
214
226
129
158
270
174
190
210
174
210
255
186
176
155
161
258
199
227
174
129
176
231
189
224
216
160
181
146
158
295
150
204
146
132
192
201
190
234
191
157
202
239
246
179
180
213
236
164
230
129
178
276
210
203
210
166
173
210
122
155
216
252
209
215
237
143
217
160
204
202
178
146
143
300
194
204
227
129
201
156
217
164
195
181
194
185
262
259
183
247
262
153
202
251
212
225
173
119
176
153
187
129
200
168
179
200
196
335
236
228
190
192
191
175
173
187
176
175
176
211
208
164
240
204
145
218
178
152
182
230
145
163
119
153
173
191
178
130
176
187
145
184
201
211
201
179
182
181
236
186
168
234
146
240
129
204
236
201
207
133
163
228
185
278
197
180
155
210
168
230
210
176
180
282
186
150
173
180
211
166
260
182
230
155
184
186
217
210
218
149
226
211
181
129
252
133
213
193
210
202
189
204
245
303
239
157
176
129
254
237
168
146
164
237
221
176
237
195
122
132
182
205
230
212
194
141
192
158
330
204
209
272
130
130
252
207
185
173
183
152
210
272
130
143
204
197
216
192
204
199
264
202
160
283
240
238
195
156
129
217
173
179
129
254
202
153
182
211
130
203
146
261
180
182
133
274
130
181
220
172
179
231
146
168
227
195
206
162
133
188
146
168
259
200
193
179
195
129
234
141
130
144
146
220
143
191
180
217
192
166
173
156
204
162
193
115
286
242
155
129
216
274
207
221
166
143
146
173
279
182
164
202
129
173
173
176
261
171
240
216
216
143
225
238
231
263
176
155
186
189
202
174
163
218
173
188
185
263
198
161
218
236
179
214
200
230
236
211
147
173
241
217
130
183
278
270
161
183
130
129
145
209
176
133
190
158
201
185
176
237
130
146
176
237
206
150
199
162
204
168
239
173
157
225
183
170
122
277
207
201
225
178
218
173
176
146
188
129
128
162
204
249
210
210
219
190
158
214
177
211
217
216
222
153
185
128
191
163
189
183
210
129
199
202
205
222
173
182
217
129
173
173
194
239
180
187
169
265
238
143
190
184
221
228
212
207
146
158
156
162
260
145
132
179
229
258
215
176
230
163
222
262
208
180
184
201
196
155
178
230
278
232
172
169
177
216
195
238
207
214
221
211
203
184
228
199
239
199
184
185
208
215
149
203
164
163
201
167
162
229
237
168
255
211
150
176
230
244
146
122
200
204
182
202
201
236
133
176
168
225
146
132
202
199
179
188
193
145
155
202
149
241
146
173
167
180
230
229
209
132
203
163
146
218
202
158
200
173
186
133
214
216
195
189
176
174
232
205
185
149
191
176
233
215
168
153
202
260
195
201
204
274
197
212
181
184
211
202
235
237
155
210
166
129
200
182
146
226
197
217
160
209
160
238
226
145
193
183
155
257
138
145
214
209
217
212
142
146
211
176
206
239
169
179
208
230
224
157
187
173
168
143
247
210
160
210
197
192
298
181
190
162
200
115
158
259
176
193
217
162
173
158
199
189
128
130
183
145
228
239
164
236
150
146
176
168
210
146
133
209
188
213
201
204
255
199
214
185
238
229
203
166
222
227
182
283
173
191
129
184
210
257
269
216
155
225
283
232
213
230
193
176
205
277
194
193
178
243
130
150
150
156
130
133
207
188
183
222
228
203
234
194
229
200
181
129
201
227
172
130
180
210
143
145
238
146
169
130
176
224
149
201
252
180
179
244
184
188
222
217
216
158
225
129
179
177
169
258
193
206
229
207
161
248
195
197
150
115
202
182
302
173
141
191
207
215
143
231
210
199
242
245
189
187
188
173
217
229
129
230
143
221
182
129
144
217
270
216
162
269
176
175
179
164
176
201
170
201
253
238
176
184
146
164
145
143
174
245
158
159
186
166
143
161
209
162
187
188
146
201
192
216
146
225
185
209
172
146
150
203
201
228
158
199
188
158
238
146
172
216
171
130
204
244
158
188
158
152
218
165
210
192
237
181
160
247
225
196
200
146
196
237
216
187
204
166
185
156
197
164
180
173
184
147
250
129
174
238
250
162
216
200
167
153
191
300
218
210
129
233
210
193
193
146
129
230
207
185
205
201
202
232
179
176
195
223
151
155
215
146
239
165
143
294
240
234
129
130
229
229
146
146
181
225
242
132
264
179
129
205
133
228
185
171
201
204
172
327
162
184
202
246
168
191
304
255
178
204
238
228
205
155
224
231
228
206
173
160
236
195
127
235
205
161
165
129
253
257
200
244
146
143
195
152
201
179
261
173
146
184
226
160
228
188
170
209
138
129
234
217
221
155
169
193
236
237
160
202
186
141
185
172
218
202
261
176
218
229
173
190
204
182
149
159
160
165
204
182
115
207
157
236
254
179
229
130
174
221
238
267
179
146
275
210
194
194
233
211
199
216
299
146
235
203
172
201
188
184
209
216
229
224
166
145
225
222
178
173
161
174
210
146
176
149
178
210
250
250
183
133
173
167
189
146
129
190
173
160
209
188
239
140
191
171
173
164
204
129
115
209
213
192
130
160
180
301
173
272
195
197
146
244
166
202
232
184
186
161
156
192
238
215
175
239
239
271
202
143
145
168
231
202
129
225
219
169
133
196
247
184
119
188
166
183
146
183
122
165
303
243
321
129
230
206
194
188
129
335
178
221
174
184
129
222
175
143
130
182
195
202
210
182
216
187
210
209
258
115
220
164
162
173
184
160
226
200
223
176
242
204
202
193
222
194
231
252
141
168
183
158
226
241
129
172
146
205
278
230
130
130
203
179
200
200
261
180
186
230
211
192
201
224
202
191
222
222
240
199
161
254
173
200
165
251
204
176
170
194
168
182
152
183
202
191
288
182
180
169
195
212
130
236
187
193
210
184
173
206
209
156
161
145
216
168
191
227
235
204
225
181
222
211
190
240
157
258
259
237
176
217
179
231
146
199
194
186
141
251
129
129
182
234
158
241
129
164
171
194
203
130
181
214
335
164
196
204
173
226
263
130
146
192
141
174
239
133
194
259
150
201
173
203
184
254
200
264
178
209
228
244
256
196
224
156
175
238
145
221
169
167
182
157
156
173
259
227
206
178
201
169
168
355
146
235
185
178
226
210
245
158
141
185
173
180
227
225
211
188
163
184
230
238
264
258
146
222
130
122
182
158
183
211
211
263
207
130
152
189
143
217
198
246
199
216
230
146
191
133
119
234
234
235
231
145
197
272
227
155
150
169
203
175
193
179
203
190
228
156
146
133
254
211
173
133
206
250
168
226
185
184
129
259
145
202
182
182
191
221
200
153
188
181
168
173
201
168
270
150
192
179
170
133
158
206
185
184
238
200
217
231
227
177
206
226
261
292
201
147
129
203
207
209
211
184
184
211
192
153
240
251
157
260
129
156
184
186
168
179
239
146
236
192
220
146
217
256
133
146
227
155
168
204
150
276
182
221
210
180
234
176
176
259
175
147
200
152
209
152
181
214
202
228
210
201
147
178
156
182
230
200
176
222
237
204
269
180
188
201
184
164
173
156
218
171
204
171
179
176
168
146
160
201
156
169
190
158
171
129
179
183
119
248
231
182
214
230
262
204
256
212
138
184
173
231
203
244
254
141
162
210
129
179
146
129
169
169
190
130
206
207
150
201
122
299
129
206
217
130
186
147
221
183
277
222
216
202
179
175
156
165
141
176
188
191
201
201
263
221
237
256
182
217
141
184
204
248
201
205
130
201
158
236
149
132
220
166
174
236
146
202
184
259
119
246
200
214
179
157
130
210
115
191
210
282
213
230
210
115
215
188
146
168
259
129
223
177
202
237
194
179
158
115
214
219
145
179
182
143
246
212
211
170
261
194
176
185
211
182
164
186
161
182
203
224
213
173
279
209
162
129
161
264
151
141
168
150
164
210
256
167
183
171
237
128
174
132
190
200
229
204
185
245
162
214
183
226
203
206
169
264
143
159
202
161
146
217
162
195
195
226
172
161
130
191
236
210
154
282
204
194
200
143
262
175
183
210
202
303
249
245
151
163
206
258
230
217
178
180
204
201
216
162
242
159
222
217
202
152
169
236
303
185
204
221
191
175
207
115
180
188
192
203
166
288
173
305
179
238
182
202
173
188
130
207
222
200
169
181
146
202
181
173
182
237
297
242
210
200
243
131
201
221
183
214
209
242
178
146
276
204
174
130
115
217
253
179
214
166
206
222
187
160
201
244
182
164
192
115
217
246
184
182
180
239
176
169
265
168
189
249
147
141
174
227
213
132
239
202
130
227
190
146
188
225
211
200
159
239
161
188
228
188
166
246
152
183
167
232
158
234
277
173
185
162
171
173
146
213
227
176
184
214
164
191
260
178
152
217
164
149
161
188
194
182
236
179
173
211
196
174
161
173
130
208
178
253
185
141
247
254
122
216
176
260
159
204
205
171
257
176
176
171
239
179
184
187
176
115
262
229
169
198
203
188
168
217
211
182
133
152
207
206
194
219
130
217
255
173
173
146
158
146
207
218
173
229
217
167
213
138
157
168
252
149
162
244
160
174
217
225
169
162
176
189
198
185
173
200
182
160
235
234
115
152
155
202
230
191
200
218
214
292
133
219
222
173
179
230
196
190
184
146
181
190
210
130
232
185
209
223
193
130
231
174
213
189
183
160
192
166
115
169
231
227
200
167
155
162
129
207
256
161
184
227
225
173
212
222
179
210
230
156
228
181
191
128
217
174
130
184
208
214
191
229
130
218
210
182
145
168
164
178
168
235
129
185
176
264
156
209
194
185
129
210
256
154
173
183
179
206
169
232
211
155
129
150
224
179
210
181
169
207
164
177
145
211
211
204
204
156
150
204
270
169
211
158
303
199
214
168
176
211
199
210
183
294
246
195
204
188
233
194
173
185
202
190
247
179
238
176
201
226
164
164
220
221
149
209
261
216
186
162
147
231
199
145
265
174
195
270
164
194
159
150
146
186
143
173
173
164
130
173
195
168
162
218
270
173
246
193
189
179
158
222
204
235
173
204
197
206
188
274
130
264
236
161
185
130
146
181
191
224
137
158
204
194
187
191
228
162
257
146
137
222
185
192
145
129
187
156
158
175
187
217
141
201
230
129
263
203
179
183
260
239
130
166
183
238
206
147
210
239
168
174
260
182
222
231
177
163
182
188
182
230
183
176
183
173
166
216
150
224
150
164
199
184
262
227
176
187
216
203
176
242
181
146
199
129
213
192
205
211
224
168
182
197
227
223
252
181
189
268
129
184
200
287
130
243
178
146
199
176
225
165
230
223
266
224
287
225
184
295
256
129
262
161
129
176
169
202
138
168
210
181
145
212
188
214
270
130
157
161
216
129
174
246
204
133
258
190
204
178
174
156
204
201
173
186
237
141
171
182
158
193
219
187
195
146
155
129
202
175
182
214
216
179
235
173
200
129
168
150
168
143
206
288
200
201
162
164
195
146
189
129
224
218
195
209
186
186
240
164
149
222
129
133
191
222
194
149
218
133
145
186
229
146
152
179
217
187
181
213
204
146
119
195
217
146
156
215
225
181
129
130
249
217
187
184
184
146
201
176
157
217
146
195
199
183
188
129
133
183
174
224
225
132
129
206
217
204
206
170
230
245
261
202
187
183
250
182
164
221
259
201
204
171
145
267
183
232
201
128
168
179
229
173
180
206
171
216
129
130
171
188
211
173
202
227
203
173
190
145
146
146
256
188
226
204
129
274
252
247
259
138
212
300
168
217
132
122
170
198
209
200
168
130
200
202
230
173
228
175
146
244
180
185
173
268
195
264
194
246
130
129
176
238
164
187
130
168
204
222
162
204
206
122
190
216
212
258
208
193
156
227
170
143
173
144
157
217
196
115
146
218
146
171
161
176
173
216
214
209
146
172
230
212
129
122
246
208
202
145
311
264
202
187
188
217
168
246
180
143
228
195
173
223
218
178
174
168
183
184
206
176
260
146
157
130
225
183
240
115
245
161
167
202
212
204
191
202
212
229
255
183
130
156
258
225
230
190
201
176
168
246
257
181
222
129
215
201
122
217
217
224
130
184
130
239
146
146
146
130
167
227
173
230
321
189
182
180
168
150
274
209
235
173
146
249
203
227
236
166
143
176
234
200
194
217
244
230
144
146
145
193
201
216
203
176
238
217
246
129
164
146
171
228
246
217
183
261
236
162
207
192
146
162
225
184
128
239
173
203
225
230
210
191
162
171
130
219
210
122
173
176
217
261
248
146
183
181
145
146
258
241
204
129
115
176
227
231
176
176
164
182
166
150
202
188
173
164
230
229
224
180
216
219
173
147
215
204
187
204
228
228
285
236
230
168
193
172
225
184
146
197
205
232
213
180
274
211
141
225
198
208
192
210
181
182
130
178
223
246
241
238
179
176
202
176
239
207
130
246
173
229
201
156
200
174
296
274
176
210
265
200
239
260
216
234
202
195
129
204
185
190
141
188
158
226
296
208
210
192
211
236
191
130
213
212
168
130
216
181
238
205
202
217
232
176
230
216
219
200
234
180
198
235
187
205
212
181
247
161
151
147
144
191
241
164
230
133
192
179
173
252
189
173
193
162
180
206
252
224
166
191
155
180
202
162
239
176
238
230
246
190
180
189
146
191
181
210
202
202
230
173
265
259
179
133
206
176
207
188
173
219
251
182
217
191
185
122
145
230
158
193
230
180
145
192
192
183
174
219
171
274
235
207
162
185
166
130
269
143
228
146
162
215
175
206
143
214
234
190
245
153
190
227
184
222
199
246
246
291
115
157
202
184
256
169
129
138
143
172
258
185
233
132
171
168
203
176
133
211
152
185
233
174
183
172
200
172
158
274
214
155
240
208
226
158
146
176
258
173
182
165
200
215
186
250
182
222
146
264
225
145
162
146
214
192
129
222
179
180
236
255
146
150
173
162
228
141
238
217
264
230
178
180
147
233
218
169
115
209
166
180
195
250
209
220
199
151
198
185
128
213
231
115
227
173
182
214
192
206
164
217
194
264
200
146
164
210
190
168
239
192
143
204
187
205
191
201
176
130
250
188
217
199
259
173
160
129
172
201
245
185
238
169
115
219
130
262
216
229
185
167
174
250
115
188
129
190
158
180
239
214
248
201
166
129
229
209
236
197
192
230
206
184
211
208
226
194
211
173
157
188
168
227
155
175
129
217
194
179
202
153
212
191
208
132
177
204
157
247
187
251
238
115
240
182
237
182
167
156
244
133
160
129
188
182
133
185
206
167
210
158
119
182
217
262
222
129
129
165
164
184
230
129
234
211
182
184
210
181
185
209
176
217
138
170
208
139
146
173
201
177
168
149
261
186
257
231
143
201
115
182
181
172
190
149
130
115
216
190
228
173
182
143
190
287
227
169
217
229
156
238
115
227
269
129
198
160
133
227
202
168
201
184
201
178
274
207
217
176
191
253
173
156
203
150
129
179
210
163
173
171
143
239
199
211
208
174
261
130
230
176
258
205
335
169
261
168
214
225
211
149
224
217
235
212
210
226
169
158
160
237
193
191
216
230
203
187
185
143
192
226
133
143
177
199
190
228
180
208
165
130
198
210
195
249
251
164
235
176
187
168
182
215
138
211
173
210
244
234
287
146
255
166
208
204
258
230
231
177
180
236
239
188
231
171
195
194
145
217
198
212
217
194
146
244
168
181
217
216
219
189
190
140
205
189
188
259
191
182
274
208
163
171
250
129
227
210
157
146
224
206
182
150
210
161
228
221
176
183
202
263
169
200
191
263
187
265
150
212
226
182
211
185
151
129
173
145
182
242
202
210
146
179
256
130
179
197
202
191
265
219
231
160
176
158
169
185
191
234
250
243
195
191
217
225
190
133
141
207
151
149
234
207
268
220
182
199
169
156
238
201
130
229
239
238
186
164
146
200
115
230
239
204
162
129
293
224
141
211
167
209
168
266
153
278
173
197
201
191
152
156
164
158
274
176
183
174
224
172
236
185
305
172
200
244
182
251
214
206
181
194
214
119
176
272
192
145
203
221
229
206
176
203
224
122
181
222
254
204
132
169
171
115
129
143
189
115
230
250
158
309
184
203
144
169
141
200
179
129
180
184
173
197
210
188
236
318
173
173
201
235
218
241
182
195
282
183
253
129
166
169
242
192
183
254
176
178
242
218
261
158
150
183
243
243
146
174
202
238
173
132
179
171
208
272
145
277
212
183
164
213
201
189
313
130
204
129
229
176
176
201
129
204
146
217
211
173
146
164
204
202
188
233
184
208
238
169
230
186
162
173
152
184
166
246
173
200
129
185
162
182
174
211
180
129
179
130
250
219
217
176
180
261
155
208
238
122
184
220
169
282
146
176
216
217
211
146
221
270
211
153
210
210
335
183
130
235
238
183
158
150
178
200
216
204
181
206
231
145
150
158
129
187
186
195
175
146
149
173
162
182
174
240
130
230
217
165
129
227
129
208
183
146
204
150
211
179
202
259
227
300
204
185
215
149
186
182
206
206
180
172
200
261
157
168
181
191
204
189
143
191
199
169
200
251
206
240
204
166
229
204
224
176
129
187
184
115
168
252
157
222
201
146
194
187
176
217
138
155
173
168
289
163
178
210
133
133
239
217
129
222
185
206
214
115
166
146
161
192
226
221
214
209
145
208
176
144
254
245
249
164
158
130
145
175
218
217
342
230
217
225
191
177
173
146
194
143
200
173
187
162
143
133
242
202
211
156
202
130
184
175
173
325
202
217
133
152
189
200
186
178
261
130
240
143
129
236
217
201
221
229
183
202
182
217
238
228
173
274
168
176
246
201
185
219
170
204
202
212
170
360
189
175
187
250
119
146
179
157
204
145
183
164
207
164
172
167
181
146
130
168
203
217
216
251
211
200
258
195
184
203
240
146
158
183
128
152
169
129
161
155
185
230
202
234
146
250
146
217
248
157
184
161
202
158
175
185
182
192
269
162
175
161
191
236
230
176
239
231
210
129
184
258
206
210
194
278
176
129
173
222
191
221
205
180
148
143
202
170
154
180
130
183
129
182
158
222
257
182
146
155
188
194
191
195
204
173
200
166
173
205
195
204
246
195
210
171
175
211
167
206
200
204
133
162
198
192
227
162
156
204
181
164
172
130
277
146
200
216
182
133
217
146
175
169
174
210
170
259
228
129
115
133
145
115
185
214
211
167
222
159
239
145
211
146
128
146
204
208
285
130
222
176
204
130
143
162
150
174
242
175
211
218
203
231
197
176
170
173
176
162
226
203
170
228
176
229
172
210
178
146
209
173
133
146
296
156
173
225
159
230
179
174
237
180
158
193
129
208
234
222
257
130
172
168
201
208
236
158
212
194
164
143
224
176
168
146
130
225
188
193
188
173
267
235
189
129
185
162
150
146
133
150
180
215
211
194
234
160
146
206
180
247
182
217
141
273
129
156
212
143
255
168
245
209
130
221
201
265
149
176
191
204
185
166
146
146
157
176
219
220
151
283
192
180
162
198
191
264
196
210
122
143
170
210
161
129
204
168
179
230
289
298
190
150
130
214
256
173
174
186
166
149
145
204
173
211
178
202
146
257
232
143
200
185
150
305
204
173
182
179
186
213
149
204
244
179
239
236
163
184
181
133
185
333
199
146
183
129
172
245
201
215
168
272
158
203
232
261
198
185
303
143
174
129
148
206
204
224
174
169
178
183
223
236
119
214
184
174
217
227
195
210
173
164
273
181
246
201
202
129
252
242
192
192
115
176
186
141
176
204
132
158
183
140
162
162
254
221
256
173
178
182
195
217
209
138
241
180
190
211
283
152
161
192
217
192
206
188
172
206
129
199
200
130
155
176
179
183
186
203
212
145
225
239
209
168
162
217
229
190
200
179
200
130
182
219
144
224
240
236
242
144
212
129
200
170
176
182
195
216
187
177
115
146
173
172
243
187
187
166
173
164
155
145
247
176
248
129
167
130
173
237
214
180
130
180
130
173
258
194
138
189
201
146
204
198
258
208
159
130
203
156
203
129
130
259
164
183
222
202
162
191
168
217
204
170
197
198
179
236
236
231
186
191
246
215
186
222
230
210
172
166
226
183
168
115
184
197
130
231
205
173
215
171
190
176
147
191
244
256
146
194
207
183
187
178
146
263
211
174
227
204
179
200
222
162
173
191
210
204
152
198
143
210
239
204
233
210
255
257
176
195
185
145
193
173
172
356
169
222
235
242
203
217
192
240
181
187
132
168
238
236
129
225
183
217
258
172
146
157
213
215
133
161
141
146
174
195
187
130
258
178
204
149
168
188
150
187
115
164
179
230
146
143
146
202
220
173
236
192
190
227
173
235
173
264
161
203
244
173
205
161
201
275
237
180
146
174
287
231
146
201
151
171
202
183
213
167
242
199
187
236
210
195
335
230
209
186
236
231
228
184
200
185
251
168
115
164
280
161
225
206
241
209
286
178
132
176
164
159
184
130
204
182
146
146
202
184
138
201
206
238
208
141
157
291
162
179
132
193
129
206
150
145
169
146
184
173
146
141
178
181
143
188
130
205
199
171
146
209
244
235
200
176
221
244
129
182
176
184
239
198
191
165
261
238
170
227
202
158
146
242
119
129
193
211
157
263
165
217
210
226
197
185
155
185
204
176
156
169
227
194
217
133
156
250
160
180
179
227
181
176
157
231
225
250
205
202
189
155
204
208
224
141
172
130
182
153
262
222
155
146
165
257
179
200
213
146
184
130
199
238
189
159
161
278
244
164
233
145
164
178
192
210
161
208
241
152
145
206
173
185
223
176
188
236
161
252
155
182
202
191
243
173
209
158
201
150
187
263
214
189
192
231
164
218
146
176
205
155
130
157
236
202
188
145
247
204
188
192
146
173
162
166
155
194
251
179
166
186
229
222
187
304
300
185
201
231
133
175
170
192
204
200
238
234
115
146
211
179
115
184
249
194
161
171
146
128
192
152
208
236
198
176
206
165
210
275
160
130
262
247
173
169
210
173
130
239
184
184
130
177
160
176
146
169
210
242
178
284
204
146
185
206
146
141
143
202
189
211
173
217
202
189
129
240
115
173
167
172
162
168
211
168
173
163
252
158
194
186
173
173
151
178
210
207
210
201
166
185
173
217
194
163
228
165
162
211
172
303
186
179
129
297
285
208
184
129
168
130
211
182
204
206
191
174
130
168
161
162
267
162
183
186
214
160
235
168
154
183
128
178
205
191
201
173
171
201
202
160
146
176
156
162
179
173
161
156
166
168
143
186
188
129
238
168
237
145
281
170
200
210
206
176
203
183
231
212
143
183
174
176
208
171
192
186
235
174
209
278
173
202
185
251
146
130
138
217
186
216
163
175
146
173
169
176
182
173
215
176
168
180
133
260
164
119
231
179
243
146
186
236
202
167
214
152
194
180
164
235
213
132
222
205
115
146
217
175
224
173
235
179
207
179
146
143
170
129
210
145
157
191
208
194
204
224
231
166
205
130
176
217
146
244
183
143
155
173
257
202
237
179
246
226
182
185
202
129
209
173
163
240
246
180
173
168
242
182
185
210
225
182
193
195
188
202
133
238
233
205
215
260
173
214
236
208
164
115
179
192
150
146
156
143
243
185
163
201
226
307
183
202
146
182
214
209
234
238
170
184
207
192
250
193
209
156
243
212
204
149
264
209
173
188
129
248
292
200
216
176
207
186
215
218
171
230
168
184
168
218
222
249
218
133
156
266
200
239
162
165
235
115
236
200
206
132
202
258
208
217
202
174
130
162
160
176
173
160
157
208
202
195
169
173
222
204
202
191
150
129
223
158
219
242
130
255
178
219
192
216
158
278
129
283
183
211
238
214
206
146
209
256
203
216
229
204
173
204
219
183
290
133
184
203
230
222
129
184
147
193
176
168
261
179
188
169
194
199
146
129
238
195
176
173
160
160
239
168
189
253
184
227
224
200
162
259
219
144
179
178
228
158
209
176
194
233
254
204
214
191
145
201
169
191
221
201
254
179
222
204
156
150
175
240
130
172
236
144
175
191
244
208
193
164
183
182
200
178
172
115
177
200
225
143
248
264
236
187
181
242
184
230
155
173
163
168
200
210
238
187
130
204
230
199
163
210
202
193
158
200
202
252
248
143
173
261
146
202
248
194
277
169
182
195
147
207
180
239
260
236
176
165
158
129
162
173
198
296
235
161
168
256
200
188
221
238
176
256
157
145
176
130
190
246
238
239
133
145
149
222
129
149
223
133
130
176
203
215
143
225
224
194
196
217
178
249
156
207
225
267
166
189
150
129
191
222
200
227
129
222
161
180
217
230
217
143
183
164
256
200
232
129
195
182
212
214
182
216
164
187
230
202
222
156
146
183
149
174
262
129
178
197
260
201
285
211
348
295
133
206
262
220
210
165
187
182
185
146
249
197
183
163
222
191
191
191
201
186
183
204
186
193
182
206
171
200
146
176
173
171
161
156
193
157
174
185
228
196
208
186
207
221
228
193
211
130
197
166
217
164
166
171
197
192
205
160
167
145
182
186
180
255
179
188
164
203
223
202
157
203
130
236
228
256
217
115
204
206
235
254
146
133
201
214
162
204
263
242
184
151
211
184
182
227
210
183
236
222
161
231
204
138
192
210
182
145
155
158
153
198
288
183
171
205
158
206
164
162
246
202
173
205
162
234
172
210
146
193
166
212
196
155
182
177
164
176
143
193
175
198
274
201
156
200
169
180
172
236
227
149
187
130
150
158
211
133
144
132
210
227
234
145
183
145
201
169
133
246
184
182
184
203
206
146
195
227
180
176
284
214
122
245
119
130
207
179
219
204
202
210
207
199
206
171
167
180
180
129
247
189
129
210
193
191
176
138
219
159
146
229
217
179
146
209
218
152
222
175
130
161
176
162
258
179
158
177
179
183
222
173
155
133
259
236
217
149
166
147
218
167
262
122
219
145
184
221
248
204
141
229
204
207
179
266
145
130
238
192
133
236
147
204
213
149
177
168
184
130
130
235
218
230
129
183
164
147
233
256
288
205
143
149
189
233
210
155
158
155
214
259
146
129
173
245
206
146
235
224
201
152
204
221
164
232
221
190
248
176
240
160
206
185
149
143
173
201
218
130
227
202
188
170
277
236
170
210
201
122
199
146
200
150
173
146
256
202
251
130
276
164
130
281
204
178
193
133
188
179
179
204
256
122
164
173
230
226
285
218
145
211
209
189
241
274
192
237
211
170
229
143
164
129
163
158
143
178
229
259
200
190
275
130
147
207
261
133
326
143
200
155
206
133
291
155
217
256
169
149
176
173
146
202
130
204
210
133
209
166
255
162
183
224
182
173
211
165
173
206
173
255
129
247
217
230
209
206
249
225
205
148
176
174
307
204
202
200
165
146
160
194
158
223
166
150
133
252
162
164
217
204
222
156
166
129
221
247
224
250
144
230
200
204
259
192
183
247
230
200
130
254
258
231
170
141
210
192
201
210
217
246
145
130
179
210
234
230
167
180
182
242
204
227
170
183
189
200
208
133
149
186
143
195
182
129
164
115
129
158
191
173
176
168
193
171
201
204
229
191
218
191
177
193
160
243
227
199
246
150
195
194
232
255
208
205
129
246
217
265
180
168
130
176
203
223
218
287
210
186
162
192
216
245
277
168
129
189
115
143
277
263
201
182
217
176
146
217
209
206
168
228
208
190
208
208
204
227
210
146
198
197
249
210
150
197
171
146
210
184
183
261
204
210
233
200
185
174
129
157
144
220
243
222
129
236
210
201
210
175
176
192
176
228
158
190
182
228
168
251
206
211
180
162
217
173
197
241
178
161
164
155
242
204
227
239
119
226
160
179
175
283
164
189
217
217
129
202
182
173
175
178
199
177
178
250
176
195
164
230
211
201
170
233
147
296
181
204
212
176
156
298
210
156
180
143
226
265
161
181
122
130
286
202
200
156
221
182
222
226
156
212
178
312
248
258
158
191
173
256
239
160
158
260
275
219
246
207
199
241
161
216
217
170
146
129
222
177
174
204
171
286
129
218
204
201
189
216
168
146
187
217
274
195
231
181
235
237
206
184
173
228
200
152
176
221
209
184
211
245
184
191
186
194
202
175
249
194
215
178
170
173
240
209
217
258
187
253
185
146
223
183
194
227
185
191
191
173
182
229
210
257
211
206
177
202
185
200
182
179
277
197
212
288
129
225
266
164
258
185
133
241
146
160
204
178
263
216
155
185
264
190
176
190
200
192
230
230
224
193
115
175
201
176
188
146
176
170
201
202
178
115
202
141
183
164
191
164
217
202
204
149
238
184
183
156
203
115
257
129
235
164
173
183
174
210
204
130
168
210
276
181
214
234
201
201
177
186
141
179
143
168
220
166
204
239
185
302
184
119
199
146
180
211
130
160
141
241
247
173
224
204
201
173
201
201
157
168
176
179
195
152
132
180
291
244
211
199
185
173
254
157
143
145
184
211
255
168
194
208
141
164
146
227
188
164
211
184
180
174
182
115
175
209
179
181
206
274
256
143
190
180
220
230
172
188
195
190
217
202
218
184
132
130
153
202
184
210
157
321
143
182
181
210
191
210
175
141
182
200
189
244
210
184
162
206
168
164
178
196
200
228
155
156
217
146
173
216
200
209
164
115
255
239
188
284
227
202
302
188
209
256
158
191
215
272
130
206
185
130
122
255
206
206
145
187
202
269
183
191
226
182
164
163
207
182
206
241
179
178
226
236
268
211
189
194
283
166
294
164
202
247
195
204
200
146
191
211
185
180
164
164
171
215
153
201
130
132
234
189
263
150
214
192
202
179
203
162
179
303
188
199
185
217
199
178
195
202
167
204
129
214
158
129
185
184
204
179
184
201
171
204
221
146
188
299
152
162
176
210
170
168
159
178
252
158
237
133
129
164
255
158
208
164
200
169
143
168
243
253
185
182
129
173
180
172
168
179
226
129
146
176
236
138
191
181
160
242
173
210
209
173
146
172
209
211
244
158
187
169
168
247
192
168
183
201
179
225
174
180
178
185
180
166
236
199
179
187
180
199
214
156
220
184
164
181
216
254
335
184
130
158
143
190
217
149
165
169
221
242
227
180
216
187
161
198
202
158
200
221
226
147
173
146
242
129
230
214
246
158
219
195
173
203
180
225
158
143
209
176
184
277
176
213
156
185
210
320
227
222
204
191
274
200
217
130
176
176
225
115
206
190
205
129
203
236
143
158
152
160
155
164
256
189
151
171
182
285
288
173
193
129
248
204
253
176
256
196
230
233
129
129
183
203
145
133
162
179
186
130
225
189
143
251
204
174
217
132
202
271
234
201
115
186
237
143
173
179
177
182
175
208
143
223
149
264
130
195
183
197
181
138
146
186
210
222
137
214
211
201
146
159
183
194
193
159
157
146
164
182
145
199
132
169
158
150
167
150
178
217
265
182
205
230
191
129
224
183
245
173
209
168
181
195
231
225
145
224
210
288
240
175
166
119
191
138
240
211
129
173
129
164
208
189
210
164
162
164
214
234
164
217
193
183
210
119
150
130
146
222
182
178
184
254
169
156
166
146
129
206
176
133
171
242
227
200
244
189
145
221
162
162
146
149
176
324
200
176
177
229
159
157
263
182
227
204
191
219
150
200
169
217
146
179
182
183
146
174
173
201
129
191
173
211
174
162
144
143
168
145
133
162
237
130
158
173
209
236
245
184
231
176
255
175
238
177
187
129
189
196
145
228
200
180
173
173
183
173
244
146
187
174
258
218
242
191
169
198
129
213
320
130
129
216
204
182
212
224
251
180
119
247
202
194
201
227
129
209
199
203
122
230
214
182
185
244
210
195
162
184
166
129
163
176
245
164
145
145
186
197
300
242
178
199
168
202
222
130
187
151
159
234
202
204
240
183
210
176
239
147
144
173
181
173
201
130
164
157
222
170
192
240
219
182
148
133
158
256
185
203
191
192
225
198
222
170
205
201
182
137
206
151
178
235
201
178
204
277
302
183
206
185
246
191
202
173
156
205
130
173
184
233
182
217
179
146
146
143
200
173
160
173
180
221
149
240
216
272
169
189
155
156
129
214
173
201
141
215
191
147
188
211
143
146
231
115
130
242
215
161
185
201
178
173
178
234
141
161
161
280
172
221
161
217
210
201
173
152
262
157
228
173
119
180
181
209
179
156
220
220
172
215
211
145
132
204
218
210
213
230
146
176
261
186
188
122
242
179
217
299
183
176
176
209
179
178
179
204
129
152
152
115
236
212
204
190
258
190
214
160
186
133
229
176
186
230
171
162
158
231
169
208
153
145
258
296
256
283
197
214
168
242
189
176
183
176
230
209
173
147
274
153
130
155
294
209
196
189
201
173
216
271
169
201
147
182
173
153
191
255
182
202
162
183
173
247
156
211
259
133
247
216
154
212
267
115
149
141
185
216
146
180
138
169
188
266
183
179
217
183
185
174
130
173
146
162
206
176
173
158
191
202
130
146
257
222
162
167
229
260
250
259
194
276
224
253
202
176
173
186
206
217
202
194
143
173
254
194
133
258
176
274
160
177
301
133
173
160
206
194
264
247
212
229
173
183
206
166
176
169
210
235
167
182
239
182
208
161
115
172
227
222
130
122
129
170
205
145
300
158
198
242
275
154
241
201
173
210
188
201
274
210
146
197
130
218
216
223
169
161
300
115
202
169
246
218
187
204
254
215
186
129
189
199
201
181
180
122
281
188
178
204
115
156
200
199
174
160
236
210
258
222
166
160
150
217
179
240
207
194
202
209
173
173
180
206
131
129
133
119
203
222
270
184
186
133
146
206
176
155
222
196
179
204
129
181
244
177
133
180
171
204
213
176
143
156
231
266
203
129
129
200
133
175
227
204
215
155
204
232
176
190
138
194
162
180
204
176
287
200
268
155
173
265
133
210
204
151
191
210
176
206
182
197
175
185
210
133
239
239
216
204
145
176
244
171
234
182
221
176
122
255
143
148
202
231
169
258
212
189
173
115
141
198
218
209
211
306
211
198
143
211
204
195
128
130
181
228
171
169
173
155
180
130
200
178
200
147
206
216
145
252
168
173
239
173
165
182
217
169
168
168
214
220
221
264
226
229
184
255
186
209
191
210
164
221
156
179
181
201
217
212
115
210
230
217
253
201
199
185
174
129
276
221
230
191
232
181
217
211
244
182
231
173
231
182
238
174
145
205
185
130
194
130
150
195
162
202
244
204
178
238
180
173
270
188
180
176
188
168
145
183
166
235
202
234
219
212
217
230
167
182
182
217
206
199
153
185
235
211
162
191
168
217
210
180
222
220
184
130
169
189
133
168
156
226
158
146
209
248
188
217
182
210
194
202
263
220
184
204
208
184
182
184
200
130
188
197
230
210
146
240
130
192
244
202
217
146
173
174
173
176
200
229
172
143
146
182
211
225
225
211
208
191
145
222
145
256
236
158
195
174
179
206
194
176
204
209
228
151
205
222
173
168
210
170
242
147
193
238
288
320
211
219
204
143
217
211
246
200
130
170
206
211
227
182
231
168
196
169
176
206
197
185
201
239
187
176
188
244
161
164
171
200
138
244
129
195
195
145
212
218
179
176
195
160
211
234
234
169
237
183
170
210
176
194
201
245
211
115
182
162
180
149
250
169
115
179
239
146
233
191
228
145
138
210
292
204
169
180
239
219
186
246
200
145
182
254
131
237
146
169
156
149
199
227
244
180
216
259
236
204
283
186
158
159
171
171
174
204
236
201
234
173
200
172
203
190
186
221
188
202
166
173
208
129
181
247
145
264
188
169
203
129
210
299
179
203
155
200
129
146
188
227
176
264
225
210
158
214
201
236
222
182
130
175
129
184
158
214
247
211
190
238
227
153
146
184
291
157
196
245
229
172
151
264
129
146
170
188
204
175
219
160
169
210
145
122
143
182
184
202
194
247
182
204
231
162
122
238
230
178
210
194
214
181
194
218
138
168
201
200
200
204
138
167
210
211
129
173
191
183
190
184
206
184
180
264
132
186
205
211
173
183
185
158
195
257
158
122
191
176
237
178
204
146
150
163
203
320
218
186
181
184
217
153
198
190
262
146
219
223
230
180
212
175
200
241
145
200
217
248
203
129
207
200
204
216
194
204
145
199
169
164
197
130
191
221
130
244
155
173
209
197
176
265
130
162
179
161
176
187
222
182
231
133
184
143
175
252
171
228
247
130
264
186
193
212
145
254
316
199
215
144
232
244
189
138
225
143
173
146
251
151
180
168
200
190
239
168
204
179
183
239
130
146
224
147
200
173
130
224
242
157
206
253
192
156
206
148
173
205
235
204
188
182
173
150
229
214
183
180
235
130
173
234
130
234
176
173
244
182
281
191
238
214
210
129
206
210
168
230
115
262
230
115
210
204
173
191
146
176
218
254
192
211
182
188
212
173
176
238
201
184
206
204
189
202
187
261
210
335
236
158
335
115
153
236
141
179
217
191
243
130
141
211
143
204
217
155
158
204
244
205
236
245
183
239
174
193
181
211
173
130
222
252
146
207
173
210
173
172
144
162
184
284
143
150
184
201
133
211
229
253
238
159
173
201
211
249
129
179
145
199
150
215
178
145
271
133
230
243
258
217
164
170
170
211
160
219
225
185
237
164
130
207
188
243
191
222
115
201
191
129
246
239
230
204
185
213
151
196
129
217
166
162
179
145
260
210
258
330
170
183
210
156
208
214
184
281
204
211
225
235
243
162
133
194
128
182
238
173
180
191
146
185
160
265
174
141
209
130
180
228
180
277
170
146
217
169
217
159
213
187
282
200
231
128
231
210
182
133
223
255
228
129
199
198
183
249
275
156
169
162
183
146
204
176
152
173
270
160
198
193
222
238
186
146
185
335
157
244
176
221
130
243
245
156
210
248
192
204
212
156
189
228
173
185
251
238
176
200
183
217
236
162
115
208
173
186
182
234
145
162
130
115
191
144
183
158
174
206
152
150
202
146
122
146
189
160
259
182
168
228
130
195
214
204
218
178
190
213
160
160
238
184
175
202
129
178
235
182
162
182
210
176
218
230
173
199
129
179
168
233
201
173
204
145
194
210
133
242
219
184
265
263
207
146
236
223
146
166
217
161
165
133
184
161
188
166
191
231
179
194
242
254
162
216
216
181
238
227
246
178
183
176
163
179
217
230
236
163
190
165
258
189
199
211
173
180
227
214
190
168
165
122
259
249
166
237
194
119
201
203
155
227
178
146
210
209
236
149
146
173
196
257
206
248
173
204
214
196
164
237
174
229
182
169
218
162
228
251
230
161
182
210
146
130
176
250
191
217
210
176
138
244
219
221
282
165
194
211
173
188
228
221
202
210
259
191
220
190
214
188
192
208
200
146
145
217
145
182
184
211
169
213
211
169
236
226
166
146
176
144
245
146
261
228
205
185
185
160
210
256
197
219
186
213
141
261
173
283
194
236
152
194
206
179
129
297
268
166
158
145
199
214
194
210
230
162
146
319
173
169
292
177
198
194
274
172
133
230
203
230
181
188
182
254
203
183
174
182
190
160
149
198
179
202
173
130
173
187
213
222
173
239
195
178
238
160
240
200
212
210
146
168
165
194
173
210
159
216
168
176
209
198
153
179
227
191
278
227
141
264
146
207
183
129
141
164
138
178
253
176
157
181
178
206
246
192
184
193
133
191
176
190
185
217
254
217
192
185
219
168
173
186
183
193
130
155
173
156
161
176
211
145
128
239
249
222
173
171
145
129
157
171
190
211
227
162
159
237
167
211
274
218
206
231
185
180
203
129
159
169
255
197
187
180
185
214
241
174
209
219
194
191
147
184
168
225
164
151
203
203
222
166
221
242
173
179
168
210
269
169
204
173
189
181
194
208
238
171
152
160
223
168
164
168
183
200
176
129
230
176
183
133
197
215
153
206
167
130
255
204
265
184
217
128
217
174
178
252
146
209
206
155
314
181
189
302
145
216
166
204
180
221
160
179
201
179
115
143
146
180
211
307
174
173
183
199
228
185
171
217
221
183
243
186
198
176
208
201
210
168
226
209
202
129
210
181
197
156
129
144
230
195
173
193
154
129
200
132
277
219
187
190
173
191
225
217
206
138
211
133
287
204
160
179
122
155
160
210
183
188
161
174
160
149
226
162
190
173
130
173
208
166
234
129
205
146
206
204
156
129
184
168
201
180
247
185
146
210
247
184
187
198
193
162
277
201
201
172
150
190
203
232
182
235
211
204
241
241
129
185
152
129
157
271
216
230
202
292
267
215
162
176
164
175
130
168
256
148
261
183
176
184
254
174
206
215
185
156
180
129
130
204
130
162
122
200
149
297
156
228
176
236
214
199
205
283
168
155
130
191
176
184
244
216
201
255
211
175
238
209
176
171
170
138
130
228
184
198
178
122
184
183
255
182
222
143
157
217
217
180
130
206
129
202
129
195
245
238
236
177
153
166
234
180
179
164
210
143
206
283
167
242
204
201
154
161
182
272
115
201
143
238
173
151
130
147
129
187
247
265
236
239
201
189
129
129
156
222
182
145
221
238
197
233
225
164
229
253
183
195
179
201
222
182
155
176
207
180
172
176
227
237
168
157
181
145
179
129
128
151
164
150
233
200
238
173
173
164
202
161
138
213
170
176
183
217
229
188
153
150
230
141
182
261
145
173
166
172
178
167
201
146
199
188
179
234
201
152
130
179
129
146
181
184
238
179
149
190
129
146
202
144
164
167
300
236
184
193
171
225
242
115
133
225
222
230
170
151
201
269
178
176
186
146
202
221
185
164
191
217
164
247
204
165
242
195
188
151
176
143
156
204
198
191
141
216
202
129
211
193
188
263
165
209
149
158
203
197
228
146
191
180
243
204
115
193
146
263
155
225
244
246
164
129
178
137
210
187
258
262
180
239
202
218
143
220
229
122
167
172
178
206
145
130
179
190
186
153
184
143
141
238
183
202
217
200
246
257
222
281
231
304
150
178
133
231
241
255
201
122
264
168
173
191
173
209
198
264
238
173
221
177
221
182
168
162
192
227
178
158
214
191
189
172
169
255
239
166
216
217
250
203
170
211
181
178
206
205
186
180
160
186
190
190
239
173
189
181
247
245
219
173
191
221
201
232
184
129
226
238
181
146
179
185
219
217
263
192
247
141
224
184
241
237
229
130
251
262
225
229
179
229
200
235
146
143
150
212
185
191
190
183
184
190
225
244
145
210
158
207
263
159
283
219
174
179
173
187
218
295
156
164
234
176
195
138
176
132
168
259
264
201
133
211
217
222
133
251
227
180
225
205
185
194
173
173
202
146
158
224
256
129
217
185
144
130
173
204
197
252
185
213
207
168
173
261
198
169
184
335
182
221
307
193
184
179
145
208
184
143
230
200
206
179
182
119
129
274
270
206
162
130
210
146
144
294
174
204
246
218
206
170
130
169
298
201
179
143
195
201
236
209
187
169
215
214
130
141
303
152
221
181
176
250
129
183
247
150
182
221
261
147
191
129
204
195
176
182
214
220
211
174
208
210
176
162
180
173
182
176
145
172
248
285
219
278
204
235
168
155
145
252
201
222
188
247
200
201
163
225
130
176
129
183
205
192
133
133
179
212
239
208
146
158
211
199
122
155
195
236
222
155
176
258
210
173
188
180
187
202
186
141
150
129
186
187
189
179
268
225
263
216
272
194
130
173
173
156
174
143
230
150
194
129
179
164
172
193
204
143
233
129
176
168
164
130
179
174
335
219
225
195
296
229
225
158
145
220
168
133
156
186
184
200
164
215
166
133
183
321
152
227
202
237
173
146
212
236
201
213
155
231
244
164
228
231
220
180
211
191
115
228
241
173
198
176
155
163
172
221
183
122
199
160
203
189
283
129
188
181
249
248
173
184
171
188
259
252
173
168
214
236
155
206
242
183
251
236
231
190
206
237
169
169
247
300
195
203
224
185
210
205
176
146
239
185
155
184
242
155
218
204
297
169
170
182
153
216
168
239
200
128
238
201
182
227
162
169
133
236
130
211
176
189
182
168
177
130
201
165
176
197
192
188
210
180
206
186
186
179
195
191
255
233
227
130
247
186
130
211
143
190
178
173
242
228
222
129
172
192
184
221
182
173
173
245
182
194
166
195
193
193
178
308
230
155
226
115
244
220
248
221
158
205
160
244
233
176
129
181
210
203
238
178
171
162
255
194
252
259
222
231
189
175
211
181
211
122
220
190
173
176
191
149
158
152
173
199
193
230
168
213
193
266
168
246
202
133
219
230
130
203
218
156
210
130
194
162
156
173
191
203
179
201
211
247
195
204
199
200
283
182
151
162
227
298
195
184
214
217
154
211
168
192
132
164
210
201
230
237
183
184
168
159
141
146
115
233
205
281
160
195
225
160
168
145
224
254
178
189
265
190
206
178
208
179
232
157
236
194
160
156
180
182
179
242
202
210
138
146
146
115
200
237
200
141
206
130
166
145
145
174
187
191
206
158
203
162
238
257
187
250
146
166
164
250
146
192
236
168
188
238
130
133
164
173
192
180
180
195
245
180
174
178
160
207
182
200
210
147
158
156
206
122
202
219
170
178
212
205
204
171
115
228
166
157
202
173
122
222
182
216
146
236
130
175
229
216
129
200
204
145
262
194
231
180
162
244
230
206
174
130
195
199
215
168
252
230
144
172
184
221
211
194
159
150
153
146
155
143
238
146
115
217
166
178
146
228
133
201
130
218
287
171
217
168
184
155
254
195
219
129
200
188
261
166
173
185
178
176
224
214
288
239
222
313
228
246
183
219
199
178
158
231
212
264
236
173
187
214
145
202
190
167
208
186
130
133
130
173
187
173
226
164
184
204
288
133
180
175
206
222
210
133
129
230
254
180
131
173
204
204
204
129
261
201
133
185
173
143
204
171
242
195
221
239
297
228
141
235
188
172
161
191
146
230
224
206
151
408
133
183
158
222
162
223
224
143
193
130
182
198
180
179
202
210
217
287
179
225
130
200
173
216
264
147
129
159
202
187
185
225
115
200
230
133
129
150
143
149
263
130
160
181
165
151
200
258
203
250
145
176
150
202
173
130
179
183
201
145
164
182
130
130
325
195
249
210
191
214
201
217
228
234
179
236
221
227
261
130
162
208
173
200
186
264
189
155
210
188
149
270
205
254
212
132
212
122
194
130
246
264
145
157
265
215
300
236
172
247
221
173
129
190
178
255
274
178
145
164
209
187
201
158
249
239
195
146
191
201
185
204
213
203
201
129
202
186
194
258
303
200
156
238
198
228
173
182
130
195
193
145
182
178
145
143
164
208
183
357
115
203
138
221
180
158
143
265
173
176
211
201
204
168
146
191
239
202
155
185
146
173
173
202
162
214
143
228
211
164
239
237
205
166
190
199
197
166
158
191
185
210
216
231
129
130
144
157
205
169
155
224
173
203
224
179
234
268
256
162
202
176
173
183
200
191
140
173
180
130
235
188
178
234
217
146
176
146
201
133
166
178
224
238
192
130
183
222
223
217
205
176
258
210
180
166
165
229
163
204
177
214
129
215
198
226
176
157
204
209
172
158
129
186
162
172
130
168
173
263
155
145
230
205
173
182
146
129
182
230
185
204
185
146
193
244
208
183
221
173
172
210
171
201
252
228
146
143
176
173
159
203
180
173
164
129
185
288
145
198
191
141
264
173
231
221
180
226
206
173
147
146
204
199
122
200
236
155
217
230
183
223
241
176
264
188
231
191
202
146
302
210
236
173
255
155
190
189
231
129
255
161
201
263
161
180
169
130
285
230
199
129
184
173
195
234
141
208
246
184
176
204
200
234
129
210
221
174
213
224
157
248
168
169
185
184
273
146
198
206
199
252
210
176
236
255
221
204
203
176
242
169
178
161
262
164
179
180
143
202
257
129
157
202
185
217
202
202
162
176
175
260
176
196
235
176
183
210
202
168
209
228
218
143
206
226
173
262
188
159
156
225
143
129
252
202
206
258
189
229
158
170
158
164
227
171
194
162
245
229
204
184
194
192
183
212
194
297
227
256
230
168
236
144
216
129
182
209
162
205
195
214
246
220
236
155
143
192
149
187
176
252
183
230
173
208
141
146
169
191
179
194
211
168
190
235
238
204
175
240
182
266
260
217
206
214
158
200
162
161
179
178
183
168
143
170
204
215
162
239
295
183
174
146
200
147
141
254
217
245
254
149
281
200
115
231
129
218
145
206
209
176
141
274
230
168
176
265
225
182
174
190
155
185
177
133
173
217
183
179
212
187
143
227
164
130
201
196
218
230
129
200
175
230
195
258
156
179
239
145
210
239
205
215
235
285
188
186
190
266
161
213
210
217
251
233
147
233
129
187
209
202
206
191
204
169
130
173
187
235
133
164
189
204
169
197
169
164
176
130
171
206
239
191
143
176
217
222
258
242
169
239
146
192
129
173
166
209
176
115
200
207
157
238
168
156
182
181
198
230
153
214
210
115
166
157
202
231
115
129
180
146
146
183
261
161
286
183
216
155
210
199
216
182
206
206
188
130
195
158
247
184
158
164
205
115
115
185
149
230
185
146
238
178
115
217
194
238
240
203
211
179
212
178
169
211
221
240
187
206
151
183
156
171
192
201
176
246
129
195
205
203
157
190
211
211
243
255
159
158
222
234
179
176
268
211
290
286
232
181
204
213
202
146
143
210
218
129
200
252
225
271
199
201
144
182
182
202
214
201
239
217
146
221
166
306
249
236
162
238
238
248
128
145
246
239
252
255
133
226
163
202
236
198
200
184
185
259
281
227
181
300
206
277
246
207
173
146
176
201
173
169
221
228
183
202
138
168
150
204
207
219
246
294
217
232
247
211
274
130
203
176
214
153
208
175
115
156
167
130
185
247
191
173
217
129
173
133
130
130
192
145
282
170
227
149
155
201
179
217
172
202
237
228
208
298
212
199
176
246
225
251
217
150
168
115
130
145
186
230
149
193
146
239
168
180
129
285
220
229
273
213
204
232
185
191
274
200
132
207
130
214
209
156
240
200
176
228
257
201
200
230
231
168
201
212
195
257
234
130
130
184
145
184
223
163
146
267
249
141
198
188
168
182
184
212
200
173
183
227
260
230
251
180
173
180
188
214
171
190
180
174
181
201
192
246
200
204
200
129
184
240
216
198
184
163
187
205
193
202
200
189
211
209
242
204
143
129
233
237
181
138
258
194
198
184
232
202
183
162
201
157
218
199
155
227
201
173
149
218
146
200
206
133
257
187
262
170
183
130
260
193
165
166
214
130
153
194
208
213
210
146
183
182
168
260
173
195
173
173
143
187
129
179
195
264
248
194
173
265
211
227
146
179
155
297
220
162
158
202
209
174
160
228
158
213
179
183
143
138
176
173
172
181
218
225
229
158
184
202
146
201
200
166
176
204
244
164
160
210
173
204
258
260
155
155
138
211
202
151
195
157
265
204
192
192
130
184
206
157
240
199
199
202
278
224
179
245
165
225
176
115
191
209
204
241
127
187
272
209
250
213
183
151
257
160
164
133
176
146
155
238
198
189
128
164
228
213
149
129
157
248
202
217
192
204
178
160
193
130
164
156
176
197
186
173
192
162
115
141
247
194
191
202
194
162
130
130
242
230
130
183
206
222
207
260
153
146
201
151
283
248
162
122
129
156
178
225
156
176
204
141
209
143
200
239
230
180
216
141
214
129
130
173
164
173
201
214
219
217
335
173
234
129
166
192
227
146
168
130
162
138
238
211
176
162
241
115
194
210
128
221
156
236
236
133
173
130
133
173
198
156
130
145
221
173
249
168
206
201
225
179
173
212
169
164
253
129
183
184
179
239
153
146
256
204
204
229
204
162
174
211
234
211
178
173
223
251
146
130
259
211
143
217
211
206
201
173
236
162
115
129
130
149
164
191
225
156
143
196
130
211
138
169
178
173
197
191
159
217
175
145
187
164
173
146
197
130
283
187
156
162
146
241
168
233
192
249
199
143
155
146
190
161
161
232
188
253
176
158
214
141
228
195
191
138
195
228
204
204
133
129
146
130
180
200
162
204
194
236
146
300
201
183
138
192
192
188
169
133
190
176
182
172
217
204
209
161
173
290
202
152
245
248
178
165
238
227
237
204
185
143
247
156
173
185
165
232
146
130
194
300
158
158
144
177
234
164
210
183
164
175
287
149
197
230
129
217
152
157
230
206
129
252
173
222
170
169
115
171
129
227
203
200
129
184
165
182
143
182
252
164
145
186
257
143
185
174
207
156
174
130
254
206
245
168
130
176
197
129
251
293
239
231
274
204
202
179
188
237
174
256
162
165
168
178
150
179
226
214
152
145
182
184
250
263
204
263
230
162
238
176
156
175
211
189
176
197
178
200
241
192
177
271
228
164
214
185
168
230
184
155
228
213
173
215
180
236
251
180
133
222
252
129
197
160
144
280
168
179
176
219
194
248
191
176
242
158
129
171
185
184
141
173
130
236
239
182
173
210
141
182
216
245
211
146
200
170
245
201
174
204
176
151
133
217
143
129
231
193
202
210
219
162
185
206
200
168
160
210
206
201
173
244
217
200
210
202
187
148
162
192
122
246
227
162
209
176
157
208
259
241
245
139
145
168
204
152
233
174
183
209
138
221
183
171
264
204
210
186
222
176
225
129
149
130
201
230
170
241
197
158
217
188
247
245
215
218
141
194
182
212
242
191
160
156
227
217
240
193
157
222
210
221
187
234
202
238
187
226
182
256
247
206
187
199
192
129
183
160
192
158
230
176
199
236
158
146
186
133
241
145
195
174
210
183
184
185
211
168
145
156
158
174
222
130
198
188
175
218
179
236
176
173
158
173
238
130
143
194
176
160
181
173
210
214
229
133
168
156
222
206
145
168
129
171
233
203
224
217
129
190
211
199
130
202
186
203
189
204
230
220
179
214
184
176
178
227
191
179
195
230
254
156
208
239
210
166
145
190
160
224
188
181
199
230
130
217
128
216
218
182
181
195
211
133
153
187
129
147
226
176
190
261
190
280
190
210
261
149
168
156
166
258
227
179
195
246
202
187
221
225
192
210
235
264
173
219
157
259
195
146
160
146
191
182
162
241
158
130
190
129
203
130
167
263
158
188
191
179
224
128
166
173
188
200
191
182
218
143
217
168
176
150
246
179
240
160
172
196
162
163
173
168
231
259
283
156
217
211
138
173
130
155
146
164
129
205
236
132
211
227
201
173
188
192
208
184
204
146
145
230
130
222
211
191
188
234
115
176
164
169
230
133
208
231
162
197
178
115
193
218
164
171
166
225
219
130
153
247
230
262
138
180
274
225
176
204
146
198
214
201
201
219
255
230
203
178
146
176
184
238
152
115
174
209
231
249
160
129
174
167
230
174
173
119
208
162
151
206
143
179
250
138
236
231
191
182
186
138
217
225
173
206
198
228
182
236
176
231
190
196
216
235
146
186
237
175
183
173
184
206
187
204
206
145
115
204
178
221
173
193
239
115
188
161
215
201
190
203
168
180
259
190
227
225
251
298
129
161
222
213
292
300
210
167
173
184
241
196
195
204
238
182
183
201
149
210
287
217
263
176
172
178
188
173
187
206
217
192
160
200
129
283
257
145
206
176
236
146
187
176
261
218
189
129
197
180
231
218
130
256
173
190
179
129
211
145
169
236
130
115
191
164
173
261
206
203
197
186
160
199
219
155
115
264
173
146
146
262
122
147
226
175
221
233
212
115
168
214
166
145
198
192
296
205
171
190
176
231
230
217
219
182
223
239
138
192
173
203
151
226
146
238
141
169
201
176
185
239
169
165
162
200
145
216
192
236
173
236
232
133
250
191
200
179
209
222
168
129
138
170
176
162
231
171
181
191
204
210
129
353
200
166
231
168
217
182
211
230
130
283
214
174
236
238
201
179
256
138
216
211
229
208
183
160
204
265
157
269
133
236
190
133
252
184
210
193
266
167
177
194
197
191
170
173
244
235
179
217
224
210
219
162
200
133
183
198
173
230
151
145
176
129
203
179
176
194
155
179
217
210
168
146
172
208
129
179
130
155
173
158
132
176
143
143
184
182
240
174
220
222
180
237
164
176
238
190
233
129
141
202
240
256
139
146
144
238
216
194
190
206
158
145
176
153
217
143
183
235
171
151
261
267
209
214
179
201
164
188
162
168
161
287
165
227
183
130
146
130
179
268
232
211
224
141
259
248
206
230
231
145
152
200
159
164
176
143
229
210
130
191
256
231
194
216
193
235
164
166
161
216
188
183
129
184
180
181
179
162
204
193
156
158
217
206
215
155
193
132
138
173
169
176
242
186
150
188
246
217
167
184
173
150
248
157
129
187
211
187
210
222
178
224
184
179
184
245
176
166
186
183
219
221
185
146
146
192
179
165
178
130
242
158
186
188
184
216
193
173
157
225
162
173
201
122
254
181
226
197
195
176
164
217
256
185
164
167
201
141
180
157
204
159
246
175
238
180
194
176
168
204
131
246
205
230
193
188
233
133
147
217
282
162
178
146
153
181
184
168
173
201
176
213
201
168
217
145
181
264
200
176
160
213
259
226
192
166
225
257
211
193
255
182
180
173
251
164
261
173
150
184
166
206
119
224
181
191
129
138
188
179
213
180
155
206
195
259
205
166
164
201
129
173
193
201
204
249
190
229
204
194
281
184
216
115
263
254
130
191
211
170
217
231
176
200
178
160
178
270
145
267
161
183
236
169
176
184
130
325
211
192
238
193
146
183
178
202
146
217
149
211
202
254
179
197
239
198
176
221
138
173
320
164
248
143
168
168
203
194
176
160
190
287
335
182
229
191
191
207
279
309
176
210
153
227
130
179
173
143
206
250
160
169
130
152
202
151
179
238
169
206
250
191
256
206
218
162
188
181
250
198
173
218
211
220
143
297
179
151
260
235
176
180
259
221
149
280
130
200
209
181
206
164
234
158
213
176
191
244
202
156
173
191
193
200
212
222
162
204
208
204
184
258
213
195
149
170
191
183
181
129
283
157
184
152
145
130
222
301
219
259
208
217
191
252
197
179
269
258
255
211
129
122
115
180
179
172
169
173
204
246
182
183
179
195
171
189
153
151
261
129
205
244
205
227
214
115
129
182
215
170
179
115
201
212
201
184
182
166
214
150
182
185
199
182
231
176
173
211
182
187
184
149
242
230
186
185
299
151
238
181
204
155
189
194
141
161
162
263
146
179
166
185
138
236
177
145
153
190
164
203
180
175
218
133
254
155
262
252
231
182
204
160
214
288
203
216
254
166
180
194
216
141
220
168
213
158
129
226
195
205
178
171
207
130
181
203
143
204
163
130
173
221
122
158
220
227
185
247
209
138
210
129
176
222
210
259
254
155
200
272
216
247
146
176
158
174
217
231
149
213
206
158
182
182
182
244
217
220
190
238
178
211
215
191
169
210
143
204
221
216
210
230
133
228
146
160
176
185
174
169
191
293
184
232
168
180
176
158
280
229
201
176
119
242
180
191
204
133
199
195
173
145
214
178
189
211
178
277
205
228
192
171
145
202
166
174
230
243
202
202
197
145
173
211
240
230
191
205
197
171
225
204
205
220
216
160
260
235
180
176
192
176
225
169
192
207
182
219
206
146
179
181
209
255
216
234
178
207
176
236
194
260
182
185
208
164
143
230
252
316
211
222
180
214
188
178
158
313
131
161
168
166
259
185
207
130
145
220
174
220
133
173
176
129
199
146
200
247
179
263
165
264
182
180
230
129
122
200
201
241
130
225
260
182
236
133
262
183
129
247
130
168
182
183
260
191
187
217
161
171
232
146
221
227
219
241
173
128
182
191
239
185
184
167
158
204
146
187
186
268
146
164
173
174
176
162
199
234
205
217
170
133
183
238
221
186
274
173
236
230
205
229
215
146
210
219
247
194
175
179
201
169
145
233
204
216
201
180
168
200
179
202
178
166
221
255
158
143
307
180
300
234
204
129
202
207
164
264
210
169
224
192
206
180
255
200
187
191
247
260
194
194
168
153
220
181
201
195
173
204
187
215
170
221
232
204
184
266
143
176
195
130
143
228
146
173
217
164
176
182
303
189
204
172
163
199
180
176
230
199
246
210
184
145
130
217
255
237
130
217
230
200
130
164
243
304
242
207
183
195
220
240
204
181
180
199
304
145
264
174
181
115
159
129
145
169
217
198
183
226
130
155
141
156
180
192
179
201
164
173
157
215
130
244
173
192
195
204
161
194
166
203
132
204
248
201
187
227
185
207
238
145
158
155
204
263
167
156
244
187
129
173
138
219
166
182
191
212
130
141
202
176
289
193
168
157
226
233
141
204
173
254
130
247
168
159
201
162
133
183
237
185
209
180
122
161
229
335
202
169
214
167
202
204
133
210
143
204
164
176
145
152
201
158
237
216
225
188
122
193
204
178
216
153
133
201
203
197
187
274
233
224
157
200
202
155
192
225
162
210
182
200
179
190
208
210
211
183
244
206
133
177
178
186
242
175
222
242
204
287
181
115
138
122
176
168
217
192
162
207
240
206
186
158
162
189
132
233
177
202
180
186
190
180
210
208
167
157
199
162
202
188
167
155
145
160
189
210
173
129
184
152
208
177
115
146
210
158
245
198
184
174
146
115
229
222
186
231
263
201
218
277
138
152
171
210
210
230
178
173
146
150
168
260
192
191
141
185
190
179
232
216
240
218
158
251
180
210
194
273
248
197
146
168
177
226
182
115
173
176
211
149
130
226
204
192
160
182
115
158
129
119
181
224
303
181
172
166
164
210
160
199
155
146
163
207
200
186
149
184
260
149
130
191
236
224
173
188
178
164
231
173
190
162
218
192
173
217
198
171
307
182
162
218
237
213
182
204
143
180
231
130
218
167
230
179
155
183
230
179
240
204
158
181
133
146
242
164
206
207
171
191
228
197
192
200
129
230
157
173
146
222
145
225
129
258
164
232
176
169
183
229
191
217
170
296
143
178
280
201
248
252
130
204
204
231
143
209
133
159
155
194
173
178
292
254
239
227
204
255
171
173
246
175
173
186
211
146
238
209
166
162
192
174
222
162
225
145
176
252
200
215
173
209
162
234
194
231
222
215
237
214
335
184
217
174
222
214
182
192
130
189
208
156
211
171
251
198
200
210
164
214
173
257
202
207
234
179
146
202
199
198
144
167
235
129
225
133
184
159
206
244
216
184
262
193
210
157
257
211
129
190
217
157
190
139
146
235
250
146
178
146
192
184
215
133
179
204
264
147
179
188
225
211
152
141
184
173
231
236
230
173
180
187
187
229
238
173
183
230
174
158
129
181
185
234
160
171
205
158
204
211
221
201
200
222
193
246
189
200
133
205
230
208
187
218
178
236
225
169
194
146
230
210
221
176
185
166
222
133
201
170
189
238
192
119
172
152
245
177
192
176
204
180
145
286
146
174
202
189
226
211
173
163
188
162
180
178
202
146
141
244
211
191
176
166
187
201
175
174
210
208
199
173
155
222
248
197
194
230
208
129
227
217
220
191
146
176
255
162
224
143
182
168
155
200
184
189
208
196
208
164
155
211
179
200
222
163
216
144
133
214
168
178
261
181
115
228
168
191
175
129
210
204
200
186
222
179
211
229
191
162
182
145
158
257
203
227
216
183
207
115
200
261
194
176
200
167
181
163
237
258
146
145
130
176
219
256
174
146
236
233
204
182
133
129
200
185
176
185
156
149
156
210
211
185
265
146
228
161
173
146
193
217
183
199
236
230
209
216
195
173
168
190
133
248
147
191
146
220
146
191
235
200
128
130
212
253
234
236
173
204
201
183
130
129
217
239
204
230
130
280
185
248
129
214
235
217
198
185
181
146
198
176
185
179
211
204
219
178
165
236
161
206
182
130
191
176
168
115
175
191
236
228
173
259
164
230
194
204
164
172
229
190
184
174
254
198
173
176
176
173
194
225
130
292
129
266
193
145
212
212
164
179
164
146
178
225
179
223
159
145
185
178
217
188
175
146
161
180
133
206
180
210
162
204
244
146
122
180
133
231
187
137
130
164
185
155
193
191
250
180
182
146
221
173
155
191
143
191
185
191
252
133
209
200
160
217
176
199
189
246
246
179
217
179
211
291
188
243
143
153
189
242
237
129
201
285
180
156
195
182
162
187
202
206
238
176
162
184
158
290
179
129
258
209
217
227
210
190
201
217
150
195
242
212
165
204
166
262
164
189
176
182
173
202
191
213
228
189
161
233
244
186
158
247
271
200
179
210
238
230
270
299
202
218
203
200
256
186
238
201
195
156
187
180
137
179
155
249
240
192
217
188
211
248
178
130
235
205
202
185
143
173
152
234
185
156
182
239
195
172
146
237
143
208
132
203
173
181
226
259
133
206
168
168
191
188
184
214
258
132
202
196
194
214
236
228
242
222
191
145
182
200
115
204
182
146
176
211
176
300
145
254
227
210
178
155
144
176
216
155
169
211
203
183
203
115
173
180
176
230
176
156
228
204
257
247
144
167
212
188
201
188
186
246
247
256
130
212
250
130
242
226
181
210
182
146
190
175
245
265
257
176
205
178
143
200
232
130
201
201
145
195
129
228
265
146
146
229
264
168
180
181
162
298
191
156
191
210
252
194
211
129
226
210
178
185
147
122
200
176
115
157
162
246
203
183
115
165
201
145
173
150
225
162
286
219
187
211
211
132
263
234
176
173
160
143
236
279
215
179
146
173
185
247
164
160
138
204
205
204
244
192
130
166
145
129
222
252
174
155
218
204
218
158
246
221
164
176
205
162
200
264
192
179
202
250
160
173
181
229
186
158
202
181
131
168
249
195
206
198
236
232
166
187
215
180
200
204
176
230
216
216
115
175
129
188
232
182
212
228
157
201
188
130
158
145
178
129
183
146
210
188
263
165
202
158
182
164
192
200
176
160
171
207
266
224
153
206
190
144
181
199
115
161
129
251
180
169
164
210
221
212
184
220
190
158
227
169
184
156
172
184
254
146
145
255
215
173
204
161
157
192
146
220
119
155
162
115
188
227
215
176
238
175
200
182
181
173
166
164
146
146
180
231
178
173
176
181
185
173
158
162
184
193
192
128
130
176
141
188
218
211
178
238
227
130
190
228
238
187
149
227
152
184
199
158
173
164
152
218
176
188
295
216
222
197
155
191
227
185
205
189
130
257
266
229
190
157
200
231
173
164
184
174
217
208
195
130
179
225
173
199
204
158
172
202
235
155
148
231
236
133
162
169
138
246
193
236
162
191
175
224
149
204
184
129
200
143
158
146
187
161
164
164
217
170
160
191
129
182
173
203
182
225
219
190
179
259
162
141
197
260
186
194
201
183
221
176
129
133
182
133
186
166
173
162
207
185
202
164
216
263
166
256
174
155
146
236
264
150
240
200
133
208
209
219
223
248
259
236
165
263
254
172
181
202
238
129
133
194
176
192
299
335
158
173
179
156
173
129
177
122
250
179
181
162
225
246
172
231
232
236
204
168
182
176
168
173
217
206
264
201
202
232
168
155
179
238
115
146
163
194
150
149
200
251
145
157
214
189
187
258
191
191
155
215
233
206
151
210
172
242
155
247
252
143
151
187
238
162
206
168
146
158
198
210
230
161
190
246
129
173
274
194
268
237
130
208
237
146
129
205
208
188
260
209
173
219
210
178
202
216
206
161
217
174
271
192
176
227
193
228
209
168
240
210
163
146
206
150
206
160
236
164
180
145
173
173
115
178
221
232
188
158
168
217
133
200
221
216
157
164
259
147
129
152
206
176
145
143
179
149
184
217
195
162
188
176
133
211
182
255
159
215
175
130
148
185
166
288
272
198
215
153
210
129
202
199
227
199
180
211
225
171
223
219
173
213
167
162
166
238
173
161
238
236
206
215
264
157
156
230
151
246
201
247
151
220
172
168
204
198
217
173
186
210
173
159
239
156
233
188
217
274
236
166
203
158
230
191
211
187
195
207
201
204
141
168
219
157
191
273
217
229
283
247
130
186
298
156
225
169
179
217
185
186
147
141
236
146
201
156
146
158
210
146
182
227
182
176
219
161
164
156
166
259
195
228
238
213
141
265
164
204
164
307
214
168
215
173
184
277
146
146
254
201
189
174
262
176
200
281
143
115
179
230
133
206
173
235
173
182
197
192
190
129
265
133
176
203
257
173
172
203
204
189
188
138
254
146
173
173
173
198
153
207
228
141
205
208
260
204
181
242
272
204
234
180
129
190
150
169
207
176
130
239
204
141
152
206
321
169
179
129
171
204
191
238
232
217
166
185
248
187
149
174
141
146
180
243
179
144
247
240
239
211
225
217
129
257
206
145
185
192
141
115
205
225
207
198
150
185
210
153
164
213
173
150
146
157
119
228
184
239
210
176
250
145
210
170
164
173
158
173
164
173
206
166
230
174
205
191
138
214
212
158
171
146
158
253
184
130
115
201
164
217
199
152
158
130
206
204
179
153
246
204
256
146
187
217
130
218
191
282
218
238
198
202
183
226
176
192
283
176
178
167
171
180
173
188
164
190
190
130
179
176
168
191
173
188
146
195
176
212
181
209
195
200
176
217
141
199
210
155
168
264
176
192
146
211
157
176
222
262
222
265
202
246
138
204
298
186
173
216
191
239
146
192
238
232
178
176
159
129
176
115
211
202
227
129
130
184
145
155
170
137
160
181
168
180
162
173
187
129
152
197
187
160
164
168
211
226
159
173
173
162
172
264
234
153
191
241
149
259
240
194
160
235
202
163
217
213
216
145
239
146
204
210
229
115
222
216
146
233
174
143
168
204
132
164
175
158
226
260
176
185
193
263
204
180
204
168
152
210
182
158
197
175
167
168
195
206
230
143
192
197
171
146
230
192
206
242
166
186
138
193
205
143
190
271
205
218
218
274
193
238
130
208
145
198
206
179
230
224
173
174
162
169
191
188
209
252
171
175
145
210
161
238
205
115
179
222
218
185
242
201
185
258
155
205
222
167
130
289
192
149
221
176
238
173
181
234
155
185
155
204
202
177
167
252
183
258
168
143
186
115
206
169
204
175
233
217
146
211
190
144
177
213
185
211
201
218
143
179
287
173
211
173
162
174
235
204
183
228
221
173
230
176
176
204
133
143
231
130
200
236
203
178
191
176
258
239
115
115
192
172
161
157
184
184
129
200
174
141
193
168
242
178
132
143
204
233
195
133
158
278
208
217
146
184
248
211
239
184
238
155
206
243
164
177
174
202
204
200
199
204
151
174
145
255
211
179
162
241
238
190
234
146
188
211
150
129
230
217
248
191
182
214
193
173
184
230
210
300
204
218
171
223
206
219
178
214
205
208
176
115
129
288
179
214
200
146
173
229
248
234
144
277
145
169
243
210
230
204
199
133
236
129
146
145
176
162
178
143
269
243
152
247
194
238
176
225
176
224
176
115
157
173
179
173
244
214
230
145
146
176
268
202
215
189
179
197
263
146
170
164
216
257
115
252
178
130
168
179
144
128
208
146
147
180
194
157
173
207
189
178
197
235
263
130
186
188
255
172
207
204
129
187
149
185
201
168
133
195
173
252
225
138
217
214
217
254
182
185
217
183
225
168
253
173
205
197
115
216
119
164
210
252
210
182
203
233
221
146
168
247
187
194
257
174
217
168
178
129
182
206
182
166
202
231
202
184
244
145
248
201
278
203
205
240
162
129
211
189
204
225
129
164
176
187
173
191
130
122
195
226
197
173
158
217
157
229
146
129
233
284
130
240
258
188
184
227
252
194
146
166
210
172
203
214
195
210
176
231
165
242
133
246
129
115
157
211
196
204
144
210
246
186
132
169
201
191
221
172
238
239
200
203
130
179
244
141
179
176
284
236
161
168
170
158
188
188
138
182
191
214
138
186
122
184
115
115
178
145
211
165
197
152
229
210
184
152
185
162
133
214
215
176
196
133
129
172
213
196
184
129
147
115
225
194
205
130
269
168
141
193
184
200
176
202
213
201
195
130
129
162
198
206
194
145
219
211
242
130
180
168
143
220
149
173
179
119
230
217
190
222
175
202
309
176
195
221
149
200
204
237
168
178
210
224
156
179
231
238
143
251
206
232
248
226
234
207
184
194
250
153
158
179
164
174
172
191
228
130
145
217
246
287
173
190
195
162
181
242
208
173
168
211
262
265
145
173
179
141
249
202
171
204
292
204
207
218
168
129
191
143
215
158
130
155
145
182
172
179
230
202
178
209
173
158
155
129
225
201
206
174
190
133
180
202
211
173
133
170
262
146
130
177
162
182
182
174
208
256
115
122
150
200
146
222
173
141
198
230
261
206
204
162
173
183
204
159
238
157
185
259
176
157
232
158
191
202
168
143
130
188
162
167
176
206
253
217
231
230
230
173
236
176
168
218
256
146
236
180
143
204
223
230
138
219
164
202
173
143
143
129
250
211
166
160
185
173
130
247
202
204
261
254
180
166
182
177
189
164
233
249
210
156
185
249
209
307
199
173
129
146
129
146
207
176
249
192
199
182
294
182
194
158
204
214
164
269
178
176
129
157
246
155
193
209
173
186
210
209
138
251
191
230
129
164
222
189
192
167
115
180
208
204
204
233
177
204
191
181
225
181
176
187
181
158
178
230
199
223
195
160
143
173
171
168
226
185
264
188
203
178
209
145
204
290
222
146
204
211
179
141
183
183
191
185
221
173
266
184
217
194
195
156
183
146
181
176
201
115
231
193
184
157
291
201
214
146
173
204
210
239
230
164
196
230
266
256
169
169
173
204
143
204
320
184
156
294
197
179
183
173
217
229
211
242
176
186
215
210
185
237
122
206
204
180
157
166
185
130
252
162
155
178
122
160
194
273
192
221
205
176
133
182
188
165
184
180
184
204
176
219
166
156
177
175
176
190
168
179
248
130
160
216
129
221
202
217
161
189
129
173
264
223
211
169
133
162
217
176
222
230
174
184
269
211
130
130
238
143
138
156
146
211
115
204
162
149
152
157
191
228
146
162
239
192
178
212
265
166
166
173
179
182
179
206
243
205
130
146
217
188
222
228
217
212
176
168
251
201
163
213
130
219
176
211
222
133
179
148
193
220
205
182
236
171
225
146
206
195
191
146
198
193
149
168
173
189
141
186
129
169
204
249
247
184
145
173
130
206
141
199
204
238
230
184
169
168
130
202
132
296
204
280
145
212
250
179
129
147
229
218
164
171
201
174
173
184
179
164
230
192
176
133
146
153
236
159
192
201
199
143
130
146
200
202
179
231
146
168
184
194
237
210
296
129
179
143
259
145
222
164
203
204
283
162
209
155
181
168
211
163
129
225
174
200
217
207
199
180
122
171
161
186
221
179
217
209
144
204
115
230
235
231
162
214
189
188
180
152
204
229
132
179
184
242
194
230
161
184
217
236
180
173
191
192
283
239
211
178
148
264
248
173
183
176
169
261
169
239
173
284
193
160
165
164
181
173
173
158
186
196
263
192
264
146
156
195
220
181
213
197
261
174
129
133
181
129
226
162
236
301
129
216
144
129
177
201
202
198
200
206
194
210
304
176
175
217
150
203
202
238
255
256
130
187
129
145
173
192
168
168
240
164
190
183
164
145
173
146
141
157
156
228
152
178
162
230
179
219
227
186
179
176
228
257
169
122
150
188
227
180
320
174
201
201
166
171
176
130
175
200
178
197
180
150
158
162
115
212
257
146
179
227
184
200
178
210
221
222
146
230
198
130
217
129
206
156
252
187
176
199
178
176
213
202
204
184
166
165
242
182
129
207
153
199
173
204
184
146
200
210
130
211
247
189
180
300
186
184
206
213
133
158
222
257
200
143
251
194
190
170
179
215
184
172
173
306
188
265
234
146
182
167
196
138
156
205
191
171
222
183
166
146
220
166
265
230
170
246
144
191
150
133
178
216
179
225
185
129
272
208
238
155
229
176
147
166
184
241
186
217
211
152
171
178
215
198
210
225
143
206
216
176
233
204
225
179
130
158
162
203
168
217
208
293
175
164
223
133
231
160
217
146
176
247
208
203
183
170
221
228
173
176
288
229
222
208
195
176
199
184
214
198
133
173
218
232
173
240
194
141
186
176
217
200
218
158
183
173
143
184
173
254
236
191
156
130
179
173
216
174
227
238
158
204
204
129
166
145
299
189
239
181
129
190
262
223
222
182
149
174
303
204
218
210
254
268
199
217
215
195
247
218
185
247
230
183
146
227
177
194
182
179
235
185
173
164
259
175
230
129
173
217
242
183
164
168
278
171
216
161
274
240
204
181
157
202
237
180
240
171
181
210
226
231
146
240
169
220
206
143
176
221
219
146
182
184
164
155
188
214
143
219
168
183
199
133
207
146
173
245
218
180
169
181
183
228
176
176
228
201
129
246
204
129
182
173
183
145
215
244
185
176
205
189
215
143
217
173
222
129
226
196
129
247
183
195
265
205
187
219
184
162
155
137
179
179
166
245
164
222
179
213
191
184
192
200
236
211
160
184
227
188
178
230
207
139
302
155
172
130
150
184
205
145
239
152
209
264
202
217
182
195
208
302
205
206
164
210
254
153
169
153
176
247
173
172
179
173
225
133
155
204
179
230
204
145
133
180
204
210
184
230
204
150
178
204
213
147
213
115
191
281
130
162
151
186
160
189
177
182
246
191
225
138
197
203
207
168
129
335
216
225
166
146
224
200
222
200
122
180
115
130
282
202
204
236
172
229
228
146
173
203
168
230
213
129
163
217
206
247
232
239
130
204
129
194
202
267
247
264
251
189
122
146
193
146
302
208
227
206
179
156
199
168
213
160
230
198
206
122
156
157
179
146
161
210
197
145
180
254
129
174
197
129
292
197
183
192
129
173
303
211
191
144
157
181
204
206
162
245
172
122
168
189
168
212
173
291
220
257
221
181
180
218
182
129
230
222
157
230
132
167
206
186
224
146
182
182
210
130
185
132
197
147
176
206
265
215
228
198
155
287
203
184
146
143
164
183
184
246
173
209
208
176
188
274
298
164
201
146
250
220
143
181
227
130
182
176
188
228
217
230
206
201
218
170
191
209
239
173
208
251
133
238
198
220
174
210
179
168
231
198
180
231
197
192
115
174
222
322
161
173
213
146
152
252
208
233
197
146
191
164
246
258
156
184
164
158
162
161
225
192
221
145
210
206
141
157
239
218
233
176
183
230
164
146
173
228
221
261
206
181
230
180
129
202
258
226
265
132
158
276
187
184
182
178
133
183
183
180
207
191
239
222
166
202
188
237
261
173
213
151
153
162
200
204
173
229
199
133
221
210
251
157
211
184
122
216
173
183
234
167
129
187
241
179
183
188
194
219
182
192
198
115
195
176
188
253
141
185
244
173
169
196
184
294
146
297
173
244
186
237
181
188
187
129
182
203
274
211
200
261
145
204
217
179
209
169
166
177
173
162
264
158
222
143
183
173
165
184
128
166
274
146
203
201
225
210
257
129
158
179
242
176
168
149
187
215
166
191
186
223
178
173
239
174
221
197
204
143
162
302
184
217
180
155
130
230
200
183
176
173
155
164
221
210
220
209
158
210
222
166
173
224
247
186
146
202
262
178
196
133
184
186
130
189
160
209
276
242
211
115
282
217
181
203
182
183
225
230
157
217
219
183
143
176
115
198
216
156
130
264
173
211
248
204
206
205
175
146
276
143
203
202
130
162
179
214
247
205
183
191
146
246
173
145
169
204
259
211
186
160
170
240
145
130
168
210
198
130
242
145
155
187
182
158
195
130
181
173
190
178
146
193
186
194
130
210
202
204
252
196
173
168
233
190
210
164
206
183
228
186
204
143
182
188
146
227
188
186
206
182
199
200
122
209
209
183
287
122
176
188
236
179
161
129
228
200
225
145
236
129
115
173
182
146
210
288
170
197
115
173
186
234
176
203
152
173
202
230
219
155
238
176
209
115
192
217
214
153
229
138
202
230
169
168
204
156
178
137
200
203
168
204
164
178
176
200
173
122
144
172
234
274
219
229
201
207
191
188
203
191
234
161
180
164
150
235
228
212
115
169
197
129
198
172
149
209
238
180
130
248
173
224
181
261
213
180
180
195
141
242
249
229
174
129
200
161
129
238
210
176
173
159
204
173
203
283
192
182
221
285
210
191
211
201
184
185
208
129
172
146
187
215
129
214
250
189
176
173
129
168
227
161
204
168
189
176
185
210
193
201
163
164
193
200
272
229
173
170
202
209
155
185
138
186
153
201
236
191
256
145
160
170
184
227
221
206
217
205
259
230
174
203
149
211
238
115
167
146
238
189
174
204
213
173
207
149
143
200
115
211
201
178
200
195
149
119
176
199
222
211
188
204
199
133
145
184
201
176
185
209
212
221
210
158
202
232
194
204
222
179
218
217
173
207
217
236
162
251
173
290
176
173
217
177
217
210
200
129
217
188
208
202
143
227
153
213
173
191
251
161
181
206
164
206
185
199
130
153
164
130
202
155
214
206
184
259
212
188
168
200
263
226
184
133
186
176
152
247
168
193
226
182
133
230
240
204
249
267
217
129
204
150
185
130
133
230
236
175
168
173
194
221
257
214
211
201
291
239
166
169
209
173
176
293
183
164
129
191
168
236
217
179
194
115
283
173
129
146
143
258
230
231
236
149
158
219
130
159
164
202
221
240
226
155
197
255
165
149
185
220
235
191
149
217
206
187
190
230
133
149
299
190
158
133
207
201
143
287
115
197
231
176
179
146
189
212
166
201
221
184
166
130
216
239
204
202
210
179
196
173
194
185
185
173
246
146
220
204
218
261
233
285
176
130
184
133
249
173
207
230
197
150
192
170
262
178
176
175
145
179
173
183
215
130
188
205
129
185
206
149
158
259
221
130
198
264
207
225
210
190
115
146
167
119
233
143
257
262
243
163
184
173
193
174
203
176
270
330
152
130
254
216
211
243
130
178
239
190
251
208
178
180
191
231
182
185
224
145
166
169
129
217
201
173
302
146
129
191
168
133
164
209
208
183
180
192
236
227
262
246
184
196
252
158
206
145
168
165
143
211
141
146
227
146
217
174
212
164
191
221
141
173
183
230
188
180
183
304
192
213
164
156
204
304
141
130
211
129
229
150
244
216
129
158
173
253
176
182
146
240
170
159
211
303
287
239
240
171
129
206
204
172
176
219
161
176
201
184
169
174
246
194
210
230
168
244
173
182
200
158
204
173
184
158
245
158
204
225
146
201
258
259
185
168
181
206
177
174
155
133
214
250
173
213
130
223
191
166
194
204
176
202
204
146
205
214
173
157
191
266
215
183
185
238
119
204
287
272
202
206
179
177
259
153
115
258
230
149
176
190
251
268
172
204
216
179
221
245
165
232
204
204
283
168
187
161
174
264
204
187
213
176
176
203
201
189
215
258
129
202
222
172
176
161
179
173
222
179
223
132
176
129
236
222
227
205
199
236
230
209
214
227
168
132
222
179
160
211
179
115
185
130
195
159
179
156
191
146
155
182
204
158
115
217
176
155
162
150
129
199
176
193
216
146
191
180
130
179
217
207
200
255
204
249
208
249
188
160
183
211
264
130
190
268
149
199
185
218
146
164
167
165
130
200
130
223
246
163
252
200
236
218
178
227
193
150
180
151
164
200
130
177
167
208
145
173
143
262
229
216
246
210
197
233
191
236
130
236
129
202
181
252
168
162
248
175
199
202
145
266
217
172
215
217
197
182
210
130
287
221
200
178
200
210
192
150
130
138
213
184
217
183
204
148
169
208
115
202
204
130
244
192
176
127
194
212
181
130
225
217
184
115
155
183
145
204
261
173
184
173
201
239
182
203
286
177
188
130
145
187
200
168
150
236
164
146
183
182
130
168
186
185
230
219
146
178
248
211
201
265
193
129
201
173
189
204
236
144
155
158
189
195
210
236
245
194
199
231
230
218
192
176
216
176
184
191
247
206
239
214
227
190
173
265
211
197
166
146
230
176
204
138
246
223
169
197
145
133
242
171
239
129
132
260
197
179
193
155
183
209
216
168
169
179
204
146
156
187
132
167
158
150
173
145
210
229
231
166
191
138
172
161
162
228
256
204
143
197
200
192
173
262
158
321
221
206
132
187
176
148
215
192
182
150
132
195
173
206
164
204
168
185
190
217
236
115
235
158
163
143
173
182
164
181
230
204
209
234
164
184
210
129
255
174
193
173
174
222
204
130
239
214
173
211
217
168
146
188
234
210
263
268
169
129
192
183
250
255
273
209
143
244
221
218
145
180
146
190
143
238
215
182
188
264
179
232
209
173
193
200
150
180
204
242
221
163
130
224
165
254
238
173
335
162
213
130
220
141
146
194
195
184
290
162
201
169
158
259
166
161
185
238
222
212
242
169
238
258
202
164
217
155
143
179
171
162
187
197
129
145
176
210
180
146
249
210
173
174
146
145
173
209
206
145
184
186
157
214
180
184
207
164
182
202
122
162
150
192
218
223
225
201
206
194
157
238
252
156
180
235
215
179
197
185
181
146
173
282
217
164
248
133
204
183
200
184
155
184
158
164
168
231
188
166
143
191
210
198
146
241
187
129
158
233
190
146
194
178
217
243
217
173
188
271
171
204
189
206
221
201
198
130
156
174
188
181
194
155
210
217
290
184
149
185
143
149
236
185
215
201
185
133
176
194
145
196
260
210
201
168
143
210
176
189
169
130
286
178
215
141
130
183
188
228
204
195
146
211
146
115
193
206
239
162
204
184
264
146
168
159
162
209
202
218
217
191
211
214
146
130
185
162
166
262
178
149
184
201
180
204
207
195
217
173
207
241
176
214
146
200
182
187
188
228
130
149
218
249
227
201
238
119
194
146
190
168
168
231
221
193
197
210
193
204
230
237
176
182
181
205
212
212
164
141
204
178
157
195
169
159
145
130
160
145
225
174
180
253
165
279
173
228
214
204
129
183
191
217
175
204
189
231
210
195
173
231
174
248
144
247
161
217
179
185
146
173
129
190
217
230
149
227
221
266
130
130
119
171
176
130
217
195
217
256
162
230
208
200
227
156
210
146
219
141
242
192
232
156
130
187
236
246
217
156
174
155
199
200
292
202
192
197
210
173
250
227
133
150
194
193
173
203
199
209
168
230
204
301
217
249
206
263
158
173
202
207
150
166
210
205
194
133
162
130
164
187
204
162
210
252
204
157
204
130
230
229
206
181
192
210
300
191
167
186
224
204
130
209
189
146
178
194
173
244
174
202
216
188
203
222
173
184
262
213
283
130
151
240
232
146
221
190
191
275
176
174
162
213
179
185
195
132
166
211
164
180
158
238
130
167
285
232
214
130
227
180
175
252
201
178
238
189
164
222
173
182
182
141
228
168
188
173
201
160
162
204
201
130
238
275
204
228
153
240
168
181
206
201
265
164
150
224
181
199
294
213
241
175
165
130
129
210
169
211
129
162
228
197
143
158
252
199
155
210
201
188
190
192
115
194
198
207
179
188
215
199
181
229
215
182
202
151
181
196
179
226
173
201
129
184
262
162
168
200
195
155
217
207
202
271
132
172
149
162
230
181
166
247
222
129
183
188
204
238
232
173
203
296
132
145
259
115
147
200
173
243
180
146
229
167
176
165
204
210
217
211
210
254
281
255
173
179
193
115
115
205
133
210
231
159
204
238
201
188
199
220
203
153
173
168
130
150
217
130
132
233
129
223
182
159
185
170
176
130
146
156
186
211
158
192
180
171
287
143
257
201
176
199
130
129
183
167
226
245
129
188
235
156
229
219
233
176
184
216
210
129
242
258
217
227
176
130
215
263
133
146
221
145
217
157
176
292
257
219
178
227
210
261
246
258
173
219
185
186
204
228
183
179
130
214
115
173
130
164
229
181
240
189
264
224
168
202
206
145
153
205
231
217
146
230
176
270
245
218
200
235
202
208
202
220
218
261
176
249
160
115
191
158
176
259
173
196
254
227
173
216
130
149
217
248
217
166
202
184
130
225
206
214
179
201
161
200
144
239
211
236
237
129
184
182
265
202
205
130
207
178
223
210
218
179
129
184
175
174
208
176
258
214
130
201
294
143
173
227
217
133
225
216
129
178
173
274
143
169
202
181
182
198
129
212
146
224
156
203
242
130
188
150
303
163
173
201
139
263
162
195
221
153
184
160
158
146
263
224
227
202
130
224
222
168
192
254
186
194
195
145
149
248
227
176
248
178
129
146
202
208
168
254
152
145
204
206
141
144
303
206
178
133
217
239
178
210
122
256
230
314
180
227
143
201
179
210
225
178
185
216
172
164
129
180
188
240
254
165
130
188
202
230
227
157
184
199
178
130
179
215
136
204
176
228
238
183
205
128
193
203
185
130
216
249
115
218
229
192
210
313
233
255
133
162
221
205
149
178
226
237
133
181
133
214
155
196
181
184
223
201
197
192
160
184
203
252
173
197
188
201
164
195
129
186
244
238
183
176
185
158
129
252
228
146
217
204
115
227
217
129
227
181
220
188
258
183
165
211
192
138
206
146
214
182
221
158
214
171
179
115
158
224
197
182
184
160
224
230
115
166
181
236
197
204
130
162
185
161
129
188
168
198
132
229
149
174
222
257
157
191
122
158
186
129
164
232
179
133
192
171
181
204
173
200
204
188
191
197
238
204
158
222
202
129
159
133
165
119
143
218
193
210
212
266
202
241
184
191
211
184
195
243
247
182
166
164
132
185
217
236
201
165
178
183
201
158
176
130
254
215
201
176
115
224
133
191
115
188
215
240
214
133
174
176
179
147
188
264
173
174
185
236
143
204
143
173
211
183
200
217
164
176
169
252
150
133
172
143
190
164
254
173
129
180
227
173
146
204
256
182
130
241
130
164
226
169
191
189
222
146
248
129
220
200
145
235
248
188
130
187
238
210
206
195
192
176
230
193
227
115
177
192
146
196
202
309
173
201
207
129
214
192
180
184
215
150
183
160
222
242
230
141
162
162
145
180
226
145
210
130
250
200
128
182
182
186
180
146
130
182
229
145
228
178
180
129
182
146
200
230
204
250
188
198
173
205
156
225
158
190
155
211
163
179
194
307
220
202
207
217
155
133
206
251
167
130
187
184
223
172
133
115
206
255
285
246
192
199
239
192
191
242
130
129
228
178
180
208
147
195
230
158
155
261
203
164
196
252
190
173
180
168
173
202
211
181
196
263
237
169
194
205
241
160
146
248
195
206
146
138
149
202
256
184
162
115
333
183
191
241
182
162
170
202
225
212
259
143
143
133
167
203
179
190
185
138
146
194
188
218
171
200
185
173
204
217
176
162
217
185
115
168
194
199
190
200
241
173
158
230
255
188
180
227
229
176
187
210
217
204
195
176
200
186
130
283
182
132
244
129
193
205
191
201
187
145
178
231
188
130
246
230
173
162
226
161
173
235
262
222
270
199
147
187
184
176
200
164
155
164
182
168
244
157
230
198
261
235
274
167
143
211
146
176
184
249
176
276
180
178
197
144
193
215
204
217
130
187
191
182
185
204
115
264
129
164
164
238
197
238
180
211
171
205
204
143
230
164
227
222
191
250
199
151
179
191
191
264
190
254
211
178
166
144
259
183
203
173
212
256
184
130
192
132
197
230
186
210
183
169
186
173
191
167
141
180
189
214
191
141
173
150
224
172
174
180
195
153
129
230
212
143
162
143
181
182
191
189
182
223
174
199
170
221
150
236
238
183
217
161
169
129
115
239
181
160
201
172
194
233
236
190
174
224
176
273
183
145
155
225
210
264
178
129
146
263
164
141
141
173
214
204
177
129
171
175
215
129
146
214
171
205
147
272
210
266
162
208
180
150
221
255
204
223
233
130
216
188
164
165
195
250
146
170
181
230
172
275
185
179
150
173
176
216
176
204
228
145
262
222
186
211
129
115
212
296
176
233
173
149
236
226
210
206
191
276
300
240
143
115
201
165
190
141
204
201
168
206
206
188
171
184
199
211
264
190
152
214
190
197
182
184
173
176
193
252
172
173
146
175
201
157
218
145
239
255
145
201
178
197
202
160
189
240
169
227
204
184
183
194
184
129
242
181
201
182
129
210
230
184
163
235
185
228
207
208
210
177
129
217
200
236
200
263
202
182
194
181
198
145
173
188
180
201
199
247
259
189
166
183
185
179
212
156
129
167
146
146
165
217
225
166
222
173
133
119
188
188
146
202
208
144
159
202
170
155
211
162
214
206
221
254
288
186
278
240
225
162
192
143
170
204
148
176
170
173
139
262
160
196
214
164
204
158
168
168
250
182
287
145
184
129
191
129
173
176
130
214
201
206
176
259
180
177
144
145
227
209
189
168
129
115
155
250
179
180
218
133
242
211
202
256
201
293
202
260
217
168
179
146
164
183
189
202
162
182
225
195
225
143
133
170
180
217
156
257
202
189
188
138
173
204
212
226
200
173
247
191
168
207
189
241
217
225
182
183
185
205
200
214
179
179
236
129
173
209
146
166
253
200
129
211
158
194
133
200
242
260
192
176
248
166
233
158
168
209
174
230
188
210
203
151
166
146
210
230
214
204
187
204
225
122
209
181
211
177
222
211
164
182
317
166
160
168
158
212
161
176
179
168
129
176
217
190
115
175
261
176
204
176
179
164
191
238
193
173
129
184
184
192
129
173
179
210
182
236
176
217
168
255
184
176
174
141
217
227
217
249
122
166
146
206
115
171
183
203
213
204
210
181
185
263
122
199
221
217
292
191
182
171
230
199
176
179
178
173
220
236
250
222
217
202
202
129
182
197
229
166
162
149
214
182
174
194
150
156
183
204
209
179
217
204
115
173
169
195
288
183
247
217
166
177
229
215
148
148
159
210
206
182
227
188
159
180
228
203
201
228
200
197
228
206
204
155
217
217
130
201
200
178
189
188
200
221
215
183
173
191
188
204
199
173
169
206
129
208
204
208
176
228
185
205
198
182
213
145
133
217
176
122
204
195
173
211
129
167
202
176
203
237
248
202
229
129
146
262
227
182
191
182
141
210
222
141
189
201
223
204
199
183
146
263
197
311
171
173
173
145
250
173
171
198
185
186
225
228
236
172
201
201
166
200
187
242
261
173
137
173
168
202
172
162
188
133
145
184
133
189
185
231
146
156
222
176
203
249
133
219
189
185
146
265
186
183
188
254
217
197
166
192
200
200
179
245
176
129
222
184
179
164
176
207
184
206
185
141
190
239
179
214
276
242
129
328
144
143
227
191
214
235
247
163
164
200
173
164
208
217
250
179
185
246
182
208
256
184
190
200
213
195
174
232
236
215
171
199
234
132
217
185
300
188
158
171
133
129
115
190
186
242
177
145
176
206
184
193
170
200
146
239
214
265
244
217
189
205
168
171
115
255
263
204
150
169
200
239
303
173
173
241
129
231
236
145
225
130
181
242
230
240
180
173
192
170
225
234
202
232
218
167
194
184
182
172
185
204
243
143
258
197
204
172
255
191
191
129
143
197
252
254
212
188
211
122
164
201
130
211
215
178
197
184
205
208
259
204
173
155
236
173
130
164
209
221
173
129
237
212
231
183
166
214
122
206
200
172
163
225
204
128
191
189
270
155
210
179
130
198
201
204
161
200
209
214
238
206
241
197
130
198
185
283
164
163
227
191
145
161
133
248
188
150
251
150
201
173
206
195
189
129
129
151
241
130
219
169
146
201
146
158
209
214
217
158
200
189
288
133
181
210
190
130
133
234
205
205
246
237
166
180
211
129
176
162
254
166
162
143
193
231
202
128
225
143
203
176
204
195
211
201
203
146
173
241
226
146
155
199
198
173
130
198
214
217
221
182
210
199
246
152
186
188
195
243
202
227
153
176
129
129
203
155
255
190
216
239
224
162
167
188
221
173
168
166
201
222
173
146
195
146
172
210
204
282
197
200
210
168
194
130
230
231
129
260
233
225
130
225
162
180
201
209
204
178
162
161
206
188
221
129
143
204
178
241
229
245
200
182
193
200
163
162
167
163
228
182
146
176
149
176
296
245
170
276
225
191
266
297
230
202
198
226
208
267
203
280
188
147
184
130
169
229
176
204
201
244
278
265
185
226
165
143
173
176
168
205
145
146
146
179
173
129
205
195
171
173
216
175
219
172
211
214
186
133
211
198
219
157
167
143
213
191
195
129
130
195
233
178
228
181
185
176
263
214
149
214
232
189
186
202
151
181
176
225
173
133
165
193
207
165
211
187
147
210
231
191
225
129
130
183
219
162
205
210
198
176
180
176
173
270
195
257
169
130
162
199
243
186
209
152
168
144
145
184
180
207
222
259
122
146
202
163
173
255
156
232
148
146
169
155
176
184
150
129
133
210
218
246
227
157
130
179
210
227
194
146
162
146
201
230
145
207
141
226
199
181
162
223
225
195
204
233
206
163
179
129
217
168
188
217
228
223
231
174
247
210
189
176
166
146
186
129
181
146
157
211
204
191
175
174
286
143
191
172
133
211
160
259
229
115
191
189
178
230
173
204
176
169
146
211
214
187
209
182
222
162
216
247
191
156
133
231
208
199
217
250
173
221
226
176
178
258
202
202
238
155
235
272
128
200
249
130
202
216
214
211
218
275
195
215
272
205
239
143
174
195
236
163
239
176
203
278
130
201
263
217
151
272
178
183
200
259
181
179
183
204
199
143
190
188
211
129
206
162
168
174
149
230
191
133
183
231
256
204
206
210
236
146
146
261
197
143
205
162
133
227
164
203
141
242
224
115
143
208
200
200
189
230
143
143
222
143
335
198
180
209
204
200
214
174
264
200
231
202
257
129
281
195
195
179
249
150
219
270
236
156
146
229
171
227
183
219
180
272
230
206
222
205
179
172
168
204
211
203
261
204
181
145
201
187
115
218
201
209
175
130
214
203
209
176
217
141
168
169
217
259
129
168
182
243
204
220
214
204
217
201
180
202
174
202
206
213
195
179
204
161
248
259
173
162
180
164
129
204
281
157
200
145
201
227
221
202
168
164
187
228
235
191
200
188
264
184
217
195
179
210
205
257
164
178
130
214
156
202
130
215
181
162
151
138
206
176
197
180
143
256
252
188
195
202
238
173
129
202
206
206
236
146
211
145
184
167
240
167
152
162
146
240
203
157
157
147
173
285
145
178
129
167
129
201
255
223
210
246
172
156
302
180
130
242
246
174
225
174
161
179
173
191
167
169
201
164
174
191
146
216
236
217
161
253
179
191
214
233
271
169
206
166
168
244
176
158
189
188
204
200
168
200
173
244
184
129
190
206
188
211
146
153
239
201
188
214
234
162
173
154
150
186
184
180
162
177
167
130
131
263
166
185
200
201
168
143
236
158
237
174
217
129
129
146
201
232
146
245
145
143
267
146
119
264
188
177
242
231
164
188
214
133
259
210
130
210
164
188
130
133
217
199
190
166
222
182
183
202
132
232
191
187
183
171
205
145
146
221
221
204
236
199
267
204
133
119
156
178
238
261
130
163
229
162
222
146
176
236
219
173
260
200
176
211
214
122
229
236
141
275
181
194
288
177
199
219
185
171
151
206
115
214
161
176
192
180
168
143
200
179
187
166
271
169
162
115
217
162
199
287
146
243
250
200
179
244
183
182
165
206
146
269
157
222
129
208
176
214
164
206
204
164
217
195
253
204
209
146
303
194
226
215
180
248
209
176
151
206
221
168
175
171
194
168
262
207
201
202
152
246
256
156
261
171
187
201
150
242
235
204
206
241
201
202
191
187
179
225
231
143
176
171
310
155
169
224
177
176
174
186
222
183
146
162
216
158
231
183
202
130
184
130
234
205
227
190
202
190
222
206
195
242
156
146
150
260
205
122
155
258
146
172
210
239
176
210
173
169
149
248
189
158
188
230
176
143
187
213
175
132
186
185
146
146
191
174
147
210
129
130
264
240
246
200
144
232
204
268
237
182
173
208
204
247
221
214
224
210
189
210
150
129
195
201
151
179
260
129
201
230
133
187
316
200
254
191
225
217
220
130
182
168
149
160
212
115
205
176
239
129
187
192
173
122
115
143
224
228
230
226
184
214
246
214
202
204
146
206
211
194
180
171
191
261
261
208
186
299
264
242
246
202
276
196
211
283
239
211
166
185
181
165
210
201
115
180
224
149
129
194
180
173
227
227
214
150
146
208
115
179
237
181
183
145
225
210
173
259
257
122
242
197
141
179
161
181
204
209
168
204
283
227
176
205
194
159
143
146
258
176
194
235
218
151
171
176
215
156
164
175
172
173
211
219
199
210
229
180
143
270
200
146
199
195
223
251
144
236
145
275
266
246
194
247
184
202
200
129
143
238
209
194
137
225
129
214
133
137
115
283
228
226
210
145
162
266
148
196
217
215
216
211
176
174
238
200
227
243
146
211
159
175
200
188
256
162
224
234
211
166
209
185
146
179
173
222
128
201
212
180
130
229
203
130
143
146
168
316
232
233
222
133
236
145
205
160
175
247
200
130
184
258
252
220
161
202
204
202
152
181
130
141
238
238
217
250
172
217
255
199
129
194
164
145
179
251
204
227
168
229
189
219
213
210
137
225
168
222
202
220
215
216
210
162
228
145
156
206
129
207
138
270
152
223
204
173
221
150
227
187
191
243
171
202
166
185
191
184
216
141
173
230
274
162
211
182
187
141
176
185
176
162
167
176
185
129
130
260
130
176
146
205
303
214
145
176
133
238
170
230
179
191
209
169
177
194
233
130
176
146
204
222
183
236
203
166
115
188
199
287
160
204
173
181
173
173
115
211
240
152
183
222
210
151
169
171
145
236
242
146
164
174
176
193
183
208
176
210
168
178
147
204
176
185
283
212
145
172
287
216
115
146
204
191
141
173
255
168
204
159
203
246
218
200
161
151
168
174
238
173
182
188
202
194
173
220
217
198
169
231
130
239
164
163
306
189
252
191
201
287
274
273
238
156
173
214
260
158
204
133
122
147
238
181
191
235
145
158
202
171
146
133
236
173
166
167
152
170
158
190
115
161
146
180
211
191
186
173
164
152
160
189
296
133
174
188
180
173
162
230
177
222
176
173
170
204
204
195
173
202
183
151
145
202
122
115
217
210
287
198
157
240
261
229
188
166
160
266
209
204
217
287
187
285
256
230
250
155
179
146
183
173
164
202
202
226
182
204
219
167
146
204
176
151
155
225
230
151
200
161
184
187
176
267
202
200
210
222
204
141
201
193
273
185
196
210
206
197
230
192
233
217
201
163
171
179
183
211
200
235
195
184
188
176
164
176
204
242
200
200
192
170
207
129
164
204
232
247
159
240
216
180
156
214
183
150
214
202
235
130
219
242
231
208
141
179
164
208
217
235
202
168
174
292
222
146
180
279
194
156
211
214
230
164
201
189
170
263
227
276
197
222
173
145
149
200
146
176
226
162
129
199
256
166
181
191
146
211
205
129
173
204
248
156
201
231
241
206
155
192
187
168
184
189
207
236
153
253
231
155
182
207
176
204
179
261
168
171
130
168
219
292
173
188
255
201
146
130
211
201
200
186
212
255
222
216
182
174
255
181
163
212
163
201
168
255
150
177
178
239
240
193
180
261
129
202
133
202
202
186
180
216
214
144
206
210
155
138
238
184
208
201
228
130
133
115
207
189
174
202
227
153
146
176
152
221
138
208
229
190
189
212
214
186
195
182
184
198
146
176
202
179
130
193
129
234
191
217
130
173
191
176
224
251
192
189
227
217
221
178
246
176
129
235
164
157
203
192
207
200
203
218
217
175
160
204
199
265
174
280
155
182
172
130
132
239
168
197
177
212
236
229
179
247
225
231
182
229
217
144
156
156
129
150
193
162
210
145
192
215
229
156
301
171
146
173
184
217
210
169
198
176
221
198
168
185
168
188
182
200
138
247
183
164
202
224
261
198
171
237
173
145
232
146
166
182
146
237
162
161
161
185
142
145
244
223
129
152
187
233
225
207
221
183
202
201
180
230
197
195
180
229
335
204
184
230
312
227
190
214
188
208
171
192
204
146
210
189
204
203
172
235
200
239
217
237
238
183
176
169
201
146
173
166
133
165
141
176
229
174
237
264
235
242
191
209
231
204
200
230
185
130
164
164
259
218
146
239
278
211
182
160
191
146
156
216
173
255
166
204
254
184
169
205
192
252
149
180
191
138
209
234
208
146
204
298
164
284
162
215
184
159
187
191
198
210
212
154
232
173
208
250
162
217
231
149
190
233
179
168
192
200
156
173
171
211
182
191
184
177
168
149
183
162
170
115
206
207
161
137
167
179
180
185
173
173
158
133
205
173
176
227
217
160
158
145
210
283
225
238
163
115
192
206
149
211
171
198
174
210
155
184
204
129
227
234
141
178
207
262
229
152
162
223
146
168
222
168
146
271
183
157
211
186
159
188
233
204
189
180
267
168
202
173
165
221
213
246
181
229
256
188
198
206
115
204
217
169
202
168
281
238
234
261
236
129
189
205
176
192
262
237
199
202
211
162
133
214
133
233
187
195
164
129
169
190
115
184
141
219
202
185
168
192
191
181
141
182
183
307
183
146
233
210
271
264
208
179
160
217
231
181
151
158
205
222
202
175
115
249
295
232
185
210
173
217
169
150
153
286
218
176
191
181
180
182
169
129
207
179
189
178
213
176
236
115
174
205
147
176
164
204
173
157
203
141
252
164
218
216
278
146
294
129
199
229
229
151
143
197
243
199
202
208
146
173
230
173
179
343
204
166
176
129
176
230
181
191
212
202
214
203
160
217
149
143
229
186
190
178
202
182
164
205
131
162
184
172
192
202
179
130
211
204
239
167
202
149
156
220
180
211
200
251
180
145
152
215
216
145
158
169
162
195
209
147
191
185
130
263
115
146
184
273
237
162
158
183
181
130
202
202
149
161
180
210
168
180
183
130
217
204
160
200
150
204
201
172
212
313
146
177
158
211
169
132
264
204
187
173
146
228
170
138
176
214
223
264
177
157
205
210
146
144
203
130
167
146
217
209
150
164
181
239
204
242
266
270
173
174
158
220
204
146
206
216
241
299
176
201
160
176
196
173
168
173
280
133
321
145
166
210
182
204
247
193
173
238
173
174
265
146
193
248
133
164
214
217
281
115
225
151
173
179
161
180
176
179
182
223
210
261
168
190
221
122
228
214
246
217
250
241
158
162
185
193
303
186
217
176
153
130
203
194
176
211
185
194
232
161
217
204
200
206
258
129
224
145
188
168
218
161
143
188
210
183
200
167
231
207
217
225
133
195
187
261
201
182
194
228
217
130
201
160
222
146
156
176
206
179
214
180
223
115
214
173
216
164
173
200
192
143
212
176
213
229
246
236
191
201
194
153
212
130
183
221
168
150
146
229
211
186
129
193
296
220
151
129
156
146
222
230
200
175
201
211
130
241
192
211
210
161
161
196
193
157
164
197
162
146
156
155
146
115
129
146
174
236
187
146
230
141
144
248
210
163
166
158
167
224
222
204
176
191
128
129
215
129
217
205
209
178
201
261
129
164
209
214
175
197
224
209
194
173
211
202
129
179
216
129
190
211
129
218
169
166
167
172
220
144
176
239
200
145
214
171
218
176
176
193
179
193
161
130
155
150
216
129
165
179
198
204
269
261
173
165
217
147
255
173
236
230
145
208
210
240
211
180
190
180
261
129
156
204
133
209
192
191
204
230
186
204
192
201
179
178
173
146
201
182
257
185
225
217
217
176
143
145
188
160
203
161
259
227
189
115
174
158
210
217
168
238
221
213
161
208
210
204
206
237
262
236
294
248
173
171
129
173
146
166
129
174
211
256
214
173
208
176
179
238
217
188
239
179
185
182
229
185
184
148
149
164
223
166
146
176
185
200
214
183
193
150
243
179
210
202
182
176
211
119
173
130
207
203
173
146
145
178
178
201
192
146
234
250
151
181
129
211
171
260
257
225
238
176
152
200
156
176
217
145
192
231
173
201
130
228
193
221
190
183
215
197
219
200
190
144
253
200
176
224
164
277
176
219
146
168
204
115
130
130
176
175
236
166
228
284
222
335
146
141
210
169
173
137
122
242
204
138
173
181
165
189
218
203
143
182
246
208
201
141
239
133
217
236
176
182
205
179
184
219
211
163
141
184
201
202
204
169
170
215
141
173
176
173
160
146
146
161
227
168
168
204
213
212
236
204
210
306
164
211
297
155
160
247
189
171
230
200
230
181
143
173
184
198
172
152
240
216
201
174
209
162
163
255
173
178
177
222
204
184
143
238
230
182
239
217
145
176
208
178
216
145
217
195
165
129
248
238
200
129
214
146
180
161
200
150
238
240
209
180
214
156
202
193
226
170
230
204
204
228
236
129
173
278
189
229
191
188
262
214
203
130
129
176
160
220
202
184
254
183
184
230
130
145
143
200
176
146
304
264
170
145
179
209
294
235
183
242
205
179
209
193
122
161
264
145
164
157
176
133
146
185
168
221
176
191
145
197
296
186
168
209
143
275
115
175
202
133
192
145
280
162
184
244
222
146
201
176
178
183
165
194
274
129
227
210
232
132
155
159
167
181
224
263
235
214
184
151
217
188
205
161
156
195
230
204
200
182
210
169
217
164
299
231
166
200
156
202
175
191
217
178
193
158
195
179
176
210
163
184
260
170
179
212
173
146
184
178
187
206
174
173
234
173
159
190
180
173
176
279
130
186
232
244
246
201
157
178
202
164
146
162
202
138
205
200
263
200
258
221
159
164
167
194
235
183
129
164
261
247
173
130
177
269
186
174
222
128
168
129
185
170
133
179
167
222
133
212
205
146
220
130
239
168
291
204
307
215
129
202
164
205
164
162
198
190
188
155
185
160
190
227
176
202
239
256
130
184
184
156
155
184
185
243
201
195
145
211
173
115
143
206
214
199
164
220
175
184
204
202
224
155
283
214
224
182
141
237
162
236
222
128
232
174
156
204
115
177
141
307
191
174
255
210
168
238
158
204
270
189
201
173
235
176
204
209
146
178
192
152
130
239
184
195
277
187
169
263
190
193
240
115
219
233
144
181
238
208
206
265
180
213
219
246
265
187
150
216
169
217
145
227
225
187
145
205
214
188
232
216
158
239
274
144
191
130
204
239
236
143
176
226
162
235
247
133
198
156
207
175
201
222
183
173
188
248
209
187
286
206
273
172
193
247
173
207
133
129
143
162
201
204
220
175
177
217
217
236
146
191
201
204
218
264
184
203
188
247
212
200
115
133
200
146
215
164
218
181
251
173
167
191
146
254
205
225
262
166
245
186
208
223
206
156
209
239
227
208
206
146
157
247
198
130
187
209
206
250
133
193
238
162
210
129
180
211
187
115
178
160
183
194
130
188
221
211
306
249
204
195
236
220
235
214
138
219
185
211
207
195
176
182
204
204
159
229
187
175
210
187
206
233
194
180
261
176
222
152
206
158
177
176
210
115
225
168
200
178
189
243
172
229
176
161
275
130
205
211
130
270
183
200
148
194
205
168
199
202
191
129
299
192
274
207
223
182
130
211
141
180
217
182
221
210
173
173
221
146
210
166
146
164
195
181
176
217
158
190
191
200
265
143
186
204
239
201
201
205
149
194
272
215
184
212
173
253
225
129
172
192
223
238
230
260
221
145
176
198
236
167
193
182
221
166
220
217
204
133
168
249
206
174
210
210
162
173
184
169
221
164
187
230
217
229
187
177
156
180
274
173
133
206
176
171
287
158
130
222
142
181
145
232
199
152
182
187
235
194
199
281
218
237
227
238
147
194
191
183
245
253
210
130
183
219
179
129
228
180
241
143
145
173
129
167
164
130
236
211
217
191
218
173
243
177
225
204
187
179
173
229
147
173
210
229
176
302
264
153
143
176
140
133
195
200
193
204
145
206
130
122
208
179
230
199
219
191
183
252
174
173
145
187
130
239
183
231
242
177
219
201
179
184
237
198
195
177
144
186
208
176
211
183
184
115
250
173
182
202
197
164
175
239
166
173
176
185
214
215
193
144
176
186
203
164
211
237
335
176
217
149
199
166
225
204
183
210
168
214
180
237
237
203
204
200
210
256
206
208
179
131
115
158
191
188
168
230
242
257
183
240
151
184
129
217
225
166
207
200
161
230
164
197
234
162
160
216
229
256
173
188
191
217
203
138
189
202
185
129
227
133
225
236
178
143
204
229
188
180
221
129
176
167
183
214
176
184
173
168
175
146
146
204
230
238
206
193
205
172
149
151
211
275
130
223
162
240
193
194
129
255
129
228
293
294
178
161
181
252
269
203
184
270
230
176
147
211
119
173
143
168
183
195
191
239
226
184
145
232
130
201
141
156
195
162
167
272
280
141
244
213
210
129
129
129
176
216
115
185
226
180
206
202
255
176
228
179
194
204
152
129
173
184
183
193
162
214
162
176
184
264
287
184
264
164
197
186
197
176
250
255
146
119
185
183
155
129
161
130
195
130
166
162
190
192
151
203
206
167
217
176
205
175
141
201
209
174
194
221
146
182
192
178
156
235
172
183
187
134
208
194
252
216
133
160
193
169
187
265
207
160
213
217
202
189
166
200
227
190
115
180
145
210
203
229
239
147
191
149
227
153
192
183
129
157
207
143
130
129
115
180
143
230
141
145
132
263
209
214
166
205
231
179
153
168
149
209
177
171
202
238
202
151
225
156
162
169
240
147
192
264
179
195
202
182
173
192
229
201
204
115
239
165
178
183
174
197
115
185
183
147
273
149
167
182
200
189
200
197
189
213
244
180
199
226
160
129
173
175
217
145
195
173
206
187
226
201
227
218
176
277
279
146
238
170
146
175
176
249
219
233
211
182
147
335
129
209
224
226
183
235
180
146
202
248
324
231
203
146
206
129
209
256
204
146
174
196
227
133
130
211
158
230
248
129
115
216
207
115
210
133
143
165
186
166
242
239
183
244
206
162
261
264
310
115
217
198
144
198
264
229
182
181
130
230
149
189
217
205
174
252
229
230
158
146
218
184
228
189
201
246
164
178
143
150
173
133
204
146
178
146
212
176
182
241
261
146
164
129
133
231
213
174
228
204
206
210
211
188
153
145
191
214
217
199
191
145
176
129
218
257
252
170
173
208
176
190
237
193
171
141
265
172
155
180
204
130
179
245
162
227
217
130
200
234
164
217
218
184
130
201
168
179
225
146
147
133
218
209
239
129
204
218
203
288
146
187
223
217
198
197
265
174
143
158
188
216
213
158
141
175
162
209
204
208
201
130
189
181
167
155
242
191
169
119
166
138
204
128
133
217
185
209
225
248
173
148
130
174
207
132
157
201
133
178
179
155
216
129
182
210
176
211
144
152
185
242
182
228
201
210
210
173
210
250
182
164
191
210
194
209
182
205
242
168
217
138
198
130
168
231
182
204
184
217
210
176
204
211
256
210
178
129
217
192
174
167
226
187
201
172
185
204
168
222
185
261
194
152
164
168
188
183
223
130
155
146
133
185
219
145
145
177
202
149
238
181
258
164
192
188
152
195
241
244
170
182
173
156
194
227
146
221
229
175
115
173
152
213
179
259
206
227
146
260
147
188
198
176
164
183
186
229
184
288
173
151
283
189
232
265
143
184
168
158
173
205
206
180
230
284
129
129
184
180
173
206
204
229
174
178
164
269
185
128
238
259
195
253
219
226
202
250
146
149
168
161
222
178
202
184
251
297
158
258
190
200
176
193
258
202
211
119
256
190
251
183
200
213
162
143
193
240
160
129
176
182
238
195
212
183
143
217
140
129
182
143
115
300
162
236
184
159
176
130
196
193
221
166
155
210
138
184
176
231
161
161
204
177
194
146
244
201
173
221
181
133
176
183
182
238
176
221
184
204
202
244
248
211
226
143
197
207
145
183
173
191
257
145
174
222
175
179
178
173
176
241
181
184
168
145
184
141
173
216
206
261
171
166
205
250
133
201
115
201
202
210
217
150
166
204
146
133
174
168
184
130
220
202
217
184
130
199
201
129
202
208
142
225
129
217
183
230
146
258
209
165
130
130
227
115
188
206
130
235
276
188
200
146
173
174
200
145
164
203
174
130
192
245
181
174
204
158
204
145
212
266
204
145
133
206
129
183
133
238
222
200
204
256
246
208
200
236
132
195
256
174
227
157
180
179
169
185
259
223
146
174
179
197
239
213
162
188
216
253
129
162
200
297
210
184
209
203
162
141
177
196
186
161
186
193
185
150
214
174
241
187
202
195
208
202
191
143
158
146
290
185
203
133
143
184
274
258
211
245
143
143
115
217
230
146
184
181
184
230
168
260
202
172
193
245
271
199
173
161
247
268
160
156
210
194
240
202
200
190
230
129
185
157
242
173
217
221
239
168
176
215
173
221
232
150
211
259
166
247
207
202
176
186
289
176
171
182
178
129
169
122
158
214
214
168
208
162
130
173
166
204
207
228
219
122
155
228
179
205
143
211
258
201
208
186
151
180
182
228
201
212
234
210
167
239
225
216
288
252
254
182
241
218
155
198
138
186
251
183
176
166
297
191
213
233
130
229
146
205
210
218
129
179
206
256
146
161
219
210
168
233
182
176
221
255
158
143
146
231
178
210
247
167
224
185
207
129
167
132
241
197
226
272
247
177
204
158
236
274
115
198
222
201
180
201
182
259
190
187
156
164
204
231
145
221
130
173
172
146
178
212
162
170
247
169
214
184
210
129
169
176
202
270
164
168
201
188
205
176
150
174
185
233
209
133
240
216
258
144
256
210
164
238
235
214
146
168
228
138
229
214
294
129
239
261
184
173
241
294
165
158
164
264
165
166
190
264
184
146
179
184
129
146
158
195
176
149
184
185
172
162
183
182
130
183
273
197
208
186
163
193
162
186
197
200
180
201
188
130
272
250
187
183
133
130
188
240
200
156
174
228
222
129
184
179
222
238
130
191
173
217
204
176
238
195
192
238
239
204
130
229
184
231
188
181
155
200
271
169
239
194
178
234
146
217
149
205
188
288
164
207
280
198
132
141
146
188
234
181
129
230
200
182
189
170
157
213
202
141
221
182
152
236
181
171
230
137
208
162
141
277
200
180
209
176
173
205
146
173
214
185
198
217
244
162
173
265
183
206
176
160
184
129
258
162
194
227
238
149
143
153
173
177
194
191
132
129
236
204
115
164
115
204
132
208
115
179
204
182
238
216
217
190
162
164
151
230
257
173
156
262
229
186
208
168
190
180
217
251
258
179
147
222
254
161
169
189
129
176
215
196
169
130
199
178
239
173
185
222
145
246
145
208
210
201
141
144
245
181
225
184
222
235
211
195
191
260
138
217
184
206
211
179
211
145
146
307
174
199
173
203
157
175
141
174
204
179
183
184
214
235
225
204
234
201
158
144
186
194
158
183
176
162
206
210
184
238
176
227
179
233
219
199
162
200
233
115
239
166
184
235
172
227
246
240
122
160
167
170
185
201
281
203
225
226
184
171
201
251
240
194
122
194
145
376
192
188
165
197
188
204
169
186
270
287
211
210
206
203
184
232
230
174
268
204
155
197
237
181
222
175
133
173
200
221
189
239
230
239
218
204
182
199
212
241
178
211
130
304
184
206
161
167
175
191
177
146
259
179
145
218
174
264
180
129
218
204
221
166
214
168
156
143
210
188
207
119
146
162
192
230
196
173
201
219
195
230
186
302
179
215
217
176
173
262
179
178
193
130
187
166
218
158
176
146
185
175
244
221
219
174
130
233
228
218
217
229
168
203
145
176
232
160
225
202
145
192
173
170
198
195
146
210
164
201
164
230
173
173
190
133
217
168
255
194
191
203
179
214
160
254
228
212
202
201
172
173
191
179
176
177
155
182
150
216
129
183
156
182
192
182
211
156
173
236
176
175
252
145
197
160
129
185
210
184
229
183
189
146
161
186
130
160
204
189
184
206
192
209
144
231
143
216
188
174
217
256
188
209
149
186
155
199
217
180
213
265
210
158
239
173
191
144
299
145
208
145
203
221
160
145
250
179
196
176
252
119
147
167
169
155
149
204
133
210
166
218
201
202
167
207
115
130
238
115
151
180
161
133
211
182
156
188
195
122
169
239
247
206
145
300
184
168
133
296
240
139
138
226
200
157
203
185
175
129
213
193
213
205
192
145
178
214
122
180
139
152
216
211
210
298
222
173
159
129
175
236
186
201
244
201
184
158
177
172
176
129
194
158
133
156
213
191
190
202
162
279
172
181
226
130
225
204
179
226
192
204
218
202
119
207
228
168
190
178
181
171
184
194
176
204
188
177
173
178
181
172
236
155
274
239
222
188
233
146
145
218
206
177
242
181
171
236
168
210
165
182
229
188
182
151
217
184
129
210
204
213
187
173
158
155
146
130
168
147
157
170
242
146
161
201
176
160
145
163
217
130
176
166
171
173
158
166
171
244
239
210
202
185
171
181
129
178
158
196
130
183
188
256
204
238
180
201
211
210
202
213
128
161
210
239
168
162
196
217
181
249
183
233
256
294
155
249
270
179
189
217
264
185
181
202
150
173
179
203
129
146
173
182
201
204
247
133
176
173
158
186
168
141
217
129
191
172
129
201
192
138
150
145
185
197
173
130
201
191
149
283
204
145
183
169
173
143
212
162
177
181
261
278
191
197
173
201
166
184
187
210
191
211
249
335
216
182
160
184
187
234
178
130
181
162
234
166
201
176
223
182
265
199
206
155
218
221
203
181
160
115
200
246
206
211
185
263
190
245
238
194
201
185
138
169
263
146
208
169
204
243
173
162
173
172
206
231
129
253
240
172
179
252
234
129
236
129
130
169
119
145
224
155
204
181
146
191
189
233
239
150
200
152
273
204
219
175
166
193
175
122
195
230
162
115
212
170
201
218
187
205
162
178
185
178
202
210
217
144
294
188
143
277
207
211
146
216
178
254
179
320
194
131
181
199
195
174
254
129
236
168
192
145
232
234
252
212
157
174
158
160
174
200
179
179
173
259
229
186
256
164
205
211
154
242
187
160
145
158
200
210
239
169
246
192
167
167
227
309
206
147
240
190
130
264
207
173
186
222
122
202
129
192
190
252
147
180
256
159
207
149
170
169
192
186
263
206
209
210
129
129
213
145
193
159
162
173
178
194
173
162
201
200
202
181
192
217
169
210
249
210
182
141
145
193
210
150
209
335
160
200
115
203
115
173
173
190
129
219
222
201
204
169
264
225
158
204
182
162
204
201
133
173
176
179
162
180
202
204
238
288
214
227
197
242
228
201
151
182
258
133
202
183
129
150
204
172
207
124
155
122
150
191
193
176
129
257
248
206
129
211
161
129
176
175
207
158
309
146
239
130
144
217
133
260
226
222
299
215
191
176
198
130
146
152
295
211
153
220
238
226
129
176
129
180
244
270
159
190
222
195
214
129
264
200
149
226
217
184
209
144
179
204
247
156
157
130
181
189
259
222
210
201
210
204
197
189
266
200
151
191
138
156
210
162
173
175
168
210
202
180
202
152
221
176
185
200
190
219
182
132
146
214
188
167
185
186
206
130
236
187
228
173
217
172
146
129
181
221
178
173
189
130
146
228
251
222
170
208
227
155
203
150
181
143
173
220
203
192
217
155
191
272
133
183
183
149
214
182
246
197
226
240
173
183
217
193
191
195
158
206
164
195
187
191
173
173
190
197
130
165
158
168
168
154
160
146
156
143
181
164
236
153
245
115
172
146
146
180
228
184
182
188
251
174
178
143
239
210
217
214
247
210
248
219
158
182
161
190
179
210
239
199
216
198
146
228
217
161
161
173
202
152
164
184
202
214
176
146
173
179
256
297
182
204
164
164
189
185
184
257
227
169
217
204
258
129
166
238
129
216
180
231
204
160
260
151
183
182
231
205
232
204
163
122
179
209
115
206
166
146
130
132
221
146
195
227
162
129
230
141
146
230
207
171
180
146
226
138
226
186
146
115
152
210
240
145
158
226
167
227
199
155
191
195
146
187
185
233
143
244
129
231
206
184
160
150
133
201
158
138
212
210
163
211
227
206
299
210
236
213
229
197
205
240
212
162
251
115
130
172
262
265
179
168
169
169
227
164
169
115
130
186
233
167
145
176
188
143
279
185
217
184
210
196
213
313
201
239
185
230
217
234
239
129
209
176
179
222
178
178
148
200
146
129
194
180
190
129
182
228
205
129
133
260
164
210
200
219
133
187
172
232
225
122
248
240
129
211
179
223
184
299
225
171
155
129
155
162
146
199
164
168
155
185
213
189
207
188
284
221
260
287
193
167
211
231
183
247
266
129
208
192
207
173
187
230
230
194
217
161
219
202
129
201
220
251
206
167
146
173
159
166
211
211
161
158
157
167
131
247
217
194
182
230
174
144
129
211
210
168
204
236
203
145
181
176
173
130
157
146
164
199
238
158
145
129
251
230
179
164
240
155
201
128
221
162
197
174
232
204
217
238
286
245
245
182
214
191
143
149
221
240
204
176
179
263
194
220
176
204
132
130
195
175
214
251
150
180
204
173
169
166
144
230
133
212
164
146
235
161
130
172
184
187
204
198
227
129
122
151
164
238
190
208
162
251
217
171
151
184
234
212
156
201
129
210
211
202
160
183
173
202
129
176
182
221
206
228
200
206
211
173
210
202
265
177
191
217
167
182
146
201
230
145
175
170
204
164
260
211
168
146
203
174
178
210
217
144
180
166
218
180
171
258
201
158
130
259
204
145
146
198
129
143
162
193
236
143
206
244
168
211
236
175
227
180
212
241
250
146
176
194
228
212
169
248
193
173
175
155
178
145
230
238
196
181
217
130
229
183
212
201
225
173
238
258
174
236
191
232
173
166
219
222
214
185
166
260
145
263
130
173
210
152
185
174
221
197
164
129
184
183
213
289
167
258
168
115
127
173
166
177
133
182
170
174
130
151
288
230
229
217
192
149
176
173
179
252
204
210
249
145
146
170
221
200
166
146
210
235
193
129
207
302
183
185
264
211
183
236
184
205
236
168
256
204
248
210
212
204
208
216
199
119
243
233
185
261
194
152
122
236
162
178
238
233
232
198
182
197
164
215
216
284
122
143
157
128
217
170
180
204
248
149
184
203
200
217
173
158
260
169
216
200
202
210
179
143
248
191
169
213
207
168
173
183
195
244
164
183
231
187
162
146
145
173
172
130
178
249
272
174
166
200
183
303
204
192
143
206
184
199
232
186
236
229
303
130
180
240
230
167
168
194
155
231
176
145
173
181
222
210
265
155
184
199
152
169
160
204
157
204
237
192
115
193
200
264
180
163
174
182
182
176
183
186
173
220
161
182
130
230
168
176
193
257
178
225
228
238
149
236
210
228
280
200
173
189
182
162
236
176
230
232
264
239
179
180
152
138
187
179
166
176
192
172
181
244
115
169
141
193
206
193
195
237
320
171
146
247
204
222
266
176
164
129
247
205
200
188
170
191
203
232
246
164
219
163
183
133
146
180
192
300
162
183
201
201
211
146
182
190
288
146
159
228
178
210
204
201
246
213
217
185
236
173
204
129
257
209
183
260
255
221
248
239
219
248
193
183
130
173
171
184
225
248
197
129
222
208
209
208
212
146
211
192
122
187
283
210
184
236
166
262
156
203
182
145
178
164
146
175
212
145
173
286
187
185
157
201
218
199
189
184
203
259
251
196
212
184
250
129
251
224
185
211
201
227
165
217
129
182
119
207
246
224
196
129
176
162
256
184
202
185
185
162
192
129
143
193
239
146
203
173
162
150
214
170
235
183
158
188
233
211
218
180
247
138
184
209
214
184
209
272
209
184
259
229
145
251
164
215
158
231
216
145
232
179
221
199
230
247
173
235
206
173
180
188
173
238
149
216
181
164
194
149
239
225
193
212
211
194
178
155
193
187
228
180
244
205
149
335
177
166
162
141
184
254
202
196
182
195
269
146
221
193
176
207
158
188
216
189
166
210
150
179
129
168
133
129
188
204
190
264
209
165
197
200
197
271
146
191
193
173
162
201
248
184
214
197
198
210
175
143
205
231
225
156
146
153
122
258
238
202
206
197
188
174
184
207
145
179
161
173
160
206
222
143
205
214
199
274
263
230
145
145
198
199
261
239
197
288
217
230
166
216
218
201
185
182
187
199
150
170
158
212
247
182
166
241
162
203
143
146
203
152
219
150
182
229
214
162
181
143
233
211
206
129
171
143
199
198
184
187
122
146
263
215
190
186
188
146
210
259
151
227
190
162
182
261
207
254
177
204
185
242
264
129
176
194
152
115
200
193
162
162
176
211
227
176
133
171
202
181
264
129
133
171
146
230
244
202
204
214
242
211
238
200
225
190
203
115
130
146
209
146
231
258
217
250
203
217
209
156
203
168
168
202
176
175
164
133
340
204
160
158
146
181
215
215
271
191
207
183
204
179
225
149
171
300
234
115
173
217
263
226
230
228
180
187
152
225
217
215
264
192
145
150
191
187
133
243
244
173
197
218
211
201
201
222
241
158
215
238
180
186
195
221
211
190
228
289
143
156
143
244
242
237
181
211
150
210
176
130
204
245
115
145
173
281
230
232
212
199
202
208
185
205
138
168
163
215
242
186
230
191
184
184
115
182
324
182
191
230
231
224
195
169
204
173
219
205
115
146
179
189
236
210
188
173
146
231
178
173
217
194
206
199
302
202
145
173
188
209
203
146
206
160
247
150
186
237
200
180
166
256
190
262
217
162
254
145
166
166
198
192
256
171
192
183
210
236
193
217
195
185
167
300
236
191
150
180
143
172
189
161
146
238
191
181
231
145
221
225
155
173
221
173
194
173
293
158
233
180
205
185
216
199
173
166
161
206
232
194
210
115
216
129
168
250
164
207
168
145
217
191
204
235
129
260
202
263
178
131
183
155
156
145
217
173
204
259
132
173
146
209
182
169
196
206
150
188
168
194
232
129
174
130
180
168
193
115
172
230
245
176
173
146
178
165
173
204
275
161
202
173
174
188
204
289
130
227
130
303
164
206
130
176
176
168
197
238
145
173
191
200
156
164
204
185
146
210
158
189
181
204
150
245
200
183
176
232
219
198
129
168
194
200
206
130
164
210
246
206
202
146
212
169
192
237
252
150
179
185
115
243
192
169
198
230
178
228
145
234
202
238
226
201
200
236
251
211
173
211
176
158
210
164
235
209
221
151
186
247
129
257
201
151
204
173
173
182
189
180
248
204
151
276
205
138
229
164
222
185
176
185
179
261
146
205
210
129
164
274
178
180
185
146
181
213
211
115
177
280
238
196
203
255
129
238
162
270
221
173
179
191
206
202
167
175
176
217
246
188
143
146
204
242
230
173
217
202
209
236
246
272
238
176
161
198
156
180
130
189
158
231
307
182
201
325
162
203
176
178
143
147
173
173
148
133
217
238
236
153
160
228
205
215
181
257
158
197
211
129
129
177
184
210
129
178
200
238
256
200
156
164
199
129
133
211
146
202
252
185
234
214
191
191
130
191
138
206
164
185
173
171
199
233
234
172
182
162
164
192
222
260
129
185
131
174
158
206
263
210
217
181
246
174
225
161
185
212
173
211
182
164
201
129
178
176
146
184
156
217
180
254
252
166
227
236
220
166
153
213
132
168
201
204
199
130
180
129
173
129
146
182
182
204
261
185
194
217
215
205
191
129
161
211
225
240
146
146
223
185
212
259
115
222
217
167
173
237
146
129
165
195
182
202
181
285
173
232
200
173
161
258
173
173
171
133
200
208
215
239
239
170
173
156
234
153
210
147
190
205
203
174
173
201
256
171
176
173
178
231
192
176
205
201
182
158
221
209
219
158
169
230
192
129
156
182
237
201
145
152
230
236
115
174
182
174
183
228
214
162
168
159
183
259
229
194
181
176
187
156
115
162
176
222
201
162
188
238
278
246
211
249
179
176
181
210
249
115
201
143
166
236
194
222
194
239
211
195
153
200
168
168
115
179
210
153
189
200
189
176
252
233
178
156
146
245
210
193
234
163
192
130
176
218
233
186
206
230
199
179
189
132
211
228
167
175
147
174
204
177
155
129
249
262
168
208
238
319
201
130
183
178
210
166
179
180
232
262
152
149
146
146
194
146
173
188
130
229
204
189
149
176
129
202
207
256
200
144
179
227
204
269
185
218
129
164
200
172
183
246
244
192
228
170
173
186
192
145
178
150
217
190
168
284
174
149
232
257
229
230
155
145
173
189
211
221
143
262
129
211
201
183
223
159
173
164
184
311
167
155
146
180
149
179
242
162
212
129
208
200
210
184
191
162
179
173
263
182
178
218
207
173
181
143
221
202
115
222
205
157
173
240
185
235
179
183
206
152
217
180
194
146
239
210
143
210
162
130
211
146
182
168
174
300
195
176
130
306
180
188
204
210
239
236
266
133
300
183
219
184
204
191
160
257
190
160
182
183
159
143
129
303
157
173
194
129
236
266
222
211
132
176
217
157
210
187
179
214
311
129
146
190
191
189
218
204
225
158
115
224
204
238
179
170
129
183
145
176
234
144
129
171
213
163
251
239
245
168
274
129
173
190
146
198
180
203
236
181
122
197
143
204
182
173
141
227
193
210
204
162
162
133
214
188
181
200
230
115
174
171
246
150
210
220
165
130
233
191
203
146
172
203
266
222
237
225
179
278
184
164
181
128
198
146
208
233
146
128
187
166
130
178
250
180
213
230
200
228
238
145
178
201
274
171
210
202
130
206
210
146
178
237
204
248
166
208
217
173
210
202
222
151
171
209
129
218
157
200
173
184
172
176
145
228
143
179
181
191
141
227
201
168
180
185
201
204
186
174
146
255
150
226
204
133
176
204
182
251
206
173
176
211
129
184
179
204
210
210
238
248
141
162
205
224
198
189
238
238
217
169
145
210
185
186
217
209
130
205
176
215
164
169
172
182
133
173
205
145
222
181
145
210
152
192
190
166
183
287
143
217
211
200
259
180
202
182
166
202
189
250
244
169
238
199
179
178
155
212
204
143
133
145
194
181
210
228
173
145
129
181
190
217
229
197
159
192
152
171
168
191
161
246
158
184
184
129
214
230
182
190
209
182
129
181
202
208
208
164
191
215
172
236
150
222
173
179
173
213
211
147
183
193
209
242
190
180
184
205
144
146
150
155
181
173
217
178
274
178
195
253
173
264
160
220
239
195
186
183
164
274
264
185
198
190
207
242
236
211
248
191
145
237
195
200
187
173
179
172
170
173
195
292
242
155
173
234
233
168
158
216
151
173
129
183
130
230
173
130
183
147
217
145
176
149
164
197
191
218
195
185
247
146
178
152
206
129
183
203
181
180
234
240
187
191
146
279
151
203
249
299
192
198
236
258
204
192
164
198
191
176
239
130
169
206
195
173
129
210
145
261
195
206
225
240
173
211
262
191
208
196
229
206
173
164
195
192
115
275
199
221
200
145
236
176
207
183
216
176
254
215
180
181
221
179
193
194
184
173
205
177
250
209
240
248
298
170
199
145
145
115
244
176
185
173
204
263
130
176
174
160
122
155
250
176
168
129
133
250
259
169
188
176
176
179
173
163
236
166
177
200
168
167
181
197
146
223
146
190
217
212
150
214
156
335
149
254
252
146
211
234
178
181
183
153
145
211
173
169
186
188
244
163
169
153
152
181
187
234
133
284
178
150
185
145
169
184
264
164
217
213
203
247
230
255
208
180
192
236
164
182
254
209
182
167
159
162
162
115
164
115
230
241
178
202
173
129
256
242
158
146
183
179
236
255
257
130
164
259
130
195
143
199
129
143
160
221
252
189
212
138
264
199
238
204
164
258
186
176
133
282
184
190
195
210
177
130
130
185
156
296
143
260
231
200
225
133
146
178
146
128
225
218
143
272
227
190
253
145
194
178
176
191
234
169
122
247
218
225
159
156
184
173
255
149
195
188
176
166
161
181
200
150
180
271
122
182
146
192
177
201
225
176
166
227
155
161
182
228
157
211
227
210
242
155
244
141
216
208
204
206
228
200
162
164
130
161
225
229
162
162
274
224
174
150
195
242
206
204
213
184
196
200
146
145
193
202
234
203
210
204
130
218
222
185
229
209
177
236
173
155
215
183
183
130
171
241
166
236
258
179
153
228
210
245
200
185
217
255
146
178
150
225
217
129
242
176
201
250
226
130
132
294
192
284
232
179
195
160
239
258
191
295
143
218
146
173
217
233
146
178
202
251
168
183
221
138
173
253
210
265
169
179
115
185
130
133
185
161
239
238
202
161
187
205
151
175
249
222
206
206
170
206
204
240
182
241
179
227
184
252
185
210
222
172
236
162
145
230
133
173
179
168
273
251
191
176
168
146
169
170
146
200
204
170
178
182
179
166
166
155
133
160
156
155
204
274
194
185
219
192
162
233
270
238
165
208
174
202
148
204
171
239
146
172
206
179
181
130
243
253
178
237
211
283
207
205
173
210
146
155
246
178
188
204
162
202
191
231
191
191
179
206
130
156
223
246
166
164
212
243
166
264
195
212
191
244
212
193
146
150
173
258
182
252
145
188
173
275
184
180
182
195
194
230
152
335
176
173
255
194
203
157
191
201
206
172
264
243
171
173
141
176
217
158
133
168
171
227
335
162
211
176
189
146
196
158
145
162
236
173
247
187
182
146
217
206
275
141
244
164
202
210
115
205
202
227
199
245
192
203
160
269
277
191
141
149
183
250
242
182
210
246
256
264
283
192
206
133
160
200
171
151
133
204
210
173
176
212
173
192
160
194
129
270
246
130
158
146
130
152
287
164
203
166
150
155
214
194
203
210
179
179
133
133
179
215
173
115
210
238
180
164
183
143
178
182
208
179
213
216
250
223
143
164
162
193
217
165
161
164
194
129
133
130
252
176
223
150
225
240
238
186
122
207
214
297
260
250
201
192
236
247
181
285
130
195
211
224
191
210
143
191
146
173
217
178
191
242
161
187
177
186
229
201
174
189
273
214
191
173
204
278
257
266
144
162
204
239
248
122
211
266
129
200
236
186
206
166
201
153
264
208
198
191
252
173
145
119
150
188
230
188
181
129
211
191
158
217
200
146
175
214
214
201
166
129
129
130
168
158
205
155
244
246
141
183
130
248
219
177
175
171
207
231
192
213
245
211
201
277
164
234
143
161
153
245
188
239
211
164
191
173
234
204
183
146
213
183
130
269
335
184
163
159
204
170
133
173
198
213
164
128
156
185
235
145
130
210
247
188
219
168
200
129
199
178
188
252
115
235
239
246
225
168
174
119
133
212
239
258
210
176
152
183
179
232
130
129
164
145
178
201
176
217
143
215
215
184
146
200
229
300
204
138
144
146
146
152
204
162
183
217
191
183
206
183
146
196
204
281
256
236
262
209
227
225
145
186
219
173
197
182
240
183
227
293
202
174
166
122
197
130
188
225
193
166
201
173
160
211
170
228
197
188
185
231
223
230
230
186
161
150
204
240
195
187
129
223
214
129
156
227
164
222
200
204
304
160
232
130
161
130
243
212
159
179
222
235
152
238
177
185
217
146
150
168
156
174
239
129
173
129
181
173
150
193
172
130
273
158
153
143
186
182
176
275
200
133
202
266
214
119
161
182
239
168
193
146
195
174
212
186
203
165
170
238
232
162
144
129
219
204
174
212
185
178
226
193
220
130
169
223
164
182
193
202
178
130
214
211
232
171
200
179
205
176
193
230
130
241
204
187
203
130
176
189
155
200
141
143
217
129
223
255
130
176
130
210
204
222
199
176
184
209
158
192
143
133
202
178
115
173
146
206
237
217
202
176
236
130
129
143
201
217
204
161
186
258
160
173
195
245
204
179
204
200
182
158
155
129
180
195
248
190
185
231
236
176
150
284
146
206
254
190
161
145
209
185
145
173
143
183
238
203
214
133
187
129
129
150
222
173
204
146
203
191
200
241
229
173
204
239
132
146
179
222
248
172
205
175
200
115
182
194
238
266
182
132
184
252
176
207
242
184
141
176
184
255
146
205
143
194
210
182
203
188
194
259
188
228
189
210
168
115
222
156
194
201
181
201
160
235
180
133
216
159
249
239
195
151
178
207
208
211
289
199
150
204
129
173
204
163
150
202
259
149
168
159
115
149
189
171
130
206
222
162
252
209
225
166
187
206
228
236
179
188
203
258
164
256
184
169
313
195
188
219
167
115
258
188
204
206
170
211
228
201
257
176
178
201
152
248
283
184
239
156
204
226
179
162
181
202
127
205
149
228
185
130
210
188
187
256
201
211
200
181
225
184
221
168
201
257
260
214
194
199
266
183
186
191
191
146
210
193
211
213
263
168
115
179
145
225
158
179
222
146
190
208
214
174
168
178
216
173
122
264
192
195
233
150
234
231
143
230
222
189
158
194
217
184
162
174
199
211
133
186
164
182
171
146
192
178
155
191
115
146
193
156
176
223
214
217
173
211
200
153
185
227
190
242
191
287
187
143
162
129
182
184
170
192
173
241
303
182
210
182
156
195
239
167
209
325
229
146
181
246
164
239
195
184
176
185
242
168
161
249
201
192
169
155
219
143
188
129
160
184
168
183
133
188
164
264
202
192
164
152
280
263
168
245
233
175
155
183
186
260
248
184
222
216
145
169
264
217
206
194
217
157
173
166
182
228
177
146
215
229
146
194
122
266
185
247
222
264
203
208
129
242
122
147
179
160
144
160
130
178
129
217
204
163
187
169
129
169
199
129
145
180
201
274
193
129
173
222
184
129
133
210
129
245
220
130
146
238
221
228
132
176
129
194
184
170
222
185
230
206
249
161
145
143
185
176
222
141
195
178
191
210
207
173
151
204
250
208
256
176
170
204
251
173
238
247
155
201
176
231
231
185
129
206
204
176
145
232
155
211
250
175
122
150
204
164
165
233
171
194
272
155
191
185
170
164
175
187
151
133
146
285
193
203
218
236
177
173
190
115
164
208
150
216
231
145
182
190
186
179
151
149
168
198
200
219
156
122
168
166
241
200
227
189
145
185
169
174
239
145
230
181
175
261
129
194
182
261
177
204
122
225
208
156
133
146
181
255
189
162
252
150
226
226
204
180
179
171
228
183
269
155
183
230
274
176
174
197
186
206
169
206
230
224
329
167
129
228
129
211
216
176
278
244
195
162
160
200
151
151
133
184
186
184
247
188
194
133
271
185
115
202
188
213
187
247
188
168
251
214
235
201
115
162
238
155
129
264
191
122
216
154
115
161
188
146
138
164
153
218
264
129
285
238
176
235
144
204
200
178
129
207
146
184
149
169
141
206
225
172
202
204
145
206
207
234
252
239
199
247
205
186
217
182
176
217
211
216
245
231
210
236
180
265
235
188
260
202
215
238
238
193
240
129
222
122
287
158
245
129
146
212
149
152
176
182
201
179
200
238
199
173
190
204
176
185
182
176
143
206
210
263
266
204
173
214
200
204
133
174
197
143
296
204
173
146
199
257
217
143
210
143
164
241
188
180
129
204
179
218
219
220
122
169
217
202
176
200
183
180
166
160
214
204
236
162
204
274
133
206
204
217
130
194
173
138
168
211
129
176
145
209
199
199
236
253
205
193
204
167
233
296
175
206
242
156
239
175
282
210
219
152
200
198
160
150
200
200
208
218
204
202
143
227
208
184
200
170
145
300
283
164
202
244
211
130
173
162
237
210
149
189
217
193
238
244
190
217
150
173
230
130
178
145
204
205
130
202
189
133
198
115
164
230
175
208
246
144
143
155
171
192
186
175
158
201
185
146
204
183
245
200
184
180
143
203
233
221
161
227
182
188
173
158
208
249
182
177
217
234
225
188
176
193
199
207
204
143
145
191
261
177
159
252
169
209
167
191
202
204
184
201
228
252
200
197
146
249
228
169
266
179
204
156
210
194
211
197
239
258
222
146
222
191
141
204
230
184
209
262
162
166
130
261
189
219
168
202
160
195
168
184
169
233
202
176
208
204
183
133
177
200
183
194
176
206
276
188
178
176
185
173
173
143
217
130
183
224
161
179
209
254
237
187
204
209
205
215
173
183
129
164
129
179
143
143
208
180
168
230
225
188
246
169
226
175
176
179
191
184
146
132
233
211
250
259
176
245
218
162
261
201
255
179
198
204
146
230
195
190
239
162
217
227
185
115
237
193
143
202
169
187
179
157
182
236
145
146
228
189
128
202
250
189
151
211
256
177
217
150
236
216
188
237
159
260
172
264
194
187
181
162
210
188
153
210
175
230
234
198
194
275
187
186
145
149
235
143
210
159
115
145
216
182
176
185
183
178
210
222
155
200
203
167
155
183
146
201
246
211
228
178
183
176
178
238
222
239
149
186
146
180
188
173
252
229
247
192
164
310
234
217
174
169
179
207
189
285
206
177
173
163
227
128
164
198
186
202
206
216
164
161
146
157
129
215
182
201
185
162
129
173
251
130
196
196
129
178
276
193
236
229
219
162
235
236
210
236
231
207
184
176
206
213
217
176
176
200
179
204
156
173
204
201
189
183
200
173
172
150
171
173
218
162
217
239
179
202
159
167
206
179
179
186
204
198
263
179
210
172
247
217
184
262
191
211
213
173
130
152
197
174
225
161
173
175
255
166
264
197
185
238
246
202
176
222
237
207
164
185
182
130
146
176
184
164
146
214
129
141
129
248
195
206
178
283
192
197
219
158
144
217
162
158
194
166
191
202
205
209
173
227
195
257
133
227
203
236
175
130
199
266
169
149
203
179
238
239
209
169
210
261
146
206
171
173
254
149
182
129
207
211
173
133
190
183
203
183
239
217
250
129
264
186
180
181
261
206
133
176
174
264
199
162
164
236
206
130
173
162
302
247
162
293
194
172
183
201
176
204
266
206
216
129
255
211
254
206
264
216
182
273
267
215
188
166
204
204
165
274
190
162
217
129
161
214
201
217
201
246
115
190
167
201
212
230
183
204
163
162
227
234
159
272
164
250
162
261
147
173
168
288
164
204
146
128
130
187
217
185
174
207
183
163
234
185
130
182
174
182
184
153
141
161
169
171
130
172
132
149
145
115
176
227
185
189
173
164
211
145
226
180
226
210
204
179
204
209
183
211
236
184
138
214
150
176
229
210
162
179
214
294
211
168
208
207
241
227
218
198
198
177
115
143
193
146
173
168
179
143
162
239
188
243
239
133
178
224
146
216
115
168
224
129
211
160
255
171
192
180
200
188
129
146
188
183
199
214
218
168
211
204
143
183
206
247
176
173
206
223
146
183
226
194
168
244
180
192
216
146
219
176
172
181
187
160
145
230
211
175
178
129
251
129
175
187
176
229
228
241
180
199
191
173
221
150
176
313
181
161
151
132
130
227
217
143
145
176
186
230
176
256
186
260
204
173
180
193
173
256
145
211
168
180
181
214
204
158
228
158
187
257
327
209
199
307
208
182
138
144
180
176
253
173
190
181
281
210
200
258
182
156
246
119
145
203
173
204
190
212
296
190
204
203
238
178
238
235
176
143
201
228
202
141
182
194
193
220
141
223
239
254
212
210
210
246
277
131
229
253
173
228
204
233
166
246
206
133
233
145
225
217
212
210
162
193
164
156
199
200
231
129
190
177
217
268
164
198
141
187
169
297
203
228
160
188
211
203
182
222
231
195
187
240
238
186
184
274
263
169
210
164
180
180
181
191
173
209
214
173
166
182
158
129
202
155
222
203
143
152
185
166
162
238
130
173
194
238
201
197
176
157
270
155
203
184
202
204
178
129
217
173
130
166
129
192
146
150
272
222
200
146
210
239
174
184
143
186
210
162
168
161
130
119
184
184
146
335
172
130
175
193
182
168
158
175
213
143
255
184
201
211
209
196
265
169
190
143
115
178
201
196
153
172
206
168
211
210
141
184
130
220
190
145
185
242
236
211
281
191
229
192
164
206
227
214
193
219
203
212
201
254
229
199
227
252
247
238
244
217
168
146
176
160
204
165
212
182
247
238
154
230
211
210
183
209
230
158
166
221
157
171
115
241
195
251
191
176
198
235
161
206
144
205
191
238
264
222
129
171
180
191
130
197
211
158
187
226
220
191
168
256
238
250
156
146
146
129
213
225
129
173
203
158
168
130
155
150
259
240
182
232
179
130
143
168
146
213
188
211
235
178
216
169
176
172
185
195
176
243
236
164
217
162
156
180
173
156
191
133
177
239
225
204
217
243
146
242
129
150
145
132
137
246
129
195
228
255
146
227
199
152
188
130
229
166
268
224
241
183
143
216
176
201
162
115
254
202
115
264
183
133
239
207
214
115
233
179
192
115
210
171
181
239
218
179
206
182
146
200
212
239
227
167
204
230
160
243
156
238
146
175
214
183
218
201
173
180
130
236
190
187
250
183
115
181
188
171
204
146
133
170
150
260
115
180
162
182
180
203
188
235
144
197
211
192
184
183
189
210
186
225
162
179
129
178
189
198
214
214
162
198
170
221
176
203
156
119
172
137
122
210
182
233
172
145
146
214
174
185
206
216
201
190
171
182
188
272
171
149
190
204
258
183
208
146
164
197
204
129
246
217
194
267
198
270
170
130
210
174
183
150
194
221
173
130
193
183
133
201
229
202
129
246
149
152
193
237
182
239
180
151
158
143
292
172
129
180
156
183
178
223
203
212
335
217
253
216
234
180
223
162
169
175
209
159
162
214
262
166
129
210
174
201
185
239
224
273
132
178
174
170
179
174
206
238
192
235
270
221
162
166
146
196
214
239
212
187
169
248
202
217
216
130
185
302
130
206
225
141
164
191
164
176
133
182
176
255
170
200
201
174
157
166
237
184
217
193
214
170
190
274
180
243
210
197
201
174
177
202
173
194
265
150
176
194
164
158
194
143
179
195
202
214
146
130
168
200
278
230
213
185
241
179
146
204
133
230
130
185
179
157
146
129
173
237
262
115
190
215
173
251
291
214
247
156
237
258
176
149
166
184
174
162
260
150
208
204
222
186
147
172
261
190
212
206
218
173
231
169
258
242
166
209
202
169
213
179
170
147
201
176
194
209
168
133
199
217
146
227
208
188
174
145
235
181
211
249
168
200
205
130
182
146
189
191
146
189
215
188
179
133
183
141
173
218
237
145
230
234
173
174
180
217
180
186
259
257
188
173
191
246
161
143
246
206
129
133
146
176
210
174
146
160
189
130
181
174
218
168
188
173
149
195
179
201
162
194
236
176
207
195
203
158
185
165
217
133
229
122
214
189
165
199
128
176
204
221
151
176
208
191
167
176
130
234
139
246
184
202
198
150
158
225
146
204
182
178
174
191
145
200
211
148
237
217
197
154
164
155
171
187
230
162
180
216
168
201
198
200
173
255
195
170
232
169
244
152
162
153
222
202
173
164
202
130
211
146
205
175
211
167
244
224
275
203
293
237
166
129
168
164
184
196
162
129
186
183
228
211
206
225
173
208
218
209
168
146
219
195
173
179
228
160
236
201
208
203
210
178
254
154
130
185
230
240
212
202
179
146
180
190
258
156
218
193
200
143
201
230
268
133
200
168
159
216
129
223
217
198
209
234
131
205
188
149
201
221
176
141
172
171
239
184
182
154
210
181
217
164
158
130
203
166
217
229
182
129
260
217
175
255
190
180
182
122
245
233
175
225
179
212
239
146
217
213
204
209
155
146
230
218
191
177
149
221
195
184
150
172
217
162
176
201
178
173
265
129
170
194
291
172
256
245
204
173
187
201
191
231
177
162
167
161
211
204
203
172
178
131
173
197
173
230
158
143
200
222
194
222
178
187
183
246
143
176
178
157
236
184
146
240
206
185
246
227
219
214
187
171
225
158
115
254
159
129
216
145
191
230
164
129
203
273
258
129
152
264
162
253
204
171
179
195
216
192
180
206
206
230
211
244
210
133
129
173
231
275
211
210
277
207
201
200
156
236
185
246
180
115
216
168
172
197
160
233
184
220
195
189
193
173
217
157
269
243
164
146
203
239
184
147
176
115
176
174
162
201
226
244
220
160
227
201
115
167
133
164
238
199
181
240
233
153
224
173
231
211
199
164
217
162
156
129
168
224
179
191
208
195
176
288
150
221
211
175
130
204
169
197
242
209
133
225
200
226
176
185
201
164
189
185
189
184
146
222
146
224
194
177
182
146
198
222
158
176
130
176
193
244
272
161
221
160
194
303
222
176
283
181
199
225
185
164
129
227
175
217
231
162
184
203
182
168
232
197
143
289
133
217
238
173
183
197
204
168
294
210
247
265
262
211
204
170
230
172
182
222
217
166
183
205
122
167
197
164
129
188
151
130
130
129
210
170
184
158
240
176
217
218
203
164
226
204
189
181
172
165
143
152
202
250
146
211
211
204
201
175
204
222
214
166
232
182
206
203
187
201
191
176
237
162
173
193
130
229
202
210
173
178
191
236
174
179
167
171
200
210
237
171
193
222
130
237
253
206
193
211
262
225
166
190
233
194
173
228
204
130
159
218
202
129
227
204
258
214
236
247
162
149
186
168
133
167
185
176
146
230
241
208
233
151
146
187
176
180
176
186
146
146
210
176
155
187
129
264
218
162
187
185
167
173
183
221
230
192
179
244
222
202
184
178
141
195
160
206
192
160
204
265
141
261
173
211
212
161
210
206
200
169
157
189
205
274
203
264
240
181
138
194
185
166
177
169
205
149
158
192
179
236
200
239
171
191
178
162
169
155
244
201
182
185
204
149
179
193
219
212
222
161
170
211
239
189
245
158
185
217
186
205
196
246
192
187
237
192
204
176
146
150
115
189
222
173
179
208
184
181
203
237
194
199
146
228
204
130
180
205
236
204
146
156
263
183
239
129
241
233
190
192
176
249
204
133
220
119
238
146
173
157
168
197
200
144
183
210
200
232
214
267
176
182
160
129
247
170
219
242
192
227
234
179
191
180
242
207
216
248
183
190
146
181
141
216
170
225
207
198
172
181
230
146
194
129
220
201
122
190
115
217
176
207
156
194
228
162
211
145
207
174
184
196
176
143
205
165
248
146
282
184
173
251
235
261
146
217
229
127
141
202
200
175
160
201
196
217
173
146
228
245
156
215
204
173
145
152
235
168
218
181
256
196
179
191
189
146
238
129
147
191
265
223
184
217
222
230
158
146
181
214
145
146
173
173
133
141
167
295
202
149
147
166
210
210
261
130
222
162
216
188
217
179
173
185
185
168
161
164
227
223
189
143
204
299
175
146
245
244
171
204
209
179
283
178
130
201
162
217
177
195
150
186
190
129
213
188
129
130
245
151
255
231
151
196
147
176
129
173
235
264
200
178
180
159
227
182
164
188
129
155
173
169
169
152
204
243
249
226
169
180
269
210
130
211
149
162
240
183
221
202
191
214
176
185
178
296
164
145
230
158
274
213
180
201
199
184
122
264
256
178
203
161
157
277
235
196
217
214
247
130
197
183
251
191
186
226
210
185
130
216
237
201
183
259
133
237
223
206
128
197
191
166
192
218
185
169
193
204
230
241
180
262
201
217
179
161
176
231
210
199
191
184
187
224
246
158
162
210
196
235
115
160
192
239
194
145
208
193
157
210
148
177
202
194
201
129
206
274
259
201
173
225
188
208
197
168
144
204
115
198
178
184
201
177
283
217
181
176
171
155
237
191
176
146
191
146
129
162
269
177
239
202
234
186
129
202
146
257
189
145
259
159
115
170
173
176
198
160
157
191
183
129
210
209
146
190
231
130
176
203
252
222
255
204
169
264
236
179
199
129
203
204
214
211
200
184
146
173
186
128
169
146
174
176
205
242
161
206
129
173
200
225
162
194
218
143
145
236
231
244
167
197
164
119
191
181
217
146
210
210
202
202
265
147
223
130
224
166
168
211
179
183
178
248
199
129
158
185
230
287
260
173
216
149
229
176
224
158
129
183
173
138
130
129
173
148
200
164
221
180
214
166
130
254
176
262
146
249
175
159
130
133
210
263
170
183
133
217
176
189
217
267
188
253
197
181
146
211
206
251
188
201
249
204
166
133
298
160
212
129
210
178
230
248
269
129
247
180
181
188
172
201
210
145
129
155
200
155
213
130
213
169
130
173
143
159
184
176
130
210
196
173
181
130
237
165
139
129
186
260
242
280
179
252
173
191
191
130
180
228
176
205
173
199
264
176
230
195
184
249
190
115
212
205
230
205
230
129
141
195
208
199
221
173
213
185
234
169
226
171
130
210
153
195
204
260
129
132
145
207
204
176
194
169
257
255
189
192
273
186
173
210
162
129
216
133
133
230
178
146
210
285
232
173
185
157
145
181
130
335
169
231
275
146
161
232
129
146
208
173
143
184
171
179
220
191
236
194
188
273
168
213
246
199
174
187
223
164
115
316
173
228
207
202
197
129
261
211
200
183
222
165
217
190
261
213
259
173
210
146
210
173
185
145
166
174
203
177
230
255
185
176
184
130
239
195
178
251
166
204
146
260
164
217
221
228
264
146
169
155
209
175
182
129
211
176
201
222
204
176
162
210
245
176
157
211
162
252
202
202
146
171
115
185
193
230
212
146
206
241
199
240
173
263
179
176
209
240
204
173
162
130
205
162
164
166
173
171
168
186
264
146
197
133
129
259
173
166
257
209
162
197
205
228
162
149
146
129
202
204
158
198
173
182
310
161
172
272
150
133
157
179
166
161
146
147
218
205
212
286
146
119
207
218
201
152
225
215
173
232
197
261
164
208
168
191
206
176
180
268
219
211
173
192
176
217
162
168
267
146
179
183
208
173
130
173
194
205
231
130
201
188
199
128
201
230
178
122
225
204
183
236
240
178
173
162
204
236
162
229
179
231
164
215
143
176
257
133
152
236
207
155
159
190
201
169
209
217
264
153
226
189
247
273
219
161
143
133
210
191
173
213
250
197
204
213
174
187
183
264
176
206
230
168
265
243
204
179
204
183
202
191
146
210
193
179
229
207
204
217
129
162
205
150
122
234
153
183
215
130
202
233
202
192
204
238
155
161
146
191
221
221
182
146
181
183
174
206
193
217
182
216
130
162
188
256
286
133
213
176
217
222
191
193
184
208
243
178
241
201
217
176
146
194
184
146
188
256
171
202
190
152
204
194
164
242
164
177
239
160
244
254
234
171
211
216
204
216
173
204
247
141
208
115
226
133
202
181
145
193
215
160
246
228
151
274
240
210
168
229
225
162
158
182
176
176
231
280
205
146
200
203
149
258
162
225
180
190
187
133
190
240
174
210
156
257
176
268
155
199
181
129
227
193
171
217
200
155
204
237
182
197
188
195
225
173
176
172
204
263
153
146
150
254
193
248
130
129
173
129
162
194
180
162
166
176
161
184
160
184
294
156
201
217
143
226
221
115
166
130
200
219
146
173
183
153
174
201
191
146
173
155
270
234
204
184
218
201
167
176
166
210
268
194
156
173
180
190
192
215
214
239
157
209
248
151
200
143
181
146
296
190
265
211
184
184
122
185
141
149
146
172
151
191
246
252
164
184
236
182
275
266
285
210
183
204
193
179
206
158
166
264
192
204
133
191
236
190
158
175
209
214
208
186
200
133
206
230
190
190
190
166
129
209
132
144
149
288
225
156
236
173
164
206
185
207
217
246
227
184
260
173
192
166
175
199
180
188
245
183
208
174
206
202
253
164
143
173
152
196
191
176
162
229
229
227
217
224
233
191
122
201
226
132
174
205
183
179
201
214
176
184
138
169
211
204
143
182
130
133
159
196
192
197
182
180
231
259
217
138
188
204
239
263
164
155
190
190
188
227
190
202
203
230
227
133
169
207
201
129
182
199
197
145
224
221
236
191
129
212
176
209
234
183
184
186
129
186
178
285
168
183
133
211
184
169
213
210
212
171
239
211
299
194
128
255
250
240
230
184
282
229
178
156
270
143
247
193
239
210
147
269
162
122
173
185
210
129
129
129
174
214
226
197
161
247
185
130
221
240
204
231
170
209
162
238
158
176
179
182
185
146
210
237
129
263
130
184
130
159
226
182
144
175
162
173
166
185
191
162
263
200
211
204
146
216
187
143
264
162
223
209
261
176
190
235
209
192
239
218
129
237
122
214
212
200
217
256
130
146
175
166
182
256
129
211
274
173
240
170
129
145
192
176
206
232
164
191
146
243
179
168
211
146
158
162
169
258
210
215
230
133
198
146
180
129
209
178
230
214
160
209
227
182
163
171
260
186
153
173
165
138
173
173
182
200
197
218
228
215
191
129
197
191
162
146
130
192
209
223
203
151
133
176
145
211
198
161
182
171
155
244
217
188
241
181
173
205
186
261
164
132
200
206
181
205
176
133
254
179
179
153
179
209
149
176
184
295
201
164
173
190
157
217
289
173
213
166
130
173
237
241
189
189
250
210
261
160
201
168
162
225
176
191
191
203
184
202
146
191
133
180
217
170
254
177
216
185
144
171
169
207
173
133
119
186
204
232
173
255
244
143
236
115
259
210
130
210
150
164
193
273
217
158
210
140
195
150
188
129
176
184
143
190
217
176
201
170
176
225
151
241
172
267
300
236
225
214
258
192
211
208
141
200
191
225
184
155
211
253
164
173
247
192
173
201
217
175
193
149
211
183
276
168
203
159
179
198
186
150
207
289
180
201
193
186
197
255
202
210
157
257
169
205
246
150
185
195
187
203
224
283
180
184
213
173
201
214
240
204
192
169
248
204
230
210
178
173
183
162
204
209
162
236
217
218
252
184
204
211
130
156
176
191
130
129
172
173
189
238
185
204
217
207
173
166
168
176
170
130
137
122
210
245
191
203
141
200
300
184
252
145
162
203
204
215
133
164
180
164
221
193
185
289
146
185
143
209
216
272
238
162
189
239
179
176
145
234
149
198
191
158
159
180
185
206
250
168
193
247
259
179
210
133
218
230
220
217
247
141
133
200
179
206
176
227
176
184
225
192
214
173
173
173
239
182
236
214
157
146
201
261
184
129
225
146
237
232
187
202
239
179
200
164
162
205
230
160
264
256
211
182
186
227
173
209
222
211
201
266
221
215
272
280
187
226
170
129
204
251
182
210
180
189
129
143
162
182
200
162
130
163
218
221
250
201
210
313
204
146
211
133
204
201
205
194
213
169
199
130
188
225
204
133
129
173
160
178
204
201
115
155
182
205
130
235
203
207
176
178
192
210
204
130
146
197
178
170
179
252
192
222
222
198
228
178
164
161
115
152
146
173
122
231
255
156
131
168
213
195
183
263
181
226
214
149
238
179
177
256
255
216
162
161
205
238
150
176
241
155
152
221
216
173
130
256
227
158
210
217
158
202
274
181
263
242
143
193
300
156
222
276
268
240
130
156
214
286
264
218
193
234
203
158
158
195
129
245
236
222
151
177
162
217
189
237
201
195
176
200
191
162
238
207
247
228
236
146
180
171
206
183
182
178
264
231
264
129
143
201
143
156
217
212
138
179
115
242
183
220
129
172
202
204
288
208
146
188
218
205
204
176
153
238
163
204
207
182
231
188
129
179
184
222
179
225
145
115
155
301
230
178
169
133
129
129
161
203
242
204
164
218
200
204
208
173
185
176
247
249
187
146
203
153
208
173
173
173
210
143
261
185
154
157
204
155
130
169
204
236
146
202
173
168
206
184
229
266
210
143
173
206
211
241
204
157
217
212
171
161
236
205
145
193
204
158
207
141
206
145
129
168
178
173
179
206
176
151
193
159
206
246
130
176
216
208
179
178
186
166
152
191
201
145
184
217
221
205
143
115
204
219
146
256
226
176
246
210
141
185
176
195
253
149
133
325
130
223
210
205
133
168
192
156
146
235
129
146
210
193
211
171
164
184
184
176
212
130
264
186
218
257
225
122
222
206
197
187
244
203
219
146
146
271
133
147
244
200
156
180
130
200
172
217
143
266
187
247
222
214
173
222
179
184
130
176
133
210
268
203
200
176
216
176
207
161
173
173
181
173
149
201
266
201
217
168
205
239
141
204
169
158
161
169
208
321
185
180
147
199
262
146
179
254
173
265
204
259
171
181
191
129
138
217
202
241
222
190
176
209
179
129
259
168
173
198
235
179
226
210
130
256
246
197
210
163
198
199
115
217
153
143
256
176
227
204
129
204
146
261
184
146
217
211
209
211
172
195
256
149
155
147
229
143
173
128
173
144
163
233
184
164
173
174
210
182
191
214
143
224
274
193
210
146
173
225
201
227
227
133
115
167
217
204
173
203
210
129
210
178
184
208
209
190
221
161
185
168
192
252
230
205
229
200
130
115
232
176
184
178
171
206
161
204
199
146
130
210
236
176
159
209
234
244
217
189
166
156
169
236
180
186
228
153
264
168
244
129
193
187
204
209
202
266
149
119
229
170
182
184
115
141
155
138
156
231
270
247
169
204
201
214
204
151
218
246
191
168
217
188
254
168
211
273
129
184
145
190
164
234
204
188
129
203
185
235
204
173
199
264
194
217
160
146
169
303
238
161
145
182
173
182
119
199
225
115
143
210
115
174
130
179
263
230
151
248
146
217
129
201
204
115
206
177
297
129
180
166
190
146
262
198
213
204
205
184
216
180
221
250
129
230
202
189
228
184
179
224
155
208
228
146
235
282
237
226
212
184
242
201
191
155
203
144
151
146
146
201
244
229
175
246
132
201
170
146
191
201
179
162
201
236
191
130
141
184
235
230
182
130
204
173
201
156
160
195
254
185
215
158
161
204
246
202
115
278
231
183
153
217
146
168
143
133
185
207
173
209
215
171
299
207
230
229
205
210
224
231
211
201
149
146
236
239
199
173
202
179
147
181
206
168
188
225
197
214
206
211
200
199
259
215
204
178
217
186
129
174
176
145
146
145
262
185
182
238
189
158
190
230
181
171
236
199
143
180
213
158
201
179
253
201
162
207
335
162
185
250
194
324
201
170
256
143
161
231
149
162
188
176
200
145
237
160
215
129
235
204
166
162
176
242
212
146
143
179
130
215
217
210
176
182
215
204
262
183
182
205
256
119
197
190
129
246
210
115
129
178
187
182
156
224
157
178
130
133
178
199
184
202
138
182
155
129
201
133
181
286
171
198
231
130
183
230
225
185
205
164
168
184
261
187
174
160
208
166
154
207
145
230
210
204
177
226
145
182
200
176
181
193
187
168
228
214
131
199
205
186
221
275
252
153
168
130
199
280
214
184
204
190
295
176
119
115
201
157
219
176
179
225
188
122
170
168
195
190
130
247
129
129
164
209
264
222
176
195
187
190
249
248
172
168
246
230
200
187
129
130
192
200
192
206
129
130
210
178
129
217
176
182
129
204
198
187
219
178
194
175
141
129
179
230
178
206
165
211
206
222
242
194
199
184
207
231
208
242
182
181
160
167
152
201
151
145
180
239
210
204
169
242
143
230
216
152
204
176
210
217
204
162
162
200
217
219
204
143
234
222
183
258
189
140
199
155
230
166
212
194
257
259
252
188
183
268
187
201
168
204
187
275
189
187
144
204
270
186
146
141
182
242
194
129
141
129
215
205
256
213
141
203
225
161
133
188
201
183
173
130
191
226
146
191
260
167
191
255
227
167
173
129
197
188
225
174
201
182
192
130
115
188
145
133
261
133
211
168
283
173
236
191
130
215
211
227
267
204
230
209
236
122
217
206
200
178
206
232
189
227
241
158
211
183
228
192
175
150
197
296
217
230
167
182
190
176
253
179
178
130
146
201
129
234
176
184
145
179
236
129
182
200
150
261
178
168
214
173
205
129
204
211
256
283
160
186
239
247
146
176
210
151
143
206
218
202
216
185
201
167
180
196
115
189
156
207
203
298
213
188
176
158
130
204
133
191
145
252
201
147
196
227
141
170
190
210
174
250
222
221
133
209
204
188
132
176
204
178
201
188
144
188
174
189
225
186
200
226
115
173
122
210
182
192
192
129
193
183
156
201
161
204
243
152
335
266
272
242
257
130
151
229
201
129
198
179
159
133
152
189
169
164
213
174
145
234
208
175
168
179
202
141
213
166
249
242
178
173
335
240
184
240
201
208
187
158
119
202
115
143
203
129
184
146
220
256
169
175
184
182
227
198
204
202
200
191
130
173
133
162
133
191
169
168
191
228
287
129
294
246
247
172
170
183
210
218
209
147
237
172
169
237
213
209
129
242
169
289
220
129
201
199
146
218
179
204
180
232
271
230
196
166
221
236
164
211
210
222
335
236
130
160
156
204
206
130
141
164
199
171
244
152
171
138
214
210
187
221
245
236
186
155
186
178
204
203
253
168
264
210
129
210
155
204
256
187
225
226
163
200
254
171
169
242
184
158
158
153
233
248
128
161
208
211
130
194
248
201
146
236
202
171
167
182
183
164
227
191
150
190
208
233
247
214
177
183
231
187
274
155
216
189
176
184
166
256
201
161
204
217
168
202
203
194
241
192
240
238
141
181
245
160
192
189
149
133
201
185
242
256
200
171
253
227
203
168
224
203
184
146
200
226
335
193
253
170
169
169
171
259
180
181
162
129
218
209
173
174
217
204
203
286
184
202
214
129
236
161
176
183
173
173
173
143
248
225
159
231
180
205
150
157
205
156
213
204
200
205
274
162
188
182
211
146
176
156
155
181
186
180
176
182
208
164
257
229
161
193
194
189
225
236
202
277
265
198
122
162
201
146
147
178
185
150
129
146
213
179
171
162
201
188
199
184
119
187
246
202
230
165
145
164
252
176
130
129
201
236
235
165
240
146
169
158
202
209
227
172
206
197
129
189
169
227
279
129
177
129
217
176
222
158
192
180
169
201
173
151
201
129
170
184
161
150
172
176
185
238
129
154
164
211
192
263
162
130
180
230
218
245
176
176
205
129
143
297
129
158
188
201
199
210
146
282
199
246
191
166
204
178
184
150
183
212
202
129
236
203
202
193
183
184
226
200
206
166
143
220
145
182
173
201
238
202
191
179
267
263
194
203
202
250
238
173
210
164
172
198
283
204
184
150
162
150
233
208
176
169
164
183
194
146
210
185
158
173
146
246
171
171
184
191
220
164
115
228
176
184
150
210
143
167
207
173
195
182
182
202
294
184
185
199
273
144
129
188
218
198
179
201
181
129
210
220
164
197
252
210
177
164
162
221
194
223
189
203
179
133
211
219
236
170
224
241
203
217
252
128
261
130
203
176
129
217
168
158
205
211
231
227
244
246
162
171
130
145
238
244
186
217
186
210
235
214
173
198
205
194
133
208
270
238
129
229
204
241
145
183
192
171
216
246
253
307
229
143
230
115
230
155
171
172
146
164
182
178
146
133
209
221
217
246
209
133
231
198
231
250
183
230
207
149
223
130
218
205
193
272
130
149
236
216
173
130
244
204
190
261
150
156
209
176
130
192
200
214
146
177
225
186
218
133
129
122
210
206
231
168
160
238
166
221
296
146
143
173
183
200
150
173
130
209
244
223
183
263
210
211
115
225
183
216
174
176
178
159
181
146
162
162
252
177
231
189
130
155
233
185
157
217
222
210
166
184
182
168
147
191
264
230
175
200
251
176
195
206
145
184
129
162
129
239
185
217
145
230
176
173
146
144
173
236
141
146
164
196
230
177
230
250
195
234
183
311
192
133
201
158
146
173
185
202
169
129
238
223
203
268
146
190
201
191
180
129
143
201
185
244
169
133
143
141
207
201
238
206
190
226
248
202
130
176
194
177
239
162
179
180
202
231
207
180
259
129
227
173
217
150
178
141
146
191
206
158
180
196
170
169
162
143
228
173
220
179
243
217
189
211
182
180
173
180
160
204
151
146
191
185
168
214
157
217
204
202
180
236
204
177
210
145
174
238
176
223
176
173
240
167
220
115
200
173
195
247
162
158
179
210
239
234
173
139
164
234
147
207
193
221
218
184
225
181
186
176
132
237
115
167
146
176
186
146
150
199
169
129
243
187
211
164
216
133
225
192
244
153
209
232
222
242
284
255
129
168
206
219
115
216
231
185
143
219
178
186
228
211
133
188
167
180
247
170
241
173
188
210
239
179
190
241
260
188
274
194
217
176
230
197
173
174
209
206
237
210
173
210
238
173
230
183
166
130
143
213
143
129
168
176
163
208
164
119
217
187
176
182
157
217
163
173
129
131
194
217
254
248
191
217
143
282
249
229
200
235
238
173
192
189
217
206
193
187
200
209
184
145
203
252
225
191
189
274
225
209
204
192
184
130
202
169
164
243
169
162
228
179
303
211
130
248
143
236
159
202
252
204
176
180
176
183
191
225
294
211
166
201
129
146
149
163
158
201
266
173
188
204
238
145
155
133
174
158
155
217
201
149
158
156
151
256
217
148
146
276
155
161
190
248
184
262
179
230
146
184
214
231
230
138
173
179
221
168
255
129
227
186
146
182
132
224
122
208
174
185
178
155
159
115
256
178
236
130
215
186
145
204
173
218
227
211
236
213
187
143
221
184
204
218
168
115
158
143
230
150
247
189
176
201
176
183
230
173
192
246
168
214
201
169
146
208
194
237
184
203
213
254
185
176
168
238
155
146
162
239
146
286
198
199
225
176
222
178
229
231
194
176
212
166
238
176
201
193
130
206
214
182
198
163
156
204
158
263
261
187
174
217
191
207
197
170
210
195
166
182
173
115
169
225
141
228
158
164
189
156
231
176
122
210
197
193
227
129
223
183
169
185
211
296
119
255
184
162
247
204
130
176
260
208
179
115
232
176
160
195
193
182
216
173
168
212
203
164
210
230
129
245
203
151
205
231
207
210
247
195
176
173
200
236
216
263
147
230
173
202
212
209
158
184
166
213
146
197
205
176
148
205
214
155
191
194
193
241
185
254
183
204
184
162
168
165
221
195
176
182
212
178
184
214
204
185
166
254
186
174
197
206
164
211
203
151
207
204
264
162
214
227
206
173
201
230
198
141
160
181
176
185
217
219
169
183
246
263
245
182
176
210
179
200
227
217
176
291
222
236
222
202
161
169
168
206
230
202
143
155
147
182
210
191
252
180
178
251
204
164
302
235
226
191
172
238
246
191
155
204
164
199
166
127
172
206
168
153
213
115
229
146
129
169
162
230
215
184
188
145
225
130
195
143
258
132
200
283
203
228
228
219
235
181
213
146
230
228
186
280
257
150
168
222
201
191
196
184
217
207
202
166
172
146
174
217
173
239
115
158
258
184
155
229
217
185
115
198
287
217
162
198
204
250
155
158
200
128
239
222
175
231
143
119
130
270
129
189
156
130
177
185
173
275
229
210
173
146
146
216
156
130
282
186
172
184
173
175
270
269
204
174
191
263
187
224
178
173
216
164
115
263
207
270
221
214
156
168
247
204
164
176
227
183
174
236
115
173
237
199
200
201
200
130
145
216
175
162
169
211
228
212
202
207
190
201
133
190
161
241
175
178
222
129
209
179
254
146
146
146
130
181
115
195
201
204
234
173
185
166
239
204
181
168
172
178
176
173
201
170
115
224
178
185
211
201
247
180
216
233
196
188
216
197
167
218
129
180
239
203
230
168
130
191
269
248
129
115
185
227
149
271
201
248
227
145
180
179
157
230
240
218
204
224
216
197
150
133
173
234
206
186
281
248
189
282
133
206
178
210
143
219
283
211
188
230
179
191
178
191
208
238
228
168
161
195
129
206
212
180
194
115
246
197
234
128
178
150
174
160
239
185
171
181
218
158
129
179
164
177
285
129
173
222
164
191
173
182
214
253
166
173
238
207
233
146
129
202
186
187
298
173
175
246
202
176
235
129
210
353
239
193
162
173
188
217
176
219
146
213
130
200
168
185
232
192
183
177
160
164
202
206
216
224
164
225
210
155
215
230
231
204
164
183
155
176
164
129
172
210
184
185
218
146
283
253
227
273
162
156
189
204
172
255
156
171
180
133
190
262
171
203
133
192
130
149
182
201
169
222
145
182
201
176
229
130
145
168
179
132
248
176
180
238
146
173
204
130
238
247
171
183
252
202
208
221
189
195
149
180
165
164
289
157
199
209
217
130
176
146
171
171
144
227
242
153
197
156
129
201
153
129
240
122
129
205
191
257
221
145
160
239
212
180
162
155
176
146
177
200
211
130
141
209
174
212
173
160
241
176
187
202
214
191
192
230
200
164
145
233
187
190
192
141
167
244
177
185
144
230
198
281
176
212
276
211
188
146
205
264
182
185
200
210
143
188
183
221
169
197
239
204
190
231
210
208
160
231
200
248
261
180
175
143
210
145
248
220
210
171
176
187
175
160
164
176
158
183
204
173
202
194
173
168
166
164
146
206
133
204
164
155
283
261
204
192
146
221
260
187
225
214
177
184
239
183
238
130
181
172
176
268
214
221
169
202
132
147
190
264
186
195
176
176
130
238
155
197
161
146
189
146
191
115
190
168
164
246
173
146
189
184
258
176
256
201
202
227
201
216
178
173
242
164
220
202
173
209
133
183
188
184
211
162
149
227
173
129
145
179
183
197
212
191
239
146
141
182
218
201
231
245
191
183
170
265
180
181
129
130
145
267
236
152
166
158
270
206
207
191
247
158
173
130
217
145
276
278
173
174
170
146
251
174
185
179
204
192
217
164
158
165
145
217
211
170
223
129
225
261
230
192
201
228
152
204
157
211
239
224
146
242
195
208
229
186
189
208
246
257
226
183
129
202
130
225
176
242
184
227
210
146
195
129
141
130
192
201
160
158
157
157
242
173
188
289
164
161
222
180
146
226
191
184
205
187
141
255
202
191
115
173
206
214
160
256
162
179
232
178
247
300
149
200
225
202
255
150
149
221
182
248
222
204
176
143
173
137
229
211
255
160
239
242
200
164
183
227
168
202
122
155
149
164
146
229
230
200
222
146
162
146
209
238
294
129
182
296
182
179
202
204
184
221
199
264
156
177
197
162
229
192
242
167
146
179
115
180
180
201
208
222
206
161
115
219
199
202
130
161
158
204
176
145
191
145
115
204
264
229
174
167
225
227
168
188
239
176
129
141
201
183
228
176
133
172
238
211
190
199
212
146
158
245
225
228
194
170
230
158
178
185
264
258
254
163
132
251
166
183
249
143
217
257
203
162
168
168
313
158
201
179
196
200
170
227
210
158
216
151
188
129
184
215
239
191
287
192
214
195
129
183
204
182
176
192
143
168
184
189
182
115
264
179
211
217
182
162
275
157
236
260
206
149
259
162
264
178
206
270
274
115
260
186
303
184
176
210
176
195
258
213
162
238
146
190
236
221
193
184
249
211
179
264
256
150
203
185
180
250
217
162
204
180
200
195
228
174
195
283
250
195
231
269
208
130
130
178
168
251
176
159
274
164
212
176
195
130
230
177
204
186
224
252
196
222
169
260
146
165
173
176
225
211
288
188
221
173
129
201
235
162
191
184
189
198
183
176
168
201
185
244
146
207
204
173
204
217
184
164
173
129
133
199
133
182
156
176
328
229
173
252
218
176
229
207
256
150
188
188
173
202
237
217
147
229
212
174
172
211
173
222
229
186
140
143
224
146
209
200
157
228
279
225
200
233
210
162
156
200
173
230
208
156
236
168
187
202
204
168
190
201
209
262
122
185
200
175
257
129
143
173
183
173
201
261
149
219
129
234
210
152
174
214
194
171
185
178
176
206
170
256
218
150
129
184
213
222
244
215
144
158
174
273
234
206
187
129
115
200
191
217
222
122
186
168
162
176
119
143
146
185
232
231
132
176
158
184
243
195
209
172
158
200
143
296
149
130
173
198
162
178
178
146
206
211
185
141
176
164
177
193
250
169
198
174
171
133
190
267
171
217
229
143
145
256
150
176
264
192
201
155
146
257
230
177
191
189
203
173
219
192
146
191
171
145
133
168
204
179
194
244
172
190
157
182
174
129
217
179
155
239
203
209
207
149
179
217
176
242
184
173
156
161
276
152
176
209
133
221
176
231
138
131
164
185
197
166
158
188
200
210
192
138
211
145
214
194
167
145
200
181
184
196
211
191
203
228
166
176
223
227
176
149
162
202
193
197
166
252
221
210
146
212
185
176
221
214
191
187
193
129
168
212
182
204
254
173
191
222
222
188
151
200
252
158
129
174
194
208
230
115
179
181
138
272
201
155
142
230
183
199
170
215
166
275
238
201
214
127
236
176
129
149
193
244
209
204
146
184
258
152
204
269
129
183
193
160
169
239
189
210
130
162
192
173
202
239
171
216
183
197
150
181
206
171
192
227
220
198
179
255
156
217
196
184
133
146
210
210
253
259
204
227
206
155
197
188
182
239
240
221
230
133
158
194
162
182
231
129
196
164
138
183
160
210
129
225
210
268
138
146
222
173
217
212
221
162
213
173
254
145
240
238
184
199
166
179
246
176
225
194
256
211
146
143
217
173
169
209
129
160
192
236
248
217
138
180
133
155
210
206
181
130
254
158
122
221
266
173
173
192
204
157
207
158
204
246
181
153
161
182
202
173
189
255
184
129
170
192
222
164
239
166
143
228
195
184
199
152
129
145
246
199
229
227
138
188
180
210
184
158
222
179
202
230
194
150
212
149
240
250
168
195
191
192
166
156
149
238
129
236
163
221
239
152
205
129
145
202
184
171
246
215
169
197
173
187
210
193
223
236
242
221
216
205
217
231
183
230
162
178
205
204
146
204
231
259
236
152
263
163
207
215
183
151
210
261
210
225
207
173
246
162
230
164
259
225
150
247
198
182
170
168
130
247
190
173
203
144
184
229
173
129
174
189
171
210
201
182
231
183
138
244
146
129
254
146
173
133
130
145
158
197
169
161
182
164
162
292
143
217
214
169
115
256
200
216
234
197
186
145
230
172
213
203
225
141
129
173
209
176
175
230
133
188
150
202
209
194
244
164
261
119
129
169
168
162
149
241
180
219
180
213
222
182
241
200
159
130
187
181
227
202
184
204
235
143
145
245
238
221
255
210
226
146
178
211
179
130
150
186
264
200
173
209
267
176
160
200
191
141
177
233
178
206
275
206
202
221
161
222
174
182
204
168
230
210
199
205
193
181
217
200
173
191
130
146
225
182
244
213
157
173
196
202
228
210
175
231
251
256
128
171
176
173
138
203
213
162
173
207
168
130
177
194
288
231
145
122
191
168
221
146
229
227
180
147
145
211
264
161
230
178
149
146
205
178
192
195
129
189
156
191
307
252
156
234
228
239
176
185
212
238
266
158
238
164
214
146
165
172
161
176
162
202
273
160
196
180
198
239
150
164
172
203
132
188
170
204
226
146
145
146
240
200
176
179
190
189
303
192
205
187
217
184
182
179
185
261
172
234
130
193
225
203
115
215
238
188
185
143
230
168
188
153
218
176
230
194
174
189
184
204
197
179
258
173
211
256
181
188
145
174
128
201
217
153
242
146
204
201
146
214
168
205
138
201
188
272
130
204
216
173
145
184
180
155
231
243
247
176
190
203
178
202
219
252
220
258
193
167
176
210
173
216
132
176
187
197
155
161
228
245
256
183
176
213
212
199
173
188
192
209
176
251
256
246
211
165
190
191
173
129
184
173
191
232
129
264
180
191
182
171
145
185
163
263
246
212
199
173
176
187
214
313
168
132
173
133
174
129
164
217
200
129
180
198
180
216
204
247
185
169
141
223
162
133
176
115
141
222
182
164
207
138
158
204
201
224
146
204
208
179
191
202
185
189
145
115
191
173
173
211
261
143
210
230
240
160
217
202
185
194
166
225
180
202
130
177
244
176
158
177
183
225
176
195
215
162
217
196
227
145
201
191
244
191
265
146
298
187
237
210
252
191
145
206
156
264
168
199
173
176
129
204
177
129
143
188
268
194
292
146
179
150
130
129
150
158
238
173
238
225
181
179
190
201
207
219
188
230
228
129
158
204
182
251
228
197
221
173
252
130
182
162
168
211
164
210
263
194
162
158
219
204
192
217
230
264
204
185
242
187
164
226
205
210
262
214
231
179
320
173
258
193
237
173
214
253
243
158
138
156
180
148
210
211
129
169
217
247
183
167
178
227
173
179
185
176
146
180
168
189
174
248
237
173
232
267
225
133
133
203
190
183
241
163
176
211
138
173
133
256
192
219
224
262
197
163
173
181
172
162
115
127
189
156
130
217
249
167
218
161
206
195
138
198
180
195
234
234
174
138
173
239
179
211
183
214
194
156
167
194
145
209
217
183
146
157
188
261
235
162
191
247
168
212
241
169
183
180
188
185
225
198
130
174
214
130
130
151
233
184
201
217
210
141
129
238
238
119
217
179
209
227
169
200
268
230
193
122
218
206
183
204
227
191
186
237
195
247
206
191
215
129
243
217
143
206
206
160
183
189
176
201
141
149
260
206
146
150
245
219
160
206
146
201
206
211
185
204
216
251
195
172
206
130
173
147
190
133
182
130
168
172
162
129
219
129
201
195
173
115
219
179
153
129
185
206
174
161
157
179
239
164
141
283
146
200
195
129
146
247
115
191
256
211
282
265
130
214
207
192
179
222
174
155
129
205
181
173
173
217
213
172
250
173
129
186
206
115
195
266
247
214
224
210
202
215
199
188
161
141
246
141
158
204
231
179
173
146
252
246
210
166
167
247
149
170
204
149
287
146
145
158
195
270
257
143
194
207
249
252
227
143
166
129
162
209
151
239
143
282
223
180
173
219
230
204
204
235
173
133
174
187
229
218
213
270
191
133
180
254
236
158
199
200
192
174
156
133
146
196
169
184
188
187
130
225
242
203
194
133
204
182
145
238
172
209
176
172
166
179
249
174
189
157
142
171
194
229
238
183
180
146
189
253
211
145
155
159
129
230
173
204
159
238
204
176
217
216
174
239
222
182
208
224
179
217
158
195
247
220
222
164
186
146
255
207
175
203
225
262
115
201
208
218
230
221
204
155
247
130
200
182
270
225
157
231
179
191
129
129
218
214
192
187
248
180
168
207
158
204
168
206
129
260
214
129
244
241
178
184
246
231
180
184
204
207
185
185
193
176
186
299
146
264
196
188
176
146
230
222
181
145
163
265
205
190
264
204
185
262
236
245
133
237
156
184
202
184
178
221
172
156
229
261
218
180
247
183
214
171
185
198
115
276
173
130
229
246
173
222
203
280
168
242
214
213
174
185
277
182
171
217
201
192
256
146
173
211
193
184
173
190
145
219
258
130
211
168
214
191
173
185
204
207
200
255
182
210
298
238
160
145
133
156
257
211
184
191
229
206
205
165
179
182
235
237
176
210
115
302
179
141
218
162
302
236
195
182
183
213
201
190
230
222
221
182
228
232
129
205
204
158
256
222
204
188
238
182
147
199
173
145
129
187
191
207
183
205
157
149
141
169
234
204
171
201
225
201
194
154
227
210
146
176
237
186
221
162
228
130
185
191
133
197
217
204
293
230
214
221
255
155
222
225
180
250
239
190
263
177
220
215
185
164
216
191
202
230
235
176
130
149
130
183
192
180
128
130
202
206
162
217
164
179
176
191
129
216
158
179
132
221
206
210
170
144
162
157
239
236
209
194
217
276
227
274
162
222
233
141
156
253
180
191
200
248
210
202
184
130
129
212
289
275
145
204
201
247
273
184
145
183
281
158
168
176
182
133
187
173
146
166
115
204
173
196
273
115
129
182
243
169
173
195
168
210
175
178
203
150
256
200
129
165
190
215
192
168
239
198
225
130
296
216
201
225
223
214
151
256
195
127
204
191
259
227
143
188
230
183
232
228
195
175
260
163
191
204
206
145
221
236
206
190
239
164
130
230
225
181
162
205
204
122
130
146
156
162
166
164
175
188
146
210
182
186
146
179
215
194
216
283
209
188
161
143
182
210
234
176
155
192
156
168
284
162
234
160
256
204
165
159
184
202
246
188
199
128
319
252
173
157
221
180
212
129
164
115
256
173
238
162
281
195
227
176
168
271
207
131
122
176
197
156
168
143
270
192
187
210
247
158
222
177
232
190
218
199
210
269
159
218
201
213
146
216
229
217
163
175
230
146
184
184
210
230
182
232
186
195
229
206
166
243
191
201
209
265
248
146
176
200
213
200
162
179
208
166
166
187
173
162
209
164
209
228
173
210
175
167
130
187
170
190
197
200
255
211
164
217
115
228
182
130
216
228
287
271
254
270
166
242
202
202
187
201
228
143
200
150
211
227
210
164
185
149
224
169
129
201
173
181
254
181
219
161
161
170
143
210
146
200
115
129
182
225
191
198
129
173
179
210
200
176
146
162
195
228
157
190
200
259
214
173
221
335
178
222
180
144
168
179
169
228
200
179
176
189
201
183
202
184
173
182
203
145
166
204
255
168
178
151
145
202
115
194
213
130
173
157
225
166
230
133
146
138
212
161
265
217
187
143
176
229
205
184
162
210
186
199
151
176
138
187
175
173
283
209
300
176
206
216
115
275
175
181
258
217
160
173
130
259
217
247
190
218
253
150
162
183
261
236
176
183
184
129
172
130
174
141
185
208
161
265
272
226
184
221
242
263
187
210
227
209
130
182
259
225
218
221
259
146
167
173
235
183
255
225
171
198
157
174
178
191
181
115
156
171
173
206
141
231
146
128
241
130
249
230
203
192
182
156
244
179
300
231
230
266
207
156
226
150
200
173
188
170
177
207
203
145
173
206
207
228
197
132
186
238
155
233
129
146
156
146
151
204
251
238
270
143
227
252
179
204
200
215
162
259
192
179
210
155
242
160
164
283
179
185
190
145
217
173
171
130
214
138
316
146
146
185
221
210
153
264
239
203
181
184
264
240
288
146
248
143
170
211
206
169
179
145
130
128
144
130
133
211
178
186
191
133
171
155
240
204
174
193
200
195
176
217
183
217
203
229
195
211
202
184
222
236
171
219
283
245
198
230
231
129
264
161
265
202
204
182
221
163
214
203
222
130
115
174
145
216
160
222
238
150
239
173
173
173
173
259
152
274
238
188
174
181
209
133
200
185
173
190
172
200
146
253
162
211
185
187
129
313
227
173
138
141
219
195
179
176
141
216
166
222
130
128
214
198
151
186
201
250
129
187
205
164
183
183
178
156
176
160
162
193
218
143
233
218
204
264
237
191
215
181
129
221
231
202
122
199
138
204
238
169
182
176
206
200
204
243
157
146
201
251
213
188
227
199
204
230
229
130
208
225
146
201
147
184
185
145
156
129
193
166
184
115
246
189
224
173
180
207
189
191
182
181
177
166
207
221
190
200
188
191
222
205
145
198
198
161
176
264
168
220
204
169
236
191
157
262
271
204
150
194
115
130
204
184
183
162
129
183
143
179
130
176
115
213
149
201
162
184
201
146
226
166
146
198
212
217
115
176
209
204
222
158
173
159
202
182
200
202
249
146
193
193
244
189
210
204
179
189
199
173
176
195
246
182
217
115
172
221
227
173
151
247
218
168
251
216
167
205
165
173
214
203
206
210
210
171
216
237
205
143
168
158
240
198
178
235
240
185
190
219
203
129
164
217
230
168
161
217
146
170
133
173
204
182
194
145
173
178
201
290
176
146
247
173
191
190
195
178
146
224
200
195
173
231
202
146
174
204
159
130
222
262
143
236
184
182
275
146
216
200
212
146
227
173
146
228
181
216
264
173
158
252
145
186
178
166
183
230
217
206
173
162
205
214
176
236
130
219
138
146
188
204
143
197
228
209
169
151
199
146
204
203
195
296
146
147
186
141
217
180
130
207
212
176
145
247
169
182
146
209
259
129
179
209
226
191
158
166
195
283
173
210
146
208
172
141
189
173
210
145
200
192
222
198
173
130
195
203
216
133
179
260
188
221
214
204
218
168
174
173
155
143
202
249
155
155
178
153
236
311
264
207
261
231
189
177
179
161
201
167
176
236
231
212
206
129
289
212
130
133
205
221
237
201
173
167
179
160
173
183
275
211
173
185
180
184
247
179
122
192
222
191
283
129
210
161
129
143
145
276
230
168
230
264
184
215
145
168
142
210
203
202
179
174
252
283
215
146
205
189
254
206
165
168
177
173
151
226
222
185
244
192
164
222
164
152
256
200
218
210
201
193
210
204
156
190
228
133
188
238
275
145
236
203
170
176
115
162
205
210
246
185
182
217
149
186
236
146
176
190
157
251
173
171
243
173
173
180
130
162
162
195
141
176
170
173
158
231
145
200
168
185
174
130
324
204
226
208
175
149
166
162
264
176
210
204
145
182
171
160
173
176
216
192
146
145
195
279
205
189
130
202
192
212
169
115
146
133
146
217
146
168
130
211
222
160
204
239
143
211
204
266
179
217
178
204
227
178
173
335
253
138
167
145
166
145
227
182
245
241
164
149
187
210
183
176
132
184
144
129
210
146
173
242
115
264
182
150
238
203
200
216
179
174
173
176
197
130
191
184
185
201
219
223
186
214
162
210
189
204
228
175
282
176
222
166
176
129
162
246
162
130
183
206
189
146
192
193
160
200
172
226
199
178
200
252
141
239
191
230
166
175
201
146
141
179
176
129
255
229
186
206
216
173
164
146
119
192
172
181
168
141
204
173
261
156
139
195
173
313
211
146
180
138
130
206
169
177
144
185
211
261
201
145
166
192
204
218
176
261
158
158
191
230
181
176
115
191
225
218
227
283
192
183
176
204
203
168
206
219
234
143
195
146
129
183
264
169
229
169
186
173
211
170
173
180
218
169
212
214
232
164
309
231
167
246
209
243
155
163
169
172
225
289
129
164
143
250
245
253
204
193
183
173
214
195
224
208
199
211
217
155
200
146
217
194
178
264
200
162
250
209
233
204
145
192
210
130
196
226
181
192
144
204
140
214
153
236
228
155
211
196
272
168
215
183
197
178
191
115
122
176
218
173
204
130
153
176
169
229
172
145
184
168
138
176
270
236
264
184
168
176
175
176
209
180
206
197
182
130
230
180
206
217
225
217
204
201
179
247
204
148
210
178
173
195
164
178
130
234
168
191
200
130
264
143
182
182
214
192
179
182
215
177
164
206
166
146
273
201
202
195
194
209
202
169
169
230
145
186
194
197
202
238
196
218
182
209
162
178
278
201
225
225
251
230
176
214
218
255
191
237
166
150
128
204
130
178
115
179
144
283
175
204
175
227
201
215
176
211
274
173
168
206
230
206
217
143
204
133
204
194
252
202
157
155
189
179
162
177
275
217
228
129
145
146
215
162
190
248
244
249
204
197
209
129
223
228
203
129
229
179
202
170
182
207
151
165
202
210
180
161
146
152
174
161
141
178
130
226
186
236
203
195
177
211
171
173
164
146
173
230
162
270
204
155
152
297
203
194
168
178
210
168
179
203
195
200
214
300
223
130
192
162
164
231
276
156
146
237
202
168
115
211
199
225
184
200
239
250
167
146
182
146
151
174
115
214
205
222
129
204
164
194
196
146
201
297
236
146
201
248
166
115
203
173
207
172
190
163
164
174
235
227
261
176
173
191
158
141
146
178
175
195
122
130
204
221
180
146
238
204
155
182
215
184
163
155
164
204
161
157
176
211
130
236
164
167
130
129
173
179
171
213
129
160
202
210
182
129
235
148
177
271
161
176
211
141
210
211
240
173
156
258
231
164
169
202
169
162
265
191
238
138
143
211
184
247
173
236
181
181
133
228
170
176
209
161
219
202
272
119
208
224
173
176
150
173
206
200
176
141
130
191
210
188
178
200
130
146
145
214
129
188
115
168
133
168
153
210
222
143
169
217
183
179
261
257
204
230
129
204
227
303
146
226
161
155
191
143
246
146
192
183
173
206
175
151
141
191
173
265
188
227
143
186
146
210
194
212
199
209
178
129
195
141
200
195
209
249
143
164
176
133
247
146
141
217
157
184
211
247
180
208
195
200
146
227
160
207
204
155
164
192
216
236
146
181
217
180
192
185
220
235
152
188
173
204
180
203
133
179
132
229
193
165
210
268
155
204
129
245
150
164
227
201
204
193
185
194
160
175
130
219
215
230
130
133
130
273
185
146
129
200
205
168
173
169
197
156
210
180
149
150
241
141
158
217
228
210
272
187
130
192
146
236
203
132
187
202
213
173
210
145
229
130
256
335
129
143
171
169
245
211
191
229
189
242
217
130
235
133
165
149
204
160
171
230
311
164
175
234
209
166
251
248
194
211
203
162
190
193
231
147
199
166
171
212
251
181
186
144
171
210
138
190
200
210
174
201
221
209
220
182
216
266
183
190
238
202
185
212
221
244
158
146
173
209
145
195
189
146
133
159
176
264
256
229
164
169
169
156
176
222
247
206
144
133
157
146
129
263
201
173
146
176
185
240
236
191
166
269
174
168
204
248
234
205
158
244
180
173
165
191
181
179
260
213
222
185
231
176
238
174
197
195
210
158
210
287
204
202
212
202
215
173
130
259
211
214
241
115
173
313
224
184
216
129
178
221
129
162
160
250
146
177
204
236
168
153
204
202
130
220
204
230
158
161
259
245
254
217
183
202
259
179
133
183
240
173
155
195
200
189
187
237
200
138
201
192
164
191
210
145
209
234
206
219
230
283
157
145
335
217
210
174
221
189
130
182
115
259
201
205
236
188
156
130
226
179
130
174
166
145
256
169
211
241
181
176
132
144
165
173
222
230
206
235
145
209
206
312
178
232
164
206
182
164
227
176
184
188
190
217
180
211
168
217
189
194
145
184
210
168
143
194
141
222
129
149
158
186
173
138
204
185
191
219
191
179
190
204
173
278
242
188
130
166
242
170
206
143
247
165
146
143
227
201
246
335
215
198
164
228
169
159
233
217
162
208
209
217
160
202
130
222
187
195
185
133
130
200
209
186
221
259
186
173
216
156
200
255
238
183
228
211
231
204
223
146
203
202
115
158
150
178
129
253
176
122
186
255
206
146
210
164
185
203
132
265
182
138
143
232
156
194
149
183
163
130
182
172
174
169
159
129
164
215
145
222
152
161
200
168
244
204
133
184
193
271
200
223
199
223
168
155
225
248
162
182
236
227
189
231
158
193
274
227
141
238
230
171
204
169
257
190
176
252
129
225
149
173
209
182
170
164
145
155
193
202
132
187
217
170
188
204
280
173
151
182
264
168
238
176
221
129
197
162
155
221
210
227
168
195
149
182
264
216
207
170
194
162
204
153
244
230
232
191
210
163
170
209
248
178
209
167
181
176
164
204
132
178
200
211
206
230
214
191
242
244
184
217
217
214
230
188
145
150
159
179
200
171
173
253
159
179
178
204
192
236
210
181
217
210
190
162
176
195
175
173
153
199
203
192
214
197
283
190
222
115
212
176
180
181
168
211
166
149
158
164
179
183
169
188
193
201
158
206
168
180
138
219
164
180
130
218
164
222
145
167
151
146
176
141
207
183
158
146
129
130
173
188
206
214
230
203
173
236
254
182
209
228
146
238
130
166
190
201
274
138
206
173
180
172
189
161
156
209
204
115
218
217
182
240
190
161
115
115
168
204
180
206
143
150
195
146
335
225
205
181
220
208
211
217
188
160
173
256
184
247
261
179
211
263
228
195
158
178
164
129
250
178
204
260
193
271
206
182
232
133
138
146
201
240
228
183
222
197
172
173
146
179
145
145
176
146
150
179
167
210
145
201
201
145
203
122
181
198
179
239
238
180
220
213
287
145
231
166
174
146
229
138
211
222
164
221
200
167
132
174
203
229
173
206
180
144
259
256
230
149
185
283
234
232
236
225
217
229
168
122
259
205
169
211
155
192
199
172
145
183
183
204
286
238
227
129
193
158
184
130
180
171
115
256
209
130
211
198
143
278
183
206
198
164
278
212
195
198
184
133
145
234
258
217
178
146
167
208
165
133
204
168
273
176
226
206
184
115
188
162
221
184
180
145
211
173
195
181
184
219
230
239
191
256
171
157
191
236
162
168
158
230
205
179
168
233
227
130
222
221
168
206
133
264
206
183
174
206
214
129
183
130
170
145
143
183
182
246
199
211
146
129
149
176
169
224
161
181
156
155
230
166
146
164
292
204
236
202
150
210
161
164
194
257
252
201
146
229
129
217
176
186
237
172
190
238
202
174
165
222
115
243
143
173
176
130
210
203
201
219
163
182
184
177
257
227
162
173
203
162
173
217
280
201
155
129
158
210
171
141
168
152
130
168
190
226
183
159
216
227
170
230
184
204
197
187
199
217
130
146
176
239
168
179
190
194
180
173
195
181
184
182
229
176
175
211
164
146
219
146
163
253
145
158
204
202
228
238
189
218
173
176
230
213
141
129
133
181
173
173
210
181
258
199
192
191
184
199
195
230
176
130
216
212
230
204
202
185
181
204
191
230
178
263
178
244
218
183
230
252
191
200
130
184
191
271
212
129
176
188
202
151
162
146
162
202
258
129
164
183
212
139
224
129
173
164
162
146
250
189
130
162
160
194
173
185
169
199
146
130
155
185
195
255
185
169
199
194
133
168
240
169
162
211
172
250
162
223
206
174
146
217
185
229
144
149
173
173
184
128
162
202
184
115
115
225
214
246
180
247
164
214
180
260
166
240
173
250
129
217
244
229
160
215
145
195
236
178
231
164
251
210
133
184
182
199
240
176
191
173
191
194
286
250
236
153
234
214
146
129
221
201
263
145
149
133
146
200
204
168
173
279
186
173
184
211
131
191
115
146
210
239
216
197
133
169
200
246
179
206
201
167
214
220
164
132
182
183
204
161
212
138
180
201
217
204
176
240
194
181
197
213
225
272
201
170
221
150
129
236
335
239
230
173
168
152
143
236
204
184
205
209
154
215
179
130
166
129
220
201
208
130
163
156
180
162
181
145
201
239
129
174
256
167
229
203
176
141
183
271
182
296
132
146
217
129
173
173
230
222
185
191
195
176
162
129
186
217
224
238
228
162
161
200
219
244
199
224
195
160
242
224
210
244
217
227
282
197
188
201
138
280
208
249
253
161
184
145
169
204
204
219
186
173
230
168
204
144
195
190
176
258
234
138
213
130
173
182
180
307
178
206
200
197
173
236
146
245
211
255
115
157
154
227
231
210
176
236
130
231
183
143
177
182
172
153
222
205
217
217
119
160
130
208
275
207
130
209
115
192
143
143
168
133
239
234
227
221
141
130
254
180
146
169
178
300
229
240
204
242
198
128
182
158
194
164
161
152
303
150
217
133
173
218
129
168
211
243
146
214
187
143
191
266
249
122
158
205
223
146
247
278
206
178
202
290
176
194
146
225
238
190
173
197
228
216
195
204
222
193
247
168
146
185
166
177
146
145
217
182
129
133
158
166
221
217
165
252
129
130
207
191
219
162
205
129
190
129
205
221
152
171
177
144
215
212
115
200
203
171
168
195
173
220
130
236
225
217
169
188
263
241
149
181
177
145
181
230
115
130
194
216
179
133
173
261
146
180
129
250
182
194
204
171
194
188
224
209
165
204
129
195
230
182
234
176
200
194
115
206
133
210
130
218
163
187
186
192
156
200
217
195
193
173
194
254
191
170
228
205
254
220
199
152
143
250
146
200
216
190
217
195
206
240
202
129
204
272
300
204
234
193
181
130
219
145
191
145
162
199
205
155
192
168
180
245
238
226
169
181
244
158
244
191
194
158
173
181
231
232
168
115
164
174
257
177
166
168
172
169
221
204
244
129
230
239
226
222
130
201
180
201
146
215
161
181
206
209
210
191
173
156
180
169
202
199
245
184
133
160
171
133
189
180
231
171
184
168
176
195
173
259
195
186
227
217
270
195
168
227
181
174
238
221
213
226
155
193
178
188
122
115
178
214
293
163
198
240
201
294
160
236
129
198
185
201
264
185
199
193
146
179
187
133
130
163
164
164
129
309
163
128
200
308
258
129
225
236
238
222
176
241
156
192
141
192
230
210
161
230
168
286
217
176
238
230
176
122
222
212
224
228
195
173
149
194
162
204
187
168
170
171
173
210
217
239
209
226
260
146
209
146
130
248
265
202
155
147
214
159
211
130
201
185
184
162
274
181
214
138
200
145
218
158
230
207
174
129
166
164
229
172
146
158
158
188
127
204
130
133
262
221
259
167
211
174
174
283
179
197
234
192
201
256
191
147
163
237
196
164
146
173
200
180
129
153
141
184
214
151
201
215
143
273
176
236
206
130
160
211
211
161
231
292
188
202
193
213
143
176
191
162
194
115
187
186
214
167
197
201
176
178
260
183
146
173
189
224
197
174
214
182
213
130
222
220
164
161
158
179
200
139
164
173
172
179
202
130
150
179
190
195
185
148
211
145
193
175
159
244
161
132
185
167
252
179
252
161
206
167
216
169
146
186
239
189
217
150
275
197
129
210
158
211
164
146
160
173
133
204
183
240
201
188
213
212
220
185
183
182
138
139
195
147
239
214
145
195
149
129
176
183
255
211
174
229
173
187
174
248
168
206
256
242
217
235
202
158
230
194
242
258
249
161
186
247
200
204
180
286
194
187
211
155
200
262
184
129
296
205
179
146
206
201
115
222
296
219
256
205
231
183
221
200
155
205
206
184
246
133
176
258
164
189
162
188
214
195
149
164
201
258
182
166
202
241
173
171
199
164
168
204
133
146
201
179
176
129
157
129
184
129
186
158
181
208
249
168
158
166
207
130
192
198
130
239
190
201
224
256
188
233
129
165
239
176
166
228
149
115
166
133
184
144
260
235
257
182
133
231
153
128
115
169
128
191
191
146
251
210
217
145
236
269
168
203
194
216
169
191
204
206
210
254
211
144
129
217
245
141
200
169
206
171
202
191
262
161
225
172
222
181
199
172
173
173
258
145
183
213
162
155
272
176
143
240
161
168
178
141
150
167
238
194
173
173
150
168
255
192
295
197
205
214
140
210
181
143
151
183
258
238
185
145
172
202
168
219
182
224
256
217
168
168
201
278
247
183
199
241
211
184
168
225
211
202
204
287
158
176
236
194
265
221
206
182
168
178
153
173
251
156
257
203
162
158
239
258
145
184
145
184
221
211
167
153
173
143
185
143
260
138
201
179
212
235
190
251
201
213
180
184
234
129
259
180
178
295
115
211
182
173
271
184
181
141
280
138
225
176
211
129
189
204
179
203
245
219
184
248
203
176
181
164
204
146
179
171
176
233
185
132
200
146
146
158
244
246
146
208
188
167
201
203
133
187
204
168
205
173
187
201
183
263
224
164
173
179
225
204
217
261
283
185
219
195
171
225
204
210
173
162
228
176
216
183
173
160
197
249
177
219
158
145
173
216
230
216
150
258
247
168
147
163
187
179
183
210
228
193
146
133
169
178
256
335
162
143
222
167
182
115
194
184
146
178
195
201
146
194
204
229
193
196
180
183
162
173
179
210
129
204
283
178
115
230
176
215
229
189
127
166
252
216
236
149
176
166
130
233
204
176
204
182
195
217
200
138
155
185
185
231
209
157
158
173
146
182
200
303
176
173
210
119
205
156
237
249
200
224
212
208
200
179
182
183
194
188
211
156
200
192
242
122
183
214
217
155
275
200
252
165
168
129
176
173
150
146
210
187
203
197
133
178
146
130
199
236
230
146
188
115
202
204
257
170
209
115
316
303
219
172
130
211
184
129
213
204
220
191
204
129
192
202
190
173
145
272
223
172
143
182
145
156
237
171
235
157
146
161
161
178
217
264
167
235
183
179
210
193
178
173
191
179
182
192
176
143
218
179
204
186
184
227
146
201
214
176
178
217
169
185
159
214
210
184
133
179
155
146
264
283
233
163
211
242
246
204
155
266
263
186
214
221
221
210
190
170
190
244
262
204
191
122
211
186
216
224
195
296
255
182
197
205
196
165
176
239
191
246
164
162
216
193
208
230
225
145
178
129
179
173
264
133
183
158
206
226
180
130
173
130
211
182
286
205
262
175
164
145
180
164
200
194
192
158
213
234
210
202
245
133
183
214
174
188
236
272
161
225
267
238
215
152
194
201
176
173
225
183
187
254
210
130
214
161
176
210
182
115
122
201
191
191
178
300
129
179
261
173
183
201
186
175
211
234
130
197
211
130
141
179
247
252
158
163
216
183
263
188
238
146
178
190
167
242
246
215
197
176
182
146
173
210
179
182
115
204
246
220
176
258
205
205
242
160
169
217
194
143
174
211
257
185
227
287
195
129
130
317
229
148
227
174
171
176
183
168
204
185
221
196
261
194
180
184
208
173
217
197
300
258
278
211
169
225
238
261
259
187
230
133
182
158
176
151
133
129
186
133
212
202
173
175
174
238
158
262
234
158
209
252
122
162
242
160
183
230
205
146
200
152
173
277
264
130
218
132
226
255
143
164
158
150
219
176
133
243
165
168
192
192
228
129
255
210
176
241
268
219
204
211
206
188
202
155
181
174
166
133
198
166
164
203
210
230
210
203
255
224
226
269
169
162
179
185
183
210
130
155
246
214
152
159
176
173
159
181
202
130
143
182
245
173
185
183
210
162
227
242
197
182
263
174
274
224
217
138
173
130
162
198
214
133
150
202
217
115
214
199
164
160
236
222
162
174
179
187
195
293
202
236
182
129
206
222
193
197
233
146
180
164
164
129
209
249
256
164
176
175
146
236
239
156
180
237
229
174
247
122
226
204
151
182
168
241
162
194
254
244
183
181
242
193
176
215
194
158
264
184
274
204
159
218
252
211
245
214
225
205
217
213
186
230
258
185
173
168
217
145
199
232
213
158
263
228
252
218
159
157
146
227
176
173
145
182
253
182
187
285
176
266
214
211
211
189
188
182
130
167
211
141
158
151
130
172
221
202
133
170
160
147
179
233
203
176
222
182
218
132
186
176
170
215
206
178
171
138
164
178
146
238
146
165
161
297
150
158
189
129
162
133
173
167
132
199
202
182
240
129
173
210
156
209
204
172
162
204
178
176
130
129
228
194
173
191
200
190
155
238
182
182
259
183
187
119
164
164
184
172
242
164
176
277
173
218
217
241
205
211
122
174
161
207
239
173
190
174
263
181
201
169
173
192
209
184
129
273
264
181
188
129
205
244
162
239
210
251
186
173
173
190
234
195
192
201
194
143
176
241
244
268
178
184
249
246
197
236
164
219
146
192
205
202
218
259
274
115
155
152
182
199
201
225
176
302
203
156
258
115
254
193
244
229
296
204
129
241
188
129
253
219
217
176
164
191
249
158
185
268
245
129
324
183
160
130
189
216
193
204
213
161
151
186
226
129
183
128
225
204
200
234
129
187
153
255
168
221
161
226
173
129
200
231
162
254
239
204
209
187
178
189
183
244
151
155
230
164
257
159
130
150
214
130
215
248
178
162
182
181
191
209
143
173
156
184
161
180
245
204
213
188
231
246
222
199
183
185
208
279
185
206
193
240
206
246
184
234
196
196
258
210
187
186
183
162
167
242
247
224
195
170
212
211
200
209
204
207
252
178
240
158
242
178
283
160
215
213
252
278
166
176
211
130
255
248
179
283
184
160
184
184
230
172
221
184
176
210
133
186
160
173
189
173
216
195
213
276
182
187
176
167
164
231
280
173
288
189
199
157
156
187
211
231
214
176
202
146
260
173
176
122
115
182
181
179
228
210
212
178
191
167
160
179
305
213
260
144
164
192
213
206
226
262
218
183
292
196
207
115
208
201
154
204
184
193
184
236
206
143
176
129
202
200
129
185
249
151
190
161
211
229
203
191
205
115
226
182
128
157
219
195
148
250
217
176
185
183
197
176
168
236
157
146
155
205
183
208
178
176
158
211
248
191
129
224
184
130
190
128
158
146
169
201
244
183
167
146
195
124
217
270
130
200
176
185
269
230
141
162
206
211
211
207
161
194
221
197
170
143
143
195
157
205
221
231
203
211
170
170
201
132
212
187
181
176
244
179
178
272
191
335
188
257
130
263
160
234
162
237
213
197
228
238
161
263
258
205
184
277
251
258
261
197
156
190
210
168
146
179
230
179
202
230
264
179
210
206
173
157
222
145
237
168
185
188
229
176
129
238
202
249
129
206
188
173
255
157
194
206
226
202
173
217
130
146
119
232
178
178
281
146
195
162
250
154
156
220
214
156
163
178
276
203
171
182
162
203
130
160
153
146
236
230
239
188
169
188
209
150
133
183
130
149
193
212
182
202
236
194
189
144
186
253
187
223
259
210
210
150
217
191
155
173
178
195
130
250
265
174
204
130
179
222
191
189
225
193
161
129
239
180
204
235
228
184
181
198
183
192
145
190
210
141
147
201
129
175
208
203
184
206
188
230
200
245
238
201
146
130
225
173
223
151
191
224
238
173
158
145
204
259
189
217
252
204
228
164
164
145
170
335
226
180
146
250
145
164
178
189
190
194
168
211
155
201
206
182
192
219
141
209
150
146
230
187
215
171
312
222
210
230
230
168
210
201
231
185
190
189
209
210
223
211
185
115
218
206
129
222
173
230
196
132
278
141
182
186
230
176
115
183
143
264
130
183
156
186
204
180
188
185
213
211
204
205
171
204
201
241
171
236
158
228
194
231
173
173
210
155
173
220
150
210
188
240
231
184
173
241
204
115
221
144
200
176
295
237
173
138
245
204
217
207
158
174
137
266
200
160
162
183
251
231
202
202
169
199
200
143
187
232
255
191
243
176
173
225
151
191
192
115
129
244
166
145
241
208
160
211
182
173
202
130
223
204
143
174
130
179
129
211
174
232
176
157
175
184
141
138
180
214
191
180
243
216
229
130
223
226
195
200
130
162
194
200
211
179
222
238
204
183
227
122
248
166
249
265
130
184
166
128
186
183
166
178
182
130
146
159
211
185
217
130
265
275
198
144
192
193
130
192
179
195
262
169
264
174
263
176
131
153
251
227
217
122
164
194
130
162
189
247
229
146
169
211
256
204
236
156
162
173
171
158
164
173
129
146
204
236
182
163
182
211
168
173
275
227
195
179
226
155
184
199
184
128
162
179
235
207
262
210
259
183
188
192
222
115
145
146
145
211
230
173
157
164
184
156
236
232
169
130
179
204
194
268
185
193
182
252
190
201
168
248
173
238
183
210
204
238
187
258
170
162
210
180
168
185
179
222
212
180
162
210
217
171
173
181
190
161
189
179
191
246
192
201
204
191
261
227
228
189
130
260
201
179
277
247
173
177
192
184
197
169
168
190
180
227
281
145
168
183
274
239
153
202
210
238
218
193
130
209
224
186
247
217
193
228
161
143
201
176
217
164
239
211
189
173
240
133
115
223
191
169
209
266
203
179
200
217
173
215
184
196
257
251
150
191
157
187
186
155
180
221
222
200
269
128
184
169
145
209
216
214
129
175
254
211
259
242
130
209
194
202
160
233
230
194
146
204
239
184
130
141
239
243
204
165
261
218
129
194
214
184
202
175
189
242
247
173
153
230
171
161
129
246
181
175
129
218
258
217
174
179
146
192
183
236
212
225
265
243
165
266
182
201
158
213
200
173
225
183
248
174
180
186
235
191
215
239
146
265
203
130
179
232
168
205
173
201
205
193
158
194
157
229
149
212
180
196
187
158
145
252
283
206
133
203
169
262
148
128
175
229
233
179
169
170
185
186
259
227
164
200
222
247
149
210
204
319
274
197
183
171
183
217
194
189
221
192
256
286
146
129
170
185
192
164
173
228
188
208
201
130
129
178
176
188
152
194
141
166
164
180
266
225
211
128
183
146
252
201
146
130
130
179
179
176
156
184
223
230
233
199
242
257
226
181
211
221
158
162
194
279
129
191
178
204
183
205
186
130
192
173
226
206
189
263
150
145
175
129
143
221
183
158
197
183
296
130
234
200
191
174
143
143
187
204
197
225
133
144
217
193
192
146
191
157
220
225
182
243
176
210
200
302
199
227
146
138
145
168
160
215
229
193
201
173
204
216
266
168
129
130
192
222
186
146
164
254
187
181
230
201
128
174
194
239
219
188
224
178
202
195
122
130
192
209
155
150
189
204
209
176
214
211
257
210
129
164
183
191
204
259
274
232
167
240
190
186
236
198
230
274
174
144
179
199
217
138
195
130
179
194
234
240
210
174
236
204
202
225
179
191
175
209
214
172
220
184
130
133
267
176
168
193
198
287
157
189
257
206
179
143
222
189
129
129
191
225
271
159
158
163
172
168
178
200
193
204
179
221
217
199
129
151
184
129
205
164
186
192
212
201
246
210
165
251
177
129
221
201
168
232
182
162
130
153
298
236
204
173
173
197
219
115
180
239
115
176
210
184
158
228
176
145
211
145
185
242
173
179
218
191
129
211
189
173
176
236
176
227
146
240
208
211
200
182
283
230
174
227
195
173
214
159
266
230
174
204
228
173
255
201
193
133
182
129
149
243
157
236
182
204
160
195
267
214
187
192
129
199
172
144
143
166
195
191
202
205
146
181
157
257
227
231
176
185
159
143
196
161
196
248
200
275
246
213
204
197
159
191
246
193
200
187
184
230
143
129
241
189
274
192
192
263
155
191
281
202
119
202
160
182
218
230
257
189
208
202
208
184
146
229
122
130
196
197
178
303
242
190
204
275
202
230
162
143
180
256
146
246
246
214
168
176
130
186
175
178
215
192
201
152
173
220
164
176
175
203
115
186
216
182
247
203
129
257
247
252
176
179
184
223
187
236
293
211
130
176
187
178
205
303
189
275
231
211
197
252
158
247
164
194
186
130
129
145
162
129
193
178
187
207
191
172
214
191
190
159
173
208
173
210
176
218
250
173
150
176
195
155
141
213
237
231
143
168
268
269
205
202
188
190
258
192
234
184
219
173
138
239
255
176
238
226
131
197
213
237
174
198
202
129
193
129
183
238
173
231
145
122
182
195
182
168
182
146
209
157
272
193
179
183
147
219
211
155
229
235
233
171
141
191
165
176
190
209
216
237
202
202
169
212
177
222
227
153
227
130
133
213
146
156
167
184
129
216
214
201
204
169
175
182
130
239
159
195
164
160
186
129
201
264
197
150
173
173
190
145
164
130
115
156
204
133
129
147
191
156
238
184
177
188
182
141
225
174
195
208
198
145
239
115
210
143
172
204
183
146
184
184
171
132
210
167
183
214
157
141
129
182
217
206
146
150
185
202
155
268
177
230
207
238
188
157
225
141
208
257
145
200
188
166
172
161
173
172
148
200
201
251
236
179
176
183
173
179
236
199
236
174
129
236
189
168
146
196
229
208
215
153
236
251
217
129
221
264
191
248
217
225
190
180
115
250
261
181
204
173
194
230
189
303
202
264
228
193
163
130
204
234
204
180
204
226
264
180
212
188
231
168
214
228
192
168
179
146
186
251
266
204
190
174
166
164
141
214
178
204
238
211
164
133
146
204
189
164
185
225
119
215
183
129
240
155
207
231
129
195
189
258
183
197
217
122
185
183
180
197
211
205
159
179
156
166
213
160
155
129
238
158
193
173
173
209
201
229
174
180
129
178
129
183
171
210
149
193
244
308
200
288
164
161
122
164
160
180
160
129
204
253
200
204
245
270
182
222
225
158
208
195
208
159
197
241
162
185
216
204
176
171
172
230
119
259
161
222
150
203
172
217
247
211
143
160
216
211
168
180
245
256
183
212
176
190
130
244
159
218
175
174
193
231
242
141
179
176
217
182
195
195
168
227
204
129
222
226
155
185
130
241
204
229
129
189
169
173
201
164
168
233
264
115
192
144
242
132
210
115
146
335
155
285
281
162
143
230
230
214
234
182
158
191
217
189
200
213
192
201
176
217
210
174
192
218
156
162
216
170
210
217
211
186
115
141
211
227
211
211
146
129
160
204
173
145
132
201
131
202
162
146
173
162
256
247
176
192
180
225
201
255
199
227
320
176
173
193
195
191
179
147
229
185
207
168
230
184
176
203
146
130
186
189
194
219
240
115
208
173
145
143
129
156
141
229
278
168
215
211
188
189
287
225
234
184
230
115
166
146
253
285
173
178
272
184
192
188
158
176
205
206
170
115
141
155
180
247
235
217
200
130
201
184
238
179
233
182
197
189
178
162
169
175
146
146
194
204
186
274
224
179
181
143
164
284
251
272
173
141
256
152
254
212
212
299
209
254
206
191
230
164
204
168
200
304
130
183
217
155
216
185
183
247
175
221
145
212
237
218
181
299
204
160
201
169
176
169
204
185
224
230
164
211
200
252
224
194
217
250
166
174
149
204
176
173
195
221
160
130
217
180
146
183
264
146
176
159
145
223
211
179
144
177
183
173
278
239
144
162
161
182
210
133
169
145
130
193
214
168
133
222
129
151
218
201
160
176
150
211
182
160
170
169
211
211
195
247
173
161
129
236
180
204
204
161
176
159
237
303
168
190
248
188
204
162
180
133
143
146
236
221
204
230
173
226
210
178
192
211
130
130
261
178
170
217
150
168
176
181
130
195
182
241
158
234
130
129
204
173
146
227
195
220
168
115
188
145
222
272
232
217
208
195
253
188
168
181
207
244
115
187
283
162
169
160
237
176
191
223
197
156
238
163
211
225
115
236
207
157
176
184
166
203
244
239
208
176
217
179
244
224
187
246
217
164
202
224
168
161
205
217
224
205
179
232
217
204
244
130
185
198
194
188
153
230
175
256
162
245
130
217
173
233
133
198
238
166
213
169
202
201
274
239
146
157
217
199
203
179
186
230
215
190
193
255
129
217
216
146
168
168
230
307
159
181
174
194
217
179
176
237
239
222
222
207
172
233
257
303
163
221
226
166
204
240
176
287
185
158
172
173
204
217
171
135
166
162
211
176
209
301
208
217
185
143
129
201
173
149
200
180
263
173
237
201
173
182
226
176
172
237
210
214
157
186
179
146
261
186
259
209
245
199
219
181
200
187
274
185
200
187
189
119
210
217
130
214
200
198
147
173
185
208
210
196
240
217
219
184
177
178
158
193
199
192
220
335
130
181
180
177
168
218
192
217
158
186
172
115
163
189
210
236
115
210
130
165
264
210
201
143
244
235
239
211
210
198
173
214
202
204
201
215
225
190
207
180
210
143
185
143
226
176
292
173
199
242
182
146
130
206
168
185
183
173
239
187
140
174
264
252
198
210
129
129
245
166
190
251
144
248
203
235
224
115
195
179
168
242
130
224
191
205
218
225
238
149
178
244
176
250
130
180
171
175
203
197
146
232
206
182
160
185
193
195
150
180
219
235
122
186
211
207
149
238
172
205
264
141
146
150
230
211
174
133
164
236
130
129
188
176
210
204
211
242
204
208
179
161
186
158
162
208
248
278
162
202
231
202
128
157
189
180
188
217
145
190
184
176
260
205
176
257
234
220
255
193
143
186
264
173
215
138
188
240
160
155
221
258
176
192
227
237
197
218
129
255
146
233
277
115
216
173
211
176
173
219
258
155
224
189
214
146
248
235
217
211
167
217
161
196
173
187
184
169
193
247
228
227
173
158
212
230
203
230
178
228
168
209
143
210
197
229
257
156
192
175
238
200
225
211
170
173
210
214
190
182
229
189
259
236
229
130
199
138
239
146
210
258
164
160
143
151
249
206
257
194
166
324
195
202
143
171
173
206
146
129
190
210
206
202
190
133
185
193
115
183
202
146
173
177
202
222
204
188
184
264
191
147
198
188
254
217
293
170
187
169
182
201
173
212
166
210
173
201
160
162
218
187
162
169
216
188
211
130
219
161
208
184
179
238
231
158
176
146
209
200
218
191
176
191
167
275
158
204
183
191
206
241
130
238
198
263
206
155
160
146
201
198
133
194
190
230
211
244
178
210
161
216
203
229
259
178
162
235
264
264
191
176
130
171
176
219
206
159
171
269
146
237
239
115
129
192
191
191
256
174
168
130
174
213
157
175
181
115
130
208
209
150
236
196
150
180
219
173
144
200
170
133
195
164
115
233
160
169
264
145
176
265
169
155
203
179
249
130
191
146
162
146
179
300
179
202
166
192
199
204
201
213
176
179
221
184
160
242
162
172
335
210
194
176
146
173
162
198
159
213
252
176
236
150
130
185
231
189
146
164
194
185
182
173
205
204
133
190
161
207
200
169
166
222
275
164
184
217
129
210
202
174
258
204
260
204
130
201
138
174
238
200
223
279
270
262
193
225
195
225
281
191
160
210
130
166
166
222
258
158
122
147
169
225
156
218
256
230
248
158
231
200
168
250
261
206
183
146
187
191
176
193
171
228
119
179
238
172
220
209
145
190
216
249
302
209
185
202
191
178
191
166
246
225
230
227
179
262
115
164
198
217
301
235
216
180
130
190
174
229
215
145
162
325
204
155
226
159
268
178
150
195
145
141
265
273
188
211
230
202
185
288
188
191
241
189
256
188
213
264
129
227
194
162
169
209
263
220
200
202
146
197
212
184
200
161
222
264
247
168
199
264
119
129
210
155
115
260
216
173
164
207
208
166
239
212
145
180
176
190
191
166
250
173
169
297
161
183
208
285
254
195
189
236
207
173
145
308
168
174
144
191
160
231
258
311
178
193
183
199
155
129
190
204
143
163
222
230
173
133
192
146
192
198
174
265
202
206
145
238
180
146
158
188
185
234
243
208
171
214
258
169
167
188
184
246
162
146
181
133
193
176
171
160
184
130
184
235
146
225
184
170
235
173
233
217
162
145
198
210
329
209
198
200
198
213
179
164
199
205
217
185
186
166
197
181
288
190
162
185
200
217
203
181
133
151
179
149
178
200
195
173
208
264
177
153
146
158
229
168
187
155
210
229
170
212
212
216
223
201
256
130
222
235
176
164
162
204
129
176
335
202
171
237
202
122
242
211
210
177
164
191
145
164
129
161
129
156
210
218
182
156
162
189
146
168
227
129
234
234
235
235
184
184
212
157
195
155
198
260
153
149
177
179
218
192
225
231
204
122
179
175
158
167
131
149
187
163
278
218
232
211
155
158
158
262
164
152
212
165
176
222
129
213
153
252
170
179
170
209
122
162
204
219
252
185
247
168
204
192
210
264
235
282
200
164
220
189
193
130
226
165
184
231
217
229
153
181
162
210
158
133
164
184
157
234
231
197
290
209
214
158
146
149
221
178
157
155
130
204
216
229
275
186
176
156
167
212
202
163
236
244
155
233
245
181
159
171
203
162
138
206
216
169
268
186
197
248
162
179
184
238
175
223
204
163
231
143
178
183
173
211
269
122
168
168
215
182
184
263
201
152
166
207
217
158
265
311
264
147
217
165
179
173
178
214
198
247
300
176
178
202
239
242
176
176
204
217
146
180
228
129
217
223
246
115
298
133
159
128
174
195
192
230
177
241
238
175
221
219
164
272
201
228
211
179
174
212
158
194
179
164
149
186
242
198
192
211
133
167
146
225
201
130
223
206
180
146
166
205
211
144
133
149
185
159
205
233
241
174
201
228
167
226
195
169
219
168
190
189
209
145
200
242
159
230
211
219
241
160
129
209
263
214
188
146
202
202
204
261
190
119
176
226
184
156
285
221
184
257
183
238
167
219
115
256
182
264
200
217
158
176
213
161
274
173
119
214
230
183
261
252
180
182
184
215
236
176
264
229
270
175
204
236
179
204
199
218
176
166
146
251
231
176
176
191
202
130
217
225
185
176
155
215
284
194
178
173
173
168
204
129
169
167
183
155
178
176
211
206
185
199
266
210
224
239
258
189
283
179
238
176
201
288
160
264
236
130
202
217
184
179
198
240
162
174
256
165
156
202
209
278
183
174
173
180
240
145
230
229
146
217
200
197
240
230
241
146
204
146
192
215
184
205
206
199
206
169
228
173
166
181
180
227
161
164
145
254
129
206
249
209
145
259
167
164
162
203
178
130
133
138
229
204
217
213
194
158
144
164
217
149
174
264
182
146
191
149
174
274
204
159
181
177
164
173
176
240
188
180
182
180
282
146
191
173
239
258
146
130
194
273
218
180
217
130
129
122
186
203
202
188
180
177
214
204
155
128
129
278
267
243
146
202
201
239
238
144
164
145
176
176
218
218
186
188
244
162
178
276
174
211
182
178
228
176
257
238
176
156
208
242
185
253
178
189
226
208
182
173
161
168
156
234
186
141
130
210
173
252
212
256
192
192
210
226
210
173
210
138
217
202
187
129
145
236
252
130
143
246
232
184
195
184
129
258
191
217
146
216
181
202
133
153
144
129
162
231
173
249
236
265
240
184
225
130
171
173
240
182
173
227
172
226
146
247
133
190
129
150
180
176
129
184
212
211
166
238
217
156
156
198
210
309
178
174
209
247
234
164
130
236
129
214
229
206
217
229
181
115
230
183
201
176
258
258
198
193
239
201
232
202
283
158
150
277
206
128
158
138
207
184
188
203
240
185
193
253
200
174
176
185
218
195
231
203
221
227
206
171
200
181
229
181
282
238
129
179
254
179
204
227
146
204
133
200
215
177
270
267
186
187
146
222
282
263
190
250
193
179
159
191
224
259
242
146
173
130
213
206
266
157
217
130
158
197
173
266
172
161
175
250
206
159
146
141
173
171
231
141
211
225
204
129
172
143
167
217
146
242
176
172
161
133
185
163
201
210
183
215
146
158
181
173
164
176
122
180
157
206
207
115
192
204
233
190
229
173
227
244
212
182
226
161
176
217
227
246
209
242
219
223
178
200
201
197
132
230
285
214
192
188
179
130
129
209
158
129
207
222
230
206
158
190
176
208
193
168
253
187
203
213
156
221
200
183
133
146
146
173
300
170
274
133
187
222
201
210
300
145
199
244
156
210
179
191
182
263
173
214
222
191
146
176
210
227
207
237
176
266
186
146
122
161
236
190
222
198
146
183
179
129
163
257
178
200
179
173
162
173
228
115
216
146
223
167
250
149
176
256
129
205
188
203
195
247
204
185
210
196
245
166
170
175
144
178
254
216
229
187
204
161
178
252
146
231
150
211
222
183
232
208
184
183
209
141
185
168
168
191
146
217
177
293
211
188
244
203
233
210
239
266
201
188
194
155
229
184
188
164
241
248
184
176
182
231
174
174
200
183
115
146
161
178
279
186
185
206
238
216
203
164
198
225
181
229
227
198
192
163
201
158
278
143
204
217
174
158
202
157
152
155
182
204
173
241
211
129
228
238
265
208
232
141
169
146
249
190
130
183
183
230
176
194
188
218
176
238
180
146
152
182
149
241
217
146
249
194
176
235
209
210
167
143
296
300
192
204
204
229
138
217
199
299
217
226
233
193
217
182
217
201
190
229
284
157
304
197
179
240
227
160
181
242
162
162
204
221
182
161
210
191
176
202
169
185
228
201
168
219
168
194
170
138
161
157
176
191
169
145
187
194
274
130
119
176
144
264
146
166
200
206
141
186
156
201
181
243
204
204
191
182
158
191
146
145
184
146
146
207
176
217
225
188
247
145
185
129
204
176
143
203
180
206
214
158
195
192
271
210
206
156
185
274
262
217
193
172
201
174
204
239
213
201
176
130
151
189
270
180
222
225
129
230
256
143
231
152
173
181
164
238
155
182
234
190
227
241
158
196
197
157
180
274
233
176
222
143
226
183
176
178
129
197
179
186
335
184
143
183
191
157
163
129
130
203
218
174
203
145
234
173
239
195
122
160
115
149
179
162
204
216
169
179
255
206
146
200
189
206
206
219
319
149
211
174
194
156
189
219
129
197
201
205
144
130
217
191
171
153
163
175
184
200
205
129
145
237
115
170
221
130
223
158
202
168
130
182
227
189
261
208
159
115
248
264
173
184
176
217
164
179
178
115
173
243
133
183
173
146
184
215
183
183
205
176
225
227
238
230
176
204
169
225
256
203
190
217
201
178
161
206
146
261
181
246
222
146
155
190
184
219
182
166
231
169
176
193
178
176
224
200
175
221
129
161
175
181
188
185
211
199
185
199
244
119
129
166
152
173
130
152
261
204
180
132
133
141
216
180
217
195
196
202
173
191
204
252
173
203
227
194
146
177
146
160
183
198
285
130
168
210
230
227
187
186
181
202
184
213
180
176
266
207
176
255
208
181
130
179
179
129
174
149
278
158
242
173
206
204
248
138
145
204
232
178
206
201
203
216
236
197
236
227
169
193
174
194
223
222
158
288
122
168
248
179
214
236
146
297
146
201
146
182
146
122
210
262
241
247
157
225
166
225
204
211
200
255
274
185
194
145
202
175
129
160
193
177
246
197
180
229
146
203
204
202
204
162
130
129
201
160
173
202
192
240
181
129
133
232
376
133
168
173
272
210
277
191
170
184
181
191
200
184
168
178
210
129
180
170
221
150
216
151
216
230
210
180
215
167
249
151
207
215
182
133
141
129
335
249
226
226
220
184
130
193
191
250
143
186
195
264
222
193
201
176
229
146
206
130
173
189
244
186
229
245
176
179
183
204
191
143
206
239
244
182
150
129
129
186
215
163
162
191
184
129
130
173
263
203
271
173
230
274
227
226
210
129
143
179
233
227
188
238
170
180
191
138
216
189
128
191
180
256
295
214
205
204
279
206
146
168
244
157
160
192
188
184
179
188
171
130
205
130
208
178
146
238
152
193
179
156
141
178
220
285
158
217
143
130
185
251
204
195
144
171
139
143
160
294
232
206
194
215
238
179
131
161
169
222
130
173
133
257
219
176
238
182
133
241
181
179
200
242
184
216
215
221
266
150
145
214
194
151
164
194
172
170
232
217
176
184
195
170
176
130
206
129
209
235
173
149
183
129
183
150
230
162
204
130
133
211
204
183
144
219
145
179
216
206
164
191
168
145
210
194
130
191
247
217
173
167
162
173
217
185
197
203
195
191
230
174
202
194
197
176
239
191
271
179
191
213
115
168
181
203
176
230
146
203
146
180
228
217
200
194
263
251
165
130
201
195
141
155
225
157
214
203
221
173
193
198
143
214
176
194
235
164
204
214
153
205
250
181
161
192
204
218
210
182
204
214
200
205
143
174
203
193
185
173
185
160
193
115
227
179
193
166
145
138
246
258
169
183
187
217
190
122
122
173
221
177
173
203
143
182
129
229
172
300
119
244
129
115
216
234
182
211
166
228
265
210
206
180
176
164
176
201
176
216
166
133
152
132
130
169
130
157
260
189
202
183
210
174
146
181
129
182
280
180
202
251
156
174
203
213
267
202
209
254
145
184
233
173
208
151
129
221
209
211
257
261
204
171
264
263
140
173
201
204
176
184
115
169
214
207
226
196
153
215
200
130
129
212
202
214
176
225
251
164
191
194
153
138
204
184
237
198
176
219
162
256
291
267
151
193
183
155
197
185
181
245
185
198
186
129
148
145
168
239
160
211
174
168
204
179
212
129
178
182
238
169
257
184
247
129
210
170
173
254
275
199
130
192
244
271
193
192
259
209
153
235
145
143
184
222
129
174
122
173
225
227
234
262
188
239
158
169
146
238
188
204
208
255
188
145
143
206
204
239
167
156
237
194
176
193
227
145
175
231
146
209
216
201
189
143
181
215
222
133
209
237
238
191
132
167
174
173
218
173
162
192
255
158
173
176
176
183
181
145
187
161
237
201
210
166
153
161
115
204
197
200
122
287
197
172
191
222
206
263
170
141
249
186
255
238
130
248
197
130
153
162
174
138
210
209
193
179
150
130
197
204
231
180
237
209
132
223
189
242
162
182
204
160
171
188
155
198
204
199
145
190
188
210
145
241
199
177
153
145
224
258
244
115
211
264
159
143
171
191
130
204
158
212
158
222
197
176
147
185
181
209
200
260
158
267
241
182
168
263
236
144
242
164
155
145
211
147
236
190
202
201
144
181
149
191
199
173
182
214
172
176
162
216
178
232
186
130
233
226
204
238
231
195
242
202
199
209
259
151
283
204
257
130
175
208
143
269
228
173
133
186
173
183
174
129
193
146
264
185
219
188
181
219
192
210
269
171
173
169
173
217
158
165
183
141
128
169
191
168
223
187
228
180
197
173
173
216
173
222
173
173
185
145
164
173
190
129
166
150
169
130
195
274
179
262
182
204
170
133
260
202
156
176
230
184
206
188
185
129
146
263
173
143
176
133
182
239
168
156
167
236
146
174
194
179
168
229
144
115
202
185
128
133
186
271
218
145
176
210
216
192
197
279
210
141
147
186
174
225
140
129
173
217
156
215
165
212
178
130
199
270
218
234
207
222
192
249
180
143
145
160
151
233
228
202
247
205
204
216
219
172
193
168
185
244
200
177
254
217
264
192
296
242
150
151
256
227
145
162
197
181
227
207
204
158
158
213
230
238
236
162
248
200
146
144
164
168
183
173
173
185
225
207
221
231
146
122
184
239
146
190
265
184
178
133
157
183
149
204
216
222
173
150
206
173
217
146
152
272
146
153
301
215
131
180
202
211
333
180
173
196
160
200
215
200
236
145
164
129
298
215
229
215
217
157
184
251
166
219
203
219
229
179
122
192
189
162
213
173
166
184
182
176
176
211
184
260
200
205
155
174
205
143
184
130
200
189
128
146
228
158
168
178
250
204
201
223
207
241
145
146
299
164
217
173
178
183
239
305
217
267
158
199
204
191
221
168
266
229
238
169
252
168
143
173
190
115
255
158
129
201
183
255
280
176
130
248
173
201
176
153
173
131
210
164
146
201
199
210
205
241
168
167
129
239
193
185
146
146
149
183
184
184
173
204
162
150
159
210
230
179
187
171
202
191
230
198
176
228
233
217
181
194
179
220
129
204
129
155
133
158
129
229
183
239
192
143
160
130
162
319
183
228
132
229
133
156
192
115
188
170
185
169
143
267
146
158
207
129
173
199
201
247
202
193
158
188
204
204
182
243
173
233
206
168
300
245
230
176
159
197
196
184
168
223
285
225
201
255
181
192
194
155
261
260
129
235
133
133
200
143
168
146
183
231
219
153
194
210
192
210
236
157
179
199
169
173
335
210
288
242
184
195
238
210
164
167
145
258
202
182
200
145
199
166
204
202
242
245
145
179
173
146
145
146
164
222
128
206
182
147
186
186
191
247
172
211
205
173
179
211
229
147
288
244
222
207
165
258
202
195
197
195
213
185
166
174
264
204
129
176
175
210
211
211
176
180
176
194
238
250
129
245
146
143
226
133
146
143
155
234
173
225
201
197
161
280
209
166
146
210
161
203
239
170
147
208
192
259
182
204
146
182
168
192
216
188
274
129
257
229
189
150
173
145
188
182
226
173
243
222
217
182
222
283
128
234
200
204
214
200
209
199
248
160
200
276
133
188
178
211
186
204
173
147
204
210
182
176
258
128
216
203
164
146
150
200
115
264
184
200
337
213
214
181
130
150
238
204
176
179
188
217
222
203
149
119
200
256
208
217
158
233
213
260
183
129
149
230
213
180
180
204
181
173
236
215
201
192
182
238
219
201
173
187
146
178
185
247
316
133
220
173
211
233
162
202
145
238
146
236
156
164
203
260
145
131
206
169
192
224
146
204
192
198
254
180
184
202
202
202
246
202
157
178
207
188
190
256
176
172
221
199
201
186
185
182
175
176
219
173
197
156
242
211
129
173
210
202
200
171
211
191
247
209
173
204
173
145
277
173
220
231
204
128
200
252
246
194
174
186
130
143
178
149
222
155
188
302
203
165
173
172
197
146
146
130
129
156
216
209
176
158
226
166
133
196
193
180
182
190
129
181
129
204
213
200
228
150
150
211
242
115
147
214
179
129
201
229
211
215
221
162
164
303
129
158
239
231
204
179
264
206
160
177
189
230
246
190
238
230
263
132
240
204
241
162
133
180
180
195
262
189
264
133
129
216
201
210
130
211
233
263
225
210
174
164
225
217
192
186
158
216
216
158
256
198
209
248
176
256
143
184
251
204
201
284
246
217
202
188
236
230
216
143
168
230
237
217
130
195
130
214
190
276
155
261
153
273
143
211
218
155
211
239
227
211
238
182
129
198
181
232
129
225
176
181
216
150
186
130
168
165
217
286
183
144
130
210
157
204
207
173
157
167
178
146
169
119
228
163
156
299
210
129
203
158
206
238
155
155
228
258
182
230
191
185
189
155
185
211
214
210
141
236
180
204
219
234
184
133
163
150
173
268
192
146
262
129
204
237
146
219
146
130
186
173
130
129
173
158
187
210
185
207
219
178
179
167
211
115
176
228
180
194
206
130
209
214
204
238
228
257
212
211
210
281
179
130
247
174
180
145
204
184
173
143
223
242
211
247
168
129
230
176
256
182
145
206
157
166
166
182
129
160
179
183
211
212
165
191
132
173
160
229
173
204
309
162
216
145
133
194
164
194
155
217
239
184
191
146
210
211
129
172
156
160
274
181
198
158
185
227
173
177
229
191
224
225
207
179
216
130
203
231
160
201
194
129
127
253
214
258
129
193
159
247
221
272
224
206
122
208
161
183
204
129
185
202
211
201
296
182
171
129
176
141
242
115
193
176
164
200
168
237
179
206
132
129
160
173
184
146
199
193
239
153
176
172
176
183
233
187
209
183
206
175
158
174
257
176
200
190
201
146
133
173
162
182
169
175
170
167
216
211
190
166
179
217
164
261
236
190
196
160
275
129
167
227
259
246
199
158
191
248
191
210
166
249
256
216
217
270
226
204
203
214
217
168
176
186
187
222
204
149
261
146
162
211
198
195
214
198
145
163
206
211
141
168
239
215
176
115
228
182
226
183
188
172
195
222
191
210
214
191
176
225
195
178
169
181
183
200
153
169
201
115
238
200
129
151
115
115
211
210
166
144
204
145
206
176
174
169
235
211
215
130
164
132
200
201
262
131
196
192
145
189
208
236
191
171
156
168
129
216
205
201
238
179
173
199
184
158
171
143
235
196
178
266
157
179
219
184
178
238
214
172
133
143
222
167
230
130
228
194
178
115
152
173
130
137
176
204
274
223
266
168
247
210
164
222
161
184
139
211
192
244
202
221
158
210
182
232
259
275
157
196
189
173
204
282
130
195
236
173
207
173
129
168
211
193
228
236
188
171
253
178
191
141
223
172
219
171
146
229
192
179
176
213
186
173
238
163
210
145
179
225
202
198
204
176
200
172
183
190
224
205
230
202
274
174
129
146
248
162
258
149
146
238
195
179
182
203
231
167
138
204
187
195
173
198
146
217
173
195
115
258
115
198
206
194
224
219
228
188
151
133
176
158
168
234
155
146
162
164
166
217
180
222
129
188
163
217
299
149
187
210
138
130
130
162
170
176
201
249
240
199
176
186
188
179
179
181
176
229
146
229
147
122
169
176
185
198
210
115
210
190
146
187
230
183
203
178
195
162
175
205
218
178
143
251
235
180
251
224
173
146
241
218
184
176
226
228
210
189
176
129
177
164
161
180
172
162
129
186
176
217
208
180
212
173
206
184
160
268
183
248
184
175
225
201
150
156
129
176
155
164
146
270
129
255
161
216
193
176
115
210
204
264
169
214
211
207
239
232
179
289
204
129
130
130
190
236
130
204
212
215
180
159
278
201
173
202
133
146
203
164
129
170
146
176
204
264
146
215
254
211
182
259
189
200
153
237
202
232
231
202
179
203
174
189
274
173
132
166
190
204
217
129
174
204
172
128
146
122
169
166
214
115
208
207
161
130
179
237
133
189
226
222
217
143
164
211
184
188
202
184
217
173
224
211
253
214
194
206
202
182
204
208
162
204
228
206
220
168
231
227
213
115
133
168
181
186
225
163
188
250
182
201
207
232
168
188
169
174
176
197
210
188
289
255
168
158
218
226
200
130
218
216
203
262
258
169
211
173
202
200
222
191
156
183
231
183
227
158
182
115
152
150
199
251
205
151
168
186
230
211
168
230
294
150
259
156
210
200
208
169
170
210
239
227
210
248
192
146
191
213
156
214
164
174
230
263
190
173
222
191
167
156
160
181
190
185
201
183
236
201
185
130
244
175
274
183
241
201
181
164
176
240
200
226
277
171
204
159
236
158
184
164
209
242
248
146
195
203
115
217
211
222
206
238
210
203
205
207
235
227
197
178
181
229
180
211
141
156
145
194
180
156
230
173
173
147
218
251
249
210
231
284
176
203
158
200
157
180
210
158
243
204
183
195
220
203
173
252
146
227
202
177
192
238
254
130
217
157
227
217
143
190
141
255
179
279
165
169
192
269
174
210
191
256
211
204
177
145
211
277
173
189
182
203
179
204
277
204
129
195
129
129
204
256
197
145
222
202
195
199
176
155
195
115
181
195
225
244
206
202
202
204
185
213
185
175
176
171
142
200
257
181
217
122
192
203
188
217
169
166
175
257
146
324
163
270
229
173
213
233
160
210
145
227
130
180
182
223
193
205
238
169
129
203
214
242
238
130
208
151
201
248
133
192
178
133
208
183
212
176
147
173
179
179
207
217
236
181
151
166
181
184
255
210
225
182
176
156
264
129
180
227
202
182
187
221
189
191
173
180
211
194
168
182
146
179
190
158
179
164
166
184
223
138
244
172
252
226
173
193
156
201
172
185
146
218
130
169
153
222
205
247
176
181
254
162
239
129
185
215
180
146
206
254
200
253
186
238
193
217
224
204
176
200
179
195
158
225
145
198
296
200
214
173
259
176
238
209
179
235
173
184
205
184
179
181
287
232
259
178
150
204
204
189
204
181
225
152
130
146
130
213
179
191
199
167
179
219
179
185
217
223
248
184
194
204
164
144
156
169
202
234
204
185
241
173
166
211
194
233
176
170
169
160
226
180
163
211
272
182
238
218
173
216
176
182
229
199
193
156
203
217
115
214
228
181
160
165
152
188
300
129
204
129
146
180
151
150
197
155
174
194
133
182
185
185
243
175
252
204
247
176
201
223
146
266
168
182
195
236
184
184
115
207
176
205
211
283
219
173
204
180
204
180
141
200
179
225
245
210
204
162
161
115
161
213
205
176
214
201
187
173
146
217
254
289
166
158
307
185
190
238
206
173
180
162
192
130
227
230
158
227
146
185
244
177
155
238
211
187
178
200
129
168
176
195
152
206
176
129
174
218
200
147
164
293
195
172
158
255
167
246
173
230
247
202
225
146
143
115
199
130
196
252
179
183
204
190
129
133
231
206
296
234
207
241
206
201
173
174
151
193
224
219
156
191
195
183
129
239
199
158
204
197
176
143
200
176
275
203
160
208
194
191
206
129
192
146
145
210
182
171
144
131
133
285
216
151
210
287
199
183
236
179
155
209
143
215
162
178
215
146
169
217
211
192
172
219
146
155
199
143
210
261
236
145
238
237
155
186
179
246
207
168
280
189
158
146
188
201
176
234
152
182
146
262
133
209
206
146
229
155
170
173
202
167
221
131
160
161
181
272
202
178
162
169
286
226
169
176
147
227
201
211
202
254
238
204
263
250
175
264
211
133
210
188
237
217
197
204
210
196
206
226
204
138
204
191
192
155
181
250
193
179
151
168
264
176
177
217
242
181
217
231
168
222
208
186
206
233
217
150
129
263
200
173
137
175
146
192
239
200
265
270
191
211
191
175
176
145
173
253
219
199
187
211
168
274
299
223
288
195
200
198
194
130
174
210
217
164
115
256
168
149
170
182
217
146
173
205
204
238
260
173
227
247
228
152
144
173
263
217
146
193
146
132
214
208
146
211
170
168
152
221
169
230
206
183
188
175
205
129
225
146
184
162
227
244
182
261
168
146
115
206
145
256
180
249
217
190
196
211
228
146
181
185
258
186
184
224
163
169
165
263
246
244
133
230
203
217
201
146
181
176
146
130
129
130
200
239
279
221
156
173
192
174
216
240
130
188
248
153
184
243
184
180
300
224
155
233
181
183
214
146
180
191
253
173
225
155
221
161
212
214
166
146
206
187
179
203
179
211
146
147
175
208
210
162
188
218
243
198
213
217
156
151
237
214
149
226
164
236
202
211
253
222
150
168
257
149
168
208
169
210
180
192
210
182
201
180
189
179
204
156
257
259
194
246
164
221
218
187
168
145
187
159
221
138
146
242
211
178
184
191
217
207
257
146
169
178
164
203
221
210
201
201
204
171
205
184
170
164
202
242
190
151
130
224
194
200
283
202
129
179
204
210
227
335
168
169
162
130
296
130
154
196
227
199
234
181
177
268
143
145
176
230
146
202
188
217
234
130
196
200
230
195
138
155
130
249
115
189
219
246
211
193
182
149
138
197
129
201
179
202
144
179
174
172
115
155
179
206
210
214
133
204
284
146
231
214
199
150
180
182
164
217
201
133
143
228
161
183
201
231
178
130
179
204
204
129
181
201
211
220
177
202
199
220
173
173
208
192
206
184
202
261
234
156
192
129
128
146
220
233
184
142
176
239
216
141
133
193
214
173
164
198
155
157
159
176
157
184
199
203
173
169
176
155
204
173
206
130
155
250
138
222
210
264
176
130
133
176
202
238
173
202
174
244
195
230
164
229
141
221
240
204
217
256
165
179
194
155
220
201
167
203
164
180
258
211
158
179
201
151
122
225
284
201
157
225
146
162
158
151
230
151
206
130
217
209
211
164
194
246
168
160
212
133
129
243
179
141
225
265
236
176
168
198
201
241
242
230
207
202
204
238
213
217
237
176
168
210
188
173
173
133
225
208
176
130
155
201
228
175
210
253
130
129
238
236
141
242
208
161
145
190
164
259
162
143
129
335
195
163
230
174
158
230
322
182
191
156
236
183
259
224
133
181
133
164
190
173
231
182
229
132
204
141
249
130
158
278
238
166
203
179
206
195
223
269
162
208
176
162
148
216
211
115
180
192
209
184
162
179
221
176
129
190
218
173
162
187
221
162
156
176
188
191
240
214
206
241
181
150
160
167
211
255
230
201
194
176
188
165
217
178
187
227
230
212
249
206
130
172
145
138
164
155
201
163
203
162
180
211
193
184
232
174
213
230
205
184
173
145
173
177
200
210
169
222
283
130
179
245
188
153
202
278
158
189
255
212
217
147
200
237
206
129
201
168
185
216
146
170
197
146
335
148
200
233
188
204
233
173
152
203
130
176
213
182
181
230
168
280
204
130
186
173
204
233
169
261
185
206
216
172
187
180
158
190
174
170
227
168
158
188
128
238
178
172
215
180
294
216
182
191
221
155
210
195
200
240
181
158
218
184
176
204
204
193
208
219
198
211
204
167
212
191
130
191
146
178
240
129
149
223
184
208
210
228
214
168
128
164
254
238
157
192
216
170
180
217
194
169
219
174
210
183
248
158
186
198
200
187
160
198
115
173
208
155
214
222
160
206
228
162
168
173
183
239
251
238
180
192
188
183
272
191
195
183
226
206
209
206
176
260
168
206
146
158
146
261
231
179
162
141
161
180
178
182
164
133
228
239
146
189
211
198
215
194
130
274
122
173
199
219
184
168
204
173
211
133
240
129
238
193
200
198
133
214
247
197
235
206
238
162
202
172
196
186
196
176
129
168
177
200
204
160
190
182
210
238
167
268
173
203
162
235
217
188
155
149
261
235
194
198
187
177
129
200
196
168
167
197
157
275
217
201
250
191
195
211
179
201
205
130
211
173
178
211
283
301
182
239
181
227
261
115
182
203
185
178
195
146
263
200
239
234
158
203
145
192
173
173
274
283
213
146
200
273
205
177
184
129
173
213
238
206
190
199
210
215
173
162
251
198
260
234
174
188
186
222
191
206
217
218
242
162
193
202
283
129
129
206
238
173
138
241
230
185
194
229
133
212
230
190
190
184
188
239
222
173
133
169
214
203
185
180
324
170
203
286
230
189
188
191
133
138
251
200
283
146
218
221
179
174
130
178
252
222
155
130
129
156
175
146
172
240
196
184
133
208
203
226
240
274
168
256
203
191
191
222
146
129
230
149
218
221
173
202
168
179
256
147
160
230
198
129
257
115
230
261
214
145
122
184
146
130
211
130
133
201
162
130
129
222
163
176
215
225
169
238
240
200
194
180
262
204
145
133
246
219
206
272
211
191
249
153
262
115
168
151
230
150
254
200
189
185
206
186
144
198
129
254
210
238
145
168
192
217
141
129
201
264
165
188
156
210
227
122
217
239
249
146
180
166
258
168
270
210
206
220
193
145
168
152
222
146
183
189
157
228
203
166
256
174
184
210
179
179
176
144
159
191
198
156
128
225
248
169
130
198
184
210
207
217
243
205
183
217
130
156
168
156
229
201
189
231
180
172
226
130
216
167
179
199
247
230
169
176
181
201
143
202
201
179
141
235
223
255
146
253
184
199
146
162
152
156
295
129
130
182
178
141
179
275
115
166
239
195
191
145
210
198
179
221
129
273
206
197
191
217
210
211
173
188
205
193
129
208
230
155
227
256
146
210
176
247
210
296
152
130
218
174
212
140
156
249
223
207
178
191
205
239
181
162
206
254
179
206
122
143
175
150
204
130
206
145
240
150
202
206
199
132
254
204
192
219
182
200
164
238
236
191
156
157
151
145
187
176
210
161
162
173
182
287
158
156
165
258
201
164
201
168
172
182
145
175
185
166
258
130
184
182
183
185
250
191
164
164
171
150
215
224
185
193
200
244
192
158
230
195
184
230
209
133
164
231
234
146
146
217
141
206
186
185
146
205
173
199
173
149
213
252
230
168
160
224
151
232
263
189
206
264
225
164
171
177
211
133
179
192
234
201
115
176
151
302
176
180
168
184
183
115
173
172
176
173
217
146
168
229
209
182
200
206
256
132
257
217
194
187
143
253
133
184
238
147
168
233
204
252
156
189
221
176
221
166
173
162
160
130
155
297
145
150
173
176
179
182
164
172
210
204
143
192
181
219
224
186
168
187
168
219
242
180
176
180
143
195
188
217
214
146
218
231
222
213
149
129
187
173
217
182
122
193
295
181
188
180
178
131
211
180
179
168
225
223
244
184
183
179
145
217
173
192
211
166
151
147
204
129
191
199
188
216
232
158
146
217
141
168
138
220
180
204
202
198
173
206
189
175
173
301
181
261
133
133
210
122
275
218
250
146
221
230
173
162
156
189
188
219
263
227
173
143
249
174
183
211
184
182
238
219
175
206
184
285
217
235
173
269
133
256
231
233
162
185
199
130
115
173
169
209
206
187
204
197
186
189
146
145
199
160
223
230
180
240
150
252
141
204
168
282
195
230
215
217
204
258
225
249
205
216
261
203
164
176
169
215
204
169
185
228
242
247
204
187
191
196
179
227
210
181
210
156
179
200
185
192
158
173
164
210
188
198
238
264
285
232
212
145
261
262
208
277
204
157
231
219
181
157
189
159
209
182
214
179
181
187
182
173
211
215
203
146
173
191
202
192
238
259
190
206
173
287
164
130
193
241
281
261
129
166
129
259
200
130
198
258
169
238
155
219
164
129
119
146
204
158
172
259
173
210
146
210
195
130
230
122
250
164
216
160
215
217
191
192
172
141
217
174
145
236
162
184
204
211
167
169
187
168
222
211
201
215
254
193
225
255
168
152
129
188
206
205
204
193
130
168
186
173
176
160
178
172
173
180
210
184
166
199
187
149
175
199
200
243
210
194
158
115
335
217
176
181
133
168
158
175
176
247
171
230
143
193
152
162
227
151
204
239
178
205
208
115
143
162
217
161
237
260
173
225
133
209
143
184
183
182
133
230
164
230
251
251
146
250
268
207
178
194
244
133
182
158
186
270
210
145
247
130
186
205
185
210
255
157
172
128
169
232
226
169
263
188
225
182
179
164
164
200
239
182
262
234
175
155
257
155
264
222
214
201
153
172
211
268
182
239
202
146
214
181
129
236
177
251
209
132
129
182
241
188
178
217
175
174
148
169
173
241
146
181
149
211
197
202
217
237
172
227
206
210
228
181
172
155
187
168
202
200
130
185
226
205
203
190
208
131
130
195
211
184
129
270
177
225
122
133
255
236
158
168
172
189
225
196
322
171
198
211
132
161
219
200
143
217
132
155
210
169
232
180
173
247
223
122
133
241
173
249
231
204
191
170
249
146
173
179
188
155
178
204
167
155
211
200
146
189
264
167
256
208
180
182
146
168
155
133
207
162
227
190
174
225
166
217
216
130
186
230
164
231
259
231
173
130
182
129
211
181
150
130
197
129
185
206
192
138
130
146
173
143
223
179
161
210
176
179
182
155
191
239
182
214
189
222
160
204
204
167
173
250
166
173
169
182
236
185
185
215
226
243
178
188
200
146
287
230
174
187
129
160
130
210
242
250
217
242
227
230
209
225
264
206
176
221
198
180
206
212
195
184
204
273
130
199
155
141
194
132
184
167
200
115
234
314
216
184
145
181
186
247
191
217
250
204
171
176
200
261
211
206
173
232
164
164
227
157
150
259
264
194
115
129
238
261
217
210
210
146
185
297
186
196
231
201
175
188
178
157
217
192
146
197
161
178
198
229
192
145
152
146
238
168
255
220
184
178
183
133
236
138
180
183
199
195
143
168
181
205
146
197
199
205
245
187
197
188
186
129
210
204
207
183
217
164
195
222
174
182
184
169
200
173
202
239
242
138
219
150
122
129
191
244
222
217
200
146
122
229
191
181
150
189
164
168
183
174
224
258
143
155
166
191
301
190
253
169
201
221
228
185
122
145
207
185
171
242
201
200
146
119
199
122
206
143
146
155
155
129
217
309
173
247
173
196
190
185
197
129
132
195
189
210
237
150
212
201
227
171
264
184
206
191
157
243
248
173
185
200
214
222
181
238
146
217
133
176
181
177
169
179
180
187
141
194
173
280
129
229
283
168
230
197
169
184
243
204
201
221
202
155
167
130
262
272
273
129
283
210
271
169
230
198
201
169
179
262
216
145
166
188
227
178
155
205
133
166
158
172
225
214
178
198
239
146
184
200
202
185
169
184
129
185
153
206
184
221
158
210
222
195
185
176
182
180
202
157
204
271
129
176
226
173
212
179
176
145
173
206
195
172
236
178
182
207
239
130
188
141
179
201
260
234
173
189
306
217
202
182
129
173
153
176
130
162
161
256
167
196
226
132
212
245
238
181
235
204
197
132
204
247
186
133
138
168
229
158
217
165
204
158
206
177
162
129
209
203
183
246
197
185
212
132
226
130
146
170
156
176
228
173
206
186
161
262
183
238
225
200
238
146
129
162
171
191
146
184
182
171
130
291
162
203
171
236
162
292
185
165
242
250
176
115
210
149
235
244
160
202
162
211
217
130
185
167
160
133
203
141
200
169
223
246
157
199
173
209
178
145
174
198
171
232
222
195
206
210
217
147
129
257
155
162
205
130
177
162
178
233
184
187
179
146
176
259
231
156
335
183
129
263
181
173
205
194
200
206
181
203
238
201
159
230
214
179
167
161
179
168
194
261
201
158
184
248
145
138
183
211
183
164
219
160
296
239
165
203
206
115
146
196
149
181
157
173
194
200
172
186
222
174
173
214
240
240
189
183
183
146
164
130
215
130
335
219
217
214
212
178
170
190
216
171
159
150
232
255
210
229
182
194
186
156
174
189
221
209
150
143
187
230
224
239
221
192
203
238
174
169
149
129
221
168
156
183
173
146
184
200
152
178
161
251
192
204
144
222
174
218
243
207
166
270
191
162
178
173
197
209
180
173
184
185
146
130
227
168
159
157
210
219
184
187
172
168
143
187
146
231
152
205
201
145
230
184
209
232
286
274
156
146
273
209
214
179
201
179
173
211
202
128
156
146
207
179
335
186
226
130
201
173
225
229
190
204
224
228
155
207
183
176
190
160
146
203
146
149
205
230
179
129
175
147
198
210
182
215
225
174
216
184
194
203
193
167
240
196
209
245
204
146
170
164
204
189
169
204
259
205
189
209
174
204
203
203
236
200
264
258
211
218
176
238
162
170
227
198
155
164
162
283
201
152
166
184
132
185
129
217
214
169
210
177
230
189
162
217
129
242
319
265
244
179
130
162
132
199
211
182
200
256
133
181
173
165
256
240
178
158
221
179
158
160
261
266
222
225
129
229
130
168
200
206
173
243
192
238
198
216
133
186
206
143
202
210
242
222
211
155
174
158
204
199
218
207
176
197
213
248
253
273
184
183
188
237
146
236
153
190
257
173
160
122
191
205
167
201
168
222
170
224
224
157
229
267
143
156
179
146
179
180
168
222
240
130
174
192
217
161
214
184
181
162
176
146
167
159
231
202
146
185
204
238
178
228
133
146
164
167
210
215
224
178
162
181
194
189
303
201
188
204
184
201
257
200
206
161
210
242
242
173
158
143
190
186
187
158
185
195
199
264
238
169
225
152
264
252
173
200
144
166
209
133
222
195
217
206
157
202
236
204
275
168
184
183
130
184
182
195
208
197
186
171
183
183
201
217
229
258
204
173
164
130
200
244
133
176
185
252
173
181
188
212
133
238
191
158
263
152
229
234
130
130
229
210
207
191
122
151
248
173
150
185
191
283
182
170
156
229
222
195
211
188
169
294
156
203
166
210
230
182
206
130
193
182
158
239
192
271
145
173
232
162
194
167
222
222
210
263
303
172
205
158
228
138
226
217
178
164
182
210
150
200
129
146
129
209
129
146
186
164
167
176
182
162
168
172
176
268
178
202
166
130
210
211
188
185
176
237
178
196
222
181
199
217
206
178
173
242
138
180
184
217
235
242
180
149
183
174
210
172
165
217
275
189
190
173
208
145
222
146
204
213
201
216
216
230
143
286
208
176
179
193
201
190
185
212
236
152
236
215
149
200
158
159
227
228
188
191
230
180
171
245
143
202
230
201
211
261
200
209
153
164
176
181
269
236
129
197
222
198
256
284
146
168
156
194
168
155
180
180
208
146
226
235
234
176
230
187
237
167
122
138
146
246
242
178
192
186
210
146
209
158
209
173
188
225
210
264
206
258
167
194
261
149
210
183
173
115
238
238
223
223
173
176
193
272
162
174
205
184
184
146
197
240
225
164
172
173
133
173
196
221
180
192
227
170
267
263
184
206
202
288
180
146
146
231
217
181
167
244
176
209
242
184
156
145
239
191
246
193
168
132
133
173
161
141
214
236
161
164
182
206
250
202
217
166
150
143
204
147
143
191
217
210
182
204
238
179
133
182
256
204
195
214
183
146
199
190
194
184
238
167
202
195
130
210
155
201
214
150
177
185
146
246
264
146
191
150
211
143
195
214
178
129
195
218
201
146
210
130
207
204
222
204
128
227
141
208
212
194
204
164
219
308
176
199
237
129
249
213
169
179
133
303
156
231
191
211
239
210
258
268
145
122
150
149
273
257
200
202
156
239
202
216
180
222
233
232
210
206
156
241
203
206
239
257
238
150
217
171
175
232
201
225
153
186
164
224
335
171
225
227
232
146
115
129
146
162
256
201
236
146
287
200
176
202
159
238
178
236
202
186
281
200
165
129
247
216
188
210
232
238
302
198
130
176
271
159
194
261
181
128
212
203
264
222
181
169
261
183
220
156
211
247
244
180
130
240
256
176
210
225
180
211
202
169
158
167
133
209
190
204
172
192
182
182
186
204
130
172
146
160
209
297
217
146
133
259
204
228
176
213
243
237
177
211
238
200
145
214
144
212
164
187
191
282
173
192
147
273
129
130
167
168
205
158
204
212
161
292
283
129
173
187
257
261
184
185
188
210
215
218
178
168
130
161
228
277
204
250
168
164
157
191
187
178
141
200
146
171
143
196
210
210
129
204
162
222
224
184
176
184
141
215
259
168
239
207
156
130
238
179
189
186
180
210
197
209
217
157
187
250
234
217
195
241
161
179
182
225
188
200
152
233
210
167
129
210
239
146
254
158
243
130
122
210
241
214
173
249
161
179
205
178
146
164
174
193
129
201
173
168
200
211
138
241
143
211
192
170
204
192
201
216
168
211
227
172
183
146
178
146
130
181
155
130
230
290
146
179
202
184
321
297
247
277
164
133
217
256
168
150
143
222
214
238
209
180
239
209
217
173
200
214
176
204
249
224
168
184
176
162
130
201
221
207
130
208
205
229
209
235
183
230
164
171
229
190
183
179
261
217
181
115
146
176
182
138
180
200
181
189
183
146
229
201
190
215
211
204
150
227
207
174
179
164
174
230
238
204
300
208
221
130
130
173
268
171
176
210
173
169
162
130
184
144
189
150
130
191
143
204
193
170
219
217
261
242
176
129
282
115
225
211
238
236
244
190
237
172
255
203
208
145
204
188
164
217
155
173
173
235
186
190
192
145
245
180
155
175
157
209
228
191
198
186
178
227
199
219
219
130
176
166
183
179
194
184
240
207
183
160
166
156
169
185
164
190
201
153
206
200
172
173
160
202
239
211
166
212
203
205
179
133
230
129
160
129
193
198
169
221
191
229
173
145
146
167
204
179
218
204
176
158
238
144
160
173
200
253
284
254
225
168
187
198
165
208
218
191
181
184
145
179
223
234
165
228
184
236
255
227
230
217
221
204
187
204
240
256
258
194
227
169
176
227
231
179
171
143
197
143
225
208
223
152
129
130
208
210
205
132
130
258
189
148
209
181
242
149
166
161
242
176
155
273
209
204
242
212
182
187
199
289
186
184
201
222
172
220
206
195
150
214
180
204
156
211
193
259
141
199
194
247
191
287
202
133
273
216
173
193
238
222
179
176
258
218
209
203
133
184
183
234
160
174
202
174
265
164
282
232
226
181
129
127
205
119
132
146
185
184
160
122
230
221
232
146
231
158
115
133
229
259
218
130
227
173
177
192
130
176
176
204
179
244
236
184
176
229
227
299
179
143
257
238
204
143
177
236
211
225
204
209
197
144
210
183
160
282
194
204
130
286
217
236
151
269
206
155
242
143
212
185
263
202
195
298
219
200
151
205
172
182
146
169
188
156
180
260
184
210
214
212
173
342
254
247
262
201
222
170
176
228
259
208
175
230
181
149
130
166
143
264
158
191
185
145
173
204
183
165
156
221
254
230
242
210
184
239
179
187
204
146
173
146
186
179
145
133
234
194
236
156
197
185
204
179
219
212
209
239
115
174
168
168
181
179
146
219
215
174
246
119
202
217
147
146
173
217
168
203
158
239
203
224
182
168
209
115
129
192
189
130
115
219
176
179
161
264
235
164
209
283
313
151
179
158
204
218
209
216
186
209
211
182
189
164
143
215
235
201
160
162
195
146
191
189
208
191
233
179
133
195
204
175
172
227
133
174
190
167
146
258
237
186
173
175
172
269
172
186
146
287
180
115
204
176
219
164
225
236
158
257
218
146
263
333
184
222
191
175
249
188
157
162
228
234
173
164
225
210
157
162
238
206
176
246
203
227
215
130
188
210
236
178
179
204
211
191
129
176
267
129
254
252
225
227
184
181
257
206
143
176
187
164
266
183
188
146
248
237
227
248
217
220
216
152
272
217
143
184
219
160
173
200
273
141
158
207
150
214
251
167
177
283
201
195
239
183
212
213
214
183
183
138
238
129
200
176
132
176
209
202
243
208
219
244
204
193
122
218
201
152
250
200
229
176
115
262
196
217
184
335
201
176
310
231
176
173
171
159
176
210
234
203
179
146
216
217
204
182
184
214
189
217
130
129
211
146
161
129
204
204
204
174
202
197
146
204
188
181
176
257
181
192
274
248
194
187
230
146
129
182
247
157
204
156
212
279
213
162
195
201
146
156
190
230
202
206
178
145
282
191
211
187
183
183
178
187
175
173
210
236
195
208
174
181
224
164
224
173
183
251
179
238
210
191
228
146
207
193
173
207
206
133
197
146
204
215
295
156
192
173
190
183
173
178
262
204
210
222
176
146
204
228
199
200
130
185
229
129
202
173
209
183
146
214
194
145
183
164
172
182
270
211
173
195
170
258
217
141
187
188
186
243
259
187
208
179
229
173
246
241
212
170
299
130
252
180
227
165
138
166
200
201
202
177
173
227
263
184
146
173
191
217
179
252
198
129
237
217
217
185
172
145
162
168
146
175
253
191
115
184
146
183
146
206
210
299
226
157
195
191
244
155
147
182
184
253
202
236
176
222
176
168
194
230
200
133
237
255
212
188
266
163
204
158
189
202
238
217
210
146
285
212
188
161
130
162
254
234
210
176
192
189
210
174
179
194
173
159
220
191
128
168
176
178
160
238
249
202
259
246
214
143
177
129
173
156
129
224
129
206
251
143
246
173
146
227
265
173
173
145
219
200
115
183
173
222
130
263
214
181
219
219
225
138
335
206
243
225
204
178
174
202
146
146
249
187
167
184
182
181
158
198
184
173
202
180
197
210
288
122
129
173
210
204
242
198
207
199
229
206
211
217
234
165
147
204
216
151
153
143
132
178
185
162
166
204
133
185
178
202
251
174
240
176
149
144
202
195
162
183
264
231
152
122
204
204
145
222
183
147
173
147
204
184
286
220
190
146
213
217
176
178
231
163
160
193
156
217
187
151
231
195
210
150
203
130
143
176
247
172
130
235
173
162
185
173
157
162
238
168
168
146
173
203
200
200
176
230
180
183
224
208
218
258
265
155
115
208
216
238
176
209
209
179
254
151
211
218
122
225
242
204
257
182
129
212
146
166
217
214
129
209
231
145
188
199
231
170
213
177
210
197
146
178
232
206
176
155
145
178
168
174
227
185
211
161
165
129
167
201
129
132
173
245
221
195
218
144
204
115
196
197
200
204
333
151
184
129
165
145
196
201
200
174
210
258
129
151
174
210
224
251
130
130
291
181
178
188
284
219
247
185
146
175
225
231
133
222
221
229
145
164
227
251
129
227
264
195
152
180
204
280
247
181
243
335
221
260
175
179
208
185
172
129
216
129
212
176
115
294
158
256
200
246
129
203
210
203
138
175
212
162
262
264
164
259
201
166
182
208
221
180
200
145
226
260
185
186
268
234
162
138
185
184
269
202
248
146
206
165
191
335
158
260
182
145
191
147
254
239
265
210
129
192
191
201
264
203
169
187
235
184
206
145
226
185
129
182
224
155
158
130
184
191
141
184
245
250
179
158
246
218
265
202
175
244
174
200
300
166
179
233
224
189
141
166
274
217
129
179
208
129
174
146
234
217
224
176
115
175
115
115
174
152
155
253
211
264
158
129
198
181
292
171
265
146
256
191
184
160
196
209
266
174
201
168
191
224
190
200
151
164
204
236
172
281
153
251
240
192
145
231
281
179
143
204
167
252
185
250
214
225
162
205
162
156
201
222
205
194
133
168
191
130
216
130
182
192
201
264
201
191
218
174
180
246
145
130
227
156
190
141
189
172
222
169
204
300
199
143
217
156
175
149
202
201
206
194
155
182
248
212
169
211
175
205
133
202
233
158
202
202
130
179
146
132
146
188
172
214
176
306
203
210
183
232
130
239
179
145
190
158
130
115
181
146
210
230
210
252
152
129
184
222
248
160
130
218
192
244
225
229
129
202
168
159
181
202
213
207
164
277
151
130
208
204
261
141
199
174
176
224
151
129
133
173
211
230
194
129
257
219
242
164
155
198
170
206
158
130
130
146
129
210
240
190
204
176
227
179
286
193
226
192
231
245
115
206
130
183
228
151
211
187
294
218
133
202
217
129
188
169
115
201
201
190
237
206
234
164
185
218
267
161
201
166
143
173
173
130
221
186
335
176
208
162
169
145
191
203
158
236
214
130
276
200
201
115
201
230
269
184
160
247
191
195
202
173
206
130
181
211
188
210
162
256
133
238
238
182
211
208
217
160
173
167
212
150
227
216
201
228
145
189
206
222
211
189
176
115
173
206
214
132
173
155
158
195
191
259
210
146
146
218
129
159
167
210
194
155
145
166
264
146
221
133
217
130
218
191
206
176
184
188
115
210
253
189
184
180
130
180
212
210
256
220
229
176
180
164
204
215
162
172
191
255
145
155
169
149
157
246
165
143
173
178
264
178
259
183
144
180
175
151
156
210
225
151
129
217
146
202
162
150
162
246
191
199
208
216
210
146
234
233
178
204
167
180
203
179
133
129
162
161
178
211
172
231
244
251
288
173
146
256
270
207
155
216
245
168
150
146
236
210
215
225
219
171
130
210
129
173
190
190
189
195
180
204
239
198
182
163
149
200
146
174
225
197
239
231
238
190
210
192
215
165
129
160
188
138
202
194
242
163
160
146
261
130
213
224
211
178
202
202
219
175
238
238
166
239
176
204
186
270
267
203
217
155
203
198
156
130
204
178
215
145
206
195
173
157
180
130
246
162
174
182
181
226
149
129
264
228
173
132
280
173
176
184
245
186
250
247
302
129
247
195
199
215
243
146
261
160
236
169
168
222
201
156
242
221
217
156
234
189
130
250
143
210
133
210
206
340
143
224
185
202
146
119
200
173
207
217
217
295
129
204
146
146
170
237
144
130
162
232
173
287
173
188
188
184
261
192
209
173
173
146
192
254
224
183
195
230
193
230
203
146
169
275
143
189
206
186
160
227
199
245
162
183
147
184
180
160
214
201
213
175
179
184
237
200
159
218
149
217
129
211
185
214
147
216
146
132
195
167
207
192
149
210
219
238
173
219
218
230
238
256
221
181
164
200
115
249
129
146
168
169
213
271
130
232
179
230
224
190
179
153
218
130
188
199
254
162
130
204
297
176
115
162
164
210
224
159
239
217
185
238
195
238
238
200
190
161
167
206
229
159
176
145
166
148
185
122
210
217
179
202
130
167
209
168
204
172
168
230
133
162
184
147
222
173
200
214
211
256
122
147
205
184
180
191
192
129
176
153
216
164
213
173
201
246
176
210
181
260
231
150
193
141
178
184
250
178
267
231
132
160
216
202
176
161
214
176
183
181
177
195
205
146
217
173
203
204
194
162
161
206
221
266
192
232
115
158
283
192
236
165
145
205
245
171
221
156
173
139
225
143
129
204
151
201
143
173
222
214
178
179
266
161
247
247
183
209
130
202
250
256
122
203
138
192
195
155
162
245
176
149
222
188
183
222
230
237
200
200
179
211
197
236
174
204
173
146
129
146
184
195
133
204
179
173
168
211
259
179
221
211
179
225
115
146
227
193
185
206
151
182
256
208
206
168
176
138
168
251
160
236
240
231
160
239
288
194
209
176
197
210
247
132
225
201
129
274
285
171
168
161
211
173
240
179
266
204
129
208
212
218
204
129
216
204
201
180
176
271
180
216
169
160
195
227
211
227
176
217
171
182
204
194
193
164
204
182
218
155
296
179
130
201
217
174
223
222
184
210
209
162
236
202
173
213
279
168
211
219
225
133
225
222
170
191
176
129
146
133
247
184
259
147
170
170
206
164
143
178
302
211
235
158
242
236
145
172
170
129
256
185
326
145
189
204
219
199
174
130
130
288
182
167
180
168
195
237
173
200
185
162
152
158
259
200
200
230
261
145
195
188
189
206
189
188
183
157
252
151
150
226
164
233
129
204
231
206
179
230
217
173
222
122
238
210
145
213
173
184
180
226
183
181
173
184
175
201
192
188
147
178
182
173
169
186
181
230
182
188
222
180
237
146
130
192
271
146
238
157
180
133
176
243
178
192
184
265
326
229
300
201
129
133
173
162
160
238
188
185
335
149
250
284
176
209
176
175
199
130
204
130
195
232
186
221
173
156
202
212
153
181
156
230
204
214
216
235
205
301
132
216
229
173
237
180
164
207
262
258
145
191
220
191
185
146
202
192
203
122
173
221
173
146
305
176
149
293
226
166
268
202
165
168
187
145
214
171
156
173
143
178
176
176
173
184
243
166
130
199
179
187
182
206
179
247
149
184
193
184
264
161
190
166
144
246
162
158
173
280
176
222
200
292
200
197
156
173
236
240
167
267
261
149
240
225
158
249
204
195
129
227
210
145
176
217
257
143
129
251
177
228
229
246
200
176
173
150
164
181
204
220
217
184
176
202
248
162
173
140
186
191
176
211
164
167
217
173
179
172
130
195
141
146
182
201
201
133
206
199
176
215
142
173
176
191
129
233
168
162
174
160
230
259
206
230
115
145
202
166
203
216
166
149
182
170
190
146
171
231
221
130
130
145
174
188
209
217
251
168
208
193
173
130
129
222
164
115
212
158
206
211
200
130
130
143
189
244
178
200
164
199
168
222
217
141
176
217
176
187
189
202
210
143
176
171
182
166
250
215
202
156
189
198
176
164
240
130
204
200
133
203
182
144
202
164
241
201
217
242
182
202
225
196
129
201
183
217
225
158
163
201
178
218
146
218
227
170
236
130
213
217
179
189
205
166
166
176
210
230
167
150
182
211
246
221
131
130
245
204
179
171
194
161
262
296
150
180
202
286
179
201
224
149
184
246
267
210
129
264
213
189
133
245
211
228
173
191
202
143
176
177
176
227
282
221
202
189
222
204
179
234
133
251
214
208
202
147
146
180
248
169
130
217
214
200
219
168
212
216
248
130
182
205
202
264
182
191
221
129
130
130
145
164
152
141
182
230
207
183
157
180
204
175
169
115
156
217
229
203
169
158
242
207
171
179
115
168
230
173
241
130
130
210
187
184
181
237
160
128
229
296
217
185
189
159
183
168
171
259
236
202
166
202
191
197
173
175
196
146
180
162
141
171
210
202
189
230
176
201
247
261
133
182
255
162
233
208
218
229
179
202
238
248
164
146
226
216
130
222
173
133
190
130
228
261
130
187
204
162
210
230
204
204
159
228
166
238
206
227
143
229
217
162
209
209
173
172
260
162
130
201
186
204
147
231
119
211
207
115
180
225
200
178
180
185
228
211
206
193
198
218
145
173
156
173
179
130
229
193
181
156
144
176
167
201
173
168
220
141
150
185
184
143
203
122
179
141
176
129
146
233
179
170
195
162
221
167
168
133
269
188
147
169
227
168
133
210
210
229
165
127
153
222
202
178
182
129
194
223
143
197
173
143
198
229
133
225
183
178
191
296
130
270
185
202
207
133
217
173
183
168
152
178
291
246
208
144
151
143
253
181
160
210
312
157
217
240
176
258
146
146
184
246
160
186
145
166
236
206
145
129
181
173
204
185
184
228
179
259
172
141
176
169
189
206
204
229
146
173
129
260
127
210
216
145
201
210
180
156
186
146
144
192
195
250
164
149
226
243
155
176
202
195
190
296
176
141
144
158
180
217
192
225
221
173
221
176
168
159
235
181
145
146
204
210
229
151
176
204
179
199
221
146
171
220
202
203
182
237
193
217
192
199
173
224
241
204
230
237
231
231
133
182
180
252
216
204
146
181
218
202
181
217
238
180
158
212
133
252
180
259
186
178
183
169
169
129
180
224
164
195
194
209
239
194
219
178
204
200
236
225
185
156
173
133
193
191
161
188
255
173
187
130
163
214
186
198
229
176
164
193
287
223
138
130
160
188
170
229
179
176
155
196
164
180
174
205
239
206
211
168
173
200
180
211
130
224
173
251
160
156
143
145
168
178
138
206
147
232
198
194
247
158
209
204
209
217
181
153
215
180
194
230
223
225
175
202
129
221
155
216
133
202
131
182
182
204
130
178
231
263
227
183
115
191
210
237
197
188
217
122
158
212
225
115
182
234
182
184
186
201
181
264
225
146
179
256
129
160
203
211
166
204
129
115
178
146
231
222
198
205
206
211
146
214
173
143
210
163
173
130
204
299
176
179
206
174
176
227
217
150
200
145
177
231
115
173
130
171
223
231
162
236
183
157
210
214
243
129
210
180
183
201
147
201
176
202
168
162
179
146
211
146
179
215
183
283
129
273
328
180
192
129
212
115
201
199
200
163
132
202
182
146
211
149
173
164
233
129
229
130
228
221
214
178
213
146
193
166
218
180
147
143
204
214
202
205
180
181
164
115
203
176
185
204
247
176
129
202
115
130
204
197
233
173
173
150
191
259
146
198
258
170
180
130
129
236
130
186
212
150
236
200
164
180
185
115
230
160
249
210
261
214
164
256
145
283
115
217
122
258
210
236
129
143
176
181
130
175
157
178
257
209
167
146
160
185
186
225
185
198
190
138
130
217
300
176
209
243
231
185
138
164
174
163
252
217
209
138
130
149
193
244
158
191
128
183
153
228
206
242
131
211
200
209
157
145
141
208
161
166
216
194
141
185
168
229
204
234
175
146
208
207
189
221
179
264
210
184
190
258
201
218
146
201
156
146
141
162
248
219
198
204
188
173
145
145
160
194
162
169
146
264
158
211
183
218
167
191
236
192
219
247
173
174
230
212
216
152
228
204
191
202
155
143
247
260
201
214
141
230
130
226
204
216
146
128
173
190
217
244
227
249
211
162
189
155
215
176
180
129
190
187
173
141
173
204
198
209
199
217
160
173
169
146
204
202
166
240
146
198
159
191
201
115
237
214
189
179
186
195
129
167
184
215
236
196
242
227
173
230
173
246
191
278
236
176
181
200
130
244
138
216
171
173
210
197
169
209
183
179
172
162
129
186
210
234
202
165
217
170
171
256
155
204
221
283
186
130
205
130
188
177
129
176
156
163
287
179
183
188
216
176
195
196
214
198
173
190
200
173
133
206
174
165
214
230
162
173
217
221
160
183
180
169
146
192
190
176
185
229
183
277
216
145
162
182
133
167
179
271
217
194
200
173
223
229
245
265
200
166
226
177
202
218
159
185
181
130
232
158
153
233
129
271
202
158
204
222
217
173
173
217
176
203
236
129
174
162
146
186
196
203
188
168
176
247
191
146
202
211
167
236
246
208
173
183
176
183
181
248
248
164
202
166
186
129
164
211
233
210
180
204
184
185
232
223
151
141
262
201
260
173
242
213
215
257
238
211
200
218
230
211
195
206
210
229
173
146
176
200
164
212
214
194
211
193
257
201
207
178
201
211
200
129
207
254
178
246
158
195
143
193
214
200
253
240
208
222
176
145
186
193
209
174
155
178
209
201
202
231
206
151
207
130
217
200
184
160
211
202
182
143
299
145
202
204
145
204
224
155
146
264
263
229
221
130
184
199
182
211
175
209
188
226
155
265
191
213
195
185
130
204
241
164
166
185
229
186
138
185
161
166
158
203
192
165
173
226
258
205
158
155
174
179
195
176
315
179
200
129
236
145
239
232
298
174
181
191
162
201
189
204
201
209
200
219
162
233
179
249
173
186
196
211
155
185
217
230
145
150
132
195
164
203
178
274
150
143
173
168
201
220
242
335
115
146
194
145
203
229
256
211
146
174
119
186
230
188
217
198
275
201
164
173
179
298
180
207
212
176
217
183
129
227
237
162
133
169
230
161
162
180
265
201
213
236
222
183
160
185
146
237
236
143
198
207
198
130
133
176
164
224
180
198
183
130
156
202
186
147
203
130
205
171
227
199
180
206
183
157
235
215
181
152
130
210
150
146
253
217
220
157
213
214
157
141
150
147
176
130
130
169
129
166
194
228
221
173
164
240
202
229
133
115
183
177
157
191
129
198
201
180
210
226
143
180
178
143
177
200
256
158
185
173
210
148
234
179
173
130
223
261
227
236
201
195
182
211
177
237
194
217
225
184
238
159
213
228
139
144
173
210
262
129
159
210
209
167
236
187
157
194
173
202
224
184
201
148
181
115
199
141
204
273
149
240
186
183
163
192
180
188
216
180
129
193
173
199
251
252
179
145
130
274
172
179
138
138
271
201
173
207
187
197
210
222
147
234
195
191
230
214
204
130
145
159
172
138
191
238
190
211
202
221
210
166
176
251
189
187
238
203
188
252
240
238
267
173
200
170
158
224
178
146
149
215
165
210
143
201
195
194
184
133
230
168
181
115
174
149
130
133
230
130
178
146
176
194
266
234
146
209
246
176
251
129
171
185
244
273
184
183
144
297
138
230
201
252
164
183
183
177
203
176
197
201
158
174
242
216
191
190
229
169
221
255
225
225
253
219
211
202
173
227
158
206
189
187
183
187
183
159
173
186
129
204
254
143
205
183
162
189
182
232
161
210
160
214
264
201
202
174
178
129
141
129
115
176
179
182
129
202
204
184
287
219
129
273
122
164
176
201
131
246
210
182
204
254
146
146
146
190
169
265
146
217
255
205
261
133
217
182
217
211
178
160
210
210
141
173
249
241
214
190
222
176
165
141
194
203
164
173
146
221
178
172
219
176
129
133
173
217
242
218
143
238
173
151
181
194
203
180
194
132
217
236
194
202
263
248
181
226
168
179
193
129
238
176
200
173
207
215
146
161
168
166
298
264
158
211
115
158
158
239
217
174
196
164
230
210
213
158
156
129
174
205
179
130
122
261
178
191
141
239
215
194
220
239
239
193
193
246
228
187
179
236
129
176
146
184
197
217
183
185
161
189
122
199
147
141
168
348
188
188
230
236
189
129
214
219
184
173
130
169
248
222
226
212
179
158
180
185
218
143
203
219
219
234
186
209
151
150
226
236
160
143
217
133
204
138
129
180
206
175
186
186
183
162
175
244
258
217
192
230
179
159
174
190
230
183
202
239
228
196
206
206
218
212
237
133
130
186
271
220
236
143
211
115
200
306
200
144
164
256
129
152
159
145
186
141
230
227
221
129
211
185
212
204
173
225
163
188
145
204
210
215
145
242
231
186
176
166
173
145
210
199
156
202
164
204
182
174
150
150
247
259
215
169
171
115
200
130
211
214
211
247
174
266
221
168
166
228
217
176
211
129
182
263
160
216
174
142
190
188
202
264
204
235
178
196
172
234
239
195
204
178
168
210
234
170
210
208
162
184
166
205
202
199
183
166
171
148
203
210
133
129
129
201
247
191
224
160
188
160
202
185
164
162
206
209
179
175
183
213
195
222
210
164
226
184
162
204
144
211
264
234
193
174
158
195
185
196
189
162
170
232
231
191
204
218
149
181
204
168
156
243
129
162
191
184
175
190
211
236
186
132
210
206
217
228
283
192
221
177
191
241
185
169
173
167
141
211
211
169
256
283
207
122
129
230
274
157
237
178
244
230
191
150
239
222
228
173
144
242
186
172
195
164
256
167
217
183
232
217
156
184
166
158
158
176
230
158
193
143
146
195
187
179
203
188
251
201
306
335
143
208
243
230
191
184
173
260
272
264
162
179
146
152
172
175
177
247
155
149
208
231
184
162
171
162
168
206
229
166
211
133
115
201
130
172
230
232
254
191
129
198
192
143
130
130
200
156
155
214
255
263
133
191
191
242
158
178
204
176
146
221
115
167
143
200
132
133
248
213
224
186
201
251
235
143
257
176
164
190
192
129
232
281
133
115
230
178
156
205
201
176
181
146
217
204
217
130
184
202
193
283
225
188
163
179
209
217
234
129
208
200
202
188
181
199
221
238
173
168
130
209
158
203
201
226
205
202
145
231
209
173
204
222
161
178
230
179
166
210
146
145
184
133
191
251
265
200
300
129
169
219
208
194
185
188
142
194
206
202
246
129
218
180
179
236
183
173
204
143
227
161
186
164
200
260
175
237
129
184
189
203
130
152
225
183
241
184
211
272
173
242
203
201
232
204
172
222
182
160
210
219
129
218
203
143
173
176
184
172
155
158
221
149
214
129
163
166
192
193
204
179
184
189
237
146
145
239
209
153
204
199
204
176
206
173
185
236
184
184
204
156
227
162
161
189
195
257
217
122
183
145
206
210
296
212
196
320
258
191
201
233
159
283
191
211
181
231
213
181
218
217
172
133
173
130
161
204
209
200
235
168
138
214
226
210
152
217
198
199
176
191
184
168
240
167
236
229
248
216
168
173
237
170
205
214
219
264
176
178
204
168
187
207
204
236
217
217
173
179
205
214
185
182
190
184
159
176
202
242
141
191
174
168
174
209
182
173
218
203
170
212
173
287
204
203
158
166
249
184
202
181
204
168
245
205
133
182
184
166
236
208
130
187
182
160
225
168
222
214
133
127
146
173
181
232
130
201
201
203
230
176
235
208
145
189
206
236
188
182
230
231
150
242
157
133
217
130
176
229
231
199
244
176
205
237
185
204
146
173
130
168
229
229
245
208
200
242
216
133
176
198
129
156
129
246
191
145
146
130
217
207
182
196
239
130
173
190
212
167
211
257
115
206
155
129
145
179
211
219
220
155
210
178
173
146
232
130
176
201
141
146
263
130
190
143
182
182
242
183
157
159
168
164
168
235
188
133
216
218
129
176
181
221
129
193
197
183
259
210
225
185
183
141
195
155
179
200
218
195
249
211
217
175
254
274
143
218
183
187
238
205
169
165
239
243
170
230
242
197
173
200
173
133
192
212
140
183
180
171
207
179
200
240
232
228
151
248
201
164
173
240
146
168
158
176
173
146
210
184
185
180
185
166
211
209
190
205
176
145
141
168
231
218
179
182
225
146
185
210
248
191
176
129
158
228
274
188
177
256
192
169
161
204
201
205
130
200
262
264
322
202
173
162
130
221
252
208
299
208
217
217
264
160
182
202
140
170
242
207
258
211
188
191
209
198
210
217
194
204
154
218
239
300
217
211
152
143
197
173
149
230
160
271
161
179
165
230
149
180
225
164
152
173
141
247
261
209
214
164
210
198
181
181
179
204
128
143
190
130
217
236
256
236
261
261
194
192
210
217
188
130
180
178
179
205
161
173
188
166
169
195
168
173
224
174
204
195
222
230
180
171
187
166
184
173
219
177
199
183
230
173
162
145
115
261
173
146
164
150
203
146
202
204
130
133
194
200
133
159
157
184
184
206
133
240
132
129
173
179
220
174
199
176
169
176
158
236
145
187
183
119
200
235
169
158
279
223
161
156
133
173
192
221
230
217
155
130
155
247
200
196
168
206
204
158
191
230
169
190
187
231
243
229
278
217
276
146
210
168
133
166
171
217
181
203
172
170
227
173
236
251
245
141
237
176
236
130
149
141
195
214
229
129
153
164
156
173
210
233
246
204
208
177
146
236
152
247
167
176
168
182
129
128
164
281
204
146
233
187
192
251
183
230
203
202
230
211
256
173
238
214
186
168
252
270
178
191
195
173
148
129
184
187
185
187
240
277
200
168
174
158
238
222
221
184
179
129
191
161
239
220
164
122
204
141
129
203
200
146
194
221
168
178
208
172
211
251
213
162
155
215
176
176
191
202
156
184
144
200
201
169
162
204
262
149
181
223
242
203
284
122
229
254
173
210
202
188
201
115
158
207
222
194
214
182
130
202
189
170
180
157
200
252
180
173
173
212
223
145
154
198
246
115
142
146
239
204
218
193
192
168
143
161
247
164
229
158
205
189
254
204
273
252
180
186
258
133
209
224
302
201
146
158
145
214
173
122
133
208
148
200
173
156
162
130
146
155
203
191
159
230
173
204
141
247
194
214
272
217
214
228
129
129
130
147
210
176
240
184
204
183
191
146
183
143
171
210
234
184
162
204
197
143
261
133
189
222
272
130
221
238
164
208
236
165
204
204
146
146
252
191
207
264
209
204
183
138
162
242
200
129
217
129
189
115
257
178
181
206
158
169
231
194
195
230
173
164
172
164
166
175
244
150
201
180
201
176
192
187
201
191
146
245
238
189
130
230
210
252
271
191
146
281
181
211
236
201
191
161
184
260
202
129
175
204
186
250
143
164
251
165
156
197
252
181
130
129
129
168
183
133
149
222
264
221
176
178
184
242
177
169
179
176
224
155
168
215
207
196
228
201
222
200
191
242
206
170
179
203
185
168
243
183
129
263
211
164
210
234
186
211
179
180
194
192
229
242
133
129
206
230
259
229
184
144
203
180
176
209
203
183
173
164
164
130
165
211
188
211
164
165
130
225
181
230
210
164
247
250
260
195
197
173
168
279
217
201
204
190
256
171
247
258
176
146
290
155
158
236
252
191
211
200
129
200
189
221
211
179
178
228
132
172
180
189
169
162
210
146
230
240
150
227
228
300
158
180
204
166
225
174
184
130
297
146
249
256
168
202
239
282
133
182
143
196
171
186
182
146
172
179
129
283
201
143
189
145
115
152
251
188
230
188
222
129
211
181
149
185
248
231
145
202
211
221
183
173
214
181
146
204
187
217
230
156
232
146
296
177
183
181
176
138
182
219
222
233
225
211
263
246
129
188
213
201
164
192
166
174
198
115
176
286
173
215
186
130
173
179
256
202
138
318
228
207
211
254
146
164
157
129
204
199
152
147
145
230
183
163
183
129
232
204
162
143
253
270
204
161
321
158
213
211
223
184
175
164
186
246
206
195
251
179
156
255
167
178
165
217
185
164
158
164
130
176
182
188
182
213
193
173
200
187
149
255
205
193
146
195
146
129
281
176
133
176
200
218
203
205
181
194
179
225
177
202
200
206
166
236
230
247
178
161
188
189
202
192
129
316
204
149
181
252
168
170
185
143
217
146
200
193
186
182
200
166
211
204
182
235
201
253
235
189
199
200
148
213
171
173
212
201
212
219
146
176
173
253
265
222
143
129
247
217
237
143
288
160
179
239
231
182
146
225
217
129
146
226
175
178
255
199
201
146
250
270
205
179
158
203
190
130
231
211
210
207
210
230
176
203
156
165
227
115
218
206
158
122
152
197
231
202
182
173
195
234
204
130
168
183
176
231
182
240
209
177
238
216
179
204
153
129
143
143
245
261
129
206
148
152
214
208
157
209
141
176
186
236
262
246
204
185
145
180
185
253
130
243
252
201
281
201
281
257
170
201
206
206
183
165
215
217
146
200
200
204
164
155
199
255
191
115
182
175
164
176
190
211
204
275
146
176
198
176
163
181
188
144
261
242
210
191
160
214
172
181
180
184
191
255
181
189
234
185
169
164
132
176
217
204
199
201
180
176
189
222
219
157
240
150
182
230
182
187
190
210
200
145
190
238
229
213
162
166
173
239
143
200
230
133
266
303
214
129
146
288
165
217
164
179
215
229
146
185
129
186
150
192
241
130
217
256
183
205
146
129
186
222
115
185
181
200
179
173
133
168
247
176
176
162
213
205
206
178
176
204
260
225
211
219
181
230
130
211
224
216
174
204
259
228
171
282
157
249
202
152
173
201
145
156
146
178
248
183
211
156
253
179
176
145
251
155
169
183
115
164
204
179
264
219
232
209
180
240
181
160
182
183
191
176
202
133
245
164
164
268
155
225
204
173
174
234
204
186
202
200
283
170
190
169
146
168
206
164
162
182
146
173
184
179
208
194
189
151
203
176
132
211
231
165
184
193
212
174
210
133
146
180
143
164
181
195
229
240
258
243
202
162
164
212
182
146
249
229
162
194
162
205
193
227
183
141
143
115
195
182
253
203
279
226
166
184
200
212
161
201
169
151
235
159
172
173
178
163
175
197
184
170
178
182
204
178
191
203
130
200
180
152
210
133
200
231
208
197
226
230
236
179
138
143
237
210
213
192
144
210
129
205
241
193
254
158
161
133
251
192
130
200
173
196
168
129
158
157
301
274
236
183
191
143
227
138
206
122
192
173
202
155
210
175
129
188
255
176
133
145
200
173
143
210
187
201
133
175
255
173
169
202
261
216
239
176
172
240
158
183
215
209
229
178
202
230
209
146
221
188
211
168
335
244
187
186
132
133
173
164
153
152
176
255
182
129
158
155
146
207
190
144
191
176
122
183
176
182
206
237
157
204
204
173
180
167
195
202
266
122
210
183
247
130
191
294
168
238
115
162
174
205
183
176
199
221
166
180
305
173
156
167
187
160
191
201
180
245
130
130
176
217
209
128
230
198
145
180
179
146
204
143
200
183
244
122
186
267
221
243
201
211
130
122
258
115
188
115
162
176
156
172
191
239
273
246
182
151
283
204
251
183
208
156
197
143
209
156
211
217
179
206
235
130
250
155
201
247
153
246
129
205
164
210
207
202
244
205
170
164
150
217
252
209
184
184
176
219
261
213
173
258
169
176
185
175
199
200
183
178
262
185
191
182
200
210
201
202
185
210
238
210
173
164
205
204
219
176
206
230
201
194
232
268
179
240
218
255
164
204
189
193
146
200
236
169
171
164
149
156
130
206
202
264
141
184
214
201
194
178
173
191
273
156
209
128
267
143
173
150
210
276
158
168
197
176
194
215
168
176
150
157
214
188
150
176
173
235
173
210
188
196
181
222
222
173
172
172
183
264
222
230
230
209
176
179
130
179
210
168
176
206
256
216
228
191
240
252
153
158
204
211
292
143
129
214
183
259
195
204
204
189
214
210
205
173
169
237
184
170
195
191
199
204
221
181
216
232
129
182
210
224
155
164
225
212
115
283
147
201
255
146
211
145
180
166
173
172
217
208
149
146
141
239
225
236
176
222
158
146
203
212
168
172
115
211
191
229
195
265
231
176
182
191
187
130
225
173
167
193
168
195
166
201
155
206
162
195
173
180
200
190
335
173
268
232
187
176
201
158
115
255
129
183
159
180
230
173
204
151
210
239
173
115
207
274
181
162
141
204
254
119
215
238
130
210
183
181
129
201
186
211
158
203
151
233
175
145
176
185
255
206
182
202
187
204
187
246
210
152
191
258
175
145
184
264
176
303
164
141
158
225
211
217
235
156
248
210
210
221
176
234
133
183
299
246
225
146
197
202
189
143
236
173
211
165
146
145
164
129
156
190
176
264
202
184
183
242
151
166
204
215
175
189
201
203
183
218
218
189
180
211
158
235
149
157
187
115
200
210
185
152
216
173
210
200
164
207
193
143
152
174
207
171
162
173
200
170
217
174
238
182
143
192
166
218
166
197
213
177
200
130
201
233
191
221
232
115
192
253
152
219
195
237
183
183
173
195
158
173
210
146
157
234
210
211
257
210
197
241
236
208
217
230
178
172
232
164
183
230
173
190
178
228
185
176
129
166
149
241
182
195
168
174
192
192
130
129
264
174
200
182
182
138
130
144
193
172
236
236
180
180
260
201
164
156
228
210
178
174
229
143
213
216
133
189
204
189
179
130
196
184
186
205
181
145
130
209
196
257
167
160
164
211
173
168
191
231
220
214
327
182
237
200
227
210
173
145
239
158
175
214
192
235
230
188
186
173
243
150
187
199
174
151
217
161
164
187
138
195
217
115
230
183
239
242
216
183
172
183
130
201
185
180
189
150
255
226
258
146
146
294
202
204
204
171
203
209
176
195
189
191
265
178
253
204
222
129
204
229
179
204
335
168
283
143
168
169
183
242
164
164
187
227
163
225
210
180
155
176
256
222
335
256
253
158
255
236
150
173
173
129
209
261
164
151
115
245
182
169
194
204
187
166
130
222
173
228
163
146
221
146
201
211
162
221
218
231
156
162
138
217
202
179
161
190
162
149
173
200
208
210
217
133
203
133
179
171
217
242
178
122
130
183
226
236
258
238
199
243
226
161
162
158
130
152
201
254
217
186
180
213
319
182
229
233
160
164
176
156
257
211
209
178
183
180
133
146
201
210
146
201
214
210
195
284
223
147
201
115
258
173
178
200
204
229
199
176
228
184
246
167
156
204
146
141
178
211
129
172
247
150
164
115
210
176
158
295
238
172
174
211
236
236
203
202
191
189
185
173
236
203
153
235
216
228
244
145
129
208
299
145
204
204
130
190
221
176
166
129
209
173
162
229
115
216
256
202
181
207
218
115
181
158
173
176
236
141
198
288
172
214
204
204
206
258
210
200
217
189
244
146
222
129
216
247
209
277
141
170
177
171
202
202
160
229
201
209
200
192
143
198
210
145
189
190
178
158
130
178
180
161
211
225
233
200
176
165
150
184
257
173
335
235
253
223
303
262
129
149
182
203
132
185
176
209
161
158
201
177
200
222
161
184
146
169
242
252
205
215
129
173
205
175
157
180
143
186
258
218
221
211
198
242
149
168
170
129
178
230
236
200
202
182
211
165
133
239
178
176
150
199
230
129
200
192
217
184
252
143
160
171
175
248
115
223
174
171
206
202
176
143
194
236
198
160
255
217
210
115
133
187
158
214
173
164
147
160
204
173
146
297
172
164
170
179
181
179
173
179
261
279
130
283
239
216
212
149
212
146
264
200
195
200
129
174
204
191
162
146
173
129
149
182
239
178
228
222
130
159
204
212
130
176
170
215
158
205
130
217
242
245
238
224
257
238
204
164
200
206
162
204
264
161
183
214
250
229
185
129
169
156
173
152
186
275
187
164
218
202
185
246
173
217
183
216
217
217
206
166
215
264
180
222
155
186
186
173
198
168
248
280
217
173
160
145
184
146
296
202
207
172
185
151
243
235
197
237
251
206
130
246
196
162
230
245
177
173
211
156
156
173
227
129
206
185
178
115
258
219
188
217
242
129
169
138
255
225
194
220
171
252
177
164
260
225
183
176
211
300
164
230
228
157
226
213
210
179
218
178
201
200
141
211
151
240
210
188
158
129
263
172
270
146
208
164
185
173
130
146
161
224
130
193
217
202
145
230
164
213
133
203
215
264
129
218
257
161
146
245
241
185
144
152
236
230
162
211
132
236
213
146
143
234
217
211
164
170
181
252
193
164
183
181
176
115
176
201
214
176
129
297
149
178
128
227
242
129
241
201
146
217
207
185
189
251
227
218
173
184
228
141
207
176
173
164
188
146
130
193
146
145
178
171
184
173
130
141
164
164
162
173
176
247
183
167
143
236
300
168
283
174
174
173
200
162
255
195
153
200
179
146
236
218
168
129
177
236
164
177
167
187
167
169
194
180
190
190
143
217
169
193
229
206
206
207
251
146
207
176
239
187
248
315
176
184
153
184
202
218
219
193
238
210
179
195
184
247
179
209
191
131
146
203
221
248
191
236
264
163
246
211
128
211
169
158
238
236
242
299
210
201
176
175
228
178
115
129
182
138
163
232
218
184
213
178
182
152
186
200
211
208
217
214
207
275
192
222
186
191
179
261
184
234
250
204
141
183
155
221
230
141
146
162
268
227
192
167
191
195
202
303
166
169
173
168
208
183
162
146
133
188
182
221
176
200
164
168
201
280
250
129
235
129
122
164
150
192
166
202
146
150
167
181
199
193
209
158
166
222
150
180
176
255
270
269
230
217
194
263
242
191
252
153
187
182
242
217
247
160
179
115
217
149
252
129
219
180
146
155
183
251
178
155
163
158
196
165
335
305
192
179
256
174
184
222
206
265
226
221
201
200
182
133
173
217
130
191
231
184
133
317
214
202
202
255
203
211
129
187
227
182
203
129
236
218
236
211
204
184
200
217
180
175
189
222
143
192
185
180
189
186
197
271
176
203
180
181
168
164
204
207
210
246
335
173
115
146
182
155
206
194
178
176
217
129
211
173
250
210
166
200
146
223
217
206
146
165
170
244
159
163
156
230
186
204
133
172
164
173
176
210
166
211
146
220
228
119
238
230
184
202
237
173
238
182
190
132
158
225
245
213
230
183
200
225
143
188
189
129
189
251
276
257
228
145
234
195
213
175
204
212
155
209
192
196
174
212
184
166
193
176
246
251
257
176
192
153
146
156
245
182
193
141
219
188
162
150
129
200
216
164
256
162
238
206
181
149
211
177
187
211
197
143
179
226
208
248
179
247
166
191
260
176
144
218
129
130
188
235
221
173
155
230
129
166
176
146
223
199
194
176
208
168
182
176
159
230
133
173
185
226
184
129
226
143
155
155
303
173
257
274
187
192
253
201
201
234
185
204
242
179
158
143
230
174
193
176
258
191
156
185
184
172
160
166
200
138
201
229
153
150
158
184
200
210
167
192
207
190
206
178
201
129
179
270
156
173
176
242
158
207
208
180
182
162
335
181
193
251
167
199
248
177
197
173
280
216
223
130
221
184
210
178
255
256
208
182
185
151
162
146
191
115
218
200
187
143
182
228
182
222
145
203
204
180
217
166
277
215
177
208
146
242
187
129
206
234
238
217
183
184
180
271
210
203
183
215
133
256
185
168
188
187
158
176
250
195
270
222
210
184
189
238
242
189
255
205
230
204
242
216
129
178
115
184
182
206
169
162
191
251
184
210
208
195
252
146
222
204
230
258
190
167
210
176
207
201
283
172
221
146
191
168
277
164
211
255
261
164
199
173
172
206
147
189
129
223
162
176
240
230
154
236
179
217
242
255
182
165
204
228
195
254
168
202
164
194
185
210
184
191
179
264
133
221
275
244
239
191
223
184
178
247
191
176
182
263
143
176
222
204
235
115
187
144
180
221
115
157
191
143
203
276
225
169
209
201
189
230
183
181
215
180
179
287
204
202
218
172
190
177
275
197
150
232
184
212
210
228
253
214
129
159
122
264
227
166
150
246
168
115
207
185
282
151
198
201
220
263
176
239
204
260
217
130
218
166
169
157
132
115
115
212
186
173
222
173
179
309
181
194
192
264
207
204
190
204
203
156
204
217
286
203
173
211
138
217
217
256
205
179
233
206
184
298
174
204
216
168
166
184
204
130
200
176
157
204
166
143
155
249
217
178
218
143
231
202
210
189
146
175
230
144
264
179
204
209
146
158
179
159
250
210
203
239
197
178
207
174
204
182
137
283
143
200
274
253
241
129
200
162
183
179
176
179
284
146
179
146
210
232
195
165
146
287
115
164
150
209
198
145
133
168
129
206
133
115
202
179
210
202
203
173
186
138
213
122
242
138
230
272
143
212
224
129
143
129
226
143
186
203
254
177
206
146
167
184
235
258
274
130
197
176
146
276
180
130
210
160
226
191
122
122
183
173
182
198
160
239
238
185
181
156
144
308
264
237
184
200
173
192
251
186
264
180
130
234
298
141
152
132
130
238
228
168
146
143
156
201
155
196
149
236
168
206
161
161
205
242
115
229
160
263
290
281
240
236
189
129
217
191
168
145
202
161
210
157
201
210
130
164
239
236
143
219
304
198
200
214
129
146
133
219
214
156
227
251
204
146
214
250
213
138
217
199
245
196
217
147
129
239
146
183
192
181
160
170
239
146
215
214
173
195
160
133
201
178
130
146
161
247
229
145
180
158
194
219
145
129
200
176
191
184
201
183
205
145
200
281
160
153
164
184
143
160
264
204
178
222
150
187
182
141
179
184
140
200
245
168
164
212
189
191
173
184
198
168
158
221
162
224
245
204
264
203
239
173
281
202
179
223
176
176
173
150
222
208
146
189
201
155
157
182
246
169
214
211
188
229
204
192
185
187
115
231
198
146
138
211
227
199
198
236
173
212
202
157
161
238
217
252
215
189
246
222
182
221
167
227
184
224
222
182
227
208
265
262
215
246
161
210
145
179
182
168
191
179
145
222
209
224
129
147
145
204
202
196
162
155
129
130
173
129
197
183
179
184
115
215
129
176
146
214
200
231
193
169
207
248
218
133
152
138
184
200
200
186
213
160
197
216
230
185
180
171
204
193
187
202
146
235
218
164
208
131
254
168
186
225
143
184
224
157
191
293
193
194
152
195
151
146
131
200
230
129
129
173
146
218
168
204
179
206
202
129
185
183
158
153
182
115
172
207
169
119
185
230
228
188
260
232
183
164
130
251
213
179
178
287
221
228
194
247
199
143
149
197
214
250
215
265
184
204
130
191
173
177
191
257
178
181
206
217
179
146
229
129
172
198
158
255
146
211
145
195
259
155
159
231
246
165
215
165
210
155
150
236
210
212
188
202
168
145
141
130
129
248
214
174
188
129
240
203
206
230
129
128
233
184
192
160
138
146
231
237
164
166
222
207
197
217
287
248
234
238
133
202
191
191
199
270
210
212
245
174
276
129
208
146
250
174
263
129
225
175
250
171
182
130
258
231
184
179
182
146
246
190
197
182
199
146
115
176
194
251
250
179
214
146
170
246
180
228
253
246
204
208
184
130
129
220
211
206
201
192
157
130
146
188
191
179
182
164
145
130
229
202
209
163
221
236
164
190
210
191
169
204
263
187
263
201
211
173
141
146
213
204
157
185
179
266
176
173
166
164
184
185
173
207
150
143
202
195
129
168
200
258
167
188
204
202
130
129
151
211
211
169
243
176
129
176
192
169
176
181
175
246
271
183
206
176
146
146
204
212
208
230
258
178
171
173
200
146
237
146
160
184
196
167
205
154
236
173
164
147
245
203
151
255
182
212
200
231
157
131
200
141
176
179
143
223
192
183
183
305
168
181
296
208
197
230
201
204
192
201
180
162
252
183
161
180
201
168
199
237
198
129
250
256
208
130
221
270
249
141
144
241
197
246
250
264
218
292
227
191
146
213
243
163
217
269
146
115
163
205
182
182
193
255
222
189
206
182
160
176
263
234
216
199
202
152
141
253
191
178
157
230
130
146
176
156
192
200
180
115
239
171
202
201
201
115
202
173
164
204
156
217
194
182
129
196
254
279
210
239
224
263
236
188
155
158
172
183
217
146
188
210
237
204
217
200
229
182
138
130
232
217
145
173
258
193
150
217
181
190
215
200
223
227
133
209
255
228
143
193
183
176
184
155
161
233
173
177
199
145
240
247
158
254
291
233
203
146
210
146
204
176
212
204
247
191
224
115
229
282
155
173
173
146
186
193
178
129
156
156
204
164
169
146
252
164
186
188
248
191
225
253
129
158
163
219
243
133
130
141
146
175
225
193
172
210
159
168
166
213
256
185
241
238
222
186
322
210
155
205
133
180
160
191
168
209
172
183
271
199
213
182
265
184
162
188
217
177
164
141
185
130
251
132
160
193
186
166
229
253
213
181
162
172
184
226
204
204
182
217
162
303
145
158
151
201
210
157
143
201
170
259
239
224
182
234
281
166
217
129
153
233
168
230
211
171
200
162
176
209
187
168
129
143
208
200
188
129
187
145
208
210
191
159
180
157
174
204
130
218
132
203
225
189
162
181
256
227
129
200
133
176
249
296
183
255
184
177
144
236
168
210
194
199
185
152
146
188
159
172
173
145
228
252
141
180
232
250
176
191
173
234
199
173
179
206
183
179
210
173
145
173
204
240
164
188
197
256
184
204
180
178
196
183
180
188
217
224
209
130
201
256
168
238
204
156
129
158
185
178
204
185
146
145
162
208
224
233
151
173
217
168
173
190
115
239
130
217
261
202
173
183
204
164
255
234
247
162
173
246
170
209
192
233
242
206
230
144
182
172
256
185
182
236
216
212
164
211
243
200
176
258
150
130
180
158
156
179
160
150
191
164
245
238
222
190
275
171
186
221
275
245
133
210
185
196
176
187
143
130
214
222
173
256
180
183
230
193
230
248
219
180
152
229
146
210
145
129
143
171
146
210
209
212
178
130
122
129
202
179
204
195
204
164
209
183
229
178
173
166
151
187
122
173
173
187
180
158
231
184
130
146
230
160
207
235
158
274
189
196
115
223
164
245
169
178
184
225
146
176
146
187
168
129
171
186
204
207
192
191
171
170
128
183
179
182
268
204
191
202
202
183
199
238
191
170
223
211
230
209
195
202
146
200
167
171
173
172
210
129
173
247
250
174
202
239
202
230
206
146
122
204
173
185
173
161
191
175
181
189
210
204
230
179
213
129
173
221
198
244
168
234
209
206
200
211
176
236
263
171
115
202
195
210
209
185
262
253
275
215
128
146
173
208
211
217
216
211
179
189
173
161
169
173
146
335
170
188
205
176
162
208
179
253
225
184
192
234
247
258
143
150
224
192
252
217
261
200
218
230
199
160
204
251
173
244
211
181
201
318
173
200
204
193
217
189
178
169
206
239
274
181
183
146
194
250
157
156
183
183
172
165
208
160
143
204
146
157
202
227
199
173
173
166
240
157
190
215
164
217
182
183
204
198
174
210
206
182
170
206
207
147
173
217
190
222
164
162
191
178
254
175
230
156
202
219
172
303
146
178
201
129
173
200
202
171
172
217
204
246
192
185
216
152
160
202
201
200
147
227
179
264
244
194
151
184
194
222
202
178
173
169
138
184
187
204
216
176
168
217
245
143
176
212
176
133
170
184
180
230
206
218
256
158
163
204
160
184
164
238
171
185
161
185
157
146
178
158
240
217
182
204
251
173
176
195
198
172
176
157
191
158
176
154
175
138
226
162
150
192
240
168
194
214
156
206
183
146
186
183
241
216
201
236
162
188
138
221
239
173
210
202
130
181
190
167
265
201
210
202
129
129
172
205
176
211
158
198
174
150
129
168
150
161
178
210
172
219
231
186
211
219
211
129
217
180
189
202
213
173
273
133
177
176
208
249
171
176
130
217
176
235
219
270
223
272
177
245
149
189
170
177
130
245
183
145
220
178
130
200
179
245
146
209
225
272
185
247
176
249
173
179
206
202
191
254
208
188
197
228
184
221
204
176
173
178
173
184
195
217
182
141
211
183
216
146
255
149
151
152
150
115
147
198
179
133
201
133
184
189
174
168
217
175
211
238
283
264
178
115
236
214
130
182
206
204
146
185
145
229
133
201
176
178
201
232
225
146
198
133
225
158
173
217
174
171
155
202
239
203
151
204
300
186
228
180
172
192
236
115
183
180
272
208
210
210
168
180
176
213
209
179
202
150
122
274
235
180
210
181
180
158
155
200
217
209
206
248
164
206
188
180
184
178
191
176
180
173
206
156
254
228
251
176
185
202
255
186
163
149
262
208
202
162
182
248
193
205
230
198
130
187
182
209
115
191
200
164
228
201
141
190
129
189
196
175
210
182
143
209
186
211
155
177
225
146
228
129
158
210
146
196
214
169
174
174
164
218
194
212
129
224
155
184
217
181
204
225
172
238
173
248
166
180
194
262
322
204
180
129
164
222
203
234
214
230
204
179
163
182
155
144
145
163
234
138
189
229
204
160
221
205
214
228
250
176
206
217
180
202
178
236
221
164
186
174
173
264
129
202
247
146
192
199
159
208
222
187
192
146
205
174
204
115
203
230
204
155
210
258
239
216
266
156
269
179
201
158
217
156
164
207
191
195
173
221
145
266
245
205
174
272
180
241
203
130
281
171
227
202
173
214
212
199
201
190
176
217
200
325
186
133
192
115
277
150
191
238
229
287
225
234
204
146
173
227
257
146
204
171
211
226
145
241
184
264
258
238
184
195
146
257
207
158
203
157
218
129
157
162
174
141
244
193
222
129
172
201
144
307
185
258
223
150
181
254
160
236
173
160
133
133
178
129
217
143
178
288
180
157
176
130
182
202
185
184
146
149
146
200
146
207
287
300
227
130
133
234
225
172
250
218
119
130
230
208
145
162
174
234
173
209
192
200
206
210
176
258
201
168
133
129
214
173
210
150
236
164
178
130
240
217
271
176
209
212
201
238
173
130
143
174
236
179
146
245
335
266
132
275
206
184
206
194
239
180
216
208
146
218
175
168
210
236
188
159
146
158
217
119
122
182
133
157
181
205
214
272
192
171
208
129
122
210
152
225
164
146
191
257
165
209
160
130
192
162
219
152
168
200
277
222
162
162
130
183
178
164
201
168
164
146
194
170
184
251
185
227
130
194
206
187
164
238
234
181
302
146
177
119
264
214
164
162
130
173
155
164
250
181
168
175
133
194
247
161
264
195
173
244
281
192
129
201
160
206
238
230
202
143
218
218
146
297
130
244
197
239
157
176
230
198
190
203
238
146
132
188
202
214
133
232
160
144
202
144
129
224
161
211
206
187
159
133
221
222
231
176
130
227
202
208
146
182
188
204
166
258
183
156
129
173
184
173
193
184
162
207
210
209
258
210
250
212
208
129
246
211
191
182
210
130
209
166
184
173
189
158
158
146
162
173
182
188
208
170
186
203
201
141
226
202
175
217
297
210
166
209
145
182
222
144
186
240
208
129
231
200
180
215
176
172
158
129
176
194
234
163
176
191
133
240
179
246
234
210
191
143
131
156
130
176
164
258
161
168
155
229
158
150
130
149
133
145
172
130
214
193
237
227
217
190
173
129
146
201
164
198
204
228
167
201
186
204
183
223
130
178
195
207
218
177
176
171
188
130
216
217
171
197
206
156
245
176
211
236
128
189
161
194
176
204
138
251
173
251
184
228
246
210
187
184
184
156
173
219
150
223
179
202
181
129
199
191
191
214
251
211
279
149
160
156
115
182
184
173
143
205
224
194
225
195
133
217
218
207
264
199
181
166
236
145
192
199
179
169
217
176
173
141
150
179
211
173
237
180
168
202
153
149
145
173
145
187
176
130
199
202
166
209
260
129
146
262
184
183
255
179
192
227
214
213
145
188
187
230
199
173
173
217
146
180
258
212
217
206
203
206
183
280
174
162
122
192
234
191
179
173
216
217
130
211
211
176
218
146
173
178
206
204
175
145
130
180
145
129
130
231
143
131
202
149
191
180
149
176
173
156
215
130
258
163
202
184
186
270
143
274
203
186
248
216
179
211
208
143
150
185
254
195
178
164
255
186
248
198
150
130
195
162
182
251
173
204
200
299
159
216
179
144
160
200
283
130
254
173
176
195
199
209
195
169
173
185
184
144
173
357
143
259
242
197
281
164
208
130
173
189
217
301
191
263
130
168
130
217
210
193
189
209
146
197
217
263
180
204
176
218
132
185
184
183
223
149
129
190
181
146
210
227
129
144
129
279
210
209
210
207
234
173
129
222
203
218
228
198
204
248
187
187
185
189
168
130
303
286
115
201
231
210
200
269
213
148
227
130
130
212
281
189
191
227
203
201
208
225
235
181
204
185
186
180
160
254
129
237
210
202
231
166
164
202
185
174
150
202
188
228
204
148
280
202
179
236
185
130
189
342
218
234
217
216
164
164
178
130
147
130
248
150
115
146
216
200
153
204
128
211
210
156
205
205
151
162
131
225
193
158
201
146
224
235
217
168
244
252
200
193
146
143
133
207
149
206
204
237
172
230
173
181
225
216
244
213
211
168
173
133
225
214
203
222
216
173
178
238
129
188
262
185
146
217
283
162
239
173
115
143
190
259
215
146
130
244
187
115
210
169
164
230
165
178
245
156
130
133
210
119
147
184
129
165
251
187
146
216
263
188
162
174
287
227
144
115
129
253
193
162
133
224
184
176
150
194
179
179
233
190
129
206
158
184
218
264
190
186
217
173
233
161
131
194
204
171
179
157
227
203
214
130
162
261
191
200
205
227
173
164
173
210
146
157
169
179
229
146
130
185
206
173
211
162
220
173
275
201
162
243
173
173
129
219
162
199
206
187
164
130
208
261
146
206
210
258
238
178
222
234
197
229
221
180
130
190
175
238
204
199
283
303
149
236
259
217
183
235
241
146
201
231
130
218
138
275
261
199
162
195
180
179
211
156
257
190
226
214
162
176
201
171
176
202
144
248
129
156
150
129
167
272
215
200
234
129
115
240
173
217
181
190
186
176
145
200
184
300
161
217
208
230
186
290
144
293
180
158
172
183
173
180
195
204
191
174
171
162
162
263
133
147
150
259
173
210
205
143
175
267
221
173
225
200
201
260
204
195
156
115
190
181
173
169
193
179
203
158
222
179
145
184
185
164
199
129
215
245
130
133
222
200
229
158
238
239
295
195
130
149
173
162
239
197
146
191
201
206
190
130
217
229
204
164
192
231
201
129
191
178
141
146
208
245
274
221
202
130
163
176
245
158
156
146
261
236
169
146
221
228
202
286
204
156
173
146
190
204
230
182
130
239
152
257
131
266
261
160
145
178
245
164
180
191
155
204
129
168
192
115
171
178
132
217
212
204
185
143
129
192
214
130
158
180
176
200
259
200
199
216
252
179
218
178
196
176
164
205
240
184
128
218
217
205
262
129
182
179
183
241
296
265
234
252
258
202
215
188
171
198
176
228
159
250
184
168
250
265
189
205
246
289
137
145
259
133
177
215
188
130
259
185
184
229
179
247
143
227
247
251
172
204
195
188
202
158
206
181
201
128
174
300
258
130
179
204
146
178
204
210
199
161
210
199
173
176
143
184
192
129
167
145
129
264
245
132
147
201
133
145
145
259
141
255
201
252
185
214
146
239
276
146
204
212
146
129
161
213
178
258
193
247
183
244
218
168
210
143
174
299
186
173
296
179
115
183
189
239
272
214
173
192
214
176
169
210
263
173
176
234
189
201
207
206
225
156
158
253
185
258
184
162
197
150
215
130
207
262
221
308
192
173
191
130
209
179
178
213
158
169
178
168
167
195
202
203
138
155
234
164
168
146
238
210
244
186
236
166
179
176
192
166
217
187
238
168
225
203
237
146
227
146
130
179
138
178
119
222
175
208
206
146
191
164
186
202
194
261
155
147
250
243
145
229
185
201
211
217
178
235
176
181
228
179
156
154
263
259
204
260
304
232
259
161
200
159
188
180
188
196
204
178
150
170
225
174
217
228
168
210
160
229
133
190
130
259
187
178
130
168
272
133
189
129
249
131
160
258
161
175
176
165
179
176
145
243
143
303
129
129
146
204
179
180
248
151
150
255
209
272
296
197
213
210
158
207
133
180
206
210
376
184
169
160
176
129
129
156
214
150
146
187
265
193
243
183
214
245
223
239
233
129
156
202
176
173
194
243
176
204
214
146
261
166
176
141
214
265
151
217
207
202
194
165
206
197
190
173
168
221
168
295
183
214
197
172
204
191
138
190
218
172
251
241
202
226
130
209
192
129
170
182
210
146
176
146
199
218
186
167
210
170
205
213
225
180
195
204
174
179
185
187
176
186
178
137
146
168
173
177
130
227
176
129
216
182
155
229
214
171
180
229
166
179
220
130
182
192
129
184
146
251
225
145
162
197
215
176
169
173
192
150
146
183
146
183
181
221
200
259
180
198
193
200
165
228
185
146
201
249
115
151
205
206
162
259
157
217
266
160
220
146
171
202
165
200
263
256
167
151
181
170
165
238
176
131
238
173
160
231
143
207
264
210
194
130
173
181
173
186
173
115
228
179
214
179
155
247
115
176
225
160
230
196
115
180
205
261
129
158
173
217
158
176
141
327
217
211
229
173
200
194
203
275
177
182
184
200
212
285
208
169
219
130
300
224
191
138
203
172
268
217
189
253
161
253
150
206
174
207
272
219
197
205
183
214
260
195
235
146
210
173
176
256
169
164
173
173
183
162
190
166
184
175
189
175
227
261
236
157
204
188
173
259
194
244
165
129
210
150
210
130
144
138
177
188
163
232
280
211
166
168
145
184
143
166
217
231
176
129
200
185
176
181
209
246
185
264
197
201
205
211
179
129
230
213
171
197
184
243
146
253
169
242
130
236
221
147
164
179
164
155
129
222
173
218
251
237
196
213
174
122
152
130
168
200
239
202
178
261
203
212
219
192
173
146
146
176
234
222
179
176
202
156
202
162
201
168
202
242
130
210
180
158
222
184
210
204
180
227
235
249
213
191
191
187
202
232
160
253
138
146
214
166
165
181
177
204
210
178
184
177
255
169
160
178
274
172
171
210
252
209
189
164
207
146
261
220
129
176
173
184
172
161
178
221
145
238
203
172
148
201
223
181
182
168
192
129
250
222
143
203
173
245
242
226
173
166
197
146
179
251
162
203
220
173
168
162
302
333
335
197
173
186
138
157
143
185
204
187
202
247
198
172
208
217
178
231
202
179
130
211
190
170
198
211
174
138
233
119
164
190
194
130
249
180
207
222
174
200
200
179
119
237
213
191
146
133
187
186
216
245
202
207
150
231
186
211
225
217
165
146
245
178
174
129
202
200
179
215
193
212
161
122
219
150
210
335
194
210
179
173
183
181
210
232
131
179
191
217
255
230
128
204
178
211
204
163
129
184
191
184
182
202
246
227
207
219
169
202
180
158
146
146
201
181
229
253
322
146
160
143
207
204
200
185
195
161
174
296
206
186
176
195
164
214
178
171
208
185
129
237
238
158
212
273
129
228
143
160
173
122
146
173
173
210
178
204
255
201
198
194
200
146
176
195
174
222
183
210
181
173
115
189
220
177
145
230
151
217
211
204
168
150
189
256
164
133
210
184
181
211
172
129
256
246
250
240
152
217
133
209
226
162
166
202
244
241
181
211
188
176
235
188
194
156
199
146
158
186
168
205
161
193
146
200
211
195
234
194
230
194
156
282
247
147
204
211
143
169
180
237
179
307
221
191
171
181
231
192
188
183
180
250
180
208
168
227
174
138
179
231
180
129
182
260
138
191
217
188
237
182
182
273
258
129
143
218
170
208
178
204
230
208
201
236
179
149
133
200
157
242
176
132
130
176
138
176
145
201
133
178
115
201
185
128
162
162
256
141
206
214
146
200
236
147
149
183
250
183
129
173
162
173
214
193
252
244
166
239
272
180
195
204
231
200
164
158
201
210
239
191
205
182
146
129
214
202
143
164
212
145
210
195
204
201
130
226
265
176
230
176
177
173
188
199
242
175
183
169
210
176
149
194
188
242
187
172
149
216
173
146
178
204
162
145
210
226
188
236
184
173
237
183
244
145
214
201
206
179
143
145
278
129
210
250
185
217
201
210
191
146
178
236
203
234
129
138
174
212
191
211
240
129
230
205
166
141
230
151
146
168
207
242
130
173
221
189
279
161
214
204
222
146
180
170
209
184
146
247
213
162
238
176
184
167
226
207
168
178
188
218
162
172
195
258
227
188
223
162
177
195
176
191
145
227
183
189
209
179
155
222
176
185
164
158
190
146
153
129
217
164
130
256
176
312
160
212
179
191
228
241
197
143
188
145
204
202
270
173
221
221
187
218
200
122
146
244
202
225
221
155
177
164
207
247
222
191
236
188
178
259
152
206
207
143
197
174
272
176
231
201
210
155
223
181
238
179
237
210
146
183
185
143
202
182
179
189
200
230
215
238
184
155
195
251
129
206
158
179
209
207
239
210
176
217
169
202
182
132
212
201
179
207
173
162
129
147
182
166
150
158
187
168
204
229
200
200
191
115
227
172
211
173
130
216
129
143
226
186
224
160
277
239
217
204
181
157
204
191
202
130
202
133
191
211
133
184
176
130
173
210
168
186
198
130
239
190
160
141
147
234
176
229
238
212
204
224
218
239
212
218
264
150
129
130
182
230
133
173
181
305
226
167
211
219
258
228
230
228
200
188
182
264
203
179
214
213
133
130
218
164
158
225
175
248
218
238
179
245
210
200
174
165
162
186
168
200
186
248
200
176
146
143
245
164
217
150
159
235
238
158
130
130
249
129
205
179
179
188
176
172
219
203
158
249
161
209
195
130
122
130
204
162
145
173
129
231
217
227
210
217
144
158
209
181
168
218
228
180
159
170
204
172
159
130
203
241
143
203
257
122
212
199
170
210
180
192
168
221
147
202
208
189
173
170
201
154
204
259
146
129
168
180
217
176
201
281
202
183
178
174
170
224
205
240
259
169
195
130
143
201
185
233
201
156
234
155
145
222
303
170
155
165
153
150
176
144
198
204
217
217
165
217
186
246
177
239
223
194
182
152
303
147
213
195
150
146
129
254
203
156
178
145
142
141
241
194
251
210
146
202
210
206
178
205
220
166
194
166
239
174
179
179
168
210
205
238
132
322
235
179
160
204
130
204
221
156
261
215
192
321
236
215
158
160
245
158
239
156
222
183
153
251
210
232
181
188
201
249
202
150
168
256
204
223
227
181
191
225
183
266
237
208
193
158
261
169
183
172
215
173
143
147
168
255
225
189
217
230
166
194
185
246
130
166
182
228
188
169
172
255
230
259
115
147
146
176
208
186
240
155
176
190
153
208
288
190
184
207
200
300
198
294
192
158
129
199
296
197
197
185
173
202
228
190
244
199
228
254
169
173
217
265
227
199
217
130
202
248
274
145
175
242
146
264
228
211
191
223
213
187
229
163
138
204
201
174
172
282
146
255
220
211
132
176
178
182
150
188
176
313
234
203
236
167
173
196
225
214
146
129
160
195
211
212
145
214
255
217
256
170
225
194
190
188
194
129
252
141
152
256
130
129
167
202
146
167
182
115
130
180
225
201
156
146
151
182
146
180
198
168
230
241
164
152
201
157
160
157
166
190
204
262
166
238
180
152
198
204
195
230
130
170
115
129
176
151
168
174
143
203
119
223
239
263
164
149
230
194
185
179
115
184
163
184
223
115
187
237
173
213
256
230
170
174
115
169
176
174
162
161
147
267
173
129
217
289
179
242
225
237
263
215
193
182
232
186
159
133
168
236
269
185
228
159
177
190
264
238
240
247
173
177
164
130
180
235
217
184
166
176
176
258
146
215
173
202
152
205
264
183
178
143
200
130
233
202
188
236
199
201
217
162
185
217
186
266
115
278
208
237
187
246
260
217
143
156
224
213
133
173
214
162
220
168
168
244
176
246
252
181
269
176
173
165
204
258
149
160
168
184
183
209
181
168
130
204
299
183
195
230
229
179
122
250
242
275
222
240
190
183
210
210
183
186
227
191
143
218
173
133
192
235
143
236
211
210
142
197
211
171
238
182
164
143
207
202
212
205
192
165
182
204
174
174
143
184
227
177
303
208
173
166
138
219
193
174
145
201
210
184
130
183
217
185
217
285
178
225
191
210
162
230
222
169
172
179
211
194
213
186
273
252
150
263
186
173
187
185
172
179
204
138
205
204
162
255
175
173
240
243
145
270
160
192
166
170
219
191
189
176
236
179
170
162
168
211
208
189
181
216
153
247
141
246
173
224
194
199
158
162
144
201
160
176
130
200
270
179
194
203
207
178
200
143
185
187
242
176
220
205
145
222
251
187
216
178
115
152
217
202
192
160
142
158
200
149
261
162
164
166
276
141
164
186
254
178
264
209
192
238
200
176
179
184
172
202
170
152
185
238
204
247
222
208
222
173
209
164
179
203
233
155
195
213
198
130
161
188
213
163
203
230
260
176
148
143
180
249
181
122
234
205
130
176
191
162
162
193
191
234
204
228
230
231
186
236
159
160
152
250
239
288
130
176
231
168
181
177
158
130
208
200
195
210
161
133
264
173
150
184
211
160
181
222
250
129
181
129
202
210
184
201
172
122
145
129
115
156
227
145
171
160
301
255
211
179
230
295
211
186
154
257
173
130
203
176
164
160
228
169
158
158
164
179
184
203
189
202
194
115
176
179
189
130
129
238
209
168
173
217
221
115
182
146
200
299
166
267
217
215
217
129
145
176
193
210
180
162
207
162
265
200
207
184
201
221
259
242
200
115
205
213
230
190
206
201
174
173
145
217
176
252
144
193
201
197
204
227
133
146
276
211
211
173
227
176
208
246
229
173
179
176
180
129
204
172
204
162
146
192
166
187
174
225
191
169
174
144
201
263
163
143
195
210
146
169
217
236
244
172
130
172
238
174
210
181
176
209
190
184
240
187
164
155
210
184
183
188
175
170
173
152
168
143
273
243
234
202
138
237
203
204
202
192
201
163
204
243
152
182
155
239
259
201
130
211
236
206
211
156
185
217
158
190
173
180
162
168
173
217
138
178
133
182
149
177
211
193
143
204
164
178
173
295
174
247
181
191
130
213
247
209
221
219
183
176
210
255
184
146
146
201
190
202
280
222
173
211
210
187
207
146
204
177
129
211
204
210
166
129
194
174
119
221
220
162
192
183
149
204
200
146
155
133
130
138
215
211
185
166
204
150
169
177
217
165
155
201
187
133
231
152
239
204
129
251
161
210
218
255
237
212
164
189
175
176
168
254
211
204
226
176
166
217
179
168
204
182
146
173
183
143
224
209
263
216
162
166
197
201
176
156
143
202
230
185
168
188
194
204
216
180
176
146
156
289
216
225
207
240
189
200
227
164
115
270
258
173
179
129
176
210
289
149
159
129
146
216
238
256
185
240
173
181
129
214
197
253
233
141
133
194
210
196
176
184
245
238
217
179
194
218
202
218
173
192
130
176
191
129
165
215
213
146
161
168
183
205
200
149
205
277
160
145
180
205
185
129
238
170
164
189
145
164
172
228
164
129
171
271
185
202
171
178
188
145
198
162
130
130
146
158
173
209
181
158
176
146
205
195
233
189
255
146
195
197
256
171
202
253
205
198
176
211
166
164
239
176
160
168
202
234
122
130
115
249
238
252
168
321
217
252
178
231
173
169
160
241
133
132
235
130
179
206
189
262
211
210
162
199
179
155
133
178
200
229
285
262
166
251
199
185
260
254
201
192
204
168
175
182
146
133
197
236
143
221
189
166
172
211
254
216
150
217
145
164
149
248
210
173
129
161
271
157
176
130
129
157
200
176
225
176
202
185
228
220
225
187
147
122
183
229
210
130
221
261
173
168
219
129
221
163
216
189
115
187
194
172
270
200
162
211
129
185
180
130
170
217
254
173
240
208
179
226
188
217
141
208
239
157
181
335
225
160
130
192
129
143
272
227
193
202
235
204
230
231
162
164
156
173
178
178
251
129
146
163
149
195
180
193
230
129
201
173
202
168
240
275
212
234
166
204
228
129
180
156
160
176
175
182
210
190
202
235
176
197
190
176
211
217
149
287
122
172
211
241
184
169
190
229
133
193
168
168
182
183
149
239
230
176
192
173
281
210
176
214
242
199
193
193
158
184
182
164
206
183
242
161
160
170
185
173
225
162
180
186
210
232
203
222
149
184
133
201
164
175
185
158
219
227
129
221
179
228
199
224
175
129
207
183
202
202
254
173
187
166
249
142
219
186
233
180
184
145
225
210
195
246
175
232
180
173
180
203
228
129
177
231
190
224
209
178
150
218
158
202
217
171
156
158
212
183
202
140
201
241
185
233
206
138
192
150
160
199
143
222
227
204
223
186
228
268
230
199
247
168
164
204
207
179
241
164
115
238
184
181
180
202
231
164
202
129
233
179
197
156
201
227
199
129
217
133
173
145
206
198
172
129
194
146
206
148
221
183
217
204
230
202
191
246
261
210
158
238
208
204
226
169
187
156
231
173
191
183
170
133
210
204
221
208
202
210
206
210
183
166
129
233
219
206
213
186
216
202
182
224
239
217
174
176
265
202
185
161
176
198
197
130
221
206
146
129
162
225
226
159
192
190
185
192
221
167
190
234
150
210
150
207
187
184
146
143
183
205
226
264
210
129
130
208
216
150
190
234
129
224
185
197
201
271
176
176
204
201
256
156
218
166
180
190
204
200
146
151
173
182
179
216
143
173
159
174
203
220
225
210
250
173
208
115
238
179
210
244
164
185
170
184
194
145
218
178
155
146
203
180
217
173
143
214
211
200
197
241
214
168
186
188
178
176
193
176
176
214
194
188
242
175
242
236
145
182
164
160
246
193
201
239
291
158
178
189
191
186
251
189
214
161
247
146
216
213
145
173
191
157
176
244
182
176
159
211
129
164
190
232
146
217
225
190
144
238
177
247
158
226
214
178
217
179
181
236
211
178
201
130
214
216
173
129
236
212
195
246
149
159
173
191
189
287
115
221
204
141
129
182
133
146
182
171
261
153
227
287
143
253
161
245
122
143
244
176
168
158
156
185
162
171
176
258
157
210
204
145
187
177
178
219
170
146
172
207
129
238
149
133
227
176
138
192
283
179
133
146
209
222
176
203
204
211
209
197
176
212
178
181
181
225
146
175
269
191
156
256
183
261
209
200
129
237
176
223
179
226
228
146
264
202
181
230
168
258
219
212
173
203
239
201
181
192
238
173
260
204
219
185
177
147
171
247
211
182
176
183
235
204
184
253
175
178
191
200
172
211
155
173
239
247
156
195
129
219
129
200
143
257
200
249
173
145
280
206
217
185
241
242
221
187
162
179
146
178
146
184
162
193
164
173
229
119
231
201
163
194
230
194
233
129
214
129
191
238
195
230
169
146
156
176
193
211
173
200
214
333
145
201
202
176
296
230
149
212
169
194
130
182
193
186
173
265
183
167
201
180
203
210
186
160
229
208
240
152
172
183
197
179
236
200
208
146
179
265
168
122
209
214
206
213
190
264
191
216
200
188
230
200
173
213
204
167
226
173
173
185
162
152
230
165
192
183
129
145
246
149
191
252
214
156
133
216
129
250
265
246
173
168
129
217
179
196
168
147
200
115
228
188
176
176
176
186
163
204
162
216
217
194
259
148
222
144
236
251
252
158
236
175
129
239
178
187
223
129
195
187
160
191
268
196
179
268
227
264
210
192
204
258
218
161
258
181
184
211
200
168
222
217
189
164
209
212
202
176
173
175
131
145
208
220
199
222
217
174
115
236
212
209
162
173
164
130
173
130
244
193
266
156
192
203
176
141
208
179
182
264
206
144
252
220
173
210
129
146
194
204
153
168
217
176
225
201
213
161
238
209
210
146
160
256
130
184
200
202
258
158
115
236
186
146
176
218
183
166
129
156
173
155
216
186
217
303
147
259
130
133
204
292
182
164
129
206
179
168
225
179
209
221
161
215
182
292
212
182
169
288
231
186
173
158
223
204
219
167
166
230
185
187
174
237
146
199
187
216
188
210
159
176
191
206
277
204
146
153
217
182
240
159
139
217
199
259
264
130
158
206
169
160
176
143
192
145
146
217
168
185
146
177
208
173
183
115
156
146
183
255
225
182
173
141
246
176
200
188
216
222
161
202
238
176
203
255
217
176
166
200
153
204
173
146
119
156
176
183
210
179
211
204
230
146
182
270
145
205
129
183
235
191
236
122
224
217
217
146
138
321
173
222
222
168
231
257
190
183
174
234
178
195
190
129
189
133
143
130
165
213
129
211
186
133
209
168
224
242
238
192
225
242
231
204
254
221
173
201
203
209
266
261
173
146
178
174
322
146
164
200
238
189
119
143
218
257
149
194
143
162
225
239
164
235
133
189
185
188
146
164
192
224
225
210
203
153
176
264
184
170
185
149
204
144
188
129
204
217
214
187
208
246
182
161
211
164
219
146
194
191
163
214
202
173
115
180
222
201
183
195
180
160
166
229
301
220
184
239
174
209
194
201
224
204
150
184
241
203
240
192
216
170
146
244
130
209
179
158
203
226
210
183
185
209
204
194
218
184
217
167
156
211
216
230
210
192
145
222
204
179
183
172
130
158
115
160
146
210
173
214
184
187
192
146
173
129
263
224
227
155
194
211
173
164
164
205
176
209
202
129
141
170
152
130
195
248
208
156
235
184
192
236
130
157
130
205
155
191
249
203
245
172
256
179
238
335
161
257
147
173
173
178
161
183
130
179
160
215
275
210
115
176
130
180
189
161
168
172
230
167
147
248
155
162
130
129
208
264
166
211
143
181
130
274
203
207
273
179
160
182
115
180
180
186
164
146
122
216
180
141
202
183
191
152
180
146
249
203
158
213
198
204
146
255
244
155
214
222
158
184
185
335
192
218
162
129
184
255
254
204
243
192
219
198
204
188
129
284
195
230
185
161
130
162
129
324
220
212
201
203
213
158
169
207
227
255
263
200
176
236
245
197
231
210
175
183
211
209
335
158
210
201
130
146
143
155
207
158
178
146
144
239
183
233
210
138
208
138
234
146
158
227
213
173
253
211
202
229
130
270
222
183
145
258
175
236
204
206
130
159
167
175
156
157
130
129
168
225
141
173
197
191
222
178
201
155
146
324
244
146
197
184
141
217
156
122
236
226
190
210
162
152
211
303
211
157
224
191
185
313
266
155
214
277
219
252
173
130
156
260
132
129
165
202
158
202
279
214
206
201
292
186
122
204
145
240
219
213
213
170
276
179
235
146
263
236
237
122
190
212
238
155
209
210
204
210
210
185
167
128
158
167
210
214
197
217
255
174
203
217
173
173
178
179
185
217
130
166
191
217
166
129
189
204
146
173
162
160
215
179
191
176
215
240
164
210
210
189
219
157
202
216
207
202
200
263
269
149
184
146
161
150
264
240
149
146
202
133
230
264
223
219
264
183
210
192
201
235
233
143
191
222
130
214
264
204
156
219
169
262
246
181
184
207
173
172
180
292
195
211
129
220
178
192
166
191
206
184
258
226
207
247
206
144
173
211
190
175
169
172
185
176
221
132
188
145
191
158
178
180
169
230
173
182
169
204
211
217
182
159
236
145
238
172
200
138
180
176
185
173
209
182
176
246
153
166
187
247
129
215
176
173
158
164
115
210
130
176
176
204
160
261
199
173
227
184
214
210
167
146
182
261
188
226
201
128
266
195
222
184
129
193
196
153
211
190
174
281
133
228
158
264
201
177
176
204
226
191
216
209
176
216
210
227
195
184
254
145
191
217
162
162
156
189
178
168
149
153
178
193
164
182
236
203
133
148
173
192
259
162
209
149
129
181
173
129
236
192
186
200
146
162
174
163
212
133
200
210
193
162
167
201
129
183
166
133
173
189
146
251
206
146
191
268
129
169
183
238
201
164
155
221
133
223
176
133
143
189
283
168
224
203
150
151
171
251
224
183
207
168
143
146
255
204
184
161
115
151
173
173
200
294
178
199
169
183
290
146
204
207
211
155
239
183
206
184
141
250
199
206
130
231
162
276
210
191
173
158
232
191
242
184
206
204
162
163
253
203
185
231
176
181
181
160
207
199
201
209
115
164
171
235
183
193
169
191
183
233
190
197
182
283
152
183
146
169
200
179
115
199
221
236
226
151
188
158
172
150
231
133
228
129
204
268
239
233
155
165
129
173
151
190
202
233
130
145
241
174
218
203
204
168
215
221
210
149
226
171
178
182
204
178
229
155
233
206
204
195
228
204
129
256
189
221
166
180
198
173
129
219
155
168
205
229
203
158
200
184
133
162
200
198
216
184
195
151
202
180
173
193
239
182
143
224
129
152
203
155
224
187
237
184
225
132
160
300
176
216
184
143
158
130
160
204
214
211
210
205
146
206
242
204
160
179
263
166
158
150
201
130
188
174
182
181
178
173
172
200
164
180
191
178
171
213
176
206
176
162
203
173
193
180
161
231
184
169
178
194
154
146
161
186
231
237
272
238
219
174
246
231
227
217
130
206
155
181
197
204
191
143
212
200
183
192
211
194
179
133
184
145
137
227
129
200
215
183
129
202
227
151
211
222
263
234
240
239
173
197
183
206
228
226
244
265
203
182
150
194
186
236
150
155
262
173
145
173
179
247
133
222
177
157
178
243
182
182
184
232
239
239
191
162
256
184
207
195
210
236
179
191
176
209
173
238
191
149
168
133
175
193
226
235
221
236
234
160
266
250
174
184
129
206
146
162
230
133
186
196
122
210
143
191
173
236
193
176
183
165
174
164
203
203
166
173
216
288
192
129
191
202
156
275
146
150
191
205
157
173
251
179
146
138
175
173
216
143
248
155
173
239
122
146
188
193
212
264
194
201
122
158
200
167
185
176
202
209
180
231
122
252
187
207
259
178
153
173
143
155
208
146
185
223
254
237
201
173
172
179
193
181
180
200
143
174
156
182
188
145
168
210
160
183
216
115
170
185
143
141
115
166
191
200
173
196
228
206
225
211
146
210
185
289
204
194
260
186
202
264
284
146
215
204
246
176
189
130
182
204
214
248
164
242
184
202
205
176
173
227
183
166
240
146
129
138
226
258
206
188
188
251
200
165
201
266
225
159
129
204
209
146
178
204
143
129
130
228
122
161
138
236
237
190
115
200
173
170
173
204
236
238
150
218
173
231
211
202
210
130
160
149
173
164
193
266
157
147
225
217
166
195
141
204
169
191
202
215
216
173
184
225
184
230
141
259
205
115
143
199
222
157
173
150
191
208
238
335
184
173
146
184
195
130
130
246
115
146
190
261
210
181
176
183
180
146
115
302
214
146
200
181
210
160
236
146
200
218
192
178
211
176
158
216
214
173
230
173
288
208
204
199
164
132
168
221
204
221
204
162
129
173
199
176
186
184
300
191
146
130
146
215
169
216
184
229
182
180
129
236
194
162
158
176
146
225
189
141
225
238
179
184
293
190
217
176
198
194
294
171
130
176
207
170
239
246
264
183
147
146
239
182
150
230
236
181
211
115
149
156
240
191
232
206
184
206
198
176
188
192
182
155
215
164
176
164
176
202
181
227
204
255
173
191
220
192
246
200
184
164
235
214
238
225
173
169
221
225
162
226
171
204
188
243
129
218
204
233
203
201
204
206
149
199
219
184
188
168
204
166
228
202
174
201
184
175
173
115
226
203
162
173
273
146
122
217
130
224
192
182
201
227
173
176
207
146
216
259
166
237
119
133
143
181
149
164
334
168
191
156
210
168
204
239
209
150
165
169
156
174
258
174
155
162
179
191
246
195
228
180
129
151
156
204
213
231
184
181
273
202
176
122
182
170
169
180
153
176
204
204
248
222
204
186
181
212
191
156
205
197
169
205
195
218
223
164
141
266
153
287
218
160
130
146
133
245
173
169
232
201
162
229
184
173
186
129
174
133
146
156
201
179
190
115
193
188
178
143
164
191
242
200
188
210
187
146
129
171
132
181
146
129
130
202
211
201
143
244
274
200
145
200
199
198
141
200
166
228
133
187
218
245
167
176
263
309
174
204
185
152
227
146
173
194
185
178
197
225
246
221
132
239
186
169
198
244
176
174
218
173
226
183
177
193
153
218
248
228
208
146
187
241
209
259
192
145
229
223
149
174
192
166
199
183
166
248
224
176
194
157
205
146
156
183
217
206
129
162
237
229
146
140
288
129
166
176
192
184
194
214
230
181
169
146
187
204
190
156
173
219
204
130
146
146
130
261
130
146
175
230
169
133
168
146
193
210
145
184
308
184
265
194
129
156
264
158
255
174
211
174
179
212
255
184
203
222
146
264
228
210
232
129
176
181
189
129
179
204
149
319
205
241
191
194
129
146
173
216
221
258
146
208
191
241
192
187
246
168
180
211
209
130
162
144
132
243
184
129
204
170
238
208
164
194
278
228
309
301
184
180
204
225
158
182
201
237
157
178
171
173
188
179
182
152
210
172
246
181
269
155
179
131
321
173
178
145
160
191
252
115
158
214
178
217
146
155
222
211
155
115
184
256
193
189
228
190
155
128
192
229
215
210
230
177
194
129
130
191
191
173
204
197
240
181
212
130
177
163
201
221
129
203
185
159
172
173
151
206
209
200
144
252
212
230
246
212
245
130
161
239
214
184
190
206
183
210
203
224
259
202
203
205
170
162
182
156
180
236
195
207
149
229
226
238
129
173
180
177
195
202
179
227
130
204
176
210
202
143
210
146
206
185
132
202
130
262
145
192
260
170
238
244
267
150
239
181
216
232
210
128
218
200
183
216
208
181
204
187
225
181
146
184
178
241
212
231
149
313
176
274
174
192
162
141
230
202
189
276
221
287
178
250
202
175
243
185
158
214
157
183
145
207
224
172
252
185
185
146
172
176
173
160
217
235
179
182
177
115
157
146
180
233
197
173
130
211
188
179
300
196
157
227
158
129
244
249
163
201
173
211
162
196
164
190
182
206
210
248
184
185
202
216
201
192
171
193
168
161
173
178
163
130
246
173
163
164
173
184
228
222
129
146
187
231
205
183
194
249
176
176
174
162
241
228
229
181
298
130
210
208
175
225
245
149
206
210
208
147
221
158
179
209
244
195
156
176
162
150
176
115
229
206
257
237
146
170
181
146
146
190
228
204
144
261
265
155
226
155
173
182
156
246
175
227
158
206
182
158
162
201
193
273
168
206
217
176
197
238
143
204
259
207
184
170
227
138
155
213
218
141
129
186
200
320
190
200
174
130
190
178
177
129
217
202
146
200
184
128
179
166
130
146
204
243
188
210
201
169
210
155
173
130
129
170
163
129
258
217
180
146
158
174
183
169
145
129
167
181
174
182
208
229
227
146
198
297
146
197
190
189
227
179
163
130
225
133
230
205
188
146
286
149
158
195
146
192
149
166
180
234
181
231
207
178
122
176
183
205
210
164
149
215
130
152
157
181
161
185
210
237
176
219
173
267
188
179
248
207
182
168
208
238
180
145
210
149
182
162
151
212
238
242
274
115
220
164
189
173
250
145
189
222
133
292
204
214
165
161
220
151
198
296
194
179
168
146
204
169
198
182
214
204
179
258
213
168
230
214
172
176
239
236
228
202
216
150
209
203
211
146
167
149
186
261
192
173
145
210
201
223
226
133
224
191
255
169
168
247
174
129
143
272
165
166
254
163
178
183
206
245
203
215
198
183
174
166
193
228
211
172
188
174
166
187
174
170
204
182
195
182
181
217
147
166
170
204
149
247
239
231
230
147
128
217
216
179
225
236
169
199
169
201
210
208
201
164
131
130
250
221
181
255
264
205
222
185
217
146
168
129
237
231
184
184
209
186
253
212
158
130
171
268
205
164
210
183
211
187
264
183
205
169
218
151
186
195
129
130
184
181
141
176
129
238
208
204
187
235
283
238
157
173
130
246
183
201
263
200
259
187
157
140
160
238
182
130
129
129
236
162
157
180
143
211
174
274
228
176
176
164
149
155
188
180
164
180
238
203
231
270
238
203
211
131
186
182
138
189
252
204
230
157
240
300
258
158
176
199
198
162
287
187
203
171
151
130
194
211
204
228
164
199
173
130
253
143
151
220
204
261
133
151
201
156
242
239
217
211
183
217
162
187
130
285
222
186
225
204
132
209
130
281
179
191
204
166
201
199
188
153
189
160
230
204
206
203
180
192
129
193
228
195
195
233
251
200
176
201
230
171
158
144
247
234
188
209
205
155
194
168
197
320
202
122
228
181
186
179
271
151
212
185
129
143
235
209
194
258
259
244
129
209
230
168
178
191
180
263
202
186
216
231
227
227
173
182
146
179
220
233
205
217
257
207
224
239
173
208
166
235
240
133
213
164
173
211
130
173
238
168
207
242
168
226
174
146
146
179
209
208
147
214
234
256
202
173
188
197
187
204
230
178
196
228
258
169
188
164
146
185
210
176
115
217
206
204
178
145
164
184
196
146
192
171
252
201
217
191
277
210
143
214
164
129
189
210
218
132
183
173
207
130
249
129
146
174
258
246
205
198
268
220
246
199
129
195
171
214
146
186
285
152
204
196
133
132
207
280
193
206
176
222
172
257
130
145
183
184
183
182
191
209
239
145
231
210
198
199
187
173
173
160
145
145
129
231
186
195
205
143
239
207
201
224
144
170
222
195
180
314
146
210
268
167
205
195
170
156
288
202
188
157
261
251
217
167
214
130
204
229
208
248
179
238
166
199
264
183
211
199
146
192
246
191
169
185
182
206
243
129
178
207
270
202
129
176
185
213
204
168
254
179
201
265
203
130
253
177
219
236
287
204
204
130
180
298
239
129
182
180
185
198
182
159
143
176
167
191
170
176
213
239
246
175
242
200
138
201
261
169
217
165
173
181
161
307
173
216
221
200
155
264
208
186
169
192
242
195
161
196
160
173
177
261
162
205
192
150
184
179
231
158
164
189
199
191
229
183
212
188
180
168
208
204
129
214
230
176
290
214
200
143
143
170
255
221
200
193
156
173
185
258
192
197
176
274
213
257
176
179
162
173
129
200
232
207
189
182
155
191
200
180
172
207
171
249
176
130
172
190
222
199
165
129
195
176
236
185
216
222
202
174
213
160
141
200
166
203
178
150
195
183
164
179
158
159
181
210
214
130
206
143
193
204
227
206
146
173
143
260
272
237
218
191
143
170
197
128
129
146
150
237
183
204
217
335
158
204
184
176
171
154
133
167
143
236
183
129
202
206
234
206
145
211
168
146
188
182
195
151
177
146
183
143
222
145
227
246
191
122
146
251
204
204
210
242
149
228
200
195
143
224
146
158
204
230
178
146
157
191
218
153
204
200
182
133
146
308
181
146
249
162
196
175
176
232
191
129
188
243
182
115
179
178
231
176
182
167
153
204
168
141
261
261
182
230
191
237
185
180
236
191
162
168
235
229
180
181
178
210
236
234
235
115
176
183
158
184
217
190
157
221
178
228
210
199
145
171
173
143
239
146
204
150
214
173
225
184
206
154
198
236
115
122
214
162
230
235
130
179
129
176
164
141
211
212
173
239
151
173
179
221
234
155
224
164
133
173
146
204
129
197
173
166
178
278
213
115
145
225
157
228
218
217
207
173
237
183
220
133
265
208
200
229
176
167
246
172
222
207
155
262
218
162
146
204
201
173
264
161
133
225
188
236
115
303
191
174
277
182
204
182
219
189
203
195
173
178
209
144
236
187
183
173
176
169
197
162
176
201
183
150
179
230
235
192
176
226
199
312
168
174
211
248
200
176
176
236
202
201
156
214
180
189
168
266
160
230
173
158
221
184
183
210
179
130
284
202
169
182
228
260
224
167
181
193
217
181
204
192
208
223
210
230
146
167
207
181
143
158
237
202
191
178
256
191
166
204
166
179
264
259
143
199
200
216
252
147
119
235
146
213
210
184
232
237
210
181
208
153
147
156
158
221
178
210
180
164
254
228
115
146
259
250
183
166
130
234
235
182
225
217
192
236
248
155
191
183
168
262
208
197
239
146
203
138
133
283
187
186
161
168
131
234
265
166
201
202
241
211
180
155
216
133
149
212
216
182
236
163
178
211
160
230
216
206
204
257
210
237
230
184
184
197
190
168
162
187
180
208
157
145
153
180
252
147
282
173
211
176
206
203
217
184
145
139
217
256
130
210
227
164
189
209
146
212
115
129
130
203
168
262
189
213
146
162
164
143
149
211
157
211
129
195
275
202
214
172
204
204
269
201
220
146
191
173
197
176
115
189
153
181
183
207
218
236
227
157
221
239
246
167
146
203
189
166
221
169
246
172
149
164
223
247
187
202
173
129
188
129
218
216
230
145
236
182
132
234
216
173
208
171
145
226
200
146
162
168
130
146
236
255
219
238
133
129
130
204
169
217
210
176
160
115
225
194
202
166
171
204
179
198
137
164
164
217
115
146
161
230
149
183
288
144
192
143
191
176
156
202
229
199
240
251
133
133
156
177
143
217
176
144
227
208
133
193
238
271
262
202
218
166
149
145
218
177
184
211
244
191
176
257
186
233
130
188
183
261
171
182
230
168
194
180
173
164
156
179
170
184
206
146
181
122
180
247
201
266
167
181
216
184
152
157
180
242
206
168
146
182
168
200
178
263
227
199
162
261
204
240
188
213
143
198
130
204
188
197
156
158
201
173
201
143
221
237
335
239
303
115
250
248
178
188
205
168
195
210
213
225
234
272
182
202
146
207
234
185
146
143
177
231
231
166
170
146
214
260
164
173
243
169
173
226
182
201
155
191
172
173
195
183
115
146
191
228
210
182
171
157
169
146
155
129
129
214
200
133
253
184
146
130
194
200
176
209
203
180
115
205
217
197
186
242
184
185
115
164
178
147
179
177
141
217
261
173
259
191
182
179
145
201
246
203
184
209
207
146
200
206
187
172
128
284
199
256
145
219
159
130
204
192
225
194
195
146
234
283
146
173
204
253
130
146
146
210
184
241
210
201
133
152
275
264
261
206
115
219
159
130
182
179
173
217
276
212
176
122
210
192
143
219
217
210
206
238
201
179
218
173
129
130
193
166
170
189
206
160
246
146
241
189
189
122
164
177
229
188
139
220
222
215
178
204
130
133
179
191
209
217
182
227
173
215
264
144
143
222
256
274
201
217
228
141
216
146
200
130
130
230
130
230
202
217
264
146
184
146
263
212
143
243
146
231
158
182
217
238
227
229
182
133
176
205
215
201
133
214
150
258
161
205
173
254
231
215
210
165
181
215
228
227
183
224
147
239
181
180
191
205
209
193
194
166
146
130
185
150
180
176
201
249
138
152
184
161
227
158
129
240
228
190
173
182
238
202
115
247
204
129
201
255
173
251
195
204
186
241
164
191
219
225
173
175
206
219
274
143
133
181
203
221
168
172
163
162
194
217
208
180
145
270
183
213
238
176
264
211
206
186
206
194
201
115
196
221
244
173
204
173
173
227
202
156
252
191
211
158
176
242
239
268
204
147
166
195
170
265
157
187
235
303
217
239
184
169
157
176
158
158
130
173
155
159
204
176
201
195
200
221
165
201
154
211
187
129
210
130
173
230
229
184
238
181
230
146
231
179
176
221
256
225
222
177
179
210
190
225
286
178
115
191
160
234
184
266
193
178
226
176
144
221
201
171
186
133
205
160
129
188
194
239
186
150
129
122
179
260
159
156
191
168
202
183
115
214
157
211
231
272
146
145
210
160
146
224
173
166
224
161
146
146
272
247
143
197
164
169
254
177
195
160
159
146
199
176
227
171
202
133
173
187
193
133
173
162
204
115
191
156
147
206
176
147
204
130
138
177
201
204
143
228
167
204
189
146
184
176
238
168
201
254
129
184
249
213
227
236
162
181
201
211
303
237
211
233
234
129
173
184
223
210
182
235
212
168
170
132
176
197
169
169
201
218
146
192
173
128
146
191
257
237
206
149
202
147
115
173
193
189
181
168
215
188
201
296
253
217
213
174
154
188
180
222
146
133
128
228
129
174
225
211
209
211
175
130
173
240
182
165
206
200
211
185
192
279
210
211
218
261
181
182
226
198
206
130
204
210
173
210
215
138
130
145
210
218
274
175
236
176
271
199
173
141
215
241
236
195
115
204
194
129
217
130
169
166
184
165
221
195
238
233
204
156
192
199
193
204
243
185
275
210
178
184
217
155
303
173
199
335
156
199
160
146
202
188
210
150
198
144
168
173
185
218
213
163
206
226
162
201
147
255
211
133
227
156
208
177
183
174
218
183
185
217
213
201
195
180
204
201
223
201
238
164
211
156
240
225
185
157
215
195
170
264
217
221
184
167
130
225
214
169
207
205
162
256
192
115
174
230
169
150
183
129
230
129
122
187
242
199
252
239
162
230
146
214
167
186
149
174
194
176
202
185
189
204
160
164
204
247
149
159
202
180
231
160
203
141
178
262
145
195
236
189
194
173
230
162
200
158
230
259
233
201
173
210
210
191
158
175
177
138
241
229
190
159
146
122
133
171
168
239
206
129
254
210
206
229
129
160
155
145
162
184
158
204
240
166
143
173
164
115
210
251
233
191
180
215
173
155
211
210
204
187
222
172
180
183
217
237
236
189
141
143
173
166
206
178
172
238
181
164
149
151
189
240
115
193
265
195
236
130
164
199
162
182
179
194
146
202
129
130
191
217
168
219
215
179
237
189
167
289
146
204
138
158
133
254
166
214
143
153
181
129
214
211
179
217
211
173
217
162
175
184
156
188
214
248
144
200
185
210
206
143
220
183
219
200
220
258
192
145
179
236
146
241
130
162
145
253
276
202
231
210
212
188
145
168
145
214
168
202
214
207
146
240
191
242
166
169
165
199
196
191
234
133
138
176
203
133
195
173
181
130
200
210
271
239
225
221
218
173
265
225
176
168
168
200
200
182
205
283
129
229
130
145
176
165
240
174
145
210
208
247
143
230
160
204
201
146
181
129
164
229
275
160
203
188
146
146
231
122
188
150
218
213
176
238
263
210
192
141
153
164
204
236
188
176
258
190
236
262
130
191
236
183
146
173
227
163
158
296
182
191
251
222
192
187
155
132
138
162
130
235
141
153
219
187
183
212
203
173
141
173
156
173
122
182
206
129
164
176
130
191
225
210
182
204
194
180
200
216
264
195
206
164
224
179
173
176
268
166
187
176
218
171
211
184
202
296
220
236
155
159
214
236
213
215
254
157
176
204
210
166
191
166
201
156
145
230
212
158
219
217
280
146
133
200
247
206
178
264
179
206
155
207
161
156
176
279
217
217
205
151
200
248
145
138
179
193
122
151
146
145
205
232
145
129
163
211
217
155
238
150
283
153
190
307
169
156
129
253
239
191
164
182
156
204
214
226
164
234
182
217
250
222
184
190
146
146
190
216
351
188
198
208
208
182
184
130
158
129
215
207
227
217
115
208
238
190
207
193
221
195
166
230
200
228
155
223
202
229
170
226
173
133
215
146
194
164
220
145
191
172
212
188
195
167
204
237
206
229
225
211
129
129
250
190
194
210
220
230
162
222
200
191
208
232
130
168
179
237
172
174
173
179
144
187
151
208
210
133
185
182
190
189
150
200
160
146
236
133
186
176
243
157
156
122
230
199
265
223
166
160
140
183
249
217
171
156
156
220
209
204
203
169
283
180
210
193
128
225
150
206
210
262
191
149
146
247
187
144
179
195
211
128
202
173
209
146
185
219
309
191
173
115
185
205
176
151
210
212
143
228
184
169
284
157
171
130
202
129
218
129
201
203
214
164
228
122
204
164
263
239
164
236
203
217
180
133
181
130
188
205
200
335
335
229
225
202
150
259
146
171
169
160
228
185
210
189
146
157
252
236
223
275
311
187
186
215
185
271
204
169
197
233
173
229
129
158
247
184
146
258
247
130
204
210
226
193
173
222
176
239
209
181
170
210
186
198
141
228
234
161
173
183
149
193
241
261
203
201
335
238
150
157
170
328
155
246
133
249
195
168
180
272
217
228
181
175
176
217
129
229
269
133
200
179
199
221
152
289
288
211
257
179
194
166
174
250
129
132
171
130
178
208
230
204
179
184
218
185
184
158
249
133
144
141
230
215
220
141
168
186
230
195
153
171
175
179
191
176
230
179
153
202
129
150
261
195
200
219
201
254
129
146
195
200
161
146
129
181
200
129
287
167
201
246
177
233
160
144
204
162
141
214
178
255
255
181
246
217
164
216
130
210
206
204
236
176
231
160
129
160
133
218
171
307
169
244
168
178
157
182
233
130
169
199
179
180
222
164
214
206
138
308
231
115
193
218
206
173
171
143
129
221
239
251
119
263
179
208
220
182
165
220
188
195
242
137
187
197
234
227
176
182
203
230
257
169
178
228
179
164
194
173
206
206
274
196
191
217
130
184
192
161
129
158
150
159
178
130
213
166
166
184
129
129
226
186
163
248
145
222
174
186
176
168
150
179
267
233
210
173
208
232
183
176
172
200
190
200
185
189
193
176
235
204
222
130
210
162
205
184
229
180
184
171
254
203
209
115
185
293
203
222
208
201
175
209
128
168
226
183
200
183
176
181
220
234
209
215
190
130
206
191
216
152
230
201
192
259
188
221
146
275
256
210
218
133
129
203
184
200
263
246
210
217
239
236
210
143
115
222
146
152
146
225
209
223
185
165
169
212
221
230
263
218
188
133
211
128
178
235
199
168
204
145
186
182
174
190
241
260
266
145
144
165
146
194
217
204
181
174
200
183
226
132
252
214
173
130
235
177
133
168
204
303
143
182
133
206
184
216
145
176
180
191
287
217
222
178
150
239
191
226
209
191
200
130
201
179
210
160
174
200
145
180
203
146
217
217
178
211
157
183
145
226
203
179
164
200
173
281
194
155
146
173
310
183
146
239
208
200
193
202
150
184
214
256
186
219
202
122
204
146
201
186
217
181
146
130
145
130
146
202
274
211
200
175
146
199
130
212
227
157
231
195
162
178
187
184
188
216
194
210
162
184
210
155
187
268
130
185
191
162
272
222
128
173
201
166
194
173
217
194
214
197
133
211
167
216
129
176
202
202
158
129
129
208
173
176
146
196
178
195
182
240
222
185
188
256
153
204
236
153
162
200
261
145
129
271
236
204
157
185
190
206
252
226
160
183
241
246
211
170
150
130
300
201
217
202
214
173
228
243
217
258
132
230
238
233
222
170
132
196
202
302
223
240
193
167
182
133
203
180
228
160
177
183
206
176
166
230
239
174
265
149
204
162
115
184
145
173
158
173
166
149
225
206
244
199
150
185
129
243
204
129
146
202
164
262
133
130
206
183
178
166
148
178
145
146
210
253
153
166
200
201
228
236
149
248
211
181
207
146
133
275
183
149
190
250
150
227
161
190
218
179
195
177
226
195
200
129
198
178
206
145
143
141
203
216
178
176
211
146
273
133
179
176
204
203
275
184
201
162
166
180
145
132
238
133
203
227
208
236
242
157
168
206
191
276
221
189
238
216
163
259
187
173
238
133
218
173
133
201
217
190
227
167
160
183
143
180
146
180
178
217
133
190
180
277
242
235
245
219
208
193
226
182
202
129
191
215
236
182
190
185
207
173
217
173
188
184
217
210
215
146
171
152
197
254
151
128
146
247
239
203
256
143
164
204
190
146
185
211
115
194
158
222
202
231
247
200
158
193
155
201
213
115
130
173
146
191
253
205
143
138
259
169
229
210
264
245
232
188
191
261
191
195
180
143
261
189
158
267
234
177
166
179
145
210
199
129
141
204
214
130
242
130
207
217
218
238
259
207
143
175
172
240
191
217
205
171
227
173
203
257
230
115
145
261
160
198
200
150
181
239
166
214
143
239
172
230
168
243
186
259
169
203
138
183
236
145
141
130
247
145
243
148
228
217
211
176
211
152
237
173
160
236
158
187
129
222
162
195
146
149
179
248
178
238
217
195
130
206
143
166
211
174
178
178
217
244
231
211
174
146
207
191
138
202
173
230
203
260
219
200
210
168
141
255
190
169
307
182
206
156
115
212
191
256
129
186
238
129
156
230
263
200
216
196
184
232
180
161
226
252
224
186
201
185
176
228
209
199
143
221
258
235
227
192
176
293
183
199
174
270
239
214
173
201
203
214
131
194
221
203
180
238
204
251
196
207
202
164
180
187
206
189
217
158
205
228
145
155
173
335
166
191
184
155
164
214
208
181
210
167
264
192
240
236
238
147
206
206
231
153
210
129
199
206
182
207
199
250
259
138
233
180
146
172
179
183
181
173
213
208
178
238
211
191
173
204
146
211
130
264
263
129
152
204
187
146
217
159
194
217
167
195
213
183
153
176
147
162
201
201
335
220
146
122
202
185
230
195
183
183
186
190
286
129
197
245
166
222
226
197
214
201
214
271
178
162
185
146
175
141
158
208
195
129
191
202
151
162
146
255
239
130
254
202
185
210
200
194
158
164
171
170
247
188
182
158
144
210
156
204
260
192
217
176
162
143
141
173
129
203
261
217
129
130
146
204
231
198
231
213
156
146
198
186
223
232
214
183
183
145
262
130
199
173
157
176
270
140
115
247
217
173
204
169
195
200
156
233
207
182
146
178
194
197
182
203
133
144
179
302
214
179
225
181
200
202
225
238
206
149
168
181
210
156
248
178
262
281
160
143
222
192
129
146
206
239
201
156
214
261
210
184
145
173
203
182
166
202
162
195
183
190
244
210
256
227
130
122
256
204
246
217
147
178
178
263
162
179
213
243
190
179
129
129
197
128
270
228
206
182
182
205
216
130
144
246
174
168
180
235
129
168
179
119
177
179
129
170
187
252
173
230
158
181
173
208
261
220
208
182
288
193
216
190
173
225
169
190
188
180
187
230
190
192
178
129
191
185
143
211
231
158
201
183
200
162
195
203
227
198
133
167
163
248
238
164
235
193
130
257
240
183
208
173
171
210
191
164
191
160
168
173
179
129
204
214
146
144
206
239
160
204
160
115
222
172
151
194
243
173
246
204
246
185
173
192
146
201
231
129
128
202
129
177
162
176
247
182
180
149
152
194
170
133
238
189
188
267
195
209
200
222
244
248
215
254
168
145
229
202
218
194
133
174
179
198
129
146
176
129
216
210
201
201
146
190
212
274
228
161
202
129
222
215
202
184
146
182
177
210
182
180
218
228
189
226
190
221
145
173
250
115
133
168
217
158
186
196
179
173
164
189
220
173
162
176
217
179
248
165
181
208
252
237
186
254
208
119
210
191
231
207
176
198
199
156
182
222
179
157
173
187
222
217
180
146
133
280
186
261
144
162
222
141
160
162
191
210
222
201
130
145
115
194
206
217
233
164
210
173
229
174
230
188
175
176
203
179
146
176
171
202
130
180
209
191
202
202
173
146
250
146
204
197
173
202
239
298
191
152
191
201
231
181
195
168
157
179
200
156
245
222
182
193
171
241
190
156
178
204
146
225
201
199
122
160
202
274
238
173
219
214
145
212
177
221
186
238
261
176
146
218
194
204
204
225
178
173
179
129
240
115
237
161
184
221
115
204
185
129
176
186
162
217
146
209
247
239
166
147
195
169
209
281
129
130
183
211
188
227
230
200
180
152
200
174
171
254
179
144
215
270
195
191
202
147
167
184
115
206
335
158
141
234
176
184
181
217
294
236
170
169
211
164
239
188
176
169
195
181
138
176
216
261
191
217
222
143
122
191
229
222
237
210
263
215
206
175
190
204
217
180
204
133
182
252
177
237
229
155
143
222
202
288
157
166
152
229
176
130
223
181
194
225
219
184
129
261
255
146
168
217
266
238
184
200
206
202
209
197
249
250
178
217
237
130
158
168
180
133
203
145
173
176
202
145
214
235
179
130
302
169
217
144
155
206
150
228
228
229
231
239
143
204
169
189
302
244
182
231
140
144
115
238
184
192
140
184
193
270
255
247
199
157
145
200
145
207
182
178
146
263
214
264
195
222
201
204
203
176
160
158
183
209
143
191
203
190
270
152
191
226
183
233
184
195
200
146
171
184
162
189
183
115
192
204
162
173
229
244
164
235
190
201
181
235
173
202
269
214
218
237
179
211
169
173
169
129
130
150
163
181
176
204
195
164
199
184
211
227
203
155
145
129
180
195
199
162
231
173
227
178
270
188
158
129
221
211
182
178
195
246
258
160
162
130
196
224
239
179
203
146
141
184
180
196
138
182
212
133
196
246
220
217
238
187
265
133
129
227
160
143
183
146
130
199
214
156
273
162
195
191
158
256
168
168
128
258
225
180
173
202
259
191
209
130
183
146
149
215
205
188
219
164
186
152
221
190
193
217
248
180
215
130
176
158
180
234
219
164
169
192
210
228
115
178
181
155
244
207
234
158
176
202
211
221
206
201
197
145
146
208
230
236
225
250
182
169
150
146
260
236
129
155
152
198
130
133
207
262
156
247
178
252
156
176
224
195
158
173
217
196
171
158
236
264
156
224
200
184
214
239
180
294
173
206
214
294
214
201
181
176
141
129
217
188
205
150
200
246
213
200
176
204
201
146
209
230
201
202
172
202
259
164
176
189
146
179
207
138
198
176
138
211
146
133
199
160
176
171
179
183
240
161
220
153
146
162
204
201
184
212
173
239
218
138
191
144
221
219
219
299
146
164
207
232
129
241
164
187
195
224
194
236
190
175
183
263
182
220
258
130
171
253
234
200
217
183
195
277
228
133
155
162
146
178
209
251
177
243
243
293
208
153
233
206
264
130
249
210
200
202
180
229
202
156
178
163
147
204
129
217
204
182
210
210
171
201
211
168
219
160
146
173
149
144
178
188
241
217
206
115
183
180
209
169
146
115
241
130
264
182
149
173
182
145
171
145
225
236
162
176
300
266
164
156
165
215
225
158
182
146
267
181
206
173
155
201
161
222
225
231
133
178
198
205
141
173
173
143
210
234
214
203
188
146
288
178
137
177
163
180
222
191
252
176
211
187
147
176
191
199
184
206
188
181
130
184
146
203
238
247
145
210
199
173
230
169
158
210
263
146
230
217
199
164
173
171
173
264
166
221
261
145
225
258
178
216
218
184
206
180
177
197
262
152
152
164
200
179
182
146
250
173
237
179
218
266
188
204
169
164
185
158
214
212
184
211
206
203
221
173
260
193
222
129
133
173
248
204
200
162
185
166
240
272
191
204
133
149
202
278
214
176
129
211
188
201
210
193
169
243
255
222
279
145
133
211
274
141
207
210
184
208
241
209
129
217
186
152
201
151
168
218
129
217
176
195
166
133
133
227
227
256
221
169
145
179
191
146
144
227
279
179
211
252
173
205
192
203
224
152
179
133
219
130
224
213
237
230
216
249
179
182
171
213
133
146
217
129
299
164
203
182
145
160
169
156
225
224
236
233
183
160
145
185
229
211
209
180
149
129
210
207
173
130
211
178
204
248
204
129
130
218
157
246
168
222
184
130
180
205
217
164
230
285
145
203
215
180
146
209
217
174
206
143
194
246
168
180
287
228
216
255
189
176
176
184
194
204
175
167
225
283
246
173
176
169
168
270
191
186
205
133
129
227
245
206
217
245
281
146
156
180
173
221
230
156
191
185
133
180
173
182
205
217
209
166
246
173
259
245
158
191
129
152
206
145
249
200
150
176
182
224
240
190
299
183
130
146
235
226
182
157
199
182
193
216
139
146
212
265
211
130
225
168
207
129
283
221
221
176
178
239
252
177
212
217
200
130
248
281
164
187
161
210
183
139
173
211
246
195
229
202
193
203
147
185
130
237
164
201
153
173
173
200
217
133
176
191
283
184
130
182
168
162
335
200
172
165
168
165
156
222
233
222
146
180
196
182
192
162
179
203
222
182
205
146
254
243
177
197
176
202
201
162
176
168
185
238
232
184
147
239
146
146
155
173
205
230
214
264
173
199
185
187
237
222
185
228
232
265
173
177
199
190
200
158
173
164
239
217
182
183
122
173
201
173
204
229
176
254
204
204
204
197
183
178
335
299
213
173
238
269
195
187
204
130
222
197
162
222
189
256
184
151
231
173
243
133
182
236
184
231
204
184
199
143
217
176
132
236
164
198
195
280
205
173
190
129
236
176
227
128
202
185
192
217
191
195
162
247
143
157
211
229
159
191
212
147
166
217
201
238
184
145
168
300
168
133
233
133
167
153
171
272
230
182
178
329
143
275
173
245
138
201
205
231
167
222
161
259
259
145
257
200
171
211
180
180
216
201
146
226
201
173
180
225
296
187
230
164
227
115
200
122
222
259
179
183
188
176
173
183
220
219
146
216
191
182
143
207
163
170
204
115
236
207
173
202
248
161
194
187
141
122
265
179
129
184
189
204
255
156
180
218
212
182
227
146
204
177
218
204
246
160
176
184
129
209
214
256
236
149
162
192
202
261
173
143
214
181
171
222
157
133
130
130
210
168
156
201
195
196
162
205
218
192
170
203
130
178
129
207
115
204
240
228
179
200
182
228
182
188
229
133
206
206
253
256
227
204
164
179
164
168
231
201
141
206
220
212
184
166
240
206
204
130
145
184
204
143
204
252
182
202
222
147
202
191
176
217
206
166
238
237
173
176
201
176
213
265
251
252
220
143
158
273
158
256
176
225
207
138
251
294
129
242
260
217
246
162
248
162
191
204
173
213
133
188
217
180
178
176
176
184
201
169
226
145
153
236
248
158
157
184
256
227
172
194
176
158
161
212
222
172
182
236
146
122
182
129
208
185
133
229
162
195
200
212
266
239
184
176
177
264
122
176
219
231
206
202
143
274
152
209
250
178
183
239
204
212
236
202
218
209
210
173
216
218
176
230
172
210
219
195
168
228
201
204
146
209
164
231
160
172
247
185
210
158
190
191
235
183
159
227
182
158
201
209
129
201
176
201
186
211
171
257
296
210
214
204
173
206
186
227
204
214
130
222
221
129
199
176
176
167
133
177
130
236
129
195
187
199
165
122
179
184
173
157
206
155
250
201
191
178
168
133
250
286
230
160
158
178
234
179
167
155
202
178
164
200
230
211
167
232
176
179
206
216
186
171
133
320
192
229
227
182
209
174
182
202
146
210
115
181
162
239
190
256
252
202
165
130
224
173
264
187
223
202
170
246
156
168
242
179
162
179
179
213
177
212
242
173
167
204
192
181
176
272
210
188
130
179
202
181
247
254
270
188
178
249
204
209
145
186
217
227
238
191
210
129
238
159
184
141
225
159
133
249
211
204
146
227
206
206
193
168
201
171
202
278
191
129
186
209
247
210
250
239
194
149
234
205
203
130
173
202
261
231
222
209
173
254
187
173
130
164
246
173
204
226
270
178
197
176
261
217
177
168
272
188
201
178
165
213
155
204
221
217
202
204
176
210
191
200
173
217
129
162
227
119
191
130
254
279
176
219
184
181
130
173
180
149
203
191
212
130
172
204
225
267
143
189
176
208
173
187
231
173
173
155
155
164
169
229
164
210
222
179
274
230
212
194
206
220
129
204
230
168
260
230
176
130
151
210
219
173
191
204
194
236
129
146
129
222
250
193
129
168
234
208
150
190
168
141
243
172
184
176
185
195
202
129
185
172
299
192
173
191
238
188
210
168
164
180
170
184
145
253
219
133
170
172
173
210
201
247
146
226
173
222
176
209
183
219
189
221
225
182
176
138
192
166
283
168
199
199
270
198
210
130
209
115
130
146
115
225
146
239
156
152
218
156
261
174
191
201
144
130
281
160
225
185
192
236
258
193
210
252
169
179
217
242
202
166
256
170
173
185
292
181
179
188
215
202
161
206
205
274
199
176
131
160
167
182
183
171
247
145
176
288
241
239
203
216
146
130
191
175
175
186
133
193
168
210
164
229
164
152
180
233
164
165
133
268
115
188
218
182
225
209
194
185
248
230
122
165
230
183
264
200
233
176
181
198
130
176
129
165
173
185
243
207
194
130
172
252
201
249
204
215
184
176
203
176
213
182
160
157
164
146
145
204
204
187
176
219
335
214
211
245
201
178
160
146
156
128
208
185
160
255
130
115
143
282
191
264
222
155
169
201
129
185
206
238
239
145
179
175
191
191
164
156
252
186
202
146
130
200
179
200
157
230
180
192
176
130
191
151
173
214
255
202
202
173
184
228
150
196
184
173
173
243
181
174
265
211
150
192
173
236
210
201
115
201
189
223
143
179
201
187
150
210
200
247
176
236
230
173
231
188
226
192
170
233
190
201
173
183
190
187
179
195
228
162
240
186
166
129
203
157
262
200
128
183
221
169
145
187
182
213
206
228
159
171
273
146
246
241
236
231
219
172
232
206
184
173
252
115
130
196
202
184
229
189
236
211
212
164
221
171
230
226
129
216
155
247
248
166
204
300
176
178
176
129
156
225
133
173
158
166
173
218
143
173
129
200
251
204
206
187
130
156
228
184
183
199
210
162
130
149
229
184
225
216
263
156
254
195
211
178
232
250
175
133
243
173
219
129
214
161
176
150
187
195
179
307
217
161
146
162
129
177
174
190
227
164
258
130
276
184
194
176
146
148
178
173
266
206
252
161
173
187
206
130
191
200
183
229
173
246
257
178
214
260
200
206
130
218
229
271
210
246
133
150
192
192
256
130
157
213
130
275
190
190
146
201
133
239
177
192
185
200
204
173
200
196
230
265
184
239
257
226
231
151
185
201
176
168
225
217
169
186
129
179
295
204
176
207
195
168
130
184
129
203
151
178
176
185
296
161
149
146
176
211
215
145
183
201
133
194
173
195
155
129
173
206
150
178
201
145
200
184
188
191
115
176
228
183
257
191
238
191
130
261
169
165
177
208
238
217
256
187
200
218
161
214
173
161
213
129
173
203
222
150
168
238
196
187
146
168
141
175
210
220
199
211
217
171
208
264
233
150
186
130
169
190
191
210
173
204
189
248
196
206
162
174
171
144
251
164
129
146
246
150
164
226
179
145
250
259
203
190
225
236
141
198
149
188
202
176
277
209
186
189
202
168
133
183
263
204
191
165
195
206
211
149
209
163
190
138
230
164
182
130
199
167
169
168
161
115
203
224
179
231
211
187
181
158
184
265
259
236
194
166
172
171
210
247
130
294
211
179
181
225
227
150
239
173
204
160
204
204
212
129
201
214
129
235
168
172
219
254
210
129
171
227
183
238
262
189
206
227
195
239
155
179
171
145
231
146
251
130
176
143
146
176
175
168
183
173
163
210
214
172
128
227
173
280
214
201
183
130
210
169
146
222
179
229
211
184
196
223
178
229
156
156
186
245
133
209
214
210
192
227
173
207
179
145
149
158
239
217
226
184
176
188
188
179
237
234
156
178
146
173
214
165
203
214
166
228
191
194
210
218
211
236
146
221
212
130
173
253
146
200
187
206
206
145
197
216
224
201
162
156
217
225
150
230
129
213
204
287
193
202
178
238
131
129
255
166
236
176
185
138
213
203
277
230
225
221
166
204
201
200
225
224
295
146
246
140
150
146
173
217
179
238
173
207
173
204
231
242
259
162
227
158
176
204
183
193
179
173
180
231
169
246
130
217
205
167
176
162
201
239
214
335
168
182
198
146
183
158
190
184
191
133
178
183
187
161
201
201
191
130
232
244
184
181
166
166
204
155
201
115
173
255
178
228
202
191
241
200
180
248
227
183
119
210
211
192
203
246
238
217
204
237
173
185
252
200
138
216
217
195
210
204
212
206
260
247
202
180
193
182
161
239
236
240
180
176
158
176
325
217
212
163
204
194
200
162
152
200
182
233
133
225
300
244
233
145
236
209
204
179
130
179
122
209
143
201
172
141
223
208
200
141
129
230
206
230
132
231
145
227
173
224
204
164
180
146
222
188
178
143
146
130
254
229
149
168
138
256
172
236
129
196
145
186
209
155
129
202
294
160
130
193
256
238
202
215
175
199
218
258
173
195
192
145
159
141
174
191
222
163
138
146
204
143
217
155
146
167
270
176
242
210
129
143
201
168
183
146
149
217
182
206
207
141
189
143
191
176
115
197
138
210
243
256
217
191
242
202
236
143
203
209
198
210
138
216
181
207
216
270
175
194
164
285
184
228
259
157
146
186
122
191
175
143
226
129
172
184
162
149
146
180
237
155
211
157
225
181
217
239
216
168
171
246
185
166
146
221
190
214
222
201
181
128
184
122
255
227
236
203
210
212
189
178
201
145
164
197
211
164
244
242
205
264
210
179
158
214
178
177
216
241
251
146
150
161
243
224
256
221
185
184
195
206
264
138
203
193
189
130
170
210
200
182
158
179
169
218
229
145
145
200
204
230
166
146
166
204
174
145
164
168
196
180
166
228
171
236
214
232
236
191
169
255
149
239
186
187
224
130
173
238
201
179
184
214
147
251
129
179
146
230
246
186
197
229
138
158
212
171
214
222
206
240
236
194
145
130
152
239
193
130
274
168
156
192
225
222
201
158
222
176
153
133
238
133
174
193
184
251
130
179
173
233
208
196
176
145
149
209
182
160
181
171
188
186
173
302
216
182
192
224
129
119
287
183
173
217
141
209
189
207
155
186
181
183
171
162
191
225
221
204
173
178
190
129
174
214
173
143
180
174
146
246
166
176
189
215
235
182
173
236
221
146
145
224
184
234
143
164
173
184
227
180
188
129
202
171
210
157
173
194
242
195
156
193
217
162
193
176
158
197
204
178
202
235
204
201
176
267
143
195
145
216
198
233
204
164
274
188
179
199
179
263
158
204
178
115
226
191
206
215
173
242
166
221
161
189
165
296
189
162
150
187
217
206
141
250
211
179
195
216
179
190
173
209
199
225
168
335
222
173
167
188
196
191
198
146
188
158
211
201
169
133
133
129
169
187
184
210
168
237
183
236
143
195
210
180
207
195
141
174
179
202
163
133
130
177
257
182
181
215
174
180
184
171
287
149
217
291
130
162
164
199
253
173
187
195
115
257
224
151
224
140
212
130
176
168
191
164
231
149
202
173
180
143
167
169
169
217
185
184
149
274
210
168
163
211
204
205
179
195
172
219
162
204
278
129
206
199
261
177
233
233
235
146
176
188
182
251
192
129
183
179
214
223
277
195
204
208
180
163
183
166
133
156
237
264
258
214
166
160
145
129
204
130
164
239
146
155
186
173
210
130
226
278
146
235
201
143
210
130
181
176
177
184
174
215
129
133
176
159
186
175
184
157
210
184
182
206
164
191
184
177
145
180
162
173
173
218
256
181
204
129
237
204
261
247
222
179
258
166
236
211
202
300
160
167
278
221
173
155
173
156
163
205
201
222
186
214
173
246
217
183
157
182
115
158
132
176
145
242
188
210
216
150
145
230
168
185
183
129
204
188
182
228
229
167
200
221
165
130
173
133
143
161
146
215
225
169
187
207
129
215
185
200
166
220
165
146
146
235
226
247
205
173
115
168
217
149
203
230
230
257
174
174
146
229
230
145
146
130
173
227
210
163
201
215
215
129
166
130
225
232
204
204
115
176
183
180
202
185
201
264
163
202
146
162
176
182
224
209
129
224
158
145
201
147
197
119
150
122
241
176
186
173
179
205
284
146
184
141
133
162
194
194
162
191
164
201
164
225
251
244
181
145
229
182
227
202
197
176
145
203
146
177
172
176
176
317
206
196
144
209
222
179
173
166
173
210
246
143
204
216
169
238
213
129
145
144
132
158
198
235
171
211
177
208
161
178
173
241
199
240
173
271
226
146
195
146
178
247
256
138
129
156
248
250
176
283
192
130
238
234
190
129
146
210
171
211
238
129
223
130
228
162
129
206
129
202
174
246
129
247
171
162
176
153
176
150
178
201
228
258
179
214
247
216
146
168
195
204
152
233
214
160
179
207
234
146
150
221
206
183
177
186
155
184
159
185
195
146
122
218
156
188
176
169
219
220
144
202
222
204
214
166
184
197
182
224
236
185
202
206
145
145
199
129
204
191
239
208
158
191
222
227
180
204
179
213
164
173
201
192
143
189
183
223
195
155
162
239
206
212
219
138
197
277
202
191
180
210
222
180
243
231
226
182
261
169
222
214
200
185
218
143
183
206
151
178
248
160
166
263
189
278
173
191
230
145
170
182
239
145
210
210
169
178
254
144
256
238
204
196
224
210
219
194
153
132
198
161
225
179
147
216
167
141
204
270
169
191
157
173
195
219
130
308
184
174
191
176
173
146
210
257
210
217
150
201
194
193
158
238
130
152
238
218
173
288
176
130
195
166
159
214
176
151
240
211
181
180
167
202
176
242
197
206
195
182
206
204
207
198
202
130
200
255
183
129
190
175
178
185
129
131
130
179
252
186
168
204
211
164
177
204
217
240
132
146
162
202
169
129
200
229
211
236
193
143
197
160
249
178
138
182
146
166
176
152
208
208
130
265
202
161
156
129
173
155
191
221
179
115
233
168
129
164
285
212
217
202
226
162
201
115
229
169
168
180
204
174
234
228
203
184
184
204
229
176
300
143
143
159
131
158
198
173
204
182
173
138
129
189
223
164
218
239
161
130
180
250
249
202
239
156
217
146
184
218
180
181
180
189
130
184
211
200
115
193
183
206
263
184
259
204
222
201
264
130
227
220
143
243
184
222
129
176
263
186
146
197
207
215
190
181
236
155
232
184
150
146
178
236
180
203
190
216
189
171
225
249
191
293
146
158
294
187
204
150
208
197
209
264
219
280
179
216
184
176
197
250
146
209
168
248
213
206
225
252
151
146
238
176
194
151
202
204
145
245
254
284
209
187
130
203
173
188
173
181
195
261
195
200
184
274
157
176
180
128
151
129
173
129
182
221
176
173
151
272
221
164
115
129
203
151
184
195
155
201
198
165
230
249
176
161
185
236
208
228
162
217
180
212
182
143
130
231
176
193
247
214
304
187
175
191
200
143
214
200
129
151
211
169
162
204
217
181
221
168
176
261
208
231
211
186
167
214
189
150
154
207
149
188
211
184
130
240
179
182
248
238
163
206
239
180
203
231
160
173
165
240
216
129
150
146
204
191
127
168
178
147
202
179
143
162
162
186
179
188
168
228
130
143
225
191
203
168
202
200
217
133
210
192
179
239
252
168
227
234
173
267
137
149
221
257
253
143
168
201
155
129
211
217
230
223
208
176
183
184
190
214
160
146
212
185
230
129
209
197
143
232
183
194
173
129
237
217
189
176
258
210
144
173
174
281
215
241
191
115
145
149
178
130
211
176
133
202
215
217
210
173
156
265
207
175
227
176
184
184
200
158
144
225
218
180
158
200
242
167
184
133
129
143
192
210
173
169
173
191
190
240
244
235
158
177
191
129
168
191
162
115
192
238
184
211
130
130
225
185
161
201
207
180
133
185
221
198
129
244
212
146
156
143
232
235
201
130
166
176
234
193
264
179
170
173
160
259
225
221
206
168
296
215
205
198
196
146
201
115
198
210
236
234
133
146
188
199
204
151
190
180
236
155
155
209
181
264
133
173
246
208
221
130
245
129
239
247
176
153
133
232
145
169
157
213
184
216
176
213
184
180
147
210
179
198
224
210
180
129
203
185
210
161
195
183
211
204
184
162
149
202
201
179
221
215
216
273
214
176
177
218
189
190
210
156
129
236
130
206
160
226
149
216
208
202
178
161
147
180
175
210
176
186
180
244
230
282
239
239
173
174
258
193
210
242
164
129
138
217
176
150
173
231
160
217
161
174
192
184
204
203
217
181
238
184
274
197
200
149
192
211
178
203
173
129
210
202
233
194
207
231
184
252
156
183
169
227
190
321
163
173
207
231
254
122
206
218
184
251
133
190
217
129
143
255
199
178
268
229
164
200
159
230
194
185
170
255
176
172
292
176
163
159
212
283
191
178
138
221
198
249
174
232
173
211
191
222
151
222
221
168
225
247
178
158
181
129
209
133
217
179
199
164
168
143
227
246
239
211
204
201
209
211
173
203
200
176
158
191
170
186
137
220
216
187
181
233
252
230
240
115
176
191
122
238
335
264
206
204
168
145
115
263
214
158
173
214
214
166
217
130
193
173
164
160
129
255
184
210
162
183
180
146
308
194
144
166
146
176
166
194
160
200
179
138
129
210
236
197
168
168
202
130
221
228
169
144
246
225
149
201
184
201
173
173
183
187
184
244
183
232
150
157
119
174
173
186
169
194
184
211
164
256
145
145
181
210
146
204
115
224
197
146
194
194
191
157
228
172
231
176
160
164
221
204
177
192
234
146
177
229
222
236
178
183
181
309
233
179
205
197
225
207
178
200
179
198
201
239
176
217
151
239
206
229
176
173
151
300
180
162
219
155
145
115
146
195
228
191
221
160
161
140
176
146
207
293
168
130
178
130
239
201
179
216
214
146
258
183
198
166
162
181
207
193
183
208
176
224
233
184
129
239
176
130
187
130
264
170
218
168
184
129
209
164
206
227
179
173
146
130
220
141
204
182
202
237
155
296
239
155
210
191
178
259
164
185
190
211
176
168
212
211
237
224
173
246
162
211
283
201
130
183
155
210
227
251
202
188
183
188
143
225
180
234
200
168
192
231
225
221
206
210
228
210
115
234
218
188
221
166
197
265
208
183
143
275
163
188
184
263
215
203
202
176
189
178
212
259
179
217
262
201
200
208
129
161
186
175
178
146
256
183
229
205
208
174
179
214
206
185
151
168
227
316
171
173
300
164
224
261
212
238
184
146
186
197
173
129
231
217
176
215
152
236
158
183
234
204
183
207
211
130
158
143
238
242
194
335
179
205
167
143
222
187
145
185
170
198
231
240
229
221
191
178
175
220
255
217
206
243
223
189
168
209
146
210
130
234
130
204
144
222
184
163
189
217
152
179
219
167
161
133
215
158
133
130
174
207
146
168
146
146
200
214
161
144
210
171
200
181
166
242
166
225
217
210
151
211
143
178
188
214
261
176
130
246
174
217
129
183
122
179
145
115
165
171
168
255
167
153
191
186
173
182
152
188
278
133
158
166
130
232
129
236
159
215
173
171
146
176
201
158
244
280
192
206
189
195
164
161
176
155
169
133
191
191
204
168
162
129
188
185
206
192
201
225
210
218
179
200
201
210
252
210
160
159
173
182
201
172
160
156
203
188
168
133
146
129
252
173
210
181
129
144
192
133
252
129
190
223
204
182
214
233
244
130
180
179
173
202
202
209
242
164
217
214
162
169
211
184
204
254
191
130
200
179
185
176
243
201
172
204
185
229
191
129
214
217
209
180
224
233
173
210
234
202
130
197
218
149
115
171
204
193
216
215
174
203
237
183
204
179
146
130
228
189
219
195
209
173
166
147
201
234
204
201
191
200
159
155
143
209
221
188
173
217
213
217
217
162
158
200
228
115
130
184
180
242
206
133
270
236
168
169
164
168
225
147
266
261
169
195
190
130
165
217
291
199
182
169
182
218
184
237
199
238
209
115
191
141
155
217
161
188
176
201
129
176
186
210
176
176
160
153
202
208
130
174
146
201
200
287
206
145
226
198
288
166
222
239
180
180
149
174
181
211
236
193
187
208
150
239
263
258
210
210
115
130
229
158
193
205
162
241
168
186
225
206
225
173
198
217
143
177
203
163
209
210
158
181
180
183
192
207
199
229
205
227
178
183
179
149
253
206
173
130
231
207
144
166
128
162
155
177
175
236
216
230
208
219
146
258
146
176
225
158
251
210
130
183
251
240
205
225
155
184
158
168
221
248
158
190
160
252
168
171
214
212
146
204
207
133
224
164
210
239
169
196
129
191
145
173
155
129
176
155
156
173
138
195
190
209
212
181
200
211
189
115
203
204
129
202
185
181
159
145
216
130
195
199
185
201
182
196
176
141
279
176
231
161
246
212
162
144
129
161
160
173
191
225
187
211
176
217
192
191
216
197
155
143
165
200
176
176
266
264
158
180
182
239
202
204
230
202
203
176
179
165
192
214
171
129
209
200
145
241
157
217
185
146
130
195
219
206
173
181
179
146
159
191
192
217
231
158
251
162
156
303
232
230
239
130
167
155
217
212
130
119
205
145
263
216
218
191
221
196
185
115
146
130
184
255
130
199
146
201
176
208
201
129
130
130
226
176
133
194
212
205
158
215
172
129
166
256
204
187
256
246
144
161
221
230
227
173
145
146
194
182
206
156
174
170
217
186
230
207
210
255
230
156
183
188
176
191
115
182
231
212
171
217
238
273
202
176
233
163
143
159
216
194
265
129
155
199
143
168
130
163
155
202
217
182
201
246
168
176
200
264
195
141
155
128
168
261
155
173
236
226
202
245
202
238
230
231
182
194
169
214
237
190
169
250
168
193
182
199
203
182
200
158
161
157
171
196
212
202
164
232
115
115
168
128
168
228
241
184
191
194
141
162
182
263
169
199
164
221
173
168
239
191
130
214
204
130
157
189
204
185
130
335
204
176
182
264
192
191
148
225
115
238
211
130
229
288
285
206
191
192
150
199
168
216
159
182
209
179
119
168
146
122
158
239
149
129
157
191
268
238
197
169
282
211
162
215
253
229
176
158
173
210
197
176
240
189
205
180
164
274
159
208
182
176
176
231
211
229
146
210
174
258
200
129
181
190
201
128
138
172
202
190
239
199
267
173
210
222
224
164
174
176
211
179
238
145
204
198
181
207
228
129
130
249
172
146
130
206
176
180
173
150
181
239
238
205
132
133
145
176
217
174
169
145
213
173
183
188
217
147
130
184
133
253
222
217
184
245
211
176
210
215
189
228
335
162
130
190
214
192
145
211
133
203
184
204
258
182
183
302
197
173
201
233
177
236
166
143
163
178
283
192
203
194
207
122
180
181
186
169
173
264
189
146
206
198
189
180
145
143
129
180
200
115
221
157
149
204
183
206
176
228
194
238
266
138
210
150
246
221
186
195
227
176
201
255
198
186
138
190
176
151
174
129
144
180
200
122
173
143
174
242
176
173
218
200
197
225
132
193
187
239
178
240
169
218
158
191
222
242
146
243
247
130
248
162
146
210
227
145
168
145
147
179
185
250
234
157
182
158
223
204
204
202
164
180
240
166
185
300
209
258
204
145
221
239
129
222
180
182
222
190
203
158
264
209
184
174
115
146
230
157
230
246
227
151
260
302
189
173
228
173
169
226
245
129
223
211
176
200
178
202
188
189
173
173
220
173
246
162
146
203
236
248
238
141
178
218
192
214
226
185
224
176
168
236
155
179
201
141
251
202
226
197
230
179
186
201
202
258
285
157
241
129
199
238
201
211
168
186
238
168
224
164
178
231
211
217
206
313
173
143
240
198
130
115
211
192
162
222
130
269
185
180
224
303
259
188
168
198
286
180
129
172
255
243
222
217
241
182
133
250
176
226
122
145
217
201
179
216
219
143
151
188
260
313
234
204
183
225
184
195
130
173
227
191
262
210
210
198
214
169
146
138
236
146
236
164
224
115
262
194
201
272
181
221
216
150
176
115
145
176
145
193
251
176
186
145
253
202
179
185
172
177
186
173
188
155
217
184
200
182
185
247
224
199
179
122
146
169
218
236
155
141
169
184
203
238
260
199
189
162
145
172
286
130
184
247
173
193
172
217
150
176
173
222
246
191
158
162
256
226
141
128
190
203
191
146
230
178
170
201
263
261
183
201
143
207
179
209
183
208
130
231
241
143
158
283
233
202
335
243
188
210
145
115
207
178
202
157
202
248
256
170
189
195
172
184
152
206
230
199
204
227
173
209
221
204
215
217
235
193
353
189
173
238
115
202
191
274
162
156
192
173
264
208
171
181
256
165
184
178
192
242
192
281
156
129
122
191
250
204
218
158
217
250
145
206
166
171
251
272
220
158
161
218
214
201
185
217
267
201
115
157
206
255
146
179
217
242
167
300
174
191
192
220
219
141
143
164
193
179
197
189
177
145
201
173
184
129
176
204
225
335
130
213
179
176
160
258
168
201
188
176
180
211
207
146
156
190
215
242
210
146
146
130
246
146
196
216
115
256
130
150
171
206
240
202
191
195
259
130
156
191
208
146
169
185
207
204
222
202
201
229
203
168
215
186
183
179
129
179
227
259
179
173
150
304
122
232
225
201
221
166
261
247
217
202
240
173
216
201
141
217
200
244
149
129
133
190
164
130
187
152
146
170
303
205
129
191
145
156
161
265
226
122
129
193
215
181
183
149
228
253
254
133
179
185
249
325
239
191
222
180
201
300
207
197
174
157
164
231
206
234
146
216
173
173
198
161
187
138
176
146
210
181
162
190
221
170
193
202
174
201
162
265
191
193
215
138
181
146
187
176
239
164
133
213
213
182
173
239
186
264
159
236
155
174
218
146
222
187
190
130
210
191
176
244
146
321
226
164
200
256
185
143
160
221
227
151
216
205
204
176
227
153
199
133
133
335
187
174
185
162
250
181
129
162
230
192
187
283
246
162
157
130
157
221
176
183
228
228
192
164
133
170
180
130
244
273
218
138
158
249
196
243
182
166
201
176
195
169
173
176
182
229
185
256
141
211
230
166
173
150
222
162
226
129
210
214
248
167
248
130
210
133
165
193
222
236
263
199
221
204
138
276
303
172
179
174
173
241
191
200
150
204
175
287
173
165
164
132
178
234
204
274
240
206
183
185
162
164
174
185
178
191
233
171
141
145
130
276
231
182
199
213
254
182
157
175
210
149
179
187
130
208
183
201
226
164
239
230
204
133
229
238
213
173
204
211
249
194
247
236
143
260
133
240
228
220
193
233
204
173
146
191
187
192
204
191
133
182
130
198
153
164
249
253
211
155
151
183
194
190
129
208
206
189
115
186
129
228
156
197
207
194
130
211
200
150
155
210
192
205
238
157
169
195
153
217
188
246
227
221
115
129
164
214
228
160
179
232
261
180
216
211
150
250
130
161
178
162
224
217
177
190
211
256
203
170
130
186
187
158
146
178
176
252
166
168
212
191
258
198
182
274
211
179
194
256
191
209
176
122
181
143
158
217
204
201
248
190
250
236
145
146
182
156
217
181
161
180
138
201
273
176
151
122
227
207
163
271
144
204
170
227
181
217
212
247
208
182
132
181
194
140
181
191
175
218
223
173
129
204
172
176
169
251
184
228
176
200
191
173
143
161
206
143
201
185
145
239
202
176
179
186
238
184
199
178
141
228
180
279
204
212
197
181
206
182
144
150
141
236
168
249
210
164
151
216
201
170
165
258
218
257
224
129
191
204
203
198
194
181
216
203
171
168
162
178
168
192
239
206
168
204
156
149
182
188
168
176
176
145
168
221
158
201
273
191
238
146
174
233
240
201
182
221
230
174
214
206
217
254
185
185
192
220
146
180
161
146
238
181
145
245
129
243
162
188
242
129
227
174
255
224
170
115
179
168
260
192
185
215
130
180
168
131
272
195
226
168
218
204
203
215
129
251
258
143
201
208
129
265
150
150
133
203
328
146
233
205
183
149
288
237
253
178
229
181
221
174
167
168
146
155
274
133
230
162
161
231
143
179
165
169
176
204
176
188
283
190
200
186
225
208
229
206
186
173
174
253
146
183
130
149
217
146
204
247
130
249
133
192
226
173
240
187
176
224
194
174
191
145
225
238
189
274
212
178
138
175
129
149
328
206
146
129
195
196
212
166
130
303
295
180
156
187
315
190
238
229
175
148
162
262
262
183
138
179
158
179
143
278
205
154
209
227
173
143
274
173
182
228
146
188
188
232
130
246
186
175
178
132
168
129
168
130
260
130
133
173
146
179
211
228
212
173
130
200
225
129
172
183
146
130
168
162
143
197
184
226
203
164
156
188
160
210
248
157
242
171
234
194
230
200
174
183
172
252
172
182
215
247
182
192
168
204
173
231
159
180
247
187
230
233
188
181
133
129
146
206
211
214
202
208
149
172
238
177
173
211
222
204
196
212
200
209
211
130
175
236
197
235
224
211
184
195
238
241
150
189
129
183
252
182
201
179
160
179
194
138
195
258
237
194
250
173
205
168
186
217
190
160
217
182
169
194
232
182
173
173
206
223
211
195
173
239
167
226
213
158
159
210
190
143
249
229
122
130
169
194
233
133
167
168
200
173
198
191
156
185
308
208
206
115
204
191
238
183
224
158
231
207
179
222
209
293
205
234
216
208
208
233
202
171
180
168
222
165
199
152
188
222
166
195
221
187
236
141
191
164
184
264
159
115
168
202
201
192
246
173
244
192
294
206
200
335
214
211
209
146
175
188
214
180
173
182
176
228
205
246
173
145
221
182
217
242
130
217
133
176
250
201
194
250
145
182
239
211
191
130
221
234
179
274
201
211
164
209
162
185
216
213
182
183
175
179
199
275
190
143
162
194
160
130
129
203
183
200
162
179
155
204
254
227
194
173
146
238
195
146
214
172
200
203
210
173
204
188
187
194
144
141
188
141
254
193
164
129
232
172
246
146
193
191
204
179
247
194
129
129
252
176
159
210
178
176
129
209
194
185
129
155
218
211
200
300
197
162
239
209
204
248
160
222
129
184
145
192
166
129
221
152
235
153
129
202
171
130
173
143
190
223
200
204
175
264
253
254
176
180
129
209
176
173
169
129
193
180
130
231
195
173
218
200
141
248
175
173
159
166
191
189
264
129
176
203
158
175
181
160
169
210
200
207
189
230
165
214
230
231
173
150
264
193
230
191
177
190
176
208
257
179
222
172
189
129
203
184
130
173
176
158
243
237
186
222
216
231
180
169
226
194
183
115
237
195
200
155
168
230
184
237
175
143
173
217
130
181
254
199
163
259
213
164
181
263
261
176
164
172
195
191
222
209
223
234
185
189
259
180
245
236
180
178
210
211
176
222
146
130
295
226
209
235
184
191
160
186
234
200
186
183
115
204
210
161
193
145
179
115
195
216
158
170
205
133
177
209
156
188
214
197
132
178
184
230
130
189
245
210
236
222
210
244
191
252
171
130
228
296
198
217
178
199
200
209
186
141
128
176
238
238
164
204
191
177
166
173
230
146
158
129
146
241
143
168
198
146
168
259
162
198
168
199
180
176
161
200
158
191
203
133
202
195
173
141
299
239
200
158
210
199
212
141
204
173
189
146
216
233
146
161
231
190
195
151
178
145
173
145
204
204
210
164
247
240
214
183
129
248
145
209
253
182
200
189
129
216
226
146
210
192
158
280
206
129
146
146
202
164
170
270
182
184
226
237
202
190
215
173
201
188
164
315
115
141
185
200
176
206
183
261
150
227
155
173
210
164
233
209
178
224
172
173
186
138
181
190
166
176
148
233
173
218
210
188
129
211
204
115
174
164
257
130
170
179
170
178
184
173
226
115
222
201
234
138
207
189
229
191
264
200
175
132
207
209
183
176
187
158
254
132
162
145
204
183
145
185
185
182
168
169
195
217
158
130
191
156
173
161
176
200
206
164
189
174
162
183
204
204
190
222
168
156
184
214
263
238
227
130
211
152
211
178
173
231
129
202
229
145
143
191
162
122
224
184
141
146
219
150
217
149
157
173
220
184
180
181
146
129
206
207
200
248
155
200
198
129
152
166
207
166
189
173
213
164
158
155
191
225
262
210
173
250
146
238
176
176
173
176
176
187
130
176
155
207
150
202
157
158
155
197
115
152
217
236
210
307
164
252
138
190
168
277
185
201
190
176
156
224
220
164
200
161
214
177
182
205
256
204
160
210
191
204
164
170
164
173
179
218
182
217
195
183
130
168
161
149
141
177
132
193
223
214
217
214
204
178
166
161
252
173
182
211
173
192
210
296
182
198
189
183
196
211
227
158
197
192
174
194
199
173
258
206
219
158
214
174
132
254
156
180
199
145
129
211
145
201
195
219
130
182
151
214
256
287
201
240
206
184
189
167
192
255
251
240
168
176
210
149
138
129
158
195
162
173
149
181
197
146
137
169
233
164
132
174
180
161
210
201
169
207
218
205
146
158
168
168
226
179
267
165
222
206
115
144
226
219
194
158
186
115
219
187
271
251
146
146
239
222
222
174
224
225
168
221
213
129
149
194
200
255
186
182
183
185
191
166
146
184
146
216
200
138
169
280
242
220
145
224
146
246
234
138
129
204
264
162
230
165
145
161
165
154
176
200
149
180
130
239
280
167
129
210
143
173
242
194
236
195
192
205
208
186
224
191
153
209
173
146
170
175
232
221
173
205
145
236
204
176
188
236
115
177
230
191
143
115
155
129
145
129
177
158
162
243
175
230
205
215
177
152
225
193
184
152
182
203
206
259
145
130
256
152
230
130
217
183
175
208
164
166
242
206
227
155
191
253
210
228
229
157
173
195
187
182
152
212
176
201
179
183
166
159
206
184
178
146
179
266
163
205
173
203
190
199
176
255
222
250
238
231
204
264
185
130
206
204
138
230
233
130
183
204
212
192
133
275
256
191
130
172
133
165
164
234
231
231
201
138
217
248
237
222
168
171
115
192
212
269
244
235
146
129
209
174
179
206
211
157
143
130
143
169
179
183
204
198
145
246
208
213
201
222
177
163
313
158
184
210
247
202
191
192
264
129
204
162
150
129
173
311
216
200
183
224
254
176
146
115
209
129
188
234
173
233
221
230
194
143
169
248
202
189
201
173
186
149
210
157
167
144
222
129
231
255
155
191
225
178
129
143
223
225
248
140
204
130
146
225
162
205
242
182
169
216
162
211
143
172
168
204
216
226
239
175
184
178
260
212
203
174
333
190
160
133
290
159
192
156
182
211
173
164
146
159
129
146
198
129
173
146
187
198
129
204
181
163
210
242
168
201
161
146
228
130
300
130
242
194
186
171
145
175
211
183
146
210
239
263
162
236
173
201
220
201
129
246
216
236
264
146
214
119
151
133
209
188
194
145
182
171
245
176
129
192
173
237
181
221
130
181
170
133
251
209
186
143
227
202
173
193
203
158
164
153
145
129
129
216
215
248
185
205
173
200
207
241
168
146
191
173
217
202
195
164
169
191
184
236
206
226
186
173
203
188
147
157
188
173
174
264
145
179
202
244
231
218
178
208
160
282
129
180
180
269
205
208
115
238
189
236
173
129
225
146
230
169
162
215
162
194
174
283
201
225
147
288
210
217
204
167
194
179
198
180
245
129
186
115
174
195
166
164
115
180
202
183
191
181
208
174
145
191
151
146
179
183
255
209
145
201
202
181
173
202
176
236
300
176
190
213
173
173
204
166
208
122
261
210
234
200
204
195
149
256
211
285
187
203
156
176
203
194
177
185
146
187
198
146
216
179
218
210
129
146
156
229
206
158
161
239
241
228
178
182
164
321
129
225
246
220
278
210
233
143
226
189
243
153
164
143
204
176
206
133
225
202
153
184
185
206
201
192
230
226
201
188
209
222
250
177
207
168
194
211
141
171
193
245
201
162
229
266
255
201
190
238
220
138
210
216
215
195
188
227
143
150
133
188
335
222
133
115
222
163
190
264
228
166
176
179
133
189
217
155
206
195
256
204
237
188
189
183
181
182
222
129
208
238
259
271
151
210
149
189
188
231
226
177
201
164
191
150
152
146
212
196
257
147
203
200
208
182
217
122
173
190
196
130
178
209
192
225
214
204
172
138
168
175
158
254
156
241
182
160
157
141
188
141
246
172
153
173
179
145
243
115
183
158
190
174
204
227
248
165
235
129
217
143
150
325
173
158
146
248
181
176
272
194
145
184
204
160
220
143
122
225
252
173
168
207
156
191
164
267
201
143
182
178
175
192
162
258
189
129
150
183
146
158
168
195
190
211
183
218
239
272
182
181
164
212
263
209
183
192
201
155
200
219
216
230
197
214
183
178
145
214
217
229
245
184
210
215
184
236
210
224
275
250
146
178
178
130
198
288
249
130
190
173
158
119
211
151
223
178
128
199
327
185
149
130
119
203
176
216
131
238
202
254
177
261
150
129
194
161
233
214
149
162
230
185
130
129
193
232
217
202
219
168
262
214
202
149
205
171
218
216
256
189
200
184
217
131
130
217
232
178
174
205
227
247
129
217
193
158
162
256
218
183
179
198
156
171
248
130
218
204
145
122
183
221
185
130
157
202
224
237
193
166
157
167
201
252
210
180
173
162
141
213
257
146
145
207
141
189
181
230
203
210
207
169
130
130
219
246
181
210
322
182
225
246
130
242
170
173
227
144
211
214
203
156
184
170
203
130
178
145
230
215
179
178
214
211
156
115
195
179
158
234
176
157
208
216
184
258
192
222
214
231
185
216
162
146
128
259
214
173
195
168
238
176
216
211
164
187
179
210
176
206
174
171
184
217
185
201
149
167
205
195
226
204
146
209
229
184
200
210
202
130
176
184
192
176
199
217
260
202
242
234
199
201
208
176
225
176
164
230
198
193
264
181
217
224
215
200
130
178
166
193
159
174
230
129
130
201
130
178
164
175
200
251
210
158
206
252
203
195
176
181
156
169
225
174
179
204
194
199
201
185
222
173
162
185
173
146
200
202
182
231
212
193
222
160
180
190
210
130
210
164
257
162
209
130
169
133
258
115
130
232
168
133
217
206
225
168
191
256
175
217
176
204
256
224
115
176
198
180
160
149
200
216
176
223
335
200
130
249
204
171
189
183
161
122
230
224
190
179
156
216
143
130
216
162
168
133
130
181
130
157
173
182
115
185
155
216
258
193
168
212
216
217
208
130
153
180
237
211
155
160
267
206
172
189
190
145
176
243
188
143
214
115
200
163
176
227
176
238
176
156
217
242
168
180
200
130
138
176
210
211
179
166
254
180
240
247
228
133
178
172
132
185
210
150
212
188
115
133
129
204
186
129
162
242
208
236
130
173
161
176
195
119
229
202
191
190
168
215
218
179
138
129
163
205
157
186
169
145
272
206
204
162
206
173
211
210
210
211
170
206
130
172
157
130
231
230
189
213
210
210
160
270
130
203
195
175
206
130
169
173
183
174
201
173
157
201
176
171
174
206
181
237
162
184
240
146
225
191
180
130
183
192
230
206
179
227
263
185
162
156
146
169
206
263
209
190
133
130
182
160
173
218
183
269
166
252
164
188
237
180
145
174
201
228
164
183
199
169
254
173
186
160
180
129
238
182
188
201
185
164
225
178
202
264
119
251
141
210
200
161
202
129
217
159
202
272
155
211
131
158
176
129
217
173
195
156
179
293
199
176
201
255
129
186
229
145
201
162
222
214
222
233
168
144
185
129
178
183
130
143
208
173
201
198
204
146
115
281
215
211
189
241
188
146
155
180
178
236
204
253
185
158
209
173
180
176
173
266
217
195
176
175
265
311
184
129
221
147
229
149
164
244
214
231
258
177
176
169
200
130
248
237
156
143
235
146
273
174
146
210
173
130
182
197
212
214
189
190
176
216
234
184
273
206
147
230
145
208
129
210
210
166
246
172
173
195
281
129
138
155
218
166
131
260
194
230
210
205
156
158
280
169
130
159
173
239
130
236
211
181
176
129
115
208
202
236
254
182
157
195
183
184
181
130
162
194
146
173
210
300
171
169
179
158
181
173
226
254
194
188
150
130
133
248
161
133
199
191
176
209
200
146
133
210
195
212
145
129
180
176
173
190
176
206
130
191
178
181
151
149
203
174
174
179
130
201
202
243
187
221
181
165
217
145
164
249
166
194
146
188
179
247
143
152
285
212
164
146
194
283
176
219
203
146
202
162
274
133
167
178
145
169
149
164
259
192
249
239
129
273
179
173
233
206
212
130
162
173
153
168
210
160
130
210
239
248
168
192
173
210
227
225
141
146
279
150
225
145
176
216
300
184
213
145
218
229
202
240
208
173
236
187
171
246
176
207
181
151
158
261
179
229
215
139
176
229
129
213
129
223
194
163
231
234
182
173
227
160
164
215
130
221
221
226
239
189
162
179
149
149
222
218
176
226
230
168
188
181
146
164
210
183
144
203
141
188
201
230
182
230
129
182
176
230
155
243
264
178
164
222
203
164
174
262
200
211
230
217
115
217
155
221
230
167
302
169
145
161
169
195
171
211
152
204
192
255
178
155
171
246
200
130
222
257
155
138
247
193
245
178
172
147
227
169
162
184
228
217
211
205
130
219
147
246
166
155
129
171
239
170
230
207
182
151
200
237
171
145
200
195
210
191
129
238
230
149
237
181
230
122
147
230
200
145
182
185
129
175
205
122
156
209
209
159
220
214
193
259
236
158
133
141
230
164
211
170
271
229
217
185
237
158
188
179
176
156
171
210
204
130
158
122
129
261
258
198
202
205
177
202
269
176
129
220
276
115
230
130
230
146
151
191
184
230
202
150
201
198
186
164
179
200
216
159
255
246
218
302
263
201
216
184
156
195
133
195
201
157
210
185
210
168
183
191
192
188
162
129
195
157
217
159
200
224
204
168
201
173
217
172
188
208
228
174
171
202
143
208
281
173
230
265
178
209
206
173
301
215
173
130
217
129
129
261
244
141
186
196
182
184
155
225
178
133
248
230
146
164
243
228
197
177
244
187
168
210
167
214
178
153
185
246
133
204
181
131
230
179
128
202
248
186
173
171
241
204
130
242
176
161
184
205
229
201
164
207
181
185
119
168
258
156
176
228
173
188
162
158
146
205
146
223
157
219
191
230
255
129
179
216
183
231
174
255
246
129
130
208
238
207
201
128
178
173
155
130
129
271
185
168
227
130
160
239
221
146
158
160
166
228
210
235
300
201
160
234
202
294
156
254
184
214
193
171
146
233
188
260
149
146
133
226
157
222
181
218
199
201
207
165
178
169
288
189
221
200
171
247
243
143
211
183
238
255
222
186
236
179
230
176
203
234
183
176
179
214
259
225
151
217
133
203
129
173
199
197
143
189
129
228
149
264
177
192
167
169
190
207
205
239
176
200
158
254
248
234
211
146
178
166
138
200
189
242
275
210
242
208
171
209
173
217
219
196
201
130
168
146
143
199
194
130
168
181
202
204
206
271
169
187
203
190
228
194
183
176
285
230
168
160
176
180
204
176
143
202
215
201
199
174
246
169
221
173
220
219
204
195
212
146
176
201
238
158
145
138
236
217
158
192
243
250
176
155
143
180
178
211
155
206
222
130
155
237
182
158
239
212
209
129
184
221
162
217
169
184
192
199
183
130
177
194
255
221
161
179
197
158
241
188
239
129
211
193
225
162
218
228
213
246
250
180
141
176
212
171
133
185
231
191
252
233
195
236
115
195
200
217
211
287
157
238
176
129
164
238
187
195
191
186
231
201
210
319
173
214
170
272
179
208
201
218
210
161
197
167
204
174
146
242
147
146
161
159
208
232
163
215
158
233
214
158
133
133
152
186
164
129
179
246
210
214
145
184
130
178
206
173
189
200
186
166
222
195
216
155
201
130
200
211
146
212
166
204
280
214
234
171
160
146
208
264
212
228
145
185
145
226
189
236
173
309
230
129
142
228
218
185
146
183
202
240
153
169
164
247
184
237
176
188
214
146
161
204
173
279
145
217
115
173
195
133
230
170
229
174
176
180
217
180
157
318
129
218
206
173
158
158
187
173
220
143
298
176
158
201
168
258
230
216
176
150
214
141
193
173
251
129
261
173
189
236
185
181
175
210
202
192
152
211
222
260
210
257
294
204
234
196
201
180
146
290
219
152
214
185
170
248
211
227
215
186
240
168
147
186
208
187
145
235
204
166
210
162
211
252
176
230
242
236
183
256
188
202
239
146
173
183
256
222
150
181
225
180
155
184
202
130
156
185
130
216
210
193
217
132
247
201
164
146
180
207
260
129
297
166
228
205
262
233
185
172
130
256
130
161
164
219
199
162
190
195
132
173
222
167
177
179
167
190
188
216
129
239
164
200
204
183
145
188
194
254
228
186
129
129
147
263
176
185
176
201
198
115
169
173
212
199
138
149
214
179
208
183
204
150
146
173
181
210
146
204
205
173
187
182
179
189
275
211
150
180
183
217
200
162
145
211
188
230
206
222
274
229
203
150
235
162
172
203
142
182
184
146
224
173
179
201
200
202
176
210
168
211
145
236
228
190
201
228
181
229
220
179
191
143
261
145
133
217
171
212
242
200
219
115
184
129
204
148
130
137
221
270
146
243
172
146
143
191
161
200
155
169
311
151
168
144
164
216
173
287
219
130
196
238
229
130
204
128
130
195
173
138
176
266
133
183
150
268
185
186
173
250
146
230
240
151
195
242
220
209
178
216
173
181
130
186
161
179
289
205
239
210
220
164
156
153
168
283
130
133
129
191
155
170
324
217
236
231
158
200
217
156
199
158
180
230
237
178
179
195
204
162
244
164
231
133
187
217
176
205
201
200
258
204
204
130
152
191
177
194
183
238
215
179
129
200
133
243
122
194
145
161
130
210
129
183
182
179
210
247
152
145
176
264
236
204
236
141
146
146
133
202
287
130
182
156
205
180
202
160
193
174
243
133
146
207
220
230
176
253
203
177
280
204
158
199
145
195
220
168
149
130
146
261
204
173
200
167
204
201
161
233
222
242
215
180
173
156
164
205
200
239
182
130
164
210
172
238
203
200
143
191
182
169
252
166
176
224
164
156
191
214
168
182
259
129
130
164
212
143
217
301
156
176
201
236
204
173
231
189
156
258
168
169
217
182
129
232
189
158
202
239
239
238
176
177
171
122
244
176
183
145
251
194
173
206
179
141
201
179
204
191
155
150
210
256
176
270
245
201
210
200
179
198
210
145
238
129
174
218
158
218
204
239
180
144
169
201
218
247
242
166
133
173
266
162
182
148
161
130
115
163
151
176
146
167
206
168
187
185
202
197
212
204
145
179
227
182
191
202
173
193
193
133
167
168
129
282
210
168
133
304
213
194
225
176
187
179
129
146
129
129
250
172
180
222
200
143
169
156
210
133
247
204
198
200
207
178
173
145
164
235
287
201
211
180
171
304
202
190
193
282
238
184
206
222
163
171
214
195
216
166
250
214
232
202
184
235
221
185
158
146
155
173
191
187
255
202
115
149
221
146
230
129
186
164
188
201
182
189
238
202
202
132
185
173
162
191
211
262
190
246
176
194
186
204
198
249
129
146
185
179
227
160
164
119
285
193
236
221
276
239
115
205
225
162
173
221
182
202
146
238
165
176
172
214
143
206
216
185
208
155
200
239
238
166
202
170
180
169
201
213
197
240
225
243
266
176
256
216
216
199
141
176
129
203
163
173
217
156
184
179
274
262
185
173
283
190
179
222
218
186
166
230
212
217
184
213
246
194
201
129
236
221
222
253
160
249
158
191
261
179
188
195
299
252
115
254
236
161
184
158
155
199
228
188
237
199
162
281
176
217
210
206
183
173
235
193
128
211
206
149
216
185
130
146
207
156
175
163
145
204
277
236
201
149
207
186
174
145
200
176
223
231
130
197
230
182
129
175
210
288
191
128
229
217
180
181
143
222
201
167
228
243
143
268
222
115
198
156
173
180
170
189
200
230
193
156
230
187
185
211
185
161
217
149
185
130
130
214
211
191
177
216
202
164
194
206
158
201
182
204
141
204
198
262
133
240
176
207
146
214
246
229
152
173
214
147
210
268
180
166
227
278
151
216
236
157
208
222
184
241
180
236
130
129
130
161
275
152
233
129
180
192
130
146
243
204
216
228
129
145
179
172
227
193
181
176
131
223
230
146
141
210
260
172
168
225
239
201
239
207
173
146
211
213
115
204
146
191
171
238
146
204
246
158
191
186
178
165
156
251
138
202
192
191
209
158
244
211
188
158
236
176
279
162
207
161
238
198
263
256
190
262
128
146
162
249
178
179
190
265
180
129
184
192
168
176
149
149
223
218
215
204
221
143
223
182
147
227
150
203
183
164
149
185
215
177
200
211
129
237
236
127
186
129
256
130
197
129
133
206
181
283
212
130
160
173
217
145
210
176
297
201
225
163
130
164
229
236
220
138
271
212
184
239
201
155
146
160
195
144
173
147
192
237
130
246
162
214
236
212
155
217
176
130
202
203
202
181
183
133
231
129
202
255
182
179
130
194
235
211
243
195
227
204
240
176
261
138
174
172
248
246
201
133
200
155
185
168
283
192
184
223
181
130
176
177
257
141
210
162
156
178
146
248
188
156
176
201
199
230
173
230
178
225
202
200
230
204
172
176
176
130
183
293
178
223
196
158
162
166
236
182
138
208
168
115
130
255
191
183
250
208
179
130
203
262
115
235
182
198
180
162
174
176
160
129
168
230
189
161
197
115
211
264
200
153
256
217
251
141
261
146
225
163
214
188
129
211
200
219
159
238
161
215
247
115
185
202
200
227
173
161
204
184
165
166
180
153
195
175
184
197
207
133
241
149
169
185
185
248
174
181
156
256
277
226
225
173
211
158
208
171
249
180
223
192
176
129
182
230
184
155
164
152
211
191
262
174
236
217
188
176
129
182
185
225
166
173
213
220
179
212
210
145
228
164
192
207
172
157
264
168
169
176
146
194
211
257
241
204
164
204
145
230
150
221
150
158
173
177
130
173
266
243
246
164
193
129
211
185
217
202
129
222
153
173
202
161
246
192
266
202
150
230
211
171
236
183
271
176
129
176
133
156
192
210
190
193
176
184
129
156
167
238
133
186
335
230
234
236
248
151
190
167
162
122
211
163
204
180
184
227
145
164
204
168
146
246
205
277
239
160
166
138
218
179
199
251
222
225
184
213
173
195
238
197
173
247
239
190
201
181
183
221
274
189
176
230
182
156
184
169
183
173
204
130
199
130
141
200
217
210
210
180
196
201
211
147
188
204
130
204
188
175
204
191
241
183
130
201
172
204
190
150
237
211
188
158
169
228
238
119
182
176
195
193
128
158
208
177
230
173
166
176
141
146
200
249
193
245
156
173
228
161
174
258
176
231
146
170
167
130
182
282
218
180
175
162
250
164
245
244
188
130
201
174
185
188
192
212
189
176
173
215
153
150
209
210
133
211
244
184
164
236
274
176
250
130
195
251
173
250
213
213
176
146
203
200
158
145
191
192
184
204
192
240
183
164
221
257
201
194
216
129
180
200
191
259
180
178
214
275
145
283
186
179
243
169
237
217
180
175
215
210
161
221
228
176
164
187
202
162
190
222
224
179
173
159
166
181
165
280
173
186
211
173
186
187
215
194
207
193
146
206
195
245
206
221
209
273
264
226
164
115
173
145
162
204
272
190
209
203
216
213
151
176
242
143
206
157
149
251
202
185
176
166
202
225
222
177
221
170
188
222
140
251
130
152
229
236
225
200
146
149
258
176
210
172
171
146
207
190
215
267
281
204
129
204
179
129
146
213
239
130
168
225
146
185
179
212
227
165
200
204
241
173
158
169
189
211
219
217
177
157
175
199
236
194
195
238
217
180
176
211
228
219
133
187
173
174
196
206
214
138
236
173
204
264
209
182
216
211
217
246
182
211
173
160
247
168
184
176
194
176
171
166
145
164
195
223
133
147
248
301
219
150
148
146
183
230
199
146
225
258
192
150
183
177
204
202
168
210
182
191
146
183
225
143
248
217
145
200
206
132
197
146
161
188
163
190
248
217
234
190
144
149
158
138
206
146
252
195
229
291
164
244
167
166
242
191
261
162
200
201
184
182
230
129
171
133
259
221
211
200
207
173
201
263
232
184
156
167
146
176
189
164
174
162
197
173
143
182
250
184
129
209
260
197
173
205
206
157
229
194
173
173
129
236
191
275
130
122
211
200
138
173
210
164
187
215
174
179
162
202
180
203
179
225
266
231
191
130
173
153
225
192
169
236
145
129
239
176
204
129
166
216
166
211
229
230
141
182
186
236
177
173
173
199
187
185
260
197
321
209
233
183
173
152
180
172
223
299
189
150
197
189
179
204
174
226
289
209
325
166
195
182
224
155
199
130
164
185
221
162
217
156
248
247
166
258
165
208
240
241
250
203
129
139
170
173
145
153
168
198
206
145
180
256
161
222
173
169
270
143
233
202
199
159
160
164
212
162
256
229
168
216
156
261
166
130
275
173
236
285
192
218
259
217
208
133
192
215
194
217
168
185
166
182
206
151
236
214
190
214
201
191
202
153
204
179
168
200
202
143
175
179
129
250
231
208
171
178
285
169
187
238
217
141
146
258
264
191
224
230
221
207
212
172
225
269
190
170
220
183
209
162
191
193
204
202
257
146
296
197
236
200
227
299
238
201
189
183
202
145
218
129
204
208
202
237
156
158
241
259
235
173
228
245
164
219
199
190
178
235
176
178
217
166
172
239
115
115
168
166
129
230
250
191
284
265
196
198
209
175
217
209
169
167
224
130
160
129
146
195
158
175
230
180
197
141
164
146
177
175
130
187
133
153
227
191
221
222
235
234
205
246
180
233
145
182
176
195
182
214
199
217
227
158
176
146
210
159
202
170
209
223
256
210
170
210
162
178
197
186
176
225
210
173
194
207
200
183
171
168
170
210
143
221
143
173
168
238
161
195
168
207
201
172
190
129
182
210
201
194
115
198
194
190
319
131
183
173
225
299
157
204
335
201
214
193
178
188
158
162
212
129
192
283
259
191
248
149
217
195
235
132
191
162
191
207
194
217
209
214
275
216
206
204
191
149
146
222
167
146
146
160
201
210
175
157
255
174
182
145
119
175
261
156
143
202
203
146
130
200
206
216
173
221
222
204
204
168
200
130
271
138
219
130
146
217
194
162
184
206
176
237
164
152
129
156
189
211
146
133
202
335
230
231
129
168
155
227
174
217
168
210
202
202
182
186
256
222
179
183
184
129
201
182
168
204
187
233
189
176
164
188
203
166
183
162
204
151
162
201
183
203
242
150
128
215
173
191
128
289
150
216
256
191
146
200
155
158
162
250
207
186
130
158
202
187
192
162
200
157
190
216
232
261
181
204
216
209
156
202
256
217
149
183
176
160
195
181
255
184
201
209
129
204
266
179
264
206
209
230
133
189
149
146
167
235
174
191
173
188
171
188
252
201
165
180
202
214
211
145
205
141
151
180
205
190
206
200
210
156
201
179
274
176
225
152
204
210
187
146
254
301
211
163
165
175
176
179
309
199
229
128
162
220
196
161
162
187
255
200
292
133
146
210
201
210
201
176
247
256
168
178
130
264
143
146
325
176
145
210
129
145
206
122
181
203
212
176
156
230
162
119
129
173
226
191
255
219
133
201
236
129
157
239
217
201
178
162
173
213
171
181
223
163
201
145
133
246
222
200
229
162
217
149
218
263
242
202
166
201
215
128
287
210
176
299
173
133
204
208
129
204
155
185
201
230
185
191
193
239
146
192
224
173
309
202
146
122
228
190
191
162
156
206
184
145
164
280
204
185
251
280
169
184
243
226
184
173
224
130
210
171
202
210
176
206
185
160
202
176
129
186
204
179
226
160
257
204
203
217
248
158
159
203
219
175
185
129
150
145
167
160
232
129
164
160
266
210
176
233
132
254
190
186
186
214
285
181
163
178
195
210
141
239
235
129
187
198
159
210
200
130
173
129
115
201
192
252
162
191
241
248
293
240
296
167
178
222
158
208
217
144
130
246
261
230
200
202
204
162
168
254
225
190
169
145
210
164
147
194
164
205
181
119
176
195
147
210
200
200
141
133
217
129
236
200
130
132
143
259
222
158
143
209
129
133
179
206
130
182
214
230
146
178
129
214
146
288
217
256
228
181
210
210
239
178
173
231
133
247
182
209
197
173
205
173
174
260
198
199
203
176
222
202
146
188
146
198
188
146
255
238
128
177
236
225
146
267
155
195
151
146
201
158
143
163
211
200
130
175
174
150
168
197
190
130
146
227
133
146
195
129
181
184
199
162
160
214
206
230
242
217
168
129
208
172
226
218
129
168
206
200
191
226
233
215
232
194
184
227
169
138
230
210
184
185
188
161
166
260
241
160
154
204
133
256
256
240
207
201
207
143
194
186
260
155
216
202
233
239
276
188
147
185
253
256
227
182
211
242
133
189
202
229
230
176
264
217
130
215
129
195
176
181
237
246
262
150
162
210
146
193
204
212
149
254
200
129
222
175
210
189
218
211
145
139
231
208
129
199
129
160
149
185
210
209
129
223
146
237
159
210
265
244
164
256
202
128
208
158
158
173
129
179
157
189
166
193
159
176
220
221
146
162
260
176
311
231
221
205
151
211
235
310
183
141
130
130
141
263
250
129
129
146
179
149
173
189
169
133
182
230
211
257
201
244
145
173
162
239
115
190
173
129
192
206
200
146
231
211
160
233
146
209
198
228
160
179
190
180
190
161
129
198
179
335
145
130
254
175
193
145
219
201
282
130
258
246
183
186
179
180
183
210
168
247
158
162
186
201
133
173
232
174
133
181
138
206
231
204
151
162
184
263
115
195
158
129
199
198
165
180
182
246
210
122
143
149
190
184
146
208
199
258
162
237
178
187
266
189
208
130
177
226
162
130
230
200
225
200
146
261
249
151
211
202
210
240
170
216
176
179
204
227
169
217
146
179
180
166
238
194
144
231
227
130
203
217
257
249
174
146
180
155
156
166
146
133
186
259
217
195
213
219
222
270
214
264
141
271
202
240
155
129
119
224
167
231
122
222
264
152
159
141
184
187
191
182
165
185
194
184
222
151
143
217
258
218
209
214
231
221
210
188
161
146
234
210
263
173
161
204
314
223
158
217
130
191
236
146
222
204
207
181
122
253
164
204
180
227
115
158
185
129
149
209
265
129
183
155
224
200
184
130
243
181
203
205
189
162
129
166
143
294
173
217
172
162
206
255
217
200
173
206
242
143
242
231
172
263
187
229
178
164
188
115
211
231
322
146
173
191
240
147
133
173
150
143
146
129
208
150
184
217
172
214
190
232
129
168
190
229
192
218
178
217
205
173
175
151
146
184
206
181
217
169
155
179
176
177
267
291
195
176
212
178
328
162
182
210
252
129
161
199
210
115
209
236
143
264
206
232
213
247
145
218
160
201
202
158
146
162
150
169
146
209
253
143
133
150
210
234
168
167
146
159
204
218
233
163
287
133
143
133
307
160
264
180
212
162
176
242
218
173
239
185
210
185
217
238
173
161
141
191
183
166
176
210
218
231
173
169
283
219
189
217
150
211
162
202
154
155
185
223
187
202
146
145
205
181
183
217
192
129
198
149
145
168
168
205
179
283
247
187
160
183
183
157
209
182
133
184
220
141
169
261
187
167
173
230
157
141
128
233
209
182
158
191
193
173
244
193
215
200
157
115
187
178
180
247
194
194
208
230
181
251
230
152
150
141
196
166
145
130
202
228
221
183
240
185
199
244
130
258
179
220
236
178
190
224
238
201
265
237
229
192
115
173
146
178
220
143
278
209
161
188
173
199
138
265
161
164
183
182
177
209
188
168
185
228
265
181
146
210
184
176
173
158
204
189
173
202
203
210
143
143
115
214
221
238
195
194
218
184
207
179
176
130
203
166
182
183
192
204
130
221
173
263
158
169
216
235
185
145
204
223
213
194
193
225
191
146
146
258
178
115
179
204
180
246
187
164
173
190
173
225
229
130
181
189
146
196
221
238
170
146
238
202
228
272
231
203
158
132
183
162
216
230
146
166
181
193
176
200
178
188
198
138
156
200
181
177
259
300
188
217
122
217
217
122
183
115
143
261
229
146
141
172
122
191
321
157
215
146
173
255
202
155
129
187
165
146
194
176
146
115
171
212
258
283
180
201
213
233
197
176
207
145
199
199
251
175
230
176
168
265
190
200
264
214
170
162
195
193
214
211
164
177
184
254
202
202
217
208
195
187
255
129
130
155
146
176
146
204
219
217
158
275
182
236
146
206
133
182
228
162
149
173
130
242
138
146
145
201
192
181
141
184
236
144
201
189
152
234
178
192
204
218
230
158
325
157
167
169
241
183
169
219
146
204
214
151
256
179
206
130
160
296
158
231
129
191
170
199
191
204
250
200
227
143
128
156
261
129
170
216
193
179
141
201
195
182
207
158
200
133
138
155
214
198
143
247
166
169
157
206
199
263
221
264
169
221
115
216
216
133
198
143
129
159
204
162
204
194
171
270
214
141
275
166
173
204
177
188
214
173
218
211
173
145
233
146
236
130
158
236
211
145
200
341
198
155
245
198
211
192
172
202
194
244
236
168
176
271
161
178
283
200
173
228
172
206
164
209
225
178
164
194
174
236
178
145
234
239
242
133
175
200
218
168
176
129
225
214
181
185
132
174
202
181
187
173
236
234
227
166
290
129
145
261
167
206
146
251
207
187
203
133
230
156
161
198
146
200
205
145
191
240
201
211
234
162
146
203
270
237
205
184
173
238
250
222
173
129
201
211
201
301
130
184
129
200
210
154
211
158
192
214
179
227
129
147
225
191
188
173
176
252
210
180
221
176
161
205
244
236
214
218
175
129
191
202
173
214
168
260
181
191
210
186
182
146
219
173
191
201
182
204
164
148
263
217
130
133
191
184
205
211
184
236
130
165
173
145
144
199
242
203
224
115
222
172
179
215
210
183
221
239
236
171
164
197
221
188
184
190
210
206
177
206
183
176
239
197
144
264
164
205
150
200
202
202
166
192
146
172
211
184
138
199
204
176
214
260
155
169
199
204
259
152
217
199
171
187
203
179
146
204
194
179
138
188
210
218
210
182
274
219
202
239
173
158
209
238
143
173
146
200
143
273
216
179
204
162
133
168
204
209
133
236
232
115
210
287
173
146
169
264
184
168
129
184
221
251
289
209
198
173
173
258
230
241
211
138
236
129
184
246
129
174
189
184
274
211
156
187
157
188
228
168
271
171
160
200
133
164
211
195
232
217
156
129
218
188
280
287
266
209
211
228
130
167
214
155
122
166
288
151
157
169
202
145
146
180
145
207
193
170
261
175
177
164
173
175
141
173
211
194
183
158
115
236
196
201
211
168
228
144
199
162
219
179
152
217
179
171
226
143
164
210
195
146
311
224
129
130
143
176
161
262
173
184
236
129
171
201
129
232
129
146
170
195
130
252
236
146
194
129
174
141
144
184
201
204
217
211
218
168
173
173
184
185
235
236
160
253
239
285
173
251
162
174
230
231
212
130
190
265
228
182
259
233
236
207
164
130
130
151
212
170
157
183
197
183
183
141
159
204
179
115
146
201
164
235
200
179
200
150
173
184
179
207
205
176
200
211
164
159
206
230
129
191
200
185
228
146
176
209
129
206
219
173
168
211
146
144
204
202
155
226
264
208
253
188
230
185
186
185
192
204
205
264
129
197
217
179
172
178
211
173
243
158
187
211
163
193
194
210
248
179
146
130
145
202
225
184
216
232
188
212
246
196
129
176
200
184
188
195
217
230
258
195
192
168
145
182
129
208
191
208
199
166
150
183
132
165
201
145
176
145
185
166
199
218
204
166
191
183
225
200
211
264
129
210
193
181
231
228
250
164
185
145
217
205
133
238
236
215
211
122
204
183
221
189
119
159
186
181
195
254
162
129
160
219
199
191
204
218
229
183
216
209
260
307
204
122
227
201
173
164
194
237
179
183
185
227
155
164
176
173
182
201
143
217
218
129
183
238
264
235
241
246
169
244
256
204
197
146
161
179
168
177
176
160
168
205
194
202
195
201
143
199
236
157
201
129
224
180
200
200
185
193
211
129
274
194
254
182
153
208
162
191
180
168
201
164
201
194
241
214
129
211
129
222
227
201
144
154
227
204
186
217
194
164
259
184
211
155
162
191
155
321
246
206
209
158
119
146
130
239
151
221
210
129
221
156
225
146
164
189
191
202
204
214
187
217
236
254
225
182
239
225
180
335
219
256
178
225
228
246
173
243
195
167
222
204
230
146
182
238
178
354
271
241
185
204
201
217
172
255
204
217
178
178
247
166
171
238
178
158
208
162
173
195
205
211
165
197
161
115
197
164
182
133
208
122
178
221
231
294
183
258
216
210
164
145
130
207
248
196
303
188
247
217
202
160
158
173
204
285
207
171
129
188
158
143
173
249
187
158
250
211
198
254
210
129
141
162
172
288
173
156
237
242
222
254
232
158
183
240
144
202
185
161
205
180
180
185
185
173
265
130
238
168
164
191
185
229
178
206
226
156
238
248
225
160
146
273
173
195
234
155
164
180
201
200
150
130
176
256
210
128
173
230
188
150
252
129
184
158
184
160
190
180
122
235
220
162
204
180
203
192
198
169
151
183
150
157
180
201
261
211
213
211
181
185
158
240
169
201
185
173
251
129
166
146
153
232
133
164
162
158
173
246
228
253
172
129
222
253
253
162
130
162
217
158
256
216
226
161
179
181
204
201
204
182
184
288
164
225
185
153
130
218
239
150
146
217
269
129
191
232
186
178
179
130
175
115
115
203
205
243
173
248
236
228
133
211
266
179
170
232
160
179
222
176
280
151
207
214
213
217
158
156
162
181
164
145
167
202
200
309
193
141
203
210
191
178
217
143
146
172
224
178
282
173
206
168
146
178
204
143
146
205
184
160
187
180
180
143
146
146
235
146
162
145
275
194
218
213
264
179
192
177
197
176
164
194
176
168
173
228
217
143
159
181
211
168
153
155
184
218
238
189
155
115
173
220
183
150
210
179
146
250
222
186
180
122
278
226
158
245
255
222
202
211
202
186
173
212
141
254
173
208
201
204
161
146
140
179
166
158
216
173
129
217
210
176
264
189
251
130
297
168
232
186
172
163
206
164
210
187
206
252
170
168
200
251
173
129
162
197
184
239
211
224
256
190
272
204
227
167
203
206
205
173
166
133
200
169
215
193
115
200
133
200
239
143
204
164
129
195
229
226
180
182
146
177
180
191
178
210
247
230
203
228
301
206
173
246
240
129
193
156
143
201
192
145
202
219
161
194
129
231
173
180
204
169
256
219
180
235
243
145
164
122
149
164
143
191
255
182
238
146
176
211
146
210
282
274
227
197
169
183
171
201
168
201
158
195
202
176
130
190
184
168
234
206
173
177
173
171
188
221
193
168
226
206
130
204
200
156
222
156
213
129
249
254
115
195
233
181
189
174
252
146
172
180
173
130
209
129
202
228
183
209
156
176
137
183
181
265
156
158
129
129
183
258
223
146
221
198
287
263
166
206
246
274
173
169
238
277
186
202
149
197
263
115
234
258
211
156
129
162
165
231
252
173
149
162
200
185
260
210
173
171
130
231
223
132
238
158
198
184
200
171
152
230
184
168
181
115
145
242
240
173
194
244
224
155
222
228
238
198
178
211
144
170
173
210
162
191
221
180
164
207
164
189
129
227
248
259
186
179
187
130
172
181
261
216
242
179
156
244
202
210
282
145
191
130
231
180
176
200
230
277
191
158
169
284
210
129
173
235
143
275
115
163
202
190
241
211
156
252
237
146
229
146
146
199
170
197
197
185
129
183
143
239
129
145
184
214
145
244
229
158
115
191
188
180
225
210
133
212
203
270
204
220
131
181
221
167
138
133
195
188
206
209
181
141
179
210
173
260
219
178
213
128
163
188
173
193
200
132
177
238
235
188
168
129
166
240
198
155
164
145
155
130
167
239
230
225
187
166
248
258
184
252
157
130
238
163
130
156
174
178
194
219
158
193
188
201
164
210
260
115
176
132
172
158
133
200
238
223
172
234
200
220
195
130
122
265
147
259
146
216
199
141
278
187
156
173
176
154
158
166
179
250
146
176
209
193
188
269
147
244
161
252
216
130
204
211
202
171
187
287
197
177
213
191
159
252
285
233
179
183
179
129
176
237
260
191
202
178
166
236
133
226
204
184
221
202
211
182
211
168
202
182
234
129
169
167
234
150
199
210
213
156
195
204
115
164
115
167
150
225
166
178
199
189
224
250
295
238
163
211
252
130
144
225
146
287
225
130
217
211
209
162
130
130
281
165
115
196
261
130
223
181
162
141
202
195
173
222
159
156
181
198
183
181
209
202
208
217
201
183
130
204
150
146
115
226
146
146
185
189
186
204
201
211
176
157
265
185
168
204
205
218
230
202
267
176
171
231
133
173
176
158
238
219
204
146
240
163
180
170
177
184
204
201
193
210
164
206
227
211
160
160
148
129
160
162
225
176
129
210
235
164
181
208
254
206
173
159
239
141
115
255
216
289
230
210
231
269
162
129
133
201
163
242
210
212
204
176
195
129
246
264
215
182
187
188
212
169
195
129
213
204
171
167
155
230
217
191
200
297
183
162
221
253
204
129
191
185
122
230
264
215
192
173
184
230
129
173
164
195
130
161
176
185
167
228
205
238
182
129
189
166
200
179
183
205
152
188
142
199
132
211
226
182
162
210
152
152
146
129
241
145
187
200
213
186
210
248
185
227
194
195
193
191
245
189
146
195
190
174
156
174
172
188
132
208
253
176
222
259
189
145
189
179
162
176
183
156
239
204
270
177
217
162
279
228
182
236
238
166
223
228
255
239
269
181
171
162
174
238
199
168
194
216
188
146
230
146
201
173
219
210
215
201
129
176
234
183
184
161
207
144
181
222
201
214
176
210
198
226
199
216
133
172
174
239
176
143
217
156
129
191
129
206
143
173
129
166
138
185
145
216
188
227
263
213
255
141
200
133
265
208
186
268
158
168
210
211
254
188
164
238
193
159
210
201
145
208
210
158
176
130
202
200
174
173
176
298
172
233
174
181
163
222
197
122
174
129
169
221
180
145
173
158
249
202
179
187
189
178
175
152
295
189
182
211
191
210
217
130
239
242
190
183
160
206
186
204
211
162
164
164
217
115
212
171
218
236
296
183
141
182
184
296
129
130
176
217
227
237
199
263
173
174
173
146
205
164
179
165
236
208
187
173
246
130
204
129
236
146
146
222
173
210
169
173
168
142
173
212
182
257
133
171
201
229
245
146
207
180
190
172
238
193
183
237
210
150
246
169
145
152
254
190
146
189
264
229
207
173
210
189
204
210
185
176
249
133
229
130
189
225
143
261
193
173
217
153
185
133
242
197
203
178
211
156
173
240
184
207
243
182
210
209
130
175
184
182
149
243
244
194
146
208
200
257
209
191
129
185
191
239
193
234
195
185
162
176
176
183
184
230
234
166
130
204
178
189
222
184
185
250
241
184
146
205
259
182
169
238
255
216
230
183
143
198
130
182
233
183
173
220
130
145
209
159
173
246
210
188
164
191
219
184
129
223
273
164
246
212
145
211
146
130
229
146
176
176
199
155
181
178
185
225
147
150
200
254
200
166
206
210
204
146
230
150
230
218
151
191
230
119
147
180
173
145
201
202
185
185
165
165
129
212
201
197
146
198
206
296
239
187
253
222
183
168
153
130
173
217
237
122
255
217
181
176
169
130
192
149
155
256
115
228
129
173
200
209
238
205
146
182
228
183
187
194
184
130
211
203
183
129
258
146
204
146
228
183
222
184
185
183
222
184
255
185
201
222
197
129
235
196
152
225
208
191
225
202
169
198
210
206
193
122
240
182
204
190
201
179
129
171
180
168
193
176
173
191
122
115
138
164
199
168
240
203
217
144
146
173
155
153
204
230
155
180
211
275
130
264
261
164
240
145
260
214
199
146
230
160
203
166
195
181
267
184
147
200
246
217
204
179
179
286
222
129
266
217
187
176
151
270
210
202
143
242
184
191
265
184
169
176
194
204
202
156
244
228
217
258
182
156
225
165
130
173
186
180
225
168
261
228
210
185
230
260
174
199
210
130
160
209
122
230
129
129
201
227
189
183
212
130
173
168
208
173
166
161
143
179
222
202
162
224
183
176
218
162
181
219
202
169
179
183
187
145
186
202
209
179
211
184
206
224
169
176
221
171
189
184
182
158
254
176
166
217
255
150
166
143
179
264
149
193
275
243
207
217
170
217
175
229
262
228
176
130
128
221
204
227
228
238
174
199
153
184
215
199
214
177
200
168
169
129
179
129
214
185
238
193
205
192
204
241
195
155
216
130
213
145
140
250
168
242
173
217
226
203
183
231
180
187
130
146
138
270
167
180
222
162
173
141
164
159
132
208
188
217
213
186
115
210
201
204
146
129
254
236
202
176
175
179
167
255
164
188
144
206
242
173
155
192
242
227
184
130
238
176
173
143
219
201
229
167
178
205
175
168
208
190
210
238
182
227
115
204
231
184
157
204
129
188
166
129
217
221
212
239
172
203
115
146
240
176
185
183
162
192
194
146
167
202
194
210
180
234
287
261
234
184
217
146
146
143
128
218
193
171
173
227
200
130
169
162
146
173
247
202
214
129
189
145
203
198
222
217
130
158
149
228
259
222
201
207
155
247
154
209
183
129
204
143
265
203
180
200
129
210
183
164
176
228
184
171
190
228
176
238
145
184
176
159
204
244
213
200
256
264
211
173
169
216
231
156
256
155
227
199
162
225
207
203
184
242
265
192
168
187
188
256
176
204
156
165
188
256
236
168
217
162
173
239
202
246
173
235
188
221
156
129
263
145
216
203
188
176
236
130
166
169
183
222
170
210
143
184
157
173
209
198
201
173
236
204
184
207
237
130
129
195
188
230
188
115
158
180
162
183
130
222
184
204
214
256
138
160
219
152
145
210
253
281
217
192
168
236
146
222
230
203
267
212
294
251
130
190
192
133
138
201
222
195
233
179
217
234
200
156
204
189
227
255
264
182
274
188
167
146
206
218
236
204
179
201
173
191
184
130
240
210
176
268
204
220
204
158
129
237
182
239
183
180
225
143
168
246
204
203
147
277
161
198
164
202
214
243
216
222
178
224
181
129
185
146
211
159
173
188
146
176
210
155
195
256
161
194
129
214
166
202
219
173
192
264
149
192
251
130
119
133
294
252
175
247
197
212
168
201
229
198
225
195
271
217
174
162
144
201
182
158
213
239
200
158
176
176
199
207
143
176
155
238
251
221
162
133
176
175
181
209
130
217
250
191
264
203
171
217
153
182
161
178
182
243
146
244
178
218
176
251
246
241
208
147
129
206
204
191
162
195
164
246
182
178
222
238
185
210
188
241
174
206
171
164
201
164
218
200
239
179
210
185
115
181
225
168
158
194
176
143
202
176
165
291
220
236
214
227
201
189
179
158
173
146
231
177
225
152
231
173
205
129
173
217
172
210
211
201
184
233
164
201
179
175
234
158
165
130
176
263
205
245
173
246
129
204
200
158
183
224
195
264
176
212
178
211
210
238
166
185
146
178
129
133
220
234
129
217
222
176
256
236
143
241
133
170
178
146
205
228
202
244
202
225
170
211
223
242
229
156
164
184
147
285
129
230
162
200
184
168
202
147
197
245
183
173
176
206
209
189
158
173
201
251
179
197
166
254
197
238
146
262
169
200
185
158
186
204
239
217
160
174
279
195
225
242
176
162
252
207
212
204
169
212
130
211
229
174
146
152
139
188
217
143
180
186
227
179
122
244
211
214
115
160
158
168
128
241
275
278
182
146
160
175
206
169
186
172
133
173
173
210
115
184
244
145
255
150
146
130
217
200
152
246
180
195
192
168
132
274
194
187
227
260
218
141
178
207
221
230
200
216
224
130
256
185
209
220
202
157
129
210
262
186
209
164
206
213
239
220
131
212
169
217
236
237
130
174
190
155
189
189
122
173
200
246
283
143
207
227
163
201
175
251
261
158
141
146
201
231
168
252
184
194
282
195
257
225
178
129
168
179
150
200
155
178
179
155
182
146
247
167
190
213
158
151
210
115
176
211
242
217
183
145
173
210
173
186
172
234
179
181
278
263
186
260
164
146
245
208
243
230
186
181
188
195
168
146
254
207
178
145
184
287
143
151
187
189
129
233
157
115
266
205
238
219
204
173
223
259
210
201
203
231
130
206
174
173
183
180
129
174
208
192
179
155
122
173
161
168
149
192
225
227
166
235
230
173
235
188
250
155
176
203
156
242
174
193
162
160
232
213
173
201
262
174
254
231
184
204
230
168
175
195
204
129
178
207
146
204
176
180
132
185
169
216
202
199
244
150
172
205
253
129
146
145
164
179
172
196
176
201
183
132
254
247
223
129
143
252
259
231
155
183
226
146
194
146
270
200
207
235
182
172
256
190
176
211
231
176
248
268
202
201
179
143
169
129
227
235
162
234
189
174
231
174
175
200
267
207
213
184
115
173
194
174
213
236
200
222
184
206
204
188
131
184
166
212
146
184
200
193
195
206
164
238
217
174
168
164
201
204
242
183
173
201
182
173
245
128
250
201
200
129
236
275
138
173
247
201
141
169
250
169
158
210
179
173
176
130
141
146
225
220
222
254
181
212
200
191
210
257
204
228
256
164
156
176
215
258
204
176
209
115
139
172
178
231
214
129
173
236
129
146
186
169
133
201
163
146
261
179
191
225
168
115
141
143
176
187
236
129
146
212
179
266
129
162
200
133
178
161
195
211
178
204
157
191
195
141
130
164
162
181
191
176
207
176
175
198
227
218
130
147
212
165
224
266
150
184
149
226
192
165
156
122
149
197
186
256
173
133
176
143
147
133
191
129
175
211
238
209
215
176
182
115
236
183
184
232
168
176
168
164
238
179
166
209
200
183
203
164
153
214
205
189
143
209
214
183
192
161
216
168
129
179
194
181
217
202
173
217
181
173
115
193
176
201
130
160
168
159
207
234
173
240
239
204
235
168
176
165
164
171
226
176
130
206
281
265
200
130
221
173
146
129
185
246
172
129
183
199
244
184
213
239
189
130
145
130
227
149
143
164
218
257
199
155
159
177
184
200
211
181
230
158
244
149
270
143
186
238
161
173
211
169
182
202
184
129
204
162
206
183
178
175
115
192
155
152
228
216
210
206
210
210
195
130
191
171
248
155
130
158
180
160
201
143
263
264
179
115
149
182
176
165
133
174
180
215
209
195
130
143
210
168
211
260
131
133
129
236
209
209
204
130
204
183
119
163
214
214
230
150
170
146
129
301
206
146
207
204
199
204
201
150
302
157
175
220
264
197
146
243
212
237
256
180
179
200
169
191
220
202
222
162
222
129
151
168
185
205
217
211
261
211
151
225
184
176
144
190
240
133
150
247
230
158
173
227
210
192
164
200
280
183
201
238
182
169
179
204
143
189
202
130
233
145
147
158
204
173
176
176
272
155
217
210
256
217
143
173
200
169
158
211
203
173
196
263
146
179
168
182
166
230
255
209
168
129
214
215
202
206
258
173
176
268
217
130
236
129
171
187
218
192
244
175
206
149
236
155
219
173
244
210
176
244
146
201
130
188
202
164
182
203
226
175
198
130
200
182
193
143
130
173
146
193
162
178
176
143
129
211
211
192
161
244
169
186
166
170
263
204
144
257
155
256
168
183
193
176
129
178
227
242
158
207
164
230
164
229
193
185
173
143
173
184
174
211
217
227
173
195
230
260
184
145
202
238
193
225
197
200
192
183
242
184
183
204
146
204
169
171
146
183
173
219
176
168
193
182
203
234
216
133
200
262
141
211
171
248
130
203
185
244
130
239
168
238
247
222
234
174
204
173
179
161
175
130
202
200
195
205
130
210
204
156
335
160
300
218
143
199
137
208
150
168
196
203
191
176
115
158
200
217
241
180
225
238
182
146
188
141
164
145
195
168
296
211
190
190
217
164
191
192
129
173
233
230
130
191
129
143
269
122
185
204
147
176
169
129
122
150
218
217
178
172
267
173
172
146
143
203
183
184
229
206
146
166
230
179
261
129
264
206
209
168
202
161
244
141
200
200
210
145
229
143
201
129
146
274
180
239
221
129
179
216
149
168
200
130
163
157
133
180
208
201
199
178
158
210
183
198
155
186
164
163
182
227
212
183
146
205
252
180
214
184
155
180
187
183
208
259
206
138
182
115
122
283
239
185
228
160
204
212
143
244
211
164
246
221
161
206
191
166
238
183
206
242
264
194
145
259
133
200
129
157
194
227
168
130
179
176
206
209
199
130
246
178
201
184
191
274
201
212
233
189
204
257
210
194
161
238
180
229
180
190
216
146
201
210
201
184
173
173
191
216
190
256
182
206
194
155
170
240
115
191
210
122
173
335
155
215
208
271
188
138
191
219
156
159
233
173
216
185
198
206
206
153
231
185
202
162
244
325
166
201
236
143
141
129
133
128
146
221
150
193
210
164
130
156
166
199
204
130
199
211
147
207
261
201
239
168
208
176
206
146
150
145
173
115
238
176
129
168
243
164
162
278
193
189
237
182
264
187
228
204
173
191
208
177
129
192
232
224
185
200
187
235
161
174
153
231
199
174
122
210
166
132
130
202
211
212
130
273
138
183
248
176
176
193
164
301
230
207
214
185
231
214
211
173
162
230
191
129
162
146
196
164
274
206
232
211
192
242
173
182
130
163
138
129
160
201
164
222
130
184
207
153
211
176
164
217
192
277
179
176
200
202
242
169
160
219
168
275
239
273
173
164
210
217
210
175
162
184
175
247
187
161
252
231
149
149
221
257
176
216
208
129
198
266
178
221
239
225
242
129
176
133
168
277
195
158
179
200
169
143
240
203
157
164
204
236
203
184
231
229
162
206
162
171
129
187
247
192
129
194
218
218
256
212
258
145
184
230
133
149
145
164
206
130
171
236
161
232
159
182
213
115
115
174
133
141
192
202
177
178
143
238
186
158
210
173
218
249
130
193
180
266
211
169
204
183
168
138
158
153
176
176
247
226
179
164
178
163
197
189
115
201
245
194
138
178
178
233
184
171
197
168
160
169
187
218
130
156
172
230
227
206
250
181
218
201
227
229
200
180
203
231
189
198
169
224
206
189
190
158
229
227
190
200
242
181
178
200
302
183
175
146
196
129
191
208
254
222
155
143
218
179
176
271
204
238
226
236
186
214
149
146
146
239
194
133
183
176
181
191
190
233
206
189
196
236
187
146
165
197
201
234
176
206
204
193
181
172
174
224
227
204
213
254
255
173
189
200
257
209
188
216
168
129
247
200
209
179
129
191
151
233
184
218
143
191
183
201
321
171
178
158
192
178
162
163
130
179
130
251
209
190
182
201
178
193
129
213
214
185
143
237
229
178
179
178
160
202
221
208
195
182
173
199
244
212
201
162
190
306
129
184
222
284
184
143
226
240
222
174
247
192
199
210
182
303
239
204
164
202
181
160
210
168
187
201
214
222
251
171
251
130
199
222
160
178
193
167
146
178
147
210
179
191
149
173
193
210
183
214
248
211
182
201
204
145
168
158
210
210
158
232
191
297
200
173
190
265
202
171
160
150
172
188
172
166
192
178
146
186
182
197
264
210
174
147
226
174
130
199
204
216
149
204
201
166
247
187
152
161
161
191
190
182
241
160
170
191
200
169
220
202
215
203
233
202
176
242
185
209
176
174
189
214
138
147
208
197
156
174
248
242
183
182
214
235
263
174
176
185
225
300
185
146
157
173
150
227
133
162
159
266
169
145
225
191
176
260
202
215
217
173
180
115
181
200
222
205
183
171
160
122
146
161
254
214
183
178
144
197
145
179
160
133
204
266
210
231
150
202
182
229
162
220
210
204
168
173
158
115
176
133
145
127
130
164
206
246
182
187
184
163
233
229
176
297
151
119
196
209
133
189
181
303
236
194
196
141
233
155
190
189
204
156
172
222
191
200
200
217
235
248
204
162
146
265
204
225
239
217
129
209
186
205
189
183
180
196
179
176
203
162
181
176
277
164
262
218
143
236
218
157
160
186
181
256
243
191
176
173
172
204
168
185
130
239
247
230
246
174
184
163
139
179
218
201
210
168
129
129
178
146
179
204
219
164
191
150
198
171
185
122
179
146
206
130
158
195
176
238
169
130
190
162
204
188
191
277
171
155
229
130
130
162
169
193
220
200
221
143
213
208
177
236
162
169
150
229
191
193
166
225
146
167
195
128
164
129
227
173
210
143
204
181
219
146
204
191
162
222
221
204
168
206
202
189
200
225
188
192
130
222
204
211
209
255
170
165
214
185
221
204
225
183
205
169
173
225
214
202
165
129
204
180
227
334
197
168
151
179
183
155
176
210
214
145
166
115
129
182
204
173
143
157
213
197
145
170
232
204
157
130
254
160
161
227
178
210
210
203
133
132
283
130
204
191
275
230
285
139
141
146
264
122
132
187
173
141
217
156
130
143
178
195
201
201
128
178
181
206
252
263
317
235
183
190
155
328
168
236
122
190
284
174
230
172
146
178
146
201
196
129
265
115
262
172
132
250
174
184
115
176
227
217
205
263
201
256
129
201
146
269
155
214
159
225
115
175
176
193
203
274
174
238
222
184
129
130
155
190
143
160
263
264
146
180
211
155
192
205
179
145
264
143
152
152
168
227
115
189
158
115
173
160
206
129
239
263
200
183
130
186
227
209
153
180
194
162
130
146
281
188
151
130
226
201
141
169
115
252
214
186
210
164
172
199
158
179
173
138
143
179
222
249
129
225
217
194
197
256
130
146
146
236
256
192
146
177
210
253
146
211
247
122
179
174
146
211
173
129
175
168
130
246
197
170
178
178
184
130
232
185
209
203
266
230
187
199
160
163
185
284
206
258
227
158
204
204
204
151
183
239
262
173
151
146
130
203
227
141
130
229
178
133
211
199
171
206
146
180
170
146
192
174
253
252
179
189
261
115
211
191
143
264
204
141
178
158
168
190
195
182
269
238
237
152
271
176
146
222
193
144
115
199
278
201
200
173
184
180
129
159
129
253
239
141
236
205
171
193
147
179
224
129
244
143
143
199
226
176
170
186
173
130
198
132
164
210
219
216
206
191
201
204
196
179
198
225
285
199
143
199
158
273
168
171
167
119
130
146
200
202
129
204
145
146
149
195
200
195
150
169
175
164
182
133
195
185
157
168
179
235
254
181
227
232
225
206
223
229
222
212
248
245
155
119
237
249
155
251
168
133
206
173
195
202
171
231
173
156
182
183
185
200
214
247
206
176
201
212
217
145
252
145
164
216
191
174
169
259
183
239
213
222
201
146
231
161
165
235
179
122
191
221
227
225
204
183
251
184
176
168
184
287
130
129
238
255
130
217
210
176
227
222
183
217
164
145
173
156
157
168
155
176
171
306
182
185
168
173
263
237
176
252
195
208
211
283
143
204
164
206
173
201
133
203
183
147
129
157
143
179
217
197
170
214
180
195
318
191
141
260
128
240
209
211
222
275
203
221
193
172
204
202
268
176
188
129
185
204
145
168
225
192
221
165
144
210
130
203
178
119
143
210
190
269
216
171
173
247
166
158
168
274
129
115
158
184
239
184
199
143
196
188
247
265
168
262
219
193
168
146
236
259
174
202
129
227
160
284
184
143
199
228
197
242
195
218
130
259
335
182
179
200
173
147
173
155
206
184
157
189
145
206
181
206
161
198
191
181
191
145
205
238
180
163
202
189
230
151
175
130
178
185
151
185
217
179
204
209
129
145
162
146
167
274
143
254
201
162
149
313
176
184
207
130
150
195
217
144
200
198
173
130
149
193
236
200
190
224
180
210
185
227
266
231
173
204
166
157
202
256
230
145
162
158
214
176
153
170
180
189
202
171
237
253
207
164
184
146
221
204
219
170
175
216
129
215
244
206
159
245
226
164
199
193
146
176
146
212
188
204
173
162
129
179
170
204
221
202
249
202
133
256
161
119
168
160
175
243
160
184
243
188
241
149
186
225
129
179
197
261
241
164
229
115
158
143
195
150
122
149
216
191
151
173
176
162
222
184
195
250
200
272
204
129
133
225
251
252
145
203
258
145
264
130
202
188
179
183
232
202
129
218
183
231
248
205
185
264
183
169
181
200
246
146
146
335
151
184
224
206
225
173
230
182
146
168
173
182
156
206
128
155
129
213
230
211
129
217
176
171
243
238
238
203
180
164
216
214
173
201
176
148
190
176
181
239
129
179
203
219
181
217
151
119
169
145
165
218
240
169
200
133
182
246
272
206
211
159
259
122
186
174
146
146
169
233
173
216
178
179
173
130
171
249
169
254
129
214
195
173
232
155
166
242
204
187
250
209
182
130
259
146
205
179
225
188
176
209
185
138
133
167
217
132
163
146
178
222
173
212
182
240
182
204
206
222
232
169
185
187
190
166
218
273
227
176
145
235
189
141
186
145
235
200
201
205
158
188
168
122
202
162
241
129
211
173
294
231
204
202
335
138
210
143
258
192
266
146
160
178
129
202
206
122
288
173
170
156
185
228
183
225
179
259
245
145
203
183
241
184
239
147
157
173
234
130
211
224
261
204
217
155
146
217
219
211
206
188
184
225
145
157
163
209
184
145
151
193
225
176
219
207
182
143
205
225
218
168
157
204
210
130
214
164
176
204
158
217
143
130
144
146
219
173
201
184
204
196
146
208
184
247
178
235
240
179
129
265
184
130
238
162
175
178
219
226
195
173
211
215
217
181
145
182
186
155
144
236
147
193
233
252
217
130
281
241
182
210
274
190
129
162
162
196
201
249
160
207
184
159
191
185
302
211
194
196
161
164
222
216
211
178
230
231
145
175
129
138
185
143
203
186
217
188
162
174
211
145
247
145
191
207
176
163
226
180
129
167
263
233
128
161
263
223
180
128
169
180
222
115
144
205
183
264
234
146
230
236
188
195
201
210
169
198
180
214
173
182
208
214
183
130
221
198
179
143
259
145
173
202
229
169
173
201
212
204
264
155
195
254
186
179
187
291
204
238
234
173
149
173
152
271
162
206
183
254
143
153
162
146
173
173
146
266
180
133
244
211
261
130
211
190
185
207
255
201
251
210
148
230
156
155
173
156
244
146
149
129
130
200
187
194
146
202
130
146
195
145
247
173
180
165
164
220
222
210
179
208
180
229
186
157
115
176
200
229
228
158
224
178
179
210
204
173
176
224
158
119
207
255
216
217
128
202
146
148
258
208
158
129
156
221
190
252
277
200
189
261
191
188
235
174
230
115
284
200
282
146
227
145
146
210
151
205
198
189
176
217
155
208
188
158
208
201
189
133
180
164
176
155
187
188
211
209
158
115
146
227
150
230
187
146
202
194
166
128
214
141
203
217
204
234
176
197
115
168
129
203
186
233
244
115
218
146
176
255
173
200
226
161
207
195
170
264
146
183
201
255
239
256
170
217
146
206
216
235
200
179
183
129
202
173
160
282
199
204
167
238
204
173
149
161
199
211
146
129
180
319
177
168
173
184
278
201
146
146
204
204
140
158
159
173
160
204
171
263
211
146
179
195
195
225
221
161
216
200
168
149
191
228
203
200
235
264
242
273
115
191
169
217
145
146
184
210
253
287
142
247
194
214
260
187
159
210
199
282
146
167
188
173
178
173
169
266
146
129
259
221
130
189
129
218
146
149
235
259
241
179
133
226
129
218
205
171
129
176
263
252
160
235
187
167
184
252
168
233
143
167
146
261
181
248
274
218
147
177
160
213
202
191
224
115
201
173
217
248
225
146
179
203
157
143
209
179
143
158
238
210
204
150
213
274
245
208
246
187
169
236
258
233
195
173
173
228
212
173
176
223
174
141
202
210
201
176
237
153
193
164
210
183
239
208
218
178
222
215
130
218
199
198
216
133
173
130
138
223
210
178
204
162
174
168
217
208
168
138
242
170
204
162
171
150
145
274
145
226
199
209
254
167
201
198
230
158
228
225
150
153
233
187
132
185
240
155
255
234
193
166
174
260
259
218
115
208
152
173
193
168
239
281
206
202
227
179
265
184
164
236
228
156
191
133
358
249
211
155
224
208
263
146
133
173
214
204
189
178
130
234
252
231
181
176
171
172
233
205
145
206
179
178
181
168
235
236
176
224
246
222
189
194
200
186
237
130
220
244
222
143
146
235
201
217
145
130
162
204
157
130
164
145
143
133
230
159
222
129
127
234
179
143
191
115
226
176
236
233
185
239
206
188
130
195
115
184
184
204
151
173
274
129
200
278
223
161
166
129
153
143
211
182
214
170
175
194
218
234
239
179
217
207
217
242
225
129
197
195
244
238
130
179
246
141
186
215
214
169
141
231
202
218
185
203
200
170
207
158
194
145
230
133
143
184
133
173
194
195
149
232
281
195
210
129
228
192
183
166
191
152
264
242
236
181
206
288
146
130
202
173
178
173
238
152
202
283
180
115
157
218
185
129
240
145
181
173
183
129
229
183
267
194
197
216
245
191
168
190
160
197
222
176
143
184
235
145
300
164
164
282
151
200
187
173
221
175
230
129
214
238
208
146
146
182
130
146
130
173
190
279
169
236
115
199
169
173
173
211
202
205
214
234
267
130
172
203
252
164
143
176
222
235
130
204
217
193
180
180
197
185
168
170
152
210
202
157
215
191
181
242
210
184
130
179
236
143
215
204
155
222
183
270
162
199
153
178
173
250
222
174
182
133
161
204
130
200
230
232
243
212
185
162
201
195
201
216
161
204
242
218
249
210
201
200
169
191
246
156
210
303
179
261
129
208
179
204
202
231
155
180
129
173
164
221
248
230
164
130
180
138
200
206
179
262
143
129
274
188
191
206
264
204
219
224
165
324
182
228
195
176
173
164
173
168
191
264
284
221
192
210
219
176
155
164
130
173
221
182
234
173
234
171
195
173
251
162
143
133
184
208
220
195
211
179
242
189
230
161
235
206
236
251
146
230
283
261
145
228
216
276
152
176
220
181
184
204
168
211
204
176
200
129
194
194
172
173
218
229
236
186
153
184
198
238
170
164
168
201
206
162
252
212
130
200
130
190
204
199
252
206
180
167
180
176
230
173
192
210
210
229
146
146
210
221
198
198
164
260
210
189
155
260
178
203
244
143
217
179
157
173
239
190
213
189
122
173
162
143
224
272
180
166
195
203
203
222
191
201
258
180
241
191
179
191
197
235
156
152
156
164
219
133
194
204
146
269
160
231
230
134
257
211
230
193
183
222
130
143
173
225
208
193
173
159
141
173
158
181
122
129
227
204
216
281
146
115
200
168
151
178
294
173
173
176
230
149
168
195
173
210
146
219
129
206
218
178
173
130
130
238
230
115
209
146
180
146
220
200
261
211
174
238
151
155
155
218
145
180
182
168
146
185
187
273
187
263
189
224
138
146
176
176
257
192
155
145
146
190
176
130
246
180
133
188
189
166
252
183
184
221
201
207
183
172
115
182
231
206
146
133
211
227
181
133
187
206
164
203
210
238
203
239
282
183
184
204
150
229
183
181
184
214
130
183
163
158
146
189
129
194
194
235
204
176
228
179
167
210
215
171
217
175
168
190
178
133
205
168
239
169
210
229
182
222
115
133
320
146
230
210
235
212
173
256
228
173
191
204
193
173
248
222
201
210
182
172
210
247
173
193
145
217
204
171
224
206
247
252
192
228
242
179
146
200
227
149
166
130
184
146
146
173
178
209
197
130
175
146
204
156
225
172
198
151
204
129
145
202
176
205
192
191
232
168
204
187
202
177
179
168
210
204
247
157
175
159
194
179
182
143
178
193
190
210
252
155
249
197
199
215
208
239
158
238
199
156
214
211
169
145
187
158
168
230
241
162
193
217
238
206
229
160
230
176
236
239
173
233
173
170
217
141
179
218
227
229
195
194
248
143
199
190
129
198
186
246
171
179
207
212
235
178
188
187
276
202
146
199
167
156
210
210
166
200
258
150
155
193
353
225
183
186
146
200
202
146
246
130
166
229
179
143
204
266
187
181
193
206
265
239
179
133
188
158
195
202
162
133
221
212
166
233
192
203
229
191
297
145
228
203
195
232
177
205
173
115
239
242
200
205
235
190
255
268
235
179
180
173
162
146
184
229
205
236
216
191
151
190
227
170
183
191
201
180
183
267
209
246
173
215
184
130
130
201
179
170
211
176
179
182
172
130
176
173
244
237
180
189
200
161
156
168
184
173
183
155
220
203
262
214
133
168
234
206
190
141
115
236
210
200
143
248
130
193
199
205
201
164
185
230
187
145
191
130
233
129
173
182
129
204
180
151
147
204
244
182
192
251
179
198
217
164
155
208
130
256
203
129
223
133
180
173
186
175
129
179
216
190
176
156
198
158
203
166
173
130
130
186
204
130
175
158
182
129
239
185
130
281
230
209
166
270
217
204
228
178
130
199
208
209
279
173
211
168
203
129
178
238
184
259
143
182
166
199
115
184
247
211
285
171
227
169
217
217
155
238
166
219
179
219
212
130
173
221
205
160
211
247
238
175
200
201
183
258
212
255
230
129
129
143
182
256
202
181
226
169
180
159
239
238
244
174
222
150
141
210
192
206
184
184
173
147
129
242
221
174
230
146
133
169
242
166
161
146
230
252
146
271
233
148
155
163
156
200
122
190
210
130
180
145
162
202
217
191
146
115
133
179
239
184
231
202
173
210
226
180
226
115
149
130
182
145
189
146
152
220
211
228
203
179
167
196
210
173
146
119
190
217
272
222
173
228
171
176
176
168
145
169
265
205
246
264
146
177
173
175
209
129
189
169
213
280
210
248
221
168
201
255
258
233
169
181
264
188
182
191
156
180
265
217
187
173
190
256
230
195
149
214
183
258
268
193
183
180
249
264
146
195
176
193
172
200
227
175
146
158
204
185
156
130
193
217
184
264
210
180
175
149
162
188
206
184
162
230
206
174
145
119
217
230
211
211
204
194
206
192
183
241
228
211
209
236
153
239
168
388
214
253
228
170
155
161
210
167
143
193
151
138
179
185
231
169
172
176
240
214
200
271
208
162
216
191
204
145
229
191
192
213
210
261
212
168
186
202
212
149
157
204
211
211
180
181
210
166
164
179
132
242
145
162
239
174
168
230
231
184
179
254
129
156
145
129
176
153
133
240
231
184
216
214
160
176
178
177
263
163
145
150
213
219
173
164
252
143
214
176
159
173
214
272
128
269
239
283
172
180
159
235
176
175
173
169
240
133
146
158
173
221
146
206
241
169
180
185
209
252
162
180
184
133
239
158
199
122
209
176
173
129
210
228
225
164
174
141
247
167
192
213
164
259
211
165
206
198
155
197
173
195
137
242
247
187
209
155
232
155
179
162
158
233
170
190
146
175
146
218
230
167
133
184
188
176
173
226
158
176
175
293
214
221
186
173
223
129
143
130
152
182
209
173
175
182
204
201
184
138
202
241
222
177
176
158
264
259
230
115
146
204
225
217
234
212
115
205
156
196
192
203
209
185
211
191
247
224
168
180
161
176
133
184
161
161
183
245
186
168
188
188
158
173
228
151
183
164
208
234
230
185
237
181
160
233
172
184
129
216
204
180
209
161
182
230
183
146
229
262
231
158
182
150
129
201
180
229
189
186
182
176
176
156
197
211
218
133
122
214
197
229
206
230
243
227
215
210
181
210
184
228
251
200
199
205
155
173
191
260
145
219
223
202
214
246
210
206
151
211
179
143
150
217
183
244
209
192
214
228
246
160
216
206
215
129
155
287
130
190
238
211
205
169
218
231
158
221
162
221
195
271
133
210
197
133
167
197
182
153
186
193
205
176
157
205
182
168
210
146
155
146
173
164
173
217
162
217
180
153
211
210
236
176
170
246
226
127
213
219
232
185
267
185
183
189
221
262
230
195
129
191
184
188
167
219
185
146
195
211
185
335
129
173
155
251
184
173
207
130
225
251
129
218
173
197
201
194
174
197
172
143
169
199
205
147
167
176
158
225
138
173
173
176
204
206
223
212
225
227
183
174
242
211
185
200
210
180
256
231
260
181
243
200
144
128
251
191
256
194
215
210
204
182
175
179
173
182
205
172
198
203
204
202
166
143
216
206
236
275
188
238
274
243
157
221
206
210
149
129
217
222
157
206
157
236
182
214
230
183
236
184
251
217
173
233
176
202
146
174
145
183
176
198
231
264
176
223
252
206
183
129
153
115
217
208
166
204
176
275
229
184
236
194
178
168
198
292
229
187
181
171
195
173
158
130
187
239
195
180
145
211
213
122
130
204
200
194
233
203
227
210
155
184
221
173
205
210
201
336
138
158
168
193
130
129
161
194
192
156
247
182
335
163
210
158
156
158
210
129
251
144
237
179
161
227
208
155
130
156
249
129
215
162
179
150
211
198
145
168
129
197
304
203
215
302
244
173
129
172
162
230
162
185
176
212
300
225
169
200
179
185
195
188
251
250
214
158
226
180
169
144
170
224
188
200
195
176
155
207
207
145
217
167
217
190
226
173
247
151
184
129
288
149
150
201
256
229
130
201
229
130
248
211
122
188
173
192
191
164
146
188
191
161
230
213
129
229
130
214
164
141
186
171
213
205
217
173
225
143
130
129
129
173
115
210
129
201
145
174
191
239
180
199
129
198
236
176
216
173
169
176
201
169
153
241
183
210
206
245
145
300
186
184
203
174
209
210
180
214
211
248
218
204
211
202
173
201
115
227
234
234
264
156
199
145
250
201
181
248
204
229
171
156
247
221
272
205
206
187
150
217
202
233
222
261
133
146
184
199
212
239
211
256
247
249
210
179
155
143
146
237
234
130
152
184
183
149
169
190
201
171
211
138
212
177
256
146
211
141
238
184
230
182
138
211
169
203
174
177
191
156
138
157
156
133
206
217
283
179
210
312
260
236
184
232
239
201
198
199
168
130
129
282
210
183
158
146
179
203
222
166
267
179
240
210
230
202
211
173
201
173
139
249
129
176
238
222
247
254
183
257
212
130
180
130
164
132
225
167
191
199
202
156
202
195
132
252
185
143
184
160
155
239
165
194
158
197
212
262
130
202
211
175
284
206
209
173
211
184
161
184
173
162
173
214
241
161
146
204
206
133
178
179
247
211
211
178
197
204
173
256
129
256
166
179
171
241
179
204
217
130
255
115
233
162
221
133
208
195
130
248
227
239
225
200
141
179
202
222
145
131
158
228
255
190
130
206
215
193
195
161
171
191
122
133
146
168
182
191
190
206
228
202
190
219
221
162
257
182
211
239
261
201
164
160
170
178
129
146
287
173
146
204
169
182
176
176
177
168
115
211
122
258
200
232
128
209
161
172
210
173
217
208
210
200
216
179
149
173
162
171
215
141
242
115
210
150
219
203
159
201
191
155
200
204
244
155
168
222
203
222
115
198
200
209
172
174
153
200
236
225
217
184
130
201
274
271
184
188
240
209
210
184
203
155
132
195
162
224
201
146
201
162
141
244
131
177
188
206
195
155
197
193
180
206
206
315
169
162
242
142
191
129
151
192
181
205
177
146
184
220
183
174
133
144
188
145
169
273
270
184
151
275
172
133
210
173
267
208
209
224
174
216
165
192
217
180
200
194
203
130
245
164
178
258
128
176
176
162
149
176
130
236
176
192
129
198
230
169
189
159
240
158
214
230
196
176
204
176
153
171
219
141
174
210
191
183
233
201
146
208
210
284
155
226
203
238
160
157
200
130
237
192
146
132
145
249
214
235
146
129
227
179
188
182
186
254
176
176
228
216
217
182
182
246
194
145
129
211
152
115
150
208
149
184
178
278
176
185
226
185
239
183
130
146
217
196
230
156
184
200
274
146
152
184
173
222
180
212
178
204
160
130
190
161
244
115
151
179
244
189
191
202
261
141
181
222
213
211
250
197
266
143
181
151
204
219
222
183
133
130
204
133
151
145
146
138
198
252
287
205
149
171
174
115
184
230
195
225
180
200
146
176
230
130
138
204
179
229
166
129
129
225
160
273
180
188
145
146
214
164
206
231
230
201
168
192
174
160
157
242
201
204
161
130
175
184
236
146
179
210
190
254
192
180
143
183
180
146
290
158
143
144
229
185
254
129
202
195
182
186
211
182
197
147
133
204
211
249
176
173
204
146
206
209
174
170
177
212
231
227
203
190
147
176
222
180
211
162
232
158
181
115
236
184
152
206
247
145
204
195
191
212
157
212
256
129
200
179
178
238
200
281
215
299
175
238
376
167
224
220
190
191
185
145
213
133
169
213
173
145
172
187
216
176
236
184
266
171
157
194
268
287
358
248
115
115
194
180
201
206
247
206
189
214
159
211
226
239
249
199
157
183
188
201
173
202
144
203
191
155
255
115
252
227
151
171
299
208
143
203
204
153
270
192
146
166
170
191
192
130
189
175
158
235
201
185
192
244
199
259
209
270
166
246
247
199
145
218
160
178
204
187
276
186
230
228
319
195
217
202
218
236
248
146
130
184
115
246
157
187
145
180
129
238
238
122
197
156
173
251
210
168
191
130
175
153
143
133
143
194
183
115
179
208
175
204
193
248
131
193
210
145
162
159
161
129
258
169
130
143
237
222
129
173
181
192
210
133
204
204
204
149
242
234
166
204
158
173
247
129
191
190
145
152
164
129
318
155
146
206
199
205
222
197
185
191
217
155
192
209
212
241
254
190
168
212
206
173
202
175
161
283
163
164
192
199
222
212
182
176
192
223
193
115
267
230
146
208
205
186
182
204
235
146
164
176
174
145
214
146
221
221
238
211
207
200
204
183
147
171
198
182
173
250
129
183
242
185
217
149
251
203
150
218
219
122
173
252
257
201
188
230
201
115
179
260
276
129
238
219
260
162
129
191
183
206
173
182
212
150
197
183
129
211
164
145
189
152
115
176
176
247
227
181
168
209
156
146
133
222
153
174
195
130
201
130
202
192
236
211
187
200
210
186
145
217
115
209
141
210
166
236
246
247
230
189
200
257
215
180
129
165
145
218
247
183
187
129
145
221
223
210
129
207
169
282
167
173
188
183
201
146
169
169
214
155
227
201
210
188
206
130
202
162
133
173
287
173
195
287
115
169
188
150
239
178
209
238
138
210
187
210
146
164
182
168
201
155
153
180
218
130
262
141
162
197
217
249
146
209
230
129
151
231
164
211
168
271
181
122
155
129
236
217
204
217
225
238
178
166
271
129
208
167
173
280
184
143
166
201
182
164
180
164
195
130
240
262
228
119
192
164
193
176
262
173
176
180
219
130
254
208
130
252
181
242
145
230
216
173
260
211
274
169
133
183
235
211
173
238
167
217
204
162
130
143
176
147
166
221
217
179
177
206
158
151
164
214
115
278
226
211
129
181
157
212
207
180
145
146
159
242
168
203
162
212
248
209
252
146
247
219
288
141
130
115
204
143
168
156
183
218
208
195
191
228
234
141
217
168
230
204
203
225
162
187
188
202
169
205
210
182
201
298
156
201
204
146
184
202
303
217
146
206
119
214
173
146
210
143
141
176
216
146
251
143
226
217
146
210
181
202
212
198
192
210
179
182
206
248
115
176
263
209
205
229
168
255
181
193
249
133
218
211
229
180
180
234
146
169
195
146
130
213
236
133
183
165
141
173
149
200
215
175
173
181
231
222
180
216
161
231
286
178
221
263
225
188
181
227
146
155
208
158
148
145
211
166
204
206
133
181
146
182
186
204
145
168
146
173
179
313
162
129
213
313
180
130
200
221
180
178
178
146
236
184
206
138
285
202
144
178
183
129
153
168
145
145
216
200
180
245
176
222
168
236
214
177
162
170
253
183
178
162
248
265
129
214
129
185
162
185
175
210
177
206
141
201
173
191
245
176
173
179
130
130
138
133
179
212
256
169
281
130
202
212
168
129
194
133
231
175
231
149
172
200
173
206
230
230
229
158
180
228
194
183
202
209
210
129
201
195
190
130
253
184
146
146
203
210
145
138
183
129
176
224
190
211
230
189
244
185
162
174
197
182
153
162
176
225
180
212
210
240
201
180
203
269
130
219
201
130
166
187
252
173
143
247
152
164
227
201
178
171
164
183
153
164
178
204
176
187
168
146
230
229
229
173
247
190
152
174
151
261
217
133
176
187
184
184
184
190
296
155
157
204
179
238
201
207
184
179
133
217
185
246
145
147
152
264
164
200
260
218
228
197
178
182
168
203
202
168
190
164
270
184
265
208
225
214
202
173
230
185
160
205
144
230
294
157
182
129
146
204
222
184
255
220
360
170
183
142
143
182
205
182
186
206
173
204
234
168
214
265
195
146
231
195
173
182
161
130
214
122
149
162
186
164
179
202
236
210
376
141
184
162
212
130
286
183
122
146
168
222
181
182
201
264
141
204
205
261
214
182
181
183
239
185
130
156
198
217
216
188
202
146
173
217
191
207
204
193
182
238
201
129
253
145
225
129
181
183
130
188
215
205
209
217
194
143
180
129
214
176
153
218
208
225
185
202
179
150
158
130
194
176
169
200
173
122
222
204
160
173
224
130
179
165
173
181
261
170
236
240
200
259
167
158
153
143
191
144
162
183
208
161
130
238
168
179
199
162
174
217
201
204
200
173
275
130
202
199
224
222
184
218
115
158
153
168
221
181
176
162
179
192
216
197
179
143
197
199
200
245
262
212
133
215
287
155
228
143
146
163
182
196
214
146
236
249
241
168
194
211
188
168
179
223
163
224
164
214
238
173
129
248
133
168
158
254
161
255
176
168
182
194
248
164
195
162
253
241
271
133
204
207
190
219
129
129
184
146
193
204
173
200
203
260
170
212
202
211
143
155
176
168
215
155
206
211
221
258
173
187
205
195
184
217
236
184
261
232
186
130
162
281
211
175
201
168
252
189
202
202
176
194
227
200
130
252
154
209
198
209
161
221
115
115
199
308
153
239
265
155
250
233
160
227
231
153
176
182
159
169
143
265
115
243
204
173
166
163
185
253
197
145
256
188
238
180
168
183
146
183
209
164
238
129
248
157
263
292
171
179
180
162
236
227
146
138
192
155
197
129
155
257
129
205
181
216
253
168
178
225
213
200
189
130
215
201
184
146
145
115
211
217
182
196
191
264
146
183
176
191
192
194
173
146
189
180
173
149
193
222
184
130
182
209
143
179
146
145
168
238
186
130
209
130
179
153
185
190
182
146
232
210
238
285
202
168
190
227
205
172
186
170
174
186
211
180
169
155
217
217
167
182
156
199
210
201
183
217
190
182
130
259
129
173
213
146
214
183
174
233
214
194
176
115
160
211
129
243
185
247
230
245
201
150
173
246
300
129
212
153
175
242
129
129
194
151
184
202
196
146
185
264
179
175
273
248
153
164
156
173
192
162
188
173
211
221
221
232
160
217
158
189
213
129
184
221
183
153
189
204
198
167
189
179
213
200
189
218
173
180
128
255
194
210
195
192
205
252
171
205
156
212
178
180
186
129
239
170
173
159
202
166
122
179
146
129
230
225
243
155
241
144
144
218
173
210
129
215
335
187
203
146
217
207
221
214
210
245
206
129
282
157
255
177
143
201
244
170
205
143
192
221
169
146
200
184
274
195
202
177
230
170
190
171
159
164
207
227
206
129
261
205
188
150
203
214
185
177
161
197
240
141
166
252
158
197
168
146
131
244
146
187
238
190
218
254
201
300
169
191
162
143
188
184
281
192
155
239
130
255
227
190
130
201
130
197
168
222
225
182
129
167
225
220
202
222
266
133
318
230
201
252
287
165
169
239
119
216
262
203
178
179
214
214
180
133
197
190
211
262
210
224
130
205
251
164
184
185
178
169
177
130
218
214
263
236
217
159
210
246
176
164
146
152
224
256
181
174
191
178
204
230
204
179
172
217
156
202
178
171
143
174
277
166
185
143
260
272
277
183
188
194
188
190
175
200
173
187
217
232
287
138
188
149
179
129
182
208
218
143
176
188
219
217
283
214
163
283
153
181
219
201
143
210
176
206
204
214
129
146
158
201
203
215
204
146
137
238
238
133
143
185
179
205
186
139
181
230
255
167
143
155
223
169
278
204
122
166
246
257
132
230
261
176
187
235
292
179
133
219
150
129
174
185
167
187
242
151
230
173
132
184
145
180
271
213
194
217
236
210
161
159
264
192
200
264
266
248
209
237
239
227
208
160
186
286
224
173
157
171
150
180
217
285
190
130
211
203
184
242
182
115
259
204
141
240
193
173
187
185
130
244
204
228
180
199
173
236
296
188
173
146
146
217
195
191
214
146
179
160
156
188
149
230
211
244
227
180
181
143
160
217
252
183
244
274
168
200
162
146
200
214
206
217
195
115
166
204
188
180
183
204
173
173
222
247
228
173
172
238
129
201
133
130
227
211
173
229
246
172
210
256
218
208
153
156
210
176
178
199
141
129
214
173
189
129
326
160
203
246
176
247
176
173
130
160
195
229
157
218
130
164
183
130
174
247
192
162
217
261
211
115
130
206
183
147
210
227
171
173
146
200
277
195
260
266
193
183
195
221
191
149
192
178
115
236
176
225
175
129
145
189
115
145
195
206
267
226
150
151
167
247
173
166
247
219
130
190
198
176
197
216
200
206
173
243
204
184
150
179
231
193
152
229
200
210
204
163
211
133
150
212
256
278
217
260
158
229
153
188
306
256
192
186
164
277
143
264
205
210
129
191
178
169
198
169
182
226
227
222
164
181
191
194
214
189
173
230
186
129
115
183
191
188
189
206
222
214
185
158
216
177
213
167
191
237
218
180
175
239
183
248
210
211
156
171
145
210
201
206
239
201
147
225
172
274
173
199
130
260
165
276
150
213
224
229
173
244
201
248
227
176
265
130
185
167
164
175
193
217
188
179
206
146
201
164
210
211
201
187
211
158
236
204
176
248
146
173
245
182
176
129
182
202
222
132
233
261
182
164
302
249
186
158
130
180
191
195
199
220
209
191
232
215
180
246
214
161
222
151
207
158
200
191
245
198
115
166
191
238
230
115
184
149
222
181
215
150
129
158
211
184
257
168
129
157
189
189
145
193
176
216
130
239
188
122
229
236
198
189
301
186
238
249
146
216
129
150
194
168
145
204
130
234
130
164
173
204
213
245
193
175
208
211
146
153
150
130
200
133
164
166
235
210
174
210
157
194
173
179
148
181
202
193
155
247
177
216
177
202
211
145
172
266
208
129
243
202
183
201
223
185
230
146
270
174
133
186
200
201
247
288
197
261
162
130
217
207
145
179
149
171
213
206
181
167
222
206
258
211
179
129
150
253
222
254
178
138
129
156
283
182
178
179
181
262
216
173
173
283
176
275
191
150
200
190
164
145
239
144
162
179
191
179
185
200
210
119
185
172
184
217
160
204
129
149
184
186
168
191
245
246
159
179
241
224
141
176
204
164
210
122
251
179
267
180
227
182
159
225
168
206
186
247
250
217
260
160
144
210
257
200
266
166
129
209
191
223
192
260
209
145
241
239
244
242
211
186
130
184
158
191
164
185
230
241
228
238
217
179
141
210
204
199
229
200
157
204
266
206
259
138
256
217
143
238
238
191
203
210
235
211
246
211
228
173
177
167
158
159
146
223
185
175
227
223
243
244
133
261
146
234
176
360
235
176
184
162
173
191
130
249
171
129
152
163
129
210
176
129
204
202
161
268
145
227
199
206
129
214
202
168
225
183
224
227
190
189
218
183
203
193
183
204
200
224
129
228
167
176
204
204
182
160
174
145
164
198
337
129
221
230
176
155
194
268
130
234
203
158
203
199
129
146
160
300
129
158
129
164
209
210
252
138
217
197
201
176
210
225
178
161
143
261
198
210
182
164
185
129
220
193
192
287
197
180
241
179
205
240
178
155
260
146
191
133
227
225
257
189
210
147
207
115
214
199
283
130
257
208
173
202
190
141
256
227
238
157
202
218
180
176
165
146
143
194
166
195
188
144
210
162
201
115
217
234
222
194
138
173
170
180
229
130
145
156
258
204
220
198
241
242
209
143
296
217
183
162
182
202
199
143
239
239
257
186
214
184
130
191
238
193
146
146
122
181
170
162
204
146
279
191
226
265
202
209
183
138
187
335
129
169
190
238
158
215
221
174
143
162
210
158
161
202
180
225
239
194
240
129
231
150
211
204
227
190
177
211
201
130
157
180
146
201
201
254
168
129
129
179
228
172
133
160
146
192
160
208
164
225
146
214
163
217
160
176
254
160
143
204
161
230
213
215
181
254
138
173
217
143
206
150
207
207
200
178
236
187
217
182
185
252
218
220
176
252
173
143
204
188
188
217
237
150
138
204
210
199
146
213
195
115
207
206
180
246
173
222
115
164
133
228
247
184
190
184
244
129
122
269
184
190
205
191
252
190
162
221
222
194
239
178
143
190
203
200
146
224
171
288
207
202
173
180
210
160
129
202
217
239
268
220
200
193
259
254
202
164
184
173
230
129
218
176
146
145
200
146
169
173
129
176
179
209
192
168
209
182
179
172
181
299
164
205
242
130
172
210
242
146
160
161
130
172
181
183
176
206
164
225
155
184
218
189
150
206
182
200
130
236
183
185
173
194
130
208
255
185
115
164
195
146
150
130
252
242
194
176
208
236
168
159
185
264
157
267
161
164
217
209
239
178
162
265
188
250
278
219
157
164
211
192
190
184
203
122
236
274
160
184
173
246
179
145
230
129
145
200
214
218
189
228
254
164
157
228
263
259
236
199
200
194
203
229
129
283
210
146
164
204
231
173
268
185
221
129
239
210
144
199
213
264
182
287
191
208
143
230
189
210
211
173
246
220
176
182
115
167
179
206
185
143
130
143
133
205
198
169
166
173
147
211
173
230
146
256
299
208
213
164
204
176
187
245
239
168
204
150
155
129
200
256
238
204
273
260
145
236
204
163
195
202
176
173
146
147
176
173
170
162
130
165
204
221
205
231
222
122
151
141
170
199
335
202
130
170
178
180
221
206
251
240
185
210
155
230
147
233
278
176
213
171
278
176
169
184
220
162
199
199
221
133
244
239
217
131
215
204
171
129
199
130
222
173
168
176
227
140
239
208
251
187
132
170
185
173
214
210
206
169
176
173
184
254
130
191
270
227
184
221
204
214
184
168
133
210
175
188
229
152
189
176
162
259
155
173
210
184
195
167
183
229
167
282
211
168
146
180
129
168
207
225
173
236
157
238
211
176
191
202
133
202
180
129
176
234
225
173
174
115
188
173
169
247
195
200
193
158
201
237
201
210
150
150
174
129
130
177
218
208
163
221
189
231
202
266
184
209
171
263
173
146
129
230
210
198
189
146
250
259
200
164
214
172
157
157
201
213
180
213
177
256
213
169
143
173
206
261
133
179
169
200
174
204
162
184
231
210
190
211
162
147
193
170
204
190
195
190
248
164
194
115
188
227
256
179
185
211
130
206
195
157
258
221
157
129
173
146
283
166
216
210
180
129
220
173
130
130
169
222
141
156
229
217
181
183
130
249
191
180
149
235
180
145
170
210
138
276
156
186
239
143
165
211
236
253
324
185
129
172
168
275
178
185
187
188
248
231
274
201
230
206
224
201
150
166
238
207
217
197
168
184
143
156
210
226
155
275
261
171
192
217
152
258
183
160
258
171
203
246
284
176
183
201
132
133
204
210
217
206
208
300
181
271
179
181
150
158
162
180
201
157
138
193
122
181
247
155
203
186
184
133
174
190
201
285
246
183
130
206
231
202
143
193
146
173
181
275
162
253
192
129
198
200
145
243
252
242
204
184
162
182
145
256
238
149
178
210
177
169
198
168
261
225
202
128
184
173
256
155
172
200
162
219
217
214
195
168
243
219
186
204
170
195
201
196
231
201
168
157
115
174
143
170
115
229
238
158
211
251
187
190
188
227
132
162
195
198
231
191
204
169
181
129
222
226
239
227
133
177
206
146
225
173
225
204
200
168
146
209
191
185
242
210
185
200
184
181
197
129
202
164
234
190
214
202
129
130
169
182
197
146
146
127
173
115
164
184
141
249
259
168
198
199
227
178
214
229
179
156
199
210
160
162
129
204
122
174
164
186
230
252
222
211
171
173
179
162
261
164
206
188
228
204
180
132
266
156
162
168
145
264
164
238
217
206
115
182
160
175
210
173
129
249
115
184
218
172
146
236
200
236
242
204
240
190
164
179
201
143
238
201
192
284
176
190
257
163
160
169
158
149
177
146
186
225
130
231
164
217
217
232
202
173
236
147
183
201
158
227
210
188
176
176
185
266
181
251
164
157
185
202
180
166
216
300
212
130
216
164
145
167
214
165
202
211
186
176
200
176
178
182
198
198
130
182
115
176
204
218
184
204
174
165
129
234
240
164
177
296
197
213
150
283
222
115
183
234
178
244
146
115
175
160
303
178
183
241
144
264
238
194
168
191
185
176
133
197
211
170
171
200
193
197
260
198
230
130
219
240
178
206
164
185
208
141
149
173
219
229
210
252
229
210
186
210
197
189
169
238
174
228
204
235
167
230
183
202
188
133
292
241
130
240
189
144
197
129
161
229
178
200
221
192
231
216
241
192
221
217
188
179
239
178
129
215
182
129
183
184
231
188
230
146
168
146
145
181
272
216
158
180
206
230
176
176
195
212
200
169
129
224
175
161
146
181
176
200
176
194
176
231
196
185
156
162
129
206
222
235
173
180
175
164
206
128
216
240
186
174
206
194
164
130
288
230
188
180
173
190
248
168
171
256
211
194
189
179
143
202
227
186
239
175
173
130
217
149
131
191
210
143
236
210
226
119
202
155
230
173
230
130
182
242
159
143
166
164
209
216
241
246
211
178
267
230
236
145
211
130
155
122
146
143
217
191
201
273
259
228
209
259
238
236
183
184
182
199
182
239
240
204
188
195
173
115
221
133
234
242
216
154
195
176
182
168
115
138
204
234
216
168
262
208
176
239
208
144
176
176
198
223
333
146
217
199
167
206
225
214
133
184
210
217
183
173
160
175
176
258
161
176
258
185
232
233
115
223
177
133
199
130
143
202
189
145
158
219
168
205
219
226
210
129
262
281
187
238
182
212
153
223
176
130
199
335
236
190
201
280
217
229
173
158
208
115
152
122
182
181
181
169
164
191
206
176
162
187
189
194
158
182
271
283
210
174
274
168
208
130
129
258
206
173
206
266
214
184
181
143
190
188
173
144
130
182
181
146
210
138
221
213
171
155
217
194
206
176
236
148
158
246
178
216
233
266
146
203
192
229
158
218
207
207
218
225
229
173
237
183
185
146
185
173
141
204
214
208
159
226
178
261
200
177
273
130
224
145
259
160
216
141
210
164
217
176
160
129
219
155
158
261
146
204
161
168
190
155
146
144
239
176
204
216
176
149
168
306
210
212
184
176
181
230
240
191
144
205
176
179
130
188
247
162
210
133
208
164
212
204
168
201
164
194
176
202
156
191
222
201
193
173
204
149
200
217
204
130
252
256
141
205
204
146
259
211
181
179
182
162
157
115
144
270
230
181
209
206
146
189
259
204
173
182
180
264
159
222
252
176
189
239
192
173
168
181
233
151
166
184
158
203
164
186
129
183
130
178
206
138
143
246
146
192
211
119
199
236
129
185
160
115
223
129
188
214
218
173
222
238
195
235
204
160
211
217
183
185
182
130
210
146
153
204
234
199
200
165
204
164
171
263
188
176
145
146
169
129
137
167
216
221
173
150
236
202
146
207
264
229
211
202
204
168
233
175
179
162
187
236
161
240
158
199
193
252
208
174
210
176
211
168
205
258
206
204
129
160
129
272
168
158
205
146
149
228
188
202
241
202
204
145
188
155
216
282
164
190
184
145
192
176
204
181
151
207
252
157
201
164
158
294
229
127
168
155
209
129
193
220
158
130
229
211
203
129
159
149
177
185
236
174
169
180
141
187
205
133
320
151
160
199
181
201
166
179
209
265
179
146
207
191
210
235
198
207
228
176
231
211
177
200
205
213
188
176
173
210
269
141
191
219
216
202
283
204
210
158
264
204
173
182
237
217
176
204
247
228
129
224
214
178
129
207
256
130
128
185
129
209
162
181
176
202
143
164
204
223
173
183
157
172
130
174
201
129
197
163
146
184
133
236
187
242
189
188
185
223
233
146
227
204
153
201
216
189
122
129
158
208
174
188
168
180
158
192
144
196
186
211
168
130
130
197
169
192
190
210
193
219
145
179
239
166
222
195
184
176
122
220
204
162
185
288
200
185
213
277
208
133
169
214
176
166
280
164
156
182
143
185
146
162
236
208
162
201
146
181
179
243
217
184
194
173
174
188
129
146
158
197
252
179
203
207
200
145
281
178
281
226
173
151
146
182
176
162
176
209
261
115
246
181
214
167
119
208
257
204
169
227
155
176
173
146
239
243
141
174
227
200
172
172
214
236
308
205
207
216
209
218
270
237
138
182
160
174
129
206
207
182
181
129
129
184
181
202
146
143
188
245
232
204
224
186
172
180
193
236
171
206
146
244
181
212
252
229
173
158
173
115
141
169
211
146
293
201
257
239
213
181
222
224
194
143
235
172
138
130
168
169
184
230
155
162
217
227
115
261
218
300
200
178
208
176
182
272
138
203
218
156
182
229
242
146
196
183
129
247
252
221
211
162
209
143
203
163
231
184
261
141
181
200
225
211
179
225
228
158
202
193
210
204
154
182
230
246
191
155
183
180
178
224
275
262
160
263
213
177
145
162
198
158
212
201
217
222
159
206
184
181
179
182
176
176
141
145
176
202
119
257
169
158
168
161
222
214
145
166
204
185
176
210
176
164
204
162
189
241
191
130
202
162
122
129
214
212
242
156
216
157
193
217
129
240
182
196
155
146
261
115
191
169
223
130
183
173
206
215
176
204
168
201
244
294
185
211
210
176
188
143
178
190
168
205
129
254
164
168
173
241
199
133
180
185
183
202
230
128
145
214
202
176
210
218
160
180
164
146
170
211
219
174
188
252
253
203
151
154
129
161
230
204
164
169
160
160
156
229
169
209
220
179
228
202
208
183
168
129
230
256
191
217
188
254
270
202
162
129
122
256
337
182
204
133
200
298
211
164
172
203
274
226
161
115
130
162
210
176
219
208
179
210
189
178
152
242
149
194
168
122
200
230
176
150
202
149
205
146
238
204
174
183
176
218
167
169
128
166
218
202
188
176
160
161
129
204
232
199
228
185
335
173
246
175
162
146
237
200
207
166
190
210
201
215
158
198
247
176
217
172
198
182
186
150
168
168
236
222
222
230
191
162
183
283
151
266
233
211
212
180
197
214
156
230
179
129
252
178
119
130
218
202
246
168
236
146
175
197
202
171
206
224
195
143
206
204
202
192
197
145
217
217
192
129
179
164
166
162
183
164
176
204
143
211
171
210
321
214
161
172
191
184
130
166
206
195
209
204
122
165
231
217
240
197
129
173
199
206
168
180
130
254
138
256
215
218
176
156
195
180
204
173
241
174
216
129
234
214
176
115
129
204
179
227
170
188
184
153
158
171
199
170
236
129
176
166
173
228
179
222
162
178
211
213
146
219
141
266
184
210
229
189
115
207
184
236
174
159
146
227
270
240
200
164
174
238
141
129
261
133
173
235
230
199
152
205
159
145
210
178
167
146
150
215
191
232
259
239
226
202
133
181
130
321
176
236
230
179
204
129
208
166
143
256
115
247
261
176
197
240
165
292
183
210
206
205
234
173
281
261
188
198
146
322
195
208
225
225
176
200
249
237
155
173
242
210
244
181
194
239
176
146
143
265
164
130
183
270
173
182
228
132
174
211
243
202
208
228
168
181
204
238
166
266
182
251
172
173
242
287
224
133
193
164
146
231
178
173
130
205
164
236
152
252
173
143
255
174
185
209
211
246
216
172
140
258
168
188
157
219
202
158
146
181
180
261
210
180
190
210
152
201
214
211
130
232
129
214
203
187
210
187
166
183
246
168
257
173
155
253
188
150
255
221
133
162
164
214
234
215
176
210
204
176
143
185
211
213
204
242
162
228
201
252
169
184
195
230
174
225
238
214
204
133
130
163
202
129
228
146
238
178
182
145
188
149
178
182
260
183
173
169
146
210
192
188
217
182
143
210
150
129
195
129
179
175
145
130
183
195
217
206
171
217
173
210
129
260
186
177
204
176
173
129
181
185
238
264
202
206
179
264
237
176
115
226
311
231
133
184
260
185
214
189
130
188
205
170
182
151
164
208
222
211
248
195
173
214
216
211
186
210
211
175
162
258
253
190
196
181
217
122
186
193
188
200
173
160
150
184
205
203
249
207
262
181
173
149
178
179
173
182
204
171
173
198
240
245
212
304
158
219
247
129
145
256
145
210
210
191
210
283
172
232
186
164
192
280
130
159
249
173
186
208
115
133
211
198
173
179
180
130
216
222
174
191
180
185
119
238
129
173
234
179
225
130
133
229
222
217
133
204
138
159
230
295
194
160
151
140
171
160
237
195
270
184
205
249
160
166
210
199
167
214
194
193
213
179
324
156
217
182
160
164
209
130
209
205
185
200
200
219
183
202
208
184
172
163
217
187
175
236
191
155
256
176
168
166
130
230
204
252
157
130
176
201
204
238
267
230
207
211
174
216
138
176
252
277
192
130
146
259
179
221
146
130
204
156
129
192
193
256
182
174
146
216
324
217
190
146
179
209
200
138
150
200
146
239
190
168
133
211
187
204
208
206
191
274
130
171
247
164
166
115
129
289
217
200
160
225
176
168
157
269
204
269
194
168
217
227
158
185
162
280
183
160
173
168
186
202
179
205
204
200
295
275
264
202
217
173
224
217
155
210
184
190
262
210
179
250
209
217
239
206
218
176
173
158
173
161
211
143
213
197
146
163
242
256
221
183
237
165
194
168
280
171
165
149
166
130
146
143
166
130
246
192
170
211
133
227
159
292
145
204
122
187
181
221
234
206
228
192
173
189
184
189
244
153
206
261
152
231
303
176
182
237
130
138
146
191
230
160
230
205
155
155
175
146
300
150
164
146
162
190
173
195
180
130
188
173
240
199
178
146
129
210
230
130
217
160
306
244
145
214
193
222
224
215
206
211
283
145
176
233
143
158
184
166
217
218
150
230
173
130
222
195
204
160
204
130
192
191
156
185
193
263
205
130
227
185
203
201
257
217
222
179
179
192
261
217
201
242
258
217
240
206
130
176
144
209
202
210
191
158
146
130
190
264
202
224
155
183
162
201
213
151
229
256
192
198
227
191
200
221
226
213
202
163
172
115
172
204
210
150
130
242
143
221
182
191
173
208
237
176
214
166
222
129
173
178
155
143
256
186
201
179
161
230
198
258
259
201
230
176
129
257
188
266
148
175
210
225
144
208
241
168
229
187
206
143
240
219
210
166
157
221
222
178
130
272
222
147
203
173
199
194
149
258
188
180
211
241
198
146
214
201
201
164
204
155
167
303
246
214
290
182
201
130
200
187
181
173
230
179
129
267
219
261
230
230
145
129
122
146
226
260
214
238
202
210
210
185
211
200
192
189
234
149
217
246
137
199
185
176
171
164
231
279
282
164
166
151
300
130
206
201
225
132
230
200
224
176
223
182
211
221
189
200
201
195
185
159
231
122
216
208
133
146
200
262
176
173
202
174
201
217
146
257
178
214
189
205
211
219
170
119
197
210
168
129
235
151
173
201
185
194
209
294
222
210
145
158
188
206
141
164
239
186
216
133
173
171
267
189
222
266
202
201
130
199
176
193
222
234
225
173
176
211
202
179
176
143
233
190
130
191
192
168
191
217
150
206
183
199
183
161
167
145
145
245
146
289
209
179
176
188
227
115
216
184
160
163
175
202
239
166
210
162
210
198
166
176
211
115
210
129
173
169
179
170
238
145
216
191
213
155
129
222
173
129
217
169
251
218
210
210
173
174
184
191
174
201
204
215
192
221
150
133
188
191
161
211
157
210
178
146
146
227
169
230
181
180
158
243
186
201
219
219
178
183
211
192
161
188
184
130
200
182
306
277
130
158
179
221
129
145
146
145
202
133
168
299
176
173
188
252
208
222
273
225
267
133
269
204
284
191
204
184
234
157
183
174
146
181
230
214
160
183
129
162
248
162
170
173
155
130
195
173
169
182
164
188
198
144
211
129
166
252
239
210
115
155
171
149
173
191
199
220
227
220
205
176
169
173
211
204
176
197
272
191
129
231
206
200
238
184
183
264
188
184
231
166
213
185
162
202
202
155
122
179
210
151
179
173
219
247
164
138
210
240
195
186
253
143
162
239
259
219
172
174
222
176
143
214
156
219
210
158
181
211
194
158
149
184
130
179
180
201
200
211
146
201
168
222
225
176
238
285
180
258
222
180
207
176
164
130
158
282
230
167
198
192
145
247
251
129
160
172
129
162
198
195
180
145
157
164
200
130
250
217
206
182
170
173
149
234
207
252
236
150
173
129
228
252
151
192
168
184
208
183
164
184
251
207
235
145
143
268
256
168
206
149
180
226
230
251
210
146
206
156
176
231
173
189
204
204
138
210
236
242
242
188
219
199
204
247
216
150
238
217
130
207
195
172
217
211
170
190
201
129
190
129
249
222
176
217
239
222
182
129
188
156
129
195
208
141
223
217
240
179
180
183
204
169
156
159
193
181
222
183
187
171
192
199
162
141
204
180
210
230
179
155
204
227
179
232
211
129
246
224
210
129
192
115
160
146
271
227
181
152
203
213
159
226
130
173
161
177
158
149
191
146
190
230
228
238
238
187
164
143
184
202
167
223
202
203
237
184
152
168
258
187
238
202
176
256
184
205
155
129
203
187
256
172
217
233
184
247
213
184
171
155
145
218
242
238
155
145
188
208
225
335
193
268
171
171
160
182
257
185
186
217
143
209
133
141
203
184
188
190
195
185
210
189
201
181
129
176
176
194
227
212
192
166
162
155
178
187
255
210
211
158
210
191
138
202
162
219
183
162
152
189
249
179
129
230
170
191
173
180
202
146
187
199
162
210
217
195
214
180
213
164
177
146
169
189
197
143
213
145
184
288
214
229
210
161
210
130
250
168
209
133
232
242
210
200
194
180
148
176
178
257
199
198
173
217
228
184
229
169
161
162
221
232
178
129
207
192
252
274
183
236
238
206
191
130
217
162
176
115
173
245
162
199
206
133
217
217
219
184
173
173
210
239
200
129
211
129
191
179
133
129
219
226
211
200
204
210
214
155
169
162
192
227
200
155
194
217
146
219
217
162
233
246
195
224
146
208
130
186
146
157
141
155
232
191
217
183
128
179
209
195
173
217
219
173
227
228
210
247
217
201
218
205
236
211
265
212
182
202
214
226
170
176
182
162
183
221
221
247
202
211
213
219
179
281
210
159
261
166
145
187
143
322
214
202
182
234
152
162
277
133
133
222
164
204
250
162
152
237
236
184
190
192
169
164
261
210
176
206
265
246
182
201
173
138
192
141
205
191
146
198
164
130
143
153
158
228
214
230
201
146
217
258
227
248
182
251
202
183
287
176
162
146
205
183
160
188
130
212
158
204
158
189
202
193
143
202
171
223
217
264
184
141
212
246
200
176
256
187
185
194
193
250
206
258
164
258
150
236
266
265
191
173
239
141
206
192
210
206
168
130
211
165
203
217
195
174
205
225
143
198
201
156
211
202
244
170
174
235
184
171
200
257
207
162
146
230
152
200
235
173
238
167
188
221
177
201
169
173
286
196
238
211
177
261
276
204
200
146
176
260
192
169
162
318
256
217
153
247
186
231
233
152
204
228
259
210
209
149
164
180
182
217
217
214
240
239
184
234
246
232
189
129
225
217
207
173
231
226
200
225
276
221
166
182
162
180
230
176
184
158
162
210
195
146
190
181
173
169
205
245
182
236
184
115
175
178
185
165
190
167
161
236
141
236
130
141
219
204
161
158
140
217
133
143
129
165
185
200
146
210
296
128
202
182
164
211
210
224
210
229
141
146
184
203
182
183
130
245
230
182
162
168
128
145
145
239
202
156
217
176
166
181
185
210
115
183
210
187
180
206
176
195
160
201
173
189
188
283
174
172
241
176
209
193
264
190
226
146
233
230
189
176
168
210
236
302
130
122
129
206
129
145
175
244
180
258
130
178
149
158
205
216
184
168
176
199
166
129
201
210
156
222
205
263
129
242
171
169
199
213
228
169
210
182
187
182
189
173
183
115
173
255
203
204
227
198
183
179
130
173
129
197
144
199
266
240
184
152
258
185
200
197
203
206
176
230
146
251
208
166
194
129
185
221
164
182
199
224
204
115
157
280
160
184
230
141
228
166
238
260
170
186
176
162
217
254
176
182
191
183
236
115
201
186
201
212
153
173
183
232
146
211
181
179
115
225
300
130
162
129
236
129
171
179
181
200
184
189
202
182
176
231
258
213
184
178
146
176
160
217
192
175
181
174
183
214
249
254
176
200
186
235
219
188
187
178
157
183
149
168
262
166
176
150
152
192
184
195
204
176
213
146
165
129
145
182
279
146
122
233
173
190
204
164
194
162
133
335
207
262
171
217
194
152
179
225
173
203
173
184
227
222
206
264
182
190
182
149
236
200
192
213
129
221
247
168
190
214
146
221
277
164
204
213
221
149
278
234
238
204
141
155
299
152
177
168
129
204
205
175
146
241
210
203
150
202
202
211
192
188
252
205
185
214
217
185
174
179
197
133
173
130
262
191
152
205
207
176
257
168
206
184
217
242
217
269
227
178
218
138
277
230
180
172
176
216
145
162
115
189
146
155
182
183
257
133
230
128
257
217
178
214
248
173
146
208
172
207
204
146
164
173
244
166
180
218
115
178
202
176
129
184
239
129
129
187
277
166
146
115
267
335
173
211
200
160
209
249
164
239
185
177
168
218
167
204
171
180
210
143
211
130
230
230
186
165
253
181
146
162
200
193
179
170
143
180
166
194
206
150
260
231
214
173
200
149
214
227
263
176
146
252
122
162
174
166
138
130
192
225
173
203
166
236
200
222
146
275
185
239
204
156
216
153
238
246
201
164
138
210
200
173
146
214
174
211
254
276
169
238
244
156
146
183
159
240
130
145
184
176
169
229
201
228
288
211
188
210
210
189
162
162
260
177
203
171
212
189
256
175
191
173
185
187
210
255
201
145
146
231
143
210
277
210
167
155
218
201
158
214
257
129
169
238
146
165
255
194
214
195
188
162
202
203
143
185
200
176
147
183
129
303
234
188
149
180
230
143
205
229
187
149
178
146
130
185
193
158
204
210
130
195
249
171
214
180
262
176
209
192
204
236
143
225
217
195
170
176
200
130
178
209
129
146
214
152
242
283
173
180
244
181
229
173
155
211
145
252
168
252
226
203
233
192
195
220
276
261
189
151
227
253
261
191
215
234
176
129
180
130
239
184
190
175
176
238
203
222
171
169
209
201
146
238
170
204
168
150
283
188
130
246
187
195
203
179
166
211
246
129
146
209
160
166
191
242
233
176
173
225
335
249
204
169
162
176
230
145
145
129
187
234
170
169
234
143
146
217
169
158
188
183
174
130
200
162
162
187
232
213
189
172
204
163
199
216
194
145
200
170
182
202
191
216
130
215
230
276
206
132
233
115
217
239
253
182
226
240
222
204
172
166
162
237
214
166
187
204
247
155
200
190
211
164
202
210
261
190
204
225
285
261
177
173
230
202
205
186
187
205
130
146
144
243
230
199
254
257
191
208
122
129
176
130
171
243
204
206
173
230
204
162
236
202
195
129
200
202
168
236
223
129
203
146
185
238
200
231
166
225
191
185
158
243
210
204
193
217
201
212
178
220
209
294
143
146
143
179
206
185
208
173
183
216
233
185
200
197
203
169
224
236
243
164
129
129
185
166
176
129
200
261
205
188
272
185
129
204
209
236
186
156
252
228
180
232
133
156
242
129
221
173
192
181
179
245
171
188
209
141
143
160
132
211
217
183
231
161
176
175
149
184
184
173
145
258
258
195
203
191
129
252
198
203
237
184
170
145
260
217
246
178
292
183
216
166
189
168
260
260
226
159
128
238
133
158
220
185
230
232
181
184
182
203
203
174
193
158
178
174
244
226
204
208
176
228
305
160
179
245
238
172
209
200
153
201
241
224
133
235
129
146
205
131
206
162
203
239
179
162
115
201
194
177
184
245
258
180
173
177
191
204
130
205
156
184
183
130
176
208
191
183
150
201
173
264
129
175
183
180
184
129
180
187
155
210
150
195
260
217
210
150
119
156
173
205
162
197
168
129
144
183
214
177
192
130
164
200
249
228
133
141
189
173
245
148
146
197
133
130
278
129
158
206
211
146
122
158
183
247
155
179
203
156
180
277
182
239
173
217
170
162
130
129
192
130
180
179
169
251
157
129
181
129
240
200
207
169
200
156
217
256
155
220
226
185
182
206
171
180
162
166
141
155
293
162
211
210
145
280
204
217
236
215
171
213
201
188
163
173
204
174
186
242
192
221
133
264
236
129
130
173
129
180
205
237
182
236
173
210
203
258
204
160
156
226
210
252
151
181
176
181
130
170
145
174
228
199
267
130
211
232
130
181
115
149
283
183
145
115
145
182
266
143
130
235
178
181
146
169
234
186
267
115
204
182
222
266
169
240
184
147
184
204
242
217
185
238
190
130
211
201
173
166
216
141
258
208
176
181
217
177
229
259
274
167
173
206
204
215
175
149
188
162
190
182
238
161
188
122
237
227
138
228
222
204
186
264
115
178
227
122
239
214
147
183
165
250
188
133
204
208
115
242
174
143
195
129
167
176
191
202
210
209
254
168
166
230
182
176
145
211
173
214
133
159
207
179
200
242
232
170
183
245
200
166
164
169
212
128
262
202
145
287
176
272
191
161
212
200
158
192
258
150
182
236
166
266
150
145
156
158
146
267
207
194
146
141
200
182
200
130
242
149
249
129
254
201
176
237
193
132
218
183
200
204
168
155
183
204
158
130
201
204
191
162
245
178
164
176
206
220
174
130
145
173
160
211
168
168
115
138
169
230
187
197
226
162
173
158
255
180
143
200
124
130
217
169
213
188
200
130
252
122
268
312
119
188
173
157
218
146
176
261
153
203
289
190
173
235
206
226
175
204
228
238
310
274
163
176
119
209
176
202
189
184
182
150
180
211
161
176
211
257
184
184
185
181
162
193
185
119
204
155
194
258
224
130
253
151
176
204
176
144
206
174
221
129
168
173
203
130
183
230
222
187
230
217
222
184
168
183
155
214
150
174
244
166
192
138
244
162
250
164
214
201
133
173
173
217
201
242
238
227
233
217
156
277
115
190
252
164
130
195
176
236
214
242
242
240
204
191
176
185
167
252
192
173
239
218
188
186
221
195
179
178
145
170
158
158
216
214
210
206
192
168
183
186
202
185
129
232
221
221
203
201
145
185
182
176
115
225
256
245
242
155
176
143
146
145
173
221
217
176
173
204
230
170
201
217
168
145
230
146
164
198
236
210
181
188
192
160
164
168
232
212
207
203
143
156
227
237
188
188
130
162
172
215
191
131
208
230
214
221
208
263
204
217
176
265
162
158
209
129
204
161
180
197
155
206
183
287
207
164
122
200
189
130
217
129
229
168
131
202
209
133
175
205
227
132
230
224
150
218
176
208
243
211
176
195
167
230
204
198
176
256
210
239
143
181
205
204
172
168
129
231
204
180
216
181
182
263
129
177
243
188
177
176
274
144
155
222
173
219
209
155
249
150
130
202
173
204
146
255
172
203
161
207
183
206
188
129
176
288
146
225
272
261
228
211
138
160
210
222
115
184
159
141
221
232
130
206
176
169
179
245
185
210
161
200
130
183
217
224
226
191
174
129
150
165
115
191
214
199
210
130
199
142
173
180
156
149
204
239
246
194
145
189
145
149
206
188
203
204
214
145
214
146
173
211
149
151
224
209
201
237
204
211
258
192
211
129
156
206
201
210
146
178
182
122
151
264
169
213
221
179
152
180
195
180
182
227
129
181
190
176
129
202
169
156
265
236
176
271
156
133
142
194
129
180
227
185
192
115
191
222
246
238
245
288
205
133
243
210
166
174
178
184
204
129
130
177
209
210
201
182
203
191
185
164
233
161
204
255
221
141
239
225
234
194
297
211
234
145
192
129
214
173
240
146
130
174
172
196
174
179
129
151
226
296
176
115
207
217
176
146
153
274
129
217
203
210
186
260
200
155
201
129
178
271
204
173
210
146
164
128
129
143
236
173
194
235
242
211
195
156
186
255
169
179
169
215
171
252
227
199
173
238
178
274
227
229
212
230
173
274
235
222
184
146
176
239
130
213
180
115
178
239
217
179
259
191
264
173
175
129
238
164
255
141
188
236
147
115
251
187
150
173
242
179
224
193
291
184
173
141
158
234
227
158
200
192
173
206
129
244
161
175
210
210
244
237
217
178
169
247
130
184
232
239
250
133
204
209
182
173
197
168
161
176
204
195
208
162
145
179
115
171
129
206
228
239
237
204
152
145
195
203
130
210
152
188
174
184
195
146
173
228
239
182
200
256
197
173
192
191
242
176
146
194
257
194
235
130
193
173
182
122
173
184
212
241
204
217
141
225
181
185
190
185
173
207
197
162
178
133
152
191
200
238
173
236
211
211
141
115
176
186
254
188
192
202
211
130
175
145
130
164
149
173
191
179
197
174
194
115
222
217
146
176
169
179
210
211
185
161
130
208
115
223
211
146
169
173
229
215
254
189
195
249
210
115
204
236
221
149
195
200
160
149
155
221
255
168
176
236
173
220
155
173
225
158
238
147
155
143
115
262
242
176
161
172
185
257
222
206
210
129
201
222
184
216
254
173
175
183
161
130
171
225
159
173
228
130
210
205
199
204
133
217
168
243
143
149
261
225
173
294
203
129
199
146
200
145
297
295
129
210
234
174
201
188
147
267
194
187
218
146
156
179
225
187
208
218
262
179
223
130
203
133
186
119
214
184
252
162
210
236
244
233
183
162
194
152
163
156
167
140
220
199
178
204
199
209
129
151
171
216
264
130
176
229
204
187
220
145
166
115
173
173
179
162
191
193
217
250
283
204
160
210
175
202
218
176
173
176
133
202
172
226
176
191
284
173
179
153
115
190
129
193
217
213
129
168
128
222
129
179
155
143
238
180
195
216
184
198
211
181
217
214
164
206
169
205
210
162
183
176
201
201
200
195
133
157
200
173
184
169
201
217
133
232
188
160
207
176
277
191
206
167
129
265
258
162
157
216
222
203
130
191
158
172
185
160
302
115
152
199
186
209
156
266
246
138
146
197
260
217
248
132
215
133
203
203
130
186
226
159
119
207
185
174
197
204
228
222
236
335
211
150
158
195
268
145
217
177
193
176
187
179
129
186
146
217
236
168
130
146
143
258
238
200
211
145
185
149
201
199
204
182
133
166
204
155
227
195
200
202
210
185
188
143
156
204
193
138
161
220
204
185
201
201
181
240
227
164
264
211
246
182
222
207
188
129
179
242
177
247
210
170
232
155
199
227
187
155
168
231
176
201
225
157
186
149
256
187
173
239
210
205
146
208
180
130
150
200
146
210
185
226
173
172
206
191
158
129
238
162
169
146
202
168
179
180
176
190
213
184
199
204
326
115
130
218
202
200
244
185
162
189
214
214
252
215
242
182
174
240
186
211
234
184
185
211
218
211
209
169
168
181
173
159
186
176
149
210
256
171
231
164
184
173
146
250
268
184
176
210
213
129
241
206
183
202
217
203
156
152
180
208
188
156
210
151
207
206
190
200
195
228
180
252
251
146
162
191
143
162
146
233
205
146
287
176
173
133
143
207
218
174
265
261
184
156
201
211
210
203
212
173
170
200
217
286
210
194
234
129
231
158
221
222
129
211
187
155
156
259
180
164
217
145
162
216
168
154
144
217
210
244
202
204
222
213
204
251
181
273
163
129
242
178
229
196
212
128
176
255
119
169
258
201
201
219
184
181
226
202
192
216
233
283
211
191
179
146
205
127
130
215
168
122
264
146
243
273
204
130
236
227
153
138
129
197
229
184
195
173
133
130
210
208
174
164
173
160
179
166
186
317
173
115
261
184
173
199
207
159
164
158
146
191
162
244
186
195
247
130
236
182
115
173
162
193
143
199
236
146
208
197
263
236
252
209
202
146
183
214
122
210
146
130
167
173
163
129
217
183
156
299
206
233
176
145
228
218
209
190
182
173
190
191
160
213
214
170
198
269
178
178
133
185
181
179
130
218
230
211
188
176
155
253
210
217
254
141
198
181
218
155
164
180
146
212
213
176
189
195
212
221
173
132
205
143
194
176
180
133
146
225
153
208
230
179
218
216
208
150
133
164
206
307
146
205
184
226
158
115
226
179
257
228
204
146
151
191
133
216
222
202
176
150
157
155
200
202
133
201
133
212
179
211
206
208
130
287
222
198
193
230
205
200
156
193
161
166
217
182
209
189
242
130
178
143
208
199
251
189
223
164
173
210
191
190
208
217
210
129
222
275
217
227
204
152
141
164
229
180
163
238
180
226
192
152
178
176
237
197
115
215
234
129
164
210
280
184
250
177
225
174
130
205
253
214
191
216
211
167
162
115
222
176
179
191
281
174
224
164
219
218
228
223
202
236
129
201
203
235
179
230
173
131
130
173
143
171
238
173
191
192
247
200
179
155
191
173
303
223
238
239
264
233
130
158
141
173
205
183
313
138
191
184
210
149
230
162
208
204
233
181
217
151
254
185
221
210
278
179
179
169
283
242
171
277
217
275
257
204
129
210
181
150
167
204
207
206
245
176
221
246
238
211
171
195
130
168
146
210
237
226
237
146
192
230
170
267
210
169
178
130
167
204
191
206
157
162
191
204
209
203
220
222
141
173
182
168
228
197
198
208
252
238
228
144
239
201
178
179
147
244
146
240
150
241
205
162
194
145
181
146
190
264
181
155
171
261
146
236
254
264
176
160
173
176
283
178
130
177
196
235
146
162
190
161
213
260
167
161
195
171
238
191
201
130
129
197
272
162
198
263
129
161
240
254
171
226
200
244
129
131
210
184
204
231
194
173
193
227
206
179
205
200
243
173
192
175
192
146
185
210
236
179
211
176
144
183
206
130
190
182
172
179
182
209
149
146
211
173
228
133
240
143
129
233
119
197
233
130
157
241
176
246
162
272
256
206
222
155
200
171
182
143
151
141
252
251
149
180
252
216
164
246
255
186
177
189
229
138
258
185
213
204
211
177
200
143
160
209
178
290
129
198
225
176
176
224
173
173
235
186
236
129
200
181
184
210
202
191
146
190
196
194
160
115
202
213
272
145
128
222
182
173
208
201
150
168
202
146
176
180
201
160
176
181
276
218
129
178
189
203
155
183
199
175
204
197
183
178
167
129
203
201
217
162
156
168
195
146
162
209
247
173
173
229
150
176
168
179
158
214
128
191
211
141
220
145
173
178
155
156
201
184
195
204
214
197
158
115
207
228
176
162
204
203
236
182
150
189
180
259
178
184
185
176
160
267
222
275
217
253
182
268
174
164
166
262
259
164
180
191
197
129
210
168
170
167
169
143
208
275
193
176
239
178
256
228
187
335
210
146
129
335
199
146
199
199
264
199
217
173
145
252
187
221
221
198
145
175
178
185
168
183
185
236
149
172
258
185
176
176
145
129
227
212
172
191
205
185
122
219
179
231
250
234
197
129
195
205
115
171
201
145
130
202
158
204
158
292
227
191
173
171
189
162
217
161
191
173
164
210
193
173
176
228
256
236
173
165
171
272
150
229
201
190
158
171
211
197
195
141
169
198
202
210
230
197
202
188
204
192
129
251
173
173
210
157
174
178
216
244
159
129
272
244
187
138
165
115
209
143
264
224
217
209
202
176
194
210
194
171
204
177
236
129
194
184
132
204
179
166
141
211
145
146
199
207
130
266
183
162
227
274
130
177
205
200
191
171
196
153
145
160
146
172
275
173
122
173
273
237
216
115
204
155
267
252
183
198
184
173
185
234
213
145
202
206
204
203
265
219
186
147
187
200
201
179
204
130
221
173
210
179
130
178
133
189
204
297
173
267
175
245
143
279
146
202
157
236
238
210
150
129
129
146
176
194
214
248
172
129
236
158
157
288
143
160
192
178
184
163
176
197
151
199
177
179
129
191
193
141
209
152
204
146
217
187
146
185
210
192
191
169
155
160
202
175
193
228
184
143
132
173
182
130
173
217
211
194
205
164
155
210
153
165
261
191
273
158
186
199
145
231
158
185
178
149
216
239
205
172
206
250
184
226
146
167
232
129
185
204
273
180
147
196
203
162
224
164
202
235
212
173
173
138
201
210
200
212
280
202
161
220
225
204
133
172
225
129
128
180
145
204
181
191
130
146
204
184
182
264
162
164
231
188
145
194
227
155
202
249
230
200
115
187
283
129
164
179
179
224
165
262
174
143
171
185
209
129
214
174
258
210
252
178
252
201
192
179
164
251
231
217
213
186
206
220
173
219
160
129
179
162
335
246
164
207
218
275
201
204
239
202
174
129
170
146
203
129
184
174
210
160
156
146
129
232
204
152
230
145
186
178
190
203
200
168
206
182
176
129
237
196
256
188
228
173
198
200
242
133
186
198
164
168
251
225
163
133
130
160
191
170
168
162
204
204
146
213
178
236
179
176
208
217
209
164
178
231
220
202
227
234
176
115
244
178
159
261
183
209
160
169
146
129
212
232
143
168
221
146
268
143
184
181
211
244
162
188
197
182
247
174
133
210
176
242
221
221
176
174
186
173
225
219
214
182
129
138
200
174
209
173
230
122
180
264
185
173
146
183
133
192
185
176
176
159
160
115
173
165
200
202
185
173
204
252
160
176
210
180
238
210
175
133
185
169
285
203
211
162
151
173
170
180
173
205
213
183
182
178
217
133
157
184
159
173
176
181
217
205
176
130
129
166
192
162
173
189
179
185
169
198
217
168
115
204
158
144
179
180
302
179
214
256
146
145
271
229
234
227
260
232
201
173
168
211
238
230
141
235
183
185
204
131
189
150
133
168
138
230
166
133
184
303
210
281
174
143
221
174
170
173
207
146
146
230
170
249
146
218
202
129
274
130
162
201
202
254
181
250
160
173
178
132
231
230
183
186
232
161
215
188
160
164
244
166
335
230
161
129
238
149
256
173
215
155
227
164
174
168
204
251
259
184
229
166
176
241
263
133
172
146
174
162
222
203
182
228
188
146
209
152
176
158
188
145
199
176
212
249
166
230
260
234
158
206
216
187
218
221
202
181
210
251
185
141
237
185
252
133
151
181
243
235
210
146
223
248
191
168
178
179
164
178
237
199
258
200
115
191
155
211
211
213
283
188
191
201
174
255
145
205
236
235
216
180
145
209
188
196
167
147
164
146
255
201
191
259
130
202
186
169
129
218
167
173
209
226
122
193
230
168
210
129
190
143
217
227
206
192
270
225
115
158
204
265
187
181
183
202
187
230
238
244
210
164
213
182
160
208
184
173
216
187
230
155
176
207
163
210
175
187
130
158
230
143
164
176
251
122
207
238
161
217
230
204
146
261
146
173
143
179
146
183
188
199
129
180
160
173
176
158
129
187
182
179
160
218
229
152
176
269
217
216
228
130
147
230
217
166
143
231
183
227
266
201
150
151
195
182
156
209
204
230
213
184
149
122
214
219
232
148
224
230
144
217
214
273
180
133
168
170
133
185
171
115
207
200
225
229
190
220
189
146
149
173
222
200
173
150
184
186
230
133
195
199
171
230
192
182
222
267
115
202
230
133
216
171
206
184
189
252
175
187
138
179
200
176
138
151
215
208
208
231
176
233
204
202
133
162
129
187
269
175
157
195
184
179
219
171
171
203
180
257
130
246
162
195
271
174
203
253
146
241
130
181
276
232
251
156
178
186
225
178
184
130
151
179
217
193
176
244
266
263
147
206
233
183
151
169
150
210
210
214
203
236
146
187
145
187
183
122
168
129
156
205
143
236
192
191
211
205
179
206
202
243
161
208
157
236
130
173
198
141
162
202
222
260
133
243
162
146
184
202
156
185
212
176
208
191
184
130
259
239
182
183
153
174
202
172
183
191
188
252
130
188
200
166
335
197
230
170
168
146
122
199
176
227
217
238
217
130
171
254
153
193
229
225
258
207
216
187
201
203
162
146
181
164
249
259
130
223
182
217
217
216
184
199
264
146
251
146
164
200
181
176
224
218
262
212
159
248
251
217
253
228
146
183
164
129
251
191
166
146
254
166
221
149
159
128
182
179
274
206
143
133
270
173
229
181
225
157
133
146
166
173
208
199
176
259
162
255
143
202
203
176
214
183
146
158
164
236
218
176
130
166
179
202
178
157
168
181
222
173
200
178
143
199
164
200
190
249
168
215
130
146
180
150
202
210
231
205
180
175
234
299
146
182
137
168
195
189
155
146
174
188
122
176
169
176
216
217
169
149
158
263
217
163
168
132
209
209
198
146
183
184
164
225
230
187
230
217
255
181
168
204
141
205
130
138
189
237
163
201
177
171
217
146
162
178
129
227
236
151
193
180
274
168
174
174
204
200
159
184
190
173
187
247
210
230
192
228
204
196
150
240
212
220
191
202
204
165
182
129
188
200
115
320
152
208
203
191
220
211
146
176
219
164
180
158
115
165
224
217
327
171
130
229
222
193
201
208
176
217
224
129
221
289
226
115
221
187
185
161
222
192
193
221
209
144
213
187
173
169
171
141
192
133
227
224
166
202
292
200
238
186
141
158
210
150
210
268
201
185
216
195
155
205
295
210
156
162
177
226
228
183
167
173
201
215
304
256
129
269
129
176
229
200
176
202
191
204
261
194
219
163
215
217
204
146
207
162
182
211
168
130
140
184
229
173
210
195
185
210
198
203
174
145
130
195
200
272
190
255
258
204
200
130
250
217
194
283
175
156
226
218
202
203
252
130
217
217
204
204
173
181
231
239
173
207
193
246
214
166
164
183
177
163
215
217
194
221
164
211
169
231
253
231
204
162
146
216
177
231
228
219
200
207
213
174
180
251
188
145
202
236
132
225
169
171
207
130
206
195
141
158
185
173
176
173
259
141
145
184
168
219
254
222
182
200
239
200
217
248
180
175
202
207
294
187
191
204
132
161
268
179
174
257
142
146
179
130
150
186
199
158
174
286
174
190
217
250
176
187
210
157
174
143
169
178
162
130
145
185
179
222
253
164
275
145
174
255
202
199
202
210
256
150
179
129
188
174
180
275
199
174
195
208
230
195
146
201
211
238
252
210
190
201
186
210
190
173
254
155
192
200
166
230
143
230
163
181
191
242
146
176
259
222
173
130
150
192
207
169
145
173
242
130
249
156
217
252
230
170
264
145
192
200
224
143
194
178
130
179
210
115
204
129
156
258
238
122
179
201
204
169
225
115
155
156
243
173
189
191
130
206
204
182
264
158
164
252
173
245
224
206
257
173
201
240
115
179
226
222
187
256
169
253
230
183
141
160
202
129
222
258
214
239
217
133
146
165
259
210
210
149
204
155
193
158
146
218
214
211
186
130
188
179
184
141
225
145
269
129
256
149
211
261
195
222
215
191
175
177
222
191
230
201
179
181
237
217
200
150
180
130
214
146
281
129
227
176
157
200
200
214
173
168
277
146
145
205
176
210
184
228
201
217
157
296
172
244
146
146
133
168
183
133
146
164
156
251
176
271
194
162
155
261
281
184
155
157
156
176
173
217
195
236
152
185
239
196
205
195
182
181
227
166
179
152
185
201
210
184
176
174
132
168
191
238
278
158
238
283
122
261
115
158
247
178
115
209
221
133
234
145
162
204
175
231
192
195
243
200
191
173
183
133
150
195
183
193
214
239
176
166
189
244
200
195
236
204
180
150
217
115
173
156
234
240
179
157
237
149
162
155
149
168
201
178
153
211
238
195
146
227
187
210
247
246
252
144
200
200
173
161
115
216
194
197
179
158
263
247
191
160
168
181
182
193
158
211
215
170
204
211
197
156
143
162
145
204
185
130
191
236
200
210
157
227
175
145
227
179
183
161
239
214
225
208
196
206
119
146
198
204
234
163
143
129
274
204
185
171
146
231
218
190
262
217
129
182
130
200
122
180
173
173
159
195
122
187
187
200
230
162
129
180
151
202
173
191
181
182
160
180
215
146
129
193
202
210
302
184
193
207
145
141
202
242
204
224
198
245
220
225
214
242
221
204
263
115
208
129
200
228
161
183
182
231
226
195
176
201
264
210
245
146
174
169
165
145
146
169
221
218
247
163
207
176
206
198
191
191
203
206
272
245
216
177
178
180
194
191
271
176
130
209
201
130
208
184
147
218
225
195
309
155
130
217
187
239
217
201
202
164
264
248
204
168
247
184
188
168
236
146
213
150
206
210
185
177
168
141
218
190
173
155
221
162
183
210
187
168
179
157
180
186
217
158
226
263
183
219
260
173
183
210
204
145
183
184
211
189
289
164
236
206
184
222
217
181
163
249
184
362
218
225
164
157
173
179
169
200
201
155
174
221
215
193
179
205
169
192
158
158
196
162
219
287
184
257
210
166
221
210
153
129
178
180
207
181
156
130
174
176
189
261
238
133
178
209
160
173
129
133
129
200
186
204
173
176
155
129
133
238
163
122
179
190
211
130
204
218
202
217
267
214
281
209
170
164
146
185
199
161
248
222
181
133
206
178
189
129
239
189
217
130
205
207
133
230
133
227
145
225
216
192
151
174
276
141
147
208
200
173
179
115
179
158
201
208
222
143
140
211
211
253
188
176
202
146
233
176
183
214
144
207
129
192
129
200
211
202
205
194
287
179
210
146
145
175
236
176
115
248
180
288
200
177
149
216
174
238
143
195
150
183
143
129
240
168
203
176
191
200
172
129
145
129
222
213
158
186
160
199
202
202
178
187
228
185
115
206
177
247
119
166
176
129
157
210
146
171
223
188
185
246
217
166
115
162
185
182
146
168
224
316
204
204
211
164
209
203
202
145
204
180
251
129
228
223
201
192
264
188
206
180
185
130
239
206
145
202
224
212
204
189
179
184
180
198
211
217
182
158
143
178
195
202
193
329
231
206
184
179
225
129
278
234
230
204
184
194
265
219
250
164
173
208
217
269
188
178
188
133
145
213
146
162
173
200
199
143
225
201
227
204
254
263
146
182
164
192
129
191
146
183
230
190
180
199
131
155
173
158
227
170
214
132
198
204
249
146
208
231
165
133
181
143
226
181
129
173
129
145
164
182
182
163
180
155
169
219
256
205
130
220
225
172
146
204
195
164
133
181
215
176
204
183
283
127
199
225
191
231
115
141
129
184
146
168
298
132
146
204
210
133
172
141
170
160
164
208
194
200
122
264
132
204
194
204
119
175
225
239
256
132
210
161
221
228
218
202
184
210
179
221
207
217
215
287
115
220
194
169
176
133
201
130
179
182
145
252
194
173
232
172
237
228
213
163
221
168
173
175
219
186
178
194
231
204
150
138
146
164
178
189
185
187
185
192
165
210
203
166
187
180
130
247
212
230
188
226
242
206
217
158
188
219
257
171
201
204
176
172
173
147
166
173
222
162
222
237
222
178
185
176
288
219
145
193
177
130
215
164
191
115
225
235
133
178
115
164
152
187
160
255
205
169
173
206
225
230
183
189
168
129
188
146
221
194
146
133
115
191
180
130
260
184
129
243
217
151
233
155
239
211
182
146
221
203
258
195
185
205
220
201
198
189
180
141
197
205
277
253
263
164
156
194
176
204
178
179
263
183
213
122
209
193
250
225
194
158
172
206
303
239
157
132
162
185
248
211
221
208
228
167
191
201
217
129
185
216
145
133
221
208
217
203
143
232
208
253
247
146
191
130
166
146
173
244
146
184
130
193
183
299
130
129
143
171
182
210
143
236
179
234
162
202
133
218
198
151
206
240
173
157
179
129
183
195
176
202
248
132
206
249
247
227
180
211
189
200
191
188
162
262
161
183
285
186
185
153
115
234
179
204
183
182
204
145
176
217
240
132
215
235
161
236
129
186
175
131
204
173
181
133
158
200
205
180
169
258
181
176
298
141
146
237
203
130
222
237
211
202
168
248
230
159
170
227
217
176
181
232
296
115
205
222
152
189
174
232
184
234
256
168
229
144
217
166
217
188
173
211
158
145
146
179
193
219
230
218
262
166
165
188
217
166
284
199
183
231
180
239
204
175
129
286
179
229
180
210
208
160
161
205
160
200
158
185
245
162
210
226
175
173
133
171
146
173
199
216
176
239
202
244
168
238
211
205
129
201
219
222
199
130
273
129
144
176
194
170
184
177
201
173
224
149
192
234
181
224
138
201
161
208
172
176
129
206
248
185
143
214
230
202
183
291
130
240
150
176
201
210
222
186
160
203
239
199
168
202
214
170
209
157
245
180
171
210
230
176
164
174
205
160
215
229
155
215
237
179
222
183
214
179
210
256
168
166
250
238
146
176
191
255
133
215
269
152
222
155
195
173
206
161
201
129
155
203
225
199
192
172
180
217
145
133
169
179
244
171
183
218
170
234
194
165
173
171
171
230
176
233
222
115
150
185
156
242
143
184
215
236
203
183
201
182
155
208
215
194
226
166
188
130
211
129
179
174
164
174
206
130
180
244
229
196
184
143
158
179
201
162
202
164
180
179
300
130
171
222
210
158
225
182
168
254
146
209
143
165
174
199
253
176
202
244
209
168
204
156
232
203
147
185
213
133
191
115
168
158
180
129
129
162
243
210
186
172
176
214
270
201
203
231
237
258
161
129
205
170
129
244
152
152
243
198
201
202
216
299
174
210
182
133
160
206
206
227
176
196
138
133
206
166
225
228
146
192
204
276
243
143
186
256
184
264
192
183
171
168
211
168
175
239
183
201
217
193
217
191
146
229
184
210
178
129
146
130
208
210
255
162
129
143
214
188
169
202
236
191
190
173
172
189
183
236
167
168
167
229
174
161
156
176
156
210
201
221
176
172
160
231
216
217
208
130
198
160
235
163
239
281
292
154
216
168
172
170
244
238
115
201
211
182
217
190
187
201
146
201
164
239
237
198
128
176
193
191
170
201
199
222
201
155
173
159
183
173
272
176
236
215
191
176
128
162
173
219
176
173
185
161
173
211
153
206
202
191
146
210
225
164
254
146
204
173
208
245
239
256
204
177
330
187
130
288
155
228
167
122
173
130
145
146
144
172
176
188
226
181
119
202
173
217
187
246
169
162
214
224
249
195
150
190
238
251
238
115
129
221
171
277
162
201
176
228
183
176
164
145
246
187
183
178
149
178
335
200
179
173
190
217
171
209
187
145
209
207
181
168
129
168
115
129
182
236
200
129
224
146
168
180
157
235
258
201
224
246
184
261
174
204
215
179
183
173
218
143
164
201
213
210
152
278
119
146
255
146
164
129
146
174
174
187
212
205
162
188
156
246
191
215
258
213
188
176
173
179
163
173
145
175
178
194
227
201
202
155
191
185
217
122
206
204
115
115
191
201
184
155
204
178
184
162
169
198
212
192
172
195
275
236
157
130
203
184
231
180
188
217
179
202
194
173
234
227
208
209
186
164
143
162
270
173
201
155
222
169
209
281
217
176
132
174
175
159
241
200
236
246
164
236
176
249
191
210
217
195
226
182
284
242
160
256
247
158
264
183
150
192
162
193
210
144
173
175
184
176
180
164
303
173
173
206
156
226
146
182
130
179
164
146
191
183
167
163
158
176
189
173
234
189
222
215
246
183
146
203
173
156
160
216
176
210
146
268
246
169
160
168
172
174
275
173
221
141
158
185
202
164
200
219
191
167
194
192
182
150
252
219
201
217
192
173
177
157
130
216
204
236
206
289
266
185
158
177
133
183
176
281
222
244
173
165
234
182
303
236
225
239
130
227
158
150
146
172
197
145
183
173
156
176
138
193
143
252
211
246
163
161
191
187
300
208
162
194
242
195
230
249
199
296
129
219
247
228
173
156
145
162
236
182
231
233
158
179
164
202
211
216
236
210
167
213
143
195
200
194
228
251
217
145
201
260
168
200
143
132
247
143
204
129
161
179
149
191
146
130
138
146
144
115
174
166
167
204
255
197
211
204
225
178
211
247
174
211
244
201
217
176
146
244
130
144
308
164
204
168
146
239
222
182
188
203
138
154
217
158
173
274
168
211
207
230
189
115
185
227
146
182
202
254
187
165
185
335
198
206
176
130
252
156
172
195
210
182
155
162
159
129
228
254
224
130
211
146
129
230
215
203
176
192
216
217
265
195
152
180
258
214
184
153
185
185
199
227
203
207
132
173
228
166
206
207
170
200
138
216
183
274
155
227
115
205
236
175
130
129
245
179
178
209
183
183
221
210
204
173
204
132
209
180
296
168
133
222
174
188
170
282
230
262
194
194
115
197
181
210
164
192
190
239
225
231
185
225
145
237
247
130
173
164
214
129
218
172
171
204
258
197
276
317
176
187
188
173
186
133
204
232
213
247
173
129
203
199
219
190
240
169
236
166
230
255
141
222
129
166
206
235
239
158
210
169
202
222
224
191
156
183
253
247
186
243
200
241
238
214
214
163
236
200
176
143
169
244
242
293
181
173
166
335
176
202
239
218
199
151
145
241
145
204
283
254
210
200
245
191
149
222
186
149
333
183
130
225
222
185
218
179
204
209
200
255
190
155
161
191
141
201
146
233
206
170
185
204
210
168
203
274
212
205
220
169
204
178
209
213
146
214
181
176
255
133
183
157
162
191
156
201
168
155
271
198
200
164
222
129
130
164
161
261
181
212
145
205
138
168
204
213
174
184
224
173
187
261
201
204
189
211
142
191
234
214
173
226
188
146
217
225
164
200
245
241
254
176
158
187
145
130
230
201
115
190
173
277
195
222
191
234
186
261
211
173
242
180
278
174
236
128
129
143
239
226
177
206
162
176
236
145
174
198
230
267
223
138
130
288
188
261
172
204
292
182
195
179
204
185
160
267
165
206
129
236
158
194
171
130
210
232
138
202
252
207
185
188
195
150
266
222
238
185
201
238
264
141
201
132
217
230
160
230
162
158
204
179
229
206
150
166
201
229
187
185
261
198
206
223
158
149
244
210
146
158
222
218
176
225
255
146
237
175
195
204
133
191
230
151
217
191
210
210
168
122
181
242
217
180
180
182
224
130
204
193
129
210
173
191
241
217
283
225
173
167
200
255
184
161
187
258
182
202
181
168
228
176
153
149
210
214
202
218
176
162
245
186
200
208
160
250
178
200
182
206
214
236
122
184
204
214
166
229
217
143
219
194
239
141
217
191
173
228
169
203
204
146
133
282
218
166
238
216
239
130
146
183
274
143
214
203
303
288
141
225
146
199
180
227
129
209
178
171
170
253
155
176
191
236
145
287
225
162
173
176
149
211
237
244
115
138
119
211
178
299
162
259
146
266
182
236
173
182
176
182
300
256
307
176
209
204
202
297
171
178
172
215
164
129
254
181
247
225
236
166
133
205
150
178
186
216
252
194
184
129
211
231
199
115
209
230
245
246
206
188
215
198
205
169
162
185
168
206
248
172
162
181
281
241
230
211
194
204
133
130
236
204
158
217
143
204
129
215
129
119
227
209
183
201
129
204
174
185
200
129
160
115
232
149
130
171
160
214
173
158
187
239
209
130
173
179
217
213
200
173
216
143
245
164
176
208
130
200
146
176
252
180
145
192
204
198
210
211
146
180
217
212
175
151
176
129
195
164
115
190
206
242
188
158
269
191
228
230
164
230
173
175
151
146
191
173
147
254
180
181
129
217
234
195
168
166
203
129
191
205
207
151
207
115
199
201
130
155
191
178
239
129
180
184
182
282
145
209
274
231
166
143
193
217
156
232
173
245
219
191
225
246
130
130
195
225
169
191
204
168
143
166
146
203
213
130
129
200
122
236
176
252
155
231
228
151
145
211
235
169
262
179
176
164
210
196
209
267
173
203
213
143
193
181
164
201
158
183
192
171
176
191
156
273
196
129
185
162
192
162
129
199
264
200
246
201
258
171
223
141
171
180
239
145
169
203
196
169
182
192
164
200
207
149
173
173
133
168
132
215
179
168
230
156
235
239
219
186
164
228
128
201
213
173
155
173
161
211
183
201
199
203
185
129
176
265
215
132
211
166
201
247
129
182
210
151
232
146
189
246
228
270
210
176
160
185
176
173
273
167
130
146
218
182
235
231
229
129
146
133
194
174
146
198
164
192
158
181
176
197
144
248
196
182
176
180
156
212
178
185
270
163
168
191
172
164
185
129
217
193
181
209
233
205
232
205
171
129
251
193
203
252
180
183
143
173
186
202
210
183
230
242
202
209
173
217
262
188
204
214
264
176
217
115
185
164
164
178
129
165
206
193
203
228
152
210
182
217
230
254
177
202
201
216
167
251
210
216
204
146
151
246
173
275
222
146
151
176
166
162
145
146
158
178
195
129
115
214
178
182
187
173
227
187
208
169
270
203
184
175
217
238
146
182
253
183
129
229
187
183
184
129
194
204
226
270
174
156
146
130
210
205
162
148
130
176
224
204
168
152
254
166
201
221
204
238
201
145
184
173
237
178
201
184
204
184
259
236
122
179
181
191
225
129
182
206
226
184
176
207
174
204
182
238
206
179
211
318
238
146
236
191
264
145
198
173
211
184
143
173
143
183
244
198
176
245
189
178
254
189
174
144
162
168
225
210
247
145
196
176
143
156
173
128
222
202
157
179
173
180
115
211
184
295
236
242
186
180
205
245
184
187
208
246
158
185
221
210
161
189
122
236
129
174
212
143
203
158
184
169
258
251
255
228
179
184
217
209
204
180
168
158
232
214
162
173
170
197
146
130
198
202
173
258
224
270
178
179
176
162
138
141
155
178
214
191
180
264
182
155
255
172
256
258
173
201
200
199
171
184
161
160
160
221
146
206
190
201
168
194
217
173
222
197
146
192
203
119
188
147
203
168
227
287
166
215
224
229
207
208
130
276
273
211
155
179
152
225
199
189
197
208
155
146
176
129
145
182
262
213
253
184
206
204
182
178
178
263
241
234
141
173
230
225
145
240
209
251
202
197
191
189
205
182
115
187
122
146
204
130
179
222
258
129
168
217
169
262
283
294
335
229
232
156
143
176
235
205
160
146
129
206
217
115
191
227
203
146
176
219
237
226
146
155
202
239
204
145
141
176
191
290
146
146
173
170
172
146
236
295
141
143
202
197
144
191
245
212
168
129
133
153
132
229
261
231
259
247
211
129
200
247
229
169
225
274
228
376
265
128
184
130
227
230
225
129
179
204
227
201
256
188
242
226
219
164
151
204
199
133
202
182
153
175
158
179
186
236
191
182
189
225
184
184
297
171
146
115
133
115
183
144
129
261
206
221
261
195
207
214
185
146
133
192
128
129
296
170
239
204
146
162
133
195
175
205
207
146
210
259
182
238
179
335
130
273
222
210
183
150
236
212
169
218
210
176
284
209
192
177
174
155
191
176
201
155
229
218
151
198
210
173
217
211
239
256
146
178
203
155
180
217
228
151
185
210
206
173
172
288
247
175
162
184
129
270
244
239
203
210
174
144
173
254
143
201
213
147
227
235
164
228
144
169
239
168
237
187
146
138
202
246
239
169
178
115
204
173
169
215
129
239
214
166
211
129
168
169
214
173
180
180
182
214
218
209
138
173
170
166
170
199
157
129
178
200
210
200
133
204
204
261
130
215
145
242
222
182
206
177
301
169
204
202
161
155
115
194
260
248
242
238
221
181
130
292
192
209
217
130
222
183
146
155
180
178
256
247
178
254
239
244
133
200
129
168
248
196
208
130
190
255
169
204
235
202
200
185
230
152
130
184
178
151
178
133
247
227
129
256
238
158
214
231
185
195
203
170
198
178
230
174
169
237
221
173
155
180
168
129
138
239
145
187
200
183
234
158
133
147
141
183
173
168
176
168
176
236
215
171
174
218
182
183
163
162
246
129
176
217
168
162
288
228
204
164
200
228
309
146
233
298
262
179
133
168
232
193
173
122
210
184
168
191
239
250
151
158
283
168
258
260
211
162
130
253
254
186
214
239
189
259
199
191
235
149
162
179
208
176
130
188
216
247
157
143
263
188
263
143
219
199
220
115
146
160
162
217
209
211
213
225
122
191
143
183
201
163
251
187
146
197
200
191
217
194
146
252
228
200
216
200
150
179
221
169
179
122
296
173
173
204
204
217
217
335
175
216
238
173
197
150
236
186
170
208
205
195
254
146
148
250
170
201
161
191
214
176
178
146
197
130
205
185
168
205
244
207
275
173
210
204
199
260
142
241
152
179
176
178
202
208
160
214
231
199
168
182
201
222
119
190
130
204
151
178
143
168
214
188
230
221
214
224
178
171
213
227
281
147
192
230
153
207
178
146
228
206
216
195
180
189
256
214
146
200
167
199
133
130
168
217
182
119
204
138
221
177
191
173
210
209
174
156
264
335
236
156
178
182
236
157
274
201
217
217
129
183
173
219
201
186
176
184
242
220
156
190
176
194
173
188
277
173
228
203
147
216
162
231
213
205
215
211
202
197
199
230
163
247
180
177
129
174
256
179
231
176
173
130
189
245
173
239
128
146
335
143
145
236
238
221
209
158
235
261
115
201
152
247
184
203
115
201
225
250
149
176
130
209
221
173
152
257
178
153
162
230
211
242
211
157
197
174
160
184
173
199
150
257
182
238
179
175
206
196
184
162
150
216
274
238
178
274
190
186
179
226
158
261
115
193
190
176
255
179
214
169
168
174
143
212
129
144
130
200
239
210
193
143
195
222
150
225
189
164
245
201
133
166
204
231
211
176
155
173
178
300
172
199
186
218
145
182
230
174
232
145
162
203
171
171
230
179
170
211
241
182
230
197
230
143
205
207
130
129
225
182
184
227
206
216
204
200
164
146
210
209
169
193
143
228
182
164
180
184
211
208
197
148
130
164
177
211
129
205
216
180
176
183
176
133
190
222
237
210
236
173
162
201
173
214
180
275
182
129
179
211
198
190
115
180
170
224
143
212
182
188
130
178
210
191
176
184
214
188
193
191
173
152
182
210
194
169
181
202
222
217
203
119
129
199
185
213
129
214
129
211
149
335
140
168
238
191
218
185
173
200
130
204
160
217
229
160
130
115
199
151
162
166
221
198
176
264
130
201
182
146
167
213
264
170
129
224
193
219
202
239
202
203
213
199
156
144
255
166
129
214
230
202
211
220
228
173
183
174
173
152
238
169
204
145
204
176
165
176
173
169
129
287
129
226
192
217
204
194
181
233
173
170
130
162
183
215
263
161
165
173
178
194
151
211
238
256
202
162
174
183
176
173
228
211
203
130
183
202
179
179
158
129
152
234
133
202
235
275
146
144
214
156
239
179
218
115
130
182
219
204
156
215
209
160
145
204
222
182
182
188
222
180
129
160
193
202
155
203
166
132
143
182
217
226
217
206
146
130
130
203
204
133
133
273
259
210
238
146
205
156
228
178
232
190
150
262
183
130
230
195
156
156
170
179
216
158
211
176
227
239
219
191
342
335
202
188
130
168
184
156
162
130
151
150
257
251
164
164
173
156
162
235
240
214
206
169
173
161
178
119
179
141
214
210
179
226
185
180
181
208
169
224
191
233
201
115
164
168
200
222
300
168
175
183
164
191
191
210
133
130
213
174
189
188
193
146
162
281
129
200
184
256
187
164
169
238
216
193
176
191
221
150
130
199
180
129
158
204
173
129
192
172
159
191
206
176
235
164
237
130
217
162
129
129
176
231
203
156
129
172
203
145
170
225
234
145
178
200
163
229
287
193
133
128
234
238
164
172
225
164
204
146
335
274
115
169
178
182
168
145
146
185
296
202
173
191
205
207
176
177
183
202
162
164
203
159
180
217
217
160
156
214
196
174
245
162
201
172
237
206
163
217
147
179
210
195
143
210
164
119
199
188
195
191
187
175
146
242
141
204
129
169
188
130
195
210
115
176
201
189
130
141
178
144
182
235
234
204
179
180
146
244
231
145
130
180
246
204
146
183
239
297
182
209
168
181
163
239
224
180
201
204
146
251
211
335
145
190
143
180
192
189
157
228
176
138
211
181
203
151
171
179
195
250
249
158
145
129
164
146
192
244
115
188
115
176
222
132
230
129
210
222
193
171
278
279
203
264
173
193
115
143
184
130
283
214
195
221
128
180
222
153
164
222
261
268
145
210
216
214
204
200
187
246
257
204
192
210
282
155
176
223
201
184
210
146
129
217
252
146
173
129
167
207
157
146
144
171
205
188
206
202
230
178
176
193
217
158
208
184
115
183
183
179
216
176
155
175
185
238
186
214
146
200
168
217
209
229
253
133
184
176
225
182
156
160
146
183
209
175
201
173
212
222
173
259
179
208
205
216
217
184
191
180
159
241
185
197
207
217
170
283
183
194
189
211
171
214
227
238
264
129
259
309
215
176
130
173
191
217
180
180
183
168
173
211
143
141
211
205
181
184
215
218
217
160
209
197
130
130
232
214
163
200
156
234
176
191
177
211
265
176
175
225
187
219
250
211
171
175
181
234
263
227
173
115
174
217
225
146
190
197
180
217
182
211
216
183
168
217
179
216
115
202
219
202
210
191
146
217
188
176
252
212
246
259
198
132
210
130
200
192
191
185
173
172
182
220
115
176
180
200
239
212
259
173
194
230
173
274
211
165
151
201
179
291
238
176
129
245
202
274
146
199
245
234
173
145
186
186
115
247
188
228
193
186
229
129
193
183
185
183
122
225
207
200
129
217
158
259
265
188
148
191
173
203
178
153
185
199
133
128
161
176
206
229
157
228
179
173
156
211
186
156
158
197
181
129
221
156
202
133
130
181
224
206
175
265
222
288
217
146
177
217
245
222
176
169
262
181
335
290
163
129
127
236
162
227
180
160
184
213
184
128
260
185
159
182
180
162
206
198
130
178
150
151
158
239
151
153
195
146
217
204
146
128
224
173
216
176
234
162
215
225
236
130
192
200
260
177
176
163
170
188
174
300
150
173
133
247
168
143
133
216
236
257
241
263
187
217
145
206
155
203
182
185
141
325
129
182
201
175
235
143
231
168
227
176
173
207
255
261
216
150
160
129
189
200
221
146
152
213
240
209
197
209
168
133
253
238
254
192
158
217
227
158
130
181
243
195
209
169
130
176
151
253
155
242
173
144
245
183
264
255
248
162
200
143
262
173
158
156
158
174
179
211
130
179
185
152
192
233
209
132
130
119
179
184
170
255
182
201
271
185
210
130
146
210
173
179
205
130
194
185
144
201
256
151
173
222
187
176
219
200
208
192
175
202
183
170
210
230
199
211
182
202
146
146
216
150
181
204
156
257
156
214
190
220
262
207
186
185
182
272
187
215
231
204
257
143
214
191
170
201
173
133
247
180
198
173
169
158
274
252
166
206
157
212
205
236
185
222
206
186
173
214
185
237
175
223
211
164
156
144
239
185
226
288
151
264
146
204
188
170
234
253
192
178
164
144
149
148
155
231
259
204
204
210
217
232
179
200
175
153
147
162
182
230
164
180
201
133
115
155
206
182
184
191
173
227
185
204
205
238
199
138
197
230
209
193
238
236
202
205
130
217
219
184
159
244
187
168
246
260
156
200
146
146
211
185
176
218
232
247
191
250
212
133
255
211
145
161
176
173
217
129
146
203
152
130
216
173
214
205
231
190
202
214
204
202
157
216
129
242
146
185
177
231
210
151
227
308
185
258
162
170
184
252
166
184
238
256
164
211
169
173
145
204
161
194
158
315
173
182
184
195
202
204
158
206
215
157
189
201
185
187
161
133
122
175
178
133
179
167
197
177
254
239
231
181
173
201
204
186
129
196
200
191
133
214
167
239
275
201
207
176
212
232
258
166
156
115
216
217
168
168
180
173
217
183
168
162
168
257
199
176
168
157
200
182
130
180
138
254
190
217
201
228
222
176
129
277
152
190
195
160
228
250
179
230
264
210
151
252
184
206
169
213
188
178
181
202
182
146
146
182
210
122
217
214
200
172
200
147
236
143
195
262
236
175
190
258
182
258
234
168
217
191
190
217
168
115
168
176
166
194
156
177
206
260
191
219
188
247
169
168
145
129
168
260
245
231
151
187
173
130
188
256
199
278
171
148
308
208
217
201
237
221
263
150
129
158
203
202
130
200
204
217
224
168
244
205
144
176
209
145
217
115
188
176
205
115
146
146
184
268
223
132
226
141
186
196
200
324
208
257
133
168
206
236
138
224
183
166
130
221
171
218
169
130
213
133
194
129
155
189
233
175
131
170
162
130
221
201
174
130
230
115
143
186
204
261
182
129
237
164
184
271
130
129
227
146
128
209
256
188
233
176
186
174
246
201
219
239
185
204
232
237
173
178
258
184
185
196
278
176
208
227
234
146
240
183
173
209
202
210
146
130
245
184
133
173
130
200
176
214
209
204
239
175
199
167
130
183
146
143
138
175
211
215
143
227
184
169
263
179
178
133
166
212
168
151
122
164
185
155
161
150
187
182
215
201
195
190
166
129
254
189
129
244
191
133
129
133
174
254
234
211
204
184
168
143
189
211
230
223
168
183
178
249
176
201
162
193
217
129
210
193
230
190
214
186
206
188
194
163
133
175
158
198
173
158
182
158
249
163
182
192
246
246
185
186
217
164
146
208
151
217
240
201
172
263
202
185
188
173
182
168
138
164
206
162
130
176
200
159
160
229
152
176
179
173
160
238
201
157
187
129
186
161
173
180
130
211
241
168
184
204
280
185
122
169
217
263
243
204
182
250
208
146
293
176
204
186
224
209
191
238
195
184
132
204
236
193
145
208
204
250
193
257
130
130
161
152
146
253
193
146
180
192
145
283
269
198
181
129
183
193
164
173
168
222
133
179
240
218
174
234
175
246
229
266
161
166
143
200
115
252
311
158
155
213
173
181
228
231
255
205
217
168
143
155
226
227
162
197
241
143
237
281
141
138
262
158
115
210
206
217
249
290
169
150
273
178
191
149
150
133
138
188
179
162
130
133
193
217
133
184
146
204
189
144
211
174
220
202
190
166
174
146
168
232
261
221
210
217
162
217
268
184
130
206
181
210
175
173
173
146
173
193
232
238
182
238
147
191
197
227
191
268
261
146
214
214
129
129
210
173
192
230
141
335
149
175
226
239
146
210
164
186
171
239
115
183
250
219
204
129
238
182
189
133
151
224
170
115
130
163
211
166
145
168
165
247
164
222
278
180
258
186
191
218
199
215
182
129
209
191
186
129
166
210
307
206
182
182
129
139
156
150
223
143
230
220
179
190
160
204
229
138
138
173
176
175
218
180
213
201
225
186
115
238
182
239
235
164
179
187
193
188
173
218
211
196
146
197
172
182
176
222
173
129
201
169
183
175
185
129
204
208
219
146
274
181
194
162
191
130
139
211
245
205
191
229
141
180
177
204
206
255
147
195
229
211
179
130
296
145
172
204
184
145
138
186
133
162
130
156
146
240
200
200
185
239
176
226
143
237
250
226
200
129
179
143
128
168
199
129
168
166
219
186
234
202
210
188
224
129
155
129
173
179
203
195
146
129
206
245
176
173
263
218
182
146
156
166
173
184
184
265
200
222
286
165
186
236
145
184
225
201
224
275
173
149
166
201
206
228
179
218
257
206
180
186
172
168
239
140
216
242
238
143
248
184
258
176
166
146
211
188
151
259
199
115
143
207
162
242
236
115
171
185
211
211
182
164
170
130
239
235
130
213
209
171
188
192
173
133
157
170
130
187
164
165
161
122
213
210
181
211
133
175
200
160
211
191
185
206
178
201
163
146
230
156
211
173
246
226
209
255
179
200
185
182
274
236
205
182
176
201
243
217
158
205
148
230
269
178
129
252
273
207
294
153
204
198
200
236
217
179
129
173
145
201
115
246
168
193
238
179
240
266
130
195
207
178
171
152
194
223
130
122
162
164
229
169
230
183
246
152
221
146
238
251
210
192
194
215
207
200
226
178
296
210
115
234
253
204
230
213
169
162
130
130
182
200
186
188
256
227
212
211
210
194
129
180
138
206
191
176
129
193
226
176
143
146
204
153
260
130
195
230
130
203
211
129
171
300
210
168
200
183
186
184
173
155
172
214
219
230
195
115
188
166
161
162
179
189
145
184
176
191
212
191
158
214
168
146
179
160
316
182
257
176
241
156
130
202
178
237
183
175
262
198
222
232
234
260
304
204
267
217
159
222
264
283
130
179
180
173
235
182
237
189
173
217
182
143
270
132
206
122
169
173
236
182
239
122
258
202
188
164
219
202
225
144
158
217
192
138
180
183
162
144
191
300
130
236
201
179
265
167
179
193
174
210
176
244
175
217
175
194
184
214
261
146
162
150
182
217
229
164
217
146
173
179
176
252
247
205
182
202
179
197
229
168
227
155
169
177
168
143
168
193
230
176
156
160
176
191
224
176
209
190
161
165
180
155
191
253
130
277
173
146
168
240
176
181
199
130
208
197
160
248
191
235
190
273
182
168
212
211
133
162
191
237
186
166
204
146
227
232
244
214
173
195
164
133
169
219
157
204
158
218
234
194
211
205
129
225
180
146
146
168
130
153
247
204
178
176
191
224
214
190
176
217
196
174
217
236
204
204
169
184
253
343
203
191
205
195
130
157
261
179
250
179
201
179
174
204
187
266
185
182
146
217
130
185
199
264
247
249
144
243
155
142
218
205
260
184
254
216
183
236
130
174
173
192
242
143
202
176
254
192
168
193
167
265
180
157
225
202
186
180
192
115
146
176
253
213
176
274
129
168
206
228
210
164
155
169
149
145
133
147
168
148
194
158
166
173
146
270
209
182
181
184
146
176
216
179
210
166
180
273
210
179
211
161
168
205
146
162
173
128
158
246
130
146
222
171
220
165
198
183
190
227
173
151
239
258
129
166
241
147
191
162
150
151
158
204
231
176
224
174
146
142
184
221
176
246
184
146
191
188
261
283
248
265
276
182
145
168
179
203
184
283
182
205
177
189
143
233
129
185
199
242
176
254
171
204
298
161
161
257
173
204
184
241
216
200
216
255
221
211
202
186
169
179
184
206
217
216
168
130
269
210
185
172
186
201
146
173
250
192
179
129
153
122
197
187
130
280
145
130
216
159
179
176
190
251
197
158
192
201
210
145
230
225
178
169
244
240
222
224
186
143
230
176
169
252
222
221
221
155
176
211
228
211
299
256
129
206
188
186
206
133
173
216
227
161
261
273
210
200
218
165
200
202
211
262
168
129
176
173
214
178
189
190
188
192
138
227
240
240
218
259
213
212
173
183
234
209
208
180
206
229
232
129
205
173
168
268
264
187
230
216
181
184
184
298
169
150
176
204
234
185
185
173
156
184
204
188
252
239
200
146
209
130
204
264
222
143
220
185
130
200
184
250
217
187
211
159
150
178
166
160
194
191
202
265
217
184
211
230
130
178
153
236
201
264
168
146
174
226
228
145
189
173
146
158
218
141
184
183
186
145
188
287
242
153
175
174
265
287
129
174
221
210
221
204
166
264
178
204
190
236
192
163
119
129
146
158
176
157
233
232
264
133
232
216
167
180
201
193
206
215
138
133
204
130
129
178
258
195
130
319
164
191
143
269
143
288
201
153
184
173
179
167
208
217
146
195
150
242
188
179
223
177
196
176
230
202
236
191
288
236
150
166
211
185
214
176
228
211
160
209
204
234
172
204
204
215
194
197
195
130
198
205
242
180
141
173
194
240
141
235
145
300
184
200
203
173
191
204
170
157
178
224
130
146
169
119
211
239
132
191
174
238
146
165
206
161
201
146
145
173
200
202
201
183
184
146
233
173
158
238
252
335
129
201
215
162
171
191
299
146
156
130
138
173
218
176
164
145
202
253
130
129
158
230
217
161
164
181
217
188
221
181
154
176
201
160
221
158
130
164
184
145
164
242
176
151
211
195
157
239
194
208
270
225
228
242
236
186
227
145
214
217
237
230
219
200
202
130
115
205
206
238
162
204
236
204
149
146
258
129
219
248
181
201
170
227
176
205
180
130
143
185
183
178
236
229
176
172
204
213
230
211
264
211
204
155
166
184
209
171
115
181
177
144
217
227
162
229
119
229
218
217
191
153
146
184
188
212
130
182
162
130
176
155
230
143
160
146
240
237
202
225
277
195
202
218
160
228
176
162
224
201
200
222
179
201
187
173
214
242
212
193
203
272
224
228
164
202
195
194
261
175
184
199
222
158
172
164
115
151
237
230
221
162
176
171
273
173
184
221
155
230
130
165
183
146
240
204
162
178
158
201
155
183
191
130
200
164
151
217
162
259
176
133
179
239
185
138
164
309
239
174
146
222
144
200
183
192
170
181
166
183
133
257
204
230
192
176
191
191
173
193
146
179
186
246
146
146
191
133
206
256
238
278
199
200
210
185
209
226
156
233
213
183
246
214
171
183
227
183
176
173
184
242
175
215
182
164
211
210
217
211
208
253
210
219
179
214
228
205
254
130
234
188
129
184
226
173
159
176
115
162
205
268
130
219
213
151
162
213
238
162
198
255
238
224
149
130
173
209
155
164
213
181
146
176
194
179
149
265
188
229
149
236
198
231
185
146
208
182
193
162
238
162
219
210
241
180
202
184
183
239
265
265
189
299
166
206
130
191
170
200
223
197
198
145
225
187
200
211
165
204
179
129
133
188
183
239
202
225
193
170
166
184
164
184
182
143
186
189
199
248
234
143
192
193
204
160
199
198
173
209
198
210
241
146
176
211
146
173
169
217
192
176
189
212
169
211
178
204
180
204
153
129
258
210
169
133
217
208
262
225
231
248
130
211
186
210
172
220
229
230
179
261
233
176
202
164
122
173
199
146
234
173
161
194
130
164
204
155
216
214
232
115
119
210
235
191
210
145
177
173
204
203
172
168
130
238
122
190
230
229
129
147
245
264
122
301
197
176
146
191
179
261
175
201
150
219
210
157
145
133
286
204
143
210
171
217
187
185
146
129
179
229
313
210
202
218
158
226
214
202
200
176
169
231
205
211
173
174
160
205
226
276
180
211
303
146
162
151
146
130
202
173
218
223
214
194
132
208
230
183
204
211
130
191
163
141
173
183
173
130
208
182
173
217
180
176
246
146
176
205
207
128
201
156
156
204
187
188
268
304
206
200
192
202
225
133
146
258
185
208
202
180
209
201
181
188
248
168
190
204
115
143
141
173
138
174
129
194
235
199
146
160
185
173
268
244
153
227
156
162
180
315
141
130
225
183
210
203
204
200
182
162
180
179
206
168
252
177
162
188
161
208
169
175
146
146
207
146
255
204
188
207
129
156
182
160
228
202
259
145
160
190
176
210
231
182
210
158
130
143
158
130
158
238
173
129
182
210
185
230
203
133
188
236
204
146
168
182
222
288
229
158
201
179
146
188
201
348
146
173
186
144
195
204
204
181
201
189
284
196
226
197
183
146
164
187
174
210
183
192
219
146
235
176
211
195
228
156
190
149
171
281
222
247
192
195
129
159
165
233
173
238
149
230
227
145
210
209
234
171
149
130
179
193
202
230
132
181
261
269
246
189
170
177
202
176
189
180
218
202
236
173
164
201
204
202
190
176
166
232
190
249
162
204
290
214
229
256
191
173
157
206
214
250
210
185
133
257
198
173
213
203
217
129
198
200
214
219
206
180
204
209
231
239
185
183
221
172
214
238
148
200
254
187
250
219
206
273
183
178
190
162
201
259
170
173
205
253
232
178
161
189
176
130
251
211
168
209
176
274
178
220
181
222
177
202
179
153
156
214
183
202
206
214
204
174
146
225
206
143
153
226
130
194
184
173
214
129
164
255
210
217
192
217
211
302
201
157
130
207
225
201
217
277
197
189
230
201
215
297
191
133
200
180
129
253
210
185
254
254
223
221
176
115
180
193
236
232
155
254
182
173
173
221
211
250
129
217
193
186
246
234
231
235
180
255
171
197
175
164
129
174
153
202
162
239
129
164
219
201
200
201
206
254
171
195
205
201
173
155
295
217
243
192
178
181
250
169
158
129
198
130
254
177
209
166
221
128
176
209
178
171
222
177
200
205
145
183
196
210
130
217
195
173
188
176
216
160
172
129
156
227
152
138
129
180
115
146
151
230
143
186
202
176
149
166
191
220
182
146
178
247
145
186
195
247
204
274
145
258
130
162
146
194
183
189
283
188
229
303
158
149
169
202
133
223
175
221
173
295
240
199
162
274
173
191
206
218
235
130
146
130
169
174
158
206
176
211
182
245
219
191
170
202
189
133
202
185
181
241
171
184
242
206
179
168
238
164
210
166
179
137
201
179
149
210
181
215
160
192
182
119
132
138
143
187
200
192
173
176
211
164
185
201
146
221
146
156
171
254
225
211
176
129
252
209
225
153
172
216
162
200
266
219
176
130
247
242
246
130
169
234
162
145
208
164
115
230
214
221
204
176
146
246
146
281
220
202
204
179
130
130
231
230
200
184
171
199
178
204
173
173
184
191
156
177
164
133
162
145
241
159
155
158
190
210
156
236
191
183
192
218
192
207
227
151
143
177
200
212
230
202
210
264
184
179
155
129
189
237
226
189
217
218
146
122
158
236
225
164
182
220
200
176
173
195
225
182
182
165
251
252
122
204
217
180
232
230
182
177
157
188
173
138
203
205
168
164
186
173
222
173
183
210
192
200
173
215
150
184
143
204
185
234
227
219
207
175
185
184
165
194
181
177
287
203
288
202
145
159
161
168
249
179
227
245
168
195
191
231
176
195
176
219
178
246
216
200
214
313
166
145
174
201
129
185
207
194
179
143
168
188
196
235
266
262
185
200
156
160
239
255
230
210
236
180
209
146
130
176
164
166
202
214
217
246
231
188
179
197
206
188
146
184
213
180
206
237
242
187
267
219
182
158
173
217
184
130
130
214
155
162
230
258
258
186
172
174
251
199
240
181
169
173
201
228
227
217
209
170
171
210
210
143
220
204
230
210
143
198
200
226
168
146
211
191
235
146
146
214
201
252
132
206
202
146
176
146
174
202
198
210
238
259
183
146
192
158
212
211
146
236
214
217
201
158
227
181
168
236
200
122
239
183
248
179
129
158
210
221
145
229
129
200
230
288
141
201
209
188
230
243
229
161
183
246
173
206
233
230
183
260
143
185
233
220
232
129
202
206
235
176
143
216
252
218
130
176
129
177
225
173
202
175
198
129
250
194
170
179
166
130
176
260
122
183
178
173
161
176
254
119
158
182
257
164
171
184
238
187
167
222
200
200
170
237
236
230
259
173
223
246
230
129
166
159
143
207
204
166
228
164
204
146
235
169
264
161
196
187
261
167
227
173
208
130
214
222
212
200
185
176
162
129
232
133
185
176
173
209
228
176
181
150
201
145
200
182
162
175
217
168
191
244
200
213
161
161
188
217
221
146
144
211
128
197
210
217
130
192
238
143
188
160
204
115
186
168
182
241
332
179
236
150
184
178
199
145
197
170
230
158
202
288
210
211
159
202
197
162
197
143
204
162
173
214
186
178
197
216
151
236
214
250
162
185
212
265
183
259
236
172
146
221
265
129
222
192
167
199
197
183
155
229
130
153
200
143
212
230
129
146
179
202
204
263
200
173
143
232
183
200
202
210
167
176
182
173
143
173
211
228
230
171
210
129
133
168
182
192
166
211
130
129
185
230
230
180
212
235
162
235
188
201
225
155
130
164
162
180
189
280
185
145
247
166
171
173
157
202
219
195
165
240
146
237
240
180
141
165
244
238
222
130
158
160
151
162
210
130
115
145
173
204
245
146
217
183
191
146
208
132
204
192
265
211
151
130
262
222
181
138
182
262
209
217
129
211
132
173
151
129
209
265
251
219
228
191
174
201
164
181
210
184
191
158
130
158
263
204
115
185
169
155
238
190
214
225
143
209
190
183
204
175
130
231
208
155
166
129
178
183
221
197
143
174
130
185
169
184
146
246
201
183
191
179
129
201
168
251
129
235
235
168
217
233
204
151
205
262
150
203
173
195
192
182
129
167
171
238
190
199
185
181
130
162
205
185
175
200
202
178
191
165
200
204
247
210
129
255
141
193
235
161
179
164
194
184
205
228
143
173
229
171
202
199
235
145
129
255
168
206
146
166
201
194
238
200
187
176
261
156
146
196
242
184
176
202
251
149
275
173
210
180
209
150
188
214
182
200
155
161
151
180
244
228
209
130
144
201
187
203
171
246
226
122
228
184
214
130
214
175
239
128
231
204
239
247
205
209
141
153
166
164
183
226
179
141
201
176
132
202
191
211
226
224
222
130
145
222
115
214
160
188
210
196
143
130
258
137
181
156
155
210
225
200
195
154
169
285
200
157
157
177
201
232
235
194
214
220
158
204
231
196
179
199
192
204
173
210
259
166
145
174
256
145
180
199
215
182
193
185
224
173
217
143
209
130
230
153
178
152
213
208
183
204
212
200
191
176
210
146
179
269
163
158
208
143
179
167
229
173
145
218
204
203
182
226
168
169
255
205
224
174
163
182
185
129
164
205
185
195
178
200
257
165
144
130
202
176
270
129
206
179
145
226
214
200
181
179
205
239
270
274
266
138
168
150
200
217
184
218
143
186
216
209
184
143
172
202
141
130
181
206
130
146
184
183
204
130
250
190
221
143
155
185
231
244
204
145
202
200
195
178
180
209
204
171
147
218
157
209
199
204
192
218
176
267
229
247
209
129
230
133
173
169
245
193
146
176
231
214
167
215
254
155
188
183
195
225
158
204
285
151
233
191
177
190
236
233
206
202
240
211
184
206
236
163
122
164
129
156
194
264
213
215
200
150
177
130
129
183
197
178
133
129
222
183
227
210
244
191
195
261
180
132
171
181
204
173
166
156
193
155
168
115
151
130
155
172
195
144
138
300
156
179
263
209
189
195
201
211
153
190
147
162
246
239
138
176
168
143
178
215
250
217
173
145
146
158
209
240
205
161
157
292
145
212
179
164
133
263
207
210
211
130
206
199
193
212
185
176
143
130
279
230
130
213
164
158
130
133
246
212
214
228
176
255
217
226
200
264
171
212
238
156
184
182
202
193
138
210
210
143
173
215
217
182
204
212
178
122
188
182
192
244
190
221
239
164
159
190
145
119
166
246
150
200
176
237
171
204
292
184
239
214
199
206
237
255
196
173
168
204
181
141
204
206
157
225
169
143
202
115
146
292
181
130
129
209
238
210
177
213
173
244
178
173
189
224
228
157
153
271
129
191
240
196
129
169
278
160
162
204
157
199
211
204
181
171
160
211
204
200
294
183
141
229
169
169
129
133
222
162
122
186
173
174
176
169
204
263
115
200
240
191
240
164
210
242
231
261
174
231
178
162
231
239
165
204
133
238
214
130
130
168
214
147
192
287
203
180
216
247
184
190
200
230
146
158
133
277
199
129
129
128
327
202
210
178
242
191
180
186
150
173
224
203
153
130
213
179
223
202
264
184
196
309
173
190
188
204
191
191
179
172
249
225
211
211
180
166
247
262
176
258
242
155
158
173
307
216
160
168
158
199
214
155
226
201
215
130
202
192
129
144
207
183
210
165
129
158
186
145
196
140
191
185
178
225
169
162
263
129
241
184
166
199
302
200
173
168
204
234
138
115
194
230
176
161
218
191
243
193
241
202
175
164
215
238
130
144
232
169
146
200
300
171
183
180
206
152
217
230
178
179
185
244
236
217
274
173
200
249
129
229
210
226
145
238
335
184
163
173
201
201
182
161
133
195
162
129
140
220
170
168
162
170
129
208
162
186
165
188
292
274
162
153
240
192
178
170
145
229
246
219
216
225
146
197
169
248
146
191
164
179
230
162
198
203
202
183
261
129
184
231
210
182
122
204
182
276
222
169
210
173
246
146
204
164
176
160
206
169
176
129
229
145
186
205
169
183
168
203
143
190
217
228
129
302
173
204
224
158
216
173
179
230
160
157
141
215
230
203
219
180
173
228
132
194
182
238
217
175
204
204
241
261
219
146
133
145
158
176
143
219
220
158
184
201
129
195
132
200
150
211
141
202
141
212
177
188
246
169
183
130
130
229
181
192
133
161
183
287
233
184
185
249
183
218
169
169
194
157
202
182
161
129
146
210
164
225
211
252
179
204
146
144
146
184
262
179
264
217
201
156
300
192
184
164
164
162
169
182
212
211
260
137
169
155
181
229
163
155
249
216
182
204
156
227
211
190
214
169
217
210
172
182
161
156
236
169
143
159
122
214
203
225
176
188
206
144
168
173
150
230
194
146
225
150
237
180
176
175
146
129
211
242
167
166
147
204
204
133
130
226
235
211
201
202
187
194
204
160
225
157
146
182
239
145
164
161
177
174
187
129
190
187
176
130
230
209
145
157
204
217
236
173
253
227
189
161
130
217
202
177
179
211
168
194
162
146
157
211
133
230
159
180
198
179
153
180
194
224
168
167
264
184
149
115
264
182
191
237
160
192
176
145
183
177
144
151
192
115
145
158
169
149
164
210
200
173
232
217
115
197
188
130
168
160
130
238
208
173
200
246
182
180
115
173
242
167
115
200
179
179
164
191
146
184
193
207
202
184
157
173
193
217
226
247
228
166
198
204
204
217
166
211
195
189
246
191
185
173
233
224
191
173
151
236
236
221
169
179
204
234
197
182
255
184
173
194
201
204
146
152
191
160
150
289
204
210
200
204
178
155
181
179
206
172
186
233
130
180
165
129
239
176
192
238
208
247
199
180
204
192
179
150
214
173
189
184
180
220
191
173
182
243
197
260
200
186
162
246
204
205
162
263
168
197
130
163
274
227
158
267
210
130
210
189
158
206
186
155
115
130
256
174
177
242
242
164
155
173
183
176
243
265
205
284
150
168
151
179
288
179
190
234
173
201
190
185
168
184
185
175
219
230
227
168
171
210
133
184
213
258
216
133
259
201
211
158
234
138
241
195
171
146
230
152
222
230
151
157
202
191
225
184
162
202
146
250
211
194
133
146
263
174
286
188
221
150
232
217
181
222
252
204
143
203
141
143
184
208
247
208
180
216
252
143
173
209
176
225
203
151
146
222
206
172
216
184
294
181
180
152
176
173
210
179
173
191
129
210
164
171
146
146
143
227
158
213
218
248
146
181
178
115
233
251
252
158
263
189
191
210
236
192
162
170
176
240
211
188
202
130
228
130
186
168
205
242
146
162
163
179
173
190
192
179
209
187
158
188
146
174
173
141
182
173
170
194
224
180
192
168
204
210
150
180
149
217
235
182
193
200
239
167
209
246
222
130
261
190
190
322
178
191
207
146
167
115
191
238
219
176
130
194
298
162
181
182
184
204
138
176
191
188
248
200
184
168
202
210
173
226
226
168
129
162
251
201
180
182
211
171
213
147
185
206
162
180
160
179
185
153
206
191
238
201
173
204
155
161
160
195
130
166
204
156
174
218
223
186
205
231
189
168
182
206
200
176
168
217
217
175
157
248
250
202
210
157
133
239
156
222
254
173
158
129
149
173
201
119
181
241
255
179
209
184
192
217
204
191
166
177
217
182
184
204
186
129
201
166
271
166
176
237
164
239
220
236
179
133
176
195
247
128
229
215
223
173
143
189
207
175
185
224
146
184
161
132
183
174
181
129
208
130
206
178
224
171
140
204
205
149
115
176
129
190
208
286
213
265
247
202
192
146
213
162
157
265
228
224
212
210
217
206
229
173
227
195
173
204
230
159
211
222
168
193
173
296
130
247
230
218
210
184
145
150
183
221
211
182
188
200
168
164
169
122
281
191
270
173
182
129
237
315
263
162
238
220
219
171
204
247
177
209
174
168
244
133
143
211
222
162
209
182
202
178
193
182
145
183
244
182
176
231
183
149
195
191
192
174
186
266
149
335
160
130
173
197
251
200
252
181
204
217
246
180
197
182
161
130
174
162
176
188
150
269
228
201
173
122
150
224
227
191
145
242
231
179
228
212
182
188
183
274
178
197
152
193
178
208
204
181
176
221
239
174
130
200
179
193
182
211
188
184
210
257
149
202
130
158
204
182
130
228
176
246
173
168
174
214
268
214
241
181
275
175
182
213
244
217
129
169
189
161
239
202
143
156
129
151
210
221
130
207
187
210
145
210
195
173
189
194
209
204
205
164
162
129
251
178
162
182
146
133
130
255
115
182
216
240
209
174
151
236
201
217
129
200
235
228
253
176
145
145
174
184
189
232
189
244
129
207
227
171
249
258
203
168
160
169
176
130
161
156
210
178
216
186
225
209
173
221
197
248
251
222
188
290
273
178
225
158
181
227
256
204
210
129
147
239
133
173
157
182
178
168
218
204
168
183
143
222
221
173
161
210
184
239
169
210
226
237
213
164
157
129
177
130
176
227
115
161
211
211
214
203
179
182
182
145
210
174
173
152
146
146
129
240
214
265
221
230
251
132
173
155
177
201
182
176
146
195
191
173
206
213
225
242
230
152
204
208
204
240
212
182
190
222
227
169
155
193
204
196
183
182
251
200
183
161
171
264
175
161
237
158
168
115
243
184
190
127
222
241
133
208
133
211
151
244
210
258
146
235
200
146
177
231
168
152
219
180
173
217
217
209
129
164
213
129
152
176
214
194
339
167
248
164
160
201
283
208
282
146
230
152
262
178
183
146
129
191
146
213
335
173
224
178
151
200
165
162
203
223
192
141
218
261
210
130
173
146
198
159
171
251
208
164
223
258
202
201
214
204
169
146
176
250
159
232
158
217
173
162
184
180
211
138
191
184
201
255
146
177
200
232
253
173
160
129
233
203
146
173
205
260
172
202
161
173
158
160
226
199
145
146
204
193
216
173
187
190
239
129
221
168
217
177
175
218
216
189
232
133
222
212
229
173
168
219
204
198
129
235
184
133
143
164
176
238
178
173
175
170
263
194
272
235
245
171
259
153
274
129
174
129
281
199
130
129
195
218
130
264
246
214
206
204
231
226
183
209
210
155
188
223
257
176
182
177
260
166
184
181
160
229
130
172
259
181
169
146
288
220
211
197
262
251
176
152
209
246
168
155
193
191
146
190
184
238
157
204
186
210
275
164
207
172
145
186
129
146
211
261
180
235
270
143
193
218
141
203
169
174
195
150
156
270
168
157
263
129
227
231
195
179
259
198
190
204
227
193
188
173
115
182
193
309
211
247
238
182
179
146
173
178
278
143
122
184
173
283
146
189
219
192
195
164
188
143
200
146
158
257
146
143
264
163
173
283
169
200
204
186
130
152
181
228
156
202
155
200
158
138
249
204
179
162
182
173
206
209
164
201
130
129
212
210
184
272
236
165
231
213
149
186
211
115
146
191
211
173
203
188
254
194
182
221
205
183
184
145
192
237
244
212
169
180
187
179
162
176
146
130
150
206
175
185
175
165
188
230
184
200
199
179
162
171
162
183
200
162
237
156
184
250
206
191
133
248
129
202
202
150
165
146
211
236
122
189
261
203
155
160
162
184
237
193
215
246
209
221
225
157
246
192
202
225
128
235
275
236
184
214
165
261
238
190
141
179
209
173
115
161
183
202
133
189
207
236
211
200
247
211
161
199
145
157
129
200
259
178
173
234
202
141
155
129
193
147
251
173
226
158
219
251
242
218
277
204
201
222
207
218
206
152
196
213
187
266
173
203
176
191
255
249
130
147
178
172
186
129
143
164
129
218
247
216
239
214
147
233
194
167
170
211
258
173
171
238
178
146
225
178
211
182
199
164
179
170
210
143
182
254
129
192
195
145
130
155
149
191
169
214
206
157
184
132
180
217
197
190
168
173
217
150
143
263
177
179
143
192
173
196
177
164
167
169
177
237
130
184
210
186
196
258
238
162
149
173
256
174
264
184
161
262
170
173
150
177
198
200
132
162
238
184
226
197
182
149
175
210
237
155
192
173
172
303
146
166
169
169
239
220
163
207
229
221
221
141
251
158
248
217
146
173
145
184
210
146
212
249
207
166
170
274
216
256
178
171
173
264
214
186
201
130
158
184
188
218
184
300
162
179
148
227
202
217
169
226
173
173
156
129
201
138
199
176
184
143
205
183
194
143
184
191
182
222
234
128
187
153
222
219
188
228
185
245
203
186
198
238
158
242
143
235
274
146
181
168
184
174
200
174
217
207
164
217
173
246
128
180
248
228
229
209
145
158
183
168
130
171
217
176
169
203
143
188
192
214
168
242
207
218
204
230
178
224
213
130
179
216
190
161
204
229
200
178
261
212
130
204
218
204
225
187
281
300
211
160
238
211
146
173
141
169
132
176
168
172
335
149
160
161
224
171
176
212
185
203
236
205
156
145
204
146
217
214
170
225
172
145
195
202
206
146
162
190
184
146
273
173
176
203
173
272
192
145
214
155
273
190
199
168
185
179
258
241
176
199
180
144
153
198
195
241
201
229
170
214
168
200
210
238
200
179
229
186
150
209
198
230
191
176
172
151
194
150
170
143
252
227
167
176
161
179
169
252
181
145
178
217
248
178
208
184
157
128
164
246
138
122
197
201
210
202
186
224
143
176
173
164
130
247
119
175
256
210
213
230
233
191
201
197
217
145
146
194
184
206
188
177
191
155
143
231
203
224
146
185
204
236
172
200
246
146
179
153
270
130
177
201
168
164
281
130
191
185
202
257
205
241
219
201
274
168
115
217
143
284
164
210
175
258
221
235
130
204
267
291
217
159
143
145
228
146
187
150
191
185
129
166
129
132
236
255
186
115
146
200
234
197
182
197
234
204
188
199
130
173
122
238
154
191
131
208
216
222
129
183
138
133
204
174
133
144
167
205
251
176
165
181
143
261
250
146
240
191
221
186
115
168
204
177
129
211
182
155
256
216
156
200
215
187
202
146
270
253
254
178
242
230
174
131
129
212
146
174
231
129
172
173
198
236
189
170
184
217
211
130
166
184
129
228
130
143
203
150
145
217
146
185
221
179
129
202
205
146
178
179
192
155
182
204
181
251
205
190
213
115
210
152
205
166
130
250
162
243
168
173
176
173
162
243
242
216
246
188
274
168
166
242
132
254
171
229
209
129
181
162
210
176
171
259
218
150
157
180
184
258
155
211
230
182
204
180
204
115
277
165
247
129
193
206
177
299
172
184
166
183
162
130
214
238
215
184
210
211
242
178
198
157
186
246
115
129
179
214
172
204
201
211
200
227
212
129
164
129
233
173
175
166
250
213
156
237
172
115
133
173
158
168
130
236
157
190
169
173
178
180
246
182
145
158
214
146
233
146
130
212
155
174
190
173
158
115
145
157
161
143
214
176
173
179
186
138
166
179
182
168
181
173
179
115
263
219
192
176
207
199
185
183
179
249
176
190
224
170
138
129
133
173
229
190
122
214
174
202
145
209
216
185
201
146
188
170
200
213
202
162
217
201
204
229
248
249
204
189
146
187
202
153
198
182
204
128
235
156
249
203
230
211
193
176
129
180
189
212
184
191
190
229
208
219
179
176
202
239
149
191
162
211
149
203
221
205
168
173
179
176
206
197
250
191
146
176
180
146
214
246
144
176
214
197
204
248
211
246
211
259
167
191
205
194
149
207
151
145
157
200
215
217
168
215
183
172
204
211
182
130
232
216
183
183
236
180
149
146
195
250
179
115
176
173
141
238
143
207
230
201
210
184
150
145
220
151
201
132
269
176
240
280
169
208
203
173
225
172
222
195
244
205
201
224
256
176
205
259
288
249
214
206
184
168
200
182
217
214
238
194
204
188
202
158
192
146
198
236
173
179
143
216
184
177
252
170
168
129
218
186
166
183
173
245
156
235
158
146
291
165
173
166
176
164
194
217
258
146
159
184
150
240
196
168
201
184
270
162
207
230
143
171
164
206
247
143
296
173
216
189
202
169
206
130
129
172
115
179
215
176
177
187
157
155
283
161
163
229
204
187
198
199
178
185
188
155
115
222
182
173
217
175
150
210
193
166
129
252
214
183
173
227
158
178
180
199
145
173
271
181
188
155
227
169
133
205
168
163
236
182
217
209
182
199
156
282
251
173
288
145
194
150
155
182
216
200
160
214
146
217
207
217
191
168
170
230
138
129
204
221
130
169
200
210
149
184
166
173
230
268
146
115
190
164
133
206
238
164
221
185
238
180
130
153
159
212
244
176
223
192
202
169
185
193
144
179
212
194
259
162
171
146
210
158
178
210
155
150
234
208
227
274
219
173
229
133
178
170
203
207
149
214
184
173
129
228
212
200
185
200
133
180
261
173
261
185
176
256
143
162
238
261
208
179
173
222
210
173
149
171
145
202
183
130
232
181
217
130
217
231
224
186
204
192
166
183
236
197
187
204
161
190
202
185
141
168
130
115
234
164
156
204
180
158
143
166
146
181
209
209
283
258
191
254
246
208
192
231
236
195
277
182
195
129
214
189
240
176
293
283
129
174
184
169
165
263
222
266
156
211
186
185
194
171
161
246
177
185
162
255
203
182
214
173
146
183
199
229
156
225
222
185
214
210
143
156
184
200
182
234
130
146
166
197
149
185
156
216
175
239
236
198
158
181
239
165
128
230
168
192
173
199
168
128
160
184
171
202
155
146
194
200
181
215
145
129
183
169
233
129
210
218
239
173
146
187
173
198
145
166
191
252
219
202
129
195
173
183
130
238
172
193
133
193
229
185
191
335
287
150
210
206
143
221
192
180
181
212
146
179
222
183
184
217
201
206
296
209
129
146
231
242
180
230
288
170
173
245
256
146
196
176
162
263
173
144
160
221
162
144
257
179
200
210
210
179
190
240
168
193
129
176
162
230
203
203
241
189
182
158
195
186
173
196
211
204
133
176
164
263
173
202
179
231
204
176
151
309
177
249
277
168
176
189
180
185
221
188
195
145
229
160
157
161
226
174
146
278
200
173
129
211
185
180
159
256
175
183
226
238
175
200
238
182
204
224
191
169
133
207
205
184
207
173
210
144
164
188
187
233
185
185
129
221
262
158
204
179
133
169
182
207
180
129
142
286
210
216
180
162
166
240
221
202
200
219
201
194
250
130
210
238
218
146
180
173
160
129
189
201
157
226
185
174
149
214
199
179
259
214
122
162
209
178
269
192
238
173
187
203
208
214
190
231
183
146
212
230
258
168
263
181
228
130
162
164
175
267
204
188
150
186
253
214
164
169
261
156
164
335
169
173
156
204
163
176
130
227
201
199
182
206
208
175
156
168
239
217
147
169
146
143
179
231
219
209
158
222
194
150
159
203
122
167
212
215
181
247
144
178
165
183
173
190
203
240
190
188
162
239
212
213
176
208
158
264
146
146
163
195
212
201
189
208
206
271
174
179
164
156
221
239
166
249
238
203
133
192
129
270
172
204
275
180
130
229
168
202
262
146
129
195
228
211
239
208
143
211
160
155
181
210
229
130
247
150
237
213
185
223
230
210
169
129
223
168
199
256
183
210
204
122
185
162
178
319
204
194
149
199
158
241
235
166
225
234
243
200
191
169
195
210
213
217
191
189
210
115
210
145
197
239
204
168
204
205
202
210
252
217
178
153
204
200
162
235
160
162
201
180
190
146
204
164
143
190
146
211
186
250
156
187
217
173
174
161
115
158
203
222
252
146
265
225
182
227
166
176
189
264
162
200
168
190
214
190
143
168
176
157
184
162
197
204
129
299
331
170
251
206
176
145
182
260
174
164
145
214
145
158
174
186
129
210
219
150
225
230
211
274
181
160
171
184
155
173
259
155
184
128
163
211
230
177
266
209
219
178
197
164
168
133
228
230
210
188
197
183
171
176
233
237
216
204
213
201
179
129
222
173
222
238
207
181
137
204
182
162
259
176
163
146
241
162
166
190
245
203
239
148
176
259
250
207
168
180
162
160
143
204
161
273
196
261
173
176
234
173
146
216
215
205
204
162
179
210
185
209
146
243
160
203
168
181
176
152
217
201
149
143
222
204
157
200
164
143
145
155
203
221
289
178
206
256
202
171
192
256
189
210
211
183
146
189
145
252
184
187
227
168
217
219
153
204
148
279
158
173
203
335
189
133
164
168
178
168
183
190
197
213
223
185
149
191
155
133
170
211
256
176
210
225
216
212
192
173
178
236
168
238
151
201
231
178
200
246
171
149
210
290
217
173
164
189
210
191
130
255
198
229
129
168
247
243
146
213
164
141
218
242
158
195
230
155
129
231
214
206
210
179
210
201
202
209
212
179
141
188
194
236
145
206
157
184
261
188
172
192
281
155
231
133
129
236
201
222
261
182
173
196
234
182
210
236
186
238
234
174
131
173
255
191
157
202
130
173
176
235
179
187
184
174
220
146
185
168
225
176
161
226
198
186
166
173
156
191
157
224
217
174
201
173
173
230
169
225
190
238
211
130
200
157
162
183
204
177
195
164
202
204
180
173
185
173
168
122
188
181
182
204
173
174
247
146
192
201
173
133
274
228
234
170
189
129
130
200
185
204
250
192
194
179
270
194
160
169
182
169
247
169
168
149
140
173
200
182
176
146
164
197
164
200
221
155
146
239
181
201
182
151
190
229
161
164
181
115
185
146
206
130
258
119
141
276
129
230
218
179
231
247
261
182
146
230
191
184
220
167
180
185
246
230
130
185
184
149
173
176
225
259
143
203
244
181
199
201
222
188
183
133
158
180
179
226
130
210
194
162
208
199
185
178
168
130
172
258
204
182
164
176
256
150
198
198
143
184
224
189
190
186
258
156
158
182
156
217
217
251
193
143
191
169
173
200
145
173
196
188
133
176
195
182
188
155
187
221
146
146
166
231
176
199
143
211
115
254
200
175
260
115
173
243
145
180
168
211
186
242
167
200
176
145
191
203
264
173
227
149
206
180
179
175
202
222
197
183
146
176
249
202
216
179
145
188
210
146
182
143
184
212
129
167
191
228
179
146
179
184
115
226
210
204
189
243
138
200
128
261
209
282
173
246
205
184
210
164
214
158
188
246
221
170
143
210
274
168
244
228
182
164
160
217
129
217
119
179
161
218
201
145
146
252
228
182
168
176
202
193
248
230
176
183
167
146
204
130
226
133
174
224
214
201
209
194
186
159
163
200
252
178
202
185
184
168
146
146
192
238
182
206
181
213
289
206
156
133
248
211
218
130
146
150
250
146
218
236
248
184
160
232
179
156
130
235
176
150
144
262
261
160
222
215
225
287
224
194
224
204
189
171
181
179
202
130
180
170
246
229
211
335
210
190
243
162
174
227
146
194
217
248
206
161
202
246
145
175
146
225
242
177
143
209
204
234
211
191
260
262
209
146
198
156
184
133
227
128
200
189
157
185
176
187
143
156
150
206
130
178
238
176
149
143
164
169
210
170
216
281
160
187
192
159
210
180
202
149
199
184
164
250
234
144
151
195
129
264
232
146
266
147
209
156
204
130
129
160
173
207
238
230
168
204
178
236
129
196
146
240
183
227
149
228
256
171
130
156
162
211
206
163
177
201
158
173
275
251
246
225
221
171
206
214
239
169
204
183
176
310
115
156
172
130
129
149
178
219
185
174
168
236
195
176
176
217
260
193
157
250
215
182
129
172
151
229
167
206
141
162
259
194
115
175
119
168
183
204
173
217
203
129
195
235
195
194
226
169
182
201
141
245
203
188
184
141
153
230
179
179
145
168
160
170
161
221
173
115
210
190
162
151
193
201
185
195
286
321
179
179
203
214
187
182
177
191
143
159
130
237
177
205
209
198
217
201
184
164
173
206
138
204
204
234
220
143
145
204
216
226
210
209
246
256
201
239
200
229
182
220
234
197
155
155
280
171
209
201
158
259
129
176
165
178
195
252
149
239
146
129
237
166
189
211
158
214
204
197
150
200
146
175
129
177
192
206
172
169
191
146
181
180
182
211
182
173
157
172
204
191
272
204
277
130
159
129
130
173
245
242
174
217
195
180
191
248
204
233
217
133
216
288
239
211
183
144
184
240
150
129
270
241
218
236
181
175
189
155
245
143
262
186
247
168
176
130
164
182
145
255
228
202
182
242
182
155
183
206
206
188
244
166
233
173
172
169
175
241
173
211
130
209
178
204
190
155
204
243
254
186
160
239
240
185
206
211
226
204
210
182
231
171
219
174
261
197
156
217
202
235
213
130
188
183
217
219
164
237
176
169
179
184
158
185
232
199
188
129
178
260
176
187
157
168
150
158
158
180
241
129
176
210
176
204
168
213
162
130
143
160
273
173
252
115
236
238
146
207
181
179
228
184
184
211
149
231
230
191
202
143
150
203
287
235
242
145
236
168
221
211
179
239
220
179
202
172
254
245
130
169
220
206
168
176
222
238
130
194
153
155
184
202
194
256
159
257
174
204
185
210
224
176
173
227
218
192
188
201
226
180
236
201
130
266
185
205
186
217
206
200
238
213
130
173
178
204
215
219
166
157
200
176
265
173
190
173
178
252
202
173
155
145
241
191
184
217
128
174
209
261
129
217
168
222
173
236
201
221
173
191
204
183
176
201
182
243
204
184
185
173
176
202
241
175
129
206
214
129
270
129
184
209
158
175
212
190
129
184
215
191
213
173
129
146
128
178
129
230
222
197
206
164
264
217
173
211
176
230
182
217
166
168
182
191
176
228
157
173
129
204
204
173
176
299
143
158
192
188
217
119
185
133
161
150
172
239
247
217
179
176
174
195
189
225
129
155
138
189
236
201
160
189
221
184
150
213
210
236
192
167
159
201
210
169
173
200
210
281
214
243
153
179
169
191
194
203
198
178
175
206
199
258
228
166
133
156
165
133
198
219
158
179
190
228
198
204
238
150
189
163
191
130
198
144
231
162
192
143
187
164
129
129
230
155
176
248
165
236
195
183
146
138
158
166
252
231
209
162
158
158
199
204
221
209
146
267
251
198
155
195
206
180
174
205
210
230
156
201
176
204
182
202
194
186
207
173
212
212
161
165
150
226
197
200
226
122
150
193
184
156
179
200
182
216
185
261
178
179
230
155
130
202
144
173
181
180
224
183
217
166
195
145
130
146
153
174
155
216
146
230
237
206
183
189
202
169
219
217
194
172
229
185
188
138
145
211
182
206
226
224
179
187
261
147
240
153
206
184
174
151
193
157
229
160
167
209
236
219
202
174
210
230
204
160
201
193
199
174
180
122
129
231
130
160
129
145
187
217
184
183
176
259
147
233
156
178
250
190
173
185
153
180
335
222
171
195
205
184
225
225
244
128
155
176
115
193
129
279
210
147
175
210
145
181
171
204
173
230
178
174
183
129
308
173
240
200
160
219
156
212
248
212
335
194
171
164
250
201
201
208
195
185
183
173
225
247
191
239
178
146
264
213
162
263
241
219
234
200
216
180
214
181
206
238
180
194
217
132
158
130
168
249
188
234
130
173
141
184
174
130
203
160
188
261
155
152
264
254
176
202
209
218
156
177
178
191
178
186
156
155
188
335
180
181
176
259
130
237
141
184
146
162
188
215
191
254
194
206
233
166
252
160
212
194
208
158
173
184
161
167
143
240
155
170
184
162
239
176
138
252
153
222
173
204
153
169
231
146
166
239
197
210
208
132
129
242
196
188
236
203
200
271
115
243
173
225
178
287
158
205
176
146
189
200
178
173
229
260
181
218
150
146
191
146
156
259
168
180
157
201
171
147
168
129
204
262
143
173
240
242
179
257
237
193
178
283
130
238
146
209
200
223
222
221
203
215
188
115
129
225
212
284
155
144
191
162
141
227
164
146
158
168
191
170
201
202
202
201
245
155
150
217
246
172
176
217
236
166
238
240
182
200
181
246
147
216
168
176
228
255
115
177
230
238
168
169
335
241
217
147
149
186
158
265
143
129
165
115
197
192
335
219
343
129
217
205
183
214
178
192
250
258
158
193
257
173
202
197
202
146
156
176
264
202
235
226
164
210
184
160
190
130
129
244
182
205
115
220
161
300
145
189
239
182
143
149
133
168
206
159
173
262
173
176
237
176
252
200
205
178
209
119
175
204
184
169
180
248
221
161
155
184
174
193
181
145
152
222
145
211
173
130
191
206
226
208
178
202
161
183
145
166
173
204
303
143
210
201
150
160
122
202
212
182
171
203
169
204
234
240
180
149
253
206
196
130
246
300
190
203
220
173
225
161
244
146
204
133
146
143
115
201
149
204
221
202
217
232
274
242
222
129
157
176
182
191
146
239
166
208
195
178
264
192
230
191
193
208
133
208
143
133
183
192
242
145
151
170
231
201
164
200
191
218
238
186
190
155
146
210
181
143
214
172
210
221
203
162
162
133
129
307
182
173
143
213
170
252
271
170
198
129
162
202
259
156
225
173
204
213
248
171
201
193
178
212
177
205
155
176
151
205
239
204
218
258
184
217
176
149
179
133
178
262
193
258
146
205
173
222
201
262
138
183
156
141
115
202
204
179
191
161
218
251
212
186
194
237
146
204
258
129
183
129
197
204
210
128
210
239
230
180
230
129
191
169
180
230
256
164
224
165
129
204
223
162
189
145
183
264
204
251
193
170
238
129
162
184
203
201
167
157
189
145
162
229
182
162
153
233
259
181
211
129
203
164
128
174
174
225
183
141
198
187
161
173
230
156
215
178
173
187
199
211
222
158
146
184
230
173
187
211
122
201
152
245
208
275
265
146
174
186
274
181
184
175
170
193
146
197
165
202
181
230
234
173
252
227
198
143
159
186
261
238
206
191
180
166
202
115
224
178
205
199
173
195
155
229
178
179
174
231
185
130
213
227
199
174
173
173
183
325
183
161
238
166
164
237
149
166
129
173
185
141
230
208
192
218
166
130
221
191
129
193
115
236
170
173
178
209
191
249
260
170
218
219
165
236
290
239
147
201
185
217
210
211
155
157
146
189
164
275
187
166
210
143
212
133
228
195
158
280
258
236
204
129
129
170
188
217
131
206
204
145
168
167
129
196
166
194
156
133
232
213
129
160
210
181
221
155
179
183
179
265
301
115
176
181
162
176
188
208
254
222
182
213
201
173
180
180
214
262
212
164
166
204
200
225
179
202
183
176
130
213
195
173
217
128
205
202
130
130
175
225
193
230
203
159
322
168
187
196
129
192
115
201
183
230
206
237
203
226
145
167
215
213
223
265
130
132
238
223
206
261
186
130
221
226
129
287
176
251
227
165
231
173
156
180
211
129
204
157
187
217
204
167
222
218
214
143
230
256
318
204
206
164
252
182
201
223
216
249
122
235
201
119
156
195
173
221
205
115
158
203
173
201
174
157
161
182
190
171
254
211
130
189
210
230
187
191
210
145
176
204
175
143
151
176
182
192
184
133
160
152
204
230
279
212
200
265
194
198
173
156
201
188
164
265
145
156
194
173
162
214
210
173
153
203
250
242
184
236
230
143
254
214
199
201
204
171
184
150
210
205
173
214
181
185
210
201
222
173
130
204
257
179
164
200
237
115
176
146
155
195
184
132
184
204
235
217
323
146
168
141
283
143
183
208
178
228
146
176
133
199
155
149
161
158
229
194
200
155
183
191
130
201
189
204
155
204
235
227
155
162
131
202
201
146
189
233
179
132
225
184
189
267
168
216
204
176
209
133
198
253
145
165
157
217
195
174
143
259
210
223
282
225
275
173
206
202
129
267
142
248
277
221
263
251
204
162
143
182
225
201
204
153
130
174
265
307
224
201
262
173
287
208
194
206
261
211
300
203
182
176
155
176
220
209
189
184
190
214
216
183
216
239
202
234
227
169
179
172
248
238
168
195
210
220
190
188
173
115
206
130
229
168
129
195
180
195
216
217
249
130
186
146
195
146
188
156
158
203
181
166
259
171
228
206
201
202
161
210
257
133
146
238
200
210
243
194
240
218
157
115
115
231
173
264
259
155
161
170
230
184
176
225
174
209
143
227
168
223
132
287
199
169
176
129
132
162
192
249
160
122
184
208
185
187
300
129
230
194
228
159
275
259
261
249
225
204
226
230
164
178
180
255
146
250
228
232
217
211
217
182
141
249
211
201
156
130
225
224
156
210
238
264
247
170
191
145
133
143
256
162
256
281
164
133
132
159
138
230
206
158
295
201
192
204
221
145
183
183
179
204
217
164
197
166
206
236
236
173
157
184
145
214
149
183
217
168
283
158
210
176
258
129
164
296
170
190
179
200
209
260
182
264
153
211
206
230
257
242
156
185
214
224
130
169
189
151
131
173
174
160
191
210
179
184
191
193
157
115
150
174
182
229
218
204
162
176
260
199
183
176
199
149
204
237
258
264
184
168
173
193
159
145
234
287
182
212
196
198
144
227
229
184
204
211
129
214
232
207
217
178
181
195
172
182
252
227
180
186
160
176
157
173
204
176
143
115
182
173
203
200
190
146
171
204
239
231
145
149
213
146
160
230
262
178
267
162
194
146
152
227
171
171
165
211
195
204
264
151
207
257
209
146
207
129
198
221
182
199
152
218
174
261
133
176
153
215
266
228
146
239
194
192
170
213
162
167
227
214
188
256
182
231
184
204
230
190
200
214
157
183
164
169
203
189
230
178
233
173
129
146
168
179
133
141
175
197
217
183
204
263
180
173
257
164
182
204
168
194
201
302
115
133
210
169
143
146
183
176
158
243
146
179
173
212
173
187
145
145
146
129
150
267
255
179
130
287
176
269
202
165
146
143
143
198
226
264
156
143
221
246
206
145
269
129
233
225
178
129
145
210
224
184
200
225
177
185
198
179
129
226
190
130
200
197
249
174
176
173
131
217
259
185
209
166
183
183
184
129
184
183
194
181
225
232
158
191
130
200
222
204
132
217
213
171
160
174
193
184
221
143
183
246
191
210
231
143
209
182
169
173
210
202
189
174
258
200
133
179
204
157
166
214
145
236
212
158
204
146
170
231
166
174
193
159
138
130
146
225
146
166
194
194
133
180
209
176
221
143
165
133
146
146
277
204
175
190
182
140
181
170
164
157
176
217
201
208
173
156
258
251
266
155
206
173
201
183
206
168
180
280
217
149
176
222
146
184
209
299
157
180
199
229
243
186
210
129
214
210
146
176
195
160
201
146
295
203
192
252
239
170
207
241
205
211
161
234
138
238
186
210
173
171
164
161
243
144
211
115
144
220
206
146
185
168
210
232
205
183
210
266
193
182
155
225
145
186
213
280
189
257
191
115
185
176
181
227
233
176
206
178
173
271
193
258
166
215
188
162
256
130
231
166
187
164
200
178
297
128
157
145
130
176
165
219
204
122
207
254
224
213
217
201
181
204
166
168
178
158
173
185
146
200
222
242
204
210
183
170
169
193
168
248
189
130
159
236
157
150
215
182
287
217
222
216
209
230
211
212
238
175
146
221
168
179
212
314
221
168
182
200
222
204
157
214
179
225
170
199
129
115
170
207
217
155
186
146
183
236
145
129
230
214
173
199
209
183
182
220
191
207
168
251
236
190
176
204
144
201
182
313
210
182
273
172
208
272
193
204
203
115
119
138
138
215
179
173
217
130
146
199
241
115
130
288
202
146
179
133
170
115
177
198
182
187
162
129
145
146
194
185
156
115
253
178
205
278
190
236
171
129
228
200
128
155
145
211
169
221
133
173
189
257
184
183
235
194
229
146
181
250
178
183
173
221
210
169
188
143
239
156
211
229
158
179
212
156
154
157
213
129
133
211
261
210
244
335
201
214
200
215
215
129
200
228
184
115
130
198
163
146
119
173
270
141
202
174
183
217
217
225
129
161
176
152
151
202
199
206
262
138
194
146
258
141
168
200
197
223
165
233
162
266
239
254
182
217
129
161
180
173
201
204
191
130
130
230
231
210
129
208
192
230
185
130
162
199
204
183
173
130
242
221
146
199
174
222
247
230
165
179
146
224
193
129
211
129
283
255
130
217
238
203
179
211
169
173
236
180
201
240
152
192
181
171
252
246
268
287
179
190
129
143
195
218
200
179
179
183
204
231
178
206
181
115
213
376
182
187
156
226
179
215
204
181
146
201
179
228
156
264
164
217
204
266
217
171
169
200
191
191
223
204
205
201
226
199
186
232
182
182
230
252
164
138
168
292
234
182
146
191
129
188
247
211
146
181
176
184
130
230
170
210
263
180
216
259
176
158
182
223
238
178
182
155
225
182
252
192
180
304
206
166
183
146
155
189
143
211
200
133
210
239
145
174
199
177
129
153
204
194
184
201
189
205
190
179
270
204
187
257
221
240
143
179
239
169
233
180
206
210
251
145
335
164
130
234
222
194
233
209
129
122
254
227
190
184
176
201
194
182
210
207
176
235
202
152
145
176
183
180
194
164
280
176
304
212
202
183
152
230
238
173
179
160
203
230
115
115
201
209
164
283
181
201
203
192
166
243
247
191
208
208
210
160
211
176
208
190
252
242
175
255
181
173
263
218
132
145
200
283
259
167
191
182
178
241
306
244
251
144
275
151
130
248
176
211
218
155
130
257
248
176
199
147
164
129
187
145
180
217
197
158
202
202
209
143
181
200
174
192
184
173
147
253
141
283
191
202
238
223
187
173
177
263
159
145
156
180
198
286
131
184
193
164
248
285
186
179
217
162
182
174
197
335
157
221
156
216
186
217
178
217
258
197
146
129
230
199
216
224
164
236
247
166
201
217
191
158
214
202
239
173
129
164
143
160
229
224
214
147
211
214
203
146
210
249
164
239
301
210
217
177
172
261
129
158
164
223
160
155
181
202
211
202
179
195
173
130
246
231
130
182
229
146
133
143
184
208
141
129
185
281
158
216
234
179
146
122
178
129
204
166
218
183
130
129
173
168
206
133
200
187
204
258
158
183
193
185
213
138
150
192
152
143
173
166
227
145
115
259
184
249
224
260
207
182
296
235
176
186
128
231
353
122
183
180
192
224
211
166
181
146
286
239
146
115
269
146
255
146
201
234
122
161
249
210
181
256
206
166
300
232
203
149
233
213
141
129
160
133
168
185
122
162
190
200
130
225
216
205
165
206
129
173
210
206
232
155
179
206
185
234
146
133
115
222
195
185
193
176
181
228
129
133
178
173
237
217
192
214
129
176
173
149
160
222
206
161
138
175
130
157
230
129
197
204
179
146
184
181
183
225
191
204
243
203
236
133
133
209
245
252
172
189
115
237
202
191
129
237
201
210
146
204
222
210
161
256
186
115
130
122
162
200
226
205
166
204
155
158
182
174
176
254
160
173
184
146
216
178
235
280
176
201
160
237
174
254
230
187
238
182
150
145
115
174
129
156
155
240
228
183
274
231
178
173
210
155
207
192
204
157
210
158
183
129
206
174
185
210
160
129
146
155
225
258
146
230
219
183
210
206
186
213
199
230
178
206
254
259
150
213
201
149
173
201
200
149
211
182
199
241
173
200
162
151
227
191
181
204
179
185
167
248
202
173
210
155
195
115
214
241
160
252
212
143
248
230
189
191
166
202
184
237
174
217
206
201
258
261
291
182
168
199
255
240
221
145
225
206
159
197
193
164
210
217
122
149
179
218
222
236
201
129
239
205
249
144
230
229
167
202
248
158
162
217
191
173
203
179
256
231
122
188
251
183
178
166
191
184
129
190
165
202
129
229
158
159
219
146
178
253
201
158
210
192
275
274
146
208
144
250
206
195
241
204
146
254
202
182
158
229
214
186
239
183
221
211
207
200
208
180
192
200
201
192
198
164
210
188
195
149
199
179
172
198
129
212
206
193
192
133
186
133
130
169
200
204
267
240
198
194
201
176
206
303
198
230
239
146
220
162
149
221
130
160
270
210
181
213
129
146
174
210
168
260
144
205
206
184
247
176
228
218
143
183
247
235
184
258
231
222
168
165
227
224
192
187
164
229
221
180
178
164
115
201
183
228
197
188
217
177
184
222
230
173
192
217
192
244
207
238
184
159
141
222
189
157
168
238
210
196
115
156
194
215
255
197
231
176
225
237
201
171
233
204
164
211
179
274
244
291
238
229
169
195
229
210
204
276
143
182
152
206
158
229
241
239
173
174
222
185
189
130
221
218
174
115
156
211
162
213
153
205
196
173
181
205
129
173
182
130
210
200
195
206
192
189
168
182
254
239
262
130
253
129
245
146
194
158
263
161
122
184
173
211
129
262
122
182
177
173
208
145
199
164
162
236
178
129
183
146
250
201
244
212
185
173
115
198
182
217
169
200
234
179
179
161
129
194
132
169
141
219
206
207
205
176
146
170
158
173
261
238
179
141
227
191
138
218
162
208
197
205
157
160
130
169
267
188
222
130
187
193
169
173
158
164
200
202
169
193
185
150
177
272
185
245
173
223
244
184
197
164
256
376
252
267
219
129
231
170
176
129
150
276
251
217
145
203
194
174
238
207
173
201
261
192
178
266
138
173
220
200
208
184
145
227
263
181
173
204
182
189
236
195
177
178
230
335
252
173
219
214
274
179
199
211
133
130
199
202
230
173
176
187
191
204
201
226
188
211
146
240
222
178
231
204
237
244
204
169
248
209
145
129
236
214
201
147
162
141
173
179
204
259
202
173
129
243
145
246
230
174
182
202
287
192
261
189
190
193
212
246
133
221
129
143
190
209
184
207
230
200
155
179
231
210
236
187
171
204
130
216
206
173
206
179
203
206
200
173
146
219
146
255
197
258
177
128
207
217
130
155
133
246
200
222
145
193
198
204
185
224
238
186
235
178
155
115
232
247
200
182
185
133
189
210
202
176
150
207
173
216
156
206
180
263
143
133
133
198
164
222
242
130
162
265
210
146
201
236
217
156
150
144
185
229
205
183
246
190
209
174
213
222
201
146
211
160
173
209
181
204
169
170
173
296
176
225
208
210
206
209
270
194
167
183
214
270
175
247
190
155
213
242
217
130
115
202
210
115
129
146
128
229
158
201
201
133
201
172
262
232
218
255
178
179
173
180
158
182
130
186
234
146
192
145
195
231
130
183
205
265
145
145
171
176
200
207
130
226
173
201
184
182
249
213
225
130
210
173
243
210
168
185
169
176
178
215
228
201
186
215
202
179
230
160
235
239
247
259
128
206
194
204
176
244
173
202
213
210
168
184
130
258
173
246
218
144
208
158
207
166
191
179
184
228
176
225
183
179
210
214
186
130
173
182
130
194
204
164
176
209
173
303
217
187
211
200
195
259
190
176
164
164
176
115
182
158
248
231
163
164
271
224
220
216
115
203
182
232
203
225
202
176
175
217
129
183
211
170
227
274
200
162
236
146
143
176
203
173
181
198
158
187
174
176
162
186
167
158
151
173
166
176
205
210
202
202
172
166
184
151
188
238
214
189
185
210
207
187
197
242
186
146
145
230
130
138
205
201
275
129
233
162
201
214
242
130
181
218
242
176
194
193
245
226
226
167
173
210
162
174
192
146
178
210
188
221
189
146
245
195
225
180
146
162
194
230
173
210
259
143
212
201
168
190
217
192
260
143
173
204
205
195
246
182
180
145
183
205
146
213
221
265
212
219
130
173
210
225
286
204
206
132
280
168
161
203
143
171
191
149
235
174
202
238
146
239
189
204
181
168
191
199
224
206
197
201
205
129
265
197
224
172
146
259
214
129
264
167
115
159
150
187
209
144
173
119
164
256
239
227
190
158
193
191
153
228
268
162
194
301
168
185
165
198
206
214
200
196
176
211
171
202
230
206
163
176
173
184
217
217
175
225
162
275
129
138
151
132
230
249
182
263
238
159
203
182
184
223
183
259
270
153
173
178
152
205
266
190
130
182
209
204
184
202
171
182
204
129
184
155
174
158
183
234
204
141
230
211
152
205
214
164
133
202
238
151
204
176
176
129
204
202
129
179
201
224
287
156
224
229
206
306
254
204
173
214
206
207
152
178
211
222
226
211
201
130
186
199
129
238
239
176
184
157
241
174
185
264
184
236
153
217
181
206
277
204
194
206
178
261
164
251
209
216
156
204
236
192
162
148
220
209
200
235
179
213
238
178
184
164
254
189
155
178
178
176
129
161
201
115
129
178
203
216
196
129
274
130
252
181
164
162
219
153
170
155
159
205
146
263
122
143
191
231
187
192
146
183
165
191
200
231
188
210
184
251
208
258
288
184
174
191
162
130
200
167
210
172
185
176
162
179
192
161
188
176
204
146
158
180
129
266
184
168
115
210
199
173
138
200
173
185
145
184
122
248
239
200
130
174
190
244
175
244
132
149
165
133
184
204
225
217
184
151
184
204
252
224
129
168
222
222
145
129
187
150
160
144
185
146
191
152
158
254
183
205
171
200
202
256
238
176
162
206
131
158
160
160
200
242
201
211
161
210
173
214
143
210
204
190
229
239
173
200
212
238
228
202
141
184
158
156
175
261
179
191
197
211
133
192
158
164
204
276
155
266
195
173
200
236
196
176
187
173
201
168
145
191
184
167
184
243
236
183
165
132
146
193
190
146
138
119
211
132
208
202
176
168
133
258
200
190
216
216
158
176
208
182
178
173
205
201
190
130
237
221
184
201
155
178
217
203
133
173
129
227
182
176
141
202
229
213
196
190
214
150
130
237
194
169
217
155
184
179
239
195
153
211
251
325
186
191
192
216
257
171
130
173
222
257
275
256
185
214
197
173
170
184
179
209
156
145
174
178
192
164
237
115
173
178
266
168
169
239
173
168
179
184
164
228
256
230
130
201
175
141
130
179
143
228
216
130
241
216
206
297
156
207
214
131
153
174
204
189
210
198
295
186
146
217
168
204
193
240
173
230
200
214
164
181
177
168
143
210
171
244
239
179
212
178
188
239
217
195
164
227
171
185
201
182
201
239
184
176
235
278
210
184
197
153
247
160
258
130
238
156
129
231
174
130
129
210
192
217
221
206
242
164
264
173
209
256
259
173
190
180
173
168
204
264
179
184
230
258
176
173
268
158
198
188
185
210
199
176
173
231
202
206
143
270
179
156
204
200
162
129
145
208
210
204
160
174
164
249
130
158
180
189
176
169
167
129
250
184
162
192
274
207
162
237
214
143
210
173
164
176
162
173
183
196
145
209
138
205
183
185
174
146
212
173
201
205
169
182
164
261
200
259
203
240
149
179
173
205
224
178
200
225
173
228
244
208
221
211
168
195
177
162
165
176
210
210
187
179
239
185
146
202
264
199
143
173
207
155
240
256
184
176
291
164
176
228
239
191
129
168
162
238
216
130
189
236
158
254
216
188
228
182
217
169
230
288
202
179
162
161
145
132
167
172
200
187
223
146
179
202
261
157
237
174
195
259
173
133
204
133
201
230
242
168
221
175
188
205
251
145
193
276
188
129
115
146
179
184
205
155
218
181
146
201
146
215
230
143
207
166
182
203
264
189
141
228
267
202
129
181
147
165
210
167
180
129
190
130
185
172
160
203
212
192
171
129
174
202
200
218
231
170
177
188
230
154
218
205
210
167
201
201
180
218
269
203
161
214
129
176
292
300
173
185
170
158
230
182
162
196
268
191
200
194
169
248
159
232
172
227
204
236
194
179
186
236
181
199
206
255
157
130
157
203
259
227
210
178
172
176
210
182
178
203
166
202
145
180
145
164
238
206
209
182
179
180
189
276
217
133
130
145
216
173
181
227
191
130
210
211
222
129
207
222
146
187
161
214
234
158
180
296
185
216
201
213
231
252
115
194
273
133
210
210
158
195
235
181
197
166
122
197
225
176
282
115
165
170
188
184
206
247
202
239
189
245
238
174
149
161
235
228
224
115
173
151
204
146
222
129
288
173
128
115
188
173
240
229
201
173
197
210
255
185
185
145
182
264
249
226
171
160
215
197
243
193
335
175
173
148
161
176
204
185
155
250
228
181
163
227
246
201
129
234
208
129
158
256
165
179
186
183
179
204
115
206
176
187
171
192
191
230
193
173
174
234
217
157
233
188
230
175
217
201
182
169
230
183
254
203
146
256
187
130
237
198
233
160
195
138
168
231
236
172
188
122
168
200
187
262
198
177
201
190
133
189
195
223
237
221
230
160
180
172
242
208
179
172
214
147
256
158
203
130
190
183
218
173
217
128
206
202
206
218
209
200
220
201
211
244
211
158
191
155
195
200
129
182
129
130
220
188
115
227
201
208
258
194
240
256
261
209
228
219
202
186
216
206
258
230
191
204
205
225
149
219
257
201
242
171
192
239
229
260
188
152
175
252
197
186
165
258
158
261
179
257
164
172
217
129
274
210
171
182
174
173
182
182
251
207
176
250
216
173
206
183
181
173
146
192
271
178
115
203
176
158
204
261
158
176
132
210
206
161
226
158
145
182
227
230
217
219
238
208
165
206
130
217
143
115
168
256
166
206
274
220
168
190
255
130
200
194
273
204
246
204
193
158
191
208
239
292
169
243
201
207
232
129
233
212
179
181
168
192
151
141
236
195
129
214
201
193
228
194
322
146
157
202
198
212
173
151
130
168
171
210
141
208
197
189
143
204
231
252
209
227
188
178
115
130
150
261
173
225
130
281
271
185
185
129
213
200
279
185
171
210
159
266
289
247
129
175
227
294
215
198
205
173
115
227
164
233
202
203
183
180
280
247
210
265
173
194
178
241
172
217
236
202
183
115
133
200
176
231
255
144
238
204
186
175
149
145
195
173
173
162
157
150
182
176
261
185
190
170
230
185
164
179
231
238
230
244
173
164
154
234
217
210
169
173
241
160
130
128
188
162
168
213
235
247
146
170
274
183
152
264
146
175
191
192
145
280
168
173
205
172
255
218
181
143
156
204
209
132
168
204
207
216
158
146
146
172
209
296
200
174
161
150
197
193
185
240
225
228
176
205
295
210
196
258
197
130
187
213
279
176
226
244
299
218
179
184
169
247
130
233
130
169
145
206
173
296
130
214
141
185
115
191
200
188
138
221
173
130
246
233
129
142
255
143
133
208
129
256
273
240
190
209
217
207
192
264
259
130
216
219
181
217
227
206
215
129
129
182
180
158
190
141
185
143
146
167
214
185
176
160
173
239
129
141
229
199
179
183
176
184
162
233
201
216
250
169
171
214
247
230
282
207
210
176
184
239
229
157
153
173
235
200
192
158
188
184
204
146
215
256
199
246
248
146
202
202
128
162
146
209
272
181
145
198
179
253
242
157
211
271
185
158
201
202
184
266
230
146
210
239
162
186
209
146
220
249
200
226
168
129
167
130
176
245
207
200
228
204
211
163
222
181
296
115
176
185
255
215
235
238
227
264
214
244
181
191
156
202
213
163
212
145
189
173
238
180
204
167
238
182
261
176
189
145
184
205
208
179
146
156
176
115
153
211
262
176
225
197
119
155
214
174
129
192
146
129
156
211
235
133
190
207
182
198
274
156
189
196
169
212
155
173
222
217
193
231
176
211
197
176
130
185
202
191
236
218
191
255
186
230
190
210
201
149
188
210
215
141
248
201
146
231
186
206
165
247
228
247
195
146
208
130
217
210
180
202
268
229
232
173
208
244
247
144
130
129
174
217
214
208
160
175
230
156
283
242
230
192
183
205
271
174
129
155
146
220
204
204
209
217
146
149
200
225
182
173
130
191
164
146
258
129
235
144
150
217
166
238
181
130
167
122
229
229
219
130
211
179
185
189
261
173
143
235
217
184
187
150
227
299
269
132
179
300
162
182
204
193
165
176
153
146
229
186
176
146
199
188
220
217
146
202
210
175
151
191
258
168
217
145
186
164
145
130
150
257
190
250
187
238
227
155
182
161
152
229
236
171
256
176
187
144
209
214
211
184
190
176
197
141
176
143
158
204
237
199
236
224
190
198
217
187
280
189
195
188
130
195
133
169
221
145
228
200
185
192
225
210
181
150
171
143
234
146
160
221
274
211
164
215
205
210
192
215
231
198
239
179
153
231
169
179
174
209
231
200
259
156
155
129
184
178
256
251
130
216
231
179
245
229
176
194
216
159
173
185
193
232
213
221
255
138
184
202
234
210
262
188
146
129
145
169
224
204
228
164
165
230
146
281
146
168
158
160
143
210
273
257
214
168
155
184
155
173
138
236
186
145
130
130
222
212
189
187
242
194
217
238
180
200
152
254
162
129
268
182
179
184
204
164
178
151
157
184
180
233
230
264
189
158
176
243
172
219
200
238
227
181
200
208
204
217
115
203
283
180
183
256
176
168
237
130
173
212
160
265
202
185
174
160
238
156
146
237
153
158
221
201
217
216
188
161
190
185
217
179
240
194
239
149
169
210
208
182
202
217
217
149
247
247
239
164
183
188
164
185
222
181
180
176
194
204
152
227
133
262
180
169
194
200
265
180
258
241
166
176
263
228
173
157
217
167
261
173
222
263
146
176
158
256
191
187
185
265
153
192
222
193
207
169
191
203
176
146
229
129
264
169
229
239
146
222
183
226
177
184
182
192
201
210
205
193
145
217
178
241
233
194
199
211
184
176
129
130
226
182
222
210
200
199
173
191
218
176
188
299
171
175
210
119
204
205
130
115
186
244
173
247
228
221
261
193
289
236
184
133
204
181
183
233
219
258
211
222
169
133
186
130
179
194
182
275
173
151
158
244
155
144
197
230
218
191
250
219
221
185
184
158
162
188
145
182
242
162
227
320
204
270
179
145
158
194
170
184
160
182
182
303
133
200
191
204
145
166
242
130
224
255
149
145
224
210
129
138
229
170
182
130
200
176
143
170
206
171
158
187
192
281
231
264
191
281
179
159
219
202
210
167
130
214
204
201
168
230
179
146
201
174
209
158
174
225
200
178
146
194
213
182
204
212
161
214
273
201
225
184
204
168
282
173
191
176
297
176
256
144
232
210
238
254
242
230
263
168
164
192
176
182
143
202
195
218
180
204
176
131
185
168
191
130
167
164
191
158
202
172
306
248
162
172
222
179
156
236
220
234
211
237
178
202
182
130
164
203
203
174
164
188
129
178
195
173
190
202
176
201
200
210
191
173
179
129
146
243
205
164
180
191
186
184
152
277
164
236
248
169
204
245
183
238
183
164
212
217
186
191
129
160
150
156
191
206
145
168
130
173
176
176
246
143
210
163
185
166
254
129
187
209
258
129
204
264
186
181
129
170
162
173
155
169
274
129
182
133
209
186
188
188
266
191
192
269
168
174
133
191
201
179
202
185
179
182
212
204
233
188
246
210
191
238
205
173
223
164
147
138
190
173
183
181
207
149
161
182
194
168
239
214
162
186
187
248
232
211
255
164
230
179
222
230
220
201
263
211
173
206
191
207
129
201
168
243
183
146
235
191
146
218
205
287
144
204
244
115
145
141
222
239
160
145
161
152
183
203
226
164
211
168
143
222
158
204
214
172
179
216
212
238
172
214
229
146
133
173
191
176
229
201
162
201
214
182
181
149
129
227
211
234
202
186
191
176
217
174
264
176
168
168
194
173
209
147
203
274
210
143
149
189
247
230
184
180
175
202
210
234
204
229
204
168
239
207
174
205
230
223
167
195
150
164
165
199
145
169
191
189
280
167
206
216
177
199
180
209
173
157
141
264
194
252
150
171
246
210
213
206
202
173
217
185
216
185
176
177
214
214
239
179
210
128
235
204
146
183
225
188
204
180
186
145
189
186
235
225
235
171
231
207
213
176
306
215
145
197
161
204
229
202
130
129
210
236
181
165
146
247
184
129
206
283
146
199
257
183
176
173
210
176
180
167
166
129
156
206
115
239
181
183
173
205
178
178
155
217
209
246
182
226
167
132
179
223
129
216
143
130
186
221
294
155
179
202
191
192
211
190
200
145
149
183
240
173
149
211
254
257
133
130
248
183
217
164
186
177
217
224
164
201
202
144
183
185
178
182
207
173
200
130
249
222
242
210
181
230
179
225
184
171
227
205
130
221
185
176
257
166
195
200
186
223
258
176
158
129
184
202
179
171
224
212
249
254
217
146
200
197
169
249
161
130
172
182
166
242
169
200
173
205
186
145
161
207
184
173
221
239
176
173
158
143
241
191
185
206
204
227
172
143
182
176
335
206
173
206
234
207
207
201
194
193
179
216
182
129
206
199
208
180
197
204
206
186
246
190
182
201
177
216
293
217
158
250
207
156
184
202
222
249
211
145
141
218
153
193
178
202
178
188
160
129
184
191
194
173
176
181
204
183
204
201
178
130
189
191
201
243
214
262
305
204
221
255
233
166
248
201
200
296
149
216
244
241
173
251
234
258
198
202
186
228
173
150
199
180
179
200
183
206
167
205
184
188
260
222
187
204
229
182
177
227
224
160
254
141
248
211
204
206
236
164
174
193
143
145
204
184
226
176
166
215
236
226
119
240
225
266
204
222
179
158
179
167
149
168
129
209
178
165
231
133
214
180
292
133
270
168
300
288
257
164
251
238
152
209
203
144
176
207
183
245
235
130
157
173
171
130
202
227
167
190
228
173
240
155
180
204
181
165
188
204
182
192
181
155
194
130
261
217
210
269
266
145
146
283
168
209
158
238
248
230
210
186
145
209
238
146
173
129
204
141
143
174
158
160
245
173
168
227
264
235
270
173
218
225
176
201
227
130
180
146
163
146
185
264
169
180
217
168
204
291
202
238
160
203
181
179
173
150
146
185
173
204
210
265
194
166
164
129
178
155
219
160
204
179
174
204
307
209
164
188
169
166
257
161
174
181
204
234
149
225
161
196
222
199
282
186
143
156
204
164
133
206
168
280
129
175
221
200
202
237
141
238
168
148
130
184
189
179
230
130
183
216
211
129
182
115
197
188
196
138
211
146
204
269
147
204
192
202
201
251
157
279
143
185
209
164
262
204
170
130
230
246
211
184
222
258
231
162
143
149
169
246
151
239
325
220
173
222
129
238
204
222
166
182
261
130
145
210
160
149
300
229
202
210
199
152
256
148
230
179
185
143
183
219
211
250
236
168
146
164
186
176
177
215
222
236
157
145
145
195
185
185
146
295
240
234
191
239
195
212
160
246
191
230
224
146
173
129
277
216
237
175
146
130
156
231
206
217
222
162
282
185
253
182
158
201
212
210
263
162
205
201
264
158
138
174
195
189
210
262
166
230
214
133
204
146
217
223
212
210
191
183
211
129
130
256
168
173
246
211
165
224
150
170
218
158
237
167
211
274
225
183
151
115
211
244
130
130
227
145
244
235
200
179
238
169
173
211
231
151
176
180
233
180
237
218
162
204
202
162
286
256
190
150
182
178
160
197
181
192
161
144
188
201
230
158
220
188
181
246
147
218
145
256
145
182
132
162
167
209
206
176
173
141
146
225
173
255
225
147
180
173
252
146
266
149
205
212
179
129
146
182
115
193
122
250
236
164
133
234
180
190
231
200
164
173
130
153
204
179
168
247
212
176
186
203
178
217
143
176
130
236
204
216
217
148
146
188
181
196
184
157
225
293
192
141
223
184
236
160
227
145
194
129
166
216
115
183
188
217
202
160
176
160
273
205
204
257
236
225
133
178
216
219
179
186
146
160
141
210
176
130
195
180
221
169
199
129
173
185
203
162
190
138
172
206
173
157
166
187
173
184
227
150
162
191
186
204
183
156
203
180
246
246
158
178
176
160
131
242
192
204
129
260
221
185
183
210
164
203
151
176
133
242
216
203
173
176
192
197
190
146
181
194
130
256
192
185
168
202
256
176
176
214
247
184
204
252
244
211
202
150
202
249
266
204
133
229
192
222
236
162
239
247
200
173
173
188
196
208
202
150
143
186
203
246
217
176
201
129
213
115
146
218
235
181
200
169
180
173
258
230
208
182
300
199
266
189
175
173
213
238
164
217
227
210
217
208
184
182
207
166
155
200
299
129
221
210
176
146
173
265
214
173
184
180
133
228
212
208
143
143
210
173
182
208
211
190
184
138
144
191
176
203
152
164
180
184
223
216
189
191
173
143
251
180
193
155
173
204
182
146
129
190
171
234
166
232
173
182
173
158
287
217
206
308
203
202
227
261
244
256
226
286
259
179
213
115
210
214
241
180
230
182
176
183
184
162
115
130
179
216
180
178
182
292
145
183
129
221
182
165
182
166
269
193
260
184
119
255
129
261
185
175
196
147
186
186
218
230
193
186
131
188
249
145
133
204
178
213
176
255
204
150
199
183
195
257
172
188
241
235
146
200
161
189
173
271
210
171
236
200
238
238
155
215
239
166
168
150
213
195
174
201
187
249
152
183
130
168
239
158
206
163
129
267
197
222
188
206
212
210
149
182
239
180
159
173
229
175
158
201
262
155
190
178
158
254
189
258
179
204
174
216
173
217
287
151
183
217
145
129
210
221
230
271
191
201
220
209
204
235
185
129
173
235
184
227
164
183
183
128
228
265
195
238
156
183
155
219
198
176
131
210
146
129
171
175
152
200
158
234
198
145
210
194
185
206
158
327
200
191
174
180
173
190
129
256
158
218
168
205
155
275
189
159
239
203
207
275
188
204
183
191
210
236
178
270
236
221
191
133
210
164
176
156
211
199
294
217
210
161
207
160
188
138
133
258
193
150
270
194
203
161
215
174
204
151
232
130
271
242
181
261
211
184
164
115
155
143
280
208
230
255
211
229
231
200
189
191
159
175
313
146
145
129
324
183
282
173
249
150
199
202
175
210
182
201
217
156
212
279
204
157
145
200
236
204
197
199
176
214
158
164
177
249
214
164
253
143
335
270
164
214
225
201
144
185
186
249
173
164
176
173
179
162
145
156
193
174
222
193
229
164
133
184
167
172
216
192
191
173
146
203
217
173
162
188
206
189
229
187
225
129
205
210
182
176
221
186
172
171
235
264
201
129
168
227
273
212
168
129
180
264
225
158
213
214
168
214
189
146
130
229
130
228
182
183
204
224
226
264
173
173
242
202
178
183
190
228
159
186
130
230
160
210
209
148
230
171
176
216
182
202
182
211
174
173
152
138
173
130
297
183
162
206
261
181
129
204
129
264
160
204
158
169
145
182
247
205
141
204
155
207
210
130
166
210
179
210
221
217
258
146
285
188
217
173
209
201
214
179
179
199
280
138
143
182
133
162
115
221
238
204
240
173
128
129
188
204
273
247
149
267
176
209
170
247
172
178
143
196
228
146
217
267
236
208
176
256
260
211
204
182
222
176
207
143
173
128
179
214
263
185
168
162
200
202
133
185
190
210
204
153
212
164
236
228
226
217
183
158
252
233
181
203
145
217
204
168
170
208
218
150
173
236
173
153
180
179
176
257
189
264
211
145
179
129
191
157
218
172
248
214
238
214
182
211
157
234
173
192
203
274
210
200
222
167
241
246
160
150
283
252
176
183
167
195
239
342
173
158
145
271
171
220
241
180
188
240
237
183
250
213
173
245
208
159
230
184
212
178
176
211
204
173
190
204
182
231
150
156
181
230
189
204
239
173
200
229
173
162
201
202
259
174
204
234
193
168
226
208
263
164
168
231
186
197
150
149
237
129
217
173
173
230
169
217
169
162
176
129
179
133
214
181
141
237
129
180
221
200
230
216
129
243
138
158
211
201
146
248
119
202
250
129
194
225
321
249
203
180
190
258
187
186
146
206
154
176
297
204
130
243
169
129
236
157
133
176
181
201
256
171
150
209
172
143
157
151
211
221
210
146
129
130
176
188
230
209
179
171
179
239
213
219
189
143
264
191
183
179
202
158
129
149
150
221
144
169
247
215
202
215
146
229
186
243
209
195
158
130
226
164
206
207
201
145
185
230
194
221
175
217
138
202
176
195
196
215
178
129
210
146
138
210
238
223
196
168
195
217
217
199
182
308
183
222
166
193
241
201
139
168
191
181
193
169
217
178
180
162
230
206
209
206
182
194
188
133
283
252
173
191
186
192
178
180
151
179
172
191
238
204
236
130
239
213
227
251
144
141
219
170
166
263
254
273
218
184
185
183
176
167
204
130
210
133
184
168
177
228
132
254
161
145
164
175
155
146
171
184
278
166
204
229
204
129
169
155
143
180
200
143
129
236
195
208
181
173
162
145
206
175
227
199
279
235
187
145
257
235
183
204
230
245
204
155
244
179
283
261
246
130
193
200
177
217
160
209
191
221
168
203
222
188
173
189
176
204
215
213
204
160
201
183
242
157
130
297
192
254
173
158
200
163
173
176
133
202
129
158
227
176
204
187
173
205
184
230
192
170
226
211
193
202
190
204
247
184
211
201
223
228
162
176
115
194
130
143
184
204
130
145
285
172
217
190
204
210
275
173
202
198
189
192
247
129
179
219
211
200
204
193
185
189
217
200
188
179
206
143
188
166
173
230
179
176
246
155
180
186
255
210
200
210
266
231
162
190
224
169
204
185
158
145
172
173
146
150
167
162
197
173
219
211
133
173
145
128
209
212
272
200
256
252
200
143
203
153
129
205
233
188
155
164
145
183
282
150
188
151
225
187
229
191
255
197
260
146
204
195
201
168
216
143
173
204
216
158
128
248
228
161
264
130
200
259
217
191
185
129
178
185
138
207
217
208
178
150
168
239
129
146
184
185
236
252
176
161
130
168
173
189
165
176
129
206
138
178
147
129
143
149
200
228
183
243
176
164
229
145
210
198
236
197
186
203
210
199
167
156
172
146
220
146
220
235
155
210
143
234
258
195
130
150
242
239
159
192
222
157
213
186
173
271
248
232
197
138
192
210
163
190
228
184
235
129
146
211
187
256
228
172
204
146
215
241
166
164
217
182
150
187
115
180
178
173
149
192
182
151
174
150
194
191
227
222
129
168
173
224
211
213
181
133
204
215
231
122
122
193
204
176
150
199
181
206
164
213
158
177
206
195
260
208
193
128
238
215
176
175
176
201
203
200
235
230
130
231
189
185
122
165
214
203
158
145
152
168
188
204
144
175
250
227
236
221
176
220
122
173
143
215
198
227
217
209
229
238
184
178
143
146
176
179
146
115
130
162
173
201
130
130
162
248
211
155
244
214
173
235
195
211
206
173
176
210
214
146
234
197
185
173
143
206
255
182
232
205
176
187
188
242
179
172
129
182
145
270
247
201
255
229
176
169
175
177
191
173
201
206
234
115
138
157
196
202
179
210
242
202
204
185
206
210
195
141
234
185
156
192
202
189
290
228
187
216
193
184
227
186
179
228
162
167
183
209
203
232
239
146
199
204
156
182
217
115
151
246
149
183
195
129
242
130
224
174
210
189
194
237
129
214
275
146
174
217
219
260
204
209
132
176
183
213
150
182
187
222
258
211
174
254
143
217
229
229
233
218
183
145
209
204
156
235
277
161
145
169
216
145
215
263
161
129
243
238
198
150
217
194
160
175
168
149
179
224
160
194
179
168
233
192
184
209
204
222
178
228
129
170
204
274
170
195
149
237
214
208
338
179
194
191
180
178
210
129
130
158
256
255
184
162
201
130
172
188
164
168
184
129
144
197
188
171
170
194
227
210
221
169
143
194
217
191
221
146
133
180
202
225
217
151
191
179
162
218
179
212
146
201
179
185
158
145
196
176
200
200
166
207
130
188
192
133
176
199
283
180
227
230
258
138
234
259
176
133
188
168
128
217
158
191
202
146
225
217
180
237
181
128
217
225
238
256
217
185
164
133
143
210
206
218
216
226
173
172
149
230
183
195
156
182
197
238
162
225
296
207
189
256
181
176
216
198
211
188
184
221
138
155
190
221
204
173
197
158
115
179
130
260
252
176
172
240
130
176
304
158
242
212
161
185
175
162
208
217
129
202
189
210
162
163
209
204
179
143
240
168
173
335
194
216
195
210
217
313
167
176
176
173
129
145
171
226
174
214
175
151
144
191
178
194
275
192
176
190
208
229
169
161
184
177
182
182
191
129
178
233
215
191
188
198
209
222
230
176
211
183
182
200
188
233
197
219
207
146
259
202
219
204
236
149
145
201
189
185
189
171
227
180
220
180
180
158
183
279
254
173
220
217
171
251
129
185
173
185
202
129
133
194
188
203
130
217
176
210
141
150
146
158
174
173
242
194
223
170
170
215
145
174
149
188
115
133
248
146
178
146
195
225
216
201
238
219
204
321
182
158
198
210
168
157
168
194
210
191
184
185
275
211
165
186
203
200
186
173
193
230
179
156
210
182
168
209
158
173
243
189
173
190
222
202
231
173
249
217
184
168
191
204
195
242
204
173
211
203
115
166
187
184
179
179
236
247
148
173
254
255
172
157
216
176
227
162
197
213
129
164
183
192
233
264
159
182
173
173
169
171
156
209
208
183
208
146
169
133
131
178
151
146
143
129
129
169
173
214
258
122
253
170
162
210
249
206
184
211
239
215
210
184
173
173
169
138
158
178
222
162
160
146
176
179
263
238
260
234
173
138
210
258
188
146
216
294
243
176
238
225
187
179
228
214
219
183
164
184
228
146
187
173
179
263
230
283
130
222
132
150
200
251
179
236
217
263
204
165
160
200
179
130
144
222
158
187
182
146
201
229
214
211
210
203
130
201
162
207
179
176
210
170
225
129
299
129
184
191
244
181
201
210
133
202
283
200
300
164
145
158
228
230
158
180
189
214
234
133
176
231
184
201
217
230
202
214
219
145
210
214
209
115
247
285
130
129
182
210
181
146
241
146
115
172
132
258
158
224
238
146
184
164
262
146
146
236
200
146
174
217
191
168
211
204
210
210
274
193
191
252
146
197
176
205
176
115
143
208
218
216
176
261
256
278
160
167
225
224
143
158
115
178
186
130
129
173
191
173
206
194
195
217
247
205
129
217
182
155
205
166
247
236
128
173
225
247
204
236
206
229
143
130
180
150
166
185
206
143
254
198
241
130
240
173
255
247
164
138
191
176
164
210
219
146
202
176
181
180
217
162
169
260
189
218
145
173
192
177
204
168
200
203
200
147
247
198
251
175
133
160
182
241
176
145
239
132
260
275
171
146
182
130
202
183
206
138
220
253
227
129
129
211
168
215
173
171
173
237
210
184
225
200
261
230
166
217
185
138
243
182
146
149
153
152
178
178
202
239
173
221
176
247
197
171
219
143
173
204
160
216
146
197
204
129
191
201
214
176
155
263
201
187
173
201
171
173
186
246
143
209
130
221
173
264
146
238
166
211
212
239
162
188
115
175
168
178
199
174
256
150
230
129
176
115
173
211
180
152
219
265
174
222
133
219
202
240
261
180
165
206
198
141
210
231
215
204
217
130
228
236
130
204
217
224
129
253
173
210
129
231
247
210
270
138
188
157
238
200
203
130
195
264
177
183
184
161
230
265
143
179
243
266
179
169
173
133
143
179
146
273
210
263
168
182
150
173
234
202
182
164
176
181
183
144
202
157
175
162
230
182
242
211
229
201
228
216
129
265
194
206
188
211
197
184
143
239
182
186
200
226
246
266
203
228
217
228
145
175
164
235
195
158
258
230
173
147
128
287
242
159
129
176
181
188
150
210
185
210
191
170
185
188
169
173
220
173
252
201
173
218
236
162
202
145
225
164
184
185
238
129
183
141
145
243
210
130
181
224
183
182
239
239
178
204
158
244
115
214
201
251
227
210
191
178
174
181
145
231
178
129
200
138
133
145
146
203
142
233
180
146
204
149
184
190
208
180
162
184
205
218
210
279
199
202
133
130
182
189
188
122
130
201
218
199
211
222
272
255
193
210
155
200
143
199
232
188
169
130
184
190
182
176
239
183
218
182
144
201
230
164
183
143
144
203
250
192
130
201
156
161
204
274
194
211
230
266
128
180
190
206
146
146
240
195
166
217
242
143
145
179
286
184
188
185
208
164
130
208
179
176
244
183
176
219
214
130
176
198
170
220
204
162
153
172
208
230
169
229
129
190
172
178
176
197
170
186
200
212
223
251
204
156
222
274
185
187
225
189
161
156
231
209
175
183
179
206
180
212
227
182
206
223
168
214
152
259
187
212
151
217
256
168
146
269
168
214
167
229
129
180
247
225
204
130
227
195
206
194
168
179
162
160
210
158
217
206
179
179
230
158
236
188
182
210
217
173
145
195
264
211
236
162
201
195
264
129
226
200
130
235
246
237
211
141
189
173
195
190
209
204
234
150
176
307
129
210
153
150
204
210
182
210
130
191
205
130
176
211
130
174
236
150
170
158
204
199
202
184
130
223
152
204
130
191
204
186
242
214
203
200
238
143
291
217
218
211
150
302
283
244
211
173
257
203
205
194
204
184
210
181
183
160
209
130
146
162
185
217
176
146
202
210
150
211
204
173
233
214
196
176
204
165
217
248
191
221
247
263
172
313
129
197
173
258
213
206
188
202
226
183
180
190
174
201
164
143
200
239
189
194
230
197
178
150
150
228
170
183
253
206
176
152
194
228
162
158
192
130
280
158
146
168
130
232
129
128
182
159
212
152
143
186
220
258
162
201
160
192
217
217
256
172
161
237
206
191
130
179
209
294
195
225
246
129
196
168
190
247
207
184
138
201
161
230
119
210
179
204
162
228
129
261
176
195
247
185
274
173
217
236
184
191
204
234
129
192
210
226
164
130
194
199
255
143
220
236
141
200
165
197
198
233
155
179
145
211
133
319
204
219
279
184
227
187
189
246
146
216
203
248
204
158
170
230
183
146
165
215
129
224
150
191
292
236
189
173
179
158
129
194
203
146
182
203
173
179
164
226
176
210
215
254
214
150
153
218
196
162
142
146
218
225
276
129
146
230
157
155
162
219
174
208
220
145
129
165
173
181
203
174
173
146
183
130
158
170
181
237
235
210
211
208
182
200
185
175
222
130
198
190
255
194
265
231
219
176
201
184
183
214
180
279
230
182
146
193
210
130
122
184
168
264
149
166
176
231
234
176
197
165
176
173
173
160
132
236
185
228
178
198
293
216
254
164
168
187
151
259
144
191
168
209
187
191
197
228
170
147
261
146
180
310
210
241
173
201
115
152
122
201
188
155
150
201
255
185
180
217
230
141
206
160
130
179
278
115
221
161
162
182
194
204
145
214
216
211
115
193
195
164
170
156
168
194
230
162
178
200
245
217
173
214
284
156
199
211
130
252
181
175
184
238
173
226
231
187
218
186
143
223
164
283
201
244
158
225
247
129
171
278
299
212
231
168
179
192
204
170
180
177
181
130
179
181
129
214
130
205
255
192
204
227
180
215
129
180
172
192
216
173
191
225
176
138
264
262
185
188
211
238
143
201
203
130
211
179
175
173
246
257
181
192
239
161
164
178
236
187
179
133
146
132
189
119
238
145
139
235
171
230
173
204
186
219
201
211
206
224
235
129
130
175
194
236
206
208
179
162
180
289
133
133
132
181
173
173
181
191
209
188
129
150
183
256
190
264
225
146
175
219
156
201
192
177
181
184
173
204
115
130
174
265
217
167
204
217
183
160
184
258
240
115
185
270
173
172
133
176
195
230
198
225
147
251
221
185
212
191
199
273
188
216
183
180
251
176
210
130
165
160
203
238
209
167
165
187
193
163
211
209
204
172
173
239
242
247
198
165
155
145
143
183
233
261
194
237
145
162
240
178
241
191
130
130
193
185
265
145
249
167
203
181
208
150
172
202
166
193
204
202
167
145
209
335
173
187
193
211
217
238
153
176
242
242
228
239
204
155
236
157
200
234
130
184
169
179
212
240
271
235
185
132
211
207
205
188
155
156
206
156
161
200
230
178
173
191
179
221
175
179
150
223
202
219
239
229
229
163
145
171
213
244
217
185
146
179
216
230
208
208
213
244
207
157
155
210
218
212
178
253
176
233
173
158
176
195
239
204
149
244
209
214
177
244
143
193
150
182
222
183
155
197
169
179
269
158
150
179
227
176
245
188
227
146
162
158
143
203
204
204
217
183
146
235
191
179
170
162
138
191
164
176
210
201
181
173
204
141
150
173
182
217
177
201
175
160
194
173
206
156
164
168
271
143
157
258
186
303
181
164
233
131
230
236
146
185
260
145
204
181
227
171
207
191
202
185
261
182
200
272
255
217
247
196
204
183
129
129
176
173
211
192
168
181
253
180
189
173
228
244
164
130
222
253
206
195
225
156
169
119
263
311
228
206
129
130
252
228
265
204
146
237
234
204
146
150
197
191
274
173
180
173
202
163
133
156
236
287
214
129
178
182
266
239
210
129
172
189
191
183
188
238
211
176
232
205
214
201
130
143
243
231
264
143
173
230
168
252
129
180
245
178
176
182
164
183
190
130
188
160
160
192
215
249
159
176
129
358
146
129
173
173
182
225
230
130
129
188
214
261
238
161
173
201
213
184
265
128
219
196
158
217
190
189
214
239
263
182
224
168
173
257
129
236
206
176
232
191
164
246
180
204
130
133
254
210
204
211
181
217
234
158
176
133
122
239
192
198
178
244
226
185
265
209
162
158
191
238
187
184
164
177
184
188
187
188
184
177
217
242
212
204
206
152
207
168
130
176
130
208
201
227
182
171
202
220
146
141
164
194
180
201
255
194
234
259
173
162
129
162
143
182
217
176
164
204
173
179
158
184
149
191
160
155
193
130
176
179
185
217
181
158
287
184
158
232
206
225
215
187
176
221
130
217
205
227
162
254
217
190
169
188
204
166
146
261
164
182
169
128
164
146
207
158
219
168
211
214
240
130
150
171
129
160
175
201
226
263
183
263
324
174
200
143
178
204
204
155
115
186
186
214
164
205
145
187
204
180
180
129
260
264
187
185
146
173
261
257
147
246
197
178
182
206
207
259
227
222
189
173
130
167
146
261
184
173
181
207
173
244
173
159
219
225
230
306
225
202
128
245
181
217
156
155
171
115
164
147
204
130
212
237
210
129
155
201
152
193
176
200
146
248
199
204
182
169
230
256
223
192
146
294
234
178
132
256
143
164
204
176
146
190
183
157
173
145
201
168
178
156
162
183
227
146
227
228
199
130
247
167
169
229
185
217
231
173
192
194
239
228
258
200
203
221
227
257
217
222
202
184
203
168
200
208
115
178
204
182
176
194
269
199
164
130
167
191
176
232
164
191
168
190
280
240
187
185
200
254
138
177
186
226
245
218
217
250
173
115
188
256
204
218
201
210
260
158
151
195
115
179
153
129
204
199
262
245
310
115
162
163
168
205
146
191
179
130
205
181
210
152
193
217
176
253
155
129
206
133
115
133
132
183
218
200
160
158
130
187
195
173
206
217
197
192
225
204
129
149
204
259
153
156
201
150
176
162
167
129
161
191
168
229
247
122
145
242
146
182
173
228
178
168
169
164
212
115
179
207
242
248
143
225
193
129
231
232
222
289
187
249
143
170
221
162
194
269
208
204
201
184
230
182
176
198
190
282
179
184
168
173
245
204
178
184
133
174
240
169
177
179
246
166
217
209
230
217
221
167
174
243
264
259
206
197
224
155
129
204
141
239
224
217
247
189
210
150
195
193
238
130
181
161
258
254
173
204
207
195
252
190
129
191
191
211
176
147
146
211
289
231
239
129
191
230
204
277
249
229
253
229
173
162
174
166
204
179
176
172
216
145
195
224
234
156
143
180
194
216
195
198
169
200
173
202
204
150
173
221
119
180
254
261
227
266
160
246
195
206
171
157
180
180
203
194
248
188
223
155
204
176
225
215
214
210
195
186
150
233
221
153
173
225
164
246
228
129
192
200
188
133
249
238
272
190
183
157
183
156
242
204
179
115
172
176
260
206
264
167
201
133
164
230
150
169
168
211
129
216
176
155
230
190
204
231
245
178
211
130
189
146
190
204
188
179
184
158
214
145
172
204
217
214
143
162
202
160
209
250
160
158
185
130
158
190
240
245
172
162
184
129
130
201
202
236
155
246
248
197
203
130
182
225
130
129
231
153
192
160
155
282
146
168
130
146
190
186
214
214
157
184
199
162
184
194
155
130
210
187
163
185
221
204
211
262
185
144
183
170
168
173
217
227
203
180
176
198
212
171
187
195
203
185
208
184
176
202
143
185
201
232
164
260
195
130
215
115
167
202
216
181
228
270
168
232
218
178
158
148
177
198
225
173
192
119
174
223
165
219
132
279
186
122
209
221
155
222
204
256
221
146
246
176
176
205
200
194
155
204
201
176
168
212
239
191
115
215
204
191
187
183
198
214
176
130
176
247
210
189
303
199
229
173
242
252
230
181
233
274
178
174
187
202
225
158
188
201
230
176
169
236
174
150
129
222
252
216
162
183
223
245
130
189
149
230
146
180
166
222
264
182
203
179
207
202
173
205
266
159
200
206
129
206
284
160
204
140
158
204
274
185
168
210
161
193
206
199
257
212
217
146
156
201
150
170
218
184
183
210
205
183
115
201
211
203
250
217
235
158
212
210
211
231
200
176
176
176
258
146
217
180
210
210
217
173
231
195
215
129
228
204
146
253
238
188
162
222
143
214
224
204
178
238
246
210
150
168
173
264
234
227
193
151
302
129
178
204
161
169
238
203
186
173
238
171
192
182
255
181
178
264
223
146
129
168
261
202
244
182
264
184
231
188
202
210
204
255
304
206
217
195
215
155
188
258
234
219
265
158
273
164
211
146
173
133
194
270
246
143
223
208
208
130
202
194
133
235
187
217
228
252
202
162
182
178
210
200
156
225
230
193
197
240
168
211
115
215
191
130
287
166
225
176
167
157
185
213
129
191
130
149
205
173
178
202
183
195
221
238
303
146
195
238
176
214
214
179
187
168
130
129
204
191
168
144
195
255
203
185
173
258
129
201
138
158
171
204
182
185
133
201
222
149
192
235
286
233
184
130
204
189
201
210
199
251
173
219
275
252
225
166
217
219
202
169
197
180
169
246
184
168
202
233
263
289
149
130
247
216
212
203
195
202
202
202
211
210
216
157
153
217
179
129
179
265
183
178
211
224
145
166
129
181
180
197
175
232
210
191
186
204
164
269
208
183
209
212
177
199
180
167
235
169
129
190
204
201
239
183
250
203
156
261
231
255
191
192
185
225
265
174
204
180
184
163
187
167
176
202
146
187
219
197
143
145
205
200
210
115
210
178
130
173
211
172
217
197
183
129
173
235
244
175
197
177
276
213
178
145
204
176
146
197
133
129
215
133
222
201
207
182
182
200
180
146
157
158
130
176
203
224
197
164
173
145
191
158
232
130
204
129
262
159
162
209
176
222
164
211
130
193
200
201
172
213
210
195
221
250
129
146
177
176
167
219
143
180
194
179
254
247
183
161
250
192
230
159
202
185
239
169
146
173
162
162
146
185
211
229
149
229
160
115
150
202
129
155
149
115
200
173
237
205
198
193
174
204
204
243
214
184
189
214
202
238
191
253
220
208
132
164
229
138
146
218
208
256
227
220
179
223
257
175
222
143
230
151
186
129
130
209
244
189
200
132
175
217
210
115
211
218
189
168
251
228
297
296
257
210
238
248
258
145
152
178
203
176
206
176
133
130
162
206
180
182
154
203
194
179
244
168
193
215
115
162
181
163
173
147
158
128
217
133
115
176
143
183
147
150
156
277
193
185
173
257
145
162
145
203
180
156
214
210
146
180
198
265
230
177
166
257
270
179
222
115
174
176
222
237
143
222
224
173
171
186
146
221
251
169
145
150
156
152
211
173
241
146
191
175
295
168
173
189
270
176
155
161
176
130
206
158
224
146
173
212
194
230
176
209
130
129
246
130
214
174
201
169
201
143
173
235
259
184
200
204
185
184
164
220
261
180
168
230
204
219
174
173
181
189
228
171
173
221
202
250
133
186
176
214
259
162
161
274
192
179
200
173
278
192
188
220
183
161
153
181
115
237
173
141
185
282
211
264
303
155
204
213
181
180
220
182
192
194
186
204
183
261
181
158
141
130
173
173
167
145
146
225
133
167
230
130
181
261
153
130
182
115
212
217
231
191
170
239
146
252
264
176
241
200
207
214
241
211
216
179
176
173
202
174
173
200
242
145
204
218
259
376
202
168
209
176
179
169
218
231
218
195
206
155
184
213
115
141
219
201
217
194
258
166
246
195
146
200
180
164
171
178
206
155
210
155
197
258
287
172
182
239
272
210
243
143
238
204
184
159
176
191
155
210
130
165
141
192
164
225
191
250
192
204
203
288
187
204
182
168
206
166
182
211
119
199
129
186
203
182
196
204
216
204
264
211
146
145
158
178
200
189
160
207
179
191
210
220
179
255
128
178
133
244
146
222
203
197
187
133
173
183
210
209
204
206
229
217
129
155
221
144
219
150
240
191
185
192
196
239
205
162
164
226
160
209
165
173
177
183
133
183
162
274
230
230
145
224
221
184
222
193
183
178
132
210
230
195
209
184
166
252
184
168
157
223
196
263
172
205
128
287
130
260
180
228
239
166
176
211
176
146
183
212
274
207
162
201
262
191
182
189
168
173
210
130
275
173
187
170
197
146
205
172
146
188
185
160
213
174
205
169
191
230
178
195
197
162
249
185
179
143
192
225
145
178
245
169
232
217
239
221
252
145
215
210
190
190
179
184
278
158
217
187
257
176
186
231
173
234
206
130
182
211
228
168
237
214
194
232
203
206
204
166
179
231
202
115
176
201
236
179
231
194
133
214
172
193
171
210
158
195
173
168
176
181
198
179
263
195
133
141
166
162
173
316
143
186
231
195
238
229
236
162
231
184
190
146
122
227
196
211
239
176
174
129
177
239
144
162
179
164
153
200
191
214
178
240
211
173
173
249
146
186
199
145
208
115
236
213
160
153
208
207
179
232
213
183
143
115
204
206
183
202
182
180
210
150
177
200
155
160
238
168
209
180
133
173
173
198
130
176
163
182
214
129
169
211
201
146
234
199
264
224
220
149
222
179
206
183
155
141
266
183
185
229
151
202
217
169
158
193
155
169
210
214
214
230
241
193
204
152
213
153
143
192
130
214
164
230
129
146
224
211
264
130
199
173
156
169
307
176
215
210
152
130
173
214
206
166
204
143
158
171
167
216
191
201
242
263
157
211
184
237
302
217
210
189
293
318
210
162
246
143
150
195
195
195
133
130
244
176
204
229
115
162
182
172
238
175
192
197
248
204
250
172
221
213
193
141
225
204
210
214
173
199
251
188
176
144
168
187
179
210
268
130
174
212
226
133
189
145
176
234
229
235
182
178
133
167
236
185
224
235
238
151
180
209
210
115
166
158
204
240
157
176
204
157
186
232
161
151
130
160
133
160
180
202
210
282
133
143
170
152
213
182
190
182
230
191
214
173
216
133
184
256
162
210
215
210
242
155
130
221
176
247
146
226
234
241
198
195
173
164
264
146
130
183
130
200
194
211
217
133
151
129
178
208
130
184
254
266
175
210
205
234
195
182
193
227
182
267
191
115
204
255
173
162
130
222
215
208
146
180
224
169
168
130
225
198
211
183
187
211
197
237
211
176
239
168
209
173
185
171
208
145
263
200
183
288
189
276
204
209
212
197
235
225
168
130
179
160
251
130
211
176
201
180
145
133
156
174
206
204
202
173
182
240
182
204
204
179
209
132
241
187
238
203
164
168
226
234
201
187
202
204
174
215
183
251
251
225
179
173
200
247
173
184
169
178
160
191
166
219
129
130
150
182
211
193
162
133
191
245
199
155
202
175
146
184
153
233
204
173
155
191
207
217
175
264
186
161
231
239
182
256
164
129
202
133
145
162
176
204
260
223
181
183
187
233
156
222
222
146
180
122
243
210
164
325
168
176
164
150
226
188
209
204
145
182
122
225
231
216
166
200
176
204
246
169
173
115
162
179
219
181
213
178
216
203
211
252
187
176
201
201
176
141
179
115
184
216
130
191
218
225
197
210
231
217
130
133
179
130
180
219
205
155
156
263
252
218
198
164
268
220
232
184
202
210
199
210
255
146
194
216
244
130
188
176
206
156
115
146
231
167
238
158
130
244
162
138
257
205
188
180
166
193
178
164
173
130
221
179
220
181
209
177
146
228
143
162
180
227
252
271
158
258
176
204
162
280
200
172
180
128
146
214
210
211
181
129
157
200
263
256
133
159
186
223
228
173
168
264
185
130
202
115
241
242
129
195
230
202
217
129
130
132
184
236
191
258
207
152
227
216
200
146
147
186
189
242
229
214
214
185
199
202
167
160
222
213
266
173
175
164
188
209
149
237
195
238
250
213
143
192
222
184
230
211
278
199
131
173
161
183
212
187
210
180
217
246
219
164
166
199
218
156
206
233
222
201
146
161
205
173
225
193
180
238
184
157
189
201
164
187
180
171
227
155
130
182
178
144
209
231
173
122
193
211
211
180
185
215
133
185
222
225
183
179
169
226
176
252
184
208
217
225
173
203
130
265
219
194
181
283
201
211
168
242
170
227
191
226
187
164
200
162
146
156
201
179
246
212
191
262
182
201
190
175
133
200
191
204
169
217
245
173
164
129
175
189
194
204
145
177
168
185
174
210
176
161
228
194
237
230
130
185
211
179
190
187
259
172
141
212
252
115
182
234
218
216
190
115
130
133
261
257
280
228
219
133
179
171
198
205
167
164
176
160
130
228
185
238
162
186
214
239
129
178
191
161
228
206
155
150
228
180
204
143
182
150
115
191
191
143
115
182
145
189
158
129
130
231
226
232
184
182
206
234
216
189
208
194
335
218
164
201
185
179
168
173
256
182
151
204
173
238
217
239
164
159
233
196
225
179
151
115
193
178
130
242
158
206
146
192
193
184
229
196
179
176
239
179
160
203
179
162
145
196
188
201
156
210
189
207
201
146
174
211
143
138
187
255
129
181
130
184
208
266
183
264
202
167
296
191
212
261
183
247
196
150
129
168
230
210
176
169
189
226
289
219
200
270
173
189
179
173
144
165
130
179
227
156
222
213
164
241
203
115
173
156
184
149
164
203
176
210
245
189
181
185
236
161
169
228
175
182
170
191
201
200
236
182
204
129
186
155
217
129
252
170
204
143
247
268
208
129
204
209
215
230
224
221
169
231
188
211
237
194
209
264
145
204
245
196
169
145
159
151
187
194
180
129
160
225
230
152
162
221
206
221
173
254
171
184
179
130
164
175
230
238
146
179
218
210
341
257
176
217
193
148
146
168
184
146
185
192
169
185
194
187
156
206
160
256
145
211
130
158
152
259
238
286
264
173
179
173
180
225
173
164
180
200
145
129
239
129
173
210
185
228
246
171
210
173
209
115
184
172
145
160
156
232
207
169
147
208
155
228
191
228
247
225
165
249
178
141
179
168
143
200
168
202
115
258
221
209
184
203
198
245
146
195
183
283
253
171
181
272
257
228
145
202
158
180
156
200
150
261
201
264
132
145
203
180
143
228
170
166
205
227
204
168
176
158
217
143
161
158
229
175
204
201
240
252
197
260
296
152
172
173
239
194
230
204
139
189
213
164
236
176
239
130
132
176
130
227
217
182
283
206
179
115
146
271
180
217
192
184
184
191
201
252
190
208
230
200
238
179
324
151
129
206
204
163
163
201
236
188
264
199
181
173
195
161
210
201
160
173
130
239
200
221
156
158
181
156
210
176
156
187
280
277
258
225
205
171
143
184
217
193
248
199
173
217
145
115
204
176
263
130
258
149
209
201
151
263
130
175
175
182
248
184
256
237
202
171
192
179
168
216
180
145
173
156
146
174
133
204
202
210
237
146
192
168
133
252
194
221
158
183
185
185
179
225
283
171
152
219
228
225
254
129
264
206
216
196
170
245
195
143
183
165
191
217
252
191
177
255
206
180
251
188
158
161
261
176
181
181
159
208
283
186
226
129
201
211
158
214
214
261
195
129
184
264
177
170
185
165
149
173
157
213
184
186
129
179
242
165
161
201
184
246
190
228
130
199
232
230
200
238
179
262
146
247
250
160
129
176
150
129
151
130
200
146
246
205
156
191
173
287
160
225
185
229
146
214
199
239
201
252
200
230
204
210
143
181
149
115
222
230
146
208
234
236
146
166
181
133
176
176
202
217
240
202
153
204
237
217
217
211
205
182
264
238
128
146
239
146
202
222
201
146
155
202
179
195
130
186
181
178
130
179
174
149
161
211
129
185
143
166
255
163
180
163
205
230
206
210
195
188
162
204
143
166
213
185
204
167
291
219
210
129
211
158
251
218
176
191
173
232
227
133
162
144
213
176
179
173
201
169
183
185
157
258
211
146
269
138
164
180
238
178
192
176
173
239
208
215
146
217
214
218
168
233
198
222
206
138
196
191
174
227
203
218
267
128
237
152
202
228
129
157
115
191
232
143
211
128
132
205
208
201
143
174
210
180
164
201
189
189
250
204
159
161
177
176
204
207
174
158
207
146
180
241
165
115
170
190
179
180
193
150
212
173
201
249
171
202
179
217
180
115
237
244
221
217
212
239
184
195
160
175
200
143
251
217
199
159
247
216
277
188
233
130
198
184
209
184
279
184
202
172
264
166
247
307
212
228
210
236
191
214
192
168
217
158
184
180
187
132
179
194
231
227
138
145
239
287
146
179
217
190
162
175
180
177
149
236
145
193
207
204
146
146
228
201
322
222
229
265
172
145
179
209
254
115
200
156
178
204
165
186
175
178
176
201
130
228
181
183
146
208
185
192
162
176
167
122
244
218
203
130
194
335
243
178
133
189
256
205
152
205
168
191
129
201
251
272
189
191
195
149
258
204
238
210
187
255
191
216
201
202
178
210
267
188
149
150
250
184
176
233
173
176
130
233
185
190
212
209
167
130
209
324
176
115
183
184
204
235
224
284
210
176
210
249
164
176
258
241
159
145
263
221
248
217
221
202
242
181
257
171
203
206
233
178
176
202
200
194
191
146
169
129
221
188
205
188
193
171
151
178
119
130
171
145
162
181
157
227
241
225
158
217
231
220
182
254
228
180
158
128
177
129
174
176
217
176
210
146
177
224
145
183
201
204
200
146
203
201
225
176
214
230
214
176
217
199
225
201
173
159
261
241
192
173
132
181
130
297
219
129
201
146
228
292
167
167
184
231
199
264
160
221
229
235
171
184
246
177
206
186
176
207
210
197
146
164
168
175
263
146
236
175
167
146
203
247
197
230
194
217
214
217
178
147
260
180
162
149
206
250
182
156
235
179
225
210
250
146
248
283
141
202
210
150
201
185
209
184
129
203
224
182
160
152
168
164
184
236
180
210
262
163
226
162
254
187
189
179
186
162
175
262
129
183
230
287
206
175
186
245
146
192
202
214
191
227
122
178
193
217
173
173
181
217
202
176
187
231
184
165
164
204
175
173
129
176
169
195
217
201
141
172
167
130
191
115
193
173
157
230
146
193
256
240
210
201
189
232
179
130
176
132
204
171
146
235
217
256
244
162
197
222
243
191
179
204
204
183
225
236
216
155
179
173
164
164
146
173
173
164
129
202
230
191
182
178
146
195
204
214
191
182
225
252
228
173
129
166
207
143
237
183
132
233
266
176
115
241
232
204
155
156
200
212
206
210
176
201
201
229
167
204
147
197
242
149
184
145
216
141
240
210
182
303
258
184
240
283
154
219
197
145
115
129
173
181
195
209
173
198
164
168
170
183
204
223
182
115
248
197
221
259
228
216
185
162
221
259
210
303
115
178
170
192
122
181
217
191
234
144
146
168
189
188
162
211
198
246
130
180
173
191
129
258
145
259
129
183
229
221
220
168
182
206
130
151
130
247
220
155
202
156
145
202
155
169
194
228
211
200
201
133
210
192
209
162
152
258
141
206
185
185
146
152
179
262
299
296
194
166
213
150
215
179
252
182
184
205
211
204
174
240
158
164
185
210
168
190
219
262
196
239
190
217
274
171
210
245
203
146
182
219
236
179
204
253
207
143
167
217
184
206
244
129
176
193
230
152
335
202
166
179
207
200
204
185
143
261
164
294
210
217
213
210
195
170
244
145
122
182
173
173
143
146
182
184
147
239
231
184
189
189
219
144
133
173
194
179
228
183
188
285
204
190
248
209
146
185
204
175
180
175
151
242
227
239
204
162
285
190
231
129
191
149
189
146
164
130
158
127
183
226
207
133
244
119
162
246
252
183
178
198
230
179
169
226
217
122
169
174
183
213
211
168
210
208
146
222
197
200
297
186
279
168
129
115
300
201
130
201
159
182
133
174
226
176
259
133
175
254
146
176
218
178
115
210
138
185
201
240
225
214
227
158
229
211
211
217
194
203
225
201
252
176
259
185
210
187
241
206
168
129
210
247
129
228
204
289
204
130
176
191
176
173
184
182
283
197
195
202
205
207
164
263
254
184
168
230
155
217
115
146
218
148
173
207
179
211
236
193
253
149
250
165
203
191
209
167
204
178
185
259
236
169
129
158
179
185
217
204
240
188
165
202
298
227
166
143
199
146
148
155
179
184
146
143
129
146
176
194
194
176
151
185
182
178
115
195
180
192
236
191
222
200
132
164
180
167
171
201
204
153
201
250
227
170
201
158
193
215
162
162
173
188
129
273
173
143
212
264
239
200
219
211
184
141
222
210
191
202
280
188
192
130
225
239
176
189
266
227
171
141
199
201
177
130
201
207
182
215
162
238
201
236
208
161
168
211
204
173
186
176
255
208
179
146
174
243
227
168
162
159
256
197
210
182
185
189
230
115
206
237
205
181
208
147
237
212
179
145
219
144
168
162
119
160
199
168
175
179
183
191
129
230
179
164
150
173
133
247
129
159
122
300
216
239
138
185
181
203
163
152
229
161
217
218
210
130
188
170
239
200
248
176
220
189
182
194
268
146
166
248
291
129
191
168
193
162
168
187
287
179
176
188
247
271
205
214
146
146
210
145
200
179
184
204
115
189
179
164
220
146
229
201
193
156
217
130
226
169
146
230
146
145
240
201
179
128
172
162
199
130
191
173
176
191
186
138
143
133
173
158
233
162
210
175
130
269
197
247
202
217
202
236
187
194
210
229
149
256
259
173
133
238
191
206
234
146
196
217
228
223
193
171
143
182
184
217
278
170
207
172
175
192
271
225
200
200
176
194
170
218
165
169
218
156
128
178
183
183
193
130
204
162
184
230
185
146
197
162
263
130
173
179
129
218
158
190
177
164
195
173
325
207
221
273
204
192
210
225
162
222
157
191
171
236
191
217
272
216
115
122
161
236
146
173
184
175
244
155
187
140
213
132
225
144
202
258
201
205
161
186
170
168
244
187
201
157
217
168
157
202
170
146
251
229
157
255
257
147
287
207
159
184
217
198
227
261
164
213
212
166
259
195
129
271
165
145
282
233
130
176
157
176
166
200
156
197
173
257
157
268
163
188
204
164
204
165
210
202
188
129
201
262
133
217
197
175
141
159
198
180
179
176
183
188
204
129
130
150
191
206
176
244
180
252
173
204
191
162
146
299
152
122
173
247
207
168
146
225
145
183
196
238
179
192
164
228
232
233
231
218
260
133
158
129
158
200
164
146
217
115
146
183
227
182
244
173
210
222
129
208
166
177
162
129
197
200
225
206
176
150
175
133
211
187
211
145
149
202
183
178
204
181
189
186
211
173
244
208
236
181
182
270
150
158
115
129
176
204
217
264
247
173
214
143
145
153
234
176
260
122
141
228
214
341
202
174
170
275
227
150
182
217
216
192
165
170
264
225
268
145
253
130
150
200
219
178
178
129
169
129
210
228
254
257
130
166
200
210
129
177
130
202
191
204
253
205
299
129
239
217
129
224
300
178
182
190
240
163
143
209
200
173
187
212
195
180
178
172
252
203
176
182
122
133
258
192
195
217
143
217
184
143
218
205
211
231
201
256
176
201
178
210
221
204
206
173
238
261
201
217
133
164
159
201
286
174
166
243
230
164
197
146
146
141
171
218
173
180
215
207
175
158
248
195
165
200
204
200
184
225
133
250
210
216
164
253
238
129
193
130
255
191
217
212
160
250
183
184
122
192
258
185
205
200
167
194
143
199
185
172
214
200
216
166
168
210
173
197
169
210
208
176
164
195
191
209
224
230
205
180
251
202
205
238
198
178
150
216
176
213
191
184
182
150
143
250
173
211
272
215
180
159
210
130
232
188
204
146
145
245
190
219
200
263
176
300
216
162
203
145
150
181
226
220
164
156
217
129
255
141
181
244
201
217
318
167
129
138
190
158
129
191
189
182
217
145
185
256
205
318
222
182
261
204
183
178
147
207
130
252
204
227
166
130
152
211
211
166
327
128
202
146
205
182
225
228
200
201
211
206
176
181
206
176
200
198
213
146
228
146
226
221
284
180
244
143
199
182
191
185
164
230
147
210
182
228
146
264
241
217
231
130
181
186
141
211
149
201
192
161
221
231
239
217
194
170
204
182
146
224
155
133
177
164
179
229
203
122
204
225
187
181
206
167
150
261
197
162
209
153
283
214
213
148
130
263
267
219
216
169
130
173
153
184
145
129
204
244
227
159
145
201
130
194
191
259
150
238
182
248
238
191
186
229
172
329
227
202
231
129
239
178
130
157
193
208
173
211
257
143
230
169
201
195
173
156
183
211
173
232
227
130
141
173
219
164
228
294
158
236
174
192
188
210
222
187
183
146
183
197
129
180
129
200
238
180
200
173
184
149
171
201
237
221
173
263
201
187
230
217
233
204
168
164
205
183
229
199
169
229
141
251
179
129
130
175
222
201
163
132
198
190
119
206
178
150
229
243
184
244
228
213
197
239
243
115
211
130
115
217
171
285
199
181
195
273
129
132
200
143
210
144
232
173
216
145
288
187
147
173
168
204
237
244
231
132
224
299
248
192
141
211
184
219
172
206
202
129
244
115
204
184
247
195
247
204
273
253
196
193
143
181
177
187
228
198
266
164
146
200
129
210
146
173
217
205
165
185
171
175
236
191
201
241
254
204
146
157
171
210
145
219
235
182
170
248
130
214
115
207
133
209
171
204
214
193
190
214
194
174
204
200
276
239
222
229
146
156
152
199
183
197
167
130
185
219
228
173
234
188
173
217
162
146
210
239
149
230
144
187
169
210
192
246
159
176
144
222
190
202
218
237
178
246
283
143
198
251
335
115
146
186
141
283
251
178
129
179
115
129
191
193
254
209
198
214
129
129
205
186
210
153
247
193
158
217
164
230
184
176
150
170
156
181
140
215
190
221
211
152
146
237
191
131
183
150
216
210
205
204
204
227
206
191
189
177
179
115
228
235
173
155
193
167
331
265
230
133
217
260
210
264
146
173
149
150
201
250
133
138
188
184
223
178
153
171
210
177
218
129
201
267
244
146
247
188
138
231
144
181
222
266
189
160
231
182
145
205
130
177
255
159
119
179
196
180
153
242
204
217
176
204
198
183
180
173
144
232
146
211
254
158
182
149
176
210
133
179
165
173
169
115
141
242
133
165
130
192
217
129
169
183
197
152
225
205
230
182
211
166
256
264
180
176
210
259
133
177
287
227
193
208
158
132
171
133
214
186
207
248
204
198
211
227
217
164
214
177
214
335
177
222
228
173
187
152
180
115
146
144
198
173
200
223
212
217
143
236
229
275
141
190
260
133
211
198
197
145
173
197
183
209
230
168
229
162
191
161
115
188
216
133
179
162
195
204
239
192
184
237
158
129
140
194
210
200
200
204
225
204
129
186
232
203
187
162
195
185
156
173
227
155
214
208
146
236
183
209
129
179
204
130
164
217
122
196
185
146
171
210
143
201
141
180
200
166
176
188
176
211
157
214
176
130
170
201
146
164
230
143
170
173
200
243
203
249
179
224
210
288
234
186
202
174
146
173
320
164
158
230
195
280
129
168
171
182
188
146
168
210
217
173
159
203
211
199
210
215
171
155
222
203
219
235
169
171
170
200
229
183
179
157
151
257
115
212
153
217
156
141
177
203
161
264
193
235
129
155
194
184
176
133
160
309
179
225
185
130
228
227
175
167
239
235
210
209
162
238
265
204
247
201
145
153
205
209
145
199
242
143
294
230
230
178
174
226
204
129
186
188
162
210
229
152
158
207
122
165
157
130
172
129
247
179
202
146
183
227
236
200
178
132
256
329
180
207
261
194
192
172
231
194
129
230
207
159
143
164
163
190
143
170
195
225
236
164
173
162
211
155
217
166
129
211
160
173
231
179
254
161
204
198
187
175
183
158
196
144
176
216
186
244
145
144
130
210
286
234
257
246
179
244
254
187
222
229
146
173
227
195
166
166
145
196
204
232
170
193
146
179
130
247
192
166
151
199
191
186
173
179
197
179
178
226
280
174
234
236
238
230
202
222
183
181
162
275
250
146
201
157
176
199
153
133
202
231
204
143
194
203
194
201
204
145
204
192
204
173
179
246
247
186
228
210
194
168
217
183
213
176
170
227
166
206
129
227
184
143
238
211
150
221
239
262
130
254
176
158
176
179
173
275
224
204
176
262
252
133
190
208
164
207
209
173
228
145
195
194
166
163
191
129
250
211
209
192
199
234
185
161
146
164
163
176
150
173
202
156
210
153
217
187
269
166
204
133
235
143
203
194
225
221
210
193
192
133
283
210
212
258
263
183
167
287
217
146
176
203
159
198
242
149
161
205
158
166
157
180
129
229
169
146
183
220
172
206
262
182
171
158
199
204
160
162
115
265
229
180
302
278
149
177
161
157
170
174
239
194
202
204
225
184
232
204
176
239
146
280
146
173
247
173
247
184
179
259
206
133
173
218
204
173
196
155
271
218
196
200
160
179
217
179
195
216
173
169
146
222
143
214
172
204
130
217
163
176
335
264
211
185
173
182
176
260
176
216
199
178
235
256
247
215
173
146
240
196
166
229
228
195
162
150
191
129
214
141
263
195
169
184
181
211
187
191
172
256
212
272
172
206
272
190
183
129
155
245
278
130
215
300
204
232
193
211
143
191
182
179
162
182
227
132
210
146
201
222
281
258
168
129
191
193
183
209
214
206
180
202
149
296
256
129
183
184
261
187
203
182
155
145
160
226
161
189
146
204
129
178
195
165
129
153
129
190
216
176
187
150
173
176
180
222
129
190
168
186
174
262
216
196
168
168
179
292
210
238
130
252
162
194
173
239
199
215
256
225
225
216
160
234
180
217
179
129
204
133
221
130
214
192
124
172
253
230
216
149
204
133
202
129
281
183
236
194
251
189
183
213
209
162
130
156
171
184
212
138
247
197
130
207
246
176
237
145
115
236
238
172
173
129
202
231
246
151
207
170
157
209
184
194
208
242
200
129
204
186
230
176
185
180
143
160
146
215
146
168
150
205
213
210
254
233
181
226
179
141
209
191
189
164
231
204
204
184
210
221
215
218
276
230
180
190
217
130
164
146
250
220
115
185
211
217
168
130
177
236
202
189
202
221
115
230
162
205
160
199
129
233
146
210
185
155
264
204
173
130
210
173
245
236
168
239
173
244
300
188
260
173
255
176
176
145
164
179
163
180
191
157
119
173
169
191
206
115
177
218
208
221
166
212
151
163
211
212
198
271
129
176
202
183
208
187
261
206
176
211
184
182
214
179
158
130
196
143
295
184
158
172
145
145
202
183
129
200
192
206
189
203
202
145
155
183
202
206
242
202
225
169
204
221
245
184
208
204
130
182
147
152
248
162
173
231
217
180
214
170
232
146
260
244
242
195
182
179
179
162
182
218
198
170
173
204
210
236
203
187
129
184
153
179
191
252
247
144
231
133
224
130
207
146
209
168
174
146
180
218
230
176
184
283
208
191
176
235
201
164
202
119
128
162
211
263
246
193
158
214
238
228
214
176
209
145
133
183
217
149
173
219
162
201
115
211
266
201
204
271
129
188
254
189
172
160
254
183
181
196
173
200
155
179
130
207
173
146
133
228
223
176
160
145
146
179
183
242
169
145
217
209
176
183
286
143
225
227
200
176
183
176
179
164
214
200
233
214
164
201
247
129
269
203
130
204
220
258
149
157
225
129
185
173
162
196
174
255
188
147
164
168
198
170
207
182
192
168
208
158
130
129
207
241
204
229
238
194
202
155
241
156
259
182
170
122
204
287
150
272
230
171
210
224
133
224
186
146
146
169
143
249
201
152
213
190
182
232
179
218
141
257
215
235
180
210
240
146
184
171
181
263
188
262
167
122
176
187
294
183
236
165
193
231
267
149
201
206
129
188
179
160
217
185
157
173
164
145
145
178
173
168
216
183
204
204
256
129
129
201
178
209
219
161
199
162
133
176
210
185
179
129
222
200
171
158
156
129
217
221
192
221
192
202
173
164
201
164
195
209
155
300
242
115
183
162
196
194
236
253
203
176
146
162
222
211
132
210
185
206
239
190
200
206
130
167
176
195
177
217
171
133
171
249
168
147
151
190
203
186
210
130
206
210
168
233
200
146
173
173
237
162
240
226
200
171
252
299
172
169
210
185
174
158
227
146
171
217
155
208
225
179
185
200
177
154
325
130
233
168
297
288
210
184
209
146
169
175
179
296
174
202
146
150
192
180
184
242
199
214
309
217
156
203
169
222
204
184
213
178
181
261
182
221
165
143
206
227
200
210
168
207
115
238
147
138
244
179
204
222
229
179
206
230
170
129
146
201
260
129
130
202
173
247
164
146
169
158
141
171
143
199
187
164
129
203
147
238
216
195
197
193
234
191
317
170
200
129
178
236
195
147
167
144
173
243
200
254
190
211
173
217
214
178
265
207
261
235
157
228
167
197
229
186
158
228
236
181
225
180
182
138
173
146
200
227
176
200
191
204
181
210
195
182
200
145
195
240
247
232
176
177
179
146
203
184
227
275
190
176
221
129
239
246
289
199
195
181
129
179
242
204
211
147
130
183
166
146
178
230
159
181
157
130
157
115
183
145
186
178
207
133
272
235
168
211
220
208
146
228
184
201
242
157
160
191
247
189
206
256
192
186
232
183
146
211
147
217
208
182
253
202
220
204
179
196
129
213
230
176
129
130
222
258
166
190
138
176
200
211
180
229
208
192
202
212
199
231
173
257
239
115
182
217
206
230
190
176
200
265
212
225
195
158
282
129
151
174
168
217
239
178
217
217
230
143
186
185
195
228
211
174
148
204
318
144
213
202
151
133
194
247
269
205
202
204
173
232
257
184
146
179
200
182
182
251
130
180
225
206
145
157
214
173
139
217
201
158
173
191
227
210
194
211
211
144
241
194
185
143
240
204
183
228
267
180
239
150
325
299
265
211
210
161
201
195
200
210
183
130
129
218
239
199
190
211
130
210
181
158
152
201
192
261
222
207
238
173
149
155
191
266
188
211
160
211
168
178
179
171
202
141
184
153
218
206
169
193
244
204
191
203
196
190
170
210
173
204
179
232
221
168
133
143
176
221
173
258
210
239
258
257
138
213
193
172
186
164
221
188
219
133
132
187
156
226
179
158
217
311
168
204
182
179
138
146
238
129
173
130
228
279
200
211
260
195
150
206
155
264
181
288
206
177
183
201
178
196
219
204
174
168
210
259
227
233
173
173
195
195
176
335
162
180
173
222
195
146
188
161
143
129
231
209
199
262
204
206
178
275
173
177
228
210
192
216
252
228
130
159
151
155
210
238
231
187
195
283
197
254
197
190
130
210
200
210
221
244
185
221
199
163
229
287
172
174
174
234
224
145
185
176
129
164
183
206
176
229
185
179
158
198
201
224
168
217
189
178
269
155
188
119
335
168
179
226
200
217
259
206
232
250
191
185
189
173
153
210
232
115
155
176
166
185
175
219
195
181
130
190
150
146
160
129
146
147
157
143
173
205
259
261
158
238
129
177
157
217
206
185
206
275
176
179
133
176
162
171
162
230
146
182
158
242
228
188
200
168
225
226
266
176
166
133
209
173
161
145
210
261
166
211
217
160
191
129
200
173
206
173
130
168
161
187
129
222
217
205
206
176
188
174
130
201
182
204
130
215
217
192
174
149
258
138
178
213
202
214
207
115
200
202
202
173
209
204
312
189
221
176
258
238
179
264
183
222
210
187
252
156
164
176
164
282
245
191
210
172
201
244
191
266
236
208
251
152
246
193
161
194
214
129
222
191
188
172
178
273
239
145
143
195
146
179
176
193
230
185
185
251
210
152
197
129
155
184
258
210
195
184
205
206
181
155
200
306
182
146
129
130
256
229
191
155
211
261
143
162
195
207
176
129
162
246
204
184
149
157
191
202
209
185
198
130
187
206
190
122
184
169
145
261
143
263
189
146
183
174
214
143
219
176
200
197
213
133
156
146
261
184
236
188
224
195
217
162
151
145
248
241
198
201
230
225
203
171
172
182
129
215
266
163
191
263
261
239
130
130
184
214
222
249
255
201
164
179
164
238
275
293
144
227
239
202
213
196
166
205
179
210
146
181
179
212
216
176
217
176
225
146
188
217
146
238
221
221
242
133
155
129
201
212
164
159
281
145
173
230
206
146
129
227
173
173
216
173
180
201
178
176
226
200
214
178
179
146
129
130
260
156
173
129
115
217
187
153
252
179
152
128
215
205
144
193
204
150
173
187
157
188
199
168
176
155
228
256
258
191
206
208
176
146
176
201
133
144
238
211
162
214
145
196
211
300
251
130
218
257
194
176
200
246
182
199
193
188
191
238
234
241
251
183
200
176
173
129
146
270
219
240
173
246
216
222
176
156
219
185
195
158
181
194
335
234
173
158
182
129
207
173
230
168
143
173
210
203
160
199
130
150
158
236
152
233
237
200
238
161
192
173
179
242
161
258
202
205
168
272
238
130
179
156
132
207
222
167
201
192
238
179
183
220
155
230
167
178
202
210
204
196
162
232
208
214
173
190
191
174
176
180
219
195
184
242
210
231
161
202
210
201
258
182
274
271
204
156
144
162
204
229
230
204
172
146
236
130
129
178
236
168
230
260
191
257
166
184
168
143
141
146
190
202
170
193
164
188
223
164
115
265
164
204
158
217
229
181
225
194
179
203
214
162
230
206
208
202
185
211
198
209
168
265
182
173
236
204
257
211
230
162
129
157
182
157
185
168
165
254
204
258
164
169
167
230
217
161
212
180
211
178
264
173
238
204
186
276
173
249
128
251
183
146
218
201
130
161
186
214
232
185
169
238
182
157
206
130
130
173
255
161
195
202
173
189
246
270
195
181
250
146
115
130
214
185
248
220
192
258
259
216
247
174
211
160
178
130
213
210
181
195
178
200
145
229
162
239
221
245
237
169
281
194
180
206
302
146
180
146
256
174
238
241
238
249
181
281
200
168
217
216
169
166
174
247
164
217
165
185
163
239
210
271
238
203
246
260
115
205
247
199
188
201
172
297
206
176
222
206
218
201
225
214
217
209
159
182
173
198
249
282
173
143
230
179
195
207
191
246
224
225
157
219
215
206
173
321
183
211
194
166
244
164
200
257
174
192
217
201
190
170
167
202
221
198
191
122
183
164
204
213
122
211
238
260
155
182
251
146
217
216
151
164
216
158
150
193
176
210
204
221
202
138
171
172
174
173
130
145
242
122
179
186
133
182
238
303
176
231
283
195
144
145
176
236
198
200
258
255
130
146
202
188
264
238
129
239
183
145
236
188
115
205
186
237
158
165
233
217
168
164
179
259
204
174
178
169
178
231
312
222
210
179
183
286
133
211
248
239
283
146
197
162
160
164
209
146
158
178
267
244
143
182
210
204
274
215
182
217
176
247
133
304
171
162
206
265
182
143
256
300
242
231
175
176
158
200
143
176
206
160
218
184
176
159
197
206
128
173
146
183
189
173
239
192
162
166
179
164
237
149
157
145
235
166
206
218
176
246
166
210
241
211
216
204
130
186
238
173
167
218
237
218
264
141
145
227
206
215
211
153
183
155
132
199
168
255
212
240
204
183
214
174
146
226
149
203
217
256
173
200
182
195
160
207
262
259
221
209
271
129
129
145
178
146
174
260
132
150
201
130
176
194
168
171
153
187
176
237
187
173
189
173
277
187
207
229
211
201
193
209
177
267
220
130
249
235
150
184
130
228
210
186
210
157
230
204
138
182
271
193
206
190
251
130
204
184
158
236
130
176
270
145
174
274
146
138
210
155
178
168
173
185
217
218
197
149
131
190
169
217
176
133
186
181
146
201
166
200
202
186
155
204
122
164
211
185
164
225
210
238
150
180
168
178
214
220
239
169
202
229
246
204
176
234
211
169
225
197
201
129
179
207
244
176
233
166
202
155
201
218
170
191
217
168
188
122
197
131
203
261
155
158
145
237
132
217
146
149
187
149
175
206
239
133
183
193
216
183
143
144
161
176
129
115
238
176
184
147
246
157
144
210
254
155
237
204
208
235
156
249
259
264
179
236
205
191
168
264
169
202
251
260
180
133
185
173
182
195
192
169
146
162
204
155
181
180
168
202
176
155
151
130
145
177
225
204
141
244
153
178
234
170
204
115
211
277
115
168
132
179
211
183
146
119
115
211
173
236
226
204
201
232
265
165
202
231
179
231
190
223
169
176
145
216
199
145
225
190
200
263
155
248
151
282
152
184
129
201
268
204
129
236
170
167
129
221
129
130
173
180
222
166
161
185
194
182
200
176
210
181
232
173
231
219
229
132
169
255
218
160
199
221
247
257
162
168
244
202
190
186
182
264
224
178
265
215
130
173
173
214
210
210
130
184
230
115
257
176
191
160
133
217
176
217
210
149
115
227
176
242
152
189
216
149
230
176
173
227
207
203
201
162
186
262
200
180
185
204
176
206
207
239
122
202
167
221
129
156
122
339
191
179
213
216
222
202
129
178
129
217
167
210
210
161
234
201
164
122
207
180
237
173
176
249
138
228
191
184
283
216
196
132
178
145
219
335
133
225
221
234
146
236
271
226
217
204
153
240
189
208
175
115
175
192
146
203
191
130
185
226
146
153
204
180
296
152
210
182
204
130
224
222
145
164
273
130
222
194
201
130
190
211
167
138
209
189
211
210
195
219
225
221
201
173
240
212
179
141
173
158
173
249
130
183
151
198
230
185
207
193
197
239
215
216
158
122
115
164
204
130
302
228
130
203
185
200
146
200
173
155
210
196
156
191
146
182
210
130
160
266
255
213
130
171
200
196
194
242
261
194
201
167
122
183
173
173
217
164
206
241
164
252
219
207
200
194
168
202
200
186
191
191
182
236
146
129
209
201
190
176
218
233
211
146
158
222
182
156
171
185
244
185
187
235
156
161
218
183
205
235
192
262
176
210
187
203
130
229
225
229
176
162
235
182
162
184
133
248
185
202
133
174
238
146
239
177
129
164
170
264
173
204
204
129
226
214
277
130
129
207
146
160
210
216
240
264
238
215
133
145
191
201
211
176
230
198
133
173
204
253
220
281
171
204
208
173
248
267
214
198
173
172
173
228
225
176
164
243
256
173
191
186
188
221
204
131
185
175
165
191
210
249
143
225
169
287
199
176
169
129
180
204
152
151
188
201
184
149
150
210
174
162
166
169
235
219
221
205
214
216
226
284
211
184
187
215
204
222
166
146
173
152
250
204
238
164
188
188
182
203
150
265
181
165
129
200
167
230
246
173
230
153
202
205
235
208
166
175
272
130
225
155
182
236
183
196
130
286
230
182
191
178
148
235
210
194
188
181
217
138
138
164
146
240
243
167
172
187
204
141
145
247
182
201
129
147
150
182
156
152
146
176
204
215
188
211
160
209
254
133
161
166
199
222
160
185
257
231
211
150
213
202
244
172
238
145
204
129
235
200
183
168
184
184
204
178
133
169
182
227
209
176
163
188
248
217
222
156
146
146
176
195
182
220
204
193
173
180
149
180
133
156
185
143
197
184
191
173
225
178
166
257
199
173
264
257
168
242
190
210
294
204
188
162
169
255
160
160
227
193
211
211
201
287
173
143
176
145
145
170
225
176
210
176
173
251
164
335
158
184
186
275
245
115
212
185
178
169
168
173
246
145
182
153
133
146
187
184
171
201
201
227
185
227
213
155
230
211
164
145
206
204
177
217
143
171
213
204
236
171
188
141
202
241
158
173
229
182
158
185
189
130
173
211
158
184
171
183
173
129
173
238
200
130
186
173
243
278
200
233
169
176
165
231
234
283
145
177
204
173
184
168
292
181
172
210
139
214
204
146
245
168
248
314
217
204
156
256
188
176
209
212
200
296
163
236
193
200
179
182
176
300
229
151
185
173
179
229
173
217
268
155
145
201
160
182
185
193
218
201
183
168
172
248
173
173
217
235
201
236
129
246
186
202
208
158
133
238
197
184
192
202
213
176
254
143
201
200
193
270
141
143
168
211
127
232
149
192
176
198
217
152
217
169
183
176
222
238
214
130
299
179
158
225
194
204
171
198
212
144
181
167
193
191
233
146
251
160
212
232
247
218
130
173
275
129
191
171
165
197
214
236
204
201
209
129
243
190
211
187
193
194
247
145
204
297
205
207
161
191
230
169
201
225
280
144
226
200
203
217
186
260
164
203
171
168
158
184
212
168
171
193
156
187
176
201
246
209
197
148
129
144
164
130
236
299
188
164
173
198
207
202
192
321
250
217
217
186
146
185
239
178
190
217
162
178
184
184
215
204
169
168
179
187
146
191
201
115
205
141
188
230
145
191
146
143
254
185
158
182
230
173
173
182
210
146
164
227
158
201
204
238
146
158
178
146
254
209
182
172
201
181
172
200
235
184
188
188
149
182
204
130
146
181
248
132
208
187
193
206
255
236
204
201
183
192
191
231
192
214
211
181
162
242
213
159
145
183
234
192
215
194
190
185
169
300
204
176
158
166
218
169
234
184
211
184
234
176
181
176
191
158
179
228
237
191
145
182
182
211
173
205
184
166
228
199
209
133
215
206
199
270
200
174
115
217
168
200
250
189
238
206
146
301
217
244
247
163
213
184
180
201
235
240
187
182
167
200
204
210
239
188
149
184
151
115
162
233
192
133
210
269
236
146
200
275
212
155
167
296
216
205
223
211
183
257
200
221
173
197
206
266
203
229
204
156
191
168
193
281
176
157
247
249
188
180
152
146
201
234
211
212
145
233
171
175
115
161
149
157
313
146
257
259
129
146
170
211
202
138
190
171
236
177
195
213
130
158
225
176
236
227
230
171
130
129
228
178
171
164
225
256
236
129
166
179
150
178
197
237
213
225
231
219
200
133
146
172
217
204
242
166
245
169
210
200
132
244
192
256
175
130
168
164
205
225
264
231
271
145
216
164
209
179
172
217
167
204
216
189
192
248
141
211
138
146
195
228
146
143
204
264
204
194
157
225
196
231
204
180
225
145
269
158
168
193
191
168
184
195
164
177
143
215
146
164
143
186
241
226
169
162
213
219
242
204
233
146
183
238
180
161
186
191
145
184
214
161
173
194
212
139
203
230
234
223
166
226
194
287
194
170
147
204
164
158
185
130
143
215
170
231
267
202
146
194
210
149
145
173
160
172
143
225
254
184
179
184
184
273
173
158
146
240
229
211
188
226
182
158
160
230
236
230
216
173
264
161
130
290
200
158
179
162
201
214
171
146
178
176
202
130
166
175
204
254
174
310
151
266
221
179
186
162
252
221
179
162
259
143
141
129
180
174
210
180
204
130
249
201
242
217
201
115
218
217
162
242
155
200
174
209
228
133
197
300
207
236
168
213
169
185
239
129
186
162
146
248
231
217
161
168
210
213
146
216
256
246
155
156
215
129
130
184
158
182
225
173
228
198
159
189
214
213
217
178
211
149
194
217
182
143
164
145
162
150
236
206
162
175
180
209
133
274
180
169
214
187
187
239
206
214
238
244
162
258
187
277
237
271
176
210
168
145
129
242
168
173
221
204
130
224
145
222
204
168
146
242
162
186
201
179
188
200
190
228
184
130
239
204
169
184
207
299
188
225
189
209
188
187
173
193
138
226
122
222
171
164
226
115
181
192
181
233
178
158
209
150
164
192
173
275
155
130
267
234
211
181
191
176
259
264
189
143
133
129
201
215
168
162
143
230
190
182
222
195
216
200
133
190
145
246
180
169
203
168
245
192
130
129
160
163
181
237
130
208
158
159
171
239
233
217
179
180
216
185
201
221
219
143
147
129
204
176
162
283
192
187
132
169
200
204
171
192
210
204
178
172
181
183
182
254
188
188
232
150
184
236
178
133
178
182
212
186
303
162
230
129
282
235
122
184
236
161
205
267
216
211
203
221
138
258
234
180
263
147
228
217
168
146
115
212
219
225
210
174
238
165
115
239
150
238
207
224
236
200
207
187
203
181
155
283
233
146
201
237
316
238
168
173
205
283
173
148
193
221
182
130
227
219
272
129
243
195
210
206
194
222
207
192
147
164
220
239
185
191
256
188
195
204
255
129
240
210
146
234
271
184
193
171
183
235
204
189
212
176
145
141
181
181
202
207
129
174
179
191
221
211
184
173
221
146
182
176
291
157
238
258
192
176
164
183
222
167
217
263
229
156
202
218
146
194
182
196
182
181
179
206
160
218
229
293
184
197
201
172
202
176
173
299
249
257
194
164
275
162
173
179
173
234
146
219
215
185
132
192
164
146
169
187
210
173
145
176
255
265
200
283
199
174
200
202
130
129
211
168
149
129
268
198
197
172
130
204
335
202
145
173
156
169
236
189
201
219
269
130
143
205
169
129
210
161
173
204
138
195
190
210
130
188
173
157
192
173
201
164
195
228
199
130
242
247
204
264
191
182
231
258
204
166
205
158
156
245
152
191
181
214
130
300
130
297
198
146
230
210
186
146
149
196
211
178
171
210
250
173
219
222
208
191
130
133
221
146
169
198
168
130
130
209
241
191
175
178
222
254
191
198
179
240
204
222
158
251
146
190
173
196
130
175
204
201
204
146
231
212
201
204
201
181
214
232
187
168
129
184
176
201
145
144
189
164
241
115
130
130
149
217
130
199
195
185
264
214
261
197
195
178
202
168
155
155
176
205
260
141
164
145
146
176
146
209
185
190
180
219
201
208
180
210
202
206
231
225
210
162
245
184
180
133
115
183
180
168
164
152
182
178
202
200
281
218
176
144
205
274
195
280
210
115
128
145
296
179
203
177
230
220
258
204
170
189
251
193
234
162
257
209
244
176
183
217
155
230
204
164
181
130
130
162
141
203
168
130
262
194
246
261
229
258
162
164
221
182
146
204
236
175
206
236
133
202
189
214
238
229
222
186
161
183
173
146
202
197
129
242
138
145
247
222
146
173
187
206
185
150
187
210
217
129
194
133
246
169
185
159
169
157
129
215
202
256
194
335
166
201
176
267
190
122
178
129
143
200
173
129
152
230
274
158
244
203
182
197
225
228
210
159
167
233
227
246
180
201
201
175
217
264
167
173
209
190
211
172
181
231
247
172
129
290
210
149
206
218
256
164
146
287
231
150
231
210
145
130
176
227
160
211
251
206
160
158
195
191
146
122
202
226
190
179
153
178
160
179
176
213
210
156
254
176
188
155
200
204
179
146
185
204
225
204
265
176
232
184
161
155
176
214
191
161
179
130
172
240
238
185
195
185
169
201
129
182
218
191
209
247
192
204
189
204
199
209
184
179
183
241
234
160
173
245
230
210
209
164
173
158
234
246
145
282
168
278
236
205
207
206
191
191
176
178
155
157
181
155
183
205
160
173
219
195
214
270
146
246
212
179
183
251
130
146
143
115
239
195
236
227
228
197
205
237
189
247
210
198
185
236
173
222
264
171
249
227
173
129
165
221
227
129
217
193
198
230
138
177
202
150
237
192
201
179
209
164
214
192
176
173
209
176
181
201
162
130
217
263
188
150
192
179
238
200
150
246
155
249
223
230
262
203
172
179
182
164
176
201
286
274
210
189
158
211
158
228
230
150
201
263
184
169
210
212
176
141
259
264
119
129
179
167
204
150
201
115
189
189
170
180
146
201
245
129
179
201
173
264
231
229
217
201
201
214
174
194
152
141
129
201
122
161
191
222
187
235
132
246
173
204
218
266
161
302
263
211
222
173
171
218
130
211
129
122
201
156
239
198
178
169
141
164
241
210
192
130
217
195
239
146
234
129
176
274
264
173
239
239
216
167
206
239
212
198
210
146
217
240
236
228
296
218
184
274
173
129
173
200
143
168
130
181
157
199
193
201
194
180
169
237
130
188
207
228
182
129
211
203
204
179
168
262
201
218
195
133
214
196
202
324
219
183
288
158
162
225
222
217
215
241
204
213
155
252
150
240
206
140
265
149
143
227
212
168
202
286
151
217
213
129
193
147
164
190
164
236
149
202
194
181
159
143
257
236
202
200
239
155
200
164
198
238
176
204
203
178
221
156
259
204
230
188
166
168
250
183
161
248
191
180
159
217
237
197
192
156
180
211
162
227
261
233
183
266
213
165
195
147
179
211
158
191
190
182
184
230
145
209
215
225
203
253
199
164
178
145
227
209
259
144
249
177
147
230
169
248
130
200
156
178
228
205
143
261
238
197
147
185
176
203
230
185
204
179
203
234
210
183
242
210
168
191
190
217
182
228
173
170
115
182
260
149
216
221
204
222
167
195
173
185
182
129
244
180
200
182
236
217
217
207
193
255
164
162
243
196
233
216
129
228
174
240
185
204
204
209
197
195
173
129
194
232
202
227
144
188
189
210
285
182
194
206
202
150
216
221
210
129
133
237
230
130
183
173
162
176
216
209
245
250
204
203
183
233
146
176
181
169
255
206
227
192
184
247
139
156
236
203
143
150
165
164
224
217
211
202
184
189
191
184
217
115
189
164
194
184
217
201
192
217
146
287
208
182
191
200
191
115
207
191
210
129
218
164
173
184
175
166
155
201
158
223
231
202
188
263
162
236
178
173
145
199
258
179
255
188
192
119
252
210
186
189
201
229
202
190
238
162
138
216
189
264
201
129
169
259
238
146
145
230
204
184
129
190
129
167
193
161
300
145
129
255
146
173
200
143
173
216
159
164
214
156
173
254
238
180
143
141
146
159
200
221
197
160
162
215
230
182
250
199
204
138
189
208
200
173
169
239
143
173
130
157
181
244
155
248
220
119
263
186
221
169
185
129
172
191
174
146
230
259
193
209
155
175
115
201
173
176
183
157
115
225
174
211
194
173
204
153
169
216
210
149
174
155
199
185
255
130
214
115
191
129
179
176
229
242
149
187
308
242
163
157
231
187
166
146
182
115
203
204
168
176
166
189
205
129
130
211
208
228
209
225
130
263
192
176
230
129
186
230
164
180
177
155
244
146
183
179
176
184
146
183
173
164
235
173
164
226
192
176
157
190
217
254
274
184
180
283
141
214
209
169
149
227
273
229
164
171
176
204
204
167
162
275
222
155
202
146
186
222
210
143
176
133
182
129
166
190
276
219
214
129
210
283
155
143
195
164
176
296
183
164
170
143
211
172
190
115
250
205
283
210
247
143
186
213
192
164
158
158
167
129
231
216
221
168
204
203
188
129
151
227
183
131
150
248
202
210
214
176
204
115
206
250
130
179
155
137
176
129
169
146
145
129
201
232
222
209
158
231
156
270
217
220
147
194
203
185
204
209
200
195
148
143
146
161
163
217
201
216
252
217
151
141
184
188
248
201
251
191
138
223
271
179
193
239
225
156
146
146
162
160
210
146
279
156
204
203
162
204
217
228
225
194
173
169
260
198
160
227
150
173
129
239
204
191
146
184
180
244
172
200
176
259
179
179
181
115
175
129
210
262
182
230
191
214
160
205
181
185
178
185
200
169
173
225
204
152
247
176
290
299
174
162
222
164
192
122
232
146
165
204
209
237
187
130
205
193
156
132
177
238
129
200
254
146
176
161
185
210
129
183
182
143
115
146
210
173
129
188
220
145
190
153
229
254
161
244
143
161
210
208
191
143
130
255
182
195
162
164
236
247
188
173
173
203
244
164
158
173
195
200
156
179
258
158
233
263
176
238
258
201
141
146
202
215
206
219
261
176
149
239
178
173
152
151
146
164
217
187
175
149
173
231
232
221
225
129
245
257
205
162
230
211
158
176
191
173
181
232
210
231
229
138
115
162
209
204
173
163
181
153
240
170
129
173
204
210
176
227
244
239
260
159
192
129
199
130
232
226
164
164
143
191
273
186
224
146
210
145
249
195
164
208
202
172
199
146
215
269
212
186
214
160
210
181
173
169
115
177
185
201
129
275
251
178
233
188
145
171
249
173
168
145
129
298
132
166
217
185
129
176
166
208
236
151
202
158
200
164
175
198
236
233
145
138
249
151
153
207
176
186
236
204
223
156
245
196
200
173
157
130
195
171
177
184
226
181
178
216
179
205
180
250
202
217
151
181
232
180
206
180
204
156
178
185
186
211
172
176
130
130
260
185
197
202
130
185
214
250
206
176
207
267
176
174
182
155
133
146
160
294
200
115
339
143
176
218
232
254
188
270
204
164
247
174
204
133
285
260
163
194
160
191
150
189
244
218
129
173
180
212
155
197
204
186
231
209
222
177
155
203
185
162
257
238
198
179
115
182
205
179
171
203
204
237
182
129
130
181
182
247
301
186
155
184
211
254
162
175
259
261
227
191
186
205
169
164
208
209
183
216
210
187
203
274
202
183
211
172
206
143
183
146
158
172
190
201
186
173
149
133
145
265
185
180
200
194
232
210
205
184
240
211
132
182
184
167
244
206
129
233
287
129
195
146
222
178
172
187
129
229
129
201
179
184
193
168
190
202
130
146
133
181
157
115
195
193
230
173
115
201
115
182
163
221
223
169
215
173
130
201
217
216
283
164
202
254
176
147
157
173
276
195
189
176
225
210
250
177
214
173
252
234
197
176
266
169
185
160
280
138
210
224
246
215
173
237
133
164
244
205
195
174
180
179
207
173
156
241
188
209
238
222
158
199
143
265
166
152
242
176
179
174
177
151
139
183
146
173
145
169
183
192
217
168
129
211
278
258
239
261
192
264
191
196
164
129
180
187
228
258
130
175
187
239
155
151
186
150
250
182
164
151
129
225
172
210
168
335
200
236
198
200
169
185
178
173
191
171
292
200
157
218
202
227
164
201
210
133
202
255
236
204
150
141
252
173
156
179
198
223
133
160
173
187
168
210
133
164
274
239
191
161
155
300
176
281
146
129
228
210
128
257
133
177
183
204
206
205
183
214
176
155
164
150
150
133
202
191
191
159
222
173
184
256
145
180
169
201
130
180
303
202
119
145
129
200
242
209
226
146
205
278
216
186
204
181
164
173
156
166
129
159
256
173
130
228
164
214
130
195
178
146
173
199
215
156
155
202
143
250
143
200
146
170
180
173
170
175
221
203
188
224
179
212
204
214
147
173
145
221
202
191
198
176
204
184
201
213
184
188
201
261
144
179
146
115
182
185
182
173
188
225
227
146
230
258
256
163
216
217
170
219
158
141
175
130
204
200
148
233
199
129
128
162
146
130
171
158
224
243
219
227
188
239
256
185
158
176
161
164
159
191
145
239
221
204
122
129
152
157
176
150
178
130
206
145
204
175
211
179
212
207
176
238
115
167
239
183
210
204
156
213
231
179
129
153
169
245
189
216
149
239
181
145
191
278
173
183
119
165
146
201
188
139
199
207
173
200
128
173
235
210
143
192
231
230
119
152
129
211
179
169
184
188
238
184
164
244
178
249
211
158
168
178
176
206
179
242
129
130
129
220
230
163
217
225
172
210
158
181
271
202
201
247
211
176
173
173
172
129
176
130
192
230
195
236
180
169
218
186
173
149
164
194
208
246
165
133
168
204
144
204
227
211
217
335
183
162
201
211
160
133
207
188
173
182
146
178
234
200
162
208
206
184
146
162
129
129
129
145
173
232
210
200
219
211
217
190
177
213
219
197
247
178
191
171
173
129
146
145
202
241
324
217
222
161
166
166
208
115
141
172
235
213
179
176
249
204
183
216
164
130
178
198
232
179
185
223
204
162
183
194
222
176
181
259
130
232
129
161
158
168
174
228
160
184
243
184
173
217
239
160
255
210
146
205
239
204
202
133
130
203
193
146
174
271
146
206
358
130
178
325
188
223
199
173
236
182
193
169
145
202
180
169
220
246
146
214
253
174
169
141
169
299
206
239
152
129
175
132
179
204
237
183
242
229
191
239
172
146
177
234
408
174
130
215
173
258
207
210
244
234
242
179
348
184
179
176
210
176
184
185
187
185
173
200
164
195
176
200
173
188
238
176
192
165
180
264
178
207
164
246
217
261
228
168
152
246
129
200
257
237
267
183
237
181
230
145
238
164
179
262
211
180
239
132
189
193
258
157
246
178
158
143
239
173
115
237
166
171
133
162
150
150
197
180
129
209
184
335
189
237
239
221
238
236
188
160
172
187
188
216
173
264
173
165
230
201
209
231
164
212
202
253
178
204
217
199
204
239
281
269
130
210
179
269
208
197
288
193
181
217
145
263
186
200
146
262
228
202
222
240
210
174
208
176
153
129
225
129
197
178
184
179
167
173
156
161
250
191
183
158
170
237
236
193
222
204
214
170
190
201
246
184
261
190
204
206
238
150
145
184
204
256
246
155
173
159
303
201
183
238
222
272
196
188
217
145
151
178
259
209
222
187
146
150
206
115
202
193
161
216
179
213
269
173
162
195
130
184
145
200
218
146
204
174
183
303
209
224
177
175
200
225
236
173
181
174
163
133
240
115
115
243
189
143
202
174
143
158
129
210
175
218
256
173
186
217
209
164
230
161
240
228
211
173
170
174
211
181
256
162
115
179
157
130
224
228
239
161
272
209
210
183
203
185
176
324
230
222
230
195
238
173
279
194
210
217
202
202
204
159
246
181
235
235
210
179
164
202
172
193
169
274
138
201
233
204
212
161
176
150
227
172
182
180
192
130
240
240
238
236
162
162
266
249
204
280
158
176
129
173
229
203
175
185
201
185
173
237
222
186
168
164
130
210
335
146
171
197
210
181
301
181
143
195
207
158
115
141
222
180
176
183
242
236
259
171
246
225
200
186
177
182
221
129
143
240
129
200
228
145
237
222
172
166
210
158
231
173
185
192
133
179
206
204
185
217
160
130
214
192
208
196
205
189
256
176
266
200
165
173
205
204
203
217
273
143
197
122
203
193
191
146
231
202
184
204
180
174
166
176
240
174
145
179
190
191
211
235
132
239
188
230
182
129
166
204
200
155
182
179
130
175
210
222
204
193
191
191
145
146
155
203
151
215
231
194
176
183
182
201
203
122
129
204
155
192
171
162
178
206
169
202
143
162
250
177
164
129
152
156
239
258
226
167
211
168
195
225
203
187
178
213
210
274
129
143
219
230
229
238
166
131
158
154
174
150
130
256
176
169
143
199
168
173
217
186
188
146
197
201
162
217
218
185
179
206
214
217
171
210
157
168
248
173
130
175
248
237
230
210
185
173
227
195
130
156
224
130
274
173
129
217
219
266
185
255
170
211
173
227
156
235
115
179
217
204
162
217
183
183
265
234
185
209
234
176
146
211
239
207
249
210
228
188
228
195
204
204
236
143
143
235
168
232
217
207
252
156
147
218
205
164
274
230
185
222
185
247
255
130
184
186
186
197
129
235
208
187
200
184
158
172
219
132
173
204
171
183
202
168
160
163
178
204
185
267
202
232
146
210
204
190
164
171
265
259
302
237
164
175
173
238
227
274
193
162
230
153
184
245
183
158
205
200
166
208
179
201
204
158
174
169
195
182
138
189
155
216
230
238
204
162
179
203
152
226
146
234
254
225
160
129
273
231
185
188
162
255
244
239
164
210
180
319
180
208
149
218
236
171
191
208
199
193
178
181
185
176
209
178
163
238
164
206
150
185
151
207
153
176
256
115
201
129
163
138
247
197
236
209
150
172
168
180
208
199
185
182
304
195
115
221
146
246
205
213
208
214
129
179
182
175
178
206
217
210
146
130
182
176
132
210
150
163
206
162
177
129
143
180
195
146
264
129
140
226
210
215
139
146
245
202
171
115
143
218
223
215
173
160
175
203
206
158
183
206
196
176
155
146
115
188
146
180
144
237
172
205
183
211
173
247
128
222
193
129
186
207
202
173
155
146
240
198
221
214
205
191
176
235
115
240
259
146
129
179
227
159
202
242
173
180
248
146
257
176
248
162
161
218
210
202
166
192
163
184
155
246
165
165
221
129
204
278
130
122
200
247
209
177
264
191
160
179
171
180
191
145
179
223
211
212
149
129
130
180
185
214
206
146
203
185
195
294
146
122
160
190
280
163
257
174
150
129
160
246
217
169
211
183
166
164
191
168
207
230
115
129
143
212
203
160
202
256
159
164
145
269
173
267
213
283
249
192
146
205
166
173
164
222
225
204
189
260
184
173
155
201
193
169
184
250
119
227
146
130
175
222
174
176
210
188
208
264
158
210
175
224
300
173
167
182
169
122
183
210
227
241
156
205
240
213
166
171
182
183
216
201
200
185
166
287
217
194
190
166
209
177
212
167
272
230
262
214
155
167
329
222
220
191
182
210
186
233
130
210
129
182
229
264
217
162
280
250
183
178
162
204
192
182
191
167
188
173
184
168
158
200
212
189
178
162
206
176
191
149
184
194
244
217
157
174
178
207
217
185
115
227
157
168
176
145
228
236
146
151
215
200
191
210
178
172
150
210
183
180
217
216
208
157
182
156
129
219
259
170
200
216
180
214
146
162
129
187
200
174
178
176
189
191
182
247
206
173
194
195
204
206
230
244
195
203
176
146
231
155
144
129
207
182
170
194
180
138
188
262
238
182
294
226
173
188
174
146
182
166
161
156
174
162
248
191
199
130
201
180
157
201
143
157
202
254
173
205
186
145
247
158
201
235
129
163
175
277
155
157
209
266
115
206
217
244
129
145
189
173
226
194
240
160
181
211
195
236
185
173
203
216
194
227
154
188
256
176
176
218
202
238
166
206
146
232
115
176
146
180
186
264
198
152
257
237
155
180
180
166
191
168
250
256
200
130
201
173
166
240
170
238
243
204
169
203
176
173
222
201
179
172
205
258
198
204
162
206
163
209
150
174
204
211
186
239
176
155
194
143
158
115
191
186
129
194
251
146
245
148
236
129
217
150
164
167
183
130
204
239
204
193
200
186
191
214
164
180
168
265
168
193
282
238
168
214
230
129
158
228
122
164
193
283
143
230
173
191
335
266
129
211
207
192
143
173
248
165
282
204
195
173
237
159
275
143
130
225
164
236
180
168
188
211
275
175
218
130
176
230
179
230
165
199
146
236
146
115
217
158
194
165
236
180
209
247
247
156
191
335
146
256
262
185
183
231
191
178
130
119
263
204
236
143
246
167
170
184
155
188
164
212
133
173
200
202
146
204
247
150
218
225
204
129
236
178
217
146
221
173
138
178
202
216
239
267
149
190
180
130
162
222
169
185
201
225
129
173
257
223
193
203
173
335
232
133
179
152
145
171
211
219
275
198
201
195
210
133
227
129
166
146
167
180
181
211
129
249
143
153
244
197
205
250
217
217
238
182
266
149
164
300
146
201
185
145
208
172
133
171
169
208
147
195
163
187
206
188
130
155
263
191
239
221
189
239
129
216
206
208
155
133
195
172
235
133
200
216
184
146
176
180
234
165
180
199
259
158
217
143
203
215
225
155
173
146
115
176
219
179
217
230
210
146
193
262
165
205
241
129
195
170
309
164
261
169
156
217
150
129
254
183
181
204
119
146
289
224
161
216
234
199
249
202
201
243
208
172
173
161
192
184
179
133
184
145
130
193
193
259
176
202
217
168
254
242
193
174
188
143
129
164
224
195
146
226
172
203
157
130
145
228
146
233
160
189
208
200
182
210
176
181
187
172
141
209
129
173
270
201
133
141
173
146
221
335
239
261
209
203
162
164
143
195
153
158
145
176
146
189
227
210
210
214
239
191
129
263
225
249
168
168
261
182
191
206
205
233
173
231
251
174
223
132
230
202
156
183
301
246
238
183
185
217
237
188
167
224
169
202
169
174
199
187
181
299
185
160
160
267
249
164
129
160
191
273
261
190
168
190
225
231
261
173
181
204
184
214
264
164
132
242
130
145
229
164
133
222
122
241
195
173
244
189
173
263
320
205
162
159
210
192
229
228
173
227
244
195
212
221
232
163
244
184
204
225
130
184
210
217
234
239
157
164
234
185
129
192
168
186
158
130
216
252
210
245
217
195
208
263
170
204
192
169
221
160
173
164
146
213
243
197
211
211
235
176
119
168
176
162
129
200
216
145
129
185
156
138
133
144
227
260
132
188
217
206
176
172
195
168
160
236
264
243
201
202
216
143
186
204
149
211
156
258
232
173
171
164
152
204
211
255
193
216
178
206
211
210
173
186
203
128
202
191
211
130
172
164
133
128
244
145
143
184
149
146
227
227
192
188
250
261
218
283
191
162
261
213
225
133
173
175
122
130
192
230
184
207
184
188
115
262
173
130
239
141
211
176
189
149
237
204
246
130
180
175
173
138
191
236
152
141
208
228
155
193
202
173
152
163
168
210
223
211
170
191
191
146
193
187
232
218
252
173
178
221
319
204
212
180
252
138
265
164
188
146
167
237
206
143
194
281
219
224
188
203
122
193
236
221
146
255
217
184
234
233
169
215
184
233
133
204
164
192
189
145
215
210
212
170
232
122
129
158
201
195
202
255
176
151
173
193
212
211
160
228
173
196
204
256
218
302
210
210
133
138
199
204
189
176
164
143
266
146
194
176
149
226
213
259
194
224
210
138
147
264
138
176
213
247
194
187
188
180
233
190
141
208
296
201
169
187
220
217
194
221
190
161
247
185
167
230
129
195
129
204
249
202
199
191
151
177
168
153
208
241
246
207
156
170
164
173
164
246
182
261
191
221
177
214
145
293
238
122
173
160
156
158
171
160
182
201
183
188
249
211
185
176
264
190
130
204
145
210
191
151
239
143
185
170
168
203
129
166
162
163
240
129
189
202
229
222
251
280
208
174
145
201
213
203
146
187
158
191
262
231
158
236
184
220
173
203
220
185
231
143
207
249
232
236
145
242
270
173
173
252
143
212
208
203
182
181
214
170
217
197
173
157
234
175
164
129
149
217
191
241
211
239
149
156
156
199
129
194
178
204
200
184
155
130
204
184
181
205
206
186
249
231
146
173
160
176
168
222
146
129
122
146
150
192
166
213
228
239
209
168
220
133
187
138
201
209
168
177
173
179
201
187
199
146
182
163
156
228
204
115
204
255
226
130
202
115
210
267
230
210
176
222
204
179
176
204
218
210
172
158
174
204
227
181
224
143
179
217
218
243
173
204
237
146
156
183
178
179
242
173
220
129
169
218
254
206
115
223
159
156
227
252
146
153
164
203
210
281
244
187
173
180
206
141
167
208
184
192
176
156
133
217
217
210
122
130
156
178
217
236
168
202
176
176
213
162
180
250
239
194
207
303
192
200
184
270
173
189
146
146
245
201
145
176
236
240
130
179
146
133
215
173
183
204
202
145
141
178
143
182
206
202
130
285
156
132
210
156
145
186
180
145
168
259
145
192
179
173
198
122
188
189
200
204
182
200
230
217
207
247
173
176
152
149
162
216
177
132
171
115
199
169
156
197
176
204
210
201
214
227
122
115
242
160
191
129
146
183
186
129
177
180
174
168
129
206
179
173
225
211
161
213
172
171
197
166
193
270
184
204
242
166
166
201
162
152
186
160
236
238
234
182
159
146
201
261
173
115
130
198
286
214
130
218
188
176
200
213
183
261
200
160
173
202
176
166
149
176
210
232
141
179
177
185
188
173
219
183
150
217
130
155
184
173
204
150
229
130
214
230
235
145
195
173
200
252
254
185
184
212
169
240
222
176
161
173
204
184
158
196
186
155
176
208
204
184
168
146
237
217
158
206
195
217
130
157
146
202
178
167
184
184
210
252
173
156
157
197
263
198
236
191
176
200
185
254
204
216
239
151
211
191
173
258
141
176
227
211
162
219
172
241
165
217
129
152
178
175
230
204
217
162
174
182
182
173
190
231
207
173
201
234
182
128
198
164
193
160
196
208
151
168
217
205
133
220
246
162
273
203
139
194
217
176
195
218
234
178
174
179
187
253
170
200
158
178
227
176
173
233
170
145
173
150
130
176
207
191
162
239
220
200
160
162
156
158
189
189
147
181
245
195
176
176
243
226
129
173
232
174
168
184
191
164
158
164
129
182
211
211
168
204
207
173
167
157
176
194
181
145
246
158
159
202
148
145
173
180
204
198
210
204
158
163
151
176
233
255
222
238
244
129
232
242
170
190
202
252
203
185
173
180
238
162
204
166
181
247
183
180
185
207
144
241
230
189
231
230
179
184
164
200
202
204
222
188
202
165
146
191
223
247
180
158
173
213
282
184
162
183
185
199
248
189
221
152
146
187
185
191
210
209
205
115
130
146
173
158
176
204
200
158
148
235
182
159
188
204
129
212
179
164
201
176
176
150
208
209
228
235
146
160
190
246
210
208
200
201
254
229
262
145
215
182
204
200
147
169
181
247
156
155
274
204
146
220
230
178
239
129
239
204
210
236
129
190
217
224
164
306
251
210
214
276
193
190
153
204
132
143
222
222
151
201
209
192
211
199
128
215
182
204
173
224
165
201
141
210
164
195
237
129
170
211
143
249
221
149
203
230
129
130
158
173
164
231
146
194
130
146
145
242
201
128
334
156
146
236
271
213
182
204
206
115
130
164
244
169
246
204
185
234
240
235
206
164
195
186
210
154
252
164
213
204
207
204
227
203
158
171
176
221
211
222
173
180
161
182
115
196
166
143
171
188
143
128
261
193
194
211
229
172
238
230
204
175
143
155
217
184
251
204
130
182
145
186
176
188
204
185
166
227
186
173
115
228
143
296
155
197
244
221
164
218
280
229
201
179
218
217
164
130
215
295
208
184
138
146
280
245
146
211
143
191
235
176
263
232
129
146
197
244
221
122
180
204
180
178
173
209
224
281
303
164
177
192
210
169
238
262
229
214
293
173
164
204
141
247
202
186
151
249
177
225
173
198
187
228
191
143
179
201
130
189
225
183
228
184
161
224
143
161
149
201
217
186
259
275
146
179
146
210
166
183
211
221
191
212
181
163
173
189
143
225
182
146
158
188
193
193
228
167
210
151
199
200
128
180
192
173
176
250
252
128
178
179
200
168
133
115
200
145
211
171
133
169
221
169
204
188
182
240
183
152
180
162
222
223
139
207
217
246
181
283
210
179
129
208
206
122
211
216
173
183
193
177
192
144
141
130
184
255
253
177
212
157
115
155
222
216
202
258
149
216
173
130
189
205
194
179
153
185
166
214
129
276
130
227
182
129
196
141
201
282
146
217
160
196
179
192
217
230
219
201
133
132
146
184
173
174
169
146
141
129
182
162
115
186
194
286
200
203
119
199
192
183
168
145
173
174
150
176
199
170
165
138
210
227
216
182
115
214
195
185
230
179
173
161
210
174
259
174
246
130
246
181
183
256
186
172
213
180
173
201
198
173
225
210
146
287
174
177
303
210
259
204
129
200
173
163
156
209
231
223
161
231
218
273
217
233
212
202
146
212
133
199
204
181
253
232
209
250
143
200
231
190
158
224
256
146
182
238
210
251
268
295
146
173
250
170
204
178
184
237
194
270
189
168
130
171
195
264
164
176
217
170
146
183
235
173
119
176
240
179
149
208
129
239
254
195
153
182
264
129
115
264
173
180
160
199
208
173
191
172
173
173
200
164
191
201
130
182
242
143
176
184
188
189
247
236
210
168
141
179
173
216
242
141
201
250
168
227
158
166
146
174
217
183
130
239
207
231
147
146
193
249
215
180
189
158
194
130
250
128
184
180
225
176
224
242
193
145
246
185
179
229
241
213
206
143
206
179
221
182
170
239
130
150
271
246
193
130
188
202
195
175
141
200
228
180
143
146
182
204
129
256
161
181
181
217
236
198
225
225
239
205
152
255
129
176
197
205
176
204
176
185
130
184
207
264
263
188
206
229
179
204
189
217
187
201
168
300
230
176
235
231
234
145
251
274
146
129
187
115
160
176
222
227
184
156
129
182
222
153
213
274
175
204
196
162
145
215
199
210
239
200
160
178
229
167
179
209
184
204
180
183
191
178
200
222
133
130
191
247
189
138
191
183
156
181
202
141
238
258
184
168
237
238
183
176
206
176
185
209
244
173
246
216
217
330
122
183
214
237
284
234
211
254
197
342
283
182
243
210
225
174
266
221
219
224
195
270
204
217
183
200
146
176
130
183
158
133
176
235
176
193
130
146
177
179
230
186
199
195
129
218
184
146
303
168
130
216
246
283
189
177
179
205
192
175
272
194
224
129
196
204
201
173
204
162
228
209
199
129
216
222
145
258
169
197
234
169
129
129
192
130
239
141
244
221
156
193
173
181
158
168
199
155
197
173
258
153
221
175
185
186
196
129
180
238
180
200
209
166
172
183
200
241
261
204
221
184
143
164
188
220
164
150
180
211
247
191
254
238
173
149
213
169
177
133
178
244
247
176
164
146
235
192
166
205
275
210
179
133
145
166
178
243
204
146
184
173
208
176
173
170
144
195
238
202
130
164
203
239
204
176
198
143
228
158
145
188
204
158
173
143
130
229
246
212
164
265
157
190
175
250
163
215
158
130
181
146
186
246
241
173
214
167
217
219
162
174
206
165
200
184
168
215
122
190
166
185
236
199
227
164
149
238
192
256
133
182
168
210
182
145
170
204
155
170
240
236
264
225
178
150
138
181
115
201
173
260
210
178
146
184
191
150
246
146
130
171
200
183
138
146
200
241
155
202
129
209
216
185
173
133
194
130
187
262
132
170
164
169
184
204
214
249
203
287
202
247
247
178
164
172
202
249
212
209
193
216
219
186
155
129
281
211
236
200
284
176
185
193
230
213
264
180
222
201
231
173
180
130
155
238
263
174
133
169
248
207
130
238
173
122
156
264
185
246
210
158
188
163
204
197
198
129
176
219
238
230
210
129
185
146
227
281
240
171
195
195
226
191
156
235
164
197
210
185
178
146
198
185
236
168
247
269
204
129
204
129
279
252
133
129
178
217
190
184
184
203
203
188
164
184
206
188
240
143
206
280
151
235
257
143
204
199
129
160
226
236
168
184
122
268
173
133
239
254
216
222
199
132
255
150
173
145
188
204
193
176
133
167
185
182
210
192
226
214
210
266
217
170
191
164
193
288
145
128
283
165
129
122
185
233
168
218
172
180
129
159
255
221
218
246
222
226
211
173
210
190
166
209
130
190
141
217
226
173
177
222
200
210
187
189
163
173
261
216
182
173
208
204
161
145
210
206
213
133
204
194
173
173
182
211
204
156
222
155
164
248
242
221
239
209
212
162
222
129
184
244
187
152
264
173
158
146
199
214
219
222
150
168
230
130
173
222
299
246
155
149
238
219
132
186
238
281
122
176
200
155
227
188
133
180
129
168
173
158
206
208
186
185
206
174
166
177
214
297
178
179
230
173
202
155
129
133
232
202
198
206
225
173
169
204
133
129
132
227
156
129
173
274
133
242
133
143
130
169
155
145
155
250
150
176
129
146
234
184
242
162
204
211
193
201
176
178
185
191
183
168
223
181
203
157
188
244
179
176
156
178
258
211
158
248
158
184
220
194
162
184
172
202
274
193
164
129
209
156
220
212
224
232
204
221
201
168
173
182
188
201
204
211
183
145
133
194
176
173
160
250
222
167
187
211
246
204
206
237
204
211
262
208
286
176
158
287
180
227
227
222
195
192
171
245
145
207
184
152
191
178
182
173
205
207
176
132
165
204
221
259
202
212
168
258
146
189
211
209
203
186
151
188
201
221
199
141
173
179
133
162
146
236
264
249
146
202
241
200
177
218
173
209
274
163
230
172
176
181
202
200
210
206
150
245
146
133
253
130
192
239
170
224
165
173
173
155
166
236
122
196
165
240
155
239
148
210
263
262
176
250
206
164
145
143
144
231
261
210
178
247
216
264
145
190
210
129
256
202
239
222
239
168
119
176
185
204
210
160
202
189
222
210
221
185
231
195
143
143
183
173
253
227
173
145
202
179
278
115
229
197
195
199
168
221
205
186
209
209
167
276
162
146
141
190
183
150
159
195
289
255
185
212
265
227
176
184
174
158
174
179
227
164
178
130
258
162
228
157
235
176
177
275
130
178
213
181
217
198
218
226
188
184
173
223
232
173
198
119
211
180
213
173
177
133
144
181
204
146
236
202
143
115
159
138
244
141
181
228
191
221
149
146
294
173
202
180
234
145
181
180
162
130
203
115
166
244
192
204
182
173
160
260
115
205
130
168
129
184
190
177
171
232
264
155
188
203
238
242
175
149
189
130
170
300
200
211
207
133
159
217
204
170
194
174
221
129
335
198
176
180
242
129
145
173
195
210
225
145
147
205
254
221
211
250
210
176
222
183
212
206
335
146
267
146
300
182
166
176
204
191
210
183
129
222
209
188
262
204
202
252
200
194
182
218
192
168
194
173
204
188
172
187
202
230
164
185
217
130
187
204
176
130
146
128
251
160
129
193
164
223
176
222
171
179
178
133
182
182
260
184
180
198
151
263
151
184
184
129
278
164
202
191
250
217
230
183
203
194
228
177
237
299
231
273
210
202
216
197
199
228
218
184
146
150
300
236
194
222
184
201
187
198
217
171
203
156
229
162
176
217
209
192
204
145
227
183
190
210
173
210
226
230
195
170
224
178
193
230
255
181
164
196
146
146
173
199
167
207
238
149
180
210
153
187
164
170
215
166
173
202
200
152
181
188
174
129
212
161
190
187
296
202
143
190
218
115
164
173
283
173
245
217
176
235
180
178
179
130
221
176
164
145
216
223
167
225
160
185
185
295
178
176
130
216
204
182
148
158
209
198
158
160
283
185
162
202
239
164
206
115
182
209
229
217
153
192
234
264
169
240
203
268
211
222
238
158
205
248
129
234
129
183
145
172
189
205
165
210
178
173
176
209
221
165
166
146
211
230
190
202
181
173
183
182
129
162
241
162
157
184
206
210
217
178
174
211
258
168
204
217
166
262
181
203
146
152
143
143
237
180
211
203
198
230
238
169
212
191
194
197
210
264
170
274
133
179
179
184
206
176
176
245
158
209
217
176
195
201
162
185
187
229
211
129
156
216
183
166
149
179
186
130
178
151
260
155
130
221
210
214
204
199
219
138
212
257
146
204
173
168
174
168
228
188
130
265
149
228
211
234
197
145
146
194
219
146
264
184
217
181
128
151
170
150
129
184
257
201
239
178
162
279
168
213
129
166
145
239
273
184
210
176
235
204
129
250
182
202
176
210
199
176
247
129
228
176
146
141
198
189
129
150
200
222
204
178
129
129
189
207
115
129
162
212
130
181
161
217
163
244
204
237
162
162
143
231
251
184
173
204
246
143
130
195
133
188
130
206
208
157
115
299
130
204
155
217
168
209
129
269
248
283
206
228
191
145
236
182
185
130
206
211
146
177
234
173
221
214
187
164
256
284
178
177
167
150
162
211
185
200
168
206
219
133
168
177
201
211
170
202
219
129
144
145
209
191
183
218
158
144
164
256
157
128
200
245
180
145
204
193
184
176
146
122
217
251
175
259
230
177
185
206
201
264
178
208
299
184
204
176
171
215
188
288
221
161
240
244
178
192
239
168
189
238
214
234
130
167
220
144
214
199
176
232
176
166
155
191
173
192
204
186
150
236
203
245
168
217
219
206
248
197
248
202
143
199
174
227
252
168
143
171
217
145
245
173
192
246
169
182
115
191
217
209
202
234
226
169
192
205
188
129
191
185
206
263
335
210
252
190
212
130
245
161
173
244
210
161
199
164
251
206
203
232
217
208
211
194
130
202
158
176
191
195
129
180
184
195
141
130
283
193
196
169
149
174
146
246
225
230
191
176
173
216
204
166
222
130
212
203
260
204
133
267
231
155
226
162
230
146
210
269
216
204
204
204
146
187
173
179
198
232
171
204
133
204
216
228
182
166
200
209
182
146
143
143
211
209
213
204
145
183
207
188
146
222
164
173
203
164
231
215
206
227
122
178
201
119
219
211
191
272
213
183
146
309
198
169
209
189
195
231
158
145
246
189
202
185
201
168
172
191
174
236
188
218
225
168
223
168
174
204
172
143
239
166
169
284
173
224
156
184
185
217
145
161
205
224
263
185
155
174
206
233
184
188
164
129
198
184
234
174
193
193
176
190
201
141
145
153
176
169
248
189
218
173
184
205
211
204
179
130
249
183
191
173
184
185
217
145
228
168
226
168
201
211
168
200
238
176
170
219
211
115
183
162
194
193
171
238
129
130
155
138
182
192
233
190
178
162
202
130
214
204
173
197
185
161
194
206
201
187
144
210
160
241
300
245
173
115
145
204
168
204
187
169
210
174
183
182
185
161
207
150
168
142
230
236
164
204
217
162
242
202
130
173
130
164
179
203
194
162
145
207
176
133
210
184
150
153
216
164
157
206
143
198
167
133
210
231
146
204
173
179
184
141
235
179
236
115
192
176
198
230
198
129
176
168
222
145
168
184
193
191
214
143
230
204
166
129
235
202
122
130
191
155
204
158
249
217
306
191
164
173
210
129
218
201
184
263
287
173
238
190
209
187
263
262
200
182
246
166
133
159
229
150
175
195
176
141
130
170
179
203
219
143
185
200
179
177
189
191
138
185
192
173
173
158
185
335
193
147
236
158
133
128
204
178
181
207
198
191
201
133
231
246
223
188
225
166
176
234
166
230
212
155
191
176
191
225
204
295
237
180
129
200
168
240
179
217
226
204
217
179
248
244
163
191
191
232
185
152
204
164
195
264
190
184
156
211
219
237
205
219
255
212
130
214
191
184
187
146
165
143
143
188
185
173
176
214
212
200
184
172
224
164
133
158
214
165
266
210
177
210
146
200
248
210
146
184
175
246
192
222
210
176
176
214
197
210
173
190
179
228
178
119
173
138
180
246
210
176
261
251
210
246
194
145
254
190
165
226
235
193
146
130
130
207
200
191
252
216
115
130
210
248
129
172
158
187
181
162
179
238
173
268
242
216
254
224
186
176
246
267
244
225
132
160
143
185
204
239
215
230
219
150
181
183
211
188
173
217
176
173
203
239
199
190
239
190
178
217
186
224
162
194
176
184
150
176
206
200
179
192
234
188
146
153
155
156
190
236
141
274
202
122
205
133
211
181
122
189
146
129
212
178
173
236
181
217
250
146
185
128
202
201
320
129
158
251
132
204
231
150
174
231
221
191
190
184
189
207
260
200
133
211
173
175
143
268
210
161
164
211
168
129
205
147
193
275
236
199
168
191
212
204
176
156
231
192
130
184
232
160
184
265
238
189
204
172
182
139
200
179
181
162
146
129
191
133
194
178
115
173
144
191
209
174
191
209
188
230
173
194
180
210
168
143
178
181
133
186
251
216
335
202
176
227
151
160
219
212
211
168
200
230
192
162
192
182
202
138
194
234
194
155
227
220
201
217
133
256
170
191
129
184
214
231
200
182
156
149
239
167
194
150
190
211
176
186
214
147
218
138
178
144
239
173
236
228
202
153
207
141
172
236
188
225
200
173
149
157
200
238
259
211
187
187
250
207
201
181
168
191
202
178
190
238
197
174
226
129
173
169
167
227
168
161
193
214
143
227
200
221
261
227
186
210
210
170
257
191
145
165
133
179
174
173
146
201
205
247
152
292
156
192
299
210
210
242
176
201
261
201
176
258
209
184
230
200
200
130
216
230
199
237
254
133
145
173
261
203
241
236
187
130
176
184
260
224
155
179
146
146
247
160
170
230
199
132
129
202
184
188
206
190
173
225
146
210
196
179
248
186
208
246
173
194
130
202
185
256
191
172
179
204
143
173
232
303
201
209
230
178
146
217
115
227
176
227
233
143
176
202
204
146
128
168
176
261
129
214
173
176
222
213
183
204
204
156
202
158
201
227
141
146
185
168
217
216
162
168
208
216
177
209
180
217
217
192
197
236
228
230
287
188
220
188
217
168
151
222
286
335
180
238
221
146
150
156
202
146
129
150
193
156
238
181
217
210
200
188
202
155
227
199
130
222
195
203
202
238
176
129
203
335
226
243
175
185
198
146
180
208
115
143
222
204
244
152
210
178
244
200
181
150
199
185
204
198
164
195
217
176
294
195
185
254
242
230
115
202
183
129
155
194
122
160
146
170
218
194
182
215
194
209
211
195
160
173
211
188
207
172
119
122
158
207
156
169
204
198
179
200
129
145
179
180
182
184
201
222
176
217
133
263
179
189
173
286
150
199
176
203
210
145
147
192
129
335
164
185
171
232
185
217
115
201
170
250
198
210
209
150
193
231
173
174
179
216
159
230
130
220
191
122
129
129
155
181
174
166
147
195
204
259
237
189
224
221
146
201
217
240
204
183
211
186
128
229
169
237
173
211
199
218
185
173
169
192
181
192
162
176
201
210
236
219
224
149
195
138
115
174
204
173
164
233
186
180
209
129
185
247
164
213
130
129
209
150
185
217
162
195
238
185
224
230
173
204
204
173
193
217
221
197
238
138
256
162
200
169
129
151
143
146
216
143
130
195
175
168
129
200
160
200
232
214
210
236
171
204
173
207
201
130
205
234
129
164
168
226
229
195
229
183
186
157
160
256
246
197
133
276
191
252
146
216
211
145
210
185
214
192
253
214
174
236
200
199
204
190
199
180
211
249
183
236
287
190
157
208
182
221
128
172
258
192
236
225
184
239
221
179
253
227
204
201
168
201
243
143
201
233
133
171
176
158
201
272
204
200
210
225
249
164
198
188
155
148
162
234
170
226
146
146
169
130
147
188
205
210
172
204
177
208
161
164
180
173
129
129
207
242
149
201
129
183
183
173
182
242
189
201
204
143
146
197
180
244
236
145
188
211
166
217
199
173
162
247
162
211
235
169
183
189
195
255
182
180
176
181
184
192
178
211
158
191
181
205
272
200
175
180
173
164
200
289
175
182
216
307
170
146
162
243
221
169
236
186
129
173
178
230
227
197
211
180
222
165
252
129
199
180
158
218
188
200
204
226
199
180
240
254
176
204
222
177
130
209
146
210
211
178
170
184
202
201
274
191
287
133
204
230
164
150
210
226
192
170
301
230
141
190
177
204
229
164
176
254
210
129
210
169
160
234
129
240
182
229
213
182
173
146
193
161
179
227
261
226
192
240
237
251
146
193
202
239
224
130
256
152
176
129
199
260
180
211
238
156
220
166
210
223
179
193
150
179
226
115
199
217
180
150
236
247
145
216
204
201
156
213
176
229
261
176
222
146
267
162
145
224
229
161
180
150
146
158
194
130
150
162
212
146
173
166
199
150
158
182
213
187
230
164
266
156
176
211
227
202
187
209
122
186
133
155
225
205
146
179
191
195
155
169
219
208
133
155
200
115
146
128
130
115
204
172
201
175
239
227
138
192
151
173
164
143
191
174
230
198
239
140
149
146
172
204
150
233
221
243
129
288
239
193
176
199
230
180
166
146
192
243
176
143
171
226
225
173
193
218
130
184
203
184
233
185
195
236
208
230
192
254
198
168
182
184
162
184
217
115
152
153
222
179
130
146
274
191
184
163
191
157
185
156
211
178
170
180
161
172
200
224
146
129
178
176
178
178
143
206
214
197
184
245
183
146
133
173
187
217
280
146
247
237
205
168
193
204
202
169
197
206
141
192
283
183
199
205
190
200
203
204
176
164
241
196
179
194
147
187
130
180
214
162
242
214
151
143
173
177
122
172
146
133
158
129
236
186
294
145
205
168
223
129
190
203
272
225
252
200
189
129
191
247
193
162
161
168
201
183
150
210
237
151
146
200
192
208
216
217
210
208
222
214
145
194
264
128
259
196
180
229
300
254
174
146
225
238
190
169
245
172
150
191
194
200
192
163
130
258
146
166
176
115
174
129
186
264
129
129
206
186
141
197
193
247
204
252
183
146
133
261
156
174
246
201
177
162
146
130
236
173
160
268
255
250
226
176
204
168
239
204
212
145
229
115
182
204
238
146
129
162
150
158
182
164
265
263
193
225
147
152
174
204
199
226
178
145
130
232
162
130
180
206
181
200
233
191
191
129
251
261
200
195
209
162
145
211
203
130
180
171
225
222
130
133
240
173
184
130
221
122
184
191
185
202
165
192
115
206
210
145
174
129
222
208
192
150
200
178
173
173
168
163
255
164
218
296
130
185
158
210
200
195
129
129
146
236
141
211
158
236
210
143
115
181
165
236
146
229
158
146
248
164
176
202
211
257
210
155
187
203
129
145
230
204
173
174
130
129
217
144
191
146
204
202
237
193
288
197
176
156
194
265
236
182
263
205
146
206
213
180
178
129
214
164
162
169
158
210
176
152
146
122
248
254
176
156
192
158
186
182
218
191
230
240
247
174
222
228
162
184
180
267
166
254
130
129
128
204
202
203
197
189
160
199
168
161
246
228
174
267
173
129
164
202
226
158
229
156
187
219
145
168
147
238
147
179
251
181
225
212
182
182
162
204
200
219
176
211
130
129
149
164
129
144
164
129
237
191
180
194
222
244
160
173
178
208
273
256
175
195
177
221
236
176
227
237
176
146
214
143
129
209
143
227
143
179
188
185
201
150
172
163
130
243
180
206
132
221
231
216
208
171
211
209
214
146
262
167
178
244
158
158
192
219
160
230
237
264
190
217
219
212
230
255
178
189
146
258
210
171
222
283
200
250
202
173
191
178
206
185
183
171
169
166
217
198
301
168
155
214
138
182
283
186
195
201
115
248
236
214
133
230
164
240
212
211
254
238
170
188
146
158
171
146
146
176
206
176
142
239
239
159
183
184
183
245
157
176
194
255
238
179
146
138
164
146
226
207
172
195
119
207
232
204
236
234
201
178
257
202
146
152
178
275
214
176
179
211
157
115
207
213
200
191
202
221
206
214
210
164
201
183
211
205
204
259
144
247
279
133
130
202
217
129
149
188
207
115
166
122
217
143
162
217
129
161
152
224
129
213
227
262
146
164
178
201
152
122
182
260
173
169
176
130
129
176
133
213
162
166
179
162
152
203
217
153
188
259
202
133
204
182
143
129
197
240
230
122
129
162
221
196
219
176
143
171
222
145
216
236
230
164
192
189
225
171
170
159
143
168
217
161
313
225
213
211
130
173
194
200
195
173
214
166
185
239
185
218
145
173
182
204
230
129
147
221
183
205
144
160
218
145
146
146
166
183
238
238
204
211
145
180
143
287
146
155
179
129
130
191
250
161
178
226
146
238
197
115
176
216
262
214
173
129
230
173
261
155
143
201
146
217
129
261
173
217
129
287
198
129
166
129
288
237
229
129
203
129
206
176
243
158
173
318
223
130
161
226
152
256
190
150
229
129
224
173
157
153
133
190
211
225
242
176
197
303
128
130
227
200
213
209
179
141
133
160
132
222
168
169
164
244
206
176
222
146
274
143
202
159
172
145
146
174
166
150
175
202
146
231
141
188
157
201
188
211
119
218
181
176
211
181
261
175
236
209
200
155
133
184
217
173
216
184
129
162
158
225
231
238
190
176
189
161
255
203
201
191
170
173
191
312
176
173
237
164
145
188
129
190
199
177
158
281
129
160
258
178
149
201
193
201
248
145
230
164
219
239
185
188
232
203
161
200
204
229
193
235
172
130
200
163
164
145
122
179
178
130
277
217
130
213
216
178
141
217
146
198
174
130
202
214
192
208
168
162
204
204
239
150
202
225
183
272
206
335
138
161
202
179
173
204
163
193
129
204
129
122
178
164
190
119
207
181
278
179
216
256
200
168
170
247
187
132
167
161
259
232
216
176
174
222
217
161
204
259
190
185
191
156
185
133
212
198
206
217
176
155
146
291
210
130
133
143
158
227
296
225
222
263
185
150
173
128
143
185
133
211
165
207
216
181
259
237
181
217
195
195
191
201
155
173
115
209
204
193
195
208
146
177
184
173
244
189
206
184
161
294
223
130
122
243
162
130
202
129
205
221
186
188
263
239
157
178
187
145
181
179
155
204
236
193
236
156
263
253
225
217
160
158
176
176
192
210
130
150
210
210
129
221
245
259
204
333
259
164
228
212
185
182
172
202
224
131
173
197
149
147
224
244
178
210
217
162
245
246
203
217
176
130
254
176
200
184
185
170
200
202
206
239
168
115
204
129
153
156
214
178
230
146
182
302
244
248
214
263
234
202
228
252
178
196
168
184
176
150
247
145
176
214
158
211
177
173
264
169
191
179
176
130
180
150
133
224
263
275
225
272
229
223
292
239
182
146
199
152
228
173
176
212
211
176
156
161
276
129
181
196
239
242
214
192
156
168
248
194
164
168
115
149
166
146
201
156
179
182
202
191
209
281
166
182
253
233
129
226
220
193
158
191
216
130
214
179
176
173
201
129
179
192
217
161
222
234
129
197
143
188
162
228
174
133
183
213
206
184
180
199
238
239
217
146
129
146
164
129
133
208
146
167
226
161
258
158
202
185
115
160
243
178
242
178
236
247
186
206
162
205
199
173
236
146
219
229
210
164
181
132
170
179
201
173
160
200
168
212
167
198
130
194
128
200
207
210
178
173
230
222
241
239
272
193
238
177
184
174
182
176
210
198
189
176
160
129
182
236
209
132
209
176
164
200
185
195
202
130
138
246
141
180
156
182
160
143
187
244
162
197
210
176
187
178
129
217
181
199
170
151
239
133
175
200
204
185
239
281
158
156
213
164
224
185
185
209
145
226
217
129
212
176
173
236
299
194
170
201
180
237
214
204
192
216
187
155
173
166
215
200
173
200
217
227
199
160
192
235
182
217
211
176
146
210
211
234
189
130
184
201
204
201
175
177
205
138
240
164
181
176
179
261
191
232
186
168
176
221
179
232
171
178
193
200
133
176
182
238
191
210
198
194
215
191
203
160
182
143
228
155
193
211
165
130
180
240
191
146
129
222
300
183
196
188
214
213
115
188
239
156
165
173
130
225
181
173
211
264
178
254
214
208
197
173
224
206
146
197
206
239
211
155
195
259
169
183
202
172
179
141
199
160
191
217
227
183
205
214
150
156
253
149
216
153
229
237
218
183
146
194
158
146
302
129
178
254
143
176
201
204
191
200
202
209
171
190
277
185
205
180
244
130
170
162
152
158
233
158
189
141
145
213
143
234
229
191
158
170
203
263
217
255
215
155
215
210
238
176
217
254
214
152
145
222
204
172
161
174
209
184
192
186
174
176
173
145
166
229
247
180
257
146
239
204
202
176
143
221
277
244
179
227
210
166
128
195
207
271
133
255
188
130
226
187
176
183
308
319
151
252
245
156
221
168
189
146
162
158
173
166
230
218
173
115
188
187
239
145
219
192
146
192
184
222
129
168
191
261
240
202
143
133
130
169
236
188
179
266
195
145
144
202
258
223
213
122
138
206
130
130
130
192
147
158
222
263
201
203
205
173
170
242
146
195
227
204
204
231
211
191
202
188
172
173
192
145
180
180
201
163
253
173
171
160
148
146
173
155
210
173
130
150
151
191
211
156
211
190
189
176
185
129
227
206
219
133
145
133
210
227
151
130
130
164
132
173
221
145
207
282
222
218
183
270
188
230
130
130
173
221
239
138
210
174
221
185
176
188
155
200
133
189
211
188
276
145
244
194
171
183
176
173
206
185
313
202
204
180
168
184
178
217
130
160
207
186
133
184
227
296
210
217
297
325
204
130
239
130
173
204
145
184
129
196
130
290
230
205
145
198
335
283
192
180
217
168
172
200
173
200
212
185
209
204
158
130
130
178
201
133
283
249
249
141
130
222
202
211
241
161
147
198
161
169
144
181
217
225
178
130
130
129
182
148
176
182
133
206
129
133
226
176
178
176
186
164
206
151
211
204
174
166
185
146
179
182
171
228
164
206
160
218
263
130
158
211
233
245
181
153
202
191
214
259
184
254
204
199
167
217
194
169
151
143
129
208
300
201
194
155
171
179
171
182
150
221
151
283
212
206
185
188
211
173
320
208
145
146
164
145
260
201
176
210
209
199
204
164
176
239
146
182
173
161
167
248
264
194
217
210
181
176
230
162
222
280
149
130
225
184
194
216
204
133
155
202
133
173
236
171
251
182
150
181
130
176
141
214
211
130
205
176
197
192
206
202
157
143
236
210
161
261
168
202
246
173
122
179
241
200
145
158
195
206
247
133
219
130
244
196
204
247
190
204
164
204
173
179
224
129
210
156
157
144
129
221
145
229
195
232
130
227
201
166
262
190
205
198
185
149
146
209
184
227
166
171
219
202
176
238
150
230
217
256
191
146
229
201
239
122
259
144
130
222
158
173
185
221
204
133
129
230
182
148
206
221
195
144
147
252
198
179
221
271
192
206
189
133
145
179
217
238
179
221
143
196
223
236
144
212
178
201
202
233
205
172
177
195
197
160
202
168
173
141
179
161
143
261
239
254
201
160
130
182
174
282
210
182
229
254
150
265
183
173
168
164
146
206
191
204
298
199
227
201
258
217
252
251
176
193
186
200
173
152
173
211
191
155
162
212
206
122
122
202
222
221
166
179
215
185
158
162
247
192
146
180
191
210
179
195
155
207
195
200
199
150
191
180
163
200
194
153
217
195
184
178
164
174
266
210
239
231
208
183
201
255
145
190
176
180
231
203
217
200
146
264
270
143
176
176
133
229
171
218
218
174
211
133
173
250
188
225
209
225
138
179
158
129
263
227
204
184
238
175
162
173
144
177
145
184
242
227
226
231
131
182
205
130
146
183
175
174
187
162
162
166
272
158
202
202
240
156
238
160
168
177
149
203
153
176
194
251
208
188
185
169
214
265
261
217
298
130
143
129
285
234
168
149
231
162
198
161
179
122
254
174
263
146
178
271
184
203
202
233
132
174
158
211
151
201
218
195
214
181
169
146
237
210
204
240
212
264
158
152
122
186
186
211
204
163
181
253
211
180
155
173
176
182
129
185
173
170
163
169
208
174
200
161
155
164
254
177
211
234
236
186
235
173
130
184
238
210
144
199
145
211
244
195
163
146
213
219
231
193
143
164
200
258
173
181
238
186
223
146
176
230
178
217
129
115
129
230
252
250
205
335
147
129
179
212
204
146
129
204
263
146
145
157
231
224
182
233
211
210
265
183
176
184
115
249
188
200
201
201
204
149
169
197
151
179
196
149
176
214
173
141
222
195
211
190
204
198
198
158
242
138
219
238
224
200
226
240
179
205
170
199
133
142
169
258
234
203
176
245
214
204
171
200
229
129
264
185
196
164
218
191
235
215
281
173
157
243
158
180
127
129
219
210
217
191
178
115
210
260
214
200
146
188
216
200
147
194
158
177
175
216
235
226
141
158
264
261
157
206
189
211
130
335
164
190
173
153
200
130
158
284
192
261
182
115
198
201
214
211
228
174
168
260
246
184
161
115
149
204
225
233
231
291
179
130
162
157
143
260
164
130
223
146
153
178
174
164
173
122
225
162
217
251
200
228
143
206
245
202
204
214
246
211
191
201
205
223
191
194
195
204
211
129
183
191
247
206
204
300
129
192
204
170
262
129
174
199
130
145
244
209
145
206
157
138
133
173
146
204
218
178
162
275
172
276
179
183
201
152
216
179
181
264
141
232
216
176
212
146
183
217
285
192
149
204
189
211
168
241
151
119
218
119
236
143
160
294
143
211
211
168
162
196
185
129
202
179
153
210
132
129
146
173
212
170
132
176
182
230
176
160
240
230
176
171
173
176
217
164
197
217
262
257
170
133
131
211
150
237
146
162
217
176
214
204
129
237
195
217
238
183
219
202
242
152
209
274
173
204
143
235
128
246
173
129
204
173
296
133
171
176
151
195
216
145
176
222
228
221
183
130
191
138
237
184
181
152
169
160
169
229
169
178
129
119
115
202
214
216
129
166
199
158
162
132
180
192
158
203
228
244
210
204
274
210
146
205
143
183
239
225
146
210
206
141
240
146
173
198
203
155
214
132
143
191
198
214
143
173
191
230
222
177
184
168
197
221
180
182
197
153
183
174
214
192
141
171
241
244
173
158
229
205
235
217
168
294
171
130
141
203
173
150
204
209
219
146
189
169
188
173
204
238
149
183
216
227
184
254
230
193
184
230
228
227
177
133
192
145
195
353
217
217
190
173
215
187
176
195
185
180
129
130
229
172
169
133
248
210
173
251
210
206
190
173
185
204
206
227
167
182
183
166
264
217
202
220
195
133
204
238
145
146
230
263
175
202
219
192
146
182
235
179
219
180
235
146
236
225
191
218
170
192
224
209
206
169
119
223
150
130
187
185
227
178
217
178
206
183
128
129
180
178
176
211
287
214
274
146
150
198
191
202
204
195
181
160
212
216
208
193
160
216
156
258
179
183
220
239
194
191
274
208
226
151
188
173
217
179
173
281
115
219
166
230
201
156
187
165
133
228
299
184
192
115
130
170
238
172
160
129
192
208
141
188
133
275
115
173
210
188
239
196
228
173
159
217
185
217
179
193
147
192
255
133
238
168
250
168
269
252
176
198
227
188
174
173
156
160
237
179
264
200
206
217
218
130
132
202
147
179
144
157
115
176
265
195
194
211
214
182
202
211
170
185
166
177
176
115
229
200
335
205
212
196
219
183
143
188
173
180
184
161
202
252
189
182
181
252
179
204
235
138
268
155
171
234
143
164
238
226
242
151
167
176
162
215
267
167
182
210
130
212
243
195
238
182
281
319
146
300
130
204
218
199
253
211
202
182
200
145
217
169
189
254
204
149
227
157
204
122
200
260
129
168
210
190
198
191
178
242
155
158
176
188
177
199
199
210
191
176
180
264
143
201
145
176
130
198
149
130
133
251
129
191
197
210
209
130
122
239
132
247
222
182
155
252
221
239
149
152
259
173
176
188
164
168
186
208
210
211
129
194
214
199
174
141
216
225
219
151
215
183
212
182
145
195
170
182
141
239
182
238
174
184
175
176
233
202
164
244
169
173
157
238
128
237
215
216
122
239
171
267
204
215
206
209
204
202
299
133
173
179
258
202
229
173
130
203
178
224
230
194
146
166
224
164
143
129
182
204
162
220
199
146
130
168
163
185
122
239
200
195
158
222
204
239
225
216
237
143
204
209
174
189
235
263
151
179
204
214
138
250
185
209
194
173
185
192
176
334
149
287
157
246
115
278
236
168
141
253
219
204
181
173
192
130
146
173
237
210
147
204
168
129
201
225
168
217
146
194
209
227
133
146
199
145
236
194
189
153
201
262
141
218
187
169
211
145
160
208
146
186
169
175
158
228
164
210
228
261
190
130
182
190
300
187
182
145
184
115
211
167
206
175
160
192
198
212
190
188
191
183
201
130
177
223
243
214
270
176
253
219
227
181
252
164
133
164
186
205
130
164
262
206
162
275
173
182
261
258
169
211
179
183
129
192
197
171
115
155
176
216
204
162
183
138
246
130
207
210
156
217
156
171
143
115
203
162
244
144
129
206
193
276
168
143
204
203
203
222
155
156
247
178
178
122
194
173
178
196
185
213
186
229
129
271
153
244
130
165
183
188
173
173
182
204
211
146
245
247
158
216
178
178
237
145
202
149
179
162
206
225
187
272
217
235
144
156
190
148
201
237
204
218
146
216
160
199
264
157
205
201
288
183
200
210
217
200
191
251
238
217
281
173
233
230
228
176
138
129
246
212
179
255
129
201
206
231
182
233
162
143
158
266
149
194
221
183
225
157
179
191
173
146
206
129
198
184
259
229
176
186
259
205
157
206
239
176
191
160
285
145
167
180
164
245
188
166
203
202
205
226
225
150
158
143
183
250
193
251
174
212
173
146
186
213
174
145
183
146
115
212
229
205
164
155
218
184
162
253
178
204
133
218
205
283
218
225
218
175
202
197
183
115
320
230
209
253
188
141
162
236
208
183
195
251
179
195
294
185
115
193
157
173
143
190
214
236
129
129
115
181
122
230
193
204
225
128
253
191
204
181
153
194
168
176
141
130
179
201
158
166
226
177
183
176
230
168
156
191
189
146
229
258
168
168
157
161
155
245
209
202
155
144
133
210
230
194
204
182
211
168
201
259
201
141
130
145
155
206
155
243
239
197
211
200
184
283
209
150
239
187
264
258
217
260
230
227
204
190
182
249
164
130
228
223
232
203
218
217
228
224
217
182
150
143
219
224
198
129
194
253
200
184
157
253
188
215
194
166
211
129
183
179
188
171
160
155
238
160
195
227
188
174
193
210
185
201
228
146
177
202
129
198
238
178
205
165
267
130
172
130
203
178
187
180
217
221
208
179
228
129
208
214
247
265
214
145
217
129
173
263
188
228
171
203
201
129
182
150
208
132
176
223
130
146
182
176
146
195
130
178
176
203
152
186
212
247
146
209
200
181
115
264
196
216
203
204
119
200
209
155
160
143
173
217
146
130
130
169
173
252
168
264
143
204
164
216
261
211
195
242
242
238
170
194
129
242
182
204
164
201
263
128
179
146
212
217
228
129
185
218
246
169
158
155
221
129
146
227
158
132
194
203
210
160
130
129
171
217
129
259
295
180
162
186
170
245
184
129
145
178
146
212
177
133
194
293
231
179
152
208
234
225
179
195
122
115
145
256
200
176
171
240
168
303
212
254
166
143
203
174
176
230
214
251
211
210
162
180
129
138
239
204
191
176
185
204
223
205
145
268
130
176
173
145
183
193
176
210
146
272
129
216
194
200
290
198
187
199
246
184
168
183
185
162
202
160
193
238
215
201
148
184
146
199
211
212
204
230
143
174
226
299
239
189
265
244
160
146
255
168
205
194
217
204
247
238
162
188
162
178
235
227
235
190
358
173
167
183
220
227
130
259
130
188
254
195
238
122
222
216
162
214
187
201
204
204
130
201
146
141
265
232
230
238
219
156
195
195
180
143
217
200
173
211
273
161
179
206
129
236
179
183
263
245
176
186
129
133
222
156
130
240
203
129
179
197
225
173
191
176
163
197
143
207
232
211
236
178
180
263
185
228
174
200
239
180
202
221
168
133
234
222
188
180
206
273
173
203
145
173
231
129
158
204
239
228
230
252
133
201
201
182
146
218
241
173
166
217
200
205
204
138
207
164
213
278
187
173
185
176
179
129
145
176
266
130
249
159
164
190
181
183
204
251
240
195
213
236
179
174
197
195
225
223
218
180
173
214
168
234
203
201
230
222
217
141
168
225
130
247
185
173
254
146
202
146
146
184
143
252
210
141
172
115
179
251
226
246
152
212
130
129
219
231
150
144
171
222
204
242
180
176
211
115
255
173
294
204
269
176
191
217
193
129
217
167
213
200
256
231
155
168
179
213
188
249
186
256
219
202
173
191
222
150
202
200
173
211
208
237
231
210
222
206
225
146
145
189
204
294
144
156
213
128
130
203
225
192
130
157
214
211
171
167
130
158
204
146
262
201
226
129
156
178
174
184
250
210
164
187
158
147
195
130
210
194
173
176
180
228
202
242
184
201
288
191
145
205
182
201
141
159
211
256
198
188
174
231
143
252
160
206
146
206
129
261
206
261
210
230
224
230
193
189
149
176
129
235
217
208
241
175
156
202
195
173
119
221
223
227
168
211
262
210
189
176
143
184
130
213
201
261
178
162
246
227
133
150
234
241
188
226
168
210
228
173
122
190
201
156
188
222
119
191
239
239
230
173
173
191
209
211
207
188
146
214
145
197
129
247
162
156
173
202
271
192
192
264
188
145
169
256
241
219
167
236
162
195
146
143
224
174
181
204
214
297
257
173
220
171
129
161
197
227
233
198
198
164
178
263
162
245
221
201
181
166
158
173
146
129
204
191
173
176
210
192
230
188
235
204
242
150
146
160
207
211
259
230
234
213
240
195
252
212
178
138
156
164
194
250
182
228
210
274
130
202
189
199
129
211
209
179
210
230
230
236
192
130
171
189
246
170
202
145
208
170
221
182
115
174
119
155
168
246
232
236
206
176
204
176
155
227
296
155
185
232
184
236
133
193
180
152
172
149
201
145
179
143
180
143
232
210
270
204
173
253
201
143
243
217
202
234
226
172
186
238
158
129
141
202
143
176
202
155
214
198
169
186
277
188
195
270
212
246
145
140
162
187
214
201
327
260
202
224
169
183
173
240
203
161
180
140
176
173
237
221
191
167
217
153
185
259
122
207
236
190
159
221
222
158
182
173
192
188
146
161
215
236
143
185
190
238
217
169
178
236
176
266
169
218
184
167
169
210
204
185
130
217
281
189
146
259
188
152
248
173
181
158
172
211
176
129
256
149
166
208
237
169
180
236
192
158
130
146
196
222
143
160
245
162
187
130
192
189
266
170
166
162
236
213
244
291
181
156
238
283
130
182
175
162
227
195
188
172
171
175
191
176
214
182
156
129
150
145
158
129
206
229
182
181
249
180
182
200
185
218
312
182
236
292
186
191
146
233
204
200
185
218
222
150
132
230
185
201
210
214
209
167
184
138
225
236
173
197
164
240
130
261
224
191
133
275
178
201
174
132
158
210
201
187
195
187
294
115
191
129
251
193
247
197
210
178
210
122
165
164
259
210
181
173
176
132
173
186
133
129
162
202
221
242
205
161
239
235
168
211
168
226
196
179
215
155
222
146
133
217
129
217
164
217
183
195
174
258
184
130
131
163
162
208
239
270
194
194
178
222
209
146
155
178
162
122
167
214
178
188
281
164
194
186
169
143
176
166
209
174
210
146
194
218
115
197
160
240
130
175
236
177
146
160
226
167
217
283
211
173
162
200
176
164
193
199
324
210
162
115
278
239
143
202
158
185
210
202
221
129
228
211
199
229
129
240
231
200
247
225
161
115
186
143
313
214
237
234
180
149
219
173
141
213
228
191
173
129
161
217
239
240
204
115
175
184
198
166
209
191
146
182
240
205
115
281
218
161
150
130
228
153
201
169
213
169
274
130
150
202
238
173
264
183
183
155
184
197
176
206
130
157
252
173
211
133
226
212
264
256
201
233
133
261
115
209
241
146
217
191
174
178
173
192
252
265
160
115
205
210
164
256
222
164
299
152
145
231
194
167
146
256
146
129
201
179
229
190
128
140
146
146
277
152
156
191
146
173
229
231
146
229
225
180
168
177
234
146
176
184
224
167
174
176
173
259
129
178
160
209
181
201
178
237
201
225
239
164
247
131
194
161
198
185
172
157
264
238
185
202
130
264
197
143
122
256
229
202
167
129
243
160
204
204
188
264
155
133
204
133
237
163
204
182
185
236
178
219
241
217
158
264
197
181
173
176
173
222
217
158
217
207
236
157
263
153
115
152
213
130
200
156
250
180
145
263
200
179
185
174
176
204
181
141
210
217
201
196
146
180
178
247
215
247
143
182
186
161
224
187
215
143
170
217
231
178
138
230
278
217
150
146
176
168
132
205
223
218
158
204
191
226
211
173
211
206
173
236
182
141
178
152
146
185
249
230
227
119
264
230
173
129
129
263
219
205
130
182
173
213
309
198
138
225
191
186
217
186
204
214
146
254
156
204
174
178
159
158
181
234
235
232
283
239
183
182
241
161
163
229
206
210
217
205
191
140
146
212
130
178
193
157
165
206
210
216
237
225
242
252
225
133
141
187
195
216
217
222
234
230
218
187
191
241
141
183
172
201
133
182
264
176
198
155
226
139
228
217
204
224
162
184
158
261
200
189
206
204
176
162
252
146
265
176
190
164
225
258
191
170
181
168
219
179
221
238
231
265
173
210
141
264
236
144
146
264
138
229
262
115
228
115
197
200
200
216
156
164
170
205
129
217
159
227
163
234
192
219
128
171
176
190
244
184
151
172
133
253
204
164
144
261
208
158
266
130
133
188
176
153
178
130
164
186
210
161
129
230
155
169
179
187
145
293
210
173
230
224
171
170
145
197
222
236
162
164
167
173
179
182
202
168
146
130
206
212
173
171
179
138
371
190
209
232
267
215
216
251
211
182
234
201
269
129
150
129
251
178
256
184
201
164
130
215
186
204
217
261
190
179
194
147
204
145
170
215
238
176
152
150
200
206
146
200
187
230
185
173
194
235
236
115
184
129
208
220
186
158
173
146
162
146
168
197
210
168
250
228
184
235
243
122
263
238
150
259
222
132
176
232
206
210
199
288
217
217
217
156
210
180
217
200
182
206
170
182
200
184
210
146
235
133
225
173
194
168
192
168
217
200
184
208
202
176
187
212
150
130
176
176
178
169
173
138
185
254
248
177
182
210
161
166
146
204
241
145
199
189
206
181
176
166
214
155
210
187
180
162
216
146
187
192
231
143
229
207
188
259
210
183
189
194
164
173
200
173
211
232
181
173
193
187
158
173
225
185
130
181
146
157
217
220
204
174
173
228
217
236
217
119
230
162
129
314
166
173
226
164
143
192
146
241
219
130
221
255
180
115
146
146
204
184
240
167
146
224
217
200
180
215
210
168
198
208
176
280
234
171
217
172
209
208
146
187
205
168
130
130
178
244
192
202
129
145
217
180
209
153
247
176
220
176
217
198
129
164
167
119
179
176
221
187
174
158
185
204
225
255
145
180
172
145
188
164
178
217
222
225
188
206
251
200
216
149
212
200
241
133
242
170
188
178
210
158
274
180
146
159
184
179
265
250
115
128
214
170
200
160
153
153
158
218
173
217
210
199
183
141
158
176
207
194
230
133
228
177
168
129
173
133
146
171
185
128
129
129
335
296
204
156
181
228
160
210
211
210
211
164
158
168
194
233
250
186
208
164
217
172
146
169
132
130
188
217
201
256
199
168
223
202
176
180
155
215
164
162
200
158
130
198
150
231
173
167
162
179
129
183
186
300
129
210
146
155
260
130
138
161
201
213
179
256
256
129
128
189
159
157
145
176
191
230
184
189
195
260
211
252
217
115
164
181
217
164
129
173
225
182
192
237
184
209
173
173
195
207
222
183
129
168
173
195
263
162
200
211
164
205
182
219
227
149
181
201
202
179
164
183
152
173
185
129
216
235
179
275
227
192
119
192
146
232
184
168
174
144
205
214
205
157
129
211
129
180
202
255
236
144
239
236
115
243
189
222
408
176
206
201
236
167
130
203
200
200
129
181
170
225
264
133
185
200
242
193
209
285
216
206
176
160
164
230
261
263
139
146
129
242
115
215
133
252
215
200
264
165
226
188
143
227
200
186
209
115
313
208
247
164
158
246
255
165
189
168
176
211
200
146
227
219
211
200
184
161
234
257
238
207
168
171
192
234
260
206
195
229
201
145
206
201
180
261
260
189
164
192
180
168
210
204
211
225
179
186
173
215
146
204
208
192
182
173
146
182
185
225
156
166
204
130
173
215
211
246
178
197
183
130
133
201
191
175
150
176
204
263
236
189
130
158
252
238
129
200
172
128
179
149
214
161
191
191
195
197
229
249
162
209
222
166
199
173
217
256
252
122
251
158
234
300
166
150
191
224
175
161
264
206
234
176
168
162
143
227
200
155
200
216
195
207
200
217
178
168
251
202
146
160
173
130
251
197
184
187
162
193
252
185
197
130
295
141
206
155
230
184
173
178
191
237
115
184
221
129
247
215
250
173
168
203
179
221
201
145
143
115
212
228
169
157
146
190
122
164
173
204
242
153
146
188
153
193
203
241
217
202
210
180
171
196
159
232
146
267
143
188
209
224
178
193
157
179
173
115
153
156
130
174
195
162
204
193
178
204
212
145
182
152
173
202
130
160
146
239
169
204
274
201
129
129
184
246
133
183
182
239
185
164
187
252
195
216
217
227
202
232
191
191
225
199
180
189
168
192
179
158
210
231
192
210
130
235
211
197
205
235
155
167
197
198
252
236
176
262
160
146
238
240
191
206
115
182
144
185
161
177
182
210
198
173
221
162
223
155
201
219
155
204
211
188
183
277
213
217
159
164
165
180
209
183
173
230
193
205
115
193
184
283
173
146
176
238
190
185
179
222
216
178
157
149
178
207
179
230
228
128
186
191
182
171
225
145
191
195
176
239
234
129
164
247
259
287
166
169
129
162
141
151
179
189
173
129
158
158
180
197
192
169
129
203
212
217
146
268
228
146
179
237
191
236
156
182
129
180
216
204
268
192
129
262
200
263
133
191
130
176
217
129
171
190
176
176
209
189
178
258
197
182
175
200
183
244
244
220
238
216
188
207
211
189
210
179
258
181
143
222
273
204
168
192
193
229
178
184
194
230
145
151
162
230
178
183
156
204
221
162
133
129
173
173
173
152
180
156
193
194
162
133
129
210
206
129
184
199
150
194
235
186
210
247
244
141
158
192
184
281
211
160
173
219
233
237
197
158
199
201
242
138
201
230
244
210
163
150
168
221
178
183
207
207
200
203
133
155
144
164
146
238
176
210
168
146
188
153
146
232
157
204
146
206
218
189
177
145
145
194
211
200
216
132
201
151
166
132
133
176
191
255
186
215
130
202
156
236
180
130
170
200
181
171
164
129
204
179
188
172
130
130
156
250
179
172
235
225
257
178
192
190
184
240
264
149
212
143
216
178
133
208
218
259
129
152
211
200
133
192
211
168
152
171
213
178
164
185
186
158
243
242
206
227
143
158
262
147
335
129
152
228
178
226
206
186
222
180
184
130
243
158
179
146
202
198
194
168
208
204
174
327
130
150
201
173
191
162
180
214
213
212
146
165
171
207
227
150
262
200
147
210
150
190
174
184
216
191
182
166
166
211
201
202
146
227
263
133
174
220
216
198
177
180
217
214
206
191
189
227
225
184
146
144
122
252
231
277
176
146
151
200
213
156
199
257
202
146
191
214
228
245
162
143
180
264
214
221
164
185
184
166
209
204
115
180
191
201
161
141
185
146
159
130
202
155
195
173
129
164
188
314
231
211
179
169
209
179
161
138
376
204
150
145
174
179
193
200
192
146
187
176
263
180
247
213
129
143
173
217
152
192
192
169
262
200
228
283
195
185
168
202
173
172
155
178
173
184
274
202
322
145
262
176
183
133
183
217
169
179
250
227
178
164
255
192
204
146
166
263
227
199
143
146
272
157
145
146
151
150
145
129
218
204
180
185
236
176
145
190
261
200
146
191
246
301
197
190
197
201
238
133
146
173
153
209
217
183
184
197
156
157
215
168
173
162
143
205
178
173
200
313
174
183
230
218
271
171
184
244
170
143
209
179
160
197
164
173
138
164
128
155
183
142
250
203
190
173
146
181
276
210
214
173
162
217
259
181
213
191
272
194
201
189
283
179
222
132
164
217
244
207
203
214
238
176
196
146
213
238
206
225
227
204
218
188
150
239
180
138
157
164
197
231
158
204
199
239
231
204
179
163
146
238
183
211
190
202
185
143
210
195
143
194
173
198
211
176
164
145
129
312
130
191
216
198
168
182
129
115
258
197
221
179
231
302
243
257
168
172
166
200
205
205
172
195
150
174
158
122
222
207
222
188
191
217
261
185
182
218
237
180
155
198
150
189
206
220
145
216
146
164
158
198
145
230
161
180
162
145
238
281
225
198
246
288
217
206
201
129
158
225
178
225
160
214
130
236
172
173
263
269
169
204
204
209
223
191
146
130
195
242
164
249
130
156
115
178
171
228
145
130
146
189
195
138
266
189
190
251
164
146
200
206
178
187
200
160
202
146
226
238
187
198
256
155
221
156
158
179
146
218
254
176
201
210
168
177
191
217
204
192
200
212
178
216
191
129
130
176
176
213
300
133
170
199
206
129
230
210
238
178
176
158
138
177
226
129
274
158
221
236
227
183
164
307
133
204
252
179
223
194
213
176
181
222
174
229
239
335
168
201
146
200
230
178
233
186
204
215
170
130
173
138
155
146
188
206
202
201
202
162
133
211
188
187
138
222
209
208
210
230
155
179
172
181
217
162
246
128
204
189
254
226
259
130
239
146
204
130
236
129
205
221
230
160
261
173
184
229
201
184
183
224
170
230
129
211
158
133
184
218
176
156
197
221
130
212
206
173
173
189
151
144
181
130
207
179
179
182
278
130
158
129
288
258
183
211
133
173
208
261
156
172
245
180
230
209
146
192
145
158
163
164
198
129
239
228
213
164
207
215
157
197
181
275
211
222
186
122
209
225
156
156
196
197
213
138
274
155
211
145
185
233
195
217
258
162
200
215
194
173
228
204
205
225
146
158
166
182
250
141
204
200
264
205
207
229
232
158
155
253
192
247
176
210
238
160
173
155
168
209
272
178
211
189
276
218
222
198
245
231
187
217
226
176
234
234
148
206
159
186
145
145
170
115
239
176
184
146
238
201
186
221
325
180
178
171
133
152
191
141
153
221
306
214
207
279
187
173
160
236
273
157
186
187
143
194
176
225
251
157
199
133
260
164
162
187
211
168
156
211
217
138
129
222
173
190
210
162
189
216
182
221
182
214
211
146
146
214
168
202
133
227
221
274
247
175
252
180
146
219
169
235
170
190
146
253
292
146
222
217
189
184
244
173
230
211
238
185
225
265
176
256
184
244
201
208
158
202
236
144
173
230
247
208
208
192
245
173
174
204
221
162
184
173
203
218
155
179
174
152
241
225
132
200
130
181
150
195
145
184
162
241
204
146
178
188
184
270
203
198
217
208
238
176
146
189
144
178
185
245
199
200
258
191
219
178
227
146
356
203
172
169
208
192
203
182
209
178
164
225
183
201
184
260
157
133
218
195
258
129
263
207
209
193
230
173
187
183
169
230
200
260
224
210
215
251
168
176
180
143
221
174
222
241
133
228
169
173
115
210
186
188
146
146
226
221
287
158
155
218
145
115
206
187
145
182
129
129
150
200
179
129
247
246
176
173
143
138
200
176
213
185
218
129
260
200
174
162
228
204
143
271
129
146
204
214
192
243
202
173
146
186
266
156
141
267
145
155
188
146
248
158
129
230
229
164
219
166
173
217
242
179
169
166
171
180
158
216
237
130
201
199
152
155
282
191
252
146
184
210
129
173
205
174
225
189
193
203
191
193
190
173
200
185
165
162
246
224
184
229
130
258
171
184
234
234
183
210
164
201
222
171
282
201
237
234
141
179
146
156
206
224
239
240
181
304
149
180
205
185
199
164
160
143
208
146
227
180
205
172
180
183
145
159
208
202
199
173
166
183
138
218
202
200
178
161
177
143
129
191
155
174
203
246
244
191
130
201
182
223
178
195
283
254
156
273
175
198
182
231
233
191
183
182
201
202
155
141
191
220
222
265
130
179
232
211
144
265
259
188
183
146
268
184
173
153
192
278
211
180
229
183
196
164
217
173
207
256
133
229
141
130
158
204
209
226
158
178
168
233
176
238
141
146
202
144
187
143
227
261
201
179
261
175
183
190
182
209
281
211
146
183
276
149
221
173
228
178
180
270
173
198
210
280
152
216
228
201
226
199
224
174
141
169
173
180
230
194
176
185
233
173
200
129
172
244
230
179
191
187
200
199
173
164
146
138
216
129
183
155
242
239
186
271
158
188
195
173
180
263
211
173
183
222
300
201
141
176
185
214
252
176
162
172
263
176
230
238
150
145
204
244
204
155
230
162
188
145
119
210
234
216
283
241
190
146
119
200
230
229
262
184
200
129
230
115
183
324
150
238
153
151
243
184
212
157
145
204
214
146
230
176
183
179
236
210
202
204
182
231
232
173
194
245
224
260
155
143
236
193
205
173
181
138
130
288
271
265
171
247
129
166
212
210
158
176
180
210
173
239
223
262
222
184
210
228
155
115
245
194
191
169
168
254
195
188
169
188
206
171
165
247
166
200
202
247
217
195
181
143
215
169
164
229
196
180
164
147
203
173
159
200
140
207
191
141
221
192
211
210
208
221
188
210
173
146
173
189
215
162
169
246
261
179
177
225
130
158
256
160
190
204
166
204
169
187
129
149
223
164
200
211
164
146
205
166
224
195
149
129
227
304
162
157
210
221
202
238
158
189
202
187
217
173
324
151
191
150
270
204
164
224
276
145
185
183
200
189
194
198
164
183
167
168
232
176
155
197
141
163
182
210
176
219
195
204
200
144
187
193
192
180
222
150
202
222
229
263
130
216
262
178
130
179
133
212
183
142
160
204
158
214
146
209
189
215
228
130
178
155
207
261
215
201
164
176
230
211
210
203
261
129
145
168
160
169
143
171
205
183
214
335
149
178
115
156
161
144
149
186
178
186
236
335
189
266
260
184
147
335
245
163
203
247
149
153
211
221
171
202
170
201
206
212
204
287
225
130
183
163
208
204
156
233
211
215
250
177
213
146
175
161
187
151
228
236
259
210
178
160
204
178
157
167
205
181
206
210
208
133
213
119
211
138
158
236
183
263
146
191
150
226
166
182
296
219
164
146
195
166
225
222
210
208
210
161
129
230
129
180
129
146
130
218
204
232
218
202
180
162
230
223
207
172
246
129
158
176
231
200
129
191
173
223
246
191
130
178
165
151
206
188
130
164
150
221
178
190
186
191
180
215
201
130
202
129
185
156
182
238
183
183
264
145
168
145
130
195
203
198
214
173
258
201
181
246
239
211
191
238
211
204
169
176
246
115
189
173
230
166
164
174
230
155
167
173
200
168
115
129
181
229
188
168
171
169
181
155
146
179
230
263
146
244
226
217
231
169
115
190
211
241
254
210
130
240
173
215
168
165
190
206
212
191
164
173
174
214
260
224
153
222
236
141
195
176
164
184
234
210
182
167
190
188
209
235
185
188
166
225
196
184
230
162
204
274
146
222
191
145
146
133
128
129
157
188
164
145
211
183
214
149
259
161
155
240
115
222
242
236
191
239
183
185
145
272
236
158
176
170
192
168
186
170
184
180
129
262
149
210
230
138
145
211
209
145
173
256
130
133
233
185
230
211
129
225
272
201
146
201
171
204
200
195
173
162
168
174
246
187
162
191
173
130
150
179
253
178
162
174
200
186
214
273
168
221
204
199
167
200
142
158
130
223
272
175
239
176
186
207
219
184
193
169
234
211
156
129
209
204
180
224
154
201
217
230
180
250
231
178
200
233
143
217
180
251
201
176
237
224
189
201
204
165
233
196
133
173
146
203
212
145
197
169
206
216
157
209
193
207
225
210
147
235
194
156
143
249
300
146
155
229
216
206
242
232
187
130
191
152
217
143
169
255
222
180
145
146
209
146
184
173
170
129
130
185
143
227
141
232
150
130
203
151
211
245
162
302
182
208
164
202
204
230
245
190
133
130
162
170
176
173
216
155
256
176
247
195
199
206
167
269
199
149
206
202
184
176
246
133
162
197
204
178
143
188
188
239
227
226
205
222
244
182
204
191
194
221
307
184
217
208
204
217
179
264
164
160
169
211
280
183
180
203
180
175
221
216
168
271
209
178
119
184
210
268
169
162
209
287
145
228
144
248
204
173
176
186
141
181
200
238
143
212
178
218
221
244
180
252
158
236
181
178
176
130
180
211
173
174
239
172
251
285
156
160
210
267
141
214
200
235
239
129
130
196
203
182
176
211
176
180
230
161
184
202
156
262
211
173
169
231
189
183
146
129
196
230
145
160
186
130
217
173
129
210
173
188
235
171
143
185
156
227
198
146
266
236
235
148
164
226
138
220
211
218
198
227
164
129
206
303
130
296
173
173
224
184
146
169
178
180
146
129
185
225
176
194
230
162
249
230
262
173
183
156
119
240
219
213
193
246
175
292
201
158
188
209
200
129
264
203
178
138
260
204
241
174
164
144
194
239
179
230
130
231
182
132
180
130
130
216
238
191
227
201
193
201
130
181
162
174
133
130
197
119
193
129
197
176
206
221
158
245
206
186
150
130
173
143
214
193
214
190
179
243
246
217
192
169
211
130
205
194
294
146
146
207
240
252
230
201
158
156
158
242
178
377
189
178
153
183
254
243
210
179
176
187
182
254
285
229
179
191
189
228
173
204
205
225
145
173
251
215
115
188
145
178
208
146
170
145
205
209
221
214
173
180
231
219
237
228
143
214
264
204
130
129
199
169
264
304
200
190
158
178
177
173
195
207
171
174
243
212
214
179
210
183
201
146
153
218
122
180
255
182
169
217
165
203
220
191
145
227
161
192
181
166
180
188
202
182
202
162
191
176
164
146
202
229
161
187
130
191
271
207
168
204
148
179
201
162
179
201
280
161
200
191
243
176
150
171
230
166
168
201
169
199
182
217
221
229
209
168
130
185
159
238
212
156
204
173
235
169
188
227
129
205
180
151
129
207
246
220
141
146
155
170
145
128
149
185
190
203
131
256
224
209
247
186
201
191
213
211
201
184
257
130
158
223
212
168
190
201
214
129
180
200
167
157
238
206
203
182
141
182
188
200
169
161
191
204
204
180
210
178
171
266
217
304
190
219
217
193
214
181
206
146
129
193
215
146
190
160
176
158
182
236
192
143
221
180
247
199
192
236
197
115
193
235
176
260
259
200
186
143
231
241
261
202
171
153
183
262
187
244
146
182
129
201
173
122
173
184
238
181
248
173
206
182
236
307
161
164
201
175
201
146
176
183
162
177
218
210
185
217
145
216
165
193
246
173
173
218
157
214
176
183
149
227
146
217
214
210
248
217
195
155
164
158
178
174
200
162
203
181
212
162
251
238
122
185
201
205
130
237
201
158
204
174
166
174
188
141
262
206
185
218
138
206
202
164
221
119
190
210
212
191
182
226
267
157
189
129
173
252
234
158
227
233
297
216
199
217
238
219
215
129
257
153
210
261
222
193
230
170
155
195
233
259
129
195
141
197
204
151
204
190
146
224
222
141
185
222
185
224
173
185
191
129
204
212
182
210
187
179
186
237
193
178
185
250
214
186
150
216
229
222
129
197
195
300
161
179
228
183
173
263
226
254
143
191
211
195
201
270
184
141
258
223
230
115
199
164
175
204
302
188
250
181
216
199
156
195
268
227
225
146
181
195
147
145
192
179
146
171
222
157
235
218
138
191
204
204
245
157
224
283
253
128
128
188
177
129
193
198
176
173
225
209
218
182
150
152
272
169
230
263
145
200
162
163
217
206
239
268
157
173
215
161
191
173
210
186
178
199
268
228
230
214
168
218
268
214
201
187
145
241
184
175
146
210
195
184
175
146
173
232
168
219
181
226
164
176
204
197
115
185
223
210
204
184
179
180
230
253
264
130
195
187
206
292
197
211
242
130
192
177
172
183
202
115
145
210
214
225
252
130
211
146
236
236
192
251
200
195
204
184
133
218
261
132
129
176
192
190
272
188
236
188
149
181
155
218
233
207
210
145
201
187
183
159
129
250
163
192
185
204
185
230
204
208
270
222
122
145
225
229
224
162
130
238
180
210
146
171
158
176
188
218
247
119
158
238
128
176
276
180
115
190
115
155
201
174
209
239
178
235
204
179
173
176
161
180
145
225
275
171
141
173
180
160
230
197
270
236
211
244
183
205
251
196
210
229
265
176
182
273
230
192
241
200
145
129
186
244
210
177
202
198
236
200
160
179
151
177
236
176
300
178
219
184
129
192
207
146
225
200
203
217
164
274
221
236
196
146
184
200
203
248
210
181
155
205
206
146
219
143
168
155
156
210
260
179
173
153
201
229
173
162
172
168
217
208
264
221
204
257
129
210
179
156
242
129
150
200
193
220
246
173
176
201
194
210
213
238
158
145
133
335
215
213
172
201
173
173
158
216
162
189
202
193
232
195
228
186
149
236
190
248
133
173
182
176
173
169
206
179
230
180
219
184
216
166
152
156
171
191
178
215
217
217
170
191
162
204
210
119
242
158
257
159
240
263
228
202
167
207
168
177
210
212
176
210
192
191
130
218
206
146
256
146
162
181
243
172
184
210
164
189
201
259
264
158
122
168
182
230
260
151
179
225
222
155
146
206
189
188
170
195
129
200
241
129
163
162
194
194
179
194
257
201
173
201
188
239
203
175
153
260
179
146
172
164
203
210
164
216
231
146
146
179
197
224
180
146
185
155
180
161
129
183
210
211
115
207
149
168
163
242
168
202
236
143
246
264
158
138
207
115
165
180
216
238
194
163
198
180
201
176
204
156
210
239
222
251
178
211
260
234
175
143
202
248
227
226
213
215
207
182
185
196
212
169
180
173
209
235
236
190
219
205
119
257
184
181
215
237
168
229
258
181
168
182
176
231
176
186
176
227
257
191
189
199
152
217
162
145
200
299
145
210
239
242
227
184
184
265
236
206
230
163
238
175
176
130
211
199
146
229
202
156
129
294
194
147
176
129
200
178
206
164
239
189
210
158
173
166
215
269
290
163
197
182
201
244
221
176
133
200
245
226
181
150
129
130
195
146
201
150
229
205
222
129
201
239
211
160
164
221
221
197
212
281
216
130
210
211
262
146
201
225
210
178
164
192
221
166
256
181
209
303
208
202
185
164
173
199
145
217
164
193
183
158
177
184
212
171
173
236
230
206
210
194
191
181
151
192
130
219
238
180
204
157
166
275
252
160
158
160
189
155
201
214
173
266
179
218
234
180
176
178
199
146
207
143
225
218
265
242
216
219
150
171
191
133
203
200
161
191
230
223
246
175
208
151
132
146
202
176
198
233
203
266
145
217
170
230
200
188
309
160
256
158
230
169
129
184
159
172
215
169
185
174
184
191
186
129
202
229
187
207
209
173
187
167
143
173
199
227
224
261
143
115
161
129
199
178
204
177
143
225
203
252
143
248
234
200
203
238
166
154
178
243
147
173
200
150
191
160
146
196
145
203
162
255
202
146
156
174
174
155
179
162
183
232
228
210
231
221
239
175
151
195
141
261
179
115
200
173
167
156
176
236
229
122
213
234
173
187
249
164
150
257
141
146
267
221
168
160
204
166
237
172
245
201
193
292
157
173
241
206
181
212
164
193
230
162
215
173
247
236
294
129
194
201
302
198
188
133
132
115
199
192
202
256
176
162
155
168
173
179
162
185
146
143
283
264
225
185
226
261
168
186
204
115
207
175
193
176
224
130
188
130
263
162
129
252
225
141
234
194
185
239
191
233
206
176
153
157
239
222
269
146
206
150
225
157
206
169
188
244
162
192
133
210
214
210
219
234
229
211
145
138
145
289
228
220
173
210
204
226
184
206
155
204
195
256
169
200
188
309
192
182
179
173
183
190
168
195
227
176
250
202
194
208
133
150
179
180
210
251
214
141
210
221
187
180
173
168
179
202
130
188
133
178
225
141
239
188
164
143
175
169
258
202
131
232
168
250
210
226
184
278
129
228
183
129
203
231
248
130
215
176
204
192
202
210
129
228
169
162
185
153
176
167
239
179
164
149
204
129
215
143
212
210
164
213
189
182
150
219
186
180
155
182
191
167
221
206
220
217
248
146
194
204
129
130
168
182
180
185
215
183
238
130
173
283
214
171
168
204
211
129
183
191
188
176
141
210
188
203
211
178
158
255
244
199
181
168
197
129
174
250
162
162
235
143
164
200
197
129
173
160
143
213
172
190
176
217
237
174
164
170
146
183
217
239
238
182
260
207
192
178
203
247
128
144
176
252
164
207
238
182
198
152
226
222
242
143
174
239
171
210
209
257
245
236
196
208
227
149
181
176
178
211
213
204
265
228
162
236
213
145
195
129
160
173
230
274
217
217
130
259
219
201
246
199
192
213
184
129
236
164
143
145
177
170
210
175
206
221
168
129
162
214
207
143
172
242
129
173
194
208
185
184
245
145
218
230
230
192
206
184
158
217
169
245
161
238
171
146
183
185
168
178
191
195
177
191
115
256
206
181
169
197
172
130
195
211
219
208
189
218
152
259
201
215
131
187
230
146
188
130
146
183
178
220
130
185
237
200
231
161
205
186
162
158
182
179
182
130
217
176
218
174
150
228
173
211
168
210
199
246
146
180
288
187
138
153
184
173
151
263
179
179
179
231
174
200
213
207
144
202
156
204
191
143
197
130
258
199
133
143
184
146
200
150
254
262
176
166
206
202
172
257
173
192
216
236
222
167
180
247
175
245
202
179
197
230
164
115
177
182
303
275
209
199
143
253
178
203
179
209
183
141
130
173
192
176
178
168
146
173
178
181
176
185
132
216
129
176
211
191
160
192
199
202
156
210
247
234
176
217
143
191
198
155
183
146
130
191
178
145
115
247
145
163
253
171
157
191
204
133
235
181
141
195
204
210
176
168
148
201
130
258
194
173
153
236
150
262
185
230
183
178
197
128
218
133
155
190
244
173
177
225
143
226
130
173
252
181
206
178
207
187
146
146
184
158
192
238
210
251
179
182
115
176
132
201
163
236
185
158
227
206
161
229
190
166
182
199
146
235
158
249
247
192
256
258
212
210
202
129
202
152
184
180
145
196
176
129
235
197
199
229
228
210
234
163
182
206
264
211
146
214
184
202
115
143
143
195
182
222
204
185
181
176
156
179
181
158
204
276
203
201
150
170
162
231
176
246
211
205
173
173
168
174
265
129
158
174
270
231
173
209
231
158
273
202
211
202
195
185
129
218
115
254
260
250
299
213
240
222
214
210
172
129
257
200
174
223
162
129
221
261
252
201
183
250
191
236
239
184
278
179
238
183
138
143
178
155
238
188
204
130
228
146
129
237
174
202
212
146
130
146
201
239
226
184
207
211
200
162
155
206
188
295
211
176
230
166
201
225
182
176
213
237
211
245
243
202
242
222
158
150
209
144
158
230
230
186
201
145
252
251
184
210
157
212
210
182
239
180
240
194
130
183
204
272
156
249
138
204
263
213
229
219
173
221
181
207
206
319
275
218
212
217
210
257
176
206
199
130
210
183
191
212
178
234
180
210
230
202
133
189
261
130
230
243
216
180
158
175
210
144
157
229
176
168
190
182
221
180
145
169
162
226
146
168
145
232
184
180
129
130
209
133
202
244
184
257
176
129
296
130
268
195
245
227
151
192
143
182
231
130
133
183
204
185
212
218
148
181
191
209
206
192
179
231
263
147
204
167
200
195
177
239
217
195
146
165
270
171
226
166
150
255
222
243
168
179
158
176
115
146
252
195
203
168
168
183
191
186
236
260
217
133
255
230
143
212
199
210
204
203
266
149
174
132
166
147
201
230
206
281
173
206
274
183
206
278
129
180
146
197
182
211
183
204
204
185
217
240
231
204
164
205
129
215
231
176
214
201
167
190
188
228
181
216
200
122
201
201
173
208
276
183
261
247
225
234
207
235
162
129
199
250
159
191
146
190
222
204
187
201
143
244
209
193
236
206
180
201
214
181
210
171
190
173
191
176
229
223
160
258
166
286
210
146
184
171
214
217
212
216
200
181
162
145
179
180
201
166
168
168
200
198
171
236
129
173
172
246
201
243
146
202
158
212
191
221
177
129
236
180
184
173
254
130
204
179
191
184
236
189
179
173
192
171
173
205
183
185
239
133
221
264
182
227
280
182
129
129
173
227
170
247
180
219
207
234
155
145
165
184
150
198
143
169
287
218
262
186
129
233
246
230
176
146
242
204
239
217
214
235
201
290
204
200
129
146
202
178
130
169
251
246
219
245
164
234
179
122
168
219
211
222
214
183
146
179
167
217
244
215
244
183
115
201
216
207
165
130
145
256
130
281
145
193
171
189
241
162
186
183
180
168
153
181
146
236
210
217
209
128
232
191
224
184
182
216
191
145
190
181
184
178
182
229
184
271
274
197
143
207
173
188
129
189
197
184
213
202
158
177
264
155
130
197
214
189
173
150
224
236
141
227
210
162
164
252
199
200
248
188
143
170
261
210
225
192
217
174
193
180
201
156
203
155
233
180
242
141
217
129
130
173
146
144
204
130
250
143
155
225
191
164
201
129
186
267
240
240
199
204
140
180
146
177
236
180
130
242
245
145
224
204
192
132
194
189
130
168
197
185
185
200
156
152
198
188
208
211
209
129
158
155
175
130
133
222
215
183
231
194
165
169
151
254
251
197
211
181
174
190
176
152
206
202
180
204
172
195
161
168
188
185
179
217
215
192
202
179
164
191
203
200
215
218
146
201
150
240
176
210
175
255
209
277
204
146
130
133
247
146
239
182
138
250
204
221
218
182
185
176
219
201
156
173
183
129
200
187
168
240
162
158
203
278
188
244
147
285
236
226
179
176
211
220
173
173
199
212
215
146
191
199
269
143
180
207
133
219
214
176
269
179
228
129
211
177
218
172
171
130
292
152
153
214
146
201
206
130
192
181
143
171
211
215
195
115
201
181
192
252
155
239
261
143
226
115
128
168
250
130
149
166
187
260
184
201
234
179
204
180
166
133
146
204
160
176
164
211
129
171
206
138
207
201
206
202
234
184
115
130
189
151
133
181
183
173
176
256
164
238
275
156
182
160
185
185
245
152
133
199
161
146
201
185
130
156
184
201
244
177
138
115
201
156
240
143
152
261
141
216
133
216
150
178
155
260
157
232
258
217
256
218
156
138
176
160
217
184
143
252
180
122
182
153
130
130
127
166
145
184
169
155
176
178
222
130
174
202
146
153
115
146
130
168
177
146
160
176
246
195
191
243
200
217
234
217
174
242
174
146
268
302
166
182
158
227
189
162
173
173
211
204
131
133
180
153
161
227
213
188
138
166
221
141
246
236
244
156
176
168
201
219
237
115
203
176
145
146
199
129
186
161
222
141
143
146
145
157
173
179
250
319
182
176
217
289
200
260
210
193
195
172
168
203
174
273
220
202
164
182
162
146
228
187
201
158
156
191
193
168
217
174
211
166
256
202
130
221
146
198
230
220
133
171
214
210
238
263
202
168
193
149
208
179
211
164
210
209
202
176
133
192
228
203
201
180
162
214
129
186
311
192
145
190
173
189
203
162
157
207
206
243
173
217
197
143
179
181
140
129
233
266
238
173
176
216
230
223
146
161
216
220
168
149
200
145
240
222
143
299
190
228
193
188
201
190
195
185
195
220
204
122
262
188
182
141
129
213
115
187
197
233
191
130
203
146
181
186
168
150
173
129
155
228
162
233
143
243
170
172
162
200
155
256
164
169
222
204
143
199
149
208
176
246
191
183
164
129
201
187
210
207
178
187
119
247
210
211
184
162
212
160
244
173
197
144
168
242
143
129
164
241
158
183
158
197
245
133
189
192
228
133
179
186
176
222
219
202
231
230
204
208
222
221
204
194
146
158
188
191
188
175
214
173
279
214
204
205
170
127
222
223
230
222
230
264
143
256
219
176
199
183
210
181
243
214
180
149
165
183
213
145
225
168
216
189
178
188
223
183
215
206
167
227
217
162
300
189
210
235
252
214
173
151
143
186
194
237
221
268
273
179
239
162
180
182
176
204
230
173
230
192
176
204
146
162
130
133
210
194
231
193
217
197
211
210
204
173
143
183
202
237
176
191
171
210
246
184
203
180
191
272
223
157
164
203
264
130
164
176
156
250
231
182
206
192
240
171
216
160
158
204
169
187
285
215
181
183
173
164
185
227
217
218
202
206
206
133
180
210
159
178
255
202
236
171
138
129
130
151
139
200
207
186
253
143
156
202
149
168
190
146
129
225
201
143
115
173
214
221
236
129
115
164
200
208
200
254
241
230
168
210
168
206
173
129
166
204
155
183
195
173
175
197
178
151
146
218
143
181
202
162
157
115
180
223
151
200
200
202
130
173
208
206
181
236
203
324
204
231
176
249
235
144
204
271
230
267
230
158
185
143
283
214
266
234
199
194
191
160
175
183
183
238
171
214
119
176
146
307
130
171
130
214
181
155
238
172
167
206
235
186
199
225
201
187
247
203
210
206
173
146
133
150
243
225
115
190
211
179
115
155
150
152
206
197
187
146
158
205
190
217
150
279
254
176
207
203
182
259
146
156
292
212
189
238
335
184
217
239
146
274
214
206
166
130
195
200
191
190
217
201
158
130
200
180
200
192
211
232
264
202
214
146
187
115
196
219
227
255
196
173
151
129
148
130
159
191
152
213
202
211
297
173
201
207
164
172
217
143
235
200
303
146
168
204
277
153
255
201
183
171
141
192
201
234
178
209
155
119
138
217
239
246
300
129
213
194
164
246
201
173
202
180
243
200
238
194
237
177
155
130
206
161
272
157
273
173
222
236
158
144
200
133
129
200
172
204
200
176
226
300
195
211
202
228
166
210
236
200
237
164
130
168
202
178
207
194
248
264
311
181
176
156
210
130
251
249
206
218
190
201
119
215
155
180
160
146
230
129
169
143
196
192
174
129
188
199
204
262
176
163
146
287
140
158
222
130
188
164
200
236
188
194
174
188
199
189
129
225
184
303
176
115
190
194
181
225
182
218
184
282
210
146
138
115
309
183
141
200
133
179
177
201
236
184
182
182
156
183
230
214
238
188
174
173
171
217
212
149
115
174
176
226
252
217
176
155
238
185
183
158
252
162
202
194
205
217
283
115
217
201
205
145
179
183
184
186
204
159
155
130
260
246
172
230
213
205
129
232
173
162
174
186
200
219
133
202
207
129
147
157
176
179
192
258
158
161
146
201
130
295
115
198
225
244
248
240
206
176
252
173
161
190
210
221
237
230
262
265
176
157
130
168
195
245
129
257
131
152
201
247
300
180
208
242
146
159
212
239
145
176
239
146
230
173
130
234
215
194
247
173
188
188
210
169
226
195
210
201
180
216
169
247
260
187
210
184
225
166
194
168
145
173
211
164
203
156
186
162
259
173
184
138
179
133
211
162
197
201
184
193
206
234
204
192
262
228
241
191
190
283
151
173
214
165
275
187
237
229
236
132
183
133
149
299
151
230
151
129
211
200
237
189
173
234
170
188
166
189
183
260
201
187
258
155
237
173
233
164
264
238
210
206
230
188
168
217
223
138
176
173
192
195
192
325
199
222
188
158
219
130
167
158
194
201
188
138
182
210
184
188
141
226
217
173
130
191
180
176
172
211
240
158
270
115
208
242
261
176
199
143
204
197
129
179
159
225
130
183
129
122
210
211
236
234
184
130
129
237
184
176
160
162
211
133
221
189
173
196
183
115
274
158
188
266
161
195
173
145
191
150
180
192
211
259
164
197
168
260
214
207
251
210
165
173
149
146
221
228
176
204
164
146
259
178
150
129
230
146
210
230
153
180
164
179
130
180
172
263
227
185
177
115
215
186
149
183
224
201
190
158
155
209
141
206
236
170
183
189
228
191
184
137
200
172
210
129
190
173
165
254
143
209
184
189
273
234
153
215
168
171
156
208
260
130
166
187
143
176
172
274
172
194
147
230
289
275
150
181
162
170
173
195
234
190
143
204
232
178
115
205
262
180
207
261
253
195
222
237
158
160
230
225
179
130
163
173
146
179
237
168
191
158
191
183
204
216
182
263
146
130
230
217
213
130
185
161
169
217
202
158
201
146
211
217
156
178
205
280
191
173
199
146
202
191
208
241
130
191
130
197
249
204
181
130
173
206
191
178
256
210
217
169
217
209
146
264
162
221
162
163
181
217
200
221
203
264
151
236
210
217
201
166
144
238
192
210
183
195
206
288
162
254
173
204
146
306
212
191
189
195
211
166
131
207
211
220
212
258
204
235
204
205
197
199
184
171
238
173
164
204
214
145
160
176
290
261
115
200
188
178
229
305
166
195
229
155
203
146
217
180
146
176
173
181
188
168
206
204
202
206
160
206
160
222
171
138
130
165
133
204
176
275
194
209
236
141
153
231
287
203
133
219
249
146
191
168
217
146
285
181
206
146
208
186
239
165
288
130
218
173
179
164
188
168
236
228
201
146
192
172
204
216
159
244
205
122
210
158
129
129
200
182
224
247
155
124
277
254
130
267
168
162
133
190
201
204
216
246
206
216
206
165
283
193
223
146
194
133
180
239
122
130
207
185
171
221
228
161
141
176
164
133
164
183
186
214
130
248
185
211
226
169
234
129
191
133
164
167
208
178
166
141
130
146
161
130
176
173
191
164
205
243
146
283
181
195
231
184
193
229
215
150
176
218
184
219
115
230
189
133
130
169
176
204
185
254
191
164
257
190
259
255
254
145
129
211
168
225
170
201
164
216
168
158
191
146
129
161
194
182
115
143
204
161
133
173
230
192
173
185
158
197
233
217
150
210
277
224
268
145
185
162
129
157
184
217
192
158
188
230
204
176
227
129
187
168
130
209
239
183
240
210
227
258
115
188
130
174
146
205
156
235
215
173
133
255
217
204
173
224
164
173
229
240
213
133
208
238
227
255
214
129
122
185
146
206
164
267
187
224
189
146
217
169
267
280
230
184
195
245
115
182
145
211
179
162
158
193
164
176
304
257
238
202
235
231
219
200
176
220
178
204
243
264
214
210
186
234
178
204
129
221
231
222
149
168
246
115
168
321
163
239
176
238
206
184
191
242
180
203
130
156
183
222
133
235
182
192
201
190
146
213
168
177
133
169
206
206
236
202
250
206
245
141
227
249
206
217
236
213
159
261
185
208
205
216
138
197
143
115
179
129
258
205
192
215
130
214
255
211
271
206
143
186
192
221
166
236
146
230
206
168
149
183
200
205
183
231
195
228
146
146
193
195
199
182
145
129
258
192
200
182
221
133
168
184
179
188
155
211
151
264
162
178
129
173
203
173
253
165
143
222
162
161
180
141
176
181
186
216
173
197
164
181
145
238
296
222
207
145
201
201
169
180
173
205
222
192
212
262
255
172
221
230
217
146
235
156
217
179
184
133
220
145
199
215
133
206
169
130
176
229
236
177
158
261
206
218
115
169
314
173
236
249
179
196
155
236
212
130
195
200
192
145
115
185
191
145
202
217
146
201
157
145
185
176
130
197
249
216
141
176
183
226
260
231
213
222
192
171
208
248
252
176
133
207
183
212
232
360
211
129
253
200
237
152
205
201
201
205
145
141
185
218
173
129
202
168
160
179
200
203
219
184
143
388
179
210
179
299
203
138
221
178
251
245
158
205
143
190
165
168
227
222
239
245
149
190
179
232
185
217
146
241
239
238
193
215
162
209
210
194
130
270
156
182
148
210
236
178
205
204
211
219
241
236
230
288
174
221
176
143
143
202
210
239
206
186
248
247
205
157
176
173
162
210
146
230
185
145
238
129
164
238
206
210
205
255
335
147
180
146
236
209
254
155
145
244
138
152
210
224
170
263
145
168
161
143
178
192
184
222
191
115
224
175
252
208
168
207
161
209
232
179
282
201
173
162
182
168
187
194
184
180
216
176
213
217
183
115
185
178
163
162
186
168
158
158
185
150
210
195
251
122
184
129
262
130
227
236
168
173
164
210
155
173
190
151
211
178
250
230
230
158
205
168
240
129
174
180
138
238
184
160
187
210
184
249
204
187
173
162
162
244
191
194
195
169
185
228
204
208
211
191
217
168
162
231
188
202
130
198
145
183
168
236
191
206
180
146
202
167
207
115
203
172
185
162
182
143
197
172
222
178
173
204
204
168
204
145
262
175
261
164
170
143
131
261
130
191
179
222
164
177
146
129
184
182
149
145
245
200
130
214
277
115
130
160
129
168
180
122
171
221
200
222
230
242
168
149
188
166
169
231
191
181
129
140
202
167
146
206
173
200
195
258
201
209
180
145
191
158
174
208
251
235
133
171
204
176
235
162
191
267
145
200
193
186
132
203
132
182
176
204
138
115
233
214
176
129
184
162
185
194
188
176
175
247
176
157
202
200
166
192
160
192
178
204
217
232
188
161
155
172
130
208
217
191
207
143
144
147
129
295
203
164
210
206
238
130
209
172
166
241
221
221
213
204
170
221
174
158
231
263
185
191
239
210
297
206
189
132
185
222
238
201
211
239
198
183
238
185
173
197
152
179
129
228
150
204
166
162
184
229
129
146
171
186
250
205
166
194
176
211
156
255
147
256
312
289
252
195
150
168
235
214
246
138
175
129
245
177
232
164
221
160
146
185
143
191
206
211
168
188
144
163
220
227
217
158
146
173
185
191
181
173
182
210
206
192
130
227
133
159
215
180
174
191
185
206
217
169
207
263
230
209
172
260
201
157
209
204
191
130
245
174
133
201
151
192
187
259
258
130
168
225
197
182
161
173
173
150
223
260
243
230
184
202
197
191
264
244
141
176
182
222
156
235
166
208
170
246
129
130
198
146
186
172
204
210
214
210
195
130
129
200
156
230
186
217
225
257
214
222
225
151
235
164
130
244
180
207
247
212
256
155
193
130
173
155
194
168
265
115
176
222
204
335
189
194
195
204
221
231
205
276
226
291
133
176
184
186
224
204
222
247
270
187
169
216
230
181
238
204
263
176
264
156
206
217
179
133
202
204
176
158
182
209
158
162
158
218
217
143
173
129
257
175
201
250
146
199
211
200
182
190
144
211
185
208
130
184
198
146
173
240
227
220
133
172
168
163
247
129
185
130
220
211
253
214
155
206
149
246
192
215
195
210
178
201
214
164
265
184
129
191
242
176
217
261
130
226
211
176
217
200
176
180
190
200
210
201
147
200
143
167
188
181
247
228
268
166
195
129
156
238
256
218
146
130
129
241
190
201
235
188
180
179
169
141
191
130
168
162
183
169
192
204
225
163
186
214
161
168
202
211
214
253
222
171
206
221
130
155
182
207
130
176
143
217
129
174
225
216
146
217
180
130
179
177
130
158
211
145
179
218
227
156
225
231
164
204
179
132
208
228
182
207
217
146
153
157
212
175
238
193
229
146
222
226
204
199
206
186
162
287
179
200
189
169
191
146
185
156
178
115
230
207
232
202
217
115
194
183
149
179
228
168
143
186
193
176
157
272
129
222
208
210
129
145
183
238
214
214
256
174
214
232
176
293
207
179
195
190
168
204
197
164
143
174
156
191
178
168
143
143
133
206
227
133
264
225
187
206
204
199
161
179
156
229
229
176
164
252
130
186
202
186
242
181
204
222
168
156
129
187
209
141
255
130
228
170
242
268
222
235
173
247
261
170
180
176
218
179
189
245
187
149
263
130
153
222
129
202
187
173
133
216
233
148
212
181
168
181
130
182
198
115
128
176
164
207
176
133
115
176
183
178
255
201
203
184
150
228
162
262
250
241
175
174
164
210
115
122
162
179
260
200
179
183
146
146
261
129
233
202
172
146
172
172
162
185
179
201
185
197
176
218
239
196
141
202
241
164
188
200
173
190
258
164
201
159
172
188
229
173
172
203
133
228
187
238
169
205
152
230
211
152
187
205
197
217
176
247
208
217
173
150
158
206
200
181
195
163
226
155
146
205
200
176
258
180
119
182
130
143
161
176
181
204
130
219
261
261
158
132
213
185
185
182
176
204
143
130
267
115
239
260
236
245
133
141
129
159
146
145
209
191
178
217
164
235
179
215
194
191
209
157
227
133
232
188
186
244
207
184
194
173
288
200
192
200
217
173
193
130
184
214
129
168
283
141
210
185
181
204
130
166
212
129
149
236
130
229
196
182
158
202
219
146
232
191
183
212
250
172
173
173
267
175
195
181
130
183
234
246
187
130
244
151
242
202
214
207
217
185
192
190
248
217
169
143
173
129
211
195
203
162
201
176
204
173
204
160
173
185
222
241
141
210
185
129
264
202
176
182
166
200
265
183
144
198
149
173
197
182
179
191
251
167
129
132
180
281
162
202
178
245
189
204
145
250
174
204
247
152
268
223
164
267
189
206
188
264
221
204
277
200
225
195
143
229
173
173
218
178
193
173
260
195
145
149
217
150
217
204
145
183
230
209
141
275
180
215
217
241
217
173
227
143
206
177
252
208
200
115
202
220
152
212
183
157
205
189
234
246
129
224
173
141
213
229
183
201
166
263
204
265
129
146
183
205
204
133
193
189
122
217
164
167
146
246
232
206
173
206
155
169
173
178
195
179
231
151
188
130
183
184
254
205
166
238
158
151
247
200
208
259
217
170
259
258
197
225
173
212
145
130
183
211
184
128
188
221
201
233
180
174
201
129
254
138
225
180
218
190
204
206
170
188
236
141
215
200
171
180
219
232
258
200
247
179
171
159
129
225
185
210
211
230
145
260
234
190
250
129
269
248
140
191
187
177
191
130
254
204
186
180
185
194
236
207
161
146
217
287
130
202
146
245
173
219
175
192
150
192
211
261
264
138
184
240
224
214
147
129
185
172
203
181
190
189
192
235
169
236
158
191
202
206
252
272
215
169
129
159
215
280
200
230
217
157
176
206
216
195
186
230
155
230
244
230
182
173
187
182
335
183
181
227
193
259
182
145
130
236
156
173
115
129
183
170
200
146
210
132
166
181
209
130
205
171
214
169
283
207
192
183
138
261
130
205
130
156
283
129
196
199
171
191
183
144
183
209
173
164
188
241
230
147
239
222
158
227
278
210
181
191
230
193
143
143
197
164
194
155
200
252
187
221
220
204
130
183
193
194
192
178
179
187
172
210
221
173
211
157
159
194
231
194
218
208
201
150
203
184
183
262
156
189
115
162
155
145
239
177
147
204
241
218
234
156
161
172
180
222
204
128
165
129
206
173
173
156
161
277
190
178
179
210
146
221
175
223
177
242
180
146
190
141
130
306
176
173
129
183
158
226
187
157
160
146
145
176
162
133
155
266
238
197
210
218
234
158
176
225
188
152
152
173
211
272
228
224
259
133
169
225
190
122
191
152
184
146
177
157
190
185
210
221
141
186
194
218
184
173
156
188
258
202
204
146
115
300
197
145
173
173
143
122
196
189
115
202
244
155
163
141
202
147
201
217
201
183
141
201
231
115
266
230
173
229
198
204
256
222
244
167
248
192
210
200
183
184
130
195
209
154
202
200
183
217
133
228
145
204
176
167
182
204
217
191
209
190
133
122
162
212
122
214
210
168
202
202
227
180
155
227
182
194
119
182
183
133
199
249
129
235
119
183
156
269
283
162
173
145
189
130
191
205
214
176
173
230
210
184
204
153
190
162
204
173
208
242
156
176
211
183
211
173
143
209
201
129
179
203
227
217
190
158
250
218
173
145
193
146
133
160
243
215
163
164
222
198
220
174
215
166
143
185
199
174
179
181
239
295
235
171
183
211
300
279
202
158
148
179
187
168
210
218
167
246
168
230
195
251
176
181
129
185
225
204
201
217
149
199
130
211
262
259
143
119
180
168
177
212
225
178
145
200
272
216
166
211
189
191
239
158
228
224
182
192
146
186
156
155
228
176
150
200
166
242
176
185
256
204
188
203
230
138
217
287
232
238
165
209
180
212
236
217
219
239
163
115
147
176
176
236
195
234
176
194
211
146
146
143
176
172
266
146
247
221
210
208
129
203
158
258
174
250
175
162
141
155
272
191
204
170
185
130
141
129
166
217
173
156
177
179
222
145
162
185
202
258
214
168
178
184
209
237
286
232
129
208
217
169
186
201
217
130
216
156
251
180
158
130
189
141
173
202
335
133
202
171
230
206
252
133
149
161
157
129
218
173
222
168
166
173
185
210
245
173
173
166
176
217
283
130
209
181
222
128
239
158
162
186
181
176
226
274
227
176
217
177
190
210
201
200
182
115
204
182
183
188
211
223
214
150
201
115
183
250
189
156
251
248
210
130
129
184
191
173
210
287
176
190
233
186
176
221
130
208
173
200
274
138
210
300
201
229
225
236
129
130
158
199
158
201
180
201
253
173
204
239
161
128
158
201
219
201
188
174
202
255
185
197
168
254
176
164
210
204
210
178
189
236
185
203
146
156
219
201
209
262
204
173
210
188
190
115
187
229
288
181
147
239
179
203
130
219
229
130
153
351
141
146
191
150
210
225
215
164
169
219
175
115
211
244
189
288
215
160
158
249
161
129
160
206
119
174
230
226
179
217
261
181
248
176
122
308
202
257
247
129
224
194
214
156
164
129
228
146
191
242
211
260
146
242
169
185
211
166
234
211
217
183
130
259
235
229
254
236
173
225
221
203
217
181
157
157
216
173
264
226
197
203
226
185
222
248
179
204
229
213
186
190
231
255
204
218
218
133
202
169
201
229
226
182
247
129
217
162
146
164
193
200
242
210
147
168
188
179
188
173
264
246
187
157
202
145
204
258
228
167
146
133
149
225
182
129
180
176
151
128
207
174
199
211
188
158
228
202
159
212
133
200
115
149
158
163
202
180
234
227
119
206
230
186
264
218
129
168
146
221
189
236
200
190
212
158
236
186
244
184
219
180
195
173
119
164
227
193
218
266
188
169
179
216
145
230
189
164
186
185
149
233
177
204
194
146
181
160
191
240
194
141
186
261
130
185
213
191
282
129
222
133
182
185
227
228
223
210
228
143
207
158
275
222
190
164
178
290
198
215
146
133
221
174
224
204
204
164
201
145
187
162
186
130
225
184
164
206
164
149
185
180
274
292
264
209
236
191
173
202
210
191
215
158
119
259
150
193
204
218
211
230
191
115
194
119
236
200
251
199
115
285
180
162
258
208
172
212
191
238
169
141
171
115
187
204
161
166
156
158
190
200
226
166
204
230
210
191
193
271
190
163
205
176
221
212
201
190
327
169
180
143
210
160
217
236
173
176
185
173
197
188
239
178
200
207
150
155
246
225
179
168
230
192
227
169
215
176
187
133
251
130
150
187
146
176
156
143
226
193
162
188
227
173
233
256
225
222
227
238
208
259
211
157
130
158
164
192
240
154
214
207
335
146
129
297
176
162
207
296
173
132
130
129
152
178
197
217
146
175
183
200
146
222
133
216
200
179
200
181
263
202
200
220
179
156
183
222
244
179
218
236
187
146
176
140
179
233
176
130
217
144
196
164
202
216
217
164
182
164
206
210
184
149
215
201
203
203
173
180
258
236
248
144
243
165
192
176
145
164
195
185
234
226
249
200
258
240
182
217
217
129
231
200
162
174
179
168
170
219
242
176
179
216
181
169
130
243
180
248
175
162
202
232
185
182
204
129
183
200
187
178
133
175
159
180
174
208
129
146
176
274
201
176
184
202
228
230
173
190
185
133
122
180
214
233
133
158
217
239
169
171
222
259
129
208
163
205
170
239
168
191
230
253
201
257
143
251
130
227
232
214
130
221
207
183
209
191
230
184
185
201
236
176
173
192
132
219
176
173
217
143
166
208
186
222
263
141
190
156
146
210
129
207
242
194
155
187
242
195
210
270
247
150
213
226
214
216
160
176
161
138
193
234
172
164
268
145
115
240
200
196
182
168
143
162
176
178
166
129
168
202
259
188
200
236
185
210
164
158
143
217
190
174
130
122
187
213
143
178
160
122
204
202
207
186
181
225
257
180
115
184
129
251
186
181
181
230
241
205
208
132
176
231
210
133
204
204
184
256
182
173
266
133
209
202
209
176
229
162
184
259
132
226
180
162
237
146
223
216
203
180
183
213
181
204
146
216
201
200
203
211
145
130
199
208
244
178
184
219
283
232
202
183
235
175
277
235
158
145
122
173
210
223
283
237
204
221
176
129
263
183
182
169
138
170
153
173
183
247
164
221
122
162
260
270
230
168
220
228
244
263
133
239
168
168
153
168
184
235
166
180
222
181
232
146
173
280
200
255
145
233
222
183
184
158
204
130
200
204
199
244
226
200
145
146
201
133
214
182
132
176
158
219
166
205
188
258
204
265
141
184
221
192
149
176
255
146
210
197
241
179
231
206
206
214
261
230
208
189
188
251
156
265
230
212
302
166
204
192
217
153
133
219
195
143
167
229
146
232
133
188
133
167
227
268
210
158
218
189
247
236
146
191
244
206
184
250
179
133
162
176
179
303
305
146
206
220
182
194
160
190
129
204
176
162
213
213
182
194
141
189
239
222
235
158
247
319
211
227
205
203
168
157
166
176
165
205
209
179
202
180
162
307
155
130
236
207
200
176
201
157
194
215
168
230
187
198
282
177
220
206
164
185
182
167
164
258
170
194
193
222
204
178
115
146
143
238
206
228
179
230
237
149
192
255
129
129
244
239
146
203
187
226
196
164
147
168
129
182
258
160
259
221
202
210
164
191
287
176
218
213
231
173
218
204
213
204
264
173
207
211
244
186
192
217
185
182
172
190
263
186
201
203
130
182
147
272
208
146
201
204
189
210
200
214
129
210
188
202
211
151
160
181
191
278
255
183
220
158
204
147
206
242
237
196
230
195
130
195
206
210
130
168
177
238
129
179
150
164
175
216
166
133
252
158
166
261
122
174
153
173
178
162
164
256
238
224
191
257
143
179
238
269
204
210
203
180
133
172
176
181
264
238
194
212
201
199
130
176
191
204
145
200
297
165
199
128
156
129
184
162
202
146
197
181
204
176
183
178
131
204
212
181
183
194
191
183
201
133
173
238
247
145
225
129
152
237
156
161
187
132
161
176
231
216
150
161
178
173
203
176
277
237
218
194
247
179
129
250
210
283
250
163
143
129
228
217
141
188
179
212
233
150
170
129
230
128
224
141
160
241
174
187
156
236
167
217
284
162
184
200
183
239
228
166
210
186
164
238
133
178
180
268
225
202
174
205
128
193
129
190
236
207
186
234
195
204
247
225
194
204
221
159
231
199
221
211
188
236
150
168
206
166
235
244
226
180
188
188
199
173
115
173
155
236
201
189
313
129
143
225
225
156
158
218
198
220
217
192
176
202
194
122
194
180
215
146
129
210
200
181
335
176
168
221
260
239
211
155
210
214
240
228
146
211
196
176
237
158
181
195
169
129
278
179
230
210
224
146
176
193
179
241
172
122
176
209
162
216
170
226
226
205
224
263
164
185
225
228
184
153
202
176
133
129
143
187
177
176
230
204
230
168
192
216
143
133
226
145
195
246
183
204
141
187
168
162
168
206
257
194
222
158
176
158
335
161
277
224
173
147
211
204
181
143
152
287
202
199
201
202
146
176
159
176
182
186
194
179
162
143
164
164
191
129
152
203
244
143
242
230
185
206
225
133
182
168
300
250
145
182
183
229
173
183
133
244
204
214
173
174
225
177
207
183
168
207
210
227
204
163
218
133
193
173
189
183
158
178
193
204
272
149
173
181
222
145
168
180
220
158
300
202
194
180
168
181
229
184
141
164
193
166
230
130
222
129
157
130
204
210
255
179
176
179
200
224
191
186
169
174
180
182
188
193
191
163
164
254
265
212
209
216
150
227
255
180
233
154
158
263
184
162
238
141
183
143
133
144
204
210
178
165
196
169
206
182
170
203
183
159
278
169
149
250
193
206
189
168
200
184
209
173
146
247
130
170
129
203
144
263
160
204
160
219
129
202
202
204
224
215
262
218
185
144
249
261
186
178
211
173
198
204
173
162
194
225
162
271
144
152
191
146
190
203
197
129
181
208
208
210
202
173
193
168
239
181
162
164
141
305
183
203
190
198
133
200
156
228
202
146
204
172
130
173
251
176
244
202
180
197
216
176
201
204
226
153
138
206
240
143
202
166
215
162
347
175
156
204
247
231
215
143
206
181
225
146
235
219
180
200
187
185
165
130
195
211
173
264
133
186
231
206
179
197
173
235
188
335
195
173
264
228
263
195
179
137
203
192
130
162
176
176
162
164
189
155
129
150
200
209
236
179
186
182
205
261
236
217
176
130
204
183
213
168
195
132
164
215
204
143
176
138
194
141
204
214
180
183
200
145
321
306
157
198
210
210
195
130
180
130
168
173
234
129
168
264
181
162
158
163
132
207
182
244
129
161
182
214
130
139
183
224
146
197
167
199
166
233
173
130
174
145
201
187
173
256
211
173
221
211
129
182
205
155
217
204
191
241
195
200
152
173
208
165
128
210
203
244
206
264
164
247
184
168
241
196
149
230
172
254
155
239
218
158
230
146
187
247
179
156
130
249
242
247
239
176
122
199
232
156
184
180
129
227
180
202
202
247
230
204
268
195
201
146
164
182
225
169
158
188
254
211
182
235
166
193
200
254
194
173
143
173
143
294
193
206
193
230
250
186
210
217
156
204
179
214
228
227
181
217
233
174
150
185
186
164
151
203
129
268
247
176
146
204
188
229
178
225
233
218
180
169
171
164
210
311
274
185
204
187
148
189
178
286
261
182
228
229
254
169
150
251
227
170
202
162
201
229
130
214
182
176
115
204
143
164
179
191
160
191
241
181
255
146
215
191
180
199
157
184
264
176
185
279
256
130
234
188
186
240
287
180
173
265
178
183
150
206
201
130
264
181
171
211
281
211
335
181
252
192
228
205
180
146
192
214
255
141
133
176
155
164
217
208
222
138
162
236
204
269
245
171
194
267
303
162
168
211
130
115
119
247
193
160
130
297
184
265
254
172
138
217
206
173
168
141
214
129
184
133
159
129
115
233
150
144
206
173
182
210
224
215
234
258
149
201
189
283
222
183
176
137
210
233
204
162
258
129
214
168
197
149
201
176
212
210
217
247
180
130
212
146
129
229
241
161
115
270
196
130
187
149
130
195
141
264
207
222
164
247
202
203
217
230
168
258
180
217
222
193
202
260
149
187
179
177
252
181
243
254
222
202
169
206
181
133
204
194
252
133
192
241
242
164
146
172
219
214
226
210
129
230
201
155
166
184
150
179
160
226
182
129
252
204
252
211
141
192
232
213
212
200
146
155
258
238
210
129
202
299
176
214
204
200
176
172
122
179
173
213
183
241
143
175
160
219
201
180
237
230
176
197
238
172
184
210
176
191
200
204
230
188
200
255
182
119
211
228
179
208
183
253
202
216
181
182
133
203
129
147
162
232
130
170
130
146
164
213
205
228
180
203
194
189
213
205
201
235
173
213
183
204
151
291
217
173
133
335
238
158
152
209
194
232
149
222
195
231
146
156
115
167
264
146
204
202
129
203
130
221
173
206
202
187
225
227
216
204
168
180
186
239
200
141
242
221
247
238
145
200
261
201
179
250
256
221
178
162
232
206
129
204
202
183
258
183
246
207
231
203
183
241
245
129
176
150
179
145
195
210
222
165
224
173
185
180
209
173
168
176
168
150
221
175
264
155
160
115
183
155
216
210
146
239
168
183
237
177
234
210
149
249
186
173
263
227
139
166
189
266
155
162
176
210
213
195
156
130
195
130
201
178
172
194
158
196
233
172
166
168
162
155
149
222
191
146
145
201
181
115
129
191
193
162
191
147
191
197
158
129
224
143
173
244
161
259
211
216
252
214
210
188
214
160
143
158
236
187
201
146
231
204
246
162
164
145
204
129
178
275
230
190
189
204
300
145
130
190
138
204
186
158
221
191
145
160
193
164
129
175
157
206
192
178
295
146
263
179
199
264
191
198
180
164
171
232
212
225
201
130
130
217
168
129
179
224
146
191
159
230
130
164
130
244
133
180
192
168
230
217
207
221
204
157
202
200
193
176
130
180
206
152
204
164
192
162
236
162
129
130
217
211
129
244
198
146
197
176
179
164
158
119
199
157
178
184
201
158
193
183
230
237
180
237
192
207
192
217
131
235
138
195
191
208
199
236
175
229
115
158
141
230
130
174
181
143
218
228
206
211
186
146
202
206
264
211
146
230
187
284
205
162
178
172
159
260
115
211
159
201
129
300
158
225
248
225
129
146
184
161
146
222
122
186
130
230
222
129
130
228
179
157
203
248
164
247
231
260
204
133
253
204
200
227
201
169
133
192
173
189
202
201
204
247
277
230
230
312
191
176
141
242
257
206
150
176
217
143
182
184
152
233
183
214
146
130
212
179
251
213
256
222
261
183
205
238
184
251
173
224
246
185
195
174
168
143
188
225
199
227
177
200
115
176
195
203
152
150
197
184
156
146
141
188
214
227
164
179
146
200
256
238
181
192
129
129
230
130
130
158
141
266
191
143
181
261
156
260
188
188
211
217
204
182
221
253
222
284
143
181
129
302
177
146
129
233
240
158
169
143
218
161
182
199
171
202
155
236
133
115
211
263
191
145
221
172
201
217
182
156
172
130
190
176
129
155
145
169
205
204
178
196
198
170
168
146
129
219
225
191
197
208
162
195
215
162
248
252
248
180
222
156
231
204
242
232
222
204
252
280
187
145
176
243
141
239
160
211
206
145
184
153
176
178
194
174
183
236
260
214
234
193
211
201
211
130
187
238
164
210
194
191
199
155
204
193
171
157
173
204
192
263
216
218
141
214
220
166
143
129
213
160
158
145
133
166
176
202
261
173
188
202
214
200
179
216
234
221
230
147
202
208
222
171
133
141
201
221
178
198
209
144
228
175
186
211
200
130
259
162
204
193
181
231
265
173
227
224
133
167
129
173
192
130
218
176
250
158
200
146
130
146
130
175
265
141
220
197
138
202
228
115
212
185
207
194
246
150
204
130
168
204
165
134
224
146
222
176
156
205
187
190
185
145
207
192
210
182
239
213
130
182
168
216
202
221
146
163
184
176
198
208
250
193
228
173
191
129
202
241
206
177
159
275
189
217
138
144
130
168
179
184
204
169
219
206
115
215
144
188
188
210
141
158
164
238
201
179
202
173
166
193
231
158
188
187
204
145
256
183
164
141
182
275
188
191
193
145
158
231
184
164
256
217
195
145
234
248
151
204
284
252
258
218
183
129
156
165
185
133
129
200
156
263
141
211
176
232
155
185
129
193
173
130
143
195
212
115
223
200
133
201
176
229
211
166
250
222
129
219
202
211
228
130
161
209
228
204
171
185
162
217
217
176
252
146
264
164
229
241
178
201
230
229
227
264
132
216
145
129
261
185
204
150
162
176
204
146
187
143
155
146
164
212
145
164
158
169
177
183
170
220
190
225
216
205
226
233
268
138
209
218
176
170
254
190
205
218
216
129
210
184
160
254
191
236
191
160
130
201
255
203
164
174
201
161
144
205
223
146
229
210
247
209
244
169
200
182
214
185
197
146
185
179
129
215
164
171
186
244
158
174
225
174
173
208
160
184
215
129
143
201
200
176
164
192
236
152
203
146
221
182
188
169
193
165
162
143
185
129
159
173
182
256
240
178
173
173
143
128
236
149
156
182
177
150
146
130
205
210
129
200
191
204
211
197
236
166
186
182
223
173
335
165
122
115
173
184
303
212
176
199
183
211
156
182
202
155
180
202
176
146
269
171
188
194
181
200
150
231
270
229
205
210
249
164
248
211
159
193
162
168
239
214
231
130
169
202
283
287
145
214
221
303
231
184
184
115
211
158
183
214
176
176
164
258
206
168
160
237
315
222
208
214
207
211
226
233
207
115
153
217
298
242
182
249
115
302
240
204
168
283
145
213
129
286
204
187
183
206
192
191
179
162
184
185
229
206
226
206
265
185
249
230
229
130
146
155
246
191
219
115
198
222
182
178
252
149
224
179
264
204
247
230
333
191
200
208
255
141
221
171
218
191
269
133
157
149
201
264
210
214
184
173
202
166
179
288
243
230
251
191
169
178
130
133
238
162
191
252
179
199
188
207
230
272
151
115
227
145
210
200
234
162
214
145
289
239
168
214
188
178
244
195
206
179
198
211
229
220
174
145
204
227
173
186
211
146
164
215
195
168
167
129
189
200
129
201
146
204
141
194
179
249
129
172
224
159
149
238
187
168
156
249
275
145
206
258
192
128
210
239
172
241
173
170
208
130
183
180
178
225
239
160
169
173
194
204
182
217
214
143
194
168
122
258
217
164
129
238
247
158
179
224
190
224
177
183
230
190
217
217
242
183
180
115
178
182
191
233
146
186
150
184
222
242
243
171
129
181
243
184
268
257
184
203
179
242
157
188
207
173
164
130
217
133
129
228
212
262
200
190
168
222
162
174
185
146
150
162
176
185
190
167
185
129
204
174
150
168
160
254
146
146
129
145
269
179
177
165
191
216
173
206
185
164
187
206
129
173
204
273
180
192
209
178
239
203
184
274
214
164
186
171
162
223
210
184
224
182
287
251
245
187
119
163
256
246
195
158
179
229
190
146
201
201
129
274
171
274
217
122
250
165
129
203
190
227
180
162
201
173
173
194
129
190
176
253
176
180
141
204
147
146
216
228
174
214
129
175
210
228
203
218
261
173
181
181
168
264
204
199
209
200
236
146
152
263
261
236
222
155
263
206
222
181
129
261
184
222
254
222
239
192
217
166
145
192
158
129
204
219
174
168
198
200
179
202
210
129
173
173
283
172
159
184
242
160
264
144
205
173
162
146
205
226
222
227
201
179
176
133
206
194
202
129
173
129
172
143
130
153
180
150
200
190
173
257
275
164
184
164
181
204
169
176
173
206
143
176
180
219
204
207
239
168
211
143
173
172
238
143
177
210
191
201
252
145
130
210
175
155
210
129
149
146
217
146
149
182
226
226
158
178
153
218
200
164
239
169
251
204
219
160
179
143
273
216
133
138
249
199
155
255
239
115
115
239
169
174
176
155
209
245
236
185
281
204
201
130
130
150
182
241
209
210
158
187
206
156
172
180
129
150
168
217
130
190
278
221
173
188
192
204
170
130
249
258
335
173
209
230
248
177
129
145
176
210
173
208
183
200
188
130
299
162
205
208
170
249
204
231
169
128
229
150
237
200
184
190
185
200
189
231
130
210
188
156
262
204
202
201
240
177
261
132
179
168
211
202
173
225
231
210
209
145
183
177
143
204
197
221
222
178
178
191
175
146
173
218
138
150
176
204
173
204
176
129
204
176
148
179
168
231
130
229
200
243
143
200
129
191
218
172
295
146
183
211
141
202
145
184
201
173
179
172
219
146
256
192
210
234
146
173
145
184
210
202
196
156
171
192
173
148
226
173
145
217
230
184
199
192
129
222
179
180
215
129
188
222
205
190
196
230
204
181
176
128
132
210
214
214
129
199
130
115
173
189
192
171
129
299
206
141
187
164
256
170
202
205
253
194
158
240
230
236
201
141
176
216
207
176
188
229
185
173
206
129
146
209
130
192
263
128
200
176
179
230
181
269
178
193
129
169
221
214
178
183
191
216
115
146
178
129
256
227
173
178
183
142
146
221
130
179
190
232
155
182
178
171
181
168
143
179
201
299
194
200
205
182
133
164
129
146
203
238
210
145
130
165
145
256
162
184
207
183
122
167
156
248
182
184
236
173
201
253
173
221
239
204
178
141
186
175
204
205
181
158
192
189
162
201
182
162
201
168
213
214
193
145
206
210
164
222
206
179
288
172
240
239
195
162
187
155
236
204
243
211
204
185
173
230
138
249
159
266
188
185
204
204
176
181
143
307
267
161
210
176
176
194
141
232
221
179
252
176
157
173
177
198
115
208
206
173
184
133
226
168
155
188
250
115
173
150
166
239
130
191
173
214
158
183
162
239
211
246
204
157
274
143
202
227
155
224
253
238
219
210
275
204
182
158
133
129
250
212
200
186
179
176
210
146
210
184
243
170
206
150
190
184
197
164
184
227
179
178
181
164
207
246
208
235
162
129
178
191
255
158
206
151
168
129
206
195
230
185
247
224
182
178
130
182
158
206
242
205
179
261
200
173
184
242
179
179
225
146
130
130
236
222
186
169
236
216
237
239
226
252
244
122
188
144
210
176
176
145
168
186
246
146
228
176
173
204
258
229
214
185
265
129
163
181
184
214
146
133
236
162
122
206
210
204
205
246
201
175
193
231
152
141
115
210
173
267
181
173
202
205
129
172
158
300
230
158
145
237
261
145
184
221
171
230
176
225
175
168
155
221
143
201
178
217
178
173
235
129
218
184
265
236
143
210
183
200
176
252
247
210
130
176
169
190
245
162
228
130
213
232
181
178
179
153
228
149
130
155
206
221
207
172
138
218
233
168
184
206
146
163
181
262
178
146
148
197
157
200
160
164
231
178
182
324
130
176
201
218
206
227
173
239
176
192
210
181
176
208
191
257
173
179
152
234
164
173
200
252
173
200
226
211
231
213
204
231
172
183
176
146
156
146
263
210
274
158
167
263
210
145
193
210
263
258
180
214
164
183
173
133
267
145
157
210
173
115
130
211
158
263
173
226
173
174
222
200
130
222
210
191
164
146
215
203
180
190
168
228
222
174
185
218
238
174
201
255
173
239
130
194
191
252
147
178
266
176
244
255
189
172
185
209
209
206
224
204
220
218
190
211
155
171
201
193
200
145
205
215
185
236
335
122
212
227
264
209
145
146
179
173
210
170
197
263
188
217
182
274
146
129
222
190
145
143
183
206
216
130
132
217
155
178
297
186
205
161
224
297
206
176
173
171
235
229
202
238
141
266
246
227
221
130
163
264
211
225
129
189
256
130
155
209
115
173
169
260
132
130
169
214
179
182
235
200
181
173
227
129
145
247
217
146
261
161
201
204
171
209
201
204
195
251
273
171
130
173
260
143
227
168
158
141
122
247
221
255
214
146
158
210
169
221
240
173
227
212
190
228
206
192
168
146
176
181
173
202
129
133
168
178
176
146
212
270
270
155
204
189
185
164
217
227
200
186
169
193
217
204
157
164
172
236
176
141
119
191
177
262
144
185
173
157
195
250
204
146
130
287
191
179
130
129
146
197
200
176
190
236
164
130
196
232
317
230
217
253
158
173
186
191
231
217
259
168
185
264
182
186
206
206
209
201
199
287
233
190
193
188
236
197
186
204
255
146
184
186
271
143
195
172
155
169
185
205
172
188
133
232
199
256
202
204
129
210
149
203
184
184
194
257
178
201
180
173
178
159
183
174
262
158
188
173
168
227
129
168
158
230
218
200
193
173
173
146
210
173
250
130
196
167
173
147
324
182
186
179
149
130
129
115
188
253
247
115
201
180
324
179
122
156
165
180
146
243
133
129
230
184
193
146
184
229
200
169
180
190
193
239
176
206
246
247
160
143
240
163
143
183
258
194
188
324
206
195
213
195
209
195
244
181
252
164
209
148
210
184
261
176
202
228
176
182
137
211
233
129
211
130
262
187
173
132
256
141
210
275
221
181
214
230
188
247
206
201
168
182
159
130
230
229
248
143
162
207
240
296
143
201
133
199
228
130
205
227
157
146
204
296
198
174
251
210
170
129
169
192
168
146
233
246
160
179
173
176
130
189
183
171
157
167
130
200
182
129
145
115
173
139
165
206
153
162
251
145
146
189
176
152
130
179
231
189
238
173
217
157
167
173
182
255
257
173
146
155
168
236
206
195
192
201
185
212
207
225
209
238
219
144
157
191
211
173
151
180
234
162
195
209
253
189
238
237
155
129
177
187
168
115
179
115
202
222
145
243
180
143
204
212
254
241
262
173
187
160
221
194
145
185
192
191
170
177
250
173
268
233
247
203
188
183
270
222
190
222
227
177
222
217
169
242
240
218
141
238
171
173
238
221
158
179
188
200
145
199
178
209
225
190
195
170
146
225
164
335
204
174
187
173
238
186
242
129
185
183
191
180
152
255
211
202
284
133
250
283
236
193
221
143
180
129
173
185
222
180
164
166
181
173
232
173
176
233
195
149
211
192
212
236
166
234
210
235
225
168
158
237
190
199
190
184
180
164
182
217
201
166
227
239
188
115
192
247
201
270
160
274
146
184
199
185
180
176
164
255
184
191
157
195
204
185
160
175
217
227
163
222
229
184
187
190
130
162
191
183
191
178
250
249
202
235
179
173
168
204
156
203
206
130
244
179
225
174
237
206
176
173
253
168
238
155
199
130
219
130
195
151
238
143
214
191
204
168
181
179
208
292
144
153
189
176
143
147
233
236
210
257
182
162
178
209
146
209
165
217
173
143
173
143
132
176
216
222
205
217
190
218
235
255
209
166
181
204
141
174
161
222
133
129
156
168
230
185
251
145
213
168
115
129
173
192
256
256
180
210
242
221
246
165
181
229
156
128
173
178
180
158
164
205
146
146
157
181
245
198
219
143
180
146
201
170
248
162
176
181
215
231
218
321
237
248
193
191
173
129
193
173
200
181
164
175
212
208
174
200
223
207
162
238
189
240
146
224
247
231
204
193
173
172
179
174
184
145
200
207
182
192
157
281
276
211
166
210
247
129
226
204
203
177
200
192
217
168
201
115
210
220
201
217
138
269
156
235
209
181
206
225
214
169
151
206
129
178
181
197
195
146
204
143
167
206
157
188
168
215
216
195
263
206
219
222
196
227
210
265
180
162
193
150
215
221
177
210
173
214
169
182
173
236
205
193
168
224
290
173
204
130
197
273
335
162
180
164
210
201
232
138
211
166
133
210
210
133
261
207
204
257
141
214
191
184
203
130
185
184
171
187
191
242
190
195
191
178
157
200
209
173
173
162
202
173
194
184
194
149
141
247
141
149
204
262
206
165
294
217
176
180
181
236
176
191
149
158
201
259
155
292
239
209
217
376
194
214
201
183
180
176
163
185
164
171
201
279
176
252
152
254
164
210
249
225
224
201
146
200
199
194
191
164
143
168
203
213
213
192
175
210
146
129
183
198
178
201
173
229
217
130
164
166
146
203
201
253
153
199
191
179
205
173
185
173
168
177
223
129
189
230
201
155
166
137
145
189
187
236
218
146
203
204
138
192
283
164
146
249
179
230
173
129
162
257
145
130
162
173
176
184
171
192
215
205
178
203
204
252
225
171
176
199
204
218
239
238
221
171
201
211
149
187
191
158
229
174
157
178
177
263
180
218
200
166
130
133
225
205
181
146
143
204
187
180
211
246
176
152
168
178
217
182
195
143
201
186
217
217
130
228
162
129
213
167
230
222
168
147
130
214
197
300
279
170
221
241
155
145
181
182
265
201
129
143
162
167
193
184
210
211
158
173
176
173
182
181
206
182
176
146
173
194
176
169
178
158
275
194
161
230
152
210
239
173
204
225
168
143
162
194
129
133
182
204
162
221
220
176
248
209
183
242
207
173
164
205
211
181
162
204
183
214
133
182
179
184
146
145
204
145
129
184
168
202
210
225
204
189
219
192
228
227
162
173
158
193
217
195
221
192
222
213
155
238
184
201
274
169
262
141
211
129
214
174
143
203
186
146
201
218
156
228
206
186
190
202
183
146
173
162
175
149
217
164
233
182
194
194
115
228
190
146
176
161
179
236
204
201
213
200
130
191
226
164
178
180
173
129
160
207
162
159
115
165
198
197
176
130
211
191
168
210
253
129
202
184
204
146
265
182
210
185
217
146
212
263
191
165
183
200
211
204
176
274
178
143
133
176
210
175
156
179
183
209
192
155
176
166
158
174
146
129
182
174
180
146
214
146
214
227
226
230
204
193
263
175
176
241
129
204
145
303
130
265
184
133
199
203
181
217
182
185
158
226
210
219
156
146
202
243
146
169
164
238
188
207
217
143
191
129
232
143
188
204
199
201
186
261
143
162
206
199
210
228
197
176
216
141
214
143
241
191
181
228
171
146
172
172
153
179
176
146
222
182
170
204
184
146
204
203
146
115
174
217
156
210
146
204
234
217
159
258
130
210
273
216
253
198
188
326
179
191
185
115
222
225
293
165
205
252
234
217
204
171
192
194
209
226
202
146
281
195
227
179
206
181
163
180
161
162
143
210
218
184
206
115
169
173
162
150
146
141
202
171
227
192
199
133
208
217
202
204
173
212
244
210
222
188
201
173
183
143
176
289
190
187
250
186
214
156
269
211
146
157
146
211
173
160
259
257
232
247
205
177
145
211
192
170
156
144
161
210
208
166
115
179
203
234
173
173
168
157
202
191
130
226
221
217
210
210
201
130
226
163
228
232
204
149
146
215
130
290
146
178
190
335
184
188
206
238
263
196
211
204
193
173
184
201
209
223
119
213
210
129
210
194
157
232
183
281
288
133
219
178
221
256
229
129
201
221
190
145
155
219
156
201
132
209
201
256
166
129
204
191
211
145
141
190
180
179
181
143
258
130
146
166
182
201
173
258
168
256
210
146
222
215
183
210
258
159
169
233
185
175
207
201
210
233
179
182
204
230
138
127
247
276
204
154
242
159
146
174
115
155
181
130
179
206
193
164
247
180
176
214
181
263
122
219
175
189
182
232
207
245
168
210
179
211
174
216
189
174
274
183
248
178
227
158
222
237
184
235
202
210
177
183
162
203
191
193
141
186
207
181
144
130
239
130
206
259
138
162
230
169
229
141
201
164
210
227
173
191
273
205
209
213
174
146
155
217
216
174
207
244
230
172
179
299
189
183
182
168
169
144
183
143
146
152
208
130
176
178
193
184
252
203
272
184
222
144
238
201
167
209
164
236
309
217
143
195
221
173
197
186
277
168
226
202
177
162
188
258
141
193
266
212
146
160
129
213
161
158
222
200
194
192
129
217
188
181
201
157
186
202
230
145
193
176
164
169
171
204
166
246
146
176
250
176
214
258
217
199
178
162
182
176
146
145
169
143
186
184
225
156
172
177
184
130
180
130
168
202
303
155
247
185
182
182
201
161
152
176
130
197
335
221
146
152
209
164
180
238
260
158
175
173
204
185
164
254
246
115
178
236
177
146
156
173
225
224
200
202
197
270
185
155
199
156
192
150
210
162
202
209
200
197
191
156
238
221
156
129
133
206
186
173
201
130
185
147
174
146
255
181
155
173
179
194
159
229
190
246
239
203
225
272
288
206
173
152
178
188
165
179
177
183
186
146
238
167
183
182
204
181
183
145
175
190
184
130
158
204
216
129
204
146
169
236
254
194
205
239
177
230
221
168
166
262
245
230
225
146
145
203
249
129
202
187
137
179
173
203
168
182
243
187
180
166
185
146
151
264
212
138
156
133
206
170
186
169
180
141
208
129
181
211
204
172
278
128
191
235
255
206
194
205
194
146
206
204
178
254
189
210
251
156
165
259
210
122
141
217
149
178
251
210
164
228
252
239
233
182
190
205
269
162
212
168
203
138
141
146
239
232
158
261
186
237
179
198
169
182
217
255
225
239
249
122
235
210
203
161
150
191
222
156
180
176
161
129
264
202
162
187
193
168
263
210
155
203
165
227
245
173
207
217
219
176
221
218
129
193
247
199
255
162
145
204
194
213
238
182
214
169
183
211
197
271
161
168
193
183
204
168
215
182
210
164
195
180
174
239
146
129
144
133
199
239
165
216
141
164
179
210
225
212
174
183
207
161
200
321
261
211
180
238
227
176
204
240
237
176
180
178
130
133
158
182
183
222
176
144
133
160
210
192
162
236
257
203
218
170
219
162
206
173
201
166
180
264
146
182
192
129
168
182
184
173
207
210
186
158
248
214
122
152
242
185
146
146
200
162
161
202
155
168
176
246
172
168
182
276
203
167
210
212
145
204
129
155
182
201
206
202
206
213
209
181
149
207
193
271
238
222
186
241
176
300
145
300
204
187
129
236
173
192
182
233
204
141
335
169
242
251
169
261
214
255
187
202
186
249
168
238
189
209
201
203
173
168
217
189
176
162
144
178
210
179
211
133
214
130
272
177
177
276
287
156
156
203
146
146
176
199
247
173
238
115
214
239
224
178
195
208
239
129
278
130
173
194
178
146
205
191
151
143
185
185
219
244
146
183
162
182
200
208
186
170
280
152
256
173
189
146
200
217
149
141
187
218
191
186
205
146
129
132
263
162
162
130
185
241
235
172
217
150
221
246
184
130
204
254
238
169
186
215
185
146
202
204
222
251
211
210
239
261
162
158
184
189
115
179
182
156
176
191
214
143
133
194
209
211
217
130
150
241
164
264
173
199
155
239
169
174
179
265
166
162
129
176
236
151
204
164
178
193
246
115
202
206
167
230
258
209
238
239
249
219
243
174
179
129
213
213
146
143
272
191
249
166
259
200
189
195
239
155
211
201
162
115
143
133
143
173
164
238
204
204
209
199
213
146
211
254
278
141
210
238
284
222
192
182
203
130
157
234
206
164
173
176
164
178
210
168
263
201
164
201
191
162
182
204
188
218
301
155
129
166
230
162
175
156
173
234
239
221
300
115
164
225
218
181
299
285
146
172
231
214
173
176
201
171
211
143
185
173
201
183
158
244
158
185
241
191
193
162
186
174
130
133
184
150
200
204
157
202
184
129
205
233
141
217
207
130
176
168
201
228
164
200
263
243
122
185
141
205
214
166
203
236
176
202
164
197
178
194
224
217
253
201
238
205
217
187
200
210
176
204
200
132
160
178
156
184
209
179
157
176
199
223
239
190
181
138
179
156
240
173
176
147
152
146
230
160
264
263
182
200
230
204
185
204
236
173
146
258
210
115
168
189
218
173
174
226
229
239
182
224
318
149
188
186
143
231
173
208
204
184
210
156
177
210
200
160
225
130
181
173
227
218
174
185
146
217
203
174
176
182
217
130
199
173
204
224
200
199
206
179
230
232
169
210
261
206
130
164
183
250
195
209
129
186
162
197
211
211
202
257
122
149
166
223
272
259
246
191
265
187
185
119
119
181
255
250
221
172
176
274
217
129
162
182
194
153
174
153
173
220
202
184
321
181
200
210
240
203
206
179
184
164
177
193
261
247
130
158
182
168
129
180
176
232
246
165
191
183
229
209
141
162
129
247
190
198
176
255
202
206
214
158
238
261
169
236
178
230
164
211
175
236
201
150
151
201
149
176
143
169
187
205
242
146
259
227
185
130
263
173
210
207
272
178
173
230
217
204
141
214
221
173
210
146
208
209
164
191
176
210
179
188
191
210
190
200
238
200
149
236
146
169
208
203
145
168
146
146
146
197
173
249
182
204
157
162
217
203
234
164
217
239
188
182
180
176
325
206
230
208
141
170
178
172
182
181
237
229
213
231
217
223
333
221
206
202
211
210
176
215
240
158
173
170
130
233
176
173
238
162
164
210
269
204
181
115
216
158
204
240
217
191
217
218
270
168
283
296
194
288
200
204
189
245
180
186
179
155
129
173
129
158
176
255
206
171
178
195
202
215
253
166
176
195
146
147
175
190
162
146
253
151
156
129
144
144
217
184
183
252
239
176
173
129
173
182
227
200
174
195
230
255
166
252
155
162
207
183
230
239
211
208
278
227
263
210
221
160
276
168
204
115
185
180
183
130
168
168
203
173
204
191
219
225
232
156
186
263
195
217
187
191
153
178
267
185
176
146
200
130
214
211
231
205
162
185
231
179
216
115
172
169
253
182
204
183
204
227
190
264
181
130
187
234
192
236
119
202
173
214
180
212
183
129
145
133
176
231
238
222
150
156
181
144
194
164
187
168
214
155
214
173
220
181
206
193
155
130
229
146
182
216
239
227
201
215
183
161
203
155
146
174
176
164
182
207
234
260
146
246
202
188
142
178
249
192
202
185
239
185
173
129
239
254
254
150
244
236
206
187
184
230
182
216
204
207
156
164
216
130
241
272
151
247
238
184
159
174
163
234
158
194
192
165
240
197
182
298
185
225
176
174
221
229
146
217
192
243
204
229
176
194
229
194
201
235
259
201
145
115
146
223
160
146
228
204
225
176
217
130
155
146
175
241
186
160
206
201
130
155
143
180
168
182
164
169
163
155
236
204
190
143
173
203
161
164
130
222
230
115
160
130
129
213
175
202
177
211
184
217
230
239
180
226
238
216
205
145
217
141
180
195
122
158
217
203
171
254
217
184
206
232
160
202
173
180
211
231
217
180
169
210
173
247
195
185
115
201
217
158
204
176
203
153
115
199
214
277
158
179
169
168
217
206
176
129
166
203
130
257
194
210
133
216
239
173
181
162
200
225
195
129
236
176
165
115
184
129
158
130
176
198
218
261
202
130
268
129
238
146
129
188
178
201
202
227
204
241
228
175
300
115
181
159
145
235
210
211
128
200
240
182
200
175
146
219
181
160
176
188
222
182
146
276
177
194
146
200
232
194
146
231
147
129
187
180
172
225
176
169
195
171
147
246
197
166
211
143
166
129
248
133
152
200
156
147
160
183
156
173
180
190
191
211
115
130
158
187
214
155
210
171
183
229
182
242
236
182
183
224
171
145
221
166
191
211
199
221
167
188
187
192
133
209
133
171
218
145
195
129
230
183
130
174
158
149
195
130
164
210
183
214
206
189
146
210
173
235
174
132
146
184
177
181
186
180
221
164
228
217
141
209
164
183
222
264
130
216
168
192
210
204
200
138
130
210
175
175
219
210
143
168
194
145
185
200
146
164
204
162
216
176
215
162
174
217
173
154
185
186
235
161
147
197
196
169
173
181
207
229
179
205
197
194
129
210
169
185
192
300
203
198
234
174
161
145
176
259
191
166
147
232
162
168
204
230
221
172
228
215
115
197
216
226
275
146
204
164
239
154
197
231
176
164
167
182
191
204
166
173
242
200
182
177
168
220
209
173
181
178
225
185
145
216
130
129
232
262
242
160
145
201
204
214
266
209
211
173
138
129
191
133
238
247
210
173
265
146
176
149
174
229
240
282
209
182
195
141
210
191
160
204
182
169
173
202
129
222
236
133
163
238
219
197
207
187
178
215
204
146
155
226
130
210
266
294
204
211
247
225
160
217
222
191
176
200
115
150
206
247
254
210
202
129
183
158
195
204
202
207
176
224
162
166
266
221
168
221
191
164
194
211
195
173
178
197
214
200
223
149
244
176
171
155
169
150
188
239
191
299
236
210
204
162
267
141
146
210
163
206
130
146
155
188
161
130
228
192
215
306
179
163
168
164
285
207
244
146
230
193
176
283
132
200
201
181
129
230
238
212
222
212
218
219
231
234
212
211
150
335
176
226
259
180
268
209
213
205
206
204
325
188
218
246
179
184
184
213
132
210
219
159
133
182
263
198
279
164
194
150
166
190
145
146
153
173
204
130
201
189
141
159
164
193
168
189
225
228
207
129
176
129
258
130
171
164
129
264
222
115
234
181
267
180
188
217
194
172
236
239
193
206
145
168
204
150
122
203
115
173
185
236
221
151
245
184
238
213
227
244
190
304
266
187
161
189
176
133
176
186
130
129
158
191
274
225
197
155
173
184
251
210
225
178
153
146
211
159
203
195
156
184
278
163
180
237
182
179
217
282
207
268
162
248
190
193
146
227
201
186
169
180
178
177
141
194
236
230
163
230
182
176
243
176
283
170
207
190
237
199
187
207
146
168
141
182
277
203
115
228
230
200
237
215
185
173
214
186
201
211
183
209
183
173
122
212
204
227
204
185
254
146
204
202
238
192
129
215
204
228
166
157
175
235
264
264
170
213
230
168
170
141
180
129
199
168
210
165
168
199
189
251
176
195
182
211
166
187
129
180
229
213
206
236
251
208
119
173
269
218
245
200
170
177
157
197
131
168
202
174
171
202
211
212
194
200
173
169
218
143
176
248
192
191
164
225
162
225
206
217
353
119
236
172
146
174
222
176
214
188
217
173
198
200
204
164
173
204
155
222
241
188
175
207
141
206
206
147
202
173
264
201
187
214
247
133
190
250
197
254
189
145
166
168
129
200
207
180
174
164
265
173
178
192
231
239
235
206
182
225
173
218
173
133
222
234
165
236
250
210
184
162
240
143
222
274
156
285
200
158
181
211
217
217
188
188
141
167
158
188
169
197
180
173
214
239
200
204
325
161
129
165
197
176
146
197
242
176
205
160
143
230
238
150
176
262
253
148
256
232
184
267
119
159
167
204
174
225
190
221
156
217
248
242
133
191
202
122
185
133
197
146
129
164
146
208
201
173
150
191
129
150
206
143
130
209
174
250
182
158
228
179
190
234
132
201
159
130
186
168
235
234
146
155
266
130
129
132
230
244
141
162
204
190
167
227
179
228
250
173
204
210
166
176
246
231
173
335
202
218
215
183
176
155
115
158
129
173
259
214
176
195
179
167
213
252
210
166
173
130
211
162
184
197
238
180
173
115
179
164
180
187
189
173
179
173
182
214
162
213
143
152
162
265
257
168
166
176
129
166
238
162
257
200
185
203
173
173
147
194
212
228
227
146
162
180
184
181
160
195
199
214
164
185
180
175
195
181
166
184
158
190
262
174
141
173
184
236
186
182
181
210
129
193
191
178
217
130
129
146
145
310
183
234
246
174
228
168
146
164
161
269
143
217
181
257
238
133
162
176
296
133
215
202
130
222
129
220
130
158
188
274
146
258
208
146
237
251
197
304
210
180
145
205
153
173
183
202
159
205
115
197
174
212
230
173
183
303
163
217
129
200
209
167
184
232
198
186
202
159
259
162
278
211
282
203
247
192
176
231
236
231
145
180
176
281
130
204
138
187
174
182
226
159
150
180
264
193
238
195
228
176
217
244
233
222
209
185
183
214
236
303
243
202
178
247
168
164
146
191
204
215
169
184
146
192
190
130
164
202
222
242
242
193
184
233
230
211
162
195
210
129
138
229
173
143
241
131
182
206
227
207
155
230
230
241
240
217
185
268
170
216
217
182
175
176
204
209
222
233
252
143
226
153
164
141
217
164
151
202
173
194
178
193
176
158
217
206
176
183
171
283
181
234
237
280
215
244
238
235
175
169
155
184
185
173
143
226
143
162
203
175
164
128
178
255
222
204
211
160
194
130
196
219
129
130
178
143
211
204
176
211
197
156
182
195
201
192
202
248
151
146
157
267
202
179
283
144
194
198
234
235
155
217
150
203
201
169
202
191
176
192
222
207
204
187
227
145
186
299
130
245
201
146
231
200
239
173
258
230
187
178
210
261
223
198
171
178
204
158
172
192
189
187
211
259
251
173
198
146
179
132
122
248
173
182
152
193
129
248
181
197
211
115
205
173
234
183
235
171
180
197
185
220
231
202
265
180
254
129
183
198
185
204
168
141
202
250
187
250
119
141
146
181
143
174
214
151
194
137
197
228
149
149
191
227
167
129
115
261
226
225
217
247
141
204
187
237
217
190
163
176
166
188
164
193
219
205
237
250
214
205
211
176
178
168
146
149
151
236
287
146
183
192
202
167
130
250
222
187
164
277
168
211
129
129
180
182
272
200
151
207
176
182
228
216
162
184
238
285
173
221
237
173
143
184
206
195
228
204
218
224
186
186
201
222
182
146
173
183
173
178
221
210
190
234
242
177
210
200
158
236
164
185
130
130
160
186
201
296
197
214
218
133
211
159
214
236
184
169
162
131
194
246
176
168
176
202
249
129
220
195
129
210
217
283
239
244
290
178
244
217
202
129
214
169
204
221
143
243
167
185
201
204
239
202
237
156
188
275
210
162
146
239
183
182
239
230
283
184
168
176
183
175
161
191
227
168
204
160
232
303
168
172
209
184
239
180
204
176
173
189
258
138
150
171
130
261
200
178
218
202
152
150
223
182
276
184
199
178
175
179
166
163
247
211
184
233
277
224
201
143
238
237
228
222
162
216
204
215
159
218
204
211
206
181
162
224
220
129
222
175
174
130
182
215
166
190
133
180
146
183
250
158
195
130
193
244
244
224
201
151
188
152
145
180
204
285
239
161
253
133
210
143
158
214
143
160
183
213
196
204
256
210
202
188
179
185
214
226
132
281
173
217
244
188
182
204
130
162
203
228
196
173
119
146
195
132
230
199
130
176
204
210
149
237
168
211
152
210
129
129
160
183
191
168
130
187
177
141
230
235
178
258
131
174
176
129
185
224
247
173
196
162
130
130
251
220
146
197
156
176
188
129
244
245
204
180
173
179
191
163
173
184
210
281
158
221
191
167
164
189
146
130
224
187
173
201
206
198
197
236
220
195
247
204
211
201
176
178
236
144
133
263
204
212
176
212
260
144
244
226
202
185
144
168
202
183
141
188
180
191
207
186
244
211
132
236
211
200
129
197
181
174
202
183
133
170
133
222
260
130
182
207
236
213
178
221
147
178
157
129
193
129
191
146
185
283
236
235
201
200
211
187
251
231
198
252
188
206
146
129
174
243
142
171
231
173
236
179
162
174
168
219
213
204
200
206
234
155
236
188
176
146
122
152
206
192
145
236
242
217
173
162
156
218
217
158
231
158
172
179
141
238
261
143
240
145
176
182
191
226
222
203
274
145
181
256
138
218
146
259
227
188
226
258
199
204
175
173
202
187
191
201
217
130
241
202
115
173
199
155
234
210
160
303
185
228
200
115
205
115
259
159
214
182
225
219
191
217
171
192
200
201
348
260
130
201
200
194
143
207
214
200
255
145
253
130
156
173
228
265
171
178
215
236
162
130
225
158
159
251
153
178
115
175
277
150
130
197
210
201
173
209
133
115
215
228
133
164
204
239
201
147
218
146
226
115
204
209
144
182
189
168
182
157
169
225
263
184
149
182
204
169
173
232
231
217
152
133
146
239
200
215
164
209
161
227
149
133
130
171
232
164
201
146
164
172
188
146
179
128
239
199
184
210
162
222
220
189
202
130
194
146
225
185
201
231
276
243
144
169
146
185
146
202
204
146
174
230
191
196
227
246
129
183
158
156
192
155
156
181
202
151
216
146
173
173
191
146
145
242
211
214
223
171
163
256
307
248
208
162
205
222
177
257
130
204
176
200
133
168
204
211
225
209
167
133
130
173
129
158
129
173
146
169
218
263
215
263
146
183
211
204
155
230
176
178
176
235
158
149
200
169
207
217
221
165
155
152
193
155
272
180
180
122
212
228
129
181
122
237
246
208
225
173
178
187
192
191
192
210
201
168
213
191
167
218
214
216
184
180
183
222
173
166
204
225
210
169
173
191
229
245
281
195
165
180
261
162
129
192
335
179
182
191
214
260
146
174
203
210
176
217
160
257
167
146
216
191
174
129
231
168
200
192
227
189
149
231
197
218
175
156
166
156
130
145
145
234
195
216
195
193
179
230
163
183
244
170
239
197
130
259
177
233
227
169
236
261
218
164
181
205
237
171
210
204
230
156
191
210
166
211
138
210
211
239
201
236
235
145
244
146
160
203
217
236
208
206
206
144
201
129
191
186
263
203
217
235
160
201
180
206
176
218
166
183
248
240
133
231
177
192
218
173
176
207
263
175
204
174
168
266
252
160
144
207
204
199
160
246
145
262
178
162
225
251
219
204
206
184
177
180
208
239
168
156
260
246
206
173
180
206
193
176
129
183
179
174
257
191
129
162
187
218
194
231
156
146
287
212
191
204
286
180
194
217
261
239
166
206
192
145
232
274
145
173
170
326
221
173
129
202
198
157
176
176
173
234
184
247
262
235
180
130
176
194
141
204
253
192
156
129
155
173
162
187
151
231
184
184
231
224
231
161
163
146
180
259
227
184
133
203
213
176
215
145
130
144
176
179
232
218
218
146
183
273
215
204
191
166
130
230
247
283
283
189
180
183
167
201
255
206
199
164
176
302
217
186
143
162
202
162
202
115
150
202
178
248
237
234
178
208
191
169
146
162
164
238
252
244
157
184
202
179
176
183
206
222
145
153
185
234
185
181
157
152
201
147
273
182
115
214
183
254
165
193
293
201
229
285
229
174
145
229
210
204
195
176
214
129
191
130
251
255
191
202
147
146
183
184
155
146
155
190
195
246
185
227
164
172
183
217
158
193
174
169
278
228
129
149
176
207
189
230
129
215
150
155
200
143
130
174
225
179
200
208
208
240
258
214
233
272
130
209
214
241
164
227
176
147
153
238
183
183
202
213
179
152
173
127
129
277
179
238
205
173
130
170
162
203
189
178
215
196
168
154
208
146
252
238
206
164
201
245
184
174
277
204
238
138
176
204
130
150
167
122
143
225
173
141
199
229
173
193
164
190
150
247
184
217
174
280
221
115
145
138
160
203
183
146
262
201
150
162
227
172
166
178
115
238
194
278
188
178
176
217
263
195
133
173
173
214
230
206
203
168
241
198
188
240
145
192
146
194
198
242
160
159
232
191
155
130
173
189
149
202
149
191
155
115
284
236
193
179
222
182
172
180
195
180
216
206
173
166
261
147
256
174
198
211
185
254
128
133
242
277
229
185
174
202
185
122
227
182
177
228
115
238
214
172
186
208
214
176
184
236
211
145
196
227
210
210
130
203
176
168
162
164
216
206
222
210
146
254
163
210
239
191
179
146
144
217
246
115
230
146
185
151
115
174
130
146
230
179
189
176
168
161
158
199
182
185
204
229
201
186
176
188
176
164
173
204
181
130
176
151
178
238
146
177
143
283
168
248
234
180
193
176
173
151
169
224
190
200
214
145
205
184
130
168
217
162
129
239
221
166
249
180
130
237
209
192
146
184
168
188
145
156
158
280
200
217
236
157
174
228
130
186
129
242
173
191
173
133
214
202
158
145
182
209
253
146
244
178
192
245
335
211
209
194
174
255
157
183
143
178
164
166
173
187
161
195
172
225
143
230
204
129
171
201
261
149
226
173
239
219
221
130
169
192
170
228
200
195
164
242
206
230
218
230
200
164
157
231
229
197
188
200
203
178
206
288
275
234
210
236
164
211
195
238
287
130
145
241
210
196
176
163
199
266
194
138
122
189
164
202
194
180
202
128
237
141
151
188
260
188
158
130
247
158
198
205
200
230
222
229
173
283
145
230
144
214
238
274
257
160
212
228
149
160
182
146
228
238
236
195
185
188
200
218
214
206
222
170
173
231
176
259
201
205
146
179
166
198
219
252
152
145
222
199
258
195
236
219
173
228
173
248
215
201
202
146
190
189
164
119
246
256
185
238
188
225
191
231
218
179
183
180
130
143
209
146
129
144
144
131
162
129
202
146
250
173
205
228
226
146
200
239
221
201
172
263
201
195
242
252
174
182
146
210
188
184
173
146
191
173
130
237
227
130
176
209
130
158
200
183
115
201
138
176
230
297
210
204
201
261
146
193
261
200
160
129
203
185
210
231
129
249
158
218
164
200
191
176
226
287
145
214
143
236
216
146
198
173
215
184
164
257
200
130
184
204
133
166
221
128
230
259
191
242
248
212
184
158
242
201
205
129
250
173
173
173
267
215
242
200
178
218
226
176
226
185
146
211
208
179
268
275
193
130
185
204
161
115
208
150
166
162
195
162
232
146
188
156
188
221
206
191
203
180
178
164
176
211
146
130
202
220
205
231
188
231
236
210
225
215
226
204
201
201
231
129
183
224
234
202
236
173
152
138
259
245
192
156
191
164
190
173
180
189
156
188
188
130
163
242
199
129
212
176
129
180
200
210
230
219
206
155
210
216
178
261
206
248
216
179
189
248
152
192
115
240
202
209
162
258
191
176
195
173
214
201
254
239
200
162
171
140
179
184
183
204
147
213
156
214
199
210
130
151
254
172
184
241
174
165
208
218
183
202
164
244
210
211
162
138
176
148
133
147
183
195
163
182
160
151
210
189
146
228
184
173
261
204
176
189
252
130
146
200
171
190
225
130
133
208
129
185
210
179
212
133
173
204
220
241
138
156
182
272
130
244
190
184
176
218
179
264
115
188
219
191
146
215
146
168
166
246
230
264
197
192
182
146
166
182
183
179
211
213
225
206
166
217
176
122
262
151
221
263
130
193
203
207
222
218
188
217
182
146
211
206
210
257
227
146
168
245
191
190
174
183
260
252
264
294
180
156
143
115
119
213
130
202
155
204
238
206
237
130
282
199
236
172
210
129
165
200
194
177
187
157
129
222
217
260
196
198
241
115
185
186
129
188
172
219
194
182
210
133
202
176
217
169
214
157
173
252
146
159
211
193
204
187
217
146
133
176
195
187
130
157
232
192
168
146
195
143
155
219
180
234
205
248
168
176
171
210
152
163
287
175
215
146
183
210
145
173
186
155
250
167
127
187
217
166
129
129
178
191
296
208
209
156
132
176
227
138
141
230
179
191
197
190
173
238
204
238
180
146
208
182
226
191
115
174
283
222
130
180
296
184
164
213
129
236
179
143
181
169
166
213
244
234
246
227
198
181
130
236
210
133
174
202
129
191
207
133
201
201
130
146
200
176
262
245
275
176
201
204
145
130
200
191
201
230
162
237
279
167
146
173
215
129
143
197
166
143
173
216
230
210
206
156
296
179
193
192
217
130
115
146
206
180
185
172
196
190
211
313
239
210
194
160
179
203
211
238
129
208
258
203
168
189
210
146
230
195
204
232
171
194
161
230
128
201
150
212
231
203
200
164
180
143
227
140
190
171
181
224
194
213
185
158
211
130
201
168
236
235
258
178
216
280
188
166
204
193
146
188
169
222
255
217
168
182
176
213
141
161
197
157
183
211
182
156
173
172
241
211
232
261
149
152
154
175
202
236
144
156
229
173
147
159
129
173
179
145
207
219
200
133
183
208
263
176
228
229
191
187
162
150
130
166
165
171
183
176
174
173
184
196
155
173
173
160
206
174
202
159
210
180
178
203
238
180
145
204
150
217
239
179
217
285
173
145
130
197
164
203
161
157
162
143
193
185
236
254
133
129
185
128
185
184
129
207
173
210
247
225
246
246
129
195
228
133
203
199
218
129
129
186
143
172
183
141
235
205
137
193
217
194
222
204
191
204
197
210
207
218
204
193
183
225
172
151
195
202
178
217
179
129
189
161
167
210
187
208
166
182
174
176
246
133
172
181
181
211
192
129
238
168
178
210
238
256
249
168
198
202
228
201
218
145
183
193
244
139
129
130
178
160
168
190
176
204
192
176
225
231
158
141
175
255
230
183
176
164
146
302
130
182
200
191
229
240
256
184
187
201
130
222
160
197
195
176
150
190
141
214
180
191
239
222
184
168
238
228
173
217
161
119
260
130
146
130
232
171
143
173
146
246
211
215
199
173
187
189
258
181
243
211
235
216
201
156
205
130
257
195
169
202
199
170
176
168
184
132
156
138
146
151
238
161
133
201
244
195
180
204
207
222
115
163
184
210
172
205
115
173
176
158
180
130
146
179
206
158
183
130
195
115
187
179
201
130
178
227
204
171
211
204
156
283
160
200
191
188
197
145
236
216
146
215
146
225
186
229
195
199
202
184
257
206
209
181
191
179
129
164
247
191
176
182
216
242
190
287
162
201
170
236
115
162
115
225
169
217
145
184
175
184
248
238
183
247
256
173
183
160
242
197
203
177
206
129
209
213
143
130
129
183
146
174
228
169
266
184
169
214
143
202
173
146
141
206
146
145
234
180
160
151
176
181
222
129
205
173
256
146
129
145
236
205
175
229
242
176
247
143
268
168
115
230
204
200
170
138
176
229
182
138
163
182
191
155
185
213
173
166
187
200
246
160
353
183
145
178
201
269
186
192
206
179
188
190
203
128
168
200
145
138
185
238
162
193
129
130
204
162
210
270
283
180
180
133
119
153
232
246
264
168
193
179
176
240
133
144
173
300
184
270
146
179
209
224
209
177
151
155
172
176
211
115
191
245
192
251
156
322
145
176
261
246
129
191
210
219
231
171
147
209
189
194
201
172
158
180
202
335
150
199
173
178
203
206
187
173
176
162
176
225
160
190
173
219
153
184
239
225
194
179
129
190
183
187
248
178
145
189
145
163
146
182
129
172
162
150
130
168
191
174
199
225
205
252
186
229
160
173
224
189
246
145
130
201
214
162
246
239
188
207
193
184
173
162
283
239
201
141
140
192
244
129
157
158
155
161
191
145
217
143
252
210
164
158
180
146
198
158
203
170
253
239
173
150
213
146
251
130
129
209
224
180
236
169
244
145
235
231
167
178
240
184
129
258
234
211
208
191
202
145
182
166
158
164
195
230
201
232
169
164
191
216
133
239
158
168
157
176
238
185
207
193
179
212
201
162
211
210
197
231
225
217
143
163
188
254
149
213
199
189
199
146
155
197
154
183
154
146
176
219
149
168
206
115
164
238
178
179
115
158
181
168
166
177
182
173
235
173
205
222
181
201
230
299
115
169
200
233
220
171
185
184
156
206
186
200
211
168
287
266
208
168
209
171
130
182
257
242
180
274
164
214
231
211
203
212
225
129
211
236
146
244
225
204
200
209
162
145
182
185
236
227
214
168
147
229
221
122
204
225
199
178
176
180
193
210
209
185
130
184
239
218
219
159
190
133
210
274
130
262
159
216
168
122
195
209
201
130
173
130
164
206
202
163
166
228
264
173
147
156
143
122
167
162
226
214
229
146
234
129
150
173
264
193
163
210
115
182
184
193
156
168
164
143
210
144
180
212
248
244
213
165
207
174
191
225
138
202
238
204
221
211
217
162
165
184
250
143
173
261
162
210
115
180
129
176
158
218
129
195
302
194
233
183
192
182
167
186
146
195
250
253
141
202
178
173
186
252
176
115
133
262
262
240
146
129
173
132
129
228
167
201
150
186
217
146
242
162
162
157
186
259
179
184
181
179
201
195
270
210
246
206
168
150
158
219
155
204
204
264
174
224
169
174
186
255
224
202
177
202
133
152
221
216
241
156
170
187
231
230
191
129
129
185
200
182
145
146
169
183
164
188
193
178
143
180
186
204
204
156
129
193
210
253
169
191
204
228
173
185
183
156
193
179
256
195
174
176
220
258
157
130
296
122
211
193
192
257
167
178
169
162
181
129
200
187
204
173
217
146
202
130
173
164
129
178
162
129
146
210
202
169
173
217
221
156
178
296
185
180
184
243
201
182
228
231
171
227
186
230
209
141
189
130
247
129
261
285
223
185
141
158
201
129
207
153
227
196
211
146
239
185
115
212
129
210
225
204
143
220
130
178
171
236
287
146
168
151
198
227
183
259
249
166
155
302
236
187
229
147
141
236
217
129
222
129
138
211
256
180
241
218
149
218
145
211
217
176
186
237
130
210
235
186
182
190
202
224
179
200
195
173
225
187
229
201
190
191
129
192
311
146
129
227
129
145
150
184
161
269
264
238
153
176
173
270
146
204
206
263
222
176
173
178
129
177
172
210
177
204
176
130
220
221
151
255
166
195
232
176
193
156
180
321
183
183
197
193
239
227
274
146
176
204
130
129
229
169
194
179
224
204
215
144
192
129
180
184
217
186
266
130
145
249
187
230
277
220
195
143
224
191
202
204
160
241
164
162
129
229
195
169
194
201
251
244
122
226
258
204
239
182
197
176
239
216
201
202
295
263
218
115
225
145
235
194
222
133
172
201
115
211
206
185
182
179
179
130
152
191
167
184
194
214
182
190
170
173
168
224
242
193
159
146
155
173
192
214
203
130
263
181
168
194
176
130
284
153
199
115
258
213
214
244
192
142
187
152
130
178
297
174
208
141
291
262
147
186
274
258
213
185
238
146
201
257
133
164
210
210
176
201
168
226
195
285
202
222
173
203
201
228
225
235
170
205
181
207
129
172
268
191
277
175
244
225
237
129
174
230
187
182
239
211
151
164
173
179
169
145
206
219
231
211
156
133
133
214
166
230
224
207
176
240
238
201
222
129
155
206
129
170
200
130
168
185
184
233
202
174
195
206
201
206
176
194
146
283
270
236
181
160
115
209
176
173
164
170
205
176
175
143
247
130
165
176
204
236
180
172
243
252
173
227
183
229
162
183
184
229
210
179
178
209
155
163
182
138
176
224
130
148
263
234
217
164
169
236
252
247
256
239
220
146
176
239
146
200
195
204
119
180
179
172
190
213
204
162
182
214
193
204
182
246
239
181
115
211
176
200
177
171
183
265
204
237
296
169
219
272
214
175
230
115
188
130
129
168
164
146
155
272
239
182
186
213
225
230
182
195
289
203
181
184
129
353
214
115
178
184
272
214
145
183
133
149
199
168
218
230
203
170
171
143
164
160
260
199
129
267
173
202
167
164
210
234
157
211
199
173
238
226
237
173
164
238
191
246
151
162
146
166
162
155
210
209
169
175
300
234
210
221
193
199
238
248
185
202
167
250
133
195
173
227
189
129
166
176
219
247
141
248
180
204
192
146
149
187
192
214
214
150
150
168
227
254
130
129
222
115
211
187
184
184
233
253
145
240
146
181
194
143
189
184
249
204
240
182
158
224
191
210
212
204
155
208
156
197
143
239
201
217
174
172
129
133
204
212
261
247
206
219
188
206
221
158
284
179
130
180
122
188
158
218
162
130
191
197
265
221
263
208
152
146
206
157
155
155
180
217
183
195
229
181
215
237
143
210
196
180
115
216
225
248
190
182
133
167
223
200
184
204
119
184
231
232
146
263
168
155
216
220
115
176
159
160
146
178
195
217
212
211
146
206
202
228
146
213
168
227
173
130
146
176
200
219
180
130
145
200
195
201
130
141
146
230
115
275
213
156
214
190
236
166
152
143
173
190
129
197
179
168
129
210
207
195
217
225
162
194
149
144
255
164
129
162
162
183
176
216
180
133
171
239
252
239
130
184
200
217
207
178
180
143
146
200
129
143
171
238
181
222
257
178
184
186
274
200
227
115
167
209
176
187
240
235
179
176
202
130
167
201
162
169
194
229
294
179
143
246
201
246
155
188
191
153
220
168
191
132
180
226
216
133
176
218
211
171
145
115
129
210
205
183
191
274
168
132
171
210
212
184
146
257
146
196
202
200
205
179
129
159
202
184
210
173
191
244
202
204
162
162
211
230
256
191
204
230
190
241
181
209
206
157
158
229
180
170
273
225
210
209
297
168
254
256
176
259
229
200
206
169
242
218
176
216
141
218
191
175
193
236
130
130
130
184
173
222
185
204
115
130
202
216
230
177
181
244
144
145
218
206
283
133
146
204
229
167
171
129
182
193
176
244
191
189
222
146
156
179
191
214
234
234
200
211
187
206
201
236
208
227
164
133
129
214
203
129
173
173
138
220
225
233
157
204
150
234
146
231
182
150
156
228
204
185
164
176
206
210
130
202
160
155
186
155
217
204
202
207
143
156
222
162
222
146
174
228
176
182
264
129
190
264
214
171
184
252
173
213
179
182
187
262
238
209
173
146
183
209
223
130
210
164
201
217
187
228
174
229
191
214
173
169
143
225
237
130
209
158
173
190
146
164
241
128
210
227
204
202
222
219
186
176
302
143
226
143
130
163
173
247
286
209
164
166
263
200
129
217
155
146
246
204
186
225
173
214
169
198
179
192
255
233
162
215
266
179
210
173
187
182
166
217
173
171
133
168
169
168
164
191
210
191
241
129
130
188
184
162
234
200
176
129
210
202
176
235
186
164
226
182
130
189
221
180
178
162
173
203
221
174
130
173
204
173
211
182
174
173
248
176
264
277
166
129
122
263
230
138
188
173
179
260
256
271
195
146
201
212
130
171
129
185
202
209
204
206
158
172
172
217
146
204
194
180
190
133
216
146
202
202
149
217
149
174
200
176
272
166
173
181
211
227
264
205
146
149
129
176
232
194
214
184
216
130
129
139
133
198
186
162
172
166
130
128
202
166
146
212
244
198
184
184
225
197
221
193
200
230
158
186
168
191
176
239
171
115
167
204
149
155
194
129
183
143
210
162
236
273
214
201
151
228
129
176
133
208
274
150
224
183
181
255
146
191
191
225
141
205
201
179
178
145
221
158
180
146
144
141
217
194
173
211
163
210
205
166
231
162
156
210
239
230
190
157
274
185
146
182
207
143
175
182
227
130
267
146
216
146
210
184
184
182
164
187
230
206
184
200
182
191
186
164
185
206
150
211
201
222
130
150
225
129
175
285
145
176
217
169
209
143
173
230
184
173
184
201
228
149
234
169
227
180
217
145
154
212
200
156
207
152
204
130
242
262
182
196
198
191
138
247
210
149
189
143
166
179
287
182
179
184
189
119
170
166
198
176
211
171
122
199
176
205
243
129
201
225
164
221
129
130
256
153
171
238
119
187
214
236
129
146
145
129
264
264
173
146
211
250
146
178
204
227
119
146
157
287
165
145
211
181
229
204
146
145
190
180
199
169
130
218
213
185
133
149
258
204
146
281
176
204
258
230
198
238
182
251
278
209
229
183
184
179
173
218
115
184
185
171
174
199
300
202
179
200
187
178
183
210
130
196
183
263
206
226
143
168
229
202
164
238
251
145
243
227
260
204
179
130
183
164
119
200
115
235
188
178
203
168
129
183
151
158
201
145
185
233
240
255
204
209
217
241
130
200
173
199
191
173
211
130
187
145
238
236
278
186
173
189
181
203
145
267
130
225
200
170
184
189
199
176
199
169
164
155
129
270
272
205
168
164
187
176
179
179
132
281
130
173
173
164
184
247
222
168
217
228
179
160
235
177
206
321
257
224
218
162
184
144
236
146
130
173
233
176
193
180
165
204
184
200
211
130
219
152
240
204
130
230
247
174
186
172
167
174
235
217
257
183
169
184
204
223
201
217
209
359
238
119
252
191
133
177
132
192
172
194
129
183
179
210
145
211
171
158
210
156
204
164
274
178
217
133
190
230
217
133
206
232
200
176
193
129
225
217
244
205
173
245
206
155
175
145
129
176
271
176
157
159
206
204
143
149
222
201
214
162
163
211
200
239
184
282
233
227
203
115
217
325
172
239
206
162
247
155
209
206
202
173
167
168
143
189
237
149
227
130
153
150
153
129
162
176
149
144
184
203
238
170
214
200
217
162
164
171
196
164
129
164
204
180
150
256
158
185
201
189
147
197
184
222
201
190
186
168
169
186
183
176
168
224
161
240
176
185
179
207
182
238
180
240
130
158
185
222
176
211
254
211
145
229
217
240
176
129
204
202
166
175
173
182
191
156
174
236
205
161
162
217
178
115
173
153
194
184
146
236
179
171
175
208
214
145
237
178
209
230
203
138
221
224
176
224
191
180
251
156
194
217
222
200
224
226
168
180
210
232
184
169
218
261
228
122
282
130
214
276
185
190
335
155
224
300
190
207
162
299
211
215
122
192
176
146
212
202
186
217
259
162
182
202
176
146
217
239
149
175
198
156
243
214
204
206
146
275
207
182
201
129
130
146
235
174
173
145
130
272
130
233
173
217
163
224
189
193
256
133
138
195
227
263
204
216
212
130
210
184
263
246
195
286
217
173
129
300
152
217
229
212
184
249
244
141
208
210
182
178
217
128
222
197
242
182
197
211
202
141
130
249
185
185
214
204
179
150
115
176
179
212
156
182
188
183
176
193
236
168
166
183
203
200
196
230
204
177
190
155
171
161
129
170
227
155
239
200
239
172
178
227
179
242
162
198
180
129
204
133
207
193
202
209
303
184
191
130
129
245
228
208
146
176
211
169
226
143
161
222
192
204
204
143
185
238
195
225
259
223
129
128
247
199
129
161
179
189
180
148
204
199
188
206
376
161
173
223
224
271
183
204
155
214
191
115
133
130
153
146
204
133
191
164
239
209
216
247
201
240
194
294
195
258
184
193
168
168
161
204
168
146
208
205
162
190
239
201
230
210
179
173
183
271
254
290
241
210
178
192
176
211
145
159
188
231
259
176
201
190
207
206
243
162
217
206
217
196
204
129
232
236
208
130
300
138
195
206
158
262
200
195
130
266
173
291
227
181
203
230
180
249
181
182
200
167
168
211
165
133
188
200
145
138
191
169
246
193
170
208
146
233
211
210
206
145
146
145
178
193
256
217
182
256
160
176
180
188
187
221
200
182
196
269
225
189
146
236
176
129
145
141
185
213
220
206
264
180
178
211
220
218
247
173
129
199
266
204
156
206
189
133
180
210
203
230
143
236
228
129
150
255
229
156
232
201
238
217
209
218
216
173
169
182
183
190
210
198
259
208
252
162
146
173
176
204
224
152
264
174
173
252
210
247
155
191
188
188
200
228
238
221
146
146
236
174
202
273
264
225
153
171
170
236
199
146
216
200
130
205
238
132
130
130
173
182
191
175
146
261
246
129
145
171
174
188
146
183
201
206
217
221
187
167
205
183
174
187
192
254
267
202
179
206
202
200
159
196
220
141
204
236
166
176
220
168
205
203
238
129
210
236
177
219
176
158
155
229
176
217
168
169
152
150
162
239
239
158
176
168
201
233
242
152
165
181
146
232
129
223
173
224
174
133
146
244
182
204
214
179
192
129
247
178
197
167
181
204
173
203
259
202
150
243
179
198
130
201
215
177
230
146
256
194
189
200
212
151
143
210
158
173
194
230
199
129
184
210
226
204
115
185
176
146
204
195
200
146
184
146
212
146
176
211
184
236
200
262
156
152
186
115
218
143
143
235
147
307
170
147
129
210
186
228
219
196
190
221
186
166
189
217
185
162
178
228
191
128
173
181
190
224
203
238
236
162
251
227
212
211
194
225
146
240
145
249
211
193
184
160
217
210
255
226
261
173
211
173
200
232
168
182
222
130
250
240
205
210
191
211
161
199
158
215
185
183
119
146
170
228
199
213
227
158
179
259
155
203
190
145
184
245
129
202
211
141
213
150
173
130
206
158
161
164
145
200
217
173
169
173
129
138
247
178
175
143
274
163
186
201
274
236
163
154
162
217
157
132
179
130
199
212
246
174
214
150
129
173
192
236
254
130
145
119
143
283
184
190
138
237
146
217
173
209
175
221
169
146
217
201
174
173
188
245
129
153
217
256
156
200
187
242
130
150
145
227
194
143
130
218
210
214
187
261
178
184
161
277
263
195
173
220
266
183
261
237
229
184
146
195
183
161
222
138
156
164
210
187
193
177
225
279
133
183
210
177
239
242
141
229
200
236
129
273
161
237
212
164
176
147
261
182
179
152
183
169
225
230
184
216
181
184
168
182
173
204
165
211
229
210
209
168
225
190
173
210
221
168
230
176
231
183
206
145
211
129
254
283
241
168
140
133
225
146
152
195
146
179
187
180
173
150
150
209
208
217
151
168
267
146
185
129
149
208
196
146
230
143
181
254
211
209
204
204
168
206
176
225
256
217
143
153
158
222
143
184
168
245
335
179
191
201
206
146
191
198
282
188
182
194
146
180
236
189
129
166
234
156
146
161
192
164
264
179
150
284
225
182
195
244
184
182
173
184
179
216
210
188
162
198
219
209
194
204
129
172
239
140
184
214
218
221
208
166
176
130
186
191
290
191
202
215
169
246
204
247
201
162
146
133
217
191
170
218
173
198
179
178
217
296
219
198
222
180
130
205
194
162
188
199
192
130
265
296
141
184
149
222
217
130
188
205
237
162
229
210
144
236
215
171
190
188
220
176
200
181
280
130
193
228
222
230
186
210
255
182
176
201
177
179
176
194
237
158
138
210
189
174
184
197
203
192
129
166
213
173
220
130
210
259
130
145
246
174
173
187
165
176
211
210
248
202
176
202
200
230
252
164
184
225
176
221
176
209
264
180
208
168
217
168
173
178
212
168
164
209
187
256
219
173
149
202
241
211
228
216
210
179
173
141
222
177
141
204
210
225
209
176
162
145
164
173
173
193
210
206
161
146
203
133
226
180
210
190
206
255
148
130
204
178
162
217
212
236
211
227
205
244
214
173
208
191
173
242
158
231
217
185
285
129
158
145
202
179
212
225
208
232
183
239
211
156
207
169
242
218
176
222
143
162
191
221
131
202
182
195
180
325
191
240
202
261
227
176
186
210
212
180
130
210
191
228
214
141
260
211
263
146
210
236
168
194
184
173
187
179
242
246
157
265
173
270
175
206
217
191
196
168
184
230
207
199
152
232
214
184
182
204
162
209
241
188
204
236
146
211
173
115
192
129
182
225
201
166
229
182
246
146
210
246
133
200
133
159
133
221
184
231
244
192
222
168
258
262
168
233
179
201
230
189
170
176
263
211
215
204
206
201
133
129
204
162
141
173
146
143
173
200
246
146
156
143
164
204
196
211
221
177
146
115
175
146
236
155
252
185
166
130
130
175
210
217
187
201
156
149
186
216
209
187
206
214
204
210
122
171
141
151
159
129
155
173
143
155
173
164
166
145
245
115
189
204
163
272
229
204
231
198
210
168
155
164
149
145
208
185
167
176
164
229
218
166
129
129
206
188
184
217
186
195
115
210
178
228
188
211
209
129
168
261
204
200
146
224
198
133
198
129
196
217
210
169
122
129
200
173
215
200
204
282
204
130
164
219
237
210
130
238
146
189
230
213
247
234
193
214
203
308
157
176
150
158
224
155
173
246
164
185
192
180
176
162
188
250
193
222
246
227
115
183
204
128
182
232
158
205
141
221
180
172
138
256
380
133
197
228
152
284
216
192
209
204
173
258
210
176
199
221
217
196
182
205
143
219
196
174
210
166
176
171
179
115
167
207
204
170
200
236
164
202
130
161
258
145
258
168
211
183
211
155
115
255
176
201
231
198
155
130
122
130
186
172
143
173
216
174
268
225
143
177
208
256
217
168
252
168
210
174
218
202
192
261
227
167
270
219
234
222
250
192
129
183
266
228
251
146
174
200
197
194
206
256
206
191
141
230
176
195
146
202
164
174
215
190
217
149
210
162
182
266
190
245
184
216
210
176
190
193
201
213
162
201
185
239
206
193
206
168
208
184
201
236
239
270
204
146
148
230
203
234
214
188
155
227
181
130
192
258
143
198
182
216
129
268
176
240
130
198
169
167
176
207
164
147
179
226
158
152
270
198
181
178
207
169
146
213
145
272
217
130
219
219
176
186
244
130
176
210
146
164
168
217
247
156
263
247
255
333
129
182
242
189
170
217
260
217
129
133
201
147
141
252
191
272
183
275
162
217
167
175
184
194
183
115
210
130
226
146
176
149
129
141
168
246
130
191
261
236
211
211
210
217
164
207
158
164
169
181
236
181
189
182
163
241
207
234
194
213
208
178
175
194
187
115
232
200
188
230
219
229
199
132
158
195
162
173
163
204
130
221
193
129
122
198
180
200
162
146
144
150
234
159
182
129
218
262
204
240
176
180
187
168
130
150
173
191
216
217
143
263
144
165
173
199
169
201
201
130
199
198
210
208
159
170
140
285
259
235
150
230
261
227
233
179
228
211
190
254
191
209
201
156
246
202
183
210
204
183
273
208
166
202
146
189
200
156
185
218
230
165
168
153
205
146
146
189
178
130
261
228
185
242
129
186
173
281
178
155
226
228
327
200
167
158
228
158
234
222
177
189
211
211
230
130
239
173
153
200
173
179
175
145
151
155
146
217
174
145
286
170
211
129
160
158
201
152
253
167
210
129
115
145
170
192
149
176
175
171
247
232
130
158
214
176
168
217
176
212
171
223
219
195
160
195
205
133
130
189
195
230
196
210
138
238
206
264
173
222
141
141
145
228
210
191
244
130
171
201
161
262
176
202
222
222
128
221
230
133
261
115
115
206
218
176
188
184
166
198
176
191
173
231
264
130
181
181
188
218
185
176
225
190
201
235
282
151
168
184
133
255
178
129
258
191
260
173
115
180
253
211
181
168
189
158
130
146
239
184
195
239
237
189
172
180
147
197
212
217
175
206
278
210
222
195
256
182
143
238
166
218
149
159
227
146
180
215
204
218
130
182
246
130
202
191
173
168
173
199
189
173
238
184
190
169
190
202
261
194
235
248
162
214
250
165
217
210
182
187
156
191
228
226
251
141
228
162
201
143
176
173
192
186
247
187
192
239
194
186
180
204
257
199
210
239
206
199
222
153
145
119
201
198
157
185
217
239
170
173
129
191
143
225
209
145
173
129
146
238
200
200
174
163
152
145
186
204
146
158
241
145
229
133
218
129
206
262
173
181
218
191
185
173
238
210
182
186
160
181
190
129
129
176
206
217
180
183
195
237
158
247
210
225
173
194
192
176
210
171
205
245
271
236
183
173
158
216
253
151
220
181
158
193
173
147
191
159
191
222
186
225
185
205
221
145
191
188
222
210
162
184
115
179
169
173
230
180
236
130
229
119
221
218
225
129
316
211
155
186
201
189
200
241
146
119
158
200
225
179
173
188
190
224
146
227
145
218
206
206
145
285
129
217
202
172
202
173
201
243
169
239
201
115
173
130
221
238
223
244
175
210
155
200
182
200
251
146
206
264
178
201
203
224
130
185
146
181
174
133
193
149
200
158
229
216
221
176
247
173
130
204
183
198
180
235
231
185
153
191
238
168
210
230
151
163
281
172
174
203
146
214
182
218
208
222
204
151
243
264
191
230
144
147
182
146
119
191
231
205
176
175
263
204
152
115
178
183
194
169
172
238
200
200
246
269
176
200
146
220
176
243
132
203
186
184
184
217
238
170
256
189
189
247
285
162
168
174
157
173
146
214
192
238
185
225
196
191
162
281
221
152
194
214
176
243
206
172
201
182
222
194
155
172
211
184
179
150
204
157
158
184
214
263
220
133
225
296
175
263
214
179
253
173
251
228
166
210
302
204
180
173
199
264
115
148
199
146
244
130
151
255
227
182
236
203
169
129
192
189
179
169
130
209
196
169
248
180
218
149
174
262
182
146
162
200
158
198
176
156
250
236
182
222
195
183
184
224
335
246
115
244
235
316
202
230
236
176
129
303
174
225
177
187
115
217
149
180
236
166
146
182
181
169
201
130
205
176
115
173
234
173
129
207
130
216
193
221
146
271
155
238
213
220
205
176
142
200
185
130
210
143
182
190
200
233
223
167
172
187
204
184
199
211
130
130
173
205
185
173
155
200
115
155
244
173
207
122
178
209
242
130
201
190
222
133
210
168
130
198
253
184
234
211
176
211
202
155
159
164
130
169
217
184
185
191
176
214
238
177
176
169
266
158
130
200
205
115
263
193
132
229
221
187
165
186
173
169
173
183
176
178
287
206
185
197
235
161
202
170
171
165
130
174
143
204
129
216
190
130
194
201
263
161
239
235
189
217
169
209
173
182
202
217
173
335
195
204
166
185
152
146
206
133
194
164
195
145
232
145
264
204
186
201
236
204
144
197
171
155
179
161
133
216
141
235
191
160
202
200
210
182
130
206
213
191
217
166
235
200
191
211
212
173
129
204
146
173
308
207
194
227
165
199
202
250
195
182
158
192
209
201
206
184
222
200
180
202
255
285
244
204
176
237
155
146
214
130
176
168
176
221
188
146
129
147
174
208
190
242
133
146
218
200
145
115
201
147
229
154
175
174
230
236
201
253
153
122
231
129
173
234
195
168
224
182
206
143
247
173
162
258
228
181
143
215
155
165
156
208
130
148
185
173
143
230
217
174
130
210
265
220
174
240
204
150
266
225
181
180
138
168
191
119
185
156
232
143
146
241
180
194
133
219
176
156
289
133
194
231
155
164
157
230
239
162
164
133
144
156
188
224
161
170
149
129
247
255
217
190
246
174
189
133
239
168
240
182
243
161
214
185
130
185
164
183
204
144
197
204
196
192
146
133
201
199
153
173
182
201
187
230
188
146
238
192
225
217
129
162
192
180
159
288
181
246
177
215
181
246
239
222
241
133
231
180
130
159
168
191
210
129
192
179
190
192
171
173
256
204
211
179
255
166
179
175
200
189
143
164
261
173
224
200
263
185
162
143
191
191
158
206
201
130
242
170
188
191
335
221
145
138
251
146
192
188
182
219
214
176
222
234
227
187
179
188
261
253
185
155
191
138
194
204
183
180
211
129
227
210
202
223
145
146
173
308
280
187
200
158
199
214
157
188
180
178
183
191
204
194
130
145
145
262
130
155
183
203
258
204
210
185
197
171
182
173
210
119
246
196
203
184
225
122
130
168
198
160
191
179
236
204
186
246
119
182
182
159
193
197
158
225
164
214
179
217
213
225
207
130
150
211
164
209
179
167
161
215
229
240
198
208
211
191
184
245
246
210
133
181
244
130
206
161
189
195
169
232
270
289
206
176
165
197
145
129
258
146
299
239
191
203
202
235
218
151
175
246
216
183
169
232
188
158
200
130
208
259
184
261
184
128
143
162
180
211
130
168
235
155
252
247
158
204
129
130
178
210
239
181
146
261
192
145
184
238
201
174
156
201
176
164
129
197
197
205
239
201
205
122
186
157
161
226
197
226
230
201
188
199
200
179
188
251
214
176
179
275
184
180
128
200
187
233
213
177
191
221
146
173
222
115
201
228
261
172
217
155
179
223
270
230
187
130
221
194
176
191
167
186
246
146
176
236
238
260
175
141
200
185
162
182
181
156
172
171
173
206
204
201
225
208
236
248
173
139
228
155
199
178
243
158
176
269
161
158
167
202
169
190
185
230
173
197
210
155
266
173
178
275
225
155
191
170
130
160
230
166
202
185
146
246
226
168
189
217
258
170
188
179
216
228
176
174
168
299
167
182
247
129
179
184
187
213
173
201
281
223
192
262
179
180
165
237
227
143
167
173
228
257
302
204
202
180
160
184
217
168
201
170
141
167
168
254
141
129
173
199
169
130
220
181
143
146
138
183
191
279
205
162
176
236
152
174
230
129
208
184
189
248
153
174
217
197
229
210
184
265
217
234
217
146
262
215
195
156
173
237
227
169
173
225
168
161
200
158
138
220
221
217
161
115
146
254
217
144
250
184
232
263
179
172
146
174
178
266
208
158
184
215
236
228
184
217
212
212
204
207
226
176
166
171
176
274
225
180
146
199
228
211
233
179
258
218
146
240
246
122
184
230
197
184
146
179
195
179
264
145
192
130
213
236
183
115
178
184
222
174
190
269
230
210
217
176
176
252
279
130
128
246
221
245
178
226
218
221
227
201
190
217
162
122
168
225
194
201
203
230
231
300
181
213
225
129
122
190
183
187
210
182
215
138
186
130
199
173
259
204
235
214
129
210
229
211
186
155
149
160
211
130
239
240
215
239
209
130
162
198
182
277
164
204
217
183
158
229
147
264
214
202
172
153
182
178
132
132
141
130
146
220
230
189
202
178
166
227
129
185
238
210
180
207
185
129
182
146
173
187
210
177
169
115
188
168
146
207
188
261
182
168
192
128
130
259
180
258
257
176
201
182
221
155
203
144
200
282
158
235
261
201
200
204
210
176
251
206
146
192
173
194
173
242
178
145
192
192
300
211
146
208
230
169
143
181
246
203
169
162
130
202
191
162
173
197
176
211
129
217
258
115
194
184
245
178
302
225
214
146
238
249
162
225
145
205
115
179
236
190
147
193
160
238
176
264
257
165
146
211
195
132
153
282
167
174
226
156
204
184
166
202
145
186
226
206
253
275
242
261
158
141
263
129
119
173
217
184
260
151
201
197
228
256
156
228
228
185
177
237
202
168
191
173
227
230
129
156
230
229
173
188
184
129
176
214
241
247
276
244
217
168
210
160
271
115
178
146
231
129
164
159
250
293
176
176
202
195
206
145
144
204
246
280
167
183
241
259
203
168
202
188
141
179
214
129
205
226
146
168
168
156
255
212
265
205
173
230
231
214
200
130
174
162
130
169
176
176
210
263
203
173
143
213
225
200
210
205
173
321
247
212
129
191
130
251
162
115
225
219
273
217
229
158
183
222
176
201
252
258
166
221
180
217
191
129
168
173
218
159
159
212
115
129
171
169
210
176
230
257
133
200
201
176
190
201
208
218
168
130
187
211
247
188
132
214
158
197
170
238
181
230
130
149
251
178
240
179
210
228
285
143
197
207
174
155
215
211
129
204
129
187
141
243
115
191
236
172
230
191
166
274
242
205
174
173
129
206
185
157
176
179
174
151
199
179
261
202
194
189
217
165
194
173
177
146
239
129
174
161
129
138
182
173
146
240
168
141
173
130
189
216
167
236
183
166
162
200
143
173
129
145
170
203
249
191
204
221
145
210
165
132
241
263
183
160
186
235
185
198
236
265
168
233
212
133
145
164
158
150
337
199
168
182
149
202
283
212
191
202
200
189
210
163
168
179
201
182
130
230
150
176
233
210
213
212
216
270
164
129
191
165
158
176
181
185
204
176
188
261
129
149
234
158
115
138
186
178
222
150
265
156
247
184
143
259
211
146
182
191
180
130
150
146
171
115
200
168
168
232
205
185
204
171
213
269
249
150
160
246
215
146
150
201
202
192
265
263
204
186
182
274
193
172
235
177
210
227
155
236
162
179
192
115
284
130
185
187
176
129
164
220
188
174
168
219
185
174
251
191
141
149
189
146
173
214
252
176
146
217
202
200
202
145
147
153
151
272
200
173
235
185
210
235
194
242
185
180
244
169
239
200
185
201
170
230
210
130
115
181
130
217
188
185
191
166
201
145
182
164
146
158
217
278
145
173
191
152
227
206
201
146
191
158
155
264
181
200
180
164
133
217
133
194
160
178
188
187
185
200
230
234
178
129
257
167
223
152
221
253
195
217
202
204
145
204
253
204
173
236
173
174
146
275
174
185
245
164
191
183
161
184
230
176
157
191
188
216
175
229
150
232
264
129
202
176
204
129
145
191
133
221
270
198
171
218
246
202
197
217
218
192
173
261
130
175
180
176
191
197
186
184
145
156
205
164
193
257
250
199
225
206
214
173
161
122
115
223
128
153
208
191
180
129
246
185
221
176
205
178
146
335
192
176
182
221
218
151
158
177
217
115
216
186
146
236
130
202
204
273
173
242
296
221
180
263
228
206
115
176
227
181
200
166
191
230
246
264
184
204
176
179
173
164
198
130
146
174
189
164
173
147
206
214
170
187
191
122
179
235
275
146
294
179
157
178
176
208
247
145
167
133
201
255
264
215
254
202
173
164
231
198
294
128
233
236
217
305
219
176
184
200
213
158
202
241
144
213
190
204
173
194
178
200
182
275
162
208
224
208
168
259
192
180
151
236
226
150
157
234
162
253
217
192
267
200
188
201
193
228
157
217
231
181
202
181
175
203
127
220
115
200
176
148
191
182
178
156
149
184
217
202
176
115
211
219
146
225
184
151
145
258
193
160
196
225
147
131
210
195
215
234
226
202
235
194
200
130
225
205
203
160
151
234
184
182
192
185
254
199
238
265
178
227
216
205
129
221
216
251
226
145
122
217
176
141
179
215
202
228
274
237
247
187
231
146
192
159
146
218
202
200
201
190
146
232
183
191
222
132
178
174
272
133
234
133
198
238
184
181
162
228
270
287
185
304
228
229
211
255
171
235
187
178
185
229
156
130
156
162
149
193
239
250
189
188
210
153
242
298
258
176
260
122
130
236
266
176
138
239
170
138
183
236
271
164
202
158
223
228
189
160
168
165
214
166
209
179
156
219
191
214
174
231
216
313
217
227
162
173
223
210
176
214
249
200
171
115
191
182
194
174
206
129
148
173
188
213
239
184
169
133
226
327
220
151
132
225
130
227
179
261
130
178
194
179
238
185
211
179
161
192
263
210
230
228
182
189
231
180
184
209
158
212
236
228
129
241
163
201
150
216
217
193
233
235
176
174
173
210
145
200
237
230
202
261
227
254
181
182
227
257
191
201
216
173
235
207
273
129
203
270
143
173
146
146
237
184
228
293
201
186
193
203
201
186
188
192
129
185
218
272
161
204
164
221
217
161
178
214
168
176
193
129
129
173
193
192
173
238
201
248
122
169
146
188
176
172
217
185
180
232
223
191
231
214
162
145
204
145
115
156
217
167
213
239
184
230
172
166
239
143
230
228
212
185
183
229
192
240
179
186
163
203
208
209
269
186
181
163
202
168
211
173
216
179
150
256
168
185
159
274
203
197
249
162
146
207
178
176
122
224
115
232
250
242
208
173
157
129
227
195
186
204
245
170
146
172
195
199
231
220
259
255
130
181
166
200
150
264
164
202
251
174
146
185
250
217
165
203
241
231
178
176
129
158
200
172
171
214
149
199
230
130
251
146
197
143
199
191
169
191
303
162
141
173
176
209
173
155
192
189
234
282
187
179
176
173
188
178
180
146
200
335
254
179
184
202
215
146
202
173
179
175
199
187
176
129
160
229
156
146
217
210
252
202
197
206
193
168
191
129
145
155
199
160
166
168
187
228
174
221
194
129
145
143
198
247
190
180
211
239
133
179
225
243
133
250
205
129
130
241
192
156
176
145
206
149
147
192
129
162
228
157
173
204
261
129
225
172
184
237
122
130
242
173
175
143
210
129
161
202
248
194
191
191
194
180
217
247
200
211
238
168
176
171
145
266
238
218
170
173
129
302
252
184
214
179
277
178
169
255
129
115
161
206
173
203
179
202
176
173
170
188
149
155
203
201
179
188
206
184
200
146
200
173
234
115
206
225
204
227
200
209
160
210
180
152
184
202
165
246
229
210
164
246
202
216
180
180
232
204
186
162
236
226
206
166
202
264
247
179
219
220
210
256
234
179
174
173
193
177
230
261
235
164
264
195
173
202
257
251
143
255
162
180
162
190
130
183
173
160
169
193
174
129
174
239
210
216
250
119
261
164
195
315
185
242
168
225
173
185
265
138
258
133
230
224
202
133
188
237
225
205
250
166
169
130
199
206
174
130
221
229
130
254
129
256
178
173
206
119
185
221
217
221
178
178
195
187
204
173
183
170
184
115
190
217
188
146
161
146
232
225
186
130
211
194
200
303
172
131
153
191
203
174
176
254
168
183
150
190
185
161
143
143
166
197
209
259
169
233
211
158
129
115
230
237
151
212
191
183
217
192
241
183
164
243
174
167
181
163
270
146
219
185
156
217
183
261
168
230
129
228
186
168
173
161
180
278
220
203
130
143
198
158
183
183
208
213
133
219
199
210
183
218
185
173
144
173
201
182
203
129
217
182
225
179
191
200
129
173
178
191
214
207
145
178
293
217
130
203
214
173
173
213
201
133
193
146
228
283
189
143
171
193
200
210
146
209
122
146
182
164
193
244
211
267
227
200
130
168
144
157
223
183
185
214
217
174
200
143
229
204
130
194
168
146
218
133
246
141
247
335
189
218
161
173
173
143
115
179
210
200
145
195
188
189
164
173
174
159
213
133
204
184
173
217
160
185
137
264
236
195
210
228
202
209
250
204
183
156
183
204
274
146
216
206
204
200
203
205
233
143
171
179
239
179
189
181
211
225
211
162
133
184
195
223
228
138
160
171
217
147
180
233
190
115
146
214
138
179
196
146
180
201
210
206
204
195
146
162
191
203
167
210
191
129
168
191
264
149
223
226
217
186
124
192
167
211
133
168
209
183
173
209
235
179
236
200
150
239
176
130
176
230
230
157
130
169
210
171
159
249
184
192
180
288
222
253
249
129
203
168
208
210
182
161
173
163
164
208
129
168
130
213
204
176
228
201
170
211
219
218
216
212
188
141
115
200
133
164
133
185
194
168
233
176
195
208
230
259
206
188
176
201
130
201
185
160
205
227
238
168
180
173
201
214
166
149
273
214
192
280
179
207
173
207
195
145
173
145
189
228
216
229
252
241
194
205
227
252
227
239
173
156
202
228
161
194
202
207
193
243
313
146
158
260
181
185
115
213
183
215
159
172
202
158
230
128
173
226
129
122
238
210
191
239
192
173
130
199
185
130
202
221
211
200
202
152
191
206
247
191
260
204
184
188
238
130
307
138
216
195
227
252
170
164
230
204
150
173
225
248
143
145
129
275
157
188
173
204
180
185
158
209
236
160
208
203
204
215
157
244
239
141
226
164
197
176
242
222
138
218
278
199
247
234
244
133
143
227
203
239
176
172
197
133
209
218
204
145
176
190
122
182
130
206
204
218
210
196
209
163
188
180
201
187
195
182
217
174
227
156
168
217
200
211
195
164
211
201
200
115
199
246
211
150
165
153
146
171
157
180
304
129
130
143
145
200
174
221
206
225
208
146
188
158
196
166
260
216
211
158
206
199
129
173
148
218
188
176
129
225
160
243
130
122
130
133
173
191
239
156
210
150
283
194
238
187
204
183
198
224
145
245
150
173
217
173
164
204
255
217
259
200
156
201
261
173
129
297
201
185
245
195
204
202
115
191
146
230
176
238
233
187
210
186
204
246
130
202
176
233
185
153
217
193
119
176
179
173
264
176
202
197
230
278
197
178
266
173
129
193
205
204
143
149
167
211
138
191
231
152
231
188
203
201
179
168
151
122
130
146
144
147
217
201
204
130
204
204
210
211
151
152
146
162
173
193
159
138
168
223
202
253
157
225
221
216
215
176
175
159
175
202
200
212
206
185
190
204
287
298
181
173
182
162
179
211
235
167
183
184
176
162
202
200
278
244
169
176
212
173
173
176
239
162
221
185
265
150
176
187
233
201
244
191
173
176
246
173
204
168
245
182
247
217
225
201
240
211
189
217
194
227
286
202
208
217
186
195
129
185
178
227
236
264
178
224
165
164
146
231
231
260
266
265
204
232
202
211
191
185
173
178
242
180
221
186
219
232
168
239
184
141
162
185
204
130
181
281
185
129
155
261
188
229
231
176
162
133
195
129
200
178
251
138
155
173
133
179
156
143
170
214
218
283
307
240
181
230
172
132
199
164
164
287
214
130
176
326
151
192
158
189
161
205
164
230
180
181
176
249
184
201
183
173
184
199
206
211
242
183
208
164
200
193
204
172
146
178
146
122
155
185
186
173
191
164
234
164
146
158
230
185
158
223
160
237
129
184
219
203
115
146
163
166
129
208
199
130
217
229
191
255
151
220
180
227
130
200
129
190
168
321
133
186
213
255
178
146
173
210
210
230
176
205
173
188
171
232
202
262
158
146
166
200
175
353
192
225
178
171
185
214
162
218
200
201
234
173
202
259
239
174
122
201
210
188
182
255
227
206
202
173
285
147
229
214
182
231
254
231
170
157
175
216
197
200
236
187
238
188
146
229
174
217
221
194
150
145
216
191
166
195
213
153
247
150
217
191
183
184
211
236
146
129
203
176
202
183
274
212
226
206
204
184
209
179
143
204
178
149
222
206
176
204
195
162
225
133
115
164
236
166
204
171
157
174
129
224
189
146
190
129
179
188
216
262
189
226
183
141
129
159
197
181
203
219
184
188
191
173
269
184
115
129
176
174
168
164
191
178
204
189
188
133
176
196
202
210
141
179
201
157
168
206
146
176
207
189
146
159
145
164
210
191
265
229
189
157
174
190
222
146
203
217
192
158
185
160
213
259
168
239
157
185
115
205
151
214
174
284
145
133
168
202
204
180
146
239
208
204
160
176
195
180
222
191
218
179
164
115
146
141
231
210
209
325
230
160
129
208
218
188
160
133
143
226
180
259
179
231
221
166
205
192
282
228
210
179
256
280
194
200
146
197
209
130
200
218
242
183
239
191
177
230
228
146
214
262
232
191
150
217
191
130
133
128
171
291
149
146
157
173
183
190
156
302
200
248
162
225
184
211
133
129
189
180
177
200
206
149
171
129
153
244
231
233
261
215
238
191
204
204
167
173
232
128
130
240
182
226
131
210
237
210
171
204
225
173
247
259
160
238
191
176
161
160
248
206
185
170
182
183
204
184
163
211
175
168
162
175
210
173
217
202
166
209
154
170
233
161
197
172
195
129
224
167
210
225
152
202
173
264
192
129
257
181
155
198
177
248
234
230
210
208
171
239
214
248
204
252
133
228
133
184
219
129
149
138
175
162
130
184
166
173
225
260
129
182
173
183
203
205
150
210
174
200
169
173
187
181
227
164
167
187
206
246
195
188
173
254
210
133
223
202
166
192
222
208
155
186
119
146
176
204
179
168
305
161
160
178
164
201
130
185
243
252
183
179
167
176
210
223
146
173
204
129
230
264
147
173
173
145
161
184
213
246
181
178
182
225
244
200
188
214
168
184
236
182
244
146
201
217
197
131
191
209
193
182
246
174
172
180
149
189
176
210
205
210
174
202
223
205
212
191
216
169
230
225
251
162
129
150
239
182
176
130
246
225
173
129
261
206
184
130
146
143
245
188
217
173
206
191
207
141
216
261
193
315
201
204
133
129
335
173
217
222
210
236
168
229
147
335
300
164
186
186
224
199
195
146
194
179
205
176
184
191
193
161
130
162
130
239
195
200
166
156
192
226
129
169
185
169
115
190
257
203
217
179
217
217
202
164
161
184
164
129
130
236
190
173
130
218
155
228
188
147
115
169
180
210
169
203
178
130
206
183
173
227
190
211
184
174
171
189
171
184
200
176
191
204
236
146
147
158
115
192
176
213
255
182
128
205
146
176
254
129
250
129
174
179
183
130
296
165
217
211
177
193
236
258
204
168
214
192
236
150
227
183
200
201
183
217
173
155
187
193
164
162
182
177
201
219
202
242
217
204
151
204
115
209
210
210
211
259
163
129
173
169
174
153
210
207
193
150
200
146
201
143
169
222
173
173
168
198
187
185
229
234
146
227
155
302
192
222
210
244
191
221
179
171
193
179
146
217
251
170
185
216
193
181
248
176
182
194
203
206
248
196
177
200
146
212
192
221
174
122
133
172
150
115
217
188
198
258
200
239
181
227
176
241
143
243
263
263
202
209
182
177
186
176
183
218
221
206
168
212
230
195
215
235
210
162
173
173
162
223
170
181
231
200
203
166
184
180
261
156
138
115
250
192
225
191
177
141
217
183
115
200
239
129
173
157
146
158
264
211
208
130
188
176
272
203
300
187
130
187
238
146
202
211
200
217
210
217
139
215
167
143
218
132
182
133
155
210
144
173
179
191
222
215
159
201
145
193
172
158
213
201
194
177
193
219
162
182
176
173
160
273
179
168
283
229
245
130
184
172
210
244
191
192
115
168
129
163
152
122
199
177
144
182
188
276
167
201
215
167
189
183
128
176
115
214
239
155
130
160
260
247
168
211
230
179
199
234
300
158
163
180
252
201
232
187
132
170
224
176
237
158
211
171
211
209
178
146
162
184
209
189
164
145
173
184
217
217
176
180
172
173
143
208
210
195
173
129
208
191
227
178
144
217
238
173
200
200
222
190
168
115
176
244
191
236
145
133
203
185
199
236
189
295
206
231
169
175
133
251
129
222
202
146
161
193
130
146
178
234
205
149
211
164
146
176
180
204
226
183
254
196
215
237
184
129
204
162
191
201
129
164
146
223
216
251
262
289
166
195
138
196
129
192
158
130
214
203
229
307
255
141
201
204
195
192
216
173
179
201
211
130
203
157
221
171
173
197
278
224
181
205
176
223
228
115
176
171
191
173
249
179
200
192
188
171
211
145
218
144
166
149
146
214
205
217
173
230
176
161
184
163
221
129
172
245
173
173
214
143
210
173
164
263
174
206
176
199
228
182
129
288
303
130
229
179
207
141
172
173
174
215
185
246
141
185
129
130
155
119
175
192
163
173
146
204
193
141
180
204
173
153
191
151
214
218
189
158
184
204
210
160
204
146
233
157
152
238
184
179
197
286
189
129
179
167
150
222
185
215
226
188
242
167
256
178
210
202
129
240
179
191
179
181
215
199
254
146
129
130
130
143
180
191
182
248
239
199
225
251
295
143
188
183
204
238
198
190
214
185
173
207
243
230
244
204
156
173
213
175
260
146
204
184
220
130
169
227
151
204
235
133
143
200
178
129
132
149
115
234
153
206
237
217
202
185
228
160
185
248
168
183
183
181
162
195
130
200
115
200
302
229
265
219
219
244
191
247
224
176
217
204
171
193
166
279
143
170
202
199
214
146
173
214
160
281
176
155
217
145
206
185
272
200
220
204
130
217
180
181
161
147
189
236
133
201
189
217
227
275
191
206
202
187
189
167
210
225
195
257
155
201
180
179
205
161
167
184
168
214
188
195
170
293
181
133
172
183
290
201
217
214
184
203
164
122
215
130
115
130
201
179
260
176
201
211
185
146
211
129
228
182
180
177
129
250
230
146
205
192
169
250
129
241
150
203
129
248
160
119
182
206
130
316
178
209
192
164
151
190
236
187
202
203
194
227
228
212
283
264
216
145
180
180
206
190
248
222
133
168
167
236
249
195
186
130
211
264
193
202
133
156
251
240
218
194
144
200
195
178
205
180
222
240
192
145
217
206
263
229
133
140
217
155
188
214
230
204
129
190
240
151
202
251
184
204
187
160
216
149
143
159
200
191
210
195
250
201
146
185
192
191
201
210
143
222
166
146
132
233
231
238
170
265
174
182
186
278
204
150
130
227
192
122
122
177
231
182
199
186
192
156
179
129
250
174
225
146
143
168
260
214
269
216
174
129
203
187
162
190
237
215
176
152
211
178
183
225
182
229
220
158
146
184
247
211
187
259
182
129
179
178
130
225
224
180
173
230
212
173
190
169
211
211
133
184
171
211
150
229
227
206
205
297
205
170
193
227
130
204
146
156
227
203
204
189
155
187
171
162
205
217
254
190
158
214
133
206
295
129
164
264
217
129
288
151
248
155
192
161
155
278
157
213
182
202
176
247
168
236
146
191
201
173
191
195
168
160
133
172
143
213
181
147
143
184
206
170
183
181
158
186
237
168
179
194
146
202
211
146
173
161
204
199
122
129
182
164
162
179
217
166
259
150
173
203
201
148
168
242
180
201
256
202
189
145
206
178
261
131
195
206
216
242
204
130
171
231
133
168
202
219
177
141
146
204
181
179
115
181
195
201
165
130
115
202
173
210
191
260
145
129
211
166
192
183
188
258
130
164
197
226
129
162
201
144
158
184
115
222
173
160
161
199
217
238
177
175
171
178
150
204
204
190
205
155
187
204
261
169
267
167
172
204
149
283
223
174
186
129
143
216
218
257
162
129
141
210
158
201
182
255
195
179
221
146
176
115
231
151
191
203
164
150
206
200
146
170
237
144
115
184
210
200
173
175
183
115
179
282
216
219
173
146
241
174
133
176
176
199
199
160
182
178
195
164
240
183
139
200
165
217
167
129
156
155
192
115
209
244
206
204
194
174
217
220
169
169
146
181
202
227
178
333
216
282
240
168
166
214
164
258
129
161
185
146
212
195
138
191
264
208
145
172
220
207
130
158
178
173
200
158
156
143
197
232
173
168
227
222
143
169
132
208
216
204
166
189
155
215
184
216
164
172
178
212
229
187
210
208
197
208
129
119
145
260
182
213
213
173
176
189
262
220
158
189
182
200
129
191
174
189
178
129
133
179
185
203
182
243
193
190
188
176
192
206
149
201
172
224
189
255
145
206
173
170
188
185
232
168
160
210
188
264
173
217
146
152
186
227
294
145
253
254
153
238
187
191
161
229
160
227
199
130
201
133
181
179
141
185
164
151
146
210
185
130
208
176
205
205
217
240
166
210
166
277
233
145
184
194
146
115
115
168
130
169
166
205
189
244
274
202
180
262
261
227
156
186
156
115
156
192
129
167
152
191
146
231
195
173
183
180
184
162
207
119
223
226
204
183
175
157
184
184
187
155
180
179
187
216
234
203
204
205
168
155
145
164
130
166
214
143
130
115
184
130
192
115
182
154
176
195
192
138
180
258
143
199
250
225
198
268
187
166
205
204
170
190
164
242
115
211
238
168
199
173
217
218
227
239
146
169
264
163
130
237
174
201
174
167
204
250
199
155
149
129
145
162
130
217
243
164
156
192
222
176
246
141
146
173
146
177
230
176
208
187
115
204
239
183
156
153
129
202
179
186
130
146
230
160
192
203
178
248
166
145
189
229
176
149
202
213
240
201
221
211
236
164
194
193
141
221
234
160
179
297
219
164
295
129
206
198
190
256
166
257
147
188
228
218
176
157
201
226
202
202
130
228
162
189
129
169
158
155
202
237
158
192
146
188
146
203
155
143
171
150
268
179
203
182
249
173
195
178
227
204
172
208
280
230
173
164
129
164
176
239
234
289
217
235
176
175
174
186
146
226
240
173
217
230
261
226
164
229
143
244
241
239
182
199
187
212
176
162
130
214
183
202
176
130
173
115
213
202
143
214
152
173
190
180
218
202
206
146
258
169
186
207
183
176
196
200
180
213
235
202
176
228
201
173
208
173
145
176
176
178
130
145
177
266
173
173
145
170
183
221
173
207
206
225
145
179
215
258
174
262
289
143
256
226
143
173
129
264
160
225
156
176
160
168
302
174
173
146
132
204
176
222
210
283
176
256
230
225
244
171
261
271
146
307
294
265
180
203
180
160
185
133
179
166
211
129
274
184
211
198
219
230
186
259
187
202
155
178
173
181
129
260
247
129
156
206
210
183
247
204
184
200
210
159
213
232
225
204
146
219
143
191
173
146
122
200
157
171
166
210
251
206
190
204
211
170
133
221
201
203
119
189
215
217
205
230
208
201
260
228
245
185
115
202
231
182
212
182
149
155
195
219
217
210
190
179
187
204
132
211
174
186
146
173
133
194
182
246
223
176
257
162
271
176
174
159
119
213
219
175
187
176
216
197
264
166
191
162
210
222
171
204
141
155
186
164
237
129
129
129
235
130
218
162
245
202
204
192
211
176
264
230
143
162
200
209
133
146
203
130
130
138
202
122
247
216
129
167
173
130
195
174
210
247
143
214
204
202
270
188
172
220
226
240
149
165
173
231
259
143
145
209
149
162
143
176
130
173
145
189
206
161
151
255
189
115
217
200
244
211
115
182
217
212
213
155
172
200
184
151
141
173
266
201
146
230
164
129
133
146
210
162
179
171
146
173
294
256
376
150
218
178
181
182
202
200
286
240
189
186
209
225
216
230
237
204
201
222
169
243
190
194
156
216
185
176
181
168
146
173
198
230
217
249
162
195
155
150
181
225
204
217
129
184
130
155
220
229
269
146
158
156
283
211
222
156
205
202
247
229
164
230
144
184
176
145
149
239
200
129
133
184
164
181
143
184
129
231
130
176
191
146
246
282
192
145
143
176
210
241
130
161
200
164
182
152
236
206
211
206
217
247
138
222
156
186
164
215
244
217
220
180
296
179
129
184
216
166
221
192
197
195
268
132
156
179
219
204
180
211
230
130
190
197
185
183
145
149
129
192
225
184
176
219
129
133
201
129
176
242
258
226
162
177
211
192
227
163
259
200
210
196
226
155
190
219
242
173
152
192
182
223
164
149
168
173
184
204
129
172
151
181
216
144
244
260
221
240
156
146
212
201
204
229
217
173
225
130
203
173
210
185
179
164
170
276
167
217
195
128
209
263
252
233
129
274
169
173
210
151
211
188
199
145
204
166
216
214
189
146
203
178
248
133
221
205
199
236
236
143
179
167
143
257
217
161
172
216
236
210
224
201
190
146
231
207
253
173
236
183
180
164
210
214
264
178
185
200
200
213
300
285
184
205
161
241
170
303
162
182
205
141
146
129
146
187
254
226
246
115
146
256
151
202
179
257
156
129
138
133
184
201
166
129
138
127
209
133
188
210
187
174
133
170
171
210
169
145
173
236
182
201
170
156
180
227
167
189
189
183
206
161
150
115
173
200
229
204
222
189
208
173
152
146
193
181
184
164
244
122
213
204
210
233
160
224
235
130
199
115
218
190
182
187
229
145
210
138
157
217
205
130
210
208
191
249
172
149
130
162
244
158
200
194
194
173
188
255
204
202
241
239
150
130
162
143
212
223
184
259
189
154
187
186
182
129
129
203
172
176
188
264
193
197
133
182
188
146
236
177
187
266
212
210
194
179
192
191
233
247
207
194
214
204
201
179
181
239
179
151
149
227
172
239
159
211
200
130
157
183
183
242
162
183
146
239
211
191
143
215
183
193
221
188
180
228
202
192
272
174
179
177
176
204
180
229
239
201
214
200
276
145
185
147
188
237
182
270
259
130
130
210
276
231
184
149
176
184
133
144
195
156
232
146
204
150
176
220
174
130
130
145
173
178
160
239
165
214
182
162
275
224
199
233
194
278
190
173
170
232
169
173
179
223
317
170
129
181
154
217
204
214
254
190
179
205
206
204
146
150
222
143
248
200
166
222
213
211
115
231
171
143
143
180
162
176
256
224
221
187
129
179
181
176
299
187
232
185
179
261
192
146
193
242
145
178
145
259
194
151
184
256
269
222
264
187
129
210
173
183
168
188
234
202
143
146
181
183
246
259
189
130
176
157
178
256
211
204
150
173
200
256
168
182
161
194
188
185
217
204
262
214
222
133
241
191
169
221
159
129
319
303
173
133
251
176
130
146
183
217
173
221
211
187
158
199
184
241
176
130
133
178
230
119
204
166
204
169
129
201
196
146
217
247
193
258
129
200
129
164
245
170
237
188
178
179
143
249
145
217
129
115
129
231
146
173
129
115
206
236
197
224
209
129
185
208
167
204
141
180
187
219
222
205
179
122
213
173
204
204
202
191
187
133
133
210
175
158
186
188
146
230
220
182
164
235
204
141
227
225
200
263
198
209
158
178
230
170
182
184
201
235
184
207
164
236
238
173
115
254
242
210
207
229
145
256
146
178
229
204
210
174
115
145
209
133
173
227
224
206
221
188
161
255
160
178
144
210
235
225
169
132
176
242
204
201
170
166
291
180
250
250
133
201
195
130
173
227
179
267
133
201
256
173
218
130
199
217
257
199
186
201
214
212
210
156
257
255
194
199
178
218
129
176
221
177
145
162
173
150
240
180
202
221
192
162
171
262
180
122
209
181
157
133
145
200
173
219
146
214
129
129
156
224
190
159
146
189
210
275
141
195
146
130
208
185
275
159
130
231
129
184
150
172
156
169
158
155
184
146
225
119
178
181
230
115
225
258
184
158
197
192
173
158
204
247
130
208
167
169
188
115
152
238
203
204
179
185
228
161
206
231
230
210
204
221
211
236
129
200
187
167
204
201
189
238
217
226
129
187
210
192
130
130
181
199
242
194
209
156
162
204
179
194
230
167
219
256
222
191
156
185
129
169
182
258
222
129
179
130
215
172
178
182
168
130
122
169
207
155
189
198
129
213
146
155
143
155
141
168
187
211
130
162
335
143
133
133
191
146
264
230
203
218
240
183
180
202
129
228
174
182
189
292
192
194
222
210
115
166
133
210
170
230
210
225
158
145
168
201
129
202
186
133
182
204
286
130
233
188
146
172
200
115
167
145
217
169
173
173
171
183
204
208
157
246
129
133
179
202
191
181
185
261
161
225
166
176
175
229
203
147
171
212
173
146
210
210
213
129
157
189
302
250
209
145
201
226
326
173
193
197
173
187
194
171
168
256
202
201
180
192
181
206
155
182
204
133
173
171
176
129
184
222
210
173
173
239
176
161
146
169
189
202
191
168
204
178
246
168
169
258
179
177
150
146
269
146
169
203
173
192
211
167
203
184
179
252
177
179
202
234
176
238
174
181
145
189
281
209
168
155
212
176
165
216
224
181
210
190
192
146
173
205
211
225
206
214
194
172
201
158
189
285
251
190
216
211
130
240
119
201
219
158
146
183
265
200
176
335
256
210
144
274
131
157
247
146
167
141
262
192
169
130
213
202
191
165
184
294
146
179
170
202
206
184
176
239
217
208
166
146
178
176
179
162
258
269
182
238
143
199
233
166
238
173
239
175
205
133
149
158
218
297
145
176
214
187
225
225
238
208
191
180
173
175
179
236
209
182
176
168
211
146
243
161
141
238
249
129
217
182
122
163
212
218
180
206
211
206
204
149
189
159
187
210
246
228
234
128
130
184
265
166
145
197
164
203
176
277
173
177
183
185
182
183
156
190
190
219
273
233
187
201
159
181
215
215
178
199
206
202
157
222
199
236
221
115
178
176
225
218
201
210
162
235
162
222
155
162
155
176
183
236
162
302
183
164
130
221
255
210
237
200
264
242
229
129
166
209
280
198
176
207
143
191
215
132
166
211
169
166
197
221
244
153
203
174
191
173
221
152
145
130
130
181
196
170
230
145
176
141
179
261
207
188
213
225
173
173
246
170
199
130
236
235
247
218
173
162
146
250
257
145
168
193
130
171
146
198
183
129
249
191
130
184
163
132
133
223
155
211
209
129
261
268
173
166
162
211
173
207
264
168
133
160
210
130
211
202
176
236
129
130
130
210
287
146
178
130
176
247
129
300
192
129
201
190
173
155
195
244
155
239
164
183
184
210
182
214
225
227
173
216
164
208
160
162
210
285
294
130
203
230
133
242
115
260
128
204
181
179
258
195
147
223
146
192
173
279
229
207
182
243
144
173
179
248
229
170
204
225
202
158
201
228
200
155
130
173
204
133
166
264
166
130
219
242
214
130
148
163
190
146
130
205
187
141
160
210
145
247
179
146
199
244
156
197
241
173
151
206
159
195
199
205
170
266
164
160
138
216
201
173
289
149
138
195
208
143
204
184
158
284
188
162
173
210
129
280
164
176
222
265
200
201
188
158
168
143
191
195
115
220
176
146
166
192
210
205
162
184
261
173
214
150
172
200
184
176
200
228
204
185
132
205
231
229
132
146
182
192
223
180
162
138
191
173
231
324
129
177
200
176
146
200
224
184
159
174
252
200
238
156
190
189
211
190
191
172
130
192
181
179
145
179
307
189
207
170
205
199
224
335
164
243
201
201
133
206
235
130
176
168
159
164
289
234
302
201
209
146
242
187
156
181
146
193
198
234
164
265
216
203
199
196
283
180
217
190
146
217
269
171
146
188
157
173
221
204
178
168
194
211
185
157
176
149
175
173
204
174
195
256
199
221
256
171
259
181
182
190
219
220
171
156
178
206
201
179
219
214
217
187
178
168
149
210
143
189
210
211
169
294
185
306
176
227
129
155
221
191
164
228
173
238
144
217
190
198
235
216
259
122
199
180
193
166
171
163
186
285
132
130
178
249
237
188
212
150
164
181
168
152
223
130
173
206
287
191
175
115
194
145
203
144
227
236
230
188
147
165
153
219
129
209
143
217
208
197
145
129
204
204
155
225
189
297
178
270
212
182
211
249
252
191
150
182
210
202
168
178
146
287
248
181
163
183
233
184
186
162
239
192
263
115
210
219
210
162
282
141
208
156
131
191
169
188
184
145
182
227
234
204
240
183
222
207
167
252
213
227
202
156
164
180
204
206
268
195
146
201
216
176
213
174
190
166
210
186
158
146
145
216
169
147
129
129
280
238
222
203
264
211
170
209
170
191
160
130
167
192
143
162
164
188
230
212
162
244
203
204
238
260
187
141
221
129
234
144
115
145
190
133
216
129
146
162
200
146
192
235
156
261
205
156
221
188
220
211
210
264
191
175
129
179
195
173
130
238
144
233
160
266
186
173
146
130
176
263
239
214
115
237
202
218
184
182
164
141
296
146
207
115
208
210
253
128
168
184
200
145
230
181
227
146
236
203
200
133
173
206
207
170
164
232
275
145
184
195
173
217
255
246
180
177
213
161
158
176
216
141
252
217
188
172
169
240
176
283
211
216
173
186
210
204
194
162
246
204
287
163
203
191
195
180
159
176
208
193
252
215
205
185
243
189
238
190
222
209
160
127
228
210
188
227
151
130
308
187
200
161
211
194
144
199
202
266
155
129
173
173
150
206
152
174
262
168
204
155
180
115
230
211
231
141
207
209
206
238
160
239
129
195
207
168
181
192
177
162
214
205
168
183
129
189
192
162
202
234
138
145
176
191
157
160
150
190
129
156
162
146
204
228
129
214
235
178
232
138
183
299
171
196
213
202
228
164
185
217
208
169
202
214
206
179
211
164
204
156
255
277
199
197
176
167
146
180
162
145
145
186
115
211
246
193
184
195
219
155
231
157
195
230
218
237
169
179
175
217
145
146
228
189
191
173
183
248
211
168
185
211
182
171
215
133
172
230
175
200
146
333
204
210
149
185
210
115
188
174
173
183
210
236
176
173
130
173
259
184
200
264
208
198
188
217
200
228
161
182
202
246
241
180
239
200
164
211
218
129
248
233
164
130
241
162
210
146
282
133
145
228
186
242
218
218
188
227
228
156
171
221
164
138
185
161
182
191
115
185
210
214
184
182
173
182
115
181
210
176
115
122
210
189
143
172
201
210
209
210
173
185
191
203
183
211
212
206
239
130
230
250
219
201
185
155
191
250
214
195
130
145
233
201
247
185
201
201
246
150
146
222
149
181
180
215
145
209
206
172
233
186
129
208
158
143
115
252
166
215
221
217
227
219
200
229
133
185
176
130
133
233
176
129
146
129
213
130
141
222
203
198
129
214
181
335
143
179
176
209
215
203
205
210
143
244
151
171
210
164
218
184
129
247
192
173
266
173
191
208
156
173
180
252
233
198
259
263
179
146
203
200
145
180
165
179
180
180
335
158
238
164
235
170
195
195
189
188
265
146
130
184
164
168
206
149
210
182
146
198
162
202
174
162
190
179
172
184
194
204
164
241
300
203
129
194
158
209
230
216
133
206
181
158
115
164
179
162
164
159
258
199
146
204
150
185
183
138
182
229
144
187
158
251
168
225
132
222
156
146
201
199
201
242
163
236
173
219
145
280
129
166
262
202
217
221
150
176
217
225
122
182
156
146
238
171
157
220
195
229
138
144
222
182
234
191
129
133
250
202
129
230
216
209
173
172
235
130
183
196
143
196
201
155
204
127
184
258
202
173
239
184
157
150
191
143
217
204
209
164
204
182
247
201
225
149
207
152
161
198
262
180
234
133
178
237
220
146
201
176
212
150
189
196
208
186
176
154
175
271
115
227
189
180
217
219
184
146
122
262
157
164
173
209
138
221
242
216
214
210
164
158
175
176
244
229
200
151
115
230
232
160
162
233
196
190
182
173
216
133
159
146
204
201
255
187
129
283
206
129
166
165
175
145
228
180
200
237
158
190
122
176
202
152
202
146
146
184
275
202
247
157
197
145
205
161
146
153
130
146
202
168
223
173
204
172
161
202
188
172
138
133
206
222
203
130
208
129
133
210
201
178
180
149
164
213
220
158
215
228
217
245
172
210
225
129
159
155
138
129
176
227
129
189
150
182
198
213
200
203
174
172
242
195
160
138
296
165
156
173
130
193
203
174
180
219
204
202
209
159
238
242
259
204
176
234
265
141
289
245
182
180
194
171
294
231
239
167
143
206
182
189
223
186
224
168
145
225
189
244
188
130
237
155
130
173
133
176
168
302
158
219
179
222
202
187
115
200
201
227
173
182
129
191
165
216
202
115
149
179
203
252
231
180
182
192
191
173
156
185
260
165
229
187
178
238
204
173
200
143
261
146
205
162
224
162
172
164
245
186
213
253
155
210
168
174
239
195
173
227
129
179
181
208
129
143
258
141
249
150
275
218
171
203
216
223
209
204
145
146
185
201
146
158
201
234
215
203
138
234
208
335
210
164
230
192
179
178
172
146
189
156
158
122
189
214
168
214
207
210
169
204
146
158
201
230
204
191
237
221
274
190
225
195
231
228
223
225
175
228
181
214
226
178
216
173
164
200
280
129
146
300
130
141
149
226
176
218
218
172
143
270
225
150
164
206
230
195
173
177
156
122
144
191
182
230
218
180
149
173
191
161
173
202
211
218
146
156
206
158
178
242
212
184
162
275
141
191
229
238
263
143
219
221
156
187
199
212
227
225
244
212
245
200
176
197
171
179
192
191
204
178
210
129
206
211
173
185
129
173
176
144
214
263
168
210
145
115
155
236
181
151
149
179
191
185
201
129
222
242
259
146
146
265
217
239
146
192
217
164
178
264
205
133
173
225
168
130
176
162
242
216
179
242
130
272
162
164
204
200
141
174
217
163
173
173
166
296
231
204
183
147
174
143
261
129
115
258
227
129
161
145
215
201
158
178
160
197
212
202
188
141
222
149
239
238
141
182
225
207
146
197
158
145
184
187
122
174
231
156
179
141
202
206
158
221
146
210
255
170
335
241
221
158
129
176
204
206
181
169
217
206
177
168
207
145
182
202
129
122
173
141
209
211
200
204
187
130
201
204
168
213
176
214
188
195
145
122
203
162
205
204
150
130
167
173
194
188
211
195
122
213
146
182
178
222
191
173
217
236
181
191
183
163
165
203
202
195
122
212
188
258
180
146
210
173
214
264
222
221
186
151
188
206
174
234
152
216
156
176
174
158
204
263
176
210
188
183
173
176
162
185
132
151
172
177
144
183
191
238
272
194
173
228
170
173
270
162
168
227
186
179
211
203
192
185
141
176
167
215
170
179
173
141
174
211
216
162
228
160
179
238
234
206
211
261
170
167
173
179
314
238
214
168
173
143
208
206
247
254
256
217
179
173
192
185
200
173
222
204
200
173
172
291
157
190
183
241
162
233
180
129
273
172
250
166
179
173
133
173
164
256
182
221
266
166
168
164
173
143
207
203
146
186
179
178
245
236
160
241
286
130
155
236
156
180
205
177
182
189
172
145
174
129
250
173
204
216
190
166
158
165
204
231
223
130
199
146
300
166
177
202
211
169
188
181
190
133
221
228
164
144
146
205
263
173
201
174
185
129
223
173
191
141
211
229
216
217
173
263
130
143
233
193
133
159
221
146
244
219
115
215
129
165
192
248
164
176
229
173
238
253
182
146
215
165
160
176
157
210
195
141
204
211
168
193
130
176
130
214
169
133
207
279
206
211
231
190
143
179
178
227
214
172
190
153
169
115
208
258
150
183
201
209
133
183
274
261
212
129
173
212
191
195
141
210
150
226
225
156
200
204
173
167
223
264
174
236
240
175
211
228
190
176
171
133
158
184
237
236
195
169
216
172
205
231
141
145
237
130
161
229
174
158
327
187
204
201
176
173
169
132
180
207
217
200
153
173
200
138
173
130
272
187
296
190
190
234
146
173
201
199
230
209
173
141
164
205
209
211
171
244
129
204
179
143
181
171
265
228
158
184
262
211
145
184
182
181
169
145
203
172
265
150
221
192
149
204
210
195
202
176
217
146
200
141
210
214
182
160
203
187
255
160
176
218
172
162
232
204
185
291
130
188
244
215
184
181
204
183
190
156
274
222
162
265
229
191
156
238
147
218
130
130
230
228
162
231
146
209
176
219
205
143
231
165
204
220
171
164
169
194
210
197
284
217
204
201
202
162
208
251
187
206
145
199
218
201
234
269
164
202
192
172
229
204
206
222
128
225
261
258
201
163
176
248
157
242
227
203
162
195
143
200
130
129
208
200
177
149
262
211
211
217
179
200
146
229
179
169
185
234
211
147
205
132
172
168
212
176
176
182
206
211
174
252
158
179
173
218
178
184
176
127
146
182
178
256
200
261
146
218
215
212
130
262
133
166
178
146
217
173
148
194
138
209
145
130
176
166
176
187
204
189
180
172
188
181
208
129
204
165
203
248
207
173
239
215
205
180
201
181
236
236
168
224
197
191
149
173
211
210
217
168
195
115
173
203
157
228
198
173
246
182
173
160
204
243
204
207
161
143
186
256
168
146
213
248
143
159
195
150
212
224
194
262
204
229
197
144
211
169
130
199
227
202
254
211
172
237
197
210
225
182
180
191
184
187
176
129
204
252
224
155
187
210
190
229
172
208
161
188
202
250
211
227
267
210
293
246
192
182
239
222
167
171
150
177
217
215
169
184
162
210
255
162
184
177
145
244
185
190
263
244
281
200
129
155
239
161
185
128
210
189
176
184
199
183
186
182
232
222
143
167
141
176
237
130
151
178
161
146
261
199
252
166
152
201
231
214
218
225
162
190
242
178
214
207
201
143
189
130
162
133
216
133
210
211
141
146
166
193
238
172
171
179
192
198
158
230
115
250
131
210
204
198
204
168
173
175
172
152
248
179
129
182
217
147
130
215
146
212
155
188
173
266
214
160
160
252
167
130
231
129
231
228
224
184
271
146
171
166
225
146
128
246
182
130
257
138
176
238
210
154
162
261
264
250
151
146
189
196
238
238
211
172
204
242
185
191
248
130
200
115
130
229
210
206
173
201
241
215
227
216
217
151
202
163
200
207
175
164
138
158
234
204
122
221
194
174
130
204
217
178
152
231
176
231
173
168
218
129
267
210
146
189
199
188
211
256
146
217
221
185
184
176
200
146
180
181
209
231
158
132
250
155
237
176
166
169
217
243
217
203
204
207
179
174
182
184
176
217
214
173
238
185
173
173
159
175
230
227
200
141
141
227
188
173
195
204
230
246
189
254
195
271
183
202
130
204
164
206
174
172
214
183
162
189
234
130
164
129
276
216
251
225
204
129
228
169
146
244
144
180
219
168
195
130
129
202
210
170
184
147
130
146
201
206
204
208
147
204
153
230
277
203
221
195
212
158
162
216
141
182
164
130
133
181
176
176
173
211
173
207
186
115
225
189
246
204
204
173
202
198
256
150
250
115
173
187
236
194
193
115
169
150
159
214
207
226
156
195
130
190
204
214
252
179
173
161
182
200
173
155
202
195
185
238
248
115
225
236
162
115
264
145
183
279
130
209
115
297
176
156
199
158
184
177
150
229
159
190
246
216
180
129
188
146
172
146
155
184
230
194
259
228
204
205
257
208
237
204
173
146
185
214
189
200
201
187
150
222
194
173
212
205
233
179
203
228
216
207
168
258
178
227
133
143
204
188
182
173
138
256
274
187
164
221
202
189
204
173
244
201
185
211
189
148
167
146
251
246
217
133
119
150
158
255
168
204
143
186
145
174
217
176
190
198
129
183
166
173
128
218
335
210
200
173
162
224
164
202
182
228
176
281
201
177
203
176
248
240
217
146
186
133
130
186
199
145
146
184
206
184
247
173
242
146
232
240
199
176
233
167
179
245
192
202
241
115
167
150
138
184
174
188
168
202
210
257
182
146
218
238
181
192
168
175
129
176
235
274
222
173
204
144
176
179
202
141
200
238
240
185
238
202
195
161
199
178
179
220
157
204
129
162
203
185
129
227
222
173
228
176
204
168
173
291
204
217
217
239
295
185
204
262
189
206
228
217
287
178
195
183
145
204
167
150
202
133
221
240
115
172
230
242
182
149
169
193
164
183
146
235
194
199
217
145
164
245
173
200
180
176
220
145
192
199
211
191
238
253
173
174
164
191
115
193
202
171
217
168
182
203
173
185
283
247
234
162
190
168
210
228
195
268
220
181
200
141
254
161
162
217
239
155
222
206
204
196
173
252
235
157
186
234
173
175
212
206
282
158
164
188
145
190
244
255
185
129
129
245
174
236
179
217
176
224
215
168
130
163
213
160
221
171
271
232
158
224
190
229
191
168
152
280
130
191
180
162
204
168
236
251
230
174
164
216
146
206
207
162
190
186
146
240
183
201
149
181
129
201
185
145
166
174
335
159
258
209
300
202
230
168
143
190
251
178
217
182
184
180
269
147
224
175
224
210
150
245
128
173
173
204
146
150
240
129
185
217
152
213
163
251
195
175
185
162
181
166
207
173
175
156
249
146
202
162
182
247
214
179
146
175
160
174
182
229
162
165
225
258
222
130
176
234
222
201
176
210
210
230
185
217
198
201
215
238
183
129
145
178
238
215
199
203
232
173
182
185
228
211
181
211
166
232
227
147
238
237
225
129
197
230
205
151
192
183
153
182
281
181
260
160
168
247
184
184
220
236
147
189
176
175
247
174
194
151
175
164
214
141
129
181
166
261
146
146
150
224
252
176
129
200
182
175
184
291
167
216
176
205
169
145
230
195
189
206
203
202
176
201
210
217
133
227
119
216
177
174
238
169
198
168
240
133
308
132
173
236
168
184
229
178
206
196
146
194
187
141
225
181
158
213
220
168
178
207
238
169
130
217
182
210
146
174
227
204
227
172
191
245
211
211
230
179
259
277
132
151
214
180
143
247
155
158
218
204
199
232
202
214
203
204
211
252
173
174
224
173
173
175
202
322
191
191
162
196
183
222
155
234
191
173
244
170
237
259
203
144
130
206
185
143
181
205
133
209
231
133
177
184
200
199
211
191
246
238
176
128
238
166
238
229
217
160
238
204
224
259
210
204
180
181
130
193
212
200
248
192
219
168
210
187
265
219
129
172
252
179
235
168
115
211
151
168
159
200
183
156
166
169
264
204
168
255
193
184
138
265
206
130
185
240
181
155
138
158
130
162
175
191
222
189
176
197
180
204
179
143
238
160
203
194
228
166
226
217
160
176
183
171
206
234
192
227
202
174
164
173
162
240
241
211
130
271
176
183
129
293
231
145
188
115
180
204
203
143
145
191
184
231
115
174
200
186
189
218
186
170
182
250
130
222
179
166
215
227
209
175
168
173
133
176
202
197
156
195
158
162
198
202
129
209
170
185
184
174
197
173
210
191
319
160
275
152
164
222
155
178
175
161
168
188
216
217
156
146
176
194
238
183
261
147
176
217
240
174
188
179
166
219
325
143
281
161
211
211
210
175
185
203
210
208
256
164
155
187
185
160
132
122
190
187
164
206
186
174
211
184
176
182
192
146
173
200
176
115
122
143
217
202
168
255
212
189
179
161
170
176
255
155
254
178
146
160
205
202
187
190
145
185
175
130
181
210
174
204
146
227
187
191
216
163
176
158
171
141
167
183
206
251
222
181
145
146
146
185
176
217
199
201
258
190
204
180
193
170
130
161
176
225
182
267
206
187
173
176
190
210
261
279
192
222
115
191
252
180
250
161
129
129
129
217
176
230
156
152
184
143
226
164
156
246
230
166
145
195
201
185
219
129
157
190
181
204
130
191
130
115
226
168
168
229
201
171
166
185
209
260
197
160
129
235
146
178
130
209
195
143
204
232
172
214
182
217
270
225
184
286
236
204
145
204
259
209
183
214
221
152
130
260
194
263
263
217
201
146
130
153
130
283
204
153
185
229
214
180
197
171
182
169
184
205
196
204
130
204
281
168
210
173
178
174
185
229
173
210
223
146
193
246
173
190
209
179
130
173
145
227
196
179
178
202
213
150
168
159
146
162
252
185
193
186
143
238
200
160
141
115
185
188
222
143
201
204
186
176
188
248
193
169
194
149
211
221
215
249
208
251
129
176
214
146
179
180
130
119
234
213
130
183
130
146
178
209
216
206
181
161
204
263
170
168
166
198
223
168
191
146
221
335
234
174
155
197
157
182
208
181
247
218
198
203
204
138
257
233
227
172
188
193
167
143
204
162
244
231
176
130
145
294
169
179
217
199
228
189
180
164
234
245
133
115
173
230
119
198
215
169
242
210
195
145
161
176
178
173
129
210
122
189
195
180
215
130
190
241
211
155
191
211
168
166
130
167
176
229
236
130
129
164
263
217
225
213
150
164
213
207
238
129
145
176
168
210
150
175
227
194
269
133
129
225
211
205
156
183
216
191
211
201
145
228
204
158
129
166
268
226
201
162
183
170
156
129
301
205
129
243
210
178
200
181
184
201
226
192
242
205
149
208
201
204
155
146
223
203
200
191
173
168
129
159
154
190
217
203
145
145
195
133
221
146
230
191
160
282
189
115
158
219
176
209
202
153
194
231
172
230
169
184
260
217
162
168
173
178
210
222
210
200
204
128
192
229
185
200
215
239
221
181
202
259
163
191
202
202
187
210
241
159
129
236
201
198
184
211
169
140
176
255
273
164
158
210
177
129
115
201
244
186
176
146
147
210
146
181
268
182
274
180
174
166
127
168
259
213
163
188
181
169
145
239
200
145
264
251
194
183
189
162
145
271
130
145
160
165
210
166
247
206
130
146
236
182
203
200
233
181
260
173
164
181
173
191
176
191
222
201
227
133
169
199
164
173
204
219
145
263
251
236
172
192
196
158
241
167
229
182
230
233
204
172
335
201
204
173
146
155
176
197
230
179
158
212
184
200
228
206
192
145
173
191
210
172
155
231
184
133
143
191
214
204
278
216
182
229
174
161
145
141
173
145
176
130
185
145
203
202
219
256
158
162
204
230
192
143
177
129
189
193
166
263
204
218
229
133
217
199
221
181
206
211
203
164
146
178
161
146
178
195
176
183
272
274
167
218
130
264
250
133
173
202
130
157
160
195
146
200
229
283
146
143
155
250
176
213
165
208
173
258
173
169
174
168
130
229
138
142
184
189
176
173
196
176
146
168
204
143
202
218
168
252
149
201
221
211
161
133
168
236
143
146
203
206
227
173
217
157
183
221
183
164
149
207
160
129
174
191
199
239
218
145
189
180
194
171
173
129
168
132
242
197
129
173
169
175
180
262
197
212
202
222
224
228
214
181
184
161
169
132
211
210
173
147
233
130
241
173
210
148
211
210
225
188
158
133
146
129
130
191
176
164
191
173
145
239
204
191
144
235
226
182
166
141
145
188
204
147
166
174
234
129
292
129
264
168
122
189
180
285
207
130
200
204
179
229
242
310
145
220
302
198
197
217
182
251
175
172
176
155
122
176
174
175
220
188
164
155
209
235
192
228
211
211
279
173
217
186
257
122
152
188
209
216
185
173
143
176
181
162
176
168
202
198
181
184
171
283
186
173
173
237
173
171
217
159
129
161
195
225
230
217
148
231
146
179
157
138
287
180
172
251
174
195
217
188
199
200
189
273
183
150
211
300
202
264
244
168
129
146
184
161
204
176
204
146
203
164
160
174
144
202
250
215
184
245
165
181
335
202
204
130
156
184
173
246
204
187
185
133
154
182
156
186
239
181
225
200
178
212
158
202
166
219
143
215
267
157
190
185
277
188
155
216
122
189
192
158
173
228
155
279
161
228
171
141
271
234
202
216
147
183
193
172
133
190
241
186
130
164
175
180
204
130
157
204
194
182
204
148
200
166
146
229
216
173
241
162
162
149
198
222
191
130
158
200
210
184
122
217
188
200
162
129
194
207
129
202
141
171
130
145
179
215
156
141
179
264
168
202
130
130
143
184
195
160
182
162
262
216
162
184
204
184
236
201
201
203
185
264
184
203
178
182
238
156
157
173
178
138
129
175
132
204
258
211
162
285
191
237
237
185
173
251
179
145
228
205
184
209
146
141
191
215
193
201
176
161
187
204
176
129
193
173
204
158
222
210
141
202
129
130
276
130
236
164
230
174
249
178
258
158
194
146
227
141
249
152
211
246
156
204
321
173
183
162
248
182
211
221
200
155
185
156
234
170
325
182
157
206
183
217
176
146
143
115
237
133
217
221
220
210
145
185
204
164
217
187
179
167
183
169
239
178
222
201
202
251
183
203
201
115
217
335
146
179
173
173
176
146
182
204
156
183
246
183
229
162
142
201
335
160
224
146
145
146
179
303
172
186
192
162
201
173
216
129
138
173
192
255
185
247
158
184
171
210
143
230
239
130
180
159
160
199
193
190
144
178
184
161
176
181
258
210
180
193
210
178
176
173
178
214
129
164
178
130
221
155
203
191
201
195
167
162
204
130
212
139
258
176
281
167
183
122
176
222
233
172
148
133
245
221
178
183
266
174
130
236
200
335
222
238
318
188
200
146
189
183
210
166
201
173
180
155
145
193
213
202
157
179
143
187
202
146
169
239
209
182
287
173
221
179
230
267
185
168
145
268
205
186
177
209
146
128
160
178
204
170
184
231
182
163
158
164
230
222
174
259
157
188
258
133
204
248
229
230
186
133
287
182
190
192
158
151
155
240
179
191
201
129
183
173
187
204
181
179
184
211
166
206
160
262
153
232
158
173
128
188
180
230
146
238
204
217
205
189
206
133
236
217
214
204
204
209
173
203
122
156
204
169
272
227
169
115
200
132
185
194
210
158
143
246
250
155
132
219
200
208
197
173
242
203
200
199
193
145
182
225
192
173
221
209
236
173
169
160
143
201
179
161
206
204
150
243
182
227
178
189
183
212
192
185
335
183
178
268
146
257
201
176
238
206
177
205
223
129
210
164
203
296
185
141
219
199
229
245
145
234
206
228
173
184
213
172
129
172
211
249
188
256
168
230
202
192
234
141
214
174
176
209
221
189
213
143
115
280
162
145
176
216
166
172
221
206
164
233
191
188
209
207
185
267
204
202
180
241
210
168
224
197
146
183
146
178
229
189
177
143
185
204
173
217
190
130
243
158
204
146
223
207
191
146
196
185
164
150
175
173
146
214
161
210
201
251
157
167
181
207
146
211
203
161
176
172
176
141
176
183
194
227
172
259
146
259
213
250
252
185
230
201
207
173
260
206
195
222
182
194
182
115
166
228
259
252
200
252
219
185
219
164
180
201
203
202
237
212
173
181
216
146
243
201
214
177
173
211
234
248
206
129
221
221
183
179
194
257
189
194
204
133
231
129
230
130
146
217
198
141
184
130
197
236
133
133
186
216
130
227
208
244
157
156
129
216
199
168
203
216
200
179
173
191
206
178
184
204
255
171
238
243
236
173
230
220
192
214
181
228
238
214
254
222
250
190
150
222
172
227
198
152
162
159
239
146
176
122
210
184
182
130
188
169
245
211
228
173
143
180
158
233
266
196
145
167
129
199
176
174
208
137
217
187
209
211
173
130
204
191
230
176
129
173
176
214
211
309
185
143
146
191
201
176
147
215
185
244
158
168
129
252
214
238
188
155
194
192
194
181
183
181
203
201
146
183
133
173
244
287
166
211
237
191
129
208
146
179
174
218
215
208
192
194
155
145
205
273
242
173
130
258
201
162
129
256
194
218
119
164
210
184
199
173
167
198
130
165
224
217
155
145
193
260
239
204
206
130
247
217
146
179
204
209
211
183
173
211
210
176
200
229
188
189
222
165
267
191
130
206
129
138
201
202
157
160
309
146
161
122
181
179
169
159
238
185
130
155
217
168
182
255
227
141
231
198
198
153
187
222
178
166
146
264
173
187
188
171
173
156
171
230
166
146
218
156
162
210
195
198
161
141
195
180
129
143
187
244
169
241
201
241
208
225
188
259
246
133
252
176
182
204
133
276
183
217
129
200
204
204
218
195
227
191
222
168
157
162
178
167
133
300
178
190
184
181
219
164
151
173
245
210
184
264
236
240
166
307
129
150
183
150
266
209
246
231
298
158
214
185
215
174
238
182
130
264
206
184
130
168
209
178
130
267
129
210
204
203
204
200
122
191
170
146
145
231
183
207
307
189
133
230
146
225
203
244
182
187
145
130
130
145
249
202
129
176
174
178
155
236
240
255
259
130
166
208
180
187
195
180
201
138
194
184
236
130
171
223
274
176
210
169
242
168
204
144
225
172
210
176
193
204
195
188
245
166
204
178
197
218
189
222
186
162
129
231
164
197
214
129
176
225
162
171
182
158
204
141
174
302
232
141
180
130
180
221
217
161
180
186
130
162
227
211
164
139
179
238
179
186
182
206
283
173
172
182
172
185
201
212
130
156
292
185
169
129
179
285
242
184
171
200
146
146
184
211
172
185
168
171
191
149
250
288
214
145
231
182
264
255
152
140
147
261
185
242
202
159
210
185
220
231
221
256
146
158
242
191
197
204
189
256
217
181
171
158
220
173
209
218
183
240
210
149
188
143
130
199
204
162
251
177
211
173
219
221
174
222
201
129
226
133
176
258
242
183
182
238
270
130
168
237
245
152
251
177
164
225
192
171
173
227
145
202
213
146
171
195
188
175
161
164
217
239
210
166
210
141
248
183
184
202
261
174
204
186
158
202
239
130
258
129
204
166
173
184
171
210
179
178
129
203
187
207
138
158
216
202
200
158
216
202
283
221
195
150
129
158
230
184
293
130
133
133
164
153
206
235
174
271
249
217
163
227
245
179
209
162
130
133
182
179
246
129
130
272
242
172
144
210
129
143
176
129
250
173
214
243
184
182
176
238
242
165
149
258
146
211
264
205
149
185
175
270
176
335
287
190
258
143
190
230
180
146
115
173
183
222
200
130
146
250
213
173
179
176
215
145
199
234
204
182
225
176
265
184
230
160
205
146
179
191
222
211
229
225
164
247
130
184
223
245
159
183
184
191
143
202
158
173
133
232
225
176
173
196
184
200
231
265
234
201
204
155
217
226
204
177
176
214
301
178
212
150
130
189
151
206
240
273
181
214
243
179
217
218
236
203
141
250
264
234
195
192
143
237
190
115
173
174
223
176
204
175
205
258
219
204
146
230
197
162
201
200
145
204
230
251
161
209
231
222
244
201
206
230
248
179
240
133
214
129
182
190
199
193
185
191
178
202
178
180
176
167
169
146
206
230
219
243
228
176
233
210
130
129
149
210
178
181
161
218
183
161
191
211
146
201
157
250
180
176
152
129
225
256
150
173
196
183
210
156
171
204
179
194
203
208
202
195
207
191
178
181
163
166
179
151
144
184
183
159
258
229
217
210
184
161
184
152
162
184
129
176
183
129
202
170
159
211
176
184
170
146
261
335
146
183
285
254
171
146
168
179
119
186
217
195
195
186
143
210
175
122
178
180
207
146
186
115
261
148
129
164
204
146
179
145
201
217
192
265
129
184
192
197
164
164
200
211
258
201
238
193
227
233
204
129
156
132
195
255
176
266
251
173
166
128
168
208
138
199
143
174
202
217
130
204
191
201
133
133
180
208
222
264
230
204
145
193
127
156
166
267
210
129
145
176
168
184
238
158
176
213
145
156
198
145
161
192
191
188
170
168
210
204
156
115
250
161
206
164
201
189
200
163
130
182
143
204
130
182
169
145
215
183
145
189
115
335
169
161
251
205
161
200
210
187
190
258
193
179
231
206
130
214
169
162
239
146
206
195
210
228
173
143
223
180
237
169
238
190
145
129
226
164
182
225
169
187
162
200
246
181
172
176
176
231
141
220
200
212
228
236
247
168
239
204
153
200
146
210
179
130
228
300
220
211
170
184
129
261
146
266
223
159
216
174
171
258
186
202
201
212
170
176
210
304
194
161
115
178
253
245
179
162
129
130
168
204
225
191
156
201
221
138
202
195
200
180
221
211
191
214
179
200
236
170
149
311
184
150
179
178
190
192
176
225
200
204
173
191
206
197
228
173
178
221
169
165
186
187
221
173
198
177
173
215
205
188
202
267
269
231
264
217
178
145
156
182
221
180
281
194
145
171
170
206
152
217
130
173
149
250
176
227
286
191
226
173
130
221
176
194
202
162
146
178
146
162
138
181
145
197
214
140
168
201
187
210
185
184
276
161
198
186
149
210
191
147
206
181
225
129
246
278
187
164
204
182
194
164
195
247
210
202
186
183
158
208
179
240
216
235
204
146
221
166
184
146
130
236
184
175
202
191
200
219
164
173
173
191
301
217
171
176
213
211
223
195
145
159
283
115
238
141
287
233
129
180
245
151
205
164
217
158
158
218
145
205
187
184
205
238
170
217
239
259
203
231
130
192
174
166
146
146
153
181
115
222
249
191
239
201
244
145
204
159
161
161
162
208
132
210
155
210
236
207
156
261
176
188
146
150
189
152
279
179
191
215
200
157
184
129
182
229
177
176
181
217
246
235
224
296
256
150
231
129
205
161
169
122
250
188
186
204
151
162
335
228
146
187
180
216
162
168
202
145
222
173
129
264
203
204
160
232
129
202
244
236
158
224
214
173
188
209
293
217
164
244
207
173
206
171
164
230
177
198
169
237
176
190
195
179
173
204
204
214
240
246
194
129
226
171
169
204
247
194
229
159
288
174
146
183
221
205
176
164
141
176
132
129
204
239
216
205
229
194
179
130
200
173
129
164
252
246
185
129
143
164
129
237
225
287
162
192
156
179
173
209
190
133
204
146
170
217
209
171
174
182
204
217
158
160
195
186
217
229
221
188
225
183
218
204
180
168
176
188
257
156
200
115
230
275
164
184
201
211
204
115
237
173
208
168
244
230
202
271
162
145
238
239
176
202
180
201
132
176
129
208
216
210
130
129
204
248
261
141
178
206
211
153
168
254
207
133
236
169
146
229
153
163
202
212
220
228
151
219
130
178
119
256
164
115
210
151
129
211
129
205
115
161
173
210
182
210
115
203
162
243
158
143
146
226
128
287
197
130
217
152
180
156
206
119
170
227
133
244
164
204
176
208
160
176
145
177
297
200
184
203
187
210
138
205
299
236
204
172
219
228
270
156
209
230
210
129
209
129
173
157
221
190
204
173
155
164
225
176
133
179
200
178
202
170
214
217
180
182
220
204
204
146
214
204
176
204
270
145
146
214
148
187
146
160
229
217
217
210
180
227
200
133
185
224
229
204
197
143
195
268
160
184
143
176
174
139
222
211
178
233
261
146
143
176
186
252
278
173
222
158
185
197
208
180
188
177
188
133
115
223
191
137
217
138
184
257
146
211
162
155
170
249
147
122
191
184
226
207
168
182
184
222
129
265
204
176
129
224
138
168
202
152
201
204
144
200
176
186
227
190
231
189
240
174
129
242
259
187
221
248
179
184
201
150
206
161
221
248
166
258
173
191
184
130
192
186
196
183
129
181
200
217
130
173
185
192
179
173
234
204
204
158
174
212
168
156
144
146
278
176
181
203
227
176
204
145
204
176
229
174
217
144
155
205
179
203
163
168
236
176
229
217
176
213
166
155
193
196
173
204
185
144
170
180
164
258
169
130
190
206
176
174
130
173
214
151
191
301
201
171
150
234
162
210
171
211
217
215
180
212
183
145
150
204
168
264
203
133
149
217
168
219
227
180
173
238
225
186
207
185
183
187
216
182
251
283
190
193
158
156
145
200
186
155
201
237
235
201
215
204
281
173
143
168
262
201
228
138
179
207
231
222
210
202
202
156
187
192
191
158
230
185
169
210
199
210
146
225
156
183
149
191
201
130
213
165
199
229
177
141
190
214
164
206
178
133
283
195
186
230
169
188
247
170
173
194
146
176
223
164
173
145
173
186
239
216
206
187
115
335
176
184
168
198
176
261
155
203
222
143
158
146
273
173
264
202
130
183
185
130
219
179
192
189
122
209
206
176
202
246
200
184
189
193
168
173
191
204
175
245
172
184
168
128
146
205
242
254
229
204
252
164
163
218
284
162
180
201
156
150
157
195
239
129
225
202
222
246
191
204
176
238
191
133
202
145
229
156
264
198
179
214
216
217
145
164
258
176
206
217
177
158
209
205
202
219
179
115
155
247
217
213
193
168
188
155
166
185
144
178
115
234
209
122
166
162
257
182
185
210
179
251
281
202
247
197
211
163
261
216
182
173
224
217
259
175
222
176
142
155
146
157
146
164
173
170
183
164
130
191
216
204
220
205
161
157
161
211
157
194
224
115
173
192
256
130
253
217
115
261
201
227
202
168
174
168
241
232
129
158
163
145
188
264
176
168
210
182
182
162
146
202
185
206
188
190
251
207
201
204
173
184
207
212
211
292
180
250
167
162
217
205
178
184
212
211
150
183
270
146
257
230
254
200
264
189
221
182
208
217
128
205
173
185
184
235
199
163
217
236
155
230
210
182
181
211
156
171
182
169
162
160
173
157
180
234
146
171
173
115
237
164
261
130
146
156
179
204
152
206
178
199
177
176
214
168
201
203
258
205
183
210
119
214
162
188
180
161
211
218
200
122
229
178
165
211
201
242
202
210
239
160
237
217
224
201
148
204
175
239
191
166
170
171
256
220
173
256
180
257
222
223
248
129
144
240
191
177
183
215
192
204
191
301
260
176
173
188
115
130
129
158
161
236
286
145
129
146
133
174
132
227
155
201
209
171
185
176
156
185
228
164
200
155
145
198
228
255
197
207
206
210
187
122
153
211
221
180
176
176
183
222
201
213
145
162
129
200
173
174
115
237
158
262
162
210
189
184
214
242
226
203
187
217
191
312
174
146
224
210
231
122
160
151
263
173
200
141
255
226
143
249
181
168
143
296
210
138
175
227
146
206
262
176
204
248
207
176
209
165
173
176
213
211
180
264
204
288
179
190
225
244
195
146
184
228
215
168
183
259
168
187
227
264
230
295
204
230
231
171
275
226
162
191
203
264
164
141
192
209
238
205
222
252
191
227
181
210
243
214
172
237
164
146
247
210
185
146
156
176
204
129
227
235
146
180
176
184
231
130
180
202
247
273
115
199
115
196
195
221
203
138
225
153
228
207
145
171
230
204
235
236
176
188
122
211
146
179
190
176
173
129
238
261
170
264
187
215
141
129
156
185
197
203
164
141
216
227
203
129
130
176
204
173
188
160
199
182
179
179
173
173
173
182
229
206
277
178
173
143
143
217
209
246
241
242
146
133
191
215
223
133
236
217
179
180
217
272
179
200
201
129
138
200
162
178
228
189
188
236
179
130
185
167
258
146
249
217
191
242
213
160
207
198
206
162
146
214
325
218
185
228
229
238
146
209
146
191
238
162
209
133
159
183
230
187
200
200
155
222
156
155
182
165
224
155
163
174
214
185
204
210
145
176
250
206
193
210
173
205
213
115
158
264
335
235
181
210
168
130
203
258
165
176
176
228
166
162
221
192
192
211
169
250
179
170
254
167
193
202
230
256
146
146
182
158
191
206
115
217
133
161
145
156
204
133
184
146
217
162
210
194
129
218
212
146
274
189
184
138
221
188
203
170
191
197
194
282
204
141
236
269
207
228
210
259
115
182
132
215
205
226
183
251
198
185
224
189
143
226
176
183
168
129
197
188
195
230
132
225
173
204
218
173
175
252
277
115
184
156
141
176
176
208
164
281
181
239
225
157
312
173
146
200
196
213
148
155
195
214
129
129
210
227
133
179
217
217
178
239
158
155
194
115
211
188
151
244
255
222
146
195
208
147
169
221
203
178
179
168
172
130
230
204
175
215
201
173
235
162
145
204
164
119
181
159
180
185
183
173
210
181
187
155
129
185
143
169
283
188
274
158
174
229
200
202
198
324
169
200
303
143
211
194
210
208
145
191
173
204
129
221
217
129
205
283
185
266
207
234
115
230
205
176
194
155
175
173
176
214
185
224
184
243
178
214
156
174
243
184
202
178
149
164
226
200
204
235
184
251
185
257
173
261
211
173
246
180
157
192
214
215
208
168
188
204
213
129
146
206
129
185
239
204
231
254
189
213
195
231
216
227
184
168
155
176
201
173
231
133
238
236
204
162
122
129
130
265
184
228
182
210
176
204
174
268
202
146
130
204
164
225
173
159
164
144
230
230
184
201
173
226
211
236
254
156
129
196
195
210
129
159
175
228
211
130
176
172
174
176
164
230
144
168
204
202
183
231
158
176
211
200
199
210
180
141
231
180
168
168
145
228
195
146
157
208
179
197
219
238
162
195
178
184
133
207
141
176
209
237
204
217
212
129
191
178
174
181
129
199
258
230
188
201
238
210
150
200
194
130
228
130
166
176
201
165
300
208
145
174
176
178
191
239
182
129
201
244
163
259
143
217
219
201
154
201
130
230
132
228
205
204
200
210
217
217
146
227
130
143
146
163
133
181
146
193
164
272
210
253
185
202
160
200
115
210
201
173
144
129
159
187
151
148
222
192
196
260
171
204
274
247
179
141
229
162
178
145
199
132
189
164
201
215
186
138
204
169
185
204
195
173
227
133
182
239
155
209
210
264
168
186
217
223
222
204
248
179
194
189
140
192
147
193
219
220
294
237
122
230
195
166
186
256
185
164
168
188
263
133
192
189
178
176
160
178
210
200
130
173
130
175
160
183
194
205
193
184
158
166
225
156
230
232
178
186
249
239
227
151
238
162
227
236
150
217
211
115
208
184
214
225
201
188
204
210
130
168
173
313
278
129
189
176
217
217
225
191
173
176
174
218
245
173
192
216
199
239
210
222
217
151
225
206
210
211
145
174
129
168
179
200
209
189
155
210
162
218
179
164
273
170
190
178
194
209
181
246
191
194
194
282
150
228
263
176
234
183
274
177
238
206
236
233
173
315
200
173
179
198
183
223
157
217
185
211
233
144
130
156
197
155
235
272
146
158
226
185
283
191
130
206
204
115
158
282
207
179
193
230
207
129
227
217
198
129
240
187
169
211
210
184
210
222
218
225
162
335
133
172
164
219
183
200
133
155
152
262
199
269
202
204
170
212
193
183
129
218
213
179
204
226
228
213
130
209
203
202
179
192
176
130
197
141
217
141
261
237
200
215
204
138
216
192
173
204
239
168
129
214
221
178
174
196
231
177
176
166
190
168
168
129
172
182
176
233
245
176
176
248
191
185
223
258
241
182
206
230
242
225
190
208
158
238
191
176
200
179
237
206
252
228
259
322
166
173
245
210
240
166
178
183
130
209
158
176
230
238
197
170
158
143
168
187
211
177
169
161
200
185
291
177
191
176
197
188
200
243
236
173
200
184
174
190
173
225
164
236
178
204
192
239
252
242
146
221
179
225
156
182
133
156
200
198
203
285
184
168
173
187
178
137
159
270
194
204
129
180
178
158
160
129
191
161
176
182
189
206
284
217
143
228
146
236
210
191
166
195
133
217
173
225
150
222
184
221
183
200
230
281
264
246
176
204
282
201
187
191
173
216
205
239
157
165
146
180
190
243
249
204
279
211
191
200
206
130
122
217
183
203
258
223
149
225
196
150
201
263
132
210
201
167
222
180
171
214
130
130
159
245
189
230
223
210
217
201
183
222
169
194
161
184
173
180
197
202
242
210
184
129
141
236
188
173
192
129
233
217
222
158
173
217
231
205
230
132
179
206
175
231
241
237
181
182
252
247
130
162
252
221
193
168
213
223
115
160
205
225
165
247
233
119
138
187
158
189
173
184
202
190
216
212
195
146
130
217
146
173
225
158
143
187
183
249
219
155
180
227
185
184
129
204
251
189
238
196
206
129
211
176
230
168
146
146
176
133
187
165
173
222
202
246
193
261
171
184
145
207
182
206
209
191
146
161
173
237
167
255
255
179
254
207
168
146
217
155
204
231
149
217
236
179
146
172
164
222
253
239
210
176
146
178
210
158
181
265
129
236
162
225
239
183
143
210
152
164
181
223
204
150
231
199
178
130
144
128
173
152
230
248
179
175
115
229
160
153
189
174
230
211
130
182
174
115
217
156
208
164
205
144
239
234
191
157
211
176
235
133
287
133
161
217
244
128
144
188
164
197
130
173
211
342
210
202
244
221
231
176
146
236
204
182
145
176
214
211
129
173
185
200
197
129
145
170
133
158
194
227
264
187
222
133
187
259
191
196
115
152
150
165
210
217
210
130
180
203
146
194
264
238
248
179
217
213
184
216
133
230
164
173
266
159
210
145
128
145
245
230
225
218
210
167
130
158
216
164
130
204
207
277
145
189
162
197
281
184
201
228
173
130
168
226
149
228
259
164
221
222
211
200
236
163
130
173
158
221
217
178
157
303
133
144
219
183
188
181
195
171
179
218
181
178
168
168
133
115
150
130
208
200
261
184
181
164
217
178
177
143
209
221
217
184
115
214
239
211
231
220
206
146
225
138
201
145
164
210
211
166
184
280
130
146
231
200
302
261
191
186
248
178
182
160
231
168
193
224
146
173
222
130
146
172
164
244
205
244
249
265
179
146
176
133
146
176
143
162
130
189
130
185
150
193
149
169
207
146
283
179
162
150
173
236
162
227
217
176
187
185
176
229
236
202
201
193
179
189
234
205
218
188
194
200
198
182
183
174
176
195
129
149
221
122
130
201
202
144
179
204
223
237
119
182
201
184
146
225
179
186
288
164
217
186
183
198
176
248
194
211
179
158
281
176
218
180
202
129
204
129
187
156
150
171
220
184
169
204
235
201
200
222
206
229
129
129
335
231
234
249
200
191
141
234
210
146
205
115
146
204
168
203
162
192
187
236
176
252
165
169
210
189
146
143
184
155
174
173
303
190
146
239
292
173
157
164
176
182
181
167
238
122
162
184
224
227
256
146
130
184
174
164
200
223
143
167
225
115
204
164
129
252
204
202
175
185
252
201
173
225
220
168
157
149
199
173
192
173
181
169
201
129
182
164
138
212
184
156
211
129
173
186
155
209
194
257
283
231
188
130
130
222
159
263
193
261
180
210
169
170
202
169
167
222
204
115
192
166
184
231
186
158
258
158
259
193
211
211
234
174
146
204
184
179
222
183
238
131
182
217
167
230
179
204
204
149
179
197
269
155
283
191
170
133
173
182
335
174
187
202
143
196
210
224
185
202
180
173
196
229
192
186
178
184
146
173
188
188
157
150
233
160
132
133
173
263
278
207
209
274
248
130
179
129
204
221
238
202
145
236
264
206
333
181
262
178
228
194
214
200
256
257
178
201
213
129
188
260
220
150
199
244
220
287
164
144
234
204
287
181
222
130
144
191
217
274
203
210
266
203
200
265
261
173
145
178
164
176
238
133
150
167
192
228
160
144
133
183
240
178
187
202
241
211
217
211
234
199
129
202
129
221
182
210
162
166
279
205
146
128
184
204
230
220
236
170
251
176
188
210
164
252
178
162
191
220
247
173
183
182
179
192
176
182
222
205
271
203
210
146
192
129
225
210
155
158
188
146
129
205
143
188
153
205
130
182
176
225
191
211
205
198
174
215
146
225
172
205
155
186
238
194
176
202
155
176
228
187
205
181
246
264
140
176
217
176
193
236
211
164
238
179
248
219
146
217
196
160
132
130
289
147
210
169
199
246
141
179
180
244
165
201
150
210
149
153
255
225
176
217
217
130
210
151
189
146
155
162
144
151
176
191
257
129
175
214
145
172
204
266
144
208
273
255
217
202
194
180
244
158
251
158
192
157
130
173
162
217
250
233
223
179
184
168
181
320
242
189
176
184
230
238
129
223
129
180
194
138
167
239
233
130
244
192
173
264
138
200
168
218
208
235
281
255
154
204
133
145
168
261
168
247
196
150
166
173
178
200
128
153
149
156
156
251
198
159
170
202
212
212
173
283
191
197
133
291
179
247
181
204
185
213
210
199
147
238
279
147
185
159
205
158
176
175
129
182
188
138
129
234
179
240
171
197
239
181
248
169
167
176
233
173
237
130
244
212
239
227
185
162
130
159
160
129
172
189
129
133
227
146
138
204
171
233
224
149
146
178
210
173
210
130
210
195
167
206
170
184
202
130
248
246
184
191
189
211
129
143
189
183
254
143
231
210
146
226
129
149
252
172
169
225
201
300
202
283
130
176
210
180
202
258
219
234
245
192
230
282
129
204
168
252
220
164
184
199
160
146
185
183
199
173
151
216
201
239
166
189
258
162
176
188
146
255
163
160
188
182
130
133
181
212
237
162
202
194
198
164
178
230
162
143
219
210
217
238
217
176
192
223
198
225
156
129
195
207
212
156
200
210
274
182
221
188
173
191
204
216
173
306
241
164
178
173
255
277
265
132
168
194
130
292
221
206
174
180
222
161
195
245
235
263
194
180
190
239
146
178
300
191
138
168
146
164
144
190
234
253
201
185
183
202
146
129
115
156
164
176
191
257
173
141
115
213
191
204
192
206
226
236
171
162
235
129
183
206
129
206
263
182
179
182
167
202
204
332
195
202
199
156
195
206
155
216
158
217
281
201
187
162
246
214
204
184
226
219
177
144
150
130
129
191
234
160
169
229
132
173
210
231
185
273
205
188
150
196
222
190
144
173
173
176
227
163
187
214
224
264
225
211
211
200
204
158
162
173
162
229
245
293
240
115
173
227
176
222
210
167
235
218
165
176
198
260
211
281
208
129
158
195
186
189
204
198
306
222
218
164
226
202
214
225
176
214
162
234
183
174
191
211
169
156
225
145
266
216
173
213
184
187
131
185
202
202
208
256
132
129
176
187
218
195
208
172
128
158
173
202
179
164
210
155
224
194
199
129
179
202
181
173
192
187
145
199
185
176
183
206
209
151
149
145
199
199
173
200
230
187
251
188
239
130
218
219
173
129
164
222
214
236
210
171
292
174
179
138
264
174
204
203
183
145
198
206
191
156
183
204
165
204
183
230
173
239
146
130
175
217
335
122
133
176
184
169
166
158
222
275
200
225
233
204
225
177
219
168
260
231
143
164
231
150
158
186
234
206
231
164
178
179
159
178
195
210
179
205
157
170
188
160
173
179
130
145
204
254
202
191
216
187
169
237
172
173
158
174
191
210
122
129
184
213
115
214
223
253
207
173
164
205
217
264
210
193
179
218
155
176
178
155
211
146
133
164
283
217
203
143
238
214
189
129
146
129
199
252
178
232
213
130
204
168
205
188
155
204
218
228
146
192
164
206
176
170
179
224
170
143
129
146
130
179
146
197
259
129
168
129
147
236
220
161
204
217
180
220
173
219
141
281
204
204
226
176
160
180
191
175
238
240
287
141
190
176
141
210
162
211
161
200
158
193
181
210
230
184
217
146
158
233
205
173
238
244
226
181
200
220
210
155
222
166
155
232
226
210
155
247
150
258
183
210
195
182
210
231
157
184
214
146
192
152
173
209
168
130
187
188
203
259
191
173
119
129
224
161
318
143
168
202
229
217
132
168
200
209
149
259
225
218
206
214
311
155
200
199
182
130
168
145
162
198
180
168
232
299
175
158
193
173
160
143
230
190
168
219
168
177
174
173
164
200
183
187
228
173
129
158
143
199
169
174
169
191
194
189
191
129
201
115
130
215
222
202
209
191
204
178
190
212
162
176
185
146
176
164
146
166
192
130
162
130
129
170
130
249
179
246
235
246
158
194
211
199
175
209
188
202
204
204
181
129
210
200
146
164
173
179
182
205
235
218
209
132
214
276
192
143
180
194
180
217
231
179
185
176
236
174
223
145
180
230
158
173
234
177
210
184
264
176
209
188
214
225
216
185
129
209
240
155
129
190
201
130
164
168
227
240
223
143
128
155
230
209
202
173
164
327
201
244
261
129
214
162
236
210
169
202
193
208
180
165
224
179
143
226
244
230
218
182
210
225
144
198
281
195
191
147
222
164
214
176
207
202
224
195
206
192
146
186
210
150
254
217
143
198
129
200
200
146
274
179
214
141
202
195
146
193
197
191
176
130
185
225
171
183
191
231
162
199
146
189
130
156
193
211
130
229
269
170
155
204
200
203
122
119
169
230
207
210
226
203
179
188
204
206
189
217
182
243
166
184
191
176
130
191
200
191
150
219
153
172
161
206
170
229
173
184
129
200
153
129
230
164
178
133
182
230
175
156
236
206
279
115
176
210
170
181
225
206
195
210
190
166
208
213
219
200
194
195
143
234
179
129
238
191
175
231
205
295
188
129
187
174
190
231
183
153
210
188
192
257
234
234
193
236
202
183
173
182
147
180
160
194
223
212
203
293
239
146
181
238
230
177
145
209
242
130
190
200
274
238
173
217
237
236
156
212
152
191
214
246
184
133
204
235
230
172
168
199
196
198
146
210
176
156
166
141
221
183
133
202
201
236
205
180
173
247
129
215
188
201
273
187
132
143
206
228
191
155
147
212
220
229
173
213
217
238
146
129
138
191
186
158
145
206
208
215
201
194
187
219
130
217
168
217
171
143
168
168
269
162
204
174
201
173
210
173
167
212
240
158
205
192
202
258
146
257
149
216
202
172
143
300
221
246
192
129
251
217
184
182
192
130
288
144
168
133
230
179
199
188
188
158
234
210
200
185
281
214
208
254
162
222
214
146
168
264
209
146
299
204
194
238
192
173
173
181
185
166
166
146
175
216
159
194
173
176
198
235
176
250
232
208
129
225
189
160
214
156
248
204
173
201
177
130
129
210
198
210
199
202
236
130
138
206
198
185
206
200
270
211
173
195
176
187
173
128
177
238
231
201
205
168
130
151
164
191
162
221
162
248
294
300
258
193
173
204
170
176
184
129
207
179
203
158
177
204
213
178
225
130
188
129
145
250
217
246
147
217
164
217
271
159
130
158
176
246
176
187
143
165
174
176
191
204
224
172
130
173
179
234
224
133
181
201
157
173
129
130
159
129
210
188
173
165
227
191
155
161
168
205
238
188
159
250
221
150
232
161
122
143
189
240
201
231
205
169
143
155
180
130
214
175
269
230
146
222
178
168
179
160
133
182
155
178
156
179
217
193
146
214
244
234
248
221
133
197
146
222
195
224
228
265
230
115
202
144
210
159
214
190
184
210
221
146
208
267
183
176
270
200
173
238
179
185
221
190
146
217
180
130
200
149
190
238
169
164
225
182
222
128
187
205
217
155
155
190
188
185
287
187
189
241
145
239
159
213
173
145
265
168
170
156
130
186
250
146
169
209
168
186
146
200
158
183
272
178
191
173
173
150
143
194
178
200
255
143
143
258
202
151
209
211
199
189
138
202
217
249
182
158
233
258
225
185
195
166
222
130
168
254
238
133
212
200
233
159
133
143
168
169
208
204
192
210
168
156
282
226
119
156
168
195
206
227
150
164
252
133
191
211
168
129
183
150
168
188
179
162
167
210
150
210
133
185
150
214
204
217
200
173
183
244
168
207
143
158
156
178
180
267
175
182
164
186
221
303
115
122
291
218
203
182
183
130
211
162
158
242
149
229
216
150
133
225
203
205
187
129
129
158
168
204
150
173
183
146
191
145
183
210
159
143
162
186
204
162
175
164
264
191
129
239
179
168
204
130
216
201
184
204
129
181
183
248
249
167
184
179
261
206
145
253
225
256
189
285
191
145
188
226
141
219
185
182
215
204
178
176
184
129
184
239
119
191
141
184
231
115
218
133
156
138
168
249
227
201
146
231
174
264
247
168
204
178
264
129
211
210
264
174
165
129
181
217
213
184
232
184
274
176
153
238
183
176
204
225
251
122
180
222
219
151
185
179
188
214
146
160
190
164
212
119
143
168
194
227
234
173
249
174
115
210
201
206
222
122
191
204
165
182
168
228
143
225
168
204
229
178
178
258
178
133
132
184
207
238
220
211
132
199
163
182
191
172
201
146
201
189
177
130
209
236
204
210
187
181
219
143
133
156
143
145
168
236
193
193
202
152
188
146
186
141
273
210
166
274
236
188
248
167
204
187
187
162
173
212
204
190
195
191
214
164
244
233
129
181
247
158
213
199
173
260
181
207
281
129
155
115
246
172
202
203
244
189
189
209
221
191
143
240
274
216
181
224
184
172
209
238
238
169
129
234
269
190
281
173
152
129
216
187
178
178
217
181
193
184
171
276
188
173
208
190
129
173
242
185
176
215
162
145
180
146
255
217
115
146
225
206
204
205
173
202
200
240
211
244
201
171
270
173
207
179
159
264
188
173
179
168
238
164
168
238
204
232
170
217
158
184
184
206
186
310
224
130
204
238
182
180
266
122
200
217
210
177
195
185
164
168
319
159
158
204
169
149
162
156
184
204
201
168
282
143
225
159
192
211
143
263
141
217
183
145
209
184
162
208
156
119
128
199
217
172
195
201
152
231
190
179
244
133
248
208
209
191
207
225
179
256
162
184
190
214
175
218
230
281
164
160
162
176
145
185
203
213
203
239
251
293
166
211
180
227
218
204
182
247
158
183
176
204
166
192
241
210
267
217
130
130
145
160
168
170
150
149
162
196
152
204
168
197
186
149
231
208
183
201
183
206
188
262
222
141
140
173
168
170
204
176
155
203
172
132
143
217
130
234
176
237
184
201
145
160
160
156
201
133
168
234
217
197
189
255
204
194
149
238
129
198
237
189
129
267
176
258
146
198
211
219
230
181
176
176
168
158
210
162
172
166
217
181
175
149
146
269
164
189
145
218
155
180
146
160
209
173
248
233
195
176
190
178
119
133
222
180
132
202
328
173
237
128
130
203
164
246
169
212
173
199
129
185
201
172
169
165
173
194
150
255
158
173
158
132
205
217
189
257
228
173
259
166
191
183
167
191
133
181
247
216
175
130
169
158
194
179
176
171
301
167
238
189
228
217
196
286
119
176
145
217
177
230
146
173
230
295
222
182
238
281
129
182
149
242
182
186
204
204
220
220
219
231
202
146
182
164
228
164
209
188
146
115
186
232
191
172
167
205
129
217
257
181
166
185
157
175
201
252
208
201
157
203
221
217
274
303
193
176
227
130
150
179
151
188
217
186
201
173
132
176
181
173
132
193
180
143
214
201
260
223
200
252
218
173
178
150
214
130
173
179
185
205
131
207
171
215
210
250
145
228
185
228
146
212
130
143
256
241
142
146
162
203
212
146
202
143
178
202
230
178
222
206
157
129
183
233
150
169
244
274
176
215
148
146
262
200
173
184
210
203
176
206
197
292
253
250
335
210
158
228
263
215
217
183
187
258
201
122
253
173
223
165
164
130
184
275
202
171
204
162
188
194
183
217
130
250
195
227
206
133
199
231
133
214
122
193
215
204
183
146
215
176
246
176
205
222
130
208
238
184
251
197
221
216
236
128
180
174
200
155
130
141
230
212
170
195
201
240
204
183
227
229
203
195
129
129
173
176
224
129
256
247
189
221
164
169
235
217
133
164
195
181
171
217
233
239
143
225
171
182
197
165
205
188
204
170
245
200
227
186
150
193
173
115
179
244
164
200
165
143
174
175
210
143
162
333
177
225
162
176
146
195
199
146
185
224
179
230
204
160
206
241
215
217
190
128
239
162
223
189
183
155
274
155
212
181
184
247
184
238
200
169
138
214
228
164
129
210
179
143
238
185
150
130
215
185
228
201
239
166
261
173
202
235
287
159
236
176
218
263
182
335
130
183
129
204
200
182
287
164
169
185
275
236
226
171
160
186
176
189
152
165
115
129
157
218
158
249
146
168
193
162
202
204
222
194
235
174
172
228
247
182
255
176
230
206
164
129
197
180
179
162
289
130
228
247
254
224
217
171
276
213
130
234
188
164
180
182
239
201
191
202
263
234
239
147
161
232
261
252
191
271
175
198
158
191
194
162
196
172
210
173
164
210
183
145
231
286
129
163
175
180
201
173
183
231
210
201
146
197
158
166
238
146
197
180
204
167
158
185
253
129
217
176
210
128
204
176
180
229
184
172
143
193
211
194
200
205
173
158
190
216
167
171
185
245
176
201
130
202
274
248
210
171
202
130
266
169
209
197
172
249
173
233
204
183
203
190
211
169
231
207
158
200
175
299
178
211
161
149
184
184
256
193
143
183
215
194
150
158
184
184
200
164
188
180
221
133
206
201
129
164
195
256
218
204
182
216
186
141
145
242
177
185
214
217
130
162
197
130
130
176
234
242
247
231
223
226
242
149
173
158
208
147
269
129
219
155
211
222
202
217
176
224
211
190
247
216
167
176
233
154
207
132
157
258
300
257
264
236
252
177
202
235
160
158
229
216
186
173
210
279
213
194
166
210
237
239
222
200
156
146
196
194
143
182
163
183
200
218
239
184
185
222
239
211
138
211
200
226
189
225
195
202
254
217
179
204
133
130
174
211
196
321
183
200
201
216
234
129
173
201
217
228
168
115
214
171
231
188
166
160
227
188
178
201
166
130
145
143
185
176
183
157
171
210
235
204
252
183
141
169
145
190
245
185
179
129
163
204
244
188
169
162
201
315
224
200
166
133
230
185
204
145
230
158
141
230
228
182
183
217
214
206
207
195
172
200
239
166
206
203
191
160
200
237
171
218
204
184
204
168
208
175
199
261
185
234
210
169
171
169
147
161
232
186
133
217
191
169
183
166
259
236
206
189
244
210
182
169
176
279
183
129
176
192
130
199
216
203
229
133
189
172
182
247
210
184
164
238
185
129
181
191
202
216
204
184
210
178
179
210
166
155
191
169
179
143
146
189
239
176
164
166
192
247
183
249
162
243
203
203
272
218
197
260
182
185
168
171
155
207
187
242
141
183
141
130
255
210
176
164
222
146
164
300
163
184
180
146
179
209
218
214
179
264
202
146
232
236
122
225
165
253
130
233
184
185
163
189
158
184
190
182
160
165
115
258
206
238
231
158
216
167
214
266
218
247
239
219
221
205
192
199
184
202
222
243
133
130
202
260
146
233
280
250
145
180
193
141
130
235
229
141
248
215
191
176
197
131
166
198
246
188
176
184
165
189
244
161
173
130
173
129
162
182
167
145
249
156
252
176
272
130
144
143
180
146
115
250
173
270
230
238
198
250
149
146
130
270
221
197
192
221
204
250
174
200
172
265
204
183
219
129
245
193
164
200
187
241
204
155
170
235
167
187
273
202
187
204
206
263
191
240
261
146
129
115
241
222
143
129
256
283
130
138
176
189
217
205
211
179
208
130
174
251
133
239
217
180
184
159
194
193
198
162
183
167
204
133
252
216
180
228
247
182
248
181
217
158
218
230
192
170
146
225
173
180
176
240
179
261
133
168
176
210
211
247
250
133
141
149
264
129
209
144
189
206
129
200
202
176
213
129
174
130
217
122
190
242
130
151
200
258
218
188
200
225
204
162
194
211
259
164
155
160
230
199
173
174
238
189
235
232
146
130
198
226
181
218
238
282
146
208
229
174
226
115
247
230
229
221
236
191
164
182
161
231
324
173
215
141
204
146
168
217
211
200
240
141
227
181
146
143
163
299
155
151
183
203
146
210
259
181
150
210
252
238
235
210
155
223
257
209
188
161
215
180
304
247
155
143
197
222
211
233
259
175
183
200
203
205
173
129
226
216
182
210
173
174
215
211
164
240
173
169
194
222
181
238
149
230
188
257
164
193
173
129
144
231
138
228
264
197
160
129
187
187
210
222
236
164
201
151
239
210
222
218
227
146
185
204
210
160
212
138
200
230
115
182
231
166
223
228
146
180
129
181
171
238
227
248
160
227
206
170
176
192
171
210
176
191
195
250
194
149
239
149
150
235
179
191
176
174
201
183
155
211
177
201
172
222
146
176
179
173
176
216
184
188
192
195
164
133
216
143
188
258
129
176
179
129
218
202
255
162
146
221
173
176
122
165
170
231
193
183
231
202
204
122
181
152
194
193
236
283
173
214
235
210
199
156
227
130
194
129
249
236
210
184
214
275
146
170
145
171
201
177
146
149
231
186
265
264
130
130
168
250
264
133
263
191
195
141
187
288
236
129
217
193
184
214
181
128
195
211
222
214
146
223
218
130
176
176
172
144
201
175
183
168
216
146
171
182
119
243
211
141
186
188
119
189
173
226
183
244
143
230
240
168
179
178
226
214
173
216
183
335
235
202
327
247
209
222
183
203
206
199
202
193
176
173
238
211
129
239
129
183
190
162
176
242
222
176
156
210
155
173
234
214
170
228
182
162
179
202
249
164
146
202
233
186
217
181
184
164
188
239
191
115
254
230
259
199
166
129
202
210
230
141
211
230
217
240
182
122
171
176
167
230
223
233
251
237
132
130
238
176
186
225
190
174
263
205
150
156
187
158
183
225
149
229
166
251
214
258
275
151
183
164
145
175
204
182
168
164
288
203
131
176
191
156
129
202
133
231
174
204
164
146
216
211
201
133
230
158
141
216
162
198
239
200
206
185
208
208
164
145
171
203
176
203
178
182
225
204
295
145
150
173
174
181
254
229
235
115
217
181
202
210
234
202
202
225
171
156
130
130
146
133
238
247
182
172
209
182
261
200
238
199
138
171
286
175
164
190
204
178
223
192
211
216
180
183
148
212
189
201
322
229
259
204
205
172
169
176
173
216
201
287
202
210
161
226
216
191
152
186
204
186
238
207
162
187
129
179
178
211
115
192
246
192
158
202
213
129
272
335
173
129
201
173
217
167
130
225
162
239
164
146
204
160
133
182
198
246
146
192
216
133
242
248
133
176
206
227
206
221
205
217
167
188
169
138
160
141
184
217
158
173
230
172
216
183
169
190
216
217
242
192
146
205
173
206
221
200
247
158
164
218
246
183
200
277
158
149
179
169
218
158
158
179
176
237
204
240
172
130
176
133
184
218
249
165
173
191
173
122
164
225
198
216
279
178
258
217
203
238
180
291
247
180
262
203
215
181
190
166
211
202
146
167
164
193
221
164
204
202
261
158
201
209
160
236
240
156
155
207
233
190
158
189
211
225
156
215
184
146
197
173
191
173
221
203
211
168
169
212
143
169
158
151
216
176
300
183
246
173
184
249
236
249
213
217
225
238
204
242
200
172
129
129
179
175
206
181
133
320
174
227
143
166
173
150
171
247
180
181
163
218
130
182
174
201
259
204
164
179
204
230
129
176
130
129
180
211
180
157
264
240
130
232
146
197
214
234
204
176
227
200
210
204
146
190
206
141
236
191
146
181
228
206
171
267
182
184
146
262
143
211
181
217
190
211
217
208
218
168
162
168
167
149
198
169
168
130
210
202
193
288
236
239
145
172
270
172
156
197
245
230
176
266
220
115
169
217
193
182
179
176
191
255
230
200
303
173
172
265
235
171
224
141
184
251
199
191
185
217
259
181
147
141
204
191
225
230
161
179
230
176
246
185
204
265
202
222
283
188
182
146
164
222
184
145
183
184
190
146
204
170
215
180
248
145
198
219
178
191
152
224
115
205
180
161
191
158
173
170
213
206
182
192
160
147
195
146
238
176
204
244
170
183
206
199
170
176
168
129
143
150
198
166
178
207
133
205
155
174
170
200
208
150
128
180
181
192
156
260
175
212
210
143
202
181
129
279
146
210
179
228
191
270
195
204
176
173
200
206
199
239
183
220
191
143
184
186
168
129
178
212
145
197
215
170
216
141
174
225
209
206
171
233
181
129
146
173
221
214
210
201
181
238
213
175
203
311
232
183
180
192
201
243
280
158
263
201
201
173
178
190
182
201
168
119
296
182
146
175
158
143
156
204
176
200
174
264
190
217
199
217
204
192
181
146
129
201
158
168
195
157
210
273
226
115
236
208
202
169
155
130
119
226
145
201
217
241
236
179
195
173
181
218
211
176
184
218
245
228
235
229
180
225
225
247
130
157
269
254
164
224
204
274
211
194
183
189
228
236
198
173
217
187
209
191
252
247
185
231
162
193
199
206
202
155
214
153
173
172
180
122
245
188
206
287
181
115
231
210
181
229
211
213
180
180
259
133
252
205
205
145
210
177
190
173
170
214
130
236
216
175
130
130
202
171
206
210
151
262
129
209
167
197
240
183
173
227
225
213
180
247
222
259
184
171
160
228
270
182
210
155
133
187
146
223
198
115
185
188
186
191
235
158
115
156
151
276
215
235
186
235
178
283
240
233
115
258
130
145
203
268
141
240
145
146
204
173
205
122
202
130
180
200
222
189
204
176
196
157
180
217
145
176
143
175
166
214
204
246
274
211
221
173
193
149
239
192
339
146
158
193
138
179
199
202
221
129
185
180
178
217
129
175
195
212
241
260
200
232
200
175
149
155
130
261
217
217
166
197
231
176
145
133
129
184
129
177
173
196
222
185
171
216
195
218
173
146
240
256
146
191
248
182
221
183
280
204
201
229
217
200
170
166
129
230
193
215
170
221
158
168
210
132
258
219
223
214
227
180
219
204
184
158
264
182
162
173
180
169
257
225
160
184
171
182
115
193
168
158
180
189
224
203
187
158
179
217
200
186
239
176
202
310
129
194
287
192
133
130
183
180
199
174
299
199
204
173
195
233
193
169
321
204
216
221
231
176
208
152
227
156
145
187
176
210
255
166
145
166
129
254
244
191
175
180
262
188
146
143
234
144
170
230
194
191
241
189
152
162
182
190
152
226
212
169
247
228
218
242
216
176
180
203
225
209
185
133
194
184
170
210
173
185
179
237
179
242
180
215
259
145
210
180
188
204
183
251
234
161
217
160
210
183
146
217
196
138
204
277
210
173
158
174
202
173
200
233
252
246
189
199
168
168
176
239
178
203
143
208
202
130
267
188
187
230
149
174
181
216
164
236
223
162
168
183
219
176
234
170
204
143
130
195
217
167
230
130
211
244
129
153
214
129
185
231
226
191
192
178
203
246
176
129
182
176
259
206
244
162
267
173
128
149
217
215
152
149
179
181
129
189
204
211
180
157
173
185
257
141
130
188
236
191
167
201
200
182
249
184
213
200
202
244
168
146
237
146
225
211
257
223
201
210
129
184
193
158
158
174
252
149
191
133
221
173
129
176
313
138
179
181
195
193
202
252
115
147
156
175
204
248
146
183
156
190
190
182
197
174
232
204
257
122
203
172
211
217
167
191
238
200
195
128
129
130
173
204
211
246
204
133
210
209
184
287
177
130
152
197
115
234
199
170
240
224
203
155
192
176
146
129
170
274
187
158
146
197
191
172
238
199
174
222
176
169
246
153
201
246
145
161
230
158
173
203
169
210
219
129
263
205
129
179
180
194
197
164
180
146
201
228
141
183
241
227
193
192
238
200
176
206
179
236
234
190
189
181
184
168
173
207
138
174
208
217
211
227
203
237
184
203
204
176
162
204
166
207
178
214
296
184
155
207
158
233
217
168
210
165
226
180
146
173
303
156
149
234
162
204
188
158
204
199
145
179
209
188
158
129
224
130
184
156
191
185
236
178
129
257
173
222
141
245
285
191
248
162
224
164
245
164
313
200
191
184
302
146
161
204
162
129
195
195
225
236
195
182
230
213
204
130
185
122
234
162
192
203
207
190
200
152
204
183
161
173
188
276
174
166
158
254
264
262
210
180
249
203
214
202
185
158
141
237
174
270
206
145
145
215
169
203
211
217
145
240
210
188
193
129
197
269
183
178
179
235
162
188
168
244
115
171
244
242
206
250
227
173
133
132
182
235
140
173
167
155
145
143
201
160
184
178
192
296
197
215
155
182
149
217
146
216
187
216
191
164
152
231
150
165
201
241
237
184
245
200
263
150
203
226
188
230
153
155
156
146
130
156
201
213
160
256
172
254
182
185
145
176
263
226
285
129
204
155
145
160
264
191
226
182
318
130
297
182
193
179
204
219
258
205
206
129
188
155
115
190
169
230
324
214
237
176
176
197
204
190
168
210
245
133
247
158
194
260
160
179
197
191
270
223
133
239
133
187
168
230
207
115
258
217
217
145
200
177
246
185
172
229
203
227
130
184
146
239
153
232
206
237
242
216
145
237
221
200
166
188
198
215
178
170
204
149
157
164
247
203
208
265
204
130
256
178
263
205
171
283
183
206
174
217
200
211
222
176
152
242
225
200
129
146
146
210
353
176
207
334
204
204
176
255
199
129
185
180
202
182
215
247
196
145
212
217
236
217
189
190
210
166
176
192
173
150
184
129
231
209
183
146
209
156
204
176
210
198
178
194
173
215
115
186
229
201
200
143
178
230
155
181
184
212
193
208
208
186
230
191
217
146
206
172
164
234
206
184
133
250
183
211
184
182
238
152
194
222
233
182
182
176
266
265
248
183
214
141
185
191
176
210
188
146
141
176
210
181
245
236
194
214
231
228
173
234
182
223
155
201
212
133
210
181
232
129
145
115
174
129
217
233
166
205
176
145
130
219
214
133
183
274
230
263
234
204
174
241
162
195
261
192
168
178
203
200
212
250
256
160
194
237
185
211
186
274
222
163
130
244
146
180
183
251
146
149
178
217
169
188
129
176
240
141
179
216
199
173
164
200
144
162
187
191
179
214
202
179
178
249
200
209
183
183
242
171
133
222
158
230
206
238
146
187
216
212
222
264
235
204
220
215
214
173
179
186
204
187
133
168
159
164
200
158
167
183
163
238
174
253
235
171
201
173
119
228
231
177
176
224
146
206
246
184
190
166
199
173
224
167
158
275
152
188
180
198
213
216
195
164
167
175
129
216
197
246
165
169
164
156
168
206
181
176
161
191
186
197
216
228
210
209
129
230
247
205
201
188
265
122
182
173
176
225
259
182
195
152
204
249
225
192
173
222
239
203
199
200
207
115
160
176
303
227
169
190
193
173
283
216
235
195
176
204
201
129
227
217
235
129
115
212
146
178
176
145
244
221
180
225
240
236
222
234
217
129
184
166
204
189
171
155
129
202
156
202
209
211
179
194
235
162
173
234
217
203
171
219
203
129
228
132
221
224
215
162
217
294
209
129
173
160
178
222
259
146
183
215
210
242
188
211
128
283
212
146
217
273
184
198
158
253
222
157
184
201
242
182
202
145
179
181
158
219
157
244
182
155
236
173
222
176
200
176
182
184
204
294
250
208
158
179
176
211
193
189
128
143
149
178
215
158
183
172
144
171
153
204
142
201
129
173
176
217
211
222
168
201
162
185
202
145
149
244
153
161
178
186
214
184
176
157
162
239
138
176
211
173
264
211
182
145
130
191
146
176
176
191
223
263
195
193
206
214
192
141
164
210
173
230
215
280
143
173
173
231
197
313
176
130
182
185
189
221
255
201
173
201
167
166
256
202
203
208
208
130
236
161
251
146
129
185
204
325
180
176
248
149
221
139
234
145
168
185
226
221
209
222
194
184
133
208
254
192
240
228
199
179
201
202
229
192
158
205
210
230
229
217
156
158
176
202
172
242
213
204
141
115
140
257
189
155
238
155
225
221
129
145
217
239
173
160
217
179
242
217
215
211
182
224
230
179
210
184
144
145
217
200
171
184
145
251
187
198
191
173
235
154
198
191
269
160
254
200
286
160
202
210
190
213
185
173
205
176
246
191
176
166
156
130
158
215
180
210
258
228
173
115
210
155
238
198
157
130
143
214
156
166
129
200
288
173
173
166
218
264
225
174
201
188
176
176
176
188
162
173
206
129
201
224
115
130
179
215
178
186
155
246
202
225
234
158
207
201
230
179
191
240
175
230
228
174
129
206
141
146
267
153
206
211
168
204
145
203
238
127
205
189
189
181
197
200
202
146
300
187
133
219
239
202
204
183
143
185
252
160
217
158
221
204
128
214
122
166
145
175
206
175
212
192
180
199
200
249
185
129
198
189
214
230
191
207
183
175
247
146
236
191
129
151
301
335
176
211
168
156
221
169
209
217
171
217
232
189
193
168
217
178
256
201
119
149
326
210
188
238
178
201
168
228
173
182
214
236
144
189
179
217
178
241
231
185
150
180
264
164
227
204
198
200
195
158
169
147
244
141
213
227
176
217
173
274
173
262
206
155
245
129
219
145
210
191
164
173
158
130
181
185
236
182
133
227
206
130
145
170
166
204
200
174
203
175
149
129
164
211
143
183
161
217
162
242
203
202
155
173
170
250
161
190
173
193
207
168
214
218
198
214
192
194
184
178
133
162
188
208
268
184
171
227
181
201
148
200
168
230
187
129
221
238
188
150
204
209
206
235
258
217
252
236
206
209
226
206
182
176
216
187
209
204
211
201
202
227
181
169
129
130
128
225
187
132
218
129
156
202
178
129
190
178
188
119
132
153
192
157
187
190
180
173
158
180
177
201
129
176
173
242
145
184
227
221
159
181
191
233
237
246
171
240
209
208
300
179
213
147
231
162
189
224
228
188
225
199
143
227
198
150
200
168
255
185
189
182
184
204
198
151
133
185
183
182
302
222
264
190
204
173
132
193
129
242
228
194
130
181
164
190
232
221
129
203
271
244
183
172
133
200
220
222
150
229
218
245
167
179
155
130
259
200
255
215
209
239
232
217
146
173
153
198
202
237
227
203
152
161
204
244
189
130
168
206
176
200
156
244
246
207
152
173
208
255
224
178
195
186
201
115
204
211
222
205
197
235
180
240
217
201
130
201
175
178
230
184
189
146
168
145
242
221
170
130
167
244
222
237
264
207
191
184
141
151
150
231
146
206
202
195
261
115
242
172
204
204
174
133
176
166
166
177
176
172
180
231
231
183
197
176
202
155
146
173
182
168
129
218
222
210
314
176
309
141
194
175
188
181
130
185
146
206
236
252
174
176
199
274
230
176
218
172
238
158
195
224
194
254
199
176
201
130
188
215
210
155
219
261
165
179
184
241
133
184
200
305
173
164
174
128
146
204
307
281
165
146
143
238
176
264
228
165
164
242
173
232
249
204
225
200
208
133
230
132
221
129
171
158
215
201
173
153
215
184
204
179
158
199
129
307
211
174
115
185
267
204
178
181
176
217
156
115
172
186
194
259
289
172
188
236
173
184
218
189
188
158
182
202
130
222
191
171
237
222
229
199
204
247
236
188
162
245
180
184
203
264
143
253
149
178
129
200
129
145
288
199
255
234
150
164
221
129
146
173
190
307
188
191
208
149
204
152
249
169
198
225
129
178
192
246
166
167
168
204
162
236
129
217
227
160
174
179
145
169
133
204
181
210
122
143
154
208
200
204
128
162
264
200
185
182
210
129
195
184
204
264
173
130
166
241
156
199
184
289
178
298
264
246
204
231
243
150
215
155
146
129
158
133
153
182
216
179
222
180
175
199
246
174
176
238
226
204
187
209
129
146
129
184
188
211
190
130
179
185
129
211
257
181
122
176
239
246
173
261
210
173
153
192
226
190
217
233
173
197
157
243
220
197
204
191
199
211
158
181
192
217
196
216
115
209
159
178
162
190
205
188
167
129
189
230
157
146
152
169
217
275
138
239
169
288
169
209
247
173
133
202
143
146
200
143
187
185
283
180
164
209
146
156
230
195
190
169
184
216
192
222
217
151
168
182
182
129
204
164
240
189
251
176
199
242
262
224
231
222
242
181
209
219
122
178
179
152
243
164
174
133
181
150
173
230
200
242
202
210
244
200
132
208
204
211
199
173
133
182
186
179
129
180
173
115
199
244
176
168
221
261
211
231
229
260
158
171
164
217
132
165
208
259
179
129
179
227
143
218
183
200
174
175
146
201
152
175
166
169
236
182
153
234
184
237
244
193
186
309
203
169
176
183
182
236
202
188
184
239
200
169
180
115
173
181
264
216
158
171
233
162
236
130
239
166
267
145
179
201
204
163
220
214
206
162
163
146
204
129
184
208
173
222
201
179
266
144
130
204
229
187
176
176
249
133
184
193
257
201
206
216
227
141
169
222
178
261
252
201
211
230
184
173
227
173
169
246
246
199
199
173
174
157
179
200
176
283
151
153
164
163
204
198
193
151
164
224
235
229
211
143
130
159
215
225
205
176
130
196
158
211
129
169
217
168
169
198
247
216
262
229
146
166
176
245
180
181
214
129
283
146
206
158
228
204
185
129
228
192
196
197
145
188
133
185
168
149
185
173
130
217
178
218
146
190
129
145
182
166
150
202
238
221
160
180
260
208
210
145
209
179
191
261
210
130
176
215
166
215
130
138
166
201
195
158
129
173
210
242
156
195
239
188
162
257
179
264
169
164
203
223
133
221
173
160
228
217
143
173
115
183
211
209
206
236
158
182
204
182
250
227
178
175
179
129
162
216
236
146
200
173
146
179
292
129
212
130
230
178
218
219
143
146
209
188
203
168
164
185
247
186
231
212
173
146
210
262
248
222
260
224
205
182
204
194
193
177
164
230
200
201
164
216
188
214
160
224
129
178
129
146
133
217
175
145
259
168
168
264
156
176
170
217
209
171
311
222
173
283
152
228
225
263
129
238
254
187
234
236
168
220
157
146
261
133
163
149
188
155
164
187
174
268
180
207
176
187
210
263
183
146
146
211
217
178
169
176
206
143
230
222
115
206
182
162
176
255
183
226
130
183
165
182
179
238
147
190
301
176
129
250
133
191
196
176
208
202
146
231
212
239
173
203
133
240
217
145
175
176
202
182
253
147
219
158
143
155
210
130
204
173
146
173
157
256
141
199
227
168
180
119
196
143
173
189
242
130
166
211
193
173
269
164
145
179
184
228
185
143
204
162
130
161
221
271
129
146
168
180
217
145
209
186
150
172
182
170
182
240
181
179
214
192
146
287
209
129
209
204
160
192
183
155
173
170
115
183
236
239
129
201
141
119
173
158
244
184
246
250
210
227
130
208
162
176
176
184
183
230
129
211
155
160
173
180
162
150
173
249
196
240
194
129
210
204
208
244
251
143
236
145
206
129
191
226
174
182
191
153
165
218
210
189
119
189
168
129
171
181
207
146
210
232
132
206
204
201
211
176
144
168
143
221
202
185
201
189
186
191
184
237
217
202
267
200
183
221
137
193
164
145
194
115
192
238
171
230
138
217
185
168
270
146
210
189
211
145
192
143
236
172
171
167
236
228
176
335
181
185
218
300
170
127
233
212
146
201
168
190
184
156
203
130
164
179
149
187
195
217
176
176
146
222
228
180
173
220
170
185
185
250
229
168
211
209
177
166
195
196
230
272
227
188
179
227
162
183
188
204
168
185
156
185
182
164
234
207
208
150
155
194
179
206
261
228
185
149
138
171
282
248
133
201
235
185
158
179
250
201
227
204
216
177
240
227
232
169
283
188
335
197
214
248
184
224
214
191
217
179
179
185
129
214
144
211
180
206
230
143
190
168
220
168
212
146
192
157
179
188
180
164
173
183
229
199
204
206
172
182
190
189
169
176
173
232
146
170
168
264
259
267
115
146
156
200
165
160
173
138
236
195
230
231
246
167
206
156
275
178
204
156
197
200
201
260
204
194
141
258
239
147
174
189
220
145
266
205
181
202
223
176
188
176
213
173
128
161
162
224
191
247
168
198
173
176
156
143
191
182
173
274
197
129
166
273
157
264
189
129
190
152
195
138
173
200
181
156
204
228
129
176
181
168
157
246
176
168
275
168
185
129
156
168
246
186
129
141
244
235
115
158
244
182
156
204
204
228
211
176
204
272
199
183
195
202
201
184
176
156
234
236
234
270
157
171
235
201
164
201
184
189
259
222
165
168
138
206
219
275
234
253
217
193
218
238
185
177
173
217
189
209
217
206
179
233
235
204
236
148
119
143
145
146
280
203
173
133
208
264
176
130
204
171
191
238
212
190
209
209
204
184
162
130
158
169
179
179
245
224
144
243
129
122
173
182
217
211
223
215
303
212
230
217
130
211
174
168
212
183
171
227
233
201
162
132
209
158
162
221
171
181
164
192
162
376
204
188
170
210
161
208
244
129
229
146
189
130
176
242
289
204
143
270
218
173
177
129
146
188
173
274
130
227
202
220
189
191
232
173
129
130
164
173
259
176
215
200
233
245
166
217
138
141
167
176
205
183
143
210
130
253
209
145
242
115
187
182
210
166
164
264
130
169
167
181
237
205
162
158
115
217
215
129
179
175
218
214
198
162
212
216
129
183
195
129
146
211
195
163
238
203
191
210
201
184
179
202
258
191
204
157
207
197
239
180
162
183
204
145
159
244
146
161
222
162
179
192
225
195
155
228
176
242
217
159
244
213
158
216
199
230
184
201
173
205
147
223
309
222
227
200
254
171
180
162
234
172
214
196
201
204
179
214
188
201
227
130
193
129
205
184
230
176
182
236
206
179
247
235
214
204
184
147
176
272
198
156
122
192
156
201
201
172
158
291
182
230
207
212
201
179
188
159
202
164
133
216
145
240
216
273
192
237
202
288
220
187
221
146
182
129
270
130
176
156
234
230
191
184
264
184
191
209
143
189
183
143
146
190
141
185
250
141
129
257
198
179
264
199
144
249
205
183
184
201
181
130
183
197
268
246
153
201
210
195
228
176
241
143
215
167
210
200
168
155
163
244
145
152
170
144
181
266
210
225
129
227
230
179
210
202
184
252
155
217
190
167
138
173
145
236
133
243
138
190
242
146
188
201
162
225
210
169
200
173
176
192
207
187
183
209
133
176
130
241
178
211
217
173
210
208
204
138
133
130
166
230
168
168
257
179
212
156
211
155
249
143
143
173
164
236
226
161
230
210
272
146
226
250
173
212
177
176
197
158
195
186
178
210
201
185
221
176
202
146
145
182
182
193
201
178
210
184
150
234
151
297
264
207
177
145
205
128
149
156
130
146
137
164
231
243
246
197
165
195
178
206
184
153
144
210
141
129
183
184
176
201
178
167
190
146
217
275
217
178
205
209
225
152
273
204
188
228
170
204
190
174
224
161
130
170
206
130
281
133
210
244
181
162
272
237
168
192
229
173
217
221
236
173
158
173
197
185
294
119
206
158
192
227
158
173
266
222
192
173
204
235
156
180
217
200
194
234
173
155
173
241
179
182
173
218
332
210
168
164
176
115
239
129
156
174
280
191
183
217
225
210
185
145
130
212
176
254
171
206
130
181
188
208
252
197
129
212
258
201
129
188
172
186
259
171
180
193
152
191
209
182
176
205
122
127
145
206
224
212
239
179
195
252
196
158
146
195
170
173
158
259
173
129
214
129
193
231
145
200
192
251
169
190
173
171
173
168
184
206
155
145
180
231
281
206
176
187
214
228
208
217
322
191
173
182
158
242
217
146
168
195
251
194
184
188
211
130
191
176
173
191
189
180
129
146
191
173
277
219
186
169
210
206
173
162
201
130
133
158
192
216
264
203
264
191
162
224
158
161
222
195
193
161
175
178
168
230
195
235
176
164
246
173
186
238
225
141
143
188
180
146
175
204
185
175
168
215
196
210
160
250
181
176
173
176
261
173
161
187
130
164
206
189
244
180
164
181
201
239
246
186
166
190
173
143
122
130
207
238
204
187
130
129
145
184
222
197
205
237
216
166
228
178
204
235
211
211
200
210
211
205
122
244
265
177
161
244
162
183
168
208
208
144
211
204
217
268
190
249
157
231
161
238
185
133
147
193
200
165
231
203
162
180
184
175
273
144
211
203
158
198
236
210
194
214
149
179
253
145
176
211
216
204
167
179
156
129
115
176
227
206
146
202
180
221
169
268
260
223
184
195
175
222
130
195
180
176
156
164
122
164
213
176
187
162
129
179
209
179
164
161
156
200
216
211
217
282
133
208
115
166
264
258
200
201
182
149
263
184
146
183
283
209
130
275
180
129
177
219
201
239
228
204
247
204
217
133
174
271
185
146
185
184
179
300
176
238
155
176
254
316
129
205
292
195
186
184
133
240
162
151
199
226
179
115
208
145
161
184
158
257
202
230
179
146
144
145
214
173
174
165
162
217
274
210
168
186
178
185
187
184
158
176
225
144
176
155
173
160
168
195
189
207
206
195
158
238
227
173
173
155
164
131
216
164
187
169
218
196
147
152
155
182
261
238
115
224
191
236
175
201
201
250
208
147
262
217
197
194
245
187
234
178
180
158
176
247
221
146
230
176
164
130
160
173
185
223
129
206
194
200
122
226
158
175
200
228
241
145
194
170
200
192
231
138
162
264
129
209
184
219
164
202
203
274
222
128
204
155
190
173
160
176
184
186
193
168
152
162
211
146
216
163
214
230
229
173
179
143
202
256
145
233
186
233
228
234
155
177
246
122
188
210
249
192
147
210
225
176
130
132
235
179
129
274
204
208
132
189
179
129
146
130
146
173
239
178
209
206
146
209
133
234
158
237
230
230
234
180
183
204
204
324
179
232
261
214
200
231
146
217
185
186
166
247
218
152
174
200
184
333
150
263
158
178
239
191
152
215
146
156
202
230
189
160
149
130
164
129
194
173
264
194
192
185
211
129
212
194
231
205
201
176
202
190
183
153
157
259
206
211
292
173
179
180
210
220
230
221
288
191
222
239
240
212
205
199
211
219
204
217
182
237
162
176
217
115
273
257
193
155
155
191
234
160
166
195
199
129
132
257
238
188
239
164
178
157
238
140
173
180
182
204
162
244
203
178
132
185
115
143
261
181
252
218
176
188
221
227
193
199
166
211
262
216
210
129
227
211
191
160
238
174
261
209
181
138
210
214
238
180
191
165
205
217
176
195
180
208
143
179
176
130
211
147
284
246
264
145
209
176
216
219
159
204
129
176
163
133
195
245
201
173
133
218
210
173
170
146
155
176
162
204
159
224
225
176
195
296
204
193
129
162
158
133
224
182
178
143
206
230
178
130
202
202
173
155
178
208
205
141
198
141
186
190
146
186
182
228
132
182
209
181
231
191
192
138
152
252
185
219
183
143
131
159
168
184
177
214
122
201
130
133
163
173
132
173
152
200
227
197
173
211
289
222
195
176
166
220
261
146
259
295
133
133
158
179
248
162
129
238
166
138
186
171
217
133
174
176
173
115
240
176
207
211
209
129
305
201
260
209
209
143
202
173
170
179
193
164
190
199
189
221
211
247
190
207
172
130
187
219
206
264
204
210
236
200
175
202
191
185
176
206
193
204
222
178
133
200
176
211
181
146
209
236
202
130
208
203
250
193
197
173
218
167
186
247
158
263
188
202
172
146
184
183
219
155
184
176
213
217
173
181
292
174
225
175
153
168
175
227
189
146
205
234
230
146
122
157
173
168
167
251
150
279
210
258
226
145
207
232
158
133
164
164
207
145
228
209
211
179
130
264
217
180
301
171
129
130
130
215
129
184
230
175
172
182
202
129
210
180
202
133
208
222
194
210
201
202
187
161
180
204
160
200
155
287
209
165
180
216
204
232
157
129
210
173
165
230
202
177
226
200
208
206
176
217
251
264
200
153
183
166
181
208
157
188
194
182
216
219
146
162
197
187
147
234
133
204
217
130
173
185
216
197
143
232
168
193
185
210
146
180
174
242
202
146
200
141
179
191
164
191
183
199
156
222
165
167
160
230
157
209
226
171
212
178
257
200
217
200
159
251
176
236
173
238
158
195
179
327
185
225
115
167
115
130
185
225
201
190
225
229
170
162
200
218
187
204
217
146
184
201
176
239
200
308
205
176
267
173
204
179
199
191
261
168
185
195
185
244
160
204
239
178
234
214
162
214
145
197
194
246
183
202
130
129
335
137
206
146
303
191
230
130
146
183
178
129
129
237
214
199
247
179
153
155
119
187
168
162
259
259
179
145
149
167
161
225
130
210
155
224
184
158
172
189
139
242
226
181
173
151
209
127
159
241
130
148
158
168
155
190
143
234
164
122
175
173
185
209
191
192
173
184
161
216
177
250
187
159
130
158
158
221
201
222
201
141
206
202
239
151
176
232
239
201
168
168
194
235
164
180
159
169
211
225
217
169
146
156
158
165
151
133
163
179
143
129
255
169
188
200
314
200
145
287
145
303
169
129
204
211
143
218
188
231
229
204
130
236
195
129
206
167
215
203
220
221
250
235
212
158
222
138
183
240
156
232
252
130
157
162
182
204
254
153
206
274
278
129
301
130
170
199
130
250
220
201
245
167
294
204
290
217
158
201
227
179
173
146
244
206
180
208
238
217
133
182
225
261
186
143
204
168
225
282
327
129
250
207
206
254
225
247
133
178
158
179
143
217
146
129
237
235
218
195
143
129
251
211
188
217
185
169
145
272
267
236
219
199
201
236
173
199
249
173
164
213
201
186
234
240
174
141
204
206
219
278
174
214
178
239
204
183
173
187
144
173
230
172
224
173
203
211
156
212
129
219
173
240
192
146
173
221
197
205
208
238
211
200
229
189
266
141
130
204
169
184
230
146
228
191
180
227
172
211
164
173
209
190
163
219
129
193
176
150
173
153
225
221
164
129
201
227
210
130
204
210
229
215
145
146
202
230
226
204
200
176
232
187
173
152
183
179
163
173
237
259
146
205
233
217
146
168
203
190
155
169
218
199
201
169
270
148
173
210
203
214
182
162
198
223
206
147
129
185
143
158
283
115
176
138
211
198
204
215
227
232
200
234
193
246
216
176
203
193
198
174
157
189
203
209
219
171
122
176
143
184
183
247
204
130
300
183
130
219
158
222
156
210
179
225
246
173
178
179
243
183
208
264
174
264
173
172
221
217
182
201
210
229
204
146
237
221
217
129
153
143
204
172
204
193
236
160
190
176
200
178
188
180
239
202
182
227
192
227
201
146
224
200
215
185
141
140
165
224
130
210
182
143
158
133
176
166
145
194
185
145
267
218
158
239
182
235
185
195
214
213
226
234
176
170
206
258
184
129
188
200
148
204
205
213
176
249
133
219
233
205
178
286
209
138
221
204
259
180
176
148
207
179
201
179
122
151
238
193
147
237
219
148
228
129
217
130
250
186
159
115
190
166
173
217
129
167
152
165
195
213
170
222
173
164
146
211
194
162
132
165
133
157
208
187
187
115
155
204
159
183
194
227
199
138
239
248
148
174
164
164
210
236
195
199
133
266
169
156
173
158
173
152
218
234
184
228
285
141
162
261
176
217
156
238
176
174
201
197
173
179
173
178
169
256
236
214
181
181
217
205
187
173
211
239
122
156
217
267
258
240
166
261
176
204
192
209
178
232
129
230
211
146
202
163
230
146
237
145
156
173
210
185
151
130
264
235
195
188
204
200
191
154
174
162
129
202
179
203
183
156
138
191
255
225
228
180
184
286
265
175
209
238
168
122
170
217
187
217
143
130
175
256
204
274
236
222
208
252
146
141
176
191
169
249
214
166
256
207
157
267
191
143
160
170
201
199
222
218
158
265
191
191
157
169
217
165
143
200
179
206
186
179
217
193
226
176
225
147
162
201
233
192
230
222
227
252
197
247
228
195
184
155
200
214
156
162
178
129
183
205
272
269
202
172
186
252
187
206
191
162
144
237
201
230
260
231
179
151
219
240
204
175
274
193
265
192
204
147
215
204
133
178
166
346
130
149
287
164
216
182
183
230
206
159
239
164
250
246
130
187
225
161
201
130
130
247
168
129
141
129
156
193
173
155
236
160
218
185
145
200
184
231
169
179
231
179
145
278
133
175
237
173
145
237
129
200
193
133
202
177
168
204
218
173
129
202
214
157
169
201
211
146
203
184
160
173
171
168
119
143
174
176
162
166
219
185
185
204
220
238
205
192
145
204
143
202
242
156
226
222
129
173
194
182
155
210
222
231
146
200
130
174
180
179
115
243
322
217
201
185
187
248
185
143
226
185
217
180
133
185
197
197
130
164
176
265
179
242
264
151
261
215
226
130
180
217
234
183
236
184
206
172
183
201
199
133
239
173
122
180
202
192
185
164
195
173
180
182
173
225
199
201
199
274
258
184
178
180
195
240
222
176
211
258
183
132
267
256
160
202
256
179
176
195
160
130
130
152
185
173
183
185
222
146
196
168
200
211
164
184
260
281
227
210
228
206
206
206
146
172
216
185
164
164
255
177
195
237
236
155
199
251
204
168
187
230
143
208
242
230
186
175
168
201
210
146
182
222
224
146
176
173
204
204
291
181
231
174
159
214
185
204
263
259
256
210
242
300
180
195
176
173
195
143
204
204
204
173
197
228
233
264
234
184
133
216
178
202
287
188
186
244
169
141
215
239
162
179
150
211
215
200
152
250
236
179
283
202
185
180
143
181
235
201
262
259
230
202
173
162
168
260
194
232
176
177
200
173
217
282
159
176
170
221
227
214
210
174
289
213
273
115
168
145
150
115
234
191
216
204
168
181
169
146
230
196
251
219
173
157
226
223
266
219
217
143
233
248
209
200
143
227
243
133
182
191
138
129
229
230
198
183
172
169
146
182
146
255
167
162
230
158
223
199
176
214
202
174
206
185
259
164
250
210
286
230
156
141
179
191
168
230
181
220
173
211
150
150
179
130
130
212
162
133
162
197
182
161
175
227
184
267
250
197
206
307
129
236
143
173
227
230
168
184
206
265
201
259
264
218
233
214
191
205
202
138
180
157
166
285
179
183
239
210
180
199
143
194
195
178
146
145
217
129
176
180
209
152
150
188
198
182
197
263
183
231
144
168
133
187
153
216
199
186
170
174
200
228
191
146
158
215
151
200
217
174
173
252
183
146
212
230
200
236
204
171
191
199
198
130
173
173
129
219
173
182
151
133
141
225
145
150
192
216
211
214
206
225
207
207
181
234
187
155
146
210
230
215
267
156
200
199
221
187
210
155
216
186
302
173
173
146
232
173
218
226
183
235
129
204
146
160
132
259
141
216
182
258
308
176
122
179
259
184
234
130
209
192
257
221
173
281
129
194
181
188
209
206
225
358
169
241
234
151
187
229
196
232
133
196
255
257
198
175
272
191
174
146
224
129
236
168
210
300
211
269
253
222
157
226
159
204
222
204
270
147
237
130
191
179
133
143
204
164
214
225
156
129
162
156
149
210
238
180
191
185
185
290
194
225
174
146
195
192
206
227
201
153
287
210
195
192
180
206
251
210
129
169
287
214
243
193
145
193
200
129
186
210
176
201
224
168
268
239
253
184
149
216
130
214
171
221
176
204
225
229
195
173
246
210
129
148
181
286
198
247
150
115
138
150
173
145
211
176
205
168
199
178
202
168
204
159
200
147
213
208
181
143
163
152
205
241
221
182
179
173
261
173
256
264
184
221
283
157
224
234
201
143
195
166
176
147
149
217
194
214
174
133
164
189
208
130
145
179
174
162
156
181
200
217
241
236
202
143
300
217
247
176
193
160
129
143
146
178
179
238
210
277
166
235
162
173
176
304
173
335
143
214
146
146
215
183
222
177
211
130
130
162
225
238
182
183
205
223
129
300
182
202
150
239
236
217
173
217
182
172
173
145
260
174
237
213
172
217
130
234
216
176
163
185
173
160
259
208
129
155
148
138
146
176
228
145
155
204
189
204
141
130
168
179
189
194
180
133
173
209
348
133
195
204
210
179
177
133
226
228
115
175
168
192
239
176
207
176
132
167
237
180
183
217
200
206
156
243
205
216
232
193
204
242
159
179
210
206
149
146
179
176
143
252
194
240
129
234
222
182
217
258
129
164
211
276
210
239
138
210
238
176
182
184
204
151
176
181
213
157
203
130
169
145
166
229
173
181
183
215
173
173
204
180
255
162
179
158
183
216
176
146
146
210
258
252
152
203
129
191
225
202
204
170
145
178
191
192
217
163
146
156
115
221
177
172
193
191
204
268
129
182
167
285
122
203
216
238
238
199
200
156
201
283
152
214
216
122
182
211
177
146
297
191
168
184
202
193
145
190
207
202
183
209
143
180
197
155
211
268
184
185
181
171
205
148
273
221
129
252
150
184
158
236
177
215
201
204
205
210
129
201
225
156
161
273
162
197
143
204
193
210
184
181
232
175
206
188
201
204
168
210
180
253
151
251
202
157
174
187
146
231
146
182
129
146
173
202
250
151
209
146
192
178
202
207
185
264
160
166
174
206
178
208
202
130
133
166
164
188
293
204
211
150
184
206
209
185
239
217
244
221
236
215
217
252
146
192
129
156
161
216
200
169
195
164
220
204
252
191
176
115
168
195
203
146
216
164
222
168
222
150
242
172
141
192
150
158
173
192
143
191
237
130
184
156
252
195
147
201
178
182
130
169
171
193
251
184
210
156
141
176
235
184
184
141
179
204
264
182
222
225
146
207
211
217
184
138
206
119
183
164
171
173
144
151
192
167
226
181
176
212
186
204
146
184
248
173
273
152
179
176
204
189
174
153
212
204
173
244
247
203
183
141
186
195
138
162
217
122
194
153
162
210
208
242
146
218
204
192
132
187
122
207
192
130
217
210
167
145
129
197
249
187
178
181
119
224
129
152
230
184
199
212
183
173
173
146
190
176
230
174
166
190
213
194
246
205
180
230
206
146
176
210
210
169
146
158
178
176
208
129
204
143
207
217
160
240
222
141
199
204
173
183
260
222
255
133
183
150
241
185
201
184
254
187
176
202
200
211
190
202
159
183
130
210
143
191
197
189
158
187
227
166
171
182
182
179
207
216
214
176
215
173
195
143
192
210
158
146
159
200
204
210
146
183
244
195
193
181
173
173
191
164
221
150
216
185
165
141
163
249
164
225
175
217
181
190
173
173
236
201
206
129
145
215
225
222
251
228
129
258
181
262
229
255
178
162
242
215
164
179
218
233
205
128
173
240
133
230
143
155
147
203
226
247
183
201
197
156
170
185
173
171
228
209
204
163
197
240
223
246
168
162
192
164
138
184
150
180
242
145
251
256
224
217
146
250
228
187
186
168
189
200
146
187
145
190
194
158
218
299
179
170
129
194
176
176
220
171
173
287
133
236
229
222
229
184
274
173
149
177
164
184
173
143
130
239
200
184
131
129
203
182
184
169
173
174
179
146
204
201
162
280
247
180
159
184
176
130
180
146
169
131
183
216
133
201
157
200
179
192
129
250
197
162
146
155
176
255
151
230
216
141
230
179
143
232
286
179
201
181
192
198
130
146
206
220
156
218
228
216
129
157
225
145
184
176
204
191
167
233
163
205
229
204
132
202
202
153
158
217
164
223
248
205
189
156
211
176
263
130
202
153
278
200
233
155
200
198
180
143
161
200
158
276
255
179
160
197
245
168
143
164
216
280
212
146
201
217
210
202
115
169
225
146
228
173
262
153
162
129
171
168
186
176
146
256
256
188
248
203
173
138
143
145
222
161
230
226
164
206
259
203
141
187
240
155
238
201
122
248
157
255
191
204
143
178
175
256
187
282
177
191
195
167
230
153
146
253
292
143
217
129
202
179
221
158
141
130
210
180
176
145
189
175
239
129
182
220
122
222
133
212
177
228
211
199
211
173
283
185
249
227
161
193
184
168
231
162
184
202
161
260
252
213
267
145
156
129
199
204
167
208
196
161
172
204
184
204
182
241
187
224
133
212
145
181
191
173
214
272
146
206
176
197
250
185
155
255
240
173
163
184
202
171
225
171
168
133
211
173
200
183
258
203
164
158
198
238
182
130
239
171
179
146
209
209
213
208
191
234
225
146
206
168
174
172
204
191
184
254
173
285
256
199
182
304
210
214
199
225
133
236
204
171
246
174
211
157
210
204
187
202
261
212
219
222
210
138
197
201
176
182
222
168
201
210
160
207
224
233
288
158
179
165
176
240
236
216
217
173
157
205
236
235
185
176
151
172
186
133
187
213
246
159
182
210
216
180
179
159
132
151
211
177
122
194
181
217
257
253
268
191
202
242
197
203
176
130
183
185
152
190
146
203
202
244
165
226
211
211
217
163
129
158
158
156
200
250
175
232
202
191
201
130
133
129
183
164
143
170
129
145
204
261
176
157
129
204
196
151
283
238
210
201
246
132
206
185
115
176
176
212
225
239
163
146
147
175
217
147
245
238
173
213
224
191
137
173
238
159
141
241
177
145
189
204
174
169
156
150
151
200
177
133
158
184
173
150
190
213
224
164
130
211
179
133
204
209
211
157
195
229
209
212
202
214
190
173
192
204
210
161
179
244
303
181
186
190
204
150
173
128
186
242
188
176
222
193
223
153
216
187
195
151
211
171
229
173
200
171
210
216
138
206
164
191
229
145
201
218
173
217
130
260
130
195
230
207
184
209
194
216
207
202
195
188
186
262
173
133
188
210
258
212
115
190
203
202
243
202
178
280
217
129
172
202
228
246
184
174
130
179
168
283
130
220
165
129
202
184
248
197
217
217
132
162
206
254
176
129
171
217
226
249
283
206
173
179
146
159
177
172
184
206
183
201
210
173
214
217
191
188
234
168
202
181
191
173
164
240
206
162
158
231
197
187
138
242
187
217
164
254
202
122
232
206
265
183
211
222
169
202
198
205
201
201
235
247
168
168
115
143
219
299
191
184
162
216
195
210
129
230
191
210
168
173
157
133
204
224
239
204
197
141
153
197
146
275
197
242
240
183
264
221
265
201
215
188
220
206
119
165
183
203
204
204
213
170
254
144
163
168
181
179
181
188
206
211
247
262
168
231
145
148
245
152
185
261
146
194
141
262
181
190
204
217
238
150
133
191
198
185
200
133
247
184
224
146
183
168
129
206
223
179
119
133
138
227
162
164
176
210
156
115
192
143
230
175
180
238
176
254
155
130
200
240
231
133
129
201
210
256
129
237
130
202
191
185
130
217
200
173
238
173
238
164
155
200
236
206
206
184
205
265
197
240
199
189
230
133
201
270
191
178
188
174
258
150
143
206
242
211
130
236
138
171
239
199
173
210
146
201
150
276
185
143
167
146
179
214
198
162
197
173
203
201
129
162
227
170
231
180
175
144
230
202
195
130
181
200
173
149
222
215
202
181
182
180
190
146
214
227
173
129
222
277
173
201
224
219
219
143
115
197
147
133
204
248
185
181
204
152
178
130
204
206
129
197
225
170
149
204
164
269
129
187
200
252
214
192
184
169
150
195
204
201
131
130
144
203
161
144
236
241
146
187
169
288
178
159
238
169
236
195
170
211
187
211
248
246
158
145
287
239
193
115
122
162
214
206
169
201
169
188
162
146
225
210
186
202
184
173
179
173
130
150
171
122
210
183
258
253
296
250
180
266
184
235
221
217
183
159
200
241
214
243
238
227
174
146
213
119
202
200
176
282
188
213
207
150
208
231
257
191
155
244
194
262
222
179
237
218
230
157
146
146
257
191
169
170
210
181
155
217
206
212
180
247
246
251
160
149
209
130
173
176
230
199
158
206
194
204
213
258
175
210
218
231
197
235
158
199
185
188
236
230
194
261
129
191
176
180
215
197
263
143
201
210
180
210
212
217
156
173
115
215
173
209
195
169
240
176
244
194
149
184
187
287
165
189
210
196
146
270
182
239
158
195
130
157
207
168
193
178
183
203
195
252
156
227
239
164
157
162
203
219
156
214
168
155
141
172
212
218
206
206
204
190
210
187
185
146
202
210
244
129
129
180
158
169
128
201
256
213
206
184
192
173
150
225
133
183
181
184
146
202
252
173
184
157
246
176
146
246
143
208
146
201
210
130
169
192
190
173
194
177
179
180
199
204
200
141
204
200
146
184
163
208
129
169
244
141
197
184
184
170
166
202
221
167
178
143
205
266
130
222
155
184
173
191
237
169
200
156
164
176
143
193
158
217
252
176
180
223
178
192
193
203
141
180
167
133
246
145
216
169
161
224
176
159
181
179
206
178
229
179
183
168
214
176
186
211
274
222
173
171
214
176
202
186
176
129
230
209
221
210
143
145
335
165
183
185
115
173
183
162
130
169
158
176
146
176
239
181
174
173
191
224
265
247
169
146
192
191
173
176
164
184
173
214
129
236
189
256
115
168
192
176
130
199
173
168
207
200
173
182
223
231
176
195
218
150
138
143
202
191
256
152
237
274
204
248
170
178
220
193
178
129
173
164
168
217
204
175
214
122
221
217
204
184
246
238
175
238
176
179
199
173
191
200
199
232
161
164
257
257
228
166
145
202
158
166
239
225
210
212
210
190
230
202
130
188
204
176
205
210
209
223
164
185
199
182
185
241
227
146
178
169
235
165
200
130
138
230
133
184
176
171
202
224
175
130
238
161
238
151
193
217
248
185
254
236
182
258
203
178
238
163
185
129
209
155
173
206
204
267
291
213
176
199
183
129
141
199
182
166
161
217
130
195
158
258
204
173
258
202
146
193
182
208
168
193
172
157
167
202
209
166
203
210
158
202
176
145
244
217
210
168
185
222
185
250
201
208
149
229
164
161
208
182
155
182
194
225
164
219
230
158
185
208
129
151
178
173
181
274
191
178
276
215
130
144
158
192
179
168
130
202
168
337
206
141
284
146
190
133
248
164
248
217
202
210
221
212
224
173
178
265
197
149
130
184
186
201
222
179
227
176
158
201
214
150
129
263
176
175
197
243
256
204
204
180
184
129
145
176
230
274
181
202
217
182
128
182
213
217
198
195
172
128
278
145
200
191
242
194
155
217
241
191
194
150
202
248
262
218
206
162
224
210
206
201
201
190
184
217
230
182
231
299
172
201
218
252
206
227
218
215
158
191
178
166
185
168
157
200
211
183
199
162
168
168
158
207
200
265
155
189
215
204
173
202
122
167
263
173
143
115
264
234
187
251
128
261
192
214
195
203
150
174
168
187
217
184
208
335
180
210
202
224
218
173
169
196
199
162
217
199
168
130
169
128
145
134
234
169
246
170
181
170
225
145
137
173
145
129
211
190
204
129
236
201
170
160
130
206
218
239
199
169
200
176
217
170
200
161
205
226
183
145
210
214
210
147
129
206
173
195
282
155
260
180
202
252
173
256
204
206
194
168
168
209
183
274
200
219
173
196
130
129
115
211
193
208
258
205
218
219
133
242
149
173
156
184
180
129
149
143
217
164
242
198
225
168
204
185
202
176
217
180
179
228
261
160
202
158
146
201
291
257
172
210
171
204
286
210
146
251
210
178
129
185
179
133
261
187
145
222
222
130
215
283
176
190
287
244
155
254
200
201
255
201
209
199
171
150
258
212
231
217
150
129
122
235
223
204
191
194
184
213
258
176
172
230
175
195
230
168
176
179
180
173
129
263
259
199
200
143
222
240
202
160
192
146
133
227
264
166
205
213
145
211
199
232
248
162
179
187
237
204
256
217
213
230
210
236
202
213
178
200
130
221
192
158
239
238
182
203
265
226
300
195
129
156
188
275
263
212
163
230
130
147
164
133
238
205
168
264
132
211
221
204
186
242
164
143
161
229
151
266
204
173
152
163
180
182
358
122
176
185
256
158
212
184
174
209
161
168
192
225
161
146
193
230
235
229
217
197
264
191
219
209
171
230
244
221
281
158
193
141
190
169
196
162
168
200
173
276
155
176
146
129
274
219
175
205
133
184
285
182
206
232
171
208
172
143
183
201
158
211
262
175
196
192
162
235
166
211
248
163
235
202
133
227
181
146
239
210
176
212
178
183
231
266
162
236
204
188
210
162
199
275
232
137
223
200
179
115
231
179
219
256
217
198
202
211
177
186
173
217
264
199
146
145
221
122
255
158
129
193
215
216
197
210
260
129
183
215
213
206
224
227
152
177
141
130
213
217
235
172
184
152
141
204
164
115
214
172
179
173
195
160
231
236
164
258
164
212
176
211
144
242
179
325
129
176
128
242
222
204
144
259
219
184
217
194
200
207
169
188
179
211
200
189
236
208
192
208
161
176
199
169
226
171
180
201
218
173
204
162
184
210
199
173
224
296
182
176
207
207
193
176
197
176
203
299
146
224
184
252
259
264
273
208
129
115
176
277
349
204
231
204
198
132
133
187
250
162
130
146
176
186
214
146
198
193
130
168
204
157
204
271
133
173
191
335
231
234
199
222
252
230
170
193
183
169
184
202
180
231
188
179
145
190
180
128
258
191
198
150
130
249
166
283
149
229
191
143
212
261
206
250
199
168
211
145
130
200
150
155
145
191
172
150
172
176
181
173
176
195
262
220
150
249
203
162
225
184
162
185
231
133
238
133
230
173
218
209
115
176
176
145
179
233
173
238
115
209
202
162
221
166
180
183
178
229
217
190
146
242
169
242
281
197
150
166
168
188
231
145
160
259
210
165
146
198
224
155
173
178
130
192
168
225
153
186
178
205
206
174
210
264
130
168
193
191
181
227
269
179
250
184
204
207
237
143
186
194
195
176
302
179
204
227
202
144
223
133
182
217
169
156
200
240
146
173
171
230
233
187
143
238
202
200
183
130
161
233
155
210
227
218
191
197
200
169
236
239
213
168
271
227
200
194
248
184
300
186
234
143
210
173
198
239
184
271
180
130
130
210
166
210
283
201
133
244
152
229
173
210
195
183
147
259
119
192
173
178
239
181
146
248
200
261
178
224
201
161
275
201
184
129
211
179
176
130
202
144
210
191
210
204
187
192
141
162
162
129
187
230
272
152
138
228
130
194
176
146
173
229
181
146
256
167
184
232
316
210
130
235
204
195
119
182
204
178
157
156
263
127
155
172
239
150
198
173
220
160
191
206
230
183
181
179
130
238
221
202
252
176
188
170
179
198
189
216
162
130
130
174
250
185
176
230
169
174
270
158
130
214
221
150
146
185
274
239
168
203
191
249
143
256
184
260
186
222
283
206
129
184
159
257
186
185
201
166
186
152
242
150
226
185
226
213
203
235
129
204
191
133
147
231
200
212
172
195
237
158
207
130
143
195
146
133
184
204
130
178
236
210
165
287
191
222
210
349
145
206
127
133
183
179
225
187
201
218
176
141
228
249
247
233
138
236
204
173
194
179
227
208
228
197
209
205
180
164
250
252
254
203
196
132
179
198
222
179
149
130
210
210
158
179
130
282
133
177
208
130
158
158
210
222
184
262
188
156
167
203
156
198
183
204
230
173
207
204
201
164
173
146
210
146
164
129
190
182
193
200
202
221
176
231
237
181
222
149
133
176
182
182
211
191
227
215
164
213
239
176
133
130
158
240
228
230
155
239
234
261
162
175
210
202
183
210
115
160
204
216
276
129
268
178
146
335
266
160
133
143
169
240
241
230
191
173
246
203
179
168
239
194
146
227
115
210
168
173
202
184
204
178
159
146
256
191
261
228
215
129
145
180
272
141
147
230
175
179
176
146
183
241
129
165
237
260
225
156
201
200
227
166
179
194
193
213
158
209
236
201
130
275
221
188
179
130
180
204
143
115
198
184
232
264
204
210
247
178
145
119
130
192
173
183
212
214
236
169
264
190
129
240
238
210
202
164
253
210
133
171
130
200
201
168
202
186
207
159
227
229
222
168
183
129
210
205
188
231
196
201
186
176
244
129
176
177
182
155
208
181
269
210
286
201
178
174
173
204
148
146
183
130
155
176
171
188
230
161
164
168
207
202
199
164
268
232
217
164
129
185
201
246
186
146
250
176
188
156
160
210
217
204
256
182
272
201
201
230
176
197
151
206
224
274
247
300
161
122
130
184
164
223
209
173
176
170
164
204
231
227
179
166
133
221
182
200
172
268
179
167
173
217
239
166
260
194
200
191
209
271
152
239
146
212
217
184
217
264
217
191
206
189
211
131
187
251
205
200
196
201
115
213
146
206
229
177
264
129
130
238
173
180
223
146
210
115
305
179
164
210
158
144
221
236
231
176
228
182
129
155
197
259
244
205
216
181
143
191
158
164
201
149
185
227
158
213
194
233
176
146
146
122
130
222
168
180
130
261
251
201
177
184
179
130
233
182
145
238
194
209
130
169
174
202
146
175
171
175
164
236
141
129
184
178
247
233
141
182
143
201
203
146
217
185
185
164
225
179
149
238
191
222
167
153
198
167
247
155
176
156
173
173
189
201
258
178
235
205
205
184
186
168
180
173
179
162
182
151
188
156
150
130
146
146
212
204
200
272
190
197
192
182
195
202
256
193
176
247
145
130
184
173
184
170
200
217
225
236
129
286
178
206
216
184
256
222
214
246
181
165
183
217
274
321
210
193
231
179
221
155
156
221
149
158
258
176
255
170
199
272
179
129
202
234
214
191
194
217
189
192
169
233
164
176
236
170
141
157
115
130
186
145
173
173
225
204
156
210
201
217
129
203
173
267
240
157
191
167
283
240
226
133
228
211
155
218
219
195
294
158
172
172
229
164
232
129
146
199
168
198
200
172
207
173
147
214
227
210
216
238
258
146
223
169
160
272
197
201
204
274
179
168
239
173
168
130
133
222
133
206
160
146
176
146
201
204
145
122
191
164
237
184
224
202
178
220
226
239
170
217
174
174
179
174
214
189
143
168
145
199
178
178
176
193
145
235
130
254
246
166
217
129
287
200
169
178
275
173
204
195
231
168
187
162
206
173
157
217
173
166
166
186
212
228
179
182
206
133
171
168
180
229
202
174
287
155
207
179
192
182
169
199
180
244
238
160
190
217
130
227
129
130
168
162
271
168
231
173
205
164
222
203
247
217
203
173
145
210
155
176
185
174
146
173
209
129
264
185
187
210
166
181
182
155
146
202
146
164
281
176
230
176
143
164
214
173
185
129
171
186
228
204
240
179
156
133
115
222
194
211
129
278
259
200
130
216
161
225
217
221
267
241
245
313
130
206
145
176
204
188
173
217
160
214
128
234
162
173
133
143
129
162
222
197
204
129
211
176
189
179
168
204
173
204
207
186
221
227
231
211
214
240
128
148
249
129
176
229
162
195
129
272
236
210
187
150
210
183
265
178
192
221
173
130
146
195
206
201
246
179
182
155
225
192
173
191
170
274
226
182
230
288
205
188
216
222
189
185
236
176
222
300
204
242
200
143
224
176
187
234
173
157
213
225
115
158
169
182
177
204
191
273
256
164
191
213
195
173
246
282
251
210
210
261
188
198
168
129
157
217
193
230
261
202
181
172
218
201
158
184
204
157
162
173
143
189
182
200
187
198
206
179
167
165
179
249
176
168
185
168
214
129
149
199
200
151
205
179
212
129
168
149
193
228
167
155
178
158
224
238
242
195
206
210
145
146
233
185
183
176
211
241
213
130
146
187
195
194
119
240
172
165
215
211
202
195
206
209
164
180
173
163
217
251
179
170
224
173
182
160
168
238
256
245
213
195
251
152
122
202
188
253
129
156
234
265
145
210
155
165
247
270
193
229
176
129
209
185
195
150
130
234
176
252
295
191
308
133
200
224
153
143
161
191
227
191
147
237
184
198
200
171
207
210
138
204
233
207
214
221
224
217
246
227
184
158
162
291
212
235
183
210
115
129
288
195
184
156
239
138
202
199
214
221
239
237
254
180
183
173
146
206
260
202
168
164
222
129
145
238
335
186
191
193
129
222
211
252
168
192
138
129
188
129
209
153
176
185
202
168
189
185
115
219
173
146
183
226
152
192
174
166
173
200
251
200
184
209
195
129
173
227
150
195
225
143
225
200
193
199
166
150
278
217
210
179
213
175
227
145
186
185
186
178
133
228
229
201
190
185
178
209
156
191
185
189
224
200
162
169
206
172
184
202
129
189
174
166
205
211
191
191
191
180
186
231
197
182
229
172
173
216
201
247
191
145
170
217
215
179
206
122
255
252
176
185
210
199
204
232
145
222
166
255
189
173
171
168
181
176
211
184
195
228
164
149
166
176
192
155
180
184
131
209
303
151
204
119
146
201
205
179
259
300
228
166
255
130
219
197
211
201
176
171
206
266
174
207
211
204
169
269
240
179
210
182
189
204
143
157
163
211
200
257
150
173
173
204
184
188
174
204
129
182
205
161
254
141
232
229
196
217
184
193
210
258
174
122
184
283
215
210
201
204
162
228
217
191
129
130
184
225
161
228
347
200
138
149
177
210
152
261
258
230
199
192
203
226
182
168
143
182
239
222
157
129
145
158
183
237
207
173
279
173
172
184
165
201
272
146
218
188
189
281
188
168
216
211
264
168
170
217
205
146
167
176
183
158
184
226
169
122
243
180
130
200
210
204
180
204
195
215
267
166
209
192
222
200
184
212
187
242
146
204
192
145
129
193
182
190
189
162
157
177
244
189
239
227
182
166
179
217
221
164
237
155
227
200
155
204
185
182
200
228
200
226
186
224
190
210
189
167
169
130
277
166
220
129
227
252
182
156
209
206
168
115
200
204
230
222
129
156
204
164
214
307
211
154
155
217
207
191
208
115
231
155
206
274
184
191
321
160
173
194
217
130
244
176
227
184
161
156
183
251
239
229
247
211
179
168
183
160
158
203
158
129
146
193
229
199
143
260
149
178
153
151
156
184
223
220
164
182
242
152
231
248
129
237
174
182
130
146
188
229
199
150
162
179
219
173
148
185
143
242
222
149
167
146
162
145
216
176
238
274
258
133
210
157
219
232
201
210
182
225
217
183
213
187
211
202
189
181
263
201
174
210
213
173
172
133
188
204
261
182
204
213
130
160
210
190
279
215
176
173
173
210
202
143
130
191
129
197
182
175
222
149
227
195
115
222
152
240
176
210
176
200
212
191
185
194
206
165
208
267
222
222
201
161
210
201
238
186
254
157
160
286
130
172
157
239
203
226
243
145
222
188
230
272
205
269
181
173
180
210
166
195
225
203
191
173
195
194
129
207
237
167
187
229
169
176
204
184
222
146
179
291
221
232
173
146
173
184
169
160
176
182
221
239
165
169
173
281
162
266
205
216
202
233
214
200
173
183
214
210
155
187
254
230
139
197
245
155
174
175
152
211
264
168
253
198
210
188
180
192
176
162
206
309
238
176
202
164
210
230
233
170
184
129
185
173
230
217
240
239
185
146
162
227
167
200
127
115
146
242
232
129
225
184
149
156
216
190
189
158
174
174
197
168
243
229
238
130
209
159
199
168
202
158
178
198
180
258
129
169
204
181
204
206
218
130
130
150
209
177
201
199
228
217
157
206
162
230
179
237
180
199
130
181
202
141
225
229
150
176
130
141
130
175
180
199
247
203
166
187
173
169
204
238
132
175
241
156
201
213
202
182
185
175
205
182
184
143
242
201
175
239
204
211
146
245
176
130
129
178
265
211
231
176
207
185
168
192
201
210
115
186
233
176
145
194
229
201
165
213
216
171
195
145
147
236
203
201
235
206
171
167
210
133
210
128
146
115
184
216
129
145
183
200
240
175
228
176
300
214
186
133
151
187
215
169
180
155
141
228
228
206
183
143
182
174
178
151
166
223
190
176
203
129
197
182
211
145
178
208
260
166
200
237
208
244
220
146
162
229
224
253
236
146
243
264
160
235
239
168
168
130
176
177
207
146
130
299
160
240
217
189
173
156
152
129
219
251
281
217
223
166
188
171
228
119
147
199
188
188
162
200
176
193
179
205
176
207
214
180
246
246
210
259
183
119
198
115
248
130
220
190
195
289
225
129
274
205
216
221
146
251
276
179
173
169
200
182
229
213
210
275
190
202
200
169
155
206
203
217
183
202
191
180
211
211
173
204
231
171
193
184
255
246
205
270
180
201
210
227
261
207
184
206
187
153
133
216
254
150
168
236
143
218
230
130
188
173
176
187
131
204
202
193
247
144
222
187
202
204
146
132
179
169
129
143
202
143
188
169
176
146
248
179
152
158
162
204
129
170
211
225
181
199
184
202
267
222
171
249
147
203
185
260
115
201
234
133
219
141
245
129
185
164
162
156
208
276
176
238
231
128
174
185
211
186
222
140
164
221
133
247
176
214
156
180
176
191
214
232
270
174
184
190
239
190
189
195
176
206
208
269
122
133
171
225
143
215
242
238
160
189
225
260
166
206
165
207
179
191
115
235
184
176
184
173
166
217
231
233
210
133
162
146
193
168
197
256
176
321
164
184
173
188
133
225
211
220
221
190
204
180
211
184
204
193
185
255
277
271
235
185
166
204
153
182
190
143
182
210
206
252
225
129
195
215
234
203
237
182
176
150
167
211
130
264
204
133
193
172
222
247
155
193
115
209
211
216
200
171
210
204
287
192
143
204
146
129
129
176
207
240
151
176
218
146
226
183
209
217
168
156
221
214
145
162
230
176
228
210
155
237
129
211
204
155
230
173
177
264
141
216
216
228
224
179
184
115
150
145
162
213
150
143
164
143
172
166
210
204
129
159
145
234
131
202
147
178
130
150
168
174
173
189
178
115
191
250
178
201
146
155
166
204
252
191
263
155
171
146
209
178
227
188
222
176
143
225
216
206
122
171
210
173
129
158
208
198
150
176
190
185
138
192
174
181
219
248
146
191
266
200
129
217
139
217
335
250
173
210
208
146
202
195
163
155
217
238
226
206
272
143
173
210
188
158
205
235
213
158
122
252
145
203
160
141
217
155
235
177
180
175
226
284
166
217
179
236
143
150
162
199
162
234
133
129
210
145
199
168
173
129
211
177
149
174
200
205
178
252
239
185
115
215
222
164
130
130
221
237
183
163
146
210
176
145
184
211
265
227
203
258
194
162
178
176
261
215
141
202
214
296
201
204
165
184
175
206
164
203
204
177
226
204
133
193
205
210
157
210
248
130
230
210
160
210
211
178
201
129
210
162
211
230
209
205
195
200
132
164
130
173
164
238
139
204
115
161
179
173
176
247
130
133
153
195
175
261
201
203
208
158
176
128
198
189
173
205
143
204
230
202
216
217
133
164
202
173
178
254
115
181
211
247
229
204
132
173
214
179
169
227
205
129
252
241
200
242
246
229
176
236
153
232
180
155
156
173
212
235
204
212
168
129
205
183
254
210
210
200
211
173
245
162
185
204
210
147
173
230
138
244
179
162
155
145
208
198
197
231
176
238
221
190
341
176
215
211
191
168
176
172
172
173
174
180
184
141
213
204
133
229
166
167
179
212
187
192
211
174
159
218
186
204
129
184
178
176
182
201
161
229
254
211
219
168
206
224
173
210
211
155
192
176
184
181
129
150
190
129
172
206
168
145
208
211
179
169
198
143
146
130
122
169
191
205
235
201
215
216
158
130
162
182
221
156
243
204
210
146
174
138
189
181
209
129
187
215
130
174
180
173
250
200
216
133
211
195
146
238
218
206
176
226
145
182
165
294
176
167
146
168
129
173
175
164
200
129
178
201
168
190
258
189
209
146
200
161
119
162
194
188
190
130
261
155
162
239
155
207
202
206
146
164
185
230
263
217
197
236
222
150
201
202
141
201
230
192
206
187
161
174
146
234
143
122
212
237
244
206
176
146
130
254
176
195
230
166
183
232
264
199
204
173
174
168
177
145
204
248
220
130
184
245
211
152
202
270
152
182
211
267
146
178
231
182
208
182
204
180
230
185
173
233
194
173
161
188
239
184
133
172
143
207
173
130
204
164
233
181
180
146
129
197
149
158
228
184
146
195
200
185
210
217
160
161
158
236
146
129
164
238
175
230
185
210
173
215
229
180
171
146
202
149
230
216
205
129
146
145
236
186
272
228
211
145
273
297
231
162
206
169
182
179
205
199
206
182
194
210
296
164
199
211
182
164
115
156
178
182
192
176
146
184
184
179
162
115
173
173
145
122
192
230
155
199
204
255
203
230
166
182
129
176
143
191
182
198
169
189
201
173
239
217
145
179
201
200
210
188
216
182
206
190
213
205
166
275
264
211
204
205
204
244
225
186
186
166
169
207
115
192
264
261
234
207
156
237
217
252
253
256
219
157
146
242
230
189
191
307
257
146
246
232
177
236
257
187
129
217
298
159
171
145
236
179
216
195
164
145
268
260
173
145
163
128
184
143
210
161
236
146
179
201
230
141
186
201
235
146
234
212
239
157
184
162
173
222
184
176
190
240
202
285
217
237
211
191
146
173
190
178
133
173
178
171
217
192
211
166
192
237
129
129
182
198
217
176
189
115
204
239
129
176
143
288
217
200
195
133
171
130
214
168
158
176
225
164
247
204
183
206
176
202
145
164
129
176
231
161
146
171
176
149
184
206
164
184
322
194
145
221
208
201
239
210
145
173
212
204
138
178
158
173
167
183
237
129
180
200
153
205
263
159
146
145
176
232
246
206
224
210
133
204
214
176
155
193
146
160
193
210
200
200
260
148
132
146
188
258
203
146
146
225
194
133
259
230
176
261
203
154
172
143
156
155
185
212
219
206
268
242
217
194
203
224
202
201
210
156
232
178
193
216
173
150
129
164
209
216
173
219
156
188
244
258
182
130
202
217
183
250
185
172
184
220
230
264
191
189
182
176
212
187
210
256
217
145
259
227
160
270
166
249
146
236
204
202
235
173
177
200
189
180
171
176
175
176
208
231
210
138
190
199
210
130
189
176
211
190
186
143
160
229
192
260
236
217
138
143
143
151
129
157
192
270
184
164
204
173
159
190
253
178
133
155
164
176
222
181
159
158
168
208
179
231
243
217
176
170
195
330
180
181
237
202
247
255
226
169
147
198
187
145
236
197
239
251
218
194
180
215
213
178
262
143
153
173
206
202
146
187
178
173
180
253
145
200
198
205
173
237
161
133
230
132
143
189
209
168
214
158
179
269
194
133
164
183
210
129
191
248
183
158
211
161
179
192
182
289
230
204
236
146
181
208
183
193
236
129
274
173
147
188
169
210
211
194
149
165
188
173
149
129
173
207
186
180
156
203
244
258
295
239
219
147
158
184
217
130
180
179
235
230
172
210
143
169
146
143
176
205
176
186
171
144
189
225
210
145
141
207
211
133
185
187
191
208
255
230
164
205
200
145
201
206
213
201
231
145
168
129
145
143
168
250
130
204
164
173
173
206
238
130
179
227
129
297
201
173
138
181
158
141
195
194
219
256
210
184
166
183
240
214
184
152
158
165
221
162
130
201
162
156
169
176
186
228
205
228
204
176
173
194
202
204
138
255
304
184
208
240
129
204
230
130
170
138
115
129
129
236
161
212
229
246
183
216
130
130
129
200
146
234
150
217
130
208
196
197
210
183
210
295
219
254
300
211
259
205
248
229
216
184
215
172
254
236
183
187
164
173
170
173
243
170
256
129
181
202
204
168
145
130
204
180
262
179
186
115
221
210
239
239
216
146
173
179
183
217
206
201
115
167
177
146
266
130
138
184
167
233
184
168
183
177
162
150
174
230
290
133
156
189
166
185
198
261
129
132
185
233
210
217
144
219
204
219
128
129
244
188
149
248
247
224
262
210
258
227
176
169
169
175
183
167
209
195
162
202
187
252
237
155
197
164
162
202
162
229
202
129
141
133
202
211
225
145
165
185
194
234
133
277
168
180
235
300
204
234
211
130
207
148
202
234
234
184
192
182
174
210
180
182
201
174
179
204
202
210
264
189
157
228
251
211
157
179
148
236
185
216
130
247
216
185
183
143
210
203
133
251
158
200
175
190
176
164
195
188
261
239
166
236
208
204
212
205
210
200
129
173
199
229
236
153
130
202
180
208
214
311
210
180
184
186
128
173
256
158
171
214
181
190
157
225
164
221
178
147
222
130
282
294
204
221
263
173
174
252
210
130
283
164
173
158
172
211
204
143
166
130
195
176
175
227
115
201
230
182
214
122
179
204
221
184
270
214
211
186
211
218
176
257
221
252
150
173
145
174
232
236
201
246
185
224
178
141
211
192
185
191
262
218
133
146
173
162
158
115
174
156
204
204
115
184
183
222
201
236
133
174
146
230
251
194
171
162
171
210
247
184
194
180
309
191
207
224
164
183
129
201
171
149
205
199
115
212
216
201
141
240
194
192
238
186
231
236
160
238
162
179
183
215
180
161
212
210
253
207
225
179
201
160
147
208
146
238
175
171
264
239
204
156
173
207
122
143
281
180
256
157
234
251
130
223
201
176
130
216
229
132
215
192
241
222
184
218
183
164
164
210
146
220
176
206
158
160
287
261
146
160
236
180
145
182
231
181
130
164
238
164
186
133
191
222
153
217
129
222
115
258
249
162
178
133
130
130
185
185
252
257
214
180
223
149
173
171
115
164
153
253
209
133
186
217
233
230
184
173
129
210
130
168
174
178
130
221
234
222
247
200
208
176
156
209
176
235
272
182
225
130
224
242
168
215
184
166
182
162
166
196
177
158
214
143
161
184
200
145
195
151
158
138
187
168
204
204
133
238
129
130
208
176
202
192
173
188
202
145
186
163
141
168
176
232
222
175
257
145
139
130
192
155
295
266
204
161
230
143
129
265
201
133
179
272
130
237
226
245
174
218
199
182
129
282
177
141
214
209
159
130
183
239
247
203
204
156
217
183
146
155
129
206
234
237
205
180
146
174
183
255
129
168
238
132
214
129
173
185
128
230
174
146
191
207
171
164
129
214
211
210
164
187
185
166
182
186
211
209
203
264
202
200
211
164
150
145
171
164
168
204
198
201
175
203
230
243
282
300
141
168
193
176
153
122
242
204
259
214
115
188
165
217
248
217
146
173
281
169
157
247
208
146
217
194
178
145
216
242
183
143
171
208
191
173
217
218
213
204
206
203
230
335
191
130
166
115
164
164
130
217
202
239
225
181
204
182
168
217
200
178
268
184
160
146
211
208
209
182
146
228
217
244
143
130
115
184
172
194
214
165
204
256
173
168
193
204
130
149
168
246
152
187
247
173
214
188
201
214
168
253
130
236
189
246
221
168
226
295
145
243
253
115
160
202
188
179
225
230
237
173
210
174
191
236
184
184
156
164
130
162
218
138
214
230
210
214
130
176
283
115
210
223
200
180
221
202
274
208
192
146
189
228
171
177
194
258
151
185
210
141
176
200
129
192
176
179
173
176
219
202
215
206
225
209
186
211
162
159
222
129
130
247
156
203
202
166
145
202
185
197
217
237
170
155
188
141
129
226
205
236
222
197
153
158
188
128
173
209
191
203
225
147
129
181
217
261
250
150
224
206
173
201
171
222
173
266
186
184
186
204
129
193
153
192
210
157
207
258
210
129
190
187
225
231
182
185
153
226
180
252
130
161
190
214
239
180
168
238
246
182
157
162
184
189
179
179
115
271
146
175
179
153
183
170
181
210
227
156
244
157
173
141
115
178
157
152
195
143
176
150
168
161
250
225
193
122
146
193
202
240
227
274
146
214
162
214
162
146
242
165
212
211
273
129
222
209
230
182
163
173
258
256
130
211
247
182
239
169
237
218
130
178
217
173
192
200
235
204
204
176
129
258
166
234
201
214
192
229
185
219
261
242
205
216
241
230
171
143
215
318
188
162
264
129
244
185
197
217
159
155
194
219
143
185
130
145
160
203
271
141
173
254
205
214
180
146
185
155
157
238
129
228
214
173
165
213
193
236
187
187
182
246
247
216
174
244
175
145
164
199
146
204
240
226
155
180
204
190
208
204
252
202
201
201
261
269
321
168
197
204
186
258
218
261
183
214
238
129
179
146
200
203
174
183
191
157
288
220
129
200
130
236
173
260
177
236
201
173
179
200
210
238
180
335
133
177
141
219
210
225
128
152
143
144
130
132
182
317
195
193
199
145
130
173
256
130
239
184
221
200
179
184
173
185
256
182
264
147
133
216
220
191
169
207
133
153
188
132
171
174
149
164
210
187
165
234
178
145
211
200
258
143
185
207
217
160
158
133
188
161
167
194
200
174
201
212
212
204
211
214
149
222
225
202
183
176
193
231
205
199
335
198
156
129
234
173
168
166
173
187
227
179
214
189
201
257
161
204
255
179
172
230
229
230
130
162
168
167
217
115
237
204
188
173
187
168
283
122
169
202
161
153
188
173
230
208
182
171
173
211
231
192
204
184
160
146
230
246
202
198
248
157
188
227
204
172
200
200
230
230
225
200
226
217
201
181
173
180
241
239
144
217
173
168
157
163
133
179
204
204
210
202
180
198
133
198
162
210
130
145
176
235
157
133
115
238
224
202
176
210
158
174
203
189
146
247
247
179
158
179
200
202
201
209
198
133
144
194
173
157
213
193
158
130
232
211
176
143
243
266
223
246
229
238
243
115
200
143
159
169
274
193
243
152
219
222
192
156
182
182
156
191
188
155
218
213
256
179
168
151
206
208
238
201
174
210
179
201
228
228
213
227
258
170
189
261
180
179
258
253
217
213
211
179
182
185
230
199
146
171
204
210
168
130
204
185
195
230
211
183
190
163
162
214
129
206
199
225
122
210
168
194
176
204
174
217
179
161
244
238
187
233
212
173
178
132
187
219
176
146
246
187
225
169
242
159
138
236
129
183
272
141
228
173
176
177
146
206
198
173
146
197
200
189
188
173
188
130
182
200
179
191
180
198
143
277
176
171
217
152
189
218
204
206
285
179
243
230
210
189
214
179
173
183
163
187
130
174
160
183
168
130
209
195
252
257
214
236
153
197
141
155
177
202
169
270
217
129
236
164
176
155
235
214
231
176
129
215
235
292
176
159
242
237
162
192
128
182
168
178
209
176
138
182
143
203
152
209
176
159
201
213
160
202
226
176
146
259
184
230
180
217
160
133
189
183
209
152
204
209
235
254
206
238
182
176
162
279
264
129
214
157
192
179
201
210
244
203
204
186
183
204
146
214
210
122
157
210
195
210
192
184
211
232
164
204
129
230
236
144
238
266
209
183
164
211
157
199
161
180
160
183
209
278
172
215
202
162
191
203
191
193
191
146
161
199
217
189
133
210
158
173
200
278
180
227
195
161
217
288
236
224
182
201
155
168
208
177
184
278
168
199
191
255
187
171
171
214
130
260
210
217
199
208
182
200
164
129
210
265
210
176
145
206
248
214
115
210
173
128
179
239
173
158
189
194
184
211
254
164
129
167
175
145
223
186
130
130
210
129
180
217
133
150
188
156
173
199
204
203
163
261
141
225
200
197
185
161
233
256
188
115
236
174
195
273
198
188
221
193
172
129
182
160
210
214
217
208
175
183
254
272
239
195
279
189
129
129
200
193
129
130
115
207
171
173
178
215
204
220
217
171
219
256
157
237
268
200
162
192
180
262
171
194
129
158
267
259
130
168
188
146
205
182
238
209
206
214
251
168
129
164
242
180
181
185
218
169
210
204
146
173
176
204
215
138
179
206
166
186
168
238
162
160
182
199
215
243
138
176
166
183
203
200
146
173
130
173
143
156
204
191
158
353
205
146
176
180
206
149
193
160
153
172
221
173
189
186
206
191
204
200
129
206
253
258
130
200
219
146
211
129
163
144
210
187
188
287
177
162
187
184
133
176
188
173
183
183
203
227
187
209
211
174
184
151
191
210
195
129
173
191
225
197
176
261
304
181
218
133
189
190
172
222
210
247
164
232
182
210
176
129
255
133
205
208
235
185
164
218
146
173
200
170
230
233
201
231
238
234
176
214
197
217
186
265
199
243
138
201
164
238
133
146
271
153
176
146
146
191
208
247
255
191
182
211
194
199
202
236
173
206
214
193
169
217
217
145
228
215
173
132
236
252
194
170
182
211
211
224
216
195
173
181
211
201
244
138
196
184
191
128
208
215
150
200
209
205
231
184
229
198
143
191
206
204
204
191
246
132
315
171
223
130
195
176
213
191
183
179
137
209
177
130
200
173
256
169
187
214
227
162
208
177
168
171
180
227
184
168
191
173
130
161
179
164
176
195
200
209
146
129
182
194
202
187
335
141
173
143
141
246
172
181
186
211
179
191
146
129
180
304
193
176
184
190
146
150
146
265
229
283
184
200
235
129
210
218
195
193
211
181
184
161
145
227
240
216
141
226
185
203
178
192
251
179
182
408
192
170
251
172
227
176
239
155
210
155
160
265
222
222
225
212
210
182
197
191
188
173
218
185
128
129
209
183
180
218
162
179
194
190
204
194
189
273
268
130
210
158
115
203
241
239
129
199
176
234
184
234
210
219
156
172
247
150
150
161
146
275
193
189
166
227
210
162
261
184
261
227
195
301
238
211
222
221
256
182
207
204
222
237
209
244
199
204
130
176
238
202
146
183
213
188
264
160
211
155
221
215
164
150
176
141
315
217
146
150
148
224
266
193
145
214
254
253
210
200
175
150
230
233
165
225
204
215
188
259
210
174
212
141
201
263
207
204
129
168
189
202
239
195
179
193
201
176
275
141
232
158
290
240
214
173
145
214
176
143
204
200
230
185
161
205
164
189
200
201
174
179
129
182
156
189
238
255
146
150
174
145
182
130
200
184
171
270
176
222
176
246
206
145
176
190
225
146
169
227
212
129
216
277
207
115
196
165
174
146
173
206
129
115
164
178
161
146
157
210
185
183
176
277
207
168
158
185
184
176
276
201
248
227
192
170
185
162
129
227
183
172
181
179
222
204
184
143
235
168
162
201
179
173
201
156
244
201
156
210
180
184
193
160
184
176
177
183
158
201
202
200
250
183
156
204
218
173
162
216
175
192
158
231
236
162
130
198
216
221
179
192
230
211
173
210
132
137
229
182
228
219
237
210
204
210
162
252
129
226
172
201
235
210
210
209
145
184
178
162
129
246
160
161
191
155
141
164
182
182
115
174
170
160
158
146
172
191
210
218
270
182
146
115
141
238
122
200
202
245
156
207
156
188
225
141
200
187
182
188
212
129
194
199
190
185
183
168
247
160
200
158
151
207
201
156
216
129
279
216
192
201
211
133
146
161
276
224
202
221
221
276
146
230
230
193
210
197
152
205
119
198
162
164
129
240
165
214
178
130
181
176
183
222
193
185
236
173
155
214
130
152
185
130
172
195
150
191
202
211
258
231
261
133
207
204
218
238
238
183
150
244
150
216
189
173
200
160
193
141
185
145
158
173
115
129
146
143
184
210
129
217
191
129
202
227
182
211
173
176
129
129
173
216
202
217
164
115
176
196
259
204
228
189
254
184
236
149
145
225
162
184
158
288
188
202
238
188
209
201
158
202
159
228
195
169
231
211
217
166
169
129
146
225
142
184
194
214
243
129
180
156
171
176
247
210
228
247
244
172
145
194
204
130
205
204
168
214
133
141
212
227
214
211
264
198
164
146
168
122
145
129
143
130
203
227
129
183
222
182
189
157
159
179
244
225
189
132
195
176
227
122
225
162
156
193
189
174
240
185
188
169
214
263
173
143
122
129
208
173
129
286
192
150
143
115
130
204
190
212
142
201
285
260
176
181
162
115
181
203
223
176
156
212
221
184
129
202
191
230
190
176
244
203
173
146
217
168
202
182
201
221
180
246
169
242
256
210
191
211
129
203
146
193
176
228
173
219
239
204
167
195
186
146
168
204
190
195
183
143
180
164
210
221
145
179
205
129
200
178
173
223
130
179
260
160
179
181
234
150
144
184
211
211
200
119
244
234
204
264
201
130
145
168
146
227
204
210
157
264
254
202
186
122
210
129
157
161
230
210
152
202
195
176
141
171
149
199
200
184
130
231
141
145
174
166
221
219
206
166
173
178
115
246
308
150
146
143
155
246
207
201
228
214
129
197
274
175
174
156
210
143
266
248
203
129
159
176
288
203
247
246
179
214
182
220
183
248
205
146
133
178
247
115
156
141
149
173
230
188
217
182
231
230
246
161
166
234
204
146
184
150
173
156
129
146
282
234
168
178
164
204
322
172
146
206
208
182
156
225
335
130
180
205
202
138
236
189
173
233
158
158
195
143
130
178
218
155
182
146
200
215
155
146
122
185
251
130
173
162
185
215
201
189
193
237
239
239
171
210
204
155
204
212
198
129
204
179
181
133
179
178
211
220
160
146
219
199
146
198
175
183
206
179
236
130
188
157
197
150
210
227
210
169
183
149
187
201
168
234
221
227
129
141
243
210
203
201
217
185
204
239
213
164
186
216
150
200
207
164
181
188
181
164
273
141
236
180
212
217
193
277
141
129
129
202
132
244
176
129
162
216
202
205
243
264
215
264
129
179
168
145
176
130
194
236
202
147
176
122
156
205
182
189
224
178
175
175
159
130
225
145
176
201
251
199
155
273
178
115
206
184
246
261
133
192
190
233
169
212
146
130
165
230
188
236
211
199
174
242
272
210
130
206
252
234
261
202
164
180
143
183
190
175
180
176
194
205
204
207
238
167
158
185
185
145
173
169
177
222
145
168
187
238
183
188
247
217
222
168
241
151
192
200
249
209
196
173
183
274
145
170
188
254
129
145
129
172
230
133
199
206
230
115
218
192
205
176
204
173
175
193
150
178
168
191
228
129
166
195
209
176
217
203
168
191
141
204
197
296
133
200
129
145
238
146
164
189
184
130
201
192
186
186
230
190
212
159
133
210
204
231
171
173
206
228
183
186
222
222
184
129
156
204
224
178
225
174
210
162
145
138
176
247
188
204
158
169
145
182
185
230
192
178
204
182
164
261
216
185
225
296
162
258
217
175
204
183
130
335
287
143
210
145
254
162
210
173
201
129
182
239
130
202
244
166
231
132
217
275
168
233
246
259
182
133
262
146
130
130
129
173
236
266
190
204
206
173
254
188
115
221
170
190
133
189
183
168
173
182
133
210
194
158
176
269
171
115
204
294
205
199
115
191
217
178
189
223
259
178
207
283
237
169
197
143
227
130
129
190
252
185
236
164
202
206
173
128
255
130
159
189
247
146
234
175
166
169
233
257
173
211
233
236
155
210
228
145
184
129
155
210
211
191
143
214
203
188
151
171
272
178
176
190
191
188
171
176
212
168
239
146
158
183
260
164
198
283
130
146
233
265
130
247
260
240
184
183
214
165
115
130
146
242
141
158
167
155
238
190
165
133
150
194
311
210
143
143
173
210
164
204
178
130
183
248
159
199
157
171
240
168
155
238
225
229
216
254
164
167
161
200
184
180
200
190
192
141
242
237
190
181
233
150
255
183
202
210
186
228
181
164
217
180
151
288
199
173
201
187
129
195
138
164
168
201
168
157
188
191
213
156
143
217
191
133
200
179
221
174
184
170
234
177
235
221
205
180
247
195
230
129
234
179
122
189
206
183
166
211
194
161
176
211
216
178
205
176
147
182
176
214
221
158
129
221
190
157
173
173
283
205
283
214
204
236
195
180
255
157
129
240
182
151
261
250
201
274
119
149
182
182
245
130
133
129
183
200
185
146
239
143
160
188
184
168
210
228
217
242
326
224
161
246
158
176
191
222
229
230
178
146
229
308
180
204
169
197
156
176
160
206
129
211
227
234
176
195
180
129
199
190
173
195
185
247
210
194
129
209
176
214
209
158
115
184
193
179
238
217
191
235
234
230
202
238
191
185
168
219
202
219
168
200
259
248
133
158
255
201
212
222
185
227
146
158
168
155
179
195
164
222
172
185
115
232
164
209
188
218
199
178
141
165
236
197
146
184
240
186
173
167
266
225
221
146
227
143
200
175
184
182
179
153
221
234
201
186
173
210
210
206
229
150
218
142
221
199
158
235
204
180
174
173
130
247
201
206
179
207
236
162
162
190
191
189
263
174
164
175
195
238
175
230
119
133
190
150
132
230
237
246
190
216
184
264
186
168
200
195
220
177
237
233
186
257
186
195
230
244
155
193
214
203
254
228
173
159
178
130
217
169
163
141
190
252
201
129
178
236
129
161
168
176
192
238
185
162
210
211
161
240
227
246
209
193
265
208
115
203
182
175
170
184
203
246
156
188
179
214
163
173
213
202
242
129
236
204
183
206
206
141
133
178
129
162
129
157
212
146
163
260
200
185
256
179
183
204
197
176
218
147
272
164
238
158
137
164
225
176
173
155
217
115
195
247
210
171
152
155
162
202
185
198
238
202
289
217
248
152
176
195
176
206
190
173
158
145
115
169
200
181
201
201
250
190
146
202
205
156
184
251
182
166
128
206
185
182
146
168
149
182
166
246
208
122
156
191
183
166
190
220
210
230
211
201
259
202
210
227
215
228
223
202
185
146
213
262
252
129
183
143
266
177
176
202
178
240
179
178
173
188
204
172
173
239
327
217
195
192
204
214
185
250
139
173
249
189
216
204
216
180
210
162
201
177
149
182
115
242
219
231
216
163
247
228
166
210
218
149
183
146
251
248
242
171
196
251
181
194
215
115
166
122
230
185
158
141
168
176
145
191
204
211
155
251
227
200
180
204
173
264
205
187
146
145
176
168
189
178
186
146
201
179
236
129
180
147
167
240
176
201
194
143
170
178
239
129
335
141
173
146
162
256
206
164
129
214
204
146
226
129
211
174
286
130
217
180
183
182
186
210
244
157
115
254
170
158
202
145
202
200
202
225
210
300
227
138
200
158
130
155
158
272
141
146
146
210
230
200
210
141
184
221
177
217
308
132
182
210
182
158
226
143
232
199
202
129
210
206
200
234
181
250
138
266
146
201
214
204
215
211
168
180
228
202
130
206
217
175
184
173
157
195
222
231
141
213
157
149
192
176
146
281
180
274
258
174
204
131
191
215
244
173
146
218
182
173
187
145
179
174
206
197
169
115
176
246
164
182
188
188
150
209
140
261
168
143
213
160
212
166
335
235
224
171
194
218
176
168
133
169
264
203
214
236
252
234
188
201
176
160
168
181
173
172
182
156
155
188
133
186
180
200
180
158
130
176
208
164
159
201
145
218
217
185
146
176
179
178
128
204
184
150
211
129
146
185
202
203
256
158
223
155
143
200
165
180
194
146
186
178
183
174
239
225
161
176
225
133
304
202
257
201
138
187
192
195
215
191
183
207
179
184
174
294
173
173
173
193
176
162
187
255
183
200
179
168
221
218
267
182
266
204
143
168
255
262
168
252
276
158
169
204
221
206
204
184
178
248
147
130
192
115
222
138
256
213
191
232
233
180
184
129
184
263
211
147
156
115
204
186
179
176
163
211
204
283
186
146
173
164
173
198
189
194
168
146
228
182
182
158
146
176
191
200
219
247
180
222
205
191
179
217
150
175
166
204
221
152
186
192
211
169
133
162
145
220
173
172
222
179
158
162
220
171
179
231
179
147
166
202
226
205
184
151
133
222
145
183
162
246
199
242
129
158
165
163
187
204
169
176
200
156
207
161
219
129
146
176
174
199
263
160
243
209
145
168
228
203
255
190
250
115
239
226
221
164
228
195
277
173
212
237
190
258
202
174
285
172
129
251
177
162
229
204
181
164
222
145
231
122
129
257
170
182
164
236
129
194
214
254
182
241
183
133
211
158
195
213
169
257
168
204
299
188
168
202
176
237
176
172
190
294
253
207
210
146
265
176
158
161
149
160
203
130
169
202
244
206
179
208
281
158
200
182
143
195
206
143
231
205
179
249
235
202
204
227
207
234
243
300
122
182
173
208
255
230
129
176
130
180
217
183
133
227
182
227
217
130
146
171
185
223
158
201
162
210
184
115
152
149
115
256
157
182
202
130
129
173
221
243
253
191
115
164
169
200
259
277
246
222
199
162
264
244
173
217
202
242
158
187
162
183
175
168
211
230
204
268
205
229
164
206
303
259
146
184
172
202
286
207
210
172
181
130
201
181
212
143
205
237
171
204
178
173
151
146
205
214
185
190
236
160
239
217
181
155
296
216
210
133
192
204
218
161
207
150
183
129
210
164
188
237
218
155
211
143
233
204
227
115
146
168
203
205
236
138
130
210
230
206
242
158
188
146
184
206
198
210
173
242
187
193
236
188
200
257
207
173
145
160
225
258
240
161
230
181
173
201
230
178
146
192
163
189
217
251
211
129
204
215
206
200
130
158
145
149
183
239
184
225
182
189
153
211
156
180
160
265
214
176
152
129
181
162
195
177
145
287
206
215
184
162
191
166
146
274
173
261
173
243
235
199
128
234
173
186
251
204
204
262
173
251
183
133
210
145
189
202
160
279
165
172
156
226
130
203
197
219
233
264
115
224
205
183
198
185
191
217
192
217
166
179
129
236
164
173
173
299
145
237
156
210
252
129
133
146
129
172
158
173
213
209
192
210
200
162
204
202
176
226
156
133
151
162
172
162
168
174
200
227
210
129
173
176
167
115
253
162
162
206
191
147
202
238
145
201
158
176
115
208
226
130
200
182
203
176
146
146
141
217
238
218
168
230
184
146
215
202
172
250
239
285
187
204
158
218
253
197
176
152
191
115
143
275
153
130
200
274
184
183
176
212
129
225
222
133
202
165
190
176
263
191
162
235
162
210
245
214
210
214
221
162
176
180
164
191
174
152
133
164
213
191
129
173
204
216
161
211
282
129
173
217
184
203
228
230
181
219
190
138
158
130
200
145
158
213
201
204
217
178
178
173
170
170
184
216
166
166
228
256
130
168
174
190
200
160
122
202
152
155
179
181
152
186
202
230
209
173
159
160
129
149
194
183
162
210
255
201
261
122
246
192
162
164
129
129
145
133
201
206
209
180
201
191
146
226
223
184
178
179
202
158
162
146
173
203
144
204
183
192
171
129
150
192
161
239
178
162
230
194
253
178
145
191
205
174
158
200
158
216
141
219
129
183
158
189
171
201
201
138
182
164
153
164
214
145
173
277
200
214
201
204
195
200
202
187
146
173
189
255
175
141
141
174
180
184
202
129
166
201
308
193
182
166
214
186
205
206
202
176
264
186
173
210
206
202
178
207
176
238
192
173
217
206
192
195
191
238
143
177
183
169
188
166
179
214
223
181
278
188
115
130
204
195
210
229
217
189
164
225
173
205
248
185
162
180
238
230
119
223
181
173
168
147
161
115
183
188
196
132
182
171
206
227
210
162
172
213
321
173
203
211
115
214
267
155
211
155
129
187
248
221
230
212
225
216
185
166
221
213
234
188
161
230
217
191
179
162
130
194
176
189
178
213
130
201
183
168
220
230
221
149
193
247
146
265
233
115
197
211
173
173
182
178
194
160
214
178
173
192
217
204
218
187
176
179
207
130
173
269
254
257
234
202
267
162
201
246
179
294
216
211
184
285
168
133
180
231
216
185
216
201
213
192
186
221
283
239
185
191
180
245
260
145
185
219
205
204
213
257
161
142
218
146
194
225
225
218
145
243
323
263
164
172
176
186
133
168
227
162
179
194
156
138
179
189
264
210
221
217
155
239
217
237
130
181
184
146
168
176
183
227
115
221
173
212
130
211
214
186
200
168
178
191
179
152
204
179
204
186
182
146
209
153
146
203
244
200
167
239
182
173
183
174
219
300
189
157
197
185
185
197
143
169
151
169
185
184
210
200
168
180
168
259
214
155
201
183
179
190
115
202
130
130
189
236
236
162
222
218
204
191
193
147
211
206
246
184
200
225
187
137
172
266
115
250
222
289
201
173
272
217
189
201
166
168
271
173
151
165
203
223
194
172
207
275
193
207
195
221
129
156
182
130
172
152
202
263
162
189
180
183
198
237
202
210
288
221
144
232
263
220
210
176
146
201
227
182
203
200
211
238
151
263
217
214
255
184
249
132
188
228
261
158
277
200
278
160
181
130
181
267
206
214
155
207
230
201
188
173
159
146
250
177
129
144
129
229
171
279
217
207
169
164
171
202
201
180
194
129
238
237
235
174
202
217
237
230
218
265
130
164
158
151
266
201
179
192
202
214
156
150
129
203
197
192
210
202
173
147
178
130
232
207
188
191
129
167
143
231
165
141
263
296
202
235
130
191
146
175
173
204
173
206
119
204
215
208
204
234
211
171
150
202
266
158
314
182
178
208
222
166
225
216
218
178
174
183
204
184
234
146
161
246
240
203
192
229
222
115
132
183
215
205
193
209
218
269
221
130
181
216
168
158
191
187
173
210
155
184
138
233
200
149
138
225
212
228
119
240
217
204
229
155
167
156
191
255
208
202
150
225
210
179
200
161
217
225
226
176
220
130
230
204
164
211
209
164
130
208
205
193
205
214
179
167
164
176
133
184
184
211
176
228
176
176
161
158
178
180
239
214
184
214
160
128
233
145
217
212
213
325
211
165
238
235
208
226
162
168
204
187
178
176
173
159
235
173
146
211
162
184
191
191
185
209
210
175
158
181
195
239
204
145
261
226
150
221
211
217
190
190
205
183
204
184
187
177
173
192
180
186
252
243
164
156
158
173
200
122
206
183
115
162
206
145
221
217
239
212
225
234
173
195
199
173
160
130
158
209
119
175
230
173
210
200
189
180
250
146
150
174
206
180
190
205
204
146
179
202
178
145
164
260
173
184
214
152
122
173
225
176
210
210
157
130
209
208
145
162
207
145
156
190
189
151
173
191
176
115
321
298
146
204
214
133
176
130
228
230
182
178
129
238
236
210
225
202
129
265
238
168
146
162
146
201
185
242
206
129
201
141
191
177
140
122
164
129
241
194
222
201
254
217
182
217
190
173
185
222
176
180
130
216
200
145
187
217
191
146
204
150
147
252
288
230
212
264
149
129
161
186
207
185
244
129
115
153
178
181
159
173
146
335
182
230
168
207
146
207
173
200
146
129
130
239
235
185
266
141
217
192
166
173
173
192
238
115
262
167
182
156
223
204
129
247
201
164
141
146
190
191
201
175
180
191
188
170
211
245
173
257
158
176
169
185
202
218
179
161
287
130
199
215
206
181
132
226
155
172
217
146
164
173
158
200
162
202
156
210
274
213
191
146
150
250
176
182
217
233
130
248
156
186
173
187
251
193
165
162
175
202
192
115
175
146
162
166
176
202
221
192
145
210
210
224
186
244
168
187
191
230
234
221
178
181
201
173
165
191
213
208
238
145
236
168
204
187
164
170
202
269
161
129
202
158
155
115
204
215
204
115
209
146
234
204
156
274
144
233
158
188
143
221
174
204
129
217
174
226
180
192
176
202
201
195
156
203
162
195
175
129
210
217
221
217
205
200
274
198
167
206
173
185
133
241
236
194
201
130
160
204
200
191
208
159
242
195
230
221
145
202
130
237
239
218
198
162
146
176
169
115
130
187
179
150
164
160
146
204
205
162
161
143
243
231
180
206
162
193
164
242
259
170
130
204
225
182
146
261
172
191
143
145
191
191
192
146
168
211
225
145
263
263
173
225
244
217
203
234
129
163
169
194
258
228
216
208
145
239
222
238
143
115
173
182
223
182
187
240
263
179
145
191
172
211
172
130
179
204
215
223
215
294
133
203
210
129
283
235
206
143
155
191
231
168
143
188
129
168
129
168
206
181
179
240
129
210
183
173
266
218
183
186
174
184
201
179
202
207
145
122
221
219
173
227
179
200
191
323
181
177
188
182
184
128
209
133
115
190
212
188
161
203
211
173
188
200
218
191
147
264
215
225
180
191
157
180
162
179
146
208
180
225
198
335
225
179
198
158
190
217
166
219
200
203
173
192
144
181
180
168
198
215
186
175
210
185
182
129
155
250
269
226
202
191
191
242
158
215
115
176
230
217
195
197
238
167
151
191
146
286
213
225
141
176
179
130
201
275
168
152
244
143
176
192
143
219
166
156
229
244
184
129
262
222
174
150
183
202
238
210
205
173
173
176
195
262
165
180
192
133
212
272
146
263
146
178
226
141
115
204
192
176
146
210
130
195
230
206
170
173
115
184
206
212
145
195
215
185
202
178
180
172
210
189
210
133
273
143
209
217
202
158
176
129
250
130
129
155
210
178
203
236
129
248
129
146
200
181
214
184
160
161
286
207
199
191
176
208
270
259
221
279
157
232
154
212
171
259
190
175
176
205
224
180
211
217
234
178
169
129
171
206
210
255
207
202
155
158
122
141
245
197
294
225
149
276
178
192
156
203
203
200
261
180
183
210
257
203
201
217
241
184
277
208
236
251
200
217
182
157
192
185
179
184
191
159
200
221
217
115
230
217
221
241
184
180
188
217
205
179
209
288
238
228
251
186
129
217
207
200
274
227
168
200
306
179
173
217
260
211
157
263
250
280
146
146
264
250
151
176
233
204
241
152
176
170
178
185
224
206
167
310
145
212
150
187
183
119
177
208
229
158
227
266
230
242
203
256
222
161
146
178
204
200
168
203
158
170
195
195
254
172
188
225
191
212
225
238
185
143
177
184
146
208
180
141
173
225
129
254
147
189
227
175
179
234
238
212
173
143
283
194
204
228
165
172
235
201
204
214
197
204
129
210
133
155
153
204
174
160
176
205
230
202
191
261
257
145
222
179
183
195
169
190
190
191
253
192
238
155
303
264
133
162
175
145
307
223
246
177
147
218
150
236
173
213
162
203
262
181
194
201
217
130
200
200
256
146
217
274
185
275
192
130
173
164
158
255
209
172
203
146
204
169
146
158
249
217
173
236
231
164
160
211
129
230
283
265
210
175
183
176
222
292
158
195
251
217
241
204
176
176
182
181
204
197
172
207
204
162
201
232
166
185
210
173
133
149
176
210
156
171
145
208
210
162
178
204
174
210
211
141
162
115
211
210
269
194
211
205
201
168
210
184
225
191
204
143
188
173
145
133
250
130
265
133
150
160
210
195
185
230
274
205
157
222
175
174
187
201
250
200
239
149
166
207
172
173
201
145
184
230
147
204
213
184
264
222
216
203
216
146
218
158
173
173
173
176
168
115
183
184
238
133
236
144
209
179
115
188
187
283
145
176
222
282
145
182
202
204
156
213
206
206
173
162
129
130
240
235
172
157
256
210
179
130
156
181
128
129
178
232
213
129
228
200
200
149
189
176
224
157
159
262
176
191
214
200
279
204
241
197
157
176
204
155
192
204
189
182
158
179
130
188
173
163
180
256
200
150
199
130
162
150
181
200
162
206
220
164
158
173
155
174
201
201
186
183
224
236
206
158
228
248
209
129
173
176
238
164
200
130
233
183
234
158
179
129
187
186
176
129
157
179
179
285
173
129
184
241
211
179
160
188
261
129
204
176
169
184
274
297
250
164
217
162
232
220
195
303
172
204
176
205
249
145
207
210
221
202
204
129
228
259
146
180
164
198
133
181
173
201
210
173
176
328
261
115
155
221
174
202
146
231
199
211
200
247
170
151
229
204
210
201
180
222
223
226
233
191
176
186
250
208
146
149
173
217
272
261
184
129
151
191
266
232
168
216
173
204
182
171
221
210
133
156
261
181
191
151
210
164
138
184
203
217
200
265
264
133
210
200
189
239
181
173
217
180
203
146
222
133
210
173
182
199
261
160
150
203
183
218
199
129
145
149
187
157
146
168
248
156
176
221
146
171
161
208
143
186
254
238
225
201
115
234
232
147
200
200
238
162
163
204
186
158
189
182
193
181
182
217
264
226
156
200
184
182
182
217
164
191
130
130
151
149
201
210
212
182
190
158
204
138
179
169
181
230
193
205
259
224
164
182
209
268
168
210
183
187
174
197
219
237
150
143
153
217
192
156
129
149
143
146
228
216
179
176
129
178
146
200
216
176
210
229
195
227
210
192
133
228
176
206
157
192
175
253
274
222
173
145
216
282
186
214
173
189
201
210
210
144
133
227
115
204
188
155
210
189
214
173
155
234
185
188
168
115
198
181
262
185
205
184
133
315
166
153
183
200
188
166
156
115
214
197
189
208
161
205
157
217
218
130
246
171
143
144
215
189
201
160
141
268
303
210
164
195
211
169
178
161
219
144
168
182
233
183
224
232
209
191
115
207
129
185
173
129
210
203
150
213
141
241
176
169
185
254
230
230
242
155
263
176
242
130
206
160
183
181
294
196
200
193
197
238
143
129
158
222
129
199
149
162
150
133
189
173
174
231
160
258
227
171
202
283
150
264
180
171
175
200
229
189
211
194
253
240
211
221
212
190
231
183
211
225
162
207
129
149
204
204
144
192
238
115
190
299
226
115
195
231
223
229
202
155
275
198
273
225
179
195
158
179
171
166
157
179
174
189
168
130
202
242
144
201
194
179
171
202
283
157
206
225
236
229
173
256
152
212
133
146
229
158
168
191
177
130
214
149
200
166
176
205
234
216
203
164
204
210
210
235
202
129
158
230
156
274
200
166
210
182
189
158
217
204
285
169
180
230
171
230
228
210
204
173
190
220
169
221
193
170
132
206
130
221
163
222
223
164
202
167
145
194
263
184
222
217
210
227
275
176
233
227
186
238
187
165
188
176
241
187
169
162
184
213
209
155
208
209
185
129
143
164
199
130
200
129
230
184
205
217
223
217
248
202
189
167
185
204
158
198
168
180
222
174
176
146
204
243
174
194
237
173
203
240
187
231
186
178
176
181
195
186
187
235
205
188
206
180
167
269
176
130
168
167
183
211
282
129
190
216
206
206
249
173
183
234
158
200
176
164
255
146
219
193
203
150
130
238
238
247
202
233
173
162
180
173
208
220
225
183
208
195
171
197
231
213
150
119
229
217
133
133
202
155
238
173
194
160
219
176
224
169
182
204
201
201
210
155
168
209
203
255
214
200
194
232
173
145
162
204
193
191
219
173
146
180
145
166
225
173
164
217
185
190
220
206
293
157
287
189
147
200
204
195
162
229
224
178
173
210
183
221
204
188
227
228
205
230
122
145
173
173
335
182
201
129
202
223
257
203
217
209
212
204
210
236
168
176
203
264
210
150
180
185
224
258
229
167
220
175
235
183
193
175
215
176
204
202
184
263
204
166
228
242
211
256
187
173
185
218
150
180
245
216
155
274
225
164
184
216
210
168
180
195
225
151
201
198
200
162
156
129
146
182
184
189
210
226
163
192
231
178
185
176
217
164
133
146
191
197
176
183
143
212
158
145
158
180
215
146
200
129
146
207
206
203
143
246
194
222
184
130
173
176
146
207
159
180
200
175
191
115
190
230
222
129
143
201
182
193
191
143
185
210
184
204
271
176
151
274
216
192
204
183
238
236
152
130
193
205
217
146
176
214
173
239
214
128
250
156
190
143
239
214
201
138
175
192
191
178
177
195
182
255
280
162
199
138
242
235
236
195
180
253
187
176
269
212
146
129
247
164
207
176
210
226
182
204
156
228
206
297
198
130
252
205
274
173
191
122
257
155
185
169
173
207
189
196
166
281
180
138
192
206
236
150
238
186
173
185
228
188
240
155
145
164
190
173
216
188
280
198
183
187
173
206
204
281
191
238
199
171
166
161
283
190
216
145
141
129
173
158
130
133
128
241
221
176
194
157
217
230
152
169
133
221
189
207
198
146
230
221
203
241
171
180
211
174
207
183
270
262
195
246
247
176
158
130
234
202
184
127
143
238
158
222
172
156
257
129
146
208
149
185
175
119
166
148
164
174
271
227
169
174
156
178
178
195
187
146
230
170
129
160
171
220
205
250
231
146
194
173
212
235
222
210
210
153
133
195
162
228
189
221
174
222
176
174
180
210
146
202
252
262
181
205
115
186
171
149
156
186
130
256
212
129
193
198
231
211
132
128
133
258
173
130
226
247
150
122
241
249
162
267
188
146
182
221
146
236
195
145
191
252
129
173
211
275
282
283
209
175
173
189
178
174
150
225
176
179
199
173
184
176
213
190
242
133
231
143
210
130
130
178
180
195
202
201
196
176
185
229
191
176
277
192
185
236
297
156
129
273
129
211
164
133
130
228
151
182
162
221
266
213
192
146
115
143
281
198
217
219
210
296
206
176
133
130
164
182
238
173
166
195
164
246
215
182
183
163
150
219
211
236
221
189
184
253
204
221
193
230
218
204
289
167
236
275
188
201
244
186
234
236
211
181
188
187
228
191
213
200
202
274
259
217
211
182
173
178
201
166
204
144
261
166
130
177
216
157
191
132
193
195
181
145
264
242
254
211
188
130
115
172
145
217
274
169
173
167
129
174
204
168
156
192
210
211
186
219
157
204
230
178
201
191
218
178
173
138
241
216
157
194
138
178
173
176
225
146
173
151
228
199
173
231
261
184
201
191
225
164
145
321
145
189
168
190
184
228
180
227
130
202
150
132
145
166
164
162
164
179
198
261
179
144
182
253
231
164
201
194
238
216
158
239
255
158
146
202
179
150
213
184
204
204
222
216
236
259
216
206
308
234
159
174
146
161
205
213
211
216
211
182
130
216
175
223
172
199
265
306
129
129
180
204
218
296
247
204
188
255
122
165
183
196
167
210
192
173
178
167
231
183
141
203
217
195
194
170
243
146
238
243
156
180
210
208
182
199
187
221
218
168
212
210
264
188
188
145
165
179
163
164
197
133
175
146
219
230
201
243
160
130
194
211
237
179
210
164
115
295
184
225
238
210
176
217
212
245
234
178
191
219
130
212
191
130
184
221
258
146
143
185
130
240
168
156
247
204
178
157
188
153
181
129
175
147
168
213
249
203
161
225
200
133
129
300
129
147
129
176
164
202
169
179
192
194
264
176
115
227
190
233
184
256
176
211
185
233
212
201
224
200
202
133
230
189
272
180
162
177
210
261
217
268
192
180
183
160
178
226
244
191
161
173
184
195
176
173
149
143
247
248
156
173
178
234
190
239
173
166
158
204
210
171
178
267
178
244
145
225
321
210
129
151
181
181
213
192
193
133
161
264
210
239
167
188
141
210
211
216
202
204
184
244
173
129
211
129
184
217
215
133
186
150
195
144
191
155
193
217
254
171
224
205
200
130
184
195
211
261
168
211
129
175
169
203
146
180
240
247
203
282
187
130
145
146
175
239
206
130
133
174
180
162
149
178
184
214
210
187
200
202
208
183
155
211
188
283
204
186
241
150
209
178
250
173
129
146
194
222
238
206
153
146
183
150
160
235
187
167
150
236
236
210
179
235
168
300
199
170
176
244
173
169
187
226
221
191
187
166
186
161
164
191
170
138
180
146
122
200
200
190
130
162
246
178
143
158
216
185
153
201
185
221
169
273
182
238
146
122
239
138
176
167
229
203
245
129
184
223
212
241
204
185
204
264
146
169
200
198
181
187
231
227
145
190
115
208
195
174
149
221
169
210
178
176
133
195
162
189
200
270
200
146
146
176
250
221
256
186
150
130
166
227
185
205
236
188
165
204
210
228
228
180
210
222
196
129
185
176
264
193
129
245
200
170
225
289
210
216
258
168
223
259
261
228
158
143
160
163
252
192
206
173
256
191
143
164
183
224
204
172
143
146
194
146
184
187
248
164
190
190
228
217
156
143
213
188
159
168
217
276
146
259
188
186
130
146
168
173
213
238
214
256
205
193
191
234
211
239
184
214
204
200
199
164
184
204
202
229
169
203
167
164
200
174
155
128
130
160
176
204
129
211
245
184
207
185
250
218
232
146
176
144
233
175
198
203
192
176
335
164
155
166
263
225
214
162
206
210
143
225
156
170
173
176
173
182
186
133
205
193
233
168
212
180
146
217
173
287
232
246
129
207
206
201
178
130
259
184
214
238
185
188
176
129
163
205
178
157
130
216
212
200
180
184
265
175
206
209
251
190
236
231
152
220
179
238
146
160
232
214
279
211
191
191
129
145
145
201
173
149
168
217
220
158
150
204
144
164
208
253
209
217
183
227
158
231
234
211
200
210
129
184
203
193
186
173
239
193
194
216
216
214
222
162
199
193
211
176
133
246
202
151
185
256
145
163
238
178
221
171
242
179
209
173
214
168
183
186
233
264
262
181
217
219
261
132
210
180
167
152
260
234
161
177
313
186
214
168
150
227
146
191
247
158
183
194
221
164
209
156
236
270
210
272
208
205
173
210
226
228
210
150
150
217
170
143
162
187
197
229
265
204
253
220
219
186
162
239
180
133
187
240
258
202
226
200
257
144
237
146
176
130
245
224
162
188
177
169
133
129
204
190
115
212
157
188
166
244
156
200
132
188
219
202
315
239
164
168
202
195
147
173
115
173
146
217
199
176
198
177
162
186
187
164
143
215
188
130
193
227
204
138
212
173
233
204
129
169
168
246
145
146
179
205
166
202
179
285
176
173
185
211
158
160
204
201
223
230
163
200
261
207
204
179
272
222
178
200
193
129
193
185
149
229
119
217
202
191
173
133
239
143
194
138
204
255
213
179
204
146
250
179
207
202
231
173
146
261
171
216
222
185
218
202
233
206
182
204
226
193
221
160
177
195
176
151
252
192
169
191
171
201
166
173
145
189
192
230
183
188
170
178
203
173
199
219
266
218
173
207
173
141
209
146
211
230
217
221
204
206
133
188
240
145
212
195
195
182
162
115
216
173
169
163
174
201
253
176
222
155
158
231
201
176
264
214
153
222
187
167
211
248
176
197
186
167
165
158
210
201
207
255
205
122
119
129
115
181
129
168
184
283
204
182
189
184
190
217
229
129
169
146
146
175
145
234
185
156
147
233
225
197
164
202
239
168
200
138
175
235
232
217
158
230
207
178
255
258
185
166
165
129
264
212
132
169
250
208
220
145
183
130
146
173
217
156
176
179
235
255
210
325
201
227
206
193
200
162
130
211
162
182
184
130
271
129
162
257
228
281
210
177
145
149
180
233
200
219
187
189
164
194
203
173
147
187
164
217
258
165
217
202
176
179
172
129
129
251
173
247
184
185
173
210
212
241
153
210
255
264
184
146
153
232
200
143
194
115
257
217
254
203
222
252
188
130
119
174
173
249
210
217
216
115
210
188
146
222
193
188
195
183
176
217
215
292
187
235
230
149
249
183
252
130
182
201
303
250
130
210
227
219
230
129
204
130
130
184
155
198
169
168
231
231
179
212
189
181
164
175
146
146
225
238
129
122
214
231
155
186
146
162
247
224
162
188
133
203
171
236
115
146
183
205
164
192
191
146
178
204
158
221
195
250
158
255
239
130
179
129
143
210
187
204
182
199
149
130
212
182
183
236
168
190
146
183
164
179
292
146
163
133
194
248
176
138
246
158
179
156
190
202
129
202
122
130
130
258
150
228
146
173
185
157
201
156
206
201
168
145
181
193
130
211
220
146
217
206
159
200
206
214
263
236
146
216
261
202
247
237
183
143
115
133
204
169
207
129
192
143
130
176
237
150
266
239
203
201
200
250
236
247
211
138
274
176
172
146
211
168
275
129
133
202
146
122
176
176
197
181
196
176
246
221
176
203
187
139
204
198
181
215
225
210
193
223
174
226
206
188
152
159
162
160
215
273
129
176
157
173
215
179
147
133
232
199
210
218
185
183
158
160
166
212
176
239
195
226
216
208
187
173
158
188
185
230
303
158
192
158
227
162
129
143
201
222
228
195
179
183
252
168
241
191
246
209
238
212
279
180
236
292
162
214
161
173
168
124
164
217
217
254
186
269
176
146
191
170
168
215
170
217
122
159
248
218
263
184
236
159
204
176
130
130
202
204
187
188
212
250
197
184
224
236
129
167
246
180
146
221
229
151
243
129
189
204
207
202
207
129
195
167
150
238
173
133
204
186
189
236
202
183
191
176
143
167
174
173
157
143
244
238
138
211
130
194
130
265
225
162
130
183
264
237
191
203
185
195
200
155
141
184
171
257
145
185
211
257
208
215
230
129
190
175
115
146
230
247
129
181
207
176
210
227
156
145
256
199
204
221
200
130
129
130
247
173
240
132
229
206
164
233
264
133
180
176
160
228
260
230
170
257
193
272
200
146
183
239
185
179
180
202
130
205
152
233
195
133
191
185
141
151
158
204
166
176
217
225
270
275
188
146
178
170
210
165
211
262
176
236
227
240
176
236
191
201
199
202
191
146
169
119
168
199
133
146
168
149
204
128
177
202
141
164
151
236
210
285
204
182
246
164
146
192
146
155
157
230
156
210
230
162
227
211
155
227
180
204
226
138
217
179
247
178
160
133
230
226
200
205
224
244
190
190
335
155
198
211
155
184
115
204
171
168
209
254
204
122
166
129
287
204
183
146
179
199
202
180
173
158
195
229
210
176
227
191
181
180
225
200
199
194
162
132
238
159
191
166
204
216
216
228
225
210
211
181
173
184
173
197
173
236
247
128
231
247
210
146
163
141
222
169
210
175
214
219
217
234
165
272
211
146
150
138
195
129
185
176
151
173
267
184
202
208
185
187
239
203
210
176
164
146
227
128
194
143
164
176
199
204
122
248
240
171
210
171
306
169
176
222
190
231
173
129
176
171
212
236
170
175
204
146
219
204
180
216
255
266
176
145
192
173
174
221
211
194
191
168
145
203
252
242
194
130
201
216
252
122
231
180
208
167
233
179
191
255
160
201
129
194
156
197
166
166
190
179
145
205
262
200
286
115
133
193
200
183
201
115
194
191
152
145
176
212
133
191
189
195
217
143
200
265
189
162
186
182
256
258
195
156
201
253
282
199
194
174
201
173
176
240
152
183
129
115
235
145
216
115
162
152
192
188
237
176
180
162
133
188
166
131
180
202
255
173
189
234
180
130
246
210
162
170
168
180
173
173
211
143
194
211
179
129
257
145
217
173
172
234
180
130
236
256
202
165
222
248
151
174
185
168
133
240
240
166
203
249
162
242
201
255
176
188
287
253
211
141
179
227
171
143
212
194
204
164
140
176
246
174
177
182
209
204
201
269
149
176
186
173
193
247
146
188
176
156
191
263
179
198
238
179
192
197
250
130
141
197
162
149
272
208
194
178
265
259
159
226
141
176
209
200
213
205
164
176
129
130
209
150
158
239
210
376
168
143
226
130
184
160
182
163
212
197
152
198
160
226
199
211
233
187
215
129
225
204
198
204
203
209
181
252
174
236
239
199
208
255
199
247
191
174
149
169
248
244
177
209
210
191
155
211
169
190
130
173
166
232
176
151
262
193
160
156
173
183
172
143
210
185
152
176
231
261
181
195
237
115
245
129
192
172
130
224
179
147
238
149
143
324
207
176
210
276
146
174
204
227
173
160
171
129
146
252
360
183
201
129
207
143
158
205
186
249
190
129
201
166
200
176
141
184
166
173
181
200
164
230
143
176
245
219
129
207
188
204
160
176
181
214
189
201
201
218
217
177
269
146
194
188
173
210
115
146
203
197
180
250
170
192
184
115
204
281
221
229
211
205
191
152
217
138
204
178
211
255
179
209
222
189
174
245
155
226
222
273
237
173
236
159
200
186
188
221
132
179
204
206
189
160
162
207
146
159
170
203
230
129
215
184
257
129
240
240
209
143
217
161
202
239
223
191
179
164
162
164
240
201
128
214
204
252
209
188
173
150
208
252
251
263
212
129
146
194
129
186
151
179
229
230
177
141
223
206
146
171
185
217
168
178
158
130
122
215
185
155
186
243
201
189
211
162
223
310
152
173
170
155
228
129
210
217
249
204
189
241
130
182
228
146
176
203
176
169
175
130
202
162
130
182
200
145
143
185
183
190
165
217
168
150
204
129
204
184
171
205
237
178
247
158
130
169
236
205
183
184
166
228
132
230
226
146
169
187
200
214
170
222
192
239
223
193
183
162
115
201
273
230
185
207
174
168
192
182
133
214
152
196
261
180
217
169
194
177
180
190
183
186
211
183
250
184
141
222
262
173
192
207
133
186
150
190
186
195
197
215
207
204
172
146
179
173
191
201
141
226
247
129
184
200
160
191
174
177
240
227
150
164
145
202
164
240
173
143
180
220
176
216
192
254
148
181
268
213
226
191
179
129
162
208
218
130
179
217
235
130
162
197
214
183
194
205
231
188
228
187
201
177
169
162
189
149
145
169
184
164
247
238
152
191
161
173
208
195
194
217
270
208
191
194
155
143
155
130
256
179
240
238
216
150
158
200
181
181
158
179
218
300
183
246
204
160
204
239
143
228
192
146
228
280
178
213
115
146
170
180
143
168
233
216
178
238
266
217
201
266
115
179
259
204
191
168
205
168
213
204
187
146
178
256
115
228
146
296
173
201
145
155
176
247
191
191
214
200
182
221
146
239
156
218
202
138
164
219
164
203
146
242
183
263
255
171
205
233
217
210
202
195
204
221
200
150
253
204
145
236
179
219
274
214
165
199
263
152
259
202
335
275
229
201
133
176
201
238
138
206
264
194
166
122
229
221
230
188
185
146
228
130
239
138
178
162
165
320
175
211
209
145
245
277
202
210
246
179
163
210
145
187
184
133
188
239
244
222
214
191
178
179
271
200
270
153
253
207
194
221
175
211
178
143
187
264
199
186
240
190
199
173
130
163
206
204
188
173
228
206
184
164
179
147
178
161
162
161
207
188
234
174
201
173
168
210
176
218
156
191
160
206
173
184
206
183
195
130
176
214
168
176
236
176
203
202
143
211
133
176
176
145
212
214
129
179
191
233
182
227
156
161
202
179
217
235
138
130
242
277
321
171
187
215
146
184
130
115
205
201
314
201
201
209
130
176
133
189
195
129
263
295
196
239
172
160
165
164
182
231
200
221
209
169
198
244
231
175
156
179
191
200
146
172
229
246
188
165
265
157
303
129
179
220
187
182
229
235
143
172
236
143
158
183
160
214
249
201
219
146
261
189
230
199
283
165
186
281
158
208
187
157
193
143
181
130
184
176
197
176
171
130
243
129
195
255
307
216
295
315
190
230
219
239
202
220
236
174
240
219
181
153
144
115
178
129
178
150
193
185
224
165
233
184
133
146
210
221
200
218
186
197
184
173
217
173
183
173
229
194
186
220
208
210
201
156
199
130
207
212
151
201
171
208
185
242
190
203
206
246
259
169
241
159
156
252
197
192
234
158
168
180
173
153
173
166
214
225
252
146
211
115
130
173
184
164
265
190
159
129
242
224
204
164
183
201
178
191
195
156
229
236
250
162
228
244
184
173
197
222
168
258
207
230
187
191
150
173
166
232
243
149
197
261
180
129
192
186
178
235
178
173
201
205
201
192
182
141
271
186
274
203
182
156
130
129
162
286
232
186
171
150
185
186
133
179
276
166
203
186
286
199
195
218
265
145
242
192
195
214
191
160
158
213
162
168
204
203
214
130
284
130
184
204
173
130
174
250
182
180
176
187
218
160
145
205
240
284
130
176
236
217
195
183
202
133
156
185
179
238
181
210
176
175
221
275
130
280
203
192
155
252
210
173
227
200
204
211
179
191
143
145
156
199
184
195
239
227
255
226
187
160
158
168
173
129
153
213
264
172
178
233
218
185
129
129
141
209
265
146
214
251
201
144
211
211
245
163
162
187
238
209
155
132
151
294
240
217
287
192
204
182
192
204
236
210
201
206
168
206
238
175
208
156
168
200
143
180
164
189
158
166
180
193
232
191
245
146
168
168
183
173
202
218
130
174
230
232
129
228
201
152
242
211
177
193
155
158
130
335
183
238
241
146
221
129
221
232
178
192
214
119
185
176
155
191
287
184
184
185
196
181
122
173
205
247
247
146
129
218
205
203
128
171
183
201
202
214
146
202
185
129
138
185
200
188
227
208
212
202
159
211
295
183
133
230
191
201
183
210
211
217
197
221
238
194
146
245
163
173
211
168
191
176
216
178
201
235
170
252
201
200
184
207
146
222
217
196
176
179
251
164
217
169
204
153
212
176
228
162
264
191
146
185
157
158
173
210
213
231
184
250
240
128
224
146
242
129
173
153
210
166
173
246
146
185
252
188
229
129
242
158
146
169
201
210
239
150
208
193
213
253
175
202
164
141
200
196
221
143
272
206
162
159
166
209
207
255
209
197
179
187
185
287
183
212
182
217
164
162
218
234
201
257
143
256
230
182
204
145
168
227
188
172
210
169
115
119
171
238
187
167
230
129
195
224
210
178
249
158
261
201
174
173
165
205
219
137
130
217
179
146
146
230
206
192
171
207
184
182
133
217
187
232
161
235
182
180
203
262
181
157
146
130
299
185
173
243
184
221
241
180
222
198
178
179
303
291
185
208
201
206
245
144
217
204
150
217
145
129
239
234
227
204
162
214
183
210
246
177
166
186
168
230
222
218
216
176
209
182
215
166
200
230
211
145
202
141
130
236
178
204
210
207
143
164
168
192
186
189
202
180
158
213
170
199
234
188
143
188
192
217
173
172
208
207
209
225
184
226
191
227
273
167
246
204
210
251
164
129
188
173
201
150
186
182
274
176
162
173
228
129
210
200
225
129
165
175
167
180
173
176
191
222
173
210
174
165
130
178
156
222
175
133
206
146
172
174
184
229
203
191
169
212
186
252
183
204
129
204
160
248
208
198
156
211
214
215
147
115
217
203
210
193
195
201
122
181
306
267
171
167
278
185
210
235
200
211
213
208
208
210
173
129
187
212
168
217
198
169
265
166
181
122
192
129
204
168
174
184
173
156
213
178
210
191
207
133
217
184
184
129
162
190
149
129
178
181
176
264
129
178
234
258
130
169
260
183
216
212
115
217
179
203
189
232
143
180
130
187
165
133
246
197
280
210
204
184
201
236
143
283
195
237
173
229
188
171
155
217
185
156
217
292
189
217
212
176
173
233
182
224
191
227
176
190
157
199
146
242
150
146
257
213
200
173
183
146
146
180
169
241
185
249
182
194
167
179
164
236
146
239
129
218
176
217
169
232
209
201
214
179
296
173
152
236
129
289
210
173
217
130
141
185
184
129
150
162
242
188
223
267
209
167
177
191
182
155
164
155
203
164
146
179
182
141
130
166
166
169
176
133
115
156
146
218
235
160
179
226
249
202
145
173
192
130
178
190
161
184
156
211
183
242
200
210
216
183
216
212
147
167
256
155
179
190
186
173
219
158
138
186
201
166
203
217
252
141
206
184
195
206
152
185
143
204
237
159
185
229
129
252
161
207
219
188
129
195
176
169
202
279
182
294
164
245
204
129
129
217
205
212
164
133
129
259
176
250
133
221
164
205
235
191
215
237
254
210
251
147
185
210
175
158
143
148
191
127
190
221
216
195
178
157
192
258
199
146
190
208
146
164
219
156
196
190
206
132
155
173
185
183
193
176
210
170
206
129
138
231
210
198
202
187
261
183
156
188
194
146
228
236
130
130
211
115
202
153
206
210
200
179
246
169
188
130
178
143
164
231
229
191
200
129
180
216
249
138
173
264
179
150
115
237
173
217
173
196
229
229
239
210
207
155
144
143
188
198
169
182
179
228
130
172
173
242
272
225
115
253
122
202
211
204
168
217
197
200
224
169
214
162
138
168
133
192
169
129
182
191
208
130
158
171
264
187
158
182
249
210
129
210
211
214
191
194
211
149
226
181
199
213
179
202
270
299
218
164
173
150
122
172
160
240
231
209
161
240
191
210
133
191
168
149
215
232
225
164
175
218
130
176
169
133
180
297
210
216
210
210
218
150
146
161
201
181
193
162
115
201
184
188
250
214
162
176
230
198
201
211
215
179
156
325
177
200
259
261
144
141
239
210
129
204
131
164
190
281
155
202
175
166
204
201
229
242
133
183
138
213
180
157
188
145
205
208
229
245
270
186
167
172
276
200
212
221
246
238
159
190
149
155
239
181
256
199
209
230
145
145
247
191
191
130
129
200
189
179
195
198
230
210
217
203
204
115
176
129
217
236
183
173
138
167
201
269
200
202
200
129
216
258
176
256
149
218
191
182
158
129
218
242
143
115
153
188
190
186
232
214
133
163
209
177
115
164
218
204
145
168
153
180
222
206
202
200
176
146
168
177
183
172
187
176
173
194
194
180
201
252
263
145
231
249
255
205
187
168
145
169
130
210
153
173
201
164
185
130
184
194
168
146
208
201
213
176
156
164
175
164
182
155
265
226
230
208
206
187
204
221
153
173
129
218
296
232
129
184
130
174
193
197
179
222
129
258
168
266
129
169
179
143
203
211
129
129
130
255
194
129
133
130
270
200
216
176
184
145
213
242
194
214
180
203
172
185
180
189
194
184
181
173
198
257
231
178
177
176
184
178
210
217
174
115
187
179
248
408
145
133
268
273
129
129
170
210
178
245
168
182
217
173
171
222
266
173
210
122
194
161
167
146
146
210
172
132
145
163
185
203
129
184
195
200
285
186
164
275
203
189
173
218
129
179
143
202
174
202
128
204
202
115
206
190
190
171
270
160
236
130
246
209
236
206
230
195
281
177
129
201
188
229
213
184
167
247
182
173
145
179
173
162
197
162
231
231
167
190
133
171
185
238
263
158
176
259
129
255
243
183
219
173
174
169
161
202
193
197
130
244
261
254
181
202
198
191
275
175
183
208
253
133
204
209
243
184
145
240
133
192
187
145
173
250
133
115
146
196
150
189
143
146
210
218
138
173
206
172
176
145
193
241
129
178
178
198
172
166
230
128
237
202
185
174
250
257
143
129
146
195
164
202
250
167
182
211
176
176
193
129
188
130
217
200
190
146
155
164
176
147
178
265
172
242
304
192
129
217
183
173
174
188
202
130
203
157
202
204
160
139
153
177
210
244
251
176
239
150
274
173
182
172
182
224
204
202
230
187
280
156
146
184
260
146
215
204
259
173
176
169
133
160
251
204
228
172
183
199
258
229
181
145
255
150
281
230
130
192
130
144
146
247
198
130
201
146
164
211
185
180
240
193
183
185
204
180
129
180
129
173
199
115
200
179
229
160
199
119
160
204
184
271
153
132
177
186
200
130
255
236
210
115
184
181
183
143
130
200
185
213
227
189
199
129
164
184
138
190
191
196
208
180
162
158
177
211
174
146
147
209
133
151
129
166
192
183
168
184
184
205
181
229
166
204
215
146
129
222
207
241
174
179
210
200
202
209
235
133
244
203
204
202
204
119
277
168
205
164
200
217
231
221
213
229
155
204
234
187
129
199
303
203
173
169
129
143
169
171
224
175
156
170
210
185
144
173
171
130
238
222
143
214
146
268
177
252
271
150
180
201
144
115
202
204
168
178
201
228
182
196
158
191
146
168
236
130
216
168
147
204
173
226
129
171
191
219
242
206
122
235
206
198
238
183
210
267
309
198
180
245
220
179
176
240
258
247
258
165
225
238
206
214
164
130
238
183
200
184
200
207
173
206
146
180
173
176
236
294
133
183
167
173
185
236
184
182
181
202
151
204
211
185
208
168
194
257
250
224
155
172
195
244
155
246
129
220
200
238
169
244
188
146
231
171
202
176
233
202
153
171
130
211
195
185
141
224
184
130
194
152
160
250
176
197
129
182
196
148
180
184
175
199
157
237
213
182
227
208
255
250
130
187
204
204
191
209
244
204
173
249
201
189
141
129
146
197
259
210
183
122
210
195
183
205
195
230
175
146
169
187
205
164
179
160
225
146
146
280
213
129
164
152
217
257
176
158
202
200
176
130
130
202
233
201
146
201
155
146
234
160
174
176
203
146
217
162
207
181
164
240
309
205
277
191
163
210
202
257
180
142
237
129
206
215
173
182
217
168
178
202
186
150
173
162
188
217
207
143
164
183
164
255
192
233
184
164
227
184
206
158
204
182
171
270
179
145
146
217
212
145
218
254
129
178
146
131
172
201
280
204
208
151
133
115
200
247
165
176
166
201
269
222
211
176
173
203
130
176
144
206
146
215
196
130
183
216
178
186
155
169
308
252
191
129
211
206
327
259
218
195
199
130
200
130
179
138
220
202
146
203
163
209
206
166
197
141
206
194
164
227
249
174
196
204
200
158
201
160
217
210
184
205
188
175
184
244
210
209
294
230
247
158
168
287
174
264
145
179
278
274
129
230
208
203
169
130
155
190
173
275
187
172
217
199
208
230
192
176
204
146
216
200
130
173
179
202
202
236
161
210
204
190
115
181
206
164
238
252
213
155
129
163
184
130
226
202
129
179
173
233
129
211
182
168
237
146
132
185
159
239
265
145
205
231
210
170
210
225
164
191
216
179
204
208
258
202
133
129
253
172
253
145
212
182
222
250
194
184
173
168
128
230
200
187
241
169
204
168
173
204
185
178
167
133
187
232
209
228
167
193
229
166
204
146
231
175
178
188
230
169
178
168
180
266
202
210
206
200
173
185
164
210
184
151
191
286
161
301
173
180
202
171
263
189
143
217
145
182
168
202
204
204
162
201
164
212
149
202
179
242
130
149
150
217
146
183
214
162
201
225
195
161
193
241
221
201
158
191
219
187
191
168
207
273
145
262
138
179
209
133
186
206
185
122
207
180
239
274
220
191
155
129
173
139
156
159
209
198
258
208
146
204
225
179
205
188
138
211
264
205
207
211
122
201
237
160
194
241
179
115
175
192
166
202
222
173
207
185
151
227
168
210
202
184
248
143
163
129
205
209
176
236
200
185
164
129
228
261
201
183
185
168
156
240
152
206
225
201
144
141
187
230
219
146
178
130
177
195
122
210
145
146
217
218
115
241
335
176
168
231
147
184
146
216
210
201
159
176
230
277
213
162
236
197
189
206
186
207
285
223
190
210
201
152
180
146
226
238
130
176
201
185
220
247
188
155
186
162
199
222
129
243
172
201
130
188
146
300
176
156
133
176
147
191
156
173
176
252
178
256
191
146
204
234
186
190
146
184
200
165
263
130
179
195
214
211
173
115
152
190
144
190
207
204
200
204
259
176
191
151
216
153
200
185
146
231
192
156
193
232
335
133
263
149
164
173
210
176
158
233
229
175
221
184
265
246
156
155
180
166
186
163
150
206
230
189
185
170
210
173
179
161
146
241
201
181
212
226
173
229
149
227
160
204
249
253
158
168
129
168
193
179
174
165
199
243
200
198
158
182
180
147
230
173
177
176
138
234
236
196
143
146
219
238
179
162
241
227
205
115
162
202
210
204
158
204
190
129
191
201
160
162
129
160
176
158
193
220
138
160
189
154
178
188
205
251
164
190
217
179
221
133
129
211
173
173
150
164
174
202
240
225
160
173
242
173
220
168
186
244
183
190
200
189
210
181
315
144
187
206
206
261
210
268
171
217
210
167
199
204
198
157
176
176
150
168
238
164
179
217
282
169
146
188
200
241
204
179
186
128
200
129
149
168
226
145
259
129
178
206
202
213
172
201
255
129
218
228
218
130
146
143
155
219
218
224
186
242
200
133
144
164
264
146
204
176
169
173
210
164
225
145
162
201
214
149
177
129
185
162
146
245
146
212
177
143
238
184
225
202
211
285
130
184
214
215
172
214
174
132
201
166
210
174
185
172
230
173
155
229
202
232
175
161
191
230
225
322
188
193
214
261
132
276
201
143
259
187
177
243
242
255
173
244
130
168
214
191
294
176
157
162
146
210
168
173
155
201
208
231
153
244
182
186
241
164
167
178
217
200
168
230
282
205
237
145
200
133
212
173
210
192
237
218
129
197
210
232
210
202
207
173
294
143
230
162
210
211
208
249
203
143
115
133
199
173
181
167
173
173
146
183
169
175
129
129
227
217
247
184
247
275
204
193
145
204
210
141
181
164
115
164
180
191
164
173
178
232
230
195
130
179
236
234
155
260
204
146
214
202
161
214
133
201
211
224
217
162
166
168
217
259
164
190
218
182
189
230
183
173
155
176
147
164
129
190
197
129
225
187
168
159
200
207
200
280
204
265
210
153
217
133
204
183
211
182
230
247
176
182
172
189
168
185
164
161
182
162
239
227
240
222
261
233
228
129
190
210
191
168
130
214
190
163
146
258
211
143
130
297
211
129
200
236
202
130
164
272
146
216
199
176
263
221
258
181
151
213
201
206
180
200
204
143
226
231
217
130
146
174
253
233
179
190
145
165
216
199
222
249
219
228
168
166
129
115
200
224
162
209
186
256
204
189
185
268
172
149
178
146
179
192
182
206
199
289
169
184
173
214
219
199
238
152
184
159
204
146
187
193
209
130
204
197
201
238
153
226
178
210
163
201
181
242
218
169
204
225
129
119
227
151
203
187
240
201
158
204
225
183
197
182
122
245
186
146
162
179
183
314
146
187
185
239
129
173
164
210
273
171
214
230
122
153
202
203
143
157
211
211
211
138
188
129
279
234
215
216
209
162
170
184
268
115
322
211
182
212
210
190
220
236
155
201
252
231
217
223
191
222
199
207
188
165
253
169
129
212
169
278
164
218
234
191
146
201
213
155
178
191
226
130
213
218
164
193
214
217
157
156
133
195
210
200
201
144
202
212
207
160
335
177
184
161
150
200
241
176
166
238
188
210
206
222
238
182
153
216
195
217
212
184
335
180
198
115
130
209
188
230
150
296
273
208
161
171
183
155
271
229
149
244
276
204
184
195
133
228
182
169
176
178
191
221
180
194
224
164
129
189
205
180
231
186
130
205
230
132
220
283
143
225
146
161
205
184
179
173
215
164
266
193
156
226
193
187
200
213
214
184
187
146
200
164
230
264
182
236
221
157
200
259
133
201
165
150
159
192
173
178
129
130
211
174
172
214
168
214
168
224
178
184
220
328
185
129
261
130
173
133
236
228
259
224
166
129
230
176
179
221
176
176
143
176
178
211
157
231
185
198
186
164
143
184
172
259
210
196
195
159
201
227
222
219
176
202
150
229
209
146
167
166
166
141
230
192
173
335
130
205
200
115
179
210
236
217
204
230
130
171
212
158
197
201
199
130
161
228
176
204
149
200
185
173
204
176
267
277
171
244
146
183
206
221
169
166
180
248
145
173
237
265
217
161
198
217
199
203
236
183
255
209
216
196
206
204
194
274
200
143
149
208
129
150
207
215
237
256
282
210
130
186
182
176
201
202
130
204
211
181
215
133
150
160
200
201
182
143
201
242
182
195
144
258
214
173
204
239
179
162
146
179
160
184
177
158
211
202
214
130
146
225
252
221
169
176
202
129
240
227
217
209
203
192
225
161
204
273
180
234
156
145
175
151
133
130
301
283
216
264
217
175
214
132
203
247
194
179
250
173
191
199
188
210
239
119
208
192
191
186
201
180
233
193
283
239
270
229
231
296
173
146
175
217
226
206
178
186
186
146
252
146
178
160
217
191
187
129
167
201
176
130
188
145
165
191
190
158
170
115
300
149
187
183
192
230
249
168
216
185
257
206
181
210
205
257
130
204
161
209
181
115
156
239
261
162
192
184
203
180
175
193
146
168
242
130
155
273
246
178
210
196
210
178
198
144
168
204
178
239
122
234
176
158
235
180
210
225
211
173
200
200
211
128
172
203
146
185
182
191
204
133
234
196
157
145
155
209
129
199
193
201
206
190
164
230
230
206
234
141
184
188
191
278
204
174
156
201
143
206
206
200
168
171
157
236
229
194
194
239
248
210
129
180
143
200
155
213
190
162
146
202
204
115
150
149
217
173
146
164
258
180
335
156
130
144
157
175
185
155
249
229
210
259
169
145
164
146
157
195
181
169
172
176
173
160
149
188
192
297
181
193
181
176
203
162
206
215
130
157
188
181
191
217
200
153
274
181
180
230
180
209
210
216
221
190
156
130
221
162
133
236
183
212
207
239
145
202
173
169
217
199
153
194
146
202
143
181
204
169
261
242
168
230
203
236
167
210
174
156
210
164
256
239
166
160
115
145
200
225
129
160
184
178
224
209
182
255
156
222
198
138
173
162
186
194
201
173
215
159
216
146
157
156
150
214
244
149
164
202
197
230
214
217
203
168
162
216
158
183
217
146
133
217
202
252
139
175
254
130
239
119
185
206
180
146
183
229
155
209
166
156
166
181
228
168
173
146
155
143
122
173
184
158
209
226
176
270
145
200
166
166
168
146
195
146
216
183
224
175
230
193
190
204
176
146
197
180
214
197
211
175
143
216
219
211
206
156
183
122
194
208
206
250
208
194
214
199
176
201
173
130
236
130
268
204
291
188
153
146
200
184
146
133
166
177
229
182
191
146
258
191
192
146
200
184
155
164
263
211
195
149
200
211
246
150
222
128
158
230
216
129
195
203
204
191
176
192
190
186
202
264
202
200
130
150
201
261
129
183
183
133
268
156
234
205
165
176
188
203
132
192
175
173
164
242
178
146
247
153
182
230
207
229
256
209
197
150
207
202
298
223
204
246
184
212
194
165
170
215
209
168
162
161
220
227
225
161
209
199
173
190
224
173
131
191
156
190
184
149
217
195
180
191
146
247
156
211
133
145
200
146
189
146
130
201
201
251
200
144
133
187
223
210
187
182
250
166
165
214
246
176
182
176
181
192
194
270
171
146
146
173
199
262
177
149
200
166
182
168
166
146
183
247
240
216
183
184
207
226
223
217
230
129
256
206
219
195
168
236
206
242
216
213
146
115
221
199
264
216
217
156
294
130
269
183
161
180
264
191
195
224
232
145
249
173
188
233
188
191
130
211
164
217
238
245
181
260
249
204
161
179
173
187
246
200
145
173
200
169
210
143
143
254
185
213
214
217
185
171
209
206
239
222
217
192
210
296
164
190
165
180
221
146
302
177
174
202
182
161
200
158
195
221
320
178
164
185
191
262
183
216
300
201
222
247
280
191
202
186
238
188
173
150
201
157
143
232
159
166
130
191
169
220
211
236
158
240
257
173
199
202
188
287
296
226
240
183
130
202
178
164
164
246
211
155
146
157
115
229
201
129
186
252
159
164
187
145
129
193
200
205
221
196
211
188
145
200
184
201
209
211
224
211
129
230
204
210
207
198
130
172
184
216
246
164
129
237
230
168
168
215
155
222
212
174
195
189
178
164
204
282
230
202
228
130
210
169
233
217
162
162
224
222
204
141
132
222
258
129
212
180
219
184
178
129
158
227
210
133
165
178
217
183
178
244
176
202
249
230
161
251
133
197
273
146
214
130
230
202
162
179
211
216
237
173
146
181
183
220
235
160
161
166
208
146
200
141
145
146
180
145
211
212
168
161
203
221
240
244
204
176
162
209
184
199
279
181
169
168
214
189
211
247
208
173
198
279
157
219
235
205
145
168
189
164
129
188
248
174
242
227
179
161
158
143
239
218
204
221
204
158
199
246
192
171
192
206
227
197
194
195
179
238
225
221
246
173
200
173
175
200
173
204
188
200
171
182
190
176
255
164
145
258
173
184
158
204
197
180
210
170
265
209
169
165
133
185
129
236
182
167
223
161
258
236
181
227
242
162
204
199
129
184
173
161
169
183
239
201
244
176
182
214
208
198
133
143
143
130
155
190
216
152
201
300
256
227
176
244
188
272
191
184
211
210
239
231
214
182
206
192
221
133
162
260
141
158
201
201
180
257
243
246
181
185
261
264
190
185
246
223
217
188
216
173
173
210
176
164
157
183
133
235
250
115
274
159
180
151
231
155
200
168
256
156
191
180
263
175
179
204
138
146
189
212
195
168
206
213
204
130
197
128
133
227
201
184
181
236
258
159
221
173
202
130
211
213
241
158
211
271
168
236
130
202
227
191
182
224
176
202
156
173
209
176
217
133
190
230
182
200
205
218
176
129
214
204
149
181
255
176
239
321
143
219
169
225
170
206
250
177
187
294
172
155
230
228
259
176
203
212
211
206
168
204
200
162
149
173
145
179
175
192
200
262
189
156
129
211
261
158
211
175
173
181
228
228
129
141
169
143
233
265
199
174
207
146
211
257
145
189
231
115
164
200
201
130
171
164
155
162
129
222
202
206
160
206
146
229
130
191
143
129
181
174
165
176
115
181
200
202
149
214
169
187
130
168
238
269
216
218
194
173
156
146
238
155
189
186
192
145
214
160
144
178
225
259
158
200
164
182
186
195
241
130
184
187
247
183
171
225
180
191
168
211
206
176
200
251
217
129
181
230
146
158
173
115
171
224
230
173
172
163
146
212
176
214
190
178
145
205
217
215
238
217
215
166
274
115
155
172
190
147
204
180
204
222
192
164
168
186
272
187
208
169
204
129
202
264
202
166
178
204
190
171
203
206
256
201
211
162
173
211
203
204
176
242
173
207
182
129
204
145
145
214
289
212
182
177
184
177
169
206
230
287
210
211
183
152
176
165
228
217
155
245
202
168
209
201
178
201
188
167
176
213
143
199
152
214
155
115
143
201
255
200
175
194
241
129
166
213
130
162
171
237
166
240
160
200
169
179
168
190
202
210
180
183
264
244
162
189
163
204
159
226
256
200
211
212
185
157
253
237
129
231
173
168
189
272
144
264
232
177
241
145
181
258
176
181
184
225
146
255
200
130
179
188
195
192
178
247
188
219
195
161
166
177
138
187
158
185
206
133
200
168
223
246
133
192
225
205
214
214
188
218
160
187
164
146
225
242
211
239
197
180
264
183
168
172
183
190
155
229
179
230
130
324
184
239
227
202
188
130
185
170
258
226
191
170
146
150
141
197
176
214
206
144
173
228
211
261
129
189
237
247
132
146
225
170
179
223
173
204
145
173
155
130
194
222
133
145
173
260
206
206
169
182
200
146
196
158
176
201
156
190
166
155
175
239
149
192
215
235
185
184
204
151
164
159
188
226
167
204
310
205
157
197
171
193
115
248
221
146
242
115
230
180
185
209
174
173
206
258
325
218
176
146
245
182
204
188
187
173
186
174
223
169
227
209
208
214
205
191
204
146
184
283
213
210
191
204
271
189
173
216
176
211
190
168
176
173
234
173
156
260
284
163
199
194
119
246
162
195
244
225
182
221
245
211
175
244
185
155
150
184
211
169
202
213
175
231
242
195
146
182
229
287
176
165
238
208
230
204
173
200
231
190
169
201
171
200
144
214
176
206
206
246
182
202
181
217
244
192
206
146
201
176
204
173
182
188
255
183
185
192
184
164
206
264
201
214
217
166
193
179
171
163
201
184
237
145
190
173
173
225
223
239
122
201
212
143
202
179
182
181
248
176
210
216
133
255
222
205
228
143
318
219
248
186
261
262
130
147
257
186
201
146
150
164
234
167
170
204
290
145
222
173
164
182
129
192
188
193
263
204
129
129
177
158
202
222
263
333
211
186
250
216
175
237
164
177
173
248
216
182
203
146
227
236
156
194
168
256
145
146
146
226
188
201
158
150
218
208
237
210
185
175
173
146
245
228
264
173
216
250
183
207
258
225
221
188
266
246
173
171
166
212
201
188
156
177
230
166
169
181
233
172
231
163
236
119
211
179
165
210
176
146
205
206
175
247
184
204
206
143
307
190
236
192
201
274
283
168
186
184
206
150
174
145
277
247
180
212
204
208
191
165
188
247
233
222
162
173
203
173
173
213
129
156
143
238
241
244
169
206
185
256
173
157
176
164
149
173
216
180
174
194
200
204
237
217
176
173
166
186
178
204
195
212
231
129
205
130
146
132
165
179
198
178
183
168
218
180
176
184
235
152
190
217
173
210
173
229
214
187
168
207
209
228
178
168
163
146
194
182
162
173
173
173
158
173
212
211
130
155
133
227
201
153
145
205
131
199
263
188
204
229
215
200
236
240
170
146
191
204
194
181
146
251
196
192
176
200
166
162
213
243
256
149
206
130
179
145
237
173
169
237
183
218
156
192
173
214
236
181
115
156
202
191
200
180
138
249
237
155
149
225
127
195
129
129
183
178
140
209
173
146
244
127
146
158
255
164
204
187
162
122
168
178
145
176
158
179
270
229
115
174
179
206
184
231
180
166
168
189
168
230
177
256
204
139
129
230
175
178
204
197
211
146
261
309
191
211
192
119
182
182
191
203
218
261
188
191
149
187
145
168
151
239
185
155
129
202
176
176
176
209
160
222
183
129
184
233
197
211
224
159
183
227
158
164
240
218
165
180
284
182
173
176
206
218
226
230
176
216
184
335
181
204
163
173
186
162
179
228
172
179
229
162
145
179
234
236
325
190
214
258
169
204
175
174
173
182
181
243
255
162
232
189
274
173
188
189
241
129
210
211
146
164
168
185
162
129
211
144
202
208
176
235
205
227
247
239
214
237
156
143
213
186
173
186
129
129
178
181
145
204
173
159
156
146
225
150
235
179
260
180
184
193
255
164
224
210
207
200
238
183
234
204
210
179
206
178
200
215
253
166
145
254
171
204
194
211
186
285
245
223
197
192
237
182
204
236
179
158
201
143
194
184
222
169
264
129
180
146
191
182
264
155
179
222
115
170
204
258
208
181
173
217
251
169
115
115
146
164
204
172
204
206
174
217
300
230
231
289
206
145
194
183
190
146
275
130
158
211
181
180
227
146
174
183
215
173
146
186
198
228
184
168
141
195
119
255
201
130
236
130
206
188
230
233
163
211
181
208
248
179
201
173
211
143
183
129
234
205
187
178
209
178
176
200
270
173
227
182
237
168
221
202
172
146
162
180
257
201
204
130
191
130
146
169
216
183
210
182
210
186
254
206
172
195
175
158
225
165
160
193
129
173
176
158
232
195
168
201
265
171
164
217
204
176
204
200
261
150
266
162
246
235
181
150
210
207
204
217
210
195
221
182
169
160
230
186
201
227
199
168
174
181
173
200
143
214
230
197
201
169
210
230
206
225
206
152
263
193
162
226
203
207
173
217
236
155
214
184
181
188
291
130
186
191
238
191
138
173
292
160
182
166
168
200
198
212
212
263
183
335
157
192
242
130
162
213
211
230
210
305
207
192
260
201
115
261
208
238
189
265
200
186
215
169
185
204
204
144
209
206
180
204
227
206
218
129
276
186
145
128
162
133
206
172
191
130
129
168
210
223
217
199
166
143
175
183
156
167
214
138
206
158
115
202
173
196
138
254
214
146
190
213
190
149
197
130
191
173
188
181
196
173
178
184
227
239
198
217
268
230
202
187
206
176
157
200
286
152
145
258
182
169
207
159
151
252
129
227
217
145
207
173
129
188
168
146
149
173
236
173
186
290
210
234
130
197
181
174
191
272
173
143
256
231
335
184
202
152
183
181
173
157
182
211
237
129
130
193
169
194
160
215
164
157
146
129
217
149
170
254
201
204
122
184
230
130
146
163
254
179
167
185
200
202
204
245
172
145
211
146
119
214
238
172
204
138
191
179
166
146
158
176
173
177
204
153
176
232
183
201
229
145
133
212
202
162
176
161
168
130
149
149
217
228
146
146
158
130
188
236
160
129
229
115
173
209
259
238
169
201
146
207
219
246
150
179
223
228
222
133
179
162
189
248
184
272
182
166
176
173
229
173
206
184
173
183
130
194
182
206
193
201
256
160
219
144
176
176
197
261
209
128
192
273
218
217
210
171
214
230
146
199
201
262
168
173
201
324
239
188
211
183
179
184
190
264
197
183
251
307
133
176
151
189
165
177
202
184
264
232
210
129
198
230
225
245
188
192
211
155
225
167
226
191
238
169
176
173
212
189
206
307
182
208
217
191
141
172
129
204
283
129
192
146
237
204
208
218
115
190
207
234
161
214
209
246
178
194
192
152
143
227
115
164
214
150
164
248
188
236
164
130
193
222
200
180
122
119
211
265
209
204
176
145
130
200
188
185
200
184
231
182
160
214
200
208
283
197
157
199
191
176
168
234
171
200
179
211
205
224
179
262
210
230
210
184
129
149
230
130
155
189
146
186
182
222
200
130
180
265
149
156
141
164
182
181
133
191
202
176
169
217
247
188
145
180
211
164
228
248
199
141
199
199
169
219
178
227
130
173
270
198
169
200
182
210
208
258
184
144
181
231
187
254
207
250
230
156
210
227
204
185
150
219
156
164
151
173
280
239
240
188
176
256
141
238
178
217
199
182
236
179
170
229
201
264
157
241
264
236
158
181
213
256
235
266
211
162
146
183
146
160
152
149
147
189
149
220
212
220
132
130
173
212
143
144
141
141
185
216
145
250
202
261
181
115
190
182
237
128
155
228
201
252
153
122
157
153
210
184
217
172
240
181
230
168
239
217
185
149
152
158
211
218
184
219
168
203
236
186
191
194
176
210
241
189
205
168
173
150
162
160
150
145
176
174
174
187
198
204
176
160
184
158
182
240
166
178
184
158
199
255
212
209
239
146
227
198
206
167
217
217
176
180
173
231
146
216
180
210
220
191
172
130
197
186
191
175
230
130
176
147
151
129
146
180
130
115
141
201
222
164
213
259
214
143
191
191
189
169
275
158
266
164
231
179
238
207
181
211
179
215
253
130
201
180
130
209
194
205
173
152
307
236
215
172
201
286
187
187
205
146
144
211
207
204
130
236
236
160
217
203
191
264
170
176
180
146
193
264
212
192
195
152
211
222
146
164
212
234
220
185
249
196
128
204
217
152
173
231
173
145
206
196
160
225
192
172
146
146
152
129
210
242
258
154
173
267
224
141
185
129
222
206
174
176
183
190
182
150
179
143
181
260
130
141
244
180
210
210
209
132
195
213
206
168
182
224
202
246
130
211
185
141
143
180
201
151
261
208
211
179
145
171
222
173
227
129
162
182
251
184
260
150
195
192
128
217
215
187
184
224
232
201
242
224
224
210
156
174
176
205
122
146
176
231
164
229
221
183
115
164
201
204
138
167
264
206
257
130
180
235
130
252
204
224
195
138
204
242
173
182
218
221
210
210
173
277
247
141
130
198
197
141
219
231
194
141
194
146
129
202
182
176
187
146
155
239
264
168
174
130
246
210
210
184
209
206
216
162
200
206
130
193
254
220
159
210
212
146
130
155
144
228
236
217
210
168
146
170
168
145
172
160
235
178
194
158
259
208
188
191
240
204
206
265
169
221
203
219
180
185
260
162
201
238
133
222
168
185
200
193
214
146
164
266
147
130
168
202
156
143
206
221
130
152
185
240
191
150
143
173
211
239
219
215
129
272
176
322
228
178
129
202
206
201
204
242
182
146
206
174
222
252
207
203
195
152
183
201
182
138
199
206
172
217
176
182
214
194
205
208
156
227
266
152
208
163
180
173
200
284
130
232
210
210
119
235
243
190
227
158
169
195
152
182
225
270
191
138
293
233
211
129
194
146
239
205
186
182
181
202
178
214
258
204
210
230
209
171
130
190
178
155
195
189
232
191
162
203
187
173
172
206
187
144
206
164
168
190
264
326
200
130
162
206
189
176
207
199
165
211
149
207
185
130
146
288
188
206
176
181
150
202
199
206
145
153
149
194
202
210
173
177
263
133
164
192
286
217
173
238
206
233
227
173
203
204
129
234
201
176
146
160
207
187
299
244
164
246
197
242
179
171
239
183
163
176
210
202
206
175
173
176
275
238
228
211
133
184
214
206
243
150
164
202
220
183
231
190
292
188
129
158
146
247
173
269
115
174
166
223
152
244
207
143
143
169
166
149
145
212
177
173
206
164
173
210
210
130
188
152
229
176
129
264
176
173
201
184
232
277
219
230
145
173
241
235
238
174
159
185
193
179
205
129
158
173
185
206
183
182
176
244
266
130
191
231
169
216
172
233
204
177
205
236
146
283
250
228
209
235
204
176
133
201
165
200
130
207
129
192
141
204
151
158
145
215
183
191
199
259
202
215
173
157
176
237
164
219
180
179
115
207
210
204
171
146
201
274
133
221
129
180
129
232
176
173
179
176
115
253
177
236
248
162
194
206
248
181
187
133
129
219
192
200
202
173
174
129
161
182
190
231
122
248
206
217
173
185
168
253
229
201
193
237
143
182
173
129
130
173
220
261
202
235
191
141
168
209
156
157
227
173
184
176
195
169
156
252
199
254
238
152
247
176
206
146
210
238
199
180
256
129
129
155
192
210
174
206
192
192
167
173
144
169
169
204
225
131
217
286
261
335
130
222
201
163
201
320
189
217
189
244
155
176
168
221
130
129
227
228
169
198
230
200
250
194
176
236
171
173
204
209
262
173
176
240
172
133
179
158
205
176
183
144
254
176
145
221
231
180
168
156
129
223
238
216
210
260
130
191
218
181
257
233
183
163
186
197
247
168
146
146
226
202
171
161
115
238
202
188
204
170
219
239
155
146
164
178
210
176
183
248
251
164
247
205
201
188
235
162
146
133
294
146
190
201
180
179
255
209
188
169
176
211
212
115
231
166
303
130
186
240
119
191
130
158
206
145
173
173
200
146
225
173
168
173
184
211
214
176
230
169
169
203
190
211
151
141
194
143
193
193
158
191
321
238
133
145
183
255
173
246
209
249
263
122
202
218
239
206
162
176
186
176
133
237
146
183
143
189
160
204
149
178
188
178
185
129
177
191
174
239
242
195
173
228
144
236
179
129
280
214
217
145
173
162
186
173
247
166
171
146
235
206
222
178
228
178
236
182
175
169
221
115
179
180
227
146
201
173
197
191
225
124
163
221
181
185
162
141
155
183
176
191
196
208
226
206
146
172
144
275
156
214
199
129
225
176
129
262
192
182
157
176
143
201
230
186
202
208
211
199
239
176
191
202
173
226
204
180
209
202
166
229
254
146
173
214
283
260
209
166
311
230
262
130
261
227
241
182
240
184
227
133
189
173
191
162
195
200
197
212
162
190
179
237
130
173
204
218
174
186
168
188
176
303
213
257
146
198
221
177
228
187
168
155
201
130
234
186
168
186
169
173
184
167
221
191
166
165
189
205
200
230
176
190
159
155
166
177
204
122
179
300
216
205
190
203
122
205
214
210
175
224
230
199
203
216
236
192
237
169
198
149
179
216
212
191
209
210
258
260
129
211
296
191
186
183
169
146
188
271
287
254
200
246
222
171
141
237
171
183
188
184
160
212
129
229
224
149
129
191
227
229
205
187
146
180
264
164
200
256
188
173
246
247
221
174
172
169
115
191
143
226
164
217
175
210
130
169
177
173
176
275
190
175
186
122
262
277
179
242
169
180
143
212
156
301
210
115
258
268
212
193
170
183
173
155
300
130
261
203
202
212
261
145
173
207
204
192
173
170
211
244
229
215
203
187
183
130
212
274
218
187
170
223
206
157
190
155
130
169
146
236
211
230
128
280
208
190
211
259
146
122
174
174
188
145
227
279
205
244
203
180
173
180
182
168
177
115
182
246
169
261
184
182
173
240
192
190
192
164
168
180
168
218
173
158
200
184
130
256
181
146
204
168
283
236
200
177
285
225
195
239
235
182
180
183
182
204
152
227
144
153
228
187
238
215
246
146
218
222
211
252
129
173
204
217
217
146
258
221
241
143
177
211
168
182
129
225
167
265
189
167
182
169
237
243
149
183
183
191
208
230
152
208
219
187
173
178
132
166
191
176
228
210
143
206
202
335
224
143
182
176
162
133
129
183
203
206
161
179
169
146
168
146
145
221
202
210
149
200
204
204
130
178
236
191
248
301
195
156
129
146
176
130
201
189
231
176
146
220
210
178
150
248
130
250
194
181
211
190
183
201
227
205
197
191
173
130
183
237
147
236
185
193
182
146
173
168
248
158
179
242
178
168
210
295
129
165
185
263
230
231
265
179
206
174
250
129
129
172
215
214
162
161
146
250
324
194
205
282
200
204
204
233
130
179
179
230
300
178
181
231
200
233
247
230
164
176
173
146
207
247
257
234
216
146
130
190
130
211
176
253
195
158
254
180
161
183
236
145
173
130
206
239
243
151
236
204
217
155
190
146
202
176
185
213
183
209
168
192
228
271
158
129
201
129
222
179
169
159
264
129
160
160
130
236
183
173
186
248
186
267
162
232
144
229
210
217
129
239
238
192
244
193
128
207
166
133
210
176
189
179
214
189
230
146
155
143
202
130
255
247
181
204
183
178
221
158
145
235
228
202
146
194
266
175
225
146
217
178
201
259
145
146
206
184
225
216
202
186
238
169
205
242
152
195
215
201
138
129
130
211
179
258
206
204
213
213
294
217
185
208
115
150
225
188
205
242
234
269
220
174
175
214
133
160
162
241
173
208
166
129
166
143
176
204
206
200
193
288
156
204
130
256
158
237
204
184
193
167
138
256
170
260
155
246
138
153
241
270
213
179
176
207
146
222
190
214
216
147
246
195
184
146
310
200
208
209
138
146
143
231
141
173
179
230
210
133
180
197
192
255
234
261
201
192
146
173
255
145
164
122
155
220
281
182
229
179
244
190
205
184
162
146
168
146
274
211
146
198
227
272
227
176
153
161
199
200
204
172
161
209
159
140
145
182
143
186
210
166
184
242
176
164
155
217
212
224
272
146
184
182
253
184
209
198
184
178
132
179
130
283
204
216
236
130
255
164
173
129
180
185
189
238
200
119
204
206
174
201
194
234
159
172
185
197
173
199
241
199
219
185
183
179
218
158
155
192
192
157
202
180
130
163
143
212
242
155
218
209
217
195
146
239
167
200
274
146
164
132
168
225
218
195
191
173
133
216
177
130
235
217
205
204
146
255
133
236
205
204
158
186
173
176
173
225
174
115
234
229
146
187
253
195
162
206
157
161
173
115
188
183
188
199
179
183
251
204
246
165
211
129
208
184
174
164
173
182
170
152
182
281
133
173
203
210
200
256
184
227
181
205
215
161
238
272
183
184
189
209
268
165
143
266
199
200
262
129
115
201
232
166
151
179
168
156
166
266
162
182
182
175
146
211
151
122
193
176
206
198
161
129
146
132
235
191
183
212
159
146
225
164
156
222
195
182
210
146
164
173
208
243
195
266
187
173
227
296
195
191
179
206
168
130
137
225
247
204
191
209
228
158
219
150
162
151
176
150
165
130
217
195
129
152
179
185
232
244
184
284
178
173
236
194
197
173
255
191
258
173
157
195
198
245
176
210
180
250
169
277
228
188
158
227
183
141
240
141
201
187
276
158
200
198
178
173
132
182
133
214
129
179
211
184
226
151
224
214
146
239
185
205
158
146
227
146
269
179
146
172
264
223
160
204
249
237
150
237
286
269
231
176
173
231
210
202
259
158
185
179
241
187
195
302
194
243
146
241
176
247
166
169
176
202
161
149
179
215
172
115
214
228
214
230
245
132
192
169
187
129
155
206
168
261
115
205
246
206
239
172
300
177
210
199
177
129
183
189
217
133
222
202
224
200
262
208
199
212
195
129
184
217
174
217
200
222
209
173
176
188
256
236
179
146
214
186
176
203
143
201
184
129
200
186
209
192
145
143
206
146
191
187
238
218
178
191
227
191
162
236
195
161
158
193
158
214
217
179
161
195
129
164
153
194
180
173
222
174
129
173
224
168
184
199
179
186
168
149
162
235
178
182
151
180
195
212
206
180
170
182
230
204
230
162
186
255
199
283
133
226
289
239
239
205
252
170
222
184
128
188
200
141
155
177
184
189
158
286
146
229
158
157
263
217
206
161
214
201
189
175
200
277
209
176
217
168
211
204
163
145
178
130
217
253
184
155
217
129
230
186
176
265
258
234
261
178
214
243
222
178
182
220
143
210
141
210
257
255
164
214
168
191
115
179
203
254
158
226
191
256
176
214
296
149
130
232
243
225
268
192
187
183
202
335
210
192
155
222
144
146
260
238
193
255
212
217
261
291
164
164
249
149
260
242
222
178
145
173
173
145
183
221
158
164
119
176
166
246
173
319
138
168
142
202
183
207
216
254
249
229
211
186
265
151
229
185
223
146
210
130
214
171
187
184
162
191
279
143
173
183
173
258
190
146
128
141
204
130
213
146
176
185
178
189
211
211
230
218
223
210
145
233
173
130
266
175
184
183
170
209
158
210
228
146
242
185
267
173
252
129
168
119
166
188
129
217
219
201
168
144
176
170
252
204
254
202
179
206
245
173
181
204
162
201
165
184
122
182
210
129
129
225
236
139
146
158
193
205
267
156
143
192
150
226
204
230
187
185
180
238
129
217
158
161
145
194
130
211
207
151
206
177
195
277
234
195
162
222
207
115
251
182
155
211
146
178
169
169
193
129
217
217
192
155
162
183
209
150
179
190
294
171
188
149
246
190
204
162
184
253
202
189
218
243
210
209
164
212
245
226
229
243
173
162
161
175
236
192
232
169
237
207
192
153
146
182
196
203
146
232
170
181
183
181
128
161
225
168
168
158
201
130
236
237
204
129
200
183
204
190
208
115
237
244
152
225
176
127
190
133
146
219
146
189
164
204
198
171
169
217
168
171
184
335
184
250
209
197
204
130
217
257
159
259
156
185
129
206
160
238
206
191
173
267
204
130
194
152
180
264
191
201
240
200
205
181
186
247
237
277
176
185
129
145
189
214
155
164
173
252
179
169
173
153
221
176
178
249
138
224
176
129
183
182
264
202
196
207
150
151
168
226
174
203
202
280
201
173
173
210
202
128
170
166
204
168
217
150
242
143
158
146
181
138
146
230
262
130
191
129
197
230
187
210
201
215
188
230
212
264
166
175
195
220
194
133
213
216
216
173
155
129
224
196
259
152
178
187
253
217
145
146
158
206
181
194
208
150
176
188
180
214
173
173
191
178
184
190
162
200
220
187
177
242
157
146
146
143
264
217
169
280
186
173
195
184
255
181
130
236
210
173
133
211
147
129
168
182
155
159
182
230
166
230
206
129
255
192
219
239
230
172
274
202
270
214
190
221
246
184
184
204
184
206
145
176
184
165
182
184
150
279
194
189
229
216
141
162
146
230
176
150
235
152
209
246
204
253
146
225
150
180
173
169
200
316
170
160
115
168
174
210
157
162
161
129
200
176
215
204
230
243
229
185
173
130
153
200
208
145
132
221
184
144
210
213
170
210
176
160
224
168
182
210
225
138
166
215
201
211
173
226
162
226
181
176
145
201
204
182
192
143
222
201
253
146
181
176
146
132
206
264
115
246
257
217
228
182
162
202
161
182
146
256
188
192
204
129
242
210
235
204
164
238
191
173
193
206
202
200
263
214
200
182
191
281
190
199
211
217
239
201
176
174
262
202
221
296
230
210
145
162
276
173
276
162
213
228
138
170
146
223
198
180
170
192
262
203
300
264
149
227
130
146
260
259
211
289
189
198
211
163
228
166
211
240
155
162
146
175
204
184
189
176
230
181
206
181
115
204
230
163
185
188
210
238
214
130
174
182
129
150
201
129
200
143
176
210
129
245
195
191
176
212
169
164
276
176
175
199
176
173
204
182
214
184
257
205
254
190
239
151
151
179
249
182
201
183
271
211
176
220
265
229
191
171
254
129
236
204
188
262
266
178
138
160
149
115
177
311
225
222
166
143
216
167
251
193
179
180
183
185
213
204
222
215
252
141
200
239
178
194
146
160
260
144
162
146
190
197
206
201
144
174
143
191
252
182
191
228
202
145
196
149
141
185
190
214
168
200
227
192
173
214
171
143
139
180
204
217
162
182
185
236
156
173
221
167
237
189
287
145
146
143
146
156
152
207
211
216
130
190
194
303
230
152
216
184
172
190
156
204
225
186
207
129
204
173
234
221
221
171
249
143
235
214
130
263
179
270
171
234
146
129
210
145
206
261
138
170
186
181
188
174
222
189
207
184
176
184
138
200
239
183
164
184
222
180
164
227
181
129
143
168
205
197
176
179
263
195
133
225
212
141
253
183
220
128
162
200
208
213
226
195
173
129
180
129
252
174
219
188
221
169
203
181
186
204
186
173
178
152
176
250
212
192
231
221
250
166
228
201
175
210
255
210
157
173
219
226
130
181
250
172
231
159
217
225
228
169
143
295
246
129
191
196
247
166
180
168
217
228
202
248
130
324
128
176
217
143
187
228
200
185
197
162
221
200
259
225
199
208
149
335
199
194
158
262
169
226
175
234
236
199
130
146
214
173
210
130
200
139
214
259
209
180
160
215
197
225
219
129
194
207
184
184
226
168
129
268
184
221
174
179
244
303
172
168
155
264
217
133
129
228
198
193
192
202
257
130
158
150
182
248
133
168
183
261
185
230
182
225
184
129
180
191
232
191
165
214
208
181
183
203
224
216
262
182
176
173
226
199
209
158
185
145
267
133
129
181
132
184
186
168
158
178
130
222
299
201
178
217
150
210
299
230
208
145
129
170
237
151
200
246
170
133
115
202
191
162
179
282
218
221
210
152
185
183
211
129
164
210
181
176
154
200
160
145
232
156
207
157
179
146
254
199
225
168
176
169
160
129
160
304
149
157
168
257
200
129
250
211
164
178
221
191
161
230
168
247
204
233
155
169
178
204
156
206
201
176
238
211
221
200
169
211
133
204
146
199
206
182
128
129
197
178
227
220
129
222
162
221
169
233
147
217
130
190
231
215
183
182
166
160
217
287
206
213
217
149
192
152
180
170
160
174
146
115
207
176
138
237
287
174
200
204
234
201
158
178
119
176
146
186
130
259
176
179
245
178
130
182
188
150
210
138
264
239
206
255
115
129
277
130
226
184
193
258
150
130
130
178
195
182
241
236
163
171
197
173
219
157
193
223
130
178
208
257
178
228
254
197
192
231
185
201
271
167
158
130
246
239
220
191
202
173
129
250
183
132
247
187
202
195
146
250
168
150
143
187
146
133
176
211
230
201
184
129
229
185
206
230
196
159
174
162
119
175
155
191
244
160
191
244
210
190
129
202
255
193
204
179
191
207
162
216
229
176
217
218
227
227
213
143
176
129
183
181
214
217
265
242
240
188
150
172
206
178
174
201
210
243
176
146
201
180
195
206
163
217
179
214
272
130
242
173
204
130
257
186
244
133
234
236
244
146
130
181
184
176
248
236
168
170
252
173
146
201
130
149
281
143
176
181
181
204
173
170
171
129
202
176
173
197
188
145
146
234
210
191
202
175
244
203
174
263
306
199
251
184
146
207
184
188
239
178
158
176
284
205
208
219
147
187
149
173
173
258
200
146
265
164
129
204
211
115
130
201
180
182
191
225
156
185
162
171
168
145
256
204
265
162
174
244
217
217
155
219
197
146
168
192
133
171
173
115
173
242
238
278
151
168
199
215
243
115
200
160
321
246
262
176
155
242
146
173
221
201
155
164
242
178
210
179
184
141
235
187
195
189
193
193
128
162
176
220
227
166
274
162
241
150
248
199
274
179
217
130
173
206
200
150
225
129
284
204
239
266
155
138
157
133
179
286
176
211
216
133
173
200
129
216
164
200
225
152
162
244
199
162
185
146
204
234
181
146
335
171
210
211
164
179
146
225
166
209
234
130
161
160
170
173
169
145
211
221
209
197
130
201
187
179
247
174
213
138
179
133
159
193
216
180
205
196
173
173
129
168
218
209
247
239
219
228
171
225
217
238
241
246
171
185
184
157
221
204
143
184
236
176
210
180
155
203
152
176
174
266
173
166
208
176
217
151
210
150
222
206
255
145
228
316
132
202
146
146
202
230
173
167
129
157
133
179
259
210
130
143
130
166
224
236
194
158
209
227
197
129
202
143
201
218
224
210
172
218
141
147
162
115
176
176
285
182
156
241
145
219
187
194
115
143
180
156
182
222
145
156
207
188
176
183
234
262
145
204
226
173
197
298
168
129
204
145
211
190
184
204
180
176
165
290
210
149
217
236
179
150
193
214
171
130
144
161
199
201
128
200
205
221
211
183
184
193
252
143
214
181
216
216
225
156
214
145
269
183
188
173
222
155
224
210
143
186
207
217
186
173
197
235
212
203
129
220
158
225
133
181
246
248
182
203
210
194
190
164
229
218
261
138
161
209
162
177
198
176
208
277
218
141
226
188
173
173
215
204
230
263
156
201
197
202
163
185
145
180
198
225
229
208
256
164
214
224
217
168
230
171
245
272
201
172
201
206
179
175
200
211
225
257
161
261
184
146
197
186
195
247
168
168
213
200
188
265
185
192
190
180
179
186
166
176
141
155
176
168
210
255
256
203
217
203
156
181
189
138
245
188
236
149
203
207
161
146
179
283
221
179
182
155
206
270
211
191
250
165
179
218
168
303
173
183
146
274
146
176
239
168
162
160
236
202
130
160
210
129
200
182
229
205
256
173
213
155
180
205
130
192
178
184
226
132
217
133
175
167
239
129
182
259
178
171
204
213
220
263
220
203
256
215
197
130
184
181
182
184
203
185
236
217
190
183
216
240
216
146
188
204
128
233
187
166
263
185
241
261
204
208
210
246
189
236
320
217
176
200
169
192
210
244
185
231
184
201
221
146
202
191
185
202
194
203
212
250
196
196
200
204
145
213
204
176
187
198
176
162
172
178
130
217
200
208
176
171
130
200
227
160
191
205
164
204
205
195
292
200
238
182
242
276
227
156
173
192
241
194
179
173
247
194
166
115
141
149
156
145
176
232
143
129
179
230
185
178
173
183
132
288
335
204
194
161
210
176
227
209
253
238
218
160
206
204
248
188
242
188
232
146
163
191
173
176
242
254
238
246
217
164
232
191
251
191
173
335
235
169
183
204
163
212
168
190
244
129
258
173
115
176
184
216
236
129
229
239
200
283
171
230
189
219
200
182
242
228
143
257
189
210
210
256
173
201
143
262
157
173
129
173
141
236
146
166
252
240
229
177
251
206
145
129
146
203
133
164
237
152
187
204
222
211
145
160
227
173
173
212
217
149
171
250
176
191
232
210
190
208
171
203
278
204
217
168
191
225
191
204
216
200
210
204
169
212
197
178
184
185
227
145
130
220
166
228
130
193
224
172
132
230
180
196
227
262
141
179
176
205
179
218
210
185
230
169
247
146
217
246
182
245
212
245
185
172
151
133
217
178
130
206
183
206
254
212
251
210
264
206
299
182
216
212
298
145
193
269
261
129
145
229
258
195
160
133
216
201
146
181
200
158
208
222
115
152
168
141
275
249
202
129
209
178
201
296
130
169
248
152
143
221
142
183
182
218
158
122
156
203
132
149
200
146
133
184
173
231
204
186
217
246
184
138
239
129
193
171
207
162
146
152
173
244
149
210
199
190
239
164
227
202
167
244
200
173
216
146
217
190
200
204
193
133
155
258
129
291
146
251
173
189
163
176
161
119
246
204
217
132
147
165
115
280
133
204
138
178
239
197
177
173
242
189
158
248
195
210
171
133
158
153
213
174
130
173
158
143
191
138
178
162
143
157
256
200
129
203
200
146
167
167
273
194
200
175
225
235
235
210
225
249
188
181
171
206
221
299
200
256
146
204
204
167
158
219
183
164
173
235
243
178
179
204
161
193
178
237
156
203
183
204
242
231
274
115
130
181
228
236
193
133
167
182
173
247
164
178
200
239
221
204
218
217
244
237
145
182
335
149
169
286
225
198
229
128
211
176
200
170
146
130
150
198
200
170
133
259
166
266
184
180
176
169
178
254
164
184
211
173
181
250
303
194
210
183
180
210
185
130
145
228
167
130
195
267
200
130
217
179
235
146
175
191
190
173
164
145
191
212
182
143
325
199
204
208
129
184
175
130
143
210
203
283
178
170
191
162
250
233
169
173
143
204
187
209
211
217
178
259
146
193
238
180
130
178
152
222
143
208
166
204
264
183
273
246
205
221
201
199
149
198
176
170
184
167
176
173
146
184
227
235
221
209
168
173
157
210
155
188
203
161
236
173
176
217
177
115
132
213
240
157
173
209
249
178
194
204
249
178
247
183
129
261
176
153
210
178
256
156
158
222
204
170
190
212
188
238
204
251
158
200
158
200
279
156
204
218
232
200
173
209
194
246
210
259
194
210
183
171
145
150
183
129
189
234
172
188
171
212
202
227
191
236
186
210
201
246
216
129
217
264
275
261
217
155
171
241
205
173
156
197
201
243
133
130
130
185
159
199
255
242
204
145
165
208
192
264
236
215
156
179
222
186
204
256
204
287
184
201
159
227
210
147
158
255
211
176
214
185
183
162
194
200
216
206
131
204
146
219
160
180
272
169
146
138
229
178
132
335
201
265
115
185
185
141
216
145
229
219
143
189
151
201
216
289
178
133
181
201
204
262
191
178
177
247
183
214
235
192
182
202
203
147
169
245
204
168
243
217
183
130
197
146
129
201
174
146
217
258
176
182
194
195
235
207
259
192
196
210
227
201
210
178
207
193
245
220
149
248
130
242
236
223
186
137
247
250
213
178
176
161
253
162
215
182
201
217
168
201
155
143
130
192
132
245
230
173
146
195
202
223
166
146
188
222
159
115
150
122
213
178
210
144
204
210
222
200
249
171
167
292
173
130
174
204
215
173
146
172
157
133
130
230
223
236
200
212
202
198
202
202
191
163
231
179
210
157
239
132
131
145
207
184
239
184
153
169
179
161
173
159
229
122
200
145
278
181
212
155
173
208
184
250
211
160
216
160
229
130
229
171
167
236
252
189
133
292
161
129
237
128
164
186
150
242
150
217
130
202
157
176
253
183
183
197
263
164
161
240
200
138
178
177
216
164
252
198
224
184
233
204
246
193
171
124
174
244
261
217
130
222
146
210
173
180
166
230
155
180
231
143
250
171
204
207
180
194
180
170
185
218
130
179
168
222
176
218
274
168
251
145
222
145
202
216
272
241
149
161
297
213
180
242
161
146
175
179
160
202
178
235
231
210
202
162
145
115
264
239
176
225
285
155
335
168
210
143
193
179
198
236
115
254
204
209
182
210
144
264
195
157
246
197
191
202
145
191
153
247
254
160
239
176
191
181
115
195
209
204
130
184
173
209
207
170
233
183
174
129
205
185
281
239
194
187
236
173
130
195
190
173
254
206
173
143
162
160
241
205
161
162
163
129
162
176
227
232
174
168
245
259
148
254
249
146
198
211
250
156
150
210
144
204
238
192
182
189
169
222
250
138
192
165
228
206
182
171
229
192
146
187
226
198
173
250
164
218
145
221
143
141
179
177
181
191
166
254
238
129
190
221
199
211
214
170
166
130
181
115
115
204
234
168
196
230
164
212
223
182
188
143
205
243
239
222
210
209
179
210
221
238
168
236
217
176
197
173
180
158
141
182
220
184
210
236
180
227
252
230
204
174
240
214
164
201
128
229
193
130
230
129
156
238
212
194
236
246
158
197
210
204
199
195
233
252
143
288
168
210
193
259
173
138
217
235
180
296
129
173
206
192
254
133
227
250
162
207
237
133
139
191
156
162
133
184
147
141
211
202
202
230
129
145
175
178
191
158
172
150
164
170
246
183
210
260
254
176
183
177
129
188
179
191
162
206
173
211
265
200
221
170
250
266
129
211
130
217
185
229
217
184
251
263
146
169
247
227
169
203
204
182
122
177
157
178
178
133
235
179
130
177
288
164
229
225
192
172
205
236
169
211
183
210
168
214
168
222
258
200
182
198
168
216
173
182
130
146
201
238
174
150
173
172
178
204
165
184
191
212
146
201
168
203
199
208
198
195
130
193
214
243
191
190
179
150
173
146
194
307
267
133
115
270
222
176
129
222
146
206
201
152
159
259
191
211
193
218
217
204
172
163
166
176
247
195
162
187
129
210
224
282
202
176
115
283
174
146
172
158
270
145
221
185
145
230
224
171
184
171
162
176
158
191
249
231
133
178
192
158
278
194
145
236
173
145
210
146
149
122
194
204
145
305
204
156
248
254
146
203
254
175
192
258
218
168
173
209
206
156
180
214
197
201
211
115
138
182
278
219
185
225
212
162
261
239
178
180
156
162
144
204
144
176
221
173
146
204
188
129
202
217
239
192
192
220
227
220
170
235
160
129
150
190
129
244
133
129
177
221
176
210
177
197
172
219
228
132
239
146
175
230
157
213
182
160
238
184
129
115
230
266
130
129
215
204
222
180
122
180
198
204
145
174
146
142
242
146
162
179
193
173
209
236
188
204
250
130
211
178
283
200
202
242
182
216
201
146
156
209
173
149
146
184
195
200
176
230
195
140
192
180
150
283
224
172
155
115
212
184
181
264
204
133
156
257
217
200
130
205
217
157
130
143
146
173
161
217
189
164
147
143
201
264
217
217
181
210
239
190
176
173
156
218
168
129
264
159
258
179
210
193
152
222
202
173
115
145
195
214
176
182
214
176
235
176
146
216
176
133
129
158
193
157
147
145
173
204
267
201
146
182
178
158
273
232
161
172
217
161
254
162
222
128
173
191
256
184
335
188
156
188
219
194
236
174
171
130
129
184
160
145
178
176
237
163
256
143
221
229
195
173
221
203
138
217
214
174
128
166
299
158
172
131
219
226
155
188
173
211
238
200
191
207
199
153
203
192
146
176
219
210
211
206
235
133
201
145
177
173
207
209
192
195
201
190
204
208
261
190
202
246
217
184
185
173
201
122
232
163
260
243
130
172
251
143
179
193
224
182
168
211
176
227
219
178
170
201
199
146
173
176
213
174
222
179
173
155
176
183
236
189
191
228
191
173
173
273
238
180
244
210
244
264
138
176
200
217
209
180
129
212
254
239
149
144
194
202
217
171
181
170
173
258
186
179
184
258
141
141
227
224
243
173
144
229
176
201
184
185
115
229
141
217
240
303
205
191
193
210
143
158
179
149
179
197
216
257
199
129
174
200
203
185
143
182
239
200
191
176
173
184
283
146
225
180
130
156
249
259
252
129
133
169
265
196
188
179
266
229
212
146
162
179
129
291
150
184
206
184
180
164
156
145
166
152
204
174
243
169
130
216
254
268
129
179
185
198
160
129
259
115
241
129
155
128
203
173
211
188
202
168
222
188
129
271
181
201
210
162
152
206
129
155
239
171
189
141
283
216
205
202
233
202
227
191
201
183
169
187
141
173
130
130
204
130
173
178
173
195
210
197
182
176
190
182
162
227
201
263
293
159
188
129
187
245
200
129
186
205
149
130
205
221
201
155
132
146
200
201
237
216
156
237
200
227
176
210
146
179
167
259
168
173
164
222
184
129
179
173
146
214
208
236
210
129
201
184
201
177
365
146
204
201
216
149
179
201
236
168
234
281
255
164
335
184
173
251
145
204
214
213
179
170
203
130
168
219
160
191
181
194
210
188
205
221
203
184
264
189
172
169
168
283
190
165
141
164
211
147
185
204
187
129
146
183
266
129
176
250
213
242
172
188
173
193
204
164
178
211
208
246
246
164
204
224
175
233
166
143
213
182
153
176
282
191
263
143
173
212
178
200
173
186
234
169
204
203
185
218
229
198
230
319
164
189
184
178
172
214
164
173
220
191
178
195
188
180
166
182
181
163
166
230
119
211
242
173
217
210
189
218
129
147
220
225
209
208
206
184
143
205
239
242
161
130
195
214
185
199
164
129
130
185
216
129
158
260
176
251
149
171
214
177
130
176
209
230
201
248
219
152
173
162
185
191
176
189
201
152
148
161
180
197
237
240
238
151
242
186
200
216
181
143
193
270
164
205
229
169
171
261
228
130
152
217
208
183
166
173
236
168
247
229
221
228
185
172
241
155
166
176
146
250
176
204
200
133
146
178
130
185
207
182
145
204
210
145
146
181
204
193
200
188
194
130
129
217
238
173
191
158
186
205
222
201
115
173
227
202
185
176
206
165
254
173
130
175
206
252
164
203
176
225
150
183
229
176
182
198
222
201
173
161
133
218
269
168
189
174
163
122
180
169
224
254
189
213
201
222
244
235
179
201
204
205
176
157
164
176
254
164
253
233
183
203
221
178
158
212
219
140
252
200
130
234
221
150
162
176
190
225
207
230
210
193
130
190
236
178
176
166
277
236
201
164
225
162
183
192
217
247
210
133
133
222
180
156
271
203
242
173
146
182
228
197
191
129
303
129
203
237
235
189
179
208
169
288
168
162
143
200
214
207
235
232
146
179
146
190
180
176
167
129
128
207
181
204
204
181
171
335
129
174
173
212
146
191
226
168
182
197
143
129
282
269
211
200
115
169
128
181
188
178
210
184
192
222
221
192
211
129
233
147
164
169
162
199
151
168
182
263
201
182
179
155
235
144
173
129
167
130
115
189
182
264
208
192
146
273
245
221
206
230
151
287
217
269
177
199
172
158
200
217
214
228
175
185
130
204
138
202
214
129
238
265
176
191
192
162
211
173
239
335
168
191
175
200
204
133
129
281
185
115
257
161
143
162
225
203
160
160
183
188
185
255
189
227
179
167
192
210
146
204
179
195
217
170
211
276
130
185
234
119
143
185
202
176
172
182
286
201
216
200
129
251
261
189
129
158
129
194
204
231
194
261
210
190
130
129
207
211
150
186
130
195
158
152
176
228
203
204
233
216
321
173
209
188
214
182
176
181
184
230
194
237
172
178
176
174
144
180
185
234
173
129
130
262
206
173
209
198
230
155
224
140
129
191
178
138
247
150
201
169
206
189
129
146
234
236
264
240
268
173
184
192
200
223
176
187
197
187
168
130
168
208
253
173
177
212
153
193
185
217
181
211
149
230
224
164
204
130
239
173
129
189
214
205
247
189
230
230
138
181
182
201
129
256
146
187
225
187
264
258
191
203
133
277
130
186
187
223
172
161
250
160
190
206
245
192
216
208
164
145
185
230
160
274
152
185
152
115
130
173
221
222
229
158
283
115
130
184
201
130
202
170
197
182
219
145
233
206
201
183
204
133
216
272
160
212
208
199
147
173
217
115
193
189
157
145
143
185
225
176
189
191
250
274
184
203
195
204
173
204
193
212
241
202
130
169
149
146
210
173
232
174
178
217
206
221
303
203
173
184
202
115
129
217
207
173
183
244
200
252
179
192
169
222
239
193
199
183
277
155
205
204
133
155
182
302
176
210
176
214
156
209
184
130
145
236
217
181
234
230
213
191
130
305
246
162
130
202
146
130
188
163
210
203
202
247
180
210
169
164
192
193
183
236
173
275
167
183
150
303
161
143
203
141
211
184
145
133
228
129
210
130
156
173
185
198
115
231
173
258
158
237
214
248
190
153
253
189
206
130
170
162
141
184
202
227
158
237
206
222
164
133
178
130
212
153
210
214
129
224
185
210
162
248
224
204
183
211
222
227
202
211
275
214
186
275
254
170
217
208
167
218
176
184
160
145
172
239
233
156
252
227
210
194
172
184
190
252
193
192
252
168
187
187
122
263
172
224
284
162
182
182
167
195
181
241
192
218
202
239
210
218
204
245
144
195
141
133
164
141
141
240
160
217
201
146
201
227
185
165
181
164
232
229
233
168
217
173
238
167
201
238
129
222
152
180
254
115
115
195
196
151
146
221
302
143
202
204
185
242
202
190
162
149
299
122
204
229
212
264
186
234
223
272
183
202
228
179
191
190
175
192
181
129
237
179
163
146
238
210
166
259
168
199
122
210
173
191
185
191
194
206
227
173
175
213
149
223
129
252
182
204
180
222
144
230
122
201
285
200
335
237
146
192
188
155
209
167
229
129
173
146
218
249
155
247
222
146
182
196
200
242
192
205
265
227
261
153
184
201
202
173
175
217
179
158
233
188
210
200
195
225
229
217
145
250
146
158
246
260
162
236
222
236
168
188
257
176
205
187
203
263
241
185
164
165
210
218
144
195
238
189
218
189
152
178
184
143
238
145
191
176
176
230
225
234
164
211
181
159
173
189
238
201
228
189
168
138
152
170
162
263
248
262
210
143
296
158
176
115
232
218
161
191
133
217
207
129
162
198
115
158
187
224
245
201
236
122
211
204
172
263
252
181
180
230
178
172
331
216
199
201
279
258
208
247
216
180
210
171
185
173
204
188
201
234
243
204
202
198
155
250
191
152
204
129
176
210
173
207
257
164
146
231
192
180
215
194
164
217
234
166
195
204
204
187
201
143
141
274
156
214
158
173
259
129
200
225
144
206
202
302
176
186
191
192
176
173
273
176
178
119
274
208
146
186
191
192
129
202
210
167
204
180
206
146
162
159
254
184
145
228
145
233
274
184
179
182
227
207
204
197
130
146
162
198
222
151
207
186
176
208
141
193
143
217
252
225
197
206
130
184
245
162
129
122
130
182
180
226
197
149
243
190
201
122
243
251
166
161
272
204
176
270
218
217
160
201
193
176
256
185
175
205
150
192
197
193
130
130
145
236
164
122
198
219
163
211
195
115
133
156
221
166
196
179
143
245
224
153
115
131
150
283
209
181
219
178
213
130
181
217
230
173
177
146
267
195
263
262
231
189
193
149
122
155
195
146
184
207
129
221
206
164
162
192
202
213
221
176
235
240
203
236
235
268
143
164
129
189
192
179
218
195
262
158
247
217
189
192
211
238
266
143
156
280
176
162
320
169
188
208
129
204
179
190
207
202
215
175
203
173
179
202
175
197
143
130
226
203
141
186
129
184
264
227
263
115
167
162
226
243
157
225
270
145
224
173
176
155
185
184
182
190
176
143
164
207
197
196
172
145
253
166
211
204
241
200
182
234
283
221
208
122
198
180
173
168
180
184
204
169
146
130
211
186
145
183
209
198
175
212
206
255
201
173
251
200
173
158
222
239
203
214
161
146
188
201
193
173
155
156
145
146
180
200
146
130
254
182
226
162
179
156
200
146
208
165
193
242
248
161
159
161
145
230
202
261
231
229
173
158
250
214
206
146
129
115
169
151
181
190
175
210
168
242
231
222
186
237
173
180
129
173
156
156
258
210
204
238
146
201
179
184
202
217
222
158
146
198
179
182
164
200
217
138
199
145
264
145
217
230
178
186
200
149
173
221
196
127
191
340
220
256
151
184
115
162
143
153
174
141
189
141
133
143
206
204
200
218
226
209
211
115
176
128
145
234
195
178
227
180
212
242
225
129
209
208
190
143
260
139
211
130
228
176
115
164
246
216
248
146
207
201
191
180
173
202
130
224
258
215
250
256
178
122
178
212
150
205
146
182
144
261
204
129
221
181
115
193
228
187
274
191
130
225
155
201
195
162
191
153
210
195
191
214
184
130
177
168
244
145
201
204
190
206
184
210
237
255
237
196
179
188
186
173
231
209
246
221
143
265
264
278
210
215
210
176
210
146
180
130
158
162
210
184
162
182
132
130
145
150
149
156
211
217
129
179
201
204
233
155
225
169
176
230
234
166
197
202
180
200
146
184
153
181
194
253
261
245
173
187
204
200
200
132
204
145
211
162
146
183
204
282
254
229
200
238
157
176
144
205
173
239
172
201
173
221
231
204
173
176
221
145
185
173
300
180
218
236
166
191
157
213
141
164
155
217
206
208
201
133
222
161
146
166
284
180
184
204
183
229
146
143
204
242
130
130
167
183
129
156
133
176
190
176
188
130
181
128
179
158
191
204
130
146
213
278
199
217
199
212
254
204
335
230
181
239
202
130
149
217
201
224
213
175
176
191
173
212
165
139
179
230
226
170
257
172
207
264
204
273
149
199
130
168
210
129
209
178
300
191
129
184
176
264
227
149
147
176
197
254
145
200
278
200
130
180
188
144
182
155
182
234
179
176
158
219
200
146
214
189
143
261
214
204
130
152
146
217
182
264
146
272
173
172
191
197
195
182
143
201
264
179
263
173
158
263
252
146
173
211
283
162
200
201
263
178
178
204
206
231
206
217
201
222
322
282
210
230
214
222
158
160
206
200
200
224
181
214
241
233
270
129
143
129
236
158
146
143
198
173
188
133
238
130
130
129
183
164
129
230
201
180
246
157
211
204
225
217
229
197
202
209
217
130
260
191
188
206
141
227
129
156
176
209
197
288
162
191
129
173
176
230
201
218
300
201
192
129
192
132
182
182
130
143
303
204
199
210
311
130
130
164
302
181
213
176
299
141
129
210
141
181
152
186
236
167
212
160
173
183
128
178
144
173
138
226
221
173
138
149
180
239
195
179
185
160
202
206
209
176
287
254
184
246
257
200
184
177
175
182
129
145
173
227
129
146
162
213
157
281
170
183
184
172
183
248
238
190
176
129
164
207
129
244
278
146
207
270
228
200
196
204
242
171
149
184
130
247
200
172
179
176
185
190
194
161
240
147
251
201
200
217
204
145
163
146
130
261
210
202
150
184
210
201
165
171
217
217
202
202
198
262
173
214
181
132
169
195
144
161
231
182
176
214
173
183
194
244
157
168
208
176
173
226
164
184
141
162
230
146
176
263
115
132
201
145
193
158
216
194
204
163
180
236
176
129
184
204
185
180
236
184
228
208
262
184
176
149
158
147
234
178
160
259
184
205
210
208
191
175
128
240
263
158
206
144
235
173
195
174
191
173
204
190
218
169
133
129
133
212
133
211
192
173
201
149
146
196
186
208
190
189
179
129
188
176
187
238
164
185
235
192
190
179
205
145
254
153
222
184
250
179
204
180
162
119
230
115
204
251
178
204
115
162
211
166
156
204
197
195
214
195
169
204
186
248
183
226
173
186
148
180
218
153
129
205
187
203
183
217
182
164
159
172
181
200
221
187
200
129
146
179
230
203
180
178
152
174
191
152
191
173
241
217
176
204
153
166
152
241
236
173
210
231
176
147
169
173
236
252
243
195
237
191
156
195
176
166
158
161
204
187
241
129
167
146
191
115
198
204
263
161
164
230
189
160
193
179
227
155
200
160
218
216
169
219
211
205
146
129
200
158
204
217
122
270
138
182
204
129
146
182
181
184
200
238
169
233
176
160
204
188
191
217
133
235
165
157
239
129
208
210
147
174
209
229
173
186
182
173
158
238
285
222
153
251
185
158
230
211
183
223
129
208
229
250
173
197
207
146
132
171
214
153
176
258
144
227
236
164
189
176
230
204
133
188
210
179
162
224
180
174
191
179
202
201
205
198
223
180
252
181
164
129
216
156
190
159
174
149
176
169
210
184
152
154
192
245
208
146
146
162
160
224
225
214
250
155
138
210
189
162
168
216
254
242
222
256
146
255
146
163
247
247
206
186
169
221
210
122
208
146
187
183
261
166
187
176
169
182
204
176
146
256
175
206
211
195
236
193
225
132
216
341
143
169
176
202
204
166
200
211
179
206
176
213
144
130
218
207
158
211
187
176
145
265
278
168
239
179
145
179
115
181
173
200
129
296
176
198
146
165
179
181
306
220
141
178
240
233
155
294
145
181
181
149
181
200
171
162
169
210
162
217
169
145
183
246
185
168
239
248
176
164
235
234
262
191
169
186
146
182
204
207
150
167
130
226
122
209
217
158
184
230
187
145
202
274
183
146
201
217
146
173
190
115
132
186
214
229
205
194
231
133
211
180
164
182
236
236
184
248
263
235
235
145
250
201
193
183
187
138
172
244
160
184
188
225
179
146
204
206
156
159
161
145
178
195
199
176
176
283
217
248
131
168
240
168
216
209
217
195
146
182
227
164
269
204
184
129
173
201
210
221
130
194
146
129
230
176
149
156
130
238
194
176
204
266
230
169
180
225
190
193
133
275
130
205
225
278
211
197
130
178
218
212
190
166
184
182
164
259
183
198
204
183
130
158
212
195
195
264
169
146
225
149
188
224
239
180
220
208
193
150
243
262
130
302
210
233
144
122
238
146
145
200
183
221
150
200
168
255
272
191
155
230
146
189
236
160
200
128
178
263
172
190
115
130
184
182
222
265
258
225
239
162
182
228
184
219
204
146
205
141
188
173
192
192
150
230
168
156
166
241
163
199
187
223
174
235
184
274
165
164
217
201
179
191
184
162
173
222
158
200
221
204
200
143
176
170
188
179
130
129
205
192
242
168
176
166
173
176
233
189
161
180
181
201
158
160
234
143
159
247
129
146
204
182
173
185
162
159
131
180
179
183
145
183
129
208
186
130
232
173
132
222
238
139
176
172
145
162
268
211
212
208
146
207
229
199
160
181
171
254
133
153
212
245
180
247
175
245
210
129
256
176
129
201
173
219
129
163
217
170
217
168
180
133
171
129
156
238
141
190
209
176
130
173
115
187
141
164
150
230
166
210
284
181
169
202
217
217
238
211
160
149
211
176
212
194
115
173
229
240
196
226
265
200
210
238
162
187
146
201
145
190
240
129
201
184
206
204
216
204
204
265
130
246
185
177
157
228
213
194
168
236
210
179
153
252
213
174
231
146
164
171
143
129
172
130
167
188
161
253
130
219
217
195
248
188
145
180
183
148
203
174
217
183
204
187
254
240
190
130
155
145
188
181
144
174
237
202
252
236
228
176
222
165
220
162
176
204
208
210
250
182
253
193
190
122
129
141
129
173
198
210
185
240
133
221
173
152
129
217
238
156
191
256
212
227
211
153
208
236
224
173
211
205
298
164
155
156
200
282
188
178
158
252
292
141
176
174
133
202
130
303
184
197
199
183
130
204
209
194
254
258
145
202
174
206
186
187
193
214
151
225
200
171
150
189
174
166
206
129
204
259
162
210
193
236
130
211
173
155
170
199
166
230
216
185
225
171
169
146
155
115
217
204
208
202
211
175
190
145
210
133
161
130
183
166
248
195
184
227
168
241
194
194
182
164
138
130
158
133
292
129
176
195
115
191
187
184
162
180
230
194
228
203
206
146
230
146
222
213
194
179
182
170
239
173
129
188
229
174
145
259
216
258
217
205
151
173
225
143
239
240
203
230
147
230
176
130
179
244
184
190
169
184
171
192
190
183
232
204
158
173
144
188
218
182
157
207
202
215
214
252
146
143
115
129
143
146
234
199
173
201
143
221
190
158
175
146
168
188
198
179
145
158
155
184
234
251
230
191
242
198
217
202
183
234
129
145
217
182
184
179
274
210
183
180
182
185
210
206
146
184
176
210
324
163
130
182
146
202
207
187
182
281
145
155
233
157
179
233
231
115
173
236
187
168
176
166
133
172
231
211
173
199
247
201
132
204
202
191
204
162
251
194
258
254
174
245
182
202
201
211
174
204
188
185
166
115
173
201
183
216
272
173
222
223
234
215
173
278
194
199
185
185
212
251
223
217
208
205
161
184
173
252
143
115
202
210
197
166
130
204
202
262
288
129
263
130
216
186
194
204
224
335
200
202
182
184
184
179
231
200
201
284
251
210
130
210
167
222
188
198
173
177
166
259
191
186
207
230
190
162
221
175
202
169
196
183
230
146
158
190
129
158
185
239
205
173
210
179
178
207
151
172
216
187
183
238
178
228
173
168
197
191
172
155
217
161
172
175
211
176
184
222
173
141
158
192
212
207
186
253
186
194
222
270
183
205
198
174
214
183
198
188
188
157
217
198
278
184
205
174
195
158
200
169
222
188
211
219
181
224
263
238
222
180
190
217
141
178
238
204
212
226
151
175
157
229
226
129
168
248
191
213
236
210
176
164
215
146
261
226
149
225
160
196
186
173
178
209
242
201
176
143
173
187
227
115
191
296
158
185
240
178
166
201
214
168
273
257
261
210
218
167
188
133
195
173
158
183
185
162
186
175
207
241
259
202
191
258
184
216
206
152
241
242
230
168
254
188
308
219
201
185
231
228
151
242
199
192
172
122
237
176
247
168
174
237
185
145
183
210
190
243
201
145
156
164
228
235
206
246
190
231
218
200
222
156
184
191
209
177
227
202
239
239
184
146
231
169
182
115
130
229
146
245
227
202
210
283
225
233
168
171
129
164
157
188
335
227
225
192
248
200
192
206
206
171
170
205
253
218
224
194
205
202
200
241
202
227
143
204
162
211
129
190
210
195
157
182
158
181
210
176
273
146
163
250
232
238
183
184
129
178
168
145
168
204
263
192
224
213
130
130
209
229
180
199
183
233
171
201
186
188
197
157
215
199
211
206
166
129
184
188
251
219
140
192
187
115
173
214
266
241
184
145
199
176
176
181
143
169
182
232
129
178
231
214
236
229
259
180
129
141
204
216
195
199
183
241
222
162
192
200
175
191
133
189
138
145
264
223
255
221
133
222
227
151
216
238
253
226
129
230
173
181
194
199
185
236
173
248
150
168
219
246
203
173
173
226
133
155
197
176
230
183
201
225
152
239
174
129
230
223
199
221
210
214
164
186
168
179
204
211
153
146
130
158
217
130
189
179
202
173
233
201
227
181
146
195
183
203
183
222
179
183
129
186
133
236
179
132
230
184
293
145
180
182
145
276
209
193
210
169
186
191
197
173
238
129
183
210
202
219
176
201
335
177
184
171
189
250
269
198
192
191
211
129
146
122
227
217
138
156
192
202
211
146
225
236
203
158
210
174
168
254
146
217
130
161
175
199
202
161
181
158
243
173
179
181
165
145
164
206
129
130
184
201
171
211
115
222
185
165
207
201
160
200
141
115
204
198
249
133
189
129
285
129
184
212
246
211
173
157
169
247
157
186
159
239
252
176
149
190
224
225
146
265
173
179
203
157
206
161
226
254
222
240
146
166
176
190
214
179
170
122
182
164
249
204
168
185
220
145
166
237
177
254
173
146
130
263
233
173
194
129
203
160
246
206
178
173
239
173
180
115
256
203
267
210
182
221
133
158
153
169
173
146
222
183
192
279
146
119
226
252
181
192
146
211
196
244
146
201
122
170
204
168
130
204
232
171
145
234
238
130
146
202
143
153
182
210
172
183
235
201
129
200
214
183
176
225
238
234
212
146
156
195
200
265
183
130
182
128
194
191
213
186
133
173
150
190
270
246
158
202
206
204
237
146
204
182
173
182
130
228
164
147
168
191
202
214
168
217
212
202
155
129
130
166
214
198
204
115
219
225
201
236
288
213
174
210
190
191
146
173
247
129
183
203
180
145
182
166
168
211
202
240
204
245
219
214
158
249
130
269
115
195
215
183
146
263
239
219
191
143
156
129
217
206
227
180
162
165
196
218
129
191
164
227
166
143
203
184
129
176
172
142
178
242
160
173
160
145
211
179
143
185
130
261
304
222
158
200
175
211
210
234
210
242
244
201
184
184
162
235
190
178
184
258
182
184
221
236
226
204
182
129
193
204
160
241
202
194
266
146
200
115
207
236
168
130
217
146
291
146
189
204
173
207
143
176
202
210
251
244
229
160
211
204
176
224
210
173
168
238
198
153
204
185
226
209
173
130
153
178
217
235
210
197
174
215
173
162
181
211
275
204
211
218
129
130
202
239
214
171
200
256
129
160
147
148
161
133
129
179
217
229
145
235
133
178
179
207
158
202
170
164
200
182
201
172
214
225
172
260
209
178
215
199
268
214
129
133
209
129
164
129
170
206
194
227
153
201
155
151
191
259
158
146
186
194
278
228
158
201
201
251
173
191
122
115
199
222
173
278
133
182
176
239
184
180
225
227
176
240
183
216
173
242
160
176
193
192
158
202
164
216
145
176
185
173
161
191
162
204
191
141
197
179
164
206
172
238
128
238
176
133
169
181
164
211
206
160
208
236
227
183
207
204
250
254
246
146
212
169
227
222
260
130
184
202
219
184
247
132
168
230
258
169
129
145
210
191
233
167
211
210
316
176
166
185
221
180
182
225
222
181
192
191
189
162
143
201
162
175
175
174
204
201
221
210
272
168
145
152
210
203
201
130
178
222
293
176
228
255
171
133
161
209
283
173
178
212
188
224
241
203
180
204
204
130
282
228
188
221
203
151
122
122
146
185
150
173
179
193
160
215
212
130
164
143
257
173
180
223
228
194
211
227
119
183
162
212
180
145
226
191
155
234
210
200
186
115
246
133
182
231
168
257
179
129
164
204
212
272
182
168
129
335
146
167
155
282
173
160
229
205
248
186
194
145
130
179
206
169
262
180
207
143
183
191
130
146
219
183
191
115
178
176
156
145
211
199
176
279
250
207
115
194
210
249
255
173
129
201
221
235
261
169
216
247
130
213
129
178
150
197
176
210
146
195
209
250
172
122
213
230
246
188
169
230
247
146
129
145
200
236
145
218
200
156
209
189
188
180
204
294
206
191
167
250
168
266
185
230
187
247
240
225
209
168
211
222
207
166
194
206
201
300
153
201
129
196
146
166
130
187
176
171
206
189
173
176
190
163
199
292
191
180
217
138
222
191
247
202
143
187
260
204
173
173
181
129
211
158
145
183
157
156
217
163
187
201
146
130
240
173
250
217
187
129
119
143
145
211
217
230
115
214
195
244
145
175
218
218
236
229
232
191
241
172
130
179
210
173
216
209
233
183
230
169
168
186
115
217
146
191
240
171
149
155
193
130
168
187
168
211
183
195
244
208
163
158
264
179
217
155
182
189
153
217
216
115
194
302
211
204
178
164
191
184
155
203
186
220
231
207
200
225
204
204
159
208
273
204
193
158
169
221
186
187
150
177
176
162
173
204
143
158
224
184
176
164
227
269
217
166
164
130
161
235
182
129
196
181
200
173
216
187
169
307
217
335
132
217
214
173
198
146
154
130
150
201
182
201
217
173
169
168
207
229
143
175
187
223
115
183
221
210
230
174
161
223
192
230
217
300
183
173
283
230
133
220
228
194
188
238
223
174
146
195
171
183
264
168
191
213
230
176
236
208
219
238
228
130
194
129
194
204
204
191
194
182
129
167
247
287
184
202
171
213
159
182
204
176
171
151
210
173
218
213
130
220
172
180
194
195
143
226
167
184
191
209
218
209
151
138
167
196
143
225
241
138
164
164
190
185
202
145
130
227
180
177
158
199
176
205
162
239
160
189
207
267
192
204
143
130
196
195
185
242
230
133
245
145
193
146
151
254
231
197
173
229
201
197
233
170
246
218
194
179
204
132
205
150
200
195
210
194
221
168
261
146
280
168
129
130
146
173
265
129
188
199
130
193
208
179
115
204
216
206
192
274
192
222
221
149
209
157
182
185
184
217
261
184
157
225
188
297
172
145
235
205
164
199
188
196
191
138
119
261
133
185
190
173
217
132
222
184
195
291
143
202
180
157
217
228
187
130
202
173
207
191
225
202
229
182
133
130
152
186
193
201
146
194
173
210
141
176
151
191
217
160
184
180
232
162
173
228
169
173
146
176
200
130
289
227
188
214
280
133
210
230
191
166
229
200
168
169
145
192
170
193
147
168
147
168
230
165
260
245
255
221
184
181
240
254
187
208
203
146
238
130
250
173
147
261
224
129
188
171
249
214
216
183
234
239
143
130
146
188
221
205
237
146
180
193
213
193
162
152
213
130
181
227
231
130
192
165
243
181
216
235
158
219
230
216
197
246
200
231
227
214
221
217
180
170
162
216
185
176
130
157
202
119
216
177
254
200
130
194
225
145
225
236
256
200
195
115
129
179
211
158
225
157
198
202
115
176
162
200
173
236
191
158
191
184
225
211
239
230
258
221
201
205
201
247
115
202
171
180
130
197
184
201
211
237
208
233
194
130
189
219
151
162
199
201
176
197
161
169
239
189
141
236
202
234
210
173
213
190
246
200
264
141
130
151
176
115
227
206
266
176
133
210
254
197
173
175
160
173
210
335
195
232
128
215
169
141
205
173
215
173
209
173
179
176
235
210
119
185
210
226
143
249
210
190
177
237
141
207
203
197
230
176
174
185
166
172
199
184
227
180
221
188
191
237
168
247
145
145
179
166
181
130
188
206
190
176
236
129
203
307
146
231
249
205
195
278
200
145
190
206
210
177
138
179
222
241
185
184
158
122
132
252
172
208
115
204
192
216
130
115
249
230
145
150
156
195
208
188
129
176
215
150
132
146
189
161
221
115
267
226
204
287
130
176
222
129
146
222
230
201
228
243
184
236
335
234
173
176
129
242
223
178
189
173
145
207
149
248
182
133
153
183
176
175
183
130
170
209
230
235
133
197
182
204
145
169
256
166
129
196
295
216
175
222
203
146
231
202
147
203
201
168
168
200
283
155
176
205
172
249
176
181
247
182
130
186
234
231
161
173
204
145
204
130
144
214
191
203
149
130
176
115
192
144
201
173
187
186
180
189
181
181
168
216
146
145
200
173
208
158
138
271
158
183
195
162
184
204
158
245
190
202
181
191
169
172
206
184
115
201
238
138
178
166
176
212
152
209
144
159
209
201
194
287
173
211
146
206
194
182
264
221
211
215
153
204
237
283
228
191
192
185
274
196
202
204
181
168
194
170
130
252
212
222
185
193
263
220
227
169
212
224
145
182
239
164
275
185
166
228
165
217
212
295
149
225
152
168
210
194
202
133
189
203
208
173
178
217
180
162
152
221
195
175
179
150
208
129
238
180
217
234
217
173
188
158
164
194
187
167
236
247
176
164
185
231
129
173
128
115
200
188
179
158
129
170
258
169
155
206
173
194
215
194
129
182
252
157
204
187
211
174
202
175
217
129
232
181
178
199
176
177
188
180
119
176
231
151
227
172
179
258
129
183
133
160
176
217
146
221
236
234
188
176
203
218
178
221
179
242
226
179
217
219
146
188
143
158
175
156
151
268
201
179
217
130
221
228
129
255
230
227
169
115
189
240
205
214
168
171
164
265
285
169
187
166
183
220
224
162
220
255
164
221
185
229
238
185
210
185
193
214
206
133
191
213
200
212
146
180
252
224
176
174
200
175
164
217
225
140
164
130
203
145
173
235
212
182
174
198
129
150
246
286
183
183
184
178
246
174
264
234
193
145
215
176
216
221
129
146
184
166
189
204
185
193
229
211
212
160
233
188
184
222
240
158
245
178
129
173
130
221
217
164
176
212
129
186
146
130
190
204
222
161
255
168
217
143
255
176
191
194
162
173
153
194
133
143
197
209
215
199
196
211
239
206
180
222
192
171
207
221
201
146
300
146
215
221
202
239
146
150
242
227
236
251
204
146
204
192
162
203
143
255
179
155
176
220
244
178
171
202
152
201
210
206
204
222
211
182
115
209
230
262
151
216
192
166
133
192
174
177
335
191
217
211
183
184
201
145
218
186
203
201
222
185
188
227
228
163
204
173
246
176
197
257
216
175
245
187
300
150
206
191
129
115
182
163
230
236
176
191
164
253
185
168
176
188
213
189
158
167
188
237
191
208
192
225
181
194
184
236
312
149
191
182
226
196
211
170
217
182
146
129
183
204
146
220
202
200
169
175
173
179
179
166
169
161
184
178
245
186
151
189
189
179
161
129
200
238
173
201
201
225
148
251
231
233
222
152
191
200
206
234
201
145
180
209
216
166
188
199
130
239
242
211
171
224
236
264
252
164
256
157
210
261
189
232
132
282
202
162
201
313
293
209
170
190
184
185
168
181
217
182
180
236
217
191
177
252
231
184
184
153
146
176
238
283
176
158
239
129
200
200
129
173
202
129
200
195
158
227
224
129
197
250
274
169
173
179
157
197
178
222
223
175
248
236
193
195
161
132
217
153
192
138
172
227
202
129
155
204
204
130
222
115
204
172
145
184
186
146
181
133
238
185
188
150
193
200
188
168
182
174
155
226
146
249
182
182
178
130
256
202
233
172
214
141
146
266
195
122
156
172
157
143
203
189
249
129
219
212
195
235
228
203
183
256
236
170
200
141
192
141
228
210
214
176
128
186
187
246
146
207
178
141
278
204
162
270
250
203
152
201
158
148
211
133
222
189
244
115
131
178
200
150
202
191
228
165
257
229
168
217
203
191
115
238
226
176
158
115
158
149
115
218
288
176
202
204
178
210
206
281
191
219
164
261
227
150
261
212
185
209
211
152
145
156
280
215
213
158
222
199
168
207
162
130
224
237
201
182
183
204
239
178
143
213
166
191
179
138
238
168
181
176
143
192
247
156
146
255
188
217
153
166
122
250
217
145
192
214
204
250
217
204
146
250
210
199
186
202
231
182
144
202
170
157
168
220
185
225
130
236
185
173
197
190
191
129
130
235
205
199
182
130
313
292
183
255
243
182
178
195
162
184
130
173
204
130
195
143
304
201
251
165
168
179
152
176
171
128
119
201
130
217
161
189
216
158
168
129
230
222
230
146
229
254
175
234
257
174
184
129
176
155
191
183
242
197
192
185
146
222
185
178
261
202
168
133
189
115
195
284
204
258
130
219
181
204
146
185
199
173
163
254
201
199
179
176
285
236
204
222
178
210
179
190
209
184
145
203
245
157
162
207
232
173
145
164
189
152
217
246
185
198
129
218
248
206
214
219
176
157
180
130
211
143
226
243
180
180
218
129
228
204
179
211
308
180
172
195
182
181
130
164
158
210
204
204
156
218
222
234
162
210
146
254
213
200
239
203
173
174
220
201
228
184
173
204
184
165
160
173
165
280
142
211
199
187
254
162
232
161
187
203
230
240
158
183
173
210
145
149
144
130
115
143
211
185
189
178
146
227
173
173
180
249
236
239
205
183
155
263
162
235
175
165
213
128
244
197
173
168
240
274
174
185
222
176
146
191
231
146
201
130
130
115
179
168
192
248
258
212
227
240
173
173
240
203
202
158
186
115
176
206
168
230
184
202
199
194
201
200
170
247
181
236
246
175
162
220
227
173
186
230
274
130
204
129
221
168
202
155
171
287
236
221
200
133
184
184
168
143
159
129
176
214
151
158
230
190
243
189
145
172
211
217
271
230
233
130
146
264
169
180
176
191
241
234
129
133
172
129
170
179
202
218
178
179
156
211
138
150
215
245
216
216
211
146
146
150
138
164
211
130
141
200
130
256
204
173
162
181
197
238
178
210
193
217
236
211
192
176
206
146
241
194
193
194
195
188
179
175
129
180
230
146
206
185
204
178
241
199
210
192
222
146
238
176
233
254
178
161
169
211
215
182
165
185
191
209
173
187
156
217
229
184
158
176
173
209
133
179
129
202
188
173
169
130
184
173
176
169
209
211
158
166
255
249
128
129
200
163
205
130
199
168
115
205
168
129
179
220
176
228
169
179
141
160
204
191
185
240
155
176
164
152
211
176
130
162
219
141
169
209
196
188
203
203
176
212
147
211
146
122
186
202
150
176
133
225
263
173
204
161
214
129
236
202
225
204
173
225
191
245
180
204
216
192
182
183
156
166
202
130
161
230
115
231
206
205
172
217
183
165
172
201
217
167
152
130
146
160
145
210
180
130
210
209
297
130
204
201
122
190
173
157
214
213
229
171
150
252
179
129
234
236
130
158
190
200
160
183
129
189
202
192
203
162
171
251
143
210
243
235
220
162
155
202
179
244
202
217
217
186
176
206
164
168
130
201
184
224
189
192
209
204
254
238
173
173
193
162
214
185
192
158
133
155
204
203
246
168
129
164
259
146
222
222
166
217
178
143
178
146
176
271
130
178
217
202
210
256
217
179
263
182
183
229
152
119
214
217
206
130
176
203
146
179
202
207
178
207
202
239
190
173
230
265
210
145
145
150
192
225
130
160
212
160
158
164
185
162
179
180
171
211
164
176
208
259
185
238
214
199
186
183
146
217
179
214
146
250
192
146
181
174
173
221
168
173
164
162
166
171
129
129
243
225
175
247
204
306
158
155
219
167
174
161
152
129
146
122
231
162
152
204
188
188
227
142
278
207
146
115
133
319
200
230
204
166
122
185
188
202
169
130
211
160
143
122
183
189
230
184
200
162
206
211
146
211
162
132
257
218
268
245
184
195
266
151
210
276
190
192
129
189
206
115
141
217
194
212
183
115
184
158
188
155
204
194
217
222
182
230
178
149
238
145
130
235
206
211
115
207
171
151
231
216
162
203
242
227
210
197
202
163
146
229
211
176
204
158
146
129
211
132
259
166
235
146
204
260
265
261
189
217
156
217
229
250
176
221
218
245
193
172
130
146
164
166
173
205
210
180
176
184
161
230
251
187
244
133
222
159
174
229
206
145
252
222
179
289
189
220
201
173
175
148
184
160
228
181
166
156
176
236
241
151
156
191
181
191
265
208
133
146
168
173
186
143
210
133
178
164
212
219
180
192
202
215
129
161
240
242
179
210
204
208
173
162
244
202
183
265
179
260
199
199
237
133
236
236
236
173
155
192
158
199
145
226
214
156
273
210
129
260
176
129
158
222
222
240
149
231
291
191
129
204
250
164
186
198
172
129
171
231
179
204
164
182
225
153
176
197
206
210
185
230
212
173
129
184
173
170
270
130
172
175
145
144
156
176
176
209
186
166
164
234
204
190
180
143
275
173
178
200
238
214
176
189
197
211
162
231
222
150
300
158
226
115
208
208
187
129
180
274
142
202
228
255
217
168
162
239
221
229
188
145
184
146
275
222
199
167
130
164
182
169
236
202
150
184
173
185
211
200
193
168
186
194
122
169
207
144
129
174
200
255
226
180
173
146
115
206
266
212
146
130
131
183
212
235
235
177
210
238
204
230
264
205
214
190
239
172
130
168
164
158
146
203
166
190
206
233
191
157
223
203
146
115
184
193
178
164
162
174
172
199
202
176
230
212
176
164
204
217
217
226
130
237
252
157
201
129
261
207
283
149
225
162
182
228
176
236
185
246
191
260
230
155
195
209
242
178
237
222
174
182
183
279
230
194
190
224
230
186
214
239
146
133
177
141
115
129
200
181
193
256
204
168
180
146
143
194
212
181
240
208
231
202
129
183
176
210
129
152
206
160
237
168
158
201
237
225
176
129
221
149
214
250
203
200
115
162
175
201
172
183
225
289
166
138
184
210
189
184
228
215
198
198
217
217
239
162
255
210
168
173
205
223
221
145
180
247
242
182
200
206
228
129
235
225
168
257
274
214
143
283
198
173
200
130
177
200
261
179
215
203
223
186
133
164
210
173
195
129
129
172
129
146
186
176
183
146
211
251
159
204
219
263
193
189
205
191
217
238
242
217
236
122
143
243
199
176
181
122
204
206
128
201
115
146
133
166
207
170
200
192
129
167
218
181
261
236
230
207
161
211
166
200
213
146
146
204
173
157
143
191
160
180
174
129
209
176
187
184
275
249
204
189
169
190
214
176
173
186
200
130
185
169
183
181
176
129
168
204
166
191
166
181
146
206
173
173
185
157
194
173
230
286
210
205
253
166
167
174
206
130
184
180
229
129
259
216
202
214
161
129
173
164
175
159
137
169
202
274
161
208
138
166
191
211
222
211
162
246
173
211
187
189
222
162
181
129
188
184
157
162
173
195
225
162
182
194
150
129
211
160
145
202
211
182
259
188
173
221
264
115
155
218
145
228
210
152
133
174
200
164
228
146
234
158
184
263
221
129
146
133
162
129
193
226
244
176
195
145
188
261
176
180
264
146
170
146
122
115
176
180
263
150
164
170
133
202
186
200
179
173
130
146
180
178
233
199
195
163
148
233
251
184
188
149
211
132
275
231
147
204
191
182
146
157
260
238
178
168
169
251
145
146
182
146
236
169
295
176
129
179
164
182
254
226
182
173
191
217
219
141
255
204
174
186
164
173
220
180
196
173
176
199
228
184
229
133
173
194
210
146
191
146
162
143
176
237
261
189
234
191
165
176
196
279
267
277
182
202
177
189
212
218
129
173
168
166
212
194
164
244
169
191
187
242
171
187
264
129
176
255
188
178
173
146
299
213
258
214
193
194
236
200
193
189
192
239
252
269
183
155
228
176
182
185
155
217
160
286
169
211
174
185
196
115
254
219
260
188
204
178
207
233
190
146
181
198
225
187
146
149
217
244
162
242
179
133
187
276
168
156
205
173
146
173
214
244
151
145
176
170
178
182
203
266
149
146
266
190
155
217
235
258
306
225
145
162
192
186
187
157
262
130
201
237
130
150
160
128
231
242
176
210
188
176
194
275
260
173
170
200
241
206
173
171
183
179
173
182
219
173
176
188
202
198
128
217
195
173
217
204
173
146
180
202
199
203
270
201
222
218
167
229
162
238
146
218
195
185
238
228
202
221
226
238
130
177
161
122
173
179
211
214
220
230
130
239
189
217
189
172
146
219
281
231
271
204
179
130
145
156
166
193
130
191
172
180
115
173
176
182
265
180
166
259
173
184
303
130
267
238
133
162
223
207
243
214
146
173
152
168
194
177
222
176
169
143
202
242
265
160
149
181
176
300
163
224
213
236
115
169
170
145
177
194
191
129
166
220
173
217
170
182
176
204
143
195
141
143
224
247
146
275
206
175
259
146
197
219
300
173
184
130
208
259
335
221
179
166
204
146
217
201
182
228
180
132
222
182
200
241
171
200
129
195
193
179
179
201
222
181
115
195
215
130
206
213
130
267
222
187
183
265
237
282
129
164
143
149
277
216
176
203
183
130
246
164
164
122
129
238
208
176
157
146
204
190
194
184
183
239
179
146
192
132
210
115
158
241
200
130
181
168
204
229
129
145
227
205
235
238
183
130
210
218
300
130
183
184
169
183
177
303
241
143
180
130
202
242
226
156
217
188
196
209
146
174
243
180
198
168
200
158
238
248
202
191
149
253
173
173
217
264
209
145
239
155
195
173
204
217
183
204
197
173
178
168
260
222
202
146
164
186
175
138
184
202
192
175
283
228
273
162
208
194
145
190
175
141
213
179
230
184
225
171
238
247
225
210
223
188
172
129
206
130
240
181
130
230
238
192
155
201
183
169
195
204
189
231
191
239
189
173
190
204
178
181
146
162
203
227
204
130
161
238
157
150
208
195
133
159
238
216
146
236
206
173
130
180
211
211
268
203
130
173
169
174
264
206
122
183
162
169
151
252
224
172
234
195
235
128
261
160
205
214
217
215
151
179
216
210
176
217
260
160
197
242
256
213
230
211
265
176
246
173
130
190
246
215
229
164
177
169
129
246
195
178
256
247
168
184
195
210
172
208
236
168
217
207
200
187
201
146
165
164
275
159
150
170
251
210
176
228
198
258
193
241
157
200
182
180
146
179
199
129
204
210
130
249
202
176
145
241
187
259
156
196
115
129
169
188
193
176
268
187
171
217
210
220
195
246
149
203
252
145
169
153
210
227
164
258
228
195
180
191
146
254
203
157
241
149
193
173
230
182
173
221
199
145
183
200
202
168
151
173
184
182
185
145
218
215
221
204
188
197
128
133
130
228
216
147
133
171
150
210
141
190
210
146
259
162
261
145
222
146
193
210
239
180
173
260
176
201
265
208
250
129
192
214
173
180
211
225
203
208
190
251
187
244
197
193
211
166
173
270
115
238
214
200
178
202
231
274
145
239
178
132
208
143
191
174
234
180
323
266
145
231
187
141
196
155
181
264
206
205
200
217
237
168
174
181
180
178
173
231
222
199
190
168
145
214
156
211
150
130
234
173
175
214
202
207
218
161
170
261
176
238
191
218
183
219
190
169
191
194
238
201
222
167
157
230
167
177
283
217
264
238
175
199
176
164
209
204
173
204
222
208
183
205
264
215
138
275
129
181
187
143
237
267
245
225
115
232
261
183
237
176
166
214
203
259
257
150
191
185
133
168
232
164
164
149
191
174
194
206
191
173
129
176
184
150
211
192
173
190
224
149
204
179
199
190
188
198
203
115
130
141
212
206
173
217
169
191
179
254
143
200
178
169
141
155
155
173
225
194
195
222
229
129
164
239
191
203
216
173
183
241
184
204
158
166
226
266
189
129
172
162
219
303
174
201
176
147
192
145
188
130
150
149
160
186
240
199
204
158
231
234
211
153
206
195
174
247
149
158
164
207
143
209
164
202
168
210
222
247
145
176
211
261
239
221
194
201
248
144
225
218
184
130
203
208
160
163
193
176
130
168
209
186
240
153
168
204
182
191
184
186
167
259
183
173
171
217
161
234
214
211
177
205
205
195
199
173
212
184
155
174
217
132
179
206
144
195
168
202
130
230
209
182
258
129
293
231
230
183
173
181
150
209
164
155
129
194
249
178
146
172
218
185
230
197
129
160
229
242
204
181
141
173
174
173
214
130
184
182
190
146
164
162
225
193
198
191
214
162
141
168
160
157
245
146
210
175
147
184
175
145
139
176
183
210
183
189
149
195
115
204
242
191
173
145
207
204
206
195
146
182
210
188
182
228
215
183
169
182
133
115
190
185
227
173
204
232
146
164
129
180
205
250
230
143
192
230
176
162
174
195
225
175
221
173
158
226
235
202
207
202
246
164
167
203
226
231
151
133
173
210
150
164
183
230
208
253
248
202
213
211
210
147
201
180
167
176
238
185
204
143
168
180
168
146
221
184
182
193
213
189
286
168
183
207
259
213
300
130
244
189
208
202
187
202
180
206
185
173
254
204
130
166
222
130
187
191
176
183
243
149
230
284
164
176
178
191
153
194
115
145
212
274
129
130
172
256
206
258
192
176
173
200
227
164
226
209
214
143
151
186
201
208
214
217
227
183
173
292
122
146
201
204
157
185
184
239
192
146
246
153
195
147
129
175
266
211
141
190
176
235
210
161
247
220
172
228
130
184
185
129
149
133
146
179
164
217
176
210
201
168
237
231
180
274
211
191
129
147
173
202
149
191
183
164
203
221
203
211
166
176
182
179
254
183
176
176
201
204
302
201
191
176
225
224
176
176
146
200
245
166
173
156
180
222
186
174
211
224
180
230
176
170
176
250
200
206
198
195
218
228
129
205
227
197
232
210
200
192
161
204
164
256
264
189
146
146
211
179
158
167
162
236
211
217
228
197
122
194
206
214
196
168
231
236
287
179
161
183
181
226
143
115
188
130
236
202
200
185
204
264
161
185
239
128
202
202
236
210
193
129
169
173
204
269
167
225
200
168
180
233
256
179
144
216
200
184
179
146
210
190
194
168
242
146
185
155
211
162
223
210
145
166
164
230
147
176
207
231
219
130
147
238
164
149
209
151
201
209
173
176
160
173
251
185
219
158
208
272
130
176
170
158
115
235
146
217
216
158
223
195
230
181
168
128
146
281
214
221
179
132
209
115
192
252
221
146
207
132
324
221
189
238
145
217
236
191
207
211
206
210
173
129
209
176
216
182
183
182
194
176
274
213
200
209
185
195
173
183
216
200
168
217
278
130
167
241
239
200
184
224
162
115
222
145
115
161
129
209
200
200
274
115
217
146
210
227
205
191
130
176
244
184
201
204
173
146
155
162
228
242
164
245
234
228
133
230
191
210
185
217
264
225
215
176
213
146
130
219
170
245
184
239
133
206
227
236
153
204
242
251
201
146
197
263
181
204
203
224
146
146
133
129
169
200
129
218
133
274
149
115
158
269
223
210
237
183
280
259
221
146
150
168
157
185
133
176
197
185
187
183
221
195
173
157
162
164
129
144
214
173
145
222
185
179
258
143
173
224
169
189
182
205
166
150
129
211
129
176
199
221
146
259
214
150
146
168
263
122
267
171
133
166
172
130
211
222
241
149
225
181
206
255
173
162
138
176
129
190
219
187
236
146
149
221
266
224
200
191
129
230
227
146
214
236
189
242
212
146
145
266
214
222
241
200
191
168
207
158
227
191
204
191
203
187
171
184
226
130
265
204
173
156
230
170
210
130
322
146
200
335
183
176
169
216
172
288
200
227
280
217
221
234
164
198
163
176
217
201
217
173
183
187
156
155
220
175
173
163
176
164
176
183
168
250
158
186
221
164
202
145
224
217
208
200
176
217
180
286
188
230
227
214
210
248
214
173
183
202
130
168
199
210
224
210
162
214
222
201
156
176
150
152
152
143
130
270
186
195
232
129
230
169
182
141
145
203
204
237
176
183
173
227
173
180
254
202
129
173
201
190
198
129
211
186
162
158
168
200
155
229
182
133
145
222
222
165
236
201
183
187
246
179
173
258
176
252
206
173
176
145
184
145
211
145
166
147
221
214
253
325
167
192
243
256
160
270
211
160
288
173
240
178
129
184
185
177
193
146
146
198
162
260
299
240
203
195
263
176
247
199
181
262
194
179
147
179
203
145
231
160
230
204
162
217
159
115
162
115
195
130
239
226
214
132
201
178
115
201
268
158
204
130
200
179
149
173
145
188
217
182
212
190
189
191
252
182
173
191
180
217
213
226
217
181
248
115
216
195
119
149
207
190
185
190
161
277
189
288
223
238
231
150
165
156
173
173
185
180
201
211
146
174
230
119
211
202
185
222
207
186
173
177
129
222
178
245
232
292
173
194
129
160
183
181
199
184
227
132
204
146
195
214
203
167
236
176
129
199
211
152
150
130
210
280
214
222
239
219
130
222
194
204
222
176
143
174
200
249
176
192
184
235
201
184
251
176
263
191
258
252
183
171
168
242
168
179
178
163
176
133
150
264
245
152
211
292
168
191
188
173
133
183
129
282
197
257
234
145
176
188
211
191
248
167
130
195
233
183
115
239
169
170
244
175
179
180
204
129
215
182
178
181
204
248
209
221
200
210
191
204
129
183
175
167
170
203
212
182
201
186
222
158
162
234
146
240
115
157
192
194
203
204
168
230
225
217
207
200
274
247
247
190
193
207
197
115
201
255
176
157
250
180
162
166
204
145
183
173
249
287
204
173
193
146
165
239
161
236
189
177
283
228
201
236
268
226
158
178
152
239
187
210
212
182
254
348
130
115
193
145
189
133
156
213
151
152
180
198
169
179
170
150
186
173
202
176
242
255
176
275
182
190
242
193
234
132
162
149
155
192
185
265
146
211
188
152
145
239
129
215
171
184
162
182
178
275
229
168
158
189
183
256
204
173
225
184
186
182
156
180
143
228
272
217
191
217
146
150
221
162
210
176
201
129
197
222
218
146
245
242
115
264
143
141
176
206
115
219
133
225
173
230
227
184
176
209
173
204
171
225
115
227
170
224
146
178
129
335
180
191
188
210
195
157
236
242
174
129
180
176
194
164
145
207
180
172
229
184
153
166
200
133
205
133
179
230
176
162
129
200
144
178
222
156
189
207
246
225
217
211
161
170
181
210
183
211
186
192
160
206
242
223
211
189
202
191
210
186
133
186
164
216
184
183
189
189
258
130
228
205
230
195
130
182
164
133
172
192
218
191
138
164
246
173
161
229
256
194
235
179
241
181
129
204
230
218
181
183
173
206
228
171
137
130
217
179
238
164
165
146
130
186
204
215
173
204
183
221
242
211
210
255
201
167
214
195
170
254
153
155
199
238
194
200
157
230
236
203
133
172
173
242
176
144
204
210
186
143
203
210
133
184
182
176
129
173
201
158
191
177
158
174
179
229
210
129
176
186
211
203
155
222
179
204
251
194
225
183
146
146
162
129
210
160
179
244
173
230
262
234
242
218
204
179
130
202
239
178
143
173
211
173
164
210
189
182
165
185
133
280
228
197
155
145
208
180
174
222
210
200
169
222
182
175
221
246
229
217
192
172
201
179
164
262
216
203
173
157
146
174
184
166
208
258
180
169
204
260
146
144
199
228
177
200
130
183
204
204
200
204
223
130
232
230
180
216
238
186
151
164
205
247
192
229
238
202
173
181
181
259
236
259
155
212
131
173
176
189
239
200
248
238
145
216
171
229
285
201
217
175
244
161
192
173
130
146
185
150
188
204
206
130
183
239
227
141
191
190
232
256
213
265
183
176
205
306
138
236
200
246
178
180
173
206
159
216
191
141
172
130
158
158
169
143
236
205
193
158
158
173
173
210
248
219
178
130
155
182
205
204
203
160
157
129
254
146
130
187
241
173
200
146
217
178
164
143
322
182
130
178
264
188
167
229
205
265
133
215
191
195
145
143
122
159
164
144
192
238
206
208
162
162
230
257
182
262
204
129
227
223
222
225
202
236
191
162
261
146
130
182
230
271
185
335
178
163
197
170
158
166
228
255
250
204
185
179
225
152
170
216
179
203
191
227
164
176
229
146
165
164
173
190
162
237
235
217
145
214
175
129
199
248
264
212
270
216
263
176
164
187
217
210
210
130
146
129
215
222
180
194
194
248
201
166
192
190
168
157
183
193
129
202
160
203
115
274
192
187
257
200
141
217
146
158
230
148
174
204
176
203
230
160
190
164
202
202
204
174
158
132
179
130
146
228
186
247
173
250
179
122
182
239
161
203
238
182
161
182
206
204
204
164
234
260
161
173
234
169
175
161
169
190
205
190
249
184
173
185
133
172
204
166
162
248
227
262
162
157
130
194
179
230
227
255
235
252
188
143
216
246
185
280
216
246
232
239
164
211
178
204
161
275
225
145
207
231
169
296
150
187
146
279
184
192
230
183
242
146
258
155
238
182
152
210
176
222
221
162
204
168
122
183
175
224
222
211
190
231
262
206
186
186
183
155
221
145
187
198
219
175
165
209
211
210
182
146
301
168
252
182
169
127
183
216
143
238
216
232
262
240
173
227
213
201
146
158
180
115
254
155
202
184
191
376
180
115
185
115
262
173
182
242
194
129
208
193
201
236
155
231
151
200
156
198
156
235
210
222
238
189
129
182
129
168
281
202
172
262
129
202
242
156
232
174
202
175
193
149
173
162
202
217
146
194
225
208
179
130
169
169
169
210
253
168
206
242
193
231
214
193
191
130
205
194
168
141
219
254
194
201
145
173
133
244
192
250
254
162
143
224
185
176
226
143
186
176
335
203
177
129
130
190
143
217
225
162
146
186
151
173
155
164
130
248
196
133
176
200
176
146
234
192
210
201
164
194
155
115
263
195
162
161
230
159
236
187
201
189
301
200
194
210
129
204
173
157
175
170
146
197
164
213
206
156
254
173
173
200
170
190
173
146
200
214
131
206
246
222
172
144
174
182
248
201
214
129
217
283
239
168
158
261
168
247
210
225
173
237
146
218
267
150
129
217
193
130
158
298
176
181
146
173
216
176
157
160
235
202
261
190
315
129
169
176
160
176
156
173
192
244
316
180
242
122
200
216
173
184
166
300
130
261
223
216
204
143
217
201
184
143
146
211
178
186
201
144
129
176
210
182
191
191
184
216
149
200
299
217
176
141
184
257
130
238
234
141
310
180
227
183
206
158
239
130
195
200
179
273
173
191
178
230
240
182
222
186
229
192
206
130
130
192
266
179
194
235
204
141
145
358
138
250
176
151
291
190
175
146
289
179
203
227
130
239
160
239
206
244
143
205
171
157
213
211
167
210
217
203
254
174
173
188
293
204
214
146
158
143
184
128
156
263
156
130
173
223
168
231
167
250
159
159
173
199
168
129
217
169
255
257
179
115
179
210
168
204
204
217
152
162
176
205
155
208
129
176
173
215
191
183
160
211
227
192
141
143
155
239
194
182
226
150
201
208
155
183
130
212
221
184
173
157
206
187
146
204
145
173
213
202
182
146
173
156
207
232
225
158
176
254
179
165
222
193
203
204
180
164
173
205
174
184
161
197
221
173
129
170
155
115
249
156
264
210
133
146
145
211
188
146
157
184
204
262
200
213
122
202
257
211
145
236
216
245
161
274
162
156
164
164
218
146
162
167
240
181
204
179
181
133
168
174
260
210
168
250
173
242
129
155
184
149
191
217
211
166
211
205
158
185
176
272
195
225
230
181
236
165
274
204
157
179
181
220
152
184
229
163
198
211
181
210
168
155
204
174
168
138
115
179
166
193
164
157
179
209
122
191
201
201
184
238
245
172
254
133
164
115
258
226
203
199
180
146
175
288
190
141
227
129
172
173
207
160
217
187
179
191
164
235
247
200
235
155
173
130
145
263
133
171
184
239
251
203
145
225
198
224
204
161
157
265
158
197
273
222
201
162
190
214
241
198
211
231
141
182
129
236
258
238
178
162
164
153
164
221
187
235
254
268
168
251
204
145
206
202
204
238
174
240
191
174
246
162
130
158
179
215
171
191
187
244
179
254
200
236
129
182
236
155
178
147
184
236
176
176
218
173
129
173
262
211
130
226
176
301
203
184
205
176
180
190
255
190
179
145
191
187
144
200
209
178
163
181
254
173
209
261
236
217
164
156
264
192
168
204
202
180
115
239
230
165
185
204
217
195
132
201
169
122
167
190
166
141
183
200
146
161
168
237
225
151
129
169
222
208
217
218
238
250
173
184
257
173
176
129
155
183
157
173
178
146
172
224
192
256
230
281
203
232
152
155
208
175
185
296
227
200
173
174
129
210
191
185
182
204
173
181
254
245
169
173
187
201
241
185
254
198
201
219
219
186
179
203
206
210
182
138
273
216
161
166
261
184
249
180
169
229
218
149
264
187
252
261
130
158
239
212
129
173
252
230
130
200
252
184
194
162
180
176
150
195
201
129
151
181
209
213
145
256
230
184
226
234
186
216
266
129
185
239
212
256
202
191
183
173
172
214
143
204
174
193
161
173
335
192
203
173
162
214
179
170
158
122
194
200
191
177
183
204
190
169
171
201
240
200
178
174
231
129
211
202
146
168
258
158
183
174
176
198
199
146
213
251
183
218
199
225
292
149
191
181
201
122
227
204
260
184
206
202
206
176
218
129
239
194
211
191
222
173
180
164
202
145
200
206
185
180
133
168
141
182
199
178
178
130
167
225
146
229
150
204
129
203
129
187
194
198
176
197
185
145
174
183
143
222
147
164
217
200
210
164
210
210
143
162
179
206
204
182
151
201
156
199
205
149
258
172
196
204
172
211
129
256
140
209
203
128
232
183
215
203
249
243
169
173
226
212
166
130
197
230
202
198
174
216
145
193
200
231
217
182
217
246
146
200
192
183
145
173
211
130
176
229
225
211
176
263
216
189
194
241
291
145
158
176
246
227
129
184
169
162
276
188
214
244
233
129
166
162
238
222
174
171
206
149
162
206
218
168
184
166
130
201
167
129
238
236
161
193
229
146
156
130
307
231
264
133
214
173
145
184
156
210
230
183
235
220
199
221
225
211
161
220
178
162
179
184
171
176
158
192
219
166
225
174
225
155
221
205
169
208
216
228
209
236
206
178
145
129
211
209
195
130
115
130
218
211
261
187
201
205
187
188
228
282
254
174
247
203
202
288
198
202
129
185
168
143
204
129
138
183
211
158
176
200
144
230
170
176
169
249
189
219
133
183
155
146
173
141
281
176
168
141
261
179
184
170
202
168
183
133
175
239
255
244
156
158
164
164
191
191
176
153
201
304
179
178
192
204
173
146
122
176
158
181
146
200
246
216
266
186
129
172
198
166
168
158
191
165
153
211
176
146
164
147
176
198
256
200
264
171
211
209
235
173
207
211
163
184
169
155
180
180
168
155
306
184
267
182
206
149
147
201
192
202
122
162
204
160
146
168
174
264
201
173
216
173
288
191
156
129
201
143
210
133
189
199
146
203
211
154
183
158
184
217
129
178
250
236
115
162
257
203
231
172
160
176
268
185
176
221
214
243
198
144
262
204
145
202
143
236
156
157
173
252
179
191
217
231
152
181
234
251
201
188
195
160
129
201
225
173
166
146
141
221
193
146
229
129
130
254
146
221
221
242
198
202
191
192
200
200
248
132
204
172
236
129
200
209
209
184
161
237
190
133
162
247
204
130
129
161
173
184
187
240
167
156
246
182
190
204
133
204
173
158
214
181
199
195
222
200
207
204
164
199
201
191
188
146
130
152
260
192
158
236
183
145
226
255
204
152
218
129
115
168
265
209
239
146
238
130
185
173
273
249
251
183
188
209
173
178
153
172
206
195
160
225
254
201
239
205
210
191
227
164
173
211
200
158
184
168
159
176
129
255
138
178
176
188
227
170
157
150
303
115
182
204
162
149
176
224
281
230
158
182
204
191
210
213
264
170
146
189
178
176
189
167
238
193
164
202
204
130
205
187
247
167
157
164
288
219
161
184
182
184
239
130
210
253
133
220
194
231
217
186
222
275
172
179
200
133
187
225
184
207
201
167
162
143
150
210
200
176
202
209
201
182
300
206
203
217
191
231
171
189
198
217
145
207
207
164
221
241
210
227
129
237
156
227
254
202
129
173
188
197
282
180
169
115
209
146
197
176
167
143
211
171
145
176
173
210
191
145
122
173
191
157
130
158
176
179
166
179
179
239
248
164
174
183
203
264
130
171
181
233
166
173
234
192
204
190
184
183
185
228
202
141
210
182
122
130
145
204
246
178
211
204
179
167
197
143
168
159
158
257
258
185
155
217
205
235
185
179
179
188
201
211
193
225
281
217
176
201
200
217
180
191
254
204
200
259
129
174
182
224
252
203
146
235
192
216
235
192
224
191
208
157
210
222
129
192
165
187
175
144
223
227
142
197
188
199
173
133
202
225
173
246
217
214
203
227
146
203
162
176
162
115
130
204
204
182
217
146
269
195
265
146
182
169
202
173
204
211
203
169
180
180
248
208
145
265
240
164
173
196
133
175
169
168
169
203
182
192
255
264
151
230
335
173
210
248
210
239
177
179
173
204
155
187
210
254
145
176
176
297
176
199
184
239
238
129
179
168
206
254
159
214
285
211
228
203
160
225
166
199
164
119
208
179
150
162
162
175
225
230
211
201
214
209
227
180
184
141
201
237
175
226
181
214
258
232
155
164
184
175
221
246
190
283
129
146
168
206
173
194
164
211
182
205
184
173
164
204
274
173
180
130
179
167
184
152
176
133
223
173
145
206
197
162
205
146
182
197
283
229
174
215
228
189
183
174
164
201
239
193
244
174
180
204
216
185
160
191
247
133
189
200
129
190
201
180
187
133
202
173
228
182
200
197
191
146
152
230
176
169
211
166
158
214
241
311
169
205
138
204
242
211
300
129
146
190
213
231
153
129
176
173
234
200
287
181
211
158
239
292
175
201
188
188
199
256
209
238
195
235
168
162
141
221
287
212
181
201
188
186
256
222
193
230
178
222
251
187
227
182
230
235
177
236
153
247
146
150
265
215
208
177
158
158
158
225
211
217
226
204
206
243
186
173
129
215
270
129
259
155
145
185
200
155
177
207
146
257
266
175
245
138
303
189
184
162
184
203
261
176
311
156
164
158
179
193
303
259
209
182
138
264
129
146
230
215
217
184
230
225
164
224
227
146
204
236
173
204
168
200
141
204
204
164
145
211
233
129
222
180
213
185
159
211
170
132
169
158
189
203
204
206
165
206
141
162
204
157
188
211
146
218
176
204
190
252
143
176
181
178
221
200
158
244
200
146
178
188
206
202
168
146
214
157
187
177
146
240
266
190
276
166
252
122
164
204
210
150
146
222
185
215
166
171
266
130
168
269
167
145
173
203
224
220
206
207
205
130
204
212
130
201
178
242
173
225
129
159
168
224
122
173
183
169
195
129
263
255
236
130
262
239
141
229
221
199
180
230
129
146
219
181
188
204
226
166
230
180
156
197
210
183
180
146
181
133
200
209
210
192
165
239
205
245
168
161
179
214
133
201
164
222
151
168
212
221
246
211
186
182
212
162
235
221
221
184
167
182
160
238
173
170
180
130
180
143
151
146
129
176
143
238
133
179
204
176
153
184
206
265
141
129
217
197
155
175
171
225
244
253
218
231
173
176
194
162
254
276
206
216
218
227
290
155
185
189
211
284
321
146
151
179
230
169
184
184
194
168
179
184
261
138
174
253
171
156
195
184
166
223
179
176
211
184
197
115
176
152
130
203
145
214
237
252
180
166
162
214
133
281
265
168
189
260
229
270
173
204
308
196
133
149
194
133
209
190
156
162
239
282
206
209
246
232
155
254
129
227
190
147
182
209
193
148
178
167
211
201
206
214
158
272
171
128
227
215
180
211
238
206
205
202
185
188
234
206
141
206
179
251
153
173
192
175
258
156
184
207
254
214
184
162
180
133
198
115
115
210
236
192
283
246
130
259
289
146
244
256
133
212
181
173
133
130
176
166
204
237
217
274
264
164
259
168
226
236
150
130
171
202
173
160
191
226
186
200
201
143
167
201
262
238
176
258
199
176
185
205
152
201
217
176
173
225
287
218
173
222
204
171
217
234
141
181
152
178
200
173
146
180
200
189
191
262
184
129
130
188
230
282
206
224
209
162
227
280
173
209
209
128
269
287
157
246
231
176
206
153
182
129
183
181
217
174
250
200
230
246
185
185
186
146
209
210
266
210
204
207
205
200
186
176
162
176
236
115
200
199
258
141
303
204
165
188
197
172
200
214
209
225
187
204
200
164
180
217
263
195
221
204
208
133
294
199
192
263
166
181
179
210
182
201
303
184
201
151
176
182
176
214
221
240
172
239
204
204
192
156
204
184
246
144
162
254
181
133
160
246
173
261
242
206
194
179
175
213
187
196
167
226
197
129
195
205
229
261
229
176
245
167
251
148
265
236
227
199
254
256
204
178
201
211
228
230
176
151
168
160
164
168
200
208
195
228
174
146
164
195
174
128
189
255
181
175
186
207
235
208
257
205
130
146
215
260
158
186
143
230
170
193
138
254
181
195
155
151
160
184
185
264
159
178
133
145
293
205
207
238
150
229
143
177
167
208
185
132
225
208
181
178
179
210
199
129
297
175
160
230
254
195
189
204
146
200
175
196
132
162
206
270
216
238
173
176
182
188
255
181
194
165
209
115
204
201
242
130
210
206
202
185
255
220
221
160
221
204
192
234
122
152
185
261
201
241
205
205
146
268
186
178
168
131
145
145
176
132
166
162
281
217
182
146
156
201
157
206
204
170
164
186
277
236
222
195
184
164
182
201
188
176
158
173
211
203
171
210
183
259
149
255
163
157
146
182
217
252
184
166
180
172
261
194
257
209
234
222
195
149
176
240
146
252
155
181
221
225
130
158
115
155
155
205
167
129
188
227
184
201
191
216
209
200
184
241
182
188
168
145
193
146
202
227
204
224
185
179
169
218
145
184
189
161
178
129
158
179
173
190
164
238
221
210
252
180
222
188
230
246
196
247
133
155
221
184
159
214
218
133
162
150
228
193
145
168
157
289
217
223
183
173
169
168
130
170
163
130
208
260
247
156
184
130
216
171
227
217
150
193
225
217
335
221
145
165
150
133
250
189
186
164
236
191
231
188
162
149
160
162
204
182
180
218
129
173
185
169
129
186
173
208
160
247
191
206
130
176
182
169
187
181
173
115
212
234
194
204
160
212
171
198
173
194
161
225
145
205
182
195
231
169
133
217
268
272
176
158
246
169
202
234
155
225
250
115
186
263
164
176
217
141
146
218
286
164
180
175
181
122
144
143
200
148
130
221
230
268
201
190
264
241
197
159
201
129
283
200
130
194
166
176
188
160
182
230
173
176
164
214
138
200
149
150
204
184
160
217
266
115
227
222
223
183
193
222
210
164
183
156
200
192
157
239
313
248
234
146
185
143
187
173
212
187
192
210
173
146
213
210
176
203
183
129
176
231
153
254
184
133
168
228
261
195
173
196
191
201
167
217
257
204
176
210
202
182
211
188
182
248
130
173
206
211
265
192
130
202
228
194
222
147
133
217
269
166
200
206
173
157
115
315
145
247
176
188
211
191
189
196
217
188
187
272
198
122
226
183
244
195
130
227
156
247
157
197
204
246
146
184
176
299
202
190
195
212
217
252
202
200
129
152
190
183
179
204
155
168
164
217
293
178
185
168
244
173
193
250
201
162
210
224
133
236
129
168
204
173
168
186
168
179
181
147
221
245
146
191
202
146
210
146
157
176
303
206
164
184
183
197
217
275
155
200
236
183
129
227
238
246
128
260
207
115
186
175
180
129
155
129
188
195
232
162
204
141
174
149
203
210
192
159
225
219
173
231
171
208
179
200
203
156
200
174
184
236
196
192
227
176
185
235
210
162
243
273
281
191
209
167
130
129
213
201
233
220
252
129
173
174
167
190
191
130
210
145
191
202
246
237
211
173
211
228
145
178
161
214
145
115
244
167
201
186
202
225
165
210
202
204
183
194
202
141
164
115
190
173
166
143
195
146
173
130
168
164
225
193
129
238
173
130
236
200
184
129
190
213
132
220
255
166
198
145
200
146
275
130
166
239
141
145
176
176
192
230
158
253
188
168
231
205
158
172
227
211
156
219
202
182
217
194
264
129
129
130
146
201
177
175
168
210
188
173
205
222
174
230
229
129
152
261
176
176
142
174
172
179
251
215
204
156
146
185
173
173
210
184
156
155
168
232
211
262
269
252
189
211
204
163
214
156
146
251
176
178
214
204
200
130
146
164
249
162
227
208
277
164
174
241
210
184
239
213
215
177
235
190
177
184
146
185
156
259
171
179
222
167
156
161
171
214
129
130
146
203
192
172
212
233
191
210
199
179
173
239
246
193
159
160
182
185
205
239
233
204
239
234
221
206
197
189
182
172
146
143
246
173
237
255
169
211
179
225
164
190
216
130
156
201
211
179
204
250
143
130
254
227
206
192
174
162
164
183
225
200
145
230
186
164
253
219
184
209
181
240
200
190
182
195
130
179
172
190
189
234
218
202
202
129
211
193
197
183
185
179
230
179
184
185
210
265
214
176
130
280
217
192
176
247
186
253
182
146
160
170
133
254
238
264
230
239
265
160
187
203
227
211
171
176
210
130
200
226
235
130
129
197
197
162
129
200
129
158
172
189
146
147
183
230
130
130
211
162
191
162
128
146
194
162
176
173
190
210
192
173
225
165
210
234
162
174
141
190
250
231
180
143
207
173
182
202
156
143
173
229
205
184
207
241
187
182
129
176
256
224
164
242
203
129
176
202
206
199
276
246
200
173
180
217
200
183
202
152
138
199
160
130
162
204
182
171
156
190
206
208
133
173
204
197
157
143
207
179
236
173
143
173
173
146
226
201
325
168
193
158
145
160
168
145
133
141
222
184
173
233
184
230
206
173
145
143
144
228
193
256
211
203
157
133
232
199
199
198
167
189
146
269
200
182
173
143
146
164
133
250
162
200
190
192
186
214
182
204
219
129
186
236
174
201
151
193
225
145
143
210
189
129
188
214
215
185
175
209
173
233
224
204
183
210
146
182
202
168
206
133
164
160
254
155
155
115
195
201
207
210
209
200
203
155
151
133
214
173
143
179
192
133
217
246
250
183
249
183
183
233
188
236
253
161
133
173
149
211
209
203
210
149
201
138
238
208
191
198
239
146
188
236
158
115
183
212
233
143
238
254
161
201
246
150
155
194
172
168
271
167
193
129
168
180
229
130
215
202
144
194
203
240
200
150
146
186
236
254
201
210
207
188
179
176
128
203
224
220
217
202
179
186
171
152
211
179
200
185
129
205
150
212
169
269
129
173
129
130
190
238
194
216
245
229
197
146
335
219
210
183
258
176
122
133
303
217
153
204
202
181
149
202
222
195
249
250
210
184
259
283
195
233
239
210
247
129
189
141
200
206
225
162
178
226
184
201
164
173
130
224
216
255
173
188
164
202
169
184
115
239
130
153
227
151
246
210
246
218
228
129
141
182
136
202
194
208
214
158
195
209
115
269
250
245
155
184
200
209
197
173
180
130
191
115
173
246
195
170
146
204
173
195
202
156
246
182
145
130
234
173
185
218
164
192
170
146
129
238
204
144
173
167
196
206
208
202
147
173
231
184
262
149
149
155
183
214
200
216
179
202
115
224
244
182
149
143
162
184
252
190
229
187
184
183
182
185
149
115
145
230
188
167
181
204
164
201
130
214
216
245
217
254
128
149
159
229
204
216
130
146
177
129
143
264
180
138
115
189
237
229
180
130
192
188
202
162
209
180
266
161
249
200
129
210
210
227
143
191
129
207
210
129
189
206
129
225
252
202
192
158
150
181
335
193
260
172
179
221
247
222
191
249
179
230
115
238
191
176
162
184
248
173
150
224
183
183
177
239
141
157
203
138
206
221
223
129
236
146
200
207
169
183
221
129
179
147
173
256
174
217
170
276
247
257
233
162
184
193
173
263
176
145
151
200
308
173
176
242
228
209
178
176
213
188
199
153
252
164
141
236
130
194
189
195
201
182
262
200
222
185
194
133
130
206
183
217
164
133
217
167
173
129
115
200
115
185
166
217
167
227
175
203
231
262
166
187
173
185
122
229
173
186
259
145
261
211
158
176
233
143
300
165
223
204
240
217
264
182
296
227
228
129
206
210
193
193
190
262
157
168
201
165
198
130
157
192
257
220
208
287
210
177
194
235
167
160
236
184
173
284
239
208
189
210
261
130
179
168
217
217
238
156
128
265
122
211
252
261
195
183
185
164
177
219
229
183
217
255
263
145
216
158
173
150
146
115
168
232
155
233
177
247
239
186
132
201
179
173
208
162
236
204
115
182
195
214
171
158
210
247
221
230
204
132
198
182
149
186
162
191
231
210
168
258
213
240
171
180
227
267
255
181
173
292
202
222
210
176
232
168
217
245
158
183
178
176
201
130
146
143
258
217
130
130
191
217
157
210
181
200
179
203
236
217
214
206
207
204
207
195
217
177
269
156
217
162
122
210
249
225
173
264
206
231
188
210
210
179
174
176
214
278
182
194
200
189
183
173
130
180
169
187
206
236
158
268
186
178
192
202
176
194
161
179
236
167
168
253
129
149
189
252
237
206
186
161
175
170
153
202
160
173
168
200
174
173
242
211
173
231
177
173
160
283
146
230
268
216
169
162
196
151
200
230
307
184
181
222
204
223
231
217
261
261
159
155
145
202
146
176
131
242
163
130
150
214
173
158
208
319
213
205
209
239
217
156
146
235
204
156
249
173
206
217
205
218
185
238
204
115
210
245
178
201
173
194
150
146
195
146
185
186
231
238
187
204
259
167
220
132
189
155
214
187
171
235
182
144
199
216
261
138
162
184
115
133
188
115
210
256
226
179
150
155
149
128
244
187
204
146
187
119
169
204
128
202
194
146
161
181
200
203
211
258
202
176
133
164
221
257
211
210
210
165
156
152
187
259
226
214
184
218
201
187
238
169
206
149
188
242
234
202
261
161
156
190
129
173
283
115
246
212
159
286
129
179
282
173
146
281
178
173
130
168
294
240
144
155
130
230
184
176
176
249
145
182
201
191
215
181
175
247
178
146
256
182
247
236
256
178
236
211
143
162
248
179
191
244
307
175
214
115
205
143
150
181
227
210
151
177
204
184
178
227
201
173
195
146
200
211
189
191
235
131
115
146
143
133
217
204
138
214
157
129
191
179
145
248
133
205
259
221
204
169
129
201
180
156
122
162
209
127
204
201
177
195
178
208
182
204
146
177
253
184
152
177
248
182
184
173
171
268
162
193
194
288
214
218
225
187
203
145
221
217
145
170
115
227
228
229
198
226
183
202
189
146
211
183
164
247
181
204
169
186
222
214
221
199
129
130
173
201
213
200
146
173
129
197
155
133
199
199
239
219
183
191
282
243
176
130
133
191
157
294
257
164
201
156
183
143
122
178
188
130
217
210
173
129
245
129
233
176
144
251
188
141
217
186
146
192
230
201
115
223
236
211
193
230
231
182
143
255
237
192
239
194
181
219
267
176
146
184
179
198
206
265
177
164
189
129
214
149
248
191
132
295
132
202
231
158
173
151
189
191
273
227
185
191
148
172
201
175
214
144
158
130
190
162
207
184
190
150
158
230
155
200
202
206
186
213
246
217
232
158
260
192
191
173
179
164
253
130
162
194
184
205
203
169
146
166
130
145
144
206
204
202
156
242
201
237
241
146
240
180
180
188
225
234
268
202
209
164
176
229
209
215
177
190
157
164
183
183
129
128
130
183
202
162
173
209
204
181
274
129
287
287
211
196
185
175
174
246
153
200
223
244
214
146
232
183
162
162
205
264
146
227
130
252
129
227
229
189
217
166
173
195
201
222
146
231
168
204
182
251
149
210
158
130
212
245
207
202
201
211
162
258
162
188
221
195
163
237
211
177
170
203
242
129
176
171
182
230
174
200
202
185
257
212
129
173
215
174
174
183
211
188
256
233
129
209
209
214
168
196
224
258
188
230
146
219
199
143
216
173
196
168
185
130
149
186
184
203
172
206
203
157
203
183
206
231
214
210
156
143
176
234
178
244
205
185
129
198
201
183
122
236
177
145
163
218
211
156
200
175
224
219
204
129
204
191
157
203
229
178
230
169
166
225
207
232
230
204
210
170
174
191
173
185
219
159
184
263
146
206
162
141
169
167
197
191
185
211
228
272
187
212
156
238
162
143
172
130
188
204
183
204
205
184
189
201
273
155
192
194
197
133
217
146
239
228
217
184
184
213
167
218
154
237
225
256
207
167
176
249
236
205
181
200
222
239
275
224
169
164
166
199
168
129
239
168
181
204
206
174
186
236
186
209
180
155
129
200
200
234
186
201
229
191
254
202
183
169
173
245
130
214
171
238
151
168
115
176
211
250
173
160
234
144
236
239
179
210
234
146
155
149
248
146
234
133
161
209
143
150
244
192
115
230
303
204
202
158
146
173
162
162
182
215
178
180
156
168
212
129
172
170
173
156
240
176
210
186
182
143
218
206
178
260
198
208
133
146
161
156
256
168
169
160
133
229
248
146
132
188
217
188
207
210
175
183
180
225
202
230
186
217
115
132
158
235
236
260
129
133
235
217
176
187
194
160
214
173
143
129
158
239
274
211
133
254
173
156
173
150
222
129
191
194
242
146
194
169
149
200
208
281
181
217
228
202
257
156
176
206
146
168
190
230
187
246
185
274
173
221
222
185
249
129
256
179
214
146
183
170
180
181
210
209
221
182
242
232
229
226
236
182
166
171
153
181
298
190
276
143
179
233
184
148
215
210
153
225
152
176
185
192
176
176
184
158
194
146
164
195
195
190
150
214
172
173
189
248
115
218
238
261
162
176
218
201
230
173
376
218
143
192
201
204
208
141
217
115
188
133
129
204
210
259
226
239
207
219
201
143
194
182
196
185
202
152
183
194
192
208
245
150
176
129
240
173
202
233
206
145
173
180
201
181
231
128
164
211
226
230
178
129
179
179
161
156
174
269
191
168
164
196
129
229
175
243
217
177
198
239
201
249
209
203
211
237
206
145
187
177
201
179
178
184
201
200
176
184
132
129
282
194
203
189
180
201
152
130
218
236
264
205
130
160
274
179
138
138
206
201
226
192
204
227
304
242
202
217
146
208
184
188
150
158
271
178
238
178
244
227
150
184
184
191
130
204
138
181
174
222
203
169
333
208
180
266
168
172
252
173
236
246
170
269
174
206
171
168
161
129
177
156
145
181
129
183
243
270
189
217
193
138
168
209
277
158
178
179
133
202
146
238
222
237
151
297
168
204
145
141
146
194
257
201
146
229
186
218
174
255
194
219
208
185
210
236
169
236
191
210
166
209
240
204
262
179
162
130
181
183
181
146
186
158
174
138
158
138
183
180
241
150
244
267
175
183
173
229
211
239
173
229
183
226
214
146
130
199
269
211
232
238
191
209
206
205
204
198
146
269
182
282
215
180
238
176
258
168
162
258
160
233
145
115
178
176
143
230
210
146
204
231
214
189
227
195
178
289
217
173
158
165
209
182
188
242
146
224
204
173
147
213
192
175
191
164
115
187
180
162
212
221
156
204
192
169
203
224
212
129
217
173
221
176
214
202
173
178
216
170
176
185
234
281
261
146
215
183
204
176
206
191
184
214
168
169
210
192
179
130
186
306
164
163
146
188
230
162
199
162
183
176
162
182
143
152
179
202
263
217
176
167
190
147
202
189
198
143
145
204
130
215
176
162
265
176
191
219
157
188
216
191
204
168
204
269
180
191
222
217
168
173
166
248
168
247
122
240
253
192
168
130
173
157
133
214
183
176
216
222
185
210
202
203
177
230
146
185
238
160
213
217
158
130
204
170
173
146
169
222
269
225
162
155
263
265
202
176
214
177
217
213
214
164
247
176
204
204
201
211
146
218
184
238
329
153
145
146
149
303
174
166
210
158
185
217
244
178
230
263
238
145
146
199
214
130
203
168
129
193
217
145
188
215
189
122
168
210
241
214
214
162
202
221
162
231
170
222
129
166
222
158
200
197
162
264
264
192
184
190
176
221
195
182
167
158
193
154
202
129
145
133
197
176
185
207
174
217
129
184
162
225
229
199
256
176
146
177
176
239
192
164
178
181
236
213
211
180
168
151
145
154
252
236
182
238
180
183
232
173
176
176
246
302
193
181
161
240
129
192
222
199
204
223
216
280
270
199
192
163
213
173
228
190
176
230
158
201
173
260
133
171
221
207
174
172
274
188
132
170
162
192
221
162
149
115
252
214
172
129
286
191
173
182
199
182
191
152
300
173
217
185
182
162
189
153
150
185
181
138
133
185
184
130
182
183
242
181
200
282
202
130
195
198
225
162
240
211
215
200
177
187
227
204
130
260
187
199
261
173
181
206
179
218
129
237
204
180
192
187
246
201
180
132
180
204
158
130
185
115
237
188
175
216
168
203
184
130
266
143
209
264
249
173
159
157
191
181
185
276
168
150
204
168
168
239
176
162
232
164
183
176
208
191
234
129
156
225
228
210
180
146
176
164
206
146
189
239
141
176
179
168
150
238
198
179
204
191
165
201
181
205
168
218
204
115
185
163
143
183
197
210
204
186
234
200
237
130
203
217
130
201
216
184
217
164
192
206
174
156
192
129
122
187
146
249
210
214
145
130
210
260
257
187
210
190
247
234
201
158
206
204
173
143
212
173
141
194
158
198
133
129
245
156
173
260
155
201
275
161
235
277
173
223
204
128
180
175
173
230
175
176
150
273
175
258
204
281
225
184
201
188
204
174
179
162
183
187
194
184
185
129
141
209
164
173
230
179
133
223
173
172
173
175
128
172
215
146
152
115
210
258
158
188
143
169
155
145
239
146
188
129
211
167
128
185
175
215
173
217
247
270
238
130
204
234
200
173
199
143
181
173
129
166
228
146
169
141
264
157
209
184
200
179
178
200
164
173
241
129
215
262
187
178
176
264
273
218
210
200
129
237
227
202
215
228
178
285
146
203
173
242
240
146
182
178
129
178
188
201
201
183
143
167
217
144
182
217
169
173
255
146
204
199
146
169
129
147
227
256
221
186
115
197
173
183
234
202
158
176
184
189
202
130
206
207
186
204
159
211
148
228
183
145
178
199
265
175
129
138
177
182
182
173
185
145
194
143
260
217
229
133
233
178
150
261
155
237
164
174
180
146
133
163
213
241
255
218
194
223
162
194
182
247
160
202
246
168
155
221
178
214
201
129
170
164
182
119
207
168
205
224
204
199
203
168
158
214
202
236
163
222
193
178
130
129
219
151
217
173
129
169
150
164
204
115
188
216
129
210
260
253
225
248
178
176
204
146
173
204
181
170
197
202
276
270
159
214
146
173
208
194
130
206
238
132
226
211
230
164
218
193
263
158
146
176
182
254
215
173
191
260
265
210
238
164
189
176
210
182
205
209
209
162
175
175
233
184
130
264
254
262
245
254
191
176
201
258
200
240
228
184
168
178
189
201
155
179
199
216
218
191
170
181
205
219
178
191
195
173
268
182
162
162
185
146
208
233
145
225
195
215
184
208
217
130
176
188
259
130
146
201
219
186
175
172
194
164
179
170
129
189
173
173
172
176
141
210
115
150
183
191
221
149
239
156
214
209
164
129
205
211
200
176
234
157
143
180
204
231
168
197
159
230
186
173
199
158
213
149
182
229
248
174
256
202
230
235
183
188
166
202
168
200
194
158
130
210
214
159
216
187
329
214
257
164
168
205
152
242
129
145
173
157
164
150
160
205
226
246
130
115
218
159
162
236
146
238
164
173
215
223
176
256
245
265
212
210
153
173
205
245
217
224
188
160
243
185
166
173
201
183
188
167
230
230
145
203
143
174
186
273
184
231
157
133
250
186
164
230
196
210
298
210
173
289
208
260
195
164
236
178
242
201
242
206
171
234
145
151
241
182
160
200
217
151
243
182
216
226
263
149
200
176
192
189
129
158
219
237
214
216
182
115
217
176
239
199
236
173
208
160
179
130
236
206
180
199
152
181
168
185
153
238
182
196
246
176
169
194
158
160
137
145
204
209
173
247
157
275
224
270
185
238
178
182
157
162
140
145
247
245
194
212
230
224
203
150
222
167
173
129
199
172
178
129
235
207
187
122
288
156
150
209
169
206
280
204
204
274
214
186
207
178
182
245
188
225
191
262
151
129
193
204
173
229
168
143
129
206
129
175
204
146
207
143
210
180
228
160
251
260
158
146
151
219
204
130
129
143
244
187
194
245
182
158
222
191
171
249
205
232
156
214
202
130
146
210
252
265
207
211
166
203
185
199
234
212
168
178
164
220
173
167
184
149
210
161
243
176
158
210
248
176
167
150
288
208
209
173
176
274
205
224
129
200
184
129
195
217
197
189
172
230
221
158
180
184
211
146
214
157
209
153
202
130
162
182
239
234
198
248
162
221
288
175
166
321
151
173
173
115
210
241
183
202
213
145
190
173
249
129
133
144
166
225
190
166
244
155
184
146
209
139
217
145
232
231
202
236
236
272
180
138
176
260
179
168
230
216
229
173
224
129
236
264
155
164
146
129
252
190
254
186
171
226
179
129
249
239
210
277
262
178
141
182
195
217
167
122
236
217
285
167
190
148
252
185
275
257
233
141
188
174
176
202
176
204
145
210
222
259
200
217
203
252
129
211
157
192
145
199
210
164
158
267
219
143
214
239
169
177
162
167
219
241
184
166
227
183
242
236
201
204
195
186
238
335
217
129
221
217
228
242
211
187
179
189
274
207
220
168
186
211
151
246
183
254
173
191
191
179
275
204
189
213
276
162
171
174
211
168
130
195
238
182
162
162
205
236
217
206
216
244
147
188
184
173
207
217
138
261
149
129
201
186
129
184
288
129
205
180
184
203
235
178
304
251
195
146
201
145
222
224
185
173
200
186
238
178
214
196
236
138
168
197
145
200
147
158
166
133
159
182
168
221
169
164
269
191
223
172
129
222
189
176
176
222
204
182
173
157
194
158
217
164
225
170
173
192
184
231
178
179
231
191
239
225
200
146
190
204
233
115
219
253
173
202
244
250
219
156
201
207
188
199
182
173
192
238
206
221
205
192
222
217
195
194
211
190
192
264
156
129
206
146
204
146
179
210
184
185
190
173
237
202
246
211
168
204
222
209
221
185
158
202
185
145
236
235
184
179
287
173
222
151
252
217
245
192
240
207
222
182
168
119
251
152
217
200
201
122
250
173
242
183
138
239
183
158
150
199
179
129
220
189
141
129
238
129
262
130
211
163
274
264
156
146
238
175
173
196
158
194
274
155
211
146
222
183
236
222
161
164
175
206
159
146
143
216
217
212
206
256
143
261
275
179
217
204
156
165
164
222
258
249
267
160
176
168
155
138
179
236
222
199
183
171
190
210
191
210
180
204
197
210
173
184
244
197
217
184
176
202
210
189
162
181
204
192
176
162
205
274
183
187
176
170
261
230
204
213
253
207
169
122
179
182
143
130
335
194
198
274
170
259
276
130
145
166
170
165
122
204
203
180
171
146
158
299
184
185
146
233
188
149
184
203
256
258
236
202
169
251
171
175
228
189
190
186
158
213
172
188
216
187
168
204
163
146
161
130
176
244
176
159
258
263
240
146
166
195
129
202
243
155
151
162
180
256
201
200
246
240
211
274
132
211
238
176
197
210
132
173
247
156
163
164
115
186
195
174
232
194
170
184
181
203
176
247
227
164
183
192
236
236
222
173
220
180
146
130
233
191
214
185
146
191
189
158
158
206
138
245
230
194
173
155
201
167
207
155
179
176
129
146
187
146
242
225
211
217
129
223
167
146
251
224
153
168
149
129
199
252
191
149
145
146
233
191
176
181
228
176
200
186
263
186
115
195
178
223
189
195
185
200
200
181
173
200
188
129
203
141
168
176
184
129
227
176
243
248
208
162
176
262
166
196
236
194
181
191
212
158
225
258
155
244
245
146
210
122
174
147
200
242
115
204
302
150
162
145
230
167
130
168
176
129
161
146
145
158
230
262
206
225
156
200
160
162
192
217
222
200
176
191
210
255
187
197
168
146
195
180
239
182
200
130
150
184
227
164
159
254
199
198
174
259
226
258
162
201
133
153
185
129
129
218
241
115
145
202
146
207
216
214
176
176
190
244
271
202
129
174
187
160
257
255
213
182
189
180
194
204
146
143
122
209
141
243
168
164
255
178
159
146
191
239
179
225
176
133
173
266
173
225
143
129
143
184
243
180
193
210
218
129
162
217
133
192
129
176
145
229
160
221
202
156
190
263
234
158
146
158
178
188
156
178
130
158
254
149
180
217
202
223
200
147
175
129
221
247
260
169
129
201
210
177
208
194
194
122
167
169
189
130
247
167
130
191
141
145
115
176
204
184
180
186
266
177
169
238
210
217
176
229
160
119
267
236
157
244
172
193
173
179
143
178
257
182
172
175
161
221
201
185
201
219
217
238
211
138
168
172
115
146
225
236
150
179
168
191
226
164
262
206
171
188
221
210
200
205
170
192
173
170
312
129
167
215
214
221
213
265
246
182
176
143
115
138
129
146
225
208
199
219
185
278
274
209
195
212
209
157
191
183
176
206
195
239
202
243
128
195
299
231
194
141
173
146
252
156
202
162
205
188
164
197
245
128
236
190
230
173
204
174
210
239
176
164
146
176
222
205
180
241
220
178
256
176
176
198
166
168
129
178
176
183
205
204
247
222
148
173
187
233
179
206
156
185
178
182
129
221
130
133
119
151
162
191
200
138
212
222
146
212
238
195
180
130
144
176
204
183
146
173
206
230
252
200
254
216
176
296
232
241
130
197
200
178
270
163
297
278
186
175
238
270
133
153
229
193
215
150
169
204
146
199
147
133
138
206
217
133
141
176
270
252
186
211
143
206
168
214
227
202
172
186
240
201
178
141
222
171
176
209
180
240
217
181
204
173
115
165
164
151
256
200
141
279
188
168
173
263
211
174
262
204
206
146
173
186
236
210
143
168
130
183
212
203
201
217
152
156
204
208
156
239
238
185
184
216
239
184
177
263
143
192
220
182
164
194
202
146
235
183
173
153
203
228
211
145
164
173
210
229
236
233
183
227
161
242
199
164
207
156
209
166
155
179
172
241
236
178
183
210
206
283
186
247
228
180
194
184
178
133
204
130
241
247
217
164
173
136
173
155
204
145
210
170
233
178
183
188
236
129
208
163
145
205
195
133
184
193
240
210
229
162
132
191
173
194
160
290
181
161
173
184
203
146
184
226
194
158
216
180
205
151
287
149
206
195
184
129
186
277
171
169
225
146
217
198
198
190
155
201
129
231
143
179
218
129
174
145
176
129
182
158
179
308
169
216
149
195
163
183
214
173
191
189
211
163
164
188
245
240
176
180
129
211
183
233
233
190
190
173
202
132
194
158
179
130
143
204
182
176
200
115
237
162
182
149
141
163
191
162
115
228
231
178
194
210
204
173
218
221
241
158
183
197
180
164
191
200
145
219
211
181
153
159
139
173
146
240
201
245
206
160
146
156
211
146
169
257
222
264
143
182
192
161
210
145
183
179
149
191
143
287
216
246
161
165
182
206
236
130
146
143
218
210
158
160
176
196
260
246
218
263
208
246
239
287
207
152
204
122
235
169
182
173
176
256
266
300
129
189
141
230
132
179
222
202
146
173
217
233
158
133
164
160
166
162
162
255
158
182
178
197
156
200
225
178
129
171
230
133
162
214
251
209
193
210
205
130
256
115
192
202
228
158
189
133
130
146
173
196
191
225
286
179
204
268
170
190
210
129
249
210
209
228
162
201
211
204
230
130
185
150
168
166
201
187
182
190
164
176
205
186
210
206
143
155
129
206
140
232
183
153
162
185
173
166
164
206
214
173
149
157
243
115
202
217
138
150
169
176
247
164
208
219
168
150
215
181
164
133
202
145
211
203
296
283
252
227
216
164
208
205
206
155
200
189
213
173
159
243
166
178
162
228
183
259
149
178
173
180
146
170
133
173
168
249
169
157
182
259
183
193
143
192
234
211
173
183
241
272
146
168
255
186
202
201
265
133
157
236
233
163
172
258
170
150
240
143
186
226
146
171
162
202
225
157
221
242
145
182
183
219
236
191
194
217
178
201
129
156
221
183
158
204
213
149
156
270
220
191
181
207
260
210
178
217
224
129
183
151
129
209
217
176
206
189
242
229
151
162
210
168
203
207
173
217
129
185
178
119
179
133
268
231
157
173
181
239
240
296
211
198
204
210
182
130
198
187
214
295
303
158
209
158
237
191
217
229
129
242
182
167
184
257
138
210
303
174
186
200
222
192
145
202
200
169
181
129
273
176
249
179
218
190
210
160
199
176
146
183
164
195
186
168
146
250
192
202
115
205
206
239
239
166
201
158
178
133
164
156
180
211
173
145
222
146
188
220
207
146
122
210
192
219
150
181
181
199
211
146
182
211
176
225
183
173
176
173
166
236
193
130
146
119
247
146
129
150
172
217
245
176
174
164
210
266
191
192
200
168
211
222
198
287
244
210
211
265
259
252
173
286
183
184
182
193
272
208
217
218
161
129
246
147
145
247
172
182
179
234
216
122
158
241
183
274
202
194
211
167
205
187
176
143
218
173
155
218
145
242
130
176
122
130
186
214
161
215
143
183
204
186
192
223
173
129
191
129
168
209
185
115
158
173
230
250
237
238
146
173
178
150
191
130
115
210
211
193
186
155
239
155
227
130
204
145
254
207
133
258
157
234
242
188
178
129
143
204
164
176
160
274
201
222
165
176
169
181
166
244
198
255
230
206
185
230
129
183
162
201
230
168
203
238
192
266
173
130
256
182
173
181
201
171
195
278
255
289
202
133
248
205
186
115
146
230
215
159
236
164
179
228
200
218
158
236
295
191
130
197
176
165
187
253
212
199
206
176
129
176
264
201
222
230
129
128
225
214
189
185
239
204
146
164
263
173
176
246
176
236
158
183
143
143
236
253
206
178
311
234
181
236
179
182
178
159
230
202
146
130
173
146
130
321
183
181
254
152
179
149
130
218
202
204
171
210
191
128
162
184
231
159
169
145
155
214
192
232
202
216
205
166
168
193
199
212
211
158
173
162
212
204
200
183
130
161
129
182
191
133
133
206
176
234
129
198
170
173
187
169
170
238
274
131
187
210
168
195
168
226
220
129
130
129
190
212
149
187
182
199
176
225
162
173
249
151
130
270
195
247
170
236
178
129
201
264
164
150
180
216
210
143
179
130
144
246
217
225
185
230
186
175
244
173
129
143
146
183
221
175
200
130
208
222
209
201
145
185
249
259
144
204
210
145
202
176
143
168
210
201
217
266
133
182
180
222
225
122
232
151
232
205
238
203
133
263
143
263
261
201
174
204
146
245
236
200
203
303
115
173
244
217
230
261
130
176
115
129
195
155
218
129
192
307
168
145
183
202
173
231
190
234
168
227
251
184
184
189
177
215
199
203
210
205
173
248
188
155
185
158
141
129
179
143
204
212
145
168
211
146
130
256
173
197
210
239
173
211
158
204
214
246
265
195
228
184
122
231
219
278
221
209
213
191
163
217
133
217
185
204
242
157
202
182
206
182
223
208
155
200
222
180
228
179
130
130
130
204
133
199
157
206
206
164
130
172
217
164
174
172
191
150
260
130
173
190
236
204
187
251
191
161
217
247
157
166
193
175
173
177
165
208
193
223
205
186
158
236
182
259
156
146
130
184
177
234
225
211
171
182
256
200
201
200
204
248
189
169
258
210
211
192
166
159
258
129
214
181
174
183
258
202
173
233
166
176
145
249
158
222
143
130
168
129
206
261
260
231
229
242
268
180
215
178
206
166
245
222
146
255
204
164
175
179
210
261
225
161
141
191
172
217
179
176
171
210
202
174
274
232
146
281
210
169
156
227
211
130
219
174
190
212
236
176
238
146
173
176
145
173
147
129
164
171
234
202
174
217
204
179
173
173
166
183
145
143
195
185
202
129
162
227
183
158
146
129
197
203
146
166
206
176
138
202
138
158
164
179
164
179
258
217
204
147
130
205
173
211
228
230
193
228
129
204
207
145
206
207
175
193
141
161
201
222
206
219
181
200
160
230
129
175
256
122
227
201
243
233
129
182
242
155
129
146
206
168
184
173
143
143
192
158
208
129
132
145
162
168
204
224
263
162
204
159
250
182
258
188
251
146
156
258
129
225
201
251
222
170
200
176
264
180
144
188
229
166
245
201
213
217
288
146
181
213
219
145
184
191
145
171
180
176
200
189
229
212
199
204
164
227
179
191
164
189
201
190
176
206
181
115
173
210
216
227
278
149
203
217
129
178
205
230
206
226
145
168
176
185
172
270
203
182
214
225
166
129
244
233
174
146
146
227
209
184
188
130
205
162
162
205
145
208
208
202
173
210
182
208
185
288
311
220
237
195
179
280
160
296
196
266
156
174
130
206
150
217
191
183
183
152
129
152
264
171
198
239
129
225
161
252
173
173
162
262
145
179
236
216
149
202
130
129
202
130
182
129
168
194
212
240
164
219
130
155
176
244
146
198
129
130
146
180
166
203
217
196
246
173
169
164
190
144
156
187
204
284
206
238
165
210
217
211
173
256
130
166
272
196
236
212
129
190
214
204
145
221
210
236
206
182
130
181
167
180
264
283
249
165
152
174
206
133
170
171
149
130
130
115
158
146
232
146
156
178
210
143
168
268
203
258
222
205
180
130
183
221
180
167
217
157
130
200
192
146
242
172
264
158
260
254
234
239
201
217
194
233
202
219
168
236
209
178
204
184
145
231
145
183
200
162
244
186
227
171
189
203
216
176
179
184
187
192
202
186
230
202
191
182
131
184
195
259
210
161
210
129
207
200
157
248
129
211
176
191
193
200
222
162
191
200
203
184
176
133
179
189
183
173
234
280
145
122
143
272
199
129
176
146
252
246
168
260
239
195
230
183
130
182
206
182
182
173
151
130
156
168
169
160
184
155
221
245
198
164
145
183
287
122
146
156
247
184
210
247
204
255
182
192
164
155
191
157
209
210
242
129
193
191
210
199
252
173
173
229
173
146
129
194
145
146
156
168
213
145
201
217
300
230
241
218
204
164
193
180
252
230
165
129
236
217
199
129
138
204
158
202
238
274
168
177
231
209
171
219
204
133
266
209
217
228
219
296
271
138
241
218
262
190
241
207
171
164
204
217
164
149
133
181
201
200
173
254
211
115
201
252
260
155
272
218
183
174
216
171
222
230
129
233
174
133
225
188
227
211
179
130
230
185
201
168
133
206
238
176
202
234
189
206
197
173
203
214
240
203
229
178
182
236
175
160
195
198
214
183
151
133
166
129
173
195
236
156
185
188
222
240
173
198
169
214
200
230
182
206
230
242
247
192
210
239
304
191
200
201
213
122
222
199
252
211
234
249
236
199
152
180
129
115
143
248
158
184
227
184
178
137
206
183
174
198
146
145
169
168
115
173
250
146
157
156
172
204
173
146
259
256
182
225
173
247
201
191
143
204
204
141
176
184
218
261
215
166
174
119
194
122
206
149
223
236
216
167
180
130
273
184
205
166
195
146
199
238
130
242
191
202
145
188
176
240
238
242
280
202
194
183
228
217
220
230
204
164
268
192
129
217
217
208
184
252
203
168
222
129
130
188
227
130
173
149
168
230
181
190
176
224
173
246
217
174
146
192
252
129
130
204
234
184
188
194
168
256
180
191
188
170
169
226
236
173
166
208
204
232
132
168
178
203
122
185
184
207
206
172
202
229
229
191
227
184
162
182
171
180
217
195
130
129
226
130
158
196
165
199
129
192
202
172
194
146
179
248
222
197
194
256
234
144
196
171
280
180
185
144
210
164
176
222
213
204
217
146
200
151
146
239
195
115
150
175
242
146
215
240
199
183
145
244
292
143
146
197
189
199
176
146
209
146
220
240
173
193
168
129
168
227
146
238
164
242
179
224
180
259
115
222
183
171
188
145
266
230
195
159
133
238
156
238
143
297
145
189
236
213
237
192
202
166
200
176
202
210
130
184
182
129
185
145
209
143
188
229
157
281
198
264
184
122
160
254
115
173
166
177
236
226
210
233
194
196
130
183
210
158
184
146
133
213
201
172
166
182
201
263
169
262
248
156
227
159
155
252
246
279
146
202
146
133
191
146
209
260
130
234
182
179
187
255
115
165
160
195
158
168
162
194
152
187
133
164
190
168
162
261
212
215
210
203
194
138
191
130
150
181
273
178
178
204
185
217
219
202
206
129
205
173
204
172
175
184
158
244
256
274
182
181
198
209
215
156
185
183
219
222
189
236
202
233
217
146
223
147
155
227
284
173
115
161
173
201
184
122
176
210
221
182
173
239
214
158
256
193
171
238
218
258
217
244
178
205
210
202
176
211
216
189
168
185
186
160
178
182
174
258
160
162
223
129
201
201
248
201
218
201
201
202
184
160
224
133
184
202
158
176
190
168
132
183
179
168
227
192
144
221
210
238
129
244
146
204
188
183
230
194
201
185
239
132
172
192
238
164
225
203
212
209
217
173
161
206
168
204
217
210
205
221
200
151
197
164
129
218
250
214
219
207
259
133
257
174
179
264
188
189
185
184
158
130
174
282
156
204
239
181
239
191
198
132
274
158
140
229
161
160
225
222
230
187
184
181
143
194
198
216
133
206
192
238
146
130
229
210
177
188
204
173
130
235
141
217
199
151
176
160
218
198
200
201
217
133
201
195
269
227
255
161
259
129
232
181
227
162
211
247
150
188
145
217
188
231
164
176
193
168
190
155
241
171
236
201
222
224
167
200
248
191
245
204
247
189
217
206
298
206
218
264
201
218
209
221
164
168
231
185
174
146
173
171
164
149
158
203
205
303
204
146
217
146
184
216
236
152
176
171
250
156
211
296
176
183
138
199
204
156
202
130
169
185
158
164
186
172
168
300
236
200
174
185
210
182
178
196
274
201
164
215
180
150
209
202
191
147
130
161
171
217
256
128
250
174
238
174
313
146
200
227
230
203
212
194
229
201
230
217
194
146
141
241
234
233
182
177
182
216
207
160
141
248
226
160
143
211
240
246
143
133
146
229
129
206
146
230
206
162
230
215
267
146
221
193
232
225
220
219
196
165
210
201
145
164
119
209
238
176
173
173
201
178
199
225
161
204
180
166
130
130
209
199
200
173
217
185
226
143
188
168
170
201
158
181
215
190
225
300
133
221
130
235
180
272
192
268
217
201
197
237
206
133
172
216
165
130
178
201
265
285
168
179
224
174
163
151
146
214
115
175
158
201
160
180
166
168
285
235
184
200
156
185
115
175
203
180
269
227
162
210
130
233
216
192
262
239
173
187
248
256
234
246
145
146
173
214
129
227
215
193
193
333
173
199
173
130
229
230
174
146
219
199
273
133
237
205
189
237
221
122
188
220
168
217
204
162
205
202
229
179
246
179
183
213
236
246
238
161
143
169
168
155
179
192
195
191
145
200
207
188
178
213
210
129
173
205
176
173
262
237
241
239
210
130
179
186
203
201
204
180
314
156
160
204
180
227
229
190
254
210
130
217
223
162
222
133
130
176
228
162
184
207
173
205
201
181
247
173
212
260
223
253
130
156
195
210
230
183
164
195
180
173
221
173
210
129
152
129
144
176
206
138
217
173
130
179
167
161
183
191
240
178
146
190
164
182
244
178
130
185
211
129
190
173
220
161
199
191
241
225
146
263
208
155
200
146
195
145
287
169
129
222
233
233
170
143
195
183
189
236
217
231
175
202
178
210
198
189
241
208
175
198
146
228
276
129
290
164
252
155
148
201
205
146
201
176
186
222
173
129
204
183
204
207
204
171
176
181
175
180
133
254
176
157
153
197
240
130
202
266
210
200
239
238
173
225
202
164
226
224
225
115
248
185
156
204
247
173
138
168
182
195
201
244
173
173
203
130
222
173
178
168
188
133
176
188
173
281
199
138
208
239
174
217
130
231
210
183
225
171
181
162
211
193
228
225
173
164
183
204
210
229
191
122
235
155
155
145
242
130
202
226
217
254
195
230
190
195
226
171
129
277
130
190
213
278
146
168
234
223
130
232
173
200
173
210
209
256
254
153
254
184
214
170
234
233
141
165
204
184
325
197
145
130
176
237
200
207
185
183
186
203
146
151
150
160
173
197
203
191
168
238
181
191
255
151
207
162
257
181
176
335
176
168
143
138
195
183
188
187
230
173
183
133
173
210
131
227
178
176
183
226
189
248
178
199
216
180
264
172
184
181
133
243
174
185
229
173
184
240
238
164
205
163
199
260
169
176
282
138
234
122
128
244
211
156
130
217
246
146
129
227
203
221
221
259
236
164
179
178
145
191
155
244
192
156
204
173
179
164
261
221
234
210
192
115
185
162
190
251
230
180
257
182
183
236
146
200
200
210
176
182
273
176
234
210
224
239
252
252
206
185
229
200
149
214
190
185
228
178
229
227
149
185
210
153
188
197
279
184
247
234
193
195
158
184
185
202
155
129
164
173
200
168
128
233
211
202
181
130
155
238
206
250
232
174
188
187
191
214
204
256
222
211
215
173
145
183
155
200
211
192
233
168
258
179
164
356
192
239
232
175
146
202
194
222
287
255
221
300
224
203
153
236
181
183
206
176
164
230
161
198
146
188
219
128
193
201
199
190
188
167
200
221
179
231
119
189
179
214
211
143
173
180
204
143
208
266
241
161
197
188
152
178
259
176
233
155
197
129
201
196
169
129
180
225
115
130
195
294
222
276
178
115
141
206
128
221
193
160
206
236
241
145
210
199
173
300
179
191
252
214
168
173
204
203
263
146
145
159
210
212
173
160
211
168
235
220
178
246
130
173
204
226
180
197
202
222
201
155
143
210
166
172
207
143
248
164
238
185
196
191
152
201
155
162
168
259
237
211
184
211
176
231
188
192
211
152
186
199
179
229
176
242
158
162
155
182
173
187
192
168
207
153
184
228
252
287
256
227
185
258
204
191
234
225
238
208
210
166
190
228
173
129
132
288
181
146
226
179
130
146
195
184
171
247
133
206
311
176
211
169
173
176
169
190
210
143
228
204
196
156
158
185
206
239
176
226
145
143
192
146
219
191
115
162
239
261
180
122
202
200
152
194
214
231
130
223
180
201
234
176
204
227
205
217
173
187
147
204
237
258
255
129
236
153
184
210
155
182
201
146
217
226
180
187
208
218
187
182
210
251
146
165
229
234
179
168
190
224
217
261
201
129
208
202
209
249
173
130
201
311
143
129
243
183
172
205
173
245
207
225
177
166
191
143
201
252
170
147
230
173
205
211
261
176
138
264
129
272
163
206
173
182
239
178
162
224
235
162
184
168
193
172
159
150
204
253
164
205
165
169
145
217
236
222
168
180
147
189
129
172
199
204
231
199
298
277
153
246
184
195
182
242
218
200
260
149
242
145
173
208
247
261
219
217
176
182
217
157
129
237
183
158
153
204
176
205
176
217
218
199
238
173
169
195
203
193
207
129
175
235
115
242
292
202
210
213
186
180
167
149
211
184
172
133
160
217
244
129
145
215
233
130
258
162
335
204
219
206
204
228
179
157
157
200
225
165
130
169
235
164
222
173
172
206
146
210
138
172
180
148
265
175
175
204
146
174
217
173
210
185
283
207
217
242
128
242
209
185
189
128
220
189
208
200
221
145
198
202
150
180
130
193
158
181
170
173
129
202
245
203
238
173
208
204
220
164
151
261
130
172
161
158
264
183
157
235
133
216
210
173
231
172
185
164
214
255
181
198
216
130
184
209
200
244
145
191
156
257
146
204
180
143
129
217
146
319
247
158
184
187
238
300
171
251
191
202
236
146
204
257
146
233
201
240
202
156
130
203
169
212
201
128
204
226
143
195
130
176
258
229
138
150
252
174
246
130
202
142
261
160
179
147
178
234
178
164
247
173
172
182
220
202
228
194
225
156
162
193
218
263
195
129
210
180
132
186
201
146
182
202
191
222
223
199
164
217
146
160
264
216
168
180
266
236
161
210
237
181
217
201
201
130
146
179
186
184
160
128
130
214
130
176
129
158
209
150
176
146
224
232
146
184
156
172
206
174
193
180
172
160
158
173
217
197
200
176
182
200
130
146
199
180
152
167
187
185
183
221
157
200
263
223
188
229
161
200
171
173
173
288
187
191
191
238
153
173
160
184
173
129
225
229
181
239
238
181
188
201
214
281
145
247
130
234
129
212
146
182
202
199
204
208
191
206
182
256
241
147
271
259
200
174
219
206
176
176
162
194
204
183
218
179
204
231
129
133
195
172
206
197
179
193
159
129
202
188
200
155
186
129
179
158
262
156
149
174
130
220
146
204
132
183
180
173
260
190
145
217
213
225
201
215
188
242
188
205
210
164
202
212
219
210
228
144
176
133
189
158
155
130
180
231
160
234
190
243
250
145
143
173
191
204
145
146
149
168
143
182
204
185
217
238
278
165
215
201
179
242
202
229
185
179
274
283
203
145
176
256
215
166
147
250
206
187
209
259
174
128
168
187
199
184
179
164
227
260
155
230
201
174
203
165
178
208
129
238
214
145
184
167
250
172
183
292
119
182
191
164
185
177
249
181
178
168
207
164
205
179
190
130
176
176
153
149
130
130
176
284
204
204
168
221
201
185
202
195
189
204
211
188
180
129
205
276
169
174
271
207
158
122
173
176
283
138
156
183
204
210
198
217
210
174
115
183
164
175
169
203
230
130
165
119
183
202
133
130
207
179
173
146
213
204
264
184
143
162
191
202
128
216
130
236
239
280
182
210
233
233
169
227
264
170
264
186
217
146
164
204
191
263
168
221
232
169
130
153
211
238
129
202
195
129
204
155
171
145
145
180
138
302
227
209
195
115
199
208
152
239
146
146
210
256
181
205
218
185
185
179
129
144
195
115
204
206
233
192
173
254
248
130
161
129
129
164
138
226
146
170
133
175
189
161
256
204
251
143
202
218
146
130
182
137
160
191
213
160
204
143
207
195
200
195
143
145
206
164
122
219
115
240
162
313
173
129
267
160
204
264
188
204
167
219
275
133
182
197
191
179
182
122
268
183
187
225
210
191
178
176
197
217
207
223
183
201
233
183
185
180
176
179
122
146
164
185
180
255
175
205
212
129
202
141
237
169
248
238
226
230
129
260
218
246
163
130
171
187
173
210
164
169
155
180
190
173
208
132
158
204
145
203
174
229
201
228
201
129
360
238
187
155
192
264
255
192
230
141
214
191
173
168
178
214
201
219
166
223
173
204
201
217
202
130
335
216
146
115
226
268
189
204
156
192
309
203
130
164
209
146
203
184
166
158
214
183
182
232
170
173
217
200
230
211
181
163
164
185
138
143
289
200
222
130
159
160
219
164
129
178
186
212
132
212
157
175
237
153
150
191
146
164
146
231
149
221
180
129
173
200
190
145
219
129
246
234
246
162
165
147
260
150
204
239
174
179
212
133
173
200
208
244
183
204
210
221
143
247
260
161
211
224
182
176
190
231
202
150
130
234
211
176
200
217
245
173
166
168
178
190
219
130
129
170
200
204
160
211
205
157
138
230
205
246
143
210
280
173
236
217
259
129
129
167
202
163
145
197
258
163
245
160
233
226
205
173
181
192
201
240
233
238
161
133
173
237
287
168
181
176
189
225
204
227
335
238
211
226
224
233
173
237
204
200
217
122
246
324
228
145
162
195
129
166
173
200
115
173
183
152
206
254
171
183
146
160
172
178
173
250
176
190
335
282
168
169
182
225
184
206
188
129
202
181
169
188
129
115
141
175
182
242
217
175
193
188
129
214
156
203
216
215
231
173
115
274
200
198
130
203
173
249
207
185
173
160
208
200
205
186
169
160
235
206
241
238
189
242
133
292
158
176
238
211
162
156
203
211
189
133
201
146
143
180
181
165
222
264
217
164
164
115
149
206
183
230
276
180
203
159
164
143
166
179
174
173
209
211
133
227
232
176
145
176
206
183
180
200
225
129
203
184
200
238
288
230
176
211
256
187
205
184
203
191
176
213
186
152
216
233
145
153
200
200
184
169
179
183
129
156
159
201
166
186
209
209
208
165
210
149
129
166
155
205
211
143
231
160
179
173
130
156
178
138
129
222
207
181
147
146
223
203
231
173
152
211
155
182
156
162
279
239
178
185
179
202
191
283
198
180
129
207
167
255
149
168
175
179
156
242
230
200
175
174
242
128
147
210
158
186
216
209
133
176
219
205
129
283
130
170
160
218
164
163
220
230
217
146
258
179
176
133
176
133
186
129
211
129
180
222
129
206
129
224
221
146
266
183
252
146
194
155
171
239
201
202
189
210
133
150
217
188
204
226
172
168
141
216
200
210
210
195
210
146
266
215
173
178
176
207
233
155
150
206
170
186
228
202
173
176
173
184
130
218
264
133
181
158
214
207
175
230
146
204
115
146
155
187
203
230
173
146
241
200
164
210
239
185
231
183
129
138
237
152
242
191
189
204
184
176
232
173
261
214
169
178
179
203
204
115
225
222
214
200
195
204
155
160
178
181
146
163
205
129
226
168
164
149
206
194
217
228
128
171
198
195
219
130
162
210
199
206
227
178
183
230
191
157
221
173
253
231
183
170
240
149
319
166
249
284
228
168
155
210
231
168
197
155
129
232
173
214
191
231
180
183
192
180
149
251
150
258
156
163
174
226
239
141
205
273
165
180
197
228
187
195
217
180
129
244
221
188
199
160
132
206
214
207
192
155
218
220
129
203
168
221
211
223
129
152
202
214
176
205
156
144
215
146
130
214
179
149
254
258
186
311
231
225
146
168
177
184
129
178
183
168
143
149
176
213
198
243
122
179
173
202
216
245
115
200
238
236
217
201
175
171
257
155
222
159
248
229
192
238
146
192
164
167
188
242
208
200
162
227
183
189
222
202
200
150
261
130
206
149
115
253
289
306
185
171
178
232
152
133
296
254
191
195
254
173
130
178
235
164
217
204
177
164
200
179
172
242
264
183
185
186
200
158
227
191
190
138
275
207
173
184
129
205
173
184
187
176
230
230
203
239
182
255
224
146
209
173
188
200
129
236
191
174
206
192
204
162
239
203
173
115
176
201
164
184
179
158
221
185
228
161
188
128
227
176
193
248
173
200
185
236
212
169
145
245
221
146
173
225
188
152
211
146
204
130
204
162
195
297
165
173
147
213
233
173
228
208
214
211
183
214
172
129
145
193
160
166
208
183
130
146
174
205
184
228
115
191
264
333
200
225
242
221
186
200
204
194
247
228
229
212
169
180
254
181
164
170
274
155
202
141
187
182
177
143
150
214
259
214
188
238
115
191
164
133
150
133
182
183
203
162
181
239
165
199
158
237
239
217
210
129
169
173
188
185
245
211
208
164
119
285
230
122
296
188
210
132
190
146
204
187
173
173
191
167
226
221
173
245
180
160
146
158
155
245
168
242
216
183
178
208
204
131
168
238
182
186
173
191
201
217
165
252
168
173
218
202
169
169
152
218
146
160
267
146
191
202
273
232
143
193
201
193
173
129
146
230
209
213
236
179
179
163
231
222
141
229
219
143
203
252
177
180
146
232
180
162
232
145
164
268
298
129
115
159
172
243
223
182
190
192
251
234
115
267
119
201
208
164
211
172
200
301
210
133
185
219
296
133
176
186
178
128
191
171
253
185
231
130
301
130
187
184
201
141
217
201
146
178
295
204
200
181
173
246
181
170
219
208
162
167
130
210
159
130
236
162
195
181
129
143
150
252
130
184
201
234
206
167
189
215
184
146
210
197
173
180
208
171
182
166
162
224
204
201
214
189
194
129
204
183
173
209
253
159
149
181
149
166
150
190
146
182
195
129
271
182
150
167
207
130
245
145
184
141
254
183
171
146
158
198
171
211
228
221
146
128
145
254
217
225
204
148
168
146
129
236
216
168
152
147
172
197
273
203
186
155
217
179
302
145
233
145
210
181
185
173
193
261
178
200
189
219
182
176
180
198
227
115
144
129
206
233
184
201
201
184
189
174
197
193
213
238
158
264
230
179
129
173
178
203
157
300
207
115
155
204
156
182
193
215
217
192
159
143
227
167
162
159
187
128
130
155
133
200
200
210
204
163
173
197
178
199
169
170
210
129
192
178
224
200
210
128
146
158
290
174
201
211
182
129
201
204
146
212
146
168
207
166
201
202
225
225
204
222
204
146
264
122
146
216
129
215
218
201
129
170
217
264
188
178
207
187
173
218
179
146
259
128
115
176
217
129
160
180
211
189
212
145
150
241
246
256
217
240
204
161
122
202
182
256
264
146
169
168
179
251
183
146
129
180
174
169
204
183
251
176
162
146
211
200
157
184
241
156
210
158
240
224
180
256
133
133
254
194
248
115
207
201
211
259
219
179
190
236
201
173
168
191
234
155
204
239
146
173
262
122
261
173
227
199
151
158
128
150
130
151
164
201
235
266
167
161
217
211
158
201
168
204
164
224
304
153
222
235
156
186
230
204
216
183
165
176
151
228
192
156
173
180
130
314
259
236
173
189
238
195
221
164
176
201
176
130
158
158
253
180
210
176
156
192
115
164
195
212
182
184
226
222
129
174
162
256
175
176
217
178
130
232
217
162
224
227
182
146
227
180
143
180
193
199
158
145
258
156
180
285
149
171
130
236
211
168
199
203
115
171
237
200
130
176
179
231
236
217
122
146
222
176
183
161
179
240
195
143
166
221
176
178
210
200
277
179
171
210
173
229
189
231
184
176
164
152
156
182
225
225
146
173
214
176
239
130
182
166
158
146
130
204
130
239
192
233
133
146
146
180
210
258
130
191
164
212
146
185
225
179
162
166
182
230
172
130
205
194
213
182
201
168
206
173
201
160
225
130
227
173
130
149
190
173
200
191
200
169
129
222
237
204
160
179
171
145
158
217
191
159
184
160
254
184
207
143
164
129
207
239
192
156
318
212
184
151
205
200
209
209
145
176
145
174
200
235
230
211
184
129
204
175
146
182
217
162
194
226
179
190
182
172
162
204
181
176
204
252
150
173
231
173
167
210
169
195
133
141
221
210
254
238
146
220
133
210
130
210
146
184
203
161
179
202
145
189
146
230
195
230
196
179
188
210
267
208
220
210
199
158
146
160
252
212
219
223
178
238
179
128
173
229
164
221
249
162
180
183
158
197
180
176
194
230
146
173
186
172
280
192
210
261
222
251
210
187
191
211
145
217
210
143
155
176
191
179
173
248
205
168
181
182
210
215
263
211
190
175
165
195
175
204
244
149
133
325
195
211
180
179
228
204
146
158
180
201
213
183
242
264
194
199
200
146
240
181
146
185
247
229
176
155
122
250
214
209
234
246
178
146
237
232
115
173
204
236
204
218
186
256
224
265
146
130
167
183
246
226
209
230
176
184
166
171
182
183
184
160
192
222
191
145
164
194
238
209
115
145
183
184
146
197
225
187
188
146
229
200
218
204
186
191
146
188
159
180
129
225
173
129
203
196
170
206
155
185
158
255
214
257
182
201
202
218
160
190
130
149
173
209
175
173
204
173
129
202
175
128
187
201
176
222
215
143
150
217
168
193
149
158
162
298
146
236
145
193
169
258
146
146
133
187
200
172
196
247
207
162
189
175
130
145
172
234
158
115
216
182
217
157
211
228
217
160
158
216
178
164
193
204
146
201
129
168
215
228
264
242
175
217
176
194
119
146
129
178
231
214
217
191
190
176
162
203
174
247
201
204
217
169
236
179
250
146
149
240
169
262
217
230
122
190
184
249
251
164
153
206
169
260
209
157
202
179
202
168
129
210
173
146
210
256
230
167
146
130
145
270
146
215
175
217
206
208
145
158
219
145
224
211
173
225
129
158
176
130
172
204
146
214
182
130
155
195
209
183
218
168
210
261
185
205
246
168
238
186
229
252
162
173
217
227
193
219
188
181
230
184
162
138
143
190
150
173
206
130
184
217
127
161
230
230
236
245
146
176
170
133
197
222
203
212
174
194
152
290
230
248
146
209
181
184
213
143
152
115
163
202
146
171
158
204
200
261
200
158
202
146
130
210
151
182
130
185
211
187
193
180
176
187
183
162
242
156
204
197
184
146
185
152
218
157
244
221
200
288
193
202
227
128
143
213
195
133
274
196
182
183
237
169
145
220
185
192
225
214
196
133
239
235
246
190
185
146
223
184
173
162
186
165
228
164
239
222
197
233
230
169
179
205
138
192
243
258
144
183
202
261
231
185
201
173
213
169
217
143
204
204
186
287
216
301
216
211
176
210
130
215
191
252
184
161
254
143
181
168
236
132
275
237
214
146
198
176
260
179
224
150
171
173
204
176
164
217
182
168
195
247
187
130
296
162
294
146
206
167
253
163
173
182
324
237
271
150
183
115
146
211
133
230
224
229
194
172
172
210
190
176
197
145
181
146
174
262
251
130
147
170
205
187
221
218
188
250
203
230
182
122
230
159
200
221
115
178
180
221
192
221
171
225
195
176
122
210
192
213
173
204
228
162
179
256
202
133
229
178
180
236
253
218
185
202
207
299
143
269
229
182
231
182
132
217
183
178
221
132
213
217
210
220
204
175
299
202
178
195
156
179
217
218
146
218
180
161
178
227
189
250
133
281
232
129
200
207
200
236
211
174
183
180
173
205
204
187
203
156
306
206
204
146
200
166
195
221
230
176
115
221
181
173
200
191
229
188
205
214
171
176
210
255
164
216
156
197
206
233
249
180
264
129
179
189
240
180
270
176
165
200
288
274
145
182
266
171
156
230
224
208
284
139
211
246
176
240
201
265
138
248
168
166
212
204
187
166
176
129
182
240
185
199
184
206
230
210
212
267
227
191
222
146
238
230
200
149
220
176
183
232
176
180
222
206
176
245
176
208
185
183
185
201
146
192
172
201
239
221
200
169
201
192
187
174
157
201
201
170
184
146
231
217
171
207
227
173
247
262
218
256
169
217
153
201
145
201
197
210
191
200
255
207
207
219
181
164
200
191
251
258
156
182
302
146
146
173
181
272
195
151
138
176
172
176
207
210
176
255
151
262
200
194
149
129
228
282
152
244
254
173
170
160
239
160
188
248
203
190
212
155
274
230
295
206
184
256
129
204
218
246
129
195
195
145
164
168
173
141
195
242
208
177
221
146
166
206
155
204
195
146
222
168
202
176
209
210
145
186
176
201
186
218
176
222
193
168
172
229
221
211
131
197
156
176
211
204
141
163
164
150
190
182
260
257
160
129
168
155
286
214
122
183
217
222
200
173
122
146
129
222
183
203
190
189
264
204
299
217
257
149
242
176
248
161
210
199
138
232
188
207
213
168
130
130
238
173
146
193
130
201
217
208
184
141
169
155
146
233
196
160
213
138
158
212
191
210
189
173
204
178
179
130
261
160
176
224
155
145
176
170
236
149
228
156
151
246
239
176
204
179
211
200
145
191
122
183
185
130
210
158
240
160
194
244
115
133
129
164
226
217
191
192
146
221
143
148
182
146
325
182
162
160
217
130
207
137
188
162
202
187
179
217
206
201
208
210
173
164
205
174
156
166
296
138
173
168
176
115
186
248
129
225
182
230
229
188
228
153
242
129
158
144
130
187
164
129
254
182
164
227
174
211
155
143
198
220
270
184
207
184
190
199
182
179
191
335
199
169
162
146
180
188
219
146
184
187
176
170
209
143
255
180
230
204
164
168
202
148
228
174
173
221
207
235
206
173
227
176
156
129
172
183
162
300
149
129
228
170
210
203
176
146
191
179
229
161
164
176
204
210
206
210
157
182
233
146
173
185
129
204
203
202
155
185
218
211
185
200
241
225
157
192
130
188
194
145
158
222
206
256
321
207
173
155
222
128
227
133
173
264
168
194
178
130
242
238
176
158
161
313
233
156
216
214
334
181
130
231
262
153
238
186
211
115
226
187
221
205
204
176
219
190
176
146
200
150
211
178
172
201
179
164
256
264
255
143
185
229
264
168
179
200
190
161
173
155
178
173
173
215
184
238
176
230
182
146
205
204
209
205
222
229
180
176
210
164
146
207
192
174
228
199
143
194
187
153
168
145
209
160
200
130
215
192
158
169
164
150
146
199
286
129
324
168
225
130
128
206
245
225
249
227
299
149
129
164
150
173
156
176
164
143
161
151
255
204
130
155
164
227
207
184
239
146
193
246
225
171
166
168
176
236
204
261
180
227
169
171
147
149
173
233
203
277
257
184
182
231
172
173
115
115
130
207
233
188
129
161
150
171
194
225
156
119
205
173
146
176
234
149
210
313
187
253
239
198
184
185
249
254
177
173
174
204
227
176
181
177
239
152
190
180
178
181
201
184
261
197
176
176
167
195
163
132
172
130
167
265
228
176
158
186
186
129
203
170
195
188
214
244
222
176
195
142
205
192
200
158
206
226
146
130
132
205
236
205
168
175
245
153
325
128
172
226
235
206
184
130
202
204
266
208
133
238
222
210
173
277
238
146
285
222
227
217
224
208
186
239
206
133
115
138
189
183
208
210
183
146
182
182
222
129
146
230
180
157
192
173
189
195
183
115
143
176
219
202
232
128
246
177
181
166
157
144
222
129
195
130
145
210
211
168
129
226
156
214
200
213
248
256
133
264
172
115
179
184
218
202
212
179
129
217
146
239
299
164
210
156
176
173
173
146
216
212
162
251
132
257
177
187
206
233
198
231
164
133
150
206
254
214
203
202
262
182
289
155
242
176
129
129
259
164
186
137
283
201
219
138
230
279
230
212
145
146
145
172
257
200
184
182
115
179
195
189
246
129
204
222
188
176
173
226
173
210
159
151
172
207
160
264
179
215
133
201
213
210
169
176
199
205
269
185
246
246
227
227
210
206
184
183
238
214
192
183
224
224
223
217
191
168
188
335
225
176
115
174
179
156
133
225
185
230
158
214
151
115
159
174
146
225
115
187
299
222
133
146
173
194
179
215
182
176
237
178
222
145
173
231
199
176
176
210
207
122
312
171
133
187
180
172
251
193
217
149
160
122
217
213
188
162
162
199
210
158
187
251
166
146
176
228
178
227
172
237
175
196
158
166
230
233
129
185
197
206
287
178
197
173
195
146
189
222
191
206
208
173
216
256
214
172
218
143
157
239
240
221
210
141
265
233
145
236
263
190
187
201
143
173
199
183
211
169
147
209
206
207
204
182
183
169
146
230
176
204
275
238
173
158
251
188
237
187
167
173
244
302
292
161
141
179
227
188
167
146
208
156
178
265
216
182
155
195
173
176
221
274
151
237
191
189
212
175
210
218
159
151
252
162
153
228
176
179
217
155
150
158
169
202
197
129
194
187
185
195
256
211
183
200
184
164
181
179
146
156
145
225
239
264
172
173
221
164
146
178
239
235
211
149
153
264
133
146
165
239
253
144
130
178
162
173
158
230
176
184
132
199
146
230
184
269
146
217
162
211
164
258
281
176
143
182
146
182
173
185
204
248
214
211
220
122
153
170
271
168
222
204
168
201
133
215
238
201
241
210
186
211
184
149
214
194
157
182
234
157
201
238
130
264
201
162
181
183
249
144
204
143
129
170
153
271
190
313
146
258
210
129
201
179
212
194
199
202
158
255
185
220
195
180
185
173
174
143
234
221
173
203
166
172
145
146
133
197
204
176
201
201
227
216
264
179
206
176
143
156
224
168
208
229
173
191
209
164
267
129
217
195
248
200
190
199
173
184
173
226
162
263
206
185
309
176
185
236
192
176
260
233
203
115
165
138
168
210
201
215
115
218
131
304
188
202
143
191
168
266
176
205
264
200
155
189
230
150
176
138
247
187
173
209
202
207
207
197
242
204
130
146
160
133
200
233
141
150
187
173
177
131
261
273
243
236
190
173
214
129
221
230
300
243
201
204
238
129
150
130
174
254
214
158
129
214
209
239
141
259
192
173
206
236
216
176
206
231
208
216
214
176
209
202
129
207
156
214
247
212
194
179
165
153
138
153
210
199
200
242
138
231
162
172
164
119
241
201
208
183
209
173
168
129
173
184
133
175
181
231
182
184
227
183
146
144
187
177
185
164
225
194
169
169
189
160
186
258
218
241
188
161
156
210
176
162
187
164
122
179
264
155
180
244
211
146
205
130
181
225
174
129
239
193
130
179
130
173
215
130
197
215
214
197
187
171
294
200
129
239
240
217
221
122
226
172
165
173
143
143
242
168
168
204
190
230
211
210
274
288
239
226
115
173
149
202
192
222
173
168
130
235
195
130
249
302
243
162
182
184
214
174
193
163
181
146
185
191
238
206
187
176
238
232
143
130
198
225
206
188
160
182
274
210
173
201
168
185
146
171
236
226
162
213
130
130
141
146
259
202
204
228
130
187
130
238
199
133
212
229
224
146
204
240
186
202
222
200
215
201
160
130
206
263
173
174
146
156
247
166
217
210
160
201
169
205
206
179
160
210
200
204
210
195
157
249
217
129
129
180
182
156
250
146
261
150
173
210
202
145
141
299
129
183
271
171
128
173
147
179
270
190
163
204
191
188
228
248
129
179
184
182
130
115
218
227
212
283
142
192
297
220
150
276
217
210
178
172
145
146
256
176
182
157
205
129
130
130
164
264
115
129
227
166
168
138
218
212
179
195
205
155
203
172
222
197
128
145
197
204
115
129
258
202
210
129
188
173
227
194
202
250
130
130
221
171
176
166
225
180
191
133
129
236
200
176
173
153
204
149
277
184
188
211
175
185
256
161
205
213
175
178
129
143
241
178
176
192
146
178
144
218
201
241
261
160
186
149
127
209
180
183
141
173
239
183
185
130
156
281
255
169
182
172
205
115
129
146
164
180
129
186
230
228
179
181
184
244
239
205
143
206
195
129
195
176
248
173
229
215
213
243
155
302
228
245
150
130
216
204
209
164
186
184
150
173
214
188
200
197
176
178
155
168
195
212
129
209
217
205
146
225
174
180
172
150
145
191
133
188
133
214
156
182
173
157
149
164
167
168
187
254
129
235
171
176
210
260
155
154
240
216
200
155
214
141
197
238
231
164
190
145
138
217
206
218
178
164
204
168
217
201
237
202
146
211
130
194
184
133
179
242
247
164
129
115
223
164
210
204
171
222
163
231
158
158
230
158
202
226
237
230
264
204
201
192
296
172
177
231
189
293
173
132
211
200
238
278
146
158
194
164
230
146
210
184
145
184
181
168
221
204
178
146
302
174
214
255
129
201
204
322
257
235
206
190
169
166
204
157
229
194
164
200
252
217
150
257
239
241
245
226
191
160
201
200
264
205
182
192
217
192
222
212
228
191
215
146
251
224
166
129
232
246
248
172
176
182
173
122
226
206
204
182
254
180
192
185
143
180
166
201
157
179
129
172
143
240
204
157
170
217
217
207
186
269
168
210
271
182
206
221
149
178
185
220
211
191
190
199
202
199
158
251
202
194
231
216
261
172
169
130
179
158
211
130
224
211
129
210
129
219
232
168
191
187
202
211
194
191
179
203
177
162
146
238
169
283
210
245
185
115
250
188
194
222
201
222
200
216
224
201
130
236
143
129
186
304
178
230
192
264
173
174
242
199
236
164
229
235
227
176
193
129
236
133
184
210
171
155
179
204
193
164
204
174
146
164
239
245
246
192
162
201
188
133
146
194
129
214
189
139
191
153
183
203
221
259
213
169
185
130
156
147
166
173
209
214
186
201
156
141
217
225
173
122
202
228
169
204
182
173
246
241
210
196
192
261
204
171
236
195
235
187
182
210
176
210
188
271
200
227
184
251
150
145
129
200
193
164
202
133
205
178
173
198
240
194
210
167
191
200
199
161
190
186
130
146
247
208
176
201
187
244
173
192
145
230
155
176
194
206
202
191
153
129
230
146
130
162
182
181
211
203
242
146
199
158
162
261
253
173
229
237
201
166
150
122
179
173
146
185
176
206
192
184
181
130
193
199
177
176
206
146
145
173
158
187
242
252
211
242
204
189
216
192
115
162
130
335
244
204
228
211
274
234
214
115
273
115
217
219
130
171
131
152
175
200
259
247
151
221
204
164
216
252
161
173
192
200
173
191
158
212
245
155
145
235
225
173
231
210
161
173
192
198
225
186
200
173
189
133
130
303
176
151
130
198
208
230
171
173
213
236
182
209
156
200
143
277
230
205
143
148
182
224
212
256
217
221
166
177
231
158
174
153
129
200
211
130
214
259
184
169
205
192
228
186
156
217
187
175
199
222
202
157
281
182
133
178
229
184
216
245
196
225
179
171
160
158
266
250
220
176
238
164
194
183
195
162
214
219
178
204
210
129
238
162
164
259
152
274
173
165
155
270
192
188
182
205
169
205
182
179
209
204
243
204
211
190
195
252
263
204
240
152
185
223
191
236
247
210
149
173
179
202
205
129
168
184
146
186
266
211
215
162
164
164
203
133
195
176
195
212
229
173
245
129
194
146
211
213
239
208
183
260
198
235
158
194
206
207
158
231
143
190
192
169
130
193
146
190
173
162
229
213
214
162
189
164
189
156
115
128
241
145
129
188
163
292
175
162
191
179
189
199
146
186
205
248
216
183
335
155
171
143
158
234
191
138
210
180
221
173
236
212
139
226
217
201
180
130
191
201
180
129
230
130
171
223
229
235
168
185
193
222
164
188
119
247
201
206
212
266
184
205
145
244
206
200
115
254
190
210
115
204
173
236
201
173
204
168
214
182
224
150
206
192
209
181
197
266
182
173
212
161
202
227
179
168
234
180
129
203
210
150
162
143
172
143
171
234
156
155
203
160
173
168
182
141
264
217
191
201
217
161
211
198
129
128
204
129
158
208
184
176
190
248
242
208
192
187
173
166
259
182
145
207
230
183
214
146
158
182
203
141
133
202
158
188
200
176
160
221
217
237
239
173
204
129
250
250
191
130
176
173
224
157
221
201
202
160
176
255
265
192
161
206
229
300
201
189
162
162
203
222
164
200
188
129
176
255
205
232
224
168
178
175
174
129
229
173
210
180
239
206
187
194
193
147
164
153
173
202
175
250
204
153
146
163
156
258
208
182
247
170
181
202
180
200
216
201
130
151
171
204
157
236
180
206
190
174
140
169
230
228
228
258
176
157
176
213
133
210
180
176
248
230
141
159
205
150
174
210
156
203
202
130
115
172
146
185
252
252
166
176
182
182
210
152
162
164
129
146
186
260
199
166
335
173
179
130
269
183
219
174
179
295
119
254
176
130
182
133
172
207
147
162
287
175
146
243
229
200
190
187
221
218
145
235
180
189
130
166
217
217
210
143
173
238
176
201
158
220
219
247
217
191
151
173
186
181
201
264
222
199
143
204
183
248
130
164
130
190
146
256
190
211
225
188
249
158
283
138
171
197
143
179
146
193
169
149
182
191
255
168
157
177
138
247
190
129
170
169
185
204
206
208
170
181
275
211
213
156
263
210
129
184
202
224
130
210
171
230
189
183
192
179
178
215
141
204
223
233
166
202
156
147
115
193
189
211
187
210
183
151
209
151
188
205
215
158
288
201
146
180
183
236
173
192
213
176
211
170
179
211
209
138
146
184
174
230
201
206
227
176
239
155
195
172
180
250
173
206
217
321
246
236
185
211
211
173
230
188
282
203
162
191
188
214
195
168
287
115
238
204
133
210
193
211
254
161
182
166
191
191
216
129
154
240
182
176
216
157
225
221
155
213
122
216
202
129
158
129
229
203
335
244
184
211
254
130
182
200
195
203
240
222
212
158
179
173
170
166
182
178
225
160
145
130
169
272
210
156
179
130
264
133
145
236
178
170
205
152
212
129
190
228
239
217
178
210
204
144
257
228
130
184
205
170
146
203
239
238
184
179
302
256
133
206
129
173
217
146
252
204
129
200
258
238
176
278
129
264
252
201
146
168
185
191
182
194
115
158
223
141
210
205
166
176
181
209
211
182
170
224
158
216
193
236
242
245
193
161
205
129
164
183
145
210
133
164
169
225
224
187
206
210
199
256
129
210
130
228
236
244
251
278
130
180
211
241
150
207
259
187
275
146
201
197
156
147
172
176
115
173
189
203
211
243
229
191
173
335
155
146
129
133
196
204
168
176
178
210
192
206
264
176
179
240
155
205
217
129
141
236
263
241
217
184
143
162
146
236
177
174
238
226
230
219
159
146
173
218
138
115
246
203
185
296
146
228
183
179
143
196
143
129
173
169
228
160
230
206
186
234
145
269
206
133
231
214
191
185
157
176
163
193
199
208
258
178
129
215
173
242
165
213
251
143
204
182
122
176
236
178
122
187
204
183
206
148
212
143
178
176
217
199
183
181
165
228
187
243
155
211
162
209
275
193
202
184
210
199
204
184
220
234
236
228
208
201
217
203
133
219
143
186
162
143
182
237
129
225
162
231
235
226
174
122
171
178
209
263
199
251
231
236
151
215
195
204
185
183
239
195
191
234
230
175
237
234
173
196
251
225
156
242
248
115
187
265
199
198
150
221
204
162
165
242
129
158
226
251
129
188
194
146
277
141
158
160
200
302
198
251
236
176
227
180
231
156
128
192
222
201
138
184
130
214
182
205
191
201
168
210
226
178
186
270
206
205
200
195
176
231
192
182
151
172
162
188
187
143
264
173
212
122
182
221
211
179
186
147
182
129
164
186
155
157
230
229
187
169
211
229
146
146
205
146
214
129
190
259
209
211
208
202
173
208
171
202
242
259
292
202
173
222
278
201
129
247
150
190
201
183
228
197
197
192
187
133
206
162
240
152
176
174
254
183
208
192
146
200
180
213
238
274
222
146
151
240
212
213
240
225
173
162
210
169
224
129
247
249
269
239
247
173
197
201
221
258
256
195
213
129
178
197
226
230
244
210
192
176
190
236
217
212
145
236
185
155
176
247
188
211
169
194
146
164
230
207
204
153
216
231
149
211
158
206
189
252
175
158
246
129
192
229
176
203
227
141
174
162
300
190
176
173
257
146
227
115
254
156
145
130
214
206
172
204
133
210
204
192
211
129
146
190
152
162
220
200
178
129
210
133
130
176
230
162
204
179
169
184
283
175
179
176
179
211
208
162
251
185
219
203
169
184
182
133
239
176
133
200
257
204
214
145
222
164
168
173
214
193
256
176
224
167
231
251
184
236
225
254
169
205
206
144
173
195
176
188
147
195
212
168
160
175
211
119
115
231
210
197
223
130
211
173
155
166
197
179
242
184
155
233
238
166
176
236
208
191
130
215
213
133
151
181
239
160
225
168
227
158
254
157
206
226
220
173
179
146
149
257
170
229
259
158
195
190
204
184
173
230
208
199
220
156
172
172
185
187
182
143
146
183
236
163
145
156
232
130
173
193
254
192
192
206
250
146
231
169
173
264
202
294
204
225
185
217
223
161
178
210
170
192
253
170
225
258
129
166
129
166
130
157
183
257
203
182
209
144
132
210
162
250
244
192
252
207
221
201
206
129
223
180
185
188
151
225
156
191
174
202
176
182
130
256
194
191
210
234
129
238
138
130
188
162
225
156
230
227
203
181
158
200
297
188
238
188
180
157
184
194
227
210
192
179
201
144
170
213
200
209
129
225
236
171
138
204
211
175
130
173
146
202
170
130
212
201
232
156
133
218
179
173
162
257
180
160
184
173
210
238
198
169
129
143
138
232
166
255
133
182
159
173
195
200
183
158
179
158
242
264
133
175
191
130
186
171
179
191
204
130
145
143
172
210
202
149
216
210
199
210
205
144
188
198
193
161
204
143
255
221
130
192
201
140
187
133
193
201
143
206
171
200
179
221
178
173
129
155
129
145
236
130
152
185
234
189
193
160
129
212
283
192
221
191
152
146
227
221
204
162
147
168
173
238
171
227
249
264
145
174
168
188
169
205
164
115
177
168
214
207
205
176
166
202
133
201
164
183
192
146
207
203
145
201
204
172
217
179
160
129
253
173
183
199
180
145
176
184
210
133
206
164
217
204
227
181
146
157
188
226
164
168
158
173
164
158
184
204
204
186
234
222
129
184
236
176
239
188
182
191
232
287
185
161
204
165
210
168
242
168
183
168
148
163
249
133
222
288
231
203
217
241
162
228
195
231
176
229
198
198
258
183
264
210
181
211
192
138
232
269
143
176
146
200
143
235
182
184
255
200
221
129
158
222
158
241
159
174
176
191
143
183
130
173
246
210
173
170
129
179
130
225
244
202
183
146
133
224
217
242
175
185
212
188
161
192
169
133
211
206
210
150
212
192
264
265
173
235
130
214
208
158
169
132
205
184
174
140
146
130
176
211
201
204
179
193
236
265
143
217
163
229
129
202
179
203
182
260
198
258
165
138
130
196
155
189
181
209
153
252
208
133
263
204
190
214
260
255
173
210
156
194
204
210
271
205
188
177
178
191
164
259
166
174
175
173
265
145
211
184
239
172
199
187
129
262
234
210
190
143
222
229
204
156
209
152
201
195
176
210
129
129
250
115
158
143
222
162
150
174
158
133
153
180
207
206
192
239
215
217
197
184
191
222
216
145
115
230
220
197
182
303
146
193
143
194
202
146
261
173
179
180
184
158
194
238
191
173
258
146
256
198
204
211
180
202
282
175
256
228
130
270
297
218
237
127
230
200
239
179
206
222
189
133
173
200
169
294
215
242
164
251
143
233
205
129
191
247
198
210
138
174
173
191
171
205
129
210
143
219
156
200
145
115
221
199
181
173
129
175
186
205
129
246
146
192
254
158
198
199
260
180
173
157
199
167
193
187
202
297
156
173
248
204
168
130
170
225
167
264
211
200
238
115
176
129
184
133
200
183
183
127
168
271
178
283
185
206
179
146
162
197
144
210
285
162
210
237
173
188
191
130
130
204
183
176
147
129
164
159
221
252
182
236
162
146
263
183
164
170
155
202
210
245
282
229
239
169
150
130
174
221
222
242
234
186
178
178
180
164
132
258
192
200
217
185
199
200
201
296
145
186
164
150
190
198
216
138
191
263
176
179
146
179
209
204
170
195
236
168
209
211
252
221
190
130
204
204
176
206
204
245
268
221
176
151
190
294
214
267
235
208
176
168
220
222
185
173
177
173
221
130
130
201
209
208
128
188
210
211
206
145
204
176
129
210
115
129
200
194
240
185
164
184
231
148
173
210
210
182
144
130
156
227
201
155
173
180
176
181
173
226
183
250
145
225
211
193
173
177
204
176
200
222
169
201
145
264
217
133
190
261
230
199
206
196
184
199
199
213
176
250
202
129
217
209
140
208
164
234
190
230
180
156
201
224
189
287
187
176
133
207
146
160
129
160
202
202
206
257
188
213
236
263
169
221
153
230
155
164
174
241
164
227
162
173
146
166
207
150
143
201
129
281
157
256
206
194
158
143
141
158
176
141
147
185
371
228
188
149
122
217
172
178
129
203
274
155
200
216
181
141
264
197
133
129
164
200
184
149
193
191
200
206
132
174
223
159
207
197
173
230
200
179
171
186
217
128
252
243
192
225
171
188
335
168
130
133
130
200
183
262
158
190
221
209
130
210
128
252
192
182
133
243
254
214
133
239
155
161
210
158
217
236
150
243
181
214
203
145
249
115
200
183
201
129
250
244
254
228
237
210
184
209
245
213
166
173
200
180
164
192
181
240
180
217
229
178
146
155
224
211
219
235
207
129
195
238
197
250
201
162
129
210
199
190
193
220
211
203
168
175
172
180
222
146
230
156
128
161
180
176
211
216
246
212
199
216
162
279
263
156
180
154
210
130
335
212
179
141
144
164
206
238
147
218
173
149
171
191
192
208
145
238
259
149
179
224
191
191
182
171
141
130
239
205
180
156
169
160
201
220
130
252
199
122
164
230
286
146
206
156
263
200
211
214
204
202
215
260
204
244
133
168
225
207
169
122
143
235
194
226
150
220
166
213
146
200
242
206
249
173
194
129
241
174
188
156
189
158
156
130
254
194
153
185
166
170
217
236
187
208
143
207
205
217
208
230
211
255
187
129
157
158
188
146
202
166
255
146
204
164
162
164
176
130
246
201
209
159
267
170
178
178
173
229
201
176
174
162
205
169
217
143
210
248
214
176
170
164
224
188
195
129
265
176
146
158
191
221
236
179
228
259
282
178
258
193
169
261
133
258
186
210
146
174
201
210
176
180
211
182
199
158
176
202
173
201
146
204
161
209
239
200
171
312
184
162
271
172
217
202
210
162
133
157
227
180
297
248
199
168
183
173
178
155
236
162
178
244
173
204
211
275
200
184
172
250
122
151
184
145
174
190
182
129
188
211
162
143
223
207
191
228
185
176
176
184
143
252
173
235
186
133
205
146
218
176
189
176
200
201
207
190
146
158
181
224
174
130
181
167
259
168
173
145
222
200
181
176
178
162
221
164
130
180
181
215
182
213
243
133
178
185
197
146
188
145
138
146
133
181
210
143
129
205
129
179
226
207
164
143
285
181
242
287
219
206
245
180
274
211
296
231
154
168
171
180
185
209
172
208
200
207
271
172
201
179
303
204
145
218
177
178
146
192
162
200
193
185
208
236
229
129
194
187
184
213
257
130
151
176
202
179
179
213
242
182
166
241
238
164
161
172
158
143
130
188
184
202
143
234
255
225
133
218
175
149
157
146
231
256
183
130
210
214
199
260
209
238
265
199
192
174
130
213
204
275
191
239
183
215
208
183
202
201
204
183
210
235
115
187
220
184
190
268
130
130
326
188
181
181
169
256
228
147
175
222
169
229
201
217
184
145
279
224
167
173
188
183
157
211
241
161
201
147
227
202
164
173
182
219
147
145
145
180
146
192
156
133
176
230
149
192
229
206
157
214
146
206
184
178
146
122
210
146
181
173
189
206
206
190
242
201
210
211
145
183
143
225
164
198
173
265
259
234
122
182
128
202
145
201
184
240
168
193
161
259
227
129
176
261
208
209
188
214
214
252
179
130
269
164
161
115
183
218
129
205
227
169
162
176
176
183
287
242
158
247
211
161
178
129
168
264
143
262
201
255
217
206
185
197
211
239
219
302
209
220
174
171
143
172
172
272
202
195
146
144
182
196
143
200
173
244
186
129
156
190
230
238
183
179
190
169
160
168
287
168
258
165
238
207
179
239
173
171
168
141
227
181
192
164
188
210
162
138
259
168
204
166
278
235
164
191
129
193
211
211
192
210
263
232
158
185
189
232
209
225
229
263
211
270
197
179
214
162
238
242
176
211
206
212
133
222
176
184
143
221
133
209
209
128
230
268
202
209
233
206
204
115
186
239
143
270
192
216
201
212
248
213
181
239
194
173
161
241
195
150
189
244
169
164
149
122
234
176
200
185
224
185
207
246
227
227
149
146
146
250
201
247
184
236
159
220
264
221
178
190
230
243
146
229
173
285
146
133
147
143
178
204
184
149
179
208
164
216
159
225
214
129
161
173
277
249
236
158
186
200
204
247
220
174
259
236
179
204
184
208
164
146
243
184
216
210
213
247
133
179
169
146
141
146
146
115
192
221
138
129
217
198
166
146
143
162
192
182
204
162
183
176
250
176
201
146
200
221
130
185
222
137
212
217
145
208
182
182
146
167
115
204
238
143
222
145
166
236
249
199
191
199
228
216
146
183
162
243
222
198
115
184
185
213
178
311
173
171
184
129
294
184
147
214
205
217
181
204
248
133
145
191
174
208
204
218
211
143
155
209
246
192
149
168
202
145
167
211
252
217
158
215
168
198
182
230
283
204
129
171
202
294
225
170
212
168
129
156
204
200
202
233
249
231
157
169
211
129
228
205
208
170
200
176
181
151
227
207
143
197
254
179
216
133
217
146
186
224
181
189
191
227
205
217
174
189
224
245
202
204
180
164
201
175
210
247
222
239
173
264
236
146
132
213
206
201
156
229
244
168
221
206
222
244
209
184
173
217
190
179
231
130
164
205
182
158
200
208
145
133
171
269
176
256
239
184
159
173
206
197
194
264
200
218
218
213
173
186
177
169
191
214
202
242
236
184
146
174
251
129
192
210
158
223
170
161
187
228
173
146
146
181
197
229
208
167
263
182
149
203
175
168
200
209
232
183
172
224
211
178
176
173
194
296
179
133
209
335
168
181
239
190
244
130
197
178
222
130
214
197
227
247
173
162
115
155
178
115
289
129
200
155
141
191
141
199
192
222
198
217
269
184
209
199
184
171
160
174
229
203
267
198
200
192
128
158
172
178
164
169
217
260
133
169
138
149
225
201
201
252
205
258
239
202
206
168
173
173
225
169
182
149
185
200
166
184
264
246
145
238
129
217
194
173
238
200
133
193
172
167
146
221
204
176
222
176
257
180
197
182
239
194
234
183
212
183
254
182
224
183
149
221
174
115
286
145
130
253
209
130
179
169
129
206
222
146
179
146
183
145
164
255
206
174
168
156
160
211
145
175
158
176
227
269
247
157
180
202
174
147
204
257
215
176
187
204
202
178
187
167
204
128
236
179
155
195
259
219
243
181
173
192
144
183
237
129
174
184
119
198
210
164
186
146
222
155
129
264
239
138
173
224
195
234
143
239
239
184
208
179
143
162
152
168
218
204
166
200
162
130
145
195
218
202
130
130
198
230
252
207
184
262
245
226
150
215
161
164
138
232
205
225
214
181
179
180
185
146
179
202
214
172
173
143
157
182
203
146
182
178
248
173
176
172
133
189
130
115
168
211
184
220
161
209
231
287
202
230
181
202
191
179
210
178
230
179
199
160
133
130
173
204
129
187
197
176
130
214
232
264
132
145
192
185
201
130
228
188
201
191
210
204
225
147
173
217
229
234
191
227
178
193
207
301
228
202
210
222
182
130
220
143
211
141
183
234
176
184
168
184
195
138
180
166
227
225
179
132
156
146
202
176
163
265
205
129
201
129
141
130
209
226
146
194
211
155
170
202
150
174
201
129
252
172
158
231
166
258
176
210
171
161
189
166
209
183
158
220
199
204
258
173
169
169
182
129
160
222
207
133
129
146
149
182
216
173
179
201
200
200
201
187
178
176
211
188
203
176
248
203
194
122
143
227
204
160
274
158
255
195
222
158
144
201
192
115
217
143
234
198
192
306
217
115
176
267
204
157
200
195
150
129
130
210
192
115
189
173
143
205
119
129
173
204
275
233
200
224
206
145
167
146
238
180
141
173
169
255
179
216
151
190
194
185
199
196
188
146
218
206
218
213
272
185
195
168
129
164
202
173
143
184
223
207
186
185
179
269
217
130
203
227
130
115
202
145
176
130
197
190
205
174
193
166
179
146
206
185
130
129
146
187
195
129
226
210
168
266
212
185
240
248
180
130
215
240
188
210
122
176
169
217
201
210
210
178
146
146
129
143
189
205
129
218
281
265
176
195
212
313
224
248
176
182
146
227
146
232
198
274
133
129
152
217
207
202
179
149
232
158
274
130
163
130
143
173
175
175
256
229
215
184
172
190
184
164
149
185
196
173
272
159
174
204
176
130
169
226
162
244
191
238
180
325
169
184
182
222
193
132
204
115
157
208
185
146
190
233
283
179
200
171
183
129
162
160
156
236
173
180
175
205
193
249
197
283
306
129
160
173
204
217
151
146
194
246
222
235
205
260
254
181
149
122
146
234
204
182
224
146
202
173
186
201
251
164
283
252
266
202
228
171
178
176
230
217
185
146
268
206
179
150
153
173
191
179
169
247
186
212
206
242
205
129
156
173
185
226
204
155
195
179
200
199
218
191
194
210
170
197
184
203
184
176
222
256
211
257
115
185
176
209
187
205
145
224
209
263
165
174
201
200
267
173
200
191
174
201
204
180
226
174
205
322
194
192
169
181
229
196
191
166
228
129
187
226
215
168
239
184
187
130
144
234
239
240
150
130
258
230
166
156
164
145
202
256
161
141
176
191
155
122
288
130
275
211
197
225
177
221
182
129
163
189
190
240
164
130
162
115
264
239
263
211
201
243
197
193
209
160
211
156
141
181
196
263
143
209
233
239
200
187
182
216
221
129
169
169
221
218
206
190
179
176
173
204
230
217
246
164
181
160
130
200
168
179
211
161
201
279
181
251
182
195
209
146
234
210
198
176
173
171
131
168
173
188
155
250
173
198
219
184
180
200
204
222
193
204
299
149
221
214
209
180
146
167
176
163
211
204
251
204
231
122
179
204
184
220
145
192
212
146
206
241
259
196
242
168
204
219
188
183
172
232
242
146
201
251
206
204
165
204
201
181
204
129
173
247
163
180
129
252
256
204
176
141
208
169
138
190
226
256
200
200
189
164
170
182
180
181
166
200
149
179
206
211
177
175
173
166
166
179
181
210
187
188
164
195
173
235
182
238
146
128
210
197
217
215
156
219
211
208
177
184
214
263
183
240
184
178
217
208
230
168
205
182
203
158
176
211
201
176
185
130
213
204
130
210
206
185
179
209
254
210
181
200
304
283
160
173
137
224
175
203
234
258
173
133
200
176
182
258
176
244
206
194
146
146
174
149
130
222
216
186
180
166
133
155
157
150
180
216
204
217
189
189
128
252
186
207
173
287
204
129
174
201
129
170
188
173
129
181
173
201
129
203
186
171
273
174
268
130
221
188
176
229
181
251
129
183
199
158
214
178
181
203
264
226
129
155
197
160
156
157
214
143
162
204
191
122
130
236
148
197
209
172
195
166
288
156
196
173
201
176
222
191
199
214
235
164
160
244
133
197
115
242
212
180
191
128
246
169
211
200
197
176
146
217
255
202
225
272
143
191
179
174
236
185
174
200
260
180
207
177
239
187
201
145
183
222
174
168
173
181
147
195
168
191
176
171
248
210
225
201
130
296
129
168
147
147
164
172
191
213
176
221
188
211
115
234
202
213
181
158
173
238
287
143
187
217
145
181
132
194
229
129
115
174
210
238
143
204
201
226
189
173
184
208
168
184
152
212
198
232
267
195
146
200
303
236
222
210
225
161
149
176
335
239
171
158
184
211
146
236
210
159
146
211
151
297
200
173
206
184
240
296
176
194
130
167
147
189
204
230
211
189
182
174
176
229
199
189
202
235
128
312
158
169
144
203
184
146
169
150
190
189
184
152
189
263
272
226
176
133
199
231
187
175
164
132
218
217
201
186
143
201
199
203
184
130
163
231
163
335
266
227
129
211
220
174
242
130
166
204
166
129
206
173
210
169
161
233
210
194
206
181
180
145
217
129
179
210
184
183
195
155
115
145
180
141
264
209
203
168
173
183
115
245
141
182
201
133
167
230
285
182
217
264
178
184
208
171
141
168
174
297
182
187
179
202
164
227
115
162
264
238
184
218
206
119
206
204
177
201
230
211
251
247
201
311
205
214
172
173
173
171
175
230
204
173
168
174
183
169
145
166
177
222
287
241
239
322
158
159
168
162
235
129
214
246
202
214
210
228
194
144
238
157
130
154
160
145
210
202
211
144
252
189
210
190
198
213
178
220
221
287
162
185
187
261
169
221
184
191
213
168
181
233
261
162
168
210
182
235
240
182
184
230
195
145
175
201
226
119
219
180
222
168
198
185
221
179
162
161
230
190
198
197
179
115
255
183
258
162
133
201
133
257
192
178
146
129
185
210
239
204
191
159
151
189
234
130
145
264
223
160
222
214
192
183
193
146
176
188
199
259
197
204
197
148
257
207
179
191
173
225
209
202
130
176
179
221
201
185
166
162
166
195
195
204
201
245
209
182
217
160
194
149
217
115
235
133
145
261
209
168
263
146
201
143
180
188
119
191
174
164
225
173
201
201
255
129
173
129
168
187
176
210
184
225
230
207
244
222
150
192
186
155
190
203
130
115
150
178
202
202
182
274
210
187
272
168
191
222
186
173
201
176
273
183
222
191
236
193
173
150
176
208
188
255
210
215
227
176
176
178
202
173
238
174
185
183
185
189
202
228
245
157
204
239
149
198
200
129
186
206
281
149
188
176
176
149
219
184
133
179
199
146
259
189
144
173
153
240
129
194
168
198
222
173
198
221
247
204
171
195
283
258
202
178
176
236
122
140
185
133
207
162
173
165
191
221
239
129
264
143
160
175
150
236
213
209
133
173
232
173
160
203
263
133
143
202
173
193
156
169
265
155
248
185
204
199
172
122
130
225
173
236
202
146
244
173
198
205
176
200
239
234
180
146
158
193
206
255
159
145
115
213
216
203
206
192
200
201
156
204
194
194
202
156
202
141
195
202
256
221
197
197
162
217
180
115
149
222
247
169
261
221
129
178
200
147
261
146
185
307
174
162
165
214
204
255
205
205
146
129
168
246
188
154
190
247
202
129
164
225
149
274
204
173
167
316
191
239
213
221
146
175
163
188
115
133
175
133
203
184
241
130
129
162
211
143
162
200
188
180
231
133
174
200
269
245
190
204
218
201
143
227
221
146
189
180
266
130
239
119
162
218
180
169
177
151
269
204
206
162
204
222
178
225
243
157
182
226
197
129
122
230
204
164
133
173
183
176
261
181
256
179
208
204
221
119
133
130
219
115
158
191
168
211
230
169
147
185
230
168
179
237
129
232
146
221
167
201
200
188
133
230
179
150
182
182
146
234
162
146
129
176
202
253
200
143
184
225
228
182
180
143
210
222
204
191
216
115
193
228
268
300
168
207
184
265
131
170
261
225
176
235
141
236
240
181
175
164
225
157
176
204
211
162
138
173
146
229
180
174
244
182
159
154
230
162
217
158
173
227
198
122
155
201
130
202
238
214
143
212
173
157
173
292
177
131
166
256
217
194
216
130
201
171
150
221
271
187
148
207
224
155
257
183
197
195
173
133
242
242
168
210
246
169
188
191
186
235
220
171
229
158
285
168
228
184
130
202
186
163
173
210
211
146
214
186
130
191
258
246
183
201
225
247
146
225
252
181
226
115
234
218
190
204
176
143
213
236
213
200
235
141
211
145
259
210
242
246
138
148
144
205
206
225
190
226
133
201
243
204
130
213
182
173
138
242
186
238
200
242
240
122
184
210
210
115
227
277
172
158
205
206
236
133
192
229
173
161
221
212
195
172
216
179
257
130
176
179
206
215
173
230
132
129
174
203
164
169
194
207
204
254
129
155
162
283
152
182
151
180
197
146
191
250
157
209
234
133
173
158
231
259
200
146
188
179
226
133
199
144
306
208
261
204
169
153
156
194
211
252
160
183
207
130
146
239
201
237
129
173
188
246
185
202
239
176
206
129
195
191
212
167
129
193
176
229
202
200
184
192
222
212
204
235
173
212
222
200
232
189
130
218
224
133
239
285
178
194
226
202
188
217
183
173
194
193
173
174
173
216
239
176
224
146
211
246
155
149
181
143
178
290
200
174
185
173
308
204
179
143
182
184
214
224
183
176
197
210
211
247
185
185
204
160
171
185
203
217
166
232
237
176
201
129
173
230
174
226
237
178
244
182
264
204
222
210
204
206
194
201
242
204
238
178
160
201
206
208
318
184
128
218
213
182
170
164
211
201
203
176
204
173
141
132
239
129
180
129
233
157
210
182
133
221
160
292
173
141
158
251
176
214
192
176
205
206
168
236
214
158
171
189
202
211
226
221
172
217
160
181
173
207
175
189
254
176
146
143
209
130
146
184
210
221
173
229
176
164
177
177
335
184
179
183
218
190
276
182
252
173
203
151
200
174
169
176
168
214
204
183
179
234
203
209
173
166
227
146
173
129
185
161
209
176
153
158
214
225
184
129
251
180
206
161
257
309
168
246
195
130
193
193
129
180
204
217
173
184
227
188
119
283
288
204
209
176
230
211
160
230
216
191
191
247
128
169
204
183
209
206
236
217
172
190
230
230
211
166
211
219
211
174
202
178
182
201
219
130
266
212
184
147
173
129
188
214
203
170
153
171
179
168
200
239
176
115
204
221
217
264
146
190
162
252
130
202
151
255
145
256
201
239
259
229
247
179
325
138
253
230
146
201
168
184
182
232
296
294
227
195
204
157
183
252
222
282
146
225
225
195
184
232
167
182
286
275
204
217
303
262
187
145
210
202
206
155
203
247
166
255
129
192
158
230
279
127
178
147
240
228
172
269
143
115
173
203
214
130
263
275
146
191
188
332
155
233
204
233
257
173
188
200
230
188
202
227
217
184
181
230
211
193
204
168
168
202
227
189
204
214
264
260
176
164
238
288
179
207
184
205
270
133
158
216
244
184
264
242
173
146
182
243
149
175
143
202
178
182
210
208
163
228
205
206
201
130
175
143
183
164
176
211
158
221
180
133
173
146
214
152
217
158
185
176
173
189
132
166
130
143
196
204
176
211
183
258
143
149
209
226
258
166
146
173
133
162
173
178
155
143
185
146
281
190
236
162
206
130
186
160
189
235
304
256
130
143
293
247
261
295
130
191
168
173
189
141
151
232
141
242
199
191
251
234
188
263
184
239
248
209
166
204
210
203
188
146
213
218
164
224
158
217
199
210
129
183
130
159
281
188
209
205
178
209
200
268
176
261
188
210
246
214
210
185
165
171
188
182
190
176
185
195
207
200
115
237
238
130
176
180
217
192
252
181
236
176
299
233
168
179
160
151
122
174
192
193
140
176
180
215
175
183
256
162
209
168
211
235
290
146
239
216
217
206
199
214
186
190
214
176
214
145
176
204
146
173
146
224
190
212
239
221
197
200
202
173
204
160
174
183
143
176
181
177
207
185
147
183
260
143
211
231
265
155
205
130
133
279
170
237
176
215
191
213
130
161
143
263
186
158
202
227
150
198
210
173
203
327
260
184
197
195
243
168
229
129
252
204
204
238
212
127
164
168
170
146
173
233
146
183
160
183
165
148
182
141
184
167
225
184
209
183
184
238
287
210
185
146
251
258
204
225
146
115
222
202
182
133
169
204
281
223
199
160
184
210
161
227
201
154
217
248
217
206
159
294
220
173
210
173
133
261
237
212
177
200
163
177
157
168
160
198
230
228
211
180
184
169
218
200
168
174
202
211
176
144
234
238
173
230
151
162
146
190
163
184
182
199
146
145
130
231
206
177
193
169
164
246
204
207
204
216
130
193
249
129
239
222
200
184
130
186
202
193
173
227
128
200
225
174
146
153
190
250
150
214
129
238
189
230
129
250
188
217
143
161
215
157
186
204
188
129
169
200
178
129
202
245
184
159
217
122
258
210
169
178
190
173
188
168
211
186
206
260
204
180
239
182
249
179
203
152
176
204
185
158
158
207
216
247
206
192
178
183
204
144
236
184
283
149
201
204
230
199
206
133
252
258
251
202
169
219
191
178
188
130
211
179
176
179
204
163
184
214
160
193
232
189
202
198
184
184
149
155
129
164
186
231
162
183
184
145
190
115
148
200
178
183
181
173
187
173
179
197
184
257
201
239
146
115
208
210
146
178
184
206
185
133
267
211
159
183
213
182
209
185
146
193
234
130
185
191
234
173
228
217
227
147
217
145
173
190
214
200
173
188
182
200
179
178
193
271
194
190
204
233
115
203
130
188
258
189
256
205
283
146
181
202
173
130
168
153
280
130
201
203
242
200
166
243
186
151
214
230
211
193
189
176
233
203
182
253
189
243
150
176
176
231
162
169
226
178
201
162
286
158
202
166
173
156
191
182
217
168
250
176
231
146
221
170
241
209
162
213
255
228
122
208
193
169
266
201
182
236
238
132
179
239
214
141
249
156
174
158
176
210
224
146
217
217
240
184
179
210
156
191
256
183
228
259
246
158
180
158
260
217
194
200
185
191
254
169
162
201
161
259
198
155
217
173
188
250
173
155
210
221
187
182
202
201
287
173
200
119
211
180
179
191
180
206
172
191
199
155
143
200
180
215
187
170
298
129
217
189
229
217
132
143
176
194
173
158
168
263
146
183
230
130
192
236
240
165
244
222
201
194
247
162
179
160
247
194
209
182
211
173
335
206
173
156
209
158
130
179
223
146
204
176
188
201
199
257
171
200
239
172
150
216
265
161
145
181
173
173
214
187
195
239
219
285
158
183
132
221
130
162
182
173
214
180
141
185
168
130
175
160
210
184
152
173
217
238
181
217
174
166
183
212
257
189
145
270
231
244
335
268
211
161
244
182
184
239
176
200
214
212
226
228
210
188
259
275
261
206
192
201
208
203
192
267
187
211
181
186
244
155
129
160
315
209
217
158
233
129
173
325
231
162
260
193
235
191
173
129
165
143
175
168
185
176
206
211
202
164
156
163
184
237
158
192
199
182
176
176
231
164
183
206
211
183
265
255
129
184
274
204
203
181
214
179
169
175
218
173
196
185
164
228
186
247
202
215
219
178
192
193
174
130
155
190
191
138
205
158
222
204
176
139
221
215
238
203
199
180
179
130
173
210
143
242
211
161
173
186
179
211
204
158
192
177
209
183
208
181
261
115
202
204
191
203
201
169
234
225
169
228
173
227
179
194
221
222
265
191
267
161
180
158
165
201
210
179
146
263
162
175
161
196
143
209
151
216
133
141
214
151
252
129
158
129
173
168
191
115
237
182
143
146
150
164
226
146
200
257
201
130
146
195
132
199
266
249
129
143
166
186
224
185
130
159
244
132
176
217
225
248
141
203
186
177
168
223
207
179
186
190
183
164
185
165
211
172
173
187
179
173
130
182
150
182
163
177
188
185
153
164
204
172
180
180
191
160
185
192
153
194
247
188
133
194
179
269
185
179
183
212
262
167
236
210
143
168
226
158
162
202
130
193
143
179
187
184
176
145
236
179
149
183
189
235
249
176
145
179
274
198
217
210
171
133
190
192
144
146
200
173
241
138
133
171
185
188
255
195
238
209
211
226
231
230
145
161
170
211
178
160
173
153
201
143
179
187
217
179
168
180
180
164
195
263
173
202
194
130
176
146
173
205
176
190
122
163
210
230
129
166
145
146
187
153
256
152
193
146
197
155
194
228
185
221
205
169
201
183
165
161
191
169
115
229
232
147
181
217
173
261
204
221
181
283
201
146
228
180
206
255
189
133
161
160
214
143
167
166
183
191
162
201
237
115
186
178
183
242
254
146
232
132
246
242
145
283
146
227
176
172
240
188
151
211
228
164
217
193
208
170
146
191
146
150
281
206
228
211
161
201
146
146
158
219
205
164
160
144
175
181
209
253
157
192
180
181
194
129
195
173
173
184
146
178
195
234
202
168
133
204
202
217
209
205
186
173
178
179
253
186
244
179
182
193
200
173
173
174
193
182
171
176
184
178
155
150
178
202
254
185
170
200
264
164
214
189
191
215
179
215
149
158
147
195
257
172
191
184
130
217
173
168
184
223
164
202
169
181
133
133
232
129
205
169
160
199
208
223
223
239
218
177
164
227
204
183
184
227
216
170
162
174
216
182
235
231
221
208
191
200
181
218
130
250
169
168
229
176
129
247
202
261
155
185
218
201
161
192
194
188
232
130
239
173
251
249
182
255
176
210
195
162
217
164
182
143
130
172
298
245
190
157
185
229
133
200
166
206
246
143
201
144
158
128
200
146
156
204
211
144
213
249
261
179
227
230
178
208
201
184
166
294
213
133
221
210
193
183
173
146
162
245
146
158
146
178
162
204
164
190
143
190
201
224
212
188
129
231
248
200
209
184
133
146
176
166
173
173
224
300
146
216
260
231
179
241
130
231
161
226
247
171
182
245
242
194
174
226
115
182
299
176
263
226
153
162
130
144
185
270
248
266
250
220
176
188
180
132
193
183
189
160
194
204
173
167
145
129
217
227
155
256
191
215
129
146
185
270
212
178
152
162
227
202
248
158
179
216
206
143
173
146
195
236
188
184
129
115
156
115
161
245
133
194
214
204
145
212
176
226
158
149
194
133
259
177
215
174
206
146
229
165
206
210
209
275
129
192
227
215
168
204
169
189
166
133
235
264
129
286
150
198
130
141
214
205
130
144
138
173
187
169
238
239
178
182
303
249
236
173
141
147
205
130
150
182
176
185
138
208
180
173
173
189
239
279
182
162
173
174
191
218
138
194
115
206
230
204
209
252
235
192
176
166
194
260
176
129
183
162
187
219
206
203
176
211
143
236
176
122
176
179
260
171
164
201
170
176
183
146
201
200
199
129
198
146
204
217
210
160
192
146
176
204
149
174
188
209
222
272
146
146
216
129
129
184
197
186
262
176
202
213
192
221
214
174
233
211
122
133
208
164
204
160
115
143
241
230
138
129
132
176
216
182
216
173
146
146
158
168
188
115
167
227
205
204
199
185
130
174
156
182
146
179
141
214
223
227
197
206
173
212
130
199
257
245
247
242
198
226
200
168
195
169
227
184
182
153
133
202
213
210
132
230
173
195
211
149
228
219
145
128
146
178
201
226
229
196
145
189
167
129
181
220
247
150
238
261
210
234
238
206
204
172
210
222
146
168
226
335
264
188
186
166
181
166
217
204
169
237
183
163
227
132
277
299
236
227
314
146
195
162
222
206
230
238
237
168
161
141
216
236
168
204
207
164
129
257
160
239
146
171
245
164
214
166
242
182
115
186
236
182
145
191
247
222
204
212
239
161
291
122
213
179
194
201
174
164
183
204
168
242
162
214
184
202
190
190
184
201
187
216
130
185
190
173
257
277
167
230
161
239
155
163
169
182
180
205
288
243
195
194
173
245
205
151
173
143
178
207
145
250
225
168
178
157
167
164
168
129
225
259
129
184
198
178
239
182
203
218
197
185
207
204
223
173
225
129
189
217
215
204
155
141
206
155
143
295
172
211
151
162
236
237
223
227
238
233
188
162
227
211
228
210
226
194
183
210
130
274
189
241
182
185
204
214
200
151
178
173
145
242
230
230
129
183
178
176
146
158
181
179
150
190
184
194
160
204
245
156
169
115
186
263
232
164
158
158
206
180
217
129
170
156
232
129
228
178
230
187
183
179
141
237
254
225
146
216
210
236
160
199
205
236
217
202
235
173
204
190
168
210
173
188
146
130
192
176
146
204
199
201
180
130
206
256
186
242
176
287
160
204
161
162
173
151
182
206
141
189
130
204
185
202
242
218
210
236
161
128
177
133
146
227
174
166
162
176
217
160
208
218
204
234
207
201
204
184
130
146
168
236
176
145
258
202
214
204
238
210
246
186
160
150
217
214
146
215
200
261
152
176
173
146
130
129
236
229
205
122
196
155
158
173
131
203
145
164
187
211
201
209
234
146
254
198
178
159
225
149
240
179
115
173
180
169
226
178
225
144
216
265
189
206
173
217
176
142
204
225
164
150
186
228
189
191
160
225
237
146
166
214
260
201
130
176
178
218
199
206
206
203
130
219
264
177
191
229
168
252
253
203
182
204
260
166
217
183
296
217
299
204
173
210
145
179
210
129
115
176
179
172
220
209
206
185
194
168
179
207
227
226
133
275
182
214
115
150
166
185
173
201
202
162
204
239
228
199
265
238
264
234
183
231
182
195
189
179
265
238
211
238
130
176
130
221
191
168
129
146
145
243
168
264
169
168
196
226
178
173
115
221
278
196
193
230
252
138
226
182
175
209
288
278
205
210
194
146
283
130
204
156
221
198
130
195
166
242
191
231
203
129
181
133
199
213
145
239
205
141
152
179
115
204
232
239
223
203
236
225
232
180
130
214
248
188
217
221
184
233
210
159
195
202
206
207
211
147
200
204
220
194
220
133
211
180
173
129
213
155
211
168
150
228
223
164
193
221
201
193
204
206
188
271
228
179
210
217
179
251
238
211
129
221
253
130
184
198
168
190
221
201
166
169
176
174
160
130
298
147
236
210
178
146
128
204
200
169
155
119
173
239
161
219
229
211
161
169
267
204
130
203
148
203
217
129
238
129
214
169
275
228
258
192
192
202
129
185
263
231
173
180
187
202
188
133
176
285
133
133
294
200
163
209
256
131
163
242
143
184
210
248
129
221
229
212
151
130
147
189
187
129
122
191
168
211
146
263
130
173
168
205
188
204
130
265
158
236
201
242
193
173
208
186
231
303
219
193
176
236
192
169
192
233
192
222
164
296
231
186
169
189
145
188
233
158
158
186
183
162
176
183
181
161
239
161
195
195
238
162
218
143
173
243
173
176
176
173
209
190
202
254
210
171
160
152
234
144
155
146
238
227
214
248
146
180
251
182
185
215
159
209
155
188
183
178
192
252
133
202
129
270
115
230
177
262
213
166
236
172
240
191
173
152
171
182
204
238
171
194
146
259
192
215
128
161
157
138
223
127
183
176
158
153
152
217
115
281
191
200
158
161
130
244
169
119
261
158
164
141
216
255
216
174
156
211
234
198
235
191
156
161
173
203
211
146
236
211
149
274
129
197
208
197
214
145
141
221
191
201
176
182
172
156
180
241
115
129
193
158
183
210
238
225
190
187
210
200
180
155
202
184
193
169
216
115
213
238
158
195
202
198
141
258
219
130
173
161
129
188
168
246
149
255
164
197
206
237
236
221
164
221
194
217
130
250
194
192
158
238
197
191
265
149
202
192
156
204
146
161
158
229
165
227
211
236
216
138
162
224
173
225
201
239
200
184
166
173
245
185
198
238
164
185
192
229
153
153
208
175
229
255
213
138
228
233
245
206
191
188
187
246
184
261
184
143
192
261
230
248
210
184
155
186
168
240
218
203
257
176
200
212
217
181
130
335
241
204
242
210
173
229
206
173
130
220
129
172
196
225
173
156
268
195
188
236
160
188
182
247
203
171
204
173
190
201
193
211
158
129
146
247
146
146
233
234
203
189
175
172
188
188
146
168
179
211
160
167
205
246
176
169
216
171
206
204
203
210
201
221
195
230
228
165
129
242
229
172
204
198
155
335
219
254
202
225
212
198
166
162
169
122
173
193
215
217
303
130
238
189
200
173
191
208
165
176
186
158
207
211
158
163
178
165
184
133
169
179
225
179
174
129
219
157
201
168
222
214
167
190
180
115
141
217
130
208
146
259
280
176
225
156
151
204
180
164
172
145
202
210
130
209
194
282
203
133
143
169
146
243
141
244
173
206
184
178
225
192
130
256
189
266
146
265
151
209
179
232
173
149
188
217
228
235
204
155
286
252
190
164
186
184
183
227
147
161
162
169
176
156
157
192
122
197
205
212
258
197
143
158
230
177
145
200
175
141
210
168
215
199
238
143
242
173
217
140
235
189
173
190
133
224
227
130
217
182
164
214
122
218
168
184
210
222
247
216
217
202
143
270
217
213
222
192
173
178
254
211
147
130
115
201
179
267
146
164
229
181
260
202
151
193
155
185
164
247
204
203
129
261
145
178
230
158
299
201
178
133
170
185
218
194
204
194
204
199
211
261
185
161
167
204
214
128
145
141
128
222
173
180
233
181
144
299
214
119
210
147
145
175
210
145
217
217
195
146
202
200
185
188
217
191
195
300
210
205
141
208
183
195
163
175
115
205
129
208
201
173
182
133
195
188
143
204
231
155
206
273
129
145
149
146
240
130
193
130
192
204
195
173
243
205
157
199
234
185
205
204
129
173
144
229
240
252
189
193
259
174
201
143
167
195
186
129
215
157
164
152
181
216
211
217
146
199
150
205
167
235
190
236
210
257
128
179
259
173
203
210
236
183
266
190
156
173
211
150
188
146
209
175
220
189
184
210
178
162
176
173
133
233
172
204
209
182
143
176
266
287
230
175
202
248
201
174
160
247
184
145
186
242
272
130
188
176
250
230
130
210
236
174
217
231
180
283
201
233
145
176
298
214
186
156
151
203
209
204
160
178
282
164
199
202
191
172
222
202
205
145
173
174
234
172
223
256
209
174
231
204
217
195
217
183
183
172
193
150
202
178
182
172
173
180
200
201
227
255
146
143
184
292
218
296
190
182
233
183
217
157
168
228
194
153
213
236
182
205
144
146
246
158
207
181
303
209
236
147
129
158
270
212
184
160
204
215
230
195
176
261
164
203
207
133
138
176
145
145
234
192
235
173
158
146
241
239
185
226
210
159
238
176
248
240
129
153
238
173
205
230
168
173
211
168
173
249
190
230
185
172
274
203
175
146
197
143
192
226
156
215
200
175
201
283
192
173
241
169
201
162
200
176
173
165
233
274
204
185
139
217
205
211
246
148
279
183
153
157
267
129
122
195
138
189
155
201
164
162
186
204
257
188
173
178
143
200
217
176
130
215
143
175
203
252
182
229
211
184
168
201
162
191
163
225
202
200
173
183
164
188
247
176
139
221
166
232
130
201
179
214
233
184
212
191
150
211
189
208
130
176
160
179
188
246
161
143
184
143
209
175
231
129
201
239
201
176
141
168
115
223
217
228
164
195
145
217
208
217
282
143
216
206
171
173
222
284
143
259
129
196
186
160
227
160
179
146
191
213
212
185
243
184
122
226
180
202
239
215
129
236
160
288
191
198
131
218
164
204
211
173
231
201
164
133
193
174
164
212
173
225
210
176
244
195
192
115
146
158
179
232
230
201
190
146
217
178
173
217
151
215
184
158
255
193
192
146
130
159
202
130
173
217
195
251
166
130
201
165
182
175
211
162
274
146
195
283
146
146
147
133
186
232
177
231
201
226
249
184
173
261
209
168
138
146
204
223
228
173
153
206
172
157
201
295
202
130
147
164
235
182
194
164
146
115
237
188
164
207
183
238
274
210
130
169
149
229
225
255
149
180
197
182
206
182
155
202
195
202
130
180
214
146
186
214
143
210
251
225
215
176
187
180
201
236
150
215
219
204
216
216
195
176
172
166
181
180
184
173
164
204
162
207
200
183
178
209
243
182
225
190
200
143
187
164
169
187
209
176
217
192
185
218
204
176
147
220
239
186
206
185
255
176
213
133
215
186
130
227
159
266
176
194
238
206
173
202
171
145
162
172
170
180
176
259
191
228
255
251
234
180
181
189
122
209
179
222
229
224
129
215
235
149
168
234
179
218
211
287
236
179
129
128
191
183
173
182
180
181
186
166
270
220
234
223
144
188
161
181
191
227
217
201
250
207
176
196
203
133
222
191
204
199
283
206
175
249
178
146
182
176
178
168
146
150
152
145
173
180
204
198
133
258
253
169
202
151
173
129
220
173
146
150
230
146
218
209
195
161
206
146
143
156
197
130
149
213
162
194
173
130
162
214
259
200
234
158
269
145
143
168
157
155
247
244
169
167
115
168
202
138
240
261
250
158
199
194
162
161
169
173
217
176
241
181
217
157
211
181
182
143
146
246
169
184
146
210
129
204
155
189
176
209
199
204
129
203
193
217
243
176
185
160
210
180
235
206
253
188
257
177
218
206
200
236
130
205
169
236
173
172
211
185
230
168
174
173
285
285
180
129
211
201
203
146
229
146
156
176
211
164
129
143
204
122
178
250
250
182
217
157
164
218
216
160
236
183
173
204
143
141
155
160
247
218
169
230
222
211
183
206
166
129
176
176
194
161
160
201
230
175
181
122
206
288
173
179
179
220
211
155
164
252
188
221
178
210
233
205
164
182
277
141
169
185
202
166
115
200
267
185
129
214
181
204
150
167
145
138
203
239
257
186
274
145
173
150
188
183
178
197
231
264
203
184
228
218
145
209
204
153
166
130
211
188
162
240
181
173
155
153
186
217
218
219
217
188
204
218
183
219
170
164
173
168
150
258
189
185
294
215
234
185
214
146
164
173
203
162
242
228
187
194
239
217
200
176
155
202
150
122
286
217
162
171
180
265
150
186
145
173
185
151
249
150
217
176
176
176
237
190
251
221
181
143
158
138
130
211
160
189
231
240
204
201
189
163
181
168
222
146
178
155
250
164
129
234
240
183
199
208
208
164
130
261
230
133
173
212
173
209
186
193
202
210
145
178
143
144
199
230
146
162
207
221
206
129
179
204
221
197
226
192
195
236
145
235
163
257
122
115
189
179
202
162
217
145
129
145
192
194
214
169
186
162
143
155
279
176
212
149
156
206
164
209
229
119
211
192
230
167
155
204
162
169
209
180
176
144
192
242
247
228
222
190
245
157
173
275
227
234
175
236
156
219
157
158
210
179
177
199
131
229
133
194
234
130
180
208
211
240
271
232
164
250
217
218
211
201
178
239
156
133
206
153
130
194
254
143
173
193
206
162
210
149
150
251
195
191
217
183
310
115
115
209
129
145
205
228
188
218
204
269
242
142
202
168
188
176
212
178
257
202
206
156
179
133
173
236
229
201
214
209
146
217
162
171
173
201
179
204
202
230
210
168
168
209
178
206
260
248
155
237
138
143
185
165
202
225
232
173
210
240
233
244
143
173
180
167
200
164
272
182
170
261
138
260
133
164
224
191
130
205
162
204
188
173
141
122
205
141
180
165
235
156
178
228
178
270
171
173
146
149
285
129
296
205
173
146
242
239
147
228
146
225
251
210
203
236
228
193
115
235
229
188
194
265
157
119
206
174
148
178
234
157
195
275
218
263
152
169
249
200
189
170
247
185
202
130
201
248
174
214
168
179
175
161
173
193
128
222
216
335
221
176
224
198
252
225
174
169
238
150
143
178
214
115
173
163
152
177
229
198
184
265
176
187
145
194
208
173
193
179
173
206
188
217
173
201
145
295
173
182
191
270
173
158
201
217
250
222
128
142
153
217
143
239
217
161
208
225
257
174
158
264
205
315
165
166
185
129
180
263
191
300
198
144
291
201
129
209
191
184
219
235
258
150
195
202
122
176
129
115
203
188
155
207
217
249
211
188
180
115
206
176
174
224
215
221
191
201
230
173
209
152
200
196
191
176
223
215
245
160
173
176
225
178
176
195
169
210
216
160
208
143
143
168
203
133
146
193
133
204
237
217
206
202
206
231
162
183
162
210
179
155
259
222
204
168
182
174
202
185
269
169
221
179
164
194
266
231
175
168
181
230
182
163
176
179
258
115
146
170
206
185
130
130
212
176
238
129
146
145
175
146
158
211
184
145
205
158
204
232
184
158
190
204
234
145
146
143
217
264
191
164
248
210
251
217
122
218
210
182
182
186
227
158
211
182
183
176
133
212
204
183
230
204
221
200
247
152
155
236
182
192
296
173
251
246
210
129
115
184
193
223
170
176
178
168
169
227
227
191
178
168
173
270
217
133
211
128
188
322
146
200
193
177
143
222
229
202
179
183
258
156
200
217
241
178
204
189
245
244
129
194
220
200
246
170
241
216
143
245
205
277
166
186
222
191
187
218
182
153
208
214
138
217
263
263
188
236
237
202
236
167
168
239
150
212
144
186
248
151
210
161
203
167
146
247
183
230
179
211
181
204
210
190
233
203
210
210
186
158
155
130
181
215
205
217
262
141
153
252
177
228
158
219
156
176
133
184
205
215
146
122
157
168
195
188
194
130
206
230
129
168
129
227
267
261
181
130
201
145
234
190
173
199
218
266
241
194
146
228
235
141
249
130
221
191
180
230
166
184
173
173
146
145
204
129
186
210
214
158
238
149
164
246
189
169
204
166
236
187
146
191
158
191
236
200
238
158
335
173
186
169
202
245
201
211
195
179
230
228
191
202
201
204
150
181
210
216
246
298
211
208
207
129
202
201
225
253
168
187
285
201
147
173
179
173
172
206
176
176
150
240
230
201
217
173
182
182
130
211
233
161
229
193
217
194
176
188
249
168
347
146
143
179
169
144
199
212
220
178
221
249
162
198
146
180
281
235
206
215
254
210
194
176
170
256
166
255
206
155
172
224
193
146
115
138
234
163
233
217
146
115
156
133
151
166
158
229
238
212
240
173
206
115
213
173
217
190
238
146
196
254
169
188
224
168
156
175
202
262
227
187
144
173
180
241
130
204
182
184
217
268
185
224
155
234
173
234
199
200
145
130
149
184
192
180
276
163
200
191
169
208
191
242
178
168
184
205
227
206
245
222
150
222
213
168
173
237
146
265
202
191
130
176
130
179
183
152
179
206
211
227
173
209
202
145
211
184
254
133
171
187
233
239
237
242
189
151
188
201
222
234
148
179
176
217
264
158
258
129
165
146
246
209
217
210
150
218
173
219
191
164
173
156
236
255
150
274
171
150
133
158
185
185
204
193
235
151
226
228
162
151
199
130
203
181
227
171
230
264
252
146
177
209
202
158
141
168
191
247
247
131
176
144
191
302
185
211
211
204
150
158
208
200
236
201
299
162
201
191
182
170
202
173
176
185
180
210
200
238
185
168
159
172
300
199
191
145
147
196
251
246
172
202
206
228
287
158
238
180
209
206
211
257
150
162
184
129
201
192
209
222
160
160
169
204
206
157
145
195
184
234
202
164
128
115
173
149
191
176
225
178
186
175
305
133
133
158
143
184
191
122
122
222
213
184
213
225
179
204
185
130
225
145
235
177
187
204
187
201
197
185
173
153
264
184
188
141
188
221
225
194
158
201
212
155
253
230
146
236
232
179
210
163
202
185
194
194
176
141
173
184
233
132
130
197
192
239
216
128
169
225
209
217
138
143
200
168
162
236
168
158
165
173
171
174
242
230
146
239
178
184
156
115
263
239
203
171
168
247
141
200
221
157
176
130
252
212
221
158
176
182
212
151
222
235
172
204
190
130
129
256
179
222
178
231
179
176
138
240
208
158
202
164
146
219
183
178
146
289
188
227
168
130
206
248
226
209
230
176
179
214
225
115
245
201
208
182
255
209
166
225
209
217
129
211
167
240
227
155
158
260
206
115
188
146
159
178
129
213
200
222
145
155
256
203
182
226
194
210
186
195
175
215
214
168
204
257
216
158
166
146
147
206
246
217
225
129
257
182
173
152
158
158
250
278
202
233
209
173
206
192
209
166
202
179
204
250
214
238
280
188
259
184
237
191
173
122
182
162
209
225
205
174
158
204
258
158
239
168
138
192
262
219
175
259
173
196
143
166
204
165
186
176
179
204
169
225
141
173
202
180
182
147
222
186
162
183
219
199
145
176
198
199
216
192
204
146
151
214
245
156
237
179
149
200
152
235
184
196
175
147
185
283
179
202
129
179
263
155
202
222
162
173
143
210
206
158
256
262
189
187
185
171
229
204
180
201
200
129
164
198
133
174
182
238
214
180
218
208
254
180
185
169
208
195
129
180
130
219
209
168
242
178
158
251
210
115
245
181
129
184
168
239
237
279
168
122
203
200
166
156
161
230
129
189
204
227
258
162
280
178
183
222
278
274
150
315
164
128
173
158
191
159
182
173
174
130
187
179
278
188
146
238
190
203
150
128
182
130
209
192
198
180
258
115
211
217
169
168
252
138
219
145
198
180
157
210
171
146
204
172
249
168
227
236
287
133
215
258
237
146
188
224
160
158
178
182
189
168
210
217
247
187
256
173
164
177
169
181
141
261
190
184
190
168
227
172
185
193
159
235
208
214
191
207
173
257
198
223
129
222
265
176
230
133
261
169
228
205
164
129
173
146
184
122
211
192
130
258
209
159
202
204
250
180
217
176
246
200
223
213
228
151
129
130
159
174
260
130
133
230
262
233
178
208
187
166
155
155
141
132
195
263
157
191
145
229
201
183
261
211
238
146
259
185
248
198
176
146
141
216
211
157
210
188
234
216
188
251
277
146
206
183
168
233
153
184
204
198
185
133
132
176
194
212
155
192
298
180
129
230
149
169
209
130
204
146
129
217
213
199
188
157
115
115
261
258
261
173
217
300
173
231
146
249
155
129
189
199
265
164
220
115
231
172
204
201
187
210
146
164
130
173
143
180
115
293
264
176
201
210
145
200
183
273
230
143
274
227
185
172
219
180
130
236
236
222
203
146
220
224
200
157
129
177
202
173
157
202
228
210
221
188
130
183
204
281
161
238
153
191
173
182
286
138
146
244
261
173
217
176
176
176
236
156
236
253
168
216
146
236
156
130
227
198
140
180
155
199
168
158
190
164
208
122
157
238
176
161
262
173
173
239
159
285
140
194
191
217
242
216
226
296
146
143
200
137
173
225
230
115
236
217
183
191
160
174
218
250
225
269
217
225
201
211
173
115
206
166
217
206
141
229
245
252
206
141
196
247
155
168
181
170
211
130
193
166
142
274
183
206
181
256
138
146
156
168
211
185
191
238
189
173
193
257
141
204
208
190
206
176
173
202
180
214
241
185
189
202
207
169
141
199
246
233
202
161
246
210
207
130
143
222
251
175
133
176
225
179
172
176
201
258
174
214
215
225
262
187
176
133
160
205
211
129
176
168
173
195
169
300
173
179
181
244
210
267
175
147
210
178
201
115
324
190
179
151
214
204
183
260
146
205
191
143
226
224
172
157
194
129
158
200
206
164
164
165
153
266
211
176
200
234
200
150
162
165
158
191
129
129
164
229
230
187
153
156
303
130
205
179
230
264
249
128
212
193
286
224
238
146
254
200
173
227
180
156
189
173
180
162
179
180
221
184
263
250
165
146
200
133
146
255
182
157
255
244
204
155
146
228
151
146
157
115
252
181
188
238
210
201
145
195
180
184
229
145
203
260
244
122
201
181
240
290
162
191
236
219
173
204
173
184
204
158
149
178
220
230
242
238
133
146
149
247
225
244
254
231
273
146
184
162
184
200
181
185
169
168
191
187
173
204
203
210
265
164
158
173
158
180
174
189
171
173
204
232
128
231
201
129
176
190
217
173
132
207
238
150
207
146
212
240
236
129
130
203
203
191
169
184
163
130
170
158
186
201
190
181
236
178
179
173
190
183
150
189
129
143
199
158
149
174
190
162
178
202
160
150
252
178
155
246
206
191
259
204
179
172
174
234
115
223
266
173
185
176
152
230
160
217
210
207
216
129
227
200
158
255
180
166
209
198
162
329
168
182
197
221
200
205
138
205
191
199
210
221
204
206
200
189
219
129
236
181
169
173
219
239
188
206
215
200
146
171
146
188
263
158
161
210
128
186
178
179
194
262
130
244
264
217
129
186
189
185
160
215
216
187
170
189
229
222
207
130
239
208
217
234
184
145
201
206
146
162
285
174
141
132
258
192
129
179
209
217
236
200
281
197
162
130
240
182
180
203
194
204
258
151
211
217
161
180
146
145
146
158
171
188
221
204
155
172
221
173
225
173
199
226
232
209
205
202
168
176
176
205
218
183
203
225
204
131
162
146
211
229
183
244
181
122
178
144
181
247
214
249
237
151
158
184
122
146
202
182
230
224
242
176
145
184
130
182
196
228
235
188
181
217
146
151
171
273
252
150
130
247
122
147
278
162
223
160
129
181
168
167
224
218
171
170
168
157
207
210
189
200
177
208
224
222
252
168
161
172
180
158
236
133
176
155
191
206
206
247
210
213
178
166
219
184
130
230
155
184
174
221
161
149
190
257
262
173
218
184
225
133
183
115
187
192
210
198
193
164
184
207
188
210
199
188
145
158
162
145
129
209
146
173
243
201
197
176
195
149
209
210
264
242
161
129
257
230
202
133
172
207
210
222
238
133
143
239
204
169
206
170
194
225
200
221
162
162
211
204
176
167
174
169
175
204
335
146
115
145
184
162
161
122
130
133
260
217
155
133
182
222
179
115
129
146
202
251
211
173
230
222
226
253
176
169
115
176
133
129
133
204
238
219
190
146
146
200
220
206
182
173
146
170
143
155
130
206
173
305
129
218
143
207
133
158
204
215
133
155
235
207
168
192
228
158
166
189
176
276
115
251
179
207
213
173
188
217
227
182
230
173
146
158
213
193
146
192
133
187
174
204
130
169
179
130
201
184
163
164
130
158
195
144
180
213
221
122
226
173
160
169
224
197
240
201
269
166
146
130
143
210
201
164
129
158
225
217
173
212
156
146
160
223
221
202
167
172
230
145
168
191
243
143
195
203
201
246
225
129
179
262
155
146
187
149
146
238
179
155
213
150
206
173
129
160
129
196
204
251
146
145
264
187
198
241
296
227
227
132
205
168
211
168
220
230
217
146
159
203
173
201
158
198
146
216
225
211
130
255
200
179
130
194
189
225
178
216
247
130
193
130
254
173
176
183
152
206
169
145
210
169
204
168
130
202
200
225
130
341
209
206
213
239
214
193
145
162
208
205
269
183
204
236
122
191
198
197
234
143
266
264
204
155
198
164
175
174
145
176
146
187
190
202
227
162
217
129
174
264
194
167
174
239
249
184
202
255
169
200
179
283
151
243
232
143
185
246
159
221
215
235
255
206
178
195
146
240
216
231
176
172
133
161
180
178
171
218
189
129
194
202
176
184
230
188
138
143
222
267
241
176
182
145
283
158
115
144
183
217
122
186
164
129
264
143
179
238
155
240
176
223
176
141
190
184
183
157
133
195
210
204
141
232
227
211
238
146
173
164
217
171
192
177
217
234
189
217
204
238
239
164
129
195
169
208
251
186
176
217
236
168
211
184
195
129
184
176
130
260
146
178
173
185
171
162
305
146
115
164
156
202
146
279
138
244
147
164
178
183
217
300
183
181
239
202
174
183
264
130
242
129
115
195
202
229
157
271
185
180
180
188
188
172
237
213
244
128
257
203
214
252
191
146
211
192
262
146
122
231
246
161
143
238
145
261
291
261
173
239
210
197
158
176
213
173
184
210
220
229
200
254
173
155
194
167
173
184
198
221
182
221
194
208
186
161
182
210
168
239
172
244
169
267
239
292
182
201
204
254
221
174
119
129
202
229
256
133
180
115
141
191
192
204
236
272
210
130
170
197
200
152
210
164
128
222
186
226
198
144
214
178
227
191
159
146
146
141
155
216
191
209
129
146
217
238
197
191
228
200
180
180
214
133
197
168
223
204
267
237
168
215
194
200
201
247
209
146
263
216
244
200
247
130
184
230
200
130
231
220
202
207
146
156
149
130
180
176
249
173
199
194
222
184
201
191
178
202
130
229
169
161
253
158
183
177
130
195
205
141
201
130
160
176
180
234
166
132
178
146
173
210
222
130
176
211
177
153
145
146
156
179
181
200
164
143
157
180
162
216
202
160
263
224
195
201
191
213
201
185
202
231
168
229
169
179
179
146
155
227
176
182
146
231
173
217
239
225
164
274
190
229
228
208
162
173
200
226
158
156
194
193
187
228
232
176
213
195
129
184
248
182
300
160
195
177
115
163
150
294
176
176
162
130
180
221
172
208
176
219
213
141
182
145
151
231
204
198
201
204
146
145
238
129
204
202
130
179
268
184
215
144
292
220
200
164
222
258
169
171
173
186
143
217
187
229
146
189
223
173
264
213
199
129
210
173
201
264
115
185
181
213
162
152
204
169
218
200
162
211
155
129
129
224
157
201
204
238
168
228
194
210
176
202
179
122
188
130
189
179
194
143
141
238
173
206
300
157
194
156
233
236
239
170
155
246
183
187
155
173
262
221
218
207
173
174
239
254
182
178
216
150
217
175
143
155
162
206
184
203
145
214
181
224
146
189
184
163
185
115
192
202
181
145
129
133
191
147
133
222
251
170
210
173
165
187
169
225
143
176
182
157
213
189
201
230
145
158
181
223
190
173
180
158
160
178
155
184
191
115
191
166
227
249
228
176
130
249
173
221
179
204
237
204
133
180
176
246
217
275
143
128
263
202
182
178
230
182
146
172
240
255
232
179
191
230
176
209
199
219
144
184
211
160
238
210
130
205
206
173
130
185
195
173
264
198
200
157
191
225
177
218
164
164
176
267
180
115
143
161
200
138
146
173
200
205
191
204
159
146
204
158
130
158
179
258
173
208
175
217
146
176
146
178
217
207
214
192
158
243
130
200
128
262
217
212
210
199
216
158
204
180
231
196
228
197
202
157
221
204
115
128
194
200
260
176
168
152
183
155
202
191
181
225
176
209
188
183
153
212
149
160
180
231
214
217
231
240
191
208
174
115
130
204
161
181
173
242
129
211
146
173
185
133
150
146
201
152
156
228
164
281
320
130
226
156
181
130
163
215
283
210
214
186
216
176
160
191
183
173
156
184
239
144
132
211
237
259
151
170
173
173
179
176
168
248
161
173
173
150
173
205
227
169
194
173
190
196
152
144
176
228
181
129
157
179
237
231
161
225
180
128
207
150
239
166
151
186
247
152
166
210
168
239
214
212
145
181
163
248
206
252
176
188
138
115
193
162
122
198
217
206
210
211
203
183
199
174
115
203
129
171
210
178
220
129
186
254
155
141
194
179
162
190
168
202
183
183
202
195
218
128
189
211
162
146
155
228
206
213
146
193
217
190
204
206
189
195
149
207
169
288
176
183
141
146
195
219
162
196
225
226
191
217
173
129
200
192
145
115
265
190
176
198
264
130
222
160
181
217
193
224
129
133
170
244
129
257
263
198
222
201
214
173
204
183
167
201
146
143
162
161
191
189
178
342
166
182
157
212
146
195
182
195
172
130
155
211
158
219
158
251
195
213
217
266
143
166
166
130
181
217
205
181
193
130
226
145
166
202
115
184
130
205
146
215
236
164
210
229
194
194
146
183
190
281
186
204
164
215
217
221
178
157
129
183
236
169
129
172
130
205
209
169
182
169
129
186
192
162
206
195
158
158
201
234
184
227
170
215
244
185
169
181
209
180
160
195
225
145
150
158
187
230
282
200
240
224
158
211
192
191
183
276
169
129
259
168
155
191
164
214
157
160
161
172
188
167
159
214
190
190
180
204
255
204
174
162
155
217
244
205
197
209
204
201
130
216
201
161
129
210
213
265
222
256
191
177
133
180
173
184
198
170
247
174
248
271
155
181
164
178
188
173
215
160
207
173
143
130
173
158
157
225
150
189
201
251
187
186
262
180
146
249
151
153
250
201
192
115
229
238
133
164
211
164
153
269
190
146
146
277
225
185
146
146
211
195
222
145
155
188
194
183
219
191
160
180
171
202
206
164
214
185
153
211
180
180
226
192
130
247
205
161
221
129
239
229
244
181
180
183
158
155
156
224
209
173
226
163
158
160
168
210
183
178
195
243
202
176
217
158
188
162
248
240
201
197
206
264
176
203
242
211
187
174
190
174
230
169
254
192
181
200
143
189
160
165
189
204
153
176
197
168
141
164
122
193
191
243
191
225
176
162
164
335
185
169
247
174
133
141
213
133
210
171
161
225
129
172
168
190
228
210
221
211
169
242
187
122
209
194
188
226
130
184
209
214
256
219
186
204
183
202
115
210
192
245
161
119
221
221
204
191
190
168
258
149
158
194
217
192
156
129
164
173
184
178
151
138
170
190
191
270
222
230
207
238
225
216
202
248
130
249
168
175
146
327
192
162
190
162
181
129
189
171
181
210
211
162
222
174
185
176
201
167
133
165
218
185
173
222
206
257
168
173
143
181
178
179
179
225
190
195
173
143
222
187
169
211
208
190
269
115
256
202
194
168
188
217
178
183
211
146
176
174
206
168
115
199
152
258
190
255
260
115
199
165
188
141
221
195
145
240
145
146
240
130
208
181
130
176
195
190
170
158
254
146
180
219
173
130
214
210
211
208
158
260
222
263
222
145
202
173
200
263
210
184
219
184
217
189
129
222
230
130
217
197
283
179
195
211
179
238
181
176
146
205
178
129
192
146
272
179
166
173
221
211
210
229
164
169
153
257
175
246
208
211
206
275
200
176
206
239
242
219
254
230
130
300
191
194
254
158
173
146
205
156
138
179
200
178
182
175
180
189
236
174
133
176
200
173
181
212
166
204
206
173
164
178
130
161
248
200
229
254
227
216
243
146
204
194
225
176
218
191
145
175
262
193
145
151
270
184
178
185
178
174
173
214
200
210
162
143
216
155
181
198
188
159
179
182
146
164
146
130
201
129
210
294
232
202
199
222
143
217
238
129
183
146
143
228
227
176
225
159
199
173
173
259
227
187
237
263
151
167
225
224
149
189
167
280
217
176
149
180
129
176
162
200
192
214
122
146
176
209
251
176
200
263
210
228
152
145
247
219
133
129
146
173
202
188
237
173
204
214
180
179
146
204
227
221
164
172
176
184
175
158
176
273
230
204
226
145
229
195
216
214
199
210
183
189
174
230
231
188
162
240
173
160
266
210
189
143
256
283
225
169
188
192
164
252
168
129
160
115
191
197
250
192
206
193
130
172
129
211
188
279
164
211
205
150
211
223
232
240
218
145
203
133
204
184
209
238
191
160
244
231
211
210
191
173
156
204
152
265
218
130
170
155
215
259
198
223
189
238
191
211
185
171
221
217
201
228
168
169
143
193
168
182
179
224
195
197
176
159
211
211
176
158
238
203
220
278
213
185
239
185
196
217
211
243
192
188
208
191
204
172
204
206
227
218
191
198
218
210
158
239
176
253
179
141
205
189
211
207
237
201
168
217
233
251
239
219
202
164
246
143
143
246
138
236
222
143
205
216
246
237
185
217
190
192
173
220
263
202
254
229
163
224
166
144
200
178
182
254
181
200
246
146
129
129
183
204
203
129
221
181
143
174
151
130
129
199
208
204
206
163
177
169
143
211
213
224
226
240
209
198
184
205
180
276
178
203
290
239
256
143
207
129
146
199
222
162
158
206
217
217
161
176
230
287
159
224
210
209
145
204
252
202
168
152
156
204
237
238
173
178
173
232
257
231
222
221
191
237
146
166
206
146
162
202
189
300
183
172
146
176
154
230
230
191
221
233
152
190
197
202
180
188
252
203
156
222
306
202
158
173
198
130
129
138
203
240
225
188
182
169
164
129
214
201
144
176
173
159
156
195
201
173
270
217
204
259
201
237
156
130
161
192
164
236
193
153
203
225
130
261
146
183
180
199
176
231
159
151
183
216
184
207
200
230
212
187
187
249
161
129
247
173
191
176
133
129
146
182
156
174
168
176
283
244
208
234
207
198
209
183
128
222
241
217
156
231
173
201
228
189
179
247
210
173
143
266
299
150
205
122
164
238
243
158
206
246
176
190
211
219
282
271
178
217
158
158
207
217
162
204
194
178
210
129
204
204
155
229
176
200
217
240
200
174
238
209
202
210
169
155
129
179
202
173
206
190
183
195
217
209
219
245
178
185
257
192
127
321
231
211
211
230
237
172
147
185
184
211
212
201
210
185
218
188
237
177
158
180
201
203
186
208
214
210
161
260
233
169
186
166
161
272
130
229
231
194
173
146
155
156
209
246
202
215
206
219
234
152
237
205
191
187
192
204
143
138
243
170
204
174
218
200
204
122
191
150
237
146
225
176
256
178
189
122
228
187
209
200
201
141
217
240
157
168
236
229
184
187
189
129
283
130
176
173
223
170
210
122
207
146
200
213
149
231
158
183
143
129
207
178
204
205
183
247
146
238
198
176
198
201
162
230
133
200
130
230
166
143
228
266
184
205
145
212
210
115
250
208
188
190
174
216
164
170
210
179
156
182
162
204
173
192
195
230
180
168
178
179
157
225
236
200
205
204
179
195
165
175
115
133
200
119
173
151
190
180
159
169
173
145
145
158
181
146
254
141
200
161
146
143
228
176
198
216
184
158
180
200
186
155
219
197
248
217
236
238
260
184
210
227
211
249
168
143
180
236
185
179
205
226
145
257
178
186
225
165
146
145
197
191
185
295
201
205
206
225
132
202
146
194
173
151
146
191
213
202
176
171
133
230
221
146
179
300
236
146
143
176
206
241
183
141
184
246
179
159
176
192
169
209
150
181
169
198
179
168
145
169
199
162
181
174
202
196
179
188
262
231
201
143
173
175
217
272
210
145
201
129
203
155
204
202
169
153
239
172
239
200
185
254
221
206
133
234
115
190
171
246
167
239
182
233
133
191
150
130
173
148
168
190
261
262
188
164
296
115
221
129
243
168
176
246
279
212
196
195
203
212
243
185
175
171
146
246
187
230
239
185
208
201
173
206
151
206
122
170
173
303
245
156
234
238
157
176
158
177
190
210
160
166
237
225
179
183
173
210
249
233
184
182
238
182
269
129
230
254
192
253
184
204
152
177
178
203
210
155
143
162
169
185
192
170
181
170
242
235
197
176
129
169
245
129
195
182
143
173
206
230
210
194
245
247
279
185
204
261
133
115
129
210
247
203
170
161
183
176
166
190
217
217
256
173
172
146
195
224
176
249
176
240
177
244
254
210
204
174
149
160
216
130
130
206
145
195
243
146
183
172
185
178
193
160
173
302
191
209
227
176
257
178
194
160
184
129
238
176
256
168
211
182
204
211
198
171
249
130
129
182
224
248
129
158
173
240
204
249
122
219
177
191
157
200
183
238
202
169
193
188
179
156
215
303
221
160
227
176
172
222
195
146
249
183
240
252
187
190
173
214
222
239
214
140
173
169
143
141
166
155
186
215
133
129
247
210
182
133
229
179
162
207
180
239
184
248
174
214
176
211
236
194
158
130
164
231
264
179
176
173
157
174
248
130
150
263
202
186
129
185
211
184
241
259
129
221
162
191
184
194
204
156
219
151
185
202
252
168
210
129
133
149
164
145
244
190
138
162
143
230
247
205
186
173
254
191
151
156
185
202
122
198
141
172
122
122
202
162
162
179
183
153
184
181
271
235
173
192
171
203
145
129
229
143
262
206
155
188
218
238
218
204
195
167
129
209
173
283
200
190
133
198
195
230
206
292
188
211
140
169
175
129
217
129
145
189
238
169
156
162
212
229
115
226
209
221
203
155
152
159
130
178
234
184
158
213
133
193
202
256
145
174
158
250
214
178
115
237
129
230
204
149
174
146
180
205
236
222
200
236
199
145
249
175
205
259
185
138
198
176
214
184
170
263
170
210
235
191
158
230
156
212
172
160
162
202
170
130
173
239
130
269
225
212
170
150
212
164
178
272
200
202
210
180
214
162
164
236
132
150
217
170
212
200
211
143
246
157
175
211
159
203
130
160
244
180
177
214
210
172
211
213
146
158
179
150
191
184
179
201
173
201
182
201
207
297
234
261
174
201
164
204
217
198
146
240
172
143
217
129
199
192
173
179
133
146
162
217
184
181
168
153
172
239
173
145
200
209
185
176
203
211
185
211
205
244
167
197
214
236
143
162
171
250
166
130
146
130
302
200
236
173
183
259
228
182
210
192
200
205
146
162
162
146
166
230
174
221
146
240
162
162
180
264
159
248
173
198
146
185
216
178
156
205
172
200
211
222
203
217
172
188
214
129
176
152
200
204
213
221
159
177
214
185
228
162
143
242
182
138
129
178
204
285
202
145
201
173
138
151
138
204
206
210
133
191
200
160
212
146
148
228
191
185
237
201
173
184
211
178
178
146
244
210
176
174
239
184
149
192
184
217
144
171
143
199
264
173
180
239
166
202
161
185
130
213
193
172
224
283
214
217
145
274
186
167
210
225
146
115
212
206
191
132
256
194
143
208
182
202
170
173
258
145
187
199
162
179
151
195
150
163
265
146
266
145
180
244
129
189
255
152
259
223
232
229
212
175
145
204
179
176
205
175
182
272
162
169
263
247
179
146
150
188
209
201
217
164
201
169
158
228
256
174
129
166
191
205
158
234
129
209
200
221
233
152
129
176
210
168
171
199
151
292
256
215
193
176
239
164
177
173
138
186
156
211
128
179
178
144
202
204
213
180
230
164
146
202
184
146
217
168
168
175
230
170
213
173
200
193
172
162
179
179
227
144
268
141
282
133
130
316
173
188
184
169
198
182
146
180
150
219
263
209
171
133
146
204
208
199
267
177
152
230
304
204
276
158
143
225
145
122
225
130
201
122
184
149
229
165
193
200
221
173
296
265
217
180
180
207
179
208
201
204
164
247
146
211
158
129
145
181
188
273
144
206
256
187
215
184
191
221
230
186
188
233
204
174
130
176
224
180
224
179
158
168
225
201
182
209
244
233
218
179
202
233
143
210
176
115
203
179
177
144
199
130
180
218
237
155
206
146
201
238
146
189
182
173
220
235
311
161
239
225
146
227
191
182
239
210
260
202
210
146
138
173
249
222
224
204
258
257
201
143
251
249
151
219
206
174
167
183
185
179
238
175
164
232
145
156
184
183
172
195
173
205
130
189
202
178
133
236
175
152
222
179
155
185
185
204
173
204
247
206
206
182
178
143
130
255
173
188
180
236
186
193
239
182
226
115
164
235
252
234
227
217
258
215
210
233
217
187
178
238
178
253
211
204
198
283
236
143
279
129
206
176
203
230
218
204
160
168
218
191
130
194
210
183
201
185
170
236
181
167
204
318
199
184
201
159
184
181
211
163
133
191
216
259
207
153
173
246
200
282
167
184
206
115
162
214
191
145
145
181
181
173
238
145
155
242
178
146
181
204
217
115
196
224
244
222
204
183
246
198
115
217
171
133
243
181
191
181
176
215
220
178
158
233
225
211
201
193
198
213
225
129
166
234
239
205
176
217
144
200
204
189
192
180
191
143
186
191
178
186
164
243
231
197
280
191
115
194
210
162
231
217
202
180
191
269
152
182
166
132
145
201
185
251
216
225
228
229
150
156
115
222
189
143
174
222
227
141
178
204
236
183
204
182
179
199
152
240
190
168
227
295
227
261
277
197
202
190
160
236
164
162
152
222
176
155
178
192
208
242
192
179
208
249
187
217
220
173
210
234
129
235
194
173
229
231
173
149
191
211
264
191
133
222
247
191
151
162
256
200
180
176
207
198
201
215
131
132
201
217
217
185
152
244
174
256
187
129
129
202
205
216
244
184
130
184
202
220
143
214
115
208
161
115
180
203
204
201
180
229
130
157
200
198
176
176
155
193
183
130
201
199
174
245
286
244
156
221
267
143
230
221
223
266
143
209
191
193
216
164
256
174
255
183
234
158
201
252
176
152
247
178
218
191
173
199
115
227
236
218
155
251
129
202
189
176
242
129
178
230
168
258
236
306
236
145
225
189
143
146
197
153
195
161
176
217
202
191
156
206
217
162
212
146
167
204
181
151
176
194
205
217
222
141
206
223
133
239
213
272
210
225
178
202
274
203
146
236
190
129
185
162
201
210
132
253
193
276
259
236
186
193
181
186
130
128
225
231
219
206
184
264
204
221
273
232
128
180
335
175
195
130
200
170
179
173
244
193
205
178
266
208
160
164
188
176
204
173
180
223
145
209
192
147
197
252
200
217
216
191
263
214
172
170
224
129
234
187
170
258
217
130
227
287
203
159
157
197
158
146
161
228
164
210
146
168
227
233
150
164
162
198
192
222
187
204
238
202
264
264
183
144
146
170
162
238
221
182
190
230
229
176
241
185
230
228
133
252
168
193
115
119
143
236
122
266
230
157
229
231
181
211
208
133
168
138
161
145
130
188
228
215
203
217
162
190
186
229
170
174
190
191
173
183
183
178
300
130
204
214
191
272
179
219
238
192
173
156
223
217
181
115
229
261
235
204
188
243
201
335
243
230
173
183
230
246
169
221
200
201
184
185
130
261
204
201
256
261
237
186
189
166
179
164
194
206
179
185
193
166
183
209
202
146
258
133
198
131
229
161
194
194
197
239
213
179
171
270
210
222
166
207
173
177
130
295
166
187
157
115
239
203
201
210
216
206
167
200
209
176
252
259
183
206
227
179
164
277
268
204
169
217
189
261
199
198
173
263
229
159
179
164
200
164
215
250
179
204
173
155
204
244
179
202
191
206
155
191
230
261
237
173
157
145
255
162
153
214
235
130
204
166
209
173
216
156
133
224
129
169
217
205
202
206
161
266
219
160
221
239
160
129
171
206
230
143
244
211
214
204
207
175
188
174
229
170
238
227
242
236
202
230
246
170
151
238
169
168
187
198
214
173
230
185
258
253
141
201
115
188
176
129
216
194
180
239
122
194
129
180
171
243
181
146
180
158
230
176
200
191
256
146
230
256
185
227
252
129
180
199
204
189
229
176
254
130
169
182
176
179
191
202
166
194
133
169
208
221
160
191
141
146
285
141
179
195
330
245
210
183
276
178
196
210
248
187
208
176
146
159
203
193
182
212
183
250
169
217
152
240
186
201
196
168
177
215
115
179
129
183
204
203
133
130
173
214
145
173
173
176
176
163
191
187
211
180
185
223
181
200
210
147
192
255
168
115
222
209
236
173
149
133
143
238
253
130
207
238
201
231
182
211
218
239
198
190
210
128
119
206
180
193
155
168
217
157
289
156
238
166
172
206
166
162
244
119
156
270
247
222
143
186
210
240
201
211
229
115
230
214
145
263
225
122
168
231
185
190
221
169
204
278
175
217
255
158
245
202
129
215
130
233
191
173
254
232
231
228
129
158
150
187
143
183
184
235
143
115
179
207
224
185
188
143
174
129
185
188
218
208
168
223
161
178
269
210
200
215
233
174
168
228
143
115
222
189
178
146
210
270
190
146
206
211
205
161
147
191
181
208
194
230
239
183
214
147
225
171
173
177
129
150
261
181
179
228
122
217
202
184
130
201
197
193
225
206
146
149
173
146
130
210
222
168
202
214
130
294
211
215
133
186
141
227
210
208
183
193
216
272
206
203
162
258
224
176
190
204
206
182
183
175
138
173
197
217
186
151
175
188
203
203
180
229
204
202
146
236
169
150
226
204
164
179
115
192
187
228
213
206
168
130
151
255
193
176
129
272
157
129
158
251
233
160
203
130
236
166
203
183
235
197
162
185
199
169
168
155
178
210
271
169
194
221
238
158
220
215
204
169
166
146
129
199
180
193
212
168
208
146
231
182
173
182
230
145
164
236
130
200
178
189
225
153
161
220
145
185
232
183
186
238
252
129
171
227
146
129
236
164
160
188
162
200
190
199
179
182
162
145
172
129
129
217
217
145
213
227
181
224
203
151
179
220
200
201
241
172
138
184
236
162
212
175
133
164
255
237
200
180
194
146
194
262
186
214
173
184
143
199
158
202
232
139
122
178
231
150
157
184
129
143
115
210
133
219
179
230
173
166
208
181
130
166
173
130
209
211
164
207
204
155
153
151
198
166
204
156
146
186
170
222
170
254
130
163
276
206
204
225
168
240
189
242
255
206
204
156
241
256
146
300
181
217
115
176
288
202
168
146
169
173
206
238
216
223
219
143
138
169
194
198
149
161
227
230
132
184
236
204
170
173
115
285
238
183
234
146
166
176
184
129
204
226
259
160
173
182
173
242
141
176
158
220
171
246
173
208
146
212
231
212
141
176
146
179
217
241
183
211
249
173
208
217
169
160
182
201
251
180
156
204
217
179
160
239
212
129
168
144
218
165
146
183
192
192
129
193
217
157
200
193
192
174
173
203
204
228
236
183
184
264
138
187
177
128
174
129
209
185
191
173
231
239
225
229
225
146
235
180
182
210
155
241
231
158
248
145
272
227
172
138
173
133
130
146
183
221
200
201
133
168
206
145
269
189
176
217
180
246
199
199
221
202
155
225
172
173
202
191
234
162
190
230
151
202
215
208
138
139
258
191
238
173
210
243
252
182
115
175
168
252
182
249
150
247
146
270
182
304
213
201
204
183
141
183
225
217
229
146
119
149
131
203
200
165
211
239
201
200
173
259
196
153
202
169
171
230
206
138
162
254
221
115
239
241
168
184
180
200
217
188
218
191
128
176
234
219
204
206
129
199
204
170
145
129
163
275
216
179
157
177
204
166
141
192
234
140
203
261
182
185
151
144
191
200
190
201
176
185
180
303
204
189
198
200
156
179
203
258
145
267
152
220
179
279
130
239
189
222
162
223
204
143
239
230
227
212
144
183
173
166
189
235
211
115
283
174
130
204
190
191
184
174
219
176
204
161
158
222
210
191
211
204
202
192
188
204
130
185
166
217
155
195
202
164
247
194
180
217
211
245
184
183
130
204
168
184
133
130
173
242
150
183
155
213
164
260
115
206
225
197
217
236
241
230
206
203
115
200
197
145
202
145
230
153
181
193
185
248
197
231
173
173
256
228
202
156
129
176
129
238
195
242
184
146
146
214
146
206
221
183
208
271
146
164
168
178
204
127
173
238
210
170
179
290
264
209
182
238
206
145
208
129
158
130
227
204
202
193
270
128
277
150
219
176
204
234
217
172
184
222
194
210
199
119
191
130
176
186
238
122
155
172
129
191
210
129
173
145
236
189
231
225
162
264
130
211
211
130
181
206
175
199
206
168
187
152
219
179
202
178
272
206
130
187
169
254
230
168
129
191
176
150
202
239
205
217
230
197
188
178
129
217
129
229
171
180
133
145
176
266
206
218
129
184
171
250
201
213
231
145
173
130
217
182
172
143
167
249
173
141
229
129
186
204
173
184
313
201
231
227
150
129
236
202
230
218
185
180
186
183
232
171
168
262
130
185
130
230
156
187
133
194
178
172
203
214
155
191
230
287
213
162
248
179
173
168
183
222
147
221
158
164
166
210
231
173
231
201
217
195
158
200
247
176
211
149
173
192
246
207
211
247
159
201
169
179
246
210
200
182
230
176
211
294
179
129
234
146
209
193
237
273
248
195
169
138
129
155
217
250
189
192
164
152
202
129
145
173
164
217
206
115
146
217
180
191
210
218
202
130
244
260
152
153
209
205
133
154
174
216
201
165
219
191
191
234
210
184
209
216
129
138
158
179
266
179
200
164
211
161
133
141
228
239
145
178
255
256
193
201
182
199
239
179
185
179
204
178
179
228
196
202
215
186
220
174
188
195
173
185
188
193
190
239
177
245
149
226
176
281
193
174
219
270
162
229
238
222
214
210
219
176
263
156
294
251
161
206
191
245
259
141
179
181
182
162
167
164
210
217
191
167
173
180
198
129
179
202
226
376
215
165
187
115
175
179
211
168
217
206
226
254
238
213
130
239
209
242
238
210
158
211
146
224
156
230
166
220
219
187
206
202
166
180
133
303
263
207
162
203
235
217
198
263
246
204
115
299
180
145
207
206
129
178
194
169
129
158
175
168
173
186
236
201
147
158
181
230
160
187
274
217
278
221
232
197
249
206
198
197
145
239
154
236
173
184
204
239
176
183
119
173
115
146
265
129
201
145
286
133
173
187
228
255
115
228
185
185
335
236
155
198
208
164
176
179
151
130
174
202
263
221
155
211
173
260
160
184
180
203
174
236
185
130
145
190
162
201
246
130
210
245
175
174
161
166
129
161
217
157
176
206
173
255
243
197
195
143
164
236
202
130
145
238
163
247
191
184
160
169
217
160
129
204
162
174
153
180
245
175
256
231
149
211
130
258
264
183
184
206
167
206
230
218
145
146
230
214
185
236
182
168
173
216
146
217
156
214
146
185
175
155
144
264
186
141
230
158
130
168
204
115
242
158
143
145
213
176
214
183
201
158
211
209
183
176
192
245
191
173
238
205
176
158
255
191
230
204
189
183
115
191
197
182
167
200
192
190
129
119
205
164
211
182
193
155
150
273
164
169
234
204
132
141
190
211
217
203
204
203
201
282
221
181
257
210
157
155
206
230
146
231
180
222
240
151
166
203
200
214
207
268
223
234
146
237
190
182
162
129
232
129
176
145
206
157
184
168
164
279
226
211
229
224
173
171
178
184
263
129
164
184
177
219
239
200
130
156
160
255
209
149
221
193
147
184
129
182
138
177
145
200
146
204
162
201
176
191
269
183
221
154
214
184
161
174
221
173
281
129
247
238
241
168
143
218
130
224
129
222
133
233
168
155
146
173
164
200
211
202
146
170
172
204
170
143
233
186
183
190
133
132
183
189
206
214
169
130
235
164
206
207
258
176
176
138
182
129
270
234
206
129
243
141
184
206
166
193
246
200
217
202
185
186
175
164
204
182
168
242
217
171
201
275
169
222
225
193
178
206
220
190
258
159
180
236
169
238
184
174
233
122
141
172
177
204
161
133
239
241
217
198
257
211
164
172
186
146
190
164
214
176
168
217
257
210
193
162
176
173
177
193
275
176
164
162
119
185
212
204
230
256
130
250
211
217
222
198
143
253
145
183
166
160
197
227
201
233
168
186
122
225
184
182
191
198
249
130
176
156
236
184
217
177
183
140
225
178
242
185
169
303
239
180
152
129
170
122
129
230
173
285
231
207
158
254
156
184
176
218
292
133
158
202
195
185
133
167
219
207
217
130
187
164
265
238
195
183
179
208
286
183
129
177
247
236
222
209
146
213
229
128
189
152
170
208
182
166
210
130
236
236
204
173
174
211
133
183
164
241
166
159
300
187
191
133
250
133
204
227
182
162
188
209
186
204
157
172
191
129
180
236
206
230
230
176
201
189
168
244
155
258
233
141
129
236
179
129
210
239
201
173
146
188
172
231
130
214
229
239
167
144
130
129
231
115
182
191
179
222
184
161
169
204
122
132
283
193
249
188
162
224
179
207
146
237
186
213
207
220
173
183
264
176
228
166
200
204
161
203
170
186
210
146
204
270
258
225
231
201
129
227
176
217
228
181
176
209
185
247
130
200
132
179
205
221
172
265
215
200
168
187
182
202
259
266
166
177
225
204
173
164
163
175
204
181
227
205
163
185
202
207
143
239
189
162
193
217
255
166
200
211
130
228
219
211
222
176
178
201
176
217
169
199
130
182
200
233
220
196
191
180
141
229
158
162
232
173
197
234
145
168
115
229
195
169
195
184
204
199
184
173
158
156
130
200
275
226
235
217
202
186
244
213
258
191
143
173
204
200
235
223
206
261
204
168
133
182
311
208
230
256
205
265
173
198
228
130
201
231
168
185
176
184
146
173
204
155
141
198
158
151
189
204
274
170
212
225
255
150
167
247
232
198
184
190
195
183
184
184
243
221
145
196
211
181
130
210
191
179
131
321
130
206
243
300
259
171
162
227
191
141
217
173
143
164
158
130
335
208
222
211
161
179
214
130
158
225
288
246
195
211
200
173
146
215
199
181
173
211
238
223
130
146
164
158
265
185
230
175
199
130
178
242
160
181
146
217
224
211
202
203
178
180
204
307
204
217
185
143
231
208
267
166
159
241
184
231
191
122
189
169
176
161
238
205
211
171
212
232
238
186
207
211
145
176
162
183
266
234
203
146
133
130
174
247
185
171
201
244
190
201
287
246
157
180
162
184
166
179
210
211
146
204
158
193
244
252
254
201
183
320
238
188
275
133
207
164
130
246
264
247
164
203
169
201
201
217
167
130
211
138
201
146
211
199
163
230
184
252
200
233
170
184
150
218
189
217
216
179
189
217
198
167
204
212
209
256
162
168
129
181
201
156
183
162
211
211
168
156
209
164
206
171
210
225
129
157
185
156
230
184
204
255
233
270
226
217
184
173
222
129
130
187
180
201
215
221
233
233
225
234
213
176
184
208
156
198
184
168
130
190
176
176
236
122
188
178
169
151
176
218
284
129
190
204
197
173
216
179
201
158
145
258
203
231
220
185
230
217
129
188
178
261
184
146
195
191
191
258
243
204
221
130
205
193
175
206
247
155
146
176
162
162
146
156
164
217
242
218
167
239
203
143
184
198
162
205
187
191
189
184
230
210
212
204
129
130
205
231
129
115
185
177
146
156
158
169
115
180
182
153
182
119
235
163
221
236
164
217
246
179
146
171
188
251
182
173
115
133
243
235
156
239
179
178
161
195
161
221
244
164
214
249
211
146
129
206
146
196
194
128
223
218
200
186
219
241
200
335
170
147
238
147
205
209
178
130
168
160
185
191
164
146
164
236
177
174
203
169
168
230
183
191
269
184
180
146
210
194
164
207
199
227
146
188
264
225
239
210
234
201
203
261
188
217
162
133
210
201
221
243
229
159
187
176
176
185
239
179
138
217
217
202
182
262
188
205
264
242
184
221
146
184
217
237
223
130
209
247
132
242
238
201
207
204
190
122
168
230
210
210
133
263
171
184
173
156
209
209
188
217
176
188
289
258
217
176
184
283
183
182
115
162
146
230
247
196
119
256
179
202
176
230
248
216
202
129
235
238
218
188
164
236
173
190
239
239
158
169
172
178
229
255
203
264
206
254
146
201
188
213
184
227
237
187
188
192
179
133
216
204
204
180
275
201
115
210
289
206
169
210
254
218
130
188
159
176
182
205
169
211
166
176
268
287
143
251
164
129
180
132
174
138
217
234
182
162
178
170
211
205
146
130
176
162
185
204
178
184
232
273
151
160
236
176
189
203
181
164
262
237
160
225
253
217
179
173
230
186
156
222
202
145
185
218
176
285
133
205
122
204
187
143
303
191
130
129
251
217
183
212
204
257
229
129
176
272
153
183
129
254
129
272
212
182
176
258
210
200
215
187
173
202
130
155
185
164
168
201
191
199
174
141
236
156
128
201
128
169
185
173
169
158
217
167
201
141
217
224
229
210
179
258
243
239
227
199
173
129
202
147
181
166
133
143
169
181
143
177
211
146
236
230
222
129
252
236
155
248
198
183
238
180
164
146
200
201
205
234
200
153
268
182
128
168
182
143
214
253
182
162
217
173
186
260
161
129
236
236
156
178
212
193
200
180
146
153
200
176
231
129
197
173
231
225
204
224
201
164
247
194
191
274
217
193
180
176
146
185
138
166
182
289
309
207
162
173
183
259
185
176
182
130
122
133
245
165
130
173
183
183
115
172
146
173
177
222
122
212
194
245
161
205
191
141
146
192
129
264
227
204
246
235
237
138
176
151
145
181
130
256
206
174
176
176
213
173
282
220
173
272
162
180
276
270
181
217
284
210
181
173
256
192
180
164
195
130
186
228
207
179
188
143
214
195
166
230
158
183
230
128
203
162
224
214
256
250
146
130
179
162
130
215
227
182
160
277
188
214
184
162
146
204
230
241
204
210
179
209
236
187
158
230
130
183
138
224
201
217
182
182
201
129
188
174
130
173
210
186
141
129
146
178
240
129
193
264
221
191
130
168
182
217
179
133
186
162
169
129
203
203
152
150
233
159
239
191
211
194
204
206
138
215
138
181
172
182
185
177
201
150
158
184
143
138
158
209
176
130
181
176
200
162
216
115
172
226
208
143
182
217
200
144
261
166
180
260
158
143
158
256
196
164
189
176
145
188
239
181
264
233
303
147
141
271
272
268
130
130
184
194
210
196
216
203
158
216
174
207
201
275
186
180
167
143
132
173
206
211
143
184
244
181
146
204
222
216
201
146
216
204
191
179
202
156
236
145
190
208
129
223
189
211
204
219
192
251
226
166
221
221
190
220
176
176
129
150
189
214
176
269
254
207
176
130
176
172
194
212
173
173
170
173
205
176
203
223
133
164
173
176
187
190
239
115
137
181
130
201
130
168
130
159
187
178
217
238
162
176
192
212
232
225
172
252
174
171
133
143
194
190
228
308
196
201
210
130
204
191
173
176
196
247
230
169
160
133
231
185
204
164
151
168
168
190
146
220
236
202
201
146
202
164
146
193
185
187
202
207
204
222
210
185
149
151
225
146
164
271
216
198
141
261
231
200
138
176
210
204
170
185
200
193
211
204
190
256
150
203
206
172
200
200
128
214
184
209
158
187
201
239
271
180
231
146
191
281
208
185
219
205
248
163
220
149
130
184
185
141
225
129
164
179
210
133
161
238
159
213
197
195
183
167
222
188
175
188
115
252
221
202
186
191
197
200
204
197
176
187
225
146
167
183
206
170
182
201
259
193
145
173
173
187
221
166
174
183
231
194
122
179
206
161
175
130
174
165
215
156
155
222
115
263
252
207
203
248
243
231
187
170
141
141
231
143
179
172
195
143
204
210
212
146
146
204
157
182
256
164
264
266
129
158
204
155
206
229
203
166
221
132
201
130
195
181
145
214
164
146
299
129
188
172
184
199
210
164
183
160
129
215
179
115
308
130
200
174
158
177
218
150
195
230
180
183
214
214
176
203
158
179
145
155
146
200
283
184
190
210
205
173
217
211
199
239
206
170
193
232
230
177
234
175
158
187
257
173
141
198
209
165
186
190
245
192
176
192
176
130
196
210
253
164
130
217
176
207
232
215
164
146
228
166
182
133
228
163
189
195
287
201
150
188
192
156
283
206
239
150
146
199
230
333
173
237
221
171
194
143
191
157
191
202
160
173
239
210
244
259
179
143
146
209
225
199
185
204
182
150
209
160
208
215
173
141
268
256
271
212
156
169
144
234
233
250
162
191
246
251
180
225
173
204
211
169
214
180
176
193
280
227
260
130
186
169
169
193
172
176
168
161
226
129
164
146
164
171
194
209
160
225
179
230
209
115
221
171
201
218
184
181
176
215
179
184
155
188
176
186
209
247
145
189
221
156
156
130
173
173
145
256
157
133
225
206
194
193
240
162
129
130
157
264
206
214
204
143
146
208
188
210
172
176
173
168
180
195
184
184
217
184
217
161
179
256
218
178
182
192
176
239
179
164
283
194
235
219
300
227
211
163
298
150
200
210
145
217
145
204
115
191
175
195
155
129
225
128
213
223
182
207
129
183
176
138
183
166
247
278
129
129
184
162
186
228
190
119
218
129
129
225
194
190
230
209
178
193
180
236
184
209
151
208
176
303
172
146
263
178
174
173
170
212
202
231
129
215
254
200
138
236
241
230
129
173
184
184
239
222
143
208
188
170
192
264
203
223
192
187
185
146
172
191
181
241
162
159
178
130
256
173
211
168
179
184
162
151
176
171
226
133
218
147
243
228
201
158
173
221
115
228
191
228
184
162
204
210
206
197
193
141
229
176
229
180
179
183
247
205
182
146
180
166
178
199
217
217
215
180
210
146
230
204
146
145
176
169
250
179
206
202
133
205
257
233
222
237
246
200
185
156
211
223
146
181
129
211
230
152
204
128
122
145
209
180
191
178
173
204
178
210
191
130
152
284
274
150
194
230
176
236
146
230
205
133
145
176
172
215
248
182
115
224
212
179
197
240
162
173
146
176
143
183
205
182
217
211
129
243
162
179
271
184
193
210
204
141
166
204
129
178
200
232
143
239
178
202
141
211
200
183
246
171
133
218
203
130
143
204
130
119
208
183
188
210
184
180
162
234
200
155
200
302
203
200
166
246
221
213
182
141
210
206
168
200
265
228
221
210
254
129
130
129
274
271
184
216
211
335
171
146
157
164
204
168
173
190
201
161
211
225
176
230
168
207
182
201
182
176
230
199
183
230
115
250
191
270
193
176
204
173
214
206
164
162
162
212
295
241
206
138
198
188
174
230
212
242
201
168
179
215
168
257
258
169
146
206
146
217
194
216
169
286
209
203
176
152
231
195
193
213
133
184
245
209
176
176
146
240
181
211
176
236
190
218
228
186
235
214
155
182
281
205
211
130
133
204
169
225
146
165
133
226
210
162
164
265
180
203
203
225
166
203
214
143
201
186
201
158
129
204
197
146
230
230
195
240
218
146
169
192
186
258
182
129
172
173
185
173
208
129
162
192
185
231
146
192
218
161
129
157
146
174
228
236
129
231
227
167
179
152
162
202
130
155
190
225
133
158
199
191
241
130
177
173
151
194
188
129
160
180
210
157
130
146
191
209
178
115
194
179
212
200
194
211
230
143
238
149
165
230
181
240
170
258
202
164
153
204
256
130
218
210
221
219
201
185
242
146
174
182
200
274
143
197
264
163
176
146
171
147
133
162
201
232
180
222
196
181
200
216
201
280
245
171
214
173
176
174
196
175
269
192
165
188
214
285
210
133
173
161
187
217
130
267
214
227
230
180
262
236
216
263
179
189
243
173
195
192
174
197
155
240
192
171
262
157
200
234
185
146
191
141
133
231
130
224
266
217
133
146
128
195
158
156
176
189
160
202
133
160
210
199
170
216
160
224
183
185
168
246
146
149
238
214
130
158
309
201
151
189
207
115
168
176
115
191
168
133
122
214
202
183
168
170
261
259
262
173
173
205
204
183
294
174
192
183
236
211
251
179
177
275
141
247
168
173
190
217
243
208
285
217
176
224
146
119
176
219
193
235
146
158
230
200
176
191
296
168
173
182
226
216
217
165
242
258
173
115
212
191
129
176
264
161
141
141
132
273
130
129
202
176
186
166
201
176
178
199
220
152
145
122
184
184
204
129
256
299
150
254
198
234
208
269
200
161
243
141
313
173
152
236
189
145
277
155
146
132
180
184
211
207
185
115
217
184
273
182
176
248
214
240
215
183
292
162
130
209
201
214
174
130
178
247
181
227
169
164
195
210
173
145
181
240
181
183
191
129
216
210
146
179
240
173
221
253
258
254
225
187
236
176
161
183
164
199
204
165
146
188
175
178
198
173
162
274
129
204
201
167
194
237
158
205
295
322
211
129
173
141
164
225
219
223
129
195
233
189
146
217
300
186
115
204
141
133
239
176
254
151
179
156
211
185
204
168
171
156
179
176
218
245
168
169
229
115
149
224
176
155
129
220
191
195
238
210
175
252
304
164
204
264
204
179
252
174
236
241
188
201
161
152
188
184
237
160
182
192
186
188
146
191
265
200
173
175
152
181
210
224
188
173
184
185
236
200
186
191
181
182
231
210
236
168
115
182
158
163
215
182
133
191
189
145
184
204
186
225
166
164
216
164
227
162
179
262
236
227
271
176
156
226
158
206
156
245
181
168
159
219
158
204
129
211
204
138
171
247
178
176
222
179
155
173
184
230
221
183
159
187
141
164
182
244
275
283
158
129
129
199
237
204
115
133
178
155
200
176
189
173
214
163
183
155
224
173
209
221
217
129
256
202
201
145
284
158
202
232
181
164
146
209
204
191
146
218
173
138
235
197
308
161
167
174
172
132
119
246
175
160
252
169
214
173
143
184
195
205
223
179
173
240
169
249
240
217
231
299
185
261
250
207
224
232
146
176
236
173
239
207
115
248
232
200
210
220
156
191
132
245
255
122
173
222
206
187
157
142
181
231
237
194
219
133
180
232
191
210
180
168
191
204
194
122
163
180
209
130
217
167
191
181
176
189
175
146
229
266
202
267
206
278
211
230
182
259
206
122
244
217
122
190
261
221
203
231
184
187
211
166
210
162
167
179
232
184
286
163
270
191
168
130
205
287
188
236
276
173
160
179
204
161
133
191
173
235
188
204
233
214
141
201
130
129
162
247
181
130
157
194
171
204
150
143
264
130
177
161
155
129
191
173
230
160
211
176
184
146
201
207
217
192
191
217
225
146
203
130
225
183
214
119
191
173
194
258
255
179
129
191
234
150
181
285
146
179
193
208
219
129
211
209
236
230
232
201
208
183
168
146
173
164
130
164
188
172
176
183
145
129
194
188
148
173
203
183
222
204
247
173
179
180
191
192
187
174
201
158
178
230
219
160
206
186
144
187
211
230
129
176
155
144
184
130
179
228
194
235
238
214
173
173
176
169
218
253
189
217
209
265
177
192
246
176
178
176
178
222
236
182
160
209
217
202
259
163
144
204
278
173
235
191
203
130
235
211
200
243
203
192
210
129
264
182
129
238
195
222
130
212
243
224
231
199
258
173
173
292
183
210
209
194
161
160
158
176
172
188
210
175
263
195
221
238
191
207
168
147
202
155
191
185
206
146
207
144
173
188
287
191
210
158
128
234
185
201
180
171
187
289
212
129
173
204
238
145
205
246
179
188
220
178
130
156
176
150
179
214
197
207
170
206
210
158
176
241
133
198
255
191
205
176
183
141
231
244
231
202
219
173
128
210
219
226
180
237
181
222
201
205
198
335
204
187
146
176
264
130
164
226
188
262
204
202
152
197
185
224
167
193
176
196
188
201
169
201
217
281
241
160
201
143
236
210
199
236
178
191
160
130
197
187
165
176
175
150
190
210
188
187
143
209
199
166
145
192
176
189
191
215
183
183
151
138
162
189
122
161
231
242
229
164
167
214
179
156
183
176
200
156
271
150
182
160
212
146
209
200
218
221
195
130
173
158
231
230
183
166
178
236
129
230
184
176
204
146
191
162
230
147
183
191
138
235
233
185
149
204
141
115
197
173
258
210
191
181
221
211
210
249
146
129
160
178
194
198
183
206
160
141
334
202
161
190
211
167
182
159
178
224
228
230
202
242
146
209
122
193
196
234
216
173
145
176
211
206
215
191
206
183
252
180
246
176
180
227
299
129
168
132
214
122
292
209
210
248
233
160
202
246
180
138
261
173
164
195
145
204
146
203
212
296
192
175
184
183
200
267
130
193
186
223
283
133
178
195
182
214
220
130
223
186
174
176
217
143
202
210
264
166
190
228
226
162
149
200
243
225
202
239
198
164
166
170
206
233
129
160
176
216
164
194
187
176
156
225
115
133
190
198
115
245
191
145
179
158
199
141
218
193
158
211
217
190
231
226
204
146
149
166
261
217
180
287
241
196
239
216
174
145
208
225
155
176
183
195
162
235
250
221
146
146
244
182
204
151
206
205
168
184
176
228
210
200
201
209
179
225
277
183
160
190
176
168
238
190
165
169
276
204
201
230
191
204
212
210
163
197
168
210
173
190
203
222
191
199
194
143
158
192
201
146
191
205
245
176
201
184
130
214
202
184
192
242
210
204
157
219
216
179
217
145
130
217
210
223
232
204
244
146
189
173
129
171
146
204
238
143
184
228
162
249
156
258
200
168
181
168
206
191
195
255
191
192
173
158
165
189
252
266
115
232
200
160
128
179
190
200
130
183
253
244
188
143
226
205
191
175
145
179
261
183
249
181
191
164
170
162
202
211
182
176
133
175
260
229
201
211
283
189
199
214
222
260
273
162
202
171
257
188
238
284
168
138
188
176
155
217
217
180
185
188
171
208
165
195
181
206
173
184
176
192
214
204
152
130
173
168
143
173
198
166
228
170
183
161
212
164
156
328
170
180
181
188
202
169
200
203
249
146
194
128
150
143
188
202
179
208
190
151
145
146
240
162
204
252
149
225
172
221
205
129
213
247
228
188
164
173
210
250
206
200
261
222
239
217
206
230
191
250
176
146
171
115
201
193
147
218
179
164
211
200
129
217
207
246
171
182
184
130
210
254
146
283
204
260
199
260
176
172
179
172
201
190
223
187
184
224
178
245
178
276
235
176
212
237
189
115
182
130
213
200
226
189
230
211
274
180
230
199
188
202
220
146
239
227
191
150
176
235
206
204
187
181
182
209
233
133
212
175
249
167
176
230
167
146
227
185
247
210
236
235
146
122
206
191
210
119
225
196
146
119
145
261
168
215
182
227
182
144
199
234
170
130
176
227
229
237
171
130
166
155
229
204
219
176
168
153
129
217
188
176
188
153
233
195
187
155
129
143
164
160
156
198
203
230
228
244
182
228
201
183
158
189
160
166
200
146
166
272
210
207
178
193
169
146
183
201
158
169
181
158
242
244
183
176
146
191
195
176
254
133
219
200
201
187
204
247
182
201
223
193
173
149
206
206
184
250
243
226
246
281
217
176
183
217
161
259
169
168
129
178
173
230
210
146
214
183
216
211
230
217
146
168
242
238
225
176
232
236
143
190
268
185
203
204
151
204
158
200
164
146
247
184
217
132
147
236
200
190
172
179
231
238
209
176
167
188
206
214
179
189
173
175
241
181
130
129
211
293
258
176
119
176
190
176
150
145
200
250
201
130
192
201
194
184
158
343
164
208
188
209
209
211
185
168
164
292
221
146
251
146
230
215
144
130
193
158
188
270
190
122
149
129
168
353
173
178
179
203
230
177
186
181
222
194
180
151
172
187
238
180
185
184
168
208
169
250
162
210
160
162
260
210
222
190
227
226
182
204
146
146
232
164
157
207
188
207
207
164
178
176
216
183
200
168
294
216
178
184
221
150
203
244
204
204
235
222
192
224
242
217
258
190
176
212
195
173
252
225
259
277
204
194
146
198
160
218
139
164
185
159
146
192
274
130
153
166
137
192
181
185
149
184
204
222
176
228
195
129
252
201
184
217
173
183
234
156
232
233
145
181
285
169
192
185
173
199
173
141
182
217
253
228
264
260
181
157
231
204
241
183
177
165
173
272
219
207
129
231
217
176
141
169
219
184
182
165
149
202
129
122
212
115
170
159
182
212
213
179
201
166
229
248
264
227
197
193
255
236
166
173
283
201
129
217
182
203
234
166
129
194
115
239
185
200
194
176
247
247
292
283
130
130
257
161
202
222
195
176
170
164
201
188
187
162
181
209
188
167
156
151
204
216
173
221
133
176
129
133
222
242
168
158
183
129
227
217
145
132
214
144
200
133
133
291
205
203
150
165
210
150
204
173
178
335
168
170
229
162
182
216
146
201
178
130
245
204
198
200
147
206
141
218
232
214
210
182
153
150
202
129
128
262
155
206
204
130
129
200
255
175
188
210
160
129
183
173
186
201
218
221
129
324
179
247
179
160
193
153
184
176
222
214
198
233
219
202
191
169
213
184
195
130
173
176
239
221
173
277
207
242
222
204
158
233
191
240
170
145
161
211
250
130
199
143
190
177
202
230
161
310
161
194
161
155
182
133
264
211
222
176
153
176
217
189
143
273
173
182
232
162
237
115
182
249
161
198
141
190
133
217
210
174
151
234
178
212
263
146
166
176
195
244
238
158
168
175
241
264
129
214
214
197
130
294
173
186
198
115
181
201
133
217
197
242
162
160
194
242
150
176
172
211
211
178
155
164
155
229
161
183
158
184
169
258
191
180
236
221
218
176
185
162
173
166
138
217
130
202
145
235
171
240
287
186
130
190
182
129
146
115
209
210
208
183
257
196
146
204
200
250
129
231
129
168
130
201
210
210
176
231
179
219
206
130
149
162
204
141
173
199
201
188
193
246
168
325
321
265
168
146
261
272
194
172
176
189
231
152
186
184
201
199
144
255
176
217
201
133
173
184
229
162
143
171
166
273
184
272
181
130
169
183
219
195
184
205
163
209
222
210
151
198
143
166
179
262
210
185
155
192
234
200
212
244
133
211
238
257
189
204
141
230
115
226
226
188
183
145
201
201
237
243
151
240
226
176
236
210
147
180
240
217
213
137
251
289
182
181
141
175
178
166
131
210
200
172
133
145
210
224
195
131
191
176
201
174
260
230
238
164
168
150
209
129
168
236
130
210
173
203
262
144
215
214
236
217
129
203
194
211
205
268
158
201
256
156
177
204
184
198
184
164
128
258
173
243
161
211
143
204
209
180
201
175
176
168
129
245
184
173
164
168
208
173
141
180
158
251
167
173
259
230
199
149
245
160
236
183
195
176
157
246
146
221
130
217
181
194
176
291
158
183
145
174
181
180
143
188
210
219
210
168
157
227
184
230
250
227
160
250
130
141
181
219
144
178
115
200
335
145
213
168
185
200
183
313
232
264
168
145
181
211
236
146
222
153
129
227
200
182
183
133
201
179
169
181
185
130
182
205
168
209
207
211
238
182
155
263
217
130
161
203
270
130
194
173
155
173
217
165
173
175
239
172
218
179
195
247
200
251
219
180
205
149
239
209
176
210
182
257
153
200
229
220
189
201
146
173
164
197
222
208
152
115
200
165
214
236
168
184
115
173
286
200
191
173
164
236
195
191
193
218
215
144
185
158
145
216
200
191
175
264
115
130
200
202
249
214
155
198
129
169
174
190
230
195
245
217
130
168
201
143
211
247
130
192
173
145
210
129
229
240
177
201
172
166
146
130
241
174
159
274
166
211
199
189
230
286
264
194
232
129
161
171
146
122
213
195
200
156
166
180
209
191
141
313
250
145
210
238
143
219
185
169
299
226
133
146
203
164
193
183
173
176
150
200
158
235
129
235
180
231
156
149
173
181
202
206
230
259
177
255
141
247
183
204
247
147
164
168
183
133
182
204
205
245
224
184
173
174
173
130
151
145
190
227
146
151
143
199
133
171
203
205
133
233
229
189
179
246
216
253
201
214
214
245
141
210
200
176
146
143
203
283
203
191
174
191
221
240
173
266
183
173
173
201
217
306
263
282
183
138
202
258
173
231
179
268
188
200
185
182
176
261
210
162
153
205
190
222
150
269
184
206
197
146
163
222
174
206
219
231
141
143
192
166
184
162
218
115
190
179
145
130
206
149
119
173
267
203
231
130
176
189
172
189
210
183
230
236
211
179
181
138
210
227
217
204
201
183
176
217
167
201
210
227
151
179
228
230
155
211
237
184
169
187
169
203
151
160
199
166
178
209
176
186
219
220
185
177
206
203
198
206
182
190
191
192
166
247
197
217
247
183
235
184
257
223
230
280
143
186
260
242
205
226
225
187
185
255
173
217
214
191
233
232
180
217
204
233
115
211
138
169
157
177
162
172
227
227
204
213
206
146
162
129
180
145
202
146
204
129
180
145
207
200
145
197
173
192
129
161
164
222
184
223
162
183
130
184
179
206
202
194
155
212
289
200
264
130
228
188
310
294
213
234
177
188
205
181
180
246
162
185
133
164
175
335
168
218
202
211
176
179
204
203
262
204
228
206
276
211
237
247
232
237
226
130
143
164
216
129
250
191
184
173
192
186
225
216
261
173
130
230
236
173
183
230
264
206
204
187
202
233
167
217
191
230
221
217
230
155
200
182
177
119
185
206
188
155
204
133
264
153
255
180
169
187
287
206
198
183
147
180
239
145
258
191
128
227
221
147
156
234
164
165
232
168
188
235
193
158
171
145
169
191
216
222
194
239
246
174
168
225
261
166
243
162
222
278
178
197
230
185
201
204
169
115
186
197
263
208
201
176
179
216
173
183
222
181
247
119
327
152
187
179
146
186
217
168
197
214
179
173
177
164
176
228
130
115
130
169
248
177
194
221
281
182
176
164
241
242
146
192
199
190
184
130
231
183
195
173
168
173
277
251
185
214
188
176
216
218
214
221
168
273
209
182
182
206
225
205
194
167
200
160
144
176
184
217
189
179
244
251
238
150
197
216
176
194
143
301
249
238
231
176
236
189
203
237
151
202
176
169
146
184
156
146
191
171
173
183
143
186
165
130
235
181
176
169
242
138
128
205
122
173
130
129
179
218
169
202
214
219
176
168
180
183
262
231
219
212
213
146
158
224
181
184
204
173
212
170
183
168
204
204
203
166
230
119
217
184
180
211
164
168
191
174
210
155
180
197
228
202
133
167
159
211
214
115
170
190
119
229
130
225
222
161
204
172
296
152
230
176
205
157
290
161
151
165
335
260
155
217
160
173
176
200
179
179
157
226
214
149
166
210
210
204
175
230
189
214
231
182
129
200
158
204
244
176
227
164
247
181
129
178
171
201
189
155
239
270
195
189
204
236
191
239
244
197
180
130
138
188
200
211
147
129
131
230
194
179
207
161
146
239
182
149
202
178
150
190
169
219
193
260
237
182
217
211
313
176
181
212
188
151
173
201
178
228
182
188
206
173
173
201
193
183
201
132
115
171
141
173
143
263
228
212
186
199
149
272
222
171
144
273
176
130
146
218
176
203
171
195
145
204
263
210
189
144
258
181
130
182
270
211
157
186
164
254
217
214
152
214
201
188
133
300
303
130
240
173
179
224
217
182
230
245
173
150
160
176
141
160
239
155
234
146
173
197
190
172
183
207
189
129
199
201
202
260
179
160
299
183
156
247
246
194
168
231
204
182
238
231
203
145
247
162
231
173
202
229
184
204
186
186
115
230
272
179
227
166
239
204
250
209
211
146
262
172
218
181
207
130
185
210
169
195
210
143
225
246
213
210
238
162
173
166
229
320
224
201
129
164
180
219
211
129
152
257
209
180
197
132
190
187
145
162
188
192
166
163
191
129
130
164
217
217
184
129
141
221
161
249
245
184
201
214
185
222
181
185
202
246
210
192
224
170
202
288
164
273
161
158
225
170
197
254
236
149
171
146
158
291
129
221
183
182
130
211
195
228
164
170
172
146
222
145
201
161
158
178
206
199
198
192
129
183
256
218
169
183
168
158
182
195
204
202
198
221
247
155
201
236
221
200
193
193
130
230
235
170
203
241
231
206
204
263
226
176
225
239
184
180
187
168
146
208
210
233
199
210
141
183
157
194
230
207
206
161
202
169
251
179
149
138
182
164
199
138
173
143
169
173
234
162
204
216
261
162
164
234
132
214
176
143
201
145
202
183
251
231
184
203
174
192
178
150
182
264
206
211
272
173
158
129
132
130
224
245
195
206
208
183
195
209
130
176
176
130
173
184
212
176
173
143
204
168
200
149
218
181
129
128
239
182
129
157
285
229
207
143
281
224
187
150
210
212
156
205
184
182
141
217
259
170
115
168
249
238
166
206
169
129
173
261
210
179
209
202
194
202
195
183
129
223
129
170
165
145
183
164
172
201
144
202
221
231
129
179
183
290
216
160
178
235
238
210
187
129
207
160
173
180
159
165
141
303
143
176
156
303
242
237
239
185
226
191
184
166
141
190
146
206
250
191
143
240
252
160
129
211
179
195
145
173
179
208
188
220
217
246
278
179
179
174
173
212
164
226
244
115
214
144
177
228
144
237
179
230
225
236
176
176
145
201
187
204
243
180
234
230
217
168
133
184
197
253
206
146
213
119
205
161
183
159
169
250
183
225
219
168
204
241
204
254
146
181
178
242
182
221
222
316
231
174
180
171
222
228
173
168
223
262
247
261
146
214
205
176
200
170
206
132
202
257
201
225
211
184
217
147
230
130
173
190
238
187
244
214
208
169
162
162
162
157
176
239
204
176
200
183
130
140
231
173
230
205
209
173
356
160
133
244
198
262
141
212
263
191
209
225
185
180
190
177
222
200
133
200
151
195
176
170
176
130
173
115
222
146
213
143
185
164
244
129
173
244
206
174
162
227
247
214
184
145
184
130
188
225
130
205
255
211
143
204
146
155
158
228
181
162
145
275
190
176
172
227
193
164
204
250
133
143
171
251
145
218
205
335
182
214
168
233
187
210
176
185
201
186
176
259
292
157
218
210
169
247
193
138
138
185
179
115
251
128
202
130
221
168
190
177
230
209
115
250
207
197
171
216
141
184
160
252
238
201
221
218
189
129
166
190
174
193
179
231
131
130
213
210
169
200
181
219
219
183
180
129
203
130
173
207
216
188
185
156
265
222
228
130
195
219
200
201
178
206
215
191
161
229
219
191
184
191
244
183
173
206
233
204
173
178
185
130
146
209
146
146
133
214
211
186
206
199
221
178
129
133
133
181
217
133
198
145
176
188
252
210
277
189
129
209
198
218
184
229
191
214
176
150
199
178
239
264
173
171
217
129
239
208
182
144
160
205
180
200
143
180
206
157
186
115
178
143
146
129
217
204
302
188
303
175
240
286
176
176
180
227
206
165
170
176
255
186
182
173
240
182
145
205
143
205
160
146
277
216
146
188
204
192
169
184
201
153
256
231
166
171
166
133
175
225
140
173
168
254
199
179
208
140
145
139
146
222
184
225
174
141
255
146
200
152
219
133
206
224
191
239
194
180
259
169
130
182
173
213
235
159
229
189
179
204
198
166
244
214
200
210
275
180
156
240
254
162
182
184
256
173
146
274
258
164
224
158
179
195
199
335
130
171
149
211
215
237
176
164
155
216
143
210
129
129
191
173
227
149
235
156
210
129
217
188
130
184
234
145
178
283
183
204
167
115
180
231
129
259
183
180
146
225
151
184
146
133
206
145
179
115
180
176
161
184
227
179
173
277
168
115
210
207
164
196
195
172
176
132
168
264
169
182
115
173
182
178
252
206
221
183
145
188
179
252
194
181
206
155
228
169
129
147
146
210
211
192
144
158
203
144
145
129
151
227
146
214
162
214
201
211
173
212
149
164
185
261
190
258
180
184
184
162
168
220
166
198
183
168
222
200
144
211
182
246
175
129
178
218
128
168
181
204
188
211
179
188
173
235
153
169
172
181
208
173
268
155
238
173
144
160
146
196
132
201
169
150
247
231
156
201
186
179
296
184
197
191
191
236
190
214
171
251
193
206
171
202
215
130
130
176
187
230
201
190
191
155
202
192
275
261
269
298
272
221
324
237
207
257
281
213
271
198
199
212
198
220
171
237
226
309
219
184
173
204
238
254
236
184
173
236
240
267
225
234
166
245
211
160
234
163
293
212
197
274
192
170
280
221
285
234
185
190
236
257
226
147
209
290
240
224
164
202
279
218
272
175
253
260
246
233
271
231
238
212
227
245
311
157
226
173
209
268
206
265
216
240
242
247
241
146
160
290
156
195
217
139
330
243
245
199
231
157
198
196
257
197
199
228
253
225
192
286
271
339
195
114
318
257
266
211
209
262
245
170
201
126
246
170
250
204
297
254
183
245
224
195
174
209
130
225
186
202
158
122
189
247
164
257
166
208
248
287
200
243
221
277
229
151
154
198
114
238
283
296
292
220
199
241
284
210
242
219
151
271
175
235
238
158
250
139
178
290
259
214
223
247
191
214
106
229
256
318
232
266
282
298
198
139
226
215
277
306
201
228
185
114
229
273
211
185
200
221
212
180
227
242
258
239
230
201
267
315
274
197
231
169
239
214
300
249
204
189
257
160
173
290
316
244
297
257
304
181
160
198
240
202
182
245
176
274
229
247
229
250
214
224
314
216
157
192
192
274
234
229
249
237
176
202
265
295
169
198
248
198
286
229
243
154
314
256
254
226
182
259
203
239
160
232
322
192
235
231
205
293
272
160
225
216
219
211
262
178
179
208
160
170
235
178
282
277
202
257
292
267
233
200
273
199
214
238
211
200
267
225
209
317
301
167
139
231
220
284
262
291
183
148
179
243
223
199
209
260
196
166
245
279
265
226
301
164
216
283
145
269
266
332
184
156
226
226
235
242
231
270
195
294
280
227
207
205
340
224
230
243
185
223
335
188
206
231
174
254
194
126
240
247
206
297
240
267
198
270
217
268
207
263
319
203
332
178
244
261
205
187
220
165
259
193
256
196
299
160
278
177
165
207
180
245
301
275
283
290
289
227
156
299
180
311
289
188
235
202
247
213
205
193
229
248
255
192
229
177
303
332
213
249
221
219
178
246
223
235
239
261
156
254
239
303
207
221
220
147
192
145
211
202
210
240
285
218
234
182
174
229
267
236
286
261
196
166
220
169
198
189
246
222
227
236
206
209
156
189
214
179
222
206
287
191
248
305
264
152
205
216
147
202
252
257
175
114
250
173
248
163
266
160
334
235
290
187
256
227
173
220
234
246
204
274
218
230
114
241
254
216
244
203
225
244
229
172
210
245
173
246
235
295
178
235
253
223
216
277
213
220
258
195
194
245
215
233
217
108
265
219
160
175
175
247
162
279
289
229
276
188
237
208
233
210
170
182
208
198
240
240
205
252
253
192
246
200
151
260
241
258
234
240
344
229
187
235
286
170
219
243
192
190
180
215
249
198
273
206
166
237
286
221
169
206
243
265
239
269
185
211
209
225
229
216
209
241
218
213
238
192
173
195
220
240
216
241
227
225
209
202
259
210
251
237
254
114
200
238
215
249
188
277
180
178
210
155
249
240
172
225
217
228
288
186
304
280
158
193
178
232
186
192
283
214
281
193
166
305
223
196
195
264
251
274
178
228
235
212
160
194
209
136
152
231
205
222
223
250
213
183
162
279
239
189
253
175
245
173
213
234
193
195
228
198
284
201
224
210
156
156
215
180
213
222
225
249
159
181
193
222
232
212
324
293
208
251
279
214
172
359
289
216
233
199
207
169
275
195
208
243
222
162
175
221
264
283
232
188
180
247
160
275
200
266
235
116
268
165
229
192
244
244
238
238
248
248
234
342
216
258
183
262
276
210
205
253
230
255
276
225
244
217
200
211
191
229
181
184
192
215
194
178
299
229
160
249
282
213
230
224
210
228
287
274
196
198
238
220
174
212
237
219
285
210
189
196
221
261
230
224
262
237
185
169
178
184
200
293
207
227
229
343
251
272
239
168
254
186
189
345
194
260
208
166
247
189
221
228
303
189
280
173
190
198
222
206
159
191
160
176
250
247
198
213
310
205
221
184
262
252
267
147
263
223
170
212
233
213
175
188
190
199
308
226
237
240
279
239
176
197
178
183
225
227
244
219
273
192
252
220
196
161
198
224
246
171
151
204
212
153
277
203
212
225
165
181
223
228
185
144
192
250
217
223
242
247
240
281
220
250
259
265
226
234
161
190
173
258
158
235
236
213
262
188
198
250
204
171
201
156
168
216
263
258
225
241
234
325
216
195
218
251
212
179
182
258
285
184
266
307
206
295
274
114
229
246
218
265
280
114
215
295
249
177
228
247
234
192
241
146
160
260
203
198
145
256
293
245
213
183
232
266
300
198
212
226
176
192
167
174
204
233
222
219
206
191
249
256
222
211
318
227
238
189
223
235
185
188
325
258
283
180
300
173
226
173
222
229
170
206
243
221
218
238
252
209
222
252
187
285
302
233
211
233
220
177
232
160
243
246
231
295
215
170
200
326
219
231
291
166
176
239
114
178
263
133
254
190
302
224
233
207
238
199
195
168
139
148
208
114
146
244
269
256
174
252
212
221
247
266
184
259
225
212
245
273
275
144
178
239
222
139
288
213
236
268
250
222
152
189
168
164
207
239
114
241
144
247
258
251
169
210
233
259
234
207
193
206
229
278
280
174
229
269
231
225
199
139
199
178
245
239
235
267
200
211
169
221
237
309
233
203
252
197
206
229
203
222
260
256
233
222
182
145
309
265
326
166
231
309
178
164
163
238
211
161
114
126
183
187
192
227
252
277
219
208
225
150
219
160
227
170
283
184
283
202
195
222
271
261
178
309
311
129
263
170
178
219
239
188
216
266
315
198
163
205
182
163
203
145
168
160
193
182
238
252
228
289
247
246
227
266
211
200
255
207
209
247
219
228
274
179
235
333
282
261
321
227
220
181
256
192
210
133
211
220
247
208
262
189
219
276
230
268
301
269
261
251
292
269
299
219
263
248
219
343
226
253
196
207
259
300
211
170
206
240
231
209
195
129
255
272
239
164
222
185
219
258
184
205
173
212
209
284
235
182
279
205
170
249
262
233
188
156
253
173
167
237
158
184
194
166
235
278
235
175
286
264
259
241
204
239
189
214
158
197
157
171
233
188
208
237
283
265
175
156
256
261
291
182
226
226
200
194
201
178
304
197
217
169
275
303
219
257
207
173
264
246
291
198
232
289
208
285
227
188
227
238
221
195
254
175
188
213
205
230
249
204
188
195
226
249
297
211
220
215
255
235
197
126
207
181
168
213
223
169
220
162
245
249
245
267
160
222
220
252
314
218
229
238
228
173
198
252
269
280
309
219
175
236
247
249
244
255
197
255
178
156
212
243
245
174
225
246
280
313
256
252
306
218
207
151
240
192
181
265
161
190
114
257
217
249
236
145
205
191
151
213
279
285
196
233
215
242
212
312
213
202
229
225
250
233
257
229
250
289
174
206
169
276
241
259
160
152
285
241
200
145
244
185
257
209
233
234
188
228
139
182
302
245
191
161
176
222
114
204
248
293
311
176
272
193
211
236
230
224
203
225
211
178
209
207
247
248
220
257
181
222
286
270
285
293
262
202
313
211
233
267
254
184
232
204
231
221
253
176
206
156
252
154
170
239
182
184
222
250
248
225
313
187
175
179
182
196
226
193
307
208
250
207
241
178
285
254
235
203
254
319
231
230
192
181
249
265
184
181
213
240
224
248
272
247
226
290
241
211
282
270
222
274
253
208
193
290
287
271
222
260
280
295
197
270
258
344
224
237
172
196
198
247
245
202
211
231
271
173
245
284
171
144
280
213
219
141
241
226
222
179
169
239
221
292
178
306
193
269
218
206
252
253
280
192
170
269
222
263
244
226
204
233
245
257
253
231
215
247
214
175
208
275
194
173
262
175
182
200
311
246
195
252
121
247
201
187
217
218
189
223
272
215
205
241
292
260
213
274
210
196
173
199
215
179
175
304
271
319
227
245
225
239
176
227
210
203
260
180
205
279
208
219
239
233
314
273
273
208
214
233
174
172
224
214
175
156
170
192
219
192
218
209
251
291
272
234
214
247
197
258
236
216
244
272
239
114
195
154
292
291
170
281
230
173
187
268
195
228
165
228
295
213
331
206
222
217
284
233
219
211
206
206
187
251
219
193
223
225
199
191
287
271
199
212
285
261
201
187
190
238
211
284
247
234
198
191
215
205
212
226
245
241
177
260
220
298
213
249
222
243
191
234
299
245
164
160
227
286
261
196
256
239
200
175
285
254
243
245
161
159
158
200
328
307
285
293
203
270
286
243
220
218
254
277
222
248
170
259
252
225
216
287
194
222
272
227
232
280
219
151
261
297
211
370
168
258
234
208
193
182
238
179
202
208
245
177
279
296
208
322
192
220
320
233
232
200
206
355
200
175
262
382
188
210
198
269
244
329
260
178
200
192
327
146
272
174
244
189
223
186
241
299
180
207
193
215
262
227
281
133
170
221
253
215
229
166
178
226
263
204
179
203
296
234
244
268
221
221
288
291
285
215
242
203
253
235
294
286
250
290
314
244
289
114
186
170
209
339
200
229
295
290
196
233
243
306
206
205
199
229
247
106
233
214
245
236
264
225
203
262
206
156
243
181
247
205
189
165
215
309
246
223
269
284
187
228
203
200
207
306
210
178
262
158
231
267
211
334
162
212
180
258
205
189
236
197
219
212
238
251
206
200
161
251
288
176
265
161
276
230
224
208
243
209
191
256
178
306
201
228
226
222
205
264
300
262
182
242
272
219
220
260
228
273
263
267
162
283
262
189
174
169
169
293
287
288
170
165
204
225
194
237
151
185
248
241
198
208
259
282
213
249
186
254
228
230
155
170
261
275
269
154
201
257
256
246
198
166
250
246
129
225
165
158
262
201
241
217
226
287
160
252
175
139
257
211
290
207
159
193
244
232
235
249
208
305
161
224
219
249
260
149
310
261
233
236
230
219
253
209
234
281
254
210
224
153
200
229
217
284
223
148
222
263
202
256
212
243
260
227
246
193
212
266
174
181
218
224
220
221
254
178
278
254
238
185
228
198
215
298
198
236
216
201
152
236
207
157
244
316
198
205
271
245
285
171
185
209
221
214
195
121
257
162
259
209
198
272
276
250
217
216
202
201
251
274
276
212
215
219
238
246
245
229
222
169
169
184
227
271
244
276
308
258
139
305
126
274
224
255
267
157
273
229
207
199
224
252
195
159
106
299
185
241
293
181
225
191
251
211
293
228
217
241
168
268
156
225
219
263
196
187
211
190
335
280
217
239
215
235
251
225
308
176
205
206
191
233
295
149
286
250
263
195
245
186
114
275
207
238
266
197
230
226
199
194
214
229
235
240
251
206
273
202
260
202
233
177
206
114
116
244
226
178
145
260
244
201
214
191
185
260
254
188
160
265
241
304
198
207
114
268
178
249
207
224
198
284
204
243
267
228
133
188
184
209
160
265
263
193
195
245
186
232
235
276
225
227
213
260
170
219
191
223
243
209
276
292
229
244
215
228
191
193
207
198
152
195
290
204
180
164
175
242
235
256
114
221
236
208
244
198
270
276
213
184
275
204
227
225
261
263
219
231
273
126
293
264
243
342
261
233
223
288
262
195
161
240
207
170
213
235
173
235
176
240
191
263
243
145
232
260
235
193
239
195
227
181
234
263
233
261
278
287
209
262
152
219
248
252
356
264
215
235
222
220
209
243
209
231
231
170
215
175
332
174
324
216
260
260
213
114
263
320
151
232
251
181
285
227
219
248
205
221
221
293
268
171
236
252
271
223
121
162
301
258
208
203
174
215
251
227
268
233
215
206
244
149
206
270
235
241
214
195
231
216
263
281
229
156
202
258
191
244
274
209
228
280
241
230
176
190
272
215
237
185
266
276
218
194
225
175
230
156
214
217
247
234
184
241
257
198
225
270
170
310
225
162
190
209
201
283
203
231
215
221
199
220
189
212
275
234
171
238
266
173
219
192
244
169
228
330
253
274
262
322
180
216
343
213
173
219
184
263
240
213
248
228
317
186
217
256
126
214
176
220
263
230
239
227
207
222
274
323
198
288
221
193
200
254
235
260
206
180
201
224
238
286
272
184
198
281
175
180
225
196
196
300
195
259
204
160
219
228
266
165
290
235
285
235
139
216
259
248
114
319
222
176
239
206
207
152
306
227
213
215
296
283
270
260
214
192
130
170
199
270
241
244
208
227
184
141
198
160
210
116
268
170
293
210
183
231
237
225
238
254
229
258
212
203
194
266
170
170
266
219
221
235
219
223
300
249
288
247
201
267
234
218
114
298
243
214
231
264
193
226
275
257
213
243
238
239
207
269
190
188
151
203
164
195
252
219
237
223
167
272
259
224
224
223
243
220
216
295
230
226
296
106
211
250
193
234
290
211
269
217
179
234
230
233
206
254
151
286
286
184
173
223
205
264
266
187
215
182
209
225
153
191
230
312
114
157
278
328
250
215
173
319
228
231
149
181
226
145
195
230
246
207
161
195
278
215
258
274
306
248
225
224
193
283
247
212
279
179
212
254
187
148
189
152
211
192
205
198
254
181
256
171
338
260
238
252
279
303
200
257
224
130
177
189
194
205
190
188
202
300
237
300
204
220
167
209
151
259
274
253
213
213
270
139
139
200
219
305
159
203
167
230
185
270
206
229
188
218
351
146
235
204
215
282
227
202
223
284
192
285
229
278
303
274
323
295
299
223
210
189
241
114
235
216
246
228
255
305
218
252
224
247
217
298
236
246
251
279
246
220
275
188
172
226
219
160
211
305
201
196
243
201
336
168
214
248
245
221
246
223
301
228
146
176
237
139
239
197
243
221
259
193
191
176
224
253
156
158
160
218
269
154
288
217
180
254
273
203
234
188
283
207
215
145
238
230
114
275
192
213
291
245
289
279
197
253
254
228
184
206
204
264
258
266
235
239
250
221
249
316
249
231
216
221
207
191
189
166
194
280
205
218
220
217
219
139
289
257
337
214
254
309
165
219
129
178
160
279
214
282
350
256
242
166
270
251
139
191
224
238
205
198
212
222
252
215
250
171
194
176
268
243
216
225
264
197
234
245
232
160
209
171
212
178
234
201
247
302
241
164
215
198
193
182
220
144
283
181
273
114
231
302
243
207
148
222
210
240
253
286
319
232
233
196
260
170
306
235
232
225
213
195
293
261
329
244
281
241
288
189
254
209
209
320
214
315
194
229
227
234
284
230
240
209
196
247
261
216
182
202
238
195
246
184
247
198
202
244
223
227
221
277
200
184
225
246
243
151
229
281
254
232
189
221
152
246
114
204
197
262
268
147
114
271
232
239
169
249
219
243
224
189
322
185
268
230
257
211
205
249
255
129
202
213
283
242
246
126
239
204
179
219
275
219
282
222
195
205
219
279
267
181
212
194
215
261
208
231
257
220
234
286
192
241
198
152
232
265
228
152
175
213
174
156
178
168
256
344
126
284
262
320
230
317
299
262
148
281
179
190
178
191
240
173
189
264
168
288
262
241
276
167
247
170
114
243
222
192
244
133
229
182
244
258
236
231
234
263
230
206
234
160
208
212
152
235
205
154
156
223
239
257
226
235
211
180
233
230
159
222
288
193
161
176
237
187
227
263
191
356
208
225
182
284
253
227
179
164
210
248
209
180
287
242
265
225
203
156
193
191
162
257
126
224
239
225
192
277
209
190
200
253
160
246
198
296
219
233
262
289
248
254
262
208
278
215
262
311
156
203
297
231
192
172
280
269
214
292
237
237
240
197
215
158
195
121
228
230
228
286
169
214
192
221
256
279
222
229
227
192
199
220
284
239
214
212
234
192
194
188
196
213
273
243
274
340
247
209
237
247
204
254
218
225
214
222
178
185
299
146
184
227
189
233
248
225
222
158
275
230
289
246
279
181
206
209
281
250
277
108
256
233
234
233
130
213
200
254
276
152
245
242
158
213
265
174
218
214
229
160
202
279
228
250
179
236
203
313
256
228
342
161
175
323
247
236
216
252
339
178
279
185
227
252
260
219
251
235
213
239
180
272
213
202
274
149
178
257
238
216
209
216
296
170
306
178
278
268
266
356
266
215
190
178
114
130
151
226
159
213
198
203
277
213
173
227
247
203
225
193
114
219
236
210
253
182
245
190
211
215
206
254
233
198
217
181
240
179
194
273
212
301
245
250
186
245
249
314
267
126
215
265
320
210
233
248
224
170
196
270
179
208
189
209
299
192
180
221
195
254
234
166
233
195
259
284
228
218
160
223
246
214
256
353
156
195
210
241
253
236
189
191
225
170
244
213
139
222
253
156
254
180
235
220
216
179
190
229
262
322
215
220
208
202
298
188
239
199
261
114
191
275
314
199
237
301
181
293
231
197
185
258
177
189
159
193
188
169
260
296
235
178
199
152
213
288
180
219
233
242
251
182
274
220
191
200
199
222
207
222
178
344
201
227
158
205
156
160
288
174
297
207
254
229
235
238
139
230
212
168
207
328
208
240
279
114
160
204
213
219
224
271
221
193
215
181
218
186
161
230
283
179
197
160
213
218
276
261
183
270
295
219
160
295
175
198
195
279
233
232
293
223
291
213
295
232
186
259
193
262
286
231
217
186
222
274
207
214
213
181
208
266
198
178
349
170
350
239
321
169
204
277
194
208
178
252
254
213
277
207
253
277
217
241
370
248
211
280
231
196
224
173
209
236
322
220
264
291
271
219
250
233
235
242
212
108
213
193
192
194
177
230
231
257
300
176
227
200
227
194
174
215
191
213
166
178
261
275
152
314
225
231
225
297
175
267
188
170
207
214
179
244
284
149
180
257
258
216
305
202
262
163
237
209
170
175
189
260
211
165
195
165
230
203
190
197
243
246
193
243
225
239
294
189
226
223
334
221
320
304
232
181
232
256
220
222
286
202
196
242
245
259
162
265
249
208
189
211
161
239
266
254
248
278
166
264
263
342
233
200
242
190
219
166
130
200
240
198
228
194
244
181
215
276
216
208
219
181
215
245
163
271
262
215
227
246
234
257
126
210
219
239
205
207
241
224
175
267
267
126
223
237
194
171
276
255
320
248
274
266
205
238
330
237
235
239
206
156
239
269
238
114
230
257
167
170
174
233
251
241
209
238
205
214
177
264
223
171
271
245
227
200
152
106
238
177
265
156
199
285
272
244
227
223
313
209
214
215
170
299
298
204
235
163
195
187
249
265
315
230
279
210
184
260
212
181
216
223
220
208
195
285
172
315
276
205
193
277
264
264
209
129
170
235
293
155
223
158
224
206
245
214
241
304
175
224
224
178
273
214
213
170
222
277
183
192
220
211
196
270
151
149
257
233
169
230
170
211
265
186
168
219
216
241
198
240
216
225
221
258
231
286
195
271
193
245
180
172
230
233
178
283
209
237
156
230
200
279
217
233
253
223
201
243
186
186
205
146
255
204
174
234
161
174
206
224
165
166
227
258
235
128
287
201
208
220
266
242
234
181
183
245
219
230
152
139
224
246
214
349
158
114
227
262
114
243
144
285
220
329
221
162
203
326
279
231
208
344
332
327
201
198
281
253
238
216
282
203
220
253
227
198
290
203
203
209
208
218
211
184
273
208
283
213
263
282
290
176
160
242
275
181
200
366
259
126
180
249
244
188
156
292
212
220
205
217
313
219
229
248
160
271
206
246
261
262
255
214
310
298
250
185
193
238
265
291
202
247
223
309
237
261
264
166
259
211
218
197
258
253
260
239
178
154
258
206
305
192
228
234
298
160
229
219
214
262
236
168
222
114
145
242
202
114
267
200
256
247
213
184
156
253
242
280
213
178
283
222
205
250
218
217
139
262
272
245
156
176
222
274
234
316
284
174
211
277
181
236
218
178
238
229
308
212
299
239
167
258
240
155
224
225
257
249
174
223
223
204
114
248
228
213
181
209
253
262
206
168
277
246
192
271
218
223
244
262
149
254
191
307
114
215
215
238
134
184
183
249
325
217
195
216
331
340
175
174
221
309
260
203
218
204
220
262
198
220
161
212
256
340
139
202
156
227
249
234
219
209
191
228
250
182
156
212
219
282
261
263
270
187
193
301
285
174
212
262
178
229
227
319
287
185
224
160
253
303
195
213
255
308
235
282
206
173
200
188
240
227
333
222
255
272
204
290
229
318
173
249
253
233
181
194
202
240
262
268
218
159
149
228
195
208
215
225
231
214
203
192
202
288
211
231
217
274
198
261
215
235
206
204
192
239
164
260
212
225
320
206
234
233
179
187
200
224
163
225
224
208
217
314
233
162
169
193
218
274
207
257
226
274
218
312
245
186
175
222
233
313
181
248
202
209
213
273
121
160
213
206
212
164
235
166
195
167
191
137
303
295
178
191
195
220
267
230
253
217
200
225
260
283
206
242
285
194
196
235
323
181
198
261
271
176
264
250
278
279
277
261
144
289
259
265
211
156
162
289
306
114
204
200
201
158
287
193
274
205
183
279
219
195
318
275
191
215
239
190
255
291
192
294
229
290
202
172
206
202
114
250
217
255
161
291
267
274
245
204
156
194
232
216
167
218
250
210
217
194
152
199
215
318
260
224
130
243
250
267
211
247
182
238
213
255
168
216
245
253
188
219
157
236
226
175
204
230
250
256
241
181
219
181
306
236
276
209
219
243
232
307
198
144
239
271
194
206
147
159
202
210
243
219
176
222
202
246
295
311
215
241
171
220
210
217
229
189
151
187
195
182
244
176
247
327
212
242
216
263
238
173
171
139
218
295
184
173
173
232
182
251
134
324
214
180
278
238
218
204
263
269
238
226
185
242
182
265
230
208
357
248
206
241
278
189
235
190
200
122
144
225
292
240
217
211
273
336
253
191
261
184
174
245
212
192
194
242
114
201
285
226
276
184
192
273
268
173
252
257
198
217
169
272
222
208
236
166
224
269
188
229
210
329
246
242
270
231
158
284
250
211
198
257
329
169
133
340
242
274
242
156
284
311
212
214
225
216
211
258
283
222
205
198
219
218
139
155
203
226
216
243
203
220
237
162
166
278
279
239
219
195
235
191
265
280
237
247
176
239
199
214
178
215
306
161
324
301
270
281
304
233
309
190
156
170
146
276
247
225
169
174
297
201
197
293
205
178
222
277
193
209
181
191
178
336
221
199
268
233
223
250
160
234
241
195
271
233
280
182
268
283
198
243
222
201
246
202
218
187
173
259
222
229
244
130
217
248
190
238
213
152
276
227
266
214
147
231
269
221
168
194
267
228
243
217
297
235
222
191
205
129
214
213
189
249
170
191
246
261
191
312
248
206
232
220
190
197
243
174
174
214
265
233
295
166
216
220
187
287
198
239
280
232
262
209
139
218
209
185
273
315
245
146
213
287
217
259
218
218
288
222
221
317
233
229
170
259
334
238
222
278
313
252
313
189
178
184
234
202
275
191
311
190
237
244
238
188
170
152
174
158
214
205
318
189
261
226
178
248
192
114
232
227
253
234
261
202
223
208
265
203
242
157
219
299
241
216
199
195
160
160
268
299
203
180
229
144
267
149
308
268
154
209
238
245
176
309
281
212
263
268
216
257
200
188
212
178
279
250
173
278
163
137
284
254
251
262
114
175
243
214
234
278
283
292
251
214
209
204
178
227
238
207
210
226
229
210
232
172
266
241
249
210
147
203
130
162
281
173
191
160
149
219
271
296
167
191
270
239
203
151
201
242
226
284
195
224
216
234
175
192
201
309
260
258
328
252
217
190
244
179
213
237
224
213
261
249
114
357
239
165
260
246
269
203
238
243
295
160
242
134
229
241
206
227
233
185
174
235
234
178
231
230
234
241
257
238
233
157
180
218
194
199
254
222
180
114
202
307
223
243
209
232
278
213
236
273
277
212
239
230
181
245
228
334
179
258
264
177
203
213
214
295
166
245
242
130
167
224
218
191
274
183
217
221
245
235
210
211
242
198
253
285
292
244
195
233
191
208
218
217
217
216
249
281
249
305
238
161
214
253
258
233
253
191
244
246
205
223
237
200
247
291
245
218
182
139
246
266
234
173
270
166
230
170
168
200
246
219
152
231
242
278
245
191
223
126
206
175
224
216
307
247
202
209
208
183
257
175
238
267
202
250
238
263
211
232
114
283
250
246
194
221
279
216
192
358
221
218
193
236
239
245
197
222
220
168
236
236
286
233
126
213
252
265
202
160
263
257
271
202
210
163
182
195
249
154
194
243
144
261
275
283
225
201
191
213
233
221
240
200
274
281
250
263
255
234
231
267
267
197
288
230
259
207
152
218
226
176
224
334
203
207
237
207
201
206
201
235
231
204
187
160
239
223
294
241
214
271
198
264
247
283
226
196
155
252
239
228
228
244
172
180
313
166
151
319
204
184
168
239
321
236
200
335
183
198
331
253
182
175
246
195
215
223
208
237
270
196
159
295
199
209
225
275
258
286
235
233
214
247
169
203
225
197
206
303
218
178
257
198
286
195
236
286
273
167
154
161
236
220
174
312
244
201
229
211
160
173
251
232
290
237
247
202
228
175
241
200
173
258
202
205
266
212
225
203
114
274
244
164
160
200
308
210
248
198
315
222
220
246
217
262
184
227
308
329
190
205
245
194
222
236
208
237
259
197
183
264
168
196
160
237
244
225
208
299
257
285
215
283
235
200
221
223
218
178
262
260
202
185
248
207
204
179
114
200
219
238
205
230
166
249
257
170
181
217
307
260
147
256
279
239
176
210
229
256
213
263
266
209
212
276
263
176
255
274
215
218
237
246
250
302
205
270
225
122
210
259
205
249
224
227
277
243
254
195
214
245
149
244
133
277
299
170
223
327
272
251
151
156
288
228
246
156
248
133
247
235
181
275
220
190
133
258
264
314
186
253
206
202
210
221
114
214
225
192
236
176
254
226
298
220
305
259
274
243
222
199
213
215
207
290
190
206
238
244
189
212
272
161
263
255
211
247
173
174
309
300
160
256
148
189
238
278
189
210
187
178
199
234
189
215
196
209
234
167
208
220
175
156
222
239
191
172
242
194
260
170
283
251
265
210
232
139
256
176
216
316
231
201
169
175
219
226
261
228
220
212
295
236
225
331
182
299
279
221
207
218
152
164
245
179
185
218
267
227
254
259
114
259
200
184
272
193
218
239
237
170
261
224
298
278
261
269
290
250
160
255
246
284
217
176
231
256
178
250
233
250
223
169
180
352
269
290
234
198
239
218
238
227
221
223
215
251
285
233
243
326
289
160
238
199
288
207
266
192
252
212
198
215
202
170
261
228
242
242
254
221
222
252
177
169
253
160
200
257
200
195
218
251
169
192
175
261
179
221
170
182
282
258
184
228
191
262
312
114
152
219
253
266
134
173
191
256
219
189
178
236
235
206
249
273
285
279
144
205
266
295
222
174
177
253
213
189
237
295
279
245
250
178
189
171
270
230
310
270
234
279
220
175
168
256
154
170
182
215
175
246
278
190
235
225
173
236
177
161
195
237
258
165
189
192
227
234
261
245
267
214
236
240
162
319
282
233
193
239
197
267
213
208
169
165
162
237
204
238
231
219
173
197
209
203
242
254
252
254
140
192
278
247
301
250
282
275
126
226
205
176
225
257
298
212
165
320
194
289
262
234
225
207
243
230
237
219
114
185
219
252
250
206
317
221
223
202
198
205
212
189
236
198
148
223
199
237
267
180
178
189
282
233
198
289
164
174
165
171
236
211
173
284
214
252
225
200
213
227
245
181
220
219
189
212
229
283
218
318
191
202
242
304
240
225
214
262
235
239
222
235
271
197
227
172
186
284
250
175
181
129
237
293
144
263
239
229
210
259
114
222
223
204
193
239
178
300
216
229
211
296
281
160
207
236
266
226
284
227
231
245
189
296
224
223
214
218
219
249
240
270
203
193
152
202
195
286
203
275
266
175
183
240
202
248
174
224
273
310
230
156
233
236
209
200
274
252
284
298
208
204
157
273
151
249
209
166
227
114
211
296
219
229
129
249
205
195
126
201
160
252
234
302
198
269
223
247
289
247
208
250
243
237
226
281
272
231
284
252
207
230
252
234
228
203
205
156
281
283
154
234
215
288
208
266
161
259
151
168
247
228
255
179
196
249
249
182
297
249
197
193
230
192
218
190
290
205
222
216
244
114
229
205
240
234
241
250
312
235
264
227
232
114
220
222
243
157
270
223
178
223
188
188
210
114
188
210
200
139
222
221
255
196
342
268
202
248
262
241
249
234
279
303
106
197
216
295
330
245
226
273
195
156
221
189
233
185
194
266
195
170
219
259
277
180
253
311
204
211
161
298
270
182
191
282
239
186
317
139
198
274
291
214
248
240
167
261
305
288
207
319
211
200
169
241
276
187
204
270
194
192
166
206
163
189
328
176
215
215
218
307
291
239
190
219
157
246
233
228
240
203
216
231
258
325
203
190
205
318
217
209
192
297
243
226
199
222
172
229
192
261
245
266
197
160
176
207
264
129
271
303
246
139
191
211
223
218
262
210
189
222
333
227
247
157
231
203
194
220
265
278
179
186
191
166
243
139
296
241
160
225
114
216
277
199
252
195
157
226
242
226
229
190
265
238
238
238
211
201
193
210
206
264
204
306
284
243
313
230
170
148
225
213
268
268
235
248
261
178
225
240
220
195
229
228
194
218
287
198
253
211
267
191
255
167
245
236
174
232
277
262
209
310
242
291
234
214
226
198
328
194
214
242
290
284
192
260
200
306
240
215
295
266
180
252
290
181
206
147
206
276
178
270
290
209
219
181
235
281
196
232
230
254
230
225
201
236
201
191
338
217
178
180
180
181
249
241
238
187
167
223
237
234
236
220
259
311
202
246
273
211
245
261
200
255
192
233
203
294
173
266
266
225
197
218
225
243
201
317
151
206
234
239
223
199
248
206
243
282
203
149
196
271
245
235
231
224
252
211
198
180
212
271
245
232
198
214
263
139
245
246
250
231
267
204
271
251
218
241
234
322
163
182
196
219
219
267
225
263
193
223
220
263
182
215
252
195
313
241
220
169
228
247
195
243
288
239
227
139
231
233
223
243
192
178
108
220
246
183
263
244
245
268
204
188
235
237
214
188
179
256
277
289
240
268
221
225
217
126
126
178
144
235
245
271
189
244
221
222
225
282
274
182
114
241
204
196
197
203
201
237
151
217
238
180
220
198
285
391
195
246
163
191
239
221
285
214
247
274
227
230
197
284
209
255
126
266
264
279
265
240
205
239
237
135
334
275
194
160
161
238
271
256
198
255
242
248
250
261
227
213
200
320
359
233
235
239
213
191
342
179
245
272
328
144
233
174
180
269
232
196
281
178
268
181
184
252
238
202
205
235
224
266
154
227
184
281
224
194
326
152
205
240
174
192
126
268
217
274
166
270
191
229
208
213
317
114
234
210
192
153
146
282
269
259
272
284
222
278
200
187
273
229
217
209
296
274
180
281
208
219
218
182
258
312
239
168
168
238
228
210
241
180
226
182
237
249
292
195
300
248
185
307
257
254
225
213
290
242
238
254
276
170
144
261
251
114
239
174
207
184
286
216
258
267
169
200
260
313
174
180
197
165
209
198
279
180
267
288
265
240
158
304
262
282
257
241
212
240
206
216
228
220
243
175
246
240
204
248
228
275
158
160
242
154
369
195
235
214
226
144
251
176
158
202
288
270
187
304
234
218
265
268
266
320
114
251
288
243
236
290
270
259
205
158
276
229
268
169
211
235
253
266
260
226
195
206
217
203
156
208
259
257
151
212
188
212
263
214
191
193
231
294
332
172
228
243
223
238
201
202
326
187
225
199
232
205
262
227
234
271
271
256
237
244
163
197
263
237
204
209
266
210
315
184
248
190
235
213
262
224
182
240
271
174
227
213
224
277
214
244
190
202
174
223
284
140
277
152
264
186
253
202
290
248
189
255
114
194
257
200
269
184
252
244
183
173
234
300
156
255
173
292
267
235
250
243
218
250
220
239
251
160
174
242
205
167
235
242
191
262
245
258
245
216
273
176
180
266
253
224
212
239
259
251
252
192
203
178
199
183
250
266
212
226
224
209
202
218
184
213
237
266
179
217
194
171
210
251
220
185
261
202
259
294
240
255
219
245
314
263
271
245
208
198
253
219
205
170
271
226
321
148
164
198
236
220
175
176
218
192
224
160
242
250
299
204
236
317
275
252
253
207
209
198
187
233
170
165
198
213
264
227
265
221
164
362
224
319
241
230
234
229
195
274
235
186
207
198
259
216
213
197
269
212
198
243
200
200
247
205
164
218
267
212
212
204
217
264
108
215
296
206
268
327
114
208
258
330
267
237
254
399
199
208
214
316
247
194
181
231
178
170
114
204
247
177
262
194
227
210
224
277
204
242
160
222
170
173
195
289
174
290
201
209
207
273
146
146
268
151
252
287
234
205
229
219
214
269
257
205
235
321
249
244
176
222
114
241
159
252
171
178
164
212
222
245
250
299
191
256
264
254
255
216
149
210
275
275
300
165
281
245
319
284
145
168
320
233
156
176
245
152
222
257
205
184
213
245
270
274
192
215
227
198
342
219
221
252
261
207
226
240
217
184
114
239
160
285
234
237
182
271
161
165
236
214
265
212
254
255
209
234
263
223
189
349
192
197
238
233
192
234
305
202
170
255
240
198
228
184
307
309
217
235
275
222
250
218
251
225
309
248
149
251
133
242
249
250
262
256
152
157
154
283
275
263
236
264
243
223
152
247
181
228
208
205
235
297
166
184
288
235
222
253
166
213
114
280
255
171
237
245
292
190
270
193
194
217
197
163
226
291
280
216
178
114
206
235
106
250
243
175
231
255
294
228
176
203
243
309
145
155
220
181
211
215
247
201
228
292
294
212
267
248
267
171
224
225
167
164
236
237
263
243
200
177
251
114
268
254
218
114
234
216
280
267
203
198
308
227
192
212
248
202
270
180
260
173
217
174
161
316
189
165
255
270
231
230
223
152
236
145
164
317
230
196
175
223
238
152
281
256
195
204
206
173
245
202
231
225
217
241
298
213
152
246
242
221
215
224
230
373
278
274
230
219
279
257
160
217
277
223
255
239
249
212
260
286
210
325
193
279
178
236
199
204
228
241
226
284
219
215
224
190
274
232
280
169
231
266
219
198
230
140
202
310
216
223
210
249
250
165
287
234
206
155
242
190
228
275
212
227
193
160
215
252
321
194
226
196
229
181
328
194
247
270
186
274
240
217
252
268
145
278
235
241
194
154
251
289
191
233
133
280
263
328
173
234
219
187
108
215
281
211
178
202
370
209
276
237
279
235
215
222
195
160
201
225
145
250
197
250
190
194
252
190
173
219
174
219
184
244
228
286
323
190
242
254
311
280
292
219
228
235
179
269
178
239
249
227
254
234
276
267
244
222
293
229
316
238
228
301
198
181
248
251
247
189
289
171
246
233
196
166
245
263
152
247
269
260
335
166
203
174
250
208
161
215
272
229
231
329
212
165
219
151
214
232
166
276
193
201
244
250
218
206
226
270
239
241
263
204
281
227
224
213
208
253
240
285
181
277
221
147
293
168
235
207
193
245
296
242
173
286
195
215
209
260
294
194
252
258
324
195
314
232
253
182
193
225
262
210
224
231
243
190
275
203
165
173
243
176
265
244
235
173
234
214
248
286
160
260
236
214
245
226
210
202
213
225
168
207
212
231
192
172
257
240
227
219
171
241
198
288
255
347
197
225
209
203
178
268
221
189
358
187
192
192
251
139
175
154
213
250
160
271
318
232
260
270
169
180
256
254
236
208
255
265
185
148
164
240
279
192
219
213
251
146
250
259
290
258
234
116
221
187
205
218
234
184
189
196
156
189
205
244
230
199
214
263
175
254
233
161
253
205
251
203
227
278
220
196
172
210
265
269
249
219
284
202
235
205
191
152
259
149
299
216
209
239
169
193
191
164
203
193
261
302
207
212
190
251
235
203
291
246
151
216
177
166
256
198
196
237
246
271
277
145
198
197
198
328
215
217
201
161
161
200
185
195
209
276
236
240
153
297
154
242
160
203
234
192
205
219
272
211
388
208
204
250
212
211
218
279
215
195
196
189
252
224
229
277
254
209
194
220
239
178
166
242
193
145
210
231
233
220
253
174
211
278
247
268
328
213
192
198
229
251
229
277
141
219
293
152
277
267
156
219
238
238
208
286
277
216
234
193
249
221
233
255
198
203
197
258
237
223
214
183
246
167
287
243
213
263
197
234
300
260
266
152
178
288
240
248
239
196
202
214
260
197
266
182
260
148
145
173
178
247
173
198
286
284
249
193
225
191
269
244
227
231
269
278
179
203
286
247
198
161
204
214
200
223
321
233
202
202
275
248
288
237
169
268
232
253
114
277
202
203
245
249
247
217
267
201
239
175
239
240
206
205
274
199
182
245
252
239
201
268
308
253
173
313
178
211
242
305
245
211
160
166
173
214
213
229
348
242
220
284
161
225
178
263
193
197
228
270
278
251
245
286
285
324
194
139
139
216
244
185
180
245
250
265
165
190
165
272
180
234
320
181
232
208
270
275
270
181
204
210
254
278
240
202
230
245
278
250
195
194
198
279
158
208
197
271
261
198
259
162
183
335
324
212
187
179
308
268
242
231
306
172
146
188
227
309
177
302
243
201
184
244
252
261
272
174
237
207
201
199
247
192
174
242
334
179
231
296
231
240
263
114
206
162
284
190
139
250
210
180
283
209
233
239
235
252
265
192
180
252
257
296
224
261
239
259
209
156
158
186
151
329
129
228
185
244
233
194
196
236
171
194
258
155
200
158
149
273
160
176
255
185
178
266
253
265
203
271
204
225
217
237
208
151
229
236
219
158
289
268
233
243
331
211
227
116
249
254
295
241
266
212
162
180
210
297
193
176
186
279
248
220
116
252
172
244
261
237
114
218
225
178
259
242
198
272
308
217
158
246
243
207
190
174
288
203
235
270
173
269
224
214
255
228
228
211
223
221
256
257
128
214
282
272
255
170
171
178
240
215
207
227
253
185
198
156
161
283
277
162
225
161
199
216
221
210
181
232
282
255
309
160
299
244
330
245
292
330
192
186
272
183
225
229
235
229
214
114
225
239
189
206
180
239
356
250
139
160
268
217
203
297
247
284
236
202
268
209
221
234
129
203
276
174
264
204
160
202
283
215
239
116
311
208
205
229
268
231
264
249
244
220
202
186
303
224
264
249
242
247
229
215
213
254
178
279
180
174
258
261
243
212
203
280
170
134
210
176
217
184
240
288
238
252
301
297
240
175
189
170
240
229
250
173
183
173
190
154
223
258
190
207
296
276
233
186
231
265
273
191
245
218
121
151
202
234
252
243
167
228
255
221
146
156
201
262
220
251
266
129
207
217
253
179
257
265
268
231
181
116
198
149
318
230
259
178
224
326
288
286
283
223
222
269
193
207
288
207
259
207
183
209
156
173
266
204
234
233
187
198
114
288
247
215
178
234
228
266
215
234
224
254
251
177
232
279
316
297
252
196
164
191
121
193
213
144
243
220
229
251
263
157
272
160
214
209
284
306
293
216
146
178
250
263
288
179
227
184
278
263
238
241
259
198
247
200
214
260
240
289
214
301
210
185
168
306
196
318
192
211
263
271
198
275
256
249
259
242
256
210
212
184
247
216
202
238
241
238
196
209
178
251
158
212
227
287
292
278
193
161
266
205
240
200
224
197
166
213
198
272
176
210
158
191
211
226
157
246
222
201
223
203
143
245
321
167
165
253
175
235
156
229
237
297
192
221
203
221
300
247
189
214
238
192
199
208
139
227
315
152
252
217
245
219
257
246
271
155
253
245
205
205
268
223
201
209
185
206
214
208
232
249
116
275
327
242
238
277
233
158
216
248
275
275
193
187
302
250
263
236
265
207
276
249
170
229
255
209
205
250
211
249
178
212
195
165
291
201
171
230
245
210
214
184
169
215
291
236
195
217
239
121
260
169
296
276
173
170
234
227
208
206
184
294
283
225
286
276
196
146
180
268
151
249
206
231
185
213
190
190
238
221
206
238
290
277
250
231
212
299
260
185
270
203
194
258
223
264
195
231
197
204
254
179
202
213
154
245
236
286
198
211
197
209
188
268
293
260
152
227
222
160
159
214
257
205
253
211
126
176
256
247
190
235
245
192
253
250
208
262
334
297
243
234
235
238
250
246
196
230
228
212
268
166
234
283
209
234
197
148
225
255
231
209
278
259
296
206
262
241
164
280
180
165
300
220
281
179
227
263
174
243
243
149
261
227
179
220
212
189
215
252
235
151
114
230
129
212
222
230
243
114
114
204
207
228
183
207
315
173
257
247
276
232
224
210
227
108
385
235
225
295
245
285
257
214
284
200
175
247
229
197
230
265
158
196
268
210
145
208
225
225
266
129
160
192
228
215
181
239
207
223
277
238
225
247
214
202
181
195
248
164
174
285
203
250
230
274
202
219
247
300
197
251
184
209
217
280
186
276
281
295
274
144
129
244
179
197
310
277
216
269
194
250
268
203
232
298
202
218
297
155
178
205
144
214
269
260
317
289
292
114
170
192
179
238
175
261
340
211
235
180
210
289
251
236
114
196
249
154
231
214
224
170
217
257
279
191
188
245
226
176
285
239
207
234
267
114
181
161
229
283
168
257
192
257
251
149
298
266
285
186
146
244
180
238
263
233
252
217
230
323
202
184
206
169
210
211
255
202
309
332
242
198
327
220
229
221
227
239
221
261
281
149
144
269
172
238
237
178
261
250
284
338
277
205
203
211
218
197
149
223
282
221
214
238
228
178
200
270
218
197
173
199
224
238
242
240
228
220
196
247
189
181
278
162
226
261
231
233
263
259
164
246
207
231
310
206
276
298
313
199
233
181
161
199
167
246
308
201
240
154
317
212
356
203
287
191
147
211
242
308
231
201
174
217
199
260
228
156
305
253
192
219
270
217
184
233
262
145
262
212
211
311
278
231
114
211
201
235
255
237
192
286
314
226
240
189
227
265
299
197
299
193
268
228
235
356
242
192
200
220
154
218
220
232
256
205
267
247
257
311
178
217
217
224
238
283
193
189
255
234
175
184
249
214
182
265
237
258
218
293
139
170
231
204
240
264
169
232
230
164
202
174
208
347
160
222
353
213
276
224
183
248
266
156
196
244
241
260
177
347
274
180
191
242
214
204
303
287
161
169
221
214
126
206
238
246
243
236
286
327
232
271
231
252
211
194
182
220
179
174
288
224
351
229
167
254
198
251
243
234
187
294
171
229
253
195
267
310
139
189
203
208
241
208
246
198
205
207
203
178
208
243
241
148
293
267
272
224
259
261
198
214
208
234
219
255
199
246
234
169
233
226
221
236
253
220
233
250
211
240
218
215
306
238
206
233
239
312
235
205
223
154
243
279
214
158
277
233
265
315
178
173
164
195
238
235
235
256
321
178
198
176
287
270
214
214
180
236
280
248
254
230
281
263
269
262
233
226
223
229
180
222
311
266
299
214
243
193
146
262
126
250
166
194
253
200
122
284
188
206
240
203
253
267
197
210
181
284
216
356
224
280
174
194
210
261
204
214
269
139
167
223
174
227
202
219
292
172
256
218
341
191
220
177
226
217
222
129
266
213
220
294
255
106
186
215
252
255
231
214
217
201
257
179
220
296
282
221
258
238
327
228
237
236
208
178
160
114
246
278
222
208
208
270
272
208
227
245
194
264
266
188
215
188
196
284
288
219
233
265
245
217
295
269
224
240
264
256
173
205
267
233
221
227
253
242
292
163
245
266
170
256
222
198
223
214
222
254
266
335
253
207
144
222
233
215
262
183
318
315
230
189
178
224
251
128
293
198
225
212
273
154
239
255
225
279
205
211
240
261
274
208
212
196
200
193
176
200
235
229
207
191
203
235
258
163
279
307
252
200
204
207
180
173
283
208
267
223
231
284
219
249
338
174
256
268
300
292
165
178
205
208
238
323
170
195
326
210
230
180
166
222
252
188
248
225
251
235
203
242
221
206
279
254
200
207
224
152
312
186
294
276
222
193
251
235
230
260
272
160
276
191
190
212
232
210
169
224
220
232
294
206
216
294
259
208
198
199
323
234
126
282
206
237
210
252
174
232
158
151
114
233
195
192
202
184
148
144
229
195
212
261
210
176
265
211
192
202
249
220
275
278
275
213
214
178
253
309
142
269
254
314
165
226
243
215
174
190
207
227
304
215
253
293
215
154
200
246
166
174
216
249
226
303
230
197
270
218
198
222
176
224
270
261
200
178
244
273
308
201
229
279
229
192
213
227
278
159
174
198
192
205
228
197
143
225
174
160
235
221
215
169
234
276
174
233
224
287
204
173
214
261
160
221
193
219
208
144
242
175
211
240
259
166
259
116
241
162
207
203
241
391
106
212
231
140
266
194
179
158
361
276
215
181
186
264
199
139
233
140
337
204
203
257
191
246
220
251
260
258
200
203
200
260
232
232
287
223
160
207
330
147
318
207
267
236
250
290
211
166
257
249
193
225
231
274
268
275
176
228
188
231
199
233
176
284
185
174
126
209
188
245
292
180
198
255
244
215
208
207
198
222
258
178
241
257
316
296
182
182
220
233
231
241
183
206
258
215
256
193
265
242
214
171
151
187
232
252
229
180
175
286
214
256
184
178
139
240
371
178
274
208
203
227
206
214
212
182
169
245
191
209
272
274
205
185
230
204
238
163
203
280
269
267
219
195
221
197
317
227
268
207
196
304
216
232
184
208
249
280
267
122
293
244
149
215
265
277
195
293
253
192
236
257
275
214
259
247
265
219
243
237
210
214
188
184
230
266
270
280
227
248
239
241
178
245
251
175
162
184
182
187
288
223
203
171
324
251
114
257
248
253
227
197
233
203
225
182
128
260
234
236
133
192
273
173
154
233
228
253
242
291
282
224
236
272
214
262
282
369
161
243
198
289
286
242
203
241
231
254
260
219
266
175
252
139
242
251
233
348
272
261
242
208
260
162
257
191
225
189
216
200
227
226
297
197
156
230
275
188
197
207
285
232
288
284
342
192
237
184
205
224
173
183
226
269
194
219
275
267
238
200
268
284
240
246
170
162
130
339
177
323
298
200
210
288
241
222
232
156
225
262
200
174
232
154
276
225
241
248
282
276
263
212
262
266
218
214
191
223
181
254
197
162
249
262
367
246
114
218
250
247
206
224
173
243
221
173
256
205
114
275
274
160
273
236
197
159
262
219
229
210
235
170
254
265
198
156
325
250
297
203
270
219
333
332
234
276
190
239
276
192
337
148
178
254
301
297
218
179
314
233
245
229
349
182
163
232
186
226
254
190
286
168
227
179
318
180
226
160
199
295
238
303
180
241
152
156
122
235
272
261
220
126
174
256
256
211
260
285
236
227
168
139
284
238
220
209
208
282
177
236
177
215
223
267
232
248
269
239
229
243
211
230
231
335
144
164
211
173
181
121
244
175
284
235
213
270
185
106
230
219
255
278
246
302
259
244
240
114
134
180
258
271
301
198
270
267
251
203
158
208
169
266
278
186
244
217
139
275
252
196
305
265
178
266
210
268
291
235
159
271
149
137
193
209
216
198
319
248
197
183
253
145
245
230
275
226
189
191
204
209
114
262
190
172
273
202
194
244
188
329
234
267
249
209
214
296
199
283
146
291
209
190
191
243
238
210
200
282
191
227
174
275
305
167
263
259
224
295
219
309
234
251
285
290
223
295
263
241
266
247
251
205
282
217
243
201
250
213
196
166
190
229
160
231
166
253
244
271
242
207
294
234
156
200
249
188
227
258
114
202
214
207
175
238
214
188
223
250
214
166
227
254
222
239
175
209
213
297
220
242
114
156
175
294
286
336
221
246
220
221
235
282
235
181
173
226
184
161
268
176
187
157
229
210
232
266
192
205
175
224
162
274
154
209
160
204
207
137
232
220
200
114
240
263
199
342
208
182
162
166
226
246
262
228
227
114
287
195
230
186
232
256
179
170
301
214
245
170
204
258
244
114
240
211
238
275
276
235
179
224
165
285
170
288
256
232
174
189
245
311
247
198
315
163
202
249
155
203
257
313
265
245
250
260
228
190
175
232
209
223
286
275
221
231
226
176
219
191
192
165
225
262
213
191
247
232
270
228
241
212
217
249
212
187
243
235
242
222
248
223
259
204
234
219
253
194
173
254
244
252
154
114
200
275
265
216
271
178
175
202
286
273
164
250
199
281
193
228
281
196
193
256
248
267
212
208
156
285
211
205
223
198
232
231
306
243
195
189
235
180
238
240
224
218
232
225
190
277
279
157
261
160
312
245
177
186
255
161
299
209
148
114
286
194
255
185
261
232
203
254
234
303
259
249
216
222
160
207
258
174
202
198
207
189
292
236
224
269
197
262
237
231
188
317
258
330
251
151
257
190
189
160
219
267
219
106
145
206
225
154
242
291
316
201
338
176
288
244
279
198
156
221
158
114
212
317
223
217
195
239
232
214
153
144
208
175
198
188
182
281
258
257
245
211
227
209
174
272
225
222
237
159
295
226
187
150
256
188
200
223
180
233
234
247
228
270
145
202
208
256
372
190
199
286
275
247
278
219
153
186
218
256
206
202
234
313
208
281
200
220
154
247
152
214
260
266
163
180
239
203
114
218
216
191
253
207
178
191
224
260
261
213
242
227
230
234
224
207
284
234
220
275
240
207
194
271
242
223
180
218
175
164
170
254
151
213
173
263
165
241
310
246
205
272
164
260
160
262
208
210
246
284
195
280
247
188
198
276
210
268
239
209
235
263
268
233
202
198
268
233
279
200
213
238
218
210
212
247
214
279
207
216
161
230
291
164
170
249
360
156
255
195
258
285
267
189
181
188
261
305
210
214
186
245
170
257
238
247
238
185
226
271
177
274
239
286
270
261
158
191
186
129
122
267
281
281
254
271
214
221
114
201
281
229
247
182
247
156
224
219
149
203
260
192
274
243
235
242
224
220
121
245
231
192
219
170
192
152
182
160
232
213
213
251
243
186
240
188
224
178
252
209
262
219
189
213
214
271
235
179
200
205
114
175
194
231
312
166
222
250
274
222
191
233
249
173
181
199
170
306
262
198
232
202
225
126
230
239
228
237
307
258
114
291
189
242
241
214
174
254
114
310
219
222
206
320
256
213
234
210
205
198
290
222
160
234
261
236
253
285
244
144
224
247
286
175
314
206
223
134
223
243
166
234
287
316
238
247
220
189
209
303
194
241
270
312
221
256
263
254
197
355
187
279
224
212
161
214
154
273
249
276
214
156
151
164
259
210
208
180
174
215
277
253
222
241
221
311
252
169
259
258
264
240
201
267
259
242
147
282
179
196
226
181
221
274
289
108
248
297
148
178
202
211
162
147
336
144
236
270
211
212
254
207
205
200
176
329
213
247
108
229
244
279
171
209
193
166
255
247
200
264
255
297
236
248
269
243
229
253
260
179
170
242
213
232
179
201
267
228
139
144
219
206
180
230
208
195
247
183
213
216
256
217
178
192
222
178
237
237
247
211
262
145
252
232
220
180
226
225
229
161
225
258
223
133
252
259
173
209
182
243
179
165
223
259
221
218
259
285
334
254
257
256
241
237
224
239
233
230
275
202
198
207
235
198
186
220
164
272
223
188
173
200
152
302
180
194
238
230
241
181
215
194
242
184
195
195
259
178
228
207
214
286
241
241
363
230
246
330
161
261
158
215
307
208
177
226
266
241
235
279
281
186
223
198
163
212
339
233
200
175
253
216
215
293
203
114
207
201
239
214
202
244
203
249
203
235
295
168
213
247
191
223
203
211
194
208
179
226
262
195
242
237
108
183
245
244
181
220
204
248
185
315
253
200
190
225
252
242
237
176
180
271
241
218
207
196
178
207
251
212
292
248
152
173
221
148
316
203
179
160
232
286
261
201
213
278
215
213
246
214
259
240
166
256
254
168
310
256
248
204
320
200
202
261
184
234
126
286
204
175
249
195
197
194
245
232
194
172
279
203
221
191
209
225
267
228
217
160
295
262
252
168
252
192
182
264
195
175
315
234
250
182
244
176
180
254
233
139
217
227
212
207
265
213
309
192
297
229
215
271
231
212
241
276
191
243
227
244
207
253
282
214
202
220
209
155
137
179
299
280
195
129
237
208
226
172
221
235
157
151
177
218
178
197
219
156
251
205
311
182
229
114
278
218
308
239
174
294
162
283
225
262
187
239
219
213
353
261
222
195
227
202
249
197
291
192
214
242
245
202
305
225
184
222
231
198
213
173
254
214
244
171
114
231
264
247
267
209
222
211
220
169
177
153
231
296
222
254
244
214
164
221
244
162
291
202
204
193
224
241
235
169
156
180
206
250
236
283
257
227
210
237
277
181
315
232
231
237
183
185
174
226
268
217
193
325
208
206
272
176
284
238
231
239
262
259
223
266
228
235
243
202
236
244
218
196
171
297
298
146
348
163
144
202
218
207
226
248
268
170
225
240
256
190
241
236
218
308
273
262
220
277
228
205
307
231
231
173
174
246
255
273
208
264
276
266
175
330
232
189
211
256
185
205
271
202
171
225
238
232
210
214
206
173
222
179
294
166
173
282
213
271
284
311
253
222
177
237
245
267
250
240
231
238
227
206
204
219
193
262
234
225
296
193
231
251
181
156
276
282
220
174
342
195
215
198
271
234
198
237
242
266
265
296
206
239
194
266
204
157
231
248
331
213
214
215
257
245
175
351
274
191
248
157
206
274
262
152
222
241
231
213
106
184
148
195
229
156
246
232
319
192
114
233
299
194
181
196
195
180
221
270
297
212
285
160
306
198
257
237
178
232
281
166
230
179
275
267
315
239
148
201
174
223
216
214
199
182
222
229
190
232
146
353
200
234
190
126
205
256
191
126
239
236
188
266
216
179
139
243
241
285
222
207
258
154
245
191
230
166
260
181
198
313
184
252
329
242
226
268
174
257
175
255
168
225
282
168
166
272
248
162
226
228
234
209
121
244
236
173
345
247
235
252
264
173
229
318
182
290
152
114
205
169
223
263
178
286
234
208
278
359
235
280
212
234
114
209
220
226
237
251
263
286
227
195
200
216
241
244
162
225
145
212
116
219
215
253
178
225
256
271
174
231
262
191
218
224
239
217
253
328
263
204
179
322
252
218
250
232
197
262
221
298
225
181
243
194
253
116
198
200
172
226
216
255
178
174
170
255
206
213
227
213
212
217
184
149
162
181
206
238
290
278
260
236
260
271
217
244
258
200
251
221
243
241
203
296
221
325
210
235
258
252
268
288
221
293
255
261
229
220
148
199
295
197
244
329
263
284
236
126
246
177
229
245
224
196
187
207
312
259
207
259
208
208
133
249
235
215
271
272
256
254
288
234
168
178
265
227
246
362
186
239
165
229
229
239
180
190
252
195
235
157
284
308
177
114
228
219
248
217
180
232
247
322
207
233
253
234
209
160
147
231
208
215
250
145
173
343
193
223
143
221
146
231
275
326
247
254
226
190
254
240
213
245
299
195
176
260
297
202
227
240
174
187
266
203
173
183
193
158
313
152
291
238
163
249
204
204
266
164
192
204
246
269
217
245
293
256
318
156
239
227
170
174
214
250
213
258
185
269
147
289
278
232
177
163
211
196
225
243
161
299
156
297
252
114
165
265
202
221
183
244
194
201
169
173
188
295
182
271
238
242
230
242
234
228
241
288
173
156
251
222
230
226
201
330
209
219
257
287
259
175
221
300
276
180
207
213
214
256
225
202
241
182
204
216
225
261
276
274
174
170
260
171
196
250
189
181
249
300
187
277
173
251
231
240
239
226
247
249
240
253
190
205
273
178
214
184
165
164
230
230
188
195
231
258
178
204
228
330
214
180
253
240
263
238
193
186
321
241
251
295
306
166
262
246
184
217
175
248
300
277
225
146
271
246
206
231
263
208
209
260
279
164
201
157
220
144
203
215
154
221
270
277
178
228
222
195
200
144
146
198
222
210
256
221
181
318
300
259
151
158
226
222
211
208
181
214
172
145
180
213
213
214
176
300
273
151
198
149
213
253
199
188
283
227
175
309
267
240
179
192
271
233
192
217
152
251
302
220
293
160
187
242
255
278
275
283
297
155
178
232
168
195
180
170
209
288
304
191
214
180
245
345
190
231
250
277
301
210
171
282
285
234
230
264
184
181
192
305
227
263
200
151
233
234
280
198
216
211
221
344
231
164
246
253
214
229
257
251
237
134
222
236
160
209
184
201
214
222
216
283
249
290
114
195
250
174
299
152
181
180
207
268
205
226
226
259
262
243
242
193
179
247
233
200
198
258
280
189
193
283
244
188
265
231
305
281
286
247
273
236
312
286
320
195
232
285
191
267
230
232
167
231
243
231
180
175
297
267
207
227
160
233
210
190
275
227
292
216
220
129
215
268
208
291
182
190
172
255
282
158
245
205
187
197
212
174
241
253
224
215
248
230
252
253
223
247
267
184
227
200
244
219
303
204
256
182
273
193
203
221
242
227
205
323
226
178
219
200
253
151
209
228
236
223
261
266
250
195
369
242
214
192
186
272
168
202
253
236
219
260
167
224
144
309
270
108
186
225
260
190
227
246
203
163
231
287
301
231
226
177
281
227
199
255
252
241
191
296
209
114
292
263
203
236
325
297
178
219
251
239
299
209
179
285
129
139
293
215
208
278
172
248
199
232
223
266
256
285
160
260
180
314
352
179
242
220
160
263
274
246
176
233
209
166
192
275
231
224
260
270
201
269
205
196
244
222
209
210
165
266
284
202
280
192
168
165
251
197
180
230
267
193
210
271
209
185
223
217
200
235
212
180
193
226
205
232
278
226
233
259
187
276
219
174
236
266
202
186
192
223
209
285
177
228
231
214
214
228
176
265
312
180
239
305
317
241
302
196
196
190
232
233
204
246
251
162
232
168
229
185
174
265
227
277
155
178
276
191
218
224
209
326
192
266
156
223
201
230
194
152
196
222
152
165
139
154
126
223
219
169
153
279
233
301
134
343
205
246
254
240
183
221
273
246
187
177
188
149
211
175
340
223
284
220
149
251
224
195
282
259
234
189
257
285
304
230
231
151
198
230
211
191
287
166
227
185
198
175
206
232
238
269
243
228
229
327
284
228
221
201
219
267
211
214
226
179
148
297
294
229
202
222
273
232
173
142
176
214
275
243
186
170
310
228
173
173
230
269
290
114
259
229
198
248
228
249
221
206
286
239
248
207
274
176
211
252
158
204
201
360
256
257
269
206
266
210
215
164
259
219
244
222
240
201
172
293
220
116
180
326
176
254
172
239
220
307
213
189
192
223
196
261
174
260
192
156
215
264
275
166
264
183
133
295
228
145
227
235
139
158
229
181
219
274
275
275
194
262
156
160
250
161
182
232
209
198
211
255
279
146
241
207
218
221
190
181
220
182
282
247
234
232
285
157
217
299
225
263
267
231
170
330
298
220
243
227
361
191
265
230
218
256
196
196
152
251
236
252
242
274
221
252
192
219
181
222
175
237
219
298
211
184
257
220
258
200
264
275
220
256
195
271
230
179
164
209
205
238
275
201
239
218
235
204
180
193
234
225
294
233
229
294
250
273
170
217
153
292
219
145
202
268
228
267
195
289
279
297
208
148
197
242
139
246
202
174
229
249
174
239
236
207
258
196
257
288
186
245
273
197
195
270
218
174
229
227
201
174
258
234
218
218
329
144
213
152
269
220
272
208
193
175
168
270
264
257
162
147
114
201
133
157
218
283
281
254
261
226
230
227
285
240
219
221
214
346
242
192
240
170
272
200
197
301
178
233
257
221
190
199
220
235
238
168
228
206
234
185
144
203
215
168
236
197
225
285
254
253
283
303
203
331
197
165
214
170
228
195
206
187
251
297
207
161
265
252
239
240
295
320
218
298
215
318
214
237
194
214
186
146
219
218
210
290
212
215
177
225
218
265
237
106
168
160
197
284
260
267
208
282
274
237
202
199
194
198
237
210
226
308
254
199
169
235
213
234
286
244
114
185
270
269
268
219
208
210
254
236
190
257
171
193
204
226
211
196
255
243
346
270
251
182
187
152
219
204
251
287
235
285
231
241
234
176
222
256
195
191
219
215
278
244
286
221
227
308
203
213
192
195
202
126
238
215
251
244
106
225
197
178
114
164
173
239
227
191
244
214
126
178
257
225
202
175
199
228
202
279
215
154
283
227
149
301
281
179
193
167
297
196
260
212
222
211
273
271
149
160
298
247
196
174
286
229
211
248
259
187
144
144
243
225
114
216
283
199
194
162
305
240
219
204
300
180
267
259
130
231
262
273
260
238
214
156
310
181
114
310
178
256
255
211
189
206
160
218
224
192
260
183
177
261
272
152
201
229
277
201
317
318
219
193
292
220
233
198
238
284
249
231
156
178
178
219
207
236
237
208
216
241
311
265
225
228
230
180
244
325
293
231
317
225
192
222
193
171
193
205
326
237
156
233
224
242
250
195
270
250
256
255
222
235
206
233
186
292
202
264
225
263
239
188
260
222
192
274
219
285
161
241
220
208
197
207
267
173
252
234
214
216
170
225
221
163
271
149
252
174
128
273
225
174
215
267
315
186
268
221
273
201
114
229
214
276
199
204
205
260
249
182
151
203
155
203
278
187
236
235
283
208
144
201
229
192
156
189
233
157
178
170
199
289
180
146
202
177
114
213
181
184
235
196
230
186
186
273
139
264
217
318
254
273
186
304
126
191
151
154
255
281
210
200
106
180
205
261
165
152
158
114
258
283
183
195
238
245
267
232
177
316
280
247
121
306
206
347
192
169
181
192
244
222
229
227
303
257
237
199
289
262
175
292
186
246
218
234
221
235
281
232
221
264
279
154
234
161
201
209
114
160
252
222
174
178
230
184
178
219
192
262
231
266
260
324
219
205
246
245
293
257
205
194
272
139
151
160
183
237
180
273
233
216
160
252
149
252
162
200
152
206
244
203
294
160
237
160
194
228
259
171
182
218
235
268
247
292
205
233
262
172
212
223
258
252
219
213
300
223
268
114
227
224
199
126
180
258
139
246
211
199
251
251
224
236
154
232
223
235
254
295
193
246
188
277
217
249
195
229
175
218
189
187
175
190
223
187
202
231
195
270
273
241
232
232
146
169
170
236
157
270
281
187
290
204
280
192
273
226
247
240
193
184
166
173
240
312
177
275
228
261
252
196
261
243
190
185
220
232
219
270
200
229
206
221
185
164
239
234
271
218
261
203
225
214
209
170
237
245
292
232
200
234
285
232
199
284
248
191
275
252
326
249
160
223
235
260
260
348
233
188
214
205
206
254
145
221
190
175
202
176
196
238
205
171
231
224
225
177
203
223
271
194
159
189
277
218
323
192
166
257
208
198
309
214
213
242
315
261
231
188
226
239
188
244
204
244
297
227
244
252
251
179
242
216
181
114
114
182
164
267
295
154
209
190
218
274
211
283
192
188
195
232
231
277
277
214
216
231
178
176
241
226
320
254
181
239
135
262
249
184
199
256
214
222
265
262
281
276
197
218
303
219
289
265
216
203
260
153
221
236
308
302
218
139
217
151
220
223
222
114
191
173
223
282
221
237
199
186
259
175
126
225
229
281
243
220
220
264
290
213
270
245
114
181
256
229
161
192
308
244
151
239
258
250
211
145
282
273
244
166
221
235
218
256
181
241
244
208
176
219
262
256
240
233
228
208
215
282
186
266
205
247
257
199
304
293
193
239
129
250
114
227
225
202
208
203
228
191
267
205
297
192
229
267
229
274
289
207
233
191
202
207
229
253
207
181
281
301
293
202
219
238
231
193
261
175
247
184
343
281
258
242
187
300
286
178
212
281
208
126
240
229
269
218
281
191
200
215
160
154
198
253
193
230
207
221
226
246
223
238
200
275
181
203
287
246
235
315
271
225
237
195
282
258
242
205
148
224
177
279
262
180
211
175
198
231
198
294
133
279
181
177
175
234
205
225
175
220
245
228
247
152
238
226
203
194
201
279
297
147
323
303
201
225
269
317
275
244
223
171
209
224
189
202
194
220
301
208
169
241
156
148
321
156
173
270
249
277
353
182
182
259
244
209
278
241
295
289
220
319
267
171
223
225
244
326
207
291
175
164
167
211
160
239
311
204
186
198
324
175
262
186
256
203
139
210
296
156
337
152
256
196
192
268
230
211
154
233
312
186
226
281
228
213
207
238
216
210
245
189
169
238
267
251
177
221
269
219
200
255
190
302
305
222
171
193
241
230
195
224
260
255
204
237
192
210
208
233
269
168
229
292
171
206
185
247
263
284
262
257
194
228
234
225
271
255
317
290
280
196
251
180
221
193
229
249
267
181
258
219
151
175
232
177
171
249
316
284
281
195
216
286
175
176
311
215
249
178
235
284
214
246
231
212
156
241
202
277
219
139
227
294
342
262
285
244
168
180
196
210
273
114
269
333
272
249
219
206
278
207
259
240
214
217
263
222
260
241
229
306
320
211
253
237
253
234
213
238
144
108
134
274
220
108
219
202
259
217
238
268
158
236
258
204
226
272
203
180
216
211
278
231
225
244
160
166
223
195
189
263
236
169
326
196
195
286
192
256
219
225
224
241
252
251
144
217
283
303
265
206
205
211
152
254
205
322
243
238
161
256
303
204
271
280
280
234
275
272
283
250
236
170
232
208
284
147
250
258
274
223
114
159
192
222
152
202
263
293
231
197
208
168
234
244
168
245
148
215
234
258
160
164
261
247
275
216
229
253
207
204
145
218
241
200
273
216
219
219
277
235
245
190
153
235
173
237
167
271
191
267
281
206
235
241
207
208
249
170
314
253
339
212
207
250
184
223
264
239
275
282
238
250
151
193
216
267
208
282
176
260
231
170
214
200
191
203
229
106
215
170
188
219
209
234
179
185
270
292
173
261
209
232
218
253
277
289
267
179
227
213
166
214
261
214
222
284
243
179
163
250
249
279
219
165
253
238
203
194
281
225
243
216
218
242
244
262
229
144
200
208
223
199
192
257
224
192
262
248
182
214
214
204
257
260
158
277
230
270
228
234
184
203
276
287
186
173
207
253
235
162
224
160
256
256
204
212
256
220
194
263
151
249
244
183
287
200
302
226
216
180
243
252
174
174
169
230
213
252
231
228
285
202
252
213
272
148
227
277
211
210
247
222
249
162
213
267
178
216
230
193
203
197
312
177
221
180
247
151
217
269
266
114
237
269
225
222
238
156
152
271
211
262
262
255
236
190
212
260
215
251
230
121
216
238
219
191
241
181
300
213
205
266
192
209
146
204
228
184
129
173
230
198
287
194
144
209
232
275
275
202
186
267
290
175
294
274
203
179
212
238
245
233
265
255
193
194
278
184
353
199
193
160
252
249
269
243
249
139
145
238
215
231
213
224
305
224
274
250
268
272
289
210
175
234
169
217
277
219
204
212
175
266
116
282
257
178
258
224
247
165
215
250
178
163
233
191
240
215
222
324
283
156
239
167
236
194
166
252
223
175
213
234
260
234
284
308
154
227
247
194
204
213
160
256
250
298
274
250
166
284
270
221
236
241
151
210
259
147
252
252
188
176
217
158
197
259
264
230
222
303
247
267
158
202
271
247
279
259
245
261
322
164
271
175
232
234
176
194
270
219
195
189
178
274
252
199
209
214
114
242
253
228
247
236
245
330
194
227
198
114
228
246
232
285
219
254
202
241
191
299
237
268
211
227
174
303
266
244
231
160
232
234
165
266
182
234
184
287
300
223
207
222
210
248
258
224
234
230
230
268
320
152
114
283
226
200
280
268
259
245
208
228
220
228
268
253
291
259
262
326
220
302
171
181
215
232
211
198
271
200
247
147
192
217
139
188
266
269
213
217
212
217
262
221
114
260
190
193
200
240
163
198
196
255
256
242
250
220
170
227
222
200
293
277
221
206
275
166
130
249
277
247
217
221
196
155
240
206
207
194
233
233
252
279
283
173
212
195
114
219
179
250
225
154
245
195
342
276
198
279
262
246
261
245
209
234
247
259
291
208
234
183
277
291
263
264
250
190
196
199
173
208
238
237
217
228
270
273
198
208
207
203
151
241
257
231
217
218
139
172
230
223
246
226
206
270
198
170
232
236
243
242
233
192
250
185
209
227
158
254
149
173
283
295
200
264
337
187
259
284
174
240
245
307
320
218
189
191
333
250
244
300
214
200
116
232
178
158
146
198
212
202
193
189
193
199
242
227
137
262
207
211
351
225
212
284
180
278
205
265
281
247
291
184
260
176
253
214
194
208
168
233
244
214
167
198
305
193
207
211
204
243
244
261
152
235
258
168
170
244
211
206
208
133
266
327
291
254
284
290
151
228
311
251
244
222
199
160
156
232
183
205
167
200
277
291
312
221
189
251
261
235
256
126
165
231
263
265
210
301
257
349
207
196
257
290
178
194
247
191
274
242
236
272
188
250
228
231
194
165
219
233
192
253
213
236
291
184
214
156
181
255
255
152
262
247
232
232
250
169
179
206
175
227
230
263
175
196
296
292
207
213
205
210
231
245
208
219
161
309
257
126
157
165
190
165
274
251
217
240
264
235
247
206
231
298
243
181
173
187
215
239
278
224
199
150
237
221
147
236
247
200
241
205
165
213
175
251
201
200
144
234
175
197
126
185
235
196
184
240
204
163
313
258
256
247
203
185
209
160
181
201
287
167
253
233
209
219
289
159
213
201
241
233
201
324
207
223
212
222
190
230
250
359
252
231
214
219
241
263
237
184
314
271
225
209
234
215
214
170
213
159
211
307
211
231
216
218
267
202
234
217
242
308
255
202
194
235
146
233
201
359
244
261
249
327
222
178
218
336
234
176
230
176
227
213
253
277
197
211
215
253
186
202
320
162
230
126
209
228
266
201
204
254
244
114
277
255
227
297
254
232
180
145
281
206
296
277
330
167
231
281
192
170
197
269
212
253
202
253
223
191
185
262
251
270
283
205
274
226
218
253
279
188
296
228
246
267
213
179
144
252
210
243
247
227
206
334
206
192
293
253
259
255
287
261
250
227
191
257
174
178
191
251
276
225
202
280
270
268
230
232
199
184
316
215
196
264
235
214
144
246
256
213
253
156
180
240
199
209
224
245
175
233
271
203
235
228
249
311
214
195
211
231
259
263
204
211
338
218
241
232
177
213
247
237
185
274
254
293
229
226
213
201
151
225
201
191
220
235
216
274
293
178
246
218
215
302
244
259
243
263
238
201
197
226
280
232
145
214
114
238
235
214
255
315
198
258
213
188
175
114
202
290
237
279
173
178
212
271
197
229
178
176
181
303
201
178
156
308
222
229
195
209
247
223
197
214
210
248
209
260
265
114
252
254
234
223
191
230
154
169
265
266
227
228
168
252
262
274
214
327
180
207
152
305
216
208
152
170
164
192
158
224
300
285
254
282
192
262
205
293
207
194
297
137
220
130
233
261
181
248
275
274
294
233
231
198
232
126
188
207
272
246
228
241
169
175
207
228
214
202
243
171
263
211
177
247
196
193
129
181
193
218
270
175
259
305
243
199
199
254
277
312
186
208
241
245
244
241
277
231
252
261
300
215
195
227
223
183
184
346
203
215
145
212
261
208
243
154
216
221
114
196
309
203
148
188
199
216
290
217
288
244
177
193
156
284
234
114
147
266
254
241
205
358
166
205
203
194
315
260
259
208
316
325
198
258
192
227
199
245
185
261
210
180
204
172
234
174
266
160
234
180
209
160
231
209
341
229
200
242
237
173
250
241
259
270
246
237
200
273
202
192
304
250
325
146
204
163
195
241
221
230
218
214
232
175
265
201
254
201
232
229
251
196
224
212
233
294
217
214
214
193
264
268
299
230
215
232
180
198
209
294
301
204
201
230
287
231
206
263
257
250
229
277
154
272
279
167
207
238
306
205
185
196
272
262
175
175
194
229
236
162
202
220
284
208
171
252
228
203
192
211
247
237
165
241
230
212
203
276
312
209
180
212
170
251
167
277
244
194
201
287
220
177
190
180
221
181
220
198
194
233
146
226
280
220
173
244
214
167
226
228
235
243
269
246
217
288
244
217
281
223
233
270
247
249
246
242
236
303
114
272
191
307
261
253
272
173
251
276
174
239
231
202
216
222
271
257
218
232
285
238
261
157
213
201
234
267
177
225
216
178
208
300
220
218
244
189
229
286
141
258
239
213
291
229
201
198
278
235
267
239
296
233
195
249
234
212
193
243
164
198
223
184
293
201
194
148
223
231
202
236
246
253
225
248
204
215
195
220
220
255
224
197
244
114
211
180
251
108
156
173
188
188
261
244
239
203
269
237
249
304
245
211
206
212
279
181
279
139
207
314
196
188
231
239
246
139
214
230
218
172
198
253
239
236
264
175
234
209
254
307
239
255
178
195
247
180
219
183
260
241
149
246
228
311
290
173
249
345
193
265
228
217
206
114
244
265
238
231
235
223
233
189
254
161
239
196
218
267
225
168
269
214
342
245
210
208
114
321
249
159
257
217
314
235
265
215
256
202
198
277
193
178
230
188
237
237
215
206
170
215
259
202
169
198
223
217
189
173
230
239
200
212
253
253
175
202
227
239
220
262
221
199
190
278
183
232
222
306
275
195
214
230
149
184
238
230
237
234
164
226
249
194
278
267
233
271
338
192
261
218
193
276
189
331
198
224
264
245
225
231
156
211
211
181
192
279
211
178
242
220
275
300
221
214
183
203
304
242
174
306
305
243
160
302
301
149
280
288
203
228
246
199
272
201
276
200
240
198
211
238
325
215
236
234
267
302
264
259
180
214
178
238
254
262
245
307
204
216
182
114
191
108
207
235
192
212
270
260
220
247
262
234
173
190
193
245
203
215
180
199
248
172
178
177
234
201
218
241
265
203
220
211
215
282
240
214
179
227
183
281
275
194
160
242
231
253
198
184
190
231
178
207
287
156
225
246
217
181
271
216
290
187
198
265
282
283
213
251
243
258
238
181
197
192
218
210
258
214
208
331
204
223
190
188
197
238
190
195
249
260
193
247
269
303
206
246
227
200
205
220
169
174
247
174
226
310
265
261
246
280
263
256
216
253
229
201
312
251
185
283
232
270
256
274
296
166
176
243
186
189
227
222
255
224
240
156
277
155
256
269
247
260
197
304
156
272
211
258
254
245
211
179
220
202
246
295
215
253
207
206
250
258
116
189
223
193
184
266
296
254
253
253
239
305
252
195
192
228
260
301
193
258
241
238
237
302
238
254
215
148
213
191
228
166
239
362
238
217
169
192
193
221
294
232
250
245
259
263
264
227
267
303
255
154
177
180
169
212
152
193
212
108
191
248
233
201
212
251
206
271
261
222
187
195
266
211
228
214
202
265
200
242
229
184
296
218
241
189
274
155
175
175
195
230
216
230
191
228
253
201
234
198
177
223
206
191
165
144
272
240
221
306
216
293
199
170
309
277
186
259
176
173
206
269
199
245
207
256
218
236
174
258
227
258
167
258
293
181
203
198
114
209
231
185
246
219
281
188
249
207
300
262
245
222
226
209
235
286
185
170
210
288
251
169
197
272
226
209
281
246
203
137
303
189
189
154
218
170
158
242
126
303
238
222
168
255
231
310
252
195
233
172
256
225
218
270
300
236
165
278
210
199
214
207
171
218
220
250
229
245
207
270
214
178
243
184
305
278
177
299
271
215
246
170
281
200
159
243
270
296
230
175
218
255
144
249
215
237
287
267
281
211
147
276
217
277
224
126
200
208
309
225
307
239
126
278
180
179
288
229
284
144
196
219
259
261
237
222
234
258
193
192
189
144
149
193
154
233
198
201
227
255
295
201
298
205
181
267
183
197
237
181
230
225
164
226
337
217
233
242
254
198
193
168
192
288
199
274
130
279
233
158
261
197
337
192
226
241
197
178
246
160
242
265
228
198
238
256
234
174
242
223
114
224
304
197
204
285
257
162
259
274
271
204
235
192
210
221
212
266
218
198
169
186
191
229
255
196
233
160
221
237
308
181
201
198
231
274
183
184
261
262
198
178
241
234
198
221
161
247
239
226
206
192
194
274
198
254
233
246
308
162
192
154
237
239
181
227
217
240
219
235
213
228
208
256
256
170
223
229
192
190
190
279
242
246
193
268
211
207
198
171
282
210
223
224
276
227
267
190
267
211
240
235
220
266
308
230
205
206
292
297
234
325
213
262
226
190
204
188
209
221
248
254
214
259
256
200
181
299
284
223
299
218
201
154
223
304
295
180
239
264
217
268
209
230
278
195
223
176
193
247
247
240
284
274
233
235
193
318
192
154
206
302
130
301
328
269
233
167
161
277
245
274
214
182
160
196
221
235
263
177
251
196
202
213
194
172
194
207
280
253
291
256
126
221
258
180
226
283
196
295
146
296
193
306
180
249
260
244
174
210
336
151
265
245
219
232
282
294
255
164
247
196
231
254
267
226
323
172
198
192
216
169
200
288
151
219
129
215
198
186
246
173
263
170
176
249
241
248
246
174
234
210
286
213
165
144
242
229
218
280
220
188
270
193
278
226
344
183
152
206
177
216
251
266
190
264
278
292
264
241
160
242
211
225
270
222
335
288
221
254
254
129
252
232
164
197
236
236
201
207
188
213
114
245
151
170
185
197
240
269
228
222
250
204
189
293
295
195
259
185
266
232
199
220
195
174
305
174
229
212
245
214
189
196
221
187
163
207
227
280
280
206
251
257
255
240
227
230
108
207
208
152
276
151
301
287
281
239
212
250
166
302
241
248
241
147
243
184
202
268
126
246
279
311
189
210
301
256
241
244
187
192
257
180
217
194
225
220
269
160
255
219
229
243
239
268
206
215
226
258
246
229
182
224
187
243
244
160
169
235
222
214
293
185
288
296
224
179
244
263
246
219
228
267
280
195
270
197
237
291
213
270
233
261
164
205
181
239
256
297
258
238
190
173
218
234
129
247
153
187
254
243
252
181
187
174
198
205
262
249
201
247
215
217
213
208
355
218
231
173
176
251
226
234
215
206
221
199
202
193
224
217
194
204
313
289
256
193
249
260
188
204
145
269
217
253
308
247
259
228
265
200
234
210
181
249
191
204
217
231
321
270
219
212
325
308
248
254
191
208
174
265
222
116
218
162
246
235
214
253
177
261
189
249
235
145
258
233
146
276
232
230
272
192
216
232
247
227
216
243
185
238
206
258
202
278
176
275
233
240
265
165
333
215
243
204
130
207
250
220
106
217
199
223
168
311
242
253
242
170
260
195
190
275
114
152
289
223
202
284
222
222
256
214
212
128
264
228
237
206
199
229
220
217
196
212
200
217
241
314
203
318
243
221
208
175
234
215
211
189
223
198
190
208
321
249
174
249
178
178
238
245
149
170
210
242
175
234
241
174
198
332
240
255
235
250
272
203
207
291
300
217
174
253
218
207
182
167
282
203
204
192
228
267
279
204
250
242
231
299
271
277
298
216
215
191
218
248
213
228
191
251
196
151
296
222
200
175
267
214
198
230
160
205
251
196
146
257
255
181
260
203
168
219
139
197
257
243
210
289
236
202
253
187
279
252
323
260
179
235
240
249
262
191
258
205
261
188
194
197
196
201
182
207
239
129
170
248
185
176
195
273
245
215
168
148
267
255
226
193
254
243
223
290
223
114
280
236
180
299
185
216
297
240
283
218
271
241
180
262
267
200
220
237
309
268
149
222
239
209
227
208
185
244
201
207
130
232
215
201
216
214
213
264
206
243
244
159
200
309
268
327
192
205
213
251
162
234
226
194
295
211
260
237
239
198
251
226
256
215
237
302
155
207
203
227
208
212
218
248
185
171
238
221
213
260
247
106
178
239
221
232
252
171
195
206
237
209
272
277
270
269
196
160
208
179
198
200
261
212
276
263
206
184
173
141
184
244
231
237
178
266
221
233
194
205
279
198
245
197
301
126
271
183
222
276
277
251
230
206
233
214
254
203
155
238
251
331
298
250
183
277
251
224
326
254
265
229
156
261
221
179
275
238
243
232
204
195
191
260
300
262
241
234
253
252
216
156
215
255
210
229
190
278
219
229
151
205
205
211
160
195
200
146
234
212
106
228
234
146
212
180
262
237
277
196
252
289
228
181
152
271
274
245
191
305
226
295
259
299
225
194
289
231
159
195
294
208
258
247
302
194
216
272
178
203
238
160
259
190
161
225
235
232
201
280
248
229
263
213
237
298
178
192
216
202
221
199
208
271
174
315
272
170
185
282
307
178
229
207
225
225
199
258
203
276
198
240
314
152
154
269
271
254
169
150
277
206
252
286
198
246
219
229
290
219
229
251
148
253
170
241
255
204
178
231
184
224
213
241
247
205
234
192
175
213
256
215
158
235
192
251
172
267
230
211
242
239
204
192
336
196
239
144
208
181
223
214
200
208
170
151
266
248
214
290
260
305
190
355
240
200
203
248
190
188
145
178
145
329
253
221
245
134
180
271
174
262
261
169
234
190
286
206
273
222
214
167
262
244
252
261
201
324
196
195
161
245
184
211
206
252
173
263
185
266
233
193
191
157
192
214
218
256
218
192
237
273
147
270
274
168
334
240
169
257
184
193
206
244
255
273
241
194
167
292
266
195
188
223
221
260
257
170
289
192
114
178
237
183
240
266
184
232
195
187
250
291
217
263
240
258
222
266
270
269
231
252
238
231
182
204
185
216
178
121
214
254
208
236
212
250
241
194
196
311
217
229
247
267
257
192
247
178
200
193
216
152
239
235
173
215
283
239
272
167
226
179
179
228
253
166
177
221
168
178
260
196
174
201
188
202
224
217
185
258
179
139
286
185
201
247
268
205
238
207
152
152
256
224
201
205
232
199
176
221
253
114
186
148
192
266
222
220
274
210
215
186
178
325
220
114
242
246
215
312
200
230
152
213
206
244
258
196
281
222
240
295
234
310
238
308
178
274
180
217
140
257
217
225
214
199
184
192
194
248
280
249
169
173
192
189
176
168
213
272
231
251
218
193
175
182
165
197
201
235
249
256
217
251
227
329
203
192
171
291
274
337
204
255
233
211
206
106
238
244
195
205
211
252
160
186
311
249
271
223
196
302
298
165
209
279
286
245
149
169
236
262
295
233
234
193
209
195
309
156
258
242
288
206
211
271
260
214
240
158
265
225
116
179
209
288
259
219
190
200
255
165
279
192
256
294
247
167
225
164
146
301
211
284
209
175
228
239
208
195
242
207
247
129
244
247
247
274
203
318
225
161
256
178
137
242
304
224
202
141
293
297
139
157
209
181
240
177
297
238
308
224
211
253
304
234
267
173
238
234
200
234
268
329
234
204
279
198
213
267
181
297
216
246
185
176
321
246
236
175
237
184
304
160
285
287
182
174
241
258
170
251
234
220
200
221
182
202
235
205
217
161
206
217
152
210
176
238
268
244
231
244
254
190
191
250
210
327
174
223
232
263
241
293
168
154
196
170
233
229
230
178
264
225
268
240
256
276
207
214
192
239
160
221
345
281
190
221
194
260
287
167
230
270
184
223
214
192
191
307
236
198
156
196
256
255
214
158
253
222
230
302
168
281
238
235
288
169
304
289
215
221
210
200
267
176
318
242
294
189
229
214
179
244
217
203
241
150
179
144
169
247
177
241
284
248
214
224
168
216
207
180
218
240
256
245
267
180
233
116
222
194
220
176
244
223
311
261
182
114
202
241
253
222
246
114
172
192
183
215
207
234
210
244
213
193
227
181
195
258
229
317
211
200
207
276
200
191
243
241
177
290
253
333
202
238
206
241
244
198
222
279
252
195
280
280
216
257
300
241
200
236
240
247
217
318
287
222
247
231
235
187
267
267
192
158
187
266
114
246
213
235
214
231
278
215
169
319
221
246
213
291
199
217
144
300
231
257
228
152
277
227
253
139
269
264
191
223
145
160
225
217
244
218
167
144
198
207
248
201
218
183
231
168
163
190
252
264
204
245
270
241
205
218
246
158
201
249
260
178
282
219
268
231
166
195
164
216
191
185
253
235
300
222
232
163
177
293
156
300
185
229
201
259
186
274
236
226
258
316
114
217
224
255
220
218
264
198
231
191
168
225
207
238
351
267
295
251
208
139
327
219
166
106
200
173
239
232
167
206
234
234
284
242
197
192
289
212
203
208
218
268
108
179
193
169
232
279
184
172
218
198
218
228
190
108
238
250
207
238
164
226
196
245
180
259
238
181
152
183
139
226
270
226
299
181
218
296
244
184
224
294
227
192
219
175
216
114
212
220
284
240
248
228
197
250
162
210
232
228
192
188
250
282
279
210
180
262
212
179
219
283
306
228
260
198
186
214
208
152
248
227
215
275
258
215
241
231
246
252
213
270
280
195
178
173
192
200
258
182
178
266
258
235
152
195
281
202
270
222
116
182
243
186
302
211
156
249
241
228
212
155
347
242
319
149
250
196
309
263
218
263
254
208
260
283
236
195
219
228
274
181
299
236
178
187
164
250
235
246
338
205
250
214
195
202
209
216
174
290
181
191
137
156
196
265
311
193
254
331
191
199
270
205
276
249
233
227
207
191
273
167
213
185
288
225
270
259
211
231
214
225
254
139
215
268
151
196
175
222
178
283
239
343
231
278
174
213
159
255
193
180
224
160
178
257
187
232
228
211
293
304
256
260
229
246
224
194
206
147
254
274
298
220
198
246
148
259
196
204
182
262
181
223
192
195
266
235
334
174
228
302
216
158
197
246
223
234
304
181
200
186
198
208
239
237
232
208
222
185
341
243
212
211
264
301
234
274
249
290
263
276
218
234
231
237
231
161
194
187
227
228
210
197
194
217
250
160
283
270
199
196
156
225
267
116
226
241
220
210
268
291
270
295
252
175
186
195
198
221
208
213
237
229
247
202
235
246
238
255
275
188
288
161
114
222
195
252
256
213
268
176
199
270
235
126
259
220
202
216
206
205
168
206
139
211
234
211
312
271
199
337
263
266
277
223
244
240
248
239
183
240
208
257
248
247
199
298
205
232
237
222
232
145
214
156
172
199
245
233
160
203
204
284
220
190
273
228
238
205
211
236
176
267
209
180
213
149
237
151
300
252
267
266
243
250
235
108
233
208
208
214
222
267
203
307
209
211
236
386
219
256
290
228
228
206
210
184
159
193
216
266
302
145
279
238
251
183
210
171
207
192
215
232
267
186
302
221
217
202
267
229
161
215
221
171
279
223
236
321
176
235
218
208
156
290
256
265
169
243
222
146
162
151
166
221
211
230
279
206
212
220
179
222
187
192
283
246
272
232
224
262
208
196
241
269
168
323
232
262
177
228
263
116
246
252
232
184
214
308
232
260
160
166
220
202
192
203
195
256
277
223
233
258
178
240
232
174
228
226
245
226
292
231
240
205
192
129
215
199
130
183
218
193
215
251
195
229
244
213
231
191
228
244
219
191
170
253
253
151
170
184
173
193
252
180
172
141
170
214
222
241
195
208
145
291
116
240
144
220
202
212
234
274
248
232
160
254
244
246
202
253
231
193
196
172
256
151
205
272
145
249
214
248
218
232
185
296
255
181
225
195
196
203
299
213
239
292
220
167
245
266
246
174
216
220
166
266
252
205
313
218
201
151
209
222
206
200
236
286
223
219
156
225
188
166
207
242
280
255
270
194
165
291
114
226
248
218
327
200
160
252
222
239
277
213
202
245
238
258
264
224
199
204
208
114
236
185
234
148
255
355
223
214
182
228
291
283
216
204
193
152
238
236
188
218
254
210
189
216
241
249
176
261
264
187
177
255
206
227
234
230
233
259
184
203
201
200
186
265
223
251
299
219
233
206
213
252
208
249
260
307
267
184
243
227
196
160
234
266
212
260
300
216
216
198
215
251
254
240
254
190
274
238
206
279
239
184
254
271
224
247
170
234
193
180
184
276
224
144
267
285
207
259
178
252
283
254
220
195
264
114
214
152
207
151
235
199
294
260
260
209
183
194
264
114
250
229
299
239
206
256
232
281
199
231
221
263
197
224
176
217
160
232
187
292
198
199
275
214
182
179
206
233
245
160
169
286
222
209
283
313
224
199
254
286
233
175
150
207
181
301
213
261
209
228
224
193
237
235
221
212
186
194
181
235
177
168
249
240
186
183
275
239
216
271
214
254
198
184
169
244
223
180
261
301
116
190
255
289
226
248
179
236
267
187
178
275
258
188
263
188
230
236
156
231
251
220
181
228
264
252
192
289
220
288
218
219
269
249
237
191
139
266
267
268
173
183
215
294
207
275
253
114
218
164
251
214
208
264
275
121
149
189
178
174
210
246
152
279
225
227
220
270
314
258
229
258
212
141
239
212
196
191
245
227
178
205
248
221
247
227
175
225
275
309
234
171
238
151
192
146
258
185
215
289
277
220
144
245
215
239
207
200
221
278
237
248
180
222
219
240
225
214
198
166
199
259
254
194
106
276
290
178
186
226
228
225
152
242
235
219
204
253
209
290
226
261
204
258
196
238
217
184
231
216
256
305
279
211
204
174
287
236
241
181
276
272
236
201
253
222
242
180
233
229
264
166
176
238
218
222
212
259
222
196
228
275
183
210
192
181
226
290
171
212
247
366
249
198
240
179
222
240
302
313
170
178
252
211
238
351
238
178
181
296
149
227
193
234
213
224
216
230
220
180
255
220
310
219
209
245
227
223
221
194
241
173
222
198
211
181
114
188
271
244
213
282
206
197
181
108
196
285
232
244
218
223
254
201
191
256
178
267
179
336
252
235
173
278
200
214
223
292
273
203
185
114
248
158
215
254
160
235
259
281
226
226
233
145
192
146
264
246
114
275
198
195
222
227
212
257
190
211
166
192
215
258
271
199
333
275
246
243
241
232
272
239
176
108
220
240
195
263
262
284
169
211
194
204
214
170
222
197
219
290
284
200
256
233
256
166
195
177
197
256
301
346
211
214
208
196
196
218
209
214
225
220
184
243
217
305
229
191
236
215
225
165
217
285
282
240
269
178
208
160
215
293
198
114
226
235
320
177
238
249
209
211
204
273
189
308
329
268
270
243
222
345
261
250
147
232
302
183
148
256
241
278
196
165
250
169
260
218
149
160
198
202
260
178
158
282
281
235
116
234
246
352
200
160
246
183
197
194
311
235
258
218
163
187
260
179
213
170
240
266
202
239
203
187
240
174
220
188
219
209
269
262
259
242
277
285
245
192
247
343
161
170
216
221
212
249
193
194
114
191
269
213
305
229
191
229
255
246
245
222
231
226
272
237
196
239
334
248
114
182
210
176
201
200
286
196
236
316
215
199
240
252
229
296
249
191
191
380
235
151
246
255
208
247
275
326
196
191
219
195
272
221
216
241
207
252
197
175
229
198
224
221
236
181
189
240
240
165
212
254
229
164
275
263
240
108
293
214
204
198
203
208
254
175
316
224
248
212
121
304
291
190
235
214
180
221
292
191
185
239
189
265
170
166
204
227
230
355
237
152
216
235
277
247
232
157
178
221
222
285
305
248
275
173
240
210
237
223
229
213
259
213
217
184
275
230
264
215
174
151
265
225
224
226
171
284
181
202
230
190
169
206
200
191
228
198
241
225
192
269
241
259
231
166
254
282
214
192
205
251
181
307
269
247
261
260
256
200
309
191
158
220
290
271
245
223
219
310
270
173
192
235
250
237
174
225
326
130
285
231
202
152
224
263
170
252
177
252
223
215
214
224
238
244
250
211
204
173
203
180
214
241
234
202
266
284
278
236
183
250
175
178
184
214
196
213
214
198
269
195
291
256
200
166
186
243
234
250
239
161
228
212
184
175
301
194
224
258
198
170
272
242
243
215
217
298
276
272
197
175
228
382
222
193
295
220
174
106
147
173
174
209
213
228
190
305
224
180
237
213
211
281
176
189
235
275
267
251
148
316
176
211
185
212
239
178
287
268
191
146
309
210
151
230
170
253
295
234
192
235
244
299
265
249
258
235
287
214
299
211
188
191
266
274
174
196
168
271
252
250
251
271
302
222
229
253
170
185
234
257
193
279
245
301
216
233
243
181
327
188
250
188
219
264
297
211
235
220
156
175
145
139
268
222
170
261
172
188
201
114
283
208
247
184
315
208
238
228
237
195
254
284
269
247
312
252
209
258
241
213
248
201
198
277
288
212
240
306
234
168
272
218
134
307
261
180
210
325
247
196
278
305
307
175
210
242
174
252
285
246
210
209
221
309
211
151
272
189
173
267
279
188
254
309
271
193
209
219
201
229
184
243
261
227
156
293
222
192
162
240
184
293
196
307
220
227
225
114
292
148
319
181
254
212
261
266
230
253
269
195
213
233
220
179
198
217
207
282
235
212
231
179
206
262
198
188
200
175
208
144
170
188
207
279
152
243
286
145
219
247
175
224
230
258
222
317
182
156
234
318
176
145
192
160
253
248
202
173
255
269
247
192
177
208
351
239
184
197
345
256
215
207
326
209
235
239
223
181
219
313
180
257
116
335
277
148
243
246
252
248
193
204
210
275
160
192
176
264
243
307
181
195
206
170
289
169
320
195
178
243
209
171
181
170
193
221
246
258
238
247
204
180
188
198
295
114
267
204
194
195
188
229
251
307
225
247
256
208
282
174
199
179
267
218
160
179
231
242
223
207
268
219
170
237
175
205
189
158
235
200
276
262
275
179
186
243
219
245
208
273
246
290
269
253
169
252
265
271
114
183
302
178
250
164
200
149
287
331
217
204
270
239
262
201
234
192
281
224
251
148
233
177
168
240
306
260
193
166
221
175
264
247
240
269
207
215
219
160
175
216
247
223
201
252
220
238
196
208
242
145
173
233
199
234
247
218
200
332
223
228
260
160
202
191
185
229
244
160
279
201
139
229
220
193
211
255
236
235
199
256
208
209
267
159
180
216
182
173
245
206
204
179
251
163
114
173
207
295
292
249
266
170
217
264
114
217
220
250
179
229
349
200
184
335
153
226
146
257
192
199
242
205
176
310
233
233
252
234
201
200
264
178
304
233
293
222
227
297
250
270
182
231
195
237
126
199
198
191
303
217
196
291
222
237
255
233
180
158
239
156
258
220
253
190
281
218
196
185
253
193
212
208
261
198
162
166
177
167
157
300
165
220
241
170
160
187
186
235
314
290
220
249
149
198
185
190
219
182
176
205
233
217
181
220
189
219
213
166
156
188
255
133
220
231
274
181
218
151
177
239
202
272
226
195
139
234
193
204
252
255
221
211
192
239
228
175
207
303
191
173
245
193
217
217
198
258
209
209
275
232
198
248
241
217
210
208
281
241
182
202
195
228
228
315
170
189
221
245
276
242
271
248
305
284
168
222
293
274
292
240
160
181
146
229
176
202
168
141
219
207
198
234
192
170
201
114
273
174
302
227
299
200
290
209
298
191
282
250
164
222
175
213
306
308
252
204
238
177
285
181
272
210
163
196
191
235
170
223
302
177
211
229
235
202
219
170
247
192
254
228
257
234
279
227
222
230
236
239
129
222
252
236
246
272
232
175
282
246
216
252
168
238
156
214
207
178
177
193
327
200
349
219
188
202
175
206
214
224
251
260
219
235
209
269
234
310
256
236
201
262
152
209
270
160
184
193
250
168
139
149
294
239
191
248
191
296
248
214
202
209
222
224
224
191
201
227
216
181
251
282
178
288
149
257
205
303
301
187
181
317
250
206
218
184
257
235
275
176
225
286
170
232
232
187
229
272
160
223
279
227
248
233
231
285
242
276
271
218
195
251
202
299
273
301
190
204
212
205
204
201
244
214
182
278
152
256
178
169
331
225
222
205
213
196
179
242
278
248
257
188
221
208
188
222
157
253
216
263
224
201
214
174
196
206
225
285
256
243
217
222
297
178
212
310
200
181
272
227
263
156
221
240
231
228
260
257
253
275
198
225
230
213
226
213
203
267
247
146
301
172
256
227
152
231
214
164
212
216
255
183
161
236
269
273
244
280
179
176
235
219
224
246
168
187
165
217
188
248
182
209
230
211
204
189
201
206
294
203
248
195
218
279
181
261
230
199
229
257
151
170
206
227
247
126
222
259
288
220
218
271
200
156
228
219
174
271
229
244
220
182
266
184
239
226
224
247
296
165
245
198
254
277
209
269
242
262
275
222
207
220
263
227
190
253
245
239
198
175
181
245
235
152
180
214
247
181
274
209
235
193
340
279
180
160
170
228
216
180
248
164
188
222
226
197
289
139
255
176
202
212
230
305
192
260
218
187
160
251
261
240
225
276
225
232
286
165
234
182
224
285
219
241
211
220
279
284
229
184
294
257
321
219
208
254
238
357
242
255
262
194
175
170
203
216
261
221
266
287
202
258
201
208
176
279
179
166
155
237
198
236
260
236
160
264
262
255
295
126
146
146
193
229
271
234
192
231
258
212
234
273
335
250
178
114
226
263
146
214
221
243
212
284
162
178
234
270
349
195
261
254
251
220
222
302
201
231
276
198
156
169
255
238
180
267
260
246
208
237
315
218
226
274
260
200
214
247
237
328
181
185
233
299
276
213
207
226
193
121
248
240
185
175
220
238
233
210
217
234
221
264
215
234
251
267
242
266
282
206
263
158
182
267
247
185
243
258
222
181
297
163
215
174
168
218
173
223
198
261
309
223
207
181
209
192
152
284
168
237
225
250
223
254
223
196
250
173
192
216
292
191
169
210
271
259
168
282
241
193
160
258
181
282
162
226
180
225
304
220
218
114
180
192
264
260
178
229
218
248
260
116
175
215
174
153
256
205
172
195
129
268
344
254
307
161
185
241
195
204
254
248
195
191
270
187
227
260
245
232
172
239
256
201
299
287
254
307
173
235
222
242
234
309
185
282
218
210
262
166
309
160
240
236
173
248
263
155
215
205
208
126
193
296
192
291
255
262
291
252
305
267
228
166
228
160
213
209
235
283
129
222
294
275
235
208
245
245
206
282
226
246
126
241
287
257
172
252
223
168
234
168
224
268
236
174
145
206
262
251
251
175
189
160
292
146
196
283
243
198
254
171
282
204
313
225
160
177
234
272
210
221
178
275
238
305
233
252
281
224
264
165
268
219
270
231
264
246
203
214
235
210
269
268
314
163
215
282
259
222
258
212
261
108
303
250
289
186
179
252
176
294
221
218
217
245
198
253
179
244
191
177
280
333
298
207
198
203
242
165
196
166
276
213
209
235
240
214
212
179
240
114
180
267
312
261
214
248
204
205
212
186
229
294
196
160
166
254
200
178
256
218
260
206
200
254
190
227
195
230
247
141
249
244
229
248
236
152
231
221
223
272
192
149
169
283
282
152
164
255
263
263
207
234
214
241
238
252
193
169
333
156
343
218
251
263
367
213
274
245
247
223
263
187
213
163
260
194
208
208
223
219
313
185
114
276
145
197
271
149
207
277
270
286
303
239
228
214
213
254
223
290
218
238
241
256
291
210
162
251
242
184
229
188
327
139
251
241
318
215
165
218
221
206
215
221
249
294
192
145
223
184
165
228
296
218
249
181
252
186
251
155
306
264
226
208
209
167
328
213
229
303
196
279
205
246
246
214
219
242
217
283
174
192
234
271
204
126
232
241
174
243
228
148
151
192
287
243
228
161
278
211
170
298
258
177
307
160
145
303
257
237
192
221
264
114
198
241
242
236
251
227
252
266
236
114
212
279
232
293
299
227
228
243
232
276
203
194
219
225
194
201
178
288
233
295
181
312
157
196
257
204
211
217
218
264
287
216
229
160
207
224
212
216
281
256
144
224
170
194
243
168
279
211
205
149
286
211
216
258
284
267
220
308
264
271
211
207
242
167
151
155
238
255
236
265
208
247
106
221
114
244
280
213
189
173
200
170
223
218
210
198
205
215
220
231
229
162
264
219
191
252
243
226
333
291
184
211
164
225
114
246
246
256
204
216
214
275
237
229
232
203
320
258
238
172
209
181
184
193
194
154
274
268
240
192
236
203
208
275
263
198
297
189
265
180
253
258
156
181
275
275
215
170
193
212
121
285
214
220
133
190
245
256
132
223
214
243
291
206
203
220
252
256
225
245
126
200
195
170
299
198
271
244
241
189
265
197
222
181
184
192
199
114
311
226
218
229
183
213
186
220
219
218
211
340
268
309
179
215
209
258
261
208
211
223
195
199
259
208
139
168
229
185
187
152
165
246
211
195
290
256
184
210
276
300
240
218
207
346
224
241
234
233
205
170
271
176
265
224
146
229
206
151
268
315
203
225
279
212
114
179
170
265
229
320
156
325
259
208
212
278
192
229
198
287
251
148
284
242
192
260
230
297
232
262
238
259
187
181
239
246
253
157
252
297
179
157
235
232
199
204
254
192
238
253
175
283
198
246
162
246
144
223
235
253
245
230
185
251
206
258
231
249
187
280
247
233
303
319
139
259
238
198
160
200
195
176
244
209
212
252
248
297
231
338
243
223
261
241
177
214
208
316
184
204
230
227
160
272
240
211
285
224
215
200
232
209
198
233
247
314
249
180
224
286
234
152
220
228
213
215
249
261
263
235
213
228
169
184
168
204
252
255
178
333
244
232
256
266
211
213
208
246
158
194
199
192
192
192
235
255
258
180
277
234
271
265
253
212
206
299
200
196
316
207
211
263
213
269
216
240
276
333
174
234
174
246
209
305
252
271
207
114
183
245
173
249
181
156
277
198
256
221
163
234
186
253
216
188
332
297
166
227
191
180
233
257
144
192
254
233
303
158
152
215
240
297
178
202
196
263
200
283
196
210
254
174
165
244
215
222
249
165
155
212
247
217
215
205
217
207
215
187
230
191
261
270
153
190
214
225
178
169
215
167
189
168
181
130
354
238
226
180
165
194
144
214
249
248
215
276
246
213
239
201
261
194
207
272
314
233
180
221
152
249
178
237
174
267
332
334
310
193
303
173
189
248
274
202
299
259
205
161
289
175
264
230
195
182
238
278
192
215
229
189
259
258
164
248
185
247
165
256
178
220
218
236
306
206
183
163
164
247
151
160
247
222
284
187
282
259
114
223
199
313
182
218
215
271
223
233
291
215
257
253
246
195
179
175
214
233
108
198
299
196
251
270
239
245
154
242
185
209
206
200
237
254
216
267
114
121
229
267
253
198
257
253
164
200
271
240
168
227
306
317
245
228
161
275
216
154
259
266
203
200
229
151
169
206
296
230
180
241
194
193
209
172
221
371
214
181
238
216
152
234
297
170
205
204
238
208
300
207
192
195
253
262
183
139
247
211
299
238
191
195
213
248
179
179
217
251
250
211
211
268
253
247
221
201
221
152
212
151
192
295
187
270
207
303
292
220
186
280
165
265
250
191
295
217
192
206
285
259
195
230
191
261
155
234
208
241
196
224
270
242
221
270
259
177
236
310
227
163
208
235
191
231
211
196
209
275
130
265
212
174
220
214
160
202
222
208
182
253
259
289
244
232
253
227
181
257
233
218
239
192
209
212
307
245
262
181
194
235
313
251
149
250
224
223
190
250
185
191
245
289
234
202
300
231
184
114
240
129
164
228
245
311
255
177
242
154
196
258
203
229
193
258
253
203
239
139
177
116
251
190
201
244
206
176
204
230
165
226
247
228
247
308
179
291
191
231
178
225
254
108
158
152
306
277
126
187
247
196
280
203
183
283
200
224
276
247
228
221
259
234
235
231
241
224
248
239
234
240
193
209
242
181
202
215
301
205
222
170
214
303
167
234
213
174
181
233
235
236
228
226
223
257
277
190
222
239
205
229
266
174
301
211
167
238
185
262
231
261
234
278
193
265
236
219
238
160
226
220
248
233
218
114
211
171
227
168
235
191
193
225
272
186
191
265
182
238
170
226
197
266
232
294
200
243
245
162
269
195
248
130
198
185
175
236
217
197
266
265
229
128
241
164
237
257
167
220
255
257
276
214
275
201
276
178
213
304
312
235
191
241
185
260
144
194
309
180
281
186
170
251
274
214
327
186
229
225
324
233
213
189
208
221
162
248
217
170
114
152
180
194
288
225
208
175
232
225
335
256
170
256
273
213
193
195
108
251
264
246
165
269
229
203
196
255
175
180
203
255
269
221
220
289
240
229
249
241
167
245
276
126
280
178
272
214
175
252
198
171
251
205
236
200
229
246
270
114
281
168
168
167
195
228
152
226
190
189
305
218
276
201
186
247
175
174
160
203
215
258
213
157
243
206
219
196
229
227
185
276
231
327
249
220
330
249
266
180
184
213
247
158
184
198
233
272
180
221
234
235
263
230
296
262
191
253
244
200
173
211
280
232
175
272
208
235
260
211
289
247
196
180
213
243
165
247
232
196
193
293
256
235
229
212
238
179
228
222
223
291
186
258
220
218
224
174
197
278
225
263
176
258
185
205
313
246
284
227
204
204
280
166
309
182
188
225
230
233
196
349
254
265
260
165
191
208
232
227
207
251
221
146
255
200
259
165
235
283
306
178
265
241
209
242
236
425
269
236
126
225
192
139
333
194
239
212
156
223
237
195
235
218
283
255
290
217
261
314
152
207
247
314
262
254
210
231
272
242
268
219
205
253
235
247
126
231
211
297
173
198
203
171
283
321
274
243
192
193
171
238
224
155
247
244
178
225
409
235
196
159
215
209
208
165
215
234
245
284
250
207
154
227
249
165
193
270
236
271
246
145
193
232
279
263
194
149
174
226
238
203
230
292
238
174
220
264
241
278
262
244
233
185
300
248
238
202
253
198
255
240
149
208
285
200
114
227
257
227
168
196
195
156
222
221
235
238
152
247
203
217
260
152
269
221
213
259
182
212
192
206
159
241
195
249
197
242
232
247
179
240
179
194
184
215
191
185
238
195
202
231
215
223
160
231
216
114
207
271
177
216
262
198
213
225
186
248
189
235
206
320
278
243
219
237
321
251
234
242
188
186
249
173
280
323
176
208
317
235
288
206
352
174
114
236
154
147
200
290
233
246
114
193
269
244
221
265
205
247
239
301
250
216
194
215
180
204
234
314
224
245
202
250
255
213
204
200
175
241
196
278
240
195
234
209
209
211
228
220
202
178
227
185
224
237
174
224
215
210
301
250
184
258
222
317
179
285
147
152
173
244
227
210
198
161
254
181
277
171
145
214
194
211
200
174
204
197
205
213
139
232
223
201
243
210
236
226
274
245
121
302
250
150
283
200
253
272
170
233
217
174
267
234
157
223
241
241
251
248
199
265
215
242
234
215
254
196
288
211
222
261
227
215
152
215
228
231
272
240
209
164
237
340
242
306
247
217
220
162
209
233
253
199
173
220
299
312
241
183
200
191
280
219
264
287
195
244
253
198
244
195
184
355
208
202
256
354
202
244
160
216
225
230
139
213
205
196
195
275
238
211
236
241
217
207
180
263
242
247
269
209
170
193
114
228
299
170
232
236
238
201
233
259
227
198
233
201
222
205
191
220
215
285
228
239
179
225
232
223
242
225
218
262
235
228
281
261
193
211
265
219
240
296
192
177
199
179
236
181
283
186
156
245
206
251
203
247
183
193
260
295
319
251
174
314
253
246
140
218
192
242
212
229
270
237
108
200
263
180
170
280
274
246
270
193
230
274
258
208
226
183
253
174
235
278
314
245
212
165
229
288
182
285
264
160
213
175
157
253
261
227
152
234
258
179
214
195
219
241
237
254
212
263
199
223
196
204
200
261
232
215
187
178
245
250
182
225
139
200
301
237
192
234
241
144
288
319
181
209
230
216
233
183
215
197
182
193
212
178
211
205
300
234
194
336
272
186
256
306
301
262
194
240
256
252
277
238
239
160
209
194
247
237
220
195
195
176
314
268
307
251
159
218
220
212
255
181
238
209
244
259
244
202
216
199
218
114
214
160
227
319
126
208
253
287
181
227
308
224
221
223
216
248
283
215
172
265
233
221
305
181
310
245
198
283
212
232
197
198
279
302
198
233
223
323
255
257
236
175
240
226
210
225
337
234
252
217
255
320
212
257
251
226
221
174
273
179
272
262
268
258
352
255
227
168
216
257
287
206
255
273
180
191
209
243
204
229
204
207
158
262
219
230
244
227
278
203
222
249
235
251
245
249
262
209
189
296
227
229
185
279
240
232
261
192
279
201
225
249
203
213
185
219
196
317
214
276
227
177
139
235
221
262
271
178
259
248
334
238
240
276
189
162
204
241
222
192
193
193
203
192
234
213
233
181
193
218
194
187
181
279
232
126
169
233
318
240
139
234
213
204
185
257
168
187
193
142
232
194
318
169
198
249
263
240
186
260
181
251
145
256
192
260
277
303
295
146
239
184
252
175
316
213
260
328
219
291
205
121
250
198
186
273
251
212
114
196
242
157
258
234
199
237
211
191
281
254
228
219
231
241
214
235
206
137
242
194
226
218
145
139
222
198
202
198
216
247
218
221
229
154
273
232
195
203
282
259
236
259
278
242
191
253
196
245
145
229
256
271
157
267
231
146
220
274
221
265
197
199
282
198
231
265
246
283
209
195
151
175
264
233
200
249
198
243
181
226
218
276
279
177
158
215
192
252
254
201
271
260
190
240
140
248
238
200
179
191
166
239
272
233
195
239
114
222
270
272
256
162
281
211
174
355
238
293
225
236
217
218
270
175
221
245
253
184
263
174
160
211
178
203
234
196
300
293
254
191
258
276
272
290
274
209
239
198
235
279
225
289
264
258
300
205
277
237
306
245
203
216
271
217
212
265
258
203
222
232
221
154
168
246
308
232
243
267
218
213
265
229
325
242
186
191
197
184
215
193
293
256
208
222
231
181
229
217
222
263
232
228
228
235
257
322
287
229
276
200
197
238
284
199
251
233
179
259
262
244
274
205
245
353
275
318
204
272
227
240
199
269
188
148
162
218
223
233
256
214
222
296
253
249
237
209
230
186
238
258
165
239
192
216
232
200
190
185
285
234
273
257
188
172
191
198
198
198
223
203
293
197
173
194
180
210
277
276
204
264
247
235
240
270
203
277
235
281
232
149
245
198
230
234
204
231
166
272
256
284
240
297
265
258
277
114
208
179
256
181
159
256
198
275
232
277
337
198
209
306
160
226
212
246
253
196
203
287
243
245
273
204
312
286
200
182
212
208
249
129
277
179
206
251
177
192
207
217
258
200
267
193
234
199
274
186
196
314
235
245
223
220
223
210
159
186
126
195
255
197
177
263
288
225
210
221
246
187
217
253
207
167
198
194
225
256
249
209
244
201
261
192
200
177
251
248
181
145
148
238
190
271
189
279
295
198
223
207
259
155
228
210
308
174
250
220
156
222
252
292
183
258
252
200
255
221
231
178
318
176
144
202
176
276
236
252
196
238
175
210
304
190
304
249
171
280
245
205
210
170
206
211
216
219
249
173
211
155
254
245
249
108
260
182
215
226
243
206
198
200
248
262
184
177
160
289
154
250
300
161
229
167
157
182
209
178
220
215
269
212
211
260
154
234
294
231
215
230
204
303
218
184
181
197
200
224
213
208
187
220
189
171
206
247
178
180
227
255
292
227
114
258
193
206
257
214
205
219
234
214
246
199
116
170
194
182
212
276
260
238
220
183
218
221
253
208
229
165
192
276
249
237
152
197
260
161
210
302
194
114
270
277
177
255
231
194
185
203
249
267
278
215
283
179
197
267
179
202
249
199
277
209
235
219
209
139
237
279
263
231
248
173
226
268
311
164
170
224
314
179
260
284
152
251
228
216
162
231
181
153
195
263
140
290
108
219
256
223
210
285
165
281
250
296
329
213
220
217
213
272
294
246
241
212
165
116
262
184
197
197
218
179
181
292
209
299
228
238
205
250
195
174
163
175
220
300
255
263
192
180
139
209
313
273
219
258
207
216
192
231
263
248
277
231
251
315
250
184
248
230
285
310
230
296
197
197
225
281
283
164
157
241
253
205
253
220
225
218
158
234
149
224
211
235
152
297
214
192
193
200
235
292
218
287
167
207
271
238
191
261
250
224
283
311
309
294
307
180
275
201
178
198
327
170
191
273
275
222
276
280
234
236
317
264
262
209
217
229
200
237
181
244
248
229
191
239
188
146
154
239
256
217
221
286
239
344
227
237
338
280
218
233
254
234
152
229
241
261
199
209
253
233
146
256
340
203
301
256
273
245
208
206
226
244
246
225
208
152
251
214
319
167
180
349
248
264
306
154
297
195
243
358
273
175
137
208
173
155
225
212
204
247
277
205
287
235
219
173
251
266
286
244
233
230
290
246
306
204
203
130
158
193
181
151
329
308
211
214
192
185
164
274
200
261
192
244
196
213
217
299
235
199
233
262
253
206
227
204
292
238
211
295
171
217
226
225
250
197
219
212
175
227
189
196
160
255
204
272
301
162
264
200
187
321
222
279
243
270
235
231
214
229
215
227
220
259
254
177
196
196
305
219
230
283
114
162
174
256
237
284
262
199
230
302
248
222
255
188
262
255
243
201
242
203
253
208
251
248
197
252
178
254
289
297
201
233
182
219
218
261
193
263
239
205
234
170
262
251
251
257
225
201
226
252
192
202
225
209
294
139
275
237
227
242
307
281
160
200
188
240
170
218
156
209
212
268
179
116
199
210
243
148
249
255
320
327
268
229
185
224
309
283
190
196
248
243
218
203
225
218
194
210
199
235
330
146
267
241
220
247
222
208
160
220
215
253
158
248
251
239
253
290
156
245
285
219
207
286
235
227
250
237
217
269
262
168
249
198
258
232
271
258
214
180
250
211
239
247
237
279
157
227
221
198
114
213
222
261
187
194
266
204
256
310
173
235
219
178
286
240
232
192
252
162
263
213
182
161
197
268
253
178
215
248
191
206
260
228
193
206
266
251
253
230
214
231
198
180
218
159
154
207
235
196
226
198
222
280
222
218
311
260
108
193
261
232
149
201
208
203
246
248
186
302
229
280
209
185
198
220
199
183
191
168
218
220
227
275
246
187
198
222
211
161
217
210
151
264
173
235
194
188
236
175
216
275
108
231
239
260
200
237
258
171
181
259
246
230
266
213
184
243
289
205
156
158
252
208
281
199
195
248
170
274
216
179
219
184
238
267
237
232
246
273
236
269
237
197
236
180
224
287
264
181
274
154
230
220
238
317
204
194
261
223
217
245
178
280
291
245
218
255
253
247
239
230
174
191
192
310
169
191
153
215
235
206
241
114
272
167
256
240
233
237
184
204
227
191
247
295
169
278
265
116
222
195
187
191
242
293
286
277
256
270
201
310
185
270
236
251
173
165
280
285
229
254
147
114
173
216
187
203
195
106
193
240
191
234
177
294
170
190
194
218
233
196
185
173
284
158
279
276
231
246
231
250
186
229
166
265
261
183
208
237
269
230
222
166
216
222
212
240
158
206
311
273
202
214
237
232
205
255
318
220
181
180
216
281
220
233
242
209
209
220
190
181
212
211
239
205
259
220
224
255
237
192
185
231
181
222
275
160
205
237
192
179
214
206
229
206
262
267
146
212
222
209
283
349
169
212
228
204
253
254
344
230
201
164
193
225
236
216
182
198
181
239
283
221
185
261
238
222
215
205
220
157
273
201
160
208
215
187
197
255
244
149
237
203
242
277
323
195
195
213
242
186
191
235
147
251
240
334
206
181
191
291
221
272
280
247
260
217
253
135
158
279
223
257
191
252
263
227
173
163
217
273
230
287
179
137
256
244
178
203
162
154
208
201
294
299
262
227
222
212
213
279
177
152
156
247
356
151
173
263
268
222
240
227
168
246
236
211
215
281
200
114
249
279
217
238
213
241
202
211
204
244
219
292
222
236
161
214
237
234
194
173
246
225
218
189
269
219
185
193
212
198
225
188
309
172
215
189
290
285
239
220
290
237
164
213
199
202
254
216
188
237
191
249
166
235
228
228
258
201
297
204
245
310
211
258
168
189
316
183
233
194
260
230
178
324
203
232
211
181
219
260
151
263
170
349
213
223
289
164
210
257
279
144
216
212
274
225
207
236
259
156
186
232
231
202
201
221
253
168
245
269
291
229
200
194
225
203
262
282
178
300
259
225
218
250
266
148
357
219
259
261
250
280
244
294
284
229
333
355
290
336
165
206
195
159
199
177
294
281
134
207
204
313
217
214
204
289
187
261
221
192
209
252
149
245
234
190
158
180
204
169
289
270
260
247
236
208
168
181
159
296
183
149
223
198
278
209
242
240
207
232
243
317
264
211
300
240
220
256
206
304
272
252
222
278
151
183
221
260
194
201
280
340
266
285
167
235
228
276
249
268
238
210
243
235
114
152
249
210
224
233
225
274
347
220
209
207
237
160
252
223
272
208
251
114
237
190
250
276
213
295
230
246
209
243
210
114
148
202
284
159
228
190
183
276
258
245
200
244
185
281
284
238
253
259
289
237
313
284
239
149
258
264
216
262
245
239
304
175
173
167
253
219
234
251
206
223
177
183
191
291
211
242
190
266
220
243
229
273
284
226
268
226
207
207
259
194
234
241
221
241
211
258
216
204
228
240
214
320
199
252
213
170
215
253
176
236
159
211
248
263
303
256
247
311
278
202
178
201
145
248
243
185
195
202
194
290
146
241
248
258
282
225
213
173
191
231
311
234
263
180
274
207
224
261
208
169
212
211
213
236
247
201
208
232
238
217
279
227
209
252
263
230
145
255
189
263
275
211
212
293
308
181
238
163
196
160
161
177
278
290
114
257
267
246
189
207
215
174
192
211
248
277
177
216
182
232
253
240
244
213
195
235
208
230
271
198
199
226
271
246
247
234
253
178
274
258
266
169
247
278
210
202
161
223
223
262
193
202
235
233
279
166
225
259
114
272
214
288
231
214
146
211
161
269
258
196
181
209
263
300
301
189
275
177
222
198
244
208
188
189
149
249
301
220
178
180
204
290
222
304
233
149
199
194
201
156
216
166
211
144
294
194
178
188
268
240
208
170
168
209
285
232
238
207
140
219
192
244
245
224
168
278
262
265
209
157
199
260
218
245
231
189
227
305
254
220
199
198
165
148
246
265
289
192
237
178
206
221
209
214
254
254
197
288
173
232
282
114
227
305
156
207
205
238
214
290
114
216
219
223
224
208
183
225
219
229
265
126
203
283
255
195
246
176
192
289
227
205
196
184
237
225
186
293
249
244
217
302
263
147
172
235
239
186
222
309
202
170
163
168
224
255
290
163
226
193
275
173
230
220
221
268
229
215
221
198
329
211
282
205
221
202
252
197
286
196
152
182
178
188
200
308
189
232
189
218
206
170
160
198
269
248
203
233
245
226
239
167
319
262
203
241
257
236
200
155
238
255
186
143
183
203
161
359
250
232
284
239
201
160
208
209
202
190
307
177
314
146
233
280
204
265
271
298
208
194
212
256
200
269
266
214
281
235
212
151
209
241
273
248
181
241
224
186
247
267
235
266
232
241
211
225
270
114
139
114
241
284
207
327
203
248
194
287
181
230
258
188
191
218
219
223
239
209
198
251
152
199
257
219
223
160
224
260
252
213
216
230
179
140
265
281
173
249
279
189
246
241
165
251
228
156
171
218
273
170
269
213
215
169
192
242
206
206
149
174
269
214
218
175
231
177
251
247
237
145
284
160
243
210
255
279
190
239
304
114
283
184
309
227
183
140
272
152
156
247
260
225
194
211
245
215
205
267
252
289
256
248
139
218
209
282
222
156
175
126
188
207
279
182
230
202
265
282
243
194
192
202
216
270
175
290
245
214
238
236
253
187
164
201
234
291
172
248
251
201
175
201
228
239
230
170
246
160
228
274
269
226
175
189
203
177
256
215
226
232
200
292
233
223
130
141
219
174
239
272
270
192
173
234
185
198
238
254
179
168
260
244
164
192
309
198
196
175
280
196
253
180
203
206
208
240
263
200
260
231
152
224
274
195
212
197
206
234
300
244
180
176
201
176
244
139
156
170
254
263
208
209
291
259
208
168
208
169
139
217
271
173
208
201
196
267
166
195
226
139
281
275
227
291
207
194
219
263
224
246
253
248
269
235
181
255
205
175
252
224
271
209
158
181
208
299
241
144
231
178
187
158
175
280
243
234
209
196
173
183
248
273
208
215
263
149
198
192
219
284
261
225
259
229
175
198
184
217
191
277
189
190
167
214
156
365
198
229
217
279
195
240
215
244
228
235
253
256
182
189
220
189
206
200
201
219
234
202
227
174
261
152
299
197
204
152
205
249
235
239
231
250
225
178
230
246
197
217
237
320
194
158
183
210
266
235
234
234
311
260
252
319
160
230
261
208
220
146
249
297
170
295
183
218
232
202
272
307
202
195
193
213
275
190
213
315
222
244
228
242
151
169
255
170
146
181
216
253
268
278
232
168
186
245
198
219
210
209
187
221
193
308
227
276
257
175
294
210
222
287
170
241
216
152
247
233
186
158
240
216
249
247
185
282
144
192
166
222
268
223
216
249
165
243
212
173
260
161
220
251
229
223
156
273
268
205
288
200
236
206
183
210
280
234
255
148
221
205
291
252
244
223
261
275
267
227
267
213
181
204
198
243
304
195
277
114
219
151
192
261
168
178
242
234
219
208
210
169
187
181
256
240
232
207
323
196
200
152
223
191
297
212
175
227
194
219
259
114
222
262
331
181
282
229
184
239
264
226
184
114
152
198
304
282
208
203
201
282
227
263
312
222
169
214
277
175
235
252
183
155
170
223
236
185
237
260
213
149
247
193
204
258
294
210
214
302
206
317
319
251
190
341
290
271
222
225
158
233
144
178
235
224
230
257
188
335
207
202
325
235
239
184
237
227
161
212
192
199
237
243
142
218
191
169
106
181
306
198
169
224
287
257
251
198
290
246
222
293
251
223
192
251
183
108
232
248
241
182
173
210
321
261
225
172
205
179
164
194
196
249
210
165
200
196
228
250
231
187
272
209
262
193
205
235
208
152
225
211
266
233
220
232
286
114
220
288
297
219
309
186
116
194
259
266
206
220
325
209
256
223
204
248
222
185
301
301
204
279
241
222
210
287
196
114
280
167
279
225
178
326
178
204
114
216
284
175
178
269
250
156
203
215
199
222
204
185
200
177
208
212
252
263
126
261
270
235
169
211
207
226
274
246
205
201
206
232
236
262
188
242
176
190
337
173
180
215
252
212
225
271
219
335
237
236
262
202
220
242
175
160
210
187
261
248
212
201
248
163
243
231
249
223
213
200
228
209
221
222
273
176
280
187
149
204
270
130
220
218
308
263
224
263
193
288
234
191
171
216
263
222
294
238
302
188
126
279
171
266
249
233
155
194
190
347
206
218
227
185
217
284
247
258
195
259
210
279
143
176
209
224
226
212
183
281
228
178
198
230
126
178
270
296
236
218
209
219
276
225
229
186
233
202
170
275
165
325
161
222
211
265
188
300
228
200
235
183
212
221
161
229
316
306
173
192
255
310
244
170
246
130
215
234
247
241
230
204
261
196
227
181
219
258
216
248
211
291
194
234
247
245
191
242
134
198
273
170
250
241
220
160
219
264
281
212
227
288
164
121
213
203
241
266
339
225
192
184
200
174
226
287
114
291
244
251
279
274
223
235
174
234
257
235
302
151
193
269
175
156
239
207
275
300
201
204
299
193
298
216
292
245
181
126
271
274
197
251
354
186
197
260
170
223
249
201
214
280
250
243
164
317
234
144
299
248
289
174
252
162
200
205
261
200
192
199
220
257
264
212
238
166
316
258
242
269
332
270
198
294
295
278
156
207
243
250
269
247
267
273
280
302
229
202
300
222
151
156
301
289
196
237
248
277
263
314
264
254
238
301
182
194
229
156
243
288
168
249
263
260
276
196
272
244
222
256
242
191
309
234
206
334
187
175
212
215
174
207
345
298
216
235
180
207
108
321
267
260
219
242
186
221
276
242
199
184
224
248
233
247
314
196
273
242
227
228
268
215
299
255
210
192
198
301
209
213
244
232
315
262
247
294
276
203
209
190
126
267
288
238
279
203
247
242
278
208
221
266
242
262
202
239
209
203
239
220
271
201
298
174
198
261
141
326
233
187
238
234
283
267
241
327
231
210
232
193
309
201
269
242
165
297
266
222
282
154
216
231
158
243
315
182
243
188
285
266
272
260
314
239
164
170
237
193
234
195
255
171
223
166
195
194
253
249
217
325
243
217
139
297
261
242
216
206
226
314
248
255
236
243
255
216
213
155
281
325
156
276
233
250
233
234
178
233
193
162
204
232
175
198
187
152
208
259
245
210
210
196
168
268
238
180
204
170
173
218
152
338
213
270
206
283
172
260
221
180
184
220
240
179
209
308
217
212
221
254
226
288
250
199
212
155
226
237
281
213
149
185
192
204
285
186
186
242
235
236
143
175
312
350
247
173
255
161
261
269
184
269
230
161
259
239
178
194
225
272
272
188
226
275
226
193
192
270
298
173
231
226
208
254
197
239
179
267
275
194
244
274
166
290
130
246
261
145
254
162
268
178
301
233
267
210
296
108
183
249
173
233
155
268
229
182
205
309
197
177
228
188
200
235
305
151
196
214
195
184
161
196
192
232
222
279
238
152
221
272
257
192
247
235
243
267
159
269
160
252
273
243
276
200
265
250
284
208
191
250
225
235
188
289
240
181
184
193
228
219
267
283
229
281
210
241
204
246
204
196
170
167
218
172
174
222
264
222
212
267
219
214
233
247
247
272
222
246
116
238
216
183
242
250
253
302
282
247
307
187
279
267
318
210
357
190
289
166
231
287
170
175
267
211
220
247
195
165
305
198
306
235
188
190
154
259
219
251
245
114
174
273
221
209
235
160
193
211
270
209
172
167
228
173
236
238
234
295
219
233
306
237
222
170
207
165
276
183
227
190
287
198
255
244
241
209
208
314
349
242
161
228
139
211
187
288
228
199
281
233
233
234
227
176
208
232
208
272
191
241
180
347
224
191
241
180
215
262
258
285
233
290
247
276
261
266
244
272
205
221
274
200
228
310
225
218
240
189
196
208
226
289
218
202
285
241
218
281
297
198
221
289
298
210
255
161
284
258
220
206
295
192
291
231
195
289
209
286
295
257
217
233
147
204
223
235
202
201
196
210
203
238
180
301
214
234
240
210
161
215
235
204
216
258
206
255
218
256
213
301
255
208
284
176
234
229
196
203
189
170
170
220
302
198
236
236
224
301
210
259
312
219
343
262
234
253
220
227
139
270
222
176
156
178
271
216
259
130
267
177
161
152
256
224
301
199
228
328
195
248
202
346
253
211
144
211
257
156
257
171
156
214
257
225
219
324
149
252
314
182
175
176
214
175
203
206
242
269
174
183
205
175
148
173
167
263
247
212
204
216
257
172
219
266
230
181
114
228
215
168
272
187
194
219
235
165
222
173
186
191
280
192
170
294
219
188
179
208
289
230
283
207
240
195
265
277
170
212
318
212
252
267
174
226
211
248
231
245
267
242
241
231
228
221
196
200
237
214
137
217
181
183
220
208
209
170
252
203
262
267
227
228
231
235
202
287
267
186
246
214
204
167
223
155
193
231
190
282
264
181
228
191
169
280
297
287
252
287
155
249
241
178
258
280
184
232
277
203
170
218
269
203
165
203
282
195
247
114
276
214
219
228
261
297
287
194
190
164
192
263
244
205
225
156
268
224
262
216
161
262
250
180
244
147
193
213
180
300
272
182
254
268
277
185
209
179
212
187
195
239
168
252
181
231
269
234
193
191
226
234
249
148
221
201
223
234
175
223
218
245
214
280
242
239
188
221
315
198
212
266
172
193
245
182
231
176
222
237
233
235
219
272
148
175
243
192
227
292
160
166
256
221
228
156
203
245
199
222
160
273
191
321
187
181
211
212
234
263
216
262
180
243
278
180
333
184
222
225
269
214
186
202
243
231
255
231
228
160
149
203
202
317
220
169
250
218
211
250
217
234
210
333
254
192
261
198
146
216
213
179
244
180
114
196
165
265
267
230
178
219
298
182
260
264
149
245
231
227
269
229
272
256
216
239
239
136
196
246
321
234
245
278
318
156
252
225
195
212
291
204
276
252
191
170
295
230
241
234
162
148
223
224
270
154
156
303
180
270
254
166
228
177
203
156
156
175
193
254
152
246
238
223
261
154
229
160
208
167
198
192
202
246
255
229
291
255
252
240
224
225
204
235
278
286
224
230
205
256
194
243
260
178
226
215
240
288
245
274
203
300
171
257
167
223
298
192
228
284
161
208
174
216
227
336
250
258
251
191
230
246
261
274
262
260
173
247
156
203
247
169
180
276
284
194
233
292
179
276
300
234
273
223
166
194
205
228
208
147
170
231
228
252
229
306
158
232
225
187
281
233
261
156
296
218
263
253
196
225
230
166
231
240
251
231
277
214
207
267
223
184
106
277
297
178
260
158
251
206
248
241
227
169
170
289
245
294
180
106
218
246
282
211
145
270
241
157
156
297
279
224
233
202
353
239
251
269
239
191
294
258
243
152
218
189
179
295
202
277
173
185
253
205
231
216
228
285
215
248
196
213
211
146
245
114
190
253
206
152
246
202
347
228
283
292
217
312
167
257
160
274
234
274
290
249
235
270
168
222
225
199
222
164
259
222
255
193
262
256
244
295
229
226
244
159
223
228
287
181
206
253
227
201
265
239
396
237
186
240
323
247
114
266
210
255
218
160
290
168
214
258
192
168
208
245
196
245
250
243
251
225
222
209
183
158
281
266
203
341
226
224
300
188
177
260
259
154
170
220
199
242
205
210
179
294
213
209
293
247
249
212
273
348
253
229
152
233
235
239
225
208
208
234
235
195
209
191
260
248
309
163
260
273
232
193
331
245
234
295
285
288
224
197
207
203
194
261
208
283
169
299
298
282
320
257
195
181
268
196
252
173
244
286
160
292
293
141
196
179
181
167
269
217
276
239
145
203
280
219
181
200
228
192
231
184
309
157
246
270
194
266
250
186
252
249
190
219
215
211
216
183
226
263
274
188
246
272
204
216
195
261
304
195
126
193
310
217
214
152
241
204
238
178
258
239
277
200
175
210
210
248
160
202
319
236
244
209
283
222
212
216
301
139
169
184
198
192
200
175
193
311
205
183
188
226
198
195
271
215
191
226
194
193
244
211
195
308
179
191
239
230
200
238
217
224
263
189
342
114
291
290
244
278
233
159
220
246
210
198
211
181
250
270
193
170
180
177
148
260
270
129
292
221
216
253
114
212
179
224
208
308
239
205
240
165
215
191
196
191
213
264
205
240
194
254
191
267
221
139
186
114
308
180
194
178
140
231
211
173
190
162
179
302
173
190
173
206
248
227
196
181
208
211
192
206
187
267
126
280
154
285
237
194
193
238
260
214
261
186
225
249
171
241
246
151
223
158
200
241
245
257
242
196
156
229
296
224
283
233
223
192
259
279
305
191
230
195
165
195
242
159
174
269
240
166
193
181
275
315
160
240
219
280
305
268
219
193
255
179
318
253
297
252
247
217
228
211
257
228
215
195
261
335
217
203
241
281
287
297
233
235
205
311
234
184
240
248
182
210
176
170
201
243
273
249
269
242
254
126
170
232
170
251
244
198
277
321
305
203
269
242
244
274
300
180
215
301
202
228
169
177
270
161
252
170
209
301
227
202
298
225
223
152
139
178
297
213
146
160
192
219
325
190
242
268
188
225
236
192
247
114
308
174
269
280
188
224
262
236
245
177
267
248
213
281
195
260
188
183
234
278
191
173
173
227
189
208
185
265
321
331
226
154
198
160
298
272
189
220
175
252
170
152
220
247
275
239
196
242
249
223
291
217
165
228
198
130
238
187
215
191
192
242
205
164
251
160
214
211
227
306
202
151
263
225
234
149
237
244
198
212
182
272
114
152
206
219
209
175
251
144
350
229
184
169
251
114
255
272
220
253
168
270
181
184
253
312
176
205
255
249
251
147
275
183
258
236
208
191
160
203
175
286
260
273
208
257
322
266
295
214
184
222
184
192
184
294
234
233
192
180
214
324
214
288
235
237
175
277
180
228
208
256
184
222
237
189
248
218
208
221
182
179
191
170
278
129
205
217
164
236
258
237
206
186
269
304
239
238
180
288
192
141
206
191
192
202
299
219
304
257
170
201
206
252
222
287
251
216
191
255
222
221
273
173
187
239
218
208
270
247
226
203
192
166
202
176
232
345
269
231
181
248
245
199
170
218
248
174
224
246
157
223
248
149
202
217
199
239
173
200
245
248
226
259
178
198
201
208
190
300
240
166
223
210
287
217
168
170
150
161
193
228
198
200
250
185
181
248
266
169
203
261
234
129
275
173
188
247
226
152
251
332
275
196
199
243
175
324
246
214
203
240
228
274
242
214
147
183
207
221
193
294
178
228
254
210
315
234
267
196
256
258
207
114
222
226
296
323
176
271
238
175
266
211
220
230
235
181
242
239
254
238
220
178
156
215
220
158
206
234
213
178
168
196
203
279
175
222
247
159
144
244
280
218
178
183
179
222
168
178
196
160
198
153
248
228
187
192
260
202
237
205
226
212
270
198
196
163
213
296
231
249
249
179
294
205
173
308
206
173
285
258
281
243
253
224
229
216
205
313
180
269
231
148
213
225
213
209
277
201
223
230
269
334
163
229
213
336
225
216
315
298
285
158
338
167
200
169
207
219
265
176
218
147
214
227
202
272
240
254
159
260
178
238
272
219
152
206
218
244
253
241
208
218
200
228
278
114
248
235
238
195
222
175
247
228
204
288
207
230
238
277
295
221
283
243
198
203
167
121
197
208
229
133
249
191
197
266
154
255
200
208
275
236
145
256
202
270
289
300
179
251
214
296
262
205
151
224
236
163
257
255
205
230
241
246
242
231
171
258
197
156
140
403
154
256
156
231
212
236
197
214
220
170
202
225
190
166
251
219
180
194
175
176
205
139
222
217
249
246
154
114
161
188
218
217
187
148
262
291
243
231
205
179
244
283
200
225
216
188
300
241
177
231
243
229
209
202
212
288
267
273
234
231
126
255
149
226
225
195
246
209
298
286
262
189
264
166
191
269
225
235
244
294
225
247
207
202
215
275
242
218
238
166
231
284
208
146
262
192
205
184
233
210
217
227
176
247
248
178
231
244
264
208
181
165
218
266
156
297
180
271
215
106
222
235
229
367
181
228
258
179
297
192
147
114
220
195
238
300
145
146
161
230
295
203
220
297
236
190
179
253
217
232
209
309
233
241
238
246
228
216
214
218
239
199
259
164
246
283
409
195
221
261
257
223
148
279
257
276
238
219
293
274
203
223
181
215
285
204
234
220
173
271
213
235
267
279
288
229
251
236
231
267
243
276
270
230
183
241
181
239
195
183
297
187
267
240
303
168
148
313
158
182
206
231
156
226
171
158
226
181
318
174
170
260
263
228
281
247
230
173
260
214
240
236
151
156
152
234
308
260
161
209
173
249
255
208
268
250
278
149
195
295
224
106
248
210
189
216
240
213
250
247
279
198
215
161
304
248
191
276
252
217
184
260
239
144
253
191
182
192
220
184
198
261
153
289
249
216
175
208
185
180
177
225
253
146
262
229
287
130
255
264
184
184
327
234
225
146
211
254
217
175
252
241
236
211
231
195
239
254
180
193
196
158
268
217
318
191
198
181
229
246
221
223
225
192
201
277
200
157
265
160
287
281
175
246
269
193
179
176
282
195
218
255
233
178
243
192
215
254
257
254
212
190
250
200
194
324
200
173
225
252
253
220
220
267
235
265
210
238
191
129
295
193
262
292
207
171
161
246
224
207
258
191
157
229
211
193
231
225
280
241
179
270
278
252
156
198
224
222
296
222
181
271
227
242
284
269
284
248
178
271
276
227
212
210
233
242
164
175
108
279
260
139
221
221
185
155
290
295
177
186
232
228
219
249
269
271
160
215
217
182
203
188
270
259
180
171
244
204
215
183
320
180
267
228
232
250
215
237
249
209
243
282
173
299
221
215
213
149
261
223
211
274
249
265
250
222
188
256
246
219
242
276
214
212
197
205
209
280
214
283
192
227
250
248
232
289
229
309
196
323
272
265
167
210
266
300
270
161
223
262
148
222
238
129
173
218
227
220
212
178
207
218
203
217
204
290
312
348
268
241
170
268
130
229
174
219
273
168
146
146
198
232
199
213
157
270
194
170
128
245
162
219
170
192
243
168
262
223
171
215
271
181
212
257
209
299
252
239
181
214
240
232
267
232
201
229
273
225
236
196
225
160
284
263
264
277
268
233
173
295
215
178
220
161
175
217
204
310
261
257
292
133
250
275
257
218
202
205
231
280
277
291
193
287
275
190
191
299
261
231
213
209
237
178
170
192
174
239
287
209
178
199
213
151
220
255
278
300
207
270
230
187
173
222
231
239
245
182
257
216
280
244
193
212
271
233
311
203
156
261
255
289
198
237
219
208
201
181
240
186
267
280
249
231
282
199
213
170
258
233
199
276
217
156
221
234
282
245
209
181
182
231
258
270
246
170
334
256
234
171
228
254
229
241
259
242
248
219
229
212
242
252
195
196
190
276
302
229
246
223
292
272
283
253
287
192
255
194
329
217
249
296
237
160
205
178
121
248
146
165
241
146
264
208
252
231
178
262
176
172
121
177
215
218
181
173
217
252
256
233
154
174
287
298
174
253
197
194
212
178
108
202
279
207
278
211
290
186
246
243
221
161
153
205
178
160
227
154
170
207
177
223
229
304
195
215
286
326
222
292
191
169
218
297
248
223
214
151
145
252
177
202
279
182
174
114
191
190
199
198
175
204
258
199
286
307
201
114
355
167
197
212
259
172
209
265
227
178
242
178
164
114
133
243
293
237
185
253
256
247
198
167
222
264
188
223
284
215
170
317
259
232
340
303
239
209
214
226
245
279
239
215
186
179
227
252
211
262
283
194
234
274
165
177
198
226
156
315
219
180
235
174
237
180
202
239
211
335
265
139
214
253
163
264
221
244
214
170
253
134
157
258
194
266
154
202
206
215
168
259
206
262
254
196
178
282
244
326
219
275
270
225
240
156
157
253
246
229
251
114
178
261
237
181
228
227
170
210
181
209
244
300
164
228
181
129
224
226
218
267
239
247
250
224
268
227
231
200
201
246
168
201
151
212
244
154
209
206
203
212
251
156
203
263
283
261
231
237
226
213
238
176
199
219
235
243
213
229
326
279
187
228
175
245
195
203
229
206
210
203
262
152
214
220
162
268
231
174
212
165
296
308
259
148
208
211
229
234
243
225
180
291
162
182
289
279
116
187
158
238
179
197
231
238
269
238
214
269
178
274
246
309
300
253
333
217
176
178
210
238
228
247
240
244
234
257
247
260
210
194
232
232
215
206
202
151
248
181
238
207
244
219
257
229
253
246
266
126
290
289
176
305
188
137
237
241
214
270
225
231
258
194
250
279
230
181
263
275
216
213
250
209
190
231
233
187
240
294
277
225
189
198
228
114
224
188
246
183
245
219
189
200
243
258
151
242
275
238
246
114
209
314
186
202
310
270
285
220
220
231
266
183
215
231
152
199
192
259
298
332
178
315
225
261
219
337
178
234
211
191
289
236
217
207
240
270
251
300
203
196
223
266
278
273
202
245
233
243
173
178
271
254
266
220
218
220
217
235
207
289
156
160
245
174
240
198
308
211
213
261
220
179
250
154
240
198
198
323
285
236
270
224
249
215
276
256
173
303
151
214
248
219
253
317
224
282
316
213
176
215
233
237
114
212
195
192
229
223
177
182
215
204
152
197
240
169
243
248
245
217
284
160
222
372
197
274
208
288
154
201
423
292
173
189
197
285
203
191
287
249
231
217
204
328
220
116
256
211
235
186
249
274
247
208
212
187
238
254
237
266
226
283
181
179
225
206
320
295
241
203
192
183
215
238
254
154
215
238
230
192
316
184
236
244
235
236
237
188
168
256
197
249
285
244
261
253
220
268
256
179
187
272
265
270
275
202
253
212
181
239
192
226
219
233
270
177
231
176
159
216
193
253
322
230
190
192
230
198
163
221
208
220
239
108
270
255
192
241
250
175
180
290
114
114
210
247
178
263
207
201
237
255
206
203
158
266
177
240
264
277
180
256
204
287
214
209
298
272
240
239
254
178
218
322
226
242
251
227
256
259
155
256
200
215
205
178
317
174
279
302
184
264
199
248
251
258
220
151
276
164
217
288
243
249
179
234
197
260
155
206
207
299
216
280
218
195
228
157
170
182
193
216
210
139
257
263
295
194
214
182
195
259
215
237
170
246
237
216
178
307
246
114
237
261
229
198
203
169
250
215
252
347
192
288
253
198
233
144
126
231
212
220
294
211
170
279
306
303
198
221
239
170
268
233
267
314
180
213
219
201
219
229
207
241
244
161
216
194
294
201
303
178
283
215
164
222
235
190
270
114
210
171
190
196
186
260
183
204
238
149
226
303
190
216
298
219
253
220
268
176
253
333
156
190
248
155
295
196
220
208
213
238
243
196
134
199
213
213
246
233
263
176
213
227
262
261
263
201
235
206
196
172
215
246
249
157
173
225
197
200
195
149
328
295
248
240
212
197
191
253
234
194
189
211
215
194
272
185
170
215
264
234
148
245
228
220
192
244
317
165
276
253
211
191
212
220
218
217
219
175
190
183
258
329
249
151
168
220
254
255
222
181
185
190
262
144
209
246
169
241
195
186
160
186
184
232
153
274
193
228
215
221
296
251
245
238
272
214
207
256
221
231
185
227
289
243
185
245
255
294
271
166
177
184
221
205
265
260
262
217
154
186
285
232
190
366
224
248
146
198
230
214
210
261
114
189
167
178
173
287
178
227
218
160
185
189
214
254
233
208
238
233
173
166
139
235
219
281
225
209
235
239
228
172
305
169
230
239
201
195
246
240
257
277
169
248
285
205
242
292
203
303
283
126
171
173
254
126
241
222
156
163
215
114
242
279
191
168
181
224
220
200
252
267
217
213
156
243
248
218
400
164
182
221
285
257
208
192
201
207
254
237
246
186
198
264
281
194
189
184
232
161
173
144
176
153
252
261
244
166
235
230
257
160
265
114
245
227
151
169
146
145
144
282
182
305
265
287
248
221
251
197
228
222
170
175
266
332
195
237
154
236
197
301
293
225
266
235
199
193
185
169
242
200
184
197
184
184
233
246
246
185
248
273
214
288
158
270
179
226
287
166
190
213
210
205
286
219
236
160
205
186
278
195
219
147
314
227
231
215
177
220
166
180
204
181
263
260
249
189
275
214
254
229
180
239
209
161
232
236
222
225
182
224
260
193
146
194
261
198
254
177
201
186
261
215
222
154
259
198
180
242
232
218
152
240
182
199
221
220
232
178
246
226
250
222
227
222
192
200
241
258
218
268
160
237
285
254
258
156
246
244
275
290
157
275
230
310
252
271
178
269
212
273
200
178
232
146
146
209
194
145
231
213
215
203
218
157
247
180
276
244
121
219
215
192
202
215
242
269
114
153
191
223
231
170
309
172
248
223
161
325
184
274
285
152
262
308
259
173
218
165
213
173
201
228
228
233
306
241
259
199
271
198
253
261
204
291
269
161
283
271
242
319
224
170
166
284
217
243
238
176
259
217
324
255
220
284
261
236
201
230
291
205
192
173
238
169
161
225
152
254
283
281
291
217
191
198
178
224
242
269
237
209
194
236
200
251
170
246
222
183
168
149
200
258
202
209
186
233
311
250
203
249
251
205
201
203
220
265
240
264
106
200
218
248
276
189
208
252
128
258
278
269
248
243
178
216
236
225
221
181
254
217
207
225
193
181
262
212
180
243
245
174
308
235
233
227
235
230
241
245
213
145
286
249
223
233
234
236
279
254
177
341
225
178
220
219
237
235
159
201
155
215
245
275
166
260
245
299
181
235
252
256
239
231
235
278
250
227
205
241
188
203
275
289
184
193
229
184
283
248
231
252
151
233
211
160
180
262
234
181
201
222
253
203
237
310
254
174
301
229
171
157
192
219
194
222
239
256
209
259
228
258
247
174
114
314
205
224
166
211
214
215
269
266
221
145
167
145
183
190
166
206
170
215
165
197
324
183
205
316
250
177
249
242
197
220
256
210
195
184
114
193
233
226
239
192
248
179
126
212
198
181
275
282
209
178
292
144
188
216
241
144
319
303
254
195
179
229
186
166
384
251
233
198
255
192
160
228
225
240
130
250
160
114
261
264
220
297
247
246
250
114
194
232
219
235
158
243
208
252
272
280
114
183
371
244
264
240
286
280
196
219
267
186
210
246
290
261
207
195
282
152
292
252
232
194
290
172
241
220
108
169
277
277
229
167
243
144
252
213
259
155
209
249
243
215
173
250
207
277
194
130
221
219
241
165
154
130
295
185
297
184
292
217
219
198
215
181
230
269
224
192
200
230
251
202
260
234
216
288
282
237
242
190
170
139
204
239
278
152
217
232
201
178
266
278
164
294
246
205
277
287
290
216
280
194
159
173
253
145
196
219
216
273
221
254
246
157
208
217
221
184
259
226
250
170
241
243
237
293
178
273
233
211
224
277
256
250
175
227
238
152
161
178
220
295
299
209
220
242
257
161
255
221
326
277
222
226
190
126
236
334
217
176
282
177
180
234
242
235
249
251
216
323
198
250
197
193
270
300
222
145
172
232
324
181
166
195
184
254
221
216
291
220
185
223
168
266
145
226
248
173
211
239
222
230
205
248
266
263
217
217
303
196
175
166
213
221
233
180
154
160
278
194
186
196
196
223
208
170
250
332
255
204
225
260
217
285
190
203
219
171
145
219
268
213
187
216
234
228
214
200
265
212
210
226
206
227
187
235
213
343
228
225
280
220
166
233
241
252
177
244
160
198
225
196
240
285
250
207
173
214
295
166
241
275
217
207
240
225
229
143
263
258
222
214
225
226
282
233
224
218
222
245
195
195
137
190
222
232
211
116
237
196
202
315
234
243
262
217
187
203
210
249
236
284
196
206
320
237
277
247
215
222
225
160
258
314
246
238
191
258
239
191
225
234
306
195
249
209
191
250
218
266
284
231
302
296
243
219
271
240
279
154
224
205
266
244
147
258
296
239
272
196
192
183
247
152
164
288
279
214
247
185
244
280
185
260
160
207
177
230
214
194
246
258
280
185
145
196
181
174
211
240
184
292
270
246
252
227
250
259
221
162
208
256
209
261
240
247
185
149
229
233
220
281
251
238
240
197
210
179
215
278
214
149
232
162
244
265
195
296
180
251
235
264
238
259
265
186
233
215
144
284
215
207
211
181
237
262
228
222
149
212
169
222
181
283
235
251
191
205
260
197
206
276
213
194
206
176
219
261
290
197
229
296
192
129
221
149
181
252
169
250
220
318
204
251
203
225
297
289
261
249
244
290
190
170
137
253
114
175
229
195
219
193
146
268
166
214
214
204
262
286
231
304
226
203
273
195
272
286
257
211
266
263
211
211
248
197
307
232
223
230
356
289
217
224
259
187
302
290
187
198
202
195
256
312
246
222
235
177
160
202
196
267
237
249
224
169
286
197
249
270
213
174
234
250
202
175
318
229
225
297
172
207
151
269
252
154
284
173
228
233
186
257
200
272
209
271
231
351
210
286
243
256
243
139
327
183
197
192
218
217
242
145
190
312
106
227
250
213
213
222
220
222
183
299
290
204
263
195
266
231
197
234
221
223
244
259
208
240
243
217
254
290
154
283
251
265
219
296
169
188
223
175
283
195
212
258
229
260
204
235
147
232
277
208
205
213
212
317
202
229
166
310
184
200
193
219
151
158
207
256
268
240
179
248
254
201
259
187
232
209
162
262
209
343
168
229
250
223
176
266
180
244
245
205
242
236
156
233
185
228
255
254
228
191
290
286
218
168
220
172
246
209
186
196
256
206
210
174
258
235
270
232
245
330
195
176
191
151
303
226
226
266
157
191
234
177
245
301
156
208
181
258
231
250
191
213
198
224
277
170
309
193
188
170
295
194
241
198
175
161
240
161
194
200
266
278
285
187
259
301
253
249
234
347
184
246
287
171
281
243
192
198
260
223
214
215
114
260
126
108
232
275
235
199
175
246
264
114
235
174
206
162
292
203
215
247
330
257
257
319
226
179
188
229
148
176
147
188
269
170
277
178
287
216
253
215
161
201
162
208
215
282
222
153
233
307
173
250
214
209
266
151
164
210
214
265
193
245
204
254
208
189
217
195
193
196
182
204
267
170
205
200
191
197
262
223
268
175
168
235
214
153
283
239
185
196
195
160
239
246
293
172
181
206
237
207
257
241
221
239
215
245
208
258
259
200
169
169
202
306
248
144
147
146
210
282
173
174
261
177
169
251
175
232
230
255
139
192
239
174
165
241
256
252
281
155
200
186
271
307
186
261
281
195
220
114
227
219
214
261
296
254
190
318
238
240
266
176
242
185
222
239
215
287
227
205
161
179
274
247
234
168
159
222
279
258
210
271
251
271
232
227
277
198
242
223
212
219
226
205
215
302
186
234
219
270
258
168
202
209
225
210
357
310
277
283
182
267
230
202
251
211
279
270
244
283
234
254
213
197
249
218
284
265
236
147
187
201
176
192
193
188
248
279
160
204
192
239
227
296
215
205
176
256
170
213
334
220
213
234
258
271
173
191
243
158
291
227
296
223
219
224
272
222
218
254
249
234
233
184
258
218
171
197
292
114
174
244
222
116
162
244
223
219
277
288
197
238
213
223
224
194
178
219
235
257
276
145
168
199
291
238
160
267
258
176
222
248
222
214
209
271
287
213
247
278
252
186
249
188
218
198
197
252
213
230
205
206
236
290
245
262
258
184
195
309
203
200
246
214
298
209
139
198
251
224
258
260
196
145
168
126
287
272
261
215
263
114
275
247
228
239
204
203
302
200
191
204
229
239
200
201
204
224
114
182
257
238
192
361
224
275
224
223
219
237
241
205
210
195
261
200
158
250
195
228
248
237
192
179
258
223
221
206
324
231
222
289
209
222
187
253
249
191
256
151
205
201
198
296
285
241
179
239
190
202
228
173
165
236
206
210
155
249
212
200
215
232
209
157
259
309
283
227
193
169
213
254
197
232
208
236
161
199
185
181
240
160
273
261
256
148
297
264
183
195
307
289
226
250
236
286
200
214
251
225
173
178
158
208
235
249
207
277
245
271
291
237
266
187
258
238
265
194
235
229
225
173
361
170
194
166
260
228
173
224
263
259
240
251
247
235
247
252
355
164
328
244
183
223
312
176
226
304
114
193
189
225
288
194
203
226
196
320
244
173
275
221
210
248
193
199
161
195
198
167
279
214
231
183
250
201
239
257
252
158
229
198
250
291
208
202
251
268
170
202
197
229
152
282
240
236
237
185
236
178
219
238
207
254
211
256
223
238
216
238
195
208
184
230
197
168
271
247
160
290
175
288
192
231
213
360
232
151
244
161
196
277
114
235
261
211
194
291
178
177
200
211
229
273
265
204
195
299
259
218
358
240
219
248
128
295
262
196
209
230
114
206
263
251
114
300
232
218
228
239
126
316
228
220
275
305
206
195
284
188
222
149
195
276
203
169
237
218
277
205
126
246
247
271
226
189
236
264
305
196
194
185
255
242
175
311
211
240
180
207
231
238
244
319
191
282
213
283
178
184
227
184
234
193
302
198
204
382
265
262
260
263
255
172
191
263
210
272
180
269
172
164
235
151
180
233
274
244
204
300
180
265
204
309
269
198
295
248
235
201
211
240
259
170
344
177
176
198
215
189
226
270
266
236
199
214
230
241
183
266
215
203
133
247
193
198
194
169
280
222
279
162
173
180
250
302
198
326
216
170
243
239
257
192
237
236
244
218
144
268
204
216
229
201
212
276
254
222
342
162
184
207
165
277
227
230
246
255
211
258
218
209
231
173
247
229
157
189
259
221
229
184
195
207
245
222
181
191
144
114
206
230
253
216
219
176
199
249
216
205
234
152
259
252
285
218
276
160
245
204
248
306
226
156
170
231
167
226
216
205
228
232
194
231
151
205
116
299
217
188
277
164
310
295
108
208
202
272
249
205
216
145
192
208
267
194
229
192
220
224
261
192
234
186
189
237
238
194
264
239
267
236
203
223
222
187
181
165
238
114
173
252
190
235
187
172
164
181
183
169
290
286
242
254
281
160
215
235
260
294
246
222
209
260
204
295
193
114
213
172
238
228
129
301
312
207
248
312
227
251
260
275
223
192
205
258
174
210
152
233
269
251
217
280
286
219
210
240
210
254
253
251
305
226
229
199
221
207
211
219
114
283
208
133
261
265
262
274
202
233
274
239
348
214
203
234
218
249
199
290
256
192
235
170
241
173
265
212
139
164
278
245
305
229
198
290
210
199
244
246
306
133
209
244
256
252
286
165
252
190
346
280
200
354
160
307
165
144
268
206
151
224
289
220
202
235
271
231
288
193
330
239
261
174
242
248
233
178
207
285
249
244
181
283
170
259
160
145
212
234
215
191
252
215
230
192
242
243
275
228
170
227
235
222
174
240
145
290
181
165
230
235
185
248
209
158
114
252
283
220
202
169
253
185
170
176
145
192
208
164
217
114
180
237
176
260
320
231
213
260
188
234
216
213
173
309
233
193
199
145
187
253
204
320
167
293
246
220
114
273
196
215
156
192
154
207
265
263
228
222
281
239
192
139
151
158
144
252
235
299
232
318
259
223
240
209
222
195
260
221
203
221
173
288
277
193
214
235
208
255
198
219
296
206
201
248
171
225
257
219
242
184
149
283
175
270
245
252
174
193
308
179
187
207
259
242
156
290
220
298
275
296
144
241
283
192
224
282
231
114
263
261
234
257
178
213
226
215
239
217
237
237
198
180
187
299
243
191
162
289
219
176
308
211
126
198
284
293
258
192
160
253
173
252
263
198
234
199
246
181
207
260
166
193
251
216
259
292
271
226
239
233
242
193
234
210
149
151
167
214
236
239
214
183
203
240
241
235
222
191
253
212
193
211
169
229
308
210
242
160
276
145
244
271
134
176
234
182
244
274
173
144
302
261
246
303
195
194
226
258
181
229
166
250
184
205
264
221
238
331
187
196
238
179
192
239
144
183
147
160
215
262
244
114
198
180
220
194
207
196
175
229
254
224
160
251
222
250
290
175
259
156
286
188
152
180
230
253
238
208
180
273
220
280
238
231
227
156
184
209
204
278
215
197
215
237
214
212
254
223
285
253
248
224
200
291
182
218
326
209
243
229
250
228
199
252
192
280
213
187
202
236
237
236
194
139
233
163
207
243
266
158
300
171
251
114
259
202
266
242
177
203
179
278
247
227
213
227
227
198
179
221
236
156
189
193
250
234
193
203
181
233
253
264
219
314
283
220
187
270
172
184
198
160
299
211
184
206
126
218
230
184
230
198
246
222
207
121
250
211
114
212
238
178
256
265
108
203
202
195
145
194
216
187
218
315
253
234
224
251
249
238
181
154
214
276
166
245
192
173
176
208
170
149
283
220
255
222
186
225
215
281
207
214
286
238
296
232
108
204
201
237
280
236
178
221
220
173
203
215
172
212
233
198
284
233
224
246
279
233
301
257
231
240
114
185
292
221
176
152
215
215
280
178
205
227
180
254
252
192
284
222
114
240
216
252
218
300
216
199
195
284
221
219
114
178
295
227
263
291
265
184
203
219
236
266
266
187
225
208
249
198
240
216
220
206
193
220
268
290
232
174
322
191
255
292
280
257
233
208
212
246
195
214
228
201
203
197
291
223
267
198
198
149
270
202
243
250
177
272
246
208
260
213
341
234
176
140
219
210
276
183
203
292
195
210
226
260
179
185
166
204
194
230
256
193
114
194
222
261
213
200
203
290
247
324
229
215
221
205
258
344
232
160
206
216
237
255
261
247
194
200
242
195
209
279
245
298
221
221
317
247
211
287
262
246
298
301
272
249
236
294
206
277
277
256
200
247
160
208
168
257
126
129
272
215
255
240
243
220
227
158
258
260
175
175
256
211
242
235
223
268
198
307
180
286
203
230
245
114
213
196
313
205
267
220
201
156
234
169
274
225
313
221
170
197
183
182
208
222
271
257
240
208
239
209
249
213
143
248
208
175
199
308
214
242
195
214
270
299
221
306
152
170
168
250
200
247
237
228
193
173
218
225
201
233
156
183
219
177
168
223
212
236
258
201
253
235
242
178
248
229
218
280
234
211
158
276
270
209
165
259
198
144
304
139
250
172
220
209
308
183
272
195
275
202
201
195
319
185
285
185
290
215
314
262
211
223
247
285
280
259
208
244
272
147
229
253
256
204
158
179
302
201
253
295
262
244
116
259
220
217
275
248
202
283
218
231
231
223
265
208
148
256
209
114
245
201
151
226
216
259
193
177
243
155
292
171
186
224
158
218
137
146
235
216
190
275
173
203
174
213
320
227
231
280
156
211
235
264
215
217
175
283
263
222
210
232
191
254
314
209
151
203
279
249
175
180
181
198
187
299
181
272
234
152
214
236
246
232
267
209
222
204
233
184
201
286
208
252
206
114
189
206
316
258
242
151
195
280
275
202
220
190
166
243
198
229
198
279
205
254
181
201
273
223
238
261
198
249
249
298
203
249
254
207
299
198
233
270
234
172
251
178
263
183
279
238
336
219
201
194
191
242
175
177
234
247
217
192
253
259
324
200
305
175
241
145
244
204
277
201
195
323
160
293
258
189
178
178
238
223
239
223
219
247
212
210
141
232
278
229
175
245
279
162
155
218
271
217
231
126
232
238
221
242
252
198
237
198
238
263
219
213
203
206
225
228
260
232
257
229
236
204
219
261
210
300
238
193
243
221
266
253
210
345
207
218
241
207
247
190
248
225
300
280
194
202
169
175
215
210
269
114
191
173
174
170
243
284
204
215
191
183
199
204
292
202
324
221
231
234
213
235
230
261
162
332
233
242
309
264
216
140
160
253
249
189
214
282
169
205
256
220
218
156
279
168
173
170
182
218
184
211
285
284
211
247
229
270
219
203
280
194
243
193
194
197
318
225
172
274
322
305
178
207
169
220
201
252
274
212
114
161
248
260
114
225
273
160
217
206
220
160
253
196
254
197
206
294
227
198
250
158
275
249
235
207
191
217
166
186
219
206
220
177
240
266
252
238
238
331
240
243
161
145
235
177
235
139
214
214
273
241
212
152
200
217
245
116
226
196
232
170
239
185
256
236
170
223
222
269
165
254
192
277
257
247
230
168
225
213
197
234
210
226
255
305
184
234
214
212
108
245
275
247
260
258
270
223
178
225
216
282
280
175
313
184
178
249
178
244
232
223
240
227
243
167
277
260
209
234
256
193
235
180
300
219
198
237
231
207
274
233
213
146
200
114
238
192
209
205
161
221
240
244
177
162
234
276
270
274
277
145
204
257
209
240
194
146
246
251
173
183
221
154
224
207
189
180
269
146
171
209
282
225
157
256
311
315
302
215
205
290
221
159
236
210
224
275
296
145
245
220
250
243
195
303
203
196
256
236
323
270
244
264
206
261
214
230
130
228
263
213
248
177
296
269
220
215
129
173
226
213
175
229
207
235
208
274
212
295
250
224
240
210
241
235
198
232
213
213
233
247
279
216
177
192
218
217
237
164
186
230
174
173
315
233
203
326
183
175
355
188
281
259
157
173
168
158
263
170
280
188
257
230
297
303
235
255
281
253
180
304
220
328
215
291
342
162
278
198
257
144
230
216
204
145
280
165
311
232
243
196
160
230
231
255
275
203
262
182
214
228
243
114
281
299
274
181
151
239
179
192
168
282
278
207
157
280
305
200
229
251
247
219
209
198
207
161
183
194
210
277
175
209
206
170
229
170
203
246
183
210
226
233
220
222
184
221
248
288
196
248
267
195
246
207
197
164
188
205
156
186
193
184
114
226
228
217
186
201
156
178
148
168
276
189
181
167
220
235
191
126
322
292
207
269
238
233
288
201
199
178
258
216
114
208
175
225
197
158
291
247
231
230
170
157
272
255
312
249
220
270
189
248
290
192
232
265
196
246
114
234
212
260
238
200
237
271
250
192
211
248
230
226
207
277
240
210
294
236
239
226
263
214
167
203
261
244
247
271
175
235
232
240
301
255
244
332
262
231
251
222
160
170
211
270
215
224
156
180
182
236
147
241
233
216
185
284
220
187
225
252
226
207
245
229
194
221
325
229
168
199
293
297
156
181
303
224
249
255
227
207
159
175
280
178
230
126
211
198
230
316
218
303
213
248
186
288
195
174
194
203
214
294
249
186
190
267
321
290
189
225
320
178
220
206
270
308
173
239
249
275
220
198
237
311
253
114
284
201
166
165
219
280
252
198
232
275
180
236
163
261
190
195
271
244
178
181
240
338
243
194
230
190
227
214
378
173
252
210
106
275
182
156
198
280
215
208
194
252
233
114
207
154
226
193
294
283
223
220
283
178
276
190
211
216
246
381
240
238
271
355
155
222
300
178
167
222
268
226
320
300
192
179
181
294
241
212
215
189
237
251
178
230
261
254
177
265
157
305
243
278
265
236
235
305
247
177
176
198
309
279
246
214
218
301
181
155
178
185
247
180
244
290
223
198
236
198
227
165
253
273
157
291
227
184
170
171
195
191
200
231
225
192
218
255
166
251
231
144
247
240
273
240
211
256
245
304
262
219
243
146
238
172
250
161
252
170
270
228
220
249
259
154
237
226
214
192
214
290
200
232
169
196
211
274
241
273
180
194
280
206
208
281
223
173
212
185
178
241
249
244
223
245
194
302
246
238
214
241
185
272
222
216
177
257
225
253
206
173
222
238
235
227
243
232
246
219
283
126
173
220
253
158
200
202
168
209
207
271
200
172
226
205
175
225
240
168
215
205
207
268
241
152
151
286
346
216
222
219
244
169
253
184
258
270
240
209
204
215
215
189
257
271
231
244
211
195
240
256
337
221
169
292
217
248
170
177
114
273
154
243
164
234
197
279
192
232
217
161
244
250
189
195
166
312
326
327
275
174
165
316
335
293
209
266
229
295
244
264
192
228
290
190
323
149
211
114
272
223
139
234
215
212
170
249
257
161
209
253
193
166
213
246
301
234
152
215
175
239
282
187
333
192
276
252
275
221
192
226
213
243
274
178
165
256
229
192
170
217
238
275
285
215
240
207
203
206
130
189
192
170
235
160
214
323
289
206
166
190
216
215
180
239
245
247
193
270
198
234
254
194
212
197
288
178
156
189
248
169
265
293
250
224
250
241
253
225
192
198
198
218
184
212
266
226
204
204
195
260
233
210
209
243
181
152
216
245
199
311
108
166
210
247
215
279
198
297
200
228
152
160
254
249
225
233
290
245
217
145
204
188
295
179
198
209
280
197
312
177
286
218
207
246
203
244
255
309
204
203
155
213
297
274
275
214
149
196
248
145
284
333
204
178
194
275
233
248
217
177
240
297
256
209
265
283
212
163
265
173
190
189
202
251
266
114
189
160
270
250
202
192
221
219
261
238
242
216
188
280
222
151
203
181
205
192
152
177
231
204
255
270
197
218
193
139
307
220
108
253
348
223
244
277
259
245
155
291
256
152
178
312
240
195
193
245
189
264
221
244
270
158
216
225
175
270
243
248
249
220
195
260
337
231
231
200
197
233
177
196
219
191
207
249
355
198
253
242
283
218
155
225
242
246
247
273
243
234
341
220
246
190
253
281
170
209
198
259
205
211
207
163
246
153
172
275
259
191
263
224
202
276
234
253
239
263
230
268
284
242
214
291
200
255
300
198
229
181
176
172
223
245
156
174
316
276
244
245
171
289
213
288
256
206
240
195
220
228
180
293
192
226
232
223
206
257
271
239
177
276
148
216
198
227
223
163
242
254
214
238
214
221
200
214
257
299
228
201
266
242
201
166
261
170
168
253
260
198
126
367
210
189
218
256
213
267
208
149
246
289
243
186
156
270
226
200
337
263
258
288
257
250
169
238
166
221
243
252
283
116
217
191
264
255
154
173
203
218
212
198
181
229
158
250
264
209
226
208
209
290
239
283
269
266
245
235
199
223
204
305
214
325
238
228
235
233
269
261
235
237
181
233
108
223
231
214
245
235
288
188
168
295
235
191
239
172
183
186
194
175
287
215
219
237
239
263
241
301
166
276
244
245
161
215
200
209
180
188
285
213
241
228
211
160
227
236
198
200
272
246
223
236
250
156
121
218
208
285
156
250
236
189
254
319
218
239
173
174
295
213
259
203
233
249
139
207
279
158
177
215
340
177
198
139
199
349
214
168
178
283
236
208
304
291
239
228
164
191
252
252
166
191
195
228
233
192
253
151
163
156
280
208
245
238
203
170
200
241
253
292
248
289
205
200
155
195
203
300
260
152
158
203
309
207
178
233
217
250
158
239
245
224
182
266
222
271
222
216
214
173
233
247
299
160
274
241
238
293
197
208
219
269
195
195
214
230
239
235
313
240
275
212
285
205
214
236
234
208
270
188
207
256
293
220
218
188
251
183
271
242
292
180
178
300
182
285
219
218
273
276
276
161
220
176
327
218
247
256
218
160
261
227
308
228
283
230
265
206
214
298
207
250
315
253
187
232
146
250
203
181
178
216
203
251
220
139
164
270
188
302
192
165
253
178
176
262
225
173
207
287
227
114
204
202
271
189
212
249
305
286
240
211
181
192
200
217
201
206
261
198
139
181
274
181
305
227
221
172
251
206
269
218
177
229
266
232
263
217
238
293
233
232
164
255
343
225
259
234
200
223
152
147
198
174
205
203
237
265
145
301
286
281
254
211
212
209
318
270
309
201
267
171
185
183
263
208
205
224
281
248
247
217
289
178
215
215
252
269
254
108
152
186
181
247
262
221
176
254
217
196
227
218
284
210
225
158
278
199
186
213
207
293
325
291
170
234
126
259
255
273
222
209
166
164
258
256
177
280
230
175
262
175
343
303
215
224
245
246
275
220
282
238
243
174
170
258
209
245
191
198
265
315
246
285
244
218
209
235
193
297
248
290
197
239
183
293
206
201
194
208
168
269
283
191
114
234
175
256
193
212
215
267
281
238
274
199
231
206
247
240
184
181
273
225
201
231
233
277
242
235
222
244
211
260
275
208
159
208
147
215
298
114
235
199
241
195
257
181
251
282
224
257
194
233
216
235
254
157
209
224
271
308
199
236
272
252
169
231
163
295
278
279
215
283
165
202
259
204
192
173
267
233
287
160
237
233
244
241
290
232
267
228
322
227
224
178
212
199
213
126
231
251
196
193
240
168
172
320
252
204
260
311
204
342
148
238
166
226
274
266
319
299
206
205
126
188
235
207
219
108
231
283
302
274
214
196
161
206
253
212
216
241
167
251
148
252
194
231
183
201
222
232
199
204
200
258
268
282
179
214
231
225
198
188
211
181
198
204
305
236
186
166
231
230
271
276
192
246
215
176
205
237
222
219
228
242
226
292
201
204
280
206
198
184
108
261
214
243
198
271
299
195
204
256
350
219
192
262
193
255
250
220
201
228
175
170
231
200
270
114
240
234
252
229
270
218
234
114
273
266
304
280
170
247
247
331
290
205
114
257
116
272
215
197
202
208
156
156
300
191
154
261
262
273
229
282
263
200
232
262
232
129
114
114
160
311
247
189
247
223
212
182
150
223
178
190
196
351
205
262
238
194
194
237
291
234
230
263
234
265
170
204
197
234
167
260
313
184
243
207
215
241
297
343
256
261
198
238
163
176
254
186
252
197
222
196
201
245
200
243
213
144
215
254
281
190
266
256
180
258
272
230
178
196
163
214
225
233
126
263
176
210
197
244
243
229
257
146
264
239
235
212
195
254
224
221
217
199
284
158
202
216
184
211
158
219
193
257
204
233
139
156
139
215
246
152
234
223
188
243
157
301
156
203
225
241
174
307
230
220
221
234
284
181
202
232
275
181
277
243
180
261
177
219
234
193
154
244
203
180
324
193
229
203
250
250
233
180
211
202
213
240
269
203
306
231
262
171
223
214
188
285
205
194
282
256
183
260
238
214
285
290
206
235
222
264
237
207
203
218
237
225
170
129
207
272
234
246
233
234
323
175
254
279
193
291
174
254
192
108
294
265
215
200
116
194
335
198
170
302
180
236
184
236
173
217
276
238
190
139
309
231
208
211
229
280
155
215
177
228
160
264
187
272
231
193
169
205
233
270
114
237
278
292
199
144
242
278
214
177
269
180
283
261
235
181
203
229
245
108
232
240
212
162
213
203
271
247
327
282
353
245
229
211
251
171
242
208
181
210
214
191
189
227
267
160
154
266
224
208
221
201
286
266
232
229
253
165
198
276
244
220
211
306
246
195
200
213
193
160
268
295
249
288
289
188
245
202
181
236
262
213
155
249
254
175
208
290
233
228
243
235
223
191
213
114
277
316
230
285
185
177
199
191
247
219
318
270
247
184
337
275
114
192
278
236
175
220
186
156
190
251
233
249
156
156
214
160
214
256
184
175
193
276
238
224
221
175
146
215
297
168
196
203
195
241
322
238
161
166
207
195
176
165
221
258
188
216
196
184
278
239
204
208
214
261
219
302
230
160
233
241
260
192
187
174
273
285
207
178
155
289
228
285
220
284
229
342
234
245
204
266
217
264
250
243
210
177
175
218
266
197
222
251
155
184
282
240
167
252
227
326
183
214
255
193
287
277
247
158
116
221
213
271
195
303
266
226
159
192
200
208
309
229
192
182
214
259
194
271
129
192
170
250
222
156
236
303
137
229
310
185
222
250
114
239
224
178
234
301
255
213
129
314
185
254
207
236
255
227
148
158
221
259
242
196
326
194
213
225
200
212
208
296
242
267
189
181
295
215
129
230
201
261
194
198
277
283
218
188
170
271
197
235
197
260
233
261
282
233
237
209
188
162
193
316
217
201
225
188
234
126
289
259
215
257
262
195
159
230
200
106
189
311
204
308
203
201
195
258
221
311
234
294
296
242
199
235
266
301
210
148
225
204
371
204
247
207
192
213
202
249
114
192
262
238
291
144
234
267
198
266
116
192
208
164
272
181
235
297
241
217
196
152
196
280
224
272
214
233
269
281
224
212
271
266
228
222
164
114
195
228
208
300
303
264
180
162
215
222
282
225
255
157
178
215
228
224
225
215
222
250
218
200
170
187
368
242
268
225
205
198
216
192
210
216
192
260
189
237
228
152
221
286
224
210
265
334
300
240
256
225
175
173
183
315
121
234
277
228
228
188
158
190
207
206
274
232
254
257
202
233
126
177
194
194
268
266
251
277
191
175
255
220
189
207
269
228
220
191
233
159
172
276
228
204
238
233
260
221
177
266
191
227
188
292
174
253
209
195
204
183
251
247
129
217
249
178
252
226
236
266
240
191
338
246
179
227
251
190
174
238
224
215
156
192
214
252
226
258
306
219
254
177
139
226
194
258
255
287
240
154
186
260
265
254
228
228
222
209
209
271
256
114
211
200
235
280
193
217
170
248
255
241
162
268
266
329
223
208
221
259
185
225
149
230
198
199
264
167
269
195
190
241
226
278
145
202
259
138
228
306
268
158
160
239
240
243
168
175
205
198
276
222
235
174
165
210
254
158
160
256
211
170
230
187
202
246
192
264
263
294
214
279
183
202
236
244
204
222
232
161
280
286
300
238
249
211
203
257
207
244
212
160
116
170
227
221
209
221
139
223
277
211
243
226
207
284
169
180
279
221
179
260
278
199
241
221
196
199
194
204
203
250
262
291
213
145
232
224
251
268
181
281
259
206
236
263
190
214
250
158
227
195
169
220
271
213
260
181
205
280
169
216
304
264
227
269
227
239
261
165
268
225
230
178
227
160
234
228
234
218
193
208
197
262
271
199
250
170
193
218
218
202
171
176
232
272
227
196
215
238
208
241
260
250
181
212
247
282
216
258
244
254
169
202
275
161
251
206
186
189
223
214
171
192
233
191
175
178
167
211
252
242
232
192
258
196
207
281
243
262
235
277
261
271
221
148
210
194
280
240
196
156
186
198
221
278
225
205
208
219
211
238
211
264
210
202
245
232
249
237
210
286
215
171
267
196
208
249
332
184
234
262
214
234
241
223
273
180
295
210
206
231
233
221
207
272
189
180
169
276
228
259
255
157
194
213
184
291
293
195
159
209
287
173
234
253
242
247
193
214
268
233
171
228
231
233
201
155
279
193
199
261
203
185
212
229
293
178
212
177
173
170
224
250
165
247
165
238
198
247
174
220
213
225
284
232
283
241
176
243
320
275
199
209
208
319
200
178
114
314
212
226
270
219
234
139
220
245
228
152
202
149
214
207
179
219
259
326
290
257
217
210
175
225
208
170
186
292
192
261
271
171
195
318
210
284
266
198
262
180
128
261
263
228
181
234
191
218
214
220
220
255
215
207
203
275
240
289
239
243
209
182
242
241
214
199
292
227
210
252
170
200
273
241
208
173
244
253
162
232
209
239
239
195
180
234
219
194
265
241
355
207
158
152
271
158
201
257
232
177
201
261
229
231
188
183
216
278
219
251
216
226
296
227
263
280
226
214
222
268
215
215
201
226
242
300
216
232
268
154
248
151
260
298
203
243
163
159
322
236
245
239
182
221
174
171
263
243
324
245
162
243
276
233
139
271
213
217
245
231
219
203
134
230
195
293
224
213
233
188
278
245
185
207
240
164
299
284
190
215
281
279
146
196
306
221
172
282
146
217
197
162
144
152
218
232
198
207
114
232
227
261
176
201
175
220
203
186
208
293
223
221
181
314
156
203
226
234
203
181
237
217
203
222
312
283
162
226
279
234
259
207
264
255
156
264
205
139
266
263
202
197
356
169
192
221
206
269
229
268
211
210
222
255
221
195
159
168
240
198
280
189
258
213
216
106
220
312
222
216
201
187
168
173
244
198
236
248
189
209
201
211
216
226
162
195
317
195
212
257
244
241
296
254
236
161
208
240
177
169
274
139
218
161
209
288
209
203
139
194
272
171
203
273
281
156
192
225
200
197
232
318
229
251
240
230
303
180
265
222
191
259
212
216
166
262
186
192
207
236
255
189
231
193
224
253
225
294
200
179
296
231
194
215
250
228
181
251
194
206
248
210
114
232
209
239
183
265
231
243
285
242
219
245
181
192
217
227
217
217
210
178
238
154
268
252
205
181
170
194
284
230
257
258
180
233
188
265
185
212
146
202
263
218
280
285
205
207
266
211
272
248
235
190
177
257
295
294
251
278
303
242
202
219
280
209
203
193
232
182
200
182
154
242
206
209
156
210
237
298
204
263
288
218
277
219
265
257
202
224
277
239
186
222
165
108
152
270
196
220
185
249
252
206
250
220
200
158
225
245
247
197
160
235
218
243
151
217
300
250
275
197
213
290
194
210
251
230
180
170
200
224
258
209
203
202
271
280
260
266
243
239
217
302
277
192
251
239
145
187
247
156
144
207
298
242
178
232
179
292
220
196
234
194
212
196
173
230
169
197
200
197
280
246
173
245
218
245
276
253
251
198
242
180
235
220
168
362
198
224
276
279
303
219
222
148
266
189
198
228
335
196
195
213
180
190
262
259
146
235
220
221
301
216
228
261
240
263
238
241
275
226
199
194
192
195
217
222
233
281
167
236
234
267
195
152
172
225
206
214
175
212
240
186
204
253
314
318
209
267
169
184
233
275
318
246
232
235
114
214
198
236
189
155
217
202
195
224
203
238
248
175
160
195
362
233
263
233
248
284
222
245
245
195
188
186
230
151
219
232
224
199
269
327
252
205
184
288
235
182
249
170
245
320
165
235
252
255
294
193
229
160
278
173
234
265
251
229
174
216
237
209
225
253
238
239
193
253
204
283
216
255
270
270
238
154
257
224
220
188
188
267
231
218
194
145
169
256
179
249
207
248
189
271
236
199
218
248
223
116
267
233
293
193
213
188
160
297
279
242
203
114
233
162
253
222
170
189
235
276
237
262
248
173
264
264
264
211
184
187
213
174
229
203
258
291
133
174
199
184
208
152
248
236
225
212
253
218
270
160
242
170
114
191
181
265
245
205
213
271
198
233
234
216
140
247
319
186
162
260
297
276
129
280
257
201
207
210
289
222
184
298
186
177
198
193
182
222
237
225
152
255
245
157
266
203
146
249
271
292
270
232
211
224
217
251
244
149
228
175
241
195
229
271
254
227
264
258
254
286
220
224
203
248
318
175
259
225
279
192
238
201
203
333
258
208
207
254
306
233
170
215
220
258
245
234
228
202
213
184
203
303
176
149
149
286
243
273
176
188
196
205
233
253
219
250
233
181
245
233
257
165
238
313
195
135
165
170
197
194
261
265
242
213
281
208
197
226
175
201
225
254
238
228
189
265
236
168
242
262
207
248
178
222
226
162
266
250
215
229
199
163
269
162
270
265
204
202
281
159
237
151
314
229
212
200
162
212
211
210
222
239
221
262
272
236
256
257
205
233
166
248
216
219
158
214
203
187
251
287
173
248
169
152
266
301
201
217
203
217
250
198
214
261
269
252
281
230
261
219
193
239
227
121
331
249
174
223
246
250
314
301
260
214
267
289
233
180
221
170
218
222
272
248
217
285
210
247
178
300
225
222
173
305
270
229
206
220
210
241
114
170
225
174
210
240
219
200
261
320
130
156
209
326
210
191
207
114
259
295
309
215
174
295
184
311
114
258
235
260
151
277
277
260
160
202
238
229
194
195
246
184
191
297
280
222
204
298
198
192
240
155
253
201
279
203
116
248
176
225
282
222
259
241
255
198
233
213
280
289
227
157
247
148
181
239
164
205
283
248
221
203
296
215
200
224
293
279
270
176
230
249
205
299
194
265
327
156
235
254
288
158
250
184
220
170
216
235
139
169
246
280
275
190
208
176
287
285
291
226
201
259
170
194
209
175
243
194
241
199
173
179
301
266
193
275
252
226
217
207
250
236
190
114
217
311
167
260
170
204
208
172
233
176
228
209
172
240
198
181
193
266
189
290
241
251
176
233
260
227
247
191
282
300
199
184
146
174
192
167
256
342
220
151
200
189
204
290
181
212
238
180
189
210
189
215
220
156
209
310
279
195
198
176
268
212
254
308
191
239
250
114
204
195
266
188
251
249
207
114
193
234
214
276
166
182
161
232
269
175
164
226
179
177
224
294
159
176
248
215
189
156
198
185
114
128
311
181
209
268
153
255
218
261
229
248
221
220
239
165
164
238
195
261
171
274
222
271
301
186
230
186
300
228
158
310
281
187
253
225
160
250
218
157
221
208
208
332
288
222
299
218
206
217
188
273
342
213
161
201
227
219
243
209
230
179
249
220
151
271
198
249
178
185
234
248
269
207
277
226
228
237
253
251
160
187
199
175
195
190
181
234
289
192
203
319
178
147
242
214
234
218
214
267
212
246
284
221
260
252
270
192
170
276
195
201
225
252
180
189
213
258
195
273
241
229
309
259
280
197
229
160
163
306
235
216
276
215
156
274
201
218
260
175
247
262
211
205
220
208
222
216
196
228
291
253
192
240
159
176
219
288
331
248
265
344
214
262
240
240
283
195
236
305
148
200
228
218
248
261
180
194
277
277
176
309
248
274
192
223
253
126
242
186
140
335
260
258
218
199
245
253
236
230
178
263
240
235
230
220
189
303
174
208
194
239
195
224
277
280
238
220
162
227
219
280
243
161
274
240
201
358
221
228
230
256
214
234
236
176
264
186
189
145
275
144
193
257
144
233
205
222
254
165
342
249
216
243
198
208
218
145
242
238
225
206
197
178
221
155
175
279
182
180
207
250
139
261
249
175
209
297
157
204
146
229
183
256
176
219
261
317
293
312
213
226
259
211
251
281
299
175
226
244
166
264
203
214
251
160
234
205
280
157
168
200
247
227
126
164
181
214
193
216
145
282
280
224
233
268
220
261
242
274
241
205
156
218
269
226
284
221
114
241
232
215
260
199
240
168
268
202
173
184
269
151
114
240
255
183
342
200
270
188
267
219
181
219
247
229
285
203
169
241
269
239
195
257
275
200
250
186
236
178
276
314
198
208
144
274
254
121
321
192
313
232
214
161
194
282
248
180
223
210
225
238
244
274
215
256
197
255
270
169
300
260
207
190
159
267
252
225
218
265
226
222
151
227
186
192
244
207
194
279
349
328
192
249
238
246
178
208
298
192
206
160
213
256
247
227
241
257
255
228
261
222
220
259
265
239
225
247
126
260
249
178
160
331
303
226
237
241
242
155
224
205
239
208
196
189
151
139
270
262
273
176
193
233
204
237
157
202
278
211
221
309
209
267
232
228
202
247
215
233
297
192
194
251
163
178
208
309
237
196
196
260
314
170
244
244
192
248
261
264
269
178
208
267
256
226
208
244
165
241
214
222
219
307
251
223
266
238
170
114
291
233
238
157
260
185
278
209
256
241
192
149
184
188
242
217
230
165
166
187
116
234
165
156
247
312
224
168
187
235
265
286
267
229
207
294
246
345
178
152
224
299
143
188
204
258
287
246
210
257
192
211
231
217
195
272
200
182
291
191
151
309
190
238
210
267
222
273
303
288
321
276
183
175
311
207
191
198
249
158
280
202
273
168
170
239
149
199
265
306
179
187
231
240
220
162
208
228
296
221
264
199
231
309
250
141
294
242
188
239
274
221
175
181
248
229
213
239
170
317
186
181
253
234
219
235
160
290
166
230
238
259
280
171
309
263
303
209
195
212
263
191
244
255
251
265
184
262
280
179
249
239
241
231
256
178
174
274
281
267
263
266
283
161
233
189
243
237
172
166
222
195
242
226
243
220
191
215
181
173
246
207
182
272
235
270
218
230
199
263
204
209
289
250
254
238
189
243
265
253
296
243
288
173
195
213
175
222
279
253
280
185
216
181
253
192
256
234
238
194
212
203
234
172
198
250
250
252
257
138
267
155
202
162
265
266
254
219
171
254
252
185
233
218
166
189
345
174
114
161
277
164
108
262
274
237
257
236
246
252
223
254
222
160
302
260
252
248
195
237
229
311
276
205
205
204
108
181
290
203
336
189
262
221
114
214
178
158
219
229
296
249
228
217
226
216
185
246
265
173
145
190
289
306
161
196
181
219
308
222
192
171
291
221
192
206
299
222
228
284
172
224
149
195
200
153
269
235
184
284
290
293
175
224
231
196
234
163
258
166
208
240
301
191
203
321
162
242
185
209
212
283
242
286
114
315
183
175
284
252
176
212
292
272
184
139
243
238
313
228
217
239
196
237
230
199
244
246
188
216
269
269
274
238
189
290
195
211
242
233
294
114
246
158
201
226
281
151
294
278
229
225
168
241
244
320
192
225
135
168
336
190
278
231
126
292
211
272
144
192
196
232
251
195
277
199
204
245
139
234
203
198
277
178
226
189
114
373
238
285
259
284
261
256
247
185
258
323
178
327
222
253
239
238
199
239
325
231
283
223
263
253
133
244
273
224
229
232
287
160
247
170
185
158
167
286
244
224
211
290
210
194
231
339
326
195
238
262
218
190
278
203
271
225
195
232
284
246
189
256
249
255
255
259
215
195
256
177
206
230
208
196
215
260
198
255
268
160
333
327
200
160
219
196
265
237
193
207
204
295
247
236
188
216
273
261
195
252
219
213
262
258
166
221
229
309
207
225
203
271
277
193
272
206
152
207
289
296
199
219
332
286
130
187
171
193
246
273
193
151
253
284
325
214
231
273
193
194
181
247
213
198
240
245
198
220
316
205
241
205
281
248
211
200
236
243
295
175
171
106
310
213
208
213
148
274
247
182
272
235
299
225
146
232
236
239
191
267
139
221
275
267
170
239
260
114
245
159
188
158
226
152
169
232
233
229
193
207
231
263
245
221
234
251
114
215
165
207
229
262
182
225
234
169
295
181
263
279
276
153
267
106
196
266
367
255
235
258
198
145
259
215
219
144
221
199
225
160
181
266
266
250
254
305
208
196
225
198
249
174
243
231
262
165
194
200
233
208
252
198
241
146
257
285
273
221
197
180
173
264
206
302
195
183
199
185
205
180
210
214
246
259
214
292
186
169
200
164
280
219
255
196
292
227
197
202
219
229
205
184
176
233
213
190
267
280
139
267
248
162
184
272
200
238
213
256
295
241
164
206
250
219
215
287
200
225
167
251
210
197
268
238
228
282
200
252
260
181
241
229
244
196
282
152
187
133
139
288
175
261
194
201
199
274
192
238
198
210
301
171
345
274
260
191
197
170
230
260
263
221
293
210
156
196
293
211
223
236
175
321
300
288
175
190
290
144
333
223
243
210
212
238
244
297
231
229
278
279
177
252
274
139
247
292
180
259
170
200
231
175
210
221
252
181
367
208
220
245
287
205
204
182
222
234
195
214
170
227
156
192
205
213
266
268
270
154
235
308
244
217
232
355
205
188
169
241
170
251
198
241
139
195
253
221
246
249
209
280
243
196
198
146
246
284
253
215
189
179
193
323
212
248
218
228
181
308
169
247
287
214
164
246
265
212
209
160
304
126
213
194
247
219
174
208
288
179
226
235
240
193
240
296
222
230
197
207
173
296
166
260
279
250
145
207
198
216
296
243
226
239
210
160
249
253
272
211
245
197
239
225
170
188
254
233
178
299
311
274
178
237
277
197
188
282
290
234
215
214
213
182
263
214
315
267
255
229
219
200
228
172
171
228
227
214
169
202
215
204
231
296
169
291
176
114
186
242
237
173
178
260
205
331
214
181
273
261
220
253
177
242
243
206
249
187
174
191
258
192
173
170
281
197
197
183
245
183
139
225
264
174
206
185
222
289
238
216
228
234
243
194
205
268
184
196
271
237
226
198
367
207
170
211
200
238
148
198
280
182
207
202
156
175
215
149
181
167
249
116
258
200
239
292
164
239
200
154
219
180
269
202
220
156
211
220
219
184
300
274
263
273
245
219
180
262
211
212
274
259
217
232
240
166
195
175
178
231
168
260
244
284
205
195
259
154
221
255
192
222
250
240
204
233
224
257
241
274
240
160
323
199
267
263
278
211
287
146
286
224
183
209
251
245
269
185
169
232
169
307
192
222
175
170
244
220
194
235
202
200
267
176
232
218
270
203
229
199
116
195
209
173
266
248
187
207
231
152
267
263
202
207
292
281
225
163
172
239
288
193
258
229
213
174
170
227
274
234
274
188
129
310
219
210
235
169
152
174
126
243
176
212
174
281
267
196
206
204
194
199
202
252
261
215
192
206
243
180
218
314
263
226
283
261
145
227
259
166
169
293
223
170
251
184
191
241
129
213
245
237
169
194
275
187
178
197
154
235
230
233
239
194
234
167
173
257
208
283
170
211
210
226
192
157
237
264
220
234
291
247
114
180
261
156
273
263
158
215
279
209
273
289
223
193
288
207
167
181
169
212
225
278
234
234
196
198
209
209
223
206
233
299
141
164
230
191
209
279
215
274
228
169
175
221
187
191
224
160
270
207
186
223
253
237
245
166
249
231
308
309
205
245
230
149
241
233
171
207
225
260
253
196
259
198
166
236
252
333
242
165
258
227
235
245
114
229
312
156
263
181
276
234
161
235
274
200
326
200
195
199
196
218
230
193
198
241
183
139
257
232
225
295
268
214
165
301
192
236
283
233
238
242
213
189
218
217
171
296
198
218
161
171
191
199
237
151
133
230
194
301
238
176
332
320
151
227
280
193
200
173
270
211
269
288
191
243
252
146
196
305
174
220
240
211
261
267
235
221
161
192
213
166
212
240
195
267
239
175
213
249
231
217
225
265
183
256
281
196
251
297
234
189
263
240
195
257
159
145
192
233
204
233
218
285
343
194
219
180
235
139
178
224
307
195
235
174
180
157
286
241
278
231
197
261
238
149
312
151
284
205
282
202
202
162
203
291
144
245
231
209
247
160
215
209
264
234
269
164
262
202
214
213
236
196
245
247
194
370
328
234
156
187
257
145
247
170
262
146
114
188
114
164
296
339
194
252
194
233
211
167
243
160
255
283
208
229
200
173
152
262
194
226
228
270
259
202
226
251
231
282
235
305
217
242
145
218
261
163
256
235
283
203
200
233
195
238
292
196
266
262
213
173
246
146
235
297
193
193
197
272
247
266
129
203
182
182
257
266
114
273
250
240
188
251
234
297
192
198
222
210
295
283
193
309
257
196
283
223
273
202
213
168
173
162
175
213
224
226
388
158
228
238
238
184
207
204
193
246
183
187
179
259
192
232
256
228
161
248
228
195
195
195
246
253
262
299
306
304
240
195
330
204
284
211
183
229
186
229
182
249
154
246
232
215
271
253
232
194
154
243
193
198
196
255
183
206
184
242
252
309
242
214
242
194
278
206
245
189
177
199
189
240
151
270
197
216
223
257
224
222
253
222
243
251
191
305
184
194
331
201
208
201
195
198
176
254
191
249
192
235
114
260
209
248
207
188
230
262
229
306
260
238
234
269
268
239
216
270
236
243
138
209
203
212
244
195
238
257
214
197
296
214
220
245
270
304
247
222
229
254
224
160
266
275
201
222
209
181
176
232
301
171
193
173
231
226
228
175
201
245
253
213
184
171
249
246
274
239
180
191
227
195
170
208
222
249
178
172
216
274
297
184
186
181
245
313
283
262
354
206
162
167
207
154
238
159
184
260
296
241
178
200
198
255
226
188
169
154
170
163
160
173
245
173
225
266
181
229
266
220
207
256
203
209
332
208
126
227
244
262
225
209
211
206
277
354
207
151
197
294
236
189
220
230
248
198
317
272
222
222
179
191
215
248
361
173
252
144
198
244
152
231
114
235
229
224
248
256
272
167
165
245
303
217
187
197
151
249
263
134
302
186
187
275
220
237
253
218
152
225
202
215
259
262
168
216
329
209
209
203
277
201
230
201
223
242
172
274
252
239
207
233
319
203
191
208
239
233
213
253
205
174
185
217
209
304
279
192
258
303
216
224
213
230
271
224
210
179
271
151
224
168
270
235
219
180
178
191
199
194
249
170
211
256
214
219
229
261
310
202
317
194
199
249
235
233
251
179
185
126
277
262
201
222
181
205
248
171
318
181
159
196
301
315
265
239
175
211
162
309
182
284
229
256
114
197
226
248
205
223
151
178
242
207
158
164
246
270
227
157
174
114
160
209
193
226
226
282
204
201
215
190
212
294
200
274
126
237
303
218
224
167
182
170
221
221
116
223
196
178
178
254
225
304
214
216
278
270
211
263
210
243
273
226
228
244
269
297
239
212
205
175
153
168
282
278
278
235
232
160
181
261
231
248
175
216
231
187
235
243
284
225
114
243
168
173
243
278
152
129
181
162
258
231
158
248
214
235
349
248
219
237
193
220
221
210
195
222
231
158
171
284
234
258
244
184
219
234
160
285
279
239
219
126
264
224
295
209
239
192
229
238
250
251
184
301
184
237
221
214
276
250
280
239
221
214
211
262
192
307
261
290
220
262
178
198
252
293
191
200
280
253
249
258
161
157
217
152
116
222
182
272
173
214
211
211
251
266
264
217
246
284
169
260
279
237
188
174
221
152
262
225
288
246
167
275
189
192
227
299
318
151
263
174
188
292
139
262
231
234
222
198
172
254
170
180
268
244
234
225
147
198
175
293
197
163
156
166
281
242
237
175
271
261
263
281
251
207
306
188
225
208
232
207
199
248
237
199
253
195
251
239
260
244
184
254
178
264
227
214
175
269
226
270
229
233
166
242
328
209
248
186
235
236
291
199
207
139
167
214
260
238
164
211
207
218
243
297
152
275
151
169
251
256
229
151
227
264
175
212
187
222
274
279
270
243
253
232
255
266
331
192
201
192
225
262
253
237
264
198
218
242
214
211
274
228
244
363
220
179
262
139
215
284
188
239
238
166
220
205
158
197
214
229
233
291
222
255
283
257
282
252
289
238
218
217
179
161
233
195
182
170
232
234
255
211
211
223
186
261
305
231
207
203
203
250
221
198
317
126
196
279
266
206
239
288
279
265
285
280
242
277
260
216
256
177
258
208
231
184
198
194
221
228
248
222
261
301
168
173
149
283
214
214
201
226
245
245
271
220
256
219
283
192
154
114
205
304
173
210
278
308
225
220
238
196
288
246
193
244
257
270
186
260
186
275
192
263
233
262
200
185
198
246
207
227
286
247
248
269
263
236
255
264
147
173
306
219
186
228
298
180
197
262
220
319
227
222
232
227
203
173
211
169
141
210
293
240
164
225
203
198
181
160
352
207
288
266
251
257
245
229
130
200
230
209
192
242
237
258
213
281
247
227
248
114
246
208
254
203
196
254
241
286
199
150
222
222
297
305
192
167
218
249
220
239
231
241
257
226
233
234
240
228
296
185
221
208
218
207
160
159
241
287
178
234
285
216
184
182
114
199
266
219
234
288
264
200
169
243
271
202
211
169
192
214
233
168
270
176
300
176
200
214
207
201
180
309
180
202
260
180
294
303
233
252
284
292
202
203
218
205
126
263
248
267
287
191
197
256
210
218
229
198
276
164
335
207
223
300
279
255
160
231
238
238
221
146
197
156
285
206
193
219
170
262
249
247
184
250
202
216
196
289
181
235
169
204
203
315
177
218
238
230
214
250
177
217
228
238
190
202
260
139
187
221
252
209
238
247
253
270
283
169
206
251
144
210
263
187
184
203
228
214
261
269
231
255
274
245
179
180
235
278
192
116
259
220
268
198
189
205
287
191
159
240
121
290
203
114
278
230
235
169
299
136
207
260
240
210
217
126
331
271
250
206
259
315
182
344
237
213
255
285
224
255
290
238
270
241
186
214
139
243
249
114
214
212
218
165
183
213
214
250
252
251
257
257
223
151
235
186
149
149
248
241
218
221
235
268
224
261
242
197
181
194
202
272
139
267
237
228
288
240
177
241
289
286
260
180
215
244
276
215
233
230
238
266
209
230
211
295
204
206
179
239
305
207
259
114
206
200
266
169
166
169
184
128
239
217
208
170
198
214
228
280
214
243
229
252
231
300
213
222
278
180
209
291
206
254
258
269
260
236
239
258
174
178
221
227
181
189
162
261
189
198
281
304
175
199
192
145
253
133
255
268
133
212
194
188
220
221
214
180
195
173
193
198
171
257
302
217
238
218
156
262
219
218
248
216
126
214
273
214
278
219
160
258
265
151
210
239
232
192
178
259
213
176
213
238
179
248
239
270
205
200
259
193
235
149
152
217
243
205
192
197
179
172
249
204
206
260
231
186
217
185
246
207
217
175
215
212
212
283
146
160
290
279
167
276
239
212
241
260
261
264
126
232
185
278
174
281
203
222
177
198
231
248
256
213
174
193
218
235
230
255
194
249
297
237
186
275
331
188
154
232
180
218
267
209
259
264
231
192
235
170
298
309
244
202
160
220
211
267
209
182
167
244
196
249
191
226
191
239
317
243
114
263
301
249
218
235
260
232
187
252
293
220
218
282
255
252
222
269
235
275
254
229
235
252
134
278
226
334
220
296
261
114
211
298
247
241
202
235
182
179
194
188
165
226
308
186
171
259
180
323
236
175
239
267
210
203
175
198
227
165
244
241
177
251
170
170
269
229
114
248
221
231
214
266
255
234
194
316
251
187
208
256
303
213
286
193
175
139
196
295
173
226
181
233
195
219
274
264
229
212
208
160
176
297
333
214
295
256
192
235
179
197
198
334
195
273
207
261
268
175
204
289
197
219
246
193
283
164
211
317
248
225
190
170
272
214
225
243
148
282
214
213
208
203
226
180
225
201
183
254
212
248
230
261
288
231
254
278
247
158
277
165
268
261
257
219
171
174
315
202
221
264
216
285
133
259
222
251
226
278
264
265
180
223
265
222
250
243
276
219
189
186
246
215
223
179
228
197
114
234
219
249
249
165
184
180
198
230
189
341
246
186
275
265
223
165
216
139
309
245
233
185
283
170
191
237
213
156
241
170
256
205
217
247
232
251
253
254
178
260
157
286
152
258
214
215
186
227
191
339
237
275
160
295
228
224
267
146
203
159
222
312
192
162
286
320
233
195
297
156
203
198
170
291
283
260
263
198
255
258
254
222
268
223
202
290
216
154
259
126
245
245
226
126
211
251
174
222
229
256
249
312
229
204
214
227
234
229
176
161
242
297
208
232
183
230
261
279
161
200
271
280
226
140
137
272
230
262
209
146
195
246
286
160
236
189
238
165
264
297
235
295
211
279
246
213
235
177
174
214
205
205
215
304
192
275
258
185
175
244
174
239
185
200
175
283
206
252
177
214
185
193
267
214
211
204
235
260
221
208
269
184
214
234
301
285
317
165
228
203
199
231
187
190
228
250
201
193
227
204
217
230
237
267
166
215
187
184
194
210
203
276
293
181
203
178
251
230
256
247
237
230
224
209
245
235
171
175
238
172
246
231
283
177
147
237
321
179
225
219
288
199
235
198
234
276
222
238
267
238
179
173
213
225
259
205
234
264
246
262
211
189
226
184
230
206
200
338
288
177
260
258
284
175
230
178
200
289
256
188
295
207
225
289
305
247
243
215
198
260
184
181
149
279
180
238
158
253
197
195
291
236
240
255
205
149
317
263
211
199
266
246
237
182
189
150
305
281
157
278
241
231
194
208
106
129
146
178
214
106
226
260
222
206
147
213
167
195
253
221
320
237
186
260
175
154
267
303
208
185
211
259
156
210
267
194
213
193
278
200
219
198
189
174
184
226
236
172
211
180
284
213
203
245
231
214
179
318
188
182
151
192
247
223
180
198
154
235
214
198
265
181
196
261
243
223
179
317
217
246
287
210
244
240
191
188
290
257
206
244
300
224
114
214
227
156
217
219
249
276
182
214
252
223
326
231
232
307
274
249
226
180
191
213
165
220
201
164
166
205
233
229
303
255
287
235
291
190
283
267
346
221
226
262
248
276
205
213
184
168
148
270
218
302
183
226
192
144
221
164
182
261
206
180
229
283
250
245
291
219
203
233
186
315
178
114
253
285
193
251
324
195
209
190
236
254
255
281
241
222
203
185
215
200
247
278
229
215
274
181
189
265
244
279
218
237
170
263
281
181
211
259
240
224
164
180
294
265
248
259
211
202
273
151
228
237
202
180
258
211
241
170
170
270
304
189
181
217
161
240
202
234
279
282
114
191
259
212
225
194
316
170
256
306
192
276
188
323
214
290
250
243
191
306
219
190
218
253
224
250
203
275
280
194
149
205
242
202
225
240
200
234
239
257
192
196
319
274
225
156
243
270
274
293
219
281
329
279
235
230
246
264
228
245
243
210
249
176
289
191
256
236
188
149
239
319
264
255
227
230
278
190
222
174
204
224
222
178
235
211
252
211
241
179
130
114
204
279
223
182
287
324
258
206
237
209
246
298
186
280
188
173
220
175
195
224
218
178
257
224
213
286
211
239
220
191
312
239
249
146
270
289
221
235
155
213
266
204
229
198
275
247
195
304
342
186
308
280
193
282
277
235
226
196
223
215
279
287
223
243
233
209
173
236
116
318
155
232
167
247
196
209
263
265
193
262
245
193
277
139
250
292
260
205
223
188
278
237
272
282
194
180
181
225
280
233
250
274
235
256
328
255
273
226
268
253
258
170
251
254
206
284
160
318
299
134
244
180
166
309
200
249
299
311
130
312
179
290
359
264
221
190
237
175
229
279
324
221
186
222
282
180
221
223
210
233
168
158
260
213
218
215
222
239
278
247
219
267
210
193
178
232
302
258
207
234
239
144
213
192
245
238
249
179
193
259
229
201
235
272
180
114
175
286
218
221
224
328
303
203
208
259
200
284
167
324
202
215
192
262
284
274
226
200
205
220
253
273
114
192
204
197
223
271
189
187
253
213
174
173
222
145
221
198
232
187
220
246
190
251
228
217
238
260
188
225
253
302
261
210
161
154
330
184
237
208
301
176
289
192
173
199
214
182
172
293
170
204
155
259
232
167
218
252
301
241
263
211
212
178
215
221
151
269
242
336
177
208
221
273
241
252
184
312
205
329
181
226
204
258
200
217
265
170
196
293
245
193
236
187
260
219
237
242
201
176
239
233
259
211
304
228
151
169
237
251
225
216
197
296
227
238
261
221
224
249
243
246
285
161
183
205
209
276
187
221
206
228
191
301
265
231
197
203
206
233
181
198
202
195
191
207
198
220
260
188
217
170
240
228
186
294
212
270
157
308
251
255
169
231
225
245
194
233
265
148
311
244
188
260
231
180
247
227
289
198
222
130
183
247
246
263
205
234
253
213
270
170
244
206
189
165
192
129
233
249
268
240
175
204
226
201
244
257
170
280
227
190
246
201
203
228
275
249
195
307
209
204
241
197
224
279
248
341
278
196
278
227
187
246
248
258
198
270
265
172
192
193
239
192
250
230
261
225
253
274
364
201
211
248
146
343
319
179
230
248
213
206
243
209
225
317
195
164
198
196
201
230
303
147
218
215
219
202
204
215
178
184
258
225
198
251
227
252
223
196
203
219
170
225
250
235
222
243
258
139
236
219
233
166
192
269
233
181
184
249
215
230
283
191
267
303
199
210
210
298
204
227
250
211
217
242
233
191
235
267
285
211
176
279
302
176
160
231
295
295
154
198
144
250
225
195
195
186
214
283
114
240
224
272
226
196
250
174
213
159
172
200
263
227
285
220
217
183
221
255
160
323
232
223
214
235
248
180
234
230
208
152
270
184
238
261
182
204
217
220
170
213
175
281
246
322
143
215
217
296
114
243
171
231
160
205
269
233
221
158
146
222
158
231
194
206
302
238
296
236
114
237
245
241
234
194
195
160
234
229
264
188
239
183
222
176
211
229
281
180
161
367
199
218
166
239
250
122
194
255
179
238
209
234
323
301
216
195
230
236
225
174
284
271
213
235
210
256
214
227
247
274
200
178
163
201
202
185
161
273
211
185
217
293
296
173
179
259
255
261
230
205
172
211
166
289
213
158
323
217
179
238
251
259
229
222
203
227
220
271
200
297
192
227
229
235
211
234
208
244
232
288
259
303
234
260
233
175
231
260
223
323
270
238
246
228
222
213
223
280
244
224
288
333
191
277
221
285
185
211
287
250
191
202
166
335
217
220
272
182
214
285
168
306
258
224
266
231
267
267
244
291
285
235
262
207
189
170
255
234
277
257
275
266
235
319
211
162
206
223
151
171
243
220
228
249
247
240
246
263
210
247
177
114
217
156
273
216
221
220
228
192
253
247
216
207
215
202
203
186
267
106
224
246
289
292
227
258
213
213
153
230
308
236
278
215
301
287
250
231
230
342
239
229
211
310
248
246
255
235
178
294
161
234
209
193
171
195
264
235
213
223
162
242
220
225
296
199
266
195
208
146
256
268
183
189
274
305
246
174
214
114
114
172
285
206
208
198
236
226
267
191
263
192
198
173
259
238
217
326
212
237
228
215
225
246
209
325
114
260
215
252
297
212
259
227
186
254
317
233
219
175
280
157
243
160
309
161
251
173
277
217
231
285
114
220
204
208
227
225
243
229
272
192
220
202
239
145
203
213
321
189
352
214
218
243
286
178
251
223
219
192
269
256
270
237
206
253
237
231
284
216
195
218
241
244
177
154
237
219
165
268
166
235
267
223
262
265
204
235
199
292
160
211
222
177
218
216
183
237
156
216
225
264
209
234
296
198
221
178
202
194
230
320
160
208
170
149
230
172
217
253
259
263
252
211
175
159
208
184
228
339
225
247
130
264
259
298
192
267
208
204
202
151
245
192
219
253
244
249
114
207
255
199
196
160
173
256
297
251
215
271
247
188
228
267
250
244
195
151
258
284
154
238
261
257
185
221
175
218
224
185
200
175
258
221
283
264
166
206
266
126
311
147
174
252
237
170
193
217
339
177
217
159
181
219
165
202
282
283
296
358
205
211
227
200
157
198
248
234
180
250
192
239
205
201
202
235
228
114
222
182
160
235
236
278
234
275
163
310
192
196
227
237
167
217
213
199
215
250
252
279
213
192
181
299
130
220
265
226
264
241
261
139
170
191
281
234
268
245
170
156
238
282
222
233
238
287
253
335
294
216
262
156
197
283
186
240
219
237
235
226
220
233
208
239
193
282
252
211
276
267
200
243
139
196
264
176
180
256
175
246
267
160
239
259
214
182
231
191
262
215
161
244
313
243
181
226
223
183
176
228
253
144
233
222
190
157
150
121
219
158
244
248
219
270
198
209
232
155
214
224
217
225
195
256
209
130
270
213
211
310
197
282
116
197
209
250
292
211
202
248
234
178
231
210
229
239
258
233
298
295
238
257
168
179
172
172
170
230
193
152
253
232
247
252
281
218
158
221
217
229
200
245
325
298
253
234
209
256
218
279
225
161
293
231
139
248
244
215
211
154
232
235
231
194
299
236
221
330
255
208
212
195
211
156
128
234
216
267
238
204
258
321
210
230
249
264
220
204
295
243
272
315
190
181
209
196
170
207
114
294
219
296
261
313
213
203
273
163
286
226
178
157
209
270
197
285
208
230
151
225
254
256
184
277
230
220
288
310
184
145
227
213
227
218
178
253
297
318
175
139
205
213
238
270
226
198
141
183
296
190
180
254
181
216
114
171
181
195
238
174
196
233
201
277
259
154
182
182
160
255
220
218
230
242
240
262
268
212
259
160
305
169
234
284
195
174
260
264
270
270
172
216
202
173
201
245
303
229
206
221
351
202
248
240
238
229
239
186
253
271
284
275
233
156
243
201
222
244
189
239
158
305
185
240
207
182
242
234
173
217
178
154
290
210
208
214
211
275
229
217
149
172
224
226
190
285
217
173
219
195
318
254
242
253
181
264
308
259
188
231
299
198
313
167
259
245
254
152
218
226
204
226
225
180
171
181
209
294
157
144
185
175
192
187
306
246
180
183
243
192
239
237
300
114
158
288
202
296
224
256
258
158
235
334
231
230
227
234
114
209
272
228
236
166
170
116
207
208
226
227
224
126
154
207
207
156
151
257
203
185
246
262
251
297
228
254
228
229
200
209
170
249
183
260
231
172
233
265
250
177
222
317
162
217
282
178
246
163
201
206
146
256
285
218
193
191
202
245
257
234
200
265
276
166
161
208
130
332
294
129
156
225
245
319
235
243
175
159
264
179
209
178
241
268
204
210
209
206
191
306
161
332
275
229
170
239
203
251
214
205
270
144
231
253
229
186
297
217
210
250
245
192
215
205
173
193
184
259
220
233
319
154
250
206
277
221
171
355
195
238
218
229
196
168
186
231
232
219
265
219
241
233
300
187
291
238
293
156
151
263
244
221
161
252
177
240
214
191
173
236
293
205
208
235
249
234
230
195
250
292
156
172
206
303
199
174
234
147
259
235
272
225
219
206
263
191
235
181
227
166
237
219
239
261
208
260
247
239
231
278
160
232
270
229
198
166
146
233
201
319
271
266
259
223
250
234
229
180
302
200
281
282
126
204
179
228
199
309
164
214
175
298
222
231
283
234
164
185
217
259
187
144
242
284
220
192
230
303
252
288
278
222
214
255
219
203
236
220
156
149
214
344
206
222
157
262
249
188
287
185
246
157
222
175
241
306
202
213
193
285
252
276
197
246
171
193
214
243
181
210
225
255
245
286
144
255
245
266
167
233
240
249
165
197
240
285
256
206
229
170
226
289
233
303
240
114
249
247
245
173
217
202
237
198
241
178
221
207
166
319
276
198
219
158
273
274
167
195
227
243
284
315
257
270
187
260
140
177
261
253
241
213
248
301
198
217
367
233
264
297
236
177
229
205
222
275
282
226
215
165
220
258
296
217
226
168
261
166
201
211
192
192
114
194
237
183
229
285
170
208
239
193
130
154
290
126
189
271
295
257
156
244
235
178
210
160
183
258
267
221
275
159
303
239
221
175
206
159
262
233
257
180
259
251
207
260
196
223
199
251
225
151
191
178
288
233
175
309
295
256
146
194
234
139
286
243
200
186
233
238
194
327
237
287
182
195
332
202
260
212
251
188
263
262
237
293
151
181
282
241
235
271
207
287
267
244
195
264
223
173
156
292
170
233
224
164
197
265
252
253
173
285
222
236
246
299
238
233
247
232
179
210
168
230
196
260
220
281
126
308
254
215
211
228
193
292
319
293
334
227
264
331
250
170
228
167
197
161
286
241
201
248
160
114
126
292
258
249
286
241
276
222
266
291
251
225
214
156
206
284
183
221
149
238
282
186
302
189
266
207
148
158
186
228
165
281
234
307
247
256
262
250
303
170
255
146
219
230
199
207
208
175
307
247
316
244
175
286
238
185
251
308
170
232
213
179
189
145
169
114
145
226
164
251
217
209
223
242
158
256
231
218
173
239
218
281
152
304
193
208
114
279
177
237
219
188
248
173
169
262
210
196
176
248
173
170
232
292
199
210
241
267
181
108
191
311
265
198
249
184
209
275
209
231
271
228
159
232
170
210
197
214
217
189
262
265
224
218
183
152
159
204
233
241
227
193
108
209
272
170
114
261
286
294
200
262
244
291
240
200
268
169
233
143
170
270
220
245
258
193
237
261
262
179
237
114
275
206
188
192
209
241
219
146
199
202
184
261
308
280
217
270
225
304
248
241
210
214
281
185
250
259
272
229
184
202
155
250
159
108
170
181
284
267
225
278
239
287
203
170
187
173
173
233
326
114
209
329
198
179
347
195
222
179
204
215
231
173
191
252
228
216
192
174
173
170
214
212
247
198
200
200
173
243
116
161
216
208
327
199
201
171
139
250
149
269
278
169
191
299
267
250
244
291
186
208
233
236
276
247
240
240
206
323
189
215
247
235
246
204
266
191
243
199
285
307
145
114
216
224
267
206
199
269
212
221
222
194
168
178
212
199
232
203
327
228
277
275
161
170
247
263
283
219
166
274
245
214
291
200
254
207
165
264
196
308
247
164
170
189
228
148
237
201
198
207
152
173
223
218
229
227
250
280
257
251
202
232
231
165
114
228
256
203
181
186
226
257
151
175
179
219
293
180
170
178
220
252
212
244
145
204
313
245
218
251
229
239
179
173
242
214
277
228
254
149
208
230
276
186
232
230
202
213
152
207
247
303
156
251
201
241
214
220
250
280
188
215
184
193
251
235
225
233
239
239
158
171
177
207
220
262
191
223
264
262
218
302
212
186
160
280
264
146
232
233
182
246
176
187
195
229
194
262
191
184
214
154
257
277
180
267
243
290
254
252
180
201
229
217
192
249
108
223
190
204
231
227
296
204
243
149
223
220
247
175
221
294
210
225
253
222
175
261
266
227
240
197
250
193
301
249
232
226
173
184
206
220
263
288
213
270
192
230
180
221
244
235
179
316
175
152
216
327
172
265
169
240
207
152
159
182
274
180
279
249
133
269
263
218
289
212
197
226
358
192
217
176
204
230
179
255
265
202
190
182
188
224
309
202
150
194
217
243
244
238
261
241
238
173
230
160
251
199
252
221
186
195
271
209
225
175
245
200
199
255
175
253
234
323
215
213
200
228
219
225
235
187
207
149
227
264
231
240
179
238
302
170
189
146
317
244
176
367
309
247
170
215
192
225
176
228
204
187
196
293
245
169
246
204
208
230
310
213
225
184
270
252
243
195
301
244
183
247
232
186
233
266
235
221
240
192
250
222
244
234
197
280
176
210
210
173
279
334
220
177
225
255
160
184
298
196
229
282
221
230
333
211
284
216
202
174
256
280
261
159
243
240
160
202
211
216
239
226
174
228
291
213
264
285
188
205
223
296
197
199
201
176
217
169
169
252
207
256
223
271
276
244
129
206
194
232
194
183
300
297
262
268
249
207
225
106
228
239
229
235
267
240
133
201
226
216
283
245
210
217
205
212
151
238
204
190
297
198
215
157
225
184
185
233
274
220
226
261
224
242
217
154
114
223
162
267
190
255
168
204
236
198
246
182
278
180
224
129
208
281
178
217
217
254
241
195
215
222
333
293
270
176
139
220
252
214
211
287
234
272
249
264
181
207
209
162
181
218
231
180
186
258
362
239
175
145
251
198
232
149
265
194
276
203
232
195
212
244
176
208
220
253
227
164
255
245
170
140
235
202
238
162
168
243
279
202
250
230
198
263
237
178
269
177
179
229
230
195
214
245
226
216
151
268
213
208
283
202
171
245
204
255
174
202
201
247
195
332
256
250
247
278
268
186
258
363
220
215
245
232
292
202
147
108
241
168
217
220
225
296
215
248
229
249
211
274
198
212
192
263
247
180
179
255
239
186
170
247
227
308
260
271
264
253
264
283
218
310
170
253
230
252
196
259
269
200
220
208
234
181
215
288
255
168
225
180
192
312
229
233
195
199
231
145
305
181
355
181
204
301
241
211
238
255
271
200
208
187
195
248
197
250
208
258
308
186
235
213
151
209
221
272
257
288
198
183
164
199
245
237
172
262
180
258
236
243
179
241
221
197
217
215
304
264
116
247
275
211
342
248
326
217
244
248
216
300
192
174
254
223
219
232
169
180
170
154
176
194
210
114
248
262
208
205
161
258
225
198
138
233
269
222
262
260
230
164
241
261
215
157
234
247
258
237
188
263
261
210
304
284
195
190
261
262
232
210
289
332
198
198
251
226
250
240
210
279
230
220
243
306
183
301
163
230
287
156
280
288
239
219
222
214
264
240
304
233
193
202
264
216
172
246
263
211
195
171
230
229
172
242
228
175
252
210
302
220
248
263
249
277
261
281
180
315
196
240
196
193
247
170
169
169
228
204
245
237
331
213
195
216
218
313
108
242
279
285
214
234
176
137
227
190
202
219
195
206
227
170
162
253
145
254
268
196
250
275
257
274
223
227
199
191
186
218
203
181
126
267
269
218
175
234
212
156
289
158
275
166
232
169
263
283
250
233
285
235
235
228
198
259
174
210
139
240
233
229
168
135
168
175
215
196
183
293
269
175
284
210
251
183
199
175
215
208
223
194
306
217
323
286
192
315
214
208
202
236
213
239
244
177
279
199
375
323
208
231
161
265
289
208
237
208
229
198
198
251
199
276
255
220
248
183
230
226
174
214
258
191
277
263
198
129
311
243
233
207
227
200
259
198
233
266
214
205
257
180
149
174
249
219
202
253
262
335
220
259
214
214
299
213
196
195
133
204
322
222
194
161
237
273
375
247
214
255
245
145
242
314
197
244
214
307
255
342
209
214
197
168
174
140
168
264
215
180
216
245
228
284
229
194
173
280
175
244
165
216
181
231
197
170
200
181
209
140
254
246
269
189
152
190
122
184
204
302
224
232
197
253
278
268
206
211
292
204
235
225
260
326
189
243
256
182
178
250
208
237
195
190
329
215
211
190
209
133
266
248
214
237
260
270
282
277
237
187
205
202
213
208
289
239
160
231
284
220
237
260
287
246
262
270
192
282
259
173
285
266
257
222
219
214
241
178
227
269
226
219
273
176
235
174
253
197
274
270
247
223
284
165
217
261
178
218
239
250
262
156
256
228
279
157
231
213
240
189
176
182
224
237
215
214
209
218
258
176
165
154
213
134
146
221
208
232
285
215
180
194
273
236
238
315
271
179
229
257
332
280
244
241
181
219
257
228
256
179
196
310
240
126
233
248
240
210
222
174
219
328
217
279
198
276
237
246
223
235
269
198
227
182
241
200
141
159
241
252
233
305
184
249
213
255
175
244
240
178
195
279
192
257
156
258
222
261
255
255
206
175
259
166
243
139
271
210
198
245
167
193
349
172
252
243
213
192
146
187
190
228
265
216
191
200
254
219
263
274
171
190
273
214
211
160
222
295
277
273
322
253
240
200
200
173
322
246
201
323
263
262
221
286
171
198
176
158
290
168
303
231
213
286
290
249
233
218
207
230
188
236
307
252
219
212
173
330
282
221
178
259
245
163
270
224
152
249
217
314
219
256
129
215
180
219
254
299
199
227
287
214
201
121
161
218
226
250
283
189
183
207
229
258
269
242
175
307
214
207
267
312
274
230
294
301
266
217
149
229
130
211
282
230
239
262
237
247
178
220
213
114
222
336
209
235
225
233
251
217
196
192
275
146
225
209
218
240
249
163
285
184
264
220
160
241
213
227
243
160
213
156
253
262
193
175
174
208
193
230
256
114
210
244
234
174
286
181
218
183
144
193
219
152
227
256
253
256
222
157
282
177
241
194
239
237
249
227
165
216
137
283
183
219
240
188
242
147
256
202
222
249
209
210
252
307
258
229
225
265
209
173
176
226
273
221
181
280
250
185
272
219
249
227
195
232
231
269
202
207
215
175
228
193
234
256
304
228
178
240
173
271
222
210
232
257
285
234
239
209
238
323
259
220
233
233
265
279
285
213
206
178
267
232
192
208
295
226
257
254
196
198
291
240
240
227
223
214
248
251
234
243
274
161
297
310
272
265
287
192
166
284
254
164
207
309
165
180
238
263
227
280
227
234
205
196
165
207
242
264
245
290
190
206
331
221
139
192
167
237
374
223
194
186
232
300
178
219
266
126
214
232
209
170
232
329
242
199
261
240
212
251
245
200
258
292
257
225
270
260
212
220
173
179
238
313
175
190
246
170
267
242
171
161
215
191
161
253
253
168
227
186
272
242
215
301
193
264
269
197
210
266
222
158
280
129
249
271
226
326
186
139
179
253
212
217
260
242
255
182
202
244
247
231
243
267
289
231
166
264
173
268
239
170
287
192
228
239
232
249
182
270
299
181
178
289
227
261
220
224
205
284
149
210
251
182
254
236
195
188
178
209
296
210
278
259
154
210
214
170
114
114
332
220
272
181
259
241
158
207
192
238
194
193
180
241
167
246
272
221
212
261
173
225
307
219
173
195
316
249
256
220
274
262
269
158
245
191
329
170
152
220
181
279
202
145
223
206
259
174
254
185
222
203
248
250
237
228
257
172
247
241
241
235
183
145
198
205
256
198
182
173
206
246
278
250
263
184
269
233
190
302
247
268
232
214
198
174
161
164
243
114
232
245
262
190
224
171
213
239
229
170
222
209
337
294
214
214
217
243
169
276
267
223
215
182
204
193
256
209
275
223
311
181
297
209
275
212
214
174
149
257
245
275
195
212
193
208
174
172
220
213
200
160
252
224
214
235
225
197
152
202
251
218
290
229
193
251
224
273
188
206
213
253
294
245
247
114
201
165
184
173
254
218
227
229
174
285
223
181
254
239
282
262
354
220
230
262
177
157
264
211
200
264
181
206
299
274
114
139
233
175
250
261
197
210
270
199
232
192
300
184
228
229
235
237
168
186
221
193
153
267
188
247
292
195
222
204
250
195
174
281
304
192
181
191
209
175
183
280
317
290
160
167
129
205
172
349
203
227
238
251
261
121
268
250
249
256
208
238
225
209
208
184
249
178
293
213
156
280
228
214
183
201
226
244
255
198
197
269
274
279
234
198
208
223
224
263
175
147
309
194
180
214
232
246
196
247
173
266
260
225
189
232
242
196
224
219
192
244
152
247
213
139
174
232
133
244
184
231
271
190
180
221
234
168
234
250
171
234
210
165
221
200
183
287
273
191
260
231
306
155
203
255
207
272
253
258
220
193
234
214
178
238
185
205
200
327
249
264
308
244
263
279
206
230
229
286
292
235
253
156
152
278
267
290
264
256
170
235
168
308
263
228
181
257
257
175
256
207
272
246
183
175
235
253
225
205
229
192
262
198
282
271
183
309
234
186
266
195
203
226
211
156
207
194
254
151
208
299
166
202
222
196
262
238
160
289
232
242
238
196
278
226
244
305
243
255
167
236
213
258
220
247
191
176
208
236
279
281
295
260
274
203
273
218
200
251
296
237
215
198
211
206
247
265
216
238
251
166
244
253
262
205
201
153
300
193
160
240
237
259
229
282
146
180
195
187
273
242
187
177
246
235
252
268
114
260
227
327
195
246
205
291
263
269
201
195
223
225
180
224
211
180
186
200
205
178
162
200
201
212
164
290
168
145
160
144
220
308
114
244
233
209
249
286
197
288
206
208
287
198
200
194
167
186
173
244
222
208
252
187
164
223
255
213
167
264
273
254
184
322
204
192
288
194
267
181
209
211
246
318
178
298
287
218
209
217
149
212
237
158
158
192
159
114
229
223
169
240
200
209
255
236
292
167
260
246
236
192
227
266
114
162
265
242
261
254
221
260
158
221
272
215
126
246
287
196
220
321
213
166
171
294
174
152
348
170
236
272
255
313
234
153
189
162
156
224
275
219
225
259
233
179
145
265
233
253
247
192
203
222
200
213
229
259
157
205
250
187
177
158
203
184
305
285
253
255
225
192
255
303
191
273
202
222
233
194
169
230
213
169
293
319
126
207
211
237
222
174
260
266
196
180
212
256
265
160
259
207
145
302
201
271
208
247
152
226
176
179
232
151
165
251
139
249
289
267
170
290
277
262
188
271
173
265
158
166
227
172
236
161
302
192
224
162
287
209
292
223
252
258
238
182
256
238
252
261
206
248
333
267
203
240
212
205
230
226
276
232
299
137
203
238
206
192
257
208
278
240
178
287
108
231
212
196
283
236
231
213
262
190
207
313
214
196
242
206
234
333
225
260
198
246
129
210
226
185
149
191
288
260
246
206
229
212
218
267
282
197
181
170
231
250
202
170
260
252
250
223
198
191
256
228
306
302
144
252
157
191
250
207
264
225
232
187
289
303
192
303
250
179
195
255
151
229
213
277
235
223
175
251
179
114
229
230
224
191
192
259
218
239
156
269
206
253
288
236
163
277
225
226
184
149
236
256
224
301
189
236
218
157
228
193
193
180
175
214
226
228
186
226
212
247
226
223
203
161
255
249
193
214
181
180
263
170
258
266
276
226
272
296
249
202
201
212
250
247
130
258
184
238
200
230
223
312
277
315
297
208
180
239
166
200
207
328
223
160
283
237
224
268
231
156
154
250
217
233
249
223
212
215
241
198
223
225
152
178
238
231
265
239
282
239
221
270
178
114
217
229
227
179
272
176
243
255
201
214
188
212
212
218
271
212
264
223
147
287
184
253
178
242
240
211
261
242
220
167
221
257
145
226
267
218
247
223
195
184
204
246
238
186
175
162
337
114
183
121
225
228
213
205
286
173
274
190
230
267
230
253
329
301
198
341
297
257
211
224
230
253
219
202
187
190
208
180
244
294
250
270
250
177
246
247
179
243
116
222
222
285
241
257
188
277
195
272
148
194
213
189
249
223
220
223
214
243
234
188
226
187
277
237
147
178
334
232
219
145
212
281
169
195
170
203
235
203
258
248
198
261
116
186
251
178
193
196
186
186
214
192
197
371
257
234
240
165
213
199
213
264
204
287
255
251
253
275
232
190
204
223
234
178
155
284
165
282
178
225
257
206
268
241
332
316
231
231
213
215
156
205
258
244
309
237
247
243
199
168
271
202
177
204
221
283
219
234
199
177
235
176
220
173
251
250
236
219
114
246
205
216
275
214
269
214
256
189
220
214
149
214
220
266
241
229
267
240
226
203
214
253
186
206
206
171
281
219
234
214
261
210
262
240
221
283
234
178
152
202
156
205
212
154
223
324
269
293
243
175
225
254
116
195
198
225
306
185
216
231
299
223
206
230
287
178
234
224
229
190
233
258
240
253
204
260
179
197
227
114
242
227
241
219
271
274
257
210
200
114
279
231
254
245
195
211
156
200
238
237
181
236
239
262
114
178
220
224
231
156
211
217
291
160
331
243
144
265
203
175
159
225
220
238
164
223
292
251
214
192
161
221
246
203
245
157
312
265
234
221
213
245
219
179
232
259
237
246
152
194
215
202
225
243
167
248
225
215
224
256
250
295
205
240
232
309
286
245
247
203
241
219
227
126
172
235
189
239
178
269
223
229
230
355
251
201
208
260
226
160
218
225
155
164
229
205
258
231
184
202
240
202
208
243
154
224
221
272
279
267
211
121
208
168
190
200
158
151
212
195
167
215
185
162
250
328
165
267
221
181
251
235
231
152
247
233
149
185
242
211
212
245
231
171
243
178
267
215
193
213
169
278
271
212
196
293
246
196
235
232
213
204
114
229
231
167
176
258
179
206
214
245
226
232
179
186
238
243
256
222
174
166
224
238
193
233
232
238
228
230
287
165
323
243
290
251
250
254
270
250
191
276
199
170
173
234
275
174
229
169
261
266
239
242
224
234
229
320
218
179
237
144
195
175
226
191
236
212
247
256
195
259
247
290
281
236
156
176
208
219
195
201
222
239
248
255
247
241
237
241
200
164
236
223
178
219
281
265
235
114
200
229
178
294
303
232
187
126
221
166
174
191
247
257
206
215
195
240
196
189
258
192
238
152
238
222
240
192
247
214
212
242
257
114
329
209
223
152
201
195
245
207
228
198
261
170
168
164
173
283
169
244
162
281
188
252
193
213
207
180
181
259
196
221
258
179
219
214
144
181
202
285
264
276
238
260
238
293
315
289
332
229
195
234
170
213
215
199
203
106
266
250
167
195
317
255
212
243
269
227
278
301
213
233
267
183
214
271
239
268
173
214
231
210
266
209
270
256
244
216
224
249
173
211
230
260
196
339
195
254
279
146
269
187
257
165
234
289
179
220
249
225
258
242
247
246
221
244
180
274
242
272
181
185
240
152
281
196
279
212
190
170
211
194
247
266
229
219
215
229
232
212
273
219
246
217
251
116
292
133
267
200
206
256
231
166
141
256
181
245
197
144
296
202
261
298
277
114
217
209
167
247
247
303
174
108
222
210
253
114
238
144
192
284
304
259
186
221
139
248
208
256
271
294
221
296
192
183
244
250
218
266
218
160
173
172
289
148
234
216
272
244
176
235
246
178
218
295
116
285
292
234
232
254
218
241
222
215
212
228
310
220
227
219
207
212
237
199
216
197
215
197
206
226
190
226
221
235
216
225
228
262
178
310
262
177
196
154
249
269
299
251
197
227
217
263
274
324
272
189
196
164
281
196
152
219
246
237
180
256
183
279
235
220
309
230
160
255
265
219
259
252
170
342
263
268
270
146
213
221
276
232
239
211
201
240
181
243
242
254
178
179
262
265
270
197
270
178
184
224
265
248
114
160
155
209
146
233
154
195
264
242
230
290
298
197
185
292
226
265
218
239
193
278
289
235
266
215
168
181
232
257
305
269
251
288
233
236
184
225
300
198
126
257
198
258
194
170
237
218
251
217
250
293
310
154
252
203
271
221
212
106
137
239
197
183
248
155
265
217
260
168
225
200
223
250
188
211
198
272
156
184
233
239
254
211
237
260
199
301
208
178
257
232
297
217
201
275
186
209
195
178
194
255
236
287
275
169
188
300
254
227
330
240
215
185
222
203
209
289
190
237
249
253
186
185
239
173
242
207
207
179
196
288
277
225
216
208
215
177
266
162
145
180
208
165
189
114
270
241
215
257
247
217
211
244
273
331
292
215
170
220
253
285
221
248
187
146
163
189
262
179
273
288
226
242
208
371
197
340
245
230
237
164
277
177
213
309
231
235
289
282
255
223
164
197
198
184
241
219
283
171
165
221
218
298
172
308
218
220
266
249
218
114
211
264
193
214
155
199
189
263
254
203
320
288
169
215
221
233
208
126
220
108
186
222
278
257
201
126
247
220
227
205
219
139
259
196
179
176
201
254
274
230
151
260
220
158
186
200
175
207
203
271
235
212
185
258
312
114
249
173
244
206
108
207
220
235
258
200
216
242
252
114
155
195
282
268
215
254
168
181
207
186
163
266
243
180
222
304
248
203
231
234
187
231
270
191
174
160
166
170
192
200
182
215
268
173
231
193
276
173
300
137
193
169
323
170
209
272
207
215
236
204
170
216
212
173
266
151
281
216
218
193
295
246
190
228
207
194
169
289
328
236
231
244
193
185
275
246
217
266
232
222
176
174
248
173
192
196
126
251
319
313
182
232
195
258
213
223
173
170
193
240
203
257
216
196
161
187
202
254
202
181
252
177
272
222
183
178
196
235
196
256
242
266
167
202
196
252
182
352
173
261
300
194
276
221
209
259
225
337
241
151
211
318
228
192
254
295
206
239
203
294
285
213
234
161
193
294
225
291
300
199
233
193
258
195
212
279
247
223
260
217
286
195
251
253
143
139
223
238
199
288
227
178
223
232
196
233
190
189
274
237
263
217
161
173
244
181
228
225
254
215
243
160
231
225
222
159
207
217
211
121
220
315
160
219
194
213
240
251
185
241
219
270
279
271
238
301
145
225
194
267
220
130
329
191
281
240
288
218
304
308
327
178
276
246
160
219
178
224
246
235
226
236
226
305
229
139
230
300
261
216
215
126
219
284
259
188
114
221
200
211
249
270
193
249
243
287
289
264
186
193
306
291
316
218
218
291
183
240
267
198
242
184
251
236
252
269
195
300
249
130
244
209
221
244
198
171
225
209
228
201
181
252
183
233
196
229
128
260
272
241
254
206
219
233
191
222
222
249
258
231
170
207
250
253
215
265
184
331
162
203
249
144
256
182
207
188
180
180
178
180
309
242
179
224
225
214
240
209
180
236
274
281
177
246
242
173
245
202
330
279
144
209
204
258
204
280
258
277
185
292
188
241
227
221
202
216
232
232
279
207
202
272
203
228
226
321
326
189
174
168
217
139
234
205
166
246
219
220
212
175
170
235
219
160
226
192
244
229
228
266
301
267
239
309
303
211
170
266
173
265
291
221
155
144
230
290
190
204
232
257
200
223
289
270
271
195
252
184
209
176
247
228
289
215
194
182
200
191
305
239
260
260
301
205
244
139
306
229
260
182
210
193
198
252
216
190
220
305
274
144
218
233
233
268
314
206
209
241
188
204
223
217
193
276
204
186
240
209
270
233
236
182
203
192
198
198
253
205
219
205
219
195
194
169
292
161
205
204
301
225
214
202
233
313
268
205
218
229
184
192
268
254
181
202
146
278
342
144
233
175
114
282
214
206
232
263
186
156
256
200
284
331
316
297
237
191
171
225
208
187
269
241
243
222
229
296
276
215
219
260
170
219
210
185
193
158
165
186
218
192
213
219
212
315
228
168
253
298
207
174
170
222
197
232
173
292
289
230
182
197
186
261
258
247
193
264
271
160
182
228
250
201
239
202
204
212
260
145
222
247
255
160
214
168
174
220
248
248
198
247
232
178
261
219
239
281
197
238
215
211
203
193
216
284
173
273
159
273
309
262
144
248
205
208
183
245
178
165
248
226
205
227
241
194
289
214
250
223
191
200
213
268
314
230
281
300
198
214
230
256
176
225
284
235
276
193
156
179
235
256
260
256
227
193
228
253
234
198
288
265
232
239
253
210
218
108
250
280
251
261
277
202
332
209
260
235
193
283
269
185
284
256
171
238
191
370
224
304
253
121
207
252
190
294
267
243
240
254
146
163
108
258
193
281
178
230
233
249
177
146
322
114
192
128
250
218
195
178
243
195
197
181
301
306
251
181
190
211
267
220
114
272
238
248
267
269
195
232
335
249
224
250
210
187
221
193
223
246
198
267
350
253
175
145
240
290
174
167
209
139
229
213
241
156
241
212
264
148
189
241
299
237
172
260
252
207
175
225
154
210
196
217
206
208
170
203
225
213
299
233
219
166
234
254
283
210
204
169
191
240
216
269
242
287
256
153
217
306
311
261
242
309
278
200
198
315
114
267
252
225
203
242
214
200
247
232
169
204
114
178
188
222
191
214
182
200
179
288
165
237
122
160
299
243
263
274
248
240
224
225
208
192
207
177
227
326
248
270
217
312
225
221
328
232
230
201
194
268
177
188
265
231
240
215
226
214
296
183
194
222
237
220
286
187
238
255
220
217
247
266
263
181
204
262
198
239
266
237
171
263
114
282
289
196
290
185
250
240
197
258
198
137
216
212
257
235
196
266
275
114
240
309
171
229
218
233
180
246
179
189
114
296
281
285
242
195
277
184
221
210
274
199
243
242
219
200
212
164
284
244
156
239
216
215
258
255
239
193
183
242
240
215
203
244
234
199
203
265
294
270
178
170
218
139
342
191
207
172
266
214
183
202
190
211
254
233
203
284
178
223
248
225
250
247
211
196
114
239
287
221
261
208
240
148
198
271
263
243
207
273
220
214
306
203
288
180
230
181
244
219
284
208
196
164
156
175
181
194
213
235
186
304
168
181
238
173
220
218
293
262
174
154
209
251
198
139
298
195
224
192
212
208
293
277
227
166
256
197
212
330
189
263
198
176
183
219
217
220
163
194
207
287
139
294
252
355
301
156
235
263
235
229
238
233
226
253
296
175
208
291
145
252
210
205
235
261
251
274
201
201
203
228
198
195
193
144
265
298
162
262
233
225
174
151
234
278
254
219
196
209
238
151
274
282
258
210
217
302
303
217
229
250
218
265
281
280
198
220
210
168
240
311
248
279
233
188
152
157
237
278
265
253
233
195
219
273
243
285
222
163
259
203
214
270
289
216
239
376
284
182
204
220
297
227
213
273
182
246
189
187
194
156
114
222
178
152
295
219
178
223
221
209
236
288
227
181
254
238
114
165
230
282
238
234
225
283
277
185
243
259
228
219
238
200
279
207
165
264
233
238
219
199
130
239
189
219
169
178
251
258
195
288
177
262
278
222
211
169
275
237
247
244
261
233
252
203
248
179
250
263
280
147
239
252
234
200
266
183
247
248
254
204
160
249
224
208
181
175
268
196
258
235
156
249
207
215
230
204
215
239
239
254
170
211
275
238
234
227
259
250
171
248
309
203
235
208
203
272
154
245
164
170
275
276
221
236
245
186
334
190
159
205
251
278
214
198
291
226
263
203
199
114
231
211
279
231
217
236
296
297
227
192
267
234
146
161
260
169
301
247
166
271
240
319
139
245
229
227
231
191
246
284
274
188
172
185
234
225
287
208
308
214
266
251
219
277
221
259
189
202
198
183
248
289
248
214
242
204
194
246
263
272
221
217
164
320
235
191
234
179
270
234
234
207
289
163
271
183
191
276
247
212
231
251
220
253
207
203
191
252
239
203
156
256
247
198
222
288
241
229
242
254
192
316
242
180
256
175
195
319
254
239
174
249
319
312
240
208
217
286
192
215
219
202
253
293
251
261
222
154
262
243
277
318
214
212
171
207
214
213
212
261
195
219
201
192
235
173
189
196
206
220
281
221
206
240
216
225
156
285
259
265
221
229
170
220
328
262
179
272
205
214
237
245
234
215
185
245
238
236
231
160
277
189
283
257
277
224
241
168
230
262
232
241
222
200
269
192
229
225
218
246
181
287
267
299
184
281
271
220
211
211
275
235
241
222
198
204
173
236
221
241
276
226
225
236
206
271
237
222
175
169
268
182
246
227
230
266
254
220
243
236
298
161
261
244
296
227
268
258
220
215
276
193
258
279
238
225
205
232
266
267
209
258
230
234
259
240
233
257
240
247
199
210
208
204
242
244
291
275
235
187
237
189
211
229
261
262
220
180
245
195
197
260
214
238
281
153
308
145
217
205
235
205
303
240
272
174
222
144
260
233
200
238
206
220
195
179
216
272
175
151
308
256
231
208
210
207
243
202
239
347
216
284
179
213
222
288
189
179
167
278
218
211
317
174
194
189
214
160
249
297
237
217
160
286
247
207
232
160
235
226
300
220
249
244
219
283
114
199
295
321
192
196
343
196
222
181
284
190
198
192
227
242
306
196
238
180
230
183
241
229
169
259
223
188
108
216
242
250
277
190
211
259
219
219
156
285
154
251
266
208
330
218
222
243
245
345
166
246
228
177
309
249
248
218
222
232
194
266
239
160
232
148
225
256
290
201
196
227
194
239
227
240
208
204
176
204
283
187
287
214
174
221
231
212
186
284
139
244
172
144
265
232
296
210
236
178
179
261
263
227
289
156
195
237
225
192
234
211
168
217
257
189
232
202
265
262
196
218
151
260
277
273
238
211
210
308
249
243
239
205
208
248
207
213
219
175
228
226
277
174
213
311
208
227
293
261
221
258
208
286
238
264
256
192
198
229
199
162
256
170
129
175
227
161
232
258
176
329
196
169
225
253
280
155
167
237
225
242
166
245
196
239
214
216
246
264
211
178
214
200
202
217
331
247
291
225
179
313
245
240
239
278
205
258
195
240
293
208
264
296
151
217
198
226
262
208
299
208
191
128
189
200
227
218
260
234
186
208
181
248
300
289
253
256
225
234
216
287
185
200
250
245
192
174
234
228
212
230
222
297
268
170
184
233
321
246
202
229
243
221
254
272
193
176
231
197
223
270
241
175
260
202
283
201
228
286
261
252
216
316
193
212
242
215
230
245
252
228
234
197
205
156
249
185
215
180
208
178
261
170
231
178
248
215
190
207
175
247
156
243
293
287
208
210
207
175
181
222
336
158
208
243
222
264
207
225
273
165
251
191
228
295
193
172
265
264
260
277
218
183
174
269
266
192
224
184
286
232
247
168
223
240
228
214
208
216
284
175
241
203
196
319
145
237
252
226
231
175
315
219
180
203
233
168
220
298
270
212
195
264
195
265
231
229
173
198
290
295
137
256
213
175
232
156
170
178
299
233
161
200
235
254
259
146
177
233
274
230
179
207
161
158
191
238
224
266
242
270
190
186
265
155
194
211
261
308
193
239
201
170
271
202
162
181
179
276
175
313
195
335
185
216
220
173
287
256
257
179
201
219
173
255
251
185
326
270
169
262
203
163
254
210
211
226
205
243
208
205
299
181
225
206
164
213
212
230
276
178
200
191
320
170
250
232
294
243
235
156
152
221
227
158
205
205
240
274
221
177
346
271
244
234
165
160
275
184
271
116
210
174
199
268
209
200
259
214
194
236
265
237
276
224
146
303
198
200
203
152
218
256
287
206
222
277
242
198
265
179
243
159
219
220
213
180
270
284
164
225
121
254
193
209
196
222
206
207
279
229
270
305
259
224
291
173
234
194
114
106
146
196
252
229
318
286
197
342
247
179
298
193
244
189
215
160
283
285
168
272
286
177
224
193
234
253
344
174
194
168
270
144
169
253
225
230
216
203
232
261
164
219
208
241
189
291
227
189
244
170
215
217
209
270
274
255
291
348
229
184
216
206
191
201
265
228
257
231
202
152
231
198
234
215
253
239
249
236
217
207
175
216
319
271
193
309
251
140
218
307
248
149
212
253
175
201
214
279
305
233
247
280
208
186
292
263
226
126
230
238
252
193
220
318
154
245
170
296
295
190
282
165
236
205
174
231
229
224
237
174
234
206
151
266
236
228
195
290
228
207
227
277
213
225
244
269
224
241
213
192
155
169
286
179
264
251
257
189
245
281
205
184
233
275
191
283
278
192
208
149
217
245
253
175
271
228
237
214
282
223
251
198
192
227
145
180
228
298
184
303
154
235
208
208
170
196
217
267
191
197
243
244
237
166
332
223
273
281
246
221
181
242
278
173
227
234
279
229
258
198
222
156
252
242
259
254
192
269
219
240
277
256
161
203
184
218
147
195
300
170
206
238
193
141
230
321
280
281
219
205
258
216
297
264
195
199
226
327
188
166
152
229
181
249
185
192
206
213
233
165
246
178
296
160
281
233
219
257
262
225
327
169
177
278
200
182
154
231
329
160
297
305
227
176
237
285
176
274
305
133
287
272
263
179
229
208
168
176
188
202
306
188
174
203
263
243
188
190
210
165
250
200
156
194
209
222
191
202
255
177
202
251
208
255
186
241
234
242
203
188
214
187
148
303
287
153
175
242
243
309
291
332
214
276
193
270
259
271
179
216
160
196
209
279
239
236
229
261
167
180
306
129
200
183
220
251
250
164
193
218
264
195
224
159
212
194
207
254
192
192
212
185
253
240
247
193
221
200
229
337
244
305
238
195
249
227
156
257
191
237
199
223
258
184
223
234
255
300
238
202
173
175
272
206
197
201
152
202
212
173
283
204
183
264
182
249
146
250
270
155
275
188
326
232
214
280
238
196
207
184
235
208
205
126
202
222
356
268
282
165
190
181
194
221
174
213
180
187
235
307
354
238
255
300
263
155
200
178
273
207
205
196
276
200
166
238
257
277
197
244
224
207
190
218
154
174
229
237
225
170
236
252
226
219
240
212
253
188
133
200
235
183
294
219
184
269
196
219
257
213
188
235
170
236
251
204
182
218
216
211
200
202
261
139
242
197
279
214
182
235
324
239
212
263
249
234
214
278
200
188
228
304
205
252
203
191
193
245
114
250
224
308
314
281
214
114
269
225
318
191
243
227
156
271
251
227
228
230
256
249
235
267
240
220
248
227
237
234
281
271
234
251
246
169
222
148
233
167
266
152
202
221
171
272
261
154
212
240
157
251
186
200
233
208
202
247
245
294
227
181
238
276
180
237
169
126
174
316
172
235
267
250
214
178
248
173
247
238
195
230
223
208
170
173
260
234
226
230
246
219
220
219
167
304
302
181
238
284
185
288
230
244
230
242
249
281
227
211
250
212
164
221
211
220
174
230
282
250
232
247
168
228
209
241
234
204
214
229
257
345
222
232
284
207
235
210
305
266
275
370
212
246
211
209
246
280
256
278
204
144
198
283
201
239
246
180
243
165
214
192
179
237
274
183
232
231
256
250
300
237
174
279
176
236
269
261
316
263
198
237
275
114
240
193
208
215
238
250
158
227
207
229
230
198
265
203
206
307
277
160
186
205
208
261
207
217
258
248
184
156
194
295
222
180
266
224
286
199
185
224
243
170
274
265
313
230
187
200
184
214
164
189
241
180
207
246
255
233
278
142
264
233
284
218
201
160
216
177
257
256
305
200
229
228
225
126
126
217
177
291
180
265
282
174
300
248
290
244
156
221
218
237
258
198
285
228
212
216
214
229
230
182
186
240
279
173
275
229
252
192
171
347
258
234
250
228
232
281
179
244
252
203
190
207
268
280
252
273
234
198
199
207
116
157
152
167
207
186
235
229
114
244
263
204
215
221
224
263
277
294
221
200
264
251
242
214
253
323
199
223
282
278
114
222
235
114
173
197
182
238
197
184
281
226
276
160
213
258
214
218
198
277
259
258
241
267
232
208
233
218
203
132
225
238
219
329
243
182
231
195
215
309
225
241
149
252
241
235
257
167
200
195
213
194
212
215
166
160
213
233
291
152
344
222
175
299
287
211
235
228
156
179
245
256
195
235
217
207
237
208
208
235
214
255
221
278
152
245
218
281
305
154
320
182
256
273
195
340
198
218
318
215
250
244
241
188
160
266
227
212
246
288
206
270
241
205
189
260
229
257
223
196
226
152
180
200
240
230
231
219
251
210
203
161
200
200
204
198
203
173
329
193
245
305
250
304
162
198
126
299
185
243
245
205
235
211
186
202
223
197
261
266
146
225
257
215
205
272
197
268
193
270
271
281
216
243
145
163
221
242
230
283
224
228
237
192
219
262
286
155
279
242
299
330
197
175
207
223
243
234
238
301
244
172
222
282
166
224
297
171
242
224
248
233
158
222
175
207
177
237
286
291
189
234
231
229
190
249
162
176
255
284
229
235
305
244
206
177
184
244
250
151
307
210
253
239
207
197
158
164
211
182
299
253
168
235
243
212
251
274
309
194
231
193
195
191
215
219
249
253
247
114
219
205
292
195
243
218
193
189
220
229
258
180
178
218
226
162
178
259
251
260
237
221
211
256
225
216
214
193
273
198
213
261
180
241
272
170
237
170
237
175
186
173
175
265
239
170
242
263
246
191
239
139
189
243
308
170
246
234
235
211
290
179
209
168
218
277
214
189
206
246
199
201
176
291
259
288
200
175
217
219
170
237
158
285
235
167
185
173
160
261
255
230
154
225
168
310
256
276
274
253
129
193
180
129
222
203
220
334
174
173
284
219
315
200
212
165
280
239
265
302
225
162
263
259
224
231
116
232
233
257
261
160
208
249
267
186
228
242
256
146
179
293
201
221
200
161
176
248
242
310
335
182
276
235
182
197
249
189
263
186
256
272
257
229
268
234
182
284
284
223
212
181
255
235
215
116
182
308
265
290
265
252
276
154
307
216
260
189
160
190
243
188
290
223
224
265
280
251
168
190
200
198
259
265
177
272
228
230
194
299
178
216
307
244
220
156
175
196
297
264
213
266
282
250
213
286
151
323
241
151
282
190
155
252
170
273
269
235
191
281
243
256
216
152
260
210
134
310
233
213
258
308
195
192
215
223
174
285
201
280
247
207
238
231
182
329
211
240
165
226
176
199
167
286
229
195
235
295
181
288
271
144
230
232
270
301
212
276
293
285
182
253
266
192
209
222
245
220
239
253
241
272
170
172
219
130
268
198
209
245
224
237
171
223
215
241
203
234
211
178
227
189
248
188
266
176
165
311
238
246
252
218
196
269
178
209
229
285
232
246
235
219
244
170
258
260
281
237
279
258
198
292
297
305
207
221
301
252
222
257
226
168
198
225
251
224
278
289
246
220
216
253
239
214
155
250
268
210
170
184
172
273
239
221
315
248
285
207
145
157
234
134
169
229
221
261
303
257
200
223
210
277
229
222
261
244
187
172
206
167
195
114
281
137
274
207
249
212
214
255
175
278
274
114
258
262
181
267
245
154
207
161
198
261
201
173
280
190
261
166
160
303
281
245
178
186
139
180
152
231
251
230
174
176
250
261
238
232
246
206
240
269
304
203
209
217
220
317
293
221
200
245
245
305
186
209
179
250
297
247
255
236
370
349
231
382
313
263
226
206
248
221
227
262
169
221
194
239
286
264
231
272
264
243
280
241
284
253
214
205
175
209
189
114
224
182
184
161
276
197
225
215
114
142
225
244
195
250
248
262
199
171
270
226
253
269
230
219
261
201
195
234
205
349
254
257
193
193
161
173
165
199
263
179
247
220
210
189
229
212
239
155
230
258
220
202
202
270
304
260
228
224
165
166
214
229
233
234
200
276
215
217
234
195
288
203
180
191
249
121
301
219
246
230
343
289
258
227
174
160
146
169
270
252
158
265
208
180
228
237
181
220
231
190
299
184
321
235
297
226
216
303
183
211
213
224
262
258
236
231
249
263
220
247
247
167
246
191
246
114
227
176
325
237
178
197
225
216
209
194
281
202
156
307
228
221
236
279
174
162
229
183
227
233
225
247
234
206
201
253
213
271
290
215
171
266
301
233
155
235
264
200
239
245
218
232
171
116
218
192
216
189
234
234
170
222
186
214
145
293
214
209
181
278
279
252
257
238
217
263
224
277
268
235
255
258
331
270
221
264
211
202
250
207
226
272
345
224
176
214
215
207
303
288
212
207
194
192
179
227
301
201
220
234
284
246
197
231
209
199
189
285
245
273
242
221
228
173
228
254
283
208
310
232
221
208
220
237
192
189
251
248
223
283
264
178
192
196
180
215
230
159
274
196
188
217
248
270
296
174
233
193
304
165
179
217
236
211
268
256
269
271
238
154
180
257
184
114
213
169
272
200
269
244
242
194
253
248
200
171
192
270
180
161
287
218
235
154
287
267
114
114
214
259
301
273
246
219
225
159
243
161
233
274
217
257
194
256
193
274
186
193
210
207
245
285
222
214
262
220
231
168
215
228
235
204
213
191
145
235
260
211
160
244
235
179
200
186
198
146
205
158
201
228
211
211
201
269
190
205
194
180
175
307
171
243
196
233
202
231
203
255
202
212
222
296
245
269
190
178
202
254
200
194
285
179
262
214
253
224
264
265
315
288
299
207
171
270
235
193
222
121
206
293
180
201
192
214
199
206
147
256
199
236
310
198
267
230
265
157
217
321
276
237
218
227
224
229
228
265
216
250
174
237
188
219
240
266
161
151
178
192
240
249
240
185
208
260
236
228
237
192
285
277
266
230
192
259
345
212
238
223
213
248
252
249
216
249
243
233
288
209
251
235
253
197
200
262
232
175
235
196
218
249
194
188
219
214
226
231
196
155
213
197
214
282
216
306
320
253
256
185
216
253
234
216
278
320
283
298
165
185
230
226
223
245
297
279
232
221
200
238
267
206
202
154
234
166
170
273
238
149
180
212
257
232
213
276
215
291
235
201
151
248
281
178
273
246
279
221
236
197
310
209
167
228
253
238
284
174
263
225
192
165
209
194
234
293
157
196
248
220
216
286
265
178
114
293
211
231
171
233
219
151
320
176
281
189
207
306
211
231
273
215
228
179
198
129
249
210
253
159
225
183
212
236
267
165
145
247
251
251
265
198
214
250
169
205
231
114
224
238
301
160
246
256
268
214
200
234
185
297
178
233
228
293
242
273
253
295
226
240
272
196
193
170
214
280
248
223
114
157
169
215
179
238
244
259
272
233
286
178
201
221
233
215
241
315
215
234
290
233
297
252
220
253
168
231
225
205
267
260
273
227
290
235
217
164
246
168
198
225
195
258
285
285
240
221
268
229
207
236
200
199
238
188
238
146
207
192
212
195
222
352
272
246
148
259
152
314
220
183
159
208
231
160
257
175
198
267
194
166
191
184
282
258
249
174
160
202
240
152
255
250
237
198
275
242
208
265
242
196
287
253
238
149
303
215
237
262
240
235
251
243
277
209
173
249
194
269
164
174
223
273
172
188
232
209
245
231
213
208
249
193
274
194
250
182
228
194
200
248
211
151
168
278
179
288
162
161
207
224
189
201
252
235
278
229
232
258
227
133
248
169
239
272
197
270
231
291
242
305
144
192
211
254
207
213
228
246
223
243
219
173
170
285
200
236
220
243
167
258
320
258
181
178
168
222
202
236
175
177
231
267
248
270
281
151
253
277
277
197
189
162
236
231
151
195
317
304
247
231
250
262
161
239
256
215
194
259
226
138
241
246
149
233
293
211
208
258
231
227
233
235
179
234
201
239
269
225
261
170
226
187
225
218
268
171
231
178
264
214
274
228
282
258
259
194
146
257
126
190
180
192
247
164
261
195
268
195
208
275
299
204
274
170
299
142
258
108
275
257
224
244
242
200
160
295
300
246
192
250
287
194
160
206
199
207
225
213
237
291
158
203
190
209
272
242
208
272
291
168
313
207
190
282
191
321
217
203
295
210
203
149
277
262
207
261
192
145
299
196
273
263
245
193
221
206
273
148
168
196
312
274
193
193
186
239
169
235
219
305
166
175
252
274
225
272
220
203
255
192
213
284
227
182
269
216
210
170
188
213
279
223
280
258
211
293
144
268
238
244
227
245
173
226
223
210
281
165
241
255
208
161
139
280
242
241
198
211
221
224
300
283
220
178
287
248
351
247
200
228
238
210
201
234
256
224
283
246
182
200
167
243
170
270
210
195
229
266
235
244
229
221
271
139
185
306
173
247
189
304
214
166
286
276
192
228
196
189
185
228
207
240
199
221
196
207
173
213
152
256
165
243
316
212
260
230
173
231
158
157
190
285
211
261
285
249
189
223
174
223
190
180
214
277
238
182
294
206
193
299
173
192
146
170
174
211
192
256
248
350
224
233
212
203
287
214
236
294
210
197
275
262
274
166
211
171
244
191
252
171
192
176
231
225
257
282
295
196
296
187
265
178
257
254
229
211
218
193
245
270
242
233
265
251
211
176
217
170
203
219
261
195
248
218
216
241
171
271
271
219
191
255
241
185
250
198
353
229
181
266
248
261
282
178
240
214
279
197
149
172
213
260
114
233
156
212
228
193
227
235
248
197
230
223
229
271
218
260
187
315
261
270
231
174
313
267
262
156
249
227
263
209
218
281
191
152
220
223
295
249
215
189
207
292
205
212
240
171
267
322
302
146
255
202
233
222
273
225
268
181
166
221
261
144
292
169
164
265
219
209
286
256
246
168
270
197
206
283
208
226
166
248
197
273
206
114
215
202
147
284
216
262
263
257
197
292
290
179
185
231
228
261
171
265
245
290
190
159
349
147
274
192
224
254
175
270
201
283
209
179
255
325
181
279
259
233
171
233
249
224
231
290
206
205
199
174
272
234
322
175
149
203
202
295
212
144
206
194
192
195
187
176
227
237
290
209
251
212
235
218
200
199
227
193
146
181
193
215
261
219
207
243
173
167
264
195
151
265
295
243
261
244
209
243
195
223
219
160
235
154
175
196
281
223
254
280
276
203
209
257
232
277
237
258
201
171
195
334
255
313
273
216
243
181
238
191
247
139
185
213
218
309
213
237
293
299
232
258
294
198
277
278
246
170
248
225
253
247
259
180
258
182
226
164
139
294
244
214
214
185
159
245
220
264
184
341
224
173
207
198
225
229
233
262
253
191
237
242
171
231
256
305
186
216
173
291
281
194
224
209
174
211
206
259
217
249
271
174
189
201
250
250
185
203
178
189
185
238
222
244
211
247
261
173
253
214
198
288
288
197
213
197
216
189
249
205
285
247
269
238
283
189
165
263
213
350
234
171
220
166
262
180
235
216
236
250
164
315
190
212
274
207
229
202
249
173
178
162
327
232
231
193
137
218
239
355
190
234
168
199
257
207
277
216
178
285
215
240
191
191
233
245
305
181
246
203
203
215
257
147
235
249
246
218
228
222
281
149
179
181
259
229
212
161
260
272
221
217
171
203
221
251
266
280
301
262
155
213
189
144
232
184
261
197
208
266
215
233
186
241
181
214
293
173
208
243
215
252
182
220
137
173
258
213
196
178
221
217
221
272
179
229
232
344
253
207
242
233
276
288
262
175
316
317
236
226
194
229
175
203
200
165
249
292
151
144
151
192
130
208
175
242
267
208
237
216
226
290
221
249
196
228
160
227
173
178
222
164
286
164
164
251
168
220
273
282
283
203
280
160
205
310
257
210
292
210
259
228
225
240
208
208
122
207
219
262
241
256
242
198
293
191
249
225
160
214
173
188
268
242
167
170
259
164
252
208
211
211
226
279
245
189
114
243
246
262
208
239
160
205
182
210
263
215
236
271
186
196
325
156
243
262
329
211
220
281
226
193
268
292
188
196
222
272
170
163
235
290
126
202
216
252
236
223
179
259
175
375
146
239
210
259
181
231
212
210
203
331
214
236
228
196
250
253
276
205
188
236
225
213
277
175
213
175
286
182
254
222
209
247
114
259
139
153
214
208
250
202
234
219
244
308
254
129
206
216
249
164
232
183
184
234
228
246
211
273
199
217
258
282
175
173
292
256
129
213
251
208
277
228
252
227
156
193
308
323
275
167
221
266
122
114
128
299
232
201
237
262
267
188
191
270
242
233
277
242
324
213
217
255
252
211
222
262
215
221
168
156
166
196
195
195
203
194
178
178
251
184
207
196
200
219
168
215
239
234
195
139
178
177
244
232
301
253
295
272
230
221
217
240
191
282
188
215
214
197
203
239
288
240
192
185
223
191
171
216
287
146
212
211
214
218
285
245
234
183
213
211
180
200
261
206
194
263
263
265
192
156
250
169
232
257
181
264
126
290
229
203
226
329
328
183
340
183
241
170
170
262
263
218
238
209
252
169
190
234
259
256
192
238
295
196
149
252
302
255
225
192
174
237
195
194
180
300
263
238
245
270
266
171
213
256
183
180
235
237
242
146
219
294
164
234
157
156
268
229
180
215
161
154
278
208
181
228
192
174
250
224
242
227
195
337
300
277
225
267
205
247
218
217
250
212
256
285
335
199
235
227
293
221
273
205
185
222
234
126
187
170
205
206
339
182
289
196
170
203
255
245
262
213
214
217
253
206
216
224
247
180
226
161
213
265
209
231
245
217
200
355
289
188
235
249
192
214
233
224
233
232
228
160
328
298
261
270
294
282
218
191
260
204
161
239
213
206
273
262
161
169
218
256
290
245
175
273
197
329
225
180
250
159
216
270
308
249
300
182
293
299
233
395
214
180
191
310
194
215
203
256
225
245
270
202
261
180
203
193
235
258
228
247
206
206
254
264
284
156
285
247
253
282
171
191
175
225
179
205
222
223
289
221
237
183
183
233
248
215
202
168
160
292
182
189
253
207
213
199
173
193
323
291
168
162
232
209
287
212
153
271
251
217
155
198
254
234
166
170
268
254
227
237
187
146
234
192
157
368
255
173
295
183
154
302
333
232
128
203
235
173
339
319
174
256
174
149
170
236
193
213
195
202
278
247
160
230
228
170
253
320
189
195
286
241
243
189
283
193
181
214
262
114
257
253
173
222
188
160
244
207
305
247
183
280
173
225
252
267
211
205
229
193
261
213
188
238
180
267
210
257
244
222
213
189
287
219
252
242
263
271
201
169
183
247
194
270
258
157
238
195
283
224
149
141
222
182
260
188
203
225
247
191
245
263
198
255
237
287
236
202
271
192
153
238
139
237
221
221
245
281
246
126
156
179
284
185
249
236
233
139
213
215
253
206
262
258
268
320
269
208
208
288
254
241
247
239
169
227
225
200
213
240
257
203
227
233
198
193
160
229
234
232
133
231
249
219
184
243
256
200
250
156
265
248
220
271
235
274
189
264
208
269
210
209
226
225
223
190
189
258
226
290
246
293
254
161
203
266
114
211
237
145
130
256
214
258
203
244
164
219
213
282
186
114
170
285
208
234
208
244
242
174
228
210
238
212
251
222
266
215
252
226
207
164
222
227
234
274
184
243
219
305
219
320
246
156
250
209
211
237
211
218
292
232
179
208
223
195
245
160
256
116
276
172
194
224
209
181
235
204
221
228
163
219
332
209
257
203
252
176
170
193
272
263
200
203
266
152
243
213
178
198
243
229
269
155
194
225
154
285
276
293
189
162
156
237
175
169
254
258
235
183
286
222
210
197
230
291
283
223
259
213
216
309
246
236
203
264
265
203
312
271
170
222
266
271
142
207
280
162
257
224
227
197
255
232
249
250
192
219
174
241
265
222
160
260
114
239
250
216
281
221
252
202
316
158
207
290
234
194
162
200
213
338
240
221
194
350
221
175
206
226
156
232
219
261
244
217
160
244
221
360
204
250
316
161
294
252
144
285
214
259
233
264
304
249
218
211
178
317
270
252
195
243
345
214
178
288
186
309
174
223
189
306
170
195
213
212
154
225
211
194
225
273
252
225
257
145
235
267
169
220
216
247
233
248
231
216
279
209
252
222
248
240
180
265
206
246
234
224
318
206
212
295
220
141
250
151
151
213
187
205
169
178
144
234
214
278
298
198
273
260
236
194
280
224
156
209
199
257
262
276
178
146
199
222
152
222
209
212
229
218
235
169
289
188
288
306
192
227
193
167
151
172
250
234
139
230
294
277
274
214
277
219
139
159
170
236
280
220
181
224
200
200
301
258
311
193
208
221
295
229
192
276
224
161
176
241
241
227
231
266
220
247
255
192
192
191
284
278
252
228
215
267
263
145
232
264
169
180
239
255
212
259
207
249
203
199
178
284
299
178
275
238
231
258
148
194
262
169
237
245
256
253
274
213
224
305
209
233
114
203
208
183
311
191
262
197
207
240
274
270
255
159
229
200
234
238
159
309
145
139
178
203
240
223
198
245
323
151
278
188
192
255
242
260
212
269
249
222
267
257
161
171
276
147
187
253
165
170
242
206
245
229
201
216
185
209
245
192
217
237
204
219
260
274
231
243
360
255
232
185
147
247
234
241
200
279
269
170
351
251
201
144
250
149
197
145
284
114
298
329
205
272
292
248
320
234
180
185
191
192
250
246
187
238
222
239
147
285
167
212
259
268
220
245
318
238
238
257
192
249
259
203
196
318
240
274
180
211
304
226
180
229
219
196
210
265
254
176
197
203
228
248
248
277
158
303
305
179
301
293
144
231
209
226
210
212
198
224
192
245
225
221
290
261
175
232
139
197
223
192
240
253
252
323
269
211
227
228
238
321
262
229
160
204
284
207
186
173
226
164
259
234
180
237
213
261
278
114
187
234
196
243
178
182
260
283
209
211
217
242
178
299
210
169
203
170
263
162
214
242
217
283
160
198
223
274
194
184
169
185
203
230
254
211
237
191
209
247
153
170
236
189
177
229
229
283
249
270
189
227
214
245
196
207
179
321
250
255
222
196
178
227
175
215
214
242
218
200
219
279
195
263
324
275
342
284
273
271
215
275
276
180
251
266
237
244
232
203
246
214
168
253
288
210
144
170
265
220
275
149
305
271
238
250
232
228
218
225
264
137
284
231
234
212
198
206
191
215
176
289
226
264
239
197
173
250
212
180
160
213
254
195
151
238
223
164
265
246
257
294
276
195
252
223
252
219
229
301
252
198
260
243
271
202
270
299
275
228
279
191
228
194
198
179
332
254
235
147
226
200
247
239
213
294
160
237
203
147
169
199
258
149
284
249
170
214
279
234
180
210
258
145
171
233
271
234
241
247
186
151
239
240
248
192
207
198
246
303
258
261
163
181
181
183
249
244
200
192
229
184
203
210
182
270
284
228
302
222
224
328
207
304
226
193
305
164
240
251
262
225
158
209
192
164
293
261
264
234
254
235
211
267
240
224
175
207
219
268
249
247
253
209
189
191
193
236
243
231
151
244
258
277
314
160
326
245
289
218
177
264
227
243
206
334
181
220
183
203
224
188
160
280
222
247
293
179
276
212
223
223
237
229
331
180
277
208
339
255
229
206
231
114
273
114
322
174
231
229
210
253
220
255
241
164
250
233
272
175
178
258
177
157
242
204
261
203
181
213
206
168
217
256
304
294
249
205
170
272
214
225
240
205
196
180
207
225
168
301
282
219
203
270
264
129
178
197
268
239
236
181
173
234
276
257
210
284
247
251
177
258
234
279
269
158
207
295
257
229
259
160
223
199
146
294
291
209
212
139
272
221
205
307
174
196
258
246
203
238
178
198
293
153
211
192
202
239
166
228
246
281
228
284
233
114
221
222
192
229
253
203
186
146
186
180
177
256
173
213
250
269
258
279
206
184
186
189
156
250
232
231
274
190
169
316
114
180
225
248
201
273
263
236
240
294
158
297
258
198
218
253
285
192
295
151
202
219
292
283
222
291
215
223
166
219
256
241
237
158
282
208
200
219
177
264
222
235
206
190
241
195
225
297
212
204
114
288
208
157
151
215
234
152
220
214
265
258
165
156
155
170
229
254
310
326
183
265
206
231
231
218
198
182
180
219
114
183
345
219
210
176
243
170
129
241
254
234
192
161
283
181
200
244
255
301
225
208
288
249
235
260
333
227
211
210
168
184
200
286
255
255
139
185
224
294
262
195
263
187
238
238
210
221
233
108
158
174
319
239
149
213
235
162
220
233
249
299
229
175
200
296
141
202
219
252
196
234
126
255
192
218
226
226
195
156
230
275
327
227
256
238
189
197
270
257
285
114
213
147
178
247
216
299
254
252
266
259
247
161
225
227
220
272
106
218
194
166
199
235
204
272
253
300
276
244
245
206
194
230
311
245
276
277
181
152
182
220
149
270
159
158
182
252
315
225
246
145
210
216
267
196
193
192
189
178
257
209
180
217
266
205
233
231
248
212
211
207
198
222
180
195
230
192
261
233
281
227
160
226
244
229
274
162
179
260
256
175
227
202
187
202
195
264
224
251
222
273
182
250
231
165
235
202
145
218
157
225
212
151
217
256
198
232
218
243
171
210
291
216
198
273
234
252
234
334
257
173
210
264
289
228
164
209
159
191
229
181
176
190
213
332
208
268
274
253
228
249
167
157
160
237
339
229
204
211
160
167
170
220
249
182
231
298
320
264
266
197
215
260
200
178
304
167
262
152
262
178
240
189
246
246
223
260
171
253
196
315
216
178
284
203
201
170
250
245
261
220
243
258
256
213
234
218
238
232
283
213
241
269
194
278
258
205
230
277
307
218
289
321
320
208
274
220
201
248
273
293
205
314
223
213
170
323
170
281
296
189
261
252
275
232
223
272
201
201
184
210
192
175
194
211
206
285
232
227
191
198
182
238
267
350
290
176
114
141
231
228
212
247
269
296
205
224
194
180
235
114
203
277
208
235
242
225
195
244
235
149
288
175
299
211
215
234
300
252
194
262
285
182
220
211
159
246
145
190
218
139
239
284
288
268
214
242
166
238
275
174
221
152
292
261
208
242
206
251
211
244
258
258
191
240
203
195
153
201
176
114
206
309
271
178
212
204
213
221
192
152
324
248
225
198
210
177
225
114
200
168
230
203
266
286
176
300
223
274
200
240
175
234
214
209
215
180
191
330
187
242
286
215
144
161
289
179
241
196
265
208
212
285
234
126
214
209
264
213
202
270
235
169
271
269
315
259
188
267
217
285
208
253
189
258
159
216
225
178
294
339
255
182
205
275
257
171
246
114
218
212
255
114
239
173
211
225
169
254
318
214
202
211
259
259
264
114
154
196
243
220
282
154
241
164
218
235
218
213
174
225
263
238
213
228
231
192
223
237
197
265
249
210
229
302
284
175
248
255
219
283
214
261
164
270
278
237
301
234
207
316
214
190
177
310
187
196
249
139
173
202
245
223
199
191
250
212
182
241
204
200
173
126
238
184
184
160
210
210
241
169
154
235
293
263
195
228
224
204
223
237
255
168
313
206
214
213
229
175
146
229
126
190
224
284
281
235
228
299
179
233
176
204
150
205
255
218
219
244
178
227
225
215
164
178
247
258
249
252
230
279
224
211
308
184
157
274
312
181
209
174
287
267
204
180
243
218
163
202
192
161
260
263
207
229
257
206
180
298
209
267
274
108
198
225
193
159
192
217
202
152
188
161
205
259
251
148
195
156
215
207
196
231
192
269
214
156
265
229
163
194
165
262
243
175
209
239
235
262
262
245
240
189
228
186
248
219
251
271
206
180
206
186
235
219
174
323
290
301
232
209
223
140
170
272
195
178
213
219
265
255
258
199
244
254
160
302
187
186
389
215
241
207
126
158
235
243
229
183
268
223
257
238
231
179
232
282
275
242
225
227
147
289
219
224
270
240
268
242
237
238
199
183
229
175
258
275
183
235
198
242
221
200
151
236
171
208
207
243
241
231
180
208
149
260
217
221
243
190
221
216
175
252
209
219
180
166
108
251
234
200
270
244
200
234
196
260
254
238
292
182
174
233
212
151
133
151
259
240
149
233
181
166
249
260
246
251
276
157
190
153
262
256
171
287
279
220
165
236
233
166
234
256
220
173
272
176
245
239
181
195
176
289
206
243
201
207
146
209
224
249
274
197
140
184
313
226
248
250
290
218
272
222
126
202
252
190
226
114
194
254
248
218
224
243
220
227
240
197
226
281
297
185
275
264
226
229
232
184
268
175
195
202
268
204
290
219
246
291
159
227
246
315
228
192
235
321
184
169
161
239
238
186
246
210
162
257
182
209
198
161
237
253
252
271
193
182
164
180
207
184
223
196
255
180
250
251
275
231
196
229
201
178
314
139
288
160
266
200
242
259
252
239
237
270
201
182
165
194
230
196
243
237
300
245
219
330
214
156
266
114
175
240
193
223
192
126
245
154
285
276
181
168
288
214
208
217
252
187
272
260
191
208
161
212
212
246
230
201
114
247
287
227
187
142
189
247
282
248
203
266
224
252
207
274
163
288
212
212
166
220
244
223
195
178
149
152
240
253
228
156
180
329
265
233
239
197
240
215
275
249
199
266
191
176
256
145
227
205
225
156
276
247
231
204
177
218
226
251
263
319
284
252
270
198
165
176
241
213
234
240
171
261
265
208
376
286
221
211
192
236
252
221
267
195
232
212
309
249
170
178
170
238
310
234
210
151
285
200
227
280
311
210
203
190
288
200
243
235
215
291
209
213
173
219
245
155
242
203
248
160
239
199
244
158
256
234
230
225
217
114
237
254
203
213
192
275
289
151
245
213
240
197
188
169
227
215
244
178
274
156
173
237
209
282
218
260
198
247
236
309
330
194
181
170
259
225
250
182
291
204
266
165
215
289
181
301
251
218
213
219
209
252
235
212
211
318
173
257
146
216
243
114
194
293
222
244
225
268
226
247
210
221
240
256
176
182
169
212
232
176
201
201
212
251
197
195
207
304
240
278
240
236
269
169
271
221
230
213
222
221
240
298
198
285
280
256
161
276
181
337
114
208
188
220
228
216
246
218
170
228
322
237
250
311
211
187
180
220
238
238
202
240
289
239
281
224
302
234
216
267
212
169
250
202
236
227
322
262
249
235
161
259
255
156
186
164
252
203
183
246
218
226
175
193
303
204
182
244
209
170
261
207
201
252
241
192
152
216
243
366
260
294
198
282
170
297
178
244
219
178
173
254
208
234
213
242
245
226
211
245
268
213
219
179
175
311
253
234
223
262
114
152
232
239
263
236
209
216
242
230
285
218
267
208
184
284
293
221
228
208
334
161
251
259
259
249
239
162
281
218
220
225
194
206
245
192
278
269
266
211
201
261
220
255
213
252
212
358
188
266
108
218
164
185
241
281
241
230
307
175
240
255
194
199
237
183
270
231
182
241
283
222
232
196
228
196
190
308
222
202
196
194
235
197
254
275
224
231
335
234
214
183
154
261
224
178
238
282
224
158
195
200
303
329
238
233
218
211
238
191
294
177
222
245
185
165
194
195
256
223
217
237
197
224
156
275
195
191
218
207
234
238
189
244
192
241
173
239
187
246
278
202
206
201
262
185
312
224
230
229
196
156
226
251
203
220
329
230
148
208
139
262
248
273
179
260
271
274
263
303
208
198
223
222
194
199
278
214
146
194
208
238
208
266
193
345
226
301
218
226
256
217
114
233
261
225
267
264
251
270
116
294
246
206
156
176
212
181
225
267
212
244
229
342
280
208
239
179
185
244
210
206
213
229
243
238
235
151
152
238
163
204
200
236
189
225
204
250
238
217
208
260
182
164
210
114
174
264
145
322
195
247
254
187
260
232
198
178
244
207
344
187
192
228
255
255
278
258
198
178
223
166
152
302
179
192
238
214
151
201
218
193
216
282
207
229
206
283
225
211
241
248
189
277
210
256
227
231
258
145
305
188
218
197
227
282
186
190
324
264
200
247
170
229
270
247
276
182
233
215
173
246
237
245
280
246
200
280
350
221
219
195
274
142
296
184
217
221
173
247
220
279
264
223
271
264
174
166
235
198
108
265
207
226
238
205
199
177
175
214
173
194
184
264
152
264
263
243
181
196
166
233
257
224
279
260
163
307
152
259
172
231
203
223
252
232
257
254
292
227
236
192
126
225
255
233
198
216
257
256
231
230
223
209
261
211
233
259
223
249
258
233
320
218
285
220
252
181
339
225
250
203
247
269
279
231
198
250
273
196
248
206
206
231
272
185
158
246
264
190
188
196
198
225
233
259
170
276
199
284
225
261
190
333
303
174
222
222
196
214
197
245
228
285
215
191
165
162
245
252
189
200
185
293
318
203
242
248
265
251
181
243
312
272
258
186
235
203
206
284
314
210
298
201
218
263
191
175
204
179
267
214
225
200
263
186
219
272
169
247
170
285
239
298
231
266
248
201
236
190
269
271
272
221
316
181
284
208
217
231
231
301
194
173
233
139
239
289
248
166
193
214
184
151
243
153
202
145
203
270
173
238
225
256
168
220
159
255
238
217
291
322
198
181
221
238
307
183
211
116
215
223
154
144
236
226
227
228
197
289
304
327
182
283
274
273
222
282
231
228
170
278
247
208
165
207
144
198
255
254
254
219
193
266
203
242
200
292
234
217
275
186
301
239
233
191
250
176
253
211
191
245
206
273
200
255
253
230
281
209
201
180
246
314
245
222
220
260
152
219
240
238
198
235
158
182
189
267
264
219
231
326
255
265
222
221
148
236
304
217
165
266
206
284
200
204
182
244
360
278
199
240
291
242
263
158
211
271
193
259
307
205
178
215
368
166
203
244
301
263
248
164
300
280
312
237
259
205
203
273
246
240
236
171
181
257
303
237
203
273
198
188
218
261
251
222
214
169
181
190
193
139
222
297
209
243
194
245
199
183
189
205
303
198
174
256
323
208
238
284
167
254
249
300
238
189
228
198
296
246
160
207
292
139
288
215
249
233
189
191
232
214
235
256
233
289
194
222
255
240
114
247
307
213
155
366
240
196
230
216
192
266
296
183
332
233
311
201
230
286
160
248
243
299
296
219
144
235
174
182
212
192
277
215
151
261
207
162
221
206
114
114
185
221
235
207
252
213
181
216
144
198
217
246
231
252
200
210
270
262
215
266
256
200
168
260
321
262
266
200
248
242
243
223
256
180
300
216
178
225
144
149
160
271
195
215
184
251
209
261
162
189
267
221
151
207
293
290
227
207
245
241
255
301
247
282
176
221
156
193
230
220
178
227
234
262
274
235
258
219
176
175
237
161
230
233
236
225
194
174
236
227
269
222
196
179
240
231
244
246
198
223
277
264
265
226
258
191
248
254
185
161
129
245
197
129
241
266
224
210
219
191
255
191
269
204
168
256
191
240
145
196
245
205
129
164
146
182
184
193
252
211
291
252
225
240
207
210
208
210
226
288
208
267
270
157
230
245
202
171
216
309
195
255
238
228
168
299
195
204
240
206
253
216
210
211
259
250
156
247
219
173
234
208
231
178
211
268
359
249
273
276
221
214
139
266
243
228
162
236
213
251
203
196
194
271
185
245
258
238
232
176
231
178
229
195
258
230
231
188
259
259
253
185
221
204
301
224
267
192
200
158
151
254
243
181
198
178
167
196
192
209
291
335
206
190
156
217
218
205
160
235
191
230
269
285
169
157
226
248
174
166
296
280
305
173
208
233
243
222
273
220
220
221
234
219
239
235
222
281
253
208
243
266
194
218
248
187
214
207
276
222
270
234
178
218
203
242
177
218
224
164
268
217
214
305
205
283
170
198
288
222
211
231
237
300
284
287
214
174
281
233
201
175
193
185
224
246
256
353
198
243
212
178
223
224
116
271
206
274
210
236
290
266
254
246
218
213
154
246
261
182
252
215
324
192
209
161
245
140
169
157
178
186
221
315
266
229
312
178
262
145
228
179
208
238
194
176
184
303
270
255
210
241
198
144
247
143
224
244
210
151
206
213
156
212
291
239
165
198
145
206
232
210
251
114
240
156
185
163
283
202
281
191
201
225
236
258
280
178
313
322
244
170
213
157
165
295
234
267
267
162
227
291
210
192
214
178
222
249
214
207
243
192
267
276
288
266
208
261
262
204
214
248
204
223
261
215
181
175
194
251
230
247
206
187
146
152
238
221
180
256
294
237
288
243
262
236
261
234
235
259
149
221
310
215
170
205
188
220
235
145
255
277
274
259
244
288
192
169
297
319
270
363
257
258
203
238
205
170
191
245
267
164
202
256
308
265
212
207
252
174
181
178
193
239
214
209
225
217
203
173
223
279
240
234
249
274
218
196
180
195
256
204
270
187
170
228
217
195
193
329
219
267
210
172
156
139
200
281
225
233
210
228
292
263
230
212
199
207
196
238
239
134
212
238
180
275
240
332
236
252
271
207
208
203
216
234
212
228
228
215
283
222
173
276
191
276
263
170
254
321
194
219
259
237
231
295
305
223
199
213
203
154
134
186
264
223
259
191
240
208
267
181
218
247
145
183
214
146
186
173
280
307
244
269
210
317
242
262
293
279
169
217
259
184
290
229
242
193
196
283
161
215
285
229
193
204
293
259
226
297
217
310
260
276
191
239
221
251
218
196
152
251
201
251
294
180
217
221
232
205
286
152
198
263
194
249
260
149
243
262
173
264
258
167
266
170
195
170
249
200
174
158
200
230
152
314
211
186
224
194
208
309
170
220
193
294
154
270
234
191
226
229
279
221
241
244
200
291
256
287
198
270
206
298
230
174
280
199
223
217
208
394
210
198
174
290
188
206
160
196
235
230
196
176
301
270
232
244
258
304
246
250
223
302
291
267
170
224
209
342
288
230
196
257
274
260
182
230
261
258
278
250
191
239
224
145
251
242
222
231
232
198
236
175
240
188
116
243
271
272
215
160
195
212
221
264
173
305
310
248
212
289
256
336
264
207
238
218
253
212
199
181
256
249
152
190
177
303
203
246
152
244
193
114
264
218
190
324
194
265
240
221
166
178
207
196
158
287
212
284
239
193
179
214
225
200
234
236
239
170
152
247
234
255
193
163
208
183
218
207
228
194
282
250
314
174
173
221
181
282
126
178
266
185
256
299
256
192
196
278
225
230
189
180
203
213
214
265
243
289
184
144
156
211
255
168
154
227
227
280
215
234
217
227
229
221
253
234
228
183
171
235
254
152
261
242
216
114
171
209
313
206
260
178
221
198
197
146
139
208
209
208
242
234
240
205
238
114
169
222
178
140
299
237
253
230
170
310
237
236
293
214
264
266
240
162
170
233
293
215
198
222
218
254
217
227
209
225
282
267
203
340
180
294
243
149
258
249
210
213
129
182
193
277
304
157
173
219
269
252
253
206
251
229
228
327
314
184
200
197
237
227
274
261
232
165
173
225
283
212
232
190
340
198
201
243
274
241
253
269
251
264
269
194
200
204
274
322
300
232
201
286
114
242
225
211
157
279
304
249
213
232
263
226
249
287
233
232
166
196
244
216
238
237
246
297
321
225
206
224
266
231
230
116
225
162
227
210
162
233
181
191
198
256
287
285
170
224
205
231
240
219
234
247
280
195
271
220
286
227
198
242
308
257
253
193
185
181
209
259
133
247
263
329
163
234
292
272
249
222
192
156
245
243
232
261
214
171
203
188
195
259
191
214
233
220
272
224
199
209
245
258
197
285
160
177
294
170
222
261
228
248
183
210
203
193
166
220
217
139
239
225
244
193
272
238
289
281
199
252
291
250
320
211
168
206
325
225
244
227
128
176
267
261
151
198
236
227
243
196
315
188
277
356
271
233
245
108
227
198
144
206
231
245
178
191
240
290
253
141
282
240
246
280
256
255
145
227
275
187
277
224
275
198
219
221
218
227
198
250
116
219
211
176
279
196
192
155
198
165
192
236
240
180
323
214
160
203
314
164
257
179
276
320
232
210
219
208
252
181
239
139
272
319
277
320
219
173
229
220
108
189
230
193
242
198
154
238
187
268
212
259
222
253
274
316
216
217
198
292
219
240
274
166
263
258
211
212
175
174
279
267
173
139
203
129
244
168
193
160
225
260
198
310
257
192
211
228
198
274
199
254
226
234
217
258
224
221
256
276
257
222
202
246
225
246
189
253
271
200
211
284
178
226
219
269
248
228
210
274
128
254
233
237
333
231
229
277
249
233
237
254
259
157
275
290
209
214
213
200
261
205
192
261
192
262
227
226
216
274
153
279
256
214
212
252
148
201
249
272
260
233
192
234
204
199
175
238
232
223
208
239
220
222
210
151
234
170
261
189
246
225
210
221
121
245
207
325
260
246
286
204
248
240
202
258
252
235
234
148
216
174
251
165
207
149
219
241
204
166
194
255
192
126
227
235
159
211
234
246
256
201
235
266
237
218
182
186
289
239
197
269
292
278
211
209
215
214
266
299
183
220
263
211
209
230
218
177
223
204
250
259
229
252
199
224
160
194
184
275
161
242
225
270
210
271
178
140
225
201
171
179
196
277
247
178
241
222
195
187
225
225
275
258
177
160
266
256
346
273
214
194
270
270
157
207
257
214
268
168
310
221
284
237
317
235
244
207
278
279
315
298
342
215
231
250
214
206
263
172
214
275
194
302
207
230
221
264
175
258
222
250
211
144
224
196
249
240
235
214
221
209
289
220
302
195
209
226
247
271
169
268
156
177
246
219
257
284
276
173
218
182
259
137
263
179
198
257
305
114
203
293
225
202
260
218
174
170
288
171
276
237
263
197
235
155
215
314
223
291
232
213
203
187
217
176
217
285
248
250
259
164
186
203
221
195
328
209
298
160
185
247
202
249
170
170
227
308
254
239
193
198
165
208
254
210
268
116
280
283
323
195
202
233
215
255
204
149
226
203
286
250
220
187
210
284
241
129
191
241
218
246
236
149
194
187
149
137
252
207
168
228
202
203
242
243
227
238
266
252
232
220
261
233
284
237
170
270
176
198
262
192
172
114
227
220
237
210
252
282
198
195
231
227
316
237
212
225
291
294
275
226
243
217
187
238
275
204
186
167
233
154
163
225
305
249
225
276
278
309
211
195
323
214
240
165
172
237
224
220
239
305
270
312
162
216
194
241
204
191
229
206
238
223
182
195
258
195
180
228
231
198
148
251
157
160
191
225
205
276
248
237
197
298
205
259
231
200
208
198
299
242
276
281
217
242
177
212
242
209
200
200
237
238
263
194
173
141
180
148
191
249
280
205
297
252
217
216
161
255
227
247
265
233
221
247
243
187
270
226
242
309
176
306
219
267
175
254
145
212
299
220
232
178
231
228
216
240
278
194
281
289
172
114
223
287
209
154
313
261
189
198
218
175
199
293
282
269
229
230
209
245
155
278
164
230
267
245
208
166
203
251
318
205
223
243
209
211
294
207
226
279
270
237
232
271
180
287
292
320
243
240
184
181
179
197
225
197
229
248
186
272
252
187
220
202
174
231
203
297
192
222
178
318
181
258
126
256
231
173
300
285
185
114
170
195
249
211
192
160
294
212
197
206
239
249
149
264
170
266
231
225
270
266
195
232
204
235
223
214
241
178
114
202
231
174
282
157
170
170
297
212
171
208
244
202
223
208
233
146
328
271
149
184
187
281
242
237
168
149
208
306
168
175
234
269
222
210
203
267
244
190
218
178
207
219
214
198
245
294
234
196
190
278
248
222
260
155
175
250
235
198
223
197
330
178
170
189
242
173
196
276
239
255
270
192
270
274
272
307
149
220
203
196
250
227
217
243
297
251
160
264
209
272
236
237
180
218
192
229
193
220
290
152
278
157
174
270
198
222
230
222
261
243
191
237
259
219
231
238
202
190
301
226
192
226
177
232
279
265
217
203
179
248
194
209
258
214
256
256
231
156
240
178
275
214
200
230
276
171
252
185
265
314
189
255
208
199
208
300
187
222
229
175
260
233
194
246
256
214
193
192
200
261
219
166
245
160
160
211
225
247
173
184
229
227
130
196
322
222
223
293
214
229
256
271
246
140
179
238
190
242
128
236
251
173
236
148
237
202
139
249
234
152
238
205
211
247
212
223
219
241
287
149
224
238
114
153
200
185
197
267
292
212
225
250
248
190
299
198
244
229
235
202
301
200
281
258
295
216
225
158
238
229
170
223
240
219
192
185
195
184
243
233
247
223
146
308
208
170
189
180
309
194
265
290
170
169
198
148
280
229
173
263
170
176
301
224
274
205
303
266
222
252
247
178
198
242
149
230
278
254
233
311
219
150
220
263
210
243
194
240
200
236
155
260
201
114
234
225
254
192
192
193
240
191
185
256
169
243
207
213
252
191
247
218
262
211
177
246
289
190
311
122
233
227
182
156
232
291
205
308
178
208
269
310
201
154
153
284
206
305
171
221
179
315
290
234
215
213
202
263
271
253
234
179
175
242
216
271
238
213
309
288
228
204
159
122
251
170
228
172
222
169
278
262
246
182
193
183
227
235
219
234
280
226
218
330
235
353
277
195
240
228
204
199
259
225
171
219
238
231
228
189
162
222
208
235
155
240
290
311
186
176
213
151
219
283
198
291
289
196
215
177
264
178
234
174
229
191
169
180
263
238
312
114
246
206
196
199
252
273
154
165
173
270
239
246
158
207
210
180
237
214
220
224
185
204
258
202
160
176
155
157
260
277
169
200
218
251
196
262
200
237
215
251
173
195
280
243
252
208
220
226
264
161
209
272
219
301
257
279
258
229
230
203
157
269
114
285
305
204
298
247
198
218
176
255
204
238
276
218
259
294
202
248
288
219
144
264
218
165
157
182
236
257
174
116
151
294
208
180
258
211
181
167
246
327
252
278
218
264
239
208
235
253
195
333
215
151
169
259
193
198
232
241
237
245
231
261
173
165
162
235
271
206
306
212
221
204
228
227
276
262
201
231
126
151
280
225
229
302
226
221
168
224
211
191
198
322
213
270
255
279
235
192
251
174
170
240
241
270
271
158
272
202
233
187
191
246
199
225
269
234
302
254
289
196
227
235
217
235
234
202
233
203
198
202
222
184
306
254
255
231
176
195
248
248
243
106
256
227
241
198
268
190
288
182
209
234
158
255
223
232
248
259
157
258
221
114
277
145
227
334
130
260
236
266
191
245
199
114
381
203
194
222
158
193
233
151
282
249
223
243
242
232
195
257
246
114
205
187
196
236
200
178
291
231
243
311
228
233
215
241
183
210
213
189
178
207
183
186
204
199
114
191
257
204
151
292
219
173
201
218
177
260
225
192
258
192
178
272
208
167
219
211
173
220
238
258
147
243
268
215
212
205
173
185
178
306
273
231
245
279
233
218
168
160
275
269
114
227
226
255
222
182
260
203
256
178
214
257
194
290
209
248
185
316
200
196
116
197
217
235
186
149
283
243
244
223
269
287
175
208
165
206
251
174
173
147
216
219
247
216
217
177
230
254
212
247
233
161
235
187
237
261
263
205
181
130
185
185
182
272
212
241
270
184
167
168
230
256
257
270
231
209
191
201
160
219
278
224
218
273
240
227
185
278
193
232
268
253
235
179
217
246
156
213
277
239
279
261
214
255
235
241
213
246
294
243
195
282
202
332
145
218
178
249
225
184
189
241
195
114
250
195
236
225
216
149
200
274
195
196
237
311
319
239
214
174
379
261
210
199
213
270
205
222
180
280
210
172
201
149
285
181
278
172
232
209
229
245
269
114
192
126
285
221
186
247
267
161
223
191
203
262
287
181
188
201
246
217
151
223
213
192
231
249
224
206
144
174
308
151
199
141
307
233
234
259
234
211
236
201
233
192
234
129
243
306
205
232
202
232
225
281
207
242
209
190
302
240
210
201
229
242
262
242
208
149
229
214
196
217
292
244
249
223
261
221
261
228
231
282
178
280
145
206
162
251
331
305
234
192
233
267
231
280
202
198
185
192
303
270
156
121
238
273
245
341
207
309
289
161
300
247
253
234
176
220
184
249
263
312
358
180
242
247
277
229
313
282
185
234
301
246
232
214
169
221
293
193
297
212
221
269
180
177
270
305
203
206
197
257
133
213
243
322
232
169
234
193
232
198
204
161
222
171
231
231
129
262
226
245
217
258
205
220
217
224
260
314
208
228
289
168
195
344
272
243
222
233
204
219
287
207
240
223
211
203
251
208
292
243
335
324
114
197
242
197
169
259
210
169
276
161
218
189
151
284
155
244
176
210
155
212
207
179
230
243
271
152
261
263
176
158
281
204
197
235
226
129
274
277
302
218
272
255
225
215
261
279
285
220
253
195
279
227
248
213
168
252
220
267
237
287
195
191
166
181
195
212
196
211
174
204
341
175
228
242
286
235
239
287
213
213
192
160
235
215
189
214
242
194
277
244
261
240
234
240
267
292
181
254
318
192
212
198
234
291
277
240
183
152
154
264
225
206
178
203
270
149
222
212
147
290
122
326
146
308
254
324
232
301
223
203
222
236
257
258
198
263
263
211
372
247
219
180
181
252
245
258
177
327
315
178
262
214
218
162
287
239
264
116
263
284
318
313
248
222
250
240
114
251
214
256
217
216
233
254
231
203
324
201
191
260
253
312
195
230
275
236
252
175
175
172
221
322
160
231
209
186
253
208
208
177
284
170
200
206
234
234
209
243
191
241
214
216
209
284
269
219
207
145
254
253
168
229
247
236
178
213
195
280
238
271
268
223
210
199
170
199
154
246
229
256
355
198
299
203
155
232
330
197
230
257
389
273
245
263
187
263
148
245
218
309
198
206
276
294
188
171
183
144
211
287
204
183
252
204
169
173
256
182
189
179
202
209
214
148
114
200
234
254
228
189
178
236
293
247
254
196
276
161
230
284
267
255
190
212
179
177
145
181
266
253
246
165
261
265
234
252
290
206
174
254
220
248
193
262
179
303
315
215
310
192
183
312
256
169
208
244
174
240
275
250
236
253
212
306
290
324
206
202
198
257
316
230
144
188
220
163
229
226
235
263
250
227
198
221
259
279
193
262
224
267
329
196
264
148
195
222
259
252
198
214
204
229
255
260
198
226
261
250
188
213
233
223
274
244
235
216
249
198
114
189
197
245
214
318
264
178
253
212
235
160
337
238
310
227
274
156
243
232
269
185
163
181
246
253
241
213
244
270
261
220
175
229
238
280
266
272
248
244
170
273
208
262
202
200
284
228
203
206
230
245
221
222
280
248
247
244
196
201
182
248
218
207
221
234
180
170
192
188
148
331
160
214
170
211
217
308
231
149
217
185
210
213
250
207
174
250
321
243
235
277
195
266
144
258
248
257
402
226
283
229
226
121
238
228
170
211
220
293
250
208
244
252
219
189
188
204
160
208
161
245
174
274
219
184
250
240
264
308
191
273
245
206
179
231
235
235
247
184
279
277
232
239
224
282
208
222
272
198
242
192
218
274
268
232
194
170
151
197
254
170
114
299
240
187
187
282
249
165
207
221
213
308
259
264
270
207
155
206
287
204
181
160
114
116
347
194
277
309
208
262
184
338
259
230
255
242
217
215
218
219
128
222
114
199
240
195
193
213
234
233
202
315
184
290
250
279
231
169
164
257
198
163
276
273
277
149
221
257
207
238
285
157
233
290
229
116
305
207
291
192
221
220
277
215
239
252
193
212
308
176
191
220
223
273
220
220
270
304
116
175
195
194
178
165
266
156
203
250
286
227
238
151
207
207
266
156
170
260
199
240
313
327
245
277
235
243
215
215
286
229
188
194
170
175
273
295
156
246
192
188
254
249
195
162
229
260
257
161
258
264
217
313
178
208
261
256
243
146
202
203
179
217
217
190
284
270
234
266
198
203
151
278
278
225
161
263
213
202
259
173
196
291
146
275
240
280
195
208
225
186
258
220
148
229
261
342
265
234
250
242
187
245
287
144
231
293
327
250
152
266
240
229
296
154
154
267
254
309
237
221
200
173
324
178
285
241
261
212
169
206
208
241
243
327
228
269
210
280
200
237
267
181
246
164
300
313
209
286
218
212
189
156
221
171
276
177
181
238
205
165
242
351
255
192
264
245
205
254
190
239
234
157
152
235
297
263
234
170
205
229
227
206
236
191
203
195
296
281
261
336
230
171
219
174
180
288
207
145
195
225
166
278
170
240
216
222
224
198
320
234
302
249
225
178
271
243
302
235
248
180
194
253
287
183
249
245
197
274
198
220
193
150
325
305
200
156
208
209
315
262
192
282
199
198
214
273
267
240
231
320
172
169
245
228
212
248
199
257
248
227
203
191
216
155
212
243
271
216
241
246
212
272
228
164
248
220
231
232
218
272
253
284
208
263
239
222
223
222
195
273
166
198
259
315
144
313
308
282
237
279
255
221
198
237
165
220
162
147
192
195
192
207
213
212
252
225
255
259
180
215
290
193
229
229
249
270
235
290
236
265
181
181
326
246
261
152
245
264
316
185
180
279
243
237
258
201
228
184
283
238
200
178
229
272
197
222
114
196
126
160
162
180
228
267
176
196
207
168
194
226
245
159
237
172
190
236
271
252
206
294
197
213
261
221
268
233
245
239
184
226
282
230
289
192
233
231
240
223
260
265
234
203
244
233
256
224
191
155
198
186
198
256
246
251
271
260
213
227
244
292
241
193
224
291
213
206
214
261
290
263
183
207
285
192
221
254
249
183
240
200
169
225
283
237
253
239
210
261
175
215
283
267
295
290
228
165
200
207
208
200
189
213
294
214
287
188
225
181
198
245
156
263
271
276
240
213
170
176
182
290
234
260
227
220
261
234
196
232
244
195
166
219
157
289
241
207
219
197
167
158
160
230
287
265
186
275
164
239
173
203
263
187
192
234
208
240
301
213
270
171
206
273
205
184
180
294
171
296
228
218
240
195
240
198
188
215
195
175
192
273
184
248
218
184
201
249
173
233
188
268
241
202
203
162
144
225
155
216
214
203
233
259
204
244
234
226
155
201
292
188
314
192
215
166
277
180
197
218
249
245
221
225
245
189
179
160
204
258
240
186
262
174
165
242
205
255
171
300
219
222
206
260
222
174
210
274
144
292
169
237
199
130
222
195
282
315
231
214
215
232
229
261
235
242
182
233
306
170
203
186
252
221
204
341
229
243
247
215
160
209
152
168
153
217
293
255
213
179
220
193
181
300
261
126
244
121
248
270
215
223
213
180
195
260
260
231
200
172
151
228
207
187
207
180
292
197
257
220
183
218
221
260
245
244
164
234
160
216
201
176
277
264
126
218
170
249
182
169
285
163
180
207
239
234
170
268
181
204
296
195
247
227
250
149
194
223
178
245
256
194
186
222
318
206
214
114
201
274
230
234
310
214
207
180
200
270
178
231
192
269
226
241
246
191
211
228
264
290
164
170
234
277
249
303
192
247
269
247
272
196
275
151
250
222
243
255
203
217
270
259
192
220
219
210
211
248
220
168
271
232
260
217
203
265
199
269
251
289
204
197
194
241
179
242
126
148
271
286
217
215
194
157
250
255
240
292
159
221
205
225
160
184
233
174
207
189
184
195
196
225
243
188
253
244
223
250
193
228
245
294
253
218
224
202
245
280
166
281
250
239
231
203
239
250
187
226
215
219
232
148
279
235
242
208
240
180
237
248
170
169
225
278
239
193
193
268
154
276
246
214
333
201
202
281
194
270
214
175
236
155
192
261
277
180
242
192
257
258
241
233
114
223
230
209
246
254
241
193
162
220
189
188
185
178
220
208
206
277
226
241
237
262
204
240
134
276
274
243
283
261
214
233
312
310
255
249
215
196
179
264
310
160
249
222
186
267
262
238
211
158
209
229
194
227
188
265
291
210
270
250
286
241
258
194
216
166
194
220
255
260
165
145
240
189
194
196
160
114
239
225
175
283
211
163
174
219
233
216
160
256
182
216
257
238
236
251
222
213
159
200
182
289
221
206
258
240
240
183
222
310
205
146
184
285
205
219
189
208
210
293
231
204
295
229
215
253
288
165
234
289
175
246
203
183
199
286
218
213
226
239
208
231
198
219
241
247
220
199
283
211
270
238
204
198
290
260
243
313
173
196
284
200
238
180
220
240
257
210
208
133
214
162
220
146
259
246
275
191
186
198
189
247
231
205
180
206
180
267
262
221
122
281
256
218
243
254
219
211
243
317
233
141
230
217
254
221
235
221
204
290
265
253
231
281
178
200
250
243
162
233
241
215
272
279
341
300
203
192
177
203
289
272
245
296
179
189
184
226
126
186
279
254
211
256
156
251
289
234
204
209
249
196
189
208
239
229
191
285
198
283
252
202
215
191
246
193
173
189
146
198
266
157
256
192
234
258
213
234
268
169
270
275
201
237
229
184
274
180
244
162
225
181
208
198
322
209
299
205
245
280
171
227
313
258
264
188
214
173
252
239
192
176
186
237
248
229
194
239
244
268
204
224
203
186
185
276
215
202
180
299
247
182
288
196
198
239
231
226
223
176
190
228
252
193
240
277
233
181
251
213
191
284
114
196
249
213
278
196
281
206
327
248
262
259
238
243
267
194
280
185
156
139
178
316
249
143
236
188
174
191
126
305
156
215
281
166
192
182
242
191
217
204
204
292
263
282
114
206
258
217
259
189
240
181
218
181
207
213
312
260
294
236
275
262
175
266
316
207
226
298
302
233
166
185
311
222
212
218
240
181
194
246
199
226
221
261
235
305
245
230
261
203
216
157
219
166
108
291
226
203
209
213
208
180
235
301
198
241
215
255
170
293
204
173
213
252
222
232
308
222
234
170
228
220
231
297
247
169
248
177
239
245
214
309
249
200
194
219
184
283
263
218
273
240
159
272
193
181
233
182
253
266
235
220
253
248
121
311
273
158
221
180
194
216
275
229
277
264
181
239
228
208
212
296
268
309
165
179
184
280
108
241
264
231
201
270
184
114
305
279
230
265
271
198
158
271
199
281
209
268
284
235
215
209
144
188
252
262
250
256
201
215
241
231
252
178
253
242
234
275
201
240
250
178
295
258
236
145
253
260
205
247
286
178
286
151
198
199
213
182
215
207
262
184
158
190
165
275
237
274
267
252
245
262
225
227
222
214
204
246
191
301
170
203
205
242
190
249
273
205
234
234
254
240
271
291
202
236
133
152
216
217
181
227
252
238
204
182
198
225
211
264
379
149
173
272
192
152
208
224
250
172
199
195
153
186
248
237
189
211
189
274
218
247
207
240
201
271
257
209
114
116
241
230
206
205
184
203
253
172
244
253
228
169
193
287
247
267
255
213
174
175
178
248
293
229
180
230
236
194
221
165
256
272
244
246
296
166
216
199
283
165
243
256
295
220
224
193
249
258
258
263
233
177
258
252
226
271
279
177
226
217
114
231
200
201
269
263
270
283
196
186
214
174
299
282
243
277
273
175
236
210
258
210
168
216
262
197
230
178
190
249
156
186
249
219
252
203
290
144
198
243
231
284
216
184
223
273
220
217
240
232
173
163
249
156
229
114
188
235
304
250
252
228
304
210
246
274
286
252
191
236
229
271
139
238
273
267
242
205
177
201
240
162
248
238
318
253
254
193
193
262
206
203
254
175
193
238
253
178
178
199
162
237
248
239
239
170
227
204
206
213
237
276
258
170
193
272
191
214
243
187
175
235
224
195
264
193
154
114
163
235
174
267
215
194
281
212
308
178
128
205
235
255
178
188
165
249
237
206
227
177
194
255
223
245
249
272
208
296
257
221
258
259
240
183
294
219
254
182
299
203
242
262
174
227
198
192
209
174
320
185
225
218
210
198
253
199
219
190
267
166
210
235
224
217
260
272
239
222
232
208
297
194
246
226
203
255
219
267
223
215
217
220
114
106
180
272
233
269
198
232
221
272
206
256
174
276
241
209
207
289
126
221
181
340
275
225
224
148
181
290
114
257
259
221
208
207
203
217
246
254
247
257
185
165
129
251
193
261
244
275
245
267
194
200
294
139
157
256
214
194
269
279
210
256
165
193
200
203
340
228
324
187
224
233
230
282
170
268
237
210
276
301
240
214
201
260
309
161
282
175
194
188
108
222
235
178
236
205
239
313
210
192
184
146
223
205
170
129
250
300
190
191
181
289
261
161
179
221
211
280
226
259
203
181
245
216
169
212
243
227
260
162
262
265
258
233
254
222
252
204
238
342
146
177
225
239
174
206
203
256
225
195
206
303
271
114
114
211
241
275
236
304
159
297
174
190
288
197
280
169
254
253
318
226
164
214
240
235
170
250
180
246
268
192
240
242
261
402
295
277
181
163
170
275
161
204
276
216
252
229
250
187
348
249
220
232
151
193
220
139
239
245
188
193
246
172
234
219
233
188
197
208
309
173
233
265
198
171
183
243
184
196
168
195
269
241
162
257
255
229
214
234
178
199
286
254
324
230
175
238
157
188
290
223
239
227
217
174
156
176
333
196
200
180
208
195
233
234
246
252
210
209
206
184
247
209
202
185
211
284
205
169
276
232
189
174
199
114
215
248
235
203
217
245
225
166
241
266
236
225
224
186
216
303
220
270
226
203
214
152
192
290
260
213
200
192
219
192
191
268
212
144
214
259
114
232
228
213
191
170
233
260
186
192
251
287
207
174
227
173
220
226
196
288
152
258
166
263
225
306
297
231
234
236
214
190
196
278
237
250
214
217
208
173
273
213
225
207
319
221
192
222
200
267
216
240
238
251
234
181
243
212
200
174
296
217
269
114
209
225
208
189
180
229
296
178
289
247
296
218
206
240
285
220
194
233
204
253
292
218
214
267
191
170
171
217
286
247
255
246
213
219
299
213
258
249
178
222
129
252
158
178
254
232
169
225
170
181
247
213
264
256
195
197
326
244
203
179
181
290
193
278
167
156
152
276
249
266
211
233
203
226
224
255
192
261
195
265
294
188
267
239
213
237
160
158
283
201
213
220
213
201
230
193
181
186
154
247
176
153
215
233
175
239
266
200
207
170
219
200
260
216
197
208
160
281
173
223
257
306
206
204
232
201
233
210
248
168
292
229
279
266
240
250
242
230
216
223
181
205
232
235
205
194
178
207
272
139
208
260
199
250
196
217
267
160
237
183
169
250
212
269
221
225
213
179
241
114
226
181
198
246
244
234
245
223
195
191
186
215
206
158
244
246
252
269
249
181
268
235
236
231
245
195
250
223
234
233
234
185
318
273
196
243
173
241
217
247
208
114
309
221
225
173
306
212
173
269
184
154
203
255
212
248
188
201
182
217
189
208
354
325
187
163
232
240
244
193
198
218
191
294
259
218
165
200
258
170
275
219
206
209
214
209
238
220
211
239
257
256
266
225
248
229
190
173
224
178
291
194
221
198
170
273
212
221
166
238
357
221
122
300
235
205
181
219
289
199
194
225
242
260
268
200
208
250
229
222
260
232
152
239
189
260
171
292
114
230
269
157
311
310
238
205
158
209
238
130
247
260
204
234
218
258
233
146
220
212
157
288
176
264
258
181
208
190
273
297
295
253
252
312
183
267
208
314
229
246
223
217
258
235
225
191
278
175
228
236
256
212
239
195
288
205
231
287
263
175
228
292
114
269
254
257
164
243
196
229
178
215
144
263
195
223
263
133
191
171
236
205
209
282
178
259
255
219
218
178
279
268
170
218
261
243
216
242
242
207
249
199
177
233
300
257
232
277
128
273
180
210
156
181
228
212
186
267
312
198
284
167
237
229
249
254
245
210
267
204
194
169
276
226
166
170
292
161
240
262
271
203
172
322
158
205
256
315
214
222
196
233
201
271
245
227
194
211
231
267
224
152
288
269
227
188
232
335
191
178
203
220
277
232
154
198
238
156
218
314
159
211
156
200
153
160
152
269
173
257
289
251
160
288
258
247
214
185
256
156
207
209
195
257
246
228
249
207
240
192
297
268
250
278
246
196
216
263
213
253
191
218
224
230
293
214
303
244
245
240
191
211
175
271
156
162
114
329
209
280
257
234
235
227
282
307
246
252
247
214
199
272
242
181
177
206
219
229
220
254
258
210
310
239
213
230
243
192
250
266
180
162
139
248
282
259
192
208
209
156
251
185
232
238
199
274
271
333
249
296
298
247
160
250
256
214
155
192
221
239
200
312
204
165
276
144
242
168
162
172
252
259
223
218
270
241
266
212
228
207
245
357
185
180
289
246
257
267
211
209
108
200
216
278
235
213
221
154
180
211
191
196
196
191
237
223
287
220
286
185
114
302
256
232
245
265
167
251
220
288
222
257
181
227
210
193
216
216
174
156
256
313
195
278
151
247
214
247
228
173
249
173
195
241
223
213
228
238
291
260
184
178
209
168
211
211
217
253
156
196
225
324
262
250
280
210
175
141
228
219
254
274
242
315
231
213
218
241
195
218
170
230
308
251
253
200
175
253
195
260
228
216
188
241
159
168
204
215
200
277
170
214
218
253
227
271
235
226
304
246
149
196
232
233
203
342
257
279
303
297
160
239
218
210
219
229
256
253
215
274
215
234
236
222
193
223
236
203
271
258
234
259
174
265
233
293
260
182
200
166
273
290
157
204
202
234
257
228
251
306
254
283
290
183
206
156
192
302
198
226
146
198
217
245
215
287
203
186
239
241
238
292
194
204
272
256
222
224
201
176
175
290
114
156
243
271
228
141
116
174
160
114
194
291
196
226
288
283
181
281
246
208
168
249
177
199
247
142
246
185
144
308
258
176
232
290
198
245
114
256
190
223
189
259
214
182
232
210
263
195
237
267
282
219
227
319
170
219
199
225
359
204
248
184
245
181
251
253
152
221
274
226
181
177
181
205
139
234
220
165
303
314
266
204
229
237
176
289
214
212
307
213
248
169
240
253
251
232
207
227
247
193
240
208
289
196
271
210
290
195
161
215
298
291
266
259
189
326
206
255
239
251
175
224
238
192
285
200
203
278
223
208
303
186
279
208
285
251
205
176
175
266
218
264
249
311
207
191
234
336
259
245
218
295
269
226
232
162
179
214
207
246
238
280
214
313
203
200
196
227
240
217
221
155
193
222
218
225
201
188
149
223
218
215
221
247
228
162
195
232
236
173
283
237
238
298
224
249
173
181
221
271
311
259
213
174
197
247
244
289
234
243
198
186
245
280
296
228
191
165
275
233
300
254
181
263
258
195
222
181
200
114
304
220
238
212
264
209
264
215
208
181
257
213
243
163
324
207
220
258
247
264
151
297
140
244
201
160
246
174
193
235
185
245
145
234
174
164
226
324
211
225
114
276
241
162
269
209
280
221
243
266
249
304
195
169
165
213
308
254
198
253
212
139
198
166
207
251
160
196
250
241
296
179
279
157
209
178
198
157
274
211
313
148
239
199
261
249
274
192
213
231
195
211
171
216
264
224
215
246
187
207
174
247
235
194
191
234
189
292
205
211
219
251
329
232
172
192
206
287
256
254
226
204
193
192
182
243
205
266
270
197
226
234
173
114
281
228
207
264
251
190
181
266
249
309
236
174
211
151
208
231
193
238
215
209
166
221
198
139
270
205
277
295
338
170
283
254
151
313
216
108
303
291
130
232
161
224
227
114
252
139
289
204
253
219
116
286
216
299
301
221
266
213
209
167
209
256
214
186
248
250
239
228
240
270
204
249
240
188
236
271
186
254
277
183
139
156
208
220
198
194
207
283
286
198
266
203
320
190
291
256
197
263
251
245
227
229
290
222
259
202
191
156
239
257
283
232
250
192
289
204
155
209
252
238
271
260
220
249
247
183
211
226
263
229
192
196
209
239
328
184
239
230
273
253
252
251
223
214
139
288
216
160
247
114
230
258
194
233
206
242
245
220
216
108
228
233
233
205
221
190
296
177
265
198
268
240
221
233
203
178
218
213
278
144
258
242
161
195
213
192
205
270
114
238
189
233
191
204
217
194
315
289
224
296
260
184
356
224
183
256
305
215
273
250
214
247
232
226
139
231
214
199
252
208
196
260
178
168
239
254
229
232
133
248
247
277
200
222
252
255
171
216
198
174
196
242
161
178
243
199
250
218
184
229
219
195
234
106
152
209
263
210
156
234
243
232
295
191
263
208
149
248
237
197
260
289
234
133
201
314
209
156
339
198
180
247
260
202
283
162
293
220
156
192
239
202
233
216
169
179
240
244
253
192
217
192
234
288
226
220
160
214
179
191
180
180
224
213
244
253
240
250
160
200
256
235
249
229
206
197
225
259
213
225
204
147
244
333
204
260
274
239
244
290
174
255
200
358
185
245
185
181
169
265
311
244
198
157
258
181
227
275
188
195
212
207
213
272
229
192
158
229
241
210
254
239
214
209
272
241
223
154
193
298
267
254
139
180
248
233
173
232
311
236
168
210
215
146
299
194
220
293
186
275
310
235
205
195
279
221
198
266
198
215
215
241
311
206
221
180
121
159
183
217
280
308
188
249
234
193
116
249
167
224
276
157
303
173
228
212
192
162
188
201
267
225
213
261
242
114
293
269
280
294
249
212
219
257
209
193
214
245
208
221
229
147
180
177
227
198
225
172
307
152
240
223
200
271
250
267
214
235
267
212
236
206
241
292
272
269
202
213
253
161
151
218
192
242
211
284
222
292
195
220
278
260
155
240
280
228
278
292
233
264
260
266
281
221
236
368
303
206
266
219
182
275
289
263
208
321
252
277
279
230
290
173
205
308
152
268
121
250
218
262
263
200
251
139
259
114
171
276
220
244
330
260
232
182
169
269
279
213
211
219
233
298
212
160
157
265
192
149
314
168
267
237
224
190
194
200
248
288
250
314
174
250
208
203
180
177
256
167
257
265
209
114
234
194
277
256
258
250
180
230
263
265
251
152
222
289
175
262
190
216
220
250
209
262
166
198
202
214
235
192
303
302
192
228
198
219
209
301
168
114
345
186
195
196
226
283
264
114
243
183
271
188
177
196
229
267
126
272
197
302
173
249
250
222
263
156
232
233
169
218
239
240
186
254
228
207
149
258
191
213
290
232
243
261
214
155
238
172
128
200
253
204
313
266
253
253
258
285
218
196
192
239
212
209
286
259
225
162
245
178
193
229
206
221
269
160
210
227
177
250
299
294
232
217
231
193
188
229
208
320
266
261
228
194
242
200
255
198
191
219
156
303
295
220
264
208
242
264
184
156
231
245
372
221
214
228
188
207
184
178
185
222
223
235
263
251
170
164
242
240
214
207
253
199
198
206
178
222
217
200
170
182
329
218
212
261
269
238
235
300
263
196
214
323
260
158
166
209
174
307
149
287
283
209
269
235
213
222
200
172
235
234
179
264
170
280
178
289
302
229
158
318
351
154
200
257
303
199
192
229
193
271
220
204
173
266
325
210
236
203
266
296
256
289
201
290
139
195
249
180
346
240
287
227
249
178
218
233
287
252
230
177
231
193
239
200
270
114
248
234
171
196
165
208
206
277
227
341
264
232
243
205
231
213
219
240
190
285
170
200
267
176
192
173
201
260
284
209
239
299
204
147
282
156
165
251
195
167
174
219
212
223
173
229
242
273
281
114
262
293
255
160
200
207
267
207
219
225
217
219
244
156
145
215
139
243
247
222
181
298
192
193
330
195
188
276
202
250
227
114
160
267
206
187
192
291
175
198
219
168
236
114
200
240
284
180
267
219
277
318
253
230
269
301
284
231
216
255
269
196
252
249
187
269
178
239
304
249
222
297
194
206
273
196
238
340
151
196
290
295
212
270
159
192
215
254
228
221
217
285
154
258
280
260
202
197
243
217
126
252
308
361
224
201
258
170
208
162
233
188
211
221
274
303
198
326
241
225
283
169
219
227
239
234
207
198
144
173
251
193
193
239
203
248
237
168
202
258
238
257
218
176
239
259
193
252
238
284
269
152
223
234
146
270
230
161
260
237
236
308
213
200
278
226
228
167
233
199
235
297
185
223
191
274
223
218
245
213
181
126
237
283
180
231
206
267
208
234
199
210
226
179
179
302
264
305
217
295
201
294
156
248
193
211
233
200
229
214
182
280
191
330
232
237
209
279
188
180
243
160
162
329
206
201
234
241
222
242
206
194
152
242
245
239
244
345
214
166
250
245
174
264
250
192
226
246
203
214
309
306
248
179
170
114
279
170
203
206
269
151
229
248
211
229
254
169
253
265
284
212
178
280
243
158
208
299
184
222
305
211
145
221
233
169
173
170
250
270
195
203
216
228
239
229
239
175
169
257
236
160
237
246
195
199
114
250
235
288
248
195
213
229
217
270
288
279
189
273
221
211
198
269
180
259
245
195
257
203
209
133
341
163
208
287
181
201
160
155
263
284
267
179
157
274
230
170
248
244
202
231
174
208
178
279
346
254
250
275
229
247
298
226
178
190
244
175
175
248
185
235
213
246
205
225
242
227
266
272
271
283
272
160
307
208
167
208
228
237
258
214
192
122
221
269
309
211
343
256
212
168
217
241
201
195
201
271
265
213
189
159
202
248
200
285
264
228
194
256
283
277
237
260
114
178
178
182
203
177
276
208
209
158
252
325
166
310
223
245
106
260
181
309
252
273
270
173
267
238
250
146
230
187
280
246
279
169
245
225
200
264
154
200
200
226
265
106
189
263
249
238
265
191
237
199
203
183
200
221
213
244
184
174
245
306
283
305
270
271
213
307
222
180
187
267
182
213
235
114
284
247
213
161
185
157
206
297
201
218
237
204
185
280
278
271
260
282
293
198
228
208
207
217
207
251
108
265
225
279
252
280
334
189
227
204
273
232
202
218
207
191
162
261
196
160
253
260
126
161
253
284
232
299
278
246
208
248
171
165
232
256
232
193
152
266
271
237
182
243
160
176
217
166
191
284
178
208
190
331
247
331
176
255
255
216
187
249
169
294
278
207
296
230
194
213
196
213
209
200
144
265
235
208
252
250
258
229
244
173
190
281
209
213
253
261
227
176
146
184
255
224
267
196
232
208
215
219
218
267
224
357
277
286
187
228
191
245
254
290
277
320
173
187
176
235
146
238
216
224
178
209
297
219
202
179
318
183
190
227
265
193
259
250
223
203
241
255
248
208
200
275
171
222
224
258
166
242
275
201
299
246
164
203
245
236
280
240
263
212
176
248
175
251
266
230
261
230
179
216
242
246
168
146
173
212
181
149
237
228
181
184
243
274
200
243
178
245
242
278
205
222
195
230
274
233
156
203
269
284
254
220
331
267
156
235
199
173
156
265
306
177
190
158
235
230
235
211
256
197
290
214
274
233
180
202
285
221
290
252
198
213
315
181
322
211
165
248
213
195
169
241
198
237
234
218
192
232
141
241
252
212
251
250
288
265
217
206
234
212
205
290
256
206
155
195
228
148
236
261
114
235
233
210
325
232
221
220
309
162
170
218
199
230
203
232
219
292
178
268
223
285
211
284
240
249
210
252
175
324
169
268
248
251
187
211
310
248
225
210
234
210
268
288
191
190
106
256
197
208
192
237
229
258
234
191
182
221
273
311
215
194
228
260
249
239
252
268
239
251
277
264
245
236
184
181
222
288
257
237
273
212
300
130
282
207
210
258
213
220
207
199
284
207
234
108
214
192
248
248
161
204
274
170
233
323
244
198
271
219
238
216
193
157
176
221
260
220
207
214
246
334
197
282
260
189
182
175
114
275
317
234
259
249
232
178
165
294
261
234
292
247
209
281
247
233
215
204
211
264
244
243
204
264
254
218
209
191
160
223
287
276
225
253
257
292
145
194
229
170
222
275
198
329
173
258
224
206
185
219
257
176
202
239
237
204
284
241
172
219
177
341
192
213
178
176
182
219
212
140
184
269
205
189
247
228
230
176
130
248
214
189
213
126
223
218
292
248
251
222
246
192
193
236
211
217
207
274
203
275
192
330
234
229
225
194
224
235
295
258
181
168
272
178
176
318
250
211
214
182
263
227
231
203
262
327
221
258
243
229
201
223
254
230
241
221
195
286
240
243
196
249
284
174
225
301
229
220
231
230
238
263
166
248
204
244
194
214
201
324
229
179
232
237
193
214
226
292
178
220
206
116
333
228
225
168
254
239
293
287
232
228
216
196
184
209
223
216
220
246
290
249
243
242
209
208
194
233
248
287
239
214
243
145
244
245
219
277
168
234
262
214
273
146
315
266
195
264
179
217
201
223
278
220
277
272
284
173
192
189
174
173
286
215
255
339
244
166
246
214
230
261
211
255
264
328
294
169
197
228
202
227
213
160
316
204
304
266
170
169
121
281
152
271
267
234
258
139
253
235
216
220
268
203
239
186
229
264
270
250
277
238
265
290
189
226
114
207
300
177
205
260
217
256
283
208
232
247
238
201
181
168
234
197
304
173
257
224
223
247
271
198
203
234
181
243
165
154
230
298
268
159
202
240
223
212
185
208
222
224
276
227
172
244
232
224
332
228
170
207
272
185
201
229
267
296
241
255
233
252
194
219
214
243
157
234
239
215
209
228
243
209
162
363
306
260
241
218
224
195
161
304
229
225
225
273
285
173
207
195
332
203
239
196
291
187
195
242
324
293
240
229
260
195
220
224
217
162
186
264
194
204
176
240
225
267
258
178
289
185
283
203
173
180
152
220
229
229
283
173
204
180
144
243
262
309
253
255
307
262
218
195
217
160
253
162
200
250
249
287
306
183
242
271
265
270
255
274
252
174
228
215
180
221
268
194
181
338
212
166
224
278
280
209
318
175
174
302
181
249
258
227
270
278
173
257
219
265
271
202
189
255
200
229
213
243
196
199
191
235
180
203
210
214
241
181
245
193
242
217
232
277
252
263
274
196
222
281
170
215
196
146
267
207
179
237
211
260
180
161
243
245
263
213
246
253
213
181
198
224
182
151
193
180
221
264
244
251
246
178
227
188
215
176
258
222
231
192
249
274
222
232
221
241
204
181
263
200
238
116
278
189
219
206
168
223
241
210
258
181
206
239
255
279
231
269
168
222
116
192
244
165
227
233
200
242
258
256
233
203
272
218
181
199
322
246
215
157
154
193
168
235
153
265
241
257
238
227
189
212
202
248
246
207
266
180
310
347
232
291
196
220
199
270
229
173
234
156
202
293
249
314
200
180
228
139
229
210
288
174
248
247
259
187
294
258
313
198
203
289
308
234
165
175
195
219
238
283
184
211
262
212
221
227
232
199
172
233
231
278
292
152
230
193
151
116
244
249
208
261
263
276
194
300
284
311
196
225
244
173
277
242
239
175
229
238
173
169
213
281
214
209
202
161
187
219
308
128
271
243
265
156
257
188
249
175
259
228
275
229
192
221
236
250
219
271
253
236
189
244
276
254
218
173
265
232
217
204
225
189
225
250
270
159
202
220
154
277
287
297
194
237
196
201
205
179
287
197
177
142
181
216
178
221
319
197
193
148
244
255
251
256
263
178
295
240
199
185
214
217
182
208
223
299
232
258
213
250
294
269
170
291
229
246
170
229
201
173
180
245
233
296
229
223
284
250
154
195
160
277
177
176
269
238
133
243
208
260
179
139
156
191
222
175
262
217
233
239
156
291
261
234
247
227
308
185
255
252
232
213
312
219
166
219
243
213
227
221
233
181
242
187
177
291
262
243
159
230
199
266
280
189
278
282
267
236
309
261
253
295
241
197
231
195
247
177
129
239
184
275
214
311
318
289
292
163
212
212
144
242
246
288
255
195
173
345
277
169
270
208
246
189
244
243
178
198
222
252
219
207
173
151
173
239
172
281
307
200
198
234
232
238
209
249
201
206
272
261
210
200
206
126
250
246
242
231
199
180
226
176
188
116
205
271
173
186
238
298
238
254
243
237
250
202
179
207
217
221
293
230
199
170
281
225
293
200
233
242
158
309
247
178
108
223
163
218
209
215
288
236
174
257
197
246
192
213
288
195
192
207
139
210
195
263
175
153
160
184
260
238
232
229
175
215
256
179
260
196
280
228
252
225
178
185
166
182
248
144
340
167
211
181
164
184
179
271
144
303
174
225
279
139
267
285
269
162
216
210
270
262
298
291
281
257
190
212
191
229
160
200
214
274
280
194
201
288
218
345
256
212
194
198
250
210
260
214
224
175
178
207
207
154
184
215
205
279
174
184
200
239
256
331
233
177
288
114
219
282
290
235
198
298
158
239
234
201
227
280
157
287
279
227
277
199
234
285
232
294
137
207
203
256
256
286
207
219
253
302
215
273
252
366
276
243
187
230
203
254
225
220
236
187
152
266
222
294
219
212
223
226
211
233
266
261
346
232
238
296
315
242
281
207
228
278
261
324
207
189
198
211
196
180
198
225
196
310
205
210
241
234
197
285
114
176
226
199
260
248
356
175
274
261
234
114
218
232
258
243
235
267
205
214
196
220
263
247
203
238
248
230
180
196
292
175
171
215
240
250
255
179
169
204
275
241
172
206
269
280
168
217
286
216
191
301
311
224
188
286
172
225
270
244
199
287
170
181
235
224
212
158
193
171
238
183
196
145
276
323
170
248
202
223
312
222
195
191
216
163
284
175
282
262
177
244
220
233
268
285
219
209
234
223
237
193
215
229
217
218
175
270
255
232
245
279
299
116
211
237
198
252
221
197
196
257
220
219
228
235
175
229
246
290
209
205
282
200
209
166
181
205
281
370
165
206
151
194
273
177
257
206
233
208
292
233
146
218
225
211
228
171
198
188
214
282
214
152
308
267
269
242
129
311
301
289
130
299
293
231
163
108
240
255
273
309
233
149
289
278
191
188
188
179
247
182
221
233
174
220
233
179
263
208
226
205
174
231
178
126
168
213
323
192
339
211
215
212
200
285
243
185
201
245
225
239
244
234
253
121
286
174
170
231
239
171
296
178
217
170
288
213
214
273
192
232
277
328
238
114
170
258
231
245
200
185
235
226
215
229
194
260
200
183
237
207
265
245
178
122
244
309
302
206
264
212
198
261
238
193
179
245
246
361
205
287
274
241
167
228
291
282
344
173
225
233
189
269
228
195
255
277
207
288
242
255
170
192
220
201
243
222
262
145
174
261
263
244
237
256
344
268
114
191
227
268
235
221
267
190
263
198
284
164
205
232
232
173
234
260
241
202
252
220
164
218
220
173
157
308
220
272
201
208
226
295
209
245
157
230
207
199
187
169
254
298
197
268
204
277
193
265
279
171
196
207
186
221
186
290
207
232
278
219
203
207
244
170
186
200
192
230
280
185
308
237
318
283
147
231
263
258
169
156
129
203
253
199
198
243
259
139
283
209
202
209
196
257
216
218
214
236
212
197
284
269
256
329
213
158
256
279
176
231
269
221
210
168
276
229
202
236
185
260
182
241
251
145
114
204
201
213
114
227
227
267
214
215
193
201
237
184
192
241
277
198
251
217
126
250
209
229
191
213
267
212
170
198
126
203
215
250
286
179
285
233
224
295
267
214
280
331
201
313
191
185
250
190
258
299
162
209
173
256
114
194
167
156
197
225
184
253
237
226
272
244
173
247
245
170
248
289
114
274
237
222
239
273
201
164
260
239
228
216
275
114
146
168
240
198
255
287
189
227
245
214
224
237
198
217
290
281
369
253
126
223
242
170
161
213
287
208
224
222
201
204
228
246
226
238
179
267
214
363
224
274
294
280
300
289
242
308
235
225
173
196
281
197
114
156
213
173
114
246
263
228
181
254
197
214
181
171
217
270
279
244
214
172
155
254
266
226
214
203
218
219
184
260
267
284
238
222
144
181
213
238
151
355
316
252
168
193
279
270
214
225
257
176
172
269
234
251
144
218
193
246
200
267
291
223
226
256
211
114
169
280
174
181
233
159
231
284
233
192
214
260
182
207
313
250
229
238
252
207
248
210
209
233
247
193
253
299
286
277
234
220
258
239
267
286
298
230
181
195
196
173
116
259
195
269
199
277
197
259
233
211
221
271
219
221
183
307
181
166
198
286
185
213
237
179
222
195
161
198
234
186
273
219
239
267
195
246
209
250
224
232
259
207
268
251
348
173
252
281
192
208
281
236
218
220
214
327
202
254
186
198
295
286
213
232
253
339
174
295
231
235
247
169
241
236
196
259
173
233
260
266
152
157
257
234
160
160
289
241
223
193
194
170
169
151
229
121
226
267
252
229
217
275
208
225
206
241
194
250
263
228
297
194
168
221
221
146
243
195
175
191
225
225
206
211
255
356
230
237
231
186
240
219
130
268
184
158
227
197
225
271
174
294
269
225
249
251
206
220
181
241
196
192
231
191
233
266
289
280
251
189
211
285
146
151
195
263
235
311
307
214
293
177
216
167
198
200
312
219
172
248
257
228
210
303
274
212
197
183
194
255
324
154
114
228
239
267
196
274
193
222
177
192
305
128
191
241
299
220
160
202
182
227
160
281
277
266
158
308
218
191
264
181
290
261
250
114
221
126
219
144
179
189
253
232
214
186
264
242
170
171
241
207
208
197
190
246
222
275
298
203
157
245
252
166
151
212
250
211
255
194
197
215
170
130
187
253
148
240
281
237
234
253
177
133
156
243
198
156
253
234
196
213
203
178
316
227
157
200
209
265
286
233
239
152
252
266
189
285
234
246
188
232
300
218
149
152
291
204
230
223
293
176
217
260
191
300
145
292
191
285
151
252
191
218
225
222
218
225
211
256
158
256
287
204
160
231
184
281
178
190
205
273
219
214
247
182
275
211
288
225
214
239
243
253
282
228
221
228
220
188
234
197
213
193
267
167
211
160
232
211
292
279
206
236
176
233
256
252
182
243
223
174
166
200
252
156
243
259
185
217
204
215
239
175
207
239
197
265
232
252
295
219
258
240
264
252
159
244
253
248
244
154
259
222
259
274
242
267
305
232
245
181
253
230
191
199
199
197
303
186
145
232
171
271
309
189
194
233
238
169
255
199
182
221
312
198
194
197
201
206
167
228
258
279
168
114
176
231
261
174
293
220
157
231
254
247
274
202
242
239
215
130
154
180
175
325
205
204
184
197
214
179
246
220
233
191
262
177
259
198
242
192
161
223
221
193
215
276
175
126
284
237
272
290
160
178
239
207
286
208
253
233
194
189
170
222
221
162
225
275
241
185
216
253
228
261
309
238
253
209
156
114
247
228
197
178
196
270
232
294
263
269
227
227
274
272
114
220
178
338
219
179
181
193
149
267
229
180
227
166
144
243
197
197
262
218
199
219
223
301
213
230
142
225
173
245
305
271
218
184
222
225
181
283
178
139
182
265
212
245
220
175
191
197
249
231
230
214
190
289
257
188
262
224
231
331
162
256
213
294
239
198
236
254
284
200
214
193
181
250
160
250
189
225
239
263
194
213
198
114
240
114
204
139
216
287
258
242
129
184
156
225
243
327
231
234
281
139
204
211
158
114
212
188
170
284
214
250
230
241
225
224
218
139
168
229
199
219
233
178
317
282
243
208
212
220
245
200
234
157
243
218
258
114
328
201
215
277
206
238
194
254
262
203
217
189
203
251
271
171
231
222
254
186
310
240
236
228
201
296
154
178
216
215
214
270
201
253
255
183
223
276
260
128
156
242
163
229
219
229
207
260
180
240
199
192
114
278
214
198
277
186
307
261
214
149
223
210
170
265
170
220
181
250
250
220
241
170
226
174
212
236
270
231
160
248
271
219
193
259
223
277
319
200
210
214
289
198
197
170
174
243
207
114
296
274
229
255
272
133
264
156
226
238
233
229
218
226
210
245
267
204
285
241
176
206
267
255
221
184
189
203
313
292
169
325
289
243
262
257
197
245
186
251
182
145
264
155
250
159
236
268
247
189
190
214
226
257
201
259
254
244
265
228
198
209
222
268
289
264
228
312
238
175
261
227
224
177
211
226
217
198
350
231
219
248
206
299
219
170
256
269
231
207
315
229
151
255
214
279
209
175
230
239
264
235
230
236
266
139
189
209
208
174
203
200
213
279
342
249
246
307
298
226
295
152
196
156
233
133
224
193
192
239
238
198
149
199
192
199
207
323
313
197
166
232
241
185
238
180
324
265
301
254
233
236
232
273
275
234
206
252
151
222
275
280
258
186
218
248
269
204
155
253
288
236
215
230
206
279
199
255
139
229
220
139
237
166
228
255
198
176
199
216
195
177
280
258
255
149
171
162
280
166
247
161
258
268
273
272
213
199
215
172
207
198
170
297
193
226
208
226
241
301
106
276
228
156
208
275
253
313
244
196
184
234
214
212
171
108
278
168
216
228
287
160
232
237
229
244
253
216
144
315
255
244
247
292
300
259
256
246
189
197
245
230
189
291
225
259
222
245
149
243
265
303
319
206
241
222
213
293
306
233
216
284
354
300
274
262
128
182
315
226
297
180
151
160
300
197
160
188
230
215
181
255
358
175
192
229
269
193
232
297
309
206
235
234
214
248
226
263
231
185
222
219
235
161
227
154
299
207
223
236
220
280
257
217
227
217
207
213
232
268
266
275
237
188
195
339
166
169
240
145
196
268
288
274
195
241
218
198
325
248
185
225
268
205
278
222
243
248
226
178
196
244
277
213
263
260
280
244
236
180
149
271
198
216
246
154
220
254
246
221
248
220
251
203
200
178
172
254
215
252
214
164
253
169
200
207
210
214
197
213
144
173
188
226
192
248
213
221
254
192
229
218
218
189
319
212
215
229
201
276
245
298
230
235
236
197
181
302
198
169
182
218
126
210
199
179
239
236
170
276
309
255
166
186
315
186
246
235
272
267
204
333
208
298
262
224
255
211
219
214
277
329
169
264
252
247
240
195
219
259
169
228
200
158
177
200
149
259
249
310
298
278
151
130
233
222
175
151
229
207
247
228
170
184
237
200
203
179
172
210
242
255
202
221
243
164
270
202
251
250
162
248
246
168
139
191
276
197
218
228
211
178
198
276
259
258
249
222
152
259
204
297
298
213
220
175
227
185
295
187
126
250
185
276
212
239
226
214
258
144
170
173
214
241
224
214
255
305
231
243
229
256
307
286
248
256
275
260
169
213
191
221
217
221
201
236
215
249
256
238
145
254
200
201
273
287
232
240
189
163
149
231
272
239
248
221
197
215
259
173
284
252
254
166
288
144
251
288
114
326
371
170
231
248
264
255
245
192
221
254
175
267
188
249
227
260
249
210
219
162
155
256
180
236
219
287
245
251
246
227
370
214
214
249
238
178
282
178
221
152
265
190
269
242
263
209
209
210
164
253
285
233
242
254
264
175
243
178
217
243
173
261
259
322
180
295
192
238
254
252
180
228
268
235
283
244
238
221
206
205
243
290
243
236
238
168
186
226
217
178
114
195
175
186
248
230
319
174
231
195
148
214
257
311
206
217
267
211
197
139
210
145
235
250
210
237
179
114
234
209
260
211
197
211
208
146
171
248
315
193
285
224
281
276
234
220
215
202
260
315
215
274
184
291
296
215
241
222
253
283
211
370
216
265
193
287
282
204
269
284
251
179
247
215
275
225
210
237
357
273
237
229
232
224
251
271
181
235
258
237
200
258
219
263
275
207
206
265
217
238
245
170
241
163
253
235
158
310
215
269
250
210
185
231
252
156
160
226
173
198
263
198
247
148
200
160
187
164
161
247
215
199
254
264
229
155
202
220
267
182
210
212
336
208
225
285
211
223
242
108
236
194
276
225
300
261
294
220
210
152
264
229
231
325
147
274
165
296
251
231
236
259
262
306
177
204
257
205
248
312
214
251
169
222
225
278
293
274
245
160
180
210
264
186
259
230
210
186
173
195
181
271
149
168
248
214
114
256
201
211
189
226
300
173
271
217
226
173
166
228
239
230
254
211
194
185
154
241
250
171
280
145
244
227
305
217
297
207
262
206
208
232
245
184
267
261
288
240
218
296
157
191
160
235
244
258
231
195
166
163
198
181
178
187
217
281
198
200
210
188
181
334
194
304
160
160
234
211
243
262
220
180
229
263
213
246
161
221
246
231
170
265
257
182
180
200
246
144
215
261
225
251
229
251
191
260
198
253
228
239
197
239
243
230
257
215
204
215
235
156
324
266
190
195
229
340
226
167
169
245
225
226
198
159
217
262
280
204
238
156
147
309
250
254
244
218
152
198
260
189
165
243
145
204
168
243
211
254
241
230
211
213
237
268
289
230
184
248
176
184
178
234
220
271
162
216
237
228
231
209
226
233
174
193
148
172
126
239
244
176
218
171
228
219
241
212
160
303
231
282
290
290
261
248
174
235
156
250
222
222
196
252
252
275
199
223
244
238
205
243
157
272
302
165
210
231
296
205
211
263
213
179
158
140
285
277
309
151
208
247
290
154
233
336
245
236
193
189
165
217
209
266
250
234
114
193
255
167
332
218
214
156
320
211
223
324
263
247
203
144
224
248
297
180
209
207
283
216
217
195
232
201
209
151
261
268
312
194
224
216
178
225
202
166
272
240
222
269
175
154
296
252
214
236
114
175
237
172
269
235
240
288
244
222
169
190
165
219
298
174
230
247
247
243
178
160
174
176
139
262
302
260
195
174
239
257
243
139
253
252
172
217
222
181
241
264
212
231
261
246
180
121
247
215
230
160
144
282
188
260
165
204
157
209
114
237
224
284
194
151
234
208
183
168
247
327
178
147
217
246
219
287
289
219
218
184
216
170
197
283
216
254
203
231
165
147
300
239
114
291
220
241
236
209
310
210
224
299
167
241
345
153
197
269
171
253
237
220
200
299
225
205
189
274
267
209
269
198
198
211
189
312
233
261
241
245
208
224
192
173
260
141
237
241
243
152
233
228
202
206
241
152
261
240
139
230
221
169
201
242
242
342
218
249
197
239
282
230
262
186
223
174
260
230
238
214
208
250
253
212
245
173
211
210
233
195
245
151
283
262
193
269
258
242
256
238
217
303
258
232
222
216
270
231
194
207
245
170
209
209
212
234
300
315
254
199
194
173
223
241
261
295
266
268
170
182
148
219
176
240
237
258
229
240
239
218
234
278
116
275
237
191
192
213
215
261
273
264
227
254
194
247
185
234
251
225
185
201
185
167
236
248
236
231
173
223
218
286
168
259
223
207
219
215
312
263
170
272
281
170
188
181
217
225
160
266
256
312
161
227
213
170
306
233
195
178
194
244
259
210
209
206
114
212
184
195
284
249
288
247
255
181
244
157
191
202
258
254
237
237
230
242
225
219
267
248
186
199
232
238
243
209
181
252
188
231
256
242
197
170
222
176
217
189
277
190
248
222
114
287
196
257
222
271
210
254
258
244
240
267
173
291
266
254
252
179
189
254
157
160
273
208
222
299
176
197
216
251
214
223
234
281
186
268
259
250
306
236
240
277
258
212
157
197
218
190
234
306
202
189
191
276
193
274
216
290
192
250
195
253
250
274
170
194
296
180
237
260
279
300
237
243
276
275
191
256
295
178
308
233
167
194
197
219
235
284
200
114
285
200
217
158
234
216
174
166
244
182
204
148
158
227
189
245
253
219
258
223
203
241
193
229
220
186
181
213
239
287
185
245
252
220
198
271
139
180
177
249
217
236
290
240
337
224
245
270
255
215
218
193
196
176
114
219
273
186
246
226
215
217
229
247
299
158
206
211
232
154
228
273
211
245
276
262
243
210
202
199
269
145
211
247
262
196
317
211
181
214
218
286
164
171
235
290
224
207
307
206
237
213
259
224
297
192
292
215
262
255
244
259
234
249
246
281
220
287
198
160
173
220
237
226
264
325
274
167
192
210
247
221
261
230
153
202
191
213
198
233
198
214
258
275
152
207
217
216
225
242
162
236
222
167
193
214
203
182
222
212
159
203
129
308
236
182
214
193
251
146
315
225
139
181
253
194
186
238
199
178
148
221
179
153
250
216
205
195
182
174
320
227
256
314
231
286
216
371
204
186
215
213
154
193
227
203
172
196
191
145
273
299
191
230
223
212
160
174
246
217
222
261
276
200
139
193
271
208
233
255
193
275
274
158
285
201
234
228
234
316
174
194
177
243
199
222
139
283
291
280
145
279
250
241
150
196
250
277
296
197
243
249
271
311
225
303
182
273
196
275
295
249
196
201
227
249
185
178
239
265
208
246
305
269
208
214
178
282
156
252
290
157
230
236
245
211
288
199
175
251
251
244
232
227
259
238
245
244
259
203
265
327
216
275
212
279
194
216
205
214
186
269
334
206
218
254
182
200
281
231
234
322
194
238
114
193
258
244
217
213
307
244
246
179
215
241
201
259
175
179
291
307
246
258
279
209
231
271
219
206
151
264
235
259
189
248
274
251
191
228
230
242
246
226
294
149
178
343
283
202
214
251
272
219
165
206
195
197
245
302
189
287
231
166
283
170
173
232
246
263
217
185
257
215
218
233
200
182
230
213
233
233
281
274
180
245
160
188
281
192
255
200
219
198
303
216
260
239
257
213
166
178
204
204
175
221
229
289
203
232
260
166
160
294
192
259
114
185
241
233
267
285
325
139
235
258
237
190
186
245
172
184
145
179
188
177
267
301
218
239
198
267
218
199
232
184
161
190
221
240
231
152
226
185
221
288
204
328
262
148
223
300
205
326
203
173
220
224
242
173
221
206
173
264
174
244
210
219
203
199
219
194
239
220
201
239
220
250
267
237
261
224
222
319
163
228
286
162
206
255
225
267
202
237
206
234
233
223
224
215
169
236
203
174
280
182
202
182
220
213
267
197
121
200
186
275
237
265
205
210
229
173
207
185
275
279
330
287
212
216
196
241
342
255
220
270
130
289
202
147
277
211
259
293
211
249
272
178
248
193
170
235
200
270
265
239
167
147
238
240
200
194
189
248
183
242
188
196
245
235
338
275
236
152
188
229
242
108
253
229
284
311
161
216
188
227
193
213
193
277
217
256
170
200
181
197
186
186
158
201
160
239
173
259
241
208
207
191
313
210
262
216
181
299
201
311
189
259
211
271
213
175
145
226
245
214
239
231
213
253
252
163
194
154
218
222
243
257
300
169
198
278
317
275
189
269
249
235
260
229
216
283
267
239
248
233
206
237
227
205
276
161
236
256
218
278
165
236
163
219
304
315
238
234
264
218
247
244
265
198
166
223
226
254
237
231
191
319
214
114
170
166
160
281
209
204
209
239
195
273
240
271
193
151
192
219
311
293
206
256
352
246
272
229
260
202
253
216
220
219
257
170
226
169
242
155
303
215
126
229
185
336
238
223
267
218
292
284
210
170
224
336
218
162
214
234
205
197
326
179
238
212
246
237
217
218
243
201
225
181
270
208
239
165
313
238
253
155
283
263
268
237
241
248
259
188
285
226
280
253
222
288
200
230
228
260
263
248
194
260
153
273
165
221
180
278
284
226
170
213
278
198
230
256
221
207
167
263
188
217
170
243
226
344
196
122
240
189
189
237
210
230
226
186
168
236
289
192
243
198
243
311
251
320
286
262
269
217
139
270
224
227
198
235
194
189
215
196
193
194
324
339
247
232
220
257
337
222
206
293
204
257
171
257
226
264
268
333
243
160
296
207
201
221
259
289
163
242
198
194
169
235
281
169
171
254
231
225
194
297
211
279
274
239
228
224
217
245
254
240
232
189
312
207
203
269
218
260
192
256
350
224
199
211
180
249
218
183
258
317
176
189
261
207
273
134
245
175
217
234
257
156
145
169
195
279
192
108
215
199
126
355
212
251
215
248
195
281
170
269
232
186
209
144
174
219
241
216
114
227
194
227
164
220
193
200
195
174
181
178
199
206
296
166
181
215
283
207
254
277
239
165
193
176
214
212
291
231
276
183
219
231
245
236
239
246
196
259
217
157
236
204
333
196
214
195
266
249
198
227
195
284
235
238
264
229
126
256
235
241
185
207
180
240
269
179
236
216
198
179
169
236
304
208
188
249
322
206
204
284
312
209
229
202
217
196
201
234
236
170
209
197
228
234
196
242
175
225
228
259
153
240
215
222
232
238
259
260
186
191
378
209
247
257
148
260
255
316
280
227
214
198
198
276
203
282
241
198
198
214
189
208
216
230
202
216
210
225
192
213
240
221
244
185
231
225
189
214
238
210
197
154
304
254
164
171
196
208
189
194
255
316
192
213
183
254
253
212
250
244
223
155
319
262
181
313
242
245
114
262
211
207
167
253
282
224
201
220
218
253
281
170
225
292
248
196
285
204
224
233
205
251
195
210
181
267
343
222
251
114
167
235
172
168
212
261
247
192
204
160
225
233
168
202
230
184
139
238
217
148
197
192
301
197
170
130
315
216
289
254
275
301
244
223
269
244
246
263
196
295
297
237
149
208
270
199
245
186
186
313
152
169
211
213
169
190
192
263
311
251
247
291
180
236
242
236
221
171
302
214
293
280
277
200
179
247
160
177
253
200
271
234
169
246
215
146
231
175
310
293
250
209
156
154
276
315
361
195
186
252
251
215
182
255
277
280
255
203
179
217
282
240
225
220
306
252
222
215
220
281
230
252
200
272
163
253
239
195
244
128
217
223
231
244
246
247
191
233
201
244
169
170
288
308
257
233
246
225
256
222
194
239
280
233
218
269
235
151
232
211
343
203
249
176
242
255
203
221
205
232
211
205
246
383
161
216
318
161
178
257
209
245
235
354
194
222
185
269
206
272
188
194
205
296
209
267
249
206
237
260
239
133
234
239
241
243
214
234
210
320
224
114
189
273
221
236
178
226
114
231
219
234
175
178
205
233
215
244
229
296
271
221
207
262
162
175
219
191
221
222
169
209
311
214
228
234
235
175
228
310
229
177
262
292
197
197
239
181
191
235
176
273
174
258
278
227
277
285
231
258
250
252
273
262
220
196
253
208
173
285
214
313
279
224
234
350
259
176
270
218
223
314
179
237
207
189
184
243
214
316
312
220
261
207
265
214
229
233
229
210
219
213
201
220
227
288
292
182
270
216
217
170
198
221
196
279
214
249
114
218
234
175
240
280
152
223
188
232
274
199
174
207
202
272
218
220
240
148
209
251
245
198
219
286
218
221
225
258
212
263
210
257
194
223
204
215
270
214
234
260
180
269
252
266
199
288
245
227
195
212
232
229
210
221
264
169
217
194
157
181
233
230
158
332
160
285
291
253
282
346
146
241
256
219
173
221
151
164
254
186
343
273
265
301
231
145
213
338
204
192
139
307
223
216
250
216
173
229
250
144
229
226
211
232
241
197
280
226
234
326
196
259
179
293
223
262
180
232
247
216
179
172
159
243
218
246
227
184
212
258
226
244
183
250
230
265
220
223
266
192
243
230
197
293
170
301
208
218
238
181
264
305
231
152
267
170
181
183
223
185
214
262
269
201
255
313
230
175
174
241
252
179
227
227
243
261
189
311
224
194
261
300
293
171
200
225
222
196
219
253
151
237
271
189
174
241
235
232
108
208
250
218
250
279
268
184
185
323
281
126
258
262
244
188
196
254
114
222
309
248
181
232
194
205
201
242
226
166
193
235
155
272
219
238
218
226
209
227
126
259
236
165
214
280
249
274
178
156
302
216
186
148
166
250
252
281
343
252
180
213
191
233
240
260
303
283
184
243
196
209
222
217
186
235
212
178
175
196
156
198
229
192
156
152
268
184
199
219
275
219
216
225
196
247
227
195
246
205
224
321
158
310
197
269
336
228
207
199
198
210
304
234
180
213
235
312
240
254
320
270
161
243
222
147
205
200
201
159
249
192
235
167
220
188
206
207
237
192
273
219
195
248
220
271
214
229
290
252
146
147
219
240
251
116
244
222
233
289
337
180
244
271
152
216
239
270
289
223
198
227
143
201
250
215
236
203
251
219
240
243
286
287
286
196
156
231
280
270
225
209
289
204
230
263
225
268
229
251
219
268
139
193
214
199
216
223
201
331
215
211
323
235
212
288
219
219
214
197
184
250
207
243
200
252
231
233
180
166
209
219
188
212
178
219
190
232
194
285
222
280
300
210
190
251
311
187
198
174
175
281
211
193
249
228
203
286
182
197
294
246
206
269
263
220
231
192
259
173
197
258
170
269
229
278
208
245
242
194
188
299
245
114
196
228
187
251
266
254
234
250
156
233
231
239
260
146
212
239
200
248
298
181
180
231
178
219
258
227
218
194
246
163
231
292
182
126
207
268
145
212
156
203
246
229
196
192
192
215
285
306
275
233
267
256
268
243
199
328
296
230
192
209
215
219
176
283
280
224
249
193
212
218
242
254
246
152
245
216
192
181
228
223
272
210
179
178
255
219
183
335
227
258
184
254
244
192
262
259
139
170
290
114
239
187
292
222
230
307
286
221
282
203
291
229
201
175
210
181
255
231
238
261
254
287
235
254
194
226
202
233
225
160
238
309
156
239
240
300
248
193
194
242
257
265
203
274
224
248
301
230
163
256
291
188
296
165
253
169
177
237
243
274
180
184
295
251
222
247
149
232
240
289
225
241
237
195
192
245
180
246
237
187
213
250
261
283
185
196
265
147
327
253
232
305
220
208
264
295
283
195
205
128
202
273
204
199
172
185
160
317
210
214
229
242
259
256
212
245
217
204
219
231
181
179
270
239
340
220
279
252
213
258
270
242
182
249
232
114
285
195
262
234
179
267
160
308
260
227
282
234
152
184
151
253
188
204
196
181
241
288
252
216
227
207
253
194
201
165
361
253
227
278
257
152
220
221
226
128
285
225
215
274
213
207
189
248
211
177
201
200
232
215
306
243
178
170
231
176
257
206
255
178
220
251
188
250
240
241
288
231
247
178
238
198
261
180
273
152
210
211
262
353
206
207
184
222
258
159
264
114
255
203
289
185
241
241
156
164
196
176
128
167
258
114
212
281
154
246
244
233
310
226
170
207
269
264
268
225
181
235
251
194
307
180
201
216
168
190
250
326
198
266
213
231
258
191
245
280
189
264
212
248
272
177
234
210
232
230
254
164
232
224
232
179
174
155
316
190
234
223
273
217
220
250
184
260
203
289
178
169
191
278
159
239
233
228
234
207
269
195
286
286
275
151
301
211
239
258
213
188
232
214
184
256
234
193
212
177
147
162
173
276
245
316
208
212
217
222
197
228
304
252
226
126
114
218
285
145
242
233
219
184
187
206
181
179
246
285
221
219
114
203
196
182
237
236
221
231
169
190
256
294
158
192
250
297
183
287
252
205
203
172
173
261
225
254
178
255
223
223
250
191
193
216
213
172
222
215
209
217
223
260
235
289
198
180
301
203
256
173
242
126
212
240
213
167
201
173
323
298
178
241
249
175
214
186
201
190
325
154
196
231
184
308
183
255
152
270
269
161
211
224
252
145
214
177
179
157
256
311
233
222
211
313
199
241
225
185
233
201
268
313
238
144
216
200
205
239
295
272
247
241
228
252
158
174
381
181
213
174
246
222
229
200
154
230
275
175
263
178
264
261
160
174
256
209
221
196
199
273
233
246
337
186
204
195
242
249
269
225
191
261
269
229
295
211
181
217
185
299
152
205
285
223
184
263
270
255
241
191
196
230
247
287
193
279
261
284
241
213
218
260
114
199
208
236
214
279
233
188
185
211
194
161
184
348
195
249
208
223
224
301
243
270
227
202
216
193
252
250
217
299
255
267
181
224
266
164
248
185
209
162
190
147
224
192
271
264
204
199
317
143
179
276
258
228
211
217
272
183
255
221
167
197
326
263
232
221
158
156
193
234
153
243
227
260
236
247
196
188
253
253
235
174
186
114
195
114
274
258
296
161
201
171
255
215
342
296
231
186
356
262
282
242
255
212
308
329
254
229
187
243
349
266
258
214
149
139
170
173
184
191
204
252
184
283
231
258
216
185
225
165
129
220
252
260
265
173
198
347
264
279
221
154
280
220
254
283
146
152
171
193
114
308
347
285
248
196
218
198
278
160
292
262
244
114
293
253
278
177
180
231
278
277
159
252
240
162
258
173
286
222
222
195
126
256
223
247
283
290
255
246
320
210
152
214
200
160
183
221
256
258
234
228
191
228
247
210
213
156
139
156
195
203
218
266
156
257
178
210
238
245
216
178
269
165
202
186
241
300
299
216
246
158
165
256
301
250
271
149
214
169
174
219
200
238
192
254
155
217
238
272
228
186
196
158
255
233
289
146
254
175
262
187
243
267
259
257
223
231
212
219
160
181
280
268
256
175
203
232
258
228
221
173
335
295
215
239
223
178
193
195
227
246
192
213
242
255
187
206
166
200
244
209
202
238
216
231
270
285
197
250
205
234
230
216
281
170
214
267
174
176
224
298
241
219
192
161
286
232
315
197
243
211
210
248
220
232
209
184
212
218
240
302
241
204
249
214
203
215
226
245
167
184
227
193
229
264
257
202
256
260
271
230
215
187
219
255
202
241
268
237
203
178
214
231
246
232
190
199
183
261
258
286
285
222
227
211
301
249
202
213
156
292
279
169
252
262
173
258
214
194
170
206
251
170
195
236
177
165
224
320
252
213
241
192
212
235
309
248
211
247
281
250
232
339
114
164
233
197
241
166
231
170
167
175
270
276
184
163
246
185
170
190
228
337
244
277
225
252
178
195
198
268
204
200
250
198
193
263
279
190
216
179
178
189
251
231
194
255
176
246
280
175
293
203
247
293
182
250
265
227
208
216
230
146
299
255
277
263
280
382
184
248
262
217
156
158
223
174
246
281
200
201
281
233
196
258
249
246
191
219
222
174
286
170
221
213
245
219
301
207
210
285
184
189
209
167
220
247
187
188
192
170
260
250
220
219
227
257
204
184
165
252
198
217
206
307
252
152
234
247
266
173
251
222
177
178
247
203
167
236
190
242
235
171
274
255
176
192
189
237
212
377
216
217
215
126
188
198
242
161
244
233
201
173
276
284
166
215
251
303
188
179
275
238
198
272
228
220
295
114
185
214
246
174
281
192
290
261
344
188
184
222
170
313
214
151
219
204
265
248
182
220
284
265
215
269
245
294
203
288
151
284
202
209
248
165
255
114
169
185
307
245
257
281
250
195
216
193
233
170
249
244
166
143
238
193
190
189
197
164
190
266
200
263
166
249
193
173
228
173
181
253
238
225
177
170
247
220
240
194
165
171
199
199
237
274
207
215
203
254
171
322
233
233
308
277
155
149
216
198
277
269
226
223
288
278
180
272
203
308
176
194
220
219
218
114
176
209
272
156
271
114
286
241
185
152
222
243
251
275
166
224
314
220
154
235
234
317
200
206
238
226
175
171
285
189
244
214
257
217
229
272
217
227
211
239
162
220
241
275
263
217
185
283
235
213
267
218
176
236
235
263
259
275
205
291
253
182
227
235
260
273
200
176
286
249
187
244
237
286
182
249
193
232
196
162
246
189
205
241
207
201
156
263
240
233
198
245
300
289
194
221
248
188
268
296
158
262
219
259
270
196
216
268
174
218
294
114
274
178
236
161
181
211
220
183
292
265
245
186
160
298
187
241
302
255
202
287
236
163
200
206
214
219
211
206
183
197
257
153
213
199
281
312
216
183
222
267
223
238
186
257
166
165
212
307
269
195
278
225
210
239
225
229
227
254
206
261
243
175
239
180
176
236
311
295
223
173
298
320
220
212
212
258
242
203
252
241
153
276
286
258
216
180
211
254
210
114
273
233
214
197
235
224
196
293
258
194
258
116
222
211
209
262
240
197
229
237
218
200
219
318
257
241
182
274
240
171
154
250
249
212
221
218
126
225
191
194
206
205
297
244
162
208
222
264
193
237
243
268
160
266
248
184
222
210
191
205
218
233
195
268
274
247
262
213
206
258
228
205
216
274
270
249
257
257
215
271
235
239
232
319
214
181
248
173
355
223
246
328
274
263
234
230
279
153
218
192
177
183
203
219
287
340
151
177
194
217
250
266
240
270
181
214
260
202
178
185
182
173
205
365
268
233
188
160
114
232
165
304
321
184
265
215
222
255
244
204
192
225
179
209
262
257
303
114
240
225
205
253
252
238
208
232
245
279
226
146
237
255
274
198
214
248
233
221
145
213
252
159
269
198
284
293
158
174
243
169
263
255
304
244
365
261
206
260
208
189
207
239
230
165
234
295
208
284
192
213
227
193
209
180
315
193
181
260
202
186
166
261
217
201
315
243
135
292
227
213
266
233
185
307
260
284
260
195
238
297
234
206
303
251
203
273
261
236
177
330
243
201
304
193
258
246
242
262
278
230
211
114
201
219
257
193
282
219
210
213
170
261
193
310
216
192
207
283
277
253
266
215
126
184
247
250
220
211
245
201
213
242
214
240
185
181
277
163
273
227
223
207
178
259
209
212
170
201
297
264
130
188
300
304
279
292
225
279
312
263
201
294
193
211
228
210
258
170
184
217
283
188
319
160
263
303
274
222
191
274
228
185
229
280
114
171
175
214
231
158
291
245
289
274
233
213
229
155
285
272
247
290
180
251
169
242
257
159
174
249
251
337
299
210
188
233
197
300
209
260
185
261
244
191
228
221
239
223
187
216
261
235
245
253
271
206
236
195
225
116
268
287
276
126
240
229
215
194
146
198
254
223
287
206
214
209
160
245
249
223
242
327
222
218
190
227
126
259
204
235
318
287
249
252
241
206
236
282
193
139
216
198
253
221
289
191
259
139
243
242
116
229
257
251
222
234
233
217
262
204
230
180
220
192
176
178
284
263
293
307
197
268
173
200
184
217
241
218
198
268
170
230
221
231
247
270
252
262
279
260
313
226
238
355
232
205
197
210
144
292
173
233
187
160
273
296
176
276
157
210
198
172
255
255
231
255
237
177
214
236
292
223
201
208
210
160
261
243
160
218
179
175
161
285
182
178
175
221
192
211
166
197
114
270
231
245
198
114
152
257
212
156
175
198
247
236
234
224
171
247
163
245
237
148
251
255
206
303
181
226
199
247
141
311
229
234
219
220
252
220
173
272
196
233
193
234
247
262
259
190
232
261
238
189
214
189
208
187
114
233
179
214
209
239
216
171
173
244
278
177
198
227
175
173
199
212
202
240
196
114
340
213
309
285
173
197
266
237
244
323
195
186
226
240
146
242
234
195
192
267
256
236
261
246
151
221
208
304
208
212
211
313
200
163
200
253
192
156
220
114
234
240
243
304
235
168
242
294
215
230
164
267
202
208
180
384
200
329
176
176
266
259
271
207
297
244
251
204
215
293
232
307
252
207
229
181
187
149
154
253
240
170
222
114
305
307
207
276
156
217
214
208
261
279
206
214
237
264
223
200
173
176
209
116
223
209
184
208
170
193
215
227
255
252
198
263
203
133
246
213
211
219
246
241
273
180
279
247
203
208
239
200
243
284
175
211
232
278
244
258
170
221
277
303
226
198
235
269
178
178
268
206
233
198
234
296
212
213
272
223
255
174
224
219
227
212
211
251
174
216
272
252
222
299
173
189
162
188
248
257
221
247
279
267
208
182
185
306
191
278
255
245
291
219
195
303
195
152
186
260
260
220
248
284
269
269
195
314
224
225
195
218
285
259
279
256
227
114
165
224
278
239
263
199
238
294
355
353
191
152
209
139
303
305
289
266
209
289
282
260
203
232
182
201
229
251
170
251
193
263
227
184
230
159
286
203
229
277
198
188
321
250
295
168
275
114
264
193
217
205
190
205
226
174
228
180
182
262
219
254
230
295
271
126
207
265
232
165
237
180
274
287
220
251
333
227
203
206
311
170
212
283
249
328
200
182
273
220
221
216
187
226
245
258
156
278
216
247
161
205
226
184
239
221
255
149
287
312
178
203
261
177
196
264
305
224
281
231
320
237
247
198
207
188
261
243
130
260
247
186
195
242
224
197
221
227
257
304
284
235
210
207
175
224
244
246
269
260
225
200
205
210
323
238
181
214
126
269
251
186
221
218
178
186
108
269
178
235
270
229
280
215
262
249
210
212
182
215
188
227
134
174
229
152
199
248
171
183
168
278
255
263
225
168
181
289
204
249
252
169
166
264
209
233
209
160
180
154
170
217
243
227
265
196
178
156
211
245
188
179
219
245
295
248
247
163
146
342
229
272
219
188
208
235
203
193
210
250
228
281
237
180
226
264
202
207
209
218
208
265
227
301
246
250
255
218
184
210
243
261
235
293
243
228
240
260
273
256
178
266
253
255
193
214
285
183
258
173
176
188
222
227
162
170
158
275
214
312
149
243
303
299
224
199
244
177
247
174
225
229
219
350
236
224
241
259
256
237
168
286
330
239
235
182
263
213
246
181
240
181
191
169
277
271
181
242
239
192
188
160
279
114
255
186
192
247
182
194
241
183
154
221
301
244
185
237
251
185
210
233
178
222
241
215
151
278
197
183
220
226
298
307
225
217
188
263
279
210
240
276
299
246
199
220
151
209
238
162
271
236
200
238
169
205
165
192
220
224
205
199
181
286
164
156
242
183
116
239
199
234
258
238
255
281
267
204
210
173
235
254
191
146
202
223
255
286
227
202
217
156
191
160
208
233
214
244
207
236
151
247
214
203
289
249
268
192
274
245
248
178
209
221
208
216
266
262
174
216
238
160
175
195
211
304
207
331
239
216
182
253
311
250
208
220
193
223
363
263
304
285
201
250
195
289
231
200
286
225
258
234
185
173
283
176
223
130
211
225
229
165
251
193
217
174
231
258
226
293
240
262
178
151
197
272
289
229
269
234
199
234
252
187
221
253
272
235
164
222
199
232
296
204
204
152
230
222
238
203
205
280
177
276
173
201
189
294
216
218
245
241
238
206
211
176
222
206
215
214
186
215
204
229
173
228
306
291
228
139
245
178
231
156
196
222
207
180
177
199
199
220
178
193
245
208
221
192
289
208
290
179
286
230
225
208
186
220
278
262
284
170
272
270
179
204
224
310
217
181
205
286
260
319
224
240
287
194
186
162
229
217
184
128
226
230
287
181
172
229
255
244
314
149
286
247
167
225
265
262
314
310
271
222
226
191
231
224
114
227
259
235
235
190
152
265
149
207
162
259
253
277
283
278
217
182
245
214
211
222
196
240
251
239
233
146
230
223
209
244
207
258
176
156
243
288
256
259
257
271
170
151
196
234
243
212
235
294
247
255
264
170
300
271
194
128
260
197
126
231
228
256
242
285
130
178
161
280
238
312
257
198
227
236
268
295
223
204
211
231
169
233
215
285
153
160
257
299
247
249
226
222
264
231
286
233
187
159
277
263
218
214
202
276
215
315
216
179
193
256
266
183
179
246
198
185
193
232
158
310
185
291
279
243
293
222
223
250
223
267
180
218
168
168
184
173
170
269
220
225
259
262
254
228
214
310
160
236
242
247
196
168
221
213
209
227
297
256
192
234
186
263
252
229
203
130
209
251
267
235
279
167
281
184
187
162
281
229
209
244
192
201
227
205
238
213
216
215
139
208
186
244
224
254
284
215
180
158
207
227
289
178
253
237
208
230
302
279
181
230
290
245
254
183
200
279
216
185
182
170
250
292
231
247
176
259
184
174
217
211
250
146
250
209
176
275
249
220
236
360
272
230
198
306
244
289
238
214
274
180
206
236
211
169
213
223
220
212
194
181
252
267
196
169
281
327
274
246
255
200
195
242
194
240
230
273
227
270
275
280
279
260
177
218
183
207
235
263
277
242
225
219
170
297
242
318
195
266
254
302
269
264
242
183
250
163
246
237
207
152
199
277
318
208
244
163
158
199
214
240
291
312
253
207
191
239
204
240
200
280
185
176
146
180
180
253
280
271
222
184
192
214
233
201
179
223
262
228
208
238
160
227
138
249
159
220
192
222
267
231
231
297
169
206
259
215
209
183
207
216
207
190
195
191
240
181
249
200
189
204
246
233
271
219
180
152
292
190
204
349
258
139
246
289
262
156
205
275
245
231
209
273
201
209
198
223
160
201
184
311
193
246
240
198
210
168
276
170
224
234
201
206
220
247
238
241
199
210
198
238
228
151
169
238
270
319
222
234
264
281
154
204
265
187
108
172
260
169
252
152
255
259
184
344
210
212
265
266
223
308
230
249
231
168
231
275
196
208
217
220
269
225
297
157
216
186
246
168
215
181
130
244
184
217
170
201
206
217
187
176
225
161
256
231
196
243
233
177
221
254
209
327
186
247
221
114
173
220
152
193
198
190
223
235
168
224
209
206
347
204
213
203
280
286
180
212
318
205
311
152
273
245
227
216
199
229
184
237
235
220
256
290
200
226
158
209
121
254
238
256
207
277
235
257
209
186
213
203
299
178
157
196
206
213
274
282
206
224
181
230
205
273
253
257
209
209
223
182
321
219
324
270
190
260
238
195
317
215
239
269
261
246
146
245
291
291
301
209
234
224
237
260
189
224
208
263
243
173
175
260
214
359
214
239
176
247
213
290
290
225
173
317
248
212
139
224
272
281
238
219
235
236
183
296
211
204
230
169
231
166
216
217
273
260
225
194
197
174
145
250
263
284
181
195
198
175
193
210
220
167
214
222
235
151
267
198
241
130
203
267
195
164
302
181
192
194
146
190
251
275
160
287
269
201
310
233
152
212
241
200
215
251
277
191
298
170
245
233
231
202
238
247
200
204
187
236
182
222
170
204
246
252
198
209
114
186
267
221
200
213
315
213
250
230
231
239
249
245
276
273
248
152
236
178
270
233
216
114
185
241
235
160
262
227
273
257
242
192
196
194
199
241
189
242
234
251
220
217
246
114
195
233
195
244
203
200
222
231
188
192
205
251
114
213
241
166
213
248
305
230
253
182
198
181
188
233
245
274
276
258
272
287
249
185
186
225
170
254
256
220
209
198
166
232
229
192
275
282
238
230
197
198
178
225
209
172
234
176
250
243
185
277
259
175
202
239
242
116
209
234
173
267
159
265
146
249
239
214
250
233
240
163
234
269
219
241
237
198
175
175
202
203
139
214
176
227
205
160
291
174
209
199
207
237
181
199
259
184
243
227
186
192
217
224
225
241
235
266
226
207
237
308
265
232
196
173
271
171
296
267
214
151
160
231
318
230
292
194
245
164
224
165
193
258
261
162
202
241
161
225
248
277
266
245
249
280
139
310
225
206
182
188
239
263
240
273
221
208
183
272
195
275
210
278
203
225
230
165
158
219
297
192
301
319
223
236
209
207
241
286
193
381
240
233
215
181
182
173
181
149
198
183
234
114
281
193
198
167
178
154
264
178
195
238
213
292
196
324
178
158
250
206
259
214
205
237
252
225
293
274
200
192
180
198
178
211
218
164
334
197
248
278
200
246
175
181
200
205
214
162
239
176
334
164
249
218
232
202
225
226
231
194
215
233
156
230
207
263
253
234
254
237
251
281
244
290
229
289
270
290
201
156
184
206
183
237
249
223
238
314
235
250
212
230
251
242
183
233
160
253
225
218
180
195
275
299
261
190
232
192
236
185
244
195
284
144
192
240
200
210
258
270
219
152
178
204
254
230
243
259
228
319
246
116
229
216
239
239
287
215
279
237
226
334
215
226
234
217
201
218
259
242
164
245
290
242
164
245
261
277
219
239
179
179
172
211
236
248
261
198
289
272
309
195
192
319
235
170
211
268
247
252
277
224
139
215
177
212
235
229
204
207
201
279
181
233
249
233
255
189
235
173
332
221
229
187
235
187
218
233
213
181
231
185
226
203
148
139
225
231
252
304
244
228
228
254
195
271
212
268
225
230
222
263
298
237
160
195
181
310
239
266
243
243
285
235
238
212
238
262
221
196
279
158
267
207
221
243
267
295
353
126
260
250
195
250
157
277
234
178
258
152
180
230
248
230
360
185
202
192
235
243
264
255
217
156
203
191
241
192
245
293
241
229
192
189
187
271
170
177
257
242
220
213
178
282
238
202
200
241
174
251
232
218
217
209
178
275
290
184
202
274
257
179
317
157
256
129
305
250
128
156
262
240
146
156
170
343
297
282
195
224
227
190
189
199
198
133
231
305
164
225
229
171
229
154
181
246
252
239
264
175
232
255
311
250
207
235
232
225
213
169
282
237
273
221
275
236
224
269
302
240
126
312
163
207
222
220
248
170
199
217
227
260
247
199
180
181
156
288
228
173
266
239
293
230
176
204
313
284
213
171
203
260
235
195
202
221
191
183
184
193
195
254
240
261
228
195
254
200
267
258
276
186
278
209
219
187
272
208
254
221
147
233
198
238
214
207
191
200
231
203
152
242
130
208
246
247
274
212
191
295
208
216
226
176
234
213
214
170
216
213
219
197
242
274
173
182
191
285
181
233
214
349
180
220
340
192
288
145
155
269
202
237
252
224
247
195
268
241
180
205
262
242
274
244
252
189
191
248
193
187
242
263
302
178
219
243
245
203
146
309
260
290
201
237
260
268
193
207
237
196
174
210
259
180
289
160
261
224
211
201
243
226
187
188
278
197
243
156
194
197
242
252
220
220
205
251
164
188
199
166
284
235
262
252
160
227
239
270
186
201
145
179
200
202
175
333
180
197
308
271
241
215
169
196
188
114
330
222
199
245
236
237
212
143
310
384
239
183
214
251
254
213
324
203
173
222
261
234
205
168
156
197
233
269
187
242
222
158
249
249
225
268
240
217
199
190
237
214
283
257
181
244
281
193
209
175
184
239
250
236
218
216
174
155
161
166
281
204
186
218
152
198
252
247
283
303
195
206
261
179
230
145
283
290
149
171
182
209
207
179
243
229
175
212
219
158
262
254
235
214
201
231
240
168
173
307
182
250
229
184
149
187
154
286
154
310
207
184
160
205
273
194
249
249
149
360
215
276
228
170
287
222
256
170
208
179
298
272
160
306
280
174
250
253
192
241
293
251
198
249
225
221
330
251
169
139
237
212
178
217
172
184
232
213
301
155
166
244
211
230
196
274
265
341
242
277
296
303
263
220
219
343
158
226
174
191
288
255
278
243
201
225
259
214
156
233
229
234
301
215
272
197
222
269
243
302
169
246
302
284
253
229
241
214
224
240
192
208
252
270
262
181
319
257
194
269
295
225
216
217
261
243
213
221
160
308
207
290
209
282
293
258
208
182
224
200
258
179
285
178
233
209
200
241
186
280
187
196
198
233
248
184
292
252
165
179
161
215
242
187
217
232
214
222
220
222
197
264
213
200
313
267
192
215
275
222
257
139
224
225
276
189
269
277
184
170
279
233
285
210
276
276
192
197
222
192
208
285
231
246
186
262
208
302
193
186
178
261
262
237
183
222
288
270
209
230
236
184
206
238
204
304
241
276
232
237
269
208
200
230
204
232
265
267
260
227
235
315
303
237
308
181
263
266
244
242
244
198
114
246
202
298
216
198
209
224
286
221
175
191
304
243
232
219
189
271
248
195
213
225
258
332
239
176
200
275
159
258
231
260
242
173
243
196
209
196
375
202
192
243
239
221
241
196
212
201
162
145
223
245
206
247
261
175
245
253
261
209
236
233
200
201
216
152
319
190
240
232
217
182
253
224
171
173
296
211
223
227
239
227
210
244
237
212
219
284
260
200
164
172
274
174
245
238
288
210
158
225
244
232
296
139
237
218
265
281
225
288
232
256
247
232
188
152
187
160
295
157
248
235
302
178
276
114
216
228
218
159
234
213
265
178
214
212
167
262
207
244
250
192
223
293
245
282
198
199
227
169
249
197
206
271
198
197
236
173
209
149
244
233
231
284
203
289
240
171
233
210
161
184
240
262
230
222
195
359
228
218
239
250
247
244
344
208
257
152
284
198
279
211
212
216
305
249
161
240
246
139
221
214
183
193
339
214
195
173
213
255
197
247
191
231
258
227
219
226
202
214
211
251
174
248
238
229
245
282
170
312
179
299
175
224
170
280
242
158
176
219
182
247
255
145
232
185
226
152
198
214
211
175
169
279
247
168
219
213
238
224
235
203
139
139
242
252
223
161
306
233
212
210
234
238
234
186
152
106
252
261
257
223
242
108
152
156
152
211
174
207
272
266
208
155
206
175
234
200
158
210
218
204
287
207
262
173
170
205
214
158
245
287
267
232
331
194
256
249
268
234
293
175
178
288
285
176
221
231
224
260
200
173
114
342
197
208
266
276
231
169
168
187
216
223
302
233
276
226
232
235
283
166
208
222
218
241
201
351
233
279
254
218
190
221
152
146
254
243
196
171
229
177
198
160
215
230
198
181
237
198
242
185
198
222
259
210
189
151
222
188
201
192
203
268
323
147
221
235
198
196
191
215
215
211
196
222
160
290
375
149
256
208
285
212
330
174
263
173
213
242
114
167
265
238
241
258
188
272
212
174
139
180
179
178
257
320
227
219
195
170
249
283
269
190
249
238
221
275
256
346
226
249
206
284
311
258
295
234
214
225
230
238
241
227
304
215
190
278
252
181
243
231
179
238
260
282
114
196
246
206
139
240
230
351
227
162
305
269
234
218
249
137
282
198
218
211
287
261
171
187
270
201
145
250
208
305
217
221
362
197
263
146
198
181
177
278
201
237
250
253
222
215
139
251
198
238
175
203
263
171
187
284
174
243
248
188
280
190
265
212
194
168
207
248
152
203
224
251
194
114
186
174
239
235
205
266
251
195
220
275
212
235
229
156
293
210
211
229
279
254
163
217
221
264
180
215
157
209
192
286
196
239
210
193
165
287
211
200
188
202
195
180
236
213
307
276
188
200
355
289
270
174
189
233
267
205
219
272
191
239
200
319
219
208
215
304
239
219
192
164
126
154
257
203
277
212
163
214
198
256
191
220
259
208
172
231
226
223
256
225
198
233
224
256
177
252
244
265
228
189
235
251
274
165
206
291
212
204
173
261
227
164
187
189
193
182
207
241
152
196
185
200
231
202
231
297
262
221
269
289
192
160
157
208
213
212
275
253
282
189
177
229
139
219
198
243
194
303
200
291
300
207
128
213
303
243
264
283
188
199
238
203
216
326
269
286
228
239
184
235
308
274
208
187
209
155
269
168
225
299
206
169
166
246
176
121
308
226
285
297
183
232
273
222
189
210
277
233
279
168
232
291
175
168
218
252
217
235
247
200
173
247
230
174
181
265
207
186
254
237
206
188
242
260
242
246
218
203
225
186
234
238
229
186
213
172
223
248
215
279
235
196
210
266
215
251
194
265
224
219
235
230
312
178
219
238
254
139
199
189
213
207
264
178
203
296
266
255
228
160
243
151
190
254
178
172
229
214
214
243
192
217
129
266
237
130
170
208
211
187
250
272
235
206
214
236
225
239
236
174
213
218
187
267
290
196
311
166
207
298
213
221
211
176
225
192
227
218
287
200
218
206
178
240
220
176
192
179
248
173
262
248
221
170
259
242
220
276
290
242
227
192
224
223
276
213
196
238
295
243
180
284
227
229
198
192
289
242
181
267
219
234
240
250
272
257
215
158
175
149
156
323
130
277
262
181
178
245
202
208
215
238
271
228
256
245
261
195
220
227
291
296
246
225
213
232
213
251
212
169
207
223
242
246
324
147
234
267
170
244
213
268
303
261
211
235
169
279
315
231
170
257
116
106
165
275
238
224
159
246
229
201
175
180
191
197
248
226
220
227
161
245
221
206
233
146
152
264
257
178
220
273
245
219
275
250
253
218
283
247
238
216
181
244
229
182
159
156
211
247
183
207
226
214
173
380
173
173
230
155
231
236
262
158
265
210
177
174
222
232
189
211
292
223
250
268
194
299
139
246
343
273
189
160
198
155
249
198
209
237
221
278
263
245
272
203
220
177
205
193
222
210
241
220
211
261
161
305
218
249
106
250
219
203
159
249
193
231
202
206
220
208
198
266
183
238
278
260
224
235
126
243
204
196
237
259
205
213
178
250
248
195
269
152
256
270
168
175
224
281
114
188
116
211
261
195
218
209
306
176
261
181
228
281
241
281
213
239
218
239
191
224
233
147
272
189
114
268
235
286
162
277
258
205
269
232
249
171
277
195
183
170
245
244
196
184
185
173
220
193
291
152
230
198
173
251
199
185
291
121
233
154
229
224
166
274
237
271
240
268
178
208
191
267
263
241
192
267
303
264
130
234
270
256
240
259
194
277
197
238
196
200
224
174
152
179
199
220
254
192
236
184
292
265
191
228
114
273
161
203
206
207
152
288
208
146
210
181
213
228
254
274
176
202
289
126
188
227
230
322
272
211
240
241
192
252
203
238
250
322
295
180
200
297
238
247
235
195
282
206
225
239
220
218
235
186
206
311
252
262
205
245
225
309
257
259
175
238
188
201
170
279
262
346
267
237
274
201
229
251
203
180
238
254
221
223
152
234
168
184
245
175
258
248
178
226
238
199
272
295
227
341
198
201
278
362
206
265
129
212
198
264
177
212
291
147
297
272
255
243
225
259
193
179
198
235
178
214
203
222
238
232
240
233
270
265
265
196
263
232
263
257
209
199
326
255
165
243
198
207
237
160
221
194
236
234
182
268
169
208
202
114
251
231
235
327
292
227
304
207
222
252
114
287
175
206
341
222
241
231
218
215
208
276
192
219
239
252
239
260
145
184
176
217
335
291
170
262
219
180
239
247
275
215
197
234
244
265
272
222
214
161
238
162
240
246
222
279
242
235
237
159
246
178
233
200
247
243
309
174
198
166
208
289
178
292
203
244
251
307
200
237
251
241
126
259
229
236
306
226
240
167
334
250
205
157
203
278
235
202
217
231
204
253
212
242
157
220
160
158
233
213
208
190
225
247
308
162
192
186
274
234
146
165
187
126
250
270
178
242
142
274
222
260
170
180
160
255
207
135
206
217
221
114
235
269
216
161
258
215
222
275
231
311
168
248
271
268
185
201
204
253
108
226
230
289
196
182
256
264
245
281
208
130
283
223
299
259
219
298
209
214
237
323
194
247
264
192
247
250
149
281
171
217
211
234
210
251
284
213
212
159
249
246
198
274
209
318
248
258
209
241
222
182
188
271
222
218
198
154
235
151
193
217
252
225
158
238
149
268
173
193
246
224
182
282
147
301
252
280
234
210
261
232
203
165
160
139
276
232
274
244
227
223
250
295
171
241
225
126
225
265
234
197
215
231
255
293
210
186
222
239
177
186
295
302
173
246
320
162
235
248
234
227
214
223
227
271
178
114
214
170
197
158
212
204
214
144
262
181
238
207
261
184
207
246
139
175
204
218
238
207
253
180
184
269
218
221
227
267
285
282
165
170
200
199
193
197
232
270
160
196
213
175
247
206
194
183
212
241
196
266
221
151
270
194
178
283
269
205
251
286
267
197
171
171
305
144
154
288
160
182
217
215
286
221
212
160
223
301
313
214
169
258
165
201
207
224
199
239
222
249
190
190
114
194
282
199
216
255
265
329
232
151
197
219
320
202
166
254
182
229
252
265
238
218
257
197
238
197
200
249
224
147
273
185
114
221
193
254
295
218
232
254
181
205
148
253
219
256
283
206
194
203
248
204
183
232
234
114
270
262
254
152
216
158
271
280
139
283
280
206
187
229
267
242
343
222
276
227
248
202
194
285
223
304
250
202
244
249
214
151
211
246
185
198
257
170
193
230
237
216
237
253
213
275
231
262
248
215
238
260
219
282
171
208
235
237
273
202
214
236
279
322
245
176
252
283
209
247
151
273
251
185
235
254
196
232
206
234
264
203
247
208
284
241
218
192
247
227
197
253
199
202
234
238
208
252
242
225
290
237
245
212
300
207
270
230
184
320
208
175
187
152
234
183
179
257
170
234
268
208
202
171
258
267
240
254
207
171
182
224
179
175
249
213
283
259
299
215
351
198
169
203
193
277
290
192
225
273
286
286
238
366
186
289
180
218
166
248
240
151
322
258
156
205
212
194
226
169
152
201
258
301
225
275
283
260
214
280
278
243
248
188
249
235
200
223
193
254
223
188
177
180
232
228
221
188
161
275
114
152
200
139
201
222
189
244
228
194
226
286
232
257
218
212
206
227
309
330
200
246
214
116
164
208
281
234
149
171
295
262
220
218
261
183
226
192
189
200
215
142
214
208
175
246
223
213
211
262
217
273
308
226
198
267
208
160
195
228
224
140
206
235
252
165
291
215
223
178
202
288
247
278
220
215
246
195
233
229
292
311
270
242
237
228
200
252
176
270
203
177
256
222
211
221
174
153
240
234
233
227
173
276
224
200
192
267
239
232
214
126
221
178
178
233
256
290
333
233
242
159
311
196
181
278
258
191
151
170
204
204
192
180
200
218
221
191
267
211
190
156
285
202
198
306
175
263
238
313
203
285
238
234
203
216
371
203
261
232
258
181
251
211
214
178
242
179
173
156
274
270
191
266
239
206
238
209
182
223
147
243
290
151
248
139
248
251
209
323
203
272
250
211
206
250
306
257
226
200
196
205
214
231
242
264
277
200
252
255
173
177
170
318
176
170
195
252
218
202
222
214
255
114
203
241
173
236
248
238
223
205
323
274
227
275
213
203
173
223
262
284
246
228
211
230
204
160
227
240
169
167
207
300
161
261
214
216
254
226
255
321
224
159
277
175
177
320
231
192
221
214
215
181
164
247
301
225
265
116
204
160
192
194
271
230
218
307
210
262
220
214
145
295
257
184
223
284
286
261
232
193
194
271
242
204
181
216
179
247
268
227
204
220
192
328
344
248
250
218
243
208
223
211
253
225
246
297
158
260
228
194
161
220
254
205
326
202
201
225
237
219
248
233
160
260
152
233
114
182
161
208
114
251
270
305
292
188
204
204
235
207
144
290
189
258
251
271
238
202
262
201
186
178
203
208
318
247
247
300
182
258
265
181
189
252
238
226
161
196
139
180
130
306
267
253
228
203
227
228
236
185
216
258
270
247
250
129
204
203
209
195
244
263
307
194
277
192
250
207
251
203
230
229
188
278
147
227
184
312
257
246
192
214
237
200
191
199
284
203
303
130
231
230
265
185
240
180
223
156
267
177
239
188
258
235
187
170
188
180
239
219
241
194
224
301
212
162
222
207
199
272
177
226
250
149
208
220
178
238
205
198
249
184
238
228
292
214
283
218
169
207
174
231
174
218
236
153
202
284
217
186
166
186
273
247
283
261
232
196
201
191
221
222
191
230
174
264
203
212
304
200
242
238
219
186
151
226
210
217
180
280
174
190
247
173
189
187
249
244
195
241
327
221
282
262
298
277
202
204
190
238
194
263
275
222
266
287
214
263
290
203
203
271
256
236
254
185
204
187
222
251
207
242
246
213
227
219
196
180
183
193
241
192
139
204
262
235
178
190
240
216
173
203
224
197
292
229
255
224
258
254
172
251
207
217
239
258
248
261
248
180
299
254
139
273
330
234
222
261
206
249
221
202
162
221
233
201
313
222
229
318
162
180
171
289
204
261
176
226
190
282
254
230
173
256
220
210
176
295
199
242
161
247
257
248
253
183
162
204
235
178
376
227
244
275
219
201
307
241
223
245
220
247
289
267
156
261
233
187
270
328
283
266
195
208
191
230
219
116
214
155
291
227
240
323
185
189
233
187
198
159
213
292
246
214
193
151
312
114
298
235
237
237
193
279
258
160
297
248
284
237
170
241
199
218
222
255
191
114
198
189
284
195
225
194
290
287
211
173
293
242
193
287
161
250
275
209
184
179
220
213
263
244
249
225
356
233
156
173
295
296
260
139
186
220
213
190
221
270
249
194
192
212
290
220
106
167
257
241
210
253
114
252
302
204
221
279
145
192
252
139
181
212
261
235
224
200
268
160
249
197
174
242
186
212
189
162
269
121
218
205
237
250
245
271
220
224
182
156
267
237
257
181
146
221
267
162
149
198
274
195
211
218
221
204
237
161
184
271
253
274
152
201
160
244
214
270
217
205
297
219
242
238
205
195
248
228
257
251
222
327
282
200
190
220
254
199
239
248
236
198
177
114
213
264
158
243
160
220
160
260
203
276
206
191
266
254
248
300
222
222
227
260
252
251
207
114
258
200
255
290
351
268
268
156
200
175
239
309
247
223
146
203
200
253
257
279
215
264
234
193
152
139
253
151
234
180
232
165
215
221
190
241
213
290
207
227
161
206
189
241
114
231
181
193
301
173
267
199
280
161
201
264
253
204
169
250
205
211
237
300
222
139
247
219
238
180
178
220
279
274
279
232
217
247
285
191
201
222
244
146
212
191
204
191
260
179
184
297
228
161
252
213
209
232
180
208
170
149
220
198
194
221
197
183
213
173
231
234
323
219
219
192
204
194
218
284
224
171
242
168
274
176
133
305
238
266
260
207
243
209
174
206
225
272
181
334
170
292
147
234
235
233
248
294
307
210
122
165
240
200
278
214
207
258
144
277
262
224
301
274
213
192
199
249
253
275
261
265
243
189
214
177
189
270
303
210
181
192
260
297
255
255
252
252
170
214
165
212
279
121
209
304
361
214
180
297
214
182
225
195
151
149
213
194
230
114
149
188
228
224
266
223
156
236
206
268
152
257
250
291
207
170
265
301
206
240
186
114
286
321
241
231
246
203
169
222
212
248
247
185
239
218
174
179
234
324
227
275
201
294
246
114
198
221
226
157
320
213
174
324
219
210
249
279
214
192
158
282
247
285
244
232
309
286
275
273
259
151
152
239
144
196
204
204
186
174
204
178
265
162
229
233
256
181
210
260
311
282
161
256
247
270
114
249
288
267
231
240
244
220
192
238
256
154
208
114
263
222
234
227
187
238
222
297
216
144
171
277
197
208
276
270
253
255
264
234
226
267
152
254
166
194
211
242
182
255
184
157
351
170
282
230
283
209
241
145
190
200
214
232
284
250
203
190
225
203
243
276
291
174
152
158
251
210
237
200
209
253
139
260
237
250
184
200
174
282
248
157
240
181
175
253
234
226
260
319
168
221
247
237
193
222
209
215
174
220
267
253
246
182
200
202
232
231
240
241
270
255
160
239
251
154
200
236
156
213
267
221
266
175
249
179
219
165
188
165
195
175
270
206
114
191
213
229
281
165
309
298
248
272
146
192
154
219
237
267
258
197
271
222
188
202
196
252
300
207
261
210
265
195
191
218
215
114
164
185
202
227
309
221
126
228
191
301
259
233
248
242
152
249
249
248
251
227
280
266
228
252
195
241
253
224
237
277
277
229
200
213
185
224
207
343
270
246
237
172
186
211
236
233
269
192
161
269
182
211
182
192
250
271
192
218
243
308
204
215
254
262
208
353
271
239
156
173
235
177
151
327
215
134
260
245
233
242
273
198
192
175
121
114
202
225
252
230
275
247
235
206
299
272
235
270
202
181
243
210
303
158
200
195
281
145
116
303
324
237
285
160
208
198
191
218
184
265
160
217
265
242
278
180
139
225
229
303
241
177
275
223
286
213
266
259
289
226
203
185
263
231
168
237
198
250
271
235
225
297
218
207
237
304
209
158
271
239
216
196
198
192
213
278
154
268
235
156
181
228
224
229
177
255
156
190
208
193
235
256
233
253
163
244
162
283
230
258
250
232
143
209
203
215
219
180
253
248
192
216
151
305
209
246
239
231
198
232
211
287
276
272
233
253
156
232
244
144
278
168
227
137
213
269
184
174
236
243
114
235
279
350
238
272
241
185
202
242
308
182
195
234
309
174
166
237
219
250
190
332
317
202
248
188
270
229
237
188
221
240
196
265
203
159
198
181
182
234
204
209
222
273
220
255
196
258
156
197
145
258
255
209
198
285
219
214
236
224
220
231
151
266
229
230
240
184
217
220
238
199
139
253
260
301
237
263
288
261
207
275
161
231
202
224
251
252
314
218
218
202
231
228
207
183
114
200
247
209
236
276
238
206
241
186
260
224
251
267
182
324
178
168
234
237
231
213
231
267
191
254
311
255
246
245
208
213
262
232
178
334
296
272
195
256
178
267
317
288
247
284
228
221
214
181
262
199
305
309
269
201
157
256
271
232
217
286
188
250
180
276
249
196
221
268
229
277
227
181
231
233
178
190
232
245
158
196
129
250
261
233
168
213
295
147
310
204
282
162
245
220
210
224
252
197
197
292
240
231
225
189
203
257
245
249
229
157
267
276
272
224
320
220
237
206
194
228
268
261
263
258
205
191
230
188
215
126
220
256
230
230
231
186
245
174
208
207
188
254
166
225
225
196
226
243
230
228
252
214
198
224
225
238
218
243
230
241
126
192
193
165
222
164
205
171
229
213
220
206
211
231
204
155
290
170
198
251
295
203
232
229
179
335
255
225
236
238
169
168
241
168
257
275
267
212
245
299
247
200
192
240
222
259
231
208
244
160
235
200
180
207
276
229
244
213
261
192
263
167
255
215
179
174
263
237
184
224
413
244
217
218
193
255
214
273
262
229
255
178
230
236
230
203
211
234
302
205
202
231
245
224
254
209
156
166
248
314
248
202
278
225
277
233
318
178
217
246
151
220
248
205
290
207
161
212
221
243
235
228
300
267
157
222
235
201
250
253
237
152
254
239
174
146
228
147
240
225
156
160
205
249
270
299
166
208
251
257
170
145
209
226
244
230
236
249
257
165
259
189
225
157
154
285
155
286
242
173
229
227
186
258
250
160
301
166
241
197
254
210
247
180
274
212
249
241
237
214
187
276
307
191
229
238
207
185
114
175
242
231
286
146
178
288
206
272
271
203
290
156
203
184
186
180
241
224
297
367
114
203
183
191
184
149
276
229
237
206
253
212
196
267
226
139
227
265
228
181
237
215
152
219
198
181
257
177
232
191
180
225
226
268
276
228
213
227
263
233
162
252
174
233
224
188
205
175
237
196
180
160
244
177
206
223
222
241
251
301
254
252
230
309
251
230
228
187
223
203
215
221
213
258
160
239
257
219
215
254
268
225
272
194
230
126
244
139
232
199
208
126
229
320
151
201
242
273
173
205
197
286
210
356
310
226
299
217
192
166
208
180
267
173
169
202
307
198
235
214
257
223
213
222
160
222
232
247
211
200
235
290
235
199
277
231
151
189
153
191
232
259
220
254
229
237
200
222
198
230
126
231
211
232
204
211
244
220
210
195
160
197
210
267
217
242
247
256
184
255
238
283
247
286
236
215
259
239
165
260
139
245
210
234
247
248
202
155
205
251
241
179
216
235
278
181
304
277
211
223
211
160
305
264
308
216
223
226
200
176
307
202
308
198
174
272
226
265
188
193
214
291
179
147
203
335
160
228
217
268
295
208
214
220
204
248
220
231
181
174
277
230
192
280
275
230
215
222
291
166
175
116
255
173
221
211
239
266
179
240
217
193
243
239
175
223
161
224
240
294
228
255
230
190
213
286
251
168
221
253
241
187
251
261
276
204
159
313
248
164
191
159
213
171
217
246
214
171
284
254
270
114
229
237
194
230
190
279
229
308
181
226
198
251
288
232
328
196
228
226
213
226
178
226
222
301
221
287
218
284
218
209
262
230
226
194
233
213
240
184
236
227
349
156
226
174
134
218
175
253
245
174
222
237
203
279
316
287
277
231
216
242
287
249
114
334
198
207
236
211
192
237
194
210
225
230
202
203
229
193
184
303
234
226
197
281
219
254
253
210
188
225
206
174
206
208
169
234
211
216
156
252
216
261
205
173
232
281
212
201
249
253
216
211
328
204
252
196
166
205
247
186
247
203
225
148
303
208
245
165
224
208
233
181
318
198
270
192
219
246
154
260
258
267
275
198
192
247
283
228
282
196
229
207
217
264
309
225
190
261
238
252
224
213
257
169
287
185
240
106
303
160
159
146
139
268
290
276
253
206
226
207
257
211
285
255
192
216
175
316
204
262
217
266
221
221
276
188
209
205
289
227
169
209
180
257
268
211
334
264
250
196
235
232
212
207
217
285
215
155
216
161
211
239
204
147
126
165
175
160
297
156
253
180
214
219
251
270
211
288
240
231
231
289
231
203
244
275
259
247
175
220
191
320
251
176
180
145
256
201
268
187
191
206
179
207
235
248
200
206
257
216
246
134
254
240
221
238
177
294
201
229
234
220
293
242
256
256
266
152
187
189
170
349
162
243
232
262
202
242
233
206
152
231
203
302
160
135
206
321
278
290
184
214
247
338
252
145
215
193
258
276
261
114
215
268
174
308
230
126
108
212
245
260
151
266
214
251
258
314
160
271
245
252
219
221
161
237
253
252
260
220
173
251
298
222
217
179
189
201
152
225
170
218
192
228
247
240
265
272
247
252
172
245
273
225
232
295
146
172
260
286
202
198
218
176
203
182
226
241
181
130
185
213
318
164
196
201
314
114
226
196
180
309
186
250
174
205
229
204
195
209
263
224
337
230
243
139
246
160
207
170
249
166
193
129
233
198
274
215
225
221
235
236
199
209
178
235
285
165
157
181
294
240
198
200
246
194
287
296
292
243
249
209
233
180
210
262
194
255
152
275
157
257
287
249
223
223
175
281
223
154
231
240
202
262
207
250
231
251
260
257
242
114
238
227
226
190
114
243
273
221
222
262
174
262
187
233
232
184
212
240
277
216
289
268
232
335
219
274
139
237
236
178
290
231
225
221
114
214
328
198
226
181
248
236
228
266
192
237
253
223
190
198
218
257
231
273
220
233
233
247
202
186
296
311
267
229
213
215
278
245
232
192
246
226
164
207
116
185
214
229
283
175
232
192
213
238
198
198
247
213
197
168
281
197
219
184
195
200
233
209
129
167
261
244
214
207
200
229
185
260
190
156
174
213
209
149
239
187
292
223
244
234
216
217
251
210
232
239
214
215
176
207
300
223
273
288
298
198
229
225
230
221
230
208
261
149
249
217
261
308
171
241
280
280
157
277
167
229
202
195
217
136
243
219
150
254
193
210
309
242
239
149
309
220
311
181
189
262
325
114
195
195
276
213
189
170
158
209
310
208
234
274
278
266
183
196
194
287
218
245
206
198
247
178
280
167
254
293
248
279
114
203
213
207
193
185
208
269
226
121
171
191
219
271
233
224
218
263
260
233
174
298
227
268
222
205
178
228
194
285
233
263
108
145
253
339
209
234
216
257
167
315
216
242
273
238
197
205
248
201
249
192
219
201
259
219
268
262
121
193
229
171
247
238
223
300
154
280
270
244
299
232
216
196
174
234
260
308
285
154
219
193
267
242
262
244
250
248
177
183
206
228
243
311
274
283
203
234
197
203
220
181
191
183
190
235
297
166
209
188
186
256
165
151
229
263
244
300
234
231
223
173
268
242
257
362
262
197
244
185
196
192
229
224
250
183
223
271
335
260
220
206
200
242
220
241
280
198
285
183
225
251
274
146
225
296
285
282
302
289
214
206
218
191
197
258
296
244
216
267
171
243
206
193
223
280
206
225
250
239
262
297
242
203
249
223
187
178
161
205
203
253
274
300
218
238
253
148
206
174
217
274
213
298
166
172
179
207
207
177
200
201
238
249
166
213
308
257
225
243
263
239
202
181
205
207
202
301
257
242
186
221
152
154
257
188
310
203
243
155
184
276
238
237
197
207
186
192
169
256
201
214
292
190
193
304
170
177
242
222
179
368
258
242
225
198
207
275
194
315
156
271
233
203
229
293
183
245
246
253
152
280
272
246
238
158
273
185
218
238
196
211
270
272
237
211
148
270
173
214
235
307
241
170
268
266
188
240
183
228
181
209
184
264
233
178
211
266
201
231
218
246
291
133
222
210
263
227
167
194
306
196
185
202
197
266
250
241
205
220
188
233
114
246
283
231
225
259
212
225
351
232
153
271
199
202
236
252
197
258
259
177
224
224
179
206
229
303
190
214
292
237
281
292
298
209
267
162
252
191
209
154
256
225
253
245
235
270
181
247
230
214
214
276
185
226
251
296
240
207
204
276
230
277
225
346
164
183
239
263
256
264
198
200
259
218
211
205
168
192
207
239
266
166
322
233
238
285
139
174
229
279
193
243
207
231
253
219
311
196
190
212
114
181
211
243
224
189
199
264
132
352
181
188
239
224
288
229
146
234
234
160
209
216
211
167
227
226
158
152
296
308
183
192
282
144
158
190
211
285
225
203
232
230
212
240
184
283
158
239
201
173
256
223
190
192
260
162
221
198
218
184
299
218
195
324
227
233
342
239
200
194
219
257
211
257
254
255
220
239
268
194
220
175
267
221
235
198
220
201
158
241
331
221
319
233
185
270
296
227
222
207
168
152
282
147
258
281
294
291
185
253
228
304
212
193
231
217
249
207
228
262
192
273
188
195
312
231
218
327
205
217
245
229
272
218
217
180
238
195
231
205
192
267
265
179
178
234
182
229
198
215
212
146
147
141
156
154
319
224
241
211
219
196
206
228
182
259
297
252
205
196
179
186
264
181
252
296
165
305
251
250
293
198
173
212
203
202
263
229
225
180
233
245
236
274
238
193
244
244
216
278
208
222
233
251
189
298
195
188
184
289
158
195
238
208
221
228
152
257
218
216
238
239
241
186
232
116
239
253
169
217
204
228
116
299
243
254
126
267
257
114
155
217
237
160
202
170
305
216
344
229
186
166
252
273
242
241
250
238
225
156
259
259
211
231
176
221
152
263
341
191
221
238
158
234
226
158
246
205
217
221
207
278
251
191
258
228
295
313
148
177
263
152
187
260
228
251
257
173
220
243
333
187
241
198
165
170
201
265
180
180
212
170
239
170
231
327
296
151
205
244
208
242
248
116
206
181
170
215
209
191
231
191
154
182
214
255
225
152
174
214
203
203
262
250
261
218
291
210
174
247
207
158
211
279
257
232
225
152
246
247
277
214
284
180
173
260
232
288
185
213
218
252
210
190
261
269
219
211
114
248
188
252
156
219
158
228
222
212
126
235
139
220
249
205
151
184
201
229
225
180
213
201
192
182
195
243
187
206
239
205
236
181
253
219
194
228
212
201
248
233
233
196
281
211
222
191
156
244
241
229
270
160
265
272
219
212
275
212
217
243
238
183
253
181
189
274
252
291
224
260
251
260
212
238
305
190
280
276
181
264
267
141
177
164
184
208
161
222
222
256
139
257
240
243
271
165
193
222
198
161
163
208
261
258
178
227
254
252
218
172
188
256
231
219
234
336
297
220
278
172
224
233
240
218
277
203
205
198
256
238
307
228
229
257
241
204
170
280
226
217
260
207
243
270
225
259
270
174
261
222
173
209
250
187
214
114
208
280
170
247
236
172
192
244
194
219
224
213
259
181
269
249
221
173
240
277
233
237
212
216
305
338
215
255
235
248
269
185
217
170
139
240
220
173
214
247
271
145
191
152
274
208
190
333
208
280
247
223
164
230
288
258
219
235
229
217
158
266
264
205
266
114
178
284
288
190
191
169
266
152
160
211
293
270
233
223
178
223
219
227
261
281
161
272
271
265
297
298
244
175
252
257
229
157
242
194
140
168
296
233
272
228
263
310
262
275
220
219
214
174
300
198
219
200
191
216
168
294
336
308
267
233
205
157
225
211
264
235
188
159
234
151
220
217
312
264
200
166
264
220
314
235
291
282
218
192
214
126
347
202
176
253
219
251
197
325
286
312
169
253
286
292
315
284
241
245
160
238
224
185
152
220
192
148
302
237
167
240
208
308
213
226
238
277
191
256
214
209
305
129
191
235
248
252
231
204
200
140
240
209
243
229
294
263
225
192
255
225
264
277
201
191
212
258
296
174
233
156
164
286
204
175
229
290
229
239
177
256
174
241
203
232
275
198
187
248
214
190
199
322
206
221
164
234
226
228
229
214
161
258
244
212
370
157
228
237
162
200
177
214
254
225
231
263
245
178
236
235
214
208
266
215
308
228
279
223
197
304
238
210
202
230
243
161
204
191
256
251
201
154
260
152
171
189
268
250
302
253
186
108
210
218
253
229
184
207
176
178
310
212
236
213
288
222
160
266
200
229
228
209
306
227
194
242
229
154
253
235
218
237
223
280
277
280
151
278
216
228
206
184
249
175
235
153
184
152
241
151
252
242
240
307
208
248
234
184
182
197
267
286
178
218
160
287
198
173
290
302
245
261
195
224
130
219
139
152
192
196
240
309
223
145
184
114
234
178
203
270
265
256
215
168
329
269
219
327
214
196
245
231
213
287
156
218
188
198
235
145
218
160
286
226
319
221
189
266
266
254
265
152
214
230
244
249
219
246
207
156
166
245
221
237
173
239
296
114
308
204
200
298
231
186
245
269
271
200
227
228
224
222
189
309
177
175
201
173
271
232
257
233
258
247
134
207
173
174
148
239
292
256
284
248
271
231
271
265
255
203
194
170
237
291
183
250
268
225
221
294
213
203
280
294
176
280
250
267
264
274
183
251
207
229
211
232
265
263
168
243
270
293
348
196
195
180
260
229
258
181
234
206
214
267
325
255
252
248
203
191
209
216
197
181
298
245
114
158
270
214
254
191
237
292
238
233
233
165
198
156
176
256
263
246
201
218
213
215
288
255
274
214
232
262
251
200
198
193
234
213
231
176
121
218
189
255
221
212
185
170
165
297
208
265
193
254
236
188
226
243
344
197
237
241
198
173
256
311
186
278
181
191
306
207
194
226
224
200
217
200
200
238
285
259
213
247
214
215
212
234
173
246
206
233
299
181
247
219
238
210
202
247
165
229
175
240
164
199
184
219
270
270
294
234
160
236
277
239
246
290
154
139
232
223
133
260
247
298
256
241
178
188
278
238
267
211
224
211
279
260
209
130
249
215
204
198
264
268
246
214
259
211
236
235
160
258
285
249
211
275
204
173
257
184
243
154
249
277
164
276
270
202
184
202
194
263
234
201
196
222
211
247
210
234
242
157
201
263
225
288
242
317
196
259
146
273
207
217
208
211
222
238
198
232
259
277
222
250
271
239
219
225
303
247
189
242
217
205
273
285
156
213
243
234
154
241
261
245
286
206
158
202
158
195
236
248
279
151
244
216
258
191
160
211
271
285
167
233
183
305
207
260
200
275
227
274
332
215
232
288
189
235
330
255
278
226
218
201
241
192
213
193
228
247
244
169
281
238
308
189
229
227
196
220
280
231
234
192
203
195
235
264
233
257
175
252
133
238
275
309
195
170
181
195
139
275
217
267
236
164
232
265
214
191
188
129
261
206
234
238
228
220
299
214
202
239
186
262
277
198
231
255
173
187
162
174
158
228
232
234
232
224
233
181
271
255
260
256
297
279
173
235
247
202
215
195
205
114
252
183
243
223
237
245
191
195
193
230
260
281
198
195
189
226
258
255
176
283
223
198
288
152
209
202
185
234
226
214
173
267
241
258
286
196
237
333
215
214
173
199
259
236
229
162
203
252
225
276
267
250
237
198
207
238
279
213
164
200
233
214
226
244
216
284
235
177
273
261
264
236
222
326
234
270
159
294
133
192
259
255
146
244
128
212
227
258
245
229
213
266
194
261
172
237
254
212
284
244
232
271
155
264
209
196
216
259
206
264
151
287
157
251
243
254
246
238
311
240
209
268
271
211
213
149
194
114
209
245
189
228
244
139
226
271
207
296
228
273
218
252
114
197
222
334
312
237
277
198
182
227
214
255
287
254
225
201
278
263
158
155
229
290
266
213
258
235
259
228
264
122
243
194
259
130
174
222
269
187
215
166
236
251
181
252
209
191
201
198
156
231
216
240
231
244
263
234
220
217
224
258
154
226
114
160
312
235
206
224
209
296
175
227
255
227
254
195
201
241
332
257
281
285
279
208
199
269
219
240
288
281
202
218
222
255
185
166
215
242
223
248
191
284
154
260
205
284
214
199
313
241
207
284
221
175
250
146
180
245
183
257
173
273
254
250
287
224
173
237
175
242
235
182
213
256
181
179
251
152
178
212
275
239
188
255
226
270
205
262
195
108
199
180
192
240
240
223
329
186
198
190
227
224
146
252
213
262
213
210
279
349
231
249
253
144
170
269
213
235
210
262
265
235
246
162
205
268
200
198
265
180
205
192
149
218
278
158
224
160
184
247
205
244
205
214
300
247
170
187
147
256
242
280
227
204
239
279
220
264
257
281
222
202
175
276
236
252
194
181
258
205
298
217
139
256
234
192
229
197
210
239
200
226
263
272
253
245
158
230
198
251
219
299
246
259
191
251
254
244
277
246
248
228
248
164
211
266
178
255
174
152
268
209
225
299
189
260
203
145
189
218
240
187
212
313
245
234
242
241
204
232
224
299
284
249
196
296
130
190
229
184
176
205
261
301
224
278
238
170
237
199
170
255
212
261
236
220
217
239
209
252
200
275
240
231
192
188
226
208
145
182
281
285
210
232
226
222
228
208
243
218
225
264
296
208
247
161
237
212
208
242
267
233
243
126
198
193
240
194
136
251
121
286
219
318
267
230
232
205
277
206
156
358
252
293
308
146
217
265
188
209
185
250
272
165
250
182
173
198
267
275
256
231
260
242
266
217
283
279
231
200
167
241
233
116
289
278
247
290
231
181
208
241
206
161
228
262
287
219
215
248
243
217
256
216
108
147
152
264
236
253
231
229
213
196
284
215
176
269
271
186
259
197
307
212
299
237
290
197
243
225
173
203
179
232
218
239
189
235
249
153
208
242
283
305
160
194
263
260
170
286
261
270
165
221
249
259
165
178
267
302
236
226
329
197
230
219
211
280
240
210
269
160
270
244
244
139
225
279
211
261
269
179
233
177
181
234
145
252
178
228
163
250
212
249
161
261
262
198
252
245
290
320
178
173
199
276
264
185
166
288
318
171
238
216
273
185
264
209
185
200
224
214
337
210
161
250
251
251
249
219
305
240
179
259
156
266
247
181
232
311
273
280
306
224
162
198
284
189
184
184
219
177
193
262
177
253
139
289
204
204
220
309
227
220
151
244
249
315
240
205
219
197
145
230
235
209
191
225
194
184
168
226
242
160
285
225
208
215
173
229
226
233
215
255
266
168
228
252
162
180
216
192
169
192
177
309
251
278
338
207
195
194
289
282
189
230
151
206
181
224
262
195
350
243
185
277
192
231
261
240
250
242
220
247
250
193
220
173
213
170
223
243
160
203
256
272
223
234
263
219
276
278
200
351
217
200
198
276
190
157
229
264
114
233
217
245
186
198
284
192
259
270
208
190
180
174
258
291
126
285
193
249
212
206
235
226
282
170
218
206
203
165
160
252
197
163
253
192
240
203
229
114
231
240
244
209
159
162
278
253
245
256
253
173
249
278
265
204
216
233
326
175
186
300
218
175
208
165
276
239
221
274
268
205
257
179
193
279
336
221
225
171
341
210
208
178
284
237
203
234
290
259
218
173
156
230
261
240
179
352
217
161
297
272
207
251
245
144
235
200
229
162
195
337
233
257
209
222
196
271
175
198
259
222
266
254
205
194
211
194
225
166
215
168
210
222
246
229
196
226
244
197
288
225
153
217
151
199
202
206
249
186
230
238
225
211
202
160
267
272
269
274
198
233
233
234
273
253
235
228
275
241
186
299
179
178
187
233
195
181
198
177
195
309
249
114
195
203
261
174
170
193
258
233
183
211
240
179
238
210
234
149
196
227
232
247
191
200
220
134
171
223
240
224
204
288
355
191
258
243
162
193
195
209
226
229
240
192
235
233
186
267
242
235
262
245
246
264
244
202
238
212
252
347
201
191
288
194
230
183
209
291
165
240
261
199
206
220
257
230
182
232
168
255
231
254
258
156
162
206
217
270
156
175
207
190
114
261
195
161
254
242
245
199
167
237
220
244
232
196
234
239
182
162
225
203
229
228
265
219
229
250
243
221
158
208
234
146
214
152
178
170
186
176
202
268
205
195
282
244
203
239
223
249
158
185
332
209
205
177
175
137
222
213
185
255
221
246
207
219
206
234
175
184
250
208
219
243
215
162
189
226
195
290
285
256
234
284
175
168
215
251
177
219
258
214
301
243
309
197
221
176
242
221
253
188
315
250
214
139
248
249
233
192
295
209
202
263
316
152
154
262
254
276
263
223
182
245
257
272
198
180
216
203
190
225
220
162
278
172
235
306
270
198
175
192
187
186
145
287
172
191
212
238
245
198
222
217
217
234
229
216
229
226
276
237
195
203
195
185
145
210
206
281
155
227
198
213
182
250
234
209
262
162
236
184
148
228
247
227
195
218
108
175
234
234
245
216
190
284
264
182
279
228
283
161
251
188
300
208
242
180
164
259
238
319
228
217
319
227
199
278
249
295
255
236
243
208
261
185
258
148
183
241
332
218
294
200
249
296
219
230
250
281
195
148
214
204
202
272
209
285
222
213
335
265
176
226
264
289
201
196
252
193
198
203
206
275
200
258
273
258
210
168
226
208
188
201
168
173
254
224
246
181
162
301
209
232
210
183
301
225
280
249
219
146
144
335
218
295
180
170
184
244
216
261
194
249
220
147
222
204
188
251
238
351
327
271
250
255
175
191
242
168
240
258
230
213
251
193
215
213
217
166
233
114
238
201
243
221
244
208
198
243
272
203
181
259
228
238
298
217
253
218
133
207
306
174
178
289
215
225
270
240
254
200
268
192
257
224
207
178
225
243
169
273
286
164
191
219
277
193
289
235
230
205
230
217
228
279
221
169
237
180
194
172
242
296
281
262
247
170
290
255
281
191
244
282
197
144
260
186
318
203
218
178
211
268
265
252
273
243
178
259
263
206
265
198
301
250
299
234
169
234
176
233
193
254
301
272
219
154
173
210
156
269
208
126
114
245
208
207
192
246
309
311
258
192
241
182
209
283
207
221
257
224
208
247
226
225
191
200
253
260
163
231
239
266
256
219
317
292
250
205
227
177
189
206
187
225
262
221
247
216
253
212
233
264
246
230
206
288
193
212
292
247
228
180
237
181
145
217
183
267
229
226
224
256
210
277
254
213
243
232
222
244
236
158
114
188
234
232
189
192
194
205
206
243
200
189
269
178
199
175
225
270
242
173
203
126
265
190
180
228
246
169
249
176
160
170
241
161
260
116
126
197
195
191
216
248
233
210
225
282
181
149
220
267
210
225
207
206
227
181
192
158
184
248
266
240
270
227
230
254
199
263
222
295
208
159
198
203
230
180
157
238
200
279
201
261
263
157
207
182
269
212
306
252
184
305
177
285
259
247
230
214
210
252
176
277
178
222
284
223
234
303
208
231
274
212
225
208
249
249
201
269
207
230
272
167
264
177
274
286
199
240
229
287
284
170
235
208
256
295
172
209
181
319
170
193
281
211
239
276
145
219
175
184
244
195
298
209
223
152
169
202
229
205
272
226
203
201
238
175
242
242
149
187
245
154
257
290
258
187
258
219
219
216
239
211
220
198
180
230
181
199
273
178
212
207
194
320
219
220
114
295
227
218
198
255
196
308
235
149
181
262
256
212
276
237
207
181
192
207
215
114
290
194
184
174
233
210
152
209
225
233
257
228
285
181
177
193
338
192
272
189
227
308
183
198
224
139
297
215
245
302
234
221
176
251
270
199
180
277
288
185
233
240
165
221
247
263
191
151
268
339
231
202
201
144
252
231
229
223
253
257
260
186
277
174
169
259
223
247
272
268
208
174
178
233
246
198
231
190
192
185
194
213
224
265
238
219
222
240
242
283
244
114
298
206
253
209
201
192
197
194
247
302
194
192
203
254
245
176
238
202
262
224
228
240
282
228
250
203
231
223
201
193
230
245
236
167
239
249
160
260
129
158
240
160
257
208
256
252
198
244
193
178
269
232
304
173
236
156
213
252
254
237
238
200
277
328
195
207
251
245
234
218
244
275
242
267
252
253
234
138
287
228
133
285
185
261
187
266
247
211
267
185
223
178
293
283
185
260
170
247
187
203
174
170
232
241
149
201
234
200
219
160
161
276
250
174
146
174
283
285
217
195
259
272
210
211
178
208
223
216
235
312
184
277
297
225
282
269
263
228
297
152
257
190
226
162
217
312
251
245
295
177
239
178
255
230
227
196
166
216
146
173
167
192
288
217
160
269
265
235
152
210
277
234
193
202
238
208
236
204
152
145
161
246
256
328
237
177
256
309
208
121
283
183
215
212
225
266
135
267
246
208
265
203
255
291
148
207
228
169
288
290
185
265
251
179
263
312
251
246
290
218
218
257
257
256
239
229
234
225
205
206
229
277
275
210
243
221
252
323
299
252
264
280
242
214
347
330
240
307
251
304
182
208
262
244
216
233
193
215
205
248
342
220
237
249
287
208
254
319
216
275
193
145
235
167
245
167
175
258
292
206
194
237
223
222
249
204
293
160
238
274
250
166
279
294
283
289
219
175
192
146
205
207
207
233
264
210
246
252
244
236
235
249
307
167
249
254
254
294
242
211
229
211
233
199
275
182
203
243
176
176
306
261
227
258
192
206
201
312
277
244
252
306
289
263
206
196
194
316
172
209
221
260
267
226
219
215
187
233
264
266
232
320
263
260
154
204
264
212
208
232
276
246
249
219
199
238
114
178
276
275
233
121
317
197
243
290
255
188
195
219
108
225
257
246
208
289
249
145
229
233
126
221
266
285
213
202
285
204
259
187
232
301
174
222
144
192
225
205
134
206
166
201
202
180
255
292
204
214
230
218
146
247
235
181
221
205
169
154
277
238
258
201
133
191
227
268
225
160
196
216
251
234
258
296
229
258
199
224
198
238
197
198
211
289
185
181
224
261
240
196
215
273
207
158
251
239
228
229
116
283
220
154
224
182
210
302
212
183
200
241
226
209
246
276
222
218
215
114
271
300
327
238
275
220
273
309
281
278
284
281
277
201
180
218
198
275
278
216
209
173
184
151
283
170
241
232
245
202
207
201
273
257
241
229
162
178
175
203
246
232
130
225
216
191
200
215
165
324
247
246
258
151
205
224
196
203
198
188
240
224
233
227
222
174
195
255
148
250
200
195
204
297
222
285
218
203
195
258
191
239
231
193
274
240
346
253
256
229
222
201
126
174
255
184
270
180
223
328
194
180
155
208
244
240
265
193
167
235
196
209
226
174
207
178
234
208
128
187
152
204
244
183
251
255
181
361
198
292
265
162
298
239
292
255
194
248
214
261
243
200
211
258
290
236
243
215
194
257
169
305
218
308
270
283
116
229
240
208
215
282
114
203
225
277
246
201
174
191
165
239
183
256
233
198
239
205
321
237
223
226
209
225
169
246
235
181
170
237
253
235
211
229
146
204
159
230
232
223
182
276
179
278
247
260
333
212
239
319
254
175
173
220
257
174
255
114
272
168
287
316
212
261
229
223
274
271
195
213
228
278
307
285
234
179
203
239
309
213
180
174
279
231
209
232
184
244
189
236
296
249
288
283
128
201
158
161
237
207
299
233
208
257
165
235
193
160
178
243
288
114
229
177
231
240
194
220
261
152
237
151
227
219
221
260
242
288
242
241
252
241
188
178
195
285
247
220
273
173
219
187
192
186
205
234
270
260
196
183
215
179
221
205
325
139
231
222
215
265
242
180
182
178
282
147
326
216
221
170
245
318
317
276
242
243
307
173
191
211
192
233
224
278
169
222
214
179
290
231
152
171
180
187
177
273
236
211
165
202
271
222
106
191
228
225
233
155
241
170
213
182
210
281
165
265
224
116
164
206
231
266
222
268
178
234
281
250
181
201
237
222
198
298
216
252
227
262
214
283
174
189
258
221
232
228
168
279
353
228
328
227
205
126
251
245
233
242
277
211
256
184
328
187
214
226
156
200
231
235
240
276
198
214
209
191
213
200
213
256
170
170
241
212
198
174
217
195
171
274
265
114
284
262
192
277
262
198
309
222
242
172
234
258
273
218
302
233
201
307
188
251
201
226
209
193
246
217
250
250
246
261
192
255
174
180
156
258
231
210
242
197
258
248
168
230
258
154
203
212
146
258
193
194
268
218
234
235
126
185
253
184
193
241
177
188
219
214
277
239
183
197
153
198
184
156
283
212
244
293
305
188
236
229
184
213
252
114
314
317
162
275
240
229
235
273
180
219
203
208
202
220
295
262
315
214
263
178
303
283
279
252
165
252
190
270
146
225
193
226
216
300
207
153
198
222
181
182
273
235
166
221
292
216
209
302
201
201
212
114
208
194
264
277
203
129
160
170
175
272
236
264
167
291
301
190
266
243
229
247
230
233
236
206
182
180
208
329
211
228
169
270
154
285
189
222
290
233
114
307
265
170
190
304
300
219
229
203
186
250
208
249
259
219
258
145
333
211
270
180
217
214
276
218
316
277
220
178
286
196
191
314
170
272
216
208
211
205
248
168
206
234
278
166
209
276
278
252
153
282
265
203
213
243
173
172
203
165
114
192
176
175
147
178
250
210
263
270
221
228
222
259
248
192
157
256
241
145
240
285
219
193
264
194
247
211
222
221
198
187
266
180
258
165
307
265
192
223
214
224
234
180
206
210
227
277
238
154
247
192
217
281
228
251
169
171
306
246
205
176
294
211
195
198
241
156
158
326
263
249
175
267
234
242
126
106
148
203
236
209
181
280
219
216
205
232
148
264
282
201
261
250
269
218
200
160
283
232
249
237
294
203
209
203
174
243
247
188
192
187
253
312
233
240
206
264
243
227
185
241
222
201
210
223
286
220
208
216
152
185
292
219
260
230
195
274
328
232
179
304
246
274
227
231
335
327
203
214
189
201
275
260
175
232
240
231
170
139
307
232
168
154
238
222
114
258
263
257
250
242
282
181
242
206
281
226
183
247
234
293
284
250
191
198
259
273
243
204
255
249
193
244
323
223
260
222
218
239
289
270
274
264
203
249
237
289
267
264
210
189
249
216
283
230
290
219
182
221
179
252
189
192
251
291
262
250
224
217
230
206
260
187
156
189
285
253
333
158
195
245
192
308
285
291
256
153
152
151
208
247
191
213
234
152
226
229
198
207
164
213
204
165
232
216
235
161
207
233
166
192
195
200
203
229
231
228
253
176
229
259
216
195
208
282
224
253
194
223
155
161
226
233
161
202
208
151
267
218
268
232
238
154
206
203
207
245
225
245
197
198
282
234
259
141
221
252
183
195
220
175
230
214
177
200
245
232
161
210
220
236
212
267
263
148
340
204
126
256
206
232
173
147
221
151
203
187
271
212
284
351
259
207
167
160
192
271
186
228
192
225
202
234
213
210
232
304
253
154
237
227
245
152
218
170
252
250
243
214
176
205
129
184
266
166
218
169
316
197
161
200
172
142
246
211
259
234
337
184
159
271
206
231
285
170
248
220
180
217
246
139
195
200
283
256
191
217
226
161
156
174
214
272
207
177
189
326
198
202
145
238
193
250
191
252
215
169
249
203
251
198
222
220
224
280
235
173
233
212
198
211
188
350
278
182
160
203
247
203
198
196
234
270
270
295
274
180
226
126
214
218
170
220
245
214
196
207
252
186
255
288
305
228
268
205
260
173
210
214
165
254
243
270
192
288
183
202
139
165
273
209
168
266
295
335
199
219
211
327
275
171
208
194
183
247
216
211
318
219
238
211
233
205
237
231
214
228
187
121
181
273
228
212
285
239
291
222
229
154
267
262
160
175
242
212
284
191
186
181
259
160
174
265
197
231
165
197
234
213
214
225
253
295
183
208
230
216
260
227
235
290
273
255
194
234
224
145
281
269
157
179
216
206
186
250
245
173
177
226
180
198
247
211
230
276
279
152
193
157
173
240
240
250
220
174
198
287
116
162
184
244
188
237
156
114
219
233
191
184
214
330
156
220
324
331
264
251
221
221
218
216
246
269
162
152
284
192
175
218
219
211
179
244
287
214
200
184
215
195
265
290
208
202
114
237
169
180
312
239
277
258
165
214
182
283
334
277
194
166
226
245
367
199
241
151
222
261
170
241
230
180
181
234
240
148
244
139
213
261
217
180
249
297
270
239
181
260
198
191
247
147
193
182
227
210
303
232
264
236
211
213
237
204
184
225
211
184
211
243
275
237
263
185
173
246
216
232
214
126
181
215
196
212
254
201
164
241
207
114
234
277
251
215
202
228
224
261
204
284
252
174
200
226
258
198
194
209
235
216
149
232
274
170
170
304
292
180
341
324
200
223
251
181
225
179
266
256
142
224
208
291
189
202
155
213
225
182
173
146
174
311
253
198
256
314
161
182
264
182
179
291
299
277
233
282
194
222
255
238
185
214
209
201
164
240
215
290
214
198
169
170
262
281
261
230
170
192
246
281
280
238
238
224
243
265
171
156
243
153
242
146
334
310
269
266
144
258
208
254
287
220
221
208
165
230
241
173
323
202
225
284
192
277
346
176
254
178
321
281
197
191
249
196
300
215
167
241
247
277
236
267
268
236
230
252
216
180
229
209
262
231
237
222
160
230
216
188
200
159
214
173
264
272
179
283
184
262
221
158
175
253
322
130
200
255
156
197
254
223
187
251
348
237
227
199
213
204
324
221
205
256
253
239
228
214
258
213
244
212
244
265
214
251
201
295
238
193
173
158
180
231
156
198
185
147
277
173
231
159
114
188
185
234
244
208
222
208
231
286
229
170
224
240
193
300
249
181
208
200
238
218
163
340
241
222
144
257
299
152
236
264
254
228
278
273
163
192
276
329
247
114
205
185
247
201
176
184
234
170
200
227
262
225
284
286
254
195
183
193
173
170
195
232
191
242
240
157
264
198
204
283
139
186
160
239
270
228
205
194
239
251
166
250
195
233
243
250
161
249
192
256
226
281
255
191
189
257
238
159
216
229
172
242
248
224
215
210
204
240
174
161
297
244
222
233
321
215
191
244
169
213
228
326
280
241
199
208
257
214
203
174
152
190
224
284
194
200
219
251
208
191
152
241
168
275
170
272
188
199
221
234
192
184
264
133
170
234
195
221
139
230
207
242
280
309
255
195
176
276
156
197
201
235
165
158
203
273
331
191
203
246
250
215
234
205
218
180
236
202
175
349
313
230
182
152
240
220
272
232
173
187
178
251
170
184
200
187
312
220
310
195
247
260
261
210
201
114
250
231
248
179
226
273
273
254
280
176
268
242
144
333
160
250
215
222
182
240
177
209
252
245
229
206
184
198
254
224
231
207
361
234
299
268
165
213
214
202
316
217
201
166
354
228
200
200
216
239
225
284
184
258
184
196
295
289
178
209
179
193
283
224
192
225
232
255
218
176
227
178
192
291
148
219
171
212
260
243
286
218
235
245
265
235
243
278
210
306
198
222
243
232
237
230
258
211
220
255
208
214
250
227
243
305
175
201
282
239
190
176
197
218
270
197
252
201
179
273
178
208
238
240
274
180
240
239
230
251
252
156
234
168
300
202
278
205
226
235
198
248
323
222
176
198
240
282
204
196
273
245
179
210
286
231
282
211
126
228
303
228
245
275
197
271
268
169
252
218
237
212
234
108
217
234
277
314
243
263
211
213
291
281
181
114
214
207
239
305
196
261
212
248
286
220
225
240
141
294
185
220
223
314
338
160
191
147
178
278
195
156
214
233
246
241
334
272
114
272
198
189
174
249
218
205
209
213
190
230
225
273
130
253
254
264
299
256
156
201
320
322
241
161
181
226
191
188
208
269
173
128
205
311
189
257
301
238
204
155
276
213
198
278
329
265
231
190
203
277
322
216
173
144
252
173
248
217
238
259
212
248
283
224
285
211
224
234
177
210
209
273
209
207
234
269
211
239
258
208
301
341
170
158
164
248
171
263
155
182
217
228
183
177
200
253
203
319
146
227
291
195
194
170
185
279
190
291
194
282
280
256
229
233
298
242
175
250
248
217
204
222
266
335
229
246
211
203
256
254
160
233
203
208
225
251
210
198
267
152
214
314
275
271
201
252
184
176
210
215
206
231
212
271
202
178
254
238
221
235
172
261
186
228
220
257
277
157
234
311
226
262
264
173
144
247
236
212
266
208
232
193
157
363
239
225
238
282
238
156
326
129
217
238
280
227
196
216
208
250
193
268
178
166
288
194
287
201
193
228
255
247
260
232
188
316
217
301
114
175
209
137
236
219
215
184
189
206
247
275
208
158
254
370
239
267
251
244
240
285
207
219
206
229
196
170
198
208
173
245
199
164
197
231
198
220
299
221
186
170
203
180
258
200
192
219
189
310
228
218
223
235
177
214
267
182
226
209
238
224
241
260
179
196
245
244
216
226
258
247
292
295
217
283
233
182
258
198
220
276
228
222
209
207
248
193
213
206
180
186
180
253
211
240
201
198
221
270
191
207
114
289
310
283
186
184
282
260
223
236
257
259
227
244
202
274
243
363
203
309
200
210
175
226
271
199
214
299
222
166
230
193
266
199
263
236
329
208
207
203
189
221
329
220
298
259
245
272
221
223
168
247
233
161
175
173
226
209
159
185
197
255
198
293
264
242
200
239
206
265
220
193
212
207
255
169
258
171
203
185
241
260
202
219
248
285
223
203
184
206
174
274
243
156
231
273
218
226
195
208
237
289
234
265
222
273
210
296
336
224
219
240
206
222
235
274
180
261
212
260
197
195
249
207
137
152
223
267
224
203
334
160
169
243
252
210
182
189
211
261
225
253
282
173
174
170
234
158
201
195
195
203
220
231
214
220
251
191
238
249
126
286
218
241
195
232
218
286
209
176
217
234
290
191
254
261
280
256
245
171
222
261
168
326
241
250
189
203
223
197
304
191
211
299
204
265
257
189
251
256
225
217
317
177
239
214
227
233
221
223
212
248
176
181
221
177
217
266
225
208
307
243
263
178
296
180
236
247
211
204
306
219
141
337
309
267
318
173
114
311
206
214
256
274
276
238
232
193
192
263
238
367
247
211
254
220
186
284
235
231
223
114
152
240
265
206
181
166
261
191
126
313
285
197
208
148
244
238
158
190
174
248
245
233
226
230
254
269
274
244
173
219
160
293
193
191
246
271
259
180
165
196
239
212
260
186
192
203
238
282
240
270
183
269
250
216
160
236
178
170
197
281
214
303
114
251
225
202
310
169
226
206
189
214
216
146
275
211
195
157
243
179
159
222
242
229
228
321
267
244
239
226
222
252
281
313
208
182
214
240
221
121
279
238
266
269
263
224
249
207
268
205
292
243
208
210
265
266
173
252
154
244
250
261
187
184
190
247
200
186
206
294
169
199
258
246
196
177
310
203
170
213
227
151
232
198
144
192
277
219
225
181
259
247
204
281
296
282
217
207
270
167
280
217
335
216
198
239
215
202
250
219
259
220
203
215
164
179
311
220
286
261
320
315
214
200
139
342
189
219
234
241
248
218
172
266
156
244
316
261
245
220
193
197
192
226
220
257
114
197
207
263
213
301
231
277
181
258
272
234
281
276
215
251
244
253
151
186
121
245
121
174
230
220
225
259
159
253
308
253
152
214
283
233
232
191
146
238
280
176
161
259
277
167
209
228
198
349
266
205
229
139
328
287
209
170
265
169
198
267
299
304
258
164
243
193
252
286
308
276
188
229
232
198
251
194
324
237
204
253
325
227
275
272
231
226
284
253
222
233
238
255
296
197
213
301
307
222
289
174
182
170
232
240
213
161
263
317
182
195
298
246
159
358
183
202
214
246
188
238
266
205
233
214
250
260
167
154
247
172
212
214
227
225
220
263
153
231
237
215
239
228
168
247
225
226
294
199
283
195
212
227
195
188
197
238
232
139
215
222
231
297
274
208
175
222
182
130
314
191
240
238
225
229
255
233
202
253
179
244
227
139
182
298
181
287
296
245
263
185
178
198
129
283
249
274
171
202
228
256
277
262
203
233
189
191
187
213
270
232
172
271
234
154
247
203
128
194
153
266
225
220
273
157
269
157
260
219
193
231
248
259
183
234
210
228
232
377
230
267
269
185
197
157
252
255
270
194
163
288
158
209
175
178
240
177
190
255
228
271
192
208
227
181
239
170
173
203
251
247
231
177
277
224
199
199
206
230
316
207
239
160
149
165
249
169
233
203
183
266
178
200
217
221
267
157
253
350
175
218
166
154
191
160
289
277
316
189
170
230
176
175
194
218
201
176
195
284
197
246
155
295
263
211
233
180
309
239
215
200
220
233
173
209
248
160
245
274
235
192
170
169
288
230
279
219
168
234
271
247
251
139
298
191
219
231
240
254
256
226
186
256
272
248
214
192
266
195
241
189
232
114
265
257
126
193
198
227
227
210
223
282
152
259
180
222
173
238
268
232
252
215
301
270
206
160
233
233
240
214
289
218
203
252
239
273
204
228
235
152
251
233
201
139
201
265
194
299
226
158
222
231
223
238
237
233
193
233
179
277
180
237
211
240
114
213
231
240
208
237
266
203
286
177
251
276
211
264
207
171
311
187
212
226
267
226
239
350
261
193
227
175
179
209
227
166
170
313
268
221
198
164
239
158
191
166
209
274
197
221
179
198
286
221
243
203
325
250
247
245
201
251
191
244
247
313
297
189
278
279
158
220
191
152
202
232
213
254
272
270
233
160
191
198
311
321
216
232
225
194
152
193
160
298
223
184
236
198
222
211
261
184
219
190
254
175
270
307
240
192
160
174
225
196
170
272
233
235
266
162
201
247
254
204
245
294
300
253
210
183
211
272
225
219
170
182
240
239
212
229
170
174
202
256
248
340
233
238
193
198
279
272
213
219
164
286
254
221
210
148
244
163
214
208
268
355
274
240
273
212
201
216
193
194
294
174
227
148
185
189
225
181
205
262
181
130
227
187
191
194
166
208
194
188
184
219
178
193
288
225
149
242
240
205
206
258
225
191
254
225
165
166
256
164
175
219
188
203
296
265
276
250
268
299
246
244
208
247
184
175
173
196
261
228
215
210
231
189
202
294
241
256
178
254
178
192
170
185
253
243
137
225
181
250
187
190
198
230
240
182
245
160
214
225
263
182
300
210
190
181
228
252
272
242
292
234
266
235
202
232
289
251
206
196
170
196
383
229
218
297
306
222
227
214
289
242
156
257
265
173
220
229
210
287
289
199
227
149
321
197
114
283
251
173
254
201
280
268
212
250
186
144
219
267
218
282
278
169
237
242
182
211
361
210
220
245
234
213
214
178
208
234
221
196
181
194
179
214
212
308
218
193
216
261
244
273
187
272
287
190
209
133
222
257
178
266
249
264
198
309
216
182
195
227
183
209
144
174
263
230
238
163
236
225
198
169
140
206
296
226
230
307
273
154
277
266
229
268
182
235
229
210
289
156
229
259
284
223
220
209
262
281
361
231
240
219
315
249
230
314
225
229
241
272
231
210
287
225
114
207
309
250
245
222
245
236
187
275
214
225
252
200
201
339
183
152
192
198
180
181
209
185
203
236
179
237
261
243
192
200
161
230
307
211
181
210
283
266
220
204
292
217
226
206
232
265
267
229
216
192
193
289
147
163
171
288
260
166
200
247
231
236
182
194
187
177
233
243
200
196
266
222
237
255
205
209
240
244
160
223
214
202
214
278
133
261
248
218
263
180
305
170
219
274
260
206
181
202
222
167
281
231
297
212
188
184
221
265
238
259
367
206
273
177
186
244
126
257
286
272
220
174
237
227
213
305
199
203
231
240
151
273
203
234
266
255
158
238
191
288
266
258
237
246
302
242
289
168
191
253
168
225
189
207
241
281
173
211
233
165
270
200
229
218
234
163
292
239
189
170
286
206
229
258
211
301
216
265
208
283
174
155
176
196
240
269
207
228
231
248
164
232
215
286
278
268
175
218
234
145
242
317
230
205
239
149
183
192
152
291
240
207
261
235
218
195
195
188
206
247
281
224
216
225
192
233
236
266
121
207
178
212
224
208
259
278
229
321
243
207
275
212
310
375
222
197
261
236
292
247
227
233
189
241
216
273
166
114
293
172
258
273
270
126
263
201
220
232
159
202
256
198
297
264
216
238
253
216
201
318
178
164
232
246
225
188
222
213
223
321
214
212
240
165
196
178
192
241
237
206
219
168
200
229
188
219
151
234
195
237
217
258
200
215
258
229
144
274
270
248
215
274
233
181
257
259
291
195
179
256
201
280
234
221
156
114
211
198
184
174
271
246
151
267
271
228
198
234
243
156
284
202
192
180
179
196
243
272
284
296
216
269
194
157
216
255
257
221
178
165
252
225
211
230
185
199
265
239
335
272
318
195
215
204
277
248
248
145
205
155
286
250
209
161
268
151
235
271
211
223
230
175
231
221
315
171
173
196
326
277
178
229
230
271
154
297
139
158
257
266
286
192
234
218
403
160
221
304
176
307
225
183
194
237
243
213
216
233
218
220
184
177
221
193
247
263
191
200
201
151
260
144
188
212
238
206
192
286
220
158
191
265
191
260
278
220
203
270
208
183
198
177
243
247
251
192
239
193
243
313
181
252
282
202
154
160
216
215
280
202
221
212
247
251
241
217
271
160
165
190
260
229
139
222
250
114
256
192
248
238
243
301
231
236
316
215
252
220
321
223
220
207
158
222
281
247
152
223
192
168
195
156
223
240
166
259
260
198
326
206
274
204
259
270
234
250
238
264
210
255
197
263
264
227
237
220
244
209
260
296
279
218
308
271
217
200
178
248
114
172
174
286
289
211
206
199
241
296
254
220
269
157
257
215
162
263
147
197
214
307
219
228
246
215
235
156
181
174
256
122
292
276
149
290
232
260
229
215
206
234
269
309
192
268
248
207
218
207
184
248
182
183
281
166
195
171
217
146
236
235
183
250
206
170
293
240
261
160
260
237
171
238
226
314
152
220
195
212
184
199
248
300
220
146
363
211
276
114
247
239
242
219
278
352
221
215
231
331
171
139
257
156
210
239
198
246
208
235
283
232
234
243
168
241
253
190
196
247
158
238
194
212
283
248
198
218
165
207
195
284
257
225
172
169
177
299
265
305
262
248
251
283
213
268
234
211
237
283
300
250
273
249
233
266
334
188
200
293
249
236
260
161
196
224
214
237
183
207
184
183
348
151
151
152
158
292
245
288
169
193
148
223
270
160
191
206
221
277
189
245
267
265
221
177
219
145
249
201
241
245
244
209
175
223
178
235
233
189
285
238
235
167
226
246
285
198
281
221
230
219
282
176
229
256
241
288
220
238
221
251
243
241
203
217
290
218
175
175
171
148
243
297
170
215
256
307
243
216
244
193
205
279
196
283
226
181
251
256
222
182
160
207
216
207
229
277
200
204
211
275
213
211
278
189
311
238
292
227
275
116
288
245
238
209
215
145
213
197
170
175
226
220
149
262
241
298
228
280
250
246
208
210
199
262
182
203
280
307
242
251
270
231
285
252
238
313
334
199
228
285
181
202
260
174
269
328
239
234
259
319
161
259
194
281
335
259
224
237
255
251
306
176
221
193
226
259
248
175
145
208
198
256
276
217
184
166
256
259
208
250
240
209
197
281
233
234
205
220
164
288
263
156
366
264
219
205
233
269
239
215
295
272
193
280
214
106
114
230
245
255
240
218
180
193
133
322
225
300
193
237
225
152
244
190
284
156
236
221
230
238
243
162
178
246
179
197
277
247
218
182
254
200
239
235
178
170
174
271
210
202
280
235
239
214
204
206
207
301
319
225
191
214
178
220
283
229
212
300
166
311
247
235
195
235
152
275
183
175
314
259
250
146
158
170
266
221
245
227
189
252
139
213
210
290
202
262
238
238
239
186
194
199
209
195
198
273
198
192
208
222
146
226
191
199
235
223
258
160
114
199
278
267
230
163
202
223
300
209
179
228
318
193
249
209
194
209
158
200
184
220
200
154
248
186
220
276
254
235
276
247
248
189
177
256
235
367
250
304
195
241
183
320
194
133
231
185
209
181
221
287
240
284
244
185
215
199
230
219
267
226
203
235
262
230
263
198
232
285
234
309
202
289
171
237
221
284
243
239
248
263
262
305
248
238
262
203
221
226
139
255
343
201
252
199
291
247
269
162
263
187
211
214
289
262
236
220
243
175
295
202
114
240
253
165
217
296
249
188
251
245
259
238
251
197
281
152
301
298
189
234
187
286
200
249
269
236
220
253
268
221
215
296
235
349
177
234
215
185
246
243
173
217
246
326
161
244
306
270
195
277
281
204
201
264
220
198
230
182
239
276
209
193
249
193
201
169
207
187
116
183
205
258
184
169
214
186
295
195
203
298
223
285
139
178
200
195
289
247
170
217
276
300
281
225
227
207
198
212
158
179
129
220
244
269
263
180
329
263
284
261
183
180
200
184
273
200
226
228
178
230
184
243
227
203
252
210
233
325
222
301
213
210
121
213
272
190
297
295
196
156
187
266
240
211
116
179
212
233
195
208
303
223
214
225
166
255
232
183
207
179
236
212
226
146
247
199
169
168
169
260
259
331
210
255
215
202
273
243
252
211
281
242
225
205
269
301
232
277
181
196
242
192
259
180
241
228
236
206
233
238
259
240
298
280
289
258
198
263
219
254
258
236
255
231
208
152
294
279
185
207
143
198
259
253
225
165
206
253
294
313
243
205
223
238
215
213
256
175
271
163
259
167
183
270
217
293
245
176
220
242
247
218
208
210
214
212
311
231
154
213
145
250
233
183
227
177
260
265
207
220
238
263
273
207
247
270
243
249
173
224
177
208
181
240
214
248
253
270
261
322
151
327
201
203
211
258
294
204
139
170
282
284
234
277
180
269
192
287
217
193
225
232
298
282
278
210
158
229
227
260
241
180
199
181
218
243
249
278
272
247
177
206
204
233
176
212
274
177
220
259
214
205
272
173
243
254
312
207
221
252
201
296
195
210
173
235
126
235
205
205
231
229
209
169
160
226
215
300
182
163
219
297
246
255
188
175
279
193
246
229
266
203
198
235
196
206
253
173
202
175
215
261
281
197
114
166
152
225
184
178
169
186
219
147
186
286
208
237
181
223
248
195
129
258
285
191
212
217
280
198
219
262
284
243
279
248
223
206
210
251
252
249
224
260
179
214
171
174
191
360
217
176
301
214
204
232
106
200
183
205
258
226
247
291
182
245
284
260
247
205
234
198
237
251
229
188
234
191
250
196
152
299
256
178
202
203
184
214
199
177
256
252
267
279
307
189
272
151
227
282
258
191
328
278
229
239
319
341
211
288
207
270
172
276
204
208
301
290
219
192
304
207
287
266
200
177
245
209
234
170
203
176
225
381
229
166
213
294
201
191
207
179
221
260
225
255
167
246
243
237
276
262
191
263
197
173
160
145
230
212
223
240
164
242
243
211
252
197
203
199
292
178
213
188
210
255
183
198
175
249
245
193
229
202
245
151
214
241
224
215
369
170
185
282
214
208
290
199
180
309
258
167
245
205
143
199
282
195
234
220
221
219
139
175
225
240
265
243
263
114
160
243
233
217
224
213
177
177
195
169
166
245
160
254
160
211
182
325
252
271
243
229
202
257
279
160
193
197
250
234
206
281
212
116
257
225
273
205
179
211
304
191
258
277
160
160
244
214
238
181
224
269
202
229
186
196
256
206
220
198
257
233
216
267
227
227
251
153
294
194
299
205
309
239
224
269
183
372
300
206
213
166
229
178
214
207
169
195
220
182
218
220
208
206
274
205
249
287
213
254
239
187
219
188
152
259
313
163
200
251
248
160
219
250
178
213
219
262
247
206
300
231
253
225
266
149
254
203
175
198
253
190
114
227
256
243
236
225
266
231
234
228
210
174
212
251
286
199
208
205
225
255
231
215
214
214
349
240
194
188
210
253
207
154
243
114
243
174
203
315
199
205
244
218
174
178
182
201
168
192
260
310
253
227
276
139
171
290
242
226
238
209
187
222
274
237
267
249
160
195
285
173
203
221
265
250
186
214
235
242
229
218
270
205
196
238
233
224
290
273
154
193
181
169
213
241
191
193
207
200
197
130
195
267
184
218
175
200
213
219
213
266
217
253
174
195
210
271
218
219
267
272
258
222
238
267
213
221
192
216
211
226
192
247
170
242
240
248
325
211
250
237
172
214
166
215
248
165
251
211
165
228
258
270
238
249
284
156
253
238
276
192
254
220
220
154
288
198
237
216
196
226
207
192
233
145
162
310
269
179
254
297
326
216
262
298
245
273
221
214
183
315
205
198
272
231
168
237
156
240
225
188
198
188
252
226
197
269
254
114
197
266
262
206
198
223
114
294
258
261
192
208
211
189
209
188
309
222
181
176
202
252
268
262
300
210
241
317
262
251
145
268
256
200
329
258
275
229
227
219
165
156
204
212
275
197
274
206
216
292
360
190
241
241
221
204
281
254
238
252
216
191
254
291
208
278
233
256
262
218
272
185
200
240
284
216
224
222
269
190
220
219
266
206
228
245
186
261
225
200
262
197
190
196
245
196
170
191
251
247
255
284
266
198
225
169
208
182
186
255
207
200
225
182
267
227
198
171
231
195
290
171
207
225
215
173
258
206
173
222
288
256
254
234
114
196
210
245
238
205
234
234
192
207
321
199
237
176
184
178
202
210
228
266
154
232
306
301
191
202
144
197
209
203
255
246
139
180
261
166
180
290
283
219
122
221
190
166
310
212
170
315
229
229
162
252
306
218
252
251
297
202
271
251
293
149
285
361
222
214
223
295
222
171
233
317
174
298
216
284
238
279
175
211
198
191
244
200
207
202
241
230
234
201
206
265
227
139
223
228
189
223
289
129
219
266
183
199
225
200
249
183
200
283
240
239
214
173
166
214
192
198
192
294
236
156
205
291
229
224
245
220
227
262
252
170
227
208
333
221
215
151
190
239
165
259
198
226
192
238
244
244
174
156
168
249
170
195
278
283
194
186
116
177
247
213
266
226
332
238
225
216
225
218
282
202
200
178
275
108
189
209
231
148
244
242
175
206
241
198
174
181
177
183
246
252
193
283
173
181
236
257
243
276
219
248
203
173
248
221
190
156
182
277
274
235
233
213
160
257
190
263
228
242
192
164
217
203
239
203
246
228
175
200
178
181
114
239
187
274
269
203
114
296
248
243
220
197
195
271
283
213
174
176
230
227
189
172
251
184
182
195
218
300
224
198
227
151
250
297
219
178
166
287
208
286
304
195
253
174
268
331
299
237
186
237
241
257
235
161
331
326
256
198
106
225
178
216
173
209
198
108
309
328
151
319
225
220
198
181
185
258
299
288
215
215
170
114
230
189
258
267
211
215
214
228
213
186
216
223
262
267
211
301
240
211
221
159
218
248
183
223
232
272
195
314
225
246
246
197
171
217
213
191
244
232
249
265
212
194
158
268
266
311
151
203
239
198
192
160
184
224
245
244
238
217
252
262
181
234
234
181
174
248
168
191
315
224
274
289
238
229
130
238
198
168
257
323
194
189
285
204
162
175
206
195
239
187
252
199
210
209
178
174
188
145
121
250
267
205
253
207
233
197
179
224
348
258
176
231
225
194
216
225
278
188
221
201
264
225
229
253
210
304
210
276
152
252
273
228
261
195
268
286
166
205
211
226
272
211
181
271
170
190
243
160
189
176
203
186
340
144
211
170
233
200
228
230
184
247
277
184
225
218
211
212
181
240
268
167
191
262
198
207
340
260
272
114
169
218
226
234
186
166
156
198
232
262
217
297
270
264
181
307
207
225
172
192
278
146
221
239
245
240
192
308
214
296
278
286
287
280
192
193
201
165
205
263
301
257
190
280
202
228
201
227
189
257
238
256
216
235
295
210
265
173
309
163
282
211
157
168
222
239
198
241
178
205
267
114
191
252
228
259
230
239
204
170
255
220
249
238
182
218
231
229
190
278
194
190
306
320
234
261
178
158
205
152
200
176
249
235
262
258
276
188
296
200
265
215
178
294
203
176
166
265
251
236
193
229
198
229
162
310
230
300
225
228
275
200
202
269
261
229
229
216
247
251
243
227
207
201
121
309
188
374
295
267
225
219
204
187
240
247
196
244
265
229
270
304
250
198
178
227
269
236
219
262
215
216
243
204
302
170
160
151
239
207
170
202
211
275
216
216
196
227
241
207
144
161
234
230
185
181
265
228
193
208
168
114
196
319
183
235
209
203
193
234
179
342
286
236
200
230
225
237
272
144
290
152
285
183
287
255
203
225
257
222
353
206
262
151
219
270
242
190
222
254
203
114
230
165
256
205
275
198
191
215
201
248
229
258
174
226
262
175
200
213
241
179
225
263
240
170
126
184
210
238
284
215
236
214
180
172
248
245
250
246
215
198
253
293
282
312
201
276
220
200
205
196
195
214
241
233
216
178
212
195
263
237
263
150
206
221
244
212
226
251
139
252
217
221
200
234
224
229
233
241
252
193
145
250
240
185
220
200
201
208
200
179
247
255
220
256
203
236
106
303
246
178
246
257
267
239
226
229
199
158
189
242
303
327
287
169
236
160
148
166
249
289
335
207
170
208
246
114
160
171
223
178
203
273
240
233
168
147
267
243
205
224
222
208
232
208
173
263
240
191
168
246
293
256
208
192
269
198
218
265
264
283
240
286
156
298
208
248
149
245
197
309
270
242
130
254
267
201
203
253
194
142
261
194
219
259
219
192
216
170
299
229
295
114
241
265
226
214
276
237
254
158
170
295
225
223
254
230
174
271
246
209
252
195
205
174
173
194
266
296
296
245
250
182
176
317
198
214
326
242
179
270
262
197
215
196
204
231
231
228
226
270
240
199
329
224
208
345
203
202
250
154
254
194
251
194
239
162
174
160
261
268
178
270
152
249
262
274
213
216
225
231
182
205
171
257
173
199
170
247
203
216
208
288
217
173
298
207
285
243
210
272
255
283
200
172
201
265
266
163
279
144
210
160
199
259
225
205
213
255
217
220
191
274
216
275
171
172
196
247
240
265
275
292
211
175
219
229
176
214
257
350
178
160
161
199
252
192
279
253
152
267
235
198
221
234
271
176
216
317
228
251
227
199
255
174
297
217
281
213
212
307
198
171
229
160
231
263
191
182
213
245
269
290
285
274
228
266
249
240
171
139
339
139
214
272
258
238
151
221
271
195
192
217
239
237
223
233
158
229
216
315
199
195
242
202
240
200
139
236
184
292
186
184
214
251
165
114
254
319
300
286
227
212
242
174
233
273
231
316
281
260
248
299
241
149
179
195
189
235
222
238
191
251
201
227
189
257
265
215
269
246
226
175
279
195
174
249
217
259
170
198
211
289
185
220
181
240
258
198
265
245
163
287
218
263
301
258
237
243
180
260
231
180
231
213
219
189
254
196
158
223
204
156
209
256
244
318
248
180
271
247
324
238
246
248
204
176
219
150
288
310
253
219
167
280
289
250
145
191
231
144
266
197
258
275
209
279
215
156
250
195
204
256
234
267
203
151
160
271
263
187
241
155
210
283
252
173
325
229
242
262
181
207
202
189
258
196
260
215
193
228
221
175
283
218
225
211
233
223
228
211
219
209
325
178
184
229
205
221
193
240
181
223
280
301
237
177
169
205
211
170
246
183
263
199
216
171
255
244
229
152
203
242
181
236
151
235
270
209
230
269
210
256
286
179
218
249
156
272
194
269
116
233
126
259
281
247
220
198
245
220
194
202
341
221
252
220
218
266
194
225
216
241
217
173
289
165
203
299
237
204
256
206
234
141
223
289
219
252
337
195
163
373
184
282
210
241
350
199
249
276
254
114
200
282
251
114
201
178
257
244
202
199
210
207
295
176
267
191
190
200
275
218
190
139
287
151
244
167
222
285
196
179
170
313
234
264
302
227
224
279
201
170
264
192
290
295
151
226
160
257
172
210
208
219
220
268
230
197
282
225
215
228
230
308
204
162
256
265
240
151
204
181
307
252
189
239
252
156
224
209
254
192
274
228
211
233
208
206
200
290
145
221
278
178
209
126
252
227
305
235
228
263
261
235
193
188
225
195
148
145
183
224
215
222
231
227
270
214
205
202
217
164
248
211
170
262
169
165
187
194
219
248
188
264
210
114
227
263
297
236
195
210
255
235
214
198
214
214
197
213
229
190
225
165
247
226
198
256
255
241
174
213
247
181
233
231
192
180
184
271
176
177
252
343
192
248
251
200
283
292
184
280
211
322
211
146
245
283
196
228
285
186
219
200
220
203
249
303
173
241
209
194
246
223
371
262
214
236
135
190
210
280
161
213
182
252
205
152
269
243
275
278
259
252
233
174
212
180
174
216
205
214
164
220
261
160
223
160
205
169
305
214
199
232
217
269
258
189
114
201
221
188
231
168
194
221
241
302
223
267
175
204
211
270
215
202
227
212
308
207
187
193
215
204
219
226
197
203
327
177
227
256
203
225
174
195
196
239
280
251
204
114
306
232
170
233
215
126
267
293
232
188
347
176
160
190
208
196
183
190
181
260
205
203
220
166
328
228
220
278
232
203
270
180
236
202
263
215
209
229
200
288
179
232
252
191
291
250
174
193
220
229
294
129
292
267
201
234
367
180
114
216
207
203
308
204
245
221
242
241
151
236
254
173
209
224
206
208
195
195
295
219
247
258
292
237
210
272
145
218
180
197
272
206
261
283
172
313
152
219
166
194
218
242
281
188
213
204
195
210
286
114
266
239
188
286
279
240
253
232
218
303
247
227
213
175
283
178
300
313
238
311
228
256
114
168
158
244
245
196
246
305
251
200
196
314
229
185
251
241
274
154
262
223
245
222
212
235
239
259
196
225
256
222
218
264
248
238
191
332
246
248
181
204
254
170
156
306
252
214
214
156
227
236
199
249
230
173
265
194
200
227
280
266
180
258
211
160
259
244
319
223
209
223
267
247
178
181
238
253
232
207
193
185
206
191
145
243
224
256
192
258
181
221
152
229
195
234
223
172
164
239
204
135
156
114
218
320
230
188
259
238
156
315
206
242
251
275
286
234
216
227
230
240
267
201
255
222
258
232
196
154
180
161
216
244
267
211
267
216
192
214
211
216
260
252
220
222
226
218
330
196
268
257
193
244
271
147
221
169
211
146
243
293
177
249
284
166
172
265
228
251
197
250
179
250
211
236
186
265
206
172
289
210
170
255
178
286
186
217
257
256
263
249
246
273
230
285
249
307
281
128
230
213
202
232
145
250
198
246
204
234
264
322
210
160
157
175
229
206
121
246
264
262
296
200
173
204
184
253
217
247
271
259
148
233
269
299
241
176
279
174
231
211
154
202
238
251
209
238
248
334
262
277
177
239
226
238
160
239
232
152
213
217
186
235
250
178
191
292
238
230
232
261
221
178
244
224
201
183
187
187
257
291
213
178
303
199
254
222
229
182
255
276
237
222
229
199
229
224
260
208
163
192
249
230
268
210
178
176
204
198
207
145
190
114
238
193
289
267
174
209
205
160
189
207
179
221
216
227
318
247
173
147
263
241
173
317
302
226
213
223
228
200
203
226
209
227
289
250
178
280
206
179
197
122
250
216
310
169
223
247
252
285
281
253
270
116
205
236
234
266
218
252
178
303
211
234
311
252
211
227
226
302
247
244
198
229
192
230
252
181
286
297
334
253
190
244
204
165
253
204
192
170
137
179
264
222
282
283
201
191
180
186
213
175
257
270
231
278
182
153
214
200
250
351
230
217
253
183
242
247
157
235
178
205
256
161
252
232
215
156
245
179
250
204
191
192
267
266
246
134
233
251
221
144
276
260
219
170
181
310
294
231
260
232
195
108
229
144
280
208
170
245
160
188
240
287
210
259
193
309
191
126
204
196
265
353
222
192
281
216
299
207
227
253
159
282
220
274
237
188
175
209
182
280
184
179
223
223
259
259
176
263
196
210
190
257
204
265
175
231
215
243
144
212
220
227
269
226
298
299
196
204
178
200
286
263
239
247
153
239
233
250
228
240
156
267
203
176
217
114
232
236
198
260
232
171
175
240
220
209
190
252
277
280
314
262
173
274
253
249
229
254
245
228
189
256
321
237
215
228
295
221
187
144
179
268
306
179
255
281
203
312
233
206
268
284
223
174
222
202
259
272
239
242
293
297
288
193
229
220
187
240
257
197
306
161
232
175
243
236
220
278
258
295
257
361
166
234
265
296
219
225
233
278
199
306
236
252
256
223
205
282
170
205
163
238
377
114
224
209
259
106
193
238
254
206
247
195
151
217
241
287
186
286
246
253
324
244
269
210
211
231
217
244
242
250
249
217
216
258
251
211
200
303
205
200
234
230
169
226
259
146
290
199
262
192
247
187
262
192
200
283
207
219
182
252
220
246
126
223
158
215
243
252
192
205
253
279
353
255
171
229
229
271
270
309
258
289
192
177
277
175
227
212
225
202
252
261
194
259
237
275
234
181
184
213
208
282
185
286
196
205
248
225
213
144
235
213
198
114
212
225
191
250
279
240
266
263
266
279
277
243
222
203
209
288
211
218
217
179
202
227
231
339
230
267
266
226
276
177
209
224
264
260
152
282
171
275
213
257
238
276
243
223
229
278
250
146
209
250
236
279
224
170
230
196
341
220
181
240
311
181
207
306
229
307
207
263
277
200
211
279
241
210
239
207
170
226
241
185
184
200
227
181
153
232
291
218
257
212
239
243
230
163
196
232
235
248
270
189
222
206
292
246
121
297
139
153
261
114
196
179
184
186
243
161
280
292
218
145
279
213
153
169
248
207
139
169
281
139
223
211
214
243
260
281
288
150
317
239
195
245
116
198
192
248
280
285
170
211
247
217
189
176
209
194
186
213
173
198
186
205
254
174
311
301
275
238
213
281
241
227
197
175
152
242
243
286
144
210
195
181
151
196
210
277
244
212
197
259
218
170
224
249
202
228
290
253
234
197
234
254
322
231
213
189
261
218
203
162
265
243
202
215
240
164
233
221
274
238
223
196
195
108
183
156
180
233
302
198
195
258
175
281
213
257
229
232
200
230
216
219
198
287
290
267
230
270
349
194
243
228
232
234
219
363
212
274
240
296
257
325
191
228
228
192
225
181
228
238
196
271
248
233
262
270
257
258
272
219
267
198
213
239
209
282
174
251
248
205
166
255
228
210
173
241
193
322
226
300
152
269
239
151
206
175
155
170
225
230
205
229
158
201
215
229
219
158
210
196
221
243
243
219
165
227
262
233
130
189
207
234
197
254
276
369
228
188
265
175
289
201
256
205
216
252
129
277
191
256
210
212
183
305
156
173
269
194
212
286
285
213
270
209
340
261
164
152
146
180
281
197
211
238
287
170
177
251
182
208
227
255
193
221
114
169
220
308
210
222
238
233
243
187
196
210
191
232
214
195
158
222
276
237
190
242
265
214
187
175
290
286
329
151
201
183
228
198
328
220
209
221
260
255
207
217
223
181
276
272
200
226
224
114
221
252
249
201
179
194
248
199
264
182
251
175
306
214
226
274
222
278
193
278
289
225
252
256
262
232
126
170
196
245
233
227
202
250
226
211
156
251
155
273
242
211
232
226
173
242
242
205
253
196
316
324
217
313
236
192
149
238
250
212
292
174
208
139
156
278
309
164
255
290
211
225
324
270
208
212
159
291
260
178
162
268
149
165
259
263
209
238
266
244
221
225
249
144
210
232
267
267
297
173
192
284
151
254
202
257
243
219
204
203
277
270
207
314
261
264
311
272
173
179
129
307
234
211
151
263
220
202
176
258
232
286
229
263
221
156
232
305
220
121
265
234
209
188
174
218
206
315
180
240
234
153
182
208
268
276
287
229
190
194
255
301
294
224
270
251
259
180
186
339
114
222
192
245
274
293
219
225
214
211
197
288
226
173
231
265
157
249
209
126
232
333
188
235
196
201
325
177
251
114
345
234
199
187
206
175
249
288
177
243
227
219
293
180
277
248
168
175
214
214
205
248
253
227
200
193
290
266
114
210
156
219
199
183
218
253
204
305
191
163
254
199
276
222
174
203
116
158
203
315
195
285
114
181
180
243
270
199
182
322
250
202
190
222
247
233
291
238
281
252
299
226
233
248
220
209
188
217
229
130
178
271
211
259
203
275
211
272
206
247
223
352
288
213
187
219
208
277
149
229
273
278
158
240
198
226
257
246
195
196
183
106
231
183
250
212
244
221
285
225
178
187
247
204
221
196
183
202
244
282
238
245
274
274
227
215
121
203
166
221
241
265
201
245
181
155
225
160
269
169
324
271
182
235
203
214
250
178
160
327
239
211
209
249
251
210
258
148
315
257
289
195
168
294
248
176
225
221
195
166
175
181
126
214
258
234
274
262
243
289
207
195
287
257
262
245
229
227
303
190
146
211
171
290
267
282
255
218
222
206
161
241
235
259
232
275
297
227
302
233
178
254
237
189
149
214
146
114
169
203
186
270
217
148
224
277
299
191
227
218
156
247
289
218
195
245
212
292
212
273
270
163
208
285
256
235
227
225
186
257
190
216
208
231
189
357
214
210
195
222
226
181
299
264
227
219
170
229
208
357
178
221
256
315
181
209
259
204
222
248
220
222
209
252
262
304
277
245
178
270
108
170
283
240
200
181
255
203
249
258
196
206
264
180
200
270
223
170
122
292
253
254
206
160
224
232
160
197
261
180
183
296
214
276
207
178
291
253
244
177
199
271
222
173
242
175
249
199
195
214
232
222
317
202
208
234
268
275
336
234
252
252
114
262
175
234
189
151
210
144
173
222
301
225
266
207
265
177
195
203
240
213
139
280
232
182
198
311
231
325
188
210
202
288
214
305
240
268
223
190
249
309
260
264
285
235
183
218
234
277
214
178
139
236
245
185
332
206
197
284
230
211
210
242
249
296
240
277
254
213
226
267
213
176
192
231
229
311
184
206
195
196
270
245
251
294
280
234
189
198
179
206
198
223
114
219
254
284
200
331
336
239
284
264
213
228
197
207
253
200
223
309
295
291
226
184
187
318
243
265
207
258
283
200
253
199
227
252
178
160
269
222
149
234
199
172
246
210
250
257
170
165
195
252
108
241
179
266
227
126
234
173
248
151
174
286
224
251
156
236
234
296
197
162
188
220
199
211
277
240
195
303
209
238
229
195
173
215
254
233
259
213
172
181
188
289
214
329
203
234
233
289
291
214
180
254
217
245
214
280
293
211
245
231
229
223
214
276
164
279
185
282
241
192
159
249
230
191
207
218
130
161
270
195
208
214
170
166
239
198
268
192
232
176
226
229
236
292
288
175
243
232
209
213
238
213
181
214
310
230
249
222
280
182
190
212
279
233
247
251
233
277
209
209
211
174
318
261
305
197
225
293
145
206
220
218
238
177
269
273
248
292
183
228
220
114
202
215
220
307
260
170
325
178
181
211
230
202
114
292
139
219
249
237
241
200
249
228
276
270
220
211
301
260
267
239
285
202
181
249
172
235
235
178
216
242
300
212
330
275
183
218
328
255
281
273
171
301
261
252
218
213
274
218
176
228
145
192
204
286
221
234
278
185
189
218
321
221
219
121
162
253
175
236
245
253
288
162
190
258
181
187
269
210
368
162
308
276
217
232
208
191
309
156
151
185
224
223
244
198
192
192
284
188
392
305
216
232
266
266
228
279
318
200
249
262
219
347
139
225
114
171
254
232
264
194
217
268
156
243
262
160
218
307
200
217
206
166
235
245
225
146
187
179
229
198
180
256
309
158
232
177
253
222
242
299
215
204
285
301
278
196
277
207
116
246
249
266
300
217
168
152
305
258
200
198
234
217
210
238
156
211
272
152
191
202
195
193
177
254
220
240
170
106
222
306
283
194
178
309
206
290
114
175
241
249
267
295
253
202
266
155
224
275
236
294
216
202
268
200
293
182
208
165
202
270
206
215
263
232
222
184
226
257
219
268
246
262
133
226
222
182
192
218
247
309
331
282
283
231
176
210
193
216
241
246
196
218
216
245
157
202
139
194
265
255
173
244
235
224
240
156
264
230
199
226
181
189
198
197
240
243
200
231
306
190
231
161
304
108
264
157
247
236
184
143
233
205
311
222
255
209
251
257
148
192
208
215
328
228
254
274
144
114
200
207
175
173
304
265
203
306
165
200
278
241
245
139
233
205
225
201
174
206
186
278
231
251
210
245
227
206
239
190
220
261
190
278
283
227
259
160
192
264
247
210
181
222
200
235
197
233
260
175
215
229
178
155
239
213
208
251
240
263
312
192
264
145
243
226
212
230
235
257
273
246
246
201
262
183
216
277
189
156
260
241
186
258
229
246
202
192
214
206
114
184
228
214
275
222
218
218
250
280
114
203
320
242
269
184
252
262
260
219
186
274
200
195
227
198
235
189
152
156
167
210
240
241
211
199
233
276
220
216
139
257
229
292
330
198
291
163
291
219
173
217
323
152
239
181
249
240
281
196
158
250
296
243
254
188
204
229
196
181
192
182
219
133
205
220
149
146
179
206
208
240
186
214
233
251
214
220
237
257
198
254
255
217
191
207
177
198
229
177
247
301
273
229
158
197
265
179
228
234
214
245
198
235
192
200
229
180
281
267
230
227
234
235
262
246
169
254
158
174
252
182
168
167
242
281
268
235
222
269
144
114
247
217
188
276
240
267
257
212
222
221
114
145
231
243
244
221
231
188
170
199
224
233
227
235
271
233
275
141
242
198
256
292
227
207
284
209
225
204
201
244
202
257
241
237
261
176
266
207
265
183
230
300
358
277
202
189
276
209
224
255
365
269
206
170
232
222
230
232
259
222
192
174
264
240
299
245
164
233
258
229
220
275
199
276
254
228
215
270
224
208
205
203
233
256
238
166
245
237
211
226
192
296
208
244
314
209
242
174
367
160
274
343
222
244
279
198
225
221
170
162
228
190
194
160
224
190
192
187
203
226
114
278
235
178
268
191
201
242
213
316
213
166
255
233
181
198
235
213
272
240
171
285
203
282
213
198
192
212
195
237
154
248
186
217
219
245
207
156
198
261
232
235
254
224
191
240
219
171
222
227
274
305
174
143
227
267
277
201
275
170
180
177
285
178
227
187
154
180
114
262
245
184
274
253
194
176
214
264
211
201
229
217
224
323
164
211
176
321
114
226
261
317
222
260
190
238
224
263
175
253
283
260
172
207
266
176
275
214
210
219
154
200
256
286
158
330
194
129
195
219
212
114
234
231
201
213
234
235
213
269
242
114
284
180
243
240
114
227
277
193
257
167
266
200
178
188
200
254
244
148
232
220
160
173
152
260
249
281
130
242
244
275
222
219
222
256
161
228
211
240
188
258
234
179
209
232
209
292
283
287
184
302
229
164
165
273
152
253
227
282
189
279
221
235
240
213
229
257
286
213
268
228
267
262
211
174
242
283
268
231
300
241
218
166
126
260
203
148
275
255
176
255
233
228
244
230
239
275
285
323
302
202
231
213
213
265
272
322
184
193
227
243
245
239
226
242
190
212
284
230
277
225
193
289
183
191
180
176
346
190
233
201
290
258
195
318
179
301
251
180
180
252
212
202
202
143
242
233
244
276
269
231
270
261
230
324
182
261
220
189
181
223
160
270
233
199
173
223
290
220
288
231
248
196
234
244
220
195
166
183
223
191
217
169
209
251
197
204
225
234
209
303
166
224
247
169
198
243
228
147
279
221
236
152
214
265
215
272
251
165
276
180
266
256
156
247
221
251
278
233
194
198
234
204
130
184
195
191
202
208
179
219
262
218
190
251
249
188
200
114
232
213
198
173
216
248
203
202
296
164
223
239
225
187
177
200
252
207
230
303
209
268
255
193
141
201
219
244
262
182
254
248
283
231
238
214
195
198
207
175
195
239
251
325
116
184
156
215
239
257
237
203
196
210
211
233
299
218
234
183
267
232
252
243
191
146
258
278
165
234
198
236
199
179
179
236
166
290
253
254
298
248
239
192
204
245
218
193
214
193
244
211
231
252
216
265
275
234
179
209
206
235
270
180
210
273
218
282
208
267
269
178
292
268
283
233
235
190
228
167
178
227
158
190
192
342
226
282
208
244
218
242
192
190
158
196
240
181
211
233
172
237
255
158
161
222
320
281
276
166
218
173
162
258
249
245
264
211
212
214
290
114
256
309
271
160
184
301
249
161
258
257
249
256
176
219
252
226
191
280
231
306
220
213
262
222
231
259
170
195
122
287
165
275
190
234
180
251
184
282
179
206
174
239
220
198
149
216
206
218
228
201
216
256
174
272
217
220
261
197
191
224
206
254
193
214
270
198
253
285
184
238
283
207
201
156
171
287
175
215
216
162
251
292
164
157
144
168
279
210
313
183
222
208
184
202
309
114
242
224
256
254
260
206
312
229
201
278
328
260
229
236
214
271
220
270
218
236
253
223
251
265
230
293
257
199
217
309
224
252
152
229
293
252
252
246
189
214
229
288
240
162
175
195
158
114
241
258
234
244
221
183
229
169
243
240
333
258
179
220
243
178
219
212
148
278
205
309
207
219
282
180
256
248
269
267
165
280
189
231
273
189
182
178
177
286
280
216
253
209
217
183
245
274
310
234
240
177
192
201
264
170
275
232
200
257
213
221
228
278
114
177
250
239
152
234
287
302
174
272
264
166
198
188
152
161
204
178
222
257
233
260
223
303
160
198
258
285
253
308
173
192
220
253
277
251
197
195
254
198
198
296
212
375
226
239
213
191
273
197
231
214
222
220
216
235
270
238
224
162
219
260
148
178
216
217
231
217
299
253
225
220
202
235
185
215
196
183
238
219
180
205
156
245
214
316
160
276
214
158
195
171
278
114
260
238
194
170
224
229
228
258
193
193
186
266
257
241
244
241
300
242
214
231
286
229
223
246
321
207
291
201
217
240
245
237
250
208
276
193
108
255
160
267
285
257
208
258
209
212
263
176
365
210
287
231
219
248
231
152
197
196
215
196
241
207
238
239
210
203
165
294
278
317
114
289
175
234
255
231
145
170
233
209
222
279
191
212
206
206
217
227
213
279
231
195
237
242
301
262
181
181
228
200
209
254
211
215
202
180
290
204
256
238
207
286
221
190
238
276
214
245
304
195
231
270
259
207
262
202
237
183
209
265
160
226
261
281
244
243
206
139
249
203
235
165
195
188
215
246
231
241
198
251
218
196
194
243
304
195
166
337
263
222
269
238
265
301
208
220
213
293
201
216
263
246
181
285
253
227
215
192
214
165
219
206
292
196
198
226
278
178
217
279
287
346
221
200
271
263
218
174
154
269
248
252
164
261
238
206
268
208
174
236
195
263
156
257
284
199
223
289
217
176
259
218
177
204
326
192
152
152
253
224
201
185
232
219
233
291
218
238
266
241
200
250
325
256
205
309
314
218
145
219
264
257
248
224
263
302
243
240
247
196
207
220
203
242
184
166
223
227
225
205
241
270
275
213
209
227
194
207
261
200
227
287
231
256
252
270
241
271
210
222
211
238
209
240
198
212
214
234
250
207
200
186
270
240
242
232
209
174
203
224
250
150
271
230
194
295
214
208
228
198
254
204
273
232
282
255
275
212
261
202
240
264
193
154
349
214
219
233
229
209
281
310
231
329
285
234
190
292
288
181
222
367
276
265
173
245
189
241
258
218
182
239
267
276
288
287
157
278
202
250
269
198
180
203
255
224
220
248
233
219
241
247
258
158
227
179
239
221
234
194
205
177
234
223
205
203
238
258
221
192
290
282
255
191
257
140
246
240
227
114
272
243
199
240
188
121
216
216
190
173
174
248
139
165
229
227
205
234
253
238
218
228
278
157
198
178
305
282
215
297
193
281
284
254
198
208
269
235
175
116
225
227
285
233
160
283
284
256
203
253
304
291
190
148
205
161
242
178
200
260
171
218
284
216
287
203
210
350
250
194
213
212
154
200
196
166
308
233
240
241
156
295
238
295
193
237
207
296
280
258
246
191
198
204
252
267
199
252
290
202
262
197
276
114
205
289
297
247
245
225
276
253
313
264
296
249
223
121
255
189
252
201
241
228
190
195
294
176
214
280
211
245
151
195
232
308
200
114
205
173
238
193
282
210
171
269
224
289
245
229
181
279
258
261
229
248
236
238
329
254
218
228
228
353
280
193
208
156
228
193
219
177
170
121
230
258
186
184
264
152
371
156
202
253
249
148
152
241
174
176
186
242
195
199
173
272
296
211
215
207
272
196
249
237
192
230
183
231
217
250
276
230
190
215
246
195
169
295
262
210
151
281
267
199
273
220
244
193
175
240
256
307
313
198
224
207
301
152
252
146
179
257
265
333
196
208
235
232
264
286
238
230
237
229
256
221
209
203
223
191
243
161
181
206
240
161
202
180
258
156
207
186
182
263
229
259
207
151
220
231
203
114
252
252
197
190
211
114
148
205
272
363
212
228
215
181
222
227
243
274
258
254
351
316
314
334
220
146
251
230
181
233
195
203
224
189
274
260
219
235
209
236
176
172
286
176
249
224
239
330
255
233
245
207
200
185
255
154
237
194
181
245
308
250
182
232
256
280
226
139
228
246
274
276
329
152
269
231
235
306
205
244
196
220
273
214
215
296
140
244
275
232
271
144
255
242
114
220
160
193
283
184
230
275
224
126
229
188
197
183
175
262
285
180
126
180
248
192
242
285
247
219
262
183
241
225
252
252
126
243
247
220
237
168
200
154
248
284
259
234
116
220
174
253
238
282
264
243
212
235
258
231
227
170
181
293
200
263
145
214
267
176
228
236
220
258
198
223
165
266
245
206
164
228
214
207
249
191
250
214
250
250
200
258
210
315
231
266
238
193
204
199
229
170
215
170
218
170
114
336
271
207
268
170
251
219
154
173
200
208
225
340
179
160
144
195
262
291
139
220
114
289
224
286
165
211
265
218
187
204
213
160
243
287
243
266
264
196
200
202
217
281
238
319
228
191
238
225
266
238
160
173
183
229
197
251
245
261
194
201
215
246
210
257
264
220
203
216
215
272
228
242
250
270
185
204
242
265
161
199
226
259
212
254
167
309
249
180
228
248
195
238
276
192
264
211
178
210
219
277
292
171
114
231
241
242
229
217
195
297
208
280
192
289
148
271
313
173
243
242
170
274
178
152
245
238
196
233
173
238
290
214
263
246
114
265
240
282
194
205
208
231
192
226
317
276
196
139
216
290
220
228
114
220
188
235
164
198
233
149
208
234
209
251
265
114
289
263
207
174
231
173
207
310
192
251
290
254
168
251
271
191
205
171
193
227
265
237
178
219
284
220
259
345
175
146
151
298
160
260
243
194
201
190
255
217
231
245
234
184
298
217
208
196
284
238
153
266
231
197
183
290
219
251
212
198
252
245
203
278
196
140
171
198
211
317
238
282
175
307
196
240
141
213
145
145
218
251
269
237
265
253
295
228
187
259
248
178
196
150
213
167
202
205
238
205
321
245
181
250
190
253
174
289
337
229
162
281
159
207
206
189
239
223
232
203
214
180
241
239
232
201
207
169
152
202
200
218
206
202
207
216
235
285
211
199
238
208
146
231
262
173
166
178
276
250
276
284
265
190
331
220
220
250
254
299
239
202
274
161
291
241
242
269
332
243
220
222
173
254
295
170
180
297
146
209
280
223
261
234
265
198
195
217
175
191
188
224
214
244
284
283
210
222
220
201
267
201
227
152
238
187
212
198
316
277
168
241
305
293
218
195
227
252
196
208
302
253
219
160
308
232
262
198
240
279
206
200
170
145
205
208
308
168
317
220
185
185
236
224
313
184
176
235
199
267
173
187
266
174
237
272
313
242
238
174
194
285
219
246
144
227
152
207
261
166
240
213
195
294
170
192
311
200
233
201
266
214
191
249
324
182
215
198
338
222
255
220
185
265
253
153
199
259
231
173
217
239
173
273
245
246
251
182
189
260
256
252
272
235
106
205
263
240
114
167
114
265
212
247
331
351
260
302
148
187
222
290
258
207
194
199
114
181
214
144
212
236
189
188
203
213
229
195
284
198
217
213
260
218
181
283
202
234
235
234
195
235
350
274
210
161
281
225
244
206
343
219
231
226
291
238
114
245
170
252
209
237
194
248
271
254
273
200
272
212
194
235
206
270
229
126
238
250
260
222
258
215
210
145
250
176
166
321
211
221
210
173
247
208
291
198
220
179
210
237
263
219
153
194
165
198
208
293
239
235
279
157
195
270
254
204
318
226
195
243
173
173
253
220
220
162
245
151
185
228
271
216
316
223
275
213
207
271
201
213
257
208
224
187
211
296
191
183
171
207
272
204
259
241
264
166
289
274
195
116
182
242
205
271
214
288
178
283
253
205
302
207
200
268
209
334
168
181
207
208
204
126
265
160
201
210
213
228
215
126
171
250
297
256
213
245
225
215
282
208
269
181
211
180
200
203
238
193
198
273
249
231
234
225
195
174
219
175
270
234
180
265
308
207
248
178
261
167
233
203
191
254
178
258
191
201
172
219
231
175
288
267
187
237
229
165
210
232
209
232
158
196
250
195
236
270
219
204
279
311
225
271
222
225
229
246
226
248
235
210
234
232
251
197
274
261
280
195
211
193
202
235
204
277
277
244
214
147
214
240
260
168
202
227
241
316
178
245
166
213
259
252
290
234
265
192
208
222
225
262
242
204
283
200
208
301
285
192
250
228
227
209
159
218
178
270
219
243
180
196
158
263
219
233
302
284
188
209
237
202
222
282
395
309
177
226
188
168
170
165
283
264
178
235
159
215
258
282
240
269
188
237
192
211
182
211
234
179
177
241
225
237
280
273
262
171
145
207
255
246
326
244
269
188
165
210
254
245
170
203
193
181
255
196
126
230
178
280
261
239
258
144
130
258
267
154
229
222
267
267
192
242
165
234
184
213
108
211
206
287
308
207
225
175
244
231
205
252
158
206
299
149
223
182
156
278
229
252
202
258
195
281
193
227
238
212
204
315
157
300
229
261
318
281
146
240
197
218
164
217
276
160
202
224
219
173
253
206
205
134
184
216
196
283
262
235
288
197
266
203
198
271
286
200
241
224
199
220
222
219
234
183
177
304
224
194
232
152
155
187
227
261
296
253
177
293
243
251
171
249
170
281
252
243
264
224
271
246
263
253
166
243
234
171
219
114
253
206
174
190
181
250
156
274
248
238
274
259
167
182
231
241
192
165
161
250
276
197
241
256
210
238
209
198
227
239
159
195
188
206
226
239
310
198
203
238
308
283
197
228
178
327
207
230
148
265
256
292
248
261
292
219
239
249
292
288
173
238
237
306
249
202
249
256
214
210
206
221
228
234
326
217
254
145
265
240
275
236
260
221
179
172
222
299
174
246
280
287
218
240
330
238
244
114
229
166
271
167
174
231
280
211
222
229
157
245
155
231
337
173
233
217
247
187
139
192
156
280
278
279
174
214
225
238
216
137
259
278
213
241
247
195
198
239
213
193
234
241
282
245
161
179
242
223
208
214
251
261
283
186
163
309
243
195
248
188
289
260
291
256
294
226
259
279
356
261
283
169
232
234
232
146
285
251
114
229
224
177
276
166
266
225
223
295
317
230
153
204
209
288
207
215
210
213
284
238
198
258
198
233
213
208
243
165
250
149
139
245
305
215
229
189
179
157
147
229
232
231
242
205
207
218
269
367
222
237
152
218
231
250
184
216
178
182
174
225
227
244
222
262
156
181
199
222
220
267
214
288
286
224
276
249
269
175
308
156
215
279
270
261
208
160
226
207
235
184
232
234
242
160
226
254
215
255
199
176
209
297
266
201
262
342
173
205
230
283
204
260
251
277
275
152
266
195
202
251
297
241
175
198
253
273
185
173
270
237
252
238
215
167
229
198
309
160
273
269
143
207
170
169
223
164
271
149
216
200
182
199
180
182
260
224
265
199
114
307
290
225
213
234
263
173
324
149
177
243
267
194
342
223
268
234
204
155
208
223
325
154
161
253
203
222
194
177
329
194
279
235
181
202
192
146
219
212
242
220
245
178
228
184
263
228
144
253
225
248
307
240
194
233
211
242
184
244
221
206
261
277
324
223
114
267
216
249
217
234
259
346
243
233
216
183
301
230
220
285
284
191
195
179
214
229
218
175
180
208
305
259
236
255
296
243
183
240
157
341
234
209
229
235
236
306
200
176
201
248
277
198
176
180
195
248
270
165
152
252
245
282
168
298
194
223
240
190
218
233
233
171
163
243
201
225
248
198
234
250
213
233
170
173
214
280
114
178
220
180
218
392
248
213
174
222
241
188
266
218
241
248
157
191
254
182
219
235
328
296
181
205
214
215
152
194
302
192
265
238
233
321
188
238
279
201
199
261
284
213
201
230
207
280
207
212
278
165
254
276
168
192
171
218
263
213
258
164
205
248
346
156
262
273
221
309
225
163
261
304
273
163
193
218
258
234
261
114
185
129
173
130
185
342
222
186
258
227
200
247
194
267
259
226
252
219
275
296
296
233
207
260
233
305
259
159
169
230
211
152
197
207
146
306
261
226
251
212
264
275
256
225
294
194
194
180
202
235
221
212
261
196
201
245
178
316
183
239
251
243
214
320
196
160
114
226
220
256
194
246
226
224
199
251
249
240
238
199
170
229
234
207
195
219
158
201
181
253
231
202
233
239
221
261
168
178
331
246
222
267
198
114
220
173
279
208
254
247
221
192
221
239
283
248
206
245
244
171
206
289
249
245
209
155
260
232
238
209
257
255
258
235
223
289
240
274
227
209
156
240
263
234
230
233
220
194
200
228
253
254
181
256
232
185
258
233
194
193
178
304
221
282
235
161
168
180
192
225
170
219
251
197
295
231
276
247
263
189
243
212
184
260
198
201
156
191
218
214
175
239
272
126
221
222
221
152
199
206
228
237
244
215
200
270
310
207
222
268
243
297
192
290
196
191
198
251
218
206
234
249
354
278
265
205
250
200
215
227
208
202
212
166
262
335
286
329
192
314
206
211
215
263
180
209
232
234
235
186
205
217
235
130
192
301
205
252
191
195
221
126
227
226
253
198
114
205
230
214
303
205
317
251
233
247
337
276
203
144
219
278
181
248
238
323
114
321
191
263
176
295
273
243
194
272
249
242
263
206
160
116
201
219
233
270
200
190
216
292
280
192
218
201
293
242
204
212
153
246
240
254
236
234
178
240
205
223
186
185
267
208
218
256
211
208
218
289
239
237
208
225
270
274
236
173
181
248
224
248
211
194
161
248
319
213
221
202
196
156
232
184
278
154
267
219
238
179
351
216
214
156
179
181
200
234
248
267
222
240
327
221
241
204
220
199
225
189
189
228
230
174
172
200
169
205
168
167
238
239
233
220
229
236
187
308
249
235
213
185
302
207
108
221
164
225
310
194
301
226
269
151
250
151
317
274
244
248
229
246
348
207
239
287
190
254
158
208
302
243
259
219
177
228
174
191
198
181
263
196
235
174
251
222
214
222
234
216
220
332
235
270
236
196
276
196
199
196
154
226
189
178
192
281
256
242
114
222
231
253
161
174
173
228
180
216
230
169
243
246
278
277
273
258
233
181
194
194
269
226
211
249
254
241
195
206
266
287
187
222
239
220
300
222
152
281
324
217
150
229
217
280
253
184
269
220
287
222
192
241
229
220
258
173
275
207
283
178
228
207
203
302
246
200
227
295
185
218
249
193
244
295
272
225
270
181
146
229
309
207
183
278
181
173
176
178
281
148
250
249
234
194
292
205
309
215
197
247
189
188
169
213
197
203
262
312
184
248
200
215
265
144
244
262
232
235
287
192
246
144
164
258
162
205
251
221
190
179
269
180
246
198
144
179
295
139
250
176
208
187
192
261
197
243
178
114
222
203
234
241
198
239
213
173
214
311
261
220
276
237
173
192
208
197
169
157
296
258
241
152
241
208
179
283
215
220
248
221
226
213
215
200
273
195
260
287
185
201
200
301
187
204
161
226
158
290
169
246
204
231
285
297
139
222
200
263
147
198
180
219
221
184
159
275
243
174
248
259
209
333
203
219
173
216
229
170
174
205
255
275
248
305
208
253
205
251
189
114
229
261
170
199
214
225
246
212
257
254
206
324
192
235
228
169
214
221
242
202
284
269
312
226
272
268
212
137
239
272
212
169
309
229
170
146
271
237
255
154
169
230
213
212
252
265
199
211
195
270
260
190
300
180
173
144
254
176
220
170
234
198
294
200
246
240
235
222
246
209
233
212
170
295
185
259
244
196
198
212
165
207
235
266
225
207
170
181
201
151
164
223
287
214
214
281
182
206
196
298
154
194
229
290
284
256
165
234
200
198
164
207
325
191
177
226
211
257
162
165
169
236
170
275
238
313
187
160
247
248
202
231
165
283
225
206
198
239
197
234
114
241
302
306
262
280
152
172
288
235
191
215
236
251
252
162
195
114
192
247
182
264
188
230
243
214
186
202
236
190
257
284
234
175
222
203
220
211
236
229
261
281
239
257
180
192
236
247
168
185
211
293
209
243
173
231
234
317
323
246
149
230
225
242
210
235
213
189
306
232
224
233
223
180
217
250
271
190
238
219
222
246
179
243
211
202
258
227
241
170
225
249
292
258
241
187
200
248
226
228
167
278
221
230
317
193
212
181
189
179
242
227
275
161
334
203
190
246
235
263
245
205
244
206
183
231
188
228
179
220
167
194
219
145
250
215
237
261
144
243
194
292
230
215
299
227
218
157
231
200
251
225
260
211
207
196
212
236
244
219
160
169
215
230
236
191
228
266
302
295
261
216
356
200
203
261
220
222
242
265
250
165
226
214
201
220
216
285
145
165
256
178
203
287
197
252
156
243
263
114
170
173
239
344
281
211
211
240
225
250
336
236
250
246
250
213
216
204
298
178
129
214
175
193
240
211
178
203
260
133
238
199
214
255
152
215
336
214
271
215
214
258
139
228
209
209
250
293
208
177
192
222
258
139
290
203
206
256
192
114
201
220
260
182
232
238
239
130
298
187
260
323
235
241
314
139
190
126
198
206
208
288
152
173
229
194
227
161
216
184
315
262
151
188
279
248
336
216
239
217
198
126
116
233
199
207
239
198
265
114
253
252
207
251
308
254
185
167
152
155
235
211
152
180
152
233
173
279
182
214
182
311
249
284
257
259
180
188
154
227
256
218
219
290
199
247
278
180
246
144
206
276
193
211
244
266
114
227
297
182
206
194
196
189
251
340
264
198
191
271
181
148
148
203
291
213
328
184
200
236
230
198
180
174
195
173
199
185
254
192
221
226
231
282
239
225
162
263
219
217
300
180
177
214
248
236
323
232
162
295
219
240
224
184
217
213
198
241
228
236
198
274
216
208
188
203
226
245
114
158
236
211
220
250
177
285
215
178
217
184
265
253
197
126
283
212
192
228
193
273
195
271
252
252
218
202
255
188
209
220
247
238
152
206
235
280
225
265
168
220
247
208
257
257
214
245
198
218
197
258
211
246
227
276
168
238
213
210
214
186
205
292
200
246
227
170
209
269
274
300
221
295
216
247
341
231
260
260
234
265
207
235
247
108
232
257
238
264
326
169
264
251
217
294
253
228
179
320
160
284
177
247
215
222
184
218
293
208
195
180
181
225
336
257
198
182
305
165
199
217
210
215
209
250
195
163
206
175
271
237
262
254
258
258
200
321
276
198
220
201
231
180
222
231
147
158
259
258
235
259
173
257
242
276
231
186
212
256
178
250
194
215
237
219
209
199
162
270
184
270
218
268
264
235
252
190
184
181
185
234
223
114
285
208
212
250
277
231
184
265
191
206
221
251
196
174
217
230
234
155
201
272
287
187
285
333
268
256
256
194
173
248
250
220
220
174
279
230
207
208
205
216
218
233
221
221
264
186
235
278
322
265
233
208
235
229
229
258
216
239
200
249
177
290
222
286
235
258
186
238
227
143
261
260
182
191
252
173
243
176
250
189
192
265
180
154
205
202
192
252
206
294
187
280
185
289
257
225
261
238
158
151
129
157
211
233
280
246
252
208
175
184
189
179
196
283
231
184
207
267
208
256
244
181
199
231
116
207
238
227
182
234
209
256
230
251
200
162
201
314
170
167
241
197
220
296
202
260
219
212
266
223
235
240
302
309
185
202
247
289
165
235
220
243
138
331
219
198
208
260
232
257
282
269
214
213
248
201
246
241
151
227
202
237
226
226
221
252
223
212
185
276
228
237
306
213
240
278
200
225
253
220
267
279
222
188
198
199
251
259
243
227
291
336
156
188
170
254
209
254
245
214
219
238
217
243
244
240
226
286
213
144
108
257
191
247
176
174
247
229
277
202
189
284
170
159
188
258
252
261
202
174
233
286
207
216
227
241
130
235
197
255
284
259
203
219
273
201
283
198
157
234
288
146
227
267
230
202
293
260
256
256
279
284
179
255
219
214
219
195
236
249
149
246
193
278
181
235
192
284
263
251
150
108
161
198
239
162
249
204
236
171
256
206
301
238
164
276
181
241
236
212
291
178
248
225
198
235
181
213
190
371
174
270
347
233
268
211
160
254
173
187
225
251
155
197
208
178
209
241
196
246
270
262
165
300
168
206
251
325
256
203
281
274
258
265
169
114
247
235
313
243
168
233
278
233
180
250
220
223
215
260
228
155
282
208
162
246
198
205
184
192
327
208
247
194
244
200
168
199
171
211
207
226
222
329
198
193
229
249
206
212
247
250
196
181
228
261
221
244
234
186
252
239
168
231
219
272
181
260
177
359
253
247
290
208
255
225
148
234
178
185
227
183
198
236
202
207
307
227
259
213
256
130
276
169
214
293
266
231
193
206
255
288
225
171
254
231
247
178
184
261
269
233
172
219
185
229
152
283
206
169
236
248
214
218
240
279
260
304
227
269
288
222
214
268
245
192
292
234
201
235
225
214
229
326
153
219
268
114
222
263
267
194
268
312
229
272
161
218
251
233
196
281
252
207
231
272
302
240
217
268
209
256
170
218
205
296
232
170
152
243
294
193
203
274
156
304
151
289
261
236
240
321
311
206
232
181
329
316
210
239
170
283
180
294
284
212
154
278
220
209
293
275
167
126
157
185
201
240
219
196
257
208
300
224
186
226
178
197
242
170
300
178
294
265
265
321
222
234
206
220
219
206
231
192
270
182
186
252
227
228
220
323
269
164
213
165
241
173
260
241
196
204
187
199
282
225
151
236
183
253
245
188
260
165
198
292
173
270
218
198
116
146
183
237
299
215
265
266
250
176
160
317
249
229
195
242
152
140
220
114
256
114
158
205
205
245
198
236
187
199
277
165
185
247
179
264
198
213
219
234
284
238
222
265
210
282
322
250
238
218
231
168
200
181
331
156
253
244
296
234
243
251
174
220
221
206
251
191
193
184
214
219
301
224
245
193
259
279
190
184
220
192
309
172
193
196
203
243
207
161
220
242
210
205
216
266
241
165
242
231
178
152
267
194
181
194
252
262
281
197
216
214
217
139
203
161
202
274
301
223
196
253
307
197
236
196
176
176
227
164
218
275
242
248
129
255
208
250
250
219
196
276
114
325
242
216
200
153
234
227
319
188
116
233
169
198
233
179
235
199
248
206
209
206
278
226
156
217
169
169
194
241
176
145
274
283
207
205
246
196
233
244
296
203
244
255
296
294
259
160
242
222
211
211
234
278
149
212
186
323
247
190
206
232
248
330
177
305
160
170
192
195
244
242
114
232
262
203
214
197
227
244
185
157
277
215
184
169
242
203
270
236
252
179
222
289
230
160
223
238
106
226
189
226
174
181
261
229
223
245
176
248
264
212
161
258
236
266
269
248
268
207
243
185
259
258
202
221
209
223
209
226
231
230
122
203
213
207
208
206
285
203
252
206
305
259
207
226
181
195
229
200
185
246
247
267
242
340
177
261
189
151
231
160
240
214
184
216
189
277
231
238
228
224
215
213
270
178
249
177
160
288
210
269
200
263
244
304
190
270
158
182
177
243
146
248
247
233
203
245
279
139
182
217
222
209
193
239
272
246
238
267
228
210
214
289
160
231
202
259
240
251
219
210
155
202
168
219
196
223
252
264
302
195
196
152
216
198
213
223
219
129
279
309
290
178
195
245
194
237
224
241
165
245
198
208
302
276
285
238
177
231
288
237
237
267
260
190
233
266
176
251
166
276
195
226
193
133
268
249
211
184
144
185
188
193
191
228
198
231
200
224
182
240
215
216
199
243
216
299
186
297
286
198
130
227
160
196
279
195
215
213
173
193
205
208
154
214
226
190
220
277
206
208
189
220
228
193
174
239
223
213
314
156
306
203
292
233
215
225
161
220
310
290
160
139
234
217
240
236
162
215
293
245
234
293
173
254
193
218
250
299
245
235
250
269
204
165
200
219
264
181
251
229
296
187
167
257
222
169
239
216
307
263
217
211
196
193
227
280
208
185
166
231
248
233
208
212
178
198
158
149
164
199
239
106
260
184
263
254
259
149
149
178
234
243
200
189
223
243
165
269
222
151
248
289
228
194
236
173
230
189
250
326
225
232
253
240
210
229
178
231
272
227
228
159
290
267
248
220
200
211
230
225
327
192
277
170
283
233
272
195
227
192
204
201
169
193
256
180
271
251
309
236
141
243
130
238
149
166
208
226
176
257
144
165
215
274
258
211
262
199
299
151
250
260
218
235
183
151
241
231
314
208
271
313
200
197
271
258
232
153
209
157
152
219
169
354
231
233
226
240
217
240
294
251
208
203
273
190
226
226
209
229
265
193
225
210
255
270
159
178
277
210
227
201
212
309
285
235
189
223
259
238
198
247
174
220
222
217
270
222
219
285
251
198
211
225
232
145
242
363
324
259
222
234
255
225
284
237
190
228
173
270
209
247
208
248
316
161
250
190
237
240
208
258
237
212
169
255
180
151
159
192
193
173
250
214
181
195
232
215
223
220
213
139
261
220
263
192
232
241
234
297
228
114
206
215
255
229
260
240
233
244
212
257
259
227
251
187
139
222
193
263
258
276
231
171
316
219
235
252
243
206
255
220
220
231
230
296
225
200
126
184
258
220
252
234
182
220
209
175
180
160
213
296
208
235
114
215
282
279
181
122
164
184
182
285
200
224
259
194
232
334
239
188
227
203
222
224
196
229
234
191
231
179
285
309
218
229
295
243
196
192
277
206
192
179
141
158
223
213
235
190
171
290
184
156
181
270
221
200
272
242
197
253
201
175
244
211
297
176
216
225
253
172
231
278
257
191
322
207
228
238
178
269
174
257
255
198
240
256
242
217
276
170
212
251
333
190
208
185
311
274
214
167
188
206
243
237
214
152
173
240
231
255
170
180
197
271
170
221
266
227
166
228
348
196
168
199
293
202
207
203
247
259
260
224
215
261
198
184
223
213
239
229
252
271
239
276
318
253
195
154
237
179
194
170
221
221
384
251
265
249
186
269
130
310
181
238
278
227
243
200
139
261
141
232
214
198
316
219
228
221
199
249
209
212
258
227
151
252
231
216
253
191
222
251
114
254
161
273
258
251
326
217
160
271
228
174
253
189
203
205
198
213
189
212
201
198
279
222
305
254
176
174
265
259
195
292
154
192
197
263
217
215
263
207
244
284
251
261
252
203
212
217
227
108
192
299
234
174
234
238
129
236
200
270
208
114
235
192
158
240
226
180
225
208
198
202
266
207
222
185
238
225
222
165
219
271
215
258
271
159
207
289
270
235
231
210
196
162
205
295
203
192
330
218
187
207
295
222
271
202
185
225
220
286
285
213
151
254
238
231
184
168
207
212
203
175
180
224
219
163
234
179
204
282
299
229
253
320
214
189
272
252
202
225
151
241
237
236
213
273
216
221
207
255
258
139
243
220
299
192
209
264
283
195
227
252
229
156
231
161
229
165
225
175
179
221
163
146
254
258
229
239
181
220
233
258
206
346
202
139
216
246
244
228
224
221
179
253
209
266
221
246
241
223
175
217
250
246
225
164
264
258
237
258
171
249
331
232
175
166
278
154
280
164
242
145
175
223
185
233
238
160
299
259
302
166
224
263
213
208
186
267
227
258
246
149
224
224
197
220
304
233
242
214
228
221
294
260
320
256
175
200
150
237
227
114
282
271
258
179
309
209
212
247
215
221
218
249
256
228
225
189
228
248
272
241
206
283
173
217
145
250
216
237
170
294
114
158
226
270
197
226
275
216
193
248
189
276
283
307
208
298
243
274
278
290
229
231
230
241
296
144
166
225
234
203
206
165
303
190
325
126
246
235
240
160
225
166
276
234
218
256
203
208
243
170
234
224
114
209
208
211
205
114
209
325
250
233
284
214
195
275
262
243
188
293
238
256
219
255
309
210
139
230
178
234
187
162
279
290
214
292
234
275
252
175
221
221
173
225
309
222
277
230
168
171
195
232
244
245
192
191
200
203
219
196
235
192
251
211
266
247
177
187
305
308
208
325
277
141
279
226
226
273
195
237
204
229
207
208
323
177
276
188
282
168
234
280
253
282
253
237
326
232
245
116
217
275
184
235
168
262
232
308
188
200
216
165
167
234
202
239
238
287
196
241
171
280
214
224
201
209
249
296
178
180
258
216
181
256
227
218
227
186
220
249
176
237
232
156
164
154
177
242
148
169
342
261
284
219
169
241
318
342
211
221
218
246
328
247
248
176
220
319
210
159
303
264
286
220
160
204
175
260
257
174
261
214
244
139
201
254
272
255
154
214
195
224
243
161
259
174
194
168
170
312
184
182
253
321
207
291
213
234
186
198
290
152
191
171
215
192
259
281
221
203
182
153
186
261
208
197
269
281
250
301
240
227
175
208
208
208
340
216
273
241
306
173
167
206
226
262
209
217
255
191
212
198
205
189
251
175
233
195
243
229
219
270
233
228
161
283
199
225
178
156
201
220
290
313
189
258
242
244
278
238
247
215
278
219
191
277
210
255
184
262
243
237
181
230
268
175
162
258
243
255
178
173
308
180
320
233
224
211
251
196
284
161
195
310
241
271
215
161
260
248
265
158
230
147
171
180
205
189
243
188
278
234
286
252
345
195
224
314
213
247
197
304
198
219
309
193
114
301
285
178
207
177
232
279
213
223
237
220
206
169
256
243
186
215
191
262
258
218
250
185
203
214
223
292
114
328
208
209
257
200
225
250
175
226
250
199
178
191
354
220
182
243
211
283
222
195
169
169
240
194
189
261
231
255
223
241
215
253
187
166
311
233
213
225
251
273
166
297
228
219
243
222
219
281
210
182
184
139
250
192
182
268
317
209
204
210
229
251
195
253
157
192
212
221
251
218
208
325
186
281
178
174
190
231
198
290
227
235
172
212
210
213
270
190
192
215
246
299
262
235
170
180
267
310
234
286
189
238
279
177
247
180
226
293
229
248
205
276
212
179
266
267
317
166
180
177
149
213
220
260
230
241
264
265
232
209
274
220
214
194
237
287
268
158
192
205
281
220
178
157
226
231
224
233
246
196
198
161
297
332
202
181
300
180
224
160
206
159
265
139
241
283
244
189
265
114
275
145
300
169
231
200
156
277
301
221
239
225
179
229
252
176
221
288
225
178
126
254
198
173
164
159
216
250
213
223
210
220
243
206
322
247
240
272
200
275
189
330
217
227
227
252
234
202
204
187
247
262
225
198
302
114
166
233
278
254
160
162
173
233
225
218
192
230
302
240
189
283
246
228
213
187
244
305
270
215
226
298
179
197
219
233
213
284
239
176
185
235
158
177
218
280
287
206
253
213
231
170
213
179
280
222
249
161
250
295
201
232
234
357
202
293
306
201
207
165
213
198
246
208
298
232
231
238
161
260
249
281
245
219
196
278
176
172
255
266
222
169
186
287
235
200
263
234
195
225
262
233
186
211
225
146
160
298
170
198
171
253
196
201
283
203
195
274
217
160
279
188
247
235
148
265
171
218
208
227
240
207
215
192
284
238
306
287
291
187
273
281
167
299
187
242
294
273
255
256
200
202
205
210
174
253
151
236
283
251
229
213
145
254
227
227
193
245
194
254
202
167
174
271
237
209
296
235
186
182
203
245
291
215
200
284
151
192
177
292
290
269
303
216
202
221
240
182
190
260
228
204
195
229
208
279
238
203
200
262
200
241
170
223
162
250
306
311
234
152
235
250
189
239
275
240
206
236
173
235
328
221
195
186
177
274
208
174
249
106
198
197
208
186
236
181
273
148
240
274
310
233
188
229
230
261
240
262
216
196
272
184
247
145
224
247
211
287
245
259
225
234
290
216
234
194
233
240
262
196
288
208
164
174
189
153
244
173
252
207
228
176
197
286
279
252
217
161
225
317
222
273
228
211
257
195
175
245
157
162
251
215
232
223
215
256
211
200
174
228
195
241
259
210
172
217
275
232
292
163
249
173
250
310
191
209
241
160
206
183
156
210
286
329
262
184
160
237
258
129
188
200
193
192
187
262
216
209
230
254
309
147
303
190
215
211
235
114
215
121
282
178
260
216
151
180
222
152
273
213
272
239
250
209
145
186
295
232
185
171
201
160
215
303
236
287
233
226
216
198
238
274
227
269
240
227
265
200
114
247
220
230
266
223
196
208
208
366
235
212
240
296
194
199
219
191
169
169
148
206
175
156
169
206
251
245
295
270
327
262
241
182
223
261
209
195
219
298
262
217
245
253
165
226
240
301
226
210
213
212
248
233
219
282
281
255
151
192
273
206
234
174
308
227
233
235
246
241
164
192
139
268
226
238
200
224
302
214
211
336
174
229
267
283
218
257
235
290
253
241
279
296
160
241
188
223
203
207
197
251
249
207
182
239
221
192
233
201
214
179
263
199
207
221
277
242
225
264
168
212
255
287
218
211
230
242
230
176
184
179
257
212
162
173
255
229
169
225
263
240
264
198
183
197
235
251
180
248
261
176
248
251
242
203
300
219
154
271
287
251
301
208
262
223
156
221
246
255
114
250
212
260
265
233
211
291
204
262
240
315
218
190
332
186
305
290
151
159
281
202
144
291
231
229
215
313
263
192
213
139
184
254
265
232
284
203
225
181
186
244
150
294
213
189
242
249
212
214
236
202
307
255
222
178
220
188
205
269
223
206
319
189
180
238
219
224
234
183
142
133
222
235
220
177
197
250
157
162
285
184
230
158
179
223
283
242
254
173
167
210
227
269
170
243
261
189
139
200
227
347
250
241
198
244
116
166
200
236
195
284
207
213
299
249
276
275
187
287
208
267
235
233
221
277
178
248
245
245
163
229
134
311
199
248
273
231
291
139
190
269
187
239
215
235
213
258
265
116
280
216
234
139
295
235
260
182
309
196
177
172
195
220
218
248
218
160
246
156
238
226
211
175
208
180
190
252
211
187
168
287
195
211
181
263
250
211
199
247
161
245
214
233
235
228
220
207
259
209
187
129
185
187
202
212
241
184
206
222
233
240
232
177
238
395
195
184
200
267
144
234
240
162
269
220
258
181
252
174
261
290
214
242
246
215
247
209
162
207
201
170
203
240
196
272
198
227
253
239
157
263
254
200
212
232
253
306
336
289
229
253
237
230
108
276
159
183
114
205
242
321
255
261
209
222
286
218
257
197
218
191
267
205
178
215
252
193
176
274
255
212
190
216
295
342
296
257
198
223
282
214
202
160
222
160
275
241
137
169
300
267
227
261
191
251
252
286
218
261
235
265
256
243
260
149
215
238
239
277
269
241
196
236
160
260
190
280
230
222
194
261
227
215
208
228
224
381
225
216
152
256
203
279
249
210
300
192
206
247
222
190
158
155
229
252
148
130
166
222
260
278
178
158
231
173
194
172
156
255
235
294
220
255
129
256
268
224
197
207
245
126
275
235
207
195
280
213
220
198
287
201
188
308
243
251
207
217
233
213
206
200
208
315
173
234
214
247
287
288
210
236
205
247
237
229
235
255
151
210
298
279
194
260
278
173
223
227
158
304
268
176
249
193
126
235
274
193
177
278
258
140
213
261
254
235
214
251
271
215
252
189
170
239
251
254
238
180
181
171
214
247
296
241
269
182
160
160
179
262
221
177
210
294
279
268
129
293
253
294
160
211
236
278
203
271
252
241
233
273
176
247
225
195
231
264
218
203
181
191
246
240
251
267
264
275
239
247
259
233
225
197
247
211
197
129
223
152
144
250
246
194
241
139
229
249
159
200
266
181
134
165
251
182
246
180
170
231
205
259
272
355
253
156
227
263
145
270
237
199
306
250
160
281
299
167
219
212
188
283
176
221
203
273
207
213
262
217
233
229
179
177
221
260
253
156
165
335
180
165
244
201
305
233
212
233
347
285
217
174
151
238
160
217
214
231
184
222
116
214
194
179
229
237
239
231
194
203
210
211
213
193
139
297
197
239
239
151
314
285
149
266
225
188
249
114
308
229
211
203
242
254
345
192
275
274
219
246
214
151
248
231
301
195
167
185
162
173
209
170
185
242
180
216
243
214
265
253
234
211
190
197
199
219
192
260
240
224
210
264
364
289
165
207
241
169
228
211
256
227
231
257
253
223
219
239
229
313
173
168
170
211
192
272
215
184
152
196
173
200
254
183
233
239
305
266
156
186
167
274
211
308
167
182
247
360
315
288
233
250
282
225
197
182
285
157
181
279
171
325
214
180
173
249
245
251
208
220
174
162
203
183
207
243
266
168
262
206
276
234
250
220
192
262
160
246
236
242
203
219
228
139
216
260
213
216
217
190
174
231
184
234
191
208
275
161
207
179
290
261
280
108
287
203
304
216
213
178
195
185
212
130
193
347
206
277
278
231
251
245
146
239
216
181
196
220
259
198
166
191
279
324
272
197
305
178
194
341
227
152
196
171
284
211
295
242
234
220
217
198
178
302
202
199
222
220
192
256
175
243
158
237
273
182
243
134
165
206
235
265
261
201
232
158
218
253
235
230
208
215
335
193
167
229
246
273
211
231
310
232
252
220
174
195
183
195
207
198
246
186
233
236
284
309
145
257
202
199
220
216
205
191
294
214
265
278
229
181
201
227
200
184
209
230
332
233
189
218
198
252
126
174
213
219
173
179
242
223
264
207
256
264
213
213
174
211
197
235
126
177
178
221
241
303
228
196
219
279
180
236
260
233
272
234
194
188
285
286
186
156
198
262
232
247
264
208
288
153
160
253
263
201
262
253
291
231
249
270
205
252
264
271
158
238
237
167
279
188
225
223
254
276
230
245
302
210
244
208
220
257
238
266
161
219
222
173
209
208
178
225
205
296
169
239
257
234
243
201
217
223
240
189
183
196
276
214
287
275
233
139
288
255
157
253
219
280
197
190
263
187
178
246
227
247
260
194
171
234
219
306
192
207
245
195
170
332
228
193
297
170
263
241
224
212
222
175
178
149
210
186
206
279
227
177
286
244
274
272
247
238
198
214
179
191
257
155
261
169
203
279
236
208
139
262
309
185
238
226
203
300
206
192
169
180
170
252
205
228
193
220
139
238
231
243
238
273
234
197
350
192
290
308
274
248
231
229
227
211
202
201
233
250
198
275
156
211
222
215
178
196
282
178
184
276
316
254
129
220
198
234
248
171
317
257
146
246
173
222
162
219
185
178
231
344
192
245
207
264
250
200
287
270
202
247
217
287
198
241
180
165
204
192
260
247
239
234
231
213
234
279
243
235
212
259
246
229
290
222
156
255
233
207
182
238
224
242
261
175
158
189
222
215
277
287
192
154
230
262
253
197
252
283
185
240
215
183
198
208
173
260
203
267
274
204
172
208
170
247
247
238
216
268
240
195
190
200
238
229
230
204
207
209
259
178
183
200
201
208
238
272
160
198
228
232
295
278
254
212
234
222
256
249
273
231
248
172
145
228
222
198
273
244
289
204
241
355
203
146
292
241
290
201
202
291
290
144
128
213
146
259
222
223
220
217
214
189
181
233
203
304
259
189
198
196
219
223
139
236
195
219
241
291
210
215
285
206
223
222
229
189
160
267
293
272
291
196
246
189
303
167
244
219
266
245
276
166
171
192
187
256
226
247
258
179
230
287
210
252
219
195
207
268
220
232
234
215
216
211
221
161
268
342
188
202
249
198
227
176
240
192
215
309
235
226
245
213
184
182
265
241
192
229
185
267
200
215
220
285
211
211
219
199
288
254
195
165
185
275
318
225
175
251
197
253
222
189
198
234
240
170
268
283
178
212
205
184
274
196
149
192
226
281
194
149
239
263
287
179
234
191
197
290
240
232
315
108
198
280
294
261
257
251
197
219
192
258
207
188
253
238
239
262
229
251
251
176
114
245
175
181
230
273
183
183
169
283
193
235
221
262
235
178
250
191
229
159
295
289
314
170
174
340
218
144
191
293
175
256
171
126
255
247
212
189
190
258
219
238
191
183
190
236
256
238
220
186
228
268
209
253
232
205
272
202
147
243
243
275
265
250
279
335
318
266
244
193
203
228
257
184
224
152
201
146
157
217
196
189
194
106
267
227
226
159
248
171
195
255
151
201
247
251
234
145
223
195
241
233
272
238
213
259
239
254
287
193
239
214
166
271
282
266
296
256
235
203
246
145
170
179
258
250
233
208
172
234
231
179
255
206
256
193
200
309
160
248
296
243
260
287
247
175
218
168
247
190
222
214
181
192
289
215
207
206
269
200
246
198
253
175
251
213
264
165
189
226
248
237
199
279
247
277
198
114
233
170
198
211
340
206
240
304
173
234
259
227
168
266
278
195
247
165
232
155
216
265
239
211
208
304
234
204
295
173
290
224
216
190
225
263
181
212
259
260
176
233
180
280
253
233
192
227
273
270
222
204
202
185
199
227
235
234
279
213
201
271
170
205
160
273
353
191
200
222
207
158
246
250
223
187
229
216
217
240
242
311
268
289
165
185
201
210
287
248
225
218
176
216
277
288
143
223
170
234
210
327
289
266
221
251
206
198
252
223
260
215
194
209
233
266
195
233
241
269
210
253
271
208
167
253
252
171
251
158
108
185
274
221
245
214
216
181
201
224
269
248
318
218
254
240
209
191
242
181
231
188
213
238
261
195
237
287
173
235
199
238
226
204
213
171
208
221
184
301
197
212
217
246
195
166
177
290
114
235
233
202
213
273
264
249
264
152
264
228
275
192
303
210
208
194
273
246
290
288
226
266
214
240
190
306
227
160
234
271
210
186
229
253
210
218
192
198
225
219
237
114
305
267
212
204
235
192
248
213
292
223
203
186
239
151
200
232
237
170
235
243
264
214
173
239
218
238
116
160
218
245
108
298
241
198
166
216
292
299
231
216
302
267
271
235
160
227
178
231
276
206
197
152
180
210
274
204
220
239
253
210
302
226
284
204
294
221
225
246
333
283
234
215
305
173
178
214
307
244
287
242
240
232
260
245
174
213
220
201
237
304
299
250
174
175
328
207
239
209
208
223
224
232
242
222
170
193
239
221
233
218
247
160
173
236
285
254
247
208
257
214
145
259
243
282
248
217
226
255
245
206
116
210
258
195
227
198
303
252
255
341
232
241
231
234
231
234
292
219
192
203
241
208
283
249
284
269
285
208
205
204
219
250
235
209
218
161
259
207
251
185
265
224
270
246
258
246
219
220
214
255
210
245
200
170
220
320
202
204
202
160
232
238
194
249
214
276
217
234
213
173
230
236
252
177
225
267
160
202
221
264
157
234
184
187
175
248
258
271
233
279
200
238
275
244
231
200
164
198
261
201
233
286
218
228
181
260
149
276
238
195
231
299
262
299
207
170
222
248
185
286
176
173
271
309
250
215
198
249
171
179
252
308
201
240
190
249
165
259
295
221
293
254
203
216
133
255
243
326
266
200
201
199
264
169
182
192
212
296
221
243
260
216
184
165
225
219
148
197
212
250
269
199
145
197
281
210
175
253
324
237
216
233
191
189
207
223
285
176
302
288
213
280
191
161
285
245
241
247
247
145
259
209
191
278
205
268
172
241
263
180
219
243
160
260
306
227
237
265
217
192
208
224
211
199
291
291
213
151
238
204
218
301
229
274
281
226
314
221
208
174
243
213
222
191
230
254
225
244
222
166
176
341
116
245
271
285
228
149
246
228
254
232
220
252
114
219
201
265
228
247
290
205
251
287
201
166
223
266
222
292
215
149
273
266
218
224
221
209
188
287
215
298
263
268
286
233
223
133
242
304
266
277
197
218
271
174
229
197
209
217
173
272
336
238
229
251
262
261
245
194
318
244
181
159
253
179
258
267
259
242
227
178
235
191
212
211
160
194
271
204
318
174
256
191
245
226
200
189
203
262
181
114
161
297
219
189
205
256
222
121
240
152
261
264
248
247
238
139
222
236
189
230
121
148
214
211
226
174
242
114
158
179
263
257
231
261
200
176
232
272
203
322
242
247
146
204
309
154
214
178
206
178
206
148
221
242
142
212
190
194
288
277
238
189
159
278
227
198
251
181
199
286
215
208
173
251
234
288
260
227
198
175
236
246
216
198
164
149
194
164
114
195
223
173
214
258
228
257
253
173
171
292
126
208
190
246
191
180
191
274
219
270
197
212
237
171
275
211
210
202
253
318
160
158
275
239
254
238
249
209
173
161
213
114
176
247
237
217
251
261
279
222
294
221
277
194
224
214
255
226
146
213
256
283
212
204
266
244
266
257
265
152
219
215
232
249
247
190
185
230
241
232
244
299
260
213
250
252
216
270
226
165
126
251
229
231
221
207
237
301
257
234
258
189
166
186
221
223
244
214
288
175
289
225
262
202
223
266
265
253
161
156
214
139
246
286
238
292
283
210
261
163
265
192
271
268
288
192
208
208
237
299
172
205
287
252
178
108
188
282
221
266
252
231
241
306
243
192
161
219
173
218
230
221
279
244
196
264
208
175
196
275
215
157
217
248
272
210
198
281
156
210
151
206
288
241
188
220
210
252
310
181
170
259
247
233
219
250
302
254
262
169
243
273
197
203
271
302
259
194
301
235
204
227
162
179
199
197
214
295
259
181
285
181
211
204
158
237
182
202
208
266
222
271
190
186
322
174
274
173
144
276
251
161
208
172
273
267
146
216
172
232
242
238
293
216
315
270
255
234
225
167
215
206
191
173
218
245
265
237
192
202
108
262
229
262
239
222
199
238
198
174
284
262
114
254
151
238
177
253
210
246
276
240
192
214
229
167
232
255
221
233
186
259
271
242
188
199
269
246
198
273
200
217
176
209
157
200
206
192
175
289
236
158
246
237
235
243
214
239
217
234
189
175
364
225
116
221
237
306
284
184
244
241
130
168
207
295
220
242
237
185
229
275
182
241
286
188
114
266
234
252
283
219
270
286
175
216
354
259
126
258
276
178
239
266
228
191
220
188
274
232
250
245
247
214
224
185
256
231
235
205
264
193
244
253
205
159
285
220
181
220
245
252
156
215
237
211
270
130
274
275
233
181
234
215
220
221
266
191
195
205
209
179
227
212
306
235
234
228
227
214
258
413
303
178
225
250
190
263
251
222
189
181
203
229
234
267
159
264
237
252
167
304
154
173
215
259
186
165
222
173
168
320
208
236
221
241
199
254
188
240
192
140
248
265
253
253
242
289
204
161
210
191
175
199
230
245
234
160
192
223
242
228
217
226
200
200
257
276
219
116
306
210
255
184
229
219
196
247
257
266
229
291
234
288
240
194
312
264
213
206
272
270
246
208
261
216
208
196
231
273
203
204
148
114
166
267
230
182
299
209
187
197
233
234
223
228
157
163
222
165
296
220
192
241
284
271
251
207
247
265
208
227
264
258
287
213
274
258
221
200
211
263
256
126
214
207
202
152
267
300
209
248
169
219
247
211
216
273
230
204
290
220
192
229
281
219
238
166
219
214
239
210
254
275
303
277
230
225
175
313
187
205
287
321
243
265
263
213
196
160
209
211
297
215
317
160
255
168
157
194
237
176
152
271
221
266
250
144
243
272
202
240
239
160
253
242
227
243
192
235
178
275
181
184
247
199
226
239
139
226
181
155
193
157
265
233
251
270
232
190
234
345
336
196
182
114
300
236
162
233
346
245
262
233
284
294
281
269
219
233
165
141
219
262
199
228
192
189
218
218
234
232
281
221
280
222
194
186
228
155
262
317
275
207
275
232
287
257
229
246
214
286
129
222
304
241
214
243
161
172
173
204
196
202
148
265
130
149
201
227
214
246
173
205
262
247
224
222
149
258
247
195
294
165
208
214
212
194
184
257
227
116
154
204
252
220
211
282
275
242
188
162
177
192
246
197
190
219
198
243
183
198
233
166
193
244
156
244
194
159
257
218
192
232
266
198
217
277
162
284
194
162
232
268
208
211
246
217
179
230
312
252
310
273
274
225
163
181
264
265
238
207
238
207
243
201
236
224
224
275
244
247
318
268
183
224
228
151
220
236
209
263
116
217
308
253
262
228
303
181
157
252
241
193
222
165
243
218
177
246
202
258
230
237
266
285
145
220
238
223
244
287
215
230
232
259
189
271
222
209
261
217
233
191
173
243
234
197
239
269
269
266
212
275
255
151
217
233
204
239
209
238
297
146
160
239
247
217
180
186
160
200
212
232
179
223
210
160
213
171
259
230
209
238
235
288
218
192
215
166
173
158
145
290
320
190
239
158
169
247
293
161
191
205
275
179
237
129
288
296
218
192
232
160
160
204
315
256
299
242
247
256
272
229
215
220
255
248
206
275
186
203
151
209
148
222
148
253
160
195
169
189
249
275
270
199
165
181
181
217
169
230
202
206
229
195
177
269
298
161
246
191
268
238
208
214
203
263
156
167
228
234
268
220
173
271
192
211
209
172
219
202
309
234
220
221
227
230
239
186
207
166
196
231
148
236
253
246
177
202
272
195
195
223
192
227
232
271
218
211
213
260
261
277
178
261
202
192
311
307
289
268
169
212
198
252
149
309
327
230
232
233
232
256
241
209
235
290
114
299
207
293
305
188
156
241
199
281
269
228
241
238
192
185
173
255
182
208
287
192
260
222
187
303
283
226
245
243
233
258
204
241
147
283
155
229
210
237
203
178
229
262
260
175
219
324
257
216
264
211
185
310
201
224
216
183
264
223
228
227
262
268
264
218
246
246
173
265
256
317
192
238
268
311
243
301
224
220
194
228
207
178
239
200
275
245
316
204
251
235
221
310
188
143
238
185
209
248
154
145
317
182
222
190
288
295
174
181
264
255
278
208
243
208
324
196
271
200
216
227
197
144
249
180
284
237
169
217
259
191
237
227
252
192
204
252
192
223
248
255
223
235
217
273
307
269
186
215
219
234
234
207
245
282
174
183
311
183
198
257
221
278
238
206
229
243
228
248
151
283
252
202
266
223
190
212
141
281
214
179
197
219
160
210
189
192
280
251
243
242
214
190
275
234
208
168
178
228
241
305
209
254
184
221
220
327
139
259
253
232
227
263
189
180
158
225
189
157
158
278
166
198
212
259
251
200
272
285
274
178
235
267
243
239
239
250
250
181
160
217
223
247
252
242
244
203
222
244
196
193
252
208
194
247
243
191
151
198
207
144
237
241
153
158
184
198
194
276
296
303
224
233
247
174
259
185
205
204
281
215
236
194
298
176
248
254
170
221
241
250
258
230
245
261
310
223
241
219
293
281
285
220
173
187
220
213
257
280
246
260
252
188
217
285
198
215
354
225
217
223
271
236
235
210
231
257
248
206
325
286
229
233
215
193
195
251
183
232
204
336
187
232
237
259
149
185
199
190
222
215
261
213
116
191
219
289
200
194
253
262
220
222
232
195
206
289
238
218
279
258
224
271
244
257
296
331
194
211
226
197
168
225
189
253
249
259
184
192
231
209
240
263
196
205
236
179
181
253
170
232
173
253
168
211
275
210
169
152
235
299
184
193
200
168
168
194
215
292
157
193
244
291
217
108
195
269
314
316
174
269
353
178
281
259
350
257
165
229
244
174
203
286
244
208
218
218
224
337
284
208
210
205
210
217
271
189
192
257
386
211
231
227
206
223
156
179
200
178
180
207
157
262
211
265
225
224
222
224
247
255
253
221
247
187
192
200
188
200
133
126
206
265
253
217
211
297
231
146
257
320
267
347
278
165
200
254
241
209
291
208
209
256
186
205
256
239
257
262
308
242
224
259
230
224
240
193
236
194
240
201
235
247
223
181
308
188
258
298
173
242
241
273
213
242
178
222
184
232
168
184
216
250
189
356
250
238
249
114
191
192
218
278
254
194
186
281
165
184
145
192
197
273
262
200
186
267
294
181
164
207
320
275
220
251
289
303
182
256
213
270
287
205
232
238
280
258
170
178
192
195
224
229
217
239
206
183
225
261
244
167
126
309
225
260
154
279
252
329
240
199
246
240
254
178
364
269
278
174
225
211
237
214
208
197
221
307
173
259
176
198
271
244
199
194
287
160
206
185
209
259
201
270
146
296
153
266
178
191
284
200
222
241
234
213
205
157
260
217
174
251
251
260
219
171
175
262
240
303
245
135
151
178
226
261
145
251
203
238
185
265
229
241
277
307
265
164
209
171
241
221
171
221
178
292
146
241
206
224
172
258
236
210
233
211
248
232
230
239
239
225
226
229
206
241
205
313
165
183
221
248
201
271
159
259
242
208
147
238
161
247
193
193
211
202
210
253
248
214
237
241
170
260
202
234
202
177
201
193
218
181
237
323
208
180
205
188
273
195
253
194
215
156
186
244
223
220
235
229
272
236
139
188
279
248
160
197
223
151
250
221
256
292
217
139
263
161
239
229
180
328
282
305
265
195
215
200
173
215
223
167
276
173
194
162
214
126
210
232
237
191
228
114
269
262
223
241
245
204
234
192
288
237
204
209
205
218
144
245
314
261
182
201
239
192
202
248
160
256
271
170
262
242
231
207
227
283
256
198
229
219
272
207
189
145
309
208
242
231
276
206
247
263
213
258
196
259
200
214
241
248
278
204
191
235
208
215
202
232
230
178
240
282
265
304
185
220
235
279
271
219
209
195
220
213
260
155
223
210
114
327
280
198
199
298
235
241
252
234
222
272
219
185
236
252
284
231
175
192
194
170
246
162
215
229
108
192
199
203
265
314
188
280
311
161
202
289
253
181
212
171
249
218
228
288
184
269
233
235
253
212
231
232
168
163
201
247
184
260
162
197
291
317
210
146
222
177
251
222
261
309
277
276
184
226
209
195
198
178
262
191
242
270
225
160
193
181
175
189
247
215
261
256
289
212
214
235
162
191
232
215
216
234
295
210
274
216
247
267
175
261
149
215
180
252
144
156
196
223
172
266
297
228
261
251
314
232
173
317
194
219
237
206
183
223
204
200
243
329
218
219
309
315
169
269
231
168
154
215
262
160
139
223
214
268
309
173
188
222
253
207
214
194
239
116
178
226
208
200
225
218
149
216
232
234
307
189
291
211
211
226
250
273
220
216
269
173
235
180
246
208
192
248
192
213
209
114
179
235
191
201
159
226
244
200
209
145
208
206
233
232
245
296
177
175
114
203
157
210
181
248
198
208
274
265
173
253
266
188
252
187
246
155
170
208
185
219
321
173
270
173
187
236
238
273
185
170
133
255
263
273
235
179
268
190
173
232
289
197
224
181
195
245
162
149
257
228
177
247
198
176
297
244
165
212
250
198
215
203
175
293
274
262
262
218
247
165
272
219
180
223
259
211
363
242
179
185
242
213
267
139
242
215
228
196
222
252
317
178
226
237
271
324
126
253
247
208
203
268
204
282
114
181
129
128
277
280
203
236
234
252
276
221
240
190
251
245
251
196
192
203
204
178
268
229
240
247
263
241
207
270
221
192
235
229
296
154
248
249
235
231
151
193
211
222
262
290
231
206
166
227
261
198
337
244
289
194
156
194
184
250
216
238
235
207
158
274
284
212
264
185
178
252
262
157
237
190
183
335
280
234
250
157
222
310
160
321
293
262
235
231
265
252
288
251
203
173
245
181
215
259
208
240
189
266
251
189
279
237
217
232
222
206
160
179
184
240
268
220
220
252
213
236
197
306
160
214
228
242
278
237
238
223
139
281
275
226
209
219
251
173
203
237
236
188
116
235
209
146
302
213
180
237
300
170
228
226
250
273
290
268
311
178
222
225
256
200
181
165
210
221
196
192
264
174
276
263
168
215
281
193
193
323
144
232
275
175
194
182
237
234
242
271
232
199
153
198
244
213
217
263
179
259
184
298
156
218
264
183
231
246
174
225
347
302
192
196
236
201
135
203
130
205
264
306
213
156
211
176
212
189
196
251
215
201
245
290
206
198
246
181
133
334
163
214
287
173
184
148
212
251
234
195
200
174
248
239
191
198
247
218
265
287
205
261
219
226
259
254
313
259
158
220
298
224
269
207
217
220
275
247
259
213
267
201
305
244
174
281
207
195
247
245
231
300
232
171
151
235
222
184
203
333
246
246
257
174
186
217
200
157
278
206
241
187
232
270
251
198
198
182
239
360
260
191
169
181
174
202
177
189
206
165
253
196
194
301
181
268
288
225
198
213
180
268
171
277
235
279
226
186
253
213
194
219
306
220
301
239
219
180
192
278
195
220
139
197
271
228
242
174
280
170
129
212
254
256
212
122
205
273
254
215
225
324
251
210
267
232
183
191
216
195
281
191
188
238
313
181
231
256
219
181
223
156
259
164
161
213
129
229
278
327
158
307
331
264
238
272
214
231
283
199
221
213
247
237
170
200
245
197
264
214
232
198
239
202
133
254
256
299
263
148
213
192
235
226
260
285
218
175
281
264
270
228
239
212
114
231
192
206
232
166
242
284
139
163
212
230
234
251
169
238
259
114
169
236
181
225
289
209
299
190
263
177
233
246
298
221
248
289
126
209
221
240
264
217
116
231
270
217
252
232
219
139
198
246
240
133
156
273
175
287
282
215
242
156
271
198
160
227
208
148
285
226
228
242
210
200
188
232
250
211
180
185
254
244
154
256
209
204
229
290
216
213
212
251
213
203
250
172
335
234
339
171
268
243
176
183
302
229
243
177
151
243
248
198
242
173
232
203
222
186
197
281
193
202
202
146
160
238
270
236
180
223
245
242
165
199
194
190
261
204
156
251
178
225
224
177
215
247
294
223
244
227
139
209
156
114
204
270
158
293
224
257
203
202
209
193
215
214
263
126
254
275
216
268
257
206
198
221
294
211
191
180
244
306
246
160
222
189
232
252
241
198
261
207
186
225
223
173
281
219
179
182
184
276
212
175
241
182
209
248
184
237
347
235
305
126
185
220
260
178
208
250
274
273
233
209
256
253
211
219
223
172
196
195
189
309
160
221
231
273
227
221
194
156
201
206
210
201
244
279
213
287
291
187
149
114
227
326
196
211
214
172
283
261
208
219
226
308
246
253
230
251
173
262
193
227
215
203
229
266
305
179
257
229
178
235
198
236
259
219
180
198
275
259
216
156
282
257
114
291
229
261
221
232
232
244
284
299
243
176
190
194
221
267
262
208
161
205
258
254
194
177
287
277
207
165
288
314
145
194
228
282
250
233
206
264
192
220
204
269
244
189
178
290
221
242
221
174
175
282
144
192
179
228
154
225
321
282
179
181
237
241
228
219
202
219
215
241
222
238
288
230
218
184
271
180
307
251
204
139
246
139
237
248
296
275
235
221
168
216
203
126
229
285
180
233
238
241
195
183
152
162
232
234
192
264
278
173
239
192
218
225
232
220
286
200
175
228
242
285
227
204
203
269
285
205
234
283
299
252
228
189
351
166
166
292
235
230
232
218
208
213
309
233
168
227
251
234
195
292
276
172
285
190
275
185
217
288
250
208
223
222
290
192
198
237
205
252
237
241
178
288
294
247
156
262
239
256
195
184
234
214
258
193
221
241
224
114
197
226
203
277
242
249
293
139
256
232
266
206
270
230
262
206
219
228
162
206
173
222
229
277
265
327
186
279
166
222
245
269
192
287
278
254
221
221
182
306
314
278
268
206
189
274
186
246
187
256
268
255
202
220
267
204
173
166
301
291
270
260
179
141
199
261
262
194
173
165
192
312
137
248
195
158
221
200
226
254
344
265
114
248
265
203
166
290
231
246
245
208
236
195
290
207
252
133
241
237
246
271
233
243
153
238
233
201
215
270
239
210
252
241
258
191
233
263
245
198
190
186
333
195
265
202
173
214
221
211
160
215
249
279
238
210
295
213
211
232
223
180
196
256
296
232
226
164
177
226
200
243
181
114
286
213
106
184
245
247
233
281
287
247
289
260
223
213
276
259
196
206
201
181
224
240
178
196
204
260
291
273
248
382
158
304
232
239
257
199
206
242
148
188
271
262
298
182
183
209
262
174
194
210
214
281
156
214
235
274
276
270
226
207
234
219
231
240
170
171
161
249
161
226
216
237
244
195
222
254
203
253
241
253
267
167
255
251
249
220
238
185
210
189
299
253
266
260
207
164
287
239
196
212
287
245
238
254
175
156
284
242
159
214
233
170
229
261
216
257
301
233
201
271
264
274
288
270
203
176
268
164
193
159
225
254
158
236
263
197
208
169
165
249
198
270
277
147
144
126
229
301
260
217
174
250
211
203
262
181
323
266
201
244
213
207
203
154
170
300
192
236
231
217
184
228
212
223
187
209
207
179
248
217
172
198
267
241
172
271
269
245
220
188
209
297
202
193
300
221
221
196
245
227
219
198
304
277
192
262
209
249
257
250
228
321
182
195
203
225
189
247
230
209
217
270
178
156
290
190
183
317
174
278
188
215
234
219
249
200
286
203
139
274
206
295
126
151
271
217
223
287
257
206
230
234
238
302
203
197
194
221
230
225
175
122
258
260
280
175
182
164
229
341
219
212
281
178
191
205
236
253
200
199
277
195
193
289
237
282
269
181
261
224
223
236
266
215
151
238
219
149
263
263
198
222
184
285
202
152
253
213
184
210
212
283
225
173
260
194
300
311
203
342
152
260
241
223
208
258
283
159
209
217
269
225
266
246
195
204
185
288
246
236
277
224
169
200
286
199
296
241
304
255
280
174
160
253
215
207
165
253
270
292
218
149
216
244
204
248
211
288
260
247
200
296
257
195
228
239
228
238
171
238
232
147
244
276
265
225
303
176
289
251
206
225
207
312
288
261
226
226
195
281
166
202
155
215
275
180
177
191
267
260
233
126
185
217
255
286
274
212
193
229
313
238
231
243
160
271
250
182
249
222
317
282
308
192
213
262
262
178
166
193
145
260
245
184
229
182
191
192
285
222
223
260
201
248
229
203
287
149
188
228
144
178
264
187
193
258
271
192
244
160
174
297
287
195
237
180
226
239
189
192
145
306
271
196
247
196
193
269
353
240
168
194
291
199
233
270
285
217
194
203
291
175
212
237
194
200
250
286
284
194
214
248
129
295
232
250
194
197
252
311
206
199
209
162
216
198
177
336
236
261
221
207
220
139
211
198
279
175
154
258
290
114
273
197
193
297
257
154
245
164
257
170
173
207
285
207
173
241
146
280
230
186
334
214
162
179
274
220
152
238
252
154
210
220
174
195
300
169
189
240
202
191
191
219
172
230
250
245
171
182
214
181
188
274
283
232
237
274
333
222
222
183
177
267
234
160
240
272
296
240
171
151
278
290
227
281
221
232
193
220
210
231
258
229
162
230
182
297
279
274
259
207
293
221
174
202
318
287
206
278
209
232
227
285
238
236
164
214
208
266
195
232
243
232
331
163
190
297
170
222
200
175
255
267
261
265
190
216
308
249
207
223
203
248
152
269
319
225
192
167
285
188
235
252
237
201
260
238
265
210
219
206
227
198
212
215
178
281
228
166
154
194
214
282
228
138
228
212
331
214
237
243
225
210
289
194
309
256
203
252
194
178
229
170
173
242
114
230
308
211
159
129
181
235
229
244
243
250
265
206
254
152
217
232
240
214
231
268
199
260
220
201
201
249
151
280
233
245
253
192
146
209
158
249
321
319
269
260
149
175
173
192
259
182
293
204
217
249
184
217
205
167
161
261
236
178
277
248
186
303
208
220
277
196
139
146
204
221
237
183
244
146
242
209
277
235
256
233
264
263
247
246
192
201
252
218
239
221
243
175
170
174
211
237
185
205
163
177
219
217
190
184
278
148
218
205
252
240
207
200
249
171
259
166
246
180
277
185
280
233
291
248
224
230
250
171
256
200
229
221
231
191
232
238
236
196
239
189
321
201
232
139
318
233
224
329
177
349
259
312
200
227
213
217
179
266
233
193
203
190
234
229
261
261
254
356
244
247
210
175
259
201
154
158
178
186
221
305
173
209
242
308
173
210
254
174
244
240
194
266
156
211
262
261
255
181
278
146
283
232
252
219
129
253
218
188
192
194
307
239
260
216
205
265
243
222
160
218
164
316
214
224
331
198
170
257
193
272
241
319
194
196
279
202
270
204
264
232
191
246
237
310
156
202
186
271
301
166
211
298
260
259
317
226
264
199
262
265
240
218
184
225
195
268
236
212
268
261
240
114
224
228
183
259
157
239
324
324
240
223
313
237
204
229
222
223
291
260
169
212
168
220
236
231
222
242
233
160
211
257
265
242
243
196
173
321
184
196
330
246
301
200
204
208
249
233
358
170
220
229
210
247
235
274
245
286
272
206
181
220
250
215
237
212
206
271
326
181
184
173
192
173
217
221
211
229
211
253
184
164
235
240
238
154
277
219
147
254
259
245
203
260
237
258
189
285
296
250
155
180
277
212
114
263
168
187
154
248
247
289
185
207
195
233
166
165
269
175
147
250
199
295
201
230
187
221
220
114
220
275
235
253
215
196
160
194
205
249
226
213
253
237
224
274
178
259
235
194
253
221
167
157
201
202
272
235
153
207
306
179
198
232
274
251
209
195
271
266
175
260
277
219
242
147
126
219
198
192
269
287
211
232
196
242
114
196
154
182
193
181
157
198
210
225
215
203
255
197
299
181
292
200
159
227
254
204
233
157
271
230
359
165
192
229
283
213
206
199
225
178
211
296
256
218
147
236
310
209
215
256
114
173
218
244
161
189
278
198
284
241
243
266
255
215
189
228
265
171
276
317
197
202
187
257
194
199
195
219
188
249
234
114
255
212
222
199
299
145
191
275
241
242
171
168
184
229
191
197
168
174
188
334
312
156
292
238
270
243
297
220
259
240
192
252
244
215
170
178
204
133
217
181
268
161
233
254
233
261
183
214
260
180
194
215
222
198
236
224
250
227
240
220
252
219
250
289
214
252
256
212
186
188
194
239
278
169
242
198
219
209
179
180
114
340
228
174
259
224
189
194
222
193
221
250
193
211
194
196
195
238
261
252
168
251
294
274
225
224
251
236
283
289
309
228
217
202
234
288
228
163
164
254
231
283
314
148
217
250
220
205
189
240
237
213
241
215
255
138
266
173
238
188
228
192
246
268
209
228
206
224
271
187
275
277
275
219
208
208
167
216
198
257
188
216
227
266
388
198
237
231
232
278
264
178
162
241
212
232
212
234
248
254
230
293
234
193
164
241
289
205
186
114
228
198
234
189
189
165
154
152
224
316
152
231
262
220
238
169
233
209
245
192
222
297
161
280
301
249
192
196
269
223
274
223
293
265
176
217
282
169
218
268
241
197
244
238
240
274
199
241
183
262
207
307
237
212
114
290
267
194
165
173
175
176
193
297
279
223
190
238
191
333
238
206
181
162
198
277
242
215
192
174
215
188
243
275
197
222
312
258
202
158
194
184
320
244
160
208
194
267
169
210
248
244
247
305
193
253
236
231
192
261
273
213
221
217
253
300
114
199
218
160
291
212
200
181
207
179
260
185
214
237
162
234
213
145
200
208
160
260
262
196
296
224
249
227
195
195
205
282
244
331
296
213
273
311
256
181
270
220
246
257
293
226
233
146
218
175
114
239
206
255
207
228
260
220
249
217
170
258
178
241
245
191
283
237
245
234
326
256
263
255
160
181
242
187
195
241
225
304
201
323
213
215
217
248
169
172
164
184
248
218
260
269
230
192
214
269
216
250
260
244
203
261
218
160
170
145
272
203
203
144
335
179
246
215
237
233
201
279
218
248
276
253
281
270
192
246
187
265
186
173
210
186
175
179
246
288
269
249
278
323
180
342
228
191
207
207
198
234
170
228
160
207
192
269
178
179
191
284
264
114
231
183
184
187
221
249
192
347
245
198
258
218
170
167
271
234
220
213
139
249
210
195
259
270
201
226
184
178
242
305
232
208
168
144
164
260
245
226
207
171
241
231
242
194
237
114
269
246
290
212
231
157
262
259
257
185
220
267
255
174
198
208
288
181
328
160
243
191
208
281
216
263
197
198
232
204
297
210
272
277
175
214
214
218
175
255
194
217
240
173
154
260
214
210
257
185
245
258
202
190
214
213
249
241
258
318
248
204
284
223
170
330
180
249
200
225
208
276
197
228
298
114
252
212
180
230
223
194
147
197
198
240
169
307
238
229
210
249
292
241
225
159
225
253
219
209
201
166
217
213
223
251
323
224
160
257
288
194
232
224
241
232
308
248
236
194
174
174
277
247
317
196
244
274
225
244
200
204
206
204
220
204
221
151
179
180
347
231
170
178
130
293
250
228
282
262
207
168
216
174
229
204
165
223
236
289
265
215
114
208
238
175
229
281
266
229
170
238
291
208
228
265
184
239
178
234
228
226
231
182
184
181
220
158
243
225
233
233
203
257
213
255
129
230
193
177
219
280
256
229
227
190
227
173
246
211
257
168
208
194
271
276
208
208
154
226
200
216
279
262
196
210
217
247
213
274
239
212
313
222
358
243
271
207
171
156
229
221
192
151
192
265
199
212
238
254
228
170
215
237
251
218
166
232
186
267
276
198
236
185
156
133
213
194
265
207
173
158
289
243
230
193
246
218
258
149
193
239
114
155
217
224
175
200
228
179
169
241
106
173
232
251
114
214
319
215
245
179
188
221
146
245
184
219
271
176
160
202
219
233
217
259
171
158
284
255
167
114
234
235
213
179
241
161
215
187
242
207
204
203
160
240
211
174
237
245
215
184
116
256
175
225
228
195
215
200
154
178
210
190
230
283
264
178
235
206
240
307
216
248
244
250
221
139
239
227
270
248
200
223
219
160
245
222
184
254
231
213
269
198
305
214
260
192
310
217
114
249
356
223
191
280
158
241
170
230
173
215
320
240
240
173
228
341
252
166
223
267
179
266
224
288
218
290
221
243
209
230
242
240
219
205
282
235
201
297
263
267
174
225
206
244
202
208
186
197
267
247
202
299
182
239
244
234
267
207
281
246
283
243
187
149
294
269
188
257
202
237
370
177
284
279
212
249
174
168
234
177
244
269
186
226
258
342
164
202
251
158
195
254
179
221
247
200
198
221
235
169
242
313
194
139
240
159
183
267
246
233
220
284
240
186
323
296
168
232
198
251
195
326
225
263
269
160
213
207
280
192
304
221
359
242
193
152
201
211
234
199
193
234
217
257
192
220
214
242
232
301
207
220
216
187
205
149
184
192
218
203
258
266
271
251
258
234
181
162
190
199
139
254
218
235
262
267
193
316
114
226
271
206
224
316
212
202
224
148
265
188
229
252
247
193
145
250
170
191
226
281
258
209
245
235
199
160
269
250
234
167
221
232
234
325
197
260
245
223
223
202
219
213
272
196
218
156
181
144
229
191
193
204
192
283
208
216
220
225
188
321
259
220
348
230
224
277
236
276
209
163
306
157
214
328
259
251
229
204
209
235
224
269
267
240
204
274
221
296
214
209
277
173
258
232
182
226
268
275
273
280
265
210
184
342
192
225
188
222
326
271
212
189
246
224
238
243
286
177
245
238
169
194
200
226
195
191
229
173
226
260
205
239
234
143
243
196
225
215
183
250
183
215
226
228
203
231
248
224
361
218
156
129
208
188
290
271
207
264
175
278
269
198
242
234
213
221
192
276
220
271
198
259
268
282
322
228
186
267
231
149
243
153
224
170
249
139
254
106
173
159
164
304
192
288
255
227
222
209
251
273
197
240
273
233
219
226
259
166
178
318
200
253
176
223
215
237
277
152
237
199
208
202
201
225
184
300
147
297
232
210
352
219
192
198
203
139
204
275
249
191
218
206
190
234
166
309
252
263
174
174
215
231
309
195
204
275
260
180
239
241
256
262
278
287
255
250
201
259
286
116
200
245
198
235
195
310
231
231
205
266
189
334
192
247
116
337
152
196
231
245
156
260
204
306
252
192
312
180
212
233
312
158
222
235
210
177
263
236
219
128
217
290
246
184
162
174
171
285
195
176
148
203
243
261
219
219
234
158
245
252
212
262
220
155
231
278
275
265
227
202
194
207
180
145
208
211
221
200
214
202
178
267
168
208
172
114
203
173
195
236
204
172
325
206
214
276
192
148
285
184
238
175
172
233
233
144
232
236
225
191
250
169
219
166
254
203
219
260
221
227
178
265
298
214
173
199
278
151
156
229
199
186
191
207
211
139
162
178
226
193
256
169
242
256
168
238
269
162
170
137
171
196
250
152
195
203
261
278
114
325
249
197
152
198
173
139
226
252
178
216
293
306
229
214
198
224
192
285
276
258
170
326
190
258
243
134
231
352
266
280
168
232
151
201
252
245
214
243
164
250
239
188
220
268
230
249
189
287
178
200
267
233
193
161
224
298
174
176
211
179
230
222
271
186
224
175
205
305
253
254
183
233
221
164
216
235
245
176
182
280
114
175
269
253
114
207
215
211
185
205
201
218
213
268
195
192
253
277
230
251
191
188
281
203
227
238
181
245
266
202
246
181
185
219
238
226
168
341
238
265
159
230
201
177
251
219
170
279
219
174
256
126
195
252
196
218
238
259
223
207
260
222
187
309
230
316
234
292
213
167
232
263
220
230
277
198
260
198
178
216
219
268
181
164
139
273
148
218
258
220
253
244
194
244
221
250
306
164
227
218
245
239
231
272
151
196
165
152
286
226
234
239
182
259
258
218
222
224
146
227
233
241
231
242
246
241
270
204
213
198
216
210
256
160
170
253
272
145
198
228
295
209
204
283
240
235
236
196
242
230
180
154
225
180
247
114
175
229
193
218
212
232
259
168
265
251
229
266
244
181
229
229
228
206
228
108
169
257
179
212
145
253
198
235
229
158
223
180
260
182
240
238
114
147
164
235
296
139
246
235
255
314
193
189
312
250
241
229
219
263
236
204
205
197
214
275
206
223
237
265
305
264
280
297
197
175
139
214
204
198
166
250
216
208
225
317
217
226
209
337
252
184
285
301
194
175
166
236
156
271
231
221
232
225
188
178
263
214
225
216
327
264
240
192
306
114
217
276
230
159
189
211
206
178
179
219
209
184
217
157
230
168
227
229
333
182
178
253
191
264
197
203
249
197
178
223
228
263
254
314
218
203
223
232
233
247
200
199
180
218
193
202
204
153
218
187
234
213
245
264
266
269
300
265
263
237
225
172
170
214
114
170
314
180
323
251
214
319
241
206
290
249
181
198
206
234
366
243
231
236
233
270
179
237
215
210
376
226
197
156
323
198
251
261
177
201
243
265
255
209
321
206
245
339
323
180
291
168
197
293
223
223
258
231
182
279
221
176
252
230
203
276
215
245
175
274
237
202
246
218
152
235
220
178
240
218
218
148
187
184
245
210
222
126
224
158
139
297
226
196
228
191
210
264
197
245
181
206
166
235
229
192
303
169
218
214
220
184
184
214
159
247
152
234
213
207
219
207
295
218
304
253
214
202
262
209
239
303
221
202
202
203
280
200
213
196
200
177
215
189
214
189
257
176
250
230
242
227
245
209
164
286
242
121
190
216
172
198
162
198
249
225
253
223
260
233
218
232
226
198
244
221
208
242
257
295
229
234
205
231
257
264
267
287
260
183
244
271
285
164
213
242
247
210
212
214
145
210
256
206
190
233
206
231
200
200
230
184
183
214
229
310
160
266
190
185
238
272
198
151
300
293
246
234
259
202
209
262
168
144
186
266
157
283
232
266
153
241
188
321
239
250
126
241
225
299
218
231
196
139
217
288
191
217
277
182
182
259
195
216
215
185
232
227
301
337
247
234
209
220
235
309
241
173
265
196
204
219
259
164
205
178
243
221
230
180
213
239
191
279
242
236
240
226
161
162
184
219
195
272
301
234
244
207
257
184
251
212
206
178
211
251
252
273
292
188
337
170
160
272
232
201
248
172
235
154
219
149
178
273
265
221
234
211
152
215
204
171
241
308
258
231
246
264
231
204
174
199
271
188
200
181
184
266
223
202
227
267
255
184
283
244
198
199
201
213
211
178
245
222
264
171
195
175
233
242
232
225
294
237
276
155
194
234
208
170
196
198
194
245
196
252
151
185
207
215
218
219
158
237
240
193
242
273
247
200
248
280
226
169
208
225
268
211
239
205
284
218
340
227
181
182
114
187
281
234
252
170
268
312
219
225
244
157
204
197
216
273
226
185
271
214
259
313
204
278
232
226
282
195
255
271
199
212
181
230
185
152
219
212
235
155
186
243
205
218
172
217
232
268
263
174
194
296
325
300
196
242
278
229
181
230
216
248
236
226
180
223
296
185
199
296
200
261
176
216
188
182
212
281
225
204
208
273
315
168
203
147
258
196
161
281
272
204
270
171
232
197
234
223
247
223
283
280
203
265
220
196
266
248
241
281
168
222
187
270
258
193
211
184
250
305
184
182
205
210
241
185
255
288
200
261
239
244
251
206
217
288
257
214
203
258
192
213
249
246
183
273
257
245
170
241
255
205
278
242
170
217
149
251
173
209
279
198
180
195
239
303
245
373
260
183
249
271
218
264
289
195
218
224
285
170
213
152
158
244
242
252
218
270
210
224
195
222
206
246
262
253
204
252
270
274
233
285
224
185
227
186
287
289
242
220
173
178
253
201
295
289
223
197
196
198
214
208
223
260
177
267
335
237
214
224
229
151
234
192
240
175
254
240
294
192
168
224
269
295
213
200
220
226
212
241
160
264
277
220
203
121
203
216
289
227
198
181
209
290
276
238
193
184
191
238
238
202
139
188
234
269
237
241
227
246
263
114
318
204
223
160
154
225
147
181
224
255
218
244
145
179
230
220
199
311
228
245
274
253
205
243
157
194
265
269
237
173
201
108
199
224
150
214
197
301
192
332
210
248
187
233
185
266
209
236
259
183
203
214
286
278
202
148
231
234
247
211
257
195
169
172
238
192
223
180
213
267
252
156
208
240
248
207
322
228
164
214
186
200
180
262
268
202
181
231
168
158
226
203
175
203
174
236
269
180
224
217
248
158
235
217
286
214
260
198
243
171
230
214
234
264
172
185
199
266
227
213
188
231
220
278
219
215
241
242
229
169
200
274
299
218
246
179
222
244
277
251
210
234
250
266
235
181
253
239
199
179
245
252
203
213
166
130
229
285
262
240
270
229
194
245
203
252
218
200
298
211
180
259
250
209
242
154
229
219
233
246
241
154
179
305
274
278
193
145
242
273
213
263
222
209
327
167
231
190
245
174
178
194
243
257
225
224
250
270
158
228
221
225
215
224
233
271
162
238
287
304
235
235
198
319
205
155
242
189
185
223
198
198
169
190
253
234
256
245
174
251
293
263
290
214
309
214
254
229
234
175
220
207
248
240
237
214
262
176
206
273
284
249
192
279
181
256
242
262
307
209
282
154
248
214
179
276
241
221
312
268
233
213
220
161
242
236
263
255
214
247
283
264
154
264
220
214
307
260
273
284
181
178
272
278
266
186
226
108
261
246
216
194
226
129
164
235
275
219
284
229
255
209
323
250
170
300
243
253
252
237
267
262
280
220
160
163
215
166
255
226
277
248
220
215
178
274
181
211
210
179
157
216
177
209
238
256
270
192
304
178
203
240
144
191
240
188
278
264
147
236
158
275
145
221
273
222
184
139
346
200
215
277
215
228
162
240
229
178
259
294
189
180
214
199
189
230
215
340
258
228
270
204
197
195
259
247
146
208
179
233
185
266
262
262
146
225
178
239
308
197
241
292
289
274
215
201
278
182
181
242
164
283
194
222
205
158
178
207
182
271
233
205
187
248
200
194
241
202
229
280
255
246
259
145
169
268
202
277
186
181
239
213
211
291
214
224
247
192
225
211
191
179
233
209
277
349
184
215
209
214
200
156
223
225
192
199
193
145
219
218
217
200
133
195
258
198
258
209
114
199
185
209
162
199
155
253
249
206
160
116
215
154
221
169
169
172
272
191
332
271
214
229
285
166
288
213
114
204
231
239
247
244
151
195
167
217
108
231
229
233
237
155
246
165
226
148
193
222
237
249
215
310
221
198
217
196
178
237
296
247
221
163
243
216
266
233
183
218
192
263
243
315
155
191
185
178
240
148
227
181
244
209
183
216
259
185
234
208
292
179
210
261
114
211
221
178
213
297
166
251
193
277
239
259
241
258
179
253
295
196
283
245
202
252
219
205
235
202
236
251
173
140
146
153
185
237
153
192
234
299
188
271
161
208
239
238
214
238
275
229
126
186
195
180
229
178
264
222
174
152
292
237
227
158
355
236
238
287
210
267
235
214
214
246
191
224
264
222
219
238
248
223
290
245
170
209
176
215
234
271
242
183
238
198
232
180
262
235
266
213
161
215
161
189
235
162
199
219
303
266
205
223
284
173
210
238
229
278
240
274
162
283
152
220
200
228
270
230
207
221
185
222
213
253
229
254
279
258
157
184
346
227
213
283
264
284
235
181
114
254
222
160
242
270
238
205
229
194
236
192
230
198
191
161
229
279
164
263
285
239
246
278
289
178
196
242
242
262
217
187
249
250
229
207
253
221
285
192
225
191
251
240
197
243
206
277
267
202
173
169
278
256
267
324
116
203
174
158
265
187
199
223
168
217
192
172
135
255
255
361
250
177
160
224
152
156
225
299
209
220
189
240
174
270
192
207
287
160
235
146
253
223
195
236
199
287
221
246
139
174
206
205
234
241
223
202
325
177
218
144
244
256
240
196
270
277
213
202
160
257
309
170
308
234
199
207
219
200
197
219
293
251
178
192
192
260
340
296
196
231
156
268
199
219
189
198
205
181
190
257
198
169
199
175
265
177
232
167
202
295
244
114
217
220
154
258
222
338
205
205
200
184
305
166
245
279
225
184
241
233
279
313
263
198
194
264
192
323
213
226
223
304
351
277
248
202
249
264
230
262
217
175
231
307
185
247
290
114
239
258
192
232
229
239
180
172
237
167
220
278
232
225
241
153
262
220
230
198
254
169
114
366
179
215
259
234
223
214
156
174
229
255
170
146
256
242
245
261
219
146
242
196
199
219
239
220
275
199
121
214
246
200
146
243
259
187
175
228
217
198
175
194
199
243
149
241
233
263
190
232
206
248
256
222
214
148
220
163
209
232
254
194
302
274
254
225
153
187
252
231
229
206
234
298
114
260
198
237
298
188
274
240
264
199
194
169
250
289
241
171
290
232
188
275
279
334
241
211
233
213
222
198
218
174
208
273
276
301
234
185
168
229
173
212
270
311
267
152
274
245
197
217
257
290
221
180
216
296
197
259
256
194
194
168
296
273
262
190
185
324
231
215
130
217
211
249
238
210
354
211
233
258
213
114
306
247
185
260
315
234
187
221
240
232
234
203
231
289
236
216
260
245
188
235
259
227
296
174
210
189
301
301
214
212
244
218
253
169
178
247
194
250
185
249
188
293
250
175
170
160
226
222
273
148
320
198
297
220
261
231
252
241
233
215
299
162
215
197
315
322
277
247
279
199
217
254
232
208
193
267
233
266
244
185
236
210
288
220
294
182
243
156
250
242
279
269
232
235
200
227
223
166
202
275
239
194
234
256
218
270
225
179
156
334
178
193
207
152
230
197
261
174
235
301
253
235
264
283
215
246
230
262
263
151
298
229
281
260
187
230
214
252
259
259
196
211
249
198
173
222
146
231
248
229
273
201
175
210
211
225
203
139
249
282
207
246
181
114
243
279
114
160
217
204
221
201
212
213
176
258
241
258
219
220
168
238
196
139
282
271
233
214
211
250
181
215
303
226
289
250
204
126
283
254
156
172
194
184
245
262
277
237
231
246
198
211
252
156
209
274
255
233
317
267
262
263
229
235
227
215
206
229
224
228
159
234
223
284
160
244
270
251
230
256
218
149
130
272
197
237
181
281
258
220
184
207
160
206
114
261
164
203
235
232
298
230
210
246
218
278
269
306
241
133
219
196
246
305
247
194
335
165
217
213
248
209
285
252
184
191
197
290
217
185
286
230
180
258
220
145
182
152
233
273
173
126
244
171
208
248
154
199
235
160
232
227
226
209
182
207
303
158
221
280
240
182
223
181
174
261
114
157
160
271
222
244
274
229
178
275
279
246
250
229
215
318
253
279
200
309
165
194
250
297
171
151
200
227
252
214
271
202
239
311
238
242
274
228
209
189
202
163
200
198
208
182
179
114
267
220
181
209
232
278
233
211
216
169
238
229
237
277
202
205
259
157
205
269
203
205
184
341
270
196
203
261
260
255
200
183
201
228
114
227
255
209
193
230
204
261
189
214
213
291
232
140
278
241
232
168
191
289
139
238
219
217
168
169
156
178
225
210
266
191
169
218
249
210
264
221
229
196
198
246
254
139
227
246
310
242
241
264
270
170
201
211
274
206
257
220
223
266
175
207
199
164
225
261
285
173
212
241
145
200
116
188
211
165
185
271
251
275
181
215
253
258
226
215
228
209
191
195
253
202
192
247
188
249
251
216
265
378
168
208
211
254
200
309
222
281
231
256
192
139
198
213
275
275
255
261
230
186
249
219
240
228
305
184
228
281
195
244
228
244
231
168
189
315
222
222
204
254
175
284
292
214
242
175
207
257
216
173
256
214
232
250
279
241
160
215
179
221
156
199
248
204
219
195
221
205
180
215
173
202
301
296
174
257
275
150
268
307
201
229
195
213
211
173
203
285
234
216
230
206
193
227
156
184
251
191
207
198
201
200
193
144
206
227
230
114
143
229
224
226
225
222
276
216
231
202
224
245
144
219
310
239
239
166
352
235
163
185
217
180
231
217
203
176
226
246
241
238
312
156
259
114
275
169
270
243
239
255
160
226
323
204
207
195
208
206
241
286
269
200
259
315
166
157
328
255
224
302
228
270
240
303
218
192
205
240
231
222
295
262
242
255
303
235
221
256
126
198
220
183
200
223
189
241
166
209
272
205
233
211
279
195
280
198
262
208
223
211
233
224
185
220
253
260
219
284
240
301
190
215
157
255
308
175
196
207
158
200
184
255
114
251
253
317
259
275
192
155
181
306
154
273
191
216
310
196
240
186
225
253
253
197
172
277
244
249
224
247
160
170
312
237
219
262
210
182
231
195
228
214
237
169
221
196
182
132
211
221
275
321
192
210
226
309
228
239
299
301
268
198
181
275
195
215
167
228
288
214
243
225
244
231
226
208
252
233
256
202
178
214
174
175
216
293
195
277
170
200
183
258
196
184
175
272
152
232
187
255
231
160
245
267
231
269
219
207
194
249
223
161
222
218
253
219
250
213
198
242
213
215
228
206
198
222
265
230
258
195
235
220
151
202
254
216
239
148
196
234
184
193
191
159
177
233
187
261
249
200
244
245
213
180
251
194
230
291
275
293
233
189
228
260
240
187
223
212
244
158
316
142
164
259
276
247
239
238
288
175
219
126
224
220
202
162
216
197
114
186
220
163
182
229
168
323
220
217
305
134
224
184
235
196
266
235
145
207
192
276
279
196
153
159
264
263
178
223
156
218
210
270
173
197
195
234
255
147
228
227
228
196
204
274
201
260
218
269
286
234
108
190
177
236
215
243
258
241
195
205
156
268
170
219
184
192
253
276
204
108
293
283
202
234
228
259
210
284
242
190
219
228
236
252
179
220
201
265
221
227
194
252
129
213
194
288
196
252
281
218
283
201
295
256
248
226
181
254
238
251
202
284
150
167
184
221
188
277
228
238
244
266
282
162
211
238
106
290
191
224
180
177
227
291
241
195
233
249
278
222
226
252
217
256
240
260
158
209
248
224
260
173
191
188
261
171
225
216
297
200
200
202
272
223
226
190
173
242
231
274
269
241
210
240
249
192
234
199
224
251
207
204
271
219
230
326
221
262
231
189
216
188
205
262
220
251
233
213
249
274
301
175
192
202
232
176
304
293
265
203
250
175
208
295
164
181
149
147
167
234
266
245
244
158
280
234
199
184
144
166
108
215
170
180
215
271
264
238
297
129
201
224
264
251
215
210
148
255
226
201
234
186
312
162
224
241
265
162
139
184
156
247
269
191
226
273
243
250
258
221
264
165
216
248
225
261
161
305
214
170
255
216
205
199
187
224
299
202
241
228
303
230
208
207
190
312
295
236
196
286
190
247
218
173
173
153
172
223
193
266
247
164
185
160
211
262
181
264
300
168
185
214
274
272
185
224
239
201
114
210
208
246
180
179
217
265
258
180
301
161
229
240
233
213
284
331
233
228
156
192
219
220
208
245
211
178
224
239
195
260
245
314
188
233
257
116
277
267
221
237
218
260
249
193
210
305
219
247
249
278
218
274
233
198
215
192
163
193
232
279
201
200
304
238
181
170
205
141
222
199
193
189
212
258
191
283
152
148
278
202
228
181
275
269
252
259
261
265
194
228
227
252
277
168
226
233
191
156
169
219
283
145
114
303
272
206
278
180
211
183
243
199
249
276
198
202
195
175
252
255
204
209
274
243
162
196
263
179
218
211
209
231
297
209
200
170
273
170
192
304
213
153
275
258
174
265
264
311
217
254
167
162
268
182
265
299
202
229
225
237
261
282
234
148
263
206
196
212
203
232
161
234
198
232
215
213
225
220
211
247
268
228
153
266
247
167
273
230
273
251
282
205
198
188
203
177
159
293
223
290
259
263
247
167
271
211
247
228
266
179
180
211
211
273
309
212
240
178
257
371
198
162
251
265
238
299
227
191
315
244
216
275
172
282
174
289
200
234
281
273
239
226
114
194
200
156
267
199
177
247
232
198
290
313
170
240
246
235
231
256
243
281
168
293
284
238
188
114
215
168
286
262
265
326
185
205
310
211
276
240
198
299
200
202
247
323
254
175
196
200
276
236
245
208
266
271
253
226
186
254
190
194
321
240
165
254
275
266
234
285
189
267
211
222
307
208
271
267
193
329
214
162
198
219
197
228
211
276
303
218
198
232
210
114
194
275
187
273
145
234
161
193
199
209
360
268
264
273
282
149
207
205
276
183
290
297
265
247
116
203
174
211
165
279
308
202
222
249
263
198
156
175
206
220
255
196
247
195
225
269
175
195
218
240
185
195
266
195
186
235
267
212
168
239
192
240
247
267
156
197
151
207
163
222
190
211
281
200
321
279
156
235
201
302
230
190
267
209
195
207
188
242
243
286
224
204
204
211
254
243
225
204
217
227
241
227
145
234
178
175
253
265
213
206
203
320
319
147
204
219
267
154
258
215
219
213
165
257
278
218
203
254
191
156
206
213
114
251
239
205
175
311
231
175
238
246
228
237
175
221
240
224
300
203
297
232
253
198
180
285
246
217
238
243
275
206
245
225
240
220
243
239
285
250
243
241
166
240
235
230
238
209
229
231
234
211
245
222
243
201
114
201
170
219
233
181
277
261
266
198
237
217
336
243
149
235
151
180
247
186
243
183
214
236
249
224
164
220
246
252
276
248
333
214
261
199
312
265
203
266
214
225
199
199
244
274
208
223
248
231
194
237
209
327
162
255
155
255
254
303
290
230
326
244
114
228
257
298
214
210
237
312
108
265
212
205
351
197
274
233
246
189
262
267
214
266
175
217
168
192
234
288
220
262
221
169
200
184
242
251
188
246
286
218
285
218
212
254
293
194
269
250
217
243
297
211
270
174
252
192
166
250
207
277
223
210
268
203
192
192
170
217
181
259
259
207
255
264
247
234
151
244
196
209
240
252
250
204
207
208
280
189
114
243
260
232
194
309
173
181
195
227
175
230
206
217
273
214
298
272
238
219
211
250
181
212
217
186
241
222
177
234
262
247
235
296
219
205
203
285
178
199
180
181
170
173
292
174
255
223
236
231
259
171
152
215
303
215
203
238
193
215
232
238
345
259
271
249
259
326
330
245
194
265
166
184
321
208
201
208
215
248
257
218
235
209
242
181
187
220
178
238
160
194
302
174
206
235
174
281
210
230
189
238
158
214
185
266
188
252
268
293
241
289
309
200
218
243
261
169
186
241
245
234
187
247
173
235
294
237
224
194
267
156
303
232
192
227
222
231
170
243
293
245
224
227
217
208
221
189
230
194
264
298
184
181
234
213
260
186
258
206
232
224
234
219
230
204
336
183
236
199
160
194
176
226
206
271
267
254
261
257
233
218
287
284
231
199
207
183
156
178
178
273
208
249
244
244
256
309
268
223
256
295
246
216
215
247
196
284
296
175
144
208
214
202
215
201
190
242
174
211
192
229
203
233
337
237
247
201
188
266
173
198
162
219
178
207
187
294
253
265
228
315
155
174
220
202
313
203
300
206
265
259
224
177
225
185
209
149
178
261
277
161
265
161
208
146
294
231
281
229
251
235
282
247
237
195
246
189
220
193
177
156
173
234
250
211
297
231
178
197
210
199
262
264
278
176
207
256
236
139
205
279
262
305
224
215
147
227
192
174
243
192
230
235
239
272
208
246
345
227
181
218
233
252
244
241
251
144
216
254
180
203
194
263
182
248
169
232
253
245
242
221
245
263
213
239
236
197
232
277
251
287
126
283
219
199
231
287
226
206
246
254
208
226
160
232
299
242
144
239
201
199
247
221
191
268
261
262
206
261
301
238
232
247
247
154
178
269
202
201
220
203
288
230
260
209
313
204
240
219
241
147
238
221
237
226
298
219
225
159
318
208
246
230
196
170
240
195
202
259
257
198
229
328
145
272
232
151
283
243
293
288
222
204
240
287
226
283
292
177
210
262
276
181
160
114
191
178
221
280
243
186
237
288
303
253
251
285
206
235
259
116
185
151
310
191
263
193
240
222
202
205
217
295
246
129
279
219
203
255
200
247
246
245
247
220
229
290
226
161
252
242
232
200
167
210
190
183
273
213
181
238
262
234
169
213
179
165
226
238
222
237
308
219
224
189
225
232
211
191
321
176
232
155
220
170
210
237
228
207
252
231
209
230
203
166
157
288
248
247
293
156
193
186
237
217
194
229
189
222
261
315
160
213
106
198
240
239
264
191
168
211
204
183
199
222
205
201
247
263
173
126
114
180
253
249
230
178
234
198
288
241
161
250
215
212
191
230
258
241
327
325
237
146
269
184
209
258
175
209
188
262
202
286
174
315
204
298
191
255
206
204
244
344
221
206
247
219
219
267
171
271
235
230
278
206
276
262
190
222
160
192
241
192
188
160
300
229
228
223
218
286
187
233
158
256
234
205
237
193
126
283
214
197
267
148
275
249
236
197
295
240
242
325
220
162
196
321
252
254
192
182
325
211
254
192
295
238
236
174
227
247
151
260
179
260
223
284
187
181
220
299
212
309
213
236
178
203
165
239
163
248
205
273
237
235
215
269
204
242
272
206
312
201
275
166
152
263
265
245
256
192
264
211
235
273
232
257
184
225
270
295
231
192
217
188
222
252
224
183
238
240
195
234
204
247
212
281
265
264
225
254
233
196
261
255
378
199
188
227
241
282
170
233
134
206
184
201
226
254
193
256
202
175
176
325
245
278
291
250
184
277
214
194
210
238
147
144
261
260
264
221
199
259
179
236
294
161
211
278
192
237
170
178
215
114
285
292
221
263
229
296
146
265
261
249
244
181
261
232
213
190
151
212
176
290
190
200
234
237
268
279
207
267
265
237
222
234
243
259
169
272
199
273
271
233
215
171
207
264
122
239
114
236
207
200
265
198
218
298
218
245
211
201
285
244
234
233
246
238
181
259
234
185
185
196
274
280
268
249
241
204
270
207
211
281
292
155
186
195
271
202
256
185
259
337
198
159
294
188
294
185
224
222
200
212
139
227
280
198
233
192
175
198
311
224
235
221
235
246
261
204
233
246
227
187
240
231
245
170
255
209
208
291
304
249
224
256
282
235
272
315
169
235
256
240
223
232
335
260
205
249
230
200
108
185
286
285
224
271
218
302
210
226
228
244
186
258
240
192
202
321
241
158
299
175
196
270
230
258
271
192
330
178
178
301
237
184
214
186
240
198
242
225
250
222
225
281
233
218
282
156
160
147
238
215
193
156
292
195
260
179
263
221
114
193
273
292
193
237
174
250
167
194
196
114
275
241
200
139
162
235
351
152
167
248
185
250
197
242
214
227
268
255
215
179
301
213
227
254
227
306
315
162
243
128
279
224
164
223
180
183
234
240
173
215
273
232
420
244
153
275
254
197
165
235
212
199
225
194
194
222
211
219
273
275
206
269
269
275
280
220
220
231
196
211
259
300
264
208
354
182
114
188
286
222
294
337
299
279
158
193
156
339
231
234
221
225
229
223
222
247
200
254
193
272
209
212
296
251
159
257
224
114
282
259
225
285
228
247
224
241
176
267
170
198
258
303
211
158
277
255
251
259
247
276
216
160
253
214
233
206
156
279
203
207
216
173
260
211
185
260
249
178
224
235
205
268
320
282
213
192
273
220
263
228
180
199
238
214
222
122
295
219
203
268
209
223
156
212
245
258
225
278
252
233
220
235
194
228
281
196
199
114
238
210
275
246
248
203
306
203
264
264
337
139
228
190
209
126
230
251
185
187
198
245
258
234
162
198
209
160
233
227
222
196
258
219
183
251
240
187
257
279
232
114
199
250
297
224
194
254
178
203
184
319
237
244
258
266
205
232
173
178
192
200
169
195
202
161
233
232
158
272
228
251
297
254
340
197
289
188
287
146
194
249
191
249
233
149
181
240
114
245
201
300
251
228
247
255
170
206
259
273
248
246
201
238
168
227
205
233
326
303
192
203
207
311
233
164
282
236
237
191
315
232
241
182
166
273
198
182
116
264
173
168
245
222
263
213
249
200
203
197
346
145
213
272
258
181
187
288
206
207
190
253
212
220
242
195
168
227
184
179
188
189
284
304
219
233
221
198
172
173
220
174
233
203
207
239
204
328
226
227
273
192
296
270
194
263
195
177
219
223
192
162
144
168
218
249
160
274
279
309
201
285
114
182
243
242
203
200
253
169
152
321
146
196
258
190
173
327
231
201
213
243
176
212
175
202
250
245
158
251
176
195
214
278
244
227
207
212
189
289
178
251
218
227
239
236
203
225
194
221
114
274
219
286
245
202
114
284
240
192
224
235
309
205
225
166
156
181
229
259
162
287
234
282
198
237
175
215
186
202
260
235
237
142
239
195
222
180
238
298
218
235
237
238
274
199
231
223
226
268
262
170
250
208
215
227
257
264
238
222
175
214
298
277
202
211
187
215
223
274
215
223
235
311
225
327
282
133
243
204
219
240
205
250
267
267
188
264
275
264
152
154
246
186
164
236
170
272
245
243
244
280
227
299
280
133
229
166
225
288
219
258
193
301
253
225
241
169
181
237
286
260
271
245
210
177
214
230
203
249
256
228
214
305
216
226
188
180
189
184
167
266
213
202
286
245
279
178
300
235
271
169
218
226
193
267
210
233
179
235
224
196
217
251
152
223
173
156
312
244
259
266
217
291
194
256
273
207
224
246
184
301
206
280
203
229
266
176
264
160
249
157
294
256
195
237
214
229
192
202
319
250
336
198
239
171
206
184
237
256
205
208
225
213
172
208
139
234
267
126
225
160
186
220
190
253
237
319
184
167
239
167
164
170
280
275
234
219
263
189
221
222
203
226
262
237
250
197
232
180
195
208
261
227
308
200
235
304
255
232
175
215
290
212
190
227
250
219
245
189
183
234
225
215
245
233
314
247
275
189
185
224
213
168
219
173
239
264
195
266
279
247
193
218
297
267
273
197
266
230
266
244
186
114
304
220
211
184
257
175
201
230
258
289
228
176
229
247
114
126
205
260
200
248
246
223
246
221
255
223
165
224
227
242
214
336
244
249
225
196
216
246
143
252
274
240
247
209
244
233
225
223
202
225
333
240
367
154
152
314
254
158
202
161
199
233
197
266
221
218
240
211
204
271
224
169
234
272
301
245
273
200
273
223
201
241
232
199
256
191
178
209
282
230
241
190
237
164
199
183
202
278
308
322
234
156
226
227
238
151
206
203
238
172
263
180
184
194
217
231
225
296
220
250
270
196
226
230
323
175
206
231
217
267
263
194
172
225
218
169
182
233
235
257
173
246
212
195
233
205
199
239
284
230
178
194
263
251
203
294
245
315
202
253
235
191
238
266
195
215
242
229
235
184
156
296
200
268
170
251
195
288
209
204
160
122
299
184
241
167
231
139
229
276
178
211
262
229
225
229
213
190
265
204
154
243
244
303
272
235
164
244
290
214
202
182
209
294
175
187
265
174
152
211
206
242
149
220
231
189
224
257
242
203
194
177
278
183
240
180
224
207
200
192
230
284
264
211
278
198
229
199
166
225
281
245
260
165
188
278
207
233
179
228
257
210
224
258
193
239
205
178
224
299
276
172
160
202
205
227
285
192
270
217
235
264
174
267
185
207
273
160
214
220
243
274
200
281
233
189
296
240
191
158
178
166
306
207
170
256
240
196
270
248
234
225
241
186
217
289
241
239
221
139
171
182
162
325
108
205
318
246
224
232
229
198
222
238
189
264
227
226
325
264
153
144
255
232
267
293
316
218
215
265
232
166
233
130
249
114
290
259
154
143
212
240
151
267
246
284
252
183
144
194
275
170
212
280
169
218
219
196
239
230
218
170
201
195
263
311
234
245
252
236
166
244
197
229
274
298
264
114
216
184
274
231
185
168
322
265
215
269
199
188
189
178
212
128
259
178
284
174
242
170
230
198
229
157
171
265
212
189
209
145
355
181
252
315
198
203
285
239
154
180
315
252
142
315
168
253
200
114
191
204
114
177
223
330
225
219
277
214
237
206
174
299
283
241
258
225
240
278
255
250
205
191
173
201
139
286
114
211
296
276
219
232
229
260
233
183
209
155
200
269
206
224
181
229
238
171
178
229
227
116
192
268
245
116
216
291
238
155
114
259
281
224
270
222
213
170
193
250
161
192
242
174
242
256
223
194
263
218
215
149
226
260
130
170
178
211
213
266
198
187
320
199
276
203
233
257
309
224
257
160
326
263
295
246
296
212
170
309
207
191
211
212
271
224
207
208
242
199
200
254
164
260
253
310
243
211
210
166
171
164
154
181
194
236
180
248
208
201
271
211
156
196
240
274
198
216
253
279
184
181
205
219
219
181
188
141
227
320
201
220
157
164
283
213
260
258
126
259
220
259
236
243
165
231
293
225
196
252
147
184
282
159
304
229
160
285
160
242
198
195
221
230
197
229
261
205
200
188
200
226
227
244
297
206
275
277
262
244
223
257
238
265
169
220
236
196
210
194
185
238
300
175
246
190
235
212
191
201
198
114
215
201
199
271
248
156
329
201
158
126
220
217
222
204
232
191
255
193
253
240
108
246
149
234
276
192
201
170
193
196
283
245
221
186
208
319
200
235
255
195
251
171
232
310
222
217
207
220
229
262
206
235
178
213
154
216
257
245
255
199
259
274
267
283
261
253
235
211
186
259
203
231
203
161
240
246
275
166
198
154
198
173
229
275
221
171
189
197
230
316
235
221
235
227
251
254
216
197
179
233
265
229
256
213
229
162
201
149
169
121
257
206
224
257
222
203
193
306
237
244
211
247
139
229
225
247
245
172
114
282
234
252
258
186
257
222
181
191
178
228
301
197
233
219
245
238
215
171
220
169
212
254
198
192
204
140
236
214
244
144
251
254
152
165
228
300
180
249
202
219
189
233
226
194
188
158
202
161
154
206
216
305
227
298
185
277
190
266
165
218
251
216
219
200
220
212
154
144
267
229
161
215
243
274
227
258
242
141
198
216
299
231
231
296
227
235
179
317
267
173
303
182
290
217
169
202
297
296
191
271
267
229
282
261
226
205
208
179
169
205
255
241
226
222
274
150
228
228
228
139
161
226
245
216
262
299
267
212
277
200
261
336
243
224
275
208
235
308
192
286
279
241
296
265
188
261
220
139
190
274
300
213
241
256
295
255
198
145
368
202
245
185
281
198
277
114
298
193
219
173
147
192
286
297
279
281
260
253
256
277
203
204
242
280
203
235
155
261
239
222
259
233
180
169
168
206
196
222
265
204
239
160
170
150
203
257
155
267
194
205
292
184
184
197
191
222
242
212
214
226
301
203
244
180
232
211
206
217
211
194
264
221
126
231
247
192
237
233
278
247
133
263
233
203
175
179
184
255
273
180
165
251
173
245
220
198
236
222
149
180
208
287
178
259
247
209
170
243
180
160
305
221
184
186
208
255
225
230
181
198
161
203
167
291
217
232
220
237
253
254
270
175
218
262
251
272
271
230
231
223
250
243
206
235
200
159
261
205
170
232
149
229
220
238
227
140
299
175
312
211
174
204
152
317
220
241
180
244
198
188
169
240
243
214
140
216
236
200
217
223
241
223
181
190
178
193
260
315
319
196
203
223
299
309
279
245
221
216
200
205
250
219
253
351
282
235
114
272
248
175
204
279
324
211
152
282
284
313
126
228
304
296
160
255
282
201
219
296
171
276
265
192
206
181
237
214
336
233
177
207
234
216
256
265
214
250
180
279
221
144
213
167
200
234
254
210
177
260
237
196
165
237
196
240
209
213
214
234
340
195
170
234
217
235
208
212
236
208
296
204
231
252
296
181
246
216
232
222
199
256
216
229
272
231
170
193
274
239
314
222
257
278
290
182
246
193
216
234
206
195
256
324
309
248
198
279
227
267
202
238
241
269
266
264
157
180
233
317
189
291
174
197
142
224
245
229
273
180
216
210
235
244
176
262
248
228
250
278
202
239
263
163
190
322
238
219
276
161
221
217
172
158
229
227
297
224
334
221
273
323
192
332
243
194
149
265
146
129
189
197
196
259
203
230
169
238
284
218
166
249
241
193
227
209
200
236
218
221
250
219
292
235
199
305
231
212
192
181
158
268
211
156
242
266
178
282
195
167
175
250
248
148
188
157
165
225
224
224
187
306
320
191
314
221
225
231
222
248
160
165
213
263
208
175
211
280
260
215
202
238
199
242
309
292
196
286
151
260
256
228
228
245
298
217
237
228
296
272
203
236
177
277
177
225
269
236
241
226
262
193
299
273
164
182
198
191
218
221
158
193
241
164
255
199
172
247
176
199
219
242
228
248
240
176
203
227
148
322
206
195
196
192
241
253
156
177
285
315
231
114
192
187
224
327
237
269
227
283
218
218
241
201
203
249
333
227
196
208
283
160
175
203
190
321
220
238
253
234
248
270
220
277
264
154
189
169
256
186
284
213
228
155
160
285
254
214
232
179
263
264
231
217
240
192
162
227
246
253
224
261
334
193
333
272
264
175
285
202
279
170
232
195
291
176
219
252
170
265
245
210
247
166
226
234
262
175
292
149
270
216
298
260
193
233
291
190
264
232
271
204
183
272
206
188
204
234
206
280
214
126
239
195
259
246
241
197
253
273
195
232
234
239
178
283
177
256
203
222
187
252
166
226
154
272
199
169
292
223
155
183
283
169
226
267
235
217
173
260
235
224
240
297
289
192
225
248
258
227
248
321
169
122
197
144
304
271
217
175
208
292
276
242
244
306
209
232
233
176
226
221
166
338
251
193
230
272
224
255
195
224
287
252
244
214
249
298
154
190
170
175
185
129
259
253
241
182
227
176
239
196
266
146
172
193
219
350
242
274
191
236
209
195
263
193
229
166
146
283
286
229
225
221
230
208
317
236
252
165
320
298
178
233
200
179
216
183
247
265
215
116
291
205
223
185
173
184
177
324
210
169
194
232
154
180
222
174
230
281
264
305
326
242
278
213
149
260
232
208
198
314
208
178
187
240
276
198
209
225
161
197
239
207
173
254
207
188
148
250
285
294
238
170
147
266
178
266
206
211
270
175
223
179
239
254
178
234
106
233
271
233
310
263
240
263
147
284
213
227
198
217
249
144
234
198
265
232
233
228
261
238
268
180
198
196
271
223
211
269
202
231
191
187
206
225
206
282
265
252
173
193
230
338
305
200
234
188
313
301
285
208
173
186
251
160
264
260
194
224
193
139
242
216
182
270
179
191
296
230
215
248
353
203
176
269
210
197
238
172
246
222
257
248
272
184
238
169
208
273
229
192
202
158
189
165
205
246
283
332
206
247
218
222
289
186
141
144
240
238
276
235
162
240
173
192
201
160
251
207
209
209
183
184
209
176
267
203
219
243
202
245
244
114
220
217
225
233
207
192
300
249
201
205
223
280
252
180
296
235
197
240
180
201
240
206
278
202
186
208
234
247
203
195
225
151
198
263
173
321
220
279
213
151
178
213
144
271
322
290
192
189
297
256
244
172
248
190
192
303
322
204
235
234
241
212
205
242
263
254
287
151
155
289
204
274
233
240
214
203
274
291
180
309
221
239
192
297
244
199
181
203
229
196
352
230
170
284
255
233
151
269
193
308
286
248
250
186
161
176
252
279
253
233
234
198
284
291
186
292
181
252
277
200
204
160
289
277
158
215
285
217
260
204
227
255
214
235
209
266
223
298
299
170
200
221
224
169
175
229
246
151
246
228
192
220
169
178
265
209
218
202
261
212
249
230
235
167
202
208
199
216
234
286
198
203
249
225
214
173
173
326
238
282
247
192
206
178
221
184
225
218
296
257
267
245
219
200
156
207
291
239
234
199
219
197
179
237
223
172
213
259
233
229
194
302
282
231
232
159
272
241
189
174
196
251
160
197
274
247
204
170
204
192
201
207
264
202
252
258
259
262
206
234
167
239
211
192
202
192
151
287
199
214
212
152
184
195
284
282
148
166
239
164
273
174
267
214
342
191
244
283
185
247
335
222
289
245
265
220
145
173
209
179
230
221
222
283
239
209
232
114
229
284
228
297
252
221
268
185
274
184
114
244
266
212
235
209
240
195
175
171
244
195
195
251
203
241
299
207
194
201
200
240
283
209
327
174
256
175
221
198
253
227
291
243
192
198
296
167
175
233
175
147
371
199
192
238
266
264
267
178
205
212
310
220
272
249
216
157
240
219
243
219
160
273
208
191
380
200
234
220
218
225
257
183
226
208
218
225
160
283
269
192
252
244
223
221
195
314
176
192
253
178
287
248
199
265
130
233
222
158
206
161
220
229
209
154
221
228
226
186
227
233
209
310
247
210
196
344
262
233
315
266
221
168
152
292
279
256
269
208
229
262
241
279
191
145
242
243
229
274
210
262
180
184
280
264
218
192
203
222
247
234
196
219
188
214
238
253
243
221
153
256
258
252
191
250
173
251
295
205
285
170
208
229
231
257
225
208
225
200
343
219
324
325
202
281
250
197
197
183
217
162
207
291
250
236
240
228
205
193
312
184
194
237
182
215
244
161
275
256
186
211
205
292
194
244
225
206
174
225
209
300
256
301
235
259
225
219
246
214
188
332
242
191
235
206
197
356
173
210
257
237
238
222
189
212
179
208
197
238
144
277
255
266
235
273
316
249
260
207
226
266
262
220
209
196
305
267
176
196
276
221
260
232
160
196
284
219
174
238
192
191
209
247
234
172
227
204
222
303
169
219
306
145
208
189
139
209
235
160
231
230
208
282
234
186
250
214
174
221
215
194
283
214
244
166
220
160
206
225
220
225
246
165
191
249
218
212
281
182
295
210
281
229
204
231
262
277
241
173
223
181
235
231
193
201
217
286
316
260
161
233
254
193
271
192
198
203
187
188
271
244
227
250
181
170
268
175
241
190
126
223
240
217
197
193
218
189
193
211
178
168
176
251
114
175
144
179
281
260
223
233
264
209
194
250
241
258
200
261
237
245
196
210
239
203
227
196
237
213
284
178
243
197
174
198
199
198
158
218
305
279
213
213
242
234
263
177
269
283
188
310
300
244
206
129
255
203
216
228
249
317
143
258
317
248
252
129
192
198
229
224
314
208
201
197
346
174
209
197
213
242
235
215
290
241
282
298
214
192
244
229
171
247
257
367
189
250
251
173
225
114
190
170
236
158
238
228
241
228
178
213
277
214
213
290
189
285
263
220
306
169
258
229
178
222
188
114
248
151
164
277
196
225
170
241
170
238
280
126
234
233
273
181
208
198
247
205
162
216
243
206
214
219
245
288
250
261
190
170
231
298
186
277
221
191
181
233
247
168
256
213
265
221
239
245
160
209
237
235
264
304
204
237
259
238
203
234
232
179
225
191
203
216
151
288
211
216
213
218
232
206
279
229
363
249
287
228
281
235
209
201
272
275
216
188
202
276
249
180
281
239
151
242
181
231
174
204
219
260
178
206
214
288
231
178
175
271
209
199
215
176
264
214
211
243
286
174
194
209
280
245
304
216
299
228
262
224
243
152
231
242
315
255
179
188
201
254
174
280
177
218
181
227
233
220
289
214
167
312
201
221
222
220
198
219
326
194
318
173
242
238
163
185
219
238
213
244
229
232
215
167
253
322
235
178
265
173
169
126
191
320
257
219
149
166
269
254
196
225
288
246
213
208
189
230
191
166
294
184
252
236
198
199
211
196
226
279
240
140
331
236
114
211
171
207
273
258
199
217
283
218
216
237
212
240
149
245
311
215
263
170
253
221
164
165
108
206
207
260
262
273
192
231
158
292
229
226
201
176
234
219
230
209
229
236
254
210
237
262
192
238
249
278
257
174
238
225
181
221
253
249
200
205
237
161
247
213
292
179
220
159
186
220
267
202
175
204
198
285
306
204
237
290
263
279
301
237
232
160
226
256
218
314
220
178
261
219
185
170
213
230
250
222
237
207
219
316
209
271
328
237
189
202
223
229
203
225
290
214
154
252
205
169
230
207
207
275
178
210
305
198
258
188
206
219
266
214
229
253
203
211
296
173
161
256
224
170
239
271
210
151
216
235
174
199
213
174
379
276
184
223
270
253
275
173
260
195
114
151
223
199
263
234
195
288
237
280
198
257
163
265
179
227
210
203
206
331
225
210
160
305
156
203
272
199
230
245
256
286
188
291
201
258
238
265
218
221
223
183
231
173
225
180
254
228
178
122
220
232
266
296
223
270
160
266
167
252
174
301
253
196
333
193
196
175
167
217
292
174
240
174
176
203
238
212
249
238
255
252
183
262
245
321
212
238
195
173
210
166
220
273
182
282
219
299
198
236
186
294
221
233
243
193
227
114
231
235
254
161
208
208
282
151
228
114
248
310
290
213
229
220
202
207
189
198
255
246
217
208
249
251
227
240
197
237
247
288
196
179
246
225
195
252
257
280
238
199
308
238
226
176
245
184
251
246
222
266
223
223
198
217
240
259
230
234
168
195
223
261
189
170
288
203
233
334
189
248
232
155
203
301
216
216
170
212
224
170
220
200
175
273
279
221
230
250
200
230
203
164
204
232
256
259
192
181
314
177
231
233
200
223
181
314
220
247
262
252
270
221
271
253
156
285
247
207
271
221
241
206
194
217
249
198
164
215
252
250
273
266
278
204
175
312
191
252
246
270
181
276
186
284
201
114
207
207
253
126
129
271
207
219
264
245
266
196
202
277
226
226
199
243
221
246
216
165
281
246
251
180
220
223
198
260
235
178
230
179
179
146
192
126
250
255
218
170
189
168
180
226
186
246
223
268
186
263
240
171
269
199
291
164
139
198
287
214
259
221
166
251
302
337
214
192
236
252
114
225
298
169
170
230
209
216
266
161
285
257
146
248
245
208
311
208
208
222
258
267
190
114
278
197
293
229
190
162
229
114
224
217
189
178
258
165
273
286
134
199
130
189
234
206
318
242
273
252
203
174
188
192
196
253
232
197
185
251
160
215
301
266
191
178
199
258
209
215
299
205
211
250
114
233
319
293
249
300
285
194
300
181
209
219
209
276
200
232
274
212
249
200
206
171
182
301
191
185
221
235
206
133
228
273
217
291
225
193
179
174
180
157
209
223
213
183
177
219
272
149
214
151
227
276
203
263
219
212
292
181
310
277
225
173
225
221
287
295
195
121
242
193
174
198
198
270
200
275
188
222
243
166
266
206
267
157
276
126
199
175
187
217
212
114
231
249
225
210
244
221
217
171
181
232
198
156
299
244
240
224
215
268
248
253
257
232
192
175
222
195
116
277
223
334
190
291
207
214
259
267
223
224
221
261
178
175
316
173
289
196
188
244
213
270
169
205
237
291
198
173
269
192
202
161
200
307
180
359
126
223
231
253
246
254
206
261
195
284
206
237
242
239
206
170
237
257
186
184
265
241
169
266
193
263
226
279
271
219
209
239
263
268
149
209
196
265
157
376
165
178
252
205
241
267
161
201
189
167
263
162
267
323
298
199
261
200
126
173
272
218
282
212
191
185
251
182
213
177
209
169
255
219
250
252
211
243
186
160
198
238
197
264
208
263
242
201
189
235
158
267
192
254
195
237
209
189
181
156
257
282
178
238
231
206
160
240
268
114
250
191
219
246
180
193
265
224
348
152
227
206
265
197
250
189
219
205
234
157
234
276
211
309
204
265
145
206
251
215
284
156
177
210
243
206
229
257
223
252
129
237
189
270
239
145
206
121
229
126
237
212
238
306
240
215
185
317
252
197
181
226
167
150
189
206
187
192
227
287
237
190
244
275
187
248
314
177
300
184
171
171
147
272
241
341
169
164
294
301
204
203
215
266
179
260
241
193
260
174
165
191
205
220
193
210
151
178
262
145
167
235
207
306
207
229
200
200
233
147
246
233
307
265
114
217
196
324
231
221
209
264
285
204
239
238
269
287
176
186
212
262
249
257
267
229
283
227
242
274
152
277
214
245
168
209
234
205
242
199
207
223
173
296
241
297
304
114
220
241
114
192
275
183
266
349
182
160
209
285
252
277
174
179
293
200
225
195
208
252
242
252
164
271
183
169
169
198
242
191
172
189
319
178
156
243
240
244
145
286
237
247
197
252
184
294
258
213
311
187
266
233
196
136
145
206
231
215
228
270
219
156
185
208
225
224
186
231
175
205
182
175
180
314
241
254
219
166
267
232
197
214
246
216
223
210
200
185
236
228
295
174
285
122
351
328
214
235
222
200
181
169
193
268
203
246
215
144
229
256
177
273
306
171
178
259
251
200
250
191
209
205
198
229
194
239
217
221
285
242
359
187
274
170
174
217
220
198
234
196
199
284
221
208
205
207
170
219
165
207
174
242
208
170
228
275
284
285
265
226
242
216
317
126
231
249
239
284
217
276
320
169
206
313
230
204
273
229
283
291
219
215
198
235
241
229
188
231
280
165
306
211
236
218
234
187
271
232
174
268
231
212
274
147
203
300
207
198
278
234
169
182
294
208
171
238
202
220
205
301
245
242
235
248
240
269
230
262
193
187
264
199
227
226
212
190
242
219
209
239
261
234
307
223
184
176
219
215
224
291
222
289
245
220
242
276
169
255
191
169
246
203
233
236
152
227
267
139
246
208
262
187
200
225
183
260
242
202
197
183
260
280
239
271
241
327
284
213
269
247
250
207
235
282
203
230
247
254
189
185
205
242
242
166
262
213
192
226
285
151
218
229
218
212
244
255
253
209
223
210
194
186
208
220
206
280
252
217
258
228
233
224
221
214
276
171
182
217
168
245
154
256
220
188
210
234
256
201
174
306
244
308
236
114
172
139
202
253
234
195
200
208
213
253
283
177
147
193
300
346
230
280
213
220
220
209
290
253
272
244
216
204
278
268
182
289
277
204
238
274
237
184
253
351
265
152
212
238
232
223
251
219
156
215
154
211
140
266
122
205
194
203
254
251
176
282
230
229
249
234
280
178
297
252
254
270
225
198
194
284
242
189
320
246
219
232
246
172
249
323
241
222
151
248
139
114
179
126
181
231
190
273
211
253
229
308
226
257
187
277
248
223
273
217
255
201
284
173
324
245
126
191
242
170
291
259
170
253
195
158
196
266
215
133
191
205
210
173
214
207
234
209
197
223
152
254
171
175
170
221
275
253
196
254
225
190
266
214
283
189
170
225
208
253
144
252
245
209
349
240
265
251
182
264
260
153
186
156
195
215
277
159
294
275
269
267
326
265
188
344
242
121
241
181
234
282
206
161
219
153
126
266
147
252
231
156
195
290
290
287
217
201
167
290
262
261
192
225
175
178
239
203
246
170
238
280
139
217
237
194
216
235
224
203
201
176
253
201
227
206
188
321
248
229
158
203
238
175
208
233
185
231
269
238
184
224
188
226
213
282
227
284
249
244
160
179
207
233
187
312
235
338
302
205
225
221
311
221
204
196
204
247
261
241
223
225
279
242
229
249
240
258
164
234
198
287
247
271
267
200
198
297
169
173
234
216
247
251
282
253
283
230
248
226
144
232
278
203
225
191
272
196
227
166
192
193
257
174
189
260
210
291
199
289
252
215
149
215
215
231
212
192
186
242
198
192
179
244
257
260
195
281
180
225
262
267
266
187
227
251
237
189
206
183
269
194
108
289
288
226
319
258
203
225
234
231
238
191
233
244
219
196
206
213
284
285
248
232
232
224
317
198
214
175
194
225
233
179
256
306
248
214
190
192
205
230
235
233
189
190
255
257
243
173
236
267
188
226
198
229
228
250
149
216
203
234
153
192
293
263
185
301
211
272
217
174
205
192
276
182
220
291
239
262
243
285
229
334
205
317
217
177
260
367
274
232
209
240
254
337
213
248
299
229
214
266
157
130
198
301
238
245
240
196
194
267
243
223
216
298
202
253
242
149
216
206
181
201
219
244
240
193
247
160
213
152
222
264
330
215
299
257
274
173
206
234
285
293
231
254
233
204
159
197
181
251
275
161
215
187
268
268
223
253
192
339
234
179
204
230
260
173
223
231
219
114
193
245
238
247
202
181
289
184
180
229
114
183
246
231
248
284
229
214
191
209
234
194
181
249
228
248
204
187
199
200
246
192
160
245
197
347
156
272
222
246
203
284
236
217
259
225
227
166
189
205
146
294
219
192
231
271
244
244
257
237
216
309
217
300
278
151
220
249
270
232
256
200
301
263
275
238
210
212
227
189
178
227
243
213
337
256
228
160
177
208
257
219
312
252
251
242
196
239
220
256
277
114
291
232
219
228
269
208
231
180
242
199
333
255
222
164
144
265
259
220
223
264
249
221
183
170
202
215
209
207
253
249
221
252
206
168
296
291
253
159
244
245
116
313
195
227
114
195
331
240
193
255
192
196
184
251
214
169
148
309
198
216
244
197
234
253
239
268
232
235
175
226
194
242
237
199
303
338
238
224
195
239
209
180
245
270
214
233
254
223
330
261
284
257
252
215
250
219
170
175
200
170
209
208
194
180
121
199
170
242
260
175
199
203
203
238
247
194
186
180
245
198
191
237
191
226
220
229
269
292
217
158
177
116
196
240
254
230
198
239
280
249
264
299
209
265
238
184
214
237
171
286
228
244
168
244
226
248
212
158
291
288
296
252
285
253
210
176
174
180
237
267
269
269
293
238
168
228
225
200
234
165
342
270
173
198
272
145
116
238
216
276
161
217
181
181
216
292
178
192
144
144
261
302
194
238
182
288
276
297
195
231
278
295
229
204
242
257
270
212
174
225
261
191
246
235
323
275
250
214
178
296
277
160
297
161
194
227
202
255
214
204
272
277
238
202
146
154
133
203
181
270
236
299
258
240
215
296
229
235
252
108
222
229
204
106
196
160
231
170
298
225
256
221
247
258
306
329
313
229
296
205
272
214
220
173
202
206
234
173
170
290
192
183
184
273
309
288
249
231
159
230
174
207
263
301
175
151
275
244
243
185
226
164
199
208
252
240
216
284
114
205
223
218
252
253
206
181
223
243
268
296
176
266
213
301
240
231
256
171
176
189
194
173
297
197
200
266
289
211
244
273
211
219
154
230
301
201
184
202
183
200
244
223
188
270
284
163
277
277
215
208
181
195
272
228
248
174
114
201
180
149
182
231
269
251
206
209
212
166
241
264
284
258
184
209
245
220
247
145
308
171
214
194
257
126
196
270
194
287
277
192
220
205
241
188
225
333
239
227
236
210
348
190
275
299
265
213
290
272
168
255
238
208
221
214
194
236
317
218
282
187
202
239
257
195
265
346
148
152
165
185
301
190
229
222
153
219
305
256
235
245
205
229
166
226
181
267
259
208
292
226
202
273
216
278
220
218
156
222
188
280
241
193
250
212
218
254
177
160
176
236
157
281
220
252
269
247
254
270
211
213
205
258
306
222
291
252
247
279
254
196
294
162
284
268
205
263
200
277
217
183
219
205
199
227
285
279
255
240
323
187
263
251
216
179
219
248
260
272
183
209
229
205
316
205
238
188
160
226
197
214
267
214
279
186
179
239
233
246
199
261
213
228
228
212
144
202
239
194
253
240
277
147
282
215
252
252
226
215
279
245
171
237
198
200
189
230
245
238
172
287
191
216
164
157
212
227
195
242
287
160
233
362
152
168
200
258
216
229
234
363
252
200
234
190
212
229
199
257
254
188
256
218
250
218
202
187
245
217
164
243
255
231
215
228
184
244
263
181
282
293
210
227
278
223
243
209
243
200
192
296
186
178
286
231
144
126
239
217
181
311
166
199
188
237
190
175
226
405
247
240
156
201
238
259
224
152
219
296
151
220
235
205
205
149
185
316
212
262
253
192
260
206
260
235
208
263
196
299
225
251
269
244
250
208
275
258
217
242
237
221
166
254
243
236
192
229
186
152
211
255
231
253
188
247
251
194
252
173
223
205
209
284
203
260
158
222
295
320
190
169
147
243
204
198
287
235
220
174
216
243
205
214
234
215
272
114
176
195
171
238
209
139
251
333
202
139
157
179
237
319
251
230
152
209
251
190
211
272
213
226
316
189
156
264
273
298
214
175
206
262
206
209
256
265
245
197
207
189
343
233
183
201
282
214
249
218
234
114
284
352
277
146
191
314
126
327
169
180
227
205
174
223
298
259
243
202
267
251
241
172
273
236
145
227
188
188
212
322
212
160
262
228
251
254
285
282
282
160
180
243
194
116
264
277
158
198
256
269
274
194
208
223
206
253
267
288
285
222
238
174
228
257
196
197
282
215
162
278
169
293
226
266
259
309
231
284
223
253
216
182
239
233
298
290
277
296
243
254
234
154
219
209
258
259
200
337
244
234
253
166
206
195
245
323
199
170
174
187
238
307
215
236
205
165
198
196
245
238
208
141
183
247
180
345
215
296
201
259
219
224
189
274
258
333
229
163
205
362
205
183
180
220
222
173
219
206
229
206
244
159
228
183
229
209
251
215
267
269
192
203
193
221
289
156
230
323
228
263
183
170
241
245
161
254
235
144
194
223
216
209
198
194
284
218
178
212
213
277
280
199
177
166
205
270
116
233
237
214
236
231
245
228
206
258
271
254
149
194
242
231
193
219
216
208
184
156
198
271
218
126
171
178
246
198
201
164
222
276
224
194
225
235
197
228
242
235
184
175
196
213
207
222
206
158
211
354
194
253
223
165
235
255
186
193
256
280
196
206
260
195
250
203
222
237
214
291
257
196
161
213
156
212
215
249
260
204
270
217
217
254
178
183
216
267
182
133
222
278
187
191
206
226
176
378
215
268
226
273
263
179
184
254
269
247
276
246
243
240
161
239
191
218
204
170
176
208
296
220
160
178
308
203
262
211
227
306
218
137
226
230
188
211
262
180
244
254
286
264
168
185
261
240
265
186
279
246
253
268
250
225
219
189
168
328
171
246
202
285
164
199
271
277
186
177
179
244
291
246
214
228
151
198
214
264
258
221
216
235
160
220
228
238
139
240
188
196
244
329
173
189
292
209
168
174
272
221
197
212
218
211
177
217
156
259
202
190
231
165
139
240
229
170
264
170
149
184
255
303
252
219
250
276
299
218
166
199
220
215
270
243
175
200
156
258
211
163
265
210
325
225
214
165
262
206
153
244
276
249
273
156
184
203
225
151
226
249
347
271
258
209
191
257
257
228
184
237
202
284
253
256
179
149
225
185
260
170
128
174
197
317
215
289
154
209
327
249
246
207
223
174
159
174
175
305
139
114
181
238
240
170
214
181
184
244
173
179
208
265
233
233
229
170
181
252
194
181
271
245
193
234
170
279
164
276
211
195
201
193
197
160
174
193
190
220
174
308
318
211
297
222
226
224
300
263
294
114
293
244
254
251
258
243
239
191
199
249
260
252
178
129
214
238
154
228
303
212
268
181
217
265
209
230
190
193
177
174
272
114
195
274
194
211
213
205
236
315
219
294
266
174
285
192
275
255
236
225
268
201
214
223
212
181
154
296
215
324
236
223
296
191
151
190
217
214
161
235
247
177
204
221
318
247
360
208
192
181
247
181
259
227
210
232
301
238
306
268
278
275
219
231
306
231
237
168
202
206
349
271
299
242
194
265
159
257
174
215
202
236
209
205
200
261
198
288
206
216
199
197
168
209
240
176
152
177
275
277
176
233
180
227
257
156
225
307
231
156
236
234
166
179
278
170
215
309
257
173
236
282
166
198
261
151
219
256
226
210
160
242
244
191
160
278
203
182
204
217
244
158
231
225
114
148
287
139
170
194
210
302
192
200
249
273
228
207
273
194
126
220
203
175
277
272
205
241
270
232
207
145
229
259
255
238
211
231
299
198
213
166
182
251
172
156
250
231
240
201
277
276
126
207
224
161
189
246
211
277
250
259
241
158
235
145
200
218
203
263
280
174
236
219
265
191
289
274
266
183
239
217
274
248
169
266
185
114
239
193
229
247
254
232
216
197
229
155
240
167
233
233
210
222
208
179
298
226
210
211
286
203
171
232
257
126
108
236
208
205
217
207
238
160
228
290
160
166
306
162
300
198
222
206
114
209
198
267
213
220
219
225
239
213
302
139
213
241
199
239
230
201
240
257
168
264
297
249
164
203
179
182
291
213
229
262
173
186
246
193
245
236
225
203
246
179
220
266
208
210
250
235
311
161
204
180
237
245
185
243
198
144
282
221
139
181
265
214
260
173
212
259
203
217
128
191
312
198
158
180
257
209
208
212
208
192
152
254
244
278
273
221
179
173
198
200
214
235
215
231
178
242
234
299
154
189
205
274
196
315
214
186
290
195
218
215
255
199
198
228
276
178
188
106
160
236
280
187
224
243
234
200
189
202
305
147
151
174
217
240
286
152
254
186
114
183
221
211
205
170
291
194
210
224
224
216
222
251
187
189
184
239
189
257
219
323
246
221
246
240
277
248
236
267
193
178
326
242
192
182
261
191
253
149
239
244
238
227
239
218
225
217
210
144
228
277
229
322
348
210
279
270
213
234
278
246
274
248
149
214
225
220
268
265
241
237
114
241
203
223
290
244
182
276
139
272
263
171
166
230
235
253
257
207
193
196
182
236
310
244
267
290
129
296
197
264
271
282
320
276
219
151
319
277
212
282
194
333
210
192
256
213
219
218
207
235
209
194
166
218
196
264
158
222
210
256
237
192
280
200
269
297
313
216
227
114
195
284
284
223
229
222
203
243
240
228
329
225
189
207
250
299
306
273
236
256
213
225
242
238
290
198
254
262
170
220
290
244
197
230
289
194
204
290
264
180
251
220
284
129
175
279
259
287
210
225
242
250
184
297
254
206
222
214
260
240
238
213
272
209
258
235
220
226
184
227
249
192
153
207
274
203
186
218
263
156
213
200
209
260
186
239
219
220
203
203
280
250
303
204
234
237
247
192
227
137
209
263
202
151
242
139
182
199
174
206
108
200
298
362
237
189
234
204
238
370
314
192
313
130
278
212
283
294
197
294
237
183
169
211
264
212
236
198
262
271
166
188
235
271
274
246
186
205
246
215
218
156
215
232
178
208
225
160
209
222
243
212
202
253
160
266
256
160
291
238
235
240
256
155
187
247
173
171
262
275
285
252
210
268
226
213
215
174
154
189
227
242
229
243
233
229
234
211
214
157
230
235
222
288
266
204
176
251
291
231
225
288
114
257
242
240
177
189
203
235
213
227
179
223
215
190
228
198
285
215
206
234
175
214
268
247
157
300
240
232
221
164
195
137
219
239
198
214
269
160
187
198
264
258
241
247
256
344
265
210
207
213
167
220
192
180
296
287
248
268
299
279
263
169
181
292
231
242
185
300
246
220
185
178
239
182
237
282
256
279
202
323
216
218
174
267
328
263
302
260
223
256
210
196
198
320
250
244
184
182
229
179
204
244
229
227
196
173
278
198
206
251
296
242
282
224
221
236
168
245
228
225
253
220
184
193
231
261
195
195
231
208
170
212
243
145
170
221
282
255
241
334
212
215
232
167
177
287
226
204
254
183
245
263
296
167
214
160
242
264
223
245
264
319
222
227
257
260
278
204
320
208
199
208
258
221
167
309
246
161
256
260
206
219
248
229
229
222
220
224
205
216
277
268
195
195
272
126
246
226
220
196
213
317
222
191
219
229
227
217
233
242
243
188
270
213
230
310
276
196
211
240
174
284
261
156
273
151
160
195
285
263
171
234
232
177
309
305
256
212
175
285
231
205
302
214
207
164
206
337
176
214
217
197
224
194
121
181
259
251
181
250
314
194
215
179
235
246
307
219
237
179
265
276
239
203
217
200
296
163
182
266
261
301
219
152
219
181
164
176
166
245
274
249
255
299
296
182
223
156
192
225
198
222
186
190
180
227
223
288
231
272
188
308
242
116
277
246
189
248
284
267
281
238
222
195
213
291
227
184
206
204
218
276
277
165
200
290
268
178
191
290
200
226
225
184
189
253
229
292
228
202
235
299
179
114
237
244
213
226
210
289
235
235
193
269
224
178
267
246
175
246
257
232
220
194
225
213
224
169
260
231
255
257
179
239
299
232
276
213
230
211
218
210
228
316
240
186
114
214
144
176
214
251
181
235
238
284
165
198
114
269
265
198
227
185
239
183
203
205
201
184
251
231
239
271
277
176
192
168
241
223
212
181
287
208
261
235
240
233
269
179
215
231
261
284
198
180
179
264
279
234
201
297
272
232
250
199
192
188
224
301
205
211
181
184
210
241
186
232
219
228
284
198
192
248
180
194
285
204
193
116
178
231
247
286
255
196
181
246
238
287
220
242
245
181
254
263
246
255
180
299
316
261
195
243
182
129
230
175
244
293
223
217
253
233
284
224
139
227
173
269
241
300
234
157
235
225
206
228
314
213
180
121
255
160
282
184
202
240
257
181
307
191
226
205
179
226
177
286
247
280
224
257
331
276
213
284
193
152
214
195
204
122
323
275
250
154
256
194
170
203
261
199
232
240
204
180
223
303
148
235
223
261
207
226
210
173
167
262
198
253
237
240
200
255
290
198
168
238
174
225
161
247
226
216
266
182
238
276
285
152
265
195
265
160
152
171
198
152
241
215
195
195
258
303
182
278
201
263
286
235
313
208
276
302
246
213
221
264
196
258
275
173
242
198
174
179
243
154
114
174
173
170
246
222
203
180
305
263
283
152
247
290
265
234
278
277
239
210
250
246
209
230
148
191
270
215
275
271
265
236
234
231
178
264
224
283
282
203
226
197
114
220
209
235
194
195
170
203
171
237
318
297
186
178
233
172
261
219
154
203
254
256
216
285
199
238
239
173
269
234
237
158
228
205
286
289
350
194
183
175
267
227
310
201
161
180
198
320
247
224
243
205
139
262
231
234
261
169
235
220
248
235
228
264
227
222
247
174
169
200
219
265
232
196
246
287
247
261
201
163
227
222
249
237
180
214
193
181
273
211
296
223
202
269
250
225
220
302
236
174
145
267
203
291
255
215
242
214
272
215
198
237
327
174
264
248
284
240
296
240
303
214
215
217
285
222
172
249
307
258
250
303
266
191
178
171
201
233
215
249
198
247
259
208
190
194
273
198
217
250
266
167
278
223
200
157
266
318
233
235
319
264
308
231
241
273
214
208
287
245
188
213
205
281
216
315
192
207
262
193
179
208
235
150
209
219
224
253
214
205
209
280
108
273
174
223
219
185
129
342
291
224
192
213
277
197
170
161
180
168
193
259
180
178
126
220
240
159
237
309
204
322
210
206
211
269
174
326
243
326
205
213
231
198
252
275
198
214
226
214
318
221
260
364
185
218
194
272
185
227
285
207
181
114
145
292
185
306
235
258
218
169
227
228
221
307
173
195
137
211
261
114
173
213
339
301
189
276
305
213
236
243
207
192
263
208
278
231
305
178
290
149
166
257
241
221
270
195
255
154
207
283
252
208
173
242
246
283
214
225
263
212
264
235
168
257
249
252
196
230
221
223
208
262
310
200
264
197
222
216
199
248
178
170
229
236
108
196
185
196
243
245
225
187
231
186
288
315
282
264
245
235
234
207
202
263
202
204
271
262
250
335
178
278
176
174
160
213
190
223
230
250
202
154
198
279
164
232
213
255
114
261
114
239
237
234
114
262
315
201
182
189
204
221
301
441
198
234
215
239
219
236
205
205
201
152
231
213
295
196
282
233
237
303
247
151
274
172
208
187
270
233
278
225
336
198
268
241
223
205
178
219
263
195
202
196
208
244
175
244
174
202
175
237
216
245
248
224
270
121
160
279
258
183
229
229
231
130
194
163
230
249
215
166
231
234
292
189
129
265
216
244
169
216
256
201
153
218
246
247
293
227
207
147
236
231
331
214
328
229
229
254
217
221
234
184
256
248
174
258
235
254
170
271
196
309
202
114
280
160
210
289
266
212
234
206
271
240
285
250
268
239
231
308
200
207
181
250
288
200
225
319
353
345
162
215
219
239
220
264
215
114
244
320
258
272
273
251
133
247
129
268
229
302
177
238
242
231
234
232
266
186
185
212
245
266
245
225
289
181
252
207
195
215
243
253
160
209
377
219
178
184
252
161
224
221
233
256
170
177
195
278
182
241
178
173
238
108
255
234
151
198
233
239
256
232
180
226
175
279
197
244
291
173
178
192
230
209
230
227
178
281
241
204
212
169
227
208
239
273
200
223
186
145
289
254
267
225
232
203
290
238
277
238
282
194
242
262
262
236
203
230
227
199
189
334
237
181
205
222
333
221
231
223
269
233
309
226
237
198
189
257
267
303
222
230
280
289
204
170
178
218
232
160
198
229
252
170
202
209
228
288
240
234
255
227
251
158
218
221
255
244
195
170
294
246
269
274
215
236
193
178
223
247
218
190
195
218
186
211
260
264
239
207
213
310
154
212
251
208
234
203
152
231
203
265
190
296
265
230
234
205
358
222
233
185
177
256
260
263
228
215
226
207
116
241
175
234
297
217
165
238
160
237
266
297
257
186
172
222
233
188
327
192
168
249
202
172
271
178
293
206
276
234
126
321
242
217
179
358
242
255
213
334
317
198
261
244
230
282
268
233
285
256
227
190
213
201
169
259
180
160
200
249
256
305
237
253
222
253
230
238
161
250
284
181
318
226
269
194
244
234
246
229
178
206
139
180
228
266
226
285
195
190
185
204
194
242
231
264
189
208
249
260
190
243
229
192
207
155
290
287
256
241
186
217
174
264
248
224
183
149
179
151
255
218
220
181
198
237
208
231
202
202
287
186
264
191
175
269
280
267
303
208
341
212
305
275
254
168
208
205
181
267
299
191
228
271
156
208
189
285
177
192
255
219
204
224
263
213
246
261
208
144
198
356
196
251
200
274
292
208
232
146
175
207
175
175
211
246
203
233
234
282
164
235
191
278
234
281
301
165
166
205
209
209
312
289
288
239
175
311
236
218
189
274
192
139
178
180
271
186
210
245
180
241
297
198
220
276
259
197
194
267
320
213
261
219
196
205
152
262
227
249
207
242
236
301
179
226
210
108
268
195
290
344
273
315
169
181
214
190
260
235
168
165
192
210
214
211
261
240
257
270
259
253
247
183
227
209
208
166
269
225
147
166
239
273
269
283
200
186
258
268
253
198
217
231
191
198
210
251
234
244
203
187
217
206
207
243
177
178
183
277
239
211
185
191
264
260
206
231
231
168
160
186
246
223
285
114
176
208
252
258
221
240
278
147
191
126
246
240
207
301
152
232
270
266
214
279
221
306
224
200
199
188
234
324
158
249
214
216
283
234
248
338
192
226
170
198
254
325
219
224
218
207
212
165
195
186
188
282
306
258
190
319
167
192
242
222
229
114
197
213
235
257
260
221
198
239
241
196
220
255
198
267
306
187
195
293
261
203
198
278
238
267
221
223
178
208
141
219
226
170
189
179
223
272
197
167
227
236
198
194
280
218
297
197
229
216
228
206
235
277
147
269
222
240
241
245
166
183
291
253
230
237
207
173
195
288
294
210
237
278
208
167
205
168
189
215
251
205
191
222
139
193
170
181
303
269
239
194
195
248
159
220
234
274
201
257
274
216
204
152
152
238
242
218
249
159
293
229
240
225
265
192
225
224
192
203
226
249
209
199
233
198
184
152
219
264
223
304
170
277
197
280
222
170
231
196
248
230
170
270
187
266
237
280
213
219
245
223
266
197
231
297
200
267
210
220
238
149
214
230
279
195
215
236
217
184
242
244
152
211
255
247
256
211
256
193
220
247
214
220
238
253
312
238
314
145
206
246
225
312
187
241
240
281
211
385
236
266
191
256
240
180
217
253
268
247
299
312
178
261
182
367
151
211
173
222
246
169
325
200
207
208
299
193
220
318
238
169
186
279
206
277
166
267
207
169
180
216
283
219
220
241
223
167
213
241
244
169
180
215
166
198
271
254
270
211
301
234
217
207
258
223
202
192
238
306
234
174
258
247
308
211
238
200
178
168
166
226
267
160
207
175
146
272
182
355
168
152
281
317
237
164
231
205
257
217
219
174
231
181
233
242
209
291
219
168
239
173
207
193
228
193
193
159
297
203
199
211
232
192
188
194
209
280
160
217
114
199
219
232
299
194
218
180
208
196
194
198
223
298
183
175
166
230
232
198
202
240
194
178
165
210
279
207
203
114
241
255
192
235
299
284
261
197
174
256
267
175
240
180
230
223
275
242
235
218
214
225
232
217
126
227
244
230
192
218
248
206
200
166
260
240
232
219
300
242
269
271
207
293
221
173
213
213
307
182
262
260
186
198
315
257
239
213
144
227
227
227
205
248
173
262
280
251
203
195
239
157
164
225
244
214
232
195
249
232
225
198
176
141
227
259
238
237
234
240
219
243
183
259
212
212
228
226
178
230
193
305
258
196
209
214
260
186
218
278
212
259
221
214
193
243
287
282
214
183
261
212
329
227
170
236
279
220
249
297
206
252
183
200
174
270
198
185
234
173
173
256
305
231
260
263
213
192
289
266
268
175
300
208
256
214
260
233
200
215
224
247
204
193
176
253
236
241
219
236
264
234
150
293
256
240
181
217
256
235
217
266
238
269
181
268
210
196
214
324
210
232
201
139
244
177
167
233
233
206
247
224
256
270
301
193
200
191
322
251
267
230
240
240
210
158
233
255
281
170
203
239
236
286
237
186
288
178
192
257
217
257
198
201
170
317
201
257
202
281
224
114
187
187
231
225
214
215
231
289
218
262
114
196
197
231
160
225
229
186
139
309
196
174
241
301
221
230
286
199
198
308
299
238
195
150
263
195
239
254
244
251
139
172
211
233
244
271
217
230
154
244
306
274
213
156
169
173
330
158
310
236
271
216
185
189
245
175
221
219
271
259
177
150
268
186
223
258
234
176
192
245
237
174
230
191
171
181
322
182
264
260
191
234
219
218
240
210
161
204
220
237
156
274
321
298
218
243
212
283
245
164
221
236
210
244
213
325
275
187
283
148
166
230
256
187
201
242
198
233
229
304
268
281
176
227
151
246
257
252
206
306
245
263
126
210
173
231
213
224
291
261
231
232
284
245
328
195
190
293
170
201
190
139
188
277
296
254
189
265
323
236
222
254
301
174
258
197
236
203
214
324
293
214
257
284
257
197
268
187
106
256
199
267
145
190
311
270
225
324
185
193
210
254
282
201
356
152
294
315
197
229
233
184
207
219
218
240
194
170
141
174
226
242
160
187
195
258
201
166
222
227
152
212
263
245
271
186
245
278
174
340
286
261
195
294
246
209
218
253
280
310
172
246
181
197
192
264
217
214
233
228
220
177
180
207
235
243
210
241
283
269
283
250
126
177
309
272
190
182
207
223
222
223
229
200
241
209
214
280
254
200
284
198
189
291
213
206
152
324
202
281
308
247
193
203
249
194
205
254
207
281
211
259
246
246
203
149
222
229
198
188
239
208
215
227
151
293
254
215
262
246
185
269
232
243
249
252
194
180
238
183
234
178
198
202
199
271
216
340
243
204
337
160
235
201
159
214
319
222
229
265
108
196
209
225
206
222
208
182
269
192
229
188
245
263
206
223
226
171
137
253
158
173
193
248
121
215
188
305
191
209
235
225
244
178
274
242
246
176
184
195
234
195
203
246
165
244
210
206
246
296
184
240
300
257
234
195
160
196
164
316
225
252
210
227
213
191
304
191
277
247
242
262
180
255
219
250
239
276
277
220
189
206
276
191
165
208
254
279
235
209
230
245
175
198
152
217
200
148
221
267
148
214
228
261
205
188
283
281
213
258
219
175
156
145
220
170
234
246
213
290
252
215
232
267
233
233
170
251
176
174
193
252
268
211
223
190
180
228
244
287
255
262
278
247
270
263
211
204
223
216
300
230
258
242
196
207
254
227
235
262
213
267
114
203
180
200
238
220
156
192
239
226
217
199
244
237
199
241
216
156
238
208
246
191
262
262
246
239
198
287
238
237
202
256
197
232
260
343
175
228
258
235
276
238
228
218
295
255
232
197
202
323
205
170
236
259
215
178
214
252
188
148
269
256
202
158
160
279
237
145
204
246
235
268
224
241
267
230
231
174
234
277
126
235
182
190
243
279
252
215
252
256
108
215
215
260
149
234
248
296
194
159
198
273
258
192
202
139
204
235
170
269
233
231
222
298
171
144
230
322
222
295
184
243
246
208
226
254
242
243
198
203
203
294
256
188
226
158
232
292
189
276
284
189
179
205
294
258
196
237
257
191
164
248
222
230
309
205
208
234
276
160
184
268
186
259
235
255
272
243
245
276
235
245
220
235
169
247
222
227
202
192
218
242
200
292
189
269
257
188
213
184
212
211
243
258
241
243
180
292
262
253
252
198
246
255
183
191
207
228
247
246
229
223
250
207
167
217
201
192
273
194
284
236
241
254
235
289
171
192
305
304
215
225
222
184
273
223
321
225
326
216
222
294
303
240
219
271
239
114
218
224
303
212
253
261
341
259
333
242
236
227
211
241
185
254
169
220
277
294
221
265
239
144
181
243
195
180
169
200
190
208
285
262
208
207
251
231
308
289
203
106
260
184
226
274
257
175
282
190
215
277
299
301
171
158
252
204
267
255
160
258
257
239
253
139
174
237
234
231
203
263
281
251
212
246
210
191
201
198
294
225
225
228
213
191
288
245
245
176
320
269
241
179
202
204
248
200
253
108
272
195
253
222
253
157
170
221
211
256
231
242
289
309
233
274
245
235
238
209
178
150
256
235
219
283
129
198
190
165
247
241
177
264
301
301
250
156
227
229
130
164
139
220
229
181
188
218
181
178
241
175
180
234
224
284
188
194
223
265
215
174
206
201
208
234
275
207
164
234
162
286
307
229
220
266
252
271
174
159
252
223
190
198
205
216
211
237
156
255
164
213
195
225
343
207
246
221
248
271
164
237
266
237
318
240
192
190
198
209
167
216
193
263
178
277
254
273
256
312
279
234
200
241
201
181
196
193
244
252
179
186
256
235
262
204
160
265
254
327
185
260
250
238
154
193
271
259
297
186
161
303
194
225
156
210
251
310
283
218
173
234
116
218
228
274
235
170
221
245
270
204
283
232
211
222
283
184
207
227
159
262
260
228
192
298
266
193
225
237
233
233
183
114
173
219
288
307
279
267
218
175
239
203
156
230
226
287
220
230
270
273
234
219
240
224
164
239
213
248
275
219
235
221
254
327
211
170
201
180
176
226
170
257
269
229
116
298
169
266
189
237
173
228
184
254
195
217
159
273
181
235
213
295
257
193
214
181
204
226
242
209
199
303
235
271
252
211
204
238
264
336
205
296
284
209
240
306
288
237
216
184
260
153
224
212
261
237
288
207
295
170
267
203
267
214
301
230
259
266
257
319
239
203
175
176
225
191
215
287
253
286
161
233
173
221
266
245
160
263
274
242
209
310
196
218
196
359
218
264
176
219
270
242
253
243
210
174
184
175
196
175
189
116
206
207
258
203
208
139
252
257
252
195
257
187
225
223
201
251
202
226
259
240
269
170
177
196
231
260
216
114
178
258
254
221
195
265
235
251
217
197
311
177
192
181
193
198
139
192
211
202
206
256
211
181
166
222
226
228
254
219
210
174
253
156
151
293
232
194
330
251
220
332
341
222
186
299
178
245
165
265
203
223
226
217
256
275
354
233
212
214
326
247
168
211
277
221
224
243
196
233
228
234
202
180
268
204
273
233
215
243
215
217
296
219
291
184
225
179
259
199
245
271
243
197
309
197
268
223
188
293
176
224
374
263
232
259
254
289
302
237
227
192
275
222
267
163
188
133
202
201
198
185
148
204
243
204
188
218
232
251
195
179
247
204
220
209
269
261
194
234
221
173
195
278
214
222
307
248
240
247
211
234
230
259
161
221
251
285
229
206
206
159
231
214
219
242
178
152
215
237
260
218
233
261
220
188
267
272
197
208
206
316
241
233
210
198
208
220
241
242
277
209
195
213
195
193
209
247
199
268
194
294
268
201
238
165
189
203
166
181
211
181
230
180
254
207
229
211
219
190
165
245
334
206
246
211
244
168
181
230
249
151
243
269
285
179
191
151
174
209
242
173
323
180
244
236
253
151
225
266
223
229
192
208
210
198
192
114
155
296
230
202
167
274
311
288
183
297
229
170
263
161
240
149
251
323
230
297
172
228
244
268
194
169
211
176
241
218
207
238
256
301
218
226
213
198
151
203
207
205
301
252
243
311
289
252
225
178
192
160
200
270
269
216
192
232
274
287
219
213
200
275
233
152
241
284
196
292
211
196
297
178
292
260
218
266
156
225
223
198
171
165
315
202
156
211
213
203
246
193
250
198
168
225
194
179
162
252
222
243
243
199
192
240
218
203
229
178
258
196
259
217
203
233
238
251
213
200
246
108
225
209
215
186
185
237
227
223
238
235
236
202
175
193
229
170
176
165
231
180
174
212
242
228
253
278
192
146
225
277
173
252
243
243
180
292
154
302
226
245
156
263
247
288
263
205
243
153
192
147
174
241
247
237
292
243
240
204
233
243
218
220
291
178
230
139
209
199
226
193
208
114
247
232
242
277
178
159
296
232
234
245
226
299
206
251
151
178
273
193
219
342
160
241
238
184
311
300
250
199
188
214
211
199
195
198
310
228
281
243
222
274
156
265
165
311
146
300
245
186
195
217
207
210
218
264
208
245
237
199
255
189
192
212
265
224
203
291
196
219
202
243
170
201
206
182
194
216
257
256
198
263
266
239
238
240
214
202
178
165
204
270
217
255
241
263
246
165
181
242
235
211
252
206
248
285
257
233
265
245
230
211
208
301
252
221
205
260
232
219
271
208
258
192
243
214
217
197
170
210
230
295
266
275
284
304
210
226
256
237
193
174
257
225
296
197
197
231
217
287
308
209
281
223
269
210
216
198
232
213
175
254
178
245
238
211
236
284
150
283
238
163
200
255
238
185
178
198
180
298
238
334
292
237
223
289
227
254
200
255
270
237
243
352
252
266
207
188
152
183
114
259
170
218
186
250
183
185
259
215
325
205
235
274
183
191
181
292
196
208
242
215
235
258
139
235
204
249
230
217
114
191
212
222
225
220
299
183
245
300
240
309
281
244
222
266
195
191
158
152
299
170
225
251
206
233
249
205
177
197
198
241
214
268
271
185
254
231
218
215
287
211
218
180
206
206
224
239
232
199
235
169
217
285
173
237
198
196
360
269
288
223
210
236
170
194
268
306
216
161
226
191
211
184
220
239
290
238
241
126
236
311
191
197
219
159
265
220
214
259
221
226
297
139
203
211
217
235
233
275
284
189
213
234
221
239
186
194
314
149
246
218
271
302
206
293
229
199
258
225
288
187
264
205
209
164
176
195
194
173
247
250
201
211
146
212
224
250
205
193
271
217
215
264
237
179
228
248
268
290
130
203
191
198
259
222
265
216
223
262
186
229
212
235
255
178
200
243
232
305
211
197
175
237
195
263
172
360
204
262
226
169
199
190
243
188
222
263
266
209
228
244
233
282
209
233
223
172
209
162
190
239
258
222
156
236
260
276
276
210
114
324
257
191
263
261
232
221
219
223
193
175
207
182
195
229
235
268
251
228
217
234
237
217
186
294
235
238
179
214
196
114
213
213
206
144
220
218
210
215
244
149
225
299
328
173
393
198
233
289
189
177
183
234
212
250
261
322
260
178
216
265
269
195
234
242
154
253
180
240
206
256
258
203
251
278
218
259
287
238
258
205
170
254
268
160
229
190
226
261
114
153
228
220
239
238
156
250
274
144
263
170
171
301
190
244
236
235
311
208
165
219
245
156
247
298
181
259
202
233
196
241
215
276
295
285
247
262
153
220
196
266
273
186
214
144
279
200
240
173
235
259
255
307
220
170
221
207
215
162
221
158
235
259
156
289
174
209
299
139
215
269
299
227
234
170
193
221
214
203
165
228
189
216
177
234
261
254
341
160
276
245
210
202
233
255
306
215
246
204
314
186
158
180
156
265
256
196
273
235
249
195
248
221
248
139
251
197
219
215
241
144
214
236
162
210
133
173
338
177
229
165
162
228
247
205
203
261
257
208
235
116
151
200
243
146
204
213
196
213
251
201
145
221
249
133
266
240
230
221
148
251
158
114
271
189
192
196
234
261
260
157
145
275
194
214
242
193
282
249
228
244
192
207
228
211
231
215
261
284
226
270
306
199
218
195
313
241
213
255
235
251
199
225
218
173
265
241
229
266
210
221
334
197
242
198
178
160
198
353
139
172
271
302
218
241
286
214
232
221
256
177
225
221
191
180
189
166
348
329
237
313
174
168
235
252
148
233
218
239
211
220
232
192
246
283
217
287
279
199
290
254
219
271
207
235
233
214
187
220
242
282
188
296
176
304
255
236
279
336
198
238
271
235
193
211
274
201
210
151
178
186
289
276
149
278
195
137
239
213
225
260
265
185
192
177
114
255
194
260
329
179
176
179
258
161
263
216
205
200
310
235
244
252
205
207
184
279
271
250
246
174
179
248
247
214
309
262
223
170
162
191
239
147
238
188
258
216
231
204
250
298
178
216
189
219
243
211
186
226
266
259
167
231
195
284
249
213
155
264
162
198
243
222
268
191
235
175
310
271
259
181
192
261
300
310
175
180
296
247
221
254
213
195
213
283
262
242
223
214
222
260
171
267
225
297
310
286
232
273
219
260
144
261
223
199
222
259
228
246
291
180
188
202
256
236
245
160
245
219
287
178
196
161
240
253
207
243
283
156
189
258
164
227
234
116
259
170
177
114
233
252
208
240
353
215
280
188
255
251
250
178
299
234
194
251
198
223
204
269
312
299
239
313
264
295
195
212
278
245
126
169
159
212
215
235
197
166
175
191
183
293
238
233
281
282
227
350
231
224
202
157
232
261
205
220
172
114
216
218
198
265
219
258
249
224
196
175
268
181
240
226
198
194
203
218
311
212
200
281
152
282
231
169
238
203
230
235
224
294
253
223
290
246
179
172
245
214
333
145
207
191
161
186
225
195
210
213
231
319
224
191
215
285
247
234
217
160
140
306
212
328
133
185
206
191
214
271
145
251
205
242
297
238
299
195
208
195
153
257
269
210
160
276
154
216
199
194
237
297
229
273
220
185
176
228
216
235
252
277
228
285
218
211
274
276
294
217
242
217
270
255
178
329
243
214
215
215
180
214
183
206
324
284
159
170
170
173
200
293
246
248
227
226
260
214
201
139
217
230
230
224
233
231
159
205
245
146
156
225
139
139
266
276
227
215
314
180
309
171
236
196
202
202
240
201
200
203
312
202
157
194
243
221
246
202
253
198
208
188
268
246
246
157
182
246
203
304
241
189
216
264
188
249
279
280
237
207
183
243
299
235
181
254
174
261
215
192
164
208
265
261
274
234
206
203
206
151
164
166
202
233
216
272
254
200
202
208
191
289
286
187
283
259
238
275
178
223
391
126
236
185
236
206
157
169
201
204
168
212
181
323
258
260
250
220
381
202
234
306
151
266
250
161
223
218
198
281
146
283
213
226
239
277
248
302
253
272
195
181
216
177
224
203
226
231
234
241
214
279
202
206
253
167
243
198
158
174
192
200
245
155
246
193
204
181
323
191
195
199
213
211
165
277
156
225
255
244
186
232
284
278
216
236
213
210
166
160
209
238
201
263
248
212
282
217
220
198
230
263
198
253
202
241
181
238
272
179
222
303
208
307
227
209
292
174
203
252
151
173
202
213
234
152
146
263
116
272
235
279
240
183
184
218
160
275
191
275
156
271
216
288
146
150
169
307
272
282
202
227
277
198
190
189
238
154
239
219
237
223
229
256
166
176
151
243
242
229
286
239
233
251
215
307
236
176
214
238
230
277
273
227
292
274
248
208
241
311
230
286
258
156
244
238
223
169
221
209
167
241
234
235
200
230
173
239
245
219
245
157
212
197
208
231
209
191
223
149
218
207
209
228
324
252
291
250
263
232
145
179
230
207
189
176
258
255
260
265
229
228
114
235
212
306
238
213
224
191
204
210
294
236
219
215
169
185
273
234
290
235
267
249
251
175
234
189
205
156
292
184
241
279
238
257
161
209
225
246
259
197
201
198
170
192
198
170
165
181
186
282
168
222
203
293
218
286
144
210
312
272
219
210
175
258
240
195
201
231
171
232
260
283
190
224
222
184
240
173
188
241
221
188
202
297
188
251
254
223
234
285
275
193
301
240
225
271
226
193
250
239
202
268
233
183
178
228
214
255
233
208
177
231
196
230
229
157
200
225
158
234
288
192
218
198
233
306
180
247
223
219
283
156
182
244
196
292
192
185
203
259
274
265
185
218
194
185
294
222
224
184
260
253
178
160
210
176
174
181
246
164
257
266
198
255
254
180
243
215
184
235
239
220
217
185
145
208
195
243
265
286
299
234
162
207
167
258
172
277
227
157
266
209
265
145
282
243
156
188
293
285
269
274
179
252
258
231
145
242
183
261
196
242
251
200
324
247
238
240
208
218
243
221
190
261
192
241
184
234
205
219
248
242
178
256
231
133
212
204
240
256
220
209
162
278
239
202
272
152
189
178
192
269
304
229
231
146
174
201
204
180
232
247
248
228
226
229
221
197
152
230
266
261
248
218
151
168
175
316
213
230
241
200
303
178
158
252
249
241
288
236
197
232
223
241
311
195
251
223
183
243
233
178
303
190
195
197
232
219
244
207
306
252
179
204
216
248
301
206
298
241
126
220
296
225
192
174
184
193
278
174
286
338
227
278
256
139
278
290
290
206
297
219
257
227
238
116
245
199
240
262
253
227
250
148
243
249
206
256
188
246
212
239
196
272
222
348
192
306
276
196
210
275
204
273
152
274
217
201
240
255
285
170
315
154
241
277
214
269
213
215
278
203
352
181
264
225
296
224
267
220
189
229
275
147
216
268
243
184
250
288
191
202
232
205
206
225
166
174
251
151
273
208
189
207
178
114
238
232
300
175
215
345
244
207
217
216
249
235
261
199
241
269
152
246
242
268
149
151
212
165
209
189
235
210
195
260
221
250
314
245
203
221
221
206
203
247
251
246
205
175
236
162
259
215
253
253
211
173
205
158
246
226
176
181
265
283
178
212
195
267
204
249
200
245
246
232
211
162
281
214
178
171
114
227
252
281
200
200
256
220
315
126
220
171
213
211
275
287
198
254
233
228
290
214
192
204
259
196
245
192
114
247
257
277
181
198
318
257
219
160
192
182
167
247
204
179
214
198
215
214
213
229
201
114
232
306
260
281
200
213
318
256
246
183
191
196
234
174
225
234
156
281
169
229
220
291
207
193
225
286
243
235
241
211
203
217
259
186
246
281
255
254
206
252
214
226
279
211
275
160
225
252
156
191
116
184
243
220
250
236
289
145
206
218
250
251
233
247
213
246
181
158
267
245
158
279
233
195
195
253
298
263
152
215
233
287
165
139
240
225
246
159
258
362
301
290
257
236
245
221
216
231
189
212
286
254
230
175
262
268
219
260
191
218
180
188
169
268
297
210
293
287
195
219
197
225
260
222
289
307
146
180
308
215
198
194
242
223
189
237
222
151
215
246
198
298
277
222
262
211
216
278
183
218
204
285
114
208
239
230
269
193
256
160
236
258
152
277
241
203
250
255
198
206
255
301
289
181
197
158
257
114
155
202
281
175
186
286
191
268
222
209
283
114
265
245
279
225
220
239
282
308
212
367
243
227
250
188
254
220
263
202
199
193
197
156
270
255
232
270
229
254
262
281
229
216
181
229
230
211
263
253
249
193
252
200
294
261
181
163
273
217
278
227
216
235
204
254
300
243
297
220
222
229
157
257
222
235
210
238
207
253
219
267
318
219
281
218
285
267
176
176
186
299
198
175
141
210
183
234
187
195
274
301
193
151
151
206
231
272
258
209
334
257
250
156
260
216
228
166
302
233
185
325
285
214
203
256
233
220
309
250
223
229
228
194
203
243
233
297
213
145
238
247
246
267
243
199
272
194
289
227
154
307
221
280
280
240
170
228
149
213
224
288
273
250
272
145
321
279
245
190
250
317
265
188
213
192
225
252
160
181
196
170
200
158
200
196
263
154
205
265
265
147
284
214
282
235
257
201
214
226
289
264
209
179
288
300
175
211
224
225
177
200
261
260
215
200
255
178
237
126
148
203
184
230
214
269
114
183
243
275
246
173
266
222
257
261
258
340
277
242
156
206
139
220
232
295
170
235
243
228
228
238
290
269
203
189
229
224
186
225
261
278
215
201
244
246
224
202
231
305
234
242
247
228
215
245
212
161
116
194
213
174
298
158
257
186
207
214
186
220
230
248
175
163
252
214
186
230
173
146
146
221
235
247
277
339
246
209
183
240
233
241
166
272
225
265
156
213
212
240
161
228
192
198
208
211
192
225
249
180
200
240
254
213
269
220
244
234
114
188
177
240
256
206
212
273
157
195
210
248
190
268
267
179
291
242
222
256
199
242
164
193
184
237
289
216
214
247
247
249
339
220
282
271
229
219
189
262
180
210
165
259
231
251
219
276
247
231
238
308
185
214
269
149
249
235
160
244
278
165
275
255
191
334
262
145
231
189
225
277
258
256
265
228
252
204
215
191
213
244
252
306
171
227
219
156
265
229
293
197
256
266
218
225
184
218
266
238
210
268
324
277
227
264
252
239
241
196
216
292
297
245
234
352
170
266
334
214
301
248
184
308
252
211
275
179
244
246
262
276
260
197
168
192
166
166
166
250
244
229
330
181
300
161
278
174
277
301
233
279
250
243
250
285
168
212
250
217
157
191
208
183
208
285
289
224
213
166
239
236
149
178
235
285
192
247
211
207
178
243
280
283
213
174
223
234
222
238
204
342
222
250
292
247
274
139
231
193
242
197
195
261
219
145
257
210
231
190
226
258
199
180
152
234
171
210
221
238
175
290
186
176
256
253
247
152
231
143
181
203
256
201
220
161
207
183
159
288
215
215
287
203
249
192
233
215
196
156
244
235
174
197
203
318
258
206
242
227
277
174
292
214
226
269
278
261
239
174
300
189
295
168
208
227
273
278
190
188
312
249
301
197
186
227
251
203
201
190
250
152
185
126
170
245
233
220
158
238
231
264
197
233
261
213
272
187
288
205
160
231
259
255
148
226
206
308
234
204
174
281
217
188
219
240
242
181
233
242
259
230
116
227
286
180
248
195
237
114
238
251
209
215
214
308
220
158
221
248
229
215
198
325
257
251
165
256
203
214
241
255
203
223
283
242
236
166
231
211
238
238
299
316
139
227
179
218
174
217
259
258
187
256
283
114
247
160
172
196
263
208
176
281
236
291
274
182
215
214
151
276
243
130
126
304
235
268
242
227
178
235
345
181
254
204
260
209
182
222
323
286
255
269
222
224
280
251
219
176
159
224
279
156
242
129
198
237
198
273
176
213
280
229
213
158
222
207
239
202
242
191
175
222
195
250
253
220
198
186
203
212
218
193
267
237
198
219
236
211
179
265
215
246
201
145
224
255
203
190
258
220
193
281
250
207
258
164
263
212
238
173
222
212
263
250
259
184
279
180
225
156
238
307
228
222
184
212
220
213
278
269
160
234
257
235
229
177
197
212
152
225
248
170
242
233
245
210
196
250
240
322
276
267
161
231
193
192
183
209
218
217
263
238
230
285
201
174
256
193
170
208
197
205
198
243
228
264
266
160
233
221
240
244
187
214
268
259
298
224
191
234
249
244
214
207
184
286
229
232
262
262
231
242
296
215
189
279
244
191
261
167
253
240
202
151
248
209
169
340
231
205
215
304
207
297
213
218
116
290
349
210
273
157
200
341
289
173
292
244
256
152
168
240
175
200
139
230
281
239
259
151
221
220
238
114
195
158
207
326
222
218
195
152
207
225
258
197
198
233
232
265
268
197
170
268
275
218
265
221
178
160
270
264
270
240
264
243
256
165
181
181
170
229
306
139
300
202
114
203
185
252
267
116
222
161
246
184
168
196
260
196
261
240
253
313
204
290
204
235
254
220
237
228
233
212
276
253
207
196
233
154
241
187
251
156
270
148
305
228
194
232
257
192
272
207
312
184
259
211
342
189
202
251
175
195
169
262
270
210
251
206
246
234
211
195
152
302
174
214
144
281
201
225
274
198
265
354
288
263
190
146
114
197
234
189
217
276
207
217
320
214
210
316
191
199
311
225
221
312
200
179
234
240
296
230
195
171
235
238
201
255
222
248
232
197
184
251
265
195
224
255
175
264
182
160
212
152
114
133
218
239
178
198
162
209
232
307
245
293
225
193
218
222
300
259
314
201
212
160
214
129
336
189
279
233
262
245
284
246
281
240
245
229
230
232
214
240
287
245
152
221
249
283
172
238
205
235
231
244
216
218
176
215
151
225
214
297
206
198
225
249
200
195
219
251
219
247
154
232
172
207
270
297
227
162
196
197
231
300
197
203
149
208
232
284
218
192
288
226
192
254
249
204
262
208
232
240
249
198
195
210
219
284
310
214
253
208
200
249
192
248
157
219
298
148
206
282
238
181
162
214
145
192
243
245
250
239
275
344
246
200
194
220
264
226
253
182
226
331
161
257
184
160
261
166
173
221
204
252
207
292
181
178
198
241
254
204
252
267
200
247
260
217
234
179
307
248
260
227
163
235
248
197
204
242
176
310
177
211
263
291
230
214
244
296
200
209
198
311
169
169
243
237
256
196
216
305
145
201
278
250
285
208
242
243
245
285
209
233
170
238
227
208
344
182
183
217
199
193
144
156
170
222
220
224
247
173
243
267
215
216
198
232
219
192
242
250
286
191
145
230
221
231
153
285
175
254
207
232
282
225
233
185
302
206
286
224
151
145
289
244
162
258
204
194
126
154
266
181
191
223
302
235
173
198
182
235
279
256
258
259
152
211
218
241
288
114
231
196
170
228
172
226
228
272
209
315
291
211
225
114
202
302
223
275
324
181
222
160
195
175
236
152
323
261
207
191
311
116
237
239
116
227
281
169
145
201
318
311
219
249
195
180
233
167
205
213
252
161
181
303
254
227
235
179
193
114
198
209
233
213
175
171
277
247
178
157
181
266
269
201
273
265
251
198
307
205
242
177
311
197
188
306
189
244
254
269
278
218
221
189
270
192
187
236
357
186
320
239
159
296
258
234
216
205
213
219
181
247
262
281
285
254
192
195
145
130
228
237
266
297
237
180
304
320
358
184
216
205
238
264
198
265
175
347
212
240
242
213
114
266
158
214
178
308
246
268
178
286
156
184
270
161
161
262
322
218
339
139
203
290
156
269
197
220
244
240
253
241
225
211
292
239
268
227
211
280
261
275
210
200
288
291
238
220
197
299
220
253
261
212
223
225
272
191
175
237
214
180
197
287
246
263
249
161
238
290
249
114
268
210
210
308
216
280
184
295
239
281
177
108
177
184
232
218
301
277
205
198
296
203
233
232
253
240
240
247
232
149
166
219
214
198
274
228
129
226
184
199
295
214
212
221
210
278
382
287
219
233
156
214
243
222
255
253
212
278
200
210
200
236
298
217
183
233
174
263
176
230
192
324
203
274
228
265
224
300
225
225
161
257
188
152
221
284
170
253
242
230
265
212
199
220
189
222
228
218
171
178
205
263
186
233
182
220
177
316
209
219
193
261
289
191
241
164
192
196
184
169
278
189
216
260
217
139
178
214
187
276
236
210
177
237
207
259
248
196
198
253
203
285
205
245
231
229
215
264
214
106
259
285
235
195
224
173
195
238
180
259
264
216
179
236
265
214
212
195
229
218
186
221
197
196
191
248
169
283
388
197
192
296
212
168
137
312
278
237
226
282
192
205
242
252
160
196
160
205
274
164
191
190
246
266
176
240
228
192
156
147
173
181
193
234
309
219
240
237
207
173
203
226
247
168
213
152
202
207
223
226
197
208
225
287
161
172
281
227
249
270
275
183
225
262
156
114
146
275
216
243
225
212
251
277
252
209
347
238
210
207
221
231
207
219
208
296
340
319
253
213
224
319
149
116
267
206
126
192
231
201
226
190
242
247
139
206
312
192
246
241
237
238
192
255
203
251
280
306
293
168
243
223
184
248
208
219
243
284
198
217
171
178
129
310
231
237
254
195
175
230
173
198
191
187
283
216
192
239
161
273
174
146
238
198
253
231
230
255
205
235
212
209
284
178
203
198
256
245
237
234
266
177
274
252
243
270
152
305
298
226
214
199
299
180
194
213
232
246
174
196
226
182
183
277
258
229
237
177
256
188
256
235
145
198
254
228
228
218
244
259
231
232
317
209
184
210
168
201
263
178
270
229
196
202
202
240
170
262
148
233
241
202
219
240
179
220
181
231
126
228
210
247
156
204
229
288
242
253
246
282
284
219
230
275
306
209
294
241
239
247
292
272
278
288
254
189
236
212
222
167
314
195
249
182
185
203
242
181
201
256
206
239
317
251
235
271
164
249
227
204
238
126
162
220
212
261
212
170
199
160
232
255
204
207
255
168
276
262
238
291
221
253
252
265
225
163
251
245
239
216
248
259
234
219
274
157
218
295
191
290
205
284
220
304
274
114
245
226
217
235
284
202
244
211
195
114
254
201
263
139
216
243
233
252
161
240
229
231
225
225
240
192
290
245
282
279
174
272
221
166
210
246
114
174
217
133
218
176
207
243
221
271
235
326
205
280
175
234
235
283
173
289
255
209
164
224
292
249
237
176
186
264
250
213
183
166
233
165
241
160
167
140
236
181
214
322
214
201
297
191
209
133
177
269
195
178
195
166
232
162
273
175
217
258
292
192
209
290
178
240
261
283
149
223
209
218
237
164
292
207
232
256
170
195
288
203
279
250
250
187
247
210
232
185
178
271
193
257
270
178
189
223
198
305
246
260
257
238
216
178
180
208
358
178
302
222
207
158
161
211
199
194
297
202
268
230
206
232
228
145
287
281
185
145
225
246
206
270
261
192
160
242
229
242
192
199
239
216
191
201
238
198
256
288
154
270
205
251
234
174
255
152
211
277
234
168
298
251
202
243
184
208
277
297
158
180
271
189
314
169
275
347
178
206
180
203
244
206
256
230
201
218
256
154
223
258
308
250
163
296
248
212
203
277
168
240
282
216
171
167
320
280
133
245
212
221
166
205
261
168
258
301
204
253
201
231
202
221
152
288
244
108
233
183
262
163
301
234
212
191
281
244
244
305
169
194
227
222
183
263
209
161
227
279
268
280
162
167
114
215
219
241
303
139
214
201
183
239
194
303
222
199
166
251
279
251
271
264
174
225
178
188
160
217
221
203
225
206
158
139
203
272
116
198
225
229
265
198
171
229
265
225
219
322
257
284
239
152
198
146
220
191
246
237
299
284
213
126
226
280
209
189
165
224
188
234
267
126
232
170
152
216
271
265
286
161
244
195
201
207
250
215
225
200
265
222
199
211
192
285
241
235
170
223
183
209
241
234
272
201
200
279
228
202
310
305
330
214
306
218
257
206
266
208
247
257
303
196
295
249
196
233
198
198
222
271
179
277
206
304
237
235
288
275
304
179
199
225
212
228
286
347
192
275
184
203
156
151
181
191
133
304
218
171
288
271
274
308
232
226
256
276
238
184
156
287
196
267
216
222
214
286
317
197
232
198
248
210
299
234
176
195
337
233
254
213
210
191
206
184
238
146
222
158
220
253
213
254
193
255
196
230
184
245
242
192
228
274
176
214
216
190
194
149
178
175
153
225
287
178
206
149
335
239
321
215
181
216
220
183
184
211
152
192
233
187
200
212
212
144
200
276
248
329
278
193
207
170
248
170
202
240
203
178
168
327
261
360
230
217
216
261
239
234
220
284
246
179
293
126
200
224
177
261
235
209
271
248
114
243
176
223
327
374
187
249
248
211
167
227
214
283
181
251
114
255
179
227
177
154
209
169
285
234
146
201
151
174
238
211
278
116
223
193
247
212
255
202
311
161
237
264
250
263
218
230
223
270
149
201
178
228
276
240
235
205
241
236
266
274
227
176
175
261
223
214
289
207
261
227
173
223
206
216
174
170
191
250
152
279
178
177
303
203
285
219
207
226
207
237
191
255
290
243
165
211
198
232
235
297
205
256
175
228
265
219
168
197
176
256
266
148
191
178
265
256
232
181
200
271
226
145
214
265
228
293
288
246
239
187
208
252
217
248
249
213
229
259
252
173
209
195
133
228
185
224
225
227
241
251
193
347
273
216
194
181
265
243
286
237
171
239
208
289
217
288
286
198
170
244
248
186
288
283
146
218
280
274
274
222
298
181
231
235
220
333
268
329
282
160
221
242
240
233
215
289
170
226
226
198
106
209
239
152
198
223
198
139
175
169
161
114
177
270
270
233
273
192
200
248
209
240
271
192
210
220
226
224
358
196
233
197
190
210
225
173
255
149
276
331
201
237
212
210
244
231
178
175
269
257
303
228
234
198
258
223
346
210
252
254
173
187
179
248
193
164
161
316
222
253
173
181
218
188
201
254
245
240
224
231
224
284
184
206
221
260
223
208
171
208
238
255
179
138
233
260
172
272
177
240
258
186
251
252
200
182
175
220
236
199
244
220
178
247
225
229
165
217
196
269
239
203
281
216
244
190
223
184
262
247
230
227
163
242
170
189
197
190
237
186
174
176
181
246
220
301
250
176
234
269
206
176
202
198
221
275
210
224
183
263
207
256
194
218
223
302
258
262
273
171
173
181
284
250
248
215
190
268
170
260
284
260
234
173
230
191
256
193
260
287
252
279
164
291
212
233
246
241
272
327
295
208
273
286
284
126
275
223
232
203
268
229
180
225
276
175
260
210
247
163
208
243
273
272
286
198
291
225
280
250
227
206
156
291
160
255
224
243
237
266
323
207
299
215
208
192
209
299
213
245
184
206
233
250
257
146
227
182
268
235
274
222
286
247
249
160
200
205
189
249
169
193
114
290
199
183
218
328
231
280
192
247
243
230
257
182
165
231
284
217
249
192
206
228
242
182
242
206
333
209
325
218
265
244
266
197
274
241
282
231
241
188
341
343
231
220
225
268
194
174
313
259
243
213
206
257
161
231
241
106
215
207
271
279
192
256
215
206
203
236
253
209
282
249
285
268
200
249
183
252
238
205
236
183
196
225
259
211
203
152
241
235
267
199
229
195
167
181
222
225
180
245
213
203
239
214
305
265
198
228
191
179
228
174
284
174
239
195
231
214
274
154
246
290
178
241
279
239
198
255
232
252
197
256
162
170
187
223
233
220
293
222
283
252
170
199
228
174
216
223
191
207
302
162
276
206
249
250
262
190
190
199
130
220
243
248
211
178
233
162
181
201
198
193
170
248
265
211
251
256
228
250
223
240
228
205
276
245
175
265
187
254
296
235
217
214
207
232
206
233
265
167
249
188
171
255
249
203
213
231
126
247
223
171
246
106
157
289
313
178
149
243
114
266
235
294
239
223
188
209
152
200
186
246
374
189
292
173
139
195
178
220
245
206
302
265
171
195
200
247
212
192
158
191
219
197
212
303
114
290
299
321
246
193
337
192
159
170
216
317
181
232
229
240
274
281
175
211
252
247
208
240
189
193
154
210
200
184
248
231
218
195
196
224
271
169
259
203
203
192
223
309
191
211
231
268
175
218
275
223
174
126
243
246
203
180
220
176
254
253
146
201
229
212
233
194
205
209
173
236
220
221
258
210
234
357
217
223
217
194
175
233
212
191
177
185
234
251
290
169
243
337
277
207
289
190
253
234
282
219
176
158
192
145
195
273
198
254
227
346
201
223
233
273
158
188
177
218
164
162
198
258
249
233
332
329
217
220
169
221
248
241
176
213
234
218
344
254
207
174
187
261
241
298
213
291
175
245
239
197
170
165
155
172
227
129
248
203
338
253
238
217
237
232
258
238
225
144
133
202
211
215
314
240
273
224
283
197
339
218
198
210
265
257
263
207
205
234
228
306
303
270
222
154
196
254
213
234
156
273
229
259
174
250
209
237
215
275
252
242
191
193
263
153
149
202
308
231
163
291
226
237
255
148
226
194
181
114
192
216
258
285
145
147
252
202
233
238
279
240
170
230
148
199
213
193
137
214
236
293
231
271
221
262
211
220
311
248
205
362
230
249
219
230
252
194
258
214
228
242
263
233
255
175
224
274
206
282
151
196
258
242
201
248
247
183
160
250
156
262
224
145
256
241
168
309
223
245
236
173
213
226
262
248
152
223
237
254
170
214
184
237
180
182
203
225
246
253
277
256
227
239
243
225
285
126
237
152
121
238
162
226
261
217
195
201
264
189
208
249
148
294
226
209
312
257
184
218
297
327
196
205
184
242
243
186
246
220
178
260
180
231
205
310
197
257
230
178
178
147
267
216
202
229
251
173
213
175
302
195
181
215
283
314
114
267
301
300
232
192
230
253
281
183
192
243
141
190
259
209
306
251
276
240
170
244
243
235
346
146
255
213
208
279
217
177
287
183
272
234
211
287
178
208
298
319
231
260
188
201
279
181
323
230
217
160
116
250
192
204
235
237
251
275
235
252
316
203
262
279
254
195
219
175
188
299
251
177
232
241
239
285
274
229
252
205
237
233
270
159
114
241
192
231
116
219
202
171
162
166
189
183
231
207
150
203
235
182
261
249
167
268
181
235
269
241
248
257
188
114
171
173
328
234
210
226
223
227
267
260
235
250
152
279
179
295
228
196
160
200
174
202
128
195
178
180
284
220
191
213
174
303
193
198
158
198
240
193
284
298
227
237
259
150
288
237
156
171
184
156
168
216
178
225
185
283
158
281
211
268
166
197
151
181
167
212
241
238
256
222
249
212
264
221
192
337
251
228
191
195
226
233
233
207
208
211
160
242
166
282
178
227
181
225
265
228
205
257
312
316
254
217
215
215
215
193
193
187
244
227
216
197
184
277
266
168
249
257
235
268
277
203
276
157
240
196
224
245
203
324
248
258
247
324
186
227
251
261
188
156
233
224
171
180
200
252
214
183
236
163
263
258
278
154
284
208
217
174
235
189
248
231
183
225
215
178
169
265
214
196
241
216
243
303
203
212
297
145
161
231
216
197
160
203
231
277
236
216
276
164
221
170
286
253
351
198
223
212
190
181
263
252
246
236
220
242
206
244
187
199
171
188
165
254
237
270
173
249
170
225
243
217
228
179
179
187
219
178
253
199
177
198
218
180
169
177
165
186
225
249
161
196
255
265
197
311
212
195
196
217
263
267
253
114
252
176
180
206
298
233
284
173
246
167
240
257
170
247
175
227
232
234
211
234
207
215
177
206
126
126
249
309
170
172
233
206
152
230
226
250
261
226
284
265
242
262
236
246
222
249
169
219
266
203
149
215
198
166
254
254
214
253
216
261
177
224
288
289
227
203
252
308
253
219
214
250
238
253
331
203
220
253
312
170
213
231
235
312
200
277
270
202
133
184
243
298
198
265
256
174
232
233
245
274
161
233
199
180
192
219
260
114
184
175
204
210
295
207
267
305
198
194
158
245
242
177
213
248
246
271
215
209
273
222
225
234
212
228
197
114
162
202
185
171
267
164
210
191
286
262
231
210
295
215
222
232
271
224
199
237
264
247
183
208
215
214
197
254
185
188
231
184
207
200
211
114
232
213
166
247
199
224
237
278
313
245
259
230
222
260
237
267
284
288
206
156
148
270
263
283
116
249
239
159
152
267
235
183
258
234
190
238
261
208
262
265
174
270
260
234
258
347
204
241
235
173
216
250
216
142
181
203
235
235
192
244
222
312
199
222
262
228
273
234
283
263
114
223
201
210
209
202
195
243
210
262
341
165
114
268
240
280
259
244
305
240
156
202
261
254
284
260
230
220
196
265
272
186
253
269
212
220
236
199
238
318
170
236
213
240
211
288
315
166
239
169
116
223
280
121
238
198
152
241
266
145
261
304
232
260
338
178
164
186
219
200
252
149
195
180
245
226
216
199
291
214
281
198
269
273
265
244
250
166
286
268
197
304
226
235
247
195
161
288
212
333
145
263
300
168
156
164
205
221
226
218
228
178
187
252
253
149
242
205
215
258
169
200
214
272
254
192
192
219
226
269
116
223
239
211
158
169
210
225
252
243
263
253
237
228
268
270
191
156
179
178
194
284
320
270
260
163
167
213
126
160
277
326
211
297
211
201
280
180
281
209
227
181
213
186
238
195
230
232
175
218
240
198
252
303
251
208
266
195
200
226
183
184
270
287
204
219
202
197
223
323
166
147
287
241
250
230
257
215
179
298
203
190
209
221
261
192
236
297
255
297
180
264
233
287
252
253
257
182
254
261
208
226
249
258
232
227
197
241
240
238
245
245
253
211
247
277
239
258
228
306
234
226
241
212
267
213
219
221
254
192
139
245
243
228
212
214
283
210
288
218
290
269
171
206
189
145
245
266
158
164
203
273
212
283
247
192
169
165
164
203
188
251
165
174
162
170
221
260
209
200
225
168
281
208
209
220
207
214
204
244
206
175
186
249
170
306
232
241
288
219
242
219
205
269
263
242
219
239
290
239
254
292
245
196
194
165
221
188
197
242
225
300
293
286
247
247
191
283
265
225
301
159
239
176
154
161
158
169
324
171
283
258
188
276
262
218
178
222
244
256
220
203
152
261
276
214
215
319
256
278
243
217
215
170
226
204
182
175
139
222
207
247
283
285
229
207
256
238
258
198
255
168
196
161
215
258
174
309
209
215
257
176
201
214
193
191
260
227
213
311
160
229
193
243
224
170
211
241
279
327
258
214
261
219
225
280
207
193
156
225
185
235
214
278
225
260
160
182
212
269
196
233
236
223
226
198
214
200
228
279
301
269
269
209
214
244
173
179
198
180
254
208
207
297
195
126
192
114
285
279
316
179
251
222
212
265
188
154
222
209
200
249
231
214
180
239
238
203
231
198
180
146
254
202
201
233
173
289
199
167
250
264
213
246
214
158
195
174
276
170
174
146
214
222
211
202
261
224
280
221
145
313
223
196
312
174
193
167
151
226
297
320
199
189
250
207
219
285
192
284
237
222
195
170
228
277
278
288
264
259
303
238
307
194
290
243
191
236
201
209
252
205
237
174
231
222
222
220
223
195
281
219
263
235
255
258
224
227
184
271
195
245
217
343
220
156
203
284
273
258
225
201
229
268
196
174
220
239
193
196
289
165
215
156
185
161
206
251
220
237
227
271
197
173
288
255
268
343
199
208
221
204
196
265
259
218
219
149
207
226
236
199
283
193
269
235
244
203
126
179
247
175
184
156
133
219
201
234
243
287
301
198
192
176
175
216
209
215
230
260
212
217
201
230
144
259
201
178
153
213
271
329
219
273
208
242
276
235
198
291
236
243
247
288
213
262
221
201
199
221
177
291
240
239
325
259
180
258
243
260
276
293
280
269
235
217
199
229
228
231
221
209
346
247
159
198
156
172
213
255
211
165
287
214
175
199
217
213
209
218
255
225
226
220
251
178
165
195
206
189
197
181
215
223
198
275
276
229
199
246
284
204
288
226
317
273
282
171
161
287
210
285
214
221
248
270
202
250
208
265
224
248
309
195
126
209
200
252
297
160
172
206
269
250
176
232
193
204
191
173
204
178
254
178
331
160
170
195
210
235
276
201
130
200
232
296
235
328
203
236
201
266
186
275
196
260
244
250
313
236
156
314
175
184
175
179
234
277
166
246
245
237
259
299
259
193
220
114
296
203
199
235
192
257
230
222
175
238
258
238
235
237
263
252
195
255
269
267
288
214
234
251
149
266
177
254
190
158
271
147
203
224
253
156
163
283
257
237
260
193
198
243
146
271
257
260
213
238
211
227
197
226
281
215
257
228
238
257
139
212
286
227
176
217
223
233
242
204
292
214
195
226
165
165
234
187
208
204
272
209
173
135
178
189
219
257
241
264
236
251
241
173
198
229
205
133
186
257
160
194
255
249
225
241
239
134
218
220
228
261
218
217
192
222
255
269
321
215
218
240
251
202
197
268
244
312
213
312
245
145
202
189
198
269
273
196
204
244
219
234
269
284
213
208
258
188
354
318
219
180
222
288
252
199
148
126
262
172
177
288
253
163
257
252
176
198
254
183
273
246
187
266
281
194
241
220
208
212
210
152
246
219
121
225
233
217
230
201
173
114
207
243
198
158
171
220
194
244
224
309
156
241
264
160
166
247
256
165
157
198
221
228
176
234
187
240
243
268
211
239
186
190
195
203
256
246
176
187
240
238
238
258
192
265
229
270
247
323
235
272
266
232
116
249
271
280
229
197
203
194
210
160
216
219
182
206
218
274
267
235
283
234
215
225
189
206
221
178
214
170
225
183
114
288
244
192
200
238
237
200
244
217
235
244
260
293
206
228
220
283
288
218
265
258
291
267
204
263
214
169
299
211
189
186
246
114
236
160
318
251
252
256
257
226
212
176
229
108
179
267
240
240
203
235
246
241
114
198
189
177
198
170
209
201
270
272
267
239
216
249
269
328
228
133
181
191
240
180
253
192
215
217
267
315
239
332
257
185
186
230
188
238
163
196
187
268
181
128
188
250
229
253
202
291
280
191
145
273
236
223
207
149
234
249
229
219
192
208
270
286
206
263
251
306
198
160
230
269
192
210
192
249
241
189
262
160
199
296
247
227
212
195
237
185
265
181
207
270
164
179
224
246
182
227
246
201
289
190
222
193
221
263
242
267
237
184
201
253
264
209
247
354
271
165
229
220
219
194
187
329
203
160
264
263
217
185
224
198
276
232
289
206
198
246
267
274
237
197
252
319
184
278
226
242
260
224
219
178
294
165
164
299
262
333
139
260
200
152
175
253
285
219
202
260
175
240
155
172
211
209
170
262
238
281
199
215
204
219
169
210
236
219
201
114
282
250
196
231
318
259
189
285
173
285
273
214
224
195
207
260
240
198
247
263
207
250
228
170
270
199
253
191
212
154
235
284
223
251
276
242
167
217
241
259
181
270
186
106
224
228
260
206
174
210
248
201
228
228
218
179
255
314
241
225
284
189
214
235
262
219
151
217
275
303
224
201
198
247
270
193
235
233
282
233
246
178
213
259
222
176
249
276
168
157
267
204
221
214
277
229
279
281
189
220
282
230
179
158
233
259
275
233
192
247
256
231
221
262
257
156
218
213
189
242
277
251
186
225
156
178
199
229
301
264
193
270
240
129
188
176
218
248
202
292
228
210
225
190
280
203
287
223
170
296
355
215
238
160
205
269
243
233
259
192
160
231
199
147
229
216
210
215
134
208
170
172
114
221
184
245
250
151
243
144
296
200
258
188
160
308
215
181
233
231
178
205
188
208
208
216
240
146
274
241
268
238
180
154
201
283
182
230
216
258
312
254
251
274
255
277
275
212
174
209
235
196
167
169
231
160
222
335
312
222
276
259
218
212
121
162
209
253
259
241
205
223
319
253
216
162
265
311
233
224
264
152
241
248
238
226
160
160
277
238
243
256
302
218
152
189
203
234
156
279
129
277
215
262
226
139
263
244
218
238
231
212
232
186
126
245
172
210
289
121
310
220
254
218
244
311
218
177
278
192
227
175
287
204
183
169
219
262
307
329
146
208
208
240
185
180
218
163
294
199
341
192
210
211
185
241
196
215
216
189
240
177
302
236
213
205
151
299
221
198
214
156
211
106
170
204
116
218
178
263
234
151
201
285
243
205
162
315
217
261
225
314
211
270
204
139
278
222
155
219
114
192
169
114
170
208
299
272
169
189
198
160
267
280
232
267
240
238
254
148
235
194
218
219
169
246
114
162
192
260
233
158
193
209
210
233
108
208
213
208
160
234
251
214
160
193
231
182
181
183
221
180
193
291
261
170
249
296
116
185
338
247
211
252
188
194
233
283
229
241
209
273
263
204
137
172
196
267
203
287
202
252
190
266
214
241
234
174
148
262
288
114
244
214
158
169
182
272
202
287
248
211
170
262
172
206
267
215
184
246
252
201
307
237
262
209
179
156
187
152
198
236
180
158
255
190
218
231
177
298
268
241
202
306
223
173
290
198
114
263
244
214
324
246
277
243
249
218
225
191
165
260
234
247
168
191
185
202
204
204
193
182
162
188
198
222
216
183
158
192
237
193
220
243
177
277
260
243
262
216
230
145
212
246
207
251
247
248
275
260
278
260
194
281
250
162
180
214
177
239
255
224
187
225
316
217
179
170
281
236
269
195
229
154
242
176
242
266
222
267
271
302
220
221
276
239
223
167
169
258
230
232
167
206
275
263
114
198
179
257
189
220
235
168
235
179
146
224
166
326
121
163
251
215
139
173
241
285
198
208
174
268
243
173
293
252
192
245
228
254
240
301
234
229
199
192
216
166
254
163
223
261
292
186
275
196
218
265
209
215
157
258
211
370
164
207
307
263
128
319
233
231
166
194
179
175
198
229
203
206
232
213
236
222
222
248
285
200
223
371
210
299
276
249
149
233
259
233
228
219
192
189
225
215
259
126
284
183
219
156
229
139
244
243
226
286
228
181
218
271
239
220
212
204
242
243
250
173
264
236
216
226
177
217
183
297
224
266
314
217
202
186
215
174
175
214
208
237
221
248
193
229
205
167
161
226
181
152
248
224
180
170
246
302
281
116
230
147
288
243
229
214
255
188
306
231
283
256
227
183
231
170
199
279
211
265
224
235
308
176
249
225
228
235
114
157
114
229
169
259
173
224
246
281
220
248
243
246
246
288
181
197
236
294
225
238
217
266
268
182
194
239
164
207
283
230
225
157
253
246
277
203
252
214
270
297
203
233
178
198
126
232
219
176
240
220
298
247
192
267
274
208
180
229
145
250
256
235
223
326
220
274
195
232
211
157
173
158
237
181
326
216
198
270
205
213
156
194
213
313
260
173
242
245
212
263
240
221
231
264
266
206
334
349
198
229
214
330
162
219
192
329
178
194
170
248
165
186
156
204
220
284
262
229
264
201
286
264
284
222
271
161
176
275
190
178
279
205
183
204
211
212
192
188
192
178
146
225
174
276
213
194
208
173
255
230
220
217
196
191
241
208
254
116
173
285
268
239
305
339
273
213
216
251
220
264
304
180
295
281
222
237
274
181
284
213
220
211
135
266
286
205
198
235
231
178
184
264
315
216
229
128
156
198
219
241
199
252
249
224
184
257
270
200
213
235
294
251
193
335
180
286
265
210
247
176
231
247
263
270
212
217
249
152
299
232
323
213
248
216
229
298
201
255
254
218
156
161
232
162
235
275
253
290
240
266
306
205
171
196
316
261
209
178
258
299
255
234
302
170
208
244
242
207
195
176
310
266
160
228
282
296
296
232
208
208
152
195
292
224
238
278
320
328
280
175
309
266
180
261
241
166
192
244
273
170
222
214
223
192
139
217
242
204
152
245
263
160
256
265
208
304
254
292
204
272
241
287
236
245
172
279
237
256
282
249
224
288
218
294
240
249
178
160
233
222
232
193
253
222
265
186
211
149
289
178
147
209
214
183
204
166
202
236
237
203
223
237
152
195
306
314
279
134
201
246
205
204
248
202
285
193
242
266
207
341
242
230
234
213
239
275
179
165
290
251
276
226
226
261
283
183
151
223
201
233
306
160
262
177
195
176
126
309
245
198
209
244
227
241
240
208
183
265
185
224
203
276
210
152
242
246
204
286
223
209
284
162
198
312
294
231
192
251
114
191
242
188
173
246
198
186
233
239
258
275
195
233
197
256
243
198
237
199
238
226
254
280
215
221
163
231
209
279
230
300
237
292
234
196
254
179
253
293
248
160
144
303
283
209
269
265
170
290
192
256
256
200
212
196
296
279
264
265
264
271
198
216
315
358
247
239
235
284
217
225
269
203
218
162
199
216
174
194
283
114
114
273
156
244
230
227
208
181
240
200
249
237
130
223
234
258
245
149
174
182
186
219
164
256
174
280
217
211
249
218
229
249
268
155
181
234
185
218
321
169
185
232
241
194
181
182
258
260
262
161
195
255
238
193
215
274
257
271
197
236
175
245
211
249
218
309
170
276
258
289
198
280
183
183
227
180
214
189
208
130
173
261
277
233
223
208
250
220
260
181
227
255
239
267
230
222
228
226
263
276
229
230
146
217
193
254
205
173
169
260
231
170
321
231
173
219
257
225
229
223
234
276
179
294
269
215
183
236
152
295
179
161
163
224
242
219
209
248
261
194
201
259
196
170
261
237
165
229
234
238
191
207
232
236
247
133
238
273
190
169
248
234
147
233
196
252
208
193
185
241
206
196
203
235
180
197
215
175
175
172
175
254
304
190
235
254
194
331
211
134
205
205
186
255
175
251
179
193
277
221
204
238
156
236
230
256
192
297
181
252
274
229
251
220
354
252
204
239
164
209
263
246
114
246
234
252
199
296
202
208
166
300
287
266
246
201
243
256
183
261
215
266
294
212
209
235
221
203
191
219
259
279
210
177
219
241
255
227
192
251
164
252
145
168
271
293
274
154
223
212
186
295
247
275
208
237
330
250
264
223
246
247
252
175
264
275
188
208
108
181
242
221
251
196
194
223
183
274
251
225
182
199
225
226
302
220
285
311
210
234
190
267
200
206
173
139
209
186
188
217
231
204
263
240
246
260
276
253
205
286
263
292
283
168
267
191
254
215
181
203
273
277
276
158
225
177
160
265
194
220
187
264
116
223
174
177
258
197
265
179
229
174
304
190
186
166
324
296
214
182
146
239
114
290
203
203
196
262
235
114
181
207
196
251
322
250
236
181
215
242
228
243
269
242
206
297
252
170
269
253
193
282
201
297
165
190
152
212
249
251
218
275
255
223
294
191
201
183
271
158
220
152
190
215
221
160
284
357
264
157
305
199
207
332
171
240
156
197
253
252
206
212
315
257
221
224
251
114
233
303
175
161
151
215
222
186
250
191
231
248
158
239
248
274
175
234
245
239
166
206
266
202
253
214
242
266
216
205
237
237
253
116
191
216
290
193
234
170
230
202
264
193
181
225
231
207
260
299
310
213
255
185
276
192
226
252
214
228
201
315
248
238
227
239
217
198
296
192
228
160
191
170
226
197
258
235
153
258
228
188
114
292
178
222
202
272
222
240
200
267
205
223
257
280
252
159
240
161
194
168
173
258
224
173
260
158
173
269
232
165
224
207
199
271
204
197
225
208
243
255
198
262
197
204
212
325
208
207
274
208
285
230
247
297
258
218
235
257
181
114
242
152
155
267
243
183
177
198
192
139
247
230
299
195
204
198
228
166
184
280
308
234
285
217
246
260
273
185
209
200
270
213
233
234
207
176
225
198
284
262
198
214
227
316
229
229
237
203
226
188
206
114
251
261
219
208
335
201
233
170
213
186
241
173
265
196
289
181
306
266
259
160
198
187
267
130
256
240
226
210
114
218
293
216
219
197
194
209
196
230
277
185
284
244
236
223
300
283
208
193
202
316
172
256
146
193
212
186
220
271
152
174
216
138
233
262
153
229
192
297
306
186
264
179
232
238
171
287
213
262
213
242
186
193
222
251
249
160
253
190
237
259
244
261
193
214
255
232
144
192
187
217
277
175
163
139
241
330
161
173
237
203
267
247
220
312
252
237
133
171
265
208
160
187
275
220
281
231
232
198
231
192
277
217
220
207
213
183
171
205
152
209
205
205
128
186
114
221
273
263
240
225
248
203
269
223
197
291
114
154
282
192
192
279
223
197
226
237
175
198
187
252
343
181
211
218
207
299
286
336
170
210
206
229
190
230
238
251
213
305
264
155
257
214
257
229
242
218
305
233
236
233
208
237
314
170
156
166
296
160
235
272
282
308
209
151
160
299
179
180
213
225
198
243
246
227
223
232
285
252
262
261
308
232
198
192
251
270
255
275
296
181
238
174
264
258
325
202
316
183
223
263
301
247
188
216
210
215
253
265
261
199
173
298
170
164
264
181
253
169
196
187
223
251
217
257
211
243
247
173
231
207
213
265
263
244
211
289
231
316
242
280
191
179
310
258
214
199
203
130
272
275
206
259
178
256
285
280
257
271
200
195
189
243
303
231
244
290
151
210
221
170
246
220
219
261
260
175
184
238
191
224
210
148
190
238
184
194
314
288
203
195
133
195
271
206
192
269
266
243
224
175
284
247
254
211
281
176
282
216
210
309
262
287
221
169
268
268
212
256
209
198
202
215
269
225
242
305
250
256
206
285
182
287
243
221
252
277
288
311
206
271
237
252
198
282
159
262
238
233
205
276
244
267
253
173
191
186
292
229
175
242
242
207
304
248
280
272
186
208
190
260
214
260
267
222
193
265
282
244
260
241
211
198
181
257
178
198
208
270
209
188
186
274
151
265
279
175
191
215
198
252
253
287
184
184
198
212
165
235
160
213
165
249
366
224
247
275
162
239
215
267
156
267
246
284
247
222
231
207
242
221
205
234
313
201
249
274
173
255
201
208
209
231
215
230
209
241
242
189
251
191
293
251
258
199
269
299
166
202
178
285
245
239
223
238
108
258
269
169
262
279
202
217
218
185
281
306
210
278
201
183
252
203
213
114
200
190
181
248
351
251
268
211
247
228
241
162
219
269
189
259
243
160
311
258
225
292
267
251
211
197
209
308
244
170
180
235
183
173
270
297
198
258
213
139
181
251
222
183
242
369
253
181
278
265
258
188
193
249
114
164
129
149
234
173
274
238
239
213
257
254
240
247
333
310
262
189
198
214
180
182
216
274
198
275
190
234
232
292
204
240
226
276
254
239
233
163
181
250
254
228
168
228
253
214
235
276
200
197
157
211
147
169
198
126
250
204
182
246
232
258
228
192
205
193
202
217
269
327
179
242
305
267
200
265
220
260
197
229
233
187
146
254
225
275
230
200
241
249
281
297
144
160
217
114
178
181
218
256
163
217
193
204
218
277
235
207
239
242
243
126
158
191
240
161
330
159
191
226
223
270
151
267
193
196
234
266
213
194
186
272
235
180
261
178
154
241
278
245
233
317
144
206
203
238
158
285
212
174
223
121
169
280
315
223
219
209
258
274
243
198
216
139
230
231
209
261
173
237
231
180
235
216
152
251
198
237
194
180
174
192
201
266
214
214
162
238
229
269
193
256
276
202
251
162
342
157
173
242
278
303
272
179
204
258
173
263
230
256
170
225
230
277
214
239
220
252
171
270
226
277
226
314
255
194
198
152
200
214
194
189
229
228
231
206
197
263
194
208
250
217
169
308
324
267
277
219
327
183
272
249
267
170
192
202
246
265
176
269
232
272
248
210
253
211
197
256
215
305
202
196
114
192
222
180
274
178
229
180
114
204
241
161
178
147
243
197
175
157
202
173
247
196
235
259
320
271
186
216
231
294
221
271
245
214
219
241
326
334
200
229
249
270
250
250
204
245
220
200
237
244
312
149
243
260
239
211
206
195
267
289
178
213
265
245
181
207
257
231
234
336
266
245
219
185
170
206
203
212
259
263
246
203
183
188
211
256
152
292
215
173
258
265
229
198
220
239
158
208
195
184
268
247
186
220
208
227
231
198
222
197
296
212
254
256
261
162
251
152
178
177
224
199
225
198
210
191
178
235
149
232
187
271
288
183
274
192
304
239
214
282
197
216
200
169
203
149
215
202
251
238
306
165
165
145
248
252
198
200
309
251
180
151
164
162
311
239
158
219
173
315
238
231
216
240
225
175
178
300
257
245
250
228
222
209
213
224
241
235
214
173
177
156
203
222
216
220
238
237
162
255
238
175
200
139
215
155
192
245
192
252
145
251
167
190
280
162
241
215
277
221
222
194
170
114
203
301
222
227
252
211
259
246
196
224
151
219
170
294
189
293
126
151
253
202
209
186
233
233
239
180
282
277
177
197
233
272
173
211
200
316
229
244
227
156
333
276
209
295
206
126
194
182
200
220
188
259
176
239
230
232
267
221
247
195
228
235
161
234
180
295
146
156
216
250
234
203
215
224
269
276
216
214
207
229
184
215
267
193
191
243
187
173
154
315
182
211
280
154
200
235
192
280
322
241
134
139
194
277
156
254
269
296
180
170
269
190
267
139
192
166
283
217
231
222
242
214
313
199
228
275
196
220
178
275
170
223
263
222
249
229
216
218
204
254
180
232
126
276
204
203
206
187
232
300
203
297
229
176
233
214
184
137
231
254
219
233
179
170
262
205
242
229
291
199
263
192
195
220
166
253
212
336
160
178
227
206
210
256
273
285
204
198
194
268
267
234
284
175
230
338
259
164
170
254
260
239
232
215
170
228
203
278
189
275
279
211
285
197
216
221
242
300
192
289
227
165
227
288
246
247
308
287
230
255
208
244
230
190
175
262
245
214
273
173
189
199
214
206
174
216
252
201
176
219
281
208
233
189
160
312
269
220
277
235
227
209
144
180
186
233
203
247
235
208
281
271
206
178
301
270
209
200
213
256
160
231
179
265
231
233
272
198
256
231
263
226
106
192
221
270
202
213
230
221
233
114
151
278
235
194
216
266
222
219
223
232
203
251
246
194
201
162
206
257
218
175
235
248
108
207
216
254
203
207
191
233
276
247
262
174
161
217
234
158
255
278
214
237
230
229
246
267
181
251
297
237
218
258
227
207
249
311
228
227
178
266
226
196
257
187
227
296
180
227
270
153
162
275
190
259
305
206
191
230
252
251
206
195
160
249
228
246
255
192
225
225
244
206
224
261
224
218
168
236
277
243
242
199
251
218
263
209
206
275
263
240
275
231
163
222
151
229
160
270
237
170
236
315
161
253
250
216
186
208
192
269
149
303
256
166
147
190
242
219
178
126
220
211
178
242
215
260
114
270
245
245
201
202
266
280
217
216
258
231
257
239
207
298
189
247
197
311
206
226
294
204
318
244
194
239
262
234
190
238
190
267
250
266
242
272
256
250
281
317
266
266
207
209
286
270
195
170
174
288
197
169
158
182
233
187
178
226
258
205
183
215
248
139
254
200
196
230
264
174
181
193
279
303
192
251
207
239
193
273
295
183
339
192
187
261
339
217
312
256
303
215
258
238
249
217
252
156
209
262
194
116
225
283
319
244
187
213
207
281
178
270
192
192
265
197
207
192
229
159
241
191
278
285
177
272
208
148
284
214
252
255
201
218
253
226
251
244
272
210
248
234
198
247
207
239
175
305
258
281
195
171
245
221
246
200
203
206
208
287
304
229
202
235
203
217
248
324
184
198
203
192
233
199
253
279
249
262
226
204
213
232
271
200
193
195
192
295
219
267
309
184
268
209
154
282
211
254
295
249
215
228
239
287
222
243
207
235
129
351
346
172
218
287
245
241
240
272
249
225
231
198
334
271
208
225
222
225
199
205
293
217
282
139
224
246
194
229
223
231
160
246
208
211
209
198
215
152
270
272
222
156
212
200
191
272
272
239
194
193
152
203
270
194
176
267
222
178
212
221
186
216
186
259
262
209
229
191
161
207
212
214
169
241
215
179
186
232
145
106
210
228
203
264
263
179
231
219
194
242
282
204
146
246
207
308
261
178
236
277
187
205
282
294
234
274
215
254
269
234
198
200
200
219
180
268
223
212
290
195
187
291
215
280
289
231
272
251
290
178
217
186
260
266
198
203
205
261
208
252
247
238
342
266
194
255
201
268
204
223
218
190
203
198
193
215
240
271
211
231
152
292
200
193
214
237
277
169
193
217
219
145
207
280
202
225
231
262
211
230
304
196
208
249
271
203
227
243
180
230
157
211
233
313
243
226
183
222
253
165
240
239
221
206
267
241
293
231
282
190
193
169
246
257
217
170
290
248
156
149
318
209
343
170
225
185
288
231
177
204
231
183
240
233
267
251
231
321
156
194
146
206
210
197
233
196
194
186
234
184
202
251
210
238
208
265
269
274
241
178
178
245
300
233
195
266
207
258
245
239
180
249
222
218
152
156
279
231
286
184
224
242
178
281
219
214
144
214
202
272
216
170
173
265
200
190
249
193
201
267
169
180
188
234
258
233
245
145
242
256
213
282
233
260
222
252
284
197
214
270
253
192
235
275
325
219
296
238
183
288
211
256
215
222
289
156
286
260
219
195
252
213
260
269
160
245
246
288
248
217
259
168
265
269
218
200
275
218
240
174
152
301
277
219
196
173
198
210
257
262
233
258
249
280
258
156
280
247
227
305
162
238
203
270
213
243
290
207
220
194
210
270
214
151
165
196
306
255
235
195
153
200
233
181
197
222
218
184
168
260
175
229
327
230
258
234
339
260
158
161
300
274
212
234
245
154
237
215
170
204
194
266
218
195
183
235
271
227
196
218
196
106
260
287
276
170
244
169
268
239
189
211
200
220
272
296
183
166
232
234
221
192
160
237
229
248
263
213
154
241
178
216
253
181
251
206
203
128
207
217
282
282
357
261
304
251
219
167
202
237
262
219
205
205
210
250
201
268
231
246
237
238
285
179
312
259
169
258
167
244
189
238
114
259
171
277
263
176
188
259
181
227
361
114
294
242
256
256
174
195
226
220
198
265
248
206
277
193
227
243
318
227
190
232
232
176
249
203
160
293
226
205
247
219
257
167
208
227
284
253
205
198
181
240
255
311
243
173
302
185
195
170
208
178
204
280
234
178
198
222
230
258
208
195
200
218
141
235
229
253
246
208
215
258
183
195
189
218
232
155
201
210
146
279
197
192
222
237
253
175
221
152
269
240
230
231
254
173
163
226
193
285
185
126
237
272
293
239
265
258
252
216
307
178
156
190
303
261
170
181
173
262
170
202
256
206
208
256
235
289
214
152
225
194
227
179
214
169
184
156
234
225
279
284
249
244
219
236
224
192
227
241
261
187
287
238
228
169
178
262
216
274
212
235
248
244
228
156
216
194
214
267
277
180
219
289
197
323
251
220
249
260
219
192
252
257
219
206
205
217
160
223
246
273
242
250
284
345
175
252
230
194
205
214
219
174
220
227
193
151
190
186
207
241
177
208
215
283
194
175
309
196
231
173
303
349
208
263
226
184
237
170
246
193
257
235
272
254
181
146
260
196
286
195
247
265
252
272
198
240
195
173
281
189
238
216
266
272
159
212
237
289
271
173
259
233
238
184
219
211
263
204
245
148
134
240
348
145
208
229
256
183
213
281
161
321
174
233
203
193
230
270
226
264
204
198
292
144
241
256
245
214
216
270
253
232
160
248
198
237
307
268
212
217
260
235
289
220
222
262
205
284
262
255
212
316
222
261
245
190
293
227
163
237
255
240
180
256
271
199
187
193
231
221
259
323
272
261
169
193
241
252
279
217
254
170
214
266
214
195
181
231
268
213
238
241
214
266
214
130
201
114
152
160
217
114
292
191
173
225
188
235
178
240
218
239
229
234
215
193
161
295
232
306
256
191
229
156
267
272
237
250
252
246
225
210
204
274
271
268
160
243
193
193
217
221
203
224
231
258
343
241
170
241
147
198
338
254
211
243
260
224
276
230
194
183
175
181
227
260
257
275
226
201
199
285
217
268
202
174
213
175
247
261
250
217
191
234
287
284
220
244
219
276
250
222
200
206
273
219
256
252
220
219
266
194
187
174
286
197
280
237
209
237
192
175
147
251
239
291
246
234
217
145
245
198
174
173
199
188
165
173
243
159
297
229
204
153
262
249
201
229
279
199
252
283
226
222
288
235
180
205
209
277
207
294
215
218
216
241
243
219
250
265
296
181
223
256
207
177
181
178
333
228
273
230
227
175
239
164
237
252
199
273
192
146
208
257
298
181
242
242
253
236
243
156
263
218
318
273
254
174
184
257
148
182
290
213
282
225
297
198
214
260
266
215
156
183
273
305
190
173
270
215
186
287
176
205
290
198
234
223
271
192
173
164
241
234
114
264
255
242
244
246
187
288
228
114
302
272
215
173
213
221
226
202
272
224
250
243
174
207
223
221
245
165
116
242
192
231
215
228
222
263
129
214
258
237
167
145
231
178
230
241
144
203
152
225
297
197
176
192
194
257
187
174
170
196
165
114
191
270
145
194
215
297
188
189
239
197
200
205
199
189
248
261
313
240
170
191
292
152
302
216
309
198
261
208
180
258
240
223
254
221
248
315
233
271
266
214
334
192
265
173
221
181
208
203
234
232
272
186
217
252
181
253
235
173
244
222
214
288
114
193
196
231
179
280
225
268
139
271
157
145
261
222
250
278
169
229
235
276
269
198
279
270
186
205
223
204
270
209
248
174
322
225
159
166
214
234
265
218
244
212
236
260
271
199
265
204
208
260
250
242
239
214
189
243
187
194
266
256
236
240
207
230
250
188
244
178
207
208
238
197
161
247
152
130
191
292
171
210
209
186
234
149
233
198
162
152
194
181
173
211
207
216
278
191
198
228
215
284
210
243
176
291
198
234
231
269
291
260
182
250
269
267
254
167
168
230
209
160
214
243
282
239
269
195
173
181
200
198
227
234
233
245
256
203
181
147
218
297
258
238
198
250
224
246
318
273
232
228
218
203
263
114
301
241
182
153
139
179
168
245
239
270
160
250
213
221
178
243
144
279
181
231
268
225
245
260
114
212
258
223
261
152
225
129
228
250
254
171
303
229
212
203
358
241
126
259
214
216
281
208
237
252
225
207
322
146
302
210
296
263
134
215
249
160
190
270
234
185
238
195
240
185
184
159
262
277
170
223
181
216
214
195
212
262
270
114
285
199
234
208
281
197
240
270
253
255
267
178
212
216
253
163
319
226
228
180
265
180
195
191
207
282
181
246
151
146
231
197
170
218
273
239
174
251
227
247
220
226
219
321
165
222
232
245
188
196
163
294
215
245
342
260
261
250
225
235
188
343
209
250
144
200
231
258
173
207
274
257
263
258
228
256
161
214
205
208
270
355
221
282
179
231
176
173
225
233
273
203
249
218
234
271
233
216
230
158
201
242
220
286
231
151
176
173
171
269
192
231
224
247
320
243
193
247
179
331
218
278
245
190
286
316
204
262
196
235
244
176
192
222
239
211
181
190
200
256
197
237
222
226
219
218
227
242
277
223
154
241
249
260
228
231
241
209
181
214
196
279
182
249
253
207
263
208
146
229
160
235
284
229
169
238
182
213
262
246
193
264
310
235
198
179
249
227
234
237
243
252
221
267
222
271
224
162
221
316
142
262
250
229
261
265
303
325
285
220
225
216
287
240
191
186
238
235
138
190
287
205
235
258
223
234
251
210
243
239
232
187
217
239
241
285
266
147
189
268
176
195
202
213
205
201
219
253
198
197
248
160
151
189
222
283
231
189
234
239
209
247
227
126
173
299
229
190
193
348
246
245
253
192
257
244
182
175
227
206
190
172
221
212
244
216
248
257
186
213
217
287
283
165
158
208
272
178
128
206
208
183
233
292
264
263
213
152
296
203
207
243
210
304
160
212
201
263
214
229
288
260
276
281
198
156
220
195
249
147
257
192
175
224
297
221
114
283
256
228
207
244
212
218
319
248
210
223
287
267
233
214
224
175
177
255
300
177
194
266
248
213
181
114
157
234
193
166
160
188
116
178
244
237
284
264
382
262
217
178
193
279
314
225
343
273
240
267
114
188
275
144
213
170
216
266
252
235
232
162
246
199
160
163
229
151
206
247
232
247
190
149
249
219
233
158
243
214
223
126
277
186
276
212
232
202
174
228
170
229
214
205
276
231
184
189
156
214
273
200
232
192
246
250
261
265
218
266
219
217
303
173
264
184
195
156
201
179
265
224
189
166
162
221
230
198
208
186
335
317
205
265
286
299
238
218
238
264
208
242
227
206
202
268
114
245
208
170
245
216
218
290
239
205
233
228
223
246
279
114
308
251
255
249
206
266
293
210
273
246
221
198
167
139
255
146
174
211
277
226
203
212
214
220
230
283
152
216
231
216
190
243
156
203
184
252
212
195
223
192
213
189
237
293
256
192
203
261
200
198
170
195
194
263
214
243
193
217
280
231
205
160
191
235
235
201
152
211
181
177
227
311
280
215
184
215
156
254
252
250
274
236
126
227
154
164
195
267
220
193
170
266
250
163
106
219
216
203
184
252
214
324
214
288
269
294
220
255
232
227
176
238
152
230
235
197
169
270
231
198
262
240
209
273
207
255
205
275
205
181
210
209
259
165
218
232
211
156
220
205
194
199
256
150
254
192
272
129
215
225
196
308
245
264
230
213
213
240
247
174
266
203
215
176
294
220
224
241
195
182
261
221
197
238
216
201
251
237
199
277
254
219
262
178
181
264
114
198
205
169
236
308
150
260
184
210
236
295
188
220
161
198
177
217
195
265
200
287
195
192
170
209
191
206
196
250
271
229
189
231
217
215
220
264
230
161
206
215
173
278
175
209
238
177
329
261
217
151
275
177
250
198
247
133
200
195
197
271
180
219
218
261
264
313
315
173
249
247
255
365
204
211
121
200
165
216
190
201
289
234
230
283
220
161
290
293
193
356
199
264
253
255
180
114
192
258
148
272
202
258
282
215
224
229
262
205
170
178
214
238
170
226
198
201
241
235
181
226
261
211
195
222
176
263
233
231
250
246
200
156
323
160
218
199
166
213
283
240
216
278
236
262
195
204
214
248
214
154
313
161
282
185
241
315
189
180
249
184
250
176
213
167
301
246
237
178
212
190
178
245
261
267
179
194
251
180
156
181
223
220
226
243
259
192
186
114
191
220
220
268
195
201
291
241
237
193
227
237
193
149
294
235
208
268
204
217
211
245
178
241
245
200
226
174
244
250
260
263
214
235
290
247
226
175
279
256
243
203
200
285
144
241
168
116
133
195
160
178
259
151
229
249
190
234
206
225
236
241
238
297
169
242
277
218
202
232
245
191
247
139
230
178
173
166
196
220
216
239
203
301
206
192
193
296
226
179
176
229
211
206
230
176
172
310
195
204
140
259
226
215
129
302
121
234
228
260
207
192
207
252
226
144
228
253
210
161
240
239
235
182
114
173
139
232
251
221
159
281
275
139
184
311
229
198
235
171
246
240
199
214
291
280
254
258
256
223
266
253
218
239
192
218
195
192
228
255
280
207
248
210
244
309
232
155
170
252
206
248
204
185
212
273
237
227
174
273
323
210
200
198
235
260
279
233
234
202
174
176
233
195
213
276
311
191
249
279
339
217
252
271
169
190
305
173
228
184
283
211
202
285
231
211
266
211
139
257
228
243
247
239
234
242
291
249
269
308
205
322
207
205
162
208
179
231
227
239
317
171
318
273
288
264
300
165
228
293
219
233
218
311
240
232
229
200
211
233
221
303
218
226
264
328
114
238
220
213
216
272
241
179
207
201
228
308
169
212
195
205
214
206
228
279
229
181
218
208
264
235
283
182
254
170
256
239
156
262
265
228
222
245
281
233
318
234
244
212
295
197
253
221
185
314
114
207
217
221
235
187
247
262
253
260
192
227
160
199
181
242
278
237
230
188
290
245
202
239
244
211
195
246
218
309
319
242
217
256
228
237
225
196
243
229
266
244
245
215
108
197
223
231
219
225
225
266
262
258
228
163
171
169
231
158
227
249
169
214
181
162
194
184
235
192
289
174
221
197
268
222
243
247
250
224
209
185
249
114
270
143
235
222
247
160
246
175
251
211
237
221
205
205
234
198
241
258
269
204
238
276
243
323
187
208
160
331
176
217
247
225
168
192
191
181
251
220
221
179
203
273
243
238
195
229
203
212
291
245
233
175
181
166
233
232
160
186
151
180
196
212
251
201
192
271
292
165
168
256
210
184
214
295
240
195
309
221
280
220
184
230
209
234
209
237
180
321
169
248
187
260
210
274
204
114
114
250
348
278
260
253
246
248
199
196
228
160
266
253
164
289
224
285
185
170
310
168
172
146
211
265
244
221
290
256
222
241
225
212
221
217
114
190
181
235
152
184
213
179
231
315
243
247
230
202
166
207
238
214
244
181
263
236
230
196
242
230
246
239
188
196
225
220
261
258
264
265
232
205
242
336
260
250
202
175
286
297
231
224
156
265
204
221
260
224
283
211
290
220
235
319
222
198
245
219
276
213
181
216
252
198
219
178
239
273
240
242
274
253
211
299
165
167
201
168
183
177
116
229
296
178
161
213
197
256
253
160
235
198
247
238
194
186
173
218
241
244
251
225
189
233
152
317
151
232
306
285
198
181
172
252
217
243
276
224
187
205
201
250
329
144
231
178
226
254
165
169
272
203
186
231
240
281
216
263
228
208
178
247
209
233
256
169
212
323
244
295
202
245
279
189
184
261
220
255
217
322
263
160
254
212
249
242
211
240
183
170
265
231
242
210
206
310
245
214
229
256
209
187
199
146
227
206
130
289
114
170
284
251
254
167
227
209
308
266
209
245
169
238
186
188
193
252
195
145
223
214
308
181
235
181
173
258
291
295
230
239
178
253
233
274
263
307
155
307
221
301
267
203
229
302
219
168
226
240
200
230
126
252
166
218
180
212
199
241
333
304
244
350
231
190
226
275
341
322
231
166
235
219
226
170
237
234
239
195
252
188
216
191
145
281
227
220
257
193
264
248
212
219
236
233
222
216
221
193
288
224
245
173
146
215
230
213
232
233
218
218
272
208
245
204
266
217
218
206
191
300
223
206
226
256
192
285
175
221
259
294
254
208
250
183
285
259
241
205
145
191
213
196
241
216
215
151
230
225
240
211
237
156
176
244
196
152
114
296
114
174
265
207
233
243
182
232
223
203
225
241
216
196
234
263
245
191
190
229
319
234
243
297
198
208
271
253
226
227
179
246
207
211
236
151
261
207
230
270
310
249
237
188
247
217
266
264
289
171
215
197
216
170
231
259
240
220
202
180
243
239
197
317
282
245
296
179
296
184
189
222
238
223
242
227
254
188
230
259
231
223
226
213
192
215
242
171
198
142
221
196
258
207
200
243
175
207
168
211
259
230
231
232
216
160
253
200
269
233
231
197
271
246
205
164
235
198
196
179
217
287
204
200
237
170
128
278
155
227
108
108
154
258
225
323
226
237
232
114
232
249
211
289
245
203
237
189
258
231
216
192
271
208
203
214
177
189
233
177
239
291
215
219
195
189
262
233
219
235
200
198
247
288
253
204
269
260
194
236
262
247
202
174
178
216
271
232
196
249
228
277
287
213
266
198
170
185
264
106
173
327
265
202
198
231
218
214
172
367
258
214
231
299
231
258
233
225
204
240
236
196
241
280
255
198
232
263
196
173
198
223
170
258
202
230
205
229
204
225
204
200
266
217
179
261
198
191
286
235
212
234
258
279
168
192
300
256
216
145
289
218
308
310
210
205
249
174
241
199
233
248
210
181
234
222
194
279
211
114
226
166
252
222
257
284
239
299
290
318
235
208
237
169
287
236
267
296
219
241
245
192
254
209
251
277
209
234
316
277
325
198
174
212
204
218
185
161
214
244
156
209
211
179
269
278
210
206
228
172
177
188
203
173
228
278
221
178
250
282
293
213
314
277
237
192
192
147
233
260
224
114
310
220
231
279
212
170
174
250
233
220
184
224
276
243
192
230
253
193
190
240
163
314
244
196
274
216
183
172
252
226
114
226
182
209
301
173
209
192
185
178
303
170
229
295
320
257
203
214
202
209
203
212
161
303
175
202
170
223
207
182
162
226
205
233
205
209
199
249
246
156
222
210
208
300
237
260
288
208
232
252
210
197
289
190
114
279
284
230
274
232
201
252
261
285
256
252
194
253
190
164
254
325
238
301
215
206
207
281
261
219
195
253
231
257
209
214
178
156
269
229
205
187
166
208
218
230
232
166
183
294
294
232
150
269
239
190
114
241
303
237
263
278
279
163
182
256
253
232
255
217
270
201
260
147
212
303
215
242
160
288
262
267
173
166
283
217
196
180
202
152
295
299
211
207
222
181
241
182
217
214
189
176
219
170
219
210
240
288
218
164
263
189
225
106
300
201
250
208
256
262
211
244
275
258
217
253
158
293
154
214
209
266
183
164
164
254
263
258
293
170
208
197
247
198
245
303
154
152
249
151
222
299
189
231
214
228
167
188
217
347
286
236
166
264
234
206
303
166
226
170
259
226
220
163
234
200
286
292
220
180
251
236
333
190
209
169
162
211
230
197
240
198
271
250
204
145
257
236
283
154
248
218
245
188
303
188
259
355
195
246
217
196
201
239
220
236
367
239
179
231
215
242
186
276
169
239
241
267
355
252
238
257
149
200
192
235
217
262
233
246
244
133
258
232
223
279
244
182
189
248
195
201
279
250
221
172
305
192
237
221
179
214
243
258
207
156
218
189
266
242
177
194
183
276
195
266
183
284
209
246
211
243
139
292
283
256
224
262
198
223
205
262
234
253
231
266
198
194
155
160
114
267
207
252
222
251
281
174
206
257
266
313
208
239
251
189
262
205
280
182
284
242
207
158
194
218
303
239
287
273
201
238
174
256
258
243
151
205
262
208
255
161
286
196
178
278
242
262
238
221
178
326
204
234
294
224
219
212
189
240
168
270
278
176
287
252
225
249
251
170
232
231
239
212
181
232
289
196
267
265
234
209
239
262
252
149
166
194
236
152
223
239
267
243
264
285
331
222
194
238
263
281
174
160
159
204
295
240
260
183
215
256
231
262
265
273
231
235
215
264
275
317
247
283
222
210
239
231
195
227
300
188
273
276
178
176
200
186
164
237
194
199
190
246
274
252
170
230
221
327
239
215
173
163
242
195
240
270
235
174
283
259
269
252
211
246
224
278
217
176
231
227
261
255
171
224
211
267
219
185
309
209
229
173
195
174
313
239
231
186
225
238
268
145
173
250
192
161
175
217
199
220
236
248
235
128
188
264
204
202
192
243
224
233
218
198
301
154
201
209
223
272
181
236
209
254
230
263
234
243
229
248
194
139
239
248
249
260
272
258
180
236
156
201
250
186
179
171
207
227
307
278
201
260
259
204
182
195
167
218
170
195
266
250
263
182
178
232
274
181
198
211
297
266
162
198
211
202
201
215
282
222
248
201
240
192
252
210
263
183
169
202
190
164
254
247
246
116
218
303
198
249
193
214
214
208
191
256
180
161
224
178
247
250
108
194
188
172
216
203
221
274
251
126
179
245
204
240
174
151
182
200
260
247
308
288
196
217
224
207
260
291
194
322
215
312
225
234
227
155
258
160
213
250
196
271
318
226
190
259
169
224
238
162
223
156
194
289
312
259
269
201
282
299
230
202
173
228
235
274
240
275
256
178
256
267
246
251
248
254
270
160
238
270
151
108
252
181
185
179
203
187
235
231
158
248
178
220
176
219
173
208
227
198
306
295
279
190
235
263
269
233
246
285
265
281
246
208
285
262
221
262
204
253
173
155
258
196
178
189
192
228
256
267
218
114
225
185
146
221
172
270
274
196
189
174
262
169
246
250
178
160
163
269
259
263
209
255
245
238
220
152
269
195
200
207
257
265
213
290
228
283
290
229
188
202
133
261
169
114
212
207
242
318
166
168
284
130
196
198
214
208
210
244
209
169
277
230
180
280
169
249
209
214
264
266
178
222
154
269
178
333
239
287
228
192
225
196
285
228
209
184
290
168
197
258
241
260
244
186
243
307
283
200
229
116
160
223
196
192
177
234
225
167
203
184
201
214
210
218
315
228
194
260
245
182
185
176
222
258
286
169
172
173
197
216
296
121
126
266
272
165
237
192
213
152
283
227
154
233
211
211
268
177
265
272
250
233
244
215
179
180
207
239
164
186
237
279
218
128
255
232
290
207
305
189
335
276
228
253
270
252
209
290
176
148
240
209
234
173
263
258
212
218
193
220
226
198
294
221
208
207
257
168
211
213
183
248
254
190
195
218
228
208
242
219
231
205
258
227
178
179
251
159
271
157
244
249
313
197
229
276
258
278
211
219
184
308
204
221
176
302
121
246
194
161
269
217
241
172
229
171
320
193
229
206
265
260
308
234
146
271
202
198
146
217
170
290
253
253
234
310
228
180
228
265
234
163
249
160
181
220
220
217
281
174
196
199
244
286
302
339
261
202
211
231
290
203
308
179
308
178
273
169
160
224
242
193
214
195
185
259
275
236
184
114
166
263
190
260
288
200
269
223
188
229
245
331
218
224
179
246
169
226
250
289
221
235
215
196
243
237
262
237
211
221
211
356
210
184
180
161
106
207
309
114
232
195
163
250
188
239
126
278
178
155
178
251
250
176
170
248
205
121
183
208
261
240
193
198
162
244
294
242
195
160
248
267
180
189
148
254
359
133
280
197
171
243
152
207
252
310
333
226
210
246
160
330
114
286
203
360
202
213
245
229
295
230
292
211
259
188
218
313
235
192
275
263
185
170
293
114
367
226
299
222
264
250
165
178
218
196
255
204
245
145
292
237
282
323
264
160
255
257
185
251
201
216
266
192
247
164
167
210
177
303
259
235
189
252
228
168
202
159
133
193
250
238
156
230
162
215
192
224
268
200
211
162
233
234
152
303
271
225
234
179
245
217
192
167
223
234
178
149
223
378
218
238
126
179
283
249
160
252
201
188
306
217
213
263
230
221
223
184
265
229
239
256
222
240
282
301
139
262
219
235
277
245
212
178
229
200
196
244
256
192
242
197
192
262
200
303
266
275
197
244
282
265
200
218
229
232
237
114
226
248
249
268
292
219
258
265
273
221
208
212
256
245
311
176
239
280
196
160
188
161
293
223
164
214
192
160
174
142
292
235
203
224
259
215
198
195
195
256
302
177
254
189
270
260
156
246
236
220
224
225
256
186
213
213
210
276
301
202
189
114
260
284
196
147
195
166
229
193
280
188
225
145
240
240
235
161
191
279
160
208
319
166
268
293
311
241
165
286
311
186
214
191
270
212
204
257
266
173
261
180
192
281
219
237
304
311
205
219
286
182
219
152
181
245
280
144
265
208
217
240
114
210
233
205
161
252
249
185
194
187
206
220
257
266
287
201
222
207
212
225
254
213
204
241
198
282
328
225
230
238
248
249
158
114
223
280
189
183
237
232
221
252
155
185
304
254
182
231
181
166
238
200
259
195
160
207
234
178
174
216
198
254
139
226
158
194
250
157
254
231
227
338
230
181
173
252
144
224
206
262
265
279
261
202
225
351
156
253
266
222
279
155
216
263
277
156
212
243
288
174
171
192
162
223
303
230
181
225
184
178
216
184
293
258
212
251
145
141
173
230
174
224
313
202
217
197
179
268
232
259
251
211
230
198
219
218
245
249
177
200
173
154
253
280
163
146
247
259
198
263
234
217
253
219
204
223
228
180
233
181
275
181
224
240
241
215
246
175
153
202
202
238
252
301
212
235
212
210
239
238
266
307
227
210
216
315
194
180
190
196
269
227
160
187
303
251
187
223
227
242
195
223
235
204
162
311
258
220
181
238
241
205
262
204
258
317
356
194
272
200
256
170
300
170
211
215
196
210
191
238
204
253
204
189
179
255
277
283
200
171
257
230
229
286
253
223
230
237
200
260
166
288
175
214
286
269
203
251
214
232
166
256
232
268
188
158
253
174
293
281
266
223
173
244
218
189
201
184
232
218
215
198
193
162
195
156
178
262
284
227
185
249
247
250
206
199
216
267
245
241
267
225
279
204
253
184
214
126
203
263
260
170
231
200
252
226
235
231
215
177
269
176
234
266
235
260
185
224
199
175
213
200
114
241
214
154
247
229
308
190
155
206
265
223
242
144
203
210
225
220
240
219
182
245
146
116
220
216
215
235
202
234
222
246
177
238
217
192
203
168
263
184
296
253
250
286
227
253
265
285
231
203
214
180
215
290
198
237
248
214
203
176
279
234
289
293
249
239
221
198
182
243
267
254
170
280
247
210
228
253
265
233
215
180
198
237
285
197
185
200
299
248
174
253
210
260
126
204
256
268
212
167
188
315
181
289
223
284
335
240
266
181
175
238
223
181
255
244
193
263
174
258
106
224
192
340
174
194
198
160
226
171
309
197
218
250
325
217
225
250
206
250
129
230
206
275
227
337
145
256
257
219
217
248
247
271
204
204
177
180
192
202
213
225
228
234
167
165
186
271
169
225
252
205
161
208
247
279
219
374
267
240
252
243
252
274
252
195
165
148
184
237
191
222
221
262
220
205
214
225
258
233
149
278
187
205
379
176
273
214
219
194
224
208
261
188
194
225
201
196
208
181
291
329
182
219
203
211
244
248
242
176
253
256
170
216
304
225
236
214
248
262
218
234
202
230
238
197
262
232
166
223
220
160
244
163
257
204
225
254
247
203
274
233
261
190
288
161
191
167
228
231
212
206
181
260
224
258
199
212
126
222
178
219
217
242
126
233
226
219
263
214
268
251
226
191
191
146
206
250
168
217
275
273
297
239
200
169
253
178
248
241
216
192
240
196
258
251
221
205
284
209
263
126
247
238
198
283
254
197
208
198
148
198
246
256
276
190
174
192
208
210
277
231
251
162
209
246
242
168
203
269
201
160
145
158
205
256
285
293
259
224
252
245
227
186
211
173
128
230
208
288
186
316
265
240
238
212
198
231
189
281
159
219
172
200
222
243
232
235
169
204
251
246
246
358
198
284
193
261
198
186
156
198
229
221
228
175
274
211
190
182
238
209
218
227
161
301
208
232
262
233
290
181
169
170
222
194
228
217
214
239
207
170
185
207
276
201
265
116
335
245
242
279
205
210
243
214
242
278
336
234
218
185
252
156
196
175
169
271
339
151
194
292
202
262
308
309
243
167
281
206
183
214
197
151
256
221
337
193
241
285
245
175
248
231
243
200
202
215
146
215
170
259
194
174
258
297
253
191
324
251
185
236
206
162
202
232
198
288
227
209
228
223
114
208
233
288
306
200
228
265
175
274
166
194
281
114
183
233
152
258
296
296
222
235
260
144
264
198
189
217
296
229
247
227
227
220
203
154
257
151
278
170
234
235
258
265
140
200
223
320
202
208
242
298
206
186
221
159
233
260
197
244
302
247
246
290
271
210
198
161
212
222
211
114
162
207
234
238
287
245
282
319
251
272
303
145
250
305
126
164
254
232
114
224
249
178
243
281
271
195
174
254
237
191
226
255
284
231
210
229
206
251
231
247
178
158
260
190
227
211
246
282
209
295
178
340
174
235
277
184
183
146
220
261
283
266
186
174
296
314
259
238
234
226
284
264
256
222
211
266
324
244
302
283
236
242
167
211
173
162
239
193
271
263
333
304
241
241
227
212
191
207
243
189
329
188
262
215
251
190
237
233
190
178
251
165
201
173
174
219
296
231
246
214
280
198
211
218
175
241
215
279
301
201
246
197
177
250
225
227
220
247
184
232
174
272
154
152
199
213
168
214
271
273
181
336
282
233
116
187
238
146
225
173
168
216
208
200
245
244
274
154
273
194
192
217
156
262
232
251
211
239
178
276
177
185
279
250
240
159
156
222
266
186
271
218
190
191
277
207
200
116
220
228
249
249
290
169
170
156
243
269
301
209
192
200
167
205
193
275
184
287
256
155
194
264
129
184
244
146
161
266
170
296
219
310
191
243
262
225
291
183
235
286
234
215
231
229
198
209
247
197
256
158
293
194
114
220
288
204
184
239
343
174
216
185
217
222
235
222
247
245
194
270
219
200
261
245
221
227
246
152
264
313
192
144
272
217
180
149
230
193
144
257
202
270
114
196
245
226
187
182
316
260
259
183
247
219
238
179
147
254
174
170
332
170
203
214
318
242
264
276
274
280
295
166
177
283
242
305
244
231
329
223
245
241
186
223
192
160
212
265
188
268
165
210
289
237
221
259
196
262
282
266
214
216
218
206
208
186
243
283
223
172
307
255
197
202
295
257
311
248
233
257
257
160
175
224
263
226
187
226
297
187
267
175
256
240
280
224
276
224
195
234
193
286
145
259
239
238
282
203
108
337
271
228
263
208
260
252
108
233
292
260
281
194
114
224
238
208
211
210
239
357
269
217
156
244
194
180
114
188
258
274
277
228
252
182
270
288
162
233
286
195
274
234
211
262
280
221
234
148
183
291
209
235
214
263
235
227
284
181
206
212
220
129
192
183
231
235
161
213
214
178
196
206
160
261
279
206
228
170
180
174
161
197
216
171
255
240
242
248
313
240
218
174
253
299
144
265
192
224
221
160
155
238
209
319
149
202
261
220
161
184
227
275
157
274
250
310
198
242
293
265
192
246
227
221
252
276
267
198
303
302
178
239
195
304
228
301
243
226
174
216
211
213
324
179
198
194
240
225
168
247
169
228
225
145
176
238
170
175
305
297
154
193
224
184
239
152
182
300
206
280
245
269
230
236
246
258
224
169
147
281
253
282
212
201
249
116
163
156
346
234
175
221
149
307
204
210
192
244
302
205
227
170
289
213
212
163
192
176
232
158
251
199
209
235
195
197
228
230
202
170
231
264
173
208
184
274
195
210
266
177
221
249
224
223
176
254
202
250
204
234
217
114
322
253
211
236
230
274
191
129
284
189
201
268
358
198
215
243
218
195
227
229
231
214
205
199
318
194
229
254
189
214
279
171
235
204
194
254
269
181
271
204
253
244
220
250
264
252
298
162
200
234
193
179
228
187
235
244
177
159
247
237
193
312
235
203
250
339
219
211
215
265
187
284
252
199
303
227
262
178
247
239
275
158
184
287
198
192
191
177
260
185
212
126
230
197
237
254
249
242
262
268
234
173
247
179
195
267
284
198
227
185
171
175
223
168
253
262
238
248
191
207
173
219
292
173
170
262
219
263
145
254
222
245
162
114
265
215
219
303
160
202
267
217
237
279
213
256
230
202
146
242
162
208
248
327
206
306
162
196
177
167
226
208
192
226
179
188
210
288
218
260
219
227
234
253
220
192
189
190
212
271
271
258
324
275
281
246
209
281
161
237
197
263
292
187
199
247
257
230
202
249
203
184
201
233
181
114
146
290
262
236
205
258
209
250
240
215
241
252
160
230
175
248
216
225
209
167
194
181
278
224
241
248
199
282
253
233
202
248
295
240
242
277
227
245
221
238
227
130
184
252
151
173
231
170
181
256
273
230
233
276
174
176
154
208
338
281
198
258
270
236
180
250
317
270
309
285
192
176
256
177
253
275
240
228
196
247
229
317
244
276
223
273
227
194
223
222
176
232
196
225
247
273
208
230
256
220
203
175
216
326
265
227
223
215
202
194
273
210
126
235
176
248
184
217
247
211
133
224
302
292
139
198
221
250
209
243
186
257
201
198
292
233
251
249
238
201
264
173
261
244
197
268
189
303
242
267
222
211
248
287
248
178
176
241
326
139
203
193
174
285
242
171
255
197
225
174
300
256
183
173
194
190
232
180
290
255
232
212
337
229
209
214
222
211
226
264
189
180
242
230
264
232
173
270
225
148
225
121
162
114
256
234
170
247
238
230
240
221
114
201
313
160
216
239
244
259
237
179
228
205
175
264
252
146
228
206
250
355
224
174
114
219
211
235
232
149
233
227
192
205
223
213
130
198
202
169
194
296
339
288
161
201
198
178
218
185
192
296
239
224
219
229
158
232
223
221
288
218
209
216
209
245
233
191
213
214
174
218
205
281
256
221
181
272
250
283
263
288
256
193
178
188
220
208
221
203
225
243
246
179
212
114
267
190
213
152
151
220
259
276
226
213
149
234
228
262
160
284
190
229
219
195
286
218
173
289
260
202
279
256
130
243
227
257
193
282
280
193
213
212
240
213
158
236
214
267
270
243
281
308
179
195
260
249
209
250
231
246
234
182
251
310
278
177
251
259
320
195
223
277
161
316
192
176
139
162
225
219
178
168
256
223
160
156
208
155
184
258
310
215
260
237
242
200
201
182
139
198
221
171
145
236
265
247
166
289
169
192
254
239
229
216
225
256
177
212
344
330
177
201
240
240
211
296
170
276
304
274
215
250
149
178
236
161
233
276
283
177
199
158
160
197
241
234
247
233
280
234
226
139
139
211
220
229
255
230
270
226
266
244
218
214
164
333
208
285
181
288
194
306
243
159
192
187
156
167
164
266
273
335
271
152
258
170
262
261
227
230
191
268
294
193
271
180
266
256
164
205
270
178
201
203
192
203
231
231
192
269
274
152
146
247
178
235
179
217
221
214
195
215
260
210
192
212
185
263
167
258
196
243
215
250
320
201
175
164
244
188
179
278
236
204
263
255
270
165
258
308
201
228
238
286
133
229
257
247
227
188
243
267
170
303
197
273
277
223
213
234
226
175
241
244
188
277
252
239
212
172
259
228
126
203
181
275
247
225
230
279
305
263
238
170
240
208
280
265
232
196
238
216
237
355
225
114
255
261
199
216
280
191
215
232
208
256
272
243
234
263
316
286
282
203
238
267
192
246
257
230
218
216
139
222
214
299
296
162
174
221
235
180
296
251
235
237
254
280
168
212
135
174
233
328
250
139
173
166
202
251
255
199
229
227
232
237
284
189
158
221
345
211
265
268
205
276
194
183
267
225
207
265
160
233
206
121
217
175
213
268
265
311
156
267
158
253
233
216
187
178
173
222
240
264
258
297
163
212
210
200
146
220
234
224
233
270
310
207
226
211
160
277
209
242
249
277
274
174
196
240
274
206
206
226
277
268
239
174
216
173
323
259
193
204
289
268
205
178
259
208
196
204
214
304
243
203
245
245
287
257
294
156
209
250
216
231
271
238
242
162
229
191
190
159
233
181
204
270
209
224
309
227
339
256
277
180
236
231
233
234
156
170
198
181
166
252
209
166
251
279
314
191
279
326
189
264
253
208
233
168
222
192
188
196
174
256
272
305
222
252
187
244
272
173
220
281
183
296
274
321
188
292
194
231
159
244
282
256
219
241
194
259
218
171
204
250
214
208
193
247
185
249
279
174
140
116
235
254
246
310
184
273
209
257
269
241
336
208
236
254
316
263
275
227
186
258
176
191
238
315
249
114
214
280
181
298
198
233
155
186
215
231
214
126
218
261
192
263
205
265
285
213
198
282
340
205
236
157
281
300
227
280
114
233
309
207
173
256
234
206
192
237
299
219
200
271
314
224
254
201
255
235
209
216
184
285
182
139
292
289
171
227
205
221
217
299
301
198
243
221
186
170
268
271
291
278
278
236
204
225
264
203
190
230
287
191
173
201
319
256
238
187
216
265
205
297
242
265
214
231
181
262
225
207
291
284
223
159
340
238
225
207
191
220
265
161
251
253
276
219
147
161
168
250
246
248
250
213
249
180
166
263
204
156
227
296
206
284
214
242
182
240
238
231
210
180
194
215
232
288
243
207
167
200
240
171
296
244
197
294
193
249
179
209
154
225
170
221
214
285
234
199
228
206
208
234
241
228
231
245
170
242
247
212
222
208
234
258
214
203
242
253
356
198
273
232
292
291
251
287
261
186
194
200
225
373
227
266
178
240
178
173
176
175
198
241
278
273
235
242
257
236
293
205
235
234
220
239
246
219
158
221
241
249
268
233
169
209
251
311
186
196
250
216
259
325
220
178
234
262
177
235
187
194
256
274
114
154
242
184
270
179
176
243
187
259
128
174
206
231
279
188
211
238
339
257
275
200
290
284
289
232
278
200
243
252
167
249
151
306
213
176
260
272
309
173
222
133
126
203
213
192
250
232
216
243
274
287
189
274
250
213
276
333
240
174
139
281
209
291
212
205
314
257
239
209
314
121
192
259
164
181
213
236
211
181
257
185
160
161
225
247
240
274
243
183
152
199
170
249
206
235
317
218
191
345
256
247
280
160
233
173
184
290
213
233
222
203
172
156
197
294
210
330
202
243
272
231
334
231
216
196
306
126
231
290
253
283
314
224
235
149
208
180
307
187
226
265
203
243
269
188
158
197
213
338
211
167
192
209
182
193
246
317
251
148
183
214
265
174
179
231
186
272
251
250
178
205
215
286
217
246
255
256
286
114
228
341
273
212
171
190
173
245
281
238
151
249
246
178
193
195
290
133
237
249
241
208
279
198
199
185
307
195
234
285
271
196
209
214
258
164
276
156
145
218
237
346
246
284
206
245
130
174
180
173
186
207
254
206
216
231
152
185
204
214
169
188
202
209
247
233
271
207
198
225
139
174
229
178
254
200
175
225
214
203
186
227
358
185
205
193
312
295
178
170
290
218
168
166
178
176
214
252
290
205
254
263
207
244
191
208
197
195
231
211
173
256
178
190
217
249
251
217
211
222
240
170
223
174
207
139
251
240
175
198
302
253
190
267
243
189
195
208
176
171
159
244
215
218
250
184
259
239
239
233
227
227
293
299
235
201
209
177
219
212
240
227
343
205
179
223
192
240
256
231
205
221
225
230
294
241
250
261
238
227
166
200
238
226
175
209
178
243
248
281
257
201
253
182
219
253
203
225
295
312
198
257
239
285
262
252
208
161
235
139
229
239
200
198
201
108
280
194
274
210
151
208
174
230
281
244
194
233
194
133
264
251
236
200
174
114
196
218
278
216
210
190
318
185
201
238
160
214
260
184
169
249
250
265
160
180
252
300
114
175
255
218
249
240
241
186
216
249
205
188
253
246
225
242
161
214
222
186
252
203
275
295
216
198
195
224
223
157
203
262
242
133
330
270
282
244
197
248
188
243
198
209
173
205
202
178
231
208
259
222
198
154
258
215
301
180
266
269
200
195
301
260
186
238
163
233
235
233
297
300
224
223
281
224
249
263
238
245
219
204
224
220
197
210
280
234
173
257
264
241
253
160
289
214
215
158
219
226
250
237
246
265
201
195
238
207
231
320
211
228
321
114
247
265
228
250
230
234
266
247
252
173
216
197
247
179
266
201
247
255
237
285
152
164
254
231
274
158
224
247
224
200
219
199
195
278
220
174
256
229
230
126
213
217
284
175
126
266
189
175
179
203
216
265
193
218
257
229
214
245
252
254
207
187
223
114
129
213
287
205
203
170
209
161
197
338
235
167
193
223
185
290
256
202
220
287
193
176
162
286
236
283
195
318
262
284
294
211
167
209
228
240
192
179
262
179
197
261
221
163
255
171
202
282
269
203
257
290
172
204
219
181
183
235
192
276
203
199
217
247
253
319
206
223
195
275
236
183
148
265
203
265
186
208
231
237
229
194
220
234
303
255
237
265
157
194
181
251
278
248
272
238
220
222
234
222
198
325
224
234
248
307
230
227
236
160
225
209
288
236
175
218
271
290
175
161
200
185
270
192
207
327
254
223
242
250
240
262
278
228
145
205
274
239
169
292
223
166
208
205
133
219
269
114
218
192
210
324
223
255
195
308
192
208
252
214
253
183
238
172
247
270
173
247
204
253
274
323
205
260
195
256
207
185
182
278
303
223
232
247
250
222
247
378
214
202
256
232
224
243
252
156
212
241
190
281
244
273
238
169
303
159
221
184
208
220
311
195
174
192
287
187
225
233
174
173
180
252
263
189
208
214
323
192
223
242
200
208
145
275
233
181
266
146
257
200
255
309
242
191
265
180
178
320
158
246
278
222
192
187
253
287
317
160
240
168
224
259
250
175
248
278
245
219
307
243
219
246
366
238
167
228
253
166
226
206
218
218
186
244
201
311
304
219
235
256
198
235
189
188
273
218
184
141
291
253
276
181
114
277
238
114
225
244
268
210
264
247
214
221
191
200
246
256
152
221
223
219
114
248
270
307
239
203
187
183
273
227
256
259
180
157
206
187
257
270
295
175
239
260
258
173
258
303
220
114
231
166
227
173
275
221
238
178
264
229
190
198
212
257
235
225
326
231
206
267
274
254
165
243
276
230
172
179
286
190
126
181
133
184
264
272
189
160
179
250
247
264
235
196
192
355
176
206
247
201
218
191
287
280
149
243
297
246
152
195
305
188
301
315
173
245
266
325
252
305
212
239
240
222
184
162
214
280
210
269
198
214
203
151
214
198
192
221
242
239
276
307
198
224
116
142
210
204
145
260
188
212
192
248
206
202
174
262
170
216
255
263
307
151
223
178
195
234
232
260
160
222
200
239
197
293
279
278
347
209
202
243
251
289
180
194
203
235
194
240
189
158
214
186
275
183
291
235
173
296
246
217
272
191
193
243
239
114
241
192
263
200
307
339
240
196
293
170
239
182
206
270
238
201
253
237
248
199
296
283
249
218
203
297
114
229
224
237
168
347
192
137
170
206
300
262
126
222
303
165
260
223
295
166
230
134
292
225
212
257
180
235
237
160
219
323
162
289
232
208
145
215
251
296
235
280
213
246
214
188
257
251
166
198
269
173
114
234
227
191
190
247
173
198
196
151
279
252
256
273
227
194
225
250
226
233
218
219
258
210
245
230
226
249
265
241
262
225
268
283
219
210
250
237
263
253
220
218
184
262
233
277
226
220
279
194
175
246
190
209
173
222
192
206
216
292
240
145
218
255
155
200
236
266
196
174
204
349
184
236
257
284
276
296
278
238
174
267
206
284
191
126
240
224
190
233
239
216
212
198
255
225
202
216
185
241
277
303
182
223
193
207
235
273
178
189
220
274
166
218
263
165
279
114
169
265
233
234
236
195
119
347
251
200
187
224
175
162
273
197
213
268
192
305
293
313
175
292
246
264
310
274
220
210
209
251
247
181
178
300
267
182
250
282
255
309
249
175
238
309
280
187
246
248
230
195
209
231
181
285
230
189
235
215
281
273
250
277
197
238
146
283
232
218
244
211
265
192
258
252
205
259
237
248
278
221
189
281
247
228
274
192
275
270
196
302
247
212
197
129
217
160
233
192
205
246
323
241
254
229
258
220
146
194
258
224
263
189
203
196
209
275
193
212
176
196
184
173
255
235
230
218
175
244
181
243
219
209
224
249
262
261
191
232
302
314
246
197
257
239
193
114
178
299
208
222
169
261
245
219
215
203
176
232
232
271
266
198
373
211
201
198
228
336
188
228
210
230
139
205
229
212
158
235
295
241
279
148
230
294
221
252
228
273
257
166
180
213
260
217
252
177
244
269
232
173
275
220
276
337
232
233
173
213
245
174
236
234
224
219
164
148
241
212
206
251
172
248
198
229
209
195
198
251
165
241
207
264
266
266
245
262
193
217
160
232
206
245
235
192
241
197
225
207
151
258
146
207
208
215
251
183
215
274
218
269
156
114
206
212
270
231
156
211
222
238
212
254
195
306
158
261
171
200
225
198
242
286
263
234
222
215
205
203
179
194
272
181
185
228
236
317
194
180
188
217
203
171
224
220
170
227
191
299
264
246
260
208
241
165
176
179
260
156
223
161
249
280
194
222
188
126
194
324
187
270
154
359
240
198
165
200
162
296
277
243
198
207
237
258
215
235
198
249
257
146
219
181
225
191
172
240
157
191
144
175
160
222
263
285
275
170
168
289
242
256
204
239
281
193
222
279
230
236
186
245
191
265
209
253
195
191
222
245
145
275
227
282
237
208
237
245
220
187
161
240
184
126
285
233
205
180
332
192
222
226
245
170
195
251
257
285
162
186
219
296
209
283
175
259
197
253
276
223
247
300
190
218
156
257
258
259
294
178
283
169
282
152
265
223
300
177
221
211
189
182
187
236
195
166
129
160
186
198
218
253
179
200
257
201
231
222
217
198
206
195
185
179
195
198
209
242
232
226
213
236
182
233
114
182
176
252
303
232
163
283
253
233
247
221
223
274
211
191
325
310
259
214
208
209
362
220
291
274
215
228
168
243
178
258
232
272
257
260
267
210
177
224
164
250
272
230
193
252
253
205
171
206
182
168
219
253
318
205
203
227
249
194
207
176
230
237
231
232
180
313
253
258
243
225
260
267
177
213
144
255
268
192
248
168
242
207
277
231
176
258
283
219
189
198
194
205
205
231
190
217
227
225
214
240
251
222
278
149
116
178
176
273
202
284
174
291
225
148
197
278
251
252
243
162
169
160
306
152
160
160
291
285
179
285
232
239
208
213
207
247
189
147
241
267
156
243
224
224
201
188
169
320
199
281
243
234
189
263
216
219
248
289
220
195
202
300
216
184
238
249
196
219
165
257
220
245
173
184
261
368
166
223
181
197
173
242
210
261
201
205
211
215
169
312
186
259
256
308
217
237
228
167
170
244
236
281
197
204
242
186
137
251
351
175
204
244
271
250
229
187
182
204
194
198
210
319
215
231
219
169
172
167
160
189
308
246
245
211
272
193
234
216
245
156
208
209
261
114
175
184
255
193
201
231
237
145
157
312
200
179
229
251
210
229
203
240
211
178
245
309
194
213
236
196
215
274
166
209
154
166
249
220
250
208
203
247
250
273
270
194
293
232
199
182
182
251
254
242
231
212
218
274
236
264
172
200
197
266
170
218
228
248
216
282
227
225
210
232
229
189
204
193
243
229
156
192
271
216
251
198
208
255
167
211
157
276
227
252
197
237
145
203
216
283
223
235
295
279
306
326
162
181
216
267
208
269
275
255
210
259
226
209
217
271
205
282
231
216
267
225
192
162
305
239
261
252
262
306
163
209
222
160
235
188
239
188
173
114
240
121
237
218
187
196
271
332
200
233
235
221
183
250
305
248
196
244
250
233
212
223
198
216
254
114
172
193
206
145
242
250
260
211
273
160
245
327
304
244
199
156
195
241
139
230
144
215
262
262
220
324
257
211
278
273
317
255
227
173
193
238
226
259
228
284
220
217
298
222
287
216
234
261
324
229
194
187
242
237
226
175
349
249
197
167
244
210
228
275
140
195
221
292
156
159
223
231
240
289
306
229
246
161
257
225
251
241
272
242
151
201
261
252
260
194
269
257
245
184
233
156
192
221
181
227
222
166
160
288
319
277
225
200
297
226
114
234
207
146
248
197
238
255
240
259
218
286
241
215
227
258
154
274
191
262
198
289
268
207
178
266
177
278
249
210
151
195
252
342
206
308
250
289
162
253
186
243
234
248
212
283
224
207
261
257
228
302
277
207
255
244
321
323
192
204
156
262
175
198
223
273
265
198
186
297
201
246
190
316
228
243
235
227
210
213
195
263
222
251
215
256
176
263
239
220
283
223
126
193
345
272
188
191
172
185
197
240
157
213
197
243
227
158
265
161
226
173
229
244
207
229
273
258
211
282
258
196
289
143
255
248
174
215
193
243
160
171
183
220
262
246
254
218
262
207
215
225
222
214
266
231
230
263
237
114
183
178
160
208
276
280
264
194
189
214
219
217
235
256
286
207
208
227
240
200
256
191
232
227
258
269
160
181
206
250
202
198
264
251
238
289
222
278
216
176
183
282
284
277
216
272
126
260
242
167
215
181
171
257
191
236
242
215
247
292
230
230
266
234
193
255
252
166
169
296
258
234
272
187
189
207
229
255
190
162
170
235
240
245
184
234
277
259
231
272
295
216
200
186
265
205
248
182
286
304
325
284
207
254
293
247
281
257
227
227
208
291
299
269
194
193
320
204
247
264
235
215
269
213
237
271
242
165
277
221
173
259
192
197
170
227
215
206
211
239
156
237
180
177
260
259
202
323
260
171
218
208
147
235
281
214
285
175
232
194
276
262
225
257
248
210
211
195
202
299
206
202
262
114
183
223
211
224
158
213
215
180
194
224
204
242
224
178
251
181
218
321
170
170
192
178
203
201
207
284
240
197
191
226
212
283
219
233
286
189
221
212
229
290
255
232
151
222
194
214
200
261
261
228
243
170
181
198
180
181
209
225
241
189
166
165
239
224
221
234
317
243
180
200
181
211
257
213
179
218
160
286
181
319
200
281
200
263
195
286
266
151
203
250
244
206
230
178
180
186
318
200
175
189
199
193
173
218
264
279
159
237
274
262
231
219
177
232
200
220
276
271
186
250
242
187
267
199
238
189
198
187
265
201
257
267
162
195
201
307
253
265
177
239
332
195
174
236
236
330
224
139
233
208
227
246
248
225
149
205
202
299
197
156
229
202
239
229
287
234
274
268
203
237
245
223
181
160
217
229
283
296
165
193
324
232
219
259
250
216
187
247
206
240
210
174
348
234
290
212
233
178
256
258
231
225
236
259
269
222
219
207
253
169
244
114
259
160
232
212
265
170
301
220
249
208
166
208
241
237
264
193
252
241
261
247
243
187
146
219
242
246
205
186
205
179
178
175
253
189
121
179
152
216
220
200
218
309
195
224
194
158
166
282
256
316
192
266
156
252
246
252
263
228
217
251
238
206
282
172
108
193
196
243
222
275
200
244
276
273
190
210
253
182
172
290
209
305
285
189
327
194
247
238
235
254
234
281
215
236
229
248
168
178
250
169
240
189
238
233
231
248
165
156
200
329
187
243
221
288
108
303
246
229
246
173
208
259
284
195
289
227
290
237
202
218
232
294
217
175
220
171
176
265
232
275
219
202
244
309
300
196
185
253
288
241
231
264
232
247
198
238
243
284
174
202
194
161
227
234
217
265
207
346
202
166
189
230
254
277
264
170
237
183
201
281
254
217
207
197
310
216
228
202
195
217
187
217
196
249
174
298
266
300
222
278
265
268
252
154
267
233
250
270
343
167
229
259
218
244
293
203
164
175
261
233
235
254
218
284
234
200
220
218
261
221
151
239
236
295
257
192
202
198
232
183
223
210
179
257
176
277
213
302
248
250
257
267
171
235
211
143
225
191
202
145
250
160
251
269
299
260
271
265
195
248
215
246
249
232
133
258
324
236
198
250
193
214
259
185
327
207
173
168
152
143
291
198
244
306
195
221
210
276
277
267
219
217
246
251
235
247
283
191
207
161
260
167
216
154
262
232
292
181
208
168
249
223
249
236
158
260
278
183
181
215
126
225
285
293
212
201
154
262
192
153
269
179
208
227
285
296
261
170
278
210
210
224
174
238
267
265
256
188
205
227
257
212
126
165
198
218
248
246
201
263
213
274
162
201
185
195
205
271
196
249
275
179
189
184
236
175
228
323
200
199
170
204
223
208
243
178
225
215
306
178
203
209
181
217
250
213
195
227
284
273
173
171
202
243
269
219
224
194
240
225
273
211
251
203
242
205
230
250
324
276
204
160
152
200
202
204
238
365
250
220
200
200
178
229
160
223
253
193
176
265
215
268
263
317
241
277
238
186
340
251
145
219
200
235
181
293
247
202
157
160
211
218
174
169
214
196
254
177
311
160
160
298
224
233
212
166
198
158
165
216
184
184
161
263
206
262
122
208
164
208
248
225
223
160
186
210
222
199
222
176
296
194
215
229
287
248
255
283
170
233
219
226
244
243
250
250
227
280
185
244
166
275
279
196
178
151
198
318
229
203
205
213
246
310
304
275
225
152
200
233
156
196
217
271
192
228
240
235
233
244
308
226
235
156
304
206
217
238
271
209
255
195
187
207
328
170
175
146
194
317
251
225
209
252
158
267
194
188
271
273
332
202
190
114
238
254
236
238
214
221
200
249
234
192
160
238
144
192
249
156
163
335
322
208
170
165
305
287
268
221
219
186
114
114
217
184
245
287
330
294
224
249
189
188
287
191
174
180
251
273
149
200
156
211
173
238
223
260
210
246
187
173
209
209
246
171
211
293
188
218
197
190
235
240
197
233
253
231
266
170
269
240
250
211
220
229
275
312
243
264
296
218
179
213
201
239
253
200
215
186
237
261
141
247
212
280
255
274
181
256
299
213
271
283
205
195
242
217
317
254
106
215
197
246
311
262
207
154
186
283
283
232
224
214
218
172
199
285
233
220
192
216
325
201
176
233
193
246
195
245
319
200
218
139
271
114
231
264
213
201
223
160
234
187
200
251
231
270
199
172
277
180
181
207
216
179
205
206
229
217
171
262
269
218
290
265
235
214
195
209
224
220
181
247
234
178
240
226
189
217
243
250
201
232
261
126
229
367
248
245
253
172
114
178
220
245
305
208
265
180
189
256
211
217
302
173
273
178
166
200
260
247
192
210
208
178
198
174
197
220
184
225
199
216
219
193
242
286
203
261
271
217
208
189
194
202
159
181
252
216
270
178
238
149
216
219
317
245
201
200
165
208
194
277
175
249
298
225
203
212
149
160
216
215
227
194
203
211
254
194
217
229
241
245
205
248
266
228
252
271
238
291
256
241
195
216
181
204
230
250
313
146
173
286
309
186
179
196
237
281
234
261
170
114
290
310
226
213
197
265
223
222
236
261
284
201
252
310
137
175
184
184
210
247
218
297
260
145
219
219
108
230
220
272
268
237
211
262
221
306
242
281
367
126
336
203
218
248
193
235
235
162
250
288
126
183
233
204
256
140
197
208
306
239
128
241
308
175
171
226
185
186
154
202
260
252
192
282
228
273
174
272
200
211
250
147
245
214
148
261
269
139
216
228
170
164
281
215
201
238
194
304
271
250
174
286
262
227
224
192
265
256
184
188
327
202
228
246
293
209
289
309
165
264
230
179
196
223
243
214
212
226
264
214
278
253
245
181
288
241
148
240
249
197
267
213
223
169
195
144
259
260
260
273
192
208
237
291
251
187
234
214
228
192
270
218
128
170
262
221
174
211
189
149
231
209
192
190
237
222
162
311
208
211
244
192
294
261
299
228
238
286
246
190
218
293
222
221
184
244
256
246
191
281
237
218
245
305
174
291
235
205
229
157
191
286
220
169
267
165
245
156
207
172
299
234
186
146
236
215
266
229
177
231
248
264
300
238
201
180
146
229
251
196
287
301
231
210
201
257
240
272
200
217
247
238
286
208
217
275
161
218
257
263
225
236
211
210
225
203
207
171
221
211
241
220
235
181
261
232
185
237
224
154
321
251
234
215
178
199
181
245
249
249
276
269
202
224
193
216
227
221
193
180
246
145
233
332
248
202
217
222
249
228
298
198
283
220
217
283
152
175
208
193
309
325
221
161
250
243
226
175
241
198
198
156
280
260
244
250
175
271
200
269
237
229
159
273
212
283
164
242
213
195
288
197
257
214
139
242
252
222
306
222
213
305
191
258
304
226
240
222
202
355
286
259
181
164
189
203
279
149
236
252
227
256
167
294
275
226
214
197
207
159
264
237
263
168
189
178
235
299
205
160
257
191
287
168
225
247
211
209
209
259
347
279
200
247
254
255
151
287
262
202
170
301
178
178
207
222
202
203
247
192
210
245
243
253
245
183
221
170
207
214
287
171
151
164
301
262
166
213
245
259
261
232
164
200
196
246
189
231
220
335
303
220
173
294
251
199
247
205
181
214
249
208
189
232
256
237
195
226
208
178
238
170
228
231
220
114
174
255
144
278
268
206
208
236
298
176
226
210
194
161
250
227
267
234
184
291
234
214
218
193
298
355
266
270
175
241
160
162
179
263
239
287
193
193
243
217
156
186
216
299
224
178
217
277
211
209
248
229
235
241
230
273
268
151
242
114
222
264
259
239
218
203
187
215
269
252
184
260
209
194
159
222
184
144
208
209
297
171
259
186
258
208
248
240
217
318
226
233
263
312
292
211
185
313
257
238
218
226
126
225
234
208
201
225
157
275
261
204
178
259
205
243
253
222
306
245
309
170
217
258
300
190
174
316
156
235
226
222
129
220
298
214
244
205
226
336
238
286
173
290
275
250
245
219
305
283
173
170
161
230
234
148
263
182
160
274
221
246
267
158
260
290
220
181
188
195
212
178
192
219
165
198
229
281
217
195
255
235
232
261
178
218
176
190
206
269
227
241
273
186
218
284
204
232
192
257
257
296
234
292
199
282
200
143
245
248
203
226
238
209
185
226
338
238
319
210
235
219
211
198
114
219
270
169
245
170
211
286
206
287
230
269
232
198
230
274
247
372
237
193
214
212
180
244
265
215
221
243
198
176
194
190
167
205
234
274
191
275
324
295
183
114
227
188
206
185
212
146
279
227
210
294
256
264
242
250
272
195
208
224
241
280
202
169
232
204
182
182
114
309
201
259
261
253
210
202
274
265
195
222
266
146
191
200
214
161
285
234
180
224
221
213
203
178
243
237
296
256
228
296
263
254
176
323
257
181
261
303
217
285
309
169
166
274
221
229
158
253
207
214
192
174
248
298
189
201
276
188
223
162
213
273
275
215
223
221
266
215
277
189
215
197
253
180
315
165
165
251
267
282
295
196
277
204
224
218
216
195
299
413
229
178
238
278
197
211
266
263
199
145
195
213
253
239
114
243
308
271
198
262
214
165
261
185
294
181
214
178
187
153
285
175
214
166
188
265
224
251
228
146
255
211
144
260
314
229
299
165
285
151
289
235
245
198
114
231
265
247
218
196
281
233
235
258
178
245
192
170
174
209
252
322
256
195
214
327
250
173
214
203
286
212
300
200
215
237
214
244
269
238
219
207
217
219
200
250
258
269
198
232
245
239
169
203
275
196
108
221
241
177
205
260
208
176
220
310
259
313
251
191
189
247
277
237
237
174
193
270
160
180
188
178
245
214
175
154
292
181
268
261
256
235
242
183
191
170
182
191
236
230
257
226
216
202
206
233
225
266
114
231
232
262
190
285
204
177
282
184
224
198
206
277
177
198
320
333
190
196
165
152
186
221
210
227
156
220
238
171
156
294
158
245
198
239
178
306
217
189
212
265
224
266
242
272
275
249
269
178
299
211
179
284
192
212
186
278
264
204
213
271
180
262
225
188
342
156
219
334
241
168
265
152
255
227
196
250
239
225
206
179
164
281
170
163
201
240
224
204
214
229
189
254
224
178
235
292
198
158
243
206
236
232
233
245
198
281
151
286
226
279
239
173
198
241
283
202
231
114
226
150
245
232
206
308
190
189
190
244
324
236
194
214
185
276
191
239
160
184
274
224
152
346
175
196
210
205
210
296
235
298
188
282
169
238
156
181
270
201
303
171
175
277
296
307
220
258
280
195
166
218
201
206
114
191
192
334
235
108
195
173
276
222
179
267
114
152
248
264
170
209
165
225
264
170
237
287
270
178
203
274
225
195
273
203
203
224
187
223
226
200
263
178
212
246
243
215
173
256
192
306
207
247
146
205
201
258
178
250
129
241
287
189
206
180
289
192
185
277
237
193
231
195
284
213
239
175
186
160
114
224
287
151
227
174
202
236
235
247
177
221
152
243
215
203
267
168
224
282
256
234
271
189
218
207
308
259
177
224
244
285
272
148
208
221
166
235
271
237
194
232
239
246
215
207
203
176
167
247
329
204
114
173
275
290
218
190
290
241
197
247
281
208
234
242
193
252
190
172
263
219
192
276
306
233
201
225
245
190
213
270
249
208
268
213
210
282
242
258
278
244
217
302
232
176
194
355
199
253
264
240
225
292
200
244
254
239
196
214
195
126
290
193
203
160
188
243
284
239
235
218
228
265
207
258
250
212
215
222
214
286
286
238
246
208
175
264
244
187
190
263
252
248
176
237
160
262
177
202
267
267
198
209
199
258
224
309
187
290
253
197
258
200
229
183
203
237
295
114
264
238
253
159
196
202
195
204
169
178
235
294
243
248
192
255
174
114
157
239
290
313
200
222
214
303
178
198
172
267
231
218
255
181
193
255
303
199
332
322
228
219
193
186
282
186
190
193
279
240
209
239
286
227
232
171
225
233
171
139
190
198
137
174
178
184
277
268
230
198
192
187
206
240
229
253
198
173
269
212
185
128
217
189
216
169
200
222
251
249
179
267
236
253
162
177
168
251
264
176
250
195
207
241
312
200
235
212
197
282
233
222
156
173
221
245
270
294
236
252
249
264
273
189
265
358
233
275
310
239
293
205
308
179
231
291
237
227
283
248
266
273
193
275
390
221
196
214
207
305
214
260
258
315
300
168
243
195
309
166
260
294
165
191
190
169
194
169
239
245
234
191
261
210
160
163
178
229
290
401
281
348
191
186
126
213
229
241
195
339
259
237
305
276
193
236
252
283
223
242
242
255
264
202
235
307
158
215
219
213
176
234
248
261
173
133
289
263
239
205
254
213
351
252
227
242
218
274
199
207
145
202
260
199
174
267
248
233
221
192
286
226
126
160
293
200
193
238
253
235
177
200
212
247
243
296
201
251
313
193
227
223
208
219
271
287
267
208
207
223
248
219
351
283
219
210
239
208
129
182
258
232
134
292
185
254
173
209
144
206
318
237
177
204
194
210
206
212
198
169
240
228
231
192
172
193
175
301
191
205
208
227
271
290
266
214
222
241
193
165
245
213
190
280
144
219
222
266
229
179
267
229
300
170
237
184
210
222
158
266
243
236
174
264
315
225
248
116
175
214
251
298
275
234
202
225
224
214
239
306
293
258
241
210
158
231
255
219
285
181
143
160
200
161
148
182
288
242
283
229
231
208
238
203
284
192
221
199
188
241
351
298
263
199
192
210
175
214
201
180
186
266
176
271
170
211
177
255
214
312
206
273
245
162
144
208
182
274
240
232
226
260
217
203
332
263
227
203
232
173
231
196
260
261
252
242
222
247
264
171
170
247
198
151
235
255
174
222
256
198
228
304
256
177
217
162
212
201
210
213
228
242
204
188
174
232
183
249
259
292
219
202
292
246
229
200
234
209
260
244
215
280
206
222
134
249
168
239
293
234
259
183
227
232
249
278
266
303
221
170
181
258
194
341
234
339
186
223
167
190
302
238
175
223
176
172
273
190
174
276
310
315
228
246
226
208
256
261
245
286
200
289
239
239
162
114
224
264
225
281
271
214
247
280
245
222
225
254
241
200
189
298
258
207
345
214
158
186
162
247
192
248
214
202
180
242
220
222
223
198
292
175
174
236
285
264
251
286
212
227
205
285
266
222
211
242
276
245
214
298
227
176
189
114
241
207
218
185
170
221
265
263
178
249
242
297
183
245
195
198
205
226
165
215
217
222
219
237
253
283
273
149
203
161
191
301
219
204
199
218
276
158
188
181
165
284
224
236
171
213
252
202
204
116
212
188
195
212
262
243
224
208
224
232
195
192
219
240
216
275
126
237
201
221
216
239
282
194
241
215
173
279
223
243
258
279
219
249
285
161
187
280
157
210
353
197
210
163
237
160
255
221
214
194
300
203
172
156
238
174
175
168
253
179
218
192
197
183
204
239
160
244
169
219
252
296
216
309
245
259
259
208
237
250
239
206
144
265
214
152
168
229
219
229
191
240
201
224
247
281
227
158
249
188
241
151
193
266
238
211
193
212
250
190
197
264
213
180
216
266
229
255
209
266
126
196
156
231
213
250
264
183
223
148
264
263
273
214
213
249
173
291
170
202
213
257
237
224
206
219
223
219
250
273
173
210
219
266
318
234
220
275
183
272
174
244
182
190
199
200
169
255
259
164
200
212
247
174
220
287
266
233
181
279
223
236
206
272
278
189
145
216
182
218
245
171
277
198
175
288
257
208
195
146
300
275
242
265
275
253
231
160
199
335
268
224
204
224
239
215
248
192
248
214
254
185
185
266
197
224
219
216
318
230
184
198
148
186
265
289
301
240
248
254
291
151
207
243
225
186
114
224
209
163
243
289
326
213
243
225
252
213
175
159
280
248
271
165
178
185
260
151
172
276
163
226
292
274
273
164
263
225
246
272
181
160
240
213
209
267
303
356
291
195
254
144
243
243
215
308
276
170
243
235
288
193
224
273
133
215
166
211
193
173
223
243
298
203
158
198
151
189
168
173
190
267
288
114
218
291
198
280
244
202
265
251
192
325
163
278
181
273
204
228
214
257
264
225
286
180
178
260
270
165
210
183
219
199
231
157
220
238
303
273
176
196
272
161
182
245
195
186
219
179
248
152
239
171
298
302
156
212
259
266
225
266
294
219
205
216
201
220
106
250
156
274
245
289
230
230
186
254
226
239
151
205
227
203
201
162
202
268
231
309
215
220
233
242
255
253
203
193
172
269
234
199
265
195
165
177
264
190
179
269
263
236
244
203
222
200
217
279
168
292
181
239
106
222
233
260
171
213
169
186
196
211
209
256
229
258
238
173
203
230
248
274
198
238
261
178
261
210
264
306
218
205
226
234
228
246
224
299
234
262
214
229
198
255
219
263
162
251
261
221
274
174
215
204
210
157
323
141
233
202
225
190
252
163
191
261
239
184
224
254
247
235
175
227
157
273
233
262
200
301
263
170
223
170
169
232
175
183
281
200
244
230
218
145
182
261
243
256
198
210
314
305
156
219
278
197
309
244
191
174
169
249
221
226
163
173
242
291
293
178
191
187
191
160
257
243
178
258
172
174
325
236
151
199
209
241
282
236
235
243
224
194
264
240
208
264
193
169
272
216
198
218
214
185
181
161
176
114
248
262
229
210
238
187
270
311
210
144
235
331
183
196
260
259
181
129
235
197
279
276
254
202
248
170
199
246
183
217
215
295
267
256
160
186
265
256
222
303
265
159
202
149
191
192
252
165
267
303
267
240
206
209
217
287
238
266
241
276
154
233
235
203
241
239
236
252
234
359
217
235
170
204
271
182
216
141
200
181
165
178
254
208
251
247
229
170
224
256
212
216
258
228
235
239
258
219
323
211
202
174
224
234
204
179
233
234
199
215
139
170
289
187
176
210
228
211
181
255
256
198
215
239
255
180
200
215
249
161
133
208
169
270
176
256
322
206
209
245
246
227
235
235
196
281
237
180
268
179
228
190
260
291
264
205
238
175
238
126
196
179
195
188
264
314
170
230
169
331
194
265
207
198
289
198
249
202
227
208
286
246
210
243
214
150
219
293
171
212
235
236
227
238
191
241
276
202
233
206
202
221
258
177
240
302
183
237
233
257
212
171
147
160
137
164
187
262
244
173
204
249
265
126
193
267
230
224
260
226
126
198
305
268
175
301
247
227
293
259
292
244
170
191
214
176
189
252
249
177
260
301
302
227
177
139
211
254
192
257
234
225
233
221
266
188
276
262
209
169
185
168
248
214
239
244
279
244
182
219
242
287
213
190
306
181
273
328
201
194
156
208
204
160
238
272
203
151
173
233
147
160
209
196
243
241
230
192
198
256
140
182
208
207
273
252
152
196
265
205
262
178
246
229
309
156
158
234
312
227
211
247
315
248
188
211
275
241
154
225
178
242
225
283
276
216
281
114
249
256
241
298
195
204
194
194
267
261
234
263
310
247
247
252
220
205
249
269
165
253
148
213
298
285
218
169
250
240
191
284
257
217
272
214
260
270
238
201
179
259
178
144
209
254
270
221
248
261
319
239
161
222
177
282
174
160
254
242
209
108
266
230
305
173
248
206
199
252
289
254
201
262
221
189
222
168
230
281
197
220
198
181
154
145
199
213
267
242
188
167
265
266
217
277
192
258
177
236
238
219
291
180
162
201
273
269
154
213
191
282
307
283
186
279
266
177
198
200
232
174
238
202
189
146
249
275
249
205
200
213
257
238
205
212
190
184
207
208
223
255
200
174
192
217
173
220
202
223
182
234
239
212
263
209
363
200
280
283
265
277
216
163
180
334
292
267
227
266
184
195
126
139
208
239
208
159
243
158
198
159
235
160
208
249
303
225
192
309
238
224
286
223
265
195
139
234
346
179
245
184
211
315
231
235
226
139
166
271
232
235
291
227
233
126
185
215
240
288
226
236
202
195
214
223
137
223
213
234
173
192
169
189
183
238
230
225
324
342
248
180
265
288
233
259
244
287
208
160
243
277
234
196
152
279
188
193
275
207
228
187
248
234
281
260
290
212
236
207
261
249
160
267
238
249
191
283
175
269
232
291
208
280
222
303
204
198
290
199
177
295
211
156
161
350
244
246
202
182
183
163
234
242
201
324
291
243
212
258
171
209
227
222
211
225
183
202
203
226
178
238
203
233
191
228
215
214
183
218
189
209
244
192
178
234
231
243
178
151
152
153
181
276
254
222
260
205
175
228
148
219
216
242
206
221
174
195
266
211
236
195
217
247
337
204
208
271
242
224
209
126
144
238
249
211
215
194
235
269
129
207
232
271
152
130
217
191
134
191
263
297
222
203
171
208
158
175
312
270
195
166
199
151
227
243
174
246
284
278
226
310
239
190
225
246
223
213
239
208
225
240
149
229
217
268
214
229
262
234
237
237
328
249
240
187
270
198
350
216
302
203
204
219
192
247
195
275
249
241
261
154
270
253
193
176
156
209
156
297
247
191
222
252
158
221
229
184
227
221
290
236
179
158
259
254
233
197
309
185
231
229
170
266
201
290
223
323
314
235
262
244
236
255
222
223
181
193
162
257
208
226
216
152
260
216
209
237
189
233
171
225
200
179
251
222
306
173
180
284
244
277
200
272
170
232
270
181
189
233
293
222
278
215
286
194
229
243
220
238
242
221
261
260
178
276
240
237
224
272
230
184
279
198
202
259
281
178
281
204
267
259
162
200
170
225
212
203
114
216
169
197
216
199
215
181
229
227
188
270
164
344
216
114
232
228
252
152
273
267
173
139
306
293
230
263
158
171
182
218
197
259
178
214
214
241
243
238
194
198
220
263
183
168
207
192
231
241
199
245
156
161
219
271
179
174
215
238
214
203
262
298
276
170
263
249
164
263
261
160
291
234
225
232
226
246
225
214
153
272
254
339
278
244
114
215
196
244
280
219
233
253
266
261
241
245
228
151
243
228
234
180
173
247
225
191
314
173
247
245
198
237
329
254
218
177
337
244
128
176
244
268
294
243
160
223
265
248
203
223
197
235
229
276
276
218
204
214
253
211
190
183
169
203
254
300
238
182
200
226
210
246
286
201
214
189
165
164
218
225
165
216
176
177
296
166
191
209
175
180
165
206
242
198
352
181
237
178
240
114
253
228
260
213
264
262
229
166
177
245
190
170
266
202
290
254
192
237
241
211
259
232
178
272
252
215
233
294
181
280
174
260
296
237
191
218
257
277
222
278
189
203
208
264
236
106
256
206
255
211
229
204
225
239
218
184
228
183
238
266
213
282
114
266
219
327
280
205
208
240
151
220
197
271
226
205
194
261
168
221
206
211
248
193
261
226
349
145
228
161
208
241
192
218
251
193
217
247
219
232
158
242
237
336
235
208
182
284
194
205
260
315
174
114
232
245
250
190
198
214
203
151
176
250
206
273
201
253
222
204
156
258
221
179
207
151
266
190
270
230
325
166
187
178
214
272
217
195
178
224
211
206
282
114
197
250
180
198
281
218
203
191
147
280
164
178
232
287
204
285
239
234
192
175
126
183
195
116
193
114
218
266
211
250
227
278
313
240
283
192
232
221
256
227
222
235
224
173
215
285
304
343
250
230
176
232
254
248
228
175
306
207
246
202
210
230
270
211
228
272
283
207
299
237
303
269
213
222
335
205
246
274
257
286
278
239
249
228
197
217
190
223
279
237
238
170
203
200
242
230
303
211
201
114
240
243
288
222
276
217
176
214
301
178
206
167
171
171
174
225
202
221
167
213
312
222
258
220
174
238
264
240
256
226
188
222
212
215
334
210
202
230
202
178
229
205
258
274
195
235
227
271
263
242
227
207
353
348
261
282
214
175
197
237
178
209
156
183
234
222
260
198
268
307
163
178
162
190
239
342
256
224
186
250
208
293
226
276
260
184
356
169
265
226
234
259
334
212
251
254
185
172
209
235
220
200
227
276
285
176
350
278
178
231
145
192
226
258
220
251
220
293
296
212
229
167
245
165
236
248
233
256
114
214
230
250
248
241
206
155
262
156
283
229
151
193
246
215
265
181
276
215
216
215
146
205
292
169
265
281
201
189
289
114
288
197
270
300
198
271
235
165
276
258
121
228
291
222
228
222
270
204
139
268
322
209
253
289
252
133
145
198
257
237
151
192
221
295
147
220
195
239
240
219
229
225
257
238
170
192
225
341
203
170
160
270
228
246
245
211
164
175
180
192
273
193
195
265
206
260
304
170
262
225
218
252
213
218
199
272
198
159
244
257
335
332
194
189
181
200
222
187
114
269
251
171
157
239
197
219
177
243
198
231
162
251
210
201
206
288
174
169
300
219
233
187
324
250
192
192
252
247
169
259
237
312
275
251
233
161
210
183
190
201
284
262
268
263
196
307
223
267
339
247
195
155
316
220
278
145
242
192
253
236
224
241
209
235
233
175
305
192
257
326
126
197
270
219
252
263
173
258
289
333
170
265
265
175
179
152
208
217
247
278
152
162
212
214
155
249
187
106
280
145
252
194
184
170
183
213
206
183
192
206
246
206
221
254
208
237
270
232
290
197
216
195
173
209
220
310
260
151
199
177
249
265
167
217
133
178
216
233
208
244
284
168
194
164
191
205
217
193
243
166
192
251
170
301
238
343
247
188
205
222
178
230
240
208
293
167
195
170
359
204
211
220
154
227
243
226
213
201
196
252
211
218
220
266
202
184
309
279
268
214
206
237
178
222
169
160
208
265
224
174
206
229
267
236
216
245
210
169
191
198
294
151
198
314
178
280
333
223
310
202
175
203
219
213
233
260
156
167
257
252
248
171
242
258
285
270
178
272
247
217
245
260
180
231
231
213
209
330
218
252
184
175
254
182
264
240
300
208
234
248
116
263
228
214
260
154
347
170
197
212
241
220
216
294
297
255
209
179
239
203
189
184
367
268
237
172
261
252
271
198
249
254
262
162
211
201
184
235
228
264
242
232
203
175
230
176
243
168
197
195
180
280
159
258
222
285
200
166
268
186
218
210
207
145
222
195
268
193
203
175
175
265
205
237
235
213
225
246
258
261
241
179
188
189
240
222
229
176
219
192
271
205
258
185
191
201
183
240
195
203
234
241
226
196
114
249
157
248
165
187
214
221
242
279
202
254
329
200
189
260
309
215
185
114
274
312
211
108
214
227
257
264
287
251
270
301
266
240
274
175
209
205
340
188
261
153
203
195
284
200
173
203
180
219
305
207
244
294
214
114
205
221
114
160
321
263
226
207
164
261
199
254
197
176
232
162
178
285
161
250
192
184
160
233
212
248
241
192
285
219
277
278
218
315
233
245
126
315
211
280
262
272
258
237
192
155
239
244
295
224
219
239
174
216
234
199
229
249
251
221
301
164
161
269
275
261
214
234
240
225
206
184
158
217
175
204
233
229
243
155
204
199
250
307
114
147
281
321
159
226
236
193
121
183
200
210
239
226
279
298
171
174
206
219
235
171
260
230
269
251
132
277
209
234
258
262
258
241
310
229
217
296
214
231
235
263
245
216
290
233
180
205
261
263
182
279
217
161
188
190
245
236
217
170
170
183
184
156
289
195
280
241
224
323
234
274
308
257
260
155
304
260
261
230
165
243
280
211
322
255
194
250
243
313
258
196
235
215
147
224
287
252
270
217
235
178
228
198
240
234
116
235
249
163
239
240
268
254
227
217
207
226
267
207
190
240
258
266
242
244
228
167
270
248
205
260
256
198
225
193
225
278
175
192
191
162
238
205
247
128
194
193
179
243
152
227
238
269
226
285
281
177
229
192
197
161
207
253
170
268
255
244
220
237
177
200
226
181
225
206
224
145
248
208
169
217
225
245
192
255
315
209
212
220
218
217
277
292
232
295
196
189
248
295
205
270
238
217
279
214
166
255
222
108
225
231
206
194
209
181
234
149
247
258
259
154
158
181
188
281
232
278
152
146
215
256
153
269
145
176
154
186
238
204
228
170
186
201
261
211
214
213
254
256
254
297
232
286
200
241
210
114
273
268
214
243
240
203
235
216
269
262
274
218
261
129
198
227
256
280
261
303
203
354
213
260
200
205
242
217
242
238
265
182
233
255
326
226
191
208
260
219
210
233
240
198
259
178
162
254
179
257
233
262
260
293
253
226
185
214
296
150
261
224
213
261
215
193
212
216
316
286
295
218
277
260
227
262
232
139
269
252
221
266
201
184
234
277
126
231
202
214
229
184
170
204
261
256
243
272
191
202
290
220
201
173
220
374
231
222
238
226
245
253
221
154
214
234
206
207
303
299
211
168
256
161
250
133
207
256
192
246
250
181
256
149
278
210
165
184
197
284
268
128
425
299
243
204
201
225
227
162
166
108
286
213
337
181
165
218
215
193
211
223
157
240
149
283
280
221
114
333
272
146
234
220
260
280
209
220
179
189
275
213
255
178
260
230
221
219
149
116
180
220
248
218
200
264
208
207
243
284
215
194
210
290
246
222
237
147
158
240
180
200
277
148
185
356
276
263
156
220
184
170
184
275
195
144
249
315
196
233
191
309
245
233
170
266
251
181
216
273
219
261
194
219
205
260
216
180
244
268
227
292
228
323
201
222
205
263
238
221
276
282
258
188
270
290
275
281
222
229
198
186
192
183
253
270
247
208
272
287
175
246
198
245
211
235
206
209
244
199
254
189
272
183
277
217
251
201
227
241
233
196
297
190
229
299
192
233
248
274
304
245
243
263
259
320
241
192
202
250
215
205
163
208
240
276
165
210
157
189
256
320
205
223
217
264
268
261
170
294
227
186
278
246
250
189
266
292
149
199
208
284
108
192
251
216
207
231
181
285
267
129
216
244
270
281
209
275
262
268
260
230
206
272
283
211
198
267
295
230
232
126
285
202
285
220
257
114
219
177
269
175
126
192
187
194
164
235
197
220
178
274
305
260
208
252
247
239
195
192
194
151
211
315
262
247
170
210
244
323
220
214
289
284
211
233
248
207
222
297
249
272
171
261
214
215
255
285
226
170
271
242
245
220
221
130
215
249
126
254
168
231
181
273
194
206
201
301
238
167
261
252
226
214
272
175
244
196
221
212
200
190
212
258
213
253
273
195
230
283
203
261
219
284
225
177
173
216
181
203
275
210
175
181
306
253
231
140
201
200
301
226
183
158
259
249
231
240
181
254
235
198
221
288
231
180
168
213
222
182
254
248
203
224
293
181
280
175
235
234
210
146
264
189
241
180
219
222
240
302
234
257
268
262
180
256
246
180
300
265
226
179
182
183
192
170
205
179
231
188
216
238
178
227
116
217
230
220
287
247
243
252
263
283
265
233
241
262
270
263
161
226
266
306
181
217
208
226
238
233
221
178
245
285
197
315
176
225
234
260
241
237
238
227
165
266
240
172
296
240
170
160
261
238
203
231
243
237
197
207
202
173
206
210
213
200
190
126
278
199
233
275
199
268
239
229
323
156
295
300
158
238
241
237
241
202
133
236
261
230
235
249
248
106
212
217
264
170
214
237
206
245
239
232
226
282
156
206
258
151
229
203
164
271
243
278
197
226
231
274
166
183
200
257
209
233
280
348
191
278
209
235
238
219
262
202
258
221
264
237
215
207
215
224
226
214
269
145
208
216
179
217
195
237
211
255
275
188
203
282
232
190
173
186
263
247
191
153
198
201
176
183
188
169
185
223
274
256
189
258
293
283
295
235
226
211
226
208
150
288
192
213
180
309
296
161
225
114
216
196
208
212
199
316
251
209
275
257
221
179
266
184
151
337
215
213
232
256
133
278
267
244
240
106
160
216
226
194
300
255
228
205
245
221
251
280
268
273
260
262
173
217
192
184
139
152
206
257
219
194
213
208
203
197
274
203
215
170
195
241
223
227
221
228
253
263
226
306
275
239
212
178
196
209
226
222
230
296
208
219
238
178
285
184
209
194
274
188
319
288
200
237
286
221
233
246
269
168
206
237
245
205
196
262
165
179
192
184
221
227
219
251
252
257
189
222
253
226
246
259
210
279
271
172
210
269
181
180
226
185
193
235
233
247
243
222
189
217
277
261
279
239
201
156
220
202
177
264
274
315
260
214
192
219
223
207
168
233
220
248
208
231
272
247
223
186
231
207
173
182
108
166
192
237
319
175
174
210
220
248
279
242
249
247
171
218
176
202
253
167
174
215
172
199
207
179
275
314
201
245
181
262
229
197
210
245
171
202
114
280
199
192
247
158
297
285
307
293
232
238
212
282
239
223
245
213
261
204
212
225
247
188
193
207
294
301
181
166
195
189
271
173
283
230
286
274
346
281
235
144
172
177
177
200
188
253
259
207
246
242
243
193
262
154
185
245
247
146
181
185
331
173
209
218
156
194
194
277
273
212
245
201
267
196
174
205
283
184
229
181
230
242
214
224
216
237
194
219
170
223
211
199
257
197
203
237
256
284
251
145
114
244
293
246
340
233
234
225
208
224
306
223
228
222
230
193
157
194
280
273
205
160
214
194
275
170
229
193
196
234
162
254
301
288
226
179
174
167
284
178
228
198
247
171
128
200
245
214
311
228
222
114
232
114
247
237
182
264
195
277
259
251
258
249
276
265
268
213
250
223
165
204
219
224
225
236
244
291
170
201
158
190
296
196
208
196
232
213
354
223
240
195
258
173
174
227
237
230
216
301
189
208
198
312
208
151
245
210
223
359
252
199
255
238
198
114
208
312
236
241
212
159
243
193
242
231
193
318
187
192
139
277
309
144
193
280
289
192
169
274
239
224
251
161
211
251
246
268
192
192
307
252
299
231
231
230
236
248
298
280
202
114
284
249
281
214
231
185
178
260
243
247
170
228
217
211
221
209
246
192
217
263
205
183
126
241
167
254
173
253
219
237
267
289
271
195
264
265
180
154
261
226
250
189
203
235
216
173
234
216
211
193
266
215
324
208
198
219
274
175
161
284
192
242
225
257
212
278
177
238
241
133
278
266
277
165
230
178
185
185
204
217
246
267
229
231
194
247
220
236
312
225
201
250
230
261
259
299
283
172
144
250
268
244
178
226
261
192
142
174
189
245
243
262
160
228
230
192
218
259
224
221
114
266
257
312
207
315
284
238
234
185
306
306
184
194
207
205
201
158
228
247
176
174
224
148
161
214
250
225
252
303
295
206
182
260
126
274
189
324
213
194
193
159
147
223
188
198
215
206
170
165
222
272
207
217
192
187
239
264
161
219
233
230
160
272
241
220
139
229
268
164
242
265
198
188
339
192
179
225
266
246
192
274
218
268
266
179
196
178
248
229
158
173
174
257
235
267
250
195
221
190
238
218
334
286
208
283
215
203
178
192
198
173
248
257
280
188
225
279
183
249
183
307
173
226
184
258
239
152
176
174
261
297
274
168
174
311
195
259
253
180
114
236
271
258
295
234
223
232
196
260
212
229
114
234
197
194
263
190
220
243
212
198
225
255
233
252
279
188
199
108
272
240
246
199
310
253
273
193
295
208
192
222
205
255
258
195
223
183
190
233
257
244
308
173
223
172
197
204
245
174
228
267
264
184
218
170
189
277
250
278
187
250
303
139
270
233
222
151
196
283
191
328
206
269
133
121
199
268
208
174
160
258
169
249
248
242
272
210
295
178
258
172
239
156
114
180
245
283
126
235
203
164
336
377
178
250
301
304
243
246
250
178
238
222
297
208
261
201
148
284
252
186
238
262
168
287
231
203
128
245
247
201
170
193
191
200
238
208
253
210
215
222
195
239
247
371
147
191
221
335
203
224
154
311
217
258
276
214
342
161
209
198
210
193
214
199
298
326
301
208
240
199
164
282
204
273
154
176
198
198
308
200
172
291
220
230
219
232
172
169
238
239
230
203
270
284
217
265
160
184
188
283
287
219
211
238
244
254
155
301
233
252
171
226
263
186
316
201
266
187
178
173
249
246
291
154
221
247
245
157
114
182
232
193
310
241
243
257
198
163
208
230
182
277
177
255
174
207
197
193
253
296
226
240
240
231
256
169
196
177
252
216
205
289
167
257
249
273
191
214
232
242
227
365
240
265
158
226
207
269
196
230
235
250
237
139
227
187
220
251
312
221
234
180
205
251
269
237
228
192
286
285
220
280
183
290
257
144
206
210
225
114
172
240
244
224
234
173
233
207
213
244
207
290
210
302
276
285
327
213
163
249
203
258
254
183
242
220
192
235
213
234
170
201
337
173
283
221
317
145
256
178
208
253
201
200
227
238
229
151
279
191
172
244
208
233
246
245
240
247
211
230
247
243
272
151
183
212
237
174
183
290
190
276
285
260
226
270
199
253
253
254
263
282
249
271
226
221
208
221
271
226
246
270
227
270
217
192
249
237
328
189
273
255
234
291
234
222
297
286
189
263
261
231
240
252
177
202
228
220
258
174
202
256
199
268
177
167
323
200
174
190
283
239
212
266
213
220
258
199
209
274
162
210
246
221
293
178
247
188
164
190
204
170
298
204
272
180
196
315
207
250
168
232
178
247
186
260
244
171
257
195
267
206
220
196
192
230
168
232
257
261
158
260
156
203
206
231
192
257
275
192
146
297
165
146
202
196
200
162
191
283
173
144
215
330
250
232
306
228
274
272
170
238
183
236
255
152
267
169
241
265
234
319
360
189
225
229
226
172
165
263
265
234
195
220
295
337
296
266
194
139
221
261
197
148
208
262
259
174
147
245
173
221
234
190
325
196
230
225
170
238
244
226
249
248
235
229
181
234
214
254
278
208
231
207
210
248
178
318
256
211
243
269
283
183
250
238
247
185
171
210
179
299
219
217
210
214
153
287
269
178
259
261
176
256
218
204
197
215
223
202
191
114
215
229
181
246
194
220
285
245
193
145
232
177
152
280
170
233
201
257
253
235
198
251
187
214
208
281
195
272
187
273
214
254
228
239
260
194
203
230
229
271
271
206
194
170
221
253
257
213
181
311
215
184
250
276
168
256
229
202
194
235
206
267
179
301
207
236
276
213
251
211
209
195
251
204
283
262
218
218
218
289
232
262
216
318
214
284
184
219
192
236
186
213
187
246
215
222
230
219
212
221
306
223
251
292
292
167
221
235
262
230
254
258
235
193
207
198
196
256
271
148
191
296
137
133
225
130
224
239
288
168
289
198
271
312
309
235
180
210
242
233
149
216
272
207
177
191
160
255
240
237
201
189
227
237
259
213
170
184
207
220
245
212
275
237
170
258
242
244
245
170
181
258
264
226
220
156
235
208
256
197
245
218
218
168
191
277
270
243
225
224
216
266
265
195
220
235
309
202
200
156
272
144
203
195
289
205
177
186
240
254
248
251
205
234
178
242
326
299
213
227
205
190
254
215
171
262
167
152
154
209
191
252
235
291
266
260
139
239
331
194
182
190
148
247
195
200
184
207
186
191
258
252
220
238
181
148
226
237
194
215
219
257
166
214
242
208
214
299
183
228
212
189
244
238
225
144
225
224
207
191
266
235
206
251
225
234
126
222
237
273
160
180
184
229
273
209
214
206
290
178
114
193
147
246
244
114
193
242
210
163
265
278
219
176
318
263
234
312
151
214
213
213
160
176
175
264
259
234
114
270
243
229
251
240
203
322
256
204
227
192
227
190
207
293
174
256
188
152
201
189
241
308
265
222
222
184
198
331
323
160
143
160
208
200
178
175
258
265
293
254
208
253
215
231
206
222
172
223
368
208
268
224
233
196
253
263
225
234
255
260
198
354
250
259
228
225
276
176
264
231
230
224
273
229
189
204
205
261
226
157
203
160
291
192
183
185
241
179
226
192
332
213
235
249
235
195
160
180
235
167
305
150
257
214
194
162
247
149
186
184
273
114
174
224
162
177
230
238
234
283
213
229
179
225
175
276
171
197
234
244
215
309
220
277
258
216
191
218
208
237
226
229
277
181
226
114
268
163
320
243
170
198
193
179
184
214
186
221
340
186
228
263
281
260
202
163
219
195
203
272
163
215
192
284
259
214
268
249
221
257
202
221
209
233
204
264
245
255
208
232
360
189
139
211
156
200
192
156
143
214
287
191
261
180
213
122
252
181
121
264
201
194
292
278
273
243
271
177
240
249
207
173
210
251
228
196
161
245
202
259
184
216
240
215
204
255
153
261
278
238
234
196
189
214
269
222
235
192
192
224
247
193
192
193
200
203
286
317
198
166
307
182
170
251
240
162
235
218
255
191
235
214
192
322
174
114
254
175
272
220
227
281
171
270
228
255
237
193
262
181
180
232
258
215
236
273
199
201
220
231
294
190
184
236
204
254
202
116
239
208
233
213
266
207
153
157
258
294
250
289
184
234
245
199
226
232
130
222
240
293
247
204
205
215
291
318
162
205
188
206
219
291
170
223
221
183
331
170
209
186
171
278
220
183
185
214
160
275
288
214
224
260
259
285
164
291
319
198
273
222
294
174
256
218
222
227
186
245
219
321
181
228
168
187
282
253
258
315
173
211
185
191
191
160
268
212
228
208
174
235
250
246
227
228
189
245
259
200
250
167
145
217
225
174
247
175
130
156
222
256
194
206
219
255
266
257
284
169
200
240
197
230
204
312
228
253
248
334
202
165
164
196
175
246
255
217
184
247
288
198
207
165
231
270
217
222
177
182
170
237
199
306
194
329
193
196
174
219
269
213
286
264
248
186
317
214
200
161
208
229
219
266
208
261
286
226
328
279
239
214
340
275
165
153
176
121
248
250
210
282
256
232
234
252
283
195
188
218
306
240
221
298
215
258
243
210
255
259
238
233
247
311
228
276
205
278
210
166
167
256
185
204
282
170
306
218
314
207
177
233
229
272
204
215
296
224
189
280
278
156
272
145
202
270
170
292
221
276
173
211
220
214
213
238
218
233
221
196
201
211
288
306
171
216
206
238
293
273
200
272
243
173
184
179
217
108
215
214
206
247
270
234
277
182
239
220
199
211
213
149
224
251
210
200
139
249
232
233
225
264
174
133
288
249
217
198
175
198
194
261
241
250
192
204
181
185
254
251
275
294
246
238
221
229
202
236
192
200
260
250
230
149
267
255
273
294
233
174
179
243
232
295
247
219
231
292
334
233
114
203
236
220
298
314
175
300
247
210
169
286
130
239
161
319
217
165
217
205
244
283
263
256
212
237
180
324
126
210
174
180
241
209
205
175
200
238
312
283
226
171
245
239
233
262
226
193
201
180
191
182
240
281
241
227
243
168
160
216
215
231
159
229
211
114
174
144
229
195
253
167
198
252
215
238
196
237
203
194
213
199
296
233
233
232
225
291
195
238
144
269
179
277
232
191
233
229
356
256
219
229
160
240
223
250
205
232
249
218
114
170
198
202
245
114
181
265
162
170
245
183
207
161
302
259
298
181
208
226
318
280
319
191
165
213
227
238
175
260
274
149
192
173
174
292
137
239
235
199
237
246
220
244
227
188
233
220
210
224
229
173
161
249
184
264
197
308
266
258
284
250
196
234
225
183
265
243
247
176
174
214
198
192
276
285
219
176
227
221
198
282
248
296
192
317
144
241
257
173
215
309
270
177
240
207
166
219
218
193
339
192
300
145
257
209
276
178
262
266
243
186
203
210
238
241
144
178
173
250
276
162
253
238
266
250
306
216
198
234
234
173
280
231
278
293
146
235
234
247
236
159
227
148
291
282
209
176
232
233
240
254
217
251
246
278
175
295
231
164
241
239
209
211
201
270
207
222
196
243
147
198
214
179
234
237
218
204
252
200
186
198
130
216
241
223
263
208
251
220
240
215
166
183
228
114
204
221
320
181
246
243
232
213
231
215
335
187
193
265
286
316
196
213
159
232
215
220
261
227
215
262
263
327
253
199
198
306
322
255
178
213
208
198
210
264
147
208
288
228
242
158
228
247
390
286
188
289
209
320
235
244
201
249
259
213
246
248
191
239
194
153
154
228
205
213
223
186
334
247
234
219
165
197
178
229
296
185
248
173
203
230
206
236
283
277
199
114
114
163
188
226
251
194
208
226
214
209
214
232
198
227
202
228
274
162
241
180
290
215
212
233
219
208
239
251
214
181
240
212
198
193
128
194
247
191
297
260
256
226
259
197
223
151
180
239
229
192
192
203
254
240
323
223
202
180
232
307
254
236
215
290
209
178
245
239
215
284
203
259
238
235
307
195
218
264
148
303
268
219
206
267
246
294
149
151
328
210
270
211
231
190
207
192
181
326
169
259
236
271
263
284
212
247
114
195
222
256
289
213
168
242
306
291
114
167
203
196
174
212
219
251
198
234
114
201
239
191
228
196
288
240
258
228
217
114
198
246
187
254
260
207
209
114
244
214
254
247
175
249
180
161
252
276
210
168
198
201
271
332
203
226
198
257
252
284
256
226
283
246
170
188
171
192
228
236
271
240
233
190
174
250
299
209
161
214
225
329
222
191
222
220
181
302
156
226
256
212
201
275
170
214
238
279
213
221
180
217
167
285
221
288
161
227
114
200
223
192
285
240
220
259
222
320
207
252
200
225
200
234
221
144
247
279
242
212
222
178
173
256
262
219
320
207
166
220
183
203
234
232
232
236
272
235
238
251
232
215
180
203
225
194
146
238
220
175
170
241
174
216
201
177
283
158
183
134
114
275
208
223
308
221
210
229
160
216
208
242
299
243
269
254
300
286
247
188
108
310
201
249
199
300
293
178
275
236
244
159
255
202
269
192
285
182
297
219
230
235
244
198
231
251
227
173
198
265
244
280
227
258
194
235
205
203
186
253
253
225
252
165
204
169
190
179
280
267
174
229
244
195
139
178
282
220
243
199
170
321
286
338
251
174
217
139
202
218
202
178
214
241
199
229
217
218
317
208
260
248
264
233
174
186
211
183
269
219
203
217
237
189
203
242
299
215
266
243
198
202
229
186
174
184
218
256
241
259
296
270
223
240
265
261
248
156
190
229
246
277
197
198
230
325
264
309
226
259
199
218
216
205
219
219
174
321
311
169
191
114
334
193
341
177
279
190
254
194
202
155
210
202
261
235
237
162
275
198
217
174
212
265
255
267
258
186
283
281
257
210
216
156
301
215
232
250
145
139
281
252
214
218
205
284
196
169
200
227
168
229
251
317
217
241
260
311
281
274
261
197
233
306
208
270
176
278
213
203
240
220
224
216
239
209
206
278
169
178
230
176
292
195
248
230
182
242
193
214
249
160
240
160
262
227
228
242
207
276
325
333
304
253
242
251
213
181
279
229
182
239
168
231
191
172
271
126
149
246
242
194
249
271
220
196
233
290
196
217
207
258
154
255
231
190
201
209
168
263
166
231
178
216
259
257
302
215
195
188
278
221
179
184
156
261
222
228
170
186
192
192
191
182
192
245
177
166
236
275
241
203
282
263
161
214
184
258
184
197
162
126
275
276
148
208
196
173
201
245
211
209
178
224
186
252
228
178
243
218
198
236
165
206
193
260
251
203
257
273
173
277
168
222
160
175
222
241
229
199
250
244
247
208
256
222
246
166
203
192
188
219
252
184
260
210
263
226
257
281
235
231
268
191
358
252
222
157
208
169
223
114
235
173
114
187
197
247
233
269
195
116
251
196
156
184
223
231
195
178
208
114
189
304
178
221
129
220
220
252
272
217
198
212
329
217
202
194
182
228
234
236
235
231
139
181
275
229
267
239
195
236
207
231
235
270
221
212
197
244
289
214
223
231
188
221
114
174
251
315
206
149
190
337
268
198
213
268
176
230
154
267
228
261
195
189
167
289
257
261
246
213
263
181
233
244
114
108
303
198
148
174
254
231
218
265
165
238
226
250
219
216
205
257
212
203
216
234
221
235
242
254
251
236
161
178
202
202
234
292
250
229
161
171
275
345
242
219
292
181
224
232
257
173
156
249
248
252
208
241
237
198
274
212
185
230
254
195
247
231
269
253
198
285
285
216
219
156
238
176
283
281
243
173
199
312
269
233
116
229
211
201
189
208
274
146
302
282
173
174
200
234
303
256
246
221
235
156
213
263
243
284
318
229
172
285
268
271
224
201
178
235
274
114
266
277
264
326
175
226
161
245
152
257
184
256
178
196
225
264
195
231
267
300
244
258
231
251
275
268
225
171
190
193
197
236
192
209
194
305
281
162
315
227
285
238
236
246
264
219
289
296
215
274
202
200
231
173
239
252
303
233
205
244
151
261
226
232
198
192
207
174
257
197
177
197
231
270
243
260
228
326
233
199
169
271
189
213
157
242
189
183
272
181
201
225
222
133
178
255
246
114
218
311
152
170
200
217
235
233
217
199
232
235
302
290
205
219
225
206
267
139
185
182
249
261
262
240
114
196
232
228
170
255
251
255
263
200
215
275
291
237
238
240
208
237
265
166
229
167
197
261
214
166
169
211
263
271
229
182
276
248
183
208
106
169
180
288
284
247
285
336
237
225
325
250
116
275
178
233
275
177
212
218
215
209
243
221
174
313
185
203
197
238
252
253
252
160
235
314
228
241
217
158
203
281
229
219
192
245
170
308
226
258
192
235
173
157
196
206
213
314
221
201
170
221
217
240
216
214
187
258
279
179
248
198
244
126
243
231
210
203
152
238
190
177
160
162
180
253
218
181
216
242
242
218
277
222
235
214
192
250
205
209
238
204
240
213
145
247
254
248
191
183
366
175
256
244
255
190
208
188
238
255
220
181
188
252
205
223
287
253
317
241
313
263
273
247
225
239
195
250
170
170
165
275
173
196
219
303
297
188
232
279
225
223
178
191
139
214
301
241
281
114
254
285
241
243
255
173
235
234
210
161
237
326
222
257
301
233
251
231
256
288
198
175
244
218
157
258
267
205
248
309
221
229
192
284
274
263
213
192
227
275
226
212
214
248
229
237
237
288
229
188
144
227
191
174
201
206
204
196
174
257
188
240
208
241
196
191
254
260
177
262
242
133
116
287
245
254
252
203
139
284
213
241
259
235
222
207
229
191
157
206
216
257
129
264
160
247
225
315
151
199
218
256
249
222
241
241
199
234
311
330
184
266
203
163
179
263
271
183
182
247
178
306
226
254
167
149
149
114
178
215
182
229
219
219
237
240
293
216
212
297
220
207
214
223
199
218
252
241
190
187
233
221
213
121
114
145
205
256
213
265
192
194
180
206
210
170
243
219
274
254
165
262
242
264
242
239
209
208
218
161
234
210
220
226
290
201
208
223
265
208
249
265
235
162
160
208
263
238
185
219
195
254
217
195
263
270
256
273
287
253
272
198
297
174
229
305
170
184
213
194
181
285
237
156
116
275
193
279
389
133
254
207
294
174
291
233
208
276
213
269
208
126
231
293
194
300
278
228
182
236
222
308
247
174
234
263
178
234
263
258
243
312
240
233
261
224
152
316
296
170
234
275
283
271
252
245
211
260
187
260
247
191
284
205
192
212
145
213
220
264
242
256
222
248
114
251
170
152
233
259
276
236
239
254
175
238
289
266
267
194
229
274
210
260
257
276
229
197
294
195
263
243
222
218
252
275
236
215
145
173
217
249
184
258
309
173
193
296
276
200
194
219
165
203
204
168
160
205
192
173
227
194
152
200
186
284
252
260
208
194
257
191
240
252
261
241
322
226
139
246
222
238
215
154
220
134
219
243
201
160
219
203
276
351
184
243
226
238
256
195
284
238
202
152
208
209
289
206
215
219
236
289
201
185
180
223
175
222
203
216
168
251
165
233
246
248
186
317
198
225
252
227
290
259
294
211
287
250
210
160
267
178
237
244
241
243
156
217
259
187
236
186
242
286
214
225
244
192
197
337
240
259
253
152
215
266
248
244
274
231
160
216
306
214
206
263
256
145
164
295
219
280
270
229
214
214
227
250
263
237
191
225
225
255
196
249
167
295
168
198
156
240
223
194
152
220
214
193
160
273
247
295
248
244
283
249
241
312
203
236
253
159
233
267
203
253
168
274
222
252
205
285
276
204
114
263
244
220
191
265
215
156
202
296
192
181
256
278
224
325
256
252
169
185
215
232
190
269
217
218
191
195
267
212
267
157
198
212
266
225
237
294
243
243
255
287
173
175
139
216
114
262
310
209
183
249
238
266
301
150
315
264
218
221
259
194
285
210
224
197
310
234
152
320
269
180
211
238
251
215
182
280
230
331
164
228
181
198
146
238
165
192
156
228
298
114
114
205
210
234
208
152
170
161
212
251
228
190
233
258
297
239
193
243
248
243
233
300
181
162
306
224
277
243
204
256
247
216
271
288
219
261
285
227
207
206
266
216
379
294
183
260
252
180
211
160
272
178
242
200
237
155
170
165
182
190
213
229
254
250
263
263
258
279
275
178
184
214
220
213
230
277
181
247
287
227
207
146
182
173
295
205
262
218
201
201
158
260
232
223
200
251
211
189
192
218
280
265
252
152
198
197
201
240
182
221
191
217
238
209
184
155
223
220
287
184
289
292
222
245
296
116
224
177
209
161
289
217
217
208
277
211
275
306
282
178
250
247
108
209
221
307
245
198
251
324
269
196
216
216
207
256
173
243
160
151
174
220
241
278
165
233
156
218
301
225
221
195
209
245
209
202
157
217
196
271
266
316
182
277
236
203
198
291
211
237
259
191
224
217
121
221
212
263
116
243
228
244
230
177
233
188
262
241
204
247
139
279
213
266
184
307
143
174
181
180
229
213
231
285
215
234
290
307
156
235
257
175
301
190
271
228
274
164
311
191
239
221
242
207
311
173
192
225
145
193
216
166
248
254
207
210
206
209
235
211
237
224
247
152
196
310
252
226
203
202
242
248
198
289
225
170
289
178
229
217
240
241
265
192
312
252
276
263
209
178
266
222
219
215
152
240
181
246
248
241
268
250
301
197
188
174
211
318
248
170
216
177
126
230
197
152
311
200
229
292
207
277
228
252
182
201
276
213
271
248
198
216
226
260
156
274
152
155
200
152
194
191
252
202
301
245
239
239
186
227
130
280
244
176
145
240
257
249
249
249
243
198
261
160
253
244
178
263
162
219
146
269
241
272
173
175
192
298
213
221
221
171
285
208
165
218
229
247
199
251
193
279
248
210
210
178
156
224
192
175
178
255
224
223
229
284
270
294
219
250
338
337
244
259
222
240
206
269
139
234
192
266
160
218
283
133
258
241
219
316
234
178
151
196
162
239
233
200
228
160
230
283
204
227
236
187
249
145
156
231
252
329
199
302
302
244
233
173
233
170
210
234
208
209
257
276
226
310
260
293
240
162
234
228
278
192
224
195
220
207
183
227
184
282
160
264
336
234
203
180
269
248
205
277
170
245
261
237
344
212
173
292
231
232
187
221
299
106
188
224
207
270
282
183
215
192
201
284
200
212
166
114
184
148
209
202
247
177
221
262
114
244
192
194
247
259
174
181
218
219
220
269
257
251
231
259
186
218
139
247
187
222
353
196
191
179
229
198
170
146
144
226
235
207
215
155
202
244
158
221
185
207
209
212
195
246
238
173
227
303
247
219
227
285
192
258
199
222
286
253
280
206
208
188
182
114
215
255
259
308
224
171
171
242
230
176
258
189
237
272
203
139
245
288
234
214
225
174
203
283
161
179
225
262
170
189
323
222
204
185
305
144
205
200
250
252
158
230
285
242
146
268
158
272
183
114
161
114
184
216
200
238
175
203
200
176
198
206
233
222
235
242
295
197
215
188
178
209
204
263
192
255
274
258
154
236
190
272
149
271
258
161
211
226
257
173
197
259
176
245
218
214
181
228
279
156
259
302
116
253
182
144
269
184
188
288
259
205
146
295
232
283
234
310
161
257
272
194
173
246
230
299
179
161
213
161
208
185
269
247
259
222
189
176
207
179
191
162
148
155
319
234
268
297
164
241
264
316
152
250
126
200
202
263
229
240
214
206
184
246
160
207
114
204
250
269
247
276
238
244
340
230
253
226
235
198
226
189
222
240
152
218
169
160
262
203
235
292
106
221
267
196
216
194
244
266
198
193
220
212
268
225
192
284
184
212
279
201
175
211
183
154
253
316
233
237
183
279
202
178
191
178
182
209
166
230
295
290
209
367
245
218
335
199
226
288
238
173
196
263
216
199
250
202
201
238
215
246
197
264
236
278
236
276
228
215
307
190
210
248
196
229
146
211
268
262
280
215
287
181
195
243
174
189
320
146
192
200
247
114
170
178
205
248
158
225
170
309
234
206
207
239
228
207
255
232
256
284
261
189
233
238
174
220
207
311
217
207
166
220
203
178
236
334
173
246
250
214
259
181
198
239
193
313
233
277
200
265
263
180
168
211
193
223
260
126
146
265
243
262
135
211
211
279
312
205
161
229
289
251
186
208
227
240
189
234
246
201
198
266
194
178
214
289
233
298
258
289
307
128
222
251
207
252
299
309
211
149
213
277
201
245
205
211
235
173
201
293
202
211
175
307
189
139
270
292
114
224
114
195
184
270
175
247
216
269
161
216
187
243
235
298
171
200
183
195
239
219
183
214
175
225
274
149
190
329
253
275
223
300
169
114
178
261
248
241
210
253
233
263
201
239
275
220
292
189
245
232
243
236
215
255
188
114
229
242
214
278
173
262
229
174
258
281
296
211
196
174
282
185
257
250
202
214
277
231
258
224
230
209
239
332
249
170
261
262
244
242
225
249
187
249
272
234
280
186
202
205
368
177
168
178
230
240
231
217
219
248
291
183
225
240
209
260
244
207
260
157
212
212
194
196
217
122
243
242
242
231
242
159
317
220
179
210
268
243
273
188
265
214
205
213
191
293
266
223
189
245
237
238
276
192
170
178
204
235
181
201
249
237
236
214
277
197
276
202
310
225
265
303
251
212
212
262
221
287
256
230
249
350
215
238
295
215
235
202
222
196
145
264
151
250
208
259
294
240
262
272
199
178
179
331
256
283
214
286
167
180
283
202
191
193
217
193
173
211
253
296
228
222
267
217
230
184
174
276
246
244
210
244
200
247
198
299
197
206
234
194
258
235
252
294
206
334
183
214
252
173
170
220
233
223
176
225
265
154
183
264
181
273
247
207
213
200
229
295
233
247
236
173
225
203
226
290
166
211
148
194
200
183
243
245
222
215
214
231
275
264
205
222
281
209
234
170
239
256
182
198
240
258
302
195
218
194
278
309
174
217
203
139
242
314
210
198
261
216
297
205
232
261
179
225
261
251
168
192
305
198
299
171
227
198
181
201
248
270
181
238
211
274
215
148
145
233
227
223
209
221
174
290
267
252
145
214
175
273
213
257
176
247
255
257
232
260
291
183
248
178
244
206
233
152
184
259
253
232
214
225
178
184
219
261
188
284
325
217
200
232
270
248
227
270
326
264
169
237
184
213
217
238
280
305
253
213
221
213
201
187
288
256
217
216
226
239
224
242
353
219
310
198
199
202
171
195
222
225
146
214
218
183
171
206
224
194
297
221
253
306
236
255
253
281
215
145
230
233
258
312
261
180
114
300
218
223
260
234
287
179
361
190
251
190
189
227
264
233
168
222
234
253
158
193
267
176
219
194
226
278
254
191
203
239
283
241
229
303
175
155
285
247
181
218
186
237
217
272
239
243
264
273
157
244
190
187
291
265
160
191
199
233
269
268
311
220
290
226
213
272
264
173
185
293
245
245
210
292
239
257
177
195
175
242
155
242
264
204
208
254
271
230
178
126
177
300
208
245
322
246
175
150
263
180
208
195
170
213
231
293
156
214
239
160
257
190
202
253
264
175
191
251
168
304
252
236
206
281
265
250
178
249
261
315
282
269
292
207
202
238
191
194
173
219
248
324
277
353
295
257
200
261
212
225
180
215
228
348
201
175
171
243
255
189
245
224
237
295
175
181
141
203
190
290
256
251
237
183
240
256
257
178
193
275
284
228
209
243
237
200
236
220
199
217
195
213
277
236
273
305
207
214
294
226
114
198
226
198
297
231
213
208
243
247
230
251
178
233
230
241
246
202
269
193
159
242
177
228
224
227
162
235
170
174
269
234
202
218
239
206
202
262
257
227
181
149
219
158
260
179
230
229
225
181
145
197
232
227
219
171
143
247
245
219
307
278
257
178
264
223
235
114
205
192
197
245
322
249
205
230
290
182
249
168
187
323
232
242
231
302
238
170
204
196
232
245
254
187
225
259
245
277
181
218
114
223
203
158
242
242
199
196
181
186
182
156
269
151
213
309
266
212
206
239
181
237
236
230
202
190
277
201
249
231
249
200
238
171
162
212
180
235
207
217
169
260
262
266
170
200
276
234
252
276
322
323
210
240
210
170
200
252
179
250
262
284
142
285
245
319
169
273
249
221
203
173
212
237
272
327
174
165
265
161
152
198
174
224
257
185
175
208
233
245
261
246
186
186
279
244
191
299
237
230
198
188
160
197
205
273
215
220
202
276
226
296
144
168
248
160
321
323
239
252
261
276
348
198
213
225
253
278
200
277
207
251
294
225
231
199
196
252
191
226
165
234
214
271
281
196
232
313
243
328
212
228
182
156
193
234
238
236
178
160
207
288
250
216
294
308
207
245
226
245
243
227
200
195
198
264
278
270
263
180
174
225
217
243
228
275
194
271
191
346
271
236
225
201
249
241
237
238
291
243
235
232
182
322
184
144
244
239
222
153
262
207
204
194
239
191
255
161
234
225
163
231
230
240
216
255
233
219
251
197
196
225
197
253
154
189
204
173
173
231
246
223
312
285
208
181
224
170
234
190
214
210
274
259
258
225
265
200
209
289
227
152
210
215
200
203
242
275
194
258
208
198
235
277
184
262
277
295
198
181
306
197
276
241
280
334
175
198
287
241
251
173
169
223
262
243
147
205
274
205
195
285
215
231
195
208
219
242
218
222
222
199
248
209
257
174
189
261
213
271
278
241
203
235
106
240
219
214
242
226
191
231
213
146
267
277
227
173
300
228
226
178
251
231
212
214
251
251
191
199
231
201
258
151
233
321
174
243
308
319
314
207
205
176
223
182
212
201
228
214
184
307
239
221
177
283
194
191
226
258
226
218
256
306
284
241
157
184
194
286
224
221
184
170
194
211
204
250
310
208
213
212
203
321
219
146
246
186
233
256
257
258
200
205
234
230
282
152
252
260
177
233
191
238
219
194
170
240
116
183
194
206
234
226
226
231
265
227
214
203
253
178
225
233
219
237
294
316
297
114
146
180
207
234
252
253
288
181
276
180
344
211
179
257
218
270
152
249
161
212
289
275
234
214
162
222
225
203
263
207
192
247
193
195
227
211
240
228
204
222
202
258
227
160
221
199
255
238
233
234
263
242
221
222
196
236
228
181
211
173
260
245
244
193
179
274
228
280
185
140
234
192
214
250
206
210
196
182
254
269
154
251
209
200
335
240
184
184
168
302
180
114
162
213
214
153
178
202
161
152
222
248
254
260
200
262
169
222
213
266
224
221
232
276
215
219
203
175
251
207
186
219
157
220
298
215
177
237
252
180
216
264
249
250
220
291
231
208
261
242
154
170
181
244
231
225
126
212
243
256
256
263
213
281
218
185
208
275
243
240
218
288
156
270
299
233
209
159
149
126
209
308
266
157
207
243
174
257
259
178
241
148
164
184
184
252
224
266
231
222
205
306
203
158
245
239
215
213
227
209
297
149
327
187
293
239
254
235
211
243
232
203
231
169
249
315
256
246
201
200
139
232
229
144
161
185
280
234
228
232
185
207
317
156
276
170
203
213
200
329
269
183
257
213
240
141
272
230
245
144
255
260
249
278
316
226
243
271
229
356
185
186
293
235
184
203
197
202
232
232
206
266
205
217
249
192
221
235
262
242
176
216
284
161
221
170
219
156
160
219
217
297
286
233
207
279
309
254
212
164
179
313
144
198
228
295
205
185
164
180
210
230
231
137
250
114
204
298
266
243
227
160
224
225
229
292
209
165
221
205
252
232
206
202
270
199
235
204
232
250
197
165
227
278
260
229
247
214
189
220
152
195
243
292
286
291
310
200
121
265
253
234
294
198
184
261
228
310
226
299
295
258
254
160
321
172
209
213
214
227
273
234
308
233
193
246
198
116
223
268
215
214
239
235
249
230
206
198
116
242
227
196
194
343
220
261
181
139
279
193
287
237
264
221
257
233
181
216
292
173
200
184
266
141
243
236
235
230
186
225
198
241
173
245
182
216
255
209
286
160
247
161
169
218
198
224
234
250
152
273
178
236
245
238
230
169
278
263
174
279
211
192
210
253
246
307
282
296
230
207
179
253
170
237
204
236
192
216
203
243
227
237
256
258
204
214
146
196
164
195
182
248
259
209
313
237
195
250
178
219
250
210
214
290
229
217
251
253
231
259
251
227
232
226
215
197
185
246
286
199
255
201
310
192
183
271
169
225
232
244
207
306
239
262
247
154
316
208
160
301
196
295
217
197
168
190
233
181
214
221
227
217
179
231
158
139
194
220
203
227
244
298
229
173
176
276
225
227
341
244
212
151
275
210
170
275
240
206
258
190
224
169
114
262
166
228
246
231
278
275
164
307
152
294
247
199
191
300
237
240
243
249
265
163
164
184
170
239
209
249
229
345
168
259
159
249
292
290
180
249
223
233
221
276
259
219
231
212
268
181
212
285
196
195
232
188
246
262
210
208
241
191
261
249
168
129
270
248
246
251
170
207
278
195
201
235
265
218
260
181
225
116
214
221
228
207
217
243
185
240
208
230
288
196
190
222
197
273
215
263
240
238
193
273
181
182
225
249
114
194
283
200
225
207
270
235
238
189
247
194
222
246
230
235
287
239
159
250
193
347
218
317
197
201
246
233
241
199
236
251
258
181
261
263
178
226
277
167
267
201
202
308
208
247
280
206
220
177
271
208
203
208
190
214
178
242
260
275
237
193
192
315
237
205
228
203
274
322
193
254
189
234
253
279
200
208
229
191
262
232
218
196
229
215
260
241
242
196
233
245
221
258
197
145
237
178
175
190
156
292
246
307
139
181
294
264
288
307
244
184
189
185
255
270
265
121
225
289
220
212
235
192
237
175
215
244
280
321
173
198
230
170
205
181
208
176
317
199
196
176
161
222
293
231
263
173
217
174
157
172
195
270
145
160
229
201
211
232
214
284
295
177
198
251
170
298
171
265
260
249
174
227
279
225
253
173
219
306
218
230
298
210
207
225
200
222
267
229
214
159
265
318
184
313
212
299
216
194
228
162
174
157
226
235
221
154
218
151
242
323
240
198
302
237
227
275
215
175
313
228
296
233
176
202
262
216
246
271
232
220
197
283
243
168
261
195
234
239
252
242
258
265
186
253
256
179
234
232
266
197
205
201
205
203
281
211
183
274
262
256
198
270
170
270
227
329
244
181
249
195
166
152
232
173
160
277
185
232
164
180
219
177
229
249
224
264
293
216
206
266
261
209
239
252
210
252
224
244
235
184
360
170
264
281
273
245
281
223
235
252
283
189
215
169
114
229
298
237
214
248
271
259
275
192
201
189
229
178
168
165
187
237
237
114
177
225
246
227
209
175
154
150
217
164
272
178
207
282
216
233
232
233
237
194
264
164
231
213
133
223
217
347
198
182
190
223
192
200
280
246
180
215
235
208
252
280
265
170
262
226
241
246
212
114
224
268
193
209
245
207
219
259
198
220
266
200
212
252
270
222
209
289
220
214
208
246
252
219
269
220
232
219
297
170
241
246
195
211
190
238
174
232
250
238
234
244
266
241
215
245
243
226
248
192
258
189
173
205
329
235
235
297
169
222
248
311
257
208
246
274
203
287
224
304
174
178
114
290
223
257
191
210
243
199
267
228
219
180
258
223
256
191
200
169
207
267
228
183
237
181
189
209
262
231
145
214
225
309
251
244
253
227
253
211
203
297
317
228
217
281
264
227
259
156
176
236
220
176
160
229
160
239
194
255
197
170
220
212
227
238
306
167
252
218
160
270
291
182
188
149
231
215
292
210
236
224
257
249
172
114
206
198
171
298
289
218
248
262
202
318
295
202
151
253
226
219
149
288
177
215
321
175
169
367
231
256
246
265
198
152
250
227
251
162
261
183
276
268
205
240
176
229
274
232
191
248
167
179
198
302
179
248
279
256
234
210
290
224
179
291
223
221
248
222
296
285
279
166
188
239
114
191
205
269
230
233
164
139
179
296
269
184
246
200
261
299
197
258
220
216
188
268
181
213
181
259
203
181
211
155
156
173
160
187
172
190
221
184
157
308
302
238
251
268
285
241
194
191
259
204
152
315
242
126
289
234
222
217
323
202
184
175
256
218
149
296
233
237
166
210
254
219
196
247
196
266
235
193
152
252
311
298
265
181
295
126
211
229
209
196
178
208
195
183
213
202
180
328
242
203
229
256
307
170
235
252
114
222
226
160
236
270
210
178
189
241
171
161
198
249
207
226
230
279
154
267
188
195
240
176
190
211
224
254
218
227
215
211
178
246
233
248
243
283
268
313
286
228
166
265
281
255
272
278
238
215
203
256
213
229
201
184
225
284
254
181
219
240
296
301
240
201
283
199
231
212
233
235
247
126
292
218
232
229
279
164
248
216
160
255
237
228
223
215
185
181
229
197
239
237
114
216
246
213
312
205
215
160
238
227
206
130
184
178
212
256
291
254
221
214
329
212
234
298
224
208
213
232
194
139
236
242
274
222
289
114
257
170
324
214
194
236
254
186
339
309
158
356
203
195
230
246
273
262
257
184
269
290
182
339
162
241
186
201
216
239
292
266
238
319
241
312
229
247
282
194
261
225
175
225
322
152
192
212
188
181
296
233
252
297
173
277
197
182
192
228
230
244
225
203
216
163
214
252
195
263
192
308
277
183
181
196
162
234
208
213
247
227
195
309
314
258
233
260
160
287
283
232
202
253
210
192
226
216
200
188
235
263
191
210
214
208
271
210
251
148
271
142
303
231
248
231
248
176
244
202
249
202
258
198
250
173
250
244
168
190
298
222
246
184
285
283
180
212
156
204
260
174
247
305
266
238
223
208
195
277
214
220
271
236
180
226
280
253
168
162
250
305
264
126
164
238
214
319
250
289
234
202
254
158
260
192
210
170
184
251
247
219
246
184
220
273
254
219
234
231
238
231
284
231
268
279
292
279
278
260
232
255
236
271
249
216
234
228
247
225
267
310
243
217
212
243
192
188
183
278
265
254
209
299
216
165
254
228
342
266
188
161
168
114
314
169
166
264
274
183
276
173
188
178
238
177
193
254
219
259
191
228
210
256
202
243
212
160
233
259
293
205
282
240
253
227
168
193
234
259
154
263
265
252
221
326
126
228
276
223
165
159
231
216
202
291
203
231
244
257
174
175
242
170
205
237
226
208
193
248
210
156
222
248
284
237
272
263
250
190
242
177
244
166
261
273
333
222
207
193
231
232
192
307
172
203
315
214
222
255
180
215
165
263
227
180
248
231
233
210
169
157
227
267
262
278
114
306
159
258
180
239
299
214
239
183
256
239
233
209
193
240
203
255
271
219
175
211
226
257
198
185
176
289
317
186
206
236
216
219
181
171
174
205
169
183
219
185
194
254
224
214
246
162
270
234
239
201
275
292
197
160
249
245
221
229
206
219
251
296
200
243
226
250
215
175
216
200
225
242
204
180
192
218
236
263
211
237
170
218
214
241
218
252
213
206
250
283
195
232
220
210
208
202
204
181
160
306
192
219
195
263
163
277
270
280
178
239
220
246
232
207
213
210
232
221
214
266
209
226
210
203
161
199
303
201
149
254
133
199
203
225
196
269
249
237
204
225
233
236
231
190
215
293
234
106
170
256
208
302
281
210
195
264
236
220
233
284
288
272
243
281
202
155
231
167
222
312
199
235
269
212
210
179
171
222
194
169
278
189
194
151
162
151
292
264
246
298
188
226
186
196
247
259
293
235
180
209
207
157
232
235
130
220
299
191
273
280
303
236
196
232
267
188
208
192
312
198
172
210
114
310
252
290
160
257
230
206
233
225
252
224
217
169
189
192
158
156
198
255
257
188
245
194
250
213
182
192
275
205
240
265
208
254
227
173
266
221
294
312
220
243
238
126
188
165
236
279
230
250
174
196
159
203
225
195
200
184
249
232
242
172
197
281
114
244
182
218
249
183
209
162
212
240
235
234
239
228
272
276
241
199
195
246
209
220
260
205
273
180
174
326
231
203
184
161
203
153
303
259
212
139
173
171
215
274
201
196
114
212
207
180
218
225
284
222
227
253
192
207
240
298
263
331
232
129
272
293
266
167
196
249
238
214
209
329
166
208
243
256
114
291
194
146
248
164
210
304
216
202
265
160
269
249
151
209
231
188
270
225
184
275
219
200
292
234
195
227
279
327
246
254
275
269
231
228
277
238
229
145
235
239
279
212
254
258
238
195
174
234
285
162
222
225
223
198
181
218
209
184
283
254
279
233
146
256
171
183
284
264
211
341
216
280
193
225
266
236
169
342
234
238
282
227
222
198
251
283
194
231
126
234
218
275
193
186
286
267
355
241
203
207
177
264
185
209
161
278
203
206
233
248
171
238
203
195
285
196
222
161
242
193
116
198
158
149
114
269
237
271
222
161
250
207
270
173
316
214
232
190
222
241
254
262
189
254
263
273
246
310
170
235
242
257
225
175
256
181
158
248
290
212
331
269
114
229
313
263
250
220
217
297
306
199
170
245
211
221
260
273
285
216
151
178
207
218
178
170
265
206
190
235
154
246
254
197
251
219
258
160
192
222
167
271
257
142
251
170
184
274
158
238
253
226
145
249
267
114
363
285
221
227
222
225
168
297
152
208
161
228
232
217
261
286
273
196
272
201
304
188
250
237
267
201
178
257
181
286
224
205
158
277
272
180
235
355
229
234
225
114
249
215
289
147
254
225
155
240
200
203
178
314
175
181
174
128
220
220
188
151
202
209
244
235
293
214
126
312
207
235
203
241
269
254
230
229
228
231
208
275
230
199
245
188
285
220
263
206
239
285
252
204
172
225
180
251
174
255
221
285
190
232
182
232
233
225
296
213
293
222
230
246
291
202
195
276
209
275
210
192
224
232
174
197
189
242
293
214
283
235
251
286
189
230
162
253
237
264
222
220
210
170
189
249
236
160
201
230
197
203
174
221
230
191
199
189
230
263
314
283
305
229
282
207
204
214
213
239
151
239
242
220
227
237
311
151
156
181
229
287
227
178
178
250
152
197
218
191
209
184
177
218
327
144
307
196
268
257
148
208
193
224
194
146
242
172
167
218
255
312
210
275
268
267
255
175
184
126
232
158
248
260
281
278
254
164
192
157
191
171
285
274
308
234
280
200
282
237
313
154
241
174
234
331
204
234
221
180
218
219
220
270
224
246
236
277
221
158
283
236
189
259
139
239
215
287
243
191
184
194
156
207
231
176
178
214
251
245
254
207
236
291
218
220
209
264
192
184
243
249
233
219
154
214
216
185
237
222
192
173
245
286
187
243
161
236
240
214
278
250
243
255
173
242
228
218
305
160
256
114
145
240
225
239
214
237
222
205
197
233
294
286
255
198
229
318
204
256
192
280
273
279
270
242
270
206
312
233
247
224
225
210
278
271
224
233
228
287
216
202
260
279
191
163
108
215
206
218
216
214
299
170
262
208
121
272
235
194
239
297
213
246
270
198
231
198
224
253
238
209
256
221
265
242
267
240
207
259
233
346
219
242
241
311
204
226
273
195
242
216
272
296
210
274
227
309
114
206
334
218
191
170
213
220
217
286
270
266
339
246
198
251
222
205
183
279
177
207
186
200
202
234
185
278
246
175
267
225
234
264
165
205
262
178
260
208
189
252
147
224
237
282
282
234
257
281
266
194
241
262
278
212
265
167
248
280
202
192
320
214
182
251
203
209
247
168
238
190
203
209
320
322
353
217
310
242
262
191
295
137
204
219
227
227
247
254
249
242
237
161
287
166
204
186
223
228
200
195
326
200
237
148
182
256
204
327
244
224
218
309
152
195
193
218
226
253
185
184
197
282
133
237
217
224
226
182
221
223
216
238
215
181
238
267
114
271
158
191
221
313
233
249
237
162
296
206
187
219
271
267
167
248
314
262
126
190
310
232
298
221
274
262
169
179
239
191
266
205
257
222
130
214
225
203
257
224
183
126
284
252
178
250
254
228
261
273
196
205
231
269
217
234
220
250
287
225
190
263
203
180
210
209
213
234
256
248
161
166
186
232
185
285
301
247
247
217
361
189
202
258
197
233
114
252
186
208
213
278
349
293
176
294
284
261
284
288
258
279
212
306
248
256
192
114
349
165
244
218
261
244
202
249
276
294
209
222
244
298
281
139
240
219
263
221
306
242
229
283
210
244
183
181
192
264
297
379
173
195
137
194
114
255
197
181
169
178
187
191
174
193
201
214
198
250
231
243
300
176
351
130
192
234
236
285
204
274
178
235
211
245
114
252
158
204
267
202
196
227
203
181
243
211
180
189
261
217
181
233
178
264
152
193
201
271
229
184
223
206
198
232
197
194
193
237
213
226
296
246
231
250
247
160
246
214
231
290
220
215
170
219
282
229
280
207
298
166
211
253
285
260
205
288
251
274
251
258
122
188
201
244
215
269
264
228
217
258
248
213
156
126
250
258
274
206
239
206
229
232
239
272
218
195
213
307
193
304
215
223
231
315
294
260
192
283
313
208
210
239
166
246
221
242
234
309
283
220
252
166
239
246
200
257
203
184
209
311
180
222
196
192
163
221
281
108
189
290
241
262
249
181
250
239
181
200
280
287
130
193
303
174
206
257
341
181
215
175
245
280
310
198
242
228
274
347
200
246
228
208
249
224
285
208
228
260
279
201
206
189
297
192
264
212
239
244
214
205
211
151
243
205
225
268
246
216
223
219
197
208
151
244
254
255
264
256
216
270
227
295
266
167
243
233
191
263
248
220
236
181
221
193
237
308
168
237
149
279
221
246
181
217
265
146
213
247
320
192
258
242
207
182
160
243
190
203
179
234
294
242
207
227
224
262
238
229
242
239
339
255
221
154
181
191
173
192
178
173
322
233
181
251
214
189
178
214
114
244
232
222
239
250
220
251
268
166
253
237
178
159
195
194
220
285
261
151
188
298
291
152
206
114
238
215
215
220
205
196
212
144
208
249
248
279
236
216
220
217
230
176
304
139
201
286
288
156
273
253
198
164
212
208
257
180
179
259
138
260
245
241
215
211
244
267
196
252
226
199
245
259
251
295
250
207
273
306
225
207
304
197
185
258
259
219
298
234
151
272
182
180
263
202
214
250
260
255
206
231
234
206
307
203
287
180
300
172
213
149
277
241
306
158
208
202
249
301
218
166
209
213
227
280
114
261
250
218
287
180
162
235
202
219
173
214
196
317
161
279
224
144
221
242
215
181
207
262
207
265
213
183
232
215
284
175
189
292
237
206
211
270
227
214
227
215
246
283
193
245
275
180
210
286
251
160
234
154
206
164
253
249
214
264
184
209
273
281
165
165
270
168
317
235
215
220
308
256
249
184
217
214
273
156
223
202
211
230
196
227
206
237
240
263
165
202
207
254
195
258
228
257
258
209
206
217
222
216
224
159
267
207
194
201
191
251
269
172
192
232
296
170
264
255
247
306
210
156
285
256
234
128
272
244
189
212
239
226
263
203
216
252
206
297
263
181
253
237
156
126
214
266
253
240
183
288
269
256
196
164
281
191
200
253
284
176
219
208
228
235
178
258
222
199
182
283
206
286
238
238
161
225
203
193
231
169
220
272
228
285
221
231
190
201
230
191
277
232
255
201
223
187
215
230
192
243
273
211
264
265
164
175
197
151
227
175
223
266
211
261
198
241
175
327
191
246
240
198
247
222
192
160
184
169
158
208
264
249
166
203
310
203
210
261
257
207
145
180
204
253
210
257
265
200
202
304
164
180
188
204
279
286
215
198
253
199
198
249
234
209
195
198
298
193
195
209
150
288
170
177
217
185
233
216
192
215
201
187
271
199
195
223
228
245
173
229
289
279
255
196
252
269
285
149
142
186
201
240
251
204
220
254
201
230
186
263
232
165
196
214
157
198
257
254
274
322
231
197
211
261
180
216
196
226
191
173
198
287
269
243
248
270
208
281
235
295
256
126
165
248
234
189
144
243
247
238
160
246
286
175
246
211
203
198
262
214
241
228
192
254
172
271
243
285
250
198
278
151
292
288
243
252
167
217
186
218
292
279
222
178
223
246
231
194
231
167
185
222
228
256
253
230
267
236
224
244
188
246
223
268
211
217
179
159
249
248
181
246
272
170
244
236
221
213
200
219
216
190
209
248
170
254
255
307
224
260
270
316
221
256
241
187
252
206
248
197
189
180
215
202
194
210
252
295
254
188
237
262
209
265
231
167
226
166
249
239
224
160
221
213
189
154
244
224
179
259
226
270
279
129
169
191
208
231
224
335
199
168
211
193
267
178
184
218
267
114
189
234
175
171
207
240
290
192
245
213
170
182
276
192
239
238
145
191
275
260
178
178
304
235
262
160
248
265
219
233
198
261
252
314
244
319
233
215
152
197
186
148
208
290
232
213
263
259
302
283
233
259
230
241
196
225
302
299
219
178
188
178
256
239
209
265
190
232
214
216
197
198
226
326
299
238
234
201
250
175
231
179
168
181
152
254
235
152
301
173
234
199
218
270
185
245
200
235
194
203
320
257
228
201
230
228
231
226
173
207
305
156
279
187
207
246
162
200
201
218
226
278
223
203
232
215
190
347
295
227
226
204
214
139
206
225
249
209
221
281
324
245
207
216
203
288
231
235
224
218
156
260
230
178
271
181
214
224
280
235
309
222
229
205
156
228
194
229
130
292
266
287
204
317
227
192
228
156
227
156
215
286
205
196
235
229
309
210
233
263
174
251
180
170
271
263
282
178
228
240
170
219
233
228
287
217
247
172
225
222
280
300
256
219
229
207
245
267
189
169
249
248
197
176
291
285
272
167
256
279
175
241
284
311
258
234
232
168
220
216
260
181
232
239
265
273
249
329
240
297
210
189
175
171
239
244
245
240
236
301
174
212
259
194
146
219
184
189
234
194
160
274
267
247
211
250
266
245
184
239
226
279
262
174
183
268
263
244
291
198
171
178
227
207
250
286
161
233
170
264
249
207
319
227
249
228
146
164
280
272
306
188
170
182
147
226
196
174
277
293
220
182
292
304
196
280
283
248
230
159
219
219
239
178
171
200
194
235
242
169
186
265
128
244
254
190
276
271
244
252
235
295
221
301
234
196
224
281
226
297
238
178
312
176
232
170
263
193
208
154
234
174
252
222
258
322
267
214
208
282
301
196
258
235
215
220
240
269
301
116
247
251
246
258
251
213
214
253
203
192
165
149
206
246
293
290
313
227
220
223
220
191
198
188
185
160
211
218
260
261
249
228
171
272
197
258
232
182
219
225
237
245
284
292
240
292
255
266
285
177
219
219
324
158
213
218
247
192
191
206
218
258
220
222
274
199
233
304
227
220
229
245
208
179
240
260
215
204
206
203
233
208
222
203
197
220
259
280
159
279
227
266
251
180
218
214
280
233
219
271
277
231
293
246
191
232
209
199
233
260
293
201
267
233
268
228
217
246
166
200
195
183
234
226
266
178
182
292
259
240
239
246
216
264
180
271
226
258
371
178
225
245
270
198
277
261
240
231
245
195
253
224
225
220
276
173
198
264
226
203
191
139
226
233
256
166
192
212
250
237
224
221
129
244
267
192
182
270
126
218
199
148
157
210
217
160
303
331
160
236
263
261
282
173
282
160
332
292
185
225
259
216
218
230
224
246
244
287
261
231
277
261
253
168
144
207
159
203
224
191
152
199
270
205
298
225
186
235
175
218
207
268
215
160
207
174
262
166
212
276
214
307
163
269
152
232
205
219
238
160
192
303
235
156
198
202
295
196
178
240
253
292
215
248
160
288
196
156
232
170
147
181
206
240
281
180
181
249
226
234
139
194
272
333
116
173
188
180
126
181
207
183
240
222
193
178
209
307
216
232
255
276
171
270
218
258
210
152
232
199
191
230
175
241
318
209
207
188
167
298
251
156
185
316
177
238
234
237
181
219
295
114
240
234
263
251
229
300
259
122
206
241
225
268
211
260
220
197
175
187
219
186
207
329
176
158
175
243
269
241
281
173
189
173
276
278
192
222
255
248
186
238
237
233
227
163
303
226
207
255
205
234
197
242
251
212
221
210
224
170
153
346
330
176
328
211
193
205
234
156
282
266
221
303
245
211
226
218
170
237
225
239
219
195
261
230
162
197
194
226
204
254
223
187
202
228
223
340
261
218
225
266
241
200
164
247
208
198
264
252
148
211
258
176
169
202
244
281
241
259
231
208
262
238
159
179
170
263
255
254
267
194
231
215
149
291
108
322
293
236
255
232
227
210
180
196
219
175
198
220
214
152
225
225
318
268
300
249
256
262
139
212
213
308
248
227
269
233
264
234
298
177
273
224
151
190
196
213
204
197
130
237
194
242
253
242
221
248
314
262
268
246
209
175
218
167
202
192
221
248
220
251
198
231
293
216
223
217
182
216
153
180
271
242
277
256
246
174
214
249
209
235
206
230
140
202
215
232
224
266
230
174
287
161
234
156
263
279
194
243
315
114
202
191
165
183
280
274
229
230
222
229
292
244
170
230
181
251
198
278
226
158
216
208
171
183
218
168
175
257
242
235
233
253
207
300
262
222
201
180
253
208
234
170
240
258
222
289
178
139
243
250
243
247
175
226
198
221
285
232
264
215
207
158
165
156
207
241
206
254
227
167
233
184
203
210
269
225
248
258
231
234
345
261
169
257
169
235
257
139
196
334
293
313
252
226
259
255
262
250
168
201
166
148
146
220
250
289
243
176
247
275
196
240
267
279
186
245
256
196
236
202
216
192
235
286
180
174
175
208
171
263
149
223
190
146
287
188
233
248
130
209
236
230
367
197
274
210
205
233
201
166
251
240
242
262
247
224
184
220
315
227
173
209
257
175
262
236
284
178
188
152
201
246
189
284
227
270
267
181
283
174
248
152
264
317
238
198
193
250
234
313
215
334
160
275
300
192
283
203
192
279
229
235
233
227
174
284
252
173
228
157
231
262
197
280
219
198
270
233
214
213
198
284
255
183
168
283
243
144
244
237
199
265
212
251
262
240
252
196
126
297
196
285
228
303
192
144
227
230
227
235
192
261
274
235
290
260
108
270
211
268
220
283
228
242
149
214
296
255
276
219
225
282
177
215
248
246
233
211
290
286
192
200
232
248
269
170
240
240
219
239
239
193
292
181
170
285
271
217
237
229
169
232
274
181
152
128
114
184
200
247
163
203
269
195
224
114
253
238
154
254
269
263
267
248
220
227
186
160
223
195
243
212
224
152
162
192
232
241
216
262
247
211
304
245
155
267
246
239
231
233
225
236
262
251
266
260
289
247
266
152
209
340
258
207
266
211
233
193
282
276
255
308
210
222
160
190
284
236
342
274
156
253
277
280
282
286
290
201
234
214
145
221
195
258
235
206
178
283
157
255
263
291
200
216
239
114
252
231
266
200
267
175
221
158
287
270
210
219
203
285
180
237
244
219
226
256
176
290
186
206
243
221
284
223
276
186
231
220
247
129
108
235
192
215
206
176
222
156
218
224
281
264
190
242
195
259
253
195
178
342
200
211
198
226
258
331
256
246
187
263
182
145
204
192
256
238
261
178
316
180
200
286
182
303
149
260
200
281
245
228
255
170
253
253
267
255
192
279
188
339
245
239
215
206
254
249
225
244
198
247
271
133
239
205
251
180
210
208
204
114
195
204
219
236
198
267
240
259
173
126
114
175
291
272
344
269
201
186
229
200
304
171
283
217
204
271
169
185
246
206
195
291
224
169
192
272
268
187
275
203
218
275
253
198
179
299
271
206
231
284
193
168
264
201
266
304
189
156
148
263
225
225
175
166
241
253
239
267
178
256
255
234
267
165
207
198
280
300
157
309
227
295
178
171
272
199
192
234
214
249
203
220
211
221
188
230
294
205
169
263
174
188
229
246
264
302
217
248
164
198
266
197
277
201
217
205
236
220
251
312
270
259
234
184
231
188
250
251
273
174
241
251
250
224
244
188
173
339
255
212
228
264
220
187
178
231
222
191
189
251
253
226
262
235
225
186
114
223
250
269
245
275
212
270
234
225
272
181
325
195
266
199
200
185
164
236
274
188
205
194
218
166
199
130
221
300
263
290
175
191
174
318
201
197
159
246
189
264
156
184
212
252
196
185
204
237
239
181
235
220
243
244
234
154
208
223
266
165
126
265
195
193
231
176
156
238
209
265
208
241
165
232
234
195
296
310
253
230
286
160
159
184
192
267
204
188
231
246
197
254
198
180
157
266
152
223
188
229
253
276
282
176
221
302
221
236
219
174
175
222
199
160
271
212
240
208
283
231
114
238
212
231
217
212
160
228
307
185
181
106
218
218
210
184
206
213
201
238
236
224
170
165
174
257
199
272
144
229
189
143
308
228
216
237
214
271
196
257
211
206
282
198
191
242
146
114
225
245
263
211
211
184
228
236
129
256
263
219
189
213
203
283
196
255
205
261
226
234
190
221
267
331
262
197
227
159
211
239
214
145
227
375
249
162
309
158
178
197
193
231
219
178
228
199
216
192
189
241
278
238
263
222
160
270
282
221
208
304
166
295
304
176
262
297
300
231
204
193
234
240
254
187
206
114
170
181
214
212
167
225
114
197
148
186
203
272
249
170
265
178
196
227
205
203
178
226
276
260
220
240
221
184
237
255
197
261
276
170
216
276
200
233
233
305
212
286
285
236
202
165
231
263
247
209
247
169
208
214
246
339
165
308
204
239
192
178
192
148
184
223
261
212
294
238
231
158
242
234
251
263
276
239
149
222
174
234
253
219
211
209
249
217
210
230
187
196
274
178
221
197
191
278
245
244
254
299
287
213
199
250
306
259
206
194
212
232
226
262
305
211
248
209
222
169
191
283
288
211
259
193
286
201
207
247
323
169
243
233
272
240
237
223
207
178
210
252
203
278
152
207
208
241
194
266
221
238
250
239
318
216
170
215
213
280
302
266
250
170
202
220
260
205
233
194
174
240
299
144
175
262
212
222
331
229
252
199
229
232
249
311
271
229
274
239
248
278
200
271
257
196
293
179
221
212
178
241
198
225
194
213
297
212
246
249
263
241
246
322
283
195
272
279
180
201
243
207
205
173
158
289
226
278
208
237
253
198
221
162
197
197
210
233
145
231
210
221
276
255
277
180
158
290
160
149
177
234
221
265
266
166
234
259
114
266
259
256
245
184
262
206
164
276
195
247
254
247
218
180
178
231
249
221
278
329
202
270
254
241
248
173
198
242
248
169
289
184
248
260
208
260
240
257
230
226
200
267
235
114
241
219
216
321
205
229
165
264
244
183
291
144
310
217
227
222
169
201
253
156
251
170
254
188
313
251
272
279
180
244
314
251
254
246
192
214
188
229
247
199
197
197
201
225
168
171
275
251
213
297
158
193
229
281
145
256
204
281
250
192
259
267
207
243
151
309
173
218
275
198
266
178
238
235
245
274
230
221
251
188
230
233
230
212
200
156
298
192
202
214
144
284
192
226
303
230
251
232
236
188
194
248
268
170
247
144
194
242
172
234
204
224
162
179
231
212
202
152
220
276
245
198
219
181
209
218
191
291
243
265
196
217
320
263
218
141
224
130
209
221
178
201
213
302
114
221
205
258
217
286
206
239
263
189
114
231
173
267
234
320
246
228
242
213
275
253
296
202
271
213
245
311
217
139
251
226
278
251
218
233
191
217
279
224
250
167
229
219
225
293
274
212
200
224
281
164
206
248
199
264
334
227
148
269
199
309
198
237
247
195
253
283
185
251
255
241
229
202
221
218
240
181
208
180
273
233
248
216
222
190
236
183
192
240
267
251
271
304
234
154
181
202
312
173
219
215
262
287
211
170
217
225
236
197
234
173
203
288
212
202
234
246
223
161
256
293
225
156
235
218
198
250
208
211
227
293
218
181
202
232
249
284
315
280
157
173
212
198
220
215
227
232
184
231
262
238
198
270
231
173
160
300
258
121
241
250
251
205
194
247
272
235
225
259
168
201
273
166
198
236
259
197
291
198
187
255
222
236
121
181
227
221
247
232
178
194
290
198
178
196
230
284
261
256
175
236
114
197
214
211
173
271
202
261
231
225
242
162
144
262
160
285
171
301
197
210
152
166
196
234
229
165
245
242
371
160
176
231
170
284
295
309
267
234
175
235
161
260
238
362
241
223
243
180
173
157
249
179
204
173
213
293
185
222
182
283
300
204
290
192
235
270
212
192
228
205
224
177
281
187
287
208
269
238
152
207
190
139
249
242
190
232
147
158
208
239
215
189
275
279
280
232
175
202
246
218
162
309
163
203
154
286
151
274
207
321
260
181
166
168
224
199
192
186
260
182
219
218
299
235
263
282
183
282
258
220
240
210
249
160
245
326
196
293
218
198
193
248
176
217
175
154
170
234
289
237
230
167
211
161
250
192
202
276
206
233
177
215
278
161
233
263
333
251
230
266
126
186
173
172
260
195
169
173
207
366
232
223
232
209
195
263
240
216
261
298
255
208
158
183
147
240
152
233
182
171
320
183
249
239
223
382
238
239
141
225
290
161
244
193
180
290
223
237
187
179
196
208
228
249
236
241
156
252
334
192
253
126
194
215
214
241
144
161
210
238
289
156
166
250
343
198
235
304
216
178
294
238
277
233
177
240
272
226
223
234
237
170
291
177
194
243
279
213
212
299
214
155
331
204
224
285
249
215
233
270
193
197
241
276
269
289
126
227
187
221
283
268
272
174
161
329
235
165
178
230
205
193
283
251
245
290
218
258
231
215
203
228
186
284
231
165
198
178
243
200
161
211
257
246
218
232
210
126
305
236
174
160
338
225
198
240
204
241
242
171
212
261
151
233
218
226
286
184
192
242
170
287
179
129
261
184
308
193
228
205
317
178
274
225
217
151
247
173
214
137
192
296
258
243
233
317
220
222
166
169
234
257
192
295
253
198
233
198
234
241
260
195
183
233
249
191
195
196
222
286
251
280
274
225
279
270
199
195
181
303
216
248
258
209
207
178
231
205
222
219
238
278
156
287
234
145
232
218
223
205
214
264
268
246
173
231
193
205
194
252
366
181
191
288
207
255
181
293
255
243
176
212
178
208
240
212
181
244
235
267
214
238
193
182
282
229
236
245
244
203
206
156
144
184
241
192
218
205
203
226
223
320
185
247
232
194
209
192
184
256
251
244
174
221
196
197
198
254
218
217
199
179
200
277
207
247
116
193
283
214
144
272
251
207
221
256
166
277
201
230
116
194
246
180
270
196
160
184
282
356
279
279
255
214
212
236
193
258
263
213
232
259
297
345
176
223
232
160
174
148
231
252
243
201
236
184
229
263
200
257
205
171
200
273
191
346
300
234
170
140
230
164
249
229
215
227
159
196
236
188
276
235
222
220
258
186
201
260
234
264
190
209
283
195
211
206
268
114
196
253
266
241
224
238
252
191
151
262
156
248
266
229
209
239
230
261
174
189
168
276
333
261
234
261
169
219
220
324
272
205
228
153
358
151
208
288
367
223
241
253
254
249
174
177
205
213
262
154
277
154
233
181
129
206
180
255
244
213
280
277
242
245
244
200
222
224
284
230
218
198
230
246
219
160
168
239
326
114
254
262
162
246
275
207
270
190
171
238
199
218
317
207
241
169
290
272
204
165
188
210
260
191
229
236
235
175
275
198
209
207
209
206
205
186
237
243
279
230
175
244
221
291
228
114
192
192
258
207
202
249
198
211
211
270
189
269
192
244
243
283
244
213
221
219
207
226
291
251
221
202
281
304
215
177
327
182
215
286
227
250
180
249
234
303
239
207
287
174
114
232
141
171
254
283
244
176
226
151
262
152
223
205
202
199
198
266
174
206
247
139
193
210
248
271
276
216
214
235
185
197
283
116
249
307
295
258
215
240
195
252
191
245
268
145
290
260
224
160
204
263
230
257
190
212
247
195
199
237
315
206
191
327
171
258
227
243
300
252
274
248
215
251
250
209
324
253
169
189
296
233
203
238
173
255
235
218
327
193
217
243
239
275
305
177
203
129
231
218
194
234
171
218
203
238
261
205
264
225
152
226
225
223
310
150
212
213
211
218
126
168
236
192
182
273
197
228
195
229
234
178
153
228
276
245
228
297
284
293
227
270
216
260
164
249
145
256
210
186
253
273
174
238
159
256
273
190
282
184
180
274
290
204
194
196
268
226
159
210
156
114
280
285
204
218
205
214
250
236
252
206
198
225
244
183
216
247
205
229
170
197
198
250
269
199
226
234
183
270
243
178
266
236
192
248
177
207
241
203
237
268
247
193
336
192
202
203
170
248
267
243
294
287
194
152
174
114
231
166
203
181
258
319
162
336
216
221
170
174
196
233
144
233
233
259
214
203
232
176
243
250
206
273
219
273
311
302
166
278
144
280
203
242
191
209
245
204
264
234
202
187
244
185
243
219
194
191
325
217
291
236
174
152
180
173
230
192
174
258
187
210
216
327
240
248
197
178
242
180
164
245
228
225
222
270
176
239
189
278
121
227
313
196
126
261
198
240
191
205
238
285
229
196
250
291
302
233
243
198
198
237
201
212
355
174
289
244
183
173
238
184
240
209
273
230
314
274
304
219
261
213
145
280
195
255
206
168
222
167
164
315
271
286
156
220
232
146
196
240
269
223
278
281
221
228
162
253
194
254
279
287
215
175
243
214
185
179
126
284
274
192
190
241
229
173
264
209
249
181
297
269
165
203
220
164
237
240
212
269
170
208
266
204
264
200
312
219
244
238
261
156
198
208
272
212
306
187
181
220
214
229
241
203
225
222
313
258
297
188
150
203
194
247
210
265
282
185
196
209
149
253
264
310
239
253
178
167
214
237
253
222
203
350
263
189
231
172
252
262
267
209
174
177
215
178
273
153
275
225
271
249
160
192
213
210
194
229
270
195
192
168
275
302
217
198
198
242
224
235
232
254
195
288
245
179
183
262
184
222
181
214
202
166
160
239
198
196
272
263
223
179
198
224
186
245
165
317
266
229
181
213
179
224
226
249
215
194
193
219
176
254
283
164
225
222
200
232
195
152
152
188
238
252
225
195
116
219
232
241
167
203
199
273
160
252
180
192
190
202
242
223
208
213
144
264
210
272
231
206
270
163
266
170
229
266
280
233
331
173
155
216
255
221
158
217
225
161
337
223
241
252
257
157
268
295
267
245
179
226
268
212
281
196
167
241
247
242
251
214
260
207
114
165
261
200
277
246
223
288
202
231
139
232
174
246
156
240
316
158
114
158
114
185
186
327
216
176
228
274
249
245
381
185
207
164
210
197
219
290
144
248
240
207
204
194
293
318
299
215
144
211
163
210
273
271
261
213
214
227
215
249
230
273
256
148
178
242
152
292
209
207
247
311
198
213
245
211
156
273
199
283
264
204
258
240
243
220
180
189
303
229
240
298
226
283
151
340
207
195
199
285
245
182
182
248
191
217
264
244
272
207
194
225
212
197
252
220
234
169
106
255
233
268
275
228
173
162
184
259
252
231
211
154
255
288
235
306
274
196
284
236
254
193
272
218
139
267
175
148
237
322
245
339
231
290
282
175
333
225
327
245
225
143
231
167
268
149
205
233
178
171
178
249
207
248
296
309
187
342
212
267
262
258
209
205
184
241
179
207
237
170
247
177
205
191
279
175
151
272
228
146
258
222
281
245
293
281
173
216
235
225
172
222
215
261
205
305
285
215
242
296
315
129
196
195
170
226
264
250
170
270
216
278
200
223
154
198
294
210
201
133
260
276
289
169
178
177
235
205
215
203
256
159
181
234
196
193
231
106
226
232
203
222
260
223
223
242
194
280
236
189
235
126
252
250
186
261
318
278
274
178
218
193
224
195
322
260
135
178
149
174
334
235
229
254
170
239
202
279
231
271
213
121
130
173
256
282
237
201
231
270
196
195
268
271
170
236
263
225
173
226
222
201
223
154
298
243
229
182
223
204
259
246
230
238
283
252
215
248
197
184
249
194
256
311
265
298
248
322
280
198
173
245
281
197
225
171
245
225
287
130
145
331
214
225
145
250
219
114
220
314
311
147
219
161
250
237
212
259
220
270
244
233
146
215
234
203
171
233
219
184
210
225
145
251
167
139
222
181
234
204
178
201
173
263
225
189
243
266
166
255
234
195
248
198
189
194
231
199
265
241
265
239
239
265
217
255
244
291
183
300
285
223
174
234
253
225
287
253
235
228
239
238
217
226
192
238
301
195
229
252
214
203
225
243
284
282
221
251
217
212
265
214
227
162
266
278
225
173
220
278
212
259
225
144
275
233
294
173
291
151
243
209
222
215
269
196
151
251
262
259
226
174
237
217
309
166
223
205
226
175
193
246
260
183
271
249
291
196
158
249
213
279
240
241
290
232
187
180
306
181
178
221
181
247
230
197
203
238
252
222
235
260
258
224
251
240
230
244
168
178
265
283
253
151
165
114
243
154
210
225
303
198
238
249
229
317
260
199
210
237
239
228
186
311
275
283
237
253
243
221
172
288
200
139
184
168
204
229
288
203
258
187
237
253
228
126
199
254
238
202
299
214
174
186
204
162
258
247
166
241
225
220
199
261
263
198
277
253
236
207
318
199
244
275
268
252
137
215
268
209
220
201
213
222
193
227
252
207
255
191
307
255
184
185
175
214
234
173
212
199
201
173
271
184
198
158
224
284
182
180
220
173
166
158
203
232
242
195
317
228
274
272
279
170
303
173
216
277
193
189
225
246
198
331
201
252
228
172
179
197
295
193
176
189
228
244
177
184
216
204
267
280
157
234
237
184
317
209
264
214
193
259
206
289
263
205
154
197
233
228
170
214
204
260
246
201
252
251
320
173
114
215
175
232
234
204
341
238
180
227
270
204
171
199
135
229
195
237
257
151
168
157
257
194
150
221
310
243
296
272
209
182
173
194
170
183
206
190
148
207
180
194
238
144
227
258
313
270
216
315
179
220
252
205
213
212
288
237
200
267
195
215
228
183
264
230
188
239
283
258
200
198
217
178
145
139
192
243
249
253
271
307
149
166
152
207
323
295
189
106
212
173
210
239
234
230
201
205
273
213
333
139
152
229
190
182
198
194
205
277
215
139
219
201
253
162
195
234
252
269
242
198
231
192
238
256
250
280
238
228
244
299
186
187
226
305
246
152
192
242
170
214
251
256
205
252
151
237
154
279
198
223
211
161
263
211
152
225
239
301
253
267
231
239
236
226
208
300
235
277
257
243
216
230
146
342
263
239
225
247
268
240
240
200
218
192
209
171
233
303
211
262
167
249
249
258
263
306
215
192
184
245
191
279
154
217
158
138
226
249
264
207
171
293
326
213
246
229
165
217
185
158
315
212
229
214
181
253
285
173
180
148
238
274
252
256
277
204
291
273
317
247
263
170
237
205
209
182
211
219
231
152
266
160
200
241
207
207
193
207
233
265
277
213
169
223
149
199
315
170
215
293
321
270
245
190
198
219
214
169
280
273
202
244
178
264
256
249
232
283
256
193
312
247
186
223
280
215
315
258
187
277
182
197
275
274
316
193
213
258
287
208
226
235
197
187
176
225
222
213
277
195
202
216
263
258
240
139
326
220
240
325
223
266
249
214
222
254
219
280
217
300
249
176
230
238
240
306
205
219
224
156
210
209
234
209
273
164
239
252
282
245
288
116
254
239
190
234
319
173
279
185
302
311
243
160
217
369
212
221
217
163
251
225
238
144
245
266
251
227
167
194
332
160
156
156
164
272
226
162
222
223
232
188
264
190
234
173
181
223
277
156
183
230
204
144
114
184
137
248
219
199
234
233
169
160
237
170
186
218
293
176
164
303
181
195
320
309
269
200
182
193
217
226
225
159
191
253
229
260
184
176
209
306
265
252
268
251
195
197
238
277
221
178
196
211
291
195
209
168
227
184
209
185
159
309
244
234
256
194
236
254
214
223
214
171
256
228
145
295
225
201
174
301
218
266
161
246
228
217
283
181
322
249
240
192
184
175
244
229
162
284
238
139
152
195
262
209
236
224
234
240
273
175
216
212
228
220
245
204
198
168
200
239
241
215
196
228
179
249
158
233
160
174
145
259
205
182
233
367
184
286
252
168
274
265
242
237
274
202
227
247
198
187
200
184
195
237
291
195
181
216
281
238
243
256
204
281
175
260
286
253
169
236
219
261
158
222
192
192
192
292
232
289
185
146
278
278
257
231
214
290
259
214
253
222
235
281
241
257
156
180
270
223
210
251
186
215
212
223
160
228
215
126
218
209
200
250
183
200
190
320
137
281
170
209
199
264
264
207
229
278
198
234
207
228
236
239
232
188
299
257
221
192
176
261
174
208
161
239
323
266
255
223
254
242
278
236
186
265
195
218
221
297
234
194
232
190
206
179
301
168
291
165
162
281
225
233
269
243
228
228
282
233
186
177
181
188
212
207
216
286
246
270
260
261
182
203
290
286
177
114
144
273
262
265
261
224
252
238
258
251
246
162
177
179
202
220
244
260
206
268
166
203
165
261
152
281
299
174
204
238
209
211
269
200
308
220
219
249
227
233
218
194
255
171
245
284
294
228
233
203
206
259
210
252
160
228
198
166
230
286
145
192
212
174
189
228
239
281
203
256
208
183
146
266
229
278
242
186
225
208
229
318
190
319
218
209
165
245
208
181
204
165
256
213
256
218
165
240
184
203
200
225
320
235
228
223
235
162
280
253
183
234
185
225
243
295
251
262
174
268
210
218
259
114
202
201
175
219
169
230
217
266
205
248
266
290
146
184
172
184
184
195
275
227
222
160
257
250
180
288
202
205
243
244
197
244
256
223
181
209
244
280
220
218
264
209
285
191
116
160
239
195
275
194
252
211
211
154
173
298
139
178
246
215
250
222
235
266
277
212
265
193
193
208
245
273
223
217
177
306
229
172
227
273
204
146
200
225
195
139
106
263
245
160
290
198
265
308
241
245
245
201
281
228
217
215
244
258
189
184
214
226
301
188
248
241
196
286
194
273
262
207
318
184
207
338
305
257
200
327
205
240
233
263
162
257
286
272
255
227
197
259
250
198
178
280
287
237
234
206
180
277
231
267
116
262
179
259
196
222
287
236
201
279
211
268
299
251
285
178
234
238
225
283
158
173
218
159
223
214
230
343
299
222
270
273
202
241
251
315
165
305
204
229
223
214
192
224
239
262
269
230
198
181
270
244
257
188
227
158
175
183
177
240
258
276
210
218
208
305
218
189
232
291
169
189
222
334
211
180
229
245
231
261
314
200
217
179
146
215
256
223
171
234
338
278
229
208
179
198
248
202
244
254
291
195
276
160
177
259
215
184
217
281
194
174
241
220
229
207
222
245
201
212
251
259
162
238
145
180
286
249
298
202
266
192
211
234
302
198
228
226
160
264
276
295
243
225
243
245
296
202
191
167
144
193
252
188
169
236
218
207
173
179
114
214
189
288
178
231
165
267
264
178
296
144
143
291
154
243
154
218
198
275
167
216
306
245
235
255
170
214
242
219
242
237
173
297
214
192
288
306
236
275
246
258
217
197
195
158
219
181
173
269
262
194
236
223
355
257
183
157
177
197
275
265
248
164
243
262
258
194
154
245
290
197
231
160
214
247
237
262
188
227
130
202
245
160
235
248
249
239
196
306
150
208
221
238
291
175
262
252
322
197
235
281
232
181
217
217
211
156
186
248
214
203
114
384
191
341
236
213
206
155
192
183
209
171
233
253
278
244
198
180
116
242
315
217
233
254
262
224
238
286
239
188
197
302
242
222
192
264
219
198
188
251
266
240
170
229
247
171
222
233
246
221
162
249
248
267
291
278
229
270
199
180
243
182
237
235
151
170
308
209
223
262
286
231
114
191
144
258
220
137
235
290
298
192
209
220
320
152
247
240
204
199
217
156
241
209
198
145
240
303
198
306
267
253
211
250
235
165
227
173
244
248
239
267
205
285
246
228
237
178
211
190
174
261
170
240
205
270
219
218
320
195
191
307
226
242
246
205
214
188
227
189
237
214
215
218
252
224
228
160
225
301
227
175
206
139
226
197
273
194
193
158
235
189
183
305
190
225
203
184
223
188
233
253
178
232
212
234
198
246
249
222
252
246
268
168
298
260
235
227
176
306
192
238
178
177
224
193
258
248
170
210
282
198
175
288
170
245
238
252
239
280
211
248
199
179
280
189
253
236
265
152
171
223
244
227
160
201
192
247
242
230
193
153
226
234
229
277
209
268
166
203
313
247
220
223
232
263
216
206
262
303
250
172
189
242
199
219
173
220
205
237
276
223
214
224
291
251
207
250
202
253
205
260
316
308
273
161
222
285
273
275
183
254
169
151
267
277
284
240
229
201
309
255
229
251
177
312
230
151
207
238
189
198
240
171
204
307
322
292
202
114
219
198
231
264
281
196
250
169
226
202
187
305
267
212
275
249
288
164
290
229
281
249
178
126
212
205
325
217
218
221
216
242
263
202
222
194
243
237
234
167
277
280
185
253
193
209
144
269
270
242
237
152
279
251
168
264
243
198
248
168
205
245
194
197
269
211
204
288
210
184
256
225
218
185
242
213
238
210
242
294
177
271
211
215
185
193
288
197
251
206
249
356
225
203
281
252
256
195
178
297
254
212
280
187
216
226
208
233
235
158
204
189
250
114
289
211
220
231
174
205
268
242
192
273
243
253
208
215
210
308
288
160
199
193
225
251
220
254
207
222
148
223
218
208
198
240
213
279
226
206
248
235
233
266
190
177
176
171
180
225
208
208
217
236
265
276
237
292
228
192
247
265
268
246
184
217
209
219
228
245
189
243
183
309
178
310
219
218
328
242
205
285
190
247
213
161
244
208
178
204
263
128
242
256
210
214
177
219
335
200
338
245
255
283
244
253
299
211
178
283
247
214
201
212
222
152
225
190
273
154
275
305
212
219
207
296
261
189
206
186
249
196
166
219
195
311
192
292
234
235
206
216
221
279
227
215
290
264
246
202
170
211
244
238
201
326
166
244
169
183
247
178
246
211
178
240
189
265
209
231
294
264
277
224
263
209
193
300
181
257
256
260
228
276
213
255
325
214
185
310
246
265
184
193
228
227
235
224
232
236
222
198
197
197
215
210
282
275
173
239
169
277
217
219
237
161
321
169
196
251
178
222
243
180
232
212
278
269
241
229
250
222
226
218
251
182
202
296
168
187
215
225
236
179
202
193
244
180
312
166
238
243
192
146
221
114
216
315
271
222
257
262
202
227
216
210
265
218
328
210
178
201
230
139
201
277
210
217
191
203
170
244
283
230
239
219
165
240
190
209
313
249
240
299
258
263
300
263
189
218
198
173
195
238
196
240
219
268
252
223
223
218
168
225
212
301
158
168
158
253
218
293
285
234
237
165
201
209
178
147
210
173
264
222
290
210
173
214
254
252
281
242
172
242
237
157
287
199
261
277
242
234
262
208
317
207
199
248
189
207
174
186
198
151
254
156
207
268
204
194
139
292
215
219
197
237
235
240
194
204
252
227
189
236
155
173
237
220
274
143
273
185
264
240
193
252
286
211
279
266
235
269
279
264
205
231
180
208
238
215
281
200
250
232
187
255
264
171
140
228
233
217
213
161
160
293
146
214
227
209
236
180
232
209
208
188
274
312
214
244
194
217
233
183
165
280
239
245
158
302
218
178
304
217
219
187
215
177
223
266
198
212
196
261
266
241
234
208
175
241
250
145
277
247
114
180
238
197
194
181
166
292
202
239
235
224
186
289
258
206
242
202
187
167
306
151
186
249
241
250
159
174
310
251
186
221
250
179
146
114
166
214
281
231
187
196
188
176
184
262
249
241
221
176
189
290
185
275
198
173
181
210
239
225
208
249
220
226
265
267
182
160
294
215
294
148
191
282
192
178
178
247
249
182
221
183
192
247
195
262
224
293
253
197
200
233
210
179
278
237
256
192
145
243
180
229
208
173
227
210
169
205
213
201
176
181
248
221
217
266
281
259
242
211
208
191
247
283
212
242
165
340
237
333
246
174
179
244
114
179
222
226
266
199
207
239
230
223
197
263
292
295
218
257
227
178
245
249
265
219
273
237
248
213
243
172
256
255
164
180
284
237
176
263
180
160
223
221
199
208
230
187
233
188
250
203
202
226
263
220
146
244
252
249
158
246
192
229
186
312
212
209
147
292
212
220
209
229
262
185
203
262
186
245
145
199
210
295
307
256
218
182
219
189
139
233
178
217
233
243
235
206
234
314
221
180
248
284
213
168
306
238
221
323
169
165
279
264
255
306
252
205
174
263
235
192
305
243
303
188
235
292
210
263
277
189
253
291
273
245
254
276
203
254
185
207
272
181
239
220
283
229
231
220
193
177
236
325
166
271
186
316
303
197
242
256
207
193
156
243
220
180
206
283
214
225
327
233
250
192
276
253
285
196
228
233
195
160
250
253
164
218
180
222
199
160
179
222
293
188
154
195
276
212
243
216
285
217
199
238
256
145
251
253
344
240
197
240
213
225
252
218
229
200
280
177
193
232
223
194
218
323
166
231
236
220
145
285
230
230
234
232
240
277
238
126
284
195
151
266
216
258
303
209
242
139
296
194
262
210
198
212
232
210
221
199
219
270
236
114
250
193
218
194
245
201
173
162
250
226
245
303
203
216
195
152
176
196
210
218
272
217
155
214
264
126
186
215
114
227
224
191
202
187
191
187
199
237
198
215
237
156
210
216
194
227
206
216
220
191
232
186
270
165
223
254
253
245
259
205
126
165
178
158
180
199
121
159
222
170
291
165
197
200
259
233
277
186
218
178
193
215
233
266
247
174
231
126
205
219
197
214
205
300
334
305
265
295
320
226
165
217
240
242
186
210
233
281
207
167
174
365
243
186
303
219
354
160
239
165
212
266
277
192
154
291
259
168
242
255
195
243
203
176
256
205
272
252
243
231
173
177
192
174
179
163
169
190
194
153
260
257
179
181
220
240
221
314
227
213
184
242
197
203
244
198
314
243
220
267
193
195
175
212
171
270
285
164
171
239
199
198
227
198
265
227
151
262
299
245
269
188
227
248
205
293
235
204
167
208
253
174
121
196
172
227
216
277
193
346
237
220
275
243
225
308
239
208
146
140
231
213
153
266
206
198
234
152
277
165
244
183
234
175
240
296
207
243
227
209
179
189
203
267
234
353
263
273
246
221
178
178
227
194
232
233
178
116
218
239
259
263
318
286
259
144
216
154
151
246
182
293
295
280
227
235
219
237
179
116
151
175
205
191
180
275
327
226
211
272
262
229
205
246
179
226
336
209
231
248
208
236
215
273
193
258
269
260
356
234
289
172
214
194
180
209
260
220
168
202
192
209
194
223
202
270
218
219
192
234
239
214
249
209
233
192
164
199
158
209
156
254
236
279
178
266
242
206
227
234
214
139
254
227
256
307
225
198
312
334
230
280
241
275
191
283
261
327
160
180
243
175
181
194
232
151
200
133
296
288
332
239
266
247
208
240
196
219
183
189
183
221
217
290
244
203
243
263
218
202
193
150
161
215
230
245
217
212
243
212
211
219
271
217
299
193
243
287
156
236
191
217
251
195
195
217
242
309
169
208
286
217
228
241
225
200
291
174
133
245
214
173
326
195
236
217
189
265
253
247
176
260
209
277
283
239
166
289
219
241
257
252
271
259
258
152
189
205
263
231
257
228
217
232
243
233
289
239
218
238
114
225
281
306
193
220
262
202
240
266
181
276
247
236
294
253
227
169
306
234
203
155
186
215
196
281
190
206
222
195
257
200
247
213
220
213
235
242
197
308
283
253
226
229
193
191
233
210
222
221
186
229
240
241
265
166
242
347
306
151
186
276
171
274
108
299
225
187
247
204
289
214
246
171
285
236
276
256
114
237
170
171
234
239
240
198
243
200
206
293
218
114
172
241
168
167
226
246
234
277
209
203
165
209
212
211
255
252
217
146
221
198
249
211
263
198
193
157
242
161
209
189
179
187
194
228
296
245
216
236
214
223
218
139
218
198
230
213
250
214
178
114
227
106
178
237
248
209
274
200
192
233
168
298
307
246
227
300
152
256
160
211
190
200
247
213
267
208
262
236
331
222
221
198
266
251
279
251
187
231
258
276
211
292
213
247
211
245
205
197
208
190
229
232
191
198
201
152
192
260
158
114
166
139
211
184
275
270
143
212
302
217
238
225
245
333
180
209
309
222
203
195
166
234
242
254
214
196
208
242
294
295
250
180
198
263
210
253
252
184
121
280
223
219
208
227
284
234
160
202
243
221
239
222
148
286
173
328
275
262
287
230
249
178
253
202
184
234
228
238
333
292
250
251
225
272
219
264
203
290
174
323
225
166
243
185
177
180
317
306
256
222
190
207
146
154
230
235
293
234
241
162
160
237
203
282
203
221
200
198
253
189
135
156
235
205
205
181
225
163
149
238
252
247
323
166
156
139
167
239
226
238
139
261
201
206
304
259
212
232
241
213
238
239
191
189
301
250
214
235
247
175
240
219
239
168
274
180
285
267
238
181
233
299
246
220
237
334
195
310
204
204
204
229
238
167
145
185
244
266
175
272
243
265
182
227
271
203
245
145
236
211
180
201
187
181
170
187
203
156
192
248
225
243
213
181
290
209
240
180
161
225
198
270
228
238
326
186
248
303
285
272
226
226
149
262
192
248
203
192
187
191
201
246
180
224
199
238
329
209
280
249
214
213
217
151
229
154
161
201
242
304
258
161
182
204
314
262
271
274
242
196
199
197
274
239
264
203
228
201
173
215
205
198
266
332
212
219
218
214
253
254
255
205
178
224
192
210
178
267
165
195
280
265
185
192
164
231
214
255
114
177
190
218
210
226
204
200
172
196
193
195
326
198
229
249
215
325
190
250
243
176
239
214
167
214
108
240
225
235
106
222
224
258
208
151
238
152
271
270
191
240
263
220
235
232
299
253
286
226
261
215
251
249
197
223
195
232
299
236
254
211
294
225
184
260
266
217
327
214
168
299
228
271
273
233
225
211
230
266
243
180
317
212
176
271
155
262
175
293
159
236
186
249
172
211
225
194
181
214
290
212
249
161
208
272
204
185
276
174
191
198
199
237
194
194
209
183
236
256
269
254
274
210
190
195
225
219
308
289
242
318
291
225
220
249
216
170
267
244
223
200
233
223
170
129
210
213
220
168
217
243
248
305
173
234
200
201
256
156
252
310
268
231
224
358
256
214
238
260
231
377
197
154
219
164
173
198
221
181
279
261
186
214
179
297
311
256
226
189
214
268
196
271
227
291
176
206
242
221
155
254
256
236
160
210
223
190
243
215
252
145
274
300
240
229
259
281
181
247
170
208
180
309
227
240
214
252
229
275
174
252
214
271
214
204
252
222
199
238
212
217
285
227
242
208
212
268
247
258
193
208
273
282
230
250
191
278
262
233
114
165
208
199
232
248
203
269
275
194
254
237
262
231
218
235
205
228
269
164
369
208
171
261
217
243
166
219
270
146
180
222
300
265
241
198
221
216
225
205
220
212
215
306
180
197
316
298
262
261
242
232
152
254
268
176
139
225
214
233
243
197
182
173
242
161
227
281
255
272
304
235
261
299
252
188
315
108
167
278
236
195
186
181
235
207
231
188
245
259
238
250
166
245
190
189
214
218
247
297
245
238
240
178
214
243
148
209
244
176
253
233
165
268
210
286
238
188
193
255
209
169
210
214
169
227
199
228
161
307
249
276
190
254
201
214
246
190
285
272
243
260
214
277
231
250
184
148
163
283
179
262
266
219
207
264
234
226
272
271
278
126
178
204
189
206
231
301
202
196
247
215
249
201
216
165
170
260
356
154
289
220
215
219
234
294
232
213
172
304
232
261
184
168
233
197
259
231
211
282
262
205
205
238
178
204
230
265
270
236
204
199
314
169
188
252
169
212
173
263
286
242
272
289
277
249
311
260
216
236
188
273
207
163
215
249
197
261
183
234
245
174
297
280
178
263
207
298
195
171
232
205
258
195
258
241
202
241
228
152
178
272
243
210
263
195
139
302
219
263
201
221
249
255
238
246
179
220
163
298
212
246
219
240
166
223
287
202
227
204
215
288
218
201
196
224
173
260
253
241
254
231
267
211
271
202
205
242
209
240
221
252
175
226
139
225
241
213
276
209
223
258
188
184
174
146
213
229
206
201
241
260
320
270
161
211
203
181
247
299
249
243
253
209
331
238
176
242
187
223
178
320
302
281
265
165
204
216
271
164
241
254
260
204
214
187
257
161
220
237
267
254
197
207
221
214
232
249
184
130
290
179
161
220
298
197
173
145
291
231
207
360
279
252
251
262
194
278
230
205
253
227
224
166
199
187
210
296
237
243
207
207
206
210
197
191
241
194
157
198
235
249
298
167
224
229
256
294
186
206
173
219
241
202
274
232
250
239
177
209
198
181
211
241
236
263
326
397
261
224
226
231
184
192
297
238
190
303
318
203
210
181
237
229
241
193
256
212
170
223
176
272
254
273
229
245
276
166
227
197
180
196
273
250
264
217
202
242
201
162
168
238
181
263
229
273
194
249
261
151
229
236
238
191
232
174
156
265
184
269
251
211
233
269
273
186
228
229
222
210
254
188
164
196
251
234
253
272
175
191
251
260
264
260
177
279
259
240
200
171
220
252
224
223
247
256
170
246
185
246
231
203
221
298
175
269
197
108
163
231
240
211
197
209
273
170
202
238
227
181
281
209
236
223
288
189
266
286
234
213
212
305
216
211
269
203
224
193
224
179
202
203
275
259
281
213
210
381
254
225
226
238
271
227
251
221
172
208
195
205
184
192
187
219
154
170
320
386
266
248
224
266
214
312
204
286
200
225
212
148
224
249
287
231
193
347
179
228
253
248
262
246
269
238
240
181
133
217
218
174
229
225
205
270
243
207
216
282
206
266
210
253
188
210
265
208
270
250
214
251
209
221
182
247
260
243
246
299
287
168
254
257
229
178
249
199
234
235
168
139
246
266
222
201
215
230
250
232
201
257
278
204
216
236
289
240
128
282
199
164
222
229
238
185
201
129
180
233
224
215
254
234
166
218
214
114
214
233
185
165
234
180
234
183
247
194
222
241
203
278
182
160
333
238
251
227
283
284
203
304
254
176
220
221
244
189
171
274
230
241
230
141
240
137
224
228
225
197
276
199
170
185
194
178
241
210
278
210
262
271
279
186
190
277
238
193
230
242
247
264
201
210
114
191
147
311
146
212
239
263
267
287
203
212
222
179
199
301
296
268
263
239
151
225
275
266
184
255
229
218
195
225
264
208
211
192
228
221
267
204
222
179
146
208
249
211
170
217
195
226
281
173
160
276
114
170
324
212
170
218
341
211
236
262
198
168
240
251
168
221
227
238
230
261
273
195
200
192
288
335
231
224
316
279
242
245
281
205
239
226
182
275
227
160
181
253
223
179
263
266
277
233
276
252
261
193
253
318
363
259
240
208
175
275
206
243
232
194
367
160
306
240
233
222
192
274
279
222
179
263
223
240
179
263
217
157
216
229
223
224
126
232
175
246
219
230
188
240
164
198
214
225
200
212
239
200
283
289
237
195
293
266
154
234
232
106
195
265
201
172
166
236
158
162
268
222
324
205
295
295
243
215
254
171
234
260
265
206
290
174
197
267
179
236
269
159
215
252
203
247
198
211
184
296
229
220
199
237
219
271
161
220
206
253
233
289
195
212
284
190
195
182
210
206
175
201
226
195
207
232
285
178
181
244
220
215
244
256
328
154
195
156
270
185
184
250
297
230
181
227
173
236
267
321
171
219
181
155
358
221
152
227
201
250
194
126
195
271
226
250
266
170
210
202
283
160
197
152
259
294
156
270
222
255
230
151
291
274
224
221
195
206
297
180
222
171
181
301
160
297
163
253
273
229
221
164
175
232
206
224
213
260
265
228
246
237
244
231
197
284
181
219
278
243
274
260
179
195
196
219
170
195
255
265
256
234
255
259
146
229
192
271
270
151
245
281
211
227
154
252
302
256
240
276
255
207
329
248
188
191
219
289
278
193
261
188
200
198
182
239
238
238
291
259
209
214
219
214
260
173
174
236
214
175
251
261
196
196
268
188
208
178
168
202
160
297
130
263
255
173
175
266
343
138
130
238
292
263
153
202
219
188
256
274
203
224
249
152
273
244
178
215
205
178
243
213
240
274
249
310
351
342
223
230
219
229
205
239
225
210
280
188
204
210
218
245
244
266
255
269
157
187
169
217
268
236
217
178
236
236
212
161
220
271
315
263
175
322
289
310
198
286
206
229
257
248
160
245
126
213
228
193
241
212
195
250
188
130
156
252
198
230
201
312
212
166
273
202
126
174
252
259
259
143
210
191
223
279
130
292
267
249
177
211
170
202
217
200
190
228
151
217
146
227
258
202
193
114
270
155
257
275
244
236
248
190
270
186
285
209
225
180
220
274
313
257
260
206
166
233
191
217
195
198
193
248
309
114
245
187
234
208
201
223
240
262
203
278
262
217
220
241
207
218
233
273
226
244
200
211
247
321
310
223
217
140
263
334
235
232
239
178
321
229
249
365
173
121
175
376
250
197
220
200
273
175
245
285
235
243
175
194
114
221
263
226
173
193
246
259
258
275
232
121
280
130
228
249
204
243
196
198
337
282
265
269
146
213
247
341
181
207
275
313
250
223
289
178
186
260
292
260
308
229
238
216
210
301
229
259
252
179
194
182
325
263
196
166
204
160
202
267
332
237
198
248
270
176
233
198
215
248
272
180
218
171
251
254
238
273
286
173
215
130
254
254
217
218
225
252
144
181
344
202
228
287
303
186
185
187
275
210
235
211
200
174
261
217
219
185
235
191
220
227
191
216
191
287
242
170
192
156
116
145
206
230
243
200
274
270
254
176
231
218
289
320
179
213
234
245
250
271
170
299
211
262
257
114
204
230
201
276
265
293
252
251
213
152
266
271
285
208
202
236
225
248
240
250
114
223
160
243
152
175
214
169
197
249
301
201
259
192
314
237
206
133
241
167
220
247
205
257
193
213
204
236
285
293
228
224
255
165
260
282
329
208
230
277
207
321
235
229
263
249
193
197
283
195
207
261
193
189
245
318
160
241
260
270
277
242
211
169
209
223
188
258
219
241
200
211
245
152
219
226
250
212
269
177
259
198
156
147
242
236
114
225
195
201
225
198
248
244
215
327
216
178
279
227
345
264
268
226
210
207
282
251
145
229
114
244
260
269
178
321
219
162
218
208
233
246
214
345
246
227
304
215
178
241
255
295
197
187
181
218
249
262
165
191
190
226
217
304
226
158
273
222
230
223
190
248
258
185
201
246
256
188
202
126
235
232
212
160
253
161
275
268
198
224
178
206
238
232
274
180
297
175
222
260
203
252
273
288
246
244
319
194
181
222
184
217
253
201
182
170
235
154
198
238
289
247
192
210
206
203
274
174
267
212
303
181
165
159
271
210
211
260
237
316
272
308
210
214
269
143
165
241
255
192
290
198
139
197
121
216
189
234
231
206
248
227
180
217
222
267
152
288
214
253
160
194
249
278
214
235
173
187
283
181
192
198
209
234
165
289
222
181
181
186
178
260
202
185
201
315
178
234
275
241
284
243
213
193
177
203
229
248
198
284
230
285
227
266
352
235
246
313
266
207
195
194
188
161
250
214
238
231
223
191
160
156
207
246
240
243
258
160
195
219
223
215
309
250
182
198
164
246
175
239
304
294
162
222
174
259
174
222
175
217
190
187
181
175
252
266
160
260
378
208
193
278
321
229
274
174
266
154
213
211
228
227
278
227
275
235
231
266
215
232
271
214
203
220
202
294
301
178
244
207
178
293
246
173
204
267
171
163
269
226
219
173
261
339
168
134
288
154
197
254
225
285
332
198
214
207
260
183
214
204
272
164
242
228
220
168
307
230
305
297
162
214
261
224
181
229
245
274
242
218
196
257
211
219
263
114
206
295
202
139
154
207
270
166
208
183
218
285
193
240
314
229
180
262
229
196
310
193
303
215
272
254
253
175
309
199
214
233
266
231
215
216
219
266
231
245
235
236
242
235
192
240
230
224
190
166
228
238
252
186
187
151
114
207
290
217
195
206
228
252
152
178
254
277
207
238
151
208
190
265
196
236
170
275
161
284
258
245
294
261
275
211
248
250
255
241
192
240
312
274
178
208
178
201
237
106
190
229
209
235
247
222
152
161
228
256
200
203
171
252
152
254
197
192
275
224
242
184
245
197
171
194
243
160
198
173
268
190
200
190
213
265
212
173
224
254
195
251
241
229
213
242
229
270
232
211
157
200
278
225
145
258
192
237
207
200
116
216
223
253
204
295
254
247
283
269
256
196
192
173
275
235
258
234
271
170
244
218
161
200
232
228
214
333
208
201
261
185
181
198
174
199
274
290
185
212
309
290
190
226
250
206
176
196
195
218
197
243
210
336
213
227
215
247
330
294
147
283
264
184
263
233
242
238
135
236
223
170
251
234
198
237
288
139
204
243
180
212
218
220
157
246
212
212
194
308
214
233
114
296
114
194
232
156
222
265
237
163
261
271
241
270
244
248
199
161
213
239
244
208
160
160
222
173
239
233
106
218
266
316
222
170
207
252
161
174
214
228
259
160
174
240
248
217
175
233
238
201
151
206
266
270
240
239
293
215
154
238
233
217
114
173
248
301
255
252
183
179
171
226
211
235
219
152
215
243
212
228
170
201
168
204
232
237
176
253
317
188
210
222
221
232
249
288
203
203
230
319
228
276
251
197
247
209
276
182
327
264
305
208
322
263
246
158
116
164
256
219
222
179
229
204
273
198
223
178
271
241
255
179
266
164
193
174
170
184
222
248
192
175
185
180
238
224
240
273
220
114
192
237
246
155
332
276
231
222
236
227
263
252
151
344
226
246
214
248
194
227
195
290
245
159
265
278
219
205
216
236
260
175
162
245
114
264
234
292
237
232
240
181
162
265
221
246
160
183
195
247
226
211
241
160
160
212
244
242
273
201
267
205
183
213
181
237
194
262
152
174
212
235
180
114
273
201
230
277
320
232
273
227
217
270
254
154
231
284
154
222
228
230
215
160
249
261
220
321
153
254
199
302
248
337
256
258
226
213
254
152
194
296
140
212
248
275
154
250
288
256
245
254
217
197
216
214
239
177
300
238
194
184
219
179
260
243
197
238
237
195
214
192
212
141
220
198
146
177
213
266
190
207
192
233
221
170
254
279
268
239
178
174
248
184
200
219
223
211
194
213
289
212
158
170
213
219
239
233
240
221
260
188
167
198
266
236
176
267
214
175
256
239
196
170
204
206
229
145
253
211
189
240
210
252
232
178
221
208
215
303
278
172
160
184
303
178
201
184
251
263
274
173
269
191
221
161
211
203
231
180
274
178
197
209
224
183
193
198
180
250
264
198
211
215
300
204
172
196
195
162
225
192
188
261
296
205
114
227
272
219
172
241
250
180
241
321
205
139
227
202
218
149
232
267
174
232
299
198
233
209
303
114
166
292
302
174
215
211
232
214
209
224
178
177
170
287
240
180
214
205
238
179
181
304
231
277
258
248
241
271
248
172
168
222
184
321
240
250
269
266
287
222
172
201
192
154
237
139
223
121
226
215
173
278
189
269
201
186
213
206
151
253
227
255
231
269
223
172
176
295
245
276
233
201
159
139
206
203
231
214
281
239
170
254
215
211
287
207
247
324
257
182
197
224
199
282
236
233
205
286
214
235
189
332
163
178
230
258
205
185
244
227
116
260
312
195
225
247
247
247
166
199
194
247
237
286
189
231
193
232
223
262
114
221
252
167
179
200
240
223
194
207
222
199
206
186
114
249
178
213
182
187
181
287
192
196
371
324
238
278
156
190
169
178
157
200
180
245
205
304
191
282
180
262
270
114
237
258
222
221
191
206
183
254
283
181
183
250
207
207
159
174
248
188
168
258
223
284
199
301
262
236
170
229
297
227
180
268
212
239
192
170
166
227
272
228
238
277
307
192
236
254
208
214
235
174
215
176
222
176
206
192
248
174
229
294
209
192
247
196
210
220
157
220
243
170
253
197
295
214
252
139
211
217
218
192
252
220
238
208
248
268
183
226
156
249
175
221
260
250
264
244
241
263
254
177
181
189
114
213
270
312
203
237
227
202
202
160
256
252
237
139
221
257
226
140
195
278
177
279
152
223
254
160
233
291
228
154
200
277
203
237
266
181
209
237
179
223
227
293
252
198
312
195
195
202
321
226
326
279
307
152
278
245
149
221
243
235
212
212
246
203
262
175
222
225
268
256
176
213
116
233
159
294
256
256
201
339
326
196
268
294
291
291
232
233
227
263
221
280
169
253
164
319
156
202
284
234
250
219
174
217
273
259
151
114
216
267
215
221
193
280
152
232
200
253
351
235
157
207
216
262
200
254
216
309
214
173
221
250
266
252
245
160
198
254
282
210
208
232
286
203
174
254
218
207
176
231
246
288
156
227
235
283
226
234
130
195
174
205
315
218
252
251
279
218
212
160
247
305
203
158
218
294
198
267
277
277
208
247
287
219
215
264
174
180
244
282
182
249
179
159
232
180
196
248
209
156
233
264
284
219
246
173
301
236
246
241
148
259
231
253
206
241
206
200
217
144
255
270
208
253
252
159
225
214
229
253
264
295
232
199
226
296
208
260
162
239
257
160
296
189
114
281
251
213
224
223
234
198
204
237
186
250
187
253
279
193
201
238
203
267
256
258
148
260
245
211
259
194
261
228
178
227
197
250
173
288
180
243
214
174
200
172
238
255
279
223
128
211
183
283
192
206
171
274
227
240
144
238
318
184
251
222
186
255
225
203
274
192
213
222
180
219
257
174
214
251
126
201
283
251
198
216
213
260
226
235
256
316
190
267
308
313
173
166
126
211
300
176
237
300
251
268
289
190
184
221
227
184
198
192
218
213
223
238
210
248
249
206
256
251
297
222
145
227
252
207
290
243
230
342
240
257
195
258
226
308
191
195
189
267
181
222
208
221
240
294
203
231
320
213
289
191
289
214
216
164
205
169
160
196
169
258
114
260
314
264
192
221
268
260
258
263
241
240
213
275
198
232
210
283
233
233
229
225
285
181
181
280
204
241
307
239
197
108
220
255
243
236
192
198
271
239
162
268
219
192
228
219
252
199
165
202
229
216
211
218
257
237
245
239
185
172
178
246
240
321
235
325
156
352
254
240
278
308
272
218
212
227
181
242
239
139
227
179
209
280
258
284
245
188
355
180
240
249
225
211
250
179
240
223
312
220
209
243
250
281
178
257
165
188
234
193
207
245
233
257
256
184
209
236
253
247
195
195
240
190
156
208
250
283
161
188
279
234
180
265
175
217
239
225
185
281
192
293
237
147
213
228
114
253
247
128
267
164
198
185
257
229
156
260
242
215
240
170
214
223
167
223
226
255
195
280
202
160
198
201
196
180
234
273
273
114
302
198
265
201
228
195
214
199
242
246
224
227
290
237
311
277
235
197
192
203
165
285
268
221
188
196
205
265
219
299
252
240
207
260
159
231
173
149
194
205
296
271
265
206
252
251
282
299
288
213
151
184
186
259
250
222
240
151
218
211
235
195
162
198
291
240
178
286
240
208
231
269
228
248
212
191
314
308
240
299
300
200
165
248
229
165
275
149
278
299
178
204
198
238
185
282
171
235
292
233
200
209
220
161
275
179
185
230
174
180
248
129
303
232
173
266
144
245
230
227
243
151
190
162
227
219
212
213
247
206
174
246
205
269
254
283
205
240
238
263
176
245
205
200
152
193
235
222
209
347
170
328
294
170
250
340
299
323
247
225
192
179
251
216
178
334
307
162
217
225
258
215
264
206
225
184
199
211
152
186
204
201
202
182
232
204
160
209
257
209
190
202
211
237
151
194
201
194
225
363
174
236
237
211
253
212
236
152
145
245
215
233
188
273
155
214
224
228
224
225
185
292
126
270
274
318
257
156
201
159
238
220
155
201
251
223
278
201
169
218
192
169
213
284
190
114
247
240
214
188
346
285
169
211
198
271
208
189
213
214
252
231
195
239
234
180
190
372
236
223
181
273
154
191
178
395
116
213
261
245
260
225
224
220
236
237
230
178
265
198
269
148
300
194
207
193
261
239
150
222
180
285
258
291
261
249
224
300
168
278
172
249
245
209
211
269
221
219
263
251
264
223
266
239
313
217
275
188
197
262
253
242
239
209
305
191
298
299
217
226
198
280
279
307
217
254
218
192
170
182
160
235
262
282
243
139
293
281
236
302
174
278
230
188
285
205
245
193
203
213
218
209
228
206
207
317
208
218
262
239
222
170
205
244
255
251
176
257
274
208
274
171
198
291
195
244
299
186
241
240
176
210
243
198
290
241
229
212
238
278
269
228
270
168
190
191
214
210
226
318
269
129
146
233
221
212
223
263
174
174
205
114
268
309
195
358
235
290
249
264
262
207
174
155
168
174
249
215
223
174
214
224
275
217
182
276
170
216
222
223
223
245
203
299
283
145
239
189
251
159
218
152
271
182
241
233
248
235
278
240
139
204
262
201
208
251
203
258
233
166
219
202
244
213
222
284
266
186
251
223
214
218
265
197
145
229
121
192
282
186
222
213
270
224
210
211
284
116
214
266
155
247
302
216
216
267
232
180
250
145
178
284
219
173
218
168
210
233
297
181
185
207
211
230
222
237
246
325
302
250
226
208
225
356
318
213
324
382
196
217
255
204
324
176
197
221
174
265
280
222
215
160
223
185
249
218
157
178
114
249
130
195
170
246
223
236
190
160
206
216
191
174
214
219
228
114
255
199
226
145
269
180
212
263
194
194
281
224
199
161
255
275
246
160
184
237
232
344
166
212
208
289
211
248
237
270
179
270
246
278
238
143
114
268
223
207
151
175
232
226
179
214
282
177
139
237
264
253
191
286
227
243
192
200
226
211
175
209
263
180
283
198
300
257
221
198
239
173
178
249
248
245
212
257
233
336
316
244
173
223
166
173
231
315
242
239
256
204
238
254
241
324
269
225
268
213
249
249
257
283
164
277
225
213
224
256
227
209
213
246
275
299
215
290
290
218
365
207
219
175
178
228
304
238
242
149
139
246
207
267
244
191
220
260
192
291
271
223
244
204
135
192
262
259
160
316
187
212
313
216
196
218
114
189
114
219
257
222
233
251
286
277
246
229
192
145
253
327
224
209
255
164
160
237
165
195
207
214
170
168
204
235
207
206
233
198
145
270
223
193
146
214
224
258
185
222
222
180
334
181
196
153
204
214
264
187
209
263
319
265
259
224
270
114
152
245
173
200
191
230
240
223
214
200
108
182
263
255
358
212
130
282
258
197
268
231
173
193
271
171
215
339
151
200
287
227
173
173
329
214
255
189
209
203
281
207
278
205
184
182
162
314
263
261
227
179
230
215
203
191
202
229
177
291
241
291
207
203
250
188
274
250
246
171
222
304
233
236
139
209
266
130
189
335
114
129
229
209
197
226
237
249
176
133
291
199
232
257
231
265
250
208
130
233
193
353
282
237
268
191
192
178
219
126
156
227
299
329
279
183
206
283
224
279
237
225
148
187
200
244
234
251
239
236
221
221
285
246
242
248
247
287
216
114
169
229
259
210
268
227
304
235
211
192
260
208
331
317
267
211
180
232
195
197
205
167
194
295
185
194
274
185
193
216
225
168
268
248
271
190
250
190
263
250
185
286
178
194
276
197
187
298
222
232
198
171
151
237
247
217
242
218
286
195
285
182
148
282
188
231
154
315
281
211
185
184
235
180
230
240
180
236
182
175
242
257
249
176
206
207
229
297
160
114
233
126
182
266
219
259
211
276
275
158
205
269
164
181
228
206
244
310
246
177
233
254
215
167
229
239
211
235
237
199
258
188
303
218
192
202
234
236
227
252
230
153
275
114
225
320
180
308
202
165
163
237
225
274
205
156
204
234
202
272
211
261
206
186
324
184
220
195
148
239
280
173
251
177
195
190
189
230
239
253
296
197
215
226
274
253
261
258
176
232
177
192
146
154
257
194
175
193
197
231
222
175
201
212
195
188
356
207
211
221
200
198
157
180
300
225
258
207
233
210
253
166
166
167
272
167
204
234
181
297
230
237
201
217
261
256
255
245
252
309
188
223
212
201
358
289
230
178
238
174
247
206
231
264
245
176
154
199
276
204
236
230
288
276
173
238
293
271
249
156
249
272
173
192
217
180
265
114
235
253
299
190
252
241
252
238
257
288
204
248
196
226
160
207
291
262
249
272
194
277
160
270
214
180
256
172
266
294
219
237
295
275
317
282
205
186
167
302
262
184
214
215
204
190
277
219
170
241
252
192
212
224
222
233
311
219
207
202
245
148
229
203
238
233
198
271
210
252
288
289
208
288
200
146
234
198
279
228
218
157
255
234
248
283
149
259
213
200
200
153
240
235
223
236
277
238
216
222
178
225
184
172
277
208
184
176
340
288
286
215
246
234
282
158
259
209
258
231
267
202
193
243
300
194
293
215
217
158
160
171
211
187
209
205
158
238
234
156
247
160
151
291
198
280
188
203
164
250
226
139
193
206
300
171
151
314
198
268
222
286
274
224
126
216
211
189
208
184
275
273
293
206
278
289
190
191
152
234
271
238
170
178
202
250
158
341
264
209
167
194
212
250
229
233
226
234
288
217
217
247
220
129
306
305
211
210
175
280
243
221
228
198
199
239
231
261
159
272
181
213
251
157
210
277
233
257
262
203
149
242
217
231
288
178
214
225
209
294
217
178
267
234
289
268
208
241
201
280
214
106
225
229
208
252
200
272
236
229
278
189
267
234
352
173
207
175
198
300
181
174
271
257
218
203
246
230
222
212
236
134
258
173
325
164
191
327
270
233
180
173
205
250
222
196
282
249
312
151
214
204
256
186
230
252
173
352
177
170
228
146
175
223
207
177
191
181
225
199
265
270
114
213
228
239
239
242
199
184
279
198
236
184
165
234
187
223
231
201
303
146
186
257
228
264
205
279
182
217
270
179
193
279
218
229
212
256
245
169
216
219
322
179
313
217
266
190
250
210
260
281
280
259
236
261
263
285
256
257
178
213
254
222
280
233
242
206
250
317
250
253
255
225
215
188
251
244
189
151
189
272
240
160
253
244
232
273
265
217
272
165
246
160
202
259
226
252
266
214
188
307
212
129
209
261
291
140
270
254
202
249
280
241
267
218
242
178
178
240
306
218
226
236
252
300
247
160
241
242
253
260
216
200
208
263
200
208
263
222
186
235
251
250
207
255
179
175
197
232
252
282
233
266
213
218
251
293
236
243
186
293
285
233
225
185
159
278
252
193
253
247
282
265
258
280
242
227
235
204
219
223
205
331
170
234
197
172
200
266
265
208
315
173
211
270
245
223
221
261
282
327
231
234
250
279
215
157
239
290
204
294
195
248
259
179
296
166
260
200
206
215
194
147
188
248
245
242
248
239
114
174
207
180
168
286
240
196
216
225
270
148
269
160
228
174
183
147
225
126
214
252
227
309
212
309
222
116
301
190
208
231
246
247
199
178
243
170
239
264
207
258
153
177
259
235
195
249
232
288
238
186
213
146
176
266
172
191
231
176
255
153
222
273
253
245
271
179
199
209
306
245
218
231
169
306
309
289
276
335
161
224
204
313
213
188
155
178
216
188
222
222
151
296
195
190
222
321
285
172
224
199
277
243
234
257
234
222
261
178
249
225
220
255
212
241
293
168
201
191
250
305
262
214
246
228
258
267
227
114
253
217
289
369
170
198
152
234
223
285
225
237
223
244
272
230
227
217
256
198
213
192
254
198
309
221
264
229
233
114
199
234
189
212
182
177
165
176
152
245
226
192
232
222
231
215
222
114
248
243
232
198
244
181
175
208
215
230
313
185
235
170
211
181
200
208
218
293
255
235
254
240
195
166
206
244
320
235
198
194
175
229
220
265
188
213
203
239
278
177
253
190
161
236
244
168
255
244
222
331
210
264
170
178
234
318
167
152
152
238
203
252
250
234
208
180
160
198
174
194
231
202
195
217
287
266
161
242
290
222
222
156
332
182
303
175
238
244
290
114
239
220
261
237
216
187
219
347
230
306
235
263
209
255
200
220
174
206
195
192
235
177
227
269
235
211
284
222
274
248
284
163
252
289
283
274
227
282
198
310
279
242
250
229
180
255
114
232
206
259
209
206
210
220
174
144
211
145
191
263
181
208
188
160
192
176
258
193
228
177
207
212
255
224
114
258
285
273
193
257
250
228
308
184
263
265
206
255
238
212
152
253
190
219
169
247
200
220
210
208
197
266
214
207
249
278
285
197
199
246
198
256
249
188
262
252
296
259
259
176
248
216
287
178
271
298
202
227
194
258
276
251
323
193
245
156
251
180
229
217
223
250
152
251
128
248
162
238
237
263
202
316
305
263
183
183
294
245
284
166
250
242
262
213
291
386
255
222
192
217
276
169
182
174
250
258
208
199
173
222
262
187
228
259
168
178
222
215
222
198
126
226
242
186
267
213
239
290
189
218
262
222
288
289
114
308
157
203
220
206
188
259
263
260
224
188
284
206
238
225
187
305
261
239
239
214
239
178
214
341
276
170
114
195
175
250
204
258
275
285
209
212
221
271
160
265
264
334
265
260
292
229
307
216
236
335
203
160
241
219
178
222
246
214
241
255
208
208
191
219
263
267
347
233
202
220
161
191
269
161
174
196
218
225
261
305
186
229
168
234
254
152
308
213
226
233
220
237
300
294
234
157
271
311
252
215
145
186
170
198
251
208
300
210
192
196
173
211
253
195
247
313
177
240
265
269
238
259
301
249
209
181
253
205
244
232
167
220
139
114
228
247
233
158
279
164
207
210
222
270
174
208
264
216
171
174
210
178
228
280
167
288
168
246
218
260
235
355
254
218
173
149
232
256
215
269
278
315
216
243
270
152
211
257
253
186
222
183
203
274
182
219
207
189
265
144
211
292
198
156
225
331
243
186
230
210
228
243
151
197
257
163
247
293
211
240
207
226
191
161
260
188
211
353
235
180
252
242
244
244
323
194
319
274
208
198
228
248
211
281
184
195
218
257
195
205
258
253
261
271
228
232
241
280
215
114
257
202
243
222
257
261
295
242
187
232
224
226
231
192
224
243
198
166
221
198
301
178
189
235
237
257
242
216
174
188
160
216
246
195
241
281
203
289
232
235
220
211
180
151
241
194
293
195
283
198
340
209
215
227
166
228
279
176
175
183
224
299
259
151
196
210
214
114
300
199
253
323
270
205
232
215
191
236
281
290
248
246
221
245
225
178
192
292
263
280
201
305
233
177
275
286
220
189
268
260
220
303
168
242
175
226
166
275
231
179
199
261
264
217
222
194
257
210
253
152
225
241
195
225
248
248
198
266
258
180
358
281
147
178
245
231
242
251
233
257
260
264
206
168
236
174
280
201
238
258
192
225
208
253
228
211
274
164
183
251
237
245
236
334
216
264
242
209
185
218
221
252
209
211
250
187
193
213
242
152
228
164
377
235
166
175
286
313
177
178
198
334
230
247
229
272
217
263
218
275
229
237
198
290
186
222
222
162
196
234
208
222
245
217
214
244
296
256
203
186
194
291
176
263
194
289
209
261
173
182
147
213
279
220
236
209
189
189
221
264
194
207
269
230
213
228
283
174
301
271
232
304
241
181
197
267
226
224
168
255
254
219
252
205
213
249
214
236
174
301
225
166
274
222
207
133
175
195
198
229
345
261
154
263
233
175
281
278
202
272
174
309
206
197
218
269
214
135
241
258
208
207
269
156
225
247
209
266
238
126
339
188
212
218
238
261
200
198
250
204
133
240
241
242
240
246
201
240
268
309
219
243
257
197
271
202
295
183
222
287
128
254
212
215
247
257
222
218
148
238
266
253
214
178
320
207
144
255
212
190
184
210
156
220
213
261
278
220
227
259
189
266
209
221
209
187
221
253
247
220
243
133
190
288
196
315
288
168
184
226
209
171
169
237
116
184
229
223
203
166
199
170
181
209
230
214
217
279
240
183
144
242
285
148
145
255
257
241
307
226
236
205
223
202
246
309
152
152
191
278
301
209
271
319
178
214
201
228
166
242
215
151
114
253
209
225
205
237
114
206
215
232
181
207
114
280
161
228
250
239
177
215
170
156
181
232
159
173
321
175
253
261
318
249
265
190
316
180
198
288
191
201
200
205
223
243
276
149
297
173
240
276
272
145
148
114
272
166
220
215
232
234
294
185
169
184
220
218
106
275
269
200
218
215
233
204
206
172
244
126
130
219
257
213
236
173
162
245
208
215
250
176
227
248
270
206
192
189
317
221
281
238
265
194
231
201
224
175
207
151
260
240
192
212
247
240
206
144
198
212
247
203
274
263
234
286
198
214
161
303
264
226
222
271
229
247
195
227
276
260
198
179
165
282
204
179
229
195
215
213
222
217
151
220
114
207
159
193
231
157
242
262
207
279
270
228
218
203
208
219
233
201
269
182
198
212
254
244
259
174
224
208
194
276
238
168
218
197
213
156
292
239
235
225
158
197
282
250
198
178
265
255
286
229
242
261
202
227
328
240
271
224
227
229
233
187
221
229
292
245
202
184
252
195
258
126
154
203
203
166
296
233
175
160
275
244
226
176
174
228
265
214
333
149
214
239
238
273
190
211
201
173
196
210
231
250
264
175
189
229
239
244
234
230
210
195
178
272
162
216
252
147
188
242
178
254
193
333
239
248
228
232
208
208
170
263
243
267
176
194
264
175
226
184
223
205
234
334
271
217
126
217
179
236
176
154
224
235
251
213
276
238
223
205
225
206
210
192
206
174
223
251
157
306
185
231
186
226
251
231
278
152
227
147
299
228
283
266
225
230
295
232
287
160
146
238
262
216
212
180
292
211
195
197
250
140
198
246
221
114
213
210
265
294
170
183
252
235
279
242
188
147
178
212
227
237
158
174
183
233
201
199
178
285
126
244
165
164
232
233
209
204
194
181
166
188
237
169
198
247
228
225
219
126
227
207
248
260
197
225
234
242
221
217
225
249
222
214
270
233
139
230
261
251
248
203
177
185
241
245
214
230
190
225
320
189
278
206
240
258
145
192
241
269
346
254
161
231
317
262
252
274
183
251
263
251
222
261
211
256
324
149
279
262
214
220
147
267
292
309
210
180
258
239
160
332
219
241
185
296
169
237
220
219
222
222
246
214
243
273
242
288
199
201
272
206
281
231
220
234
245
190
192
233
220
281
189
158
261
218
160
225
214
243
160
167
205
165
263
269
218
195
186
237
225
245
353
252
206
219
225
189
179
334
114
281
194
229
297
201
225
269
126
236
250
264
247
218
208
224
229
180
222
245
220
299
194
222
184
296
175
179
207
221
222
259
279
286
255
216
264
258
278
199
180
122
358
238
224
233
219
284
251
217
238
212
139
219
191
211
151
277
247
271
228
254
230
223
194
208
218
214
161
181
210
315
253
257
219
209
229
201
209
267
235
248
203
156
184
237
195
295
247
247
252
147
209
261
255
236
283
325
134
207
271
155
244
215
174
257
242
203
238
205
190
169
264
193
289
272
205
288
219
197
239
257
264
290
207
210
184
165
147
186
213
265
161
220
228
192
186
198
214
303
201
170
162
181
255
293
290
252
129
238
304
254
116
154
214
268
154
235
186
198
198
214
267
273
272
168
180
235
202
232
316
215
273
294
293
273
250
256
182
237
313
253
114
221
262
205
254
217
189
262
187
179
195
293
215
272
174
212
187
284
154
251
213
268
229
217
310
278
178
189
211
130
251
224
178
202
281
286
164
231
166
183
217
196
237
232
189
222
196
227
173
258
294
224
139
377
179
267
214
257
222
216
303
165
174
203
304
126
244
243
190
116
259
116
162
200
196
232
251
197
189
191
226
264
230
253
201
161
251
206
207
249
235
148
230
139
231
274
228
234
169
166
328
228
297
313
244
220
274
268
108
301
264
250
170
218
245
194
171
251
240
172
232
254
173
282
252
308
236
178
289
292
268
152
220
211
250
251
225
270
273
266
242
205
160
175
192
273
250
164
242
225
280
235
280
208
193
270
185
207
263
237
241
148
175
246
214
238
252
196
175
192
223
226
139
230
282
170
296
251
270
224
194
172
252
176
167
207
218
221
218
219
193
163
231
275
248
220
164
290
192
242
202
189
219
231
291
179
247
312
251
176
202
222
208
280
188
231
211
186
220
266
169
253
270
279
273
179
214
275
200
180
180
169
299
236
198
198
267
251
297
354
239
150
181
242
274
226
237
242
207
210
184
244
216
270
277
184
192
242
283
176
163
287
200
252
215
252
230
268
233
201
252
194
220
160
173
275
156
215
285
166
175
281
162
205
238
184
194
187
257
272
239
167
189
225
283
236
260
212
254
199
265
152
191
167
254
167
108
303
231
168
245
264
197
145
244
196
227
257
295
227
243
310
181
246
255
243
248
199
207
222
288
264
232
151
198
217
170
280
256
126
170
268
258
239
269
233
160
265
153
288
157
278
201
263
233
195
289
301
245
237
156
178
224
190
229
260
231
183
211
250
227
242
239
158
184
211
234
227
166
218
280
189
267
223
214
253
222
183
222
301
205
244
166
170
269
246
214
219
217
242
251
220
217
194
255
162
264
205
263
171
190
258
279
171
251
224
209
243
181
273
202
304
317
256
199
293
233
275
249
259
239
277
312
214
252
179
157
212
186
255
231
254
270
149
266
252
194
232
351
229
179
209
245
219
176
299
202
212
213
350
239
209
201
187
314
292
196
198
249
144
227
262
184
232
276
242
226
274
151
245
148
198
327
200
253
173
249
178
258
158
213
202
223
243
321
126
174
126
289
226
248
230
261
191
146
254
215
260
255
250
197
285
281
229
227
184
264
133
233
268
299
259
214
149
209
287
126
254
174
242
194
250
227
239
269
206
265
242
225
238
195
207
204
158
114
192
202
218
152
230
246
209
220
209
106
218
190
116
214
173
203
233
246
178
237
231
249
181
169
239
222
236
139
152
203
220
176
255
293
176
185
333
244
260
246
198
190
191
249
227
246
206
295
297
341
239
114
195
287
207
274
229
158
130
217
248
211
221
168
184
186
230
189
232
198
296
243
190
160
238
195
333
266
114
233
225
198
222
240
263
200
336
320
201
222
277
269
229
253
284
129
252
291
207
170
198
205
298
212
209
236
281
195
316
215
203
255
178
178
188
222
240
239
253
227
218
180
259
242
234
272
227
257
210
215
214
238
260
218
241
240
209
225
292
286
232
220
170
320
237
343
209
187
166
282
170
189
209
221
212
219
160
253
183
201
159
214
244
246
270
203
227
228
201
179
287
320
239
236
297
264
268
265
208
224
209
220
156
312
353
243
231
189
252
224
219
198
287
241
114
260
191
194
198
229
289
192
145
194
216
214
165
277
223
225
195
178
198
210
171
252
219
218
204
240
217
178
219
214
191
185
181
222
235
162
224
141
275
202
218
244
292
213
257
273
160
172
160
185
190
186
180
268
178
179
218
225
199
255
178
285
307
223
304
198
230
252
255
181
210
244
197
201
188
288
286
183
224
221
166
266
290
176
264
191
245
201
265
219
261
223
169
199
206
298
153
264
214
255
158
207
218
114
233
184
177
222
211
234
222
198
206
229
304
231
219
191
299
181
126
227
133
289
200
242
229
271
204
249
225
272
193
227
208
262
194
230
260
262
223
241
313
247
281
284
181
175
207
181
354
263
177
239
207
198
305
241
242
208
250
230
211
203
181
276
227
264
232
355
116
274
227
264
145
130
309
212
160
283
183
190
249
114
157
232
162
220
164
198
287
209
220
301
279
187
309
268
222
346
309
250
214
220
209
263
232
168
272
252
264
200
222
196
260
174
251
219
264
237
277
305
185
251
226
276
240
215
234
213
241
224
198
226
242
240
207
252
222
170
246
234
228
146
228
285
180
175
179
287
206
232
270
200
216
220
208
210
234
270
216
234
235
139
354
286
242
228
202
197
196
297
232
308
158
197
209
216
306
139
193
159
343
238
216
175
302
193
178
282
328
270
296
249
242
193
179
244
246
184
263
221
261
234
196
223
237
209
333
258
193
189
200
251
241
188
260
239
258
247
233
198
217
205
245
222
246
202
253
225
229
282
235
242
250
202
271
259
289
166
270
321
249
271
205
129
237
235
226
295
267
203
232
198
304
265
193
129
175
218
277
210
299
204
173
256
222
296
217
227
189
214
267
225
210
193
151
181
213
151
224
182
250
190
273
211
191
226
196
175
244
152
175
196
275
158
168
290
165
244
210
237
254
216
214
179
218
228
266
215
225
293
209
229
198
218
277
261
226
163
240
198
205
256
186
173
232
245
284
175
149
306
238
284
203
248
253
307
235
217
211
162
212
170
291
266
213
184
230
178
185
249
198
173
180
152
277
283
277
270
243
156
191
220
233
210
244
239
244
223
182
224
290
181
227
189
146
184
279
231
224
159
228
282
210
171
235
259
206
263
264
234
300
187
181
202
212
219
205
215
227
257
254
205
242
244
271
229
277
338
198
281
248
259
209
252
238
243
188
130
210
243
217
169
285
219
278
178
187
245
237
230
114
243
241
243
214
278
166
209
212
220
195
224
207
142
248
178
154
250
205
249
161
165
214
232
243
219
276
217
287
285
201
252
162
190
223
303
264
225
225
258
145
249
179
239
300
290
227
240
184
206
162
147
213
337
229
178
270
211
248
214
287
247
240
175
206
256
169
174
250
287
198
226
263
205
269
285
231
285
221
249
217
243
179
235
220
188
216
200
231
234
217
200
262
233
289
171
199
149
191
168
234
233
176
270
171
234
219
184
237
175
272
281
257
282
139
189
304
307
161
192
241
195
271
338
223
258
245
215
139
144
200
195
254
175
290
238
183
212
188
237
257
200
165
175
208
239
209
225
266
160
228
195
255
261
205
294
228
254
227
262
245
262
237
159
229
164
212
208
263
221
221
321
187
188
250
156
178
220
178
265
174
261
295
237
251
189
236
201
160
211
296
169
258
222
129
173
155
237
305
266
263
268
196
173
184
235
197
271
212
195
209
252
108
200
233
262
211
217
189
209
353
250
167
223
225
181
308
242
166
191
206
253
223
200
266
183
184
233
213
282
194
222
215
174
221
228
223
209
231
283
260
240
181
221
182
279
252
202
167
262
252
233
194
273
310
258
211
179
181
244
114
194
247
194
180
233
198
220
209
324
171
169
334
205
208
314
253
114
169
294
275
253
248
212
296
244
262
230
228
218
116
254
186
206
181
163
180
160
237
244
222
276
253
238
241
260
245
297
235
245
260
269
227
174
178
155
223
256
253
139
182
277
174
215
239
279
228
196
252
145
257
229
152
246
288
236
181
231
273
208
271
217
196
290
266
198
202
221
240
214
287
236
145
196
219
280
252
240
257
255
254
239
238
174
225
256
168
201
302
219
172
260
278
180
205
168
175
259
162
171
279
256
189
260
247
264
182
288
202
286
278
225
144
218
282
145
231
272
178
260
221
221
183
285
218
192
234
114
203
268
185
255
210
260
250
181
207
226
274
297
265
215
184
288
281
209
311
206
202
247
220
163
207
299
189
258
184
197
217
200
221
254
288
148
237
214
175
339
145
232
244
243
200
178
229
258
198
148
153
220
193
141
174
153
275
327
241
247
269
251
114
297
231
256
170
196
156
232
295
273
212
236
224
244
241
198
162
171
153
265
241
277
239
280
216
268
222
214
272
231
232
335
184
219
221
251
186
335
275
237
266
244
228
260
169
260
217
170
220
257
202
306
216
289
228
211
278
217
244
207
262
161
285
243
268
188
234
335
157
252
219
275
298
214
249
161
240
197
296
139
284
254
198
188
305
248
212
208
195
195
327
228
217
221
274
264
176
233
238
264
180
273
234
241
267
260
229
199
198
204
240
197
258
219
272
162
224
307
233
207
225
235
252
203
216
266
262
205
240
273
273
185
214
145
171
197
278
284
237
298
175
114
255
164
221
263
247
231
210
177
234
160
318
245
290
222
224
239
291
258
178
165
224
154
240
207
200
279
264
246
207
234
290
231
235
269
214
207
211
196
291
225
207
237
278
129
233
221
192
245
214
281
233
191
212
237
230
234
114
302
225
230
212
250
212
245
260
287
249
212
266
154
278
114
234
288
246
114
166
195
201
203
233
262
400
235
203
171
162
217
175
320
163
229
225
202
203
146
290
121
228
177
114
215
294
193
250
233
151
214
243
116
265
235
232
193
273
277
284
221
248
217
193
281
226
116
170
185
231
267
281
126
170
184
207
243
151
245
203
230
281
106
166
225
191
238
126
262
203
199
152
190
255
262
312
204
213
201
261
183
221
164
235
173
191
183
285
254
219
231
133
208
212
248
222
242
251
226
213
233
195
266
266
237
182
235
200
255
200
247
224
269
214
314
213
238
235
266
198
174
242
241
261
265
281
156
182
279
178
270
178
271
250
177
224
300
227
166
272
284
297
190
260
236
198
266
116
209
154
212
174
193
235
228
218
295
160
179
126
242
196
166
278
325
161
245
178
326
201
297
223
246
246
168
271
141
249
272
230
301
210
213
377
219
214
212
196
214
278
277
166
257
227
296
175
228
287
257
247
249
212
207
256
213
237
200
214
210
270
130
184
216
214
160
264
114
204
275
266
160
247
204
229
203
211
209
202
252
219
238
240
383
193
114
168
208
316
209
160
273
213
146
261
213
130
248
239
126
291
208
287
173
222
220
214
241
219
205
222
198
225
219
254
283
222
214
255
305
267
239
192
228
165
267
227
306
188
148
306
200
272
313
160
243
180
218
195
184
299
196
232
129
166
205
263
330
173
234
207
301
243
231
209
192
152
306
222
203
205
226
168
269
270
174
216
221
348
297
139
158
173
273
172
220
301
234
247
178
291
243
192
156
156
226
278
169
235
244
139
244
114
147
220
218
308
294
295
225
218
253
190
224
247
224
375
234
197
156
302
251
238
178
245
149
228
202
238
232
201
314
195
179
218
275
235
208
244
260
213
287
259
187
186
148
223
231
178
160
173
178
274
169
223
258
289
198
178
271
200
176
247
260
259
229
203
249
291
172
242
256
213
192
171
225
270
187
206
222
172
226
145
300
203
225
261
253
197
243
211
286
262
191
300
179
162
160
221
278
208
191
243
220
200
145
205
242
226
231
226
212
243
218
234
187
236
225
154
225
192
186
228
194
249
199
233
241
215
192
226
161
243
163
239
198
179
177
294
170
267
342
170
231
245
258
160
208
240
221
275
231
215
242
262
205
216
214
257
152
262
152
210
176
286
244
272
213
114
221
192
161
220
164
227
232
126
234
225
268
225
168
228
169
276
247
274
174
281
173
253
166
285
108
237
208
246
199
114
238
261
233
230
262
184
275
229
304
222
239
256
235
268
180
192
198
193
202
258
228
225
203
153
174
194
219
211
258
285
173
335
230
190
231
177
306
243
214
203
245
218
189
249
258
243
227
218
254
238
290
309
154
209
256
249
281
305
179
254
267
199
217
211
243
180
237
223
236
162
301
250
202
203
204
161
194
160
265
253
248
245
221
232
195
230
108
257
228
182
166
195
225
209
282
199
285
139
184
200
209
258
250
200
174
276
175
234
220
181
258
206
219
197
206
242
259
205
174
204
173
232
207
245
187
225
198
221
208
259
174
278
313
238
225
252
261
220
301
190
151
195
249
195
252
206
234
224
219
214
260
210
235
224
253
210
205
155
241
204
170
162
267
273
272
186
168
179
236
250
165
205
211
229
243
201
285
151
290
211
168
202
251
250
283
285
184
240
234
129
231
206
246
207
208
330
245
258
261
208
323
225
243
277
251
226
156
217
276
235
222
234
243
230
191
266
248
235
279
219
204
234
249
197
205
217
234
249
208
303
149
205
230
252
252
191
295
258
192
222
187
182
160
222
218
158
276
126
233
279
242
184
146
279
262
244
186
114
224
266
273
228
157
222
221
257
283
212
200
208
232
252
214
204
309
334
265
176
194
207
259
246
278
231
170
146
174
257
255
289
173
288
189
237
251
233
237
175
284
236
189
210
338
202
205
168
237
202
203
263
250
195
207
162
210
253
285
273
203
198
236
185
238
252
206
233
261
271
230
173
234
243
219
261
247
213
214
201
242
185
312
227
351
255
187
316
302
243
178
272
259
167
200
273
296
180
259
281
276
199
211
233
181
152
154
174
136
234
221
300
235
218
161
225
213
243
220
210
256
235
198
282
221
210
213
266
232
204
241
211
164
139
287
199
188
175
225
187
168
203
273
221
354
240
228
278
191
260
171
173
232
181
191
198
245
241
179
229
185
272
194
202
250
240
230
160
246
199
231
198
245
220
156
212
282
202
245
201
203
270
216
225
133
204
116
223
225
214
250
155
241
181
251
189
247
202
243
152
247
225
356
160
243
251
182
251
207
173
233
250
286
231
244
244
253
299
262
208
221
149
257
187
247
210
193
222
228
272
181
259
232
268
196
209
269
257
189
280
260
126
318
235
243
290
172
145
239
241
216
292
227
203
126
298
192
114
207
156
220
200
185
225
286
269
154
288
201
266
192
207
199
197
171
254
249
231
237
232
250
264
180
191
226
259
276
171
255
249
213
256
275
251
188
298
196
183
254
209
230
178
178
241
246
206
148
252
172
180
284
252
158
225
276
224
279
279
264
232
116
219
233
224
207
257
230
292
195
267
164
190
314
180
255
295
260
161
249
206
237
194
166
183
295
116
160
208
244
243
218
194
249
241
234
174
201
174
214
240
236
191
240
263
270
267
188
274
235
130
255
237
231
175
282
235
236
228
296
200
237
255
256
198
221
279
250
259
270
208
233
186
199
159
156
160
277
223
160
255
277
370
219
202
216
216
201
229
189
244
192
217
257
156
228
257
244
247
152
217
178
246
207
186
207
222
179
170
188
352
207
213
315
214
214
234
205
247
277
235
242
190
241
209
208
193
225
208
235
257
249
178
227
253
165
297
257
269
295
235
249
270
232
212
198
224
222
239
165
291
196
235
282
160
236
206
177
215
237
173
249
228
276
193
270
196
206
223
245
176
222
308
210
180
200
190
227
222
185
262
246
200
255
200
174
222
233
229
114
311
183
203
191
235
189
225
341
183
290
250
205
280
280
219
214
227
178
200
245
232
170
214
169
187
218
203
138
146
247
174
175
156
139
216
285
260
196
281
241
216
190
199
161
309
180
114
191
271
192
257
204
184
151
292
288
264
197
215
226
187
189
269
220
169
276
276
246
191
265
211
250
173
192
224
183
257
205
236
229
260
192
173
222
219
179
256
282
128
215
250
255
220
201
242
219
240
321
268
230
226
195
297
225
311
243
255
209
194
163
270
222
240
315
264
226
240
209
200
232
164
228
192
280
242
175
188
226
179
251
283
244
233
184
232
236
246
206
248
178
108
341
183
258
270
203
238
174
203
158
252
170
244
282
285
241
170
108
240
309
233
238
244
206
269
244
294
169
284
254
198
222
215
266
254
238
202
236
325
214
225
294
184
224
183
213
210
222
198
200
223
151
205
114
289
245
249
241
197
181
161
206
156
114
227
222
209
322
206
287
234
227
186
251
126
241
149
248
307
282
139
246
317
297
202
106
220
290
207
235
208
212
209
212
171
314
247
232
267
126
203
189
321
206
166
252
311
170
235
274
191
227
190
228
217
213
223
183
237
221
189
221
212
219
162
228
271
279
208
246
238
172
334
235
183
260
299
218
213
245
217
223
206
267
283
173
191
240
209
218
196
264
193
247
194
175
233
246
273
200
221
248
121
155
272
191
195
308
223
199
165
286
208
181
191
226
238
255
210
239
114
261
248
235
209
226
229
274
224
315
215
139
200
177
219
248
225
224
172
231
198
215
205
235
241
274
244
259
227
208
287
217
282
250
114
234
203
186
207
335
268
319
289
227
239
170
214
145
240
242
152
238
182
217
206
244
289
316
233
236
296
177
165
293
212
228
208
325
321
210
169
253
232
228
145
311
151
235
226
195
209
193
333
263
206
235
232
191
250
201
219
287
198
249
204
293
173
179
321
195
116
151
307
224
265
195
194
215
218
270
203
197
151
289
196
184
279
198
274
206
239
214
210
247
225
209
281
179
180
251
259
182
212
290
284
276
122
328
231
281
130
218
197
232
202
194
222
234
216
181
196
205
246
265
163
233
194
266
214
255
278
257
221
186
225
172
129
181
186
145
195
240
146
206
208
178
229
154
219
214
269
185
227
254
217
294
178
223
257
208
216
205
235
180
208
240
219
236
251
244
218
243
178
144
197
196
317
218
216
227
215
216
280
208
174
196
191
196
231
257
204
208
180
198
246
174
228
255
218
224
251
224
175
204
251
260
278
160
272
188
258
241
242
252
288
177
323
250
201
245
195
260
200
224
225
217
228
182
236
239
216
213
205
166
251
184
195
173
294
144
274
169
156
255
238
186
262
145
229
258
263
231
275
148
234
194
154
221
232
225
245
209
186
246
199
181
178
211
261
256
229
297
238
175
171
246
329
299
194
224
152
237
229
170
278
162
174
263
279
173
261
200
208
229
226
227
197
254
126
147
300
276
316
145
180
221
177
188
158
191
171
151
218
235
204
198
307
255
243
258
194
182
214
274
240
233
238
288
211
203
193
230
256
172
272
285
153
156
220
243
245
235
184
258
235
284
303
270
247
225
242
199
148
308
220
197
266
210
240
217
176
189
242
247
234
243
183
208
236
274
355
228
235
311
296
160
259
177
196
207
158
231
116
291
256
231
193
223
210
265
235
236
248
114
201
271
191
294
231
223
283
250
253
284
227
274
217
181
251
263
267
230
276
230
206
254
193
211
229
229
202
240
300
205
226
252
251
186
362
202
174
244
170
196
197
147
210
276
224
233
284
220
272
202
176
248
232
177
209
193
260
197
195
248
265
158
215
295
335
180
211
193
339
211
179
222
218
227
255
185
227
184
288
156
197
317
251
331
152
225
158
218
222
228
265
191
244
180
214
309
254
191
204
189
227
190
193
273
266
295
204
199
209
202
164
229
174
196
198
263
200
219
207
196
233
238
149
149
174
302
234
218
173
247
212
233
229
245
196
202
241
206
274
196
126
261
210
251
293
174
225
250
227
223
225
245
275
257
197
222
179
203
247
249
214
212
167
301
317
295
170
232
170
247
209
248
222
227
235
203
256
243
199
214
255
330
232
237
161
214
324
217
244
197
195
156
270
239
208
151
224
214
191
289
246
313
245
275
260
261
251
261
169
270
175
280
206
216
217
194
173
201
158
221
219
239
208
197
247
256
222
198
246
139
200
303
184
198
208
173
217
228
176
274
209
278
190
168
324
221
205
304
296
114
200
190
242
229
170
192
239
284
271
230
170
225
190
185
199
250
174
173
208
217
298
181
267
212
128
221
169
261
189
234
239
192
175
170
285
189
228
173
191
246
280
153
283
196
204
203
260
169
229
276
264
282
184
192
214
181
247
239
163
207
165
199
188
151
188
192
304
273
238
194
209
295
239
290
227
241
230
279
178
170
152
243
271
181
152
255
216
311
211
172
251
206
212
178
180
291
195
205
147
234
256
213
337
199
181
216
226
296
195
238
222
263
203
263
151
241
215
210
234
213
285
229
250
240
196
165
224
152
261
318
253
193
220
238
259
231
286
173
218
263
241
172
206
224
217
203
246
210
248
247
196
168
302
214
220
235
205
181
291
258
220
236
315
244
274
248
178
241
241
155
248
283
154
274
283
251
213
262
170
283
310
315
169
219
177
217
262
208
152
258
230
152
366
221
245
189
262
254
267
208
209
260
222
215
225
185
235
237
181
234
184
114
200
222
195
184
187
195
241
178
262
208
211
289
188
250
332
194
208
236
264
235
229
240
168
298
186
241
243
278
173
172
229
232
243
253
200
209
180
239
193
295
224
158
307
181
261
201
259
234
227
173
234
255
268
139
262
204
245
191
254
145
270
281
219
231
209
191
276
236
189
218
236
108
219
175
209
244
209
147
232
207
165
188
250
201
195
271
207
270
220
212
205
156
215
309
174
158
172
232
214
221
207
216
229
200
300
264
208
194
168
193
279
199
237
189
215
224
160
288
165
208
265
275
234
236
210
254
192
189
229
189
181
283
215
181
288
315
233
264
329
186
197
276
221
255
263
179
233
260
162
282
228
278
240
172
172
174
246
217
192
206
251
247
280
217
139
191
332
239
236
253
210
233
260
234
251
201
302
232
164
274
255
248
184
229
237
264
268
255
133
236
271
181
229
272
193
225
198
213
245
186
173
210
287
159
202
238
160
229
156
234
325
294
258
160
289
174
237
299
247
220
192
244
243
228
206
257
193
210
178
253
259
180
239
269
232
281
263
193
199
294
266
164
245
234
160
225
231
275
151
243
194
255
223
182
246
221
281
299
280
213
273
164
301
160
154
180
214
212
330
235
215
234
235
218
255
281
315
209
248
241
199
171
245
304
188
284
226
230
233
197
242
170
357
154
240
180
290
219
336
152
267
211
182
192
160
170
267
114
217
261
251
292
181
203
205
276
241
297
216
219
283
208
190
193
286
184
241
258
161
226
202
212
222
304
249
210
294
327
251
211
174
248
248
234
191
175
298
287
279
229
246
226
194
161
253
259
157
199
255
212
270
154
229
157
246
273
235
151
200
328
242
259
166
278
283
224
156
181
227
181
251
199
270
215
252
242
210
134
226
281
238
231
218
195
211
286
312
152
272
114
243
239
187
156
229
208
317
213
187
232
351
235
329
221
253
300
178
238
144
283
178
144
173
192
263
160
190
213
248
260
207
218
181
272
213
212
251
238
286
225
234
224
257
181
288
273
257
221
203
255
312
281
170
267
285
247
255
213
259
272
179
229
174
197
240
266
203
196
213
194
252
265
269
158
210
218
315
254
226
264
179
263
189
238
114
220
231
269
219
273
226
281
282
196
227
323
208
246
210
225
289
257
218
215
263
159
278
226
203
195
176
248
187
237
273
232
195
149
139
233
216
225
223
240
289
195
215
230
186
248
175
219
205
244
215
198
274
275
262
277
277
225
195
170
310
191
181
203
205
202
179
226
232
176
311
287
219
293
242
179
294
176
205
346
224
231
283
146
316
236
181
233
181
231
114
363
269
274
195
237
175
276
235
226
218
235
210
264
278
230
166
180
209
241
283
225
272
330
317
240
287
216
202
198
297
335
209
108
224
184
171
296
212
237
238
215
206
205
269
224
204
263
259
281
241
235
257
228
230
213
248
195
271
245
222
197
180
356
182
174
229
233
160
297
283
253
181
220
238
287
284
200
241
172
168
248
316
190
193
219
261
277
261
245
173
205
191
147
294
230
205
210
277
275
169
203
202
180
227
234
227
209
203
248
253
227
253
197
197
220
175
151
198
192
238
279
209
238
222
267
288
352
251
151
295
195
200
239
239
271
255
192
139
234
221
201
237
185
226
242
174
239
197
340
254
291
188
296
216
232
238
295
208
236
269
239
249
190
183
208
271
294
254
284
244
203
225
233
171
221
275
224
187
178
191
158
166
233
241
297
221
307
196
242
325
244
210
272
217
198
289
241
181
251
233
241
187
262
285
220
287
215
106
171
282
300
210
247
271
253
202
250
215
261
214
204
227
231
202
208
200
159
242
279
228
243
207
226
206
270
173
210
219
170
191
141
201
247
205
198
243
177
266
198
256
195
220
216
207
155
234
208
214
207
295
220
324
214
222
283
211
260
225
298
178
233
139
194
106
156
246
263
260
242
265
208
244
260
206
220
236
149
208
192
242
234
179
237
277
208
215
231
215
230
213
168
192
188
220
228
226
114
223
235
263
222
159
191
208
170
201
201
193
202
218
235
169
238
238
261
175
282
126
300
268
274
194
218
272
182
269
201
223
243
167
235
218
213
246
272
152
202
196
281
189
230
246
176
367
224
226
148
262
239
235
195
223
259
213
306
178
180
249
221
240
271
252
271
165
247
233
157
194
258
191
253
207
226
201
296
272
154
244
259
184
258
254
299
203
221
244
265
199
277
208
341
230
240
192
173
290
232
208
237
180
315
189
285
202
249
276
202
235
247
269
190
236
196
174
268
205
237
226
175
241
224
194
191
195
226
291
221
254
251
247
346
240
233
219
238
161
218
293
188
250
219
271
156
272
277
236
168
278
235
211
254
222
283
304
145
186
177
250
246
288
262
263
298
168
284
271
246
207
191
301
201
201
239
185
262
294
181
152
231
180
298
316
203
286
180
218
229
285
263
177
262
261
130
210
194
217
205
282
251
215
242
139
245
208
237
211
290
152
265
129
145
230
199
291
181
270
147
215
208
244
268
161
164
213
299
241
207
262
233
160
230
226
160
271
268
268
276
220
217
201
178
231
178
162
259
206
229
310
267
266
230
217
255
269
116
243
211
214
162
250
166
169
197
264
190
177
249
248
176
261
182
240
219
186
281
175
206
188
210
215
179
189
165
233
295
243
220
192
267
156
248
258
181
207
248
245
285
229
260
205
251
282
212
216
232
173
231
225
239
169
130
269
239
202
291
233
307
196
293
252
259
248
203
197
294
252
185
202
148
210
270
231
256
286
247
226
201
263
170
181
187
222
216
255
233
267
252
152
263
238
222
289
351
170
228
192
211
263
281
159
197
265
168
249
293
160
129
267
194
233
287
262
114
242
203
282
205
167
204
206
253
213
200
185
248
309
257
237
181
274
309
225
271
232
158
207
266
210
277
229
251
207
262
222
229
181
254
218
251
165
191
325
196
248
238
270
182
205
331
219
161
250
200
205
236
208
174
288
216
214
114
221
239
257
335
224
162
259
244
187
213
205
197
203
186
280
210
201
240
233
249
194
209
194
263
213
237
234
264
225
180
178
202
221
225
182
225
245
174
234
176
240
247
190
223
190
195
227
251
309
212
234
247
246
185
231
233
160
141
161
185
300
248
156
280
209
193
250
203
156
170
218
164
218
254
221
266
227
205
235
169
219
172
262
194
173
259
170
290
201
341
234
276
215
239
161
247
221
262
197
242
225
299
159
252
215
300
200
210
229
221
300
264
197
281
202
190
241
266
278
259
208
261
254
186
222
225
197
223
262
270
258
212
349
209
204
284
250
257
197
176
226
241
232
282
237
232
194
217
231
334
286
225
276
232
278
272
338
160
226
170
246
245
274
264
252
192
246
274
258
200
208
198
211
211
256
223
199
223
206
277
251
164
322
241
225
266
253
147
226
220
300
269
270
206
272
219
285
222
174
229
158
231
310
264
197
271
126
225
207
299
222
239
280
262
208
256
196
301
271
284
230
253
280
200
186
201
116
327
156
267
256
307
254
180
203
198
314
217
226
269
257
245
214
198
228
223
228
217
290
141
231
238
170
233
114
219
226
181
202
199
232
178
204
213
210
221
276
262
279
237
195
318
242
259
178
209
222
203
263
272
152
252
200
256
220
246
215
204
278
209
241
210
270
228
251
240
170
213
152
200
303
253
235
256
256
167
164
302
183
290
149
209
186
157
237
233
154
225
161
212
248
174
258
238
194
192
176
304
265
228
248
276
245
311
214
257
347
213
230
382
244
126
203
171
201
152
320
309
242
261
252
258
192
198
237
219
261
207
209
185
215
194
227
273
278
114
336
240
342
245
217
258
233
219
275
259
237
222
207
317
272
218
155
302
237
311
296
228
193
178
225
241
178
203
308
262
232
269
242
204
309
246
237
199
281
188
232
229
181
262
199
263
175
193
268
268
199
166
201
279
186
259
302
241
305
174
250
270
278
244
195
217
198
188
193
223
177
192
175
252
243
164
216
272
194
193
269
207
226
225
266
199
191
171
223
169
114
171
205
266
204
242
271
209
284
158
194
253
225
220
243
170
170
279
222
203
191
214
198
213
157
222
194
232
223
175
275
236
241
182
295
291
189
190
209
192
251
189
272
213
180
191
197
215
212
216
224
186
224
216
261
202
171
207
156
228
190
312
240
195
291
258
108
229
176
175
151
165
267
272
235
249
238
214
238
198
191
275
239
179
261
179
237
222
231
216
193
240
217
272
195
156
318
267
221
266
257
179
199
183
197
225
181
267
267
156
199
220
298
279
228
218
203
239
278
208
220
184
203
198
148
236
154
255
250
254
267
292
114
174
260
217
246
174
202
239
233
230
174
230
340
219
224
258
193
275
240
224
347
220
214
276
227
190
244
261
206
184
190
241
204
227
309
265
170
231
228
200
196
255
239
190
184
226
220
252
229
258
258
221
238
192
126
264
193
277
288
249
285
228
170
257
213
230
172
249
189
275
202
149
260
170
211
198
283
356
178
251
260
328
278
214
199
191
239
200
208
209
234
265
200
228
158
243
258
223
237
244
187
233
275
156
198
228
173
242
220
212
279
198
318
207
274
260
253
214
230
176
216
203
150
224
198
225
208
320
244
194
256
236
292
192
244
249
129
284
196
235
183
252
174
239
209
156
249
244
170
168
168
225
279
203
189
202
250
223
268
229
238
226
257
263
207
240
206
217
227
320
221
238
256
259
203
222
198
273
207
189
205
174
252
267
243
216
245
178
296
197
193
145
201
148
233
245
263
224
288
177
192
253
239
244
243
210
225
260
183
192
228
192
229
126
164
271
168
152
180
241
180
277
310
227
220
250
220
211
163
196
222
187
173
260
181
260
200
214
192
231
234
235
262
192
300
226
201
211
191
207
233
201
226
210
232
240
342
170
237
261
263
139
156
273
130
260
270
275
187
288
222
308
254
222
197
245
246
233
274
198
245
206
234
193
204
212
152
193
208
227
233
312
286
229
224
292
264
175
211
166
349
266
224
192
168
238
216
191
319
160
250
213
308
282
240
209
194
218
126
200
129
244
188
243
169
237
270
291
200
244
207
284
242
233
236
244
245
201
226
272
226
256
276
126
235
231
184
277
228
311
270
229
256
209
162
214
274
203
225
237
225
235
224
213
201
285
227
199
209
247
278
236
217
243
232
233
200
254
215
203
216
239
224
215
222
153
277
164
178
232
178
204
228
204
212
219
310
225
229
245
255
239
264
257
114
223
268
276
252
221
235
171
224
226
219
210
329
185
223
227
306
221
241
249
275
260
224
246
189
222
255
201
241
217
219
225
206
316
265
252
305
225
180
282
217
196
233
189
200
256
275
261
114
158
324
273
222
217
217
209
183
209
276
298
232
166
137
263
221
233
268
200
240
247
218
298
158
252
216
217
219
195
151
227
249
282
249
149
157
165
146
227
126
262
215
182
201
170
167
245
149
159
253
286
240
320
161
259
318
274
246
311
252
176
190
175
244
269
183
260
227
155
270
193
275
230
203
179
174
206
165
261
237
184
246
219
264
238
242
257
169
316
253
291
310
217
227
139
224
220
306
231
242
225
177
192
187
290
239
213
192
219
223
215
281
306
255
175
215
202
208
231
248
245
314
255
231
216
250
219
214
182
218
199
171
278
174
278
200
184
194
230
214
195
141
168
337
237
257
221
337
300
199
237
202
293
167
213
201
260
206
220
243
202
181
180
265
224
227
300
252
320
278
216
242
222
226
173
207
275
212
219
213
262
254
234
202
200
265
182
305
185
231
207
255
205
265
208
212
205
258
255
203
175
235
200
114
227
214
230
174
161
258
179
299
247
279
249
224
139
144
334
183
233
211
264
114
217
206
251
225
270
246
217
210
244
259
114
214
152
293
165
139
231
181
283
230
224
252
203
204
182
317
276
263
151
208
168
301
255
238
217
239
267
284
193
239
258
260
214
200
168
170
212
255
221
261
232
151
182
205
317
233
260
245
210
192
213
227
268
249
290
216
235
238
182
302
152
251
242
290
261
209
256
278
231
175
273
271
235
206
126
207
280
248
264
278
213
256
237
212
230
211
226
149
247
285
263
237
251
356
239
158
287
167
230
201
213
130
265
173
147
267
172
285
304
299
182
218
196
195
251
139
203
226
273
246
197
217
152
156
214
219
296
280
152
195
200
146
252
264
205
184
241
268
187
247
152
240
200
223
309
228
243
173
251
210
215
146
255
293
258
194
114
203
204
187
183
254
160
168
271
209
255
223
282
173
169
205
325
249
209
231
210
272
265
207
236
160
164
219
256
175
175
264
191
208
283
247
262
257
178
232
188
248
207
259
219
227
290
333
238
287
246
238
254
155
279
263
259
180
250
175
262
220
154
198
240
263
205
216
204
309
201
192
178
256
145
239
169
160
204
203
213
198
181
261
183
220
248
192
210
201
265
291
269
178
193
282
215
258
126
237
270
248
217
324
232
306
261
161
246
290
202
196
207
179
296
199
197
247
207
255
257
174
237
180
346
275
191
178
184
204
188
248
244
289
245
190
174
233
323
173
186
160
182
223
284
186
222
241
200
306
282
275
189
265
250
249
204
157
178
227
205
252
213
185
132
183
238
203
265
160
228
267
272
218
231
149
178
257
208
196
290
173
192
183
233
233
200
174
255
170
251
277
195
194
268
215
137
295
181
196
174
183
232
255
269
244
197
262
275
228
181
258
232
297
180
203
193
274
255
114
271
212
208
273
268
246
241
209
242
287
200
247
157
191
178
223
241
234
236
224
309
227
168
230
205
232
239
215
114
241
192
214
126
238
226
209
272
240
238
209
246
244
239
249
192
162
322
166
238
260
173
248
209
290
284
278
250
167
207
184
252
250
220
194
197
245
189
184
219
247
152
252
108
267
244
241
202
220
254
161
183
267
286
220
200
319
261
272
202
198
271
187
212
325
272
187
170
219
170
166
139
170
235
280
263
241
247
245
189
149
178
227
198
197
173
338
225
156
263
161
244
206
199
282
240
114
265
213
230
238
217
217
311
276
175
207
234
300
211
219
244
282
173
239
208
221
252
213
221
218
170
227
216
225
253
279
237
174
243
214
170
185
250
299
263
209
170
263
274
116
226
218
323
230
310
243
266
234
252
213
207
180
264
199
266
257
181
229
173
286
265
219
178
170
134
208
260
261
144
176
206
225
173
261
144
126
176
199
211
114
223
293
235
241
284
271
231
254
231
193
235
265
180
279
244
238
186
172
184
211
289
198
211
223
338
224
193
266
230
264
281
235
276
218
190
311
126
224
209
289
232
202
260
247
233
283
270
169
196
260
174
216
194
261
147
230
158
274
216
229
198
106
215
275
214
114
240
276
182
238
232
183
211
207
336
205
201
278
211
236
261
199
235
271
177
226
329
252
220
260
229
223
251
223
179
220
165
172
158
292
242
230
197
199
238
239
288
273
192
275
183
205
201
281
192
310
231
279
243
219
237
265
231
116
220
284
251
214
325
270
328
174
207
190
243
291
247
249
161
292
295
309
186
236
270
244
262
239
214
175
187
225
221
351
233
182
199
254
228
194
146
240
232
208
254
161
214
218
240
149
212
208
251
129
178
257
227
181
210
169
176
292
195
185
267
177
205
220
210
245
279
204
213
234
196
314
228
247
226
145
168
114
211
275
255
216
237
242
236
277
149
174
189
200
247
216
205
239
244
219
239
257
211
252
205
278
182
221
218
207
269
326
254
270
174
208
184
203
161
284
190
276
270
257
262
220
295
314
232
214
230
226
299
135
231
269
171
229
225
228
227
264
216
248
214
269
198
213
315
309
247
186
236
308
237
175
210
126
147
219
312
197
273
227
187
230
221
263
155
196
234
233
229
193
182
179
170
237
220
281
245
272
181
144
194
245
242
225
222
192
208
244
215
220
365
249
228
189
256
274
225
274
282
236
163
203
175
189
218
283
192
224
252
263
314
237
209
161
242
237
218
259
158
246
228
194
198
323
204
257
231
210
222
206
108
206
323
229
206
205
310
272
152
227
201
234
219
226
226
226
226
128
304
225
187
207
264
191
222
229
322
282
216
209
242
180
209
261
274
324
225
250
311
230
214
146
273
216
286
199
215
235
181
217
186
241
215
238
234
156
172
209
248
254
238
263
206
211
288
158
114
236
241
195
204
153
256
192
167
198
183
238
285
243
255
184
197
173
197
310
212
235
222
203
195
213
209
178
221
194
154
234
226
203
244
212
129
215
196
206
239
271
212
247
240
214
218
208
196
255
239
266
219
211
240
220
203
294
230
248
255
253
261
227
186
257
221
233
221
278
276
271
195
233
233
230
203
152
227
298
207
225
169
129
114
259
262
252
295
192
207
222
208
268
231
232
201
199
298
218
241
311
238
263
221
166
199
197
347
291
271
170
235
257
165
230
211
268
250
174
170
214
213
268
224
219
277
145
169
299
182
204
317
272
247
241
265
235
221
173
233
234
307
310
201
298
283
243
243
317
171
287
262
156
217
209
231
144
214
156
255
255
224
165
132
259
192
133
252
237
172
275
187
192
192
255
195
201
175
229
246
243
292
285
256
246
176
224
221
203
214
197
220
205
196
190
209
207
307
204
213
133
214
221
248
232
139
249
216
211
215
323
231
242
160
234
259
273
174
272
253
204
294
277
230
281
261
209
200
252
252
169
216
183
242
188
181
251
256
321
253
126
199
234
326
263
214
225
272
229
225
225
270
165
286
217
258
180
233
258
234
190
245
206
238
170
195
290
250
221
170
231
206
327
272
230
235
114
250
169
174
296
242
190
257
211
342
252
299
271
242
179
271
175
211
318
178
241
222
185
205
233
297
237
250
228
228
192
195
287
152
255
153
249
254
130
209
156
246
261
246
215
150
192
247
181
236
163
234
229
223
202
225
185
297
172
175
307
173
116
276
206
200
202
164
152
207
227
227
114
203
228
238
217
202
317
207
223
243
249
158
193
182
134
263
233
234
251
154
191
277
288
186
221
323
178
224
168
114
281
253
222
309
192
267
234
195
280
298
289
224
167
244
195
275
160
194
238
239
187
207
305
235
212
197
126
201
242
249
114
287
211
250
251
200
183
225
342
195
201
200
308
149
211
191
228
294
246
282
265
212
207
202
291
250
188
234
225
260
243
169
225
152
158
234
226
189
227
114
229
290
199
217
183
206
261
153
209
284
313
193
152
223
230
274
174
266
257
249
196
189
190
151
183
286
173
276
160
331
324
273
198
212
221
221
220
275
200
114
216
259
210
179
225
223
234
223
199
237
198
232
205
181
209
195
267
204
205
325
209
242
170
329
224
186
297
218
151
239
229
222
262
278
196
192
193
240
261
241
223
114
159
229
218
256
255
217
290
221
276
216
260
234
174
219
209
170
255
193
176
251
236
213
294
187
185
237
201
357
193
307
214
286
213
198
116
178
200
282
171
155
155
232
206
114
282
222
267
193
252
193
221
262
337
177
222
223
337
175
229
250
173
192
129
158
219
258
214
210
220
232
270
168
275
238
359
304
287
208
185
215
232
158
213
214
265
250
202
211
254
222
245
274
287
285
289
244
229
215
190
242
219
271
175
149
293
139
238
241
169
170
196
228
223
241
312
257
287
248
196
233
233
206
177
245
248
160
236
139
229
244
174
183
296
244
215
279
179
281
237
162
248
189
245
207
157
221
246
194
234
234
248
281
198
156
282
221
145
298
232
193
193
229
237
224
159
228
212
191
236
231
150
248
167
280
214
244
185
191
236
304
261
238
244
194
257
252
213
238
303
235
229
166
243
250
245
208
224
214
231
219
302
252
229
183
208
192
238
209
191
234
263
221
245
202
193
214
289
157
222
225
279
210
214
237
227
231
204
188
292
308
149
196
331
300
211
190
261
239
194
197
157
189
218
310
233
219
208
286
252
285
147
244
250
204
265
262
243
204
195
162
199
224
186
230
292
176
240
271
202
216
190
264
240
222
276
275
236
178
231
214
220
208
263
222
175
144
210
260
170
285
205
139
193
309
232
226
114
234
203
248
230
195
194
199
173
258
229
236
265
242
255
153
201
224
335
207
272
256
232
223
241
154
210
248
279
248
189
209
223
265
206
250
233
197
214
183
211
215
272
217
318
230
192
200
234
214
146
245
249
209
173
172
171
195
225
207
134
266
280
213
200
246
200
233
201
220
186
267
253
177
278
207
216
250
239
304
156
193
166
336
171
272
222
214
225
130
202
251
247
181
126
175
320
248
201
239
220
189
199
353
220
179
261
223
198
153
227
199
184
207
156
235
239
190
268
200
160
238
231
214
206
232
191
197
297
146
238
283
224
250
238
189
217
249
198
222
270
260
224
219
236
243
219
265
170
217
200
200
225
163
162
156
270
208
231
229
168
233
209
156
306
179
250
249
178
191
256
301
298
248
244
159
213
199
172
217
208
209
184
181
197
236
197
267
262
228
275
238
266
179
203
195
243
285
295
267
207
226
202
214
190
232
212
198
231
252
174
225
229
156
271
189
196
235
277
229
221
213
181
219
196
233
208
200
309
204
216
174
269
237
277
178
225
260
221
220
190
184
259
144
235
268
264
246
178
245
162
255
160
289
177
230
304
237
227
199
175
157
192
244
179
187
286
239
264
206
129
226
234
248
267
183
276
258
233
194
176
256
261
247
156
270
259
253
214
271
244
219
152
218
262
156
258
164
256
203
247
258
252
194
310
246
262
261
180
242
241
253
242
261
225
169
251
280
208
263
294
205
245
228
250
184
199
205
156
214
153
221
211
328
230
235
269
247
213
214
214
202
259
182
183
269
178
234
222
232
216
159
202
218
174
130
241
226
225
276
267
198
248
237
235
195
209
242
148
321
309
269
296
198
202
169
200
304
224
235
246
192
296
144
339
196
253
187
285
252
216
253
243
213
198
251
241
254
219
317
194
244
249
195
223
228
219
227
180
203
219
278
204
214
187
260
206
246
236
212
160
264
182
245
312
245
267
266
154
222
265
114
224
259
268
185
227
264
226
243
286
286
281
298
234
265
242
244
192
174
154
225
229
243
201
291
235
214
240
170
306
259
180
159
235
205
255
212
208
301
170
173
192
179
263
192
271
240
277
189
173
186
273
282
241
229
225
270
152
210
249
204
215
234
260
158
232
204
300
208
191
186
154
253
207
224
239
262
187
201
252
165
178
178
258
239
296
241
216
185
195
270
114
313
275
232
200
194
217
200
189
246
212
164
160
251
174
204
192
237
213
208
272
187
235
243
262
158
193
206
220
229
202
205
139
272
258
243
283
254
219
156
221
280
276
261
209
225
192
121
214
207
233
156
264
246
303
228
295
192
229
251
232
217
230
195
175
230
223
178
250
197
221
239
291
175
274
171
243
204
289
293
250
298
259
239
224
246
260
175
188
185
177
182
174
246
191
129
309
227
178
198
238
294
288
302
287
214
248
180
149
234
237
172
295
308
191
241
209
244
231
253
196
205
206
270
230
302
139
219
259
262
225
160
279
198
174
221
191
213
255
191
258
200
234
254
209
179
235
231
242
287
276
221
145
222
169
264
240
201
229
280
216
186
209
236
283
276
210
236
134
243
195
193
278
238
335
250
179
198
193
170
309
231
233
148
240
280
248
244
191
273
258
199
311
296
219
202
230
255
289
253
231
198
276
242
214
114
147
282
164
189
239
192
192
231
199
197
154
216
177
216
249
254
144
240
176
212
272
183
214
192
230
189
322
164
236
173
214
186
204
170
271
311
186
160
200
175
259
195
240
212
175
245
263
265
187
326
214
250
209
121
233
249
246
253
240
242
258
241
200
263
275
220
235
276
168
255
231
177
261
190
256
229
263
245
196
240
238
213
241
251
222
246
220
191
267
260
220
152
179
283
202
274
181
271
253
230
256
330
191
205
237
200
192
234
228
204
200
244
265
239
260
179
225
174
179
251
234
237
252
178
262
218
250
237
263
205
223
200
270
297
201
319
271
274
248
235
223
189
234
221
168
218
186
184
219
175
286
196
242
243
219
271
296
250
183
184
216
196
183
170
262
190
175
191
298
273
243
183
254
209
167
229
246
250
218
188
239
229
279
200
247
323
208
226
226
211
183
238
242
286
351
252
259
277
229
305
256
216
216
210
214
160
212
218
175
281
201
212
292
234
294
327
184
160
180
139
203
306
235
217
154
259
207
287
188
271
196
181
219
296
253
226
238
252
242
178
208
170
246
237
229
284
287
227
238
226
262
248
182
210
161
183
258
239
291
219
181
237
252
242
290
252
271
173
224
139
260
353
281
239
203
214
233
174
114
264
152
192
168
245
261
190
264
302
308
242
250
224
238
173
223
286
304
253
241
308
235
241
189
235
295
308
195
262
207
171
240
214
231
232
286
260
221
252
305
239
218
234
195
235
257
186
320
193
203
267
211
145
268
283
146
276
324
285
248
242
208
270
155
176
208
177
279
295
301
252
279
226
227
219
200
287
217
298
207
251
220
319
154
217
221
201
192
200
242
157
204
265
160
225
215
286
223
199
223
264
263
246
173
246
174
233
211
175
180
195
193
213
267
266
185
156
256
177
211
262
258
237
209
291
212
270
223
194
260
248
170
277
227
253
290
290
256
249
285
231
154
233
218
139
177
173
201
256
178
194
205
276
251
168
126
254
170
256
262
116
222
296
194
269
274
163
221
195
225
276
255
247
178
222
221
185
238
247
158
213
211
173
235
211
249
200
211
248
214
156
196
225
184
200
195
200
225
173
281
216
262
176
228
156
232
197
217
187
248
188
228
200
223
178
265
227
258
273
311
209
201
313
206
335
290
250
219
271
114
223
209
289
270
184
265
266
228
215
237
259
149
158
217
239
258
192
219
170
213
129
299
250
261
227
187
188
250
147
173
184
175
240
217
157
274
231
222
188
294
267
196
299
170
223
260
177
208
201
278
222
228
180
161
232
247
209
230
218
258
198
225
192
200
201
231
266
265
207
189
247
275
219
211
165
180
244
237
301
172
306
154
179
204
198
227
335
173
327
247
279
249
195
184
299
241
221
217
277
214
162
205
204
260
288
231
273
210
222
242
200
219
269
216
197
228
229
202
311
181
226
207
283
215
259
206
257
247
198
245
136
224
153
231
299
249
241
178
160
312
180
200
214
295
252
272
213
186
237
271
219
196
175
176
281
295
250
254
245
219
223
315
296
192
160
219
223
189
305
307
221
228
307
214
232
282
169
209
247
192
163
382
214
244
212
210
284
254
271
221
205
267
198
270
222
178
160
162
221
255
245
272
209
269
279
224
181
227
245
169
208
222
225
228
121
160
209
240
211
264
224
232
183
248
235
248
207
243
245
249
225
314
291
181
144
156
205
271
261
199
261
195
200
204
289
286
271
202
291
244
245
222
180
217
262
198
207
176
186
247
159
139
225
207
178
222
218
353
202
213
169
261
149
218
178
243
247
206
231
217
256
177
192
248
218
130
207
269
157
292
161
309
216
207
195
253
242
261
163
228
200
223
173
184
271
221
216
177
274
283
321
254
181
201
201
306
220
262
199
198
144
169
214
153
198
294
284
189
184
256
198
178
214
280
179
256
246
193
309
232
224
214
108
241
323
207
298
302
221
227
232
170
189
257
245
235
213
266
213
257
221
276
204
318
259
236
264
249
216
251
305
258
114
198
250
240
274
269
231
238
197
218
250
252
279
134
262
165
363
294
185
175
241
236
198
260
248
265
169
252
275
256
287
191
261
235
247
259
178
271
202
269
130
194
306
257
211
232
178
197
160
161
162
275
281
161
206
189
288
270
165
238
188
199
266
235
207
194
254
236
246
233
189
274
197
188
173
269
156
208
216
204
277
317
128
215
197
301
225
210
129
247
200
261
246
153
173
198
301
219
251
215
215
225
175
149
231
160
226
233
222
311
235
241
189
235
257
179
195
261
256
202
114
199
213
245
190
257
177
260
232
261
224
170
258
319
152
217
114
219
260
211
230
222
251
201
333
249
249
227
247
245
189
245
160
230
191
175
287
204
262
199
243
176
324
184
219
204
238
177
180
276
347
266
192
252
160
240
256
228
152
318
285
244
152
152
234
237
246
296
207
232
213
188
218
234
208
247
226
276
232
237
267
162
209
237
166
234
151
258
245
240
192
192
173
170
274
218
196
175
194
237
233
219
266
267
217
219
181
229
263
170
242
149
179
276
192
177
187
213
299
273
162
183
224
273
269
253
249
242
297
227
329
176
193
240
194
262
208
278
206
171
182
263
228
279
260
218
229
231
247
180
252
262
228
247
260
254
218
239
220
229
239
165
249
154
271
150
192
261
192
195
252
207
170
225
257
202
183
237
244
290
235
240
250
271
161
266
243
242
267
157
174
224
185
274
245
262
230
307
276
156
295
202
244
250
218
283
164
206
239
311
201
202
231
243
200
245
234
227
248
184
214
282
225
244
293
235
237
149
180
214
221
298
197
171
325
160
249
180
267
259
214
209
216
203
249
219
286
213
215
221
178
230
168
188
200
165
177
194
211
300
222
255
235
192
167
216
328
216
126
207
219
202
177
298
114
281
214
173
229
139
179
215
193
238
192
161
241
249
258
310
192
248
245
211
214
225
192
225
233
174
263
221
135
198
261
217
301
217
245
182
217
212
201
204
260
233
175
237
201
230
253
202
197
188
203
218
199
288
175
153
287
167
191
218
201
273
261
234
174
238
197
187
167
221
200
198
145
166
243
227
198
190
206
182
280
213
193
272
365
356
285
245
290
193
234
219
223
218
224
213
114
210
173
234
263
253
248
239
180
294
195
225
197
236
269
200
249
305
266
229
235
206
216
126
195
281
262
333
246
218
226
264
149
289
227
308
147
229
157
178
233
227
223
181
224
253
243
214
255
222
214
219
251
180
225
196
263
384
215
209
239
188
156
227
165
153
219
225
250
224
210
268
235
198
188
157
247
293
224
180
194
167
157
306
177
212
277
248
173
223
106
205
231
207
214
183
218
226
200
144
169
204
198
216
229
212
261
185
249
294
241
184
179
152
284
220
218
256
282
175
202
179
223
208
301
251
200
200
196
240
178
114
215
189
211
246
223
266
197
160
237
192
224
221
246
174
250
208
195
251
231
316
243
251
181
285
284
189
294
243
247
209
193
158
250
246
152
210
108
239
237
249
114
205
227
186
255
229
234
313
274
164
204
245
191
161
202
210
128
175
234
238
156
231
291
227
182
181
114
242
192
159
169
151
243
210
126
224
205
208
175
274
205
269
114
287
247
114
173
194
262
277
126
253
173
246
254
196
281
289
152
247
224
162
304
280
200
243
216
277
224
271
197
204
218
178
242
215
164
253
210
228
172
177
240
344
308
126
170
189
285
227
257
191
295
294
198
167
384
242
275
198
251
217
230
199
106
242
225
263
222
208
223
280
296
230
221
255
276
285
208
189
223
114
190
130
205
221
232
273
236
229
242
186
322
201
216
198
240
191
222
242
230
233
235
156
174
297
285
188
114
232
177
195
216
152
227
315
242
236
204
267
237
234
185
268
182
238
165
265
210
201
224
226
188
213
215
232
253
258
208
208
287
108
331
211
200
227
264
219
257
272
202
246
263
221
260
240
211
273
255
203
253
183
189
238
241
204
201
295
207
193
172
219
242
218
183
186
172
208
190
209
232
219
211
257
281
205
276
199
180
165
230
154
219
243
220
205
235
178
225
210
281
181
177
225
229
270
223
294
298
213
278
313
151
254
247
259
245
258
299
222
196
260
284
246
233
180
292
203
229
293
198
174
239
197
224
312
229
246
283
269
212
257
198
193
279
265
161
229
189
229
208
218
319
354
213
198
178
332
195
164
222
222
167
226
231
202
189
214
274
261
201
152
191
289
231
206
126
237
248
261
202
236
114
241
246
146
239
289
218
185
251
284
212
152
295
212
203
274
243
182
275
220
307
214
236
180
278
233
222
242
197
267
203
250
207
145
185
180
220
271
225
280
228
224
252
229
265
173
205
307
267
190
184
214
203
279
194
291
246
324
225
242
172
114
130
235
270
202
189
298
252
267
286
194
179
251
188
256
208
250
207
240
233
151
218
231
166
256
165
265
159
234
324
229
265
235
170
241
218
182
165
187
212
247
226
271
231
325
229
232
208
304
114
185
245
183
276
250
247
261
175
260
219
184
217
212
225
293
201
217
166
191
223
165
202
313
174
166
114
247
341
182
224
250
242
189
173
249
235
169
262
203
248
230
223
278
340
228
225
262
235
108
290
272
205
284
275
275
146
264
139
216
209
180
299
277
129
200
191
245
267
253
248
225
270
269
217
175
225
161
201
266
221
126
311
307
293
226
251
196
301
249
229
256
170
154
165
198
241
190
203
267
283
224
220
145
226
178
202
215
158
235
324
205
224
199
191
248
197
208
194
190
178
246
283
210
206
285
197
220
252
231
180
228
160
210
257
197
197
247
254
229
250
189
200
182
219
220
181
192
232
195
222
227
247
258
195
176
144
250
218
299
315
250
219
164
218
260
332
166
193
156
278
229
229
180
203
216
177
173
209
273
214
218
298
242
264
178
221
235
199
310
243
347
221
214
273
157
243
220
235
193
275
208
245
193
246
288
242
114
139
186
260
209
231
355
217
209
265
260
152
196
231
318
154
159
179
221
161
264
255
242
193
243
249
239
217
224
253
250
114
288
161
247
176
264
200
158
248
173
152
230
240
174
270
233
241
251
231
220
293
222
231
231
266
204
283
170
265
200
196
262
213
267
239
184
187
170
193
220
264
209
194
177
292
168
232
238
252
145
246
263
255
144
187
245
151
235
211
270
238
217
212
187
192
204
263
242
238
227
212
217
207
274
232
172
279
229
179
133
202
204
280
200
200
152
266
246
236
152
260
295
230
239
156
114
207
277
262
273
271
179
183
181
221
231
212
177
211
209
246
308
277
228
215
232
254
224
208
185
239
187
152
275
206
222
283
240
231
194
170
156
156
203
212
189
318
213
272
246
203
194
241
204
162
272
215
239
300
286
146
246
278
321
225
255
216
245
256
243
222
287
170
114
248
288
176
226
199
209
223
220
184
167
230
161
233
226
216
214
270
163
260
233
236
231
240
229
260
198
228
299
202
191
209
274
284
241
239
239
256
238
169
243
221
219
196
209
203
206
156
198
184
203
193
222
252
255
202
242
307
281
145
244
349
174
229
226
298
212
237
229
238
182
230
189
181
203
237
205
350
287
160
258
263
210
277
254
292
170
242
207
240
195
282
306
297
260
265
176
154
263
192
246
293
193
244
180
241
257
271
209
171
217
214
317
270
114
190
263
168
202
247
225
256
199
221
176
218
193
258
171
184
188
198
170
133
250
273
114
219
243
258
230
255
190
210
158
173
230
220
178
160
240
168
225
158
220
238
188
221
240
222
126
208
233
229
220
254
162
297
168
222
218
282
238
294
242
303
252
214
244
242
303
202
249
307
226
240
237
210
280
144
252
244
233
191
196
188
304
228
217
246
200
229
213
227
198
196
213
277
179
273
177
179
295
277
223
212
286
233
242
213
208
225
187
246
209
212
221
263
204
196
166
312
258
177
218
235
220
222
196
166
222
170
267
190
190
285
239
197
302
209
317
215
178
222
175
186
194
308
211
262
217
245
180
224
228
247
213
206
249
161
263
209
238
205
175
171
233
278
248
149
281
210
248
204
268
238
250
278
245
207
202
222
184
316
211
156
165
262
307
251
255
168
249
193
212
221
200
260
174
129
251
264
228
288
152
194
255
255
160
220
313
263
271
213
224
171
183
180
241
140
250
242
204
173
281
173
192
245
170
189
237
193
290
211
156
215
208
245
186
198
316
184
224
211
264
346
230
165
242
250
218
245
261
240
241
243
258
195
311
220
161
202
201
204
194
192
179
182
214
217
182
240
213
232
217
196
114
208
265
174
214
228
243
227
303
277
198
310
193
238
170
176
218
175
121
248
239
252
169
144
210
315
211
271
293
219
272
178
278
269
225
217
249
220
168
199
369
254
238
215
255
281
309
277
227
312
311
222
213
192
198
243
164
237
168
291
183
215
244
187
222
262
269
282
178
271
250
240
221
245
262
178
247
223
177
204
244
211
257
235
229
217
267
250
247
167
227
260
262
181
256
188
252
199
271
258
325
197
147
200
304
292
194
191
216
296
207
223
265
224
275
184
226
213
250
223
161
170
160
198
178
278
261
211
192
241
178
191
266
204
218
200
269
192
215
208
239
251
235
274
315
209
216
208
258
229
223
169
258
226
204
231
178
160
286
198
257
251
303
156
174
257
246
239
251
222
192
216
212
237
306
314
221
233
156
222
271
271
259
223
258
253
257
246
260
211
138
219
198
212
285
341
256
179
233
225
232
223
221
245
209
230
209
324
158
224
215
182
278
223
175
306
175
194
206
232
296
232
256
254
198
272
187
250
178
116
248
205
178
236
160
255
204
202
223
254
258
171
282
274
257
249
243
116
261
209
222
166
152
224
233
114
209
261
218
215
243
241
268
268
235
266
234
196
207
219
259
216
213
200
178
269
151
290
252
188
196
176
230
186
186
207
192
194
226
213
238
314
249
284
226
194
237
175
189
279
249
221
262
262
249
264
203
207
199
126
203
220
226
149
219
251
224
277
165
225
176
270
249
152
268
294
245
189
199
266
177
282
166
167
189
224
251
182
282
168
215
277
189
267
233
222
274
155
301
160
320
219
237
264
214
292
220
162
122
114
231
263
121
254
222
192
246
285
245
198
278
235
309
224
246
236
348
248
181
221
258
266
204
173
146
207
168
273
228
213
230
200
166
260
258
292
228
195
214
210
240
232
165
242
280
236
211
255
205
191
186
287
189
309
285
137
221
238
310
241
309
121
161
239
179
286
202
220
239
157
229
189
203
207
158
169
152
184
209
114
156
216
287
238
259
236
193
208
314
279
268
265
169
226
185
275
192
265
353
235
259
337
212
163
306
173
147
300
227
235
171
206
282
249
238
156
222
208
272
242
214
147
284
297
168
170
205
209
181
253
192
173
231
240
192
330
276
192
248
287
308
145
208
228
225
269
211
247
230
198
196
211
233
204
209
365
239
253
252
217
143
170
229
240
250
239
248
296
213
238
154
326
261
189
238
133
187
247
179
207
199
282
315
180
246
268
231
258
234
264
211
240
248
228
290
222
264
210
211
236
152
283
190
154
181
170
214
246
234
213
235
259
220
234
211
262
239
244
217
291
212
246
270
149
324
225
266
185
260
277
228
303
196
192
243
180
198
190
191
114
200
258
285
309
129
225
235
171
275
244
233
275
238
195
235
231
247
223
144
225
198
244
199
309
297
276
232
253
233
277
251
228
353
188
271
157
197
215
269
206
139
208
248
274
212
207
247
267
241
292
170
184
223
226
265
189
258
194
225
199
208
240
221
274
208
183
286
217
244
235
198
189
185
291
252
238
279
198
203
232
204
261
166
255
220
272
144
210
272
195
214
225
222
333
180
237
259
194
207
180
171
309
271
114
214
227
232
229
227
232
211
226
308
237
261
343
219
160
181
129
166
227
134
276
175
291
139
215
193
249
156
202
114
231
249
262
200
152
182
274
295
271
195
297
175
215
226
178
220
170
252
169
178
219
175
195
253
283
295
253
217
220
220
187
205
189
162
195
247
311
235
310
211
240
134
181
196
205
275
257
205
265
198
253
175
294
204
197
137
152
243
237
230
318
231
282
160
211
231
233
246
208
181
239
167
198
260
238
161
228
241
228
269
181
178
217
274
260
197
351
196
238
133
215
234
238
220
259
223
233
220
292
192
270
258
229
216
179
180
342
246
211
218
242
231
236
256
173
191
176
227
223
205
243
244
231
285
189
318
238
217
203
242
250
313
240
231
245
192
133
312
190
166
283
235
160
216
326
291
210
217
146
199
258
232
213
210
297
147
166
304
208
265
208
172
233
244
233
237
296
186
262
236
226
281
218
220
253
317
278
213
206
328
247
297
180
186
282
159
155
175
215
171
302
190
250
308
248
210
239
195
177
228
228
240
213
307
214
245
201
229
256
253
184
204
228
176
181
216
236
290
171
169
193
201
213
252
237
195
214
284
221
257
139
191
287
173
207
199
245
170
126
179
215
308
285
114
220
226
204
289
197
188
222
268
234
220
192
232
126
360
164
209
165
193
208
218
222
156
207
243
241
262
257
225
226
279
213
236
239
214
260
224
180
163
256
265
282
302
219
190
229
306
182
192
257
278
262
183
233
250
281
256
230
174
241
235
170
234
190
189
204
145
280
175
217
144
264
209
208
164
205
195
250
206
197
222
193
211
227
228
245
240
238
180
249
214
207
220
161
300
241
161
197
272
259
243
290
116
234
159
218
215
150
222
259
329
252
245
313
291
195
245
181
286
187
198
238
241
303
245
204
164
230
184
239
116
215
204
194
213
145
272
235
278
267
222
223
210
297
244
261
277
196
248
214
294
191
209
237
245
252
214
201
247
200
167
259
219
320
213
268
195
245
233
247
210
256
158
114
278
234
229
238
249
148
261
326
228
217
242
184
286
203
238
252
265
270
190
253
211
253
295
198
310
192
274
158
206
251
253
256
302
234
170
235
178
197
232
320
188
249
198
282
214
263
233
232
225
214
219
225
245
200
207
158
298
181
237
212
187
207
206
162
247
218
188
308
144
252
228
240
235
217
179
170
275
121
218
243
258
247
148
222
281
215
271
326
126
148
151
217
247
274
201
147
269
206
234
173
165
259
179
216
179
301
202
192
163
214
240
222
228
349
206
207
218
230
170
235
199
199
256
209
308
222
144
266
258
309
250
220
214
173
126
292
288
198
278
257
235
193
223
238
227
238
265
219
284
180
152
168
252
243
207
215
202
159
220
292
158
225
214
218
254
168
218
260
213
197
305
304
241
237
227
210
152
188
244
289
238
244
191
278
271
139
213
276
279
237
300
264
175
162
195
158
306
187
207
291
256
245
321
249
207
193
240
253
274
293
245
176
158
200
233
184
249
265
251
116
253
194
180
249
263
328
232
324
251
236
217
198
145
225
188
264
288
106
177
234
166
203
284
268
224
267
176
182
232
204
195
229
318
205
272
228
160
217
240
240
248
213
156
253
278
249
272
165
321
255
193
134
246
174
231
227
209
253
198
192
179
281
222
296
192
161
114
233
232
194
215
243
159
196
252
176
296
183
215
241
190
231
236
224
258
183
224
241
205
274
170
214
191
203
151
244
271
243
267
195
274
254
170
178
174
219
161
232
266
204
185
285
164
186
252
264
263
217
200
167
296
196
190
233
263
296
173
270
211
173
204
207
216
243
210
106
207
198
165
208
213
198
172
213
207
296
251
204
182
255
270
244
194
211
195
237
268
215
228
263
224
218
139
220
270
237
263
181
188
208
175
158
201
289
317
222
174
206
256
261
286
154
253
256
266
223
190
215
204
246
165
175
283
186
160
240
247
282
207
231
219
243
194
176
320
108
305
200
231
276
148
190
265
194
193
281
248
163
231
266
191
204
249
181
264
251
207
210
233
186
233
313
212
260
259
237
243
214
267
235
235
206
212
259
184
267
216
246
250
218
227
259
238
220
227
218
251
200
158
203
246
200
229
297
271
241
216
250
198
285
212
295
251
203
212
269
156
148
183
191
194
284
308
195
207
178
223
235
191
234
194
214
292
278
206
175
244
205
219
114
275
197
188
200
231
198
234
253
222
198
180
223
212
180
208
258
194
240
172
266
179
219
207
234
271
256
221
275
114
309
200
231
273
228
305
192
226
230
193
181
188
270
207
220
246
277
225
277
187
230
241
217
243
241
260
202
195
238
265
280
157
213
366
147
239
267
210
233
195
226
268
209
208
261
255
307
305
265
297
197
264
221
290
292
239
237
310
265
253
133
205
192
257
302
243
305
151
202
311
225
246
250
281
238
189
233
254
262
311
186
175
189
220
306
228
201
264
275
313
249
256
165
133
325
267
249
212
243
275
223
218
212
211
265
212
326
229
183
207
149
237
193
196
203
205
176
239
165
279
229
211
245
236
204
181
273
272
213
265
225
258
277
175
279
212
279
234
180
185
165
164
227
173
180
225
144
198
232
245
187
170
238
276
244
197
336
230
212
229
248
267
215
197
172
227
185
245
257
174
219
114
181
145
334
249
292
234
230
213
269
294
240
248
184
170
197
206
252
266
199
200
245
179
302
181
245
198
225
333
225
223
184
185
256
259
276
220
235
220
195
199
265
247
278
261
251
201
209
266
199
210
195
223
190
276
177
321
161
242
234
191
285
243
160
253
213
189
180
240
240
271
226
258
203
114
235
212
214
213
183
258
167
160
190
151
331
341
222
289
208
230
213
208
200
249
208
175
220
240
128
245
246
298
241
275
285
216
220
271
202
310
237
173
235
195
243
233
197
215
156
248
126
183
166
282
217
245
279
218
108
247
271
269
175
223
253
196
208
282
261
238
240
205
181
232
214
233
183
282
147
260
325
286
187
277
162
257
246
214
281
303
114
209
169
309
197
251
158
236
278
247
290
242
326
207
236
246
240
185
211
216
279
156
259
186
163
237
240
221
211
250
212
238
240
289
216
238
242
252
212
210
238
203
247
182
219
187
253
284
154
263
186
203
191
296
189
240
292
275
189
173
290
126
284
259
195
214
198
196
211
318
231
261
243
210
295
194
269
205
226
254
180
239
148
247
196
201
235
210
192
212
246
179
179
203
238
257
246
241
277
264
242
182
304
311
211
233
266
272
225
347
208
192
213
295
168
165
199
279
277
241
297
237
260
211
175
262
248
152
244
251
271
197
271
255
183
249
329
213
254
199
230
175
114
215
207
194
179
261
254
164
205
268
220
225
210
189
266
208
232
148
216
199
207
222
322
227
235
273
201
222
202
179
191
231
224
158
220
166
178
251
249
197
308
184
229
145
269
225
126
207
177
287
158
156
213
197
247
209
246
225
217
206
257
191
257
170
292
236
207
208
255
206
199
255
174
271
263
222
252
196
284
169
271
286
190
195
334
251
259
251
262
233
245
192
181
274
183
198
207
202
237
202
193
223
216
198
233
275
158
250
285
195
279
200
309
255
206
181
182
254
345
255
236
157
217
202
208
234
181
218
174
266
201
155
192
196
191
201
224
162
192
212
266
162
210
269
229
311
192
287
215
273
158
213
253
170
275
206
192
292
341
254
199
244
144
215
161
170
244
213
244
285
208
237
208
261
188
227
246
250
172
217
215
144
168
276
247
182
228
273
197
205
223
243
229
204
241
230
173
157
183
219
182
260
252
258
209
214
270
263
258
209
158
303
219
254
236
179
183
291
256
152
263
279
210
289
262
199
273
228
186
146
370
240
262
220
225
285
168
178
225
233
241
208
267
139
225
237
265
275
129
230
235
246
245
154
238
258
203
230
270
304
230
169
283
220
192
173
250
188
171
149
277
243
301
218
272
234
229
215
277
260
209
208
179
291
235
156
265
209
215
258
241
208
149
194
274
198
234
250
181
202
198
164
196
282
160
202
116
186
152
174
281
178
259
187
230
288
214
236
195
137
174
170
254
145
251
228
178
195
263
286
284
262
228
184
244
228
193
230
243
189
356
175
251
274
336
241
286
220
241
159
243
203
205
210
161
227
216
272
219
184
289
166
241
219
205
235
232
170
266
222
195
182
173
234
183
170
178
232
178
222
207
227
198
234
252
197
200
177
214
259
211
156
267
239
267
202
253
241
178
248
208
224
247
216
265
217
213
244
216
262
304
370
250
311
292
170
263
188
205
236
168
236
285
246
196
221
249
168
239
305
243
139
228
200
151
196
211
274
179
215
237
231
232
180
225
195
259
268
248
196
259
225
270
293
139
240
216
156
233
236
168
268
294
232
211
219
333
296
196
259
242
218
170
234
294
179
176
126
204
234
229
320
229
215
114
196
202
234
237
227
238
195
226
219
192
283
195
180
239
238
264
250
213
187
249
149
248
158
331
265
139
204
342
181
178
242
156
222
170
163
241
258
280
244
244
289
244
195
191
176
188
242
259
193
170
260
255
215
200
188
232
240
341
225
192
200
267
285
186
251
219
307
165
313
184
259
238
250
288
126
243
121
165
258
186
137
180
208
201
224
190
285
250
272
191
232
188
230
215
234
241
195
199
214
276
184
238
222
317
213
145
227
283
207
241
249
174
216
255
243
226
249
244
225
195
254
175
212
164
156
198
184
152
179
265
190
276
141
231
258
222
207
219
207
242
245
260
265
205
275
308
236
194
264
326
239
252
200
243
170
238
209
231
201
193
215
271
214
235
292
192
181
151
165
158
253
240
247
156
219
280
290
206
199
234
200
228
126
233
207
277
263
165
287
271
271
208
249
236
266
269
216
196
209
309
144
259
246
191
176
114
314
253
165
324
211
183
319
205
197
203
204
196
192
214
216
286
174
213
233
200
172
249
314
162
185
171
213
217
252
229
233
219
177
205
236
297
171
198
286
208
146
238
195
174
200
168
175
248
232
189
241
267
229
150
248
226
190
178
175
328
238
197
152
218
252
180
193
229
182
252
342
147
207
264
235
211
254
202
219
230
175
240
251
265
208
189
214
329
183
106
161
114
157
209
223
126
215
239
249
240
139
187
191
221
213
145
184
212
249
174
130
172
258
149
248
203
197
211
321
170
262
189
244
152
158
268
221
277
187
160
225
182
196
194
229
226
229
162
267
296
202
274
234
219
256
159
217
156
194
195
243
166
237
126
267
264
146
248
233
305
172
272
151
249
195
259
298
262
126
151
170
210
225
229
209
299
263
235
165
180
318
114
177
191
251
200
184
211
210
245
274
210
215
174
214
205
139
198
160
199
248
155
247
151
203
218
153
231
247
177
184
212
262
207
227
156
196
250
228
328
252
254
207
216
309
169
166
307
224
212
259
241
295
200
318
236
161
208
188
192
216
254
246
283
229
275
233
204
252
189
225
262
292
191
209
256
177
242
292
196
258
144
180
212
309
221
280
227
204
154
238
269
199
130
206
254
231
234
163
195
218
255
271
156
217
233
174
339
263
175
276
245
192
163
246
258
178
256
200
312
240
215
307
219
201
174
206
227
228
198
208
180
245
214
219
220
232
231
364
248
208
270
192
158
300
205
216
192
256
224
205
270
245
199
223
195
294
133
241
229
267
266
269
198
239
325
244
225
237
226
310
156
160
234
191
148
206
307
199
175
126
167
253
205
108
271
197
267
211
174
207
220
180
235
190
173
264
187
200
195
233
208
247
214
236
152
148
190
201
249
288
180
269
264
323
156
196
259
229
199
171
261
171
286
239
168
283
221
232
204
209
244
260
227
140
174
129
208
234
265
180
152
148
195
232
287
152
209
266
201
211
260
231
134
256
195
269
190
247
225
241
201
253
353
220
182
321
261
202
218
213
209
219
209
191
266
273
254
169
221
261
174
287
250
190
210
170
178
260
288
260
299
165
181
207
195
213
170
246
288
231
215
170
224
214
203
224
233
196
290
254
214
189
276
130
313
251
209
191
179
210
212
198
289
190
227
263
222
250
239
163
195
226
152
214
229
173
197
198
224
205
254
206
192
222
160
181
204
214
166
270
229
148
192
224
254
295
288
338
246
147
214
188
203
200
227
245
164
191
170
260
265
162
203
195
244
234
207
218
199
220
183
218
209
206
240
235
242
266
193
185
244
179
212
181
214
242
259
190
255
265
245
258
173
146
174
188
294
215
226
245
214
310
192
241
231
201
264
303
244
203
274
166
314
197
214
225
236
130
208
192
251
279
275
160
182
173
250
193
232
196
114
316
217
246
209
161
311
208
279
219
241
241
230
187
194
185
212
250
250
208
222
261
329
155
227
281
219
247
149
170
246
257
243
247
156
213
170
216
270
259
207
227
219
307
151
170
288
261
288
242
106
202
219
300
176
186
209
296
229
180
181
233
153
241
288
181
248
214
208
260
268
229
239
218
285
259
243
166
272
208
236
266
197
165
273
235
192
201
223
194
214
178
271
235
170
233
229
210
260
179
203
229
272
244
184
215
249
274
237
321
222
241
173
276
269
256
190
229
212
256
222
233
193
261
236
226
239
249
213
242
240
311
277
262
234
200
246
327
268
172
179
233
199
206
211
204
214
207
223
192
266
247
162
202
267
269
188
245
245
227
210
212
245
290
258
258
235
303
213
276
186
260
229
260
252
307
305
236
217
261
222
215
286
214
170
154
259
272
148
144
278
276
283
212
203
288
272
203
158
270
274
273
240
219
256
256
241
219
182
191
257
129
173
126
211
254
263
220
270
196
353
248
262
155
240
169
219
311
316
256
334
190
142
222
240
218
232
214
248
251
238
202
196
198
276
244
296
259
315
156
238
231
145
170
173
250
297
263
173
245
302
214
260
208
279
201
236
280
252
232
174
139
225
292
201
263
247
219
160
215
234
222
261
239
204
230
204
152
234
348
250
250
250
160
232
229
270
190
189
235
262
188
243
250
161
160
229
241
244
234
183
205
217
211
236
258
214
231
249
196
209
303
200
243
242
174
280
174
268
201
198
272
229
215
290
243
213
257
234
313
170
215
240
243
179
232
206
181
245
192
239
316
180
275
176
152
114
226
272
268
187
170
218
190
210
280
325
200
179
201
281
247
276
233
265
192
178
169
253
226
268
159
213
268
238
249
234
240
241
180
199
202
223
259
269
196
173
213
233
163
173
250
175
167
299
207
198
190
251
226
168
232
198
233
203
221
237
227
308
222
244
279
260
260
174
144
205
204
153
211
154
258
325
298
226
155
209
310
149
264
202
269
202
248
306
235
226
244
276
201
302
249
121
221
181
227
263
152
255
199
218
182
169
298
208
272
194
259
175
267
240
161
231
279
229
213
207
203
222
188
200
202
244
259
293
181
252
202
208
183
258
208
234
239
238
205
249
218
271
297
240
175
217
377
163
272
215
295
203
204
206
241
181
285
173
218
220
274
214
152
189
219
299
228
191
212
206
229
186
121
206
172
247
239
236
199
201
263
293
234
281
241
217
349
248
219
210
238
219
192
186
221
155
245
247
299
280
275
258
224
224
170
133
317
154
200
243
308
241
183
244
294
198
130
263
244
228
254
200
227
272
314
261
226
165
213
147
203
305
267
225
218
217
237
164
282
280
247
174
235
156
184
236
193
279
219
158
242
236
280
207
191
214
252
326
258
303
192
270
199
341
178
269
270
265
295
197
295
260
183
202
218
316
226
223
212
160
212
280
235
297
317
175
308
273
199
184
289
230
208
233
271
244
232
309
186
238
259
176
252
246
224
164
297
342
230
285
187
256
210
292
233
206
224
204
235
264
174
160
145
234
227
228
200
176
147
222
194
219
239
234
205
233
190
181
154
178
236
160
209
207
167
243
283
272
273
208
235
278
170
225
257
262
174
170
196
282
226
195
185
235
245
264
215
269
199
274
229
231
165
245
193
214
294
202
228
260
171
266
292
226
260
271
279
290
146
235
181
195
285
224
184
240
189
238
254
155
214
169
254
270
316
251
300
213
240
321
180
217
340
269
188
248
294
213
241
188
244
283
147
202
330
292
274
139
252
223
161
250
247
236
196
253
213
241
239
256
202
188
255
255
263
214
233
277
212
156
228
106
265
250
276
191
227
179
180
203
180
245
189
217
246
283
226
269
315
320
315
208
266
212
246
255
257
121
151
240
229
156
126
258
287
126
139
211
267
240
274
173
288
263
274
220
250
258
197
205
196
192
226
152
227
273
161
253
214
211
239
237
265
208
196
181
256
244
275
158
260
270
246
258
170
286
242
242
173
145
266
219
212
294
237
219
198
286
209
251
287
215
189
172
217
225
243
208
250
255
208
284
167
249
187
177
210
208
218
194
181
204
242
173
247
274
204
241
208
236
174
174
195
196
218
214
243
233
201
254
189
139
268
245
209
114
256
164
236
158
217
238
317
266
196
205
223
189
218
219
218
174
171
146
368
214
285
190
269
198
204
237
241
214
189
176
179
331
201
202
208
255
178
195
192
229
271
213
229
191
184
219
244
178
235
165
331
242
338
191
211
203
179
227
255
160
273
152
219
285
180
275
235
242
231
230
263
205
222
175
200
229
233
215
268
164
238
196
190
211
236
162
295
150
299
303
360
206
197
203
234
202
189
230
309
180
219
198
249
216
219
166
229
147
197
218
168
262
232
288
251
180
234
281
247
278
260
214
180
264
229
235
287
190
233
200
114
189
168
207
330
175
232
256
234
319
191
207
206
325
235
220
277
227
252
198
277
194
223
222
235
195
281
170
190
242
217
236
218
244
247
196
204
227
208
259
217
263
285
177
220
298
171
288
114
261
240
265
224
280
243
338
210
261
258
282
235
193
108
225
204
216
197
254
114
205
251
219
146
189
179
229
178
177
185
184
178
258
181
220
260
191
226
206
343
212
235
251
156
168
213
190
237
223
197
193
179
183
207
189
114
245
219
254
269
272
283
255
296
227
213
216
197
200
266
194
218
260
306
227
206
233
301
188
186
299
249
254
182
139
178
219
255
296
202
142
220
175
289
232
225
196
244
257
174
290
253
189
209
212
185
233
229
255
240
226
216
114
355
205
238
224
262
114
247
317
198
231
141
236
219
211
283
286
306
229
231
197
165
258
239
172
242
167
219
176
217
259
263
139
189
310
203
260
232
217
270
208
213
260
194
243
232
283
212
200
188
251
235
290
199
160
267
249
182
207
291
216
203
312
155
156
210
261
204
230
258
302
228
400
230
238
267
211
252
214
208
140
149
224
272
294
216
178
252
192
260
273
182
230
257
244
198
193
219
271
227
213
264
211
236
213
302
239
332
198
255
315
247
180
228
179
193
143
250
175
269
227
253
166
165
243
229
210
334
273
242
169
189
198
323
247
203
178
211
234
181
299
276
211
244
202
151
254
319
283
232
254
288
295
273
231
170
297
217
277
158
247
255
198
242
299
213
233
188
290
219
250
223
197
248
207
208
283
262
201
181
246
278
176
161
250
250
220
318
175
227
176
250
213
296
231
190
280
166
217
297
342
226
223
157
199
196
238
182
240
191
192
305
209
235
217
204
179
267
227
249
317
197
215
241
325
237
146
260
214
287
211
270
233
252
204
272
224
231
195
216
152
236
208
165
236
193
278
239
231
206
215
266
200
268
186
211
273
158
244
220
215
231
176
299
180
192
197
229
235
283
195
278
262
168
183
198
179
213
278
283
291
217
303
313
239
301
273
171
252
266
238
231
167
275
252
174
222
268
209
166
202
202
241
274
237
204
290
259
156
281
147
317
229
274
166
179
222
201
170
224
226
254
241
207
307
222
265
293
242
277
208
200
253
184
200
246
198
174
221
302
173
268
239
255
200
200
227
339
179
217
237
207
165
204
152
197
256
238
255
283
220
221
257
218
284
210
244
170
234
207
174
249
328
248
236
299
242
253
223
173
238
160
240
212
212
210
194
189
279
229
258
173
259
308
242
226
238
239
282
207
149
177
279
191
241
300
204
170
228
265
114
221
270
160
193
219
174
300
184
228
295
196
245
261
212
238
200
268
252
329
197
190
186
178
271
201
263
204
186
232
174
224
278
195
230
214
265
246
108
184
297
214
245
158
264
188
157
260
212
194
219
164
274
238
227
196
179
230
215
178
200
234
166
246
243
193
260
253
159
190
309
263
263
287
191
238
220
208
247
231
200
259
165
189
261
180
299
187
231
184
148
159
190
234
209
114
237
287
262
280
256
184
192
285
231
220
214
179
279
236
243
267
231
244
216
200
255
205
232
145
173
191
194
203
268
202
175
220
146
174
199
226
167
116
205
114
296
193
226
156
210
252
175
219
168
261
185
233
222
258
168
245
268
198
244
260
208
222
226
191
260
172
180
155
260
181
255
249
257
226
166
266
296
273
235
178
256
221
220
222
201
233
239
221
217
176
256
303
234
225
225
240
303
228
160
250
286
216
227
207
259
277
277
179
227
244
289
265
250
239
226
182
182
266
162
244
266
247
154
218
145
311
169
272
278
302
227
259
217
205
238
259
204
253
229
277
335
267
218
208
239
240
281
241
257
202
248
174
244
236
303
263
294
170
261
190
232
228
226
181
191
210
217
203
203
151
160
122
264
243
148
265
220
208
309
205
190
195
180
247
213
251
239
229
195
169
232
276
178
192
222
271
253
178
197
216
279
245
257
187
213
234
198
210
261
218
213
146
223
270
190
145
200
217
210
237
229
238
175
253
162
151
220
209
220
205
266
228
262
172
247
206
280
139
173
202
275
178
139
244
283
191
240
222
173
308
114
197
114
230
206
178
333
114
162
129
319
187
227
238
262
201
324
239
207
177
290
247
296
206
207
189
254
174
234
307
230
299
272
255
211
250
190
233
225
192
114
244
217
255
211
190
250
207
179
232
227
247
199
165
215
160
114
257
224
128
165
237
339
222
219
312
205
193
261
225
274
167
253
219
229
280
160
160
181
160
265
260
180
240
368
207
198
280
203
253
254
225
219
206
251
193
200
218
146
221
279
210
229
186
170
250
171
202
201
175
287
186
232
188
247
244
233
256
242
165
242
218
280
197
258
269
156
233
216
213
251
178
185
173
136
240
264
277
231
207
176
222
309
198
235
241
182
251
181
209
213
183
241
274
243
130
260
267
208
189
266
251
234
289
267
202
173
242
213
242
237
209
213
249
308
250
156
224
208
181
282
192
223
251
152
293
300
322
232
249
317
240
234
206
228
206
244
274
207
227
269
262
192
258
193
212
206
211
198
216
193
209
163
286
228
220
270
222
241
256
243
239
205
223
229
204
233
249
268
271
221
211
276
190
262
246
219
255
222
176
273
313
323
210
199
228
230
268
219
229
188
214
238
243
252
261
178
265
290
265
304
188
114
198
162
179
180
126
176
157
179
226
196
261
182
211
215
218
276
271
250
224
255
256
152
185
258
282
271
254
170
208
160
195
219
299
266
267
247
201
228
192
184
238
254
186
240
243
203
205
261
134
170
106
198
185
285
194
211
181
194
195
222
231
331
290
269
244
328
216
177
230
236
238
247
169
242
260
247
241
235
193
271
214
130
249
228
248
214
270
273
224
232
220
182
220
205
226
207
296
283
202
200
267
208
261
194
198
184
229
173
151
255
172
180
225
280
191
227
239
284
253
240
299
160
180
148
217
286
209
239
210
224
231
232
198
251
281
208
214
263
213
288
251
243
190
171
218
217
172
171
292
250
245
233
251
194
193
288
269
207
231
243
174
292
235
181
202
222
189
250
185
266
249
223
193
295
268
218
239
193
221
173
187
213
242
254
246
262
169
179
129
114
284
157
126
183
208
241
236
216
232
231
300
232
226
204
242
276
207
244
276
287
114
281
177
320
269
243
169
286
173
265
160
297
240
306
233
229
222
226
210
206
303
192
233
207
182
263
222
186
202
219
299
222
277
230
165
219
363
211
317
223
169
294
181
178
205
247
288
168
239
162
227
174
305
175
239
232
255
221
207
176
302
213
245
254
284
213
222
207
230
244
234
146
243
272
256
188
167
247
292
241
211
233
178
196
237
242
194
190
178
254
270
205
240
159
270
257
249
292
247
202
261
221
219
190
257
249
244
193
219
272
161
242
278
241
187
252
234
224
173
184
173
233
290
246
238
197
242
268
181
229
231
215
200
268
173
257
282
305
210
156
177
258
260
161
196
188
271
298
209
221
258
221
178
255
222
207
206
270
253
241
299
234
233
221
157
220
290
253
187
272
225
250
242
231
271
258
158
301
243
235
285
165
288
183
213
235
255
244
202
202
158
217
265
260
274
223
210
215
160
219
193
198
256
170
209
206
295
148
226
277
225
281
263
297
179
290
219
307
267
250
230
195
212
246
255
198
233
203
173
231
276
297
151
236
207
173
187
160
281
154
202
294
217
190
195
252
239
192
172
267
177
196
263
212
291
200
192
160
186
254
208
175
249
249
263
206
304
248
203
152
260
233
205
262
228
326
135
217
231
188
311
190
200
114
166
246
209
173
242
261
196
293
222
303
232
187
205
223
174
273
224
160
223
306
290
229
194
230
279
212
265
244
182
242
269
287
231
291
256
255
277
232
197
190
211
247
268
285
231
233
253
365
181
242
156
170
160
183
240
212
212
232
273
193
225
290
366
313
178
162
232
275
267
345
236
277
278
174
236
204
214
320
108
209
176
145
242
226
173
214
176
257
245
168
237
239
166
213
188
180
268
182
228
209
296
203
205
228
287
217
176
222
218
219
210
218
208
170
229
207
146
165
174
237
245
210
223
162
291
203
168
210
152
225
285
174
194
226
235
231
206
149
311
238
236
234
208
184
250
266
335
278
178
272
173
303
200
206
257
329
309
151
211
238
231
287
262
307
218
222
176
210
259
256
170
253
188
200
243
250
252
224
313
233
254
203
331
218
257
250
204
168
234
170
204
264
126
234
218
302
282
252
213
165
116
235
214
178
205
214
216
218
290
292
264
194
192
160
162
254
247
245
162
189
202
152
144
244
219
246
260
185
249
174
240
201
163
312
206
305
314
215
264
280
188
233
203
211
231
203
270
171
191
339
304
212
205
209
244
114
172
262
214
306
165
193
204
303
191
308
228
237
196
239
261
220
236
192
193
235
160
202
159
175
196
179
250
177
252
186
234
172
229
259
199
231
266
274
322
269
267
241
212
273
154
246
249
246
220
179
237
126
155
230
137
198
251
285
238
188
258
314
202
234
242
208
224
209
195
281
185
274
218
198
189
208
180
224
223
180
265
229
144
234
228
251
213
198
192
253
225
269
236
139
190
206
249
192
255
221
181
246
241
235
151
161
235
272
195
235
281
278
250
178
207
223
214
106
216
187
201
182
238
265
255
310
244
213
221
207
251
153
245
282
186
234
211
225
184
223
154
267
260
276
274
243
233
252
239
182
283
181
208
281
212
293
208
236
239
232
248
253
281
214
233
156
207
244
235
211
205
252
191
214
203
247
214
230
198
233
244
278
289
215
227
234
271
189
255
215
189
237
250
227
226
205
248
147
152
309
160
247
198
142
251
232
223
204
190
321
161
343
208
278
253
202
219
224
201
245
209
274
169
190
165
161
145
202
273
257
251
153
241
200
199
166
174
225
226
165
232
195
218
240
277
182
311
293
197
235
247
181
207
195
246
259
156
235
195
268
226
202
277
158
209
208
192
242
195
199
273
215
133
299
160
249
259
178
169
146
229
161
186
162
233
287
289
190
195
322
332
220
176
288
305
158
226
279
267
233
220
173
227
286
144
210
212
235
287
200
203
214
230
233
268
227
189
195
286
245
254
161
277
209
218
215
255
151
237
208
169
227
204
218
195
233
219
203
227
205
190
194
220
275
203
198
223
232
234
114
208
191
201
286
212
193
248
270
254
198
231
239
239
208
216
277
248
250
181
264
246
204
259
256
238
180
233
243
274
221
234
168
180
180
323
363
279
229
276
244
262
226
170
319
234
182
263
294
203
161
214
233
170
180
263
173
180
192
170
243
201
183
203
191
250
187
249
168
231
215
241
251
217
311
287
160
203
197
166
161
237
221
191
155
196
278
210
208
244
202
333
203
179
273
303
241
233
251
221
204
208
212
194
295
231
248
245
245
240
198
246
160
158
214
172
230
210
179
175
210
224
288
226
235
246
248
211
290
152
195
241
211
218
136
294
160
208
213
161
262
286
212
186
228
200
277
276
207
299
188
183
171
209
229
258
253
260
245
233
201
286
253
245
196
178
222
208
261
254
249
222
273
217
259
224
233
156
276
260
268
202
336
229
181
186
237
179
234
235
229
170
328
334
196
225
264
216
221
163
225
245
251
227
234
265
286
159
229
181
214
210
191
179
266
184
205
202
224
312
207
232
156
221
217
269
122
149
267
239
207
222
232
231
170
212
175
139
261
222
247
177
230
249
197
195
257
144
188
277
208
234
212
310
234
328
174
215
258
301
265
114
268
222
242
232
176
240
215
205
260
126
211
210
274
265
194
209
234
236
243
257
247
241
298
214
151
225
202
259
269
211
253
164
223
188
243
222
215
174
188
205
215
254
281
114
192
317
201
161
260
263
266
261
242
204
236
252
168
249
221
228
278
256
184
288
226
258
145
256
200
290
252
227
187
213
297
254
256
183
358
139
257
196
192
194
201
198
156
295
295
227
274
152
291
179
149
234
227
288
157
206
318
227
247
267
215
198
215
244
146
244
265
207
184
152
175
241
207
294
268
164
174
144
170
299
200
177
207
327
239
212
192
239
230
178
175
160
175
283
296
297
240
213
249
191
154
350
240
129
331
195
256
212
194
236
198
138
267
174
225
280
199
208
173
242
215
148
233
241
247
279
268
221
230
330
226
224
221
261
196
114
209
284
204
196
156
224
198
227
250
198
293
209
198
247
160
182
253
220
162
212
283
151
188
157
256
170
207
160
270
234
290
239
263
213
289
239
267
209
174
191
211
278
203
224
212
114
304
152
218
252
266
268
262
296
199
232
179
261
211
226
244
321
220
130
297
173
224
224
198
239
212
311
203
156
187
176
162
194
154
204
170
224
230
182
161
274
267
231
195
193
270
202
312
151
266
222
258
237
249
174
237
222
212
224
165
147
249
271
271
268
293
298
295
228
229
159
232
274
198
258
284
208
194
203
211
193
210
254
195
201
245
232
188
145
273
207
174
185
176
273
235
248
283
285
221
242
203
237
295
220
211
200
201
156
289
272
184
165
210
231
227
202
281
280
305
175
228
287
167
170
286
170
271
238
260
320
245
309
303
200
180
254
286
160
325
185
207
220
241
239
229
175
195
206
160
164
212
261
197
204
231
195
254
159
279
229
328
212
222
244
249
223
192
279
255
228
243
202
289
218
178
265
235
253
245
245
204
245
249
244
277
215
211
229
189
275
276
214
149
240
214
198
257
246
249
154
246
261
200
271
232
230
172
191
139
181
286
202
221
209
180
225
205
156
303
240
221
254
270
148
264
228
219
221
231
243
306
279
236
202
209
251
196
239
157
258
203
176
259
252
218
279
139
229
241
192
190
114
244
218
206
156
174
250
258
301
145
156
252
182
232
192
219
315
273
215
217
317
193
223
254
262
207
160
176
194
270
279
268
200
181
258
246
196
152
285
221
339
252
188
149
274
200
272
169
151
172
339
191
266
212
247
211
214
215
242
192
176
250
203
247
145
220
186
195
222
198
259
287
114
207
227
195
192
304
232
166
198
166
242
252
293
198
227
222
193
277
247
191
200
161
267
251
183
206
174
193
203
213
232
255
220
280
200
186
203
171
160
178
198
186
286
189
158
161
290
325
167
191
250
265
197
275
194
175
227
164
272
240
126
219
160
214
209
173
200
266
258
192
232
267
191
234
235
313
211
287
204
249
208
234
237
251
243
259
277
237
215
272
222
184
152
265
214
244
169
231
252
263
193
250
174
306
310
154
241
145
187
260
209
231
346
272
229
313
237
233
207
278
169
199
228
188
248
193
184
184
189
220
312
223
191
167
221
236
243
272
228
266
251
234
174
247
159
183
173
216
159
239
200
244
218
196
199
204
204
192
221
226
160
175
198
308
203
238
243
170
305
182
114
200
236
156
251
248
240
205
192
203
234
273
171
293
213
322
198
233
284
276
161
192
189
196
238
212
233
252
295
263
139
278
190
195
207
200
306
276
327
301
192
285
226
276
174
315
191
156
240
263
185
255
209
195
256
243
277
206
248
190
223
296
192
229
182
182
261
267
194
255
232
201
249
201
170
275
194
204
177
178
300
158
194
198
189
264
252
203
178
257
239
224
251
155
238
233
224
170
246
243
164
217
220
114
249
292
156
213
256
349
223
184
243
192
207
219
179
221
213
178
116
242
227
259
114
260
209
229
175
234
215
254
196
198
202
211
178
256
279
236
268
233
247
200
236
285
185
262
212
252
254
186
157
114
287
233
234
235
191
283
221
233
248
186
190
230
280
156
210
192
171
248
267
289
238
167
252
223
240
272
244
214
262
219
275
246
253
177
161
194
209
256
272
214
207
313
318
179
254
301
185
171
240
231
169
219
197
149
198
236
176
266
191
242
264
156
249
180
158
295
205
158
218
228
175
173
193
230
183
238
213
229
227
250
184
199
302
144
274
235
246
253
233
262
247
225
226
211
235
257
242
238
166
178
192
236
200
236
276
126
201
273
178
259
229
229
242
238
273
284
178
277
181
306
262
207
209
162
244
284
212
280
207
284
278
211
154
193
249
219
191
175
258
292
235
245
272
191
223
192
158
222
240
198
310
306
218
295
181
202
240
221
190
188
154
246
229
272
241
211
283
213
259
284
231
157
275
256
151
185
173
171
196
186
215
215
248
222
231
228
251
204
230
252
200
184
275
245
170
177
213
187
208
216
222
250
195
275
223
175
200
215
202
290
261
240
226
164
201
191
192
181
206
114
241
233
214
210
272
274
166
197
191
238
180
342
156
207
255
246
209
238
217
231
237
214
218
184
194
272
166
166
224
203
209
196
210
229
253
197
173
126
200
214
253
312
154
162
241
249
280
260
258
184
249
224
213
180
181
160
230
262
178
175
239
225
201
160
219
200
209
195
211
170
146
217
171
237
193
297
258
223
191
325
274
228
232
207
206
257
219
347
269
260
233
234
205
195
225
139
237
250
222
318
283
262
256
270
224
230
191
249
178
160
221
266
192
179
192
255
219
203
290
244
187
126
163
271
186
217
309
267
234
280
260
186
221
199
236
206
207
154
224
308
199
189
197
248
252
217
285
155
282
260
295
145
222
170
258
229
240
231
244
181
223
160
313
223
225
193
286
179
229
234
256
173
216
194
267
217
220
218
289
297
192
247
326
294
271
248
208
225
199
212
239
170
168
181
227
250
250
239
189
193
209
220
116
217
279
206
187
184
208
139
244
232
218
201
270
210
267
239
285
202
246
335
253
192
266
168
282
231
255
305
206
230
210
223
286
234
247
215
226
222
249
210
216
207
232
184
206
207
242
299
181
192
258
271
219
264
139
195
188
260
207
251
146
222
164
180
185
237
240
133
326
181
207
257
237
170
272
180
185
251
170
188
191
203
288
244
271
151
180
253
262
165
205
221
196
217
250
262
194
224
273
197
229
227
198
206
207
194
207
190
210
211
178
262
290
203
234
267
206
182
215
196
222
198
215
238
186
294
181
310
208
226
186
233
169
232
170
114
247
139
278
186
243
314
239
256
179
220
234
126
210
201
196
268
209
269
207
296
218
192
226
295
252
321
211
242
262
170
106
223
204
200
280
200
250
274
221
129
237
288
226
228
244
196
190
260
211
160
214
258
209
247
199
185
189
114
240
209
181
220
236
230
202
233
262
259
252
205
280
168
197
226
223
265
145
210
204
108
234
255
247
243
168
219
202
269
184
282
204
263
139
204
233
243
249
236
210
297
246
303
213
243
220
231
220
252
271
222
245
158
244
195
255
289
282
149
121
288
201
226
209
263
318
266
256
274
219
241
235
222
280
160
239
220
181
265
211
242
195
276
242
223
126
283
190
336
289
160
180
224
254
241
248
201
187
229
194
222
239
268
260
254
238
236
224
189
176
114
204
181
262
242
243
226
254
222
213
225
225
351
264
190
207
240
224
158
211
201
241
152
172
191
263
152
146
268
234
277
272
218
247
240
213
199
139
203
201
291
198
240
213
229
278
165
254
184
193
226
193
232
215
251
215
222
253
254
213
252
193
269
256
196
255
247
126
318
260
308
326
191
175
198
198
257
285
160
289
213
238
281
279
209
226
247
259
194
306
167
204
249
121
114
181
263
307
237
306
178
246
208
209
221
217
205
180
191
279
277
233
237
189
176
294
243
208
139
278
226
208
224
170
214
229
219
166
222
106
258
187
253
139
243
218
198
198
178
209
208
196
151
290
206
168
168
170
200
246
208
214
216
214
224
179
218
208
263
154
181
186
223
194
198
248
231
230
262
154
206
229
247
247
293
206
270
268
274
258
178
244
211
273
266
156
272
245
256
152
173
211
185
298
246
233
271
171
252
230
298
360
263
235
175
220
152
229
114
265
196
175
215
176
269
152
276
232
227
289
155
241
232
230
267
200
228
229
282
211
183
156
288
190
236
241
220
281
114
305
185
219
249
194
223
227
238
225
220
191
188
251
213
215
204
191
200
354
190
186
248
189
165
229
191
236
305
179
254
263
277
273
227
181
163
253
303
203
283
286
184
241
246
243
208
176
232
207
303
158
243
254
243
166
152
114
254
216
224
293
275
256
236
282
202
152
296
208
173
238
173
181
261
246
192
276
225
259
275
186
271
197
217
201
133
204
269
330
221
282
204
229
261
207
209
170
227
178
250
314
182
210
220
223
200
203
242
281
356
179
285
285
254
275
224
278
217
130
197
260
263
207
211
281
215
212
220
185
237
215
325
202
149
275
255
252
224
202
237
166
244
152
254
247
196
208
233
160
182
169
194
294
235
247
288
239
267
256
230
245
235
146
208
220
203
149
197
249
262
210
196
239
179
205
211
237
154
253
198
210
200
215
243
194
214
201
209
286
192
126
139
173
178
212
275
267
240
263
246
240
307
184
196
298
275
225
237
317
233
168
196
260
265
208
213
290
196
232
229
192
233
189
179
227
259
208
274
207
190
268
270
181
170
234
213
271
250
273
192
284
219
225
167
324
192
278
251
195
242
208
312
231
270
235
225
148
367
242
194
291
170
114
307
244
215
228
216
194
307
180
278
206
270
114
178
244
185
201
186
286
114
224
193
221
267
240
130
192
206
242
161
121
181
208
215
180
188
160
193
204
220
149
201
196
275
208
284
281
263
173
257
193
240
230
194
224
254
225
244
137
225
247
158
195
204
188
228
211
209
176
296
226
174
226
178
245
271
243
293
242
179
184
267
342
170
205
279
223
273
311
259
201
310
313
222
203
156
248
207
327
229
275
238
216
162
207
180
240
208
257
222
349
247
176
179
245
292
193
250
286
288
314
213
272
277
208
231
320
261
260
170
156
222
246
194
209
233
185
220
351
154
245
200
194
195
257
177
364
181
275
261
272
192
207
338
246
268
267
220
222
263
248
192
226
191
245
189
144
216
208
149
210
209
253
274
296
246
241
187
156
250
205
174
190
258
114
327
227
268
252
231
197
173
246
203
292
156
243
160
177
173
265
193
161
198
168
231
213
227
292
160
222
246
241
321
234
292
296
177
205
224
258
158
215
179
276
206
276
169
245
238
250
246
199
164
295
116
217
240
139
189
282
237
194
188
204
209
230
210
241
282
338
201
190
258
223
217
249
236
218
244
245
198
250
244
194
273
187
248
193
190
261
233
242
252
272
212
317
170
173
257
201
195
233
222
200
324
253
277
233
286
179
221
271
242
144
178
262
243
245
289
185
286
240
262
179
178
218
225
171
302
263
213
210
311
160
205
175
215
235
217
200
221
149
286
293
231
262
260
183
160
260
180
223
252
249
231
247
221
265
263
200
197
247
188
234
184
280
237
190
224
259
226
291
198
188
151
126
208
231
216
218
216
151
240
208
160
195
300
181
170
271
166
155
160
284
283
210
161
218
268
175
208
218
257
216
175
239
199
316
188
126
173
220
196
251
277
160
302
230
327
258
157
380
238
176
170
226
221
221
187
201
114
221
161
251
171
114
164
220
193
184
305
245
190
156
165
232
197
300
223
190
192
195
205
174
256
268
198
185
229
191
238
168
239
130
225
268
250
161
273
265
202
197
200
266
229
256
241
170
228
219
197
353
259
260
242
292
240
239
295
168
224
155
244
242
241
230
202
218
289
273
307
189
221
247
198
207
240
211
282
221
254
338
217
169
253
211
214
226
186
278
226
147
114
295
210
198
201
196
305
220
202
235
253
243
215
230
283
279
250
181
192
220
243
235
244
201
182
170
301
213
285
233
255
193
198
169
181
156
207
246
198
216
264
194
114
247
246
247
226
216
236
221
220
284
210
193
272
196
170
308
219
246
260
251
257
271
251
230
233
247
258
261
177
255
197
301
227
216
205
251
260
233
214
285
311
270
306
188
265
190
275
173
285
152
212
114
258
235
201
285
276
162
321
253
245
187
175
210
278
325
273
201
227
245
257
166
224
247
275
229
323
215
194
308
257
255
195
251
204
183
211
212
193
147
244
238
182
147
158
289
281
253
246
203
277
224
176
243
206
180
193
133
315
269
274
199
246
151
294
186
236
260
193
326
211
212
202
190
203
302
271
227
252
173
285
324
213
198
242
174
285
176
114
166
206
274
291
190
188
243
175
255
202
158
170
252
272
197
260
228
180
243
185
191
178
198
229
145
228
223
195
286
199
182
246
284
218
215
193
241
175
166
225
265
226
333
291
165
266
248
236
251
233
205
178
245
225
267
241
262
237
199
197
204
244
239
263
220
234
220
212
198
243
194
197
230
242
192
269
265
208
194
282
293
237
200
195
269
207
208
264
158
262
165
223
196
197
242
244
177
226
240
283
188
345
236
342
312
252
258
198
161
200
203
216
265
289
226
270
238
212
265
234
223
173
235
304
335
270
195
291
212
145
148
203
322
195
230
239
193
225
157
237
275
156
194
149
177
169
189
291
170
239
285
187
264
208
201
213
200
225
154
241
182
161
206
233
218
219
220
166
275
327
172
182
277
225
205
196
222
165
231
211
245
177
284
211
243
241
215
222
223
239
166
196
210
230
191
217
272
212
171
156
233
217
215
259
213
219
259
278
267
275
267
190
286
227
297
190
325
180
158
245
253
208
196
228
310
247
137
114
114
283
236
212
114
290
199
266
200
297
238
266
167
178
191
214
220
235
283
176
208
215
257
207
215
240
277
266
183
199
234
247
261
224
207
180
206
268
241
173
226
166
152
190
218
147
229
224
180
219
152
178
253
205
279
302
268
247
219
235
195
247
255
154
257
289
160
152
239
189
144
313
223
205
253
318
204
178
325
289
255
254
263
192
319
170
195
258
334
196
229
163
139
222
335
351
217
228
263
226
198
145
208
239
229
204
213
139
216
195
285
217
193
202
285
157
180
188
207
197
270
126
261
213
202
289
200
233
232
266
283
244
276
233
247
168
152
177
235
287
199
260
207
196
194
179
241
149
249
294
263
269
227
181
164
183
228
191
194
186
226
293
258
197
279
193
170
196
235
240
232
225
133
264
233
133
139
205
207
184
215
195
197
223
178
201
195
205
215
175
212
250
206
227
219
305
179
233
229
219
187
299
194
242
234
114
270
261
235
236
214
181
147
233
223
255
139
215
232
339
223
213
248
236
199
192
171
193
198
223
198
210
244
229
253
158
227
207
198
270
222
255
178
145
203
252
164
190
253
215
268
253
172
268
284
205
270
114
189
236
302
130
276
174
277
152
326
217
188
260
208
216
172
198
214
226
318
287
256
246
222
241
232
169
274
207
358
223
273
245
175
189
233
192
272
185
281
241
234
182
207
214
224
193
239
329
216
213
231
173
231
233
305
214
223
227
213
202
177
281
198
271
272
228
170
231
219
152
333
179
211
254
232
161
256
200
252
243
264
198
166
224
209
227
129
200
298
284
145
200
284
220
249
211
225
258
238
248
228
287
233
215
205
209
171
298
243
174
214
246
229
267
174
252
208
175
298
194
199
189
139
204
168
190
200
280
157
241
175
189
173
213
285
286
316
206
169
246
183
241
186
198
219
140
242
218
218
197
235
205
287
226
252
234
205
204
238
190
181
269
213
145
201
292
202
245
187
250
179
224
198
256
265
233
233
243
239
283
234
280
236
197
186
260
175
202
280
227
281
290
221
237
160
158
238
209
257
246
277
251
256
181
182
180
149
304
243
190
244
207
197
256
230
140
235
181
252
200
169
218
191
199
156
201
202
214
275
186
246
184
189
265
211
214
195
309
260
192
229
233
241
199
270
274
167
270
193
200
195
286
266
231
198
245
286
280
278
272
166
157
192
178
239
194
182
210
256
190
201
198
221
252
227
255
291
251
230
169
309
170
208
219
234
274
213
261
276
196
286
253
194
250
160
208
246
340
275
213
270
247
173
191
168
292
184
286
194
257
218
225
216
164
261
220
303
255
260
213
227
253
206
233
326
218
237
296
155
255
197
353
277
258
340
255
233
228
204
210
255
291
201
254
165
227
188
199
229
258
234
114
210
210
273
267
301
204
307
177
217
229
220
253
221
160
243
218
192
276
190
177
200
336
247
293
173
321
155
247
221
203
291
202
210
299
208
205
160
166
196
191
225
245
310
147
188
225
114
203
168
242
255
232
227
274
193
206
175
224
212
271
189
176
204
243
271
273
226
235
157
206
260
278
246
277
258
212
149
236
221
287
200
187
220
290
287
244
220
237
179
263
211
216
244
219
275
227
247
217
265
175
279
211
257
207
199
244
280
212
263
226
222
322
215
219
198
237
211
211
209
202
221
250
201
193
244
212
245
213
172
226
213
195
201
194
252
169
228
223
259
217
222
232
202
254
154
309
180
187
371
245
234
179
162
130
204
180
243
234
248
179
287
199
181
174
166
228
222
224
175
168
126
185
122
235
166
243
200
269
143
230
243
198
146
233
209
262
126
238
237
250
284
204
267
161
362
322
195
195
114
285
258
242
261
262
206
228
159
154
239
286
224
228
144
204
281
241
267
181
258
292
273
198
245
272
232
194
245
174
255
325
209
285
306
299
254
217
198
224
147
187
184
199
236
243
216
241
267
286
217
234
191
202
192
229
283
199
268
230
165
271
256
203
253
217
333
221
173
253
221
279
217
234
197
214
190
172
189
184
165
198
231
233
160
200
222
227
300
212
206
219
214
227
226
160
286
253
231
213
293
283
259
162
225
285
324
249
259
232
116
197
252
218
164
229
225
184
199
227
250
148
177
204
260
246
249
229
219
221
238
217
241
198
202
252
249
248
181
232
221
173
165
170
325
236
178
210
244
265
176
114
214
203
228
243
194
184
203
146
245
267
173
226
255
151
209
239
182
275
292
174
156
283
259
255
195
158
160
286
169
190
178
229
222
169
334
229
211
191
219
253
206
216
210
169
204
169
239
192
239
234
203
175
219
217
233
258
271
214
207
204
295
310
248
206
251
277
212
203
232
267
242
191
220
242
229
229
268
290
168
302
235
177
210
191
229
257
240
144
274
288
206
222
193
234
258
347
219
194
185
161
219
206
231
241
147
200
241
295
194
170
170
295
219
263
266
195
235
253
208
239
192
203
224
199
199
249
180
289
242
182
247
264
266
234
257
214
244
237
226
276
166
222
165
236
292
198
256
257
170
272
347
249
185
245
214
246
238
253
170
242
230
147
239
215
213
240
192
158
170
247
262
266
263
211
198
188
206
203
248
245
263
194
184
212
267
201
300
149
251
243
139
315
181
233
249
251
242
313
234
274
168
175
243
245
230
250
156
157
272
193
225
240
284
203
268
196
344
294
256
221
302
243
220
194
230
238
207
297
245
298
223
234
255
223
212
244
196
206
232
233
209
256
214
114
282
211
149
170
210
267
221
270
157
238
185
275
221
241
152
246
238
222
252
193
171
187
305
220
258
167
263
260
225
286
151
114
255
205
232
159
172
237
265
191
238
268
167
285
210
271
246
341
188
237
170
146
181
233
168
239
246
195
269
219
215
235
217
241
193
304
197
229
222
239
258
160
234
161
300
179
260
276
116
237
209
257
247
238
189
244
228
199
250
250
214
145
290
197
256
190
169
114
248
168
222
197
158
195
277
214
235
170
212
230
245
201
159
274
237
244
231
188
234
190
273
249
286
236
198
292
269
258
249
255
210
200
154
302
228
198
217
242
216
248
188
178
297
221
188
227
229
261
253
152
254
242
160
198
177
284
198
165
211
176
244
301
253
223
219
114
223
214
252
228
282
249
121
173
196
222
205
275
289
206
249
210
180
285
238
151
236
231
211
195
197
206
222
246
156
229
192
241
260
170
139
263
243
228
309
249
214
221
244
217
214
227
242
183
211
236
211
114
184
225
254
210
162
161
206
247
237
195
233
234
208
265
217
273
215
210
183
262
246
277
151
235
195
337
229
222
253
309
251
202
257
156
264
223
152
255
198
210
326
218
265
178
264
243
219
240
207
256
229
192
146
217
211
231
214
262
258
189
248
213
216
222
202
231
196
226
284
148
204
184
262
296
185
224
195
281
227
182
236
232
195
236
227
261
213
285
201
273
221
244
270
156
248
178
130
201
156
232
213
241
200
254
268
235
249
211
261
225
227
187
181
276
193
223
207
255
273
189
228
247
286
195
243
214
227
137
229
179
159
130
241
275
226
175
237
233
215
219
245
243
252
254
223
209
154
222
223
180
232
223
239
188
211
183
229
262
237
251
220
180
212
225
202
227
238
126
192
200
268
232
260
270
295
249
241
177
221
152
263
260
255
186
195
207
168
214
230
157
252
340
156
201
219
247
220
252
225
256
215
203
253
227
266
189
278
157
343
199
234
173
225
234
201
364
245
190
252
316
140
206
237
174
176
280
254
251
261
277
260
151
303
243
177
296
205
245
233
240
137
217
234
291
311
189
204
214
126
228
192
203
181
149
237
239
178
317
203
222
191
203
254
158
234
289
190
178
212
220
158
214
280
236
242
228
166
178
183
206
193
175
243
295
198
216
176
114
240
275
214
240
253
218
155
295
198
187
160
218
126
205
215
121
258
175
246
173
237
218
172
285
297
208
219
114
243
229
178
178
258
237
146
276
210
279
277
193
197
283
356
235
173
250
215
221
170
260
170
294
205
199
207
280
199
114
246
157
264
211
211
232
178
250
190
203
239
183
194
219
197
258
224
273
231
202
205
163
239
189
228
222
249
239
231
255
280
328
217
208
242
189
129
209
161
210
236
156
238
189
236
214
178
232
232
144
150
154
220
195
175
251
282
193
198
208
282
274
201
220
269
256
224
156
227
244
237
271
161
181
169
287
126
173
382
289
193
178
230
257
269
211
273
330
231
189
261
160
277
239
251
199
196
180
176
226
245
249
200
218
201
162
164
261
278
246
279
222
249
221
294
181
299
250
200
297
175
223
171
271
220
272
185
269
280
283
170
213
228
234
220
179
191
263
139
230
238
173
255
173
211
264
233
186
280
288
251
287
221
198
268
192
194
213
186
192
210
148
229
235
174
114
238
243
215
151
301
217
281
175
219
222
206
133
351
285
253
148
286
276
165
220
224
261
149
283
209
181
175
236
219
214
165
309
232
156
251
243
189
251
233
126
310
252
202
201
224
207
148
251
216
259
249
177
227
300
223
268
316
222
189
200
181
194
205
222
200
249
207
238
165
244
208
252
219
249
260
231
202
218
195
262
149
200
246
209
253
225
173
181
234
260
210
310
266
193
213
270
195
279
213
144
239
260
191
114
218
296
281
311
231
280
152
276
235
220
160
209
238
196
236
282
295
193
225
190
284
194
161
204
274
205
253
219
236
245
230
168
191
225
240
171
268
225
227
170
189
336
174
203
176
193
260
176
198
106
250
218
317
234
147
226
275
191
312
272
226
210
114
209
290
145
266
239
204
207
196
254
206
253
284
231
188
295
200
223
295
297
249
154
224
255
203
208
208
192
206
235
208
255
202
245
278
193
149
255
181
186
221
267
272
201
326
252
235
182
145
169
234
300
220
233
188
245
266
224
167
257
212
210
272
240
189
175
237
260
235
188
257
205
213
281
192
265
225
224
233
146
245
195
134
260
189
276
305
189
345
240
215
344
262
173
186
217
224
160
176
271
200
281
114
196
266
223
280
182
232
230
190
237
256
273
197
272
251
244
191
241
148
213
175
217
309
250
189
295
114
230
218
228
198
208
167
270
210
280
196
301
184
256
230
192
229
238
114
213
234
209
261
246
176
152
289
201
154
281
317
243
129
276
217
276
294
155
194
287
232
245
245
295
171
206
272
278
219
214
173
263
193
197
230
227
114
178
226
230
197
194
126
192
262
180
223
183
226
265
273
216
254
253
256
151
196
300
214
232
218
239
227
214
208
246
294
156
268
197
272
198
242
247
198
191
180
179
178
198
241
159
207
179
194
249
187
240
201
223
217
185
239
226
270
246
211
262
164
304
154
260
187
279
313
173
146
248
199
164
238
235
175
255
245
225
215
180
278
228
229
241
225
179
191
183
195
215
261
257
225
193
231
286
249
243
233
228
244
210
198
284
173
280
194
238
208
262
175
206
171
198
271
242
188
220
205
313
283
222
271
199
259
185
194
192
192
205
212
279
251
252
240
181
178
224
172
225
291
139
231
312
233
213
231
185
196
263
307
249
169
234
250
291
233
191
247
182
263
205
313
209
266
212
174
191
175
269
212
220
228
223
195
208
162
204
272
272
232
116
191
225
209
201
260
220
258
160
328
210
186
226
177
198
229
174
245
284
225
283
175
114
292
141
198
198
166
224
261
196
200
227
247
247
205
252
304
163
310
245
248
212
114
268
234
165
208
176
239
228
210
289
206
208
234
260
293
285
240
210
222
185
241
206
271
175
156
114
206
168
211
215
300
290
233
188
210
203
208
256
234
261
170
221
225
237
202
251
170
196
173
176
273
244
283
193
192
184
201
242
245
299
304
225
215
253
177
182
224
198
189
228
269
227
200
229
211
197
198
152
217
299
227
302
116
251
219
295
154
199
234
242
201
213
241
245
273
226
198
197
275
151
277
205
270
230
223
192
226
268
240
242
226
243
209
240
225
263
224
204
221
252
275
178
221
235
208
184
229
245
209
311
192
168
194
239
323
169
216
126
211
238
217
218
163
177
336
216
184
218
212
243
251
219
303
208
288
252
224
158
239
293
255
200
289
178
193
276
296
231
254
335
234
147
281
190
182
187
114
220
194
219
269
224
204
329
172
257
325
225
187
280
257
250
116
261
231
226
239
269
285
197
204
197
194
297
288
195
215
236
237
182
253
168
263
253
272
198
263
185
204
190
192
214
327
175
275
156
256
249
260
230
239
224
220
153
162
218
295
247
159
209
192
214
256
192
255
215
173
170
156
251
183
222
266
225
210
212
114
177
178
182
169
298
198
178
265
203
221
254
163
152
281
208
185
251
229
228
261
187
201
220
233
178
223
249
303
230
272
248
280
236
159
249
168
171
232
231
242
199
241
204
156
226
328
232
231
329
221
196
246
185
237
285
267
241
194
192
233
220
254
160
261
220
201
178
175
246
262
194
207
232
266
208
218
213
201
213
213
215
214
243
269
161
223
204
167
240
289
230
203
284
213
191
331
316
204
155
238
174
219
223
198
282
237
272
185
280
265
190
229
250
271
299
166
160
283
218
240
224
314
256
171
259
221
229
181
246
234
150
158
318
208
246
212
227
171
229
189
257
160
253
165
258
191
235
220
185
222
219
192
201
200
231
226
245
239
196
290
153
224
265
222
262
217
210
195
255
204
191
181
256
245
253
207
280
272
244
249
183
207
198
198
265
198
267
222
173
201
246
190
206
176
173
208
228
260
214
272
312
238
292
196
114
233
212
195
234
154
228
242
145
242
243
146
300
180
179
284
114
220
263
231
345
195
290
231
229
227
215
278
221
319
257
246
245
173
170
216
242
307
273
308
180
272
305
218
223
204
205
163
172
191
258
294
217
232
151
202
247
267
203
220
166
318
170
235
261
271
209
167
258
191
200
215
262
256
191
172
203
139
225
219
190
245
201
239
197
204
173
236
239
242
236
243
247
234
258
187
155
279
200
194
222
266
249
238
220
219
236
205
185
278
224
198
223
196
183
203
210
158
208
259
193
178
181
271
226
187
160
187
173
182
197
182
223
149
292
218
239
246
295
193
210
205
238
175
316
243
207
238
256
192
221
194
260
346
242
234
199
223
259
183
295
204
265
293
258
261
242
214
215
210
222
165
220
226
290
289
290
179
179
209
273
241
311
170
208
306
241
265
234
322
238
175
170
312
258
174
253
348
218
192
174
292
206
239
217
195
283
285
160
163
166
184
231
230
198
193
152
232
213
212
272
231
180
175
175
183
232
255
230
229
230
162
114
216
249
266
236
242
240
286
234
232
173
247
195
148
207
244
177
253
212
275
243
242
197
201
186
114
204
219
271
250
199
170
336
285
222
239
210
181
166
274
195
191
265
268
216
276
181
243
227
139
194
215
279
236
178
212
196
224
259
238
240
162
276
252
290
195
220
192
258
192
254
299
302
268
238
290
161
275
231
261
248
287
139
265
259
195
210
213
258
220
215
211
196
278
227
201
233
249
177
235
198
308
247
217
308
223
114
285
176
239
206
198
293
216
255
212
271
185
253
193
281
286
256
211
226
198
204
222
233
241
255
198
217
256
181
211
161
198
207
190
233
213
230
201
219
247
276
260
148
192
164
200
130
211
229
215
265
215
257
291
178
229
264
196
205
218
173
210
294
230
139
196
239
249
196
206
277
254
170
233
253
206
184
257
199
243
254
197
173
225
261
239
184
166
214
257
339
114
226
206
253
194
169
232
315
274
214
231
188
221
177
238
279
203
243
181
186
277
216
252
224
222
318
265
245
254
220
215
270
194
186
247
233
226
186
220
114
244
190
261
270
260
256
245
256
280
215
245
170
257
306
185
218
146
267
239
285
198
288
235
179
175
242
192
195
218
343
222
273
263
194
191
268
224
199
208
260
187
245
263
253
240
220
250
145
173
213
250
271
160
200
199
333
160
297
238
261
204
221
260
239
269
180
114
192
159
202
287
241
199
171
192
231
193
245
158
199
254
259
156
276
214
121
248
263
250
201
231
284
165
360
273
224
196
193
214
157
224
257
241
239
255
180
186
262
285
214
156
276
173
227
186
240
174
181
209
185
198
266
166
219
191
247
211
214
162
296
252
223
271
164
201
201
190
234
231
172
206
186
161
242
295
180
220
249
224
261
248
169
202
208
295
278
213
277
162
196
198
237
169
222
266
164
205
285
231
256
165
202
266
188
233
235
151
200
168
331
285
218
241
206
160
284
222
285
220
361
236
252
215
171
237
211
204
212
282
275
344
300
160
248
194
289
225
245
358
225
211
213
168
239
242
236
190
289
266
229
179
168
158
253
205
236
170
243
160
187
201
198
114
188
242
247
338
263
236
211
262
188
279
232
220
207
177
185
232
215
168
223
261
278
280
184
227
286
252
170
268
208
162
261
226
308
222
253
281
340
284
265
299
271
241
253
270
247
208
248
202
247
254
228
254
311
301
189
254
239
232
222
259
201
233
223
265
262
216
168
303
339
234
211
268
221
187
175
204
219
223
203
282
271
234
191
177
189
263
188
324
163
206
170
205
287
202
206
257
256
183
262
126
195
230
267
259
274
254
236
145
229
175
210
209
221
273
244
233
161
290
200
263
198
175
205
273
190
170
161
261
307
157
212
247
186
221
291
198
217
217
247
190
252
239
258
202
250
284
187
206
164
238
178
173
225
292
263
265
195
274
258
218
283
220
334
209
288
247
171
219
305
201
214
229
215
223
246
213
233
280
275
211
343
175
264
241
141
216
214
174
293
214
259
323
257
270
229
181
276
197
185
178
216
209
221
244
219
257
194
255
178
169
187
305
268
214
253
238
282
251
281
251
283
326
363
225
204
243
279
222
254
129
262
220
252
212
271
191
230
208
220
281
164
243
187
149
250
205
152
209
219
202
200
214
231
333
261
256
211
200
204
268
149
303
152
290
342
230
193
193
267
199
214
220
306
177
229
180
183
172
235
235
252
238
214
270
243
233
129
405
201
224
180
173
262
336
126
206
189
255
225
234
195
235
295
174
242
284
331
301
288
272
225
224
247
177
238
219
161
172
176
195
178
182
209
184
241
228
269
234
299
256
288
286
165
216
154
201
219
114
206
227
217
197
261
231
244
298
275
299
185
241
171
260
256
170
221
243
233
225
281
203
211
195
287
215
237
236
246
274
228
212
236
244
183
148
299
270
214
241
248
257
196
245
313
227
151
288
116
264
240
242
250
261
262
229
208
258
178
156
260
178
230
219
181
208
219
175
194
191
221
171
221
230
223
192
260
183
185
216
219
200
231
243
164
249
201
266
287
255
194
152
144
257
298
193
217
236
178
173
159
300
226
254
277
255
252
265
247
271
183
266
223
251
227
297
217
160
179
302
261
151
170
287
269
157
322
201
249
208
234
237
198
166
300
245
185
207
183
164
255
198
315
182
300
264
192
279
285
156
203
198
234
218
186
174
247
203
233
197
221
212
225
189
241
227
191
233
272
228
201
265
195
203
249
277
226
266
229
173
257
209
243
213
334
199
317
146
208
196
274
262
233
226
260
170
251
275
338
213
204
218
173
183
203
235
156
196
180
303
187
227
212
205
196
220
199
178
204
258
269
259
263
259
175
200
203
169
283
174
229
206
204
196
193
204
162
289
197
177
126
231
227
213
284
234
293
199
223
186
241
232
251
191
311
235
168
293
206
276
182
114
287
259
177
179
288
170
177
208
210
222
243
341
208
175
256
195
318
160
162
318
196
180
245
248
214
221
241
195
260
235
266
299
299
195
269
241
235
173
295
261
256
297
241
179
161
331
232
188
165
271
246
224
264
188
233
254
187
235
258
198
190
214
275
207
301
172
351
272
243
198
210
187
247
253
229
166
241
157
273
192
198
241
262
194
260
240
189
145
257
232
233
236
270
259
241
165
219
271
167
278
267
215
206
198
287
189
158
187
216
287
205
114
203
239
231
230
242
196
228
230
272
208
317
177
253
195
232
232
213
237
198
223
215
226
215
145
289
251
158
168
241
268
264
205
191
286
170
177
280
205
307
188
226
291
220
195
234
145
205
215
187
273
206
152
194
162
213
283
288
325
240
219
199
180
271
264
162
184
251
290
226
170
175
215
225
283
188
285
195
208
260
174
230
247
260
198
188
258
229
170
239
175
206
238
222
232
207
286
198
213
267
292
216
200
154
180
193
265
225
285
258
188
277
215
270
198
234
232
174
249
291
231
216
236
147
178
126
174
126
256
175
172
233
192
267
218
258
292
257
219
210
242
298
216
211
215
175
284
218
201
277
231
272
211
262
212
216
209
248
229
176
275
280
186
303
160
216
240
289
193
199
233
241
192
183
218
271
251
282
213
302
158
219
279
263
178
194
241
226
278
237
250
227
214
114
171
139
303
313
192
232
243
149
238
308
294
240
248
257
211
277
158
226
247
201
151
169
229
204
213
211
212
178
289
250
268
202
229
240
263
253
114
235
237
198
271
194
220
151
195
258
279
226
205
235
227
259
186
236
270
227
169
277
204
267
256
235
165
220
174
181
233
221
254
217
182
299
241
179
329
274
199
202
232
158
226
232
190
209
189
250
264
206
254
193
114
292
170
234
205
198
245
195
249
203
307
220
114
215
180
213
232
253
207
181
253
296
227
217
226
228
200
205
219
225
251
202
220
249
217
152
195
217
277
202
167
283
218
257
256
203
258
243
146
255
329
213
202
234
198
335
247
184
186
286
200
215
186
255
169
214
244
264
295
215
221
334
228
307
246
266
232
280
235
237
261
243
246
250
251
240
226
208
213
201
203
172
216
276
326
239
191
277
229
139
286
200
297
265
252
235
180
157
154
207
186
229
292
240
290
224
211
217
242
265
215
259
213
262
205
246
276
146
255
196
288
161
337
209
261
211
258
303
226
238
163
234
181
167
279
257
270
213
346
284
329
190
139
192
275
218
232
129
304
221
253
166
242
280
215
208
280
307
242
297
247
276
170
249
222
224
247
297
235
253
243
249
245
173
347
253
241
244
234
261
281
202
308
191
190
248
230
149
240
214
220
327
158
247
386
215
246
244
161
147
303
156
220
197
154
195
223
201
238
143
218
287
365
233
191
227
227
266
233
199
156
322
231
228
191
214
165
234
152
266
212
268
179
260
227
225
214
242
216
158
191
210
266
191
208
189
239
242
298
176
232
231
309
181
270
116
191
146
256
253
250
264
254
195
256
207
263
227
306
325
215
225
198
227
228
232
184
231
276
265
222
204
144
178
195
126
186
147
212
257
170
263
252
220
247
253
177
199
344
213
173
225
263
184
198
311
222
219
290
176
182
226
236
257
275
165
211
233
162
186
185
231
200
180
310
184
198
264
215
273
219
328
201
202
241
181
245
223
167
215
222
191
215
206
137
224
209
217
246
254
181
114
215
152
208
241
295
232
213
174
270
197
241
184
209
206
247
298
248
265
170
220
259
275
173
210
146
252
175
168
114
257
166
266
248
246
242
240
255
209
269
190
318
220
305
130
246
223
243
145
325
241
206
169
188
209
215
231
230
174
250
269
253
228
202
194
204
249
323
173
212
238
268
176
170
250
193
261
192
240
181
248
264
295
259
305
225
290
280
238
228
262
276
205
180
243
211
185
254
211
128
146
240
238
235
207
189
264
257
275
190
257
222
209
279
243
278
177
239
214
158
207
209
299
265
227
183
292
178
264
114
208
250
202
214
212
191
244
255
230
204
246
230
208
219
170
179
248
181
257
247
233
254
148
178
206
232
235
274
239
270
239
223
264
232
106
201
223
146
291
194
199
280
203
156
170
179
180
179
216
245
169
242
227
244
287
244
294
166
222
194
300
193
170
225
216
220
202
225
240
247
233
325
320
184
240
214
199
239
229
340
249
228
211
308
203
308
114
211
226
246
205
283
197
233
300
217
257
237
208
299
225
193
215
246
255
170
249
170
237
186
280
304
183
172
276
175
224
208
198
213
163
149
226
178
114
196
287
189
219
207
266
170
245
173
236
161
213
211
247
192
250
220
225
264
210
243
190
139
263
248
239
237
247
234
254
214
221
351
222
200
236
215
293
218
168
178
225
195
181
262
214
257
192
203
281
170
239
149
233
200
214
236
300
256
219
198
290
260
215
209
211
223
238
191
210
266
242
205
166
234
274
193
203
169
231
251
284
270
198
114
242
189
218
306
159
175
195
188
297
192
205
245
257
193
266
231
225
177
213
189
220
232
199
175
172
257
179
194
252
214
234
314
207
231
176
226
290
188
303
205
158
277
253
218
207
229
257
174
264
174
192
194
234
232
249
248
187
256
226
266
144
246
344
180
210
211
180
168
158
190
156
201
224
255
194
221
241
230
219
217
263
244
242
280
198
174
256
210
129
221
290
264
262
266
183
261
191
139
191
209
198
213
149
305
155
195
177
189
191
241
191
286
245
291
247
176
267
253
194
200
264
216
203
205
232
167
235
233
191
227
269
232
237
299
193
296
247
255
158
211
186
230
253
300
187
225
196
165
193
209
229
212
227
245
316
195
244
199
264
237
290
245
223
246
282
242
256
212
210
233
170
259
211
237
106
246
277
182
247
228
227
169
190
230
201
246
158
191
133
258
240
170
256
114
293
187
200
226
211
322
208
254
211
244
189
271
255
233
197
318
265
238
212
216
332
230
260
291
209
214
189
280
243
158
186
235
197
219
184
206
184
192
208
206
154
218
221
209
288
181
244
194
238
114
212
144
329
192
267
224
278
155
198
302
225
190
231
218
245
165
306
260
168
216
225
224
239
241
224
156
280
217
224
191
151
317
310
188
201
203
333
275
153
207
236
231
139
221
178
270
229
203
217
233
248
159
255
209
229
233
232
114
245
257
280
231
216
220
188
219
330
287
240
198
211
215
221
216
267
275
219
219
208
236
148
260
281
246
167
272
226
208
185
326
228
147
196
170
204
227
280
225
214
184
108
229
218
193
184
145
251
256
255
170
191
114
260
211
278
178
265
169
257
213
216
225
234
220
263
259
208
240
280
241
261
225
176
209
229
209
212
199
174
299
323
219
249
238
227
207
183
284
221
202
248
244
232
245
179
296
251
238
272
213
231
191
265
236
246
235
222
232
305
284
259
187
194
251
230
241
217
214
211
227
249
257
166
264
200
221
242
188
266
248
223
219
256
314
205
256
215
261
252
156
300
214
233
148
218
236
258
293
256
224
188
268
191
273
213
232
217
159
239
195
208
183
236
151
252
263
225
236
246
277
114
212
278
181
243
238
216
177
259
218
227
215
201
174
212
242
207
207
225
244
206
216
179
240
231
240
252
202
264
207
209
157
193
301
181
284
180
222
199
244
214
199
217
185
200
169
180
225
179
286
208
199
236
177
290
253
145
155
233
271
205
244
192
251
174
237
271
226
302
186
270
280
209
196
134
279
246
218
219
202
216
245
259
275
231
261
257
247
231
193
216
174
114
261
239
219
244
196
158
183
212
259
156
146
233
213
252
169
260
240
313
176
199
214
227
116
195
308
253
160
207
207
264
203
250
170
152
223
256
240
174
214
242
278
300
239
178
201
214
190
234
213
207
252
159
215
193
313
232
144
211
222
294
181
151
235
202
272
233
213
139
233
213
227
190
169
236
229
235
220
280
162
260
220
227
252
162
205
274
208
188
264
171
254
198
215
221
220
192
300
276
193
159
216
191
247
170
252
221
256
215
208
200
191
173
262
221
227
169
229
297
222
273
156
187
214
173
173
191
220
236
156
208
305
158
160
237
283
151
272
251
375
302
236
200
318
216
245
213
227
228
292
244
261
207
254
169
233
281
212
164
261
187
258
173
155
274
222
203
201
225
233
236
238
240
220
232
239
299
209
185
245
224
303
291
216
289
174
207
200
265
285
294
227
324
259
192
287
156
200
214
245
234
214
247
185
158
142
215
230
173
167
190
222
313
212
333
149
298
241
180
170
160
177
341
193
233
209
189
213
169
200
178
223
239
228
241
228
249
182
250
311
182
204
236
198
173
283
256
218
181
321
160
236
222
152
219
174
159
204
199
306
315
211
277
191
235
208
315
249
201
201
188
175
254
202
240
279
215
190
175
225
230
214
216
183
217
135
217
214
265
316
240
306
289
285
225
194
219
287
114
149
224
205
256
220
250
214
175
175
228
229
222
160
213
239
242
166
202
276
183
300
220
226
227
152
259
178
200
270
233
162
219
264
194
266
240
205
153
261
202
238
156
250
206
235
236
205
254
225
218
234
235
259
222
227
283
236
173
164
216
185
220
348
201
204
145
211
279
198
252
151
244
197
222
241
300
192
178
249
217
174
223
180
330
245
229
277
178
209
141
278
262
246
178
172
221
232
210
218
198
284
249
214
158
215
149
200
241
258
297
311
192
234
232
162
186
252
173
163
211
196
191
192
274
236
206
240
191
202
244
243
257
202
259
287
204
288
178
259
227
179
213
170
212
258
147
238
195
220
175
161
247
248
219
298
250
222
121
226
336
217
270
209
290
192
252
205
221
243
160
182
241
214
255
146
156
266
242
192
200
216
174
186
234
218
281
233
194
234
253
222
297
279
272
276
239
250
208
170
203
240
160
198
198
215
307
244
283
232
207
174
206
153
245
212
243
239
214
237
219
213
202
252
249
220
173
280
276
264
325
158
187
152
241
225
175
201
185
156
215
210
205
170
301
256
277
181
222
211
260
265
252
152
252
201
174
312
237
225
257
227
180
158
148
237
234
159
264
175
220
296
247
257
165
215
220
234
213
273
230
241
184
200
220
212
201
212
222
248
188
253
217
193
215
192
176
275
281
226
232
279
191
238
181
204
240
175
280
268
221
215
204
271
263
165
303
231
294
214
262
164
265
303
232
187
198
239
288
188
269
261
186
205
202
215
200
257
175
227
173
188
200
223
207
253
286
284
249
177
256
314
245
248
261
176
199
272
158
166
213
183
247
263
366
186
245
174
231
213
199
209
263
228
242
222
299
170
208
279
274
134
156
270
164
232
193
230
274
106
256
201
243
243
219
242
198
254
301
308
181
200
305
311
262
244
154
243
214
268
178
274
270
253
218
220
264
235
199
231
288
128
193
191
209
205
200
114
268
156
218
277
292
151
271
175
178
225
277
139
199
205
188
195
179
246
223
185
230
198
205
217
222
223
213
264
162
194
279
195
175
278
246
261
236
174
207
160
239
177
148
206
216
177
243
246
184
235
179
160
250
292
121
254
238
208
220
203
228
217
257
229
260
262
208
238
249
114
264
221
172
244
259
211
160
116
321
174
227
254
253
274
203
270
160
248
176
178
212
247
171
158
220
179
169
319
281
213
264
258
177
211
275
315
233
245
258
298
313
240
271
270
254
246
209
227
279
182
211
254
192
184
121
226
186
293
242
149
200
230
222
212
220
221
191
263
200
212
226
269
231
225
195
223
204
162
239
260
146
197
241
248
114
285
198
254
151
255
333
190
245
178
190
252
227
272
251
176
164
148
254
222
164
173
275
195
208
215
270
187
152
185
276
238
235
267
312
324
207
289
229
259
286
179
262
343
253
232
227
234
206
239
226
152
207
178
274
214
199
218
196
241
187
179
151
260
229
173
196
319
197
152
254
213
273
252
214
265
156
345
173
263
306
171
302
148
200
285
256
247
293
251
306
183
249
240
181
217
294
181
199
156
286
190
170
327
196
215
257
206
262
170
309
229
257
200
173
281
288
196
209
226
276
203
200
248
268
170
238
185
162
227
239
175
205
233
262
184
198
192
229
185
265
208
201
202
313
187
247
247
236
236
254
198
203
199
208
255
230
221
237
190
250
263
262
263
265
145
156
240
157
194
191
227
184
176
184
222
226
154
170
157
263
248
114
200
213
237
173
241
330
208
206
198
215
164
302
276
263
160
192
209
240
333
231
277
284
218
215
194
240
274
246
264
244
186
293
236
169
265
182
216
210
226
230
235
253
227
194
253
227
242
237
245
276
281
231
221
179
184
200
311
205
147
172
246
287
180
223
270
223
270
192
218
245
233
239
212
178
234
194
175
299
247
267
311
315
252
225
239
195
192
121
198
223
173
253
259
226
235
251
149
213
230
220
234
214
222
219
206
234
234
222
217
306
217
192
227
210
262
276
343
201
190
225
199
173
236
268
191
160
225
233
258
254
219
169
247
285
227
238
289
152
198
195
129
258
225
170
213
227
169
162
275
213
175
243
218
191
183
179
249
245
175
114
168
200
212
269
250
192
230
270
213
208
203
219
273
252
231
184
258
251
154
190
180
167
151
235
247
251
171
261
219
294
211
185
170
174
233
192
268
249
262
223
247
256
178
259
208
244
223
158
178
246
249
275
195
151
242
219
214
166
225
229
257
170
213
174
208
290
228
259
252
290
207
218
170
200
225
144
284
215
324
179
198
315
257
252
211
245
236
238
228
307
239
242
230
182
254
214
203
267
321
229
304
178
225
242
201
192
210
315
237
246
240
206
197
193
300
257
241
126
148
167
194
263
190
265
214
220
165
230
225
238
311
230
311
279
165
252
213
189
178
215
213
178
168
216
310
276
261
214
203
241
106
290
175
183
173
306
163
244
226
222
230
279
224
299
160
114
243
242
273
213
278
260
273
210
169
200
161
277
210
180
281
235
282
231
263
231
205
250
181
254
227
201
222
239
175
241
201
114
158
179
190
235
205
258
272
253
262
236
193
253
258
141
237
218
277
215
250
230
213
205
221
188
234
296
253
168
179
237
252
162
239
192
231
186
248
221
224
283
238
181
217
181
242
150
170
239
304
240
212
286
147
218
264
257
207
172
180
206
258
197
161
220
195
185
244
234
116
350
279
326
238
209
258
186
231
223
254
218
175
154
331
254
114
173
167
312
234
156
198
258
290
262
310
283
231
277
264
247
209
184
139
207
308
270
199
370
243
211
227
255
181
234
414
208
114
249
181
139
156
212
181
241
276
274
281
215
201
227
216
182
208
247
293
251
189
178
253
245
214
235
218
200
227
208
248
213
246
241
200
225
198
181
265
208
270
266
240
240
228
170
176
257
212
152
253
256
275
317
156
203
249
215
130
247
206
287
235
255
148
303
161
197
232
180
179
243
219
270
193
151
251
266
183
288
222
327
192
178
260
198
208
221
188
217
165
186
219
148
207
230
189
164
276
241
249
297
114
222
263
274
195
326
290
267
284
151
203
243
205
239
162
265
188
106
237
162
203
216
246
244
223
229
237
197
268
255
216
194
190
241
271
230
213
203
196
221
287
157
241
273
126
348
231
176
267
198
243
238
271
192
248
193
245
174
311
285
181
223
188
197
239
300
249
181
225
324
236
191
233
170
277
255
225
191
200
130
274
297
216
223
212
210
244
230
216
251
220
198
116
179
217
258
266
203
255
248
169
236
241
244
253
224
218
276
108
192
188
257
232
218
198
218
257
230
116
317
257
245
199
227
206
257
216
154
284
236
242
160
212
214
250
179
267
235
197
205
248
169
226
251
184
179
181
191
226
160
277
203
282
158
189
235
174
242
271
273
251
194
129
272
179
228
230
254
219
214
258
259
254
262
235
170
201
229
249
223
192
238
164
230
227
237
246
196
170
302
339
196
219
244
306
166
203
214
164
266
318
241
287
240
187
220
203
233
277
236
126
225
211
258
200
197
347
256
228
221
270
225
169
178
154
179
151
187
160
255
224
202
208
285
218
287
189
260
149
147
192
246
259
253
144
256
231
227
278
187
228
213
148
259
232
297
198
273
132
230
266
287
240
146
267
275
243
209
227
228
210
152
166
193
225
220
315
303
156
269
216
241
220
228
151
325
312
243
283
220
270
253
250
220
276
251
186
211
170
217
188
242
230
156
182
256
217
200
116
129
114
229
173
318
219
292
190
177
156
190
188
203
160
194
202
226
242
257
251
241
272
252
232
233
200
203
297
248
265
151
343
244
211
239
193
250
279
266
219
206
283
141
241
240
193
278
191
201
225
199
174
214
213
130
184
289
232
214
225
227
227
279
272
224
151
262
229
317
339
219
192
262
253
318
239
229
153
233
217
230
190
245
251
156
208
206
246
212
247
229
185
243
166
174
152
243
216
214
151
235
191
285
231
200
160
260
220
186
260
240
214
209
214
241
167
200
207
182
219
259
232
268
310
209
246
161
218
307
270
174
261
246
327
283
203
192
198
181
264
220
199
195
219
285
121
214
183
281
291
181
210
286
237
147
252
154
273
167
254
356
255
337
277
283
234
218
171
181
173
219
210
283
332
192
177
244
264
214
217
158
148
285
170
270
284
239
205
255
281
185
197
218
200
228
409
225
258
220
205
214
191
273
201
133
106
276
242
145
195
251
203
270
213
265
243
193
230
167
256
320
198
288
175
195
245
114
188
222
151
231
270
227
314
283
190
195
240
183
202
165
262
234
188
173
199
241
226
206
213
221
196
225
152
231
208
174
229
216
161
207
218
258
204
290
175
170
275
175
193
258
214
209
247
171
193
182
201
252
231
225
315
201
223
185
198
153
252
170
263
180
238
193
283
214
250
265
233
214
332
225
170
315
290
243
213
231
234
200
230
260
241
273
193
227
167
341
239
266
138
231
155
209
198
160
185
217
175
243
185
178
237
206
298
184
179
126
246
239
214
165
279
195
160
211
181
254
219
165
319
201
172
213
232
145
146
166
240
203
228
241
169
241
255
144
260
270
224
188
217
177
240
297
175
332
233
181
170
218
220
270
160
228
250
247
315
215
213
215
242
212
211
193
232
186
252
190
212
196
222
249
238
300
221
164
215
251
313
152
253
187
175
176
264
198
155
144
221
283
287
205
196
246
215
315
268
145
217
227
318
194
282
170
169
223
275
156
233
257
244
207
230
231
196
158
198
174
161
259
239
209
166
244
312
222
212
223
233
230
197
236
227
182
224
193
149
204
209
181
161
192
186
207
191
215
198
229
238
180
202
166
205
197
208
178
215
220
173
244
259
247
259
245
167
210
242
245
224
233
145
114
259
242
208
144
181
236
140
184
139
192
200
198
151
254
240
258
249
206
232
234
191
243
279
156
255
185
173
178
263
260
224
219
134
264
233
200
248
207
182
247
185
165
233
241
227
229
253
270
287
246
227
266
200
258
195
221
251
236
201
221
242
193
223
267
278
356
191
252
229
220
209
206
216
247
224
239
254
221
197
200
220
268
207
251
249
237
283
295
224
165
247
290
198
181
266
230
266
161
192
182
250
285
269
195
170
126
290
190
243
114
254
269
139
238
192
227
185
184
203
247
174
221
241
173
227
234
192
259
260
272
156
242
222
114
200
183
225
216
258
260
181
227
231
294
207
204
200
229
205
194
158
114
197
159
238
235
209
238
280
260
114
234
238
266
177
162
238
230
224
170
282
209
224
235
252
247
218
204
267
214
257
237
262
225
178
298
272
252
206
200
170
225
203
187
277
247
170
252
203
186
207
178
221
269
225
221
161
228
198
231
239
229
327
219
285
290
224
262
241
239
232
149
198
193
185
266
170
267
292
310
213
295
272
319
268
165
267
238
251
262
221
265
223
250
260
218
130
246
305
222
216
234
262
237
256
251
146
236
195
207
282
221
256
180
286
230
181
200
197
233
255
156
203
277
238
155
300
175
219
220
225
235
160
214
249
285
295
257
196
178
290
194
193
223
168
331
182
225
232
173
207
218
233
195
222
196
235
226
251
199
280
266
330
201
193
196
191
246
187
214
204
203
258
200
285
217
191
291
294
268
152
218
170
245
158
195
306
258
341
213
174
257
187
222
191
190
121
239
214
222
293
262
183
309
184
195
229
222
239
278
217
196
227
241
235
114
208
279
205
208
183
277
184
173
198
192
291
235
147
287
276
194
152
249
160
212
231
235
210
299
174
235
178
285
195
170
219
162
154
230
168
208
341
206
192
286
235
249
174
218
152
233
256
174
197
338
156
239
231
317
170
199
303
144
157
145
277
219
211
263
260
252
239
181
150
253
229
224
278
227
187
126
224
258
181
209
195
262
166
217
285
233
154
196
305
253
160
283
197
238
219
339
268
223
194
160
230
323
226
170
178
289
185
184
198
235
293
193
198
192
232
283
186
173
202
162
220
208
200
223
222
233
247
278
114
211
233
231
279
287
286
216
306
274
191
114
275
250
220
192
184
114
233
277
182
263
192
372
170
247
215
284
232
187
199
255
227
284
239
242
271
278
284
250
189
183
227
181
190
172
317
160
158
235
263
264
256
205
108
255
295
186
218
243
207
179
260
178
233
157
230
171
192
191
242
168
224
200
265
280
207
194
157
247
288
261
141
185
178
191
309
249
211
272
192
276
301
225
218
182
175
256
252
230
249
299
173
202
179
250
234
233
237
166
217
297
194
284
250
215
222
203
191
193
262
258
261
222
225
216
284
231
274
154
276
225
179
288
173
264
308
258
198
199
317
213
152
257
271
297
206
158
170
209
264
301
221
240
145
247
321
236
168
171
240
176
182
253
181
187
162
212
170
126
225
210
247
206
160
193
233
156
197
260
240
258
252
192
226
238
243
238
240
242
251
232
244
185
276
195
260
240
221
208
185
239
270
196
227
182
261
200
194
206
262
179
198
253
269
222
154
249
178
195
201
249
275
214
252
205
168
231
188
184
204
221
232
233
270
249
244
400
202
196
311
217
174
210
229
268
168
257
198
198
158
189
252
230
191
237
221
220
246
240
202
246
205
264
250
174
236
251
249
261
174
217
174
294
217
179
310
286
269
231
190
270
214
170
255
190
257
215
221
271
145
219
213
220
192
237
256
226
239
202
249
233
273
213
175
173
279
259
284
218
280
168
194
272
335
159
217
200
237
161
259
174
230
339
180
214
247
159
191
202
270
200
216
198
232
270
208
265
212
196
198
152
225
265
269
271
178
215
215
194
265
189
276
289
198
250
273
288
210
205
178
215
233
215
217
167
221
116
227
220
281
188
207
278
166
144
247
314
257
174
207
206
224
295
214
215
275
307
173
204
286
173
241
300
270
278
203
259
233
225
183
235
260
220
185
237
229
227
175
221
170
106
268
149
208
251
217
295
250
242
228
252
195
226
252
208
249
213
246
214
261
219
208
308
164
312
281
293
194
255
170
258
223
285
240
206
266
214
215
194
258
221
318
231
333
231
222
223
340
175
214
232
234
258
179
248
217
234
205
243
237
229
133
176
185
268
268
222
197
246
233
195
260
225
243
247
185
229
204
257
292
154
311
228
153
239
201
165
247
144
203
219
272
246
224
126
230
255
211
155
294
244
186
164
179
265
252
294
204
203
174
264
249
168
243
217
222
211
225
250
259
199
267
170
203
240
260
262
114
285
212
279
190
200
183
303
254
259
207
188
268
206
301
190
260
242
203
202
228
151
222
234
309
225
317
190
276
208
165
234
194
221
290
163
210
170
209
382
222
199
206
209
231
201
258
275
224
286
230
148
187
248
251
214
170
249
167
319
191
225
295
165
178
173
269
243
167
236
180
192
187
208
215
325
241
286
222
175
253
308
228
243
252
199
195
225
250
264
231
255
147
227
209
222
208
252
217
207
220
249
227
229
162
225
206
179
235
165
233
277
247
285
191
162
234
239
256
195
192
231
337
238
248
195
226
217
252
255
227
291
207
255
249
263
187
224
212
196
158
212
186
257
224
173
241
153
308
218
192
272
182
283
170
258
223
244
279
295
242
243
222
253
214
230
226
266
209
217
194
173
116
205
236
197
229
218
156
275
198
227
204
172
193
211
246
250
266
227
200
274
252
254
207
218
173
225
248
300
233
228
233
202
222
278
275
176
302
157
170
265
258
248
201
230
243
260
278
240
260
272
166
145
160
302
266
198
235
238
254
151
210
191
194
208
173
271
254
178
292
235
211
170
157
233
277
253
270
242
201
225
178
177
285
244
341
234
201
283
215
229
232
263
229
207
293
253
299
174
232
226
226
231
258
272
280
237
254
198
241
287
181
114
267
209
219
239
219
164
188
206
222
204
265
210
156
250
194
229
209
191
238
237
189
200
195
198
194
193
270
174
219
201
227
211
152
231
173
183
244
301
243
241
280
223
223
192
158
238
246
246
148
172
261
294
209
209
285
260
211
205
259
297
192
233
252
195
321
208
201
295
253
208
261
286
179
226
196
217
243
241
233
232
306
285
226
116
228
198
193
114
222
203
216
252
263
186
190
165
232
284
195
272
363
220
200
208
204
182
268
269
258
175
185
352
181
190
332
199
222
271
225
185
218
258
179
231
151
195
156
234
167
162
257
215
146
208
215
184
197
259
216
265
170
214
209
318
275
232
194
318
156
172
200
286
268
223
260
232
219
235
252
267
266
232
218
211
304
214
174
210
170
185
250
259
219
184
203
145
237
195
259
209
186
241
265
246
277
228
261
194
195
231
209
255
216
291
192
249
234
175
250
244
232
273
154
261
212
250
225
296
285
196
218
207
197
215
145
194
191
234
255
217
231
194
195
236
229
190
139
202
179
203
223
250
178
175
218
235
270
250
300
271
157
198
294
170
217
279
155
216
231
208
237
211
276
242
106
282
184
157
192
240
303
208
209
183
318
186
219
275
185
295
240
331
243
248
237
292
197
177
157
278
284
212
213
145
287
225
171
167
220
167
299
274
250
249
227
217
197
234
245
208
222
169
228
240
200
205
239
260
296
248
212
222
260
114
353
204
279
176
287
207
155
181
178
191
160
182
267
185
247
297
201
309
116
273
187
222
289
185
232
177
245
235
188
126
170
199
243
228
200
203
227
212
281
287
189
230
219
258
277
192
251
180
302
257
230
227
303
198
299
273
155
200
249
216
190
280
225
252
241
212
181
223
181
215
260
236
285
210
203
251
293
178
188
221
181
239
206
218
219
279
174
173
218
253
199
195
277
249
263
176
217
286
258
230
254
326
200
227
234
246
133
274
249
223
155
287
230
240
170
216
309
300
206
270
196
240
180
198
198
272
173
152
265
189
202
291
160
197
220
207
157
227
293
326
139
273
225
202
288
216
235
220
201
288
196
224
296
263
179
278
139
271
204
159
277
236
208
187
344
249
192
270
275
234
224
239
191
146
276
184
271
257
346
225
248
202
192
139
248
114
281
178
200
144
177
296
169
301
160
271
210
186
184
235
299
186
253
219
232
251
194
121
200
267
240
229
173
199
242
228
266
196
246
271
279
206
218
243
207
279
218
249
192
227
239
270
182
191
213
302
316
195
255
272
126
237
342
181
241
213
246
224
168
178
151
264
270
174
166
284
232
271
251
223
126
129
255
252
212
174
268
206
176
157
241
249
232
234
195
160
311
234
233
240
262
158
293
283
219
168
187
221
164
260
348
217
198
265
276
241
206
219
255
292
298
269
191
263
315
217
243
187
160
329
151
185
214
299
366
215
199
195
356
205
198
321
149
190
247
181
189
156
259
231
204
175
225
224
189
218
242
237
160
201
235
291
230
243
244
234
175
259
184
199
185
207
128
208
144
199
225
261
172
193
114
160
277
187
175
248
185
248
173
222
382
283
250
214
285
220
197
106
184
286
268
218
241
190
208
291
206
275
300
248
246
169
200
221
179
199
213
222
182
231
325
114
187
255
259
213
240
241
257
173
267
303
223
184
238
287
297
198
190
322
240
198
205
139
276
178
276
222
154
221
224
287
297
265
216
174
237
340
214
234
228
305
233
198
260
139
220
325
146
294
243
209
271
210
187
220
228
342
213
280
130
220
202
222
270
267
192
173
199
270
214
173
232
258
210
218
222
200
285
239
220
236
288
219
261
201
229
198
275
215
203
262
249
229
266
201
206
253
189
244
220
265
168
238
263
206
192
232
218
305
230
225
229
272
333
239
208
161
202
225
235
250
246
257
221
216
239
219
256
160
200
279
244
222
233
258
182
190
202
247
191
181
160
217
241
274
212
260
188
185
173
258
249
201
225
169
252
282
230
250
206
148
212
205
180
208
225
272
265
249
207
213
245
207
249
230
244
224
265
207
193
149
217
197
306
340
233
152
242
238
234
219
230
139
221
218
209
187
225
225
160
247
253
181
275
114
262
278
201
203
197
193
247
211
235
275
253
192
204
191
269
258
154
280
254
189
251
174
212
198
309
192
246
265
206
175
247
184
241
231
158
215
252
238
290
251
280
309
114
255
273
221
230
211
238
202
198
257
188
163
183
165
230
199
283
192
221
242
180
174
230
222
324
229
165
246
206
233
211
211
258
248
253
245
251
241
210
255
229
164
236
230
239
233
238
181
202
192
283
370
287
238
205
269
277
171
315
235
189
192
262
185
228
227
261
214
164
220
296
250
194
261
274
288
237
177
224
178
203
205
234
295
315
237
181
175
231
265
248
225
231
211
169
179
221
231
152
259
241
178
239
210
261
269
178
231
310
279
233
253
270
254
198
226
152
241
227
210
178
249
198
244
168
235
198
174
176
240
171
156
202
204
261
356
209
211
238
173
234
343
237
263
247
244
224
273
241
176
192
170
239
240
186
158
278
172
310
232
211
270
254
158
214
190
223
265
294
271
309
293
264
270
293
181
194
214
230
228
263
210
278
258
292
242
203
184
328
179
206
194
191
145
246
215
226
197
303
299
225
193
326
283
318
214
266
188
236
231
212
205
200
165
253
257
307
207
217
312
268
207
201
269
206
196
257
184
166
114
217
176
195
248
205
286
209
226
295
222
206
230
227
214
165
272
248
238
212
198
160
191
152
170
160
192
238
186
166
272
252
151
228
258
251
151
379
258
255
217
282
193
160
239
243
287
179
179
315
179
234
260
250
269
272
187
326
293
213
299
240
280
258
235
263
276
287
178
250
211
201
296
170
255
266
158
227
251
194
219
285
212
266
273
210
252
239
165
271
290
192
162
230
223
232
171
305
252
170
215
222
216
202
240
238
247
183
278
207
236
153
236
261
175
322
173
207
272
290
271
265
212
299
139
260
181
271
262
263
235
249
211
253
233
228
253
173
210
173
235
238
252
141
272
240
173
287
203
298
319
208
278
213
201
161
237
282
207
248
185
191
317
307
171
193
237
234
156
231
154
221
244
222
288
239
308
214
181
176
245
234
305
257
332
225
226
263
213
215
237
192
192
310
212
178
253
211
282
268
230
273
260
234
303
233
253
221
212
245
252
295
237
233
193
129
219
176
242
257
198
196
232
180
296
210
232
219
227
201
181
253
296
164
168
234
218
270
171
251
214
230
160
269
181
114
299
189
271
272
306
152
302
338
230
207
210
114
145
253
165
220
276
271
361
182
228
206
126
126
166
229
157
251
321
152
210
194
228
257
235
244
317
160
253
170
223
178
226
175
219
194
218
227
208
235
234
174
188
281
299
140
213
271
220
225
186
178
139
269
250
225
246
195
266
126
159
207
243
180
280
306
277
224
181
180
247
243
232
152
175
205
312
267
284
145
238
271
174
220
203
265
196
239
211
229
233
169
211
114
152
198
221
313
192
186
273
167
287
203
278
214
159
238
240
191
214
114
208
295
280
202
114
234
206
285
169
180
221
244
339
249
195
169
324
170
252
277
192
247
195
128
192
190
200
251
197
214
332
229
228
315
307
199
303
214
220
268
222
211
237
229
281
137
239
229
260
221
224
235
197
247
329
290
318
198
201
284
244
188
121
223
322
297
226
271
192
181
183
155
190
268
225
191
265
304
181
298
225
148
231
209
195
286
235
173
317
205
197
319
230
199
154
198
233
232
207
231
221
230
261
286
222
250
272
106
203
133
253
209
198
229
208
209
207
237
228
202
252
219
259
235
186
191
191
168
214
240
191
160
195
239
225
183
247
212
204
224
188
219
230
217
203
200
267
249
202
297
225
229
274
226
292
241
180
284
200
253
234
158
205
164
215
286
241
170
189
176
213
239
251
215
244
239
213
200
241
224
231
170
238
247
252
279
194
114
248
209
239
254
179
231
258
231
148
243
265
256
244
242
170
205
200
204
231
178
222
267
177
240
189
195
271
259
216
239
181
220
246
202
187
229
216
210
223
333
192
241
269
158
228
175
284
327
204
263
208
258
240
245
249
185
214
233
262
266
308
195
210
220
214
238
348
221
235
154
161
261
318
329
220
249
300
252
209
145
207
355
237
292
157
218
198
219
173
267
218
183
253
237
195
261
193
209
275
269
239
271
195
200
195
209
192
287
116
203
265
270
195
198
246
220
251
206
187
204
188
353
240
274
250
261
262
205
218
235
254
178
287
215
177
272
230
173
197
217
200
223
322
217
185
221
222
210
222
191
202
161
186
194
244
302
216
201
287
169
226
207
207
231
299
198
279
217
296
280
174
153
311
233
219
198
171
205
315
248
245
173
247
194
228
312
216
268
234
187
222
271
240
225
240
114
147
156
190
203
235
285
232
207
254
293
221
205
224
260
223
209
272
213
264
193
239
241
202
205
241
207
193
144
171
182
275
205
371
227
229
253
214
260
184
182
256
267
232
114
306
281
227
196
145
223
185
327
160
211
154
247
202
279
168
169
244
170
287
229
215
205
178
261
285
207
208
285
254
321
171
271
177
246
196
211
262
235
250
356
218
180
114
201
154
152
299
173
277
160
323
116
228
290
263
223
265
301
261
242
189
224
203
207
166
279
215
205
145
242
275
299
215
308
247
230
209
198
253
211
176
267
256
217
267
180
181
178
219
173
284
214
192
252
286
245
235
238
330
251
237
272
228
314
262
238
196
242
289
274
173
258
217
211
193
224
243
180
218
225
306
160
261
250
137
174
271
188
279
282
206
285
235
233
219
194
293
209
274
223
215
253
210
257
215
190
283
284
317
192
250
207
311
198
191
254
260
250
152
186
286
249
229
204
195
144
296
209
240
227
173
263
263
260
227
200
178
198
200
273
220
242
198
266
188
299
223
200
211
170
239
178
231
114
231
245
233
184
284
156
149
219
202
261
202
205
248
179
196
215
277
240
247
229
267
170
256
204
219
242
178
335
244
206
240
206
213
175
161
241
214
249
170
245
191
176
191
243
228
191
250
218
245
237
270
202
242
214
287
176
233
347
250
157
283
262
261
250
238
191
241
145
192
264
191
149
219
212
208
198
275
259
212
231
275
266
236
221
182
244
243
191
196
184
167
282
267
177
279
282
317
212
235
234
227
167
227
226
255
190
244
237
228
301
210
323
185
207
222
251
202
291
291
209
201
268
309
252
268
228
306
156
181
262
185
334
223
286
160
235
199
234
253
190
278
168
274
264
214
248
321
242
198
284
273
207
275
283
267
195
243
213
203
199
149
297
241
166
293
173
173
191
217
284
251
189
235
276
204
192
161
250
219
108
258
266
188
257
222
324
194
258
192
221
230
264
314
247
331
257
212
211
156
228
241
198
258
277
186
181
224
257
160
219
213
189
243
192
240
199
228
299
265
215
199
173
183
161
257
200
222
324
278
301
231
237
230
330
203
194
200
213
263
227
178
247
231
215
190
209
200
222
234
242
170
275
191
242
218
205
312
214
180
196
296
188
217
220
318
291
155
284
169
245
208
180
281
281
196
271
232
200
196
273
220
251
208
151
175
280
224
337
201
258
145
232
199
253
222
180
199
269
206
193
146
195
239
192
283
226
175
241
259
247
308
256
252
259
243
155
273
194
221
219
232
178
239
133
201
121
305
210
162
309
212
263
215
197
154
209
167
235
213
178
274
214
155
197
204
191
164
270
195
121
279
168
223
245
234
178
269
170
181
211
193
328
170
188
233
265
189
256
241
283
193
198
235
213
195
334
272
239
246
244
220
231
209
264
227
170
200
270
229
219
274
262
236
245
251
139
189
182
139
268
245
153
232
160
241
225
234
209
229
176
160
164
171
294
156
282
210
239
253
156
224
179
221
278
194
204
108
211
246
236
249
293
263
237
213
208
237
114
182
240
195
263
215
243
248
174
261
205
304
218
151
313
290
183
195
191
248
220
271
255
226
283
174
188
261
193
213
288
259
350
217
223
231
251
181
197
236
193
298
229
190
198
175
198
241
218
221
171
208
222
217
195
162
203
218
269
260
178
251
228
185
169
292
260
295
279
218
250
265
222
188
211
184
275
244
331
211
191
296
260
241
209
223
210
224
256
203
149
185
260
198
240
273
282
219
245
187
358
255
242
198
225
181
280
257
262
197
265
219
266
299
206
171
178
250
233
265
270
284
175
220
263
259
180
247
175
173
241
156
302
196
221
197
170
240
297
264
160
222
264
281
246
180
225
230
234
246
197
263
159
209
221
158
241
266
210
220
220
216
160
253
276
185
271
182
238
114
262
234
208
253
309
210
232
176
191
175
192
181
193
199
215
270
180
185
198
227
195
114
224
173
240
259
192
252
300
106
280
209
238
166
154
198
206
212
206
297
192
222
242
258
133
178
269
114
220
262
206
158
179
235
152
245
171
170
283
260
252
182
217
203
233
206
215
255
290
232
200
167
259
302
269
203
226
194
251
178
235
330
238
327
208
254
212
253
200
246
211
228
299
161
296
263
145
287
181
173
282
220
198
249
268
209
213
238
202
286
263
353
256
215
273
191
226
323
230
202
193
206
170
222
180
155
227
209
222
258
205
261
213
291
299
208
229
248
249
246
217
128
236
264
239
229
205
275
223
256
234
294
265
251
190
289
279
270
183
244
114
277
152
182
258
247
213
235
232
139
230
203
253
247
230
224
178
160
194
178
251
232
175
148
195
173
221
201
259
200
247
261
223
265
146
275
162
293
253
204
192
227
225
297
225
207
171
198
266
309
285
257
181
288
234
152
247
241
276
222
170
208
189
288
181
235
278
249
215
183
184
186
214
255
195
181
189
152
265
284
252
222
213
268
300
250
157
229
219
231
278
148
213
218
232
168
187
232
178
254
255
160
126
130
220
166
181
253
152
245
201
195
233
108
233
198
218
219
260
249
197
290
297
114
184
258
190
222
217
251
181
174
288
209
251
265
264
171
152
195
222
214
215
184
220
221
247
201
256
169
299
224
197
204
227
256
211
308
288
151
204
206
251
287
182
219
249
231
202
193
250
166
226
221
263
243
264
185
233
214
211
218
146
219
270
198
233
278
262
165
237
191
292
262
207
223
214
222
229
237
168
195
205
244
172
250
243
243
192
221
300
192
174
210
233
191
177
157
187
208
289
267
278
151
288
182
261
189
186
285
214
240
235
193
146
212
196
295
185
165
208
193
203
227
314
195
316
258
264
275
253
170
114
253
206
177
261
310
245
275
258
300
206
234
252
275
271
180
213
192
246
289
270
198
185
253
260
237
343
192
195
160
206
232
253
250
283
156
162
182
214
284
221
243
139
220
194
305
196
249
230
179
167
174
307
116
204
204
243
208
277
227
211
223
201
185
238
152
156
229
272
231
283
172
219
206
274
301
230
272
266
181
273
216
284
341
313
214
279
312
282
229
211
206
248
196
248
236
166
228
190
184
200
277
255
175
217
237
230
241
203
297
255
191
236
231
242
243
193
297
211
263
190
298
277
160
204
282
225
180
206
198
159
257
306
226
176
240
236
189
182
231
190
201
298
178
191
165
177
233
198
207
271
133
178
275
267
202
193
186
200
203
290
235
258
274
161
267
242
212
206
197
235
228
296
186
195
279
189
254
256
254
283
208
179
260
181
248
239
247
271
248
215
229
149
167
284
218
229
216
223
219
212
267
197
190
202
277
258
170
213
235
236
271
278
283
248
156
174
270
250
185
256
195
190
139
301
310
268
281
212
198
197
174
128
260
150
215
231
328
211
219
293
245
242
297
259
353
183
196
198
235
205
202
191
207
255
253
238
114
223
243
240
208
226
220
230
215
208
222
221
233
186
181
292
238
233
307
175
201
263
253
192
229
170
229
229
253
211
250
211
229
211
230
252
193
252
215
248
196
196
239
201
270
184
231
188
279
173
230
270
205
253
195
220
168
253
238
218
198
279
237
296
169
179
175
196
169
265
208
191
209
203
191
178
216
239
213
266
205
221
265
199
150
169
250
216
129
244
227
226
234
199
222
218
152
229
251
208
214
165
201
215
233
152
283
239
274
219
248
223
246
210
199
114
168
195
257
254
181
219
228
238
191
179
199
283
181
213
228
168
211
201
196
164
237
305
311
207
246
199
204
184
224
223
155
165
195
247
256
250
291
341
190
251
190
224
175
177
238
225
181
218
208
303
239
232
156
296
161
201
300
256
272
202
270
206
236
160
139
253
265
231
163
156
209
224
164
201
219
180
156
326
183
179
190
172
273
232
162
197
234
167
212
205
181
232
139
201
221
181
227
260
243
240
176
260
294
196
243
208
242
236
248
270
197
273
208
263
220
297
216
217
244
225
232
225
206
208
192
197
139
114
229
265
209
139
266
213
212
186
256
260
230
219
207
186
189
216
214
262
219
226
309
201
258
272
245
234
199
222
209
114
178
323
315
284
210
285
199
223
200
225
271
244
219
289
276
202
191
270
218
170
212
276
249
342
214
156
178
227
189
205
287
195
235
229
265
223
189
252
228
300
177
259
162
204
213
246
246
151
212
252
197
209
188
253
192
198
293
232
240
227
221
231
273
256
174
233
345
162
175
114
208
114
207
198
220
217
217
214
248
156
247
220
317
194
220
255
253
186
191
227
192
252
261
253
205
220
241
298
170
236
303
210
254
175
200
198
183
264
252
253
210
215
192
214
223
156
211
194
220
214
178
244
246
228
211
232
187
218
225
258
229
250
260
195
210
163
236
259
171
187
176
265
284
284
190
193
232
228
197
173
324
202
226
274
341
212
351
217
235
191
178
268
249
220
143
181
261
169
276
248
158
261
145
249
228
229
269
238
188
183
199
237
219
231
211
269
245
244
210
188
244
208
281
197
247
212
256
234
192
221
266
211
224
189
243
204
203
213
223
229
213
241
300
240
234
238
271
156
244
157
194
215
212
298
233
226
272
207
249
273
247
173
235
249
218
164
232
218
207
156
239
246
231
175
291
173
207
221
198
174
236
199
227
193
232
231
181
191
226
265
177
209
183
225
210
313
197
225
284
274
114
219
258
182
172
284
222
240
201
173
183
188
216
266
126
144
221
174
279
191
270
241
225
245
329
276
233
161
296
184
247
296
224
167
168
260
159
172
227
201
232
193
239
248
194
311
228
174
243
243
220
192
168
174
214
181
241
249
200
191
126
236
245
308
229
178
271
195
219
198
166
212
278
194
263
276
209
272
207
230
248
313
231
233
220
185
236
227
171
249
226
267
283
231
270
270
264
196
253
241
216
243
272
210
179
210
173
217
235
241
128
196
181
176
270
203
234
155
188
184
280
213
210
229
217
209
233
220
201
188
194
308
213
222
204
139
290
167
215
234
199
224
228
214
193
217
175
265
208
186
231
296
244
224
192
214
196
225
334
293
300
244
207
208
248
228
245
184
238
225
212
206
207
175
313
192
205
199
238
156
146
259
209
225
269
247
304
130
245
289
170
212
240
291
297
291
224
228
241
305
343
186
203
278
167
204
244
250
205
148
243
231
258
235
201
240
294
330
188
257
191
226
178
217
200
266
251
274
233
260
178
158
147
162
226
224
240
202
227
307
180
215
203
234
239
215
192
161
278
216
260
207
223
280
229
204
368
213
222
284
200
205
263
243
292
251
328
316
233
210
276
200
253
236
236
204
231
242
296
234
192
252
129
251
283
242
203
244
235
212
272
197
198
180
237
220
207
215
264
248
211
226
209
217
114
208
209
192
270
321
273
285
272
158
228
190
226
225
114
239
273
250
218
176
173
264
248
215
224
145
242
259
266
203
263
262
243
178
228
161
185
242
195
246
175
240
230
262
283
216
266
279
244
281
221
297
280
241
193
223
173
114
254
290
156
223
226
154
226
240
126
242
251
220
256
241
181
159
238
236
291
176
258
189
186
218
148
154
255
262
208
173
253
265
274
254
214
202
238
158
354
168
180
114
152
181
242
268
307
184
270
192
207
242
263
241
144
205
232
331
213
239
279
235
299
169
193
169
292
187
211
230
207
252
191
200
205
164
192
266
243
205
223
242
238
265
203
241
240
179
212
165
268
212
218
291
145
261
253
185
194
216
229
202
211
228
283
284
160
204
253
164
213
274
196
327
251
265
190
257
205
197
208
170
287
201
338
322
233
273
246
165
199
224
177
176
170
210
211
262
292
215
236
290
221
175
271
215
183
261
214
270
277
240
173
295
225
218
235
301
247
166
298
308
263
199
243
193
168
155
254
225
302
291
262
229
216
194
250
177
240
253
180
174
210
271
180
272
208
173
175
282
219
170
194
197
161
258
286
205
227
186
258
214
272
232
187
114
126
121
247
290
175
254
154
190
237
288
272
208
311
228
253
167
232
255
236
259
169
233
279
275
256
219
256
108
217
145
189
168
271
246
220
207
262
263
232
198
149
182
229
267
311
171
211
186
198
192
173
221
275
310
240
174
152
264
187
309
178
220
206
192
230
259
204
277
292
298
155
273
289
311
220
219
194
158
249
235
231
237
242
169
184
209
319
192
183
210
219
246
202
337
242
181
186
247
253
233
261
170
173
203
213
114
341
284
308
240
170
257
202
265
206
293
286
185
174
174
220
243
210
222
209
280
211
258
220
235
206
212
155
243
264
309
262
246
205
293
202
196
203
209
200
216
263
114
198
285
193
213
164
238
192
229
188
177
267
229
161
175
211
114
259
187
232
204
199
280
225
239
196
192
229
277
270
229
225
152
259
252
193
159
264
241
229
181
145
218
156
265
182
242
162
213
225
229
250
232
283
176
284
236
235
304
162
156
249
228
219
215
180
250
266
179
215
198
238
250
253
207
168
114
126
172
223
218
168
275
270
285
209
211
217
257
258
306
139
244
259
218
192
217
274
170
194
108
259
213
191
218
203
296
184
234
146
251
269
178
209
206
247
289
194
171
197
331
206
231
222
228
242
304
222
156
208
191
239
261
260
196
285
236
286
245
199
228
252
250
244
236
190
310
173
233
185
296
139
216
221
161
228
215
200
212
294
215
214
222
114
171
258
226
195
204
225
256
161
280
331
229
167
211
232
306
275
192
221
201
249
166
230
279
116
260
218
172
251
190
258
202
218
220
163
176
176
247
251
292
258
225
255
229
222
248
186
196
229
206
242
214
187
246
144
236
121
151
223
228
193
262
241
215
271
258
233
218
304
201
229
168
225
168
293
196
203
267
216
180
176
200
279
171
156
202
235
196
205
255
260
262
240
239
191
114
198
302
190
175
303
297
206
191
183
148
164
210
270
254
192
235
291
185
188
244
240
248
157
227
222
121
265
253
287
114
195
297
272
219
203
172
207
176
265
174
226
158
227
116
222
156
169
220
190
238
246
282
173
219
238
285
198
188
280
217
169
200
221
241
189
202
233
273
214
208
171
226
186
266
355
231
257
242
205
234
170
183
274
294
281
201
259
229
219
129
251
213
184
174
300
226
240
188
246
214
173
217
284
274
315
159
248
222
162
161
234
254
341
156
190
260
154
201
273
158
300
291
210
325
175
211
196
185
241
284
335
257
209
184
200
244
246
257
203
259
169
231
303
282
240
209
280
231
217
237
224
253
180
226
262
198
254
252
273
216
246
151
221
240
189
224
202
173
240
167
228
195
240
254
288
233
177
244
224
247
245
229
203
260
237
209
223
234
168
241
188
199
247
169
219
242
234
254
290
190
260
173
229
163
209
204
200
204
260
242
233
241
173
264
221
242
183
201
188
178
213
201
257
188
238
174
247
264
201
202
195
259
189
232
204
303
272
281
267
219
291
246
160
269
303
238
206
219
220
276
189
139
236
238
249
222
222
242
334
163
220
227
237
225
259
231
258
160
219
264
305
253
284
170
264
231
160
144
239
191
196
173
173
292
264
214
282
259
215
226
202
219
285
174
251
291
170
309
286
214
215
157
219
179
309
241
230
206
193
175
234
277
278
243
114
248
317
186
121
169
185
226
260
187
202
222
169
271
192
288
189
333
158
224
232
234
260
204
160
244
250
330
285
248
242
219
207
289
203
291
177
215
217
206
182
137
215
313
205
220
218
221
205
183
164
248
271
177
282
288
294
217
200
234
153
285
263
161
234
219
235
277
160
149
212
175
114
175
178
209
184
211
188
247
213
281
214
232
180
209
241
205
267
202
234
268
193
232
290
194
215
209
108
206
157
204
168
229
223
234
265
193
214
250
247
234
246
224
225
268
309
184
273
156
290
264
179
167
185
114
144
209
219
225
259
230
178
218
203
166
327
279
231
199
208
158
279
221
255
215
253
278
294
194
230
214
247
265
215
277
231
174
178
215
262
202
233
248
187
223
229
201
272
198
311
214
145
209
322
180
181
157
259
213
277
218
229
264
229
196
220
180
188
199
219
229
164
170
234
214
271
274
257
239
169
340
173
237
214
238
227
181
265
155
184
217
220
211
220
213
327
144
208
315
169
240
314
181
268
308
165
276
170
133
236
218
294
209
249
304
197
304
212
196
204
196
240
214
265
261
206
353
248
311
207
274
252
292
206
210
226
243
225
139
225
204
245
180
202
196
161
250
243
226
237
313
263
263
195
233
265
234
231
245
193
249
238
279
245
218
284
219
242
198
252
175
200
218
193
244
274
220
256
236
194
181
282
253
163
196
223
243
208
240
198
214
247
277
271
221
211
310
273
303
126
297
193
313
292
229
248
218
224
169
251
211
261
238
265
240
208
250
173
173
311
343
223
281
245
169
173
281
182
208
229
253
258
212
271
237
212
228
211
161
199
241
192
182
198
247
203
184
257
290
178
268
142
207
248
173
225
228
248
249
191
274
208
169
204
180
283
235
196
224
180
217
267
229
313
194
291
187
221
249
175
290
231
245
289
250
176
328
254
198
226
121
215
236
255
285
233
211
277
258
216
228
300
252
180
187
236
238
225
251
233
114
293
301
294
194
253
198
263
261
207
185
235
272
176
224
189
198
344
175
248
274
169
241
255
242
214
222
315
249
263
253
231
270
223
201
196
317
193
285
166
211
183
216
226
152
208
183
228
192
260
284
209
270
201
189
244
302
250
230
231
242
229
278
129
239
181
269
196
251
207
261
227
189
193
251
206
168
156
178
174
148
252
244
240
187
236
225
221
239
244
169
175
290
175
235
223
310
208
249
175
248
181
255
281
114
256
201
226
267
203
213
152
224
223
220
170
279
264
180
156
146
278
235
216
217
296
241
186
216
280
192
264
253
250
218
250
248
227
167
251
211
209
234
191
245
264
292
224
194
253
193
256
285
177
218
214
275
195
225
239
243
256
266
256
346
250
282
228
116
227
226
265
266
233
228
211
283
301
224
197
264
310
252
225
258
278
207
239
191
264
161
148
179
114
190
263
160
204
306
232
270
195
252
256
213
196
249
178
108
255
222
250
314
220
195
188
194
327
225
240
204
232
275
243
198
275
164
254
179
220
214
227
203
179
144
257
240
264
217
192
217
212
178
180
195
250
275
218
250
240
270
260
244
231
262
175
171
225
225
271
181
185
300
218
273
160
247
146
165
244
154
264
164
274
209
258
303
261
256
264
255
234
234
274
279
254
242
174
301
206
251
193
272
288
223
236
247
232
208
106
170
289
247
201
179
242
235
193
238
114
250
241
173
243
171
267
229
227
211
217
166
206
257
235
239
207
275
275
198
265
218
266
237
260
192
134
295
171
218
262
162
223
197
260
164
287
246
171
285
236
293
286
234
258
221
236
263
192
221
253
194
183
287
182
114
210
237
234
229
207
190
184
224
203
170
195
204
228
215
202
289
321
114
187
269
219
243
114
222
220
198
199
255
156
249
222
217
255
227
154
228
255
274
208
114
244
217
195
321
186
190
194
220
156
204
306
242
225
263
170
215
243
215
229
276
276
265
237
208
267
247
270
241
170
265
265
263
251
206
195
182
229
241
304
245
287
204
292
291
259
247
233
227
267
167
315
235
148
245
189
201
341
205
236
197
195
232
336
248
227
236
211
266
183
273
258
257
225
277
201
162
166
172
204
163
250
247
253
296
145
264
268
203
233
256
210
183
218
300
225
213
255
187
160
208
256
311
288
114
244
204
220
329
251
329
200
196
259
232
306
240
257
129
192
311
193
245
198
184
257
247
269
259
194
171
239
221
250
139
303
250
160
247
225
225
198
214
251
239
280
224
214
233
206
172
287
204
160
219
229
207
114
216
159
232
217
224
160
192
261
255
207
216
202
232
198
226
211
168
173
215
223
205
226
237
239
214
325
188
274
258
260
254
221
241
184
243
203
258
200
196
244
253
114
253
274
178
233
242
265
203
313
237
199
245
275
216
173
231
250
145
155
251
216
248
230
209
258
228
204
228
245
357
233
193
196
246
200
170
176
307
219
192
239
268
114
181
233
271
306
190
188
218
240
305
231
241
302
215
170
229
151
261
220
224
231
295
305
169
265
213
238
185
228
250
200
203
292
264
148
170
200
217
245
198
266
238
272
173
251
265
252
259
219
178
157
321
129
202
234
227
264
212
146
157
165
269
233
165
202
181
268
233
318
200
231
211
218
182
215
247
291
260
263
183
201
270
209
260
256
276
245
180
224
250
209
268
180
268
266
216
140
229
209
191
200
219
270
297
182
240
210
237
249
268
222
174
241
272
196
198
252
182
285
255
176
233
293
195
250
254
234
244
211
295
229
126
293
220
221
255
310
251
267
220
227
174
264
241
342
203
184
211
249
238
234
252
152
243
157
190
274
158
235
259
209
293
277
262
223
238
184
189
197
251
329
276
301
266
243
172
223
234
166
247
209
178
200
193
219
220
191
220
270
209
253
224
145
261
199
168
188
266
146
175
240
282
263
176
207
276
242
141
312
223
211
114
246
226
203
282
247
231
146
195
194
162
242
121
188
192
210
208
244
215
247
309
240
238
173
208
235
239
206
213
194
227
236
194
206
282
259
173
106
212
285
241
263
232
155
262
220
278
291
279
205
155
217
260
290
266
234
328
218
198
222
279
203
248
277
278
218
229
158
196
239
198
218
287
306
114
259
222
235
250
246
266
324
219
189
206
266
217
241
247
224
296
264
226
246
276
194
168
208
217
129
223
211
238
223
262
177
186
156
148
160
180
244
261
193
194
221
265
273
253
198
152
250
278
236
332
191
203
187
292
218
246
241
189
211
189
240
258
268
226
177
318
243
270
146
228
214
250
253
181
250
168
237
258
270
178
220
255
299
277
175
192
191
191
229
263
232
282
217
158
257
162
190
295
240
209
198
245
233
196
272
238
294
116
214
221
326
166
253
208
182
218
220
165
249
244
215
231
238
164
242
264
190
267
234
218
253
209
205
152
225
247
225
232
223
230
196
240
213
204
237
313
181
176
215
210
262
276
212
256
220
251
286
267
252
139
242
197
248
204
186
242
256
223
167
214
212
283
215
209
173
317
262
211
263
224
275
230
240
272
228
290
234
200
220
218
246
268
256
168
260
276
253
186
189
291
196
259
248
247
266
227
184
209
234
246
148
173
211
223
180
198
168
231
232
166
293
162
181
250
223
320
321
228
232
223
209
175
315
244
235
184
193
151
237
202
244
203
252
215
173
226
251
213
181
249
235
339
181
236
212
175
277
229
327
261
246
201
114
232
156
271
194
305
215
189
356
225
301
161
227
192
178
183
241
282
227
288
276
265
146
308
170
201
222
170
252
242
286
208
223
197
213
152
275
277
145
203
262
241
192
248
202
168
271
237
235
205
255
311
126
198
145
209
239
303
299
301
225
265
217
198
214
114
243
331
198
206
214
251
268
229
156
181
214
219
213
228
252
189
210
209
175
260
273
288
255
207
262
219
154
232
193
246
207
218
198
276
275
219
276
214
240
273
244
181
183
245
220
264
273
202
214
289
234
246
177
257
305
169
263
276
260
277
255
273
267
256
239
230
350
240
250
310
170
232
197
247
202
261
156
254
173
218
162
280
255
298
216
170
221
273
229
207
126
174
173
233
207
224
230
323
263
157
215
160
207
268
203
232
240
177
193
320
202
197
327
226
230
256
114
246
228
214
169
314
248
198
167
175
202
151
156
290
190
194
193
218
218
206
214
248
239
203
173
289
178
114
158
257
210
228
240
235
252
178
215
251
246
205
153
218
228
248
253
202
272
194
226
210
206
174
174
183
198
202
296
250
197
220
152
310
230
268
252
197
233
181
219
263
227
167
247
204
289
198
198
277
317
181
260
231
222
323
261
237
234
275
175
238
222
191
169
201
214
183
262
315
240
211
208
246
252
261
198
209
174
302
205
253
276
266
225
220
188
287
293
354
193
114
284
262
215
193
266
269
152
255
302
256
185
206
237
225
151
205
251
301
181
272
190
234
215
228
192
235
177
216
175
186
191
212
243
249
282
226
272
239
192
226
230
273
263
186
201
309
256
221
235
289
263
338
206
228
218
248
194
195
276
202
278
349
206
199
229
218
218
238
232
177
154
238
233
191
216
116
244
186
154
241
205
251
248
240
194
187
114
327
252
238
206
240
168
247
233
249
212
204
200
304
243
200
238
281
205
146
154
173
252
315
174
222
206
226
200
255
312
225
197
204
202
273
238
202
199
222
240
215
213
211
228
190
229
166
313
193
266
207
306
233
274
204
156
156
231
137
249
262
277
206
193
247
202
137
245
212
153
245
238
247
248
178
279
195
121
194
275
263
204
230
154
206
185
235
317
114
203
322
188
257
181
234
222
238
226
230
223
209
311
263
192
253
254
237
157
252
235
247
160
174
185
225
244
240
226
220
202
202
208
126
253
193
186
229
114
154
253
178
236
192
213
264
196
191
285
240
208
221
201
209
195
207
195
277
206
179
233
234
208
290
201
221
224
198
246
336
261
252
236
279
253
114
217
312
261
269
206
204
114
233
216
220
164
311
195
171
315
289
246
122
293
213
152
178
224
238
200
192
204
206
240
114
237
203
292
152
126
195
218
245
206
254
168
212
218
267
187
216
244
287
201
172
156
211
173
271
233
236
172
240
215
214
245
235
172
197
207
218
245
190
175
226
194
183
299
220
221
173
252
208
247
271
209
208
243
266
242
257
214
229
198
156
208
245
267
285
185
223
178
258
190
231
228
190
190
274
236
236
274
264
173
170
221
241
129
214
288
195
236
209
290
204
248
179
144
200
256
190
126
154
350
224
212
153
213
279
256
252
157
277
235
259
203
179
249
192
185
261
194
337
256
191
195
200
247
149
245
306
188
260
211
173
281
263
231
236
250
106
341
205
272
212
214
190
207
210
265
191
237
229
214
247
220
310
259
126
234
255
219
247
237
157
221
224
189
293
209
272
222
214
231
191
212
223
262
183
174
235
221
238
192
183
189
235
174
180
204
216
299
289
180
183
266
214
287
206
215
116
237
191
213
259
248
301
204
266
180
116
256
216
214
144
243
198
170
284
278
193
219
173
242
232
250
269
216
377
249
235
266
219
183
178
202
223
254
263
251
226
279
289
241
253
253
259
284
202
269
238
245
207
191
255
208
173
226
253
202
199
293
283
217
217
196
198
302
246
169
279
167
146
320
178
231
307
248
233
269
199
266
232
192
256
239
201
205
270
201
232
312
335
209
269
205
230
205
154
250
198
130
294
246
169
222
247
254
252
162
114
185
233
284
196
163
250
108
266
228
178
249
253
189
183
217
160
188
153
249
296
240
194
341
231
192
169
240
216
258
272
212
251
250
262
188
178
205
192
239
204
160
241
193
189
297
165
225
180
210
231
223
217
177
231
161
279
274
172
210
239
324
255
285
220
189
192
166
185
241
265
209
167
197
222
317
263
355
259
164
258
371
217
182
237
170
293
201
201
239
257
214
206
254
214
184
158
187
179
214
173
215
238
128
249
241
144
178
205
199
228
241
280
218
236
155
231
158
271
211
217
204
315
225
221
227
182
302
256
260
230
173
301
214
160
319
202
181
233
354
171
208
194
226
161
389
195
291
290
185
232
287
233
241
253
267
227
297
219
287
238
237
228
245
172
146
188
178
312
219
232
192
195
208
160
161
270
166
250
188
190
239
203
152
175
193
214
184
290
232
222
183
257
298
154
314
223
251
335
271
211
251
225
251
182
212
250
126
278
139
288
243
129
255
184
167
272
286
290
164
193
114
269
233
208
237
162
211
242
261
175
278
246
224
214
216
170
256
223
193
220
257
180
207
248
254
195
209
207
242
116
277
282
178
198
205
189
289
199
214
244
243
290
253
208
178
246
262
190
210
176
180
209
170
239
284
183
286
170
232
239
188
221
197
236
270
278
243
286
214
281
230
219
252
278
114
230
313
255
221
347
216
221
261
231
262
130
202
205
237
224
203
256
211
257
236
302
230
209
283
222
139
263
240
161
146
178
292
256
278
201
152
261
277
263
114
223
222
249
234
195
236
252
241
242
227
227
218
203
214
212
139
208
222
195
206
304
208
248
249
311
274
198
250
144
247
229
221
229
197
180
240
193
203
197
220
264
281
248
304
154
227
158
218
345
346
161
126
126
186
223
181
170
249
286
184
217
291
262
224
228
185
248
218
223
186
232
293
198
219
175
251
221
229
230
179
240
200
195
294
236
198
225
215
169
175
208
173
174
145
162
189
260
240
253
276
222
228
254
182
238
265
222
211
205
200
295
223
250
264
126
202
209
224
249
206
214
154
216
202
237
174
237
225
295
176
337
201
259
213
357
181
183
306
274
164
201
220
191
210
192
167
179
246
260
176
272
172
259
192
235
195
196
163
258
162
281
184
235
199
233
209
207
212
170
243
196
222
239
262
192
204
237
263
297
217
204
162
224
237
251
145
178
193
245
293
247
322
224
265
116
183
264
247
241
178
252
202
156
318
346
298
244
221
188
274
226
241
195
243
269
234
228
169
257
343
232
196
263
260
212
226
215
198
221
235
258
222
221
201
206
176
201
188
255
250
248
182
181
182
173
176
275
130
126
226
222
219
275
237
207
278
192
227
266
236
224
270
295
269
228
208
156
231
170
269
214
194
185
270
232
251
194
250
265
317
353
308
306
243
184
244
288
182
226
235
152
202
256
215
339
168
183
197
169
265
258
227
223
227
226
211
224
197
280
162
243
197
148
240
270
206
195
188
217
309
242
239
251
301
246
145
233
213
236
197
192
222
218
253
198
259
357
196
233
207
190
220
213
223
234
247
216
278
185
209
129
222
223
338
284
195
288
273
274
274
191
228
223
200
282
261
184
246
130
247
298
322
186
256
191
225
304
199
257
227
233
197
246
312
228
248
239
345
214
205
202
198
158
213
214
228
226
300
201
289
207
180
145
312
221
197
238
245
271
178
185
222
192
250
202
255
186
369
294
206
195
266
243
233
191
234
265
225
226
293
241
163
189
243
227
235
227
248
198
207
262
218
274
286
218
205
230
176
194
293
249
206
281
237
198
185
227
231
173
209
173
239
230
209
216
222
201
244
221
194
233
225
236
225
170
274
264
215
126
128
230
300
247
255
204
225
201
165
313
209
282
200
166
269
193
257
243
242
234
243
277
322
196
241
200
223
220
238
247
201
265
203
269
218
219
189
211
262
287
233
176
199
210
256
217
230
217
201
252
370
281
152
244
186
280
205
291
231
289
243
226
211
195
201
213
221
243
191
278
320
291
205
237
295
323
265
218
234
205
273
245
234
237
271
295
221
207
208
237
296
239
192
173
169
215
161
194
183
173
191
216
220
198
229
243
160
243
235
232
239
172
246
108
258
181
181
227
173
114
210
238
327
192
254
196
210
126
200
215
181
210
219
197
114
198
263
152
203
232
269
177
256
220
254
238
129
252
199
210
226
220
178
200
213
238
201
264
230
231
207
196
194
215
299
146
169
227
238
227
169
188
213
194
263
241
145
237
151
372
225
217
213
165
139
185
204
222
266
168
225
237
342
196
264
182
154
240
270
206
178
285
235
225
204
229
289
217
214
287
247
206
184
273
174
261
198
174
209
173
169
217
214
263
167
235
245
189
315
262
198
174
151
249
137
211
227
244
253
213
290
216
249
213
253
193
263
169
201
204
200
273
310
252
212
251
258
214
248
217
184
242
239
114
207
291
165
257
226
211
351
239
229
224
237
288
239
162
227
284
286
285
287
252
245
184
179
260
217
245
312
205
249
179
253
244
225
274
274
209
180
227
179
203
223
170
158
260
139
250
253
175
206
173
233
163
275
197
231
199
203
262
222
242
180
146
262
237
173
233
177
248
176
180
188
170
274
206
301
213
225
189
236
245
197
209
285
200
190
207
172
203
246
189
145
282
165
212
225
180
275
238
320
245
199
240
227
207
238
129
214
192
263
221
221
261
218
233
193
304
190
246
178
286
296
234
242
182
207
274
244
285
209
312
188
192
209
219
249
233
277
262
311
198
181
237
212
211
236
203
233
284
173
214
272
226
221
251
176
271
178
263
191
200
166
257
238
170
200
255
167
265
221
190
226
187
210
281
225
257
285
221
259
225
310
228
227
154
178
219
244
247
198
227
251
239
187
218
169
271
262
184
217
191
198
192
126
294
282
254
209
260
193
204
269
243
186
290
215
345
170
218
126
237
181
217
245
281
273
225
255
239
146
243
201
278
275
183
244
160
181
229
174
267
242
208
231
215
202
208
180
180
198
210
287
178
210
229
198
221
156
235
222
255
263
207
280
156
220
276
249
149
233
284
242
233
265
221
315
126
319
297
241
230
214
236
226
221
226
176
194
194
283
320
272
232
247
151
224
213
235
240
155
211
316
234
185
257
201
231
305
257
244
169
193
266
231
214
252
181
237
190
272
248
194
273
185
311
206
219
240
289
284
240
277
151
227
278
266
244
316
203
114
288
268
151
276
253
263
225
246
234
253
228
276
200
161
275
191
126
235
257
266
207
309
170
211
174
255
282
230
169
221
215
200
129
198
199
266
214
260
235
195
252
315
281
161
291
208
314
297
225
159
271
224
253
244
198
234
249
225
242
228
208
372
157
247
148
213
229
114
275
214
230
169
198
193
228
188
249
199
174
173
218
197
268
367
216
259
290
231
168
175
267
343
174
248
200
192
234
202
277
230
294
213
249
275
258
324
229
265
206
235
201
235
280
156
223
302
263
293
238
216
181
170
211
206
306
209
227
190
226
244
164
306
281
269
251
202
255
282
208
255
189
318
290
313
246
197
206
167
250
198
203
202
160
191
181
149
144
247
200
165
225
234
246
234
264
197
232
216
231
219
198
220
252
151
165
251
180
277
279
145
259
126
243
181
288
220
219
196
233
252
249
190
251
227
219
237
165
219
241
166
165
195
160
184
163
218
214
295
183
262
215
233
265
227
280
247
241
154
198
211
156
204
152
243
261
274
185
182
180
243
239
233
168
139
250
182
170
194
299
311
248
226
196
192
292
200
244
176
183
227
260
235
275
260
192
184
199
240
220
201
220
222
229
230
296
193
181
286
151
275
198
157
181
228
238
212
227
243
190
229
212
277
270
173
195
228
267
215
324
235
205
168
114
232
291
261
158
238
281
224
240
187
159
313
315
156
292
211
332
245
206
252
189
226
190
265
253
209
160
160
190
252
246
301
160
235
156
207
192
384
229
182
271
208
216
195
311
179
263
215
162
206
236
215
148
197
250
303
208
188
190
193
245
139
139
231
344
162
258
244
241
288
244
263
268
242
329
158
199
269
199
249
186
198
133
145
130
289
227
200
214
204
297
240
260
189
240
212
224
214
175
214
202
260
299
255
235
261
384
222
225
240
198
221
185
213
243
152
214
239
196
233
154
296
219
166
242
208
171
277
221
215
350
260
234
114
160
247
261
249
208
178
196
299
253
223
216
201
258
275
235
256
245
240
236
176
189
211
218
239
209
114
246
160
195
272
225
141
178
225
175
228
190
192
178
225
281
196
320
181
192
224
228
208
184
278
204
220
204
205
186
247
202
194
181
342
241
234
227
198
253
146
265
324
206
216
244
209
218
205
184
187
108
195
193
255
232
236
201
219
229
186
190
258
240
306
233
202
221
226
297
208
174
249
260
165
204
269
173
256
241
202
212
128
206
256
189
239
210
159
231
205
187
175
311
180
225
173
216
252
181
263
157
231
257
239
263
235
291
277
240
266
267
199
277
210
213
253
213
209
184
342
285
295
223
192
207
229
273
327
247
249
248
244
256
273
275
286
180
249
228
261
204
227
235
262
282
244
215
253
221
201
248
187
173
221
264
179
233
268
249
199
281
290
215
254
212
179
238
225
207
146
256
172
228
241
232
275
257
173
190
284
175
248
220
247
230
294
299
215
284
212
158
219
275
245
240
283
239
173
240
198
258
239
252
217
220
269
234
216
250
263
258
211
284
223
190
210
180
215
203
218
179
212
250
207
210
222
114
178
218
214
264
204
160
281
213
307
220
193
192
235
246
220
250
276
264
187
198
247
222
210
245
231
300
289
213
177
239
270
309
170
208
188
268
197
217
244
210
212
161
214
236
263
198
180
223
233
213
230
228
170
179
236
188
252
216
166
247
189
174
240
188
214
232
240
243
200
223
184
200
263
225
305
213
174
287
265
174
191
202
225
257
212
271
235
246
220
162
334
311
238
183
116
301
233
215
262
253
194
211
192
281
320
249
222
139
290
174
217
250
256
243
219
212
259
179
242
214
145
198
181
184
158
210
236
222
202
220
267
160
202
159
290
240
210
355
216
180
285
234
247
178
245
234
214
216
215
215
245
213
269
237
211
192
190
201
205
228
205
293
203
173
250
155
193
178
184
249
255
207
229
265
238
192
152
209
187
225
222
260
220
239
158
170
197
210
249
264
192
266
191
208
229
182
167
233
271
222
226
292
168
248
170
214
208
203
167
231
215
156
241
180
318
238
293
178
223
253
169
178
252
264
269
176
223
263
197
190
247
189
235
216
240
194
213
128
203
138
298
170
288
225
238
251
155
159
284
257
291
285
246
193
196
114
201
181
230
160
160
238
195
208
265
218
254
287
221
237
197
232
286
214
174
185
244
223
176
195
152
194
247
241
205
212
274
273
210
201
114
233
250
114
200
265
215
262
176
254
203
145
204
191
287
231
172
246
232
180
255
139
149
209
327
290
200
214
308
257
227
165
261
241
168
221
241
315
194
196
194
282
295
214
183
184
234
218
274
217
300
197
214
156
284
317
151
247
197
271
242
202
274
198
198
179
302
239
268
161
198
175
160
288
277
176
264
192
314
219
180
222
209
207
209
198
272
230
162
161
288
265
214
242
156
167
232
207
174
224
152
151
298
237
250
256
187
220
233
247
254
193
241
297
191
200
173
219
214
249
197
232
141
169
299
187
212
235
246
204
192
266
225
179
233
262
241
219
177
296
205
259
347
161
188
273
264
217
281
175
170
187
229
194
243
226
160
243
166
182
220
170
240
249
178
217
219
178
192
250
220
259
228
151
183
284
114
160
256
187
255
301
276
194
258
288
178
250
239
241
204
189
203
227
240
237
247
243
193
246
219
205
283
222
253
231
204
221
191
185
253
245
253
242
225
274
281
176
222
237
214
193
238
316
210
308
187
177
220
234
232
184
280
194
264
245
152
162
225
246
260
227
305
241
265
235
228
195
310
191
185
184
209
187
255
196
258
254
207
254
280
243
221
273
169
235
301
195
152
218
204
189
236
285
209
224
211
226
228
195
246
268
230
238
231
218
287
286
201
126
249
209
160
166
225
233
161
232
242
165
304
159
267
228
262
229
207
233
207
233
205
267
280
235
114
223
175
317
214
245
237
246
173
254
237
267
192
277
282
128
229
243
170
273
227
325
206
194
225
188
225
225
222
283
270
238
166
198
256
189
147
272
204
219
212
268
271
145
196
213
211
227
133
247
208
293
250
223
193
250
230
202
195
241
252
173
238
367
164
179
203
277
156
149
139
277
226
196
259
281
257
333
217
245
185
193
194
175
214
166
219
249
225
201
265
114
212
220
106
208
166
250
258
227
199
215
160
241
248
170
246
269
192
190
169
212
252
162
181
206
284
249
244
157
254
265
239
293
193
243
308
206
166
183
260
237
180
114
211
238
210
231
210
265
213
239
212
198
254
175
219
214
193
246
209
250
207
252
244
162
181
252
302
279
243
180
176
225
239
194
202
270
180
245
282
192
196
198
234
243
147
169
211
174
175
236
279
316
184
167
311
241
214
261
148
170
229
154
164
216
246
288
289
129
242
232
181
206
207
232
227
279
198
259
265
309
224
219
218
172
191
199
258
179
181
200
267
181
286
212
114
126
191
250
145
192
235
252
195
185
237
193
274
273
189
202
220
221
261
293
258
253
266
210
229
280
275
217
202
231
148
270
191
235
239
259
258
203
179
204
243
241
228
268
200
244
194
182
167
230
228
167
190
206
244
234
218
126
233
271
275
219
192
208
190
179
261
245
266
238
186
151
204
220
182
250
324
177
261
296
161
195
253
224
215
171
315
166
194
237
259
283
247
151
221
214
314
262
316
222
334
307
288
202
196
171
205
276
184
262
198
325
221
192
210
262
260
323
254
175
307
333
328
218
196
244
327
266
255
190
270
259
237
231
200
323
225
220
209
149
139
181
195
177
170
227
306
257
267
140
172
202
222
170
165
174
209
208
274
263
219
321
264
221
240
269
236
240
249
237
208
257
193
212
246
228
212
158
215
253
238
291
215
235
247
208
204
210
181
262
266
231
204
265
187
262
231
276
192
229
121
182
287
181
211
264
186
198
220
187
213
214
235
198
218
283
214
218
213
222
258
227
193
219
219
267
170
294
234
160
191
155
212
258
186
114
235
270
207
205
256
306
237
227
203
363
229
192
310
245
182
235
219
139
212
267
225
183
302
265
305
209
261
198
223
172
201
264
270
233
301
235
174
232
244
198
246
160
263
173
237
237
278
226
192
165
188
291
108
220
238
184
178
266
251
172
219
200
240
216
202
279
170
235
198
280
205
178
258
236
176
240
267
252
240
263
278
191
168
241
258
212
225
288
192
237
235
271
218
269
244
174
174
192
220
230
162
235
210
190
220
292
244
188
316
248
149
198
218
189
297
207
156
215
170
274
298
206
240
276
181
219
225
197
200
196
223
266
198
174
181
270
191
235
140
197
223
194
193
224
250
230
147
215
326
271
246
150
195
176
253
270
189
214
172
181
214
268
215
247
222
299
279
230
197
167
242
206
216
221
227
197
283
195
183
193
161
207
231
186
255
277
235
231
234
223
297
199
190
224
294
204
233
202
331
146
194
325
195
253
211
207
175
195
271
183
201
196
202
151
236
227
196
178
213
249
240
187
255
203
225
352
188
160
198
277
233
181
252
220
196
303
154
177
320
140
141
206
190
245
193
246
231
173
214
209
243
300
209
276
253
258
244
217
267
248
191
286
185
278
238
218
189
220
254
235
176
234
182
280
217
325
181
318
202
194
274
234
147
276
166
390
244
211
173
283
234
160
317
169
176
199
148
114
225
241
233
316
270
236
232
217
180
169
252
227
243
221
201
201
242
230
288
225
116
246
297
283
191
154
184
166
232
254
167
204
199
164
250
258
284
197
198
243
216
203
194
242
193
126
205
114
249
186
229
248
176
225
170
162
215
175
335
240
228
220
181
285
178
217
239
158
272
161
201
166
235
226
236
226
170
230
157
300
284
234
192
160
274
231
227
235
208
162
163
158
185
229
236
222
164
208
213
211
341
233
224
180
203
141
252
225
189
178
264
145
266
211
252
249
243
275
265
219
184
199
304
234
210
255
189
219
200
192
208
204
226
184
267
272
213
230
210
175
215
227
235
359
195
271
168
250
188
214
208
259
225
270
192
216
215
214
173
369
235
233
202
266
329
296
268
224
208
225
217
194
166
244
151
300
205
273
242
216
196
270
255
248
335
154
229
171
263
279
162
212
198
301
207
193
116
285
198
197
240
152
130
201
182
228
200
170
197
194
274
178
203
175
114
226
244
202
202
216
211
224
198
243
217
235
161
230
327
220
170
258
179
248
260
200
288
156
206
365
240
308
190
234
214
223
106
165
306
197
258
224
187
258
220
220
226
145
353
184
355
247
199
295
250
240
154
291
267
147
174
302
245
277
205
170
245
205
220
201
216
273
265
229
181
209
289
267
256
241
151
237
270
231
151
246
215
198
161
291
208
290
175
216
199
229
192
198
282
231
304
189
228
253
208
224
159
255
161
182
218
157
236
243
200
241
291
246
179
231
213
200
178
216
264
183
223
246
209
177
225
239
114
273
217
186
248
299
181
170
283
220
263
221
225
240
201
198
241
253
165
188
239
294
237
201
196
246
249
179
187
269
241
201
166
186
256
200
200
221
307
169
221
268
229
203
147
213
272
166
285
196
306
257
271
178
176
202
323
275
267
260
181
192
284
241
157
179
243
301
114
205
176
181
247
205
257
162
266
232
169
297
195
214
233
245
209
305
264
185
343
344
177
240
234
237
155
249
245
273
236
235
173
249
161
248
283
260
215
312
168
294
254
318
315
253
271
229
287
244
200
144
166
260
287
183
179
211
192
227
322
194
265
166
226
246
183
184
293
263
225
230
265
243
296
197
190
156
266
357
230
247
247
228
252
273
266
180
262
155
182
250
287
303
225
276
161
229
320
192
173
175
209
263
177
165
248
211
220
275
227
175
184
212
289
267
250
114
289
114
208
257
231
231
200
298
244
217
209
192
193
223
286
174
255
304
282
221
213
198
254
262
225
191
281
295
228
163
263
273
243
156
226
281
206
233
222
159
284
254
267
194
280
156
254
312
256
283
246
226
228
239
222
160
208
243
215
158
272
211
254
224
200
286
194
187
338
233
276
192
323
253
288
236
243
253
223
209
213
262
161
322
235
277
294
261
225
230
261
225
229
261
277
246
249
146
228
232
160
190
265
172
225
212
224
218
193
215
108
249
195
173
250
258
177
261
216
179
268
283
215
244
220
219
114
252
158
229
259
167
249
234
288
305
277
186
212
244
194
139
241
196
116
260
292
178
180
265
215
218
319
296
223
204
244
196
261
189
255
180
258
156
311
208
237
229
160
265
219
148
201
156
257
186
235
173
269
206
265
275
179
114
243
255
256
253
173
228
208
180
176
279
178
254
282
202
269
245
268
155
289
275
237
184
190
226
184
274
191
247
185
240
256
263
246
223
216
225
322
175
193
204
229
254
235
278
253
254
265
265
186
238
216
139
205
330
192
189
263
180
205
156
195
198
195
210
160
170
163
108
259
222
179
181
203
188
204
195
246
207
175
302
249
265
169
213
200
156
114
180
179
215
187
315
184
206
199
193
265
149
241
272
176
270
202
235
233
188
185
239
201
290
200
280
221
258
223
180
289
218
222
282
195
243
225
222
190
201
245
164
225
208
200
233
229
268
275
274
189
244
244
208
224
263
265
325
238
246
233
246
237
245
193
250
200
235
262
152
187
222
234
216
271
330
216
202
180
176
242
225
161
238
260
310
192
199
207
145
220
204
254
201
205
336
189
181
205
225
175
281
252
234
170
235
199
219
248
207
234
214
339
165
283
243
190
228
212
249
181
189
185
284
223
302
274
277
231
197
244
209
209
221
231
241
227
181
233
332
257
232
177
218
213
199
285
175
225
223
240
182
339
230
231
244
181
243
200
183
194
242
275
196
244
266
296
226
267
249
266
327
214
231
215
222
273
154
231
239
178
233
301
193
350
239
239
267
204
174
260
195
317
221
191
217
257
170
258
191
244
236
257
227
147
230
296
271
159
215
154
239
221
263
149
181
251
242
237
225
256
282
245
207
157
220
246
298
223
228
225
191
200
232
231
146
198
201
235
152
285
210
199
250
164
181
267
286
308
249
205
270
251
239
277
316
244
267
271
191
210
181
240
167
306
218
153
277
272
272
264
174
196
264
228
266
214
292
152
247
192
226
220
226
181
217
198
224
236
240
207
235
228
190
224
279
213
200
270
216
226
320
183
175
217
220
178
257
158
201
303
251
197
210
263
230
233
220
254
308
182
275
224
214
267
166
240
228
237
307
169
174
265
192
266
269
267
224
211
230
222
253
256
149
195
233
200
246
201
301
176
164
261
175
250
237
232
248
198
192
250
159
163
251
221
220
202
285
253
182
154
317
222
207
197
236
184
260
175
235
217
206
207
198
161
197
267
273
307
285
252
200
232
218
225
252
176
207
189
199
205
170
260
258
237
233
260
311
187
211
173
218
190
219
196
207
168
268
249
239
220
231
238
262
245
235
247
164
174
273
175
269
261
295
250
225
173
247
187
271
234
227
242
242
201
202
197
160
254
269
207
218
220
262
305
188
172
243
252
198
219
217
234
203
200
200
161
207
248
183
235
156
194
201
193
334
253
204
228
235
220
245
234
231
278
211
247
250
168
178
139
275
272
282
231
267
180
195
181
217
171
240
186
234
184
261
160
245
198
116
220
205
261
262
212
173
219
237
156
297
221
274
313
282
230
226
203
181
292
184
188
219
238
287
234
197
218
242
220
238
257
309
217
269
245
196
214
243
206
238
215
165
220
228
255
198
207
212
208
158
196
249
202
227
270
165
169
252
164
287
264
224
203
211
139
174
199
181
269
170
265
238
198
227
167
250
148
114
261
225
256
160
194
176
244
203
194
196
234
219
252
309
251
202
244
221
235
212
181
190
211
256
170
273
186
160
237
195
214
271
246
190
200
236
256
218
205
204
180
192
259
177
266
215
313
249
263
269
272
190
238
218
221
245
192
277
175
191
114
167
178
314
181
276
309
192
170
210
215
189
167
160
181
236
229
231
219
210
217
204
223
192
217
213
194
161
215
226
218
312
146
258
201
258
192
234
179
215
197
254
211
204
177
308
264
243
240
211
256
160
204
253
196
262
281
186
195
192
175
300
156
173
290
187
254
308
223
238
181
258
244
172
242
274
160
170
202
234
192
199
311
199
202
242
232
257
371
190
274
230
198
139
255
200
240
228
212
282
189
279
262
184
190
259
213
161
212
114
213
266
240
223
201
166
179
262
242
207
273
207
196
278
216
292
179
286
245
267
296
169
144
185
228
279
234
180
311
275
208
212
283
160
178
298
200
269
197
220
247
256
241
213
298
176
210
207
222
195
170
240
108
184
273
234
244
286
251
223
235
170
201
315
214
225
146
173
195
208
205
221
183
179
202
285
212
193
198
218
252
176
223
248
211
330
151
173
249
195
183
164
299
257
170
223
213
265
286
242
221
261
274
238
114
262
144
206
181
276
173
279
228
239
178
195
214
152
276
216
266
217
211
179
171
220
165
201
191
196
324
306
256
207
152
244
208
196
247
186
193
227
184
167
189
151
253
227
158
190
179
160
234
178
202
174
293
323
207
258
151
313
225
197
250
186
199
184
213
194
221
210
215
212
256
220
180
200
243
237
208
233
208
187
175
306
234
240
248
114
208
234
239
155
308
121
195
220
219
148
158
241
212
269
246
183
247
164
304
270
234
179
258
225
201
121
329
262
220
236
319
235
280
213
222
228
268
243
286
271
237
216
200
211
178
152
244
277
261
236
272
162
209
220
212
235
209
213
205
269
216
211
214
188
196
209
222
227
230
276
170
260
126
253
209
229
222
349
266
177
230
170
273
200
204
219
221
217
225
216
214
213
191
304
203
246
243
282
210
184
245
266
194
229
231
236
208
169
213
215
178
162
202
244
152
226
187
235
232
261
245
272
273
207
191
187
230
270
335
211
195
284
249
214
186
183
230
161
245
262
260
214
196
200
233
208
236
208
163
192
228
193
256
301
208
325
183
286
152
174
177
145
342
179
289
139
181
272
208
240
240
204
222
246
218
261
246
238
156
205
176
250
304
214
263
231
190
158
262
194
175
217
179
283
260
225
249
173
223
265
255
174
203
236
276
252
190
329
203
207
277
184
200
248
190
174
182
298
176
195
231
268
173
256
259
201
314
174
233
221
176
222
188
165
236
185
227
284
262
287
183
257
152
219
202
126
272
205
247
328
210
199
243
221
195
166
182
275
219
191
216
305
234
290
210
183
166
173
171
167
215
203
203
147
215
193
327
214
308
242
194
252
180
217
271
173
274
244
270
272
256
243
217
114
198
193
178
226
129
257
183
235
262
284
215
224
248
241
262
295
216
246
262
200
341
221
253
199
229
256
106
238
225
287
233
223
197
242
259
275
216
187
301
244
173
161
188
148
229
170
296
139
126
246
149
279
214
231
202
218
224
272
226
251
208
225
160
147
306
251
235
217
217
290
274
210
192
293
171
202
210
281
269
218
179
210
180
230
253
284
178
212
309
323
228
181
225
251
195
227
222
214
245
246
257
184
214
249
184
210
244
193
211
246
253
203
180
145
189
234
186
158
247
243
146
246
201
226
140
220
265
244
173
226
191
227
187
261
158
219
272
232
210
259
203
241
226
239
273
156
214
288
266
178
262
214
213
278
220
205
222
267
200
236
191
248
252
138
265
246
191
229
197
179
253
285
161
170
277
207
179
181
267
223
271
201
189
261
284
114
256
243
156
192
213
205
283
237
247
169
230
246
235
218
238
155
227
254
192
180
265
237
188
188
181
211
254
203
203
254
202
151
178
219
197
230
251
208
239
195
189
204
194
184
227
170
186
222
224
162
225
207
257
234
239
218
255
203
231
232
209
356
192
228
226
225
211
182
208
156
201
168
257
225
199
168
267
203
199
237
183
253
229
238
265
218
252
227
195
200
198
231
192
251
214
158
251
170
234
198
244
309
237
261
228
146
192
315
313
189
199
230
186
232
238
290
130
291
236
276
254
252
149
244
214
206
228
180
214
264
158
222
228
157
196
251
267
219
257
207
209
287
114
270
177
302
227
173
219
241
241
214
225
303
183
126
277
220
174
314
242
240
260
284
130
137
269
254
250
229
167
274
217
211
178
250
270
287
214
271
251
158
187
295
260
273
277
139
216
174
215
192
233
156
225
188
175
261
323
268
158
233
240
161
191
173
151
271
239
244
204
245
218
208
203
214
155
242
276
261
225
250
201
257
286
273
250
207
220
183
229
173
288
195
236
211
231
114
194
248
228
228
211
149
212
212
222
207
252
291
220
231
222
216
228
215
213
178
193
303
156
165
247
258
168
217
154
246
225
268
196
271
200
263
179
341
258
285
309
251
262
244
191
251
191
230
355
195
144
252
233
249
207
290
246
220
262
191
220
212
257
191
251
245
209
188
249
278
268
334
212
208
190
299
232
209
156
301
215
222
175
249
181
252
252
293
114
238
221
206
261
189
207
194
231
247
207
284
244
219
178
298
232
181
336
280
232
209
219
225
210
203
309
222
122
246
185
173
215
274
218
274
219
226
184
245
169
193
224
211
219
296
173
299
212
276
201
218
181
265
170
223
294
238
139
216
282
226
216
161
250
234
244
302
256
229
269
223
279
256
286
236
230
245
266
174
182
187
246
189
299
149
168
293
261
277
192
233
218
232
283
239
200
285
260
212
183
273
241
252
259
225
232
277
252
241
304
251
312
268
188
228
184
212
202
206
244
268
268
239
195
208
257
190
238
203
175
247
265
183
184
237
242
232
226
188
157
279
220
252
156
257
246
180
205
308
246
180
187
244
244
284
221
246
209
166
169
202
238
192
232
260
146
186
198
242
271
290
205
152
231
375
180
232
193
288
255
210
204
217
215
212
202
273
267
221
171
289
205
292
245
224
216
302
265
214
226
333
227
241
164
170
257
219
263
196
224
249
167
192
243
246
217
272
294
269
240
147
232
230
278
217
212
245
234
243
221
215
258
175
201
259
302
280
282
295
241
279
235
176
295
186
200
279
196
203
241
243
190
193
158
198
205
243
195
272
221
225
278
233
173
158
206
240
253
336
225
202
246
237
240
216
254
237
262
160
246
188
227
256
234
211
274
198
156
225
283
201
197
233
269
245
232
244
154
243
199
162
233
268
308
156
288
278
282
234
233
178
212
202
208
273
257
194
239
186
182
114
151
237
246
161
257
225
232
296
293
226
269
221
264
225
216
295
247
176
206
228
156
212
257
205
153
314
270
201
209
175
165
169
164
235
114
216
148
198
220
182
288
261
267
114
279
282
177
170
285
270
173
212
275
250
179
198
207
212
264
243
305
197
195
149
258
194
229
194
242
314
206
171
203
214
296
209
194
318
263
186
173
212
251
251
198
201
180
259
245
299
207
180
234
224
213
295
224
213
303
269
221
202
223
265
201
200
220
300
154
292
247
219
235
148
245
238
229
163
227
203
258
250
224
218
180
342
230
251
225
181
199
214
197
276
224
146
195
180
236
244
299
237
228
108
220
222
222
249
180
219
180
206
206
173
202
156
185
223
324
265
185
219
191
181
313
210
151
174
199
211
266
231
154
192
248
277
261
194
191
206
222
284
259
222
329
200
289
209
293
211
258
195
212
271
286
292
226
278
157
211
182
204
116
198
208
195
315
220
209
198
273
203
272
114
305
260
231
191
227
240
215
237
226
225
249
276
238
193
226
292
178
238
144
185
319
255
251
246
194
236
198
183
229
234
200
251
197
205
229
230
192
212
174
197
277
242
227
185
178
208
263
159
202
309
269
204
197
251
220
230
275
177
171
184
286
272
286
249
273
185
257
278
195
275
245
149
175
186
296
184
263
216
248
237
234
304
180
179
249
261
211
233
198
329
295
208
202
259
258
156
251
318
163
341
253
251
248
218
209
225
201
288
225
258
233
265
188
280
262
217
256
278
233
175
227
208
225
236
167
251
171
215
246
272
171
240
202
250
230
207
224
219
281
183
208
236
186
250
232
186
275
168
114
114
249
237
301
143
160
219
219
271
146
340
197
175
267
227
129
175
225
209
208
318
178
184
185
220
239
128
306
235
209
256
215
175
225
189
269
253
267
293
244
233
258
130
155
237
304
287
244
256
210
294
237
262
223
263
185
179
251
198
181
284
224
204
183
199
201
182
196
242
209
238
245
185
197
166
160
247
256
194
199
227
154
156
201
267
178
178
205
224
238
161
229
331
265
235
246
197
193
260
266
242
248
152
238
237
239
305
308
236
297
226
243
287
203
232
253
197
239
206
277
319
126
283
238
179
218
319
276
248
234
267
268
207
185
170
265
234
148
165
222
216
205
263
232
192
252
248
184
219
230
288
295
245
269
247
218
207
263
285
187
235
114
222
181
168
203
283
182
213
255
225
156
114
246
220
243
175
293
230
224
257
221
204
235
210
233
266
237
238
253
220
244
292
243
235
255
217
221
251
207
228
207
261
244
184
262
234
235
238
234
224
240
249
206
263
272
219
205
229
162
171
303
224
200
267
255
162
201
208
241
167
249
175
258
207
152
134
222
179
174
290
278
237
224
225
178
218
221
195
369
192
293
192
238
184
266
230
265
185
188
145
209
301
184
211
246
292
201
176
321
230
254
276
340
126
214
230
219
258
227
246
200
250
237
222
266
277
295
259
245
186
291
226
175
156
236
243
181
176
246
227
259
233
218
239
148
277
241
210
249
198
171
258
297
260
263
193
198
219
165
222
220
219
248
188
179
347
257
232
151
246
193
152
253
200
198
163
253
177
175
260
221
203
219
222
204
261
126
187
291
218
180
218
177
220
271
195
240
214
202
198
277
208
205
176
208
195
289
306
219
279
296
238
179
146
340
181
176
246
264
275
258
250
191
184
249
171
177
225
204
207
224
255
205
294
207
193
257
250
237
252
244
228
272
195
247
195
175
201
167
269
170
311
178
169
212
263
202
221
242
256
278
186
261
281
205
255
245
227
261
208
208
249
219
245
215
234
269
233
156
231
243
228
263
255
181
240
208
250
203
178
227
242
165
255
229
214
198
248
189
250
269
187
160
307
235
241
213
188
199
174
249
214
251
282
156
218
347
175
250
250
204
255
182
208
173
192
245
169
210
313
188
218
263
264
194
236
121
272
322
253
210
235
224
185
174
209
204
173
230
221
239
320
302
191
208
209
160
236
199
242
195
214
238
215
152
203
174
208
213
229
257
277
311
245
147
228
272
226
221
277
184
239
281
258
181
174
262
209
177
252
203
252
262
260
290
199
185
285
233
200
219
191
267
252
230
203
224
205
282
180
232
239
273
226
259
154
144
217
237
291
218
287
204
348
255
165
170
184
240
224
212
262
236
156
232
173
173
271
221
237
166
231
240
249
324
173
261
211
241
203
214
170
278
256
222
156
239
237
270
320
314
148
216
188
214
253
267
225
200
179
191
170
266
260
243
217
226
278
174
288
163
171
183
175
254
227
205
228
258
172
210
249
262
248
264
229
265
202
215
273
219
244
277
245
220
130
139
281
240
257
216
169
239
236
139
241
240
248
188
139
201
188
244
253
205
114
267
263
235
192
173
197
228
180
184
114
152
286
169
181
307
160
178
271
235
269
182
218
221
264
340
206
294
237
306
245
290
215
178
199
218
154
201
178
254
240
204
194
166
236
191
267
205
230
234
171
282
207
195
267
237
199
200
217
236
188
226
200
206
226
184
170
217
191
199
160
228
184
138
243
274
184
192
198
301
195
234
181
152
275
170
199
250
241
265
267
239
200
293
209
277
274
240
251
203
256
242
282
174
206
178
277
244
152
244
209
246
186
177
162
247
255
180
240
292
172
265
237
229
174
311
192
210
320
265
230
183
240
114
238
173
146
149
200
230
231
377
114
213
234
192
301
160
285
216
251
156
218
278
232
266
167
285
226
292
156
230
179
175
152
212
218
116
245
247
252
171
200
219
219
183
203
208
272
336
160
269
220
212
182
204
292
175
302
224
199
160
243
219
261
164
209
259
175
194
198
258
238
157
114
173
211
248
187
163
200
208
257
234
274
205
213
240
239
180
232
273
291
238
214
191
245
239
228
186
171
259
207
267
322
249
261
188
186
210
183
264
261
237
171
218
238
235
201
226
242
223
184
224
193
214
188
244
226
260
299
237
178
223
291
205
145
247
316
285
169
278
152
192
394
173
231
250
231
200
309
210
233
158
212
210
165
226
162
133
247
226
270
289
265
176
224
219
198
235
281
217
156
207
159
272
230
199
156
205
323
221
157
286
254
169
245
202
213
273
183
302
114
167
246
246
248
114
244
199
256
252
208
158
189
232
191
199
291
258
169
299
174
259
267
219
164
265
285
222
251
261
226
255
195
156
233
246
290
197
156
228
188
233
185
226
193
210
178
273
347
174
212
206
239
209
208
225
231
252
249
200
265
190
218
215
168
205
237
133
220
264
333
208
254
206
148
207
269
265
221
218
236
358
218
207
258
142
215
188
190
294
171
203
169
259
194
175
200
151
325
315
246
279
243
276
231
234
242
209
114
243
252
207
297
199
213
249
232
238
255
195
206
245
330
253
182
278
223
193
302
218
268
249
226
181
149
293
241
212
162
250
237
270
214
191
221
242
167
211
243
212
152
238
191
182
273
222
270
208
256
206
177
152
201
252
180
261
225
232
154
279
149
271
182
201
108
145
228
223
225
205
260
205
194
284
178
229
241
193
178
186
269
178
312
295
238
248
206
241
170
253
180
157
242
179
225
221
206
198
246
251
245
178
181
171
256
279
275
215
261
257
220
335
300
354
194
211
206
151
254
181
293
199
234
239
200
209
244
232
229
245
310
234
224
243
248
231
228
306
287
306
214
258
215
215
160
256
267
273
237
201
202
265
196
182
207
227
264
246
177
238
236
285
185
237
251
203
212
304
238
186
188
253
192
238
203
245
260
181
253
178
234
324
190
309
214
316
260
267
165
223
245
175
233
175
234
260
236
262
243
236
184
279
310
248
279
158
190
256
204
211
215
229
229
213
212
307
330
276
286
168
164
218
240
229
211
184
176
135
239
217
190
227
286
315
246
209
231
273
207
224
235
133
158
225
196
219
265
271
259
208
188
250
390
197
176
238
198
200
215
236
192
233
207
274
220
246
264
295
114
312
156
201
152
267
219
233
162
203
173
243
265
235
181
200
198
324
243
212
279
357
173
276
192
267
301
186
185
188
207
316
219
160
256
180
285
215
129
255
244
212
270
198
175
259
201
218
323
168
198
184
307
209
270
139
175
168
189
277
156
114
175
342
196
202
250
219
121
200
255
152
259
281
190
261
230
200
262
205
186
222
163
151
223
272
277
196
181
222
288
218
250
199
220
239
239
258
173
209
387
244
273
164
213
216
190
213
200
269
244
212
237
188
300
208
207
287
247
210
235
357
247
178
159
269
231
269
218
254
257
273
183
149
183
221
205
255
281
274
286
175
178
281
191
171
243
220
242
225
339
262
190
194
195
249
235
219
229
216
223
294
200
228
242
171
233
269
228
224
144
126
178
181
296
263
159
207
128
261
230
291
266
313
267
239
174
264
208
279
222
183
204
214
169
191
261
229
171
243
266
239
241
219
233
217
213
219
185
236
251
232
204
292
321
206
206
247
264
198
191
176
209
167
210
226
174
175
231
164
275
235
232
226
363
274
255
216
237
198
229
282
250
171
237
189
193
321
160
239
222
214
181
283
220
220
227
197
194
213
230
227
219
242
221
196
303
288
160
205
211
198
198
279
216
325
225
219
178
228
193
287
237
163
256
236
231
325
218
126
227
256
196
185
216
231
196
165
213
209
202
159
241
183
253
160
266
166
296
164
178
236
246
249
215
209
287
231
261
175
189
186
226
248
214
236
175
254
307
258
227
230
200
154
152
231
197
108
191
302
229
237
322
162
292
241
211
166
254
209
243
244
201
209
267
144
229
243
240
166
263
254
229
168
185
367
224
271
234
250
237
209
198
240
268
269
174
203
208
163
226
236
314
291
188
248
225
172
233
178
164
236
257
222
184
279
165
238
211
226
196
193
293
221
283
114
286
257
241
248
174
310
184
266
243
114
272
285
219
240
172
240
275
220
227
296
317
198
234
228
187
241
250
152
198
212
209
281
299
218
202
288
199
226
189
229
222
244
166
228
306
258
222
252
183
187
242
276
210
195
185
253
221
200
243
194
244
181
235
279
245
239
206
160
228
223
286
155
223
311
309
284
307
273
244
158
197
299
230
220
286
207
219
202
302
157
326
228
204
242
257
175
237
212
240
274
202
238
259
222
252
270
246
204
202
175
204
173
129
267
225
237
257
171
252
268
168
266
222
214
228
266
303
174
231
237
198
177
213
165
151
286
202
215
175
201
116
228
191
220
206
172
181
275
267
198
253
198
221
184
151
246
240
232
311
181
244
213
222
278
241
213
220
253
259
176
288
252
237
226
187
180
139
176
354
260
236
299
201
174
232
254
203
207
271
201
206
188
250
235
244
226
287
234
174
274
253
313
234
243
280
216
272
203
244
199
263
178
245
211
257
192
238
190
236
265
173
190
221
288
228
204
243
114
284
181
205
253
269
173
198
212
128
262
212
286
187
285
242
214
220
255
217
220
285
146
179
198
251
230
279
253
198
241
217
263
205
279
178
235
260
229
297
245
187
207
277
229
245
245
231
229
319
192
256
205
293
247
154
172
198
212
166
179
217
244
189
195
209
225
267
206
186
266
247
226
246
185
239
297
201
114
252
161
310
238
212
262
204
160
205
257
252
244
266
217
267
275
239
215
245
225
243
207
286
187
301
182
213
175
154
200
152
245
222
176
250
170
232
192
187
180
206
174
296
157
201
212
257
214
230
264
262
186
187
165
189
237
293
166
229
180
248
172
145
263
227
304
190
257
220
114
224
185
230
238
281
262
269
190
239
243
154
307
197
215
281
200
213
245
232
180
211
242
192
302
297
292
216
293
239
218
295
196
241
169
180
238
114
195
282
178
191
213
139
263
189
228
270
239
209
196
182
223
230
279
318
191
320
229
277
214
243
229
238
151
248
207
345
193
232
200
278
216
187
291
245
183
235
216
206
184
153
238
170
164
234
218
261
285
217
233
166
172
223
260
241
220
177
317
235
189
231
300
192
178
335
211
192
214
202
292
192
214
228
271
237
289
162
264
277
184
258
258
335
225
168
262
219
279
209
253
233
197
182
245
241
320
251
213
179
164
221
302
327
179
290
142
153
301
158
189
216
216
242
219
204
255
200
243
212
194
210
258
181
183
139
219
114
114
245
185
266
210
236
295
152
289
191
172
211
216
234
286
177
248
126
352
225
212
179
200
216
233
197
232
249
374
229
139
197
305
169
170
228
184
314
180
269
225
225
158
237
215
238
222
239
147
194
176
274
207
241
235
221
209
279
229
160
207
242
211
198
228
114
193
187
315
149
201
255
247
178
190
223
321
248
193
249
164
165
213
238
250
223
160
213
183
276
221
287
227
252
252
263
175
232
276
197
268
259
196
151
215
224
258
201
160
116
223
165
285
235
255
289
224
341
218
209
205
228
282
210
276
201
256
285
215
196
191
256
169
223
198
186
262
252
215
230
245
247
175
215
256
209
222
242
247
253
167
220
234
174
231
209
212
223
189
182
212
369
208
235
280
166
178
190
179
234
206
284
205
250
298
239
188
114
230
217
167
238
259
198
253
215
197
302
213
291
255
249
265
277
156
197
266
249
268
215
160
284
236
273
228
260
263
264
270
229
207
240
149
242
226
238
267
200
218
297
270
234
214
144
156
234
203
181
232
257
210
248
203
214
222
180
221
222
290
254
261
283
179
155
223
205
162
238
284
224
166
273
245
153
214
258
247
210
306
199
229
178
219
236
126
191
297
254
202
239
232
178
263
281
299
221
241
214
198
165
176
161
268
304
253
240
336
222
156
175
121
242
243
332
249
229
262
272
273
193
179
203
186
228
202
275
196
228
242
227
211
321
226
311
265
246
262
192
207
196
180
175
253
255
264
231
202
221
185
213
300
253
244
212
234
274
243
193
174
180
116
258
194
298
286
218
340
233
251
259
255
267
236
219
251
221
258
259
180
126
173
241
208
257
170
194
221
218
114
210
166
256
213
194
209
194
178
268
209
175
220
198
227
230
276
228
372
214
203
226
248
287
191
198
208
302
180
262
158
175
279
293
197
238
188
227
134
232
227
240
297
269
210
259
247
160
202
173
283
206
224
198
221
205
232
220
170
317
249
202
344
207
210
215
220
280
170
247
202
146
225
242
224
226
223
250
256
225
277
200
234
243
255
247
242
230
242
225
166
116
208
306
272
231
208
290
223
198
215
258
280
186
121
248
274
291
229
191
236
295
166
219
208
182
245
152
228
114
221
164
177
208
276
240
281
198
285
180
182
256
170
248
341
229
192
216
251
255
205
320
263
179
213
218
198
200
314
174
199
206
287
260
267
207
260
190
144
317
287
221
199
309
211
216
306
195
245
227
174
265
194
177
213
200
152
260
282
208
231
209
176
170
232
248
172
194
246
188
242
211
230
202
217
214
166
172
194
191
265
239
114
192
194
237
247
157
158
203
184
245
219
217
217
227
219
255
219
244
186
317
202
239
294
286
258
202
257
214
175
261
198
248
283
160
296
211
114
203
262
234
233
209
211
255
285
241
208
196
190
314
195
210
267
234
257
223
204
232
306
198
152
149
256
225
266
254
249
163
206
194
217
198
215
223
329
295
176
246
227
237
250
158
189
246
211
209
192
214
174
266
205
239
220
226
145
206
229
230
243
187
233
197
202
229
242
239
246
213
221
232
233
285
211
210
343
220
232
298
220
270
300
275
242
253
311
251
208
298
225
195
157
216
172
263
301
219
203
202
261
160
228
254
260
261
247
225
249
128
222
213
144
208
254
279
183
292
238
201
219
314
200
178
228
181
236
216
280
173
179
189
201
289
259
240
210
224
242
201
346
195
121
261
178
231
271
222
288
156
249
243
200
187
194
284
298
180
292
285
298
222
245
209
228
274
258
254
288
223
171
271
244
270
217
227
223
307
286
280
207
260
288
291
293
296
168
219
245
241
306
197
301
242
227
247
269
320
219
178
164
218
203
339
220
219
225
165
165
174
221
154
201
215
202
206
202
195
275
154
257
223
244
166
176
172
193
206
222
165
160
261
226
222
233
311
130
216
159
182
265
181
292
299
255
220
214
212
305
235
325
223
265
270
309
224
242
258
279
228
210
192
224
151
273
304
164
273
114
191
274
215
243
253
264
237
330
218
217
162
352
225
275
240
155
266
233
217
271
204
178
254
231
200
279
271
221
176
201
313
183
208
165
211
258
225
192
195
268
256
168
252
162
271
189
280
254
315
170
244
185
254
269
255
291
179
219
130
192
212
253
164
219
210
212
226
196
248
199
323
257
191
269
258
225
199
294
183
205
242
214
219
178
184
114
202
261
271
231
304
192
213
184
238
148
175
162
240
257
265
256
173
230
211
223
196
209
198
238
230
266
282
231
205
258
219
246
224
208
307
159
221
258
248
187
228
241
154
220
209
151
260
208
231
269
201
219
254
216
209
254
213
213
188
181
283
296
246
293
247
312
212
165
225
228
311
224
229
227
251
156
207
258
170
171
240
270
229
195
199
222
265
225
216
277
235
244
190
272
297
283
329
126
169
260
209
192
202
229
231
242
195
242
209
226
263
265
204
166
169
165
252
177
268
129
271
251
189
155
174
183
218
256
263
242
194
252
218
233
291
204
200
252
250
279
222
218
286
250
206
233
204
114
152
181
182
198
233
175
283
147
249
152
206
151
275
270
191
214
206
192
206
210
211
228
295
178
242
275
158
314
262
239
146
181
230
241
256
238
225
250
264
197
262
295
233
175
199
303
249
231
323
258
254
262
278
214
199
157
179
217
176
203
191
170
257
246
260
162
197
256
167
248
232
170
279
194
246
206
215
250
368
211
325
207
181
313
257
193
239
162
251
253
208
253
152
226
291
195
260
126
178
261
241
144
237
301
156
344
114
156
240
244
129
208
203
151
283
203
161
228
235
217
214
244
268
250
185
240
194
305
282
229
106
276
195
242
260
235
233
211
214
201
259
225
245
227
327
273
235
273
201
232
241
179
258
247
190
234
266
232
144
261
217
255
192
289
233
300
245
264
191
222
285
211
222
211
199
232
254
204
213
225
326
262
190
227
239
204
217
196
234
195
234
195
238
249
170
228
273
293
229
271
239
148
192
184
244
247
232
178
196
179
269
174
259
154
247
239
228
226
227
173
229
206
218
174
234
220
222
246
267
222
237
220
230
182
181
235
160
229
231
289
257
184
139
225
232
170
221
244
181
293
238
240
287
160
190
237
266
114
276
229
264
218
240
279
171
129
167
289
186
247
331
170
246
278
254
283
234
305
181
217
324
201
209
226
222
229
253
238
208
254
261
242
241
320
252
250
280
227
220
279
330
244
227
122
178
309
211
176
175
160
269
225
192
192
214
213
232
205
238
173
222
252
283
265
255
214
313
248
263
199
187
199
174
170
226
203
211
278
247
178
206
189
241
219
254
181
244
279
243
139
170
244
219
207
252
244
216
276
157
240
241
198
240
356
202
242
231
218
154
215
167
255
126
170
270
255
245
236
200
255
254
228
300
239
230
170
192
243
321
195
223
192
200
274
243
149
194
195
206
247
175
221
213
240
234
212
258
231
266
270
235
254
295
194
222
239
288
288
220
325
260
234
234
192
207
149
201
229
276
263
246
241
225
226
200
233
211
247
239
311
302
196
183
183
202
207
246
244
265
274
271
224
297
215
200
241
241
230
267
161
177
207
270
244
198
242
195
231
179
203
295
270
263
207
282
207
193
179
200
245
262
192
256
233
319
212
203
179
239
199
188
216
267
245
209
309
177
243
271
226
296
229
171
209
205
160
233
228
244
214
154
202
196
250
292
178
194
244
181
247
205
121
173
217
271
165
180
197
273
195
217
265
217
273
179
180
204
145
184
181
242
213
338
158
242
242
178
184
200
156
239
231
212
326
192
216
247
250
238
227
172
191
223
247
236
279
294
224
241
264
192
309
297
161
236
179
331
278
303
196
192
211
172
235
214
173
177
218
190
245
256
108
227
193
210
198
206
145
144
224
297
227
302
205
235
223
259
250
214
192
337
217
163
215
318
221
159
236
194
217
221
253
194
256
201
270
234
323
292
300
211
271
299
156
221
239
152
179
114
232
220
308
234
240
262
147
272
283
227
261
194
268
213
247
114
265
223
173
184
235
160
249
164
250
156
214
248
194
206
274
158
214
249
292
199
258
221
151
187
194
173
187
225
277
242
312
308
237
331
193
195
228
259
251
282
160
251
307
252
198
228
198
246
222
154
222
203
193
160
171
182
198
270
264
240
282
260
196
233
274
245
232
268
206
251
177
157
252
239
255
237
188
231
186
223
271
307
292
229
260
238
189
246
219
167
226
247
170
206
272
201
202
279
219
244
175
224
254
247
275
183
203
267
248
193
209
205
225
203
201
231
225
207
200
208
203
300
299
149
175
154
254
288
274
211
251
294
169
251
223
232
207
177
222
246
261
179
174
234
247
234
191
196
260
157
196
238
174
226
194
199
260
279
139
189
272
294
170
255
194
260
185
154
222
274
178
309
308
272
226
180
229
177
229
215
213
229
158
194
244
178
293
282
166
164
225
245
304
251
202
200
167
255
169
254
175
182
233
276
214
177
223
160
209
237
279
156
219
268
237
231
189
260
188
261
213
263
171
236
262
239
190
283
232
205
203
280
227
235
294
255
264
223
198
237
224
225
192
179
196
247
237
145
316
211
271
215
114
202
186
175
306
185
175
289
277
287
235
276
240
224
186
185
126
147
152
192
251
222
319
189
263
198
226
247
198
285
202
164
293
145
259
275
307
175
258
201
183
177
229
230
352
238
277
168
257
128
250
332
205
266
269
237
345
229
235
270
229
210
219
202
200
262
238
238
241
196
233
114
233
140
145
250
245
162
257
142
195
145
232
160
255
114
254
237
202
187
280
255
247
279
227
114
206
174
258
264
167
249
249
239
229
159
175
245
201
152
212
235
195
220
198
193
291
247
239
283
162
295
211
238
226
158
176
218
241
214
224
178
238
156
178
206
156
245
275
145
156
209
192
218
251
189
200
242
242
215
237
208
311
285
314
267
205
225
205
114
200
260
218
263
250
228
322
191
279
221
161
193
210
213
275
235
260
246
225
208
234
231
278
230
220
209
215
182
229
171
209
199
249
146
382
242
225
258
209
197
189
180
182
179
262
302
248
159
271
182
173
212
220
191
231
255
255
173
255
206
221
201
302
195
238
321
171
274
222
257
191
194
148
222
321
221
222
299
306
209
246
251
126
174
266
203
114
212
352
200
200
200
251
245
244
191
178
177
251
175
168
224
178
277
223
236
253
162
257
298
254
216
223
253
226
265
203
325
239
176
159
192
304
250
188
190
218
235
192
239
201
178
204
214
205
279
158
200
239
260
194
265
192
203
269
210
160
221
229
218
237
191
266
218
228
176
226
264
182
272
225
263
258
299
176
239
178
216
279
271
146
211
254
272
245
254
273
215
189
225
184
178
191
166
171
263
326
156
230
203
258
227
114
211
215
178
260
329
156
201
248
194
233
181
207
225
146
169
229
179
280
222
228
292
299
176
230
229
176
263
254
216
268
173
237
275
145
239
212
251
202
333
232
284
198
242
233
191
261
197
204
279
259
281
190
114
230
282
203
246
291
246
263
265
180
207
254
220
151
202
185
232
213
241
271
171
258
174
134
229
257
269
207
266
179
203
152
284
233
207
188
208
232
176
230
239
114
276
285
255
285
280
274
151
262
292
213
238
300
256
283
190
217
165
215
196
160
188
283
208
224
278
171
191
250
257
265
178
284
202
216
191
206
160
217
180
175
313
259
249
249
224
173
260
318
273
287
285
249
260
286
240
225
229
233
256
299
187
243
238
242
274
203
233
235
221
230
213
196
180
209
185
231
228
168
228
250
268
221
217
250
222
226
177
289
296
198
208
226
208
195
253
237
181
264
207
240
253
283
223
232
278
238
247
270
229
176
171
170
182
233
163
114
223
247
226
239
245
271
150
242
232
196
207
166
263
326
274
254
345
271
268
226
230
301
177
223
215
218
217
279
244
216
251
224
306
255
210
222
170
186
228
215
253
257
192
266
226
194
228
215
270
154
245
207
242
287
332
227
154
246
170
114
207
217
259
265
268
198
266
260
173
164
114
293
231
238
198
221
259
195
163
252
214
248
209
214
209
205
183
275
307
310
260
210
197
219
181
185
219
294
233
221
218
259
194
167
191
217
325
214
230
257
238
250
241
174
218
233
126
233
211
244
190
209
218
209
238
235
258
207
189
263
286
306
309
260
222
252
384
255
289
312
121
224
215
283
221
200
303
149
228
269
184
253
196
223
209
302
217
224
238
173
204
214
238
252
196
213
160
175
171
283
298
226
212
205
261
148
237
261
186
230
179
257
193
235
202
193
278
258
228
114
239
203
195
228
223
211
254
161
144
240
242
202
283
189
197
244
230
281
207
181
281
300
208
146
126
139
201
296
236
223
215
260
208
178
317
243
251
228
217
169
185
230
158
175
162
284
201
238
260
242
212
238
163
212
208
170
168
205
263
253
182
190
216
250
294
182
218
271
221
179
180
181
332
240
252
222
218
245
169
156
237
224
174
205
258
207
244
178
243
221
309
155
290
309
192
194
184
252
235
271
222
231
255
269
228
183
227
243
218
327
238
191
246
235
245
196
266
212
200
299
169
170
191
181
229
234
151
209
205
234
145
189
189
270
213
217
261
271
291
220
169
232
226
177
203
306
160
126
178
298
156
221
207
357
152
219
240
222
256
224
259
161
284
198
231
257
186
219
341
238
238
198
206
185
188
181
297
215
170
174
267
160
280
201
284
241
221
286
192
279
257
265
170
215
193
176
200
259
217
215
185
182
235
288
257
198
195
248
198
240
114
272
340
156
227
278
297
254
182
227
277
263
159
161
129
284
243
279
159
195
271
184
303
212
216
244
283
286
239
219
167
204
236
286
223
264
252
246
258
228
191
254
223
186
267
264
218
188
242
293
305
233
263
205
181
204
290
237
177
302
299
251
314
215
235
206
305
232
149
170
209
241
274
173
240
260
292
211
229
295
198
210
213
234
242
194
200
256
179
247
247
184
276
160
208
252
316
209
221
245
182
151
228
228
198
267
160
276
187
219
217
194
213
243
218
187
271
246
196
196
192
224
195
232
225
254
264
193
219
209
190
219
275
239
165
271
179
188
231
235
188
224
254
188
152
192
191
194
284
178
256
354
184
191
240
169
181
237
238
207
154
188
231
383
147
237
180
202
151
114
195
304
244
303
263
192
321
174
258
233
312
166
271
199
209
239
203
151
269
220
161
262
263
235
192
267
249
216
277
256
178
222
224
226
114
208
164
248
307
260
247
242
237
228
246
215
247
310
159
271
265
247
240
193
298
189
175
248
226
207
156
212
239
184
231
277
231
255
266
253
266
288
217
201
252
219
249
309
233
158
193
240
231
207
203
156
287
229
260
247
170
233
114
181
326
266
234
225
156
244
271
207
203
204
314
160
184
240
165
148
316
213
235
216
278
193
220
226
258
165
168
252
245
201
197
180
267
210
195
189
116
204
192
263
241
242
256
192
188
217
152
260
343
233
264
217
289
208
170
227
212
203
278
309
268
290
191
263
175
212
199
242
153
215
108
179
225
197
185
216
272
126
268
247
254
191
198
224
218
281
148
285
252
277
204
202
160
197
278
234
190
218
231
169
199
177
247
152
204
256
189
243
203
223
139
242
197
287
325
177
240
266
192
174
312
266
210
181
242
225
189
184
327
244
266
212
195
191
226
209
181
233
156
166
241
355
186
258
184
168
163
189
265
174
201
295
139
247
247
178
203
139
202
238
191
260
267
226
178
258
171
200
229
137
275
270
257
181
291
200
224
201
202
232
232
166
194
245
273
232
208
211
237
240
195
227
220
226
188
256
286
170
154
212
290
134
191
256
213
160
178
279
311
191
305
170
266
244
258
248
204
218
173
126
230
292
219
190
233
227
262
230
198
257
232
108
182
267
170
193
252
249
188
114
183
224
254
250
114
226
260
172
271
183
266
202
261
221
196
240
224
288
181
247
172
151
261
175
197
254
195
308
233
265
114
244
247
233
186
156
256
266
245
264
238
223
196
173
232
182
146
200
275
248
200
295
254
242
252
255
328
203
285
261
246
234
156
304
184
226
288
265
232
211
229
277
239
114
239
218
363
126
236
154
222
253
279
164
177
327
184
198
206
266
264
229
209
283
146
114
210
188
252
209
244
181
221
174
309
248
257
233
207
264
246
207
204
170
296
210
188
214
189
185
328
237
200
230
162
244
194
188
205
181
268
218
198
230
231
196
139
235
268
277
198
196
176
226
196
128
252
248
164
211
222
270
288
285
231
177
215
234
210
250
275
315
213
161
187
208
272
194
203
256
208
203
241
208
193
202
220
239
223
217
228
238
228
199
173
290
210
232
243
197
234
237
182
226
181
184
116
251
353
165
233
230
209
215
278
268
214
207
239
236
217
213
189
160
214
254
241
164
201
126
197
200
208
233
223
225
182
181
296
335
152
289
215
191
184
235
144
203
187
223
160
219
207
207
253
250
216
246
275
178
175
220
244
199
169
213
219
263
195
151
253
243
155
227
248
173
202
286
231
251
192
239
285
199
288
248
270
244
162
247
219
193
245
158
284
257
233
281
288
234
200
235
214
181
244
275
313
193
258
240
188
214
205
205
270
227
286
205
283
156
198
209
336
256
220
167
305
176
180
195
200
243
243
238
250
320
114
261
265
204
261
144
211
226
203
245
207
298
229
183
181
259
267
201
181
191
232
200
243
193
174
149
255
177
175
172
216
247
166
116
289
173
215
154
227
209
299
206
215
162
203
294
170
197
267
244
266
126
324
203
224
211
204
207
114
211
201
203
194
322
185
255
255
265
259
225
152
139
289
238
244
252
245
249
165
257
180
261
246
171
156
209
237
162
211
173
244
230
165
285
253
191
254
229
161
174
173
250
241
223
253
225
221
114
243
245
225
214
204
226
265
156
224
154
266
248
184
237
218
191
229
156
358
217
242
181
195
238
204
212
144
221
241
269
246
246
268
249
116
246
224
306
198
240
235
276
194
216
180
196
243
274
228
312
145
204
191
260
205
240
255
139
227
200
126
259
240
250
176
230
191
199
304
198
263
249
286
259
263
174
220
164
295
178
256
231
195
244
200
190
146
265
232
187
259
217
240
222
275
240
239
214
265
194
184
250
222
321
188
287
243
270
253
252
202
269
280
160
247
213
210
221
277
191
239
208
228
235
332
224
320
154
216
214
239
166
155
225
200
273
236
272
227
215
295
169
187
259
245
213
174
271
114
206
204
245
226
225
225
244
238
229
203
245
195
255
240
282
244
178
145
270
227
196
236
265
277
225
207
221
228
207
173
106
167
165
237
238
246
242
201
234
201
306
244
178
266
273
227
195
162
255
192
219
269
142
212
266
254
183
214
144
274
215
240
188
253
214
174
195
265
258
224
182
232
211
211
158
247
205
191
189
219
261
276
283
186
248
205
272
222
212
186
164
215
265
220
192
161
218
246
172
193
272
206
250
224
243
227
329
225
247
212
205
256
211
233
237
199
264
287
199
251
270
198
247
148
310
221
219
178
269
249
176
243
261
199
252
244
273
158
161
231
178
226
272
245
288
191
251
154
258
114
220
220
246
161
286
256
233
200
160
259
260
210
254
245
226
174
172
168
235
230
177
233
152
207
195
278
194
246
173
271
218
255
230
324
192
241
235
243
189
174
231
245
215
300
192
246
215
261
212
261
246
220
218
285
331
206
145
234
189
325
292
242
273
221
281
230
296
292
270
184
183
194
215
277
178
221
240
252
218
207
146
241
201
227
214
244
190
208
228
253
258
139
273
214
293
192
126
242
282
248
326
220
210
245
232
197
193
283
263
320
208
160
207
215
182
204
207
198
193
234
250
114
274
238
179
247
200
256
231
208
303
333
174
238
319
263
236
211
220
219
250
250
339
148
267
249
170
234
223
309
188
146
181
195
229
299
174
232
230
258
214
217
114
180
248
243
270
237
262
266
179
248
242
252
270
234
189
114
198
167
217
170
189
248
163
255
286
193
340
261
247
114
221
240
200
314
217
225
243
221
203
188
244
126
262
238
280
225
126
222
263
330
254
219
242
224
267
189
235
146
116
181
207
283
224
285
201
218
276
174
218
246
233
254
181
248
198
240
262
157
229
269
265
233
221
283
148
284
205
279
160
252
193
179
194
340
188
280
245
239
178
241
225
237
192
209
258
236
253
176
181
257
208
226
315
159
235
202
254
180
193
234
198
217
229
327
235
174
222
196
211
205
200
249
239
227
294
190
253
243
242
184
205
245
216
212
238
227
145
156
152
216
171
225
311
221
167
160
152
248
194
250
243
274
290
263
256
173
230
203
158
202
305
245
327
195
223
279
206
226
178
218
228
241
255
212
178
240
301
157
121
214
220
263
193
224
252
193
299
173
162
151
255
189
290
215
264
209
202
202
166
241
260
160
219
235
296
271
245
180
240
241
295
253
191
182
310
237
289
244
239
278
195
301
236
242
242
332
260
179
222
271
255
219
152
284
232
226
260
251
203
233
212
114
254
288
232
203
233
319
242
212
162
260
224
220
166
204
184
133
304
156
174
238
148
306
156
294
217
161
181
212
187
158
235
181
219
206
235
247
198
237
204
182
236
195
263
218
163
229
225
208
225
184
309
222
232
213
304
281
198
175
193
227
229
250
234
156
191
173
233
255
204
198
285
162
151
215
214
228
231
210
255
223
173
271
237
272
243
264
214
205
231
202
266
252
219
309
152
177
223
175
236
227
210
244
253
180
146
227
259
196
233
212
228
174
233
256
227
217
287
212
213
307
200
288
174
206
178
259
190
193
211
212
283
193
108
197
278
244
334
181
157
261
200
262
235
232
198
257
242
224
253
280
208
202
233
230
312
237
250
305
222
160
330
283
194
196
237
268
173
148
249
230
243
202
230
244
249
228
269
241
245
238
251
244
197
209
178
211
281
189
247
205
189
254
245
188
236
307
170
210
186
121
215
157
211
183
213
197
166
237
226
232
203
219
176
222
247
263
221
221
223
155
189
300
219
276
274
190
184
187
242
233
161
266
192
193
237
254
217
283
258
271
146
208
192
216
243
210
284
276
160
228
259
229
168
200
186
144
167
222
152
177
271
254
227
237
242
232
259
238
250
165
297
193
182
282
239
277
212
272
277
200
225
225
219
246
228
256
266
202
206
208
126
235
228
151
235
180
252
236
231
221
248
209
211
209
172
233
302
245
238
248
238
167
232
258
251
240
263
269
251
231
257
222
315
250
268
217
250
208
175
237
181
262
251
265
161
258
215
194
242
279
213
178
265
185
237
230
236
252
211
206
251
256
316
203
266
198
221
247
248
255
169
208
144
262
201
264
268
229
225
285
324
198
147
242
217
206
229
214
250
218
200
288
224
177
170
184
176
216
260
220
182
265
252
181
223
196
201
225
209
243
271
166
194
311
255
212
228
199
211
231
177
196
226
192
250
149
222
260
290
225
196
256
264
194
303
239
177
234
260
236
255
266
206
232
233
207
211
240
266
293
274
206
197
237
234
326
360
200
219
294
244
260
242
346
200
221
193
263
214
255
259
181
205
264
209
259
251
201
235
174
242
214
270
274
283
258
234
339
271
275
234
209
166
220
272
206
234
160
248
294
216
223
205
252
341
211
276
248
267
266
222
266
229
197
133
295
216
221
189
275
195
169
218
213
151
279
263
236
220
267
254
171
170
282
247
221
277
181
204
180
324
252
219
182
192
246
199
215
285
236
165
191
250
208
199
121
215
263
229
254
244
241
167
232
174
178
196
221
211
238
173
228
246
238
253
276
209
269
374
215
207
257
196
217
219
204
211
238
263
254
202
225
181
243
248
228
163
184
171
176
280
174
223
199
285
280
288
208
225
283
176
265
200
185
247
228
205
244
168
285
215
213
283
256
173
244
219
228
221
116
299
189
225
176
222
206
247
270
247
173
225
267
179
194
238
269
170
267
252
280
226
264
261
199
230
233
184
278
285
256
298
199
329
207
214
187
346
158
211
262
277
162
229
225
207
217
277
236
230
208
253
252
224
240
174
218
213
165
202
262
216
302
234
218
235
129
189
170
114
200
212
208
206
198
218
196
207
254
250
254
228
223
158
175
216
192
257
354
295
309
163
205
207
203
170
228
181
236
229
274
177
299
280
212
178
237
213
240
258
302
179
191
201
215
208
285
278
273
249
230
224
169
164
269
290
266
218
185
240
225
146
256
191
301
249
198
295
173
223
230
149
238
254
200
189
181
290
279
229
217
212
265
252
182
203
152
193
232
214
145
211
221
235
163
237
166
234
223
255
211
285
217
224
209
207
201
190
219
175
235
203
185
227
271
280
204
297
226
179
219
175
273
231
272
246
231
286
226
243
198
155
226
180
271
177
248
144
267
139
205
170
232
200
186
217
189
296
208
192
253
208
219
214
229
245
177
240
178
258
244
188
293
216
224
255
244
236
277
231
205
198
234
252
244
154
345
200
231
264
255
205
299
235
146
202
257
230
272
238
202
246
239
203
295
235
341
235
215
310
256
202
177
275
237
284
312
234
224
187
195
210
194
238
224
174
291
306
199
192
189
326
206
171
235
181
238
260
206
145
208
179
220
328
314
257
205
190
251
259
233
196
258
212
200
209
205
274
244
232
218
169
261
250
314
205
146
195
189
211
306
175
225
252
217
285
226
256
264
208
292
220
298
244
206
256
261
281
198
166
282
234
204
249
238
220
260
202
221
223
294
173
242
214
259
228
196
231
323
376
193
210
148
192
267
278
222
234
264
218
204
206
250
221
179
213
216
274
233
217
172
216
266
292
192
169
245
178
202
152
250
309
191
309
202
239
216
244
211
297
242
299
126
271
152
244
285
250
175
207
151
306
225
191
175
219
169
255
114
261
227
200
254
324
243
290
175
367
315
212
287
236
285
225
219
198
267
220
157
249
225
192
173
209
190
232
181
267
297
114
256
225
133
184
247
130
202
219
197
224
268
197
285
304
320
272
170
245
197
175
260
181
257
248
218
188
140
126
281
223
233
196
200
292
181
191
205
237
200
218
225
238
238
156
292
241
200
211
213
237
291
282
173
198
238
263
300
216
309
207
310
280
217
220
335
173
192
168
252
238
303
222
226
235
224
281
266
285
179
177
154
227
230
198
191
256
114
235
201
207
218
268
253
229
223
191
264
181
214
158
258
252
207
274
219
245
173
254
178
126
185
245
228
235
274
196
221
259
204
299
235
241
203
255
221
178
194
274
250
253
191
220
196
201
196
244
254
220
190
197
263
255
183
158
218
272
213
271
152
216
327
267
225
271
295
192
208
226
315
216
196
216
229
232
242
219
181
233
262
181
144
206
176
265
254
215
206
242
215
325
256
222
160
238
160
272
269
299
325
160
156
201
217
252
193
251
245
263
185
237
272
263
221
256
372
243
209
145
221
191
222
271
178
263
255
176
210
271
239
205
283
238
182
250
260
253
292
238
229
221
304
288
259
215
245
248
251
253
235
209
114
255
184
161
183
230
277
243
201
207
212
226
203
188
243
293
190
258
143
170
235
255
205
208
144
171
195
246
205
210
238
214
246
199
212
182
179
271
294
242
208
228
227
216
244
244
192
225
221
306
167
181
219
254
219
217
186
175
267
214
219
179
172
211
201
280
247
201
166
214
271
256
211
243
228
270
265
261
299
177
146
259
266
174
225
245
242
243
269
126
201
253
191
242
240
209
201
281
205
368
222
234
229
201
299
214
239
203
198
218
302
288
202
174
199
270
152
221
272
323
240
273
175
204
246
200
278
178
202
249
230
249
242
204
244
234
187
257
206
307
239
133
197
222
342
192
244
227
266
270
297
286
219
301
198
235
173
228
221
255
215
225
253
126
237
196
194
239
302
279
285
300
256
260
323
138
254
214
219
235
318
151
133
206
229
239
171
243
222
188
245
203
178
258
219
177
245
234
141
286
213
170
230
216
174
210
254
213
206
261
181
271
130
156
166
194
300
215
191
192
254
202
248
238
254
194
291
219
237
233
308
184
114
211
187
192
220
257
249
194
257
180
242
156
190
278
296
233
241
296
263
215
185
229
242
234
284
203
219
180
293
188
230
218
233
240
203
257
177
198
210
283
392
208
210
277
162
203
268
183
247
146
242
281
203
194
263
276
196
271
211
130
173
184
288
255
295
170
184
155
225
237
294
170
263
219
269
171
267
202
179
159
216
264
241
240
189
203
211
215
173
255
272
276
186
282
190
213
205
208
229
190
272
203
300
143
303
190
333
204
293
291
199
139
213
164
207
252
293
255
211
223
208
280
165
200
251
254
216
167
252
200
160
223
198
222
233
218
229
159
245
260
191
255
266
239
231
236
198
241
240
168
272
166
199
178
341
265
197
267
245
262
298
268
296
195
293
240
196
367
291
293
168
165
195
160
184
305
201
267
263
259
224
191
304
181
256
165
215
177
179
226
148
197
211
193
303
238
300
250
201
297
198
174
232
269
177
215
252
257
275
165
157
154
249
230
225
247
205
158
215
322
219
262
180
216
177
181
126
212
203
252
220
261
164
215
158
114
219
188
281
221
241
164
178
235
236
277
247
155
170
343
235
220
283
255
178
220
165
234
229
287
161
246
199
245
181
251
257
233
207
139
250
213
243
146
259
209
197
201
247
296
180
274
192
279
196
229
237
293
195
221
178
206
270
227
274
240
297
216
257
318
174
200
213
236
201
248
213
198
152
204
193
203
180
151
279
318
303
251
171
230
238
229
213
227
121
216
308
184
270
278
207
276
178
221
192
233
263
223
246
154
217
319
249
231
214
206
233
194
208
224
214
250
191
242
180
262
224
244
207
262
267
249
279
229
193
148
235
195
170
178
251
203
237
230
178
160
209
217
222
273
166
139
316
234
298
173
252
222
231
204
163
241
234
224
250
194
273
245
257
211
315
151
236
223
183
229
171
269
249
331
260
222
263
169
170
223
321
296
191
167
189
220
271
219
252
227
179
148
260
244
234
285
269
233
184
295
198
189
201
179
204
182
230
304
222
214
273
267
176
218
174
306
256
304
213
301
242
266
285
211
246
208
221
329
255
246
215
243
205
160
242
160
195
223
222
170
266
248
179
181
227
196
230
213
188
291
238
235
228
217
290
237
232
213
194
273
225
287
200
116
258
226
185
205
175
238
197
228
173
235
266
217
175
232
226
235
251
232
223
172
153
218
145
187
324
114
303
277
187
252
173
167
232
328
323
229
203
210
274
153
274
198
261
250
288
253
218
197
257
247
219
276
228
205
205
261
310
203
176
203
233
205
257
234
246
257
236
184
232
184
234
247
178
128
238
200
200
295
231
271
273
270
230
223
318
199
173
268
251
170
172
205
188
225
189
145
231
215
218
244
247
259
181
243
173
249
282
218
211
262
198
250
272
217
199
162
283
158
190
160
256
255
194
241
292
238
161
158
303
236
232
178
215
175
220
283
139
158
220
233
293
214
260
235
187
234
190
256
195
282
262
260
194
137
241
326
211
188
259
108
292
194
292
246
226
238
174
264
238
165
233
235
183
204
236
152
275
241
223
229
311
272
355
252
209
114
192
195
279
145
233
238
200
257
207
248
329
201
173
183
283
355
231
302
271
255
258
181
317
213
335
269
165
162
222
215
226
219
229
259
261
265
234
185
232
211
218
216
206
234
177
214
177
162
272
173
270
229
218
224
239
147
213
228
156
318
257
222
180
239
202
279
175
161
247
169
206
258
181
281
215
252
271
209
269
205
181
221
144
149
195
214
214
202
269
200
238
191
194
232
251
188
237
277
216
250
260
222
261
187
236
253
196
230
292
231
223
139
154
144
250
116
211
234
202
174
216
341
243
190
227
223
160
203
287
168
211
190
279
289
220
234
177
173
238
289
258
253
198
199
242
171
211
197
218
184
264
229
292
176
197
318
232
342
244
307
248
191
182
203
262
225
214
157
213
190
232
283
228
212
244
224
219
282
257
177
253
209
245
234
276
180
185
240
153
212
203
212
189
202
167
165
238
253
244
180
237
252
237
106
179
186
205
250
194
207
261
276
152
190
174
216
257
261
300
257
203
209
256
257
220
306
251
140
263
252
175
169
239
158
173
263
185
251
236
156
213
180
248
186
301
215
198
207
210
315
288
197
193
139
235
181
266
250
214
209
192
183
252
214
239
203
173
246
213
189
227
152
248
219
192
229
247
215
230
212
169
238
256
303
254
211
203
318
189
254
228
197
167
151
164
234
214
290
153
246
226
244
114
145
254
214
189
307
233
178
227
207
221
197
199
226
173
244
266
161
158
154
223
294
235
221
190
262
279
147
204
227
234
152
220
238
240
206
126
158
165
270
246
182
260
250
213
275
158
244
224
220
234
284
314
192
259
221
145
139
174
268
178
203
321
288
157
315
139
173
315
316
202
257
247
268
258
244
142
267
209
241
287
252
246
264
245
229
200
114
223
183
290
305
285
203
271
200
188
242
293
229
363
218
173
193
175
285
294
288
233
267
203
156
198
216
234
247
282
225
114
206
390
184
193
289
266
240
181
220
160
180
237
193
210
230
207
250
195
234
151
166
225
139
233
201
230
222
296
253
266
204
256
145
114
214
209
262
168
263
208
236
258
224
186
249
248
177
192
209
220
151
206
269
241
244
194
290
218
226
205
243
238
245
301
106
217
177
193
225
194
108
303
195
234
181
218
222
279
295
239
251
194
307
234
160
152
189
220
303
192
228
178
295
268
159
253
227
193
228
191
155
247
228
189
194
181
203
166
240
246
216
271
275
259
208
229
291
173
164
188
194
188
339
191
192
251
212
178
191
300
220
240
275
212
233
163
178
225
269
239
208
202
226
161
242
264
229
259
238
224
196
244
176
203
239
205
205
249
250
177
183
221
270
223
294
250
158
243
204
222
279
175
208
179
220
195
209
141
289
305
262
235
228
244
204
205
210
243
271
178
181
213
236
248
253
263
299
205
285
220
201
169
139
219
187
220
212
229
181
317
238
228
158
209
152
170
240
243
218
214
176
270
258
316
248
282
157
317
181
285
259
222
203
210
247
260
251
194
198
169
214
234
267
218
314
160
322
114
276
221
244
201
250
226
279
274
282
305
207
173
211
235
174
275
260
299
225
257
261
215
114
290
260
192
254
250
151
193
180
233
281
267
290
225
253
275
191
303
225
201
251
229
286
226
282
220
244
213
204
236
197
192
356
200
276
246
201
305
171
206
316
255
180
286
256
267
204
287
232
222
181
285
202
243
153
223
259
247
207
229
175
228
183
212
197
139
266
275
221
248
219
270
192
175
114
262
221
221
195
214
202
151
285
194
235
184
170
222
151
221
249
233
169
206
263
259
331
170
220
296
299
203
374
231
193
192
202
198
243
191
255
211
230
246
197
310
252
190
215
217
271
187
239
268
232
174
251
214
215
245
233
174
226
309
203
269
203
223
273
253
309
169
220
196
237
187
255
222
134
186
215
274
233
246
287
210
248
216
249
178
232
198
273
230
273
239
213
260
225
285
281
279
173
250
289
210
277
233
243
208
244
246
242
280
219
265
303
169
277
208
199
210
224
244
193
193
162
230
247
209
179
292
217
302
181
307
217
248
239
236
196
195
183
286
222
185
169
185
334
227
227
250
195
286
226
233
256
238
184
258
226
290
218
211
314
145
259
160
177
156
248
139
239
228
176
198
245
205
157
206
292
223
236
237
234
199
170
298
277
224
217
265
173
207
230
210
192
154
249
251
218
184
140
229
199
163
269
254
220
256
244
244
226
271
170
242
229
250
231
149
223
282
196
195
280
165
231
215
246
206
221
191
222
269
237
218
262
251
114
201
187
272
206
224
196
141
270
358
168
235
209
209
212
244
219
254
229
161
229
170
214
236
220
203
264
184
214
182
241
208
201
114
270
299
266
214
178
259
180
202
201
247
201
282
202
157
198
252
164
207
334
289
189
268
146
284
233
201
271
232
181
273
262
247
185
209
208
192
212
257
280
168
139
265
242
264
203
195
253
224
276
261
195
200
200
246
231
224
252
195
217
269
266
206
206
173
211
200
304
193
217
200
260
194
237
216
265
217
278
221
146
160
187
170
235
178
207
161
292
201
250
182
242
170
169
198
203
280
211
160
243
312
315
191
214
191
295
277
260
303
319
248
182
172
277
217
255
261
261
189
297
260
219
221
258
218
285
154
219
162
247
202
231
293
179
266
173
277
255
284
247
209
217
156
247
281
158
203
246
234
274
220
106
301
235
250
229
114
231
257
287
197
208
262
263
192
203
230
250
214
204
247
222
259
248
257
279
225
218
294
259
209
192
229
230
284
164
235
246
233
240
205
252
276
298
319
190
194
192
231
263
248
160
209
225
184
220
234
173
261
170
223
174
151
238
173
302
320
235
210
254
186
256
181
266
246
235
285
114
145
153
149
181
167
283
175
247
283
245
240
114
305
220
275
193
174
262
227
230
301
236
201
179
207
192
200
253
285
237
247
200
224
214
319
227
243
254
347
198
278
265
196
170
267
204
205
239
278
152
205
181
229
191
263
234
108
198
265
224
265
203
186
161
271
197
207
203
215
178
234
152
171
234
242
259
210
211
280
308
158
278
160
164
197
253
198
263
250
198
213
235
188
177
237
264
268
198
237
236
286
189
198
225
270
164
253
130
301
206
223
207
292
139
139
175
218
114
222
151
205
230
288
243
161
207
191
236
217
192
251
209
281
237
147
225
245
217
197
216
116
220
269
152
243
286
160
246
181
174
158
178
238
271
231
208
226
211
262
209
221
255
176
178
139
229
229
234
166
245
195
258
144
231
254
178
196
263
278
234
236
259
193
225
207
262
284
191
214
170
232
199
151
272
198
170
219
203
264
192
231
253
222
258
298
121
206
270
225
180
219
206
222
210
253
297
195
213
205
219
186
249
246
187
293
195
254
209
258
114
194
214
279
216
248
320
225
197
295
164
292
202
258
199
209
184
300
149
295
258
227
175
262
152
179
210
262
193
234
280
307
168
267
244
323
229
238
270
273
154
192
284
195
205
205
189
286
236
245
248
295
243
227
285
235
278
294
205
255
172
270
194
310
210
222
220
266
215
200
228
301
233
219
228
258
245
279
318
201
251
185
286
214
225
189
275
227
256
290
195
266
197
175
215
175
215
219
116
239
184
262
159
280
228
311
237
256
146
163
273
254
271
278
215
235
130
246
268
247
245
185
198
229
235
192
243
249
227
235
328
212
279
181
179
303
165
252
183
273
215
259
205
241
235
296
243
273
199
189
170
214
245
225
252
305
248
165
214
181
207
195
245
312
255
234
203
198
238
245
214
196
245
197
271
254
263
198
240
266
221
184
196
244
212
166
181
204
211
251
273
277
239
208
231
247
252
222
148
322
230
253
253
234
226
246
264
249
209
108
235
309
267
246
156
196
252
287
195
249
260
220
243
186
211
268
222
301
217
233
173
296
172
321
248
198
285
318
247
173
152
178
347
204
267
250
192
205
180
212
219
218
197
232
205
277
248
215
164
224
169
255
227
232
245
218
292
212
214
230
281
226
258
297
213
205
259
270
158
174
208
252
311
235
222
203
240
223
130
214
234
250
191
190
249
266
245
234
185
253
215
209
184
228
258
322
261
196
163
225
159
149
221
217
221
265
184
247
238
228
148
190
248
242
207
202
254
240
256
235
219
256
302
316
254
208
250
228
170
214
272
285
315
161
306
358
250
261
219
219
213
192
241
252
193
222
211
314
254
201
161
220
225
246
219
286
181
205
170
213
174
197
232
310
205
169
215
259
275
206
248
173
139
231
196
297
209
280
285
237
191
218
158
207
197
283
207
229
226
208
234
168
168
160
343
258
253
232
225
310
273
233
242
208
128
211
200
210
175
178
164
273
188
231
199
232
201
240
196
257
232
252
254
289
287
252
253
261
225
277
235
186
227
228
235
254
211
227
198
133
198
149
285
276
275
274
245
206
220
245
238
219
257
221
218
229
216
332
237
235
286
330
291
211
170
198
236
218
174
234
266
240
255
242
214
220
185
262
203
195
224
168
206
223
229
310
283
309
203
259
249
332
234
198
205
248
221
242
139
257
254
240
201
229
156
154
231
262
292
192
234
192
243
276
257
263
160
172
210
266
190
280
193
302
261
214
219
175
225
173
265
299
186
222
274
214
261
235
225
204
182
156
181
158
297
228
216
186
114
223
188
183
203
222
212
211
218
278
197
239
229
216
256
255
221
250
238
261
220
238
246
158
282
191
267
241
282
188
168
215
137
180
175
175
286
220
321
217
225
324
261
243
225
208
253
269
221
152
207
233
264
221
233
218
244
175
201
163
236
189
206
216
258
253
286
211
206
321
219
200
229
197
238
178
232
169
154
240
208
185
213
283
240
263
236
241
196
287
189
208
216
225
194
238
243
215
221
253
211
233
160
290
219
288
228
271
173
243
235
244
316
303
191
164
230
289
150
252
149
114
291
248
267
258
230
238
180
240
211
209
233
187
186
290
213
219
175
191
189
258
226
269
285
273
181
167
129
188
204
230
257
185
233
220
202
240
226
219
198
232
238
201
277
253
225
217
279
212
214
243
235
219
211
154
255
281
250
255
146
216
215
232
179
272
256
205
128
255
188
275
178
296
268
207
212
270
217
201
197
143
173
190
220
209
202
187
255
223
220
165
190
276
159
223
297
241
227
222
194
188
204
181
178
114
207
258
220
249
239
298
282
233
185
210
223
188
207
173
223
320
261
114
175
177
280
114
205
192
305
114
193
177
276
220
229
195
209
208
130
191
228
210
231
224
261
266
249
240
232
201
202
198
249
224
252
184
171
201
260
226
232
287
268
202
211
178
208
239
210
218
260
232
159
229
192
285
246
301
178
193
218
154
222
270
217
200
246
194
237
314
201
223
250
170
271
196
164
170
252
230
377
114
233
212
218
241
225
255
215
190
191
224
177
262
278
222
171
274
248
195
258
277
197
144
178
216
237
323
195
219
244
288
114
200
170
222
212
177
295
222
248
216
245
255
195
151
187
230
212
316
232
286
197
233
203
203
281
188
235
257
255
309
199
237
252
235
196
193
180
191
295
203
238
227
246
217
246
231
153
235
192
219
151
243
222
216
278
250
274
185
281
223
219
231
225
276
244
232
215
169
244
246
156
251
243
207
292
246
209
216
254
247
186
238
169
266
282
281
181
261
215
217
201
147
208
221
273
145
178
114
227
210
170
221
299
210
287
215
235
204
175
285
192
203
236
285
212
215
199
221
176
154
241
251
169
178
198
229
228
298
213
278
223
245
114
239
180
243
210
213
311
239
287
181
208
168
235
192
174
255
195
180
272
216
114
186
219
244
319
195
222
218
159
261
241
181
223
193
284
252
204
253
165
237
221
274
324
198
213
232
250
219
170
198
187
237
230
183
263
297
181
317
211
263
245
270
203
154
282
191
172
167
259
182
192
194
252
246
189
240
160
234
185
146
143
213
254
242
196
233
194
214
342
174
234
219
215
188
253
180
313
209
195
253
219
149
253
263
287
267
185
231
182
146
205
232
244
287
232
203
209
212
279
260
295
218
253
201
253
255
233
253
230
200
221
322
295
277
166
208
229
205
185
174
234
209
233
179
133
237
202
252
222
197
238
230
200
219
225
190
201
295
211
263
303
194
283
211
233
164
191
269
171
169
171
220
163
225
108
234
234
198
259
116
178
264
218
209
216
225
168
280
227
276
189
217
244
152
218
233
192
250
205
214
207
220
251
253
276
232
313
223
176
199
279
211
214
216
235
281
249
234
206
319
208
203
372
200
254
223
263
258
175
257
234
189
177
160
209
281
249
230
337
266
243
198
155
213
249
208
304
194
270
252
207
218
228
257
238
246
255
218
294
288
236
311
141
337
199
227
243
235
247
231
261
210
235
221
207
223
251
192
257
198
188
190
144
229
196
201
283
229
248
250
281
285
201
192
184
250
196
201
213
266
257
214
219
196
192
180
264
144
206
270
173
204
189
202
191
170
156
181
178
249
210
181
252
300
156
157
302
208
200
252
156
249
198
226
158
279
251
276
237
188
175
267
158
126
267
126
282
205
191
210
202
174
329
223
255
234
204
246
210
301
252
180
253
156
232
304
162
284
208
222
228
258
243
167
201
292
220
181
217
222
217
178
228
240
238
275
202
286
184
262
193
114
234
240
177
281
247
314
213
223
242
210
212
284
137
126
288
146
178
145
218
264
192
185
167
279
220
188
285
204
262
255
172
220
238
246
163
211
205
178
152
170
162
185
208
250
199
234
220
284
328
188
256
231
198
195
129
266
323
152
215
222
194
250
217
170
215
201
265
160
163
343
177
295
291
190
148
177
241
294
268
196
221
231
139
180
298
282
223
169
289
203
235
121
270
231
230
227
196
186
187
189
184
194
229
147
293
218
309
179
176
229
235
243
241
191
240
278
190
372
237
237
242
317
250
193
230
214
169
273
174
226
257
324
185
259
214
221
244
242
229
214
268
208
180
196
247
214
139
191
287
250
299
181
207
207
209
253
234
246
261
233
260
281
211
207
178
204
258
308
152
266
200
219
210
169
295
234
234
327
227
235
198
256
273
249
249
245
297
206
313
198
177
170
152
257
259
253
301
133
181
246
184
157
290
177
225
239
266
255
114
202
227
302
207
213
245
218
215
196
235
237
359
215
255
244
181
139
240
173
250
216
244
182
188
237
216
199
228
239
170
227
130
193
209
230
272
219
189
198
240
259
237
178
249
215
235
226
126
301
284
257
239
291
239
242
229
293
276
278
153
206
274
140
276
255
202
273
290
200
233
204
203
273
188
275
264
332
226
253
221
225
274
251
303
221
261
249
188
272
249
218
262
203
208
197
325
261
188
237
216
212
218
212
230
206
267
285
325
203
241
246
342
211
175
251
245
151
225
261
195
259
280
237
173
168
326
232
221
176
182
205
146
296
275
169
179
267
216
231
211
241
191
181
226
191
206
265
207
232
196
193
199
259
126
139
173
225
254
149
263
277
211
221
172
246
236
201
288
147
145
163
230
195
175
204
200
160
281
114
239
227
251
274
175
249
248
250
164
155
234
187
266
270
233
249
266
249
279
177
202
258
284
176
218
174
274
288
233
180
278
116
186
283
175
200
208
176
246
287
208
251
213
229
303
234
198
192
189
194
262
291
172
249
187
177
162
232
223
246
242
244
199
294
170
238
209
213
207
186
255
170
229
213
261
198
276
358
261
249
280
218
144
181
184
250
194
228
189
209
198
195
164
222
145
234
214
232
258
197
160
211
158
158
210
151
171
203
207
211
222
214
245
264
255
272
232
224
281
257
234
282
250
245
133
278
228
202
308
260
201
264
268
239
181
208
277
265
191
267
191
270
235
200
319
258
273
163
222
193
232
226
219
145
192
222
267
198
201
262
237
240
252
219
241
231
211
190
248
126
169
179
225
291
234
230
184
245
195
181
179
235
233
230
249
198
193
198
250
187
157
199
195
206
227
209
266
169
186
285
220
226
193
233
258
245
169
246
222
162
259
275
170
194
223
233
182
230
152
260
198
180
168
188
219
239
259
229
215
188
215
342
261
139
146
149
167
208
186
185
252
182
328
206
318
247
245
182
185
151
173
282
255
204
241
158
171
245
204
158
214
318
218
203
213
252
185
247
188
265
263
239
221
151
225
218
114
201
216
181
166
201
207
245
277
194
228
203
264
174
189
211
114
251
229
214
299
270
219
205
192
289
199
174
244
248
225
226
222
192
231
221
251
232
199
218
247
222
205
323
271
202
144
173
232
193
299
204
213
238
220
198
209
239
222
283
268
204
237
247
269
220
274
189
198
223
283
258
216
219
164
183
195
224
226
221
220
114
253
229
187
216
172
202
283
265
210
276
208
252
222
193
213
201
173
259
276
281
192
212
200
156
276
181
268
268
268
230
254
227
196
192
221
244
307
208
188
293
154
191
211
255
174
232
278
249
235
242
240
190
197
149
251
271
193
253
258
199
203
166
154
299
194
178
234
236
254
186
170
283
216
258
156
188
253
207
307
316
242
246
161
179
201
245
162
193
227
248
290
195
191
254
221
259
243
254
273
198
184
174
246
223
295
241
312
184
156
225
261
193
238
190
193
198
293
236
220
243
225
166
260
177
214
121
218
238
266
214
299
257
238
139
269
283
126
256
260
255
243
264
164
264
225
276
279
229
195
231
184
254
305
273
243
264
171
235
194
263
252
200
227
217
242
175
322
193
279
196
190
161
248
223
251
235
193
217
231
320
178
161
245
262
236
247
226
227
238
226
200
193
149
157
227
249
193
297
175
222
174
193
263
225
161
252
233
230
200
225
234
219
240
164
171
160
173
311
170
184
203
214
213
272
308
237
184
279
208
290
228
279
184
235
183
276
272
269
199
231
219
356
219
287
217
262
215
134
247
246
160
149
203
261
222
262
230
236
218
259
215
195
214
336
244
180
257
204
285
238
166
298
297
209
327
227
254
180
173
183
209
211
249
198
180
178
209
219
216
191
198
199
178
233
200
173
175
250
218
261
214
173
180
292
307
214
213
178
213
139
232
255
200
229
213
160
151
176
176
274
304
162
196
300
186
267
250
170
268
237
247
214
241
230
224
239
208
180
271
183
245
245
191
228
160
288
114
201
262
266
206
168
256
219
247
215
265
184
170
247
325
246
233
299
198
226
257
161
246
238
225
178
243
224
254
196
240
210
225
194
257
244
196
240
225
262
181
211
226
241
224
238
247
171
181
268
223
163
203
269
232
243
198
296
179
241
195
227
192
174
176
175
237
225
196
201
192
244
158
159
262
235
174
269
269
252
254
159
284
265
114
211
234
200
239
257
284
235
203
330
290
229
222
273
307
400
198
278
339
270
263
237
195
283
216
239
235
220
212
174
216
227
212
201
261
213
241
215
140
238
226
185
215
304
211
173
174
205
210
260
248
219
239
290
252
232
222
166
209
271
210
284
176
302
187
215
192
268
208
209
201
232
180
219
250
218
218
301
260
201
272
256
210
209
274
338
250
171
209
224
259
207
190
240
208
254
250
260
217
255
221
242
263
225
295
249
180
156
245
216
191
239
222
114
259
260
200
256
212
182
195
217
250
292
207
180
212
244
284
211
191
156
154
208
169
197
279
236
202
280
234
261
160
287
262
227
196
259
240
192
231
161
258
249
284
253
196
146
307
229
258
322
195
230
223
181
256
188
226
253
179
198
245
215
278
256
242
296
146
213
203
212
258
306
219
280
278
262
230
278
218
243
204
212
211
231
205
183
248
181
130
196
298
264
232
184
259
164
209
242
262
181
114
281
230
282
253
270
178
226
228
259
269
149
229
246
192
241
247
254
196
232
239
228
194
271
222
161
144
222
306
162
229
220
223
183
258
247
179
304
193
270
235
224
279
246
207
241
195
213
279
301
245
172
181
218
249
223
262
306
218
234
114
256
145
197
263
245
253
278
248
212
187
173
173
332
213
225
271
126
252
212
261
191
199
223
184
260
218
241
242
271
205
247
262
197
203
270
247
276
243
174
228
161
129
215
210
221
252
211
212
217
275
224
288
332
164
174
225
220
225
241
299
212
234
226
203
174
192
190
139
241
296
283
207
234
216
256
284
228
222
237
213
189
204
291
285
190
185
269
195
168
231
313
250
178
271
197
220
232
194
251
261
250
281
246
215
260
205
205
175
234
173
160
247
238
211
288
328
221
147
211
218
267
202
220
201
178
203
188
199
205
175
276
254
248
226
225
156
197
246
228
240
219
174
198
251
260
261
285
255
253
202
226
195
191
248
222
211
197
274
295
173
264
262
257
223
260
199
207
219
181
189
284
218
195
238
250
255
284
303
256
193
263
211
158
200
249
232
320
217
235
121
256
261
258
314
255
221
262
332
266
277
188
220
266
146
228
232
251
224
165
268
198
184
208
189
173
197
200
236
253
257
257
209
225
291
166
192
197
170
114
304
242
243
171
270
154
213
181
158
199
278
171
206
184
171
201
272
207
266
218
194
282
247
255
181
240
169
285
269
190
253
181
184
200
184
203
230
155
355
209
195
309
269
194
189
218
202
195
194
195
202
239
235
130
230
245
251
306
187
258
173
173
246
212
217
198
216
202
243
234
185
192
297
309
207
205
193
241
190
197
257
211
235
222
220
312
220
185
156
203
193
260
156
193
286
249
220
182
238
215
165
219
222
267
257
245
196
164
248
225
121
293
223
298
214
215
231
221
200
279
240
244
228
232
222
168
243
219
180
213
255
251
184
285
126
148
226
268
244
197
263
189
258
260
160
272
203
187
200
220
256
240
210
205
267
210
253
163
256
265
258
188
229
199
268
194
267
205
162
200
251
268
212
242
190
242
268
204
196
288
347
278
243
265
225
204
179
180
181
223
207
191
321
230
232
218
180
257
193
182
265
172
232
189
216
244
253
253
302
280
255
249
187
244
170
266
156
226
266
207
189
267
262
255
179
196
170
222
231
371
184
229
204
205
289
224
156
229
232
266
176
228
212
193
277
274
170
307
184
293
186
238
289
174
184
211
245
126
222
164
244
180
213
234
255
208
196
198
275
181
205
185
180
204
192
277
216
184
304
229
225
250
114
219
262
254
220
253
161
275
224
207
236
250
202
211
213
274
203
202
285
158
252
235
239
315
193
272
254
235
145
216
199
312
232
239
211
225
249
160
182
228
273
190
108
284
242
282
283
244
158
211
252
209
220
267
183
188
285
192
198
196
232
260
248
250
265
199
194
240
300
223
219
286
126
248
242
197
169
226
231
114
240
217
211
198
176
299
222
266
268
275
319
347
230
229
243
197
229
290
205
239
251
236
198
239
288
181
245
224
319
327
265
222
221
207
288
251
264
222
152
223
233
252
281
211
292
230
172
183
223
211
197
204
204
194
231
227
134
195
227
192
217
220
233
233
230
159
163
176
245
305
152
161
254
212
258
154
262
260
254
190
295
188
197
183
240
195
280
196
222
272
225
219
289
196
215
231
209
210
340
250
222
277
267
290
228
241
213
220
224
164
239
233
251
151
265
214
212
235
266
249
229
252
273
196
218
242
182
263
232
224
256
174
233
234
160
265
126
218
279
225
250
204
174
241
246
158
251
190
205
260
245
160
114
184
133
213
179
195
255
214
192
191
235
259
288
189
195
239
217
149
191
245
195
247
269
248
277
208
220
273
180
158
133
201
288
151
222
235
159
203
210
283
270
188
247
206
294
209
229
277
216
231
204
256
213
213
178
278
252
225
263
231
228
270
235
184
161
211
272
287
217
310
216
205
270
273
220
231
278
296
243
274
201
264
260
179
219
201
257
176
263
241
227
226
189
237
189
184
209
216
184
239
208
192
248
185
160
114
252
258
198
263
213
239
195
239
292
195
196
229
266
260
204
173
152
225
212
164
244
267
256
169
237
228
197
206
269
146
180
255
223
215
181
170
243
203
242
163
206
250
263
314
222
222
182
243
126
196
294
196
184
209
208
269
243
211
303
208
204
220
199
145
156
258
255
240
201
205
199
178
255
293
254
158
185
302
200
174
231
268
220
152
261
278
231
261
245
232
245
256
219
285
189
209
249
227
219
186
169
169
164
181
235
179
245
193
212
189
156
223
273
213
261
288
205
260
254
149
226
241
262
283
187
170
277
282
216
222
253
281
188
252
183
209
268
240
263
232
185
210
271
163
210
227
226
288
248
249
225
161
152
243
151
227
238
234
158
219
231
235
257
196
245
299
252
246
248
202
195
218
205
152
267
218
194
178
265
220
165
222
182
308
198
253
243
114
175
297
306
250
241
241
226
219
195
164
292
121
266
147
264
204
190
195
215
222
176
165
152
282
151
170
196
265
218
232
180
182
230
237
278
301
279
270
114
170
181
231
284
170
269
231
207
241
209
250
194
258
202
130
301
244
214
174
246
233
291
290
219
188
201
192
217
195
227
305
189
262
156
166
184
219
156
283
178
207
247
160
238
199
168
202
235
207
201
220
284
280
195
178
273
373
225
197
272
238
318
221
114
266
175
243
276
188
263
258
225
257
173
188
233
210
108
144
260
162
162
191
243
225
187
216
168
204
269
175
207
225
269
189
194
251
156
316
179
239
222
196
133
233
192
253
154
180
241
169
215
272
181
241
219
226
257
264
226
237
218
205
234
262
180
151
213
198
233
150
231
235
211
274
218
193
216
212
181
258
204
239
278
227
180
176
229
305
251
225
235
199
217
266
187
198
174
175
249
222
279
256
252
160
227
206
206
266
230
208
214
153
269
295
220
231
258
253
181
215
198
190
232
239
222
187
188
223
227
152
229
223
174
243
249
194
225
168
237
160
243
290
293
170
174
151
180
260
280
186
233
214
270
284
220
270
286
285
309
216
294
221
295
228
208
181
194
299
198
240
214
160
278
206
222
251
214
249
175
218
195
219
192
230
219
254
318
230
193
228
264
195
280
184
255
289
223
180
200
208
239
233
241
299
277
186
284
180
227
192
237
233
194
243
195
226
165
267
161
195
147
221
174
164
292
181
284
224
284
193
262
198
208
185
163
216
252
222
209
252
121
179
168
215
212
174
186
200
260
195
181
270
210
147
175
168
209
202
270
221
214
200
170
251
222
193
194
175
194
173
293
138
295
239
271
285
224
195
219
106
200
272
192
267
281
152
139
196
212
243
209
198
258
208
244
211
224
220
306
187
195
278
173
201
243
192
192
242
231
245
230
236
212
209
171
171
225
218
258
250
228
208
251
245
317
305
302
259
284
266
253
199
214
211
228
176
214
178
198
152
211
247
160
207
239
279
213
252
261
204
200
219
173
172
254
173
152
219
296
179
200
254
139
283
236
161
217
249
274
215
195
272
252
161
287
147
222
222
222
251
235
280
264
262
248
203
230
166
214
207
190
229
223
224
178
246
283
190
161
260
234
261
250
230
284
236
126
222
304
234
198
197
249
231
176
230
254
179
200
260
226
192
172
182
174
202
290
221
263
232
209
178
261
243
242
191
232
244
226
226
275
126
152
200
230
207
254
266
192
182
252
240
301
235
192
235
269
174
259
170
129
260
195
245
210
233
160
276
219
226
310
273
162
220
151
166
198
207
164
221
108
228
261
192
215
285
247
167
231
211
166
243
152
346
221
219
217
274
174
233
178
188
253
275
145
170
293
160
212
209
245
217
272
197
264
202
302
215
194
192
177
217
231
222
308
224
177
225
156
222
311
235
217
196
210
179
218
335
160
146
188
267
210
215
253
261
223
205
253
151
206
282
192
213
215
177
235
243
192
170
208
293
242
184
231
235
180
254
193
313
251
305
258
211
236
244
222
267
284
235
238
222
196
177
213
282
278
206
251
265
167
249
216
173
245
273
244
185
230
224
185
276
209
242
234
222
250
139
210
191
260
198
153
266
250
282
205
247
214
261
250
165
284
231
225
293
212
238
178
188
182
240
222
254
181
206
240
176
197
182
314
212
175
198
211
211
150
226
248
195
220
218
181
205
260
172
315
223
209
283
229
167
221
284
209
238
272
233
312
268
144
152
272
219
263
173
213
201
267
193
221
218
242
160
285
170
258
243
158
195
210
232
220
186
198
284
423
228
226
180
229
171
215
114
186
272
114
264
230
170
212
235
253
212
254
202
196
217
208
271
193
184
267
226
288
289
204
200
228
304
173
203
223
214
234
225
283
197
169
196
201
219
237
207
208
236
208
256
239
327
145
239
293
114
226
208
219
196
213
227
308
228
170
239
208
235
348
221
225
304
181
221
183
156
269
161
256
202
269
208
234
130
217
218
231
200
201
198
249
288
195
160
216
257
308
265
220
166
219
210
203
230
270
282
179
299
178
246
252
139
219
281
207
152
236
239
176
175
290
233
173
216
241
215
155
283
210
293
210
238
169
254
126
208
178
240
158
228
209
205
290
233
258
244
276
277
182
208
243
171
160
333
126
160
245
238
234
239
182
256
301
181
269
191
294
224
156
185
353
268
336
168
254
296
254
159
194
262
198
190
247
196
292
195
239
221
170
162
202
272
227
236
222
287
215
248
270
233
252
207
244
183
266
192
235
175
267
284
197
309
234
245
232
184
203
253
276
205
281
295
225
207
171
242
303
184
229
291
190
181
265
258
174
235
181
174
334
292
199
210
221
221
215
185
161
256
244
199
200
232
268
231
283
271
237
214
168
295
223
224
258
129
334
244
181
156
158
252
246
191
254
281
244
181
271
163
211
279
272
252
241
198
244
180
234
174
166
295
192
249
261
232
255
184
219
248
185
249
174
211
290
192
317
245
169
278
251
231
229
262
249
242
279
170
151
235
295
212
218
274
266
326
271
199
203
154
205
195
232
233
275
221
303
207
239
312
247
235
232
195
207
298
174
191
180
220
234
271
174
228
133
283
300
264
241
178
175
203
235
242
241
183
196
213
208
167
206
228
213
189
191
195
306
188
164
210
213
187
257
191
275
203
217
233
175
190
294
274
204
160
254
252
218
284
236
279
266
222
160
234
284
219
181
216
290
248
257
195
231
264
280
156
224
307
220
230
243
251
289
178
209
193
309
211
221
174
200
230
293
241
244
279
329
293
184
196
152
162
225
211
186
247
287
217
160
200
352
183
227
254
254
203
264
165
209
204
198
240
226
186
198
217
190
212
218
219
270
248
217
191
139
265
240
212
268
299
261
163
201
312
229
156
185
237
218
202
210
207
208
245
275
290
195
253
156
286
226
297
175
240
218
204
193
233
315
318
325
240
263
283
191
192
324
279
256
253
211
215
218
246
308
162
225
227
259
224
191
221
205
245
200
235
165
236
308
221
263
157
227
184
155
222
228
249
245
176
257
256
225
260
204
175
301
144
279
305
222
234
144
225
250
178
285
293
214
229
215
261
333
269
204
288
232
203
216
235
302
202
219
200
284
177
205
191
198
163
277
262
263
284
209
211
229
261
217
191
244
288
280
193
174
223
237
165
245
181
217
205
235
215
194
288
202
130
282
151
244
148
282
210
257
249
126
180
213
202
134
251
260
241
238
242
198
253
214
197
226
229
196
224
159
295
251
268
268
248
198
251
262
289
243
148
340
157
224
239
330
214
209
222
154
188
309
225
284
213
279
220
213
138
184
165
181
204
222
182
198
146
144
208
191
192
203
219
253
156
258
279
289
256
198
207
292
219
226
254
180
207
189
166
180
198
231
244
218
275
274
276
226
282
289
219
207
217
156
232
227
238
238
261
169
204
233
244
238
266
349
201
211
238
182
195
245
207
224
192
273
264
196
222
195
238
246
195
198
255
246
275
188
208
195
207
213
181
199
196
170
245
236
256
248
260
216
238
263
253
155
238
192
175
218
270
248
214
261
218
266
236
254
326
234
220
316
216
238
180
221
239
184
207
272
262
198
235
250
146
194
225
170
246
245
235
169
263
139
165
160
223
213
200
203
214
226
194
198
281
229
216
169
172
202
176
226
169
200
207
262
331
256
157
260
232
220
198
196
219
174
167
178
224
195
216
145
280
251
212
279
182
159
253
256
183
305
196
213
279
219
275
270
255
182
180
165
233
248
169
256
194
224
225
251
192
257
299
214
183
173
242
160
314
198
151
258
306
261
173
199
171
223
236
210
259
223
245
274
220
304
261
173
243
225
238
151
200
253
209
215
251
201
226
331
187
247
328
261
220
197
165
181
202
265
188
193
257
286
225
180
300
269
167
197
198
264
215
246
293
194
190
165
228
232
238
199
162
234
208
229
306
234
234
247
158
202
161
237
200
160
160
221
310
244
233
263
290
198
285
152
182
276
210
261
208
212
312
240
153
271
216
205
267
160
311
278
280
201
148
246
207
294
276
227
260
204
227
247
267
245
234
179
264
285
185
187
193
209
161
271
262
255
251
202
235
235
290
247
253
193
230
207
195
239
246
160
284
280
205
221
160
201
251
212
223
210
314
253
214
279
229
154
212
238
333
222
205
286
199
206
279
242
200
194
237
221
275
317
267
253
192
180
239
285
238
246
272
214
220
276
145
205
160
243
221
293
222
175
247
114
222
198
144
241
222
184
219
222
216
283
214
224
170
253
300
235
170
312
235
198
231
259
242
263
201
314
207
186
182
188
215
204
264
175
207
207
193
201
276
226
256
252
193
201
279
200
260
256
234
201
234
149
184
220
301
205
191
228
240
190
223
263
232
262
236
214
261
199
207
240
267
154
262
332
271
216
237
258
240
189
240
178
208
108
152
164
232
244
256
222
283
260
232
201
263
249
283
274
279
167
240
269
296
158
249
228
203
234
243
163
280
197
294
342
219
188
177
248
257
251
197
281
239
158
259
156
173
152
156
193
263
217
223
249
254
203
252
199
191
158
139
291
231
186
197
180
190
260
191
233
207
244
208
208
235
291
212
243
185
270
168
234
287
221
214
222
207
218
207
185
209
257
237
303
306
265
263
191
148
233
208
209
181
207
174
230
244
257
177
247
181
273
239
289
195
175
218
252
220
321
233
261
290
246
156
367
214
194
202
229
255
214
171
289
198
230
199
259
267
194
223
180
255
201
260
169
218
227
229
309
194
156
202
220
274
184
275
213
279
133
209
203
257
276
340
214
189
193
320
269
289
218
201
223
232
240
114
147
262
232
265
202
223
241
267
133
221
209
313
189
180
282
244
192
283
200
192
212
277
235
260
213
236
288
199
260
322
198
181
214
163
233
232
326
258
234
214
211
147
274
324
290
250
191
202
197
207
299
205
285
321
166
168
206
181
319
156
235
249
244
152
254
193
295
270
243
302
201
232
128
234
253
177
305
211
209
228
198
195
151
253
297
208
278
260
178
234
264
190
270
151
274
224
246
225
160
184
261
272
305
219
234
177
209
163
282
200
258
214
235
293
237
198
207
180
220
241
229
262
216
201
237
235
214
207
194
166
247
216
277
254
184
328
194
273
237
267
213
260
217
215
182
280
192
201
247
275
235
335
192
221
274
165
232
198
209
288
269
130
240
299
169
222
210
213
195
223
240
224
225
211
233
215
222
202
284
151
287
251
238
199
253
269
250
262
184
195
214
181
271
219
270
265
245
191
239
284
252
178
222
219
222
229
186
263
276
223
208
196
114
334
253
202
160
232
170
221
249
276
207
208
262
184
217
229
146
148
214
228
193
290
229
184
274
169
243
170
227
233
227
210
188
230
178
260
166
223
223
272
257
166
192
231
241
229
206
225
181
200
194
230
189
229
177
227
175
201
192
202
250
244
252
222
253
307
184
174
308
211
192
184
205
183
229
183
226
205
221
181
186
276
184
239
191
219
251
229
259
257
219
198
156
277
175
288
174
246
203
170
170
221
323
236
255
161
250
196
230
256
126
245
257
202
224
238
180
212
309
180
222
227
216
153
185
198
203
177
220
170
289
168
203
181
212
191
192
262
310
170
157
239
235
228
225
212
206
114
216
246
260
219
203
170
225
284
269
267
277
218
230
160
152
230
264
197
146
229
179
201
249
236
239
250
259
275
229
158
265
211
233
203
245
248
204
221
192
243
223
288
241
162
271
196
198
257
148
141
260
213
226
160
239
191
218
206
198
250
210
195
154
230
185
204
267
231
200
217
249
227
282
265
149
198
186
273
235
294
178
217
191
231
233
229
202
299
114
210
297
272
270
284
212
286
181
261
256
247
270
236
179
203
252
221
225
234
219
258
207
211
246
244
264
238
185
307
212
241
185
189
192
198
126
262
221
181
285
206
223
156
229
145
290
235
277
273
203
233
209
165
238
170
247
184
253
257
208
276
173
145
198
215
156
223
247
328
273
289
173
295
212
253
232
226
207
175
213
162
282
210
216
258
259
262
204
246
234
196
195
256
219
245
203
253
209
226
220
195
225
238
239
229
171
195
261
180
221
265
170
269
256
204
249
160
189
217
235
258
234
233
245
211
202
171
195
315
297
319
187
328
264
181
233
225
161
207
151
271
181
170
260
191
151
188
310
231
313
229
220
325
208
233
189
234
312
232
251
315
257
181
255
332
265
265
181
191
193
247
201
215
200
194
304
231
260
225
170
176
225
202
258
191
145
196
217
223
213
306
219
152
349
158
223
224
233
236
203
213
227
180
262
269
156
108
201
200
180
184
207
200
250
229
253
195
160
219
208
213
235
251
274
201
240
158
159
230
169
161
209
220
187
214
236
231
281
221
209
197
276
192
211
185
261
182
145
213
161
233
230
249
238
194
211
338
114
200
237
303
205
108
300
203
170
233
213
178
308
193
235
281
181
289
196
267
260
287
174
225
293
229
207
244
222
222
287
171
279
158
222
200
229
228
252
291
218
232
187
165
165
152
199
189
145
214
207
235
192
139
238
252
247
253
221
203
242
179
232
143
263
230
281
190
221
201
193
276
202
214
174
206
241
203
313
223
278
221
241
187
222
193
239
247
189
261
157
184
178
178
229
279
212
298
151
221
261
193
210
141
222
273
213
184
222
264
203
145
220
251
171
231
240
236
241
152
175
253
235
114
280
224
244
247
196
287
129
198
294
193
269
224
195
237
271
227
261
284
326
261
250
181
231
204
205
247
261
199
214
199
194
264
194
292
182
242
227
274
266
215
247
177
211
269
168
214
217
252
223
161
301
210
250
218
255
250
266
225
214
266
260
179
190
200
271
178
288
268
233
233
229
168
191
202
157
302
262
184
211
202
214
198
191
188
249
245
259
288
205
285
208
180
215
259
217
217
270
228
207
174
186
288
238
227
134
173
210
246
251
241
223
251
241
201
285
243
243
191
271
207
168
188
184
351
276
181
232
192
217
262
216
160
220
260
206
222
166
192
201
189
208
225
225
215
290
247
192
243
277
214
238
223
232
198
251
212
209
225
255
218
239
114
288
152
270
189
243
218
265
177
181
209
199
165
197
231
217
207
195
216
237
201
239
294
237
199
247
232
243
153
309
299
274
285
257
155
200
301
239
193
160
267
165
207
220
240
227
149
235
282
253
223
318
216
309
170
318
249
202
202
206
163
184
229
226
217
223
173
267
279
156
199
317
332
239
182
161
211
217
212
203
245
173
146
206
199
238
263
233
296
299
267
220
269
265
276
225
211
324
160
207
241
184
272
156
203
253
179
247
238
263
236
309
207
216
217
198
257
151
261
166
228
163
310
166
290
207
242
262
250
257
237
239
204
264
352
204
205
231
177
285
181
175
203
214
240
238
250
227
170
233
228
179
196
154
189
244
215
284
209
268
227
195
227
134
206
249
184
170
179
216
249
221
155
223
224
261
225
228
244
194
205
274
302
218
291
215
302
225
225
243
276
160
248
249
219
265
184
226
265
200
305
149
251
402
335
218
199
114
250
222
278
230
184
175
155
175
206
195
208
194
259
174
195
238
164
186
227
213
321
145
192
261
241
274
188
255
219
308
224
239
175
192
233
198
203
130
161
196
148
207
204
152
206
170
384
170
310
175
218
182
215
189
235
232
261
134
194
224
214
176
268
256
248
216
215
335
182
260
200
181
238
213
251
166
224
266
316
280
262
193
300
287
253
238
193
212
279
221
255
227
276
291
216
196
337
211
221
231
201
161
274
266
210
126
230
256
192
272
249
171
178
216
279
256
181
230
274
200
174
160
175
265
249
277
183
180
234
266
190
259
210
246
201
183
279
114
205
344
258
322
192
227
220
217
195
246
221
283
295
239
197
262
247
227
240
206
140
219
211
273
157
181
239
173
228
223
193
185
280
192
191
215
227
238
259
240
242
248
210
151
195
268
174
235
249
236
178
179
247
161
189
165
168
212
223
208
252
256
250
219
319
227
296
215
229
277
229
205
223
213
238
218
285
234
226
238
262
258
202
276
233
274
250
270
238
161
279
205
230
267
219
251
236
281
274
188
158
192
236
114
257
276
207
231
236
229
300
179
199
296
225
236
178
263
238
247
232
255
229
193
229
161
178
173
243
233
240
206
264
209
213
205
179
194
191
249
294
175
244
248
164
200
144
229
266
282
238
175
250
350
178
174
222
208
246
162
244
228
216
281
263
197
147
180
199
168
203
239
215
210
278
260
152
210
191
318
271
297
233
231
363
261
122
215
176
226
204
274
216
178
255
289
201
183
175
175
239
340
148
226
198
268
290
239
221
232
249
281
203
217
275
248
194
256
267
288
199
259
260
324
195
272
203
160
223
324
217
238
238
227
219
191
116
114
235
184
273
224
256
139
256
256
258
169
140
219
222
292
264
268
225
269
228
264
263
267
269
233
278
223
262
245
184
166
188
277
258
253
311
251
250
214
213
203
255
215
162
213
216
252
241
242
322
261
256
279
239
188
251
253
195
275
294
318
208
236
184
217
238
261
170
304
174
114
203
178
249
240
291
159
160
197
222
161
276
211
224
253
275
219
274
269
231
173
260
205
212
341
274
251
222
229
192
211
379
114
175
219
167
238
275
338
225
247
183
269
218
269
169
256
233
219
239
208
294
206
169
220
221
195
191
194
244
215
186
246
247
202
207
266
270
223
293
179
137
260
215
198
261
204
205
279
254
114
250
305
195
178
225
265
263
173
259
309
203
200
164
287
207
189
219
170
298
309
228
226
208
263
252
206
236
239
192
144
166
242
243
217
161
231
169
197
211
205
248
243
234
218
157
240
221
255
220
254
316
271
206
210
180
180
180
186
248
205
287
145
214
181
229
255
292
246
204
234
199
219
330
201
205
256
265
194
215
194
239
183
243
201
255
256
258
289
151
235
309
212
244
228
165
233
215
262
154
270
238
257
283
161
184
241
283
217
232
256
152
284
211
249
284
177
262
237
304
199
200
175
201
170
197
191
193
225
273
264
200
179
200
207
333
198
270
184
215
292
212
340
374
232
231
264
169
318
279
255
296
232
187
235
211
166
232
289
191
232
175
194
174
152
191
228
159
220
216
273
248
206
147
238
214
301
172
256
196
176
261
275
215
221
205
192
176
243
249
206
232
197
295
175
200
205
171
317
275
260
289
160
276
114
207
309
254
225
301
258
206
215
309
184
317
254
209
239
287
175
270
266
232
192
187
256
195
219
179
268
211
190
251
252
190
238
206
209
256
266
158
213
225
149
214
217
191
226
185
220
216
238
278
228
249
248
241
252
216
183
218
310
247
194
232
216
225
193
162
171
212
296
201
230
208
207
256
215
288
213
190
225
233
249
213
224
219
192
252
309
276
222
184
224
170
256
220
239
328
255
229
170
178
238
178
214
243
170
258
214
231
247
174
269
203
170
170
304
244
152
257
257
250
171
263
254
251
170
182
312
160
136
263
185
239
146
228
292
240
219
178
204
226
325
346
262
181
284
323
221
285
333
262
129
228
230
192
204
148
278
197
262
239
259
266
205
194
211
219
178
226
200
225
195
152
243
185
194
162
200
251
195
260
283
193
209
173
214
163
243
242
208
244
218
194
218
230
291
227
171
165
215
172
214
216
126
225
283
261
195
310
214
227
284
166
248
223
228
164
214
246
179
256
278
198
251
311
295
158
220
229
191
201
163
167
139
208
233
156
290
221
318
210
185
244
327
235
261
239
216
258
262
246
276
252
145
161
162
193
174
287
208
211
254
215
253
227
139
199
231
214
186
182
286
162
175
146
307
114
181
174
213
192
173
269
294
179
253
210
188
192
189
158
195
244
293
156
237
230
261
205
209
207
315
174
227
241
252
236
175
243
198
192
168
185
188
197
190
255
160
204
190
233
193
267
233
137
400
184
248
203
236
207
218
259
260
229
279
170
221
176
254
166
158
242
256
257
261
244
160
199
273
280
203
164
200
249
242
230
277
233
218
234
242
305
180
114
243
206
259
207
252
207
151
282
229
233
198
189
228
315
233
159
196
299
173
199
292
272
189
194
220
259
259
159
253
231
192
198
263
250
266
191
234
257
266
202
297
178
222
167
155
281
201
192
234
208
170
162
212
165
175
182
263
211
235
230
308
232
295
234
246
261
201
194
147
244
228
226
213
202
234
228
198
250
208
263
239
184
161
175
162
312
203
152
278
247
234
184
235
126
144
238
237
285
220
262
170
243
236
229
191
280
218
259
258
259
243
290
272
178
213
250
239
169
203
243
129
318
242
273
233
307
243
190
174
178
226
214
266
231
272
232
178
272
280
255
263
252
240
224
202
172
233
236
187
197
145
186
245
158
195
212
264
227
213
136
162
293
283
273
295
222
269
294
197
322
217
200
258
232
257
209
210
233
198
180
242
229
234
246
204
255
181
215
252
174
244
204
165
174
230
158
324
231
221
152
273
238
269
262
234
209
222
174
209
341
210
156
220
233
234
209
198
206
254
210
246
180
213
276
172
279
333
248
245
203
223
234
229
257
207
237
227
340
156
260
277
192
159
171
175
286
192
213
225
324
355
191
251
243
205
228
233
261
294
213
224
154
168
217
208
160
175
250
272
219
226
261
197
245
186
240
222
174
259
225
170
367
182
211
256
220
161
294
225
247
169
220
114
254
178
267
180
277
363
174
239
272
203
240
175
250
205
228
280
175
198
170
242
289
235
232
241
185
195
162
202
106
303
282
170
300
195
154
225
349
211
202
218
219
200
188
173
172
178
191
206
174
114
265
219
275
298
178
116
214
235
229
251
192
231
244
235
296
224
156
192
158
184
209
212
290
251
269
186
244
192
207
160
200
226
195
231
293
244
269
163
146
275
229
220
245
253
261
230
240
177
208
274
229
208
255
295
277
152
207
205
256
204
226
320
167
225
198
160
114
200
299
221
229
266
241
248
229
215
247
216
247
205
262
186
189
224
196
254
263
214
281
296
270
240
196
195
197
195
267
219
240
284
195
214
169
320
286
234
265
175
308
195
226
239
146
209
253
210
262
170
303
198
200
246
222
201
193
298
180
301
126
261
249
211
204
259
290
234
176
184
283
246
306
223
236
290
214
216
114
272
250
202
223
233
268
263
277
208
174
185
305
173
233
238
203
250
200
229
169
114
251
234
271
184
182
269
114
233
238
151
231
254
200
244
214
241
218
195
193
262
214
114
215
165
164
253
298
253
215
279
197
247
281
130
245
256
288
205
272
181
198
205
208
249
249
225
176
233
220
196
195
208
258
250
227
206
176
161
258
249
213
206
251
302
265
218
229
253
184
294
213
189
238
202
195
169
198
294
222
272
251
186
237
266
235
203
240
282
279
291
240
223
195
253
168
236
252
296
167
178
280
204
216
240
255
173
264
237
175
255
223
230
232
129
243
251
181
189
214
234
173
244
202
224
165
259
255
139
233
152
252
114
261
173
301
199
250
212
169
184
251
284
195
240
269
260
237
208
152
191
152
202
224
285
336
233
181
219
250
114
217
207
244
192
188
210
178
154
312
225
170
190
299
256
192
208
194
257
247
215
255
198
202
278
246
189
218
200
301
203
218
200
146
277
201
243
293
250
204
232
290
348
270
225
217
325
263
219
255
205
301
211
281
186
255
214
253
217
286
229
166
238
151
164
260
160
170
252
186
185
311
167
170
284
255
228
309
234
316
246
197
114
235
199
297
200
203
162
220
198
205
265
241
208
212
165
305
254
275
210
171
157
237
245
302
187
215
294
262
267
237
250
207
248
133
207
340
214
168
209
180
241
207
170
270
224
296
278
269
214
213
260
231
146
223
173
212
217
245
232
261
180
259
234
255
288
177
204
236
285
141
194
244
219
273
297
218
203
227
264
129
216
197
227
264
211
195
251
315
331
155
258
248
293
211
268
283
189
262
278
159
192
114
237
240
281
300
279
191
279
224
198
245
267
114
182
198
140
225
192
246
193
199
191
216
215
225
194
227
245
219
203
227
188
229
224
261
290
201
173
271
232
213
215
328
198
292
275
219
211
215
235
178
126
169
256
242
222
225
208
241
149
181
228
213
230
293
114
238
229
238
126
261
208
261
216
268
227
232
188
239
220
248
172
252
233
214
285
302
206
192
262
253
222
303
239
250
224
198
169
158
198
296
275
225
214
254
222
268
205
256
278
222
114
239
203
241
209
210
231
208
197
240
231
235
178
249
247
237
242
210
232
192
192
179
221
203
271
200
201
265
245
210
262
264
173
196
200
173
264
264
223
209
238
323
200
258
199
272
221
121
139
267
226
238
152
227
236
147
194
173
188
139
283
160
217
258
263
210
172
237
189
251
232
174
270
214
216
241
191
169
211
318
183
245
262
238
235
254
161
248
261
319
126
242
287
203
194
114
179
248
200
180
178
189
251
255
207
258
253
189
215
146
232
151
222
235
323
281
260
236
230
278
205
162
200
297
220
205
206
220
163
173
207
257
241
194
200
145
311
179
199
222
213
207
237
218
194
235
212
212
256
176
235
201
233
172
114
264
208
348
150
139
246
278
213
338
250
151
195
233
148
277
202
158
211
260
197
251
280
227
193
256
266
168
238
173
181
242
178
186
225
217
248
184
187
194
152
245
173
252
218
279
339
217
214
154
180
195
281
309
239
178
238
308
275
243
214
268
217
185
194
198
298
253
190
221
228
170
193
250
154
228
245
195
163
208
239
277
151
151
245
292
260
166
179
206
161
202
228
219
252
270
183
232
152
228
267
165
267
215
237
204
154
190
201
201
202
213
206
252
239
205
181
181
193
222
259
260
250
185
234
199
166
223
173
233
214
313
270
248
178
246
237
169
188
255
301
170
208
173
240
247
191
294
220
219
243
197
206
158
232
262
155
147
314
164
175
278
277
288
288
178
314
175
241
235
244
201
224
206
216
247
235
161
277
213
232
198
244
184
114
222
245
262
200
272
239
296
246
219
257
219
194
171
278
275
248
223
245
216
160
247
208
303
181
260
195
170
167
196
262
284
258
186
283
240
207
267
145
239
243
241
198
152
230
257
172
273
193
190
206
210
260
274
160
180
263
206
166
246
213
227
209
267
248
300
128
332
174
212
293
248
180
211
255
234
261
219
228
226
200
165
223
166
341
274
237
214
219
236
280
278
185
297
269
234
278
235
182
261
218
234
305
268
299
239
292
181
266
196
236
244
185
244
184
178
215
222
237
266
266
241
206
243
207
194
273
310
218
262
312
230
255
302
197
160
192
223
249
232
191
205
207
217
239
174
222
220
215
194
256
218
248
271
160
243
220
236
297
187
229
234
166
255
240
246
271
260
228
212
142
160
191
206
152
217
220
294
233
207
170
288
258
208
242
296
202
355
256
251
176
200
213
160
230
161
167
126
168
219
265
251
264
302
234
242
273
224
256
253
244
279
179
281
214
244
231
218
237
194
207
325
245
219
235
181
243
182
204
235
186
208
174
266
241
288
210
188
162
206
273
197
264
137
209
216
247
209
171
186
252
287
247
271
211
215
288
151
203
306
317
346
196
286
238
229
200
143
275
248
189
199
291
174
164
198
187
320
203
265
203
222
208
194
114
240
246
197
203
193
278
284
278
186
283
228
223
254
211
158
174
274
230
253
213
206
246
181
269
238
247
213
167
171
214
239
253
198
254
206
233
241
251
267
247
182
166
160
239
214
271
197
213
181
252
270
213
234
288
226
173
209
238
217
234
256
253
207
192
250
239
231
242
137
253
297
169
225
175
226
212
280
152
210
199
206
219
166
201
160
237
270
167
215
245
192
173
156
222
233
254
265
211
273
278
220
240
174
231
283
189
248
165
198
196
239
213
283
268
291
293
282
207
239
232
246
181
220
270
234
240
209
261
277
156
272
270
265
225
250
126
247
246
387
204
220
218
237
224
257
186
223
262
266
204
223
199
236
228
210
240
278
253
283
279
167
250
252
244
257
224
325
191
208
271
233
244
240
169
242
229
246
209
301
287
213
254
192
208
286
241
200
234
224
223
297
263
229
231
274
249
229
178
247
315
246
235
193
175
280
243
225
229
244
288
229
279
243
193
270
251
344
223
255
239
174
267
186
189
193
200
256
208
244
255
207
192
175
359
225
152
210
198
266
224
236
258
295
173
201
292
252
194
162
298
271
170
232
278
217
231
291
284
260
186
211
203
256
151
265
233
114
237
309
292
267
249
219
227
280
240
195
229
181
216
160
214
291
235
280
302
252
214
156
284
181
201
200
219
175
234
168
170
244
176
210
147
237
217
280
228
161
241
245
214
261
253
225
226
313
261
177
174
265
235
220
235
271
297
156
262
220
214
244
191
255
245
242
191
284
195
219
186
210
116
197
146
170
179
210
287
217
257
222
265
189
261
180
251
205
241
170
255
264
227
241
214
263
194
215
211
279
237
217
201
286
311
193
241
202
171
226
160
243
224
275
282
232
216
219
258
283
245
238
266
188
191
276
298
279
273
165
244
195
235
230
216
262
273
164
116
254
246
172
174
203
236
170
271
114
185
259
260
257
272
171
273
232
239
226
262
211
179
250
262
248
189
266
246
274
250
296
286
238
114
265
220
238
270
114
265
255
224
295
238
227
251
148
208
152
259
276
257
220
220
266
253
171
114
305
204
260
244
246
227
130
250
218
158
139
247
190
170
197
252
215
237
199
307
215
192
201
210
235
238
362
201
246
179
223
219
160
223
156
257
245
175
306
183
194
166
285
272
190
205
235
268
245
231
309
267
300
227
303
204
253
250
281
264
168
241
126
194
214
251
244
209
290
265
213
201
232
227
234
291
239
173
175
148
252
174
274
186
229
211
226
165
216
211
191
225
270
315
322
244
201
210
208
183
244
284
248
257
226
289
192
275
273
212
266
225
240
202
208
149
218
200
240
193
197
232
209
241
183
257
200
277
263
214
272
226
210
200
272
195
173
227
209
171
168
196
304
216
203
266
154
178
234
230
188
226
171
224
244
254
167
262
192
214
267
246
277
283
160
196
271
273
213
198
196
224
235
235
214
198
253
183
177
214
248
206
139
277
144
251
185
266
184
188
235
246
282
196
208
216
327
228
239
198
190
267
191
272
195
240
234
209
177
267
321
236
194
236
217
202
223
211
245
223
216
203
242
235
173
199
214
236
236
193
213
185
267
221
271
203
247
121
215
159
219
152
191
240
203
247
214
243
239
134
233
188
207
121
277
190
237
267
139
203
251
239
206
255
289
184
231
240
276
302
173
198
209
265
220
174
345
203
202
233
230
191
212
303
269
179
254
208
262
258
224
179
210
245
204
195
203
295
223
175
203
168
222
322
149
146
204
170
215
299
212
266
181
258
230
250
254
212
281
232
206
231
252
172
204
254
211
258
114
153
224
216
262
163
251
248
247
243
260
165
126
205
222
159
201
216
160
245
222
157
168
273
181
234
220
297
203
241
278
212
208
200
193
241
202
231
246
199
197
292
261
219
126
199
288
209
195
219
253
297
171
251
286
326
181
185
244
196
149
256
214
202
185
333
247
271
220
232
242
203
277
248
223
207
241
201
224
233
209
253
214
222
322
247
197
208
242
178
229
173
223
184
209
235
259
207
249
214
297
275
243
186
239
176
246
243
196
284
170
160
226
334
269
305
174
252
212
208
208
160
249
199
225
114
225
254
253
230
194
218
239
323
229
212
204
298
315
239
160
194
169
241
191
212
268
254
254
209
188
171
162
253
205
238
179
267
229
216
151
296
114
235
160
197
193
190
190
179
214
217
233
302
193
218
213
139
266
145
275
297
192
180
179
238
269
209
168
191
239
233
277
219
220
196
288
196
260
216
168
270
216
253
197
227
244
116
265
161
129
241
220
216
272
180
168
259
234
167
128
114
209
221
233
230
238
175
134
178
173
192
243
229
174
138
201
259
166
304
249
192
162
249
178
281
253
252
213
173
203
211
173
163
205
257
214
287
269
174
192
272
228
330
285
270
218
245
176
265
177
187
301
228
214
178
237
170
276
170
229
250
141
157
164
208
245
265
225
146
263
225
176
266
329
256
159
233
191
256
202
242
187
236
232
200
297
170
169
225
178
222
156
269
223
202
114
250
239
204
194
299
179
170
210
227
180
296
232
198
197
214
314
236
246
272
203
154
235
184
221
288
225
266
226
296
238
181
310
268
225
221
215
245
188
265
217
220
217
298
211
312
195
192
215
343
169
257
190
203
214
227
262
268
181
182
206
173
281
207
231
201
241
215
235
214
258
182
273
200
275
201
212
280
274
301
231
160
155
205
237
188
255
270
173
247
214
226
204
256
207
160
305
193
226
198
208
179
218
189
170
180
219
230
171
254
252
230
270
190
229
229
189
114
114
308
173
347
173
323
257
151
169
162
308
223
222
245
233
196
173
254
218
275
130
252
231
255
257
193
240
258
233
239
300
195
222
164
165
237
302
251
263
193
165
238
202
191
237
164
209
240
207
276
166
151
211
233
245
162
238
217
225
202
261
227
114
228
183
267
276
241
285
252
206
259
221
175
191
170
271
257
302
161
227
256
248
207
298
204
317
173
189
304
226
233
184
205
194
250
208
240
173
156
197
192
170
219
174
247
158
255
160
266
185
114
242
249
170
206
319
205
208
199
246
214
299
227
145
240
247
245
238
210
256
121
173
200
263
175
211
246
218
224
226
175
178
260
249
252
178
180
151
166
265
205
307
227
273
180
211
214
204
231
180
211
194
229
283
228
256
198
281
252
214
160
166
268
254
141
225
253
271
232
215
268
272
223
226
201
300
192
172
273
273
244
217
198
266
238
286
207
233
251
148
248
171
240
265
182
244
189
246
199
230
128
181
232
204
180
186
214
199
242
241
182
224
171
230
106
303
198
223
250
187
148
216
188
241
294
232
219
235
252
194
210
228
160
229
185
241
234
218
194
267
198
265
222
227
219
204
239
218
274
198
242
193
261
237
165
219
249
220
207
186
297
190
203
221
208
282
270
170
213
208
280
239
270
198
196
287
255
160
217
202
300
253
192
224
206
217
174
191
324
178
181
208
261
216
240
222
233
165
189
320
195
231
315
223
219
291
223
177
255
238
197
273
193
276
197
258
216
326
300
225
231
254
205
215
218
258
198
191
211
249
178
286
296
211
187
212
240
178
193
191
214
313
191
283
269
279
172
233
208
257
328
226
198
296
235
159
209
246
239
158
211
221
271
180
225
248
193
198
207
230
228
275
197
219
270
147
254
265
215
190
264
106
178
256
214
208
251
175
197
218
158
206
235
199
260
243
225
286
297
263
312
228
255
228
231
267
216
218
241
208
281
231
249
210
229
256
193
203
181
194
160
161
265
234
274
173
242
180
207
242
172
158
305
246
173
223
230
251
334
178
165
108
213
181
281
146
222
229
235
296
181
197
240
223
207
266
252
214
194
240
160
298
129
224
278
165
179
233
224
191
335
175
175
216
145
174
267
256
309
255
225
234
248
114
205
253
298
214
178
229
321
245
299
234
180
251
165
272
140
232
116
169
252
257
173
300
234
265
238
245
229
170
191
280
265
176
210
277
238
209
218
308
239
243
170
229
284
228
190
162
251
212
235
214
177
318
247
212
198
212
228
260
194
114
263
210
230
262
258
295
214
265
195
201
198
206
232
219
186
234
290
250
194
236
249
114
213
174
182
192
265
291
311
192
260
259
181
302
245
250
303
256
320
229
232
230
263
189
160
218
248
291
197
235
222
174
201
230
198
202
196
294
292
172
222
274
244
294
212
192
192
229
215
116
193
248
217
203
259
235
237
237
221
156
156
295
126
229
202
247
221
208
175
279
252
191
234
195
263
217
270
199
213
265
254
170
253
282
203
237
211
171
276
230
184
239
177
114
261
194
222
288
276
314
203
267
233
175
234
173
243
225
213
270
170
273
209
266
204
114
221
235
245
187
270
199
228
201
222
186
223
234
271
160
244
219
180
281
213
323
165
248
213
298
248
206
279
224
240
216
200
176
170
151
194
255
183
190
235
291
260
256
270
211
189
167
238
296
242
313
212
232
227
203
338
179
161
227
251
230
234
257
211
267
181
232
156
173
191
260
172
267
151
248
220
190
237
261
281
299
264
233
198
267
213
173
216
192
238
126
197
238
219
245
276
246
202
256
175
248
205
146
233
273
224
245
229
292
215
249
166
289
207
192
213
284
231
195
252
244
207
193
230
261
230
240
220
169
203
273
185
266
199
170
220
176
197
227
189
201
238
191
290
259
282
160
225
197
306
221
202
145
261
259
207
220
246
313
288
172
287
193
195
175
182
230
285
233
144
182
240
237
147
239
289
263
272
222
232
225
211
202
233
232
286
195
217
164
309
248
280
268
223
191
204
220
176
304
253
208
269
210
244
199
230
238
188
210
300
283
145
243
167
205
151
279
263
265
213
204
213
214
160
287
252
245
249
151
211
261
128
191
156
267
244
245
244
238
306
164
190
315
180
145
254
217
270
281
198
250
234
227
185
312
286
116
250
181
114
177
243
175
148
255
272
204
215
160
284
179
239
228
170
289
194
250
175
165
254
156
116
272
291
188
193
222
297
169
263
295
218
253
247
336
189
264
259
255
229
263
313
224
269
235
238
139
327
213
239
233
220
151
267
167
295
226
239
241
234
252
237
204
195
216
186
228
227
192
232
259
301
224
160
212
231
200
263
183
152
191
178
151
216
202
241
184
170
281
238
199
191
168
333
309
247
237
251
265
226
274
236
253
240
139
228
226
279
273
198
212
314
209
197
178
226
215
207
257
248
182
230
220
244
287
231
259
264
262
212
233
246
253
194
189
198
180
327
169
221
309
274
294
232
185
160
193
203
278
169
153
301
218
260
260
251
214
209
263
298
229
191
261
269
192
254
171
197
249
241
173
259
234
179
244
216
193
198
170
212
243
296
148
158
194
156
171
246
285
151
274
214
229
258
229
182
210
181
314
326
194
181
274
231
253
290
266
177
282
234
213
217
241
233
269
197
257
183
256
166
223
178
168
257
161
267
202
248
210
211
205
277
203
193
175
190
211
255
156
237
266
154
336
134
231
166
252
268
204
247
139
216
258
178
286
220
249
237
165
164
202
285
179
147
176
174
253
232
258
216
199
200
272
286
203
254
193
116
182
245
266
181
211
296
327
284
246
224
173
250
186
152
281
242
289
222
226
252
133
243
222
233
171
248
145
248
176
166
191
228
246
222
295
210
189
144
207
178
267
330
248
236
230
223
220
320
266
329
210
264
283
174
195
187
260
154
241
178
206
166
274
194
207
199
205
301
249
328
255
106
278
194
171
219
169
247
259
265
173
202
233
235
286
171
251
253
257
230
250
181
147
203
230
280
186
241
242
238
244
207
253
235
176
302
170
199
243
289
192
257
202
234
197
241
237
218
152
268
268
198
197
199
209
169
193
288
209
255
175
186
366
218
257
169
221
280
249
166
168
209
293
256
299
234
248
240
181
234
238
233
246
245
266
274
214
262
198
255
363
179
241
259
189
191
221
234
235
239
178
245
232
225
233
248
251
235
270
183
222
216
106
239
202
307
271
239
207
214
299
114
290
244
157
247
253
208
249
289
184
149
166
161
246
190
206
192
226
204
174
196
160
248
232
299
201
234
292
223
198
183
271
278
245
239
224
252
255
231
209
175
308
192
114
251
203
206
214
228
226
161
215
206
214
251
203
192
236
251
260
201
237
201
224
264
235
256
200
198
248
246
216
187
240
296
287
267
247
287
217
274
277
174
181
223
183
182
243
211
216
328
157
175
165
308
324
233
280
195
173
200
240
226
220
192
228
144
222
246
184
279
214
275
207
174
272
305
262
278
155
213
194
186
270
146
244
299
292
257
299
248
282
222
259
334
237
238
296
269
201
246
321
219
162
246
221
271
202
234
203
213
217
208
173
133
279
173
181
176
252
237
206
193
114
201
160
137
240
176
310
158
220
305
263
277
158
189
169
199
331
255
199
221
249
245
301
182
234
278
275
242
146
200
189
191
221
222
252
234
248
188
246
217
250
186
235
195
166
163
213
280
213
217
246
301
182
289
238
195
184
215
222
277
197
242
166
276
292
195
169
229
168
212
363
259
261
282
295
261
273
231
311
228
239
290
239
197
306
144
199
269
283
299
229
236
200
220
226
197
257
166
225
191
349
217
258
246
160
201
126
126
156
227
233
221
234
233
179
170
312
198
223
279
217
208
240
280
250
222
186
197
192
208
210
230
262
310
310
205
248
212
166
253
264
252
272
260
239
248
262
290
260
196
223
217
202
225
221
220
156
226
207
222
270
193
237
183
256
246
293
230
151
249
200
156
259
228
289
240
167
232
227
173
213
187
265
244
303
221
182
181
175
228
191
184
233
188
216
240
244
195
214
182
176
231
184
291
278
192
300
335
192
146
175
235
186
263
307
176
292
206
241
204
152
249
260
193
193
239
184
255
149
203
247
244
194
231
293
202
230
194
229
245
200
249
306
311
186
155
255
269
273
225
184
211
160
216
229
180
246
152
239
192
248
257
236
205
218
235
220
196
245
202
275
308
201
208
258
193
209
234
191
276
278
254
255
264
222
192
191
262
246
309
229
255
199
196
178
174
202
216
205
213
294
174
164
272
157
200
270
238
221
228
245
235
235
281
208
181
223
265
198
230
178
275
232
242
178
203
203
264
289
233
209
207
250
208
239
189
257
278
283
240
191
235
211
268
192
201
181
223
210
228
178
228
247
232
244
179
156
280
285
206
133
297
271
147
315
285
260
240
253
239
295
187
224
204
175
202
221
178
281
242
277
290
261
188
256
256
214
214
261
235
114
240
253
333
175
238
233
209
175
259
207
180
198
312
186
165
198
190
272
174
195
252
181
253
215
248
228
165
194
285
240
276
245
208
279
190
264
191
230
272
228
340
273
161
240
114
218
154
245
317
198
233
220
216
284
200
301
319
230
185
230
187
245
269
373
300
182
255
282
307
207
219
303
233
197
280
205
255
246
224
262
232
165
228
193
214
224
224
275
268
266
187
270
309
114
176
245
200
241
162
208
216
238
218
156
202
305
238
183
114
325
197
228
184
213
152
284
160
216
220
188
187
231
195
225
233
204
190
247
175
165
281
280
187
208
314
179
205
191
247
114
234
198
211
237
166
191
248
151
166
225
189
261
200
192
212
233
198
253
297
252
222
274
250
244
222
230
219
196
267
223
269
205
321
237
195
257
256
209
270
250
242
146
204
259
149
201
216
274
207
149
166
200
262
264
188
242
295
270
196
261
245
221
181
240
255
226
203
286
198
254
229
220
160
257
172
259
285
240
199
198
173
201
310
296
303
237
200
209
233
129
220
324
297
203
239
246
226
271
186
225
334
195
230
139
277
192
261
185
187
192
185
156
186
224
240
246
188
296
250
190
295
215
200
296
218
164
189
210
145
249
220
323
184
214
247
265
253
245
222
219
181
325
251
218
187
297
264
172
192
181
244
144
257
182
183
187
219
213
225
219
206
252
240
226
230
205
205
268
207
283
151
265
184
209
229
231
225
159
196
181
176
194
178
114
178
211
234
232
157
204
247
221
157
279
193
266
225
226
263
214
253
227
218
249
274
241
250
251
235
230
198
183
199
266
192
170
216
182
213
268
221
229
279
218
244
195
258
220
218
211
270
173
264
230
232
282
217
175
244
281
244
206
263
233
227
148
154
290
205
196
262
225
284
221
183
284
192
173
240
184
195
177
232
267
261
275
187
183
194
156
213
114
209
254
221
219
174
188
272
116
265
228
252
239
166
245
250
250
206
240
234
234
218
260
307
258
249
287
233
243
243
271
198
265
222
225
192
238
277
249
227
281
270
152
192
350
218
268
202
176
218
268
253
219
219
220
250
244
209
244
261
163
176
303
229
173
165
259
233
186
220
257
238
199
288
197
251
248
196
216
218
191
256
276
144
245
308
220
205
194
236
225
273
160
255
178
233
208
153
229
196
277
290
184
206
160
365
190
316
228
272
270
261
256
217
183
213
200
172
236
223
197
254
301
175
231
284
238
239
181
232
325
257
201
174
302
276
233
145
275
267
212
216
203
281
181
347
156
223
248
270
168
220
235
263
178
173
162
237
209
241
249
309
192
298
253
246
175
224
202
126
186
290
240
250
190
221
323
242
265
219
114
192
222
208
165
160
195
274
311
193
256
189
224
175
206
219
237
205
231
255
230
227
225
206
215
215
212
229
179
141
179
210
205
260
280
173
306
231
192
209
130
195
324
234
279
217
242
231
239
274
229
255
200
205
277
166
215
228
227
208
166
229
209
286
156
164
176
327
187
244
262
229
227
165
265
189
244
166
114
235
237
245
171
244
218
254
254
245
151
213
171
250
175
188
335
237
114
189
244
278
325
243
238
262
269
106
309
114
145
165
182
255
201
239
271
223
235
225
212
280
285
236
269
191
239
234
205
181
241
230
156
230
237
318
173
232
195
197
218
205
224
271
236
220
244
246
222
194
243
178
195
267
287
221
232
280
252
252
218
171
211
230
177
233
201
195
214
195
206
181
224
260
205
161
282
223
257
181
267
233
266
171
260
106
241
211
236
251
198
315
256
249
129
347
202
181
160
185
191
216
202
176
171
196
165
213
225
216
319
192
249
256
221
256
147
246
256
215
178
182
227
180
198
170
221
208
139
144
172
170
220
198
238
244
295
204
171
229
315
271
170
228
208
203
204
187
254
245
249
243
213
160
219
202
139
250
195
237
265
139
253
175
248
236
195
349
293
153
193
285
126
290
317
198
198
179
285
215
201
256
154
233
317
162
179
234
217
202
213
262
172
264
219
159
220
281
155
214
306
158
250
206
161
206
206
175
187
316
218
220
188
200
219
247
237
139
335
286
267
248
170
185
267
271
245
170
218
219
253
241
280
129
212
299
204
180
225
195
267
271
177
207
151
227
166
221
256
235
303
195
218
281
241
235
196
232
215
215
188
268
208
209
218
194
226
261
249
226
225
300
165
212
228
252
211
209
209
213
181
292
276
226
220
302
186
244
196
266
160
292
200
116
207
174
203
220
252
192
221
114
202
232
295
231
227
114
195
157
201
203
245
264
249
149
211
114
223
181
252
277
251
241
247
265
202
157
227
164
214
234
273
175
200
193
213
243
166
176
213
215
243
192
184
137
218
255
151
304
255
145
212
192
242
178
291
173
222
196
156
229
257
257
252
228
199
214
319
166
184
179
203
264
294
207
192
175
258
212
263
198
206
293
290
278
254
184
178
194
144
210
264
214
293
278
172
162
253
230
254
216
214
209
193
207
235
231
178
292
288
263
260
207
278
247
197
187
154
155
270
161
243
194
245
198
220
129
303
252
230
265
200
235
273
185
216
144
258
258
174
260
265
224
191
195
214
286
126
182
231
295
231
262
203
233
217
280
160
209
206
221
165
231
249
241
222
292
327
114
225
263
211
126
252
212
284
254
156
274
265
224
194
182
266
193
273
214
204
258
238
290
215
234
198
297
251
211
255
240
170
279
263
202
261
303
219
168
215
223
246
218
274
160
114
228
268
257
242
151
255
139
211
296
257
301
226
160
251
216
238
209
209
214
213
199
247
192
265
228
238
177
239
223
268
200
223
247
285
201
170
152
159
236
241
293
278
198
269
254
204
297
249
275
222
215
218
240
174
163
234
288
313
213
195
183
213
216
237
171
232
230
198
292
237
227
258
174
212
344
208
226
240
256
248
263
240
142
174
288
139
185
195
174
196
202
154
213
188
212
270
270
216
199
252
212
299
193
161
197
266
281
244
263
221
307
240
151
220
252
242
303
225
200
189
246
134
252
234
220
261
217
247
177
198
211
192
173
295
194
311
213
194
270
223
262
209
250
201
331
271
178
230
234
207
283
154
206
146
247
204
197
157
196
174
226
225
225
265
195
269
210
220
179
199
173
175
250
284
261
216
214
308
235
248
189
241
254
247
279
279
265
217
278
269
194
196
205
259
151
223
227
216
261
261
192
277
297
192
305
220
315
206
253
192
186
276
275
225
220
288
222
163
188
160
254
188
241
210
260
198
164
215
165
217
282
108
316
247
234
319
168
210
202
175
276
181
320
200
221
214
174
237
147
225
241
232
219
194
198
222
222
253
227
221
216
263
229
171
196
202
181
203
224
227
264
297
186
149
219
249
198
146
217
224
198
181
202
281
228
266
219
280
221
196
194
233
239
240
243
283
274
209
154
267
214
207
221
214
185
273
202
213
176
261
139
208
145
206
243
139
201
186
241
245
192
285
175
218
246
168
273
262
171
240
269
226
247
114
266
116
220
187
242
176
334
227
243
268
277
182
252
299
216
236
240
139
230
221
273
294
297
226
297
205
211
216
231
189
197
226
238
292
178
216
160
275
244
271
222
182
188
286
217
156
248
257
211
171
219
221
160
209
192
215
181
195
233
204
228
232
211
181
214
226
214
259
278
215
195
114
192
266
244
166
286
296
213
218
200
175
185
170
213
181
215
203
177
216
213
244
255
242
219
231
277
214
178
265
197
223
213
196
181
308
193
279
173
178
268
327
164
190
178
224
311
198
163
254
217
243
302
248
275
293
234
315
108
175
193
203
196
183
212
134
319
244
186
239
194
228
220
289
267
263
175
281
257
259
178
217
178
299
230
255
196
254
292
189
184
198
252
207
244
237
222
291
272
190
248
270
251
245
246
221
209
233
268
169
171
170
244
185
228
176
191
114
257
159
149
318
175
233
219
186
221
190
224
185
212
244
218
232
239
249
184
198
258
234
245
219
247
341
196
212
181
245
270
249
296
231
209
179
239
207
236
194
195
265
232
232
218
210
245
184
225
209
226
197
181
178
227
219
282
247
260
209
233
208
217
258
191
224
228
195
207
205
230
256
219
254
268
182
220
247
262
186
247
274
268
234
270
265
309
261
209
232
246
277
181
268
243
178
228
243
213
272
201
226
225
215
210
192
243
230
218
159
199
211
212
231
273
212
195
181
180
234
217
196
191
189
231
242
256
248
214
265
171
224
214
217
189
242
273
253
247
196
214
219
192
200
198
275
202
227
280
129
247
171
214
196
226
221
252
207
160
186
199
209
265
219
296
249
230
203
175
160
331
186
255
173
310
169
256
251
219
256
219
318
215
258
260
147
169
223
299
158
207
154
256
276
196
162
198
211
180
197
249
187
197
224
172
191
239
178
270
231
212
226
229
249
242
278
212
228
216
222
208
126
271
203
306
247
178
235
326
209
139
279
232
221
217
267
234
169
269
258
164
257
250
243
237
216
251
236
213
267
175
232
252
221
247
205
330
288
313
317
198
234
247
198
201
208
300
293
152
264
230
261
214
258
163
220
213
220
200
192
225
248
195
238
285
289
197
230
281
202
162
149
151
235
229
195
239
114
205
288
171
213
188
184
242
240
231
211
202
203
270
215
187
251
238
322
219
246
214
237
257
255
211
232
273
213
227
186
286
181
248
266
258
279
303
211
175
200
161
209
247
199
276
280
255
231
230
215
188
187
218
208
256
260
248
190
206
205
230
163
256
289
223
170
173
260
232
264
240
156
234
197
207
204
235
160
230
241
227
211
185
161
271
191
218
176
188
221
273
199
254
260
191
270
294
227
271
174
196
299
227
294
219
139
323
292
223
244
243
259
190
253
294
212
251
223
181
242
233
174
294
258
226
210
282
233
250
192
210
233
163
282
169
178
232
280
211
211
247
154
204
122
244
237
227
211
245
230
214
183
164
194
205
226
170
244
260
197
200
296
286
212
280
152
175
207
258
248
231
172
185
236
170
178
212
213
253
193
203
232
242
193
157
217
239
243
273
229
293
239
200
268
221
274
141
144
200
239
215
180
222
209
222
202
243
274
270
155
167
329
186
318
210
197
188
220
241
199
247
209
270
264
194
207
273
298
342
191
181
275
167
215
208
182
254
245
206
220
171
217
196
223
239
219
178
307
312
259
222
255
145
229
187
169
217
225
116
116
278
196
197
264
121
220
196
212
198
186
180
292
224
195
213
214
183
190
194
215
203
204
285
241
218
261
254
281
180
185
320
289
211
208
189
295
173
130
211
260
178
264
239
189
261
205
298
195
208
212
227
292
297
169
250
261
205
260
244
195
243
284
201
212
195
252
266
243
218
274
211
193
188
173
213
204
221
250
234
279
258
215
258
245
190
216
206
293
267
221
255
193
106
215
243
278
200
165
291
333
313
242
254
207
229
286
188
234
230
233
175
218
259
271
156
216
301
305
204
310
169
139
208
267
178
151
152
230
287
114
263
210
229
203
224
240
257
267
202
175
193
289
303
174
159
220
170
186
269
238
229
200
230
222
214
161
198
216
185
182
190
156
221
220
241
187
348
243
221
244
252
222
234
186
203
262
243
222
304
106
276
195
212
287
226
201
189
129
213
299
233
190
205
215
288
261
198
228
173
222
183
232
274
240
227
294
248
234
239
192
214
195
308
263
271
292
221
185
251
167
242
198
150
263
204
275
223
182
273
207
206
309
258
277
302
239
196
190
178
255
299
280
195
267
208
263
170
270
205
218
230
278
245
318
229
194
181
220
200
204
210
185
192
173
207
214
237
359
180
241
242
229
164
246
191
196
157
216
261
221
316
238
217
345
280
283
288
170
216
234
239
184
235
249
161
271
277
203
309
178
311
160
300
202
217
246
201
204
180
218
244
296
247
200
159
330
209
306
252
265
208
207
214
187
203
170
218
181
198
219
159
160
232
292
226
181
173
233
185
232
275
238
182
255
255
229
305
216
230
250
230
210
237
311
243
232
215
243
180
208
256
194
227
181
234
277
230
144
217
220
241
193
235
237
223
227
218
263
184
203
259
166
217
204
298
221
233
256
286
218
245
279
204
144
249
114
271
184
220
237
190
195
333
225
229
212
294
220
196
249
235
238
247
258
222
291
260
227
248
203
203
297
250
206
235
181
229
231
237
212
161
181
278
191
195
231
279
283
186
160
198
206
243
229
205
189
194
256
307
158
244
187
210
249
212
267
188
190
208
277
286
312
186
210
255
176
265
203
223
243
192
170
185
196
213
151
171
206
252
192
166
219
260
233
316
229
191
206
301
145
202
191
205
218
198
186
236
288
188
229
180
242
281
273
169
287
237
181
221
193
253
223
232
238
212
207
205
235
244
179
243
234
217
182
217
290
222
165
198
175
238
209
225
296
324
211
237
205
312
144
173
235
253
212
255
212
223
195
170
220
206
186
243
221
280
196
189
244
215
322
165
352
236
257
176
144
279
225
200
236
219
196
296
175
207
207
217
190
249
226
225
178
258
239
331
157
257
114
185
223
234
227
175
277
177
168
215
250
196
216
172
202
200
306
250
231
199
203
173
341
208
185
197
266
207
302
201
197
271
189
194
211
220
267
226
243
227
251
202
239
221
259
246
173
237
158
208
207
309
186
264
256
258
234
317
208
237
240
264
286
249
213
195
284
216
197
192
199
168
283
340
227
206
235
213
195
250
241
221
209
174
289
214
266
250
320
256
299
288
220
185
259
208
225
233
239
260
229
260
272
160
216
202
195
227
196
144
161
250
196
233
272
220
250
309
308
207
246
251
181
253
259
260
167
183
336
252
156
215
183
278
228
243
181
176
158
313
278
128
288
148
206
205
207
197
264
273
234
234
225
208
224
185
191
195
321
245
261
192
200
234
221
216
186
245
234
221
233
216
231
219
138
240
181
242
238
193
223
260
280
231
334
207
322
203
200
174
213
317
224
194
259
247
152
191
205
227
317
246
199
307
242
206
218
177
228
283
251
271
245
309
286
196
226
255
170
295
228
196
250
284
208
190
211
170
197
182
275
246
247
229
199
220
170
238
155
241
247
220
235
215
227
230
192
254
146
206
229
191
202
196
283
165
264
225
158
268
163
308
222
216
262
227
193
238
233
230
196
283
126
172
173
277
246
172
170
223
267
203
194
234
287
223
181
160
221
215
243
216
337
228
210
181
221
185
227
235
185
312
195
219
304
234
171
260
188
218
310
197
209
247
259
235
158
216
156
209
280
227
183
239
147
210
188
240
318
199
255
186
291
147
230
313
230
221
263
208
240
226
244
233
209
264
280
214
282
169
259
160
241
278
250
281
266
185
196
283
212
223
245
233
214
266
225
198
209
223
220
306
169
191
192
245
235
208
208
187
176
244
179
219
191
195
198
226
198
228
213
295
243
233
207
240
246
192
236
218
205
197
296
296
214
184
273
216
175
199
261
176
266
235
256
244
169
205
227
257
275
209
186
276
232
227
233
295
214
260
212
160
291
223
192
234
234
184
166
290
208
279
268
320
243
267
290
218
226
299
220
299
221
198
208
241
226
168
217
190
160
211
263
192
145
268
216
246
181
248
204
295
200
170
301
114
255
183
167
220
341
206
251
199
225
282
277
213
175
219
209
271
304
291
247
205
217
225
304
192
202
237
325
236
234
158
247
263
185
243
213
229
189
268
317
237
234
257
242
313
260
296
260
280
180
172
246
242
210
210
302
200
246
287
314
238
186
233
168
189
246
243
174
234
276
205
234
231
263
180
280
254
340
272
259
197
159
259
263
221
274
233
239
272
144
164
160
181
234
330
254
282
234
207
230
279
234
253
304
192
259
271
306
274
204
254
249
202
265
170
307
216
293
189
224
203
207
114
257
156
211
223
198
173
198
242
243
298
154
326
258
213
215
211
165
168
210
257
225
216
238
230
246
164
238
208
208
248
176
218
277
301
209
297
290
250
203
320
154
295
172
244
274
148
230
236
272
235
213
178
239
178
198
198
202
240
168
231
220
217
249
202
170
144
226
204
266
216
147
158
239
296
251
265
234
218
174
260
114
238
239
201
234
258
210
307
178
325
215
214
301
263
204
196
225
207
205
279
185
238
114
168
166
237
223
177
162
188
267
248
250
221
259
225
232
139
176
229
171
275
287
276
175
161
270
274
251
300
192
286
158
207
197
219
209
259
160
258
233
212
301
245
184
208
195
325
116
299
323
237
221
221
215
332
253
277
280
261
247
221
177
199
251
189
296
327
225
172
168
237
201
212
225
322
255
245
179
192
208
219
193
236
220
255
156
242
221
223
232
237
146
138
160
181
277
287
203
282
213
247
152
169
191
198
222
275
200
220
200
161
191
198
193
196
258
246
182
181
229
172
202
207
271
222
244
195
139
351
262
221
235
160
223
192
219
249
237
271
184
250
268
196
235
228
256
262
201
166
220
217
162
268
266
278
255
252
179
212
152
194
215
114
177
194
192
198
176
185
237
185
151
236
187
184
158
263
158
138
230
207
256
219
225
213
301
215
288
215
212
145
263
187
270
303
206
247
286
199
297
126
244
271
234
156
188
253
231
234
257
228
244
287
174
156
240
271
303
185
266
227
276
172
214
242
202
196
260
278
235
262
170
215
182
221
338
225
191
291
156
206
235
235
226
276
258
292
213
221
250
203
217
250
329
209
191
228
240
249
216
202
232
205
108
227
240
193
239
183
151
229
214
224
231
248
236
258
303
192
231
185
190
217
246
213
246
114
288
114
199
231
145
278
222
175
180
333
202
249
212
289
269
238
219
219
263
249
186
187
154
212
170
175
114
258
195
235
195
178
199
212
306
211
237
168
146
274
221
220
174
259
225
178
176
130
236
262
171
204
139
250
198
351
240
278
209
193
238
198
257
201
242
247
192
166
250
277
177
195
259
195
261
308
275
121
237
265
280
220
242
233
122
251
267
288
318
256
216
232
230
170
283
152
281
200
228
201
277
270
175
252
214
233
195
197
214
198
192
173
161
281
195
207
281
162
241
331
305
224
231
203
204
238
178
284
168
241
168
342
204
227
184
207
197
237
206
180
261
216
157
151
183
225
175
255
210
238
213
177
235
220
221
219
206
262
222
151
239
243
218
251
276
235
197
223
208
327
163
273
255
310
232
183
269
223
231
234
212
241
251
234
244
261
201
189
217
277
170
214
221
271
183
231
199
157
197
226
227
265
145
201
284
253
160
244
236
225
223
195
262
213
206
193
223
198
269
114
174
250
239
175
250
216
249
194
216
323
207
192
197
182
218
126
211
249
309
300
224
231
175
291
161
160
258
187
287
265
242
195
276
226
154
217
194
329
265
206
274
328
209
203
251
180
266
233
259
261
249
170
247
267
211
250
211
230
193
199
189
201
145
195
287
260
151
175
229
236
276
201
170
243
182
191
366
190
265
249
225
108
282
147
144
195
201
276
263
222
173
256
114
193
203
155
299
259
250
194
114
280
168
160
152
253
240
235
242
234
256
206
262
181
198
252
232
245
259
246
309
243
248
211
230
217
248
222
203
284
219
172
235
179
193
207
177
144
229
198
208
265
211
114
161
171
244
139
216
232
238
248
212
208
245
211
279
234
182
164
242
156
257
271
196
220
285
247
156
272
165
227
219
164
147
234
225
196
261
245
193
211
265
210
229
114
235
285
280
240
200
180
226
305
234
224
302
224
216
234
175
217
179
244
255
224
246
280
210
179
260
303
114
234
230
236
195
246
195
180
251
239
295
262
160
157
174
248
221
265
232
232
157
174
251
211
211
231
262
179
146
250
220
239
271
218
207
217
147
211
235
267
156
306
161
253
174
198
219
278
156
223
295
230
202
197
256
198
231
262
230
199
257
192
226
215
226
253
106
243
203
268
186
239
212
279
172
218
258
178
180
290
246
168
194
173
265
179
242
211
177
134
217
210
239
215
237
219
247
260
340
270
294
250
194
213
291
236
241
267
262
173
247
215
198
258
306
160
198
185
171
170
224
238
221
220
243
193
236
145
197
114
249
214
126
253
216
195
206
192
259
275
295
225
247
293
114
238
229
172
259
241
284
275
217
195
266
220
236
240
246
198
253
242
228
222
154
252
247
181
163
258
308
194
245
313
264
195
241
259
205
206
276
232
280
164
218
207
274
313
260
279
228
265
367
214
302
170
175
263
222
168
254
237
207
262
189
114
207
272
235
194
241
178
199
193
196
161
238
286
227
277
158
233
218
261
129
184
329
257
277
260
270
202
243
271
257
168
161
174
306
205
267
225
249
199
192
241
207
198
195
211
223
264
160
201
160
173
278
250
299
275
192
198
256
128
211
269
212
222
281
192
200
197
231
279
267
161
108
244
210
193
181
160
217
148
275
226
189
241
316
194
178
247
252
206
192
106
192
235
164
290
214
275
232
179
280
229
180
204
200
188
226
287
216
130
212
238
195
233
220
305
114
283
164
186
251
264
222
267
231
181
114
192
240
211
250
200
167
208
176
347
209
251
255
199
159
170
258
188
249
273
233
353
325
218
215
130
180
301
277
169
247
257
269
198
179
231
209
243
162
254
193
169
226
322
234
193
251
238
145
238
162
319
250
198
197
203
208
318
243
220
199
245
235
266
256
252
218
258
215
314
283
293
293
198
205
242
128
279
221
230
252
272
207
190
152
183
203
211
221
162
273
227
247
225
309
167
213
331
271
182
273
234
242
287
231
194
185
220
318
265
214
205
232
179
196
175
271
240
219
181
207
290
248
222
302
185
253
215
225
114
178
251
176
254
164
245
214
190
211
208
228
231
330
181
264
266
254
276
233
158
208
264
234
286
200
296
291
164
145
251
114
213
168
154
266
170
227
195
139
190
186
188
201
239
257
245
240
238
253
193
294
203
248
228
199
233
190
311
229
189
244
174
269
204
281
160
271
255
218
175
210
209
114
149
173
216
233
198
236
178
319
281
164
242
189
283
306
167
234
181
222
283
282
286
289
174
215
247
225
175
216
215
286
231
204
202
214
175
252
267
299
241
277
189
281
272
266
212
235
236
188
265
245
272
162
198
192
149
235
232
202
224
231
234
244
220
192
277
219
171
255
179
299
192
151
199
206
221
277
250
283
327
114
192
209
325
194
220
287
228
267
274
178
271
185
250
175
219
212
186
222
219
183
240
192
236
242
223
217
198
242
255
164
244
226
264
286
215
243
213
169
284
144
366
254
244
214
260
204
195
114
213
236
243
292
222
269
177
243
251
208
243
206
172
318
273
280
205
219
192
207
194
193
304
257
204
181
165
286
307
252
230
222
214
266
228
232
181
200
223
179
237
274
184
239
171
184
304
247
255
238
332
270
160
254
218
265
227
192
213
200
189
239
196
215
266
228
198
184
234
188
294
243
270
248
205
278
264
188
311
227
197
224
269
323
232
189
219
237
166
214
247
146
214
209
215
205
200
250
139
194
145
217
256
266
310
257
178
202
224
303
205
258
178
210
219
299
174
299
183
222
198
212
189
194
184
126
285
227
248
260
240
224
149
201
208
169
304
302
238
241
157
282
197
243
201
241
208
243
223
237
282
277
229
193
222
199
213
215
215
272
160
264
201
229
309
184
182
262
198
250
185
234
253
234
206
198
261
192
206
218
184
256
235
196
183
230
309
223
185
308
160
235
264
303
246
199
229
253
204
114
232
281
213
194
179
213
242
211
299
126
196
241
270
226
245
311
206
238
258
218
170
232
199
211
190
236
225
174
285
238
231
189
257
211
201
261
191
214
350
262
237
193
291
156
232
207
207
154
223
236
271
224
242
279
160
235
258
239
189
258
241
160
199
184
289
240
285
211
181
262
106
144
214
197
240
222
176
245
183
231
194
255
306
322
289
218
213
261
178
213
178
217
241
192
254
257
184
172
175
227
164
181
275
196
193
233
195
267
192
240
178
271
282
300
305
192
201
151
189
186
192
173
277
176
217
309
235
224
220
282
229
207
287
206
243
199
227
282
182
297
170
203
205
210
199
209
209
174
219
247
219
184
238
204
277
224
256
207
298
248
162
216
204
162
228
269
256
206
231
304
264
245
213
214
177
219
213
210
210
160
193
202
279
235
193
218
261
232
248
180
156
152
270
207
176
198
227
255
217
215
236
211
215
175
267
229
220
223
219
168
172
277
174
219
244
212
275
256
216
193
295
259
126
288
235
238
264
245
210
226
243
206
274
247
222
194
230
242
269
181
194
172
231
174
299
213
247
227
212
257
322
210
225
277
177
170
261
195
206
244
196
195
284
275
210
175
229
281
148
279
169
238
249
177
243
154
185
203
262
283
226
273
263
213
191
216
238
221
139
251
169
269
270
264
195
193
218
256
223
257
219
327
233
256
165
262
177
181
237
220
188
222
210
191
265
284
233
246
229
193
180
245
272
225
217
240
175
183
209
162
228
323
157
223
244
212
290
176
315
181
237
210
264
199
166
281
242
203
243
162
191
323
222
156
220
245
203
209
258
264
192
281
185
329
184
270
201
215
283
176
201
190
248
274
222
273
219
200
203
265
297
230
227
114
238
322
280
265
193
217
348
226
259
161
202
171
242
286
229
309
243
267
248
234
178
238
195
236
176
318
207
310
184
240
307
254
203
133
275
216
191
271
270
236
207
202
192
171
253
269
313
242
207
245
261
140
330
210
219
201
260
233
173
172
287
299
202
345
186
215
226
210
213
270
233
249
274
255
288
169
194
196
213
248
182
176
208
268
222
151
246
303
310
206
271
160
204
207
234
287
272
237
260
293
174
256
252
287
236
197
247
280
195
228
204
287
200
260
308
225
249
214
257
126
316
250
281
244
162
241
173
267
196
281
246
212
170
182
169
210
250
180
207
270
234
293
153
265
210
234
160
179
262
244
251
213
280
233
151
237
180
266
200
250
207
248
243
156
287
282
243
221
200
218
212
211
275
170
325
301
173
245
200
160
249
227
292
235
186
254
307
195
239
279
245
114
158
227
180
196
217
244
241
200
261
310
189
204
200
253
233
235
247
114
226
256
173
114
156
189
145
279
206
221
189
268
181
208
265
277
258
236
277
114
247
114
239
295
210
158
227
199
237
193
175
242
273
157
262
314
144
240
206
249
253
191
274
215
181
205
284
182
250
274
205
249
265
182
160
220
193
266
221
276
255
152
235
231
245
310
212
255
201
256
190
215
229
217
245
236
236
271
160
264
179
234
243
224
228
256
253
248
212
243
206
307
265
162
189
257
225
264
240
231
349
336
195
237
188
217
295
182
251
231
196
208
230
225
202
114
284
213
213
306
319
210
241
166
151
199
241
198
286
277
187
200
277
277
199
224
236
191
170
233
231
312
215
220
192
252
198
207
299
257
183
290
276
192
214
231
212
263
309
243
306
237
205
145
187
164
290
208
227
267
299
276
254
160
252
260
257
313
231
126
209
245
209
194
121
209
305
219
248
273
244
184
193
215
191
167
282
179
253
242
199
222
171
283
303
288
230
208
258
227
139
234
250
238
329
269
259
207
187
267
156
254
228
280
202
198
206
252
207
168
216
175
226
285
310
248
216
185
200
268
244
198
254
181
257
263
230
252
160
152
252
164
215
202
252
231
204
298
182
195
208
232
227
275
267
185
185
213
235
215
220
160
199
171
213
181
230
267
201
161
213
180
218
265
228
227
251
265
277
275
349
202
238
247
258
263
263
209
214
317
247
204
242
247
226
269
164
347
265
234
203
254
187
268
232
160
232
175
219
298
229
218
298
232
151
192
116
181
212
247
152
229
351
256
263
217
210
194
249
203
263
221
206
294
233
263
210
274
152
196
170
193
265
300
193
268
269
232
184
217
170
219
242
241
254
238
313
212
211
275
194
195
208
237
212
232
172
172
223
255
245
215
260
274
175
288
231
264
244
227
306
301
234
240
224
243
211
225
279
217
198
231
264
269
252
204
146
198
173
170
184
214
209
281
170
263
209
165
176
201
319
158
214
263
270
219
195
170
178
279
158
139
294
198
227
156
149
251
252
160
234
272
221
251
234
222
238
243
256
335
222
261
205
231
279
236
187
160
261
191
141
317
211
240
189
196
259
228
247
178
250
279
310
262
114
149
243
195
108
243
269
318
240
322
161
276
200
266
224
234
244
219
198
247
192
268
181
170
235
169
212
249
225
250
335
238
319
193
272
270
307
184
152
156
255
275
204
235
239
213
198
235
278
220
219
209
222
230
219
273
233
164
266
258
249
206
229
202
195
228
269
151
211
154
290
274
248
198
248
272
189
227
234
252
319
209
176
245
217
274
190
225
185
289
225
341
192
218
252
240
217
208
220
185
238
206
214
240
240
277
176
214
227
190
195
274
291
192
242
209
275
186
207
225
169
152
250
183
282
249
195
225
165
167
241
224
237
232
154
174
174
209
201
235
183
260
235
273
239
194
198
169
269
223
167
245
214
239
220
257
199
223
221
226
255
295
220
252
185
232
269
275
290
196
108
232
254
290
261
170
253
226
205
219
247
248
285
172
218
188
278
340
232
219
242
248
254
239
214
324
273
285
151
228
202
238
245
235
188
261
180
195
180
249
247
250
209
152
283
245
279
252
268
273
174
217
215
233
273
224
248
182
254
237
225
243
286
158
184
216
221
192
264
154
195
145
310
252
313
174
246
194
221
291
186
202
239
251
232
231
153
201
255
197
225
223
189
240
182
180
239
208
206
215
214
208
281
174
224
183
254
146
216
243
247
286
212
283
215
223
196
212
312
198
237
199
249
255
183
174
198
311
227
230
241
200
251
165
239
263
302
258
266
231
244
249
197
245
228
236
321
114
180
202
210
203
233
220
229
281
215
231
293
180
223
191
263
170
235
206
160
211
281
275
290
205
114
190
243
276
255
221
249
252
221
300
185
230
194
133
213
205
235
184
229
227
226
180
226
158
199
296
256
211
223
230
260
234
232
169
203
284
181
256
243
227
207
208
262
286
217
257
238
182
213
183
202
262
236
176
291
229
227
215
319
227
199
170
267
194
247
276
213
270
191
252
179
203
244
212
176
214
215
220
275
254
189
290
269
194
198
282
153
238
241
244
298
209
207
216
206
179
270
220
213
235
270
193
247
196
214
279
239
232
159
221
166
225
211
274
208
157
201
183
253
220
238
239
275
200
223
114
246
214
221
222
188
221
152
207
224
215
229
114
229
220
233
145
187
213
319
263
229
245
168
231
284
278
216
233
282
271
216
193
254
231
295
208
243
180
301
241
288
232
221
200
295
233
249
198
261
324
182
238
189
266
213
318
252
243
347
198
205
244
282
176
192
219
144
188
265
214
260
239
227
239
251
187
240
207
204
197
208
249
298
157
274
287
227
294
285
232
229
198
184
170
194
249
282
180
291
208
214
232
213
151
212
218
216
207
231
239
289
196
236
242
237
215
207
252
223
223
114
244
217
261
174
250
203
247
222
198
193
283
336
238
151
184
274
257
265
215
210
247
200
218
229
215
176
261
181
225
274
300
186
171
226
229
210
203
298
178
226
159
231
203
270
168
232
184
267
275
198
223
214
220
185
172
203
266
210
258
234
262
233
176
206
173
306
258
178
226
229
233
206
181
246
198
234
178
186
160
260
198
244
243
209
293
245
206
202
114
220
149
182
166
238
225
160
235
237
178
224
198
293
337
190
274
241
204
216
157
171
234
304
323
237
151
217
191
289
145
223
260
284
160
178
181
249
213
215
199
152
217
165
212
211
162
244
181
308
227
213
236
247
214
285
158
232
257
243
160
260
238
224
244
170
252
256
144
149
223
242
238
233
222
300
217
210
175
322
183
240
235
228
245
239
114
151
253
186
225
243
240
196
208
267
229
162
152
240
229
242
180
215
232
206
253
247
227
302
267
252
218
233
317
243
201
144
283
145
244
236
311
296
314
214
169
181
200
152
207
248
192
184
268
192
216
232
219
272
203
233
246
216
236
230
242
218
199
217
195
263
194
251
162
267
233
212
194
202
141
151
312
229
188
139
242
198
300
242
189
219
285
267
158
220
250
196
246
198
233
210
204
237
181
254
186
260
177
270
221
215
223
265
194
116
174
193
262
260
193
206
229
193
181
216
186
224
229
326
231
192
151
239
197
225
183
221
231
219
309
234
241
210
140
290
302
243
238
179
194
288
337
213
258
139
181
230
359
265
192
181
222
192
185
240
209
216
315
243
214
231
225
241
256
222
238
222
271
243
166
287
323
233
231
278
162
178
266
228
168
144
213
154
275
227
226
279
206
221
191
170
193
175
315
265
216
210
199
145
209
252
159
248
324
276
249
233
193
133
193
257
226
182
213
267
182
162
279
170
161
279
196
252
233
213
251
238
256
148
233
200
295
255
198
287
253
306
235
199
220
234
257
255
221
205
216
249
272
203
241
271
230
165
280
212
252
251
180
276
156
284
241
195
209
225
192
209
239
179
228
347
302
233
223
244
231
189
258
178
172
239
178
295
189
261
262
207
114
238
243
209
139
242
244
265
179
234
249
214
179
126
185
254
203
172
181
243
195
261
271
181
257
308
214
227
106
180
207
150
228
198
199
241
253
237
238
152
222
208
229
304
247
257
207
243
240
168
226
196
197
234
188
216
252
199
257
250
207
253
235
199
246
200
220
187
214
272
311
311
196
171
254
246
175
225
265
183
252
198
206
290
253
212
231
256
177
233
257
194
262
268
157
243
160
255
203
201
268
130
160
219
129
164
297
189
214
254
266
180
261
236
217
248
263
195
152
247
176
254
201
262
229
281
258
206
151
219
164
145
213
240
215
287
299
218
221
208
170
274
288
188
211
190
219
243
187
268
203
170
213
216
229
231
207
209
225
287
219
192
185
322
167
205
274
254
237
189
186
114
202
234
229
231
222
183
260
159
235
166
244
201
202
220
183
186
269
229
145
205
221
195
156
231
248
225
220
174
263
282
241
204
304
262
196
161
190
207
190
218
240
145
219
256
198
278
224
250
224
236
202
253
275
197
211
265
246
244
272
223
192
248
335
225
248
232
166
184
176
277
260
182
262
247
225
210
225
203
187
222
247
234
283
250
264
232
222
245
249
239
290
170
201
281
209
320
133
213
237
252
235
174
260
188
238
162
195
178
238
212
214
277
146
229
271
234
224
232
304
233
235
181
235
211
311
192
242
303
318
253
231
311
231
195
200
188
242
335
275
234
146
317
245
223
171
216
262
219
263
164
201
190
250
181
157
218
165
161
170
173
260
273
261
231
223
244
219
248
252
185
183
206
163
208
231
209
256
216
218
273
200
248
336
226
201
184
240
151
288
193
284
247
250
179
209
247
259
215
214
152
174
205
238
204
244
289
266
219
266
211
223
219
262
160
260
209
174
216
230
294
172
227
231
205
163
221
162
188
176
206
248
203
211
179
181
208
206
278
255
319
226
242
229
224
242
283
219
214
179
191
241
283
221
186
129
217
369
175
289
238
242
274
189
335
200
184
199
231
199
215
114
238
197
259
196
235
187
259
240
262
261
204
239
255
232
221
255
264
179
242
256
204
221
225
252
219
217
196
250
151
239
192
293
172
270
253
175
228
235
283
180
227
236
254
218
207
234
305
252
183
195
213
230
202
177
199
158
232
179
263
283
271
201
277
211
242
229
139
211
252
241
253
208
211
126
219
236
244
208
246
240
203
250
199
286
181
210
188
230
232
231
216
237
216
288
229
277
212
238
237
215
240
193
114
225
223
251
311
222
283
258
256
253
189
312
255
295
274
235
231
302
225
250
289
196
290
281
280
288
275
258
242
263
205
250
240
196
238
237
207
252
246
174
179
217
178
242
211
290
226
160
210
228
241
300
145
262
361
281
260
173
139
242
182
207
258
183
250
262
243
224
226
279
245
198
296
251
152
222
151
216
154
208
243
250
236
308
272
270
203
285
144
307
211
231
281
201
205
149
317
126
250
219
182
289
181
253
186
272
129
201
272
154
205
268
237
203
147
242
270
241
201
154
142
282
222
179
253
245
286
261
325
201
169
186
175
232
226
243
195
161
268
234
297
204
192
245
253
237
181
144
225
216
193
219
195
261
271
151
184
263
253
253
160
216
163
259
229
278
222
186
217
331
149
315
114
188
200
194
220
277
216
239
253
162
234
201
219
258
223
327
237
163
184
216
235
193
174
279
325
161
206
156
226
291
280
243
300
217
274
220
261
286
205
249
290
191
180
232
258
293
271
251
157
237
277
211
253
191
192
188
236
242
147
126
223
213
191
210
233
227
199
202
238
203
215
304
229
333
234
206
258
223
268
229
181
265
145
220
276
324
288
220
252
216
256
212
213
242
206
187
197
198
192
238
251
194
116
197
246
280
260
172
184
328
252
189
178
331
242
213
181
281
242
139
277
181
190
222
244
243
181
193
258
207
180
334
184
198
219
263
299
270
254
213
343
239
229
225
266
167
250
234
229
166
160
291
296
229
145
206
236
253
170
187
275
219
208
205
280
198
238
243
278
246
259
202
262
179
197
254
214
304
217
289
213
243
269
215
186
218
258
290
198
195
169
221
247
207
280
225
275
153
261
247
221
234
206
226
273
250
278
291
178
189
225
213
162
197
252
225
199
203
334
284
309
114
241
242
269
270
210
283
270
130
302
284
309
226
251
263
146
158
219
214
221
176
262
256
173
260
230
246
160
241
280
172
205
226
205
234
256
170
282
331
239
167
197
239
231
239
188
148
209
275
177
258
197
235
194
332
194
152
204
173
256
161
231
170
278
166
198
283
158
276
239
219
214
193
262
193
284
228
203
208
222
316
243
346
202
205
212
244
165
223
126
129
239
181
223
191
236
258
265
243
304
218
260
241
294
229
217
289
231
272
243
212
225
194
231
128
271
208
358
267
202
195
206
214
318
264
236
158
254
275
219
266
240
188
194
263
186
198
185
179
254
180
186
252
290
252
351
154
244
278
193
164
156
272
216
184
222
189
154
306
139
197
186
188
228
209
250
274
195
223
204
265
200
285
304
250
269
207
269
198
237
237
193
226
295
193
205
300
283
222
237
198
186
195
232
184
223
270
201
233
209
240
224
209
201
206
239
173
209
170
248
284
179
280
181
225
220
217
192
265
282
271
233
213
302
222
191
180
260
251
212
235
160
219
222
166
246
243
247
208
143
204
254
268
222
174
272
209
192
292
251
194
221
166
275
214
178
197
213
114
210
244
232
195
252
213
116
232
277
248
206
224
286
190
250
215
277
145
262
191
180
245
231
212
206
276
249
227
114
196
228
268
206
207
250
260
139
244
155
139
152
226
210
164
252
275
240
267
185
226
179
271
222
174
220
247
219
219
176
218
262
222
207
223
236
218
231
231
189
209
190
348
154
305
267
186
196
268
247
214
218
295
114
240
208
204
173
205
298
269
181
185
185
284
232
126
190
281
275
236
233
291
275
252
199
194
238
178
239
238
283
214
222
180
251
231
320
229
278
219
288
258
201
184
230
254
293
222
267
274
181
260
217
175
225
280
206
195
174
186
218
177
240
178
306
209
291
218
344
297
233
254
195
205
277
226
106
265
207
204
198
185
169
198
266
177
180
235
243
209
282
243
244
173
181
263
209
175
352
336
200
274
253
170
299
229
285
114
269
229
196
200
211
223
330
188
241
227
191
257
217
242
220
114
108
226
214
217
225
235
166
273
271
166
257
190
249
229
218
173
208
114
286
284
258
114
217
195
296
204
202
259
350
225
156
220
215
270
154
262
233
166
219
297
235
180
233
234
133
114
201
169
263
219
147
210
223
171
256
219
263
347
161
235
192
169
299
241
245
178
225
174
174
283
194
226
300
251
213
202
200
223
191
203
227
254
265
159
337
341
199
189
198
264
174
189
180
277
156
233
229
193
277
197
175
254
257
240
239
309
172
262
144
305
177
328
264
238
261
231
240
152
267
163
227
285
263
254
248
148
146
175
247
241
237
264
314
206
114
178
233
240
199
158
210
264
275
192
266
212
146
252
224
163
189
275
326
225
177
264
223
309
195
214
200
233
209
144
236
222
186
192
396
309
216
214
254
232
180
342
184
154
178
283
267
224
227
191
281
233
209
261
214
276
269
225
234
302
231
188
220
218
325
263
270
205
314
193
245
255
233
186
205
193
229
212
178
157
223
267
299
181
192
265
227
205
244
274
282
193
195
204
247
220
177
211
238
310
302
147
211
156
275
228
261
217
169
205
202
229
108
277
200
198
270
246
284
244
266
240
166
190
166
222
235
211
197
189
114
227
247
195
211
275
187
193
220
279
178
289
216
225
202
246
237
217
293
233
218
222
221
207
267
191
220
254
193
114
221
173
345
234
175
215
238
151
250
215
279
197
248
280
204
165
247
208
242
235
241
177
270
252
208
181
253
191
160
154
250
198
307
227
337
154
191
205
195
288
165
236
263
248
139
222
239
265
278
126
261
312
289
198
225
221
272
114
323
286
210
246
224
161
185
192
233
236
196
237
267
228
258
230
246
238
245
254
257
175
196
200
241
263
209
263
224
228
204
247
240
214
114
259
207
289
320
199
239
236
270
281
234
251
152
210
277
259
260
190
181
213
156
201
223
173
271
178
214
225
251
218
183
246
220
151
194
175
238
154
284
191
209
250
192
230
241
279
224
217
363
291
310
180
186
216
228
187
204
253
301
212
182
233
231
223
169
251
207
257
208
282
222
208
253
294
208
271
198
241
195
265
225
246
278
208
274
236
237
270
187
253
156
181
271
245
220
233
191
236
219
192
215
182
192
194
215
265
263
270
177
244
238
233
198
246
114
207
204
198
213
178
328
253
208
238
151
244
178
227
215
258
222
250
171
284
243
192
280
258
174
167
235
129
252
168
167
139
224
244
222
244
225
220
247
316
319
193
233
219
208
235
238
213
200
175
237
266
195
269
157
200
121
243
215
262
211
181
212
195
114
243
222
193
243
219
195
261
182
152
251
226
300
246
190
219
291
306
126
233
160
199
230
276
244
297
240
267
166
174
214
247
170
251
259
240
215
277
187
254
232
211
248
246
182
211
114
220
321
233
276
229
296
221
236
287
169
231
253
235
192
225
260
261
196
250
244
202
178
211
230
178
202
230
232
207
219
267
231
156
200
201
274
182
261
294
210
239
175
298
367
152
215
313
192
208
251
223
211
230
263
156
233
231
178
230
219
216
273
203
198
277
187
268
268
216
253
193
187
251
292
151
230
193
195
158
252
266
206
200
206
169
221
207
285
256
156
311
213
260
249
264
278
114
330
196
277
277
239
290
189
222
168
320
203
148
317
225
235
178
219
208
202
264
268
261
261
195
126
225
173
303
195
197
272
273
218
344
114
245
202
186
254
169
287
258
240
188
283
251
271
298
298
276
230
181
236
147
251
252
217
206
280
228
209
271
254
228
269
121
298
212
202
271
310
223
297
163
144
230
128
249
191
195
205
247
189
200
160
114
297
211
227
257
186
307
200
194
235
174
139
173
218
167
147
184
231
214
223
240
165
223
283
175
156
262
216
195
254
160
193
197
169
176
274
149
241
210
238
227
218
212
179
233
114
182
222
270
114
170
225
230
191
256
248
188
247
290
211
301
114
238
177
235
318
246
238
231
242
248
282
224
315
251
240
158
227
222
227
139
189
190
181
227
252
251
288
200
271
252
208
157
279
183
196
259
255
275
255
220
196
274
176
158
216
244
233
247
245
195
212
245
235
216
238
173
270
260
292
247
114
256
198
223
213
236
317
249
176
207
326
174
163
233
226
244
281
296
290
173
297
257
221
188
247
243
170
276
212
214
267
145
194
310
158
298
285
206
208
163
114
114
188
209
173
195
232
294
246
205
246
236
253
263
172
221
254
236
126
200
301
198
239
266
196
204
293
181
276
254
208
225
175
273
170
232
280
247
281
244
192
227
242
227
194
175
161
269
211
308
191
252
222
243
233
199
236
263
208
283
245
212
231
213
249
197
205
330
272
341
175
108
248
202
269
178
204
191
313
248
237
246
245
216
174
149
175
305
222
224
265
202
300
195
194
199
256
223
272
284
225
169
171
231
290
323
251
250
241
205
235
264
177
248
271
114
192
114
207
225
230
216
177
241
178
257
199
277
175
248
238
233
173
281
238
174
231
309
270
210
259
266
229
251
186
177
235
288
174
249
246
145
244
258
243
264
248
236
174
239
206
295
255
259
151
217
239
236
189
235
215
232
145
278
217
179
192
260
248
178
344
223
207
167
276
286
191
246
265
269
194
167
258
254
191
108
223
212
170
250
232
170
239
219
227
238
210
250
203
233
188
204
291
249
233
215
194
256
145
230
205
264
273
242
240
232
321
275
167
181
193
242
225
241
194
213
297
180
250
227
114
293
242
232
279
285
197
231
235
266
224
114
155
240
287
308
258
167
244
193
251
133
244
199
195
168
315
215
225
208
192
198
211
187
245
191
190
256
222
203
279
215
260
197
210
237
245
151
199
185
158
152
199
218
195
190
270
258
308
257
314
208
257
181
180
226
306
215
166
296
217
252
222
209
232
287
114
214
305
158
195
164
264
196
307
239
277
145
196
208
204
218
238
252
229
222
289
270
294
169
314
220
220
215
230
320
152
178
239
218
249
181
216
260
108
215
217
211
266
206
210
342
276
189
160
300
214
270
173
231
219
187
195
243
275
290
212
274
235
193
250
239
217
239
183
209
195
274
281
218
300
238
278
275
248
225
159
285
236
201
242
263
215
280
191
189
259
170
163
258
249
259
190
213
198
214
198
260
276
168
220
242
191
269
217
252
160
202
173
221
173
233
288
255
244
245
160
291
228
286
346
250
286
262
236
200
300
330
233
188
250
246
255
194
152
200
256
173
248
189
182
193
189
213
196
199
260
189
145
251
251
192
254
314
190
211
232
233
198
161
286
241
195
237
184
195
284
187
164
238
196
257
195
243
190
221
270
145
301
233
249
261
237
304
186
226
281
270
191
259
106
228
253
204
250
114
152
169
209
221
205
235
222
222
221
220
160
201
271
154
176
336
221
188
241
276
209
264
279
204
214
169
223
237
170
198
267
185
195
211
114
229
199
207
190
235
204
203
194
201
186
183
220
201
266
204
371
308
209
207
171
216
296
198
250
254
212
275
288
227
290
158
199
356
299
269
307
179
201
210
247
218
311
218
168
237
272
198
216
299
189
170
251
174
188
277
196
221
261
211
170
208
219
200
238
252
158
228
163
189
264
209
224
236
252
237
152
235
272
256
179
215
154
221
227
212
252
228
236
195
262
226
275
230
219
233
252
287
231
214
206
172
242
268
205
265
159
267
278
232
196
209
220
185
155
304
204
218
325
205
195
227
268
191
282
206
211
192
176
158
248
218
229
196
237
228
232
274
244
237
266
214
270
198
216
242
280
221
152
211
307
314
185
248
222
247
269
233
129
283
177
309
225
233
292
240
217
313
186
184
220
174
144
191
232
298
202
254
240
282
198
268
263
203
224
246
167
211
231
234
282
219
173
186
221
209
207
219
178
265
196
255
126
205
300
284
258
159
190
234
169
164
210
212
219
317
169
270
201
242
205
174
285
241
228
196
265
291
207
178
214
217
263
238
191
234
255
234
247
165
204
287
244
250
162
205
209
174
186
267
217
303
204
140
296
191
181
201
277
265
199
157
208
213
240
205
231
181
204
221
249
258
199
176
225
214
219
224
266
210
186
258
233
139
302
201
203
235
161
199
182
225
170
255
181
209
242
233
206
227
209
338
126
229
273
289
320
209
210
169
242
258
301
293
198
238
227
240
121
223
257
241
176
187
228
202
130
269
233
169
273
246
222
211
206
161
231
200
134
210
281
180
229
244
145
245
227
121
268
241
247
195
203
200
184
257
239
294
160
250
292
201
161
318
285
215
282
108
303
162
277
207
233
168
319
283
239
234
230
209
222
221
270
247
149
233
183
151
210
202
305
249
211
139
278
299
284
192
230
262
242
198
231
226
270
250
139
156
271
174
211
190
211
314
206
252
221
178
192
307
169
235
173
246
170
269
240
302
166
224
327
242
192
108
277
378
257
236
196
170
202
312
202
114
272
188
178
232
160
284
307
238
194
220
257
219
253
292
200
220
197
207
147
242
218
207
189
311
225
194
198
294
216
274
264
221
248
202
206
275
154
191
202
192
226
202
198
260
210
206
192
203
309
207
173
243
230
238
267
262
219
217
249
272
178
256
247
260
195
229
175
318
242
267
228
256
211
152
251
242
313
207
207
222
176
228
188
231
293
178
241
256
215
174
162
165
235
197
159
201
211
148
223
230
239
279
149
151
210
173
253
252
238
196
318
237
278
254
215
188
200
144
277
264
298
200
126
219
245
247
238
207
250
191
198
210
258
258
159
210
164
208
152
263
170
208
211
194
234
242
321
219
233
204
169
222
151
181
214
248
258
308
267
261
223
259
170
192
266
174
208
162
261
294
215
213
278
209
229
262
176
202
207
285
224
231
198
246
203
245
158
162
266
204
200
229
205
284
255
213
285
273
216
223
260
240
229
253
241
145
200
213
173
198
225
174
174
210
255
218
260
222
232
219
269
242
162
198
239
197
184
178
152
254
258
315
249
207
258
239
165
299
252
295
197
266
220
183
336
237
184
273
251
264
244
309
244
191
180
200
211
217
226
261
269
227
237
154
219
209
221
211
260
225
208
229
181
266
229
271
186
238
256
269
190
168
217
233
208
223
174
268
156
229
180
220
195
216
210
286
181
193
256
198
279
308
191
227
230
207
224
241
190
275
251
258
160
247
209
161
199
273
140
251
244
226
210
252
188
211
206
156
234
259
221
264
286
292
254
275
326
251
263
173
296
205
286
242
211
231
114
304
242
165
245
151
304
335
262
114
262
214
262
214
249
185
209
178
284
172
222
221
194
184
291
160
283
253
196
221
180
228
299
218
247
261
320
168
176
197
249
170
302
258
208
201
232
188
184
233
236
174
186
197
219
175
241
192
261
154
235
257
227
248
175
253
161
203
240
121
189
221
174
221
287
185
233
276
241
232
203
260
243
256
203
174
213
212
240
230
234
151
250
216
206
261
231
273
266
186
162
244
183
303
243
163
193
268
181
173
269
184
180
196
207
239
258
208
237
241
152
261
181
202
205
244
151
239
328
217
174
156
201
217
241
137
243
274
281
114
170
231
255
301
273
218
192
270
260
114
220
218
186
231
257
114
260
151
227
222
208
192
215
230
228
166
261
240
205
209
135
190
222
301
229
241
205
211
270
275
256
290
152
242
193
227
241
242
228
167
255
318
194
146
207
198
258
238
236
179
165
268
253
193
182
202
250
230
156
260
312
244
193
170
186
224
130
147
256
189
184
170
270
185
326
286
139
175
262
244
267
209
224
171
379
240
192
250
226
139
238
263
180
244
209
217
324
246
233
198
217
170
192
193
194
198
242
194
265
222
133
289
203
213
203
214
214
349
220
232
218
241
276
264
211
160
201
255
243
237
200
202
294
229
191
167
231
149
251
206
214
214
301
175
200
158
157
192
198
206
240
204
243
231
229
237
275
242
220
319
217
139
239
283
211
318
223
299
190
226
248
230
226
184
219
162
235
196
217
251
267
255
229
269
283
233
173
243
331
108
230
147
193
116
250
184
221
218
222
247
284
189
253
240
200
306
240
233
288
321
205
254
247
279
210
273
208
271
260
205
208
149
270
210
215
277
164
154
247
243
184
230
193
236
283
270
299
145
209
303
219
201
191
218
201
212
271
212
206
168
200
229
270
230
192
254
181
197
192
198
217
203
157
277
257
263
197
258
212
210
200
243
231
217
378
224
203
200
238
259
175
215
181
220
234
226
171
247
239
162
204
206
213
199
237
215
225
220
277
209
193
233
183
226
275
257
232
292
237
198
171
208
349
248
322
254
178
156
165
241
337
291
225
189
258
210
255
149
238
214
285
168
198
241
263
322
156
189
156
223
201
201
284
257
165
248
165
289
251
297
169
245
223
267
171
218
231
221
287
162
278
249
270
264
185
261
212
267
208
355
282
297
232
245
247
310
317
288
221
175
236
212
265
266
278
170
243
133
243
190
309
206
215
212
195
214
195
241
249
219
216
170
154
306
252
243
299
307
224
233
233
258
239
237
167
203
159
211
179
226
175
126
228
232
234
247
316
203
173
257
228
253
236
250
247
287
237
231
228
260
192
200
239
196
272
273
189
239
251
234
180
167
183
217
192
203
230
299
216
211
255
255
256
205
213
152
147
166
315
218
215
231
166
251
178
157
189
261
198
196
152
147
179
242
157
170
248
230
257
166
268
267
195
226
245
185
227
256
281
239
298
206
202
196
290
233
232
210
242
223
182
275
215
213
222
173
250
144
182
182
250
230
246
241
286
204
213
198
207
221
161
273
128
152
241
175
258
283
194
267
203
189
206
283
272
217
266
235
204
202
200
222
256
229
156
171
290
273
169
207
254
284
259
241
215
219
195
261
147
198
145
252
207
284
215
213
240
203
214
230
190
166
171
274
255
170
159
257
195
207
220
188
237
250
202
228
223
222
129
205
192
236
291
272
289
204
235
238
243
309
263
199
199
236
329
203
255
160
168
303
278
266
183
158
205
183
198
185
287
225
232
275
191
268
204
190
225
229
145
232
257
175
174
307
171
267
306
207
211
329
293
254
186
276
192
186
192
157
296
236
168
216
295
235
229
206
245
160
243
194
194
201
224
195
133
173
221
248
259
188
300
183
152
240
174
174
286
194
236
158
231
235
277
266
167
290
245
225
209
299
264
254
215
179
249
238
190
222
327
207
298
259
282
229
215
249
304
155
231
243
287
268
222
264
263
245
248
207
263
147
262
285
234
230
275
287
207
212
161
249
304
260
242
289
206
215
231
216
194
311
156
173
237
217
321
189
251
186
242
203
174
267
260
241
374
231
175
260
220
218
267
238
273
161
252
249
181
181
266
272
285
233
273
178
192
233
244
209
270
145
236
304
301
192
266
166
311
262
221
288
319
261
237
286
154
292
314
189
247
247
238
235
214
181
230
235
179
239
214
197
191
223
227
262
325
229
231
211
218
285
211
170
239
171
229
298
354
209
247
238
195
239
264
250
284
325
241
276
223
126
172
234
299
304
193
239
367
218
279
249
198
197
259
300
288
236
290
189
170
242
240
205
203
198
310
243
162
186
242
173
211
276
198
226
321
283
306
230
311
195
237
169
217
196
183
182
222
191
257
218
218
193
222
233
232
312
266
210
232
297
274
315
242
297
277
246
235
258
222
192
262
279
182
175
157
214
308
205
154
204
205
194
285
133
210
198
218
218
206
270
229
248
201
286
266
220
202
198
169
255
255
294
274
304
269
212
176
202
174
324
211
295
194
305
158
282
139
220
268
158
279
284
168
279
235
190
258
287
225
194
253
258
261
171
184
264
206
158
206
160
188
231
222
152
367
259
178
197
259
275
239
182
180
256
227
193
250
185
195
232
236
255
179
223
262
114
191
281
283
213
322
279
261
214
228
181
114
235
237
258
252
275
228
228
293
240
281
249
206
126
260
176
157
235
217
245
191
241
231
150
187
209
205
261
277
161
176
239
207
211
236
209
199
209
187
176
321
259
263
262
314
212
254
253
139
210
245
288
278
243
218
214
185
214
242
190
199
246
173
235
207
170
250
114
196
286
260
211
237
190
279
267
227
163
126
167
244
224
176
188
181
240
217
254
181
241
149
251
207
228
296
233
194
241
240
207
151
222
198
309
300
209
326
176
273
142
173
240
211
229
158
253
188
258
209
180
114
235
160
181
347
151
305
251
206
202
314
166
168
261
207
220
259
207
249
283
164
318
200
207
250
295
211
170
278
312
210
195
209
180
201
251
202
220
214
221
166
173
258
192
212
220
253
256
199
190
230
231
189
211
288
218
192
212
253
267
208
203
205
216
205
294
224
155
228
194
152
181
297
191
200
215
242
232
242
184
290
315
220
206
194
238
197
197
191
227
288
250
198
240
194
171
161
114
198
259
255
258
187
208
176
307
273
231
253
139
255
197
179
200
185
271
251
256
231
205
208
240
266
228
227
139
245
259
198
308
251
214
196
193
171
225
275
213
139
243
215
211
169
206
285
231
190
296
191
227
191
226
114
236
187
243
283
216
217
222
227
214
275
294
165
274
168
222
144
204
156
129
238
280
297
225
176
261
242
130
220
236
322
191
221
200
211
196
233
270
181
226
171
227
281
219
275
159
174
234
242
152
216
175
170
160
244
260
243
297
154
257
278
178
219
261
205
237
239
262
245
183
300
204
252
173
259
217
174
315
267
232
310
167
199
310
195
193
228
198
218
218
176
187
268
220
271
148
229
174
261
205
160
207
180
164
263
147
168
273
205
192
170
182
149
178
186
197
243
168
265
267
306
247
290
227
216
237
219
198
282
230
193
298
196
270
249
237
186
166
262
236
227
224
225
178
208
235
289
188
357
198
240
213
231
195
190
274
245
233
231
199
183
163
216
151
158
168
182
281
324
197
224
276
243
222
170
194
319
214
192
274
220
140
223
205
227
267
196
204
249
178
306
214
266
283
221
313
245
210
249
225
160
194
283
201
262
187
229
256
188
154
207
247
208
195
265
211
209
241
245
175
264
253
226
199
235
212
216
270
235
246
226
216
227
214
170
233
235
195
216
181
262
216
211
338
129
212
207
222
160
232
114
162
234
235
225
181
203
300
224
179
242
251
256
257
276
224
237
243
283
186
275
173
246
215
228
215
244
214
168
183
288
257
288
208
238
295
264
301
278
254
228
231
168
225
267
160
162
231
168
218
194
219
301
311
275
200
126
213
201
176
148
209
180
282
134
259
231
272
288
217
263
205
217
205
246
114
228
229
190
162
178
158
193
227
198
238
222
273
175
236
274
281
236
161
195
274
198
291
224
239
180
228
282
196
239
224
301
229
173
167
208
206
339
224
226
154
154
219
167
266
168
165
146
263
166
169
218
265
366
203
264
165
229
251
270
213
182
239
231
170
349
220
204
185
254
236
219
205
224
245
197
207
317
186
273
236
200
165
247
116
207
248
182
206
198
250
301
207
166
180
215
200
161
175
154
237
264
222
187
177
236
232
300
193
240
158
254
204
254
196
257
236
236
268
298
262
272
222
254
220
237
238
239
114
244
258
222
126
279
244
193
257
231
286
198
274
261
233
219
236
305
216
180
184
181
245
243
198
232
234
228
274
207
198
238
225
204
275
216
133
260
169
198
307
156
193
248
114
240
227
164
273
178
215
210
311
181
199
213
258
169
261
280
256
243
158
162
176
214
166
158
228
252
218
192
247
285
240
208
216
214
290
218
199
186
293
278
194
250
263
243
166
296
198
266
182
271
254
280
250
229
166
224
114
199
235
232
241
199
251
205
151
279
222
341
245
304
212
235
252
255
217
209
166
224
137
194
205
175
170
279
188
148
190
239
276
310
195
196
264
274
220
187
236
284
246
209
234
149
243
216
217
212
160
182
248
261
232
249
174
217
210
208
228
160
268
245
233
230
327
221
214
195
243
308
269
216
243
218
264
278
173
195
217
242
262
164
305
303
175
300
219
258
190
163
215
220
225
211
151
149
259
282
260
246
227
279
225
247
167
255
176
353
259
199
262
186
263
246
178
248
204
255
139
287
189
258
212
286
178
218
297
280
241
207
282
175
279
202
211
181
227
184
331
216
214
209
163
280
233
193
188
271
279
220
209
213
278
172
245
149
261
179
257
170
276
240
164
182
232
241
211
216
275
229
174
218
250
245
239
170
157
233
233
365
210
218
175
211
160
202
313
235
295
230
196
262
276
203
298
289
182
268
243
187
251
263
174
212
215
192
139
149
163
244
222
161
205
163
224
228
189
204
175
231
276
114
252
174
225
171
277
198
208
177
234
199
176
284
300
275
189
116
272
154
388
156
170
149
247
229
190
211
281
256
260
160
221
260
246
174
243
255
250
305
247
240
200
200
215
206
246
230
233
178
213
220
255
221
226
194
178
231
210
214
244
258
160
247
203
285
240
233
280
253
223
233
197
215
206
211
247
116
165
225
254
238
274
250
360
281
220
184
263
247
265
234
208
221
232
295
210
194
241
207
203
241
282
200
214
204
139
190
169
178
159
207
236
267
233
184
268
190
232
213
276
198
239
234
291
227
192
186
207
216
201
229
220
246
216
260
215
156
232
182
260
188
229
305
195
229
180
234
179
106
181
164
185
223
223
309
262
172
163
197
252
319
280
222
184
246
242
151
196
206
226
192
160
254
135
220
170
170
243
310
284
260
192
189
151
108
204
242
181
206
265
262
240
182
222
291
186
222
239
227
214
171
180
249
237
211
146
229
180
305
149
247
206
218
299
177
184
265
249
303
211
234
214
200
213
229
244
178
208
246
229
192
283
227
203
221
262
170
206
267
211
228
191
189
256
261
200
269
244
264
221
240
229
175
307
207
235
209
208
172
245
224
185
244
276
208
238
178
235
231
182
222
198
229
169
321
234
271
114
181
236
145
183
194
257
106
202
198
170
212
236
221
178
234
240
193
235
188
178
240
239
158
225
215
289
207
202
213
207
173
257
199
294
230
237
203
196
161
170
225
206
163
232
273
275
219
198
237
273
290
242
235
265
211
226
174
253
240
238
237
215
223
237
219
233
225
253
256
243
219
291
156
192
237
185
246
203
205
269
225
247
178
211
149
282
300
260
285
240
242
300
159
283
270
262
196
286
221
194
181
195
325
214
238
239
292
161
215
199
161
280
267
212
254
257
192
181
313
153
239
270
252
270
260
182
211
172
219
201
252
235
280
222
143
261
179
166
190
225
192
246
231
251
239
161
189
281
258
167
199
227
206
228
235
246
229
274
269
257
247
196
225
254
218
267
305
159
187
157
175
251
246
212
237
198
237
236
264
280
237
219
267
238
281
233
192
250
211
198
285
246
156
223
224
209
218
184
260
241
202
227
163
219
235
248
252
214
157
192
310
206
192
323
208
290
186
160
187
222
154
318
231
189
254
229
221
224
326
247
193
145
114
243
191
151
210
248
258
184
253
179
247
293
247
177
224
248
182
228
169
196
318
172
227
152
241
278
181
212
211
268
232
114
180
144
200
276
185
280
206
278
245
261
248
198
195
292
224
164
274
309
279
232
246
223
192
249
189
258
326
169
243
290
242
303
319
199
200
266
257
258
198
248
175
289
254
137
228
234
184
183
251
260
286
256
206
181
177
225
190
225
247
239
233
239
195
277
249
198
291
234
229
249
191
232
164
265
139
237
227
180
188
229
250
288
158
212
234
274
170
244
266
181
185
230
234
212
215
333
227
214
234
246
360
235
269
275
177
272
199
204
272
270
283
173
204
228
255
302
178
237
236
240
301
256
200
333
213
257
289
239
246
212
271
206
203
155
272
210
273
322
237
249
234
192
262
164
178
236
187
252
266
284
269
158
232
178
270
224
268
255
253
275
191
181
260
142
237
192
275
206
279
202
260
209
227
215
221
216
279
228
183
226
184
199
225
222
248
230
229
179
114
114
253
273
243
126
188
187
348
283
202
245
279
278
247
320
241
214
185
139
195
258
175
165
286
176
317
200
181
230
191
241
189
227
170
239
267
202
219
189
303
211
214
156
114
184
238
251
237
214
160
152
195
239
220
225
222
207
266
219
218
258
154
229
282
217
146
175
248
198
282
165
302
228
203
192
247
301
208
247
284
175
219
226
254
215
201
162
178
181
206
220
253
199
250
202
281
145
219
263
216
264
326
215
245
213
222
165
263
149
253
156
220
195
180
222
225
244
206
259
199
244
194
217
376
167
257
212
174
168
207
216
214
282
229
126
195
267
220
261
192
273
255
225
209
175
329
221
259
235
261
255
215
238
223
277
246
212
211
232
215
225
203
204
303
208
188
176
154
208
205
194
249
264
235
199
220
325
214
203
219
158
152
268
181
330
209
251
178
205
234
194
232
265
346
264
243
219
255
206
219
258
359
322
241
194
236
180
200
267
226
218
203
182
241
222
208
233
238
160
292
274
189
233
322
243
206
232
277
239
283
169
245
222
236
183
139
294
211
264
277
169
237
232
268
247
205
252
236
156
220
220
260
116
220
261
217
217
235
225
294
114
253
212
191
233
254
170
234
251
254
269
251
260
207
323
227
209
304
217
231
219
216
214
257
205
227
178
249
234
261
202
231
212
194
177
199
296
265
237
315
233
171
164
238
217
313
156
239
209
200
271
229
202
166
253
235
275
222
290
241
203
307
196
208
204
255
137
287
207
267
220
200
229
324
187
157
254
238
209
175
264
240
204
209
168
239
279
176
227
243
209
194
201
264
178
246
251
321
256
229
168
222
206
140
265
241
174
196
233
299
324
216
317
155
272
236
231
350
235
162
166
199
243
178
225
203
261
258
262
178
157
203
266
173
309
284
242
218
201
188
294
152
223
151
291
156
221
176
222
182
238
159
196
182
194
200
165
246
258
176
156
227
193
141
275
218
164
237
236
285
264
277
221
230
195
240
261
231
220
171
274
287
227
197
282
222
277
287
245
243
163
114
194
265
244
276
249
252
245
188
300
196
153
157
239
235
246
255
277
283
235
190
271
189
287
185
158
334
160
247
179
282
199
249
240
291
300
239
148
240
260
218
204
210
217
213
218
207
287
248
184
210
203
151
206
233
254
237
276
324
181
214
253
207
183
160
301
219
229
247
164
230
243
154
218
227
177
233
164
158
252
200
227
227
208
179
234
215
243
293
201
209
294
225
222
225
201
166
168
258
234
249
228
255
234
301
269
296
175
200
192
253
278
243
172
235
228
241
229
296
231
178
209
268
251
206
170
294
174
178
269
181
248
114
217
281
258
212
235
274
176
302
234
233
180
244
218
225
221
156
232
173
219
235
235
170
310
175
233
254
237
298
218
165
321
210
301
255
185
298
225
284
276
276
197
176
321
214
206
280
198
263
198
196
222
146
237
165
176
175
229
261
297
310
200
191
152
215
165
192
260
237
299
161
114
156
261
251
190
218
269
237
231
195
192
211
218
228
264
238
262
228
166
278
227
235
260
235
213
195
246
219
237
228
223
233
243
181
278
261
228
307
176
277
144
234
320
215
326
195
233
154
382
292
223
219
230
179
203
231
230
156
230
214
235
200
242
212
207
221
293
190
224
240
201
174
207
209
258
207
209
200
160
233
253
285
181
213
228
195
172
154
211
221
330
169
220
199
265
209
306
208
126
192
235
156
198
234
246
256
238
238
273
280
232
299
212
220
255
196
182
180
234
151
324
275
209
215
186
191
299
280
203
160
278
172
311
259
228
242
184
295
258
243
211
275
237
205
265
262
253
129
298
252
192
172
219
162
253
204
185
245
237
202
253
270
187
240
238
156
294
256
114
221
231
200
250
241
257
260
240
263
180
282
264
228
225
197
171
337
240
270
170
208
211
297
207
155
251
252
287
272
223
161
171
227
195
203
180
191
192
145
244
234
287
310
199
195
289
287
252
265
214
306
255
241
181
237
258
245
196
304
231
304
252
226
183
227
205
260
241
235
218
159
241
271
190
237
180
195
286
299
302
279
212
255
253
195
272
209
167
201
285
218
145
194
202
309
310
233
232
191
265
216
311
207
163
264
189
311
208
193
316
179
289
180
239
252
205
186
200
114
303
219
239
187
280
295
237
190
164
189
304
246
283
231
180
263
330
184
285
278
246
231
269
116
223
270
183
114
267
203
229
238
179
223
203
206
242
226
196
197
271
152
173
200
269
221
248
258
238
275
218
313
257
181
276
242
233
336
244
334
220
162
281
246
198
213
277
219
219
266
252
239
315
227
173
212
194
222
139
186
220
221
322
175
176
190
245
234
268
322
219
173
273
224
245
260
212
300
214
196
243
294
215
235
235
252
302
226
273
161
320
222
219
178
220
225
249
149
249
182
198
286
163
229
200
220
248
252
229
213
152
215
161
261
152
168
162
219
177
268
324
273
295
190
281
217
195
192
216
186
262
245
114
234
192
199
184
114
263
210
306
216
248
170
220
192
247
268
267
248
276
247
260
242
206
209
160
180
193
287
225
173
274
261
225
255
174
251
270
265
203
178
210
289
262
211
189
189
216
207
324
181
300
205
270
181
215
256
188
188
239
199
225
206
270
240
225
198
261
233
198
249
178
215
241
287
239
196
237
206
164
184
268
283
270
201
202
188
194
223
249
229
233
209
178
195
207
274
221
168
153
321
297
254
210
306
198
260
158
224
238
215
238
228
121
257
234
293
250
193
255
263
243
172
212
235
268
212
215
247
200
271
220
184
189
191
182
197
191
255
253
226
207
301
114
223
195
215
171
233
238
206
201
227
217
201
166
114
178
196
338
133
236
255
236
236
193
215
263
217
235
259
144
252
250
214
272
235
219
198
242
232
223
229
276
164
247
257
223
266
190
218
158
175
238
256
195
239
243
146
296
180
209
215
233
144
197
211
271
258
262
175
218
220
200
244
220
199
215
238
230
219
216
171
183
180
153
262
342
204
219
139
227
215
317
230
208
175
279
304
253
167
240
291
207
252
151
232
257
212
197
169
128
292
229
225
344
261
239
239
327
235
200
198
262
216
184
195
223
300
225
202
206
209
184
193
220
239
248
279
232
304
233
301
214
194
241
267
209
267
272
217
246
208
218
274
254
299
156
216
225
307
108
229
256
175
129
287
245
213
214
274
206
263
226
265
167
226
240
271
261
245
238
200
314
291
239
297
209
215
189
167
192
173
280
222
161
207
179
231
193
221
256
281
206
227
189
207
200
193
247
160
209
259
196
190
168
327
233
272
236
162
222
154
185
222
220
242
310
218
254
287
198
173
217
321
254
237
240
199
292
222
232
201
204
276
188
184
173
169
183
201
318
230
221
258
231
265
280
181
218
170
178
263
230
162
208
219
214
269
256
146
251
202
279
171
214
158
206
209
251
185
193
160
259
342
205
170
214
229
167
243
179
320
262
255
297
298
192
249
234
285
126
299
241
249
223
234
273
255
257
178
162
264
219
218
237
171
184
280
242
265
276
188
166
151
201
179
245
243
245
249
263
266
277
242
322
278
223
184
195
200
170
217
283
190
192
252
267
301
240
174
221
277
219
211
219
233
252
214
301
244
211
214
203
198
229
239
263
235
181
242
307
114
273
222
243
157
243
257
182
237
247
267
261
234
114
216
280
226
182
203
259
226
239
197
218
250
245
213
266
242
220
180
274
114
181
237
258
260
220
219
206
253
251
246
189
162
302
205
192
180
286
191
230
144
217
245
256
194
199
287
194
234
315
178
175
144
182
300
208
114
184
162
209
114
196
239
147
222
126
283
179
251
146
213
197
182
215
195
234
149
286
247
306
189
203
178
278
204
226
284
247
265
250
218
202
306
257
108
288
293
194
245
256
225
200
195
250
217
211
182
188
227
307
309
205
202
229
245
223
239
276
228
211
179
267
214
284
168
246
243
264
244
162
311
159
180
260
324
228
223
203
158
243
208
220
251
230
160
235
211
267
154
263
257
241
165
262
220
204
197
202
181
192
214
203
178
225
241
176
231
232
267
190
200
245
232
264
146
212
203
178
224
209
145
203
169
281
180
227
250
207
242
198
189
289
296
269
203
266
253
327
264
201
292
126
241
282
159
221
211
304
219
295
241
280
230
233
245
248
292
279
179
260
249
229
214
222
253
194
233
297
153
206
187
250
228
231
235
252
234
205
301
234
198
192
160
231
180
218
204
255
229
325
217
249
212
164
189
165
204
209
233
229
199
177
209
216
231
238
235
236
261
238
232
233
284
161
238
296
311
197
245
175
334
228
223
177
147
213
266
174
192
188
233
217
223
155
315
226
189
247
200
337
184
214
283
178
217
183
203
249
302
205
235
247
156
170
243
218
186
229
224
238
185
337
178
244
263
240
244
180
231
309
274
293
273
191
204
215
227
341
238
249
114
246
195
201
239
269
198
287
238
200
227
207
250
205
204
244
168
216
233
299
253
229
294
321
144
211
254
214
183
249
180
198
266
197
166
195
214
214
220
180
227
205
258
257
200
298
214
245
227
247
170
252
210
239
227
197
212
305
263
154
228
160
263
249
298
162
242
239
215
318
228
198
223
150
214
189
227
214
231
218
256
227
176
207
227
157
202
295
238
173
178
208
128
250
271
212
227
213
308
235
240
253
216
273
244
160
251
169
241
158
189
227
231
253
245
235
242
178
160
313
260
251
203
205
232
261
214
214
225
176
215
298
146
183
221
156
221
252
191
184
315
206
184
188
175
160
246
203
263
245
192
212
198
207
275
213
244
174
319
264
181
160
184
257
255
229
145
192
207
296
258
229
228
315
241
173
292
202
182
177
220
315
322
177
263
191
263
166
241
232
177
317
278
265
178
279
149
152
211
166
258
267
244
189
240
176
226
139
174
278
247
213
265
204
218
244
149
239
178
222
187
202
243
241
207
183
211
232
209
192
285
215
282
231
216
205
230
220
276
193
301
189
247
160
217
196
188
286
244
229
216
139
241
213
160
232
277
235
210
200
235
270
129
192
199
268
229
281
194
243
179
251
202
224
252
282
170
238
141
309
310
178
260
201
238
238
252
266
213
222
198
228
145
144
297
242
242
236
261
183
156
180
214
221
267
146
170
292
237
209
239
367
156
197
195
187
279
188
173
197
263
192
259
206
178
244
274
196
201
191
204
196
219
236
139
229
258
265
233
242
262
205
218
214
273
193
266
154
234
222
267
226
209
249
159
217
251
207
232
250
159
210
245
165
194
323
184
369
216
253
279
246
181
214
234
235
178
232
198
276
201
240
259
195
190
298
229
226
221
218
148
198
235
243
173
314
213
271
209
179
209
196
239
209
207
252
249
305
324
278
278
226
208
209
156
169
144
241
216
248
214
224
236
232
213
282
221
288
265
275
243
239
183
255
252
259
204
309
203
232
251
234
157
234
273
222
228
283
170
225
210
249
165
247
221
181
312
145
146
235
221
231
248
152
237
327
265
273
223
186
170
224
207
304
152
247
254
317
264
208
255
208
185
156
220
208
236
287
162
170
203
213
182
173
158
179
243
248
201
165
185
175
164
144
226
214
261
160
241
218
221
249
289
246
177
267
223
216
202
230
172
335
239
266
220
287
189
225
159
174
313
139
247
214
197
279
209
273
209
234
161
268
287
240
217
200
279
151
195
240
222
249
218
274
178
182
212
251
281
222
178
183
194
235
265
197
208
191
233
400
114
186
149
170
286
198
247
250
283
189
241
135
226
197
193
233
229
231
160
292
167
191
242
191
240
200
256
234
242
209
151
209
265
285
271
275
238
189
204
156
170
271
294
188
276
245
272
226
276
305
258
243
218
188
154
259
177
241
214
239
184
244
208
213
317
278
244
237
311
228
222
220
170
213
220
224
310
319
265
253
219
210
319
207
187
220
198
186
270
171
296
187
180
280
223
242
240
152
212
215
292
201
210
249
185
241
205
271
212
166
241
217
257
209
210
199
149
180
295
228
268
208
237
161
238
288
269
268
232
201
223
259
213
249
195
218
291
243
174
222
277
303
224
180
168
211
199
236
209
239
259
270
274
114
245
164
225
177
235
250
254
244
208
229
190
165
207
108
242
183
207
146
295
227
189
239
237
173
213
224
214
237
227
235
260
192
211
126
261
114
232
210
250
219
191
305
336
187
179
312
185
233
218
182
237
183
170
233
206
160
201
273
194
247
198
212
198
202
202
224
232
152
201
192
220
184
218
244
269
222
174
149
126
222
160
180
285
160
361
197
264
254
200
236
264
145
148
232
170
114
231
151
180
290
249
270
285
232
250
175
240
213
214
178
114
215
167
283
176
227
238
198
286
175
255
192
242
252
279
275
277
236
252
114
184
280
214
234
221
213
169
180
210
258
279
257
176
231
266
199
200
215
217
201
238
205
220
252
277
186
284
250
198
225
236
231
231
139
260
247
252
211
278
254
215
197
190
242
326
206
224
133
126
245
231
179
214
221
241
214
182
223
236
190
162
261
260
211
269
235
244
200
170
331
190
218
255
114
207
197
273
244
291
218
282
351
184
198
230
195
218
198
199
206
253
202
237
246
273
276
223
259
174
350
200
253
237
194
193
229
237
179
253
299
234
177
200
212
249
200
287
176
232
272
230
263
189
194
192
289
296
233
250
238
168
212
213
210
208
286
154
231
139
201
196
170
232
248
294
220
274
182
202
222
242
234
151
230
218
232
203
209
211
157
275
204
219
280
255
201
215
198
192
181
239
211
234
214
190
218
207
250
168
267
283
228
212
226
217
220
271
139
226
217
275
252
293
287
202
121
184
250
155
192
114
121
194
196
193
181
250
221
276
258
194
149
193
215
226
238
286
239
241
220
212
151
247
250
263
190
225
289
256
215
317
227
184
144
207
218
221
241
160
229
276
194
215
234
237
284
263
191
234
210
309
152
307
207
130
253
255
230
178
247
183
285
283
237
146
195
232
225
241
170
276
225
268
257
126
184
281
225
227
255
295
300
268
275
265
192
206
200
195
204
201
274
278
234
277
328
297
234
240
280
188
217
174
230
259
228
206
215
207
211
253
223
248
162
257
217
251
201
214
249
270
202
168
194
198
305
229
170
219
299
235
205
249
183
308
290
178
232
162
280
161
193
175
222
171
312
197
300
209
241
205
227
271
197
293
197
234
227
128
190
280
144
303
193
224
259
272
209
267
176
222
196
227
229
153
275
211
182
200
225
240
314
195
234
210
298
279
182
262
245
203
262
272
225
221
295
174
196
280
231
204
290
260
208
233
190
247
170
161
163
188
178
176
223
245
241
219
185
206
246
286
213
176
129
343
219
248
233
258
231
250
227
252
210
238
265
330
209
156
255
346
188
189
266
247
155
217
162
250
275
251
163
245
200
200
179
322
178
234
245
212
236
139
299
166
288
158
265
259
231
293
218
218
306
240
186
194
239
246
203
247
198
158
208
278
236
215
208
180
267
287
208
264
299
182
242
277
163
265
191
190
254
242
264
231
213
326
231
222
184
270
273
270
158
218
171
243
322
198
211
151
197
228
246
290
234
309
217
309
194
151
161
261
241
178
220
114
235
192
196
228
279
300
234
173
215
296
240
294
192
224
199
254
225
213
290
190
273
160
290
208
291
302
225
252
230
217
180
185
201
189
152
189
293
233
295
180
262
219
184
195
169
192
246
282
230
222
234
151
247
210
212
249
245
198
173
225
285
246
224
178
264
238
198
246
210
255
209
213
203
160
209
240
178
208
231
250
206
203
214
233
242
263
214
276
291
232
198
219
215
240
224
165
163
217
269
270
207
204
221
217
341
344
317
215
235
156
258
247
233
324
270
225
169
192
258
256
217
114
231
223
262
254
295
169
249
270
177
272
152
214
319
225
241
273
253
195
261
310
208
240
235
155
260
230
193
316
210
185
243
190
198
190
239
211
348
205
315
295
126
243
234
173
152
259
222
280
212
221
166
216
235
241
246
203
232
240
327
194
235
160
274
129
178
180
225
209
108
292
181
272
214
220
314
293
232
300
211
233
234
223
278
227
216
173
252
165
267
244
231
268
181
236
248
175
222
192
114
274
205
243
240
213
188
170
260
165
242
283
275
236
243
335
225
170
197
254
216
205
214
320
148
206
284
295
234
185
215
169
218
209
223
200
245
237
224
207
203
206
308
245
245
255
213
259
221
260
129
192
259
242
173
195
182
207
160
195
249
250
197
162
191
228
258
270
145
275
228
289
235
257
200
216
169
251
249
249
190
170
181
175
217
202
258
223
174
192
129
203
144
249
322
212
193
295
239
217
240
248
222
262
224
198
280
214
108
210
208
282
256
114
259
212
279
212
303
220
195
231
267
239
133
219
229
247
243
231
253
233
216
173
232
294
188
251
232
218
231
254
184
241
216
209
222
253
245
269
194
218
311
183
290
247
284
209
255
210
222
290
253
248
179
246
204
114
235
258
240
168
152
160
205
177
263
222
148
196
253
210
271
184
178
194
263
278
330
187
249
259
182
183
215
216
227
200
239
279
156
223
206
263
227
284
254
216
243
197
156
283
192
207
243
270
242
226
220
312
250
208
196
198
214
184
213
181
176
282
271
232
252
183
259
188
172
258
184
241
181
241
169
198
293
222
178
240
218
255
245
222
253
193
222
226
179
198
222
177
266
261
255
222
160
240
284
234
231
304
133
247
261
231
189
247
231
167
193
245
151
180
184
274
170
114
216
178
292
266
164
215
266
234
335
290
169
207
228
297
219
225
207
276
193
234
193
219
184
175
218
250
231
201
238
247
199
214
292
185
225
230
220
227
204
233
198
315
182
253
225
181
234
198
177
126
282
152
250
232
200
256
241
279
258
232
318
244
203
235
179
199
225
301
186
233
173
207
185
154
184
213
232
175
204
170
209
303
225
286
216
281
284
243
281
195
254
278
153
231
210
271
235
320
246
208
252
261
193
205
232
256
268
274
137
224
290
251
169
283
146
270
282
217
245
212
174
210
294
274
199
157
187
274
232
129
245
241
262
304
189
245
195
184
232
291
285
186
212
206
293
221
238
230
277
114
225
267
255
179
197
126
177
221
160
257
260
236
237
284
259
260
186
208
225
199
210
195
368
205
187
279
327
254
208
175
242
280
260
296
252
288
208
226
246
253
223
225
189
302
197
255
194
259
230
180
310
212
206
207
194
236
245
203
221
193
301
281
278
247
205
267
283
225
234
228
215
151
172
265
265
254
246
291
276
275
270
248
242
225
178
183
196
270
218
167
241
198
195
265
321
220
227
222
225
263
227
140
198
285
175
232
236
164
208
252
185
242
219
193
198
139
290
232
243
223
219
182
222
234
279
225
254
258
192
222
287
226
238
170
226
196
196
218
268
200
216
277
195
292
296
196
276
339
197
201
250
270
208
290
231
205
197
207
204
209
238
211
222
276
259
212
237
156
230
214
201
202
182
251
270
114
160
165
211
246
200
223
279
222
241
173
189
222
215
322
222
219
322
226
166
129
269
130
267
246
169
206
214
209
250
126
302
225
287
204
194
247
195
238
313
227
289
225
277
316
200
207
298
276
212
247
253
323
267
258
248
214
184
267
267
193
203
224
211
167
222
260
195
191
190
204
229
221
126
205
286
202
157
231
161
219
191
218
208
218
212
242
238
253
232
214
202
139
263
234
193
209
184
187
121
169
207
181
212
237
147
204
279
225
168
213
253
160
198
170
178
247
195
198
240
220
299
174
170
198
283
236
236
214
233
180
242
203
202
238
198
235
208
252
191
197
240
282
191
233
298
244
161
158
228
227
225
205
272
243
270
194
268
174
161
227
251
220
164
233
263
250
220
170
326
290
181
189
152
152
114
148
192
248
195
214
176
219
225
234
202
276
296
161
222
265
231
178
252
229
152
282
199
254
197
293
267
270
280
241
255
186
148
230
261
176
225
245
233
245
220
227
239
196
259
175
237
254
265
210
184
173
264
253
195
170
255
277
250
182
229
204
252
202
213
207
197
268
240
205
208
186
255
247
226
266
160
235
202
133
238
307
208
256
234
198
190
293
248
252
251
215
162
162
139
154
242
235
254
249
196
183
188
184
190
250
270
255
279
174
230
207
189
198
263
180
181
293
156
282
225
253
322
230
178
194
156
251
240
205
268
242
213
253
251
240
269
222
315
181
239
189
180
236
158
174
187
243
249
168
108
235
241
277
198
250
269
301
207
203
187
200
229
256
184
203
255
306
195
268
282
249
224
284
234
285
204
239
192
254
198
158
207
239
232
183
210
247
203
168
222
253
235
268
203
247
268
175
198
298
275
324
259
222
274
270
220
206
222
250
311
266
195
106
217
235
261
322
209
274
116
201
203
189
230
220
214
194
199
240
227
207
160
237
229
160
192
207
249
248
194
248
281
237
215
259
181
220
114
211
238
203
237
205
229
252
204
173
324
251
228
250
173
165
179
200
217
235
228
156
214
227
170
133
218
272
207
160
252
139
155
263
243
192
262
178
211
207
200
114
304
152
342
190
209
207
157
201
309
232
191
310
169
205
229
249
258
193
261
237
244
116
277
226
223
184
244
232
313
184
223
279
210
243
215
255
210
260
249
220
191
203
202
137
255
178
209
224
193
274
186
191
177
206
217
146
218
234
287
206
181
183
205
168
262
235
146
222
197
262
286
270
245
323
270
274
275
251
203
259
258
301
276
256
285
224
331
225
200
264
206
246
191
167
198
296
179
205
209
209
201
242
229
205
211
170
219
190
185
195
221
226
216
209
285
195
267
197
307
184
214
237
219
216
211
222
247
170
199
230
149
213
217
189
217
176
174
202
247
245
286
192
175
237
218
221
280
169
281
162
225
272
196
238
233
188
269
247
114
279
276
194
248
171
241
203
213
280
235
262
330
165
189
224
234
174
198
223
254
235
284
190
122
303
224
172
241
207
270
269
178
194
269
185
173
165
230
130
230
182
265
188
151
193
152
211
182
237
256
235
161
169
178
321
179
214
234
255
242
232
221
182
227
231
291
270
309
214
173
170
289
205
215
284
216
239
185
304
219
194
276
189
314
211
257
246
280
162
264
213
259
218
162
257
220
233
225
192
178
225
202
343
198
282
183
214
231
265
242
268
143
214
310
189
355
268
238
193
273
212
326
356
229
216
332
170
193
278
201
230
219
165
207
277
220
114
229
231
235
209
201
179
249
184
239
266
151
309
235
208
213
211
156
250
192
192
195
222
170
203
170
186
188
247
278
205
296
229
274
207
215
229
184
262
212
171
187
262
229
269
156
256
251
252
223
158
212
177
196
176
176
203
195
273
291
265
146
154
220
222
204
151
205
197
198
290
280
245
242
173
297
216
206
310
258
302
214
178
295
192
283
267
256
223
200
262
286
209
266
199
194
182
149
206
267
225
169
321
295
294
247
198
253
168
198
212
242
268
329
140
238
285
152
194
188
335
195
170
170
269
185
195
205
198
300
188
193
195
193
255
326
185
160
179
228
246
270
230
108
250
244
241
285
192
238
186
245
184
271
208
287
239
180
160
193
214
166
171
252
253
242
209
156
209
189
256
213
291
278
166
229
191
251
269
279
244
222
209
260
237
260
284
276
237
226
242
255
264
196
228
242
208
220
178
195
223
184
175
211
209
276
157
261
198
227
268
235
227
204
281
306
211
209
243
264
219
266
166
228
206
225
217
253
293
236
222
146
203
258
261
229
235
202
239
204
266
234
208
272
165
249
189
191
185
231
276
241
209
191
239
218
173
195
198
160
278
214
203
162
229
221
237
180
249
208
211
214
192
231
164
259
149
194
230
205
283
164
193
273
259
247
260
276
205
163
260
203
276
184
196
245
225
176
192
266
148
237
267
295
216
249
174
233
178
291
258
245
173
284
252
298
224
242
281
208
241
174
176
139
223
272
195
114
183
228
233
257
257
290
277
250
287
203
252
205
193
175
189
200
220
224
206
209
226
215
213
212
297
250
199
165
237
196
188
255
227
168
178
156
174
247
333
184
186
293
227
198
225
235
261
246
232
195
264
215
222
184
240
268
175
295
252
209
191
184
286
239
256
261
200
139
268
270
241
144
229
146
264
279
219
166
218
148
220
200
295
168
179
183
170
258
217
144
260
206
191
259
256
286
200
270
198
232
195
210
222
214
200
156
204
245
191
258
191
188
158
309
213
178
208
175
309
214
247
302
196
256
278
156
196
211
208
201
185
202
215
184
245
190
223
237
208
219
281
187
193
333
262
201
114
247
295
271
160
177
231
213
260
217
172
298
170
207
198
250
272
190
280
198
230
246
181
293
201
240
214
205
219
245
157
213
205
247
290
192
229
225
281
209
250
246
275
298
189
198
199
259
208
209
201
175
232
233
320
230
174
215
244
219
315
213
218
198
269
191
255
228
245
291
308
241
174
177
227
226
265
175
261
213
269
170
220
224
190
161
286
168
192
256
179
276
229
298
218
280
146
192
206
214
262
114
219
251
235
198
211
283
268
198
223
181
204
217
204
252
194
114
219
205
239
160
291
207
202
225
227
201
188
194
180
174
271
217
259
198
194
241
177
211
275
239
129
232
211
225
226
199
222
259
270
185
158
213
246
226
238
208
250
219
275
234
230
240
200
289
283
288
245
255
250
264
238
272
241
206
220
196
250
197
239
221
114
211
174
222
192
146
227
285
270
286
126
202
209
218
208
241
213
199
209
200
325
220
278
256
253
235
130
224
175
242
195
196
249
214
241
279
262
239
188
221
301
219
179
267
175
208
238
195
184
204
209
160
296
242
239
207
227
253
303
189
242
276
182
206
179
300
261
159
251
219
266
205
193
186
263
198
201
166
248
160
191
286
200
304
222
242
216
218
233
252
232
256
278
215
203
219
233
174
166
170
184
228
264
277
198
214
199
160
223
164
206
238
122
220
333
255
182
193
255
191
219
239
244
225
197
167
192
212
192
176
250
255
175
248
241
202
247
228
254
277
198
173
274
206
284
287
259
211
263
305
256
152
279
249
209
251
261
193
269
189
235
178
238
230
268
114
149
198
228
350
308
287
231
242
189
210
325
216
185
248
218
165
190
246
234
202
208
244
173
192
266
147
149
286
178
241
252
202
160
248
262
276
222
129
231
238
213
239
230
227
323
202
192
212
309
311
290
173
245
245
230
295
197
203
169
193
276
247
214
195
186
160
266
191
114
237
251
246
252
238
114
252
180
214
219
184
227
291
242
148
269
195
239
199
268
271
260
210
235
175
309
129
237
199
284
200
238
311
209
175
174
180
248
252
212
305
178
173
264
277
164
172
254
239
180
274
262
227
235
242
278
216
272
184
192
214
215
230
254
236
210
173
190
234
189
268
245
220
198
224
266
290
222
250
208
167
207
222
262
270
239
126
227
190
304
198
193
232
203
277
171
236
229
278
223
240
233
204
231
262
222
253
215
265
144
247
223
304
231
249
160
212
218
210
159
220
147
244
148
282
126
175
247
261
238
169
268
286
247
344
243
153
248
149
266
217
126
246
296
208
178
161
207
264
287
297
269
197
235
357
225
181
239
291
241
216
206
241
235
200
296
288
313
205
204
228
325
292
187
300
261
169
114
173
234
242
235
225
210
184
174
265
215
181
151
227
213
205
174
183
263
297
209
333
205
249
114
195
126
158
234
210
243
224
130
259
203
267
191
306
233
209
236
192
213
194
236
182
217
239
165
175
121
234
185
192
218
211
297
169
286
173
183
182
114
169
291
234
181
181
209
154
196
263
214
237
273
196
288
219
178
244
212
217
179
181
247
208
352
286
203
276
213
158
271
212
205
207
192
210
245
225
184
256
231
203
291
269
287
230
220
219
238
227
209
205
238
223
283
250
185
229
247
202
229
203
238
154
264
195
245
169
205
187
186
202
152
211
272
256
229
186
278
219
179
222
114
198
249
278
178
250
251
286
211
206
230
190
242
260
273
108
228
276
172
222
174
255
230
210
227
244
193
230
241
259
279
196
244
228
252
285
233
290
250
193
252
219
264
200
287
172
246
283
248
263
180
199
247
154
195
257
154
177
208
190
307
319
189
217
244
244
181
228
181
253
213
225
214
188
263
235
196
300
170
195
176
167
226
195
219
280
250
157
205
235
207
212
231
182
300
198
258
194
226
167
164
171
207
295
225
184
151
217
213
311
249
184
291
270
280
138
220
146
139
151
299
148
273
293
288
275
234
165
193
198
227
265
227
230
188
203
183
195
260
240
205
175
222
229
237
282
216
193
214
199
226
161
251
254
203
173
239
225
199
319
178
192
210
201
169
179
178
272
187
291
259
284
250
285
206
218
241
198
230
200
281
211
305
220
193
256
233
198
174
243
196
223
206
210
204
199
178
215
160
322
160
162
324
186
297
295
152
205
268
176
194
220
214
262
230
190
230
144
234
283
187
233
245
234
232
217
152
193
213
209
245
209
255
312
238
176
169
210
229
266
226
189
275
201
170
233
177
193
198
222
263
157
225
238
273
238
201
262
191
218
130
205
234
204
232
216
237
195
175
208
193
235
235
233
222
209
200
276
175
133
229
284
171
288
231
280
228
216
221
249
222
225
207
287
199
266
294
160
210
165
284
276
259
245
239
180
271
216
234
215
209
229
246
225
282
247
191
251
238
221
266
238
223
130
264
240
250
227
296
166
196
180
273
248
210
180
271
270
221
219
171
214
224
212
234
252
261
221
222
264
223
223
252
359
240
261
187
238
213
171
203
157
251
267
243
179
193
173
184
175
161
247
223
223
139
282
256
312
210
198
167
273
217
225
221
213
289
240
245
188
274
233
171
183
204
181
235
228
206
220
187
231
225
207
279
192
285
263
259
278
266
207
199
270
182
175
306
254
173
243
221
177
199
266
167
319
140
203
239
262
295
200
288
218
280
181
251
193
188
203
209
214
218
294
213
216
234
213
214
198
158
207
256
224
209
181
237
235
276
243
149
256
200
226
305
173
271
281
176
220
304
244
246
203
239
216
241
178
299
370
197
232
305
237
181
201
251
209
235
313
233
307
248
296
228
157
255
236
241
211
200
214
193
155
206
282
230
237
216
214
265
211
212
170
219
201
170
215
215
192
303
228
197
203
238
256
253
251
289
207
233
225
256
270
188
229
238
298
229
276
376
308
192
221
231
220
271
170
196
247
234
176
287
215
236
255
233
193
238
198
244
245
152
315
276
230
198
219
225
262
223
252
201
106
268
208
185
211
151
114
234
229
215
272
246
114
171
146
259
200
197
228
203
213
160
268
156
254
199
249
181
234
193
286
316
151
293
269
233
297
282
243
230
174
168
205
260
190
219
186
219
215
156
221
306
226
249
222
257
198
249
250
288
191
185
144
229
158
233
285
363
222
259
245
291
260
178
129
211
142
201
224
166
243
261
291
126
169
211
275
234
194
211
327
277
146
226
178
173
281
188
268
213
231
199
234
199
147
240
216
114
209
158
146
158
276
255
129
217
263
264
108
252
169
233
348
273
167
265
224
193
166
201
173
184
241
277
303
220
227
240
290
319
255
291
223
259
248
180
191
254
162
244
220
303
242
237
161
277
180
233
279
256
307
182
240
144
240
222
269
256
216
220
228
252
224
190
224
238
203
224
198
246
251
189
253
197
198
188
323
210
233
292
260
184
285
257
266
205
299
276
200
176
243
288
230
257
276
244
106
153
209
236
258
220
218
271
232
239
172
230
139
333
225
196
221
227
188
220
299
204
185
314
218
229
277
222
219
266
211
217
160
220
286
164
320
239
218
270
236
368
170
233
201
222
208
256
184
281
196
235
218
244
167
206
174
182
185
218
311
232
241
208
193
221
325
245
233
262
160
240
287
174
197
304
222
186
196
259
227
288
198
307
216
170
251
261
234
211
232
222
278
280
294
278
196
207
175
208
234
241
312
233
251
159
216
181
240
226
108
277
288
185
284
217
161
179
166
286
169
174
267
251
207
218
116
263
239
198
209
189
181
261
216
228
201
275
218
325
186
241
250
251
190
219
234
166
202
238
263
171
224
248
152
250
261
246
226
215
256
252
219
168
256
162
245
255
258
198
174
186
213
152
192
157
263
220
195
228
234
232
215
195
271
177
266
263
238
156
202
310
284
213
232
208
279
259
260
206
247
360
223
205
237
203
206
178
264
235
241
245
225
114
205
235
217
222
312
204
208
258
225
227
217
168
239
197
196
108
157
216
163
233
210
161
279
258
263
192
281
251
223
263
257
284
267
318
177
197
280
228
170
292
230
222
225
219
222
291
227
160
225
236
195
228
278
230
220
246
213
216
156
215
224
242
274
186
209
291
257
247
229
185
276
164
181
254
193
183
234
201
223
114
295
208
192
221
278
205
265
196
219
232
279
182
174
206
242
310
206
232
220
303
175
296
243
247
192
191
204
177
245
242
176
284
233
275
216
282
209
179
211
234
153
241
225
234
227
184
234
114
233
304
235
179
170
219
230
245
223
247
233
229
210
201
173
224
194
215
197
215
208
207
208
279
240
286
266
302
157
169
173
273
265
194
199
195
229
254
223
255
296
235
270
305
193
272
218
195
229
358
245
169
303
181
263
273
222
206
282
255
205
205
214
134
220
175
202
174
245
265
232
299
173
272
260
268
276
265
195
164
193
195
191
267
205
226
276
254
191
256
209
251
332
288
240
254
234
202
193
222
256
190
236
145
275
180
220
212
173
242
241
206
195
162
260
249
323
159
236
203
227
235
230
245
198
201
236
242
178
230
299
270
209
215
230
228
228
206
108
219
285
279
248
208
239
178
214
239
195
267
168
284
198
177
195
278
277
204
203
204
149
271
229
295
204
279
185
246
282
213
295
319
165
193
218
221
294
249
229
178
241
262
203
356
158
156
165
180
221
209
266
178
228
244
232
270
304
182
250
224
214
243
286
263
164
233
192
228
174
283
205
223
207
178
284
154
214
251
211
241
227
166
220
192
179
181
263
175
207
291
198
152
191
182
222
253
208
195
198
205
220
128
191
214
205
199
289
192
223
175
189
286
224
241
160
213
332
178
229
336
260
192
275
307
203
311
260
201
200
246
226
287
324
179
207
190
174
256
168
239
230
144
277
185
309
226
184
248
209
223
267
245
201
297
232
208
193
315
231
245
176
251
244
133
186
227
231
183
257
148
215
187
248
225
252
240
219
225
220
234
186
173
256
241
230
240
188
242
181
202
294
237
245
162
220
221
216
254
181
239
157
234
234
256
267
262
248
191
290
271
285
213
231
203
165
238
279
237
198
173
301
224
202
239
160
305
246
241
214
241
178
189
162
162
279
200
252
348
203
293
240
179
198
254
191
234
188
186
259
226
220
262
259
280
180
214
206
256
240
206
263
285
227
222
272
250
146
196
231
114
171
231
152
300
248
266
307
219
274
186
205
282
255
225
206
151
235
201
253
208
236
287
280
222
277
269
176
227
230
182
198
126
196
229
233
121
108
280
281
334
300
161
213
249
254
240
240
173
274
247
145
300
244
193
230
180
214
215
215
126
219
227
230
264
189
323
256
288
264
202
225
200
239
247
157
242
133
332
168
226
173
203
114
284
191
231
223
166
166
251
209
266
212
199
238
240
208
247
229
241
203
304
266
177
209
167
274
218
185
227
237
259
221
210
204
239
284
255
249
225
240
199
238
294
114
180
298
285
250
220
269
281
240
312
229
161
233
260
268
279
242
189
240
191
192
340
188
293
231
158
198
188
209
214
220
216
160
227
212
233
201
210
222
270
266
213
231
292
238
180
308
251
168
256
232
172
274
229
149
279
215
189
170
174
246
114
302
182
241
246
189
154
214
250
208
188
240
303
219
251
219
215
228
219
313
234
199
158
194
181
357
276
261
114
272
221
259
175
304
289
234
246
156
208
223
245
184
235
165
211
238
171
255
187
208
311
237
300
145
270
156
243
242
194
237
196
191
198
205
208
247
152
202
227
158
246
166
274
253
258
198
168
230
156
200
226
180
191
305
292
264
219
268
182
246
246
180
203
160
304
224
205
205
214
241
168
216
225
255
207
283
250
227
348
201
215
247
189
258
225
229
223
126
219
227
289
221
236
187
277
184
313
333
206
234
265
196
218
285
216
264
235
284
241
311
222
267
173
186
265
229
271
171
209
218
208
225
160
268
243
174
222
173
204
207
275
169
250
213
207
191
191
199
160
187
229
243
222
223
333
222
237
229
227
182
230
197
248
264
226
183
199
186
180
268
241
288
190
309
152
199
199
285
262
202
239
227
239
237
185
227
257
220
184
193
302
224
262
183
200
298
233
144
183
195
271
253
235
245
207
258
192
215
217
307
283
245
235
251
315
160
173
184
177
174
220
173
191
149
180
232
240
230
286
245
302
204
137
203
264
268
235
273
121
201
209
232
197
219
148
222
330
219
184
192
237
277
190
226
335
190
243
250
213
229
191
244
151
270
307
265
170
232
116
200
204
199
190
235
178
215
275
154
220
126
292
290
182
336
250
241
293
168
187
256
194
242
159
178
203
199
168
176
273
196
257
158
229
198
180
214
259
194
218
239
166
139
214
290
237
215
236
227
299
268
202
199
230
231
214
260
277
229
269
248
227
215
230
244
267
194
233
244
301
287
214
226
272
228
211
204
271
192
172
259
205
219
175
332
219
268
224
241
121
355
272
285
213
229
146
250
241
265
214
227
203
178
291
249
227
254
148
164
238
181
284
279
294
202
182
215
235
286
175
202
210
218
193
273
181
272
243
250
185
274
295
210
279
261
239
152
287
218
220
231
224
281
193
305
207
196
237
339
157
156
198
244
152
225
186
202
255
151
190
207
236
214
203
188
177
234
169
194
161
262
161
169
197
173
207
178
199
318
257
250
262
271
206
204
260
219
233
168
202
259
258
293
178
200
249
267
178
158
235
248
230
221
313
209
180
240
217
207
228
268
160
249
238
246
192
171
285
264
224
238
194
209
188
145
246
173
180
213
337
195
227
146
246
221
175
339
249
207
269
257
161
192
188
237
139
114
149
275
246
225
173
254
300
228
162
269
220
293
261
253
228
256
227
229
114
220
271
245
221
284
251
114
187
187
264
238
169
180
223
241
206
285
288
209
202
195
181
211
290
158
267
276
246
262
295
283
237
229
212
237
245
164
201
275
216
366
310
144
347
191
247
172
232
114
233
195
207
324
218
265
268
213
276
199
294
272
264
175
253
149
237
237
234
245
139
237
229
265
175
290
217
245
145
224
255
262
244
223
264
160
185
237
326
204
291
177
203
224
265
272
208
160
152
191
178
169
224
133
273
200
239
183
171
287
244
215
245
174
114
180
192
166
203
181
219
202
173
195
226
243
145
227
184
258
242
170
192
224
209
275
192
282
269
252
233
164
254
236
170
243
202
215
169
233
232
225
152
160
202
322
209
218
159
263
298
245
205
231
203
260
192
176
242
266
184
114
235
187
198
198
152
164
209
197
199
221
198
214
228
239
224
182
163
156
218
185
218
246
245
204
248
269
223
203
282
140
114
199
194
286
238
259
211
261
273
308
160
249
207
214
227
290
229
191
243
222
246
160
208
296
251
171
236
287
262
317
264
159
257
235
190
185
192
297
187
248
215
186
256
185
347
259
152
279
197
154
163
171
165
275
250
158
260
252
206
243
221
173
183
231
267
235
230
269
227
216
265
214
208
255
211
225
209
212
116
221
236
174
236
220
196
256
154
259
214
209
288
186
229
266
257
200
289
299
273
262
260
262
180
237
241
192
293
160
310
208
287
288
265
229
215
204
201
349
192
222
251
217
201
304
220
198
221
224
281
228
179
179
227
228
233
195
263
251
279
244
155
236
306
166
206
244
176
181
149
217
214
269
278
291
287
214
196
233
201
188
301
286
239
186
244
176
263
241
226
252
227
222
108
240
263
242
245
191
243
175
285
235
206
325
167
323
200
169
229
218
230
278
181
270
193
193
213
271
211
241
154
292
233
271
256
174
250
201
244
209
204
241
194
269
192
208
210
193
226
234
198
205
245
207
288
221
277
253
222
218
232
233
207
242
186
229
263
211
244
236
164
165
162
230
321
114
212
206
169
266
196
262
173
284
252
232
241
178
235
252
195
253
236
187
241
184
148
191
198
196
235
285
166
114
229
235
211
210
298
175
286
196
159
174
320
242
165
194
277
183
194
222
201
236
162
114
351
221
285
249
195
231
329
298
252
224
219
252
239
216
252
222
266
221
207
180
228
216
295
214
153
251
193
242
194
213
213
221
199
245
233
114
227
228
253
242
215
270
317
277
166
270
180
200
263
266
186
212
203
237
230
191
196
203
244
202
253
236
299
214
213
148
244
240
262
202
263
200
204
224
297
147
229
233
247
212
249
227
273
266
254
236
144
277
152
206
213
282
261
202
218
248
245
248
297
261
216
262
186
265
152
321
165
278
258
242
274
241
358
317
276
258
202
328
315
155
183
301
189
114
243
321
374
184
240
196
170
241
196
293
170
240
287
156
297
253
216
239
235
194
265
181
114
213
146
252
197
196
307
114
241
276
244
221
188
251
178
275
176
258
223
239
249
126
234
193
261
193
278
287
307
206
227
284
216
181
181
199
128
320
272
146
175
211
235
265
170
192
203
341
237
309
246
176
193
160
261
169
165
326
242
274
211
121
244
282
226
178
253
235
219
184
247
275
179
283
186
270
239
224
180
168
276
188
168
230
200
198
310
272
232
254
214
223
297
169
216
163
250
226
209
214
160
307
279
203
178
170
220
166
230
190
198
222
246
296
239
282
170
256
184
108
292
162
145
207
213
114
156
242
293
169
202
239
181
219
322
282
238
204
181
232
161
185
235
207
215
181
172
206
169
240
156
262
176
214
242
192
223
204
181
261
249
274
246
208
206
275
188
213
202
235
217
306
217
257
238
235
279
289
252
191
236
170
202
260
225
258
196
282
193
219
193
343
233
190
259
166
186
234
207
149
235
231
190
178
199
175
216
196
244
258
273
184
176
245
251
257
178
265
246
152
184
220
151
231
177
209
217
242
298
289
156
199
287
212
183
230
177
239
234
260
158
160
151
240
178
238
209
180
233
243
200
186
188
246
218
295
175
189
203
219
301
214
181
207
167
279
255
287
199
222
249
220
171
223
281
207
273
312
183
206
217
233
212
175
130
251
197
182
242
249
106
215
252
152
224
126
264
213
199
247
215
326
237
216
184
159
223
237
306
203
247
174
114
170
194
264
230
224
227
229
209
198
168
260
226
295
232
173
165
217
179
248
249
251
146
271
272
126
193
199
197
222
151
263
254
265
208
247
218
285
227
173
207
270
208
183
166
215
262
226
200
256
193
184
215
136
195
188
193
181
186
182
166
211
223
216
219
248
262
276
256
147
215
190
197
278
157
248
281
246
295
144
236
217
190
252
303
187
295
184
310
204
194
266
217
250
195
190
208
249
224
213
289
192
274
188
220
226
144
261
254
226
159
257
305
262
259
156
218
206
319
160
318
181
369
292
200
256
229
181
215
129
163
285
215
274
156
182
325
300
213
225
252
201
191
114
193
203
208
262
247
240
227
214
221
279
175
126
256
222
221
235
188
225
266
232
268
239
244
180
303
214
255
289
181
206
191
205
210
295
210
253
199
178
154
228
198
225
263
152
269
179
151
246
247
228
331
177
247
287
231
203
192
235
297
164
190
156
313
261
245
222
231
201
273
224
126
189
241
221
225
223
201
156
229
217
244
252
200
282
232
165
208
234
245
269
208
241
249
181
192
245
198
174
206
184
237
330
236
262
237
191
225
223
142
347
228
181
160
227
214
188
221
269
218
130
196
264
184
237
233
275
227
191
180
237
279
152
195
216
231
293
241
175
212
278
148
166
225
226
248
227
243
229
274
250
253
306
157
212
316
215
158
171
174
265
158
234
194
239
240
251
236
247
195
214
249
208
265
202
240
199
114
256
187
283
182
139
213
214
208
188
265
203
225
236
247
207
223
114
239
177
219
277
209
247
174
248
212
244
245
198
267
234
282
233
319
156
212
194
207
279
238
184
251
319
251
297
266
185
169
269
208
240
270
180
289
192
203
186
168
203
170
156
169
191
223
268
219
309
198
178
255
175
165
225
212
213
239
216
175
192
148
261
239
167
222
215
217
289
284
169
236
177
229
244
298
319
303
161
251
210
193
349
171
155
230
230
191
170
239
180
173
192
224
307
170
263
270
274
229
255
245
175
200
244
219
248
219
276
146
251
177
208
208
260
249
264
226
216
280
230
218
158
257
215
330
275
226
191
276
183
245
203
250
245
193
235
197
203
163
175
333
198
213
222
319
173
168
173
284
323
186
177
114
170
255
292
205
263
213
221
206
270
235
201
267
227
214
241
215
248
200
255
235
198
322
226
219
227
233
192
285
278
257
276
203
223
198
233
305
284
209
222
240
312
259
283
262
263
287
212
192
153
252
160
264
284
227
170
168
262
114
200
182
167
161
172
198
205
194
171
261
260
192
265
351
139
207
161
236
149
252
265
259
218
239
307
271
306
245
158
195
235
263
237
179
207
269
178
227
227
176
265
294
172
228
203
244
191
323
210
262
202
274
239
253
233
234
217
203
286
233
265
200
114
244
273
329
205
192
253
237
225
205
229
137
209
184
226
198
279
348
154
224
244
130
209
292
173
255
209
198
221
224
258
212
211
156
304
255
240
156
202
199
206
311
219
257
203
233
114
186
292
201
252
295
218
243
205
152
260
255
198
212
267
157
259
246
222
266
248
300
216
265
226
290
158
204
241
199
183
126
191
231
180
224
273
161
288
315
233
186
233
289
218
212
232
263
172
216
256
248
258
279
258
203
296
283
306
227
292
214
241
163
198
252
250
201
356
223
258
174
209
255
286
231
217
205
229
303
163
270
234
173
293
198
239
177
229
220
182
217
282
244
250
266
191
222
290
366
165
252
116
217
203
188
314
169
152
201
181
108
235
167
321
203
207
236
226
229
264
273
195
171
336
200
304
239
233
255
208
191
236
168
216
207
231
272
202
190
269
219
236
168
269
241
256
204
278
258
180
238
306
262
246
217
305
183
158
207
160
257
261
155
199
282
337
192
276
279
192
267
258
197
290
274
185
253
126
303
180
234
224
321
258
282
276
204
267
247
216
242
214
238
255
211
196
168
225
227
175
205
265
277
198
188
130
280
252
246
220
212
223
196
248
305
301
248
255
233
251
177
257
195
238
278
239
256
182
160
271
255
181
243
196
223
213
220
246
304
174
225
273
243
208
255
212
220
181
263
222
253
275
211
244
233
200
250
207
258
268
237
220
175
361
226
244
262
225
197
218
217
244
303
180
261
195
220
256
237
299
265
204
287
239
216
165
191
204
149
243
234
283
271
240
286
237
180
214
181
173
267
186
264
255
175
245
272
215
237
269
186
190
220
241
210
231
169
212
205
293
263
222
322
189
231
323
207
245
238
175
254
186
280
183
267
226
260
194
285
216
298
230
229
285
247
195
114
147
257
201
216
235
201
225
237
167
242
225
256
252
168
231
254
308
231
270
270
203
147
256
237
175
207
223
239
210
175
205
215
167
195
297
156
221
217
293
175
242
200
201
278
201
281
121
173
284
222
114
203
225
200
114
175
186
253
256
201
234
214
213
193
197
349
264
283
126
165
203
193
224
198
230
176
198
253
203
252
254
126
244
289
168
204
160
227
174
217
384
291
182
211
180
279
222
308
253
282
225
238
196
229
194
198
198
289
233
242
261
274
237
191
225
273
219
188
255
226
181
217
287
162
215
189
296
263
225
339
246
229
272
214
167
209
237
194
229
180
217
285
224
208
209
199
284
224
281
283
223
274
195
218
341
144
234
220
197
240
278
198
252
274
235
204
330
227
164
222
286
245
242
208
169
284
108
151
216
249
226
221
212
253
216
203
229
275
282
179
213
247
239
247
152
183
215
180
278
280
257
221
232
178
181
207
170
196
260
221
167
304
168
297
223
156
238
220
225
251
278
190
200
273
285
235
206
221
256
247
246
219
247
212
241
261
156
281
194
185
264
280
212
237
282
302
258
229
253
195
328
151
167
170
203
129
229
256
265
228
208
181
161
242
333
199
206
229
237
179
221
203
228
199
309
201
241
228
209
226
233
208
255
233
242
317
283
284
304
205
245
167
223
260
236
329
196
257
242
217
170
254
167
148
259
221
233
152
228
188
175
214
243
133
252
252
162
296
170
145
206
208
241
212
251
184
185
183
208
270
198
282
226
312
247
191
178
210
227
198
156
189
215
151
157
250
252
181
231
168
219
114
214
272
248
243
287
235
284
214
287
162
231
315
309
217
274
165
289
178
266
276
312
292
222
220
273
197
164
114
269
200
244
166
224
210
143
230
249
186
311
206
285
199
196
144
271
234
249
243
154
139
184
312
285
225
178
214
255
268
262
178
190
267
231
209
241
202
256
191
133
200
239
126
321
228
217
310
265
239
196
165
126
205
246
221
200
252
238
235
222
261
192
195
238
183
247
241
277
219
176
293
240
215
174
263
276
284
205
266
170
259
321
227
247
182
239
177
245
269
197
219
229
282
226
312
165
210
266
240
206
157
222
302
211
265
186
222
217
170
174
278
227
258
213
199
250
192
204
247
294
240
207
294
155
157
228
225
281
193
267
198
293
188
227
187
220
252
166
209
285
192
223
225
292
220
212
175
260
233
288
256
198
179
192
215
226
162
173
247
193
175
234
194
207
310
183
234
234
170
233
154
288
248
237
265
137
291
164
192
241
192
256
249
243
146
218
249
258
324
316
278
318
266
197
199
173
205
195
187
151
262
254
220
192
176
319
209
148
200
296
160
166
226
295
235
233
234
230
225
246
145
188
173
238
195
211
237
175
280
192
256
217
200
312
178
228
253
286
193
241
187
202
191
251
178
168
214
129
202
223
236
271
170
250
219
192
183
209
280
228
261
309
272
299
235
244
274
171
231
200
323
232
215
244
152
242
200
212
234
223
205
212
206
232
212
272
267
207
256
186
234
233
156
152
303
183
237
295
221
253
129
227
214
176
213
152
237
114
207
234
260
282
238
192
247
192
242
308
245
166
218
165
241
196
234
207
203
192
200
151
235
249
192
184
242
263
242
207
195
202
254
303
204
217
210
193
232
226
274
267
201
162
114
235
193
286
247
223
251
149
232
166
253
238
197
176
251
182
281
192
198
223
162
319
224
274
269
251
186
205
205
241
279
239
161
201
182
224
185
193
255
219
221
114
221
239
178
285
245
231
186
186
244
333
357
231
221
210
354
256
174
161
319
241
151
176
140
213
225
219
229
235
196
219
190
114
213
221
218
265
192
233
178
235
166
126
192
254
229
189
287
327
156
192
245
168
282
235
293
189
240
228
231
179
278
257
133
181
284
158
259
275
177
276
164
160
184
234
221
253
226
218
188
195
175
214
268
227
203
290
203
156
299
114
308
249
209
192
289
256
242
255
210
241
330
229
206
289
230
244
292
196
259
218
169
216
171
226
129
244
203
157
189
212
263
247
158
279
227
202
265
177
235
221
251
251
203
230
243
259
242
284
273
208
225
280
160
309
145
209
262
256
214
227
214
215
149
244
221
214
211
176
188
145
144
186
203
199
249
316
192
184
175
262
251
126
273
180
241
242
174
228
171
198
232
228
248
191
114
182
258
225
196
285
249
226
240
170
221
251
251
275
254
246
171
198
242
252
188
229
177
189
205
257
228
151
187
312
202
262
189
174
213
220
214
271
240
278
191
239
212
175
243
208
152
218
261
245
108
259
198
114
211
225
204
287
198
218
261
114
262
184
232
250
247
130
213
232
313
218
288
183
231
292
238
152
178
165
266
222
277
287
175
204
213
245
245
226
202
196
225
327
199
192
283
253
231
216
220
189
226
236
261
214
192
146
281
262
250
219
186
185
220
175
294
200
180
234
203
247
194
200
213
176
260
114
202
251
196
280
348
284
243
207
161
250
245
252
252
187
229
253
234
174
234
226
268
250
168
274
267
229
147
215
359
225
137
240
171
230
295
181
188
188
164
266
253
286
152
179
170
299
279
250
212
306
139
191
219
181
313
176
224
181
163
174
153
199
106
266
236
213
214
212
161
204
205
228
207
187
290
199
126
186
252
252
264
195
230
258
182
259
267
222
188
222
237
247
249
162
170
195
181
230
185
293
204
207
336
126
114
206
190
273
169
295
203
146
282
229
226
189
233
275
313
214
126
186
156
309
170
231
180
243
209
261
240
162
139
208
174
237
163
261
297
146
265
183
161
114
231
244
233
174
258
236
323
203
165
194
192
192
199
183
228
211
203
250
320
216
218
196
213
197
297
166
184
186
230
196
193
146
180
246
266
238
218
228
195
226
243
208
170
261
223
315
246
199
221
288
264
285
208
260
160
165
287
259
192
186
213
179
193
255
196
250
179
227
272
248
208
165
154
239
175
242
240
217
173
257
174
218
206
229
180
162
252
276
230
197
252
193
200
222
311
209
272
243
248
190
254
215
247
199
249
190
214
197
250
190
145
200
315
241
223
262
210
286
265
202
229
288
178
251
258
216
219
138
221
262
186
165
231
238
176
204
247
184
239
194
257
165
195
220
227
267
208
189
254
174
167
192
233
160
276
224
242
159
193
185
233
260
280
253
152
248
157
275
213
217
188
218
240
229
193
229
174
242
264
126
215
208
148
126
149
203
168
256
171
184
239
167
148
276
270
204
287
168
324
283
169
277
200
228
316
155
274
318
180
145
227
196
244
246
259
242
238
202
180
259
191
272
266
209
208
208
238
259
210
159
114
319
174
224
207
203
225
220
175
168
215
271
312
246
285
201
238
190
220
233
280
114
221
247
218
285
278
130
201
191
236
285
233
221
277
200
191
221
241
226
158
139
223
263
277
174
277
222
221
244
151
268
277
229
175
170
243
228
253
138
232
306
239
184
237
254
294
232
196
258
168
283
231
221
294
228
159
245
156
156
235
291
208
178
200
180
275
236
248
306
214
220
209
228
232
291
158
191
257
246
225
230
276
236
240
200
247
213
305
215
219
225
195
139
256
198
208
240
212
207
186
222
297
196
281
174
223
244
114
201
309
279
198
210
220
201
190
273
267
269
206
179
231
240
309
180
168
263
228
329
258
176
326
180
219
255
289
212
213
190
216
213
208
280
306
185
178
181
209
287
241
297
275
278
281
286
181
217
263
221
278
291
191
288
239
205
251
235
235
228
254
194
240
191
196
213
203
258
224
216
279
205
291
271
223
156
184
145
227
273
262
244
195
249
254
192
250
286
235
185
209
220
149
269
294
239
225
203
224
220
231
262
282
240
248
218
246
281
279
194
184
249
174
200
194
238
185
248
218
180
197
213
209
208
267
211
205
244
181
258
284
230
291
274
225
213
188
296
239
139
264
209
227
212
232
271
239
175
219
239
246
195
167
242
281
181
189
185
231
108
210
139
218
249
178
183
275
238
108
219
222
154
203
281
265
240
274
257
191
148
263
192
260
199
211
220
164
114
266
203
255
260
247
161
189
237
218
153
309
171
166
241
193
199
228
221
270
194
181
193
224
243
230
198
265
192
292
241
194
228
280
230
271
188
220
242
258
158
200
169
251
282
147
273
229
280
175
270
144
220
221
234
281
207
275
255
236
235
175
139
210
320
212
236
302
266
168
197
276
217
174
331
146
207
241
195
223
217
291
284
226
278
307
275
263
239
261
235
262
243
194
256
245
114
213
238
164
252
215
242
238
213
216
148
273
204
301
207
226
219
186
264
206
170
307
233
238
287
260
220
225
269
224
160
311
231
239
214
280
148
194
200
166
232
241
277
209
244
206
200
265
225
260
160
265
180
195
206
168
261
271
227
224
312
195
282
271
272
168
277
166
191
245
216
273
319
257
193
231
202
186
241
254
261
220
261
195
235
158
238
150
190
183
220
139
226
210
292
204
278
215
201
275
296
214
163
214
191
201
233
268
243
240
245
270
222
216
175
273
204
241
268
304
229
218
269
203
203
235
230
293
239
226
290
235
250
238
213
198
181
204
205
151
269
208
139
275
242
325
313
308
166
237
255
116
293
213
209
228
191
210
281
263
129
189
158
225
180
250
179
194
223
207
242
210
212
210
184
204
214
232
244
207
218
181
174
210
377
129
163
201
216
283
199
183
163
237
270
145
204
281
194
240
192
297
198
154
177
230
190
283
225
248
259
245
304
256
176
171
210
257
296
170
190
196
156
225
263
219
223
267
321
242
221
220
210
216
224
233
169
257
220
246
236
261
217
226
267
189
206
234
256
212
231
169
316
233
197
215
267
200
255
162
196
236
256
208
226
224
222
175
206
198
221
248
261
281
253
219
277
226
212
248
241
166
227
267
270
216
274
256
256
199
200
193
213
205
260
232
238
246
246
146
186
305
226
203
222
169
239
234
198
184
237
251
196
177
219
217
165
224
216
267
171
220
222
183
241
223
161
114
187
280
266
220
261
198
346
291
272
236
152
170
243
246
287
177
227
155
217
268
225
214
186
269
195
230
273
214
203
233
237
318
178
242
170
243
174
193
199
290
263
206
199
169
189
261
237
170
299
167
208
175
301
245
187
160
267
237
282
147
247
207
204
243
246
297
244
223
202
230
323
196
226
202
121
175
230
272
241
223
198
205
156
305
219
238
241
215
246
191
164
168
252
277
253
178
278
235
260
286
260
170
235
290
219
192
264
176
278
228
284
195
194
227
252
232
209
198
126
186
290
295
204
180
211
294
277
267
283
297
266
228
236
186
151
223
208
262
219
211
276
299
248
211
196
273
225
220
229
264
279
244
190
238
173
226
282
198
230
270
297
215
226
173
233
208
167
270
192
235
244
215
235
160
237
209
362
250
272
262
282
205
247
160
175
146
281
328
210
185
226
261
268
303
220
290
267
243
195
227
211
133
160
178
178
251
186
141
184
225
222
245
144
284
196
293
250
156
275
229
195
234
213
297
220
225
209
231
254
266
155
219
225
203
222
209
158
220
291
239
250
196
308
249
265
225
182
243
247
240
214
190
227
218
329
226
248
187
201
207
130
216
203
272
197
181
173
220
190
229
247
227
228
189
177
205
162
239
208
166
192
160
160
264
189
265
210
251
196
301
263
220
170
172
266
181
203
263
258
193
198
221
270
236
183
259
195
162
214
222
214
208
237
284
196
275
210
247
231
169
225
239
252
243
254
225
270
214
227
262
224
225
191
200
232
270
227
263
241
204
234
198
249
210
234
219
260
247
212
233
258
245
166
220
296
209
273
227
305
261
176
190
206
114
214
284
284
217
188
252
228
250
294
190
173
277
325
259
209
254
240
175
280
172
288
262
238
230
246
221
192
254
256
179
145
227
232
281
178
278
196
162
161
286
231
220
189
220
266
238
301
238
165
266
293
182
170
203
285
222
297
239
121
157
199
275
228
266
292
173
204
257
203
275
217
160
300
196
219
252
275
267
187
236
199
282
236
182
227
250
180
176
195
166
158
290
328
280
116
218
235
192
240
174
157
198
210
280
203
178
237
208
261
244
227
188
226
171
250
182
258
241
234
220
263
184
170
237
248
226
214
198
342
207
207
225
304
264
228
320
248
174
219
156
249
176
238
321
194
209
174
151
317
185
159
281
222
205
303
304
260
252
187
166
180
191
256
221
229
220
206
263
252
301
221
231
179
259
253
242
216
193
186
236
188
269
235
203
240
211
204
201
148
255
241
202
181
279
180
221
286
183
321
230
153
213
253
267
203
264
239
236
244
220
188
212
240
210
225
269
155
187
278
230
265
249
186
274
183
195
275
148
298
242
245
217
239
213
223
212
203
317
178
208
210
284
262
217
324
264
176
241
299
228
190
152
233
234
225
166
170
192
225
229
250
180
275
245
219
278
297
243
225
266
212
317
238
193
206
213
206
223
230
285
249
279
156
280
242
227
281
268
175
184
242
139
232
218
228
229
232
234
212
158
188
227
206
349
259
299
275
221
226
228
264
223
318
236
114
293
175
198
171
192
284
260
244
179
210
262
228
245
248
218
194
218
246
194
192
133
158
192
231
207
209
313
198
188
216
241
185
227
206
239
145
259
243
289
212
233
290
253
249
183
146
217
205
299
286
281
208
184
222
288
266
234
291
175
235
208
207
214
172
202
270
212
263
285
233
230
235
270
213
204
249
208
192
193
241
238
239
245
353
205
230
197
264
193
144
196
194
175
299
195
245
218
233
176
364
192
220
195
250
258
228
210
154
258
156
256
204
244
270
332
313
285
227
231
176
248
305
170
222
252
217
285
267
253
209
145
160
247
196
212
192
207
155
171
253
198
198
157
298
200
186
204
309
270
243
143
151
259
250
256
196
203
230
176
215
264
266
227
220
267
114
151
250
243
273
250
195
185
261
180
193
170
270
188
198
247
242
295
186
280
202
191
149
241
130
210
188
212
256
208
258
178
184
190
245
215
242
250
266
192
246
260
294
190
222
192
247
262
212
246
282
278
253
195
291
241
220
256
177
250
374
312
240
276
311
203
256
199
254
196
258
227
247
191
180
265
293
254
250
243
179
214
239
194
177
189
209
272
287
208
289
156
183
246
287
261
197
215
230
228
251
237
210
284
190
186
289
275
200
227
268
195
186
273
216
293
229
313
214
244
257
268
331
155
253
234
229
198
260
234
222
207
182
214
222
235
152
181
173
270
203
207
288
237
207
314
208
250
262
293
212
198
245
254
145
281
243
243
316
205
116
184
267
160
274
218
241
186
192
238
247
166
241
199
264
212
206
224
233
198
235
220
269
191
266
219
207
291
268
220
148
169
278
298
269
152
244
261
251
215
266
207
265
236
158
213
262
203
253
238
217
287
296
294
268
268
222
223
218
222
297
222
205
281
165
318
211
170
238
274
270
273
214
191
198
212
215
223
249
195
238
263
196
247
198
298
170
250
189
227
179
235
224
204
219
242
238
220
229
188
116
295
210
200
237
181
241
217
315
249
201
178
192
198
267
256
201
235
274
236
106
250
222
219
182
162
180
220
273
201
181
165
226
162
247
229
299
277
236
274
222
186
196
198
207
237
145
227
244
258
180
280
189
163
200
177
186
235
219
229
256
260
281
240
223
233
243
145
212
220
210
294
168
314
245
160
220
235
328
184
240
232
216
187
245
191
283
193
220
114
176
200
253
314
300
181
174
260
223
249
205
189
203
215
178
230
255
195
239
173
205
292
264
309
250
276
179
213
246
241
213
216
262
263
218
242
176
158
292
219
189
194
252
263
272
230
215
264
266
264
220
306
199
224
178
256
233
214
178
240
259
267
274
114
170
234
174
205
167
212
205
181
154
232
215
250
258
152
207
288
281
240
173
270
185
275
233
217
248
167
252
224
186
205
258
218
160
213
158
289
245
283
181
281
267
161
267
192
328
214
258
186
178
235
231
114
223
295
258
154
193
225
290
114
306
258
200
163
178
262
280
178
126
203
225
130
114
207
239
205
234
228
241
213
311
189
149
184
264
251
250
282
247
210
239
263
309
217
176
231
243
126
158
237
183
181
325
177
204
205
176
170
226
175
229
194
255
233
170
232
248
171
298
219
267
296
173
301
227
316
240
253
270
229
231
272
108
173
243
198
165
304
244
251
227
277
214
178
233
322
202
256
262
233
262
227
196
215
266
286
225
205
126
270
284
209
270
301
270
173
160
121
219
211
290
235
175
252
231
249
218
260
192
253
257
247
183
167
250
164
202
281
213
175
336
228
211
114
252
190
230
206
192
214
316
256
276
219
183
303
202
228
238
160
239
237
266
207
249
230
202
108
251
200
108
266
294
290
290
184
363
170
239
255
169
237
284
189
225
203
295
221
145
240
214
228
219
183
170
232
276
312
198
249
260
253
255
230
214
246
173
219
206
224
174
190
145
256
195
269
241
234
227
152
289
208
299
188
198
243
237
114
140
230
192
247
218
217
196
247
211
237
190
307
212
180
310
199
152
239
224
148
269
239
213
226
285
280
200
192
152
269
171
228
139
225
234
206
296
249
137
114
285
195
185
356
287
247
203
216
305
218
237
224
184
215
179
222
269
260
139
181
217
207
228
222
181
256
236
180
254
214
252
300
217
242
151
267
202
192
174
285
234
130
227
206
189
233
232
243
177
240
371
235
221
288
250
187
338
213
186
279
345
217
144
202
225
162
302
116
228
254
231
201
249
148
229
213
262
200
250
255
224
114
194
310
224
233
180
314
286
198
157
241
231
244
114
283
201
234
219
265
238
151
235
205
231
229
219
265
225
169
234
275
114
238
300
241
262
256
267
222
203
277
169
208
224
239
224
114
114
169
226
191
179
233
173
316
254
270
159
189
220
187
242
211
251
153
148
251
203
235
226
114
235
230
177
234
202
195
229
187
221
224
200
223
177
220
218
192
280
146
313
237
226
282
281
223
211
253
248
225
229
257
218
267
179
182
279
194
225
139
205
192
167
218
254
218
152
263
200
175
254
205
244
226
238
243
250
174
189
325
236
335
222
234
292
330
175
273
217
246
158
178
241
145
218
173
274
191
194
245
260
184
304
190
274
189
286
251
257
298
208
212
229
216
237
223
159
263
215
170
165
227
232
227
193
257
195
198
300
249
156
223
177
233
169
235
174
108
222
195
216
156
175
265
156
225
225
213
209
229
193
196
262
188
184
203
122
236
220
247
192
203
275
265
194
220
301
167
260
197
255
162
203
204
225
248
234
220
246
235
245
228
234
337
232
219
292
184
201
202
250
170
211
130
246
193
191
218
213
228
202
216
244
279
265
200
213
156
227
233
245
296
160
225
224
272
307
183
219
300
233
209
254
178
229
302
285
208
311
224
139
246
164
246
233
229
152
180
202
179
208
191
276
290
218
240
244
220
175
368
296
217
226
269
234
263
186
207
247
212
248
222
151
213
224
270
139
193
248
227
266
255
241
179
263
238
268
201
264
213
246
176
247
245
245
260
209
213
247
255
288
212
217
260
254
269
307
280
168
203
290
192
252
166
188
207
267
152
181
227
246
233
201
294
211
183
253
227
176
222
234
200
211
214
170
243
197
198
300
270
260
328
178
264
186
191
196
251
229
215
189
352
243
126
302
266
170
156
129
324
242
250
238
236
232
228
289
247
211
232
221
207
219
224
266
236
243
219
265
290
178
239
283
277
279
343
178
211
151
175
193
271
170
211
145
254
260
205
245
260
139
208
224
263
255
291
178
219
178
242
180
272
304
307
184
156
192
129
129
216
179
229
211
228
214
232
183
240
238
213
241
189
283
304
239
233
238
228
154
213
195
217
197
152
227
227
193
195
210
259
283
222
236
231
114
222
267
197
192
245
261
251
232
184
202
199
216
244
157
217
307
246
207
156
206
151
190
193
254
206
255
114
198
247
241
239
195
196
222
162
259
156
246
250
168
205
264
181
280
251
227
315
201
220
140
174
154
240
303
229
275
268
180
229
178
184
219
241
197
196
282
214
184
254
244
289
219
191
198
242
304
217
174
206
200
190
266
262
242
157
212
192
178
253
264
253
236
249
232
229
304
204
270
192
194
200
232
243
226
265
281
207
248
210
218
206
176
276
289
301
238
274
250
228
157
201
230
222
282
197
196
114
158
225
166
254
264
215
318
224
220
184
265
247
233
165
258
255
157
223
302
192
173
214
192
263
139
198
156
238
269
168
237
258
278
187
263
190
194
228
204
147
234
353
172
191
234
201
234
190
251
291
179
181
200
262
156
164
225
177
192
130
190
160
258
166
192
194
226
147
207
253
178
190
174
207
280
241
209
188
222
266
194
171
247
178
126
229
302
173
151
195
250
318
165
204
259
149
222
114
220
180
160
224
201
211
199
244
268
114
229
212
272
195
227
201
247
195
192
252
198
226
239
286
235
228
255
200
209
199
203
192
158
159
265
245
213
239
311
160
208
215
225
239
212
261
171
203
116
202
246
225
285
161
295
197
176
195
296
221
214
212
248
173
201
238
223
231
178
216
250
227
265
311
261
271
173
233
201
243
192
245
266
192
203
264
197
265
199
304
174
277
188
182
202
240
235
171
285
238
217
249
268
221
170
211
235
234
232
251
212
212
248
178
167
274
186
221
237
191
248
257
223
159
209
173
149
174
277
189
254
195
271
204
245
244
193
354
237
246
234
200
174
310
201
210
277
245
190
274
225
290
262
193
278
262
249
198
308
208
248
223
220
254
323
286
252
249
307
216
259
282
202
218
164
261
200
273
229
193
191
189
178
198
207
223
252
344
121
200
235
217
268
234
198
181
202
181
270
248
221
158
262
209
266
192
204
228
236
222
170
275
160
289
211
218
193
229
228
235
149
106
228
233
165
159
257
238
265
219
254
211
192
201
224
256
238
151
182
247
253
250
199
314
208
238
241
312
257
185
278
215
232
280
197
300
169
211
174
184
228
267
192
261
229
242
194
232
192
145
225
249
262
241
225
242
204
222
186
205
267
200
165
189
188
220
156
157
222
222
265
220
214
281
264
220
251
240
236
251
240
269
212
263
203
169
173
273
178
147
182
178
195
305
212
235
212
235
298
254
249
190
208
189
161
267
254
190
256
262
289
199
228
152
226
277
198
210
217
263
183
236
209
174
192
213
181
299
218
263
261
198
240
243
223
233
168
265
259
263
163
250
173
252
217
218
186
196
160
235
199
216
241
301
181
194
255
231
202
237
231
277
179
228
193
244
169
278
217
267
265
235
156
215
188
178
233
239
145
256
225
229
225
114
264
236
210
223
152
224
248
213
219
238
229
184
219
167
281
184
225
252
304
181
214
229
222
204
280
225
221
201
201
206
173
201
279
227
229
213
234
182
249
221
240
273
189
175
265
246
213
298
175
222
178
256
179
285
177
172
173
261
173
114
261
126
286
231
283
180
222
310
163
202
166
228
181
233
161
179
139
289
235
241
228
243
260
209
234
264
226
203
156
114
286
257
188
247
146
253
223
296
224
194
262
325
259
198
215
284
257
228
158
189
219
211
211
228
247
266
185
192
288
170
212
274
212
227
224
274
178
236
239
170
245
116
183
195
253
300
342
229
248
328
303
285
182
220
214
242
271
178
195
236
206
238
319
248
165
201
206
217
181
258
235
129
264
190
277
170
276
269
279
193
240
275
244
251
159
194
185
262
254
207
284
272
233
261
199
175
224
223
242
219
148
264
190
203
208
114
239
179
200
227
288
279
249
220
240
230
178
213
195
222
227
180
253
173
296
217
258
212
315
206
274
218
218
256
245
231
268
249
148
214
245
265
170
235
139
238
193
187
241
297
229
202
234
224
126
244
282
188
244
229
175
214
192
217
196
335
197
231
164
229
156
246
250
189
287
249
181
296
251
276
170
289
188
202
227
174
242
129
272
272
238
171
256
193
247
106
227
289
204
238
214
193
210
237
278
234
255
249
219
251
178
216
170
258
279
166
269
277
203
114
219
316
218
214
161
282
236
242
189
178
258
292
204
293
174
187
256
206
228
152
219
168
214
249
176
292
147
186
161
259
217
211
219
232
213
210
234
182
206
237
182
205
291
245
198
281
255
267
230
162
222
270
287
216
211
280
241
257
219
301
235
252
263
229
217
185
182
214
197
203
129
279
252
238
340
203
244
276
244
213
263
190
218
222
244
243
192
255
225
339
126
219
275
206
293
375
170
198
195
213
221
223
240
207
237
199
261
231
255
247
217
231
252
297
139
277
186
237
242
253
281
169
219
246
215
220
162
238
188
284
231
298
227
220
164
295
245
220
277
164
266
226
234
178
204
255
208
216
279
233
247
209
222
200
252
162
165
230
287
250
184
230
191
242
210
241
218
307
230
240
187
247
156
183
289
282
203
191
289
207
173
273
204
235
213
218
207
282
235
214
263
235
175
214
295
237
201
312
233
265
174
222
260
252
296
220
156
286
303
170
268
176
235
191
195
280
193
114
258
243
251
151
274
193
193
265
249
308
242
191
246
222
312
261
214
239
238
199
264
301
221
227
177
260
243
225
196
225
234
126
288
254
236
193
266
219
213
174
286
250
276
234
179
222
208
260
245
217
146
268
312
239
219
211
195
235
186
213
322
269
196
150
278
278
255
271
206
261
171
272
177
215
191
197
259
212
360
212
202
222
196
174
351
185
280
220
225
323
262
225
217
171
152
176
236
216
212
141
114
238
310
360
197
223
192
264
249
247
243
368
251
219
241
234
197
198
197
262
152
306
160
206
293
213
288
224
258
243
269
224
219
248
239
207
236
259
178
225
364
247
254
228
194
184
229
241
200
267
322
223
175
264
251
241
209
226
178
207
253
250
168
158
161
255
189
173
196
159
200
187
170
212
225
215
198
275
168
220
269
267
303
234
240
180
209
189
198
196
188
243
208
261
189
315
193
192
229
293
212
218
223
175
173
212
232
284
168
192
181
295
266
202
276
198
193
180
166
269
250
235
191
266
310
152
337
202
253
191
259
208
227
209
178
219
282
223
244
212
269
235
256
129
256
249
261
244
189
226
176
157
195
212
184
191
191
155
272
199
268
279
228
263
236
221
209
243
205
158
254
198
305
214
299
225
206
232
246
241
242
139
191
337
172
306
242
211
262
234
261
265
246
227
187
225
156
227
237
232
204
240
201
222
220
249
197
257
192
154
243
160
216
130
161
215
157
181
126
193
216
303
245
217
306
273
256
282
277
259
256
114
199
295
161
222
295
166
166
244
226
238
271
175
221
176
336
243
237
222
151
240
218
260
203
160
155
306
196
248
217
229
129
238
247
217
227
258
234
219
146
253
208
250
198
247
267
267
154
114
189
173
224
182
217
198
239
214
292
176
261
139
238
269
175
169
252
302
247
179
219
238
219
227
214
201
226
323
195
274
214
145
221
223
178
160
208
199
169
241
208
185
249
192
215
191
260
215
227
263
165
157
277
139
319
161
188
228
212
214
224
160
240
256
180
210
158
213
288
221
196
178
207
227
276
241
251
249
218
237
239
260
256
286
277
234
156
232
218
222
187
200
175
126
272
170
196
243
188
182
204
185
199
226
284
273
235
193
201
151
239
243
183
121
296
214
168
139
288
231
295
332
241
281
229
221
126
218
176
164
286
269
261
256
281
224
114
240
218
291
199
204
173
255
289
214
206
192
226
345
202
178
297
262
206
247
302
277
264
183
239
197
206
290
242
274
146
289
298
196
240
276
228
197
223
236
197
247
269
207
210
182
145
253
205
175
144
168
262
226
173
207
211
228
296
309
208
259
286
219
166
278
161
262
270
165
282
234
230
224
252
274
229
191
319
221
245
204
287
273
210
246
151
192
335
146
216
247
214
139
217
283
114
198
246
213
174
193
223
255
263
215
186
165
184
234
228
259
194
184
198
177
228
244
220
265
192
164
205
188
285
231
194
259
262
186
225
218
219
169
170
153
173
174
238
126
350
222
250
295
139
232
206
245
217
275
300
249
200
238
114
219
223
214
116
250
262
217
279
245
242
197
276
230
204
259
172
222
173
238
219
189
225
183
246
175
301
215
152
266
239
189
200
278
252
224
286
224
258
221
197
166
327
241
262
220
226
178
288
197
302
243
243
266
216
205
200
239
191
270
198
250
245
225
248
228
223
194
190
221
230
220
260
235
231
204
251
229
257
270
158
355
221
196
249
233
295
240
222
258
249
219
170
301
181
234
173
246
219
285
114
214
161
234
243
152
317
144
193
182
249
192
249
173
183
240
275
245
209
133
239
198
224
240
173
178
193
239
294
276
279
178
280
258
285
221
191
251
176
162
246
301
249
227
114
188
195
229
215
258
226
151
294
170
192
306
167
167
214
167
260
173
236
251
202
316
234
220
243
213
180
223
210
201
229
176
200
234
276
211
187
240
253
281
232
184
257
262
211
203
242
231
253
208
216
302
227
264
189
243
302
260
203
217
250
313
202
216
229
249
253
176
223
233
297
262
221
189
166
280
206
233
216
223
315
213
215
255
248
129
253
251
205
219
207
234
264
298
227
214
224
290
187
216
226
242
226
175
238
202
215
289
241
238
240
208
284
244
232
207
265
146
201
180
175
268
179
170
250
215
308
176
198
252
240
281
272
270
195
223
221
171
202
239
189
146
249
261
294
258
253
249
214
261
175
252
172
214
210
181
168
216
196
228
307
265
259
199
349
128
139
277
218
146
215
212
206
251
232
340
243
245
225
208
161
216
240
203
239
203
208
144
231
214
241
258
170
198
243
255
237
246
297
324
178
146
234
234
205
232
218
219
250
214
235
218
260
226
272
260
201
192
250
258
221
200
294
238
247
273
241
179
194
283
272
205
179
200
272
283
218
126
267
249
249
272
189
248
247
247
157
244
218
208
267
173
209
145
248
288
225
237
237
226
296
178
227
255
226
199
214
196
213
219
217
225
234
265
233
254
114
266
270
281
171
222
249
202
244
191
253
277
236
181
170
237
247
167
192
231
223
178
173
174
171
151
248
205
251
223
259
199
264
200
208
222
218
190
204
284
200
177
214
228
227
268
182
223
239
303
194
281
256
235
240
214
262
160
286
231
301
253
262
210
221
205
207
303
228
228
269
280
222
240
195
260
300
225
269
273
258
263
222
213
296
247
203
275
255
263
239
265
174
228
253
215
239
235
175
213
216
181
210
201
248
158
297
147
230
203
204
251
225
214
233
114
216
270
228
215
233
234
208
228
116
245
198
168
283
116
232
182
218
266
192
192
208
178
243
279
295
144
214
240
207
215
225
229
234
231
169
168
209
197
255
176
279
195
178
174
259
180
270
262
299
229
162
203
214
209
273
312
139
182
217
181
237
250
225
251
198
235
274
170
277
210
249
183
256
213
247
240
209
203
149
178
225
227
300
189
240
333
251
252
177
202
222
265
170
188
279
293
176
180
243
169
256
200
260
217
241
234
225
213
227
237
233
189
260
331
231
178
266
152
178
214
184
306
240
273
227
205
189
280
220
172
232
221
237
203
229
175
215
240
213
242
293
318
214
261
175
223
141
225
181
196
215
303
197
259
220
167
173
215
238
213
176
295
220
321
274
251
263
199
198
213
217
247
240
300
286
187
201
202
190
215
257
237
221
196
286
235
200
178
256
183
207
217
253
152
145
268
250
235
272
114
263
216
114
230
287
231
158
259
154
177
231
281
189
247
266
182
180
170
260
174
182
246
247
175
219
333
185
217
292
284
217
245
314
193
211
204
252
261
129
222
204
273
220
226
173
214
282
174
275
226
219
225
196
213
161
282
265
336
200
176
180
247
199
193
212
146
178
253
250
283
237
193
205
255
234
309
185
222
261
165
197
291
190
233
244
248
275
158
226
203
152
161
266
248
301
288
191
199
309
254
341
285
214
327
185
175
259
256
152
219
151
158
348
243
240
243
245
181
195
169
263
169
177
180
294
247
236
303
148
235
235
187
158
199
247
310
197
209
260
199
256
257
186
292
211
203
238
222
214
148
191
190
266
197
275
232
170
238
244
206
210
277
144
163
169
243
116
302
225
156
181
227
224
236
198
180
238
227
303
183
263
218
244
204
208
169
229
201
200
244
204
218
205
212
203
300
193
181
284
151
239
285
193
312
204
166
201
219
243
174
178
249
263
233
174
264
274
194
178
160
198
200
258
236
268
207
217
220
167
181
183
234
227
293
274
180
219
225
203
208
230
192
264
215
266
255
219
201
187
108
213
232
211
222
175
279
195
184
247
286
173
160
262
247
284
223
207
199
246
287
210
223
231
245
248
210
201
198
194
275
191
252
242
313
247
192
181
235
226
247
262
254
205
208
275
240
233
243
158
268
251
283
175
168
140
199
211
284
191
176
243
219
212
219
234
278
203
284
244
261
269
210
223
277
220
263
181
262
163
172
195
245
256
249
175
155
214
201
299
181
186
189
267
139
215
237
315
261
280
201
201
197
191
242
255
275
157
206
243
229
186
281
187
196
214
211
198
190
228
193
198
209
198
223
245
192
235
174
239
232
250
215
223
209
184
173
268
172
163
233
194
251
211
315
114
189
252
203
282
233
223
245
114
197
237
180
294
202
276
198
235
239
208
221
184
219
208
237
247
200
221
178
221
208
198
229
279
182
317
246
193
219
167
244
151
206
170
259
235
248
248
169
266
218
336
257
217
181
259
194
265
173
169
256
208
253
233
186
214
205
175
192
203
264
205
235
213
247
247
223
241
204
223
195
248
229
214
219
257
349
208
302
267
168
175
219
248
260
185
229
163
197
280
228
282
252
247
155
203
210
186
303
202
278
262
199
204
254
221
201
245
275
165
206
309
173
251
248
178
246
195
275
160
240
183
228
186
255
240
174
221
178
263
250
191
168
246
218
247
276
263
201
219
222
217
223
296
191
156
266
181
182
214
175
286
193
166
254
183
151
160
196
217
222
188
156
215
211
220
191
196
173
176
233
251
234
192
267
269
197
167
318
240
211
180
139
264
287
227
242
156
263
226
223
201
249
192
223
267
208
252
297
185
199
237
194
258
285
252
201
161
208
290
254
160
226
209
311
201
260
257
179
181
273
268
235
235
254
226
219
259
251
169
245
181
198
162
188
272
231
166
207
245
220
223
229
192
212
276
223
165
209
224
233
270
188
201
181
225
208
256
208
184
211
256
204
165
174
201
317
195
222
184
284
156
170
277
208
346
203
199
187
214
193
228
247
232
191
269
281
270
160
180
198
289
301
279
183
201
241
251
306
220
197
310
164
175
263
205
241
226
161
172
344
253
279
233
166
253
223
244
189
158
190
275
246
283
251
202
216
252
276
144
178
195
187
195
261
239
186
219
222
207
238
175
224
283
225
232
237
231
290
210
258
272
230
178
214
257
208
197
229
265
278
181
219
233
278
193
190
258
198
225
306
225
263
277
231
239
166
261
248
212
221
236
256
205
224
261
199
267
186
247
202
245
232
221
256
206
298
139
213
192
210
259
253
187
265
257
289
252
245
221
213
277
186
229
193
180
202
216
221
160
190
200
223
322
285
179
199
235
221
114
204
228
222
215
170
184
225
240
245
222
205
239
175
270
208
196
237
154
200
249
314
146
209
161
212
209
165
241
114
173
281
162
210
262
198
321
152
190
214
258
151
190
226
312
245
223
213
243
180
287
173
228
322
263
280
181
195
173
288
234
191
278
263
209
239
173
223
242
222
199
278
317
261
139
270
261
177
147
225
178
246
257
223
152
235
183
227
261
158
315
287
296
321
277
153
178
315
257
268
248
209
251
253
211
255
152
300
249
157
213
208
231
317
203
121
250
281
227
202
192
218
352
202
190
170
371
196
249
170
236
305
255
272
197
243
250
223
216
243
276
242
230
185
252
200
205
168
169
305
258
267
206
155
207
207
244
233
214
146
220
114
241
181
322
170
207
283
229
208
263
216
267
257
160
232
213
237
207
248
238
260
225
267
114
292
191
156
133
183
249
244
114
266
176
248
196
314
214
218
206
355
257
248
255
203
258
240
214
218
221
230
227
211
219
195
203
203
258
288
188
199
216
272
205
312
211
209
255
263
197
227
160
209
169
234
225
145
173
260
296
189
204
266
235
149
221
245
259
148
236
206
270
258
154
276
219
291
145
179
182
208
241
174
149
140
255
246
181
323
192
309
221
263
202
282
231
219
180
224
173
251
276
242
203
293
199
302
184
177
315
220
270
311
239
218
192
226
220
170
225
256
181
161
201
166
231
266
270
207
158
259
258
267
238
170
161
212
239
164
296
279
197
279
198
256
166
160
213
187
214
227
220
160
294
211
246
207
228
317
238
279
237
156
215
275
278
215
156
263
210
254
240
265
240
192
222
170
184
156
212
203
311
262
129
180
212
253
235
204
183
248
173
194
203
270
114
220
194
208
257
172
175
192
256
254
167
133
229
232
269
285
264
186
185
175
208
214
233
261
255
161
218
203
287
252
206
251
213
156
198
211
196
316
276
165
274
240
190
208
214
161
151
241
172
161
284
220
197
166
215
248
270
260
323
196
167
287
293
188
230
151
170
168
331
233
221
191
266
224
264
235
207
194
213
207
227
194
192
319
209
261
229
206
295
240
114
203
253
223
310
200
177
214
146
193
240
172
220
249
183
240
324
288
222
210
178
212
181
197
283
221
244
262
256
187
191
164
133
224
224
158
238
183
226
244
283
222
201
295
198
229
292
253
215
158
267
195
215
182
161
217
224
248
270
295
151
106
196
192
221
305
210
173
237
207
158
216
188
221
144
174
204
206
227
248
178
305
250
285
214
202
288
254
175
229
208
252
258
222
149
245
270
201
185
265
181
235
221
277
226
196
300
267
276
126
337
244
255
304
192
242
231
245
225
178
250
234
186
293
275
195
228
242
224
170
214
218
175
239
256
210
154
249
257
243
201
206
279
253
256
321
261
185
214
253
228
220
244
213
369
233
237
251
157
254
253
179
285
277
288
229
198
209
195
287
254
180
254
206
198
327
201
251
270
276
242
228
200
282
186
188
243
285
171
222
156
237
213
241
206
192
260
106
192
250
273
154
184
212
309
247
232
208
242
308
209
170
194
207
250
289
311
265
195
235
241
227
211
280
269
224
168
225
203
326
229
178
184
194
201
229
270
200
164
216
190
196
221
271
178
355
227
253
264
226
299
319
177
151
232
240
214
282
195
195
267
255
229
266
225
225
327
243
265
170
181
213
260
161
178
227
242
259
267
165
218
289
245
252
182
212
196
179
173
209
233
340
246
208
160
215
250
222
234
133
216
277
206
163
255
114
240
221
184
229
196
235
158
214
276
181
114
226
219
262
259
200
126
169
176
231
212
191
139
222
197
175
126
269
223
294
160
273
220
196
279
216
299
245
181
228
270
248
203
224
181
196
241
214
178
250
270
259
176
208
209
228
213
147
245
233
171
247
205
262
180
188
286
276
195
206
158
234
250
220
278
114
187
303
293
305
156
195
208
253
231
258
190
290
243
312
286
191
302
176
245
252
237
213
149
243
192
228
191
240
187
248
200
288
250
186
241
241
291
303
270
243
214
203
160
158
233
243
188
234
146
308
168
175
231
283
114
238
106
185
253
235
129
239
200
238
282
182
237
217
193
194
246
215
230
178
170
242
145
259
184
239
270
346
268
227
243
245
289
239
172
229
234
231
242
216
242
282
198
275
237
199
260
197
264
195
200
223
244
209
304
241
139
234
274
108
239
209
228
227
221
252
245
221
235
181
199
275
281
192
238
299
196
198
178
167
250
202
238
222
114
277
200
200
216
188
227
277
149
220
180
202
267
276
238
215
334
246
220
190
247
301
226
214
133
126
220
243
188
212
108
154
238
198
250
211
279
214
189
236
242
226
265
215
225
184
226
196
193
299
174
188
229
166
286
220
280
209
353
168
248
220
225
215
297
210
203
202
191
222
178
234
180
200
238
261
240
244
203
198
247
244
185
152
191
230
304
236
197
158
248
183
215
271
241
206
275
250
161
196
195
190
257
299
197
197
262
255
210
226
214
221
169
237
283
219
176
245
174
181
248
210
239
241
242
158
289
272
259
189
225
202
200
306
281
232
210
214
221
222
224
270
175
312
248
195
265
272
228
244
230
220
296
222
176
284
194
183
255
223
202
202
204
298
258
194
239
281
180
241
160
242
239
184
300
285
243
294
230
254
198
192
216
221
288
286
257
246
255
220
231
327
293
200
259
214
218
242
277
240
170
334
266
259
133
239
278
273
240
216
186
277
253
216
114
273
199
231
221
289
173
264
208
268
193
213
174
215
232
297
268
305
223
126
151
247
164
173
243
242
201
219
257
223
171
223
282
235
144
181
316
202
261
186
235
203
283
220
261
162
199
198
178
193
236
250
165
178
188
186
229
214
158
221
178
207
282
291
222
234
227
249
190
169
284
251
292
219
303
269
196
262
262
212
212
276
297
239
161
316
214
215
163
245
272
225
244
274
259
256
275
259
217
219
263
231
236
202
200
225
235
283
293
249
181
253
263
227
251
174
182
194
192
327
201
282
209
189
271
253
317
246
272
240
177
286
265
215
129
225
194
169
218
240
258
276
198
222
214
155
166
250
300
214
209
221
221
179
284
252
128
178
129
217
145
229
146
312
126
129
242
264
320
325
210
202
239
203
258
238
194
269
215
195
234
249
156
204
178
151
194
165
237
254
184
275
193
219
182
240
226
230
215
146
181
202
208
126
178
206
156
212
215
218
258
205
191
205
241
209
227
194
235
245
225
211
232
145
187
283
219
263
274
184
256
243
149
254
162
203
241
188
197
191
268
169
238
245
205
250
249
214
191
276
194
252
250
158
233
290
250
149
184
263
272
238
211
231
219
208
192
234
241
195
154
251
208
198
196
254
287
216
172
162
209
178
307
201
239
263
213
215
278
241
216
202
217
214
215
219
114
355
220
303
169
275
270
214
160
277
270
203
177
240
267
196
247
198
162
247
188
199
167
225
247
198
181
195
285
203
166
200
193
317
230
215
296
243
245
190
194
194
239
191
220
238
261
199
169
176
266
192
269
145
199
202
229
166
236
219
297
189
208
277
233
218
183
221
296
227
293
259
198
160
201
217
203
264
221
215
225
191
175
256
165
255
256
248
295
219
266
194
216
249
256
188
198
227
191
178
268
126
214
304
233
257
238
148
246
288
274
276
243
289
226
156
252
232
216
233
186
183
259
194
206
241
290
160
270
173
158
222
206
190
219
253
268
158
194
234
266
225
201
213
267
253
156
273
260
252
205
247
265
206
280
164
221
161
242
191
181
326
276
275
179
173
174
259
297
219
247
227
195
278
189
257
296
225
186
217
304
152
274
235
245
284
302
310
198
172
200
247
218
207
246
200
205
187
168
235
213
219
207
178
140
139
268
297
263
206
203
253
188
232
252
178
261
261
303
193
202
184
230
225
197
187
162
218
173
344
230
220
304
324
128
280
170
194
202
255
265
232
317
254
205
214
213
276
213
294
277
242
201
175
266
195
213
217
278
263
173
269
173
187
185
242
180
206
190
220
183
268
272
199
243
278
178
193
229
258
114
249
228
151
208
184
213
187
236
174
229
215
160
156
188
160
190
295
160
230
188
258
246
281
222
349
170
198
259
243
193
224
228
200
212
251
301
195
247
283
253
298
179
246
234
229
236
199
275
260
264
207
208
218
227
225
165
258
204
275
246
266
314
273
178
263
225
223
220
235
239
258
224
222
298
221
209
178
214
178
188
211
240
274
285
266
220
144
241
276
217
184
213
237
282
234
232
162
254
187
233
174
199
220
212
182
267
184
260
281
225
338
221
224
269
286
278
201
273
253
232
299
185
251
242
274
206
313
167
363
227
228
212
285
191
235
215
203
175
213
178
236
229
238
228
185
227
178
285
219
274
283
176
248
180
196
174
221
206
222
225
179
254
240
295
259
269
246
220
222
222
177
256
252
255
216
200
211
259
258
253
240
286
182
199
206
217
205
175
190
139
175
214
223
243
231
207
206
225
311
219
244
219
250
185
197
166
198
278
250
161
267
160
139
255
179
156
275
176
235
231
140
282
238
237
256
218
309
292
181
269
253
222
227
266
204
181
139
184
208
154
185
144
219
168
221
256
156
218
187
246
236
229
257
306
162
220
222
175
216
201
230
222
255
256
359
192
188
290
214
262
283
258
246
272
280
241
167
289
225
140
252
207
260
152
197
162
158
201
191
238
282
224
182
215
198
204
251
190
229
209
219
203
208
177
331
241
211
259
264
282
279
178
192
177
175
275
171
173
200
248
233
170
236
211
253
265
260
204
246
190
246
216
196
217
285
253
328
222
200
232
226
242
211
244
213
262
178
366
164
226
196
266
145
232
302
204
208
268
282
227
203
169
160
210
265
192
256
189
155
230
272
218
242
262
282
221
219
226
264
215
222
243
270
299
277
232
295
208
195
233
215
259
129
274
219
213
266
296
260
218
240
310
176
238
227
194
209
200
243
250
255
290
279
192
211
202
147
178
190
198
157
213
255
228
181
229
194
240
253
197
229
289
283
239
207
179
198
336
181
207
236
228
203
160
177
253
219
271
270
277
182
195
179
309
309
200
233
213
250
160
181
271
354
172
160
183
229
196
206
164
214
214
157
198
182
255
155
181
220
273
170
144
202
221
262
239
216
165
218
310
214
216
246
193
231
191
208
231
306
165
222
175
208
248
278
209
183
201
160
238
202
275
265
215
267
181
219
171
268
246
217
250
219
263
168
334
247
278
305
218
170
176
176
161
288
133
257
184
220
205
290
257
317
218
277
274
108
271
232
181
220
241
226
184
268
206
264
235
273
293
193
301
229
184
208
235
218
197
167
170
195
243
126
240
254
211
326
174
287
184
140
201
263
214
327
255
267
223
264
263
346
235
181
288
180
295
216
265
236
220
296
197
221
218
264
208
199
209
200
276
217
304
218
166
187
270
294
244
328
238
238
252
114
255
178
253
152
270
285
243
214
206
180
156
156
226
251
151
256
279
204
169
206
246
255
156
198
253
154
179
225
177
219
170
274
307
186
266
210
201
289
305
243
268
159
202
284
258
130
215
214
277
156
189
229
239
233
208
272
273
268
224
178
266
203
258
240
233
145
274
252
182
250
247
210
209
191
310
284
243
192
232
257
289
196
196
203
212
319
225
283
165
240
114
235
261
170
206
196
164
195
242
253
263
184
213
249
214
244
246
226
243
266
179
165
192
232
149
198
205
243
212
230
195
283
263
227
254
179
182
297
256
274
114
211
232
239
221
243
233
290
186
220
186
224
220
272
232
281
203
285
245
283
218
225
154
251
208
266
246
197
285
288
170
160
224
287
156
282
176
199
217
276
295
211
221
255
195
232
197
221
185
155
267
279
154
258
329
186
195
215
230
185
192
282
258
259
171
250
253
331
173
220
170
248
219
224
176
247
250
207
249
233
267
290
251
254
178
199
209
267
232
217
343
261
174
249
157
183
202
290
207
245
238
188
219
183
203
245
258
243
269
219
275
175
217
278
217
266
265
209
161
262
170
198
237
169
170
302
181
233
197
255
184
218
218
185
189
252
262
225
187
310
178
218
220
191
228
145
209
261
211
222
295
304
231
190
238
286
222
189
269
194
212
224
250
292
213
177
156
331
278
262
206
202
264
334
206
223
276
178
192
285
265
228
241
188
192
261
231
313
208
191
114
244
201
191
149
209
248
234
188
204
254
259
178
175
182
217
186
233
198
291
238
283
301
265
191
215
259
221
201
211
215
168
291
207
218
114
186
253
269
184
241
188
255
218
261
273
325
222
267
170
247
217
275
248
255
227
159
276
194
191
199
202
213
225
185
235
170
282
202
309
258
183
279
198
256
167
293
307
254
205
236
228
116
212
195
189
144
181
151
213
182
198
235
202
165
235
201
221
260
197
395
150
178
214
239
169
269
248
313
174
212
230
184
191
160
184
309
252
218
206
187
195
266
275
301
333
245
216
159
276
234
278
193
262
180
233
248
199
205
203
213
220
259
170
273
265
232
286
245
332
160
250
190
264
168
247
173
182
173
200
227
205
218
254
161
190
198
218
204
262
174
218
241
260
304
182
219
238
205
139
108
204
158
283
189
299
284
263
292
280
149
188
231
196
200
368
232
240
185
223
193
216
241
258
246
220
297
193
116
249
173
226
189
247
197
114
175
160
266
184
201
207
305
302
212
289
197
296
170
227
181
199
245
174
271
188
202
232
271
224
184
251
178
213
247
169
247
223
276
260
228
175
218
228
198
211
163
207
255
268
209
209
198
279
240
259
243
234
246
265
235
257
156
192
258
258
259
139
145
222
235
225
160
234
235
172
225
312
252
182
231
291
226
192
191
290
252
326
234
223
230
164
230
193
220
175
275
200
216
167
219
261
199
202
192
260
198
226
166
225
168
198
186
226
189
249
277
192
139
134
265
235
285
234
218
274
215
329
219
294
199
245
289
254
114
207
173
182
257
259
244
201
270
233
215
289
199
166
297
189
191
227
195
160
260
206
222
284
250
174
302
195
252
297
278
176
221
129
185
302
208
273
219
166
221
209
156
207
288
227
223
189
233
266
256
224
178
173
162
206
128
263
205
251
211
306
218
254
297
243
219
225
175
175
161
209
196
226
180
140
180
220
171
173
253
170
224
230
149
173
302
282
151
192
201
182
206
237
203
259
260
156
165
248
296
181
252
220
161
219
208
160
257
384
188
262
174
245
211
246
297
189
215
223
250
282
241
240
249
178
203
175
146
196
203
270
188
235
246
126
184
206
260
177
245
198
248
252
226
206
241
246
207
207
243
233
259
308
262
226
211
249
301
286
171
323
267
225
258
150
171
351
203
236
212
214
199
165
267
271
246
230
240
279
173
160
317
295
263
269
212
164
144
207
300
252
242
214
157
239
232
245
216
290
290
283
213
231
202
160
246
173
178
145
244
305
193
217
192
210
160
218
151
198
261
234
324
313
218
214
287
170
269
197
222
260
179
255
215
240
217
226
207
151
186
246
155
199
253
166
216
219
246
181
174
222
268
205
198
249
216
213
220
181
114
278
196
278
232
221
260
228
214
194
228
272
216
218
282
275
166
195
212
215
198
218
212
116
236
232
235
188
221
281
250
173
247
228
284
202
175
197
222
206
305
198
237
247
283
214
241
231
299
170
169
135
265
249
253
192
164
288
246
220
133
231
272
228
190
308
197
283
138
263
203
274
313
160
160
186
144
209
272
178
340
144
178
295
210
181
244
184
212
144
249
208
208
208
234
189
213
221
106
258
175
238
222
196
285
276
283
203
225
241
169
275
227
323
269
202
217
281
230
195
243
281
192
269
248
184
255
238
215
268
227
224
220
170
294
281
210
294
284
270
211
217
192
203
260
230
180
222
171
246
173
170
283
258
336
252
232
195
149
168
253
192
224
158
268
191
193
222
213
204
240
391
239
223
296
209
174
231
235
233
256
231
188
172
200
174
158
219
302
287
114
194
242
255
256
162
225
274
308
236
263
293
207
243
239
186
266
180
188
212
273
236
192
193
301
232
173
179
300
206
193
247
181
224
252
195
249
244
198
203
215
273
249
268
214
263
282
239
280
199
277
230
253
272
217
259
209
201
259
252
202
175
170
201
237
192
281
253
306
247
219
322
155
261
289
129
195
280
246
220
201
257
173
194
238
176
209
192
211
257
270
266
247
199
215
244
257
219
220
213
276
156
277
189
230
151
277
186
211
233
243
235
235
222
218
191
244
244
296
180
197
274
171
174
196
291
306
169
191
174
230
186
248
197
252
235
163
239
232
190
234
282
202
139
202
294
235
222
301
286
145
219
200
263
204
251
246
201
190
286
186
236
244
239
273
134
190
189
170
195
178
248
251
198
139
198
249
198
250
212
300
208
306
156
274
307
162
240
191
225
114
180
238
282
284
318
193
241
216
258
175
214
238
194
176
208
202
167
166
190
160
259
160
238
165
263
211
198
171
318
285
194
243
169
194
196
295
219
267
228
201
167
170
197
213
170
313
200
239
236
232
246
155
255
169
203
234
290
236
253
214
222
193
194
256
216
271
237
207
211
248
184
193
199
181
209
198
258
195
195
169
252
225
160
241
169
218
229
130
232
156
246
166
258
247
195
202
259
174
235
184
275
226
171
275
224
254
126
293
317
250
234
171
250
295
193
254
193
181
210
201
223
247
198
241
193
271
259
264
193
198
210
183
256
222
230
288
261
160
162
216
276
225
231
214
170
260
173
198
312
275
275
237
213
174
244
257
218
259
205
269
336
230
175
155
169
193
235
199
156
195
244
137
179
319
228
157
164
226
285
270
248
171
139
193
237
156
237
176
212
216
272
250
197
246
327
253
239
184
225
203
229
249
182
173
290
199
287
270
268
336
263
196
180
283
225
178
264
201
195
230
269
239
170
215
207
255
214
225
144
199
212
276
272
269
206
188
174
222
228
207
204
278
227
219
184
248
240
227
255
240
287
193
244
195
193
181
313
212
198
230
263
178
320
195
217
213
225
299
240
233
173
273
325
258
203
253
177
241
236
294
237
191
243
213
192
223
195
262
176
296
248
196
139
282
243
181
241
251
241
133
184
223
243
222
234
234
213
262
213
291
121
195
189
258
230
242
213
247
293
265
158
168
321
229
287
163
207
106
295
204
271
289
221
175
244
239
253
233
250
114
146
244
224
156
192
227
233
220
177
191
366
219
222
169
180
178
194
268
245
280
215
284
165
173
272
220
238
201
271
199
289
256
220
188
168
179
197
199
195
246
273
207
269
206
234
215
203
219
285
231
259
212
326
254
277
230
200
232
188
204
197
236
244
256
218
271
200
209
255
274
239
225
247
174
155
307
233
236
169
235
184
213
236
208
283
231
286
243
217
306
165
209
198
260
180
203
220
253
190
277
218
222
241
181
212
216
221
152
263
277
276
209
264
229
275
231
275
196
270
262
213
174
221
193
195
209
249
226
225
200
232
200
273
179
246
283
191
229
171
329
258
215
256
299
156
170
296
228
184
269
160
181
226
241
169
267
178
244
145
250
144
196
134
223
249
193
162
220
223
176
215
234
222
193
243
270
154
290
212
130
262
271
215
198
241
237
170
223
208
203
221
170
156
280
337
262
175
292
274
244
312
260
213
235
151
198
137
192
212
114
200
197
162
295
293
196
320
156
290
162
221
188
309
177
218
268
222
181
204
227
248
170
297
206
218
225
310
213
191
188
270
266
304
222
232
234
247
161
144
175
227
234
194
287
185
233
259
288
144
277
259
223
273
198
211
208
270
145
231
146
274
220
245
242
296
233
211
175
194
314
268
210
250
194
265
262
211
333
224
209
289
184
220
200
218
246
225
114
247
207
181
211
178
225
189
206
201
211
106
298
176
254
294
184
221
180
269
179
274
211
212
288
263
227
165
245
170
199
207
266
218
207
224
239
198
302
226
212
258
191
161
255
139
157
324
193
180
193
181
265
226
216
218
192
221
251
211
114
236
156
203
209
224
254
172
200
184
184
191
263
170
223
153
262
141
237
179
266
177
258
197
202
269
155
268
259
235
245
250
170
210
284
198
256
328
272
267
257
184
265
260
235
275
220
229
239
295
261
255
230
234
271
282
195
194
214
220
260
233
248
202
233
166
196
279
211
217
244
175
265
299
235
279
219
232
207
197
203
205
180
234
211
157
240
254
205
257
202
178
207
216
271
180
163
264
190
207
235
222
200
278
261
206
264
206
247
187
244
309
254
208
252
299
228
232
196
169
222
222
228
210
194
241
230
217
280
261
229
249
201
249
175
285
276
139
162
267
202
191
239
228
202
179
207
210
221
322
193
267
265
178
261
286
184
203
204
139
181
314
165
234
189
128
325
211
218
203
264
262
287
198
173
182
225
218
206
178
145
186
200
207
186
175
170
300
225
269
240
290
209
353
265
221
225
203
203
239
262
214
245
184
250
226
178
299
269
215
199
220
347
221
291
242
263
266
265
167
265
286
319
268
256
252
225
266
116
285
149
244
225
266
200
297
288
288
286
184
230
294
276
273
274
162
302
258
226
213
233
212
228
230
203
216
303
170
233
208
220
173
134
241
276
241
173
183
235
216
302
286
214
185
207
214
278
197
253
241
163
222
192
246
114
201
192
126
230
291
234
229
208
246
219
245
263
175
196
208
256
210
192
226
168
305
193
247
214
266
297
244
221
185
225
229
257
200
186
245
288
253
252
210
232
246
218
281
283
235
272
290
277
287
191
229
264
189
265
176
160
184
186
266
229
183
146
211
272
220
191
280
176
202
212
209
254
174
223
154
194
206
214
233
227
273
243
279
196
198
266
173
176
168
276
244
238
221
210
226
251
245
189
262
216
238
302
228
221
350
216
205
193
266
330
258
185
130
160
227
311
216
236
171
245
196
308
240
178
323
298
212
165
240
314
190
210
154
215
223
297
248
210
236
285
160
254
200
227
133
234
253
238
263
173
256
222
261
200
221
178
254
205
221
220
178
128
220
215
167
316
116
147
162
204
221
172
258
215
211
158
273
216
193
214
145
315
237
266
174
208
180
231
186
192
199
179
235
239
310
170
205
269
304
154
244
270
270
126
236
264
278
250
211
200
257
219
224
181
220
231
223
274
225
245
242
224
285
175
209
255
168
231
130
209
199
222
201
197
230
227
191
263
147
202
200
270
289
225
253
245
266
226
227
273
199
254
158
247
181
168
208
154
178
203
160
269
166
144
165
189
244
207
256
158
240
223
225
263
272
208
217
253
186
235
178
235
191
244
246
173
188
243
273
245
165
205
299
253
114
152
218
221
354
214
251
222
207
214
129
301
154
148
151
257
114
238
244
176
265
287
233
270
221
247
308
254
266
208
274
231
199
182
214
225
203
178
295
297
164
255
178
236
208
213
258
222
191
182
181
283
231
218
144
277
181
182
203
207
233
218
217
271
217
211
260
286
199
225
192
246
227
165
240
223
200
256
311
221
210
342
254
174
154
234
230
275
238
289
174
277
256
243
221
146
243
191
181
275
204
220
174
265
229
196
227
238
166
284
190
154
307
170
147
234
242
256
245
206
202
292
241
247
214
184
228
121
255
190
285
267
170
267
260
221
230
237
264
114
166
267
160
154
187
206
285
210
228
193
217
149
266
185
201
244
184
192
217
278
251
260
230
264
198
332
264
269
243
235
198
174
222
171
197
139
252
237
162
296
222
294
245
154
228
251
196
258
179
277
238
260
160
231
147
174
220
203
228
196
164
211
239
218
274
168
180
198
240
215
223
292
194
139
202
181
178
232
317
269
171
154
147
246
232
244
233
240
152
222
203
213
285
262
239
189
194
219
217
231
230
233
246
167
306
327
242
267
152
248
245
215
198
273
214
252
239
178
270
269
168
300
192
214
243
210
222
238
279
239
181
309
228
189
264
256
185
205
233
166
219
196
229
199
219
192
200
215
194
240
295
114
209
203
246
279
248
160
205
206
184
177
237
300
178
218
192
245
183
215
151
152
270
241
181
209
212
239
218
198
225
259
316
193
200
226
263
270
175
252
267
180
222
251
240
279
242
275
156
229
170
240
234
198
160
201
180
192
192
163
194
261
192
309
299
213
155
163
259
181
249
185
247
278
249
180
238
293
235
221
275
188
231
192
293
174
188
280
293
226
231
146
273
156
177
181
114
267
208
151
336
176
184
289
215
275
214
245
268
151
192
194
197
211
296
222
230
271
236
270
192
138
217
245
185
238
158
194
182
235
235
168
173
263
286
283
181
221
216
233
263
227
204
255
208
311
194
292
229
269
204
207
228
228
259
274
244
306
192
198
291
276
205
351
151
235
287
324
229
257
218
246
179
214
198
205
194
213
234
160
249
226
224
225
253
126
221
304
193
314
204
225
276
213
218
179
214
267
289
244
291
190
189
214
176
160
207
128
258
202
230
165
210
167
292
248
252
260
114
236
284
108
185
248
202
254
149
168
256
200
211
209
169
261
226
310
180
171
224
274
226
226
305
257
154
156
231
269
168
247
156
200
286
276
209
273
192
319
228
177
239
160
191
203
189
160
191
199
223
263
228
205
195
271
176
285
314
165
213
262
184
168
247
241
244
152
194
215
239
145
204
211
256
181
259
221
276
182
219
287
219
221
225
236
206
249
268
226
196
198
198
221
206
277
193
195
332
247
290
229
327
254
183
231
195
206
148
160
279
227
282
252
337
145
292
210
246
215
166
231
274
194
196
285
170
196
202
208
259
256
186
175
174
190
239
242
250
198
229
232
267
200
197
238
233
197
244
180
234
200
168
209
242
237
238
170
165
199
199
201
152
190
255
152
276
204
230
202
215
269
210
219
223
220
262
251
243
220
276
191
255
271
181
222
165
216
300
203
206
255
187
250
149
231
258
175
173
198
152
184
174
206
196
219
139
175
213
156
190
184
158
287
212
227
215
235
325
254
222
173
237
106
297
169
206
270
235
242
311
270
270
290
170
208
244
178
158
285
146
231
250
286
155
192
222
146
240
203
280
210
228
217
248
221
306
218
283
300
204
281
296
211
277
200
174
204
202
362
173
192
285
240
236
344
338
156
151
201
175
277
161
256
223
157
351
250
240
220
244
278
278
188
209
202
168
188
261
275
233
174
168
218
169
204
258
219
275
217
187
233
248
247
188
294
239
228
227
229
146
309
235
272
229
267
218
275
314
219
239
258
233
198
241
184
299
198
186
238
224
227
250
161
238
274
244
114
360
220
240
234
249
273
224
240
299
253
255
216
193
216
226
180
222
214
254
176
156
217
212
214
206
237
265
260
251
281
239
228
264
210
183
239
243
189
206
181
279
328
194
308
194
217
320
257
292
166
160
245
277
267
235
219
264
208
205
147
250
255
198
190
264
276
298
162
244
283
203
283
235
180
256
200
259
192
260
297
205
209
303
295
214
181
174
207
209
308
244
184
206
193
235
162
263
191
181
185
235
194
161
176
209
223
219
193
194
281
170
187
185
220
216
232
174
333
251
232
192
221
229
233
218
211
209
259
201
175
296
267
224
287
181
231
185
238
275
297
202
239
220
275
205
247
156
215
237
289
244
237
220
267
244
269
280
194
253
199
197
224
216
245
213
277
268
152
239
219
277
201
234
262
181
192
178
244
151
188
241
258
275
234
193
228
233
215
279
192
348
224
146
217
229
243
198
244
261
180
280
208
228
223
197
174
279
229
223
323
231
231
162
227
233
191
227
252
231
146
207
243
146
268
249
159
190
180
232
244
272
220
248
236
189
193
194
296
293
166
239
270
178
247
250
193
219
252
270
239
325
211
284
212
225
289
263
256
152
240
281
218
252
169
285
216
174
263
214
220
206
261
215
199
214
157
204
283
249
214
292
236
226
179
232
275
306
230
223
185
168
185
227
197
254
231
273
317
267
284
292
186
221
193
184
260
212
189
203
235
221
219
147
198
384
236
218
212
226
236
281
234
255
241
244
299
193
282
240
224
298
173
198
167
177
245
280
183
211
180
192
255
183
290
241
243
249
229
253
234
202
191
230
302
241
272
213
202
221
206
227
261
204
114
256
265
188
250
261
192
198
227
224
294
228
250
342
185
229
266
202
251
275
175
261
295
164
151
283
229
191
209
260
175
280
158
228
275
250
249
284
213
251
252
173
243
245
266
230
234
287
292
186
303
208
285
114
139
243
203
297
231
249
261
217
195
209
183
222
296
315
211
202
326
250
191
267
214
261
156
175
263
256
228
228
217
221
220
290
222
260
173
255
173
286
269
276
240
232
169
257
267
220
232
168
222
177
264
197
175
230
251
193
178
181
291
233
177
195
244
291
205
227
206
225
208
214
295
232
315
196
262
347
232
261
228
143
265
181
144
263
229
182
108
241
184
230
221
137
188
172
258
290
270
270
291
229
190
207
181
276
235
116
218
217
246
217
178
195
247
229
200
337
154
240
216
274
255
218
232
182
220
279
211
198
213
231
175
265
212
216
197
228
222
158
212
174
220
256
202
280
201
317
282
246
214
256
145
227
175
222
184
274
237
224
257
170
175
162
218
208
312
245
265
234
246
234
269
219
206
288
191
256
301
170
208
196
223
230
210
192
151
195
192
231
206
221
222
237
302
220
221
308
250
251
191
193
317
165
187
199
219
298
239
358
227
219
129
162
179
203
160
175
266
170
260
183
292
146
275
201
306
204
245
248
381
188
194
209
180
237
256
228
198
215
166
210
187
198
200
309
158
254
258
266
149
211
193
167
203
285
244
204
197
325
234
260
176
139
176
259
209
281
192
219
248
218
224
277
217
252
197
248
179
254
228
172
198
207
326
246
192
181
245
240
180
252
199
248
211
254
198
260
237
207
189
239
193
184
185
242
155
231
228
229
235
235
201
237
280
273
233
190
190
192
318
263
294
188
191
229
185
195
254
185
206
173
203
307
228
191
200
266
313
308
208
168
235
288
198
213
330
195
193
188
220
175
193
114
212
199
220
197
207
193
186
196
170
241
237
227
232
116
215
178
201
251
243
272
304
187
318
170
280
220
153
305
281
227
250
202
206
218
173
185
225
240
220
180
265
220
285
299
211
246
152
225
223
307
196
198
162
175
201
258
246
236
215
278
211
263
182
191
146
203
146
283
183
114
220
245
294
333
214
195
222
291
242
173
221
237
207
200
264
166
214
215
219
216
245
170
184
252
219
264
268
249
221
308
263
238
259
337
198
149
204
243
211
242
266
285
235
243
239
224
139
285
180
236
220
207
174
319
215
247
236
154
134
269
262
275
201
193
206
285
191
159
198
247
116
257
170
286
192
265
220
260
210
205
217
275
268
275
257
229
121
191
170
183
233
209
232
279
303
254
265
238
220
203
242
200
250
198
234
271
211
231
258
267
245
251
205
190
260
218
276
240
213
228
298
274
283
271
282
169
179
228
256
212
205
228
213
269
330
172
158
193
226
167
235
252
178
214
208
207
199
278
197
166
237
286
230
190
215
217
213
245
231
181
176
194
225
116
262
226
209
250
237
190
232
223
198
241
166
227
238
275
271
165
260
256
165
151
196
252
226
191
217
197
239
286
234
190
256
202
175
235
219
306
224
302
182
325
148
194
244
206
216
213
175
181
253
237
228
285
311
250
199
354
179
217
247
219
176
195
167
190
114
204
242
252
187
247
225
308
232
239
241
240
297
235
206
227
223
208
205
253
223
184
323
213
291
184
249
227
277
214
176
276
223
173
205
179
198
244
259
193
258
273
192
294
377
185
176
203
221
152
233
191
195
194
267
240
310
181
226
194
189
206
238
160
173
179
175
154
230
205
224
248
213
327
198
203
152
277
158
214
240
178
243
114
308
212
202
230
179
207
197
191
190
194
183
242
203
265
199
193
202
178
196
259
271
268
201
232
195
287
260
278
270
261
229
242
177
226
165
247
228
165
298
280
309
271
114
216
282
237
234
239
252
265
189
263
191
235
184
187
300
247
203
230
247
184
215
222
160
209
283
308
227
230
203
139
219
254
226
192
156
340
175
256
230
129
202
255
219
241
307
228
250
250
161
162
209
152
180
290
254
305
297
219
197
172
226
246
202
242
230
192
256
116
203
202
258
226
238
243
182
283
193
248
241
207
140
316
220
183
194
239
252
265
114
253
216
264
218
207
263
205
229
114
208
306
291
237
258
175
212
174
194
121
233
306
250
277
256
231
133
190
228
196
170
156
263
250
224
162
281
240
169
307
235
191
190
200
160
206
257
230
246
233
207
169
157
278
215
249
249
170
234
199
191
265
202
235
182
242
222
227
195
207
160
188
297
224
272
300
204
259
197
279
244
217
235
247
313
114
241
191
179
217
182
145
173
193
198
194
344
265
214
216
229
283
181
189
253
264
266
195
264
258
196
251
198
241
214
249
228
201
333
194
281
233
235
264
203
329
186
175
241
196
279
268
190
293
262
194
282
197
139
215
192
231
266
181
261
221
265
160
195
203
173
192
317
233
129
211
222
180
250
210
184
240
272
208
238
192
176
253
219
302
267
106
180
195
181
177
246
274
192
211
139
256
177
239
202
203
298
222
139
291
268
279
241
255
200
224
273
180
215
217
273
284
243
274
226
177
255
225
333
252
253
231
152
255
304
243
114
317
228
221
260
262
199
309
204
221
256
280
213
265
248
217
200
258
239
174
154
175
281
235
232
237
276
142
194
239
255
237
158
183
191
278
257
272
247
176
160
207
219
202
236
237
217
145
204
238
253
267
258
216
219
223
318
149
249
385
275
229
274
145
235
220
175
267
114
264
281
243
263
160
237
240
182
174
266
226
171
220
218
249
204
173
218
270
223
300
182
306
222
304
258
276
223
221
236
215
199
152
200
245
243
145
215
209
241
247
246
209
202
188
207
285
220
206
228
221
260
152
243
214
260
198
200
269
216
206
200
234
180
280
212
177
195
336
192
233
208
225
273
259
244
263
198
193
196
246
173
246
164
193
233
146
152
196
184
202
146
259
197
201
282
290
158
196
213
188
233
219
218
144
222
181
264
213
236
223
243
203
247
235
225
235
423
205
232
327
182
181
292
180
177
209
279
229
271
223
179
218
257
154
220
203
218
189
219
211
206
260
202
237
238
181
224
151
205
206
160
169
212
303
265
186
210
208
255
239
223
276
180
129
322
288
154
317
197
199
171
201
255
178
229
200
229
175
191
191
210
203
249
291
213
195
268
262
180
241
205
280
239
148
247
255
181
232
290
245
265
243
261
121
281
207
272
154
212
219
197
214
224
235
192
241
247
204
258
165
213
194
224
114
200
221
169
243
249
162
230
179
167
231
228
200
269
235
248
256
154
194
222
348
220
159
218
184
267
247
263
271
171
222
225
261
220
302
173
269
157
242
174
211
282
179
307
236
268
211
228
169
219
176
266
185
189
221
151
170
273
230
270
206
230
289
234
193
203
235
268
215
279
248
222
202
256
259
189
144
200
169
235
303
219
232
221
209
275
185
228
188
267
233
211
183
358
191
253
267
214
242
268
114
249
163
228
227
212
237
273
304
192
235
223
114
265
313
247
310
284
345
193
279
267
178
273
206
257
285
191
227
196
182
139
181
229
181
151
251
309
160
205
174
206
176
234
198
244
200
232
186
258
309
208
188
257
204
229
148
253
199
228
211
284
217
198
163
208
160
189
195
237
325
176
200
240
250
271
204
222
147
248
272
222
238
299
221
228
215
266
108
222
209
174
216
229
178
233
203
184
165
317
170
219
245
233
308
234
236
193
285
126
198
178
205
224
246
145
152
256
368
255
181
157
210
201
180
231
198
249
262
247
205
259
202
241
225
247
247
242
173
213
227
239
231
245
224
256
173
231
234
265
257
309
217
220
227
222
256
265
242
311
274
175
121
196
272
207
179
249
280
222
256
195
249
204
182
214
213
268
194
180
306
277
252
254
247
207
251
214
201
148
210
228
239
237
308
248
239
272
139
253
222
324
181
234
179
279
220
310
175
161
238
255
261
185
255
178
217
212
346
251
237
149
240
295
246
211
173
195
233
218
167
190
244
210
166
152
160
192
314
316
242
324
236
223
207
281
214
208
198
299
302
241
263
114
266
211
133
181
258
196
114
258
192
268
222
241
234
212
201
206
215
200
225
292
301
194
158
235
193
199
273
197
318
180
208
188
267
247
141
300
259
252
178
250
237
231
246
265
202
165
222
146
256
263
272
181
234
242
252
209
240
214
241
239
259
166
166
225
248
221
140
293
314
219
257
225
230
253
241
155
203
210
203
179
284
241
254
156
197
238
200
181
226
296
265
250
316
168
195
181
233
265
214
271
188
246
217
237
174
225
285
305
114
203
207
208
196
199
151
178
300
165
227
199
192
254
221
253
248
215
187
180
182
281
170
290
239
328
224
221
114
302
178
200
253
233
211
302
263
233
198
283
265
161
188
173
198
181
224
215
189
261
182
195
230
208
397
200
163
262
255
233
170
279
258
244
209
223
224
278
189
186
285
257
235
232
259
173
213
133
165
226
229
323
198
283
319
232
248
197
193
232
214
234
227
230
223
260
241
232
219
233
197
225
228
214
226
308
215
214
181
181
238
249
203
279
366
277
249
321
219
277
241
162
184
309
228
214
254
145
250
257
189
220
199
245
240
261
222
298
221
213
237
160
262
176
192
245
302
212
206
279
254
198
202
210
303
235
284
167
207
198
258
194
205
198
243
245
201
237
250
256
186
173
244
233
211
226
193
258
214
268
156
208
197
183
235
170
261
156
144
225
334
224
213
186
189
254
250
200
245
198
158
178
222
191
271
185
208
234
340
279
195
234
284
275
335
253
146
229
203
172
240
250
181
224
156
209
258
202
288
164
219
211
178
179
249
239
260
239
270
195
204
233
239
158
176
230
242
206
187
209
188
154
290
250
248
199
179
238
245
165
249
295
218
213
200
160
198
178
162
196
260
179
184
200
235
313
276
215
223
279
223
114
114
237
165
232
208
215
178
277
209
160
285
201
208
173
240
303
221
202
142
221
238
241
257
198
258
241
178
248
232
236
232
237
227
272
252
148
170
222
200
188
241
204
202
169
195
262
207
183
164
214
175
161
254
208
275
284
300
246
167
288
249
240
358
151
168
280
224
175
224
320
237
249
162
271
240
239
239
275
279
149
249
252
200
250
175
283
239
195
153
259
222
199
253
224
241
249
193
229
209
235
277
220
165
179
225
285
255
311
192
289
173
198
293
241
326
214
152
273
254
284
268
170
247
296
223
239
252
374
251
262
223
209
231
269
234
187
233
190
262
288
250
265
220
198
220
249
277
173
266
254
200
279
246
240
247
254
147
188
141
306
198
265
225
187
248
178
114
222
206
257
283
145
178
228
176
272
216
209
246
175
269
215
149
168
245
241
241
308
253
260
188
199
219
233
285
273
216
114
264
222
173
240
191
168
184
175
247
295
211
250
199
208
307
192
272
228
319
266
241
209
188
152
249
196
245
144
248
207
224
222
254
205
179
251
193
215
171
196
187
221
214
245
242
265
212
283
242
114
198
344
207
196
237
246
211
266
209
199
240
234
249
289
158
276
204
260
184
114
213
292
213
194
212
230
258
149
293
188
212
277
250
160
233
215
182
192
178
205
265
195
297
278
260
242
243
206
319
195
172
249
310
165
169
251
234
233
262
182
254
221
207
166
231
307
172
232
230
170
194
283
250
261
241
234
292
213
186
287
158
299
261
191
245
264
218
189
261
222
246
240
176
268
156
233
278
205
234
237
238
207
245
265
320
326
187
228
243
256
114
262
278
223
192
263
183
245
186
244
306
213
152
219
215
158
258
247
247
254
240
274
202
223
218
161
229
231
154
218
251
245
209
203
184
266
170
258
220
280
166
224
278
147
146
233
266
195
228
227
235
222
247
214
200
262
126
260
309
201
280
130
251
198
307
198
261
256
192
212
174
333
175
238
209
196
200
226
229
219
289
168
256
263
179
178
235
248
208
240
291
248
189
228
163
274
173
197
400
236
233
193
218
253
181
252
301
240
233
193
234
193
222
213
175
193
337
261
214
208
291
234
326
175
261
286
230
271
268
259
246
156
215
217
226
217
249
229
304
221
228
299
191
236
269
239
194
164
202
325
265
346
324
258
252
232
292
252
170
199
224
173
218
146
192
241
241
286
226
215
210
156
315
240
243
295
303
316
231
114
194
305
230
200
194
223
157
267
260
241
203
160
254
246
182
160
280
116
365
250
208
173
209
218
254
255
213
162
170
157
225
190
247
214
254
272
229
215
261
250
284
273
264
198
280
212
209
227
181
247
259
271
200
214
258
200
194
233
253
257
175
235
257
178
249
218
200
204
241
167
226
274
214
209
170
228
207
240
228
258
220
309
252
168
360
202
197
302
247
177
240
281
208
219
210
248
146
224
274
262
205
239
241
174
178
145
177
220
151
270
152
249
245
311
167
160
216
219
149
306
176
222
178
198
213
224
198
162
246
149
157
149
209
244
353
215
216
260
196
214
239
173
193
169
278
293
222
255
179
184
254
166
334
193
223
210
233
163
223
200
167
266
210
121
216
197
267
220
251
229
321
235
278
265
276
139
205
197
218
214
166
168
106
235
216
215
225
160
334
200
336
296
279
253
288
258
269
233
242
277
240
173
205
235
220
221
278
257
206
231
253
203
263
172
226
286
218
145
156
211
246
248
156
235
227
214
197
267
197
288
179
242
152
159
179
174
189
197
257
303
287
207
133
188
267
231
197
193
139
193
272
235
268
223
223
256
264
146
225
208
301
215
222
192
237
190
158
235
263
280
173
247
260
174
233
226
186
180
219
328
197
218
171
231
114
197
240
207
289
259
160
135
231
170
237
237
263
269
250
265
214
220
261
274
189
287
221
232
182
193
222
274
211
185
317
198
222
224
271
183
230
261
191
203
187
215
161
148
175
180
207
267
310
259
175
200
282
247
284
164
220
108
213
235
245
154
239
248
258
204
202
221
274
203
226
152
258
204
228
222
277
319
212
254
218
229
265
214
203
227
295
263
161
199
169
280
307
175
283
209
229
173
349
208
226
198
233
269
259
249
182
172
145
220
301
152
217
211
227
114
253
187
234
214
204
243
279
300
234
203
228
209
219
237
183
228
168
315
191
282
250
241
186
190
263
244
259
284
230
250
162
160
266
174
175
244
235
146
198
253
176
147
227
170
204
167
205
269
114
202
268
254
222
233
281
287
208
114
314
193
156
285
226
176
228
192
221
173
242
271
222
221
270
250
196
232
210
248
223
260
211
245
313
215
253
244
165
168
234
175
196
220
223
186
212
278
248
265
188
253
238
283
227
155
186
210
228
187
247
223
175
235
242
245
265
315
246
249
220
239
245
147
219
238
235
152
224
227
272
234
284
215
270
176
327
211
276
310
201
274
267
288
239
260
151
181
242
184
198
252
214
207
217
206
200
240
274
220
202
151
233
208
264
211
162
229
157
174
244
256
247
205
276
181
198
288
200
284
284
200
206
195
180
212
215
265
245
230
192
169
234
243
209
156
224
188
259
207
235
180
223
263
304
227
212
212
242
229
223
248
270
254
214
368
225
257
247
282
188
174
253
205
259
260
234
228
195
334
261
184
237
247
225
182
249
185
247
224
210
283
246
182
222
190
209
240
251
167
237
196
183
232
209
152
231
278
189
220
114
202
226
297
202
270
217
197
201
147
160
205
314
224
198
273
215
210
146
308
279
219
260
225
222
248
274
282
182
296
283
253
227
233
244
194
201
248
276
210
273
242
275
212
173
154
228
283
207
238
193
284
190
286
273
189
272
139
194
243
240
245
233
178
180
233
269
233
198
164
233
176
280
232
154
207
201
275
200
173
234
239
258
202
248
126
306
233
211
254
205
306
271
207
207
187
215
139
239
288
204
160
245
308
116
214
192
222
283
158
267
258
160
266
229
204
213
216
144
283
204
245
194
210
191
175
258
248
207
233
260
179
168
139
237
157
218
235
194
239
240
224
275
354
207
198
126
223
180
273
196
197
236
240
227
215
213
270
318
231
225
206
203
253
240
236
242
209
157
265
184
156
307
254
282
187
215
225
180
238
158
234
146
250
226
165
350
180
234
312
189
221
204
237
250
248
266
235
249
193
294
161
262
148
191
191
184
194
219
211
283
192
332
248
226
234
188
234
240
161
283
243
213
158
196
236
252
339
261
282
210
247
188
176
281
248
240
151
286
191
276
210
218
270
173
234
306
246
226
139
302
173
206
224
247
188
279
218
240
214
183
126
151
173
160
148
160
227
187
257
202
175
174
281
214
181
171
181
217
218
179
230
314
224
166
270
267
271
311
270
194
289
276
283
237
228
195
195
225
217
196
204
219
287
139
221
272
244
295
256
153
252
235
289
290
174
173
315
305
237
194
268
192
196
177
231
213
332
224
204
283
212
264
251
194
247
264
278
252
335
254
210
176
225
253
194
126
290
313
224
215
240
200
221
217
238
156
224
284
224
285
218
172
209
173
164
208
195
283
253
231
184
186
152
144
244
160
246
235
196
243
269
252
254
246
178
210
256
207
206
260
249
201
337
248
228
173
268
207
203
296
321
192
130
114
167
237
255
223
216
217
243
260
211
242
217
184
258
162
244
250
282
204
180
253
221
217
210
168
210
237
233
271
230
193
295
187
258
232
233
250
212
195
195
186
317
219
299
228
224
244
206
238
226
227
233
208
256
339
220
276
235
242
175
194
335
176
217
198
233
189
229
172
272
284
184
207
263
299
298
203
207
263
161
203
213
178
212
262
241
222
220
322
220
230
226
259
220
235
271
256
108
176
284
152
317
149
193
205
147
175
253
232
208
247
226
162
215
233
301
178
242
258
114
199
253
222
178
193
253
260
299
236
262
323
191
198
195
182
156
285
217
217
197
208
304
228
246
256
285
188
218
270
240
219
114
211
219
268
214
186
170
176
209
251
262
206
222
185
230
254
245
251
232
108
145
175
259
216
160
264
207
187
298
176
170
192
209
151
213
278
185
190
218
225
292
243
250
346
263
293
246
175
257
218
241
203
280
217
210
310
211
241
234
193
251
215
222
241
229
214
199
234
318
271
196
220
207
245
210
268
189
255
223
237
174
300
151
245
294
178
190
169
256
215
156
203
162
221
216
367
255
283
226
340
289
181
229
234
263
230
171
212
318
151
242
180
263
223
178
180
307
156
253
174
314
193
184
236
235
238
263
195
217
219
295
243
176
243
304
192
264
284
270
181
262
260
285
203
249
106
286
273
144
181
197
258
114
247
269
268
216
230
165
207
233
237
256
203
162
280
175
239
215
222
244
255
227
356
179
275
156
208
277
198
221
198
221
289
294
253
267
271
294
211
205
267
189
231
320
192
292
187
190
184
211
175
240
183
248
288
248
139
209
239
208
234
167
282
222
163
270
245
177
195
295
280
237
341
205
299
196
160
239
274
244
274
243
253
153
178
250
205
207
224
282
205
280
178
211
174
266
258
223
197
225
139
215
285
211
186
231
271
160
260
149
188
233
201
204
130
170
212
214
216
168
160
283
295
290
224
231
151
183
285
201
227
250
211
194
126
174
199
216
261
204
164
144
196
243
280
146
195
321
298
245
186
207
249
217
225
286
267
254
227
180
246
221
160
200
267
242
282
269
173
320
177
201
273
166
198
181
263
250
232
227
237
231
257
218
202
256
208
225
288
237
205
233
255
214
240
218
209
200
247
191
186
236
192
281
213
277
199
234
181
238
179
180
323
198
265
154
250
187
199
254
159
184
193
273
243
237
274
249
269
249
160
275
283
154
235
211
168
211
315
209
317
178
171
265
233
229
207
216
206
226
263
304
332
194
309
288
205
247
155
168
205
173
202
196
175
186
221
256
209
234
236
214
216
303
152
206
244
130
246
182
188
279
275
278
318
201
143
232
210
229
184
217
260
177
250
253
188
202
287
239
311
222
161
254
259
223
192
291
295
242
286
218
239
247
174
236
250
215
322
256
264
145
249
213
265
203
205
196
271
230
259
186
265
155
241
258
234
304
232
192
169
188
250
246
272
207
228
249
299
283
209
261
291
214
216
184
208
200
251
218
193
284
245
286
192
234
326
257
271
256
208
145
280
215
207
192
229
256
229
212
276
195
209
153
200
163
175
296
256
202
249
178
214
300
271
226
255
235
202
267
157
250
193
212
251
270
238
202
196
211
230
233
130
288
254
297
272
152
178
291
302
179
237
240
268
240
220
228
202
259
181
221
295
253
179
114
247
192
192
221
190
273
287
217
271
219
185
243
223
178
244
227
294
314
357
217
212
202
281
246
280
259
162
205
213
239
234
175
166
227
244
252
114
233
259
255
193
193
149
166
224
239
267
284
161
216
229
221
279
200
257
282
219
250
254
278
205
170
156
262
114
281
240
158
283
152
114
232
225
264
318
165
220
267
189
224
338
253
190
146
301
218
238
335
208
205
211
250
216
240
186
279
247
157
239
121
185
274
198
205
296
252
173
212
284
200
243
201
286
152
266
273
170
198
261
221
209
198
172
289
192
194
214
245
276
237
208
223
217
161
190
196
238
164
188
232
185
218
218
208
263
199
211
263
164
282
252
227
238
199
216
251
258
241
238
340
169
261
164
238
237
210
235
264
205
200
280
164
206
214
238
260
292
245
224
182
185
255
239
175
353
264
174
215
358
223
179
232
223
219
214
235
193
231
223
179
191
242
243
230
215
232
251
295
145
216
289
152
231
272
156
146
201
178
178
214
209
219
300
241
269
259
261
170
247
176
192
220
164
315
239
151
182
280
216
255
204
203
159
185
221
167
261
194
242
198
223
355
204
235
234
223
114
203
206
175
199
303
219
200
165
145
224
230
260
191
208
208
229
232
233
214
267
198
219
253
157
282
234
229
231
287
181
291
237
318
272
192
229
247
245
236
280
225
156
146
114
151
191
274
212
230
160
290
176
198
210
253
234
213
246
181
277
343
198
158
188
306
245
289
256
208
170
121
209
187
239
265
170
166
234
251
306
262
198
156
242
179
206
311
175
266
238
196
260
300
257
211
225
235
245
106
178
248
258
221
188
235
360
138
218
166
257
204
211
145
239
273
256
215
239
231
181
248
242
251
218
173
254
220
256
245
195
220
216
281
194
188
210
227
221
272
185
106
203
227
273
309
207
228
161
214
260
211
183
190
263
275
198
249
174
336
255
254
215
180
258
196
225
178
200
215
257
255
229
255
262
151
317
184
259
181
147
225
218
148
184
204
271
180
211
126
275
188
167
188
237
283
232
259
235
233
256
137
206
237
240
251
178
269
277
236
192
305
219
208
297
191
223
201
190
228
269
202
213
217
180
206
188
298
151
209
235
235
275
242
207
220
174
263
220
273
175
313
237
283
218
190
182
160
196
351
200
198
271
251
196
199
214
247
327
323
161
196
304
208
239
266
246
243
297
226
212
146
259
338
226
192
189
261
238
199
238
196
219
202
276
143
258
207
170
269
225
179
202
206
180
198
207
265
354
256
202
239
191
246
265
233
216
221
199
192
276
158
167
184
234
243
235
173
186
225
254
246
218
198
219
224
214
236
211
206
225
192
192
204
190
154
239
194
219
286
200
268
262
186
192
186
208
259
196
266
159
231
192
273
190
284
197
211
171
170
205
262
251
173
252
166
257
222
183
237
203
188
221
187
207
189
190
211
278
264
220
211
196
266
227
179
202
160
216
174
187
114
250
285
266
268
230
196
258
249
254
287
268
259
205
259
144
233
255
245
255
195
306
217
236
170
222
178
234
189
261
239
286
235
228
205
218
196
189
235
232
257
222
226
121
229
189
183
204
253
221
231
179
223
303
205
189
247
257
229
207
219
272
303
208
307
232
108
167
225
142
314
222
208
235
257
229
248
246
284
232
169
262
316
255
261
192
166
167
279
350
213
180
192
204
166
215
236
222
256
252
269
289
252
200
200
222
229
233
209
239
207
189
241
207
178
266
186
179
273
219
293
202
206
250
302
194
185
252
223
232
234
303
283
261
281
289
197
258
204
156
184
181
221
201
174
178
260
247
154
252
231
215
262
175
288
202
158
249
266
218
206
198
194
246
200
285
235
248
247
203
189
156
292
176
272
252
233
255
271
267
258
221
304
192
211
133
144
223
357
176
174
212
252
114
238
244
229
305
183
160
307
242
313
227
114
184
326
267
158
234
262
261
261
245
229
219
212
230
270
198
253
186
184
166
187
275
212
309
280
245
207
330
253
373
200
267
169
210
192
278
214
204
198
184
174
281
288
203
262
306
178
191
232
174
200
114
242
214
265
246
254
250
302
254
277
255
193
250
253
205
233
261
286
245
195
163
214
169
256
228
208
193
240
170
201
219
231
259
251
170
129
318
276
290
217
211
265
258
260
176
153
158
228
234
250
139
229
229
250
251
238
248
204
263
297
263
146
342
207
186
261
232
222
186
276
197
228
297
225
194
190
214
254
206
227
248
175
270
253
126
181
211
114
261
214
178
166
255
175
238
261
181
223
182
193
185
258
175
273
207
155
238
206
247
152
193
154
250
223
170
175
179
162
264
237
294
304
262
240
273
248
198
206
259
314
203
247
216
220
209
346
316
295
198
180
248
198
254
247
287
183
219
229
282
160
328
145
225
203
237
240
293
219
267
221
151
201
187
235
195
261
191
234
168
179
203
277
157
229
204
241
179
215
216
240
222
254
219
249
293
243
191
197
277
297
213
296
198
213
179
300
190
271
222
211
126
156
258
279
265
211
293
203
292
195
205
181
202
245
126
211
220
241
283
130
235
178
160
220
253
261
291
170
247
179
328
208
228
219
199
244
271
236
189
245
254
210
199
240
262
229
244
245
206
279
261
196
236
209
243
155
259
218
203
197
205
148
224
135
208
173
237
237
209
230
155
271
231
137
178
231
237
196
192
256
287
181
191
219
192
248
219
126
245
247
204
278
251
242
170
168
251
249
279
184
268
296
253
262
217
213
266
217
208
225
258
264
190
206
244
275
181
234
206
245
193
326
201
221
148
291
202
197
200
255
167
276
309
212
267
248
234
255
275
259
230
243
185
228
305
306
256
218
216
192
215
108
261
192
231
206
184
222
261
281
202
216
279
255
144
252
222
220
180
204
215
250
305
169
180
160
218
268
244
264
200
296
174
235
240
225
272
162
201
275
274
241
211
253
219
244
220
185
218
237
213
180
211
174
206
182
303
202
232
235
216
283
173
209
269
277
265
282
188
242
174
341
279
229
220
204
198
193
181
160
220
231
236
240
232
223
171
252
213
157
194
208
206
182
279
211
165
213
179
324
181
208
189
186
226
234
190
234
219
188
234
192
212
188
230
225
164
254
170
156
262
245
252
201
262
245
247
170
242
181
170
290
234
179
291
206
253
217
350
286
266
171
176
178
264
149
223
256
297
179
218
114
172
248
211
172
190
225
180
255
178
225
144
173
231
181
181
202
218
286
272
166
269
180
229
176
202
169
213
166
178
206
218
199
249
183
269
189
159
245
213
205
197
205
192
231
196
282
160
258
197
183
178
263
215
259
223
183
192
228
205
266
152
226
212
221
207
238
224
248
261
195
228
277
159
235
260
225
212
194
218
228
215
169
183
205
228
249
283
225
149
252
158
244
297
212
151
211
306
240
212
213
313
262
192
238
209
221
188
211
272
252
197
262
263
171
253
233
218
144
157
212
200
183
286
232
177
173
246
245
231
193
165
225
202
243
206
147
229
170
194
249
174
214
312
185
237
216
234
186
190
204
209
243
278
271
247
329
252
192
240
224
263
296
184
174
220
246
232
219
249
175
355
219
144
151
353
203
166
231
156
225
189
215
226
114
266
297
250
196
343
248
196
239
138
272
186
206
255
207
166
243
172
261
262
234
277
245
175
192
187
273
151
130
239
243
178
214
320
181
274
209
267
273
126
202
238
179
218
299
232
221
247
200
252
285
311
167
143
170
225
191
215
296
183
206
251
220
208
203
260
231
233
174
246
273
243
223
243
272
225
264
261
226
283
237
194
215
258
181
195
210
160
184
213
172
298
243
265
200
321
238
246
285
238
192
172
238
189
265
202
228
196
162
198
262
285
228
192
147
203
222
207
231
185
292
183
217
134
240
276
213
234
219
235
245
205
255
234
189
311
282
203
255
209
198
228
197
183
233
215
255
311
267
250
261
201
196
267
269
203
233
229
216
190
195
284
172
185
190
220
243
286
235
239
160
249
145
240
283
235
268
257
275
254
179
160
319
274
238
242
216
190
210
190
253
184
278
225
183
181
213
232
213
229
236
194
178
300
211
186
265
260
217
208
208
180
273
243
396
222
239
175
241
307
268
229
272
242
180
219
189
220
241
193
257
291
169
207
350
204
191
240
202
189
301
239
222
254
235
269
222
174
188
376
288
228
257
194
221
206
234
251
249
235
186
226
216
269
244
287
186
276
245
235
214
195
207
266
197
199
277
263
314
175
201
301
193
236
253
161
222
234
212
211
133
225
200
189
258
311
222
310
184
114
182
323
238
186
194
194
209
180
269
207
248
253
229
320
259
235
209
180
193
295
209
194
221
231
224
236
219
182
229
203
193
245
227
214
212
191
213
174
228
196
157
179
189
305
234
269
253
282
218
241
114
133
206
114
260
306
281
249
253
114
216
207
237
145
185
323
156
126
241
296
209
267
183
229
178
195
279
160
217
214
322
193
198
159
216
221
275
165
333
190
240
235
284
220
156
268
263
262
267
181
232
309
248
277
213
219
129
206
247
213
171
208
222
252
212
251
185
233
151
224
216
242
179
170
243
255
257
256
258
281
192
232
212
227
239
183
247
224
262
207
251
208
184
313
245
237
285
218
205
269
199
222
277
197
244
209
179
173
293
226
269
205
230
266
224
269
238
287
306
261
202
214
289
244
166
162
213
194
220
146
180
262
206
296
192
170
181
152
209
207
156
263
240
175
221
208
194
284
229
257
188
173
254
181
184
191
174
209
223
203
250
236
240
311
239
218
236
270
278
262
203
219
201
301
257
333
260
186
222
283
291
181
216
227
347
227
234
199
202
178
255
229
277
210
240
374
151
202
253
192
198
230
241
238
163
247
201
205
245
217
255
234
201
165
256
233
197
206
288
198
185
167
236
196
308
243
177
264
198
164
219
249
195
197
219
191
241
222
180
195
304
208
233
267
225
214
157
182
214
285
215
216
174
152
190
200
199
286
252
198
173
276
158
255
259
197
215
228
191
287
175
238
160
262
205
275
162
317
114
203
270
259
198
288
233
193
324
219
305
145
121
230
242
293
114
217
225
220
185
229
191
351
250
202
267
246
224
144
224
193
176
261
296
236
247
211
184
162
183
284
180
285
203
245
282
245
273
233
201
187
302
243
266
240
194
177
151
203
252
197
248
239
285
235
205
165
202
224
195
193
254
201
237
251
272
239
198
218
264
184
257
213
246
206
242
255
202
129
173
232
319
297
320
238
291
222
238
248
152
188
252
212
121
232
241
215
162
167
198
281
238
207
220
238
227
285
162
270
114
219
218
277
218
270
198
198
235
244
262
235
304
260
258
292
145
214
175
205
181
269
175
275
253
209
303
235
278
256
129
260
214
166
265
139
244
186
223
199
200
161
224
230
178
157
209
164
203
205
305
257
258
203
214
151
228
257
217
212
260
265
158
176
264
288
172
148
259
297
214
187
227
248
210
286
225
239
168
230
216
173
188
218
149
225
180
196
236
243
205
236
307
206
196
178
228
211
205
263
259
189
281
282
250
217
296
169
271
256
232
291
193
255
196
156
235
250
323
176
187
193
225
230
211
213
253
261
326
178
206
207
239
285
217
225
200
246
283
173
187
208
239
243
192
264
253
152
178
186
274
208
263
195
212
207
240
130
181
268
213
277
223
197
296
228
185
214
179
175
283
230
221
221
213
219
206
190
235
207
204
188
202
231
183
274
235
148
228
358
194
175
189
182
241
207
263
209
194
237
274
196
300
253
204
213
254
207
202
221
145
211
225
211
229
268
231
215
211
287
203
207
194
164
212
266
235
265
172
182
213
211
139
355
198
201
166
185
213
367
249
196
221
226
250
196
178
188
237
281
223
198
261
234
189
192
179
228
194
178
261
255
270
195
250
173
184
211
260
227
265
357
258
222
306
205
205
308
191
264
277
221
248
303
295
162
299
260
209
220
178
250
260
205
251
213
254
179
197
167
203
234
319
185
260
204
208
238
263
262
186
244
233
253
239
195
146
126
279
278
186
276
221
217
248
231
214
279
269
191
195
168
214
208
208
255
242
221
205
165
206
295
180
183
276
287
239
206
155
201
273
219
220
272
218
208
256
268
191
195
199
157
214
187
293
263
295
195
228
197
198
241
275
290
177
225
212
236
198
242
257
229
241
199
321
169
280
205
160
228
238
307
181
184
275
237
221
265
311
273
252
202
281
183
237
305
193
152
264
212
238
261
207
254
288
258
173
233
236
282
222
198
265
290
252
187
245
215
262
176
210
301
167
212
367
239
240
264
172
182
250
208
197
240
167
274
209
271
219
249
197
356
200
248
254
211
227
126
232
228
291
286
194
268
246
192
180
161
221
156
247
206
161
249
165
189
226
212
229
225
230
128
234
284
231
237
149
257
190
180
241
243
268
254
253
184
281
263
204
238
240
209
234
271
173
262
167
219
208
232
193
265
225
262
191
242
234
126
209
185
260
170
243
232
187
187
309
171
234
308
152
238
221
232
243
232
174
263
174
198
258
175
273
206
219
291
241
232
168
295
146
197
201
195
241
255
307
207
185
258
270
268
250
219
186
175
188
233
199
203
130
245
234
283
194
242
271
158
244
247
214
213
238
193
295
246
227
223
233
275
240
180
202
244
217
205
191
207
324
235
291
247
176
318
219
236
222
152
147
235
263
139
183
207
225
253
259
261
156
288
271
222
185
246
144
194
268
214
208
230
280
214
261
152
289
209
193
204
222
286
226
181
227
261
244
146
247
186
175
155
255
210
196
188
126
242
114
206
276
239
273
177
253
173
256
114
262
228
156
256
194
241
272
213
108
266
170
185
283
186
153
206
178
296
238
306
171
151
158
153
226
244
284
193
178
233
227
230
261
207
265
178
217
272
245
211
172
192
242
191
287
174
181
248
219
251
189
296
244
202
151
232
266
226
205
243
241
141
267
198
239
223
181
225
227
269
188
243
199
279
322
166
274
216
370
239
255
201
202
256
209
268
244
181
255
217
196
160
121
151
284
203
183
256
169
286
228
230
193
186
170
126
233
290
185
188
201
255
281
195
178
281
209
231
167
215
221
263
189
196
231
181
254
152
175
273
207
225
217
323
179
220
254
222
239
226
173
233
205
240
268
274
201
293
303
213
255
226
257
251
226
203
184
194
221
234
223
163
241
254
356
247
277
205
174
240
266
246
184
220
236
195
255
262
243
243
176
237
261
250
236
221
247
207
270
251
252
217
160
200
218
253
206
171
229
281
218
200
192
222
207
166
116
265
324
287
259
173
173
206
145
202
184
203
210
260
241
193
195
146
260
206
176
201
184
142
209
256
266
216
183
253
244
215
266
262
243
258
246
221
280
238
280
222
228
225
148
231
191
231
159
126
232
222
195
205
258
246
227
260
189
175
173
249
268
212
228
181
212
239
148
198
146
287
213
207
144
228
366
212
201
208
246
145
232
238
229
312
181
259
213
180
267
241
206
201
291
300
228
154
126
243
268
236
231
244
162
240
265
245
204
193
321
278
166
245
229
263
318
194
262
227
215
271
151
172
223
286
221
186
224
172
243
174
223
231
286
254
276
173
237
278
229
220
244
179
238
266
265
266
229
247
139
270
199
205
208
209
202
151
254
269
208
244
198
201
254
114
170
201
248
278
181
277
263
252
232
232
236
204
248
224
214
294
169
369
198
181
186
177
237
211
245
233
116
283
229
278
216
154
116
247
252
287
295
249
147
246
200
198
282
303
235
146
233
219
178
228
220
234
241
306
225
210
228
229
275
205
202
201
173
108
210
242
247
173
187
198
265
214
233
241
190
234
231
261
239
251
227
218
254
235
261
201
187
240
284
188
218
228
159
201
227
257
214
169
249
268
278
240
224
183
114
220
195
256
227
205
226
144
272
192
252
248
156
197
181
242
268
204
175
256
215
240
264
201
213
170
232
263
240
250
246
231
200
183
202
234
249
289
183
235
203
184
164
255
252
246
250
255
255
260
242
301
184
178
187
148
151
184
226
292
181
270
232
224
195
222
126
230
218
162
265
175
272
251
219
161
210
215
251
233
258
250
260
297
293
178
248
178
206
220
230
289
245
210
154
211
232
230
215
282
220
173
152
208
167
195
201
187
301
250
160
265
233
263
206
307
278
215
229
229
199
232
129
282
204
189
240
311
164
178
243
227
121
201
225
193
285
279
241
249
161
184
168
323
215
230
294
237
288
192
178
221
225
249
198
198
254
171
233
274
281
252
324
212
236
289
239
367
172
252
277
219
187
221
215
247
239
221
330
340
241
108
274
173
193
172
281
215
262
144
223
224
194
211
168
255
262
347
216
169
201
219
224
194
281
291
305
184
253
315
254
217
206
240
252
198
305
244
232
253
183
204
171
201
276
213
231
170
208
181
251
149
274
289
285
159
198
259
121
231
307
163
236
178
289
215
185
188
270
287
156
199
268
148
221
245
184
190
233
283
226
282
249
226
214
226
208
175
234
130
248
228
194
251
193
248
291
230
202
222
144
290
193
224
277
250
191
199
230
271
158
248
258
213
188
178
240
206
196
170
179
239
216
151
168
217
249
275
281
180
114
227
145
227
181
176
300
224
229
224
211
219
240
269
217
243
182
233
248
244
188
199
252
214
173
233
196
177
241
220
224
267
196
234
231
254
327
219
225
255
251
234
198
258
139
280
228
241
178
188
187
151
216
192
270
265
250
206
114
291
249
299
202
213
208
242
231
240
225
236
228
200
203
181
211
265
255
284
184
285
255
205
251
203
259
212
191
266
184
177
200
298
200
277
158
237
152
288
209
245
149
287
222
240
288
226
238
266
267
240
268
166
225
309
346
306
201
247
231
270
218
188
271
207
203
295
116
285
212
298
209
309
191
221
229
306
238
228
244
276
258
211
130
227
269
269
178
227
230
236
246
246
212
257
196
232
175
192
210
301
303
227
248
246
187
260
269
252
254
226
286
244
229
237
237
267
277
233
229
215
178
292
199
277
202
265
299
114
245
174
292
201
211
153
227
207
256
213
241
208
213
308
292
202
263
214
185
240
231
178
264
233
226
175
251
116
229
173
230
214
195
261
261
190
221
229
225
237
214
222
217
151
250
246
230
254
255
168
251
243
269
203
310
255
181
305
221
214
200
146
233
279
264
204
243
232
179
145
173
298
184
204
183
170
269
178
240
247
269
209
193
301
315
275
229
256
139
196
317
271
281
213
196
227
248
329
253
239
272
223
228
196
293
252
235
217
162
207
198
229
203
173
244
195
243
221
223
156
222
182
291
227
191
234
221
296
192
199
254
114
225
221
194
250
289
264
170
256
243
243
201
171
237
169
200
214
220
220
324
177
177
219
178
284
114
202
183
245
238
278
216
224
194
289
248
180
226
237
278
176
197
114
234
184
216
177
243
192
276
176
227
223
145
234
292
212
210
224
302
180
250
234
201
203
333
190
283
178
200
266
146
247
230
195
190
280
229
218
252
208
237
227
256
233
260
222
219
244
280
177
279
227
338
239
301
237
215
172
255
218
186
213
219
194
133
166
233
253
206
207
323
221
215
257
223
246
253
200
226
212
227
219
186
164
149
160
243
215
240
114
209
177
218
262
213
192
200
205
178
200
242
265
304
247
246
245
209
238
161
195
208
244
224
246
343
258
178
246
232
210
248
260
243
311
198
178
181
207
316
224
333
231
114
233
231
114
198
258
248
196
191
185
197
247
238
167
213
232
145
242
152
259
211
213
198
265
186
222
203
160
210
180
198
215
200
184
225
186
308
316
298
252
255
211
252
266
184
252
184
231
228
252
279
193
232
258
262
159
263
216
198
154
308
195
224
204
177
265
214
270
237
210
201
296
173
246
211
291
114
179
257
199
179
228
252
199
267
248
231
171
268
305
211
182
208
145
219
216
243
249
234
224
207
221
230
274
219
173
226
182
228
263
311
253
198
303
271
208
194
221
223
297
254
205
181
245
183
267
156
239
126
244
185
181
238
289
285
202
299
269
201
263
239
166
248
262
240
231
215
182
306
170
240
173
306
253
219
197
156
275
253
108
208
229
230
280
273
216
236
188
288
206
225
156
191
226
162
220
197
142
199
261
162
162
255
183
173
248
269
231
263
252
255
241
158
234
220
246
217
212
186
160
192
239
275
166
190
297
305
274
220
215
231
195
307
235
288
246
189
238
157
192
392
186
195
190
246
223
240
146
180
238
172
234
174
227
170
232
243
227
181
199
279
222
255
169
241
252
180
195
277
191
254
190
253
114
180
232
210
244
173
284
217
185
199
208
148
173
245
144
184
163
187
242
255
252
245
241
213
202
243
207
162
246
262
260
176
200
181
228
237
194
207
158
225
246
232
377
216
156
208
237
278
191
179
252
192
239
241
198
216
178
289
251
321
289
324
194
171
185
256
220
139
260
192
304
151
285
154
259
197
206
222
252
279
195
215
254
178
248
264
211
257
223
186
245
243
212
266
167
217
200
140
175
213
168
203
232
262
290
233
170
274
200
237
241
226
288
303
225
234
178
225
196
258
239
213
282
257
254
179
272
203
178
213
210
228
145
176
213
252
238
234
189
208
218
184
241
217
255
233
156
254
345
234
240
244
209
275
162
245
229
198
295
281
306
270
208
133
273
191
185
193
188
128
228
153
288
208
208
214
253
173
226
261
238
168
270
254
238
235
219
255
149
145
184
186
230
339
235
202
180
240
317
232
194
195
213
288
196
151
198
209
221
253
177
273
240
198
249
223
206
271
283
216
246
295
169
181
237
231
211
262
162
235
201
171
233
162
236
114
198
220
233
219
203
278
235
254
218
244
190
256
266
196
357
214
235
187
253
201
181
160
299
159
194
249
194
159
244
221
253
215
272
169
183
255
220
148
203
235
220
161
220
280
216
253
199
270
273
199
267
237
255
178
211
211
199
225
295
207
166
230
207
152
262
247
213
183
222
302
223
168
196
214
218
233
262
207
158
217
257
198
160
114
204
259
192
254
233
229
156
285
175
235
200
130
152
251
240
231
271
234
177
253
200
230
205
269
220
139
197
210
247
202
234
293
226
223
231
221
219
296
196
186
264
145
178
240
239
198
257
181
219
259
249
227
158
274
170
227
208
212
252
193
219
227
203
212
145
236
213
211
331
155
242
214
221
226
189
283
281
273
202
236
215
171
229
201
173
233
234
179
193
250
353
322
287
314
213
247
281
191
291
177
220
173
213
200
234
187
149
240
219
261
272
235
198
222
189
229
232
198
257
285
176
230
197
227
284
175
276
250
184
179
230
214
244
301
151
249
240
141
221
284
267
182
198
244
114
231
222
287
174
244
240
173
351
180
257
162
270
159
245
219
233
212
240
207
225
145
219
248
231
209
230
181
239
268
114
266
301
200
242
192
184
253
159
270
225
207
114
227
208
144
228
211
265
251
174
276
223
283
181
298
239
184
241
258
151
225
205
194
195
250
145
158
238
172
236
245
238
213
183
233
260
202
201
225
148
198
226
180
255
201
240
165
222
254
213
163
257
206
311
199
175
160
156
215
185
284
255
270
173
269
251
126
192
152
246
223
247
285
259
207
254
263
126
169
215
237
285
276
227
206
237
222
227
198
230
160
321
242
238
286
219
278
226
319
209
235
330
202
228
193
267
244
217
189
195
260
268
215
287
264
215
121
190
338
260
287
153
280
230
258
196
175
269
268
163
198
232
195
240
311
186
211
208
211
240
265
327
259
272
158
273
231
201
239
183
204
267
201
258
181
173
254
185
207
192
249
169
168
177
219
180
191
208
139
214
276
181
195
246
169
239
300
287
234
189
154
192
200
152
205
219
199
218
230
263
209
217
280
225
198
232
178
214
204
232
249
170
152
258
230
185
217
204
282
256
297
152
129
195
262
201
214
186
194
225
225
255
233
315
177
191
219
244
256
290
255
270
243
174
213
262
204
242
294
181
179
201
216
252
277
156
213
161
177
178
267
221
225
279
238
239
192
188
296
334
212
178
204
209
278
245
238
214
239
224
214
208
220
198
228
253
191
126
217
139
253
269
242
248
178
179
264
238
181
163
328
190
249
214
214
193
174
255
205
230
215
243
239
222
178
276
241
235
114
220
160
250
178
241
208
144
280
199
260
216
224
227
284
269
203
211
191
198
180
208
244
191
169
194
245
189
179
171
234
219
277
208
195
286
212
250
250
198
260
261
268
306
241
146
223
242
223
227
253
233
114
230
323
165
203
270
156
260
177
210
174
148
262
198
256
184
144
182
188
221
274
195
221
137
238
220
208
246
230
342
207
299
184
230
209
257
214
170
179
220
244
210
233
160
245
253
268
240
249
226
236
254
180
217
208
237
190
298
139
218
248
226
152
217
181
236
235
208
210
181
321
260
168
266
192
205
171
267
129
262
190
240
210
210
220
288
114
232
233
334
239
253
200
348
276
283
273
255
212
178
284
238
223
273
238
290
227
235
202
238
154
329
262
200
222
285
245
293
154
202
189
191
293
184
227
189
261
188
226
237
198
238
200
189
239
209
198
260
198
160
217
274
182
179
293
323
228
228
170
192
116
238
234
289
276
265
185
194
229
170
228
256
210
179
244
200
191
175
170
247
227
258
212
325
229
172
281
192
246
194
277
212
152
239
256
217
193
199
204
254
274
281
203
327
276
234
202
261
192
198
178
223
183
260
215
316
217
246
208
154
270
240
187
262
315
267
219
214
200
176
230
248
234
195
293
188
254
219
262
198
175
210
244
225
258
160
249
215
291
187
263
267
206
296
266
206
265
218
156
222
238
161
200
268
272
214
170
225
178
212
200
114
287
189
255
228
168
146
235
198
307
222
277
205
249
247
201
181
173
225
151
249
237
194
177
168
210
275
229
448
231
247
250
114
154
184
273
152
149
227
223
244
182
225
220
248
170
213
231
230
192
170
238
229
203
269
165
267
228
246
181
247
295
205
250
168
209
239
318
289
243
222
247
192
208
272
225
157
198
261
250
151
196
260
280
201
229
292
230
226
274
246
211
175
208
181
170
171
244
277
221
234
219
211
243
209
219
254
221
231
197
229
243
247
193
263
169
245
264
239
207
168
160
193
222
245
202
212
273
178
304
279
219
294
201
220
304
266
232
309
249
206
300
192
213
198
262
176
275
292
259
223
170
225
178
151
239
203
180
283
108
278
239
243
190
193
200
197
285
274
245
228
271
148
236
154
342
236
292
247
256
171
255
154
148
222
208
258
170
233
202
179
264
217
200
205
185
229
243
198
164
221
230
168
197
330
192
266
176
180
266
227
222
281
295
264
239
283
319
160
157
261
206
290
193
220
149
155
205
248
219
204
264
244
278
238
207
173
268
220
244
214
198
236
222
291
223
224
151
193
168
252
139
213
126
157
274
309
193
226
211
264
302
169
170
213
264
203
196
296
214
219
247
225
210
239
195
222
274
230
330
149
257
178
128
203
164
241
180
226
212
261
220
114
223
245
221
186
204
143
306
275
192
178
220
152
287
317
233
186
357
295
212
291
211
233
236
206
269
219
231
253
221
226
252
175
253
283
260
193
289
231
263
156
294
152
210
232
322
250
270
210
252
234
237
106
329
207
184
191
240
256
173
169
254
219
243
199
209
250
208
227
237
240
243
241
174
196
189
176
312
266
239
182
211
229
301
316
243
230
228
192
244
271
268
199
226
203
189
219
214
169
195
245
222
321
195
306
114
211
193
321
215
275
228
253
178
280
195
191
191
277
201
264
255
258
213
223
223
215
257
277
183
171
216
145
192
195
207
231
244
273
206
173
202
218
190
267
262
198
161
245
279
203
276
198
172
184
219
306
230
249
270
218
240
170
228
214
238
213
229
185
241
156
213
239
235
307
194
171
187
181
193
196
246
204
291
216
245
199
217
211
192
170
216
271
233
108
287
255
233
185
214
209
226
163
324
258
228
274
212
220
243
269
242
161
156
236
192
225
213
229
191
204
256
182
201
240
217
284
178
187
222
201
258
231
271
168
229
190
262
236
275
208
276
178
195
256
200
240
328
189
239
354
239
293
195
335
191
245
178
211
170
181
197
177
161
209
271
181
251
192
208
224
241
222
264
206
242
207
193
154
181
188
234
212
212
319
232
250
250
178
242
279
317
276
248
214
198
291
215
244
233
225
207
229
240
255
282
202
240
250
272
209
194
166
209
223
217
263
181
159
222
255
297
212
244
139
281
191
240
157
239
242
177
146
228
317
242
248
146
230
276
198
264
213
177
201
255
170
257
116
220
254
212
156
163
215
219
298
211
249
269
270
233
156
194
192
235
214
178
248
259
192
258
185
189
247
167
208
235
181
149
229
192
200
229
206
191
249
206
260
291
247
185
277
311
264
226
157
303
166
176
246
190
129
191
203
171
212
243
196
325
272
178
217
260
203
257
207
155
225
301
228
275
317
220
164
190
209
240
290
160
229
219
221
114
204
258
114
208
205
267
305
197
270
214
200
262
198
216
229
283
282
165
233
275
191
288
290
308
254
261
289
259
186
173
206
302
319
196
255
229
221
237
224
232
196
324
222
200
322
271
280
190
208
108
148
222
178
114
282
114
225
154
203
198
225
192
245
285
243
265
197
363
231
230
297
237
233
277
116
256
203
181
188
191
247
296
291
236
192
314
165
283
238
174
189
249
332
245
114
166
211
243
194
196
306
182
219
273
297
213
227
185
247
250
165
219
226
238
233
211
202
195
243
219
252
218
221
310
231
309
309
209
223
283
196
321
205
143
221
248
192
219
204
274
195
233
250
206
199
209
264
229
126
310
182
219
228
218
178
211
251
227
194
281
339
237
210
243
216
209
230
174
234
245
247
173
284
161
210
240
184
215
193
188
295
203
169
228
220
130
273
114
198
215
256
223
210
214
237
215
170
190
278
252
297
152
287
288
201
208
270
305
197
220
219
237
198
250
178
237
188
257
210
219
223
230
229
204
279
266
168
249
212
222
238
242
363
196
282
195
247
228
236
181
245
224
226
208
214
276
263
178
169
224
251
355
145
251
184
195
302
200
191
240
208
196
222
208
203
217
227
267
251
174
240
217
175
181
197
301
199
208
160
148
259
297
274
149
181
233
251
262
199
321
130
247
285
114
282
270
175
246
299
224
175
246
185
244
273
229
196
185
222
212
268
199
290
215
170
222
256
206
216
235
199
195
363
224
219
202
340
211
178
232
193
255
251
228
306
146
267
201
260
216
219
243
284
241
214
181
292
218
237
206
194
163
224
319
260
161
229
234
217
262
152
183
301
249
198
261
114
194
254
290
198
185
178
108
208
253
309
206
240
218
262
253
234
264
268
171
197
241
293
192
237
181
212
208
219
218
222
214
202
114
154
166
306
145
232
230
152
202
268
180
214
292
253
234
243
200
223
167
215
224
244
175
234
278
290
280
273
184
199
246
284
183
235
184
243
184
210
198
308
235
310
202
210
174
156
204
253
212
162
227
260
276
230
199
232
200
195
184
181
210
196
276
214
307
255
193
301
198
253
151
257
260
243
208
129
257
298
305
243
158
212
178
246
168
205
279
231
181
221
239
237
247
180
251
187
240
170
164
309
246
253
165
253
114
211
249
281
246
217
271
244
258
206
217
195
274
166
248
210
148
268
160
254
287
237
229
196
182
154
234
195
164
247
217
190
278
301
169
194
186
250
229
306
290
213
204
165
262
224
270
243
247
230
250
219
257
225
220
180
262
232
211
226
240
257
265
265
289
303
244
266
267
144
286
221
252
205
190
133
247
182
241
235
190
114
259
224
276
267
202
114
244
193
217
264
238
306
215
156
206
270
258
233
145
333
263
220
219
177
264
214
227
219
228
199
301
215
174
219
223
322
271
284
251
249
244
154
255
181
295
187
315
230
378
252
260
188
189
293
139
163
300
214
266
285
171
278
204
258
158
340
209
114
225
191
240
272
145
215
208
249
288
229
189
181
260
208
178
253
215
245
290
333
218
174
195
223
252
312
279
247
220
306
257
232
230
172
252
197
202
225
202
227
265
219
173
170
255
268
293
266
175
185
253
234
212
310
332
258
149
237
220
144
252
238
192
228
277
245
276
213
196
243
170
175
232
146
188
238
212
221
369
337
231
261
152
189
198
139
264
221
274
205
248
254
222
163
290
252
258
278
235
241
219
203
255
267
265
210
276
318
239
195
239
204
193
126
220
236
245
145
144
230
238
243
221
261
179
199
233
191
194
173
156
187
196
262
278
191
224
237
156
161
258
207
241
126
208
229
170
292
200
315
225
275
245
248
189
180
223
290
274
227
178
232
149
222
193
181
235
286
219
291
172
239
164
195
297
217
156
280
252
174
162
158
257
184
210
195
219
250
201
238
215
163
252
257
154
245
171
297
234
178
279
233
229
235
240
152
239
217
184
338
194
242
177
272
221
255
174
224
259
188
252
183
273
229
198
230
264
214
189
198
181
284
162
254
267
255
196
273
199
263
206
225
202
160
189
236
241
285
208
247
255
221
192
175
197
292
281
260
281
245
244
227
209
244
106
284
169
226
114
244
279
254
254
285
234
214
249
209
296
219
259
249
242
151
337
180
236
240
282
244
327
234
212
198
235
160
342
192
221
145
200
288
296
225
195
241
212
226
195
326
267
308
176
206
259
247
285
317
168
231
308
234
290
191
224
252
243
293
171
243
180
242
212
173
158
274
247
237
274
229
262
200
249
199
274
248
260
238
187
176
194
219
287
220
248
205
186
237
151
213
223
167
182
252
198
228
114
152
236
199
266
231
220
174
206
191
235
263
219
251
219
309
210
193
302
214
198
211
202
229
308
189
158
210
308
213
226
250
213
260
234
147
173
262
261
198
236
254
252
259
227
121
192
266
274
235
274
226
255
190
233
185
235
231
303
219
214
176
175
278
210
283
114
215
199
180
205
218
192
178
214
178
181
179
258
242
200
211
203
221
253
245
174
151
238
218
216
249
234
278
231
243
198
160
192
162
220
238
195
238
222
235
220
177
186
156
205
248
255
333
177
183
248
238
232
279
206
333
252
248
197
160
288
197
294
312
267
181
199
242
227
157
240
239
238
229
187
243
193
328
322
246
248
280
172
279
225
266
216
198
207
156
193
261
193
222
253
209
198
249
246
271
226
306
225
128
114
196
186
251
227
139
232
233
192
289
274
268
225
215
233
206
215
178
214
183
169
317
242
298
188
222
212
247
312
245
263
233
220
213
203
194
293
199
210
209
278
200
192
304
238
215
170
243
176
229
222
242
287
320
252
270
277
396
251
291
236
106
204
219
172
311
288
273
299
130
271
306
252
324
218
205
261
213
222
185
149
190
299
212
300
254
191
261
224
281
234
234
235
332
180
160
214
241
267
258
197
191
146
224
284
189
265
206
176
258
221
173
242
329
278
246
284
294
170
183
241
173
229
235
267
114
192
210
207
264
306
237
343
315
222
232
204
268
235
184
249
114
133
278
255
244
253
179
187
246
254
226
262
174
218
160
242
188
171
227
225
244
212
248
249
194
229
210
314
266
249
216
243
233
126
279
249
237
222
241
226
204
165
238
213
266
149
232
278
202
156
266
235
252
277
166
152
180
259
214
220
237
220
281
171
321
325
287
238
249
261
255
230
258
186
204
176
175
257
230
213
313
177
207
220
229
228
257
235
267
223
180
252
279
183
160
203
273
233
222
267
157
199
195
277
219
114
264
148
271
202
213
222
261
252
226
237
199
264
208
225
221
263
163
262
198
267
310
186
258
216
262
320
278
254
199
230
179
151
178
250
202
238
178
202
246
197
254
275
200
159
245
166
155
160
242
187
243
233
333
261
221
208
235
196
186
194
223
193
114
203
126
265
207
235
181
221
236
231
300
237
180
161
201
146
152
188
253
215
215
374
244
215
170
368
189
229
205
256
229
164
114
213
282
139
207
242
202
181
197
156
234
191
319
215
194
207
175
184
173
208
272
241
240
228
198
247
143
198
245
256
237
228
252
249
234
239
173
151
224
235
170
191
286
244
191
211
212
165
221
289
304
209
194
313
247
262
168
184
338
151
233
209
237
244
226
258
252
222
267
243
184
228
264
297
207
184
248
198
195
228
242
215
296
239
194
213
192
222
211
256
252
274
291
254
238
237
222
177
234
166
183
223
268
258
238
232
178
203
340
203
209
215
247
333
168
262
223
244
198
221
282
256
174
226
236
203
179
231
197
161
247
181
266
261
204
230
206
275
260
243
174
230
190
198
180
277
245
114
203
298
167
192
263
231
191
238
200
277
253
258
291
223
218
211
179
275
268
200
200
293
204
208
222
173
158
264
249
175
251
259
225
250
281
179
244
197
149
270
180
254
254
303
285
217
171
214
239
174
240
232
193
220
230
310
159
235
253
203
200
311
262
170
297
196
192
196
181
271
185
234
177
256
183
279
271
235
169
229
192
280
221
205
265
197
209
344
180
234
146
189
213
234
213
147
145
267
196
194
279
238
166
197
262
186
206
259
239
245
212
249
238
350
186
237
203
282
286
207
255
193
226
196
223
281
151
192
184
155
248
288
232
262
209
214
306
175
233
232
245
197
223
208
177
215
203
258
178
231
229
199
183
198
287
256
245
314
234
184
240
255
246
268
252
310
144
225
169
302
309
256
202
175
168
230
197
239
223
247
238
334
221
180
208
249
213
224
146
221
285
246
216
198
233
160
161
264
157
188
230
238
114
160
178
225
240
239
206
254
229
160
168
170
202
202
186
286
230
114
209
218
206
244
228
213
200
218
273
256
270
166
220
196
179
229
148
239
267
225
247
243
181
214
158
227
163
198
180
219
227
243
114
156
169
215
288
184
217
312
189
245
222
234
184
289
234
239
193
227
228
224
299
218
209
322
227
166
285
188
269
200
237
283
217
268
189
160
231
211
259
191
237
285
269
165
287
223
242
167
226
269
217
255
218
235
188
288
241
170
336
204
206
291
227
245
215
198
196
229
177
294
189
341
152
191
259
168
199
196
266
165
260
243
299
253
195
216
189
249
203
212
225
277
302
238
200
211
178
242
256
244
228
235
243
279
144
252
249
202
175
195
245
244
242
301
219
214
257
223
157
229
262
267
168
275
276
237
181
288
171
265
193
189
249
173
192
268
219
232
215
211
299
261
224
211
296
169
238
233
200
258
252
277
202
192
201
189
205
145
235
234
253
114
256
205
244
193
210
221
239
194
267
285
289
258
157
312
209
237
196
281
158
258
209
188
277
246
299
275
224
221
210
208
226
156
194
251
220
215
192
280
157
225
250
260
191
171
209
248
170
193
198
233
238
199
211
259
181
274
279
185
273
156
175
240
158
292
204
308
275
205
196
276
306
126
130
219
192
196
155
237
273
286
308
251
234
273
311
232
318
226
197
226
158
273
175
230
254
153
161
285
252
236
198
220
205
260
246
221
185
192
229
200
259
274
193
243
330
168
229
160
222
280
225
187
299
270
192
274
186
247
219
114
225
202
230
221
247
184
222
221
277
265
178
200
298
252
163
238
213
285
227
170
312
148
248
237
313
231
221
244
229
149
222
330
108
237
243
224
270
292
246
295
147
300
191
258
241
247
326
139
272
156
238
169
223
167
243
256
239
247
270
248
220
286
291
315
217
236
208
202
209
205
216
260
157
207
264
236
165
174
218
236
315
224
235
304
175
238
256
264
219
208
213
229
296
291
162
264
166
174
233
249
214
239
252
147
256
232
222
159
227
233
218
320
114
247
267
230
158
274
254
114
209
187
238
237
225
166
254
190
261
232
283
242
217
170
214
173
266
198
232
257
257
188
181
182
254
252
172
139
133
209
252
219
213
317
200
233
179
263
191
227
247
215
141
170
245
219
262
220
285
212
274
194
160
257
287
139
302
206
212
174
231
206
319
275
173
223
229
194
259
245
219
276
210
212
206
344
158
257
275
171
221
241
243
230
179
267
152
203
262
215
244
257
238
202
339
194
275
266
276
267
250
222
152
160
236
212
273
267
246
219
242
286
158
220
170
176
170
266
190
223
191
248
226
218
250
267
243
230
231
234
250
271
216
273
232
193
195
170
221
294
212
160
175
219
214
224
108
340
163
240
276
246
209
164
129
174
230
272
228
233
273
292
272
157
208
253
214
214
200
250
185
206
121
325
216
160
175
271
191
274
231
247
246
211
202
217
304
197
140
108
283
211
253
229
204
288
164
148
241
337
252
244
114
228
206
259
220
301
160
213
285
207
198
170
236
319
261
219
198
246
156
221
232
224
200
232
181
183
213
187
229
262
234
218
231
196
214
275
262
246
218
219
198
244
236
193
199
195
281
160
257
160
209
210
218
261
212
193
225
221
227
221
267
283
205
270
250
195
197
186
253
222
193
327
231
208
180
164
239
219
277
174
214
235
208
219
173
256
207
189
289
229
209
303
229
221
207
251
267
252
249
215
297
229
212
273
269
281
184
239
158
166
232
170
192
167
160
269
240
257
188
255
216
249
194
287
211
214
213
257
245
225
207
262
263
254
200
206
210
264
235
301
280
181
223
232
225
222
174
233
264
315
171
266
196
400
234
176
178
230
202
227
158
165
227
200
228
206
241
114
246
207
184
230
204
282
161
215
253
361
290
263
188
261
245
277
194
254
272
218
202
294
286
277
191
180
149
257
355
233
221
212
264
221
192
356
240
290
226
207
233
149
296
166
191
240
193
277
278
245
196
158
200
246
255
286
227
167
303
192
198
284
267
227
180
248
242
181
262
212
273
224
225
197
267
227
222
168
281
222
329
330
210
229
243
211
114
225
263
252
244
192
256
211
292
219
332
252
202
356
232
264
200
210
178
264
177
193
311
221
284
257
260
280
231
234
209
166
179
234
192
156
173
153
241
241
250
238
187
243
289
258
146
195
233
255
240
241
261
251
155
252
195
246
287
257
267
218
213
151
198
245
247
215
246
226
282
262
183
270
193
288
200
259
240
230
207
290
217
258
192
192
253
197
248
178
307
190
243
264
236
237
203
257
209
224
218
284
291
185
181
178
234
287
145
114
304
229
238
239
279
252
192
175
227
213
265
296
246
307
168
214
196
213
280
202
155
186
224
298
196
307
248
201
205
229
194
263
260
212
161
239
178
242
152
228
256
225
210
202
176
182
310
291
197
251
169
223
229
242
192
169
184
216
206
235
223
147
181
193
219
225
213
229
235
214
150
287
169
290
313
290
195
175
265
231
241
305
273
191
216
178
152
165
283
322
241
347
286
319
261
234
177
192
250
219
174
299
324
255
205
234
214
165
248
204
183
193
242
258
192
265
199
273
239
266
184
173
202
222
268
230
173
271
285
303
181
165
213
299
209
296
193
208
220
217
230
160
234
223
259
166
195
246
217
250
201
204
198
238
263
269
155
209
193
204
288
245
230
152
256
234
233
252
204
239
245
235
133
248
258
238
152
210
233
198
116
294
244
314
181
177
251
282
248
248
204
192
126
236
246
266
229
158
242
208
234
285
243
219
214
175
229
166
274
175
240
181
320
292
199
158
211
204
224
250
222
228
322
245
216
230
225
197
252
160
242
294
227
191
253
294
243
220
229
261
253
209
282
227
209
321
215
273
260
195
175
240
291
182
212
240
171
229
240
237
245
217
212
193
253
175
169
184
220
258
220
237
144
194
234
165
212
249
265
218
234
327
233
257
344
154
231
242
193
144
223
232
327
189
201
213
180
216
161
282
299
206
188
231
265
144
207
309
209
191
166
241
242
263
248
290
171
275
197
240
224
269
235
174
200
223
238
240
288
184
168
291
201
200
246
227
277
156
235
204
195
199
181
227
185
188
126
196
156
233
165
183
212
243
219
148
114
206
289
174
181
215
217
212
226
184
239
228
219
255
259
242
227
203
322
266
215
254
252
204
238
227
186
215
233
224
204
174
210
245
197
178
126
161
302
114
195
184
280
335
263
256
224
249
248
222
247
227
215
226
237
259
216
220
270
260
231
218
179
204
224
209
214
306
235
243
248
225
175
249
186
233
185
252
152
234
177
197
310
249
206
200
309
189
171
217
263
262
262
250
263
261
276
288
203
295
250
220
225
258
301
309
160
231
222
311
257
248
219
197
154
232
219
195
196
273
233
234
253
269
285
256
184
259
222
281
241
214
239
181
249
241
225
171
254
213
160
175
195
227
194
192
246
168
271
212
114
223
329
241
209
126
159
243
222
220
251
230
252
213
227
178
237
247
184
252
225
201
266
310
213
192
209
229
188
205
186
198
262
224
291
235
198
348
227
158
232
200
218
139
225
238
135
277
291
231
186
311
235
160
210
391
214
244
238
261
249
223
139
256
193
166
284
241
250
213
254
219
223
214
242
239
251
203
260
232
269
305
186
197
177
121
207
181
221
222
288
226
256
190
198
190
170
172
154
202
202
278
306
161
201
245
298
175
246
224
242
182
215
219
176
329
220
192
228
198
151
243
219
344
228
220
215
221
255
185
309
251
201
192
222
211
175
222
286
257
223
192
194
252
154
301
207
231
206
203
142
212
241
145
184
227
217
130
358
193
175
269
180
288
175
201
231
192
155
304
170
274
196
262
219
257
274
222
330
204
208
235
129
133
282
342
217
304
213
290
246
309
139
214
377
251
234
204
210
168
214
205
193
273
239
261
255
313
285
187
252
247
245
203
245
281
320
290
234
192
198
169
196
245
158
182
201
206
186
312
185
228
211
265
284
249
189
247
189
236
238
189
234
229
318
267
262
144
231
193
173
226
300
236
221
193
327
190
177
154
218
156
238
243
254
195
193
168
303
241
184
230
228
246
228
246
165
232
270
252
191
202
170
229
207
216
262
230
249
179
188
190
233
205
169
212
247
241
186
224
160
200
245
217
199
218
283
154
179
317
158
293
268
279
179
265
210
211
260
213
220
261
278
198
218
265
221
246
184
186
209
233
162
306
286
217
258
293
230
255
264
223
241
239
208
255
259
157
204
257
236
173
154
255
220
295
158
226
259
227
197
183
218
237
190
154
175
175
174
198
233
256
238
231
161
298
221
298
248
216
284
241
193
244
280
222
240
239
238
204
203
201
243
257
157
195
171
177
182
240
211
278
181
287
258
208
175
229
187
155
176
201
290
182
266
176
211
205
158
208
276
213
194
223
238
267
198
227
262
166
221
233
175
275
292
249
234
181
235
214
367
196
144
189
253
184
193
225
139
167
211
223
196
160
236
233
335
238
211
114
186
168
330
325
285
218
197
258
202
227
236
206
213
184
260
201
198
215
240
164
244
165
198
234
237
211
228
221
192
225
235
236
192
162
270
250
238
186
291
250
289
173
228
254
178
147
258
209
307
213
249
154
236
160
190
170
271
203
156
276
251
300
175
114
201
228
261
227
213
226
205
167
214
220
178
221
218
151
212
170
216
184
226
205
296
203
163
171
212
173
206
196
145
184
234
194
200
144
255
200
199
201
213
297
182
228
167
231
269
256
247
279
225
215
205
254
244
173
257
248
214
240
259
216
239
286
238
210
309
210
250
204
264
228
247
238
212
214
213
297
300
249
182
215
244
208
172
255
266
190
223
282
217
270
108
200
201
240
310
178
225
218
192
196
196
168
189
293
221
218
198
222
243
318
234
252
219
173
170
222
156
198
170
202
114
198
213
259
268
281
229
248
196
271
209
114
205
219
223
170
244
257
121
240
261
224
278
275
165
299
250
343
168
174
249
260
247
306
220
271
185
269
229
268
236
204
203
255
267
181
161
292
292
306
209
224
194
129
298
251
225
234
255
252
208
233
319
180
158
141
314
197
204
234
278
182
204
195
218
144
171
277
250
170
220
227
225
263
211
169
204
211
293
227
176
215
177
270
168
156
252
219
267
236
219
299
266
233
108
237
234
174
221
307
272
229
224
246
262
158
192
255
242
245
310
167
216
189
233
239
218
182
114
175
182
217
230
230
212
244
230
232
178
222
168
261
216
178
205
284
214
263
210
247
199
254
294
295
195
208
206
265
145
275
213
238
170
249
236
177
145
166
222
151
168
193
285
297
213
258
315
162
158
212
203
214
221
206
204
211
238
193
229
272
213
218
222
191
255
288
114
169
232
171
170
173
189
220
263
263
229
201
296
206
172
258
199
265
213
262
163
197
261
228
229
195
232
251
277
243
249
197
206
222
263
217
190
216
215
249
314
211
246
217
240
275
145
321
196
236
243
208
231
170
264
241
229
200
198
158
229
230
253
172
160
222
229
219
194
180
220
273
201
172
233
241
253
205
268
283
210
239
275
206
258
208
223
234
170
220
175
228
205
262
178
160
264
173
160
226
170
271
241
198
245
171
244
214
278
196
310
222
231
218
222
259
178
193
182
199
148
208
245
237
235
221
152
306
325
251
242
233
306
241
207
212
213
199
251
243
182
205
289
239
231
235
277
237
285
255
156
193
200
247
218
193
240
259
235
233
228
179
178
161
158
328
234
223
203
323
225
191
298
114
226
242
227
227
243
217
296
214
231
226
243
248
266
220
248
207
114
234
181
187
197
221
180
181
253
201
213
234
208
259
192
224
205
195
194
283
235
189
267
260
245
151
296
247
226
216
177
203
192
143
153
288
317
283
160
164
203
139
166
252
203
315
335
230
239
270
303
173
158
328
242
207
156
257
204
181
273
209
163
228
151
242
286
222
267
217
249
239
216
339
205
114
173
180
203
214
246
231
284
172
139
160
214
198
152
254
219
214
181
212
204
278
252
199
215
202
121
342
238
298
160
236
192
173
273
246
188
180
170
181
178
195
241
166
332
185
259
180
266
179
181
180
257
242
185
213
237
257
158
173
239
188
167
230
237
198
280
195
198
174
257
200
225
213
301
259
174
303
248
191
122
200
238
163
198
219
151
252
242
200
293
241
256
114
260
275
262
234
243
268
238
294
106
215
283
238
223
182
241
205
207
148
197
226
207
275
114
280
288
238
210
241
218
265
173
121
213
230
315
253
195
220
202
282
315
195
172
284
209
242
154
198
270
228
271
319
229
175
243
258
202
342
173
165
261
147
226
225
214
198
243
242
193
245
301
213
282
219
250
188
188
197
295
180
252
172
261
229
226
226
227
293
252
310
257
192
194
114
236
226
254
176
208
290
203
114
183
234
157
293
252
248
196
231
224
225
295
210
199
189
229
181
234
114
241
221
205
229
199
178
309
276
339
193
180
231
178
283
237
204
258
258
202
299
219
270
241
264
323
256
197
265
194
166
234
145
230
169
106
151
225
225
158
272
252
281
222
261
215
292
194
305
200
341
182
209
237
231
270
276
302
220
185
199
219
266
332
267
169
160
274
324
220
253
175
163
234
270
205
337
262
345
241
234
239
188
284
174
232
236
205
229
200
159
152
272
171
139
235
199
322
130
242
276
114
193
244
217
236
215
202
244
246
166
330
178
218
276
281
280
208
238
211
242
239
175
273
244
243
280
169
305
212
220
261
205
174
265
299
255
249
218
278
160
195
209
255
176
259
227
250
149
271
274
237
186
196
229
267
260
226
222
297
227
211
299
191
175
241
295
169
199
197
273
263
214
166
266
164
200
221
229
180
192
164
276
163
235
238
178
182
222
178
222
196
259
196
175
199
195
238
234
265
299
166
229
302
205
245
220
243
323
183
311
236
207
189
253
279
205
236
208
200
219
122
206
226
279
341
266
255
177
240
178
231
232
151
273
291
246
298
202
192
231
206
198
199
301
270
230
317
215
208
179
233
156
285
148
182
173
161
159
204
319
270
175
232
163
256
242
161
269
255
225
163
219
233
236
190
248
212
156
189
197
317
312
250
277
238
302
174
106
249
184
342
214
239
244
230
233
242
218
179
168
276
252
230
172
242
202
175
221
265
219
336
307
265
194
294
114
222
277
264
114
180
319
237
355
285
258
204
252
233
231
229
158
236
153
252
239
237
184
200
197
203
223
224
257
278
188
178
206
235
221
207
216
238
173
196
308
157
244
261
271
175
114
234
268
247
238
214
242
285
282
196
215
257
288
205
269
172
265
202
299
202
259
247
212
264
178
207
175
212
224
266
226
303
254
201
181
191
176
167
263
187
243
168
151
200
220
250
272
181
243
241
233
246
287
193
272
290
205
251
171
240
228
226
188
225
198
287
155
216
207
229
257
174
289
296
158
220
216
230
250
212
307
273
250
184
234
227
218
246
166
223
247
219
342
213
201
235
179
267
315
214
208
146
193
215
154
183
201
227
159
219
244
255
246
187
285
225
183
215
160
213
148
271
195
273
197
198
186
146
233
199
209
275
255
181
235
114
186
252
188
249
220
221
184
180
262
190
160
200
306
233
215
385
230
175
160
176
184
243
216
242
106
209
148
211
159
171
238
297
231
250
275
234
183
231
228
229
214
181
198
249
204
227
212
251
180
166
196
302
210
206
181
248
276
200
149
238
165
151
222
179
257
222
247
187
225
247
114
263
168
240
184
214
208
233
282
222
262
212
234
180
240
214
209
216
213
174
193
139
324
228
169
204
139
243
329
280
192
188
191
274
250
255
146
226
166
256
198
245
209
321
198
228
278
259
242
276
209
300
160
289
191
250
296
258
183
220
240
231
155
203
114
190
215
256
233
172
183
201
211
196
208
267
191
232
147
228
176
159
220
174
319
201
171
238
226
282
205
287
230
213
215
194
149
165
222
260
281
161
186
289
182
219
198
185
222
285
198
239
172
274
188
156
214
273
212
262
265
221
178
253
177
309
227
126
116
219
256
211
130
208
194
192
209
308
229
235
230
273
149
255
260
263
191
158
161
178
252
192
222
222
266
190
254
169
170
265
130
248
181
194
223
195
204
108
164
178
172
273
116
170
244
290
221
169
192
181
246
207
226
249
203
273
218
180
259
201
225
211
260
322
160
262
259
224
189
238
332
197
181
274
171
176
321
182
219
248
130
242
306
252
279
168
305
228
237
216
242
249
152
289
264
175
198
233
227
253
181
223
146
215
271
263
212
129
271
227
314
176
179
204
284
302
280
270
204
234
324
229
221
253
219
229
233
212
245
260
233
280
240
214
311
114
305
200
279
198
188
244
200
216
186
166
235
207
152
298
181
189
214
277
195
276
223
240
277
198
271
193
279
170
225
192
266
154
233
213
254
192
232
108
238
220
295
222
298
281
249
195
207
193
196
212
200
220
145
285
160
200
205
190
233
147
200
219
230
201
157
306
181
189
200
206
192
242
238
173
208
147
189
173
156
193
202
251
198
207
192
232
303
216
248
315
171
210
260
228
240
114
307
243
249
202
178
209
175
213
186
290
215
200
199
186
273
160
241
147
204
205
212
281
195
168
234
239
234
205
234
260
229
200
240
232
212
237
187
193
268
206
222
273
154
241
217
252
228
191
214
227
208
268
220
187
229
204
162
151
222
216
191
280
185
213
308
246
266
233
312
245
114
223
189
241
225
197
192
246
240
231
205
237
236
202
217
249
207
323
256
235
249
271
220
188
149
239
269
233
283
212
239
306
192
187
162
296
231
255
198
228
238
183
241
264
278
310
329
173
195
321
199
247
241
155
217
200
207
221
197
252
264
175
238
199
218
156
222
258
248
260
156
288
128
254
296
187
308
207
140
306
247
152
261
231
195
215
255
250
171
281
195
154
229
178
242
204
175
225
218
306
238
253
315
181
170
208
170
175
224
283
205
220
218
202
221
234
203
180
170
202
223
243
186
208
175
179
246
182
160
276
257
129
278
266
168
224
166
217
258
283
273
181
189
352
114
212
213
219
227
220
232
235
278
212
250
195
252
281
126
293
229
200
277
221
263
209
201
228
161
293
182
265
316
273
160
194
218
208
211
196
214
195
259
203
220
219
241
164
202
277
229
199
248
270
192
192
268
253
237
222
284
236
296
231
228
303
220
144
193
204
208
340
243
203
197
252
286
198
251
167
188
276
198
152
146
208
199
229
220
256
126
162
184
265
211
225
210
213
165
251
210
218
200
247
166
248
206
216
214
238
238
267
224
316
280
198
273
231
146
271
316
228
190
236
232
233
285
148
283
233
230
234
200
204
225
284
230
270
174
225
258
216
278
308
254
227
222
230
201
191
171
245
156
207
259
237
146
222
172
169
220
178
261
263
266
257
292
198
207
218
244
306
197
158
314
215
264
257
190
156
261
255
300
210
248
249
241
256
197
207
210
158
170
242
200
242
249
213
255
228
269
185
262
235
278
177
207
241
161
246
294
236
236
191
192
267
254
215
189
271
220
277
249
191
307
207
224
200
231
186
270
259
220
208
251
167
250
208
190
249
215
257
220
190
257
302
206
236
252
227
269
250
275
114
191
258
198
209
262
231
219
151
309
162
244
195
237
248
213
255
195
236
199
296
201
205
154
209
265
258
232
297
189
282
284
244
248
234
250
205
230
268
149
210
214
216
205
213
157
160
159
278
278
287
309
106
173
188
203
230
225
236
230
244
192
218
177
178
181
338
319
129
267
207
180
208
242
246
184
255
235
227
247
254
243
114
239
170
209
282
263
227
262
243
230
139
168
228
114
251
249
319
203
234
228
285
161
178
246
172
196
197
114
221
218
213
217
176
245
220
172
158
240
178
178
185
160
262
294
220
203
326
192
177
224
199
239
228
183
249
258
309
221
181
219
302
170
207
202
169
193
170
156
207
207
262
239
227
217
181
215
268
194
340
225
139
309
324
213
126
199
263
193
266
222
198
234
213
262
200
205
163
190
218
114
251
255
231
245
215
255
232
161
223
202
191
165
319
235
158
219
249
203
261
217
266
204
267
243
219
228
259
239
234
178
267
226
267
224
229
198
126
230
270
238
264
248
152
196
225
218
245
232
176
292
288
193
219
225
233
337
181
195
198
272
274
177
256
128
215
214
236
256
234
239
230
256
182
264
208
222
211
207
311
176
228
202
291
228
146
226
217
216
204
296
229
225
244
255
211
180
306
311
165
246
215
323
241
156
216
246
190
192
246
218
176
196
232
205
295
204
243
180
181
210
114
176
274
168
248
220
214
256
207
139
209
229
221
200
265
241
153
232
157
139
264
188
178
185
176
211
210
213
237
228
153
246
196
266
190
230
178
170
270
240
191
161
201
140
218
192
267
228
193
182
204
227
175
247
242
319
192
270
203
231
191
229
270
175
281
259
251
148
192
278
166
129
227
249
159
126
252
232
281
195
208
174
252
209
253
205
165
281
202
192
172
213
181
193
168
224
275
168
350
213
233
199
241
184
246
211
219
234
265
139
160
228
218
175
159
225
193
219
318
219
238
257
266
204
287
243
191
235
196
160
173
198
198
239
271
188
218
250
241
230
266
183
172
225
209
198
152
189
194
207
221
176
155
215
176
215
209
191
114
230
164
295
228
262
160
243
195
255
196
310
252
232
235
221
220
279
116
180
254
257
214
247
189
126
192
197
207
194
196
251
258
201
196
139
140
297
209
264
243
233
161
217
226
211
182
280
206
249
241
170
221
219
283
217
196
171
227
203
239
164
228
229
154
196
233
184
245
156
227
215
291
187
240
238
178
232
217
215
179
247
166
287
162
166
200
225
253
182
255
208
121
240
244
108
267
213
156
179
221
219
224
214
241
173
257
299
213
301
165
206
208
195
266
280
259
235
208
236
239
222
184
277
189
237
192
275
254
276
220
214
175
181
256
223
251
171
158
179
318
298
180
319
232
207
213
209
161
189
296
277
229
263
335
224
232
164
275
248
285
201
178
233
198
232
164
208
235
303
218
306
247
226
238
180
246
271
242
210
227
245
178
184
249
242
248
198
247
286
160
213
251
207
166
233
217
244
130
248
196
324
287
251
284
232
253
179
311
235
298
234
269
209
249
210
114
198
215
300
154
274
255
237
287
149
273
156
231
307
200
174
228
242
250
237
181
232
195
280
160
366
180
216
239
218
177
169
211
217
167
234
207
215
242
263
263
251
218
242
249
237
245
157
235
238
197
334
300
214
133
282
236
213
220
209
263
182
211
184
177
287
240
283
258
262
223
189
250
139
309
291
332
227
220
245
170
231
325
270
215
189
229
156
202
277
170
139
221
209
257
170
270
161
208
270
257
298
202
175
240
242
244
312
243
306
158
241
308
299
260
259
195
206
198
229
348
207
300
211
223
220
253
265
220
223
293
277
283
296
194
188
238
205
244
299
160
250
170
303
248
255
187
284
214
199
161
204
223
204
218
257
229
229
195
207
178
285
246
267
114
231
347
219
203
200
279
180
230
226
231
152
292
275
202
345
176
258
240
171
234
301
209
233
301
263
329
130
168
253
201
175
247
240
197
225
252
223
211
254
170
277
207
189
269
305
184
146
249
219
183
195
185
221
233
225
199
259
215
272
114
198
243
220
306
189
247
228
202
158
243
220
283
337
228
263
283
293
130
222
298
211
211
210
196
251
223
222
145
271
234
301
272
241
192
235
247
214
252
141
228
196
253
155
225
210
210
214
157
211
253
221
152
160
235
233
224
255
247
231
253
179
241
201
205
207
280
252
278
240
224
284
208
217
216
178
238
217
209
245
238
210
178
192
246
217
232
195
181
202
277
305
260
211
282
224
358
248
234
263
229
181
199
195
198
311
243
200
231
297
180
273
144
249
260
181
261
220
187
245
176
265
271
279
305
223
192
245
228
339
170
242
166
189
213
245
310
190
205
219
233
269
183
167
242
158
179
231
202
183
191
207
293
297
190
225
160
108
196
114
198
116
137
191
268
203
318
292
198
181
253
238
230
174
188
170
193
238
191
188
192
159
270
327
121
287
254
301
195
255
260
240
222
198
287
275
207
214
214
212
171
168
170
216
275
229
243
196
218
234
179
200
230
212
185
269
234
305
219
235
217
243
256
238
263
301
208
220
173
253
297
292
299
267
199
237
185
223
292
253
207
158
166
180
148
220
254
147
214
259
199
213
215
264
151
217
282
230
235
207
159
151
261
225
246
177
188
223
182
152
225
316
177
180
322
184
194
188
184
243
262
199
287
204
262
308
200
221
172
335
207
215
277
249
184
215
198
179
206
208
215
240
246
227
218
332
225
278
156
146
224
231
223
157
224
211
238
209
171
248
291
316
245
282
241
233
198
258
268
193
215
233
345
311
242
126
250
173
212
224
186
236
313
240
193
172
286
168
234
258
216
210
184
228
217
168
232
145
241
233
187
217
183
275
232
227
218
222
225
201
152
315
249
306
198
114
214
114
220
173
259
219
181
172
229
251
170
241
208
263
190
239
240
195
255
174
222
240
184
260
152
270
259
220
205
151
335
233
227
253
248
312
184
224
195
242
241
206
207
192
195
212
244
221
176
192
195
164
224
174
116
342
238
218
274
288
227
161
176
214
253
273
189
263
285
114
186
281
300
264
295
200
272
293
184
182
276
222
185
219
270
335
279
229
157
310
290
219
226
250
222
171
201
174
207
262
175
267
260
222
170
186
257
114
232
190
225
192
154
226
219
191
114
235
222
209
208
215
170
181
206
230
191
175
233
152
211
247
129
209
197
269
187
243
309
312
203
246
252
310
193
237
189
324
260
247
165
222
216
233
256
158
230
240
308
238
246
270
195
157
199
261
224
170
217
249
162
235
201
198
197
294
146
290
165
201
277
230
205
221
304
252
251
234
248
324
222
290
243
257
288
306
287
246
262
289
234
232
220
226
238
260
283
260
158
173
246
224
227
261
234
189
154
197
211
195
258
199
185
241
223
262
229
210
200
243
265
249
253
178
242
186
247
180
240
252
242
173
323
254
227
220
254
204
234
202
244
213
305
226
293
282
303
282
226
173
252
181
264
269
267
255
250
237
238
181
227
208
266
342
152
279
164
249
174
192
195
235
281
218
192
192
242
165
205
208
224
330
210
261
233
289
282
219
262
165
240
278
212
210
220
204
236
198
287
192
178
232
252
234
190
206
170
265
231
289
225
154
240
239
296
188
217
195
215
195
225
264
172
166
206
223
160
220
306
233
260
144
258
160
241
208
241
197
203
278
234
222
206
206
204
201
219
256
271
232
170
229
196
220
252
250
176
266
231
229
247
156
139
163
269
244
262
325
334
198
261
200
187
250
295
158
249
248
250
216
266
180
188
158
205
208
284
284
205
245
213
121
221
177
317
233
184
276
114
210
221
228
275
218
244
255
239
218
261
276
259
198
114
231
234
234
178
188
239
252
229
203
168
236
280
193
234
228
265
188
160
194
175
295
229
283
220
268
151
168
166
277
319
168
287
210
210
314
287
262
230
257
256
200
170
189
206
177
324
278
275
340
170
221
253
184
174
233
258
196
214
166
322
227
217
243
197
271
219
158
244
258
209
233
121
160
260
255
175
198
243
114
241
242
191
274
242
243
226
218
152
227
170
228
180
264
206
236
206
202
181
219
241
306
203
245
281
226
276
246
175
261
220
231
231
221
285
233
179
213
241
152
154
177
218
259
245
207
239
200
176
226
213
281
202
178
130
198
197
220
229
223
205
218
257
237
225
231
235
219
162
243
250
273
226
162
371
178
230
231
157
213
209
227
224
253
220
275
188
253
316
254
179
266
184
207
245
250
222
257
216
211
265
170
264
207
165
241
283
226
208
278
222
229
298
298
235
184
237
205
175
250
234
200
191
196
245
319
287
276
148
209
209
194
158
231
245
260
249
206
216
192
219
218
235
216
197
201
196
202
234
270
213
191
269
158
157
268
181
247
213
190
241
222
202
226
208
201
180
198
214
262
207
255
224
278
286
226
177
330
212
170
173
195
248
162
251
172
248
216
251
235
257
215
198
266
213
152
219
226
235
237
199
141
238
169
205
267
277
221
229
203
260
212
209
165
180
181
341
239
214
121
134
244
239
259
205
253
229
235
255
265
175
121
257
154
199
196
245
263
186
231
218
243
200
266
231
161
240
215
192
318
180
241
313
210
206
191
193
276
186
258
205
257
192
156
224
173
249
209
198
223
189
114
285
251
250
230
187
251
184
268
154
189
155
192
225
203
258
187
248
325
227
160
241
161
290
261
116
226
275
220
166
178
324
217
199
207
291
244
146
274
229
223
214
139
234
213
183
247
181
146
227
213
277
255
215
247
179
212
192
264
246
186
301
160
213
227
199
246
160
253
247
237
226
227
234
210
254
166
324
185
182
222
259
199
274
198
272
229
195
278
242
151
199
227
209
295
192
207
273
285
193
194
215
265
147
209
157
234
324
212
250
221
201
151
284
203
293
180
255
160
226
271
182
200
212
249
160
239
226
258
231
219
272
182
323
176
285
170
199
222
267
250
250
196
201
207
222
178
262
255
255
246
266
215
192
213
265
253
218
252
201
210
255
292
238
235
238
222
253
196
209
224
236
214
263
214
193
178
242
114
234
222
251
255
315
272
195
175
285
215
274
225
201
247
179
225
271
205
177
181
247
204
238
200
183
210
198
221
192
213
237
223
237
234
259
257
225
207
343
140
211
228
207
214
168
198
183
128
326
273
236
212
264
215
234
243
169
248
176
245
295
229
222
204
242
204
198
258
258
225
151
297
255
151
246
228
178
218
269
185
254
289
231
220
139
262
164
139
219
174
225
150
325
160
213
245
290
226
180
226
260
227
237
189
258
230
222
264
202
234
206
215
212
282
233
237
191
220
213
244
215
194
114
255
217
204
228
266
247
218
180
239
211
251
248
198
245
221
195
280
289
223
249
160
290
173
235
287
208
195
192
163
278
245
266
116
159
213
237
198
144
266
299
210
253
174
218
236
214
139
220
267
182
260
154
213
272
272
193
202
180
185
195
273
220
206
268
187
298
233
218
273
181
144
310
278
189
200
234
207
158
300
189
140
253
292
214
210
157
220
224
255
304
265
221
177
217
260
189
269
230
192
230
231
261
178
218
235
255
189
271
272
252
174
236
272
246
242
177
178
270
174
194
260
261
286
265
309
258
174
241
222
229
198
342
187
262
230
203
251
250
195
163
258
178
251
255
227
285
151
309
199
275
200
185
242
249
293
214
334
182
189
157
209
206
315
266
270
263
269
287
237
231
275
254
264
144
177
302
219
291
254
205
286
245
260
196
266
265
196
246
179
205
147
214
116
229
205
216
274
234
280
227
217
234
218
214
221
181
236
249
192
195
258
233
311
193
293
212
213
246
283
239
188
207
205
222
185
197
208
199
200
181
218
219
256
231
235
187
237
220
257
226
232
204
275
244
167
200
217
189
146
245
179
183
348
209
116
233
186
256
234
217
194
220
152
200
238
189
197
207
252
260
149
205
164
179
170
210
195
261
211
333
154
126
319
287
237
212
153
305
209
255
228
187
178
253
168
306
222
215
233
266
207
158
256
228
190
203
178
175
265
226
288
324
211
146
164
215
197
152
205
336
250
258
326
291
219
214
235
193
255
284
187
264
226
241
222
200
231
291
251
247
193
218
304
170
290
219
161
240
278
298
173
270
221
191
243
217
244
235
267
234
198
209
169
178
233
193
187
263
225
318
180
320
179
122
161
169
247
240
252
145
193
197
244
246
196
195
202
182
194
219
263
175
146
273
299
158
253
293
189
207
252
179
178
209
236
199
282
250
177
248
247
191
198
261
235
291
174
164
139
198
187
200
249
283
244
315
228
222
217
220
195
173
187
239
273
333
276
186
292
181
201
199
149
296
257
242
250
207
193
237
183
241
146
201
226
222
199
182
311
160
201
227
240
296
311
216
215
229
196
254
240
266
144
226
215
254
243
224
204
232
249
266
181
245
241
176
284
260
192
214
216
183
223
162
192
223
227
223
198
244
184
227
200
198
274
309
211
284
276
202
230
198
229
274
139
221
233
181
193
312
203
225
243
228
228
230
239
188
300
226
273
234
195
232
209
266
246
218
177
245
233
245
247
195
238
154
175
234
231
305
244
178
149
262
151
254
244
240
266
305
250
255
290
151
161
184
206
171
215
281
254
204
260
267
169
154
204
253
174
158
295
317
201
209
244
221
216
196
158
216
182
253
217
182
172
212
255
243
228
152
242
173
193
217
197
241
287
194
205
221
224
231
287
295
296
318
236
139
323
188
155
225
195
228
239
183
227
293
240
278
229
233
187
230
227
287
226
275
198
230
181
243
197
267
174
278
308
288
202
217
146
162
250
239
224
281
292
252
242
173
231
255
156
218
176
241
287
264
139
198
284
237
258
197
194
260
209
302
208
228
246
181
225
328
306
286
205
233
188
239
175
210
291
261
254
149
171
244
181
252
279
309
256
228
225
223
170
158
316
238
178
210
247
201
204
235
219
239
137
215
186
239
298
240
234
202
249
262
164
185
177
194
114
235
186
181
129
175
114
268
219
273
206
180
263
203
280
114
291
199
206
261
186
220
243
215
283
222
212
175
235
217
285
227
248
220
226
242
273
228
178
156
225
114
214
173
281
174
213
201
149
151
185
166
234
215
273
227
156
309
220
237
231
191
220
221
215
224
292
219
297
192
195
108
197
210
226
213
192
192
178
303
201
210
218
166
201
213
187
189
356
220
157
281
286
244
260
326
206
240
219
229
177
181
192
246
249
259
277
313
292
266
201
246
189
183
231
196
198
158
272
179
285
259
280
216
243
209
223
178
202
234
263
185
208
245
324
222
211
219
255
193
173
268
189
245
213
282
197
242
151
156
204
176
252
179
277
275
214
269
348
202
272
219
218
301
188
206
277
166
254
239
310
201
235
260
258
274
243
176
173
209
173
261
257
280
172
283
353
219
188
223
254
267
252
269
204
203
216
228
214
217
223
239
160
314
179
196
212
230
211
232
235
230
192
256
204
217
189
240
174
192
196
214
337
216
174
168
193
193
304
176
251
126
231
236
155
178
289
208
219
246
238
293
198
212
139
301
223
214
192
184
324
295
249
308
303
169
200
203
303
247
239
215
273
289
170
249
173
342
186
276
152
187
212
156
172
337
167
196
265
262
255
146
235
199
277
198
179
223
251
240
189
216
199
156
195
235
211
213
145
211
243
152
191
241
193
224
265
253
233
278
189
181
205
194
222
244
274
281
254
256
214
222
217
243
207
174
252
243
270
235
184
256
321
187
245
259
288
224
208
209
182
157
198
206
238
203
267
145
240
235
246
218
272
231
176
251
195
173
234
247
178
224
149
190
154
246
342
126
285
299
273
205
116
195
195
160
181
310
181
215
201
160
201
241
149
268
236
144
188
227
234
253
302
140
192
193
260
289
273
255
290
144
235
195
271
230
265
290
144
236
191
185
188
219
207
260
215
241
311
242
234
258
191
238
212
229
252
280
134
192
198
222
157
253
213
187
194
230
291
185
268
229
225
160
207
280
146
181
176
215
309
276
199
193
170
222
219
178
247
252
203
205
189
176
228
256
258
248
229
250
258
230
205
227
210
214
270
180
199
223
191
286
243
247
240
250
243
186
272
278
279
287
169
238
247
243
247
257
227
250
170
279
146
287
209
193
227
203
177
282
232
237
283
265
306
114
335
216
279
221
290
223
231
170
242
266
256
299
261
220
283
200
226
244
232
276
183
201
248
232
203
172
173
253
170
206
257
222
209
283
225
152
228
302
186
246
183
261
223
222
197
182
199
224
149
185
282
237
169
177
227
197
234
305
193
245
249
262
210
210
229
240
215
173
200
300
243
287
206
267
210
193
286
254
152
151
326
219
209
234
159
214
207
129
338
218
276
245
260
178
243
197
233
184
195
258
208
262
207
239
162
247
280
239
204
216
270
200
296
212
275
275
195
297
276
254
219
185
145
179
279
185
177
205
212
114
191
177
198
237
225
306
213
209
147
256
139
251
214
238
215
259
240
271
255
202
198
181
248
245
269
237
232
202
230
159
212
232
194
179
188
212
133
247
247
222
232
239
154
240
213
254
145
296
211
213
233
190
198
238
284
309
237
235
339
200
246
278
237
182
201
225
252
227
145
236
282
191
207
153
229
254
152
206
180
155
210
295
205
208
233
191
208
157
264
240
266
235
243
170
267
215
194
168
227
253
258
177
287
190
199
283
249
268
174
213
248
219
253
191
178
224
261
243
198
209
239
226
270
270
239
222
179
232
175
258
244
160
180
243
270
296
204
194
285
229
261
264
197
171
199
235
176
219
208
308
292
358
249
181
251
187
222
240
220
299
251
167
196
194
233
265
227
233
202
208
208
281
230
198
161
314
312
192
191
353
331
231
148
244
239
199
208
192
192
246
228
266
240
208
192
181
203
183
263
268
200
187
243
226
214
290
245
295
233
251
256
183
271
181
288
285
297
297
265
199
320
249
256
297
278
243
145
252
199
108
184
202
219
149
273
296
259
223
161
198
228
262
187
296
239
249
190
198
220
234
234
214
224
321
351
305
178
222
228
173
286
185
228
267
250
191
271
116
197
174
190
220
167
194
193
237
179
359
203
155
250
231
194
236
161
257
258
260
200
206
195
253
218
248
310
277
224
232
193
253
277
191
246
195
129
126
191
209
202
254
223
194
218
203
208
245
205
239
156
158
223
173
129
185
273
170
209
342
224
238
248
223
259
228
264
256
171
169
296
229
281
181
178
263
184
161
218
181
243
271
114
247
169
185
263
227
244
327
317
256
161
242
233
253
178
173
239
237
245
184
189
174
158
345
166
114
280
209
173
156
278
227
201
240
247
226
280
297
178
178
159
300
114
192
252
251
222
215
230
221
246
223
234
235
209
270
247
220
232
208
197
195
168
189
196
248
198
279
233
255
214
267
144
284
254
214
188
242
271
301
191
170
192
211
106
263
198
157
186
213
217
258
262
205
181
241
289
167
161
230
260
161
243
274
179
195
219
242
270
173
159
166
200
178
241
238
240
241
286
246
176
154
165
194
240
126
321
195
245
260
214
270
267
196
216
252
244
193
183
242
203
310
299
174
235
224
182
250
202
206
217
234
265
252
166
198
246
156
211
249
210
210
248
238
252
251
276
246
233
203
267
191
219
220
272
195
233
288
167
220
180
230
175
361
208
219
200
183
285
191
215
201
245
178
223
161
265
236
282
217
235
235
187
266
238
180
230
213
227
248
263
155
218
203
188
213
204
263
242
232
251
232
126
160
172
277
169
291
217
259
148
190
183
204
179
218
250
243
193
221
149
263
279
293
284
219
229
354
184
196
147
203
246
114
178
234
167
197
178
296
250
193
298
286
201
254
174
167
238
269
306
262
273
228
236
257
300
240
287
174
256
215
270
222
215
247
151
252
257
277
200
195
259
266
260
196
235
274
251
227
253
193
247
209
250
217
213
292
210
199
182
222
254
289
251
222
206
194
330
229
229
272
299
227
186
144
213
225
236
201
167
226
222
236
301
221
200
252
255
240
264
292
179
236
280
246
188
174
260
133
174
242
173
237
205
260
197
251
247
184
234
207
233
222
170
288
243
238
156
182
252
174
281
231
204
214
251
213
204
184
180
181
219
245
143
305
238
204
218
175
189
169
233
227
215
166
248
197
203
289
189
190
239
222
165
234
194
222
191
304
267
212
252
204
218
214
175
227
191
196
247
331
291
237
243
291
114
261
229
249
223
157
181
246
157
183
235
274
184
229
160
227
235
139
188
273
217
210
195
298
175
256
257
197
166
244
241
215
199
281
241
180
191
303
230
237
231
196
220
301
204
192
226
282
201
151
169
217
255
239
218
191
225
222
325
160
250
185
235
214
220
210
259
161
169
206
205
170
236
308
302
237
195
247
249
232
212
243
204
275
235
156
373
200
325
198
251
173
263
249
287
219
234
209
164
228
283
199
269
166
277
196
213
159
203
293
209
196
143
214
184
210
169
222
265
231
221
290
223
220
241
169
192
241
198
242
166
233
268
166
211
220
254
183
173
239
241
170
174
180
232
229
251
139
177
255
277
237
210
161
178
304
177
247
307
201
253
174
205
283
208
172
229
169
318
249
160
302
252
226
216
200
220
219
303
270
204
238
189
222
274
180
306
255
173
192
208
284
183
213
256
258
263
255
258
236
203
252
170
214
267
254
246
214
230
156
151
144
239
185
274
238
256
253
170
225
221
296
200
173
204
312
247
203
289
197
209
288
145
237
296
269
256
178
284
243
179
241
178
216
178
261
193
191
249
149
281
249
202
192
263
247
257
126
311
199
216
293
273
205
282
166
166
266
294
186
176
198
220
232
194
179
226
220
228
235
210
228
250
258
129
331
246
232
185
182
169
246
249
295
292
266
200
171
212
257
211
275
230
241
243
116
195
157
145
200
247
299
197
296
275
198
220
257
231
161
253
290
180
161
259
173
199
238
240
157
208
204
257
139
206
203
277
189
249
275
255
216
237
206
234
177
271
206
193
230
205
243
268
269
231
211
246
225
114
170
270
253
264
144
210
182
215
160
209
259
222
230
191
208
243
256
212
257
152
229
154
214
207
203
145
149
212
309
290
351
220
203
216
175
220
263
241
285
304
248
209
190
257
238
191
235
181
265
258
261
292
298
219
299
335
299
223
224
173
255
218
192
223
211
184
283
251
279
250
170
209
180
185
145
229
180
167
179
181
232
232
248
240
221
178
270
221
235
176
272
179
202
278
240
265
244
222
238
280
246
207
188
257
315
335
239
211
172
225
219
233
178
227
237
222
299
322
171
177
294
212
171
316
168
179
151
258
247
160
269
293
226
187
228
202
221
230
211
164
303
276
270
245
199
315
334
211
233
266
242
196
194
321
231
224
261
242
166
221
200
229
234
242
190
163
199
133
170
226
299
244
158
204
194
248
164
308
279
192
227
260
126
228
231
201
184
198
241
139
267
233
276
297
210
178
218
208
200
154
236
220
203
157
202
214
205
226
235
193
211
248
169
201
156
255
230
190
276
235
234
264
161
255
175
179
160
281
193
129
278
239
269
251
274
284
249
355
253
218
285
228
296
218
215
281
209
256
144
235
255
171
206
168
217
186
214
216
230
286
265
186
313
272
244
203
250
240
258
277
196
116
234
195
175
247
253
169
242
252
226
203
196
178
275
244
209
186
180
234
207
187
258
243
238
185
212
116
169
198
195
216
196
313
175
197
244
281
185
194
161
160
169
234
261
221
224
240
242
264
229
241
217
269
231
226
281
173
257
177
139
226
126
276
211
287
183
215
249
234
218
194
196
114
200
225
265
183
210
257
251
248
301
277
247
235
297
269
260
148
154
156
262
224
106
262
242
166
114
233
225
289
243
248
318
114
277
235
221
213
182
199
240
297
310
218
178
183
302
288
218
230
210
238
206
152
208
239
169
254
298
289
247
266
196
283
252
158
226
274
182
196
184
277
252
255
250
221
162
223
152
176
238
266
300
219
228
214
190
192
263
224
242
231
249
283
191
208
180
287
265
225
256
212
253
301
284
223
224
255
256
271
165
189
187
193
211
309
273
205
196
266
209
114
173
162
284
208
199
214
198
208
214
224
233
195
285
268
247
179
305
192
260
228
166
205
227
226
226
165
156
170
190
264
192
214
161
260
269
249
295
308
133
186
159
217
186
273
232
179
181
160
190
193
233
280
251
243
207
241
201
301
313
298
234
152
108
166
238
245
233
168
236
151
166
231
180
157
162
288
251
245
190
257
278
209
217
246
178
192
152
261
197
265
202
189
213
192
202
287
211
159
181
217
320
239
225
192
158
220
267
270
225
265
226
196
239
235
214
303
243
268
196
218
241
169
171
281
181
223
215
208
234
245
194
288
218
208
129
157
213
218
214
173
218
216
207
194
271
179
226
168
259
265
145
228
242
322
145
222
218
253
211
191
174
310
239
317
162
181
231
158
240
191
200
193
126
232
226
207
195
187
284
318
133
190
219
139
259
165
202
208
211
154
362
137
218
170
227
233
210
237
176
272
178
208
207
174
279
220
251
161
238
145
205
257
229
245
182
330
196
149
196
194
241
215
196
158
128
235
263
275
170
106
283
238
154
168
222
234
246
144
227
225
231
169
114
237
151
228
186
139
185
144
195
226
272
262
257
238
230
235
162
213
203
241
239
161
301
208
225
264
224
232
231
263
217
216
242
314
261
186
260
215
232
214
228
193
273
200
277
244
220
340
255
305
251
272
262
218
214
184
114
202
192
205
191
270
253
221
220
178
167
252
353
193
214
183
292
139
114
153
166
180
236
215
241
160
126
198
218
253
264
274
264
262
213
229
294
173
199
159
208
188
237
270
252
240
245
176
284
216
233
242
114
201
262
257
254
281
199
257
307
160
167
260
214
250
260
215
191
298
155
225
264
233
201
241
219
219
234
227
271
212
266
219
224
272
195
190
234
275
139
144
228
238
264
366
225
234
229
191
249
210
181
267
162
136
175
267
215
240
259
126
207
212
276
255
114
272
269
230
209
299
312
194
233
232
206
234
223
299
307
169
198
281
162
152
245
238
213
180
160
218
247
265
243
205
249
316
181
170
174
255
341
235
168
198
259
206
264
284
273
233
342
202
212
213
162
248
260
207
316
219
231
257
235
235
225
222
176
261
149
197
183
195
265
174
295
318
304
206
180
182
231
246
227
175
259
156
264
224
257
205
264
227
280
181
175
269
251
193
284
273
147
181
301
129
221
305
233
313
268
319
342
178
160
220
222
179
160
208
207
114
274
198
203
314
282
277
241
233
211
214
197
235
209
193
315
220
174
229
227
257
236
227
258
260
222
204
226
181
183
224
181
178
250
154
346
308
203
208
279
215
213
299
170
195
277
213
308
288
240
238
260
191
222
300
286
226
244
146
205
323
239
190
180
187
281
254
268
238
238
180
192
247
246
150
242
235
263
242
280
157
184
222
352
234
220
194
268
247
250
296
218
187
192
221
169
134
171
202
215
238
245
173
196
261
195
216
196
274
239
223
158
247
197
182
246
238
202
206
139
234
263
161
335
250
235
247
155
210
281
188
255
226
250
234
199
206
206
278
146
230
201
188
189
274
206
239
144
238
183
262
181
267
184
249
179
254
238
216
240
224
200
247
245
214
228
351
224
160
214
172
208
236
305
210
193
227
190
293
232
255
194
184
214
250
284
199
144
154
177
284
181
222
240
267
262
158
299
264
233
198
236
261
196
233
219
303
204
178
196
310
232
181
244
206
209
139
248
192
326
114
262
217
199
253
218
155
195
191
253
221
286
114
274
212
202
189
298
181
224
220
344
177
197
289
279
198
250
277
206
194
315
273
268
270
256
216
229
235
237
257
261
194
250
295
168
213
265
210
233
235
245
144
350
181
162
255
278
196
225
254
198
233
247
290
223
191
215
153
174
272
240
179
212
242
205
164
164
251
282
208
306
301
204
259
240
230
233
168
200
238
173
186
202
205
220
221
238
284
222
200
160
207
200
258
212
229
310
199
210
175
267
205
210
208
114
266
279
264
222
220
248
216
223
272
176
231
174
157
180
250
254
234
206
198
333
178
287
116
232
161
180
160
282
225
229
252
194
256
286
286
198
277
218
232
227
197
229
222
192
278
144
222
239
253
268
202
232
265
247
279
178
285
180
214
261
216
175
320
198
170
197
249
239
235
252
239
270
254
227
245
225
180
216
236
201
200
256
247
213
151
295
243
208
220
144
312
239
279
187
215
222
189
176
200
229
170
262
212
347
242
215
234
223
252
261
220
227
254
217
284
278
233
250
229
170
306
129
234
206
202
282
261
250
223
267
293
302
262
267
190
152
305
224
212
155
234
188
211
224
210
182
275
233
146
294
196
299
248
144
195
227
282
286
251
164
241
218
243
236
220
181
229
156
311
231
223
129
240
231
271
207
193
217
274
220
216
172
198
214
245
221
180
176
218
255
169
337
114
231
217
248
319
215
256
241
224
166
325
198
128
222
195
247
188
174
225
213
214
200
263
209
258
206
291
147
199
209
214
293
217
185
234
305
313
194
144
277
253
262
211
245
271
207
175
243
178
220
187
284
238
227
280
222
260
333
201
181
318
313
238
214
276
225
265
271
334
241
209
197
179
218
213
192
232
301
263
236
215
219
210
193
273
241
234
207
165
279
222
209
233
146
271
275
217
240
164
232
149
198
283
243
196
258
290
270
192
114
245
267
234
180
234
265
156
191
212
212
219
114
234
213
237
185
249
267
220
249
220
273
221
181
235
189
130
230
264
176
192
290
185
240
235
230
256
192
204
218
114
259
272
116
173
209
278
271
200
160
235
216
231
275
197
249
206
313
231
114
271
269
278
114
157
278
201
224
167
200
268
241
146
288
264
248
218
246
182
222
244
272
219
218
255
238
264
208
223
295
196
263
114
212
259
270
199
171
244
193
178
256
219
275
224
233
246
325
200
185
220
152
193
229
222
247
197
180
196
218
176
212
225
267
302
135
253
258
202
211
275
175
229
222
186
244
186
151
211
216
275
291
159
289
196
288
191
225
215
244
271
174
246
278
176
268
273
234
234
247
317
178
250
265
260
222
323
211
223
266
232
296
240
170
181
230
154
239
149
180
224
270
245
205
235
213
253
228
309
161
193
258
218
222
339
223
209
296
256
235
223
272
209
247
227
322
260
205
237
270
322
317
234
212
319
171
239
232
198
201
276
315
145
208
158
165
251
275
212
218
203
170
251
199
216
215
217
178
196
233
310
203
175
316
185
252
252
145
283
268
289
240
156
226
274
160
294
195
215
148
218
287
225
180
163
268
236
235
224
235
231
177
213
158
178
264
283
250
218
330
242
250
193
185
139
226
211
191
253
217
230
311
226
144
233
228
173
273
158
228
207
300
219
154
160
341
253
180
218
171
303
268
251
201
273
221
272
253
170
173
167
205
243
318
197
246
265
202
253
231
236
242
244
193
178
233
184
181
191
236
277
207
166
162
217
186
215
215
249
181
198
203
278
200
210
189
174
195
170
232
210
226
246
270
214
238
251
191
192
191
242
255
275
191
166
293
219
202
247
169
249
230
121
219
157
277
208
213
247
263
220
271
180
248
269
241
182
212
222
121
220
197
144
301
297
220
229
266
220
198
238
190
258
149
184
247
256
263
259
234
196
209
228
287
184
193
181
216
194
236
206
231
221
174
247
255
156
319
224
247
203
256
225
216
256
205
114
253
309
170
246
324
244
179
239
180
250
195
224
241
242
278
317
225
200
234
176
217
172
184
244
255
267
204
229
267
168
178
231
186
282
220
242
170
214
190
219
254
213
289
154
243
181
160
279
296
209
309
270
171
256
209
243
326
218
248
181
232
219
259
210
184
252
220
236
156
296
198
204
235
241
221
189
214
304
251
158
260
229
225
152
206
162
219
156
172
205
320
175
198
225
271
198
247
220
334
192
241
229
222
169
283
297
216
221
245
338
298
265
180
244
298
232
106
192
253
195
151
245
178
252
234
202
202
316
172
288
208
219
188
250
159
231
262
181
202
250
214
193
176
161
198
184
194
222
151
242
241
173
214
257
181
238
114
282
168
197
209
243
114
194
220
197
195
262
295
204
261
218
269
210
225
206
270
210
211
210
205
237
235
193
261
196
161
205
208
241
213
201
196
239
193
320
195
265
207
181
229
169
295
203
203
235
238
206
213
181
205
235
265
165
214
207
258
173
160
243
210
305
242
173
357
229
246
189
239
264
194
231
289
181
221
165
156
277
207
246
171
256
220
144
228
225
225
224
265
146
275
201
236
276
214
247
202
295
199
258
162
209
233
286
173
256
206
175
277
290
193
206
190
205
145
195
241
186
285
231
196
252
235
213
168
210
165
197
197
297
272
221
275
226
246
187
170
147
174
260
256
185
278
227
252
220
240
284
229
267
277
255
262
216
174
248
255
263
282
146
324
337
196
222
204
238
235
234
168
158
214
339
233
217
249
182
189
200
255
261
246
263
154
240
264
213
166
207
305
202
195
193
254
231
181
208
263
254
227
275
285
293
242
194
179
195
270
261
243
319
206
254
177
234
234
234
257
145
253
216
170
252
233
220
235
252
238
207
149
270
229
272
195
178
258
227
272
235
270
219
207
219
237
258
160
220
198
211
280
183
223
248
214
173
126
126
114
223
195
290
258
240
267
247
170
270
231
203
230
197
308
228
306
180
226
174
166
283
232
250
183
185
241
286
184
227
186
268
154
237
152
266
225
266
157
160
297
204
212
282
248
190
229
222
252
195
198
190
200
181
190
280
219
257
250
224
244
195
268
242
303
180
257
239
236
244
173
219
245
215
201
218
236
277
164
247
343
224
179
189
216
179
252
173
311
287
248
241
116
215
234
284
184
114
244
259
160
211
201
273
196
295
228
254
235
234
349
183
288
205
212
234
288
194
126
247
378
243
199
185
200
207
247
206
170
230
183
183
114
231
232
227
202
170
198
192
214
241
209
182
253
189
180
264
159
278
160
210
205
177
168
178
184
173
161
158
168
245
294
172
259
197
200
244
223
198
242
267
227
236
341
292
199
194
232
218
214
182
136
274
358
201
161
233
251
200
187
248
330
178
272
260
279
202
203
238
338
178
243
294
222
276
251
255
288
227
152
231
192
273
283
212
234
186
176
234
178
180
290
206
227
196
199
247
275
217
292
263
220
247
264
183
241
260
178
211
147
191
184
271
267
190
247
273
159
187
238
270
223
333
217
234
147
196
178
250
205
223
160
178
170
184
249
166
275
139
178
246
261
151
287
181
183
268
269
171
128
276
231
227
284
264
240
245
215
228
308
151
187
236
178
198
217
208
276
247
205
277
278
165
230
219
191
214
201
286
241
233
155
234
236
214
191
175
240
152
164
199
183
250
203
273
255
230
181
210
228
229
264
229
268
254
197
206
189
246
209
281
173
213
297
175
235
177
231
175
178
240
114
257
225
304
261
152
203
311
230
240
220
244
214
162
223
251
237
203
180
223
190
242
171
178
173
324
161
279
263
175
175
336
200
284
214
157
255
185
307
252
145
199
235
243
255
193
214
158
230
170
207
185
211
179
215
174
281
177
143
235
180
187
195
249
193
300
259
261
193
222
244
232
291
277
290
283
285
330
161
264
212
222
193
151
266
116
307
240
222
235
235
194
244
256
221
214
218
184
249
160
203
148
228
198
230
221
163
234
295
252
271
256
308
214
229
210
184
335
299
219
236
199
188
178
232
114
200
158
167
236
241
227
210
234
193
299
212
205
293
209
160
198
277
224
206
141
108
231
315
183
298
233
249
213
208
217
234
199
254
273
238
179
208
149
233
235
255
254
216
229
246
211
162
157
320
265
291
235
201
287
229
257
187
287
272
182
249
271
224
147
231
307
289
252
177
290
293
279
224
208
194
251
140
225
268
217
196
178
246
164
211
284
212
250
206
233
260
275
205
255
219
223
220
285
178
251
226
165
284
151
175
174
170
197
256
212
240
152
197
243
216
236
318
145
198
231
181
192
177
178
161
192
213
203
219
167
181
231
188
238
257
249
279
208
244
284
114
197
224
173
156
194
260
229
278
254
257
253
184
247
210
258
160
163
175
225
185
261
304
214
258
288
203
229
184
207
192
208
222
186
160
229
205
222
210
224
254
199
263
225
147
244
250
223
114
286
193
309
259
238
199
172
240
152
341
148
212
251
287
180
139
200
208
243
204
237
207
231
258
204
270
224
219
294
211
253
245
224
224
210
193
154
223
174
176
157
250
209
259
267
249
260
121
233
228
256
208
294
233
243
266
306
230
276
209
219
227
247
184
144
223
214
252
239
208
175
220
175
227
233
197
181
190
203
219
212
199
246
212
261
240
246
285
219
289
144
232
174
194
264
126
279
272
256
286
258
206
207
210
154
269
279
152
243
223
222
198
259
170
200
320
152
206
314
260
226
288
156
252
181
199
246
188
188
282
216
167
287
211
267
174
139
254
137
254
254
233
187
271
249
259
286
194
199
258
269
210
271
203
200
232
171
257
146
213
227
249
275
205
294
236
209
243
197
318
218
247
259
215
267
226
214
256
188
262
192
211
239
239
178
257
208
182
181
219
246
331
303
182
245
239
180
212
192
240
251
228
214
300
217
207
263
172
225
194
200
250
230
309
144
184
240
198
340
210
221
219
233
225
181
229
181
284
260
227
192
174
193
270
288
209
252
246
209
167
208
268
164
218
192
251
221
108
279
226
210
196
186
210
318
197
196
114
287
163
227
227
210
237
178
222
235
282
213
262
239
129
237
228
226
286
245
152
206
207
192
247
222
139
155
218
202
242
300
241
194
249
182
163
229
215
219
286
207
230
201
286
223
298
188
114
160
183
183
287
226
227
204
261
185
242
162
169
217
288
156
238
283
237
182
169
261
270
221
171
177
266
202
272
299
291
211
181
339
217
154
232
237
240
284
217
275
227
216
169
237
248
200
229
230
176
252
265
179
196
243
301
238
191
183
277
185
286
175
186
298
241
311
177
265
208
252
161
258
258
235
197
197
244
295
278
260
266
139
244
229
226
232
207
225
226
201
195
202
210
223
195
198
200
249
196
280
214
262
187
225
250
199
297
319
232
170
241
216
266
315
236
207
222
205
285
316
226
184
212
233
256
254
214
172
202
192
156
189
191
216
227
232
173
334
207
184
284
249
323
203
241
281
208
297
159
234
323
229
171
218
222
218
284
257
181
183
273
249
302
184
303
270
217
224
251
173
280
145
208
170
265
253
208
288
206
225
198
225
291
304
276
282
237
211
193
174
220
187
165
213
256
339
187
278
170
282
292
195
265
237
230
350
256
278
283
206
239
239
307
252
205
200
146
174
232
248
228
280
242
194
180
304
336
240
221
187
168
219
208
280
264
231
197
174
174
236
206
193
283
231
160
299
322
217
229
288
227
200
181
259
193
208
239
252
288
201
196
206
260
281
220
159
199
179
289
175
239
183
178
242
323
258
191
261
236
271
228
209
290
158
237
158
214
222
222
293
181
240
201
221
219
114
301
284
248
242
233
180
233
250
227
291
237
213
246
301
232
259
121
201
312
240
230
114
211
223
210
273
197
211
227
114
169
299
224
268
233
207
187
233
246
194
225
255
241
218
231
221
114
217
240
242
247
265
231
195
313
212
195
190
191
173
250
245
226
114
367
221
220
190
221
253
221
218
294
160
126
236
256
283
151
208
230
243
269
173
221
198
213
193
176
271
189
269
164
299
225
247
152
183
204
229
208
199
321
265
209
222
206
247
262
187
114
180
237
169
169
175
186
281
221
182
202
223
173
235
255
163
216
275
152
242
259
316
236
192
228
191
262
233
238
181
233
240
156
264
263
203
286
242
198
213
237
243
176
260
208
196
183
226
177
232
223
207
309
264
158
175
153
220
300
208
162
234
227
184
193
188
195
186
128
260
227
219
287
209
190
281
197
177
238
251
182
188
187
268
225
210
216
326
237
233
184
254
139
191
178
161
300
292
207
259
238
219
207
320
192
170
237
226
149
174
210
264
173
188
225
245
196
204
210
237
239
280
225
176
224
266
257
203
250
196
199
339
262
265
259
207
251
221
217
287
209
214
229
200
233
294
270
269
213
229
217
248
203
199
238
325
243
297
213
218
175
234
250
308
209
225
246
258
327
184
231
170
114
160
205
207
289
244
126
242
210
257
246
204
289
234
256
267
197
198
313
260
154
195
161
301
250
198
193
286
170
311
200
179
288
182
204
202
231
216
148
260
247
237
193
190
224
139
214
198
200
210
188
218
225
181
247
217
285
189
239
144
210
188
209
200
180
215
204
253
201
267
209
156
317
181
215
208
241
230
262
166
229
214
218
196
287
208
215
318
211
233
183
188
241
244
235
174
161
275
195
272
241
270
194
139
244
284
266
247
210
233
249
256
121
178
207
217
266
213
253
198
239
252
261
219
237
214
163
182
254
163
152
233
184
235
255
219
231
305
234
248
181
191
214
226
218
225
235
241
196
220
233
238
224
240
250
241
276
241
257
114
231
240
239
193
234
178
140
114
151
161
253
202
199
193
263
297
262
240
208
156
293
164
247
193
240
187
241
238
198
223
233
266
238
195
249
273
229
160
229
256
191
182
214
156
242
162
228
264
223
230
219
156
269
209
195
184
203
233
188
173
146
175
175
204
293
180
271
199
240
188
273
254
288
239
285
195
170
207
239
274
157
259
114
146
202
168
204
205
159
308
227
201
197
223
260
243
298
204
226
272
317
230
198
191
202
213
267
340
279
194
145
126
270
246
329
133
237
228
222
192
258
207
281
191
196
306
218
175
179
203
190
146
203
147
226
183
208
267
172
220
184
189
231
240
240
211
256
319
233
207
245
194
237
315
333
245
223
258
191
268
229
169
240
282
278
249
211
279
265
232
193
233
251
276
205
259
247
228
261
238
175
213
213
207
218
281
293
211
167
114
265
310
230
248
114
205
185
199
159
201
214
230
253
193
237
240
227
161
192
249
191
232
211
260
161
149
213
155
239
194
242
217
195
311
231
175
114
239
160
180
283
258
251
296
261
288
215
245
227
249
231
202
294
253
231
317
192
184
114
174
231
207
156
179
212
177
156
217
215
178
114
194
224
220
121
208
232
244
200
244
178
203
193
170
237
241
194
175
350
251
243
216
205
285
242
246
225
263
265
238
234
257
228
244
232
192
215
237
236
206
257
224
207
168
245
250
233
198
241
267
215
259
298
212
152
237
250
256
261
241
116
324
277
224
200
236
229
218
238
213
184
251
167
288
216
207
181
156
168
214
292
205
234
180
213
312
151
248
244
248
177
165
174
223
216
271
239
270
213
227
251
231
213
250
228
253
204
209
259
172
216
248
286
190
164
217
260
239
264
237
261
185
256
256
278
193
152
227
214
241
301
208
229
179
214
231
240
179
249
224
197
285
314
174
169
217
211
326
229
240
214
270
154
184
173
250
198
201
156
212
222
210
196
189
241
267
146
235
180
230
221
227
250
181
258
187
268
197
114
270
253
223
286
237
256
303
280
200
208
221
241
211
213
245
201
180
174
364
187
184
286
218
191
231
268
178
209
219
245
267
296
269
171
230
207
176
228
205
185
302
244
246
177
144
170
220
274
240
224
200
275
185
160
315
202
198
319
178
243
222
177
239
232
263
238
265
169
243
184
254
200
158
173
298
281
250
169
265
114
195
200
298
217
178
264
152
146
235
267
286
292
270
217
193
240
249
221
234
170
239
237
206
189
213
203
319
266
227
121
229
293
197
262
223
209
221
192
249
325
250
208
250
241
197
249
214
208
216
171
178
197
257
335
266
239
197
176
305
245
220
207
185
268
174
226
164
248
228
215
288
217
121
238
244
275
208
211
232
114
200
252
212
114
321
172
181
280
267
213
240
198
273
294
311
211
236
250
228
214
155
273
260
199
285
146
316
146
201
184
146
214
270
249
187
126
278
264
276
238
245
202
257
186
218
235
208
245
191
270
220
240
262
266
215
280
265
233
191
232
285
321
274
255
192
180
250
184
233
224
226
207
230
223
114
254
314
245
192
270
214
242
243
349
191
335
189
205
233
268
294
241
200
230
132
250
271
222
161
235
264
249
266
230
185
273
358
203
175
235
288
191
298
211
275
200
268
294
285
211
252
168
325
261
235
206
305
353
185
183
246
178
200
199
202
221
211
244
191
343
301
244
259
228
252
238
261
139
264
269
191
341
252
218
207
170
249
163
238
221
141
347
252
258
187
151
175
239
208
265
189
240
191
211
256
210
161
232
263
275
228
302
182
266
220
195
219
189
160
219
294
218
271
240
193
279
215
221
175
205
237
209
241
244
234
265
170
158
223
272
251
203
248
172
285
257
255
108
231
188
240
144
213
212
175
151
199
247
250
173
220
235
214
237
187
257
189
242
188
227
329
201
179
205
273
253
240
340
182
214
342
288
245
174
199
246
269
253
260
259
238
298
255
258
280
152
213
207
252
235
156
237
168
155
296
222
226
212
165
324
232
239
207
260
262
232
178
252
302
179
295
293
206
217
256
266
301
215
239
277
203
261
265
171
243
203
238
277
168
199
199
213
155
177
237
309
196
236
301
262
198
208
214
254
250
259
212
137
235
263
257
215
277
198
169
311
226
175
242
174
182
209
203
233
232
230
240
212
245
309
193
207
292
271
250
186
180
179
246
285
195
200
208
173
168
238
191
259
175
199
168
234
196
290
243
128
189
214
228
158
216
311
304
198
275
114
203
246
170
244
218
204
203
246
234
191
176
181
241
192
236
170
278
199
229
220
271
239
212
225
236
190
215
202
261
284
253
272
210
262
190
201
295
258
260
166
265
232
178
164
279
246
176
195
206
320
243
238
244
258
338
280
126
116
211
222
165
214
274
237
186
237
282
256
257
196
211
236
240
206
254
178
178
277
276
257
178
249
203
224
238
247
255
176
252
165
172
214
196
211
213
254
268
296
198
239
270
268
179
183
290
171
210
202
160
218
218
282
225
213
321
266
261
316
197
114
188
114
275
213
251
242
180
217
302
191
191
222
209
179
184
198
201
145
232
235
126
223
216
230
198
218
178
219
240
169
243
182
233
251
246
253
194
285
279
214
266
251
255
176
223
198
213
114
308
137
193
196
330
195
273
210
218
218
263
126
218
274
146
176
250
178
214
220
249
121
333
289
166
126
240
238
306
203
282
204
213
197
230
252
245
245
242
255
228
235
188
170
200
241
268
208
159
182
176
261
225
250
218
263
207
242
184
221
224
241
285
331
265
169
256
209
181
202
271
235
267
160
273
245
229
225
193
321
299
226
232
159
233
213
229
210
139
246
267
287
273
238
258
190
220
258
205
281
239
230
218
189
166
223
181
232
294
254
192
274
156
267
354
282
327
266
234
326
182
236
278
173
314
208
208
195
278
215
214
209
245
202
258
160
284
203
198
207
233
213
248
260
212
227
282
270
234
126
252
178
170
214
215
197
251
291
262
302
278
144
215
230
160
217
238
254
222
209
227
147
355
262
281
230
355
247
220
168
250
256
207
242
233
239
271
269
257
223
291
249
180
279
199
232
290
146
156
174
206
289
219
216
165
185
198
237
181
199
222
161
248
158
274
226
229
220
160
282
298
264
261
284
139
154
148
186
249
210
146
263
220
181
114
302
232
206
279
195
261
193
221
180
235
203
198
195
229
175
222
180
168
264
252
126
226
277
310
223
219
157
234
212
267
251
217
220
217
221
249
224
181
203
261
254
239
260
206
166
203
305
302
269
152
224
184
139
246
162
244
203
170
218
220
263
197
357
220
255
311
219
175
178
236
335
209
219
233
293
251
270
217
222
255
170
193
173
265
214
194
218
219
258
170
267
195
246
220
231
200
186
292
202
280
284
241
275
171
168
227
227
160
202
253
249
185
257
294
204
192
186
265
220
114
233
333
268
181
229
299
275
202
266
265
265
177
327
215
314
232
173
270
194
182
241
176
167
178
242
270
183
173
238
263
174
263
247
214
208
225
275
165
288
213
233
248
243
114
235
231
274
235
238
289
273
190
193
139
188
211
170
249
230
207
230
269
265
266
329
269
206
144
253
231
249
233
248
231
245
235
152
272
266
168
184
245
247
200
224
211
206
218
216
200
229
283
286
244
218
259
251
271
232
189
255
227
200
180
245
207
270
248
244
318
174
250
233
245
169
230
221
278
240
129
219
285
272
296
175
228
299
251
184
212
173
212
212
184
114
285
193
260
208
178
231
155
144
192
297
239
204
297
162
198
234
245
262
195
243
189
226
259
238
306
261
154
277
223
164
121
245
250
238
178
229
208
186
271
283
284
227
266
266
211
232
223
189
229
193
160
226
265
173
227
254
281
292
210
244
260
254
215
240
189
241
259
189
233
256
218
184
273
188
211
278
237
287
212
199
340
264
213
245
192
231
268
182
253
199
197
234
307
266
279
214
199
223
278
193
151
139
206
228
191
262
227
180
242
231
199
215
223
231
198
145
258
222
228
206
161
262
214
196
152
254
309
299
180
212
247
198
278
308
187
292
305
239
336
263
169
144
170
178
189
274
163
320
224
151
206
221
285
244
233
226
268
240
209
294
230
233
242
174
232
196
203
275
253
175
235
179
241
160
175
194
192
158
287
220
223
185
209
268
186
267
188
214
187
187
213
223
294
318
170
220
231
151
214
282
171
238
178
262
246
206
256
214
195
165
190
284
144
216
229
182
156
276
121
220
234
232
220
220
224
247
238
241
231
179
139
215
258
156
213
166
235
213
282
233
186
202
253
236
193
353
279
196
246
251
234
196
106
200
166
207
240
264
249
240
231
197
240
258
291
196
198
234
225
242
260
259
285
214
233
169
199
210
340
266
195
144
139
304
238
255
278
188
183
203
246
234
232
173
197
170
265
274
182
252
265
170
294
233
193
204
220
240
114
270
260
207
294
175
261
212
241
238
200
193
219
215
355
209
191
282
184
283
151
252
226
215
242
220
288
214
251
271
249
279
205
219
311
239
251
299
229
228
281
216
208
203
249
225
215
246
184
218
187
198
316
149
155
219
219
292
245
222
214
236
234
255
179
230
260
213
233
198
195
276
238
177
285
192
114
164
252
116
257
232
210
251
252
212
226
242
274
216
189
190
210
209
227
317
203
250
212
219
230
283
235
227
264
256
270
271
176
133
255
114
227
227
227
207
219
243
216
176
305
232
275
214
263
144
162
261
244
304
182
299
222
175
299
175
238
198
301
175
228
284
207
288
219
267
195
233
258
249
114
227
245
265
219
175
259
287
214
289
220
160
229
242
235
221
194
218
297
161
192
244
129
224
245
198
228
235
218
252
189
277
256
274
257
216
233
197
211
193
206
200
204
214
198
323
233
228
289
236
265
205
207
314
273
231
213
207
213
106
260
146
170
242
190
265
172
319
245
337
297
199
174
173
270
202
240
241
239
220
213
273
306
169
165
203
183
252
223
269
220
230
203
227
212
224
175
239
185
262
329
261
214
253
244
304
258
242
227
203
265
130
206
266
182
243
207
237
219
251
223
255
147
217
218
219
195
193
200
232
264
187
280
160
177
246
186
317
251
191
309
245
245
238
265
215
301
274
256
235
170
371
289
145
289
198
215
220
212
106
194
260
145
152
220
181
217
239
116
197
210
161
238
225
229
158
309
226
227
240
233
190
241
181
231
152
173
239
191
291
256
192
245
181
238
196
202
196
196
253
219
279
238
223
216
229
208
249
318
248
241
169
175
325
201
224
263
256
264
213
181
270
204
279
232
193
192
220
259
164
153
239
204
226
229
250
241
249
251
152
220
213
229
245
219
212
230
193
237
263
301
234
229
233
222
202
207
217
240
160
152
183
225
160
201
218
225
256
168
273
262
230
227
263
241
249
210
173
295
196
233
183
228
228
294
166
260
288
225
255
259
280
231
166
191
217
351
176
165
250
237
217
199
255
195
227
186
248
213
197
218
220
322
219
208
311
309
160
254
217
293
256
247
225
166
219
264
266
174
252
204
258
252
271
218
179
195
173
231
220
202
227
184
172
149
199
214
192
319
188
259
233
169
208
279
172
180
194
187
209
223
185
251
221
258
276
146
187
258
249
253
283
106
238
174
225
126
291
252
198
180
255
321
264
252
252
155
202
217
280
180
192
208
292
279
248
271
160
292
175
263
116
170
211
173
225
223
222
196
309
221
219
325
210
286
204
114
232
378
239
178
247
186
239
162
165
218
153
133
226
192
240
262
256
170
155
251
285
114
265
296
184
180
238
236
161
252
229
193
279
263
202
212
274
243
270
209
181
198
213
234
194
209
234
158
163
225
252
291
214
194
233
232
180
165
203
228
180
195
195
185
193
258
209
227
170
234
248
228
281
309
176
215
256
226
234
214
225
199
163
167
289
192
251
177
240
242
290
240
193
247
211
189
194
254
258
214
173
258
178
226
229
192
214
189
173
289
190
225
267
218
168
261
249
198
200
274
180
243
273
175
174
269
238
255
228
194
222
309
230
257
238
202
273
225
344
259
262
208
224
294
191
298
229
241
196
151
190
223
237
114
231
203
276
284
295
211
219
223
263
210
267
258
126
245
250
207
160
188
196
267
203
240
266
246
208
198
283
177
203
193
289
205
296
246
268
275
126
293
216
284
225
181
171
198
213
192
211
196
194
205
272
235
220
177
221
114
164
262
186
368
217
257
247
203
152
245
309
196
249
333
235
283
196
258
260
241
214
288
183
164
335
341
187
198
152
201
247
203
252
289
192
147
289
171
221
288
213
126
246
210
195
213
297
223
194
254
190
262
291
225
302
295
201
254
152
183
156
295
195
175
207
155
189
191
355
307
228
280
205
177
246
267
215
165
185
148
239
258
236
343
198
303
192
183
244
221
168
254
245
242
223
278
308
166
283
159
175
114
242
198
166
186
188
187
155
317
213
237
275
226
175
199
152
281
252
195
327
222
219
108
190
247
145
228
274
212
166
173
242
145
232
157
272
191
257
318
276
219
178
230
264
173
266
215
174
201
226
232
226
250
189
219
217
207
192
296
262
178
169
251
267
290
327
207
274
230
182
226
276
189
178
198
258
251
206
229
183
184
283
264
288
234
222
196
229
178
182
257
375
176
254
232
193
200
192
186
209
208
220
194
230
273
243
307
139
186
166
208
229
220
261
180
213
206
239
224
185
227
278
248
210
163
227
312
239
241
207
217
144
161
219
256
228
249
215
208
309
178
273
245
246
211
179
218
184
237
309
236
240
193
175
261
269
294
347
168
291
224
221
256
258
259
241
185
269
287
207
184
231
241
139
239
217
159
239
213
189
209
198
237
259
212
271
173
246
236
171
212
278
171
346
231
203
239
268
178
221
175
201
223
221
237
231
237
225
295
263
283
286
290
248
249
205
187
289
173
193
226
229
252
233
190
233
146
233
225
210
280
182
229
239
247
170
207
299
191
191
195
174
278
237
156
237
239
244
189
226
167
194
139
236
255
276
180
274
274
246
232
179
234
236
198
186
221
294
268
269
258
214
197
275
232
179
253
245
169
251
266
236
284
194
201
225
327
255
212
173
198
201
196
167
199
188
256
184
193
312
208
147
204
191
275
198
255
273
261
217
156
217
187
152
184
274
180
259
179
232
258
241
275
264
201
280
184
121
208
156
297
180
154
233
208
243
266
245
152
215
230
235
234
210
253
106
271
228
304
256
181
228
167
289
208
285
227
205
221
247
227
234
174
222
218
201
163
242
221
244
272
279
209
156
297
289
252
145
207
305
245
286
239
193
247
219
216
249
313
262
189
186
235
285
237
235
154
190
228
165
156
402
160
145
139
302
296
182
293
210
154
226
198
185
303
189
225
261
218
159
227
168
249
154
253
235
250
243
198
171
170
253
184
171
207
203
227
229
320
225
212
245
182
179
238
194
229
286
242
242
268
197
183
281
169
241
213
192
266
223
281
179
180
225
281
264
277
238
280
262
211
229
207
227
225
245
235
242
270
235
190
241
205
223
170
242
265
221
254
211
195
257
183
260
160
177
236
300
201
245
223
277
278
222
175
259
234
200
238
187
213
266
170
165
253
238
216
243
208
246
232
238
175
356
213
205
273
204
193
210
213
241
192
263
203
183
195
191
313
200
233
198
332
114
158
280
192
255
271
175
247
256
168
191
200
240
222
169
282
156
212
217
222
229
244
189
354
233
276
232
170
232
221
265
198
229
259
258
199
234
282
166
211
224
276
304
226
208
197
213
176
229
208
188
331
185
191
292
198
235
256
229
222
233
176
245
126
314
213
139
185
158
255
260
299
147
151
279
203
213
237
154
181
278
209
221
245
232
160
349
234
243
249
240
183
303
116
237
217
220
285
280
217
194
278
192
161
235
213
260
239
255
287
202
219
266
238
174
171
228
261
239
302
242
240
165
253
241
278
230
266
233
218
318
255
182
178
233
240
198
245
302
256
230
287
197
256
197
268
177
288
116
229
251
204
242
271
223
200
323
295
200
191
244
296
184
190
206
235
231
294
289
144
195
206
234
244
222
228
213
278
194
175
271
198
321
201
244
248
216
195
184
208
193
274
202
245
289
267
204
215
221
170
259
204
114
149
184
225
258
250
218
174
200
209
156
241
173
209
271
257
130
343
229
248
173
170
270
242
202
191
176
309
152
154
219
284
233
193
337
220
224
243
220
285
273
247
251
182
202
206
261
192
192
279
317
256
233
208
160
355
178
225
247
228
222
268
231
229
181
203
264
270
178
178
209
310
175
240
174
196
223
298
201
250
288
208
174
222
272
227
178
207
230
231
238
309
244
236
251
234
174
168
317
231
298
221
188
245
212
245
218
260
190
280
235
286
219
214
306
177
237
197
228
265
198
226
234
286
191
331
196
192
141
200
200
170
154
229
235
232
174
246
267
198
269
218
309
288
311
229
178
218
239
222
242
254
245
166
271
229
168
173
222
248
292
181
156
185
202
193
182
203
163
230
158
184
260
198
274
293
173
222
238
192
232
284
233
186
198
207
314
234
233
198
279
288
114
306
285
215
279
227
259
238
194
324
201
307
215
287
287
225
181
208
235
234
172
206
339
201
193
247
215
255
160
227
221
220
248
215
224
233
219
203
245
219
232
229
218
154
288
241
226
250
310
269
170
262
198
238
175
243
214
219
255
323
191
224
260
229
195
286
290
196
196
185
193
229
249
292
261
223
181
200
262
229
227
266
251
250
287
172
169
215
272
350
162
254
210
311
253
278
177
260
300
158
212
256
196
243
160
261
194
180
192
242
157
285
245
251
222
286
191
181
189
286
193
227
206
211
202
259
301
345
170
200
213
230
211
235
232
146
223
203
264
336
213
177
294
266
257
236
220
210
207
280
195
334
152
231
194
283
210
178
225
269
307
176
252
312
253
210
205
139
214
126
225
201
194
170
170
198
191
252
229
268
278
230
254
231
182
209
304
174
280
220
168
237
268
170
237
198
164
247
230
162
211
232
253
177
202
194
139
169
261
246
262
225
240
219
168
225
216
220
208
211
213
191
196
256
269
242
286
183
139
183
292
237
235
212
178
183
192
257
238
254
260
190
232
234
161
233
192
269
240
275
263
289
299
208
191
205
219
229
186
156
189
108
194
322
259
209
209
315
271
235
225
257
283
114
166
201
208
241
214
220
244
191
207
237
257
233
114
160
291
220
231
189
232
182
231
327
231
180
208
180
193
180
242
165
257
202
202
246
194
235
209
121
255
139
292
184
227
340
273
247
193
150
214
181
266
197
221
227
273
192
221
227
210
215
277
196
267
280
214
258
226
317
154
214
206
192
200
263
152
173
176
285
216
163
220
188
289
258
275
270
185
235
237
236
238
184
247
157
277
274
207
211
200
228
247
168
221
239
222
239
223
180
328
208
247
228
244
224
260
183
236
253
197
188
214
253
222
192
266
226
211
167
227
228
260
173
238
198
160
209
252
242
241
262
249
188
279
171
249
178
239
243
180
179
199
235
231
244
231
128
198
279
184
178
259
269
143
215
173
247
264
179
214
191
184
246
151
230
240
256
268
147
258
317
229
172
248
268
280
152
268
267
288
273
197
240
188
234
225
286
254
176
194
252
208
149
211
295
198
189
214
286
321
163
225
255
227
301
213
165
272
284
241
257
198
243
270
181
221
302
217
257
227
252
168
237
224
122
334
231
246
252
278
229
195
209
139
276
208
193
294
198
152
189
213
199
252
281
266
209
229
181
213
198
204
193
246
187
218
135
181
290
255
217
192
253
209
199
193
271
210
266
281
237
280
216
114
152
265
114
233
228
235
257
195
326
239
175
234
186
210
228
209
201
287
174
209
252
182
171
184
238
234
197
269
290
208
152
209
159
173
219
168
260
321
238
292
272
236
281
271
114
236
202
233
193
184
193
256
219
214
178
282
186
228
200
134
195
240
226
194
154
188
211
211
164
220
282
267
312
262
191
160
231
196
249
223
161
161
165
190
173
247
228
250
178
234
283
341
244
202
229
213
191
231
177
183
235
240
243
226
167
267
279
288
271
174
272
156
331
211
234
247
178
234
237
219
246
198
188
214
193
149
198
176
276
234
204
214
191
315
193
264
292
283
207
158
144
256
163
221
223
184
221
239
151
251
207
231
192
215
200
224
205
256
215
212
192
186
223
184
178
248
284
251
213
238
217
182
262
340
231
231
180
235
214
181
286
280
213
225
255
270
243
232
271
178
255
229
189
178
234
278
222
329
259
208
160
242
146
289
198
196
126
218
248
251
181
238
250
315
256
216
248
202
178
210
269
179
183
175
230
205
173
197
149
234
260
241
287
265
310
311
229
197
253
250
240
311
230
196
308
238
152
194
270
202
288
179
201
198
258
277
188
137
252
187
220
270
374
312
187
271
267
304
183
212
302
249
198
217
257
179
232
198
225
318
177
212
243
211
214
233
201
144
234
244
280
248
258
201
283
157
190
243
156
239
314
179
234
231
182
218
290
264
165
248
250
248
153
224
321
225
314
325
224
137
203
178
202
160
213
263
203
263
234
223
245
292
204
282
189
170
236
221
201
223
276
241
221
167
156
266
240
186
225
177
222
236
178
224
181
184
216
257
178
183
178
145
178
225
234
176
257
206
254
298
176
161
234
231
351
199
258
244
213
233
156
176
256
262
145
250
233
126
226
211
188
233
206
253
245
215
146
242
189
204
271
294
160
247
189
152
288
244
200
219
156
229
306
108
239
186
212
239
198
195
287
233
268
315
279
165
193
196
228
191
173
194
273
275
250
213
273
235
210
279
155
218
221
257
218
197
225
208
161
274
203
196
299
236
191
207
179
263
209
200
252
108
195
203
246
226
247
279
238
261
281
203
234
266
232
223
233
220
260
114
198
178
265
289
162
225
182
228
248
223
266
145
232
202
263
253
191
212
176
217
157
146
220
243
223
201
196
242
212
326
259
218
202
229
259
203
184
161
229
308
254
149
192
222
188
157
126
152
185
283
235
333
215
207
243
229
225
211
206
181
253
195
204
181
217
149
189
208
233
246
217
166
226
179
245
207
170
210
237
305
220
230
241
215
193
337
302
221
169
299
227
178
239
208
300
270
225
231
249
256
165
246
239
352
196
275
302
234
300
198
259
230
251
326
206
301
191
203
200
282
204
208
262
302
174
201
186
178
262
164
192
245
207
217
245
205
231
225
182
225
209
192
202
291
249
259
277
212
205
255
114
207
114
174
266
250
158
260
209
214
228
149
198
255
273
197
227
172
156
250
259
245
264
250
221
241
212
126
192
231
283
221
274
210
178
208
170
219
285
145
303
245
251
306
245
277
219
175
212
194
185
266
286
164
250
228
203
263
228
192
248
222
257
286
235
210
222
160
178
178
176
162
218
263
291
199
251
290
188
188
261
238
247
235
200
290
333
242
277
277
204
311
181
271
233
264
252
198
243
238
188
200
214
209
219
239
151
276
212
201
205
228
114
250
252
164
211
262
152
209
192
190
273
232
249
214
256
251
214
319
225
269
273
237
207
180
221
195
241
219
242
209
268
253
217
174
160
155
279
202
261
208
230
180
224
271
198
256
258
178
248
182
199
224
336
167
265
263
166
184
226
242
191
275
220
197
146
168
258
282
234
184
206
244
234
173
182
263
223
183
231
159
212
155
203
283
255
212
244
220
265
228
236
151
221
229
255
249
248
195
224
227
270
229
308
197
193
158
275
204
236
204
195
197
295
276
265
224
198
241
288
207
129
238
165
254
258
154
251
229
204
171
230
282
194
254
275
241
293
291
214
184
219
139
203
240
183
148
279
205
178
280
329
238
220
229
204
220
253
126
230
265
234
284
229
176
296
264
170
241
215
242
250
205
181
250
230
203
269
196
181
144
156
170
198
238
253
293
196
219
201
221
234
246
160
301
162
268
212
116
288
226
260
205
206
222
234
203
273
170
145
126
169
231
185
262
190
216
255
276
255
181
231
249
280
312
180
220
214
268
198
114
184
282
193
173
250
256
208
227
152
309
152
274
222
168
255
250
216
260
253
239
248
157
213
279
240
114
108
173
255
196
210
219
231
286
151
225
146
301
233
126
268
309
267
239
240
258
277
190
265
234
249
232
215
205
172
226
184
248
236
298
219
245
217
233
240
271
216
215
259
278
238
192
165
189
303
217
260
216
192
222
179
178
231
149
215
246
245
233
231
290
270
238
126
247
234
243
275
217
195
224
251
173
207
224
231
294
205
218
273
160
237
300
146
262
216
236
217
269
208
181
226
238
201
305
152
204
209
247
199
180
160
241
223
258
157
181
189
214
258
249
261
226
214
257
257
231
192
227
226
180
243
190
200
234
230
218
198
305
242
214
190
161
277
220
288
144
235
312
229
176
196
260
186
207
176
180
319
298
226
253
189
273
215
240
214
243
236
253
140
213
198
234
200
181
228
234
275
221
211
248
202
141
187
218
203
245
300
255
224
299
116
195
272
201
222
263
204
181
244
228
233
170
188
254
222
244
174
237
245
242
240
213
271
280
152
179
152
129
114
225
177
169
192
170
230
274
296
231
269
175
263
182
282
250
234
206
176
246
197
191
228
247
260
225
215
315
214
307
293
177
209
232
240
225
222
202
178
263
255
218
237
195
287
246
175
238
296
336
164
271
180
149
269
289
218
203
239
212
243
273
219
172
228
189
261
255
186
202
263
235
160
298
175
228
272
179
196
272
263
240
235
177
156
261
154
165
278
174
204
242
241
252
174
198
213
260
161
146
243
177
238
189
287
147
164
273
201
196
292
307
229
232
232
184
188
163
293
305
231
205
231
248
261
248
159
288
229
204
197
235
216
243
178
225
261
165
235
192
286
293
245
268
279
209
143
359
193
226
248
222
219
270
238
160
272
200
212
292
237
161
182
235
168
198
234
311
194
203
201
257
235
250
213
200
170
211
262
231
240
233
244
219
278
248
222
254
214
229
168
267
206
180
297
145
157
180
229
233
154
264
309
170
293
230
196
193
325
213
223
272
295
198
178
151
215
277
389
260
230
229
161
310
236
260
171
224
144
174
214
284
206
208
209
262
180
216
318
283
256
212
224
185
271
267
207
134
206
279
140
243
213
284
235
239
191
145
227
210
226
243
277
251
228
289
211
314
156
249
275
249
233
325
237
209
222
224
280
274
251
254
206
181
256
231
256
218
197
337
144
214
253
126
260
307
228
222
160
201
299
240
190
188
170
114
232
198
227
248
257
217
165
235
262
208
275
282
192
192
235
181
247
183
217
114
192
251
194
241
254
161
133
165
192
160
181
222
184
308
199
218
260
187
207
294
139
210
221
338
360
160
238
273
218
196
128
195
287
267
271
248
307
300
174
178
233
207
234
233
154
199
221
190
160
232
241
219
192
245
151
225
229
185
242
221
226
224
198
292
235
241
173
332
234
268
220
234
170
294
220
114
229
268
173
231
152
220
320
170
293
198
263
160
213
267
223
189
299
199
274
236
221
241
290
162
235
211
221
276
184
207
254
191
187
264
177
215
168
251
283
219
114
179
171
296
243
206
275
222
225
216
227
234
159
222
173
225
214
253
191
333
286
181
215
312
275
181
277
272
114
228
154
121
265
230
195
195
198
214
247
254
242
197
249
239
184
228
265
163
214
262
237
238
170
191
256
200
305
214
153
254
287
294
240
176
218
230
267
194
283
233
152
249
197
206
287
225
215
281
231
257
162
188
276
230
243
274
226
228
178
213
197
234
175
275
211
208
193
179
214
213
265
174
302
218
177
271
252
152
249
276
256
203
202
255
229
279
241
225
292
205
191
253
265
210
196
247
289
204
267
247
288
189
207
193
258
279
166
175
236
273
230
144
293
240
272
160
222
158
228
239
205
191
272
190
224
195
202
225
188
214
129
225
198
178
243
188
202
286
294
250
199
198
207
212
166
215
170
184
208
274
225
294
261
221
208
195
114
210
279
313
210
192
269
189
207
252
229
183
220
174
210
238
252
262
266
216
190
207
214
184
256
264
223
258
234
296
227
277
231
173
196
164
180
179
205
210
296
196
235
286
257
147
178
237
192
264
329
214
191
247
196
270
192
191
235
232
181
253
243
160
185
189
208
173
206
205
151
162
223
195
253
193
211
170
215
207
200
270
183
203
273
226
296
252
259
293
239
158
324
218
165
159
260
258
208
166
238
223
213
225
155
242
181
191
186
281
234
247
215
241
154
192
170
221
255
210
146
224
175
238
230
269
235
208
182
250
134
263
156
208
143
278
181
212
214
206
184
300
237
219
196
171
160
205
212
188
169
183
311
208
189
270
272
211
196
225
227
248
201
242
196
177
170
176
267
214
203
183
212
240
200
178
224
236
197
264
215
191
232
156
229
223
198
271
226
233
260
234
169
225
179
200
228
126
251
246
220
328
233
224
165
180
188
207
238
161
191
218
288
195
213
296
248
194
128
172
256
245
177
250
160
257
294
265
220
245
273
174
308
278
217
253
243
180
236
223
236
178
251
240
215
286
212
241
187
191
227
181
121
187
183
181
184
278
293
247
245
173
206
196
299
188
207
243
201
220
168
273
163
228
273
188
207
231
242
232
283
144
300
198
114
264
181
168
257
255
210
306
292
210
216
225
276
317
337
295
299
220
165
176
270
219
283
188
245
197
259
242
259
139
146
281
222
237
214
333
301
212
184
227
243
274
261
154
222
176
199
200
175
213
184
243
230
247
191
166
252
259
208
270
183
181
251
267
232
240
186
219
156
306
176
266
186
266
277
231
208
192
273
213
252
237
206
290
237
281
236
243
228
243
205
205
206
195
303
153
171
178
237
185
225
273
215
184
294
202
227
194
255
238
175
158
269
154
213
181
242
243
242
267
291
168
231
210
169
215
194
235
209
239
227
288
246
174
177
139
238
275
304
218
204
218
246
185
311
114
210
225
235
192
224
187
238
310
202
255
178
220
231
187
264
141
266
202
158
190
140
248
180
200
232
206
254
263
193
336
200
187
257
240
187
232
327
186
208
251
258
274
266
258
253
252
196
229
258
251
228
193
175
222
263
168
302
271
200
114
174
244
198
248
258
247
240
288
185
184
189
237
309
283
225
220
233
114
240
210
342
244
243
173
296
247
186
180
178
209
220
206
282
221
219
227
256
196
245
297
232
203
244
214
155
234
247
238
183
279
220
218
257
342
234
178
262
273
260
240
221
248
269
182
256
224
251
239
218
168
271
233
208
165
226
309
170
246
222
260
233
215
194
196
204
179
156
213
221
284
154
224
211
226
247
192
224
239
214
258
204
265
321
259
213
261
241
192
283
188
267
234
225
236
231
204
305
255
234
263
220
239
281
294
329
241
223
211
200
258
264
195
181
163
277
162
263
204
133
171
202
251
234
250
171
260
192
201
202
231
260
198
224
235
217
226
290
178
238
207
251
243
196
164
233
253
180
180
166
172
343
215
280
186
253
279
151
114
244
303
195
221
183
238
256
291
248
228
309
288
241
266
218
245
243
303
284
192
248
261
190
266
191
286
168
251
234
238
181
279
181
216
234
253
229
191
199
263
227
224
173
222
183
142
272
219
242
173
156
217
257
235
180
239
149
173
297
160
183
235
282
241
264
173
289
180
191
262
210
156
214
209
225
251
280
323
251
185
255
244
258
238
241
236
212
181
268
202
160
116
185
250
184
180
330
114
186
209
300
267
148
196
282
178
244
216
240
229
252
221
282
195
229
180
198
173
216
263
326
232
249
258
244
114
278
258
219
252
234
160
267
194
205
148
176
250
304
377
203
255
238
190
228
310
208
203
243
200
181
235
308
231
247
263
253
258
285
277
201
217
232
267
215
211
229
198
218
233
309
196
207
272
232
281
215
159
242
209
170
259
225
276
216
308
277
234
203
213
213
304
260
258
198
208
223
277
229
209
258
238
285
334
304
198
310
253
190
186
152
230
194
190
188
232
232
277
192
195
239
207
184
208
194
193
243
220
194
218
222
319
169
264
184
201
191
225
174
202
231
294
271
152
114
227
217
270
186
286
146
325
231
267
176
282
160
274
233
278
231
202
329
190
230
235
195
268
260
146
315
255
175
200
184
250
212
254
306
192
214
185
278
280
208
202
193
201
240
227
189
179
264
266
249
160
167
270
212
202
144
196
264
116
185
218
300
242
252
152
250
192
209
186
165
221
149
225
324
222
203
279
336
189
222
211
254
237
243
192
175
114
263
288
320
293
234
291
229
181
197
251
175
241
201
227
222
217
222
174
186
255
211
235
328
332
203
256
154
193
171
238
217
184
195
210
246
286
228
221
206
297
244
243
212
255
211
209
192
172
170
207
222
165
217
244
267
289
285
250
203
114
298
260
239
255
279
203
244
178
227
205
295
114
250
322
170
267
218
156
273
349
284
212
179
206
201
144
151
252
178
234
160
206
253
249
182
195
238
243
247
226
270
173
234
185
206
209
238
209
166
156
258
126
194
257
263
239
223
262
151
243
166
232
256
189
267
221
309
198
185
320
268
208
196
219
217
231
156
270
204
236
268
258
203
269
233
216
273
261
235
213
160
224
252
261
262
238
243
157
243
241
309
320
204
223
209
191
232
293
239
232
187
237
238
228
240
281
251
281
201
235
246
210
188
228
200
187
196
276
216
257
207
235
232
178
198
204
234
299
156
196
200
218
263
203
253
211
230
225
205
198
209
195
258
214
211
239
165
258
232
169
174
260
269
216
184
201
257
231
166
156
299
214
287
243
146
173
270
335
277
203
213
242
286
226
218
139
214
187
239
276
250
250
229
225
269
218
278
223
144
208
252
240
261
258
198
233
264
154
223
185
211
154
253
198
242
241
282
270
273
212
195
177
374
277
178
251
215
151
325
208
219
301
249
220
281
203
250
203
200
282
222
175
245
161
175
181
230
196
126
198
129
207
248
162
220
203
266
266
184
239
272
200
209
174
221
338
194
220
231
205
232
251
284
240
198
202
164
296
196
333
298
181
243
245
183
259
257
206
306
169
168
249
226
196
230
238
218
272
174
264
272
185
160
226
154
234
270
181
246
232
229
200
241
170
274
259
347
213
174
192
245
248
169
256
233
220
188
167
216
262
145
249
248
213
241
288
243
195
234
152
224
207
225
180
214
194
250
247
181
200
287
258
234
254
301
254
254
232
164
188
325
208
217
205
297
151
161
161
221
215
261
139
189
303
197
228
255
208
233
224
152
200
210
246
258
252
230
177
282
198
258
198
187
219
232
196
219
196
177
199
235
186
175
273
357
201
196
251
259
215
250
241
152
224
159
233
252
254
202
203
242
279
152
231
327
175
216
199
211
325
269
161
221
202
261
291
167
308
149
228
226
160
193
189
287
233
167
280
253
121
175
230
196
247
245
240
122
180
204
236
178
244
154
258
200
220
228
213
155
258
233
261
255
283
230
274
219
215
183
239
220
200
302
234
180
242
108
218
330
161
106
221
173
246
185
240
228
201
196
184
271
139
212
241
180
251
155
176
225
238
261
201
161
208
181
205
200
183
285
261
171
214
251
259
262
191
169
283
173
227
244
277
292
227
266
261
229
264
252
266
251
174
239
225
242
259
180
164
250
179
238
211
254
309
108
272
180
310
236
154
207
211
175
254
114
284
225
230
224
244
197
233
224
175
256
246
234
212
203
175
236
194
263
317
258
220
202
226
159
170
174
202
152
200
270
307
204
222
270
126
199
146
240
259
189
284
195
215
192
242
178
170
209
218
227
220
274
201
270
121
173
246
280
144
198
251
254
213
194
179
268
229
244
367
260
267
244
223
262
241
181
329
197
278
230
295
160
140
211
233
184
187
225
161
250
114
242
213
158
192
174
262
246
208
212
175
296
309
216
129
195
221
247
265
252
225
260
188
170
310
292
253
208
218
232
236
194
252
194
203
245
245
219
191
216
226
292
227
310
292
229
264
207
192
345
232
226
255
279
211
342
189
226
290
195
278
212
190
193
233
221
151
268
248
183
212
181
185
244
190
210
185
199
200
191
201
236
173
180
204
152
235
225
215
325
277
247
230
155
139
253
161
245
208
297
211
217
225
300
186
220
219
256
198
240
211
245
301
239
271
228
216
284
161
206
182
291
189
238
201
209
253
208
209
276
225
246
200
179
206
180
217
213
305
195
251
237
284
257
237
223
156
233
240
240
238
260
211
207
193
148
320
275
266
157
220
217
252
216
302
187
173
200
175
225
237
238
175
248
178
227
237
240
345
214
227
319
195
269
227
195
202
202
243
209
191
256
178
259
207
201
202
207
262
184
226
286
256
198
170
201
214
238
171
214
212
248
121
283
166
239
217
205
194
214
219
246
211
230
200
114
218
168
222
230
238
229
211
180
169
218
121
177
239
178
231
229
187
245
255
179
284
250
219
267
175
240
249
178
200
255
175
210
292
281
199
200
217
332
193
108
279
278
191
201
176
230
227
202
165
200
234
165
207
245
239
166
199
291
221
240
311
304
267
224
251
233
206
292
203
300
198
218
220
274
211
205
234
232
194
229
270
194
267
261
171
152
283
227
245
216
149
239
248
334
233
220
197
201
163
228
282
203
297
217
192
225
272
219
144
176
180
202
241
212
280
188
292
258
174
275
212
187
222
288
212
188
217
262
233
358
267
245
243
299
143
168
178
114
199
211
183
271
265
238
254
188
261
312
149
173
183
201
291
221
154
197
145
277
224
310
197
247
242
234
247
248
195
255
240
305
233
242
254
253
224
255
265
273
235
218
207
230
218
186
188
215
303
198
262
259
251
235
282
176
228
184
224
206
267
218
200
150
145
290
322
200
214
175
227
268
192
183
253
286
266
259
268
219
114
227
260
154
199
258
276
135
192
241
238
146
246
303
276
277
239
231
260
244
296
175
302
269
214
228
181
247
234
158
190
244
225
180
247
192
241
201
247
178
241
196
245
227
232
247
270
235
202
242
148
214
220
144
251
228
217
235
178
317
273
277
206
169
216
214
214
308
277
241
252
145
190
213
194
247
290
185
214
255
219
144
275
273
294
256
244
237
267
277
208
227
210
231
172
192
208
156
222
211
251
262
243
271
272
177
154
161
192
215
255
227
212
251
267
198
255
212
198
236
229
160
238
211
198
181
300
195
154
230
241
162
151
238
264
252
170
272
233
324
156
199
260
236
190
242
192
277
224
220
164
321
189
216
212
190
244
249
230
308
284
307
116
263
243
187
208
230
176
193
223
198
248
206
211
231
239
233
199
197
270
154
233
166
252
210
206
258
198
258
234
221
192
246
200
161
220
284
191
220
238
245
191
214
265
260
245
232
212
273
225
175
114
205
214
261
182
250
198
243
255
249
233
266
114
148
216
242
203
247
255
114
260
165
236
250
179
156
229
258
262
257
201
270
246
241
251
245
114
198
238
219
193
180
264
199
200
217
225
225
210
237
246
286
263
250
223
242
206
280
220
287
253
268
213
207
177
203
258
270
206
227
234
270
218
197
270
277
276
197
254
196
201
320
237
258
297
235
235
183
217
222
260
271
258
253
237
197
301
222
262
199
200
190
260
225
289
155
225
205
251
126
162
192
175
180
259
256
178
312
265
180
214
228
176
139
278
172
210
227
182
244
185
179
233
199
246
211
196
192
243
196
250
203
277
235
190
245
264
281
228
259
250
248
301
176
179
275
218
278
192
284
199
172
230
202
209
248
189
220
270
210
251
264
220
234
205
193
240
156
226
215
249
207
217
247
237
246
297
299
191
294
235
126
298
220
180
275
264
203
250
214
263
261
200
218
206
179
271
240
247
199
230
178
244
244
197
252
114
323
230
270
251
238
251
267
278
250
243
176
328
234
207
187
252
160
211
210
198
180
239
157
170
218
274
230
265
114
246
247
230
254
114
230
114
267
239
221
231
304
208
250
179
205
240
106
160
249
198
288
227
279
251
212
295
175
274
210
252
151
221
174
168
221
228
188
166
266
190
222
247
275
264
198
202
247
203
244
184
174
192
238
211
209
173
278
238
193
233
238
311
220
229
299
215
226
213
212
207
196
211
250
166
234
305
211
232
222
216
210
199
191
184
212
170
277
181
161
161
216
195
278
146
165
288
176
190
250
288
253
188
206
199
248
171
234
216
227
265
207
179
280
205
355
234
192
263
287
246
278
262
251
222
227
209
254
203
231
204
256
199
175
243
269
273
243
280
180
211
185
207
160
169
173
287
264
212
255
185
260
299
326
166
217
234
213
229
207
192
197
245
246
155
234
248
214
232
156
240
266
219
260
252
182
180
226
173
287
265
290
253
242
245
298
227
221
173
243
262
244
198
206
273
267
218
311
200
156
302
224
286
274
199
260
260
150
272
229
268
252
277
260
222
261
280
301
169
292
254
196
203
227
174
283
315
209
193
183
229
330
198
221
207
195
225
210
234
211
247
178
188
235
245
276
164
250
243
186
233
268
239
152
208
198
258
236
217
230
297
231
218
244
210
221
239
264
204
166
202
247
184
241
238
228
289
239
254
179
253
250
218
288
173
248
249
168
277
228
205
290
180
239
266
272
218
283
205
240
232
280
229
237
173
188
206
240
261
160
181
194
260
291
153
215
195
224
144
244
208
187
232
282
239
151
172
162
303
137
317
227
237
229
205
282
258
169
164
231
380
253
210
275
225
239
114
262
320
139
231
187
212
181
240
208
226
190
262
191
192
222
185
244
231
206
292
227
236
234
195
178
168
205
144
201
213
182
257
216
198
265
214
304
280
178
247
227
218
156
263
233
160
275
195
221
285
254
258
218
229
166
284
302
208
196
233
240
200
218
274
209
276
210
214
248
149
183
247
276
239
245
302
208
175
179
258
210
182
229
227
170
183
243
224
160
242
207
235
190
194
169
252
231
222
145
294
147
284
227
316
318
211
269
281
233
274
295
159
260
240
279
318
287
114
169
211
251
269
208
169
229
239
265
167
224
149
201
200
144
232
236
175
173
248
260
204
230
145
194
238
181
198
207
230
260
238
184
268
260
139
295
157
214
254
197
239
251
289
259
193
257
126
313
187
298
216
168
240
302
241
264
293
236
218
208
282
229
259
221
205
231
218
257
279
204
190
171
224
209
297
251
254
226
194
260
261
238
223
362
226
193
196
220
197
129
225
237
247
186
277
231
227
208
236
212
156
236
279
219
228
287
193
197
194
184
190
210
202
238
198
178
235
274
146
279
290
281
167
238
229
178
215
319
221
177
214
274
221
274
204
289
251
221
235
254
219
245
200
221
145
161
250
237
233
163
129
237
173
209
302
152
196
210
225
248
200
206
251
254
189
175
174
144
175
258
223
211
247
171
298
327
225
209
233
291
271
161
213
202
220
196
208
180
178
183
237
162
216
207
214
239
277
249
215
196
214
269
280
243
269
241
206
144
234
175
182
187
192
319
254
200
212
247
286
216
206
267
152
214
173
206
255
262
220
191
392
200
219
233
248
222
340
306
176
151
291
178
190
227
219
274
283
210
263
250
244
282
186
165
164
237
239
217
209
272
207
239
183
233
335
213
242
226
250
187
299
225
203
221
196
231
205
274
155
189
282
197
177
232
197
271
266
182
216
218
154
246
203
273
263
262
244
237
185
277
225
208
147
257
208
204
147
198
167
213
243
210
209
237
253
280
219
269
198
187
233
207
221
299
193
161
239
291
251
215
217
202
288
223
177
202
257
232
228
227
253
264
140
258
225
255
271
253
205
246
247
195
176
259
164
273
173
203
286
251
205
271
292
209
281
278
230
160
279
321
171
306
270
269
235
231
181
231
192
273
189
217
183
220
192
222
262
233
243
260
216
248
219
271
204
214
192
201
242
243
181
222
212
178
144
173
204
209
203
210
208
259
160
241
201
254
167
246
177
297
114
193
239
176
175
215
198
263
280
260
257
230
243
232
222
259
226
212
266
226
310
281
251
193
153
285
265
206
175
222
194
296
221
278
235
178
207
229
176
152
229
225
234
156
303
173
227
189
210
233
162
169
178
200
168
192
212
277
234
207
214
170
229
211
186
193
249
341
304
270
298
178
265
215
256
215
175
251
266
274
147
165
309
206
208
228
173
283
243
174
214
154
219
256
227
232
267
326
171
196
204
269
206
248
285
244
286
180
231
160
170
232
277
272
224
279
174
156
292
244
261
239
278
286
271
224
225
154
257
264
241
210
214
270
178
188
205
195
225
192
265
269
265
234
278
200
178
134
237
202
236
366
193
244
237
243
298
198
192
193
221
193
226
213
158
303
204
139
244
220
195
182
178
255
265
215
194
225
290
278
160
198
197
255
279
247
209
201
207
223
306
235
209
180
208
205
218
256
183
198
205
197
295
326
273
263
278
201
233
175
206
137
182
221
160
233
256
216
270
324
145
267
199
116
178
216
190
243
281
225
248
223
205
230
270
225
210
195
182
275
194
294
332
211
229
168
114
214
295
220
233
198
214
286
252
205
279
229
176
203
245
201
251
232
175
277
199
182
258
200
181
240
304
173
148
195
254
354
259
244
230
211
257
252
253
186
247
166
114
311
216
204
264
211
274
317
229
267
181
175
219
240
311
218
222
262
205
270
179
175
266
218
214
165
265
188
238
166
174
209
231
367
231
255
181
288
230
288
230
243
168
147
235
274
184
253
114
223
189
155
244
220
156
276
173
204
137
244
202
237
224
315
253
244
218
233
255
238
258
210
205
240
211
203
242
208
258
175
230
212
281
283
185
218
215
231
188
199
272
183
319
247
235
270
154
265
248
201
258
281
222
257
181
200
114
255
306
284
273
187
349
218
283
231
202
315
251
197
219
200
249
251
227
218
116
255
225
248
294
250
233
249
219
237
265
194
208
233
224
222
129
165
248
269
243
222
281
200
239
241
213
209
209
220
196
176
234
250
296
238
168
203
215
241
170
279
241
222
227
325
227
273
235
261
236
211
205
244
209
275
284
218
251
146
194
204
230
203
192
285
204
216
297
146
193
192
242
284
202
241
311
253
221
238
219
152
281
239
271
199
350
173
204
218
219
293
274
242
283
234
212
230
208
186
279
208
305
165
222
234
208
241
204
269
265
192
201
261
180
232
267
211
241
236
288
206
215
234
285
173
316
250
182
158
229
206
215
281
191
139
226
222
233
223
178
214
197
203
174
331
194
161
149
183
243
206
228
211
141
180
190
190
259
201
209
114
192
182
217
152
166
204
302
269
181
170
173
328
221
209
207
260
180
145
173
213
223
314
232
260
244
161
194
229
209
199
114
270
214
309
160
170
284
235
144
250
151
201
265
185
170
219
202
193
327
212
192
214
213
198
219
181
230
270
202
163
192
181
228
171
203
192
139
263
210
307
250
240
259
156
192
264
222
161
209
168
310
190
190
237
352
255
288
152
216
319
197
241
341
281
211
256
306
169
226
332
233
237
217
135
190
235
195
255
170
189
216
266
200
232
243
180
291
220
222
188
137
193
261
315
230
250
241
258
180
239
236
194
252
209
246
271
170
261
222
144
228
178
226
233
116
261
302
232
219
212
210
335
227
159
233
228
243
219
203
214
256
157
264
260
234
280
160
192
174
205
204
206
198
219
286
178
258
224
271
274
204
191
175
420
152
199
200
208
177
283
205
160
290
253
256
220
218
206
202
216
264
166
228
258
198
114
169
336
238
214
154
170
313
200
201
174
169
192
250
208
198
264
241
160
194
238
180
179
244
188
265
200
265
238
267
215
224
223
278
240
250
158
252
198
195
244
195
228
267
193
178
183
175
116
137
205
178
258
229
290
241
170
183
300
299
249
264
189
212
262
228
293
179
175
226
199
147
297
193
221
220
293
174
197
196
280
249
258
269
247
191
241
218
256
177
228
189
228
179
192
209
201
170
268
279
294
291
247
173
223
198
237
249
237
208
359
249
229
258
247
235
215
231
206
220
214
265
214
305
242
181
262
229
374
232
205
269
178
184
224
294
274
262
242
221
272
215
266
195
240
200
212
197
239
253
239
207
231
188
231
221
164
228
195
281
371
261
263
252
243
239
190
240
229
251
241
227
235
241
196
245
214
175
262
220
247
236
286
212
148
207
232
279
170
261
114
148
297
206
225
205
325
232
193
240
240
245
200
250
225
185
228
209
222
267
217
221
276
257
192
240
173
177
185
228
300
285
194
279
262
209
284
198
198
216
316
210
221
242
317
238
296
262
210
245
224
256
242
315
139
230
114
278
173
181
230
219
296
225
172
174
210
164
219
200
234
163
239
265
160
258
198
219
286
288
187
169
295
215
240
187
236
235
228
204
195
262
161
231
174
212
182
296
252
278
179
241
198
226
220
219
277
232
286
280
239
215
226
193
173
160
273
193
277
215
188
262
217
239
241
212
243
224
229
219
171
221
248
225
243
208
202
222
233
215
286
267
186
224
230
205
263
288
194
223
243
246
282
206
270
290
129
282
202
187
255
180
263
255
215
235
195
253
301
292
225
282
204
220
229
250
191
185
260
222
226
198
230
255
218
347
255
220
238
180
166
229
226
231
231
181
279
283
219
222
270
252
154
191
203
156
288
137
228
199
224
165
197
224
236
211
206
178
300
282
241
133
211
302
166
223
275
236
254
192
296
239
197
181
247
208
276
198
222
235
194
249
219
244
242
186
162
233
222
225
321
234
159
262
146
230
292
358
211
277
217
249
108
209
263
188
263
219
193
218
215
204
256
295
246
241
231
221
273
165
236
200
230
178
274
203
214
196
266
167
170
233
251
221
248
225
216
290
209
204
209
152
179
192
191
185
206
200
108
287
200
160
195
160
247
242
272
206
267
200
270
226
229
252
192
311
143
267
255
272
184
243
213
208
252
182
148
266
199
285
214
256
237
237
273
151
212
221
198
175
188
287
231
191
238
234
218
250
205
210
184
234
236
223
206
165
221
168
211
214
259
204
150
231
180
231
250
187
223
300
206
181
253
287
267
235
203
250
206
191
196
317
205
240
247
200
243
207
296
225
199
268
234
199
261
256
292
198
205
197
233
285
261
277
312
226
260
233
223
193
228
146
280
239
284
227
192
200
114
215
231
276
263
279
221
180
197
164
224
215
267
246
221
193
298
209
198
231
219
301
199
174
255
156
191
185
188
248
204
140
206
297
254
185
157
210
226
237
186
300
213
149
144
228
156
223
189
202
290
152
209
209
220
197
203
246
171
106
279
232
286
232
277
263
201
227
269
239
237
212
205
170
169
273
209
170
175
210
256
202
317
207
245
169
216
229
162
325
270
280
252
236
195
184
214
254
244
255
270
246
227
276
187
263
274
230
179
219
244
280
275
167
114
199
184
152
209
256
225
225
203
211
245
252
201
279
310
314
167
156
254
199
216
225
284
232
231
240
262
237
243
296
228
202
221
199
213
208
233
162
169
175
274
269
191
221
271
205
193
243
198
202
287
208
238
216
229
260
229
108
151
273
175
246
324
191
241
233
293
192
301
283
225
252
189
246
249
237
270
270
180
236
273
198
228
191
206
222
213
250
184
212
243
219
208
219
289
196
186
218
260
271
216
209
253
282
226
206
326
270
286
271
221
211
193
183
230
285
195
345
181
311
278
121
227
239
292
201
262
221
171
175
252
237
207
249
192
250
236
281
170
257
227
218
248
208
168
197
196
268
302
196
161
156
210
237
217
193
189
245
177
250
157
222
191
241
185
191
193
245
278
222
263
269
174
304
202
234
263
276
254
181
231
180
230
279
249
235
271
222
222
328
273
226
202
213
232
262
198
225
198
236
149
197
166
172
181
236
252
259
203
277
308
173
320
195
208
288
202
275
242
234
174
207
302
285
252
200
200
206
228
218
198
255
292
224
281
203
211
188
248
174
253
252
232
275
183
229
240
169
205
296
289
168
284
197
193
209
178
175
215
156
186
319
193
229
183
207
261
314
121
170
205
190
257
213
284
214
151
279
172
180
208
223
161
242
200
181
181
217
190
258
164
214
254
207
291
233
129
244
239
227
249
233
250
266
275
208
256
253
200
147
178
249
207
208
256
263
205
280
212
225
140
205
243
245
241
231
252
216
116
221
231
282
234
198
218
354
231
248
255
167
167
216
197
262
235
291
183
182
276
293
157
207
202
228
281
188
211
181
212
239
237
181
207
157
201
229
225
308
246
227
169
229
234
208
217
244
214
217
241
270
208
198
182
261
209
203
195
218
294
275
220
129
256
224
216
249
265
232
210
245
288
263
308
161
290
274
263
234
213
173
199
257
258
195
298
232
270
272
218
239
185
258
211
270
172
286
260
266
160
242
259
181
239
206
273
206
236
250
210
166
182
299
249
213
232
253
190
266
207
178
259
253
245
178
296
175
199
222
227
227
286
169
254
171
271
245
218
258
198
282
208
247
222
193
267
229
199
242
177
210
253
178
239
277
243
190
277
222
173
213
192
213
206
219
216
218
172
129
246
333
188
232
196
114
244
271
269
274
225
280
304
198
202
215
224
259
238
219
181
246
253
304
275
200
232
251
176
273
160
229
247
266
195
305
200
242
265
200
161
284
340
245
247
219
237
293
229
259
258
226
188
204
284
203
230
184
226
114
214
160
263
205
192
233
194
231
309
310
185
274
222
217
202
210
229
237
267
224
208
248
276
209
114
199
221
234
270
208
177
198
226
220
241
168
225
114
197
275
202
232
178
185
235
234
308
249
227
187
343
229
174
270
198
202
147
211
276
230
229
184
235
225
213
190
202
193
220
264
265
189
227
160
248
189
204
160
192
206
225
299
237
219
268
227
240
215
182
208
254
261
275
245
226
190
254
244
192
268
218
296
219
170
336
191
226
279
129
219
198
242
256
196
257
257
231
290
249
224
215
202
254
246
184
220
279
204
184
106
334
239
226
197
243
175
223
218
261
161
263
271
290
264
236
175
331
224
316
225
220
244
162
220
220
190
289
222
175
221
201
206
114
226
262
250
270
215
307
261
243
271
320
231
269
173
202
158
244
180
291
206
286
237
287
246
181
268
240
218
177
233
205
273
260
179
143
178
266
237
228
114
203
222
235
241
278
257
248
204
209
198
259
164
217
189
200
277
247
314
194
212
288
229
219
284
205
258
254
256
261
178
173
134
252
222
250
206
233
309
209
192
231
200
248
244
159
198
195
180
145
181
195
238
277
243
275
155
216
231
201
170
157
238
149
270
236
278
169
214
263
249
173
286
224
265
203
233
241
230
188
205
270
178
188
153
221
227
280
283
251
198
262
219
239
275
237
160
264
212
306
246
269
232
229
231
160
298
234
220
232
305
243
270
294
332
220
233
237
233
224
246
202
219
146
184
204
253
271
157
155
289
279
201
288
284
235
246
228
220
130
232
178
182
307
281
234
320
232
296
272
146
223
289
163
241
234
249
223
252
205
184
284
241
175
224
215
139
270
217
235
273
211
150
173
183
255
200
247
170
144
326
225
198
223
212
184
235
210
224
234
271
208
189
208
252
262
187
221
267
200
227
208
240
151
267
240
215
263
212
240
232
235
226
193
151
275
199
191
152
231
231
182
195
234
308
168
276
296
301
158
240
152
296
239
177
165
335
149
265
234
196
291
192
194
228
288
251
229
155
271
215
170
222
202
234
222
186
200
170
170
206
145
270
273
243
237
279
228
195
199
206
233
215
252
148
130
194
337
244
204
280
259
241
268
213
207
146
218
235
218
162
232
209
145
281
222
239
275
252
216
148
274
298
236
195
258
252
178
245
238
278
217
277
240
247
200
243
233
243
211
277
196
252
262
205
192
189
183
233
214
244
208
185
220
196
221
234
195
242
210
252
108
302
172
232
160
262
239
204
231
296
292
227
280
169
291
256
247
211
158
196
194
199
251
211
259
235
264
198
204
279
184
236
177
285
246
180
221
231
238
320
255
231
248
244
256
248
286
225
268
212
222
213
191
196
190
208
275
178
275
163
214
200
220
164
161
261
245
202
160
195
260
179
227
195
197
198
216
240
226
231
263
255
209
199
260
200
139
179
262
242
184
199
309
156
179
263
249
228
284
216
226
178
210
234
188
219
229
252
217
313
208
266
169
201
214
196
232
238
179
146
227
258
228
264
225
260
121
208
197
204
339
249
228
172
203
189
238
233
262
114
263
308
237
226
293
241
114
264
252
198
258
178
200
334
221
146
172
228
189
257
355
284
207
228
147
210
228
292
206
199
170
256
220
218
219
286
198
265
296
184
178
267
250
214
242
169
199
201
229
317
184
269
186
222
274
156
159
226
208
290
129
257
282
225
292
208
205
218
298
235
245
286
175
246
206
214
290
165
273
224
222
209
176
206
208
317
248
179
223
158
108
230
232
185
211
173
177
303
244
209
175
221
188
178
249
243
171
224
183
264
280
114
193
179
267
276
261
204
228
247
230
233
220
247
257
259
186
214
229
200
290
258
214
186
186
231
272
252
267
236
231
194
265
182
211
202
231
126
198
181
198
245
265
232
287
239
242
263
175
252
228
224
175
291
203
245
241
225
281
239
271
302
224
233
258
248
255
278
242
341
222
252
213
286
249
219
267
160
217
251
165
215
173
260
259
261
271
256
242
250
261
156
179
174
165
176
205
208
278
196
191
226
247
278
183
304
227
214
201
190
214
221
251
231
169
114
192
166
234
263
258
232
193
230
184
240
190
208
286
178
220
248
289
244
291
278
192
265
242
238
286
198
215
224
245
114
148
200
161
249
288
240
208
163
205
227
252
239
221
243
199
234
207
229
108
283
206
284
321
354
151
195
225
191
191
184
159
228
196
196
278
170
290
258
261
209
232
161
256
244
277
205
235
288
247
244
212
116
261
266
207
306
223
194
321
204
191
261
151
126
226
178
239
195
151
190
182
280
218
197
221
181
236
263
223
232
184
201
219
278
291
272
281
315
189
241
305
228
181
163
235
185
268
237
182
235
221
196
238
252
284
250
198
264
280
258
252
237
170
266
237
165
174
304
286
242
184
221
262
234
204
172
216
215
180
235
284
116
229
206
253
126
214
139
180
203
206
189
267
114
108
250
240
251
237
233
250
240
267
160
220
169
182
231
190
182
175
222
228
210
192
207
114
256
323
194
290
224
151
249
257
236
209
244
139
240
272
262
149
335
236
219
196
224
196
114
204
299
301
227
203
248
197
253
203
357
282
218
268
224
274
209
338
243
249
228
240
226
232
216
186
282
205
229
212
218
275
219
288
333
208
145
168
229
214
229
251
244
217
177
298
200
266
257
250
196
191
239
209
181
304
251
296
260
300
215
184
275
181
248
255
216
182
323
246
229
324
228
201
310
173
184
297
151
216
184
170
205
263
207
161
280
259
114
290
204
218
243
240
242
296
186
251
200
244
216
239
195
196
167
202
245
196
172
198
214
230
139
242
114
176
243
262
199
272
247
220
189
265
241
234
210
238
244
200
166
288
241
236
248
248
214
255
210
211
174
211
248
247
221
306
210
206
204
216
202
155
279
133
191
203
210
279
156
266
275
281
219
215
185
234
295
216
216
268
198
342
252
225
187
205
301
161
211
151
261
253
183
231
202
157
227
209
139
235
192
197
223
281
209
321
182
248
243
237
160
214
264
219
235
139
220
215
282
211
211
244
266
358
262
296
126
275
179
357
211
314
259
247
200
225
263
171
271
146
197
216
303
192
226
200
214
365
108
248
202
214
227
254
170
200
229
192
212
191
192
239
233
186
248
215
175
248
258
239
268
108
274
209
208
253
238
190
208
227
145
219
173
277
237
299
182
244
200
219
174
162
223
278
314
293
197
309
156
206
209
227
264
160
275
193
188
224
253
340
290
211
208
247
211
241
198
114
195
203
184
258
306
254
193
207
195
259
221
191
180
283
151
249
241
281
241
220
245
211
212
231
225
272
255
231
318
367
309
234
217
209
215
232
220
230
330
226
278
251
154
222
336
258
216
198
261
258
175
258
204
252
243
222
249
195
307
224
241
126
200
278
233
162
247
268
220
326
276
223
294
252
227
198
310
276
311
339
321
185
193
154
241
201
195
271
256
202
181
291
201
234
152
209
285
240
244
244
276
235
293
225
247
289
355
253
196
258
220
208
255
264
187
151
229
205
114
277
196
293
261
191
199
248
173
168
264
231
239
230
226
242
275
203
186
178
152
266
175
197
218
194
198
237
222
228
256
236
256
189
266
321
265
190
114
208
265
299
225
161
268
184
266
203
173
168
170
235
225
260
254
270
227
164
248
239
204
170
260
247
299
179
207
231
187
263
251
242
184
255
251
161
241
223
250
174
267
354
271
187
217
274
279
228
287
208
176
324
198
296
184
148
226
202
240
171
156
170
186
184
252
282
238
360
254
229
319
178
195
236
201
259
168
203
198
213
206
204
239
204
217
241
219
241
217
207
200
175
262
214
146
200
215
221
247
196
207
258
261
250
145
307
219
220
234
192
197
151
252
230
114
254
251
219
139
266
312
296
191
203
193
178
251
213
293
229
197
219
212
237
220
202
196
209
173
217
273
197
237
114
148
261
224
276
212
217
207
152
200
200
237
148
157
251
219
263
108
234
201
209
279
213
253
242
161
193
278
260
126
191
254
287
208
114
190
178
240
179
264
192
273
192
160
225
255
229
230
244
314
275
160
188
208
283
245
192
158
270
199
265
158
255
255
205
240
251
269
225
256
223
251
264
239
183
211
184
108
190
186
175
241
210
184
253
231
129
204
219
286
148
216
241
249
231
154
309
256
178
251
277
227
311
209
227
258
227
235
254
183
296
216
225
249
194
170
198
210
178
171
195
268
164
303
196
264
180
157
207
224
239
151
243
181
265
223
217
229
282
251
218
233
239
194
218
222
114
190
210
198
214
230
181
240
234
237
156
236
269
199
177
309
225
219
245
181
299
269
284
238
242
217
181
232
217
347
225
178
225
224
295
148
244
229
243
174
220
257
265
257
258
149
244
178
246
306
221
269
222
200
145
242
219
246
195
223
165
172
243
214
238
256
260
205
206
264
234
195
193
170
255
246
215
253
276
254
240
257
231
219
219
161
191
273
253
156
225
178
213
249
233
273
266
206
238
240
233
268
303
176
228
168
222
257
243
197
321
231
263
230
175
173
165
226
241
176
152
179
249
276
106
190
227
239
287
240
272
243
316
260
180
149
264
205
256
311
167
179
254
274
383
204
213
251
114
171
277
214
211
258
265
211
289
201
180
208
239
286
221
208
200
235
316
198
167
177
229
225
220
328
259
259
275
204
183
236
200
203
232
178
192
222
300
192
334
232
270
270
282
308
220
218
294
202
219
214
237
250
203
294
225
197
200
230
227
212
225
239
219
248
175
189
190
244
217
222
170
269
252
178
213
207
227
116
303
215
260
173
243
232
178
202
261
247
162
264
288
197
275
271
219
230
198
234
178
201
227
231
244
203
239
266
180
174
240
244
114
241
244
204
217
283
278
246
248
263
220
223
192
225
222
126
239
195
260
258
160
232
242
209
207
212
211
182
193
233
179
277
218
261
175
158
212
285
271
167
156
218
225
256
170
170
264
260
175
152
221
350
258
258
297
255
202
214
128
254
193
157
283
207
214
114
247
233
270
128
169
189
265
221
306
250
191
160
219
228
251
240
253
198
215
235
292
258
130
163
194
139
249
162
175
260
228
283
196
218
201
235
116
220
327
207
244
230
220
235
156
253
218
237
235
264
295
188
191
213
206
223
249
208
145
198
178
283
148
296
192
280
271
203
210
198
175
228
199
202
231
219
273
276
189
236
236
232
229
238
255
238
224
186
243
194
215
220
263
202
197
206
294
261
273
239
237
201
232
148
207
255
179
221
277
108
233
160
202
231
159
196
218
233
221
279
183
114
318
240
218
233
270
215
228
188
227
176
246
269
286
205
233
196
186
229
196
194
126
193
191
238
234
264
242
165
228
139
256
209
211
243
202
225
273
230
194
216
261
253
218
185
305
246
185
303
206
296
130
192
181
208
207
206
156
234
275
267
146
294
271
267
195
257
171
161
216
193
292
247
170
187
121
236
188
207
232
253
266
293
233
289
266
144
252
175
287
178
173
145
270
208
205
274
231
139
202
200
130
280
208
239
233
227
309
171
233
264
303
297
218
207
266
266
240
162
195
288
276
227
157
212
184
206
227
193
170
265
286
269
278
273
166
225
181
146
224
212
147
227
247
202
206
262
152
195
152
268
229
315
114
215
264
232
170
178
194
246
220
248
208
192
232
240
200
196
223
175
205
203
199
206
172
289
193
203
275
199
262
195
239
174
249
266
261
248
292
170
207
214
253
195
271
221
220
305
205
253
161
278
156
259
210
312
210
243
156
257
173
169
203
203
269
233
312
241
231
254
239
276
234
201
233
246
148
214
221
230
179
219
334
253
272
238
196
256
262
219
250
239
289
240
214
210
269
172
259
180
204
189
216
178
186
245
221
230
212
263
220
217
197
210
193
214
276
169
228
168
213
241
183
173
193
186
202
217
192
210
152
239
206
170
251
228
210
234
280
211
212
200
277
166
114
241
244
234
231
265
228
315
247
244
238
269
262
274
267
302
196
243
186
282
192
222
256
273
164
211
220
223
270
234
252
214
238
184
243
223
182
238
285
193
157
114
170
212
267
170
270
285
256
266
169
133
251
193
271
223
222
278
214
211
290
223
217
245
238
225
319
181
198
274
236
257
243
212
190
211
230
219
167
321
151
236
332
238
293
216
250
218
278
203
223
151
297
244
211
114
319
156
198
166
263
313
157
198
204
114
296
270
296
183
221
219
201
273
218
226
182
266
218
244
293
156
176
240
205
227
261
288
215
259
190
195
200
264
219
183
243
277
250
228
219
247
283
246
207
184
259
265
287
220
205
270
241
199
267
262
244
229
184
246
139
218
179
211
175
203
276
151
254
272
241
196
181
229
303
185
260
240
214
226
277
231
195
279
218
178
269
308
242
139
182
152
151
225
171
207
215
235
328
244
193
299
202
269
238
202
203
301
172
289
229
139
177
202
179
192
302
210
312
173
311
228
230
242
184
175
203
204
147
205
209
314
216
173
231
159
261
191
229
178
241
166
160
180
270
293
166
210
278
243
178
186
264
181
232
161
259
214
185
245
239
258
185
282
236
275
191
215
241
166
195
256
226
161
251
190
197
178
215
209
202
207
180
224
271
210
194
151
232
208
187
267
251
279
187
166
316
250
197
283
239
191
209
152
191
211
201
146
201
160
266
306
247
218
210
156
151
239
188
247
225
226
205
139
208
208
280
259
222
239
301
206
252
168
208
198
236
262
179
234
189
245
114
316
174
226
319
231
254
211
231
213
220
156
200
145
191
296
172
230
284
190
196
152
210
234
346
171
192
203
231
219
183
202
235
203
303
246
231
189
264
126
271
229
240
169
211
230
239
262
280
229
220
231
198
225
212
243
206
222
249
243
218
213
180
150
253
189
238
216
285
264
108
247
263
114
234
178
152
195
248
226
276
114
246
152
310
209
317
232
253
231
292
250
263
224
247
282
152
243
250
233
223
319
228
255
195
161
169
158
168
251
226
268
206
313
195
251
304
217
271
229
243
213
314
244
262
222
287
257
152
233
263
216
209
292
195
188
245
173
209
173
217
204
114
173
281
266
298
234
222
265
174
139
193
259
179
202
205
245
189
177
194
211
240
279
218
295
342
299
203
176
160
208
197
233
226
243
181
201
293
264
151
207
286
363
192
246
193
211
220
286
230
289
257
234
243
155
298
176
219
151
252
265
239
248
319
140
184
243
287
229
126
198
221
230
190
184
173
215
201
160
308
260
214
299
228
216
284
227
265
235
151
211
208
267
198
239
229
212
217
218
242
259
146
271
193
162
244
225
185
146
205
226
227
251
139
197
227
298
219
309
241
221
260
121
308
231
267
238
232
195
273
197
175
177
260
244
189
222
126
220
205
126
170
286
190
370
269
178
240
218
182
261
294
253
263
235
234
259
214
215
273
272
167
228
210
170
233
207
247
180
256
281
214
257
306
236
194
202
139
240
229
238
283
212
170
260
244
208
251
170
207
143
304
263
250
161
261
205
285
228
262
325
265
209
260
202
269
231
216
165
214
221
276
153
282
213
207
206
210
238
271
234
212
251
218
213
250
208
303
223
254
310
249
234
276
175
243
133
191
170
318
240
251
271
235
275
261
178
177
284
172
171
231
202
196
211
212
244
270
260
266
313
288
254
174
258
239
192
180
301
259
296
226
197
255
245
191
221
222
195
208
270
253
205
302
210
252
214
287
265
197
165
229
293
239
114
220
300
225
247
317
177
234
223
285
245
229
183
261
222
241
277
209
186
251
203
201
210
168
250
209
255
201
262
231
290
196
257
292
222
211
253
270
271
160
181
182
243
189
307
195
181
198
229
214
201
283
161
232
201
236
313
276
199
267
198
217
166
228
271
213
219
192
242
227
227
236
213
181
262
229
301
248
275
234
329
186
238
226
225
239
174
220
268
204
314
156
225
307
211
182
241
261
250
199
148
229
231
182
248
189
334
219
254
116
230
181
145
185
159
295
213
237
228
217
229
249
176
203
236
212
170
215
191
178
203
173
258
209
235
193
215
248
145
293
206
202
217
254
269
215
249
222
275
241
203
200
219
170
244
222
227
230
181
236
205
214
225
246
235
248
228
238
242
249
265
168
241
192
268
219
180
313
275
275
239
276
229
218
181
213
250
272
176
242
191
185
252
214
270
231
239
310
258
209
207
181
287
234
219
174
228
279
220
182
169
189
229
347
266
180
195
213
243
178
274
235
244
260
162
217
151
236
173
289
218
287
252
159
238
241
201
144
372
206
266
220
241
285
216
246
247
222
169
169
220
208
181
218
242
257
179
215
297
114
189
271
145
209
174
272
114
252
241
222
226
239
262
194
235
209
202
267
290
209
223
242
231
207
217
169
114
165
225
232
192
257
258
261
265
161
200
224
252
232
296
171
224
247
200
153
243
276
245
319
296
211
266
257
126
287
200
173
221
315
221
256
183
234
214
204
144
202
144
304
168
201
261
273
205
220
203
319
194
265
243
268
210
206
259
206
245
255
280
184
223
152
270
252
218
198
193
307
293
199
262
256
223
230
229
198
217
204
244
237
279
312
186
263
217
299
211
278
176
215
228
295
176
177
257
247
213
222
223
160
207
164
256
221
192
152
207
184
169
210
254
236
273
184
374
302
225
230
166
240
219
114
232
230
269
296
178
263
235
211
263
297
194
213
194
180
226
192
180
193
237
210
336
256
246
211
237
197
208
267
208
244
213
232
175
224
253
170
266
211
229
243
207
262
185
114
264
161
203
187
263
168
170
234
286
285
287
232
221
157
218
178
187
304
253
190
286
227
214
287
242
182
236
137
259
260
232
177
254
232
264
290
226
165
200
180
203
258
214
203
188
151
133
214
292
200
204
170
226
184
222
196
238
250
226
145
235
278
257
182
243
252
286
268
212
212
234
328
212
152
261
214
278
194
196
217
205
178
255
203
227
160
290
162
240
296
185
233
262
214
198
200
306
296
195
283
195
256
260
185
221
229
232
226
238
246
166
215
242
255
236
173
202
204
176
158
245
201
206
216
202
227
114
291
239
209
213
179
172
126
198
176
126
249
243
247
276
215
210
232
212
257
231
235
222
269
181
260
210
162
222
317
269
228
255
276
218
214
158
163
187
233
189
198
275
224
183
188
235
227
171
160
185
214
316
193
151
255
286
261
240
244
245
181
241
240
201
173
244
220
295
250
256
170
240
288
261
282
226
227
166
245
266
233
144
294
187
174
220
220
114
202
202
252
270
263
319
193
329
212
212
231
198
350
168
234
210
243
260
206
262
340
257
232
194
223
185
156
294
262
180
164
217
246
191
249
252
298
209
139
239
282
231
276
223
245
192
221
207
178
223
220
215
215
266
198
220
234
174
220
230
182
192
275
243
224
241
197
179
170
178
253
251
207
233
252
195
238
232
235
207
268
195
261
265
179
163
178
275
167
218
189
232
305
253
201
218
279
234
196
295
229
259
166
257
186
197
156
197
183
199
273
209
198
319
197
222
271
193
219
178
175
251
193
284
252
206
205
179
212
185
201
305
221
247
280
259
234
205
108
198
271
236
183
195
232
265
273
326
283
245
197
198
192
247
227
164
249
280
213
267
308
248
176
188
285
309
177
121
282
209
247
231
139
249
188
221
235
263
294
179
164
205
174
198
269
238
226
266
307
222
196
264
197
259
242
245
237
222
257
160
227
223
239
189
212
280
188
291
264
220
286
226
155
258
162
215
192
232
271
126
266
219
284
301
197
121
276
243
212
222
238
220
226
176
183
281
200
300
167
259
240
194
146
250
221
205
187
220
263
229
209
242
108
245
228
210
218
221
222
299
230
253
134
178
237
231
246
259
234
301
237
173
208
219
250
184
261
192
246
269
286
207
246
202
187
202
210
203
185
263
311
235
196
215
189
256
209
218
275
221
261
225
218
227
231
193
198
243
221
246
306
209
245
229
215
235
228
236
160
242
217
206
223
221
198
239
238
262
126
199
214
193
181
288
288
195
277
284
181
289
215
274
208
244
170
144
237
195
174
204
361
221
212
200
184
243
235
221
254
196
248
314
247
196
214
310
315
178
205
173
276
240
306
237
266
231
225
252
238
373
267
274
158
238
200
226
227
236
186
281
152
198
225
154
277
283
171
269
209
161
200
158
193
203
212
181
230
139
224
206
170
183
219
321
263
324
219
177
214
236
183
259
238
169
292
151
182
220
184
237
251
233
265
299
217
146
180
248
249
175
225
177
198
197
230
235
204
247
159
328
265
226
182
242
114
174
167
216
259
126
231
228
185
192
182
250
207
243
322
234
219
270
184
192
238
214
272
178
215
224
317
225
252
286
330
245
299
233
237
171
259
204
242
168
152
194
211
197
301
278
269
251
213
268
191
270
265
202
257
232
208
290
216
263
298
240
245
241
275
218
108
177
196
246
264
255
277
216
267
218
205
200
238
176
208
222
217
261
247
193
205
200
170
251
198
222
158
224
264
260
273
225
268
197
232
221
245
213
256
195
222
230
224
208
228
232
210
196
251
281
275
316
278
172
270
278
216
224
151
192
287
215
180
217
223
168
260
210
328
175
260
213
165
198
245
256
246
273
181
292
220
243
170
206
193
251
181
228
221
220
220
172
207
213
170
275
192
277
202
246
280
267
203
197
330
243
215
218
238
204
211
230
252
173
204
233
267
234
223
194
263
257
173
234
211
197
207
229
299
189
266
194
241
177
226
198
265
114
241
146
199
208
207
223
252
191
225
219
258
231
260
263
174
193
247
200
187
361
205
250
269
236
170
214
280
206
176
220
238
212
276
221
209
252
266
196
266
216
298
239
222
174
292
239
188
126
213
212
222
260
206
198
165
202
193
252
227
233
236
235
251
272
241
149
231
246
190
234
194
174
257
216
233
206
181
196
178
202
254
249
174
297
249
242
198
264
227
263
216
199
260
273
126
227
245
275
226
231
201
253
178
175
160
236
267
230
203
204
160
217
218
177
251
287
173
231
223
232
244
182
246
232
182
203
193
196
334
316
254
231
269
215
270
241
291
250
239
164
283
303
239
227
316
294
239
252
239
225
206
275
221
199
237
226
202
222
263
230
169
242
293
249
160
250
219
214
208
237
244
241
181
210
224
281
202
190
215
228
199
270
116
253
188
200
273
188
236
252
211
179
194
271
231
170
225
308
279
300
191
232
225
191
213
249
182
246
287
207
274
184
166
263
223
154
205
231
133
241
285
159
228
183
215
211
269
223
237
226
216
208
227
162
237
210
229
164
240
266
176
180
270
231
327
163
306
245
233
215
203
264
208
247
294
266
156
257
149
261
230
114
231
225
205
230
156
198
220
207
305
206
208
145
233
213
303
221
308
219
240
203
193
241
228
239
231
280
206
194
257
261
194
293
319
139
159
247
217
256
206
114
189
263
227
167
259
270
174
154
160
182
181
232
151
151
168
280
257
166
300
242
188
208
221
182
220
145
261
226
208
207
320
199
241
260
205
220
215
167
202
252
226
156
303
177
108
245
220
251
213
189
178
200
305
181
216
230
285
167
165
288
290
240
216
281
209
108
164
154
203
281
189
260
162
208
217
214
148
199
189
312
203
167
251
254
157
208
253
234
286
180
331
280
269
215
180
206
252
180
273
192
267
319
154
198
286
251
240
282
174
286
180
185
151
196
235
242
210
242
245
273
206
233
233
274
258
310
156
278
177
223
253
279
300
154
235
257
290
194
187
235
241
183
296
218
292
207
172
240
224
261
227
207
154
197
152
214
250
311
108
189
252
178
202
325
126
279
240
276
184
217
116
193
217
129
247
232
297
130
220
170
121
264
116
106
191
274
164
236
231
198
270
192
198
197
259
239
194
252
203
209
200
233
220
156
244
232
280
174
160
114
239
339
308
197
169
203
209
268
161
164
235
176
139
221
223
191
188
139
301
255
275
237
195
176
170
173
270
229
293
222
227
249
203
198
237
169
238
222
193
256
160
181
199
265
154
178
224
234
283
248
156
203
203
231
232
279
241
244
278
309
242
245
223
224
241
220
248
237
265
229
256
211
279
226
198
250
240
238
241
230
280
265
286
255
259
222
168
161
229
149
271
198
175
262
232
121
209
206
167
214
310
250
281
161
243
263
336
244
206
179
177
250
228
310
292
349
259
286
231
245
279
170
173
169
219
229
203
139
265
257
164
193
229
263
208
222
216
200
216
250
229
203
279
114
254
267
237
266
180
184
186
238
215
114
232
189
227
294
282
312
300
211
244
292
231
209
221
227
276
203
177
254
333
257
172
130
313
364
177
192
296
210
196
174
324
257
184
350
293
235
251
146
206
229
297
242
260
282
286
168
190
106
266
275
257
309
198
182
209
234
200
202
296
195
237
214
195
192
206
221
285
256
198
257
240
207
228
207
275
256
228
139
234
231
292
201
259
188
198
114
195
212
159
236
290
268
222
281
218
212
243
200
239
251
302
287
200
180
272
223
194
173
182
214
204
240
192
273
188
306
169
265
263
283
234
182
204
283
198
234
114
225
171
195
263
220
249
203
249
259
248
322
145
185
193
312
198
208
259
269
264
282
258
229
231
243
246
213
181
212
281
253
186
200
214
195
271
180
311
141
233
200
207
187
233
217
240
219
249
349
189
225
268
216
211
257
163
212
168
248
284
293
235
189
303
234
154
257
241
255
291
184
296
248
196
191
195
215
260
212
178
246
186
238
178
226
158
253
203
180
246
255
242
229
198
258
234
260
185
263
230
231
306
282
317
252
293
231
217
209
165
258
243
230
219
252
269
307
239
220
262
169
162
212
233
204
246
264
263
158
265
204
180
156
264
218
178
197
192
269
237
257
213
222
194
228
225
231
224
231
260
225
195
176
221
277
281
189
213
171
165
175
165
270
248
264
114
245
201
181
225
145
256
224
218
250
250
219
206
214
215
279
221
332
212
317
190
221
220
235
221
230
164
242
233
223
305
287
261
234
297
258
182
171
287
239
220
246
210
287
166
260
334
191
231
220
219
246
248
216
221
237
238
207
242
220
288
213
277
237
206
181
254
233
264
279
193
184
199
204
210
194
258
256
245
267
218
194
219
337
320
167
211
283
211
213
114
228
235
176
216
307
184
174
192
249
273
206
246
268
237
221
284
320
311
174
270
159
296
205
186
205
183
271
300
205
158
219
255
196
183
185
194
216
392
292
285
223
217
267
286
184
240
231
202
242
176
260
330
209
263
188
248
228
242
219
207
175
140
175
203
128
225
243
222
239
208
245
159
237
273
229
228
233
166
192
220
257
260
309
248
274
274
206
200
187
275
250
182
260
243
262
327
242
130
276
210
197
229
204
226
236
182
232
267
192
228
235
232
208
213
224
151
245
208
286
256
263
225
220
277
231
245
230
181
170
171
250
216
182
208
184
261
327
145
198
199
234
270
262
179
246
280
306
232
186
208
208
257
203
201
229
224
200
256
218
281
181
309
213
216
200
276
217
355
213
232
278
234
192
185
292
220
321
220
152
205
296
176
193
257
236
204
283
155
228
156
250
263
189
254
222
241
219
234
164
226
196
226
189
223
219
237
239
196
175
216
173
233
114
165
252
287
171
245
218
114
210
307
170
199
214
167
252
215
238
191
252
229
193
202
270
173
193
207
216
251
225
168
219
152
198
201
288
181
219
288
203
181
210
170
214
235
295
114
247
273
200
235
210
213
221
220
146
242
248
290
258
272
151
270
154
252
185
171
281
173
207
282
181
244
336
201
209
126
285
169
187
189
176
243
200
263
285
192
275
149
193
236
204
257
289
252
243
226
253
270
266
274
193
248
197
263
213
244
287
171
290
232
287
225
207
140
246
181
200
281
273
221
177
234
209
366
208
190
202
237
293
217
282
204
251
219
210
296
206
239
114
227
203
229
219
182
192
139
250
206
233
283
267
237
221
293
225
232
238
209
219
261
250
245
241
202
231
190
241
191
217
234
282
188
281
188
114
290
305
260
233
193
293
200
195
253
145
250
158
250
207
215
220
211
224
221
213
242
274
222
263
279
139
295
208
178
219
194
207
235
264
273
212
265
223
220
256
248
191
250
192
292
174
232
152
183
191
225
139
243
274
240
224
260
179
151
317
205
270
272
267
270
276
193
211
235
231
241
159
189
288
218
243
221
199
180
106
182
198
248
160
276
310
178
315
256
205
226
186
178
259
204
241
212
240
174
232
195
262
256
272
234
288
208
190
266
207
282
359
207
272
159
285
236
253
234
223
164
222
265
203
169
114
219
203
160
158
208
266
267
227
246
236
302
214
229
257
114
282
229
235
126
158
194
165
270
189
304
256
175
198
247
285
245
207
216
205
193
152
331
328
299
215
225
276
180
263
265
206
285
253
255
265
268
139
310
249
260
204
250
339
252
233
241
173
283
229
185
193
295
235
242
186
299
144
238
173
241
265
264
221
282
198
263
252
192
281
232
178
249
220
184
216
287
285
212
219
164
267
250
257
243
157
273
245
265
230
241
223
181
165
248
253
202
262
218
154
212
296
233
201
149
218
224
245
193
229
195
223
287
231
206
260
246
255
230
183
229
257
274
196
221
202
259
179
219
290
152
247
198
275
255
195
194
342
254
274
274
214
242
239
210
154
198
231
304
227
220
253
254
173
222
181
213
236
178
320
256
255
251
325
239
192
208
272
169
362
220
264
178
211
148
258
116
187
197
195
189
234
178
220
287
277
161
239
233
238
271
293
155
114
260
193
241
267
257
278
261
213
290
278
248
191
207
192
269
270
239
218
200
246
256
288
170
191
160
269
224
299
205
210
198
171
357
189
180
200
278
216
292
294
232
168
185
239
276
189
188
271
246
164
187
240
217
179
246
184
160
203
253
181
208
238
246
206
258
244
234
221
233
225
205
227
247
270
188
233
146
240
156
212
256
209
192
285
176
196
196
204
274
219
244
165
285
185
161
309
234
237
288
164
199
269
280
192
215
177
273
196
189
233
204
287
175
211
192
297
174
258
204
144
163
149
200
249
267
236
220
258
162
301
247
208
114
241
178
271
229
199
304
309
217
281
279
255
189
170
243
295
282
250
227
114
345
189
203
299
249
262
196
251
192
176
184
237
200
271
218
184
283
213
250
276
204
214
202
255
319
316
223
238
248
233
225
182
219
235
234
178
271
244
181
247
222
282
304
158
303
184
170
233
191
199
209
232
247
233
267
236
304
192
202
319
160
239
214
178
256
173
253
227
223
256
171
241
185
262
267
307
216
164
236
280
215
283
204
189
179
280
204
228
235
256
257
216
180
206
160
196
272
161
222
204
285
255
251
213
211
205
187
257
283
174
235
166
198
227
277
198
174
269
252
250
194
217
222
274
184
161
213
233
276
176
242
211
156
114
169
258
347
285
211
263
156
215
198
178
195
259
247
255
262
278
203
234
264
211
229
257
196
130
279
217
254
193
189
254
258
175
253
303
210
254
256
249
114
222
256
262
252
159
146
171
168
219
216
224
204
198
197
230
230
166
126
309
247
274
380
179
144
211
235
235
283
233
198
296
221
178
226
259
266
207
266
194
267
225
178
174
220
202
197
231
114
139
298
279
305
246
210
186
108
250
169
222
295
229
207
126
261
233
240
217
324
219
219
261
256
223
313
182
204
174
210
229
181
198
169
290
209
179
233
258
178
272
213
214
157
250
161
279
272
133
203
296
189
164
275
196
253
203
156
238
183
231
242
242
338
211
235
250
256
239
203
248
250
261
201
128
229
114
223
170
248
285
218
200
222
266
198
203
236
121
221
114
202
249
278
162
247
185
221
276
297
267
242
207
229
146
146
245
214
205
247
331
181
159
210
196
226
247
208
241
263
262
315
207
225
195
186
207
220
270
266
234
280
164
198
187
237
245
242
217
233
281
160
222
158
247
241
266
253
243
161
179
208
192
206
202
155
221
203
195
259
264
165
218
206
178
212
288
195
263
240
206
269
226
212
198
214
258
235
190
235
170
197
216
254
285
208
233
198
363
178
156
236
195
238
303
238
165
232
250
226
154
230
230
183
267
114
200
208
188
192
186
369
306
247
212
172
190
259
185
200
253
216
240
214
251
246
188
277
254
233
296
178
277
284
276
301
270
198
313
252
152
312
175
173
265
205
289
272
168
229
265
237
288
174
300
257
255
273
206
175
196
192
274
336
267
186
161
262
276
114
250
225
254
199
203
260
161
277
173
199
254
272
252
258
292
288
268
182
267
157
209
241
150
183
211
261
161
278
216
218
222
236
280
230
253
243
161
245
194
267
187
202
222
219
185
272
260
215
217
278
274
260
175
210
164
256
285
234
213
232
209
199
221
203
225
231
130
195
182
215
220
222
209
199
271
282
193
225
198
278
236
234
247
250
297
304
206
245
314
215
240
247
175
207
249
305
268
260
229
197
215
229
233
198
208
251
294
211
208
203
213
226
252
249
185
217
269
245
239
227
238
257
207
209
205
236
208
247
162
200
244
194
236
269
213
177
323
193
275
247
235
144
170
261
259
223
147
259
186
259
247
178
214
270
311
246
187
167
264
263
284
254
278
116
255
304
215
248
224
198
246
224
264
197
217
218
305
259
203
235
256
249
156
211
266
228
278
156
170
322
202
214
214
241
258
276
210
274
256
177
190
163
238
278
287
126
200
249
160
246
334
218
263
260
206
210
170
130
231
251
179
229
228
218
193
175
163
228
215
231
277
108
225
242
203
235
245
251
277
203
152
246
241
298
274
255
249
311
211
276
160
227
211
199
223
253
235
201
167
209
277
219
269
239
223
183
211
218
199
326
158
252
232
191
287
248
260
186
234
201
209
173
180
152
220
232
233
155
263
200
146
274
212
232
312
248
227
201
271
236
223
114
222
195
205
194
267
237
227
185
259
195
254
253
270
251
217
249
274
183
234
152
193
238
198
231
278
294
186
236
243
239
247
149
300
175
192
302
209
213
129
201
244
244
177
263
198
251
202
197
305
165
306
208
265
247
335
252
188
292
287
178
211
304
258
195
194
157
195
256
192
214
177
223
154
213
193
232
256
169
239
230
206
239
193
201
210
300
227
166
204
173
192
247
281
173
286
233
235
225
254
267
202
266
298
186
251
302
189
274
208
174
186
256
212
280
194
211
281
227
193
224
198
270
316
144
276
251
243
269
161
232
283
303
241
277
226
260
322
161
292
270
255
258
202
306
218
250
199
207
260
235
240
257
232
188
175
184
227
287
200
234
222
144
194
208
193
253
185
257
236
230
256
192
314
258
241
214
222
271
229
256
204
188
187
223
211
272
250
214
219
234
214
306
201
224
208
192
288
156
219
272
242
216
227
148
280
253
195
277
181
197
162
264
263
208
172
133
186
214
167
233
195
315
199
204
217
231
248
205
185
301
249
147
229
213
258
205
224
170
224
177
248
209
227
256
270
208
232
116
324
264
215
284
170
161
137
179
251
220
214
225
239
203
285
227
149
266
293
236
265
272
209
235
207
233
290
220
294
249
229
266
260
245
184
199
244
349
246
192
203
196
185
234
235
234
247
114
290
151
270
199
232
241
185
233
202
261
227
170
219
221
200
294
175
274
126
262
261
205
209
243
198
240
234
245
266
139
236
211
218
244
222
178
200
221
257
271
206
272
258
213
258
253
254
227
254
235
205
290
157
199
296
198
247
151
233
228
239
234
237
257
217
244
210
227
257
204
209
224
216
210
229
226
214
224
256
281
265
200
231
216
233
317
253
219
196
230
256
288
238
195
250
183
198
200
285
207
152
263
238
319
198
287
217
236
341
209
243
221
263
277
226
170
261
175
244
310
213
190
235
279
248
233
271
179
261
253
183
210
249
178
152
275
140
246
157
178
168
192
181
238
201
139
223
167
212
216
207
218
212
185
201
263
255
297
218
225
251
290
240
323
338
223
173
256
174
222
182
170
207
334
189
235
175
198
227
373
317
269
220
153
176
211
234
208
232
262
182
173
222
220
225
206
223
255
283
206
266
161
216
114
233
182
203
186
175
251
297
215
188
288
187
269
209
141
204
349
285
274
194
205
184
250
205
237
208
261
202
228
219
259
315
256
247
256
245
180
273
278
314
197
218
296
225
272
170
183
158
264
173
248
158
172
249
220
114
266
218
246
199
289
299
235
228
293
257
221
156
273
199
253
237
177
262
208
253
299
299
230
223
233
178
267
162
219
259
267
204
249
189
194
258
221
176
239
236
176
170
245
233
260
211
170
294
307
235
207
357
180
179
225
187
267
262
201
276
156
208
242
292
277
296
192
196
149
286
216
258
275
200
224
224
193
174
213
243
246
275
250
279
203
271
209
272
214
228
177
271
227
205
187
199
248
240
233
191
223
215
220
210
205
221
240
181
209
297
301
204
213
188
244
250
256
194
226
229
222
224
257
156
164
293
230
215
181
262
235
170
114
226
182
207
208
208
198
252
174
274
322
269
219
214
229
263
208
170
197
221
220
169
228
174
260
233
296
253
242
228
262
184
235
198
234
248
206
321
197
235
217
252
173
189
257
298
274
229
194
284
219
229
238
228
198
195
187
308
187
200
240
243
236
189
162
283
166
248
274
273
222
297
265
231
263
271
204
215
300
279
264
280
267
265
191
247
241
281
245
202
243
260
227
165
179
248
202
214
291
160
239
318
184
304
201
155
188
220
237
338
174
253
214
232
218
299
244
293
216
240
260
197
281
256
214
305
252
288
178
217
174
219
192
229
196
221
114
170
228
246
259
208
211
215
311
126
206
167
259
225
220
284
227
243
116
195
219
210
205
245
140
285
226
269
202
139
272
238
224
228
297
228
161
210
173
217
320
114
235
270
251
186
235
256
240
116
177
276
160
165
221
170
179
158
293
256
236
174
304
219
199
225
264
160
265
179
249
170
220
254
185
114
258
212
248
279
257
228
161
263
217
209
198
249
204
251
207
319
215
237
191
223
281
211
175
233
238
267
265
207
175
240
259
166
250
198
212
298
263
208
183
285
223
239
175
174
267
276
262
210
179
210
234
159
269
280
220
211
230
234
229
201
198
247
202
228
234
178
322
258
285
252
156
229
249
220
212
193
184
251
196
265
218
327
245
244
225
168
126
223
251
187
225
209
177
301
184
162
266
198
206
157
208
213
225
237
294
282
253
223
189
276
237
114
146
280
308
227
257
270
174
254
184
290
179
234
161
226
205
256
227
294
251
212
238
246
246
198
152
259
258
245
152
313
254
155
257
284
246
272
178
178
172
246
283
241
198
169
165
244
234
178
133
203
198
298
242
166
351
280
272
178
197
191
232
222
351
313
207
273
175
272
206
152
179
282
185
256
223
141
240
246
200
225
213
216
168
169
228
219
215
185
185
152
306
220
215
276
250
268
201
239
258
211
219
227
254
229
179
248
284
254
202
204
240
230
233
193
229
139
261
189
166
213
222
238
232
226
244
295
215
221
217
195
230
201
227
264
250
185
226
208
191
145
227
202
167
250
277
216
285
184
300
191
197
290
245
304
195
265
223
163
253
186
243
319
229
230
191
247
273
247
181
255
285
180
214
235
236
239
243
237
244
247
202
248
200
211
235
218
308
247
228
187
176
285
239
145
310
180
190
198
238
265
311
274
216
219
225
174
226
265
198
143
256
181
165
106
281
194
171
247
200
151
347
244
253
228
262
171
264
218
225
297
236
243
215
188
173
226
174
296
230
219
265
260
176
242
235
217
183
175
151
221
337
221
220
266
211
229
261
248
288
177
180
220
257
281
178
148
196
194
234
196
285
280
186
294
252
178
293
192
255
305
160
215
218
226
195
259
263
204
155
200
213
220
229
273
215
253
323
206
182
202
203
216
219
160
289
285
168
223
262
279
139
252
303
306
219
116
248
221
200
236
269
156
204
220
248
193
186
286
227
187
227
220
194
178
297
157
262
288
203
271
265
130
288
292
229
231
249
217
286
371
231
163
175
231
203
174
247
181
144
250
217
257
114
180
193
250
174
207
209
256
211
197
261
238
234
212
248
290
405
273
201
171
222
241
179
212
201
232
291
227
178
146
236
251
172
182
265
211
198
281
212
183
209
208
178
201
218
255
170
220
265
169
270
222
234
237
173
236
197
216
144
161
239
301
235
301
186
249
306
206
262
160
175
114
193
197
229
187
148
306
256
198
114
277
164
281
139
235
270
204
273
180
253
177
245
208
254
247
179
296
200
223
229
240
243
200
210
189
238
223
201
301
276
196
235
167
189
185
251
222
221
170
179
219
234
239
156
217
296
296
205
198
242
285
256
166
305
168
229
237
257
247
255
257
239
160
176
244
272
277
209
272
206
186
307
260
221
182
253
238
203
183
218
319
231
272
237
180
285
229
251
244
180
231
229
260
224
261
253
212
203
215
233
175
303
261
256
277
195
157
169
247
190
223
256
257
220
211
311
180
221
247
219
236
149
280
160
285
219
161
261
185
170
114
152
269
178
248
253
180
282
192
272
184
212
282
235
236
208
204
246
264
276
235
289
286
217
322
203
221
310
282
172
177
161
320
300
271
214
220
312
274
236
259
216
291
184
181
248
245
259
331
288
265
217
198
166
209
262
178
232
201
310
215
209
203
178
155
212
214
161
256
227
191
223
243
250
114
184
227
224
212
202
181
229
224
173
258
189
237
205
192
219
177
227
261
192
273
200
254
221
227
218
293
260
211
222
199
263
213
218
267
235
272
246
202
114
238
235
232
241
293
340
203
240
267
211
200
202
198
198
341
199
240
193
264
201
226
160
270
219
232
324
244
206
254
262
245
237
198
304
200
114
192
236
192
190
235
240
248
283
274
217
190
236
245
264
200
191
235
219
256
149
269
276
270
196
243
190
250
316
177
223
272
274
227
220
227
148
164
260
245
231
243
250
222
217
148
183
144
175
191
230
121
216
149
174
230
285
196
225
278
197
200
270
220
238
231
279
235
196
237
271
210
248
139
229
205
294
202
271
114
256
262
250
206
275
226
237
239
219
249
207
234
227
180
170
295
258
345
224
175
206
274
216
211
180
155
245
280
218
210
265
227
198
231
184
223
178
169
210
209
233
231
272
250
223
226
199
227
188
221
246
200
167
229
246
168
228
168
209
305
290
255
192
329
215
204
223
224
252
193
266
256
274
184
218
194
176
296
251
232
254
216
220
207
255
206
152
226
128
271
224
222
227
190
167
242
181
158
202
289
238
201
178
196
252
183
258
228
184
208
258
224
257
271
166
200
233
229
199
249
156
203
114
246
161
234
257
207
201
287
187
280
210
211
186
197
175
205
289
259
284
184
195
191
156
170
197
164
213
261
244
296
218
168
277
274
243
234
146
229
220
173
198
363
281
170
169
241
274
231
233
162
272
261
209
209
126
298
240
232
302
171
232
283
160
214
200
191
246
304
155
256
274
218
293
200
199
215
208
222
243
198
246
207
218
277
271
279
223
292
192
263
175
217
242
212
194
133
184
250
283
222
250
255
167
222
198
212
192
121
215
270
181
264
282
223
224
114
217
306
237
252
251
240
224
227
157
253
309
241
178
291
221
215
249
271
156
178
165
206
274
229
266
237
243
282
159
193
271
200
217
243
180
269
281
298
259
196
156
312
179
232
172
186
233
173
232
259
252
256
229
215
192
229
192
250
219
186
213
152
203
235
276
238
215
246
212
181
292
264
257
173
214
300
202
252
160
328
173
186
205
235
188
219
230
106
202
231
274
183
224
202
179
174
267
219
259
158
243
248
230
231
144
275
277
199
251
230
268
211
246
215
191
284
286
266
193
295
208
243
195
203
233
213
177
187
211
243
179
220
200
252
254
244
268
221
193
282
193
170
242
200
188
215
246
194
205
200
217
286
243
198
187
246
267
133
274
246
202
232
222
214
200
280
158
126
183
240
278
178
211
253
218
156
188
289
209
206
188
228
182
222
250
184
223
226
205
215
152
254
151
234
290
258
248
238
207
335
193
204
229
254
192
251
211
277
181
235
161
184
252
215
351
297
286
246
217
260
146
244
263
160
228
287
248
218
288
200
175
216
202
234
178
259
232
223
225
284
237
174
207
145
227
273
160
158
203
224
297
216
201
215
198
208
226
166
165
254
203
303
197
292
203
192
236
203
246
181
223
203
241
221
171
269
188
114
191
213
260
225
176
239
219
201
250
283
152
273
229
172
229
193
156
165
291
169
182
228
201
308
139
198
272
213
260
211
255
222
152
205
260
203
275
272
183
266
296
269
254
191
157
208
192
192
196
352
292
236
193
197
162
219
181
231
178
146
241
205
271
201
208
199
231
249
236
268
229
287
213
196
278
274
195
141
188
266
282
222
211
192
234
258
254
289
235
187
234
151
253
212
234
169
239
162
184
188
162
190
208
261
152
296
194
261
114
238
203
168
180
177
195
231
175
174
239
250
189
254
233
219
174
181
206
352
237
207
231
165
157
243
192
253
154
201
246
175
209
272
214
254
268
229
206
215
192
228
237
293
193
181
158
276
235
240
226
206
236
108
230
297
190
218
170
233
228
173
211
266
291
237
271
207
247
152
193
169
304
144
203
201
214
274
290
198
229
227
174
279
170
250
206
204
316
174
212
220
160
286
215
277
188
218
346
197
173
214
197
318
200
208
238
277
264
254
336
303
213
240
208
260
208
155
226
202
257
214
170
227
316
339
198
219
302
263
184
238
229
252
255
209
178
273
259
250
227
241
260
133
334
280
243
203
173
255
208
296
231
139
197
177
254
205
191
304
310
198
263
353
208
172
213
260
251
218
210
246
275
330
160
226
192
269
256
218
197
206
272
215
257
250
168
220
177
391
160
162
220
218
139
267
235
159
228
214
311
284
245
276
205
177
154
211
238
239
235
243
208
260
207
210
237
213
247
228
186
181
192
205
240
249
220
193
306
218
250
207
219
268
232
160
208
191
162
224
233
227
258
264
301
215
194
204
144
215
327
248
256
225
249
219
179
286
156
266
265
303
203
176
224
241
242
243
239
276
271
241
194
224
137
220
201
235
218
321
146
281
208
247
270
224
270
197
271
152
213
231
185
214
233
170
264
240
238
243
196
183
269
252
271
227
219
175
223
235
172
276
193
173
180
207
228
215
291
306
228
268
248
244
176
178
275
248
276
266
323
221
178
219
223
249
244
180
170
234
108
215
227
299
234
224
226
268
150
281
252
174
233
289
286
269
249
228
195
240
195
225
265
139
235
177
196
306
264
245
258
264
168
164
200
192
267
212
235
241
236
300
200
320
155
245
211
207
221
197
324
177
186
222
198
213
234
175
289
267
246
204
256
181
254
213
195
201
243
181
188
212
287
129
194
300
200
247
230
175
203
238
126
240
296
145
239
280
223
272
243
224
201
226
229
333
221
192
255
181
268
219
293
204
328
248
227
258
148
260
255
216
178
210
267
199
196
221
209
272
260
192
201
233
253
191
188
152
297
251
180
170
184
186
246
114
160
222
184
243
234
263
227
186
187
356
227
286
231
249
234
129
114
206
194
198
239
198
257
207
198
240
173
261
142
213
225
215
205
225
223
252
258
211
284
176
200
215
200
265
214
219
180
229
227
215
259
200
265
126
302
148
244
128
340
253
234
180
222
176
179
237
225
194
225
276
275
322
247
236
241
251
238
185
233
290
266
183
251
202
209
234
246
175
235
213
253
225
200
184
257
255
191
273
225
231
192
217
225
220
191
278
261
278
222
297
283
172
226
233
252
184
231
229
165
265
211
230
195
196
285
122
261
174
152
181
214
243
227
293
232
255
283
257
180
202
220
310
240
204
260
174
161
121
126
272
207
224
222
192
209
236
116
231
303
164
213
264
237
325
178
198
218
183
235
158
229
231
236
255
242
192
251
177
348
212
205
254
253
241
148
139
169
189
244
239
193
187
309
264
170
220
251
227
158
230
188
226
184
202
257
198
212
233
230
264
317
245
255
230
188
174
198
168
216
183
151
332
198
171
175
283
167
213
290
259
261
276
222
242
219
249
152
139
189
194
238
265
144
258
208
293
257
215
261
214
210
243
219
242
287
176
196
213
275
181
290
259
262
221
250
194
240
201
114
288
182
246
158
174
267
228
343
196
245
258
281
219
264
199
219
191
193
233
293
294
194
201
239
295
214
108
256
270
254
243
214
246
273
207
146
235
176
244
247
266
290
236
197
258
231
192
226
219
186
221
221
221
174
180
275
164
195
250
280
311
290
224
247
260
203
202
273
207
227
173
221
160
258
237
188
271
212
227
191
211
251
251
222
233
170
175
225
201
269
160
212
234
180
197
225
235
192
147
190
269
252
205
185
282
284
219
230
167
164
192
190
279
281
265
180
239
268
223
275
269
268
171
202
218
198
292
255
228
262
114
146
278
330
284
250
172
168
261
222
200
275
210
358
139
202
233
251
243
278
214
179
265
222
240
216
126
203
208
242
225
230
202
189
203
212
255
178
203
173
178
231
244
170
229
196
229
197
108
188
211
337
272
248
181
214
265
319
189
228
214
207
168
214
197
220
266
214
247
184
204
196
203
250
290
265
260
202
253
326
208
229
232
272
179
164
241
263
273
194
259
291
279
235
203
258
213
302
347
180
181
245
191
239
158
129
229
203
207
212
165
305
235
207
268
203
299
244
274
249
267
194
272
196
170
266
228
203
201
144
174
304
252
234
244
222
232
256
229
174
213
280
179
177
183
258
240
220
170
217
255
232
261
244
246
248
280
251
190
195
221
184
251
273
275
219
237
224
247
245
171
267
286
292
279
246
192
284
305
203
201
167
268
304
228
156
214
228
235
168
263
161
403
159
225
302
114
208
173
215
285
182
237
332
204
173
245
210
196
222
221
281
205
193
214
243
160
203
207
201
184
256
178
193
173
165
177
194
223
182
209
246
292
236
194
246
259
133
207
222
213
228
308
181
183
212
289
164
106
185
186
201
175
269
288
193
261
309
267
334
198
250
238
175
214
160
279
253
188
267
270
194
282
173
248
273
291
323
200
260
171
267
233
209
261
235
154
239
312
173
283
216
219
174
196
178
147
284
251
220
164
184
253
324
244
177
282
175
248
205
157
169
237
203
313
226
220
198
247
274
186
178
218
175
235
210
265
253
218
200
219
233
251
195
251
249
203
269
270
205
202
168
239
246
255
162
210
257
177
114
227
282
224
185
202
213
209
155
208
253
190
249
227
297
234
239
253
138
212
196
187
243
227
258
236
170
294
221
247
209
280
185
257
280
268
233
259
241
230
191
215
274
209
175
184
221
226
290
221
237
235
232
185
139
212
298
173
249
201
215
231
144
233
216
170
221
285
284
222
213
171
191
209
192
231
160
276
274
189
196
174
114
252
324
293
283
222
154
175
250
165
176
167
256
240
186
192
180
229
164
258
241
299
239
180
166
261
253
233
180
152
223
289
186
186
263
218
191
156
165
211
199
212
218
305
253
222
253
202
198
169
264
223
208
261
304
197
251
246
252
258
250
144
195
248
201
220
244
233
244
147
369
325
234
235
255
235
202
315
333
198
225
377
159
204
251
199
206
234
209
243
140
221
215
114
282
213
241
252
204
351
201
198
276
234
252
198
215
184
270
231
338
149
186
247
193
244
287
225
228
233
166
193
114
154
217
251
276
192
195
236
235
237
192
272
199
275
251
276
257
221
201
201
262
232
261
170
278
221
227
210
236
238
263
172
237
180
191
173
196
227
220
206
273
247
281
232
233
195
200
223
254
191
146
256
187
306
248
233
319
278
236
288
267
258
232
219
180
140
148
153
236
216
224
145
250
195
270
169
146
204
168
312
139
195
169
248
222
231
201
305
221
157
269
253
234
126
191
213
240
255
179
199
288
230
184
177
207
176
290
260
186
226
253
189
219
215
144
246
224
236
207
176
264
247
214
236
284
260
190
315
263
222
225
302
301
225
152
223
193
242
217
238
178
254
161
198
192
228
230
192
246
257
309
185
230
245
245
273
214
244
240
197
215
275
230
144
230
175
210
221
240
204
242
195
251
168
175
237
243
273
208
190
268
245
235
289
275
218
196
271
222
275
213
360
194
183
249
181
114
247
263
233
166
237
236
274
235
293
157
180
249
311
279
305
227
170
316
301
166
220
174
245
169
199
211
193
236
218
176
215
322
248
242
174
201
243
263
206
219
175
259
211
182
294
187
192
319
243
243
257
181
212
272
163
238
171
223
294
273
301
191
295
148
322
210
263
195
325
334
230
247
232
251
227
224
258
183
225
226
261
227
282
206
173
192
224
229
278
278
268
203
218
233
169
196
309
210
244
174
240
186
264
225
166
187
251
191
308
262
196
240
173
257
267
279
234
254
253
176
261
270
185
259
231
242
238
292
268
262
203
247
209
303
187
233
168
273
297
222
290
218
228
216
192
226
209
295
195
230
235
114
264
130
315
197
184
376
349
227
273
232
199
199
311
249
233
232
289
134
164
203
225
215
214
199
267
184
202
220
177
201
220
148
243
216
292
196
246
211
217
209
151
258
148
267
202
215
174
205
206
218
192
240
233
301
195
271
258
222
145
216
267
240
249
200
173
182
250
229
209
175
246
168
126
170
186
199
304
192
215
218
223
282
269
253
281
183
248
234
214
288
305
229
211
246
250
186
184
262
267
285
211
214
235
288
180
205
234
302
186
151
222
233
233
227
218
169
214
223
128
223
192
163
235
179
245
215
304
320
203
189
246
183
249
239
251
273
184
269
108
219
224
268
241
200
195
196
217
184
290
227
201
250
206
257
205
295
207
296
308
208
289
237
250
197
149
192
167
191
224
219
321
155
188
161
230
274
263
229
206
166
183
308
194
200
351
225
162
320
247
205
289
145
168
191
258
161
222
300
171
219
262
184
169
146
145
208
183
185
198
213
231
151
250
197
139
218
172
251
244
255
251
219
158
191
215
209
244
272
175
215
225
225
234
312
144
258
179
211
170
227
156
245
237
279
231
224
261
237
226
174
255
203
170
198
158
180
284
210
238
258
281
294
220
179
209
211
321
185
334
304
219
261
178
199
206
173
208
214
253
249
178
249
180
189
205
220
193
196
220
184
209
243
270
194
161
256
269
222
270
281
235
212
246
328
213
258
114
178
151
201
218
267
262
316
219
177
252
281
225
233
258
194
207
232
227
221
255
182
241
213
258
219
296
206
221
265
212
170
232
286
174
271
275
218
247
212
175
181
235
315
294
212
187
232
198
253
260
186
238
274
222
233
193
194
209
251
190
181
176
180
318
250
209
338
176
180
145
174
182
195
232
114
179
260
163
191
252
168
244
214
188
230
229
384
198
225
225
168
255
251
259
192
265
209
240
227
241
202
156
230
224
203
250
218
232
190
200
223
298
232
184
233
241
218
201
144
203
239
212
250
230
218
203
223
116
199
191
252
207
215
166
300
226
236
214
251
230
275
239
253
220
214
170
213
184
231
191
253
262
207
278
178
208
172
227
234
264
229
216
235
253
209
250
114
297
250
170
257
166
146
255
285
280
254
193
116
188
257
217
200
206
255
263
201
273
247
197
216
262
192
223
296
191
241
240
193
294
312
255
172
200
196
203
270
201
190
263
137
164
255
305
171
262
209
236
154
233
271
276
255
270
248
250
201
200
205
247
196
238
197
232
200
270
245
197
169
239
191
261
253
210
134
181
257
205
243
244
202
190
224
224
171
164
194
275
158
259
209
168
152
284
250
242
245
237
204
270
266
195
206
219
301
194
188
201
237
140
356
276
299
334
160
213
198
331
234
219
255
315
210
276
211
215
234
185
259
179
184
184
195
198
199
237
231
196
227
192
244
194
243
200
233
227
232
154
262
264
158
190
233
242
249
220
288
254
300
274
296
316
284
238
277
259
225
199
192
272
269
264
146
196
181
228
287
162
219
197
277
261
267
280
174
192
271
180
254
249
273
202
230
193
245
169
193
192
177
190
274
307
223
208
215
192
197
184
157
187
233
226
180
205
133
299
170
246
195
258
315
234
293
255
201
276
241
188
250
237
195
231
222
116
204
250
230
201
238
203
271
240
173
229
230
213
228
174
236
267
229
188
240
233
203
222
338
184
156
175
253
246
244
203
241
272
182
244
236
233
255
230
263
283
212
193
179
157
170
274
298
242
256
158
169
190
146
238
231
205
196
264
275
198
255
203
225
195
189
187
227
204
308
259
230
242
188
234
242
284
210
148
161
258
228
245
191
223
242
232
293
247
284
282
225
273
264
180
265
192
318
214
222
198
163
219
304
183
205
201
259
274
243
232
264
271
194
114
215
179
202
234
201
203
149
265
218
211
258
209
227
244
214
208
215
273
255
175
220
215
212
221
205
211
221
130
306
233
233
236
249
221
208
156
141
126
219
195
205
207
204
214
256
235
267
213
258
293
195
208
222
225
200
219
225
207
231
211
209
305
209
222
191
211
189
222
258
277
218
202
303
189
285
234
202
214
175
221
191
255
228
262
245
248
290
197
252
208
347
272
225
255
234
200
148
231
216
192
249
219
209
255
188
229
276
246
156
267
193
220
212
247
226
237
146
273
186
300
239
194
173
227
165
199
221
281
224
213
307
252
222
229
254
212
287
270
274
277
270
215
249
232
237
201
219
206
179
239
177
250
238
277
180
191
258
227
218
204
212
252
224
276
204
149
203
236
315
146
221
164
222
239
172
222
237
295
192
285
211
228
179
285
199
139
170
176
238
273
179
162
223
255
247
207
203
282
197
126
219
247
299
189
178
204
216
226
261
230
301
275
259
188
235
286
283
175
170
151
262
212
294
184
211
173
121
155
176
296
181
306
227
228
182
178
285
194
207
260
234
178
214
239
342
193
233
295
351
202
214
252
287
223
252
221
183
192
175
255
226
158
163
159
197
192
129
256
254
262
235
177
242
181
269
174
233
199
201
235
209
171
200
288
198
237
230
306
210
249
148
274
211
229
241
178
207
246
227
183
208
190
237
200
205
255
245
223
247
240
233
174
198
242
285
178
221
211
201
209
205
232
232
266
237
199
179
178
251
373
239
238
226
297
246
309
211
294
253
181
139
297
247
204
213
203
268
190
222
264
260
265
315
258
121
211
227
256
134
200
279
189
190
179
219
210
239
186
207
256
275
301
186
207
265
279
191
231
174
253
171
262
195
258
256
297
207
261
126
262
246
309
193
279
197
203
286
227
277
238
228
226
264
271
161
205
170
258
213
198
251
234
218
222
191
160
183
180
219
218
312
184
215
114
233
215
190
274
201
279
253
218
180
149
282
269
171
311
198
167
279
146
209
249
205
271
178
227
261
219
204
297
187
273
163
338
173
241
166
230
250
244
303
161
222
300
277
248
274
175
297
276
233
177
309
200
114
234
229
226
283
198
268
213
229
145
264
222
227
192
155
194
201
233
242
108
211
223
271
274
219
274
192
277
279
180
250
173
229
191
219
247
230
264
356
194
174
216
289
175
279
226
192
169
277
270
241
160
324
237
176
291
157
198
248
243
239
289
181
261
230
242
246
306
232
297
265
174
295
241
263
197
258
156
184
228
255
197
295
256
186
181
218
157
237
228
246
234
217
108
292
276
226
219
219
268
177
252
163
253
266
266
290
339
287
287
253
268
258
162
302
263
301
237
284
237
253
266
255
270
162
248
301
252
194
323
194
219
200
276
181
217
212
165
172
208
231
194
213
229
177
211
226
256
275
216
227
171
210
179
183
265
203
173
170
244
180
148
270
243
207
198
257
249
225
229
172
244
174
217
216
255
225
218
156
156
306
193
214
191
220
285
228
228
247
146
218
300
202
241
251
151
170
229
210
197
221
168
178
287
265
315
230
168
151
232
268
205
188
182
217
303
170
257
220
221
273
139
172
245
312
244
214
178
140
211
214
222
126
223
221
181
271
260
274
160
205
291
270
243
242
208
237
175
193
245
189
269
206
160
223
220
179
228
289
270
219
223
257
209
247
177
231
207
211
251
167
130
233
237
192
160
238
220
258
253
205
137
265
255
296
228
233
225
183
225
206
212
195
218
184
161
169
208
174
198
230
202
225
216
206
263
211
221
255
248
229
196
196
216
259
164
190
239
248
207
212
327
218
223
237
159
246
251
236
213
254
233
227
189
231
191
304
190
233
151
230
304
182
213
289
238
217
200
235
258
219
260
229
214
175
161
332
225
268
208
244
278
221
282
240
208
292
178
193
200
241
207
287
266
189
188
237
182
246
252
203
184
294
203
180
229
193
198
228
246
256
149
306
208
263
214
276
212
114
277
278
254
266
236
225
218
281
297
271
252
218
227
204
318
178
246
191
160
245
201
201
191
209
292
262
138
225
246
249
207
266
245
233
262
218
280
232
203
224
248
241
175
268
152
190
239
228
175
126
191
172
159
187
156
166
190
261
259
224
158
209
219
213
193
195
211
221
372
126
227
181
256
202
150
277
178
156
156
198
223
247
266
247
197
242
260
320
248
171
225
258
139
268
227
162
114
249
185
283
171
308
222
193
194
247
306
208
197
192
285
193
202
178
240
275
234
179
243
185
230
218
221
221
279
177
158
245
232
266
177
184
212
257
180
241
239
206
226
209
228
289
146
265
213
253
114
156
180
282
158
299
224
208
255
273
229
278
270
171
261
255
285
361
273
269
249
179
210
271
238
254
303
208
241
178
227
288
176
212
223
216
163
266
288
222
151
232
195
242
129
193
238
222
158
215
204
180
198
198
228
201
203
225
181
145
249
173
277
250
237
252
345
251
285
181
237
280
144
251
191
244
191
211
213
219
302
250
227
213
230
151
235
308
214
145
205
114
297
181
306
170
178
204
243
239
189
305
270
183
252
213
215
160
264
212
198
225
255
218
230
231
171
195
261
183
283
195
218
187
219
236
240
188
252
262
202
175
157
238
208
260
191
209
230
264
229
206
258
206
240
236
241
235
190
284
259
291
213
199
296
331
212
156
250
175
134
195
255
279
224
198
274
242
165
269
253
292
207
231
253
237
289
114
231
253
178
194
202
278
260
181
319
203
234
196
116
166
205
152
192
173
186
257
186
184
211
154
252
154
290
253
198
222
206
250
163
250
198
231
218
170
236
171
159
239
179
189
251
185
199
208
198
262
256
243
247
252
231
231
236
194
191
262
290
226
238
157
114
258
266
240
184
179
209
240
180
237
250
229
218
186
209
178
251
200
262
259
206
257
170
219
310
201
235
194
126
228
164
308
269
232
265
182
185
235
266
256
212
196
190
176
139
233
208
161
211
200
230
184
211
215
219
256
293
166
194
184
175
270
199
206
216
190
218
182
222
237
199
203
219
293
220
272
207
244
285
235
212
233
217
203
174
256
229
207
224
210
184
149
262
114
199
295
190
178
262
325
198
306
200
149
211
191
139
354
225
197
228
303
184
274
173
248
250
277
184
250
199
261
251
213
155
187
175
212
210
301
146
298
251
282
145
232
184
250
249
245
228
179
226
174
173
259
170
207
225
198
245
247
207
266
155
211
274
209
226
256
261
195
234
203
173
223
238
215
186
202
241
248
265
219
177
178
211
233
229
231
181
297
175
235
241
218
203
218
263
222
230
355
284
213
197
254
265
244
214
148
258
255
217
260
244
195
311
291
287
192
179
324
285
277
206
212
182
269
181
185
215
160
372
189
205
181
216
166
205
152
252
265
241
250
198
223
148
194
305
201
278
274
188
289
133
193
230
261
227
169
156
261
210
149
216
255
228
233
207
263
181
202
219
259
218
108
255
202
233
231
242
202
203
209
186
223
210
212
233
248
257
229
199
288
263
232
263
239
188
210
235
227
225
205
284
206
274
156
219
261
246
126
196
358
285
274
204
256
197
185
313
220
114
322
229
200
303
306
257
208
215
302
181
271
229
224
201
256
219
202
204
265
154
244
178
211
250
276
235
229
168
212
114
165
178
196
237
232
248
267
255
191
114
183
144
251
159
165
195
258
194
139
203
240
192
249
227
246
225
282
285
129
185
187
187
179
199
224
250
218
246
330
262
197
289
283
290
237
191
243
242
210
191
158
211
214
219
219
225
244
229
256
212
181
195
226
181
183
114
265
244
220
283
170
160
291
291
196
181
245
237
168
184
257
195
247
180
257
180
187
254
253
242
196
234
235
228
229
166
232
280
253
274
211
190
188
324
156
248
222
307
274
210
210
183
286
239
244
241
194
166
259
254
270
133
206
233
253
203
241
195
250
175
277
247
244
269
237
238
245
276
194
230
220
182
216
206
184
284
171
291
126
238
130
235
265
229
261
237
203
282
188
176
300
200
191
146
130
183
162
249
183
195
160
254
176
173
286
204
249
302
160
198
203
253
192
218
241
173
244
238
174
233
245
277
217
198
318
230
213
269
263
254
220
209
248
173
214
246
283
305
214
293
227
227
236
281
203
220
168
178
253
243
255
197
180
190
247
219
197
208
202
178
196
211
208
271
191
177
272
270
114
231
217
252
224
206
344
141
222
223
227
160
267
199
247
146
260
180
192
198
251
225
218
174
216
198
179
224
205
234
242
275
215
202
257
285
283
170
202
209
286
237
263
203
249
263
195
209
233
260
212
192
222
233
209
327
261
211
164
205
158
213
244
179
244
217
229
165
196
296
313
264
178
274
239
220
231
203
232
235
211
271
217
238
151
215
190
254
288
245
173
243
177
180
208
278
255
204
193
262
245
303
225
279
213
222
282
277
225
221
197
196
230
213
172
260
162
279
300
197
238
238
178
194
116
178
184
274
214
175
196
264
214
278
312
217
248
214
181
255
252
180
300
292
271
114
215
314
201
234
241
252
156
177
176
226
272
236
276
168
262
241
237
192
251
214
241
139
186
219
270
234
139
251
240
177
241
196
196
185
205
203
265
180
221
213
242
402
198
185
209
209
152
219
174
160
277
285
249
278
224
209
262
295
285
202
236
248
357
183
258
249
189
240
157
181
186
222
208
114
274
211
203
318
263
194
211
190
263
215
248
337
195
108
265
260
227
158
213
215
251
114
179
233
227
261
283
236
241
190
264
208
229
195
283
170
267
165
249
195
201
175
206
173
267
247
243
191
272
262
206
224
221
192
215
185
242
157
235
218
236
161
289
174
162
237
254
301
201
277
114
225
233
189
193
176
257
241
256
232
240
193
197
276
183
153
154
207
213
208
149
156
272
207
245
151
308
241
222
218
259
210
216
234
217
211
147
160
187
190
154
188
207
220
222
189
189
309
286
260
226
236
259
179
207
252
222
247
184
254
240
255
238
219
176
251
216
182
215
228
273
277
258
196
200
175
151
239
238
164
198
239
205
129
264
233
256
209
254
182
233
194
270
205
184
234
114
169
258
164
256
254
210
161
148
207
203
218
208
213
264
278
129
271
200
290
213
211
235
254
235
251
198
213
246
160
215
228
192
274
208
269
228
214
229
203
216
177
205
235
275
187
304
307
270
184
170
240
229
278
191
175
265
231
243
257
232
161
284
249
192
337
181
265
229
248
252
201
171
221
192
215
211
293
218
245
283
325
178
216
181
218
300
214
354
276
265
201
234
259
185
175
184
255
184
224
318
267
194
228
199
172
342
141
173
126
156
180
220
229
229
209
253
243
193
267
198
214
285
202
240
183
225
233
228
203
309
192
169
149
238
165
218
185
207
210
248
264
194
284
161
306
221
219
195
289
213
193
216
212
321
146
249
228
219
220
292
174
213
165
195
204
231
232
227
200
278
215
280
170
130
336
182
210
274
309
204
230
223
231
201
235
193
216
327
114
319
233
191
245
318
181
151
215
243
276
192
243
137
235
211
246
200
208
266
252
210
181
213
242
170
234
175
226
177
170
160
108
240
282
255
199
231
185
299
223
285
259
167
191
228
206
189
175
247
263
215
202
261
114
211
207
295
257
206
181
212
296
241
198
236
251
178
270
175
194
222
151
250
255
185
182
263
202
214
255
177
221
281
222
301
151
114
227
181
219
290
236
200
220
179
184
199
227
238
244
295
285
292
223
229
167
228
234
194
277
310
188
186
238
140
261
307
255
219
195
220
202
213
174
269
264
187
237
247
239
250
267
191
194
245
232
214
266
221
220
267
248
187
305
256
243
195
273
306
262
274
262
286
173
146
208
212
261
232
135
156
237
214
272
114
218
266
231
219
276
173
181
237
215
260
205
306
157
157
212
184
194
161
188
152
176
176
216
295
206
214
244
201
253
149
236
220
221
256
259
158
251
239
208
308
251
291
210
171
241
235
165
215
197
228
178
223
227
173
211
184
276
241
202
145
170
184
126
297
299
244
184
214
234
264
233
159
148
214
246
254
230
193
257
244
339
208
166
191
249
214
233
177
348
185
302
279
194
215
156
207
232
223
180
198
234
255
205
240
243
268
186
184
284
165
241
243
126
152
154
228
242
173
283
188
244
298
299
270
147
318
269
284
161
170
180
222
227
269
190
240
221
237
219
172
195
256
246
161
198
153
263
254
250
209
243
227
214
268
200
300
175
198
262
205
330
203
235
229
209
245
229
235
114
261
204
243
137
361
173
167
238
193
158
247
231
261
290
210
230
201
234
214
235
205
290
211
286
310
145
258
181
184
266
287
212
218
252
230
247
260
294
265
175
232
201
195
206
273
188
212
196
190
183
228
243
197
220
225
239
214
239
223
255
289
295
195
233
257
249
255
236
245
246
216
229
187
238
265
228
196
130
269
215
249
230
263
258
114
194
236
210
251
189
196
282
200
237
204
166
190
200
175
249
218
265
235
210
231
241
290
181
258
236
243
173
177
203
290
213
224
219
196
223
114
218
250
196
193
263
284
239
244
194
252
218
165
207
191
251
240
226
335
194
233
230
300
274
212
233
144
285
243
208
298
230
258
214
249
198
181
201
195
238
240
311
258
203
292
242
191
197
239
190
250
170
223
197
197
167
242
214
114
187
209
208
298
278
160
227
270
317
221
227
246
159
266
271
236
324
179
267
203
258
224
282
245
269
164
200
114
218
200
193
225
211
245
219
237
187
222
228
175
204
236
264
226
168
155
231
181
335
186
174
195
258
282
269
171
268
262
260
213
163
207
223
294
184
167
225
260
201
206
214
192
213
236
203
148
273
192
183
256
175
280
185
248
232
234
167
225
242
305
238
246
254
262
197
280
231
243
230
191
149
206
245
192
192
184
321
211
278
266
148
213
161
301
275
204
212
221
203
208
281
236
198
139
228
241
226
168
287
333
245
172
221
220
178
218
210
200
259
170
232
234
254
275
161
309
170
268
205
157
187
156
207
221
227
148
154
178
227
216
171
122
277
187
175
225
139
256
231
224
190
318
214
271
235
246
257
197
159
156
224
248
154
156
257
240
289
276
258
272
247
270
180
195
311
231
266
208
264
250
241
178
225
161
262
181
133
187
197
198
245
145
223
195
250
217
174
205
195
318
219
276
254
245
203
246
197
191
310
129
210
271
284
209
319
158
236
126
160
172
233
327
225
129
255
198
200
169
173
192
232
264
160
290
264
229
178
230
187
273
238
160
239
215
244
326
245
282
284
161
185
200
324
207
212
173
243
194
270
207
225
231
226
202
126
282
323
247
171
220
245
214
236
233
281
190
242
225
215
192
184
231
229
168
249
267
200
269
178
205
259
253
181
282
222
201
203
233
247
170
271
192
234
285
220
225
286
206
198
243
213
181
156
244
239
258
263
212
122
233
215
230
272
157
217
208
212
260
194
275
237
130
328
257
197
235
178
232
226
210
235
271
197
271
248
183
271
250
223
195
180
200
185
211
145
202
248
175
301
213
231
266
147
146
212
207
262
221
178
146
247
220
238
253
219
187
222
202
210
263
199
289
114
256
236
343
182
263
198
251
191
267
297
270
205
233
170
188
152
236
290
202
286
114
261
270
224
262
199
237
215
193
342
251
114
285
290
297
246
243
286
245
219
161
224
243
203
145
273
208
222
144
252
260
207
194
243
250
287
196
154
163
250
213
323
234
214
155
248
198
233
311
241
248
200
219
192
240
213
188
221
207
291
265
243
178
173
219
273
161
209
247
213
309
234
221
198
167
192
265
146
197
151
223
284
247
252
225
170
246
208
286
168
247
175
237
201
183
151
229
268
372
174
246
199
298
265
165
246
281
238
253
213
275
238
311
246
205
258
176
218
175
282
211
175
238
179
293
158
236
286
202
230
242
234
202
218
241
169
232
243
233
233
198
236
223
214
227
235
263
197
229
205
228
178
156
206
198
197
186
229
225
244
317
168
211
266
238
192
218
234
216
237
252
273
246
207
294
158
177
244
245
243
211
192
190
182
193
200
230
230
146
215
237
294
251
207
304
254
220
271
288
206
223
160
263
178
248
114
228
178
274
230
271
262
212
209
241
175
246
262
146
253
243
254
306
237
219
217
229
255
206
197
206
174
181
299
262
216
146
149
213
208
209
214
228
165
235
203
251
247
221
243
178
170
247
230
195
234
231
347
194
158
286
200
212
139
241
211
214
170
240
197
240
240
187
222
302
200
236
311
265
228
303
157
245
294
265
232
181
220
271
211
212
263
266
180
269
214
215
213
243
155
153
220
223
316
182
219
159
233
223
228
251
181
244
221
240
310
217
170
171
171
229
251
245
251
269
238
288
220
252
217
195
166
246
180
114
260
162
216
225
260
225
189
301
243
152
260
166
149
283
248
235
217
266
287
282
220
232
278
328
215
276
250
207
192
211
214
212
311
238
274
143
273
288
252
235
218
238
237
148
218
241
265
211
231
191
265
211
208
196
262
160
241
139
217
299
191
148
237
290
282
187
249
262
151
247
253
251
166
244
215
263
207
252
182
182
294
237
161
255
233
208
188
287
212
221
207
182
208
247
181
271
162
270
220
280
268
176
211
201
216
252
213
178
272
242
187
202
270
199
189
305
187
207
279
177
186
192
277
295
165
291
263
250
302
290
309
284
114
114
217
185
249
311
229
173
240
181
162
183
340
240
200
151
226
249
152
197
229
214
267
200
202
205
197
242
217
253
258
184
204
215
309
248
203
237
270
225
200
159
165
257
192
206
239
207
255
231
218
164
242
234
152
160
197
216
219
257
217
256
186
309
267
229
234
183
261
253
244
289
227
175
243
229
181
255
236
228
226
229
165
220
160
199
149
201
189
296
288
217
213
217
337
193
170
270
238
223
253
218
173
191
202
233
316
129
223
248
275
239
225
308
240
241
116
243
214
229
170
211
283
205
202
303
241
287
249
193
260
162
179
207
224
267
208
216
287
245
272
204
176
258
260
272
293
198
206
219
296
270
267
175
224
156
261
195
205
212
195
189
184
221
189
185
253
194
178
204
230
200
212
147
270
231
231
205
181
160
184
232
310
299
139
213
255
255
207
188
126
251
220
225
312
236
151
229
350
210
281
207
195
225
277
291
328
269
190
126
257
242
203
297
234
200
179
170
207
114
192
253
223
266
116
301
227
252
227
285
344
189
252
146
259
178
240
252
229
244
266
197
181
199
197
229
266
223
216
298
283
201
206
178
253
259
184
160
316
203
193
276
201
179
311
217
217
296
197
213
170
247
218
233
181
211
178
257
140
185
243
209
228
146
221
195
205
251
194
303
229
332
247
184
289
221
191
197
145
226
222
287
215
212
180
277
273
203
175
154
250
176
190
143
194
227
272
189
251
262
264
314
258
199
261
271
190
172
173
214
252
237
187
167
256
207
121
216
238
234
181
244
208
151
200
301
256
171
146
202
239
262
129
157
188
206
395
223
325
233
279
200
288
178
254
257
214
262
199
270
230
258
184
226
243
206
196
258
239
216
244
157
190
130
157
242
251
212
255
257
195
280
240
251
306
183
219
194
197
236
242
212
276
257
191
300
241
194
198
292
250
206
191
259
231
225
163
263
208
213
309
149
236
234
171
213
247
188
166
307
191
173
164
248
235
203
183
246
208
204
229
217
174
185
226
157
231
255
260
195
213
254
255
187
175
227
219
188
304
275
192
188
198
239
223
203
214
229
192
279
246
328
229
215
197
252
213
242
205
228
258
224
237
215
152
205
200
228
214
126
261
253
277
270
289
262
267
255
283
212
254
179
212
247
200
209
276
151
126
363
297
184
227
182
221
206
238
188
270
247
210
221
250
225
175
203
185
166
170
314
286
235
156
232
178
154
307
173
282
202
247
252
239
232
203
291
170
194
198
108
235
152
189
211
349
147
174
260
237
247
169
280
265
274
306
224
242
218
278
226
325
211
217
212
211
221
237
218
186
235
159
207
246
186
270
196
245
210
245
186
282
245
262
214
206
195
184
186
253
238
173
252
126
219
261
283
157
222
170
208
232
252
183
201
183
225
245
243
238
266
155
239
184
216
194
263
213
237
241
237
210
167
261
234
284
277
231
335
197
193
239
187
211
192
182
203
233
214
225
244
197
186
311
206
231
208
284
253
235
261
159
265
220
251
290
270
281
165
239
244
181
265
245
156
224
220
192
247
254
200
202
252
205
219
216
114
309
233
208
156
194
209
148
172
224
231
207
214
228
213
264
218
220
173
205
170
194
151
134
165
189
139
151
185
241
225
195
249
229
170
257
303
207
268
315
169
287
277
218
232
165
220
202
204
263
177
151
235
235
190
249
200
194
281
126
267
266
236
180
180
311
239
213
247
236
168
237
287
237
192
274
207
249
204
190
256
235
208
226
179
188
251
282
215
186
238
186
180
167
173
162
232
288
215
287
202
250
205
233
219
281
151
233
297
269
239
196
271
279
226
227
223
281
179
173
203
196
154
199
192
204
178
196
196
206
222
202
302
275
219
237
184
173
198
193
154
317
231
234
281
244
194
208
238
249
249
193
206
214
186
188
238
192
239
206
213
290
247
269
194
239
180
212
185
237
229
204
194
222
215
190
191
198
154
261
251
174
282
261
224
253
206
173
219
170
229
181
243
186
169
254
255
174
223
349
225
240
203
163
170
229
167
327
225
173
242
178
244
220
272
205
200
170
169
275
289
206
161
172
248
274
128
206
230
227
218
324
230
243
200
267
166
241
222
283
233
277
264
177
182
292
260
160
199
279
203
236
249
216
198
151
192
226
152
225
160
192
200
357
240
272
259
224
255
172
276
221
231
289
195
184
283
139
183
217
240
206
332
168
231
274
209
181
229
192
225
328
202
225
256
278
173
154
207
268
224
176
209
163
307
209
170
175
156
220
230
238
206
184
201
306
240
257
198
208
180
237
347
213
288
160
178
145
253
229
215
214
277
241
235
193
180
199
227
221
243
178
322
301
277
207
246
230
249
158
223
261
195
240
219
237
202
221
249
235
263
145
233
216
161
194
227
247
197
252
252
149
198
300
224
225
196
295
235
279
114
264
237
187
195
255
178
253
303
213
152
236
170
114
147
227
226
303
193
181
154
156
199
232
260
248
218
271
200
221
288
209
192
158
316
192
217
290
160
211
158
183
245
232
233
238
201
239
251
296
273
206
191
205
139
182
248
209
212
281
159
189
248
144
212
273
175
175
256
202
258
309
217
129
300
139
248
235
239
170
235
235
219
184
114
262
201
251
250
196
239
178
263
172
255
248
241
315
248
145
258
260
248
266
297
227
261
245
231
269
309
165
249
276
193
185
283
213
307
205
278
202
235
196
238
235
179
239
173
287
266
219
186
310
211
203
211
345
235
233
233
170
287
214
243
234
194
277
217
242
249
258
210
274
114
322
192
285
233
225
345
241
140
209
238
213
290
313
182
231
263
272
171
219
189
260
215
210
236
145
172
349
214
156
249
322
247
195
211
225
194
229
230
254
168
192
279
262
245
267
266
200
249
267
226
232
226
272
285
286
222
321
114
252
148
232
296
273
151
228
279
323
167
328
197
168
225
208
282
291
233
233
201
244
222
201
268
285
196
167
217
255
262
166
294
210
237
219
221
171
175
265
232
168
231
210
235
226
206
289
222
167
260
275
186
265
164
200
278
241
130
234
279
260
213
208
201
265
242
219
195
184
248
305
243
195
296
220
234
253
191
170
229
286
217
211
201
285
246
195
241
296
206
233
224
242
220
212
244
180
249
179
181
176
233
239
227
249
232
173
175
392
282
205
314
285
166
285
236
192
201
247
208
207
261
288
235
148
162
218
261
217
249
179
247
255
203
282
255
286
165
268
248
304
237
106
247
190
173
239
204
209
273
188
201
275
108
142
174
196
170
252
232
243
314
246
234
237
202
163
174
236
245
225
260
283
229
220
285
237
273
150
216
175
237
248
224
189
195
206
325
221
235
252
241
192
168
250
237
147
270
250
199
189
265
335
285
188
257
198
250
219
160
198
197
270
229
287
203
283
267
202
193
231
276
114
195
174
243
267
253
202
256
233
283
222
302
267
170
272
162
196
231
296
234
285
222
213
223
238
233
267
199
221
235
147
172
239
173
271
197
271
235
233
231
213
185
274
156
199
255
174
275
228
207
199
280
213
183
231
126
297
198
290
349
243
219
208
235
198
171
188
315
217
279
194
350
180
156
281
242
223
196
245
312
243
114
257
306
242
232
190
262
203
207
213
236
204
223
210
154
241
200
273
209
299
275
216
270
278
221
221
237
191
265
280
224
218
186
326
230
169
254
162
340
237
263
246
233
213
214
216
241
245
328
246
179
195
173
196
236
238
278
194
166
243
233
181
183
228
261
242
210
176
197
263
216
186
206
169
266
299
213
183
206
221
153
279
260
208
236
251
331
233
193
221
173
232
216
264
194
248
204
312
193
198
278
221
202
282
210
239
202
192
211
211
289
230
231
206
277
151
260
244
186
255
203
220
260
216
242
252
179
261
214
172
166
203
173
177
262
282
223
224
244
259
297
283
226
246
223
208
202
222
170
286
252
264
214
317
219
240
179
180
175
192
221
218
225
260
243
288
149
243
249
206
257
310
229
234
343
187
308
233
225
206
232
286
285
281
130
312
259
199
282
147
277
247
175
165
230
233
210
200
254
209
254
191
263
178
238
254
329
242
215
277
172
245
240
260
170
181
161
209
222
265
288
250
278
227
203
211
173
198
252
308
255
174
180
289
193
156
200
193
228
183
214
243
180
231
168
280
317
192
173
192
277
261
257
299
233
206
114
275
182
186
271
278
187
258
274
198
144
247
201
251
185
189
235
194
292
179
259
221
260
189
198
179
294
202
209
257
253
235
247
237
228
246
215
192
193
274
255
126
234
227
187
220
260
144
270
235
180
204
242
256
409
244
238
326
138
172
256
273
234
249
164
267
189
217
257
249
165
230
250
177
255
267
228
154
190
234
307
174
210
214
224
211
222
236
193
238
210
114
238
211
214
224
214
225
185
164
276
108
285
252
178
188
216
241
260
198
214
274
258
177
160
230
277
225
301
179
108
206
251
292
213
239
257
236
170
176
187
158
287
206
237
275
262
184
187
251
225
169
202
294
187
284
207
157
215
213
207
234
287
252
255
194
279
208
181
200
230
206
213
242
195
266
191
167
199
280
151
225
288
223
171
300
222
227
209
189
179
227
240
294
213
225
254
229
247
288
312
227
202
310
290
195
277
265
220
179
263
154
215
149
311
211
247
206
202
199
168
265
210
187
259
239
154
195
231
223
215
196
352
195
204
215
260
237
173
189
239
154
321
154
303
251
309
223
176
304
210
175
160
224
248
218
220
232
203
231
202
221
256
216
247
157
264
209
213
229
239
214
224
284
121
184
203
170
169
220
238
173
225
190
223
236
241
223
313
235
178
301
189
224
202
177
250
239
214
198
234
293
175
256
292
252
227
256
197
121
305
226
272
261
144
247
203
250
251
222
170
160
214
227
207
207
175
224
206
261
198
207
297
257
215
234
216
274
211
203
180
194
296
330
232
217
250
242
195
162
169
223
256
170
217
179
283
220
217
284
252
284
216
205
234
263
254
255
157
193
298
192
242
277
228
323
218
223
189
180
214
313
211
212
246
279
193
382
181
268
266
139
236
246
197
245
144
198
250
253
240
225
234
309
158
260
270
238
215
253
173
164
305
252
171
162
277
165
272
260
295
318
208
247
269
215
238
221
203
242
248
275
207
202
197
241
237
160
275
285
154
258
137
219
218
211
221
248
230
215
191
218
182
184
254
191
220
237
218
164
198
203
309
214
218
224
251
290
215
147
209
164
170
144
195
251
156
288
195
193
290
309
251
177
241
292
204
266
242
240
197
291
198
229
240
154
232
159
152
219
201
215
221
269
247
219
219
205
208
220
298
255
216
194
213
219
234
224
218
211
216
175
211
221
180
192
198
308
184
229
166
229
246
235
166
229
188
177
264
237
179
152
164
196
215
150
186
283
174
287
156
114
196
151
204
282
252
242
273
188
214
253
166
215
228
267
194
184
235
293
206
214
298
212
367
202
178
247
301
290
201
253
257
158
181
214
222
219
199
146
130
197
211
264
267
222
180
192
225
211
198
182
181
285
156
220
224
221
232
276
257
166
194
210
228
173
176
167
222
198
304
202
245
252
178
194
146
114
208
229
318
255
328
187
207
235
192
234
187
208
299
197
207
218
175
151
198
251
222
221
201
209
178
160
262
231
200
223
225
207
248
202
251
232
303
175
306
304
157
247
260
198
238
231
152
215
185
298
173
279
121
202
169
269
255
250
184
200
212
198
288
254
192
207
246
207
320
170
178
270
307
180
226
169
199
278
231
269
191
192
189
160
204
262
213
195
205
234
227
274
293
262
129
253
260
228
222
208
231
208
238
297
262
231
221
248
276
234
254
281
215
182
196
299
217
211
211
243
241
260
280
219
236
156
227
197
255
157
285
194
244
328
194
231
181
278
227
244
251
190
173
237
203
297
186
222
194
259
106
156
302
208
218
178
266
341
290
273
215
291
192
245
183
305
173
249
223
244
157
207
255
213
233
286
114
162
222
214
219
246
310
152
268
190
114
298
215
209
203
207
214
170
347
211
209
152
178
330
197
206
187
209
246
212
257
288
222
256
210
219
320
206
209
253
205
344
200
173
217
268
235
215
325
175
250
262
270
200
237
268
237
191
282
238
295
156
275
255
224
257
211
300
257
249
142
260
270
261
208
216
289
193
260
182
236
232
191
190
214
193
239
228
271
257
298
181
240
291
114
261
252
233
239
185
217
224
168
231
227
240
212
149
231
246
245
192
180
170
162
252
174
264
219
301
294
234
314
210
225
202
244
182
183
135
200
214
207
178
298
229
251
185
145
170
246
203
235
246
175
203
250
250
114
220
191
286
230
239
246
255
292
167
303
262
163
260
342
231
267
206
195
199
163
240
233
275
230
192
213
306
178
217
254
232
225
229
269
241
296
139
203
234
215
279
208
262
243
292
239
222
214
207
174
250
191
207
171
180
233
261
262
151
301
287
299
250
172
214
279
179
193
218
144
229
233
240
216
243
254
171
188
226
178
162
231
192
275
279
222
182
213
149
160
154
220
273
231
284
178
217
244
232
205
207
221
227
275
114
254
258
214
301
239
287
181
220
231
228
299
297
267
287
177
288
193
171
267
253
210
326
207
182
222
187
298
252
234
248
220
218
178
234
249
254
242
114
252
163
257
216
268
209
228
249
246
274
190
314
264
246
161
244
190
224
189
165
233
271
174
183
229
288
220
142
219
240
159
198
126
156
245
244
308
201
171
310
256
126
225
245
329
227
177
154
188
244
231
216
202
152
263
229
195
233
227
237
241
176
295
158
238
207
259
114
152
166
144
240
214
175
192
210
222
195
207
214
114
216
208
245
148
200
114
197
241
139
241
205
238
205
167
199
179
130
202
253
269
191
260
244
246
257
220
249
241
257
235
222
238
217
206
207
184
281
214
215
142
197
248
261
215
243
162
279
263
267
326
297
261
210
179
213
224
174
177
156
227
165
178
228
227
282
197
201
225
178
195
191
170
259
249
284
248
188
264
220
156
297
225
331
238
225
165
236
255
231
219
240
195
222
278
179
198
218
229
313
234
224
226
156
198
237
330
275
174
217
248
146
205
215
207
245
269
268
227
220
197
201
258
263
218
139
209
219
242
256
172
238
355
146
207
189
270
216
114
266
208
214
224
232
208
149
175
252
227
139
263
228
275
224
227
237
189
174
261
245
256
162
184
220
236
203
310
106
284
176
222
211
223
295
263
237
206
234
139
315
236
281
206
264
170
277
242
231
191
245
260
258
164
197
219
244
213
227
158
226
219
159
212
189
237
210
214
190
139
169
258
324
257
211
195
148
214
252
206
197
194
228
178
210
273
233
180
198
253
155
240
197
256
213
247
252
245
221
259
179
252
199
227
227
225
192
262
182
249
151
296
193
223
204
260
210
284
232
207
226
227
178
262
178
302
250
184
234
193
174
266
236
214
126
176
133
293
298
190
193
316
228
275
231
223
202
194
180
236
235
260
256
235
293
178
195
190
184
166
162
275
222
230
210
197
236
207
114
168
271
191
242
186
194
202
195
227
160
260
233
275
259
307
188
245
229
200
349
257
280
207
222
222
314
212
207
202
230
224
299
221
219
196
201
243
231
290
230
184
213
114
269
198
252
164
181
177
201
194
288
191
152
198
230
230
158
147
249
181
186
154
193
204
196
250
198
272
251
116
152
215
251
240
321
126
244
194
214
237
333
235
269
200
193
241
137
196
198
170
206
149
231
227
180
233
251
176
180
244
226
211
217
244
172
239
203
299
187
204
249
249
309
289
263
233
242
263
200
152
214
253
245
171
114
276
275
191
210
246
219
307
240
176
224
200
238
252
284
211
202
137
220
181
108
175
160
234
164
257
263
282
241
180
192
178
321
250
265
233
209
184
251
232
309
270
154
302
195
257
194
207
164
149
282
187
206
209
229
170
245
250
173
214
270
144
257
266
234
270
273
288
222
202
222
219
256
186
184
194
215
192
236
253
284
230
238
180
171
167
296
226
270
327
222
226
191
340
162
199
195
254
186
223
211
256
166
248
301
284
296
178
247
196
273
238
206
190
256
235
227
202
243
231
207
252
327
293
275
165
170
162
185
253
152
284
283
242
260
206
245
179
187
166
190
191
247
269
156
261
245
229
303
200
170
262
250
185
356
191
191
192
304
212
196
223
220
147
183
217
279
179
180
310
234
154
190
130
165
207
210
199
192
254
256
198
187
263
249
164
304
208
188
240
291
252
206
243
223
227
221
226
216
149
243
219
276
187
252
218
185
320
246
240
266
261
174
190
259
183
225
305
206
264
233
239
210
114
206
170
278
264
251
207
228
241
214
196
355
156
275
207
192
251
169
139
156
216
234
213
231
250
192
227
221
211
238
225
194
227
234
350
235
212
281
205
242
130
196
276
271
242
271
220
256
257
155
213
168
186
320
297
234
209
285
245
143
234
209
158
258
254
234
184
280
201
262
228
161
170
178
170
230
152
179
223
252
211
167
242
241
237
149
114
200
238
174
253
114
304
220
265
174
172
256
230
278
228
239
220
217
228
227
206
229
226
260
286
300
269
204
218
282
281
207
210
321
255
165
261
283
247
219
228
223
237
129
260
156
206
271
173
198
179
285
174
169
273
158
279
300
208
223
260
196
194
220
214
174
224
233
242
149
228
204
166
304
208
274
326
184
228
250
165
202
191
225
186
238
188
235
250
183
219
209
178
306
233
279
256
193
213
155
259
230
199
209
311
223
214
224
246
240
237
271
296
238
251
227
249
207
189
257
250
126
174
285
267
276
257
198
169
175
174
289
170
246
215
209
201
259
230
333
320
199
191
264
228
182
256
323
320
308
241
207
229
239
270
216
256
197
207
185
252
208
246
238
177
232
194
177
267
213
221
270
238
191
225
213
242
285
241
173
222
262
264
169
182
285
245
209
146
201
279
230
223
263
181
195
189
150
288
271
207
252
211
169
227
172
259
219
229
201
196
214
187
201
174
261
178
276
114
224
255
258
178
228
139
156
187
198
192
239
194
278
199
176
313
238
163
197
269
190
235
247
198
182
170
241
269
173
271
212
168
197
218
181
276
232
260
157
206
276
228
251
260
235
210
200
178
114
196
321
242
165
216
252
220
222
168
186
341
186
114
129
287
145
265
232
223
149
242
260
244
193
126
228
114
195
276
114
201
235
306
234
251
306
226
228
199
240
241
170
257
156
178
323
214
333
175
300
275
208
182
303
229
295
251
191
230
202
330
219
230
247
217
192
185
211
162
271
240
241
259
214
169
225
145
240
165
178
257
253
258
236
212
155
178
229
254
198
237
227
175
197
214
313
170
174
198
174
231
202
253
228
272
215
187
217
114
217
188
255
303
248
232
283
242
172
178
273
190
226
212
248
200
245
156
223
171
233
272
198
272
249
155
215
287
108
242
213
306
320
286
214
259
166
180
156
202
235
223
193
196
221
259
257
219
210
158
326
304
271
184
200
281
175
210
250
177
216
271
306
189
228
282
176
263
231
163
178
206
262
168
243
309
264
221
212
249
295
247
108
188
231
210
251
164
260
234
253
324
200
194
321
365
219
298
225
158
234
214
230
301
268
170
199
209
212
217
237
215
306
221
244
227
192
163
246
188
234
264
155
275
238
147
257
213
232
246
248
246
139
205
273
209
182
268
245
221
234
225
172
254
235
290
228
237
224
244
165
224
244
221
209
149
186
232
285
160
277
144
289
203
238
269
260
269
270
230
180
251
300
323
251
208
233
260
202
297
186
170
156
223
266
288
246
168
227
232
285
184
184
221
180
206
167
227
212
198
174
261
263
248
256
198
160
193
229
181
239
224
271
235
295
193
211
242
256
170
121
226
140
270
253
256
265
139
296
194
153
215
251
279
213
282
228
215
161
160
245
297
242
190
220
269
164
209
180
252
179
244
198
199
194
181
173
218
160
180
271
227
172
262
233
214
236
203
197
207
198
281
177
216
198
191
193
218
266
176
234
180
244
317
261
248
230
254
114
204
204
214
244
234
266
209
259
179
295
266
251
129
108
208
285
295
225
293
114
175
167
257
184
181
241
249
228
277
181
219
238
250
278
238
249
228
180
214
284
193
158
204
308
270
298
307
277
190
273
160
258
210
184
291
181
205
357
237
284
210
179
210
309
256
235
307
114
258
215
200
188
250
289
245
284
240
219
236
182
245
237
224
217
205
202
152
177
238
175
257
265
282
234
170
263
239
254
253
222
222
295
250
225
195
265
220
258
159
220
192
226
240
196
228
215
253
182
221
316
256
169
234
186
202
260
314
171
228
281
185
214
233
225
194
214
221
175
166
220
254
178
240
242
173
139
236
208
134
285
198
350
216
243
169
207
256
180
200
174
208
219
243
195
202
243
313
203
227
220
202
169
247
261
218
192
197
200
249
246
213
157
194
255
213
251
257
173
263
248
351
255
206
214
254
231
249
254
162
203
214
258
231
254
264
233
241
202
244
226
165
231
258
294
155
161
242
164
287
218
227
152
209
265
282
198
205
187
176
231
193
198
198
244
256
198
116
263
126
249
250
156
232
243
265
213
240
238
254
256
239
318
207
229
114
245
181
211
217
168
217
252
236
182
315
224
277
362
246
274
272
187
204
191
256
277
265
223
227
247
260
249
188
170
222
167
204
289
207
194
277
227
291
260
202
152
235
260
228
193
314
295
234
219
296
263
218
168
194
174
257
226
238
200
201
203
253
209
281
165
185
248
178
194
234
195
219
233
260
192
255
255
333
212
238
212
214
177
246
178
233
213
211
210
190
212
204
220
219
325
225
201
277
240
175
249
225
261
290
148
289
232
284
252
195
175
126
236
239
178
166
179
219
187
194
213
281
256
244
173
253
231
178
248
208
233
196
265
180
277
232
192
221
214
225
184
161
226
187
283
253
281
242
210
251
305
202
308
243
236
355
232
318
287
242
269
179
200
211
265
133
263
231
263
144
228
216
308
158
260
306
247
173
323
213
234
282
314
219
178
256
129
170
308
235
213
212
225
226
162
215
228
243
269
244
228
173
208
168
282
316
217
294
285
236
214
277
246
256
225
258
253
182
279
175
178
161
264
169
189
292
200
193
216
184
183
235
264
226
203
245
258
223
285
189
220
326
223
250
236
184
239
225
281
246
265
246
221
183
214
278
290
175
208
219
220
256
318
240
179
114
216
177
204
267
263
265
225
366
201
235
271
247
240
219
252
306
284
264
183
230
185
269
169
238
190
178
278
225
116
206
297
253
156
198
172
233
210
232
216
198
264
320
290
209
222
201
214
174
152
256
180
175
302
193
175
263
193
278
161
266
264
242
173
269
208
178
259
233
271
215
189
218
231
243
208
252
285
284
203
208
213
223
327
257
220
241
173
299
236
174
189
218
172
247
224
206
262
274
219
252
143
224
285
177
156
274
130
258
268
237
231
168
227
170
200
114
296
261
278
269
284
184
275
269
254
201
184
174
195
321
244
211
221
188
251
236
240
177
219
214
211
114
235
188
253
252
181
162
213
261
250
276
182
170
258
194
299
114
206
174
247
207
184
219
151
160
209
268
376
183
256
235
192
216
228
231
181
247
242
181
211
178
243
242
198
210
171
208
232
227
192
260
245
262
152
270
189
222
203
274
299
228
262
233
256
197
181
204
258
176
161
237
244
222
152
248
218
199
114
295
145
224
257
244
214
173
331
198
209
294
248
220
218
243
193
195
287
254
231
181
173
259
285
290
199
211
233
158
203
236
283
203
296
255
265
238
178
254
160
201
198
230
209
195
213
236
194
251
253
211
238
224
310
271
160
190
176
254
129
271
246
195
208
182
236
253
337
161
241
161
265
252
236
209
226
234
186
188
247
202
272
225
201
247
263
235
174
308
217
190
228
196
310
146
213
238
253
239
238
251
240
276
181
225
114
314
309
322
151
184
205
151
277
224
215
260
227
274
255
170
171
313
241
260
194
181
217
278
219
230
263
228
156
240
197
221
234
276
256
213
217
296
149
170
224
247
121
226
296
310
208
243
196
152
282
196
278
235
172
156
259
212
237
200
292
221
256
374
239
201
292
181
183
149
225
174
221
298
279
251
231
218
151
178
285
253
204
230
244
241
241
152
151
269
169
190
198
200
196
334
248
207
280
231
233
279
184
238
149
187
156
241
251
212
262
223
277
269
282
208
262
214
158
139
257
214
293
287
251
215
203
256
206
158
231
213
227
196
238
139
200
214
211
225
249
169
252
252
186
238
182
130
238
169
225
252
170
208
260
244
201
323
233
212
178
175
247
293
220
295
210
192
223
170
286
244
231
210
225
235
227
234
261
213
243
245
232
207
259
238
201
161
251
193
240
161
187
223
293
234
252
155
241
234
221
230
291
221
190
223
249
176
239
203
252
192
261
166
240
173
255
248
177
192
194
209
211
186
205
213
220
327
182
244
114
169
159
160
220
146
198
174
152
283
198
240
228
250
278
174
150
215
191
108
189
225
221
167
220
221
156
264
264
220
277
246
204
165
178
273
213
256
297
249
205
383
205
173
264
148
245
218
168
180
198
234
238
283
203
171
129
176
232
250
197
314
225
213
244
289
252
186
197
174
217
247
174
233
163
193
241
211
215
307
232
305
214
203
176
324
275
257
235
222
212
139
215
250
176
230
237
278
182
168
245
362
146
248
277
175
273
176
219
160
264
207
271
205
114
221
194
220
219
243
314
202
154
261
241
180
259
271
242
305
199
278
192
248
222
194
216
274
209
244
255
185
244
190
252
241
302
217
322
255
176
162
261
165
201
156
265
114
191
178
251
215
220
274
208
177
248
339
215
166
277
298
230
224
197
114
171
184
323
172
183
210
167
210
294
246
194
160
231
288
254
168
216
209
318
212
237
208
221
170
197
158
198
204
133
187
149
216
239
214
114
203
228
216
182
262
191
198
175
170
314
195
215
251
188
255
284
211
242
292
224
292
228
166
227
160
178
252
204
268
305
220
279
267
333
277
238
219
173
114
234
189
284
255
210
248
256
233
259
218
189
183
281
161
173
262
192
181
254
183
206
182
108
295
225
284
213
203
212
229
232
274
202
176
205
202
217
238
234
279
208
166
306
257
243
179
196
248
257
278
171
114
298
257
241
261
214
173
216
235
256
166
114
199
213
281
252
253
253
195
214
219
182
188
259
302
250
220
212
208
170
242
223
195
206
259
245
251
220
271
216
310
312
145
316
228
352
213
235
224
228
234
177
282
261
208
243
245
171
215
171
162
248
238
253
219
242
166
299
266
246
207
216
212
288
198
280
238
218
260
235
285
238
260
197
200
201
254
208
252
249
280
348
211
194
193
270
173
255
220
242
215
232
175
263
219
152
173
271
230
232
108
198
300
234
290
212
234
247
287
213
229
229
218
184
277
221
206
234
170
230
246
283
229
220
170
290
218
186
353
197
327
171
178
237
199
218
164
207
260
220
235
225
174
260
174
251
255
240
295
305
248
200
218
218
181
237
215
184
213
285
248
238
210
219
197
270
149
152
165
239
228
256
174
232
160
262
293
173
195
293
262
247
248
242
217
242
260
189
211
225
319
157
228
256
224
228
213
200
154
239
156
303
260
285
280
209
165
218
281
189
194
270
227
263
194
211
203
230
212
212
192
213
282
181
227
202
225
215
230
237
170
271
245
253
258
190
198
241
183
126
197
172
239
173
226
230
241
257
253
239
304
321
225
283
253
166
239
126
209
182
236
271
237
218
146
203
232
241
272
170
160
202
306
166
263
198
216
238
194
294
170
183
281
254
226
279
278
189
220
208
206
188
229
165
299
179
196
231
258
230
251
195
210
202
158
272
237
216
201
159
377
203
225
242
225
194
231
246
192
220
249
173
160
210
260
204
154
235
199
253
265
160
267
139
184
324
217
206
319
251
156
198
188
214
266
204
231
228
241
181
108
180
213
297
351
265
168
245
240
173
287
185
301
167
173
207
212
269
257
189
197
182
192
231
203
236
160
199
213
263
268
221
260
217
239
254
234
210
267
211
180
208
165
257
210
226
175
218
211
156
196
228
234
238
166
208
201
236
264
165
226
170
241
287
229
214
220
165
203
173
204
263
196
209
234
231
277
270
291
297
205
114
197
188
224
219
209
154
207
290
170
121
249
270
247
166
195
226
197
292
294
181
195
260
213
211
179
311
263
163
212
194
160
213
209
204
232
282
230
192
198
195
253
189
234
194
216
264
211
181
218
298
266
193
234
215
214
310
282
239
246
185
197
114
307
205
278
114
175
175
224
229
340
244
257
233
304
280
258
280
188
300
279
275
263
114
222
261
323
208
191
284
178
310
182
198
258
262
219
196
233
180
144
282
204
254
121
190
174
254
267
206
251
252
215
175
299
213
226
207
201
225
250
270
249
311
231
213
236
194
228
232
256
325
233
114
176
288
161
214
208
205
250
271
200
252
285
203
295
190
232
243
216
260
355
324
193
224
213
228
201
227
221
194
237
195
147
233
187
206
293
230
219
229
226
230
291
293
250
290
185
194
207
193
259
183
193
234
210
114
175
274
219
228
281
215
202
263
214
208
215
188
170
163
245
227
215
209
154
181
221
215
203
227
178
234
209
261
218
212
201
198
190
223
208
240
194
159
189
175
236
181
179
206
208
170
279
256
292
298
258
181
243
216
261
170
196
238
232
217
217
243
243
243
308
191
313
266
226
307
180
218
160
275
133
185
182
164
191
126
225
209
282
134
114
225
200
288
145
160
264
175
209
178
207
168
191
108
150
114
227
173
192
302
294
255
126
177
261
173
177
259
252
343
219
207
199
228
149
218
291
221
222
248
175
265
267
207
316
238
218
232
245
199
298
288
203
256
155
238
244
187
188
211
250
232
264
176
192
223
259
221
175
114
244
294
196
175
260
238
314
219
156
196
211
160
215
167
230
249
180
255
209
185
215
180
274
210
162
165
243
244
254
207
267
329
297
254
183
296
160
193
175
214
290
211
185
313
211
295
165
205
278
202
287
215
114
168
250
147
208
187
229
221
155
264
142
201
310
234
308
158
251
334
228
189
232
290
267
178
206
223
146
246
239
152
214
193
266
194
178
283
155
225
176
242
242
240
185
209
192
246
238
233
196
236
164
252
242
268
238
219
207
126
149
192
190
251
225
223
246
248
228
220
289
234
234
248
239
213
210
250
284
198
244
244
191
199
214
262
248
170
274
245
152
296
186
206
213
265
219
210
180
202
200
281
199
286
258
221
297
216
146
248
214
303
139
275
192
139
191
198
294
288
173
233
296
190
273
240
240
309
292
211
290
256
193
219
244
270
200
196
272
186
279
165
220
293
277
178
221
258
215
184
238
218
263
248
180
190
212
275
263
249
235
212
232
263
175
257
108
208
240
243
305
295
316
161
209
209
220
297
291
184
243
181
174
250
209
279
273
190
261
264
262
175
266
238
259
275
215
212
254
291
264
309
263
233
262
250
264
226
277
148
152
211
235
152
221
248
259
213
134
114
251
236
255
220
174
218
226
221
183
180
219
303
260
249
309
281
218
214
300
266
193
198
214
189
213
210
223
203
245
205
186
270
174
228
148
247
229
238
178
182
213
282
136
290
270
264
180
228
191
249
244
186
160
266
222
320
284
234
179
220
277
284
296
196
330
239
130
208
238
180
182
233
196
274
218
225
259
211
247
299
202
247
114
292
253
246
196
263
170
257
244
149
207
223
224
199
223
212
178
270
249
262
271
208
174
170
203
168
238
246
214
174
187
114
261
253
290
195
251
200
283
191
200
160
293
219
203
121
240
205
261
252
206
180
199
283
196
215
170
258
236
213
168
212
217
272
237
235
202
270
255
281
237
216
194
212
196
189
244
173
192
216
241
173
180
243
194
181
247
261
212
196
211
183
226
242
126
177
212
178
202
195
221
130
205
133
171
256
269
267
181
190
238
231
223
363
182
210
220
231
262
203
229
262
267
229
243
203
190
195
224
226
231
203
251
310
293
190
166
272
215
252
222
265
266
155
234
216
199
259
283
212
213
306
182
178
242
195
158
274
181
193
203
166
208
234
268
222
126
225
218
222
204
153
252
159
146
162
186
148
222
212
218
228
279
220
234
211
204
314
225
268
233
238
198
274
231
160
197
170
187
285
254
200
318
194
240
247
197
279
267
177
264
175
234
231
251
178
251
296
280
139
216
247
275
168
241
170
170
258
139
139
238
157
219
290
217
161
216
253
188
277
176
225
229
270
260
232
189
211
233
199
264
234
238
201
230
276
248
273
279
227
318
157
180
271
245
114
237
215
236
285
245
256
232
309
222
261
157
253
164
253
236
241
167
258
229
299
265
234
192
218
239
300
257
237
221
285
338
229
229
225
305
232
295
154
222
191
240
211
274
225
253
277
126
295
155
236
256
229
231
257
278
228
198
215
180
233
270
288
205
173
264
197
241
246
195
235
222
207
219
215
226
191
199
270
146
252
252
203
207
183
186
279
156
274
232
232
231
242
235
231
178
259
319
167
145
284
234
260
180
169
171
214
278
256
173
236
227
181
213
308
282
268
254
200
217
280
250
339
155
193
233
227
249
244
304
232
212
195
192
206
238
256
185
253
253
317
221
145
250
214
214
160
293
191
191
248
226
248
276
324
296
202
133
226
250
156
169
226
250
213
170
237
292
267
174
205
261
255
180
235
226
192
167
178
273
268
363
192
262
261
258
220
218
133
194
168
280
262
207
169
193
229
179
246
192
179
145
197
187
175
285
183
283
230
146
158
234
114
182
239
256
214
228
200
185
168
251
185
182
302
276
254
180
221
281
206
199
222
205
237
303
207
204
250
237
235
207
242
174
287
289
237
185
238
172
247
286
285
281
232
276
198
288
263
203
224
212
241
218
232
235
236
214
233
264
192
181
158
193
306
210
157
215
187
193
262
285
215
263
230
208
213
232
292
174
204
250
208
226
205
230
170
216
248
226
263
258
181
250
192
272
170
270
209
216
275
114
258
329
200
157
235
166
200
192
231
202
291
202
225
206
205
234
231
238
165
287
258
259
222
193
133
215
211
305
224
221
211
173
106
257
173
220
352
172
254
218
196
175
299
250
271
179
175
191
147
285
147
247
211
156
233
318
179
207
225
212
191
196
243
269
273
326
174
199
223
271
274
269
166
209
195
288
312
199
213
174
211
285
175
139
238
251
252
250
188
208
228
227
236
209
170
179
291
152
114
173
221
180
202
238
186
198
195
270
196
249
139
281
268
234
214
201
156
221
286
251
400
289
234
159
260
199
270
263
225
186
114
223
197
182
198
227
200
170
267
199
192
254
174
212
182
274
232
227
209
130
272
251
188
253
184
145
207
176
114
232
211
194
221
233
182
247
225
209
230
212
338
260
271
243
268
248
275
178
246
209
219
211
224
267
158
189
265
218
217
184
203
170
301
202
192
248
247
265
169
245
114
172
221
216
210
194
310
217
275
181
224
250
232
310
301
231
247
253
283
196
169
230
240
241
227
273
196
229
183
256
258
327
261
207
234
300
274
240
250
239
301
205
277
204
207
182
209
347
194
205
262
185
227
317
274
243
290
296
229
278
213
249
202
263
198
300
168
220
257
267
181
178
192
198
246
160
235
184
233
236
249
220
264
181
198
249
158
229
184
218
225
198
208
226
250
276
226
256
194
236
277
205
333
154
188
217
245
190
240
204
173
147
212
171
266
238
160
170
281
251
224
236
251
164
249
178
191
129
179
212
237
185
145
233
244
173
239
190
214
170
220
264
279
248
148
193
245
190
253
252
246
162
195
338
260
318
266
292
262
304
170
183
173
222
215
205
319
238
219
174
189
194
204
178
257
265
161
239
139
246
238
263
243
191
180
164
244
178
308
214
288
287
227
204
231
207
304
225
240
211
193
241
321
244
222
193
183
192
253
251
221
225
222
106
260
156
167
166
235
160
204
261
200
336
291
168
224
251
254
156
313
234
236
243
227
278
233
240
287
260
313
262
196
244
241
176
301
240
169
259
282
181
252
181
218
175
153
156
160
243
195
227
255
192
207
172
213
191
218
186
258
247
237
180
271
164
197
215
251
230
165
309
227
219
151
231
226
227
229
257
285
175
316
233
225
202
217
269
334
209
306
201
301
229
196
165
228
220
114
297
159
248
237
228
207
249
308
188
244
277
243
190
211
200
162
172
278
264
330
202
287
181
234
166
169
286
218
233
249
181
223
250
169
245
199
277
280
220
211
300
184
308
171
207
199
184
182
144
270
174
234
258
273
235
236
165
252
231
271
194
261
247
160
263
222
235
244
193
226
337
130
205
250
304
229
247
191
240
285
228
179
208
168
265
240
169
234
195
234
196
257
221
240
208
231
281
251
171
157
154
247
126
269
295
165
192
218
166
305
139
233
288
316
195
202
268
190
190
158
233
283
283
227
310
266
214
198
188
272
234
222
263
215
264
239
237
170
174
219
229
226
221
212
199
180
204
160
114
235
222
278
327
229
225
180
177
213
209
172
214
270
147
198
269
282
196
162
213
195
166
116
260
166
201
212
256
190
225
268
222
277
231
210
219
267
236
267
243
203
236
305
253
172
230
254
200
114
267
215
213
240
202
214
253
282
281
247
226
212
265
234
247
257
180
249
259
223
184
253
272
250
209
327
231
291
195
234
273
169
218
315
180
262
211
206
262
195
230
272
241
259
208
276
197
260
237
184
209
175
270
280
245
225
253
215
207
263
225
171
293
178
252
191
188
203
214
237
234
225
260
221
263
255
250
239
249
153
187
266
181
185
243
234
213
194
238
260
245
235
202
200
248
177
244
284
224
271
206
192
217
235
192
212
264
247
199
164
239
260
275
257
185
215
266
277
204
355
178
267
250
175
300
186
139
222
189
170
217
290
219
182
300
214
224
185
202
223
282
275
264
274
194
230
168
157
262
253
203
242
200
247
225
295
262
234
189
207
249
208
216
276
244
262
106
304
225
302
215
285
275
201
243
184
178
196
212
266
234
235
200
207
251
184
241
208
321
246
185
268
225
233
198
226
290
271
263
212
220
170
214
221
175
206
238
211
166
146
223
187
228
198
231
254
318
261
166
202
194
253
186
178
216
166
202
192
219
229
177
126
114
241
247
177
179
195
231
252
279
213
277
218
247
269
258
209
253
244
289
247
153
237
167
203
234
248
253
209
181
168
262
229
271
214
226
292
310
185
208
252
225
211
211
246
274
348
190
245
237
305
201
280
296
139
295
210
257
158
218
239
157
225
152
263
216
275
223
295
202
195
192
230
178
199
186
272
174
203
283
256
214
246
237
342
224
183
202
181
275
196
257
266
255
114
305
250
262
247
214
213
238
284
226
269
183
193
192
261
268
212
187
176
243
242
227
297
251
209
152
198
214
361
245
188
283
258
213
233
193
170
207
206
188
198
215
208
219
206
213
297
202
256
274
234
251
220
176
288
175
230
196
228
242
265
151
241
210
336
207
270
152
205
114
221
211
165
184
226
225
208
152
157
270
219
163
233
306
202
274
204
255
252
242
212
357
266
205
239
237
195
222
241
114
250
226
193
226
239
174
227
182
318
198
217
242
216
205
213
294
242
194
236
328
197
172
268
211
201
315
206
178
254
262
108
114
182
192
230
148
197
342
233
247
142
195
216
266
221
265
181
276
256
213
272
202
233
239
201
239
213
208
160
240
179
247
294
227
218
175
150
317
215
242
133
240
179
230
220
174
231
258
211
253
215
228
256
256
181
245
175
180
225
232
272
227
313
225
139
245
156
202
226
309
191
225
158
228
253
144
202
295
193
241
207
173
247
277
270
178
258
221
211
201
275
283
106
223
210
207
193
260
222
240
229
265
210
330
229
200
139
242
241
195
264
192
229
207
227
233
250
230
261
225
302
164
201
271
268
226
156
280
238
156
169
263
213
207
224
235
152
236
251
271
178
220
175
249
193
114
226
178
180
233
230
200
248
214
161
205
273
198
181
234
280
218
233
229
189
263
169
281
217
283
291
251
176
206
221
171
204
172
237
240
278
241
260
249
230
195
347
180
234
223
213
196
298
205
231
196
290
191
175
171
199
224
294
231
213
202
182
289
288
308
210
261
184
249
233
186
206
259
213
243
172
241
114
218
293
264
243
240
243
279
266
248
251
160
206
195
168
160
156
240
244
209
158
159
196
259
167
278
149
246
195
204
252
206
297
148
227
215
173
164
191
261
193
208
257
195
300
230
250
202
287
207
308
264
261
215
203
252
175
276
206
233
177
216
207
278
199
199
218
189
247
203
217
225
208
313
234
195
247
208
197
241
282
175
222
270
272
201
190
308
188
129
179
282
276
194
314
189
256
227
206
216
229
321
247
344
223
205
206
221
233
200
227
285
259
227
160
155
197
114
121
193
350
196
208
207
223
196
224
281
249
269
205
165
224
294
203
218
152
185
185
163
234
236
295
179
224
240
282
207
236
174
168
193
234
153
160
256
270
259
247
219
144
226
227
235
199
212
255
178
269
168
227
285
175
209
198
208
261
256
244
230
186
217
250
134
235
214
175
276
231
302
206
214
229
152
207
160
231
269
216
234
309
214
217
211
361
132
211
229
246
197
231
172
180
108
188
225
221
243
262
203
237
215
206
235
156
293
189
183
233
245
224
230
242
222
248
268
258
252
200
268
173
274
222
169
235
198
229
186
188
281
240
245
154
288
269
248
185
241
271
173
189
271
258
248
250
141
256
249
216
234
277
183
193
243
228
226
200
215
219
193
253
204
245
237
224
201
264
204
178
207
204
220
223
273
203
223
226
244
226
192
285
233
229
222
241
192
197
250
156
161
249
270
205
230
233
215
235
220
231
232
261
300
264
220
214
193
277
254
204
137
236
184
288
288
282
212
163
178
167
267
203
273
151
170
165
266
245
268
194
323
206
114
230
249
181
170
212
296
192
316
219
192
238
175
227
209
322
210
184
276
179
262
282
186
205
267
278
237
198
182
233
157
235
284
271
184
245
176
287
233
175
144
251
221
265
260
215
260
175
176
255
275
218
198
235
256
266
228
198
229
169
248
184
176
195
353
242
192
259
208
222
167
257
257
266
158
121
244
282
152
277
210
246
282
165
202
166
291
280
230
133
185
222
207
247
285
179
198
210
232
172
226
261
146
238
225
178
165
220
223
196
171
213
204
178
145
237
227
249
174
217
178
244
213
214
213
249
195
191
225
116
231
181
152
268
149
154
253
200
243
195
214
225
181
160
262
249
178
209
242
233
257
279
126
234
283
170
207
163
234
273
166
258
215
160
233
227
190
196
177
154
248
176
133
174
273
295
206
201
299
232
218
236
236
195
217
133
274
168
180
223
331
218
281
173
181
259
255
114
185
222
235
282
315
208
260
225
260
149
237
228
289
214
248
263
194
182
296
230
286
202
306
267
177
108
286
198
283
255
171
198
298
169
214
263
235
246
210
121
114
214
265
256
231
273
165
214
156
192
198
240
339
164
198
284
229
239
181
289
179
258
221
173
212
305
114
241
269
264
222
259
194
221
261
145
196
189
170
242
246
253
261
210
198
160
202
194
263
153
294
267
202
277
229
265
230
265
271
288
302
168
251
271
249
181
114
204
229
225
159
253
191
284
213
241
215
253
216
236
152
179
206
210
192
234
217
179
209
250
239
212
280
162
281
283
210
207
258
205
206
178
248
230
205
181
225
248
184
250
196
245
234
214
239
250
180
191
342
241
267
260
234
283
226
256
198
207
180
180
260
274
205
202
179
237
226
252
171
262
179
240
222
255
170
179
214
198
121
253
200
209
284
289
218
229
188
222
210
267
298
184
280
263
206
233
293
179
208
180
211
291
174
165
201
191
341
224
214
365
206
254
161
270
226
218
251
153
246
283
235
230
235
183
253
251
221
237
267
201
249
191
229
224
182
209
190
158
216
305
328
329
224
203
190
255
160
204
194
270
206
242
251
214
262
212
199
268
273
220
183
156
210
185
234
191
303
167
218
233
184
165
206
267
209
250
246
163
210
213
250
216
159
220
193
192
174
239
207
198
162
254
252
283
214
236
196
164
208
248
247
114
260
227
237
301
338
186
204
258
277
205
244
285
221
327
241
242
217
235
234
224
234
237
244
196
234
248
209
234
308
303
257
255
272
299
286
334
265
212
227
263
215
170
211
249
219
216
152
206
199
219
256
265
277
218
193
276
225
198
317
200
302
240
303
167
177
200
180
274
213
242
208
276
191
220
167
192
260
167
279
260
210
176
174
187
219
252
195
231
178
235
214
251
261
276
227
255
252
192
185
264
226
262
190
158
237
201
135
222
224
219
258
252
252
214
213
205
166
176
210
209
195
264
255
250
251
205
260
206
305
195
196
280
210
209
126
239
284
206
202
122
308
233
220
256
163
227
181
229
218
299
217
224
222
211
197
297
260
265
219
233
228
173
178
209
182
168
317
180
216
253
223
198
230
262
218
196
191
233
219
238
319
153
218
223
225
210
301
260
268
217
206
162
253
240
254
205
209
208
252
241
230
186
280
233
170
226
261
213
289
231
121
129
219
256
242
189
186
259
273
243
222
318
223
202
214
228
180
259
215
232
217
228
233
168
158
216
211
145
278
213
183
210
267
277
202
255
203
241
229
188
232
222
186
114
234
255
228
247
293
319
176
180
190
192
259
192
114
227
198
244
317
230
225
151
195
237
277
212
209
214
248
298
212
244
217
130
222
336
203
226
238
214
244
283
198
239
210
186
280
234
219
251
178
239
156
285
266
254
251
231
192
181
208
189
204
219
259
267
188
289
230
251
233
170
156
291
267
267
196
262
161
168
174
245
234
249
257
217
241
282
209
286
280
262
188
282
151
260
230
235
262
219
239
210
251
218
221
258
231
212
193
221
318
178
245
266
224
249
238
241
291
169
241
331
268
247
204
160
252
283
161
198
114
252
218
244
249
186
257
195
179
242
264
264
310
382
203
208
208
285
246
168
224
190
151
114
249
256
258
235
296
217
251
237
229
289
192
231
241
158
242
144
207
195
215
205
166
205
235
298
241
265
278
222
257
223
179
262
217
205
267
441
283
188
202
198
214
196
116
301
207
256
224
169
263
198
262
259
224
230
229
216
277
191
234
213
220
214
276
179
237
299
176
259
151
114
274
282
262
179
175
264
217
225
230
260
243
307
225
203
249
198
133
208
233
156
219
139
279
195
179
284
196
156
245
207
205
226
181
257
245
186
218
205
230
198
167
257
233
192
146
207
235
222
197
231
126
207
151
206
205
280
142
148
222
237
245
145
252
212
147
285
258
236
246
140
164
200
207
227
197
270
213
226
274
238
304
218
173
277
223
276
180
201
224
187
255
233
156
195
238
257
198
116
203
229
256
225
219
210
265
191
267
304
228
283
269
263
164
280
264
272
241
184
173
247
198
213
193
178
265
191
305
190
184
228
213
281
175
200
182
199
184
232
191
227
315
199
233
309
186
250
228
195
252
185
213
256
225
246
260
250
203
152
285
175
203
326
225
216
250
218
253
217
170
267
260
255
216
126
253
165
152
156
354
260
204
221
189
238
233
225
189
233
233
213
114
174
268
204
330
285
238
209
261
220
263
151
173
250
313
146
228
228
303
231
214
261
365
185
226
214
265
267
236
150
240
206
178
254
239
247
284
183
252
171
221
253
245
224
238
202
283
260
277
249
230
239
221
306
225
192
319
231
253
184
199
230
251
265
219
180
192
263
273
219
240
249
228
274
280
198
235
215
214
319
214
227
327
177
285
198
222
217
245
165
310
194
175
182
135
246
197
197
202
209
203
232
182
227
233
285
258
294
173
161
247
203
116
268
186
227
121
281
226
293
263
253
175
177
308
220
201
235
168
195
200
312
269
130
157
139
208
253
216
231
204
265
175
308
251
262
217
229
247
224
195
230
215
218
220
302
330
189
212
239
178
224
238
287
311
267
191
198
248
223
191
299
283
199
228
221
291
263
149
243
214
231
152
246
235
168
226
191
247
229
184
233
190
202
314
236
213
198
238
266
179
256
211
232
216
229
251
207
215
302
219
217
151
200
278
236
222
222
309
259
181
166
230
156
205
257
269
207
156
197
283
263
224
237
218
262
216
230
184
282
181
189
258
229
206
208
155
227
244
180
213
224
294
267
275
276
171
324
258
265
239
222
209
222
304
290
185
283
242
247
165
222
217
181
168
249
264
166
306
261
233
240
316
265
214
209
234
211
240
231
205
178
150
326
152
215
277
270
214
311
220
264
196
253
287
199
263
190
233
197
185
209
246
217
280
237
235
179
246
201
276
190
225
178
260
203
306
213
276
281
241
258
292
226
237
247
204
215
235
210
219
249
229
230
292
314
249
145
202
183
259
283
182
207
198
244
218
191
276
178
174
210
277
198
274
304
260
215
116
222
237
292
233
266
147
267
217
202
176
158
257
195
242
299
184
211
145
236
235
196
247
114
287
206
241
269
269
188
255
255
212
221
205
191
230
156
223
265
206
154
234
194
257
211
183
208
320
224
262
180
255
198
227
156
296
246
114
194
251
196
240
209
156
234
192
176
288
227
211
312
250
114
270
222
325
296
163
217
231
295
240
348
235
114
240
204
218
222
234
227
218
238
205
268
275
229
311
219
267
234
246
223
153
263
180
232
253
198
188
283
191
188
292
212
172
219
245
214
235
129
195
216
241
202
209
203
273
290
242
241
245
252
199
217
251
209
212
258
207
210
332
259
175
198
192
199
257
238
148
169
177
278
151
327
241
183
228
169
139
279
258
193
280
250
214
175
152
234
214
195
294
334
294
221
213
212
219
133
160
215
243
251
315
277
160
231
165
243
216
152
177
114
121
198
233
175
241
246
173
267
201
154
202
218
174
249
203
181
279
214
210
222
198
262
198
232
194
248
192
285
255
268
251
186
242
233
174
249
152
183
199
133
177
273
263
255
267
274
211
263
195
220
193
226
160
267
169
160
315
241
264
209
181
329
208
232
228
233
182
289
152
197
173
222
250
297
261
281
310
270
277
281
192
221
181
199
246
225
218
224
201
301
159
202
344
243
231
276
215
201
243
223
207
199
199
197
212
206
276
219
262
114
245
114
258
205
273
246
151
220
230
276
224
237
184
225
257
254
180
199
234
216
266
257
274
319
192
208
170
313
212
282
285
232
212
283
284
160
210
199
243
253
245
252
174
235
271
262
191
259
161
205
311
259
172
151
214
280
273
197
208
273
244
283
173
280
291
194
267
214
263
265
243
233
245
114
197
234
252
198
212
194
254
237
198
276
190
249
203
192
201
213
271
203
212
245
247
273
209
191
151
215
290
126
225
253
213
174
307
248
295
207
173
190
114
175
190
220
226
270
241
240
226
202
251
167
212
265
299
234
300
271
254
199
199
203
182
166
211
178
206
240
196
193
259
250
206
215
218
199
146
319
191
257
213
220
227
217
260
235
299
185
219
257
266
287
290
192
275
195
217
172
216
215
151
192
176
240
171
298
252
213
235
205
187
290
292
214
258
217
184
228
242
225
339
224
225
238
170
229
256
128
241
232
220
247
260
150
250
253
263
188
228
200
195
237
189
204
271
187
179
320
230
240
164
226
114
205
185
294
213
114
310
176
181
238
155
256
278
106
245
177
260
251
252
181
181
165
181
274
193
164
217
180
160
275
197
262
157
239
259
207
291
214
261
224
208
219
192
231
211
307
230
300
234
167
261
241
230
266
242
202
241
169
269
238
230
200
181
207
310
211
200
237
267
161
242
219
263
178
227
253
200
189
173
165
305
293
183
172
147
262
208
148
139
239
369
215
187
200
211
201
220
270
252
176
245
232
240
229
219
301
255
209
193
226
316
228
259
239
214
218
300
192
250
279
252
244
181
191
174
209
146
181
214
184
177
246
257
230
222
221
167
281
173
239
257
169
225
201
172
280
255
222
239
264
175
199
252
260
212
285
238
207
229
221
201
284
199
209
170
248
203
165
231
227
210
229
211
251
241
174
171
151
254
139
169
195
209
208
197
250
287
310
246
198
261
188
216
236
183
184
307
256
182
243
300
226
196
243
178
204
194
226
206
244
194
217
144
208
261
149
221
250
133
227
265
286
208
223
245
249
229
186
342
203
254
251
242
265
202
213
242
116
267
215
220
173
215
163
248
242
225
225
161
203
183
217
279
260
286
234
121
281
233
232
183
176
218
253
215
218
177
217
212
254
238
221
157
235
222
225
195
236
225
228
197
256
257
221
306
200
252
217
230
286
181
213
221
283
232
246
200
300
214
279
301
240
255
222
269
279
242
233
231
256
144
326
224
184
227
223
278
212
253
266
250
198
177
305
191
345
192
174
146
282
224
308
286
203
179
170
285
277
289
272
230
235
203
265
173
313
274
293
222
272
178
238
200
230
215
219
189
166
230
269
231
231
256
164
211
211
152
240
266
191
229
201
249
229
175
220
175
221
278
212
108
203
258
192
240
253
282
213
230
164
263
251
228
321
253
152
261
222
214
299
194
250
196
247
212
266
228
191
179
268
166
198
202
247
298
349
275
161
114
222
227
185
160
222
245
351
291
199
222
233
200
163
247
178
235
278
183
185
169
235
259
239
215
218
186
213
175
266
242
158
256
318
236
218
155
114
126
196
244
219
307
261
300
251
177
309
210
282
177
180
206
220
200
245
225
264
233
253
308
216
214
178
279
195
146
193
255
237
200
227
260
186
159
212
219
234
341
236
252
222
153
165
256
213
296
209
286
175
283
286
344
180
211
291
275
160
256
241
271
157
185
183
260
206
297
254
223
242
231
222
328
179
229
200
184
262
211
259
178
215
195
182
250
181
218
217
254
255
202
198
256
263
335
265
245
164
203
194
203
192
274
197
186
251
212
229
234
234
192
219
290
195
261
211
216
246
207
287
214
244
192
221
190
174
219
158
198
207
206
265
258
358
233
191
219
145
249
181
239
244
237
252
231
303
222
238
205
289
221
191
181
227
275
251
305
114
284
200
173
194
230
267
269
298
213
222
220
171
275
284
212
213
216
203
191
287
198
233
156
241
185
300
114
149
213
278
258
160
108
274
163
172
161
295
207
307
234
296
180
197
184
144
181
130
200
201
270
263
201
170
243
223
176
274
200
205
236
240
202
268
156
247
281
237
197
270
287
218
223
244
207
232
257
261
222
309
228
164
208
192
226
219
188
242
237
289
173
263
223
230
239
212
285
190
207
187
181
267
260
230
204
229
246
253
197
202
219
340
241
224
206
232
169
191
227
194
241
173
231
218
210
210
229
133
250
192
212
188
276
286
257
277
243
247
170
210
182
313
176
259
237
246
224
277
253
214
286
209
265
253
268
300
260
211
240
245
278
216
253
149
244
239
213
190
191
175
184
196
223
205
200
217
225
228
227
222
114
197
225
257
205
225
201
227
288
209
184
229
146
238
238
170
252
216
227
210
284
189
255
264
271
151
243
144
258
252
285
210
320
218
270
242
170
256
212
186
268
223
254
226
183
205
231
207
235
345
209
261
290
249
219
236
247
260
261
248
253
214
282
205
238
145
200
198
228
200
246
210
224
215
257
241
311
202
211
176
243
235
239
292
202
264
202
197
210
230
245
230
262
267
259
221
259
189
262
203
204
207
209
242
224
204
286
221
158
253
191
188
197
223
312
201
196
306
212
223
249
260
114
210
283
207
196
235
220
285
271
191
223
216
167
221
218
204
213
231
213
231
200
188
201
257
175
271
221
298
312
217
256
300
271
201
114
237
275
205
114
307
166
198
207
202
241
126
286
178
244
224
252
234
246
192
242
258
215
180
163
114
239
223
254
252
335
191
171
204
235
239
215
248
199
279
262
288
232
240
311
242
267
292
254
228
240
262
192
268
230
230
262
229
253
283
260
221
203
203
207
300
255
218
160
257
198
235
206
173
147
205
228
197
204
203
208
195
152
216
126
205
200
213
229
271
224
205
239
151
325
200
106
174
174
213
213
269
261
195
276
291
273
229
203
260
189
168
206
217
209
287
172
166
269
182
212
310
197
205
194
320
231
234
265
265
208
274
245
258
224
177
190
276
154
259
173
176
296
246
218
323
192
209
267
228
276
205
170
195
247
174
114
243
238
178
279
287
242
157
237
198
217
184
202
196
213
252
169
228
175
259
166
253
297
173
183
209
272
251
278
251
231
207
212
179
295
245
221
207
252
247
304
200
259
246
238
197
320
326
170
259
222
201
208
158
229
229
218
206
227
176
239
177
173
226
184
139
258
224
312
205
212
206
227
198
190
191
250
272
260
230
174
207
233
249
162
129
205
241
231
219
236
227
309
201
308
230
161
259
184
224
293
122
245
201
106
257
240
192
246
173
210
215
158
236
316
293
193
188
202
206
204
200
168
229
349
234
165
170
191
218
209
338
234
233
292
223
207
290
168
226
168
239
252
214
204
222
236
189
221
214
306
212
114
241
297
196
202
305
165
228
355
246
192
233
268
181
171
256
242
210
139
342
238
154
204
200
224
114
341
170
333
195
177
181
227
202
282
145
263
180
219
281
192
238
179
182
156
228
168
208
205
226
292
240
231
215
227
292
161
246
170
223
197
220
199
199
181
255
212
311
217
213
214
274
173
229
253
274
231
151
224
139
121
250
265
226
181
199
167
226
174
234
259
213
280
212
247
258
225
219
263
181
184
193
176
338
257
242
287
232
188
279
175
231
253
305
219
187
248
217
226
247
213
212
197
189
274
166
170
321
284
201
175
219
229
304
157
152
279
250
258
268
178
298
296
189
223
246
224
227
241
233
274
163
198
223
197
233
233
308
167
236
238
222
237
297
219
233
253
170
170
185
178
253
171
231
205
200
208
317
207
156
116
288
343
220
242
198
236
277
216
164
193
200
256
224
156
194
152
227
216
188
231
285
282
180
295
169
177
260
274
266
195
232
186
233
192
251
268
165
221
322
193
218
189
258
255
247
160
196
234
211
222
202
303
308
274
209
219
267
279
254
280
195
211
224
261
186
176
239
248
178
300
272
179
241
219
153
263
219
282
303
216
221
151
219
168
252
175
307
206
242
234
296
196
174
255
254
202
156
263
229
224
275
187
233
273
267
237
227
106
188
302
152
224
264
229
235
278
205
211
187
240
290
260
189
255
232
177
269
160
195
256
188
172
258
256
178
224
267
230
234
240
197
299
180
249
192
208
269
241
306
207
208
213
210
202
178
207
263
296
304
207
287
235
270
257
249
165
257
201
360
242
250
285
185
199
235
164
211
254
252
287
163
242
176
252
231
341
251
243
285
239
263
184
240
218
270
274
217
200
170
238
168
199
208
207
174
216
215
314
254
181
229
175
154
200
146
220
189
235
243
291
189
234
241
185
278
267
205
206
265
220
291
229
174
250
222
193
174
201
165
235
192
170
208
283
180
196
255
271
262
227
204
151
216
223
249
217
317
239
231
277
334
192
194
252
261
202
211
183
291
169
230
267
253
212
266
174
277
231
266
234
219
220
316
181
249
203
299
281
229
219
275
193
126
240
222
256
195
180
266
247
240
235
245
265
225
193
258
206
231
290
216
250
226
165
255
197
234
160
250
162
230
183
207
191
234
262
278
221
317
197
151
162
275
277
241
202
198
180
309
305
241
128
152
168
293
294
180
193
225
216
247
172
181
288
243
179
275
283
184
239
225
291
320
283
253
273
170
296
213
321
287
267
200
170
178
250
183
152
291
193
192
236
225
218
210
202
303
200
219
180
258
219
166
255
249
202
147
238
181
283
191
199
176
192
250
246
166
214
201
270
193
210
191
126
278
291
268
346
263
283
240
316
208
217
247
229
287
228
188
229
183
233
194
240
222
216
288
195
166
243
279
277
238
311
255
269
258
241
305
170
328
176
187
234
181
228
307
214
240
203
169
209
199
214
285
188
224
184
260
236
262
178
253
204
178
271
178
228
206
211
258
248
227
233
182
250
257
271
186
236
244
219
193
222
245
221
245
252
229
259
181
237
206
219
271
198
239
278
166
194
173
271
292
239
145
227
207
185
262
214
264
200
246
178
236
178
194
160
156
278
220
174
193
253
185
234
245
178
202
160
260
218
221
192
286
262
244
250
213
297
304
260
145
284
188
297
217
166
169
174
221
285
236
308
185
277
238
202
265
234
247
268
299
160
244
253
217
255
258
146
237
200
258
214
169
181
192
214
283
193
170
152
273
221
194
201
283
250
209
256
260
188
220
188
206
306
196
194
144
282
175
191
235
204
236
256
246
215
238
178
166
218
223
247
201
275
193
255
217
233
227
293
228
176
262
250
243
178
239
228
261
289
228
291
154
314
226
283
203
244
151
220
215
259
177
246
269
273
341
267
154
236
234
250
221
286
241
241
230
139
307
283
284
234
161
192
222
206
251
219
207
281
198
197
226
264
270
173
165
194
241
152
240
152
350
247
200
287
217
246
328
245
226
156
300
188
172
221
268
223
178
330
176
206
253
218
241
189
218
298
260
250
214
221
336
231
208
279
178
238
194
245
214
192
194
241
288
245
208
292
130
221
259
220
194
177
221
284
231
154
210
210
198
184
214
275
200
237
205
219
229
236
286
276
257
215
259
254
298
179
264
274
262
256
203
276
242
275
251
205
275
183
218
189
218
244
257
178
202
173
204
198
274
258
253
242
200
203
255
220
255
177
239
219
201
227
253
250
198
248
182
238
250
170
236
253
250
191
215
165
195
251
224
173
141
249
231
292
262
205
160
215
209
204
152
196
156
202
213
182
145
215
184
210
318
144
204
218
249
206
221
224
293
252
159
165
211
200
227
235
243
266
187
240
293
240
224
262
292
169
239
246
233
265
227
253
186
116
317
288
208
247
184
203
282
257
227
138
126
291
194
238
207
272
303
222
224
227
151
241
198
296
290
240
242
304
250
242
220
279
208
283
227
193
268
183
302
231
225
227
188
264
243
156
193
181
158
190
133
181
265
195
185
248
170
189
206
155
208
208
244
192
259
276
114
301
162
233
288
221
293
220
254
179
211
276
299
229
221
254
231
231
133
192
280
211
313
241
235
194
246
181
287
218
129
285
246
220
162
267
251
209
182
278
245
178
222
157
271
245
250
327
211
171
139
228
177
198
225
158
251
207
240
231
244
273
242
253
198
200
169
227
258
174
217
171
225
190
198
313
235
245
185
169
271
244
250
177
183
200
205
263
205
228
246
116
183
243
236
200
223
218
170
238
175
148
260
299
275
219
250
232
329
324
198
185
180
266
282
212
170
250
202
306
213
233
249
201
262
263
170
201
304
159
166
309
200
218
187
174
258
222
169
252
203
263
237
245
200
197
263
271
223
234
230
187
234
256
186
160
221
260
227
220
257
210
203
250
196
228
194
221
184
219
251
234
246
234
236
236
202
248
262
315
235
277
166
212
276
244
242
274
273
114
169
193
205
307
227
271
279
276
177
257
265
226
190
278
242
247
270
154
263
201
221
230
243
214
249
229
262
249
270
243
164
220
241
245
237
300
238
243
242
290
268
259
218
220
149
254
250
202
273
237
286
171
179
209
196
218
229
173
268
274
218
325
226
309
260
230
237
177
257
268
269
283
194
196
215
108
309
238
266
230
160
158
206
239
126
196
216
230
206
271
231
191
317
227
281
200
278
191
196
334
200
349
207
159
238
209
218
245
226
236
196
270
237
114
261
223
266
219
256
233
196
214
209
160
199
203
241
162
209
149
208
246
242
170
256
246
213
205
146
183
200
220
274
243
155
157
318
212
221
235
161
290
257
217
309
256
154
172
225
206
217
235
214
173
226
256
276
218
246
187
220
200
246
169
174
229
313
263
240
262
260
237
278
223
222
277
208
145
225
233
169
267
238
283
161
273
195
222
214
254
248
217
246
141
227
192
238
229
305
192
114
249
236
251
241
269
257
157
259
272
228
302
231
230
226
152
273
106
214
233
182
243
180
256
143
236
219
223
192
171
192
228
259
203
175
203
278
230
199
237
260
192
209
230
180
225
213
310
165
191
319
204
219
290
276
230
292
277
175
160
171
237
208
250
297
208
260
195
188
264
235
195
247
147
170
156
258
230
204
274
194
312
207
255
303
252
176
243
212
236
264
192
184
180
179
253
268
214
226
252
192
235
201
209
273
242
231
193
195
114
261
178
211
234
195
277
309
214
208
193
202
217
232
220
234
172
170
218
274
254
211
204
259
263
165
308
230
263
305
191
303
270
244
253
206
199
250
233
205
141
354
145
145
273
225
241
208
229
213
199
179
304
201
232
160
185
210
183
271
190
295
156
253
243
160
287
224
268
195
229
231
301
194
175
229
272
264
348
253
229
252
241
220
240
292
264
219
233
198
254
240
142
279
231
217
224
198
178
246
205
199
173
277
264
186
162
232
242
304
161
285
289
229
209
266
208
220
247
182
291
249
145
242
213
226
174
170
235
196
229
237
310
217
201
326
245
184
241
215
245
239
205
214
176
152
308
188
275
216
248
239
154
219
170
156
214
230
244
223
300
244
114
260
168
254
319
133
178
222
250
165
268
247
200
209
212
185
228
281
192
224
222
276
223
152
179
301
230
183
229
184
221
214
279
238
247
270
189
207
218
243
282
260
280
235
198
235
160
144
222
204
224
209
170
206
248
245
284
250
330
286
176
302
198
243
235
233
224
252
259
182
147
222
304
200
209
183
198
191
219
207
277
237
134
235
176
228
277
288
238
222
232
276
237
149
240
261
218
284
180
282
187
259
206
247
191
167
210
251
336
277
156
282
211
201
260
285
184
217
307
254
225
213
266
237
251
258
280
249
186
224
254
279
270
235
260
332
204
184
219
231
253
156
130
228
148
173
231
201
212
219
250
114
228
244
198
237
309
239
266
210
220
181
243
274
210
263
294
254
159
126
162
233
306
266
219
195
258
178
212
161
181
209
226
219
169
276
205
187
256
202
210
299
243
275
188
168
216
186
225
193
293
322
278
196
167
344
232
225
200
201
210
283
238
278
207
254
284
254
327
193
240
181
245
298
230
206
187
221
311
242
204
297
253
145
211
149
177
166
248
241
184
284
225
229
249
206
204
216
211
160
255
178
290
197
232
266
282
294
237
199
214
213
267
194
121
275
225
197
160
166
229
169
181
253
165
174
224
315
238
178
227
219
222
290
276
170
193
247
298
199
121
198
191
218
151
266
218
177
178
255
192
139
222
207
269
185
256
181
175
165
178
282
226
249
249
160
233
270
208
200
239
249
277
284
198
220
209
191
233
224
270
231
235
149
209
213
290
166
172
170
272
237
195
284
259
240
257
243
166
219
296
292
226
257
240
235
246
215
300
145
201
271
201
290
239
301
242
208
296
134
210
303
202
188
275
156
217
152
208
212
246
249
203
298
228
236
275
283
236
220
169
285
226
220
227
270
212
263
221
204
126
178
191
238
243
285
162
169
176
282
265
208
274
193
189
195
236
220
338
296
223
242
232
190
216
214
178
180
328
222
210
303
255
243
212
284
266
141
248
200
299
284
196
220
253
235
213
258
275
260
242
158
258
227
158
211
205
235
233
200
198
116
226
164
181
207
200
186
238
236
235
213
178
156
241
211
290
213
198
184
260
252
161
171
211
228
281
195
239
192
214
259
193
178
252
241
193
116
228
256
214
323
162
114
178
284
173
217
230
218
268
245
277
297
272
246
245
221
269
234
219
325
182
183
170
227
233
257
183
279
146
149
152
245
229
187
237
210
363
244
175
205
269
200
284
195
160
229
197
203
280
338
176
229
231
154
289
268
240
244
299
244
194
233
219
206
310
275
324
239
264
240
210
292
196
245
188
142
267
209
214
175
247
175
272
152
209
196
182
189
279
218
231
114
239
207
236
277
258
248
218
223
206
234
206
255
312
270
212
167
248
152
227
302
160
318
290
217
190
287
189
180
195
234
188
252
195
229
213
174
192
248
263
278
262
217
244
183
235
309
212
232
244
148
260
225
245
207
162
288
248
186
181
262
223
145
228
250
248
206
261
185
284
240
210
257
144
149
195
252
207
178
240
239
214
259
208
259
220
169
215
260
203
231
213
234
277
206
231
160
161
231
280
267
277
233
218
189
169
283
327
261
233
139
245
249
186
310
246
193
191
286
285
250
173
181
241
295
247
195
276
179
114
252
249
250
214
217
287
227
182
185
108
233
240
280
222
248
196
174
260
197
175
194
331
268
211
213
198
211
326
239
236
226
311
252
235
207
248
160
300
309
186
206
318
269
166
146
182
250
187
223
219
353
231
202
235
362
240
251
187
166
247
267
282
146
334
268
296
160
261
312
295
233
267
233
236
199
219
226
226
144
192
192
224
211
255
250
254
195
214
251
168
257
218
174
305
286
310
281
205
193
200
234
253
197
262
179
291
165
260
256
275
278
240
193
256
213
257
212
198
263
189
179
232
202
219
215
237
169
185
218
159
257
192
258
187
169
208
245
247
232
173
238
209
291
231
180
225
222
242
231
194
225
235
244
224
232
114
172
212
170
217
189
233
200
160
232
280
232
174
269
149
322
216
334
206
169
192
235
210
196
195
298
209
164
210
180
187
251
273
191
320
192
212
197
170
208
187
151
229
287
245
260
227
204
253
231
161
200
339
143
315
273
266
261
198
244
212
296
289
148
152
261
215
243
254
198
267
289
211
211
243
212
216
168
188
222
213
252
294
237
198
160
286
159
251
242
198
299
288
181
198
200
222
216
255
181
202
252
233
238
193
206
216
181
277
314
257
262
318
181
192
208
286
234
221
239
183
282
217
208
313
114
204
279
196
239
208
147
208
201
201
287
221
248
255
206
236
271
220
270
300
243
235
193
209
165
188
189
194
248
158
252
257
204
114
223
191
214
192
204
170
163
276
192
205
285
233
234
242
227
251
290
254
268
191
264
205
269
251
253
243
200
174
274
219
301
214
188
261
260
196
276
220
215
195
243
196
234
333
228
268
207
187
219
343
215
255
290
264
354
219
264
225
269
212
223
317
271
280
188
198
187
203
215
176
260
239
261
287
195
182
162
249
256
167
166
222
228
215
216
211
185
233
250
201
230
247
291
339
240
297
231
196
279
260
220
188
169
160
221
108
296
279
260
204
190
257
201
126
200
219
397
240
255
264
224
239
233
169
262
250
165
231
205
259
192
194
224
209
280
168
262
291
253
247
263
199
247
202
205
279
209
253
295
200
295
212
207
213
219
133
277
267
203
176
222
236
227
281
199
197
228
257
207
258
251
281
232
148
268
220
304
161
254
270
239
207
300
157
272
235
264
202
267
250
187
231
210
201
255
217
210
214
235
231
203
209
254
278
192
194
277
318
282
221
256
316
239
222
265
161
241
186
211
158
158
114
265
249
159
245
173
335
211
234
219
157
235
170
199
174
206
212
297
305
208
241
260
214
213
241
240
277
250
170
196
225
195
245
114
203
294
205
218
114
231
253
195
198
225
216
183
213
223
205
281
114
114
191
207
228
227
204
218
241
181
231
245
208
226
161
184
197
235
260
294
247
222
233
247
185
241
186
284
252
234
249
221
283
210
210
160
222
194
170
205
263
158
223
273
201
221
170
242
202
216
165
174
227
207
114
114
160
206
213
233
258
215
180
216
303
211
179
277
215
206
178
202
230
196
242
189
184
258
274
186
214
219
178
218
126
191
114
187
214
266
178
178
191
193
158
240
174
214
182
207
224
265
287
260
199
204
237
152
239
208
198
231
227
247
279
235
168
267
151
241
168
230
207
247
207
204
244
256
276
149
249
253
210
226
229
210
198
206
208
315
242
214
279
276
171
223
212
198
202
223
208
239
212
192
207
278
287
195
225
174
242
233
272
225
205
288
223
242
169
245
270
114
229
220
130
214
235
216
258
198
200
322
158
256
237
253
270
166
203
238
221
235
202
156
230
244
238
258
218
147
222
263
312
244
307
236
235
229
271
292
145
154
198
213
259
319
316
151
271
315
172
403
226
192
182
276
229
245
216
220
284
164
288
206
235
192
152
197
235
139
229
239
129
270
241
195
108
239
204
276
184
245
199
276
225
263
151
204
179
239
246
206
227
223
283
285
196
244
169
214
224
236
211
230
194
174
274
202
274
175
213
175
236
232
248
215
221
233
233
241
239
261
215
148
194
213
237
207
189
273
205
238
282
228
173
299
256
160
171
320
272
209
168
259
218
189
235
175
227
177
232
217
191
192
269
200
201
265
197
209
177
214
185
207
195
247
239
261
205
194
253
181
173
178
203
285
250
285
205
228
239
200
301
231
239
219
235
189
247
114
299
241
291
257
230
271
170
296
226
220
213
212
293
245
273
231
106
251
159
259
254
223
232
255
218
246
220
209
277
222
199
244
301
194
201
200
235
220
144
207
160
239
201
310
170
165
236
280
249
260
219
182
175
236
292
241
247
212
156
273
256
241
293
270
262
256
260
266
232
201
231
235
198
219
211
114
229
266
195
255
162
213
252
199
242
237
242
254
257
213
169
274
245
240
209
224
201
193
189
255
293
262
190
301
204
221
278
234
204
207
170
308
264
179
284
241
188
278
220
229
227
169
254
239
315
203
257
240
298
192
221
240
145
159
257
235
232
208
241
214
302
249
165
209
252
193
225
183
160
139
194
340
213
178
206
173
206
207
264
276
164
242
180
285
258
280
201
269
226
216
173
321
222
181
262
198
297
215
259
152
230
189
256
219
220
219
226
225
158
242
171
179
256
235
237
178
211
190
229
182
202
198
181
175
233
144
218
152
187
187
167
223
205
284
190
156
221
272
197
270
228
229
247
326
243
327
172
247
269
206
289
185
195
162
282
184
367
181
238
253
273
158
283
202
232
174
182
220
207
274
219
276
170
273
269
240
221
225
191
175
126
196
210
184
253
182
209
216
272
222
283
238
207
203
152
215
283
237
283
186
193
173
262
253
226
252
265
239
232
247
253
314
271
247
222
200
160
255
161
210
215
256
165
264
284
291
181
210
281
210
200
250
160
238
219
233
174
210
266
166
225
248
224
211
229
192
282
262
220
235
219
248
235
232
206
227
239
190
208
108
216
194
210
250
173
154
209
242
283
211
194
211
251
247
160
225
279
238
255
187
217
255
229
282
245
237
214
235
236
228
234
171
286
139
212
232
256
198
217
291
139
203
180
193
162
242
322
252
181
199
242
158
204
193
272
175
323
225
308
139
196
287
220
230
214
212
233
279
230
221
267
278
199
205
195
166
229
185
220
189
215
318
170
251
170
310
254
223
166
211
173
213
212
260
231
258
161
198
208
156
216
235
168
235
266
273
200
326
183
247
206
272
233
173
193
144
308
195
173
213
233
245
208
208
173
210
283
219
284
214
203
175
311
220
320
259
225
181
193
233
279
205
257
289
235
216
228
195
220
185
191
299
287
198
232
206
224
247
114
228
196
222
261
278
256
201
215
106
214
139
238
205
283
233
253
202
201
240
206
316
304
222
225
219
282
225
218
241
198
209
174
262
237
175
179
151
209
171
344
181
245
262
188
165
250
167
259
288
170
264
217
242
263
202
213
245
265
187
251
208
151
278
290
170
204
307
271
159
296
201
162
156
184
311
228
196
269
193
251
214
246
269
202
181
260
315
238
191
244
292
198
311
210
287
218
269
292
270
230
160
168
188
214
291
215
183
195
191
195
217
281
232
212
218
249
297
215
216
315
244
174
192
198
172
290
240
160
258
240
225
172
207
240
247
253
108
298
282
201
195
311
252
235
149
281
160
241
249
192
227
301
166
254
259
200
240
270
206
248
193
230
262
144
222
196
274
220
328
213
203
307
341
238
215
174
195
130
202
212
247
280
236
254
228
302
190
212
202
270
189
189
182
178
232
217
275
242
245
263
158
184
195
228
218
220
180
314
230
262
229
152
347
245
168
255
195
237
106
244
202
219
193
260
221
248
233
199
183
198
225
234
306
256
292
221
196
159
235
312
114
196
245
186
184
212
186
284
230
221
204
216
214
193
287
313
255
259
196
260
256
179
173
216
246
302
189
243
225
274
244
157
235
251
158
203
206
240
195
290
169
215
205
192
226
167
258
235
250
203
265
174
240
228
230
249
289
219
219
215
185
260
168
272
280
262
238
187
114
196
216
364
218
173
235
178
203
178
280
203
272
205
215
229
232
224
205
208
202
239
194
161
219
244
251
344
227
287
183
204
217
250
218
145
212
294
230
254
223
252
200
295
223
259
255
211
252
225
160
281
315
324
184
213
281
251
255
199
239
181
203
225
243
195
228
218
215
186
236
215
278
309
268
253
218
253
208
293
297
261
177
258
203
217
255
226
229
178
306
219
233
273
235
286
307
227
243
266
174
223
239
116
217
180
209
192
227
215
167
279
208
223
225
240
236
208
158
267
216
215
334
217
257
216
226
178
208
239
185
271
294
221
149
214
214
273
220
209
184
279
176
216
188
258
158
182
255
165
241
260
251
270
241
227
260
278
242
180
208
175
229
151
189
180
114
248
156
156
241
282
184
244
210
274
236
208
251
236
200
235
223
225
213
160
198
238
276
278
259
257
174
258
139
277
239
198
202
241
158
272
202
289
230
221
218
198
211
278
244
237
259
252
280
170
209
296
286
222
240
174
193
264
211
217
206
176
216
270
273
219
259
227
262
163
308
292
289
173
176
258
173
207
246
258
234
254
166
214
156
259
171
291
198
246
252
182
274
200
181
350
241
175
233
212
248
152
220
220
269
214
246
200
278
281
240
218
177
236
350
210
217
228
226
293
234
230
224
266
242
298
168
182
213
220
261
288
175
219
307
173
281
308
195
172
252
247
274
274
206
276
196
324
114
227
205
206
263
196
349
316
277
168
307
145
274
214
232
241
218
253
192
251
259
152
275
254
208
220
196
242
289
330
205
236
241
197
207
245
302
180
232
191
214
206
254
229
190
217
270
246
215
279
189
196
194
178
260
186
174
321
247
139
348
167
228
196
260
188
250
156
245
255
237
252
296
212
165
253
239
226
243
219
258
189
237
247
239
212
320
231
266
281
215
201
260
246
245
232
262
243
160
234
156
162
206
177
186
195
180
228
251
261
246
262
108
166
256
270
250
190
165
234
281
175
230
218
243
229
209
340
249
241
239
211
114
317
158
276
200
209
209
233
215
196
238
198
281
212
228
289
270
147
194
219
200
318
229
205
285
253
225
237
173
228
292
261
290
266
213
181
338
191
229
174
244
262
253
203
231
261
213
175
264
235
214
198
246
173
207
231
289
211
199
306
194
241
272
289
231
217
160
271
311
250
249
284
192
241
266
217
161
297
221
247
271
170
240
174
290
188
263
227
185
280
215
292
218
235
233
223
281
253
256
191
202
187
261
209
218
178
263
230
181
247
226
147
217
215
165
211
263
261
240
192
205
114
226
228
248
160
158
160
272
256
251
253
227
269
240
277
288
218
207
222
238
220
185
271
194
252
214
172
243
327
170
145
188
151
210
255
180
210
210
202
161
174
300
218
236
262
243
308
226
239
177
240
269
114
198
214
229
241
220
152
216
208
191
232
216
198
144
160
298
301
145
213
255
235
223
315
197
284
220
286
247
244
185
247
114
146
225
266
209
240
157
195
223
240
196
160
174
226
243
218
248
310
208
242
256
200
193
181
191
214
209
198
241
285
204
235
236
306
245
213
238
234
193
289
306
293
195
218
238
225
327
167
327
165
271
180
278
223
181
211
230
270
242
225
189
271
166
222
230
251
211
257
175
221
260
267
114
139
307
183
244
306
149
180
186
176
152
244
275
167
232
198
246
197
247
230
229
180
224
283
208
233
178
286
167
204
299
253
240
257
305
228
165
284
161
114
235
240
238
314
145
191
326
193
235
245
167
263
213
175
219
243
157
186
272
263
216
238
330
200
170
250
214
147
339
243
248
274
192
182
317
209
286
193
160
235
162
221
226
225
253
349
217
184
261
158
196
248
202
259
269
197
228
265
228
175
198
234
233
160
200
195
221
296
210
211
249
219
204
274
209
182
335
218
222
170
233
262
243
222
244
212
208
176
236
234
211
262
233
163
158
259
226
289
245
227
236
209
261
201
193
188
280
294
183
248
218
278
218
309
248
215
210
222
326
162
225
253
184
185
158
379
208
267
229
239
262
222
192
228
172
177
226
212
215
236
206
227
281
247
239
242
176
181
182
214
238
174
295
114
246
209
284
233
225
209
284
302
138
186
205
244
280
191
275
213
211
187
159
249
335
214
270
241
259
259
327
126
193
230
170
203
205
258
214
209
188
243
248
202
254
229
202
290
152
276
262
179
210
233
268
308
267
269
287
233
226
227
169
223
269
236
285
181
138
247
328
209
214
320
156
225
242
244
155
220
261
188
207
250
235
198
241
196
254
287
238
213
209
178
185
160
308
296
171
242
237
183
168
106
252
267
263
122
242
276
232
171
280
258
214
334
266
260
199
228
325
189
311
156
280
181
160
216
164
254
249
180
272
318
192
279
254
225
229
218
200
179
181
161
214
181
260
258
227
312
304
244
244
271
214
232
164
163
273
203
169
215
264
303
213
245
162
241
283
221
280
224
241
246
202
219
216
278
209
214
197
114
160
228
256
216
149
207
231
266
222
253
129
263
205
190
229
198
214
209
201
184
179
334
165
142
238
204
168
227
257
212
257
231
218
178
265
236
217
231
211
252
162
305
267
244
242
217
246
166
218
205
190
236
233
226
254
177
243
193
207
286
231
216
170
148
232
154
252
230
286
324
203
264
207
207
156
263
225
253
152
203
240
182
210
181
184
210
178
283
192
209
284
198
189
204
245
200
235
243
197
207
169
254
267
292
200
192
192
264
194
256
170
301
176
268
270
283
216
275
248
218
139
234
241
233
203
229
354
195
114
204
244
188
216
151
248
200
319
230
210
257
254
195
269
205
206
176
201
170
255
201
319
258
274
317
197
263
181
250
257
183
249
244
223
265
265
166
227
337
219
160
212
202
310
245
210
185
234
225
201
315
235
320
276
179
253
217
223
223
241
234
175
256
213
234
192
268
217
238
204
249
235
252
261
194
262
264
230
206
209
285
240
303
240
225
114
365
228
239
188
302
244
193
181
349
202
256
258
320
252
249
182
245
208
165
160
114
213
275
210
287
290
278
286
266
196
277
308
181
216
250
196
170
268
241
314
313
205
255
190
217
258
210
241
234
184
176
223
324
298
234
203
219
182
214
233
330
228
257
367
157
213
284
237
249
166
114
237
138
162
156
281
336
238
218
260
192
238
254
213
188
294
214
221
294
201
272
257
221
209
259
278
184
176
114
232
264
217
190
181
195
212
275
212
227
234
219
263
196
219
198
320
201
228
162
234
240
299
220
192
233
252
221
232
253
239
201
263
203
274
159
188
261
256
259
225
321
214
221
271
265
246
178
285
151
152
193
249
274
237
191
208
196
185
106
313
219
156
154
256
233
208
162
220
225
262
243
255
192
347
192
133
225
248
165
160
216
201
216
181
244
253
271
276
263
215
231
234
239
196
244
219
180
200
216
204
272
222
218
184
198
190
114
202
254
228
206
268
207
235
243
259
202
225
268
258
255
269
274
148
170
266
181
218
198
223
214
228
244
272
151
236
234
213
268
275
177
240
237
149
171
215
226
139
235
305
154
190
196
301
238
230
215
225
213
301
201
215
299
224
277
236
247
155
188
222
210
222
240
215
229
227
208
170
208
216
219
182
230
217
221
198
253
186
270
139
322
224
151
284
178
166
230
180
152
262
116
195
218
178
262
244
288
282
228
224
160
193
242
215
233
209
267
203
347
250
263
129
244
262
154
222
243
260
178
292
164
190
195
246
195
229
108
256
215
176
232
229
180
250
155
184
245
185
205
308
286
267
208
211
194
189
261
215
126
241
174
248
238
219
261
175
211
212
284
230
219
238
162
216
198
256
220
221
165
185
226
151
223
212
295
216
222
250
173
245
262
279
232
198
206
261
201
229
273
239
199
198
262
209
156
170
184
272
171
185
170
256
227
192
230
163
239
222
309
145
232
278
267
213
230
217
183
198
392
225
245
207
302
177
225
237
291
217
210
255
134
186
233
202
216
224
195
250
298
256
295
212
218
178
222
253
282
243
188
214
233
270
220
208
258
164
281
228
299
215
211
246
204
211
237
247
300
213
159
151
215
240
250
283
266
192
170
182
175
256
242
243
220
220
265
194
325
211
242
237
254
246
241
153
205
211
229
234
242
176
256
232
222
239
165
229
223
239
196
238
207
233
219
210
199
160
224
174
286
230
248
204
301
202
191
228
245
255
244
283
306
240
165
139
247
223
221
144
290
225
191
168
177
163
236
208
178
347
233
259
330
317
165
308
207
265
303
226
247
205
211
242
231
264
210
213
264
160
203
238
172
188
241
214
207
194
278
274
181
209
203
282
214
309
267
205
218
202
219
227
291
201
228
214
162
211
318
162
196
223
261
224
221
199
170
285
108
152
211
183
224
234
259
167
114
178
202
261
270
186
178
155
313
227
170
209
233
186
287
253
275
190
144
192
265
172
201
258
249
176
227
258
266
332
196
215
230
214
167
184
213
301
203
238
249
198
246
197
222
156
222
201
280
174
232
168
201
194
197
226
214
225
200
241
162
265
272
148
178
259
274
225
227
265
273
224
255
126
175
228
239
139
178
211
183
174
191
187
205
129
245
151
215
190
187
316
232
195
234
280
210
250
226
240
164
186
215
218
114
146
219
188
234
198
289
208
165
168
236
176
206
252
254
244
206
225
184
209
159
208
243
190
141
255
292
188
196
286
166
301
242
260
264
246
233
244
246
180
207
182
195
225
252
301
206
152
200
220
188
233
218
155
270
253
198
170
176
266
212
168
244
277
193
259
294
194
289
347
173
238
215
222
241
256
224
229
310
193
262
188
305
167
232
221
148
249
255
229
223
267
279
174
211
264
271
206
147
243
215
246
271
273
309
348
255
200
234
149
250
205
221
254
190
179
174
188
192
199
179
239
213
300
293
240
240
193
248
260
265
231
261
200
227
318
283
193
225
173
139
229
212
261
294
289
214
282
234
182
264
285
315
235
199
221
232
253
183
230
195
233
238
145
217
253
259
312
207
214
297
237
215
191
209
217
260
259
204
145
213
290
253
175
211
121
187
273
204
114
267
262
202
219
202
235
229
233
212
160
238
166
210
259
207
282
239
188
246
208
252
154
238
202
214
300
222
194
196
271
222
114
244
260
240
251
192
184
248
207
227
221
173
235
244
183
254
277
305
199
194
181
282
251
312
210
209
155
151
217
235
218
171
199
291
279
240
160
149
237
278
174
238
213
293
275
305
243
250
186
302
269
174
247
174
266
232
190
216
192
163
248
251
184
205
238
233
265
266
224
214
216
196
169
299
218
273
253
146
201
210
264
277
246
242
297
301
179
260
245
268
209
213
186
208
168
256
236
260
225
146
227
175
202
190
272
152
181
170
244
189
193
221
174
167
260
208
219
160
209
215
244
199
200
283
256
219
224
214
352
305
200
192
265
158
292
307
296
180
266
212
214
203
190
204
235
170
173
195
150
158
114
149
232
269
248
133
256
171
221
249
318
215
241
205
217
374
235
182
313
261
236
270
261
263
238
166
214
231
201
243
215
231
218
232
280
195
319
225
275
220
187
220
298
243
235
308
257
276
212
221
199
158
144
287
245
301
296
205
155
213
176
292
217
187
245
247
242
208
277
288
170
283
194
181
251
139
229
224
175
147
215
212
241
170
189
265
245
299
126
198
209
223
220
317
296
192
312
295
237
195
284
186
255
259
114
259
203
244
266
279
114
256
227
183
186
317
229
186
185
226
218
206
182
235
214
207
201
198
170
198
218
286
175
241
189
220
208
225
297
229
206
229
241
220
156
261
229
192
223
175
225
209
219
220
292
237
257
305
193
277
276
186
126
229
128
220
208
268
227
212
180
202
188
201
221
154
114
226
301
290
192
211
177
177
198
232
344
221
240
239
244
238
293
244
208
230
210
190
219
220
300
218
299
173
233
246
204
195
261
269
258
183
264
181
251
178
218
235
193
283
267
184
265
248
221
208
178
185
181
191
243
214
212
274
206
233
258
219
135
193
197
193
173
190
181
229
161
193
258
273
236
266
243
257
196
265
233
262
264
180
225
186
129
260
217
301
129
245
208
234
252
230
260
126
196
231
185
214
255
213
225
286
184
243
156
206
222
240
281
197
189
208
305
220
168
278
181
256
184
249
207
220
173
146
253
277
132
155
244
272
219
173
257
212
277
217
275
239
307
223
178
239
187
213
243
211
182
225
234
217
224
247
263
228
171
293
195
225
155
228
258
145
106
198
210
208
312
126
239
160
191
215
241
276
245
264
224
221
252
291
206
177
233
148
318
242
222
216
221
211
210
226
242
238
240
203
166
151
175
207
251
179
228
239
216
174
235
217
130
219
224
181
209
248
308
233
316
166
144
227
189
246
215
279
158
168
114
141
218
199
175
265
235
171
258
215
191
187
260
265
190
157
199
222
266
114
297
208
159
228
248
194
156
179
178
173
225
303
228
205
158
223
345
202
295
193
246
253
255
263
165
249
219
227
253
240
280
215
238
239
228
235
245
221
121
237
178
290
198
183
203
174
173
179
266
247
248
173
198
145
181
224
291
213
243
226
129
253
306
242
180
289
166
195
220
204
308
140
211
174
168
240
194
240
241
329
287
173
287
200
204
145
167
235
179
358
247
244
223
244
241
202
199
253
200
206
242
179
192
279
181
231
193
195
189
129
218
187
263
212
216
219
279
243
191
180
145
213
165
245
227
262
236
315
218
298
245
152
337
162
259
252
341
286
274
219
188
289
264
235
114
217
205
245
190
154
213
278
241
248
215
203
212
160
192
171
210
173
243
332
279
211
170
208
237
212
233
237
161
268
275
223
206
276
209
226
202
195
239
202
277
191
245
234
323
272
279
240
187
270
161
242
217
106
242
289
249
229
178
241
294
231
179
239
239
219
262
233
161
277
261
180
259
324
233
242
285
152
232
194
227
225
214
239
177
218
106
249
280
261
240
130
200
249
254
200
191
290
314
320
145
189
321
240
212
228
158
296
201
177
202
277
195
190
196
199
223
246
229
174
174
226
231
251
250
223
239
157
226
270
246
216
220
238
236
192
272
206
165
187
238
207
229
168
271
237
207
218
192
186
185
240
228
197
233
296
336
160
301
263
208
222
220
169
174
254
154
229
229
196
226
195
281
262
221
249
247
312
270
188
149
257
215
218
275
195
197
244
194
264
253
336
193
220
212
207
203
175
229
166
222
205
236
296
343
241
222
268
266
229
178
178
147
243
216
169
245
210
154
224
316
174
238
200
184
291
166
193
223
263
166
256
273
215
217
162
282
234
314
152
195
243
257
258
183
196
178
174
276
233
231
183
218
220
230
262
202
283
262
230
283
294
302
243
248
198
185
276
178
193
211
353
256
271
313
174
229
198
239
238
264
250
208
218
181
256
219
255
278
197
237
227
148
220
186
301
244
201
172
207
262
168
309
203
285
194
248
244
226
227
250
126
160
222
226
207
219
305
263
173
272
195
226
252
209
282
214
192
214
215
263
192
334
190
219
249
198
233
179
221
230
257
294
237
257
214
225
204
207
202
261
301
238
239
250
317
173
314
189
169
252
186
198
233
213
194
307
214
186
257
241
260
234
226
249
209
240
213
214
181
205
205
159
219
233
196
233
139
168
192
225
199
191
275
152
170
277
209
149
218
260
145
287
188
204
144
230
209
278
283
301
198
229
267
325
170
149
196
221
335
208
237
192
231
254
308
241
207
195
174
202
169
200
273
227
126
247
238
194
219
260
187
220
227
240
264
241
305
230
296
219
130
253
235
350
200
285
259
227
238
266
210
223
210
224
187
192
234
173
139
195
283
311
178
174
238
204
209
229
279
367
259
250
335
181
152
181
214
217
176
176
226
261
269
243
232
169
238
261
219
269
231
192
294
223
187
204
278
210
183
172
195
191
156
198
214
191
244
200
191
228
211
234
158
178
215
214
326
163
190
280
277
271
269
173
310
188
306
160
207
299
165
221
203
237
261
197
256
261
156
264
114
193
265
272
196
305
217
246
266
208
194
245
203
279
270
245
210
199
269
178
212
144
170
225
230
282
220
279
170
274
157
233
244
212
321
160
213
188
248
311
225
203
162
189
207
186
165
292
251
240
271
257
170
183
213
305
196
192
279
164
160
206
227
196
240
282
283
217
214
197
302
230
184
251
201
215
310
216
228
196
241
147
248
249
243
291
281
218
162
165
185
198
289
161
219
210
226
195
249
139
264
168
264
195
191
269
192
222
213
234
251
200
206
217
227
254
286
216
208
196
296
257
161
189
232
260
218
251
238
186
238
265
174
222
207
217
217
238
271
267
203
164
202
245
202
161
232
257
284
279
207
248
243
234
258
212
265
309
174
235
293
248
200
268
225
236
227
257
254
220
240
224
286
165
219
224
262
235
210
283
210
198
256
254
220
174
210
231
147
173
275
274
173
243
216
209
222
195
275
206
199
126
181
161
173
287
278
192
289
288
253
264
243
334
214
170
160
169
206
206
221
288
241
170
292
193
181
303
222
166
263
186
139
279
212
203
178
114
207
145
212
268
178
218
255
221
177
166
194
212
232
166
114
230
265
234
205
257
145
160
242
218
245
236
215
219
152
130
233
280
258
238
249
183
206
152
195
260
161
221
250
202
299
244
243
341
244
212
228
296
271
232
318
174
223
190
178
213
208
225
126
267
286
202
219
173
259
200
254
269
169
153
343
227
234
215
155
291
173
205
262
212
310
182
226
185
279
193
114
225
183
268
212
159
173
186
214
220
246
246
281
246
198
198
267
246
231
205
187
222
145
254
195
267
242
231
185
320
260
193
190
218
235
282
181
328
213
241
238
198
241
114
198
244
269
293
318
157
146
259
300
302
166
251
223
171
191
305
204
195
232
200
281
185
225
175
114
298
320
209
211
299
225
153
278
283
224
168
229
222
190
191
237
215
303
237
269
139
250
202
204
130
217
202
191
226
267
231
108
222
178
108
229
286
182
172
156
178
231
269
193
180
214
260
214
201
233
202
251
228
244
147
256
174
158
179
245
198
193
200
192
260
253
249
232
274
239
157
237
257
221
177
275
302
228
220
243
245
168
293
249
229
289
246
275
209
193
262
240
217
273
288
238
237
261
202
233
174
241
188
230
238
199
207
260
178
261
220
257
239
273
232
207
241
238
198
204
249
235
238
215
184
256
239
219
318
161
251
218
241
215
229
242
189
170
231
272
145
256
219
275
204
277
213
319
218
248
340
203
169
272
212
260
258
248
291
248
184
228
251
262
201
255
239
285
160
178
195
243
210
291
246
248
214
114
199
251
202
206
193
257
146
285
291
224
214
251
121
180
226
225
207
192
249
247
238
238
174
231
256
170
256
309
230
152
196
296
222
190
267
289
206
261
291
212
327
214
189
221
240
244
232
238
190
180
188
192
257
243
219
284
208
235
312
174
146
298
207
207
191
280
225
283
175
169
189
272
206
258
199
156
237
194
292
211
175
255
254
216
232
186
178
249
192
199
167
246
181
298
184
316
166
160
203
208
225
259
277
355
208
207
200
156
200
303
246
226
247
166
273
290
198
297
249
249
182
204
114
216
195
114
251
225
163
202
218
273
278
247
280
186
207
285
200
187
221
266
308
203
288
170
231
190
255
246
268
196
214
224
227
200
214
177
243
328
233
201
351
200
182
206
238
190
283
331
174
184
184
232
242
188
259
321
216
227
232
220
372
180
161
232
160
211
299
157
253
272
272
364
237
217
234
288
201
233
151
172
197
299
228
257
231
161
213
202
196
171
284
198
228
255
210
233
273
165
177
290
210
218
313
180
166
263
257
222
218
183
300
211
264
202
240
270
114
231
249
286
248
177
288
188
212
233
209
267
244
168
286
262
198
232
227
259
207
207
196
191
236
159
177
186
172
302
185
280
244
210
256
238
191
326
252
257
302
244
266
197
256
215
199
243
238
261
176
274
156
258
208
208
223
211
167
233
220
226
244
274
153
193
253
262
217
178
156
290
235
238
188
203
222
218
172
272
244
225
260
215
240
258
157
297
282
236
173
228
238
218
223
271
290
202
188
227
258
256
254
290
227
227
273
271
251
159
191
202
246
139
257
229
178
276
249
246
215
194
287
181
176
228
268
264
231
247
279
338
208
281
181
218
161
197
255
199
184
286
277
195
241
272
212
126
192
261
210
280
181
220
298
276
177
223
283
177
237
194
179
216
213
180
236
241
211
227
163
204
155
221
191
211
252
158
223
229
170
277
236
146
259
247
210
180
215
287
206
270
294
212
262
232
190
225
168
211
146
215
218
274
221
186
221
249
267
198
224
160
288
203
188
251
318
271
237
309
178
260
204
300
221
180
251
237
237
287
244
250
284
219
194
242
251
167
187
231
314
226
233
253
222
302
255
185
170
207
182
222
265
253
280
267
194
244
278
278
254
202
254
218
203
216
219
204
250
187
170
294
244
248
257
242
258
159
147
114
202
193
165
218
268
162
220
270
229
273
265
333
213
145
201
291
199
344
172
218
214
211
170
254
263
254
208
167
222
245
215
287
274
228
223
254
214
227
254
183
329
235
246
241
209
147
220
237
244
243
285
233
214
260
247
282
239
292
238
240
196
226
202
206
241
176
227
266
190
259
277
275
183
187
285
228
139
214
252
207
244
269
241
209
211
223
199
225
253
301
193
299
262
176
260
186
265
130
171
190
233
179
287
268
269
253
305
232
158
178
263
268
211
187
172
245
191
256
295
265
271
187
280
263
269
233
220
233
208
210
276
253
240
156
228
237
177
200
202
237
190
198
170
234
177
205
205
286
229
308
174
237
198
274
179
193
220
130
224
210
267
257
207
196
217
218
254
171
298
225
250
224
233
248
272
116
228
195
220
149
282
209
292
201
198
171
227
290
235
275
258
192
208
192
211
221
235
190
270
215
169
216
196
198
208
259
317
219
227
244
204
203
235
244
194
170
249
207
280
209
221
237
154
247
199
243
202
294
250
215
213
296
184
271
286
266
228
173
157
177
164
215
185
201
219
241
171
173
327
235
173
219
218
175
204
267
230
260
106
249
231
314
263
306
252
221
232
221
219
198
179
178
215
266
303
282
197
219
151
216
174
244
192
256
192
224
196
191
191
208
202
183
232
197
194
188
193
218
281
164
223
206
261
148
167
222
183
173
251
315
213
285
171
114
197
230
240
233
230
154
239
190
175
216
250
149
211
225
195
268
114
171
233
149
203
202
178
216
210
170
250
313
188
161
296
252
322
218
270
184
178
151
276
246
215
114
200
287
164
233
239
269
257
245
214
207
227
221
314
195
282
314
238
297
228
250
311
233
289
176
320
257
233
257
208
196
206
328
239
263
198
238
223
284
250
212
227
205
238
226
213
254
311
176
224
114
240
304
224
232
256
192
160
223
196
194
200
148
198
114
246
244
210
254
247
299
220
261
216
114
205
271
227
145
220
228
244
244
268
324
249
220
189
270
167
225
315
273
217
244
260
331
227
212
129
295
277
189
324
231
200
178
175
250
283
139
195
247
199
238
233
238
213
208
272
198
210
288
208
246
145
361
196
255
130
229
199
298
178
208
179
288
205
195
217
108
217
218
239
240
239
188
260
214
193
243
171
219
354
183
179
174
231
174
194
251
239
177
314
248
233
242
195
226
271
259
263
240
235
292
248
331
229
245
217
233
220
244
180
198
188
263
211
200
271
199
199
254
172
327
236
276
224
220
196
333
272
169
206
213
221
254
222
196
235
225
216
223
106
272
204
220
287
226
213
256
223
248
231
247
247
315
234
203
204
246
208
175
151
256
271
217
209
257
156
211
260
226
192
209
169
206
235
215
248
215
211
190
170
206
282
184
230
198
160
186
160
226
243
198
226
114
180
300
231
180
187
212
295
171
209
198
322
191
259
201
330
199
197
211
242
268
275
214
249
238
237
275
220
158
262
354
225
193
199
194
249
233
184
269
291
231
224
222
187
196
263
191
180
220
235
322
226
253
242
287
216
152
161
222
244
252
222
235
184
300
170
211
225
284
281
240
184
215
183
236
301
160
129
231
304
248
139
307
241
250
141
230
187
191
266
253
206
219
114
184
278
237
252
256
277
229
230
208
190
160
257
311
254
188
216
210
218
224
204
243
244
268
170
220
211
169
196
228
314
175
139
224
263
152
242
294
306
279
213
139
174
299
187
209
286
284
295
262
255
200
285
216
226
234
206
296
174
245
226
198
286
176
249
207
185
266
276
244
219
226
213
229
116
174
211
200
180
204
213
198
240
235
121
230
239
363
305
231
167
234
222
334
239
280
208
218
228
170
303
235
328
299
251
235
114
299
234
256
294
204
271
152
238
234
251
231
327
269
288
209
193
173
289
242
288
159
187
200
236
254
201
265
225
202
181
261
192
197
166
257
145
156
247
285
184
279
245
272
203
259
258
204
244
146
244
242
173
195
213
324
225
271
266
175
221
215
232
186
223
212
282
270
224
188
198
149
279
114
230
262
275
178
200
255
283
209
238
264
203
220
182
302
165
224
243
186
244
228
266
241
222
209
194
189
237
171
174
203
207
211
228
264
205
220
199
211
151
222
201
241
248
133
202
213
239
266
195
284
205
215
222
291
288
253
183
210
192
244
222
164
225
197
219
236
264
331
188
245
233
217
243
229
309
106
185
259
247
175
175
194
178
201
328
293
230
200
198
233
257
241
239
153
258
390
291
240
205
178
256
234
221
129
305
108
232
219
183
199
152
266
239
252
196
177
286
310
170
201
215
323
258
265
244
206
179
200
206
299
179
284
247
266
299
260
326
234
146
229
197
150
232
226
211
202
255
140
223
222
139
269
323
245
166
259
210
210
276
189
198
241
249
213
290
242
185
300
205
207
208
289
158
259
206
145
229
151
270
252
191
152
242
226
165
219
245
210
232
189
171
160
297
229
262
284
208
219
193
226
224
265
218
248
279
186
283
230
244
228
204
283
197
260
160
217
215
195
233
260
294
197
265
253
272
258
265
198
214
262
238
218
260
236
251
168
218
180
222
204
229
217
220
296
225
187
237
268
156
239
205
264
266
219
238
242
197
184
232
241
156
279
235
229
236
180
253
211
240
213
226
215
233
296
240
199
180
356
195
192
232
182
178
220
221
158
259
247
186
218
235
211
256
157
220
176
129
282
291
207
231
199
170
223
209
346
234
196
218
195
275
166
204
178
279
178
178
268
250
291
170
192
189
201
212
114
200
246
286
231
194
196
263
245
178
165
183
230
274
218
253
246
271
248
262
197
203
223
129
238
234
287
222
187
211
188
223
177
241
303
210
228
252
216
224
219
257
173
234
210
239
166
238
170
219
179
217
172
221
146
227
281
194
255
247
205
192
259
247
194
306
156
208
196
208
234
228
160
149
238
212
244
205
276
210
180
259
242
252
237
276
222
245
116
176
220
246
248
244
228
219
285
217
130
297
152
233
328
219
219
265
198
244
230
195
215
176
189
199
183
253
271
242
233
294
247
168
263
218
257
283
193
271
205
114
206
301
237
259
244
184
175
192
225
328
216
208
191
240
243
192
300
225
139
180
200
262
178
273
269
211
230
209
218
276
179
241
233
284
191
241
293
184
134
205
246
194
129
199
177
173
275
231
249
258
192
240
156
247
180
230
249
354
233
274
258
211
287
170
269
246
247
155
273
250
197
255
253
214
177
190
233
219
114
225
181
157
282
241
303
269
208
235
265
314
251
154
196
277
151
196
304
216
210
193
278
310
161
220
258
258
232
167
245
229
296
251
217
218
180
252
148
209
280
179
301
152
254
191
178
151
240
280
177
178
255
289
242
226
318
214
305
195
178
234
233
160
198
256
225
229
194
133
285
324
231
192
190
188
198
177
192
217
202
195
252
221
166
297
185
243
253
129
259
257
207
220
290
160
234
256
260
233
196
252
318
239
205
247
241
219
260
235
175
221
181
182
269
165
187
173
219
266
221
188
195
126
253
253
243
195
214
241
268
183
306
229
249
174
166
139
256
192
245
261
306
246
310
233
180
156
234
291
248
184
178
285
303
206
189
165
244
267
222
210
165
207
193
212
212
193
214
175
240
243
214
239
209
182
231
253
146
178
283
231
239
199
183
176
300
158
196
174
139
178
174
205
198
211
195
254
212
300
265
239
224
191
230
246
220
140
179
218
207
186
254
264
175
269
232
269
256
249
231
243
203
208
271
216
191
196
211
245
236
309
212
208
186
209
144
214
186
250
174
223
205
188
261
217
245
114
232
278
219
192
203
180
279
213
198
266
283
241
220
271
129
267
282
268
219
207
266
195
267
159
222
250
266
234
160
288
174
247
264
223
308
175
258
247
285
239
228
210
243
234
240
203
226
201
161
214
145
221
280
262
222
241
258
260
191
156
247
180
235
292
184
200
114
293
266
192
211
199
207
192
313
214
249
144
297
239
293
199
342
273
282
276
234
170
217
165
245
312
223
268
144
261
233
232
149
254
287
205
176
216
206
283
201
208
288
222
233
298
203
226
278
225
171
252
213
240
233
228
256
194
217
191
232
182
170
248
269
269
194
145
219
205
175
196
203
180
152
222
156
139
285
228
245
290
213
234
235
235
231
186
292
231
139
249
229
276
212
263
171
162
214
212
249
234
249
192
190
244
261
216
189
207
277
155
252
257
255
234
192
175
233
175
202
267
223
261
158
314
193
271
211
205
256
223
239
165
248
203
178
235
236
182
258
250
208
400
246
237
184
311
185
251
228
215
256
288
232
180
230
255
257
241
269
235
210
254
192
229
214
145
149
262
323
245
240
226
283
169
301
209
121
333
211
195
231
285
271
193
285
262
142
212
261
144
283
284
264
201
207
278
184
243
292
292
215
240
299
269
252
225
251
173
243
205
166
151
280
259
165
242
242
192
178
164
202
166
195
200
300
222
170
161
268
259
203
205
299
151
209
230
289
202
156
282
308
196
166
142
231
216
288
213
238
206
244
211
157
207
203
274
191
201
231
246
243
180
292
211
258
157
238
203
226
221
218
224
215
186
261
309
230
274
232
237
219
121
166
292
280
275
193
210
178
281
185
266
214
200
210
228
220
292
254
223
160
238
191
177
170
225
310
214
187
173
198
357
291
219
284
297
282
205
208
188
214
220
298
180
196
242
229
249
284
206
160
126
310
231
152
255
194
284
206
219
230
257
197
199
244
191
296
215
188
198
229
176
232
232
222
248
173
202
200
245
116
214
227
160
262
249
215
232
238
200
317
354
262
170
295
201
219
192
174
174
167
243
230
246
220
196
238
199
239
228
247
220
279
281
154
283
248
247
167
152
174
202
209
195
198
291
207
199
196
204
226
196
195
240
239
230
217
228
161
196
195
175
216
199
204
178
215
239
303
196
164
208
298
285
175
229
235
267
197
193
236
193
317
144
184
296
215
203
220
303
268
201
235
228
252
221
220
275
225
230
167
284
114
233
198
235
258
239
231
251
237
227
288
200
192
313
229
267
241
255
189
228
249
271
137
224
261
270
216
243
204
231
247
250
224
178
214
309
188
208
152
225
270
288
177
154
160
217
169
253
223
170
116
270
231
226
139
232
189
285
172
235
222
296
148
216
232
234
220
247
212
227
199
194
199
268
271
156
276
173
211
222
279
239
270
227
157
227
209
139
220
226
230
190
146
144
279
156
208
263
251
222
284
274
290
268
189
227
185
161
196
178
240
260
182
226
204
252
253
208
209
238
232
226
214
166
163
192
179
245
298
245
179
199
191
294
168
231
235
245
161
152
241
204
219
234
229
229
158
230
175
198
246
346
160
210
218
249
161
202
227
223
172
233
245
172
263
173
217
180
170
145
228
227
224
285
219
216
230
263
293
199
223
319
265
205
233
218
183
211
214
219
247
318
220
252
202
235
210
274
179
208
201
145
264
269
290
141
200
162
258
222
247
166
214
196
229
198
279
254
218
278
189
275
273
203
285
309
214
196
207
184
234
286
204
240
209
169
198
264
172
114
262
192
286
161
218
264
160
235
271
293
196
200
205
202
256
239
242
273
277
249
227
189
182
231
205
294
279
158
183
219
306
184
286
225
247
250
234
219
237
234
257
190
226
212
195
238
199
203
246
174
292
179
309
250
217
184
281
234
274
201
311
210
202
235
248
246
264
195
180
188
271
198
246
216
241
239
261
201
214
130
204
204
220
248
263
247
266
218
211
262
139
230
189
170
332
172
316
217
233
250
239
169
121
215
169
214
220
139
198
178
191
189
288
206
280
192
221
228
140
300
108
169
196
246
214
275
274
173
227
199
236
194
260
220
228
181
187
246
229
190
220
273
167
189
219
160
192
351
165
250
273
253
221
183
364
173
270
224
151
238
314
247
193
219
276
247
308
220
279
296
276
234
297
195
287
245
266
248
269
219
241
280
181
401
229
159
210
208
189
243
196
201
252
256
237
227
202
209
246
199
175
270
278
296
165
176
207
288
253
212
302
221
266
242
164
264
295
212
148
177
171
237
286
216
254
234
269
235
267
257
208
192
232
297
190
261
251
254
184
281
219
172
243
272
185
157
221
277
277
214
250
183
210
273
187
199
146
255
190
221
175
220
256
178
194
192
237
218
218
200
215
189
168
209
196
251
250
229
235
217
309
222
214
213
205
211
247
216
191
303
198
152
158
248
264
168
239
168
316
325
316
183
247
250
200
214
177
214
295
293
207
238
284
205
186
250
219
218
215
313
203
302
178
274
147
156
156
345
229
222
189
176
216
238
232
208
214
169
310
197
186
246
248
237
217
222
216
231
244
235
244
305
160
263
224
191
149
161
270
170
265
201
139
253
156
253
211
173
282
284
230
217
235
221
259
193
223
231
182
139
106
178
205
180
281
258
181
204
191
197
283
230
206
226
215
212
194
157
161
245
230
114
172
185
234
222
213
316
277
201
236
185
256
184
160
274
176
171
203
265
261
256
303
243
220
192
218
183
240
222
187
222
108
256
114
114
208
148
198
210
203
285
199
256
210
245
176
213
258
247
174
246
169
266
146
227
235
178
177
247
193
166
243
187
263
209
258
191
187
282
283
147
184
253
229
254
171
198
205
231
236
181
328
244
233
283
199
159
225
160
198
280
114
152
225
196
290
339
138
186
279
299
237
190
189
166
221
231
154
184
236
206
207
256
201
232
241
214
175
205
265
234
217
164
330
264
194
258
246
210
196
255
121
211
336
186
287
234
202
243
245
238
203
214
217
209
223
174
179
250
257
278
243
215
251
173
185
114
232
237
209
202
270
219
246
286
223
243
259
327
178
233
213
294
208
184
227
263
261
207
273
253
232
261
226
206
201
221
258
255
182
192
195
218
141
200
287
261
212
260
208
279
211
269
173
215
193
251
213
203
252
236
166
272
240
279
201
106
207
234
254
191
236
197
202
216
253
159
280
236
199
256
301
227
173
230
210
224
192
114
217
175
244
248
215
198
219
200
238
222
205
248
297
214
161
240
234
214
180
240
194
264
254
277
247
182
246
114
193
255
203
233
263
225
192
108
234
257
161
247
218
171
278
191
243
231
161
181
197
198
215
205
214
278
265
214
169
199
225
192
213
226
240
265
227
177
242
220
197
254
192
208
208
243
184
195
259
159
244
194
242
209
207
146
241
211
237
225
193
249
178
245
152
175
210
209
208
226
223
226
268
193
223
311
275
258
165
164
301
198
205
158
294
194
173
227
286
186
247
254
243
256
263
240
285
235
229
211
162
276
231
244
139
253
208
153
278
256
292
268
279
174
257
277
227
215
314
170
209
146
236
158
209
297
313
242
238
273
215
309
199
235
298
261
284
245
207
228
213
242
210
217
180
192
206
246
273
279
165
247
224
114
270
290
212
240
281
214
284
243
192
207
240
114
313
243
186
262
189
227
337
278
207
166
304
130
198
214
285
338
221
274
250
195
206
290
207
206
200
225
235
214
184
302
245
182
196
223
264
160
160
203
257
210
220
205
268
139
204
189
260
272
267
139
234
242
172
212
383
198
234
244
264
228
216
221
252
200
198
174
245
192
114
227
139
239
200
229
277
221
203
191
233
160
164
193
238
179
266
258
215
148
252
227
201
241
185
192
217
177
258
196
263
216
185
217
197
211
212
240
215
190
153
178
283
195
259
221
181
225
241
253
284
173
235
218
228
196
207
179
233
205
222
206
197
330
198
222
240
203
169
231
198
213
248
233
234
270
227
221
193
145
207
187
208
199
245
193
242
273
268
239
175
159
350
228
239
177
241
247
188
218
220
177
195
200
289
191
219
214
249
217
151
233
230
281
195
295
144
253
230
188
191
197
228
244
192
320
231
278
174
244
219
229
249
246
221
284
248
191
161
169
196
216
250
170
223
169
184
282
209
184
199
207
204
250
231
268
171
192
200
235
206
178
265
237
232
240
168
258
232
202
250
244
152
246
315
216
247
295
197
227
336
170
182
232
210
258
156
175
249
348
238
258
211
260
190
221
259
286
217
251
211
297
212
172
203
205
230
221
239
238
223
224
263
223
229
208
161
276
233
237
243
237
219
243
196
221
215
238
205
217
209
224
265
175
233
212
238
234
256
209
160
212
186
229
205
247
181
180
209
230
306
275
235
223
164
192
231
219
244
217
252
220
212
264
126
208
216
287
205
177
247
205
222
139
288
269
158
191
248
239
200
190
223
231
158
160
182
263
235
279
241
170
266
253
173
159
254
195
174
251
166
211
132
169
200
253
252
278
211
181
267
186
247
270
222
211
197
237
218
178
183
198
226
219
144
192
209
312
238
232
278
244
225
174
239
216
199
114
261
219
228
141
278
218
160
224
257
215
273
236
287
225
204
313
254
216
233
190
279
285
228
252
272
235
160
192
181
260
144
192
232
202
204
236
219
206
227
172
240
190
267
271
204
231
169
177
284
237
186
179
149
220
266
203
234
237
277
268
194
197
316
229
168
200
267
184
232
235
196
223
218
249
183
225
265
243
205
239
248
129
245
192
236
227
200
213
176
312
239
189
242
308
266
244
145
186
114
253
156
228
229
335
229
204
270
224
275
214
204
233
209
166
250
256
233
175
147
224
280
202
184
233
185
238
184
257
290
235
243
276
275
229
273
238
259
187
151
178
200
209
202
298
189
162
294
114
206
234
235
195
226
265
224
217
237
193
268
177
281
254
283
156
239
221
214
297
240
201
152
246
213
295
229
191
181
254
262
210
201
275
245
225
245
174
314
181
156
218
226
240
235
201
200
231
293
278
264
202
207
267
240
152
249
139
210
249
175
299
175
268
248
156
242
160
199
183
161
207
148
203
198
230
208
218
211
246
245
230
235
162
204
245
190
291
199
180
253
207
288
171
215
190
242
260
268
207
170
171
145
239
139
212
236
308
231
191
228
220
273
295
114
246
228
243
264
253
246
211
204
182
282
170
235
222
288
222
234
248
149
233
217
314
213
243
260
262
114
179
252
230
189
193
256
226
236
146
236
185
176
279
265
229
239
130
267
213
179
218
288
198
170
257
257
299
221
216
297
274
229
243
247
216
247
267
248
204
180
197
240
201
226
149
242
233
211
206
266
311
184
273
185
239
174
226
181
278
289
236
239
248
233
254
229
243
334
234
255
243
164
192
279
176
251
205
250
147
215
221
274
228
222
253
194
290
248
275
303
247
252
152
169
224
194
207
121
229
207
240
198
181
241
201
189
189
267
214
256
300
185
308
270
223
155
211
207
202
247
206
145
216
265
276
207
248
268
205
193
264
227
233
193
242
169
164
290
261
215
234
212
190
222
213
195
203
173
214
234
184
144
221
195
152
241
262
214
226
188
242
287
207
181
232
313
192
192
191
318
228
252
157
228
160
175
257
242
282
168
239
286
242
204
169
230
221
235
172
169
256
291
247
184
208
158
181
229
212
256
286
220
130
233
264
218
234
337
252
232
276
174
229
215
242
208
200
173
233
249
228
202
284
207
219
253
220
244
192
185
240
246
318
297
204
212
237
180
114
166
246
233
279
139
167
250
282
141
276
174
208
211
228
286
259
244
200
179
226
170
169
247
222
232
192
165
265
202
303
193
223
204
270
245
216
233
235
311
331
194
214
239
200
166
180
233
314
249
187
220
198
227
227
172
295
164
281
210
231
215
154
283
222
266
311
193
233
304
223
239
267
268
255
238
252
144
276
237
221
253
130
114
234
233
265
195
248
285
213
221
210
304
315
207
189
267
237
216
228
202
220
211
274
229
198
205
294
207
232
166
180
241
178
261
195
114
245
198
164
152
193
214
213
217
202
285
181
195
251
289
244
168
279
238
211
257
126
268
218
178
164
330
233
269
225
166
170
180
230
241
173
170
126
237
215
238
180
204
114
188
262
255
152
240
168
220
186
299
218
129
313
114
225
244
205
228
278
217
200
163
209
187
205
237
296
226
244
237
182
207
173
240
248
222
192
225
245
214
238
358
208
158
262
188
244
222
259
231
253
177
130
298
175
243
238
267
274
259
217
194
268
208
226
255
189
193
260
226
199
210
246
313
237
237
233
234
169
200
246
248
265
296
196
167
253
185
238
226
114
198
254
190
223
193
146
236
213
169
263
297
207
195
285
250
253
230
194
209
262
285
228
178
260
308
157
250
235
342
182
240
225
212
324
165
243
144
195
269
194
230
227
257
228
175
175
221
213
178
176
161
233
177
193
206
238
164
173
327
182
238
201
218
230
227
237
263
212
262
211
243
208
239
174
202
236
211
247
174
166
222
337
238
258
194
229
236
203
253
205
228
207
265
239
248
290
257
198
213
228
170
198
249
261
185
276
180
267
200
212
202
200
236
194
217
152
181
267
173
241
178
181
262
260
222
278
255
248
254
180
258
170
192
250
152
121
287
250
215
238
223
201
237
153
160
237
214
246
232
230
162
280
246
201
213
284
162
232
254
192
193
212
243
156
266
234
282
262
146
225
222
235
163
252
331
251
302
161
218
209
160
234
229
224
270
171
207
226
214
213
175
204
278
285
212
281
214
151
158
221
285
259
241
205
300
356
261
228
195
212
217
247
152
185
175
189
274
205
223
130
172
189
235
191
233
183
230
191
186
252
238
139
172
204
238
257
244
246
279
271
212
266
213
277
260
237
288
221
170
236
262
226
311
318
191
310
185
180
209
183
192
251
244
196
251
215
244
223
237
246
171
219
235
252
226
177
235
169
222
263
161
179
246
272
186
274
281
252
188
218
209
284
330
305
208
195
267
212
218
261
192
271
210
235
222
232
202
240
303
288
232
218
230
217
152
223
178
291
151
209
162
218
145
161
214
212
183
257
219
242
178
178
147
249
220
330
216
170
291
191
187
178
201
195
196
226
219
152
181
217
222
278
114
210
222
246
186
296
211
198
284
211
239
267
195
244
282
180
268
205
272
366
279
216
209
170
254
216
246
243
207
298
363
210
228
175
188
242
171
198
234
279
239
160
272
252
259
199
247
277
148
170
205
278
179
130
278
204
228
234
219
226
170
279
162
264
223
202
269
233
248
199
231
279
282
211
276
192
146
217
191
198
191
209
244
275
156
193
294
166
175
245
183
307
263
242
277
284
261
231
245
245
214
211
207
213
229
277
186
244
199
235
294
205
314
323
184
291
268
303
152
178
216
152
180
196
196
272
225
311
262
250
213
126
258
289
160
221
288
174
265
311
151
193
248
217
244
206
170
200
114
190
250
223
193
295
236
320
275
189
247
170
250
228
168
189
158
255
219
198
257
309
215
159
181
247
235
216
226
193
207
220
196
240
250
180
270
266
218
214
149
184
264
293
114
221
300
238
223
234
200
277
303
284
161
235
193
275
231
232
193
236
175
272
231
204
168
126
130
239
184
291
263
256
221
204
269
239
187
198
322
260
226
242
226
204
169
269
240
348
173
256
259
272
179
231
237
249
243
230
202
203
209
269
229
255
304
224
169
219
252
279
261
274
147
255
273
180
270
215
203
247
108
339
208
221
196
284
173
253
196
145
258
261
160
207
212
215
240
226
231
248
252
253
270
245
225
262
222
214
193
303
282
247
190
257
179
248
261
184
274
175
246
253
250
207
249
160
197
129
159
290
177
236
221
224
158
223
144
300
324
186
232
236
206
233
233
241
238
216
212
143
245
178
256
181
274
230
233
274
222
243
272
154
172
182
183
260
187
208
258
223
192
222
194
191
151
164
324
226
267
183
331
126
247
179
206
262
218
283
244
196
181
191
161
242
231
181
307
262
221
220
239
301
253
259
193
290
280
272
208
166
198
213
168
139
243
197
213
333
221
250
195
247
222
166
168
181
241
166
265
198
243
198
231
281
239
252
230
207
210
218
292
254
277
214
264
276
181
210
220
145
149
220
181
207
232
209
225
231
160
372
287
210
204
183
237
178
312
144
230
241
246
201
241
218
126
151
140
186
209
227
231
199
224
286
209
178
190
212
168
169
241
292
305
206
212
263
232
222
319
215
266
259
189
232
238
294
246
259
231
249
238
160
257
203
158
208
220
210
226
250
144
207
218
175
182
251
259
261
187
314
229
114
349
231
254
236
253
233
207
261
228
303
302
286
235
233
185
208
254
235
213
167
231
192
204
234
174
245
213
189
214
211
327
215
216
206
235
315
237
232
192
215
282
317
174
206
185
251
270
229
196
272
194
154
184
302
114
238
309
253
232
211
287
160
227
201
243
163
277
303
166
285
234
206
176
251
175
187
130
116
267
251
249
253
248
228
222
206
271
317
154
232
201
311
214
168
234
195
208
165
242
201
264
195
157
254
184
181
209
148
205
240
351
203
263
288
173
154
221
221
220
211
199
181
206
222
219
257
160
329
166
255
309
220
187
195
202
233
162
256
178
169
226
229
235
281
209
240
188
254
158
217
114
350
184
198
246
194
238
295
214
168
270
295
202
213
276
246
277
377
114
233
232
186
146
192
219
263
290
174
161
287
270
155
277
214
260
307
219
250
225
170
267
199
248
343
242
195
244
185
221
242
157
204
168
114
281
171
283
192
247
204
168
200
227
296
243
196
204
188
299
300
310
215
173
245
262
243
297
230
114
242
148
188
245
265
209
209
162
209
272
206
258
234
157
186
297
288
232
244
241
229
215
178
267
186
192
162
108
169
177
215
229
167
218
261
263
186
173
178
197
185
240
300
201
213
291
244
197
259
245
182
135
218
246
184
284
160
243
232
250
259
248
309
191
233
283
180
154
252
193
202
212
356
215
211
248
317
272
252
239
325
234
263
206
178
165
284
243
344
218
235
280
160
194
249
192
277
285
206
218
189
158
251
224
228
202
221
214
256
288
248
202
173
196
198
248
186
184
172
263
212
207
178
204
289
162
248
355
270
234
114
228
308
160
156
192
287
208
207
258
197
234
241
151
228
135
267
173
200
221
228
246
130
148
133
207
276
205
264
244
292
296
187
301
260
203
238
214
241
203
267
156
275
265
205
234
180
174
204
284
139
151
264
242
278
251
174
250
276
262
242
189
269
162
255
253
248
262
215
196
255
293
275
173
195
267
257
180
158
341
151
177
172
233
262
280
173
267
287
244
223
213
291
197
282
158
193
235
206
231
304
207
218
296
161
227
144
234
304
269
223
217
157
184
204
207
255
204
259
264
258
165
195
241
211
225
168
224
235
283
202
291
228
179
252
174
128
213
264
192
170
308
197
290
208
244
334
164
224
274
253
180
281
238
207
217
199
260
220
191
190
312
178
211
178
139
232
239
222
238
214
182
275
177
229
210
371
238
261
170
156
353
253
194
234
185
201
222
253
207
183
228
250
202
166
261
244
195
234
229
108
167
198
257
198
242
215
245
248
284
301
181
184
301
235
160
226
212
285
231
215
203
227
189
198
246
301
182
239
170
277
152
224
240
240
166
222
184
210
218
314
253
204
250
215
208
232
267
328
190
217
161
175
229
277
145
170
300
218
271
170
246
265
201
284
174
230
246
173
252
239
231
250
269
191
224
221
333
273
171
228
281
215
236
263
259
279
155
204
187
186
265
186
217
173
181
256
198
197
219
188
177
242
200
192
153
301
239
285
193
260
216
281
236
203
152
224
280
220
238
292
234
270
210
218
256
277
114
240
280
230
191
198
326
311
146
211
250
195
219
249
214
229
278
221
205
183
188
157
194
262
271
222
239
264
175
190
277
198
237
246
250
163
180
248
203
153
286
224
207
226
247
236
240
224
171
174
320
219
272
278
230
288
195
210
243
348
301
217
196
244
195
210
241
300
236
224
280
202
218
207
168
106
204
259
256
195
262
227
141
221
205
180
286
357
261
257
185
196
200
179
218
234
288
201
198
243
197
278
311
269
269
156
186
230
194
198
271
177
285
246
231
214
230
207
155
249
211
242
212
290
276
248
225
326
129
305
252
198
151
206
249
256
244
209
287
170
231
183
217
269
114
154
211
244
220
181
226
178
195
175
273
192
257
232
267
214
207
173
188
161
240
240
171
191
229
281
238
195
264
217
192
194
145
262
182
200
214
210
199
169
259
158
144
212
242
331
253
175
189
256
139
114
247
211
239
189
207
206
314
258
256
243
278
156
114
184
221
285
238
236
288
239
225
259
241
182
229
274
246
184
318
303
222
270
213
260
186
219
210
224
213
286
278
237
201
201
226
238
205
294
227
202
263
144
210
154
233
219
207
220
232
170
249
221
240
181
276
178
185
195
270
219
287
210
234
194
206
314
183
291
139
189
223
228
251
175
241
194
189
148
217
232
200
192
170
272
197
204
258
225
165
233
182
250
256
244
252
266
248
231
212
225
217
156
186
258
228
266
176
284
212
270
223
161
232
228
183
255
268
286
347
229
231
244
272
151
266
262
178
248
229
258
264
210
273
204
189
164
240
206
235
209
230
230
273
220
222
256
252
235
241
207
289
212
223
284
168
290
174
228
235
335
194
209
121
227
262
207
244
240
209
247
246
156
211
170
242
297
270
211
116
200
238
214
344
242
176
219
352
287
146
169
269
192
200
220
229
250
177
192
195
160
180
251
281
175
240
197
222
265
331
217
191
243
193
244
166
184
193
268
229
224
303
267
262
214
191
194
304
219
159
223
238
230
276
269
209
222
339
196
219
130
197
211
181
240
189
205
231
234
262
256
137
184
177
260
179
204
184
252
213
212
233
234
279
253
197
235
224
275
253
343
186
233
205
263
169
258
248
251
202
245
265
271
217
220
167
208
247
261
203
296
202
237
213
277
108
171
321
248
234
151
156
170
242
248
224
161
268
198
248
189
263
200
252
242
240
240
164
240
224
284
228
274
206
245
289
199
209
229
185
220
200
239
225
176
286
266
204
174
212
213
241
255
240
239
293
227
261
165
247
210
214
228
182
243
251
251
173
169
231
212
175
227
175
273
229
215
238
270
208
220
184
327
235
197
178
298
233
216
218
301
275
208
170
238
250
235
281
179
207
151
279
152
182
194
191
219
180
251
222
224
179
197
161
238
251
184
191
240
244
265
289
234
264
273
245
200
207
177
235
255
262
207
230
296
288
332
307
290
217
242
252
156
179
284
238
207
200
194
252
237
158
166
253
286
227
228
252
215
160
231
255
229
169
238
243
240
193
234
245
266
271
225
191
233
251
257
309
243
195
285
273
200
202
293
222
306
270
244
196
298
174
292
241
188
152
231
282
234
225
168
157
242
209
213
177
261
161
208
249
170
227
218
183
200
296
234
182
302
245
241
211
217
164
232
173
139
260
276
190
157
264
147
200
213
286
266
262
199
179
263
213
173
214
205
193
260
211
148
258
178
205
269
214
275
181
181
240
270
309
195
253
295
258
233
222
225
195
175
187
239
250
170
189
234
257
222
246
273
167
248
191
278
313
269
237
192
227
250
165
229
218
314
195
202
209
301
248
206
234
179
234
271
196
223
211
210
209
236
282
222
213
205
217
209
264
202
200
232
231
218
186
188
237
181
245
218
193
193
174
194
164
257
194
184
210
278
278
209
254
259
236
191
177
181
269
256
232
165
173
151
225
303
166
287
190
236
243
331
206
204
226
241
216
241
126
283
229
245
176
193
166
144
315
174
187
192
317
256
311
299
205
140
169
202
320
176
181
205
192
260
184
257
217
185
191
196
277
277
279
154
194
240
201
184
360
252
176
206
183
233
181
202
165
220
324
218
224
253
194
212
202
306
250
252
254
238
275
193
275
161
306
265
199
307
242
301
229
221
199
218
320
279
114
206
300
177
214
209
249
183
144
224
216
154
250
242
221
201
200
151
230
223
290
246
190
227
204
225
158
222
245
260
260
193
240
292
181
194
234
218
299
210
229
237
262
229
227
218
294
260
144
219
246
114
231
197
249
219
199
227
230
200
227
220
173
192
243
241
184
201
330
195
193
201
245
161
240
219
173
301
154
265
239
208
254
207
170
235
185
294
250
221
271
284
277
252
214
222
279
209
181
160
260
244
175
194
208
192
281
158
216
253
228
198
251
170
265
250
197
298
257
264
205
271
271
268
243
151
195
259
203
213
295
156
225
213
227
256
223
193
221
276
263
300
239
192
218
269
228
220
229
199
225
277
241
227
246
246
192
265
297
169
167
267
252
224
158
161
194
198
255
246
226
257
222
299
165
212
232
196
259
310
186
170
259
168
314
221
177
151
297
262
181
205
223
152
279
229
222
157
222
178
175
267
296
223
154
152
219
208
167
261
236
201
303
280
235
259
229
244
157
248
152
182
166
179
213
259
192
237
192
294
219
257
249
198
281
213
285
233
227
181
293
186
251
205
224
152
180
197
244
195
216
279
313
207
224
215
210
200
200
235
209
237
255
249
299
257
278
315
181
152
299
242
225
154
261
260
264
200
200
176
205
172
194
149
229
189
184
170
181
234
275
220
267
165
284
271
222
211
284
283
199
219
219
207
194
170
256
248
169
217
106
196
208
221
254
330
228
226
246
160
219
154
266
226
269
229
174
239
208
170
181
317
271
236
282
218
243
325
236
170
175
257
198
270
202
212
174
173
211
240
333
232
231
203
244
179
126
233
279
224
231
114
156
258
235
299
231
239
220
241
153
213
211
274
242
264
202
206
231
186
223
233
217
237
210
245
296
215
170
259
324
204
211
114
313
274
161
236
240
288
157
283
207
160
179
193
215
246
307
218
222
228
195
156
265
198
213
324
282
246
259
268
174
206
154
194
280
196
215
206
219
309
181
306
222
259
191
304
213
276
162
269
256
254
230
222
225
275
249
216
249
330
116
156
162
156
278
263
167
178
225
218
292
214
274
276
278
213
213
200
289
219
140
171
126
166
161
286
193
220
252
312
311
225
114
192
238
184
220
149
235
299
221
298
238
248
245
225
168
226
220
228
164
167
263
254
161
278
176
199
286
217
211
222
253
215
216
156
227
215
190
249
223
193
245
229
181
179
200
236
207
246
166
161
202
234
205
271
182
197
216
184
243
238
280
198
234
233
216
248
171
243
263
270
223
234
211
249
190
176
273
231
227
276
235
230
278
241
148
189
249
199
268
235
114
251
214
158
139
196
267
188
238
311
197
246
158
268
285
212
292
165
248
294
139
169
251
305
204
220
293
233
114
193
249
201
203
195
201
391
186
238
168
206
233
218
214
126
259
294
221
233
232
247
224
114
163
207
209
264
277
198
228
152
249
175
323
200
175
207
129
200
243
318
226
210
227
200
211
295
202
255
321
114
176
198
190
234
250
152
288
148
256
282
185
244
234
191
157
291
204
239
201
239
334
254
209
205
282
235
250
198
214
255
232
158
193
346
259
207
253
176
227
180
196
114
202
293
296
240
204
222
288
225
211
178
217
220
235
242
202
274
211
242
246
273
274
233
182
210
166
236
212
157
210
241
181
292
255
324
206
249
281
252
216
296
301
312
198
247
225
230
243
160
365
178
289
185
286
236
225
162
166
159
239
237
221
274
282
126
197
173
174
198
199
270
251
263
303
221
222
263
284
279
243
220
193
211
270
220
280
183
243
169
242
197
259
223
258
196
198
217
242
250
301
252
200
216
214
187
232
129
190
167
159
175
205
200
273
239
181
247
244
271
208
190
233
249
160
128
270
209
156
241
260
240
314
217
139
259
250
223
152
173
194
205
200
256
184
158
241
141
246
358
160
245
172
180
177
220
219
218
210
212
289
224
183
201
211
254
306
207
213
210
210
261
234
236
177
198
260
160
235
193
217
233
180
210
214
242
160
275
178
250
234
253
228
223
200
294
300
242
269
302
241
223
205
121
186
251
232
230
264
197
151
180
169
205
250
209
233
219
225
246
174
202
300
126
252
187
160
196
277
196
229
222
246
219
213
205
266
223
233
263
209
195
258
174
208
233
197
312
213
175
181
229
341
161
300
201
202
211
126
282
292
161
233
229
163
221
114
231
207
199
227
190
218
165
266
169
247
234
282
193
206
186
235
276
310
307
175
209
225
200
197
291
262
240
248
255
296
178
223
276
202
176
227
262
242
233
197
391
191
206
180
180
224
200
231
226
225
272
175
129
271
221
247
249
186
192
165
231
267
230
258
308
280
209
211
311
213
285
197
114
218
170
280
238
135
266
265
208
262
196
173
284
152
244
230
208
224
219
284
196
290
178
229
173
194
260
282
146
206
202
263
228
266
213
174
236
250
313
156
174
197
216
257
228
274
200
198
149
210
218
256
248
303
175
178
283
229
274
203
204
212
277
234
108
164
248
274
271
295
218
249
215
180
198
203
226
267
259
207
232
330
197
213
160
233
283
114
230
241
223
284
240
165
213
192
241
272
242
262
242
208
302
195
201
152
205
126
114
239
196
198
166
236
186
242
290
164
222
248
233
320
175
256
213
149
220
146
251
156
215
183
341
247
170
151
265
242
282
114
179
162
147
258
227
270
144
167
222
223
235
144
301
228
263
170
179
165
134
276
282
185
212
327
159
205
236
256
301
190
170
249
236
273
214
207
253
251
231
157
230
234
213
210
248
268
230
180
199
224
256
261
267
219
248
299
226
313
133
322
209
188
299
200
205
169
193
290
215
227
249
273
162
203
290
237
324
253
194
266
187
270
220
230
178
214
270
208
252
261
252
316
206
241
114
264
272
263
251
197
194
256
207
230
154
265
288
160
219
186
200
243
188
227
195
186
215
241
325
280
252
190
185
203
156
226
200
164
226
261
218
219
165
231
181
172
253
171
173
258
198
243
203
160
137
234
220
284
300
179
249
220
181
220
156
174
207
240
279
234
265
271
183
197
228
265
231
158
179
213
262
218
268
188
205
203
257
186
235
192
224
235
202
258
325
265
174
185
269
285
225
340
232
243
166
202
271
232
279
286
182
228
210
241
160
215
174
199
249
264
236
157
237
244
317
258
347
161
174
280
170
146
176
240
188
189
205
162
219
293
272
264
236
235
173
238
288
163
200
197
210
148
251
247
180
196
275
261
258
198
178
260
268
196
233
266
235
257
282
239
292
237
280
228
164
220
114
170
182
198
262
285
173
186
200
276
264
286
180
218
295
324
290
289
238
275
287
224
264
164
190
265
255
307
220
211
209
230
218
215
206
238
207
229
287
159
208
234
173
246
189
116
220
274
184
253
261
249
196
247
174
238
215
214
224
243
209
233
129
278
114
198
277
246
283
224
195
193
181
250
190
207
145
249
192
320
185
114
237
275
206
332
242
199
241
207
186
234
209
238
290
297
251
224
272
234
304
212
193
173
222
242
223
224
235
273
155
234
114
278
171
172
207
247
173
126
257
190
301
269
226
232
246
196
264
180
186
201
229
186
271
108
213
308
187
184
276
206
300
198
259
251
261
182
258
206
201
233
193
217
266
229
201
200
153
177
192
128
174
165
217
181
255
258
217
358
185
260
258
229
180
183
220
220
215
285
240
235
251
204
208
259
139
299
253
225
156
238
233
173
231
184
207
189
246
193
225
214
176
169
218
237
209
269
249
258
229
204
302
186
290
255
246
264
266
243
169
233
309
227
248
243
198
299
181
204
250
195
149
227
240
114
184
288
284
197
281
243
246
152
158
233
211
274
176
271
225
291
284
229
242
214
195
167
271
283
212
270
176
203
181
238
228
189
248
251
185
236
229
304
214
238
221
261
254
208
294
196
297
248
242
200
250
181
252
256
315
274
167
232
222
249
258
250
244
196
242
255
291
206
231
263
240
247
233
217
228
186
160
193
217
263
285
224
228
239
286
244
145
280
254
250
203
263
253
199
220
245
229
281
317
301
222
243
166
226
268
232
309
193
213
273
214
231
192
252
243
213
219
294
193
265
203
249
186
250
250
146
271
180
253
180
233
198
211
189
129
160
252
185
200
244
258
235
217
231
295
200
175
247
250
296
208
193
223
242
173
317
282
218
296
196
255
228
252
262
224
294
194
292
199
257
173
278
232
217
296
166
223
339
218
214
230
257
279
231
234
214
114
248
266
200
212
189
263
214
177
247
283
160
213
225
251
277
188
162
224
177
248
205
239
283
276
146
159
175
159
145
230
253
242
223
193
219
250
178
210
186
180
228
209
180
114
166
238
261
222
151
267
225
250
249
218
228
283
180
195
232
265
286
300
286
265
148
215
249
249
188
182
220
253
242
106
171
170
207
284
227
246
274
151
241
158
171
218
192
202
214
223
166
272
190
228
178
229
270
219
166
245
219
198
205
199
158
242
114
233
198
249
183
198
221
265
211
225
235
221
198
206
106
249
185
239
286
218
213
114
202
228
213
191
228
149
281
169
300
156
207
173
205
256
219
196
184
162
224
219
231
193
221
252
224
166
196
247
222
173
229
247
282
228
225
218
231
182
186
247
188
253
354
255
214
233
181
206
241
274
259
182
253
210
171
222
231
293
231
234
225
208
223
226
295
181
206
247
255
220
245
211
126
213
164
203
247
277
163
149
261
215
158
193
191
160
244
188
183
237
150
217
237
222
129
224
181
295
232
226
252
215
215
165
242
184
236
187
225
212
255
170
236
266
280
270
237
200
297
148
228
251
178
193
289
251
276
199
220
239
255
191
181
227
309
252
190
305
218
190
253
192
261
261
288
213
169
258
220
297
217
196
192
151
285
192
258
187
247
217
221
215
156
128
231
187
223
191
207
219
250
248
181
202
175
189
199
245
258
243
156
219
116
224
160
218
173
279
200
243
226
210
208
259
270
128
157
216
268
276
258
259
228
225
225
238
205
194
179
205
261
190
292
245
315
222
200
255
114
251
211
326
266
169
228
229
172
238
280
302
217
228
252
255
201
194
221
234
254
144
252
202
244
191
173
266
185
211
290
323
160
238
263
245
211
225
241
193
306
195
197
218
130
167
288
283
151
234
207
225
191
160
234
156
206
268
285
250
301
170
227
283
178
173
258
222
228
161
266
245
194
210
231
320
191
206
170
258
195
238
228
186
252
243
316
249
223
252
160
180
198
258
238
202
194
299
212
203
223
281
231
238
156
212
257
233
212
205
208
229
251
202
165
220
292
233
144
166
220
221
292
283
188
236
231
251
222
158
233
151
220
228
200
227
227
212
184
290
230
195
232
225
174
205
241
175
116
170
196
265
345
230
265
254
174
191
175
321
206
182
191
244
171
210
223
237
231
236
191
223
168
250
162
195
221
275
114
251
114
264
241
256
190
227
234
223
260
188
189
212
155
257
114
247
217
139
160
195
191
255
231
307
237
190
212
160
208
253
170
225
182
203
232
168
261
186
225
296
246
221
239
288
177
251
151
251
221
274
228
313
252
220
198
204
287
244
288
182
230
265
200
199
227
218
270
237
241
282
191
133
149
240
269
237
259
246
269
196
247
205
293
262
206
297
295
240
137
199
230
181
248
233
219
283
190
213
206
255
229
234
264
272
232
256
195
267
151
154
251
256
216
248
169
202
231
177
247
213
226
237
190
219
207
247
186
297
199
269
250
153
156
230
328
194
186
206
208
121
261
237
222
156
219
152
168
268
195
241
240
248
217
284
209
231
262
258
265
218
197
222
253
217
209
169
215
178
176
191
184
300
202
166
232
253
228
290
209
219
266
178
209
188
326
230
228
220
194
245
221
256
258
207
264
145
258
258
170
213
249
232
193
283
232
261
197
188
212
234
245
206
223
156
222
248
340
243
233
195
240
212
198
172
202
318
255
218
250
235
175
274
181
290
236
265
216
229
282
237
189
213
267
184
257
223
243
228
295
217
246
296
185
238
198
214
213
249
221
247
201
208
206
268
219
190
244
254
316
299
270
199
258
262
193
209
201
214
277
216
191
195
246
234
198
208
295
296
196
218
243
269
281
188
199
162
286
252
287
240
240
279
206
216
283
272
242
183
194
231
234
226
249
246
195
228
220
231
220
269
273
276
252
155
305
292
218
216
254
224
236
170
272
283
232
324
172
191
161
277
192
248
294
241
160
225
358
222
285
279
277
241
247
227
294
207
281
160
182
290
274
225
205
215
252
170
317
174
251
184
277
305
244
194
184
229
206
212
231
156
126
194
269
240
211
229
178
140
265
259
139
214
270
235
211
156
191
196
174
244
311
185
190
144
265
239
231
219
192
286
191
195
229
156
298
201
222
277
225
205
197
186
227
227
301
238
187
279
273
267
222
199
225
271
208
275
209
226
196
261
267
226
180
203
260
152
235
256
217
221
336
259
229
207
219
234
215
250
181
250
161
204
170
216
301
169
158
271
172
290
270
189
230
198
211
203
265
202
234
220
250
169
219
242
257
191
189
177
218
211
259
318
172
282
208
263
190
242
207
222
235
220
259
215
196
248
261
300
216
129
265
295
235
225
265
244
266
269
259
247
174
203
165
184
275
245
221
267
231
198
266
216
116
291
226
255
150
192
188
260
170
258
213
228
200
188
248
213
240
152
238
181
235
271
106
323
260
219
183
205
151
240
114
217
197
206
240
175
234
315
243
257
242
232
121
216
276
209
175
194
161
238
164
312
291
211
262
173
263
220
212
158
230
243
349
230
219
256
245
272
232
294
187
227
144
262
269
260
237
241
170
188
246
218
207
168
235
280
171
246
218
252
250
261
165
217
262
308
215
350
281
214
133
208
156
280
161
293
231
184
312
129
210
262
225
188
241
221
262
164
174
229
194
167
219
252
215
269
206
226
164
267
256
262
311
280
242
189
181
262
195
258
243
204
256
234
182
191
267
254
238
248
158
145
236
252
235
214
252
231
201
210
265
206
194
239
241
255
240
224
194
222
276
170
198
295
249
221
216
217
186
213
184
130
171
263
208
189
180
288
191
202
177
222
316
254
344
160
162
235
161
228
254
298
219
177
260
198
260
252
214
231
243
193
160
234
235
193
284
202
160
158
255
159
239
203
184
252
265
196
264
245
209
197
260
223
256
218
243
227
227
164
170
228
190
202
215
244
215
265
114
193
197
241
144
209
234
195
191
152
237
259
260
216
231
167
179
165
181
286
216
225
158
229
229
231
207
264
260
241
281
205
212
169
244
264
235
170
211
231
208
240
114
161
234
170
234
234
191
168
260
248
238
246
266
274
156
263
246
247
192
214
292
226
260
240
245
262
272
317
241
193
246
219
241
154
145
165
193
240
186
219
219
163
285
165
194
145
240
231
275
256
248
302
284
149
164
296
249
268
218
174
271
174
114
184
168
249
217
216
229
240
228
255
191
225
178
171
228
213
212
204
217
237
246
295
219
209
182
230
260
194
179
262
278
238
233
200
293
179
144
234
210
239
224
179
272
277
222
297
221
162
148
304
191
252
205
210
249
220
195
277
260
209
209
340
224
261
194
173
194
175
235
190
192
295
252
242
168
205
242
199
180
221
252
159
210
229
208
255
198
260
259
288
172
207
209
228
297
220
194
265
245
207
213
238
200
198
193
243
218
250
330
227
212
231
173
210
209
321
245
148
255
245
232
258
233
237
238
248
221
212
211
258
255
282
258
151
360
225
169
242
174
290
177
267
191
355
178
213
181
276
236
240
151
271
291
213
229
211
194
274
262
206
190
202
240
219
256
200
175
177
246
235
160
251
251
231
243
361
236
201
233
177
248
169
198
269
243
235
262
215
215
250
325
232
207
196
218
242
179
302
241
219
206
219
253
170
166
203
154
247
290
239
174
234
252
230
213
344
196
248
175
205
233
175
227
294
262
207
275
254
239
241
247
210
198
305
285
178
324
249
285
231
214
261
175
211
234
299
255
232
260
227
176
175
211
236
156
231
353
246
221
160
157
191
228
158
169
233
358
234
238
244
203
202
236
282
216
181
231
257
206
181
174
209
191
220
250
339
142
207
253
195
230
204
230
329
234
191
192
178
208
166
317
180
337
229
226
208
238
204
205
204
305
232
167
204
152
306
154
199
302
238
259
197
267
228
185
207
222
222
238
244
197
227
219
193
301
236
248
162
203
273
219
269
241
148
304
168
244
179
252
217
270
156
248
264
235
281
178
222
323
221
330
190
252
144
162
181
227
159
310
269
233
209
199
283
260
250
242
163
202
199
207
171
254
236
286
212
167
202
176
192
271
240
287
282
239
171
230
261
226
166
278
233
235
212
162
190
306
108
214
212
144
272
256
249
238
203
237
215
277
225
233
253
152
203
234
194
291
258
233
263
258
223
223
234
170
246
210
220
191
172
206
209
197
172
261
219
214
227
241
233
222
206
302
219
217
202
180
176
233
228
233
157
233
244
207
247
252
261
191
266
207
173
180
184
209
220
206
246
296
289
202
272
228
165
216
258
198
275
204
220
171
170
199
296
299
220
153
209
244
221
198
264
271
205
194
249
206
254
208
198
255
275
215
299
114
114
182
306
278
221
257
283
187
246
184
184
257
236
227
114
299
222
144
270
167
259
246
170
185
193
307
305
258
259
253
126
235
188
180
238
311
237
240
232
178
222
252
216
323
315
269
256
234
151
200
274
256
215
238
229
179
230
221
290
265
205
175
286
181
158
262
251
227
161
264
146
185
168
183
160
253
231
195
164
279
203
244
210
193
220
153
308
149
206
190
274
242
252
208
181
232
304
246
221
255
190
233
271
325
178
215
303
283
221
218
180
229
244
279
114
339
277
301
242
238
213
192
270
212
295
162
228
183
187
183
189
225
241
202
194
246
270
288
278
144
237
298
169
257
240
253
106
258
200
194
158
331
296
277
220
284
196
184
161
230
243
244
288
235
241
286
193
202
249
188
203
322
225
168
247
226
231
114
183
281
207
129
280
183
114
310
259
235
218
272
192
295
238
207
255
214
228
201
224
174
156
230
220
214
243
233
208
204
192
221
234
325
289
209
212
243
214
193
238
269
275
247
295
203
183
180
200
270
236
179
176
233
185
240
310
126
152
248
250
265
228
297
229
269
276
192
245
202
213
255
198
161
211
212
249
265
181
238
206
317
220
302
199
332
263
220
296
209
176
296
253
196
173
204
219
238
174
228
278
183
249
213
140
169
161
196
173
173
169
222
248
147
150
181
233
250
174
165
277
238
264
196
185
277
337
172
238
212
205
208
232
392
181
281
190
149
253
226
256
194
263
262
178
254
211
249
265
199
152
166
187
195
230
233
209
173
152
189
234
230
288
208
235
252
208
145
191
290
215
150
259
328
235
175
242
261
225
191
318
261
248
226
225
218
221
202
191
248
202
281
238
256
241
268
222
213
198
207
267
193
255
192
275
233
350
261
259
309
198
174
340
230
220
226
202
210
225
288
156
280
255
253
221
199
228
235
237
237
173
169
244
186
192
196
182
301
228
212
277
239
181
222
247
179
244
191
299
201
184
229
289
277
222
319
181
297
181
139
270
214
193
192
114
189
184
320
285
144
185
250
232
114
181
218
126
168
279
170
202
228
242
218
252
263
274
223
231
199
220
178
222
169
296
210
275
148
176
234
261
285
271
265
206
265
265
243
153
216
228
205
178
173
216
208
241
133
231
208
262
209
237
239
209
230
178
203
235
192
224
216
219
157
172
229
195
208
225
196
297
276
235
217
237
309
266
256
260
258
307
245
200
203
205
156
240
260
169
240
152
161
296
239
277
202
221
211
213
229
265
269
126
145
258
271
181
220
172
229
272
307
181
186
244
210
269
196
260
221
278
261
156
265
179
328
209
108
225
181
236
186
206
251
219
267
157
193
173
173
161
271
233
310
231
264
279
208
219
311
254
173
286
223
177
231
205
211
274
232
249
220
211
232
247
217
281
194
229
191
234
246
228
193
221
276
200
190
189
250
174
212
281
214
139
214
207
221
231
277
207
231
245
264
278
238
147
238
198
246
207
180
220
272
233
234
192
168
184
227
236
238
178
243
210
279
262
272
282
254
234
175
282
116
276
248
205
224
209
197
228
174
208
198
158
174
238
247
217
295
244
232
145
145
174
267
296
228
220
184
281
244
258
255
114
265
230
160
222
246
171
256
201
139
276
144
245
252
197
148
192
181
209
287
268
265
183
178
178
114
213
235
212
195
237
216
263
265
160
242
240
241
152
256
185
237
205
300
217
144
296
262
279
229
177
181
216
205
213
157
229
227
330
202
191
232
268
304
229
206
178
193
184
191
181
156
246
281
217
290
231
219
299
221
301
213
154
228
152
188
195
183
231
250
255
294
286
114
160
237
121
205
233
235
249
192
298
267
267
189
264
234
255
219
231
302
312
257
173
175
274
219
232
183
257
211
220
233
267
214
305
199
207
251
231
242
259
311
147
231
249
192
214
228
251
230
226
202
213
334
234
160
183
161
152
130
200
196
183
280
247
269
278
257
312
189
240
188
182
233
248
169
181
262
216
247
211
255
194
274
214
229
222
215
246
190
296
334
303
156
161
237
230
157
253
208
236
271
183
245
276
214
160
278
189
193
333
192
247
309
169
282
178
270
257
180
291
229
183
264
242
135
196
262
296
262
241
168
216
225
265
203
178
179
226
213
270
227
212
262
194
276
173
173
323
183
270
276
194
281
218
193
202
196
238
114
206
218
238
273
228
245
159
198
246
140
272
242
191
178
200
193
198
228
172
253
256
170
205
149
244
252
241
193
263
275
268
234
114
228
260
160
192
244
270
248
154
245
260
232
265
176
275
217
269
199
280
254
187
165
185
219
195
249
211
152
243
175
277
229
162
272
218
214
178
215
341
249
243
279
259
172
270
220
226
236
191
207
284
240
139
213
260
211
215
314
258
220
188
222
300
285
196
192
217
259
165
250
306
237
205
265
170
222
286
256
190
257
197
217
273
250
236
278
252
195
160
363
223
253
214
199
192
212
206
225
250
170
248
198
199
178
228
196
294
250
221
218
114
291
157
259
170
172
209
219
247
301
195
191
234
114
265
114
245
285
245
237
214
129
263
196
326
163
208
244
181
219
284
213
226
114
207
231
261
209
247
282
170
296
234
192
227
263
179
232
114
287
302
287
147
306
270
279
223
151
275
227
212
207
234
256
219
290
208
227
195
224
220
219
306
226
246
260
264
192
236
178
235
255
262
233
273
306
193
193
114
206
270
282
227
198
266
218
243
225
192
250
179
361
187
209
231
258
145
173
252
250
215
319
218
232
255
181
205
213
219
277
292
234
209
325
275
221
220
281
211
286
126
198
182
285
255
219
252
248
277
221
244
243
221
173
166
213
204
167
211
166
160
178
180
211
259
247
222
279
155
195
171
196
206
219
193
182
234
214
233
166
268
278
196
174
193
147
234
218
293
250
214
191
208
216
208
238
249
291
230
235
195
139
222
240
205
336
185
225
206
225
197
170
160
218
230
230
206
170
201
326
294
220
190
237
224
210
203
323
229
166
273
263
273
308
158
262
231
282
279
129
234
188
170
186
284
268
256
240
161
280
260
206
161
181
314
257
284
194
226
200
252
281
145
210
258
214
243
250
221
210
204
227
284
224
182
209
192
216
285
180
198
218
241
178
212
219
251
185
251
195
231
192
226
154
114
243
268
195
177
199
234
204
211
289
165
196
204
244
258
292
211
191
228
270
235
214
152
170
208
300
278
241
245
253
288
358
188
149
240
238
181
198
234
298
174
209
222
255
204
181
260
211
149
350
213
258
152
224
157
193
160
189
196
232
211
144
236
268
225
144
246
247
226
303
208
198
198
312
205
215
198
293
200
220
189
252
139
275
161
245
193
221
223
187
266
194
222
218
220
224
186
252
114
242
191
235
249
243
206
154
242
195
221
264
178
291
246
210
250
268
195
229
185
349
272
273
268
316
209
205
212
282
262
206
234
158
224
244
237
210
219
192
244
174
114
283
264
193
316
261
180
291
206
262
268
211
182
199
270
208
231
195
209
323
281
202
160
156
195
251
285
304
195
302
250
210
212
192
180
180
231
252
294
274
279
279
180
174
234
247
273
220
198
255
211
170
252
218
213
240
240
198
240
218
254
240
223
296
264
223
213
139
286
230
198
271
220
248
151
217
235
114
245
237
225
245
246
218
229
227
248
225
218
289
203
205
273
153
187
254
186
222
226
229
162
171
204
264
251
219
203
243
208
228
317
216
207
268
214
315
246
234
276
205
182
162
147
213
238
179
198
207
194
262
178
300
265
239
205
259
201
239
245
240
244
203
222
160
169
208
181
241
174
264
159
233
237
297
207
177
211
243
228
274
221
178
244
230
243
240
236
193
156
234
291
315
189
189
209
195
272
236
233
221
243
152
179
310
231
193
163
225
249
192
234
152
243
241
253
238
250
172
178
229
237
160
245
187
157
296
293
298
191
190
229
202
242
219
126
149
227
170
241
300
231
207
285
209
173
247
261
279
330
186
229
202
225
262
284
297
218
235
188
314
253
249
192
158
252
245
234
114
233
175
270
214
238
275
198
267
182
216
228
159
255
180
173
201
266
332
305
176
270
250
232
211
202
164
241
228
268
145
202
225
294
249
359
195
167
267
252
301
210
370
220
181
179
222
166
209
241
248
252
244
204
270
180
210
225
203
200
286
217
189
285
240
160
196
252
210
240
280
161
284
260
226
133
248
203
175
145
185
261
197
223
114
198
221
287
234
224
229
225
204
300
199
196
213
310
193
311
206
260
306
212
303
187
218
306
174
265
201
247
177
274
194
169
287
199
245
254
207
193
178
178
190
192
293
281
260
199
165
178
207
211
212
246
174
293
185
190
228
218
223
235
258
196
314
221
155
116
209
231
170
229
326
141
193
242
222
206
213
210
280
201
169
219
170
256
210
173
201
170
239
202
271
213
201
229
237
343
192
207
248
276
220
251
230
222
208
283
147
270
264
146
181
174
227
189
244
198
197
146
280
300
231
252
188
201
255
234
147
245
248
274
219
250
178
267
223
265
277
206
204
225
176
250
259
254
209
238
220
235
249
247
186
181
193
222
207
213
122
146
235
220
207
210
194
264
237
184
197
116
204
176
222
308
220
275
281
302
231
269
126
213
224
230
191
231
220
241
237
191
179
206
207
195
332
114
249
212
186
213
290
289
187
195
220
175
211
196
181
249
160
264
266
270
166
218
229
343
194
260
242
255
199
218
248
278
276
187
230
200
207
212
270
281
296
170
114
219
233
301
220
198
262
261
235
212
114
199
292
222
233
293
198
243
247
245
290
272
251
316
275
220
242
308
202
253
166
263
240
246
189
188
218
149
261
210
285
155
254
179
228
180
178
225
198
252
172
284
144
238
228
207
263
250
237
201
251
278
284
275
192
224
215
276
245
200
265
201
224
190
246
315
237
251
212
181
196
356
306
200
128
237
183
178
175
239
308
221
218
179
241
209
252
184
237
216
266
178
240
204
247
212
226
242
213
170
207
240
160
188
154
243
209
288
214
243
207
116
266
264
214
266
218
243
218
158
156
238
227
286
172
202
221
196
331
291
148
222
265
299
158
167
220
285
253
253
114
213
213
196
296
257
194
210
247
251
214
175
235
184
245
262
274
168
249
242
225
238
162
274
231
291
218
247
114
303
277
204
158
208
195
289
303
218
313
158
193
231
182
222
292
258
180
193
217
180
236
355
214
270
260
280
250
176
249
277
235
226
114
289
122
272
187
252
223
145
233
195
259
330
210
202
283
181
212
267
196
203
291
126
231
184
262
205
254
187
306
229
178
218
376
314
152
194
246
236
227
185
185
243
231
203
202
238
183
246
200
178
246
245
234
228
154
297
268
234
197
175
225
216
233
224
178
225
154
192
200
282
260
186
206
212
154
322
258
216
243
258
197
201
231
139
249
218
240
243
232
330
256
188
306
154
324
315
291
255
293
238
282
189
206
229
221
233
214
238
218
311
196
141
224
179
247
185
167
179
222
158
225
214
218
242
202
245
243
202
301
249
213
211
147
247
205
204
286
277
218
325
219
210
251
224
233
198
212
264
185
270
300
312
209
247
191
221
243
221
299
222
279
270
248
194
259
166
310
220
282
246
178
250
217
237
229
185
293
282
274
186
156
230
211
225
216
320
210
275
238
293
291
304
277
186
205
189
237
212
224
197
206
168
199
268
170
235
155
215
205
218
149
144
306
195
170
220
179
206
168
228
287
188
264
168
169
262
281
254
230
273
202
274
238
198
372
267
244
192
234
267
182
292
175
287
173
243
165
156
213
274
215
277
185
252
202
311
283
209
273
294
273
202
215
191
234
174
198
189
222
209
262
198
165
266
179
210
275
187
232
239
222
246
266
315
307
202
182
206
234
338
329
236
269
227
208
299
248
198
236
207
247
263
202
201
246
214
270
165
253
259
278
174
274
181
152
302
257
156
263
247
209
367
237
255
294
207
302
198
303
218
260
181
243
221
192
284
250
175
254
174
143
165
151
289
149
233
207
256
299
114
178
189
189
206
210
206
245
172
182
229
220
260
171
217
260
226
270
289
169
108
161
225
126
279
184
275
188
203
182
234
295
265
329
220
198
248
214
201
191
196
303
275
238
189
206
272
173
228
200
154
169
174
232
303
243
233
323
281
281
247
165
256
235
271
314
180
184
214
278
159
270
195
271
184
333
191
227
281
288
245
196
224
228
210
243
224
185
214
183
209
192
199
200
250
246
222
262
176
181
239
224
228
196
213
288
219
208
253
247
286
252
154
287
200
244
273
267
248
228
212
190
186
262
257
223
252
221
217
163
239
237
248
181
197
257
163
281
255
145
184
231
200
160
267
341
166
184
192
263
198
198
229
217
242
195
272
252
263
253
186
257
282
263
225
223
184
240
288
220
225
222
248
210
236
222
296
184
203
299
263
223
266
220
270
241
208
264
277
168
362
180
253
221
159
215
228
195
152
238
277
203
212
229
289
275
256
220
185
160
203
202
201
195
268
219
221
197
149
339
281
230
251
220
202
180
299
173
240
221
288
204
245
254
303
171
198
219
241
192
179
214
169
273
260
205
244
206
249
313
145
250
205
261
179
221
174
160
181
194
216
184
126
146
235
253
214
232
222
215
190
280
240
265
286
334
114
204
232
202
275
252
186
209
332
276
241
236
287
288
198
274
245
266
180
231
207
299
154
251
269
160
229
272
246
182
252
172
151
207
171
223
214
233
204
247
257
278
186
335
235
236
170
241
194
218
265
237
299
263
257
114
231
217
268
233
282
170
270
225
266
218
216
160
160
201
130
184
176
317
170
180
219
195
184
181
146
254
126
202
240
181
216
219
235
241
147
193
271
223
206
178
179
157
249
313
248
169
253
152
198
245
175
206
199
286
222
229
181
229
178
263
296
262
206
186
225
116
156
195
130
236
238
279
256
151
169
254
293
204
225
271
268
239
217
192
222
220
241
267
246
214
261
181
217
215
324
217
280
190
295
285
238
171
185
196
278
197
261
224
217
233
224
198
264
230
267
215
180
240
243
239
178
179
258
271
218
272
236
269
177
301
200
258
192
213
224
165
219
262
228
231
223
196
164
202
126
173
241
316
251
257
160
191
277
237
193
243
223
213
122
225
168
178
185
193
213
165
263
181
238
201
266
316
229
170
313
214
231
214
222
232
248
285
249
192
200
265
193
201
198
242
235
215
208
168
164
213
182
224
281
233
191
221
229
160
257
210
192
256
205
307
234
275
227
215
170
226
209
254
253
202
191
294
228
227
303
221
208
218
151
197
175
312
220
251
238
286
201
236
245
259
195
183
201
204
244
282
218
280
227
222
289
114
210
169
188
359
233
213
165
198
287
282
274
259
202
170
269
261
287
252
225
238
196
152
237
199
181
177
180
242
210
244
328
223
176
285
253
298
196
187
245
220
200
211
243
173
202
121
208
241
258
181
246
207
170
277
218
182
193
246
243
198
168
356
176
201
163
196
207
267
226
183
267
198
208
178
206
195
200
273
188
230
195
240
253
208
277
290
178
287
204
267
228
325
178
190
319
370
168
182
219
225
156
202
173
232
147
254
180
197
230
177
248
316
219
264
171
202
172
207
196
212
283
291
212
199
304
271
224
237
233
252
235
264
183
257
179
265
319
253
173
206
108
327
323
231
291
190
300
247
282
238
198
199
199
196
144
237
227
256
238
215
252
236
314
219
294
276
239
256
108
261
203
180
218
217
254
176
173
219
234
255
227
230
207
177
292
183
245
189
308
242
218
239
230
270
196
208
256
212
263
307
290
241
308
243
209
274
187
238
282
280
236
279
218
114
179
291
243
213
227
307
287
193
238
288
227
279
235
160
233
171
187
228
197
174
180
221
225
156
230
166
202
231
286
220
246
200
218
160
284
238
318
192
161
170
231
148
205
270
186
159
333
271
233
237
286
197
218
229
327
233
260
229
257
276
216
225
240
156
206
269
195
296
170
184
226
275
179
208
175
239
155
211
174
215
194
198
222
187
200
292
295
198
188
169
241
245
254
282
251
176
215
260
220
238
243
220
325
209
177
247
188
301
182
274
290
247
239
114
208
247
216
223
190
222
233
240
252
362
319
207
226
222
271
220
172
247
209
184
253
188
233
325
266
231
235
226
197
114
191
171
249
254
195
203
285
222
219
230
234
255
208
253
210
192
258
208
296
108
304
245
181
270
195
262
184
245
121
247
189
168
334
246
269
248
204
194
149
114
248
231
174
192
184
130
181
292
244
244
200
188
262
190
209
156
270
285
246
265
239
188
276
216
283
158
228
297
296
210
229
208
238
288
228
215
201
229
174
293
267
243
203
227
241
130
152
214
320
297
170
198
217
257
246
193
242
227
321
264
229
256
192
233
199
208
195
219
157
309
231
235
284
198
207
222
139
232
192
211
241
232
203
235
226
204
210
203
210
216
222
260
185
237
247
274
238
114
194
145
163
211
220
216
173
151
233
168
114
211
258
258
215
254
239
206
221
223
181
220
169
205
202
318
239
151
214
202
246
258
241
273
166
194
198
150
219
293
171
255
291
239
180
284
208
266
217
192
152
194
201
192
223
236
197
233
284
303
245
220
184
280
224
199
231
152
240
238
234
286
222
194
213
186
208
195
283
260
216
235
146
208
142
222
201
180
221
280
248
226
175
246
229
241
226
269
201
210
264
286
196
233
202
240
254
179
183
282
227
235
176
186
228
190
193
233
208
229
180
201
195
227
235
311
162
237
273
230
174
270
241
199
237
108
254
199
243
147
114
323
189
221
261
258
192
192
301
221
208
299
196
281
333
218
218
267
171
287
189
258
241
209
173
240
222
198
202
146
170
178
252
226
219
200
194
204
195
161
240
213
230
200
286
178
162
282
308
227
143
257
229
309
234
249
198
222
176
207
253
181
134
281
252
204
198
211
275
281
195
270
244
164
220
149
221
186
179
214
318
205
274
156
180
289
248
193
244
240
231
191
274
224
304
234
114
195
189
167
143
317
262
273
229
238
214
222
169
216
156
283
181
208
229
273
192
148
121
214
310
114
218
181
289
227
273
259
178
243
232
206
226
201
133
298
150
160
184
178
181
228
243
194
126
199
242
219
250
185
227
312
324
231
275
238
214
145
144
307
225
242
178
218
228
287
177
193
240
285
245
367
252
219
203
165
314
318
302
197
228
254
251
184
258
325
149
229
197
246
308
232
260
215
245
233
182
237
203
285
197
200
157
209
216
233
178
202
205
247
193
212
303
178
258
151
214
227
189
202
240
264
175
186
228
235
176
219
261
165
234
244
175
169
225
192
184
251
241
285
174
203
204
165
195
327
191
327
260
178
294
264
192
292
268
207
226
203
170
274
300
209
209
233
133
318
260
207
259
224
320
226
261
187
262
254
243
208
173
240
207
236
209
166
164
114
202
205
236
206
286
216
239
238
243
245
219
197
146
278
271
121
244
199
231
193
230
255
195
270
211
229
254
173
200
208
268
156
195
246
162
249
276
216
262
216
234
217
259
244
242
166
298
185
265
289
310
218
242
226
212
213
281
242
207
267
216
165
282
160
276
176
294
222
215
246
253
242
152
292
266
234
259
242
225
256
208
263
202
239
178
205
231
264
199
230
168
308
326
184
254
299
241
237
254
205
203
263
244
284
229
269
272
269
205
194
217
271
243
256
211
243
193
240
228
274
251
262
178
224
225
334
214
213
264
201
266
211
264
144
198
169
260
217
206
280
216
199
297
236
262
375
235
206
213
175
193
192
255
197
311
200
216
230
258
202
241
278
177
226
232
144
272
220
223
228
261
188
121
198
180
213
245
239
269
264
161
287
154
227
233
169
221
166
220
187
234
196
177
303
210
205
232
229
242
178
347
237
205
191
195
207
242
205
226
197
237
156
206
278
228
321
286
181
235
210
185
259
213
188
331
216
181
208
165
188
245
264
275
240
256
151
230
352
205
209
222
302
222
275
254
192
232
214
212
190
206
238
213
213
190
203
209
184
224
246
164
220
224
206
203
190
368
152
141
178
279
194
266
174
272
250
307
148
203
241
227
215
220
305
201
194
174
154
139
197
198
219
261
255
290
200
239
160
321
237
212
303
263
173
215
232
186
273
210
177
179
194
207
162
167
229
215
152
244
238
250
216
161
233
226
284
212
278
143
234
349
238
216
114
197
264
170
303
222
173
272
246
169
204
271
247
272
126
213
208
229
160
241
211
168
234
296
166
228
259
257
228
196
232
209
144
262
221
275
230
208
282
244
267
290
270
289
259
146
219
178
173
191
145
200
254
290
182
186
189
276
253
251
205
114
271
222
232
214
217
282
188
248
146
266
224
189
219
277
206
192
278
210
255
268
159
202
245
229
192
216
250
223
195
247
195
196
280
227
210
312
237
197
220
191
187
209
245
303
238
205
249
206
235
176
158
170
178
223
271
146
185
200
308
273
275
296
189
187
245
359
187
178
213
160
202
296
184
203
291
189
246
196
216
245
236
265
237
262
232
289
254
279
278
209
197
204
194
184
253
215
239
222
214
219
198
278
255
235
180
248
292
223
185
209
184
234
351
201
216
270
139
187
174
193
263
214
245
327
240
258
260
206
160
272
231
263
231
230
186
218
253
179
256
229
224
168
220
243
262
211
210
231
227
231
251
152
237
178
271
235
235
254
258
246
145
211
240
203
202
245
220
249
256
149
189
176
235
244
222
292
195
287
174
225
192
189
245
236
292
200
311
175
166
151
234
209
218
178
306
233
205
205
295
224
234
283
244
239
157
278
215
240
219
234
271
200
269
282
129
248
227
251
195
286
227
234
248
250
248
192
270
203
351
152
190
250
207
243
171
232
270
209
209
166
241
203
203
220
203
253
296
260
145
225
250
316
281
203
256
275
149
271
283
241
227
194
230
253
244
263
189
219
221
215
254
233
187
267
261
233
236
195
182
252
214
272
230
287
168
244
251
252
225
201
256
233
214
215
248
217
322
274
173
217
194
160
184
242
291
314
215
318
270
179
252
194
206
328
173
257
225
268
186
340
235
181
182
263
283
229
247
251
237
197
251
159
152
250
208
250
331
195
203
211
129
243
252
274
225
192
276
284
247
193
188
166
133
313
223
250
234
242
204
189
271
254
156
210
181
239
226
320
252
254
277
185
238
235
230
213
221
282
244
189
241
249
258
257
215
138
212
139
198
194
198
215
278
266
207
247
194
161
213
278
168
263
205
226
262
240
169
324
250
184
236
255
181
200
214
250
182
321
210
211
154
114
268
201
297
219
200
230
253
245
191
323
205
255
180
220
235
251
197
233
338
207
235
219
221
207
161
288
206
301
234
252
193
305
202
228
191
206
235
236
220
217
244
114
141
246
290
314
361
249
253
241
387
283
251
294
203
235
213
160
230
180
286
253
217
220
225
196
295
223
290
208
208
215
296
218
215
254
234
253
231
285
209
193
273
220
238
238
184
286
138
222
294
301
248
248
262
160
211
219
184
139
243
251
198
258
183
253
179
229
170
216
332
261
217
243
186
184
263
156
152
232
180
271
165
179
245
222
274
158
269
248
240
231
114
261
200
227
210
233
235
158
162
216
238
258
179
244
170
197
257
188
238
244
200
172
249
190
209
231
270
181
151
304
232
192
202
268
231
297
212
225
227
207
287
218
231
338
175
229
219
242
256
223
217
269
269
266
157
356
243
287
250
247
222
147
256
321
260
248
221
277
148
244
263
273
243
263
167
257
241
212
238
242
233
206
227
265
227
174
219
271
130
205
212
168
139
231
188
218
207
169
154
230
174
207
273
235
175
227
170
178
258
272
242
261
195
200
193
170
230
202
256
225
247
225
156
210
171
248
241
213
210
158
184
218
189
287
187
268
194
201
225
201
156
277
265
269
222
197
266
248
367
242
292
275
229
178
236
262
194
192
182
202
236
183
244
266
215
130
220
222
243
154
214
156
268
212
177
144
227
253
234
215
258
230
233
178
114
214
283
246
291
223
216
209
174
223
179
269
202
253
274
258
247
200
166
240
255
242
218
157
281
300
191
254
191
227
232
247
233
243
257
231
195
219
271
152
208
196
294
287
232
262
196
212
281
146
145
277
289
195
234
248
262
255
168
197
362
212
163
200
187
248
232
192
231
230
240
310
228
169
317
145
185
258
286
188
229
175
252
257
147
161
228
218
212
198
152
197
221
195
230
114
248
218
174
145
209
247
234
202
173
262
226
296
227
214
231
206
189
202
215
225
242
130
255
310
190
276
252
284
201
230
213
303
198
328
266
223
260
315
224
253
227
270
231
239
326
208
368
265
234
254
205
237
180
168
219
220
170
206
212
241
243
255
227
210
267
265
255
232
212
253
106
177
214
279
305
214
248
253
228
170
148
221
215
286
301
173
218
254
130
230
301
169
225
238
195
184
146
273
235
302
215
241
163
230
144
187
211
333
297
183
180
152
250
274
282
114
238
220
218
195
220
114
196
364
287
214
260
190
219
215
164
191
189
188
198
225
158
211
243
256
159
220
237
263
232
156
252
195
205
181
200
206
242
190
261
216
198
266
213
243
348
225
251
180
194
209
219
308
275
271
189
277
181
116
267
333
215
181
308
222
257
276
202
200
226
223
238
186
198
258
255
178
187
232
260
173
114
195
261
233
262
294
114
243
191
194
250
169
174
208
252
220
240
266
283
264
234
219
196
160
305
180
203
146
217
156
215
201
254
116
180
180
209
228
245
236
158
258
181
229
261
191
226
168
308
244
257
222
222
261
178
213
237
201
236
275
279
184
231
276
174
242
235
275
201
299
270
207
277
160
217
198
191
206
243
200
263
206
293
219
256
223
335
215
217
258
308
178
158
114
236
223
242
279
183
114
242
228
114
197
211
207
190
174
217
236
204
252
226
244
245
286
211
273
203
208
243
229
170
229
277
219
175
175
195
265
248
234
220
216
170
137
176
191
258
198
195
203
166
160
197
204
228
244
249
178
228
227
259
204
309
206
302
220
207
384
200
229
260
215
236
222
214
193
234
198
201
285
204
233
270
259
114
174
207
241
295
262
229
231
192
180
252
198
203
195
288
176
256
114
199
116
242
223
192
260
246
209
190
249
228
225
187
310
247
181
296
238
254
237
158
184
185
193
255
195
322
301
212
231
230
257
262
168
165
224
251
219
202
194
214
178
265
146
191
196
272
249
205
258
292
196
191
204
238
162
238
211
286
236
226
247
141
194
179
248
169
219
225
233
252
173
230
234
192
213
194
200
271
284
234
279
151
273
265
254
211
314
190
227
251
260
181
189
209
228
180
240
241
256
227
160
192
210
181
197
238
214
276
276
196
224
234
213
221
237
262
195
201
256
228
297
161
257
253
238
221
213
208
269
193
155
263
221
246
208
156
165
201
178
165
178
231
238
216
219
286
294
232
313
152
214
238
229
183
326
206
189
212
192
204
239
229
186
249
232
279
285
276
210
198
144
305
272
160
238
211
220
179
170
180
271
156
247
206
195
261
240
208
323
210
192
206
297
251
228
184
292
299
217
203
256
258
206
181
238
189
217
227
241
227
211
166
225
215
203
237
214
242
259
260
249
234
175
257
264
203
216
268
255
219
306
238
208
146
173
206
267
192
231
217
218
178
274
187
225
240
194
157
193
232
195
191
184
194
264
197
114
175
218
189
214
195
170
238
305
260
223
222
173
216
216
194
200
170
175
310
192
240
196
204
211
219
214
182
195
226
243
283
207
156
198
223
145
215
249
192
246
279
253
223
262
114
272
284
219
295
241
208
194
114
194
233
256
208
324
201
242
329
221
139
203
293
229
206
229
232
134
233
215
277
184
181
203
177
156
286
198
215
168
255
207
205
186
208
234
209
235
255
217
280
238
208
219
210
220
268
176
255
293
268
228
241
254
114
238
309
228
288
310
207
207
178
277
195
242
254
258
221
270
265
203
277
238
126
247
235
170
255
217
242
217
265
227
242
179
262
253
209
174
312
248
260
194
205
192
192
157
187
278
239
213
249
247
279
338
233
182
218
211
187
283
149
191
230
189
220
224
256
233
247
227
192
170
263
238
243
231
233
184
216
266
198
175
209
212
298
232
178
212
213
248
257
233
251
215
222
170
241
185
173
277
225
383
178
219
173
244
219
236
180
170
217
178
201
346
238
188
214
203
161
220
289
210
208
151
173
349
174
294
342
196
193
213
178
233
151
269
272
192
253
244
192
242
232
223
213
277
192
269
285
250
259
174
206
199
227
210
209
258
288
235
216
210
196
238
180
218
157
192
255
264
253
181
237
176
151
249
224
199
177
270
283
222
288
253
261
178
148
270
251
227
168
177
172
310
188
302
246
234
317
164
259
260
218
191
249
234
232
184
235
259
255
190
208
221
198
297
168
166
270
216
269
181
235
216
247
267
250
238
139
241
221
191
184
229
160
216
213
256
204
203
222
282
247
170
272
261
148
228
275
309
114
198
174
230
247
167
180
320
267
121
181
223
192
192
251
239
200
232
215
208
293
204
200
154
274
205
193
272
243
214
208
236
223
175
233
238
190
144
273
201
231
241
285
192
182
169
242
176
234
247
203
241
178
220
179
212
263
223
290
256
287
257
229
209
175
246
245
187
194
230
207
241
215
234
263
234
282
321
168
313
215
293
290
257
211
148
228
154
224
269
200
285
114
243
304
171
203
326
213
168
280
279
138
287
303
243
269
193
238
287
199
191
324
156
114
206
253
181
156
198
234
228
176
329
231
198
254
265
241
273
161
276
230
202
270
324
279
277
228
238
167
243
235
241
230
231
237
220
146
203
242
234
193
285
196
146
170
186
200
240
149
180
210
246
203
256
266
278
270
205
273
263
239
257
240
189
233
212
283
255
171
237
195
216
212
282
134
116
311
167
244
400
219
221
326
245
240
241
188
159
262
218
297
225
238
202
191
255
250
261
202
234
209
249
198
288
208
152
191
221
268
244
252
203
242
216
246
238
183
309
213
156
169
228
197
230
258
239
336
264
225
180
288
292
211
228
236
183
237
246
227
188
296
202
208
212
114
201
305
194
193
237
230
196
232
230
190
246
233
147
184
211
159
281
248
227
133
252
233
219
198
169
214
239
205
246
291
145
174
313
286
166
214
169
243
257
259
194
169
175
232
256
204
203
306
192
242
268
313
186
231
280
210
218
246
212
294
237
245
223
276
208
224
236
289
213
208
220
257
181
215
234
225
160
239
204
345
293
299
196
211
152
165
215
240
279
235
263
181
202
165
183
218
330
214
276
165
299
260
200
269
191
144
192
254
195
193
268
250
318
284
185
211
257
241
233
180
244
189
228
285
234
230
231
193
200
246
262
203
218
242
190
244
203
229
247
209
278
171
253
227
295
181
237
220
235
196
242
173
215
220
291
226
226
247
242
258
178
320
254
313
234
240
327
219
234
253
205
215
186
287
282
257
264
233
204
168
175
239
294
226
211
249
254
231
218
160
221
281
237
294
184
255
216
208
234
270
258
289
241
224
294
214
306
246
223
130
254
235
245
260
198
279
188
148
239
217
262
309
235
271
218
225
284
156
248
299
190
239
330
305
219
205
265
190
288
243
278
178
266
213
170
168
240
235
261
233
156
250
283
255
193
315
304
192
219
275
185
231
199
239
235
235
242
225
239
250
238
149
181
216
181
194
279
157
195
193
208
166
180
317
260
271
279
252
309
175
233
268
275
310
262
271
262
266
241
228
165
219
197
172
174
251
160
108
258
227
309
230
203
212
329
209
211
188
272
219
206
184
324
270
126
205
240
278
229
175
259
222
202
206
206
220
187
206
309
272
255
178
266
233
270
232
160
308
285
215
257
271
232
237
250
210
206
214
168
178
185
201
262
165
140
235
217
282
190
239
251
216
278
201
235
174
328
218
210
268
242
213
273
241
206
188
273
211
223
247
245
176
208
222
195
242
235
186
232
214
182
195
211
249
217
208
250
307
231
296
303
159
156
341
364
309
256
234
241
211
276
213
366
279
238
295
216
192
262
174
154
177
211
263
274
210
293
223
234
263
223
234
220
212
204
227
257
151
193
280
211
168
233
221
212
194
233
253
222
207
181
209
238
175
216
252
297
145
237
122
237
274
240
281
237
278
201
156
227
207
177
245
218
264
239
347
309
282
252
184
213
323
253
233
200
204
108
175
248
198
249
235
212
275
233
304
206
175
235
263
285
252
153
231
286
287
207
305
169
237
164
205
178
242
139
220
230
264
441
215
217
270
236
212
225
197
347
197
161
169
264
258
266
191
114
249
192
252
199
236
230
227
233
219
161
241
249
165
231
227
226
178
247
156
187
175
203
114
249
267
184
202
250
221
145
266
244
211
160
225
266
164
214
231
217
206
325
212
234
154
183
288
281
233
259
173
229
253
302
211
233
206
223
207
196
233
206
173
245
199
226
160
187
228
192
325
215
337
245
166
215
174
160
264
191
215
288
264
181
268
227
297
237
269
156
241
312
157
220
139
211
246
258
250
170
280
195
286
198
185
193
230
259
272
195
210
174
251
154
175
247
173
261
168
264
191
237
256
232
226
234
246
121
213
176
284
253
247
182
164
282
321
280
214
208
245
240
248
260
216
167
214
223
264
187
265
193
304
284
292
218
195
235
280
231
254
191
243
218
193
228
301
242
284
216
152
257
235
194
263
214
233
244
303
284
221
200
293
209
257
266
199
238
196
234
240
199
229
246
197
145
253
209
260
192
251
356
191
241
237
199
205
180
249
221
231
175
242
233
212
247
201
246
215
198
229
207
238
217
144
259
221
299
203
171
215
248
274
337
198
240
181
167
235
212
146
210
185
289
263
245
213
259
269
226
239
246
263
225
254
236
260
209
215
231
304
208
327
165
182
210
233
272
240
232
226
258
247
239
231
224
245
181
243
200
269
288
235
241
176
190
214
188
233
178
200
207
194
257
254
290
280
181
214
260
170
184
195
265
225
121
241
139
253
247
258
241
209
324
247
238
202
283
216
307
213
248
180
186
213
232
215
177
148
224
173
200
311
174
209
221
227
183
230
225
196
207
239
114
239
262
187
192
268
278
189
166
220
212
183
245
273
243
272
206
247
264
211
225
215
145
306
275
247
202
183
114
213
139
228
188
189
278
268
244
232
168
270
234
214
192
177
260
203
268
144
213
292
228
230
170
228
198
210
179
233
194
303
264
271
181
191
237
229
270
235
293
202
221
195
170
273
298
175
169
251
165
265
268
299
236
215
222
247
232
219
221
254
239
269
225
214
240
169
241
228
227
242
266
262
265
257
265
275
272
235
258
198
149
274
147
200
152
191
162
269
186
216
201
151
225
220
159
254
198
228
284
204
236
250
182
298
230
182
264
309
229
266
194
235
221
194
251
268
158
260
173
198
263
253
220
187
244
318
204
241
309
264
277
152
154
237
275
213
238
196
297
224
228
194
255
335
149
241
235
152
240
324
266
355
185
247
296
254
287
224
256
236
269
194
341
184
285
296
246
191
161
235
283
286
238
229
237
255
248
262
176
261
235
221
263
184
169
193
168
244
185
198
173
239
210
272
178
148
246
204
258
225
269
206
302
271
229
249
290
203
159
244
195
247
206
165
238
208
303
254
208
299
245
217
245
256
247
203
208
227
207
211
255
255
227
174
219
192
151
258
312
198
281
212
198
219
156
266
244
197
288
220
297
248
262
209
239
376
266
236
206
253
198
260
266
258
235
218
265
209
293
253
253
307
181
231
243
266
270
273
286
256
191
221
190
180
267
260
181
322
277
209
229
234
175
237
219
237
160
236
233
279
250
244
309
219
273
222
203
183
287
285
313
244
175
239
249
250
207
313
158
295
263
291
250
199
227
152
207
190
222
178
269
232
183
193
174
242
239
254
260
220
181
243
222
262
249
221
240
203
237
229
300
244
192
212
244
229
263
187
229
176
208
218
196
314
248
175
237
245
219
184
272
291
214
198
218
114
344
197
173
225
267
225
186
165
246
223
283
215
226
197
308
173
270
232
269
214
217
210
214
225
263
173
326
290
257
114
216
181
257
241
221
275
279
170
211
243
276
166
161
205
198
221
221
162
235
242
198
251
235
250
173
264
215
279
229
263
324
263
149
214
355
245
262
191
286
241
225
264
195
190
254
219
211
155
153
182
249
175
193
285
163
121
322
227
285
235
161
202
245
210
209
253
208
195
245
213
312
222
251
289
250
282
198
253
244
149
174
225
207
205
213
253
255
269
231
180
170
227
231
252
227
221
328
222
204
247
229
240
304
283
324
247
275
234
277
145
297
252
230
160
180
224
303
173
202
297
272
263
237
260
308
213
242
178
156
259
255
213
196
295
230
146
202
195
204
226
207
218
172
137
229
192
215
256
236
175
225
270
218
229
206
205
248
237
215
242
259
194
192
196
262
193
289
222
265
181
301
185
228
162
158
236
224
235
256
188
177
223
167
182
175
195
189
193
211
192
176
262
199
241
185
179
282
173
250
275
197
206
230
297
161
223
222
229
225
206
232
225
173
190
197
149
280
226
273
268
176
256
335
188
163
225
173
193
289
257
169
241
328
200
255
178
162
179
210
254
245
250
201
180
225
163
310
214
231
151
275
239
178
230
348
195
114
246
146
201
189
214
245
301
221
222
220
189
224
242
228
248
303
241
274
317
146
166
222
235
260
232
209
295
170
152
168
162
243
234
274
156
203
202
248
116
194
146
200
175
139
253
151
218
266
303
186
194
207
204
245
205
327
175
251
195
263
176
193
215
172
276
245
227
250
267
311
207
178
252
182
282
233
215
199
193
280
181
241
305
283
256
187
259
235
212
248
167
200
222
287
180
285
287
174
160
203
315
272
285
235
223
198
230
225
190
295
255
184
158
254
255
235
209
320
228
230
213
287
259
241
195
244
219
212
189
192
232
254
252
228
303
234
151
228
224
133
165
281
278
193
236
215
224
191
233
255
241
240
267
126
248
238
194
281
170
184
262
133
225
277
218
173
226
189
240
239
207
193
250
160
148
156
325
279
210
341
160
181
206
178
275
219
278
253
235
268
165
254
213
198
175
176
278
116
159
194
245
261
211
149
238
270
203
133
291
151
235
172
256
282
261
114
307
194
184
243
198
183
213
244
214
263
224
276
231
225
231
225
253
218
178
211
219
175
229
232
211
266
228
197
278
237
114
270
227
191
264
188
279
233
216
182
234
213
240
172
228
284
282
213
169
275
229
192
187
204
207
224
181
232
267
192
242
252
206
254
173
184
214
271
213
213
226
241
214
275
240
206
213
151
178
262
273
236
173
235
223
272
175
152
199
227
167
251
180
245
309
225
289
272
232
229
245
215
303
181
318
281
257
205
280
265
210
211
315
250
141
194
266
185
205
197
231
227
298
308
359
194
212
228
273
288
269
214
251
243
204
181
263
212
188
285
241
212
168
304
218
247
201
239
202
212
250
337
195
221
204
196
178
249
237
167
227
317
237
222
179
175
179
202
249
193
229
191
209
209
275
211
249
175
225
284
244
207
193
237
230
236
249
211
225
192
259
251
205
182
194
315
266
217
258
213
243
260
245
199
170
218
231
205
240
215
258
281
299
265
229
234
272
176
188
282
228
198
279
257
237
267
203
308
235
258
279
161
191
218
162
196
245
309
209
255
201
194
219
216
253
225
253
301
231
250
212
274
231
225
278
243
196
251
242
319
240
182
276
196
254
239
262
247
178
178
229
288
318
275
194
275
283
244
220
243
257
323
170
240
160
229
276
240
222
184
218
298
192
184
233
186
221
157
222
227
238
195
291
243
190
208
314
204
208
319
190
212
178
220
259
202
247
213
303
217
238
219
169
195
275
208
216
231
194
219
192
189
211
258
285
224
213
250
234
266
220
201
171
224
261
194
211
255
280
199
141
306
126
279
236
194
216
264
253
285
186
301
280
233
303
208
247
166
307
180
284
259
235
251
243
152
225
114
225
262
241
208
229
235
231
261
176
204
166
208
214
175
227
193
237
192
239
247
234
151
253
204
212
238
173
252
314
234
212
159
200
174
194
217
273
203
212
184
211
248
213
193
238
237
224
324
254
223
243
149
285
266
202
190
283
260
160
214
169
327
244
278
151
254
280
254
151
240
292
219
227
216
257
195
260
218
226
114
151
288
256
184
258
200
306
194
232
242
242
204
212
213
218
221
177
217
312
242
233
145
284
209
314
304
284
169
380
199
194
161
258
321
221
224
228
243
174
144
153
231
178
198
188
114
250
199
206
246
229
182
275
216
198
243
289
247
246
236
195
179
265
213
170
214
233
245
215
237
195
242
218
248
166
209
241
176
325
252
219
201
283
266
312
208
222
311
196
250
234
250
198
169
273
266
200
318
278
187
227
177
202
152
244
215
259
251
214
156
170
276
220
255
272
180
276
242
252
156
237
176
242
186
319
263
198
212
206
245
232
203
200
148
179
244
175
221
190
211
205
278
106
279
295
259
228
256
264
230
200
196
228
213
195
219
181
271
219
239
227
223
292
264
218
156
224
260
224
283
216
173
173
197
252
226
209
211
309
284
173
233
243
196
280
197
175
219
338
256
218
212
236
235
274
185
293
176
209
189
195
265
277
284
238
195
217
250
271
173
214
207
262
226
154
188
247
170
210
232
235
214
232
230
174
257
247
240
263
232
293
114
202
245
220
190
197
238
213
215
191
257
269
214
193
223
281
248
161
227
249
185
116
157
152
234
327
270
242
262
184
259
231
264
170
230
231
239
267
169
199
191
219
229
221
212
211
266
219
270
173
186
214
334
145
194
222
269
272
215
230
296
213
216
167
288
175
108
198
170
184
221
271
245
221
255
156
178
205
315
114
229
234
234
165
235
251
148
266
220
258
185
214
175
184
208
173
180
186
177
271
286
226
152
284
166
207
192
203
256
206
232
205
162
222
283
234
256
258
274
249
220
235
239
196
300
175
198
251
198
239
236
248
218
180
191
160
221
230
262
252
341
245
260
203
207
225
222
256
250
291
205
280
177
192
277
239
241
174
238
242
282
212
212
263
253
159
265
224
263
206
161
114
114
301
198
175
262
280
170
193
207
204
151
308
269
220
193
232
316
277
236
237
284
227
210
268
196
231
261
246
232
241
253
266
177
179
178
252
180
346
257
209
181
210
198
254
245
180
294
238
214
188
188
202
114
260
151
207
219
216
234
320
229
219
224
291
225
264
205
350
266
299
209
255
186
180
222
227
265
259
222
283
271
228
227
224
280
277
260
192
193
240
155
139
254
211
250
324
233
241
255
236
246
219
191
251
250
215
227
208
272
260
200
144
259
164
233
259
241
260
158
291
264
258
154
210
221
244
331
194
190
181
188
114
229
251
202
266
214
237
274
254
181
191
225
215
305
181
210
195
253
221
204
315
269
264
244
247
264
190
236
208
265
170
227
278
195
276
275
213
167
193
240
214
154
276
301
226
220
311
190
205
192
234
239
242
174
191
264
228
187
239
192
216
217
261
263
235
175
206
238
186
225
235
216
317
139
208
201
172
211
260
271
216
248
254
225
236
308
220
242
275
154
256
203
225
225
200
209
261
200
266
260
213
212
189
231
277
290
235
243
178
152
214
300
203
190
239
218
262
192
269
238
246
180
144
231
261
265
188
218
315
301
212
198
193
247
200
176
192
160
207
213
152
257
240
195
234
301
270
251
149
199
256
246
286
289
202
319
161
234
252
235
202
250
174
213
256
151
209
180
251
144
174
257
269
250
202
206
170
290
259
216
244
180
158
242
242
215
284
226
219
183
114
193
274
179
156
265
252
289
280
178
192
292
211
274
224
194
193
178
194
249
193
239
235
248
172
206
170
263
221
174
171
195
161
226
214
188
234
189
215
236
359
182
165
206
230
216
175
237
223
218
177
180
253
244
230
177
213
269
317
215
250
206
203
286
232
211
183
269
152
256
242
214
208
238
219
181
242
217
196
232
166
213
144
252
262
245
196
204
230
204
229
201
209
219
273
271
279
207
227
293
258
284
212
295
195
204
212
214
200
203
126
165
276
144
243
214
295
221
284
234
270
234
198
238
227
168
261
287
172
200
182
250
232
194
174
280
207
199
268
256
126
151
319
139
230
244
192
210
274
213
190
258
145
201
204
304
182
241
235
192
196
272
205
156
197
238
288
145
244
272
283
233
270
194
160
287
331
259
287
251
201
303
152
172
240
246
218
233
234
171
199
266
169
184
253
291
121
323
213
240
180
170
189
295
218
242
222
284
156
213
233
248
196
301
221
246
242
236
258
213
197
200
268
314
229
201
246
229
245
106
175
208
194
255
307
160
287
243
227
319
184
160
250
273
194
208
276
237
235
219
254
178
242
224
168
141
229
175
227
216
202
266
208
205
177
256
234
217
234
265
189
206
215
273
224
277
151
229
192
181
260
181
312
187
247
214
294
191
184
169
213
227
317
281
316
259
263
195
223
191
206
200
160
234
261
154
139
214
208
250
215
251
279
212
285
229
265
164
181
185
199
248
114
254
253
210
170
281
278
186
191
214
320
170
186
232
269
290
268
314
196
205
216
243
194
160
178
189
258
204
204
180
197
184
114
243
209
302
283
253
211
292
226
197
261
173
221
207
252
257
301
205
249
231
194
231
202
252
188
186
237
273
165
238
283
262
261
264
250
146
311
180
271
239
302
165
269
221
243
182
178
260
245
313
264
200
210
215
233
267
205
212
168
281
202
152
249
166
161
184
146
191
241
167
198
301
182
174
250
244
192
236
223
301
250
285
190
178
181
273
223
214
260
156
176
219
242
199
239
293
240
258
234
183
311
239
220
229
222
214
290
220
206
272
227
285
229
241
241
194
231
191
252
245
168
240
264
275
126
203
168
324
253
264
223
271
143
244
265
179
228
183
213
175
227
237
170
173
227
281
147
219
203
213
237
234
250
189
215
244
271
274
287
244
215
180
198
146
244
193
196
183
336
275
220
191
212
213
156
287
283
204
180
287
221
167
260
175
175
329
248
139
193
174
149
249
253
239
179
270
251
234
173
185
168
192
203
201
266
181
218
220
174
273
254
183
156
229
226
271
147
256
249
229
152
193
376
296
184
290
254
234
241
195
223
213
307
211
230
167
303
176
286
257
179
195
203
277
251
255
220
222
180
261
254
170
284
240
229
196
174
210
234
256
152
209
301
149
269
144
241
209
241
309
152
179
186
216
175
179
179
168
289
291
181
181
249
203
227
231
191
231
260
259
266
259
193
263
283
295
157
175
189
189
282
272
247
161
196
188
216
278
306
241
275
184
210
246
221
293
174
149
200
318
221
242
187
164
214
242
219
235
175
301
239
179
225
190
240
191
181
209
255
185
252
212
257
170
226
297
179
114
205
154
296
169
215
259
108
215
233
280
225
256
201
209
171
278
218
252
216
164
282
207
214
248
216
270
239
269
253
199
287
288
249
279
214
298
171
196
207
196
215
252
258
241
217
176
139
270
256
198
303
214
146
214
267
222
206
249
178
204
211
207
184
192
301
238
278
245
175
175
152
238
188
255
226
193
235
243
259
198
218
160
246
176
263
250
237
156
146
116
186
220
241
294
240
180
192
209
129
140
197
229
241
241
218
342
147
255
205
276
173
253
225
198
255
317
217
200
297
258
228
166
203
151
326
156
219
191
231
210
268
236
158
222
227
268
254
241
278
175
201
141
195
180
294
206
214
231
255
206
204
181
249
214
260
202
180
284
160
207
153
260
194
199
249
233
234
282
248
219
326
202
174
183
272
191
175
253
221
223
272
228
229
191
231
205
280
269
302
156
241
181
229
211
243
230
250
265
239
166
234
181
179
218
151
217
227
148
203
214
265
257
178
251
256
239
226
258
201
272
220
238
313
267
242
243
270
231
185
212
220
192
174
203
246
272
243
256
202
224
146
252
207
114
228
231
169
241
253
275
236
233
287
224
291
238
190
227
204
216
223
301
188
260
247
262
184
221
186
199
253
251
198
225
251
188
309
202
334
263
227
208
242
114
255
207
180
272
222
159
168
160
265
272
224
243
299
292
278
251
280
253
209
214
182
198
320
207
278
201
172
186
250
213
205
240
214
218
163
250
206
198
208
214
215
161
232
193
219
200
277
179
272
270
205
251
193
203
259
130
269
204
281
246
216
181
239
291
235
236
281
253
283
184
264
253
258
253
259
286
259
238
193
190
194
230
249
295
262
309
213
242
218
207
210
200
215
296
299
139
222
266
208
222
277
291
252
303
178
223
243
216
292
228
246
242
212
245
161
212
299
213
281
161
168
221
114
184
212
228
257
151
158
221
261
303
215
204
357
247
234
148
186
253
198
297
247
269
256
240
208
250
291
236
231
161
204
222
274
211
199
254
261
223
251
191
221
196
166
248
206
266
224
208
182
262
259
183
196
252
239
243
177
180
234
199
243
311
243
250
183
255
192
232
209
282
171
274
192
160
186
212
170
214
229
269
257
193
296
285
208
231
186
181
239
256
243
164
197
297
227
114
235
168
256
178
243
235
264
181
234
232
202
216
147
293
218
227
210
192
214
200
203
177
192
153
179
257
181
246
221
180
253
235
262
170
213
198
208
238
275
253
234
230
231
198
257
244
244
226
218
145
167
214
208
288
194
213
284
245
211
216
192
192
286
156
251
182
192
265
224
230
281
197
170
223
240
238
181
194
151
170
263
262
252
217
226
198
233
254
241
169
225
258
323
220
216
174
116
114
216
219
178
261
197
272
242
229
198
317
267
251
161
211
229
211
238
258
188
199
114
228
247
229
188
243
184
260
246
194
175
186
135
213
285
229
114
316
217
239
202
161
270
200
243
205
213
194
221
212
241
194
229
212
195
225
203
245
270
210
228
217
259
248
263
157
320
170
215
200
222
205
261
270
286
231
247
222
328
260
235
253
254
218
160
234
250
232
264
156
178
209
207
178
275
193
212
237
200
273
217
287
286
169
258
225
208
264
212
183
236
224
152
180
277
114
256
205
209
296
133
178
171
209
213
195
238
232
270
296
254
231
196
191
236
233
153
241
265
284
172
259
183
245
228
233
255
225
156
242
297
167
192
212
278
219
260
242
254
248
264
207
265
116
129
241
169
260
194
170
319
226
232
258
208
343
229
242
192
191
192
146
220
276
242
272
151
243
251
349
214
225
156
147
275
243
211
226
266
116
294
154
232
207
261
204
241
176
173
216
139
198
271
214
243
156
248
262
204
182
262
218
214
220
174
179
264
256
271
221
298
300
199
269
236
278
234
137
246
175
173
235
284
155
208
242
320
214
182
181
246
199
249
198
156
230
247
218
189
231
226
186
250
320
193
162
221
253
223
195
273
232
296
193
261
260
208
232
181
278
267
221
197
347
157
228
215
245
235
152
225
248
168
265
268
161
145
219
114
280
192
211
218
279
332
259
254
161
212
256
295
233
197
166
288
266
251
248
191
180
198
264
173
260
198
213
247
183
188
210
275
224
296
297
144
261
195
178
181
242
209
225
192
297
257
179
252
198
200
200
197
174
236
215
184
248
213
114
319
220
174
202
160
252
241
240
227
254
205
219
288
300
221
154
240
270
139
222
268
170
235
209
242
259
199
244
373
248
289
274
181
251
157
184
235
226
181
217
238
263
245
294
191
256
192
268
195
327
315
175
298
199
327
181
222
250
181
193
207
185
192
214
223
273
179
221
303
219
207
270
178
172
126
198
213
238
203
286
250
249
139
255
198
276
229
245
245
159
163
242
191
252
201
260
285
203
260
147
180
209
298
230
235
184
214
261
259
207
265
201
200
185
269
221
236
226
169
233
247
232
295
323
252
192
188
208
207
217
202
192
170
161
151
187
229
256
270
236
250
230
222
172
217
232
253
272
203
242
207
270
256
221
249
170
253
211
116
168
277
161
258
239
244
225
232
169
281
232
196
154
183
214
237
341
190
161
209
265
209
243
249
174
237
215
170
225
208
296
235
283
200
288
280
184
251
190
162
208
248
284
215
213
264
251
244
251
308
182
273
256
258
270
305
250
198
177
178
348
224
265
246
250
216
241
219
214
241
209
217
214
243
210
199
288
257
286
240
265
203
217
181
258
250
212
182
275
228
217
238
207
194
178
277
276
230
205
226
223
201
182
262
191
188
234
169
239
229
281
331
173
219
252
254
198
114
266
240
256
234
228
133
169
247
232
203
163
206
165
257
209
189
139
229
243
223
244
290
212
213
225
247
185
152
233
262
283
314
240
192
247
222
238
323
222
237
192
343
226
287
372
191
266
226
207
225
202
232
219
288
237
219
296
239
174
243
169
269
173
206
237
235
171
179
206
226
156
229
271
230
175
188
213
280
199
325
284
223
332
306
255
212
192
266
264
190
122
249
267
245
242
203
126
194
185
249
244
180
325
231
193
240
279
114
304
236
181
257
217
306
232
206
243
255
287
247
312
188
295
306
222
211
246
194
162
217
362
254
217
160
238
164
240
267
286
145
279
225
293
185
171
234
207
211
121
234
252
171
240
272
229
215
238
251
233
252
160
244
158
187
245
149
229
271
233
129
213
290
269
256
221
126
312
205
211
180
256
217
334
262
223
251
232
240
161
147
241
258
182
229
214
217
252
166
177
234
246
189
189
241
274
230
234
219
172
332
186
114
279
263
264
187
225
275
202
218
245
177
250
218
305
165
168
213
158
233
222
193
232
194
207
205
204
168
258
242
211
336
156
226
281
235
206
185
210
316
233
178
244
261
206
129
191
279
312
209
192
251
256
198
221
176
252
366
241
234
216
262
206
267
198
209
213
304
292
252
264
208
208
178
234
214
192
311
108
196
260
202
366
166
195
222
257
228
309
235
133
211
202
244
160
286
170
272
237
210
331
247
188
214
238
211
206
246
196
243
209
174
235
176
304
165
263
291
258
208
192
225
236
196
288
265
301
218
255
221
187
158
281
222
258
170
205
215
295
205
232
276
290
230
268
166
208
160
245
231
205
198
189
173
170
218
202
206
187
212
219
166
242
258
219
186
297
282
244
151
258
193
164
165
241
243
275
246
246
282
243
262
241
337
200
240
322
156
243
256
243
286
182
215
202
352
186
245
217
250
192
263
228
114
208
170
213
320
281
202
174
288
266
222
159
245
287
200
246
253
223
191
249
174
282
192
275
273
232
263
193
231
258
168
379
218
173
226
238
158
262
233
285
237
247
291
202
243
197
236
327
301
191
260
196
228
184
226
205
164
162
240
261
265
299
300
223
248
198
226
283
209
151
212
248
205
243
210
275
325
319
217
165
194
108
256
246
277
299
260
282
210
235
226
259
209
209
214
265
195
252
160
254
180
225
180
228
248
211
200
221
249
176
261
163
169
228
284
205
245
174
221
317
173
204
242
223
243
190
265
298
261
219
222
238
206
275
207
233
245
167
225
227
288
247
282
217
303
197
193
248
240
207
211
158
251
191
203
214
156
284
218
246
152
114
242
255
216
235
297
266
190
274
241
234
242
145
248
283
181
139
195
190
238
175
234
179
209
211
229
230
244
159
219
186
141
211
230
150
281
301
251
250
179
237
216
208
214
290
300
217
235
234
211
246
221
276
169
204
160
251
239
185
231
264
229
213
285
196
210
278
181
296
288
253
242
250
156
274
129
259
218
253
246
243
259
205
329
228
253
225
169
247
201
200
269
267
219
256
188
195
257
183
260
182
352
167
240
246
284
214
234
223
169
276
223
238
256
181
175
244
212
165
187
185
259
157
217
217
246
303
223
229
247
246
233
218
224
276
260
214
170
197
257
255
284
169
126
174
237
283
247
185
229
167
188
187
133
285
201
294
170
206
236
282
239
230
219
227
193
252
254
129
219
245
216
274
246
191
184
264
206
193
277
170
211
178
218
174
245
187
228
290
334
272
223
190
179
126
241
253
244
270
191
218
245
258
187
217
313
249
121
255
139
317
196
198
158
240
247
211
230
217
283
160
279
252
277
242
267
235
266
248
242
241
268
215
260
235
167
254
251
210
310
218
221
228
195
223
243
266
216
235
148
249
191
139
239
267
169
174
205
148
212
161
238
188
307
235
236
249
241
173
242
213
243
189
218
161
234
237
241
179
268
266
284
205
240
219
233
180
251
198
247
275
249
274
217
203
209
137
272
193
235
174
276
197
152
160
215
254
227
180
242
210
173
174
157
130
242
218
260
166
254
263
268
171
185
238
189
281
172
245
231
298
225
152
248
260
154
235
274
170
167
206
250
174
248
203
207
250
279
207
207
258
242
253
243
137
244
205
176
231
174
211
229
257
202
242
183
194
217
228
234
251
249
258
346
259
187
203
210
187
245
248
213
195
215
247
253
184
213
236
287
160
287
219
208
244
186
193
273
223
162
280
214
182
232
242
304
213
214
223
175
302
217
261
228
233
222
122
195
221
182
215
277
202
215
232
213
264
209
169
159
191
238
206
108
234
175
177
215
197
175
152
261
313
161
291
204
324
200
249
258
228
250
226
297
201
283
217
241
225
235
227
267
211
195
262
231
203
188
215
245
168
258
157
232
220
254
208
126
256
293
297
139
199
229
256
226
230
208
301
217
147
265
279
203
236
219
226
162
214
223
251
254
250
208
204
252
238
257
219
193
226
268
204
214
211
212
264
273
184
233
283
160
269
262
145
219
308
211
184
175
227
173
196
199
223
195
198
184
189
267
213
290
240
257
208
178
304
167
114
256
218
219
184
265
291
233
315
173
223
245
231
180
148
203
222
268
219
253
152
229
268
206
209
220
262
250
189
165
313
187
298
201
281
257
212
246
198
246
170
248
180
251
196
236
309
315
181
236
178
179
275
235
205
194
213
215
215
222
173
216
216
213
246
177
248
211
200
213
212
249
379
173
235
232
259
236
281
304
297
284
223
276
114
169
207
316
229
251
296
169
189
236
197
241
250
271
209
233
160
253
212
214
214
198
203
288
215
237
266
306
220
202
267
231
252
170
245
227
211
145
197
213
248
207
243
114
192
197
194
187
168
214
239
211
305
240
206
207
281
293
195
170
295
196
256
196
232
248
212
274
240
231
178
179
254
281
190
245
231
225
255
240
215
205
306
217
238
146
251
211
227
221
193
262
145
214
254
408
206
250
253
195
245
171
222
225
222
156
197
252
213
231
225
267
236
283
187
227
219
151
178
166
252
259
264
254
182
158
224
274
182
299
269
222
204
194
207
209
183
269
195
208
225
263
301
289
250
234
230
205
225
246
197
246
238
265
279
261
181
259
234
186
261
145
210
258
272
221
183
152
326
160
271
172
210
307
321
234
262
274
259
174
114
257
214
226
290
213
209
223
189
199
335
245
163
255
256
206
190
273
288
208
234
260
235
178
230
271
279
218
259
316
256
161
247
244
214
184
214
203
236
304
205
267
139
239
187
126
226
248
114
272
214
180
294
243
258
265
279
235
209
207
195
240
274
228
160
239
217
269
222
193
245
179
216
189
292
198
226
114
202
223
225
289
181
203
186
222
164
220
202
309
238
209
224
236
290
333
169
283
291
190
197
187
228
196
196
273
219
174
161
280
244
221
234
265
292
301
156
221
178
176
173
228
196
151
298
271
193
277
192
213
275
182
294
230
162
225
245
231
233
203
209
184
273
223
244
180
204
242
251
208
182
287
238
160
249
202
213
221
243
208
207
246
214
191
192
189
244
158
126
228
205
229
225
188
213
194
281
199
227
171
189
203
180
272
173
211
217
209
228
301
262
169
256
222
226
233
192
228
261
214
235
249
269
197
266
201
231
264
189
193
184
285
235
145
209
292
208
221
189
169
210
182
261
246
237
170
216
209
295
256
194
246
160
169
201
246
252
214
187
174
250
253
235
255
215
158
155
271
239
206
244
200
282
229
221
215
260
223
238
239
266
186
294
218
268
203
266
258
157
300
305
283
296
255
248
213
222
171
212
218
184
156
213
178
289
267
145
270
248
331
206
281
225
217
257
170
185
175
170
245
196
279
252
265
207
165
208
176
289
203
230
191
266
180
217
237
208
114
259
201
250
204
250
215
209
189
268
209
179
204
197
283
195
116
295
232
275
219
215
272
241
281
243
181
259
218
152
210
263
212
175
108
261
235
234
237
290
244
180
175
202
139
251
287
271
145
180
199
155
279
207
278
214
108
177
239
182
177
240
194
304
191
192
247
258
190
228
280
210
231
175
193
259
207
165
198
246
205
228
198
211
181
267
221
162
201
214
194
263
171
259
255
219
181
197
220
184
198
160
229
237
243
205
162
206
221
288
225
250
221
198
200
233
272
184
234
211
235
235
174
229
146
243
219
262
281
248
208
229
204
121
244
288
265
172
196
231
265
243
193
248
144
296
223
230
253
214
193
193
209
275
281
196
283
260
223
222
199
243
237
228
205
245
273
165
144
253
263
218
251
209
147
221
282
287
246
213
199
251
258
261
281
228
195
202
248
164
202
260
246
135
145
270
162
194
239
209
248
240
266
182
166
281
238
198
258
182
231
200
194
204
256
174
224
288
195
185
205
222
192
223
207
183
223
404
217
174
179
243
175
220
229
319
274
186
208
235
274
238
218
189
246
233
198
248
255
203
176
154
213
193
185
288
260
249
185
202
265
222
279
243
223
275
232
198
236
258
180
210
185
214
249
204
179
204
241
209
223
193
151
208
215
302
290
273
196
236
233
229
228
144
262
231
245
182
175
199
283
253
287
222
175
202
309
212
244
241
178
247
263
206
190
177
201
216
214
172
227
188
184
263
189
143
216
159
216
219
114
181
233
172
238
189
170
213
306
178
246
285
257
201
189
252
258
209
236
181
233
203
211
202
166
226
169
203
246
247
349
182
224
258
246
278
197
192
271
276
218
176
229
241
228
254
190
179
240
282
211
247
267
214
159
215
214
188
156
204
161
156
236
203
182
242
156
207
247
331
238
238
206
195
254
214
200
219
220
151
230
192
201
231
226
215
240
236
307
237
241
300
273
208
248
160
270
217
222
126
273
223
106
285
145
209
205
257
225
226
180
246
363
260
235
232
196
179
235
227
216
209
173
209
215
221
254
181
215
254
228
220
312
224
172
220
300
178
166
207
235
224
217
203
273
179
285
325
221
175
239
228
273
175
230
207
235
292
238
243
282
166
224
204
209
248
236
276
224
240
193
226
158
209
279
276
195
221
248
261
114
245
287
177
285
269
233
224
237
241
260
322
243
247
174
258
214
253
212
173
267
227
250
220
156
162
210
196
245
227
225
321
240
213
285
220
181
224
247
242
238
332
309
214
165
240
269
180
214
213
256
248
265
159
186
181
187
126
247
261
267
207
202
263
210
231
250
287
214
196
212
203
183
241
196
170
216
261
247
241
178
232
175
176
189
148
233
235
263
254
292
227
228
262
139
166
232
267
286
234
197
231
206
234
252
121
243
227
182
198
215
246
297
314
228
192
173
260
171
153
209
251
232
230
204
221
267
197
268
210
244
282
198
242
247
308
236
275
143
153
229
171
244
311
262
246
157
171
257
176
339
260
245
224
293
208
223
146
252
214
236
235
278
277
192
189
193
305
218
235
269
246
196
170
175
203
185
257
237
215
299
198
265
209
222
187
196
114
215
178
145
218
199
285
175
176
182
223
146
227
254
173
257
225
164
201
240
236
226
198
191
298
268
227
227
244
222
156
182
277
313
241
349
210
235
194
269
298
190
223
192
248
199
265
144
278
225
234
152
238
249
211
255
319
169
162
267
240
156
192
114
239
158
301
173
249
152
264
183
237
229
197
185
303
259
327
247
146
203
264
168
222
237
169
160
212
235
195
230
158
286
278
231
238
260
269
322
263
304
215
218
145
239
250
215
277
211
255
215
264
238
210
214
260
168
208
213
291
293
268
213
170
235
224
160
294
178
243
254
257
261
293
215
173
206
262
300
180
152
241
309
182
218
225
255
235
208
252
182
246
180
192
250
198
286
181
149
239
229
221
199
195
271
198
226
222
296
146
216
212
160
218
300
279
242
305
203
286
209
325
287
204
278
156
186
222
235
253
187
204
239
207
185
225
180
305
175
208
224
297
145
183
210
149
217
280
224
173
218
258
288
295
256
248
289
274
249
217
234
219
164
288
198
187
203
162
301
235
215
235
226
218
305
200
295
270
172
194
181
193
177
210
192
272
257
200
220
232
256
290
206
253
277
291
222
264
171
214
198
260
267
242
196
219
292
240
187
227
235
188
227
213
270
276
181
209
299
213
202
173
236
216
224
195
291
181
186
207
247
239
190
233
279
205
176
194
256
158
228
234
160
202
225
252
198
114
233
208
190
249
231
307
271
287
316
178
220
233
231
207
268
303
186
184
250
291
256
181
230
203
219
156
264
180
226
223
230
224
198
188
255
250
247
243
226
183
145
239
222
186
282
252
244
274
239
233
205
233
168
278
241
244
253
177
173
233
233
244
290
139
228
226
177
178
251
144
224
244
160
170
291
251
106
217
293
296
267
166
268
253
320
220
223
307
235
184
232
258
199
220
190
183
249
257
306
228
199
239
297
245
215
283
261
248
228
197
226
261
278
242
278
221
261
227
186
184
269
262
186
224
188
236
210
247
229
238
174
207
169
257
191
230
169
169
238
182
277
181
212
198
152
178
273
173
212
175
218
165
251
114
287
182
263
189
202
236
242
242
254
233
165
249
242
198
270
279
173
218
331
204
278
268
292
152
148
205
237
254
255
322
179
303
202
209
313
207
180
261
178
275
249
154
239
267
195
278
269
179
208
200
206
160
190
194
271
184
197
206
249
214
293
260
335
160
301
195
145
277
208
277
268
263
195
279
314
224
182
224
239
275
173
271
181
221
158
174
208
290
287
242
191
218
222
283
276
289
276
241
262
244
197
218
303
187
367
270
182
169
232
219
152
218
229
225
275
195
228
205
184
224
265
276
176
303
202
259
188
208
236
234
183
215
196
254
218
236
206
166
318
180
226
216
227
240
228
180
282
183
209
265
241
231
204
216
211
163
158
271
215
198
229
259
309
177
273
178
182
153
262
214
170
248
197
236
232
259
254
201
216
215
160
284
154
227
256
212
196
256
232
182
256
232
225
216
238
212
175
245
163
245
234
233
239
286
262
188
228
192
205
205
207
383
213
190
230
234
216
246
240
235
240
217
224
181
245
186
199
265
191
252
194
193
253
176
265
285
213
221
177
208
305
265
262
263
233
185
244
263
211
248
155
211
306
245
239
186
264
238
198
265
260
159
244
185
211
217
259
164
178
180
180
210
222
273
214
246
262
256
154
237
275
285
283
288
240
254
195
198
165
145
196
191
183
287
209
232
201
212
250
242
265
262
270
243
174
183
215
269
282
182
265
236
269
186
268
202
180
227
282
144
249
175
266
332
226
270
233
214
223
206
347
148
257
221
319
215
212
188
244
220
257
306
242
192
235
198
297
234
181
243
178
214
223
216
262
144
171
209
175
180
282
172
257
252
180
186
247
228
189
198
268
207
192
148
231
250
267
189
239
188
247
230
178
204
229
269
244
227
277
236
191
240
192
259
154
255
248
175
224
259
202
226
289
203
203
238
272
278
198
235
238
244
222
186
213
190
187
231
269
216
207
234
228
247
326
253
286
247
225
239
224
200
254
249
227
180
218
225
269
284
214
215
190
339
220
157
212
313
253
290
203
217
213
196
210
190
197
254
208
227
214
114
235
252
220
180
258
206
224
193
181
231
205
249
237
220
121
213
170
230
261
192
254
290
237
253
288
227
202
180
263
257
151
253
192
237
212
180
206
178
166
161
282
160
254
247
313
225
212
271
193
158
272
273
252
283
232
270
215
231
126
255
187
189
203
248
324
177
228
341
239
247
246
198
244
248
165
184
197
192
229
202
210
214
297
152
211
295
197
183
311
266
241
178
220
252
206
216
264
251
258
154
301
185
201
199
249
192
236
146
191
234
151
248
233
204
178
190
185
249
185
209
240
191
215
224
316
149
152
116
279
204
213
271
279
235
232
280
192
188
267
243
269
246
285
181
228
213
201
235
219
219
284
259
206
280
221
263
221
235
272
263
266
335
272
237
158
239
254
174
265
307
214
207
218
200
230
166
204
108
192
191
189
230
147
232
232
187
234
258
195
247
283
215
161
179
161
238
160
188
233
196
145
204
202
302
235
197
367
198
229
206
220
284
263
304
186
306
222
276
233
288
201
264
245
223
321
223
229
278
279
246
236
238
168
174
198
226
222
224
182
114
204
205
190
169
182
168
194
290
272
180
198
169
255
191
208
183
176
258
250
196
283
219
181
218
233
215
230
216
238
276
365
195
291
216
241
273
192
159
182
243
269
211
266
239
233
180
305
305
207
174
273
220
177
158
197
214
247
191
185
200
209
161
221
214
216
178
180
266
225
199
218
245
157
203
155
180
324
186
211
242
218
253
242
205
164
173
201
199
217
219
194
202
211
162
248
218
108
258
231
169
251
187
217
323
247
267
202
190
224
278
299
200
208
222
225
208
214
285
230
151
174
207
244
234
219
221
213
199
305
201
266
268
185
253
227
258
286
213
204
185
246
234
221
239
217
157
252
195
206
114
239
217
195
205
183
114
192
217
166
198
219
243
272
266
174
227
230
254
178
178
192
229
171
222
224
269
192
166
169
214
274
192
260
182
233
237
233
214
217
227
158
231
240
179
236
225
256
315
231
274
269
161
248
235
224
178
254
215
276
180
301
223
255
195
228
212
237
274
181
253
214
207
170
178
235
203
281
235
139
221
220
277
253
275
246
269
215
161
280
315
201
273
218
158
254
243
245
114
169
255
175
151
233
114
301
235
261
208
181
273
226
261
207
247
226
239
245
259
292
248
139
237
177
349
195
160
168
285
185
190
217
325
152
285
179
194
273
212
174
234
225
178
206
156
257
240
210
222
178
274
173
312
250
241
224
283
217
200
283
248
232
330
256
178
231
171
290
210
178
158
203
220
250
293
196
166
208
231
213
247
190
185
208
269
192
212
200
179
176
214
151
252
230
211
213
261
281
239
179
139
186
201
238
230
288
214
271
160
217
240
226
259
169
244
174
289
203
208
248
289
179
249
194
196
202
210
177
322
190
233
188
227
235
193
203
253
220
243
218
214
221
183
269
264
188
200
165
231
235
213
156
237
197
257
235
227
162
236
254
227
220
299
172
208
238
195
256
293
274
183
237
229
255
158
238
106
170
209
271
238
334
262
151
191
201
238
246
232
262
340
206
181
173
184
252
227
274
260
219
261
146
200
176
178
277
285
257
179
235
300
189
200
220
240
156
207
214
126
240
226
255
170
233
192
218
239
241
231
192
317
190
262
236
240
220
304
296
161
153
207
229
267
237
243
264
183
236
202
205
165
204
194
271
307
257
280
222
300
154
259
191
220
333
272
196
265
174
238
260
259
236
192
210
277
265
221
296
203
241
139
263
188
160
128
214
249
217
215
251
199
314
203
294
209
179
249
220
289
185
281
273
236
179
244
212
297
225
202
306
185
204
252
249
281
234
259
247
239
201
145
231
285
234
219
245
261
202
239
234
222
281
162
217
229
291
230
237
241
188
248
204
175
188
256
154
188
179
309
218
189
249
178
219
194
267
232
229
214
267
312
149
253
230
250
247
244
285
292
208
232
209
211
294
251
205
237
275
182
196
227
236
195
203
275
183
261
289
284
227
205
225
274
214
335
126
228
269
226
194
126
276
171
262
212
175
235
295
213
319
220
267
266
198
252
203
173
206
233
264
260
263
241
273
296
162
183
279
178
309
262
282
237
191
221
213
278
198
246
252
216
149
232
170
285
197
221
202
255
255
205
244
270
145
181
290
232
126
198
241
270
209
253
263
208
267
193
215
253
223
192
173
209
162
234
250
240
245
256
219
160
186
302
239
214
193
223
178
209
223
175
242
175
318
198
224
199
276
255
208
258
231
193
268
233
233
170
152
286
203
271
218
232
193
242
272
178
230
205
216
258
231
190
192
179
174
238
160
224
144
301
230
160
303
255
192
168
204
133
209
294
213
218
269
246
175
228
330
286
151
226
256
247
282
184
216
316
270
200
210
216
200
192
241
216
208
207
246
214
236
219
220
248
234
286
160
161
179
341
243
242
205
261
152
279
239
160
236
221
217
205
329
253
198
309
182
245
227
272
260
247
235
214
196
236
219
236
264
262
193
237
277
156
285
340
216
212
307
275
221
235
247
258
225
203
156
241
258
178
261
275
246
289
245
231
271
213
298
272
290
226
196
160
154
186
223
213
170
181
206
129
265
228
213
219
202
265
185
288
158
236
240
266
298
232
342
251
232
180
278
195
227
235
198
254
139
178
173
223
255
217
227
199
234
191
203
242
178
264
235
173
236
219
235
242
188
158
231
163
292
177
317
178
285
233
240
192
231
126
218
230
243
181
237
238
186
196
263
210
289
194
145
300
183
219
236
239
196
225
259
235
216
270
313
245
150
232
188
275
114
227
261
253
273
198
106
152
246
237
215
176
264
253
242
176
191
217
185
174
220
238
217
192
226
224
203
284
169
223
288
241
236
263
321
270
190
169
225
247
208
262
238
204
154
251
191
191
213
156
286
222
114
233
203
243
249
230
170
192
208
254
213
278
222
245
207
290
260
175
200
270
200
245
237
281
243
201
223
231
165
221
235
232
145
219
174
218
256
186
294
233
254
272
214
194
194
258
174
220
252
197
227
197
288
290
180
285
173
164
213
262
284
191
229
259
228
211
172
219
238
194
198
302
298
255
237
183
226
234
192
201
210
262
203
221
207
153
231
230
227
207
246
177
187
241
240
198
197
264
213
195
328
235
199
177
218
161
194
165
199
251
234
208
205
229
243
189
245
272
221
114
211
295
160
286
280
173
301
221
269
200
189
224
294
228
198
293
244
238
281
277
220
139
249
305
302
237
187
300
212
199
210
258
219
255
209
194
252
266
195
189
283
202
271
146
209
281
237
211
155
214
190
221
293
144
261
292
168
275
195
215
287
247
192
290
177
176
208
214
200
211
266
202
219
213
263
217
304
229
242
226
193
222
201
200
173
334
188
279
205
237
287
200
229
167
178
264
214
206
308
248
269
291
292
202
235
247
174
223
195
175
169
165
177
275
157
238
220
259
225
191
160
261
226
169
278
246
241
207
263
229
161
227
204
274
245
192
186
222
203
220
152
211
152
258
266
229
173
215
156
170
171
234
253
186
205
241
217
238
230
219
193
213
199
224
249
367
255
195
246
256
314
314
250
193
254
226
227
174
302
215
243
242
210
200
221
224
322
218
208
177
251
239
259
215
233
234
108
265
247
262
238
284
193
231
317
235
212
178
258
225
272
167
293
273
286
152
326
270
265
255
169
200
192
219
177
188
236
170
202
162
108
304
190
325
204
180
337
191
180
236
281
228
221
251
201
151
270
170
259
195
236
251
278
198
217
215
270
205
248
240
271
214
279
196
202
203
161
160
237
212
205
205
170
212
203
256
246
197
290
250
246
173
184
114
232
181
194
217
200
246
254
173
274
246
181
221
194
222
213
194
251
232
192
166
271
243
151
243
224
250
197
280
274
207
202
126
207
186
222
204
281
289
196
153
282
256
246
244
165
323
235
283
179
203
285
210
198
328
203
208
279
181
233
220
216
252
186
198
173
206
239
175
188
269
151
248
239
158
162
229
173
198
174
245
252
225
175
303
229
211
199
226
204
206
242
254
200
218
228
234
193
244
234
271
174
154
256
227
270
206
198
189
153
327
146
217
256
233
255
349
247
220
198
182
159
183
165
190
178
337
172
258
314
290
247
201
194
318
171
287
230
197
249
156
236
220
285
188
306
196
298
215
251
206
180
194
166
173
211
214
260
223
241
227
200
209
256
159
209
249
179
267
254
218
290
300
268
247
178
258
222
274
278
226
259
281
247
173
218
245
269
268
221
253
204
245
114
168
160
249
188
180
257
208
145
146
178
240
234
198
230
213
270
338
295
189
171
181
233
195
278
223
186
224
231
213
222
232
290
215
209
204
221
200
198
270
230
232
183
349
247
287
173
240
252
251
260
177
214
216
178
212
311
141
189
162
152
228
192
175
313
301
298
264
237
238
222
225
213
183
199
203
169
190
234
267
261
284
255
215
173
222
176
222
209
231
276
203
215
262
232
169
204
235
256
198
191
220
162
276
212
193
236
202
222
225
245
200
210
255
224
114
220
195
179
177
200
255
223
202
154
272
174
285
252
234
270
180
232
205
238
235
183
158
200
208
178
255
194
170
242
225
178
207
219
174
139
419
196
250
241
183
232
273
257
221
170
306
326
181
166
232
214
150
280
299
176
130
193
276
269
156
280
263
245
179
174
254
256
196
287
247
261
222
198
245
287
249
195
215
224
241
252
208
235
178
256
245
243
309
232
258
311
152
250
227
213
193
242
191
220
228
230
168
192
189
170
197
249
256
216
139
237
167
219
144
259
252
261
204
232
249
226
248
238
207
221
169
257
239
213
204
261
189
222
249
168
170
203
164
267
166
190
232
148
229
140
255
291
195
225
201
168
261
189
286
231
275
284
236
199
246
285
255
278
244
225
114
192
226
178
203
343
203
191
153
245
254
223
186
325
170
201
274
194
197
181
175
130
240
203
267
227
230
305
301
236
250
220
194
181
198
182
218
208
235
256
303
224
194
221
240
160
311
203
194
173
175
262
226
192
246
287
206
234
217
169
244
161
179
340
195
200
241
226
160
238
358
248
280
250
175
148
258
232
238
212
180
207
253
228
130
160
242
238
195
229
266
293
278
268
187
217
247
212
288
198
230
173
263
233
175
215
223
214
177
251
295
175
332
264
170
220
245
214
181
169
296
226
207
306
231
276
285
174
139
259
211
202
133
262
202
256
255
262
257
197
226
228
210
201
237
183
192
279
218
269
156
206
145
229
199
212
215
186
184
200
161
285
260
217
285
166
221
187
223
209
259
214
188
247
246
178
272
219
311
160
227
221
258
200
265
195
160
262
279
178
174
171
238
191
222
193
218
239
249
183
264
195
249
196
219
175
221
249
216
248
192
223
327
241
114
244
304
231
335
175
139
196
203
216
240
176
175
207
176
279
259
264
187
297
174
200
184
220
242
288
257
169
251
268
169
158
299
267
273
253
234
279
283
243
192
166
198
175
300
253
285
106
239
200
240
242
249
177
202
178
257
207
152
266
238
316
258
319
258
234
169
333
289
239
340
183
222
265
214
316
190
271
233
170
258
170
203
258
195
211
156
216
196
250
238
268
172
206
161
273
236
280
277
231
188
213
206
196
216
202
221
266
294
209
243
205
291
179
258
241
195
149
184
323
206
221
275
180
240
213
208
214
239
191
233
244
303
227
186
189
311
221
174
203
156
267
240
225
212
247
256
191
160
241
208
174
224
189
198
299
279
222
217
194
156
219
236
248
256
206
230
198
218
222
134
170
265
262
184
264
194
236
285
173
176
229
146
186
174
250
139
223
265
292
310
195
267
301
204
192
206
238
242
218
209
222
278
207
286
220
187
180
268
282
173
269
264
285
177
187
168
204
263
235
171
222
254
255
192
204
239
181
274
291
245
274
214
151
173
255
234
370
340
233
266
219
297
260
318
247
231
183
190
257
257
196
277
181
253
213
247
334
245
242
196
245
195
200
190
297
250
212
200
170
322
268
218
268
246
200
290
235
218
266
183
181
234
243
224
242
231
213
181
227
214
240
214
205
243
219
277
241
114
174
266
159
281
200
301
129
190
241
219
203
226
254
170
239
215
227
244
250
222
284
181
158
233
265
197
290
218
192
301
180
206
304
177
114
190
178
173
229
197
210
230
155
314
281
227
160
223
225
250
271
203
236
209
290
168
234
239
226
231
271
333
259
217
242
201
175
190
236
205
209
233
247
291
181
160
195
260
151
205
264
198
206
149
200
294
194
173
234
249
225
161
171
268
292
236
193
178
249
212
219
221
254
254
229
144
238
259
236
255
228
191
196
205
191
193
213
262
222
235
232
271
263
211
204
295
226
256
204
176
266
235
188
198
223
259
259
215
249
279
252
187
217
286
234
290
209
209
205
272
225
222
166
213
256
126
218
315
198
186
210
217
258
208
256
257
286
218
181
163
170
280
246
286
309
178
340
238
284
259
256
213
256
335
210
196
277
207
233
240
218
181
174
284
227
254
228
160
161
268
186
237
249
184
159
206
198
251
237
176
220
223
178
320
272
213
227
200
207
240
276
248
182
233
253
195
290
264
294
255
224
235
199
184
207
312
235
269
170
160
220
265
221
252
301
262
293
211
261
290
158
302
205
269
222
208
225
126
282
277
329
240
214
116
280
168
251
204
234
257
220
198
268
257
147
218
188
198
263
196
200
187
208
245
219
209
247
261
244
237
243
283
208
238
262
258
252
283
295
223
180
228
173
219
307
296
181
243
228
200
264
232
239
299
295
229
245
181
206
157
114
222
248
260
282
253
272
234
209
209
257
160
233
212
256
228
266
225
161
202
195
253
253
335
170
285
232
310
161
239
277
260
222
235
192
233
256
227
244
299
169
208
255
114
160
241
277
286
233
218
262
244
198
221
190
322
114
282
226
312
165
346
259
182
152
182
231
236
252
195
192
233
176
170
256
202
310
279
242
235
184
233
189
184
198
241
181
170
212
258
211
233
270
240
192
217
270
154
268
165
204
278
140
215
278
161
255
202
251
173
160
181
137
260
114
184
263
246
223
204
256
222
258
211
269
198
233
308
183
220
311
245
238
222
171
175
221
236
191
323
242
207
198
262
180
170
291
208
217
296
221
347
288
207
287
183
260
188
224
191
187
233
179
114
249
217
222
249
284
241
238
286
192
255
116
290
271
170
208
198
144
214
251
169
191
280
280
290
281
139
238
211
259
173
328
253
184
222
159
217
228
213
222
237
209
289
199
211
210
196
366
187
203
209
114
247
287
210
225
192
229
247
274
262
211
258
218
268
231
265
258
212
240
192
292
178
305
221
180
210
213
221
199
307
223
195
236
221
192
259
258
210
154
293
207
221
198
217
262
249
247
212
246
261
248
203
256
193
146
207
186
188
282
208
269
250
200
236
294
255
191
198
205
296
335
218
184
255
265
227
232
209
294
171
191
262
195
199
214
218
210
318
188
234
145
262
272
231
289
273
276
313
252
219
224
306
251
235
227
151
225
196
239
184
304
277
201
241
184
214
198
245
192
184
253
129
189
239
255
332
243
243
205
263
173
277
234
277
200
215
198
259
157
239
269
215
215
319
227
224
214
220
271
260
306
227
260
225
165
219
186
234
212
247
299
195
224
196
215
255
114
296
169
236
222
116
178
261
252
279
256
203
219
224
242
222
208
215
226
202
224
244
324
250
242
263
152
243
227
219
198
168
277
246
197
210
220
210
194
291
222
294
236
249
250
186
155
229
291
217
232
260
160
158
194
164
265
198
243
203
251
159
277
313
248
181
223
260
236
209
237
219
114
244
114
220
192
145
219
252
220
188
264
266
227
213
213
303
231
235
222
233
108
317
255
314
259
206
203
234
180
268
189
223
160
254
174
273
251
281
208
232
215
178
220
303
273
245
165
151
265
240
188
172
198
273
290
234
235
233
168
229
257
193
213
159
295
170
271
181
251
274
145
225
168
216
273
226
184
179
202
253
227
200
165
202
221
212
156
178
221
259
222
262
214
160
237
203
177
312
161
247
186
195
266
253
193
211
276
179
200
286
208
116
245
230
233
219
208
206
238
242
239
192
208
224
205
249
157
290
289
229
199
245
227
300
288
195
235
153
191
214
145
213
206
243
285
266
181
236
185
306
235
258
184
216
193
271
294
201
204
183
276
240
248
260
200
208
240
192
280
229
229
239
201
270
225
229
258
170
222
260
211
164
246
239
191
231
114
179
176
181
273
269
233
179
219
230
286
222
294
305
225
238
253
156
183
233
193
192
247
238
226
186
253
202
250
237
208
208
243
191
156
219
297
226
218
259
302
161
192
229
286
198
192
231
234
260
241
309
184
234
336
146
174
160
209
227
186
251
247
244
259
194
236
264
211
228
152
220
257
184
230
114
181
236
259
185
198
242
208
208
167
189
222
340
237
166
209
180
259
243
196
207
269
194
145
209
206
228
194
242
171
178
191
224
213
278
247
129
211
195
156
255
258
224
285
251
262
225
188
219
114
197
266
267
212
211
252
231
212
270
180
242
160
201
194
305
203
198
228
253
290
203
266
306
277
202
238
203
214
190
216
160
274
251
237
197
269
179
211
247
246
137
204
198
189
306
275
212
199
195
243
180
126
241
234
228
114
257
173
260
161
182
263
207
269
247
180
234
229
220
198
215
250
201
271
204
164
301
249
249
179
183
233
279
247
198
207
243
253
172
275
291
162
218
239
259
265
268
281
208
211
307
190
225
269
208
236
295
214
185
231
217
246
199
288
192
144
152
193
200
293
277
148
235
154
185
210
173
207
247
228
233
249
195
201
139
171
281
246
256
224
170
216
171
307
193
248
215
255
155
231
231
196
237
261
238
199
179
222
190
255
254
180
267
162
229
299
198
182
334
181
238
205
241
243
195
210
283
271
219
270
235
248
214
248
114
267
210
222
184
281
199
268
234
139
225
202
210
212
180
242
205
230
306
255
221
243
310
181
213
215
258
278
255
243
276
216
279
116
243
267
328
254
321
114
204
199
229
243
207
214
238
216
159
175
207
244
278
225
242
195
288
150
165
234
237
151
194
193
256
192
164
229
240
193
203
207
260
137
294
178
275
213
161
240
178
250
146
220
268
220
243
160
262
193
253
263
243
266
231
152
238
337
213
301
135
149
173
114
263
222
196
251
313
243
239
222
288
222
181
166
244
222
238
293
213
270
297
277
195
177
182
270
223
192
275
202
285
229
239
173
262
239
271
325
247
175
317
263
222
278
240
152
201
202
178
225
280
145
238
211
152
235
239
198
255
181
242
204
216
167
197
219
223
225
272
175
335
206
267
264
341
193
202
266
240
217
206
183
156
152
248
275
215
285
114
108
246
203
207
215
273
252
184
228
152
247
258
205
266
170
173
167
282
346
249
213
287
213
223
188
287
128
194
239
338
247
198
275
234
230
200
158
333
300
265
183
228
223
217
167
253
231
198
202
250
279
201
237
288
251
208
201
259
220
196
267
208
251
161
203
198
280
195
221
170
239
241
251
225
225
169
200
139
248
231
302
252
197
255
216
198
241
202
170
156
240
262
259
257
245
265
281
196
202
251
199
284
204
218
218
193
244
298
290
178
177
247
234
175
233
253
227
202
295
341
168
192
208
221
205
213
164
236
229
269
196
326
160
225
209
255
198
219
148
193
180
245
230
173
114
188
262
293
173
269
194
229
160
267
188
222
239
210
211
170
231
145
252
161
232
244
281
163
154
246
275
241
234
282
275
236
265
206
189
231
192
198
277
223
315
222
147
248
198
183
192
335
290
164
262
208
314
244
218
228
163
210
287
240
208
228
290
258
208
176
200
241
186
194
195
325
173
252
233
190
154
213
182
170
276
247
178
220
166
212
208
216
255
193
233
281
250
195
218
226
184
230
244
329
199
323
295
230
261
193
266
301
261
217
222
229
210
279
235
161
121
260
213
243
152
160
180
250
174
198
208
285
270
309
164
294
154
314
260
231
196
242
160
215
250
278
238
231
173
192
223
175
213
206
114
207
242
235
252
197
272
292
195
301
298
154
155
261
203
221
250
229
283
268
200
252
195
235
200
192
271
173
289
197
208
299
225
205
269
208
219
277
230
215
220
222
225
240
284
244
235
150
243
231
233
198
278
246
252
230
230
246
221
192
307
330
196
280
262
237
227
244
209
178
256
262
257
219
161
211
213
246
219
181
235
278
240
170
289
220
213
190
144
232
193
162
173
192
171
209
295
185
266
190
250
304
185
274
226
153
195
203
208
186
174
185
114
215
236
297
233
208
240
181
186
224
229
249
252
222
156
215
259
248
159
303
197
146
273
185
213
273
275
215
222
291
196
203
220
301
226
252
248
228
287
200
242
229
230
139
270
338
213
247
202
236
259
191
285
263
212
198
352
237
205
185
280
282
209
223
323
269
195
277
199
239
173
203
152
273
251
168
187
260
294
214
278
205
256
309
262
207
234
251
238
192
201
299
157
288
226
256
151
192
256
216
114
266
176
194
183
205
253
257
203
145
218
201
260
178
240
215
228
219
208
316
116
207
221
206
182
194
178
290
276
232
243
199
271
227
258
214
193
225
206
178
271
212
203
175
226
311
246
160
253
279
280
241
197
229
297
225
189
276
162
311
215
258
191
204
190
330
279
271
190
333
253
203
333
235
193
251
231
182
211
268
215
183
224
181
160
296
265
213
215
189
245
299
203
279
257
226
213
303
310
312
126
148
126
269
202
170
215
224
162
259
325
140
114
177
224
256
287
207
296
191
213
263
237
172
283
158
229
255
282
170
239
231
129
222
227
224
199
192
227
257
246
220
257
152
217
288
169
250
245
218
197
235
241
293
285
255
179
240
265
178
247
232
229
225
220
211
255
302
170
204
214
224
221
145
121
265
265
138
170
206
114
194
209
300
221
238
194
240
186
184
258
287
200
194
195
208
230
331
335
206
191
194
266
289
246
211
269
251
285
266
273
174
217
188
236
284
258
261
219
207
206
270
198
287
256
237
321
250
283
247
149
227
212
273
296
263
242
185
185
204
286
318
227
200
234
260
139
178
160
185
170
274
191
202
192
221
221
298
269
292
232
238
192
244
249
296
216
212
214
247
297
275
217
225
188
245
283
144
194
208
114
228
248
227
213
161
230
258
276
227
175
315
194
223
280
176
211
160
186
152
241
234
194
211
170
286
145
185
273
230
332
177
247
186
190
204
203
148
283
251
242
166
219
175
272
300
281
214
254
198
200
210
202
220
290
235
185
212
195
265
172
226
255
190
228
252
198
190
316
251
317
281
252
264
194
197
194
240
178
249
235
266
144
315
249
241
271
226
147
160
195
243
233
189
286
298
270
260
302
273
197
193
243
211
220
222
114
152
175
205
245
247
224
234
166
163
276
193
267
273
284
175
242
270
186
186
200
243
190
192
220
197
182
266
206
178
330
288
240
214
278
202
332
246
305
157
199
283
256
237
272
193
212
206
187
280
247
239
223
219
321
311
199
275
241
197
230
245
165
170
283
192
181
267
293
243
166
167
264
145
213
251
242
244
222
245
306
174
235
264
165
197
195
219
244
248
178
221
272
230
180
222
245
199
255
185
183
170
232
267
197
139
173
219
217
246
195
179
273
227
232
277
213
208
116
260
258
270
244
239
215
220
229
229
229
256
311
189
233
210
199
240
261
177
114
157
221
205
250
292
189
173
190
234
336
213
234
154
260
203
245
114
214
362
188
266
209
213
161
276
207
233
238
296
281
309
167
232
250
156
159
222
152
239
206
251
281
201
174
213
281
108
266
247
227
219
218
252
216
263
180
294
272
176
221
237
198
378
161
151
284
230
269
222
164
306
179
188
300
192
247
228
208
192
187
233
257
169
159
174
114
221
189
241
238
238
202
204
250
195
191
210
314
311
278
169
201
199
204
269
222
252
261
213
243
152
245
238
213
193
223
234
231
164
139
186
196
220
211
220
214
216
174
139
243
259
114
329
220
223
266
222
228
199
226
208
262
279
262
253
214
178
281
222
215
238
225
215
203
168
165
278
216
162
178
200
199
253
235
183
273
280
227
252
266
169
343
214
241
193
265
170
263
213
191
268
321
172
211
208
178
297
186
213
203
214
216
219
233
261
284
240
248
187
194
227
178
256
177
251
226
189
236
248
181
209
268
215
257
169
258
212
300
199
222
241
244
280
226
145
165
256
274
282
228
205
144
221
264
240
336
295
114
160
155
272
238
208
206
285
311
191
233
264
251
198
198
224
214
157
199
198
243
237
196
204
305
259
224
207
173
242
255
296
195
254
205
318
264
251
321
198
198
148
295
268
207
214
275
176
241
189
249
263
269
232
213
229
241
263
144
174
208
193
229
139
241
212
206
315
229
303
212
227
290
276
245
228
262
170
211
278
263
269
180
247
284
232
189
268
246
301
200
215
211
152
161
279
214
168
320
284
197
191
277
237
203
262
242
216
244
238
262
227
236
256
284
224
275
242
284
164
134
218
170
198
165
185
230
243
162
232
174
275
161
187
286
222
165
187
205
154
239
249
242
168
177
218
139
170
268
161
291
287
193
232
210
237
241
254
264
218
250
226
234
278
244
194
253
324
249
198
236
170
180
258
202
233
208
256
200
170
289
180
227
281
208
284
268
179
218
238
221
258
242
258
208
263
289
176
194
231
300
227
257
198
218
274
218
279
199
178
269
331
309
222
221
279
232
234
236
221
246
257
250
178
209
270
278
199
256
241
208
243
251
181
174
214
207
261
218
249
226
264
241
175
286
227
293
234
204
210
218
239
207
156
233
180
238
268
255
257
222
256
273
151
186
114
154
232
205
179
218
175
214
262
200
271
244
212
252
277
297
253
213
230
235
278
229
267
205
207
219
272
198
271
289
227
268
152
274
192
265
214
189
232
238
211
268
224
174
232
244
180
139
222
204
174
203
242
273
240
224
285
202
232
223
241
222
219
372
201
228
212
272
158
178
191
254
280
209
257
177
274
203
247
232
189
280
224
191
177
148
223
221
244
170
192
255
198
244
189
277
207
166
212
196
185
238
252
184
209
286
248
231
199
246
195
202
215
255
265
201
243
233
271
231
243
231
179
234
264
237
208
195
205
314
224
287
184
193
207
179
210
199
212
182
214
162
268
174
253
262
219
250
278
221
304
315
234
299
208
329
277
233
258
132
237
214
197
283
267
260
247
183
147
220
203
196
273
225
231
182
294
213
262
232
270
181
217
233
237
281
228
174
253
215
184
246
209
195
262
198
190
265
192
204
286
144
247
244
245
220
197
208
186
291
201
282
261
192
208
259
209
189
181
208
220
275
182
172
226
205
213
241
193
156
152
238
172
237
233
211
259
211
211
276
145
225
207
269
223
245
214
201
271
195
211
253
106
191
226
215
126
236
189
178
196
201
215
220
323
244
250
114
230
189
201
353
253
295
355
184
274
158
281
212
194
203
194
174
358
226
214
129
202
206
299
162
211
214
139
229
231
151
206
245
302
245
294
256
209
285
173
173
231
130
359
185
241
196
291
313
243
184
178
261
231
184
198
279
214
255
173
209
194
207
225
264
242
298
278
184
214
236
265
244
116
218
199
223
251
288
242
274
223
139
235
241
185
317
197
230
202
282
133
219
149
205
256
209
246
249
146
209
195
174
147
269
204
207
222
245
215
219
273
236
341
218
227
221
259
306
204
179
231
203
174
154
292
290
231
174
235
238
141
231
114
289
176
240
201
222
283
168
241
237
253
190
261
160
145
161
181
189
221
270
225
200
257
328
187
207
203
225
265
195
265
243
177
222
179
278
192
247
197
194
196
199
169
215
180
271
214
193
176
213
198
116
241
222
214
173
177
152
160
206
303
172
215
176
176
215
258
243
173
265
283
228
215
248
221
181
243
217
184
200
195
209
291
158
221
220
179
178
258
199
197
232
282
175
290
215
203
209
161
220
200
284
241
277
179
240
268
246
175
241
277
183
192
259
219
253
219
224
228
223
151
294
201
257
231
185
224
279
212
170
297
210
185
191
243
222
234
205
284
198
202
240
286
270
241
185
160
186
202
171
213
170
259
173
283
247
151
203
228
228
219
252
245
208
211
238
195
295
188
184
294
262
243
191
194
130
214
169
248
288
251
182
290
279
309
166
285
285
222
249
260
181
161
236
248
169
200
273
286
207
293
215
154
181
223
235
222
223
171
297
287
240
201
148
250
272
185
222
193
258
355
191
182
192
157
194
185
228
213
250
263
161
114
188
171
240
236
147
232
204
253
225
236
241
188
204
167
114
266
165
201
183
164
197
215
208
185
204
163
297
213
233
193
191
200
262
295
193
196
178
241
260
224
181
241
233
192
239
222
180
262
319
187
242
265
179
251
165
192
178
234
219
168
236
210
126
185
232
194
222
209
279
166
333
284
211
234
233
237
264
252
220
231
158
327
157
194
185
291
222
149
108
236
192
221
234
246
182
205
234
227
154
206
233
283
225
190
272
231
163
265
279
208
234
139
162
218
166
174
202
273
168
220
241
203
167
185
158
234
229
217
194
234
219
221
203
247
273
249
217
250
267
237
285
263
204
266
265
231
240
207
151
238
193
235
237
228
245
187
250
227
175
249
234
253
231
230
263
278
203
251
213
302
277
182
204
206
232
250
250
229
232
254
265
194
255
263
234
180
235
267
275
344
244
160
201
154
219
275
216
239
222
231
268
277
290
243
208
278
281
168
174
248
262
259
248
237
279
185
217
219
182
188
257
207
273
178
200
256
210
175
178
214
235
186
251
212
254
238
209
188
260
202
294
261
195
283
208
253
216
164
160
226
311
168
165
262
162
208
242
178
184
369
236
222
198
149
305
263
173
306
114
224
156
256
172
270
197
263
173
216
228
265
191
232
145
230
297
212
174
222
297
205
208
252
223
204
234
169
199
266
326
224
238
208
254
235
236
259
170
263
264
208
184
234
197
222
219
236
246
164
231
194
215
238
187
158
228
149
192
200
282
260
223
245
193
255
244
258
184
236
181
318
311
194
156
263
217
247
259
277
254
235
254
133
195
322
247
241
195
212
170
296
156
220
202
225
188
288
208
236
256
196
243
198
233
233
236
231
204
164
233
266
242
280
209
240
243
206
253
114
367
209
305
218
236
200
219
189
223
175
275
248
254
229
152
171
175
275
207
114
178
306
171
261
159
245
203
214
188
268
189
235
187
231
250
269
196
249
249
252
220
217
235
261
144
232
181
227
232
160
194
229
286
220
300
215
183
225
276
180
262
275
238
161
192
173
195
176
320
173
160
213
225
209
271
202
146
160
228
188
238
369
157
187
385
314
200
290
296
239
310
263
201
210
184
146
192
208
226
243
264
220
267
196
210
251
321
173
239
155
247
207
263
198
170
161
241
271
233
278
198
178
254
212
180
283
174
281
243
229
183
247
181
226
277
176
219
260
225
310
160
172
200
260
229
303
258
198
196
201
221
297
191
284
219
248
262
218
306
255
151
195
179
211
185
197
300
256
274
114
214
145
201
220
172
201
244
210
347
285
302
180
238
197
232
189
189
310
214
188
276
175
252
276
220
253
235
234
267
216
184
283
197
175
261
209
284
168
326
234
356
228
225
278
246
296
163
217
280
265
211
272
224
193
193
195
154
276
202
217
227
208
257
246
290
151
199
160
232
240
211
189
227
260
192
168
185
156
170
222
287
295
225
206
194
265
225
223
297
239
262
215
215
244
173
293
302
248
211
192
230
297
180
230
318
170
212
178
251
262
247
108
114
191
184
194
243
172
177
223
244
292
188
185
338
259
324
308
192
198
164
225
241
255
271
249
219
206
272
175
193
241
195
305
176
219
357
164
255
219
243
179
170
251
228
241
234
222
227
271
259
268
192
139
183
198
259
191
215
181
267
165
206
309
204
256
224
187
250
222
253
154
218
217
207
269
231
202
250
253
156
241
219
250
213
272
210
293
274
227
114
218
287
183
211
194
215
188
143
230
186
292
206
255
186
191
258
152
171
213
160
225
203
234
174
227
201
224
200
184
226
206
221
266
195
269
216
192
187
174
207
222
205
226
305
169
287
193
201
223
260
249
222
213
201
173
173
178
213
195
155
222
232
228
202
208
195
237
323
257
158
237
193
227
225
129
215
264
252
181
209
212
181
191
114
231
217
229
275
241
291
260
204
266
212
186
227
256
278
214
224
237
173
214
251
237
255
270
233
210
184
204
174
313
315
265
202
196
148
219
212
170
254
225
271
290
235
295
184
182
200
178
208
267
262
257
160
222
186
241
230
270
244
234
194
195
198
192
114
156
212
244
225
221
242
228
251
218
174
203
192
226
309
278
200
246
208
200
239
216
238
222
226
188
357
151
168
249
291
362
262
264
311
256
188
168
188
184
196
280
207
208
180
215
196
259
170
218
251
155
259
258
224
306
258
222
179
206
144
152
165
204
244
235
247
344
254
226
151
244
291
217
195
191
214
252
209
169
208
208
227
235
273
313
287
266
243
194
168
181
178
250
320
279
306
220
164
243
200
173
264
207
185
300
180
255
195
180
175
173
175
249
286
246
276
173
238
114
288
245
323
203
180
254
169
295
210
188
173
240
197
235
230
297
249
198
226
206
268
170
222
279
188
270
285
252
270
180
297
152
259
212
222
232
139
156
301
193
315
242
233
234
233
251
265
303
200
189
261
212
203
282
156
243
171
260
246
208
206
195
276
303
284
235
274
174
315
177
211
209
200
261
203
287
157
196
268
313
204
255
183
200
222
195
237
249
256
223
179
233
195
271
346
184
184
211
233
163
242
114
205
219
217
209
270
202
158
174
162
288
257
249
310
241
237
168
247
108
252
235
261
197
267
263
195
267
218
244
229
166
229
168
184
280
221
208
276
233
293
163
108
257
258
195
285
309
274
156
214
213
231
227
114
188
274
229
266
180
297
207
248
162
178
266
214
163
162
114
201
207
206
214
231
235
229
325
218
196
182
181
197
197
253
205
232
222
153
114
311
205
311
184
170
192
224
258
205
318
217
231
288
231
249
197
116
229
229
214
323
263
181
267
173
114
206
230
198
210
288
114
173
196
218
210
263
219
241
218
168
198
196
253
158
248
262
180
212
164
215
234
253
264
270
242
200
231
216
160
151
291
218
161
213
185
298
212
276
205
186
156
287
239
182
155
186
180
173
210
213
116
278
129
229
162
253
196
191
240
223
234
231
190
290
242
193
198
212
321
192
293
208
231
225
235
282
162
206
223
228
256
267
202
247
222
271
314
210
219
218
259
354
175
277
205
244
181
254
227
227
241
209
146
185
220
193
233
198
211
200
224
222
201
263
139
255
185
209
198
279
244
190
194
232
194
165
234
203
198
208
230
311
224
284
171
219
340
223
146
275
178
276
147
200
175
234
207
203
214
285
189
211
233
295
256
229
169
222
178
238
235
214
231
197
177
169
249
152
208
247
201
240
289
181
244
220
219
174
213
243
250
170
242
160
246
272
187
241
245
193
267
166
280
193
169
240
228
250
227
234
214
183
271
274
182
196
165
317
244
316
174
298
220
277
266
171
223
178
170
173
266
230
282
258
177
223
237
175
229
189
235
226
197
178
166
227
215
176
256
168
288
258
183
213
237
209
229
334
198
240
180
236
251
209
152
263
126
219
232
235
203
321
249
309
280
244
226
178
228
297
229
260
151
238
242
259
185
199
183
252
248
229
229
212
160
213
166
182
196
241
215
172
180
308
227
207
204
220
292
221
231
262
190
273
219
260
146
164
212
225
241
179
222
191
170
234
203
261
205
265
207
237
169
200
226
243
270
279
168
190
222
217
240
205
202
237
258
151
265
236
170
215
292
213
258
235
276
295
213
160
281
311
197
269
198
310
212
299
246
188
294
185
255
165
236
203
269
256
173
265
160
177
217
265
247
208
279
180
154
190
156
219
200
204
164
231
229
182
175
214
154
226
237
226
282
197
271
212
231
261
229
149
175
247
298
160
133
210
227
238
177
192
292
265
320
195
237
272
310
156
274
222
276
341
252
219
182
179
173
170
247
198
238
211
237
170
197
146
195
220
221
239
242
160
242
198
166
166
246
194
234
333
220
327
214
244
216
224
283
300
253
309
217
162
193
288
180
186
215
228
180
258
191
183
224
173
235
186
260
199
265
174
173
303
200
226
172
212
250
175
194
173
271
199
253
149
231
254
228
234
220
178
148
230
160
198
244
302
192
246
243
164
204
259
329
209
252
220
169
240
254
256
238
281
232
229
284
318
240
195
227
227
240
232
231
217
253
170
170
237
175
229
215
245
202
223
213
190
184
212
197
249
241
242
216
157
225
254
247
216
277
218
148
240
213
245
303
278
247
223
166
254
284
246
281
160
158
276
260
269
169
212
223
275
258
242
114
335
260
241
225
286
221
218
324
237
276
184
169
183
234
248
211
215
268
134
291
212
275
267
226
219
266
269
173
214
200
211
224
305
252
217
160
233
234
229
313
270
265
166
243
228
277
221
226
179
191
164
255
216
246
191
192
216
177
247
170
281
302
278
231
226
243
214
310
204
163
247
250
253
218
267
199
170
156
226
255
146
271
179
206
156
228
228
108
270
231
152
222
228
193
160
273
211
212
234
198
235
292
238
179
170
208
192
215
181
177
292
297
170
253
309
232
266
126
232
198
126
194
287
126
172
217
298
193
265
283
170
211
179
286
241
228
130
160
221
250
241
166
258
200
223
191
243
168
154
305
152
167
195
173
248
209
256
214
170
214
259
222
219
181
198
236
194
233
166
226
175
219
254
233
267
237
222
206
215
220
233
200
246
233
293
161
309
275
242
258
237
309
338
237
186
231
198
225
169
233
266
219
254
156
230
218
204
217
189
227
300
220
273
253
219
210
161
202
239
285
289
206
211
214
246
181
208
234
151
214
148
254
203
275
249
180
237
197
174
299
284
174
178
240
177
251
239
121
214
215
192
245
204
244
216
217
185
181
179
240
171
207
213
232
199
217
243
237
224
288
212
250
207
189
208
221
212
289
201
184
209
187
263
309
212
307
272
274
224
265
218
330
247
230
178
248
275
178
245
230
154
271
177
233
214
240
186
177
209
299
258
232
208
178
272
245
225
284
216
180
185
197
207
261
316
225
204
189
232
225
246
202
267
270
259
223
252
195
268
114
326
280
272
260
201
284
231
273
193
309
235
212
270
215
266
279
232
215
206
203
312
295
291
251
186
272
217
283
266
267
314
200
189
361
216
306
167
246
232
215
230
228
220
209
182
263
181
306
129
163
259
228
212
220
279
238
206
279
169
197
226
260
258
258
234
218
215
320
208
228
289
239
219
197
257
301
272
240
180
181
181
205
207
189
238
265
253
230
175
185
214
235
200
114
235
216
264
227
253
211
226
195
226
253
284
245
242
178
178
198
168
234
284
259
277
192
278
214
189
168
196
212
139
209
114
261
180
217
160
188
234
215
186
215
210
275
217
217
229
211
241
183
253
299
242
151
193
165
264
114
272
200
222
272
250
143
198
198
190
280
254
235
326
238
243
166
146
162
149
185
201
283
156
213
225
197
257
240
226
208
171
206
223
250
232
180
106
217
245
261
257
219
219
250
161
247
211
238
216
175
133
283
242
239
194
153
184
196
292
187
171
207
229
144
251
218
260
260
215
176
170
268
253
195
275
158
247
175
220
287
265
223
182
165
159
173
224
302
204
248
185
200
254
114
222
313
257
229
278
215
288
213
208
108
267
257
261
229
278
271
200
268
181
196
156
273
210
220
233
246
275
217
242
160
184
171
255
114
237
200
220
231
191
196
233
200
270
185
225
268
204
297
181
362
293
231
165
215
185
258
267
284
171
238
236
182
256
222
212
289
217
191
213
199
175
265
291
285
260
214
258
243
330
342
228
357
252
196
188
248
229
173
160
228
235
233
225
222
290
180
223
242
218
181
280
253
251
221
224
190
204
206
325
204
207
239
200
253
231
258
263
246
169
225
211
279
190
295
305
174
260
185
180
263
224
292
206
197
166
186
157
212
237
225
189
219
218
162
223
175
277
170
187
217
218
231
282
249
275
193
199
303
226
247
233
147
238
322
266
311
172
242
202
198
219
257
233
221
164
174
227
255
202
192
267
239
278
351
165
252
209
263
215
108
245
276
211
309
278
174
195
315
236
232
198
327
158
191
234
363
193
238
275
213
240
257
247
203
202
246
283
230
213
272
253
169
282
208
208
236
275
227
189
230
249
155
295
175
174
179
244
229
229
208
181
241
227
225
281
271
261
202
250
181
192
204
163
152
304
292
268
189
152
335
177
242
264
251
235
241
169
232
275
268
229
183
181
184
281
225
370
274
305
175
253
286
200
220
217
168
209
244
253
182
178
278
234
191
114
170
247
231
199
303
233
229
227
261
173
235
223
176
221
239
195
204
241
213
185
210
304
220
204
295
162
251
260
249
267
172
285
261
156
260
278
146
179
196
211
184
226
290
188
226
215
186
285
271
239
181
262
367
245
225
180
224
248
313
281
203
195
204
218
114
226
250
169
165
217
258
220
333
230
231
242
195
231
263
252
308
243
199
272
180
232
199
190
182
306
207
175
239
186
261
189
219
271
215
114
227
267
218
226
215
201
285
216
248
240
232
220
277
116
163
228
249
262
307
159
248
257
267
181
249
130
195
144
213
198
247
289
241
191
236
217
195
264
139
235
207
324
208
184
175
235
300
296
223
307
198
253
237
149
147
195
170
242
218
171
271
256
170
174
334
253
231
254
231
295
195
258
245
195
181
206
243
284
338
207
246
179
200
252
209
193
128
201
193
275
222
171
238
214
174
255
184
249
249
145
201
219
249
234
254
189
201
236
248
229
265
213
230
157
271
266
242
200
194
198
208
284
192
208
186
191
219
215
250
192
216
220
212
179
214
232
234
130
152
180
174
224
258
235
188
296
238
192
180
250
181
242
244
230
204
156
205
235
145
216
226
225
231
235
197
175
200
248
130
211
194
248
188
253
190
228
245
264
208
253
180
237
185
236
309
288
152
126
240
201
226
234
263
256
266
210
184
293
211
241
273
278
193
250
301
273
179
172
158
175
202
237
183
208
189
259
277
260
151
287
194
151
215
310
228
220
258
245
227
248
232
179
178
247
176
220
161
178
380
244
182
185
147
199
234
155
227
323
208
203
121
282
229
277
229
154
167
285
160
205
194
314
303
174
198
206
198
342
227
255
180
384
242
246
229
139
152
203
203
269
254
214
256
255
254
178
251
225
288
273
240
233
179
300
232
170
239
199
251
211
170
292
302
178
205
183
238
268
280
231
192
183
185
166
108
165
244
171
189
153
230
211
188
202
228
178
244
263
159
232
185
170
170
213
260
237
174
191
121
108
216
257
191
269
275
256
180
203
217
249
175
184
241
225
225
171
264
227
212
195
114
216
183
190
158
237
274
160
285
240
212
213
167
226
231
193
224
178
175
221
201
252
213
227
205
192
215
144
221
203
200
227
207
261
214
241
297
199
246
193
179
204
200
279
215
255
194
174
197
188
229
193
211
215
227
230
242
273
246
207
189
183
197
236
243
204
222
201
260
257
293
254
197
152
262
193
170
263
197
197
231
180
238
154
241
198
196
215
139
170
164
227
181
249
302
191
201
267
220
259
237
204
233
160
272
232
231
214
191
270
211
248
200
179
288
190
200
198
240
189
155
178
184
199
240
362
234
222
121
220
211
204
228
188
218
151
227
157
137
303
265
200
222
284
259
108
240
215
220
220
130
250
257
130
257
290
185
292
267
266
256
295
280
201
173
268
188
192
222
226
214
166
241
114
181
242
309
175
279
213
174
225
191
287
184
193
175
177
273
273
244
234
211
209
233
193
188
258
157
228
204
214
238
284
181
204
224
202
253
160
241
248
121
198
236
184
151
287
181
290
214
250
241
211
312
264
241
278
139
247
261
225
238
207
220
254
252
223
236
248
219
315
223
199
234
163
189
193
210
209
230
200
197
141
152
294
221
235
256
215
114
274
173
260
223
319
162
203
126
245
237
154
173
218
211
246
222
234
193
239
270
324
173
199
265
222
191
269
241
319
192
258
302
169
268
231
174
139
139
224
190
324
200
174
239
325
186
301
221
331
218
299
195
270
215
260
204
153
214
220
212
245
256
209
220
261
263
183
239
221
298
192
236
270
164
308
133
249
205
206
272
210
243
176
193
195
247
221
206
189
251
139
195
319
160
283
257
215
219
252
278
231
220
174
207
192
163
226
205
266
234
217
270
297
186
254
310
193
246
232
337
195
293
248
224
170
260
286
220
156
196
139
217
255
183
157
284
296
293
175
220
219
244
203
255
212
278
238
202
144
129
258
188
264
244
146
218
239
265
222
175
145
160
175
261
308
270
241
213
257
284
236
198
269
285
267
277
169
197
281
198
266
156
211
192
256
178
237
229
249
199
236
239
226
299
246
229
203
225
181
229
186
231
232
264
152
182
222
219
347
158
220
315
287
221
259
266
211
167
313
241
156
332
228
126
233
205
248
228
178
252
240
213
164
247
273
199
128
247
170
267
260
170
221
240
211
207
251
169
199
261
200
315
229
152
185
270
154
228
217
192
178
253
267
294
249
239
239
245
242
264
224
282
202
211
237
219
275
227
254
255
303
210
179
221
206
222
179
208
219
240
191
274
318
211
139
209
257
217
221
268
225
250
227
244
160
243
156
219
224
108
176
250
223
214
235
180
191
205
217
209
280
149
214
210
184
160
243
143
210
195
181
225
151
219
271
171
267
180
129
254
287
196
179
243
213
219
208
203
265
211
231
251
161
174
268
214
185
152
184
215
311
211
210
217
160
243
185
272
216
204
287
239
187
175
276
268
207
186
228
192
178
239
151
320
200
202
282
245
232
212
268
270
108
168
229
264
171
260
218
181
235
233
211
152
200
159
256
219
204
223
229
224
192
269
253
233
240
170
198
116
260
220
345
249
229
203
177
186
156
282
156
193
214
255
222
114
210
200
299
203
241
240
188
189
258
183
266
258
251
282
151
149
192
222
183
287
225
284
210
221
253
238
207
223
213
253
185
169
206
230
294
225
233
173
237
270
262
221
254
251
195
232
261
156
173
133
280
160
250
274
306
237
174
289
178
192
231
206
284
211
247
318
252
204
199
257
224
170
210
256
283
254
262
255
139
281
154
299
229
247
181
194
247
246
200
238
198
281
219
224
192
297
218
194
325
221
223
281
208
245
173
169
126
282
227
319
174
206
252
156
188
260
188
245
251
245
208
264
261
240
266
180
210
176
323
207
228
250
330
222
253
238
146
202
264
198
228
243
170
197
269
198
179
200
204
249
263
259
198
219
270
228
246
242
268
256
215
301
286
262
174
314
114
222
167
192
223
210
221
219
280
202
245
231
234
257
210
242
230
317
192
155
320
201
212
236
219
196
255
281
240
215
238
114
183
192
211
235
205
256
300
126
331
194
215
160
223
290
245
191
190
236
285
198
167
193
385
261
167
271
236
216
242
284
231
299
249
243
210
255
192
166
241
208
214
232
173
207
229
262
218
146
259
172
265
334
286
219
228
308
216
206
188
195
220
184
202
148
186
186
205
262
126
173
214
315
182
234
245
225
219
269
225
174
194
261
228
195
283
203
317
263
172
212
248
228
235
270
257
236
256
267
268
282
196
330
232
236
195
180
243
279
168
262
114
160
289
256
151
224
189
224
230
259
203
170
241
268
226
205
147
233
195
192
252
202
249
205
188
228
206
219
293
175
261
284
219
185
178
231
219
240
178
202
193
287
316
229
183
227
292
205
213
231
219
152
264
233
189
151
202
285
195
160
126
231
205
230
203
238
226
245
278
276
169
253
214
221
189
221
174
229
197
241
300
255
200
231
202
228
151
259
192
171
216
207
241
196
217
181
284
228
147
271
269
229
151
188
229
265
160
217
193
190
275
180
209
188
247
227
182
230
279
322
209
146
271
254
255
312
170
320
269
259
197
165
242
233
248
251
264
201
306
154
297
283
200
230
215
230
190
314
228
255
231
212
264
192
298
225
329
241
147
261
206
264
219
266
160
269
186
175
198
260
285
149
244
209
173
197
191
236
243
316
185
291
275
226
272
296
177
233
188
259
205
232
247
261
216
184
180
189
187
177
192
230
188
184
185
210
204
222
160
210
184
194
285
219
317
173
226
219
236
246
316
248
288
285
301
232
235
181
181
248
294
202
195
220
232
269
261
245
255
160
217
173
214
158
230
218
296
303
301
290
211
253
286
195
265
296
255
189
285
174
211
273
172
191
224
215
266
197
243
139
229
175
252
221
231
129
226
224
202
277
222
269
179
216
160
237
236
185
302
186
314
216
194
228
215
182
167
194
214
232
215
232
201
235
192
219
210
240
256
158
233
181
225
194
258
256
218
185
192
208
234
212
235
258
205
240
167
229
236
205
229
225
229
230
179
237
243
237
253
152
254
198
239
161
234
114
246
171
188
252
234
162
254
285
299
224
242
149
308
232
233
247
239
219
233
265
234
173
191
270
159
239
328
178
181
271
165
222
194
250
257
214
232
196
161
200
236
239
200
285
238
265
269
226
169
155
237
229
210
271
236
159
234
281
237
251
212
196
170
225
262
240
209
152
213
245
217
195
213
191
192
200
213
247
269
199
268
248
197
114
234
260
245
268
185
204
181
207
234
291
166
280
225
217
213
167
114
269
256
158
176
267
212
224
248
187
335
204
243
231
211
274
214
252
156
114
264
268
303
139
193
224
179
197
243
235
200
294
293
160
214
241
210
208
337
178
192
173
176
176
139
190
175
139
114
236
288
213
268
204
224
260
191
210
213
257
169
282
215
248
171
195
187
257
268
187
149
224
114
165
250
214
233
287
196
171
266
304
167
284
237
205
236
212
207
247
234
225
205
263
165
246
173
236
185
129
215
205
231
190
204
195
252
262
207
219
153
194
285
287
255
231
204
229
218
205
234
203
253
204
195
240
161
220
192
232
200
250
246
286
194
219
235
179
325
198
173
218
231
193
254
180
229
283
277
325
174
195
321
297
154
161
194
244
173
198
281
261
355
193
207
171
277
173
271
238
238
220
202
260
229
197
217
140
227
233
285
243
266
201
236
172
232
232
239
215
244
255
306
256
226
196
273
265
214
274
224
223
228
296
213
283
126
291
200
290
255
266
243
223
228
215
192
242
232
256
254
198
214
201
180
182
195
166
176
220
166
195
228
206
198
184
229
153
281
257
187
265
198
270
229
184
288
221
239
204
151
209
192
193
230
192
170
165
248
238
178
234
242
227
234
272
261
184
232
245
192
295
234
240
231
257
237
212
261
195
242
257
241
252
215
227
242
290
283
226
250
200
179
286
237
162
291
246
204
256
250
229
208
185
243
154
197
282
218
133
152
279
311
247
238
217
315
243
192
225
177
241
184
158
205
238
270
268
189
219
317
121
199
269
258
262
193
325
267
175
175
265
234
174
164
230
305
165
192
160
211
231
166
252
227
244
261
207
235
279
297
249
231
209
253
181
214
222
279
216
152
155
200
238
265
242
179
264
257
200
273
231
173
208
300
248
208
178
249
297
228
254
229
186
243
275
204
233
174
212
261
265
242
199
175
169
234
199
314
163
184
264
220
294
236
226
204
215
168
213
248
153
257
186
237
265
233
265
253
218
221
224
287
215
194
348
157
217
305
226
211
207
232
256
222
166
239
245
181
160
341
186
232
200
245
266
225
231
231
220
246
230
165
189
299
296
246
234
213
234
239
197
225
297
241
225
293
195
238
252
188
173
212
248
307
205
215
215
206
202
134
219
229
296
114
237
181
249
224
224
204
297
231
173
217
215
216
173
251
156
159
235
224
178
193
282
211
251
207
281
164
169
285
133
230
194
166
212
195
277
301
218
161
225
164
235
177
306
162
229
225
186
252
228
231
170
122
283
239
216
216
186
214
273
251
257
243
162
302
213
254
191
114
248
258
327
273
237
231
189
242
175
311
148
200
195
204
253
224
250
116
264
319
250
242
224
248
261
243
231
253
292
214
229
257
215
281
197
175
278
233
214
155
236
282
240
201
219
193
296
219
195
233
253
227
210
211
213
217
263
261
204
176
192
214
223
245
198
203
197
181
170
358
211
231
208
253
224
295
209
238
213
254
160
263
214
176
265
256
172
114
197
177
225
227
225
244
154
108
266
266
250
178
195
216
270
249
214
191
237
197
258
212
175
200
208
188
277
168
240
194
237
222
285
293
247
221
160
159
213
227
301
272
280
252
235
165
291
249
236
152
145
262
151
167
258
262
162
228
218
260
196
227
242
267
241
277
198
197
256
198
161
230
254
211
227
221
260
215
158
218
200
260
227
170
253
257
246
198
130
215
305
290
206
224
316
219
206
218
246
248
203
227
248
309
250
177
214
225
301
247
169
293
194
307
231
298
220
299
199
278
277
157
280
267
243
214
114
245
277
198
251
209
193
221
200
252
196
211
114
184
194
210
193
209
193
264
285
203
296
193
263
224
256
209
230
267
260
299
244
274
217
212
299
205
206
206
221
227
230
214
287
206
222
211
171
195
203
242
275
167
301
196
232
175
227
271
221
220
210
234
170
298
219
283
283
206
261
275
280
256
264
199
334
277
197
179
208
218
174
219
222
225
187
181
313
178
237
167
348
201
306
235
264
224
192
283
237
262
284
197
282
158
225
231
194
229
185
169
289
153
235
216
256
171
308
199
119
260
213
237
253
300
160
236
139
183
202
273
195
344
285
245
286
244
241
202
310
272
234
187
176
314
244
178
170
170
204
249
247
378
210
246
215
202
253
197
228
218
238
239
248
160
227
221
210
242
254
202
152
280
282
184
232
179
299
182
285
231
175
285
255
224
261
214
315
184
178
152
181
251
239
228
145
224
191
260
244
206
216
235
182
173
303
212
180
280
223
210
247
225
215
139
252
161
170
213
251
194
247
249
262
216
281
114
309
253
154
229
209
219
193
221
276
116
207
170
156
246
275
278
191
171
265
254
172
246
237
262
190
238
231
206
197
225
158
241
248
147
213
166
267
222
182
194
213
196
228
182
211
267
198
221
280
209
203
217
220
261
253
251
200
275
145
174
267
239
317
221
185
259
177
173
262
236
197
221
259
235
270
252
199
218
160
215
219
214
294
152
196
144
286
241
238
259
262
235
253
238
250
209
230
218
196
215
261
197
223
200
229
260
281
207
154
273
265
233
213
308
285
265
200
173
259
256
227
336
237
265
229
219
249
294
274
238
193
280
262
206
265
173
284
220
355
181
276
240
108
188
157
285
151
194
252
355
227
159
270
301
205
194
206
229
149
190
221
194
239
180
208
234
219
278
152
227
192
213
214
270
163
139
214
278
235
248
177
272
257
241
167
261
225
191
193
244
259
226
270
242
239
276
230
250
252
254
330
204
307
182
208
283
223
178
243
203
309
180
242
212
263
180
250
330
257
170
271
192
242
217
212
198
273
278
185
282
167
229
261
164
216
259
264
237
314
218
188
244
241
194
170
242
242
251
268
257
241
264
218
299
280
256
272
219
220
179
221
139
213
235
251
282
270
139
165
197
305
280
235
236
271
198
228
281
197
253
235
165
275
205
223
204
263
176
156
260
160
205
212
242
222
247
185
252
214
171
162
213
185
210
273
269
215
224
222
181
231
308
160
201
235
242
196
157
299
262
204
209
194
226
200
171
231
260
232
273
206
193
216
252
174
201
232
170
199
218
281
211
147
219
195
179
262
180
235
189
201
180
281
207
250
272
194
217
202
257
229
139
247
199
166
204
235
357
232
224
184
265
237
194
206
167
262
179
171
149
189
188
199
191
284
209
218
193
223
235
170
268
225
255
183
242
235
260
161
198
377
224
246
170
267
181
227
205
145
283
168
164
280
227
234
201
259
191
356
245
251
242
179
291
237
262
218
252
233
208
245
194
229
218
328
232
211
201
291
196
175
211
244
212
370
151
251
194
188
256
160
263
281
233
297
219
146
108
213
222
202
276
279
130
303
268
235
225
139
270
246
259
206
106
171
129
213
172
237
247
230
218
160
280
126
313
263
208
218
226
166
199
250
177
224
197
230
229
201
219
262
229
221
238
264
238
187
311
194
267
271
213
210
194
277
206
241
303
178
213
195
303
157
200
262
238
154
160
220
180
203
257
261
162
223
207
228
225
226
201
245
189
261
210
188
247
208
156
226
271
218
225
218
250
229
228
231
172
165
210
225
205
251
263
247
233
272
202
195
287
242
377
163
252
180
212
363
210
187
209
162
210
285
202
285
161
197
262
236
199
203
245
160
263
168
239
199
229
201
263
224
200
181
220
239
187
262
241
293
249
238
247
237
219
209
251
192
203
190
213
266
243
186
312
197
238
269
249
378
235
271
260
259
189
257
246
114
220
207
249
262
313
291
287
252
184
213
217
317
214
182
214
314
185
256
198
254
175
286
214
266
222
191
248
267
247
238
183
178
256
253
182
203
193
173
233
260
230
254
223
290
257
198
224
168
270
276
215
256
226
176
165
156
225
192
180
235
202
284
174
191
176
156
213
233
169
237
170
211
235
168
285
350
280
173
235
233
198
291
182
213
233
173
160
336
256
152
304
245
256
302
202
195
160
195
210
226
227
177
221
268
294
152
240
164
221
250
214
201
255
192
240
200
288
173
114
217
149
129
274
298
253
300
139
215
247
257
255
270
211
185
158
245
202
173
199
246
286
265
215
355
293
232
194
174
240
178
247
229
184
114
191
229
250
243
221
203
295
224
205
204
358
160
238
226
170
286
228
151
223
281
194
194
224
209
250
218
234
249
199
263
247
186
250
275
225
160
230
215
134
250
210
200
261
215
108
214
191
259
181
174
133
318
170
157
208
264
195
281
245
226
182
185
235
179
177
228
190
259
274
245
242
251
269
237
265
211
242
186
198
229
178
272
187
189
165
213
240
217
202
244
188
198
177
206
211
208
249
256
246
156
180
252
221
202
269
241
180
268
220
171
237
167
220
269
241
229
254
210
252
266
300
274
261
214
232
253
250
272
198
231
233
210
114
268
159
263
189
207
214
206
296
196
212
181
233
238
268
228
233
175
284
222
196
224
238
184
240
192
198
262
178
243
248
231
114
266
151
230
181
381
178
301
187
211
249
220
182
218
215
149
252
114
287
168
304
206
256
198
160
182
174
258
262
209
219
354
222
260
239
219
256
299
198
160
114
229
235
239
254
195
189
240
205
193
309
204
191
189
300
255
221
296
238
159
285
174
199
176
239
261
213
235
277
234
222
181
162
239
234
267
240
244
173
229
248
234
215
203
194
265
246
213
252
264
204
264
221
251
170
182
244
184
243
180
231
175
155
195
203
208
328
211
260
221
227
216
263
158
224
231
275
301
215
238
253
218
204
251
229
254
234
184
246
220
202
204
274
262
202
234
231
263
223
188
218
249
189
233
275
206
202
243
209
187
247
214
204
181
256
266
235
271
211
278
244
209
165
258
235
265
290
235
188
230
195
206
194
200
289
260
266
174
121
198
223
259
293
240
235
251
218
230
232
270
242
246
205
245
250
367
201
205
247
195
196
216
196
170
223
217
250
162
316
194
129
225
247
265
217
258
227
241
221
208
201
274
225
169
187
216
206
233
155
256
258
258
247
263
198
258
212
262
254
114
263
114
327
234
197
311
195
219
293
262
277
334
189
160
173
253
234
229
243
250
238
256
276
208
228
207
266
258
126
280
285
257
204
159
281
189
275
298
308
154
212
172
216
178
217
199
232
271
181
311
202
224
279
139
197
264
243
162
181
187
212
220
196
158
173
274
213
222
180
239
168
194
206
268
240
245
307
212
215
161
178
182
316
193
228
156
175
190
188
182
336
169
248
164
245
209
264
284
196
311
268
193
195
211
305
281
261
251
203
258
193
156
200
282
288
282
156
183
265
374
192
170
229
214
184
306
190
276
156
279
147
268
227
178
287
214
245
196
178
270
260
220
289
290
196
189
273
170
254
226
253
211
264
149
158
179
216
309
225
212
160
198
181
265
253
226
239
244
160
252
273
248
218
218
244
323
242
291
265
266
229
186
236
173
186
211
229
290
257
349
205
210
253
224
251
345
232
268
154
225
270
249
228
224
224
249
212
220
194
242
241
190
200
200
179
289
151
276
262
221
218
214
300
223
260
264
196
241
253
181
253
222
168
205
230
267
216
206
180
241
351
242
159
278
286
184
235
148
210
220
216
270
210
266
226
229
221
176
216
159
152
157
227
175
218
247
213
212
239
379
285
265
232
193
219
194
157
200
228
277
233
208
195
236
165
201
256
258
209
159
199
281
216
248
264
285
154
221
183
293
257
126
239
311
302
245
320
203
183
266
351
257
221
290
183
193
279
257
203
252
174
233
307
114
229
151
253
156
210
218
270
242
171
114
157
238
114
175
227
168
172
176
207
208
226
257
166
209
259
220
160
250
234
194
171
306
180
266
222
226
202
329
126
265
230
156
210
290
208
172
292
234
205
216
191
108
223
308
164
251
229
234
213
260
257
207
229
229
237
197
246
249
263
151
208
245
241
219
321
241
181
213
242
162
285
205
218
170
321
234
243
182
173
246
173
202
214
175
292
266
233
192
242
251
175
174
233
251
243
241
323
241
169
173
255
248
242
175
210
254
198
220
253
220
160
222
261
277
240
237
253
244
224
167
225
211
252
271
270
204
227
199
308
240
181
199
314
257
231
269
184
231
198
204
148
156
249
236
214
241
206
260
229
165
214
281
282
275
253
160
235
197
245
218
160
250
176
227
233
170
267
126
289
256
271
201
213
202
238
262
246
246
205
223
261
247
247
267
240
218
296
243
275
265
197
222
234
179
219
179
195
206
255
238
194
254
290
274
223
227
253
180
219
201
176
218
236
177
242
199
204
156
214
238
215
198
200
234
237
160
290
272
238
231
285
182
262
133
242
170
207
116
221
164
158
192
228
228
268
221
242
234
303
248
270
222
274
228
198
228
160
183
205
225
126
153
290
171
249
273
170
201
261
229
214
205
227
196
139
227
167
146
306
243
324
178
241
298
241
253
214
244
196
151
220
218
236
266
258
184
292
159
276
233
214
175
144
158
218
260
240
249
287
167
190
245
227
193
226
151
248
225
248
221
237
215
323
230
239
240
252
176
263
226
265
250
193
149
229
262
170
175
262
207
177
278
223
251
225
262
207
258
187
206
234
210
322
226
212
266
181
169
194
254
209
300
243
230
241
194
178
282
212
192
245
301
274
299
230
121
239
281
210
235
227
230
188
199
205
224
160
240
219
170
240
170
296
239
265
256
174
231
253
195
213
268
214
327
143
216
263
218
269
259
243
240
253
165
301
206
302
108
264
288
262
302
264
229
224
248
285
214
181
146
177
197
265
247
169
187
215
219
234
253
175
246
235
170
230
220
235
143
226
175
276
295
203
178
285
151
194
139
198
233
297
293
179
240
180
249
216
264
273
254
323
306
196
216
270
154
223
280
279
230
232
255
193
252
239
221
249
301
251
181
221
160
207
218
245
271
218
203
275
195
271
212
166
243
177
291
259
208
196
229
196
240
205
142
211
243
306
187
212
240
251
130
285
185
208
239
223
214
203
251
276
237
200
147
212
202
224
283
245
220
160
225
189
275
241
222
221
236
203
175
190
194
239
174
225
206
250
233
211
223
237
172
217
210
178
227
128
237
209
220
175
198
239
223
181
232
151
206
321
237
301
209
170
230
279
137
226
186
246
198
196
146
202
199
236
191
209
287
177
191
169
202
305
260
246
232
237
177
276
239
259
241
204
212
217
129
199
221
181
156
130
237
256
152
264
276
199
188
251
229
272
194
167
170
191
208
178
242
282
196
284
161
218
176
211
158
283
303
256
195
198
234
252
250
160
231
213
228
196
215
185
169
223
289
173
189
229
173
213
267
307
260
260
148
349
226
279
202
202
266
288
233
169
252
238
252
243
203
233
240
225
169
217
177
258
178
290
236
284
201
154
238
206
221
180
256
260
189
217
207
219
282
273
194
257
165
199
161
225
228
222
236
212
266
199
269
198
232
242
186
223
187
219
173
198
203
238
151
308
261
173
198
156
264
218
237
225
186
219
173
213
196
205
229
193
193
241
277
160
228
210
252
167
235
204
258
229
227
223
173
297
247
227
225
199
169
276
164
246
243
196
213
257
260
195
228
254
215
268
258
207
219
239
231
208
233
253
281
233
268
286
191
261
212
265
197
205
201
158
266
145
162
257
186
264
248
211
210
253
241
235
236
234
211
230
264
185
161
239
166
163
205
250
173
198
269
273
231
206
162
198
254
175
198
179
221
201
262
256
209
234
279
218
329
222
245
236
231
224
218
249
231
188
283
289
192
201
245
241
182
215
232
238
213
269
222
287
201
196
282
276
271
196
192
173
229
206
312
319
166
287
208
215
243
210
282
207
250
198
238
212
288
267
236
108
145
194
154
203
227
198
240
161
201
259
177
238
176
145
225
289
225
255
195
308
214
181
261
228
207
171
247
282
251
210
227
170
178
199
235
196
174
192
178
114
311
254
329
216
212
206
247
149
179
173
210
244
265
235
225
231
220
299
187
151
291
309
160
188
268
233
116
226
168
253
242
296
238
209
237
167
236
114
193
262
247
198
212
175
229
181
236
258
254
190
156
261
201
203
237
239
154
268
281
244
185
156
252
207
227
171
224
273
306
228
248
221
245
185
270
208
230
208
207
286
172
306
169
262
311
262
180
138
244
193
189
266
218
255
190
227
225
206
250
200
227
203
217
181
271
235
114
235
305
202
258
261
260
235
196
259
287
174
274
202
255
268
192
240
232
356
197
267
206
272
192
240
169
263
227
189
258
217
268
333
242
252
198
195
166
303
192
168
271
228
284
189
205
186
180
252
229
194
280
188
221
225
240
231
211
274
155
157
247
251
234
246
205
286
191
208
249
269
181
201
221
215
300
193
329
258
241
173
311
181
207
151
217
195
189
191
245
266
212
214
231
278
246
234
233
217
196
166
245
176
249
214
207
308
240
310
312
278
192
182
227
203
191
230
294
218
238
224
246
287
106
183
288
267
207
260
198
152
241
155
285
187
170
258
221
269
241
126
197
223
214
213
228
267
272
147
225
252
278
232
170
180
247
273
207
253
221
174
202
152
126
198
346
190
218
178
205
211
195
267
175
191
170
277
266
240
158
245
251
208
252
241
244
224
220
209
231
270
261
244
221
250
173
245
266
308
215
311
222
227
188
219
218
242
236
156
139
199
207
264
241
251
220
170
244
194
253
216
195
210
230
253
315
227
173
228
237
200
260
232
222
200
168
217
273
256
166
180
292
282
179
195
326
247
223
178
234
212
205
184
181
263
269
283
220
180
198
242
174
114
262
238
213
238
172
246
309
171
226
231
182
226
214
170
271
183
209
157
243
156
228
178
178
181
222
210
248
219
224
232
250
239
302
239
261
265
206
205
374
265
281
212
232
147
173
247
220
281
195
225
228
164
265
239
215
230
167
300
226
202
126
239
245
219
277
178
221
266
227
171
280
187
273
160
186
261
269
181
172
262
196
218
303
217
206
308
210
266
245
197
216
204
167
198
218
199
274
202
293
221
220
295
296
250
185
213
237
203
235
181
244
243
258
241
213
279
248
313
178
318
173
252
280
187
211
182
230
194
277
239
258
334
171
262
253
250
210
252
239
222
220
330
208
202
197
241
148
240
260
196
312
214
272
313
212
216
202
162
240
231
291
304
290
329
212
260
241
268
202
182
114
233
234
152
268
199
156
255
236
286
121
114
290
129
233
180
164
249
287
173
243
151
191
190
246
263
199
206
228
190
243
260
236
274
184
251
245
300
284
186
178
217
194
212
170
251
173
237
278
249
208
204
197
192
242
170
191
229
237
258
181
243
178
255
171
277
181
272
253
223
196
162
217
245
225
249
212
262
161
186
248
211
279
216
146
177
156
251
170
206
172
308
161
178
212
184
215
221
217
290
178
258
169
263
293
193
195
284
223
162
265
165
227
238
253
210
250
225
245
190
212
179
190
260
279
235
174
181
244
210
175
233
205
259
211
280
249
128
228
261
233
244
183
225
181
252
234
201
190
233
175
182
222
243
258
259
180
158
169
224
249
172
251
267
194
151
230
202
214
255
241
231
243
269
201
231
234
240
148
270
258
194
266
198
245
263
237
196
309
323
210
284
162
218
203
275
209
220
281
264
178
223
181
223
241
261
227
152
213
194
283
221
264
178
255
275
202
239
206
176
308
258
319
237
180
287
232
339
184
201
202
189
175
299
215
208
228
216
287
225
184
223
189
220
178
158
235
214
202
213
195
275
189
185
279
235
336
308
193
236
224
219
251
271
269
306
228
244
214
240
216
220
201
211
187
226
241
261
215
214
280
245
292
277
225
196
197
320
263
236
192
276
200
220
248
195
224
230
225
254
156
259
246
256
202
212
227
202
296
158
220
199
261
261
263
198
204
218
227
192
195
166
290
183
201
175
260
276
233
164
201
245
197
191
201
247
237
202
243
241
182
308
273
164
231
200
166
161
246
270
180
200
200
191
188
344
222
193
273
114
195
188
205
246
234
208
314
243
195
196
257
195
239
228
180
255
225
200
237
245
249
215
219
239
169
308
241
195
253
173
257
247
231
198
284
193
347
229
241
178
297
213
241
168
291
172
175
308
237
226
284
297
160
218
165
311
200
214
238
232
256
286
198
304
167
241
260
234
189
234
261
256
223
194
156
186
231
205
247
189
289
200
186
230
240
310
202
326
144
313
210
276
198
228
200
213
246
175
114
175
173
239
245
208
156
216
167
245
318
301
224
221
174
230
174
237
215
177
240
238
246
225
250
302
218
208
213
220
190
152
276
248
278
278
202
238
180
235
161
166
176
279
160
230
196
192
246
198
291
230
186
161
162
280
277
241
264
170
238
239
193
311
276
243
106
307
191
148
223
174
211
276
201
212
197
178
245
161
259
238
355
267
168
192
145
151
261
139
240
199
353
233
335
190
282
242
202
210
211
213
241
255
261
210
227
249
166
240
291
240
270
208
263
114
263
114
249
160
178
183
206
199
259
236
206
250
208
135
259
219
189
202
214
164
276
308
161
182
223
218
241
290
265
108
206
255
189
180
222
229
114
204
280
186
223
307
140
266
218
234
239
255
251
290
220
137
181
223
262
230
285
242
294
203
152
243
259
292
247
190
223
281
246
294
250
229
234
253
214
265
254
254
252
196
186
243
213
114
232
271
190
213
219
152
285
233
152
213
215
250
137
212
114
158
208
235
237
227
191
192
224
240
229
200
363
366
173
220
299
278
233
198
165
243
146
225
226
198
228
170
167
219
174
225
297
189
247
170
176
235
198
260
170
220
203
232
227
160
241
261
141
189
215
249
293
243
180
274
277
344
210
168
185
311
161
225
248
229
161
157
175
223
189
212
220
273
246
232
281
178
267
226
243
257
253
247
225
212
192
165
262
200
219
330
313
215
218
194
230
254
220
181
173
229
246
218
169
250
206
218
240
238
211
161
233
216
260
175
258
265
198
280
240
178
171
209
188
209
239
231
177
207
160
160
237
260
228
156
177
191
214
343
235
252
159
164
238
232
280
226
227
227
248
200
238
183
134
193
173
200
199
244
195
283
152
198
157
217
215
250
197
121
216
149
223
195
201
248
231
216
219
199
219
250
188
182
298
161
212
191
255
203
278
173
218
212
204
214
271
173
229
255
292
216
233
190
266
168
299
224
205
218
235
249
149
229
181
356
213
309
179
291
255
199
214
307
255
203
228
251
252
267
219
233
178
290
165
253
193
210
221
210
227
226
211
225
287
257
231
244
227
233
229
274
175
173
249
261
218
188
223
249
137
216
202
243
251
236
258
196
259
163
364
239
255
301
179
313
225
203
224
209
377
234
160
234
245
241
230
210
200
198
213
179
229
197
154
149
227
238
114
213
255
230
271
198
267
194
248
268
156
158
166
220
188
198
231
171
266
239
126
226
235
262
260
302
193
217
253
224
197
241
219
169
259
237
208
215
207
277
184
281
160
228
232
285
203
224
257
180
217
210
198
185
267
161
241
139
233
257
161
217
267
249
274
234
205
234
289
178
230
246
195
152
247
201
202
192
296
114
244
281
196
259
296
205
157
248
114
227
284
162
240
249
202
206
193
213
286
207
277
148
258
250
288
195
246
273
269
181
156
214
203
176
261
234
213
200
243
225
189
324
218
311
232
211
220
191
244
208
214
204
223
141
209
208
279
189
230
200
165
194
261
258
235
235
254
194
245
219
253
152
272
212
180
204
256
228
260
287
258
263
178
233
257
231
288
204
254
237
226
206
196
258
248
222
201
260
231
261
244
181
193
202
238
226
239
154
257
165
216
195
340
256
213
258
220
177
274
171
174
249
321
156
259
257
174
174
232
121
191
190
267
273
225
169
255
182
162
204
166
189
223
223
195
240
249
267
173
287
195
215
227
277
270
251
263
276
208
238
263
209
220
194
178
223
231
222
279
156
196
193
220
257
194
160
223
266
200
212
274
176
259
192
206
169
243
209
252
246
240
224
160
248
296
189
249
257
218
215
162
170
183
198
244
211
238
202
214
224
121
199
309
244
239
328
178
184
231
174
200
235
191
248
196
246
114
222
219
245
276
232
192
216
274
238
236
300
214
245
295
156
264
243
191
259
182
154
221
173
297
198
180
237
344
209
178
315
195
255
213
221
306
256
216
250
242
240
283
235
272
203
180
215
228
176
240
231
263
166
242
238
226
218
269
205
231
265
204
209
186
198
242
210
256
114
256
227
211
235
173
220
167
229
170
248
198
217
254
248
173
211
216
198
351
235
170
240
207
249
248
273
198
286
257
250
178
267
190
218
192
218
227
228
214
242
247
168
239
173
229
180
236
224
168
308
252
294
339
262
240
292
306
149
242
253
237
244
233
147
264
243
207
249
213
217
202
220
184
158
226
248
220
254
209
182
172
248
265
208
253
218
214
158
226
279
180
179
255
256
196
265
240
249
197
192
191
170
160
158
268
247
234
215
245
191
342
260
226
259
126
269
198
218
229
260
298
257
193
251
221
190
276
267
202
325
188
183
277
231
323
246
252
167
259
338
158
279
314
159
173
268
230
247
230
208
177
199
205
277
249
254
208
284
155
309
198
266
218
192
260
349
226
221
286
222
180
223
202
270
231
214
261
208
197
266
225
227
239
237
173
191
269
195
214
242
187
231
251
205
160
255
184
224
146
285
256
170
200
252
190
247
253
253
116
223
206
229
178
204
246
260
176
152
217
196
194
189
302
241
298
181
233
249
236
249
160
308
256
235
268
139
267
169
192
231
274
269
139
179
235
209
284
189
183
242
223
257
247
223
224
178
192
208
212
160
230
232
250
186
207
243
245
211
243
236
214
278
228
156
225
246
284
288
181
262
207
237
191
262
199
240
170
209
259
210
291
252
239
261
196
173
207
250
151
204
216
255
195
210
211
292
255
222
199
230
262
289
206
235
284
198
245
213
215
278
197
289
198
191
255
243
215
181
237
167
290
226
227
257
162
228
241
236
222
275
235
189
199
149
201
214
234
264
304
212
217
178
246
187
218
241
212
324
304
238
260
224
214
238
187
280
281
192
234
166
184
201
186
233
229
199
251
211
180
184
228
268
234
239
255
216
257
262
276
212
269
187
257
255
211
203
214
209
246
202
289
189
276
236
288
269
258
200
309
216
249
261
227
236
173
156
307
247
165
166
267
203
263
175
175
180
208
253
262
256
239
199
254
267
253
247
162
248
218
181
237
235
232
205
235
251
209
183
233
173
293
184
209
234
187
241
237
196
233
355
218
251
199
209
235
171
206
203
287
178
269
271
180
181
204
246
114
320
242
242
216
213
261
217
216
243
129
239
193
166
173
239
184
156
251
160
320
232
196
276
219
293
236
171
173
312
234
210
152
266
295
266
184
194
329
255
168
230
241
268
289
253
286
221
276
214
285
194
144
271
267
247
182
232
178
231
260
240
198
212
223
264
245
323
318
252
260
209
196
148
237
219
230
183
249
222
203
190
259
114
176
186
230
237
303
239
202
272
211
276
201
155
219
215
260
114
238
218
218
230
139
229
247
288
189
274
180
194
261
151
216
246
225
189
211
170
213
231
237
211
198
194
270
184
284
297
166
270
279
256
317
139
172
224
210
184
208
212
277
215
232
219
310
279
172
237
247
240
349
287
239
206
185
228
186
263
189
187
296
245
219
226
151
225
239
215
164
191
230
273
249
264
253
192
192
249
225
248
270
196
248
258
242
241
253
277
203
174
206
183
312
187
181
251
219
231
241
173
265
237
241
292
114
222
250
194
244
320
245
260
242
203
258
165
252
201
238
251
293
321
160
201
230
200
208
226
260
168
201
233
307
193
305
282
256
178
232
208
154
247
182
301
195
220
226
215
247
192
251
186
193
214
266
193
252
170
243
254
232
175
198
241
202
185
213
145
233
271
201
264
156
188
216
195
231
196
286
289
238
235
274
242
171
263
186
175
130
197
215
203
263
173
215
198
167
188
181
263
211
232
196
235
244
211
246
213
187
171
227
243
248
252
254
224
258
250
145
181
268
281
266
197
239
190
228
302
179
217
209
114
179
303
254
178
208
114
207
279
241
219
213
166
250
214
173
208
175
261
253
303
204
262
252
114
216
191
247
355
173
223
178
279
338
216
273
202
210
220
248
261
160
198
211
214
292
251
207
224
217
241
262
209
262
182
211
173
251
178
287
239
185
226
258
287
225
391
133
246
249
174
195
182
270
209
198
249
218
217
196
233
267
209
289
158
326
212
298
233
207
240
213
235
193
255
255
219
262
272
247
272
148
223
274
255
230
243
394
212
251
177
205
228
185
249
149
173
179
297
170
224
202
237
219
248
193
258
161
281
166
233
228
173
231
285
177
219
175
229
254
303
180
265
150
219
199
241
203
294
237
186
210
249
242
320
199
271
209
175
284
250
240
214
244
244
207
222
177
154
219
247
225
362
204
211
167
235
251
243
181
224
240
205
219
172
215
165
273
265
221
332
224
227
221
193
280
187
154
190
148
243
202
269
223
210
241
285
173
248
185
225
184
184
198
219
206
256
214
202
302
214
209
180
176
256
269
267
156
205
216
201
224
227
149
199
207
191
185
276
233
220
209
219
238
222
248
194
207
264
380
253
163
232
263
248
220
232
205
228
201
269
258
221
267
243
211
235
240
144
316
195
348
273
158
185
270
220
292
259
286
141
290
173
217
146
187
202
257
245
129
150
248
255
170
230
162
269
217
282
259
171
239
229
256
204
192
297
220
195
227
175
228
221
194
232
303
215
219
245
226
226
193
173
203
253
210
175
248
217
286
203
160
268
248
232
169
264
183
228
339
253
161
210
179
266
188
257
193
260
199
342
208
220
236
159
183
215
220
230
204
255
219
270
317
175
202
234
254
194
226
240
180
231
194
260
204
200
234
276
202
179
207
190
203
215
164
252
182
348
251
212
203
253
275
165
254
198
263
173
174
273
231
270
183
241
216
218
188
233
290
298
221
301
201
270
196
190
195
145
243
175
170
189
169
289
208
233
242
208
250
253
247
219
218
214
248
220
200
173
225
182
229
328
257
201
226
223
152
271
191
149
266
221
273
271
173
257
276
252
245
198
209
180
126
247
247
241
241
197
254
194
140
309
280
214
224
218
174
245
320
229
174
235
199
241
244
240
283
114
245
229
267
173
180
272
211
145
233
294
264
220
225
239
343
216
262
126
190
222
184
217
230
212
249
275
239
194
222
221
220
169
305
180
222
244
248
251
266
296
275
231
259
175
203
227
204
259
252
220
305
276
191
249
301
214
277
214
225
223
173
228
194
236
220
313
253
370
214
171
279
167
233
207
197
275
279
173
248
282
215
284
244
228
160
289
229
245
186
319
229
230
225
180
298
157
280
323
229
211
251
177
211
251
257
201
235
308
154
240
214
164
155
239
251
275
235
214
258
256
233
197
213
200
224
201
302
274
272
220
316
198
234
209
158
182
285
239
212
274
184
293
219
198
270
193
222
150
184
255
247
178
261
189
234
126
154
210
312
217
226
223
256
204
250
236
255
143
279
151
272
266
252
227
266
183
209
207
247
216
177
311
244
170
335
242
358
241
200
247
284
255
216
214
172
161
201
181
266
168
194
235
302
247
302
181
287
206
240
189
226
178
181
291
207
158
288
234
284
242
191
280
114
214
237
258
211
248
262
193
114
193
303
226
231
277
151
254
250
155
232
220
247
204
272
219
220
181
266
219
228
267
195
280
355
210
213
170
243
286
170
271
327
114
208
213
213
199
191
184
261
239
290
214
195
203
222
169
247
180
233
186
256
188
206
206
198
268
231
249
188
293
313
302
321
285
270
239
212
163
332
114
200
182
165
286
272
256
255
193
200
211
151
227
114
279
160
217
218
304
193
164
175
216
221
240
340
185
241
213
192
319
214
271
251
270
207
222
239
255
338
217
187
178
303
202
189
208
244
174
178
228
156
265
192
269
198
171
215
239
234
174
249
190
236
313
206
166
248
190
114
237
231
175
184
273
199
160
152
211
212
217
183
308
251
343
251
186
178
254
241
165
159
174
230
193
227
230
201
304
199
205
158
221
231
337
377
254
194
219
148
257
265
297
232
201
191
145
232
246
292
259
181
232
218
177
214
255
278
180
176
217
171
203
178
257
232
133
217
199
251
201
221
155
234
238
114
192
179
207
178
211
204
180
179
204
145
248
244
206
174
177
173
257
206
231
157
225
260
246
227
178
262
194
260
233
218
203
221
243
256
191
258
303
234
249
194
247
155
203
221
220
235
327
247
310
257
225
202
210
233
293
298
210
146
271
227
186
139
183
236
205
160
224
234
211
144
189
205
106
216
151
242
173
320
218
200
148
177
260
155
277
275
218
181
248
250
205
134
168
343
243
209
198
170
233
205
311
347
166
171
133
233
213
219
263
262
191
149
251
221
271
246
236
185
246
341
198
178
257
260
384
237
325
182
268
203
260
251
215
368
261
208
225
121
234
283
281
196
251
262
166
130
249
185
214
229
226
198
182
211
262
270
275
257
196
241
196
185
151
215
171
173
263
209
248
190
192
276
295
269
258
253
172
301
188
167
268
174
210
234
341
144
271
239
234
227
169
310
279
227
249
174
202
186
270
217
226
260
293
219
211
236
207
222
225
145
231
160
228
306
252
276
235
164
219
265
252
227
245
195
294
248
230
268
179
243
339
230
200
289
225
297
214
242
265
251
235
246
261
203
210
216
254
276
147
278
218
214
221
298
192
230
162
198
287
134
171
249
255
178
145
175
236
303
197
146
214
221
273
144
238
191
217
129
188
231
201
195
145
196
299
208
192
289
207
227
222
151
192
173
243
116
199
275
161
237
264
189
114
216
210
344
178
185
238
198
174
267
241
152
234
250
183
233
239
246
242
233
205
249
220
198
186
243
230
191
200
179
267
221
275
207
245
274
218
202
235
220
296
234
217
203
212
229
192
149
270
162
223
208
232
277
207
189
178
255
181
177
217
181
267
334
227
249
245
257
232
218
279
348
242
151
232
184
227
235
257
191
168
258
239
259
193
253
256
296
211
320
253
169
277
178
273
228
181
216
251
343
139
257
195
198
218
195
224
217
185
170
328
239
271
269
188
192
233
214
176
275
186
247
243
133
243
116
221
212
214
251
167
179
271
215
164
189
193
160
246
230
215
243
256
229
235
272
189
207
177
223
254
241
286
187
282
229
278
248
253
260
246
272
214
275
254
198
209
225
210
324
227
197
178
222
219
168
223
214
315
251
239
254
158
214
235
259
230
315
173
175
269
265
266
242
160
219
178
294
174
290
283
162
238
200
245
198
284
181
238
204
283
274
207
239
254
229
169
192
201
176
216
268
204
194
178
196
206
218
308
178
262
281
239
237
225
173
195
212
224
263
253
265
160
215
206
275
183
258
196
122
247
246
211
214
240
153
203
255
255
257
234
165
217
168
156
169
226
257
267
234
183
250
232
221
158
203
234
227
288
156
242
242
240
203
241
247
160
230
211
204
192
234
274
253
297
207
258
229
171
245
222
227
288
206
256
229
236
208
207
172
217
249
178
218
213
235
265
221
226
249
209
275
198
228
280
304
252
246
182
251
238
151
186
193
256
222
160
297
251
186
230
259
204
255
277
245
308
147
193
271
186
221
263
288
251
279
198
255
174
180
318
204
184
250
290
245
205
226
225
233
220
192
303
245
264
270
219
267
185
210
212
231
166
203
232
248
215
235
151
247
202
245
219
263
185
243
240
306
223
198
197
196
219
261
280
239
264
182
229
263
215
272
241
207
222
219
320
245
200
215
219
212
266
250
185
200
278
211
237
181
247
244
254
241
211
302
184
238
235
238
229
324
227
214
174
139
169
182
254
177
247
114
106
232
198
184
199
236
220
173
264
264
189
267
261
270
239
174
186
206
334
281
238
157
223
283
185
265
243
214
196
254
213
250
164
201
221
200
301
228
279
225
259
169
215
159
232
181
214
287
278
248
269
253
181
322
219
201
235
233
274
241
205
232
214
229
279
209
238
198
168
185
203
146
242
154
198
161
212
176
239
238
233
211
208
264
274
218
240
217
169
146
185
114
195
214
156
228
226
222
192
224
248
230
238
308
204
261
222
240
211
231
183
179
314
149
226
163
182
202
260
259
306
250
184
246
210
199
160
271
207
193
269
234
256
200
234
175
175
232
212
229
226
209
237
230
184
129
170
202
183
241
181
173
249
240
242
277
262
207
227
246
266
291
241
243
289
228
239
235
213
190
156
239
233
232
295
277
267
289
323
219
233
292
193
219
246
222
235
192
241
248
235
153
159
247
173
206
134
174
259
170
191
208
235
169
230
265
190
225
320
318
180
207
202
242
196
224
180
170
173
223
176
239
240
236
190
167
255
202
266
275
180
212
152
238
249
206
221
177
260
266
277
256
206
264
139
266
187
262
246
197
241
139
238
250
322
272
192
204
268
290
208
273
210
225
206
236
280
126
185
173
182
236
211
192
221
257
241
243
199
184
265
223
223
216
249
275
244
140
130
214
279
204
201
114
187
158
205
178
197
243
198
280
231
151
152
203
242
256
183
266
165
217
213
237
201
213
219
188
180
229
148
263
309
245
233
223
303
187
261
177
241
248
220
256
277
253
158
217
235
175
146
199
169
188
213
197
338
183
217
245
216
208
234
239
298
232
235
232
128
179
171
205
197
275
212
185
309
181
265
221
217
277
187
208
273
145
161
271
227
274
227
278
240
198
199
179
264
322
208
258
212
232
181
196
160
201
254
145
251
205
176
219
265
158
264
179
106
176
168
236
241
195
156
154
218
195
178
246
285
200
241
276
345
315
333
237
190
145
181
195
269
195
211
279
194
228
165
240
333
238
251
184
198
179
259
238
193
283
108
173
296
254
217
126
227
215
227
286
261
240
171
231
278
192
175
237
182
194
246
221
245
317
265
229
234
267
179
297
156
174
217
323
254
116
240
188
231
170
188
209
240
245
192
221
229
171
240
190
198
309
154
220
204
161
235
177
208
199
256
294
191
219
199
215
145
269
267
182
114
248
249
301
282
181
232
126
160
197
219
254
295
306
199
263
219
205
266
229
272
260
254
218
156
261
222
216
217
158
214
280
291
229
256
191
256
188
156
221
185
224
261
228
207
169
392
281
233
181
178
260
229
192
188
209
181
258
208
237
256
221
221
232
177
249
270
229
187
264
233
188
222
180
230
288
218
279
270
148
240
214
232
235
249
216
267
200
165
275
230
215
290
185
240
359
248
234
191
229
295
208
157
239
218
264
259
170
247
256
259
217
233
189
207
182
296
190
236
279
281
219
215
254
231
169
175
218
244
180
252
214
218
221
309
141
266
179
279
305
267
210
306
197
242
221
192
273
185
248
241
220
232
203
322
199
314
288
173
237
265
236
263
212
191
189
181
265
222
267
121
208
267
241
285
285
280
220
196
232
212
319
201
230
241
180
234
228
282
316
233
158
265
266
236
230
244
283
214
303
311
214
271
205
162
259
283
301
160
200
170
228
268
174
246
202
241
212
237
247
222
185
225
245
217
214
259
214
307
228
190
196
203
154
234
240
207
162
252
250
235
253
290
181
274
161
317
220
268
220
223
259
276
317
152
258
170
242
194
222
254
238
200
153
201
212
160
204
288
270
228
193
233
170
219
172
183
208
266
161
247
233
245
263
214
265
227
253
189
198
192
308
208
258
222
178
209
206
242
161
237
272
246
185
248
226
305
307
241
209
272
212
262
186
290
189
270
213
195
285
230
218
164
211
311
209
229
168
190
251
223
290
179
266
208
179
278
234
190
278
270
242
212
242
203
176
246
271
243
225
198
285
231
210
210
227
243
214
180
244
281
279
318
238
253
234
184
270
359
208
269
207
237
230
298
151
213
189
188
168
228
225
185
190
262
114
234
245
224
187
254
213
235
271
210
128
219
152
246
274
197
167
235
218
148
212
254
269
225
231
164
166
184
207
252
254
167
232
286
261
160
198
180
198
195
226
256
225
242
228
150
208
170
247
181
246
220
235
255
194
224
252
158
169
262
226
256
200
253
192
207
258
225
199
245
150
265
244
212
167
255
244
254
194
173
172
269
178
219
252
221
176
203
191
188
289
239
236
190
241
220
214
148
214
211
158
203
233
268
185
205
270
305
196
294
139
193
220
172
235
290
255
226
151
296
129
236
219
252
179
255
156
186
185
283
186
224
180
205
247
161
233
283
156
290
243
243
197
262
223
203
243
289
234
246
145
266
251
260
237
156
207
219
269
262
245
174
234
205
254
253
254
240
178
192
310
232
282
250
259
179
228
239
217
303
185
235
220
114
184
157
237
189
191
147
216
256
188
251
203
329
201
197
170
192
202
175
245
212
259
239
213
240
208
243
174
194
198
187
205
192
277
248
229
169
228
170
144
224
176
286
133
165
246
246
194
280
249
126
253
240
200
172
193
202
240
247
246
310
214
208
167
250
190
199
157
236
204
196
193
203
175
256
235
230
243
238
256
258
200
192
176
241
211
240
170
181
258
178
170
194
160
166
282
199
191
244
283
225
286
207
232
220
207
206
313
201
256
231
235
235
254
151
198
290
161
290
229
241
204
257
213
232
176
174
207
195
209
235
224
260
292
301
176
215
291
238
256
201
244
256
219
189
154
211
219
139
217
278
158
255
229
219
261
239
166
270
304
257
275
211
192
289
166
161
234
281
198
212
211
229
264
268
167
168
243
201
160
277
203
279
232
292
212
249
246
229
256
193
245
263
242
263
235
139
216
223
215
194
221
210
236
252
178
213
226
207
199
219
133
274
232
229
259
211
255
240
269
270
268
215
215
260
312
232
234
278
298
222
225
243
184
116
126
278
243
292
184
225
270
203
236
219
266
206
236
177
244
192
192
229
268
219
146
156
139
220
299
215
236
275
239
194
200
217
286
192
228
172
248
247
284
236
218
216
219
230
194
168
114
305
293
228
233
203
305
188
246
173
173
199
201
158
221
275
164
173
176
265
217
182
280
196
108
296
234
275
199
181
195
216
241
203
198
214
199
205
152
267
267
256
187
250
197
249
192
201
297
270
206
312
196
203
243
240
237
218
240
225
263
202
271
184
267
258
302
106
215
191
203
218
225
219
233
176
192
301
253
257
192
197
186
239
170
207
170
322
310
334
238
162
114
253
186
271
156
216
220
170
192
259
167
254
287
196
194
160
220
226
272
230
207
234
238
178
250
278
314
165
175
229
190
292
300
308
293
224
245
169
240
248
170
185
270
246
236
215
267
269
222
174
262
247
261
281
195
241
233
196
213
287
268
198
222
178
301
300
174
230
265
178
243
278
211
159
194
216
197
311
232
306
158
240
208
302
275
154
217
178
205
261
229
251
250
160
208
230
199
156
222
233
291
340
299
192
238
284
221
206
214
172
293
261
220
202
218
265
227
238
292
220
212
198
212
261
205
245
260
236
251
233
198
216
223
238
268
193
180
227
206
227
255
204
220
213
165
274
219
206
226
314
271
284
276
266
225
214
158
199
221
182
223
139
265
239
228
164
241
221
233
214
230
229
271
280
253
250
247
179
281
275
166
171
248
151
230
243
223
241
217
302
256
198
249
221
203
191
259
239
263
254
254
210
221
158
267
245
216
192
214
156
202
222
160
238
151
218
211
246
197
146
226
185
276
237
220
274
302
203
179
219
114
214
283
238
217
224
308
188
203
260
233
192
227
182
273
203
230
226
309
133
245
269
281
253
181
226
292
248
363
247
214
252
217
190
254
218
222
195
235
205
171
139
159
266
206
238
249
265
249
175
203
232
236
236
235
172
225
126
231
216
206
232
159
226
199
193
247
241
252
154
228
209
180
243
236
202
156
341
243
233
139
195
200
303
308
195
193
225
274
217
227
262
246
238
247
186
184
232
267
234
245
207
161
204
256
192
114
159
260
208
167
195
248
237
208
182
195
214
177
181
251
295
246
286
234
295
239
266
176
254
209
252
243
206
224
169
253
173
205
160
203
204
232
228
234
197
205
233
303
254
284
240
186
260
200
212
186
314
222
147
232
223
212
248
140
219
239
185
332
184
213
282
197
175
165
220
201
227
216
240
114
244
213
212
213
207
189
240
212
299
218
153
231
192
180
141
251
232
170
189
274
274
277
266
261
172
189
249
206
265
152
301
220
258
211
265
133
329
251
223
230
193
235
174
225
326
247
156
262
191
232
240
304
336
254
267
294
262
247
250
185
267
195
200
234
257
174
226
197
242
323
212
266
202
178
278
202
294
198
235
240
203
265
199
327
175
253
246
286
290
214
256
300
164
215
211
300
260
282
181
214
287
214
238
200
200
265
238
265
220
305
215
180
295
236
145
178
215
133
201
144
264
239
219
168
212
213
195
196
228
192
193
293
207
200
247
262
197
242
269
223
198
242
202
301
224
209
251
221
338
146
273
263
219
208
225
271
265
285
152
305
292
223
242
235
192
207
245
206
214
240
259
205
242
245
262
228
243
156
166
180
285
145
305
232
205
206
200
178
292
289
304
189
203
222
275
234
266
223
181
204
175
175
280
277
254
310
220
248
248
325
199
139
114
257
270
199
222
199
261
225
161
180
275
237
234
270
289
248
227
247
227
214
176
232
248
261
199
254
170
313
348
145
239
194
216
225
245
238
300
254
254
275
208
266
268
282
215
214
225
186
201
144
286
223
191
273
114
339
220
209
223
195
306
191
238
235
273
155
274
289
187
351
203
206
184
300
241
212
151
210
219
322
268
195
367
313
197
224
246
200
260
190
286
195
253
186
202
211
228
231
158
193
233
190
183
243
266
227
300
259
294
277
260
259
292
276
266
261
263
256
180
219
253
256
196
229
282
160
246
167
258
145
222
202
270
198
228
214
166
170
264
154
208
240
199
243
238
178
160
220
248
230
237
242
269
270
234
265
195
320
233
247
246
212
227
303
149
180
156
257
230
292
237
217
299
181
240
181
285
186
218
164
250
250
321
234
208
228
219
198
243
255
298
229
189
218
192
225
258
167
219
231
250
220
234
225
225
219
255
156
270
245
227
243
286
169
209
219
250
223
208
257
274
271
254
244
196
250
242
235
334
187
254
155
211
194
217
223
305
213
156
206
190
202
261
200
321
275
145
230
181
248
163
153
214
210
142
275
174
209
186
192
213
185
226
228
190
207
216
278
202
216
282
202
254
231
206
235
266
114
207
208
279
206
263
191
211
249
208
227
178
289
311
253
210
260
198
306
237
255
214
199
268
253
191
262
182
290
159
285
258
192
197
255
277
175
193
295
253
198
212
235
281
335
175
213
232
256
262
239
177
221
221
237
315
307
213
251
204
222
262
250
268
207
213
203
255
270
176
156
269
278
184
244
280
250
221
282
266
235
222
231
116
222
175
289
204
215
168
226
262
176
197
252
200
265
181
205
206
281
198
263
218
285
222
183
204
224
156
217
246
279
243
199
184
180
215
218
234
157
180
247
257
221
220
157
277
218
253
207
235
227
251
234
252
156
234
214
207
239
171
262
253
114
197
189
238
152
254
232
201
250
264
145
168
215
232
239
238
342
198
247
154
291
251
195
194
218
232
186
139
191
227
161
155
206
247
175
249
349
193
151
203
299
253
219
265
263
151
147
214
161
219
281
160
217
181
172
177
146
234
278
195
193
160
212
174
199
252
332
198
216
251
232
167
212
188
197
212
293
205
297
179
241
227
163
250
312
198
191
243
252
235
220
197
182
248
290
186
227
178
212
204
190
195
220
168
183
244
180
219
223
206
157
303
239
270
225
211
313
227
258
195
203
255
250
180
164
197
300
211
285
208
268
193
264
241
242
187
190
252
211
183
188
260
160
213
160
277
226
275
273
226
258
298
219
261
234
269
260
191
252
247
268
195
256
234
188
214
201
282
253
226
209
314
201
244
130
319
283
258
253
165
253
289
114
235
252
240
208
183
290
195
248
211
227
236
239
273
251
252
173
254
256
205
188
228
246
249
228
224
236
218
198
319
165
231
252
224
221
261
256
286
286
334
220
175
226
212
222
265
260
235
238
218
250
264
219
271
188
114
190
246
145
246
281
291
271
191
270
280
306
240
262
176
199
224
193
317
180
318
248
210
231
238
146
170
214
238
221
269
208
173
173
242
228
201
238
255
269
289
154
238
220
276
314
221
206
158
178
200
184
233
227
267
265
224
241
160
182
196
214
227
217
313
263
170
213
179
233
225
207
203
178
213
321
201
246
152
188
177
310
282
223
160
303
234
242
242
175
217
229
232
243
239
241
302
296
282
254
190
277
213
187
257
192
185
287
193
242
280
208
258
257
208
266
211
243
269
231
204
184
207
299
231
249
227
221
199
208
225
165
139
144
173
198
225
200
196
158
293
283
168
177
267
241
220
313
265
149
238
265
220
265
296
216
261
241
240
212
214
318
236
231
200
198
218
220
308
190
229
191
230
272
221
244
235
243
189
284
233
235
229
211
195
215
283
288
215
261
145
203
225
322
246
196
244
126
288
215
197
300
192
206
235
262
205
261
196
324
255
221
108
220
155
225
215
175
141
282
327
220
239
173
206
164
240
310
126
197
158
174
232
229
274
170
248
247
179
233
227
211
216
139
211
223
268
255
175
181
188
173
249
258
272
229
200
200
321
264
249
285
214
207
261
194
199
281
241
248
281
230
284
288
336
154
210
255
242
202
276
247
205
223
269
175
266
249
265
277
262
208
271
234
201
203
230
206
220
286
185
198
216
179
229
206
200
253
193
218
255
215
216
273
191
237
203
216
179
225
282
192
306
229
179
233
249
256
252
238
181
194
157
114
213
289
213
231
192
114
232
238
255
278
229
212
229
161
215
266
290
195
245
163
151
193
243
189
179
161
221
209
226
234
202
351
252
202
220
315
200
185
247
189
226
253
253
224
269
267
262
182
302
264
180
186
199
257
206
247
216
189
157
207
184
246
214
151
197
177
249
245
240
308
217
230
229
259
259
175
219
274
220
192
170
242
224
256
216
214
249
218
230
189
215
187
318
214
306
246
206
180
219
167
192
186
310
158
216
219
288
275
230
275
241
226
241
275
204
231
192
313
238
196
169
249
227
143
213
219
213
314
238
283
114
202
224
192
214
262
181
244
243
236
284
240
252
222
221
179
167
190
192
221
214
203
240
251
283
172
202
226
198
165
230
257
230
187
190
254
237
205
274
230
188
231
211
222
160
191
170
273
170
291
244
266
197
283
176
270
267
162
244
194
213
251
187
126
252
239
277
246
297
300
212
268
255
219
157
253
156
226
211
214
171
246
160
114
274
263
192
281
161
270
287
283
248
222
214
152
200
184
201
181
215
234
286
185
188
229
234
227
259
228
283
199
165
217
222
195
242
252
226
326
193
277
222
181
211
286
234
224
297
251
178
195
205
226
214
240
222
240
260
199
222
197
211
208
233
282
195
261
243
214
229
201
177
201
283
212
297
239
195
263
323
232
177
203
247
177
255
233
193
269
306
201
309
248
229
180
149
231
213
259
114
245
126
176
333
114
223
160
207
158
207
278
211
277
139
245
228
173
253
256
177
223
171
184
271
222
195
227
201
202
252
269
258
252
198
195
202
268
200
242
229
227
145
186
178
289
172
250
227
277
262
167
156
204
191
250
222
310
208
182
254
271
194
209
183
217
226
191
214
293
218
334
279
283
194
212
170
231
230
234
239
221
192
221
116
114
297
233
279
186
187
144
312
236
285
227
197
235
270
237
214
192
221
160
277
165
254
273
283
223
256
240
212
276
297
236
232
244
298
273
184
286
231
243
213
327
173
209
151
171
205
148
259
268
286
210
237
261
189
234
122
223
233
283
160
263
329
168
173
198
149
216
170
233
276
151
205
215
223
303
273
256
317
313
289
205
209
181
305
174
236
282
208
243
293
142
321
275
195
221
269
192
205
247
244
207
191
226
197
254
260
301
170
177
209
152
189
237
246
219
267
253
291
252
228
274
235
273
170
262
272
157
245
266
200
265
249
269
173
251
258
154
282
280
238
154
159
242
225
293
216
227
192
252
218
253
255
283
139
231
242
279
202
244
227
210
160
169
192
154
202
310
298
255
237
154
236
178
225
318
179
302
202
192
254
207
229
189
196
202
342
217
252
171
199
199
243
212
154
168
253
184
203
230
230
224
183
231
223
202
257
241
313
234
188
243
233
186
236
250
269
250
232
160
215
167
174
238
239
236
252
226
197
314
257
247
196
242
174
244
189
203
192
252
182
218
172
244
223
254
266
211
149
269
235
241
182
191
224
256
351
259
328
195
269
221
126
178
212
251
203
221
246
280
228
295
214
256
174
176
189
280
193
190
284
277
293
189
220
222
189
315
209
266
219
294
208
229
181
250
169
273
114
224
227
226
234
202
268
214
202
299
170
227
246
296
208
228
172
206
272
164
181
253
218
278
232
243
233
195
235
173
240
261
232
241
209
198
259
186
244
232
175
198
160
190
253
126
235
180
145
244
198
262
258
231
170
193
247
196
173
309
214
184
203
190
268
241
229
205
234
200
242
249
195
151
175
156
194
196
187
210
262
176
155
203
257
114
213
177
172
246
206
212
189
227
238
260
214
170
233
333
181
203
137
217
199
326
179
273
209
114
152
263
299
228
231
196
282
180
163
114
189
201
216
197
213
205
283
186
259
266
272
238
189
182
292
156
208
161
356
240
221
252
184
199
194
247
285
263
221
218
195
187
231
238
212
244
189
248
214
244
256
244
213
198
175
182
196
170
181
204
147
152
212
160
221
248
229
114
225
222
170
263
246
261
306
149
242
246
181
182
169
176
183
181
252
253
219
210
220
205
214
169
231
181
159
191
190
211
216
247
178
233
243
265
261
228
237
174
245
220
156
314
248
254
273
174
161
239
170
161
114
192
241
197
244
201
194
244
193
202
239
197
250
250
280
239
194
238
184
192
159
146
247
226
213
128
254
257
213
204
220
187
155
211
167
196
151
114
303
221
240
271
171
188
234
192
324
226
234
230
216
303
267
241
179
306
215
237
177
167
247
251
267
174
259
267
220
156
232
218
290
146
283
215
189
108
233
212
245
258
237
202
183
173
190
235
228
249
229
231
248
192
219
151
146
189
185
185
222
226
222
200
260
114
260
255
260
294
285
259
189
265
266
157
219
242
198
260
219
235
162
181
181
335
207
287
177
174
215
232
184
261
298
233
160
251
227
259
214
252
215
241
311
233
151
208
268
259
229
231
208
201
261
196
225
264
232
282
300
297
224
157
175
121
282
254
289
180
261
232
221
233
242
193
210
244
217
224
221
234
184
161
247
227
263
192
206
278
247
170
308
157
232
210
231
208
212
207
114
278
264
139
252
241
221
233
205
214
210
207
243
221
152
169
216
196
236
171
237
260
161
178
315
229
263
198
154
164
180
277
240
222
272
178
201
285
297
192
304
275
315
318
202
202
202
201
198
233
219
181
247
214
215
244
204
214
257
259
301
175
208
213
375
237
294
198
200
324
287
152
151
274
267
278
209
178
171
187
244
159
214
200
280
232
183
182
285
153
198
174
160
247
190
192
168
276
242
197
288
276
209
230
170
249
223
160
223
239
277
219
250
230
203
215
221
286
235
286
187
122
241
216
305
211
181
185
228
229
244
236
154
281
199
274
307
261
258
159
284
224
249
227
195
270
262
184
240
249
325
217
230
281
318
218
168
224
236
255
236
225
292
185
193
219
235
306
211
162
214
203
316
287
213
249
238
196
191
231
238
232
228
114
274
181
190
213
208
202
196
214
260
237
172
226
229
260
234
156
206
277
170
147
191
184
240
106
253
213
235
252
245
291
243
249
237
208
224
240
178
192
298
196
218
237
181
177
312
181
156
273
266
203
291
253
260
289
227
193
195
295
296
192
321
225
205
301
208
210
307
174
192
210
184
193
181
180
156
173
237
237
178
282
238
244
219
234
178
259
263
237
212
300
214
264
243
271
205
271
211
220
271
172
258
187
256
241
363
161
217
214
285
261
116
216
247
222
305
247
207
165
222
200
281
175
221
226
151
226
240
248
211
256
295
240
128
178
220
292
266
251
274
251
368
190
255
158
240
193
285
253
339
239
255
221
255
223
346
269
236
259
215
202
160
198
193
234
174
238
260
289
273
215
177
156
143
198
265
122
225
212
220
279
195
229
319
280
188
275
249
249
263
211
226
276
162
209
258
254
234
253
282
261
306
166
274
316
239
114
154
282
207
233
169
221
218
199
225
292
216
220
160
223
270
225
247
242
277
236
126
260
289
202
252
215
236
162
202
214
172
191
231
180
180
222
193
232
215
222
175
271
289
285
254
157
205
238
246
270
149
173
289
358
249
255
220
264
176
194
278
210
241
255
228
252
198
188
170
258
294
205
186
184
164
288
203
114
192
236
196
219
208
192
208
199
190
254
255
249
260
245
204
199
261
229
198
198
238
239
173
168
251
210
228
160
206
226
258
215
181
258
298
207
185
207
181
196
165
262
215
182
240
215
274
170
225
173
247
215
269
222
276
106
267
259
268
247
228
211
209
268
235
321
293
197
253
202
206
195
240
224
187
238
299
241
225
183
185
249
233
178
217
208
196
238
134
259
177
114
151
236
195
246
208
165
209
191
154
280
205
262
254
246
251
274
224
245
232
156
175
187
239
334
162
228
191
190
259
259
180
329
303
263
194
196
234
306
160
194
297
200
278
230
268
198
222
215
258
230
212
218
214
194
274
242
303
151
129
246
238
244
114
173
221
265
247
195
114
216
144
278
201
227
245
217
195
259
313
219
216
197
253
178
283
170
198
234
178
259
236
205
211
227
229
217
216
207
245
222
209
265
238
152
234
281
196
238
214
211
289
227
250
242
270
219
261
259
151
293
219
209
241
209
229
192
248
266
259
222
223
217
215
250
228
219
229
300
195
144
219
208
139
215
185
208
168
157
281
264
212
114
214
281
196
315
176
232
220
181
192
249
250
234
317
211
246
273
228
280
302
177
239
192
245
234
184
205
215
167
166
199
216
286
260
214
195
212
278
191
255
240
182
246
156
223
184
288
226
202
200
232
209
267
231
198
209
159
243
219
249
192
223
219
248
205
247
149
108
198
139
207
249
180
198
244
201
244
216
174
179
271
166
269
218
173
211
236
258
280
174
116
161
175
145
203
192
217
240
159
219
257
114
234
241
243
257
271
193
161
233
220
203
225
278
145
214
262
266
259
216
189
192
243
211
245
329
201
270
251
297
229
167
280
240
199
203
221
198
205
279
272
207
154
260
223
189
238
208
214
211
173
203
252
133
145
265
177
225
206
211
170
262
199
190
160
188
191
255
212
126
230
253
206
228
178
224
218
254
198
253
255
233
273
233
233
245
218
208
230
277
218
218
340
229
225
227
330
184
256
153
212
210
215
316
189
248
231
227
208
171
149
114
247
266
244
238
175
250
194
219
222
147
213
254
278
241
260
286
228
192
206
173
226
201
209
114
290
218
266
191
241
189
287
225
177
233
220
323
211
263
187
296
211
248
259
215
220
290
203
266
304
288
189
199
247
181
265
241
300
206
218
219
246
202
192
301
247
257
195
210
296
237
145
231
194
202
285
240
197
231
195
219
220
271
217
282
270
191
229
205
209
181
153
285
196
201
170
190
170
248
219
268
139
186
186
213
221
240
133
319
211
280
214
285
279
215
271
179
199
255
234
202
227
238
166
311
227
242
216
254
222
210
262
235
217
249
165
253
225
192
248
221
195
272
243
139
269
173
245
207
213
284
247
187
189
220
218
250
247
189
189
304
218
220
193
219
192
244
309
182
156
255
193
246
217
341
218
114
252
192
241
218
197
156
278
230
228
206
292
261
277
207
266
301
165
241
207
238
234
223
271
173
267
311
201
232
201
220
184
231
224
151
266
266
246
277
225
232
206
219
196
234
300
252
237
247
158
213
189
220
195
241
241
204
311
209
280
232
284
237
181
223
164
273
260
130
193
329
227
223
197
232
238
201
196
265
298
255
213
196
248
217
227
239
202
160
188
208
197
204
239
262
192
175
214
243
202
208
254
173
178
171
218
205
251
294
205
126
222
187
191
176
177
302
243
199
185
236
297
227
222
173
209
160
240
309
184
249
198
259
144
185
193
190
266
209
233
214
217
173
242
262
267
289
193
180
180
160
198
279
244
260
206
249
221
236
162
234
355
225
180
199
192
273
169
241
165
261
173
226
189
139
273
229
181
204
208
171
213
242
273
169
231
311
283
222
212
268
174
240
191
240
231
316
239
268
225
173
218
354
275
186
245
234
305
271
188
126
180
252
246
232
288
311
208
214
227
235
199
314
261
224
209
257
209
195
319
211
202
262
253
233
170
278
208
214
224
288
257
254
242
175
166
152
264
175
206
151
192
210
227
210
240
190
274
292
114
198
194
261
216
198
222
232
249
214
216
204
203
249
175
256
310
172
145
243
220
275
179
277
189
143
231
340
242
185
220
191
257
262
278
154
269
196
237
175
158
186
235
237
275
217
282
260
190
319
222
310
169
186
264
146
146
235
267
192
200
198
211
256
194
220
199
194
179
236
190
254
280
195
278
227
319
291
323
271
271
285
114
310
314
202
243
276
204
233
183
173
222
194
249
259
212
276
244
202
267
178
221
228
219
201
189
168
165
314
219
224
238
204
201
207
264
244
195
201
215
251
222
189
191
294
212
173
297
224
224
211
214
214
219
215
213
242
265
235
180
198
250
236
169
151
200
198
268
208
235
241
233
149
297
154
265
195
240
229
210
221
237
210
232
191
194
222
168
252
292
151
287
216
235
241
208
198
158
204
205
201
246
247
258
161
279
231
277
275
228
198
259
219
300
265
289
245
326
227
217
167
280
264
234
195
164
324
275
309
306
223
163
219
217
237
191
325
211
202
192
350
212
252
176
227
126
234
168
208
248
255
182
200
173
234
184
202
324
231
116
195
285
194
195
114
164
192
277
237
164
302
259
208
230
211
198
199
234
206
205
172
182
156
254
211
260
179
229
233
221
208
153
282
294
194
222
166
283
196
195
272
211
246
289
195
195
181
229
223
250
170
158
306
205
196
226
232
235
166
369
260
224
278
261
181
193
256
250
150
310
198
228
168
237
207
156
205
209
270
277
284
194
237
108
257
266
216
239
263
288
218
183
283
199
244
228
165
217
276
228
223
214
235
215
193
240
256
217
207
237
201
276
189
225
239
279
126
246
238
214
273
341
210
351
182
274
223
268
163
273
219
269
255
273
257
275
267
227
186
267
200
271
236
284
215
208
206
218
225
259
241
244
252
281
316
229
260
263
189
214
114
258
248
252
245
270
212
180
220
291
219
180
232
151
272
214
278
301
262
215
260
170
260
243
190
171
144
268
151
198
337
203
294
264
290
195
223
267
189
189
248
265
233
294
187
155
213
271
249
329
227
220
229
204
178
233
230
216
130
216
251
272
244
192
319
236
248
218
226
184
197
230
234
227
284
262
198
232
200
188
251
203
219
175
277
209
248
192
277
158
146
251
298
164
137
242
209
186
239
188
234
258
216
182
225
178
210
251
254
197
191
243
186
190
229
311
227
241
229
264
271
219
220
182
174
160
259
338
192
241
186
300
116
248
169
177
204
184
239
260
195
246
266
248
210
181
293
175
185
222
239
301
211
209
190
237
358
213
179
199
170
251
176
257
288
196
271
214
279
221
274
213
279
150
283
205
200
209
290
234
270
228
209
226
207
288
156
205
259
271
165
215
256
346
304
178
163
152
219
278
221
198
253
195
292
283
229
313
266
256
173
189
222
237
202
239
193
199
254
230
164
341
159
201
227
280
231
200
266
245
180
194
220
238
218
272
243
225
234
250
250
178
282
262
225
235
193
198
227
157
223
228
256
175
277
256
249
280
217
208
225
170
204
234
222
267
276
255
187
213
173
216
249
281
344
114
218
258
196
238
175
231
208
255
297
223
175
281
185
296
114
180
185
303
306
250
199
201
228
204
279
209
227
261
191
235
165
228
215
198
233
270
139
304
183
200
209
216
253
173
309
216
200
126
211
232
253
250
191
168
154
277
186
257
195
276
266
184
261
233
213
297
269
242
129
200
321
181
211
272
213
141
238
212
222
252
223
270
203
269
213
277
196
194
231
278
219
204
261
254
233
198
251
268
199
179
265
194
203
212
273
253
212
322
218
260
193
197
309
233
242
170
230
367
257
196
216
299
184
261
190
173
237
248
215
275
247
225
200
266
151
234
251
195
204
211
242
169
191
351
219
185
212
196
226
178
187
218
192
334
266
187
281
213
247
273
174
207
243
263
152
257
205
306
173
220
200
259
293
310
175
246
198
114
217
178
126
257
250
156
214
201
277
363
237
163
211
236
189
208
221
219
291
268
212
216
179
180
227
245
237
220
220
182
177
301
206
305
314
209
167
218
248
167
217
168
186
157
206
266
191
227
177
196
252
230
201
218
268
188
253
189
318
184
231
224
245
248
287
139
219
301
170
159
231
248
203
210
284
188
261
197
218
274
234
258
263
197
275
285
309
239
278
191
182
228
240
114
320
198
245
205
200
229
270
220
228
186
275
260
285
267
316
240
231
272
178
214
243
246
311
171
188
206
220
246
304
207
320
183
193
193
251
213
210
286
289
288
174
252
196
317
281
186
287
262
198
302
144
173
232
237
202
231
230
236
265
171
259
317
207
267
196
155
230
158
234
229
188
208
227
276
209
208
249
251
279
248
179
217
282
225
219
278
173
228
277
243
192
264
173
231
209
214
288
158
321
234
220
140
253
222
194
185
203
182
225
209
247
294
196
195
244
240
269
183
209
224
214
155
201
233
251
209
204
256
181
227
180
195
197
267
235
192
304
227
272
261
164
257
234
255
306
218
152
182
171
265
185
259
256
241
228
203
213
218
195
252
208
306
174
184
253
239
184
217
222
237
251
156
196
176
199
116
170
186
201
201
274
212
202
145
235
253
175
202
233
227
202
190
256
232
242
241
166
304
247
246
199
189
263
170
223
220
216
114
176
282
249
225
156
307
152
219
234
266
245
225
235
233
188
273
186
257
165
201
211
254
224
229
261
267
262
222
260
179
192
161
236
204
186
255
200
259
239
274
310
194
267
176
178
178
180
204
195
313
269
298
167
224
163
160
307
292
341
281
286
191
215
235
173
238
169
210
243
281
235
179
308
274
293
235
307
154
176
260
161
262
276
197
200
240
233
272
210
172
197
267
283
122
196
272
180
269
205
251
195
273
277
201
204
203
201
192
282
248
210
222
230
222
220
242
311
237
169
160
240
206
261
259
228
222
236
245
196
145
294
214
194
243
170
197
168
187
197
196
173
196
197
232
192
241
237
177
216
194
169
178
177
266
268
175
260
237
214
221
259
230
258
245
304
219
216
253
222
212
211
224
153
200
237
272
223
266
229
250
247
180
253
206
200
156
324
197
230
267
183
188
233
177
211
178
232
156
165
158
212
178
277
158
258
265
198
226
294
236
252
250
244
284
149
229
172
170
243
172
208
194
146
265
114
215
278
239
170
225
187
128
181
300
222
210
223
213
268
329
217
248
251
283
210
244
186
241
181
252
196
224
204
247
191
290
175
189
251
205
165
266
215
237
196
182
179
173
173
208
236
249
206
244
238
322
225
207
234
199
271
164
266
255
196
276
169
260
209
231
156
204
228
196
203
165
318
204
250
229
174
160
154
263
194
224
236
106
330
267
195
164
187
244
250
178
200
139
179
202
215
207
261
168
162
258
265
295
215
267
203
262
240
248
245
216
255
139
236
199
231
221
212
210
196
159
240
273
230
315
228
243
215
311
231
284
293
228
242
221
220
245
274
279
225
151
205
260
172
212
241
171
229
258
171
186
231
192
211
238
183
156
265
267
215
208
232
198
246
225
252
237
205
165
210
239
152
218
215
190
114
146
168
287
265
240
227
208
239
160
232
254
271
164
129
199
297
281
262
262
220
211
262
147
197
202
160
209
254
185
297
230
178
173
185
229
312
208
192
206
215
196
194
237
379
252
200
192
178
199
263
215
227
239
168
167
180
222
220
243
309
295
253
183
267
226
221
305
309
333
192
219
192
212
242
231
160
216
180
274
226
290
293
270
241
213
209
324
220
198
139
229
312
179
240
262
237
206
184
152
283
252
194
214
130
238
208
157
273
266
220
260
266
284
239
243
200
206
194
233
212
286
230
285
146
220
265
224
212
229
206
188
190
270
279
147
198
169
209
249
247
202
278
241
133
178
173
258
261
274
217
242
267
241
202
323
285
160
198
190
234
243
349
251
255
266
192
236
191
266
218
151
251
205
182
239
205
220
219
198
212
176
221
156
223
269
255
182
174
290
224
234
207
259
226
177
207
223
174
269
129
227
214
261
209
206
190
201
224
240
259
250
261
193
195
279
230
207
192
177
161
180
224
218
205
218
249
273
202
209
263
171
243
210
253
239
228
218
174
307
264
285
198
152
286
188
178
256
173
243
278
217
130
267
209
130
193
270
157
162
189
309
191
214
222
230
235
253
203
270
258
202
183
204
293
206
177
171
279
214
233
223
216
189
306
268
268
151
222
215
260
166
240
199
199
218
247
229
193
250
255
273
178
234
284
250
241
114
114
216
298
311
296
253
263
295
257
206
174
211
185
246
193
207
261
275
203
198
224
147
238
301
186
243
245
235
253
139
259
289
262
243
174
225
196
235
190
114
197
215
307
210
228
244
201
238
196
233
280
229
182
252
243
288
234
282
152
180
243
229
293
176
194
252
215
262
146
182
214
256
180
276
230
224
246
294
221
219
224
151
250
160
234
193
286
154
106
178
248
198
305
200
202
198
217
267
247
246
146
300
162
205
252
248
242
227
262
238
209
276
232
197
241
243
221
289
217
217
259
255
243
187
214
152
173
205
183
214
223
229
178
274
302
161
293
195
296
240
275
209
228
210
361
209
205
226
149
237
148
239
221
234
260
161
214
179
210
298
220
214
221
234
114
149
278
302
213
207
320
230
197
196
216
206
114
145
170
273
194
320
168
114
220
244
284
146
184
232
227
282
198
246
217
229
258
160
246
248
256
188
198
269
238
266
224
149
218
273
221
210
238
233
357
221
286
249
228
178
246
237
232
200
238
295
259
178
106
232
263
306
183
158
114
199
272
171
214
270
215
210
251
242
121
225
289
318
271
208
252
240
194
186
196
244
304
298
217
251
256
181
213
293
215
190
315
206
187
258
295
196
248
359
250
268
214
178
240
198
235
149
250
245
213
248
269
233
198
283
198
235
257
229
205
307
211
195
181
151
230
244
267
242
205
198
185
261
202
294
238
244
249
249
240
209
263
267
114
177
250
305
228
263
252
226
186
231
266
225
254
192
241
261
295
283
246
161
269
229
231
240
173
126
247
151
248
252
229
265
245
242
327
279
229
214
302
273
277
210
188
276
156
280
214
243
214
225
198
237
220
208
297
255
303
114
205
206
202
249
205
234
155
275
149
284
209
247
242
233
332
208
139
217
216
234
227
225
243
236
251
247
271
248
157
185
219
183
286
310
207
318
218
178
108
158
225
236
233
255
185
186
210
170
270
299
244
278
235
250
314
240
218
227
299
270
160
190
228
282
175
250
233
299
223
208
242
241
228
222
260
259
212
186
155
277
215
211
173
173
211
203
250
202
320
255
325
309
170
217
308
209
256
207
237
262
217
193
160
251
152
245
247
164
256
229
152
309
213
301
114
270
289
309
252
168
252
219
234
223
326
304
204
288
207
235
198
186
161
220
241
183
225
164
244
286
221
241
157
139
252
188
235
114
261
263
147
238
288
271
274
235
283
179
257
148
225
233
229
254
146
114
179
315
264
278
294
209
265
260
165
344
237
255
235
216
276
244
315
232
325
242
256
184
160
193
229
276
281
236
183
206
269
220
243
166
267
230
262
299
222
260
269
164
185
160
209
201
168
242
192
170
210
231
208
191
156
164
241
197
258
193
260
243
274
212
331
263
217
227
190
231
269
260
179
249
188
256
292
251
350
246
191
252
270
254
242
121
200
175
173
170
114
262
262
281
283
241
178
186
160
331
160
213
239
189
258
217
223
267
296
305
247
267
219
204
218
261
203
225
228
229
313
126
224
273
203
204
203
202
242
249
217
234
195
259
169
305
257
190
265
160
245
275
287
172
260
234
262
178
208
253
282
246
160
262
259
191
223
238
226
215
223
258
205
170
126
130
248
222
192
247
286
198
275
263
181
229
233
154
225
270
211
282
222
279
204
161
178
253
200
151
239
160
262
178
281
166
287
305
275
197
221
290
185
203
288
236
322
250
227
284
225
247
262
170
214
196
251
169
170
262
207
277
256
206
204
170
225
253
175
306
146
170
235
173
224
220
139
276
207
183
291
225
325
158
179
174
194
186
189
259
205
193
227
299
214
218
164
221
297
253
182
294
202
169
204
234
235
226
179
295
279
243
229
226
139
240
352
188
156
146
244
292
233
228
209
259
197
314
114
160
241
331
243
232
225
238
341
255
265
226
168
236
189
244
263
225
237
209
220
213
236
225
349
215
214
201
222
265
269
221
230
215
220
185
190
197
114
190
291
230
238
198
288
230
223
196
301
321
193
234
297
211
212
194
195
218
192
226
227
164
258
309
266
246
197
161
271
182
296
236
226
218
210
186
262
285
240
233
216
245
170
151
212
212
291
108
174
207
266
325
266
108
196
283
180
238
258
222
167
170
249
151
267
254
237
268
265
249
160
198
225
238
238
205
235
211
192
192
164
338
259
220
237
273
225
204
243
202
210
197
198
231
228
182
234
242
175
197
235
210
293
208
195
198
275
250
188
201
234
258
200
174
304
252
177
156
263
144
195
168
198
260
257
186
289
238
233
227
129
253
289
245
278
176
208
227
201
256
260
255
169
228
206
226
164
188
220
216
176
295
213
270
205
252
287
233
238
191
250
275
207
253
322
293
181
216
178
173
209
126
243
194
196
294
306
200
268
168
276
248
212
176
289
217
214
236
183
222
179
300
247
268
246
225
192
229
256
187
220
242
271
238
268
173
207
237
195
259
181
185
260
211
212
228
234
253
271
252
176
186
242
211
250
126
259
175
180
177
213
226
179
195
232
203
225
191
349
282
222
246
220
172
146
216
277
255
185
212
178
253
258
238
114
146
244
193
250
184
198
355
236
265
216
220
212
186
246
337
247
264
179
235
258
151
155
229
209
205
237
197
290
297
285
116
139
214
232
198
221
232
267
227
238
288
201
188
224
252
210
205
183
242
263
179
192
263
262
206
228
224
230
195
229
269
242
216
282
228
163
200
220
248
159
236
196
269
215
160
227
210
223
249
126
261
255
214
265
225
204
236
216
258
256
291
290
289
280
281
190
257
257
171
319
245
223
157
258
246
272
327
208
240
222
223
230
156
252
275
281
234
206
249
243
203
241
236
267
237
176
225
181
198
151
279
217
194
199
175
284
212
292
188
252
279
237
144
287
299
235
184
206
187
301
261
186
233
202
192
237
285
181
240
178
220
158
240
114
202
259
229
210
231
195
170
267
160
227
208
268
231
230
173
148
270
221
230
156
196
195
172
212
175
218
185
268
167
156
214
243
207
182
255
264
233
167
188
221
202
252
187
185
266
200
211
233
253
234
190
253
191
226
300
216
238
217
208
236
275
205
171
276
243
236
198
200
203
227
187
287
260
153
262
217
221
185
280
249
168
304
149
232
257
240
244
323
186
258
183
208
170
261
193
259
226
280
237
242
249
205
263
238
219
263
275
211
269
213
151
306
206
215
216
184
290
213
237
227
336
207
218
211
184
184
262
227
176
256
258
200
282
218
238
244
181
194
262
258
278
185
281
193
181
121
178
180
184
344
192
218
221
220
240
215
226
139
208
194
249
218
151
238
201
164
283
221
250
238
206
184
299
220
226
229
161
173
194
239
216
258
229
218
167
231
201
290
240
301
180
212
273
273
220
263
160
257
156
225
114
323
161
214
218
271
173
207
204
299
213
199
170
218
233
235
292
199
184
221
240
204
216
225
299
269
319
227
232
230
200
207
218
223
275
190
273
221
259
246
254
148
250
238
162
286
161
184
223
258
270
216
226
196
229
286
255
281
250
368
212
204
286
222
198
220
263
250
216
249
197
262
238
219
221
259
187
269
188
130
211
215
219
183
188
289
189
202
159
266
194
148
210
247
295
296
160
233
265
126
167
202
231
302
217
236
184
167
295
198
204
206
180
241
149
202
221
223
246
277
213
226
233
212
248
209
189
258
184
306
185
227
230
220
330
226
147
246
232
152
289
235
284
202
252
263
231
238
223
236
230
214
221
194
242
222
206
218
274
205
216
231
229
304
193
231
254
215
192
371
267
311
230
269
291
174
246
241
165
205
224
273
209
156
170
203
262
257
173
226
235
199
148
153
241
196
264
301
275
158
244
249
151
208
304
208
157
200
275
178
144
231
269
191
238
227
285
236
213
215
214
177
246
237
247
233
252
248
282
231
217
108
147
321
214
282
224
250
167
229
177
173
211
204
239
248
256
292
208
203
300
262
246
314
214
216
180
238
261
300
237
231
221
253
240
202
268
201
166
271
248
239
229
221
219
319
194
291
301
191
319
177
248
171
229
249
274
146
309
170
216
258
241
295
314
304
293
165
200
203
174
290
232
223
273
273
188
221
213
231
230
106
226
252
199
171
293
293
154
306
278
210
234
277
126
250
200
252
207
200
195
223
226
195
184
180
129
189
238
278
210
272
273
220
256
217
241
303
204
160
253
197
174
235
114
199
152
249
266
157
155
205
229
203
242
183
233
249
216
205
198
269
206
146
250
229
181
257
205
191
147
224
188
160
259
161
210
214
241
201
252
211
280
257
272
191
223
243
292
266
318
196
223
240
265
192
246
216
273
178
192
252
250
285
218
114
253
160
241
219
323
287
265
241
222
240
239
203
288
161
232
236
244
232
193
224
288
175
230
130
223
163
210
206
214
270
165
220
260
168
168
262
180
175
249
159
219
239
208
219
159
163
213
151
234
212
191
220
185
214
191
238
211
188
164
231
295
114
255
259
244
145
247
238
227
239
254
280
221
176
171
228
238
225
206
228
192
256
195
198
260
279
147
194
236
169
173
254
232
178
144
231
175
252
166
253
235
199
188
178
270
151
208
207
261
217
218
219
234
145
273
173
167
187
240
230
202
334
208
218
189
235
269
182
199
298
345
187
242
225
248
178
256
254
182
224
185
203
222
245
177
151
181
245
181
215
193
268
214
216
196
256
222
275
208
256
298
236
239
128
254
160
238
225
180
226
133
258
244
259
228
337
219
180
174
286
182
293
277
277
207
232
222
211
200
219
287
273
175
174
270
280
219
207
177
245
276
165
231
215
155
233
260
195
230
186
156
173
357
351
170
273
280
167
194
224
238
254
179
252
217
121
148
184
221
173
114
161
178
192
194
310
225
186
178
170
240
258
187
187
277
274
234
187
220
202
206
207
216
241
219
248
214
255
220
223
234
301
195
226
241
230
258
312
251
156
219
216
217
220
368
211
313
238
192
231
241
175
183
360
242
171
236
202
114
208
147
228
231
253
192
273
139
218
235
201
231
206
219
165
195
222
300
272
207
179
211
246
219
233
258
219
240
229
204
251
121
174
172
240
190
192
190
217
232
270
296
241
230
202
246
217
175
258
209
261
145
311
189
215
243
199
214
160
272
161
189
233
217
231
229
250
194
156
256
162
215
212
255
262
256
177
284
193
242
145
192
234
306
226
230
261
236
208
190
207
171
191
232
262
251
323
244
297
226
178
193
195
266
180
275
181
256
116
278
196
281
206
227
184
239
189
197
275
224
235
262
245
232
231
267
208
187
213
249
254
219
246
261
138
243
218
299
214
206
184
306
174
216
237
266
180
202
240
168
231
175
238
159
275
264
239
224
222
195
203
257
247
266
245
220
249
288
219
206
279
210
220
244
191
246
266
212
251
151
181
192
247
218
304
209
292
253
250
206
288
256
174
220
263
214
178
290
260
114
231
207
270
149
312
126
231
179
260
286
187
240
250
177
139
202
208
234
232
247
311
215
181
341
281
219
213
165
252
215
257
233
184
220
196
269
284
263
206
218
172
249
186
196
174
188
267
212
210
208
230
349
180
217
207
265
194
253
242
319
238
258
208
193
166
240
260
287
182
172
192
227
261
139
223
210
180
239
266
227
261
270
291
222
304
287
264
201
144
214
173
217
268
219
296
114
218
341
286
170
230
238
273
178
242
226
194
326
229
240
154
222
178
217
302
198
277
268
245
178
197
208
296
299
170
175
331
202
263
207
250
274
207
191
151
280
198
266
212
149
201
185
139
254
339
229
209
114
230
246
237
152
108
262
207
296
245
237
160
265
183
212
175
233
152
213
219
179
190
171
277
152
254
238
306
236
204
180
261
182
222
186
285
211
181
236
300
276
345
230
158
258
250
145
184
166
184
191
235
231
232
202
242
218
284
137
248
214
218
211
210
215
194
204
237
272
256
259
337
261
246
255
292
250
226
167
184
225
216
253
204
258
152
193
161
219
237
190
216
211
203
239
253
170
229
266
204
177
268
206
178
258
282
280
209
261
241
154
241
160
122
294
199
255
203
223
207
221
257
327
221
236
274
230
284
253
197
192
237
204
225
215
186
180
229
196
225
217
369
235
229
212
195
166
180
216
229
197
206
179
300
202
251
293
230
230
240
223
203
227
247
166
241
275
211
217
175
201
194
173
216
251
184
176
178
197
204
246
224
259
194
297
126
218
156
209
206
247
196
240
179
225
217
297
180
150
179
234
197
228
215
210
159
150
198
258
265
128
215
290
180
192
167
219
159
162
233
258
228
161
290
298
275
233
239
246
194
252
217
218
203
237
225
246
200
170
137
251
280
218
210
220
174
291
229
281
156
210
246
200
186
184
229
247
318
242
194
264
160
277
223
250
116
254
175
212
204
238
225
305
184
168
244
178
297
215
247
229
216
218
215
266
234
298
205
319
225
223
304
217
285
164
276
247
173
147
156
197
315
226
263
235
203
159
208
261
206
195
295
168
231
254
173
254
218
246
234
219
228
167
240
287
247
200
248
212
174
224
167
193
163
235
269
219
292
158
246
313
265
179
289
202
186
197
303
239
198
236
235
200
210
200
194
228
222
128
218
173
248
181
201
224
274
325
237
187
249
290
114
180
198
199
216
169
273
173
238
266
240
241
184
207
218
274
274
289
222
213
293
221
300
245
251
298
277
253
285
244
162
295
262
253
180
171
173
239
206
290
214
227
235
158
255
114
300
215
287
225
203
284
165
192
198
196
174
145
193
234
262
175
235
209
236
198
294
206
225
196
208
191
246
279
257
326
230
252
190
241
214
229
209
237
299
187
216
226
136
114
200
197
195
244
229
246
214
242
289
227
253
248
267
223
263
256
217
243
206
236
168
247
308
258
254
210
283
306
192
216
223
222
246
192
198
235
196
223
227
144
243
194
275
160
206
227
221
130
282
157
218
114
263
277
269
210
195
277
199
234
307
165
288
195
161
298
175
274
186
200
199
191
239
175
252
272
210
219
182
191
195
251
218
209
237
257
283
181
267
220
254
188
291
242
194
279
285
219
202
205
195
209
294
244
204
203
213
189
285
249
237
234
245
148
214
219
251
253
240
194
214
283
210
239
269
226
203
222
241
274
178
229
281
267
256
240
185
188
253
261
244
193
234
166
196
250
209
116
191
167
318
206
205
224
259
267
166
227
241
189
279
204
219
208
244
228
238
194
278
301
200
263
211
211
241
219
240
192
207
175
151
283
215
264
247
328
194
200
217
192
189
187
177
265
160
218
261
156
197
198
198
207
314
211
234
267
204
169
287
179
181
215
258
155
235
281
200
273
216
170
245
207
203
292
263
259
281
209
224
200
270
160
195
189
268
203
165
174
255
198
258
292
210
268
271
216
318
171
199
181
201
177
176
336
266
206
200
184
254
246
246
274
219
220
217
249
177
211
211
151
327
227
245
261
251
234
260
287
284
199
251
226
174
223
257
253
219
240
171
207
241
275
195
183
313
185
202
258
290
170
234
245
219
277
242
202
264
286
147
241
190
235
282
218
289
247
160
178
248
299
195
232
209
202
261
221
181
237
233
223
227
213
167
180
167
221
156
204
223
276
264
157
214
194
270
281
375
231
168
249
225
246
228
238
204
192
191
221
189
247
222
159
288
178
161
168
199
233
233
230
301
195
192
300
282
215
234
206
213
297
222
227
266
161
232
261
240
196
210
237
210
269
258
205
186
199
206
198
222
225
251
234
211
183
200
196
269
198
203
273
298
261
217
215
199
354
225
255
217
229
271
195
201
170
191
176
188
175
192
251
114
215
353
269
248
241
214
208
200
248
221
178
247
158
212
355
200
245
245
170
214
261
199
173
224
269
283
183
222
239
246
221
253
218
179
170
223
188
179
261
333
296
233
200
287
298
222
220
226
252
192
183
238
250
196
339
145
244
289
130
235
211
212
180
244
178
147
198
357
229
233
160
221
114
224
197
244
240
265
229
180
211
203
198
192
227
355
160
210
283
265
157
239
220
209
244
300
194
230
207
175
208
296
256
181
220
271
246
257
226
245
232
173
108
272
233
170
154
226
226
260
215
202
192
187
210
249
196
279
242
250
279
303
224
173
267
181
199
339
242
228
214
218
249
157
190
225
197
282
266
260
201
175
222
211
213
194
270
174
175
235
197
219
247
256
254
245
285
242
241
233
253
278
234
199
190
263
171
160
309
232
144
223
354
204
201
262
282
238
213
244
217
211
234
301
222
307
256
201
173
209
264
237
294
220
189
266
121
114
196
178
204
160
231
252
207
243
226
233
182
244
176
211
267
250
308
317
192
283
212
194
191
268
234
261
301
219
225
164
195
268
326
237
222
215
192
257
178
266
171
212
208
184
185
257
233
179
234
275
239
251
233
209
227
302
307
209
166
170
264
276
233
195
222
200
266
231
265
184
192
227
221
179
258
184
173
194
221
229
184
277
182
295
255
257
170
221
230
187
190
198
243
211
208
267
268
222
189
236
267
217
195
234
229
222
206
255
147
265
247
302
144
337
169
342
256
231
180
222
216
180
226
242
195
261
166
229
322
248
145
126
239
267
309
244
214
198
180
186
234
310
248
215
255
309
239
248
216
183
271
265
181
239
213
228
241
242
303
203
247
202
205
206
222
273
241
301
266
236
208
196
256
188
195
231
271
256
215
176
221
275
232
241
178
211
178
294
299
133
114
137
251
201
278
121
286
278
260
235
234
219
267
222
195
224
194
198
223
278
206
226
232
163
285
244
188
166
292
323
250
321
235
210
173
145
183
234
250
189
209
295
176
301
246
221
279
194
243
182
130
213
214
299
207
267
194
178
260
227
130
232
168
183
201
204
293
211
297
215
178
235
171
246
152
149
147
241
178
249
210
200
183
204
215
199
252
197
186
273
178
229
240
269
233
236
304
210
231
307
170
230
163
129
194
161
244
223
116
188
269
244
202
177
276
191
270
227
187
316
289
212
300
304
190
242
348
252
184
240
177
220
287
199
249
195
273
233
203
222
235
242
176
258
194
194
187
170
228
303
284
213
183
192
156
250
200
194
219
217
291
258
235
186
211
280
217
198
258
156
241
193
202
234
208
164
211
251
158
215
173
189
238
169
221
205
197
247
264
193
245
177
192
187
229
270
280
230
178
160
214
190
221
214
191
233
164
317
220
208
222
177
219
234
232
173
266
217
203
196
265
254
266
269
258
183
185
239
172
270
236
152
185
114
241
209
252
248
220
221
220
306
279
179
144
253
262
276
229
205
198
184
302
191
259
215
193
169
227
167
250
171
122
263
178
247
248
234
232
233
289
212
274
242
308
254
166
206
200
193
246
207
246
175
248
235
223
260
234
282
220
184
203
167
218
259
229
218
228
234
231
204
211
285
139
174
279
164
289
248
284
215
211
190
194
264
193
207
225
314
207
148
287
191
300
300
236
184
218
249
204
259
193
225
218
263
169
272
227
201
126
212
329
254
188
200
192
228
176
314
232
201
114
187
248
232
219
204
261
160
214
311
237
215
224
195
175
199
236
108
358
205
239
237
217
180
234
184
220
231
256
239
182
189
244
340
258
264
247
206
302
249
258
241
204
283
214
320
169
234
239
309
247
253
210
219
212
243
156
225
195
280
210
241
323
198
297
194
200
114
253
273
233
225
180
246
196
255
250
241
220
224
240
278
230
245
261
209
176
194
273
271
190
246
217
201
232
252
253
165
177
261
231
206
261
108
213
228
231
221
202
210
262
170
252
190
210
214
196
176
180
180
256
242
198
232
181
247
180
279
286
292
297
241
232
162
281
262
216
270
222
170
219
202
215
238
287
210
263
240
240
320
223
215
126
170
242
126
240
187
295
270
165
210
237
188
207
261
274
246
280
280
257
157
234
203
270
242
217
263
238
195
205
182
226
207
361
291
230
227
251
270
182
266
211
264
175
199
225
235
227
223
207
227
224
192
195
182
158
209
216
174
203
231
190
310
254
183
172
173
247
205
236
197
199
225
256
204
264
284
156
223
261
195
230
222
271
214
149
225
232
248
220
227
114
252
180
152
204
188
213
317
202
242
245
250
106
284
351
271
238
212
236
270
253
216
152
196
198
176
192
199
214
169
253
267
245
156
256
151
251
241
222
242
210
211
209
279
116
184
206
240
292
183
234
254
245
175
306
266
288
229
176
293
228
291
256
188
247
214
283
189
237
242
158
244
181
260
179
126
152
225
243
286
195
126
161
246
193
214
283
169
172
246
215
258
222
277
252
220
246
208
208
247
214
215
172
180
159
281
250
225
273
236
292
323
209
187
159
296
171
225
233
235
200
166
279
199
192
250
284
200
175
227
154
215
257
218
304
179
193
224
283
174
191
209
258
229
275
244
244
160
151
230
249
255
201
291
225
212
276
363
193
231
126
264
186
323
242
214
237
270
237
144
216
279
156
220
285
170
237
239
200
311
210
263
252
189
252
202
240
192
246
168
291
267
222
144
265
262
237
182
158
198
200
243
228
298
176
252
306
229
319
266
203
169
273
213
178
231
194
192
180
226
281
278
213
227
267
288
195
285
159
169
203
273
290
245
226
172
141
214
348
199
315
217
266
239
243
287
196
214
219
240
146
211
204
247
262
262
235
251
201
231
246
248
199
162
126
178
218
202
169
174
198
338
236
242
198
257
207
278
234
339
295
134
321
170
233
292
181
155
160
304
171
201
262
184
178
234
214
200
191
148
251
250
238
199
260
244
218
257
238
209
240
213
241
169
222
165
224
213
177
187
288
235
205
239
288
239
205
172
234
234
114
269
283
219
169
267
223
161
246
304
207
193
295
145
279
269
267
284
192
203
177
196
154
198
174
189
314
154
234
156
211
290
199
204
208
156
250
242
198
226
200
234
305
160
207
178
195
209
198
315
315
218
243
205
229
208
249
285
159
296
219
249
242
277
323
158
169
221
226
209
277
187
207
194
279
234
274
266
233
272
187
252
260
208
257
217
243
227
262
245
222
178
293
279
271
243
198
267
292
207
279
114
245
353
211
238
263
259
195
289
192
199
215
229
220
164
179
254
161
253
215
193
176
208
273
209
221
211
215
278
236
236
209
286
239
224
259
243
248
182
157
260
262
270
202
240
173
200
156
229
276
338
245
228
260
328
228
225
254
294
168
264
215
265
296
234
211
189
204
170
180
255
191
191
214
225
301
274
259
198
213
267
161
188
139
271
206
203
302
173
208
262
209
189
237
265
284
257
231
230
206
222
170
243
175
286
206
222
246
270
198
216
213
243
300
214
181
228
267
163
272
230
280
114
302
155
243
226
257
270
228
180
182
219
276
236
153
277
240
189
199
241
223
237
278
270
261
251
188
156
227
229
185
217
177
223
152
195
174
204
252
308
232
194
221
156
243
182
304
231
190
242
245
261
179
266
292
295
203
313
224
280
262
212
170
284
173
287
212
296
238
203
203
139
190
255
207
306
240
289
166
190
175
211
203
313
219
256
214
318
194
190
277
214
230
244
230
202
180
306
277
192
247
238
139
206
291
272
207
251
155
197
215
308
262
231
170
176
196
213
209
221
222
274
208
206
241
186
250
280
256
200
277
245
180
262
225
242
260
310
315
153
186
204
184
229
251
200
261
242
170
193
230
245
232
214
241
194
222
310
284
211
232
222
241
232
207
121
176
306
212
244
271
189
202
167
247
198
201
326
243
225
187
259
317
183
245
197
249
288
180
247
202
198
244
264
283
234
258
219
179
209
223
196
221
170
228
202
306
251
201
227
208
195
286
190
214
307
243
230
221
204
232
213
206
220
253
165
225
233
243
209
247
246
180
249
223
255
198
219
256
164
175
200
233
151
198
214
158
278
181
246
208
173
175
222
251
145
258
231
201
216
237
207
244
152
228
195
254
191
229
205
277
240
245
298
200
218
240
267
208
259
202
179
269
294
192
225
191
225
194
178
258
158
158
254
226
204
250
317
220
245
169
224
193
317
247
185
226
288
239
320
238
233
203
361
208
247
174
190
252
215
182
198
166
132
222
175
213
191
249
223
249
152
243
353
256
180
198
114
160
239
193
247
240
204
231
217
270
160
178
202
253
200
285
271
204
278
161
265
252
217
251
204
165
182
177
192
199
270
235
235
232
242
212
220
269
200
232
241
240
233
145
222
284
292
211
171
284
193
241
310
213
211
178
244
175
238
173
246
108
152
198
215
274
174
175
216
263
249
233
228
211
201
225
296
299
220
232
219
254
266
228
207
193
198
280
277
284
186
230
228
314
243
245
168
146
258
226
189
163
241
237
255
173
283
311
159
200
148
351
181
301
200
159
338
168
240
236
264
256
218
278
276
287
250
220
243
376
231
279
322
189
177
233
176
176
234
270
242
222
293
182
194
208
207
189
284
178
243
243
211
241
194
148
236
170
163
165
191
148
173
274
189
199
114
186
158
238
227
336
181
270
158
274
355
140
242
171
237
247
246
194
233
263
353
271
229
220
169
280
254
291
158
322
256
270
249
253
269
170
267
239
240
314
175
195
235
272
185
283
282
156
233
204
195
224
175
243
254
330
245
116
252
251
274
204
237
198
289
299
299
208
281
288
199
315
139
222
295
210
258
172
285
165
147
251
174
204
251
215
228
264
284
245
245
300
209
218
262
345
238
221
264
176
262
161
281
170
215
194
256
315
200
225
166
233
260
207
251
206
187
272
222
249
226
271
175
220
290
205
230
178
171
232
226
256
351
156
198
209
262
253
227
234
196
206
173
170
221
276
187
151
145
255
253
255
230
222
193
240
275
166
258
254
223
283
215
268
198
277
215
245
221
230
232
210
173
207
248
196
262
279
188
208
235
227
169
186
199
228
240
171
232
210
284
234
222
258
213
274
212
288
204
317
212
174
252
274
261
221
250
224
221
146
146
249
230
284
218
222
324
304
256
161
279
228
243
329
218
264
239
220
197
246
235
213
258
227
233
217
206
217
230
185
162
178
275
236
180
213
175
114
252
200
302
175
235
210
148
144
291
279
206
215
172
163
108
145
224
173
193
247
162
295
256
193
223
231
233
201
164
154
239
178
225
275
214
264
212
237
154
114
183
227
236
299
197
152
194
287
268
223
185
114
291
190
179
189
231
207
242
241
244
158
245
240
233
182
317
253
242
161
256
272
212
226
177
114
322
210
263
163
218
207
218
225
217
147
169
250
233
219
178
219
260
316
196
201
208
343
236
312
241
243
278
158
216
157
146
251
181
190
210
265
250
243
329
151
219
192
154
314
234
254
215
192
224
176
178
192
269
205
242
238
263
196
226
234
218
196
257
184
252
210
193
201
192
207
270
225
126
206
196
223
197
242
171
198
180
212
180
275
223
208
247
270
203
209
240
158
249
219
209
219
170
166
178
240
209
205
198
235
239
210
253
152
276
226
198
283
210
200
173
197
233
228
214
244
220
207
207
179
217
237
174
186
309
157
222
283
220
277
265
226
203
158
230
193
215
207
209
205
218
126
230
236
237
224
215
247
203
226
257
207
182
183
244
275
145
252
139
252
256
301
243
228
139
253
139
202
274
247
202
172
243
186
303
248
249
245
205
222
231
226
203
236
216
233
179
230
285
265
231
221
263
316
180
227
272
241
231
254
160
289
213
293
222
230
301
217
242
224
195
187
237
180
239
245
198
230
191
231
179
229
296
236
240
278
281
114
226
202
184
235
230
200
196
248
229
139
218
227
189
277
185
196
222
277
166
218
283
199
297
289
225
203
189
193
217
160
193
235
199
284
283
203
192
243
286
173
256
298
126
298
280
209
244
334
186
207
234
229
200
305
196
211
243
222
204
166
257
260
240
281
212
200
204
114
280
250
227
168
222
179
252
192
211
209
217
180
256
304
226
253
266
192
346
221
188
146
218
247
176
277
297
192
202
140
263
218
114
227
283
297
328
245
281
245
228
178
174
273
198
217
271
253
271
277
241
192
247
170
221
200
231
266
219
346
227
172
227
183
212
233
248
268
230
222
318
209
283
213
264
238
259
191
177
327
337
198
199
223
297
174
195
253
157
220
276
217
280
351
282
209
198
224
248
221
296
180
210
192
207
336
184
197
222
269
197
259
250
317
329
227
187
215
287
170
266
188
178
267
229
187
314
170
196
281
238
170
229
175
275
185
157
258
184
285
226
320
196
248
205
160
153
246
197
189
173
278
175
262
259
151
231
218
242
211
336
192
230
280
221
198
282
212
238
262
232
262
261
246
191
163
203
206
213
349
252
295
303
195
214
283
261
250
273
272
293
170
237
188
224
232
208
188
201
219
224
172
190
286
204
178
280
230
191
216
214
222
283
233
247
190
174
192
227
186
219
280
159
240
236
271
321
188
151
269
222
240
250
292
174
177
188
255
243
114
222
288
227
158
160
237
231
221
273
213
168
238
187
298
189
139
266
242
238
197
249
213
200
249
240
225
310
126
335
248
297
203
225
231
245
170
219
312
198
273
219
220
194
208
152
214
216
203
169
197
275
160
192
269
160
166
275
237
215
237
222
291
214
151
188
185
300
240
178
267
195
343
210
266
139
175
114
186
173
196
206
165
160
196
219
175
216
215
206
254
289
173
227
185
247
235
231
295
274
214
240
218
242
226
228
254
179
298
215
314
216
156
244
151
154
293
247
273
161
213
192
295
162
292
189
253
271
170
269
258
173
241
282
272
221
235
259
229
245
170
258
126
166
208
183
229
229
202
224
245
161
238
275
192
249
254
190
240
273
190
200
261
232
234
161
212
218
225
243
280
179
265
236
214
208
233
238
144
206
221
197
234
200
242
284
203
225
239
206
173
188
278
215
212
192
151
245
178
214
333
225
198
240
308
229
197
204
273
152
286
188
246
235
255
295
333
251
162
114
162
270
217
158
170
303
219
179
226
258
224
247
274
206
215
276
178
245
114
241
203
168
200
230
178
224
210
296
217
198
243
286
195
253
210
188
205
192
283
198
177
214
281
195
292
236
218
184
170
193
165
243
157
259
205
160
194
175
228
195
274
207
250
251
308
294
235
284
253
281
189
195
149
209
218
245
275
182
235
180
265
241
206
236
209
189
254
271
274
172
190
239
214
324
320
320
200
310
152
185
171
282
249
228
257
210
295
198
295
277
211
169
258
320
265
248
250
209
179
235
114
169
193
179
174
248
173
231
243
168
255
242
309
231
265
262
244
285
181
146
230
252
191
208
156
248
170
238
201
268
232
146
295
284
165
188
237
212
201
157
245
193
193
170
230
219
248
203
185
232
288
157
200
187
263
285
148
185
165
234
216
271
178
232
273
261
202
223
194
329
277
144
156
205
277
283
227
220
243
242
195
277
173
209
292
222
217
200
261
228
186
200
157
205
212
217
234
204
249
158
235
175
164
151
183
199
254
252
148
216
209
145
277
208
156
279
260
200
262
224
214
257
369
292
164
303
256
230
195
274
192
225
265
237
250
227
201
200
186
184
265
156
235
265
239
256
200
255
198
273
286
266
303
269
207
188
210
299
270
218
235
256
217
255
202
161
195
153
221
187
212
192
261
234
246
344
240
282
285
303
262
252
249
211
238
236
239
114
236
255
198
228
141
154
291
257
240
196
353
233
187
210
236
197
297
178
166
196
218
114
116
222
302
199
255
247
259
187
108
228
273
206
171
272
175
272
197
272
206
268
216
193
330
263
244
161
203
221
271
239
280
269
248
291
214
280
258
253
252
189
251
238
215
276
195
286
219
221
159
179
133
195
241
267
241
195
185
221
205
181
220
245
216
256
210
203
162
298
209
205
247
254
243
189
177
233
259
235
208
245
202
243
219
208
295
189
226
243
139
208
251
242
220
130
199
167
220
219
185
257
232
182
246
253
181
227
198
256
250
192
175
160
270
157
229
260
248
215
245
295
226
299
173
228
205
241
157
162
257
223
251
203
167
192
229
309
190
238
234
223
203
269
238
264
244
250
249
246
218
164
251
264
114
228
208
165
219
200
270
242
193
166
191
149
219
311
246
176
189
228
215
206
291
284
229
290
154
287
168
173
222
284
198
218
198
187
180
260
174
250
277
194
168
297
276
202
279
279
233
195
258
227
203
202
210
238
156
294
166
257
219
204
227
213
302
264
173
201
270
210
180
249
219
172
299
286
212
235
204
178
262
214
263
167
196
284
240
220
251
231
309
152
232
236
229
273
225
214
275
175
243
279
252
276
291
182
178
208
229
151
233
178
312
184
246
266
174
275
180
211
295
258
179
212
218
253
202
192
244
257
194
191
226
205
284
222
291
250
114
206
246
198
266
143
212
207
233
330
342
156
192
236
209
261
214
186
221
301
188
252
276
151
217
248
222
291
253
186
222
267
194
222
220
160
340
190
258
230
170
174
235
304
174
245
235
237
235
296
178
191
177
234
191
247
236
256
296
205
218
170
292
266
241
232
229
219
242
166
247
237
269
269
183
238
116
259
215
250
282
264
258
179
274
245
214
263
180
235
232
222
162
193
257
326
139
212
171
213
307
230
139
266
174
225
188
267
238
181
222
250
311
195
194
282
211
224
253
191
162
242
188
269
192
269
229
278
242
220
167
203
148
216
211
178
206
258
162
191
303
337
200
239
252
194
170
204
234
212
239
154
196
218
193
198
277
228
261
126
297
264
268
228
259
238
151
209
252
202
248
206
228
184
238
275
166
217
282
165
274
194
228
291
260
286
235
240
277
222
218
205
227
249
239
252
249
250
189
337
223
203
297
235
270
178
246
209
242
260
358
257
221
139
184
185
221
280
217
206
180
180
164
196
256
240
154
192
226
209
236
230
279
238
219
264
252
193
293
257
212
263
247
114
173
319
184
180
165
207
208
152
234
193
208
232
284
129
230
263
208
222
270
197
225
306
221
223
271
176
301
209
162
234
222
216
114
221
240
126
214
182
195
145
234
234
255
198
215
198
253
277
226
296
116
265
192
205
128
259
252
174
299
324
214
139
207
216
243
151
278
206
177
214
216
278
114
241
270
198
152
267
313
233
197
228
208
267
238
149
219
245
208
302
236
223
195
240
249
199
260
208
218
271
267
178
193
176
157
179
226
214
171
310
161
169
248
204
237
108
257
271
197
234
181
282
234
241
173
161
282
200
283
248
265
198
255
275
149
266
235
239
114
234
177
217
279
250
242
252
221
167
254
287
249
226
294
232
237
162
268
244
244
249
270
273
278
221
186
254
181
274
196
172
180
225
202
202
203
272
204
228
222
243
234
213
234
258
250
246
209
169
126
170
251
166
228
214
218
207
342
151
285
178
246
290
192
216
203
139
194
165
240
260
287
239
245
160
287
156
270
242
227
224
145
166
225
207
221
212
306
193
210
224
220
274
114
268
272
299
250
190
283
229
246
263
340
282
195
212
209
233
199
314
293
242
244
213
243
126
178
197
179
198
333
165
225
160
239
243
279
232
225
329
247
238
232
152
230
196
184
263
231
228
231
227
210
191
160
152
220
235
174
278
191
241
237
126
207
223
166
232
306
207
218
236
205
235
171
231
248
165
299
216
175
204
271
239
231
209
262
321
227
233
238
196
270
204
259
167
261
266
192
257
246
234
161
181
158
240
227
303
297
160
175
231
160
161
126
234
199
222
260
146
205
255
236
248
250
206
201
160
205
235
177
260
283
278
181
210
218
251
170
248
225
210
204
180
177
234
215
251
202
152
170
340
252
215
203
236
255
168
212
256
264
214
261
203
189
176
205
262
195
190
170
185
162
278
257
268
238
321
165
175
150
224
160
191
231
219
197
183
179
220
276
173
192
208
209
161
247
224
176
212
266
288
309
252
257
256
194
210
189
221
341
228
185
255
271
192
277
244
239
167
212
268
200
242
237
238
243
234
279
202
250
251
251
266
252
176
288
180
177
247
172
227
174
187
272
256
140
278
267
176
194
192
301
216
214
214
216
193
203
194
287
228
286
260
225
218
201
275
154
233
202
195
269
201
192
237
289
156
184
192
178
214
249
192
254
261
144
262
235
200
156
183
257
221
159
114
205
175
282
235
231
290
305
212
251
183
181
157
251
228
243
237
238
207
257
236
174
230
247
287
217
217
235
181
238
156
241
222
201
242
249
244
203
239
174
274
188
232
181
235
313
220
219
193
250
244
116
240
234
192
218
251
194
180
237
226
242
238
266
240
267
247
337
260
346
243
252
181
266
175
230
126
202
275
269
220
251
176
241
235
194
253
284
222
198
193
192
198
195
180
161
239
252
201
203
243
172
178
254
155
240
178
240
152
218
218
188
220
220
267
190
261
227
191
274
166
283
243
239
252
160
293
194
227
296
236
230
181
202
193
218
306
221
211
223
264
192
242
195
208
199
194
263
305
225
223
228
253
205
180
229
152
244
248
263
208
236
165
217
233
231
209
215
201
179
196
262
133
194
291
156
261
217
248
275
293
224
219
280
198
250
231
246
231
168
130
225
264
341
243
272
139
220
178
206
215
137
230
202
306
259
188
280
178
212
240
203
253
191
248
157
221
253
266
179
165
259
219
215
287
267
226
304
177
189
193
253
157
324
214
206
195
274
244
204
278
233
250
213
220
197
311
193
251
176
260
328
195
222
178
200
344
230
180
262
214
242
189
177
158
208
205
195
302
170
225
153
297
275
209
235
233
298
195
233
177
238
180
210
147
199
177
213
184
212
319
191
186
221
274
176
224
199
256
270
238
238
178
301
200
204
235
242
260
217
175
160
207
262
178
198
285
202
272
215
193
211
212
216
171
208
254
232
114
220
258
253
292
245
251
200
250
243
181
203
254
280
264
231
275
165
192
200
264
171
192
184
253
209
278
206
207
277
269
231
252
243
236
256
236
232
114
328
152
333
238
253
226
217
232
108
248
179
169
234
141
266
206
284
215
188
208
165
311
236
272
242
242
226
199
243
192
266
213
194
219
189
114
258
182
290
203
186
174
237
243
215
224
218
230
181
176
208
333
238
212
182
248
292
228
178
194
237
227
168
269
284
141
203
226
211
238
207
185
165
158
257
147
216
188
241
245
243
217
229
204
182
165
236
235
179
225
289
212
260
288
267
214
175
175
129
191
152
318
216
207
185
358
193
262
192
194
276
182
244
239
232
230
256
179
235
250
178
235
240
146
239
249
139
156
211
231
206
230
234
166
289
207
156
277
183
207
156
250
228
276
196
222
324
220
244
284
212
116
206
199
225
167
262
198
236
247
254
223
148
252
261
263
114
180
266
160
259
222
231
249
189
260
222
209
212
242
192
331
174
238
203
283
251
211
214
282
293
246
287
247
226
216
189
205
234
238
193
195
208
192
184
185
315
249
254
239
266
237
267
220
270
192
255
232
202
245
254
261
265
301
209
189
294
234
231
265
237
230
237
281
170
121
181
192
218
245
205
241
238
174
191
207
256
152
245
167
238
270
324
205
214
234
192
193
161
247
257
220
246
225
254
218
236
267
263
214
231
202
305
258
207
225
154
235
203
193
315
186
194
208
222
214
211
281
202
159
294
219
181
197
170
184
108
139
268
307
219
324
159
235
203
237
260
248
256
255
165
248
264
213
211
170
246
212
302
266
216
160
204
220
204
240
252
187
288
295
176
189
213
219
272
233
197
211
211
253
210
271
230
216
279
231
247
275
194
188
158
207
156
192
270
265
215
183
194
152
212
151
142
245
299
186
234
257
243
245
154
271
217
209
235
139
264
265
256
258
254
274
151
202
234
182
197
215
220
248
265
229
233
139
230
230
162
228
128
238
243
294
228
208
249
239
139
277
163
215
307
198
208
251
219
198
216
202
181
219
208
276
244
232
318
234
258
236
212
245
246
145
213
243
271
216
211
218
237
240
310
126
174
231
267
189
324
253
208
114
258
225
250
218
228
166
184
278
179
219
233
152
220
306
224
277
237
233
235
206
242
190
267
235
239
269
241
281
214
237
165
210
272
160
141
185
235
239
201
177
243
242
238
214
239
294
240
214
178
191
190
222
168
221
245
177
114
177
148
180
144
245
139
222
221
249
128
192
250
239
237
272
334
183
186
294
192
235
236
206
291
205
239
215
203
367
290
172
243
226
234
244
164
269
160
179
251
256
255
206
203
199
221
144
174
237
256
194
298
200
197
114
171
188
219
220
191
232
169
170
255
216
211
214
230
251
266
231
225
192
140
181
250
229
204
297
170
153
205
342
330
219
249
247
216
214
184
212
240
252
220
172
262
286
213
246
307
200
229
215
214
114
275
280
222
258
276
224
207
197
210
249
214
284
233
232
194
232
211
265
246
114
239
184
309
114
324
324
203
294
175
225
203
266
200
296
194
196
184
245
231
285
169
215
221
234
184
171
200
263
239
215
174
237
360
179
194
219
188
160
130
266
264
270
265
247
252
302
290
176
207
168
176
292
202
165
235
237
166
180
283
188
236
307
216
217
211
279
196
251
315
223
210
304
156
195
184
268
223
331
253
196
199
301
255
196
216
152
262
223
106
221
182
207
196
325
220
276
220
213
309
198
214
229
228
272
207
212
243
228
237
245
195
234
173
248
170
157
144
173
271
264
290
201
253
228
192
167
265
200
172
208
228
204
289
203
233
298
257
243
201
309
221
309
219
172
270
226
173
199
216
250
237
232
206
271
176
202
265
198
227
183
256
279
195
274
216
301
257
282
206
169
230
216
240
261
297
255
278
218
239
253
234
222
172
173
211
255
176
228
277
257
245
192
273
232
256
210
165
254
272
195
160
208
177
281
242
183
184
215
242
177
186
275
242
239
198
175
244
224
259
310
215
186
189
251
227
235
242
233
137
367
231
290
160
185
213
291
232
262
238
215
274
214
195
217
264
239
180
267
204
211
227
233
184
151
220
165
222
197
242
251
238
236
148
245
174
166
212
362
211
239
182
263
207
236
191
227
186
317
159
236
159
175
161
237
177
265
215
288
221
242
308
156
347
184
224
201
219
253
181
328
253
276
230
177
273
314
161
139
229
189
147
211
161
185
178
274
149
278
192
225
256
210
168
198
224
246
253
172
182
339
195
139
212
159
158
227
203
258
160
176
243
289
207
237
175
247
164
312
220
219
258
254
151
241
230
232
247
207
297
202
299
227
229
221
252
298
231
263
290
258
267
215
198
230
200
251
219
174
256
160
144
165
244
224
237
255
216
234
175
151
198
246
242
170
175
246
192
203
187
217
163
242
188
290
204
214
255
262
275
219
302
170
206
277
175
179
251
149
212
292
247
204
239
281
193
242
130
151
169
271
169
162
365
166
258
263
246
231
166
197
334
250
263
241
184
238
149
266
241
302
291
239
178
271
223
212
231
293
170
213
188
166
207
144
180
211
321
257
203
216
212
200
243
230
220
177
217
204
180
278
175
231
251
293
212
198
197
248
178
240
293
213
263
114
235
214
251
213
245
228
196
286
286
193
230
252
208
215
305
133
280
262
250
252
121
233
158
199
203
278
221
237
195
264
205
179
219
216
114
265
210
218
166
232
217
121
205
241
199
213
281
169
272
214
179
228
195
311
205
243
283
170
151
274
243
144
145
262
277
255
288
227
222
161
222
276
254
129
251
216
219
247
309
291
173
145
193
126
225
221
253
274
293
157
265
279
195
184
211
231
172
252
226
205
251
203
301
209
146
235
325
160
274
227
154
235
290
121
308
174
219
232
248
227
268
129
220
185
267
186
164
217
106
162
229
252
247
269
227
255
278
238
292
241
170
285
215
215
218
173
215
181
226
279
217
239
273
214
195
277
272
253
187
148
197
242
173
259
231
214
180
286
221
223
209
209
232
289
209
301
237
203
114
287
180
236
256
204
244
254
177
198
242
126
116
253
229
195
233
184
180
184
238
225
249
258
190
259
243
341
146
299
178
250
108
189
235
170
249
192
160
209
184
233
164
223
154
225
254
174
126
188
193
182
224
191
294
208
114
219
241
268
253
241
233
198
225
235
225
230
195
262
185
197
218
200
246
201
231
196
230
262
302
201
219
186
315
195
209
228
295
213
166
216
290
281
162
267
202
133
263
218
228
227
180
220
212
229
255
256
152
204
248
202
203
235
217
169
228
248
170
285
234
225
229
228
158
242
172
281
266
243
300
214
273
290
225
214
228
249
244
209
262
233
179
162
262
212
252
178
198
283
173
281
253
233
213
189
184
139
231
196
270
273
212
184
222
198
276
189
250
223
206
217
228
260
162
269
193
262
251
225
200
205
181
285
137
237
253
271
295
231
278
211
178
279
166
233
214
240
220
238
226
151
253
214
344
214
227
199
167
222
179
225
179
235
240
291
255
184
152
237
216
253
181
208
200
221
179
212
285
224
241
301
225
189
158
172
235
220
273
215
226
184
198
252
380
195
212
212
188
212
225
158
256
188
152
160
214
249
232
167
239
166
184
148
209
249
199
241
232
244
226
158
201
191
160
197
230
250
238
305
170
173
319
215
298
237
265
233
188
193
126
298
330
280
178
247
227
195
188
233
126
175
152
179
195
219
263
269
254
220
229
330
233
134
231
216
303
169
212
191
215
240
219
220
181
247
242
232
219
318
228
235
240
200
219
244
271
238
269
203
243
276
275
196
212
244
196
144
249
163
223
203
265
114
135
215
201
177
152
208
241
182
168
253
262
176
233
175
164
232
285
179
267
237
237
172
166
237
200
192
175
222
180
233
240
307
139
204
198
170
233
348
230
282
178
261
212
249
168
217
282
179
196
213
156
156
234
156
221
207
209
197
250
192
174
307
145
272
223
208
264
214
170
315
243
191
241
157
194
232
196
223
254
197
193
222
208
210
236
223
300
202
201
267
295
207
162
253
271
159
165
218
215
185
209
203
254
201
182
222
152
178
194
216
219
274
129
224
233
238
145
200
130
330
225
161
291
262
167
181
224
254
251
206
254
271
229
208
212
232
276
174
189
285
360
208
309
343
329
217
234
221
303
166
232
214
234
193
249
210
235
184
240
152
219
173
230
217
226
144
247
227
253
290
196
166
240
250
316
222
116
216
244
290
276
189
156
202
183
173
234
177
258
238
256
371
205
318
239
228
222
189
220
218
263
212
199
190
204
246
204
334
210
207
277
275
193
198
223
223
228
271
183
248
212
278
291
201
211
273
161
209
291
198
326
182
225
260
179
204
277
204
287
237
235
231
221
204
219
262
170
116
269
233
303
213
240
173
283
215
215
178
185
246
252
209
337
260
209
244
184
262
259
154
273
304
152
221
186
251
244
272
305
269
243
168
296
225
141
252
216
184
211
197
156
238
328
209
225
209
202
215
173
158
233
168
160
181
279
227
220
199
234
237
194
235
275
160
236
289
251
253
215
269
170
304
252
145
233
223
177
236
231
279
202
222
215
269
196
186
282
246
280
114
214
277
187
165
222
231
236
265
240
205
184
175
217
114
225
208
253
181
287
240
231
165
252
176
178
206
177
244
220
191
290
243
209
213
259
252
230
202
157
240
266
271
239
183
238
232
215
156
108
283
201
180
213
243
212
247
190
185
247
292
245
214
222
216
218
338
208
173
228
221
158
225
265
212
165
158
222
222
157
204
226
227
162
163
156
207
212
226
212
152
243
297
188
219
225
262
291
181
239
284
184
264
277
170
231
176
161
211
309
209
259
187
216
320
191
222
286
186
227
205
279
197
192
225
266
260
230
181
173
308
232
181
157
176
164
221
256
175
223
220
263
296
191
152
268
242
322
289
210
200
193
253
205
234
237
240
194
176
277
197
219
161
181
211
227
349
195
217
246
286
234
228
235
220
261
184
281
249
243
255
225
260
181
222
327
256
324
207
224
174
271
158
237
220
237
230
202
276
266
216
196
189
249
257
184
221
222
220
161
184
253
259
226
114
191
168
227
148
274
178
216
264
256
160
196
241
191
241
289
215
182
234
133
225
262
197
253
233
223
242
229
196
203
251
178
357
251
173
190
225
169
173
243
184
250
243
231
181
235
220
189
209
215
242
180
217
180
214
205
114
224
289
235
185
220
326
238
200
205
246
222
265
228
280
171
300
241
269
292
247
210
304
193
163
182
228
311
265
262
298
181
191
169
245
229
158
206
209
276
189
261
181
191
196
236
273
169
267
242
168
241
114
319
198
129
179
219
246
266
146
139
229
163
219
237
237
279
251
206
237
296
224
242
218
165
173
257
272
272
156
293
268
230
277
178
246
168
200
228
220
296
262
194
209
208
278
224
219
213
287
195
269
255
206
222
206
244
259
181
264
160
243
235
226
176
152
332
290
186
198
139
219
255
163
258
199
152
215
254
171
298
303
298
145
231
227
174
183
309
198
253
218
174
310
151
255
216
222
212
188
209
228
217
191
255
242
190
214
302
231
254
247
248
213
193
192
213
169
162
296
201
354
262
224
236
295
158
269
295
144
309
347
207
156
184
281
226
264
238
154
264
219
161
238
244
196
212
161
249
190
228
208
192
182
258
215
175
281
220
231
181
206
270
234
252
214
229
247
258
336
145
173
252
182
128
178
179
247
256
211
252
187
210
305
250
193
157
223
222
173
220
224
191
234
263
202
202
222
165
206
257
254
210
178
214
311
282
269
114
245
178
218
229
312
229
272
193
245
246
293
194
201
275
257
189
206
283
171
213
271
154
302
186
296
241
208
237
251
230
234
280
206
231
171
184
204
174
176
277
258
150
229
195
247
172
260
250
273
247
264
224
152
237
198
178
187
187
218
208
218
244
202
207
234
250
206
275
262
197
176
252
205
244
227
252
175
198
237
228
247
221
227
264
289
184
204
238
233
237
151
285
255
223
304
245
236
191
223
250
240
220
331
230
261
237
160
199
144
245
209
270
198
367
284
166
297
244
228
311
239
236
175
214
304
211
169
225
190
227
234
277
192
246
233
162
228
219
298
181
244
214
114
224
211
246
273
241
269
178
229
199
214
196
217
267
180
223
240
283
246
208
219
271
240
207
218
209
174
195
218
252
191
285
254
216
231
214
164
209
159
289
191
216
254
114
175
177
197
210
202
229
231
198
252
294
192
290
255
340
252
253
171
221
261
161
267
281
220
205
221
273
290
305
252
276
184
261
273
161
279
198
262
238
218
384
201
160
149
170
248
279
193
284
249
249
121
173
235
163
174
210
254
181
246
151
174
329
338
228
283
210
202
256
255
240
211
257
139
173
273
259
263
232
236
219
197
221
216
233
263
158
260
160
258
262
244
252
304
286
299
310
232
237
292
175
214
145
161
220
211
174
204
279
243
224
281
205
207
156
245
191
192
188
187
221
208
193
196
244
225
279
176
223
192
153
220
208
222
288
262
176
262
208
302
226
259
193
209
260
228
260
222
238
236
241
321
222
265
220
261
171
275
276
250
262
265
274
198
201
205
196
269
266
195
213
224
255
199
178
159
172
209
252
244
217
246
199
205
210
259
258
232
271
309
189
321
155
249
173
231
266
224
241
274
240
196
222
219
227
244
169
288
233
259
229
207
218
114
205
316
208
206
160
275
186
222
220
200
223
213
216
225
207
240
197
246
175
228
252
189
217
261
265
214
257
203
279
221
233
233
195
298
190
218
299
249
214
325
215
242
219
234
170
280
236
174
186
315
239
255
240
143
177
203
213
191
245
202
268
163
222
271
240
215
213
211
202
269
214
172
223
166
195
204
114
245
243
174
238
228
196
252
368
232
253
208
222
267
228
257
209
208
158
233
205
184
169
221
256
224
277
278
281
241
207
249
221
220
192
274
294
230
253
195
220
197
196
208
229
276
216
274
298
233
206
205
202
205
260
238
239
226
114
267
299
160
207
288
265
268
256
249
189
174
227
212
200
197
242
238
247
302
217
200
228
190
258
235
254
264
260
188
218
175
270
219
238
212
183
193
227
246
199
165
139
259
228
190
201
244
243
263
242
193
187
245
280
222
235
198
267
240
205
162
209
157
308
224
252
317
219
160
282
315
190
187
244
211
227
231
174
251
189
208
223
263
229
204
280
255
258
236
297
145
268
219
114
252
184
302
234
221
157
156
192
219
234
200
316
283
205
324
214
191
254
179
250
210
250
239
241
296
247
223
215
234
211
235
246
232
261
258
263
202
199
164
180
139
227
221
193
274
196
214
275
207
318
217
212
245
211
304
253
247
270
156
205
179
231
252
211
337
291
151
246
268
167
245
216
214
181
238
121
160
211
323
233
292
207
244
273
257
230
284
139
169
249
253
257
317
229
222
277
230
193
238
248
258
309
274
234
262
166
233
262
196
212
234
241
279
241
225
225
202
331
219
254
230
183
290
203
238
239
250
277
215
246
170
157
152
258
173
190
204
256
238
192
269
298
169
262
240
200
271
139
151
126
214
233
145
174
253
223
217
116
205
114
252
246
197
176
158
283
271
213
199
203
262
249
240
195
161
227
166
255
152
206
173
152
271
185
302
199
227
212
287
169
243
141
273
248
291
201
293
176
194
194
239
308
227
207
269
207
167
214
204
229
260
249
235
208
181
326
209
213
181
246
209
202
231
299
243
274
215
196
225
221
160
165
177
195
215
243
234
212
179
246
292
234
193
203
171
311
227
270
192
193
300
282
170
189
240
208
265
213
222
189
267
179
244
320
170
273
221
234
170
258
197
122
325
188
200
169
270
158
288
289
146
190
165
279
271
240
283
178
177
198
252
184
206
263
162
235
196
198
367
197
280
218
179
280
180
299
194
155
253
238
217
234
144
255
272
198
220
211
289
263
213
220
192
200
194
229
151
229
194
174
238
225
249
253
211
238
192
270
198
193
205
245
240
191
215
247
201
221
219
215
152
232
251
236
251
168
225
253
184
247
182
283
226
225
151
229
219
162
156
213
285
276
207
269
273
238
188
254
239
247
264
186
297
160
246
126
207
172
197
195
198
292
214
241
209
263
228
226
346
257
166
317
237
228
273
194
284
211
223
173
198
246
178
242
197
192
251
198
191
196
160
178
114
228
169
197
221
233
283
313
247
234
244
206
300
202
220
216
204
194
195
290
251
242
174
114
248
229
174
176
257
233
266
184
206
249
245
255
162
297
203
194
188
232
164
272
234
217
261
285
229
267
169
208
163
273
231
271
265
146
286
242
234
218
228
198
128
198
186
227
133
236
300
224
214
249
194
196
148
275
161
217
129
193
261
176
145
256
274
260
222
236
178
210
256
212
222
193
289
238
172
274
170
114
275
170
260
250
144
234
167
240
201
176
145
199
235
248
204
298
151
193
323
259
276
222
216
293
209
267
180
190
241
174
158
233
170
129
241
254
212
198
230
272
114
257
152
206
228
224
240
301
176
197
247
303
223
319
230
217
228
159
204
233
266
251
246
252
264
162
180
303
141
204
256
285
248
262
222
242
217
283
281
275
192
253
252
227
215
250
201
209
227
310
278
227
214
232
178
242
276
271
228
212
213
202
233
175
206
282
299
220
183
276
218
250
312
202
231
241
251
174
285
270
246
205
253
222
299
176
222
191
208
130
194
244
213
139
211
179
248
200
215
257
243
302
235
114
151
229
146
201
207
190
159
267
174
188
178
281
178
152
210
194
251
274
209
280
188
256
245
291
270
263
160
169
255
295
162
245
311
229
190
323
194
202
236
265
199
304
126
229
229
114
142
302
286
248
255
245
222
224
167
188
170
242
263
327
323
263
245
213
193
223
226
222
222
232
204
237
210
241
201
274
212
312
211
214
197
246
227
219
200
233
217
156
233
170
193
245
185
287
184
139
181
236
226
196
281
275
166
275
203
218
228
249
247
245
238
280
181
173
241
231
208
207
214
196
194
225
248
232
262
244
282
247
261
213
228
221
223
211
224
285
152
278
245
200
236
299
253
171
314
189
187
291
214
231
253
225
192
186
278
239
297
247
247
160
164
188
220
151
192
223
256
214
227
218
225
234
258
246
248
275
201
177
156
266
126
179
257
146
296
225
193
191
225
201
259
192
260
216
231
239
180
176
114
242
215
228
244
190
257
201
212
200
228
222
188
237
255
286
266
172
210
225
208
195
219
211
246
299
275
227
266
270
234
114
221
265
171
204
205
167
226
235
266
114
293
254
302
239
238
180
230
256
224
250
175
225
256
274
198
199
184
209
184
196
275
203
114
198
298
198
179
321
210
231
198
264
209
267
174
236
243
198
241
213
208
227
195
203
243
220
173
211
227
304
247
203
220
193
219
262
274
242
185
235
156
200
253
290
172
237
207
253
300
235
139
189
264
160
192
170
252
221
286
253
272
283
244
198
285
209
207
173
236
194
175
114
186
263
166
219
289
184
177
214
239
209
242
202
173
222
181
260
222
231
234
233
170
173
249
204
242
283
302
166
270
270
205
173
207
229
181
229
269
246
206
189
242
179
231
160
160
225
204
234
252
173
269
293
175
214
225
200
180
214
318
174
126
235
176
203
229
211
242
218
221
194
203
276
233
215
248
288
287
228
253
191
185
244
200
151
218
187
306
226
268
219
286
261
264
238
168
267
270
223
286
256
280
224
298
178
255
240
145
207
208
200
160
318
259
171
170
284
158
179
144
228
181
313
251
249
195
192
236
129
173
175
173
192
222
200
212
279
301
218
233
211
175
259
226
201
220
251
114
166
312
156
201
222
201
271
236
156
342
228
169
184
272
185
293
196
256
245
282
229
248
228
140
185
218
187
217
250
169
323
222
233
183
144
264
177
226
254
278
266
260
220
268
190
215
191
198
250
238
173
212
298
204
255
232
202
240
269
277
203
302
229
207
282
178
214
257
253
286
189
268
234
200
247
239
281
171
213
199
314
170
192
261
211
247
232
248
195
180
198
263
181
210
245
234
270
237
195
237
297
230
180
247
235
174
145
235
207
195
318
324
225
199
156
205
229
211
182
171
219
194
223
197
265
224
144
206
274
276
210
227
233
291
234
215
339
254
232
274
226
237
234
193
153
231
218
205
201
261
316
288
304
247
186
198
242
220
318
156
248
234
205
207
192
244
226
168
234
298
283
218
226
156
278
198
224
202
260
226
146
234
238
223
182
214
262
312
254
211
168
200
248
253
306
192
261
139
189
276
245
267
173
284
222
155
208
219
196
248
222
193
284
221
299
185
200
189
180
227
279
259
236
175
194
197
232
294
272
139
219
219
237
238
237
180
214
212
273
160
231
139
243
163
203
236
269
192
195
260
200
221
214
233
326
256
195
225
235
206
266
336
166
235
231
264
275
241
193
252
169
253
254
192
266
239
240
227
166
236
251
188
263
192
221
202
226
201
265
314
160
229
274
255
178
233
214
247
264
222
371
307
244
249
287
168
313
206
161
189
254
145
194
293
249
189
277
257
260
213
217
234
188
224
165
243
242
212
278
251
224
249
188
248
196
192
260
182
207
152
224
278
287
232
178
202
236
241
315
245
157
272
114
256
243
330
248
203
163
198
313
226
175
246
261
212
223
264
207
258
238
255
254
160
210
247
168
189
291
173
268
218
249
218
144
247
183
353
259
238
178
279
246
166
265
223
255
195
309
209
255
259
255
190
306
222
204
210
212
199
230
283
297
215
251
295
239
259
238
288
253
284
192
260
184
240
275
233
274
219
265
202
214
133
200
228
217
178
302
278
178
200
173
282
243
176
184
226
175
237
196
336
233
239
164
149
169
201
165
281
208
252
158
232
173
260
260
210
259
149
149
204
301
233
234
314
243
170
243
256
195
158
204
206
234
259
184
289
219
224
158
231
172
185
164
301
195
210
209
169
203
236
244
218
293
225
218
192
338
139
220
187
267
219
185
175
135
298
222
255
197
261
169
272
180
297
178
181
213
257
232
328
164
239
168
180
233
214
160
195
156
210
252
219
174
222
230
178
280
219
223
227
231
152
160
217
231
226
182
248
256
224
214
156
248
306
249
204
178
241
294
156
235
151
201
197
165
238
155
178
208
256
239
275
175
310
256
270
218
217
260
324
228
273
235
238
199
257
201
160
223
216
223
275
258
230
156
247
129
191
301
254
222
277
212
222
206
272
220
214
237
154
201
197
154
144
255
256
235
209
219
182
237
270
194
227
291
178
321
263
285
166
215
208
201
208
298
156
309
265
262
261
152
258
218
312
207
221
216
192
242
290
177
221
246
193
217
206
229
211
225
204
167
286
177
199
194
213
169
267
232
259
202
249
273
251
238
247
208
224
259
234
156
213
263
275
222
239
193
164
287
139
219
238
240
235
244
193
151
212
260
181
229
206
212
247
237
193
202
242
215
228
279
178
198
269
203
229
220
175
202
211
178
219
139
230
285
291
198
254
198
225
283
223
256
296
192
198
228
205
280
277
255
263
218
170
205
263
255
248
211
259
257
170
175
250
249
204
181
265
240
208
126
237
234
286
197
176
217
214
195
231
235
186
208
166
259
184
195
274
251
192
251
216
175
229
239
181
180
286
299
201
165
202
215
204
244
250
203
156
330
324
239
178
239
249
148
263
197
201
222
174
221
218
309
163
144
253
190
230
216
247
193
308
237
193
230
257
210
233
251
184
187
221
224
198
258
209
293
195
194
179
260
217
183
165
195
174
250
291
214
318
275
202
149
192
225
160
251
210
200
254
278
281
238
216
144
228
222
233
270
201
247
234
226
196
173
194
258
260
215
189
267
247
205
236
183
230
116
126
160
269
192
304
176
184
232
246
291
234
148
227
176
188
191
242
261
250
213
177
209
154
269
237
323
162
149
160
230
192
186
259
188
152
308
273
250
224
272
166
230
241
164
121
290
272
196
293
129
329
213
290
284
284
194
154
266
325
252
216
297
198
193
232
231
230
267
195
170
243
280
244
230
288
171
156
218
244
166
270
169
228
229
272
243
244
238
195
189
232
286
166
243
219
331
210
314
328
193
191
168
220
206
205
235
173
147
240
190
327
243
210
280
222
252
241
273
273
204
239
151
247
193
231
171
222
213
256
222
197
205
229
245
219
227
167
252
261
236
303
266
191
222
186
261
161
189
200
183
229
237
309
267
282
176
230
234
243
241
289
287
276
197
194
253
249
184
218
185
201
203
266
269
235
175
257
250
155
321
222
249
186
238
169
231
221
198
236
212
208
252
197
320
293
303
300
226
257
261
233
273
306
217
205
175
220
236
193
236
288
216
233
238
193
214
247
299
189
216
202
200
173
162
342
238
216
200
233
287
222
210
185
230
215
246
156
167
163
194
160
261
206
170
180
203
269
242
242
226
194
205
173
114
198
215
255
252
168
178
116
188
265
244
203
265
252
187
184
208
279
198
255
214
196
154
250
257
263
254
191
249
200
282
290
248
257
156
213
354
208
190
200
154
222
198
175
234
222
235
238
242
196
236
129
238
184
347
157
197
181
277
248
306
276
246
232
276
180
225
323
239
173
230
242
252
178
139
193
300
215
193
279
204
226
309
202
194
252
238
283
160
151
205
184
214
205
201
241
206
222
201
192
232
192
248
202
221
241
217
114
233
214
229
242
166
199
218
277
249
238
215
167
192
173
215
292
206
218
232
208
215
219
194
233
246
193
209
253
186
273
114
229
175
181
212
283
187
207
215
202
239
203
215
213
159
219
227
126
257
222
229
252
192
170
246
209
226
239
108
178
175
215
215
217
282
183
192
197
191
229
252
176
277
299
302
126
160
221
261
277
250
179
196
164
160
241
265
180
297
198
212
264
220
298
291
243
265
308
289
336
224
166
192
219
287
222
249
220
232
270
289
246
238
173
194
218
223
301
198
192
366
293
241
251
146
340
145
300
226
237
278
288
248
173
203
318
155
236
244
348
207
266
152
172
273
255
247
197
194
186
231
301
139
257
245
234
279
200
196
199
191
173
160
214
181
238
208
289
286
208
220
215
212
214
231
204
225
181
217
276
300
190
201
176
327
280
161
343
219
193
128
255
205
214
225
234
225
255
193
218
242
234
154
228
225
156
114
108
206
272
333
153
207
339
199
225
180
207
211
235
211
177
250
222
156
208
298
210
192
248
195
236
231
196
160
251
220
283
233
220
236
196
203
294
179
243
197
217
214
154
322
257
261
249
176
206
193
211
114
203
233
241
255
281
243
210
183
152
266
253
246
269
285
215
197
301
212
230
281
175
213
222
205
216
288
187
245
184
318
235
269
218
157
263
209
206
211
247
265
284
237
196
313
198
184
269
189
254
180
257
258
148
197
221
247
256
236
134
204
269
173
160
219
313
114
224
191
191
277
231
247
164
164
198
356
234
299
197
171
147
227
161
218
295
170
231
147
175
106
244
209
248
281
202
192
218
166
198
158
210
221
297
343
217
219
176
154
205
297
186
135
171
213
171
244
185
230
272
263
212
238
250
264
207
279
282
243
181
197
233
310
114
198
275
272
256
152
220
186
241
231
193
242
196
283
238
296
215
201
188
184
239
223
221
273
133
300
183
196
215
202
183
197
221
247
226
200
237
224
206
249
229
160
212
272
255
185
311
244
281
243
289
232
245
235
288
291
192
299
114
310
258
152
224
334
165
303
226
253
199
221
177
182
200
235
230
200
311
163
215
247
252
233
228
184
299
214
300
239
260
221
271
203
155
190
217
237
257
219
248
198
238
205
172
222
212
241
204
274
249
241
242
212
223
294
266
186
217
189
264
247
199
211
171
246
161
229
236
192
194
166
195
176
157
205
149
227
182
200
239
171
241
252
217
189
297
178
342
207
220
165
255
256
178
183
166
172
233
234
249
229
242
193
187
256
234
280
190
282
191
263
202
158
246
197
254
232
233
263
196
183
254
215
193
191
264
229
282
237
184
350
243
225
252
188
225
257
205
198
304
179
244
229
266
268
195
210
232
158
253
269
241
207
247
208
160
329
208
227
276
201
187
235
227
249
288
261
212
238
183
279
217
208
198
208
149
242
172
218
187
177
278
228
277
228
180
263
204
183
300
316
175
236
156
229
196
223
178
239
194
157
227
241
178
270
198
240
299
288
228
249
201
290
226
257
188
217
240
255
244
255
285
232
271
151
221
245
340
231
234
241
303
264
222
265
277
256
174
130
217
184
212
213
156
247
177
226
229
205
183
220
293
213
166
198
251
248
266
211
235
275
253
126
149
229
296
224
232
151
298
285
181
220
221
211
212
297
222
230
293
193
247
230
227
194
310
223
200
225
308
251
186
206
162
161
210
163
244
165
291
228
181
238
273
200
255
254
287
249
173
181
197
227
184
239
197
255
249
297
291
235
213
225
273
235
167
238
238
243
243
208
335
227
278
273
271
314
203
273
180
244
243
162
181
169
200
244
230
204
335
175
273
145
258
248
213
187
145
234
227
225
257
224
193
208
189
149
193
114
161
173
149
226
251
224
249
232
283
237
201
263
223
274
114
260
232
228
195
181
223
227
233
226
218
245
167
169
157
272
213
204
203
329
185
147
198
263
149
299
238
195
227
213
215
240
205
210
285
209
167
253
269
272
231
114
224
129
278
232
175
255
194
214
151
240
325
244
281
222
268
254
233
219
191
269
156
213
292
252
193
211
236
238
196
215
218
268
215
239
227
300
171
262
326
213
247
255
257
183
178
252
199
220
229
166
271
193
254
231
211
178
167
196
129
279
187
315
210
192
219
172
277
168
164
287
233
336
241
221
202
179
259
189
248
176
244
200
279
198
195
331
307
182
237
329
174
206
209
246
233
260
319
215
311
260
222
230
235
214
211
225
172
257
267
234
229
316
209
205
178
190
229
231
173
238
174
221
282
281
219
298
227
286
178
209
247
288
239
170
201
229
252
225
154
255
230
263
253
294
213
203
210
237
212
165
320
178
147
268
289
309
193
247
215
256
161
340
172
234
233
245
195
181
158
133
239
251
309
258
126
280
244
235
352
187
240
192
195
180
173
164
270
204
292
241
239
258
310
216
245
160
271
174
175
235
221
254
160
209
308
197
174
133
175
178
170
295
216
265
188
222
264
194
183
199
232
289
233
198
235
247
174
180
191
274
271
193
247
278
207
251
154
246
207
324
209
278
198
239
191
204
370
187
213
149
300
233
194
315
235
176
251
220
205
262
274
151
199
254
307
240
263
225
204
229
271
301
250
241
174
236
149
202
264
229
181
269
220
225
289
251
245
292
160
289
244
182
323
258
231
200
239
189
185
224
272
212
191
238
198
250
298
145
240
266
226
213
203
205
198
151
168
146
302
207
176
239
308
249
294
228
271
216
244
281
249
257
194
241
188
234
203
249
240
199
249
207
185
263
198
189
231
242
114
258
160
233
177
276
221
218
121
188
311
173
214
228
196
193
114
338
216
225
247
272
164
192
222
295
194
215
168
358
220
209
181
192
290
236
207
252
194
174
272
191
181
290
286
160
152
203
233
159
260
274
233
180
296
181
221
289
213
224
222
197
114
168
222
175
238
180
195
244
179
292
257
301
267
204
249
182
287
171
271
251
260
190
292
191
245
241
245
195
253
209
241
233
281
244
209
268
177
116
237
203
200
179
145
226
254
133
203
173
206
269
306
170
257
197
237
290
215
268
242
235
257
287
208
248
237
197
322
191
211
213
278
286
207
286
260
208
190
178
267
206
295
188
292
260
258
210
301
114
260
267
221
248
253
294
305
126
177
194
223
210
259
267
246
235
280
146
188
244
196
328
114
203
197
159
170
202
198
245
234
298
156
259
209
226
166
291
217
173
234
262
238
217
191
203
214
286
237
220
287
261
114
241
328
170
245
156
254
196
308
231
289
166
195
293
273
241
263
161
228
241
195
185
220
297
251
235
308
126
193
162
252
275
222
257
245
239
178
221
181
226
178
241
214
244
192
200
151
222
233
128
252
184
160
194
126
309
190
212
213
178
195
238
248
163
126
224
249
197
272
253
198
276
200
223
216
185
263
239
190
259
190
198
158
337
270
154
221
181
244
184
219
243
307
305
214
285
172
223
271
229
191
244
235
192
133
231
238
281
223
159
183
193
168
253
181
210
250
169
238
244
300
188
156
198
252
246
275
257
158
214
235
241
302
182
311
174
238
260
268
232
273
228
183
173
229
220
197
205
234
231
191
166
235
292
232
181
237
225
206
241
246
201
179
174
194
269
207
242
212
208
231
207
269
211
181
218
210
296
245
277
215
279
209
233
209
229
256
210
198
168
269
203
286
288
218
262
178
225
309
258
253
235
305
164
253
174
210
309
215
166
214
249
247
219
114
116
212
206
194
233
314
205
254
114
195
179
243
310
198
171
269
223
160
246
227
256
186
243
311
234
241
171
250
321
203
183
254
209
211
181
178
250
251
229
215
263
233
232
201
234
175
209
133
264
234
228
180
194
235
156
242
299
185
199
205
152
269
211
191
282
165
312
255
240
190
216
230
217
283
246
170
215
301
233
230
252
218
194
246
140
232
218
191
255
203
232
179
278
233
229
315
174
152
235
182
233
261
213
191
255
198
227
222
178
246
241
160
174
260
241
259
315
257
207
216
242
290
202
198
176
260
173
155
174
243
281
217
208
114
218
268
256
181
200
269
211
260
223
228
250
283
195
199
269
290
202
264
198
249
283
239
216
219
258
291
231
237
201
220
215
192
239
188
192
189
228
215
200
217
185
253
198
211
222
215
223
142
256
284
254
214
301
221
156
228
183
299
218
256
232
181
275
275
237
233
260
228
198
263
284
253
209
190
178
188
230
144
211
234
194
193
251
239
214
263
231
201
297
225
223
190
233
207
257
206
195
355
229
175
218
270
242
183
231
226
159
218
233
213
215
253
207
170
314
212
287
203
186
191
196
284
233
280
158
175
250
160
228
252
189
195
275
236
215
273
232
213
236
219
223
214
181
250
225
219
220
239
188
235
249
220
228
198
180
308
193
255
264
198
197
286
241
274
306
212
220
235
181
244
290
185
265
250
156
260
234
301
198
293
219
208
204
286
243
208
253
232
149
222
272
222
174
225
196
300
190
245
194
130
215
234
270
253
184
293
251
235
267
185
303
205
297
231
209
206
214
249
281
183
220
205
153
196
257
164
282
168
184
210
149
220
190
237
222
245
259
184
245
182
226
286
194
245
173
133
177
203
200
270
169
253
210
240
293
264
161
238
271
222
276
265
194
263
220
209
256
232
245
261
158
189
273
215
234
192
219
186
198
198
256
296
222
240
165
249
232
258
207
139
284
266
207
219
212
194
283
211
207
293
203
263
347
291
234
158
197
160
247
275
215
289
217
170
326
293
160
226
116
236
220
231
271
229
310
280
186
245
209
216
247
170
270
165
220
259
283
224
252
244
232
241
164
178
197
229
288
211
154
208
143
236
225
196
215
238
231
114
261
277
299
275
195
195
114
214
231
240
185
214
179
267
227
247
290
157
261
301
262
108
208
206
248
165
167
152
217
227
261
258
306
233
180
211
181
189
259
184
245
219
199
202
254
205
186
161
251
239
301
231
247
196
160
146
227
246
254
215
234
205
201
239
289
235
205
197
218
256
296
187
260
246
158
312
191
211
175
358
206
184
175
152
209
229
219
207
268
194
191
156
289
265
223
183
152
250
237
238
223
171
195
303
245
290
201
198
238
188
185
241
306
229
222
176
229
175
255
199
294
203
278
160
240
205
238
225
188
209
239
187
265
309
223
236
277
249
126
233
227
232
188
193
239
149
221
225
217
233
249
280
231
237
188
147
291
232
208
336
176
234
209
274
236
160
191
234
318
207
206
177
248
225
139
242
212
184
114
198
247
186
179
221
260
250
252
246
192
225
260
195
244
198
293
221
239
116
281
200
285
182
244
235
219
249
203
222
173
274
336
265
178
219
186
175
197
211
326
276
250
222
174
191
221
277
157
263
261
159
166
182
226
257
247
202
114
195
198
306
245
225
235
169
290
270
253
234
202
220
268
285
214
233
195
199
242
281
215
286
225
174
255
258
213
200
197
309
242
200
231
196
299
274
305
289
326
255
156
247
236
192
227
209
225
275
179
239
282
238
181
241
245
265
215
206
222
196
277
188
270
180
303
191
211
233
309
221
224
235
252
226
250
160
236
247
196
196
213
257
240
164
230
240
212
314
223
214
220
363
216
255
237
222
251
208
234
295
221
209
160
239
208
237
358
238
219
156
320
234
297
160
268
248
151
306
223
234
160
297
242
126
194
188
199
273
321
285
250
294
248
255
173
235
121
204
195
164
139
173
251
182
165
173
173
198
227
262
217
213
213
242
260
275
268
192
130
225
200
199
238
206
226
202
181
255
201
210
216
257
240
277
189
226
211
146
308
144
293
252
283
252
183
180
209
259
260
126
215
241
162
206
233
247
301
169
203
178
239
262
274
227
222
282
233
196
254
175
240
247
261
209
251
213
242
196
233
167
190
234
232
192
194
256
250
176
281
188
174
253
208
162
212
195
264
225
209
198
126
201
220
194
268
277
248
160
170
257
179
209
181
249
181
284
195
232
232
184
146
188
191
203
348
253
225
234
272
265
232
245
366
208
208
262
197
196
208
267
207
194
275
269
211
204
283
295
189
301
259
208
273
166
269
114
157
214
246
236
238
227
202
209
170
232
174
164
242
222
211
258
209
315
224
191
195
222
228
188
263
252
239
425
148
251
197
231
217
260
139
228
208
273
241
169
258
189
169
271
276
326
156
238
229
241
205
196
230
279
317
211
155
226
258
116
238
280
226
295
215
170
237
180
238
179
222
229
242
223
146
184
239
161
236
208
248
196
237
237
214
227
204
289
194
262
223
252
169
252
211
156
239
245
217
300
218
285
259
234
251
212
308
292
263
145
225
195
274
173
223
235
214
220
288
180
191
277
198
239
185
195
345
262
181
209
178
222
231
186
271
192
205
213
294
243
287
181
261
160
219
241
147
279
206
198
215
231
152
193
198
264
243
173
169
245
178
216
245
248
145
196
175
223
278
204
206
215
293
172
218
237
208
295
144
235
262
186
261
215
210
173
226
272
237
235
150
230
182
194
216
279
236
285
166
279
174
295
186
257
278
231
234
249
268
222
216
170
338
181
214
230
247
178
249
330
221
268
259
200
172
194
234
251
223
260
251
158
264
232
210
312
213
282
200
281
255
224
267
231
206
281
178
246
198
188
193
250
232
220
185
169
254
192
218
232
246
176
270
342
267
264
286
191
268
202
231
264
181
175
269
239
139
114
185
149
281
185
220
216
166
200
281
198
270
200
240
222
260
249
265
198
255
219
234
211
253
252
167
278
262
175
201
277
232
215
242
130
126
330
284
225
227
250
324
241
228
226
248
297
307
271
256
193
193
193
186
248
168
250
229
211
219
252
195
198
231
232
222
281
209
242
311
254
182
239
221
270
139
154
208
217
280
156
249
289
148
247
170
199
181
164
232
198
296
232
304
279
159
195
236
130
172
231
295
139
233
252
114
214
269
234
195
249
261
251
188
221
288
285
276
144
215
232
126
258
246
189
193
178
194
233
159
230
250
197
290
114
245
250
184
221
279
195
250
249
265
160
289
204
200
251
230
154
169
175
260
186
232
199
233
286
199
267
251
257
236
202
170
272
222
197
197
200
291
214
178
244
216
274
168
220
282
161
270
197
222
209
249
238
249
191
181
279
261
244
179
297
215
288
305
179
227
157
210
175
259
288
259
250
305
204
218
114
248
238
224
201
292
224
236
233
181
284
201
264
261
204
184
265
198
205
263
209
186
139
261
197
247
160
152
222
169
216
251
319
185
289
213
227
229
198
194
165
236
202
268
247
165
225
251
256
198
210
302
271
237
253
216
211
214
161
207
158
219
162
155
169
215
192
173
270
235
243
196
289
223
327
232
198
233
220
229
168
203
237
302
200
313
260
297
262
281
200
262
173
139
199
238
158
275
213
203
256
287
200
244
129
181
213
293
240
257
232
199
215
245
223
114
163
175
187
213
215
227
279
284
175
178
223
226
293
255
252
147
267
209
106
154
211
240
238
261
283
252
189
311
219
145
324
240
221
202
236
151
253
241
245
235
219
285
190
288
226
200
180
251
267
195
228
250
276
278
249
248
191
226
261
208
271
240
249
265
209
165
275
297
210
261
245
213
234
254
235
237
284
222
230
178
114
243
231
185
178
160
187
246
293
226
181
225
243
175
204
247
225
279
182
214
268
311
242
198
354
126
202
173
167
126
273
199
114
304
308
234
259
266
198
202
222
288
196
251
145
303
198
249
211
156
180
234
114
240
249
174
204
250
191
224
271
281
213
216
160
208
234
172
274
211
148
246
275
232
262
188
224
274
233
190
181
193
213
219
199
189
199
208
246
285
228
203
231
248
172
230
276
249
178
218
254
250
168
219
204
157
167
229
271
304
263
295
238
206
264
126
207
191
293
198
195
230
178
300
263
192
272
175
276
174
165
158
208
267
287
192
236
222
262
266
139
164
260
162
334
209
207
205
199
233
276
155
209
273
221
114
257
280
221
240
215
173
189
254
271
208
218
164
213
198
175
169
290
181
233
207
205
202
265
173
259
195
194
221
248
189
192
209
237
212
189
207
227
265
235
234
181
228
213
242
237
184
175
278
193
240
221
247
261
307
198
160
304
281
158
206
210
169
267
201
218
274
206
198
233
212
233
247
179
241
224
222
187
164
214
217
266
260
259
232
196
156
184
257
229
214
191
292
233
221
161
220
212
226
190
183
114
246
156
133
260
318
171
186
223
130
253
263
246
245
232
222
126
152
171
230
226
248
199
186
196
266
250
240
346
223
241
227
257
272
229
176
180
207
184
181
173
229
196
325
238
294
241
180
257
186
196
249
275
181
242
260
201
282
244
246
327
253
144
238
227
181
262
207
177
274
190
234
243
235
327
242
160
218
182
260
286
158
192
168
162
330
156
268
205
214
206
228
156
226
279
253
302
229
204
184
201
205
196
181
283
152
149
210
158
194
233
207
243
225
203
192
179
224
256
174
261
230
135
233
263
202
240
276
219
211
275
177
244
208
181
220
230
270
167
178
164
366
271
177
181
235
152
220
231
226
258
287
188
169
192
213
252
345
192
152
219
158
266
252
264
180
196
305
166
211
205
274
220
257
182
206
180
193
305
222
184
231
266
185
218
283
285
223
265
250
227
195
168
244
246
274
249
311
230
297
246
248
141
174
114
173
278
266
286
256
301
219
246
200
165
177
169
203
239
182
270
154
267
221
198
164
245
173
222
193
203
189
257
250
228
179
256
225
220
200
197
233
197
137
222
309
210
160
203
164
213
264
279
248
273
278
176
233
272
264
205
216
255
244
214
223
164
253
190
197
270
249
283
283
272
218
252
223
268
298
220
307
260
254
260
266
283
271
174
235
180
185
173
229
183
210
204
114
164
265
220
219
227
114
221
248
181
151
265
219
223
254
195
243
241
263
178
146
161
201
165
182
155
198
227
249
208
195
283
237
175
205
242
245
193
196
326
188
114
274
262
209
206
160
222
232
206
202
280
193
199
200
236
226
275
223
259
206
195
225
226
258
180
214
197
211
281
221
213
218
307
207
192
221
245
192
215
315
186
200
263
314
239
174
243
174
208
244
186
212
300
155
200
181
225
234
236
183
238
242
246
205
184
292
251
197
272
231
277
255
247
215
235
191
232
260
114
162
193
200
282
168
150
259
151
250
350
210
184
212
306
211
224
252
237
213
240
216
283
151
260
242
240
203
210
258
193
240
275
180
260
203
170
150
114
261
302
356
223
315
253
198
178
294
231
254
191
233
234
257
212
151
198
207
270
214
190
197
208
226
264
194
332
251
196
195
188
292
293
188
196
252
204
219
205
188
190
235
309
232
273
272
221
274
191
198
326
193
157
249
189
240
185
166
218
175
249
209
287
203
152
167
152
205
225
221
269
220
285
265
255
235
268
226
181
250
194
312
207
171
159
239
206
170
254
207
212
126
247
160
258
236
233
214
344
292
250
223
202
315
237
208
237
227
126
175
259
286
208
196
196
217
279
193
269
201
257
222
165
235
259
228
121
264
226
175
181
213
213
190
184
219
286
200
152
245
317
227
248
162
296
202
296
180
146
248
265
130
219
206
161
203
170
194
209
222
250
240
197
265
200
192
316
228
269
223
258
252
210
156
164
221
262
178
194
180
176
222
231
225
281
250
139
206
224
197
170
273
207
199
217
255
226
220
184
228
158
158
152
264
256
191
264
195
234
178
190
309
151
286
254
263
259
277
198
256
175
264
221
181
222
306
209
334
288
241
227
175
114
229
199
289
219
236
164
247
290
292
211
176
139
168
307
220
191
250
206
187
220
233
171
195
211
244
149
177
253
218
230
237
235
207
217
214
178
173
234
160
247
218
173
249
181
176
165
249
172
247
284
212
247
213
193
212
274
245
218
202
230
212
244
253
359
216
189
277
260
295
195
295
231
238
239
233
190
285
193
164
184
160
223
212
163
171
231
224
249
225
180
231
176
216
225
254
230
196
243
273
211
202
184
244
193
141
191
157
281
244
231
222
246
318
175
219
220
174
333
259
315
282
195
211
213
260
270
219
222
230
204
280
180
289
121
345
214
208
161
215
236
149
232
157
208
217
214
148
160
146
211
211
253
283
206
171
233
199
250
219
246
235
206
200
239
108
192
255
214
191
195
208
139
279
146
208
315
242
265
173
242
241
204
299
227
226
274
208
258
165
208
238
273
212
226
244
215
139
194
259
217
175
222
284
187
265
192
232
193
225
267
185
165
169
258
192
290
304
176
173
321
222
192
230
178
223
245
235
279
286
222
252
158
147
208
273
219
243
305
312
158
267
210
173
246
232
253
227
202
214
225
181
209
226
235
214
278
235
210
226
166
237
298
282
297
241
186
208
308
229
179
178
153
211
201
173
200
210
180
152
225
160
282
323
194
253
240
246
223
217
183
184
210
200
225
106
197
252
210
181
207
286
222
178
215
160
248
219
218
235
193
230
157
222
178
211
304
183
228
175
251
205
208
348
300
189
151
259
244
164
240
191
292
252
247
243
146
239
229
270
161
187
219
152
173
233
145
194
157
210
152
204
252
231
147
213
238
205
149
213
224
195
167
199
255
167
114
234
328
235
226
231
279
238
331
126
225
180
291
183
239
170
217
232
197
224
178
218
186
189
165
213
198
229
227
239
194
151
256
160
247
256
248
234
161
214
284
327
264
263
210
186
289
250
222
296
139
232
193
286
174
194
223
233
159
195
264
235
173
222
219
250
266
174
237
154
275
250
230
194
291
182
266
294
208
262
332
262
247
204
237
160
223
289
194
238
229
222
206
227
253
229
262
152
244
217
256
146
190
234
232
225
215
268
204
325
209
266
177
172
182
243
230
217
224
198
244
226
284
239
230
277
289
209
228
234
247
294
243
164
234
245
310
240
219
293
217
234
290
189
192
238
251
268
248
203
190
229
225
230
318
106
199
218
166
194
212
192
280
271
223
232
177
192
244
292
254
274
114
196
216
253
272
248
183
317
285
244
126
240
178
223
246
332
126
171
219
285
217
250
273
179
243
156
276
207
252
252
215
214
218
153
175
210
288
190
263
160
228
260
294
309
208
182
276
192
319
149
290
152
178
172
151
341
241
270
195
190
283
231
227
212
192
314
161
173
269
264
261
260
211
212
219
213
255
176
234
194
256
253
181
168
197
244
255
228
212
260
308
186
221
216
238
321
193
228
176
285
257
219
219
274
226
252
276
228
180
114
234
225
151
139
224
162
134
227
256
255
233
179
170
184
148
169
276
259
303
258
283
211
279
268
201
240
215
325
276
217
225
268
301
252
211
199
306
289
271
209
198
257
267
267
339
285
225
274
284
217
297
190
200
266
233
235
146
237
241
254
260
271
155
203
241
172
267
204
246
218
288
230
233
195
203
215
144
262
139
306
231
268
198
272
262
174
262
224
294
106
209
288
210
215
214
240
170
232
212
188
267
227
246
172
206
233
198
316
179
164
266
184
240
242
228
170
238
245
229
206
255
237
170
174
114
226
296
174
250
231
161
268
177
242
283
203
182
144
198
175
152
296
230
219
198
292
317
206
235
145
195
254
160
260
199
245
266
188
178
306
260
249
268
233
139
263
180
171
207
223
293
239
218
271
265
155
185
239
240
198
202
224
249
176
249
170
273
252
333
216
223
240
191
241
154
160
194
197
247
259
215
229
224
202
166
194
230
180
198
258
196
216
281
191
333
251
268
165
215
144
209
190
184
287
143
272
200
126
208
250
193
209
178
222
256
234
193
270
212
251
114
251
161
250
195
198
198
181
273
247
260
248
276
250
173
175
169
241
273
178
218
201
312
211
216
170
203
227
247
337
289
258
161
252
170
153
335
151
206
277
253
192
203
296
251
236
226
160
232
191
270
247
179
181
213
262
253
197
252
223
170
154
309
244
278
239
225
273
228
323
190
260
202
181
272
223
267
276
198
287
215
227
209
254
260
235
222
232
291
294
213
160
160
203
231
239
208
208
230
186
205
252
361
274
239
200
214
238
196
240
207
200
358
222
250
151
217
160
330
173
245
201
199
194
129
210
327
240
198
287
219
255
264
243
187
251
190
340
265
149
244
201
237
208
273
217
217
200
164
237
285
218
223
238
272
233
272
252
208
235
297
226
217
289
171
246
156
250
265
210
226
214
227
192
226
255
139
267
253
129
271
243
244
194
200
235
146
234
223
311
211
177
224
281
209
224
225
160
197
319
203
186
228
197
249
214
202
108
247
180
149
277
213
200
165
204
178
232
257
248
250
267
168
276
209
262
254
309
225
256
213
318
239
194
340
224
196
149
207
201
260
212
201
181
211
133
284
277
231
207
255
222
274
314
205
194
139
285
248
317
262
264
241
230
232
270
226
177
224
237
156
227
213
294
240
304
180
156
238
229
148
269
312
244
236
221
208
221
208
234
248
192
239
248
180
208
270
292
263
209
283
213
208
183
206
178
212
227
248
239
195
194
253
171
203
210
164
208
211
209
272
236
210
197
255
240
222
246
126
271
182
270
289
263
257
220
247
233
215
148
206
158
166
347
233
139
222
207
268
297
296
268
221
198
288
234
235
187
312
188
242
239
314
176
180
146
270
267
299
311
231
290
213
338
203
286
219
214
169
199
179
171
258
178
200
216
214
200
171
171
224
225
211
238
188
252
234
184
291
294
269
280
179
213
139
181
152
319
268
222
260
181
157
190
158
287
192
200
184
230
350
261
225
180
250
264
211
294
267
206
190
271
177
195
235
238
184
160
239
194
228
191
223
260
281
223
157
254
258
230
281
263
198
245
206
272
285
260
186
226
210
192
199
232
173
249
287
251
211
252
269
219
253
218
178
235
250
228
175
220
291
184
205
264
228
255
239
199
241
252
258
229
225
266
323
226
220
223
278
241
271
295
218
184
285
220
225
206
216
209
144
254
213
228
219
329
192
224
193
165
305
214
219
246
301
141
210
262
277
242
180
162
215
227
211
196
223
116
187
229
206
213
135
213
231
208
215
198
307
213
240
216
151
248
186
213
182
193
193
246
224
178
249
243
227
263
231
236
230
190
212
143
286
214
266
286
274
269
292
248
277
234
208
173
160
285
234
296
287
226
195
195
250
237
166
184
377
184
279
266
194
174
213
267
285
197
189
208
238
192
232
250
217
217
247
148
249
289
195
235
180
195
140
209
244
273
179
191
290
246
200
236
210
218
217
279
253
250
198
365
212
250
283
261
258
264
212
213
281
210
272
275
245
304
207
177
171
238
198
147
165
252
189
285
260
282
176
154
251
173
252
194
208
233
299
307
148
284
229
149
188
227
259
360
193
196
166
275
297
293
252
207
199
181
179
292
229
238
213
231
239
276
214
176
160
161
214
205
177
228
175
272
222
247
158
319
258
242
312
218
248
244
194
304
238
177
218
236
169
196
244
276
261
160
254
344
192
256
231
285
228
279
234
240
206
226
204
169
214
211
256
196
263
213
178
240
256
235
201
218
296
203
186
203
114
255
197
160
194
205
215
261
218
227
208
247
247
149
179
275
232
240
278
179
278
283
162
272
376
288
114
114
277
262
145
191
260
278
201
212
240
288
221
227
200
269
196
250
302
226
261
204
257
198
296
231
232
152
230
195
300
196
234
238
267
236
213
152
205
220
146
253
256
228
182
148
177
225
227
200
205
174
178
239
349
205
180
224
176
218
157
164
213
239
239
237
221
211
170
217
238
234
242
340
200
160
160
221
167
238
232
238
209
181
219
161
212
176
264
239
208
221
262
230
206
218
331
152
225
193
198
237
210
116
236
251
206
202
252
288
194
255
230
306
244
225
217
220
240
177
247
166
182
180
197
200
195
280
221
175
290
295
233
253
186
256
203
274
145
231
289
243
188
128
253
309
169
221
206
193
164
186
173
292
195
228
312
178
217
242
199
221
248
168
191
325
249
151
247
298
208
201
221
225
213
234
249
208
261
267
234
234
260
241
229
260
230
252
204
189
253
243
243
314
257
179
173
270
234
227
309
267
306
222
205
319
234
272
255
172
281
255
329
238
272
219
215
271
231
317
258
208
277
192
236
312
194
205
195
201
289
225
160
276
211
303
246
228
189
170
257
215
283
201
259
277
274
194
212
168
184
126
114
214
129
234
283
254
176
242
258
235
281
202
160
252
162
230
215
244
188
271
197
201
222
288
290
277
355
266
225
162
253
198
189
306
228
246
204
219
148
245
249
251
234
324
254
267
245
216
277
270
262
188
224
243
261
239
197
207
251
126
265
183
222
225
121
188
173
331
251
263
160
149
206
237
144
245
214
248
225
175
192
223
154
189
234
238
212
227
210
228
189
256
241
214
205
258
196
182
195
218
194
197
247
229
220
296
187
213
206
181
192
165
238
190
338
221
169
149
219
246
178
223
279
256
225
175
295
282
272
217
302
224
213
257
247
273
282
175
206
236
226
267
242
333
193
237
241
308
268
236
304
285
307
213
178
114
251
266
238
263
303
224
202
139
199
226
177
244
280
267
289
176
196
267
223
204
225
207
220
208
208
170
224
193
181
213
212
157
275
261
146
218
297
240
256
174
273
239
274
247
226
167
277
145
276
211
144
236
190
207
208
239
232
146
173
190
146
224
241
252
218
190
178
168
227
263
224
287
144
234
164
281
225
337
224
286
211
284
152
194
232
185
245
178
152
221
273
151
185
202
200
259
244
233
257
229
287
240
214
238
213
195
264
218
240
247
236
195
173
212
271
214
227
196
280
279
196
284
260
245
217
276
251
227
237
274
225
251
260
172
201
165
189
235
209
218
224
223
114
184
225
218
363
256
266
196
228
264
259
201
203
219
253
258
242
193
223
236
191
231
260
219
238
239
182
187
232
219
251
245
172
242
220
195
323
244
243
197
175
172
114
314
158
245
307
200
156
154
194
114
173
256
177
251
181
184
248
228
228
200
200
283
183
211
194
279
323
240
213
198
158
226
177
272
272
161
238
250
294
232
193
263
219
205
114
246
133
212
308
273
184
198
248
184
114
252
275
190
278
226
288
114
180
255
158
178
212
279
206
275
175
335
313
308
198
130
234
219
270
220
283
231
114
256
202
228
268
248
232
174
264
176
191
260
271
175
201
238
214
249
173
250
216
162
184
286
290
211
162
192
225
219
249
254
245
184
182
244
307
209
207
217
231
210
180
198
169
214
176
174
229
223
167
114
258
246
195
282
259
225
217
252
257
198
271
212
173
179
199
255
209
268
228
188
265
114
204
174
178
161
244
179
114
243
264
255
308
275
251
206
250
272
273
290
215
180
299
254
230
156
212
235
236
260
170
234
305
175
241
232
148
304
114
232
279
250
181
214
211
244
212
206
165
253
195
243
175
273
203
244
257
289
219
307
240
214
247
249
238
258
213
284
228
191
275
263
160
173
174
173
171
196
249
228
225
231
330
292
173
198
203
203
224
153
146
149
231
281
214
292
267
179
196
250
240
298
258
250
184
192
261
220
240
180
216
305
313
238
269
281
201
175
240
204
114
247
295
114
217
240
204
178
254
205
268
200
285
167
212
230
170
161
256
196
180
229
241
205
201
211
265
270
207
194
251
186
218
256
281
239
183
217
151
253
295
280
215
225
250
291
229
239
139
220
195
146
253
219
241
256
152
200
277
203
174
221
249
217
185
271
187
198
250
227
271
248
170
251
349
173
222
156
181
249
231
269
291
249
187
168
242
225
256
267
229
169
262
194
242
214
222
177
216
216
237
228
243
256
237
238
238
269
185
194
227
240
251
225
211
279
229
240
200
220
279
221
194
270
193
280
224
238
330
236
201
255
227
203
260
242
157
330
249
287
219
126
273
126
202
162
218
249
314
231
160
220
212
325
129
178
189
187
207
258
257
227
258
162
267
210
139
239
277
202
216
265
191
227
246
360
188
191
199
346
232
207
239
246
258
225
254
291
310
256
203
212
281
139
225
158
253
231
214
262
217
216
207
156
284
240
220
195
267
204
245
234
239
269
282
202
230
258
165
247
228
271
114
206
290
198
213
186
203
269
284
211
269
246
207
201
263
288
219
253
201
230
187
224
166
289
279
157
235
213
233
190
183
206
236
270
139
213
277
209
160
241
175
213
148
179
263
160
206
245
250
231
257
197
254
245
191
270
157
249
225
231
235
137
215
207
236
277
240
200
175
302
252
217
211
217
299
219
175
180
226
170
217
116
186
222
327
160
236
255
244
235
193
159
375
196
180
205
320
211
229
232
218
204
289
248
167
216
228
339
208
271
254
246
235
262
190
220
189
255
288
234
246
196
171
241
281
160
212
249
194
201
222
182
215
284
173
242
254
193
279
307
274
274
244
258
223
213
242
251
252
267
195
230
234
197
252
181
241
250
308
199
202
281
261
233
208
194
304
259
134
247
261
268
302
221
206
288
244
181
225
226
194
277
205
194
228
221
216
179
348
238
200
208
224
126
278
180
223
277
169
173
245
213
261
262
275
276
178
196
204
214
208
159
180
218
232
192
327
201
170
265
297
163
233
258
236
189
224
325
243
220
203
267
253
302
195
219
181
250
207
213
169
217
249
281
173
243
247
255
180
180
167
217
225
194
268
261
192
205
278
235
194
195
225
176
152
231
202
240
217
195
223
215
229
231
258
229
196
272
271
218
243
214
240
260
256
236
188
201
251
182
228
139
274
255
226
201
224
211
266
212
183
277
232
266
221
221
217
181
216
211
271
195
234
303
116
160
244
254
231
264
214
215
260
261
227
208
196
181
198
207
168
148
240
228
242
252
310
316
258
235
183
181
194
231
262
198
296
243
270
217
139
235
213
208
211
244
274
200
177
224
177
279
272
302
217
168
162
180
163
148
194
234
235
243
272
193
247
229
235
180
194
233
214
259
222
277
253
241
228
256
159
176
255
272
206
264
217
202
165
252
231
184
163
207
218
303
235
219
249
139
167
218
200
211
243
137
223
151
219
241
229
209
297
223
249
160
177
214
187
273
195
251
251
268
221
258
244
335
227
247
273
174
268
168
212
232
192
193
198
294
210
206
130
279
209
212
255
146
205
168
262
193
228
239
114
229
239
223
150
258
212
298
202
189
238
221
251
314
114
175
188
234
258
203
260
237
193
245
106
263
272
262
203
227
144
249
173
183
218
193
214
198
196
258
268
354
156
218
267
270
217
164
237
271
203
311
255
214
291
251
209
237
222
231
195
157
222
307
196
144
176
285
174
289
229
271
202
207
263
195
178
184
234
189
255
163
196
262
298
210
221
130
184
211
188
160
170
228
311
243
239
252
259
285
192
173
154
220
315
178
273
154
234
262
151
237
190
185
292
198
194
227
189
283
269
189
194
256
181
182
223
231
249
260
229
232
152
255
208
205
190
241
380
272
327
214
189
195
183
258
211
173
146
237
153
221
216
280
231
285
266
235
200
241
212
275
259
222
197
249
201
274
223
225
151
211
195
254
202
280
170
220
252
279
233
167
207
295
193
185
270
248
248
126
114
229
295
175
281
285
213
281
164
332
222
201
261
202
250
270
280
139
258
284
301
183
129
198
175
205
161
281
279
200
199
330
277
147
208
259
180
217
239
191
191
219
196
178
196
252
200
207
267
231
173
188
236
241
222
193
247
231
194
275
201
309
260
221
236
356
209
201
227
246
241
212
232
148
178
156
193
232
233
276
196
248
248
320
192
299
252
144
180
259
186
332
256
243
176
156
237
223
215
234
227
248
231
170
209
226
231
255
175
206
200
169
167
259
236
235
159
184
181
216
233
252
191
139
229
248
322
239
202
251
238
203
305
264
172
215
381
208
255
203
210
238
242
291
260
296
272
198
275
196
198
246
222
202
175
173
295
188
204
170
199
192
214
260
297
206
225
181
181
263
347
236
181
219
158
223
224
223
232
174
233
175
176
198
233
232
161
233
211
238
262
160
183
260
172
192
331
269
248
295
191
296
258
243
279
240
235
215
246
247
255
235
211
157
231
258
270
211
169
191
139
203
355
169
310
166
253
154
208
150
200
178
194
169
126
239
237
198
178
299
114
200
278
242
231
206
254
218
285
262
186
257
201
183
235
259
201
121
202
237
189
203
266
204
282
255
170
234
201
148
130
180
227
222
154
237
176
247
230
258
177
139
267
195
173
221
240
167
270
279
176
256
305
186
200
219
205
204
197
245
287
230
251
226
232
280
211
145
229
301
243
195
242
152
181
192
250
240
180
218
299
184
306
235
220
279
259
182
178
218
203
189
216
204
284
188
263
248
244
198
182
192
257
139
240
268
164
195
211
257
241
246
176
217
193
274
249
222
185
210
263
145
185
228
269
178
230
253
244
234
210
179
266
263
204
258
208
214
159
167
213
215
248
236
238
255
234
253
274
206
236
163
235
206
236
241
270
247
217
305
211
295
190
224
274
218
200
246
200
199
278
199
241
154
269
244
180
244
230
274
222
184
206
263
170
230
243
191
198
245
246
205
195
158
178
259
191
282
220
221
241
180
183
256
242
208
260
148
231
200
235
264
186
169
166
154
241
274
213
233
285
234
250
257
178
164
230
183
185
202
308
145
233
234
200
217
222
193
206
227
245
272
270
233
262
211
168
188
221
271
194
173
252
266
228
171
305
170
173
232
114
157
169
156
157
183
263
206
247
195
226
199
201
229
231
239
189
236
160
181
216
267
242
281
287
224
261
199
146
217
291
256
233
251
230
251
224
228
295
224
255
232
217
188
206
214
173
206
256
194
253
201
278
212
228
221
203
245
226
166
216
183
195
192
173
199
218
249
184
222
194
256
166
200
209
234
185
216
239
255
319
202
122
239
252
243
309
199
244
241
207
231
270
262
208
235
247
208
217
238
199
245
214
294
195
283
212
296
192
243
158
209
175
214
170
246
219
240
266
214
264
173
220
139
291
203
199
192
234
178
210
262
159
259
229
225
166
221
196
262
203
273
236
151
212
253
206
248
215
270
249
180
208
218
233
226
258
273
255
236
212
251
314
191
181
235
175
269
299
226
305
213
239
240
285
225
161
249
285
263
200
177
190
291
283
241
283
209
230
174
203
255
215
208
275
209
166
204
178
203
200
219
239
198
272
208
211
222
239
242
223
187
234
186
242
279
184
179
219
268
200
249
179
185
291
196
165
264
160
243
251
189
114
248
272
170
230
248
245
244
174
267
167
193
180
231
252
278
257
114
225
243
223
231
192
184
255
193
281
221
269
309
243
171
219
201
149
251
221
292
158
188
233
261
180
165
218
163
179
214
256
211
114
229
195
270
213
203
312
269
170
228
244
172
208
217
170
205
234
191
244
191
220
161
202
255
199
181
152
309
161
227
218
255
283
264
251
270
174
259
207
228
190
267
223
246
233
201
185
170
179
210
203
231
175
212
243
209
233
290
254
247
252
218
259
266
229
257
249
173
177
238
221
193
260
163
247
204
114
249
276
231
275
160
363
154
223
261
274
220
186
235
218
177
196
226
307
270
187
226
246
188
321
283
239
185
205
214
170
225
144
212
238
236
182
274
236
261
228
198
246
191
277
279
266
269
246
213
233
156
177
170
264
149
293
173
233
258
215
154
271
174
207
199
224
260
202
233
257
258
186
235
212
207
214
199
213
148
262
170
200
283
158
251
126
248
218
232
260
230
195
274
116
186
106
180
349
245
239
184
241
238
226
253
248
216
249
215
205
345
273
222
194
221
246
250
243
180
158
194
178
314
191
229
160
234
252
225
309
210
227
200
242
158
214
287
108
218
204
204
297
210
376
270
164
156
200
172
219
175
182
193
276
225
256
234
276
166
208
205
199
185
200
165
194
219
243
230
229
296
174
287
200
324
184
259
262
209
208
215
210
173
178
189
208
192
225
186
266
235
311
172
126
186
220
264
177
266
248
224
153
236
207
175
201
195
296
188
260
194
281
289
241
212
202
212
180
286
130
289
242
238
161
203
308
255
275
228
288
201
266
114
340
156
267
187
176
235
330
226
191
217
152
224
192
230
218
160
158
198
215
159
244
195
323
223
250
196
283
176
187
188
286
216
156
217
243
220
226
263
199
240
208
223
226
234
299
225
205
114
261
173
215
160
166
220
258
196
198
216
214
233
230
228
314
211
231
211
198
160
181
263
219
217
155
288
202
198
247
190
240
234
255
226
233
233
281
179
249
200
183
270
208
204
190
289
239
288
218
149
146
173
195
213
259
236
179
108
202
265
180
203
177
214
273
252
228
186
183
227
218
279
203
248
220
234
282
269
106
263
271
261
279
204
200
235
169
206
145
205
214
222
180
121
213
147
154
192
159
268
170
256
191
295
181
281
208
257
165
184
181
255
259
204
248
174
249
339
211
214
220
237
180
251
210
309
193
250
302
208
298
234
249
177
155
202
226
193
191
285
262
283
251
197
182
192
293
244
214
185
237
214
300
211
160
220
244
242
238
215
223
259
244
260
175
190
283
211
151
230
257
209
191
250
203
260
213
247
242
180
224
209
185
283
179
198
197
288
237
223
259
235
179
168
208
164
276
286
182
214
294
227
161
274
271
236
291
239
182
219
234
227
158
245
189
206
215
327
225
194
269
194
234
259
221
201
255
176
240
174
191
243
303
310
187
185
235
209
166
188
275
215
198
292
241
231
249
247
244
195
217
237
235
193
267
282
168
271
211
211
216
186
205
248
249
282
240
225
216
250
233
220
206
222
246
232
210
255
251
192
275
249
114
247
190
284
235
260
183
224
247
233
205
267
226
243
253
249
174
205
285
217
108
271
337
208
208
280
238
181
134
250
274
259
234
239
189
193
255
234
245
288
238
182
156
170
223
265
270
152
248
294
193
133
175
184
243
226
187
156
222
213
211
308
250
218
244
229
164
227
224
237
255
224
233
175
241
289
317
278
194
306
152
239
199
229
189
243
213
283
189
221
290
224
271
227
225
248
239
187
195
292
192
175
255
212
256
286
216
210
328
194
254
227
255
200
193
160
271
215
149
167
199
177
206
245
114
234
185
274
225
272
216
250
227
264
186
215
215
181
247
221
261
211
180
214
161
207
260
186
207
247
292
225
137
220
220
114
173
254
263
260
243
227
205
176
235
234
261
261
251
178
240
203
225
133
255
188
222
222
199
190
229
264
214
130
230
198
298
241
232
256
210
192
253
221
264
114
215
202
219
152
173
173
294
180
205
207
250
146
152
212
214
240
205
247
198
283
213
245
267
264
331
240
229
315
198
171
188
203
241
232
260
256
246
246
235
309
214
209
162
208
170
285
222
197
220
166
254
256
273
192
169
229
196
282
242
241
196
245
281
216
233
227
266
200
209
210
184
253
239
254
190
299
210
227
247
163
236
210
218
249
224
197
200
242
184
294
166
192
277
195
285
189
240
257
230
160
213
230
219
278
214
230
223
207
266
198
172
232
185
354
223
152
265
289
177
233
179
264
149
221
227
295
216
217
292
203
220
204
227
269
184
274
173
196
227
167
181
309
193
279
288
260
257
183
217
170
242
218
260
203
220
259
178
116
290
192
250
278
219
227
179
278
240
216
259
263
224
175
238
226
187
214
241
251
246
205
226
233
245
231
251
259
274
161
239
210
281
221
210
260
217
189
134
234
183
252
169
238
164
251
213
215
179
206
155
228
185
282
234
199
157
223
213
209
201
230
180
203
245
242
234
275
146
205
189
232
193
200
251
175
244
192
219
283
160
272
242
246
269
262
213
250
244
184
162
219
177
255
248
156
246
247
233
233
192
175
296
279
258
235
262
270
225
175
216
245
248
253
166
220
256
345
243
265
231
223
196
229
206
126
195
199
220
133
261
181
170
199
310
214
191
226
242
246
270
212
269
247
262
258
226
232
240
223
178
310
183
214
203
253
210
183
233
191
206
228
185
259
176
270
185
326
228
213
236
206
266
193
160
184
249
307
231
276
240
276
257
191
299
186
234
198
253
276
328
227
321
173
268
243
247
156
257
226
209
240
242
282
195
241
194
190
214
222
237
208
178
243
228
222
184
263
299
248
231
198
248
244
187
246
244
195
268
199
239
290
242
272
304
231
284
252
213
170
178
151
230
158
196
213
285
187
238
268
309
314
270
221
214
215
251
249
266
252
194
198
174
273
216
214
185
237
261
260
184
179
192
303
230
200
236
285
195
269
295
193
233
191
223
220
169
285
245
180
224
288
249
235
169
270
227
198
273
237
170
217
245
204
219
215
334
237
262
211
221
266
189
235
269
263
249
205
269
199
267
237
214
204
224
305
297
193
165
194
235
181
178
329
257
198
196
198
186
257
192
114
260
192
193
209
245
226
248
187
175
206
277
234
249
206
262
211
186
245
252
222
174
270
146
174
139
223
194
283
207
361
193
203
239
272
268
114
145
139
270
223
221
189
207
236
213
291
299
244
130
214
189
175
241
198
222
309
170
164
221
349
280
221
260
260
227
183
267
374
238
222
221
246
233
187
215
249
184
199
208
248
202
181
166
256
259
180
228
209
245
198
256
240
242
178
223
260
155
159
235
203
196
204
337
235
168
226
212
232
281
243
309
233
285
252
223
243
220
200
255
204
235
242
202
189
225
203
304
285
160
207
242
271
164
252
167
297
223
256
185
206
277
277
218
252
282
235
194
230
173
114
264
256
209
203
238
220
193
178
206
242
266
213
276
261
221
209
308
170
207
284
255
259
303
176
259
232
160
232
201
216
257
169
218
265
177
190
178
245
224
251
198
198
277
297
210
147
210
230
234
242
276
310
238
206
212
273
277
249
218
170
269
116
242
258
210
211
219
152
240
192
283
273
265
193
290
219
170
272
250
180
276
190
187
233
305
238
193
264
258
286
246
161
156
200
220
211
255
263
202
160
202
241
152
220
151
298
220
196
224
247
262
156
239
211
194
177
158
190
224
219
283
263
260
244
248
224
285
178
225
246
231
152
173
178
200
219
281
242
230
186
332
240
277
207
290
268
192
172
196
183
177
267
129
180
281
229
248
299
181
179
166
192
287
230
311
235
211
300
214
257
175
195
226
121
238
229
220
235
195
200
367
312
181
209
185
289
249
222
204
278
224
293
231
296
249
179
178
194
246
162
146
231
249
279
201
251
234
188
187
168
244
221
246
234
250
229
190
247
171
214
230
244
312
134
296
235
208
238
215
233
251
265
176
224
126
260
252
217
291
252
197
203
129
160
206
220
166
230
179
191
355
195
278
256
221
214
297
230
116
233
263
274
181
243
156
186
204
237
231
265
258
211
281
224
294
252
174
255
199
187
206
232
171
179
275
266
264
272
182
192
245
178
234
173
179
157
234
201
307
326
182
268
192
208
225
192
220
231
198
257
273
243
220
253
261
189
160
225
205
234
197
179
126
295
255
212
190
167
215
238
212
210
194
170
244
146
206
145
299
185
181
239
214
320
228
184
210
114
247
258
201
177
241
257
185
121
165
253
242
181
223
187
229
230
168
178
242
222
257
256
238
316
188
242
213
260
265
281
235
282
295
206
273
247
129
223
259
152
178
259
225
173
191
195
174
305
183
236
165
183
239
231
250
211
167
196
233
200
296
195
260
246
220
300
250
204
267
255
156
230
296
156
251
274
275
318
264
293
194
183
299
174
258
180
266
268
239
270
261
175
239
216
216
249
218
265
271
203
183
285
203
192
148
260
216
203
215
276
181
253
219
195
267
213
254
187
204
157
215
201
247
276
245
214
184
199
242
252
292
238
367
179
183
243
213
206
209
215
290
156
252
304
126
221
309
308
193
252
193
268
354
223
263
234
225
235
195
232
238
267
204
208
246
264
205
327
220
174
179
251
205
223
192
193
181
206
176
255
254
284
272
171
161
178
151
223
260
196
240
161
266
270
255
206
188
244
201
226
271
162
203
229
217
262
160
248
285
233
238
141
198
300
299
160
198
251
231
274
292
286
139
270
217
297
196
207
167
254
189
269
210
247
186
219
209
191
245
209
233
178
192
179
243
232
238
202
183
274
232
244
178
231
160
250
300
174
292
215
182
183
205
126
220
252
220
267
191
217
220
267
180
216
191
193
176
238
219
171
170
255
173
240
202
253
217
209
190
213
209
235
241
223
233
175
208
213
211
240
201
278
237
231
288
208
284
244
361
257
212
280
221
189
314
276
211
247
253
175
241
249
149
214
187
203
232
137
240
259
193
225
180
152
173
172
261
242
249
253
252
272
166
206
267
175
235
180
237
243
266
272
213
202
241
166
322
323
180
152
210
174
251
202
173
214
250
222
200
151
227
234
299
217
114
220
126
206
269
188
184
238
233
215
172
275
233
217
203
193
306
271
218
181
295
252
178
330
172
258
255
253
255
277
234
216
190
228
183
226
155
305
306
173
186
221
287
242
205
244
287
215
207
200
245
161
223
215
236
206
248
114
232
254
296
231
247
229
229
199
235
139
197
319
232
255
225
178
170
243
216
215
310
261
228
218
260
217
203
318
193
170
211
315
255
302
158
189
169
222
277
198
244
207
287
195
235
218
170
168
226
239
204
283
249
181
250
291
218
199
257
283
251
209
146
114
235
237
226
145
193
208
174
207
233
179
212
317
313
177
180
194
265
213
213
202
192
242
226
247
200
266
243
129
193
223
280
177
207
230
209
287
214
174
250
243
240
179
200
205
213
239
235
200
207
271
177
178
265
234
224
221
169
186
264
191
249
239
213
232
249
217
236
249
237
275
302
231
247
192
204
217
269
197
290
185
149
276
191
260
196
200
271
235
257
283
149
291
193
241
211
219
184
146
283
188
241
254
182
302
193
204
222
249
212
209
260
305
152
184
283
255
284
203
199
238
233
233
220
245
242
297
179
242
230
310
250
179
290
175
172
159
270
195
211
166
200
276
219
214
219
177
179
242
304
243
207
213
226
170
191
145
239
164
310
215
206
229
178
238
235
181
194
216
254
199
217
209
286
266
237
289
178
168
256
197
203
196
192
218
240
268
145
249
230
108
196
222
299
201
263
238
283
240
203
235
322
171
214
309
235
225
170
254
214
205
203
298
297
220
202
179
246
255
200
202
210
190
202
219
206
239
256
232
232
238
179
272
224
229
249
245
207
194
164
243
258
217
216
276
232
233
170
254
227
209
220
235
200
189
212
167
209
237
219
260
239
256
247
270
194
222
167
263
198
214
257
213
279
245
160
236
206
252
318
319
279
241
243
244
234
221
199
243
259
192
277
205
279
264
219
198
195
238
277
208
236
202
186
252
144
265
192
377
164
202
221
230
236
203
280
214
260
234
243
219
187
194
211
241
276
204
245
240
225
230
250
198
185
287
249
276
296
242
218
229
205
178
299
210
169
238
181
249
225
345
222
211
283
207
152
247
236
250
193
203
188
245
237
217
129
262
165
152
192
248
184
241
265
214
221
245
207
213
294
205
239
175
158
241
167
114
218
203
220
233
232
239
199
229
174
198
221
240
205
174
256
219
214
277
237
203
232
207
203
188
215
225
168
229
182
209
256
247
196
290
214
213
219
174
276
362
178
210
239
277
237
238
206
270
167
256
222
183
223
310
144
192
240
273
249
183
225
186
260
181
172
283
274
283
275
249
222
318
178
220
250
266
167
217
281
315
190
197
236
262
171
272
166
232
285
252
247
247
252
225
211
263
114
176
205
189
248
238
189
228
259
196
151
210
334
293
278
208
313
214
271
214
165
226
220
280
192
243
333
212
209
245
188
198
274
252
230
198
245
155
218
211
233
177
234
197
225
256
126
231
159
265
259
228
209
242
197
213
211
278
203
238
201
165
273
185
256
223
196
160
179
251
252
244
199
183
203
247
262
258
202
270
161
210
271
258
212
211
126
235
197
195
189
269
179
147
228
168
233
192
202
226
249
254
145
200
194
238
220
121
226
197
316
186
191
178
222
278
190
218
200
228
133
306
173
266
185
262
168
266
283
249
241
203
196
218
229
276
259
308
261
242
195
258
197
287
216
238
308
240
138
192
236
278
229
244
180
183
195
207
178
218
277
288
287
200
234
261
261
218
258
234
322
198
262
192
229
246
221
173
293
295
231
208
278
227
218
195
276
235
180
262
210
269
176
237
210
171
237
263
227
299
208
156
205
181
206
288
301
189
166
241
245
296
218
199
152
290
228
236
290
168
298
205
206
291
237
257
262
206
235
198
298
293
165
235
262
299
303
191
278
297
282
259
129
294
265
231
278
114
246
219
281
237
236
251
201
193
259
245
166
282
219
168
254
257
212
213
240
230
222
223
239
215
342
192
335
170
116
245
214
222
204
241
180
249
227
252
149
248
193
245
220
199
181
240
254
218
252
246
215
188
225
234
210
170
253
177
277
176
174
147
299
261
261
249
229
166
194
231
313
220
214
277
200
176
274
196
258
234
215
114
229
180
227
280
292
246
216
246
213
202
195
290
288
286
258
246
237
236
239
200
184
299
260
214
219
180
275
152
230
182
207
247
247
160
297
200
195
191
268
220
260
321
195
188
189
175
402
214
221
253
169
214
239
172
247
178
226
191
249
216
295
264
341
200
193
277
218
252
228
245
249
169
290
200
194
205
254
291
196
205
215
144
240
263
209
282
146
237
181
198
218
278
219
219
179
243
174
192
188
281
269
178
211
219
282
268
225
242
255
266
269
145
205
203
225
273
158
193
228
193
241
300
249
233
219
238
159
231
279
274
247
285
245
308
203
198
244
250
213
220
206
146
186
224
213
248
231
199
256
214
139
198
238
278
216
230
255
200
223
279
267
187
287
232
227
204
201
114
290
238
181
240
217
252
264
261
253
287
145
215
281
212
289
211
176
225
324
169
222
108
272
225
250
268
235
314
265
154
207
256
241
199
207
217
285
149
237
216
208
237
221
265
196
229
301
114
186
229
226
198
235
324
114
182
183
233
258
219
246
185
239
220
162
276
200
232
196
235
221
195
302
225
145
294
239
234
230
289
190
279
203
267
233
242
222
292
206
171
270
246
243
222
233
221
173
238
253
315
195
260
253
186
178
251
291
253
183
259
228
213
270
166
209
158
191
247
222
106
211
258
114
251
156
226
266
274
252
223
270
196
212
168
254
137
114
235
209
241
295
214
231
221
252
319
199
298
236
229
170
126
263
234
228
184
192
183
242
173
215
214
325
207
233
272
247
184
241
245
248
233
266
154
173
159
195
254
266
235
282
267
285
246
171
273
160
278
323
244
257
280
196
252
242
271
241
226
227
277
214
114
186
254
181
173
196
235
151
171
212
242
253
271
183
247
266
277
192
225
203
181
193
259
245
178
209
216
255
197
224
240
245
202
187
191
245
180
154
201
232
248
208
166
234
114
240
236
206
171
292
191
212
258
192
236
215
230
244
217
154
252
222
169
202
193
363
206
332
196
164
214
230
253
227
204
233
246
208
188
208
145
229
367
174
191
226
261
192
197
299
232
197
199
236
214
252
249
219
176
283
130
203
167
259
235
203
290
225
212
196
297
216
145
307
229
289
219
246
225
203
291
209
232
114
209
175
211
266
237
283
166
237
204
198
214
244
214
181
188
290
208
165
250
196
248
240
252
235
194
225
206
222
303
170
214
151
180
169
175
206
236
230
200
243
271
227
114
204
210
221
281
267
202
202
218
200
243
211
239
309
189
268
305
195
256
200
253
167
242
313
259
250
210
208
220
175
223
201
193
252
170
248
229
223
196
366
160
185
239
196
212
154
171
158
241
233
249
244
245
174
247
266
208
164
201
159
208
231
254
226
212
178
260
271
181
162
255
223
221
240
211
219
179
344
174
246
256
221
180
273
209
210
295
203
194
278
217
219
254
208
215
250
259
238
153
292
268
211
216
246
210
240
184
246
156
205
209
263
206
233
230
216
299
208
243
183
207
212
222
274
252
201
214
177
296
327
237
181
209
200
195
186
198
185
248
184
178
245
284
290
298
220
254
210
223
226
183
330
273
181
145
274
306
210
177
203
219
247
161
211
253
233
147
263
161
300
298
227
212
166
218
245
262
216
303
222
252
238
152
201
214
185
186
220
262
169
121
264
319
234
256
170
210
265
196
286
173
295
266
256
162
240
235
207
215
156
330
249
253
229
190
166
226
214
238
252
248
248
226
246
205
160
237
248
226
204
247
189
156
219
242
169
194
189
237
294
245
249
217
216
178
266
282
237
228
215
229
268
270
232
243
255
236
216
241
169
227
198
207
160
231
283
206
223
294
333
201
262
175
177
233
230
249
179
218
251
295
180
268
218
238
209
277
207
182
198
295
216
261
180
221
232
193
202
205
181
239
214
188
262
229
248
160
233
246
237
252
223
295
225
265
263
152
261
169
227
246
154
301
217
283
230
207
238
152
259
245
297
267
247
226
194
208
151
233
189
274
272
310
126
227
204
170
191
290
284
171
217
252
202
212
144
274
207
282
196
267
173
254
240
272
271
234
216
197
278
240
203
217
226
210
285
175
213
242
275
252
250
279
211
191
218
229
114
243
254
114
239
268
199
213
245
242
181
247
264
222
146
178
202
171
221
169
280
212
240
197
286
258
220
174
265
194
194
170
229
266
206
291
192
288
217
173
258
108
144
180
247
252
247
235
145
277
265
231
178
207
263
156
175
188
217
174
260
256
218
244
208
263
240
270
206
224
232
232
234
241
314
285
182
263
284
178
220
280
235
271
248
245
210
187
208
232
217
285
200
200
193
253
225
265
206
259
282
181
206
250
293
288
197
228
195
227
221
233
196
319
235
195
212
283
243
228
198
243
225
108
203
244
263
276
251
309
207
221
245
257
188
178
211
158
147
217
203
207
190
226
133
171
229
258
241
173
277
222
285
213
228
168
239
202
219
211
227
233
180
265
263
267
187
266
224
243
225
169
208
220
237
283
257
272
181
207
221
265
187
180
288
220
281
173
286
196
160
264
260
250
270
244
330
222
178
165
213
291
285
290
219
195
287
233
213
214
180
259
248
283
297
177
213
253
316
286
183
186
253
240
169
292
325
192
174
194
253
272
177
189
209
152
289
234
197
245
227
306
221
267
202
221
202
106
189
223
193
114
299
258
189
281
237
210
175
266
251
231
170
263
245
202
269
184
178
225
189
248
273
154
230
235
279
233
186
154
156
160
225
253
227
261
214
220
222
215
159
225
183
222
359
217
250
239
146
215
140
173
302
211
273
279
212
238
206
209
245
357
211
183
156
262
248
277
241
255
169
173
204
235
268
245
356
273
173
219
191
250
173
279
197
156
302
234
174
247
244
180
256
243
269
190
249
165
224
171
198
253
270
114
315
316
211
186
252
287
254
204
248
216
252
204
218
333
214
221
252
309
235
240
235
256
259
248
251
207
258
280
287
324
178
231
133
274
226
265
202
301
174
292
231
312
260
208
278
223
257
161
275
197
280
207
164
250
226
211
145
161
140
240
193
236
225
225
268
139
223
247
190
262
160
229
237
261
196
218
162
114
198
206
253
253
284
239
170
250
288
249
201
229
258
245
181
220
242
238
303
274
167
270
266
170
271
171
215
265
250
239
170
244
217
232
179
266
287
259
206
194
190
285
211
219
267
256
227
237
233
277
114
218
233
139
272
225
302
169
232
108
192
247
251
223
257
158
232
274
224
228
214
214
269
261
238
239
208
180
114
205
270
252
214
169
174
176
287
184
247
289
211
262
116
169
170
324
205
310
191
178
245
220
276
194
180
239
209
225
246
254
273
214
224
212
260
212
198
303
188
271
167
211
163
211
211
253
254
221
211
290
201
175
297
236
171
160
239
231
145
212
187
232
160
158
218
175
263
158
220
240
228
145
182
239
283
207
197
161
277
225
214
234
284
286
184
235
288
188
253
231
114
219
244
217
139
200
300
214
152
265
186
229
214
215
275
211
284
253
270
253
183
252
260
303
168
284
220
171
133
206
259
219
228
194
227
246
173
186
219
215
185
224
324
207
255
143
141
281
283
251
205
278
251
276
264
190
257
152
178
188
212
200
195
270
241
229
206
239
197
252
249
304
314
154
188
184
355
276
207
226
195
258
221
165
108
285
231
264
198
230
235
251
185
288
288
229
240
194
240
239
277
205
253
170
181
241
170
159
201
258
198
249
266
156
202
240
263
196
216
264
308
197
255
239
233
170
215
203
236
212
193
267
236
193
130
210
211
170
192
282
238
205
185
116
145
238
235
193
300
207
301
215
207
262
253
241
193
291
200
201
200
254
218
221
256
232
114
179
307
244
197
288
288
192
176
128
204
217
279
306
251
281
190
215
213
223
214
178
164
183
168
241
186
233
320
193
208
244
271
238
158
275
195
265
305
296
232
196
232
222
226
211
126
240
194
219
204
206
189
239
239
216
269
239
247
308
281
221
185
283
203
316
230
181
260
205
252
173
216
240
216
230
196
260
247
116
280
200
237
258
170
188
208
254
259
212
319
254
214
199
301
166
225
258
229
213
248
200
200
147
207
264
360
209
232
212
151
228
266
205
245
196
262
195
270
261
355
248
216
213
197
156
260
266
219
228
211
245
175
200
209
195
203
177
217
245
185
274
156
274
159
284
169
301
206
200
259
289
206
178
181
206
190
223
256
253
220
168
171
230
227
254
207
237
263
244
178
188
161
198
228
250
267
255
185
247
258
248
267
295
203
178
261
245
265
239
239
266
121
191
267
207
307
284
149
235
223
216
184
256
202
231
152
129
161
209
259
355
241
204
181
283
177
276
222
236
244
147
188
283
215
191
296
242
186
203
251
219
154
272
232
295
204
165
168
255
226
220
161
139
139
203
201
197
184
209
227
207
208
270
284
245
196
267
224
213
229
129
126
223
245
283
244
184
207
178
330
301
180
247
235
175
164
199
285
232
213
226
194
179
165
220
182
219
344
225
232
165
281
281
206
275
276
258
220
311
220
309
207
297
255
211
238
222
321
233
215
197
202
248
191
186
244
278
277
268
328
208
179
250
208
214
161
152
193
240
231
211
235
182
260
223
335
114
269
241
267
190
226
172
227
186
156
181
218
240
211
297
240
266
188
156
226
270
255
222
192
211
208
166
178
253
213
219
260
222
235
238
214
227
246
311
299
192
287
234
193
205
263
241
226
253
181
163
184
114
222
233
198
228
229
293
256
296
200
201
234
177
278
191
196
222
225
170
175
233
207
168
168
226
234
257
214
192
171
269
211
182
266
238
256
165
192
293
114
241
210
182
220
229
218
202
241
229
170
241
265
256
259
239
244
233
257
158
251
242
205
265
226
275
199
203
222
237
257
263
208
208
254
270
199
203
222
299
195
219
228
217
173
225
224
139
313
194
264
267
199
200
198
250
206
194
162
186
226
207
173
244
240
210
189
231
234
234
319
273
232
287
224
194
180
270
228
213
247
173
272
183
263
187
215
214
256
271
264
249
166
246
224
210
271
173
212
216
281
203
179
200
260
312
241
300
219
214
242
264
222
186
251
207
218
126
203
233
249
205
168
182
233
221
229
258
241
235
161
244
289
220
198
246
284
182
245
275
330
211
263
178
229
173
196
160
235
267
218
321
165
231
263
174
128
194
274
228
257
230
215
279
223
200
210
157
228
319
209
284
207
269
249
233
247
202
261
239
254
253
340
243
239
235
286
284
188
210
196
271
257
254
277
191
170
210
225
219
230
195
221
218
227
186
272
208
201
233
187
310
205
224
249
166
233
259
283
160
277
210
275
178
208
248
176
160
263
255
222
197
202
233
214
242
330
203
212
152
252
211
224
251
258
204
283
221
180
266
257
180
222
175
185
278
222
157
189
220
243
224
184
320
169
253
240
167
166
246
178
195
277
301
213
165
236
264
215
212
139
155
225
202
174
233
114
240
198
201
223
247
235
178
227
224
206
198
277
253
226
280
243
248
231
200
261
244
255
207
228
256
284
232
219
238
172
266
202
258
188
237
283
158
205
271
158
248
229
305
154
286
302
226
257
250
243
226
160
232
260
173
262
241
207
193
264
214
240
202
178
294
246
252
224
222
189
212
202
155
276
162
254
170
222
280
238
210
207
255
251
189
230
201
226
196
184
276
181
223
214
240
232
255
206
168
216
278
253
209
163
179
203
326
207
229
114
193
164
251
309
201
284
196
209
139
313
144
204
254
166
225
219
207
211
174
190
229
205
274
224
256
262
232
201
288
268
281
235
182
230
205
267
219
220
200
173
251
213
239
196
220
227
203
159
143
210
181
217
233
209
154
221
186
299
198
202
234
274
233
254
226
181
184
218
290
277
217
304
318
213
301
170
267
243
285
196
229
186
289
169
306
246
259
263
262
180
215
187
250
260
237
282
223
263
249
199
263
255
272
302
182
157
252
269
172
201
297
161
313
242
257
225
292
155
237
182
215
178
234
225
235
261
203
174
235
242
252
106
177
169
270
169
220
179
210
284
239
270
255
234
307
270
300
200
182
174
206
288
225
183
191
214
199
286
116
218
176
188
256
176
255
208
244
181
236
298
210
199
286
171
171
255
207
215
173
210
180
240
265
167
279
170
267
159
309
344
210
259
313
194
318
135
247
270
207
223
246
201
140
175
320
166
224
188
171
245
148
240
193
225
215
220
215
214
197
220
261
199
259
210
280
333
265
255
309
160
147
269
146
223
218
172
177
254
195
279
192
273
206
218
212
261
250
182
277
227
219
246
189
268
188
245
212
255
233
254
237
242
208
200
229
277
190
328
207
163
217
297
183
151
187
266
205
159
191
254
286
226
241
297
305
161
148
280
192
208
229
211
182
198
129
237
206
271
220
187
244
215
258
236
242
280
232
255
219
168
241
177
147
248
230
199
192
216
220
244
114
139
272
204
282
211
214
195
116
190
162
215
241
247
227
290
246
195
245
202
219
223
275
333
247
252
246
272
224
222
246
253
231
159
161
237
235
261
265
258
160
239
211
244
192
280
195
179
161
176
173
191
161
182
317
181
254
289
283
296
239
279
247
241
247
164
203
208
225
144
198
255
250
274
237
212
129
172
257
226
210
200
195
295
295
247
267
223
199
273
187
202
221
214
192
221
305
160
161
221
186
240
243
283
289
164
237
336
234
208
170
370
212
250
213
228
205
236
321
134
251
215
218
204
225
201
175
157
239
192
192
241
281
185
247
256
139
245
208
322
232
237
197
242
249
231
176
217
235
160
156
249
174
289
263
217
218
211
291
229
204
228
224
165
202
258
235
198
247
171
172
253
184
235
232
219
195
260
208
235
197
217
223
240
246
212
200
210
200
185
224
208
235
178
284
206
239
300
207
198
200
241
273
218
199
305
218
245
243
209
233
210
167
208
139
217
175
192
276
226
212
198
228
227
220
251
161
260
229
234
253
178
218
208
224
293
147
240
106
212
287
323
283
255
367
221
350
129
258
166
233
194
225
283
277
293
200
233
289
217
200
228
216
232
183
213
192
243
229
162
176
327
358
173
199
269
243
216
210
193
158
240
195
178
210
237
189
194
152
245
237
146
187
190
312
179
229
215
167
210
283
265
297
182
175
224
229
211
266
141
288
218
195
155
243
198
238
231
170
240
177
193
186
247
152
264
208
160
235
265
220
242
279
231
147
285
218
235
225
237
276
301
209
250
268
186
182
210
170
226
248
181
194
310
285
257
319
249
284
244
270
274
231
219
274
234
201
244
192
266
260
275
202
238
172
315
291
229
284
248
170
225
301
229
234
126
292
149
275
223
199
202
173
273
234
279
263
268
174
323
236
262
230
250
316
275
194
181
299
213
213
332
232
203
200
209
305
263
257
259
252
215
248
218
243
243
184
266
227
235
216
167
178
160
164
241
250
170
209
207
222
246
278
233
264
270
252
279
340
207
264
312
218
182
170
224
299
241
239
284
241
194
228
231
220
219
187
266
212
170
238
196
173
126
204
126
160
223
235
269
266
171
266
160
263
235
293
185
210
205
253
255
223
198
252
184
228
284
212
234
340
236
220
319
154
185
167
174
266
312
192
281
234
220
170
212
240
203
235
223
223
199
241
196
207
267
162
192
158
243
231
193
272
235
210
191
358
265
216
311
169
243
255
241
241
204
169
199
237
195
227
271
179
198
200
169
223
158
206
284
223
280
217
202
192
318
194
239
207
228
183
267
218
291
114
254
216
233
295
151
248
244
251
174
294
185
169
221
263
219
249
268
254
231
227
222
257
239
242
220
171
174
257
208
243
248
228
191
261
183
214
296
204
185
175
304
207
198
226
156
200
173
152
199
262
181
178
271
232
164
244
258
253
238
301
240
251
261
202
214
184
244
251
186
273
293
219
253
296
210
216
222
176
278
324
165
231
182
226
218
162
181
237
239
273
268
230
225
270
231
237
323
253
237
263
206
208
243
227
190
246
164
324
267
198
191
225
219
357
190
250
247
214
175
281
200
259
158
209
305
225
157
275
271
198
234
298
181
235
246
174
321
252
222
280
210
210
180
210
226
222
219
224
255
157
208
222
170
220
193
214
309
231
147
235
187
241
272
312
201
223
252
158
246
183
181
246
270
232
177
331
191
176
211
186
217
239
178
220
156
298
210
167
163
298
241
176
234
160
248
294
246
322
226
222
205
282
224
309
197
225
227
211
267
184
175
237
189
320
286
256
151
287
275
255
225
245
162
230
258
271
292
254
240
228
257
264
274
194
211
273
239
241
252
226
188
279
168
184
166
229
247
274
187
205
257
167
212
273
262
302
171
189
185
217
214
238
270
216
189
303
240
199
173
247
213
181
271
309
214
206
182
236
207
144
208
170
171
273
126
187
178
245
251
275
161
275
189
222
192
234
171
240
245
151
267
208
253
214
198
253
196
197
173
247
213
241
292
205
272
251
239
240
276
297
267
193
147
220
200
272
177
212
210
294
217
298
182
307
239
239
189
244
183
209
171
191
221
225
227
273
222
253
179
302
129
180
197
249
197
265
222
191
273
164
224
212
225
228
174
242
188
329
194
197
236
189
247
284
186
237
278
241
286
276
296
178
173
285
255
243
315
167
250
267
234
275
315
114
241
306
181
258
253
175
195
156
180
236
242
191
313
260
278
232
166
178
149
183
176
195
286
228
274
265
195
223
168
225
249
281
234
258
170
161
190
205
196
285
265
199
268
114
203
272
213
236
195
242
247
195
265
169
219
189
179
242
240
184
213
202
265
195
173
216
233
174
184
215
287
301
188
178
192
218
252
219
317
204
294
289
154
260
232
204
327
242
209
225
322
294
208
188
250
181
225
249
161
235
196
199
114
237
222
260
177
252
273
207
181
246
188
191
151
232
263
264
215
179
275
219
254
219
232
276
241
200
276
194
229
215
174
220
207
192
175
163
224
194
307
272
208
240
241
189
259
241
174
173
229
212
198
274
286
186
169
312
219
262
225
261
197
262
291
170
205
253
162
168
239
190
243
296
222
168
232
232
225
195
239
180
241
216
266
227
277
180
256
203
195
232
229
241
180
200
211
249
293
231
235
193
230
321
195
193
200
221
159
270
224
234
174
204
195
257
261
228
236
194
290
195
277
233
210
206
260
200
244
290
258
139
280
204
203
279
326
130
198
295
222
174
273
262
259
261
209
203
216
226
164
226
319
198
271
252
233
229
238
229
310
292
171
309
286
175
175
235
223
198
198
207
291
206
175
227
209
247
214
176
250
238
291
234
198
248
238
269
243
199
139
214
227
199
254
251
183
263
199
197
175
192
191
205
242
235
208
211
205
251
204
233
209
281
263
327
228
206
211
219
196
230
197
224
156
248
300
203
180
226
284
226
198
231
197
222
262
232
232
193
270
196
304
249
160
306
190
233
234
237
300
246
200
355
222
280
213
266
232
241
231
114
281
265
185
188
195
313
229
248
248
267
192
232
192
256
292
314
198
328
188
337
261
279
215
169
248
235
133
233
169
223
208
271
247
331
158
177
219
178
218
263
186
219
203
258
179
248
228
283
264
191
218
243
215
250
191
171
196
234
149
185
230
253
210
221
260
183
239
218
206
204
192
189
174
213
356
261
267
269
203
181
212
255
176
205
231
206
198
192
242
236
174
193
334
207
275
196
203
232
285
216
299
195
158
198
284
236
178
253
219
250
274
204
189
158
169
214
190
244
257
248
266
234
224
214
148
260
320
266
221
269
178
173
343
221
223
199
295
191
182
284
291
224
257
288
227
170
211
219
261
310
240
176
178
205
176
258
238
207
255
269
184
114
210
201
300
211
229
246
193
176
200
178
265
174
209
248
227
221
191
167
272
208
166
197
204
154
144
202
256
199
156
210
259
240
207
246
258
188
211
283
199
305
139
192
245
216
219
226
176
228
344
250
235
261
178
208
228
211
288
198
194
281
193
294
231
300
149
273
168
210
192
228
265
297
308
263
231
160
234
211
291
158
283
219
220
185
261
187
224
248
262
248
237
201
196
195
212
191
188
262
164
291
232
108
175
200
190
231
215
216
272
267
204
252
243
177
168
239
253
243
211
212
318
217
250
231
224
217
245
254
210
252
232
116
225
202
245
201
307
252
246
229
233
174
303
222
168
252
196
139
298
227
126
160
235
129
170
289
239
256
286
227
220
210
207
229
158
209
303
258
216
244
130
213
213
193
185
231
248
355
302
211
190
191
202
212
198
226
173
160
184
202
243
194
192
231
281
229
156
248
216
241
220
189
178
139
258
221
229
163
184
268
187
242
254
320
227
114
216
208
176
224
261
189
255
200
263
211
226
200
293
215
218
160
198
250
249
246
225
222
164
195
212
229
276
338
221
211
233
219
216
233
231
198
213
174
258
313
349
241
195
230
203
298
181
114
193
241
200
160
273
173
298
237
211
227
221
171
189
230
207
299
229
319
246
215
243
173
183
299
200
273
252
264
156
153
308
221
308
190
220
195
267
180
237
281
219
308
198
261
202
204
225
222
198
214
239
191
196
144
228
149
213
208
224
315
195
273
244
213
213
238
197
227
175
173
303
370
238
225
210
151
207
203
129
228
262
182
230
181
229
261
192
126
267
192
237
192
227
143
229
220
197
234
161
284
243
339
244
242
286
134
196
222
229
281
280
214
273
197
189
193
242
173
297
280
175
272
218
173
268
218
178
309
173
197
253
210
153
289
293
165
186
268
274
300
217
270
233
178
218
152
300
192
233
280
165
243
200
201
202
243
208
194
307
205
233
262
200
233
244
155
253
208
217
234
276
236
325
226
219
229
194
205
207
204
245
232
192
299
176
295
233
288
233
259
220
292
198
241
170
296
235
308
224
263
234
222
249
196
197
258
295
257
192
267
224
225
158
233
191
306
251
198
223
210
192
156
229
316
175
160
264
227
272
114
243
222
186
235
218
215
225
199
139
204
185
214
232
280
294
271
202
316
247
158
144
173
274
194
191
236
226
217
239
178
198
134
241
216
287
233
261
241
245
262
216
126
252
194
215
272
126
288
180
236
230
195
219
190
277
232
205
275
289
255
274
197
207
210
216
253
207
309
281
233
223
215
235
303
211
280
206
178
216
159
241
229
234
166
266
255
258
218
108
201
152
224
209
252
251
204
240
308
234
267
261
179
178
257
194
226
218
265
287
309
196
282
260
195
192
226
228
265
168
268
184
234
269
213
180
228
173
204
252
279
219
229
187
215
151
241
283
208
285
169
189
258
176
304
179
190
158
207
228
222
302
253
237
322
286
213
243
184
268
170
228
230
179
244
223
253
196
162
235
265
227
199
196
167
218
158
192
204
275
208
229
202
234
180
246
276
247
213
222
174
246
144
236
220
209
214
208
174
271
226
208
228
206
206
268
158
236
198
291
176
228
173
241
206
194
166
278
196
271
217
195
211
238
213
198
243
299
146
252
213
261
244
257
195
170
209
174
210
239
257
172
266
173
243
241
171
275
176
271
152
263
185
267
226
229
240
178
213
185
224
196
207
306
245
212
257
209
257
217
235
149
196
195
214
220
244
212
249
270
231
230
217
244
108
216
220
180
200
207
157
260
218
204
223
256
211
290
210
315
234
258
247
251
392
159
278
309
240
227
246
248
213
240
209
196
225
188
277
234
216
146
166
182
222
204
252
188
224
230
236
224
235
246
335
215
310
222
223
197
173
160
215
187
245
290
279
300
247
248
188
246
298
177
147
159
243
247
236
274
185
259
197
284
250
254
190
242
252
256
200
292
261
257
271
175
182
290
241
114
295
166
194
239
223
260
225
170
215
192
197
176
234
261
281
259
208
234
215
236
158
215
268
192
285
257
232
174
181
260
231
198
211
222
299
257
157
275
154
173
114
292
205
274
134
277
193
198
225
217
219
241
251
169
213
231
267
296
169
267
237
186
188
264
176
273
237
243
194
263
211
270
162
266
221
208
222
229
269
244
211
220
242
181
217
244
145
176
246
173
241
237
152
255
139
205
245
271
217
195
199
253
260
197
275
254
241
165
259
205
244
235
189
222
198
240
272
221
208
193
188
218
217
182
226
216
170
246
198
201
148
203
161
275
208
256
144
261
231
243
165
239
202
154
233
287
163
246
275
249
252
121
286
210
208
296
230
198
198
210
198
336
180
193
280
214
218
228
232
302
208
206
153
170
192
309
196
236
252
193
215
173
184
229
183
258
199
226
198
181
225
271
183
302
215
158
228
232
247
210
263
217
287
233
278
236
244
156
253
227
220
192
170
192
285
276
158
185
181
224
239
215
194
233
204
220
250
215
252
196
220
149
218
279
221
247
320
267
157
246
165
185
239
248
227
159
232
224
239
234
209
192
225
332
195
234
296
232
189
207
218
293
289
214
156
178
235
177
228
245
279
203
250
159
259
300
284
239
242
230
223
188
222
108
221
266
254
271
205
146
178
289
334
160
320
202
238
247
173
267
246
216
229
139
201
196
278
156
144
233
202
231
219
212
235
235
212
205
267
264
294
233
299
195
240
172
208
208
338
234
248
206
228
192
211
250
262
251
231
203
186
252
205
241
245
289
193
236
234
114
184
219
201
197
291
272
215
266
203
199
233
197
171
231
160
247
330
246
186
196
267
184
240
306
237
156
152
180
296
203
309
259
169
290
226
327
221
192
196
197
240
209
260
206
238
198
247
239
251
218
218
217
276
193
251
260
226
254
203
257
174
300
295
240
220
242
220
177
220
235
194
303
230
203
251
245
210
220
307
261
174
250
171
139
266
187
156
232
225
287
280
190
175
230
202
174
231
174
250
239
241
160
212
258
235
213
224
204
167
166
272
205
238
288
213
243
147
276
146
201
242
215
237
297
221
221
201
211
221
178
209
285
146
241
247
239
216
250
275
217
230
201
272
235
286
248
180
230
156
234
266
174
248
203
192
186
184
256
274
214
266
223
182
216
230
247
243
287
228
198
226
281
341
206
239
245
232
234
272
268
281
173
263
252
216
206
294
228
152
182
257
168
280
182
188
234
211
244
241
191
255
283
129
274
241
210
225
189
245
238
178
219
272
241
242
264
133
232
266
114
259
185
277
226
208
167
235
192
212
207
195
264
145
207
235
241
231
162
241
147
285
200
262
280
174
206
223
195
257
237
311
239
337
248
196
156
271
146
220
196
278
233
180
246
229
227
210
176
334
218
212
238
266
238
298
171
208
242
246
249
294
293
200
191
169
265
269
268
144
185
250
212
273
218
275
224
186
221
228
182
234
260
245
213
229
239
244
235
242
250
206
225
246
245
234
219
234
270
173
254
228
259
160
229
174
203
206
287
238
251
281
297
221
144
175
130
215
236
222
231
280
221
262
202
240
277
233
251
154
214
170
205
235
295
306
205
260
209
162
114
257
285
242
273
213
268
227
114
206
174
232
252
272
198
199
227
263
204
263
244
251
213
236
270
220
255
186
205
275
189
239
306
206
230
233
265
210
174
270
214
150
204
191
231
175
247
249
256
192
246
222
280
224
154
263
252
183
189
237
242
200
277
261
240
130
320
370
249
299
252
148
234
251
229
245
152
258
240
225
219
230
229
215
175
222
274
309
256
238
226
292
180
227
200
244
227
184
277
330
217
184
179
163
184
219
219
221
267
304
157
249
267
272
207
217
184
263
239
106
225
245
194
189
272
160
210
207
250
298
192
224
189
229
169
383
250
277
209
242
203
255
182
224
182
224
253
209
197
276
175
254
226
275
241
274
237
247
189
230
114
263
263
204
268
277
232
232
223
152
210
197
231
214
114
196
204
298
162
203
221
252
247
273
244
324
240
296
193
262
281
211
217
294
245
205
193
275
252
293
225
256
260
210
217
171
253
225
258
173
206
206
196
189
202
248
216
204
195
222
263
175
213
214
197
219
170
181
296
254
245
262
235
290
194
196
261
275
215
266
235
189
230
246
219
148
211
245
163
146
262
240
259
236
173
288
189
207
163
207
222
184
180
178
225
178
241
204
288
245
214
198
259
203
241
280
231
277
174
285
248
191
170
268
209
156
200
204
179
157
198
263
306
193
273
276
126
220
270
180
179
260
285
261
245
278
259
210
219
224
200
164
209
151
277
256
232
159
269
227
286
210
191
214
185
195
230
252
270
218
266
253
221
198
247
301
211
187
146
169
260
259
252
273
220
207
261
328
198
146
295
258
211
204
302
288
227
302
221
209
288
221
189
126
245
241
245
312
228
265
313
262
247
229
282
285
188
270
200
231
319
237
193
234
281
196
284
161
196
259
324
185
114
194
212
289
223
193
231
192
288
200
206
303
270
207
205
190
225
217
196
198
233
195
191
152
175
284
259
194
205
239
192
246
154
260
238
252
152
251
177
302
331
198
228
207
177
210
214
289
203
210
253
239
201
218
237
116
248
181
216
126
299
220
181
232
201
229
229
152
238
212
242
235
152
177
108
197
235
265
312
203
263
239
145
276
182
246
160
243
189
225
184
183
159
268
269
262
208
242
219
243
214
298
288
254
210
288
190
204
239
241
278
271
207
276
212
300
168
302
186
195
262
240
281
114
250
273
235
216
265
219
309
306
299
211
139
184
273
114
244
221
294
233
170
288
246
198
289
232
220
235
270
231
116
139
214
228
232
221
199
182
231
318
254
202
181
208
178
151
277
318
157
181
260
222
226
189
217
193
185
283
206
258
241
295
278
203
220
237
203
236
275
227
153
248
173
228
232
288
200
221
272
168
212
215
200
216
283
177
215
203
252
206
195
248
173
265
284
220
240
184
198
219
260
228
263
114
249
181
160
152
149
211
207
207
222
250
303
308
223
176
166
210
222
158
243
114
249
234
174
151
251
223
231
217
259
159
272
225
181
208
256
260
211
162
170
248
293
222
210
314
259
278
152
216
292
220
139
230
192
233
173
257
198
269
233
206
219
330
209
161
158
207
270
242
223
249
283
243
178
144
232
152
169
211
243
262
203
191
202
259
245
256
262
289
160
291
209
231
302
236
299
193
182
211
200
233
191
257
156
223
225
207
283
279
263
275
267
122
212
222
300
169
249
248
235
193
257
173
165
302
259
229
152
236
244
232
239
296
265
187
189
177
179
274
211
222
248
234
194
279
116
318
226
257
167
206
241
220
286
193
144
193
276
206
257
273
163
164
181
288
202
167
222
214
189
250
195
265
287
192
279
220
200
159
246
213
216
240
202
173
220
260
201
269
157
221
224
251
225
174
217
197
244
243
314
196
218
296
186
211
223
174
200
347
185
170
200
194
261
227
183
141
229
224
235
160
326
253
229
294
252
175
145
265
154
214
227
239
181
175
260
267
239
334
340
187
228
231
207
246
236
126
207
243
229
245
206
204
152
242
215
266
242
241
198
244
191
248
284
201
167
114
174
221
223
308
201
197
293
285
276
199
256
173
251
193
233
204
241
208
233
216
234
244
191
255
242
219
246
241
229
248
165
209
149
264
184
202
245
256
145
179
183
246
269
286
249
309
210
190
200
237
151
146
233
179
149
188
284
162
269
152
302
173
274
201
252
221
291
303
317
195
153
275
190
260
243
244
236
233
307
202
276
271
219
204
242
266
173
292
266
253
202
245
129
240
223
218
286
168
276
258
227
180
162
248
177
256
218
234
241
251
264
254
161
166
233
193
210
139
291
170
287
183
167
239
179
251
191
263
251
248
254
227
225
276
182
178
225
262
272
234
173
193
220
224
248
182
266
225
166
160
231
293
197
281
225
250
221
294
170
214
208
195
158
181
197
227
317
239
228
212
215
230
210
218
188
174
208
258
164
196
271
167
304
221
303
219
216
232
257
199
203
209
276
182
192
219
184
278
218
253
250
255
220
251
259
258
253
249
147
177
216
232
309
244
210
208
273
156
158
196
237
220
204
198
203
170
205
247
319
269
225
207
170
195
227
255
296
230
184
204
258
277
218
235
198
224
319
266
235
218
240
244
216
168
198
211
270
204
246
271
285
236
233
235
195
185
296
233
169
165
195
175
179
195
183
294
283
216
237
173
303
154
250
265
217
161
154
129
170
247
216
228
203
226
205
195
263
334
216
256
199
275
210
180
235
198
227
279
301
213
224
252
254
239
212
178
272
227
258
245
253
175
214
237
208
251
243
203
196
269
216
238
197
229
286
233
246
215
292
251
180
230
182
149
255
197
200
145
220
213
270
160
221
295
314
233
215
304
181
253
237
114
218
263
318
223
231
212
177
174
224
258
220
272
250
219
265
241
224
194
114
262
283
222
205
229
265
284
202
340
267
189
216
163
297
114
258
210
198
210
251
227
202
144
198
226
211
231
238
250
290
263
256
254
149
209
240
174
265
299
114
175
246
177
169
287
213
191
202
241
191
231
173
294
174
156
171
213
193
314
204
185
192
242
233
273
114
203
208
116
179
274
170
178
207
185
154
299
245
310
185
254
244
215
233
259
243
195
290
175
273
229
217
229
262
245
235
258
177
241
289
227
263
259
200
207
201
240
116
267
213
194
254
273
192
276
151
259
227
153
214
202
227
258
263
208
179
171
218
283
237
241
156
221
176
285
220
201
289
223
253
223
170
252
214
114
154
227
151
236
263
252
237
114
193
243
211
201
262
262
228
231
180
235
158
260
257
224
181
241
184
336
250
225
220
331
174
160
275
196
238
173
220
168
195
267
233
259
192
178
238
181
201
161
199
290
267
217
177
220
211
179
192
212
146
228
147
290
255
219
223
286
215
225
324
130
255
251
231
290
192
168
252
320
200
278
177
249
185
217
356
224
209
285
254
212
225
224
235
241
320
169
198
284
265
209
215
261
262
152
154
188
229
197
222
139
166
186
268
277
195
191
227
133
279
293
208
273
237
232
176
216
327
226
315
245
208
184
236
176
280
259
199
308
184
198
167
219
222
251
249
229
279
349
204
308
277
230
236
269
211
170
281
283
225
279
177
279
235
196
204
300
227
237
240
165
204
250
189
197
192
221
198
217
246
220
246
251
255
133
366
214
297
220
220
170
217
242
210
203
209
207
242
313
274
187
211
185
238
213
242
242
233
228
271
207
199
224
235
233
169
255
235
208
261
144
304
160
215
252
221
260
148
226
211
297
273
168
232
206
206
226
214
229
198
305
235
217
299
243
249
151
214
246
170
244
175
312
222
152
270
235
187
219
209
252
275
203
225
239
164
264
334
209
204
173
194
230
225
262
295
322
221
191
233
227
191
287
176
346
139
198
274
219
164
267
281
206
189
213
197
245
178
257
193
215
265
243
189
215
174
182
285
281
181
230
226
258
197
215
332
208
206
275
160
238
243
158
174
208
179
223
215
187
152
250
239
270
194
220
204
259
258
216
232
262
238
165
238
307
156
171
277
244
196
165
253
160
227
158
208
267
174
221
198
160
192
252
280
144
261
250
148
114
227
205
174
255
203
243
237
114
170
234
180
242
224
250
193
154
206
209
211
263
237
250
200
257
213
201
181
148
178
193
257
310
275
272
275
179
214
178
234
167
291
165
250
234
242
173
220
246
218
220
197
280
190
208
236
196
206
179
232
240
293
173
160
234
207
261
194
246
227
259
215
274
250
181
214
209
287
249
204
229
274
212
190
253
181
230
198
192
264
273
258
259
182
221
228
205
258
228
226
228
202
215
269
283
203
215
190
178
224
185
204
231
214
266
273
255
181
173
212
211
276
227
220
242
246
277
228
198
214
231
206
258
126
224
251
243
177
210
206
332
274
219
238
260
271
238
239
240
212
246
155
273
195
210
246
114
234
221
175
121
236
253
211
218
190
170
240
225
356
233
151
197
237
206
200
235
168
198
199
247
156
180
185
241
245
150
268
153
242
286
273
221
175
155
196
215
156
230
213
274
270
207
264
234
214
193
229
220
279
191
268
216
242
282
228
218
246
184
267
205
241
299
328
257
356
223
238
145
218
216
229
250
216
195
158
251
195
209
221
207
190
200
211
232
238
205
240
257
209
171
210
151
155
220
235
208
214
188
191
249
154
187
158
280
130
241
176
216
252
298
299
208
218
249
225
175
251
189
226
175
254
172
226
241
251
171
188
285
196
212
238
307
280
291
238
242
192
243
231
230
151
241
215
218
177
188
244
236
232
181
222
237
335
234
205
205
148
181
208
174
258
284
257
258
254
181
190
179
167
375
227
239
195
242
231
265
137
178
246
222
217
198
279
114
235
230
225
204
253
229
226
146
223
218
230
257
184
285
261
235
188
196
290
218
216
216
217
205
252
245
234
250
209
170
198
165
181
271
270
298
271
205
114
224
222
170
209
233
233
236
260
246
200
239
165
308
249
230
245
232
213
169
237
211
220
220
189
228
153
128
235
232
237
286
213
252
266
235
239
296
179
249
182
209
278
249
114
253
267
240
224
267
215
156
218
263
173
233
254
198
243
290
256
227
254
129
235
239
204
247
275
178
230
203
126
288
196
193
280
192
152
183
200
261
207
226
255
290
309
250
168
236
212
239
278
318
305
318
211
307
210
192
203
226
189
215
246
243
250
170
189
116
236
213
210
139
195
290
170
219
267
256
161
214
180
227
200
114
184
236
214
253
207
189
160
309
218
242
217
223
211
263
193
200
253
223
187
268
328
168
173
304
176
239
292
228
203
228
247
212
193
209
204
326
161
235
178
263
209
237
210
150
194
229
169
223
164
253
244
207
135
226
278
217
268
201
241
227
240
174
228
204
231
237
280
306
205
197
184
203
261
214
323
178
326
160
173
243
243
198
175
295
185
220
158
249
178
266
207
220
203
148
249
245
208
231
225
270
257
296
256
298
238
256
197
261
241
232
221
166
248
177
217
299
179
187
151
233
270
234
227
231
271
218
182
180
222
254
188
216
246
246
151
232
265
232
160
200
178
191
238
216
192
280
221
182
203
203
320
170
225
281
259
268
181
181
180
152
224
205
225
195
209
150
273
249
277
199
241
185
278
199
169
178
219
304
288
279
236
234
181
194
269
246
210
161
267
170
204
265
189
288
151
204
263
278
181
232
252
196
232
173
256
222
235
239
197
237
213
175
145
227
194
285
246
201
208
206
265
271
149
218
174
207
269
203
235
205
196
225
209
195
312
220
244
169
214
301
284
144
241
198
164
324
252
256
209
240
289
214
299
233
331
170
277
275
279
151
181
264
202
225
185
226
200
245
215
251
172
281
193
205
235
234
168
206
239
187
254
258
160
244
291
200
176
182
229
228
260
288
243
240
169
106
179
212
198
152
245
201
284
241
230
251
181
170
276
193
247
149
238
144
197
199
202
267
228
229
224
175
205
284
191
248
192
253
188
245
182
199
211
232
196
200
204
149
165
244
256
263
194
175
213
201
232
273
200
143
285
126
261
172
218
252
227
285
228
180
275
242
269
155
246
189
227
225
198
218
274
290
148
154
246
245
341
193
249
250
181
230
182
176
190
225
360
308
258
189
179
169
239
253
277
255
315
144
206
232
170
190
145
205
145
191
165
253
196
190
299
175
248
221
225
220
235
179
116
196
236
235
299
155
181
240
182
253
256
227
240
247
236
154
229
252
172
264
209
275
276
153
207
240
188
216
149
237
291
175
274
211
206
200
287
248
146
219
243
292
191
174
252
223
176
209
212
193
285
222
197
209
218
226
228
267
126
155
214
219
239
214
322
256
235
181
285
232
197
307
258
160
139
298
202
189
114
263
227
208
203
225
229
235
265
157
266
240
274
172
226
201
234
284
199
209
108
220
201
214
240
174
279
300
154
155
213
300
238
268
284
301
162
254
207
281
329
139
234
266
235
238
173
235
243
218
202
205
166
212
175
204
258
212
215
146
179
198
186
179
259
246
234
339
155
261
229
152
254
238
190
321
328
238
275
309
285
198
180
223
240
151
280
216
283
204
253
260
157
225
193
212
177
177
252
157
203
128
215
173
216
250
275
242
231
197
253
262
255
251
248
245
265
244
162
240
238
186
262
272
233
226
211
345
148
199
261
312
239
146
202
213
263
231
212
249
307
222
331
268
161
181
268
174
173
238
256
181
215
148
202
223
243
162
271
173
271
232
258
251
199
189
289
231
162
190
285
168
254
243
230
320
209
260
220
193
156
313
238
215
255
231
189
174
221
211
164
243
174
237
255
147
234
186
114
195
219
151
241
185
160
202
187
246
225
197
218
178
221
158
247
255
202
170
236
207
301
256
173
228
270
221
162
303
243
283
174
246
247
246
222
192
141
246
218
240
231
250
152
252
161
311
287
232
178
170
275
293
178
271
199
138
201
264
175
237
189
173
210
249
191
269
177
291
236
165
305
214
260
218
250
200
239
209
315
197
187
247
219
288
234
270
274
184
214
223
158
305
214
207
175
255
269
173
285
238
294
318
310
285
313
243
280
106
247
200
173
314
232
237
271
191
200
260
254
297
175
271
144
220
173
217
201
298
212
218
213
218
239
304
236
327
200
229
299
208
166
202
206
159
271
377
266
186
176
211
285
306
183
294
220
235
212
152
245
279
186
312
204
159
148
276
276
206
191
247
223
271
174
245
235
154
254
229
238
284
227
226
221
208
196
257
218
236
223
226
232
198
203
228
182
139
199
229
193
216
263
257
258
231
164
203
214
205
311
144
233
224
193
255
207
239
243
160
203
215
234
181
236
208
161
270
264
289
246
232
126
200
259
261
284
244
230
234
228
189
149
238
173
239
202
238
156
251
230
260
260
256
175
178
295
257
264
284
207
152
145
234
175
190
265
230
222
289
185
152
262
201
184
178
235
207
280
159
240
281
139
254
236
218
166
221
241
298
192
276
207
272
284
279
218
222
228
212
245
212
241
307
259
256
222
181
284
314
180
262
173
175
154
252
161
196
238
191
192
255
244
152
249
148
281
275
239
208
260
332
165
189
244
147
195
206
291
238
222
235
171
258
220
223
156
192
295
171
208
226
167
307
216
252
307
250
289
173
157
233
287
139
186
133
228
214
240
263
234
215
191
282
244
219
181
288
244
271
209
187
237
249
210
231
264
315
266
227
230
187
200
249
184
286
250
217
207
160
219
208
215
258
231
167
271
215
269
196
173
180
160
218
195
234
262
208
225
217
213
195
248
155
238
245
212
283
232
173
191
247
226
210
194
225
258
167
248
240
224
195
206
179
252
206
252
193
238
163
190
218
181
268
198
272
283
274
145
285
192
149
225
305
254
213
186
217
180
261
152
251
176
114
216
182
225
208
316
214
246
239
227
241
310
170
218
222
181
238
243
336
191
194
343
301
139
222
230
256
178
278
160
181
279
258
248
211
207
188
213
279
245
243
278
217
253
161
224
190
221
261
281
224
191
170
214
247
204
139
216
291
325
288
251
250
180
313
212
277
204
265
219
210
214
299
199
284
226
180
260
225
317
156
149
275
264
207
222
318
233
277
156
211
271
274
230
174
235
268
258
287
250
225
274
191
228
276
167
213
160
215
255
250
266
211
236
251
298
213
292
270
164
230
244
233
126
229
221
239
265
348
209
170
175
272
193
171
204
181
263
308
225
214
258
195
173
248
152
211
211
219
247
271
227
338
304
254
200
188
214
145
243
160
243
226
146
229
233
160
231
161
245
155
244
182
114
156
212
203
281
259
270
170
270
203
226
178
230
278
192
226
248
165
283
229
255
215
121
213
186
149
177
211
175
160
196
168
250
237
243
229
284
266
233
266
248
255
268
258
235
285
260
196
198
184
191
211
300
280
291
154
276
161
240
206
213
236
217
229
257
226
221
186
254
266
190
236
141
291
210
276
214
253
232
189
270
220
210
221
302
311
214
236
148
182
235
169
223
226
252
248
206
292
141
242
332
144
282
178
154
233
236
247
229
222
232
332
212
363
192
133
346
294
292
229
170
192
184
252
206
164
195
229
247
182
243
226
235
234
267
265
218
307
251
208
190
234
237
178
200
214
220
230
203
209
251
342
315
260
293
199
198
251
231
321
226
225
246
190
213
191
292
214
278
325
219
207
264
323
185
230
130
278
164
278
261
221
156
231
248
240
183
207
232
223
269
144
273
209
163
193
245
189
200
225
256
168
238
236
221
233
277
204
246
192
234
255
225
168
222
265
173
299
226
178
202
239
178
173
203
106
244
246
234
252
189
296
197
185
248
220
249
247
195
240
114
247
224
228
304
152
279
270
199
218
152
262
182
296
173
220
217
239
282
226
278
259
206
211
212
230
159
158
164
227
249
274
204
263
207
250
240
234
322
246
206
258
165
212
285
230
217
215
222
208
317
160
251
246
188
228
170
254
243
280
235
240
194
181
180
274
226
202
151
216
198
192
163
223
240
236
179
347
200
141
281
256
222
226
114
203
240
183
226
222
171
190
188
218
156
254
230
178
167
176
221
239
244
198
235
241
263
285
197
205
245
266
255
168
197
215
295
176
282
244
204
239
263
252
277
202
201
230
269
270
195
254
205
249
242
213
217
224
229
195
198
243
133
212
197
244
203
217
209
226
191
232
214
199
224
139
220
304
219
230
267
278
233
239
163
198
237
181
221
285
247
181
234
255
174
289
296
260
116
287
249
225
139
194
260
154
280
213
256
371
223
298
228
306
255
233
114
233
181
232
204
116
208
266
285
293
181
273
213
166
170
208
221
180
213
114
315
224
297
181
160
152
207
270
248
209
202
242
213
158
298
152
207
295
273
192
230
279
300
200
240
143
256
211
238
264
197
260
298
145
328
239
126
182
207
220
214
227
230
219
207
287
197
142
158
239
210
216
261
227
149
226
208
211
284
203
250
191
265
278
163
218
221
129
242
114
202
197
212
252
167
220
184
253
215
195
210
203
218
201
226
308
349
315
221
236
278
197
207
169
213
227
252
273
196
278
278
231
178
170
169
320
228
220
313
223
208
198
282
220
267
220
171
198
178
189
308
176
280
240
223
247
243
260
197
209
267
188
149
240
178
268
245
232
188
242
216
192
139
235
225
237
243
182
265
175
151
233
210
185
222
220
326
195
248
259
284
277
251
262
180
221
298
204
258
281
185
211
225
215
237
171
233
200
177
203
229
257
193
205
156
191
283
225
249
114
194
292
114
135
160
228
156
232
186
235
212
280
271
200
191
167
207
294
253
253
289
270
188
203
188
198
199
206
207
237
195
260
230
190
223
249
154
194
258
231
230
114
178
265
229
203
229
295
268
264
278
256
141
188
121
172
198
271
149
306
237
200
182
305
246
236
244
275
259
256
271
232
305
296
153
216
248
178
191
233
243
199
174
305
258
285
180
221
207
245
238
168
154
284
214
192
114
278
181
282
248
221
216
244
225
166
149
228
114
237
172
196
331
303
275
196
274
240
181
218
244
190
199
152
184
191
179
212
302
175
383
253
227
170
176
158
219
258
209
274
263
189
114
173
223
196
318
243
239
148
274
214
211
210
221
233
173
303
223
139
211
236
181
217
255
184
233
277
283
269
211
203
245
260
169
239
229
287
212
156
271
238
162
228
260
114
237
203
160
206
168
198
263
234
222
264
192
140
128
204
273
222
178
220
174
307
211
275
229
199
174
202
286
205
168
213
280
231
264
205
287
179
252
265
206
178
196
237
232
240
253
189
215
220
294
186
267
245
220
225
274
274
225
273
231
227
234
276
331
162
222
224
284
348
249
192
196
213
175
235
277
285
253
309
245
233
305
229
286
205
195
182
162
244
292
271
262
246
193
231
182
247
205
219
241
180
255
218
212
248
216
250
225
304
211
209
237
213
311
202
252
284
212
214
215
178
219
247
214
233
225
261
198
229
181
190
240
229
156
343
203
204
266
275
240
253
168
211
248
226
204
247
251
219
339
213
168
204
185
177
211
224
179
259
246
199
255
175
225
306
194
229
217
249
286
227
252
236
199
238
262
260
234
194
231
202
250
198
254
181
309
267
202
225
314
210
207
240
223
263
281
316
249
213
247
223
223
195
261
259
273
247
244
238
204
208
242
228
286
145
205
215
149
227
174
188
264
211
235
254
299
317
237
247
198
232
181
212
156
246
240
212
114
200
250
254
252
204
271
198
148
230
269
244
217
260
192
210
268
186
256
224
165
197
232
196
330
178
257
179
241
234
236
281
248
186
205
206
237
200
114
106
256
170
213
236
253
216
207
139
282
239
145
220
166
260
152
178
188
212
278
279
246
204
211
186
171
248
226
273
255
312
294
196
188
206
182
164
170
146
191
221
270
202
226
232
228
266
253
225
184
225
194
198
170
170
320
211
185
304
226
209
176
220
256
225
249
239
196
241
151
294
212
265
241
238
218
243
219
186
237
209
242
229
267
282
278
158
173
315
250
210
214
245
207
259
228
139
250
254
264
161
223
223
246
184
233
202
212
227
182
182
240
209
244
228
202
225
243
201
215
242
180
191
146
195
222
169
255
219
268
259
191
218
209
172
114
221
264
151
169
188
160
326
201
205
273
279
265
201
193
190
236
240
245
270
203
268
181
174
267
192
197
233
299
250
169
228
235
215
230
188
253
250
211
175
200
240
253
273
278
291
208
252
252
259
308
181
185
289
178
245
226
215
265
159
232
184
222
234
191
137
170
266
254
294
158
294
176
249
170
186
279
283
261
191
208
199
273
178
201
252
246
210
149
262
160
173
272
232
206
292
218
168
185
195
225
236
252
262
185
153
204
175
279
229
256
198
184
198
260
325
177
175
249
175
184
205
201
262
199
249
189
280
243
180
198
189
114
261
222
178
177
259
256
187
203
240
211
274
234
247
230
281
218
278
247
301
179
255
208
260
295
158
156
251
220
222
212
358
242
248
190
226
231
214
278
205
196
264
227
214
218
116
196
260
183
200
291
256
302
225
171
181
195
200
211
198
201
238
155
172
216
204
215
106
227
272
243
288
239
271
242
297
222
192
302
292
285
228
218
277
217
225
283
179
232
192
172
185
195
180
308
237
199
139
236
197
166
296
235
242
173
294
227
167
291
282
215
220
323
249
217
197
184
234
231
193
231
294
194
156
165
209
212
187
216
208
192
201
275
230
241
194
188
208
174
233
214
152
300
251
157
247
232
250
236
204
183
271
213
116
201
198
184
260
242
224
174
173
197
218
181
207
251
209
257
206
208
227
225
185
176
195
191
237
205
267
265
209
235
235
200
303
266
163
254
248
179
158
165
341
222
215
261
266
237
234
193
185
184
207
256
263
240
229
204
278
279
235
272
245
223
222
255
248
152
251
285
216
277
149
217
253
180
298
246
212
294
255
211
220
202
181
199
227
251
197
165
302
256
319
287
286
257
114
251
218
320
152
231
174
201
277
246
264
221
188
168
221
290
221
151
226
226
297
224
242
335
222
277
165
198
172
219
214
219
174
231
151
317
215
286
151
178
268
170
264
250
190
238
299
180
235
207
234
195
247
218
187
204
192
214
266
156
215
265
170
237
276
190
229
212
231
170
229
210
259
192
200
221
158
220
230
234
236
188
233
194
209
195
198
247
249
162
206
161
209
277
185
224
179
243
280
156
146
230
191
114
317
250
219
310
230
247
274
177
227
217
226
269
249
226
229
237
286
156
126
151
231
198
208
311
267
192
189
114
311
230
258
156
143
235
231
277
215
244
249
114
240
287
280
174
284
281
238
233
221
272
240
220
178
255
316
161
235
237
230
155
230
146
197
249
243
235
217
284
265
201
227
270
232
254
178
307
334
264
215
255
172
208
213
246
186
276
242
116
286
261
276
249
181
359
240
239
205
192
191
252
224
186
201
244
185
229
144
378
231
296
313
241
208
181
226
176
164
151
190
242
252
218
218
216
239
178
207
232
196
213
314
279
178
185
209
230
226
218
213
232
259
145
231
247
225
192
246
225
250
175
249
272
202
142
314
139
144
200
235
114
212
238
192
279
236
213
269
286
275
202
252
160
176
250
268
222
261
236
188
260
233
219
246
246
205
219
202
186
165
169
247
190
158
202
227
245
158
233
228
139
230
175
225
177
241
278
263
310
208
239
156
129
144
211
309
249
240
307
264
257
240
229
235
290
282
306
212
216
249
249
252
185
202
195
244
278
145
264
274
194
267
246
242
252
209
275
178
200
258
262
228
246
221
244
172
228
212
224
178
215
243
220
237
171
169
212
121
266
210
275
237
292
178
157
218
247
207
114
210
190
178
171
217
285
239
178
184
222
143
212
248
219
174
245
264
170
158
237
264
281
216
202
198
208
202
200
321
203
200
314
259
296
170
162
226
235
209
300
261
224
141
280
181
259
229
232
296
249
252
170
266
334
222
207
263
163
224
251
277
231
269
277
257
271
247
243
209
258
139
281
183
208
248
218
207
220
266
227
261
221
309
236
258
238
212
219
264
285
232
259
160
204
214
240
217
211
222
206
158
232
126
216
279
251
277
160
213
192
260
190
212
255
175
296
208
187
246
229
162
249
194
220
214
211
161
242
176
273
228
227
204
215
286
248
203
156
200
168
236
243
195
245
226
160
182
218
221
194
309
174
245
282
296
245
310
194
130
307
271
247
206
164
309
225
259
247
209
258
242
253
246
269
224
287
183
208
216
192
267
262
240
178
251
191
184
201
255
202
277
180
282
203
160
242
296
344
221
232
159
245
198
269
265
116
233
199
176
114
202
265
232
214
262
130
237
257
175
185
219
273
173
267
209
236
219
260
249
244
234
234
212
215
206
241
178
268
245
237
214
210
199
243
237
114
159
279
231
223
217
264
245
274
200
191
206
166
215
228
229
210
236
230
181
295
265
183
225
249
244
206
246
217
193
228
219
203
204
270
214
234
278
248
203
233
169
191
196
241
309
195
182
182
245
202
195
276
263
236
157
165
242
234
148
226
198
218
196
240
169
233
229
258
218
251
206
245
207
205
186
213
235
267
254
222
165
221
231
225
205
238
280
293
261
202
219
299
233
183
160
238
275
219
252
166
266
200
231
289
228
217
243
245
220
273
213
270
182
237
255
257
219
187
307
244
160
199
211
173
241
237
237
275
235
160
164
327
206
289
175
220
167
214
292
157
251
292
255
251
242
212
247
205
204
243
145
164
247
338
247
279
173
171
196
296
224
257
176
239
202
239
167
196
210
114
230
209
232
255
199
254
261
313
218
198
185
200
173
191
198
228
211
235
219
259
172
245
236
244
223
231
198
243
185
204
271
232
253
300
161
189
341
179
214
139
213
204
308
258
151
251
158
217
213
217
204
190
216
312
204
232
208
167
233
260
183
265
192
222
209
250
229
224
286
269
294
247
183
265
327
321
274
244
229
242
114
238
164
277
262
267
198
293
215
281
116
283
181
199
186
214
223
148
158
214
342
267
253
285
206
156
175
260
204
252
168
271
229
208
173
253
270
211
224
170
228
272
371
249
254
320
222
196
247
235
186
226
248
206
246
252
282
231
192
196
291
232
250
173
229
239
221
179
214
198
210
305
216
199
256
240
174
213
154
193
214
193
195
237
188
271
203
200
222
277
224
197
291
256
208
205
253
214
234
250
301
180
191
189
233
200
160
203
190
233
181
158
220
287
244
162
175
182
267
203
216
179
245
244
356
213
214
226
276
147
170
257
321
339
231
249
237
220
176
254
307
146
229
223
193
231
158
271
256
294
233
301
208
264
259
199
259
144
208
179
238
200
222
214
228
297
191
218
242
208
248
270
217
276
310
166
250
219
202
336
261
245
234
241
208
236
219
164
267
173
262
217
184
175
228
260
114
214
211
275
281
262
178
206
194
251
171
189
276
264
285
229
208
178
178
192
232
162
215
254
212
326
219
217
166
188
168
163
169
182
271
193
272
295
297
236
166
219
254
250
173
263
269
205
166
200
209
278
214
270
242
229
267
251
209
214
271
222
195
156
194
148
165
189
253
192
247
304
197
173
195
262
191
292
271
193
211
250
237
213
257
139
254
181
309
229
176
189
194
338
319
249
253
265
232
234
265
249
305
236
233
305
199
296
287
253
285
230
311
226
321
219
197
295
114
241
260
183
160
310
202
219
243
166
220
294
262
163
279
207
181
278
257
190
284
205
243
158
215
160
222
218
187
195
209
270
222
236
170
171
184
156
153
228
247
220
295
187
280
333
218
323
227
208
292
192
267
190
233
257
179
210
217
212
214
285
197
214
245
205
197
202
161
212
247
227
242
139
170
247
170
243
223
189
220
157
280
267
249
214
221
282
246
167
202
213
240
178
169
170
222
228
326
226
267
241
203
213
230
201
280
201
184
214
232
191
197
234
265
242
296
287
188
233
198
166
246
243
197
377
233
275
212
148
239
200
288
167
215
159
272
192
248
248
221
236
180
193
270
206
241
190
218
174
218
174
194
304
230
186
164
219
224
178
277
231
261
176
239
262
154
220
179
210
268
249
216
223
197
249
241
227
174
175
272
212
235
222
267
168
263
205
242
206
252
203
277
239
215
197
202
288
237
229
145
214
201
161
197
252
295
220
259
253
172
156
267
227
290
156
269
206
184
202
299
288
235
189
324
219
179
232
180
158
198
160
173
285
265
250
200
207
114
216
194
233
207
195
223
267
252
291
197
246
218
215
258
218
224
266
240
186
225
285
133
173
232
214
256
147
213
284
299
248
275
116
219
178
220
272
237
219
281
210
286
231
205
261
229
203
210
235
274
281
237
226
181
232
221
253
242
195
236
225
157
220
160
183
248
181
198
316
259
170
214
212
195
184
224
168
321
177
307
243
279
237
220
154
174
210
175
233
178
242
254
244
222
226
192
213
227
237
212
234
171
229
236
247
251
236
244
229
212
233
310
173
234
210
356
233
187
174
198
209
266
188
203
263
283
209
312
164
235
220
302
276
213
220
249
260
207
145
148
251
252
204
258
196
228
237
247
282
242
231
311
192
262
245
190
191
198
281
223
261
256
241
250
224
169
176
254
231
216
206
194
287
144
228
244
308
231
246
233
195
173
243
202
203
200
234
205
244
206
215
219
200
198
177
232
318
265
222
114
240
272
257
200
250
228
183
203
184
250
215
164
169
175
254
272
195
204
144
193
243
258
191
271
304
214
205
238
211
302
275
147
352
252
160
307
296
244
229
209
192
174
264
311
249
209
229
135
261
187
263
153
214
325
196
193
195
198
182
257
232
280
258
162
292
228
221
217
198
250
240
245
303
221
234
297
258
205
224
239
192
239
260
227
232
286
173
241
165
283
221
271
114
226
240
257
156
194
218
211
180
273
208
270
209
129
238
192
176
238
234
258
126
322
236
237
274
184
341
200
245
188
193
207
237
265
169
213
208
208
230
182
255
190
236
222
233
278
249
235
178
305
203
219
217
243
240
283
155
218
178
293
248
160
204
230
215
244
215
188
241
229
257
220
303
203
187
327
231
198
226
293
191
165
198
374
191
211
147
208
315
202
251
207
229
191
183
179
208
186
268
174
241
185
201
154
238
216
213
259
265
225
184
220
169
221
187
178
269
202
274
114
220
245
264
179
228
194
178
309
181
249
255
166
292
265
178
176
234
181
170
208
208
197
173
213
240
295
193
244
258
255
193
256
263
261
231
198
169
211
154
255
332
255
191
198
165
283
202
206
165
196
234
216
223
210
170
246
215
184
174
166
229
151
204
198
209
204
267
154
264
280
213
285
245
257
284
179
213
303
203
224
214
253
283
217
257
285
265
309
205
308
211
235
233
205
212
232
224
239
205
235
198
160
241
145
186
208
299
190
231
271
240
195
181
291
154
240
159
303
319
203
213
173
181
263
175
204
267
253
233
247
252
231
186
170
263
243
240
208
261
165
226
189
267
293
177
222
196
198
225
190
265
192
195
223
231
156
178
170
209
173
257
287
218
297
166
261
246
154
250
250
234
252
270
173
229
301
287
126
271
283
108
240
190
194
228
137
197
225
264
225
218
236
236
246
292
219
184
214
258
285
195
177
213
194
254
217
217
232
173
243
152
114
257
130
234
220
168
188
275
156
242
240
209
212
237
257
177
288
210
297
213
179
171
175
238
199
186
246
333
222
258
297
355
180
332
225
166
232
170
218
198
272
249
181
225
197
288
299
181
225
187
126
206
268
221
229
229
265
259
243
129
242
114
207
240
200
228
208
234
173
269
208
160
235
168
210
275
195
273
214
201
285
258
252
261
273
224
244
114
275
321
258
154
217
250
198
198
217
337
190
247
279
217
293
219
296
285
206
209
197
249
220
320
170
191
220
184
204
188
129
229
169
281
162
182
258
308
241
291
201
162
114
209
225
178
200
259
165
200
149
274
156
220
258
233
231
259
212
156
248
182
160
288
286
201
224
256
194
257
279
241
170
274
229
145
214
265
199
252
228
136
251
229
214
266
282
267
162
219
200
229
229
208
157
197
188
198
173
201
253
246
170
267
288
214
281
194
263
233
246
194
218
256
214
175
232
235
232
256
252
330
296
207
190
287
246
236
244
167
255
158
114
235
235
195
270
328
173
218
218
191
270
243
228
326
193
218
175
196
215
228
270
237
169
291
191
237
256
231
285
204
241
218
238
170
198
209
195
167
301
148
211
280
200
299
269
269
211
214
230
232
241
262
323
235
167
204
217
222
219
217
235
215
327
290
246
231
331
177
243
255
181
257
176
219
208
318
239
243
226
200
260
214
259
190
233
239
195
260
186
272
239
281
214
295
200
212
130
235
254
323
237
238
383
229
233
155
174
193
181
260
195
241
272
208
244
315
176
195
170
114
229
180
277
245
114
195
174
199
253
293
126
198
319
228
204
250
108
293
184
247
190
214
228
314
199
206
222
247
269
201
256
314
222
108
160
226
191
212
170
233
320
192
126
169
144
175
273
273
233
168
190
202
177
211
181
191
214
249
267
182
261
208
234
114
191
251
178
269
229
219
177
214
155
251
259
202
218
214
173
242
226
226
242
211
309
243
253
258
285
200
198
156
247
251
157
251
253
243
240
258
278
265
230
315
173
181
202
208
178
232
222
212
332
178
274
211
255
219
238
236
221
174
273
241
180
215
312
276
189
139
169
206
258
211
189
254
222
273
298
209
276
265
236
219
240
197
215
236
207
276
204
241
198
170
232
254
159
269
205
181
147
258
323
234
152
194
244
252
210
221
199
203
258
196
224
236
300
213
258
225
229
199
241
225
169
201
255
270
173
241
304
174
217
201
214
206
198
308
285
198
212
293
199
219
157
335
239
280
183
254
257
279
237
253
237
198
197
255
341
225
149
279
267
237
185
276
230
233
198
216
221
185
227
253
191
249
208
289
166
178
263
230
198
170
148
201
212
151
182
219
227
216
240
187
156
178
205
249
250
267
170
209
216
241
178
236
238
165
265
308
211
192
266
271
279
265
184
246
251
178
281
191
202
161
225
176
178
160
192
188
264
263
260
194
188
263
283
204
238
174
229
252
253
218
201
242
192
126
336
168
195
221
201
258
219
169
229
182
303
278
210
266
208
203
170
241
207
202
234
283
248
128
208
280
251
265
187
300
226
164
168
185
241
236
262
177
181
206
278
251
222
231
223
206
190
205
225
192
225
207
183
224
152
238
170
186
279
179
256
153
174
168
253
320
241
198
186
277
171
237
258
157
238
295
237
211
256
233
267
155
254
231
253
255
253
240
286
195
204
230
270
234
158
191
225
250
258
191
188
222
173
244
170
205
260
213
280
241
126
154
266
287
192
224
231
228
199
243
163
226
221
213
155
202
245
280
218
245
169
189
269
256
114
245
191
296
253
279
216
276
246
231
206
184
232
282
190
282
222
240
294
256
244
187
202
240
267
187
259
216
160
226
226
221
292
237
267
235
204
216
182
225
315
234
273
267
293
235
198
208
352
196
204
244
309
184
200
234
181
238
239
215
207
186
179
223
199
199
161
261
305
223
169
259
207
240
278
159
287
241
214
201
238
254
223
176
223
188
164
232
308
179
252
240
242
263
218
238
236
247
225
156
217
165
251
246
215
252
259
230
261
210
221
170
293
198
235
194
197
271
262
277
233
194
247
205
223
246
208
249
249
203
274
171
152
213
211
173
213
203
169
304
211
283
204
197
243
244
166
185
186
174
209
238
242
180
250
169
334
322
253
179
223
234
249
186
213
186
296
270
242
191
202
309
239
234
208
165
207
181
250
203
147
206
234
276
238
211
237
250
213
221
192
233
241
267
226
222
263
230
207
224
229
214
241
282
195
308
190
249
240
162
237
224
193
148
251
253
220
181
171
129
226
160
106
286
200
180
262
196
297
248
231
266
197
230
207
238
294
255
270
267
249
221
317
201
249
314
257
157
173
225
229
175
259
233
267
219
198
262
192
213
259
181
218
283
231
219
167
241
279
170
273
238
185
260
183
203
192
200
200
213
217
240
246
200
214
226
257
320
254
185
129
176
242
218
282
211
247
189
287
169
258
193
243
218
263
229
290
170
200
263
249
210
220
259
166
200
305
196
270
275
260
179
257
193
219
234
217
231
235
263
300
146
210
213
221
158
191
233
180
258
269
289
198
308
148
195
269
196
221
151
263
169
232
238
221
193
139
158
212
222
121
233
255
205
259
265
259
266
180
313
183
198
233
259
211
256
183
161
180
171
224
243
298
284
319
170
214
192
281
220
287
214
249
225
269
162
241
184
254
247
197
204
312
160
209
277
228
247
264
235
232
163
301
151
247
217
200
202
192
225
195
277
220
286
232
216
234
270
250
179
308
198
256
254
225
207
195
357
298
239
283
225
286
222
204
226
328
217
201
203
121
212
231
214
226
188
265
229
232
256
205
286
227
268
249
139
172
178
352
181
219
200
218
196
200
254
139
210
267
205
229
176
268
234
237
139
227
235
283
259
198
174
185
275
246
224
221
147
295
214
199
213
303
235
154
182
173
246
243
231
237
181
235
198
228
173
145
176
192
190
224
184
288
200
262
214
231
149
269
164
233
207
211
219
259
194
207
179
158
164
257
170
240
213
204
228
175
237
177
171
207
156
290
239
149
265
163
295
214
320
154
146
273
215
195
170
196
244
266
230
196
174
222
243
174
199
248
198
233
270
181
305
235
252
212
221
194
264
336
195
243
259
221
173
221
160
221
211
305
219
241
319
202
197
212
170
158
249
252
209
227
239
208
242
213
188
228
187
253
218
151
230
296
208
240
197
162
196
201
292
274
239
193
228
256
129
210
219
247
265
259
188
244
142
224
202
249
162
217
211
316
315
214
271
114
242
174
213
108
171
349
164
186
220
279
150
256
222
217
231
261
213
244
196
246
238
195
209
227
223
207
256
182
262
256
156
203
171
228
222
173
213
309
251
326
256
216
277
187
214
253
210
247
253
215
188
220
302
260
231
145
193
189
216
242
254
260
164
174
181
359
258
198
232
263
149
245
256
218
219
186
237
202
310
207
238
219
181
265
211
154
277
230
258
201
206
237
202
195
184
249
306
275
258
154
156
219
233
276
263
202
207
295
274
189
296
194
198
243
259
253
287
217
269
248
197
217
230
145
270
202
152
188
254
187
228
190
173
226
161
241
263
232
158
233
254
234
207
267
197
290
203
247
180
241
245
290
179
274
248
169
208
250
241
268
216
217
195
218
279
203
218
265
288
297
290
197
213
212
237
222
286
253
149
168
265
282
170
193
261
251
268
249
178
168
294
218
280
354
181
226
213
164
326
188
202
149
237
284
208
280
258
121
278
222
252
223
126
247
176
222
188
263
207
235
322
181
356
214
220
114
242
280
255
161
159
231
264
157
251
272
210
193
191
193
175
195
266
236
185
242
262
271
207
295
264
208
279
199
263
247
114
247
186
230
209
294
280
239
257
188
233
233
277
145
114
257
278
261
246
200
179
166
238
184
220
177
181
206
211
154
214
151
256
258
282
240
286
200
178
325
161
160
171
196
121
195
254
205
293
214
311
157
152
193
175
202
236
260
160
237
167
277
198
237
184
200
262
249
206
248
203
269
289
255
235
261
199
275
220
214
159
139
259
236
193
259
281
208
188
247
204
239
285
267
240
151
174
202
139
289
175
275
253
251
227
209
146
253
247
188
193
278
209
246
166
238
236
210
198
192
310
234
273
236
198
195
170
195
170
295
262
162
219
198
303
245
160
173
293
214
233
200
202
311
203
249
252
262
277
224
215
258
207
222
114
194
147
240
245
238
245
268
185
251
175
267
194
148
277
282
275
192
126
210
234
180
175
290
283
361
170
235
277
139
207
214
221
126
259
238
205
207
262
302
173
247
146
287
231
219
207
216
170
203
158
270
255
202
175
195
145
286
205
184
246
286
181
168
182
180
254
174
190
234
239
126
210
247
223
169
167
183
274
226
266
300
235
190
144
172
247
133
181
149
262
174
289
130
145
192
194
159
259
261
184
157
218
316
170
221
185
126
175
155
176
225
186
320
162
222
245
234
290
249
228
259
193
158
228
201
272
220
247
286
265
251
289
160
229
186
216
301
282
196
267
239
175
301
241
175
256
236
234
199
168
230
126
219
223
209
216
235
229
244
191
256
218
265
233
215
304
210
258
205
189
243
239
201
207
151
301
210
266
286
285
190
286
259
265
305
207
198
289
245
235
318
289
213
173
252
232
238
195
262
182
244
293
162
268
277
239
176
322
253
218
339
233
164
205
232
242
238
252
209
269
148
186
296
238
260
184
234
289
235
203
227
264
180
309
129
221
178
298
218
161
195
213
260
243
249
221
191
289
258
253
240
196
278
245
205
194
303
231
196
295
248
240
148
297
273
188
193
260
156
279
282
226
244
249
304
242
145
251
311
232
332
165
187
321
263
290
170
192
265
270
197
179
139
220
187
145
284
367
181
233
288
229
255
321
236
189
168
182
219
240
265
229
178
154
239
274
238
184
181
182
219
201
204
226
170
194
199
201
180
276
208
173
278
224
200
198
286
211
193
301
254
234
233
208
254
164
200
285
267
253
248
187
226
179
277
259
204
252
160
252
192
264
178
178
318
239
243
217
210
266
247
245
290
220
266
247
231
268
187
303
202
282
234
226
205
158
237
223
240
292
205
251
207
168
206
193
215
274
280
232
126
237
198
237
309
145
246
204
175
158
193
217
165
191
187
254
320
270
114
204
215
295
238
160
252
254
259
203
252
193
174
240
275
255
219
267
186
214
263
266
259
268
183
208
230
198
220
193
190
262
214
222
229
253
236
201
239
251
260
305
237
242
270
360
179
253
181
170
263
167
269
238
175
255
185
178
227
247
226
285
247
215
141
274
114
178
210
183
239
191
225
218
164
268
203
285
192
228
269
232
210
144
195
191
193
261
240
198
250
256
268
250
194
197
226
261
249
212
247
265
287
236
231
173
240
286
267
266
153
230
214
205
221
258
188
232
211
214
280
182
251
173
175
276
260
225
288
244
173
191
181
187
179
236
170
252
260
251
245
210
255
246
249
280
224
163
222
239
238
258
242
308
227
158
186
274
196
229
230
191
257
248
223
198
221
242
204
243
284
280
174
223
212
197
177
215
207
208
189
211
160
252
225
243
205
221
231
193
208
225
216
179
235
310
256
169
243
251
202
174
271
249
164
176
214
269
225
148
184
217
259
308
182
242
226
212
270
217
204
208
114
218
271
214
220
299
210
270
279
202
153
270
184
166
178
257
197
198
184
114
368
165
308
193
285
245
162
219
210
193
255
126
202
152
233
206
266
206
216
266
202
263
215
199
280
223
310
257
261
200
170
267
224
319
189
369
278
204
243
215
187
270
227
228
324
237
196
227
331
217
160
237
250
253
200
240
186
174
229
261
233
216
295
198
287
228
204
217
218
254
179
250
218
237
366
208
232
253
317
260
231
360
293
285
221
247
295
241
191
154
217
192
200
153
294
256
246
210
207
267
253
335
279
255
236
208
295
200
225
265
170
213
228
193
241
208
234
244
223
265
152
250
221
225
324
274
208
163
229
228
257
252
225
247
219
176
301
192
185
239
188
241
184
251
249
149
260
216
324
265
265
216
232
252
296
207
275
318
202
225
218
251
279
191
206
222
302
206
217
177
246
185
259
311
235
185
164
241
222
244
206
195
248
244
216
255
216
281
227
212
285
199
194
319
229
180
216
196
240
197
193
156
160
226
219
208
296
190
200
242
211
323
180
245
294
263
169
236
205
289
257
229
196
156
190
220
222
333
244
219
235
236
291
179
259
236
243
214
182
239
334
235
222
229
290
311
231
192
225
183
190
235
225
251
277
164
282
199
270
205
188
173
285
195
231
208
238
307
306
196
174
239
243
259
198
231
193
162
221
203
327
231
235
251
223
294
265
209
235
234
160
151
200
276
174
293
238
384
164
277
201
225
114
222
245
168
242
221
236
226
250
169
230
235
173
232
237
164
175
201
169
225
213
210
201
213
237
202
300
175
223
178
195
261
170
315
265
307
263
325
152
225
180
203
253
336
212
195
235
184
192
186
271
151
320
225
211
271
235
237
234
295
185
193
175
154
253
240
244
240
219
189
255
243
277
214
221
272
146
311
286
264
236
221
186
158
162
270
239
220
204
116
231
237
283
243
214
165
256
242
192
114
201
203
170
171
200
173
216
164
280
242
308
198
247
211
199
242
322
214
166
275
177
233
224
299
233
260
285
220
220
269
240
196
280
181
202
200
248
274
181
247
207
259
253
251
145
165
276
213
221
129
220
209
185
235
261
204
222
226
198
200
149
175
207
214
267
184
198
212
195
178
238
139
263
270
185
236
252
247
198
263
165
230
246
241
255
197
276
304
199
222
292
153
191
303
152
145
229
216
261
228
234
316
210
236
177
226
245
262
195
121
208
193
202
277
195
223
248
164
264
182
193
306
204
294
208
216
148
220
193
219
223
224
246
255
290
206
239
246
267
208
272
240
228
300
259
237
191
146
229
328
244
232
269
197
303
262
158
213
168
210
224
176
200
217
243
192
218
217
225
163
198
172
290
187
239
146
286
223
279
236
202
271
198
170
198
175
261
170
212
240
207
193
171
305
331
212
350
252
217
165
176
269
243
155
205
186
173
159
294
155
234
195
255
255
261
240
152
222
166
248
195
170
297
175
245
342
251
256
252
116
243
231
214
211
266
180
187
257
226
189
186
240
218
116
217
166
355
323
274
175
227
198
241
227
218
198
225
241
181
194
116
214
175
188
285
211
312
233
199
187
199
264
165
240
256
156
189
238
145
241
257
176
250
185
188
114
206
219
285
232
181
212
198
229
217
258
185
154
242
194
257
173
201
263
279
223
208
273
197
242
158
201
222
260
243
220
205
220
238
237
211
236
269
259
257
272
241
146
220
215
196
254
242
178
168
201
273
170
215
207
198
215
198
237
245
246
203
210
240
227
186
188
203
211
211
189
239
255
224
235
160
237
198
298
269
215
280
240
212
195
287
268
183
247
229
259
230
170
223
179
178
185
195
196
251
269
255
177
181
108
283
179
160
184
175
229
208
203
245
278
281
231
160
201
216
306
204
246
240
158
256
145
249
179
193
249
353
182
235
145
321
211
228
139
193
225
233
283
255
300
222
205
201
245
245
225
192
203
229
203
317
202
290
224
185
293
262
204
263
223
157
178
192
298
266
216
255
223
194
221
277
280
175
175
188
145
298
292
214
146
219
174
243
230
180
191
186
158
241
160
206
250
295
269
227
180
220
302
218
220
250
278
215
165
215
280
315
173
141
279
169
236
236
181
308
233
221
181
152
197
212
297
223
242
238
232
174
206
256
235
278
245
230
220
243
156
228
243
227
220
178
193
270
196
253
209
250
233
247
225
210
203
200
225
236
235
217
296
226
253
163
271
242
263
192
248
213
185
193
278
224
267
195
205
285
286
287
239
267
234
188
254
220
205
173
204
221
254
243
310
217
175
202
226
246
220
240
250
226
149
200
174
283
187
231
144
265
244
164
185
251
303
170
167
314
226
159
241
185
259
281
239
233
200
210
287
258
263
242
227
201
225
270
272
228
220
280
267
216
225
213
217
262
198
170
257
261
220
171
166
116
248
290
240
222
216
258
278
245
208
200
274
206
222
258
184
165
312
233
199
288
202
260
282
191
206
248
212
194
280
356
206
201
203
241
114
256
237
238
269
188
196
273
228
194
203
170
175
154
309
239
173
214
204
240
275
108
257
226
253
252
258
206
213
294
200
251
114
238
232
229
195
295
194
211
215
208
193
155
196
173
146
253
293
231
280
198
295
151
223
250
245
207
236
223
198
223
206
226
247
245
190
216
324
180
303
186
253
214
234
227
207
253
160
215
195
277
226
255
266
207
209
202
187
208
255
287
160
381
232
307
254
268
233
219
253
188
249
246
254
224
148
195
235
219
248
241
240
294
211
248
272
220
269
147
248
145
227
268
196
210
231
199
175
269
284
212
263
147
160
258
249
244
189
217
227
180
323
289
253
319
269
181
249
231
210
178
275
235
235
269
213
287
208
182
221
158
215
249
223
325
238
282
195
192
221
221
260
158
200
176
226
170
126
202
197
116
198
240
231
272
222
152
206
255
217
180
169
183
281
370
171
233
246
230
294
174
218
203
114
218
228
189
192
228
269
194
243
247
227
176
235
212
334
224
195
198
179
284
256
183
305
192
192
222
256
264
178
249
214
189
226
191
215
171
201
233
205
206
175
247
263
139
162
250
261
279
297
208
267
253
237
173
198
240
239
174
178
229
203
240
268
280
222
240
180
227
221
308
188
204
213
261
199
170
240
251
208
247
192
220
182
240
234
345
211
223
198
126
231
174
289
222
272
231
282
258
212
287
266
164
201
236
266
184
311
273
173
195
225
206
191
196
220
201
337
222
197
220
207
213
247
258
145
259
234
291
206
256
240
296
251
166
178
245
308
239
213
225
260
199
250
219
228
237
245
220
245
249
195
187
181
178
228
215
219
144
341
186
197
272
172
277
214
223
180
271
273
234
219
209
187
235
247
241
232
187
237
150
310
261
257
180
226
116
212
146
279
171
141
156
144
221
264
252
345
284
210
226
243
170
264
252
203
324
210
175
211
176
194
195
183
209
220
275
218
186
318
220
238
221
270
356
303
193
159
249
222
204
114
198
194
236
222
216
288
281
202
274
204
196
241
151
209
274
209
214
221
257
219
204
188
209
233
250
272
178
252
260
192
252
191
289
207
248
241
165
184
197
241
286
178
287
252
177
206
220
222
215
236
197
218
159
232
220
254
176
218
283
179
221
214
268
227
267
182
275
207
184
219
188
213
206
327
236
169
163
296
340
221
220
182
175
183
155
252
210
227
240
225
224
151
295
216
232
254
215
184
257
239
228
160
273
198
174
283
168
201
255
129
193
199
228
196
262
187
236
167
173
238
232
191
193
239
261
222
207
306
199
147
186
236
293
306
203
225
202
199
128
278
234
180
192
245
261
203
286
245
139
247
198
240
206
250
281
203
269
267
145
152
295
227
222
208
193
219
195
207
217
171
186
185
252
252
246
240
226
216
308
253
264
292
185
237
259
240
200
202
278
205
168
166
186
192
197
171
301
240
235
198
286
280
204
166
195
260
217
324
208
228
185
176
188
259
245
233
207
259
175
114
232
252
230
231
262
220
210
242
178
221
239
169
264
197
274
204
193
279
181
214
210
251
181
230
263
273
265
178
275
235
170
284
185
263
192
170
262
151
250
186
178
235
249
278
309
188
225
244
242
194
218
188
196
149
158
227
230
221
196
314
222
210
255
263
191
340
243
229
165
206
240
172
227
232
245
265
223
189
257
177
196
208
251
231
295
202
198
285
209
204
170
329
210
208
319
283
262
224
191
144
220
282
195
199
181
234
285
248
216
290
168
218
217
175
222
183
196
164
249
156
234
237
241
186
211
225
262
215
160
258
299
137
209
236
212
176
201
183
330
258
233
195
166
278
157
246
249
278
279
290
152
271
248
210
293
250
195
214
337
252
214
253
189
152
209
238
217
265
218
146
179
231
171
236
196
203
214
284
262
317
234
199
224
205
208
260
309
264
216
221
242
212
191
229
170
216
266
204
189
184
208
170
193
263
140
299
214
245
287
226
224
184
246
253
295
268
168
260
288
228
206
224
178
285
207
197
274
222
264
198
314
251
254
177
239
212
114
206
187
243
187
308
207
198
200
292
175
173
294
170
274
175
230
295
256
158
253
274
222
250
188
219
308
192
207
193
214
225
137
269
221
173
311
322
207
233
316
126
224
222
236
246
181
218
220
177
144
175
222
240
192
260
161
200
189
238
114
174
190
255
208
238
281
286
249
226
282
230
299
223
304
221
156
194
281
286
207
166
187
274
198
183
240
266
206
240
237
180
172
225
176
235
246
227
206
161
232
164
256
232
301
214
208
281
302
198
193
166
265
252
159
270
361
271
199
242
204
234
284
235
277
233
194
204
238
156
228
319
196
226
224
212
209
229
216
219
261
223
235
196
241
193
258
266
289
196
266
224
218
277
229
218
223
181
206
290
260
264
241
304
309
206
209
230
205
193
186
198
194
213
242
215
238
303
197
176
251
296
187
247
162
278
198
260
218
179
226
213
170
184
252
271
213
244
266
164
269
278
278
150
202
203
223
235
240
189
277
230
200
205
207
206
196
236
263
189
240
230
209
249
263
273
244
319
281
245
200
256
299
219
382
230
173
325
190
198
210
269
151
296
223
161
180
151
326
254
230
129
114
221
193
257
259
206
266
237
269
233
248
194
203
174
214
252
243
317
229
161
186
215
196
229
184
220
181
170
221
293
323
183
226
196
244
265
290
244
262
207
152
241
160
235
183
291
292
244
161
174
241
245
267
196
160
276
243
201
143
284
267
264
251
237
230
157
270
239
236
152
233
186
200
177
221
194
322
214
234
221
183
181
245
211
212
194
240
246
156
256
197
251
226
194
178
275
246
252
184
179
309
183
139
266
277
203
170
249
296
189
199
244
277
202
266
290
229
244
192
196
214
192
278
214
236
213
160
166
224
211
247
255
304
184
224
215
159
256
219
173
200
285
265
245
183
281
230
168
222
252
217
250
195
229
168
238
129
256
208
196
220
176
158
195
189
238
166
216
251
237
274
189
264
233
179
223
222
256
173
172
208
205
271
290
206
156
186
157
198
220
183
200
220
186
287
208
235
184
181
265
175
319
245
226
106
180
286
233
240
232
202
220
179
193
129
181
202
133
303
209
217
219
232
177
239
272
233
252
217
219
225
172
246
240
226
238
233
269
233
300
310
201
215
159
211
114
252
231
167
194
283
247
237
231
253
180
202
207
181
182
297
155
239
200
207
247
218
242
262
210
185
295
236
196
256
279
368
192
199
232
215
305
221
266
209
254
268
209
220
272
192
223
291
299
255
187
215
251
223
167
274
209
235
292
179
187
222
210
244
212
224
201
197
247
158
220
207
215
326
241
235
188
206
233
171
247
227
279
255
183
212
181
192
246
262
268
129
247
256
301
148
181
222
172
226
192
203
228
220
187
266
306
236
253
273
262
266
203
205
213
247
208
245
167
241
238
249
165
255
151
245
248
225
230
228
217
196
249
251
204
222
170
191
218
178
223
215
184
270
322
229
236
259
273
139
205
238
215
166
191
220
207
322
249
326
162
262
220
248
268
145
257
301
139
240
173
249
242
175
292
265
233
152
214
312
208
226
292
312
208
280
273
174
228
253
218
268
200
241
222
196
225
223
244
196
198
215
281
204
191
184
183
212
246
221
174
298
194
216
278
240
108
202
184
240
233
161
227
169
165
267
188
211
185
208
214
238
162
206
181
234
174
246
213
234
228
227
251
160
202
161
160
179
205
268
181
234
244
223
126
270
300
178
173
130
354
151
206
151
225
258
114
158
262
191
106
252
231
307
268
228
202
114
297
116
222
289
175
231
212
304
196
321
234
177
283
247
114
241
167
276
261
200
256
174
277
234
169
202
231
164
208
268
242
215
234
214
255
231
262
168
160
260
176
180
216
188
214
178
178
178
245
260
193
337
232
229
227
192
258
238
207
244
226
254
206
243
270
274
170
284
212
234
225
201
283
169
216
216
250
195
200
212
208
215
239
171
205
192
246
220
276
280
224
227
168
268
182
198
248
324
217
116
212
214
283
222
224
211
121
191
182
181
283
145
239
242
260
189
262
266
266
236
213
225
225
240
206
229
240
248
193
247
247
256
235
191
232
219
304
173
181
232
200
245
215
236
225
208
267
234
206
190
168
173
192
303
209
277
260
218
266
198
301
203
211
301
174
192
203
260
191
190
185
275
246
190
209
260
266
334
274
251
272
164
220
151
259
279
201
299
172
264
312
258
254
214
222
220
231
235
181
255
224
168
232
139
303
221
186
301
223
114
282
254
225
139
206
241
263
184
181
238
185
214
215
174
158
270
209
203
276
307
188
241
231
264
233
292
220
160
292
185
160
222
218
194
195
247
228
233
208
281
189
270
192
220
226
245
312
195
213
194
114
302
237
243
222
284
216
192
241
193
242
239
189
225
219
273
267
206
247
232
209
264
121
185
256
245
194
244
227
302
188
247
288
279
272
313
294
173
284
194
233
265
212
184
285
293
325
245
214
282
227
218
195
216
145
152
193
231
290
217
239
253
234
207
130
216
212
251
211
156
239
235
185
275
212
212
189
244
174
231
279
256
209
208
194
156
241
228
267
208
225
265
294
192
226
243
266
291
242
209
212
229
288
196
225
156
208
210
256
265
248
220
177
159
258
291
173
333
198
303
241
251
157
219
257
239
160
179
242
276
249
240
238
229
213
144
205
271
236
146
264
177
272
148
201
247
247
169
209
218
255
306
223
242
304
330
206
201
274
242
189
263
247
289
202
268
204
203
170
174
256
261
211
204
194
218
258
252
231
222
194
248
181
303
246
247
221
241
254
209
148
221
221
202
229
317
114
193
252
153
246
160
215
276
255
228
207
220
203
313
209
235
191
197
237
137
277
197
114
185
229
203
194
195
189
237
234
270
240
266
189
314
214
152
268
195
199
265
241
183
299
263
273
314
233
218
283
196
151
232
354
234
274
165
276
209
214
210
288
219
284
251
274
200
193
200
180
228
146
169
271
232
191
205
247
174
175
252
262
293
319
295
220
229
272
196
322
154
130
160
280
241
232
216
217
263
176
206
296
250
208
202
173
187
285
232
253
221
329
253
241
200
217
233
248
299
126
254
240
161
281
191
245
178
179
178
221
207
195
210
208
217
251
256
238
161
201
262
179
228
241
184
234
198
238
222
240
244
219
295
251
165
257
320
235
181
170
216
235
215
204
220
174
182
277
191
332
266
248
161
254
298
187
180
179
237
173
179
196
240
151
180
218
264
262
152
252
242
314
218
235
169
287
350
286
189
250
210
218
206
236
215
193
230
200
231
192
225
276
243
259
126
219
195
217
309
256
248
244
158
176
168
337
264
219
228
188
193
193
216
192
208
236
233
312
213
197
153
180
225
227
227
260
226
276
258
189
194
182
263
170
257
271
279
227
256
161
228
267
281
224
221
246
218
188
311
242
223
242
251
175
258
153
245
173
211
187
222
219
279
252
185
167
329
212
220
156
245
287
263
181
247
254
266
236
240
243
211
206
229
283
257
236
238
250
198
221
229
225
241
205
248
263
158
198
242
240
281
220
175
216
246
228
233
261
247
222
220
187
174
220
172
240
263
146
236
160
247
187
253
184
221
208
268
171
234
184
180
145
347
262
116
320
215
187
294
250
243
201
190
145
203
270
204
246
215
184
257
225
145
178
147
227
240
200
183
282
196
276
234
197
206
245
281
256
171
233
240
239
205
215
282
222
174
244
204
139
201
302
204
275
213
215
164
145
154
252
232
207
268
239
139
283
214
182
248
230
209
176
162
260
162
204
234
217
202
239
225
191
182
233
212
282
199
239
162
246
219
241
196
203
202
175
199
300
246
258
158
145
232
227
191
284
241
222
217
184
217
207
248
214
220
198
231
196
180
253
309
180
299
241
209
174
176
190
222
114
229
208
207
312
221
139
203
314
114
261
170
207
152
165
258
280
289
215
222
243
325
214
241
279
178
261
180
293
159
261
215
216
234
224
255
219
243
239
225
366
243
287
139
221
235
280
259
186
214
169
221
202
192
146
245
187
201
292
321
221
170
181
178
280
235
211
315
233
237
301
209
190
238
199
197
263
193
205
254
242
277
253
283
181
231
194
223
331
244
212
174
157
164
258
218
320
286
212
233
191
253
220
285
170
233
246
152
279
220
313
194
228
244
262
178
268
238
158
274
224
222
259
272
177
181
262
237
265
164
201
218
219
280
261
205
298
241
278
260
151
165
235
237
275
223
256
149
289
218
201
161
246
199
174
240
230
204
220
178
171
210
211
226
183
292
169
170
209
302
192
287
192
301
178
331
249
217
196
174
222
178
196
243
262
236
368
256
206
181
200
264
175
208
275
225
356
220
177
173
192
319
186
270
160
256
211
249
185
209
290
239
178
261
258
204
182
152
186
277
220
280
239
299
284
177
222
205
200
203
193
234
171
222
285
254
254
240
298
195
274
268
274
186
215
256
237
207
288
209
244
189
199
228
181
257
218
224
192
244
207
311
174
208
184
240
311
180
240
222
246
193
222
230
106
170
234
126
242
240
203
293
288
281
306
264
180
246
207
198
240
246
286
178
219
245
258
240
229
329
201
227
165
159
263
249
192
209
114
206
216
200
270
212
275
280
189
279
240
227
227
116
246
245
201
181
197
306
238
176
193
272
177
171
238
261
204
296
187
296
246
273
313
230
236
222
258
210
147
278
196
190
289
192
232
222
126
235
288
264
265
218
205
145
246
217
191
217
298
244
221
241
281
198
237
248
156
144
202
155
228
286
243
213
191
230
181
181
220
200
271
257
193
232
184
240
244
221
235
239
340
165
274
253
203
263
271
201
199
192
227
275
180
174
192
255
231
276
180
266
278
271
267
267
154
225
247
193
269
188
176
293
190
214
285
205
303
170
278
235
219
264
208
248
202
240
221
263
129
217
193
198
184
183
219
217
252
201
204
274
286
228
294
300
215
271
196
192
214
256
277
272
234
287
240
185
198
126
228
193
223
235
219
229
228
204
272
239
185
180
231
270
213
169
190
210
152
167
144
245
261
206
221
278
205
265
238
208
221
267
291
246
185
206
173
162
255
267
240
191
215
170
236
166
262
276
298
181
210
272
299
146
215
177
178
306
274
262
187
221
233
250
302
267
207
233
258
235
175
231
219
276
173
230
201
216
260
260
265
183
268
200
213
209
189
272
225
175
256
200
260
241
160
186
242
243
219
181
249
253
264
197
214
156
129
197
259
217
201
204
226
215
279
334
290
263
166
189
215
247
286
231
269
277
210
184
255
174
315
250
262
236
210
184
249
282
292
196
176
244
265
211
233
190
200
154
221
250
208
258
170
158
228
268
223
215
175
243
188
250
139
254
266
269
216
186
230
168
184
173
285
328
251
183
211
156
233
204
216
164
160
170
194
320
239
199
229
188
184
214
250
263
244
256
257
192
227
203
200
183
298
179
228
318
281
166
196
188
176
238
246
198
246
243
176
209
225
229
200
275
192
233
260
187
250
150
239
199
180
233
291
276
152
152
196
198
198
156
185
253
175
186
213
228
226
258
266
152
153
175
226
277
175
208
203
208
183
301
225
185
242
255
171
304
222
285
308
231
223
234
148
270
229
213
281
204
190
200
237
211
236
198
238
182
200
185
200
258
169
220
165
282
214
203
211
322
254
321
262
276
240
206
222
190
220
205
168
197
233
161
254
278
250
251
262
270
209
178
184
218
216
226
193
228
218
266
258
151
196
218
261
191
158
255
211
148
271
207
255
244
277
229
333
196
196
114
299
289
204
189
171
222
271
130
274
172
245
228
220
178
258
220
199
234
275
246
221
207
242
317
235
212
215
197
163
218
156
178
319
246
121
160
211
208
139
258
262
241
212
162
215
274
178
175
223
114
276
237
192
221
274
114
173
243
263
226
255
156
251
252
194
248
132
240
178
315
182
268
160
211
146
223
308
248
302
160
160
189
209
169
270
116
215
212
156
214
181
223
251
235
280
261
165
218
228
227
284
185
190
295
226
175
226
278
191
210
224
247
266
205
254
270
267
247
299
274
185
170
293
288
162
223
205
207
176
259
289
206
232
169
264
268
296
282
260
114
176
229
211
180
212
243
233
204
271
281
282
234
232
248
158
196
274
211
263
225
341
173
279
262
216
323
173
245
234
236
258
200
274
205
251
183
237
284
208
252
238
244
192
174
168
194
166
273
197
271
222
195
222
228
205
217
213
238
256
198
259
185
246
213
198
174
176
217
224
221
270
189
200
276
315
254
234
243
262
227
210
160
261
201
295
277
227
265
206
159
173
282
250
206
229
240
273
232
200
220
288
242
241
219
184
296
272
288
264
230
242
231
237
253
170
230
252
212
231
306
183
201
168
275
208
218
202
312
192
399
205
206
140
152
220
181
234
183
245
221
206
276
185
180
173
244
196
229
176
192
181
278
286
214
158
253
165
248
219
160
213
160
239
265
265
242
189
288
300
170
222
186
196
231
172
214
208
198
207
175
267
211
249
277
208
188
212
210
240
191
155
254
205
253
233
215
296
163
269
213
193
191
203
237
191
160
213
228
211
249
177
227
233
233
244
290
162
218
213
229
195
313
258
220
326
262
170
216
215
216
208
266
199
299
235
241
249
185
296
215
221
223
114
253
239
317
245
222
238
204
256
213
234
172
221
361
148
268
198
242
224
174
183
222
233
196
281
314
299
183
255
220
200
229
239
156
187
240
179
215
186
183
280
248
145
267
215
212
151
309
302
191
223
216
260
243
160
265
284
205
285
234
173
241
216
165
213
193
213
254
225
239
204
175
247
144
191
260
201
224
205
240
263
151
214
151
258
203
250
114
250
174
200
312
209
322
209
156
284
114
222
234
207
210
210
219
239
210
155
237
226
261
173
274
195
219
210
184
191
215
261
307
244
214
244
261
200
223
189
234
270
225
305
244
246
181
228
190
200
192
225
203
240
114
206
114
226
304
281
228
249
227
226
229
172
217
180
207
236
194
256
330
229
198
260
173
211
211
225
170
211
209
189
242
263
225
129
282
215
204
216
173
183
255
168
292
263
237
237
246
114
173
195
270
261
227
240
201
149
235
177
324
209
220
237
229
310
218
210
230
263
189
250
288
300
214
178
263
178
197
211
267
220
240
209
228
214
224
242
244
231
298
212
207
233
171
216
238
250
276
186
285
311
176
296
214
114
214
216
169
216
186
273
234
259
170
211
156
252
246
248
272
257
207
335
266
190
173
297
229
240
172
161
164
253
285
249
218
218
191
250
207
305
277
210
229
243
225
129
249
147
216
192
265
272
174
204
237
193
156
275
244
285
210
234
222
164
208
146
304
205
187
223
241
268
181
239
229
159
175
296
236
165
170
280
146
281
178
203
217
205
190
250
228
243
247
219
147
241
146
312
264
173
230
224
231
212
182
225
276
254
327
237
238
192
205
239
174
235
175
213
233
188
175
159
244
160
194
229
216
198
293
245
249
201
224
220
178
256
170
225
256
266
188
235
277
176
249
199
275
203
206
168
203
278
231
191
121
280
231
236
240
145
195
314
189
199
285
275
181
252
343
245
207
252
178
240
214
186
216
304
297
152
210
114
221
251
197
256
282
196
291
242
252
231
189
235
261
229
238
227
225
278
358
257
209
290
228
281
241
236
231
287
198
201
114
248
266
108
299
260
287
234
165
266
220
180
148
161
190
214
203
278
178
272
188
219
234
246
280
279
225
228
178
221
167
216
208
219
213
222
168
280
210
175
232
227
260
262
231
242
202
192
183
246
196
294
193
228
299
147
206
196
297
184
152
333
257
173
175
149
307
192
187
215
210
228
234
260
170
248
245
231
251
247
229
293
243
226
254
225
256
221
229
258
236
173
223
226
270
152
235
183
198
232
114
269
170
233
291
170
231
288
133
243
196
225
363
176
174
283
149
227
284
241
232
218
178
235
309
260
247
179
233
202
247
199
264
328
299
166
257
225
266
217
221
146
298
186
324
133
241
276
164
230
320
285
176
239
210
193
298
261
264
315
176
237
290
139
250
251
253
287
233
196
228
258
207
151
195
242
229
307
188
182
218
160
166
282
152
225
207
197
237
208
291
205
191
208
209
216
276
191
224
268
243
220
285
207
265
264
292
226
280
173
288
374
222
206
218
188
237
194
151
255
196
268
207
235
180
218
157
223
192
219
247
208
222
211
207
245
129
222
198
274
220
114
221
216
267
191
262
234
304
194
208
208
193
278
233
291
219
264
237
243
324
227
241
303
257
160
186
193
241
184
274
178
229
214
207
211
160
183
194
224
256
220
249
242
184
251
219
226
181
261
160
266
242
224
194
340
237
287
324
213
215
134
207
181
237
211
285
376
195
310
235
262
219
175
223
184
278
226
253
209
232
192
211
172
234
284
202
199
227
354
321
203
194
272
246
283
234
323
192
172
198
274
278
238
240
243
167
240
252
207
225
280
270
286
203
267
309
204
257
216
283
195
200
165
277
220
151
214
208
175
215
192
227
215
254
308
175
174
213
165
170
234
224
218
235
173
180
188
204
214
209
210
235
248
197
176
270
178
257
248
189
248
156
250
222
288
228
251
253
222
267
235
250
188
220
241
173
193
184
253
238
186
211
270
159
182
198
219
234
261
158
256
276
255
252
220
253
236
305
200
280
199
152
265
213
202
155
286
200
165
251
272
234
223
216
244
292
283
202
211
282
276
222
200
266
234
305
224
207
232
243
260
156
190
184
211
272
259
208
304
290
247
212
235
198
328
247
282
195
196
204
198
216
232
249
197
278
254
216
272
174
312
254
202
265
148
222
256
185
237
241
196
259
181
114
230
171
184
297
276
215
313
170
244
222
256
201
266
221
224
230
261
151
257
197
159
270
114
285
181
121
233
214
235
241
251
199
318
199
194
203
267
260
265
254
232
233
152
298
240
234
228
188
292
221
207
207
229
171
230
299
216
219
247
161
222
170
188
181
267
189
248
273
295
249
218
181
240
225
233
227
193
288
255
228
269
180
262
202
149
242
244
288
264
181
181
212
196
249
267
205
158
226
214
145
278
194
217
153
261
302
177
226
235
213
192
226
200
245
334
212
152
257
188
233
130
180
234
229
263
247
225
197
231
265
208
261
160
220
254
188
180
221
176
198
217
213
245
207
232
178
168
263
248
282
218
220
189
324
215
213
191
214
269
234
199
154
225
121
243
213
225
157
279
154
259
200
215
239
234
305
328
160
209
213
203
198
200
221
237
225
194
231
219
162
202
156
203
250
305
315
186
226
114
294
178
251
306
330
285
249
340
275
245
186
220
296
174
230
216
232
193
246
261
207
246
214
207
139
246
155
245
179
173
189
206
204
240
133
201
267
254
184
191
209
304
152
308
311
237
211
174
234
218
334
148
278
255
229
268
184
206
229
212
212
268
199
239
217
170
306
232
148
169
294
282
198
323
198
153
214
267
243
182
260
170
211
297
160
239
217
206
188
158
208
208
231
183
126
294
267
259
279
233
259
293
178
263
151
170
167
238
320
227
243
275
253
121
219
246
148
196
190
204
211
277
114
209
236
336
216
242
197
268
233
185
183
263
193
323
271
219
278
214
206
257
290
236
193
271
220
249
287
265
192
241
224
165
341
168
169
262
172
282
266
191
273
279
273
160
219
203
226
278
265
188
252
293
237
206
218
303
191
315
168
205
237
199
321
189
183
323
310
238
235
246
230
160
148
230
272
241
186
268
182
196
294
229
283
163
195
214
274
232
202
177
264
154
154
177
223
235
265
266
168
233
280
170
246
204
261
229
211
139
261
221
197
155
237
108
274
205
179
199
188
247
320
304
269
188
300
249
218
292
279
202
297
227
108
218
256
139
166
281
232
195
265
210
311
197
244
191
158
174
160
236
202
245
160
238
225
217
201
322
259
246
297
216
322
240
206
313
224
262
180
242
180
228
220
274
270
174
212
216
295
220
163
255
224
173
271
232
209
291
233
297
182
240
161
284
270
218
147
238
239
260
240
283
198
206
221
271
170
264
167
182
207
321
108
210
194
256
210
281
234
240
264
179
204
191
280
221
196
209
238
210
248
176
173
258
168
193
236
272
210
196
161
183
219
180
308
245
187
196
283
151
266
154
287
265
270
175
198
164
237
233
207
232
211
201
225
259
166
184
236
178
312
209
232
214
231
198
206
222
202
231
218
208
194
195
194
303
268
177
207
284
286
183
215
305
187
247
228
207
200
213
257
283
240
116
166
215
173
146
319
255
234
246
216
114
225
185
265
191
196
198
266
234
150
215
244
192
366
219
151
215
267
237
285
219
231
189
284
234
276
192
237
255
283
173
246
198
164
227
252
114
306
257
249
246
160
197
218
195
284
169
244
173
211
192
196
234
121
139
171
270
195
236
287
226
269
152
219
245
219
221
239
324
229
151
225
228
268
264
216
213
237
246
191
243
208
188
226
175
217
240
314
241
219
274
217
200
249
209
173
214
233
212
266
175
261
219
244
258
263
247
304
196
280
250
232
240
277
244
233
156
185
178
195
229
181
249
287
197
261
297
277
278
164
241
234
281
272
216
195
345
211
225
278
260
218
202
252
287
250
200
342
201
227
126
205
255
266
198
287
221
269
190
187
282
203
258
298
213
366
289
225
211
272
234
200
264
220
114
205
285
227
228
148
173
173
232
296
256
247
216
161
245
272
245
260
243
238
193
206
193
194
251
228
264
285
247
193
266
206
229
251
190
174
227
235
214
148
224
228
250
183
226
284
225
269
219
333
222
238
154
212
222
245
251
205
156
258
284
114
246
218
210
262
182
228
207
229
253
195
262
221
171
265
240
173
225
218
256
228
277
170
233
260
243
249
211
220
214
222
270
204
229
291
241
274
250
216
228
234
151
186
180
303
275
274
244
181
316
248
188
242
202
180
216
213
276
309
288
201
195
198
287
204
234
160
210
257
254
256
216
202
277
220
224
229
197
234
213
252
185
155
239
246
238
196
214
179
166
223
206
200
259
240
199
171
161
360
310
222
270
191
204
199
191
223
267
233
205
169
173
200
267
264
236
281
254
215
210
280
288
145
244
297
266
322
251
250
130
242
202
224
238
151
279
213
223
251
246
264
234
297
178
169
172
262
207
114
189
220
175
242
200
265
192
292
256
193
253
257
228
183
213
264
194
197
229
247
253
166
227
300
200
237
213
243
308
236
308
243
179
196
161
221
259
239
223
220
184
241
226
266
197
290
284
248
216
130
218
161
246
209
200
231
186
167
203
216
168
202
155
156
265
259
239
171
209
217
275
231
223
180
256
212
181
203
299
259
199
290
240
220
282
263
191
227
201
204
267
219
268
212
237
301
233
183
244
249
228
231
225
316
139
199
264
254
260
212
250
188
235
243
226
205
216
183
194
195
240
233
214
242
200
326
240
170
227
181
245
184
325
283
309
167
184
210
213
294
242
291
139
193
210
232
243
264
253
260
189
275
205
251
227
156
182
207
263
203
161
158
210
169
284
254
244
228
227
193
275
244
290
234
196
185
167
238
181
217
232
208
256
226
195
220
238
295
232
244
175
259
239
339
329
198
206
235
169
173
210
280
208
326
194
170
114
232
156
260
242
175
219
166
175
264
196
279
196
209
217
223
204
246
286
258
187
192
234
240
158
209
235
130
253
236
236
189
294
208
250
304
224
268
275
181
262
325
250
176
108
207
234
218
233
189
223
169
194
173
266
209
262
204
271
296
144
200
205
229
238
232
261
228
275
198
202
203
209
208
170
274
180
181
152
239
241
152
152
240
202
279
224
223
244
190
176
248
243
151
246
213
198
196
178
225
220
233
198
214
145
210
148
203
205
311
198
209
238
245
181
305
174
146
275
243
258
250
227
156
196
308
284
255
210
161
253
238
206
274
147
277
181
262
278
278
288
239
114
240
259
246
197
227
271
233
244
311
209
217
250
235
114
292
285
188
299
197
152
204
218
166
154
226
203
280
199
258
192
192
185
166
213
254
257
193
181
193
166
250
191
222
248
211
217
264
222
233
196
208
248
173
193
177
223
245
181
258
194
180
254
211
199
188
267
238
276
211
285
141
268
233
271
243
273
170
281
249
155
287
174
362
174
231
302
214
229
253
203
164
241
168
218
265
254
180
217
221
284
290
234
198
356
248
192
215
166
155
197
268
245
204
152
196
178
183
208
208
248
200
239
229
250
172
249
238
168
208
220
253
182
188
303
276
233
277
210
221
262
225
210
242
196
352
229
218
260
189
181
154
248
198
202
193
192
217
201
189
165
232
201
217
148
202
196
275
206
191
231
243
189
208
378
200
210
128
198
146
193
251
311
246
244
211
213
279
273
276
157
212
232
276
271
246
157
159
218
286
192
184
227
245
173
233
197
242
257
246
327
152
189
231
182
201
205
188
145
256
193
267
299
209
215
273
196
235
145
180
258
253
225
225
225
214
108
197
180
227
246
228
174
223
183
212
154
234
317
238
146
167
171
185
216
192
185
164
244
198
210
308
175
248
275
211
229
240
198
260
255
207
200
205
182
208
210
273
192
236
252
114
269
243
251
225
153
228
245
156
169
226
269
215
257
225
170
114
170
220
245
206
186
244
286
257
248
208
283
206
175
170
254
230
262
251
234
202
217
201
169
278
159
273
190
246
214
222
179
165
241
288
249
217
241
260
203
220
201
279
285
275
173
147
237
195
252
170
260
273
182
207
133
203
290
280
233
249
266
152
238
167
185
175
247
369
239
195
200
200
199
147
229
245
311
214
236
280
228
292
297
184
197
250
243
211
158
234
181
165
170
247
226
282
259
300
262
257
180
114
234
208
277
283
130
266
225
211
286
254
275
211
302
299
264
353
261
165
303
265
156
194
238
192
296
261
238
188
134
209
288
277
277
252
229
234
226
114
180
221
293
226
265
222
232
255
202
251
235
222
201
230
253
167
259
231
223
286
301
225
282
209
258
281
205
225
314
168
241
223
287
198
227
251
258
171
235
273
211
214
228
161
181
212
192
246
205
294
194
278
255
240
193
332
121
248
247
217
222
253
144
165
178
214
160
256
287
229
286
161
175
208
237
232
224
170
240
231
181
208
114
285
221
243
198
114
210
247
203
208
114
283
232
195
198
262
173
238
220
248
212
293
262
299
213
288
264
178
259
196
173
220
242
278
188
182
259
251
267
231
139
238
237
216
165
233
270
206
233
235
190
230
251
299
215
286
220
218
201
219
139
170
190
146
233
240
166
191
221
288
237
177
207
250
290
240
223
310
250
264
233
205
223
233
233
219
236
299
259
263
212
198
215
183
207
232
206
208
266
318
156
306
229
232
236
300
263
148
224
250
188
272
321
271
243
312
259
271
168
230
264
155
291
193
203
242
216
221
223
236
248
282
175
175
165
285
243
215
315
194
159
207
126
240
156
193
264
218
207
200
214
241
246
220
255
281
304
220
198
141
200
198
275
294
190
242
210
267
306
232
192
200
181
202
221
253
203
251
201
269
225
215
282
208
173
199
173
233
262
155
153
212
218
212
284
238
244
178
260
173
256
214
247
114
217
130
199
197
264
184
295
203
234
229
122
242
158
228
199
305
178
187
114
199
197
231
214
183
241
156
156
282
236
209
309
286
160
239
192
250
217
242
169
139
208
244
180
207
233
189
219
173
223
190
209
141
277
220
189
186
178
247
245
236
306
175
213
255
186
121
230
198
208
245
314
214
283
269
221
314
216
174
203
213
247
183
235
192
235
240
210
243
236
254
233
185
321
238
180
261
320
261
260
183
246
217
116
229
248
215
231
238
221
254
226
195
232
145
268
178
177
210
213
158
178
211
221
276
263
273
175
181
215
259
170
317
255
160
267
193
251
205
245
215
184
339
196
208
203
179
179
182
257
152
264
187
199
214
206
224
272
174
222
159
209
275
188
296
268
182
252
246
185
108
194
181
212
146
243
193
215
222
197
190
208
223
219
188
189
241
245
183
250
232
240
274
161
145
200
236
229
274
189
170
215
144
214
199
229
305
247
189
262
274
248
235
139
181
336
220
284
187
178
248
200
237
263
266
211
262
225
200
211
151
188
226
287
198
220
280
274
194
303
228
231
254
289
229
170
228
229
246
163
190
203
251
233
201
231
306
233
205
213
278
158
235
259
199
198
233
204
169
264
180
243
192
255
256
140
208
267
209
214
178
160
170
351
277
287
266
184
175
174
245
302
275
232
210
214
244
269
192
188
196
228
251
157
267
236
248
186
165
273
252
308
213
278
223
230
280
238
175
204
275
208
191
211
214
247
238
270
243
269
280
220
154
217
190
188
280
241
180
280
269
211
215
224
282
189
187
192
139
197
210
276
201
157
186
219
239
268
277
219
207
240
255
185
157
173
160
114
212
165
255
210
202
145
227
212
239
208
149
219
258
280
255
243
240
228
255
215
180
267
216
232
160
277
288
224
198
209
235
144
184
231
168
191
245
247
279
189
285
227
286
191
197
274
160
223
198
231
161
199
209
202
242
218
235
245
323
280
176
151
206
161
242
184
200
240
196
285
207
230
256
160
204
233
183
313
223
170
230
238
258
156
241
254
164
295
229
226
224
206
245
291
237
146
304
222
256
279
245
212
213
165
260
240
214
255
151
178
216
328
177
214
242
238
289
254
202
166
245
232
225
195
195
208
239
202
205
280
176
229
191
158
180
254
230
243
151
197
213
252
184
237
203
215
192
239
266
211
188
218
244
312
314
165
182
181
171
213
222
192
213
230
276
195
195
259
247
193
246
239
236
226
242
268
217
197
264
227
265
225
245
178
233
214
258
151
191
223
214
155
215
275
275
247
213
297
168
192
234
242
201
256
208
251
315
300
149
215
228
137
200
285
178
264
249
228
210
239
273
240
221
238
213
194
269
256
218
169
189
215
158
218
225
236
195
173
197
219
170
195
238
185
190
225
203
178
175
305
254
251
262
216
219
227
218
219
325
219
255
116
201
284
230
230
302
212
214
215
197
200
216
272
203
249
212
240
249
179
208
157
246
196
194
251
254
192
206
186
203
193
270
170
201
291
262
257
208
169
228
245
248
139
222
196
238
231
189
272
269
247
201
189
194
253
204
173
174
192
234
198
169
228
310
178
179
290
214
221
181
262
188
114
225
171
184
170
223
156
198
146
235
173
222
226
213
244
169
259
263
205
256
228
210
181
238
227
234
198
198
254
126
225
108
221
207
182
202
337
284
203
268
185
261
232
217
237
222
196
156
213
207
275
219
235
213
266
286
200
222
166
236
186
139
272
191
210
172
288
328
273
156
215
214
175
343
232
289
169
224
187
184
204
235
244
231
275
188
267
171
258
282
314
176
179
198
197
228
289
260
260
237
218
307
221
188
246
169
211
206
160
315
211
333
201
260
156
223
223
321
157
237
260
280
220
156
175
249
243
175
197
223
237
170
284
259
200
202
199
298
250
204
145
250
284
213
268
234
185
224
233
287
181
195
214
281
176
249
253
158
160
151
274
307
174
232
207
233
219
254
271
280
160
227
256
211
238
192
166
309
184
220
189
301
248
207
239
306
194
224
172
228
251
251
158
167
130
189
184
257
283
287
226
156
167
187
295
226
290
168
205
262
210
175
312
211
217
228
259
194
266
227
213
209
227
177
181
204
292
260
178
256
250
252
184
231
357
191
175
200
238
175
205
181
191
237
209
269
235
215
252
156
251
215
203
271
202
275
214
212
214
192
173
221
255
255
240
232
243
182
258
286
226
126
280
236
201
192
277
173
164
319
206
182
248
262
198
228
298
237
203
175
181
277
278
210
210
237
139
243
188
215
187
277
264
224
219
217
232
170
202
254
289
264
239
234
285
269
230
220
283
297
306
233
220
241
221
230
159
128
232
251
273
292
329
255
203
207
165
170
202
195
226
236
295
257
240
191
184
178
309
210
237
215
169
312
179
273
221
208
178
160
272
225
277
188
207
271
203
181
210
178
192
240
249
197
321
249
201
185
292
114
222
252
114
202
262
249
233
208
160
190
239
239
193
190
256
201
274
192
275
252
276
221
219
209
139
203
246
219
260
289
211
241
154
258
161
230
254
184
200
206
195
263
283
206
282
212
236
261
210
275
226
259
218
233
292
174
349
245
205
227
223
238
262
256
178
241
303
152
216
265
299
212
209
206
189
203
302
260
165
262
217
212
166
332
276
188
228
281
284
267
289
224
228
188
173
160
168
281
222
173
177
219
210
243
204
265
262
268
168
218
206
219
271
199
257
152
300
218
178
208
183
216
220
264
201
231
195
155
179
184
262
207
274
204
243
201
208
249
178
192
294
283
195
229
244
279
297
250
188
160
260
182
241
208
233
284
241
178
164
255
261
114
257
190
158
246
207
246
181
181
174
170
152
173
233
196
248
240
246
215
291
223
227
212
253
173
156
194
184
245
181
197
205
251
272
229
277
296
219
210
225
299
243
159
202
226
236
265
187
215
180
265
219
188
241
213
182
324
219
306
174
203
146
229
257
228
304
285
238
219
180
194
188
265
274
240
275
226
250
263
273
198
180
188
162
241
247
288
301
154
173
209
199
272
193
209
140
291
283
288
212
260
211
207
238
215
252
211
189
347
219
198
212
212
193
219
274
199
279
183
233
260
197
152
236
306
218
207
215
212
215
230
173
174
249
235
270
243
192
278
205
209
145
238
299
188
226
258
283
152
180
168
192
165
226
269
271
214
252
181
192
252
192
292
208
188
165
178
251
220
247
210
203
225
217
195
205
193
197
137
188
279
211
226
209
309
246
214
227
229
257
199
300
189
244
238
246
173
183
177
221
193
281
178
213
160
202
234
183
196
247
195
114
249
296
273
166
229
247
233
195
228
290
265
305
149
139
218
289
194
180
330
297
160
232
219
254
114
169
164
218
169
211
190
257
205
280
169
213
178
198
133
254
218
210
270
202
189
181
234
184
232
229
196
114
212
242
199
222
241
221
283
209
216
273
209
224
235
261
183
212
255
194
219
154
296
222
204
206
319
251
179
216
265
229
203
288
192
262
235
212
198
243
240
229
156
135
208
212
263
268
182
273
175
235
267
189
193
173
261
244
254
239
210
114
187
238
218
242
241
188
228
232
252
180
233
242
325
238
262
234
208
225
249
204
202
303
227
114
216
170
114
286
220
214
291
207
169
213
231
223
252
194
178
213
187
219
218
226
160
249
252
237
214
244
248
269
241
185
144
361
178
191
225
215
193
234
175
183
227
208
160
264
288
187
279
222
258
235
305
255
254
215
221
195
227
209
239
272
238
232
165
292
185
198
231
333
196
108
165
282
216
217
253
257
193
271
217
251
229
152
282
180
253
263
168
252
300
234
302
225
218
250
172
221
213
177
288
285
306
269
264
193
236
192
205
153
223
232
318
184
234
130
335
224
286
197
290
160
158
222
179
243
308
292
252
162
231
220
257
191
223
196
272
207
232
202
250
162
334
249
291
312
193
253
176
170
313
176
218
235
185
209
165
242
214
343
238
221
261
209
185
158
231
274
244
237
172
226
245
279
187
207
234
299
278
230
160
223
220
175
285
160
165
230
212
298
214
363
245
240
239
235
177
185
161
167
263
177
206
201
287
156
257
184
305
238
286
235
262
162
204
272
222
248
244
294
218
205
258
256
307
206
266
220
240
259
215
221
309
298
194
255
289
223
270
139
358
187
254
175
281
189
162
217
254
174
268
264
274
209
208
223
211
219
265
261
231
214
228
210
223
243
233
237
299
226
257
289
184
296
231
203
246
155
322
257
240
187
160
215
197
240
114
216
178
196
198
268
227
226
240
253
170
270
209
242
158
187
181
277
312
312
171
139
222
258
170
184
181
246
189
239
204
232
286
195
236
279
186
304
335
270
341
206
328
287
249
243
185
225
227
225
194
251
249
246
247
207
212
306
249
156
323
229
207
280
279
254
183
173
261
277
264
234
273
245
273
195
155
258
194
275
271
170
254
275
192
183
211
213
216
264
216
322
244
225
198
190
226
205
175
294
192
253
210
173
234
239
233
183
197
214
241
220
194
169
301
257
224
170
208
232
297
195
277
155
197
280
145
260
243
226
223
201
255
222
234
340
212
249
216
319
211
234
186
224
245
252
204
192
244
312
261
274
185
234
212
183
220
195
194
220
299
187
194
225
187
198
247
233
274
205
145
144
282
215
246
264
236
232
199
197
254
258
243
175
217
250
223
228
245
182
283
212
170
190
189
193
194
225
206
212
168
204
189
222
256
210
182
130
256
311
149
244
256
288
188
206
202
211
214
192
206
201
217
178
278
151
227
237
245
213
211
180
199
180
208
196
180
182
207
290
185
199
232
193
167
189
229
200
210
316
181
238
262
217
191
160
256
236
250
133
205
311
287
215
216
240
268
207
178
266
180
252
310
184
253
252
374
234
174
194
254
260
262
212
181
213
324
240
269
281
264
215
175
204
181
229
212
282
187
285
227
260
158
236
165
265
190
231
288
234
178
245
250
196
166
201
264
191
190
192
214
229
181
231
258
196
303
228
174
328
222
229
282
245
230
216
170
315
248
285
244
195
238
217
263
208
323
234
239
264
246
144
219
289
209
256
183
227
226
254
215
277
263
222
246
255
229
170
195
176
260
209
188
211
225
215
173
239
170
212
317
114
253
227
244
293
174
209
246
183
288
266
229
343
222
287
293
339
215
241
176
220
229
288
271
177
210
207
157
214
204
261
219
156
328
274
171
246
180
203
206
255
259
318
252
314
223
184
206
196
182
181
280
246
280
249
176
218
198
204
156
265
213
285
283
178
205
246
160
281
201
194
241
256
238
256
181
180
189
305
258
211
121
237
264
274
216
248
200
188
234
245
157
217
273
201
160
212
181
277
203
146
246
308
255
215
241
175
210
154
114
245
274
208
114
154
235
265
243
226
213
231
204
330
239
251
231
148
309
247
188
203
200
277
106
255
194
224
168
202
289
229
264
276
211
114
160
221
175
202
153
244
228
211
256
229
166
279
249
218
183
206
157
229
178
126
249
229
205
241
219
166
251
198
238
263
164
201
316
190
170
228
245
200
181
220
279
156
175
258
260
171
234
224
227
205
174
169
170
187
227
184
192
198
158
286
235
208
237
206
277
267
339
229
194
191
161
238
304
237
195
256
161
251
305
243
173
292
220
245
231
209
156
256
188
217
305
179
203
258
200
177
309
217
298
246
156
279
182
282
193
248
214
251
240
235
287
254
114
247
234
239
291
184
220
195
161
219
267
139
259
243
228
269
244
180
235
221
159
224
211
234
238
211
224
225
192
262
193
320
192
210
221
265
291
263
233
178
195
243
152
212
179
204
188
262
275
218
170
175
231
296
285
186
221
181
196
174
251
187
216
344
279
259
227
161
218
180
230
234
156
354
249
153
193
304
244
236
263
192
231
227
281
195
260
161
166
169
318
242
208
193
237
274
211
326
246
206
181
184
264
207
188
247
242
191
227
261
176
234
242
240
201
158
182
284
184
230
182
192
175
159
218
219
243
271
114
133
242
181
166
239
290
247
229
230
191
168
170
268
226
203
201
200
231
207
206
175
232
292
273
205
160
222
274
252
249
173
249
246
165
238
294
233
227
221
225
217
208
145
140
269
164
238
286
193
287
240
205
121
209
173
241
215
253
211
235
225
216
202
235
177
226
129
231
199
248
211
207
114
231
162
281
239
224
228
273
191
277
185
243
221
235
225
203
210
173
190
326
215
175
210
210
144
216
376
187
201
240
217
299
270
235
203
241
212
207
260
278
145
209
227
202
192
196
184
255
195
249
287
279
241
195
149
116
176
261
186
269
214
237
248
247
152
175
242
266
223
156
154
166
240
140
208
238
220
207
270
259
246
258
208
221
186
208
212
231
259
196
301
175
250
218
229
240
233
157
290
239
187
216
181
264
194
241
285
173
235
321
294
126
249
220
254
252
208
202
236
243
244
216
275
198
197
277
253
206
264
255
204
297
242
244
200
247
310
200
178
234
253
270
214
212
184
239
248
251
190
232
234
250
185
291
210
251
225
169
193
189
129
250
167
285
209
183
203
217
220
247
317
173
295
318
259
287
343
223
220
179
151
243
170
242
243
219
194
215
318
215
235
219
195
221
181
234
262
271
168
243
247
287
298
266
241
194
217
257
212
190
219
284
232
217
247
173
219
238
267
247
208
195
171
213
217
215
223
267
177
199
280
270
160
178
170
173
251
188
265
211
108
139
201
230
259
174
237
260
204
265
157
217
146
204
181
265
198
253
337
225
236
243
234
221
219
296
257
241
177
211
203
200
211
233
206
199
204
151
273
170
222
226
234
243
277
209
184
282
239
199
205
230
241
212
178
192
207
256
242
280
182
154
264
242
259
244
224
247
234
192
188
184
218
243
223
253
209
197
274
207
198
324
197
193
272
234
187
233
128
257
219
186
276
228
197
234
229
182
191
229
179
178
173
345
207
214
192
234
273
186
231
174
250
139
247
227
179
267
182
241
230
176
225
240
185
184
216
214
246
213
239
233
234
241
223
156
286
243
126
228
220
271
209
172
114
212
268
234
278
258
197
328
246
179
242
161
254
293
167
239
234
216
324
179
251
263
184
252
231
242
187
237
226
184
292
264
234
250
195
267
185
160
183
240
234
207
275
197
239
222
267
181
218
225
188
205
213
222
198
238
233
275
221
257
222
241
336
238
247
154
224
174
203
129
265
183
203
237
198
151
227
151
334
287
258
216
216
169
278
200
237
208
224
239
235
247
192
212
218
198
147
259
193
178
219
174
283
279
195
296
203
179
203
186
172
259
276
218
224
270
241
318
202
231
232
245
242
220
214
193
277
203
206
175
205
160
213
114
236
235
240
301
268
243
213
213
223
134
265
222
243
252
178
213
227
214
211
397
179
160
222
219
282
130
358
291
252
199
267
246
233
235
216
156
227
233
233
195
268
164
248
178
287
231
229
213
288
187
233
178
258
266
245
217
204
173
215
226
219
207
177
212
174
271
175
197
242
156
214
197
330
246
198
219
108
215
229
195
256
179
231
273
280
178
176
160
219
260
258
193
189
218
228
198
204
152
215
162
215
246
295
212
213
163
194
162
190
204
205
249
265
198
206
220
251
163
198
279
230
229
229
230
208
300
277
160
269
207
237
203
299
157
225
235
245
202
194
202
295
365
230
114
242
170
242
194
129
208
278
244
176
198
286
251
205
229
211
278
208
178
214
305
262
212
293
232
279
192
208
231
177
217
262
190
262
284
256
157
211
260
258
307
260
262
283
159
264
214
315
207
220
184
186
250
302
259
198
279
195
225
238
248
199
197
234
154
231
158
129
213
281
223
169
343
243
236
254
270
248
236
283
294
221
202
247
209
287
296
207
265
244
240
182
204
250
261
183
193
276
238
203
247
258
281
206
193
265
235
227
178
260
246
285
297
242
208
170
146
233
265
211
245
210
177
243
267
195
207
224
205
261
213
174
298
246
165
220
203
201
212
196
234
233
293
248
260
285
294
255
210
239
210
255
182
198
231
188
225
238
241
148
236
278
247
267
301
273
191
194
221
208
287
253
260
179
235
237
246
241
249
215
176
206
320
106
226
245
216
209
278
169
193
238
218
252
149
246
229
279
214
225
207
215
349
184
276
192
197
224
192
170
244
209
236
256
313
157
195
199
280
198
211
234
231
193
217
174
241
213
219
181
242
245
244
162
182
214
244
222
235
256
183
249
200
226
242
254
267
200
210
291
207
208
156
236
246
270
259
177
246
275
249
207
156
244
273
214
228
194
236
160
183
227
239
255
241
262
186
234
293
203
279
238
177
215
176
114
180
280
241
276
272
263
193
219
214
226
239
201
279
212
203
254
244
234
321
182
195
278
223
247
282
177
335
279
220
207
114
237
280
254
237
197
262
261
218
175
307
273
186
263
234
262
210
221
268
328
231
225
243
201
160
198
253
197
264
252
152
217
238
241
287
251
214
263
168
267
189
188
160
157
353
192
219
300
207
154
126
184
250
200
224
198
211
242
186
213
145
156
188
226
265
232
189
220
257
235
240
206
222
231
176
209
276
281
183
286
280
156
289
212
208
273
245
200
238
189
200
288
114
193
250
244
202
227
154
226
181
245
257
204
222
238
209
207
229
278
303
238
220
200
198
237
262
239
189
201
207
261
246
230
232
218
221
231
229
174
235
263
149
232
233
181
178
178
184
269
181
213
184
233
259
223
219
273
291
258
230
176
269
227
311
243
196
238
266
217
292
185
242
219
274
198
309
250
156
320
246
275
272
210
212
206
249
114
184
237
218
185
249
160
161
179
281
350
281
180
261
219
301
247
225
175
218
199
186
320
221
198
213
247
252
212
161
304
279
152
285
264
186
164
258
354
258
212
247
205
152
222
175
195
240
253
130
218
261
195
268
288
191
196
246
270
247
343
289
114
182
200
226
279
171
192
202
201
180
203
215
214
156
189
309
208
278
161
238
233
233
259
169
247
279
211
237
234
246
166
292
236
197
279
184
221
251
256
323
139
211
231
218
305
157
201
218
178
221
257
179
291
222
297
247
217
242
245
204
223
250
146
114
242
258
311
187
196
165
238
228
162
252
228
263
211
151
206
163
213
175
170
250
265
236
264
305
238
242
232
204
237
245
233
191
181
255
231
246
246
266
299
258
220
205
173
257
206
212
274
238
204
223
207
192
262
174
187
285
274
271
271
309
192
181
212
181
227
178
252
203
169
211
274
207
262
194
277
214
240
230
220
212
219
260
133
266
286
242
252
114
244
247
194
114
267
246
233
238
205
167
172
210
253
220
216
259
263
207
192
253
223
264
303
182
247
228
202
333
271
236
144
270
196
220
218
244
199
144
208
157
144
253
179
257
160
114
221
238
267
218
181
230
202
126
295
245
180
201
247
278
264
263
138
237
275
258
255
192
258
198
284
212
222
170
207
237
260
305
206
129
226
254
218
243
181
233
231
198
181
204
277
209
233
167
262
254
278
231
215
336
212
185
170
173
145
265
223
247
178
174
248
243
229
197
221
258
235
223
229
235
238
160
282
209
175
286
236
271
258
144
287
202
160
220
273
187
194
181
196
250
171
219
180
161
228
286
283
233
237
196
228
244
246
267
176
199
130
211
233
238
297
218
195
180
231
225
232
114
235
193
247
214
170
285
154
206
155
283
174
180
251
280
221
255
211
193
171
298
218
232
153
184
247
273
121
165
246
327
262
266
230
161
193
195
193
219
211
219
263
252
316
207
197
174
239
257
212
147
188
201
176
155
227
299
184
267
182
157
176
154
203
236
156
218
236
204
328
221
294
285
293
204
275
256
247
213
210
196
209
255
208
214
244
242
250
207
156
202
219
251
219
160
254
247
243
178
226
223
255
171
256
168
211
184
211
207
225
314
247
258
235
249
273
287
271
245
228
206
170
192
219
226
116
129
270
231
193
195
242
210
238
302
266
191
183
114
213
175
235
201
182
265
222
247
204
209
311
206
189
200
200
160
285
161
233
222
264
173
185
246
222
211
184
198
192
253
267
278
166
228
223
262
154
215
198
231
256
218
191
248
232
241
246
229
168
235
240
214
269
219
260
378
231
192
275
232
274
170
238
167
303
288
152
188
330
208
114
240
260
200
212
233
188
176
209
234
298
247
243
192
288
188
252
300
196
282
187
187
242
152
160
171
263
114
181
176
192
315
255
174
227
275
227
191
191
219
207
224
211
212
285
179
185
210
311
194
303
229
301
176
185
205
242
213
240
232
283
243
234
225
171
230
221
205
228
258
189
206
195
208
183
257
254
194
126
177
254
265
258
284
224
167
235
220
242
264
220
317
234
260
208
227
239
210
207
286
195
308
207
244
293
268
270
244
281
192
299
254
229
255
174
242
268
241
279
180
225
210
207
243
228
213
256
262
219
274
251
219
264
210
254
271
366
200
198
306
114
374
287
259
267
173
188
319
195
245
196
280
201
238
282
221
188
152
180
278
205
252
266
370
226
198
238
275
295
228
158
258
224
219
248
198
234
219
288
201
261
178
260
215
171
303
190
234
244
227
244
186
307
234
241
258
263
226
195
240
277
200
215
178
174
206
160
198
219
192
160
261
255
190
190
210
255
227
189
230
229
257
293
202
315
225
270
236
252
225
126
229
209
191
232
227
197
139
106
228
229
260
271
292
258
162
301
260
168
291
223
261
243
244
216
198
227
235
333
180
191
180
269
282
254
108
205
158
144
234
254
260
251
271
220
126
255
239
208
280
272
174
241
244
214
192
192
276
220
158
195
162
181
216
221
320
252
209
262
283
145
165
213
192
218
265
192
271
234
317
215
203
183
180
239
295
282
146
271
157
206
215
158
204
312
207
277
152
219
152
253
221
236
202
219
227
228
206
178
195
282
245
301
262
231
196
191
178
196
251
208
276
227
214
165
175
186
231
170
232
151
214
222
340
259
225
240
179
275
284
197
201
175
174
164
214
190
235
222
220
219
189
214
243
165
215
223
160
209
184
360
189
226
214
217
246
259
226
224
185
195
279
207
196
236
291
253
225
231
249
183
220
197
257
202
148
201
114
226
126
165
234
228
241
174
169
238
126
190
216
233
173
255
247
358
222
266
326
151
271
214
252
218
196
222
159
229
202
196
195
169
281
227
248
225
209
245
237
200
195
234
226
158
181
221
178
207
267
219
258
172
198
160
228
188
236
235
228
233
184
225
235
214
238
206
220
216
262
196
183
251
149
278
220
305
182
264
220
235
170
249
162
221
216
208
276
177
206
283
231
230
210
231
178
154
207
234
228
294
266
247
264
248
178
166
244
227
228
215
275
227
180
225
301
250
243
212
186
301
231
146
251
162
264
211
195
400
149
239
219
231
264
218
256
152
243
180
214
369
214
273
238
223
185
194
279
234
261
244
197
201
261
216
223
247
273
170
153
202
170
217
283
237
197
176
175
154
116
288
304
163
179
233
259
276
224
198
250
207
224
276
295
297
170
227
227
229
215
214
174
197
212
173
144
260
175
201
267
279
244
176
316
306
269
164
205
208
309
258
220
198
267
188
173
201
264
225
243
234
309
173
289
183
245
213
225
194
243
284
188
201
246
259
151
221
276
139
170
227
156
215
233
161
241
216
215
213
229
225
196
193
187
220
170
297
208
197
266
258
296
254
261
172
244
234
286
240
227
207
193
205
126
208
225
243
218
175
218
194
229
237
209
240
211
205
240
178
208
185
198
233
212
181
203
206
283
252
253
234
208
173
247
271
273
207
307
229
186
207
269
243
218
239
252
208
191
265
185
207
273
236
106
211
286
329
215
262
197
156
209
246
203
202
297
114
254
310
241
148
239
276
218
186
325
191
236
223
168
229
203
221
205
152
220
261
296
209
225
207
277
241
165
218
211
185
237
305
180
215
304
173
204
133
276
210
264
270
205
187
216
219
214
177
209
174
162
249
194
242
214
231
203
270
205
193
246
242
231
227
185
258
313
221
114
194
201
245
291
242
242
197
266
222
226
217
270
168
198
183
264
232
215
212
170
173
228
222
229
220
239
178
332
260
194
251
204
218
237
226
237
214
257
190
241
193
249
255
225
202
181
114
178
126
247
231
203
169
250
233
175
211
173
240
163
170
222
258
187
199
227
180
252
312
250
273
197
201
204
175
192
250
213
182
204
217
156
195
253
236
212
195
234
207
226
240
269
286
202
145
220
217
272
241
225
244
285
256
188
173
234
247
266
273
287
267
202
122
206
238
236
285
230
114
299
267
220
239
279
183
252
195
260
139
193
234
221
224
244
152
156
221
305
284
214
213
114
209
152
192
209
278
106
250
234
274
272
231
252
200
241
206
249
205
204
231
206
197
219
202
232
249
257
229
207
180
213
229
250
250
196
272
171
235
267
230
229
235
208
233
261
253
192
211
195
223
209
221
182
197
199
229
273
241
384
181
207
166
218
240
268
241
187
201
200
230
144
195
226
169
290
278
199
252
238
223
247
256
327
225
252
234
282
221
255
288
270
267
198
267
279
225
149
213
194
241
291
247
176
198
203
279
206
190
192
224
210
235
251
296
286
236
292
221
226
216
227
152
213
220
250
255
233
278
148
197
226
240
314
246
238
185
270
271
267
253
218
194
190
274
233
184
215
211
203
222
211
244
215
209
208
168
281
219
189
271
258
254
160
307
251
221
288
269
114
199
257
199
259
217
236
265
156
233
184
195
277
197
265
216
203
213
181
174
143
183
248
255
189
254
230
241
190
271
203
244
269
282
241
243
194
209
272
333
173
299
240
248
198
201
174
239
156
255
193
221
247
268
203
204
169
243
323
259
215
234
212
158
246
241
187
275
258
200
244
280
262
184
201
217
256
257
230
241
235
215
261
145
239
182
229
321
227
164
163
198
152
171
278
218
236
208
235
291
177
151
191
190
190
194
255
279
223
223
269
185
170
266
287
189
251
165
221
247
174
212
213
290
180
245
261
271
175
215
204
236
205
164
250
272
237
309
209
240
262
217
108
175
225
174
225
204
224
213
309
259
262
177
211
175
210
140
254
299
175
203
178
175
201
214
108
190
234
201
233
199
158
281
174
187
325
266
282
156
205
259
202
114
146
139
247
268
183
214
296
252
174
235
306
193
202
223
287
266
200
196
214
164
139
174
189
219
204
276
212
148
293
263
186
223
185
203
248
254
186
253
220
216
195
224
199
222
292
282
229
264
205
229
276
247
183
193
116
149
254
220
179
239
220
239
263
231
166
289
252
305
321
216
272
273
251
198
262
158
152
160
233
178
201
203
184
289
167
221
205
250
221
281
161
203
211
247
234
121
181
192
173
199
173
232
219
342
198
225
198
276
239
224
260
167
220
186
158
202
220
304
330
239
175
316
290
241
298
190
327
232
263
309
256
236
227
270
209
244
178
255
239
237
178
212
250
129
226
237
164
251
205
165
284
182
252
198
314
178
234
195
221
316
197
245
304
233
291
242
235
114
198
239
192
199
213
216
205
212
224
252
298
227
311
226
165
208
171
268
203
218
177
208
196
178
214
213
177
228
215
267
256
311
206
215
201
133
147
181
237
191
292
271
206
298
191
186
174
224
204
261
296
249
269
292
234
258
308
230
286
215
193
321
170
245
207
291
283
166
175
256
221
291
218
246
281
161
228
232
260
218
182
188
242
173
234
247
225
257
293
205
235
260
129
271
257
195
252
222
189
250
185
195
269
218
170
259
252
248
217
245
126
183
318
215
262
206
293
156
293
206
181
246
272
265
258
241
243
261
285
188
246
198
214
238
223
263
245
216
283
251
233
202
160
270
269
280
164
207
208
237
280
204
265
171
231
193
233
212
216
214
225
231
243
232
230
219
228
179
355
208
318
294
202
230
186
178
201
266
200
251
336
188
220
217
218
266
326
221
271
160
314
194
233
210
198
196
290
208
203
277
270
217
264
238
186
156
204
260
300
236
234
203
219
234
274
218
217
228
193
218
200
244
202
236
230
162
219
281
173
270
252
230
238
232
191
259
218
224
239
195
270
231
195
203
256
188
224
316
219
220
232
279
269
234
199
237
202
281
148
195
197
193
235
253
240
185
128
229
212
237
195
168
210
201
267
263
180
243
262
280
126
286
192
221
234
301
211
175
279
302
224
202
256
231
170
165
276
213
218
223
141
253
282
189
232
213
246
220
297
178
219
301
178
181
195
165
233
220
183
207
311
191
252
160
224
193
176
246
241
173
242
298
255
208
197
235
239
282
266
151
284
223
160
229
280
162
234
143
225
275
205
220
278
236
262
272
256
188
203
216
114
237
250
165
220
145
254
186
309
292
230
204
277
325
235
255
244
173
246
198
255
156
270
214
203
291
254
147
222
244
260
290
185
234
218
183
190
194
147
199
342
152
239
209
278
161
224
231
259
283
206
295
218
199
284
236
285
150
295
219
180
272
248
231
222
250
226
208
223
179
260
261
188
323
250
238
218
159
305
256
198
238
232
198
202
176
223
217
253
152
323
211
179
238
346
199
284
260
270
196
273
223
255
116
244
279
200
188
243
174
214
162
209
235
316
257
296
261
146
240
213
229
290
247
160
156
258
230
162
204
247
222
217
239
258
195
209
234
288
242
194
260
211
186
283
231
198
209
129
244
254
273
169
313
206
241
260
126
324
250
237
221
225
206
213
258
235
202
188
307
289
203
287
213
205
220
191
270
254
214
284
208
192
240
184
199
173
242
208
222
255
196
203
160
184
212
114
200
265
170
263
160
183
228
187
224
164
247
237
207
268
208
280
192
255
290
152
292
263
216
114
256
238
166
213
168
193
230
227
245
323
302
234
151
106
168
229
179
241
215
221
156
187
246
167
218
244
235
122
251
218
129
191
204
236
196
249
246
261
252
178
177
264
216
258
196
178
171
205
267
223
250
194
160
156
256
200
188
227
249
358
198
256
240
217
238
195
184
274
220
229
203
167
247
173
156
186
192
262
114
178
199
195
208
241
200
222
178
222
267
260
175
208
206
157
256
247
126
144
239
253
311
156
185
232
346
232
250
162
280
275
196
215
187
257
214
178
250
194
192
210
241
154
267
220
200
203
211
257
242
211
248
239
191
139
185
156
108
174
261
188
216
250
214
154
315
258
190
244
266
268
139
203
198
296
235
306
340
188
326
246
267
315
180
236
276
187
175
229
254
207
280
173
253
205
243
281
192
239
231
231
243
139
161
262
219
202
212
280
266
183
236
278
250
205
299
324
272
233
220
226
145
114
187
251
181
230
229
192
232
258
236
241
229
238
245
324
196
198
244
181
190
256
193
419
198
311
216
197
228
245
189
221
160
209
278
217
297
245
223
205
249
278
210
279
207
218
254
211
211
282
289
321
184
309
330
213
288
170
253
242
279
116
218
196
245
243
200
211
242
239
235
190
227
310
229
275
366
219
305
291
152
194
214
151
235
258
126
264
227
219
178
233
220
198
280
243
340
246
213
205
224
232
280
260
243
235
208
221
217
135
267
212
242
264
199
249
267
154
235
224
200
156
172
179
249
175
207
173
175
221
238
218
194
238
269
284
219
192
188
331
171
228
219
247
149
285
230
243
210
228
168
219
193
121
176
271
249
264
205
174
206
160
205
272
206
219
213
232
269
243
254
191
229
220
175
361
271
186
170
236
198
285
191
189
219
258
226
257
227
190
233
165
201
355
191
210
199
197
108
226
254
158
267
236
203
185
219
245
286
218
194
126
233
148
145
205
174
249
176
196
165
230
291
192
148
213
179
206
285
210
230
208
250
215
176
250
214
229
203
300
220
285
229
200
258
229
217
249
259
269
258
260
206
155
212
198
263
201
257
200
255
238
265
148
212
198
233
229
262
296
195
279
253
267
294
175
258
175
279
199
209
298
215
219
263
193
211
218
244
217
263
209
192
255
148
201
130
166
197
193
151
238
250
307
177
194
204
259
301
114
268
201
234
222
238
224
336
276
255
126
203
234
174
173
192
192
259
267
192
277
229
213
204
163
161
220
230
228
240
271
334
218
273
205
179
266
310
234
279
282
278
235
167
312
210
219
221
256
218
299
300
272
244
161
158
234
232
269
235
238
225
247
215
203
246
255
277
181
200
156
293
227
240
139
257
290
199
190
248
296
121
207
215
233
179
256
276
381
205
209
271
114
208
230
208
145
266
225
262
185
225
226
210
234
230
198
286
206
270
196
165
144
217
246
179
181
176
196
204
228
209
190
211
216
175
126
186
240
114
181
232
146
304
231
213
258
179
195
195
210
245
307
220
159
268
247
157
238
170
168
199
227
234
148
165
273
202
192
226
245
271
209
245
183
260
238
160
152
245
228
129
230
130
175
229
181
198
260
319
226
233
223
227
175
325
181
223
252
205
330
279
207
160
200
208
215
148
226
217
170
197
217
273
332
248
186
198
149
230
218
164
244
209
252
219
206
249
228
240
207
259
266
205
214
180
220
156
250
210
239
211
285
245
326
166
178
175
225
266
229
151
191
273
215
177
267
251
247
220
207
229
174
247
288
228
274
206
175
170
219
243
181
226
212
248
225
266
245
187
235
237
222
206
290
285
169
216
315
223
286
194
215
200
258
232
156
289
235
184
207
219
214
245
231
241
303
202
230
262
175
211
189
210
208
222
297
204
216
253
208
149
202
225
236
167
225
219
254
237
242
255
247
238
297
114
180
221
317
209
201
233
233
273
286
234
211
261
210
257
139
257
254
251
238
214
263
276
193
200
185
223
271
254
205
213
254
193
244
197
199
228
250
245
223
186
261
188
193
181
215
231
228
268
205
240
156
225
235
217
225
246
243
228
200
258
271
197
219
223
216
262
232
213
234
198
217
207
159
268
214
145
295
152
223
194
204
266
228
345
236
152
217
226
242
292
193
236
152
297
173
154
256
192
152
227
254
237
184
236
271
156
213
239
214
233
210
178
252
215
201
232
195
214
332
220
217
261
158
242
201
283
189
225
235
185
152
221
263
243
220
344
195
190
317
177
259
315
252
177
167
290
305
253
211
229
238
258
213
233
294
246
188
258
189
256
256
184
228
239
272
203
231
202
173
245
207
210
228
252
160
215
204
199
334
144
229
258
228
176
213
264
175
181
224
159
229
223
203
272
210
203
196
126
225
207
241
207
231
177
256
195
215
198
176
273
175
255
223
265
194
164
201
180
279
244
309
155
196
178
244
227
228
241
342
284
242
183
347
206
161
285
195
244
145
214
234
169
267
188
257
188
184
179
257
256
383
179
168
266
114
164
225
185
255
293
172
227
225
299
221
248
168
296
133
202
217
265
185
204
156
218
164
241
272
108
216
160
293
177
177
204
219
323
333
300
180
309
222
288
161
270
230
149
309
238
206
221
272
284
322
266
126
319
222
247
240
244
248
270
243
214
271
321
214
207
195
192
184
260
209
310
186
286
283
238
225
197
233
278
208
195
229
296
198
283
236
158
218
213
186
114
191
247
168
187
242
221
207
186
230
160
164
168
276
241
174
186
200
244
263
203
244
270
139
264
242
244
260
238
207
172
261
260
262
238
216
200
259
230
240
145
268
315
332
286
258
217
215
220
179
175
114
166
169
268
256
180
262
243
194
195
217
240
216
197
211
184
207
198
317
225
217
184
209
308
252
231
192
215
227
244
198
268
243
174
187
221
259
203
212
218
114
219
193
243
300
225
233
301
224
231
240
162
234
208
239
336
291
291
206
222
263
255
141
353
230
126
170
226
206
259
283
255
255
144
239
209
247
227
230
237
184
275
235
126
158
219
159
227
284
129
315
204
232
284
238
203
251
227
213
185
194
266
133
229
311
219
163
208
215
223
175
237
179
249
228
191
197
194
272
212
154
252
161
367
214
158
201
240
253
173
189
184
296
259
251
188
182
165
218
210
299
225
248
187
262
230
237
293
184
170
252
181
175
233
217
220
222
225
299
195
214
268
195
175
315
239
175
148
287
151
198
236
325
273
287
264
223
234
180
284
233
294
250
228
222
210
258
213
221
201
322
213
196
281
269
259
197
253
241
203
298
258
202
214
265
209
297
219
269
129
180
214
223
243
182
189
210
221
207
293
262
256
192
225
204
243
209
298
243
251
176
286
183
180
191
178
230
225
130
181
262
181
229
231
353
190
304
267
242
233
243
185
199
229
191
243
204
228
151
235
177
234
211
215
245
291
285
263
270
256
322
197
162
239
174
205
195
240
207
189
164
214
288
262
168
286
278
252
242
195
220
265
227
200
243
249
255
181
218
202
182
221
234
221
171
197
209
174
177
222
252
196
195
300
170
220
206
189
262
284
253
237
226
243
212
236
212
256
236
178
223
194
162
200
220
202
229
231
193
202
309
244
322
169
261
224
201
245
182
276
222
248
214
247
313
255
196
191
230
214
215
222
195
150
201
258
205
254
238
243
249
223
334
235
263
200
178
316
199
317
219
259
203
251
213
235
264
252
240
240
158
261
242
227
239
262
237
215
176
252
169
198
188
274
173
202
215
250
206
201
170
152
203
189
246
200
217
228
269
197
281
154
222
184
255
270
202
173
252
206
205
206
281
260
197
214
178
233
223
216
179
198
245
256
178
224
183
237
264
156
273
242
161
203
233
231
183
145
235
250
148
252
188
232
223
225
192
214
216
198
260
208
174
197
251
237
217
261
228
223
200
210
222
145
145
151
200
311
303
260
258
236
240
154
175
232
216
220
258
247
175
217
241
228
320
184
217
218
165
246
260
278
237
221
272
160
300
270
215
190
210
229
160
195
274
260
177
232
221
139
211
204
238
260
207
210
293
198
184
303
182
219
259
251
239
167
227
211
236
204
222
236
156
195
187
244
226
260
189
220
228
210
208
253
308
162
204
182
203
235
173
213
169
208
279
219
174
181
232
315
331
230
292
202
203
246
266
185
192
221
264
202
239
191
212
243
278
211
220
288
154
228
180
213
256
360
238
173
231
188
171
231
282
256
264
336
214
261
226
245
206
211
257
255
261
280
212
229
114
276
293
287
195
144
249
173
287
272
298
220
207
198
159
114
236
212
114
220
284
285
200
249
180
168
145
226
215
173
231
222
289
319
238
148
249
114
305
198
210
269
264
191
178
209
274
194
244
184
202
226
241
229
296
264
197
202
216
273
216
221
149
225
239
237
220
245
271
282
303
222
278
159
307
169
183
225
235
229
208
225
191
233
186
245
225
162
207
260
149
335
171
259
200
156
264
186
160
234
276
205
208
164
200
226
235
208
183
239
207
171
224
231
310
261
194
198
215
267
218
262
180
216
236
218
220
240
263
203
212
170
244
171
181
235
244
183
223
266
226
193
182
222
160
252
301
208
174
270
160
295
195
216
241
194
214
180
193
249
275
211
282
263
258
213
186
266
208
182
223
278
225
188
214
236
214
168
189
327
194
160
202
307
234
210
301
178
208
278
253
239
160
278
180
263
268
216
249
247
187
270
204
227
178
192
199
192
217
229
198
259
208
232
186
258
208
246
220
244
186
222
166
223
255
302
213
195
199
294
154
246
201
233
261
178
159
209
240
249
237
202
258
228
238
248
272
174
221
203
214
263
267
211
186
285
273
209
268
245
226
235
247
227
263
271
227
219
200
228
207
199
278
254
214
160
196
259
207
273
204
219
244
256
219
195
377
221
235
183
161
160
225
214
157
207
214
158
241
237
221
251
286
218
172
268
258
192
235
221
114
229
272
180
194
230
331
203
200
196
203
245
242
182
248
286
292
210
224
285
224
251
207
233
218
287
311
314
269
146
215
114
324
203
273
307
160
191
145
310
222
229
221
257
205
269
161
212
224
222
205
353
226
286
300
230
229
213
198
190
320
210
291
184
303
185
323
273
207
276
208
219
290
203
235
195
265
145
263
203
239
195
264
285
190
218
165
216
318
229
279
144
238
231
247
177
199
250
237
255
220
198
287
173
247
244
233
238
207
160
152
180
176
244
211
264
229
273
236
324
191
231
157
178
201
264
226
245
186
190
324
209
178
178
197
274
188
209
275
223
155
228
209
214
224
186
223
259
192
258
184
220
203
241
217
286
207
272
190
222
184
283
268
257
242
201
269
240
258
255
253
156
170
169
184
201
361
208
229
182
160
241
284
224
234
141
266
243
206
260
284
213
267
167
146
259
301
248
263
240
238
158
298
269
292
282
200
317
243
216
114
241
173
264
210
262
310
191
248
279
204
234
263
268
160
219
244
197
205
178
258
207
189
262
203
239
213
242
147
203
217
224
114
184
216
170
244
252
186
290
271
300
178
250
227
289
238
270
222
187
189
234
227
217
203
165
168
262
168
254
260
247
203
223
194
264
219
253
209
181
233
226
231
185
270
173
192
241
191
178
201
116
189
151
182
262
280
234
204
317
209
183
217
246
220
233
161
187
193
223
160
198
187
196
162
272
239
255
178
194
227
247
156
220
259
196
168
189
251
226
209
289
267
194
279
224
212
241
282
239
244
198
248
277
186
256
252
203
189
206
245
250
155
181
245
257
233
240
209
250
187
273
257
298
158
158
196
246
268
351
210
226
241
233
227
144
266
262
166
271
289
240
226
178
306
243
265
268
216
202
259
254
171
170
220
198
239
277
200
294
212
305
215
225
170
234
204
186
171
238
267
261
237
332
196
206
176
204
152
228
236
331
258
227
187
224
207
147
238
225
236
215
244
234
253
241
208
237
260
188
241
258
238
214
235
209
237
180
179
126
231
222
214
210
202
257
214
270
238
219
248
265
284
261
288
198
296
241
266
156
215
204
246
247
217
203
261
212
199
151
156
238
275
177
179
236
212
260
170
190
186
246
277
304
154
234
174
230
230
197
249
188
252
208
196
229
229
225
213
258
211
207
242
198
183
214
226
163
258
262
204
189
220
246
185
237
193
192
231
230
303
160
207
289
236
183
238
231
164
184
262
254
249
242
204
214
316
259
204
305
237
194
114
268
254
198
268
260
195
255
224
190
303
225
268
228
166
133
222
220
234
295
207
186
169
324
222
189
197
259
208
260
221
246
183
192
169
249
294
247
219
238
290
210
214
225
209
257
287
255
227
217
208
192
211
202
198
270
192
208
311
177
180
219
192
253
264
216
288
162
200
260
246
134
247
311
164
174
246
182
282
252
177
272
221
197
182
181
202
218
227
228
214
276
270
224
285
300
209
205
227
201
265
221
193
302
258
206
227
201
249
180
187
221
224
202
221
229
200
319
231
207
196
192
153
283
207
173
200
261
217
232
198
181
224
206
222
206
241
181
163
233
180
250
206
239
215
228
244
256
230
212
213
334
305
154
210
231
238
191
178
218
311
234
269
319
189
252
309
116
159
222
279
188
257
146
285
247
189
201
250
240
186
253
233
244
225
211
169
233
233
235
241
184
196
253
199
257
200
172
199
203
238
147
255
151
176
295
175
226
231
204
256
226
214
226
220
218
205
255
114
340
190
196
265
238
267
218
172
198
294
180
257
213
244
222
182
276
168
219
305
244
169
250
220
205
180
201
236
226
286
289
164
234
230
198
306
305
233
343
114
241
161
234
285
234
154
261
223
181
276
304
246
179
231
261
202
207
277
278
233
241
242
223
188
170
237
241
266
213
331
234
262
185
178
165
275
246
210
183
281
288
181
227
285
160
268
224
252
273
251
213
255
291
270
214
222
191
164
247
298
255
240
146
218
178
274
259
283
154
241
221
286
231
241
257
182
208
233
253
180
227
247
160
179
209
239
277
235
151
304
188
244
200
232
189
195
231
225
270
287
198
216
193
245
218
257
245
151
295
242
249
196
198
198
201
213
256
292
235
114
261
146
239
233
247
220
214
310
227
309
256
188
229
281
175
160
206
238
226
265
199
174
290
175
180
205
315
279
299
201
260
158
263
189
171
172
215
195
284
294
269
146
222
219
178
247
199
184
198
160
217
180
186
162
203
277
277
267
247
178
286
318
187
268
223
258
248
247
195
191
239
160
167
195
178
222
204
263
314
275
185
319
226
195
248
194
175
137
178
291
224
201
309
234
259
263
181
257
269
211
213
263
178
273
228
208
171
114
170
114
265
196
223
232
154
239
292
182
126
282
210
260
198
248
191
268
145
178
228
253
242
198
202
229
251
165
170
233
167
186
227
238
220
164
166
114
225
242
189
232
185
224
221
198
238
236
274
277
246
244
149
280
185
232
184
277
200
250
277
275
209
238
225
225
211
205
213
180
121
272
213
285
189
240
233
190
316
252
178
169
258
232
232
260
263
222
276
248
194
191
256
280
203
194
232
212
241
262
160
268
246
217
160
199
180
219
217
227
200
212
229
244
231
272
230
315
242
208
181
189
185
230
185
300
222
258
292
200
198
291
201
233
210
170
221
184
272
233
190
191
201
247
237
198
229
282
249
218
280
173
306
161
278
214
264
260
255
265
165
207
294
261
337
217
195
266
247
227
278
243
302
259
213
201
218
215
340
267
221
139
200
177
238
220
203
230
114
206
126
263
282
259
210
289
240
255
149
217
221
227
226
186
303
274
185
149
146
228
259
249
126
277
197
214
233
336
226
229
258
261
226
160
265
222
239
264
276
185
263
191
216
263
238
145
222
305
189
261
307
246
214
222
267
272
251
219
192
222
242
270
278
175
260
152
229
208
180
178
218
243
152
212
286
149
202
210
198
160
275
190
235
275
219
219
220
279
284
238
202
266
165
260
164
156
189
212
217
229
253
275
200
245
198
327
269
288
288
114
202
247
218
255
226
282
268
210
216
284
268
207
233
287
227
312
199
176
279
256
179
260
163
194
283
308
332
179
222
182
231
201
276
214
227
308
235
208
221
191
249
215
189
184
219
280
295
189
286
212
238
226
225
259
246
223
228
286
236
227
214
238
216
233
222
300
216
241
245
207
192
175
239
284
260
204
168
309
211
238
238
147
198
146
220
297
244
179
174
169
149
199
245
144
306
226
163
249
241
237
178
241
254
200
312
262
228
247
212
247
184
280
242
178
232
283
237
145
245
237
257
203
282
140
108
218
169
218
149
250
206
231
178
186
262
220
237
146
228
229
296
252
262
267
239
284
146
222
282
271
202
308
116
189
166
202
243
220
165
297
156
252
148
213
339
198
225
274
214
153
245
180
266
238
126
114
244
247
210
200
230
210
218
211
199
146
281
279
243
184
286
214
309
216
198
191
205
237
154
190
183
210
251
217
257
220
192
139
302
233
222
220
181
221
253
196
178
176
169
150
197
242
174
114
154
254
182
290
279
264
252
191
252
218
210
197
116
214
106
160
266
261
178
165
176
194
207
282
233
207
256
228
139
197
183
225
264
220
168
198
290
188
205
215
203
200
199
185
156
243
231
174
250
221
276
283
173
256
189
157
213
285
200
316
177
195
234
230
240
211
189
187
208
170
195
224
160
235
177
259
197
175
138
233
248
230
260
214
208
197
259
230
204
255
246
178
243
279
250
265
233
237
241
235
255
276
204
203
184
287
223
228
185
307
241
285
217
204
339
183
180
197
281
261
184
242
296
218
259
139
290
244
192
215
280
202
114
291
217
187
137
236
152
256
211
184
202
192
126
201
252
214
205
194
175
200
190
268
227
212
212
279
270
212
173
225
248
318
214
252
184
195
286
200
198
214
277
202
199
242
179
210
221
179
287
228
326
205
203
191
275
231
174
282
205
188
183
253
206
264
232
193
207
249
293
331
312
197
158
219
284
197
126
297
214
186
263
275
232
208
312
273
286
229
291
179
194
192
203
218
188
241
178
257
139
152
230
222
188
231
222
298
240
181
218
230
219
207
238
313
177
229
223
272
185
268
221
214
198
233
228
231
245
155
210
241
212
227
222
224
147
203
234
240
193
200
208
281
152
229
234
310
300
253
179
246
180
189
241
173
313
261
165
238
200
194
244
304
178
327
270
106
184
240
180
266
171
214
163
211
192
238
252
279
251
230
165
222
276
163
256
155
219
268
213
234
211
248
182
213
283
226
252
198
250
351
224
238
237
247
209
197
249
262
238
186
261
182
277
232
218
206
207
186
228
234
209
173
213
282
283
178
245
197
247
208
144
116
233
182
193
324
166
313
232
156
233
165
268
287
214
293
259
228
187
114
278
237
222
269
189
197
190
235
241
179
295
283
241
221
166
247
230
284
205
240
235
228
235
139
213
278
222
195
204
151
208
287
140
236
237
292
242
192
203
328
145
298
221
209
226
193
223
218
236
203
209
211
236
232
175
248
260
213
201
270
161
296
175
245
214
285
178
192
165
227
223
191
278
130
160
273
221
224
183
237
178
297
163
166
202
205
262
205
217
225
237
263
202
222
175
270
273
165
114
184
270
145
213
243
250
256
231
189
243
199
273
260
157
155
260
238
182
290
182
217
173
207
303
223
245
236
191
233
275
108
299
228
174
218
229
151
254
192
282
175
231
238
245
204
180
226
290
225
300
241
241
198
228
265
170
250
200
238
200
232
204
289
320
209
284
207
237
222
292
252
174
219
255
175
232
294
238
201
215
219
191
204
277
214
231
263
195
199
239
222
156
225
145
273
200
263
155
178
231
257
147
281
270
249
228
181
189
139
199
196
280
267
180
277
227
367
189
206
220
224
228
267
198
199
282
175
175
174
147
276
205
283
292
247
262
258
173
181
306
260
195
263
184
279
222
413
230
224
194
221
160
288
173
156
234
242
235
167
211
237
279
223
148
262
293
368
231
213
353
224
182
245
200
223
213
160
237
216
178
214
326
274
210
213
121
170
216
208
224
211
168
334
215
233
270
269
199
116
160
252
211
289
181
183
160
245
290
304
277
237
108
249
210
197
252
248
274
241
315
190
253
156
189
262
286
229
170
311
244
208
184
297
275
195
234
214
237
190
209
245
249
264
174
214
269
262
261
181
222
247
171
206
208
274
184
165
191
268
229
244
178
269
241
266
168
227
174
139
228
225
258
166
213
209
204
259
173
174
158
217
295
244
207
272
233
242
193
218
257
238
249
204
221
148
373
174
265
276
219
269
237
174
227
188
192
274
221
243
208
245
214
237
275
233
133
233
309
247
206
246
259
263
151
250
230
259
309
180
295
169
282
260
152
176
259
156
241
236
273
178
215
235
233
196
208
251
221
256
218
186
245
198
261
238
184
227
280
251
192
292
161
225
224
236
213
294
263
224
166
270
234
192
173
220
225
370
209
234
196
218
209
295
196
216
179
170
207
181
201
231
301
231
294
267
273
267
268
219
198
195
237
173
207
235
136
174
206
240
225
258
232
181
234
279
191
190
261
192
250
244
210
213
190
176
218
259
208
218
210
230
213
195
195
207
266
198
219
169
212
144
245
305
318
182
238
279
219
190
234
167
323
147
272
179
249
200
251
210
292
260
289
242
226
171
228
174
251
180
215
174
173
282
286
204
264
231
237
273
194
181
203
206
261
290
258
295
242
326
278
189
194
152
239
202
273
213
189
200
193
152
223
145
193
223
221
159
222
148
235
229
194
276
251
183
203
234
201
262
279
220
181
255
232
190
195
248
174
272
202
235
229
233
221
225
198
171
190
224
212
192
253
244
205
266
160
257
229
258
197
276
203
240
229
246
224
141
173
315
160
189
192
153
252
355
191
190
182
239
195
209
156
293
235
233
237
203
258
287
260
289
216
261
293
160
196
259
258
197
197
221
203
259
205
228
216
200
212
263
154
231
242
217
198
167
222
248
270
295
240
242
146
300
296
192
179
322
177
178
225
292
126
228
182
239
231
208
209
245
202
288
178
304
231
252
250
255
207
218
229
203
238
242
226
246
240
273
215
243
252
277
178
211
211
176
279
221
196
225
254
179
178
295
251
196
261
257
210
235
114
232
295
235
197
190
116
318
255
209
173
291
268
257
266
255
251
222
200
217
277
242
245
245
205
152
249
159
262
208
275
334
239
197
247
280
227
165
191
261
306
260
229
305
146
175
161
246
252
267
275
160
235
246
183
169
261
209
258
290
114
201
221
173
215
246
216
236
145
205
235
313
293
154
198
199
213
220
232
245
174
235
216
208
209
161
229
242
175
313
236
175
259
185
252
286
265
230
292
202
249
215
294
240
212
239
248
184
144
228
272
254
221
219
181
241
279
204
162
306
195
185
253
196
272
294
114
263
246
160
256
326
225
177
289
228
200
170
246
241
330
227
183
186
252
222
241
202
156
213
231
248
207
288
145
251
238
355
211
278
170
175
195
251
183
192
156
226
299
192
282
201
306
227
183
222
174
237
185
193
173
198
145
189
258
141
251
156
203
179
216
139
275
206
179
285
270
180
205
198
229
238
215
298
244
212
160
214
267
211
207
245
229
248
215
271
257
270
209
288
230
157
259
325
238
155
230
272
258
211
223
184
259
213
306
235
188
257
186
170
233
265
241
241
199
240
245
337
148
180
257
209
218
277
285
108
264
298
191
240
122
282
180
292
198
235
250
222
192
262
256
219
202
227
253
114
297
282
225
129
269
222
292
138
287
202
161
116
132
203
185
254
238
286
199
223
169
261
144
258
199
208
252
261
126
195
278
237
198
237
227
238
247
229
259
229
265
241
235
174
233
169
253
160
339
235
190
261
248
246
212
230
149
200
173
273
237
211
226
248
257
191
266
167
258
251
196
214
121
188
232
197
221
226
149
198
237
242
258
239
214
250
221
225
207
237
186
160
229
180
250
257
355
300
250
231
187
241
237
144
301
182
226
234
154
220
198
297
245
220
114
208
258
188
192
270
203
249
240
178
108
170
170
219
255
223
207
192
201
269
296
155
224
194
213
299
253
250
222
239
201
262
221
222
300
249
229
178
164
200
203
289
208
288
250
221
209
158
208
173
303
189
277
312
285
198
206
232
228
185
211
203
226
114
274
303
203
244
200
285
301
260
202
247
263
306
264
168
288
126
284
211
278
247
156
269
138
179
195
173
194
201
255
225
246
240
229
162
240
225
174
216
238
178
200
212
210
244
247
215
229
308
203
245
174
201
175
287
137
223
207
206
249
188
210
239
147
236
226
286
276
307
204
213
190
195
269
279
172
244
229
269
220
196
229
159
260
204
195
367
106
263
192
234
205
257
279
243
178
265
168
226
203
238
177
228
237
263
290
178
231
223
250
301
201
151
225
192
205
235
238
265
187
191
188
231
301
261
209
223
183
188
216
152
151
230
278
238
267
257
224
200
180
167
232
210
219
184
283
232
161
253
220
144
208
284
194
184
248
214
241
156
186
174
222
186
190
210
221
169
250
249
206
306
231
231
156
178
164
236
157
114
258
191
307
238
204
184
160
219
254
220
212
220
208
223
275
232
247
253
188
181
156
214
340
218
275
279
156
278
145
219
201
201
183
222
265
147
218
176
207
290
182
222
261
239
200
299
195
296
270
238
206
175
200
205
261
264
179
216
260
217
165
207
214
174
260
212
232
220
253
160
227
208
153
241
206
173
181
221
237
206
269
297
114
173
241
217
247
165
225
221
211
241
154
267
240
202
156
239
193
264
288
245
205
170
191
282
257
247
191
256
208
272
182
347
290
231
210
267
200
183
270
260
161
295
193
280
231
298
200
285
248
237
203
241
247
168
161
208
137
262
183
346
245
237
181
241
196
179
262
196
264
236
205
270
199
116
229
247
192
265
183
239
248
257
165
255
169
304
198
207
191
247
186
210
279
189
240
199
285
190
221
232
281
238
245
193
199
256
245
183
194
248
209
219
192
284
200
284
263
174
213
263
341
237
258
225
265
200
114
251
223
206
247
201
253
190
177
265
217
263
224
327
223
280
229
187
275
187
212
193
239
207
204
237
212
232
247
215
275
298
276
176
169
264
207
217
235
228
175
257
285
171
240
225
141
191
191
238
226
250
228
215
273
266
168
261
238
198
190
154
202
195
252
187
224
296
267
147
146
233
248
200
252
228
252
200
185
178
311
238
208
219
237
247
214
270
278
215
225
183
214
182
227
190
236
151
181
220
270
206
247
356
216
225
193
245
247
232
202
280
241
221
258
251
250
235
201
193
178
214
263
221
235
229
230
156
186
191
250
239
180
247
228
191
310
235
263
329
158
252
289
207
209
206
183
227
256
270
201
212
139
258
133
202
198
306
214
192
225
228
222
287
174
200
187
214
130
190
237
221
240
218
176
273
224
149
237
198
234
178
218
249
214
147
225
205
302
184
323
262
280
274
149
212
247
161
280
268
199
245
210
310
207
216
222
171
252
219
171
215
231
209
247
187
249
195
217
309
226
275
250
239
239
248
163
238
222
270
252
204
283
218
209
237
192
233
191
301
139
252
286
199
241
260
194
114
301
296
240
214
198
220
226
278
216
253
249
200
298
156
310
188
303
260
288
246
270
166
192
327
212
143
254
184
218
214
255
175
219
253
192
154
260
244
241
198
285
224
235
215
259
195
186
174
186
250
174
273
275
200
229
270
225
206
116
203
280
204
242
219
240
291
263
220
258
232
262
198
192
227
259
210
203
173
170
297
239
186
173
129
220
200
216
177
174
232
249
218
276
228
261
195
270
159
266
255
188
261
243
266
151
255
184
261
208
203
194
222
204
198
217
198
264
249
183
285
293
194
266
219
209
261
263
227
114
218
273
207
228
257
239
197
198
210
264
234
212
257
296
210
180
239
243
301
254
203
203
199
167
311
241
172
178
126
234
144
285
263
274
186
242
173
221
219
281
260
251
193
160
164
175
229
258
213
114
264
156
218
275
301
173
263
240
233
216
139
154
234
222
223
211
186
162
216
255
254
289
263
231
231
145
156
264
204
194
284
298
151
195
211
264
239
168
243
221
293
252
235
191
343
178
245
194
269
200
170
188
310
198
190
318
151
145
242
221
258
340
247
235
193
250
321
223
248
234
226
209
173
254
263
240
165
152
186
161
223
191
133
293
231
263
277
114
136
188
270
201
252
283
235
114
220
180
256
279
231
235
208
247
164
231
246
255
242
176
207
272
240
114
156
156
182
260
240
256
163
202
236
291
196
239
219
238
193
300
219
214
274
213
249
116
260
156
214
252
261
156
280
296
221
211
309
208
219
236
213
216
234
176
182
206
198
284
215
260
270
245
152
189
173
216
248
245
253
197
235
253
198
206
224
227
218
271
222
196
185
294
196
219
316
205
254
245
153
248
253
248
261
160
227
203
157
248
299
192
295
271
114
211
285
176
191
191
218
160
220
204
217
165
168
251
282
276
114
303
192
231
284
307
263
294
274
189
296
222
275
209
258
228
289
170
240
130
234
238
225
172
170
256
251
192
178
294
234
228
193
177
250
234
211
245
208
220
193
296
312
272
273
225
311
220
305
235
206
274
174
168
171
206
234
228
173
207
281
220
229
175
278
250
309
146
255
224
231
219
170
280
220
202
211
210
258
275
223
246
203
210
260
257
204
209
295
225
170
182
283
177
258
171
179
261
197
243
243
181
192
274
230
311
229
253
286
231
206
206
189
285
176
180
312
219
224
198
182
265
114
260
163
206
143
221
205
217
250
252
231
176
114
242
220
172
355
170
205
171
300
216
187
287
246
246
262
198
238
158
261
236
275
128
252
210
234
193
269
175
167
256
172
242
219
208
252
202
246
184
226
204
225
296
231
200
300
196
216
210
237
192
269
192
281
278
200
232
243
254
183
175
198
223
181
278
180
219
225
225
179
230
223
174
162
236
266
191
230
194
234
181
272
203
255
196
274
184
182
218
251
157
320
231
240
212
180
201
230
256
267
183
179
241
215
231
227
261
171
244
223
196
233
254
279
156
243
255
234
221
211
284
206
228
239
218
231
326
277
259
200
176
240
295
215
135
168
238
231
168
261
178
209
309
114
257
328
233
285
271
278
270
300
138
246
263
251
252
181
205
195
272
234
218
281
273
126
152
186
249
251
176
261
165
204
228
129
182
184
146
149
243
194
228
243
207
251
250
254
246
233
156
209
296
206
219
215
202
215
250
246
185
206
247
209
242
225
245
239
175
114
223
289
206
214
225
228
228
181
230
178
190
271
160
205
244
266
204
263
238
164
243
174
250
212
206
240
226
212
234
224
242
190
187
164
211
265
260
255
223
164
114
200
285
231
263
245
217
241
215
245
298
171
244
328
269
202
228
226
152
268
189
269
210
151
291
169
231
139
224
158
235
236
178
164
184
126
287
227
283
210
240
178
172
223
254
168
209
277
281
229
231
276
242
244
195
260
200
200
301
213
234
185
258
216
202
233
271
180
345
299
214
336
194
173
207
188
238
337
180
179
213
114
187
209
201
215
188
186
184
256
240
229
214
200
280
246
222
180
178
275
215
168
262
207
205
241
208
223
133
292
162
293
237
184
198
205
232
193
247
188
231
229
152
235
258
250
286
246
173
231
253
232
207
280
321
268
288
171
235
183
209
230
252
276
237
238
234
226
207
271
210
303
202
242
211
245
253
340
151
139
243
238
239
299
273
181
307
148
234
294
246
251
148
225
223
332
158
219
214
241
214
276
215
274
263
206
245
232
211
195
265
171
237
294
192
244
222
233
260
191
221
251
234
179
237
191
281
196
215
196
263
279
265
199
233
248
153
191
242
264
183
256
277
175
226
231
214
207
241
199
263
233
160
226
189
228
219
195
303
185
267
228
206
162
235
251
213
188
206
289
184
261
191
224
308
126
201
170
200
212
176
208
273
296
266
203
283
184
274
254
168
279
240
192
182
161
240
252
203
215
181
253
320
267
256
227
239
211
178
225
202
180
251
211
264
213
194
186
173
293
208
256
313
241
192
222
288
223
230
234
250
254
232
241
227
183
187
198
193
221
204
309
266
139
228
219
191
204
195
292
245
194
213
225
146
264
213
156
296
241
309
300
238
207
225
221
151
243
233
183
190
174
360
311
171
254
222
207
244
297
201
229
265
206
198
252
222
227
239
256
202
226
162
238
248
199
258
264
201
197
160
200
280
221
193
241
234
215
203
324
201
114
239
226
186
161
248
195
152
193
264
222
152
311
160
211
207
188
302
160
205
196
240
266
214
210
230
238
114
319
225
263
181
289
194
204
240
176
353
195
221
273
236
258
243
175
231
210
173
179
192
234
189
273
228
273
244
181
250
256
273
243
213
330
194
203
214
156
146
227
308
226
156
226
227
277
254
234
192
190
179
200
170
146
192
299
193
209
174
321
195
294
223
266
222
237
235
237
220
217
185
177
271
176
201
257
233
172
171
222
184
169
168
247
318
114
219
204
230
214
170
214
114
176
265
256
248
206
188
282
299
270
202
209
266
190
156
192
315
270
168
239
236
235
245
193
259
256
167
262
168
238
342
274
289
324
214
236
231
198
206
218
229
196
266
228
156
272
200
270
238
235
197
177
261
161
235
227
227
249
206
276
166
181
258
210
213
270
245
264
192
275
275
195
159
270
201
274
198
232
257
214
223
267
209
204
248
287
241
287
217
176
221
232
284
247
232
206
259
291
223
297
175
273
293
230
202
223
200
235
229
278
188
260
255
213
188
299
255
207
221
276
238
206
225
211
199
211
285
179
194
239
218
210
178
228
218
291
232
279
297
275
177
253
216
156
181
203
230
267
289
271
320
226
180
227
259
213
194
149
283
317
193
312
168
193
208
192
200
236
193
203
257
298
133
275
217
291
230
180
167
166
208
225
190
116
176
187
205
193
245
237
289
201
245
242
197
165
211
199
198
230
262
286
180
139
153
163
228
260
145
263
252
237
213
121
116
203
170
268
231
187
181
196
269
278
252
159
186
213
222
253
192
214
235
221
228
174
222
250
241
271
292
174
231
261
201
253
219
287
278
183
186
205
292
174
197
278
168
130
179
212
263
193
226
179
191
219
208
304
239
260
291
180
178
301
202
247
203
238
239
348
195
162
170
207
228
245
277
167
242
208
193
282
211
249
264
258
196
286
218
210
252
278
200
244
238
192
194
151
178
145
217
206
144
257
252
221
173
195
249
238
185
227
290
224
174
229
195
307
296
192
263
196
266
234
200
247
268
203
163
241
251
247
169
218
221
270
173
185
283
220
253
267
244
202
280
241
207
209
262
126
230
292
121
261
214
260
270
253
377
234
267
177
317
185
170
222
156
188
241
292
279
243
207
198
239
170
235
293
128
203
209
255
220
147
218
270
139
202
408
114
196
249
230
208
235
237
247
294
253
114
226
166
222
170
240
192
256
206
297
201
175
264
176
218
266
223
209
258
214
232
222
236
164
126
230
213
154
260
222
276
231
170
233
195
235
216
186
286
247
184
126
156
294
191
208
236
176
218
157
114
243
214
192
206
316
280
260
265
193
249
154
265
255
114
262
223
176
171
147
263
272
202
316
248
265
255
184
178
284
268
195
137
204
206
250
216
231
269
170
253
257
171
233
214
175
225
250
242
213
247
196
174
212
212
194
216
241
271
257
223
250
182
254
178
199
275
239
181
199
191
243
265
272
263
251
210
241
283
210
240
210
175
195
139
203
278
198
171
210
205
220
213
194
279
205
298
217
168
266
277
225
170
234
199
181
161
158
303
147
191
224
151
207
160
180
232
247
225
263
251
174
189
298
130
201
188
246
256
195
206
155
192
181
202
227
270
205
195
231
261
198
178
265
181
189
241
276
204
204
181
300
303
249
209
218
215
208
174
285
147
226
229
114
248
241
314
224
178
314
130
276
169
197
160
275
234
249
264
196
260
247
144
206
247
188
204
189
212
194
226
248
170
283
156
278
225
288
248
320
202
229
188
192
178
192
239
173
151
173
195
190
216
206
224
192
237
159
260
212
175
269
184
180
238
219
156
282
244
241
244
253
175
153
211
233
210
346
294
199
164
226
195
238
238
170
207
274
236
204
216
129
252
255
169
240
212
176
279
195
267
190
256
250
203
219
251
247
222
340
268
189
166
234
202
257
218
248
233
285
266
246
220
233
194
296
245
309
223
245
155
190
183
210
192
299
273
179
177
275
218
309
304
312
180
229
177
203
212
296
301
183
231
170
319
262
243
204
198
181
219
195
199
258
220
348
250
235
191
226
213
191
271
221
259
247
222
267
294
251
253
272
267
241
176
114
225
188
230
207
261
285
200
194
321
173
194
245
309
273
176
178
241
212
202
294
200
333
180
293
214
245
178
208
171
260
281
298
180
280
187
226
210
210
256
156
235
278
207
209
252
285
301
305
197
214
158
253
187
237
180
208
231
202
207
196
232
226
241
149
208
191
304
174
194
207
198
210
286
247
128
250
239
220
181
280
250
221
294
237
183
266
240
258
184
183
278
202
202
182
172
287
251
264
287
191
265
291
249
270
225
151
255
283
170
153
300
206
280
170
280
257
211
246
229
244
232
221
240
245
242
157
193
246
289
223
299
146
266
222
179
178
212
233
241
161
258
300
271
320
192
196
285
213
207
219
213
223
187
279
254
327
146
355
195
129
184
215
293
179
257
203
200
260
198
242
315
271
232
220
316
246
126
210
166
191
183
235
195
185
192
237
219
211
209
170
247
216
273
194
219
172
156
250
237
161
231
184
244
246
219
192
175
197
182
231
241
152
193
240
261
237
213
121
229
114
236
139
296
241
247
289
196
209
210
205
144
232
255
228
157
181
265
211
216
228
200
234
174
210
212
184
260
209
294
187
299
270
168
229
176
279
262
161
114
171
191
235
265
185
235
226
178
213
250
245
214
193
252
240
343
173
248
311
193
252
222
170
216
250
214
200
222
240
201
336
173
269
153
227
206
158
219
201
208
204
223
187
194
266
257
228
260
222
261
255
139
235
264
208
210
171
232
264
209
201
152
205
144
272
265
260
158
242
182
186
284
228
220
259
210
272
202
258
217
184
166
195
250
224
182
242
222
267
277
200
167
203
301
248
181
282
280
193
251
187
204
277
243
226
186
226
202
222
240
190
170
226
271
212
214
240
261
220
279
187
155
175
243
197
291
241
198
241
219
300
139
228
260
246
266
332
208
214
310
223
235
181
236
227
319
247
252
175
242
169
265
198
258
210
204
176
251
162
203
214
224
249
129
295
193
276
237
164
281
206
300
203
189
114
251
218
267
235
190
226
231
210
219
256
169
197
181
191
166
126
219
287
287
223
288
310
218
229
227
338
318
227
114
194
203
248
270
192
258
193
198
205
240
279
188
186
227
201
207
192
281
287
284
164
227
264
279
302
286
262
160
264
235
266
236
239
207
218
247
220
288
217
106
188
303
231
245
271
288
215
114
321
223
154
227
194
213
263
177
243
184
160
262
183
184
181
239
190
293
238
253
204
214
145
175
283
192
162
241
205
250
224
297
293
191
207
321
240
250
275
221
300
261
331
231
203
209
199
300
238
278
254
240
259
224
229
249
214
258
202
286
116
164
219
247
230
199
297
238
195
220
209
262
207
174
225
158
114
194
242
169
287
258
286
167
145
175
187
253
265
190
203
223
283
235
178
222
254
222
231
148
245
225
216
231
181
310
231
193
235
168
241
254
270
244
284
186
271
229
181
230
191
152
305
174
302
298
221
191
207
284
254
244
255
184
259
180
162
328
239
315
270
249
194
185
257
237
303
202
219
262
213
151
289
273
246
306
237
256
260
204
171
239
229
195
169
216
219
234
255
235
267
184
216
247
190
217
227
295
250
247
198
252
251
335
290
234
243
273
173
201
212
198
280
222
235
226
155
155
166
191
227
320
316
247
220
242
180
166
212
259
222
220
248
180
194
178
258
191
263
186
211
205
161
252
169
175
178
176
266
250
264
211
181
268
116
214
239
188
209
223
213
203
296
225
177
321
250
252
233
170
229
173
262
198
229
233
227
196
259
206
226
297
258
274
144
315
226
184
279
177
190
280
233
199
240
255
281
222
230
214
174
256
201
223
178
220
259
121
264
169
336
235
139
214
270
179
200
197
288
182
114
244
203
173
284
195
195
211
203
216
116
176
261
157
210
144
198
287
225
273
244
230
296
235
162
204
307
196
291
180
126
223
307
196
186
200
321
290
240
231
259
152
207
224
226
210
229
195
246
228
257
169
206
151
178
302
179
193
155
274
207
279
252
266
262
249
145
198
175
275
303
271
198
186
216
242
250
194
206
247
308
178
270
255
206
319
210
249
256
217
216
256
222
301
298
219
151
251
260
203
220
208
237
193
285
256
156
206
182
192
271
275
173
193
235
220
272
293
202
267
310
198
245
212
213
176
222
266
237
232
239
264
269
257
198
196
214
234
199
240
213
239
227
229
211
274
237
303
240
238
216
216
203
254
239
326
325
178
245
274
224
241
235
232
208
227
242
160
233
245
218
205
210
226
149
225
174
218
202
250
205
184
186
271
139
108
261
270
274
225
231
253
201
214
247
114
194
253
226
214
139
222
254
204
218
223
239
245
232
225
222
184
220
219
173
281
266
194
263
260
268
175
309
208
188
187
196
156
235
256
228
191
231
262
168
253
245
216
201
259
274
206
255
181
210
330
219
248
228
314
296
243
194
187
263
240
194
285
230
156
216
265
275
189
218
182
214
257
259
158
160
288
168
226
194
262
285
242
204
166
209
116
183
160
287
223
294
264
210
267
182
250
253
187
253
282
222
258
217
261
251
303
283
227
273
317
304
186
215
231
224
158
264
197
240
235
268
173
279
169
212
263
242
227
213
238
260
206
161
151
231
211
242
193
212
214
174
225
226
155
173
276
180
269
296
204
161
212
276
133
265
258
201
218
266
179
219
227
173
203
249
264
160
174
253
261
230
146
250
219
201
232
248
189
174
266
217
192
159
203
231
263
234
256
206
218
173
253
252
160
191
235
174
210
242
195
241
178
161
230
283
231
222
333
144
243
288
178
234
221
279
200
321
278
219
331
253
245
132
264
160
195
169
190
245
193
217
197
162
233
200
184
219
134
265
252
171
183
320
255
269
224
121
257
215
226
192
268
173
214
319
232
162
219
188
217
241
273
181
227
220
202
237
211
203
260
252
278
258
303
227
270
193
276
250
170
177
249
224
114
273
270
278
155
196
156
212
231
242
280
158
145
265
208
265
275
147
235
194
207
172
174
257
238
224
201
314
252
235
226
231
216
217
300
272
200
297
189
216
151
238
286
178
241
262
160
363
242
151
144
209
258
273
246
186
161
301
230
270
228
227
233
248
204
198
337
183
265
224
218
240
214
196
220
194
185
169
224
183
288
203
263
219
179
217
225
276
259
228
202
161
277
229
254
232
256
160
185
218
205
192
207
278
175
212
286
269
271
114
179
210
219
222
238
237
219
309
200
168
303
228
189
235
156
304
114
139
196
230
230
212
126
135
266
258
178
239
177
218
211
260
154
195
239
245
172
175
334
188
145
203
223
269
296
146
277
289
174
231
147
239
240
174
296
261
195
291
240
177
234
284
288
210
230
212
278
243
367
219
178
233
188
241
198
296
236
286
185
216
190
239
216
261
208
202
151
314
174
165
180
226
256
250
223
240
215
260
208
318
154
256
159
215
290
272
160
209
221
229
201
176
289
215
217
292
188
210
213
183
215
245
234
235
263
249
270
174
247
242
260
202
245
231
224
222
242
296
170
213
237
223
183
221
273
296
293
219
250
188
239
114
228
245
203
255
322
273
204
202
245
292
188
116
212
181
241
247
252
271
218
228
279
208
286
274
295
170
208
212
228
213
309
206
240
139
188
247
214
126
322
218
223
308
193
234
155
114
221
195
238
216
231
271
235
263
175
274
202
191
270
296
335
226
213
228
242
268
165
195
217
249
292
266
183
257
208
205
237
216
236
262
209
167
220
188
233
182
192
192
388
237
238
204
297
222
299
235
237
290
233
207
202
144
176
179
235
188
219
226
173
308
234
167
276
207
255
222
156
193
271
298
240
260
219
152
200
274
154
249
221
159
249
260
253
314
202
210
236
176
219
261
157
247
170
221
209
268
347
231
251
249
299
232
162
169
227
245
264
271
228
174
236
173
271
228
128
179
203
300
243
216
196
323
227
171
333
210
144
221
222
224
194
217
253
159
178
239
215
219
263
286
209
160
189
297
162
185
238
273
239
240
193
231
220
169
267
164
251
181
222
238
139
286
262
196
216
268
168
261
195
313
241
240
204
261
187
201
231
207
190
241
241
285
170
230
274
195
232
166
213
199
160
177
219
233
250
211
114
252
174
241
167
167
271
243
197
220
268
241
114
228
146
254
269
192
168
284
247
210
168
186
247
221
227
220
226
238
291
312
210
214
232
275
248
170
161
226
341
311
184
212
268
185
205
231
144
250
189
218
196
260
263
173
142
234
225
202
197
209
186
184
215
257
207
213
252
238
269
130
257
188
306
207
267
225
160
157
198
206
278
226
151
213
175
291
246
230
254
260
233
270
152
166
240
144
236
200
183
190
200
126
321
231
210
186
236
204
229
185
214
207
193
265
162
240
253
274
152
227
145
247
253
249
317
230
178
239
239
262
260
230
193
239
178
245
203
315
214
260
211
254
223
238
332
254
287
285
251
159
224
245
225
332
354
241
238
278
317
208
222
195
313
248
175
226
175
186
245
246
215
242
210
317
220
248
246
190
233
309
278
145
265
161
279
276
264
168
254
212
244
256
168
218
181
149
197
160
249
225
317
224
327
217
235
200
284
251
272
310
222
201
300
223
231
171
249
169
293
268
329
192
178
212
258
289
168
290
237
250
189
224
223
244
210
154
222
166
202
291
257
230
241
228
293
229
181
175
161
275
183
191
195
259
234
246
142
204
173
191
266
243
185
244
170
215
222
114
161
250
289
224
303
229
214
200
218
265
212
241
203
222
226
300
263
176
260
226
237
231
238
271
251
249
176
245
186
213
224
298
274
194
177
184
218
215
158
150
223
177
276
285
326
219
176
265
279
233
217
213
256
175
224
173
165
133
327
276
292
190
259
267
174
258
321
246
177
318
262
204
259
222
232
367
225
232
114
176
184
168
252
229
226
313
247
157
215
307
213
274
159
270
256
214
219
255
114
219
244
169
202
192
197
199
209
224
277
188
191
183
293
185
162
203
176
210
254
287
161
177
210
210
178
214
284
369
190
250
249
154
239
198
197
191
317
173
213
189
229
148
258
258
184
229
181
216
354
180
213
212
256
218
236
261
223
213
196
233
215
192
218
298
251
152
236
221
218
279
186
209
306
252
149
301
262
309
155
200
225
200
256
235
252
248
167
237
174
241
149
255
223
190
160
176
168
258
258
165
281
178
149
265
254
229
197
220
145
190
220
200
307
252
246
185
296
302
211
238
294
261
170
174
166
255
323
261
197
154
224
208
235
262
197
242
262
249
244
216
246
252
241
114
262
233
199
238
212
210
212
203
186
114
235
178
273
263
248
252
233
252
310
230
228
296
222
194
193
191
221
250
241
198
268
302
224
222
226
230
251
220
209
218
258
211
184
283
281
247
173
304
214
290
199
211
244
280
275
213
251
275
192
292
108
272
257
222
230
219
296
276
269
248
213
228
290
173
237
291
224
323
160
229
180
156
225
239
172
207
199
225
223
226
211
218
215
252
233
250
181
250
210
248
222
160
245
139
256
164
180
188
196
216
108
229
353
149
228
197
231
218
108
207
202
206
196
254
114
266
139
235
222
182
262
208
218
285
244
269
188
301
197
226
160
219
276
264
262
317
296
319
210
301
218
211
195
182
246
180
262
340
234
299
269
314
148
232
114
215
237
255
164
175
258
318
264
227
214
195
274
223
170
227
264
285
247
253
139
198
240
210
210
240
209
244
287
221
166
237
173
262
246
264
233
204
270
268
231
240
318
257
266
150
258
170
317
213
206
173
247
279
329
170
208
230
255
254
204
242
206
214
229
181
222
362
316
279
260
209
188
184
221
192
217
195
157
245
190
241
135
188
248
192
183
234
265
192
225
278
139
215
293
268
198
191
212
272
247
219
235
177
302
190
335
295
211
192
242
237
193
277
194
250
158
235
250
178
220
178
208
257
222
262
203
184
226
225
192
209
197
220
225
219
174
236
190
242
226
191
230
215
243
209
199
248
226
274
164
215
220
185
179
215
302
141
213
216
205
250
215
139
251
274
195
268
276
247
270
268
214
247
140
202
189
194
236
264
251
219
175
215
249
234
229
212
230
252
220
207
164
287
317
305
212
259
174
214
158
281
247
247
189
186
234
206
230
145
261
183
208
188
220
226
152
174
179
191
181
256
220
294
252
162
301
223
246
175
270
213
173
270
231
174
266
260
277
169
235
246
187
316
239
363
229
189
122
205
228
232
139
197
156
245
178
156
290
248
273
199
250
190
297
193
260
273
139
218
152
145
215
253
249
258
249
188
263
257
158
245
275
207
214
213
211
299
207
170
268
242
268
133
240
181
179
239
222
244
209
241
265
271
195
244
263
167
160
231
189
256
192
266
229
234
149
218
154
211
130
262
222
225
190
244
264
214
151
189
256
234
316
292
182
147
251
249
189
170
298
222
270
215
296
160
182
140
175
200
200
188
215
254
273
174
265
264
188
195
116
243
245
226
201
154
244
145
198
309
295
258
319
258
229
186
231
326
195
279
230
227
178
214
269
220
179
180
209
312
226
219
324
269
306
223
291
228
225
200
252
232
183
185
250
231
201
197
312
235
251
228
198
179
210
195
197
253
293
202
214
205
313
247
242
213
336
147
174
262
184
212
350
225
175
239
165
241
219
209
181
195
178
260
181
251
201
166
192
266
169
214
158
252
188
247
253
206
233
212
290
278
263
263
196
151
213
200
258
151
213
256
207
267
251
294
226
154
310
237
167
156
246
240
195
186
180
146
253
210
195
196
295
252
201
170
172
225
214
209
222
179
192
243
235
313
264
243
233
214
259
215
262
215
221
284
234
197
271
139
183
295
256
182
172
206
270
259
261
133
200
152
266
178
219
258
253
295
241
234
263
219
261
221
185
201
344
179
255
160
198
183
196
247
175
173
208
185
198
278
263
247
217
204
243
248
139
238
285
181
265
202
194
179
230
187
258
225
215
194
292
212
237
279
206
168
221
226
285
260
249
310
210
217
202
192
220
230
243
250
149
179
198
198
226
269
244
237
203
297
210
210
262
232
204
186
271
237
193
203
158
179
209
290
265
225
348
284
171
234
193
263
221
169
158
163
189
149
276
306
273
271
228
178
223
146
149
114
121
229
195
159
230
229
248
241
174
213
175
279
226
152
220
259
178
243
239
168
227
295
227
204
162
244
197
144
247
266
263
226
292
232
230
227
206
231
271
201
246
181
251
203
234
280
297
272
239
207
234
245
235
261
269
282
194
199
281
221
216
189
173
279
189
256
313
173
195
279
188
217
196
313
222
143
216
239
178
244
263
270
258
338
249
344
167
218
114
207
149
231
160
268
156
193
222
277
197
213
188
229
199
235
295
231
173
223
217
187
254
161
201
242
254
249
180
206
189
213
178
294
220
193
159
334
384
255
198
181
156
222
293
215
226
286
230
201
211
181
181
278
237
205
230
194
253
285
258
271
152
231
176
198
238
202
194
194
183
224
326
206
183
269
222
265
168
144
234
237
183
178
314
242
325
192
114
209
245
242
240
186
197
221
269
209
203
236
146
258
347
228
152
213
180
146
228
170
151
178
194
262
224
245
237
170
253
242
250
234
218
180
196
251
254
284
189
289
198
247
173
173
278
156
146
223
205
209
154
224
336
182
270
114
189
270
246
238
307
305
280
175
238
275
284
213
201
202
181
273
256
297
274
347
233
216
262
171
184
165
215
239
198
262
234
233
171
222
241
246
181
206
264
228
228
192
209
178
223
219
148
333
186
179
236
215
282
160
209
231
195
237
206
154
250
180
239
209
227
212
248
238
273
242
266
324
232
198
214
182
376
218
274
218
267
292
217
261
207
271
170
212
238
210
247
292
160
227
293
241
193
239
281
173
197
175
169
167
331
215
172
202
280
106
173
196
277
208
239
219
240
203
242
252
245
231
295
261
195
264
222
166
200
299
251
152
242
180
187
217
263
250
209
260
245
298
167
178
260
270
258
159
177
211
257
229
243
206
203
183
199
174
276
234
160
161
171
274
240
189
232
240
268
239
217
145
258
326
265
191
251
214
238
247
252
181
296
268
302
191
197
246
250
183
247
208
257
247
228
224
289
176
221
221
218
309
260
253
192
283
162
278
167
227
189
289
221
245
271
195
191
224
237
164
228
202
234
208
250
272
253
273
114
139
201
207
299
228
287
126
244
315
198
243
191
247
251
280
332
206
198
227
282
238
210
149
243
260
264
165
206
181
194
344
214
247
223
170
189
208
229
192
225
320
276
184
235
297
308
180
249
225
245
227
209
269
270
358
249
239
278
282
207
218
240
211
290
114
192
225
181
188
221
156
198
248
235
200
158
196
205
235
275
243
259
266
296
224
212
233
234
214
198
178
169
193
152
226
176
216
218
258
204
187
295
304
200
196
219
173
261
261
227
181
154
218
196
193
181
188
114
230
170
155
235
241
192
203
226
253
250
239
251
182
239
178
207
274
179
355
261
246
237
237
234
246
245
284
250
280
265
194
185
189
245
277
214
189
192
286
192
195
199
206
221
227
220
250
130
245
258
166
232
234
226
247
160
207
195
309
181
281
246
241
218
279
226
233
251
152
244
275
295
307
189
114
203
182
232
189
218
192
208
212
192
252
236
245
226
229
261
192
230
302
114
193
204
249
227
194
114
177
175
139
302
218
178
240
147
262
295
228
249
264
262
203
228
173
256
199
266
197
139
184
261
198
198
199
208
234
222
252
217
178
207
210
255
222
256
205
171
240
116
232
177
200
288
282
198
279
248
247
244
279
251
148
144
219
189
295
263
232
227
214
214
237
298
254
177
267
184
114
202
244
195
251
237
219
247
279
181
193
244
244
211
211
241
238
234
174
195
271
263
176
245
260
191
288
183
183
280
245
162
252
273
286
184
274
249
221
271
145
133
161
257
203
208
225
285
184
217
175
293
250
237
322
173
261
231
247
300
193
208
316
211
262
251
260
211
172
248
217
203
222
243
174
174
212
130
215
276
254
208
203
228
148
221
263
253
235
258
227
214
220
244
250
242
288
252
165
161
202
114
178
304
189
235
225
240
282
227
266
230
151
232
172
200
207
274
281
210
216
235
217
217
243
281
214
126
227
163
262
144
294
200
213
238
148
258
266
213
261
213
157
285
186
187
219
170
201
259
291
229
146
228
195
210
153
208
268
151
231
194
180
227
205
161
319
252
195
177
220
250
181
202
161
181
221
267
254
287
263
244
219
206
194
298
277
309
146
219
242
251
264
243
180
211
181
148
219
219
152
190
160
236
221
197
209
230
192
175
202
231
255
173
215
276
180
259
238
173
235
292
188
260
303
195
234
229
198
293
246
114
276
238
235
242
192
244
271
246
245
272
203
220
218
238
170
240
217
315
284
211
198
198
208
252
173
219
212
240
211
210
228
227
249
192
287
241
163
213
259
268
219
277
280
280
276
180
218
219
233
228
178
260
257
216
223
178
192
196
278
222
194
226
205
176
216
210
217
401
196
220
205
224
331
331
211
240
321
262
160
189
186
209
204
310
258
228
234
173
170
274
217
126
174
143
280
192
174
210
214
196
286
176
232
214
201
236
222
229
236
114
238
228
233
211
242
246
293
228
183
193
168
256
282
259
323
191
146
225
121
299
221
233
311
181
193
238
273
244
209
224
161
164
235
152
305
220
164
241
292
121
200
244
242
173
259
220
194
198
253
268
256
280
214
221
220
181
191
180
243
187
108
177
254
178
265
246
247
259
195
231
217
205
247
271
273
229
291
178
202
168
282
256
259
224
262
194
224
164
320
293
285
221
281
285
174
160
228
298
159
303
270
222
243
201
175
239
200
216
166
205
205
193
292
306
201
209
153
189
193
146
301
235
241
282
152
194
152
262
173
235
259
256
171
148
212
149
166
181
234
218
208
279
266
303
166
227
256
189
257
200
251
130
273
192
210
233
184
285
178
255
299
254
243
154
248
309
209
176
249
174
194
170
272
233
218
224
219
169
186
298
228
310
201
194
262
173
264
215
254
245
249
245
192
297
183
292
208
267
332
233
225
205
244
214
220
299
289
199
256
228
151
247
139
204
233
210
170
192
172
251
214
284
196
221
184
279
224
250
194
215
223
243
173
152
254
266
262
266
227
262
180
184
178
220
257
227
201
195
192
174
196
201
194
257
259
251
256
116
202
197
215
273
259
223
263
202
174
166
216
233
201
192
214
271
266
152
192
220
229
209
208
174
238
305
267
167
289
267
251
217
168
216
160
269
243
256
225
212
202
270
244
222
250
236
201
198
238
293
148
158
189
266
212
214
218
260
242
241
234
283
232
144
189
233
184
185
302
248
121
237
228
172
280
212
189
292
128
210
196
228
210
230
114
198
168
259
179
197
217
248
149
265
250
158
176
239
259
206
302
292
242
198
253
232
210
159
247
145
178
251
297
239
227
244
243
283
170
205
268
161
217
269
152
283
204
216
170
193
219
195
227
228
230
252
231
245
279
232
233
236
171
279
229
170
258
256
293
190
155
258
211
197
253
208
165
193
185
231
242
145
241
176
229
208
200
270
266
204
292
293
197
253
205
183
203
254
230
202
250
227
221
170
180
253
186
216
225
265
185
194
244
244
299
180
162
241
233
194
225
280
189
259
263
262
213
233
177
219
227
219
281
254
297
258
247
221
270
186
183
228
201
301
179
114
232
259
202
141
204
237
191
250
181
295
231
161
215
261
345
183
200
174
204
162
208
235
229
306
182
192
333
225
283
250
289
146
233
232
270
202
202
146
232
163
241
212
212
299
260
256
256
234
177
158
227
244
199
160
301
329
290
205
149
210
213
218
240
206
205
265
245
168
266
299
174
262
204
281
247
247
187
293
267
190
232
173
257
269
222
194
126
188
336
239
196
249
218
311
264
225
238
207
249
250
192
210
303
200
198
265
236
235
225
309
192
178
144
218
285
254
181
278
229
229
152
242
272
250
248
236
230
306
200
205
179
214
245
228
187
248
189
247
252
234
252
156
246
144
108
220
254
248
239
206
175
185
191
191
289
169
221
198
242
221
242
249
169
216
166
267
238
230
204
280
250
198
213
126
281
281
139
247
157
198
245
272
213
251
193
222
237
241
198
169
151
194
275
200
260
188
324
213
189
271
235
213
162
222
170
152
237
169
257
256
244
234
188
287
242
346
210
235
217
216
252
207
157
179
349
130
183
202
209
173
277
245
269
227
194
222
276
194
180
310
272
130
199
269
179
211
156
227
230
225
170
280
214
221
184
236
216
232
204
197
187
201
168
231
203
252
237
190
161
253
200
181
247
309
246
114
157
259
277
177
226
254
294
218
340
339
114
293
277
198
206
245
246
184
278
197
218
217
200
181
166
170
250
315
236
203
230
228
243
189
239
178
245
214
175
242
128
228
271
197
221
175
207
253
176
228
210
216
273
189
228
201
190
212
185
203
268
260
326
307
218
285
168
201
320
162
173
251
193
209
322
232
263
233
252
227
182
247
296
176
279
187
152
207
265
242
161
181
212
230
229
242
328
208
180
211
187
270
256
171
274
183
286
181
176
249
251
252
213
262
205
170
247
283
239
196
153
271
253
207
227
253
277
187
276
272
277
219
232
244
262
175
231
261
280
315
214
335
249
244
200
212
295
249
176
200
219
250
262
239
238
180
151
218
159
229
198
217
193
201
232
126
234
178
173
260
114
169
227
255
198
252
160
203
193
205
251
174
208
247
195
235
228
321
222
229
280
229
186
204
157
171
197
162
244
239
299
191
214
226
247
158
289
240
210
188
233
203
146
252
276
244
254
312
247
243
164
332
147
183
185
252
210
246
181
193
161
250
220
139
243
269
202
178
194
181
183
198
182
232
252
186
158
265
208
287
197
288
247
218
258
293
240
232
196
160
170
267
239
170
219
240
208
243
202
219
233
180
293
214
252
195
239
156
184
229
218
128
255
196
230
178
232
200
196
207
244
211
300
261
310
289
219
154
243
266
238
252
209
171
250
174
230
288
222
174
238
226
236
204
212
240
156
317
230
224
196
181
261
259
200
144
222
238
171
254
152
233
253
220
126
333
229
193
214
254
261
230
262
209
264
249
306
217
270
256
237
264
315
190
149
232
283
222
309
266
174
192
214
146
281
262
270
263
336
219
227
200
247
198
181
264
226
152
261
156
195
233
165
312
168
262
219
196
231
160
165
239
228
178
230
149
146
179
139
196
174
271
237
262
205
213
194
215
265
205
262
251
299
254
114
170
201
174
234
196
239
173
192
256
222
139
149
241
268
199
116
251
327
244
185
140
380
224
238
293
171
242
226
252
177
246
248
223
196
281
178
265
244
186
181
260
241
246
239
173
216
223
223
198
251
250
262
217
236
200
184
278
157
270
258
243
309
211
296
224
171
243
187
196
189
241
255
286
241
202
177
139
236
226
258
129
264
198
193
258
268
283
206
114
229
204
204
191
330
225
354
263
306
277
206
295
214
233
183
212
323
184
231
165
293
223
229
218
274
114
121
205
175
156
214
210
279
290
240
258
257
292
338
209
193
260
226
301
287
207
280
208
286
231
212
168
266
219
192
254
271
232
214
196
179
261
269
237
207
270
156
323
276
152
221
168
166
226
208
228
231
255
208
241
188
212
178
243
223
222
176
278
225
254
263
333
154
174
241
255
315
213
183
207
278
192
324
233
260
172
170
180
160
253
201
253
179
198
296
216
232
226
243
252
170
275
116
234
286
330
246
156
259
332
260
174
209
248
312
247
155
188
254
186
206
196
367
153
201
220
198
228
126
302
285
215
144
158
215
228
254
166
203
265
178
229
157
163
229
106
274
174
262
284
269
166
261
225
241
304
263
221
194
192
270
239
156
239
283
223
209
234
196
278
279
270
221
197
233
230
272
248
192
305
205
179
195
327
195
165
224
240
186
267
114
245
219
212
271
246
160
189
198
215
320
271
169
227
252
248
187
226
164
220
290
181
245
257
224
248
208
226
209
154
192
240
284
208
195
269
212
195
187
219
241
165
145
204
298
216
233
162
315
204
205
220
188
213
185
185
203
246
266
258
257
246
202
206
214
202
237
307
293
163
198
180
210
283
229
175
260
192
248
240
138
265
185
277
204
183
251
272
228
142
155
284
197
296
226
317
244
161
204
233
229
171
261
210
234
203
236
222
239
189
252
232
264
324
310
285
168
157
214
263
214
279
235
212
213
284
279
230
128
265
126
149
240
280
241
313
228
282
276
139
230
202
295
374
215
168
243
195
223
181
231
229
200
240
219
139
197
182
252
205
182
202
177
198
222
228
161
264
199
139
217
202
253
303
202
229
207
164
238
290
165
236
217
173
191
210
114
256
206
238
194
282
198
280
275
283
199
243
243
277
256
286
223
257
269
231
232
186
277
231
156
231
147
203
190
239
201
326
222
216
196
184
221
196
234
228
283
229
250
287
154
178
198
175
278
271
175
203
218
227
238
271
230
207
139
170
333
246
279
215
169
288
225
226
246
229
215
193
214
114
286
247
149
178
324
262
154
177
148
228
269
212
286
164
239
185
218
222
251
251
249
286
243
208
236
280
249
214
349
200
241
256
258
286
214
164
239
251
217
252
207
255
192
302
239
242
181
195
220
235
258
179
180
260
225
181
208
230
205
157
269
114
218
211
189
288
305
240
221
295
237
251
203
193
203
232
235
192
116
242
243
214
296
250
224
244
211
281
304
300
212
308
156
224
168
191
176
232
283
234
172
273
114
158
253
194
156
329
176
185
191
285
218
211
211
256
335
147
218
174
183
147
209
302
160
258
243
231
212
195
191
164
270
219
225
261
216
235
198
286
273
232
313
154
232
256
178
239
208
116
222
200
211
262
255
268
166
225
215
186
212
134
268
157
270
222
294
166
238
334
161
292
192
201
168
208
274
228
224
231
258
298
229
376
270
215
252
270
229
168
205
324
196
311
303
306
168
227
215
224
196
242
303
207
156
265
174
238
270
317
245
213
160
314
201
217
210
174
188
206
226
271
266
303
215
211
165
229
238
267
236
126
246
178
206
220
228
214
248
160
192
226
178
263
181
179
234
179
218
237
145
249
197
231
241
145
290
216
237
192
234
168
226
195
199
242
285
301
258
213
215
203
231
220
226
246
266
284
218
235
265
227
269
226
219
248
213
313
228
294
256
217
158
162
289
211
179
166
222
212
295
215
282
293
208
209
196
230
232
300
200
335
247
236
222
191
273
254
225
175
176
212
259
260
250
263
202
241
195
232
228
167
229
188
196
218
260
273
289
215
224
271
209
198
225
298
255
236
178
234
288
226
260
175
284
194
202
152
178
229
214
114
164
331
257
234
237
255
270
251
178
235
178
267
225
235
260
191
277
189
225
246
234
264
175
225
248
152
208
245
235
264
182
254
261
271
179
203
208
173
230
234
281
224
181
277
199
221
288
252
182
169
273
208
258
252
177
152
284
268
231
252
187
248
204
128
200
241
174
181
157
367
378
188
243
179
236
260
299
215
299
212
261
247
174
291
211
220
219
250
272
170
213
311
248
266
284
200
254
249
250
191
190
315
214
218
203
308
293
150
195
156
256
186
171
311
227
154
209
223
257
189
265
267
341
219
204
164
291
204
260
224
205
225
205
144
303
210
332
185
170
241
279
160
211
250
253
210
144
224
221
191
216
179
274
171
170
302
220
268
281
173
218
207
243
194
258
241
183
153
256
220
267
206
323
163
172
192
266
215
222
226
144
277
171
190
268
178
177
251
225
288
226
196
180
225
270
280
277
217
196
216
170
192
215
227
210
249
196
235
246
278
214
168
184
246
208
152
267
237
193
249
229
176
198
359
292
344
305
179
221
250
226
196
284
232
208
114
310
301
238
243
250
238
237
206
188
168
193
196
295
210
232
221
238
151
203
341
270
202
200
242
170
187
175
256
202
173
181
210
170
255
191
245
277
196
242
242
186
208
219
194
257
190
204
317
169
223
159
257
253
258
254
346
233
267
210
240
270
247
182
263
289
229
300
232
256
251
277
186
184
246
191
202
189
259
114
266
203
231
160
226
278
279
156
206
290
211
202
176
220
195
176
164
285
269
228
198
234
222
183
191
235
152
249
173
192
349
175
192
255
205
260
244
214
156
256
252
209
243
228
217
229
114
260
234
180
212
133
195
267
173
231
222
249
208
235
305
270
193
184
235
184
226
201
201
262
208
194
256
282
185
277
263
301
200
285
216
241
276
196
159
264
276
261
160
156
256
229
158
251
231
174
178
162
169
221
226
305
239
255
196
237
239
114
223
281
254
215
188
207
196
231
200
196
318
255
280
254
200
248
192
229
129
191
192
277
214
174
178
243
264
162
176
287
203
192
196
231
219
211
198
244
206
299
220
193
237
232
243
214
203
175
149
177
212
280
114
148
202
250
201
226
249
218
205
238
234
257
231
242
241
283
189
191
114
251
198
208
205
185
268
241
190
284
227
186
237
201
231
301
192
184
201
161
272
340
236
152
300
167
197
286
240
200
238
215
297
247
198
181
273
191
217
202
244
234
218
257
338
224
209
256
231
268
187
213
278
248
284
170
161
234
216
206
183
212
248
202
158
274
160
247
167
263
210
158
169
245
213
259
173
204
223
212
237
199
267
210
208
211
196
257
215
252
220
178
203
215
207
284
222
193
201
237
282
228
206
166
170
199
239
239
265
194
181
266
168
255
253
178
152
300
261
281
247
181
261
228
223
202
197
121
151
238
262
183
219
174
270
258
247
211
176
278
274
201
163
206
181
245
216
240
261
207
178
180
220
178
232
278
262
209
253
160
221
242
195
214
191
237
305
215
230
198
238
201
252
278
215
318
241
245
230
225
207
256
197
181
204
235
260
249
273
224
270
245
298
191
212
242
244
165
203
285
194
211
296
192
174
186
165
233
250
181
233
173
291
332
148
203
217
212
172
114
231
295
270
247
247
279
223
202
327
166
209
219
269
286
225
271
263
285
220
300
214
234
312
173
282
253
221
213
245
114
174
218
235
268
298
243
232
207
171
238
284
267
146
148
185
154
359
253
202
194
198
152
166
196
175
228
212
259
210
186
184
168
239
256
218
178
210
268
187
204
227
263
245
185
186
301
241
247
283
228
276
222
148
263
224
264
195
168
214
233
297
199
222
224
179
307
232
182
263
163
269
306
241
220
216
180
173
188
333
248
246
209
191
225
198
227
249
170
288
148
235
237
226
167
220
217
227
348
114
176
238
165
194
245
166
226
197
201
217
280
189
183
195
290
243
205
231
185
175
278
203
308
205
165
246
277
203
261
213
240
280
280
167
186
171
203
296
255
258
343
139
253
191
193
253
250
206
191
189
194
175
281
192
281
236
202
179
240
273
216
298
266
239
304
208
168
286
247
177
226
192
260
166
186
133
194
275
243
252
180
306
285
214
197
237
179
230
216
272
220
233
277
275
331
185
197
259
236
286
211
267
261
218
290
207
227
195
241
191
226
251
139
222
170
187
237
269
245
231
199
303
328
225
256
171
231
206
256
200
251
191
265
206
209
188
226
211
238
202
242
192
232
233
279
252
228
294
285
219
288
162
186
186
208
254
184
126
287
267
211
210
261
299
242
250
193
294
249
324
170
241
238
324
201
253
213
114
184
258
282
277
261
250
275
258
145
282
210
186
174
167
175
225
243
188
309
197
145
285
183
199
133
186
218
302
261
205
251
173
182
188
278
273
126
224
192
181
114
183
198
202
209
306
287
204
276
208
275
250
288
219
167
265
224
307
254
192
314
246
231
240
158
149
272
162
296
248
188
277
210
259
224
260
248
224
259
268
243
161
192
171
196
234
193
226
240
173
213
263
175
160
210
218
240
205
242
219
192
216
200
199
169
242
208
196
209
334
240
324
175
292
265
288
242
225
337
244
241
176
306
193
256
242
261
255
156
224
280
248
194
151
158
235
218
247
175
236
201
233
277
168
212
251
184
203
230
208
212
179
184
306
213
233
206
242
252
146
222
191
151
237
237
265
210
305
287
190
254
121
262
176
229
296
212
254
334
181
253
168
212
201
265
188
254
238
262
226
244
253
195
217
273
239
181
185
252
257
229
344
181
197
219
187
253
209
267
251
228
264
247
210
220
285
160
196
246
203
262
220
203
247
158
281
234
158
234
182
284
183
203
239
279
218
187
181
241
165
230
200
323
294
198
170
265
248
194
310
275
177
171
285
207
235
324
212
226
262
211
252
236
220
211
220
232
147
255
180
248
279
211
284
210
188
205
266
215
205
114
174
274
283
387
201
235
256
114
275
254
219
207
175
233
192
201
192
266
277
238
182
204
220
174
234
216
165
162
126
303
263
212
250
151
236
263
195
176
256
211
192
177
277
287
250
212
250
252
198
262
253
279
258
220
231
252
164
260
217
244
186
211
212
236
196
244
246
213
169
198
227
250
230
150
235
304
152
238
304
211
219
290
233
177
202
239
220
229
208
239
179
301
249
205
255
238
241
234
168
286
230
255
222
211
300
197
236
223
208
244
149
183
290
231
179
249
229
185
232
221
232
208
240
354
237
254
200
198
253
139
198
223
247
259
270
230
249
214
268
260
198
218
139
212
165
234
257
170
277
148
180
244
269
176
216
297
285
148
269
167
151
229
228
189
280
166
241
290
192
240
235
234
201
284
293
283
163
224
151
318
181
205
189
156
257
289
242
238
283
274
244
200
178
212
262
246
218
277
269
258
220
228
180
250
249
204
255
187
288
272
222
272
126
166
202
190
201
200
198
261
294
154
231
160
209
252
255
239
139
174
237
189
208
173
184
199
217
272
228
232
176
258
184
240
200
242
195
279
287
213
218
239
241
174
295
114
164
233
281
248
148
160
258
236
169
233
202
174
204
265
129
289
207
226
152
228
231
213
243
245
228
215
207
267
266
216
158
184
242
225
261
267
221
214
233
202
264
317
172
160
235
238
269
211
183
195
238
270
274
142
211
263
249
190
258
198
227
226
209
225
222
219
231
219
198
168
181
192
191
151
198
259
222
266
214
184
271
232
159
267
253
246
116
222
211
249
229
282
144
197
308
294
206
261
218
167
237
241
233
244
289
279
212
235
215
200
271
240
275
279
286
203
239
170
228
253
172
236
256
212
246
208
192
114
202
174
161
241
192
207
278
193
243
231
235
262
202
181
217
208
214
239
239
150
114
249
215
267
233
211
241
181
217
227
232
187
172
224
248
195
239
213
216
175
226
130
238
202
225
209
240
219
221
204
176
224
180
241
221
255
246
198
299
178
252
213
183
289
149
241
152
234
235
145
216
215
231
247
203
224
238
213
272
232
280
288
212
243
246
114
233
302
211
224
231
244
263
203
211
228
219
215
114
206
177
170
270
247
197
211
154
332
191
293
243
169
150
243
172
166
216
241
217
199
229
230
201
201
244
174
178
340
238
348
271
261
236
219
197
281
264
246
243
281
184
180
199
206
307
290
231
210
218
228
201
200
196
121
358
268
239
247
178
168
184
260
178
213
226
183
160
226
169
227
250
193
240
246
207
293
221
271
240
198
198
235
222
219
213
247
214
234
285
215
206
207
331
219
247
241
268
237
300
270
272
266
225
156
157
221
287
215
217
275
200
261
151
224
174
229
259
302
223
282
252
222
250
280
264
294
217
192
229
269
205
220
225
281
194
288
206
280
175
247
243
200
234
227
218
258
315
187
214
257
248
207
172
192
234
286
251
246
262
181
211
200
180
195
181
289
286
198
284
149
213
371
240
289
229
279
254
214
236
204
203
202
157
206
197
273
169
229
254
158
225
235
225
225
256
261
199
206
275
201
254
187
193
179
251
114
185
189
243
204
224
234
279
266
151
286
192
192
221
288
244
229
262
230
250
227
257
199
201
272
126
212
269
219
299
244
192
178
192
196
192
253
340
211
272
195
184
241
224
248
251
192
198
277
205
181
269
207
217
239
184
254
300
249
261
189
160
266
214
212
243
299
279
297
160
214
229
170
209
298
251
255
191
255
156
235
223
218
246
233
234
212
196
253
245
222
256
288
223
258
195
164
246
214
114
221
225
234
231
226
234
188
267
219
247
126
158
203
212
194
248
255
216
219
260
178
280
214
240
235
194
233
224
231
145
171
238
232
286
170
218
160
209
231
245
241
275
183
349
196
278
265
145
254
255
218
282
259
175
231
264
285
223
238
339
229
160
175
232
285
273
181
224
153
174
250
235
210
268
200
318
245
169
196
286
220
206
195
161
185
130
306
283
288
165
181
114
194
175
251
208
275
208
283
196
170
222
203
171
360
181
182
248
235
174
228
258
219
239
257
192
205
160
235
238
224
254
209
290
200
176
211
217
183
322
243
171
229
211
247
263
247
156
218
252
182
256
313
215
244
296
234
159
210
169
172
222
214
139
296
177
244
245
230
230
198
223
306
225
152
254
178
170
151
157
211
260
262
199
216
176
198
164
223
187
207
248
242
238
230
139
335
259
114
176
183
139
181
158
245
166
126
221
288
264
261
200
267
183
212
267
223
262
160
257
288
183
200
192
274
309
222
166
178
209
282
266
275
233
270
211
335
272
139
224
220
227
200
208
318
218
222
171
154
240
145
235
252
260
179
183
202
214
201
280
213
207
269
250
207
257
261
221
248
196
181
266
175
194
243
212
185
201
209
144
249
156
237
151
204
210
229
228
220
262
233
262
297
229
234
262
178
193
220
213
239
192
195
207
299
295
182
213
225
268
152
274
222
226
195
255
266
283
210
201
188
168
163
221
262
274
263
235
228
246
173
174
262
220
272
219
247
225
257
261
307
223
217
182
238
242
223
190
236
204
238
305
271
268
252
327
233
208
232
231
150
181
175
271
189
199
225
297
269
284
274
182
237
208
231
232
160
226
206
235
166
166
151
114
198
145
175
247
191
229
208
192
254
178
188
185
219
279
241
204
229
254
198
233
245
211
323
235
198
220
229
256
210
152
194
198
181
181
171
285
277
290
198
224
181
168
249
277
249
225
173
160
222
292
253
182
202
213
234
176
167
273
243
205
245
186
220
255
160
277
200
243
256
145
156
246
259
158
158
188
193
278
196
243
194
239
215
227
280
246
285
190
178
195
240
270
282
252
235
276
252
169
219
286
250
270
233
178
173
214
247
160
223
261
274
290
179
168
195
204
258
205
229
238
185
238
227
126
214
224
266
224
202
275
266
211
295
219
204
230
233
239
236
316
248
234
182
157
256
240
175
116
201
201
371
180
223
179
241
146
205
245
288
246
266
159
200
186
292
279
149
197
275
200
176
238
279
114
108
114
158
245
234
232
350
178
238
275
281
236
195
223
239
229
274
218
212
333
198
173
326
277
337
241
192
213
267
216
287
260
108
239
288
114
243
266
204
250
251
261
275
325
114
210
140
206
309
254
255
170
226
207
280
244
188
192
174
230
233
215
228
284
241
249
284
186
311
235
217
226
211
152
234
214
248
158
308
260
277
213
199
207
296
219
180
304
281
261
160
273
191
248
215
253
235
151
153
300
139
288
259
176
228
209
232
175
194
152
214
190
222
192
256
210
179
114
219
221
250
162
225
238
265
289
212
166
229
261
177
220
340
248
164
356
184
235
158
297
226
212
169
217
211
198
196
147
205
263
198
248
333
277
219
160
281
265
285
247
218
272
273
252
202
264
238
285
174
250
331
188
168
243
114
156
156
170
259
243
307
225
224
290
294
229
207
200
161
247
171
151
235
220
162
266
305
203
167
198
178
261
269
226
162
183
232
181
239
178
162
294
194
256
223
184
164
231
217
171
175
212
230
214
243
230
266
144
114
242
175
108
259
198
266
289
207
168
225
212
185
203
298
220
228
108
286
251
201
231
269
246
211
196
242
179
181
197
250
244
253
114
194
158
263
222
178
205
204
200
255
246
224
227
233
314
264
243
238
230
247
205
244
225
272
193
220
208
234
192
167
202
171
249
240
186
252
354
179
152
227
214
211
284
152
180
238
243
259
270
232
250
260
223
204
271
247
214
233
246
229
161
196
246
198
233
204
193
200
222
211
210
174
196
264
250
234
311
245
197
151
285
296
122
177
160
284
179
195
270
185
168
321
192
226
228
202
170
247
169
245
154
236
234
178
158
232
244
208
171
249
173
130
242
179
169
297
185
234
232
202
235
160
225
198
252
160
273
228
133
267
274
284
235
207
190
258
192
272
204
173
250
210
231
195
216
114
182
210
218
260
186
247
267
246
183
324
197
195
228
293
209
236
147
212
273
193
144
215
215
212
227
258
196
160
133
235
210
157
198
210
183
287
211
193
198
170
282
192
239
230
208
139
253
222
212
244
173
203
225
170
244
234
174
232
193
144
256
198
249
208
151
162
245
223
151
259
209
240
191
191
223
259
268
183
173
243
255
126
165
298
192
281
192
239
219
239
156
164
220
248
239
222
193
258
317
271
208
192
128
231
222
274
313
261
219
260
209
200
279
146
193
160
290
170
214
182
228
196
265
169
168
277
269
250
245
126
184
216
233
225
262
258
198
267
277
287
197
210
231
215
233
197
203
212
286
204
167
249
223
192
223
224
161
224
205
160
221
114
273
214
157
145
175
309
255
271
247
152
260
235
222
209
188
262
246
257
211
179
209
221
259
209
222
221
221
255
208
201
175
233
191
216
186
246
204
266
179
191
194
179
199
227
214
255
217
210
171
279
277
257
247
179
283
208
214
293
197
204
220
226
198
210
180
305
178
182
192
246
296
273
224
253
173
229
229
253
218
241
260
261
227
239
274
264
264
170
241
233
257
282
279
146
173
223
213
284
154
263
178
256
258
252
346
194
283
264
207
315
212
190
192
238
234
197
225
239
216
249
267
297
180
248
282
206
256
206
229
243
185
191
192
253
274
267
236
273
277
158
322
189
295
267
194
259
273
226
184
298
248
228
223
220
196
175
170
169
178
241
246
291
227
251
114
202
221
147
224
245
248
213
219
170
223
163
246
204
285
234
336
289
281
174
259
316
227
242
255
212
191
152
273
301
204
170
262
269
183
207
191
271
192
220
222
209
299
220
208
316
317
197
200
201
181
224
253
164
236
283
219
219
257
314
191
247
280
277
274
151
237
281
281
234
141
208
162
277
175
238
259
220
239
316
234
246
220
149
296
183
196
285
295
221
223
259
211
212
144
250
198
239
275
152
256
200
174
272
250
300
216
200
263
260
146
121
222
268
195
149
188
311
347
214
209
185
267
219
114
292
254
172
226
189
228
201
188
160
295
242
235
263
269
265
225
149
251
161
234
265
234
245
180
303
178
158
200
174
228
145
197
217
184
169
243
199
203
172
170
219
315
169
199
176
265
200
326
272
141
204
227
208
170
279
231
192
211
278
114
241
206
155
226
160
235
220
233
257
228
203
208
238
219
241
213
186
285
206
271
178
260
243
283
278
377
114
149
215
265
282
220
266
222
272
253
114
230
210
225
212
180
257
208
222
214
243
218
214
160
190
222
214
333
251
216
264
198
220
234
194
269
215
255
203
237
203
250
324
160
215
245
239
214
244
256
232
180
181
227
257
284
176
158
281
176
172
245
239
160
239
246
220
239
114
283
320
193
231
199
238
235
187
200
265
152
277
201
234
301
260
225
173
258
214
239
262
279
246
186
220
252
207
240
261
272
300
170
214
192
282
173
307
215
168
181
233
180
220
276
198
207
230
233
225
347
156
317
235
228
178
271
233
263
217
268
231
203
157
244
191
235
243
189
238
251
276
260
230
237
221
184
243
170
204
293
266
193
217
156
181
198
272
261
239
192
229
213
201
196
299
213
270
245
304
185
178
238
200
244
317
271
244
256
213
149
224
220
265
294
201
179
302
263
202
230
265
227
193
252
187
235
157
232
149
152
171
265
288
156
228
300
292
192
265
265
232
196
286
222
146
271
228
159
198
186
223
288
238
178
185
180
183
226
219
193
174
207
230
224
249
262
189
203
184
190
206
259
261
154
210
208
266
221
271
208
185
278
251
160
211
278
330
278
188
225
223
286
221
173
192
241
213
201
152
218
154
245
160
167
247
249
310
246
246
181
250
181
196
268
269
264
222
189
264
161
215
148
217
201
205
251
241
285
271
192
280
204
212
288
311
234
309
240
250
114
227
235
227
338
173
212
265
179
250
186
240
196
196
265
215
290
198
234
228
169
198
263
257
108
126
188
242
211
279
228
232
198
262
240
209
114
227
239
154
226
214
183
286
217
252
225
273
114
267
253
154
204
266
194
234
200
245
193
243
179
211
239
225
246
194
220
174
221
126
242
301
257
158
158
275
277
195
325
181
279
166
257
275
267
219
250
256
306
208
242
225
207
238
198
196
240
288
265
116
289
281
209
250
214
247
235
199
191
182
325
201
247
269
205
198
252
310
190
170
171
214
203
300
169
217
164
226
239
210
205
173
238
276
181
213
251
215
216
307
229
206
214
178
275
320
220
210
227
281
178
258
270
162
240
220
229
213
180
241
172
164
156
325
284
250
223
321
254
174
276
222
239
171
271
198
204
172
193
258
194
215
252
190
239
255
207
246
321
203
280
276
295
242
161
245
227
261
284
330
192
286
201
283
243
207
309
236
254
238
218
312
266
319
235
201
265
194
254
193
326
146
214
154
198
219
235
165
213
260
146
293
167
180
192
179
114
193
295
189
267
211
183
241
349
219
246
191
168
214
289
253
134
208
254
200
189
189
244
246
289
283
238
273
249
263
194
193
233
223
248
334
198
293
247
257
157
182
227
170
220
237
275
226
293
280
206
201
277
225
208
132
296
263
260
285
249
296
235
213
165
205
253
258
199
260
221
261
170
178
207
260
203
187
219
259
243
230
247
198
199
211
235
189
223
231
273
145
301
158
160
178
301
331
244
276
146
249
222
255
197
303
333
235
250
162
175
162
220
189
271
192
191
205
194
252
179
278
228
202
240
278
222
216
202
218
252
184
219
211
181
230
148
262
254
317
170
145
243
212
247
261
213
203
246
233
217
275
220
229
245
152
209
180
204
307
193
226
234
206
261
291
203
280
250
235
158
152
211
232
288
336
260
349
139
189
224
229
201
331
192
210
156
241
212
190
129
194
151
197
212
266
237
228
219
195
210
221
200
206
275
284
278
277
235
213
190
233
156
205
248
214
198
295
306
193
246
173
181
156
202
203
244
223
273
241
176
257
349
258
287
251
242
209
220
287
231
176
235
216
253
256
252
217
277
200
176
269
183
217
177
256
228
218
233
201
224
277
289
259
243
204
204
217
221
198
250
186
243
160
237
167
106
236
200
216
146
247
304
230
163
180
224
233
221
192
188
235
170
292
247
228
252
273
289
240
270
232
207
229
245
205
202
194
195
264
263
233
199
201
269
188
240
183
193
222
235
236
207
261
241
208
184
251
244
312
240
222
345
199
247
205
248
255
294
199
233
170
296
170
223
220
231
231
173
172
264
303
234
200
243
224
254
223
334
246
181
275
204
187
208
197
221
278
276
190
223
253
333
243
250
200
180
214
232
133
217
223
282
194
260
252
194
276
225
256
209
330
243
297
269
159
208
209
314
243
314
192
239
172
207
208
229
249
245
152
279
255
273
228
200
191
187
246
242
195
198
257
160
241
263
160
273
217
200
195
218
266
307
211
255
230
253
270
273
210
217
155
295
218
245
238
217
195
235
154
246
251
221
235
233
196
160
274
165
248
213
284
272
280
284
212
204
288
273
270
219
251
232
267
251
284
231
268
281
285
169
201
312
229
169
140
179
217
267
207
233
322
235
162
222
139
245
177
246
289
218
214
265
238
183
230
175
272
236
368
187
227
322
168
229
226
195
260
236
240
335
121
230
238
234
224
222
299
268
227
235
227
191
240
192
238
215
264
271
191
242
231
189
177
183
175
162
256
285
205
272
197
221
178
259
266
222
246
213
240
255
313
236
213
212
255
300
196
267
241
160
226
241
116
278
152
206
259
197
212
219
186
245
225
259
237
191
227
188
179
211
209
309
198
207
190
233
137
237
205
240
190
238
258
138
225
152
275
236
228
214
345
222
246
234
182
236
241
215
145
243
214
208
235
254
191
253
253
250
234
203
198
223
144
202
277
201
188
208
285
284
305
170
225
195
227
225
249
199
206
190
222
305
141
130
216
167
106
177
167
161
273
192
240
186
270
232
194
230
240
287
206
272
244
165
189
286
218
250
253
233
283
220
228
156
192
190
232
208
198
211
202
266
269
208
201
239
246
234
191
160
172
287
231
241
243
152
129
216
312
259
200
162
219
250
214
209
139
226
239
260
277
219
173
230
251
207
114
202
227
176
231
225
254
225
291
262
236
259
233
222
249
203
162
219
296
253
201
225
198
106
235
268
192
212
151
221
234
162
187
239
181
271
199
224
159
207
290
212
277
232
286
188
156
242
273
267
166
246
212
229
241
245
258
295
317
241
224
114
242
282
156
145
178
210
293
270
258
200
203
245
213
221
293
225
242
221
210
228
231
227
280
180
283
293
212
215
220
148
180
191
196
314
268
294
201
237
265
244
260
248
289
201
237
177
249
242
209
239
181
247
126
253
241
247
168
253
160
190
147
181
252
195
268
182
292
277
174
216
227
198
214
209
219
201
157
209
311
207
179
130
222
193
192
292
238
275
231
225
306
257
325
248
237
211
236
254
256
196
160
260
220
197
194
237
252
227
220
239
304
221
114
220
196
267
234
200
255
245
215
250
209
198
249
219
161
211
210
276
195
256
174
152
178
225
236
210
152
241
281
272
241
220
360
175
215
216
230
257
238
227
294
171
279
295
173
211
191
254
242
185
226
298
290
211
231
193
238
141
228
194
178
325
205
207
170
216
255
165
190
273
226
201
241
250
202
237
228
295
242
233
251
252
235
149
178
232
220
219
184
241
225
232
245
265
240
264
237
312
174
173
186
226
151
243
170
178
203
254
340
252
185
207
260
195
204
256
180
302
259
222
214
211
154
206
262
183
277
220
184
280
211
239
238
200
232
219
218
335
172
220
281
274
226
230
215
371
251
251
145
234
276
183
160
158
215
198
254
179
199
231
198
247
178
256
139
160
260
170
205
226
206
164
211
242
211
229
221
222
211
192
201
233
191
203
287
227
199
244
244
234
197
250
207
126
229
228
198
334
252
234
194
196
204
270
201
208
222
283
126
248
259
227
231
214
244
203
308
207
216
192
248
259
219
114
318
249
200
212
205
218
207
195
188
114
275
264
154
245
231
205
158
189
165
265
231
202
286
233
274
246
188
239
275
181
184
221
197
108
260
292
195
213
202
296
188
218
202
264
204
255
244
247
235
187
231
192
160
258
192
204
237
166
248
184
178
232
211
198
229
202
220
219
184
223
160
203
255
260
172
190
228
246
188
251
282
184
234
250
238
280
223
185
222
261
265
175
217
178
233
264
173
228
317
151
179
219
301
211
247
201
256
231
196
290
262
204
228
214
190
237
206
250
244
211
114
193
257
346
203
223
251
186
234
250
314
204
215
190
280
211
226
240
215
293
240
222
183
174
289
174
220
267
236
277
114
170
191
185
192
222
250
207
156
258
202
242
317
294
249
229
219
204
236
246
293
225
293
250
240
188
237
220
263
291
247
170
166
204
244
316
280
264
273
326
163
192
224
292
228
222
207
170
196
320
114
210
244
272
251
229
270
205
241
257
236
299
252
199
298
239
168
236
175
258
303
244
216
201
206
288
193
114
214
179
243
261
213
250
191
233
207
320
262
246
188
223
289
166
250
151
255
265
191
173
233
284
192
275
233
236
144
192
266
231
333
318
174
283
241
237
114
174
322
114
208
300
198
151
114
280
189
207
161
238
197
188
259
181
265
265
235
218
290
291
196
166
220
193
141
209
263
246
242
259
230
220
208
188
197
213
213
232
238
203
294
301
228
267
206
234
231
238
202
170
267
213
215
224
188
326
221
246
293
209
323
211
185
260
261
202
252
233
175
166
293
297
267
200
259
170
182
183
215
299
254
190
215
250
223
211
242
152
212
251
270
221
234
273
210
311
282
212
265
278
260
201
180
235
282
221
158
275
217
309
156
167
231
282
329
250
245
206
220
246
258
156
200
218
232
239
114
198
255
175
233
298
301
247
211
106
279
324
280
280
228
261
245
139
260
221
213
226
227
196
166
239
229
249
265
216
264
304
208
210
241
256
231
253
171
272
182
157
147
267
169
370
130
220
273
207
196
224
212
217
221
244
219
196
114
223
183
228
181
185
198
174
274
238
202
201
259
228
252
135
263
255
173
198
169
257
284
184
228
258
173
211
169
267
163
225
213
167
180
194
168
278
255
272
156
224
151
232
231
268
160
205
219
206
276
303
237
247
218
211
259
232
201
227
235
296
199
198
247
231
222
207
220
181
285
156
200
218
185
220
174
268
210
193
194
240
208
189
309
214
139
215
223
252
184
281
235
139
224
235
224
214
224
179
195
275
166
255
299
223
260
243
236
209
201
303
224
219
158
257
184
253
203
223
209
212
212
233
114
257
382
228
210
191
250
267
220
273
205
198
308
300
230
261
242
277
114
262
232
250
179
257
172
187
322
227
167
204
238
233
219
191
261
214
157
192
235
252
192
261
249
204
265
258
170
216
301
182
309
280
183
253
193
219
224
330
255
167
202
218
161
216
256
199
240
240
233
222
235
264
228
250
287
221
187
195
262
239
215
232
280
215
243
253
285
274
229
238
180
195
262
271
196
278
160
245
222
243
217
247
188
241
114
204
292
173
231
284
230
287
165
249
166
143
222
172
165
275
253
224
227
221
301
279
238
258
245
318
130
200
235
182
204
144
298
207
202
164
233
114
192
276
310
160
214
218
290
230
215
205
235
217
227
261
145
182
222
369
183
183
214
265
297
189
261
175
216
201
247
326
290
252
284
180
244
268
156
235
319
263
237
181
186
267
235
195
194
178
194
199
231
204
225
207
229
193
223
169
155
180
233
175
180
262
170
169
264
151
273
211
335
248
259
287
149
280
215
214
225
202
229
326
257
198
267
248
177
165
235
298
215
239
251
231
219
155
218
223
233
184
237
293
283
301
223
335
254
160
265
247
240
202
214
167
274
219
282
298
126
272
184
208
216
170
233
239
243
295
226
150
277
217
239
218
223
188
331
188
227
233
192
191
224
228
219
194
165
190
175
196
228
200
225
230
219
181
247
220
236
234
229
243
277
271
221
264
252
235
227
173
280
286
241
213
213
205
217
236
246
294
240
188
128
303
236
215
229
224
226
229
219
154
258
293
345
188
268
159
202
211
247
238
277
192
304
213
273
178
252
330
297
235
196
251
233
272
133
204
245
184
194
285
227
249
205
160
275
362
222
246
355
156
248
292
322
192
244
176
238
165
217
246
245
197
241
207
275
253
244
286
204
284
185
283
224
252
285
169
180
211
208
212
173
233
217
189
238
225
184
213
279
231
235
190
193
196
162
221
225
254
207
277
224
208
224
204
139
270
207
192
225
241
223
211
221
261
253
226
160
169
199
197
238
237
163
292
285
163
185
260
229
247
338
225
210
251
196
235
289
218
180
166
203
232
220
206
264
178
252
164
277
174
218
231
325
211
209
227
178
201
238
247
177
213
234
178
179
213
285
242
180
206
219
317
212
295
193
180
207
218
221
231
156
225
130
262
199
234
246
269
280
239
161
236
197
198
236
255
243
188
229
195
202
155
268
184
240
154
297
193
181
181
204
192
295
254
232
271
241
181
227
290
185
164
266
280
226
255
163
230
198
247
204
257
194
129
222
176
270
209
165
185
178
197
209
188
295
234
200
210
292
189
278
216
227
279
236
296
180
233
198
322
233
246
288
242
276
151
253
240
290
277
200
108
178
202
247
258
217
255
181
218
305
240
259
126
217
179
242
156
310
196
198
210
189
211
203
258
275
233
264
226
209
208
188
248
160
186
200
253
197
210
217
235
256
240
235
289
251
285
199
224
153
242
277
291
210
157
176
219
158
290
188
234
189
359
213
255
261
234
275
114
214
233
226
268
199
259
263
195
239
237
218
245
234
250
236
265
171
243
292
197
170
177
170
236
234
238
199
201
291
283
202
175
148
200
219
252
268
266
180
226
256
269
193
186
214
256
165
272
232
245
180
198
316
200
219
237
191
253
208
274
276
249
133
210
199
161
208
297
263
220
242
253
245
154
250
145
343
232
245
264
222
226
181
289
208
192
197
238
136
176
249
201
184
330
218
188
264
160
235
178
278
129
243
201
220
288
202
235
232
233
180
253
328
258
203
164
205
180
193
170
188
255
238
229
228
311
241
221
284
253
273
234
259
266
225
273
249
258
160
257
263
279
291
213
199
260
152
209
222
195
241
198
210
236
195
220
255
221
263
285
356
252
190
255
260
206
242
231
207
249
213
207
284
195
223
293
106
195
193
215
233
279
198
193
258
220
133
266
253
237
148
169
213
220
201
160
230
239
211
290
228
174
170
248
232
238
293
183
280
173
171
245
165
183
280
186
260
206
220
249
156
179
173
283
215
209
306
199
276
292
209
134
225
273
287
258
188
326
214
197
252
236
258
209
248
161
253
309
235
263
237
184
233
253
268
178
208
180
194
264
236
273
256
225
223
261
184
225
203
301
220
276
208
229
231
249
234
266
259
116
225
200
237
233
260
240
251
199
235
154
200
241
274
197
201
283
227
191
169
242
213
231
228
235
213
327
170
243
199
255
278
247
241
266
272
165
219
156
180
197
180
285
175
329
252
238
255
265
255
315
229
236
231
176
211
218
215
233
216
266
238
255
203
266
252
269
224
204
221
211
302
201
268
233
234
339
202
209
208
207
208
253
121
211
205
231
252
198
229
217
241
231
174
321
269
179
224
155
188
226
177
260
233
213
310
230
169
262
307
262
254
239
281
377
248
240
228
199
306
273
261
328
194
226
234
214
255
230
196
151
205
149
311
214
241
235
201
225
217
234
224
196
175
321
222
201
168
256
152
234
260
243
194
276
185
174
198
215
379
175
219
249
206
198
253
310
205
158
130
161
179
173
218
284
285
270
309
185
270
126
207
299
161
159
238
244
224
192
216
237
274
215
253
239
254
233
152
270
243
238
177
161
156
297
219
276
214
232
233
152
253
204
209
173
215
252
180
243
218
176
183
175
240
228
217
173
235
226
240
200
242
266
160
271
175
207
251
152
209
166
242
160
222
260
200
274
194
175
168
203
181
203
252
199
237
244
261
219
158
180
245
203
192
180
195
207
290
234
232
202
256
201
205
286
181
183
215
250
238
269
186
173
126
206
212
244
284
228
190
314
214
185
230
215
198
250
252
289
238
195
258
193
261
219
236
244
213
210
285
208
278
286
186
219
259
222
169
168
148
235
214
256
230
195
237
262
285
170
241
194
244
258
149
209
193
248
223
209
121
263
239
278
282
192
277
342
222
216
228
237
283
222
220
308
257
181
237
301
218
211
114
156
181
285
258
239
293
220
200
157
154
149
151
208
338
269
285
209
191
215
251
290
106
274
234
243
165
278
219
156
187
238
266
225
232
145
285
170
235
226
214
259
212
205
203
215
233
213
122
248
162
241
313
223
275
292
286
237
290
213
152
213
221
220
274
223
194
287
194
168
248
221
232
191
223
189
221
256
217
185
293
251
164
219
224
227
206
231
194
191
188
235
211
322
203
195
222
237
174
219
257
191
209
189
242
249
196
294
247
197
266
258
275
251
168
262
260
202
280
265
188
175
209
130
192
282
279
270
170
199
186
250
173
276
191
257
258
229
238
224
208
319
269
238
235
191
234
272
187
251
261
178
249
250
230
256
190
170
217
270
196
152
185
274
206
265
238
188
269
216
204
195
190
249
156
255
197
221
272
165
195
190
216
146
253
219
243
217
225
256
292
192
269
152
209
114
294
276
198
275
245
303
237
229
139
256
201
210
222
198
227
198
294
184
235
175
257
272
149
206
193
185
210
303
191
181
221
243
218
273
253
227
190
158
287
224
226
317
216
200
217
164
168
282
205
223
180
218
253
236
290
200
253
170
312
283
247
195
287
295
198
297
266
235
152
253
152
191
198
204
169
197
219
209
194
199
252
161
179
310
200
290
273
237
274
267
161
229
181
230
191
220
152
223
114
267
203
197
242
154
204
238
265
239
154
233
178
210
271
114
259
188
179
217
195
232
189
266
221
207
237
299
194
183
186
225
214
256
282
227
189
300
219
242
209
160
190
216
195
250
245
251
231
192
204
248
220
270
185
160
267
200
257
229
236
279
267
257
173
274
209
274
202
284
220
281
272
224
162
220
238
205
191
218
205
213
114
174
301
206
190
200
274
275
180
251
190
190
322
286
161
300
275
211
234
221
215
220
170
185
213
200
206
235
290
240
236
270
285
281
325
199
261
235
231
262
188
221
190
166
207
228
253
239
255
225
257
187
173
220
285
237
200
288
250
250
211
220
223
210
229
224
293
252
221
180
223
196
254
188
249
145
192
180
213
208
192
154
239
202
187
275
225
293
233
200
326
255
264
222
199
241
232
238
268
176
181
219
231
340
248
116
194
266
252
214
209
244
226
206
209
296
242
254
214
298
209
233
300
220
139
240
295
273
207
233
240
239
195
212
285
303
236
273
324
258
199
183
250
249
191
203
215
237
161
219
244
275
225
260
145
202
208
244
224
216
255
286
216
184
170
245
242
114
215
227
220
152
196
218
194
240
173
156
248
192
231
313
230
166
223
144
270
207
175
238
244
114
196
233
219
268
334
188
202
149
232
175
270
246
223
195
255
288
218
245
176
268
272
215
202
170
215
282
195
293
224
164
229
329
256
151
253
203
280
250
276
220
193
271
219
266
269
214
179
230
254
246
315
240
218
183
184
191
270
139
184
185
223
269
206
238
197
225
194
265
219
265
200
214
178
231
215
230
317
226
302
200
253
225
241
278
246
162
201
327
252
232
255
217
169
215
252
197
178
190
194
161
311
213
214
178
289
259
167
114
229
251
293
114
152
177
285
202
215
235
280
162
215
267
258
298
286
218
200
256
241
208
218
300
219
217
238
209
200
194
211
219
174
165
229
148
258
194
148
170
284
160
230
253
253
178
236
215
277
203
267
224
230
211
226
200
204
258
261
209
166
202
208
212
259
237
169
233
214
256
209
309
210
114
218
226
221
235
273
224
275
230
189
283
236
256
227
233
154
200
129
214
237
175
256
172
173
269
156
293
231
223
206
198
260
204
224
245
234
192
170
221
236
259
182
224
259
126
253
201
206
219
214
219
247
202
208
214
234
206
253
198
248
175
266
192
161
198
217
154
193
223
233
161
309
246
250
189
206
222
230
175
203
300
273
226
243
192
249
245
254
211
230
240
272
222
192
165
220
355
163
247
191
265
243
221
308
163
178
243
321
275
181
197
278
205
255
334
232
170
139
180
206
255
287
253
151
256
151
201
293
212
285
281
250
293
149
160
262
246
308
316
216
235
281
205
265
197
281
252
218
174
241
186
220
202
252
165
348
293
186
283
246
213
200
287
216
272
243
190
227
173
233
261
198
235
198
264
173
260
177
220
246
193
213
211
173
244
128
157
233
210
239
255
238
200
219
154
213
240
238
145
297
166
248
176
204
285
213
196
185
263
221
185
181
285
235
219
274
106
204
286
288
274
219
126
289
258
214
233
204
158
228
230
233
199
200
395
174
205
192
184
227
198
299
290
232
196
266
233
321
231
280
267
304
175
242
212
225
114
204
206
170
154
158
252
166
216
277
315
223
227
284
247
116
274
207
236
165
304
160
224
242
257
268
114
191
325
239
248
282
204
260
242
195
229
219
338
276
198
270
237
185
149
183
228
286
147
223
268
311
213
170
227
193
176
207
114
253
288
180
194
265
251
158
267
257
216
212
243
245
231
219
222
200
208
114
241
239
204
193
264
219
219
230
156
176
243
246
236
207
228
287
228
333
222
222
187
217
251
296
170
267
272
204
252
273
282
196
161
233
240
234
130
214
223
222
187
228
313
214
159
210
241
258
154
164
307
250
306
197
223
302
177
181
271
192
193
202
221
232
236
242
181
251
227
200
231
196
247
249
177
176
180
225
279
218
270
228
329
268
148
185
218
244
237
186
222
246
227
269
260
162
266
222
259
193
173
203
116
232
242
243
202
166
221
254
135
236
173
260
232
237
208
156
160
187
288
226
240
243
209
215
137
248
235
300
212
295
199
210
229
175
173
192
184
251
161
277
278
252
221
250
195
214
210
301
126
204
281
175
345
242
269
211
197
250
239
209
269
273
289
278
200
246
201
292
319
256
225
168
241
139
205
206
272
196
255
178
227
302
242
208
322
236
234
247
227
203
223
177
183
238
190
296
192
221
172
284
229
178
304
260
267
260
287
225
259
239
215
241
239
238
209
189
224
179
223
206
237
174
245
274
241
194
206
247
225
231
180
178
277
260
236
225
264
237
145
260
238
205
202
160
157
214
198
198
200
183
146
252
154
198
266
273
206
197
190
252
238
233
177
242
175
224
234
266
209
230
307
217
253
207
114
193
350
205
114
208
129
224
203
192
173
206
232
190
180
200
148
245
171
269
349
266
258
222
207
156
219
149
223
194
251
197
219
266
275
216
196
212
194
161
180
238
144
183
156
214
213
256
157
160
188
230
166
195
263
219
151
231
160
242
214
148
230
147
249
245
233
223
200
199
206
190
241
227
291
261
188
260
168
405
316
144
213
211
213
240
182
256
160
270
289
176
216
173
164
160
191
205
114
220
221
204
235
193
218
247
187
209
237
221
146
198
184
228
231
259
203
126
187
235
178
235
256
375
204
213
173
186
225
152
248
221
211
237
239
114
244
238
252
235
246
175
173
193
188
197
261
195
241
233
246
175
217
214
154
243
191
116
285
321
169
225
188
204
146
196
254
180
285
265
273
229
193
221
315
313
259
249
283
208
241
222
178
222
199
245
216
235
206
211
251
220
248
173
114
278
298
176
255
200
252
288
233
246
206
236
166
180
228
194
165
303
235
218
204
170
222
274
210
241
262
290
238
211
293
222
228
204
224
239
214
253
246
210
170
260
243
213
261
214
181
252
167
199
278
231
270
214
163
226
186
269
195
114
279
258
139
160
253
200
259
188
296
288
261
311
173
221
266
228
204
197
175
203
229
249
300
273
242
266
227
173
278
212
196
200
224
218
194
226
227
240
179
258
198
207
234
114
270
213
196
321
181
228
197
224
234
182
268
169
196
220
206
337
220
188
139
148
170
325
202
296
267
228
251
213
231
225
255
320
238
206
267
264
151
242
202
228
227
196
273
224
318
238
188
241
191
224
240
129
221
228
253
188
214
212
156
178
205
236
240
160
262
288
224
174
232
185
240
251
160
253
329
184
309
215
265
285
295
262
210
144
168
226
258
280
239
264
181
240
202
242
193
234
176
202
196
246
233
264
164
203
235
230
198
277
175
156
255
247
178
139
250
228
275
146
213
187
258
307
305
256
253
283
214
199
219
241
260
256
253
247
208
213
252
256
244
204
271
260
251
247
220
247
331
252
224
265
267
192
223
252
114
235
201
186
290
241
196
236
349
215
200
268
204
166
196
254
293
221
108
273
156
204
316
264
230
221
184
197
200
152
318
196
114
178
240
228
215
255
188
240
190
213
196
161
197
230
114
175
330
181
232
189
293
209
296
211
175
224
170
207
238
277
215
186
251
242
352
205
175
168
180
203
305
206
186
228
244
238
158
244
222
259
133
237
263
195
266
139
283
189
235
214
238
244
317
192
230
233
295
215
238
294
205
278
224
306
235
240
274
296
274
210
152
195
241
210
240
114
234
290
210
223
285
205
178
203
259
218
233
234
316
300
232
213
152
221
251
226
193
243
269
210
191
204
378
221
183
184
309
225
181
130
259
269
184
241
184
245
149
217
265
232
266
215
201
183
321
213
302
287
289
186
186
281
223
323
202
220
258
235
252
171
206
242
238
250
214
235
195
266
243
232
307
250
244
284
215
315
202
204
166
323
222
279
228
201
208
155
275
324
183
146
252
165
263
256
158
222
192
218
169
128
232
275
305
331
106
200
238
205
149
214
162
252
139
229
145
207
176
174
231
281
227
279
173
269
229
234
162
146
281
256
229
217
216
193
231
305
179
292
216
260
235
235
205
261
259
266
207
189
239
254
193
145
236
215
285
215
195
234
227
189
247
286
300
198
301
251
153
299
246
175
205
248
218
232
214
173
319
255
215
255
217
233
221
241
206
239
306
220
232
294
204
179
299
255
184
192
348
214
242
232
198
299
305
194
114
183
173
219
212
289
206
301
211
219
258
267
243
210
208
205
211
237
187
245
173
194
187
126
178
335
170
186
271
269
252
277
220
259
241
148
256
190
141
241
243
255
108
198
234
222
220
180
290
203
240
195
206
268
240
156
199
266
206
247
259
249
245
155
178
175
260
154
228
169
225
214
152
198
220
169
252
234
191
190
210
204
341
247
283
281
211
213
189
234
198
257
247
262
306
176
255
178
264
214
204
213
167
306
231
199
176
209
175
209
225
236
198
170
219
194
214
166
238
239
114
232
228
201
263
198
237
140
169
208
198
207
193
278
231
192
246
195
199
181
257
200
216
178
241
189
244
302
225
273
217
151
165
233
258
217
182
291
268
271
243
161
255
225
160
179
263
288
156
196
158
273
268
296
178
181
203
270
218
241
224
236
197
226
265
144
225
274
255
181
237
178
332
247
199
214
207
253
236
222
249
205
188
306
195
261
148
207
229
180
243
232
229
260
303
282
262
221
252
174
203
243
239
223
239
272
325
217
273
256
223
187
198
217
247
154
226
234
209
206
262
184
174
262
234
229
284
184
213
228
283
171
206
203
210
313
232
332
270
227
200
201
223
291
179
242
283
267
181
186
200
214
249
209
178
247
273
218
210
179
255
252
194
126
243
236
230
214
269
175
203
220
251
194
226
234
126
154
233
264
165
234
232
198
189
250
245
198
299
196
272
248
293
170
310
256
139
158
250
243
246
186
210
210
211
276
231
232
209
226
240
220
331
233
241
213
170
223
258
213
255
225
189
151
259
235
225
214
251
216
221
256
228
251
282
162
225
257
214
217
162
228
341
179
217
195
253
264
176
194
258
205
297
222
192
271
176
174
186
305
216
305
224
201
261
225
231
221
238
192
211
179
154
122
244
255
299
337
253
267
250
310
195
204
277
231
302
216
173
234
237
337
310
265
205
224
264
162
154
178
163
238
157
215
241
236
184
215
261
156
188
188
216
191
195
264
249
184
267
237
215
210
320
271
293
261
154
179
215
272
193
280
251
222
229
191
211
240
239
162
275
262
202
206
253
197
205
146
209
245
263
239
181
190
185
251
195
214
221
173
208
263
239
114
253
233
286
198
351
222
263
192
258
296
222
215
213
180
229
225
239
152
233
213
194
305
256
202
238
284
247
192
203
250
303
209
241
235
247
255
184
215
216
164
207
135
237
228
207
254
299
251
248
278
302
202
226
215
263
217
202
255
228
184
201
327
202
217
267
227
299
339
270
237
207
210
173
280
257
185
228
232
243
223
262
254
266
173
267
287
172
179
222
278
166
221
277
246
165
265
242
183
240
229
249
252
152
258
186
191
234
196
292
163
212
172
194
222
244
161
219
221
198
254
195
199
173
280
203
321
240
269
108
146
291
183
291
151
229
232
208
173
239
227
241
259
180
248
250
184
236
256
289
147
204
278
252
193
252
278
322
233
299
267
224
191
252
293
219
220
223
178
230
206
263
293
168
217
204
114
255
312
224
251
167
165
247
197
288
215
213
226
279
216
238
211
222
258
184
244
285
264
114
177
202
222
188
263
251
151
238
207
225
254
173
202
261
106
114
240
263
298
256
171
140
259
253
214
212
212
198
205
218
207
186
198
214
254
195
198
309
265
207
220
151
220
189
261
258
235
199
302
294
198
194
167
166
184
152
203
247
259
139
309
254
164
178
193
256
182
247
259
253
210
284
256
177
181
229
310
185
249
184
239
194
248
165
306
187
221
186
195
235
241
215
251
184
321
220
213
204
259
329
223
227
183
181
234
196
230
199
265
298
250
239
196
193
181
221
242
287
232
240
207
151
261
286
347
201
270
222
202
218
237
166
203
266
225
263
193
226
207
217
238
258
251
192
198
220
227
210
315
168
237
220
221
276
181
327
194
246
223
173
174
199
195
244
200
234
310
208
223
256
202
256
211
194
248
194
242
172
225
198
229
114
175
258
233
236
196
214
173
246
245
222
231
344
224
149
223
152
253
286
128
306
384
234
229
208
195
276
257
238
184
220
176
226
216
199
195
208
208
219
218
237
226
310
139
235
245
233
234
205
239
226
239
188
305
196
148
194
325
225
181
170
162
213
267
268
209
190
182
260
222
209
235
160
205
203
306
145
229
256
292
221
192
264
227
235
192
191
161
193
245
265
266
251
144
248
280
215
145
243
259
212
197
261
338
243
222
212
288
292
161
178
238
166
217
156
297
178
245
265
230
234
218
275
211
330
231
279
256
165
184
204
232
274
234
310
174
292
250
181
185
239
209
151
170
244
207
242
270
190
268
251
273
116
223
158
275
207
267
208
205
191
249
253
207
207
317
227
312
200
160
340
366
173
267
263
241
254
216
253
170
222
178
233
220
213
179
209
116
194
168
241
267
204
284
188
220
218
231
245
212
209
336
300
297
213
235
164
202
208
203
285
166
253
241
250
184
257
244
181
302
266
192
229
285
284
181
262
198
156
231
222
216
178
227
195
184
158
276
199
240
167
171
225
176
265
238
241
185
256
208
274
222
209
193
258
148
184
223
168
208
229
199
202
198
292
210
205
206
244
173
200
170
209
243
172
224
217
197
204
194
195
172
166
168
198
265
278
239
158
203
250
208
248
249
177
262
293
202
202
214
206
187
210
260
251
262
244
224
270
233
253
229
247
200
203
249
270
318
205
157
164
224
192
205
219
156
222
265
192
183
315
246
253
274
281
200
261
285
157
275
191
287
262
241
207
249
188
198
192
261
200
221
243
248
250
267
229
225
198
116
234
212
240
298
239
211
193
169
240
206
269
152
212
165
236
201
325
195
198
272
210
239
231
234
206
292
159
161
308
116
231
197
162
214
263
181
186
224
225
146
261
267
260
231
215
248
254
180
179
222
213
220
154
238
260
159
243
180
206
228
258
242
205
219
145
249
327
229
199
201
234
211
165
230
215
184
207
203
215
181
245
106
228
384
259
188
217
296
173
235
177
232
246
181
254
256
114
176
199
178
232
199
282
302
227
243
253
187
266
248
175
242
257
278
365
235
241
222
227
263
248
205
192
165
181
223
260
168
303
161
291
184
196
176
255
174
219
242
252
215
215
327
185
220
257
171
179
215
242
128
250
230
214
199
164
198
271
203
192
186
247
148
195
238
174
223
209
268
203
160
191
196
216
203
283
203
206
201
222
339
305
232
275
233
333
214
204
241
251
194
198
221
158
219
182
331
211
196
198
164
252
326
208
227
269
215
235
213
205
265
229
244
262
246
249
260
191
243
304
208
184
188
174
226
297
243
259
189
206
197
262
240
161
275
152
195
281
234
319
271
173
191
277
242
176
273
222
196
229
159
195
158
197
215
294
223
243
141
207
211
219
235
179
243
345
187
225
170
294
212
250
187
206
209
238
286
216
176
256
203
205
200
206
175
233
193
250
217
280
220
250
227
209
229
148
229
189
129
239
184
213
216
214
229
228
114
144
178
151
192
248
245
304
209
242
250
178
279
277
167
158
175
253
251
265
225
239
287
290
208
244
234
247
252
244
305
315
162
220
159
283
178
209
214
239
213
172
199
222
188
213
281
236
220
222
203
262
253
249
249
186
182
178
246
262
229
240
254
217
185
266
233
222
230
244
215
222
169
183
184
295
193
235
245
226
240
229
175
175
305
195
234
274
153
269
254
257
217
192
214
208
167
281
219
257
214
223
256
300
198
249
252
229
158
251
233
244
277
178
234
216
221
114
170
216
232
265
199
229
178
212
315
200
187
298
234
272
199
285
170
160
182
208
294
214
217
224
167
256
200
207
245
203
258
269
257
184
213
208
238
180
237
287
279
175
180
250
148
264
254
202
188
252
155
139
309
329
263
126
180
218
211
257
240
225
160
277
317
224
211
230
220
170
301
245
247
157
207
314
329
173
261
184
169
309
235
231
256
215
245
189
276
241
270
260
253
279
266
251
208
169
271
313
245
279
255
175
303
277
172
198
212
232
220
243
224
207
209
228
218
181
211
196
160
243
114
210
200
220
183
251
222
173
276
192
216
216
167
244
202
272
216
246
205
277
248
240
194
232
282
234
277
224
244
171
249
231
219
233
211
291
225
241
222
324
249
250
155
207
204
270
214
160
239
240
218
232
237
272
260
203
238
209
175
218
172
285
256
296
203
216
212
220
255
204
227
178
193
195
218
240
174
205
253
195
213
222
189
178
174
254
168
261
170
190
244
194
169
316
206
283
216
246
194
208
271
231
229
231
311
268
190
234
278
203
214
255
199
251
327
166
215
238
205
223
195
222
233
279
240
218
219
183
285
195
217
257
175
239
195
190
295
183
262
198
191
195
218
186
206
238
170
158
208
270
211
288
252
224
139
156
370
246
225
241
265
219
311
216
243
246
279
261
194
213
201
168
228
270
169
268
214
231
130
250
281
229
188
213
313
271
213
264
315
293
240
145
255
217
201
196
158
281
202
309
218
208
170
218
226
211
262
253
254
238
152
232
232
249
260
285
239
265
260
230
175
250
237
250
270
289
176
248
204
240
302
290
270
214
248
297
217
258
213
209
196
207
297
241
270
223
243
152
254
244
156
265
261
208
215
180
152
244
243
162
232
232
239
198
191
221
215
180
239
220
197
178
174
274
206
219
193
216
229
201
174
178
205
231
154
269
237
177
249
289
184
288
234
300
181
257
207
182
191
174
247
164
188
273
159
218
160
236
214
250
152
145
244
182
215
300
245
252
223
327
219
261
165
222
275
215
237
225
218
251
214
225
192
193
255
234
176
216
236
241
207
178
206
256
214
196
274
244
299
241
280
259
260
255
187
193
226
228
309
206
218
202
245
233
199
248
181
251
257
224
233
209
222
299
245
198
160
206
235
211
233
255
202
231
184
294
203
257
268
258
292
262
234
177
241
245
188
265
253
200
271
177
165
218
269
236
232
168
276
233
287
208
219
186
284
234
270
193
239
170
205
201
256
220
161
324
232
274
233
154
214
175
271
328
190
220
260
219
294
194
279
224
196
192
221
188
263
209
260
280
266
191
361
247
230
300
181
161
126
222
230
238
271
276
169
168
236
167
210
249
248
225
289
267
272
285
204
218
261
262
252
216
233
230
195
174
181
233
226
290
234
182
277
247
196
287
170
265
215
162
214
263
269
229
169
217
178
222
114
200
149
207
282
171
217
221
220
267
333
178
198
191
233
268
223
171
154
198
206
224
276
214
252
219
286
252
204
200
202
261
251
282
191
235
230
228
268
192
168
228
260
195
284
332
206
182
157
246
196
208
297
238
181
204
114
203
203
193
283
294
158
184
296
202
266
174
202
223
187
161
273
164
166
238
208
189
187
195
152
267
218
375
170
273
182
279
231
197
216
133
177
206
297
225
160
247
209
174
243
224
185
254
258
278
211
222
281
197
230
302
193
166
296
243
236
205
281
165
253
177
203
235
178
277
249
327
287
209
205
116
275
237
234
198
220
268
201
221
184
246
178
269
220
304
277
189
196
227
234
266
251
277
174
293
219
207
160
259
226
214
161
202
188
156
235
253
278
175
249
165
223
208
232
186
181
263
219
247
228
235
233
243
313
289
203
208
271
214
181
252
194
243
297
165
240
257
183
197
193
197
209
233
258
225
232
277
234
176
178
278
220
239
272
273
263
287
186
268
261
216
270
187
250
249
192
144
249
185
254
271
226
214
227
186
254
294
196
315
175
198
191
231
266
239
236
279
260
276
253
228
229
239
193
236
220
203
289
224
175
252
236
362
292
224
252
126
233
192
225
206
276
195
187
253
241
265
114
243
269
240
193
205
144
243
175
277
292
249
220
246
114
291
287
225
214
226
293
186
238
174
341
235
189
285
180
160
223
203
214
228
246
261
207
178
281
277
175
184
253
237
185
203
259
211
245
232
176
242
207
248
192
249
213
248
178
354
382
227
225
226
212
221
243
184
193
156
312
244
236
149
262
200
200
264
239
219
227
280
276
275
114
237
270
248
259
232
255
162
246
242
240
247
205
128
265
178
205
254
217
221
182
209
240
254
204
222
239
254
200
192
208
212
266
220
248
234
239
213
282
114
196
217
214
220
259
265
170
166
283
122
178
302
225
221
209
166
210
251
221
202
247
218
224
181
176
210
229
285
273
225
222
246
215
252
157
205
287
243
282
295
197
188
165
177
182
251
198
254
193
173
229
239
200
289
279
205
241
168
170
243
228
197
246
151
176
298
173
219
284
217
217
187
218
227
318
197
279
196
328
274
317
195
246
200
192
190
236
244
243
349
211
225
193
214
238
198
250
190
237
263
283
168
187
251
260
315
300
237
214
200
305
272
241
203
286
288
222
162
247
253
263
180
194
227
241
251
202
239
206
248
202
264
224
253
223
250
114
180
234
154
225
245
232
242
308
212
146
184
303
233
225
181
197
213
244
227
220
178
224
255
234
215
202
190
205
114
259
216
139
191
259
256
240
241
237
222
245
164
179
196
180
253
276
188
261
235
305
238
192
269
248
176
171
294
206
207
189
231
245
216
192
280
252
219
209
152
174
192
189
181
265
192
304
229
227
254
275
198
246
245
287
254
262
275
250
178
172
239
223
287
251
229
265
126
350
260
246
271
243
197
250
166
202
235
223
216
230
263
149
198
223
262
191
223
210
210
231
204
219
184
188
229
228
250
196
283
270
221
249
212
249
225
177
195
267
198
228
179
339
248
285
219
189
277
180
195
292
271
224
227
252
159
220
187
186
159
200
200
314
241
291
236
246
182
222
197
180
166
251
163
167
203
186
243
217
258
273
359
308
269
200
209
170
233
292
276
163
114
250
170
214
419
196
212
200
252
298
205
170
186
210
220
243
156
179
237
178
244
211
168
215
189
114
212
260
234
221
241
246
219
266
184
235
160
190
198
201
206
187
198
242
253
204
173
259
215
188
223
238
198
178
200
217
214
152
195
251
201
158
212
203
230
286
239
189
292
215
223
222
234
166
204
209
223
228
263
180
211
280
198
205
241
190
274
221
253
244
193
208
327
248
200
226
114
248
214
210
183
198
231
239
203
222
260
217
192
219
284
202
214
223
222
200
185
185
156
250
180
146
114
206
216
247
160
160
150
217
247
193
255
197
191
231
241
264
205
181
191
208
108
220
231
227
243
278
234
160
154
245
243
197
240
295
227
276
220
332
206
251
171
275
217
206
209
260
316
168
262
218
228
254
196
257
287
213
239
225
236
255
280
203
214
275
181
194
208
285
266
244
181
114
237
152
116
191
233
181
170
183
258
328
222
205
157
297
223
233
215
178
299
195
239
246
177
217
194
257
194
240
219
165
157
229
286
199
178
241
259
256
222
191
256
265
315
221
180
279
226
239
273
202
177
267
308
244
192
271
255
312
249
154
232
219
238
190
172
183
177
274
267
114
262
213
273
257
231
126
230
222
114
189
210
225
268
139
179
255
160
219
253
261
198
230
174
214
114
222
283
274
286
236
332
251
177
253
181
193
262
196
261
200
276
284
310
245
285
255
226
213
155
242
152
247
197
210
236
260
245
245
162
164
207
156
260
238
233
181
167
223
236
229
243
259
190
151
211
165
257
215
220
314
152
249
220
217
285
173
270
204
157
186
174
238
232
237
168
155
191
278
281
269
214
161
213
171
227
243
212
187
299
313
217
268
304
231
258
170
182
198
173
243
219
181
145
302
189
232
292
253
212
262
269
265
226
130
207
276
201
250
271
191
198
215
171
294
180
297
255
181
198
217
258
248
218
227
235
156
305
232
248
243
259
200
278
213
238
196
175
213
280
208
221
225
313
166
228
218
195
237
169
184
275
178
192
154
298
197
277
219
272
217
170
213
238
290
193
154
236
235
160
206
204
198
218
184
178
240
186
184
248
262
139
256
272
233
302
258
241
239
258
220
268
179
181
205
221
269
234
108
180
160
306
181
214
286
225
168
243
288
316
185
208
203
176
220
261
161
200
230
215
204
294
200
277
194
182
184
253
234
225
213
139
208
153
267
240
179
162
178
237
199
271
126
205
235
268
179
240
216
160
234
273
204
193
266
301
208
197
227
294
237
285
270
234
233
236
187
201
200
235
271
264
170
192
156
191
316
121
253
213
240
241
182
312
204
200
267
304
205
179
272
198
263
311
164
204
193
239
227
173
231
216
230
183
184
183
278
196
168
222
230
180
270
240
230
208
210
217
218
234
162
279
243
218
195
312
186
268
161
236
229
266
139
198
231
198
322
261
217
199
156
209
196
252
195
223
209
323
209
367
146
175
191
214
326
313
220
192
188
227
239
265
219
139
340
250
204
278
236
215
196
166
261
214
259
164
170
274
277
224
309
276
191
174
276
197
241
220
148
213
191
195
195
180
208
203
280
225
140
155
300
251
193
255
224
202
261
215
216
238
193
207
270
205
212
174
299
268
325
264
314
300
320
196
187
252
264
229
237
236
178
247
179
199
185
215
268
268
229
192
222
159
272
173
281
233
207
217
309
258
206
258
156
236
200
245
195
200
190
288
253
260
194
198
158
233
176
299
271
248
202
195
216
286
263
234
292
250
275
192
220
238
247
170
156
265
166
156
170
187
216
224
154
180
165
207
168
198
160
152
285
252
198
166
168
237
206
235
241
266
181
218
264
218
225
194
180
191
211
176
139
206
248
215
252
277
310
189
285
264
258
232
233
357
169
195
265
201
238
229
228
236
276
261
298
145
196
248
148
271
246
190
248
277
214
274
253
206
192
181
308
220
234
295
234
283
266
160
227
278
220
256
243
226
170
221
265
220
261
245
239
304
173
178
235
206
143
243
276
252
261
273
195
218
188
245
174
239
241
196
287
216
197
170
299
320
192
139
255
247
214
170
213
216
215
234
177
273
278
242
275
254
197
182
263
301
196
146
264
232
219
232
222
202
173
173
274
234
197
267
209
246
151
215
229
216
266
192
221
250
304
236
207
245
292
210
234
172
216
238
226
181
255
205
210
197
261
149
339
177
237
206
258
184
239
252
239
275
230
245
267
223
179
280
274
214
199
283
191
255
200
254
254
272
220
296
222
192
270
230
162
313
277
193
194
233
174
290
190
223
246
160
234
156
170
270
228
156
199
250
264
247
289
276
196
156
228
213
266
189
178
264
308
116
256
144
114
156
270
216
206
249
242
277
261
238
339
293
186
217
301
193
277
152
199
173
171
232
235
232
326
114
240
270
225
166
170
196
235
235
275
181
178
281
168
262
173
258
228
214
202
230
252
319
294
164
209
243
256
191
212
299
160
129
158
230
291
156
208
166
228
194
193
240
245
219
198
192
252
277
160
251
240
179
193
202
286
249
225
181
154
241
242
229
180
171
241
258
169
200
210
185
171
200
173
168
195
220
271
269
273
271
167
220
241
203
178
215
196
207
175
199
200
258
225
238
159
177
249
218
200
206
181
178
253
261
245
231
219
284
204
299
252
232
201
133
214
317
200
195
225
207
206
239
195
237
250
170
218
199
213
264
225
237
210
211
227
191
243
239
346
178
181
231
181
244
295
270
247
159
198
222
198
192
268
214
230
273
246
173
221
229
213
198
261
220
228
251
224
208
198
196
218
245
255
243
242
235
287
142
251
228
269
179
245
252
204
156
271
189
191
237
222
196
187
235
278
247
214
216
176
206
241
239
266
234
221
350
419
196
145
191
263
222
162
303
222
258
191
226
236
286
237
285
168
209
227
237
180
321
161
244
158
238
204
256
195
212
147
282
277
289
220
261
227
283
217
286
237
194
268
343
249
196
193
215
148
244
233
197
228
257
213
227
165
244
194
191
195
206
251
181
270
229
255
243
208
191
215
180
236
294
229
272
322
266
246
255
306
283
195
179
221
258
192
233
206
208
237
238
270
263
209
129
270
173
213
209
243
232
235
114
176
193
256
208
189
209
267
215
239
198
218
252
173
175
297
216
185
205
180
219
235
309
289
233
201
247
255
202
185
206
217
172
245
225
292
293
156
201
229
220
272
154
240
267
208
206
180
204
240
198
309
215
229
171
212
211
204
265
223
212
240
114
196
253
265
269
248
231
331
267
289
156
262
214
267
234
248
160
200
189
244
254
114
178
263
232
288
279
262
176
231
263
236
230
203
202
235
161
252
220
226
145
270
149
221
190
227
206
219
227
280
261
192
268
272
173
201
214
204
224
211
181
179
180
247
288
207
256
336
279
197
213
170
286
180
198
234
114
257
265
229
160
244
225
146
255
234
261
260
277
249
195
231
205
233
224
108
212
266
175
242
217
233
234
225
196
145
176
200
170
192
270
228
234
330
271
248
322
212
277
206
246
193
245
256
220
209
198
167
206
230
235
336
241
201
192
222
201
267
226
212
235
179
227
300
221
220
217
316
198
284
209
215
206
114
204
263
203
209
263
270
368
252
272
202
162
169
257
263
319
235
213
250
283
235
287
283
257
225
247
246
262
199
178
210
288
272
227
281
171
198
267
216
313
173
274
308
154
216
216
213
181
277
231
261
208
232
267
197
196
173
261
195
249
229
179
189
213
227
245
198
250
190
276
235
233
260
114
240
237
260
192
339
228
222
207
226
189
229
200
235
243
199
230
212
247
289
219
232
293
283
223
261
299
174
176
303
275
237
300
263
220
274
165
245
244
231
139
308
266
213
194
255
239
145
214
285
277
133
174
207
192
126
183
301
210
179
167
175
232
261
160
171
247
204
151
186
280
273
251
281
264
233
223
264
212
280
289
175
257
204
296
208
212
247
260
258
181
239
265
229
196
191
254
222
260
180
247
240
178
239
263
264
211
297
273
200
232
241
211
169
214
130
222
175
134
241
197
267
170
206
287
187
250
220
156
229
154
187
248
191
293
301
193
239
225
221
205
145
271
170
245
202
213
223
275
196
269
208
190
330
263
146
268
210
152
260
224
302
277
224
281
224
183
263
191
192
254
178
273
270
263
214
214
159
218
232
178
196
149
308
244
238
270
261
149
244
234
262
323
269
165
228
222
204
250
231
245
184
206
283
215
192
193
247
209
326
181
219
238
196
223
243
243
291
201
215
195
232
240
204
165
209
164
196
275
255
139
293
290
187
170
257
194
282
188
156
254
211
172
201
217
139
259
184
158
242
209
271
213
205
333
202
200
195
251
190
230
283
274
230
217
280
293
221
185
184
208
221
194
210
216
195
235
237
197
178
189
212
238
231
269
139
226
300
215
247
211
230
202
244
224
225
235
223
229
181
255
235
201
253
202
179
215
296
304
238
223
204
230
264
195
180
258
337
254
177
181
220
169
257
196
181
221
241
291
244
302
176
257
282
222
209
180
292
236
229
192
142
235
175
301
217
162
220
173
224
266
234
214
214
175
234
312
162
251
219
228
237
214
229
287
180
252
268
165
260
295
273
161
199
237
253
214
114
178
281
207
189
277
114
231
215
157
154
194
193
300
252
189
162
241
172
254
294
212
296
180
303
267
291
268
147
252
228
216
321
289
229
205
244
286
292
240
183
268
240
240
228
199
141
146
114
212
114
213
185
226
198
227
126
194
212
203
264
214
227
280
298
264
290
170
205
157
210
272
251
129
222
194
174
210
209
163
242
245
206
209
209
239
195
223
219
240
233
203
283
238
160
194
179
240
198
197
276
213
253
253
272
247
245
170
309
244
236
193
216
271
309
255
210
139
220
250
198
188
230
238
181
253
260
199
297
262
221
201
305
300
200
259
231
271
282
308
234
149
274
171
234
246
216
197
272
317
270
208
167
192
283
225
234
227
191
253
266
281
264
263
299
152
243
211
161
233
177
258
241
187
246
244
279
192
229
227
275
139
268
139
191
203
229
255
275
228
237
238
255
176
266
236
171
206
199
169
243
194
199
151
256
147
298
180
286
258
266
114
309
264
195
217
208
274
234
189
264
177
185
178
174
174
244
176
236
233
250
205
210
213
265
230
318
319
258
208
161
241
245
238
239
151
215
178
200
207
214
229
221
291
182
201
290
211
253
145
163
289
156
214
200
269
206
256
195
204
230
173
216
209
208
198
114
198
114
203
212
180
193
314
178
227
229
262
205
176
173
157
254
279
279
277
203
225
265
303
242
206
242
269
215
279
259
250
225
217
263
235
198
345
298
274
214
226
187
296
139
322
156
287
274
181
191
198
192
208
261
218
161
206
237
246
275
204
231
167
249
139
145
233
214
229
168
199
217
199
230
286
198
326
180
139
248
223
212
189
345
213
233
272
213
301
244
221
278
207
200
285
215
114
170
167
252
286
231
261
194
280
225
211
146
232
294
180
203
283
130
218
178
180
241
200
157
225
286
200
184
257
261
242
209
156
192
252
181
198
234
231
246
254
183
210
278
218
223
192
180
184
259
186
213
114
222
251
208
200
229
243
191
195
209
262
273
171
214
238
215
225
133
257
203
203
247
220
276
170
276
203
169
206
252
211
195
323
275
173
282
243
156
244
190
282
167
266
221
244
184
220
322
261
196
250
114
229
225
188
277
229
153
184
336
264
204
205
222
315
195
204
235
176
278
213
180
201
253
202
328
230
246
139
300
210
200
174
225
242
264
239
243
284
283
361
133
168
262
275
232
247
139
213
292
180
207
202
326
261
250
184
172
186
312
209
209
221
251
195
114
199
168
156
173
240
151
207
236
260
227
266
208
199
281
304
239
241
254
176
223
295
139
237
243
215
280
242
252
158
211
170
126
227
222
225
223
251
148
167
288
213
152
189
261
248
297
218
260
146
204
247
209
213
270
246
181
228
314
248
362
205
283
196
218
178
298
319
219
260
314
209
235
257
276
128
209
264
126
219
179
189
220
259
216
228
260
206
196
221
236
239
294
255
211
278
162
174
304
185
263
297
215
292
228
221
322
261
212
265
237
225
240
214
114
307
152
225
242
272
289
247
303
174
259
279
218
181
203
247
250
211
220
217
246
354
279
231
243
209
226
277
225
256
210
163
264
156
184
229
235
197
289
257
197
284
247
263
255
207
139
253
291
276
203
265
254
170
266
265
198
114
203
258
210
219
228
219
151
210
152
173
241
219
281
139
340
290
237
224
237
151
269
202
225
209
160
231
238
214
198
391
373
227
309
205
214
223
316
231
278
301
264
212
211
200
216
170
222
165
287
215
236
175
236
205
210
255
227
303
202
263
261
214
173
209
211
241
229
181
205
162
183
181
183
287
243
254
248
195
257
191
255
204
307
173
226
167
242
160
211
183
234
177
179
235
208
198
330
205
251
176
276
200
236
240
234
285
204
217
247
279
218
282
174
262
249
320
114
309
235
160
216
253
165
165
165
186
219
303
192
195
222
245
238
244
207
281
154
286
197
234
215
215
242
326
149
260
257
257
255
165
256
217
208
201
230
204
256
200
225
228
245
265
249
271
210
243
187
250
271
226
193
239
274
206
248
283
241
114
184
196
260
220
199
153
236
173
258
239
260
225
205
158
126
171
179
126
142
209
184
245
219
225
244
232
254
201
253
245
165
196
287
285
206
273
237
190
193
294
255
164
202
231
185
195
166
240
203
302
151
193
219
272
219
152
154
170
238
260
300
211
224
200
256
168
192
210
213
155
319
242
257
219
129
192
247
166
179
187
254
232
245
209
238
186
296
269
192
190
345
233
240
286
192
187
165
215
250
198
243
222
241
271
335
193
242
242
207
292
251
210
252
151
193
207
219
330
218
235
219
151
175
223
175
251
199
295
191
191
268
189
208
218
190
260
231
227
114
227
126
260
220
173
226
226
239
306
196
256
178
146
201
287
213
197
270
116
243
176
234
227
209
244
189
265
195
309
192
243
221
214
258
196
314
260
292
247
180
239
214
171
241
272
156
265
147
226
219
227
207
249
243
238
288
222
222
214
222
235
224
182
218
280
264
263
259
256
236
234
191
310
156
212
216
289
251
267
241
161
248
211
269
271
151
214
114
223
195
308
210
330
178
227
219
114
243
228
177
293
198
242
164
224
239
198
219
250
257
246
210
253
197
215
224
252
205
227
214
192
227
252
224
248
288
188
197
278
146
213
275
260
297
241
285
171
249
171
212
198
266
244
191
295
231
196
220
254
333
223
207
148
212
170
319
260
201
215
290
148
176
315
245
289
296
215
221
286
256
229
273
180
258
279
231
239
267
198
244
129
182
253
246
186
114
154
232
261
285
232
282
284
219
226
254
280
172
211
226
325
220
195
276
250
165
225
252
275
220
231
217
205
225
171
210
235
240
207
237
274
251
298
233
165
262
310
241
180
205
273
208
202
249
199
263
159
171
206
302
240
240
278
276
222
207
114
201
217
284
166
222
253
351
233
227
235
252
244
223
178
168
223
242
198
271
293
272
237
231
195
224
174
246
296
244
246
217
218
273
209
195
198
116
267
234
219
223
245
190
260
280
233
246
255
230
273
151
324
214
200
301
173
267
267
200
233
232
164
207
220
148
173
166
248
229
245
219
194
258
271
229
196
270
212
278
170
160
236
209
114
209
195
198
122
170
293
185
152
220
175
174
147
229
201
203
214
251
213
274
194
157
200
252
299
210
145
232
178
157
182
243
223
245
198
247
212
262
241
223
202
216
303
234
187
183
209
192
221
224
244
201
232
276
230
230
243
265
188
253
256
275
252
139
177
287
242
221
274
242
271
245
114
298
166
277
223
212
194
242
198
252
249
244
161
286
194
265
284
205
188
230
215
302
173
200
195
269
234
173
241
280
220
221
175
209
277
351
154
288
242
179
327
234
225
221
293
220
220
228
282
126
238
158
114
221
261
196
301
231
269
175
242
241
197
171
285
291
173
270
189
218
205
184
203
210
206
221
281
290
256
269
169
108
170
231
174
231
219
259
184
231
185
283
260
283
227
199
156
187
222
202
160
222
252
147
315
285
210
244
199
203
251
244
173
227
250
224
215
200
263
225
179
255
224
281
281
211
220
218
217
207
318
209
301
272
262
146
285
341
224
201
211
203
206
181
253
278
285
134
161
298
261
229
207
304
229
272
296
344
239
209
219
174
241
261
213
267
214
304
233
233
208
262
271
156
285
233
279
258
144
222
230
206
167
173
175
175
306
233
248
298
349
194
261
291
194
237
201
261
232
252
312
180
236
271
179
198
222
151
244
223
207
219
210
203
181
255
251
200
243
248
152
210
259
260
233
232
186
168
219
218
213
311
220
198
168
277
276
206
206
284
197
181
191
251
242
259
246
229
215
206
126
188
283
173
156
193
283
221
209
210
212
210
381
252
249
210
213
244
232
236
208
235
212
193
200
222
167
152
243
203
308
159
204
223
189
211
194
276
262
274
177
183
274
230
228
279
262
241
246
129
184
212
304
262
220
170
255
177
267
237
188
228
207
371
218
279
267
295
213
196
281
279
273
238
214
227
191
209
258
215
189
187
154
183
217
208
213
238
221
173
210
192
214
274
238
199
305
261
223
241
208
179
245
191
206
201
219
224
245
208
241
252
254
276
163
220
240
265
175
200
219
275
259
232
197
261
176
171
188
229
278
204
267
260
242
182
318
196
185
293
214
192
196
151
126
193
253
285
253
266
213
216
192
289
201
249
249
211
256
255
254
258
266
205
211
232
245
265
236
252
290
253
215
152
297
251
211
234
251
198
217
154
273
198
145
268
312
257
251
242
307
244
222
180
196
197
203
154
253
165
242
295
286
320
275
158
233
256
282
244
166
283
176
215
229
208
189
206
247
212
233
211
114
248
242
180
278
276
151
224
199
179
235
185
300
165
240
245
232
202
287
231
234
222
241
273
237
144
270
234
220
308
292
248
165
246
211
229
216
254
193
254
197
204
265
181
216
194
239
233
221
233
245
187
231
243
263
207
223
241
221
300
196
290
225
176
285
288
223
268
249
168
175
233
189
240
200
246
246
198
230
298
305
235
197
259
196
268
157
202
200
252
253
189
152
233
215
191
223
283
198
255
203
174
195
211
164
278
178
265
299
234
253
194
238
311
252
299
190
233
253
168
170
233
267
395
301
258
126
126
237
140
197
225
267
236
175
190
219
199
243
211
187
256
249
169
220
238
310
308
217
182
224
319
114
226
301
226
236
282
223
186
225
130
252
235
275
266
226
224
284
284
177
216
253
203
208
172
193
286
169
194
228
214
278
211
197
248
284
211
192
198
146
273
218
178
207
267
214
275
240
189
270
277
328
175
166
185
210
309
207
203
220
244
192
210
226
222
219
235
179
186
338
240
253
155
222
181
237
244
287
242
280
222
183
240
226
193
193
160
212
218
219
290
274
222
156
219
191
251
230
237
240
249
224
234
271
189
175
219
255
269
238
228
246
239
217
211
206
248
246
198
278
297
198
256
185
265
205
338
287
166
250
223
230
256
219
199
288
147
300
204
147
241
269
200
233
192
180
280
233
151
221
208
174
239
240
169
222
210
156
221
245
229
252
243
160
198
206
211
209
208
228
184
193
227
225
218
229
233
243
211
161
209
191
238
184
261
342
203
329
232
214
244
228
193
280
175
212
233
223
202
221
213
220
261
204
205
212
223
193
216
281
192
227
277
186
157
234
310
178
217
251
153
203
178
261
238
156
139
196
221
182
268
219
213
214
293
257
281
158
201
198
189
234
273
229
271
175
212
222
192
152
200
158
308
210
263
236
192
168
247
243
285
238
207
215
180
199
278
228
288
253
280
280
190
236
226
146
178
247
282
197
299
290
230
237
209
196
166
154
230
253
180
160
192
237
181
272
228
265
176
277
156
151
218
211
253
152
239
237
234
267
228
199
223
196
229
196
233
178
192
290
278
247
267
175
219
240
195
287
152
208
177
301
266
222
245
209
160
309
224
265
250
233
225
152
220
126
239
196
243
214
249
269
255
224
344
234
270
268
269
198
179
253
206
289
282
284
253
245
201
197
273
242
179
214
218
250
243
241
214
212
365
177
211
258
248
173
202
250
256
239
202
267
258
278
213
225
232
201
211
156
245
168
255
160
181
252
193
241
244
241
211
227
253
228
239
217
209
205
114
144
240
231
200
287
225
234
202
229
261
170
245
180
267
191
209
247
342
145
268
187
259
193
334
158
178
227
183
269
221
267
242
279
218
185
203
280
257
256
233
168
195
211
208
172
175
241
200
203
243
266
188
266
219
251
285
223
213
242
284
252
214
198
199
258
221
268
214
175
114
234
238
246
234
212
203
229
208
239
238
261
234
139
252
299
192
260
254
283
245
151
262
226
186
219
295
207
197
160
146
299
260
189
222
253
229
180
304
200
254
310
157
220
250
191
219
212
182
220
279
216
333
255
238
211
211
213
155
235
233
325
236
283
181
199
196
203
291
172
244
200
145
211
177
202
249
233
243
181
220
176
293
245
156
264
325
215
228
273
211
172
273
198
224
218
176
241
114
194
247
195
335
273
186
167
239
269
223
114
186
233
230
237
252
233
196
273
222
208
215
198
108
197
218
175
212
206
215
274
250
212
189
215
204
274
208
148
156
192
187
267
220
217
285
189
243
243
208
226
160
182
218
285
267
193
218
260
178
258
259
171
285
248
192
209
185
230
216
188
289
262
174
202
285
227
202
237
167
197
224
220
238
209
162
199
225
242
269
162
228
199
258
255
267
210
232
215
221
208
260
202
168
208
235
234
231
280
308
221
249
222
268
275
180
226
193
206
192
171
289
227
250
239
278
230
262
249
203
179
268
280
256
194
203
186
201
254
202
259
157
196
218
209
289
181
238
206
202
169
237
290
152
151
171
191
200
261
209
211
224
220
215
218
201
227
190
285
108
255
198
241
139
189
246
148
275
235
255
181
186
248
191
204
186
250
207
237
219
285
213
184
233
264
284
251
201
228
266
232
262
285
266
195
194
219
164
169
269
198
251
204
199
208
263
234
311
224
166
249
217
266
168
291
275
160
246
284
335
114
147
114
168
190
289
203
183
225
272
283
265
160
234
226
239
199
202
270
188
269
218
193
198
200
206
256
140
257
165
181
174
173
225
266
252
175
206
219
246
186
289
239
229
263
277
228
178
192
228
202
232
323
170
145
209
235
277
260
209
218
313
157
232
170
236
220
222
203
191
172
244
151
294
193
277
253
274
270
253
198
192
276
260
186
180
180
190
306
200
252
224
243
239
199
205
237
149
274
263
209
222
204
192
262
289
233
183
250
223
292
211
208
248
220
198
212
148
285
255
212
182
269
180
247
234
253
244
271
218
275
261
221
239
219
238
246
238
287
184
232
218
156
245
293
246
250
262
225
286
299
282
193
165
175
228
160
186
114
161
259
259
180
177
203
229
200
195
261
250
223
289
229
185
179
188
234
315
298
285
270
146
210
228
262
192
242
176
273
154
263
228
257
173
198
181
268
180
213
183
237
249
283
211
244
294
183
336
216
176
227
238
215
192
218
180
174
187
277
304
174
286
225
164
229
264
284
238
207
273
219
330
178
225
279
214
235
176
202
230
270
210
234
157
209
222
217
183
159
227
192
231
277
298
259
298
233
241
238
249
175
243
168
238
302
152
212
247
224
177
225
161
291
221
273
208
160
175
311
281
290
170
217
218
151
334
232
224
226
130
284
227
231
181
223
210
222
148
216
204
255
214
270
178
218
218
246
178
213
227
149
221
177
184
203
178
192
222
166
238
273
192
213
271
156
338
226
201
260
252
214
231
191
282
240
279
158
268
252
244
287
235
222
234
156
185
285
218
324
172
174
238
210
272
279
204
261
244
253
184
174
196
215
271
262
208
203
208
191
252
273
296
239
226
174
217
272
216
194
235
182
274
181
216
178
225
236
214
265
194
223
269
238
209
270
266
160
244
224
269
222
266
173
204
244
263
210
239
233
191
283
159
222
286
218
211
297
210
316
213
219
222
231
186
246
239
174
256
249
230
151
223
231
220
161
246
159
265
217
239
252
139
284
249
305
268
230
151
229
170
196
213
184
229
219
209
234
202
185
251
154
214
269
252
214
300
209
231
202
231
210
297
281
237
275
225
246
223
192
191
238
220
181
181
255
220
213
224
268
231
241
215
198
203
145
175
255
228
214
240
228
196
249
258
202
278
231
227
194
186
153
242
265
241
271
203
193
165
175
327
246
206
194
175
216
203
218
226
195
207
223
291
276
225
216
170
236
198
260
178
243
192
268
221
220
226
307
236
196
258
300
325
231
301
320
294
250
265
169
234
200
139
218
158
207
238
202
169
247
114
212
183
234
183
215
273
203
288
181
203
208
114
229
166
267
170
179
262
257
225
252
164
212
269
353
220
286
196
310
226
225
271
227
222
243
215
206
205
276
278
291
263
217
324
165
267
147
192
236
237
180
291
220
225
192
256
239
216
216
255
215
230
250
198
235
250
228
212
223
130
262
242
262
268
195
223
255
262
239
242
230
259
230
203
214
270
151
206
218
272
211
203
260
181
269
235
171
239
236
256
160
135
170
221
114
221
262
271
254
177
227
185
287
235
196
246
237
224
253
284
238
279
239
198
260
114
243
170
235
339
256
242
219
247
192
264
282
201
246
202
185
224
214
250
239
280
185
214
223
283
206
220
203
218
208
216
230
160
234
303
200
139
243
238
188
149
152
254
215
272
242
272
256
253
192
272
282
209
149
181
249
174
202
273
175
251
260
204
239
279
241
219
254
297
181
322
249
197
266
156
266
243
264
260
299
179
299
203
186
215
210
189
297
205
270
296
202
181
265
236
161
228
263
266
176
318
222
240
161
198
308
238
189
266
261
167
250
208
240
238
195
278
237
160
225
270
248
228
194
194
197
198
203
212
209
249
158
211
170
156
190
194
343
202
151
196
218
227
179
173
268
185
341
256
207
229
174
245
159
280
219
269
243
212
149
206
277
266
276
148
170
156
189
191
241
293
296
193
239
172
245
160
217
182
264
146
198
233
290
226
177
191
169
186
267
255
280
249
263
260
216
199
289
245
274
203
291
168
202
213
200
242
186
192
214
247
240
246
243
252
213
259
184
210
224
256
204
232
248
246
241
166
238
121
180
251
126
169
234
149
254
217
261
169
173
177
166
315
200
192
246
221
141
233
227
158
240
229
230
198
274
219
177
139
259
245
149
169
226
281
299
179
265
228
200
169
186
163
133
237
233
283
241
256
249
198
200
246
239
139
284
195
186
239
252
193
248
247
209
207
221
227
207
224
190
194
126
194
281
219
245
237
207
177
202
272
185
264
210
174
225
192
170
233
198
319
208
229
185
238
170
203
250
354
228
231
193
258
250
191
191
226
190
221
261
168
233
220
200
156
228
162
181
185
208
188
187
157
251
236
213
175
213
241
208
299
236
230
224
292
203
239
187
200
335
266
198
246
235
156
228
199
154
241
189
216
194
308
214
259
230
243
194
291
247
217
216
166
215
236
270
260
245
187
211
168
188
260
178
264
205
214
265
221
207
184
175
228
156
208
289
206
214
260
155
294
270
197
265
296
177
233
194
238
197
175
171
114
223
218
196
198
167
238
184
159
251
210
236
253
161
249
158
194
255
202
275
309
198
202
263
160
214
171
187
207
215
332
252
271
267
226
246
237
241
197
219
240
273
184
208
177
168
177
265
321
195
245
237
187
218
288
200
244
200
363
218
232
210
278
186
266
290
189
229
278
235
192
246
175
257
198
222
152
170
246
171
228
114
248
178
293
284
218
215
116
215
281
267
314
221
169
191
222
174
209
200
305
173
211
209
305
246
273
200
255
223
209
211
162
235
230
222
252
181
151
167
241
255
158
252
185
246
233
258
309
219
217
279
178
194
266
216
226
238
315
191
189
224
297
187
183
218
154
121
191
241
222
237
220
239
251
204
259
218
167
183
200
168
204
215
201
214
228
218
193
255
215
211
202
238
223
170
183
271
195
207
303
190
296
272
230
106
270
243
257
240
231
204
106
268
286
304
231
252
217
195
174
211
201
212
234
188
152
293
245
253
230
237
344
215
254
257
259
270
231
151
238
216
201
151
242
178
114
245
245
263
279
248
275
235
226
210
167
222
208
197
162
256
262
160
205
295
246
288
228
276
250
249
184
179
324
174
192
170
200
201
167
270
236
166
286
156
240
215
297
129
281
220
263
251
206
170
187
235
146
222
244
263
199
323
241
184
205
206
175
221
223
170
257
251
250
186
269
197
233
242
199
260
216
227
154
200
186
258
272
186
203
192
306
229
335
275
219
121
276
219
295
267
217
278
194
233
256
199
234
246
253
243
213
249
228
236
205
225
236
219
224
214
208
230
175
174
230
273
210
168
158
195
213
196
183
211
170
227
195
293
241
285
181
253
227
287
260
219
181
207
259
218
214
188
210
214
195
331
241
220
295
192
239
209
168
269
215
197
225
166
299
273
252
209
224
247
262
179
175
196
216
207
217
116
195
151
162
232
139
259
114
193
257
240
240
250
227
265
166
236
164
225
274
231
178
324
145
144
258
256
265
271
339
162
245
244
253
215
248
215
234
309
215
126
174
269
249
207
251
226
221
272
243
206
291
209
294
284
186
202
227
214
202
208
243
254
218
226
223
182
168
161
207
254
266
252
272
222
279
256
211
167
225
220
207
263
269
221
285
286
214
268
220
275
243
221
156
235
238
208
245
208
282
204
228
187
121
214
237
126
237
201
237
227
253
173
178
201
280
196
207
225
238
252
197
213
201
273
173
229
322
214
151
181
247
114
218
260
196
263
203
207
212
167
230
214
212
227
282
200
168
170
247
211
203
193
248
162
275
192
212
219
188
196
291
304
196
192
235
302
252
247
220
279
202
188
225
176
177
192
242
156
211
213
290
191
199
257
241
214
263
255
114
196
251
294
177
208
287
179
171
268
174
254
254
234
215
237
272
177
332
238
173
226
252
215
239
183
265
245
230
232
269
225
174
241
247
262
242
241
251
240
191
217
252
187
209
188
271
185
272
240
281
175
154
239
116
181
256
200
139
245
195
162
220
161
234
307
208
235
227
233
286
146
165
188
197
174
241
277
287
201
282
236
252
258
179
234
192
145
286
272
266
169
211
197
216
275
270
233
209
230
220
293
145
245
201
212
226
242
217
178
247
166
260
188
192
292
237
234
233
220
187
247
217
240
160
222
315
265
205
248
232
268
188
273
219
218
264
165
250
197
196
265
209
267
188
172
210
186
192
163
181
267
282
256
303
203
181
170
194
215
268
303
202
342
183
201
174
247
196
232
248
242
267
297
180
259
174
241
194
316
146
208
241
210
200
249
338
114
244
261
220
181
211
263
244
372
206
262
213
238
213
189
186
252
210
198
261
264
316
168
167
183
264
230
302
246
182
190
279
310
165
139
266
181
200
189
296
212
165
187
169
108
365
233
171
301
230
206
280
339
203
285
173
204
275
210
248
259
164
275
207
201
258
218
223
198
248
160
196
253
225
254
217
225
198
161
281
169
192
315
207
216
178
252
151
290
265
183
278
192
210
256
269
165
214
214
238
224
276
195
243
265
176
196
221
226
182
238
302
247
152
238
213
175
271
223
299
201
195
249
195
242
218
222
207
170
220
194
212
251
223
234
266
225
220
173
190
204
234
296
170
292
148
203
292
219
208
231
203
227
207
190
175
191
223
255
221
181
291
336
188
167
181
174
146
220
197
280
281
261
246
130
203
175
219
129
212
165
114
194
188
262
180
296
208
262
232
179
261
266
320
254
163
241
241
271
170
242
288
128
297
264
174
207
126
223
179
116
230
245
231
348
186
235
175
156
199
190
273
271
214
198
262
159
229
259
241
219
255
203
248
294
236
170
281
148
174
199
291
222
149
151
175
186
281
205
341
267
265
189
214
245
227
194
238
162
205
202
203
232
290
191
239
178
258
311
284
252
183
152
229
250
156
266
156
240
240
241
169
199
195
276
197
213
238
207
254
233
257
223
215
253
239
282
211
166
225
151
244
205
200
242
261
267
186
238
198
207
146
296
160
251
211
244
198
182
266
211
246
192
229
233
152
161
304
216
218
227
181
272
244
208
250
244
281
233
258
204
310
243
214
160
187
214
184
267
193
207
203
222
225
281
250
286
260
220
242
191
346
154
167
273
263
224
116
201
254
258
266
202
202
325
313
209
262
129
308
192
295
247
256
174
257
236
189
176
252
185
218
301
309
261
229
151
225
226
149
269
170
231
286
198
323
220
240
174
233
258
231
207
224
228
194
180
208
265
168
212
281
236
180
178
248
227
251
230
295
160
206
211
211
211
180
219
161
270
197
173
192
158
323
226
197
256
192
220
244
158
199
201
221
164
251
242
207
220
222
211
151
253
202
149
204
247
290
322
320
243
187
279
226
145
258
183
273
185
275
299
282
282
251
225
248
159
177
267
197
222
252
308
201
208
275
330
349
284
178
191
283
221
289
185
220
271
233
226
224
183
189
190
158
258
198
271
218
213
234
192
271
178
223
147
190
269
215
235
208
247
261
201
238
190
230
270
224
234
227
189
233
239
289
213
180
194
154
231
232
216
228
230
237
288
178
245
219
249
283
243
258
321
177
238
260
262
186
232
233
180
231
283
257
160
166
251
219
211
211
223
200
237
326
244
253
259
260
231
287
230
220
234
193
193
278
251
221
230
114
168
188
218
247
142
217
226
299
321
179
178
257
314
240
151
285
180
223
260
278
239
194
250
159
329
239
267
190
235
187
219
218
230
285
220
186
278
272
213
192
230
230
198
141
270
218
205
255
203
265
270
260
238
193
303
291
215
270
165
215
178
227
329
245
282
173
270
175
235
192
172
253
221
288
121
240
157
322
173
256
114
212
214
268
266
196
200
266
193
227
198
283
233
235
171
213
222
139
262
291
220
258
230
201
237
272
234
260
175
223
139
206
192
199
164
192
273
211
315
180
257
339
219
228
237
224
281
185
271
114
192
248
347
303
212
210
202
256
234
173
245
198
223
197
244
228
267
174
206
270
166
165
198
227
114
195
277
261
188
270
149
227
236
235
270
290
290
156
165
302
217
161
227
191
259
214
223
236
297
233
168
258
235
251
157
178
260
191
241
189
226
158
277
222
220
211
376
248
183
236
151
251
276
204
239
261
156
256
277
234
227
214
210
219
241
239
229
239
169
210
192
233
214
269
217
170
210
257
220
235
218
243
276
251
251
306
166
207
184
245
180
181
234
183
240
213
191
293
320
204
157
253
236
247
253
340
265
244
223
186
251
195
215
196
309
259
253
204
281
224
247
259
234
258
227
256
265
242
167
149
299
210
268
255
203
233
180
221
298
303
146
250
207
336
170
289
224
209
289
258
265
189
177
253
273
195
241
261
162
264
360
212
191
214
193
252
191
142
287
230
213
259
126
279
196
122
157
179
198
214
200
237
277
152
221
233
292
189
207
326
231
249
223
284
195
212
171
139
245
344
246
274
221
208
170
193
208
224
162
210
204
298
236
286
175
217
182
296
273
241
251
157
196
223
254
244
314
202
232
175
210
275
254
214
236
208
190
271
177
108
188
285
243
153
311
151
183
176
245
222
229
191
171
228
156
201
161
300
214
227
273
236
253
160
206
241
265
195
227
205
248
259
174
253
243
236
213
182
266
286
152
168
273
194
248
218
167
296
192
223
342
183
244
185
240
318
244
248
189
211
206
245
299
184
234
204
201
242
220
173
186
224
275
158
295
256
329
239
304
188
176
193
298
175
191
285
225
204
254
293
238
164
259
160
218
286
195
238
166
167
204
215
218
204
139
286
262
227
193
269
133
196
244
202
252
220
256
282
309
211
277
244
296
204
261
244
256
256
206
259
255
257
240
276
224
278
210
289
252
229
228
226
238
243
255
258
160
231
242
284
250
225
295
147
275
306
246
114
191
238
162
234
249
176
228
269
231
241
247
222
261
214
232
226
156
219
171
191
267
235
258
180
235
257
140
200
218
323
249
160
206
250
213
169
281
169
160
221
189
285
160
293
247
303
187
218
299
284
227
202
258
181
241
239
246
205
198
228
314
275
261
149
227
256
232
270
222
220
209
253
174
277
253
244
280
338
227
288
170
258
196
230
160
214
288
264
213
257
275
270
309
273
212
213
276
230
307
173
183
221
262
182
203
199
210
167
272
114
208
172
277
158
264
255
206
179
152
156
298
232
192
179
207
236
260
160
197
204
170
229
270
259
279
176
201
181
252
174
173
246
206
274
213
217
272
264
244
227
226
216
279
231
156
228
226
236
294
216
242
181
220
184
209
177
198
257
212
178
256
170
252
202
261
213
288
244
210
200
265
191
176
211
222
139
264
222
216
204
158
190
184
273
215
191
130
186
152
212
253
219
292
273
212
219
184
234
258
152
354
250
182
206
209
227
246
180
255
228
151
231
191
259
184
248
232
241
228
210
276
231
211
190
221
173
274
227
240
145
178
181
220
269
256
205
232
187
190
248
337
205
234
232
196
219
244
257
178
180
288
226
304
220
283
277
181
229
311
242
196
234
176
204
281
359
232
235
181
291
186
192
257
291
258
250
213
114
179
172
152
198
173
234
218
198
216
263
179
207
210
277
180
305
237
185
266
307
231
156
288
199
275
278
255
305
228
223
167
116
318
173
206
254
234
234
198
229
229
211
301
213
253
270
282
250
207
238
339
209
246
239
181
201
246
198
196
221
270
234
304
185
236
214
256
199
223
194
214
189
228
235
238
221
139
315
106
221
252
237
241
178
243
347
151
222
192
190
234
230
222
160
249
179
243
264
233
208
221
279
207
181
237
285
210
262
271
229
309
271
220
185
192
251
184
215
244
234
141
235
322
244
173
253
245
159
276
195
212
219
257
156
238
208
193
134
208
208
126
223
239
237
209
223
221
277
228
198
227
173
170
144
174
223
158
198
114
243
208
249
215
258
198
194
265
306
271
222
106
256
264
263
299
217
213
243
243
106
224
253
227
205
213
199
149
250
152
254
159
205
204
183
176
273
247
220
159
188
188
246
156
219
180
309
222
202
205
271
208
309
213
252
297
218
247
225
238
234
321
288
284
260
176
204
192
255
219
198
179
234
195
204
220
231
170
212
185
214
336
290
304
206
210
244
235
355
250
240
292
251
165
227
311
173
180
261
253
291
221
126
304
218
181
152
232
206
267
260
277
192
191
197
203
174
292
273
281
229
243
271
264
206
215
159
263
201
288
261
244
233
254
170
222
253
222
319
172
219
206
228
240
202
230
228
221
181
283
266
245
182
226
229
121
198
221
270
224
265
170
198
206
203
205
191
255
214
255
254
194
279
230
233
245
256
174
234
174
214
231
247
168
203
157
240
114
263
278
266
241
168
180
252
259
292
203
250
248
156
363
274
261
214
269
202
183
262
173
209
284
170
114
155
222
263
126
233
234
149
238
282
182
324
210
198
222
199
315
205
218
214
202
211
230
202
230
187
315
222
271
174
312
221
267
167
151
222
220
215
237
249
145
202
234
207
162
197
235
234
227
252
227
320
283
260
286
171
225
205
257
208
234
246
231
223
174
257
300
209
300
213
261
178
162
228
257
236
247
211
200
306
207
270
170
180
198
204
189
170
158
299
232
212
222
297
263
236
275
179
234
293
149
272
167
271
213
176
216
237
139
246
178
193
219
242
315
134
161
191
181
218
130
268
244
245
206
247
180
151
278
194
235
275
260
238
235
234
168
186
240
233
278
219
228
175
191
198
256
202
139
227
207
266
222
273
203
227
229
269
265
188
242
204
263
234
221
265
252
237
245
215
191
271
195
278
221
273
230
248
295
158
272
251
194
246
192
192
218
161
263
176
230
170
205
310
208
178
179
200
239
297
217
145
253
199
179
162
287
114
281
231
193
196
211
208
281
254
208
170
230
181
312
222
204
294
250
229
244
192
330
191
222
203
253
255
215
261
177
224
253
156
258
211
231
206
180
295
233
241
214
213
228
193
268
266
241
259
247
307
114
259
184
301
170
191
254
230
241
286
250
233
174
237
193
189
218
195
201
191
203
275
199
247
282
262
206
277
170
207
206
237
245
328
217
155
266
261
198
197
304
219
173
172
164
235
168
165
302
203
126
225
184
254
215
235
249
218
192
186
261
257
194
231
201
114
219
240
160
175
198
223
250
195
257
213
179
249
278
307
259
180
212
225
244
214
173
181
232
258
199
300
202
195
260
192
250
234
264
181
259
207
227
250
238
169
209
240
238
262
207
235
282
256
290
250
228
219
198
230
214
180
322
271
184
238
231
139
172
191
218
210
173
227
173
251
271
254
295
204
319
180
211
237
182
114
146
211
254
249
299
175
238
212
245
215
192
156
247
243
255
198
266
129
214
215
225
281
233
198
106
258
265
229
192
226
267
175
199
212
205
174
154
220
297
234
243
242
271
247
256
262
271
260
264
226
190
214
174
241
237
148
239
277
208
300
212
194
279
242
129
279
252
187
239
182
281
252
215
198
259
235
276
167
154
227
200
241
239
180
249
217
242
212
192
180
239
289
235
240
188
199
186
133
213
212
172
185
189
240
234
312
200
193
182
233
194
229
313
242
170
152
156
180
189
249
170
189
156
194
188
264
247
165
265
256
213
179
273
265
216
268
286
236
228
231
219
294
245
232
309
229
287
288
210
166
227
259
241
328
197
266
227
152
202
267
244
226
215
230
106
190
215
188
201
196
251
191
261
261
267
177
228
233
175
185
188
175
187
233
269
173
166
263
233
298
230
189
207
204
219
188
217
224
199
255
200
144
246
265
229
195
189
222
201
347
264
180
199
253
173
318
286
206
194
171
219
185
175
250
203
272
249
262
218
192
271
188
152
193
338
257
295
158
200
220
234
266
249
312
216
216
220
286
198
195
341
232
226
225
249
175
293
275
169
190
234
197
206
267
235
181
277
233
296
212
214
206
153
186
219
192
201
191
295
215
189
226
181
249
223
108
187
268
160
219
114
209
282
172
219
208
178
182
199
192
229
176
188
161
189
288
181
196
289
212
155
219
235
246
305
202
241
257
225
213
229
219
220
218
313
210
223
211
231
246
182
199
223
209
216
220
299
313
255
178
184
262
164
276
158
193
215
288
156
114
292
263
223
256
292
265
183
250
227
181
278
162
222
321
203
195
285
242
206
185
263
278
198
148
156
288
180
274
238
165
193
114
232
200
282
240
275
265
192
309
208
234
207
204
229
283
216
247
281
204
250
261
223
175
233
281
238
195
266
236
205
254
253
171
240
130
224
237
250
189
184
265
243
218
241
291
228
224
211
286
204
227
220
187
289
158
232
158
294
266
194
243
264
245
273
145
214
240
264
195
284
248
235
272
236
276
232
217
175
225
194
197
210
306
236
261
251
227
262
246
182
180
205
210
249
198
252
198
194
238
183
250
287
202
252
218
203
244
209
245
279
195
200
255
207
253
227
266
210
262
218
175
180
222
251
188
300
294
262
178
272
250
230
145
212
167
189
173
197
224
214
218
262
264
244
175
195
179
272
253
246
279
234
226
207
272
260
235
244
187
160
247
147
226
189
273
296
232
233
224
252
290
233
239
197
219
141
215
200
227
160
271
201
225
174
186
157
213
194
249
262
210
161
251
152
224
207
269
225
242
114
233
231
233
254
281
164
229
250
253
198
184
213
130
318
195
238
309
220
288
232
253
293
209
114
243
181
264
208
230
253
181
202
241
248
181
203
221
233
246
173
175
169
238
241
225
176
213
206
223
209
207
224
214
215
181
114
215
251
334
287
139
228
301
244
197
191
178
210
209
200
256
251
148
234
156
160
245
252
219
237
172
172
200
227
271
167
232
250
269
229
164
114
204
227
279
239
185
211
204
196
207
222
251
154
235
268
278
232
266
216
181
291
209
181
280
265
225
227
272
191
175
210
237
212
256
247
226
298
224
250
283
248
251
214
196
152
282
217
152
215
219
201
227
166
184
230
260
222
208
257
228
252
216
238
178
175
317
172
195
130
296
146
255
202
228
256
177
235
215
198
188
114
242
248
208
152
170
284
114
184
223
255
348
234
197
240
258
264
189
188
193
274
271
247
272
189
158
232
213
251
265
192
287
274
272
268
188
251
252
257
168
225
195
250
176
200
251
218
202
275
292
224
234
258
221
200
239
269
178
229
176
322
259
221
196
303
180
233
223
284
274
204
212
201
207
217
228
106
200
222
308
283
178
203
202
225
168
241
194
181
222
156
249
197
262
265
184
241
188
267
181
245
297
229
203
288
228
227
178
256
291
178
156
175
192
266
196
194
206
152
214
169
181
255
276
264
197
146
173
162
201
231
161
211
295
208
210
245
229
249
264
287
270
231
191
224
183
254
226
170
200
256
236
145
203
213
334
189
238
225
200
239
157
197
247
206
194
243
250
215
174
178
223
243
239
238
181
257
189
284
249
222
217
152
248
309
298
158
182
202
195
231
274
221
208
305
232
356
285
220
236
206
256
287
226
178
226
230
220
235
238
210
228
279
220
147
198
270
218
234
227
276
239
215
307
216
237
367
220
244
199
275
227
283
158
296
206
234
158
192
227
191
174
154
222
221
217
256
202
285
253
258
288
173
220
212
203
246
215
254
211
206
231
257
217
160
198
208
198
219
208
209
266
205
248
114
247
242
139
179
178
149
173
191
311
270
195
196
175
240
186
202
262
267
235
219
274
174
236
139
257
222
114
290
230
234
240
155
231
108
175
291
129
180
185
237
173
251
243
175
153
236
213
239
262
168
218
226
234
296
268
267
213
211
240
266
175
208
296
218
203
217
333
209
207
323
280
242
269
205
158
300
237
325
206
229
246
198
167
192
217
159
281
240
211
228
303
208
216
160
243
293
271
272
165
211
292
258
231
263
246
114
243
262
183
198
278
206
177
204
230
264
271
320
271
264
247
275
233
248
220
326
221
301
198
304
278
354
319
297
250
190
220
266
206
243
283
178
296
185
230
242
146
241
175
317
330
230
170
228
224
289
276
222
162
130
246
126
193
206
257
238
219
207
268
178
244
241
239
167
265
251
211
250
291
147
237
222
245
230
204
205
239
156
232
239
225
221
255
198
173
279
221
206
189
216
307
207
209
222
222
196
179
300
151
202
222
231
220
311
236
287
192
247
233
292
182
192
224
295
182
209
220
231
241
238
279
275
178
297
241
245
250
229
162
232
222
289
273
211
215
188
194
172
164
169
221
156
207
226
225
186
192
181
295
175
154
229
178
196
248
232
188
207
227
175
247
193
195
267
220
198
225
152
290
290
243
274
178
236
249
190
274
211
232
233
202
187
255
263
217
183
213
149
203
188
269
168
178
205
167
208
239
192
229
187
260
286
208
215
303
199
273
171
235
238
221
160
296
262
247
233
253
205
175
287
304
232
196
278
289
262
139
152
197
201
257
190
232
351
193
159
296
188
272
251
280
177
246
205
177
311
162
280
181
202
235
231
257
151
210
163
202
197
250
162
214
232
290
250
261
186
204
243
174
222
209
178
126
299
222
262
211
267
284
160
263
269
233
225
204
215
240
145
347
243
164
229
271
284
219
191
285
251
187
283
130
265
304
280
212
278
207
211
251
184
271
297
231
202
286
245
258
266
216
199
328
196
246
218
170
234
276
288
267
200
165
233
178
174
310
167
200
206
244
252
210
219
215
314
226
263
208
227
150
195
290
198
182
216
242
160
126
256
241
170
234
198
224
285
221
264
247
163
219
251
213
202
184
238
193
235
169
198
241
160
196
244
267
183
202
235
248
262
215
186
284
226
311
169
139
284
268
176
243
245
210
174
209
266
208
216
224
303
184
247
191
274
225
175
260
270
322
251
256
331
238
204
197
278
261
193
317
222
194
243
219
313
294
192
189
252
322
220
283
268
188
271
145
217
241
247
145
238
277
187
226
220
228
273
222
189
231
186
283
275
212
128
248
213
270
161
240
197
261
212
199
265
165
327
194
183
276
218
277
208
213
171
215
283
185
214
221
255
207
266
179
295
184
242
268
223
272
214
176
246
284
246
240
193
170
232
263
217
152
199
276
156
178
223
219
223
228
310
261
312
216
295
244
253
173
169
237
206
158
255
160
201
253
157
253
196
181
194
221
281
161
235
187
243
182
214
231
164
227
173
148
226
267
245
340
273
175
302
204
222
222
198
358
245
221
246
193
294
263
219
298
181
207
251
219
279
193
205
178
156
167
200
241
195
188
306
206
234
266
189
145
218
237
214
274
214
235
190
297
220
205
308
264
239
235
182
237
190
174
263
302
201
210
203
193
215
201
323
225
200
252
168
231
260
251
317
179
148
170
192
225
180
126
220
317
209
286
252
271
272
114
294
281
291
309
285
200
186
187
238
244
246
276
170
324
257
144
181
139
155
198
186
224
270
237
262
188
243
249
327
176
331
189
114
223
203
163
172
283
161
264
286
207
195
252
223
152
298
258
219
212
315
251
158
232
184
181
322
246
211
199
213
210
288
243
185
270
167
220
252
220
220
279
340
269
169
175
349
275
259
313
161
260
252
221
141
195
179
262
237
284
232
237
276
170
229
156
250
283
261
224
181
242
191
196
198
222
245
194
175
215
217
206
154
209
176
288
241
204
232
173
285
215
272
218
114
233
188
278
160
247
147
266
156
227
193
222
257
243
214
263
243
179
282
229
223
305
207
209
230
269
278
242
243
206
226
179
233
198
211
196
225
318
219
166
213
245
192
237
177
212
289
114
253
170
311
253
267
219
226
232
116
238
195
293
195
180
204
231
178
259
182
261
198
203
235
295
210
251
262
216
205
205
237
338
161
213
236
180
245
252
240
220
239
204
260
241
276
212
199
184
317
240
187
276
211
238
318
189
160
230
248
234
254
180
167
205
289
268
206
197
114
168
181
233
330
257
222
178
208
232
191
165
288
269
290
234
284
180
268
222
211
192
279
219
255
242
204
268
224
259
218
276
178
229
193
196
240
222
266
208
204
264
236
177
266
169
224
214
199
271
188
200
168
189
283
203
185
213
160
167
181
277
276
219
176
193
160
266
250
162
224
261
151
209
165
235
360
274
239
223
257
220
195
211
235
233
255
315
249
211
195
286
282
237
235
276
250
230
191
351
188
261
219
263
249
243
289
227
260
179
178
240
245
196
167
279
262
160
202
294
277
233
203
172
219
166
160
267
198
154
257
274
181
239
197
224
256
220
170
252
187
249
235
194
213
193
292
250
246
214
175
209
264
214
201
204
225
251
257
235
238
292
203
211
201
233
184
234
174
156
215
177
177
195
232
160
241
269
195
208
239
197
314
213
205
217
234
232
207
275
121
272
189
234
241
253
175
245
244
245
191
236
243
173
187
244
227
208
180
280
224
248
344
266
250
218
250
253
179
218
216
175
200
214
245
218
246
149
325
270
171
252
238
222
160
181
191
235
287
186
188
209
213
277
317
292
221
276
204
178
304
213
252
309
256
269
308
210
228
262
198
283
324
260
244
246
267
213
179
229
227
263
196
204
208
226
294
190
208
213
218
214
248
241
252
225
173
177
175
285
158
248
164
282
260
160
250
228
184
188
232
279
260
229
277
198
209
246
266
254
243
187
198
162
242
181
170
252
164
215
250
254
173
367
234
195
224
365
297
151
156
308
273
206
184
190
226
270
236
161
173
269
215
238
239
263
173
187
190
183
145
235
184
252
267
170
230
222
270
222
200
167
170
183
114
253
246
331
194
257
212
293
253
257
233
251
217
247
166
225
258
139
274
178
259
306
199
170
191
203
175
201
215
285
276
223
381
226
251
192
133
160
172
221
253
237
156
215
224
223
317
144
259
273
179
256
245
230
197
193
220
324
175
174
245
197
177
194
215
221
194
152
198
235
151
269
202
187
249
226
183
192
217
219
281
196
249
279
309
191
308
257
201
182
179
223
197
193
152
231
170
186
211
183
221
226
199
249
247
231
249
205
208
156
300
333
175
219
240
156
249
195
269
210
184
229
167
291
246
220
203
291
253
235
173
164
292
285
214
214
198
266
170
162
158
226
134
187
175
251
340
203
240
253
237
230
193
306
233
305
223
269
316
226
170
290
161
184
192
210
211
298
265
220
199
121
262
214
208
216
204
310
121
177
215
199
243
211
203
192
206
244
207
169
283
254
184
218
212
225
216
201
322
174
151
240
223
234
185
246
242
223
169
269
208
202
190
220
114
230
222
175
182
146
222
231
146
239
287
279
266
209
204
239
261
201
241
259
242
161
207
202
227
231
197
266
222
263
221
219
151
182
267
172
182
167
205
273
245
260
188
232
258
232
203
286
245
297
185
170
218
250
158
205
213
245
151
214
240
244
238
271
153
198
280
234
160
200
250
190
133
181
306
239
210
273
216
195
214
238
200
235
222
191
150
209
278
230
208
245
220
179
257
238
265
200
250
187
244
206
195
126
231
263
212
206
211
232
250
162
160
180
166
268
348
178
240
199
202
275
219
261
257
259
164
249
192
230
198
200
192
191
225
152
183
333
195
292
195
253
270
241
217
192
271
254
255
248
229
207
178
171
213
188
181
290
211
193
169
284
278
178
207
210
247
184
174
209
307
217
242
184
163
227
233
287
195
207
287
262
277
298
220
276
176
166
198
186
219
174
208
170
331
193
193
272
287
170
230
264
181
291
233
158
233
206
279
255
196
165
243
212
210
220
270
262
269
221
216
229
252
256
268
170
225
242
238
195
290
203
230
208
240
254
199
264
323
198
250
182
185
254
188
247
234
156
229
198
235
198
273
214
106
152
235
149
200
232
206
198
175
129
251
209
169
195
235
146
186
184
225
215
192
170
187
175
265
269
184
221
287
205
173
257
208
227
190
258
220
239
161
230
235
173
160
228
174
297
259
185
162
170
114
235
184
269
176
245
219
223
272
222
180
216
220
159
227
267
200
181
158
186
202
244
158
281
257
196
209
185
202
235
139
190
231
300
258
219
176
229
241
251
175
170
272
165
328
165
230
291
242
308
185
231
202
294
280
271
216
225
258
197
249
197
233
205
205
228
252
226
291
306
223
256
255
229
173
190
220
290
289
269
230
218
167
177
263
245
211
172
224
207
246
167
198
168
191
229
295
201
170
275
238
239
280
180
225
315
214
203
223
248
196
275
324
326
214
201
209
214
210
255
250
350
239
240
209
270
122
277
195
298
266
275
304
231
258
268
304
241
214
241
287
171
311
191
227
271
178
207
238
284
211
193
178
152
226
244
232
273
244
272
289
225
229
208
311
232
213
229
208
231
238
156
160
167
253
264
206
227
228
233
297
244
243
233
255
281
219
198
270
296
252
241
191
225
223
267
196
244
249
246
252
291
244
354
195
223
156
226
190
188
216
221
233
225
169
237
249
270
249
241
237
179
256
192
191
235
160
224
280
181
300
194
215
223
230
205
223
213
257
210
239
251
284
274
182
218
255
228
267
180
171
212
312
236
217
268
156
231
241
251
326
208
157
221
176
217
189
216
201
203
341
241
251
196
174
244
266
244
238
154
184
241
279
217
284
241
248
164
202
301
268
243
261
223
241
322
222
204
206
259
232
232
203
240
208
180
261
239
264
214
215
178
243
192
198
235
187
150
251
205
241
238
218
191
237
217
236
258
188
198
160
203
154
172
201
215
293
252
222
260
203
262
175
247
214
186
238
191
231
215
238
222
239
251
214
181
271
191
218
320
316
258
203
275
255
247
235
262
165
229
224
258
192
218
270
196
206
317
231
263
175
176
133
282
228
229
265
237
217
338
239
214
202
282
204
195
230
255
267
209
244
224
196
260
355
306
231
250
175
230
253
213
253
288
219
268
240
173
251
225
206
192
217
212
246
245
214
231
253
258
238
232
245
139
228
220
171
261
236
232
266
232
206
220
225
217
178
238
179
185
225
316
160
209
235
271
148
203
275
177
166
247
232
299
233
240
161
276
257
178
192
253
172
212
339
252
198
221
161
217
268
230
254
212
245
214
244
239
200
219
195
209
205
214
177
239
183
348
233
269
211
255
219
216
233
175
246
106
192
215
284
318
185
264
245
320
241
133
276
318
209
216
173
263
231
183
158
228
219
249
225
208
207
228
216
241
220
179
198
257
232
164
253
289
181
182
295
239
239
263
166
307
220
285
217
264
192
234
206
209
256
221
378
227
238
174
212
223
252
201
206
218
200
144
220
292
191
244
193
209
200
192
248
214
189
216
244
232
178
229
230
233
286
175
114
216
237
158
298
208
214
231
178
189
184
173
213
231
114
214
152
241
251
177
270
232
259
239
241
257
257
279
201
214
208
261
184
217
277
185
223
171
187
199
265
294
157
114
175
235
219
220
174
218
284
170
241
162
199
333
234
247
276
148
254
274
280
243
263
190
237
226
312
227
235
223
181
242
251
186
293
217
249
162
209
283
169
238
217
267
202
183
226
269
210
246
192
262
227
220
225
189
201
247
254
186
134
258
209
250
193
223
209
211
221
151
181
256
196
187
246
169
255
158
249
241
214
198
266
114
184
227
263
188
196
245
247
233
188
239
258
228
248
261
259
229
230
210
209
211
197
170
174
296
214
265
299
159
315
232
211
272
178
192
277
251
220
182
234
126
262
255
255
254
277
290
249
239
196
247
325
190
214
255
198
293
198
227
238
126
247
257
294
269
203
242
175
165
114
276
195
243
288
147
237
226
219
216
269
231
186
213
311
260
231
275
255
281
239
174
251
174
258
200
197
233
260
220
264
214
272
219
203
227
209
208
214
229
239
165
250
289
253
270
256
174
272
215
287
196
205
192
285
168
245
225
240
280
156
213
223
244
300
239
294
189
227
202
199
185
258
213
203
185
195
178
244
187
192
198
215
267
165
317
204
269
228
203
346
214
218
231
213
244
225
210
156
162
230
193
205
229
292
219
345
235
211
203
208
224
293
188
176
283
235
244
202
300
295
315
196
264
307
305
248
193
337
176
277
247
251
196
185
249
252
211
158
198
286
218
182
219
266
230
260
203
208
200
322
270
290
227
184
229
241
209
276
246
244
227
309
258
278
257
245
316
209
200
195
225
164
320
327
201
225
227
305
271
183
227
192
328
240
298
235
235
218
214
288
175
236
296
249
185
139
156
157
130
147
231
241
246
249
213
234
186
256
145
194
202
244
156
243
164
280
253
282
214
234
195
204
160
262
222
188
328
262
231
265
262
218
253
285
307
235
301
246
240
291
261
251
237
262
236
312
208
255
151
149
277
182
192
229
161
151
279
245
243
202
191
157
207
257
163
237
177
201
332
221
192
175
207
173
210
231
232
240
207
234
225
269
176
241
220
210
265
180
238
213
152
160
211
231
280
210
259
197
273
235
221
271
253
205
248
224
202
201
239
199
162
201
160
238
213
244
189
291
257
156
196
217
253
121
256
367
250
209
196
171
197
186
222
158
266
178
190
234
245
271
192
262
190
196
309
202
235
259
225
272
192
271
249
215
296
177
175
175
108
331
245
229
213
197
262
126
242
292
193
215
219
234
183
312
247
225
227
211
154
226
152
165
238
163
292
226
320
187
280
277
228
298
209
249
198
226
234
285
295
170
247
220
171
193
139
203
235
263
212
232
280
193
265
262
244
215
145
228
214
195
274
205
270
269
212
188
320
207
277
236
198
252
240
173
160
229
185
205
245
266
223
198
247
168
144
210
254
187
223
177
288
277
260
237
222
244
213
237
161
273
216
220
172
170
232
198
286
196
215
238
259
224
180
207
251
225
263
200
243
264
213
114
245
295
169
229
209
264
200
283
220
154
291
178
313
184
168
191
212
196
246
168
214
245
180
229
200
325
195
183
239
260
282
146
219
224
166
206
271
228
221
188
232
208
183
253
235
253
170
219
248
175
240
237
192
151
145
164
207
181
222
218
191
252
233
214
175
210
179
186
244
190
225
270
239
168
223
363
278
227
247
206
235
200
208
288
247
158
235
291
270
202
200
231
206
224
180
156
157
163
228
202
235
284
220
210
170
204
281
274
231
295
214
211
225
278
209
181
217
264
170
195
164
222
206
252
253
148
275
170
200
196
202
139
203
226
229
212
191
241
179
317
323
234
264
231
179
271
242
193
252
251
208
197
183
253
206
219
209
267
257
231
175
224
205
236
212
191
283
253
312
175
162
254
161
158
176
219
206
193
227
199
201
253
232
243
173
229
190
220
265
318
161
237
221
265
278
200
280
184
220
314
279
226
108
201
232
209
256
240
186
178
223
249
163
207
163
149
229
174
234
192
216
226
207
242
372
197
208
237
300
341
277
224
244
283
191
270
242
246
206
114
224
278
197
188
218
148
147
270
210
153
213
213
228
236
250
263
229
168
215
220
216
193
246
205
270
178
261
222
235
258
152
242
202
293
225
229
198
240
268
200
168
243
366
251
242
227
337
285
234
310
139
230
344
328
207
192
261
213
205
194
288
242
153
245
221
156
211
230
200
240
231
197
148
204
194
204
227
170
251
183
259
222
208
310
253
262
186
275
303
205
234
222
302
254
222
239
181
148
192
210
198
200
248
208
217
152
181
244
252
247
283
181
285
220
202
236
176
217
194
217
212
200
275
233
297
175
197
224
210
172
203
226
213
174
222
257
193
212
195
268
270
264
210
152
196
192
238
246
265
240
295
235
233
218
285
209
273
171
178
223
189
192
279
317
222
217
259
219
244
226
268
179
243
171
280
189
279
221
172
221
212
193
250
253
226
285
252
139
263
227
199
289
292
168
211
259
218
230
228
241
197
192
169
241
199
156
333
167
207
247
188
166
252
220
189
280
221
278
202
176
330
200
270
201
193
182
208
246
233
234
243
197
160
235
186
223
165
318
264
250
222
195
259
246
238
271
272
235
309
182
231
250
234
207
201
168
193
255
199
255
209
256
235
219
165
144
253
160
169
212
301
220
235
238
189
233
234
159
229
194
200
230
215
170
144
292
273
220
238
226
295
286
147
223
243
181
222
271
207
188
315
262
269
226
238
212
148
211
245
211
290
183
229
235
170
263
204
233
199
233
267
213
231
262
192
191
172
232
220
180
200
267
214
222
229
291
282
248
288
156
145
205
271
232
263
199
280
209
235
220
256
288
198
192
204
252
205
227
178
165
235
178
311
207
231
208
272
265
206
203
312
198
164
246
222
206
294
187
224
310
233
234
226
172
204
210
187
211
247
116
266
291
248
321
247
241
221
200
229
233
334
274
245
249
213
279
170
304
253
201
260
201
208
267
250
238
234
241
256
268
225
171
219
218
160
186
314
234
216
244
186
209
129
219
183
274
234
230
241
178
180
215
242
183
248
297
180
178
296
207
206
258
224
272
230
279
191
212
219
264
290
313
291
341
249
203
274
183
166
172
225
195
232
317
261
278
170
256
160
280
221
194
267
212
227
328
222
221
268
200
240
306
215
240
168
246
205
214
264
261
207
243
198
144
182
164
210
228
208
239
218
114
279
213
240
239
302
129
253
297
236
229
270
287
114
223
176
300
208
259
173
223
239
206
201
195
219
227
229
309
163
299
198
192
180
234
305
160
248
305
186
155
126
188
251
212
245
213
248
175
223
257
215
251
227
185
219
220
268
198
195
247
182
238
194
225
235
286
232
314
152
108
244
228
289
264
160
209
207
239
232
192
188
210
191
230
196
206
206
294
280
254
205
206
277
263
273
254
272
181
126
225
214
249
121
212
286
250
180
161
322
265
239
257
200
114
229
221
230
200
230
264
184
267
193
272
236
158
186
291
289
273
225
314
192
226
217
239
247
192
266
276
218
195
170
223
170
267
217
218
236
237
220
246
259
227
263
241
216
196
219
139
263
262
263
174
220
245
218
199
186
280
274
238
178
237
170
168
249
276
260
114
302
268
280
201
257
266
184
233
225
169
192
201
219
192
262
245
176
268
225
228
165
210
202
218
206
227
216
227
300
230
235
177
204
218
188
303
145
256
305
225
320
168
267
243
241
177
133
306
170
230
186
242
232
197
165
274
227
288
227
181
269
284
235
208
270
215
114
202
214
206
277
146
181
235
192
277
191
295
244
209
225
186
175
291
191
233
193
233
179
235
213
301
297
278
183
106
183
197
158
204
232
228
251
200
169
240
188
242
200
211
216
210
293
193
144
233
241
222
152
186
180
258
208
185
213
263
274
226
227
268
173
257
209
277
195
247
344
253
176
231
162
251
243
160
184
295
239
226
287
255
178
195
200
186
193
210
185
284
233
181
239
238
172
277
301
212
298
145
232
244
236
181
167
203
324
250
285
222
218
204
234
198
270
229
186
173
262
308
248
223
225
247
254
212
252
198
213
206
227
274
258
202
334
275
213
289
223
281
223
211
176
282
230
176
284
258
188
211
249
248
289
212
193
234
215
273
217
258
217
168
254
218
306
306
242
277
192
301
174
283
204
258
252
265
205
191
189
261
196
186
137
192
198
159
211
192
256
232
186
196
174
186
257
219
238
114
223
260
170
235
239
236
200
167
258
199
249
236
220
310
192
281
194
243
231
126
218
248
191
211
183
156
230
368
196
198
160
269
262
188
249
296
226
216
215
198
220
214
213
238
248
146
244
270
228
275
225
226
224
227
285
225
248
177
166
190
168
249
201
279
204
209
169
225
302
200
237
224
214
307
239
169
129
188
175
223
210
247
315
238
306
214
193
165
238
243
266
215
248
208
231
114
214
184
175
235
158
177
165
300
244
114
241
228
197
216
213
268
198
323
252
161
300
177
233
261
244
201
293
144
281
291
192
263
233
284
210
180
284
200
205
249
245
260
262
331
273
189
256
229
224
228
238
230
179
154
197
267
287
205
192
209
206
182
265
240
317
250
309
220
196
223
224
299
238
204
141
294
253
291
268
198
203
185
166
252
204
187
146
288
296
193
219
191
271
251
233
198
225
343
231
286
208
139
222
253
209
281
151
181
340
185
232
160
250
209
219
213
265
230
229
241
200
258
287
240
287
156
182
235
235
259
158
253
224
209
253
237
229
252
234
173
265
275
246
183
283
219
223
232
233
191
206
210
202
231
215
287
205
220
215
235
212
261
208
256
187
215
211
188
209
190
204
215
158
189
214
251
295
251
315
303
205
154
273
273
242
257
218
184
189
178
284
245
222
204
207
204
194
265
154
179
267
202
209
228
205
160
246
194
227
202
195
227
204
250
216
260
294
202
193
242
164
213
221
192
181
225
245
239
279
175
268
234
201
235
260
174
236
247
260
128
232
290
220
179
310
162
205
203
226
238
219
245
220
279
292
296
258
287
287
279
166
126
227
185
200
198
262
239
254
250
196
224
262
204
239
185
241
178
193
251
198
144
229
181
133
114
278
251
271
225
306
250
215
126
222
205
264
235
283
227
235
219
207
253
190
310
197
215
258
159
196
222
227
202
215
211
181
274
187
205
306
256
266
152
143
200
241
219
251
273
207
181
284
295
210
250
205
269
271
209
226
251
208
174
279
192
271
196
262
152
163
191
273
291
238
215
220
236
240
261
219
248
179
173
196
230
262
217
266
212
191
237
191
245
219
234
223
188
210
293
236
201
223
255
149
196
194
219
277
203
114
198
210
206
249
160
190
222
114
238
200
173
114
217
263
271
232
233
261
253
273
239
129
173
203
248
271
178
198
235
257
116
240
216
228
250
224
261
211
157
316
210
178
261
265
255
145
231
276
275
194
180
243
144
191
128
193
218
225
194
282
188
238
191
198
266
239
273
211
203
256
251
230
198
193
254
204
244
260
198
247
288
251
259
244
216
193
323
278
187
337
176
151
214
305
308
172
280
239
183
214
199
211
209
285
283
217
204
221
174
177
285
189
239
282
198
175
321
227
239
202
236
262
217
327
246
234
234
256
176
238
162
178
239
244
256
236
170
237
224
279
291
258
191
189
228
241
289
278
190
176
256
286
174
167
217
212
178
268
241
252
206
236
327
218
323
249
197
251
189
221
268
114
160
236
151
202
173
178
209
215
197
276
186
114
263
256
293
207
204
208
211
230
263
226
175
254
173
218
217
174
230
246
221
156
269
165
216
302
216
173
254
305
114
231
193
267
168
174
276
232
152
147
296
133
246
266
210
178
269
285
208
241
246
239
247
273
130
207
310
318
218
180
231
198
153
225
187
255
164
160
270
186
243
313
241
227
193
195
239
197
114
170
359
212
214
215
139
273
244
264
217
230
219
218
255
184
246
236
247
310
199
193
211
189
225
222
177
234
248
282
224
205
217
261
237
295
349
292
256
227
170
323
241
213
160
236
213
243
146
244
126
208
248
253
184
194
189
203
214
189
254
260
181
228
249
152
207
293
267
170
196
233
198
257
253
167
201
257
251
192
218
148
227
211
186
248
245
320
170
191
244
252
179
212
206
255
175
260
256
255
224
215
186
285
201
211
202
197
233
116
233
276
214
276
265
281
234
296
230
169
237
114
129
201
178
177
252
216
203
203
226
259
316
139
187
354
303
250
224
205
224
265
270
173
243
162
305
180
148
210
170
306
215
178
259
225
251
229
229
188
233
229
233
248
192
286
235
213
294
354
309
262
209
236
222
308
182
145
210
207
288
222
181
212
198
170
130
129
255
188
203
237
262
154
165
220
320
249
205
210
270
238
244
219
233
121
145
186
192
215
243
193
193
268
231
252
235
242
238
239
247
233
164
156
201
209
258
126
232
228
180
210
205
175
144
258
326
215
212
223
213
222
224
283
209
237
176
229
294
211
235
159
172
213
215
218
191
208
235
263
161
168
201
254
175
319
214
189
206
174
192
223
218
170
255
240
240
248
247
158
193
210
215
182
199
275
170
243
199
210
280
208
277
215
288
232
273
202
224
214
242
212
205
291
163
181
144
186
178
188
293
139
230
381
206
114
201
196
235
314
222
195
223
143
220
298
252
248
200
195
257
231
234
138
210
278
232
314
250
146
261
228
294
238
242
159
238
182
307
179
246
248
194
201
239
239
262
260
227
175
226
270
258
251
231
247
152
212
284
234
198
158
193
236
193
207
300
177
314
140
221
229
197
177
204
126
234
250
236
225
198
172
239
192
194
306
277
149
244
220
193
237
300
280
202
146
276
108
218
222
214
197
281
176
176
232
171
196
166
246
329
159
157
267
203
215
226
187
206
230
186
241
114
252
172
175
251
240
177
175
206
230
207
209
281
305
180
260
262
235
170
192
198
244
128
162
147
221
248
158
225
263
247
179
209
191
208
200
218
202
206
293
268
230
290
204
243
252
238
262
247
214
220
173
213
177
280
185
181
190
282
121
108
224
281
229
271
245
222
318
237
191
193
237
254
234
210
218
308
255
172
259
222
194
201
240
324
204
232
251
200
219
284
223
243
227
291
173
189
167
174
252
245
304
248
156
254
192
248
232
249
248
260
213
231
210
314
195
278
279
290
263
168
212
254
207
207
221
260
222
196
241
324
222
214
255
169
197
232
226
272
227
241
170
294
236
188
169
260
259
176
188
237
180
143
178
114
231
238
211
196
166
322
341
214
260
209
216
169
151
197
225
184
155
200
252
181
260
293
247
239
199
188
279
231
181
195
252
280
157
256
242
210
217
289
315
281
279
191
309
232
243
174
219
267
256
139
196
233
240
201
250
249
277
245
214
211
179
198
204
247
261
158
256
239
253
309
287
169
267
184
200
176
236
304
319
256
216
252
201
246
311
206
166
255
283
185
270
192
215
172
281
275
180
229
174
286
181
350
193
183
274
300
210
234
190
228
229
291
300
219
214
258
197
229
245
200
178
151
218
232
161
195
252
147
243
209
203
182
280
235
235
292
293
260
173
174
192
217
308
223
222
261
229
247
228
208
231
239
230
196
221
185
209
221
217
223
277
285
203
173
212
241
220
207
280
210
322
200
209
273
258
213
210
219
234
212
212
114
237
229
203
228
220
144
177
170
265
280
173
139
194
257
177
247
276
218
181
193
270
247
152
277
215
226
224
235
205
198
161
246
239
218
230
218
163
200
189
243
146
175
274
197
181
231
208
232
165
215
286
184
191
227
172
182
196
225
211
139
280
207
243
233
179
183
217
239
213
208
294
147
301
223
203
189
211
174
206
238
306
181
247
182
222
219
238
261
171
256
246
323
251
280
272
213
114
180
250
267
203
169
246
279
197
274
180
232
172
224
168
228
230
255
243
228
203
280
207
173
276
196
200
272
126
223
187
234
116
272
242
335
246
181
211
202
160
299
241
202
206
222
241
261
252
315
229
226
156
201
201
287
209
151
198
239
292
230
240
241
195
248
161
269
261
223
220
257
178
234
248
193
212
260
232
170
245
222
276
279
180
197
186
247
170
238
223
156
292
170
170
264
235
208
260
191
196
271
211
263
250
168
208
151
210
254
241
166
287
184
175
154
195
257
265
248
240
233
126
291
234
218
207
309
257
253
196
169
170
233
248
151
194
229
216
161
262
207
183
280
259
214
274
160
114
268
239
221
214
166
171
264
174
191
228
145
250
222
183
208
180
200
241
285
192
261
259
225
256
248
227
220
257
241
216
295
334
267
179
205
247
240
258
254
187
204
246
229
182
228
200
241
245
230
221
214
229
203
170
145
230
239
223
191
244
181
206
234
215
253
213
181
196
205
275
239
247
208
193
252
228
199
149
238
226
243
206
209
213
229
209
273
301
219
225
333
219
272
232
306
220
192
180
266
271
272
238
206
165
177
200
157
330
210
219
178
274
358
166
231
267
222
187
242
207
244
243
194
170
286
269
274
269
262
198
259
166
217
222
268
239
232
282
226
246
170
151
171
212
198
170
175
194
106
275
232
246
184
207
155
181
148
146
267
255
205
231
259
277
200
265
269
178
182
369
238
184
195
196
243
324
206
252
288
188
273
215
144
203
166
193
275
204
280
265
255
274
250
197
178
205
291
161
247
145
210
184
267
230
172
251
264
199
247
269
192
227
256
238
264
250
234
145
186
289
146
202
239
207
258
207
197
197
203
260
220
263
335
268
240
204
230
220
207
189
197
235
169
224
217
175
139
189
192
175
255
369
192
202
271
214
242
181
223
242
319
234
239
209
200
234
153
220
168
172
211
213
171
243
278
224
234
190
265
259
222
181
226
192
268
168
244
180
145
206
170
200
250
275
193
197
228
302
334
198
334
242
207
133
279
263
337
195
217
236
250
184
199
262
218
214
185
228
265
273
249
244
280
218
161
212
291
151
148
201
227
215
312
274
345
322
247
206
225
247
284
176
214
221
266
192
222
308
231
212
151
273
189
228
170
241
309
269
207
313
248
186
198
226
248
238
208
242
129
235
208
238
245
289
196
176
268
181
208
158
230
173
214
226
178
211
288
204
261
289
220
306
299
203
189
302
249
223
247
229
209
197
214
245
208
251
266
282
260
215
240
266
240
223
219
227
208
165
221
248
302
290
259
226
169
170
259
238
239
193
255
177
188
185
353
241
215
248
227
242
240
227
283
181
273
280
264
228
239
192
252
258
212
245
313
182
201
199
259
178
249
188
116
198
238
246
248
173
161
267
246
240
209
176
114
260
198
171
248
280
207
271
246
219
233
191
277
239
205
223
178
241
295
224
228
256
234
114
185
179
225
267
209
216
248
238
200
295
212
242
303
199
200
267
168
213
213
165
292
242
160
270
201
214
247
177
211
230
182
252
133
214
218
252
247
192
241
260
185
178
169
225
160
235
223
279
207
179
166
279
233
197
269
241
168
213
236
238
114
220
241
198
251
268
244
187
217
209
114
270
152
114
198
231
208
223
243
290
256
309
215
152
226
242
209
308
151
180
251
258
287
248
258
298
263
288
154
204
232
282
205
203
221
237
303
152
173
217
297
254
202
271
208
267
270
283
258
271
208
268
303
217
194
114
126
205
280
168
193
286
272
154
169
224
195
227
201
114
253
274
277
219
170
212
273
158
200
154
283
264
230
197
195
215
225
213
165
209
174
186
209
233
313
250
193
236
255
244
239
186
267
268
214
225
266
241
275
207
166
205
260
162
184
234
268
239
253
297
223
236
256
233
261
210
234
286
151
157
198
205
263
261
245
301
245
157
154
287
197
254
173
188
227
234
197
274
259
206
276
284
235
231
229
225
297
216
229
187
219
169
220
335
175
173
258
266
290
246
293
257
164
267
226
295
170
201
214
254
188
262
286
218
294
200
229
192
211
168
191
204
254
249
325
325
273
289
196
191
203
228
273
231
179
300
224
283
235
260
279
278
212
219
253
160
238
261
265
278
200
266
174
244
193
221
267
196
280
266
236
234
231
203
271
242
203
223
258
126
255
204
262
114
224
250
197
223
192
114
177
229
192
257
224
249
270
248
240
211
248
145
155
241
195
160
254
238
240
246
210
231
322
208
193
274
311
238
210
174
174
291
305
266
225
175
226
198
157
239
195
227
236
251
285
255
195
186
277
281
170
200
327
244
200
259
311
210
148
161
230
282
218
261
216
273
266
157
289
304
201
184
296
200
185
241
215
195
198
180
179
209
175
219
171
259
200
199
226
219
214
250
234
215
249
222
253
224
207
239
241
192
245
148
235
263
152
254
184
224
243
217
211
220
160
193
210
156
166
250
214
185
240
240
156
169
330
183
208
194
219
182
229
166
204
261
235
237
270
225
180
230
229
219
222
170
272
196
277
209
218
283
251
218
276
239
238
224
175
164
179
188
198
202
248
166
246
200
264
216
243
256
235
153
218
234
210
206
198
236
146
273
196
231
239
283
256
190
223
367
207
333
263
238
238
300
211
234
152
126
209
233
220
216
265
223
257
262
169
335
238
260
114
170
169
222
209
203
256
232
229
290
299
217
273
201
192
245
280
267
210
220
169
214
180
206
207
114
210
275
247
177
253
224
234
261
245
210
174
179
244
181
196
206
196
228
249
252
191
199
239
217
206
169
189
168
266
198
229
173
187
234
240
200
183
219
202
219
240
196
257
237
203
280
216
230
205
114
204
215
267
156
250
151
283
155
224
262
281
298
221
251
187
250
184
210
185
198
172
246
265
227
195
258
196
269
223
241
200
277
258
196
149
269
334
311
179
206
263
235
309
236
264
256
232
220
221
231
210
190
261
213
229
249
275
206
247
156
235
191
199
170
265
224
129
207
246
194
266
318
212
198
151
195
217
173
193
192
260
169
312
172
266
182
274
326
207
234
187
179
188
222
224
139
203
241
198
246
247
215
201
233
230
265
231
208
162
256
232
188
230
214
159
211
239
194
256
333
148
209
315
192
217
203
208
169
198
174
275
247
256
251
309
241
248
207
169
196
211
183
250
207
192
212
220
236
279
146
126
208
156
166
184
210
275
277
199
220
213
328
261
241
250
156
276
317
114
204
197
240
227
206
206
345
217
232
173
280
239
195
211
220
193
221
247
162
234
288
183
222
203
321
229
309
301
248
248
224
255
276
260
215
273
300
221
216
196
193
199
197
255
231
257
293
161
235
182
302
155
278
231
181
258
229
184
340
254
214
277
260
161
160
178
230
164
172
203
226
235
209
244
260
130
197
224
311
246
211
169
242
264
197
210
193
200
211
224
221
211
261
221
283
239
323
204
216
230
273
189
144
272
159
227
220
226
240
212
208
164
266
256
254
209
233
196
205
268
225
217
173
164
216
180
193
160
216
263
191
209
282
254
247
205
253
187
191
175
170
327
280
237
223
209
258
249
244
180
145
245
303
200
275
116
191
220
191
245
344
306
152
217
211
245
213
222
221
236
230
208
208
149
222
230
267
262
211
198
285
176
319
200
178
252
238
202
170
244
238
207
232
184
216
207
187
254
255
171
182
200
178
236
275
254
225
281
242
189
215
279
160
139
254
182
141
258
144
234
201
233
244
161
271
156
170
209
181
228
262
265
208
168
178
309
227
252
270
255
231
178
295
307
114
239
311
198
231
196
335
233
190
261
222
249
207
327
229
274
169
156
213
286
275
234
204
272
145
164
253
242
218
205
237
363
231
297
240
224
238
266
255
227
242
191
182
228
212
207
237
266
184
229
180
214
259
202
276
182
189
225
114
177
183
198
240
253
299
200
269
192
212
290
283
180
209
242
171
170
200
331
243
248
255
174
245
252
194
287
133
177
202
311
221
279
235
267
206
160
298
280
207
323
255
242
188
287
160
238
217
114
271
198
169
255
217
209
159
213
245
236
173
227
198
253
163
191
191
176
267
213
266
271
234
199
211
191
238
222
184
239
279
279
303
249
203
207
208
239
256
262
248
279
149
330
265
273
160
222
232
179
219
177
191
212
213
146
242
252
144
174
191
234
283
270
220
211
339
175
223
184
305
235
263
114
197
211
357
262
214
222
240
201
268
207
173
209
208
193
260
236
207
184
193
205
256
311
211
267
273
254
231
232
195
295
172
206
248
203
229
278
248
180
178
218
258
345
212
261
193
201
133
266
238
208
193
192
262
192
206
260
250
178
234
251
178
230
227
229
232
146
170
167
227
254
232
232
251
239
221
185
171
212
201
233
156
238
242
198
204
173
114
241
229
206
231
326
256
224
114
202
193
212
176
207
194
228
359
254
169
285
190
236
252
186
257
259
275
219
114
282
303
214
250
223
220
279
156
168
203
173
211
211
249
180
168
161
308
219
217
190
153
214
212
258
179
180
277
210
181
220
260
225
251
210
222
270
167
158
256
205
212
301
261
147
178
270
233
206
248
337
214
134
249
220
114
252
193
229
280
186
288
248
199
208
208
232
226
285
169
225
260
147
198
272
176
276
185
310
275
230
284
214
230
211
203
241
232
210
199
262
283
266
220
257
207
235
185
232
227
164
276
200
284
264
234
252
170
224
189
152
236
239
253
260
192
161
240
196
164
191
267
206
188
216
153
218
203
233
220
195
260
170
235
214
220
139
157
261
216
228
200
179
218
259
239
242
233
203
239
156
188
239
330
223
252
281
218
169
299
225
178
207
242
114
334
221
208
261
277
218
259
178
193
315
260
168
222
299
146
185
265
189
225
208
235
252
291
178
170
276
216
239
292
225
200
255
227
211
213
223
178
212
290
146
220
218
139
214
230
230
320
213
256
275
258
186
247
170
262
219
223
242
309
210
210
248
262
223
260
205
220
170
201
140
139
181
194
130
227
198
266
262
261
214
350
225
168
180
204
106
181
255
222
251
171
292
221
211
170
168
324
248
214
216
307
230
198
169
251
197
203
169
282
279
160
284
241
261
232
235
156
291
211
241
284
229
266
221
262
182
269
250
200
160
240
168
208
201
230
214
284
214
218
306
213
176
178
236
263
171
297
258
199
222
326
185
114
182
203
319
230
207
230
240
234
192
333
285
267
176
282
186
235
247
179
218
180
204
108
245
338
242
198
234
262
224
206
198
260
349
213
219
271
175
274
338
247
206
253
276
263
358
211
213
195
204
235
220
265
176
219
215
254
205
222
308
174
187
246
276
207
230
227
224
238
261
181
336
180
245
180
210
227
203
231
257
170
161
278
257
213
169
169
161
245
234
210
192
302
153
304
166
176
261
197
177
185
191
218
236
164
159
271
235
193
188
225
173
235
209
215
160
258
216
203
287
319
224
233
269
208
167
241
251
276
161
219
224
204
220
332
225
231
218
209
296
200
221
262
251
184
225
225
232
215
189
193
239
261
225
285
174
189
259
199
228
238
219
213
203
216
257
332
220
129
285
269
270
203
269
156
196
258
216
178
181
278
309
163
180
178
233
280
241
220
262
249
201
186
217
250
173
256
223
237
243
205
284
186
245
210
206
199
234
179
208
220
282
244
235
147
191
287
246
231
267
229
309
250
178
265
167
235
132
146
165
243
168
265
216
208
214
231
213
243
250
270
252
200
244
250
199
159
231
187
299
142
191
116
210
294
195
168
238
262
255
272
281
297
152
282
191
266
232
190
252
230
188
192
236
225
232
174
277
213
126
227
224
214
217
166
161
230
220
253
229
185
202
233
254
293
307
342
247
233
121
243
205
229
231
160
242
270
272
199
254
207
212
260
259
229
195
238
283
261
245
220
178
186
226
202
246
165
253
217
310
286
229
227
241
262
191
244
322
240
263
250
265
241
234
153
256
260
166
209
239
187
377
152
284
168
154
213
211
267
225
218
271
227
225
287
182
236
190
191
178
200
245
304
213
316
274
250
198
192
193
209
255
196
223
274
255
139
293
275
259
223
217
203
305
211
211
274
233
230
221
202
205
237
114
168
227
191
241
220
181
310
181
273
185
196
201
174
237
195
243
287
176
264
231
232
156
133
184
177
217
212
236
144
263
299
186
239
232
220
206
248
188
266
202
178
267
178
222
184
270
244
274
280
297
183
196
244
253
154
252
230
180
179
250
203
198
191
226
175
180
235
289
262
241
196
211
157
238
259
235
217
239
220
236
225
255
180
152
304
242
258
248
271
205
160
256
203
147
201
210
194
186
194
222
210
289
114
257
269
191
209
288
175
274
289
258
210
173
212
108
316
246
211
196
259
239
202
164
230
271
239
221
173
235
314
230
248
291
203
265
184
279
185
269
194
216
197
210
213
198
175
234
159
206
193
260
243
180
225
222
241
162
171
222
279
269
235
242
160
233
181
191
295
245
198
212
245
255
237
228
214
258
309
287
264
246
196
188
273
170
221
252
216
208
240
261
203
223
231
216
235
194
250
265
280
200
266
209
268
196
207
208
224
237
265
198
216
243
206
197
194
114
170
296
173
195
198
160
160
209
316
190
204
337
277
262
252
255
303
250
106
194
233
238
218
156
288
227
170
260
272
158
200
183
176
259
280
212
197
203
203
241
227
252
185
231
154
232
249
200
236
278
205
182
249
220
175
114
254
129
198
271
262
179
240
191
322
237
237
228
224
178
213
233
203
239
191
246
257
237
264
201
187
204
250
243
237
308
234
215
198
255
156
146
237
240
269
306
269
245
253
221
147
387
199
189
236
320
263
180
207
236
310
227
173
203
196
245
266
241
228
294
182
237
249
175
264
186
159
208
215
261
247
289
339
212
146
302
239
184
238
256
231
303
276
149
181
229
200
234
152
275
274
279
244
259
207
208
271
222
148
236
248
196
217
169
239
304
201
234
232
233
254
259
163
155
267
214
159
225
192
203
213
114
281
217
173
222
186
260
207
233
185
160
214
261
183
151
212
195
258
242
205
249
229
175
260
235
187
166
176
178
234
145
191
239
226
164
194
249
178
219
194
231
121
238
301
217
315
308
189
239
275
233
212
171
176
251
208
214
255
218
318
252
261
184
222
220
249
286
319
181
250
172
151
248
288
114
199
284
157
211
219
210
178
221
291
188
173
175
191
236
276
288
114
215
186
192
162
201
198
195
231
260
236
208
227
265
209
181
299
256
222
238
211
235
189
114
180
219
353
224
252
303
192
278
139
184
252
216
176
114
202
234
264
255
170
260
259
188
183
272
270
217
191
271
227
254
245
207
239
260
245
231
179
205
178
222
206
211
285
239
219
278
292
176
250
133
215
216
263
214
237
277
198
212
163
285
204
241
275
174
219
320
250
231
244
196
243
220
160
237
249
254
296
176
211
258
202
226
264
114
129
199
183
286
249
170
183
238
262
229
272
210
162
314
245
349
244
310
263
200
311
177
205
305
184
285
225
219
157
213
266
201
269
275
178
155
171
234
235
253
114
180
257
227
174
164
252
241
244
178
222
304
268
245
230
141
194
192
253
191
248
202
183
244
114
283
229
282
207
200
351
253
186
188
194
159
184
228
269
235
219
222
215
207
215
213
227
145
207
248
156
304
206
199
204
173
270
243
180
154
178
279
261
162
185
165
239
166
201
220
232
350
214
154
206
224
227
228
209
261
209
219
213
256
229
240
258
212
305
213
256
222
192
257
280
270
273
178
207
248
173
230
305
267
199
231
275
315
249
237
171
271
235
212
204
210
214
288
259
233
203
296
249
196
195
293
251
258
150
199
231
130
170
192
174
164
290
303
108
265
276
153
217
235
245
239
185
166
282
295
262
173
229
152
234
152
190
205
147
277
250
167
219
250
257
188
235
247
140
170
289
229
217
197
192
265
224
187
207
238
239
165
198
145
213
258
266
181
231
191
218
181
207
209
204
182
226
258
216
271
274
208
174
315
170
191
263
227
234
253
158
180
245
198
291
193
230
197
238
114
255
169
276
226
210
272
184
176
174
162
229
299
174
243
231
225
199
185
203
250
209
230
265
199
212
181
211
252
228
241
145
234
279
214
209
231
260
201
160
306
230
187
265
185
308
188
301
234
228
226
229
197
231
288
294
260
224
284
202
304
170
243
201
114
199
253
237
196
174
276
232
236
266
246
228
187
333
265
238
246
174
284
273
250
271
283
180
194
281
224
249
168
272
174
211
171
212
192
195
238
198
219
194
225
194
277
223
211
178
177
157
156
173
233
321
228
251
170
259
202
202
207
230
265
196
180
224
235
187
152
232
192
295
133
279
247
248
303
361
242
195
168
319
224
238
201
234
212
193
170
266
228
181
173
200
249
218
133
265
240
218
244
208
195
287
203
216
198
212
285
207
182
268
216
248
265
227
250
180
258
297
215
266
161
184
203
208
165
260
217
234
225
198
265
179
192
179
223
142
223
269
186
155
236
177
180
256
164
229
335
226
206
129
266
114
225
247
279
245
243
198
214
224
200
242
261
247
147
302
178
188
257
219
212
156
314
185
243
228
256
269
208
232
147
259
178
203
245
173
275
228
226
191
236
280
234
283
294
233
249
240
180
249
192
235
200
248
221
217
238
152
242
231
232
114
235
276
298
218
232
271
205
239
206
130
181
205
193
264
189
108
273
173
238
200
239
250
278
291
196
180
221
248
181
220
239
280
212
178
231
205
116
190
192
262
178
217
158
188
295
211
310
285
219
212
262
275
213
188
230
288
236
196
218
159
258
188
212
269
214
185
229
208
231
239
269
214
212
254
354
257
269
176
160
177
251
222
240
197
184
193
173
212
152
262
255
222
196
192
157
254
251
190
295
222
244
228
205
202
170
256
177
227
213
226
217
192
256
195
227
214
224
265
199
207
160
275
255
191
243
166
114
202
223
252
305
181
242
199
184
116
218
330
200
227
225
269
259
291
226
306
195
196
279
240
222
225
165
182
313
261
258
184
205
145
229
192
246
282
189
213
116
237
313
230
247
179
215
224
241
236
216
186
177
108
176
202
287
213
310
243
181
344
254
225
206
181
184
289
193
219
169
229
275
190
219
247
213
222
244
181
223
240
235
248
307
269
174
259
286
221
290
213
178
232
202
218
277
277
248
199
226
216
166
165
277
271
220
190
255
189
341
188
223
212
234
151
212
222
226
226
287
286
309
237
231
192
149
168
206
295
198
313
285
224
181
174
243
227
306
178
159
188
256
202
250
216
223
220
231
158
191
225
251
273
240
205
218
290
290
235
126
301
212
236
235
273
174
204
276
226
229
222
242
200
172
262
245
195
228
176
167
239
206
135
238
270
306
198
236
166
231
251
264
205
200
283
170
176
251
214
266
208
144
311
294
187
212
144
244
227
155
204
287
189
292
229
208
229
204
174
243
237
206
169
266
232
151
163
279
211
185
237
221
212
216
240
196
235
283
273
248
284
249
244
241
157
277
204
266
221
217
171
187
234
253
222
260
181
226
256
193
229
232
163
192
198
260
204
178
147
269
129
174
255
310
247
255
319
196
230
192
311
257
224
238
235
161
215
260
228
254
238
333
186
278
323
211
179
187
228
247
222
216
191
235
197
198
170
263
194
333
281
220
256
252
315
164
200
171
260
238
313
114
257
248
181
210
233
319
203
186
249
166
276
295
253
277
270
252
186
213
212
232
267
176
167
264
212
194
215
217
237
254
193
262
277
224
270
206
253
217
255
266
178
295
217
205
158
264
220
221
266
266
238
339
224
215
202
324
293
160
228
241
206
281
245
213
228
167
203
245
227
224
235
140
224
231
144
271
243
261
198
269
177
193
257
169
264
211
145
143
189
194
231
175
236
254
218
191
270
233
211
209
248
207
242
146
279
212
244
198
151
158
234
202
200
208
260
176
168
293
218
240
261
208
198
179
270
270
252
206
214
317
282
221
321
176
260
213
214
178
166
244
213
316
214
218
190
243
261
204
206
209
185
205
270
243
243
181
261
244
210
206
239
218
263
293
192
256
224
193
189
196
216
224
248
272
195
199
257
213
187
301
247
260
189
242
183
249
254
251
264
234
216
214
252
225
270
240
212
203
309
237
170
196
260
224
178
317
152
222
205
243
151
209
242
154
157
240
167
209
210
176
305
211
182
208
232
244
305
207
129
294
202
159
189
240
228
215
211
291
237
220
173
265
264
207
171
277
229
348
187
184
240
216
276
201
298
209
220
192
164
263
275
184
228
235
189
234
204
197
193
203
201
173
281
139
230
259
210
299
189
229
220
299
204
198
287
174
185
114
249
183
251
175
263
178
264
231
240
240
228
285
246
229
231
196
178
190
223
215
231
201
146
191
225
166
249
216
283
221
263
227
249
364
254
171
202
236
252
271
216
148
236
278
217
258
188
214
225
238
260
248
259
240
214
260
201
246
114
247
182
275
176
254
245
236
175
283
129
231
210
177
234
170
231
204
258
295
185
228
181
188
209
237
197
195
239
240
230
242
178
289
285
108
168
173
173
196
267
171
270
158
181
284
182
224
254
213
116
235
295
281
182
226
220
308
255
254
165
293
197
236
211
253
245
114
108
244
255
281
208
116
285
285
189
207
181
287
231
166
243
327
262
265
209
229
201
183
202
236
212
162
126
290
228
251
177
221
278
219
233
247
199
229
255
256
162
275
160
198
204
229
193
250
179
214
236
229
169
207
258
245
229
156
180
182
194
263
239
229
271
241
262
219
174
200
196
170
207
233
230
238
195
215
197
208
221
198
183
139
261
226
192
239
269
204
269
199
193
323
220
264
180
196
305
293
227
215
229
245
251
241
228
285
223
262
192
249
226
246
174
154
274
210
232
275
238
203
237
246
234
211
258
183
160
357
243
165
240
161
209
283
256
247
184
179
216
193
190
295
188
214
227
228
223
223
267
263
174
208
318
247
237
174
176
242
244
359
322
235
315
271
254
259
178
291
146
215
226
156
230
253
214
275
173
221
253
240
205
252
126
212
195
247
266
237
208
264
178
180
195
151
198
214
218
289
313
187
216
258
261
168
215
274
255
121
198
219
219
221
201
224
216
116
249
213
184
240
284
148
209
219
198
231
209
168
211
245
257
285
193
195
213
230
181
184
181
299
178
220
151
208
139
198
282
256
222
202
282
200
267
185
225
240
223
257
170
204
189
175
265
229
311
194
198
195
278
218
240
228
257
180
245
239
235
266
235
163
256
177
166
160
303
226
205
248
207
160
191
272
300
267
278
270
215
239
242
255
184
283
205
226
239
155
182
164
218
199
153
205
287
206
214
221
218
219
184
197
206
272
177
177
269
313
261
219
247
290
192
213
255
152
250
249
237
215
175
130
206
114
291
144
224
293
296
218
201
206
209
262
250
283
306
191
277
222
251
195
237
275
281
151
240
308
186
146
187
233
246
259
194
174
212
137
268
222
198
201
206
247
151
234
203
114
211
281
274
196
214
204
252
180
328
208
204
227
262
233
213
212
273
219
206
297
183
216
256
223
170
222
250
162
193
276
268
231
281
262
266
198
221
220
220
275
180
206
148
220
179
183
170
174
176
200
245
257
278
168
272
189
280
199
237
264
245
249
205
281
245
225
154
220
222
286
231
312
166
324
204
170
252
229
246
266
310
218
214
288
297
209
240
202
151
196
343
228
278
213
252
301
258
311
223
177
227
172
188
225
222
211
144
257
213
217
199
196
195
268
316
190
259
309
198
187
314
203
228
279
240
316
206
225
184
165
261
230
185
217
212
279
296
139
322
286
247
205
240
272
237
256
303
192
254
321
116
236
214
225
226
190
327
214
283
147
242
202
162
210
255
231
243
252
180
224
187
218
190
207
307
211
299
289
200
166
208
245
199
201
295
204
275
179
260
114
288
156
171
261
238
261
212
229
126
229
184
270
234
275
237
192
158
246
199
225
232
172
226
250
228
276
269
185
189
270
235
225
209
258
251
233
281
279
257
294
242
209
282
262
240
233
186
265
213
190
214
167
181
168
241
247
226
183
203
306
213
198
233
116
280
167
153
114
234
237
218
236
232
206
210
177
230
251
210
214
274
243
252
209
242
159
202
210
158
234
237
170
248
178
255
173
184
235
164
146
219
233
168
241
161
243
114
178
203
258
276
151
166
192
315
230
183
167
338
206
179
260
184
245
250
241
139
166
229
221
245
246
195
250
231
305
263
300
206
252
204
181
242
220
269
165
174
218
254
248
261
151
228
213
256
240
251
225
226
238
160
220
161
229
224
278
201
264
309
281
267
167
278
301
180
173
244
224
262
170
198
278
260
246
211
250
211
248
221
291
181
164
219
192
339
264
178
243
203
180
225
169
266
218
158
215
217
224
178
297
210
280
217
224
215
166
259
211
253
222
237
246
266
262
321
187
251
258
191
209
250
279
214
240
171
186
199
209
233
270
288
173
189
228
193
149
245
210
180
196
249
289
244
233
227
270
198
234
266
174
243
220
261
271
269
312
347
179
181
202
241
160
220
146
152
209
248
232
225
237
301
193
269
232
264
243
165
296
311
263
170
242
215
181
169
214
251
287
175
126
253
200
291
236
254
248
222
215
173
195
227
295
173
260
175
173
243
170
245
271
215
367
257
161
221
268
246
165
194
273
314
248
240
241
202
191
204
294
235
143
228
153
184
203
322
226
208
247
206
241
274
308
159
256
229
204
181
222
252
235
114
182
240
241
152
160
181
156
215
174
193
169
203
220
235
257
211
192
235
219
152
238
268
280
310
275
254
247
322
198
205
201
213
257
247
169
252
189
183
196
201
285
212
278
218
225
240
278
210
249
209
128
195
253
167
249
242
249
212
217
191
189
239
198
191
297
277
246
161
202
214
261
239
277
280
282
207
269
225
221
277
222
178
195
261
231
227
239
265
299
213
213
243
174
176
183
234
203
213
126
213
225
268
276
237
257
248
285
213
198
187
175
260
232
228
218
225
146
183
306
192
250
186
171
178
153
320
252
247
232
259
237
195
160
242
290
175
277
245
214
245
114
188
186
215
244
235
224
258
213
197
211
249
280
281
170
206
106
168
174
272
227
218
139
168
215
206
181
175
315
174
197
251
252
196
259
145
212
244
268
219
279
266
291
208
181
223
219
219
239
263
210
183
196
218
206
209
277
201
214
227
192
197
174
198
154
275
262
228
196
266
196
192
275
139
226
258
169
231
253
244
179
168
202
200
248
220
214
263
194
232
265
226
238
224
289
234
203
159
225
239
201
265
160
200
237
149
279
249
199
262
215
199
188
238
235
249
224
186
251
203
300
218
181
202
243
203
219
234
292
212
208
403
262
306
194
211
178
198
226
306
253
200
207
277
224
203
293
255
267
160
265
252
114
229
163
193
246
173
220
170
164
144
197
173
189
224
227
206
241
212
163
241
163
224
219
180
241
148
240
126
178
281
212
225
175
313
199
230
256
174
315
200
266
225
286
277
255
243
301
181
283
181
220
160
168
195
210
210
144
281
287
196
237
200
249
237
305
197
202
175
199
171
201
198
242
201
225
264
282
247
158
262
174
252
229
207
220
254
255
244
219
167
202
253
276
265
224
175
202
219
184
262
246
189
256
225
254
237
270
212
248
244
228
157
253
237
228
263
246
244
245
265
265
192
232
324
292
274
251
238
237
199
216
238
193
200
164
172
225
278
201
268
240
198
121
266
295
342
211
249
277
268
242
145
331
243
275
189
163
296
146
231
222
181
265
156
175
277
234
209
249
156
284
220
227
201
216
165
178
311
241
334
255
299
243
292
218
230
249
194
265
265
126
275
187
207
213
255
284
222
212
272
217
254
234
252
230
227
130
261
225
211
222
218
254
259
220
277
285
183
158
272
264
162
254
262
214
252
225
114
245
250
245
239
169
217
261
292
258
155
190
231
261
275
200
227
157
302
231
183
163
198
194
334
195
229
282
146
239
273
181
281
301
226
197
224
198
239
151
179
241
167
128
302
282
204
225
247
267
256
288
215
342
245
249
195
188
286
217
200
184
205
204
219
316
263
233
171
217
185
189
220
218
220
199
298
234
193
316
205
260
193
202
197
201
281
301
233
237
205
234
290
247
199
268
240
159
206
217
152
178
306
260
162
208
245
189
232
247
209
259
201
171
188
219
172
199
221
206
187
259
207
250
266
203
187
273
193
169
200
218
203
260
159
241
241
265
199
171
254
193
248
214
213
291
218
207
168
239
205
268
267
196
270
126
129
286
258
225
210
232
233
177
284
198
165
203
283
204
211
287
228
215
215
230
266
276
198
211
183
312
226
173
146
240
160
279
231
251
215
116
227
242
213
187
253
209
214
212
222
216
283
198
219
205
222
268
193
199
252
207
318
232
214
270
243
247
217
216
230
320
202
244
195
193
203
285
201
206
183
250
187
174
180
273
185
313
232
285
181
228
234
257
218
301
238
185
224
251
207
180
182
178
220
216
306
203
174
243
241
272
182
271
211
267
155
222
196
265
189
239
206
108
234
251
166
267
213
259
241
168
283
146
204
213
264
208
188
165
200
237
184
114
209
230
210
306
178
225
223
177
213
242
200
186
319
254
296
184
234
200
270
171
188
266
207
184
244
176
240
205
175
190
253
235
185
181
282
276
280
213
245
232
188
286
207
291
234
233
227
198
186
271
309
208
242
145
160
257
175
260
198
263
205
180
214
228
221
155
215
242
195
139
262
161
156
308
239
193
265
204
154
251
223
207
180
309
160
278
242
178
229
229
265
189
213
323
253
249
146
223
178
285
237
168
215
289
178
208
296
234
248
171
208
181
230
283
178
289
186
247
266
250
223
269
212
204
171
198
221
215
200
211
208
216
239
317
236
144
298
195
116
248
184
178
183
199
174
225
219
182
203
302
137
214
253
177
178
176
233
196
274
246
235
292
151
233
225
154
133
252
195
244
209
293
114
204
180
221
203
273
185
282
287
236
145
243
228
170
231
225
290
209
255
269
190
187
175
252
204
148
205
156
195
207
213
248
222
200
224
375
291
175
283
208
275
190
285
252
169
139
255
305
218
319
215
230
272
252
246
287
168
240
195
241
223
234
200
243
236
240
227
213
190
242
225
336
224
174
241
198
192
183
197
261
182
192
219
287
250
191
160
219
249
201
219
239
239
173
246
276
278
317
145
270
208
237
178
192
277
225
270
205
234
263
293
190
224
281
333
263
203
208
310
235
243
219
225
208
179
240
152
218
229
327
178
216
332
226
233
320
174
285
235
296
209
224
181
179
294
211
170
207
213
130
160
235
221
245
255
303
248
234
307
269
191
278
276
230
233
144
225
161
152
293
262
220
237
247
186
235
283
193
297
268
283
250
203
209
267
195
272
212
192
212
245
280
178
181
238
237
219
226
213
181
266
160
262
212
269
222
114
265
204
106
314
215
220
259
214
213
216
178
195
265
216
175
253
223
207
242
196
227
289
216
207
272
224
277
235
175
208
191
207
199
216
173
202
234
244
233
218
226
147
198
160
239
176
214
299
313
203
199
207
146
230
224
296
181
229
233
280
161
205
239
230
249
187
231
225
223
277
298
169
239
189
253
189
220
156
203
235
223
252
241
288
271
205
219
261
280
184
248
203
241
280
254
259
234
256
239
215
170
184
194
281
325
243
146
114
227
251
257
247
198
144
164
163
218
217
196
208
220
193
224
274
185
254
200
241
295
178
340
269
208
293
183
266
197
155
180
217
222
227
281
280
254
282
114
233
241
269
224
263
228
254
167
260
257
191
197
173
239
308
257
188
184
274
207
209
221
205
216
203
292
157
286
191
202
194
248
181
238
244
250
240
178
173
245
301
255
340
191
206
230
246
239
256
203
194
236
157
218
227
184
271
300
200
214
315
220
254
253
177
229
223
218
251
189
248
221
207
114
207
224
314
246
184
261
271
291
178
167
184
268
170
287
156
206
229
186
166
222
232
189
277
287
288
200
237
234
247
191
176
226
270
204
228
238
155
211
176
177
218
226
221
260
273
266
249
171
210
178
231
156
237
243
217
209
241
219
192
276
175
246
258
279
275
210
190
194
202
329
287
276
211
259
287
254
247
252
180
207
168
258
224
214
259
228
271
189
203
239
203
191
222
162
219
266
246
183
212
245
290
205
208
257
212
164
202
238
227
206
145
253
284
243
214
218
139
263
246
215
116
188
178
303
168
184
334
224
211
222
229
179
240
235
193
219
231
219
262
290
256
192
141
126
212
114
207
275
219
208
349
294
197
349
211
193
209
236
271
251
225
233
200
229
145
282
262
210
294
146
114
212
210
270
319
194
191
173
317
181
232
174
255
294
156
297
236
266
149
262
175
227
241
195
226
236
273
217
260
260
303
178
311
340
298
156
302
200
226
207
270
177
198
203
228
220
228
219
216
265
260
260
222
239
220
211
295
222
193
270
232
196
254
280
155
288
182
298
159
305
302
114
223
228
278
229
236
253
216
312
257
245
275
300
263
194
216
279
244
241
330
339
259
140
258
291
192
186
263
126
284
176
177
284
227
238
244
293
263
153
197
194
197
256
264
154
249
241
206
182
216
266
236
262
175
195
198
343
263
253
203
214
264
276
231
267
175
198
168
175
241
201
196
207
161
172
242
307
268
192
175
199
232
221
229
195
224
189
207
230
252
225
266
160
241
254
160
248
353
114
160
296
149
234
166
214
264
261
223
181
205
222
171
259
236
242
194
203
155
215
202
281
233
145
114
195
114
177
197
272
234
257
169
191
211
255
273
230
311
208
264
254
135
310
233
344
145
270
198
246
235
232
260
204
264
257
356
233
237
188
242
253
184
223
245
211
192
262
221
282
284
198
194
234
215
309
235
210
276
220
220
250
192
224
221
197
263
301
246
218
271
158
268
262
296
177
165
170
257
230
163
212
267
154
225
236
178
223
280
188
225
195
296
231
214
255
252
187
279
186
156
226
204
267
214
198
180
156
266
189
165
253
188
177
245
209
219
160
180
114
283
204
224
199
245
244
200
171
260
214
226
234
194
244
206
268
312
244
154
198
234
222
263
274
245
223
351
164
194
209
234
284
210
214
210
158
146
230
158
187
254
222
269
181
282
219
263
176
161
209
244
285
194
253
269
295
164
224
238
176
271
164
156
327
216
215
232
264
137
260
314
204
167
358
164
302
241
316
273
178
250
245
226
298
245
282
152
210
220
191
232
114
156
221
205
267
253
164
283
189
263
306
199
237
233
258
170
173
176
285
213
156
229
204
220
224
276
231
219
285
247
151
238
200
126
212
239
240
265
225
184
194
151
151
215
172
290
220
260
197
108
333
184
234
240
255
189
278
247
203
227
224
271
248
272
147
254
209
245
256
114
149
231
193
151
234
270
280
268
242
240
209
241
179
204
215
180
317
219
260
252
219
235
185
235
171
165
161
248
154
270
221
269
327
205
273
155
200
209
323
270
228
188
200
250
207
254
197
249
161
272
254
214
255
278
225
248
157
192
235
245
209
264
240
214
241
228
286
203
203
149
255
327
199
246
216
202
192
234
165
212
178
181
190
221
209
301
262
243
235
275
226
229
155
216
153
164
220
251
239
177
215
114
260
184
166
206
249
219
256
330
358
205
170
229
224
290
250
242
230
256
165
200
210
246
253
295
257
114
247
302
228
244
247
323
203
279
309
169
134
168
299
139
221
224
260
210
211
232
258
186
206
219
284
257
191
240
182
228
289
218
286
234
151
279
212
206
312
198
152
185
231
225
224
196
232
197
250
187
296
170
214
268
206
207
235
241
169
179
208
158
184
286
191
241
276
133
246
222
235
156
240
164
147
259
246
195
183
215
220
253
218
225
188
270
241
241
214
276
179
233
206
151
144
352
258
276
307
218
260
314
263
218
178
227
282
209
266
249
212
229
202
199
242
248
168
185
140
217
274
257
210
224
234
214
230
183
229
228
165
176
297
249
145
149
200
267
274
245
192
238
190
293
285
207
234
251
114
253
202
213
206
239
206
235
219
225
226
197
232
258
271
210
114
268
209
275
219
198
228
191
200
230
248
243
266
217
240
198
233
161
203
225
251
174
144
245
199
265
223
300
264
182
213
250
189
158
260
210
174
170
270
152
265
195
149
211
144
235
215
217
219
214
181
255
252
224
251
229
249
240
209
319
200
197
292
126
304
269
202
344
235
218
259
186
187
190
253
185
204
218
192
250
245
228
279
215
233
294
230
224
264
208
293
289
180
198
213
195
241
337
237
253
149
170
144
236
184
255
186
165
195
180
223
288
220
252
198
241
226
216
233
251
157
255
161
175
148
227
193
196
218
218
285
234
247
255
164
221
193
209
179
257
252
158
210
252
239
203
214
211
179
255
169
262
242
206
225
217
267
275
289
239
261
231
186
205
242
260
183
188
192
146
208
152
213
272
229
205
215
244
225
217
267
160
224
306
226
270
261
246
235
207
260
208
190
170
181
209
332
208
301
280
160
246
332
264
291
174
172
253
194
208
229
258
255
232
293
243
234
214
221
154
231
223
255
280
232
160
209
243
269
224
235
176
234
192
284
228
227
256
238
225
170
258
292
229
224
194
173
252
220
148
238
222
231
205
242
245
260
285
207
235
233
184
200
152
221
359
165
256
322
199
145
239
181
283
233
307
222
196
192
246
289
271
194
391
245
268
148
179
181
219
281
181
204
202
243
187
173
208
176
180
201
245
263
219
258
308
273
247
246
318
189
227
317
250
257
209
233
283
234
241
233
299
173
217
201
181
253
178
182
258
199
182
266
221
166
183
186
144
196
214
181
196
205
248
180
230
229
284
279
239
304
229
326
114
235
185
186
258
140
230
297
326
222
181
235
205
226
212
158
258
160
162
243
233
243
239
192
185
216
283
183
242
212
281
238
195
232
283
188
173
316
203
286
316
290
288
301
208
183
175
170
194
190
227
266
310
152
160
245
170
205
186
259
235
193
312
268
265
244
160
191
263
204
292
160
207
249
253
191
209
215
181
249
240
222
260
228
174
170
156
227
216
240
156
204
252
256
280
267
280
271
196
219
185
190
239
232
246
185
291
160
223
246
273
218
199
263
162
167
244
190
173
197
228
195
267
230
170
238
281
223
224
249
166
184
271
214
222
231
254
239
256
223
172
221
233
248
317
223
178
265
181
227
279
309
232
238
185
204
172
325
229
231
247
246
158
218
211
178
228
198
194
252
216
261
209
201
239
175
159
214
218
278
279
172
223
230
196
241
189
223
289
229
191
217
226
246
228
257
206
173
217
178
183
220
239
219
207
175
299
176
255
230
233
189
197
225
332
180
214
260
294
232
190
223
166
190
202
239
280
230
296
169
254
175
236
270
212
224
199
220
235
254
288
182
169
246
249
249
129
185
333
208
271
195
259
204
147
194
276
271
227
243
235
216
247
181
236
208
213
211
245
216
238
205
215
233
205
197
278
199
185
215
233
139
231
203
171
162
175
241
146
166
246
170
269
182
156
139
170
200
342
114
202
175
163
156
225
193
230
243
219
222
252
236
281
251
274
198
165
230
201
243
151
271
233
166
297
165
208
215
276
199
318
290
188
184
228
220
155
160
206
223
264
201
219
174
249
262
241
219
302
197
282
284
257
195
226
209
251
184
234
223
222
250
208
229
316
230
204
334
213
155
209
299
189
188
208
268
203
236
192
193
257
295
310
199
287
234
225
187
209
262
165
259
300
189
291
199
223
221
233
183
152
248
214
243
216
237
158
170
234
149
199
286
234
245
197
197
253
279
190
221
269
274
183
214
215
177
317
175
114
278
173
233
137
297
180
220
238
281
203
228
205
221
169
114
281
179
348
247
270
237
287
188
126
257
235
222
149
322
210
213
280
221
249
214
186
206
208
170
193
216
180
205
250
175
313
162
198
202
228
225
173
241
225
244
275
161
241
343
245
368
204
262
222
168
194
191
152
212
270
152
240
233
260
292
228
217
272
245
229
178
193
266
206
175
180
241
214
185
275
152
298
188
155
160
255
292
174
217
219
257
294
176
221
223
207
213
184
197
207
225
186
198
217
177
229
255
235
223
247
211
248
322
314
239
228
223
260
258
217
233
188
162
296
223
317
210
266
245
254
211
197
248
263
314
268
175
283
262
178
198
205
200
278
249
180
208
241
249
190
180
229
259
176
212
261
192
219
225
210
267
219
300
231
290
169
278
207
203
206
309
299
214
146
253
235
344
261
287
219
189
133
188
155
114
239
196
226
242
278
184
243
229
232
187
261
237
201
226
251
323
253
228
255
189
116
243
220
229
335
199
181
204
277
278
281
305
257
305
212
268
248
247
235
203
223
212
205
178
199
211
259
246
209
221
219
202
193
169
181
205
170
200
273
218
265
245
207
242
152
253
193
182
194
217
265
204
216
211
265
286
282
225
222
270
263
318
246
257
334
180
277
314
329
266
260
220
203
216
169
324
215
246
236
158
198
222
265
209
262
193
200
233
160
200
320
202
165
295
231
148
231
266
197
261
192
239
238
145
287
235
268
220
229
220
229
137
114
179
208
229
226
246
176
203
218
270
197
254
233
217
203
254
193
228
193
206
173
265
296
245
254
179
286
205
213
284
255
268
266
213
146
184
244
240
287
156
262
212
219
220
258
190
220
231
243
255
156
247
139
270
255
235
146
306
206
273
231
244
286
213
246
254
145
236
222
198
222
237
258
208
271
170
272
178
129
297
243
199
188
313
214
229
173
236
238
288
165
196
211
222
243
174
180
235
209
185
236
184
267
235
189
218
156
198
282
196
220
187
162
206
240
191
154
216
239
239
222
261
231
289
174
304
347
262
218
173
340
251
206
194
146
249
169
219
173
317
201
247
232
214
191
271
238
353
183
187
203
225
215
238
214
145
290
243
301
272
253
149
184
285
183
176
271
201
219
203
218
114
226
237
175
259
177
267
214
236
186
286
187
286
181
256
264
203
271
202
249
192
223
151
169
260
231
235
223
191
245
242
201
156
201
276
218
225
208
210
253
201
177
247
317
289
218
170
288
243
192
258
189
253
236
228
261
280
241
237
197
199
176
149
266
242
233
224
211
295
249
216
200
190
229
242
280
225
155
160
265
175
225
256
206
162
130
208
222
324
234
248
237
284
240
256
176
263
178
207
252
266
196
163
211
246
269
336
114
205
214
158
128
164
228
311
204
224
114
282
204
205
197
228
274
270
310
217
264
241
233
267
277
205
198
238
208
145
279
177
327
126
243
281
175
241
300
260
266
268
170
179
218
239
262
270
195
163
200
271
279
230
198
279
263
326
209
156
201
229
204
260
299
305
243
288
243
166
209
198
190
264
191
251
231
234
170
284
211
175
219
192
210
253
168
202
229
220
169
295
184
319
233
174
182
222
157
294
191
234
262
240
177
180
208
168
225
235
246
196
262
219
234
155
232
274
229
166
282
211
177
234
172
265
244
221
194
237
218
227
252
247
231
224
240
290
180
258
204
114
243
195
299
273
283
228
237
251
202
289
156
216
227
245
239
269
246
196
247
144
203
212
191
220
253
187
175
114
168
223
186
246
240
198
251
196
305
152
189
178
206
242
170
129
269
274
295
193
227
178
304
297
273
274
293
272
246
235
269
210
192
227
171
290
139
215
202
324
178
286
248
156
234
157
233
209
256
203
286
235
211
200
173
245
295
234
188
248
175
290
185
183
284
229
216
249
230
234
169
225
237
245
278
173
258
280
223
258
219
249
209
223
217
257
183
228
217
185
229
172
230
226
180
114
272
258
144
218
276
309
264
271
259
209
254
116
222
264
224
206
241
256
282
199
227
121
206
322
189
222
172
241
154
173
147
303
277
175
273
236
254
241
274
236
223
198
257
259
246
195
276
266
278
246
174
315
245
233
245
215
219
245
194
289
191
165
240
228
232
232
246
229
246
220
220
114
156
144
307
198
241
280
256
175
236
222
167
254
226
231
178
190
276
191
303
177
278
207
159
167
179
220
276
239
264
258
269
197
276
245
154
224
198
203
206
170
221
185
239
248
201
231
237
224
234
254
183
285
216
268
180
197
114
114
203
174
114
200
238
282
194
162
220
194
290
199
178
214
208
211
218
126
271
181
176
197
200
235
153
213
253
282
238
202
230
200
253
215
226
202
178
269
199
194
145
236
161
265
178
215
231
283
139
226
286
156
207
238
223
267
229
236
234
231
242
198
204
235
237
225
225
310
268
243
208
163
152
222
212
258
171
304
197
214
208
252
218
242
251
227
255
230
255
186
229
247
258
228
235
257
262
220
261
229
129
239
211
259
218
238
230
216
190
272
310
216
209
224
114
287
212
249
194
203
192
188
133
260
218
233
262
154
219
248
139
247
204
208
259
130
267
232
228
214
192
307
276
244
260
155
211
192
246
231
173
222
262
223
206
202
222
227
306
214
227
270
228
214
268
217
280
191
203
241
195
179
174
198
326
231
268
286
331
309
263
179
300
151
249
207
114
284
170
182
279
208
261
277
230
180
284
190
189
193
235
275
234
213
243
242
249
291
255
164
229
336
202
179
203
272
263
172
214
183
176
257
116
239
165
195
203
275
174
204
203
199
257
280
187
182
241
198
188
133
211
167
342
225
242
185
235
189
192
129
226
219
247
209
153
277
253
251
181
176
157
352
232
171
200
252
228
273
232
218
198
225
296
278
269
171
260
270
245
234
242
290
174
186
265
314
235
166
196
289
222
219
248
213
192
254
207
159
238
139
221
191
181
268
226
234
280
279
203
228
234
189
200
244
291
241
251
259
156
192
224
179
182
224
304
192
271
264
259
285
266
237
255
249
225
239
247
222
240
257
191
234
300
129
280
240
242
250
180
209
309
230
184
149
175
276
188
198
247
234
151
167
247
212
336
267
255
217
208
243
197
244
198
225
189
114
249
230
214
301
213
189
257
164
292
185
225
139
216
239
224
253
264
245
251
234
255
231
247
229
182
219
245
114
257
211
265
211
308
221
201
212
210
126
212
143
139
299
263
221
165
267
215
200
331
209
265
194
231
214
198
182
265
220
225
319
213
248
277
231
249
129
219
204
162
214
278
179
210
273
234
217
193
213
215
167
196
319
221
147
317
152
296
166
271
198
261
247
206
182
282
250
255
170
214
192
228
198
199
199
198
140
264
161
175
130
174
139
178
179
191
165
168
273
114
226
305
147
184
336
191
291
238
304
261
175
230
202
243
161
237
219
231
137
244
249
258
178
295
219
264
171
253
192
252
189
236
255
241
200
292
155
254
319
162
177
175
240
241
284
272
219
259
177
284
196
291
277
170
304
194
217
184
246
213
145
275
217
224
278
289
270
178
180
249
129
184
233
126
260
220
314
208
239
210
219
267
241
219
278
237
231
285
182
286
197
247
355
218
156
176
231
276
158
192
324
168
182
215
203
199
280
244
220
265
277
198
180
275
240
180
248
202
261
214
245
250
299
222
205
230
203
198
193
219
263
231
198
239
293
273
309
287
249
194
204
201
192
250
240
279
233
169
220
253
222
337
171
128
242
225
181
219
253
196
197
232
139
298
229
222
178
271
220
206
203
173
317
200
195
208
230
240
196
228
148
232
297
114
248
218
228
213
210
175
287
260
229
213
283
195
193
191
276
279
301
235
192
220
216
181
187
129
185
212
217
228
226
274
201
224
166
217
239
200
205
179
126
257
220
236
184
162
159
270
207
192
194
216
262
190
234
206
181
223
275
307
150
251
228
234
234
256
264
202
230
161
248
212
207
191
208
285
226
303
244
166
180
246
184
165
160
202
278
191
291
189
198
193
241
265
201
234
288
227
222
255
223
192
164
229
244
204
198
255
160
291
246
220
149
170
268
332
148
284
247
292
249
225
271
221
241
263
277
197
167
213
199
239
245
200
202
146
305
235
184
257
217
273
191
276
211
252
211
220
194
236
201
221
256
287
243
176
216
235
259
247
129
235
173
190
208
241
222
198
206
249
201
318
203
148
178
288
220
244
262
179
234
126
208
224
272
216
234
238
236
134
193
308
275
301
170
241
161
219
191
242
198
240
182
267
206
314
275
383
250
182
300
164
146
274
198
200
184
224
253
232
198
214
258
198
195
235
269
235
221
191
249
250
178
188
228
255
276
161
224
204
276
215
156
279
320
221
244
259
223
215
256
194
262
273
241
180
230
215
145
251
203
275
207
284
253
161
231
312
228
236
263
319
215
214
258
233
209
173
196
226
202
180
247
211
172
221
287
276
219
217
230
232
151
243
209
166
166
270
226
202
225
230
200
207
253
220
230
257
254
154
229
268
163
265
220
289
239
257
252
190
224
191
165
210
170
256
226
233
307
308
228
250
244
216
210
177
245
225
203
220
211
263
202
189
262
184
258
263
181
290
244
185
234
173
191
250
311
214
258
221
220
251
165
205
272
206
204
162
199
220
235
261
238
144
202
248
179
189
214
222
224
174
200
252
195
194
220
241
231
240
184
267
222
299
318
258
213
314
303
217
160
256
253
178
146
175
214
301
234
295
233
231
277
207
281
183
207
242
268
139
139
191
268
204
149
226
256
160
217
188
222
297
175
203
193
254
194
238
250
204
237
355
191
233
286
230
173
200
186
262
226
186
281
170
270
233
228
173
258
279
257
224
218
280
225
361
228
178
232
293
195
229
176
234
228
245
282
178
265
263
218
256
116
232
311
247
195
244
242
181
220
205
197
181
186
255
203
217
207
180
321
176
224
290
255
228
174
126
220
217
211
257
200
201
200
151
293
216
279
231
213
248
205
278
114
219
202
168
241
281
148
228
229
207
278
249
283
260
269
179
286
212
162
170
247
221
224
219
193
208
196
265
170
220
239
160
224
202
231
243
229
191
259
224
246
151
227
247
181
219
191
211
202
225
232
259
235
188
179
203
251
248
144
182
176
153
160
200
185
331
257
240
309
220
267
175
285
206
224
249
274
186
180
220
286
225
182
276
199
168
283
209
225
261
114
173
237
201
176
213
170
233
212
207
256
227
170
173
243
223
235
245
254
200
243
191
272
225
230
326
231
250
242
273
168
222
197
244
237
323
211
275
231
191
232
273
207
272
204
284
261
228
218
200
166
206
261
219
214
301
230
199
218
106
170
116
209
244
221
224
252
195
190
200
234
241
206
222
214
242
212
168
161
271
311
308
183
241
234
165
241
324
170
247
162
173
204
278
221
214
121
293
227
237
151
240
304
229
173
166
220
199
188
165
236
230
187
210
241
174
279
301
218
222
236
221
116
255
230
270
191
198
208
226
322
242
230
215
205
301
230
186
183
217
302
224
193
307
249
239
365
198
227
213
248
210
248
182
272
207
272
325
238
218
260
306
276
287
189
202
317
239
296
198
196
321
218
184
197
209
298
259
185
241
178
242
244
199
295
217
209
156
228
206
207
210
331
283
215
196
260
230
180
222
191
306
265
249
228
269
209
281
139
198
243
160
242
246
196
285
250
156
233
252
240
308
294
181
114
145
239
219
221
251
217
269
288
242
228
232
182
234
297
203
268
207
247
292
247
114
217
197
295
213
257
226
241
252
256
223
214
283
272
214
261
243
187
239
206
274
223
208
195
274
213
184
201
219
178
260
250
114
263
269
197
285
188
201
185
210
243
231
234
230
305
219
181
196
295
284
259
236
285
283
275
191
245
240
207
222
205
302
238
230
114
236
240
219
193
334
243
254
282
254
202
206
255
312
234
281
154
280
222
284
194
239
304
157
235
173
232
261
246
222
293
251
243
211
222
201
232
180
227
234
151
236
202
234
292
229
240
208
173
189
238
231
192
164
267
181
198
169
194
241
257
274
206
128
250
254
238
294
216
286
169
263
234
252
165
149
186
274
202
247
286
249
230
281
145
275
236
212
244
231
204
199
151
224
155
268
257
240
165
227
276
234
216
234
257
265
170
178
258
221
190
171
212
198
228
229
183
208
219
228
251
319
254
307
203
220
247
213
223
263
207
189
184
272
293
192
170
282
277
212
315
235
174
176
253
219
177
217
191
218
160
301
286
215
198
229
263
247
190
293
179
296
178
184
258
175
189
213
297
290
281
251
145
207
236
272
189
280
202
192
178
240
266
181
224
227
239
222
314
151
154
227
243
245
234
249
265
191
207
302
261
181
211
237
243
179
191
244
225
172
286
207
238
207
243
235
192
213
224
181
267
199
243
333
301
286
285
222
210
268
254
255
259
229
181
192
192
259
269
205
114
225
178
238
228
214
221
219
212
151
219
254
201
152
217
312
233
355
233
222
204
179
266
257
266
254
296
232
265
178
253
285
267
237
195
170
242
172
170
222
255
209
180
162
203
293
223
178
144
146
177
200
212
151
224
169
224
227
217
277
256
218
145
270
284
213
265
223
177
235
291
227
160
258
257
193
293
257
260
290
196
268
242
149
195
306
196
214
199
149
114
258
274
186
328
181
156
164
186
231
301
198
263
175
173
270
221
265
212
254
234
171
340
121
237
176
205
239
160
237
219
242
202
170
301
189
215
114
204
254
269
206
223
238
208
241
232
234
254
186
238
198
264
253
207
239
305
199
284
170
198
269
254
244
212
179
245
261
221
194
276
169
269
261
232
177
210
185
220
262
215
202
174
275
242
202
215
290
275
224
175
195
179
170
175
249
281
256
209
223
276
272
288
211
262
254
204
236
254
222
233
253
181
263
172
205
239
188
292
214
204
274
219
264
248
170
184
173
245
330
172
270
207
226
169
164
204
228
211
153
210
229
253
240
207
233
121
224
170
212
245
189
273
258
184
130
204
273
213
178
203
272
300
171
192
219
203
221
151
205
165
236
219
245
301
243
250
249
259
179
206
208
187
212
243
318
240
191
227
189
170
322
294
194
256
218
163
212
270
256
247
255
224
168
218
204
304
151
277
236
281
193
237
250
237
188
273
201
284
308
299
214
108
323
192
218
200
219
222
294
158
174
244
193
161
192
237
195
180
196
152
149
255
200
207
262
333
276
179
160
264
233
214
192
166
244
202
210
218
229
256
258
268
217
149
165
154
217
290
148
155
283
185
233
215
188
186
199
237
230
114
351
222
220
327
129
212
181
171
235
262
217
260
234
198
312
236
159
247
170
261
156
291
244
234
203
253
224
205
255
199
177
225
265
281
152
191
198
260
126
205
242
241
258
264
262
186
300
274
173
260
133
234
313
222
236
164
185
252
214
186
161
230
326
320
225
276
210
207
282
198
278
227
214
260
228
259
253
216
267
226
274
189
221
160
205
310
154
195
172
241
274
211
200
148
225
189
210
192
286
279
154
178
189
269
274
154
275
248
180
225
152
235
190
210
254
215
249
275
178
271
211
158
210
250
230
193
195
265
203
192
294
210
226
187
171
200
277
183
186
277
234
257
224
244
154
235
244
298
223
163
254
180
140
181
180
278
214
242
225
335
188
206
269
243
281
160
220
170
283
178
179
270
224
215
225
234
215
218
191
269
229
230
173
251
219
192
226
215
225
249
209
244
236
214
165
254
210
225
234
179
214
149
252
201
224
287
229
358
130
184
229
200
189
266
139
229
224
212
171
238
188
223
198
211
223
144
245
214
255
166
239
238
256
238
234
207
226
257
261
246
375
258
161
278
262
165
203
211
148
248
195
146
114
266
327
222
226
248
268
220
228
211
279
261
253
114
174
229
270
272
273
320
219
342
234
253
224
201
251
198
152
192
247
227
202
241
209
154
202
308
220
228
245
249
313
189
246
185
225
162
211
213
172
230
215
221
312
269
270
219
267
199
245
199
194
271
257
223
190
221
292
170
201
221
251
122
265
221
205
194
128
246
288
270
219
297
230
225
255
219
255
232
166
148
315
219
289
226
173
193
173
194
235
261
188
240
234
169
227
130
200
170
266
198
210
223
240
189
258
198
208
246
216
260
159
255
198
246
170
222
229
214
240
223
165
169
151
247
241
195
211
172
220
175
340
248
244
137
114
193
189
221
300
219
242
182
201
197
205
304
188
247
210
220
206
286
231
244
264
304
240
192
194
154
296
194
310
220
271
237
180
206
208
152
173
242
238
253
217
207
174
190
245
184
280
229
277
240
209
220
271
205
193
187
192
204
168
255
108
250
251
280
304
246
230
208
184
234
221
262
230
146
246
170
197
166
207
297
294
188
280
220
217
242
223
254
157
275
184
206
161
248
228
186
189
223
240
237
162
215
178
247
229
206
250
209
209
193
206
222
204
139
157
196
213
259
225
276
233
230
213
254
236
207
261
272
217
184
234
261
169
184
147
228
242
259
231
247
240
295
267
259
322
208
255
249
114
217
252
260
201
246
283
207
259
167
290
221
232
245
174
303
230
242
238
252
280
195
178
282
183
228
200
176
192
202
208
245
214
260
219
227
166
151
192
185
250
274
187
227
316
221
160
191
253
235
260
288
263
144
192
208
240
226
198
214
207
213
251
185
295
248
249
167
172
208
308
264
229
210
223
242
182
197
108
170
256
205
195
169
251
116
259
213
255
239
205
192
198
318
266
186
226
139
169
255
263
168
174
208
207
260
284
262
228
263
206
157
209
259
227
251
226
178
189
277
114
220
223
257
256
219
262
231
253
216
219
184
258
255
133
251
193
315
247
248
320
277
278
237
188
178
292
231
206
218
219
257
249
266
262
173
173
256
181
230
212
230
232
193
235
254
173
305
254
269
217
198
152
173
277
188
184
206
226
204
311
180
158
279
235
186
192
223
149
261
198
235
222
170
266
235
248
238
143
259
114
269
284
232
259
274
248
262
191
258
261
210
204
240
206
211
341
221
302
158
259
277
265
257
209
306
247
252
219
250
256
300
285
232
215
171
228
209
224
228
265
144
196
200
178
224
215
208
219
230
269
166
161
181
222
188
201
259
293
228
188
281
217
219
308
197
319
273
239
258
203
177
256
190
295
234
192
220
186
180
204
210
217
114
285
156
287
277
216
224
281
222
274
230
253
171
245
195
307
244
185
190
206
304
234
260
220
175
227
220
139
108
209
209
226
244
267
241
246
214
250
222
323
211
267
231
168
221
192
272
225
292
114
193
213
272
160
200
287
129
210
200
170
284
281
182
190
187
160
176
223
353
241
240
148
256
293
304
255
277
180
227
299
199
259
271
173
217
178
178
187
114
223
240
208
264
186
234
258
192
195
198
195
194
233
251
184
213
257
293
355
279
185
234
204
178
169
181
207
279
232
221
294
208
246
156
210
278
173
152
144
126
156
269
251
256
279
247
171
264
226
196
277
151
274
191
244
145
208
242
215
273
175
223
250
226
243
302
262
286
207
280
206
247
156
160
238
152
324
270
240
235
332
214
193
204
254
208
205
218
191
178
227
250
198
247
225
217
211
190
205
239
166
139
265
283
222
238
216
266
222
271
170
265
192
280
243
211
245
248
253
174
302
185
227
234
182
221
291
252
160
318
222
250
239
252
197
191
173
242
215
223
166
198
179
228
331
215
232
209
246
129
173
199
232
198
299
194
217
181
282
270
345
144
181
246
303
219
252
173
240
246
201
223
258
179
224
179
215
271
209
238
204
232
251
223
213
191
264
208
260
276
224
301
237
264
223
196
174
290
243
250
217
161
152
269
211
176
255
210
263
260
222
214
232
191
205
234
235
209
200
213
257
189
214
168
225
169
325
234
173
180
237
191
288
260
292
272
242
274
233
283
197
242
207
214
205
312
221
210
316
220
212
252
302
237
294
206
206
207
376
176
174
197
326
300
179
208
246
196
235
224
218
282
308
205
243
216
214
230
275
214
219
226
252
206
191
214
149
274
209
251
243
264
230
216
256
259
209
253
194
218
196
255
206
179
260
195
214
262
218
198
239
287
274
278
180
315
181
247
266
199
264
271
282
244
190
220
234
221
157
211
163
225
198
114
160
230
225
183
242
196
163
209
184
226
209
196
175
244
174
208
173
194
178
191
284
194
330
203
258
161
219
137
223
281
214
183
239
283
174
161
174
247
327
300
200
176
249
173
237
222
211
241
341
155
227
232
259
209
237
255
166
213
261
244
228
261
224
166
152
263
255
256
219
236
195
232
402
181
227
202
255
249
249
214
258
235
156
264
231
219
198
153
208
294
256
152
256
298
214
227
236
267
146
208
190
230
204
239
278
198
198
249
332
213
226
148
284
246
277
200
160
242
246
242
181
231
206
253
254
209
190
261
198
227
199
218
252
243
241
260
186
163
232
246
307
235
259
147
222
283
152
276
241
139
170
218
207
144
243
269
133
291
200
320
283
213
301
198
208
240
266
245
190
239
108
233
185
224
303
293
195
204
235
243
223
303
238
235
180
195
245
277
194
239
204
152
251
196
248
206
191
238
263
183
202
213
223
191
198
251
186
173
223
209
238
303
219
219
178
175
240
233
170
205
234
285
196
233
215
266
269
269
226
114
310
151
245
174
165
205
256
178
192
235
252
268
192
280
303
285
145
278
215
257
271
222
116
270
303
265
234
274
176
288
274
239
240
216
227
160
230
207
192
226
242
235
261
287
193
270
262
187
278
219
276
255
235
239
333
201
191
184
201
213
260
177
203
238
294
216
203
226
234
173
321
237
185
332
211
181
303
223
180
183
184
139
240
229
217
163
268
180
223
212
219
241
296
254
218
286
252
201
191
250
221
147
223
221
218
149
205
220
218
200
191
241
223
239
270
261
314
156
183
199
266
243
239
239
236
201
191
196
236
170
222
329
256
114
197
215
223
231
256
238
233
220
214
280
198
194
238
214
258
214
208
254
285
259
296
204
254
206
266
214
219
295
224
232
213
221
160
291
195
184
312
198
247
265
217
208
201
225
199
262
179
234
231
187
272
174
173
203
209
252
223
306
205
174
253
239
225
290
198
228
249
238
250
194
216
277
225
200
255
225
244
269
237
286
189
207
126
210
149
228
205
221
285
271
245
170
234
218
175
282
178
202
251
211
249
171
231
363
194
250
210
187
272
139
200
208
209
201
339
182
188
144
228
129
214
292
196
317
224
213
121
210
193
296
239
202
240
178
183
248
191
143
230
174
174
204
209
164
173
230
274
217
264
219
247
158
200
144
215
175
282
200
255
261
242
251
225
213
206
299
200
203
205
197
222
287
211
184
258
207
221
250
195
237
320
221
208
256
256
268
267
220
260
214
252
218
186
198
250
209
224
215
224
229
200
295
215
251
283
203
197
222
218
275
251
195
187
211
250
241
208
174
263
269
234
181
181
242
208
170
237
242
174
349
133
260
285
221
212
292
250
240
231
212
254
198
227
271
266
207
283
266
250
278
234
207
197
247
240
300
198
269
156
273
233
224
196
174
324
299
151
273
303
266
139
204
254
294
218
245
195
261
218
195
223
258
173
217
223
229
193
245
260
234
261
284
191
196
252
219
322
235
216
242
212
240
207
222
192
218
216
253
247
301
231
178
233
169
212
237
274
176
197
185
295
187
173
215
253
197
224
222
207
272
255
255
216
209
236
273
173
214
219
247
239
228
184
167
156
281
229
181
210
254
276
217
169
202
260
178
164
353
233
190
248
249
145
222
182
234
269
198
210
195
291
281
165
192
242
291
152
221
195
202
254
187
307
114
228
213
225
186
114
265
204
237
188
174
284
274
268
295
121
251
231
229
289
220
188
230
235
214
208
224
244
249
221
286
269
158
146
226
238
203
223
173
309
207
218
215
226
238
270
230
227
194
243
232
262
253
204
227
222
249
264
198
242
254
200
258
315
308
240
141
160
256
326
228
139
226
212
211
186
175
220
233
219
202
222
203
280
282
196
192
224
259
218
222
243
199
251
221
237
209
238
241
250
192
265
217
221
220
283
268
250
197
216
192
262
226
330
220
301
209
192
246
189
255
114
106
144
224
240
244
220
154
226
246
233
264
238
240
216
163
251
195
213
260
236
208
236
139
305
207
250
167
264
160
192
248
192
244
263
220
174
206
190
225
192
249
217
231
161
203
245
239
209
243
242
209
231
201
186
139
232
171
247
274
196
222
290
258
242
243
222
240
259
205
286
199
162
221
301
217
219
267
208
262
245
241
209
267
231
249
321
300
289
204
227
209
207
206
198
221
199
198
185
234
239
216
235
196
195
181
242
182
195
186
201
199
243
175
244
263
178
253
206
240
245
239
145
258
239
226
234
194
295
279
284
225
233
247
215
230
249
207
214
278
157
206
251
184
146
233
264
190
328
231
225
222
284
271
252
114
185
162
216
238
320
269
240
203
185
318
313
114
323
234
214
175
261
259
251
245
200
214
185
282
241
168
147
261
242
251
240
225
272
207
268
328
224
161
224
309
283
173
184
214
234
271
229
243
176
310
151
282
220
185
245
218
202
263
155
165
162
204
233
186
221
285
322
253
151
214
191
255
249
182
238
262
156
283
187
177
259
211
267
193
299
257
285
220
203
229
328
205
185
191
139
231
315
241
152
152
247
202
269
215
212
200
316
318
287
206
239
241
248
274
245
204
224
261
198
238
235
231
187
310
174
212
285
235
181
201
239
179
144
284
254
152
199
246
226
279
239
195
233
285
241
188
225
146
215
156
181
170
319
310
210
288
227
207
196
249
235
282
257
231
267
251
114
221
243
289
173
219
185
252
268
233
205
233
193
225
261
197
253
231
246
173
152
252
315
193
241
160
175
239
260
130
218
171
215
263
325
214
281
228
264
181
216
257
256
389
243
268
170
155
222
214
203
234
256
225
166
279
217
246
236
169
265
304
223
207
249
275
175
145
200
185
198
205
230
205
247
235
192
160
222
194
239
216
259
178
184
230
174
285
214
267
288
114
230
252
254
216
230
258
200
270
243
270
257
175
221
188
207
211
145
259
185
263
217
303
244
178
203
260
216
226
278
216
114
114
336
199
222
244
355
215
243
318
214
181
186
146
160
193
175
281
235
192
246
205
277
285
254
315
191
213
218
129
239
227
203
218
225
207
235
262
175
250
179
244
228
195
287
249
262
217
257
223
264
282
156
238
250
178
216
218
231
198
157
200
210
196
225
184
206
275
234
263
156
209
204
213
179
239
177
164
206
306
241
220
167
235
200
195
209
243
226
208
226
200
263
180
171
179
239
244
254
273
214
237
191
200
182
161
156
225
299
181
209
253
223
278
169
210
168
156
173
198
313
219
284
231
242
278
252
214
201
173
265
219
232
153
221
197
158
224
206
260
206
217
183
214
261
183
249
237
231
233
186
209
243
235
205
245
155
277
191
158
188
273
296
281
215
195
231
217
168
226
307
260
208
200
243
292
222
229
198
160
227
248
181
269
260
269
268
219
296
220
228
174
222
333
236
151
174
291
210
219
233
221
244
180
255
231
220
195
181
295
238
211
256
246
121
255
194
232
160
220
204
261
211
214
246
197
233
248
159
222
192
114
251
218
314
231
229
175
224
265
228
189
241
214
254
249
237
250
249
224
228
256
114
254
250
259
363
238
175
280
160
166
205
204
275
198
238
218
179
185
286
207
209
227
228
236
289
156
154
227
246
226
266
232
254
251
198
225
217
218
155
233
230
261
253
243
249
108
257
215
213
209
212
176
235
222
261
153
207
174
212
279
241
180
114
268
126
238
154
178
203
227
222
261
282
165
182
216
237
229
237
213
193
265
332
305
290
198
238
207
224
284
228
225
218
202
264
297
180
181
199
293
257
256
114
261
220
262
190
301
160
275
279
166
227
226
233
208
152
229
266
170
242
278
270
184
311
283
278
268
162
264
244
170
161
263
277
277
201
206
279
210
211
254
229
149
200
210
126
189
206
226
259
222
182
193
237
278
244
186
201
192
198
164
214
190
185
222
204
258
205
167
236
148
171
174
194
258
174
333
252
323
234
236
116
188
308
213
241
288
168
232
279
234
190
191
197
256
226
232
220
239
202
242
225
262
180
235
230
308
203
191
247
260
270
235
218
296
274
240
236
259
181
175
192
262
167
222
178
213
243
238
215
223
264
221
232
244
266
180
252
228
169
248
217
272
272
265
248
266
227
168
230
126
330
189
233
168
201
254
292
201
230
239
233
246
168
204
261
214
196
126
228
242
168
188
195
247
216
201
254
282
156
189
236
208
246
229
231
282
114
196
206
260
214
257
204
340
292
284
157
263
198
259
291
282
179
149
234
204
277
226
167
245
273
166
231
240
269
291
249
238
260
261
244
297
247
173
181
229
184
241
172
231
275
262
244
198
200
176
160
211
201
197
253
235
235
235
141
243
300
198
156
179
252
175
206
181
198
145
236
353
263
231
209
152
281
178
246
283
182
160
230
139
173
270
157
224
237
194
264
230
211
157
219
200
156
271
213
231
239
208
227
257
253
230
231
260
175
255
221
221
218
163
233
144
166
220
222
234
204
215
279
210
204
174
239
160
270
249
254
139
238
241
172
192
228
169
229
225
161
262
160
283
173
228
273
233
232
197
270
265
263
249
177
289
245
209
290
210
276
224
258
195
152
170
235
211
238
156
220
219
283
295
210
164
195
250
144
244
259
249
202
201
225
195
160
265
168
277
160
249
285
197
139
227
203
233
331
159
163
210
233
269
211
214
217
228
170
202
230
233
231
209
207
229
304
227
168
156
242
271
288
184
169
263
198
208
200
187
236
334
163
240
240
229
225
254
292
255
248
239
195
212
213
222
227
206
220
243
216
179
198
264
243
263
291
170
226
169
174
282
238
216
258
209
266
182
263
161
209
247
241
291
250
178
212
248
262
164
177
182
307
173
191
227
308
265
135
200
200
249
224
198
237
225
191
255
219
219
154
255
222
207
203
213
217
208
248
216
154
236
152
226
225
241
234
251
156
184
244
235
192
201
305
129
202
200
161
250
258
190
241
231
246
195
194
272
253
358
215
192
163
202
162
211
216
260
233
166
190
243
192
232
188
209
204
185
206
337
252
274
233
230
213
184
184
286
256
250
254
265
203
305
233
206
235
208
173
216
265
193
228
255
224
232
279
225
276
233
161
199
211
207
208
231
301
237
187
228
183
200
162
247
179
210
263
220
260
179
294
220
265
286
283
197
151
291
170
235
248
261
271
219
262
145
226
184
201
224
200
197
181
301
211
224
356
217
161
181
239
224
181
231
276
208
174
236
192
280
268
179
222
180
220
264
195
188
196
304
201
233
229
224
235
225
216
289
269
256
339
212
152
286
247
241
265
205
235
212
244
156
227
179
212
208
180
207
308
176
270
249
222
216
228
223
189
309
285
211
241
146
306
241
178
220
250
242
145
121
210
194
175
201
211
241
275
205
208
251
279
220
288
178
248
222
294
276
239
243
213
179
197
272
291
218
253
261
251
214
249
219
157
239
264
227
225
205
310
278
278
290
199
289
306
229
203
218
300
167
266
278
191
139
233
211
254
215
199
165
286
198
256
180
227
300
186
194
216
198
210
334
275
287
178
199
191
193
247
274
255
245
219
253
232
228
173
210
214
217
203
114
227
214
230
290
230
234
161
180
166
228
232
188
231
248
242
277
216
242
228
175
282
208
121
225
232
275
133
239
199
213
271
260
218
246
198
196
114
175
198
272
273
234
126
192
247
126
285
196
184
270
284
328
156
221
266
249
244
237
263
229
200
266
174
243
290
213
229
237
218
164
139
178
271
116
238
300
219
282
259
200
215
229
239
197
232
209
306
221
280
223
291
230
157
174
268
289
201
243
210
213
214
337
152
258
273
214
281
190
291
200
229
279
282
185
229
297
187
169
174
262
212
250
191
262
242
213
130
225
165
194
245
198
213
114
245
226
232
213
157
292
272
242
282
238
212
271
237
228
249
288
238
232
284
240
277
184
276
241
265
197
195
175
215
145
225
242
180
233
310
206
255
141
225
266
205
185
199
282
250
341
161
187
216
194
177
301
262
235
226
232
121
160
336
215
191
170
192
208
206
229
202
114
353
236
239
213
232
239
289
255
195
236
270
252
252
209
192
181
231
309
303
196
215
172
203
214
199
204
177
287
211
280
236
233
247
212
165
235
184
244
285
265
244
212
315
207
174
262
184
232
262
262
208
336
233
114
246
152
186
253
224
232
209
194
282
195
213
160
173
281
179
281
149
176
175
262
222
241
281
146
199
223
214
199
236
224
269
252
295
106
247
295
193
279
197
189
198
214
174
211
261
214
244
156
252
277
207
181
230
265
267
251
313
270
261
260
264
278
231
166
271
220
290
260
234
211
221
154
239
203
151
183
187
244
218
278
273
222
256
197
241
317
154
183
267
202
234
174
267
209
230
226
237
251
355
218
114
173
236
246
339
197
282
207
294
220
197
264
221
258
267
170
189
214
207
222
178
249
200
114
245
207
244
236
259
245
209
264
176
223
213
239
181
228
260
174
222
260
249
175
203
274
176
283
255
203
236
169
209
234
234
277
258
219
235
277
215
215
209
259
220
205
269
281
245
139
235
240
236
194
290
248
151
236
203
210
239
181
169
234
209
279
308
216
176
241
250
258
204
182
182
219
252
234
194
208
247
189
166
298
212
271
153
192
327
242
215
262
254
251
194
247
222
243
306
148
173
245
178
243
239
250
241
174
207
252
211
231
247
218
172
189
266
194
227
233
205
212
194
173
269
222
228
255
213
213
173
202
374
282
196
217
253
234
305
173
189
210
200
229
259
145
318
244
185
230
165
182
244
249
244
306
191
243
247
222
252
144
174
188
250
223
254
198
266
208
298
273
196
284
266
292
173
190
231
183
246
220
330
192
258
181
234
215
286
121
277
206
164
226
245
249
229
233
163
282
179
225
222
229
231
192
219
184
177
275
286
188
282
114
144
326
232
160
189
196
245
210
188
221
245
226
162
189
141
198
286
218
270
229
296
179
303
227
229
218
237
243
254
220
167
227
224
184
246
189
232
187
197
270
273
186
178
215
209
156
314
224
256
188
271
239
172
273
198
269
215
278
192
213
177
207
270
198
265
175
228
215
198
175
175
237
163
139
154
222
211
166
312
231
158
278
147
174
292
209
219
287
310
277
211
241
192
212
305
194
270
248
254
267
255
251
285
213
243
262
281
206
310
218
220
209
160
224
214
209
227
172
214
179
299
293
229
181
183
283
212
227
250
286
231
203
343
254
293
199
171
205
272
213
166
201
267
231
204
188
149
226
151
222
204
170
175
244
210
170
199
267
173
299
243
276
170
194
152
206
287
214
147
274
255
264
198
170
239
194
173
255
157
207
266
214
241
229
264
199
229
313
223
216
243
186
263
229
173
174
174
251
209
225
216
256
222
278
209
210
238
299
241
215
228
180
220
137
218
245
251
225
212
278
184
187
174
228
151
226
278
247
297
247
263
214
291
160
207
200
169
273
199
257
184
312
221
264
352
234
170
277
251
253
289
224
211
239
235
246
276
160
235
301
258
204
229
245
303
169
250
317
255
233
226
253
224
202
191
237
184
362
260
194
266
190
238
259
232
199
243
252
185
256
271
275
219
172
189
169
230
334
241
192
181
213
285
295
225
241
241
187
196
190
247
193
240
173
273
156
295
244
144
144
242
214
234
258
238
234
247
225
247
212
168
264
192
258
180
198
366
165
227
280
225
235
195
275
288
170
216
247
227
196
255
146
260
240
269
213
219
270
274
222
235
207
210
201
192
277
212
289
176
258
211
231
226
126
218
227
193
225
273
175
229
265
252
193
256
191
218
243
313
168
156
230
246
277
209
206
268
173
266
165
160
168
325
181
232
214
197
293
165
240
180
189
280
196
184
286
179
291
210
221
205
147
193
114
249
293
218
295
156
210
222
156
240
249
251
259
282
227
226
240
225
227
195
238
238
211
174
216
190
306
189
228
287
220
237
308
241
301
274
241
234
201
218
163
162
169
213
271
221
267
232
269
204
279
258
209
275
340
300
178
234
192
269
164
149
210
232
206
247
198
290
214
288
248
259
274
225
178
240
230
211
257
286
185
272
342
191
234
217
247
262
202
202
213
204
303
161
245
254
263
151
295
226
196
234
246
156
221
233
114
224
229
242
231
357
201
179
220
178
178
214
230
146
249
271
273
225
197
170
236
217
185
210
292
227
157
208
235
215
255
244
219
174
214
224
237
181
235
169
187
212
201
149
230
224
255
228
212
175
162
191
253
206
139
173
239
264
238
218
192
302
211
162
358
243
258
335
161
169
315
116
204
216
228
209
246
239
223
180
227
189
289
178
222
219
230
259
225
216
162
152
261
223
266
261
214
162
265
249
114
165
168
297
248
305
146
278
287
249
265
258
206
222
263
169
301
231
263
252
241
157
298
219
189
255
248
295
251
192
160
231
285
190
290
247
216
216
303
239
263
191
252
225
270
209
146
243
225
214
203
197
277
176
235
239
207
285
194
181
219
193
187
195
169
264
212
198
247
265
207
209
240
170
208
250
170
193
193
200
172
268
235
296
195
247
114
255
162
203
170
236
269
211
258
178
207
152
211
267
254
206
259
200
227
202
192
247
229
297
270
153
322
192
303
226
321
218
235
244
202
225
200
209
166
284
313
293
309
257
302
162
229
269
233
278
116
217
238
244
266
252
237
156
191
273
224
240
232
221
205
211
202
253
193
230
170
174
247
196
253
223
199
226
217
211
305
234
273
225
243
251
264
168
300
237
158
216
290
204
179
284
199
157
269
261
224
313
237
213
267
152
205
233
204
232
212
193
342
230
276
275
260
199
162
204
184
256
287
222
179
229
147
254
183
185
214
248
190
240
254
226
215
262
165
153
288
291
152
331
247
213
264
262
214
250
206
187
262
162
225
280
251
229
247
238
203
228
296
327
299
173
196
126
198
179
222
231
181
178
246
176
196
175
210
222
184
200
216
180
277
208
234
246
162
203
151
289
153
251
178
185
204
269
180
230
226
204
305
246
242
114
258
263
167
256
191
247
250
217
300
232
282
236
208
259
215
218
164
246
220
216
198
198
230
290
255
262
165
245
222
264
238
198
210
207
228
269
237
277
292
210
329
171
267
238
246
216
169
251
236
227
252
231
212
161
257
116
311
249
231
218
232
170
154
221
255
248
181
205
220
229
248
306
277
228
182
209
198
242
194
274
256
226
256
213
256
252
252
214
114
207
264
203
241
144
310
230
174
243
331
240
181
229
199
223
210
231
295
280
212
178
232
192
185
205
220
232
270
217
243
185
216
270
243
219
216
238
203
229
134
178
218
223
216
208
243
236
255
280
260
165
230
269
292
256
210
209
210
227
220
207
248
260
229
139
175
284
213
300
202
227
219
208
238
234
177
195
272
270
149
161
247
278
174
285
201
129
178
225
213
182
197
245
194
214
194
210
289
145
163
212
257
291
175
253
251
196
242
224
210
203
232
276
290
292
160
272
260
197
228
241
215
220
309
201
229
274
224
191
201
308
164
230
204
225
253
180
239
152
263
216
252
192
298
148
276
257
259
220
235
211
174
162
238
240
287
198
179
282
299
260
244
233
156
223
320
240
260
250
126
221
173
235
178
187
242
248
269
244
280
214
241
231
272
252
202
175
227
271
163
192
260
248
202
260
249
177
219
343
262
258
267
291
189
226
182
180
283
152
186
234
284
323
230
237
256
193
234
270
139
178
234
229
153
155
299
181
225
205
141
212
168
227
222
254
195
198
298
227
154
217
193
269
217
211
259
288
193
253
169
262
261
258
175
196
228
248
209
177
173
192
220
247
197
186
260
258
250
194
243
176
195
189
202
210
235
209
213
173
247
175
253
178
270
229
193
210
224
197
183
247
245
144
218
196
234
108
210
182
231
305
273
181
195
278
301
229
173
276
243
195
160
277
198
203
195
244
217
208
249
203
201
206
137
179
251
234
165
292
264
225
239
217
238
226
235
225
190
194
205
185
190
251
213
140
238
262
241
160
238
196
202
264
191
221
178
241
275
167
356
170
334
168
207
231
221
175
145
192
247
228
181
280
258
179
164
247
154
179
159
251
160
253
340
274
295
295
230
114
245
214
180
114
269
195
243
228
246
214
241
199
194
126
206
176
198
276
258
225
226
206
172
205
200
170
139
264
239
178
190
187
203
260
252
222
263
214
240
245
207
148
216
178
146
190
262
156
161
176
276
256
147
149
213
239
146
203
254
184
242
207
239
234
252
186
203
211
196
238
231
229
250
180
275
215
208
257
263
144
230
206
198
229
382
210
246
165
197
205
222
248
238
200
207
178
212
205
228
178
257
231
173
286
190
106
189
238
225
250
221
258
233
260
218
358
230
258
253
181
217
205
236
308
151
267
182
191
227
257
253
198
228
162
206
268
194
157
236
216
247
232
152
212
238
177
198
218
278
210
221
235
222
301
278
235
278
116
192
212
215
262
177
246
207
229
178
192
188
194
248
233
236
216
213
315
287
204
240
287
191
240
204
220
245
235
293
130
309
202
254
226
178
180
233
175
292
189
210
231
226
204
156
227
333
216
152
218
195
241
116
247
276
220
186
249
239
179
218
230
219
176
225
144
278
250
252
282
239
309
243
289
248
266
252
179
303
230
227
177
194
235
174
166
266
293
300
247
206
182
278
204
171
207
209
221
263
219
248
253
245
274
226
195
282
213
171
146
238
193
252
254
241
249
229
218
233
284
192
229
235
249
209
192
319
160
279
249
196
234
210
221
338
174
257
308
183
278
218
263
238
210
226
178
182
236
190
315
165
232
200
222
180
134
193
203
240
196
210
168
235
206
196
298
213
179
275
160
192
210
159
234
297
254
274
261
270
320
128
205
301
238
223
322
184
179
170
194
221
276
208
185
260
178
350
190
237
166
278
258
286
231
192
196
234
209
253
252
249
257
203
222
253
189
159
300
257
227
258
224
249
196
307
223
265
192
181
274
251
210
219
272
239
271
178
212
256
268
161
336
222
198
204
178
216
286
259
182
347
261
208
181
246
177
219
240
283
177
191
122
180
233
165
275
283
259
149
158
253
241
230
162
130
202
152
226
175
213
225
266
114
255
213
289
277
221
181
245
257
195
258
236
302
226
207
146
232
170
218
196
225
215
188
136
177
262
237
272
167
267
214
282
157
160
240
181
114
207
192
264
214
284
249
168
219
202
173
267
210
182
199
149
114
235
230
199
246
296
234
247
236
253
314
192
283
210
244
213
203
162
254
279
158
256
197
221
198
270
213
224
234
296
204
188
170
206
198
247
177
247
273
336
250
183
232
217
223
240
205
215
234
259
281
208
198
255
267
192
286
228
322
266
215
217
215
252
219
284
235
159
226
196
274
257
231
277
188
225
280
126
126
200
280
197
163
238
208
210
207
288
210
198
144
219
283
218
210
201
236
256
267
299
161
228
154
217
145
198
214
213
207
274
222
199
244
227
227
213
171
301
187
231
261
258
217
310
272
183
155
214
160
188
227
197
246
192
274
232
207
260
204
234
191
241
164
240
329
223
235
184
183
225
160
164
214
191
178
217
217
249
235
194
114
188
208
269
219
324
311
239
145
201
225
209
187
246
228
245
258
145
297
197
270
183
335
224
195
239
183
148
199
240
305
225
270
258
289
253
226
256
202
262
174
204
158
189
201
232
225
229
196
249
219
151
221
175
157
258
294
291
306
216
231
282
281
195
238
237
192
286
202
156
233
233
176
167
194
114
139
285
198
253
192
312
209
229
233
212
225
246
287
242
154
133
258
210
190
232
220
181
186
295
114
257
172
192
222
242
306
202
209
291
156
306
247
267
214
212
261
228
180
243
173
223
179
236
213
239
298
400
161
212
175
170
172
226
255
301
230
248
222
252
197
249
270
202
214
267
215
241
261
162
178
198
223
205
238
251
255
199
175
208
170
217
182
163
239
178
251
209
198
226
221
211
211
248
206
225
162
181
206
208
200
264
151
169
240
226
195
169
215
253
277
182
259
226
193
192
249
197
214
290
189
223
202
126
272
233
219
196
315
221
252
228
196
343
230
244
225
215
295
278
266
237
205
269
183
308
183
220
188
199
288
204
197
114
270
281
208
152
257
151
297
160
186
298
267
322
174
273
211
285
280
251
230
201
157
337
203
242
166
151
215
244
256
189
271
217
182
114
273
306
159
287
245
212
139
228
201
267
203
186
268
218
177
225
340
259
189
231
237
156
203
208
208
233
238
222
194
208
236
272
180
170
151
242
155
178
219
202
264
192
234
244
229
204
343
253
281
253
224
263
156
196
232
177
275
194
283
233
231
245
268
182
192
252
260
170
231
341
276
188
179
244
213
185
218
292
194
220
215
197
210
238
243
276
187
186
114
154
233
253
289
170
166
297
262
233
233
225
146
220
230
114
278
214
230
116
208
267
247
248
333
283
274
190
199
200
213
210
235
211
222
188
285
243
215
199
252
221
245
222
201
208
237
252
283
167
203
246
207
287
178
206
224
180
227
126
224
215
182
221
212
163
188
283
338
228
264
249
256
178
186
208
193
266
158
254
222
260
279
258
227
225
219
285
223
255
225
194
249
200
228
160
319
314
224
239
210
298
191
230
225
238
145
219
170
260
261
242
114
260
144
215
197
249
184
234
204
205
315
252
262
279
190
237
348
178
246
178
234
159
231
241
195
219
312
199
229
298
249
254
258
206
252
144
214
195
230
263
196
197
194
240
309
225
203
176
253
247
319
262
290
270
240
240
283
229
181
212
293
200
116
238
226
244
246
186
283
209
262
181
254
250
214
255
203
248
156
206
220
216
260
240
233
200
238
286
188
311
177
174
180
302
214
251
219
219
193
159
288
298
254
236
183
176
308
214
366
180
175
170
306
179
210
236
173
167
182
213
228
228
243
191
217
265
204
242
199
206
256
243
201
259
221
192
160
250
289
211
289
179
211
322
114
205
208
196
285
173
290
302
222
268
180
154
206
276
225
230
283
257
157
198
252
194
286
205
223
257
211
202
219
264
313
312
282
258
198
243
238
313
163
286
296
211
234
221
279
255
273
303
174
233
210
286
231
284
180
168
217
242
286
223
175
262
196
155
216
210
262
296
213
244
250
313
266
222
250
156
231
192
211
234
219
231
231
198
183
190
235
241
241
202
241
270
143
231
342
199
204
247
165
210
291
367
216
267
215
245
160
214
231
167
213
205
223
226
173
221
223
239
210
226
252
191
239
238
207
310
210
195
236
206
257
186
198
239
234
316
236
235
259
189
243
205
289
250
175
212
336
267
241
206
239
181
293
198
209
187
227
216
192
173
289
279
205
246
227
174
249
176
214
262
277
207
236
221
279
297
293
158
173
192
260
242
214
234
225
231
152
198
349
226
169
261
244
219
161
278
151
257
238
277
193
189
278
220
229
244
236
258
175
219
249
265
220
227
271
221
198
264
275
165
224
171
161
236
228
228
178
236
144
240
215
221
265
239
187
209
273
249
178
213
235
248
193
145
265
162
178
196
199
214
202
165
261
291
229
260
242
185
245
242
313
166
252
195
228
243
240
259
219
223
181
194
165
161
250
268
214
252
170
188
208
228
251
160
241
221
257
183
156
258
258
334
215
199
280
149
213
195
271
290
215
233
249
201
149
292
230
175
182
233
254
281
156
214
258
258
161
290
114
210
201
263
214
152
154
261
186
262
227
216
168
235
270
222
279
239
209
293
198
311
243
152
203
331
245
222
217
189
222
198
227
256
192
294
248
234
129
232
231
201
188
221
250
205
218
291
193
218
160
242
215
165
203
168
221
139
175
191
234
245
184
285
256
226
203
277
217
284
156
243
231
220
272
202
193
245
303
240
283
221
181
263
185
250
283
234
220
114
252
282
241
260
198
232
198
226
313
214
233
309
215
212
270
233
186
257
256
204
253
172
176
190
184
178
167
294
279
191
227
222
198
189
220
257
204
160
160
173
200
188
291
277
180
192
249
252
214
357
254
196
330
253
212
149
208
195
114
310
273
227
231
133
261
308
221
200
216
226
231
220
291
226
216
183
255
166
242
312
261
203
312
257
240
251
219
223
265
230
180
267
200
252
250
314
285
258
275
210
244
160
226
181
280
210
189
290
307
162
158
146
172
227
253
286
230
189
259
243
213
278
262
216
228
235
196
228
240
260
216
186
174
266
292
225
245
263
184
232
229
330
354
239
174
253
248
248
249
286
262
283
246
232
280
287
240
216
248
156
210
278
182
192
245
180
247
229
276
201
273
202
184
339
343
241
262
248
198
250
202
230
273
216
176
222
244
202
257
221
236
170
223
178
293
255
212
256
271
223
279
207
145
225
220
230
176
232
226
169
206
256
252
222
294
236
139
220
193
274
184
181
244
208
245
161
146
108
258
114
340
195
216
300
171
234
270
149
327
177
234
179
233
264
236
197
253
189
215
255
232
222
283
193
198
195
212
241
165
217
186
253
185
178
240
193
215
168
180
187
282
253
237
221
185
223
233
163
232
229
139
254
245
215
258
157
202
145
218
243
244
265
266
222
139
274
159
188
229
126
182
199
219
114
265
221
114
218
198
252
212
311
361
164
163
207
183
186
228
191
301
162
154
281
301
262
234
199
179
180
241
235
192
253
242
259
202
204
196
218
257
198
215
315
224
192
246
236
250
192
205
252
139
250
235
241
233
302
154
191
217
223
170
201
203
239
234
294
250
206
175
186
226
232
290
158
183
174
333
200
225
197
275
271
289
152
260
217
173
221
223
306
249
249
233
267
219
237
302
270
114
166
179
285
240
284
239
226
202
171
271
303
220
260
229
237
213
268
228
214
267
253
227
218
229
195
217
230
233
169
208
244
302
262
205
208
243
296
263
265
240
267
170
231
213
335
254
185
284
216
205
228
198
291
224
227
218
181
251
248
262
116
263
264
284
205
292
233
296
239
243
193
139
220
289
218
235
196
181
238
153
198
228
232
247
256
200
234
172
229
250
162
261
242
205
167
237
230
261
195
233
207
229
272
258
251
239
277
279
226
149
137
207
188
175
220
262
252
262
242
267
168
266
174
186
349
256
167
213
170
238
185
188
219
209
237
213
250
263
230
114
221
219
209
257
184
261
214
207
225
224
221
192
157
307
198
261
260
201
207
263
256
193
213
220
170
204
171
337
229
188
198
303
256
189
219
202
173
266
195
313
306
311
339
195
170
206
160
173
196
235
235
214
232
315
158
193
331
271
211
256
172
312
193
220
237
216
256
191
206
256
205
169
191
139
170
161
226
157
206
169
175
239
233
190
213
228
156
156
200
195
253
253
216
178
220
106
237
262
256
238
243
192
238
151
247
148
176
168
259
216
167
276
198
232
263
269
182
248
282
179
211
168
181
312
261
313
242
304
253
196
232
198
254
185
215
254
260
232
319
295
223
206
223
173
282
228
176
201
235
278
261
274
229
178
205
272
173
220
253
294
182
114
299
219
235
261
251
218
248
186
234
283
211
181
126
188
246
202
232
198
221
238
232
225
202
280
229
133
174
198
237
202
219
229
273
197
248
253
232
208
218
234
114
221
275
293
284
246
226
214
207
190
326
247
244
266
147
320
277
204
182
213
284
287
212
209
224
221
248
201
274
184
178
206
211
278
175
175
222
179
197
172
217
233
218
231
183
199
288
182
299
233
277
208
212
260
228
253
163
180
227
244
232
256
221
200
239
292
190
288
174
260
285
240
289
114
232
245
256
258
204
114
151
215
218
199
277
173
202
250
250
253
233
144
177
200
195
218
195
263
211
264
181
270
144
177
292
251
240
156
201
267
198
259
273
139
231
206
274
225
290
332
214
181
216
257
209
174
241
234
240
161
225
203
253
225
207
247
235
188
252
165
221
315
214
201
182
214
245
253
223
176
227
258
252
245
231
209
260
193
179
204
190
245
247
170
159
239
158
233
245
197
231
261
228
192
178
216
192
349
291
278
252
166
202
139
271
241
292
201
241
178
262
286
208
192
165
272
189
298
156
154
234
209
170
222
205
203
196
278
179
276
200
225
242
227
244
224
244
160
196
152
203
200
244
234
219
128
174
178
236
129
284
126
288
297
224
204
243
251
206
246
214
250
258
233
156
219
188
251
301
288
267
213
175
260
146
152
181
194
203
289
193
150
159
202
271
200
193
182
204
205
242
208
305
244
289
291
173
251
161
227
196
288
221
236
243
210
279
307
184
241
211
172
231
236
204
232
160
232
212
228
209
281
333
250
222
196
273
180
189
168
227
233
258
181
207
250
237
188
159
229
223
306
161
151
252
280
152
194
254
269
233
208
219
178
179
175
309
259
226
218
222
160
244
214
205
314
193
246
241
338
217
178
250
192
281
231
172
224
259
243
248
252
244
260
241
286
214
229
209
270
295
176
203
233
276
198
233
231
192
237
234
230
212
211
236
329
177
242
221
208
189
218
245
232
228
172
269
114
213
191
178
262
286
200
246
209
243
220
237
157
223
231
230
201
231
285
273
196
208
193
260
213
266
228
247
268
195
166
181
257
255
225
258
126
227
220
233
281
270
231
274
126
160
209
276
175
198
178
144
114
256
167
205
246
116
239
220
205
230
249
219
212
270
214
316
254
189
242
208
247
313
178
231
168
229
222
227
180
207
288
207
208
208
244
263
188
244
293
210
254
183
249
273
266
297
247
247
256
153
291
183
292
181
193
181
258
160
222
244
258
226
222
229
186
337
237
270
293
204
164
210
241
239
240
238
192
210
272
278
218
143
189
224
270
237
170
209
174
222
288
211
231
220
157
191
280
306
175
234
241
214
270
213
275
235
129
266
214
170
191
217
257
276
212
215
250
231
215
176
221
265
171
230
220
174
289
181
234
174
243
197
178
158
263
249
220
180
251
288
202
267
155
265
216
226
245
235
264
165
254
234
216
201
269
249
213
208
233
241
268
186
151
180
245
239
216
187
116
198
160
213
182
249
192
202
228
242
244
298
205
214
269
169
190
252
144
237
354
192
263
235
262
215
228
170
188
129
191
257
158
152
114
228
221
183
208
216
229
227
292
217
227
201
358
243
222
200
279
158
250
232
250
247
281
152
218
160
237
242
266
145
184
276
200
265
231
114
248
259
211
242
268
239
260
184
201
199
218
204
197
219
256
251
189
246
255
199
252
244
351
169
199
223
221
252
178
235
187
197
226
243
195
354
183
230
260
225
126
241
243
215
314
185
277
175
207
214
173
271
240
200
207
253
258
244
175
314
235
225
193
225
307
203
232
162
273
232
195
220
255
262
257
189
228
225
226
192
221
333
225
285
210
227
181
213
242
234
247
148
181
242
176
251
183
194
202
198
271
223
315
203
266
231
204
286
179
247
195
284
173
200
165
159
188
181
235
254
170
180
305
151
247
249
175
259
232
253
179
239
167
114
244
235
243
345
244
173
176
233
211
165
203
294
331
193
252
188
217
196
213
239
259
268
220
225
270
217
243
205
167
243
320
254
213
146
279
196
314
259
222
224
240
306
197
209
152
224
215
170
240
160
268
223
288
333
223
206
303
208
268
231
295
187
307
264
195
220
179
189
143
244
179
269
200
161
231
199
239
252
246
231
236
217
273
225
262
156
240
193
114
237
249
251
300
221
265
255
114
219
253
230
202
215
228
230
243
210
170
126
175
222
222
220
201
279
179
188
281
228
262
218
200
243
286
233
239
197
196
154
176
227
305
208
245
224
214
292
206
206
176
151
206
215
259
321
200
171
228
228
237
357
273
161
213
278
285
240
191
229
274
262
214
195
217
245
221
183
257
203
182
168
241
225
175
263
198
162
161
195
230
215
205
207
197
243
207
207
282
210
174
237
284
206
241
178
211
193
273
243
165
191
233
280
251
315
214
168
171
214
149
181
182
209
256
248
217
188
207
257
178
273
221
249
176
232
148
198
184
254
233
146
234
166
260
302
194
263
230
218
211
210
211
243
235
222
209
269
196
251
232
207
245
139
224
236
126
258
266
133
242
208
226
152
217
151
114
295
267
203
221
217
210
298
230
323
228
262
190
225
155
187
187
236
264
175
166
312
241
206
305
200
240
213
173
220
265
160
264
277
271
194
255
289
195
174
253
286
289
181
269
282
235
296
197
257
180
256
249
282
184
170
228
160
225
215
259
204
207
199
278
153
164
211
244
182
185
232
180
180
208
220
247
220
271
258
244
174
259
226
243
189
197
206
224
192
225
262
247
203
258
229
185
292
241
241
196
244
237
242
179
175
221
232
140
156
188
229
188
255
199
177
245
267
290
200
225
244
236
228
200
245
222
191
275
203
292
198
188
215
156
204
233
238
259
289
201
192
231
270
277
198
259
129
267
160
194
296
170
221
235
230
215
234
170
248
249
271
272
151
159
242
284
224
158
256
189
216
267
255
181
228
228
340
194
259
217
345
217
198
247
192
218
174
139
233
204
229
242
174
258
214
192
188
254
190
272
169
197
260
226
319
269
233
273
153
324
222
186
145
286
293
257
114
257
233
207
229
152
222
219
268
201
219
215
232
223
194
255
163
254
192
313
252
207
265
214
255
191
200
209
279
168
292
234
144
325
238
201
226
272
268
272
240
181
114
252
318
266
179
156
240
261
290
171
253
227
208
267
231
166
175
173
277
239
282
299
200
247
193
234
176
194
256
220
134
155
205
332
324
283
269
213
219
280
156
285
231
258
196
234
243
215
247
252
218
233
262
221
222
229
211
237
305
165
221
214
226
180
260
194
286
269
165
239
287
175
256
243
194
223
232
171
189
163
182
189
213
231
209
228
353
217
181
212
179
234
139
220
208
218
198
190
241
315
198
163
298
212
170
196
249
175
364
168
182
236
184
234
204
241
215
235
151
242
197
208
256
215
249
254
171
229
198
191
251
161
225
194
147
165
226
277
342
183
239
189
186
233
185
230
232
208
181
195
209
282
260
223
185
139
146
292
208
218
275
244
207
145
186
220
247
294
173
266
283
200
240
265
216
223
218
224
215
184
185
236
205
207
258
273
242
269
263
234
245
204
234
233
196
271
221
206
276
227
192
196
256
267
215
126
303
200
175
227
139
186
160
247
174
210
207
249
200
246
234
250
248
184
230
212
247
202
307
170
174
246
237
230
234
211
270
163
310
173
293
144
173
265
219
208
246
271
230
319
222
227
213
216
238
247
199
209
270
180
206
174
234
211
178
229
233
225
223
200
214
286
162
202
275
226
285
209
255
295
244
175
202
220
180
236
228
214
204
172
221
238
174
294
281
213
114
228
258
226
222
195
236
241
196
203
168
262
254
306
275
222
217
233
279
263
190
198
181
222
222
194
247
252
166
203
239
197
217
182
187
208
274
223
282
222
251
323
190
276
243
232
303
201
174
114
211
227
277
189
211
169
254
238
184
160
336
228
257
169
273
215
209
213
238
238
281
189
237
241
159
296
193
203
196
207
205
247
266
222
244
181
317
241
170
178
178
249
272
235
259
204
240
232
214
255
228
192
175
151
206
173
192
321
193
218
149
246
214
174
158
349
288
247
185
293
212
172
180
231
241
330
266
158
252
200
193
236
200
270
158
271
213
274
314
114
215
295
153
241
126
220
222
272
170
220
232
247
213
154
251
252
212
302
211
230
252
259
193
235
239
244
238
306
253
186
177
192
304
219
204
218
195
281
212
251
260
206
200
148
223
238
291
221
194
216
190
217
219
220
208
294
157
219
274
247
269
249
207
202
173
218
206
307
184
275
335
249
231
181
198
192
189
275
192
186
189
230
248
236
234
244
166
234
203
165
226
187
247
197
158
265
155
217
215
219
193
146
175
307
206
273
283
270
234
158
194
265
245
215
188
174
220
259
257
174
241
232
220
287
228
145
228
155
319
250
286
170
192
181
114
231
246
224
249
222
209
195
208
244
198
232
262
200
258
116
250
217
323
273
198
249
166
311
235
281
235
212
236
263
193
191
213
202
198
242
226
212
220
211
217
164
176
209
214
209
217
260
248
225
264
147
259
233
212
307
133
229
239
241
207
203
214
240
239
200
247
221
201
170
241
192
245
161
207
229
208
215
181
191
133
222
218
182
270
225
367
173
162
240
302
207
207
239
234
238
172
272
195
195
227
252
198
222
285
243
240
211
213
258
301
259
222
189
229
208
198
178
257
191
187
275
272
260
211
257
259
229
250
184
114
254
192
201
244
226
234
194
188
176
220
262
267
270
312
288
237
285
225
249
266
283
195
231
191
277
245
234
151
219
224
219
145
233
175
205
277
180
141
255
239
354
197
182
208
177
224
217
193
205
271
260
235
215
314
329
266
194
214
247
248
165
200
232
189
196
188
185
225
194
183
301
230
329
204
160
212
201
145
264
304
293
238
249
184
198
164
158
222
198
116
205
181
169
217
272
223
192
234
288
165
247
309
238
200
200
229
261
190
300
195
198
252
235
108
245
234
214
284
251
247
229
229
162
205
242
237
212
198
249
241
258
296
221
186
226
287
205
219
126
207
242
235
235
303
229
156
202
218
180
240
250
306
254
257
197
233
225
269
200
183
220
311
183
192
183
235
229
238
217
217
305
233
227
238
284
180
229
200
378
186
264
211
224
162
240
240
170
249
273
269
149
254
206
195
283
213
217
212
312
206
221
244
230
238
224
153
240
254
232
180
194
302
195
171
210
225
156
276
181
252
175
271
212
323
226
226
263
222
207
266
203
189
295
281
129
129
182
238
298
188
258
225
285
213
278
220
212
151
240
219
152
267
200
238
283
284
197
194
202
194
180
221
244
220
240
204
176
187
170
211
205
228
192
251
197
228
258
184
221
215
170
207
211
275
229
179
257
241
185
238
176
196
202
247
258
155
231
154
200
179
247
177
225
269
250
258
256
230
284
277
225
231
253
106
220
254
248
192
114
212
269
209
241
241
210
116
292
272
251
220
266
225
196
269
255
302
241
161
250
210
281
194
182
187
250
230
252
358
244
156
188
213
185
305
196
206
237
300
180
231
116
361
211
261
281
297
274
262
201
162
114
198
241
274
247
217
161
261
206
263
203
263
268
209
191
347
284
214
268
275
173
239
245
209
249
251
242
248
178
256
312
270
192
201
207
218
274
260
243
211
264
229
229
239
266
249
301
235
189
256
152
130
272
169
213
282
171
263
205
222
338
175
228
216
179
220
301
354
215
174
154
227
210
208
215
274
216
216
260
229
214
208
184
151
231
238
256
229
234
253
222
202
209
251
267
238
251
176
260
170
257
239
202
284
149
285
287
195
196
230
228
261
208
246
232
152
226
235
248
177
183
258
275
245
203
272
220
226
232
215
153
183
233
276
195
260
192
168
223
208
209
220
212
169
243
283
219
173
265
174
213
262
234
157
259
309
179
188
229
218
283
156
308
247
254
237
219
187
339
191
271
253
283
221
313
128
138
267
203
160
271
285
242
174
272
240
231
309
248
174
211
182
250
129
170
179
273
203
114
207
178
216
227
192
237
220
178
234
218
173
294
248
220
259
232
219
211
188
246
281
210
258
245
181
273
251
258
261
114
190
200
224
157
156
193
152
291
320
217
247
170
198
217
148
193
226
275
275
260
226
175
200
171
196
243
260
241
198
243
218
207
211
220
176
195
270
259
210
173
144
216
199
223
195
269
199
242
140
266
139
292
252
203
241
231
198
188
181
170
302
247
237
188
215
227
188
241
212
234
278
231
224
198
262
229
160
221
160
163
174
168
116
156
269
217
259
320
243
246
240
189
272
195
197
114
170
224
202
108
246
244
253
251
164
193
204
231
208
318
183
261
202
237
249
192
234
236
261
281
196
219
269
230
174
190
251
320
197
284
239
205
174
198
233
327
239
261
302
139
265
263
114
159
191
226
259
240
287
206
200
217
185
178
214
162
194
316
199
257
288
243
228
273
216
246
126
219
255
321
281
211
170
157
315
182
218
225
240
188
185
250
229
279
212
265
205
137
210
203
178
114
154
201
169
217
225
177
193
219
180
252
219
277
274
160
263
215
207
160
299
263
164
236
228
195
283
200
201
254
272
230
234
296
238
230
216
241
233
274
170
197
208
263
220
296
189
149
230
255
252
279
231
250
225
145
196
315
169
228
207
263
162
256
279
249
190
174
185
283
272
226
280
192
222
225
290
259
227
213
256
151
166
247
197
189
227
241
236
277
186
287
245
251
262
288
223
231
227
219
214
223
239
208
193
265
200
207
193
231
230
242
201
278
228
297
217
219
200
252
286
227
233
279
227
256
267
198
275
247
167
174
238
333
228
200
195
257
186
151
214
184
217
219
267
217
320
207
189
200
229
218
276
195
228
209
264
341
298
242
248
254
273
155
229
181
195
198
242
285
279
235
219
171
229
157
208
216
295
251
194
211
213
191
281
235
201
296
218
277
192
293
197
209
161
234
236
202
181
192
223
173
277
255
224
289
260
220
187
236
160
214
218
278
235
300
260
188
309
204
121
178
147
244
200
272
191
185
114
303
263
237
228
262
215
230
196
198
292
198
264
139
196
160
165
276
203
203
290
291
270
212
229
224
263
303
214
182
106
301
169
208
221
175
263
225
253
285
304
167
147
251
256
236
352
229
171
213
301
176
227
226
285
162
214
258
152
251
209
212
185
193
339
159
222
205
311
229
268
240
219
231
228
316
211
173
188
218
267
208
207
268
225
357
213
242
242
234
279
220
181
212
211
205
198
234
212
179
206
202
206
167
165
202
248
259
321
276
209
291
256
126
206
210
222
294
241
231
154
257
268
221
168
244
202
197
242
260
208
214
265
276
219
209
175
194
201
231
185
298
343
201
163
228
222
295
261
170
209
198
249
267
214
359
227
244
248
218
215
186
193
285
169
200
178
189
234
205
227
268
234
175
194
202
297
258
246
188
228
170
216
246
267
228
254
264
210
207
304
236
186
213
238
260
270
278
181
204
205
306
198
178
191
152
145
170
281
245
156
191
173
234
247
173
177
258
243
273
236
211
225
206
218
188
161
231
307
285
288
321
189
286
207
172
203
225
106
170
160
273
168
156
114
173
173
221
277
198
248
269
176
230
230
199
276
242
202
215
235
161
151
223
204
204
181
173
208
186
211
234
228
271
233
161
270
314
179
189
256
366
240
191
108
264
224
145
170
300
192
276
162
237
139
233
182
205
220
218
243
235
278
274
169
229
245
261
272
216
294
199
222
151
224
195
223
311
198
203
198
281
249
195
217
139
154
265
177
183
206
206
178
233
173
233
173
158
221
253
187
273
233
200
232
238
256
245
253
232
215
281
217
180
261
157
168
281
229
297
192
230
170
274
233
229
220
214
205
266
235
236
114
175
242
199
210
144
240
251
213
222
160
304
268
174
203
299
278
305
184
353
286
282
204
220
274
180
126
234
269
252
284
258
273
190
208
215
155
275
193
214
263
240
230
284
195
246
247
234
197
273
192
273
182
279
166
223
218
194
243
148
225
258
203
310
179
257
270
192
240
179
239
145
221
211
214
213
212
249
249
287
210
194
216
243
255
212
331
260
211
192
278
252
257
191
202
259
209
290
261
190
219
270
182
228
270
185
276
173
251
255
205
180
240
229
233
263
195
208
255
168
126
233
221
226
197
283
289
247
296
212
309
281
213
226
257
114
156
178
183
255
255
160
318
270
197
166
196
229
220
207
220
180
215
206
202
324
244
221
273
260
231
199
184
196
182
257
234
219
224
233
199
255
259
213
306
186
175
268
246
224
239
232
260
188
200
278
158
198
273
274
191
314
261
228
318
245
275
249
262
193
195
196
263
162
275
278
188
146
236
182
223
207
184
196
232
284
203
179
297
181
344
275
145
226
231
230
278
270
169
299
219
281
261
257
188
203
165
181
203
242
185
216
166
284
256
200
196
225
317
226
186
265
130
220
258
285
253
114
158
237
251
174
192
260
205
184
234
262
179
283
249
189
306
194
226
196
181
152
220
290
255
169
214
266
232
266
281
219
188
211
203
301
164
192
198
239
260
225
293
241
197
244
194
268
174
203
185
223
258
180
207
169
181
344
190
264
231
225
180
241
267
229
214
208
211
270
203
206
175
238
231
191
246
178
176
184
306
189
212
240
297
243
213
191
180
170
243
210
177
165
180
266
197
308
166
259
222
195
240
168
270
275
198
206
223
198
139
196
250
234
266
223
224
253
213
261
145
252
193
170
245
191
316
252
234
175
263
233
201
247
216
263
309
114
294
200
283
273
114
266
158
307
219
194
171
243
176
227
264
312
114
156
219
181
234
169
309
181
223
255
210
283
114
265
261
218
162
209
224
282
236
195
232
231
242
242
197
154
304
183
171
208
235
265
144
207
272
256
309
226
240
257
239
236
303
240
240
196
161
194
188
227
160
135
221
182
188
283
253
228
292
306
212
165
240
233
223
153
201
222
243
168
288
175
193
290
229
254
214
178
155
222
193
154
206
243
236
223
237
259
264
142
164
274
174
250
256
173
259
226
272
168
180
265
208
199
261
285
274
216
246
175
175
204
244
146
205
252
157
180
266
316
215
269
192
218
219
290
259
190
226
292
158
208
252
200
200
145
180
200
270
204
247
261
213
189
289
208
282
249
151
238
184
174
239
262
183
276
262
280
227
157
160
175
243
235
281
263
247
278
204
207
220
156
179
179
190
216
233
182
271
235
233
251
198
235
206
156
222
173
268
260
254
223
236
266
191
251
309
146
247
192
191
230
305
254
254
220
212
219
178
246
194
214
167
245
315
201
254
228
219
309
207
235
247
186
193
206
289
279
225
282
226
237
235
168
228
169
178
220
246
225
172
243
202
238
185
227
290
266
199
217
219
269
295
247
237
193
207
194
200
274
317
225
231
232
212
284
219
156
178
195
227
139
205
241
189
152
250
225
232
198
236
228
266
180
191
166
270
277
231
223
184
201
234
147
259
255
246
305
211
198
257
186
225
197
212
234
189
280
153
239
238
167
231
215
216
208
224
308
202
202
226
168
248
257
216
156
249
228
210
178
218
160
239
244
257
235
185
156
259
215
245
198
171
190
248
206
199
284
182
236
178
266
193
173
231
178
245
221
193
208
168
231
252
253
212
242
274
321
258
176
181
160
179
193
173
191
309
208
142
296
241
263
253
160
180
232
234
260
287
265
260
180
207
227
262
218
276
205
223
189
214
287
315
139
198
139
192
176
169
213
231
302
322
128
209
228
317
264
183
241
202
196
235
346
238
200
284
250
192
165
255
232
227
265
282
236
212
236
236
273
192
169
162
255
255
217
170
253
246
158
202
308
287
255
264
257
238
252
221
223
203
202
305
215
253
164
260
223
277
201
165
194
161
199
226
245
195
236
234
191
196
168
289
224
270
195
190
189
192
306
171
219
203
237
236
300
214
234
191
207
247
193
230
218
146
219
232
265
182
227
220
296
248
198
200
224
240
164
243
237
294
218
262
233
240
237
221
178
224
285
241
220
200
192
199
207
166
165
208
232
331
235
219
179
231
229
179
296
203
233
228
168
171
309
212
161
241
189
253
283
321
209
205
267
202
283
217
144
226
192
243
167
221
211
238
176
222
209
178
247
246
160
204
229
214
241
238
220
342
171
207
213
271
279
289
258
155
254
318
325
279
279
219
236
239
202
259
221
194
210
194
280
189
298
229
204
246
270
286
238
215
274
223
227
208
178
321
213
192
201
137
195
254
175
143
243
268
262
200
266
246
257
219
209
234
192
155
149
299
262
220
221
191
309
203
232
238
230
270
300
230
227
193
166
200
266
204
228
156
174
263
222
325
382
200
278
190
210
274
199
223
197
270
248
213
184
139
159
278
230
286
228
195
114
273
126
197
215
153
240
208
173
222
246
179
224
274
160
269
108
231
285
159
281
244
179
242
291
242
182
182
213
240
256
237
108
232
234
260
327
237
237
224
203
263
261
349
278
228
294
146
222
222
244
212
257
196
174
228
233
341
294
162
171
257
297
129
227
238
171
208
232
183
222
231
181
269
224
203
231
174
266
209
201
156
177
259
219
269
224
262
164
241
265
213
225
231
218
253
190
139
222
148
211
213
318
145
344
233
238
225
177
209
184
253
211
170
182
178
195
256
238
245
254
203
126
232
214
247
219
228
204
210
195
293
148
192
246
290
168
204
194
201
230
290
236
126
244
245
237
208
246
292
159
263
234
272
116
211
221
306
197
282
238
257
218
279
178
246
187
160
279
175
223
180
252
186
196
164
179
258
249
235
173
235
269
282
254
192
269
332
278
215
341
299
139
314
263
248
162
209
219
214
218
335
191
186
203
212
199
271
175
160
201
275
258
283
272
241
206
251
226
258
174
227
201
332
195
205
231
194
242
262
185
176
214
128
215
278
245
237
302
229
204
193
205
248
313
207
265
288
260
198
234
114
204
225
246
215
278
220
250
181
223
261
176
347
250
271
267
227
270
258
177
270
187
298
221
190
162
176
237
220
286
201
219
178
265
191
268
145
183
244
255
205
208
238
170
228
255
220
318
266
228
181
214
284
215
284
156
271
184
229
173
212
279
256
262
231
194
170
177
192
240
235
171
155
236
170
183
213
243
170
218
270
225
212
214
234
270
296
257
199
208
139
191
326
202
175
215
198
192
177
247
231
240
187
270
259
192
203
226
285
231
304
287
226
201
269
221
158
233
151
312
250
204
220
144
161
164
243
326
178
201
251
314
226
296
389
247
218
181
300
253
167
230
251
201
180
196
231
208
225
282
234
234
221
291
288
246
225
181
301
190
163
205
277
254
155
195
235
177
228
317
180
171
254
198
301
271
246
151
264
282
197
223
243
209
195
250
266
194
270
235
206
199
254
232
235
186
263
175
298
206
246
162
209
240
249
172
160
116
295
236
212
272
290
251
309
203
185
248
187
256
240
266
213
236
256
238
273
258
160
252
170
244
326
250
219
205
213
211
277
220
180
257
233
158
253
208
295
207
217
277
241
329
234
255
250
146
166
192
199
178
178
190
196
202
157
116
257
184
273
249
166
165
251
262
153
243
165
222
201
167
178
242
262
306
403
188
192
221
254
293
234
311
224
257
245
209
310
174
258
208
264
200
189
236
156
192
199
255
207
151
158
176
152
372
154
290
266
272
173
243
235
241
194
156
312
240
208
196
248
240
198
305
241
218
309
194
238
239
226
219
151
301
246
184
238
233
156
246
198
137
234
203
198
204
222
205
255
262
285
170
216
206
276
232
172
192
261
158
235
210
219
162
205
249
258
206
197
238
249
210
217
160
231
234
268
266
333
215
259
221
223
287
200
227
310
270
257
198
320
247
184
203
224
212
145
241
158
296
167
288
278
114
218
146
207
207
226
250
215
192
259
200
231
215
250
114
225
203
216
222
310
310
164
209
206
284
226
198
242
268
175
262
181
162
279
275
284
173
253
205
245
134
218
215
193
289
363
299
217
233
237
222
236
212
267
350
145
263
247
203
206
161
280
213
261
252
187
176
239
227
260
242
238
244
126
226
223
263
245
183
219
339
206
185
222
220
250
208
228
230
252
216
200
209
191
206
212
273
239
208
282
252
235
209
191
248
271
205
269
291
244
257
255
327
291
199
207
227
249
260
173
224
279
222
330
288
207
232
260
249
205
248
216
167
206
218
253
227
340
258
218
284
299
241
211
210
220
253
291
212
183
271
247
260
226
220
198
275
133
184
303
204
178
287
231
114
185
222
198
315
181
231
161
255
198
246
260
165
178
275
232
265
194
144
198
228
149
114
266
226
162
266
280
294
207
229
289
151
241
248
178
262
288
213
221
231
207
181
213
238
256
237
230
216
340
253
238
210
166
197
214
203
254
226
213
151
250
283
282
295
234
170
239
222
292
220
211
229
269
145
252
294
164
223
242
196
314
152
238
195
227
173
297
175
242
197
219
218
218
173
116
224
244
334
216
239
206
245
262
230
237
335
249
152
240
247
200
232
168
213
218
300
162
215
238
271
212
208
282
229
249
174
234
200
165
256
190
215
192
213
283
168
224
175
257
219
295
250
157
290
250
240
266
284
208
194
114
220
260
194
161
193
165
264
230
168
213
236
331
234
243
227
183
192
191
250
288
293
280
213
253
274
252
258
177
191
207
173
310
215
226
194
257
139
212
247
247
170
246
245
255
156
195
224
191
262
178
235
238
192
295
245
226
238
244
208
275
241
192
208
277
236
232
245
205
219
250
234
228
226
209
156
292
206
184
234
234
244
176
177
201
271
239
307
261
250
232
284
276
311
201
271
202
206
226
255
178
176
238
190
229
243
281
173
239
182
267
214
209
280
234
222
198
243
262
225
176
156
249
272
322
219
237
310
250
198
179
161
194
205
149
318
287
266
255
222
173
246
204
278
273
279
212
221
186
250
281
214
209
273
170
185
239
267
218
175
156
258
177
209
273
201
174
238
160
211
289
128
235
209
246
248
245
201
198
223
194
114
154
156
163
190
234
176
176
205
247
242
247
159
321
195
205
264
200
235
212
108
235
218
274
211
301
286
253
209
234
243
223
198
366
227
228
308
170
215
207
175
158
269
260
187
180
208
236
245
227
226
174
240
199
247
264
238
248
180
191
244
241
286
207
182
276
240
149
215
222
114
179
203
211
252
319
175
181
269
253
268
342
313
193
240
179
181
286
239
337
261
200
195
240
282
282
196
212
316
281
248
277
237
252
313
181
237
166
160
171
223
232
228
324
211
170
126
169
213
276
241
292
220
199
290
271
214
141
232
255
287
315
241
199
195
232
236
252
173
251
251
245
223
258
231
274
193
262
298
158
147
223
203
311
195
178
233
242
275
233
342
185
196
253
194
171
147
184
293
258
237
206
320
219
294
239
228
224
213
217
180
225
164
235
275
226
265
221
268
157
245
335
191
149
260
203
248
276
207
230
171
152
274
282
261
227
233
221
241
166
214
221
187
165
208
285
235
224
190
194
217
196
243
234
239
282
224
199
239
178
244
219
307
235
228
197
212
173
271
233
224
171
181
264
281
208
174
279
151
243
247
256
284
222
267
239
165
263
161
285
238
195
170
196
238
114
160
206
241
126
208
237
222
224
278
154
240
243
297
183
305
170
251
179
126
262
211
213
149
244
242
280
160
322
267
294
291
238
197
195
185
247
252
241
211
199
149
201
114
208
257
235
201
227
233
300
213
215
198
262
248
223
192
326
320
205
177
229
297
303
195
328
182
309
180
221
177
268
245
228
202
284
258
174
204
340
303
262
306
206
219
225
284
259
206
170
217
260
236
279
167
220
204
280
176
238
257
247
210
161
227
213
200
203
151
206
265
235
185
152
290
243
203
162
257
225
267
191
211
170
178
223
260
243
223
240
220
242
268
263
279
181
171
289
245
244
258
185
171
240
225
196
266
245
260
174
215
208
224
231
295
196
235
266
234
264
283
177
235
244
287
156
281
304
242
178
223
265
145
308
192
223
176
181
170
259
264
231
322
165
250
148
211
198
146
240
181
243
247
215
190
275
241
201
330
218
246
173
230
218
228
176
141
238
215
180
215
198
174
288
314
274
167
141
246
230
211
315
252
149
399
184
212
256
232
195
179
216
333
203
267
152
247
245
156
255
195
184
155
222
255
242
231
241
239
185
190
229
181
302
280
215
216
263
234
212
195
198
185
227
203
245
200
271
245
230
200
181
265
212
286
215
194
262
147
172
235
280
198
231
209
157
214
238
215
259
220
254
349
170
227
357
213
244
261
189
244
153
231
285
327
114
235
239
194
296
214
231
188
170
114
263
231
217
229
214
198
318
229
307
182
299
223
173
267
177
259
232
243
231
173
244
213
234
221
222
189
229
194
273
249
144
215
274
275
273
223
247
321
181
242
241
263
207
261
233
173
145
183
231
241
214
171
288
164
215
281
184
263
187
196
245
247
250
276
294
255
177
241
284
220
266
205
208
144
188
258
173
222
262
303
150
303
225
264
229
244
169
252
176
170
242
247
193
198
176
319
192
319
195
311
173
229
192
239
265
176
188
212
196
218
262
211
319
180
114
190
242
180
189
209
182
210
227
233
210
166
173
260
211
227
178
206
244
175
200
196
216
227
240
226
181
200
164
228
283
235
248
227
226
217
264
191
161
251
289
327
194
186
174
191
242
114
245
258
281
235
230
114
313
251
288
245
189
210
195
202
260
249
228
233
147
225
170
209
287
184
298
241
165
204
178
188
221
328
230
244
235
229
250
253
175
260
178
168
252
252
236
175
228
305
191
221
226
171
240
193
126
213
244
184
238
273
260
250
114
276
244
177
239
233
174
254
182
330
199
278
244
203
198
214
240
140
245
160
163
217
245
203
314
169
210
174
226
247
286
197
190
234
202
267
182
205
250
164
230
187
260
116
205
167
221
266
208
256
256
320
181
283
194
190
197
206
206
194
158
302
277
230
166
252
192
201
114
162
198
251
198
278
266
211
251
278
246
238
192
175
211
239
176
151
251
215
198
252
228
114
280
164
226
267
250
239
214
170
244
114
219
196
191
214
267
193
324
234
252
188
177
251
253
166
158
257
220
187
202
186
239
211
206
243
254
202
306
283
226
334
262
160
151
297
147
218
198
215
196
240
265
182
208
249
250
349
194
240
252
208
224
233
230
270
199
298
198
279
256
216
217
191
114
248
240
202
195
114
219
208
231
275
203
271
223
177
144
241
247
309
200
206
158
212
218
198
328
270
199
276
147
229
207
178
193
216
179
295
152
238
284
254
305
285
304
222
250
273
235
209
176
221
244
280
202
174
262
257
234
215
144
225
319
304
213
321
234
210
184
231
219
247
243
173
233
151
258
265
245
210
240
235
238
185
202
209
184
214
230
234
300
195
182
180
169
159
212
174
216
274
294
160
175
212
269
297
175
180
160
208
239
165
193
237
220
158
244
208
170
249
139
241
231
256
259
247
207
172
227
199
173
181
219
217
183
250
203
180
278
189
188
126
201
224
293
272
259
209
226
229
274
267
173
220
215
170
214
201
197
146
208
219
114
171
228
242
185
265
233
218
231
253
226
250
214
234
201
230
206
249
174
220
219
171
355
266
221
240
212
219
301
189
244
246
249
206
227
200
261
199
264
186
220
256
166
288
182
235
208
288
326
169
229
270
237
191
174
178
225
214
301
251
231
166
190
188
196
218
208
267
212
179
275
215
164
208
170
166
269
245
198
236
248
203
216
272
178
219
258
314
213
139
198
199
191
274
211
255
198
173
216
261
215
260
166
116
229
259
175
232
238
248
218
255
239
286
252
188
291
114
133
253
248
173
170
176
190
296
169
177
256
205
231
200
216
315
218
225
269
241
114
188
151
258
208
212
285
245
149
195
151
195
242
247
220
190
161
209
218
248
179
240
245
189
165
174
207
308
130
306
238
237
258
174
232
202
271
312
376
182
144
198
175
208
219
184
271
265
219
244
201
270
340
156
224
233
231
301
215
229
199
214
240
235
189
196
232
214
243
228
160
244
232
114
224
247
205
222
207
206
114
235
218
229
246
242
224
252
251
278
230
249
174
316
177
222
160
242
193
173
198
231
277
270
309
279
261
190
156
179
273
286
211
235
170
206
220
177
290
310
225
243
230
178
165
243
235
217
210
160
249
287
116
278
288
156
251
236
228
202
223
114
290
161
234
256
199
175
239
238
228
315
292
308
197
264
145
278
208
195
202
158
230
259
148
186
214
153
244
230
192
253
190
198
192
160
240
271
255
241
251
156
232
175
194
210
207
154
297
302
293
141
296
240
173
225
231
197
175
243
284
195
234
247
211
178
212
114
193
266
151
160
254
308
247
181
215
261
235
195
320
228
323
272
194
285
215
322
196
250
227
227
189
236
242
219
211
267
276
166
160
252
139
244
283
270
264
202
253
195
219
230
201
195
272
208
221
215
195
231
175
240
243
270
157
213
272
207
225
216
230
198
312
248
200
244
170
146
224
174
213
290
240
247
309
185
193
183
274
251
253
208
248
269
230
222
219
209
279
238
260
292
256
196
253
236
274
316
219
152
298
209
196
198
203
203
237
245
240
254
200
261
188
221
156
297
186
303
173
214
280
175
228
243
194
302
287
316
203
221
248
225
234
198
170
254
275
225
190
235
219
238
279
271
196
246
253
238
273
226
269
188
256
235
170
296
171
246
260
287
146
224
152
277
216
216
256
269
326
144
232
290
184
242
231
206
235
240
199
247
214
218
239
194
235
160
203
144
287
193
246
195
126
231
242
267
229
285
262
196
251
177
232
295
157
198
306
272
256
233
244
178
237
270
259
239
249
280
228
224
215
251
231
145
175
245
170
212
200
205
174
239
236
139
233
295
184
239
252
213
179
197
223
208
218
215
176
146
139
151
261
108
213
225
288
251
238
265
222
205
198
224
179
271
170
264
151
271
250
175
156
292
159
240
286
146
180
139
280
162
238
192
233
186
214
219
172
229
236
198
192
196
210
247
126
235
144
260
223
282
220
219
240
126
213
178
206
230
160
293
205
139
293
160
225
213
253
208
208
239
181
217
237
202
191
192
188
211
202
268
206
240
213
315
242
259
195
248
225
184
251
224
214
284
214
225
201
209
196
214
223
253
200
236
273
249
213
175
196
229
219
212
204
197
222
145
185
210
270
229
271
189
270
213
191
220
158
177
279
192
250
181
256
236
235
194
201
219
325
260
233
256
178
307
128
174
194
194
160
277
262
241
217
223
245
178
211
200
226
205
248
237
226
310
305
232
214
166
234
271
192
232
247
194
235
282
196
224
156
266
206
298
172
283
206
297
247
223
281
231
198
235
217
226
211
295
266
222
181
243
161
271
161
182
218
240
279
183
251
298
234
245
260
336
233
240
173
257
273
262
181
114
289
250
212
218
234
126
200
198
194
207
264
205
149
165
170
241
243
321
302
293
170
246
152
252
114
218
280
223
226
166
312
323
177
252
180
309
170
196
264
196
295
151
172
280
207
179
191
222
202
286
185
152
204
215
213
210
206
191
187
241
211
161
248
277
262
286
173
181
227
241
232
139
265
209
192
196
194
287
238
152
246
238
346
240
235
247
260
165
264
253
273
191
242
184
203
279
160
192
193
285
264
221
209
274
198
259
242
296
214
173
220
284
114
187
244
239
166
276
190
218
259
158
250
162
232
211
243
292
184
199
114
229
281
257
246
179
184
206
208
240
214
175
218
196
196
216
239
256
199
281
220
209
178
217
243
220
254
203
259
213
192
278
137
178
213
233
241
184
204
296
193
297
184
224
206
224
252
193
218
192
284
182
204
114
270
235
193
251
260
240
189
154
229
364
227
299
180
191
166
280
148
199
224
144
163
173
175
262
275
285
264
285
221
200
223
299
310
114
159
181
309
212
152
202
202
160
207
180
240
224
205
201
180
255
208
225
291
167
178
285
285
243
211
223
227
298
189
182
245
279
160
209
211
186
273
209
325
182
209
206
239
173
272
198
234
146
126
246
244
228
198
203
268
177
247
265
233
230
152
242
198
200
276
317
156
237
219
184
272
279
197
232
232
218
181
230
183
257
268
251
224
214
227
221
261
217
233
235
207
265
186
277
246
210
273
310
234
256
192
195
168
169
173
284
184
212
226
275
260
212
237
227
295
240
236
162
149
276
207
183
262
139
203
179
273
250
173
202
226
245
148
310
282
218
160
203
160
168
229
279
225
249
238
192
223
218
224
214
212
142
357
243
240
174
228
169
160
307
221
271
228
196
179
246
130
237
244
220
218
216
243
219
212
230
146
275
236
212
231
201
201
174
245
227
233
269
254
213
241
178
207
228
243
174
221
210
208
311
121
206
206
271
293
215
307
178
159
208
139
310
295
301
199
312
178
114
223
185
265
174
159
240
257
273
133
252
198
233
192
245
251
206
218
250
211
241
204
256
174
229
248
221
243
194
213
198
183
225
179
229
182
212
183
227
206
251
238
213
347
245
233
306
172
198
212
247
162
160
219
159
106
234
198
227
219
219
253
281
296
249
242
298
263
283
229
275
303
184
227
274
229
333
205
226
217
145
217
216
304
231
148
262
213
254
304
191
192
255
244
283
254
269
191
267
217
209
230
174
222
197
211
178
198
213
272
244
292
255
305
191
167
162
283
253
219
250
279
146
236
178
205
218
227
250
213
311
221
155
211
170
247
178
238
265
287
266
201
235
207
284
239
255
293
276
256
214
178
254
225
264
158
157
241
202
178
230
189
323
225
251
244
323
241
208
208
186
320
218
149
238
241
197
195
210
184
134
206
252
211
299
233
260
200
228
241
264
114
217
309
253
191
324
156
276
196
195
235
261
159
234
205
253
181
234
214
269
139
178
202
241
255
228
253
212
192
217
325
335
195
228
327
162
218
176
222
187
313
257
213
160
248
275
245
181
325
190
262
249
211
232
226
231
195
208
308
253
210
182
198
226
271
219
239
169
126
216
285
203
253
229
231
276
156
216
272
139
219
241
202
246
188
160
235
286
243
178
247
189
256
200
247
205
247
302
240
235
214
257
298
184
156
299
292
215
264
165
241
184
240
233
195
196
264
213
198
288
210
243
169
170
204
277
238
221
225
206
201
230
225
176
211
223
209
139
313
283
210
165
302
228
174
335
213
316
186
220
254
310
154
220
151
147
186
228
184
208
274
173
168
250
254
270
169
227
192
216
166
214
278
190
270
164
299
159
207
319
173
249
156
224
254
209
241
277
235
223
149
220
239
246
197
230
232
161
289
204
214
200
257
163
158
346
257
179
267
264
211
210
200
269
300
246
295
260
287
273
213
237
281
236
207
199
233
230
187
231
198
278
195
255
240
289
267
233
207
190
188
254
181
285
152
160
262
216
247
244
175
220
254
161
269
157
238
291
230
210
182
178
168
252
212
251
185
287
277
256
226
212
154
181
288
275
221
256
209
229
194
263
258
234
217
149
166
208
266
212
209
203
198
226
207
227
172
255
315
225
205
161
191
289
226
262
192
247
206
220
205
294
227
168
191
158
244
205
240
256
213
273
181
274
254
215
198
259
263
192
238
213
253
202
239
175
208
190
286
221
196
184
307
293
239
173
218
247
249
246
177
226
287
220
235
186
241
224
232
322
173
245
257
201
312
305
158
160
203
173
225
260
244
251
200
167
242
236
182
200
271
308
271
223
182
234
270
198
294
211
169
322
200
233
196
247
281
181
197
289
243
270
230
251
182
240
204
234
271
210
166
175
207
177
257
220
233
272
160
229
174
184
217
200
236
229
321
217
218
237
209
212
133
175
206
287
173
247
253
241
268
296
323
311
181
160
299
289
219
215
165
145
223
294
188
229
145
213
260
187
187
273
175
258
235
235
241
256
184
239
182
223
229
293
309
260
203
331
233
235
250
295
251
251
151
156
174
205
217
209
209
212
292
282
323
213
200
227
281
192
195
331
266
280
244
235
232
261
244
234
254
190
167
229
190
214
225
291
262
186
254
294
145
169
273
201
326
215
271
337
260
206
173
244
162
226
250
269
234
275
114
164
278
211
246
281
199
248
227
196
218
249
213
226
215
245
191
221
219
116
263
252
234
207
152
187
151
265
185
220
246
116
288
209
211
224
223
238
234
146
203
250
310
234
276
194
285
249
215
224
217
214
226
250
272
209
257
220
220
197
202
129
233
172
229
244
252
178
253
227
240
225
234
180
235
203
233
233
169
144
277
180
276
309
306
233
192
206
148
255
209
165
196
312
283
268
230
189
293
246
247
226
257
175
160
196
201
249
284
248
227
240
186
202
208
218
282
280
189
282
245
281
160
174
183
238
302
263
292
267
218
209
244
238
180
156
159
191
276
197
230
174
269
163
293
207
175
296
210
229
192
219
200
297
160
170
253
304
205
133
224
187
248
229
184
271
161
246
208
284
289
220
241
236
268
231
156
247
226
198
182
216
244
281
114
249
193
293
227
236
247
238
211
205
200
253
200
241
224
182
233
293
247
269
189
271
213
241
197
234
188
251
261
269
240
231
277
190
219
199
180
216
191
235
145
237
258
246
147
228
184
216
221
231
267
223
268
224
351
226
160
211
156
212
185
200
251
285
272
223
161
233
194
234
214
260
174
257
191
297
116
242
223
214
236
263
178
252
305
238
272
267
305
250
266
139
222
229
193
147
121
193
226
200
197
234
285
270
272
195
220
268
230
241
190
291
271
219
165
255
261
257
233
197
249
226
245
284
210
181
218
151
235
169
174
174
291
236
279
264
202
234
239
231
204
256
210
297
238
222
206
251
175
209
252
281
194
245
238
201
187
281
336
188
261
215
258
180
210
241
246
205
193
178
237
174
141
223
247
290
207
227
279
178
209
208
233
289
204
154
183
211
214
225
273
274
249
226
207
316
288
293
291
247
238
308
224
229
166
226
179
174
249
296
181
313
269
271
284
167
212
243
197
149
285
227
265
168
269
178
278
295
253
202
203
243
290
184
226
251
171
258
200
220
178
206
222
252
338
241
243
200
239
204
146
208
210
287
206
207
190
226
293
236
233
243
194
266
272
196
247
168
166
258
229
164
244
154
126
114
255
315
264
192
236
244
170
170
219
208
221
203
197
114
211
217
207
305
265
244
252
175
212
196
189
165
203
212
239
170
298
206
212
139
239
185
200
249
153
265
248
210
208
172
108
285
196
188
331
205
176
233
165
249
245
300
217
209
258
185
246
251
204
218
218
233
277
269
225
196
153
213
308
232
242
206
262
294
241
214
251
209
189
252
201
232
201
157
181
194
189
206
269
238
149
217
153
216
238
215
198
218
245
114
248
237
161
236
277
234
258
230
209
255
189
229
235
215
236
202
179
234
264
236
243
161
176
227
210
214
218
227
206
145
182
210
300
184
187
240
278
222
159
222
207
231
186
162
194
250
218
226
248
279
295
214
258
260
219
201
244
303
234
268
247
242
283
245
156
249
170
274
242
171
181
168
305
188
214
114
189
199
190
268
149
156
168
270
199
195
163
297
223
203
233
208
253
311
242
228
217
114
265
158
234
192
238
244
224
184
170
256
229
267
211
325
209
256
228
275
257
170
279
237
202
194
253
318
212
176
210
181
262
191
250
157
278
227
247
295
242
221
198
204
244
202
254
305
217
177
193
188
235
248
156
217
189
201
145
195
169
202
217
296
174
216
241
206
220
219
180
167
156
240
239
203
208
242
284
254
257
175
218
239
232
239
197
334
291
227
216
202
202
246
214
197
239
180
247
205
165
210
255
228
148
251
193
189
162
240
183
283
289
308
275
227
274
191
233
215
216
208
183
233
205
273
218
205
189
253
266
218
228
182
204
227
195
271
189
357
240
213
188
245
245
238
201
214
141
195
190
286
160
258
214
188
180
223
177
253
247
356
248
195
258
217
228
225
249
244
191
262
179
256
188
213
193
213
200
158
276
296
259
214
215
259
266
247
309
209
198
265
195
198
211
179
212
216
208
238
258
250
160
194
206
254
232
225
254
207
238
198
114
193
246
250
201
161
210
223
317
202
139
258
182
236
300
299
302
273
198
286
183
318
266
160
304
193
241
253
162
225
173
171
200
227
246
222
248
208
247
215
225
222
277
283
236
165
160
277
169
311
220
252
324
114
241
225
175
237
243
256
225
239
193
213
174
288
223
241
211
188
190
212
229
252
175
153
181
174
200
227
203
242
181
175
245
275
259
215
238
224
293
195
202
177
425
273
275
226
197
238
167
205
273
168
223
152
295
228
243
235
320
214
226
194
228
264
242
217
187
161
237
217
139
256
194
165
195
299
191
144
170
293
220
229
217
253
184
184
228
333
181
234
200
257
258
199
160
250
170
296
193
247
230
225
206
208
170
174
246
230
208
282
285
272
214
259
207
190
193
176
241
139
300
209
248
275
229
210
303
207
267
114
244
184
175
261
231
242
171
296
228
179
190
252
288
250
214
221
192
244
230
255
173
252
220
207
212
255
181
213
207
168
267
283
225
308
181
213
175
213
251
188
243
314
238
189
194
227
198
268
201
258
161
209
331
198
208
210
188
160
236
259
265
250
196
317
184
317
203
274
202
199
249
225
233
202
145
283
202
195
284
201
194
258
203
191
186
230
234
225
247
192
160
249
216
187
221
247
188
192
256
152
209
227
267
200
207
301
151
305
230
182
193
258
133
241
229
223
239
299
212
194
231
177
253
263
214
239
251
227
229
234
170
229
158
184
219
277
198
197
184
193
310
163
255
244
171
234
225
207
222
184
228
238
252
192
186
275
277
236
199
207
229
181
258
327
278
188
198
170
230
212
255
215
222
293
243
234
253
178
256
168
179
191
294
199
158
189
196
206
205
302
230
233
257
195
198
217
265
238
248
213
188
243
116
308
171
179
230
271
274
200
249
281
208
285
201
233
259
198
249
192
280
179
170
216
259
239
278
222
232
251
204
232
226
295
234
219
239
214
270
212
211
235
213
246
211
243
197
222
190
237
174
259
229
193
145
280
213
286
241
146
213
238
180
171
258
210
228
268
231
218
214
266
243
205
232
206
217
244
225
240
191
261
275
250
192
280
229
161
179
271
234
219
184
152
258
260
283
217
237
246
172
166
214
243
234
211
261
256
166
306
266
209
190
222
260
222
204
239
234
194
234
140
190
256
237
264
211
315
296
272
278
182
304
219
263
223
213
220
190
309
269
196
271
180
209
192
207
198
178
192
213
184
198
269
170
280
268
237
215
196
217
342
325
211
219
164
264
144
301
263
177
192
317
257
184
290
230
257
255
242
194
252
181
259
221
188
222
208
220
287
257
257
182
248
226
228
186
194
223
235
292
194
210
264
219
151
249
277
238
258
191
280
294
248
172
288
222
164
234
266
214
243
243
346
188
223
235
263
210
281
186
202
184
235
214
156
201
222
319
219
271
170
251
251
194
300
190
233
228
173
236
164
294
192
267
247
170
183
220
193
283
243
191
293
152
184
245
168
228
151
169
212
197
194
146
239
221
114
184
255
330
244
243
181
241
244
191
234
145
262
270
230
190
169
173
256
243
254
205
238
249
126
210
180
236
325
146
218
240
297
198
181
215
288
215
242
283
219
252
282
129
200
242
170
174
218
250
208
225
311
225
185
223
163
312
192
260
229
257
262
239
203
312
237
184
313
275
253
262
305
226
272
202
297
184
151
190
202
255
199
227
231
231
247
243
315
277
292
193
213
223
199
209
186
225
246
268
247
156
232
248
248
316
243
222
278
256
225
228
246
262
211
197
154
263
170
313
266
257
199
128
211
222
266
255
248
139
257
219
274
201
156
203
280
270
241
288
236
244
207
279
203
179
296
234
277
197
178
235
192
171
167
311
244
259
237
164
156
267
170
237
214
219
151
204
162
237
200
240
166
197
193
162
204
269
196
114
169
207
210
277
179
175
272
240
193
260
272
116
302
245
272
204
250
196
180
283
269
178
266
211
294
210
294
160
246
208
201
169
265
265
193
195
197
166
187
234
165
167
154
250
201
206
251
244
245
207
262
184
114
260
150
208
235
222
178
209
177
219
262
285
318
244
290
235
192
257
229
224
197
241
299
273
174
272
213
151
216
193
203
201
209
294
292
114
200
213
272
174
271
223
248
275
264
265
195
236
139
224
197
114
192
192
232
168
249
156
202
266
252
284
194
218
259
245
192
219
198
169
174
265
270
170
263
177
191
244
148
164
177
160
180
271
173
245
192
230
315
203
173
286
229
214
171
200
267
268
221
162
226
224
214
230
263
256
197
221
287
239
218
292
220
196
360
225
193
256
176
220
181
253
163
213
270
197
262
240
231
261
294
251
198
160
191
114
213
264
350
243
307
334
257
210
319
241
297
170
203
180
270
207
230
246
223
233
213
208
238
265
249
177
232
259
156
193
247
230
269
247
218
207
153
279
144
298
248
188
173
219
213
177
179
214
231
197
251
303
320
220
254
170
323
216
243
236
194
225
212
253
191
193
238
255
174
217
300
208
250
231
198
184
229
259
212
258
245
201
260
257
139
262
251
247
149
209
180
278
299
177
224
243
288
152
227
279
256
187
213
226
143
226
206
282
208
235
265
205
160
232
178
263
275
236
114
198
266
229
160
340
185
353
183
218
229
222
157
255
166
220
253
258
257
227
179
263
223
265
220
225
177
198
178
195
126
157
231
348
202
166
297
194
239
179
331
285
247
239
289
214
288
168
222
252
289
177
154
219
235
178
220
203
223
212
277
291
295
204
292
209
256
148
213
242
221
240
233
299
195
279
191
171
281
266
204
269
170
220
169
208
170
167
217
248
192
195
163
229
309
213
209
197
240
226
281
198
215
264
156
241
298
281
250
228
227
277
225
238
244
257
239
114
265
273
193
285
161
247
259
243
201
208
157
246
306
219
253
194
236
241
209
259
286
160
239
305
231
159
294
253
261
260
186
264
178
236
239
268
220
245
163
207
217
160
204
161
243
239
236
287
298
242
213
242
222
305
106
240
343
182
241
195
192
177
205
231
264
231
295
198
287
340
274
237
206
202
179
228
252
211
262
238
191
224
108
232
261
160
218
169
169
200
175
185
191
197
271
264
211
219
217
190
268
173
282
228
200
234
172
247
178
192
258
206
224
299
322
245
233
266
178
232
156
220
223
205
231
302
238
165
231
152
223
151
170
251
260
241
278
242
207
174
307
278
217
230
213
249
210
114
227
209
231
191
234
161
158
264
225
194
248
305
253
185
247
271
243
174
246
215
200
298
229
264
209
222
322
262
198
308
230
282
219
238
217
198
126
283
160
250
258
242
199
259
151
243
214
236
239
181
194
299
231
319
207
219
208
170
169
249
279
206
187
222
161
138
235
305
267
328
158
222
225
266
225
192
192
200
198
245
301
240
186
252
200
221
257
306
198
187
258
223
219
230
252
300
165
139
260
145
261
299
211
160
160
282
191
241
222
106
201
180
270
227
260
232
245
262
208
257
244
114
270
280
204
240
222
308
244
266
190
179
208
233
218
234
276
226
250
207
160
186
140
206
300
225
223
203
199
198
193
215
106
179
253
169
166
229
238
200
213
245
197
145
197
187
220
215
229
241
189
241
227
250
274
241
198
297
169
183
192
167
192
263
197
161
326
175
196
152
169
179
249
240
202
247
201
255
174
241
216
277
152
255
334
198
165
241
230
258
152
170
218
254
205
215
235
223
244
260
279
241
201
219
271
267
228
243
244
211
179
158
170
184
173
204
259
166
230
205
265
246
249
220
221
199
242
146
211
229
209
175
274
224
185
284
213
154
209
229
249
143
240
263
274
222
236
217
174
228
231
192
189
264
235
238
116
203
248
282
151
252
219
243
237
218
208
242
192
202
170
237
209
270
260
224
260
209
217
293
220
261
269
201
215
218
218
288
201
223
178
223
290
145
182
283
191
274
221
242
258
240
206
273
257
182
199
192
188
227
208
277
283
175
191
212
246
200
297
349
217
247
276
248
236
285
232
183
205
188
213
114
160
139
183
194
201
240
191
276
191
151
236
278
223
246
327
241
180
226
274
287
206
208
172
265
222
257
247
198
252
204
139
234
241
221
203
227
188
219
170
162
177
209
313
224
248
178
139
241
201
108
251
189
249
186
243
285
278
256
160
185
248
165
200
174
195
252
271
219
252
181
165
199
264
231
258
225
298
234
222
313
160
156
192
265
231
253
204
267
218
164
270
241
296
239
276
309
214
310
277
148
185
234
178
231
250
251
276
290
252
243
243
207
267
252
221
258
253
168
160
198
221
244
198
176
300
202
252
186
270
296
114
312
186
270
221
190
337
149
326
160
200
254
218
205
235
203
173
200
245
221
224
262
217
282
214
254
202
259
239
253
217
245
187
233
241
189
264
192
162
254
265
261
302
189
206
314
264
195
174
232
218
209
286
267
233
246
270
259
192
245
258
229
216
169
154
232
265
200
258
245
303
266
318
170
235
236
237
253
238
280
210
256
271
263
280
195
279
270
269
214
278
273
114
201
301
199
235
241
173
253
149
163
208
175
281
212
275
229
172
154
242
322
116
222
198
166
171
247
199
202
207
272
215
195
160
336
309
248
218
205
275
260
255
228
190
185
234
233
270
294
229
220
258
214
255
272
259
308
196
181
243
174
319
209
221
304
240
257
253
247
305
229
157
151
252
152
261
311
173
234
186
245
254
200
174
152
283
193
192
253
198
189
219
179
166
180
249
163
184
228
205
170
204
249
175
256
254
260
232
234
257
198
230
271
239
116
219
208
258
188
285
223
146
214
239
240
188
240
296
175
224
164
147
169
146
229
233
241
262
283
218
161
208
193
173
252
249
228
174
213
229
232
223
156
281
178
144
240
141
212
284
182
261
192
240
216
216
213
253
222
238
145
246
231
212
235
198
192
247
207
224
194
178
242
239
206
239
275
173
173
206
269
211
236
311
208
261
170
353
219
152
158
231
179
235
253
207
197
114
272
199
208
235
164
197
197
204
274
175
221
106
203
238
161
227
209
219
247
257
192
201
230
283
221
222
240
259
208
186
232
227
250
267
190
152
230
258
236
279
236
244
206
234
221
264
114
160
250
211
214
221
199
215
212
292
174
158
199
180
187
221
139
266
256
160
209
114
178
207
322
197
244
231
325
198
199
214
195
277
139
148
175
245
270
240
242
189
350
191
206
182
227
141
282
304
204
213
263
166
203
165
229
116
218
174
211
201
273
266
128
238
220
294
162
184
196
157
151
161
236
211
231
200
189
259
247
213
196
206
202
175
277
324
161
129
224
287
240
253
209
170
147
244
192
242
234
275
240
262
280
250
295
194
258
211
225
215
233
189
250
239
178
229
260
194
188
211
197
114
261
256
253
201
213
193
194
225
234
251
196
267
243
172
187
116
268
168
274
310
152
198
274
161
268
252
312
261
221
210
167
229
234
288
291
215
234
256
291
198
169
218
187
246
247
259
166
250
217
147
235
226
194
178
258
242
300
325
121
235
230
375
302
202
214
165
163
174
192
161
222
205
202
320
263
178
271
288
279
160
157
260
184
221
208
232
287
228
242
182
247
262
275
129
286
273
314
237
202
230
151
242
241
225
175
211
232
209
212
275
277
177
178
263
299
275
221
242
162
243
192
156
226
244
198
395
254
196
194
221
229
250
229
188
248
310
268
179
252
306
376
181
251
168
293
266
166
280
231
168
235
231
218
225
211
173
199
200
247
231
232
195
203
227
248
273
200
261
190
273
261
247
260
126
205
238
164
267
199
173
302
166
187
249
169
275
194
244
270
181
233
208
193
265
242
247
226
167
193
181
241
145
245
200
175
177
256
198
238
184
252
193
250
205
230
227
281
192
170
216
237
193
274
170
182
230
192
165
268
213
262
191
263
264
181
248
152
242
166
184
210
203
182
221
310
220
244
129
160
169
222
268
252
221
279
245
181
189
274
244
217
159
181
246
197
244
180
279
193
219
212
236
198
193
244
248
198
191
269
200
216
228
194
257
212
237
174
234
207
257
278
222
263
174
139
242
242
252
255
258
247
178
219
265
178
240
196
191
238
181
220
275
283
224
270
180
243
218
243
200
229
274
183
289
235
238
214
226
182
184
178
178
213
237
207
265
211
165
209
254
223
191
208
175
260
282
229
245
283
213
200
200
302
187
269
170
215
196
162
266
261
255
183
296
180
214
285
114
221
216
262
193
279
255
231
217
243
238
230
195
235
253
176
249
202
197
239
213
271
203
244
269
170
229
243
248
230
225
200
242
293
170
288
251
224
168
165
255
260
206
219
213
223
191
225
160
237
258
266
244
235
206
242
245
238
245
201
211
206
255
204
311
261
228
160
144
223
189
173
287
262
242
261
186
178
221
302
231
193
266
222
214
214
175
232
199
183
205
186
235
248
211
219
288
287
191
203
292
266
212
139
267
270
232
201
262
156
287
156
190
236
267
189
150
248
236
243
221
206
260
296
246
158
218
236
235
207
182
178
287
237
282
192
265
184
194
219
217
294
323
206
197
189
244
218
216
212
213
275
258
229
274
195
207
241
231
241
180
271
214
114
189
114
290
254
291
244
299
210
250
247
234
193
214
209
207
305
193
222
252
208
234
268
276
216
189
304
209
262
255
203
265
266
165
244
205
226
229
269
243
204
248
262
198
259
262
169
281
202
234
193
261
218
199
257
301
165
200
200
159
241
219
240
217
248
225
244
285
173
257
285
200
244
286
227
198
232
161
251
325
266
259
114
202
222
168
220
178
209
213
203
241
282
185
245
179
230
205
199
230
198
144
152
235
214
251
162
178
266
297
221
239
292
254
273
285
269
219
156
230
280
164
209
179
227
306
343
207
178
224
224
260
237
201
184
215
237
224
257
182
221
170
162
291
260
226
207
239
175
160
214
296
255
224
244
185
218
286
220
263
187
220
197
206
234
233
253
221
344
233
208
226
275
177
225
222
238
191
285
259
262
223
231
191
295
280
231
171
175
228
175
238
126
222
291
256
246
224
261
264
192
196
234
273
247
247
232
169
163
248
227
260
253
335
116
300
235
180
243
241
191
180
257
276
196
219
199
224
299
256
288
194
144
259
258
205
238
147
225
229
280
182
218
233
226
241
203
252
198
222
192
340
133
225
249
237
133
207
306
176
306
215
270
160
168
202
207
206
206
161
228
215
263
210
201
114
215
200
243
255
235
197
207
209
211
175
126
229
199
221
219
178
286
181
157
260
210
239
154
245
240
193
116
234
139
175
233
212
231
228
260
226
239
308
201
174
245
227
179
296
265
176
290
205
274
232
213
241
209
215
163
203
214
180
306
213
245
173
193
225
225
242
262
209
282
225
234
233
359
311
250
174
217
185
195
253
106
287
277
221
225
213
238
251
177
195
231
252
221
230
175
231
196
181
234
223
192
192
139
175
283
156
197
114
297
241
194
290
184
315
200
256
141
222
165
222
157
191
173
166
230
184
234
145
237
183
246
271
174
167
266
269
188
178
191
249
277
243
195
173
139
178
231
315
253
153
204
239
244
174
225
160
193
170
285
260
196
207
324
264
214
162
254
235
226
205
316
243
159
250
209
258
230
282
243
192
289
257
266
292
183
223
207
259
195
278
264
227
220
230
234
234
179
230
251
139
204
250
215
250
215
273
264
152
222
160
249
216
238
237
167
215
257
229
230
178
234
151
202
160
251
263
242
174
214
172
224
254
244
209
213
146
184
262
228
181
222
215
197
269
187
293
239
200
292
234
206
219
299
287
246
207
210
306
255
312
326
199
223
241
254
206
194
265
292
209
250
206
174
232
245
231
156
189
303
308
247
303
210
162
259
180
258
245
186
177
167
285
218
213
280
228
198
247
199
291
219
308
180
225
238
169
176
237
189
173
232
263
285
222
167
164
304
296
173
287
228
250
198
261
231
196
126
257
200
262
262
207
289
199
114
216
272
249
218
209
280
213
243
208
285
197
208
218
173
206
223
256
280
189
244
222
173
272
286
266
212
156
156
195
233
243
208
231
188
241
233
196
181
275
190
178
189
187
275
232
156
178
142
201
250
200
141
263
185
290
174
291
158
214
220
185
238
256
190
321
271
275
167
246
199
205
246
229
270
214
226
175
217
279
256
178
267
181
250
276
215
179
265
197
218
114
213
182
201
343
299
168
225
266
228
222
245
245
286
262
202
191
173
266
286
174
116
163
235
214
269
193
177
243
182
180
244
292
199
242
187
223
182
192
272
244
225
221
250
173
200
207
193
259
238
156
216
238
317
302
242
236
228
165
139
215
269
231
168
239
211
302
209
175
256
158
160
281
220
295
245
160
228
180
231
276
161
177
248
209
186
238
213
227
204
233
249
230
249
305
282
288
114
176
229
174
204
180
178
180
296
276
170
114
237
178
227
235
204
201
211
246
202
240
268
190
206
222
235
261
248
281
225
217
273
232
162
193
208
193
220
201
279
243
126
279
235
154
204
242
158
274
276
161
191
203
170
126
185
180
160
254
210
235
307
299
275
230
144
250
208
245
237
213
220
276
293
229
248
211
303
250
236
151
238
186
214
217
156
160
229
217
153
261
160
285
201
286
220
230
213
284
208
195
211
265
216
220
209
201
200
187
252
232
200
220
211
276
256
205
195
185
236
275
256
239
200
145
222
248
286
231
175
195
173
248
206
207
227
126
245
234
181
241
270
167
258
200
235
207
186
166
199
198
159
164
180
178
169
229
220
217
257
253
176
180
196
234
213
231
235
221
191
310
181
178
253
306
250
230
253
321
223
211
232
351
197
287
292
169
267
216
208
225
213
207
241
237
272
181
188
228
178
245
268
196
160
180
222
212
202
193
197
202
200
241
159
133
268
302
244
235
206
257
248
273
227
231
222
252
185
171
369
169
199
237
206
325
226
223
220
173
172
260
239
252
169
184
297
282
214
251
223
244
251
218
292
209
271
245
254
225
233
158
228
195
197
214
279
228
178
186
285
205
245
295
268
211
208
249
183
214
210
227
228
223
249
146
241
168
194
268
213
224
145
182
265
225
211
198
197
250
180
162
205
224
240
276
220
226
276
225
240
212
237
185
219
230
152
165
211
248
318
255
197
240
221
170
195
305
173
321
227
270
262
233
256
240
303
264
200
149
249
189
231
304
251
196
220
279
224
182
193
210
246
199
234
234
233
280
289
243
175
227
176
283
178
251
246
244
280
226
286
255
247
205
196
239
207
228
218
191
158
267
165
220
314
173
234
261
254
232
194
271
202
212
309
200
283
178
219
169
202
226
255
237
175
194
196
181
314
267
203
247
288
321
252
224
256
259
262
270
180
192
180
154
208
215
208
156
253
181
252
210
283
259
217
234
247
226
242
243
279
227
180
323
251
191
245
282
173
214
261
181
211
217
215
153
179
355
246
205
240
314
181
220
278
233
179
234
116
303
201
216
114
207
203
185
220
174
282
280
180
206
249
175
266
293
190
126
308
245
238
175
174
195
232
234
285
205
352
188
194
235
169
190
254
249
341
259
234
309
223
255
236
284
205
213
212
297
265
152
145
281
256
223
312
192
234
212
270
313
272
259
148
245
216
232
183
265
262
229
190
114
181
189
211
237
288
298
262
214
210
213
218
219
230
272
228
239
219
192
175
227
179
175
229
207
256
268
199
253
241
206
214
245
263
219
226
229
236
184
221
235
178
258
241
195
223
158
318
235
253
262
336
157
249
223
233
195
191
308
250
297
222
200
273
208
202
126
240
170
269
293
311
187
200
196
235
262
266
268
235
316
194
196
250
246
199
343
248
243
255
251
298
195
170
255
230
210
281
159
241
275
250
211
175
258
248
235
214
239
220
213
174
210
249
270
168
215
224
254
302
196
203
234
207
187
252
204
260
174
255
203
232
181
194
211
188
146
220
297
236
241
286
174
231
187
207
304
213
219
236
350
139
154
151
233
187
245
310
306
190
272
181
191
197
207
180
236
175
189
237
256
175
198
194
240
207
251
197
170
186
258
297
276
181
190
173
281
326
173
267
198
204
210
209
181
192
299
236
215
213
172
339
215
295
212
279
240
235
232
188
160
292
225
231
167
246
206
261
301
145
175
246
200
208
252
197
212
211
249
242
186
229
229
182
227
217
233
308
320
207
189
191
283
227
226
327
178
225
295
343
114
228
349
282
248
212
233
225
250
231
149
256
176
209
267
182
156
264
240
211
271
209
273
300
215
249
175
239
192
169
261
248
218
222
200
238
258
192
254
202
181
241
229
220
230
213
212
178
255
199
214
219
245
301
225
207
244
184
228
160
217
214
233
192
171
240
256
298
325
233
214
215
254
326
219
262
152
270
350
227
216
214
270
215
191
116
244
220
195
221
213
223
160
257
214
194
284
194
160
160
247
144
300
219
246
195
228
220
191
146
254
189
203
231
256
217
221
266
299
319
293
230
203
217
267
220
215
222
164
178
225
156
161
253
215
210
265
235
169
256
213
188
196
179
184
201
295
193
232
210
236
225
321
205
288
223
324
213
181
210
306
139
292
216
179
198
126
252
200
231
222
236
167
180
241
215
249
264
194
242
268
217
234
229
174
220
243
242
213
213
275
176
252
245
274
299
324
219
216
208
258
173
250
212
114
263
236
205
189
274
192
268
230
259
275
178
231
221
180
177
168
216
192
191
186
189
197
197
213
222
230
233
246
189
278
237
252
217
253
279
279
235
186
238
270
245
214
236
271
273
181
198
203
266
236
185
271
237
244
173
175
239
259
282
240
259
216
221
202
185
198
254
213
175
243
164
200
181
261
257
265
301
234
277
108
170
189
192
275
228
175
236
257
255
183
238
213
231
256
235
279
271
286
214
221
278
199
268
269
253
208
227
261
321
288
237
271
214
255
249
219
233
228
293
226
122
156
173
260
270
220
249
224
245
244
175
214
228
205
207
247
181
225
273
247
184
284
194
176
256
340
283
255
185
302
219
215
232
204
269
317
126
139
262
171
223
302
211
166
253
210
146
232
252
258
238
285
223
192
180
271
209
239
241
173
185
264
230
241
233
284
170
187
215
221
263
227
201
207
210
285
223
206
273
227
210
344
260
159
299
348
214
260
263
154
296
183
169
242
233
211
201
145
315
219
268
176
241
284
237
170
218
266
192
211
246
217
285
166
256
288
222
273
207
195
213
273
227
275
249
178
256
265
159
142
174
199
213
285
201
197
214
272
293
277
270
198
114
196
294
200
189
273
226
246
193
203
287
180
262
169
221
154
240
196
293
264
254
196
266
213
224
253
263
228
244
166
235
224
173
261
193
186
186
269
265
222
203
260
238
181
228
133
194
175
223
184
224
232
259
210
177
170
232
246
267
251
159
234
212
198
224
301
277
232
298
236
146
210
268
279
244
324
196
160
222
228
200
241
221
288
200
234
215
228
201
224
200
296
193
192
235
234
231
198
177
253
217
182
180
160
296
221
215
219
234
271
217
164
259
181
282
215
221
258
225
206
207
227
208
130
249
197
197
206
203
149
247
246
201
348
114
184
212
210
248
239
165
202
224
212
261
238
173
197
227
265
257
260
273
196
126
145
219
258
225
194
200
201
242
279
248
106
266
240
209
240
211
273
196
207
229
291
229
233
222
244
254
228
213
206
214
268
188
266
284
176
192
222
174
275
192
241
250
166
204
258
272
195
271
169
168
174
178
220
236
201
297
213
234
209
271
170
257
160
156
288
243
240
213
256
237
167
258
231
236
158
202
221
244
242
339
209
185
214
183
187
229
261
177
309
220
227
246
267
174
160
185
219
238
298
230
156
336
197
241
218
204
162
203
165
209
261
114
184
219
203
243
179
283
219
296
198
271
194
274
221
175
196
182
217
329
206
253
181
193
204
130
261
256
229
252
198
201
261
238
189
215
231
234
201
221
343
250
239
280
232
207
225
144
192
238
214
309
232
237
281
221
273
286
230
249
262
265
241
243
242
226
232
168
259
278
245
296
216
228
230
241
298
222
222
274
284
224
284
191
254
281
108
252
260
168
270
296
287
203
299
238
114
363
206
182
178
267
179
241
198
243
231
192
268
211
252
229
213
126
178
224
178
304
196
210
215
202
244
224
218
198
243
355
247
278
223
221
195
290
227
195
252
156
213
161
256
297
261
266
268
208
180
239
212
269
204
191
282
213
308
323
202
255
216
146
200
291
229
227
259
256
224
321
303
242
202
212
270
214
209
267
225
231
212
219
217
273
223
221
268
242
226
232
234
212
191
208
170
274
218
301
248
211
158
154
194
209
227
268
176
221
189
221
291
308
221
221
181
220
225
240
208
241
240
173
291
239
311
254
312
218
242
266
228
306
297
273
239
308
147
158
258
246
237
213
190
191
229
285
284
221
204
174
210
277
200
202
178
224
270
277
204
223
259
229
253
275
219
245
234
174
173
233
206
256
263
184
159
278
175
287
198
114
292
315
247
232
188
280
224
221
193
240
266
193
187
269
240
225
297
258
287
208
179
238
216
198
167
241
232
184
175
231
239
234
193
243
251
300
217
232
191
236
222
249
200
151
242
265
194
195
232
277
249
203
248
333
265
307
232
194
209
176
248
184
152
202
144
254
263
214
213
233
323
217
273
272
278
284
203
234
227
241
221
247
213
251
175
190
216
235
250
228
274
203
171
252
241
258
242
240
235
203
201
265
228
207
295
139
283
196
212
230
230
192
235
226
243
275
247
183
195
230
154
188
239
142
269
257
200
185
219
230
189
233
234
262
238
212
256
184
195
224
307
211
232
225
246
222
239
180
282
256
310
214
229
145
203
172
268
233
273
148
304
193
212
172
191
279
268
177
193
255
375
238
229
176
219
206
193
251
224
285
209
219
218
176
234
246
192
238
161
232
247
197
121
191
264
213
230
187
160
242
267
174
241
200
216
257
207
242
200
329
160
202
224
216
174
228
220
253
221
211
226
260
243
269
272
181
220
197
257
219
223
168
259
248
281
247
312
256
235
212
250
191
252
176
180
173
232
317
157
173
285
225
177
214
294
241
271
269
210
180
223
198
280
166
206
365
218
240
178
240
178
203
228
217
152
198
225
311
200
228
271
232
261
237
246
213
238
153
149
245
294
259
196
267
270
179
260
178
173
219
212
271
211
166
186
185
243
233
243
216
205
116
264
278
254
243
247
207
322
189
296
181
170
244
252
208
232
279
222
215
266
242
248
240
181
238
261
192
271
252
249
184
213
216
114
194
258
200
267
292
239
362
108
223
201
237
214
229
240
270
192
129
182
229
311
237
210
264
190
184
199
285
255
158
189
265
204
218
247
225
275
160
196
273
201
207
193
233
192
221
211
329
266
191
224
250
215
164
231
268
221
114
290
229
157
287
197
244
158
157
271
157
219
240
236
215
233
211
277
221
257
201
182
245
241
268
214
238
198
281
258
280
295
273
210
221
210
173
236
242
298
227
227
209
200
372
194
203
175
185
233
173
244
218
253
212
353
301
335
170
215
198
197
170
178
236
273
173
219
234
163
220
246
207
176
251
148
266
146
250
235
174
263
220
203
220
263
210
256
175
223
310
183
292
260
247
269
213
220
227
224
233
277
188
213
209
208
230
266
151
203
251
285
194
206
166
296
161
217
239
190
194
175
272
204
251
181
369
230
237
207
295
232
221
166
188
188
218
213
284
354
238
175
230
290
192
192
216
256
215
287
237
280
227
207
243
220
175
330
296
186
293
267
203
228
229
195
316
265
263
369
229
193
191
232
252
184
191
211
200
160
170
222
222
175
116
293
256
284
227
154
222
264
184
212
253
238
180
227
284
156
241
284
196
198
207
181
244
290
238
266
233
231
226
229
244
277
280
195
212
211
247
126
249
234
170
295
224
198
226
194
233
314
236
152
201
300
163
257
176
170
303
193
273
216
262
186
171
272
232
126
256
348
235
187
199
213
194
214
203
171
265
162
192
252
198
249
234
284
174
251
269
240
170
279
259
313
250
207
243
197
225
263
262
245
246
222
219
187
198
200
223
188
214
220
221
164
263
241
284
234
207
188
228
264
145
212
258
247
214
227
237
363
204
284
175
268
193
214
159
238
260
220
230
192
244
231
220
213
162
205
214
187
250
266
126
242
347
172
252
130
209
261
221
203
214
205
326
247
175
262
220
191
310
306
243
140
250
220
307
316
252
207
212
227
184
192
199
236
269
187
309
349
249
222
218
186
253
235
254
277
238
195
178
130
203
289
234
182
244
253
184
270
204
256
238
274
156
249
231
144
288
214
220
249
237
295
178
178
230
248
197
298
266
249
198
211
314
209
234
272
234
239
266
191
231
229
247
241
223
161
198
174
221
298
260
199
146
210
249
209
280
151
263
266
226
213
274
288
235
333
134
293
269
235
212
212
182
176
271
248
244
211
188
166
278
200
197
223
261
277
266
198
245
208
198
165
230
244
303
291
298
200
186
243
183
290
239
121
248
226
189
222
126
253
245
219
213
156
234
164
266
250
173
217
244
192
185
236
187
186
195
273
160
144
209
241
195
198
244
224
258
216
198
204
300
235
208
158
302
217
226
169
194
198
224
241
165
188
164
144
197
238
286
243
165
228
209
208
248
252
178
355
259
236
232
174
209
215
246
195
302
153
186
229
238
296
144
179
258
114
188
256
201
171
200
238
251
218
227
256
193
267
255
236
169
231
253
265
162
261
206
248
231
206
222
242
178
200
204
273
221
277
273
180
259
264
237
253
271
189
267
290
114
217
192
280
169
236
164
216
194
223
245
202
210
220
199
231
217
235
219
231
191
162
237
139
226
199
244
232
265
225
293
310
209
244
246
206
179
191
276
181
234
200
263
305
289
303
240
223
325
218
196
180
227
246
201
258
219
269
277
300
242
282
273
227
156
224
169
202
247
238
229
278
324
197
293
249
258
218
168
322
239
261
190
261
114
227
227
259
273
277
194
260
256
116
307
168
318
243
237
262
181
206
285
294
209
164
222
214
255
108
202
253
262
260
261
225
249
171
245
237
114
255
220
199
148
259
238
184
246
221
201
218
165
114
314
255
220
198
214
139
285
274
277
193
240
252
277
250
221
167
158
234
261
209
139
114
249
211
228
193
323
251
168
187
283
245
216
156
244
227
236
220
260
208
146
239
217
191
244
229
266
184
276
168
202
184
284
194
292
156
173
212
175
219
108
256
230
291
288
178
217
152
259
256
159
203
233
214
260
184
234
226
180
261
223
178
244
200
235
243
213
238
207
204
230
227
181
312
242
179
245
239
196
222
276
263
187
186
197
309
245
205
274
280
247
255
238
200
264
204
195
270
209
220
263
252
339
195
233
262
152
228
212
231
246
240
241
241
311
273
252
294
330
195
228
220
176
161
176
220
259
222
335
209
218
261
166
304
180
199
148
180
259
261
285
246
236
278
233
230
223
186
231
250
159
277
276
229
342
263
354
222
245
273
108
349
162
276
206
244
145
181
261
209
240
356
250
262
216
173
216
186
208
179
255
261
193
231
253
227
114
253
238
279
163
216
191
281
189
175
276
248
126
213
275
289
247
219
297
191
208
156
293
242
192
302
244
343
317
347
227
256
212
238
201
239
254
206
243
233
269
261
242
225
234
241
201
203
189
250
306
247
224
211
178
231
270
202
198
180
194
250
296
278
226
343
273
222
134
285
223
253
220
164
232
284
272
204
240
235
314
236
171
207
240
234
239
215
220
251
256
208
214
252
234
226
198
332
213
269
204
256
190
214
238
155
158
254
188
248
114
229
158
187
292
185
184
208
165
178
288
264
310
190
128
145
244
195
250
191
267
302
217
216
149
330
267
159
232
342
221
250
283
153
212
116
293
183
332
235
249
212
130
245
245
213
262
240
260
293
191
196
288
185
284
224
263
231
245
202
258
224
232
178
223
239
210
245
220
226
210
269
278
216
202
186
256
283
243
239
194
251
251
294
185
194
233
240
214
212
203
233
179
238
303
198
245
250
185
205
218
178
290
116
218
240
268
264
265
266
188
214
221
231
242
235
152
151
175
175
204
271
265
202
211
244
279
234
262
210
184
258
168
247
267
270
170
309
180
202
196
236
233
204
194
272
317
293
275
164
229
139
242
155
174
226
234
281
252
190
286
149
159
182
198
308
179
168
200
267
251
218
158
208
247
217
187
221
170
213
318
202
231
173
236
255
265
250
270
201
169
228
217
166
273
198
233
254
174
210
145
126
232
222
187
239
193
251
242
262
247
154
191
315
301
183
251
165
200
279
185
226
178
215
213
213
230
250
252
233
235
229
273
183
192
228
293
229
193
246
280
176
318
179
239
196
222
256
194
247
216
176
189
228
291
250
184
247
214
146
203
178
352
186
190
244
265
220
231
239
217
234
258
226
190
206
211
238
226
240
282
225
275
180
231
244
290
230
265
180
162
170
237
202
191
160
160
144
114
291
236
225
164
246
209
239
318
294
207
188
252
254
174
242
191
212
282
233
176
249
170
267
171
186
219
208
265
197
182
224
198
218
108
225
248
192
156
134
227
156
208
261
288
169
263
256
233
238
252
157
155
208
174
174
214
237
210
324
222
165
194
293
185
139
199
151
154
223
126
173
187
194
241
236
253
161
269
175
274
240
247
246
194
191
239
189
218
114
187
228
249
188
196
208
308
186
198
273
233
280
228
201
212
178
335
175
282
184
193
274
311
253
292
240
310
254
234
217
211
239
174
203
168
174
229
234
221
257
260
231
270
235
262
255
182
202
230
249
144
197
294
229
270
250
208
205
162
196
201
199
228
195
176
237
258
242
246
238
240
197
311
210
183
265
205
211
219
178
291
190
252
239
267
310
201
250
211
243
235
164
170
246
222
191
263
271
200
166
273
305
265
303
172
178
168
198
297
223
151
183
205
252
145
277
178
265
178
185
310
318
212
202
246
176
257
154
297
210
236
293
250
211
194
182
272
224
244
267
179
216
235
166
265
212
263
195
227
263
337
327
174
199
244
200
275
188
184
299
215
264
147
206
201
177
235
259
283
196
279
212
263
246
216
228
162
204
302
195
235
268
221
223
245
225
259
312
230
228
254
177
260
288
263
257
204
186
232
172
289
270
229
154
230
208
200
181
243
240
244
189
278
196
299
233
196
261
206
246
189
224
207
196
214
158
139
284
210
221
185
213
177
205
202
207
299
187
253
234
304
255
204
274
225
260
269
208
197
252
176
233
186
207
229
230
214
271
247
192
189
189
228
229
162
335
205
235
229
170
265
264
235
205
192
233
184
177
238
296
203
255
283
168
178
170
230
192
178
209
242
300
251
200
282
192
175
255
265
145
176
164
183
256
279
185
344
220
223
177
245
173
176
161
304
225
265
170
160
290
197
155
222
216
239
182
286
226
184
157
288
174
249
240
175
233
299
203
215
160
295
288
244
114
312
264
286
240
305
175
149
203
278
256
222
300
229
241
234
245
194
231
165
256
162
170
182
237
212
206
234
298
233
244
197
323
171
234
200
160
170
164
222
280
200
178
181
206
263
274
269
198
218
238
191
205
215
203
228
335
202
166
238
150
215
214
277
198
261
174
294
219
178
210
228
211
252
220
276
190
219
262
234
177
191
209
192
215
237
160
201
218
180
229
170
263
189
159
199
296
213
270
133
204
283
267
189
234
237
275
275
290
261
257
211
244
207
192
226
244
223
224
236
196
215
207
220
219
208
290
263
163
284
225
190
198
182
305
279
144
257
174
165
212
288
173
229
166
245
196
265
285
220
246
251
210
219
253
204
215
221
266
243
209
116
153
276
253
133
248
108
199
258
293
211
264
279
233
156
156
266
183
284
195
275
184
180
333
193
186
260
259
270
209
201
188
158
244
204
273
246
317
160
174
191
182
268
234
179
185
227
221
196
250
144
168
211
194
313
206
270
286
181
299
283
144
256
186
266
205
194
217
181
284
180
160
210
283
262
228
195
206
258
210
213
231
202
188
226
206
229
239
206
210
194
177
162
198
245
202
247
178
174
217
173
218
222
205
174
227
244
217
212
199
206
286
220
273
245
226
228
218
151
229
279
259
217
214
168
216
224
227
191
245
190
175
193
289
233
269
187
245
156
151
285
223
213
114
290
168
270
213
297
219
249
227
235
151
257
285
207
195
321
214
207
282
160
230
271
271
126
217
149
226
196
309
188
194
199
218
212
199
210
173
266
170
170
292
199
219
293
209
254
184
308
206
242
146
126
196
347
180
145
296
210
261
244
182
227
168
207
275
299
271
222
160
303
160
202
262
234
261
218
274
197
215
260
244
242
114
203
262
247
268
230
235
178
369
254
279
232
239
228
257
265
214
281
214
238
175
279
277
256
238
254
224
276
233
192
227
244
246
220
258
252
133
249
180
248
216
247
173
169
272
155
271
219
206
184
192
175
245
253
184
170
231
220
260
235
209
212
244
229
207
251
233
198
225
203
266
221
244
200
324
208
240
206
277
208
256
298
210
178
279
179
235
239
259
261
257
208
269
175
161
224
198
243
198
214
280
178
188
219
249
269
265
272
211
198
275
222
252
251
165
238
246
258
204
275
194
265
220
320
235
270
203
179
223
214
194
242
202
222
204
239
198
383
241
261
163
168
213
219
246
260
314
192
247
165
208
201
223
253
240
203
196
210
188
229
238
193
175
303
231
164
325
172
237
237
219
261
175
268
130
183
181
249
294
149
222
254
179
210
188
185
196
114
259
205
239
292
327
282
268
204
243
265
222
274
223
238
175
247
213
256
192
272
268
230
242
257
321
212
239
188
191
316
367
166
193
186
283
228
250
240
184
233
178
186
243
213
228
287
217
234
200
258
243
173
253
279
227
218
178
246
253
279
195
221
164
238
265
231
178
243
139
242
243
238
252
201
184
218
208
234
170
225
201
190
145
170
245
204
281
209
152
217
319
187
277
195
184
240
114
225
197
258
276
242
173
183
234
297
189
201
192
209
276
139
229
166
212
192
250
182
238
236
195
291
226
228
278
236
249
257
225
271
208
191
156
237
216
208
306
114
185
165
185
240
309
335
126
161
243
164
260
245
207
246
306
259
216
225
173
322
344
262
204
199
239
156
173
226
144
186
207
126
314
220
243
175
256
139
241
236
232
235
216
324
238
173
181
266
253
210
175
262
245
232
177
345
296
168
273
243
179
203
203
269
114
166
314
219
217
324
232
231
262
198
198
247
160
206
225
241
256
204
222
244
220
220
229
275
178
274
205
199
268
227
201
231
212
200
287
211
195
253
273
161
170
258
235
234
203
295
186
195
210
234
321
269
218
253
168
170
195
240
212
236
279
279
191
240
328
205
239
219
248
156
287
240
147
205
215
207
250
236
234
341
151
185
232
251
230
200
204
266
255
240
165
217
166
175
207
322
230
145
272
265
114
258
183
150
271
181
320
220
243
206
222
216
248
227
257
228
152
305
297
238
259
282
229
197
178
271
161
262
270
306
313
212
193
225
239
262
282
277
179
205
247
169
258
228
170
203
191
341
175
225
296
181
221
240
229
218
196
236
285
235
204
227
144
221
236
263
286
300
219
237
294
192
307
116
228
207
299
214
209
271
217
183
213
181
217
190
244
158
175
174
228
129
195
219
219
249
206
287
194
160
198
178
198
183
296
261
292
200
217
273
239
146
262
238
221
223
206
312
211
299
175
235
201
192
282
195
156
216
316
179
255
163
226
170
256
263
218
201
159
246
242
195
239
290
249
217
265
220
296
350
255
234
170
233
188
223
300
176
253
230
221
264
222
191
174
218
232
254
201
277
286
174
272
222
210
227
233
206
161
193
245
188
159
253
281
255
235
259
249
223
220
192
219
197
219
226
211
305
292
201
158
262
114
265
222
169
208
218
164
236
174
253
175
243
296
211
186
269
216
282
261
196
202
222
251
191
260
223
179
266
286
192
264
130
189
210
237
200
235
224
190
188
235
271
234
253
200
279
201
209
268
270
361
241
243
200
223
212
208
184
152
195
220
274
196
154
241
219
206
221
189
252
230
204
365
234
277
236
274
170
176
159
138
213
220
248
240
208
187
188
166
181
207
254
205
202
214
247
277
209
146
216
168
170
225
232
225
222
205
226
212
207
226
205
339
192
236
212
161
245
229
283
206
148
264
196
259
283
278
192
196
305
224
261
173
299
223
217
280
279
188
296
332
259
114
220
270
238
208
244
219
198
297
207
262
252
181
306
205
222
268
148
114
303
260
180
237
196
144
269
130
231
218
271
225
265
181
265
305
165
229
257
233
245
219
183
294
258
244
243
217
253
285
260
223
166
253
299
199
238
174
222
278
209
239
170
166
253
266
260
278
210
277
239
276
224
144
182
250
178
194
197
262
204
195
219
314
263
216
216
215
209
189
269
309
201
285
202
194
297
177
304
202
301
195
216
166
200
277
238
246
222
188
326
270
215
246
218
168
252
223
239
186
272
156
295
235
289
202
249
214
229
189
232
249
203
144
233
274
280
239
244
207
210
254
198
194
213
196
173
229
238
249
252
259
281
225
194
221
232
201
192
172
237
208
277
210
232
239
313
221
175
256
224
293
226
249
203
245
208
245
256
283
204
180
197
208
165
205
261
257
257
213
160
154
249
151
214
237
264
162
231
253
245
217
183
166
190
261
304
264
174
220
263
126
233
209
246
197
218
227
280
248
228
306
202
291
308
266
272
291
248
247
243
231
227
235
257
288
238
190
208
185
240
271
204
283
272
206
265
203
264
198
156
237
173
204
253
298
238
353
166
226
183
303
246
223
192
241
284
274
309
263
209
181
249
277
234
179
175
242
291
173
231
208
265
183
198
198
239
209
193
249
218
355
262
267
281
193
146
144
240
275
201
160
274
196
194
210
249
168
210
189
231
285
160
228
114
252
121
172
245
260
152
181
180
180
302
207
266
312
225
205
249
178
185
240
250
160
258
209
156
237
204
233
209
229
249
162
298
251
230
294
286
148
268
114
283
240
213
209
211
276
297
209
219
187
162
246
213
229
256
239
175
230
191
216
181
299
303
228
229
167
222
310
257
264
144
232
212
156
240
325
178
223
207
193
235
232
210
235
192
250
171
184
261
229
233
233
176
247
187
170
269
223
309
155
279
255
272
316
192
209
179
191
245
202
278
188
189
188
275
280
188
203
167
260
300
177
252
231
160
285
271
178
213
232
225
216
201
215
267
190
272
366
132
211
175
282
175
229
139
246
289
328
214
276
298
186
208
304
220
214
148
254
260
191
198
235
290
219
173
209
358
216
207
273
200
199
168
256
222
297
237
235
252
227
193
233
215
235
243
306
285
215
276
230
195
328
157
247
264
284
206
244
187
208
188
171
198
241
258
276
253
196
211
235
278
152
249
272
250
239
195
248
255
130
178
329
198
212
169
252
155
238
231
214
254
224
224
213
256
263
208
264
278
249
198
248
184
263
235
240
181
241
156
278
264
226
256
268
126
263
229
208
210
219
218
203
207
241
203
162
170
273
256
180
195
174
231
219
170
218
214
232
180
282
231
206
274
219
296
167
215
212
247
280
288
232
252
175
165
232
198
257
220
201
275
258
170
345
217
175
244
196
235
175
221
114
229
231
184
235
236
174
233
314
268
255
185
266
168
230
126
193
175
224
255
207
160
214
278
267
260
206
202
233
185
182
226
181
214
170
249
196
198
276
212
178
233
236
178
264
195
192
220
238
163
224
243
114
246
302
213
276
190
156
241
177
276
206
231
270
158
233
242
208
247
222
236
283
228
197
219
258
192
183
200
245
188
234
206
258
292
230
249
257
151
160
218
219
170
192
299
238
219
153
252
222
172
259
284
263
206
240
211
270
272
214
273
159
114
227
228
178
285
238
224
170
182
265
250
248
199
221
299
277
192
220
139
176
287
235
172
320
251
248
149
207
252
197
232
229
337
195
165
232
273
114
194
272
297
108
226
173
260
185
262
237
212
233
218
263
245
222
157
130
181
197
244
144
225
290
306
268
170
251
280
219
181
235
246
175
262
215
214
246
245
236
233
216
316
208
161
283
196
198
223
292
227
196
271
305
205
176
223
178
253
208
181
198
241
156
215
300
195
229
200
241
261
181
170
328
234
175
220
181
218
219
203
225
192
266
253
297
198
229
166
144
227
267
221
173
148
211
139
240
227
284
252
185
254
114
231
197
161
286
223
220
146
244
220
201
242
215
179
226
299
208
114
348
195
215
313
228
207
212
185
171
197
253
253
205
171
209
263
182
169
245
277
259
266
301
215
196
159
156
232
190
192
227
212
144
285
206
181
193
267
221
178
106
114
287
254
277
182
258
310
114
209
238
227
195
165
177
232
175
311
247
205
230
224
177
261
265
186
198
287
208
114
200
226
192
228
237
360
235
238
192
255
216
174
186
220
242
221
275
252
250
234
242
282
264
218
153
153
222
190
243
178
227
184
214
237
232
301
246
185
241
336
278
334
192
201
272
145
173
180
114
235
208
284
209
169
208
222
195
201
192
238
233
310
259
297
263
287
227
262
108
144
184
134
208
157
209
182
212
240
248
258
280
206
179
240
244
207
217
246
145
220
279
235
245
290
213
258
290
208
200
257
241
189
260
271
205
288
283
199
246
170
210
224
284
178
277
159
250
349
213
129
152
281
198
234
161
259
200
249
188
190
191
273
180
208
219
250
217
238
213
279
285
264
251
242
179
200
243
198
258
211
231
166
325
235
169
309
216
178
180
158
229
281
204
225
199
293
171
247
160
243
297
240
252
159
222
237
214
279
207
213
243
218
181
235
114
276
266
161
205
215
181
258
252
333
262
269
223
277
248
220
258
192
178
208
215
253
273
239
169
205
283
257
205
360
260
154
221
204
217
185
106
220
231
211
281
203
192
284
170
219
198
263
258
266
267
200
160
268
181
278
260
259
211
255
206
231
226
219
156
214
187
196
220
257
142
146
180
244
255
240
234
267
179
185
162
240
231
291
180
195
214
301
306
242
208
248
281
208
204
284
218
234
244
231
202
207
286
210
300
207
223
219
216
239
232
209
267
249
230
269
293
212
200
233
252
235
122
176
232
220
247
198
200
233
209
210
242
252
320
160
220
234
146
204
287
205
225
257
269
265
176
193
262
192
237
309
181
156
188
249
152
235
233
206
260
114
218
181
289
151
282
268
194
267
234
317
192
199
192
182
240
244
220
193
368
227
152
244
266
299
152
246
211
267
166
213
222
294
240
160
199
204
307
320
209
169
271
214
186
159
219
230
164
270
282
211
178
169
290
208
205
248
245
293
205
254
217
221
254
209
207
309
241
216
335
196
336
253
183
210
254
205
243
208
216
218
246
214
182
128
194
223
227
238
198
209
157
257
252
177
225
222
259
238
282
280
164
188
187
215
212
274
193
198
195
204
190
254
186
304
271
185
244
229
229
215
246
241
287
186
190
292
266
208
166
265
221
242
243
299
259
227
252
253
259
217
269
194
203
210
227
171
253
200
222
199
200
297
209
159
200
232
199
292
205
230
247
170
256
259
172
240
227
325
209
213
254
196
234
195
211
218
192
270
194
179
234
242
227
258
238
246
205
165
145
160
232
262
257
114
178
227
226
215
214
114
256
210
228
279
156
275
208
203
257
271
240
224
233
185
244
236
282
230
199
267
218
249
192
311
247
231
233
239
254
225
169
233
226
156
191
175
260
181
236
244
197
318
204
245
170
114
169
202
222
238
295
251
114
258
307
175
187
261
160
239
244
199
194
271
223
234
215
250
266
181
206
218
239
189
252
230
227
317
181
208
205
201
251
273
250
243
198
160
214
202
139
195
226
282
225
323
268
206
276
174
226
195
198
211
270
195
338
159
231
206
240
255
189
297
207
260
273
271
256
233
203
206
205
219
213
272
158
238
209
207
219
198
205
178
203
232
233
156
234
208
273
173
261
178
222
246
230
197
193
196
246
274
262
114
221
236
189
260
228
231
303
235
198
203
240
235
219
231
204
250
218
217
186
196
270
260
300
195
192
327
226
126
164
188
196
197
206
219
218
114
209
189
259
251
242
193
200
243
157
208
175
203
149
281
178
256
244
139
205
254
193
151
225
302
235
208
229
184
208
276
260
250
283
218
323
240
216
194
241
257
249
273
241
349
255
114
251
237
164
133
157
258
145
160
191
211
176
199
169
223
216
207
256
221
242
241
169
170
208
248
177
214
249
219
166
243
357
196
265
216
210
319
210
171
202
170
218
233
211
214
173
169
235
236
201
270
282
180
207
252
325
151
264
349
281
257
175
250
257
254
248
234
270
192
222
220
173
236
296
187
235
200
170
184
236
237
171
191
266
254
168
167
149
178
252
242
261
173
242
218
295
225
285
189
198
244
221
256
130
230
175
208
201
267
194
224
197
170
253
293
261
228
221
222
221
211
205
146
275
208
246
328
190
272
315
290
234
139
263
194
170
212
246
241
244
211
178
245
216
261
269
286
206
237
315
311
197
192
169
243
200
203
160
196
219
186
213
249
286
252
252
190
183
201
139
205
170
293
282
175
151
297
221
248
216
222
245
209
237
204
247
302
226
249
285
218
213
192
203
278
202
244
197
205
158
209
270
238
270
211
257
203
246
237
198
266
151
130
181
210
254
195
248
235
189
237
148
224
234
277
310
287
139
186
232
297
170
168
182
161
282
219
245
234
219
196
285
188
242
234
243
272
152
114
196
227
250
214
116
215
239
245
164
274
235
270
213
326
273
261
204
190
196
238
189
191
184
246
271
249
287
296
246
256
203
220
209
179
264
229
249
202
189
169
253
211
218
178
170
179
294
205
260
247
238
313
173
279
219
192
228
194
222
200
246
179
213
223
260
151
211
193
207
315
256
198
242
340
231
193
233
214
374
179
258
170
231
206
192
227
167
311
170
186
160
222
233
271
190
188
247
204
255
205
175
234
212
316
254
199
258
225
154
317
223
276
213
170
219
198
154
259
274
183
202
263
271
208
172
161
238
228
216
160
218
228
205
269
173
187
246
220
292
291
277
231
291
190
219
250
114
228
208
227
210
203
286
257
224
240
239
168
220
262
201
251
234
233
200
235
247
221
227
198
265
228
229
203
218
301
203
308
231
219
253
260
210
169
192
235
235
279
245
311
180
203
211
218
237
222
170
145
195
274
279
196
247
207
227
283
217
231
198
126
171
106
260
211
206
212
264
196
265
234
201
221
238
228
231
224
202
298
163
213
292
209
185
243
243
149
224
230
280
229
240
207
187
228
220
220
253
281
251
254
233
279
288
249
231
243
263
274
281
238
271
179
222
201
242
204
247
240
237
241
236
185
311
234
188
243
184
236
189
306
170
287
214
250
194
262
182
265
264
210
203
192
238
218
191
221
232
247
209
238
152
219
310
247
274
297
255
262
181
271
209
227
189
251
262
218
238
256
289
234
161
245
209
258
282
180
338
165
285
279
256
261
272
233
263
294
259
193
280
220
186
216
230
227
188
160
323
249
231
179
238
164
169
196
245
220
299
249
280
185
225
175
192
225
208
301
264
273
183
234
202
246
230
231
192
259
254
243
275
217
199
258
287
184
259
284
252
234
287
230
226
207
227
197
258
297
156
265
203
232
192
247
181
301
114
260
232
187
198
230
192
192
164
282
168
145
184
189
244
178
204
275
278
218
252
208
329
288
213
218
188
262
286
325
224
175
232
267
247
177
259
203
213
262
146
222
265
234
208
283
139
262
245
233
232
160
203
207
197
151
257
223
192
196
211
263
178
210
233
176
214
208
231
227
227
205
165
154
238
173
235
220
207
158
260
201
114
191
106
273
192
156
230
168
173
221
189
218
193
333
252
154
320
210
215
212
184
224
203
285
284
210
228
173
312
164
261
198
209
215
205
219
189
230
215
247
151
228
235
188
234
284
232
231
248
206
190
198
264
267
242
200
182
251
238
195
233
208
193
170
209
234
203
187
205
173
235
226
220
261
189
221
215
227
182
245
255
186
227
196
207
247
205
225
195
280
218
172
310
190
221
261
210
258
257
276
204
267
231
233
257
270
175
193
194
146
243
199
106
214
240
224
178
227
171
217
223
225
183
286
215
198
279
266
269
217
191
188
229
171
202
219
195
243
266
260
196
217
198
175
158
205
252
204
243
133
277
205
249
149
264
254
196
203
152
170
199
151
276
174
221
264
222
270
246
165
166
222
160
242
261
205
230
189
108
202
188
170
263
234
300
217
231
116
168
177
295
198
174
196
177
145
233
212
254
222
254
225
151
171
219
223
247
173
229
226
183
200
198
254
253
252
175
126
222
289
194
181
210
134
260
221
170
186
170
236
160
158
139
214
342
224
228
157
146
229
252
229
230
178
227
244
222
250
269
196
237
252
221
232
248
267
241
227
152
212
122
221
217
114
213
223
178
172
219
263
208
289
210
167
229
222
227
217
267
116
197
210
161
178
147
306
277
203
169
198
320
169
185
229
126
173
175
222
235
237
234
254
193
139
174
313
213
263
229
203
200
193
283
198
341
192
186
183
173
178
318
247
181
231
266
165
233
276
219
210
288
212
274
197
182
229
200
224
173
252
268
211
154
190
206
233
246
254
222
256
200
220
187
202
212
154
232
317
230
178
289
258
267
156
116
239
193
192
219
217
275
268
202
241
211
242
173
240
192
158
214
178
187
361
173
264
155
237
289
293
212
247
200
285
213
215
306
241
251
224
220
176
126
181
276
203
220
279
229
108
144
171
235
260
254
229
316
216
247
278
224
267
267
215
165
249
263
296
198
178
219
235
234
202
234
170
254
239
265
216
209
232
183
152
224
214
270
187
238
225
218
242
202
226
249
223
162
285
240
287
353
195
305
262
180
178
234
188
227
200
218
154
213
234
263
211
258
268
173
197
220
214
242
233
242
191
261
272
238
221
160
192
202
247
250
239
201
232
189
156
231
214
236
277
266
284
244
230
278
169
201
205
319
223
226
321
242
226
220
251
145
189
257
267
208
271
259
246
229
255
240
286
213
145
207
249
249
262
293
249
267
186
189
234
178
236
262
164
242
181
156
266
194
241
225
266
290
226
218
160
231
192
209
181
243
248
238
232
242
190
207
248
214
179
199
275
180
218
187
192
276
338
323
211
145
233
188
290
246
231
148
288
196
213
300
255
312
152
198
214
235
208
206
279
222
230
262
270
191
217
255
255
164
233
208
177
182
207
263
187
260
156
277
258
203
188
266
171
228
261
126
267
293
239
244
236
302
114
219
253
177
200
210
241
249
180
186
172
174
225
261
289
295
284
195
213
247
178
244
262
253
191
300
211
307
206
236
228
203
174
149
188
235
229
219
291
231
141
216
218
215
246
258
192
178
213
176
192
251
219
235
164
223
240
252
194
213
212
209
232
210
211
228
203
221
175
153
254
268
222
221
183
196
174
247
154
220
229
195
201
128
310
217
207
297
300
219
245
273
322
200
189
194
232
255
142
249
318
225
196
311
203
282
216
187
158
191
232
181
256
310
240
193
207
222
237
351
165
240
332
282
187
176
208
204
235
232
206
148
221
213
130
116
224
185
215
192
180
250
247
241
266
162
221
221
221
208
213
265
254
274
259
186
181
221
216
254
212
230
130
260
231
252
162
271
291
296
217
215
304
351
212
231
282
186
285
187
266
239
250
228
305
263
193
151
215
173
254
226
161
237
188
219
206
234
223
198
198
279
285
191
256
265
209
258
205
180
215
182
247
221
211
245
209
284
251
273
254
178
197
240
302
260
221
240
171
209
232
254
180
209
207
277
267
330
288
252
219
206
235
237
245
191
251
282
223
198
218
239
270
222
242
242
223
262
195
269
273
226
250
156
253
249
239
186
190
198
202
198
129
174
184
200
210
278
257
272
212
198
278
228
225
154
156
209
195
226
181
226
232
275
152
219
224
252
156
209
239
215
293
245
267
229
221
279
264
220
217
172
217
191
240
209
231
193
212
242
126
226
231
275
260
277
341
212
193
277
209
156
269
187
224
316
277
186
218
114
298
158
236
198
279
188
245
218
203
189
198
277
212
240
193
205
218
178
246
302
168
108
219
303
261
218
222
288
151
196
243
186
264
204
198
248
260
200
214
241
228
270
233
160
174
281
240
281
179
181
185
204
207
166
200
288
192
257
220
238
265
252
218
180
289
187
207
203
296
213
232
174
168
221
294
221
219
291
260
191
180
218
239
234
174
252
228
243
209
296
257
252
160
203
218
224
189
192
139
260
180
184
239
182
229
234
262
222
263
211
166
185
166
272
204
253
222
241
373
232
264
244
252
307
204
114
169
251
188
216
173
253
258
198
301
146
215
236
196
207
259
231
178
187
213
149
210
258
261
198
264
194
206
282
245
248
220
190
257
258
279
260
202
263
224
253
280
233
295
181
259
218
187
172
243
215
279
258
219
152
205
235
200
274
248
206
179
269
235
219
197
241
210
291
214
246
244
214
221
228
225
246
209
231
217
254
160
248
227
203
240
252
281
253
253
170
302
254
273
300
147
108
193
335
330
218
208
240
202
283
218
195
219
301
189
215
266
209
181
215
221
219
175
282
284
307
193
204
247
279
254
233
237
266
171
264
185
178
194
197
226
232
251
261
249
269
156
178
213
244
168
174
235
275
207
251
151
229
226
177
201
294
241
215
260
218
180
170
319
212
208
281
194
226
241
229
193
297
198
198
208
195
228
248
222
200
209
242
217
231
184
208
274
179
224
282
245
205
288
162
163
156
229
226
237
219
146
243
268
217
190
203
239
270
252
224
217
200
198
232
267
251
184
210
237
248
244
152
249
156
251
217
227
200
220
170
222
268
195
182
285
243
171
219
240
181
235
273
253
222
239
239
235
207
209
293
239
246
225
265
218
296
262
203
222
190
185
303
200
256
242
158
241
171
254
186
240
245
161
221
284
258
282
260
305
285
229
257
219
312
222
234
321
211
245
224
253
262
218
255
188
205
187
199
179
255
225
263
234
182
215
152
340
234
208
198
232
170
336
160
192
152
233
158
252
211
149
291
225
130
242
258
225
162
144
195
270
246
307
174
303
260
176
180
226
170
238
200
232
188
205
208
245
241
255
229
192
170
230
178
203
219
231
145
181
238
302
179
315
139
265
169
226
230
297
182
256
179
250
212
250
153
223
237
239
226
271
165
235
139
225
170
214
236
241
239
181
209
222
243
237
218
316
176
258
254
213
256
226
168
330
279
208
221
243
254
161
234
234
239
147
229
220
259
214
274
156
178
304
177
258
227
241
218
254
226
207
213
240
209
225
276
249
169
207
247
189
220
189
242
223
255
228
190
259
282
158
222
228
184
199
233
196
320
238
240
219
170
190
193
226
208
174
152
259
270
186
209
188
169
210
290
317
266
247
211
175
253
207
162
214
246
166
247
246
245
185
184
126
223
213
106
225
208
126
288
343
298
243
175
283
154
219
224
271
233
249
249
191
220
270
190
160
253
279
241
202
211
224
195
321
234
198
273
204
282
193
200
251
258
203
146
126
253
236
262
262
262
245
152
248
168
179
224
211
198
195
246
297
194
325
224
202
175
229
246
193
243
209
169
201
237
175
302
248
212
272
114
223
275
262
193
194
268
215
218
212
177
232
264
170
214
169
178
175
238
169
201
213
287
211
156
240
290
218
335
284
170
242
220
271
177
284
232
192
225
196
201
276
221
233
242
255
173
246
203
174
164
290
191
220
256
209
286
207
232
216
206
126
196
169
181
279
206
191
199
202
342
266
225
221
168
228
220
207
206
180
217
263
176
286
158
188
238
251
204
185
216
219
235
244
242
219
245
223
265
130
225
207
236
310
236
180
237
279
250
195
168
266
148
252
196
189
215
260
254
250
168
126
219
198
190
213
299
267
211
273
234
144
284
198
205
222
209
200
260
308
218
108
232
301
222
190
305
229
299
167
244
247
273
230
183
216
248
219
169
114
285
220
287
209
264
260
282
164
128
264
274
114
215
172
229
229
214
215
194
114
208
259
288
320
210
266
135
209
218
240
169
247
215
251
206
283
146
241
200
191
304
260
197
191
174
215
151
244
150
269
182
184
184
160
250
175
278
239
215
265
224
190
251
276
219
231
227
177
279
248
245
261
265
245
262
194
245
309
114
292
165
315
274
227
234
214
198
197
258
184
151
278
253
149
170
233
190
248
193
195
243
264
231
242
175
229
175
235
192
288
240
177
315
272
244
223
290
215
199
231
208
239
288
279
243
176
180
198
227
210
184
206
221
220
261
281
225
165
226
323
234
239
282
248
235
258
148
187
230
271
238
253
225
224
191
229
306
205
231
198
210
194
256
284
184
284
269
215
215
367
232
199
238
141
207
248
235
272
294
215
198
180
284
199
293
268
206
285
306
339
252
226
265
191
253
249
114
205
161
258
234
182
316
208
143
265
244
189
258
247
208
193
257
206
240
247
157
272
191
174
273
268
302
239
252
232
236
278
245
173
195
210
221
225
191
194
253
202
207
255
199
284
241
158
237
205
204
241
263
206
266
139
181
151
229
187
236
167
214
190
254
148
311
281
187
273
251
211
236
267
301
194
173
300
236
215
213
250
279
327
216
188
255
291
264
251
324
226
276
230
228
214
365
292
219
238
209
279
271
225
306
216
185
266
249
267
216
214
185
178
243
195
177
278
286
216
193
214
277
220
192
248
215
241
187
239
321
220
246
266
156
237
198
239
297
235
227
243
259
223
189
153
205
193
254
220
170
229
219
215
328
171
222
211
186
175
208
314
231
157
198
229
282
137
260
196
190
209
191
218
234
255
223
178
213
225
220
210
233
193
244
172
244
224
256
253
215
180
198
207
295
141
284
276
188
233
219
192
159
160
219
245
219
304
165
177
231
172
208
310
214
203
247
270
242
215
225
252
272
173
174
221
253
288
251
225
173
247
166
210
154
173
249
220
279
242
239
259
243
259
181
250
198
326
180
167
306
184
236
198
302
192
269
192
202
226
253
228
234
231
176
311
166
215
163
200
211
236
221
184
253
188
208
213
194
308
235
192
192
178
168
237
206
163
183
260
205
211
152
196
219
213
179
251
165
145
217
208
218
214
255
238
174
280
200
239
233
221
296
191
173
216
211
222
171
181
173
314
210
192
314
220
201
259
255
196
227
189
262
241
226
179
251
293
264
179
201
283
236
197
238
243
229
149
233
173
252
204
327
229
200
246
237
203
175
249
248
198
160
254
320
194
242
225
213
295
144
214
139
144
270
234
212
213
217
191
331
161
114
285
206
227
257
271
214
175
277
291
183
185
212
198
287
228
173
251
165
175
230
215
258
217
262
258
247
192
174
155
266
261
266
221
256
146
195
169
242
245
188
139
204
227
241
263
222
217
195
207
202
210
208
203
214
206
246
258
225
226
268
263
114
271
144
203
208
198
326
180
245
177
213
281
205
244
201
167
275
177
293
328
219
222
209
211
189
168
266
208
270
275
152
193
300
195
217
253
169
221
298
251
248
264
169
246
244
179
230
295
183
297
276
235
186
223
265
303
174
310
260
244
231
208
267
281
246
241
197
128
286
114
247
228
159
254
177
179
311
247
202
170
196
271
245
228
195
191
244
269
210
241
198
224
292
250
232
162
265
152
247
242
215
165
175
188
167
298
219
192
270
221
260
267
244
178
198
229
272
238
229
205
299
213
170
255
275
238
246
237
256
175
248
249
259
340
273
214
270
176
206
303
214
249
177
258
323
273
239
251
190
339
242
233
179
229
195
263
214
265
276
190
368
164
160
289
202
204
263
212
288
291
249
121
249
173
277
268
180
192
170
273
180
253
227
180
225
160
237
180
232
223
201
248
268
286
212
258
246
205
190
178
166
229
299
213
209
297
240
233
254
253
222
204
282
220
282
228
225
270
248
302
180
251
244
239
261
185
271
225
212
274
307
239
252
307
177
199
223
227
226
139
282
260
187
202
198
247
194
177
243
213
229
288
212
203
288
177
234
281
271
238
278
176
149
345
245
259
139
243
167
217
225
200
249
247
244
168
276
114
310
290
175
198
195
302
194
256
202
228
250
165
289
275
265
184
243
266
238
233
193
217
198
253
239
233
325
207
246
225
271
230
233
173
186
195
251
208
266
223
160
213
173
274
236
170
223
226
209
163
287
220
203
238
192
258
252
238
181
160
237
217
182
287
252
249
288
239
129
199
197
158
200
192
216
184
252
229
195
250
217
266
184
252
208
190
307
197
275
288
268
252
160
205
266
212
232
170
209
310
173
186
240
258
203
239
217
197
282
238
255
244
195
332
210
222
224
177
261
194
222
237
256
247
178
269
225
288
220
192
218
246
276
179
267
175
196
158
178
264
234
196
318
218
242
206
232
245
197
152
232
234
288
205
194
192
245
222
239
220
271
235
200
192
213
280
193
203
178
251
209
283
298
229
194
189
250
196
219
184
207
161
166
223
154
157
227
265
289
278
198
230
239
297
180
265
226
231
240
234
328
239
198
198
267
210
261
186
240
268
254
282
171
229
200
273
160
215
231
219
219
195
295
193
266
206
271
178
236
245
214
206
211
253
165
170
251
232
233
270
192
274
251
233
171
219
223
271
221
245
191
183
204
218
241
234
151
258
247
186
166
223
241
179
238
202
169
307
287
262
221
164
209
180
280
154
146
203
194
176
197
247
212
130
168
198
209
276
289
227
185
151
259
201
161
278
201
292
229
250
209
217
266
200
204
229
175
181
339
276
238
242
186
200
221
225
234
299
295
226
170
234
224
244
239
266
177
233
208
252
318
255
206
271
172
286
178
245
193
147
259
206
183
160
252
257
302
234
157
181
152
207
227
265
286
171
116
170
318
167
215
247
234
147
270
237
262
193
232
212
257
149
247
242
299
186
227
221
170
220
206
232
251
250
245
223
198
256
200
234
257
216
320
160
205
236
238
242
255
278
239
211
222
273
207
259
178
256
176
216
172
223
170
201
156
186
189
218
306
244
278
194
273
166
251
197
167
281
250
252
222
238
167
133
195
258
227
204
200
178
219
204
290
164
311
358
219
169
241
200
220
275
214
235
222
212
139
243
282
272
234
202
189
280
229
272
199
189
227
274
228
145
190
262
168
256
182
282
208
257
195
227
281
183
253
160
318
209
140
114
226
283
220
295
207
185
178
211
235
239
173
202
234
204
229
257
222
257
203
187
203
201
268
219
245
293
265
202
255
248
223
156
205
231
232
260
252
178
156
203
193
283
215
217
178
176
285
139
196
188
187
187
175
227
169
256
175
195
152
271
231
194
219
186
225
253
182
213
200
192
129
189
279
212
214
186
195
271
236
221
184
242
196
216
164
184
184
240
262
243
275
206
232
243
240
174
205
167
180
174
319
281
176
270
332
211
247
202
173
241
148
182
268
193
255
149
246
256
186
230
200
156
199
240
217
314
195
237
232
238
258
216
204
251
236
220
229
238
194
206
152
277
208
351
114
233
146
192
255
250
248
145
162
191
191
114
275
187
215
202
186
230
190
212
262
318
293
303
200
204
227
108
240
234
274
242
253
256
260
260
253
232
284
196
166
223
220
210
205
215
186
284
214
293
202
170
133
253
283
198
213
179
238
217
198
242
228
169
277
198
245
218
252
198
277
200
114
181
252
206
192
192
187
167
215
231
204
195
276
267
193
234
245
216
225
208
279
195
273
238
242
292
180
218
246
190
215
221
228
175
258
231
169
205
203
225
204
230
179
248
211
225
270
230
222
265
223
262
164
184
130
293
258
256
262
159
257
190
183
281
195
147
242
156
177
224
233
121
189
228
230
276
198
206
268
207
292
213
213
235
137
186
210
275
171
302
175
287
177
192
114
222
244
199
185
239
184
212
250
228
188
208
164
232
181
268
258
220
239
257
247
172
158
220
254
158
230
205
158
175
321
182
259
276
284
187
180
189
211
193
162
204
261
228
228
285
114
266
265
245
203
208
291
331
254
249
230
190
198
151
208
240
190
234
358
231
145
216
181
305
233
257
259
252
257
170
239
260
178
220
227
240
247
244
260
250
344
168
233
238
235
270
311
234
245
219
149
260
215
195
235
262
222
267
195
229
220
151
253
160
209
223
266
253
160
202
289
212
194
212
233
195
179
313
258
203
202
190
226
196
201
265
232
187
250
208
169
221
191
233
224
210
236
186
239
178
203
230
173
230
233
215
179
219
240
191
307
336
303
245
196
246
199
198
201
173
221
253
260
259
233
227
190
200
329
248
205
253
166
258
289
258
254
206
206
223
187
251
228
134
139
238
208
179
203
173
262
183
241
198
271
291
251
235
208
189
175
238
223
245
251
266
219
234
253
309
235
159
230
249
288
283
290
176
181
238
209
311
284
177
271
145
267
290
296
268
245
215
307
243
249
178
302
194
237
255
184
299
209
202
235
183
219
251
195
160
283
198
174
223
176
201
156
204
248
194
301
187
243
299
282
267
212
250
263
139
206
238
181
243
208
243
230
154
288
215
294
203
245
213
172
215
213
162
185
264
224
174
206
209
203
234
211
212
279
259
297
220
231
204
204
279
259
270
174
114
226
208
205
243
171
167
212
206
266
215
282
254
183
175
156
247
202
173
219
247
277
199
166
197
211
213
271
114
256
283
256
216
186
186
284
179
223
268
364
240
233
234
219
211
194
156
191
240
218
190
241
271
181
285
243
244
267
169
236
231
207
268
172
229
246
217
181
184
214
209
191
274
203
234
217
275
240
377
249
220
207
252
255
172
212
266
204
186
213
204
175
264
139
204
235
228
184
229
356
265
191
280
213
192
191
252
276
180
324
202
233
224
254
216
146
189
310
227
194
229
207
166
198
288
191
201
192
198
181
260
298
238
173
244
201
269
215
144
226
220
223
230
170
203
266
297
263
271
210
226
259
246
218
227
289
183
258
217
196
250
314
258
177
208
233
232
233
217
145
284
232
238
286
208
146
191
196
287
275
226
214
227
231
180
194
293
296
205
258
215
214
271
228
234
209
203
262
134
114
174
260
252
289
279
264
170
249
216
271
347
114
192
223
173
152
244
175
287
224
209
226
201
178
156
302
281
204
165
195
269
263
250
217
233
231
152
211
229
192
345
248
279
238
262
164
283
155
310
310
281
279
238
189
295
298
270
218
279
223
229
227
255
227
255
220
192
212
273
221
198
296
208
188
177
265
232
205
211
222
222
303
268
203
281
218
236
202
178
114
233
159
314
224
293
159
170
206
176
303
143
222
244
311
178
272
254
160
217
155
309
237
139
233
250
234
185
232
182
261
156
180
268
196
238
214
198
168
244
220
194
210
175
177
207
285
272
247
178
129
219
282
223
260
212
222
205
260
257
197
216
201
227
162
244
259
231
254
193
114
211
235
281
228
173
298
208
190
139
202
183
252
246
250
183
114
252
130
248
204
202
246
201
243
195
156
273
171
241
156
270
273
182
174
330
183
228
145
286
297
180
235
264
224
280
336
210
184
227
208
292
108
226
284
175
196
140
209
183
294
193
249
219
178
240
210
242
236
242
176
290
291
231
298
198
220
258
217
220
212
257
216
250
153
228
321
214
271
296
169
251
238
203
202
292
279
299
210
231
215
143
215
267
199
187
300
151
293
187
160
114
232
184
262
175
256
258
291
338
270
259
220
169
238
223
367
270
267
292
144
155
233
311
158
227
203
182
184
180
242
222
209
244
178
267
179
213
236
229
251
152
255
179
183
228
162
281
220
175
241
231
170
204
209
205
212
245
199
242
236
213
191
211
238
250
178
194
226
166
231
184
279
164
242
108
160
217
265
244
234
209
194
205
189
202
289
207
334
164
220
215
245
178
247
192
232
233
179
181
216
204
238
191
233
196
171
175
114
244
224
305
255
193
219
302
226
265
215
258
226
269
358
225
215
252
228
177
217
265
214
177
272
200
198
261
232
232
227
164
224
212
257
276
233
210
201
114
209
243
221
242
234
230
173
258
235
283
296
225
237
161
174
213
151
191
226
284
216
255
228
223
180
335
296
195
174
209
213
144
270
237
262
228
170
235
189
281
223
174
189
140
359
198
246
184
161
260
273
175
227
261
226
114
250
208
278
219
198
187
139
184
219
327
203
269
260
211
203
290
291
314
281
271
189
211
300
158
250
213
279
168
219
277
252
201
221
168
284
219
253
271
226
197
222
216
233
251
267
152
240
252
199
247
258
193
180
321
241
302
227
193
210
229
260
225
200
260
114
182
267
181
146
249
206
257
277
238
166
243
223
201
263
218
166
193
201
152
244
206
177
332
158
202
180
177
218
249
207
292
156
235
198
253
158
179
272
224
274
257
244
255
287
214
243
210
210
177
283
183
178
214
226
300
173
251
221
256
233
230
251
221
312
270
235
251
253
277
268
197
198
265
344
194
235
174
256
334
256
287
257
218
277
216
190
254
241
211
214
201
205
161
202
202
243
156
249
191
230
217
188
184
265
238
318
237
264
221
315
283
199
214
258
242
177
227
261
181
218
240
191
274
192
236
221
186
145
230
298
214
232
271
192
233
253
240
235
216
205
188
206
144
252
259
175
244
270
296
227
257
243
214
190
290
213
191
256
196
189
189
170
144
285
350
114
195
152
178
229
195
236
213
189
241
211
180
243
192
245
114
227
273
236
203
175
259
337
114
213
195
272
261
173
218
235
268
261
265
240
217
335
252
245
194
189
208
244
270
152
278
267
189
220
162
253
262
266
221
222
257
181
239
178
237
204
275
256
250
191
189
144
210
257
238
173
223
160
256
210
201
315
240
161
247
212
257
259
198
169
163
230
304
213
266
201
180
233
218
221
168
245
234
282
226
145
213
209
274
130
250
229
193
314
223
157
260
116
234
192
235
224
204
212
249
215
176
215
302
167
218
256
185
251
225
207
170
205
259
234
248
211
197
260
205
155
301
240
200
224
274
237
227
213
368
196
178
239
229
168
277
207
197
235
259
220
180
175
261
182
218
282
246
246
195
190
257
256
178
261
277
247
235
290
282
204
168
146
193
213
160
298
114
302
232
295
212
226
195
177
203
224
179
370
178
215
273
145
300
188
212
218
254
227
236
308
244
230
214
145
334
197
242
277
139
204
215
170
189
242
167
128
219
234
191
201
151
191
193
154
145
324
229
214
310
241
237
273
236
139
189
219
277
233
283
183
152
222
233
223
277
114
204
268
210
193
147
156
248
198
272
206
173
262
188
183
237
257
227
216
251
204
235
203
206
255
226
195
200
217
189
340
222
227
163
214
246
252
277
282
247
192
194
210
251
181
284
222
242
129
215
214
217
219
214
217
261
266
216
242
285
202
244
242
126
267
154
222
234
181
276
244
257
168
263
265
126
239
173
283
280
179
222
256
253
197
222
180
179
258
239
221
267
166
221
216
173
154
263
292
234
266
185
205
286
243
276
200
247
114
196
209
208
252
169
302
261
237
203
291
197
181
170
211
272
256
219
175
181
260
276
200
152
266
229
162
257
152
215
251
139
231
219
227
170
283
289
192
280
235
283
204
251
186
214
169
209
273
229
214
260
177
265
204
205
356
245
210
238
224
234
241
262
277
207
286
229
174
148
156
196
195
285
177
198
199
293
222
252
249
191
207
156
254
146
177
152
184
201
243
239
194
254
251
193
253
210
196
189
273
293
197
182
174
154
184
285
149
227
272
231
291
187
296
229
269
206
265
234
108
264
287
213
216
333
203
148
281
178
173
292
158
249
237
226
201
214
192
178
317
244
261
157
204
221
279
220
179
276
292
290
270
263
181
148
194
230
243
165
267
252
223
206
291
185
193
252
214
192
217
195
260
182
282
241
170
288
200
181
183
231
191
269
287
162
203
213
232
271
316
237
255
342
291
201
283
198
200
280
219
199
173
258
196
266
297
230
218
160
145
195
208
235
277
257
197
189
159
167
211
179
256
256
192
259
263
224
225
154
212
277
219
195
200
251
198
244
114
267
233
208
227
218
300
240
162
279
244
217
183
183
256
262
173
225
230
229
273
213
190
193
219
324
179
213
212
229
257
219
261
192
259
238
222
262
175
200
244
309
289
178
224
245
252
255
151
233
228
268
282
262
254
297
276
253
222
266
246
169
237
187
275
193
195
181
231
217
192
178
252
288
205
262
255
287
116
218
248
219
258
246
260
225
252
221
266
231
283
177
266
121
208
202
249
196
265
216
241
160
252
234
260
256
242
174
242
158
231
254
248
181
249
190
256
237
187
267
151
106
336
269
145
230
215
240
256
233
272
214
208
213
254
262
204
190
217
198
209
155
229
187
276
229
276
250
250
213
179
217
240
248
160
229
265
231
215
161
229
231
189
253
229
313
297
244
245
232
257
202
234
251
268
181
258
114
281
152
245
244
231
271
186
178
172
262
211
219
250
192
158
205
114
114
258
338
228
114
288
279
189
184
240
201
187
144
214
170
246
184
257
159
222
229
212
237
180
220
164
227
267
173
253
208
233
272
218
239
250
260
247
198
266
247
211
252
292
193
262
232
240
211
222
289
212
250
213
349
225
225
188
278
295
269
241
258
199
214
206
256
173
251
213
232
278
231
263
296
182
193
162
189
238
199
237
278
175
320
146
197
197
316
199
228
223
220
170
243
228
233
224
293
183
304
256
170
223
262
244
221
262
240
214
248
152
214
203
240
255
161
251
181
242
229
247
178
231
235
267
181
244
160
247
202
208
237
198
215
244
215
230
173
219
217
203
221
199
156
281
206
183
200
290
271
196
152
211
200
257
184
199
254
278
189
240
245
170
243
269
222
299
182
212
245
236
130
232
157
192
329
185
177
172
247
175
183
271
152
269
190
245
181
214
260
202
350
216
223
336
218
248
228
207
139
257
203
250
248
218
190
254
222
238
303
245
219
246
170
261
217
243
251
252
160
247
273
222
197
247
281
242
280
193
317
207
267
255
225
194
335
296
178
130
265
193
195
178
220
206
194
297
327
219
181
293
248
207
223
144
174
225
277
202
253
219
286
252
220
263
193
244
237
208
250
228
267
272
146
209
220
168
192
216
244
198
160
187
381
265
151
235
176
152
268
160
272
174
197
198
200
236
217
241
268
210
251
258
256
233
157
303
239
245
156
287
208
240
259
193
241
175
194
227
241
204
192
245
221
233
249
192
204
250
130
217
204
166
202
203
218
212
152
170
174
288
223
285
238
205
154
295
201
253
253
152
181
222
160
144
160
250
228
194
181
330
198
310
235
169
174
197
176
205
219
220
209
217
274
205
236
209
239
225
248
171
237
276
192
290
209
149
193
271
193
165
243
149
206
235
247
282
282
156
274
295
185
260
227
245
188
283
192
221
210
238
254
223
239
129
192
261
236
181
232
174
245
187
241
218
170
210
203
269
259
188
228
190
214
224
205
233
231
203
196
204
172
114
209
274
235
311
214
256
228
160
179
221
179
252
252
244
285
205
185
257
259
170
194
229
218
196
142
319
234
199
251
234
193
283
224
157
219
366
211
176
300
192
169
205
220
178
246
262
259
151
186
264
233
179
209
167
209
278
241
272
240
286
176
293
182
231
336
197
310
262
204
264
206
236
270
258
198
213
289
240
162
241
204
316
284
175
259
213
223
246
288
148
243
219
179
261
188
208
291
230
320
173
232
193
177
241
197
275
228
164
221
249
234
246
188
257
173
330
246
203
214
203
320
269
227
215
255
292
249
217
176
229
268
251
191
271
189
284
207
249
157
307
256
232
161
231
259
175
260
175
283
244
225
166
181
218
314
351
195
241
288
174
191
218
241
189
213
274
178
239
257
200
225
230
237
269
189
239
206
253
271
215
224
265
220
209
311
145
200
220
173
254
183
201
162
297
256
244
283
249
144
253
116
228
245
280
236
246
214
167
164
246
177
301
220
150
208
196
221
229
200
219
213
233
289
173
218
238
198
209
146
207
235
237
206
332
190
256
244
263
232
219
340
200
255
213
292
175
204
190
244
192
151
273
257
194
237
226
173
242
213
244
255
254
191
297
214
255
218
248
241
215
183
218
218
167
198
262
152
203
258
284
221
116
251
209
254
283
261
215
195
226
326
218
218
233
196
208
209
296
260
252
268
114
148
198
199
196
222
224
195
219
179
235
266
152
285
301
229
158
215
313
205
231
223
225
295
130
211
251
223
230
174
173
176
226
263
170
236
227
229
228
240
266
160
207
236
205
241
291
184
258
201
287
257
222
233
203
173
196
220
197
198
240
199
248
200
326
262
214
205
283
228
178
211
166
256
271
221
300
248
260
243
174
188
292
338
297
219
240
174
245
190
192
211
229
367
342
318
161
213
192
277
290
196
275
161
198
224
277
260
213
160
249
280
204
300
260
333
242
184
220
196
201
287
377
245
209
272
249
242
241
223
223
236
305
208
210
232
269
196
337
248
179
154
219
216
272
309
154
154
139
179
212
163
240
237
281
242
231
251
236
252
198
203
238
220
271
226
178
284
255
246
108
199
225
180
233
247
247
206
270
195
173
255
176
154
234
143
215
148
158
229
364
212
293
188
203
116
277
258
212
190
161
295
170
226
225
259
185
290
225
214
269
156
186
278
178
226
218
268
264
216
162
206
249
178
315
251
264
225
272
200
186
193
235
285
204
228
273
233
235
252
215
199
231
204
208
264
226
200
185
216
287
289
181
261
268
287
221
284
133
220
240
221
192
178
275
315
183
279
236
186
271
279
240
335
255
218
226
247
248
255
221
228
151
156
256
274
202
259
192
216
178
343
240
178
172
170
231
205
152
211
137
260
255
198
249
264
266
209
252
187
302
280
203
252
300
214
212
241
219
214
381
215
232
235
207
192
162
247
191
252
224
285
219
164
173
278
288
249
231
149
212
183
198
178
254
253
249
262
255
275
236
270
178
195
248
239
290
319
219
283
279
183
178
151
282
254
253
197
294
219
108
139
226
207
302
178
126
145
291
249
225
224
196
160
178
262
215
187
268
149
232
267
188
342
154
219
204
221
340
237
121
242
220
147
230
239
181
245
237
233
209
205
208
188
227
240
146
238
227
287
214
217
181
146
223
298
191
258
251
271
215
268
168
258
203
239
273
307
225
246
308
199
192
203
163
225
210
234
241
289
252
277
260
255
296
170
273
231
259
262
225
219
287
269
189
250
295
237
171
243
266
247
196
164
153
305
289
114
276
253
216
243
257
250
196
195
217
283
192
254
285
263
186
184
195
160
175
177
182
288
168
267
242
239
296
239
320
193
353
175
234
200
249
273
244
258
220
220
196
160
161
225
251
235
219
318
268
244
266
215
195
139
147
236
212
241
207
204
198
300
203
384
234
178
235
229
276
187
232
218
218
274
114
234
166
291
242
202
229
260
193
186
269
219
205
255
236
236
144
248
227
191
159
253
268
184
195
286
229
232
233
206
199
280
175
289
312
259
273
239
236
244
144
221
149
190
234
276
198
218
261
151
222
174
180
200
223
257
195
244
251
294
260
234
298
265
308
206
147
126
202
247
234
250
243
194
156
312
197
191
258
160
235
193
269
219
221
195
234
222
170
139
114
220
250
222
195
234
229
146
194
233
249
232
114
257
114
224
178
234
297
220
243
231
232
174
227
178
217
114
196
218
205
271
257
280
210
283
252
203
241
200
191
198
252
202
255
276
192
169
315
271
268
200
266
201
229
185
234
211
194
194
171
214
195
192
230
299
242
214
175
236
241
202
233
175
236
179
234
276
178
256
244
257
260
184
151
163
286
208
304
238
206
280
234
245
236
221
260
305
191
329
215
278
194
198
170
265
208
157
241
238
213
214
144
259
152
178
255
172
219
202
175
232
244
205
232
200
227
259
295
195
253
231
245
262
267
218
233
199
178
170
261
206
219
302
147
173
198
246
192
300
135
222
262
182
265
311
235
174
235
291
228
243
229
169
178
166
246
229
210
330
273
146
252
322
295
212
307
198
181
306
226
211
277
228
169
180
200
114
235
246
273
226
199
273
280
234
227
214
217
221
222
258
175
253
198
175
203
201
205
223
246
209
271
226
172
226
229
189
261
178
241
114
196
192
253
231
205
216
192
244
226
178
266
264
218
204
232
192
198
204
220
147
213
242
165
279
189
213
178
121
114
234
222
192
189
206
299
156
262
215
161
261
240
309
329
240
261
306
170
276
281
157
235
192
285
247
264
267
166
177
246
214
229
170
291
245
311
317
302
116
230
234
201
240
114
244
214
148
192
243
210
185
217
232
260
213
191
168
243
222
246
199
237
206
247
180
165
253
248
261
198
202
180
239
202
206
234
231
230
217
224
180
196
251
292
263
216
212
168
213
187
243
231
228
175
211
195
192
296
255
239
197
275
210
211
236
160
203
206
198
170
199
268
220
222
262
185
209
206
194
239
245
254
203
251
214
126
216
197
152
222
205
211
273
232
167
212
240
266
246
206
223
249
224
230
195
248
192
303
227
254
215
222
236
207
230
253
251
238
306
139
217
270
235
201
195
242
180
234
150
238
287
231
276
353
290
219
255
229
198
232
152
186
185
225
296
342
208
231
208
220
202
201
272
265
167
235
184
216
211
271
250
231
215
306
207
222
281
323
244
231
317
204
194
207
256
272
223
265
256
225
228
208
158
217
186
212
184
199
218
222
263
226
281
242
215
224
163
152
270
169
203
236
219
126
256
243
211
240
267
214
204
249
232
303
291
281
234
170
176
260
208
185
156
270
249
194
198
160
210
260
269
198
219
258
279
242
193
187
198
303
200
202
248
196
239
263
189
269
293
177
286
277
264
158
160
237
196
106
245
273
217
234
239
181
243
220
211
194
257
194
201
247
179
248
206
221
227
313
268
272
224
216
264
244
202
224
244
249
219
227
211
305
200
256
223
299
206
201
171
200
275
296
190
194
288
223
156
227
228
173
156
222
175
163
324
187
231
216
298
114
265
207
242
259
145
211
180
205
232
240
252
236
272
258
233
237
282
194
267
253
261
219
282
189
212
234
239
144
268
179
201
235
218
285
195
213
250
307
241
252
223
186
171
152
225
239
158
259
290
234
229
249
237
233
258
243
203
181
206
279
257
221
252
247
200
219
225
214
249
176
260
180
208
279
226
221
280
192
250
178
201
246
177
250
213
190
192
214
226
244
186
188
225
174
245
195
156
209
184
294
282
200
244
249
222
231
331
220
204
264
216
185
278
238
152
204
246
219
252
247
224
184
203
284
155
209
222
263
229
209
292
211
168
308
232
218
252
182
229
196
193
247
203
189
235
254
236
152
188
218
237
157
239
185
256
232
194
153
260
158
214
248
192
252
271
189
191
237
221
225
249
181
285
241
250
265
201
161
278
242
209
237
247
240
204
240
201
266
278
270
173
306
308
222
281
217
313
257
152
229
178
237
180
130
280
305
251
140
234
209
220
277
262
121
218
180
241
296
298
213
195
225
306
280
226
175
237
175
215
250
198
231
235
181
210
281
210
237
211
271
250
273
235
254
342
242
290
145
243
245
244
228
269
283
356
179
196
275
268
163
152
114
257
275
234
254
279
213
183
108
305
204
220
170
179
238
220
276
289
220
229
206
266
209
264
256
213
172
254
252
221
197
220
294
242
154
234
296
297
228
234
175
251
272
257
158
225
196
221
202
154
226
238
245
245
139
250
281
215
194
161
152
220
198
295
252
218
191
207
253
180
252
230
174
275
247
236
296
253
212
208
226
195
249
233
162
169
213
203
204
249
145
250
341
116
293
251
223
199
200
190
239
191
205
191
213
240
180
245
217
179
114
167
169
158
174
149
257
256
114
202
193
192
196
194
272
219
218
221
249
189
255
172
187
183
167
248
250
184
253
268
295
209
289
276
234
158
273
228
233
145
175
140
200
207
204
235
234
285
189
208
249
186
198
194
234
164
156
186
229
259
272
203
261
249
175
155
276
205
189
206
128
222
255
278
245
178
156
241
285
241
180
242
250
245
181
244
230
208
183
137
246
194
269
267
252
177
226
256
135
223
197
201
208
257
222
220
228
215
177
229
225
169
225
282
170
214
195
250
224
266
269
248
315
280
203
146
194
269
173
166
310
156
175
322
216
212
221
235
182
246
256
265
278
212
247
258
209
262
190
338
269
203
188
298
253
248
202
229
265
250
178
220
190
208
171
176
251
198
215
195
299
198
170
146
246
237
220
229
261
198
224
156
216
207
231
208
213
259
272
243
205
259
218
228
175
179
170
170
258
212
192
246
200
334
258
193
211
217
239
222
217
148
121
246
222
199
237
216
341
208
208
192
280
185
159
239
228
203
185
274
200
166
241
293
288
156
223
221
246
268
162
208
197
169
284
114
170
217
290
196
223
174
209
290
188
251
255
230
156
302
231
204
236
260
158
227
230
252
188
277
214
257
219
211
241
243
189
223
267
228
214
269
289
230
126
177
158
259
227
188
233
235
261
241
174
206
238
274
178
263
186
212
175
290
193
198
203
174
229
250
252
188
167
247
230
226
308
244
285
301
235
176
204
256
324
241
231
233
189
400
228
214
314
186
273
198
240
223
203
265
234
195
184
243
201
233
215
186
214
226
229
220
236
253
339
239
211
239
220
252
223
275
235
282
181
174
186
191
195
261
217
234
295
233
186
198
327
214
264
248
184
292
219
271
228
228
284
313
208
251
257
160
254
302
116
238
256
126
317
233
159
230
256
207
227
252
233
204
195
215
299
250
308
211
210
226
212
281
270
234
306
262
200
279
274
220
240
229
232
264
208
228
153
244
265
255
203
200
217
338
215
165
173
187
222
197
273
217
202
225
249
171
234
134
180
243
282
216
251
239
179
281
250
114
318
277
222
232
194
327
217
247
233
268
196
181
212
258
273
232
237
149
247
263
245
196
173
160
238
158
192
276
234
231
233
286
293
116
161
250
158
246
211
179
262
210
156
295
289
273
191
170
231
230
259
294
203
243
220
283
215
239
224
198
298
218
238
242
191
320
238
198
253
198
225
266
309
175
249
233
231
242
254
114
286
231
264
193
233
229
318
200
236
298
197
240
291
286
205
280
196
227
354
249
199
261
225
196
222
240
215
266
247
190
199
201
253
181
184
192
257
246
233
180
234
225
148
201
252
243
294
221
227
192
268
207
234
200
240
175
344
192
240
220
186
181
181
258
246
175
184
208
230
178
261
192
153
196
181
237
139
246
324
231
195
244
245
226
214
260
220
270
116
238
229
180
226
193
203
225
233
161
196
290
165
272
213
166
203
206
242
126
214
288
262
273
249
226
231
203
246
164
218
256
162
206
254
208
245
237
255
301
219
173
144
165
202
309
238
273
208
280
233
234
189
297
239
241
197
207
284
243
173
217
210
182
192
191
238
283
216
317
257
237
213
114
184
220
195
234
218
217
200
203
298
233
279
223
208
269
218
290
227
255
200
234
218
186
242
257
108
302
178
209
191
195
177
245
214
178
311
354
240
298
178
238
170
273
211
171
216
169
255
237
144
168
171
187
159
258
152
191
216
263
217
222
191
225
241
270
252
209
289
171
266
200
251
142
152
219
230
187
196
253
223
274
221
348
254
341
204
246
304
247
241
184
259
222
236
257
285
200
207
288
192
238
176
197
202
284
217
253
196
266
178
202
188
274
248
288
196
286
211
171
181
181
261
179
133
188
194
190
219
210
284
133
276
303
210
284
198
251
215
233
168
189
200
258
295
192
229
258
277
269
220
262
256
230
275
323
201
193
321
290
170
198
114
231
208
279
229
253
227
226
224
177
180
213
114
234
232
139
283
181
205
232
152
247
193
204
354
161
216
252
164
177
271
230
258
147
184
249
258
356
225
227
223
235
199
269
187
244
242
213
205
188
203
289
256
179
251
224
194
320
175
185
288
145
270
199
250
201
268
229
250
168
168
309
206
230
160
259
108
240
240
257
220
290
254
319
251
175
218
198
257
240
265
254
255
204
282
181
157
214
212
233
293
203
233
187
178
243
269
270
215
229
226
211
170
227
218
237
227
252
221
244
196
240
156
166
303
245
167
128
284
202
238
187
287
179
214
195
265
163
240
223
176
257
157
197
222
176
194
253
288
287
285
276
240
236
209
129
253
167
256
224
146
220
189
192
236
226
254
151
294
244
162
242
245
246
224
234
285
155
213
204
126
240
166
228
279
284
190
199
204
255
214
239
273
180
256
209
208
184
240
222
208
244
237
273
152
181
177
281
219
252
198
239
171
290
262
254
280
183
238
184
198
176
269
219
323
213
288
226
277
301
193
226
178
261
178
238
203
198
188
218
240
242
328
229
164
249
301
197
191
285
219
240
205
232
273
214
266
215
228
352
203
181
222
144
207
237
252
206
261
213
178
241
269
161
129
178
246
199
160
267
234
220
292
215
245
241
241
209
261
295
277
170
249
207
249
273
144
114
270
212
204
193
145
296
129
209
227
231
217
275
286
207
162
197
245
190
234
242
222
226
160
175
227
303
287
237
226
161
284
238
169
238
171
241
236
198
210
223
203
182
252
156
204
229
195
151
243
159
204
216
208
269
181
177
203
215
195
270
281
161
306
312
229
214
247
247
225
294
184
230
146
272
218
256
236
249
166
211
305
228
209
218
202
253
278
239
233
279
194
241
210
170
213
221
187
270
226
261
294
114
239
237
223
226
201
259
302
193
272
289
179
244
238
180
205
198
248
301
224
380
241
140
292
234
149
187
269
171
284
270
260
249
287
208
212
266
278
297
281
250
217
188
203
190
170
299
269
195
146
177
298
196
218
202
213
204
205
221
255
216
305
230
237
219
296
299
201
222
151
232
292
246
263
181
184
169
167
181
226
274
251
241
138
304
232
250
193
233
201
255
285
231
186
161
145
174
279
193
245
264
174
243
203
258
164
228
256
291
247
316
213
252
145
185
256
236
263
216
249
241
145
315
210
171
276
210
203
156
272
196
225
222
240
171
192
280
245
318
184
210
224
222
192
217
160
185
231
230
268
186
161
291
228
226
254
215
233
229
203
178
222
188
214
351
279
320
204
214
147
229
220
303
267
293
250
198
201
230
266
260
216
280
190
334
248
170
209
197
175
217
206
200
247
227
188
253
252
151
309
257
210
255
188
194
212
126
199
262
250
242
276
286
244
330
193
226
214
330
209
184
279
242
169
238
155
194
256
264
235
228
254
246
190
255
173
319
277
266
210
266
191
203
166
209
230
270
201
176
178
198
213
250
274
209
265
289
190
328
265
308
257
262
153
245
173
229
201
174
200
271
241
210
190
282
180
175
349
262
175
261
306
283
174
198
252
249
279
126
187
225
264
230
212
219
200
284
114
225
260
216
262
308
179
241
174
261
266
226
166
175
156
202
152
313
227
284
239
236
205
329
217
141
176
301
182
196
279
209
178
254
229
192
236
209
181
229
173
252
220
174
212
204
262
203
166
261
242
188
185
200
206
222
244
261
227
227
214
278
320
325
259
208
230
244
106
229
286
209
266
142
182
238
170
230
302
237
194
149
247
241
271
256
223
317
266
230
198
238
218
201
259
214
158
213
176
210
275
283
228
139
218
199
200
213
290
180
196
149
189
264
244
195
278
229
210
166
256
233
214
292
223
207
286
327
207
160
202
205
178
214
243
309
164
300
179
230
245
288
203
204
200
233
211
142
258
238
267
170
243
156
170
212
267
257
279
259
256
223
190
149
236
257
221
183
200
241
187
238
211
206
173
106
247
290
292
321
170
246
190
214
359
219
185
193
232
292
187
149
291
273
216
269
243
114
299
200
228
205
252
145
183
173
239
248
283
237
239
168
174
219
192
213
233
195
248
175
174
228
195
192
145
218
249
220
114
225
179
193
270
236
294
185
253
220
222
216
179
208
208
205
301
282
270
227
220
224
281
233
254
252
200
257
189
223
283
160
318
147
253
172
198
235
233
309
245
266
244
250
256
306
222
130
256
226
293
237
238
288
168
207
212
229
219
259
227
302
264
218
250
227
160
240
178
211
183
306
220
148
192
302
268
147
219
214
245
213
222
189
291
192
238
193
233
215
186
195
253
247
248
244
205
301
241
237
285
229
181
221
224
239
253
175
270
218
245
305
233
254
212
249
280
172
243
201
184
282
267
342
179
217
213
214
230
170
210
187
306
194
174
176
196
269
193
260
196
178
220
175
301
211
161
239
250
219
210
213
216
126
170
234
177
269
259
149
222
263
193
225
233
248
292
171
233
174
250
213
260
214
214
191
195
242
247
262
249
232
227
264
302
234
198
345
208
189
223
205
246
185
139
189
151
279
353
214
281
263
237
213
254
242
151
174
262
265
214
114
239
174
207
212
181
198
227
255
251
236
228
171
173
283
208
220
263
208
166
267
205
146
302
161
179
201
278
218
209
170
237
193
235
222
196
156
208
259
235
187
288
229
237
215
223
244
220
203
262
246
202
270
214
317
264
152
297
260
193
250
291
181
247
285
239
285
279
148
277
246
264
323
236
216
242
158
146
238
222
259
169
208
197
207
192
173
191
175
211
270
207
183
317
237
198
279
215
269
181
207
301
184
227
166
179
180
283
279
190
192
213
259
202
160
186
358
269
197
326
215
261
213
206
260
231
197
181
274
173
204
209
234
182
195
199
225
247
139
220
220
217
253
355
181
196
232
241
182
267
227
259
254
179
244
225
213
266
170
187
226
207
266
249
242
239
275
269
274
258
237
178
315
278
283
340
207
223
201
288
307
161
233
212
275
285
220
170
243
211
251
368
121
198
175
276
193
208
192
261
257
152
215
178
270
202
243
279
218
203
238
239
301
230
160
208
249
277
194
246
215
253
233
254
280
175
263
232
169
303
170
170
255
187
241
185
341
244
246
200
232
202
214
227
265
266
235
278
208
278
114
207
268
199
201
206
214
242
221
202
248
238
214
202
188
182
240
202
153
194
208
348
193
303
242
218
217
216
263
229
282
374
286
222
193
271
196
170
234
258
242
235
196
238
233
224
139
204
169
245
178
288
229
227
186
269
165
240
268
206
231
222
139
241
275
204
231
273
178
268
237
242
259
192
214
268
270
230
129
222
168
290
270
158
259
158
271
173
253
225
207
262
159
272
174
201
230
205
243
144
134
227
251
188
206
256
159
181
228
162
163
314
214
257
208
253
152
284
242
302
220
243
258
192
178
238
247
261
293
257
311
249
252
262
212
160
184
256
200
243
256
165
225
169
207
239
221
139
284
240
240
249
258
262
181
183
225
187
200
173
242
235
214
288
225
199
231
280
238
193
197
223
230
283
174
252
284
221
179
148
265
173
208
301
252
221
248
221
178
262
155
215
234
225
204
285
277
114
169
198
257
237
261
217
262
241
262
261
304
215
241
252
204
323
297
218
212
214
165
191
255
265
241
157
207
268
180
205
258
211
114
297
235
323
263
310
281
176
302
239
167
349
308
191
175
145
178
198
194
164
130
207
229
187
177
303
154
206
170
191
219
228
192
283
233
279
275
213
283
164
294
269
226
221
174
166
275
254
231
201
190
256
178
238
337
234
181
175
327
257
201
171
226
235
272
152
203
248
228
286
247
259
177
252
152
230
233
204
252
178
187
218
233
194
183
366
181
183
296
169
195
211
180
144
154
205
229
278
226
208
210
229
252
233
239
293
250
197
275
294
299
184
257
246
177
178
233
206
292
227
231
274
214
239
219
225
184
346
248
241
186
191
236
211
238
262
212
261
258
183
292
203
236
296
173
216
181
195
235
293
264
228
211
244
249
245
195
169
186
266
280
196
309
315
274
238
229
201
202
224
198
250
230
220
183
222
215
177
263
219
236
243
209
170
206
252
243
191
170
219
139
295
218
236
234
196
182
251
166
166
251
181
183
205
108
299
114
152
173
193
190
253
297
242
200
221
243
208
230
225
186
160
221
152
287
273
181
194
180
175
243
187
175
205
197
165
230
249
278
114
240
157
304
207
204
213
171
222
158
152
212
213
235
229
225
242
164
241
235
261
240
251
220
226
177
293
226
191
188
202
192
114
281
239
252
263
268
257
222
223
208
235
185
221
206
222
239
192
283
331
173
227
249
108
336
238
225
277
245
203
203
206
252
331
212
246
197
245
215
251
167
183
186
260
198
291
187
175
230
256
270
193
186
312
262
251
243
175
199
277
276
183
282
247
189
116
314
210
114
258
224
271
201
281
233
301
215
228
195
246
283
269
182
280
152
108
228
233
233
276
291
216
235
305
298
232
202
271
161
206
244
239
212
204
232
250
204
221
227
114
253
315
194
335
232
253
236
252
178
203
282
285
274
210
165
181
178
171
291
213
192
157
257
245
201
234
261
273
277
126
246
185
240
295
278
245
176
203
195
206
215
208
255
220
255
270
181
197
323
170
195
165
156
156
216
244
242
252
249
210
266
335
212
130
177
208
239
220
204
229
296
218
156
178
280
234
207
178
233
188
281
190
170
166
259
152
208
211
211
254
260
180
192
194
289
261
218
224
169
152
249
251
114
236
129
216
150
323
272
231
280
232
178
241
154
218
215
268
182
154
236
221
346
183
238
345
224
233
193
275
249
239
321
300
195
213
211
268
234
294
206
257
329
156
286
273
255
212
211
364
209
193
259
184
177
327
271
220
286
211
167
236
262
185
241
222
126
258
197
239
251
205
116
244
180
269
114
214
225
275
195
292
235
247
178
247
210
275
273
215
239
203
198
254
250
245
192
298
275
232
203
280
193
236
236
244
276
177
160
232
218
242
272
208
298
181
314
139
158
229
270
249
260
250
202
354
160
257
228
232
289
205
316
308
183
254
203
208
204
252
181
239
204
189
200
274
202
183
308
189
236
273
166
256
251
260
217
289
208
163
197
193
202
215
261
280
265
245
228
257
225
164
264
259
217
209
161
223
236
126
266
193
271
241
209
176
244
197
196
181
263
279
248
201
242
135
286
186
260
267
306
252
251
250
291
298
266
206
289
217
144
193
201
210
114
217
216
218
133
287
196
246
194
175
267
227
301
252
265
227
178
303
260
139
231
182
237
225
300
221
260
213
219
199
253
211
248
174
168
291
222
234
319
267
240
187
150
255
208
252
258
376
279
244
235
160
201
237
192
214
276
266
174
296
178
242
217
189
290
233
172
253
234
114
212
258
191
184
169
197
223
239
147
218
330
208
258
279
200
245
231
235
260
186
185
172
279
165
220
177
240
246
238
241
253
232
190
232
267
264
288
182
239
213
232
244
169
197
271
226
160
198
185
179
163
245
175
250
202
245
247
209
121
254
168
229
287
242
243
304
198
245
237
250
222
169
192
315
221
263
209
210
245
222
324
208
241
247
283
161
221
228
243
242
198
238
336
234
218
218
130
221
201
178
273
273
159
267
173
179
200
218
260
238
165
248
177
221
220
232
260
289
207
220
270
218
266
247
259
257
231
144
254
154
215
220
233
188
269
235
189
236
178
177
254
258
218
238
242
176
250
237
201
149
185
276
246
222
218
241
270
241
214
322
274
252
336
249
260
258
222
222
287
211
217
257
208
205
323
220
198
220
316
257
218
270
209
269
207
215
275
186
218
199
238
126
266
300
254
229
221
318
247
239
264
146
265
339
283
221
224
179
188
141
227
151
226
249
270
285
248
158
257
175
230
207
179
242
238
196
285
214
166
233
207
168
206
287
185
249
324
222
253
287
307
114
229
167
262
243
282
215
304
245
221
198
184
215
249
260
198
189
277
175
214
213
251
181
226
221
180
354
234
174
209
198
308
198
276
251
165
248
189
190
227
254
224
222
166
227
196
193
227
229
216
164
249
193
221
167
284
175
217
218
187
219
175
254
196
180
174
204
273
183
191
228
171
270
170
185
275
263
267
207
181
189
239
226
263
239
187
216
250
221
313
247
266
302
253
226
213
210
214
194
154
144
227
211
247
212
246
220
265
235
228
236
241
186
250
336
245
244
240
200
210
219
209
327
238
262
233
160
162
200
180
265
239
250
191
202
199
243
248
181
176
187
217
285
173
253
247
289
277
154
250
205
265
158
254
221
231
229
212
249
244
108
184
199
240
250
208
238
180
200
309
202
276
281
301
224
148
237
154
162
238
169
233
178
266
235
292
229
161
294
205
189
263
300
193
247
234
224
227
171
263
237
232
145
275
168
200
316
212
174
261
257
174
310
185
243
202
171
286
241
265
270
249
196
241
252
179
192
253
202
158
249
230
271
262
221
174
181
235
175
233
326
258
276
243
168
282
210
191
297
192
170
200
256
189
246
240
267
247
277
181
253
333
180
225
256
283
243
309
204
198
156
276
189
257
236
210
178
166
232
227
260
231
171
249
223
178
317
248
255
204
196
250
296
213
183
269
240
155
276
200
175
232
294
306
237
260
188
229
252
202
199
226
325
208
194
207
288
244
292
238
225
272
162
261
298
215
189
188
204
238
224
275
234
272
254
224
199
114
237
278
166
206
178
170
191
267
201
170
240
219
256
305
182
181
233
264
263
170
181
177
202
282
270
260
278
152
224
213
306
214
249
184
258
126
196
176
312
178
184
237
281
160
216
222
139
211
224
204
270
320
228
161
276
284
269
199
209
179
260
270
190
189
353
334
207
189
323
173
243
166
203
180
312
233
214
152
187
275
174
220
255
181
256
206
204
193
224
221
165
254
181
289
222
292
234
219
222
239
243
250
188
247
246
179
234
249
279
283
154
181
259
356
249
240
205
208
224
235
208
186
263
244
290
196
228
259
250
174
236
348
212
182
243
242
114
205
286
195
295
243
203
190
174
177
162
184
270
225
189
217
239
295
248
181
234
189
207
257
251
313
202
224
193
129
334
225
213
262
227
268
318
250
178
211
170
234
215
158
219
114
172
203
271
160
271
216
209
146
229
129
234
222
158
271
231
206
240
240
201
226
225
245
247
114
151
258
315
259
217
303
182
287
237
221
156
158
191
233
230
232
231
297
253
179
221
224
252
216
156
192
255
152
217
242
267
192
190
234
196
186
348
258
302
234
185
235
210
151
199
237
275
186
332
224
186
224
223
295
278
230
228
297
170
209
169
243
234
129
217
336
292
235
163
193
178
229
326
215
248
220
242
309
294
163
158
219
152
248
261
239
280
189
270
229
180
194
214
295
263
264
206
249
178
229
223
211
246
215
230
223
267
195
217
266
200
240
208
266
218
217
319
220
275
210
260
244
261
208
177
230
246
162
139
231
178
207
221
362
262
194
240
233
215
196
332
158
244
114
229
226
215
287
256
220
211
168
302
228
235
192
108
244
261
198
180
253
231
247
264
274
155
178
230
284
212
337
192
198
258
303
266
180
231
277
263
270
269
191
219
227
256
213
179
204
244
194
214
234
168
251
214
227
197
186
236
222
245
201
268
160
231
255
215
212
199
175
237
266
247
262
324
226
231
208
210
217
211
233
240
215
227
163
209
179
307
221
147
252
246
310
155
228
177
231
220
194
206
213
206
241
196
166
313
178
156
220
230
241
207
152
174
260
286
156
281
270
281
221
184
301
270
178
303
280
181
181
208
197
254
211
214
268
218
199
192
246
233
263
168
220
245
288
291
278
245
171
221
278
214
215
282
307
187
152
227
266
181
241
196
216
215
157
232
173
248
256
218
274
219
257
267
205
189
287
232
195
241
236
352
266
324
170
332
240
213
190
241
210
278
214
249
217
309
208
201
269
272
267
158
205
173
239
300
220
267
276
179
190
266
232
225
224
265
234
152
126
251
206
170
267
183
244
200
176
245
250
180
228
227
234
250
270
279
198
208
238
274
149
195
225
172
234
202
232
156
237
188
144
198
232
244
177
295
227
288
246
191
241
229
193
261
214
226
241
229
247
192
266
223
219
312
290
219
208
179
180
175
200
272
194
174
290
278
271
160
252
273
184
237
151
164
192
152
196
212
242
274
215
242
256
205
202
210
225
230
212
152
322
168
325
274
270
215
242
227
199
159
164
260
186
305
278
277
304
230
162
279
202
233
180
225
241
225
228
198
165
204
222
218
227
262
202
250
246
206
165
159
270
220
212
324
198
237
192
190
156
166
275
255
181
206
291
211
231
151
184
248
195
279
169
139
209
258
195
219
242
268
262
286
196
224
235
204
225
234
261
243
195
234
206
194
261
256
274
202
213
151
239
288
223
278
170
158
214
184
244
228
160
243
287
253
291
268
151
256
227
169
232
191
211
224
203
261
211
233
320
233
174
209
248
207
207
232
198
152
188
190
188
207
214
227
220
194
245
177
227
184
264
198
207
212
333
186
126
219
218
208
209
114
189
210
219
199
229
261
196
222
180
199
237
202
193
235
218
199
207
198
251
289
240
180
214
211
220
209
225
192
248
133
233
304
149
275
184
298
287
293
209
178
284
292
228
212
215
255
224
225
215
260
350
202
181
234
306
195
180
171
225
198
181
222
235
290
259
238
233
246
214
144
218
244
197
207
121
216
255
273
176
236
267
201
232
279
271
170
245
226
265
278
205
257
202
272
171
208
248
209
215
235
222
231
170
214
162
217
301
252
247
114
276
255
244
167
151
229
214
278
179
238
192
251
218
181
198
265
174
292
211
235
265
232
233
188
246
220
280
240
214
168
357
261
212
233
229
126
114
270
174
226
220
181
254
228
239
194
149
190
174
234
247
214
198
305
199
205
194
284
169
206
187
223
227
208
246
231
173
241
221
218
242
185
222
225
160
212
276
283
146
154
277
199
234
206
237
225
165
200
317
260
255
250
156
188
212
208
279
220
195
323
219
210
275
186
222
271
196
258
190
244
240
192
198
154
224
300
210
228
262
220
242
188
208
170
236
209
165
183
304
267
189
257
187
252
157
207
259
231
157
231
227
234
191
256
211
207
209
192
221
181
220
206
248
299
358
194
271
228
192
195
237
200
209
318
114
236
280
248
233
142
247
219
270
237
203
216
235
187
214
231
181
220
230
224
209
219
196
240
177
274
324
192
174
194
188
184
190
241
192
267
243
181
168
192
289
215
151
242
242
229
224
215
185
215
251
141
258
257
263
229
271
233
239
246
208
262
160
235
228
175
190
200
230
263
235
220
212
185
191
174
244
231
250
156
194
269
294
156
256
219
269
179
164
234
304
192
271
234
212
141
191
275
278
194
151
294
254
281
175
235
252
211
249
184
174
188
207
209
186
156
195
199
253
274
278
173
240
259
226
184
167
178
160
145
219
221
201
167
161
225
264
253
227
186
211
197
207
220
235
193
252
168
281
238
201
231
225
194
251
149
180
273
215
169
211
217
319
126
114
198
200
214
189
297
257
174
285
181
271
202
217
218
273
190
176
203
284
299
200
252
204
285
203
251
228
181
219
198
287
222
170
156
205
244
214
255
261
239
179
212
221
212
237
197
242
208
235
213
223
234
197
233
234
196
194
126
231
252
196
159
174
164
200
260
227
251
204
284
187
221
256
192
166
222
191
114
278
229
236
208
201
233
240
210
225
170
170
242
218
293
247
189
229
149
215
152
252
240
206
277
236
201
157
139
234
244
283
272
266
179
229
186
287
230
170
202
262
211
289
304
265
200
183
206
357
249
255
226
195
283
234
218
324
243
175
208
181
253
189
216
195
148
226
292
283
272
185
139
179
214
212
190
173
165
171
190
223
227
202
160
261
121
215
275
218
210
243
261
249
304
298
207
277
273
184
214
277
228
257
220
250
210
265
253
176
174
278
245
226
262
251
144
285
314
276
187
295
184
275
243
160
201
182
350
214
293
170
253
205
205
178
229
280
208
248
238
194
173
151
235
189
137
208
169
219
133
154
235
188
166
220
258
251
160
295
210
256
284
256
208
236
290
252
259
260
208
228
290
269
199
181
236
240
251
241
152
246
262
254
261
186
180
178
269
175
253
202
272
169
296
277
207
313
201
295
255
231
276
274
255
261
169
197
248
156
159
217
246
242
195
162
271
193
238
194
179
252
281
233
114
252
272
289
185
285
175
204
145
162
114
238
169
238
238
166
181
285
197
196
243
196
166
164
219
178
177
221
171
204
203
192
292
186
278
191
228
210
274
233
203
154
149
226
350
214
288
219
274
189
247
223
252
166
306
158
192
226
196
194
236
200
177
297
148
245
181
233
249
189
186
231
217
177
210
224
155
310
189
237
156
232
223
266
245
256
215
278
209
176
160
268
183
185
276
213
216
283
250
162
311
271
231
260
184
238
178
289
189
205
267
247
228
188
164
266
231
196
243
211
251
213
208
216
231
177
231
209
154
199
178
180
241
167
169
246
226
257
224
253
273
266
296
139
234
145
239
175
208
245
203
231
197
192
298
208
194
121
291
206
185
218
176
236
270
235
241
214
193
277
266
247
201
181
221
211
253
195
242
253
278
297
216
205
207
267
246
203
232
202
214
257
116
261
173
210
300
239
181
234
206
167
227
175
244
224
170
217
254
221
288
192
189
184
193
287
291
266
266
164
189
139
242
293
258
207
243
229
219
237
244
235
238
289
214
263
207
206
233
265
239
167
239
214
174
232
219
209
160
339
217
250
246
192
221
230
218
286
228
145
271
268
246
214
167
231
205
228
275
283
154
294
268
266
149
148
114
213
229
225
219
311
213
266
247
244
261
216
219
285
114
271
187
189
252
214
224
207
274
249
183
178
218
217
276
259
319
331
188
252
178
246
284
204
239
195
245
210
158
246
309
265
213
176
205
175
161
229
236
265
175
184
154
197
237
290
172
229
237
234
213
239
252
187
248
196
232
210
178
227
222
293
178
304
222
171
263
250
273
267
260
229
207
236
217
287
220
154
213
173
220
271
335
146
316
258
240
174
246
225
238
217
250
229
241
260
200
183
221
245
279
152
214
188
195
235
180
261
195
276
191
270
211
208
174
144
246
250
237
219
226
213
256
196
213
180
220
237
191
219
253
201
203
219
209
194
266
228
357
176
260
237
305
189
202
254
205
200
200
240
235
229
235
278
217
178
313
178
207
189
161
231
156
264
315
257
220
171
300
175
224
279
185
262
221
224
196
244
209
225
224
200
137
184
171
285
327
265
271
248
236
355
211
152
310
293
217
219
283
279
300
182
209
203
224
208
196
269
210
217
195
273
230
253
284
162
233
147
197
222
166
159
227
108
213
249
192
225
215
214
309
199
231
179
219
211
245
232
219
247
209
203
215
181
203
147
222
174
245
261
258
271
310
266
225
264
294
190
265
184
343
225
260
237
160
296
299
212
194
155
210
260
171
203
296
269
191
213
176
217
226
279
257
212
313
152
188
208
181
300
229
198
220
264
268
204
183
229
179
270
263
266
257
270
253
172
304
178
213
200
194
307
300
267
172
201
265
228
230
180
211
193
265
214
212
249
263
250
126
259
306
114
170
249
202
228
196
162
199
287
247
227
209
224
213
222
237
217
231
282
184
224
234
214
154
254
245
156
238
179
195
219
181
247
237
194
233
272
252
180
222
285
202
228
273
181
227
173
151
243
158
210
246
265
250
222
243
319
240
181
159
130
192
272
290
319
215
185
250
192
227
240
283
258
197
229
114
245
203
207
146
237
236
271
237
265
254
185
239
241
216
214
303
216
315
244
209
129
190
160
200
173
217
203
143
272
184
226
239
191
196
221
230
192
179
219
310
269
237
244
265
315
231
226
215
220
284
194
168
259
250
181
189
128
176
216
196
238
238
238
215
204
114
252
229
205
335
257
248
261
247
148
210
159
256
247
151
160
294
171
267
227
296
261
154
180
233
241
226
188
226
253
290
271
269
162
114
247
156
169
202
260
219
185
246
204
229
251
299
173
267
195
283
170
221
161
195
139
233
177
139
308
286
204
228
161
229
309
167
290
258
156
207
237
160
182
235
224
211
302
254
317
267
237
114
235
263
262
256
172
255
270
239
326
254
228
209
241
215
244
252
315
192
196
278
251
232
268
177
210
247
271
246
223
231
249
210
156
247
202
216
229
216
266
235
106
188
181
209
204
242
275
248
244
239
184
197
248
212
273
194
241
262
205
210
217
312
281
160
178
200
280
199
264
182
205
206
262
229
241
262
198
200
232
207
176
160
218
145
184
207
206
258
291
325
282
225
246
216
192
195
191
202
206
274
235
213
170
219
258
197
157
300
258
226
168
238
210
177
206
212
287
173
255
193
235
274
176
289
246
179
277
220
255
195
222
208
222
203
214
192
191
218
262
265
196
305
246
231
293
306
202
287
121
241
232
259
245
230
253
345
227
235
287
196
181
207
267
229
292
250
200
244
259
234
318
268
230
260
216
196
181
235
217
245
165
260
204
238
190
218
224
228
208
235
272
139
193
170
178
178
196
255
213
114
204
184
157
205
224
241
195
229
114
237
282
222
219
173
207
225
146
204
192
161
199
218
280
181
220
189
162
291
297
204
265
278
221
241
188
191
230
164
173
296
227
189
213
278
243
241
240
197
216
245
163
210
264
251
161
166
199
160
193
331
250
259
262
260
230
213
214
268
292
210
238
279
231
159
302
227
233
227
232
204
221
189
193
193
222
297
212
268
277
245
243
221
187
247
137
202
243
279
228
293
275
262
186
270
241
217
206
197
242
181
215
229
251
276
194
250
241
274
232
224
245
161
207
158
228
219
214
270
230
303
201
225
241
253
297
216
196
277
278
181
245
242
209
228
181
210
242
296
206
173
208
238
185
247
139
231
309
228
205
257
181
226
255
234
217
162
226
207
248
246
190
251
285
233
189
237
205
213
217
219
181
222
182
202
180
187
246
204
220
175
180
219
194
198
262
183
172
278
180
186
186
283
239
161
324
180
186
172
171
218
194
185
247
311
213
213
226
168
316
146
291
266
172
215
200
184
236
202
256
171
129
180
268
234
233
199
221
235
225
318
239
215
161
216
178
303
221
233
225
245
371
181
198
247
162
251
203
235
157
108
245
156
191
217
261
163
205
217
288
264
205
202
267
244
232
216
204
204
213
223
282
186
272
210
255
190
226
266
204
198
206
218
219
272
229
268
245
252
272
315
229
165
220
252
261
265
248
270
147
220
284
227
216
234
317
157
191
228
184
158
269
186
243
220
243
294
275
264
266
289
244
214
321
200
186
161
267
208
216
225
250
221
187
220
230
234
149
226
215
262
201
249
286
250
220
242
175
155
200
263
253
245
269
204
287
222
203
175
185
222
179
213
191
152
264
255
228
162
214
211
116
204
226
173
263
207
287
256
237
217
202
252
267
114
167
194
209
282
238
221
278
215
139
179
214
126
232
274
145
188
177
218
203
254
182
171
241
218
198
211
153
160
209
271
247
210
191
273
218
166
191
259
275
262
254
168
291
209
308
166
260
156
320
180
250
175
355
152
203
158
126
216
152
129
210
310
226
198
244
209
170
286
282
176
301
209
232
277
209
196
207
217
267
191
242
246
312
145
227
195
227
269
214
208
209
250
213
283
229
189
215
193
175
275
240
266
197
280
194
266
239
253
226
234
211
238
228
191
255
260
251
250
211
197
231
231
188
240
213
267
240
211
156
215
208
246
289
192
189
139
252
256
231
274
174
231
206
263
207
217
247
203
279
279
218
196
211
258
216
225
243
208
189
237
318
204
249
205
250
237
223
301
297
275
172
299
312
197
262
171
203
258
291
274
203
163
266
352
221
202
114
273
173
200
196
238
281
195
203
262
225
213
199
209
174
241
214
170
180
273
255
278
214
258
189
192
200
172
235
246
293
170
207
195
204
210
221
273
243
217
126
139
186
264
278
238
195
175
220
160
233
193
169
220
195
331
250
265
201
220
252
195
254
170
153
198
238
195
242
243
201
266
207
273
251
267
237
164
216
284
200
227
193
271
191
253
272
160
309
252
160
258
249
222
285
218
193
161
208
187
254
260
193
245
192
240
251
162
177
247
227
234
168
235
253
273
279
198
198
207
189
258
209
259
252
184
252
258
193
241
219
219
207
212
182
272
193
285
216
237
246
254
213
133
283
252
223
235
298
242
173
198
231
264
198
286
263
192
298
216
177
242
223
228
260
267
253
246
240
269
236
252
227
292
179
218
187
168
276
262
214
223
233
181
258
293
146
154
216
188
228
240
206
258
171
165
194
322
149
199
174
152
237
239
176
292
285
192
244
170
175
228
237
280
214
257
213
261
261
241
242
245
238
223
170
169
156
231
181
293
311
154
219
134
180
212
219
228
285
260
236
249
273
190
191
230
259
160
195
230
224
255
247
244
235
206
236
165
233
189
157
242
169
280
191
313
262
236
218
229
242
250
303
234
198
237
226
221
121
221
190
262
259
235
285
247
191
191
187
278
243
232
108
204
275
219
224
211
233
175
214
146
230
257
181
161
174
244
273
223
235
246
225
254
220
342
201
239
284
213
242
234
173
382
222
263
211
230
190
238
211
208
162
247
235
165
197
293
195
214
207
237
189
222
289
256
233
243
242
172
226
232
186
263
252
212
294
172
286
160
278
217
266
173
189
272
241
161
239
291
260
252
195
203
218
250
249
200
199
175
245
257
267
247
188
244
241
213
160
178
247
178
228
158
164
278
174
139
217
200
200
228
240
170
281
270
301
169
262
231
244
275
227
172
202
283
245
179
181
214
224
139
260
266
282
222
160
238
197
195
163
179
209
189
171
222
207
228
259
182
251
166
175
225
284
246
323
256
257
238
306
200
219
249
192
200
234
221
202
273
174
145
225
334
217
224
199
233
170
269
322
176
220
296
280
218
263
229
114
292
303
173
257
226
257
152
256
234
196
267
203
223
236
126
128
148
236
226
275
257
184
293
182
197
224
156
197
226
236
167
236
246
160
282
261
154
283
245
250
253
145
296
192
250
294
272
254
210
166
206
285
266
177
175
177
244
160
258
260
350
195
266
233
316
233
294
219
164
164
240
175
225
149
190
227
165
222
234
276
242
276
153
183
319
243
176
281
298
169
146
175
207
236
173
184
218
274
192
241
192
191
279
214
256
257
235
205
219
191
215
227
244
175
263
197
205
200
169
249
194
202
271
214
262
247
292
164
233
185
255
256
183
188
324
242
301
180
249
308
185
175
218
304
226
170
221
139
263
253
255
241
218
288
233
238
249
296
235
173
184
167
283
354
151
122
209
301
228
276
149
221
193
238
198
368
151
206
234
337
233
267
257
254
192
289
223
269
194
173
165
209
174
253
216
233
260
172
219
242
251
229
335
214
234
256
256
161
233
204
345
256
160
222
114
229
289
205
235
205
186
140
227
248
182
183
176
249
221
257
225
267
269
175
187
221
305
212
208
270
236
234
114
252
253
275
251
249
192
309
276
235
166
231
214
188
255
210
230
205
234
199
114
168
240
221
178
148
325
173
151
301
205
238
329
277
297
266
319
249
219
243
183
179
246
219
286
215
324
221
241
233
254
285
180
250
232
179
183
271
242
274
162
240
209
227
144
301
171
210
193
213
209
255
249
326
234
295
284
199
195
288
266
167
205
222
285
199
149
196
257
236
245
134
267
246
150
195
235
225
299
218
144
199
319
213
212
263
296
275
232
274
196
226
224
245
278
327
215
236
246
264
231
228
294
160
146
235
258
266
182
263
262
156
198
252
206
227
218
219
175
247
181
175
215
206
234
242
197
263
189
235
218
255
211
232
194
306
178
205
353
283
237
276
235
206
295
213
281
182
156
328
228
245
218
182
279
306
204
257
144
152
212
265
209
213
195
205
167
200
318
232
226
184
204
234
279
263
275
178
158
237
233
181
268
203
329
238
234
253
247
234
272
249
293
247
224
205
202
234
147
207
273
256
219
243
209
228
183
236
343
164
227
192
178
148
293
301
190
154
232
204
250
272
178
231
170
114
211
222
177
281
208
238
287
153
259
230
183
222
313
168
240
193
247
247
181
219
143
252
235
264
170
152
243
178
178
208
114
185
202
222
246
214
191
242
300
196
181
218
227
301
257
258
225
217
221
271
207
193
307
228
221
231
223
244
222
286
252
275
244
300
249
255
198
275
200
272
302
226
282
183
225
341
159
152
174
231
232
210
238
139
261
214
206
213
217
194
287
285
226
229
273
230
258
145
229
180
225
299
273
139
180
263
191
193
268
251
158
150
219
219
258
226
114
204
259
253
233
198
215
307
244
129
160
209
248
230
191
231
240
209
179
160
249
166
252
301
176
193
246
238
204
200
221
144
191
302
274
280
160
275
275
173
258
114
242
160
232
170
176
145
202
287
191
230
209
250
251
241
202
139
214
329
162
245
282
293
191
217
167
108
245
276
177
285
188
232
318
241
221
223
192
205
219
246
210
231
215
187
284
216
229
214
215
219
208
206
242
227
203
262
281
152
246
216
286
234
216
240
227
219
282
174
255
281
196
223
266
234
213
212
227
198
181
245
229
306
244
167
175
201
195
290
238
238
330
231
180
306
224
213
216
234
220
161
184
234
270
312
161
181
252
273
220
221
202
197
197
237
116
228
173
208
243
219
208
175
182
241
286
206
232
243
258
278
268
219
230
226
313
180
258
251
254
126
297
173
214
211
114
250
285
197
200
254
188
181
140
250
240
243
269
224
182
239
161
253
196
234
234
194
189
281
222
254
208
194
165
230
231
253
202
265
261
139
178
260
252
232
197
193
170
220
195
168
181
229
253
275
236
256
224
243
202
200
226
237
266
238
139
294
262
286
220
243
222
139
130
139
265
321
250
224
186
248
230
178
194
226
246
228
216
158
283
286
231
206
196
126
126
194
164
289
149
242
108
235
279
215
266
275
247
281
242
193
151
192
181
315
182
242
164
229
241
223
247
257
128
254
192
237
262
231
348
241
253
254
173
344
179
260
198
126
232
277
160
253
232
219
192
284
243
230
202
239
175
210
238
289
229
240
173
222
270
228
273
213
279
183
195
181
220
270
230
217
189
275
207
126
158
173
268
245
222
182
175
171
173
207
225
207
234
223
156
253
258
231
169
245
139
212
212
207
235
285
187
276
169
255
223
246
216
181
311
230
156
263
181
291
249
233
191
229
114
227
261
191
254
203
243
233
201
290
121
261
162
316
231
178
244
250
265
223
279
248
243
212
192
267
298
305
295
180
291
195
213
235
183
187
185
189
247
190
206
245
299
236
270
203
257
260
204
214
240
198
184
180
228
159
270
184
283
205
176
229
200
244
189
243
198
198
257
205
194
167
203
311
273
313
249
253
239
174
275
173
184
283
295
146
306
199
199
201
179
247
249
159
261
151
258
237
242
154
160
207
204
245
198
238
247
226
247
134
210
200
258
244
269
257
139
193
270
250
251
206
268
192
238
199
121
242
188
187
287
187
239
194
185
288
254
196
195
130
245
165
200
185
273
181
223
168
116
192
184
203
206
186
216
154
213
193
152
197
161
196
235
237
225
215
276
235
238
213
188
286
260
159
259
243
221
148
217
181
217
192
255
191
284
252
265
158
195
226
253
148
184
223
226
193
183
236
219
200
214
219
152
255
275
269
254
239
311
209
214
229
207
230
330
170
246
147
200
179
240
173
281
256
292
257
215
190
191
209
206
218
290
283
237
326
268
209
235
226
191
343
198
235
248
249
181
267
247
240
242
242
218
227
205
298
249
301
218
266
210
196
201
227
187
139
260
206
225
198
181
232
193
220
245
283
320
248
238
259
208
265
161
272
198
231
168
190
274
189
239
173
165
288
295
197
133
187
234
255
291
283
126
218
209
198
188
229
255
217
221
262
256
205
231
279
263
162
190
239
286
221
181
307
293
218
221
139
199
243
244
276
193
174
151
164
176
297
213
202
249
240
254
160
195
224
158
158
278
225
245
198
210
247
235
275
171
186
213
222
253
181
198
251
258
209
209
151
198
282
243
156
210
292
268
237
224
355
176
178
169
222
209
221
263
197
287
114
231
240
224
227
230
286
309
193
188
260
161
258
198
198
183
218
188
254
208
199
220
198
114
234
187
215
199
178
126
260
254
284
210
202
203
197
265
241
173
196
212
251
116
231
310
238
239
257
225
293
285
232
200
238
216
230
248
191
284
264
191
181
149
197
249
173
218
243
260
261
271
235
284
246
152
252
284
209
241
194
202
180
273
241
248
169
253
192
219
163
186
246
180
264
274
181
205
267
189
305
213
245
222
188
265
235
205
165
283
260
265
260
182
197
218
327
219
252
260
231
239
194
162
239
213
205
183
166
183
255
238
192
242
192
301
249
165
129
219
187
225
257
232
291
181
192
158
197
200
221
170
271
191
269
237
219
289
213
280
175
178
212
304
217
291
182
218
253
242
210
193
181
200
261
225
206
188
257
305
305
192
301
245
289
149
237
263
264
279
263
244
198
251
279
173
306
234
250
225
262
161
181
195
176
251
156
212
160
293
288
251
180
206
207
285
192
247
165
200
282
196
147
243
144
239
147
232
250
214
274
290
212
218
262
195
239
163
175
254
167
193
201
214
172
222
181
175
217
171
160
224
196
241
216
231
114
223
221
225
211
240
185
198
242
258
289
190
287
203
192
160
202
245
188
259
207
260
213
194
170
230
315
218
179
227
221
175
176
221
156
220
174
243
158
349
231
324
189
206
175
184
213
203
201
252
134
283
207
197
225
195
244
212
156
277
213
181
248
173
210
171
250
268
126
271
250
175
244
201
231
182
318
203
329
190
198
259
253
270
211
204
242
270
270
296
153
160
201
258
250
333
216
345
216
285
279
207
205
235
229
330
226
207
195
213
286
211
159
169
162
251
178
285
183
189
219
301
255
170
256
353
211
281
222
238
240
216
253
239
227
249
218
257
231
231
222
199
239
253
308
246
260
137
229
234
202
272
215
284
220
233
256
197
228
250
211
219
108
152
192
241
166
266
116
162
200
197
251
266
217
264
157
129
288
170
270
130
193
294
198
221
224
225
344
114
328
324
358
233
184
174
305
228
249
359
238
247
272
175
269
218
193
259
248
252
225
212
114
264
201
227
212
260
236
156
227
114
245
221
230
289
235
237
223
161
185
202
206
349
248
277
198
251
268
191
207
238
210
174
245
156
240
280
160
139
281
197
244
268
290
204
197
238
244
182
285
200
225
260
251
200
288
211
304
292
334
209
266
318
170
207
199
180
233
156
203
322
285
281
198
193
208
234
261
224
198
219
252
198
226
243
255
257
253
210
198
152
214
251
224
307
322
223
221
196
284
218
274
217
253
242
116
178
151
216
214
175
203
220
152
236
192
247
293
227
280
170
321
222
182
290
316
260
233
247
169
219
265
178
228
160
212
152
223
274
218
227
254
169
202
245
203
173
165
201
255
232
219
281
238
187
177
214
192
272
228
253
276
221
207
199
235
246
197
238
267
143
169
220
209
211
202
121
203
211
260
212
200
251
367
263
177
191
224
207
317
266
194
189
159
208
162
114
297
156
293
198
194
186
198
223
185
144
256
173
201
241
192
247
121
160
181
174
179
215
260
114
162
197
244
219
270
208
203
341
168
254
214
241
192
179
284
204
243
265
173
203
271
239
228
249
202
173
165
229
169
316
231
232
218
286
238
248
256
305
208
198
249
255
214
179
217
151
202
181
219
245
266
220
253
227
284
211
256
114
267
151
299
274
204
226
245
158
173
233
182
215
209
246
253
154
308
255
156
240
161
192
254
193
233
199
193
220
234
289
276
267
244
175
196
201
175
258
212
152
202
198
250
160
305
251
165
176
114
213
256
241
293
198
180
213
259
211
242
191
223
196
233
269
265
269
225
162
223
219
291
223
216
258
226
169
196
177
208
301
195
245
193
302
211
292
174
311
240
195
284
222
250
248
178
196
179
254
210
145
214
186
255
223
300
218
243
175
230
252
222
291
235
223
236
323
292
258
231
299
267
220
238
199
239
167
207
196
148
211
262
155
238
265
154
192
234
252
267
192
181
220
214
242
160
195
326
166
240
239
219
151
234
185
272
257
277
266
171
242
220
252
265
184
288
259
204
168
205
208
310
260
170
309
226
219
288
232
253
216
160
129
177
257
149
278
235
145
215
166
223
214
280
233
213
212
164
318
244
246
337
193
176
204
223
207
186
170
222
243
194
213
252
234
232
200
177
271
253
218
262
247
192
271
194
248
237
193
178
214
283
226
253
299
180
188
244
274
312
227
266
215
224
239
250
160
243
219
218
201
257
188
231
252
277
176
200
238
152
220
145
232
287
224
175
272
250
234
258
192
184
230
204
170
290
238
220
208
225
255
244
236
145
211
318
203
208
126
173
184
203
239
192
224
217
198
223
254
238
156
216
181
196
144
198
259
220
282
222
217
247
237
275
204
263
184
189
193
163
245
196
219
211
248
229
203
139
256
229
266
220
187
154
185
277
201
246
323
289
262
188
202
246
231
320
222
292
235
275
275
270
182
178
190
249
145
190
312
245
221
262
254
221
269
255
323
191
244
283
233
201
298
165
248
260
202
209
244
257
316
231
251
194
212
219
182
249
278
262
126
220
232
214
226
173
285
211
217
263
191
217
203
198
187
274
242
244
133
259
250
157
258
235
222
217
226
185
235
171
249
223
283
297
223
300
194
192
248
237
245
224
166
210
191
261
243
240
247
258
276
157
225
260
228
210
229
189
227
198
185
232
199
230
184
253
205
247
184
228
290
260
273
199
285
278
298
256
262
259
288
160
264
245
178
245
229
266
158
186
223
221
174
160
201
329
250
251
252
274
252
189
241
235
283
208
207
240
183
285
241
170
220
188
253
308
234
279
233
233
252
237
149
240
247
114
223
236
249
233
182
211
202
222
146
251
155
270
247
219
195
167
286
171
153
195
227
187
253
184
214
247
241
232
218
287
266
144
276
208
189
213
186
187
152
172
241
222
221
238
237
221
154
219
255
198
241
194
208
271
215
188
327
227
219
188
173
198
180
192
256
300
209
268
168
222
200
151
147
180
239
170
303
147
259
279
244
217
228
237
191
212
209
243
194
197
234
263
255
247
203
167
259
160
158
149
175
162
255
227
186
311
191
271
206
271
231
244
269
250
173
210
239
175
168
174
206
139
208
206
240
277
139
313
258
196
216
158
242
196
305
231
313
186
168
188
215
272
248
236
194
229
253
174
243
186
260
239
209
258
235
232
196
286
215
209
192
198
233
168
254
224
178
158
225
273
135
333
244
215
287
254
256
179
169
273
240
253
134
175
207
126
197
223
215
203
305
192
229
210
151
233
342
204
181
163
232
196
251
215
244
217
235
251
180
239
238
216
313
228
198
262
133
240
225
126
358
295
220
171
174
160
126
235
203
258
192
229
196
171
201
211
211
262
198
233
221
246
175
179
226
180
273
248
204
254
170
275
159
190
186
243
170
172
207
277
203
192
165
146
281
158
230
246
214
129
154
227
257
175
214
175
269
227
239
181
279
264
320
223
235
219
247
164
312
230
198
201
273
251
198
114
184
222
251
259
221
222
130
267
298
255
174
177
252
191
229
181
274
170
204
321
316
162
272
232
238
181
189
220
238
171
252
198
139
290
208
246
186
295
271
206
232
250
259
216
130
272
241
203
241
248
249
181
274
207
290
149
277
250
256
274
160
247
267
235
260
253
238
242
286
181
211
269
211
236
267
211
214
209
192
212
170
228
226
236
166
207
177
231
278
206
291
207
190
180
234
289
147
221
283
207
245
217
193
139
179
114
181
270
191
272
137
275
217
252
188
258
192
158
204
221
212
174
258
222
238
229
266
190
318
227
342
339
269
114
239
186
267
201
144
248
200
350
154
224
200
245
250
203
284
228
234
176
306
225
159
235
219
271
279
214
221
202
215
213
251
215
176
274
193
209
302
224
248
208
203
270
247
274
284
210
255
196
278
241
209
224
194
197
202
257
279
202
246
188
233
199
191
206
176
238
275
235
201
193
250
223
212
233
126
195
258
193
195
198
261
236
227
231
199
304
160
253
161
249
222
237
237
199
275
282
272
165
211
262
201
217
267
180
146
295
223
242
215
311
276
241
270
212
179
186
249
160
201
208
283
200
221
201
189
227
203
303
188
205
231
217
209
392
288
225
272
243
295
222
158
181
206
226
207
304
185
248
254
253
203
231
248
222
227
222
161
233
241
217
220
203
232
251
221
195
239
224
227
202
227
179
203
217
216
271
267
178
244
213
188
233
246
250
195
227
327
194
223
178
225
170
217
202
285
169
288
211
238
266
183
139
228
209
108
233
219
184
176
224
210
230
253
271
197
257
253
266
223
154
263
214
133
151
114
298
174
248
250
265
241
275
242
210
258
240
229
236
213
183
189
260
197
271
275
245
244
239
258
203
262
330
197
277
245
116
224
174
271
190
267
223
204
179
237
235
152
322
214
244
255
203
276
201
264
223
152
261
198
247
168
258
265
249
245
166
277
116
217
200
201
229
221
255
114
276
238
165
203
292
265
198
233
190
180
154
188
281
214
267
329
242
173
245
167
241
240
248
213
257
235
161
286
180
190
215
279
283
192
197
253
230
243
253
160
161
235
228
180
219
227
170
177
241
151
246
269
258
146
160
190
311
255
161
232
202
274
170
205
239
191
333
218
264
291
168
200
256
258
178
334
207
219
177
276
202
228
286
248
217
274
255
181
224
190
198
228
295
277
273
175
218
185
230
181
194
279
232
238
232
213
254
179
250
260
156
205
243
240
179
227
192
231
214
305
227
121
213
207
284
237
291
237
161
180
166
156
180
164
229
324
233
233
301
253
201
229
235
236
242
275
257
245
208
176
268
229
242
159
252
165
245
225
301
219
211
226
218
165
269
327
278
129
199
201
172
324
205
322
221
275
239
191
215
258
227
244
310
223
230
207
265
139
231
212
213
223
170
186
245
227
313
189
225
276
228
240
219
212
170
196
237
218
208
243
206
205
215
202
226
195
261
232
206
215
224
251
206
254
312
222
229
219
286
187
198
209
276
242
248
157
199
208
243
259
245
182
173
162
163
217
309
174
198
249
192
202
243
291
221
245
230
169
198
325
254
177
276
192
170
240
179
280
243
245
248
240
175
231
269
225
231
225
197
234
229
246
205
250
194
274
212
210
218
174
314
235
240
288
232
244
178
255
234
114
238
243
199
230
242
198
244
280
218
198
217
175
155
252
225
219
247
200
238
277
173
241
225
278
222
234
194
225
244
272
243
203
204
270
204
212
261
256
157
277
170
223
260
307
304
243
297
198
253
240
220
238
174
265
152
169
268
184
177
256
277
247
300
269
264
286
265
195
201
206
233
160
195
192
313
277
207
233
279
195
253
273
176
227
277
256
158
194
237
213
198
233
216
279
179
200
212
178
210
184
222
191
258
251
180
259
212
139
201
213
268
169
233
217
178
230
223
308
151
222
165
255
239
197
240
219
225
215
181
223
198
227
296
227
179
206
227
208
167
306
240
183
165
251
218
173
211
204
196
192
242
250
206
258
245
235
165
145
260
192
174
165
247
247
245
160
230
165
198
237
216
171
218
217
114
310
246
269
201
228
217
262
202
260
283
152
180
278
264
284
146
239
289
236
263
208
207
217
173
236
240
241
270
154
170
348
214
190
250
165
201
154
219
181
197
192
213
282
340
207
147
162
224
257
178
300
193
156
231
237
215
169
263
218
223
263
250
209
198
242
170
240
221
214
202
298
242
174
233
247
227
156
220
216
268
313
239
243
219
275
169
231
272
149
234
252
176
253
206
193
269
188
302
176
235
278
299
227
234
244
203
208
167
279
114
242
180
164
171
339
289
239
221
270
285
226
193
267
255
237
218
200
264
213
241
263
106
184
193
232
203
187
213
158
231
155
260
187
246
166
153
170
224
231
218
146
191
273
193
224
237
158
160
310
126
234
268
198
154
222
242
203
106
182
252
329
282
168
144
217
241
232
231
228
229
247
203
259
209
159
213
173
175
238
289
273
231
298
304
295
275
206
267
195
230
227
293
233
192
319
256
181
260
203
229
285
244
165
308
271
309
194
220
248
257
224
205
219
253
218
254
192
306
226
272
244
263
198
244
248
154
221
203
202
220
201
286
232
200
215
176
139
197
334
273
108
239
168
240
189
243
305
213
275
199
236
219
270
195
114
231
280
223
204
321
196
177
195
257
272
325
259
204
258
146
188
277
282
269
206
259
225
234
246
179
178
276
231
176
256
154
196
212
228
149
251
212
259
272
173
199
298
318
286
206
200
250
267
258
194
233
198
242
321
204
239
179
286
200
276
314
231
292
307
180
259
229
211
170
268
137
276
280
292
187
251
151
205
228
222
270
228
210
293
311
244
251
174
267
204
210
209
296
233
309
344
258
210
179
259
268
156
220
192
247
151
242
205
267
176
223
200
180
303
191
179
194
257
211
226
225
247
346
280
225
254
252
202
246
239
232
218
170
265
221
198
255
209
243
162
270
216
254
265
221
257
211
178
145
209
204
336
254
233
252
283
129
211
221
233
271
247
230
210
236
310
280
208
327
264
126
294
219
314
235
191
184
166
169
248
243
239
225
273
205
322
230
114
258
251
170
261
236
232
251
278
288
198
193
259
265
233
269
275
315
236
278
114
197
214
242
268
307
232
192
206
262
164
329
190
280
173
327
250
170
260
217
216
177
153
293
223
262
310
174
227
261
253
173
182
151
271
237
245
290
114
190
264
130
246
184
203
189
220
247
224
201
244
225
197
247
218
184
311
265
257
242
270
209
204
224
264
202
204
233
248
214
215
202
253
211
202
310
218
197
267
282
240
234
261
209
195
288
144
184
207
195
253
257
218
181
296
176
235
238
276
194
229
192
217
184
214
279
256
206
219
267
174
216
204
198
256
216
198
207
147
152
178
266
194
263
249
167
280
239
206
229
187
186
262
159
178
257
225
243
175
248
183
272
267
258
233
217
193
284
190
227
277
240
230
191
257
248
187
197
162
213
258
259
186
296
173
223
173
217
219
206
197
204
114
197
114
256
219
230
176
231
247
213
287
320
206
297
219
286
223
193
156
188
235
199
199
291
268
274
248
233
204
234
177
341
282
217
232
202
202
260
242
244
288
299
174
217
217
296
130
252
229
261
259
182
192
300
289
189
219
249
266
250
268
225
280
243
156
297
183
186
230
181
178
230
108
224
181
176
214
212
215
255
238
342
258
169
193
212
278
281
126
149
222
247
209
215
149
359
173
170
258
215
214
187
260
238
261
243
253
177
255
151
265
181
214
192
298
216
297
174
233
250
257
252
193
241
208
258
275
270
286
328
298
246
252
241
220
276
267
213
206
244
243
252
220
317
235
231
250
247
271
275
237
144
212
176
206
213
180
176
217
170
207
173
188
190
241
233
188
194
260
284
309
341
165
212
203
217
221
247
231
178
262
195
303
239
170
232
266
266
193
223
203
210
225
224
206
217
256
218
159
194
258
258
250
295
276
233
199
180
170
222
196
242
237
218
208
152
181
213
220
266
224
362
196
186
199
274
207
279
166
226
195
189
247
245
228
175
235
228
211
203
181
233
222
239
209
290
241
222
174
191
353
226
170
221
213
181
266
324
195
215
363
206
211
244
192
180
173
158
263
144
245
229
229
248
318
240
196
261
198
307
176
257
160
280
216
242
266
219
244
296
262
289
267
212
200
264
276
220
175
219
253
232
210
325
207
159
185
198
249
277
217
121
160
261
224
108
259
217
203
307
218
271
147
250
278
159
158
261
184
219
238
114
215
213
170
252
237
179
207
252
217
278
156
207
270
211
208
244
329
130
196
215
247
210
301
263
198
258
234
203
199
218
254
160
178
198
175
269
231
212
241
257
325
146
108
243
220
176
249
184
195
292
178
218
203
235
213
258
253
210
139
205
287
237
239
185
278
194
156
200
193
204
237
206
206
213
166
231
178
209
261
179
231
178
227
114
253
255
198
311
251
232
241
214
193
307
201
229
160
166
204
304
209
249
260
184
235
244
250
198
238
218
256
238
252
238
216
253
175
307
198
293
299
194
272
196
323
193
220
222
196
297
192
265
243
221
195
246
321
148
334
251
144
226
167
211
276
316
204
253
114
263
223
315
221
321
176
235
279
237
216
225
206
215
257
212
266
329
216
321
182
193
228
270
244
293
232
198
202
288
181
233
233
224
217
173
249
217
237
183
215
183
214
201
267
233
286
259
179
279
205
178
201
238
175
256
195
211
227
189
235
222
251
253
114
241
196
201
199
220
153
192
237
203
215
181
147
275
205
220
294
226
154
213
275
191
260
258
147
237
311
228
174
179
174
222
201
236
189
303
220
171
193
273
182
207
231
268
200
152
283
250
161
195
182
226
247
243
151
114
236
238
251
241
170
201
233
254
245
335
233
237
230
231
261
362
196
200
216
162
235
260
209
214
239
191
293
180
213
260
181
225
294
256
206
256
249
185
154
199
160
268
191
234
215
202
222
114
151
256
247
216
226
250
203
294
294
192
253
233
144
225
172
263
315
213
267
168
220
202
239
285
252
178
264
183
229
236
275
143
226
172
245
234
212
283
209
245
184
264
221
213
170
237
209
213
299
217
166
177
216
257
240
184
114
243
205
260
276
209
180
294
196
216
192
231
271
289
201
188
243
216
193
333
195
254
215
236
178
228
237
191
271
227
211
262
234
198
205
256
230
166
179
322
282
216
213
200
260
265
207
114
257
235
206
176
183
236
191
259
179
212
181
145
222
246
289
258
239
233
205
264
198
139
180
242
258
177
257
202
264
251
197
165
219
205
195
261
214
209
217
237
247
145
157
240
208
220
202
202
126
235
212
215
305
273
235
224
241
248
264
277
151
183
175
226
162
219
309
272
242
193
165
202
303
220
189
233
305
190
167
248
286
173
240
305
198
160
197
166
178
198
269
161
219
202
139
283
176
160
180
198
259
210
272
207
255
253
212
183
223
234
157
234
226
160
246
204
285
233
183
221
204
166
322
250
235
198
243
181
224
237
287
247
181
192
250
155
282
232
201
165
189
207
169
287
240
212
315
213
203
247
244
185
218
194
206
290
216
114
184
211
203
182
241
206
191
222
213
239
207
173
289
210
192
235
252
248
154
236
276
176
242
253
245
315
246
209
160
184
191
256
185
218
179
126
272
191
280
251
210
221
194
198
286
255
270
317
172
236
209
203
170
281
247
203
233
189
296
193
169
254
222
218
225
133
261
206
159
173
216
183
335
211
299
260
326
238
230
181
282
149
275
227
223
114
229
193
246
212
268
180
277
218
242
232
180
186
189
170
258
268
295
215
279
277
264
166
248
248
266
258
258
232
174
209
223
252
229
238
211
240
189
328
201
225
200
198
170
165
189
277
156
235
255
178
287
164
206
253
248
291
212
209
249
207
267
218
226
204
200
239
114
203
257
189
235
201
241
268
319
229
255
163
168
238
287
265
298
194
284
263
165
212
239
202
292
163
184
156
206
197
198
235
219
217
300
171
186
139
236
192
253
195
144
199
233
301
219
192
230
215
158
255
151
193
278
198
285
220
281
253
194
193
209
253
272
251
284
231
229
254
243
267
156
328
222
203
276
178
237
185
212
217
114
259
281
200
175
226
174
269
283
275
261
139
183
151
296
193
217
241
205
202
241
263
188
240
188
172
266
196
175
238
211
193
224
208
233
114
246
207
252
173
236
219
232
234
276
208
202
199
204
204
204
246
214
204
197
216
255
181
200
216
177
260
178
267
214
303
221
266
290
258
160
200
160
114
233
286
290
222
247
295
230
250
200
177
235
287
318
250
152
286
237
279
255
241
200
164
261
145
222
300
198
166
241
170
180
242
126
249
207
208
198
280
260
314
257
227
192
241
152
281
199
202
239
235
242
217
231
280
233
248
199
147
203
190
180
220
213
258
224
250
264
185
143
185
208
168
251
173
263
216
226
238
238
241
216
197
213
173
237
209
230
300
319
260
187
337
175
242
191
263
289
221
296
163
230
156
251
225
175
179
176
237
183
256
176
292
195
219
198
306
198
227
229
357
277
243
251
249
192
276
256
283
209
216
223
187
177
228
215
188
143
245
145
199
198
191
160
190
114
276
184
204
264
183
243
286
160
238
343
227
204
315
222
278
239
238
175
169
226
236
178
197
221
178
234
236
269
225
181
183
230
305
180
152
216
328
205
236
209
193
232
281
156
181
201
213
176
202
208
238
215
294
146
263
211
272
297
299
240
217
261
173
234
289
205
269
320
263
220
195
166
191
332
197
192
203
199
248
188
212
237
293
247
272
160
158
256
245
218
294
276
177
252
221
276
185
281
212
175
206
179
225
266
230
260
147
271
233
167
183
243
206
250
250
249
202
267
159
151
202
163
139
321
261
224
159
198
222
266
208
200
240
235
260
225
285
257
316
217
253
168
200
198
235
203
243
195
244
276
252
235
191
235
227
139
173
181
226
285
233
224
166
256
239
227
189
165
236
250
212
108
309
170
207
220
197
279
267
233
146
156
203
203
313
226
239
219
220
260
213
268
158
241
220
312
218
192
261
246
257
189
238
180
171
224
215
245
210
257
215
267
264
158
221
178
204
260
158
285
241
341
234
211
257
282
200
269
206
238
295
174
257
285
209
266
267
280
296
255
249
239
206
116
220
278
242
178
161
242
149
226
228
242
186
258
175
171
237
199
215
210
262
178
279
265
210
271
248
203
145
198
227
163
192
160
198
215
246
191
253
187
190
175
228
314
386
204
283
247
162
293
280
231
276
174
197
223
217
156
218
327
227
222
319
257
204
257
221
188
237
244
294
156
152
266
188
226
256
269
258
233
212
310
285
273
218
267
288
300
242
242
231
205
336
178
264
248
242
210
219
184
231
192
193
283
164
280
126
209
161
146
250
207
234
250
190
300
196
191
155
198
163
263
114
227
215
254
202
294
214
152
151
166
211
237
228
187
210
208
172
224
216
217
158
178
248
229
190
220
262
233
290
192
307
294
240
175
177
289
241
198
221
178
215
288
215
239
214
198
225
200
193
212
181
182
164
195
278
280
252
221
274
215
237
209
226
257
207
177
214
195
286
276
276
284
310
171
198
163
245
209
166
214
198
207
169
108
252
234
106
216
175
255
258
108
261
114
222
179
234
285
114
253
226
270
243
180
238
221
202
258
332
177
299
252
256
175
265
229
233
203
126
194
205
229
285
145
281
253
149
234
246
207
225
204
243
273
121
204
238
200
289
246
126
198
181
214
252
335
225
236
263
222
231
200
194
190
180
206
248
184
306
212
342
249
228
220
199
282
235
258
203
296
208
246
298
202
134
169
276
282
321
203
270
225
311
247
246
249
255
234
212
160
278
296
296
216
195
219
217
216
223
219
198
224
311
271
239
251
288
242
248
255
238
310
189
201
198
212
205
229
209
289
297
221
226
254
250
203
259
191
280
184
176
212
184
183
270
259
253
249
183
245
234
175
145
191
354
266
173
211
161
254
200
238
290
198
158
190
214
272
156
206
230
183
202
235
238
239
264
220
264
279
255
194
178
300
229
201
195
194
228
248
219
236
208
261
232
215
200
264
158
198
194
227
184
275
245
225
297
260
280
231
212
220
223
247
211
224
129
202
207
177
253
167
172
226
184
192
283
144
267
343
235
151
267
174
191
200
286
295
179
258
225
279
233
217
230
225
192
186
173
217
249
208
220
237
194
317
299
282
211
244
228
234
242
228
166
181
295
116
291
275
156
287
243
178
228
275
204
296
229
211
204
166
249
279
282
165
224
221
210
207
191
180
235
181
191
217
126
263
151
226
213
224
289
301
226
336
213
227
269
238
331
221
239
233
144
238
235
250
225
209
251
149
177
262
149
292
247
181
240
165
277
203
250
235
251
152
238
151
157
170
197
305
257
281
264
267
214
227
184
307
180
196
287
220
178
327
269
202
228
234
223
197
177
229
208
252
218
284
259
244
264
157
175
243
174
318
191
220
220
294
242
207
175
139
208
182
216
224
275
235
289
202
172
204
285
231
257
225
189
297
203
173
235
199
233
229
252
149
234
152
210
229
244
176
181
247
273
282
191
233
218
225
181
240
315
179
283
191
245
156
241
263
254
280
255
207
162
231
273
248
181
158
219
208
261
239
245
187
282
263
214
221
243
207
226
203
207
178
178
234
231
165
129
233
149
199
248
373
263
181
258
244
162
246
300
271
162
226
259
234
297
200
316
270
211
152
210
261
149
353
307
220
222
182
192
203
254
193
211
237
234
146
196
280
223
209
199
229
277
213
185
260
211
193
272
178
231
200
199
212
169
236
173
168
223
231
317
262
208
238
203
234
197
186
181
186
208
210
176
164
164
218
251
268
145
228
221
188
279
248
235
160
234
249
207
267
300
206
230
200
239
187
290
294
204
222
223
178
253
229
193
266
226
247
203
265
209
206
293
242
180
232
225
151
261
249
280
229
189
219
239
188
160
207
176
204
223
209
240
161
194
237
279
309
255
185
255
148
236
263
244
227
184
205
217
259
224
266
174
198
126
210
233
151
220
227
198
194
208
204
285
315
189
241
243
259
168
253
268
222
189
247
276
312
170
238
299
324
178
307
256
196
227
288
224
204
252
262
204
156
223
235
271
219
276
160
266
326
215
197
215
192
106
251
241
229
217
274
266
237
205
230
188
201
262
259
192
229
231
211
233
193
226
259
212
236
210
198
241
273
195
200
225
175
114
273
254
151
178
257
185
233
170
233
277
231
187
239
193
285
185
247
332
202
258
230
234
252
149
285
291
246
204
155
180
205
152
178
214
217
239
232
152
204
256
228
246
206
214
198
247
128
204
160
271
205
225
211
208
282
191
255
269
177
200
178
215
232
206
241
193
209
179
210
233
259
208
169
164
181
177
290
253
239
212
256
249
234
244
237
216
281
231
192
281
325
212
243
167
278
169
151
156
178
203
310
156
233
114
267
271
222
246
233
151
258
129
203
200
194
277
241
341
312
216
170
341
239
190
253
243
366
212
167
263
192
298
230
220
215
278
291
179
215
189
230
207
158
152
232
198
247
168
259
244
210
238
310
238
238
235
217
198
158
179
180
233
233
261
245
159
213
236
145
219
309
215
169
265
199
132
180
208
269
157
278
241
257
306
297
181
234
193
114
297
197
225
199
206
214
200
146
147
244
220
282
178
254
217
215
263
144
202
258
301
235
202
201
260
238
235
309
219
250
317
219
240
222
198
234
182
230
301
258
230
278
273
160
235
308
313
258
208
184
293
263
225
232
263
239
201
190
186
234
185
237
208
191
233
175
162
224
165
243
257
259
215
225
207
215
228
189
224
251
249
149
267
283
302
237
284
176
114
239
206
248
219
241
168
305
195
287
218
193
235
178
236
183
251
246
257
210
233
195
258
176
300
174
200
229
247
240
187
308
261
270
189
278
173
139
239
224
222
158
167
300
198
126
211
259
244
219
235
197
307
252
145
222
196
156
108
227
299
255
249
232
273
248
235
270
249
154
237
139
238
270
185
172
172
278
182
255
304
219
260
184
218
260
210
253
160
206
189
233
275
222
184
247
241
197
227
218
198
210
219
255
222
205
297
173
167
232
191
191
211
215
169
201
254
173
227
288
243
211
227
191
196
204
152
214
207
249
199
252
228
260
278
203
197
272
240
169
181
158
252
193
226
227
178
192
253
217
287
277
221
216
171
262
203
252
290
148
267
249
173
233
249
248
106
180
327
217
319
246
300
370
205
182
247
228
200
219
221
246
258
181
304
207
219
184
237
258
218
191
309
285
190
298
239
194
231
306
114
243
252
267
204
169
172
158
257
294
198
176
207
289
144
139
235
236
268
246
273
213
143
163
287
280
243
276
226
224
179
214
212
121
211
178
189
241
312
174
204
271
231
271
177
270
239
231
185
207
243
223
206
250
206
206
223
213
189
300
223
304
196
271
186
281
225
230
238
238
273
241
214
259
256
329
174
227
186
323
231
263
174
278
353
178
263
199
244
171
312
293
223
253
161
216
272
276
267
237
206
284
206
203
266
192
221
279
200
232
225
219
265
205
227
255
222
260
239
285
154
211
235
302
231
183
226
292
169
225
230
272
233
269
192
235
181
275
274
258
292
248
240
236
229
196
208
158
212
214
236
196
189
239
267
273
215
195
197
201
197
170
227
222
207
201
160
266
156
189
245
270
256
275
173
214
279
175
145
227
288
203
203
230
247
222
160
301
206
256
229
238
225
313
175
114
241
223
190
144
184
218
212
220
226
215
259
245
257
247
227
197
283
198
355
221
176
211
170
229
273
328
180
238
283
237
144
232
255
247
220
178
220
185
162
243
253
214
251
218
234
187
215
189
275
239
227
250
271
178
147
238
191
170
238
206
268
226
212
235
229
296
265
241
239
216
174
196
176
267
279
293
233
215
252
208
208
231
240
221
308
209
202
284
227
260
220
186
225
230
247
269
197
154
257
226
251
251
265
244
190
235
208
151
213
198
249
241
126
260
217
223
203
234
228
182
261
250
287
303
233
172
139
221
232
214
214
246
258
281
284
229
206
189
222
264
200
173
228
203
299
199
258
191
239
173
259
204
230
321
256
222
190
175
290
222
247
209
204
224
253
219
224
241
208
250
315
175
320
139
296
265
133
217
277
176
278
220
129
273
212
114
204
300
144
174
238
314
240
219
215
212
290
195
221
260
255
240
206
219
309
287
185
220
187
221
218
207
283
144
200
156
251
193
236
188
290
235
272
197
269
262
254
201
198
255
238
229
258
221
249
214
169
198
208
187
153
154
256
179
227
243
226
232
273
252
214
220
195
229
226
174
277
189
205
269
254
291
275
272
295
154
201
262
297
243
152
195
176
257
247
170
161
242
195
160
232
200
262
193
323
275
145
227
160
196
208
235
204
244
219
194
169
237
230
220
249
203
237
222
231
164
213
200
242
183
210
114
158
181
206
232
209
202
346
211
226
286
192
301
212
241
236
268
179
193
144
233
226
208
235
286
321
285
173
201
170
258
218
181
163
245
197
222
199
170
266
218
250
227
248
253
319
221
156
158
259
204
186
271
209
256
193
268
228
161
235
221
240
187
218
229
172
281
210
316
139
188
274
190
287
205
277
242
259
228
301
334
274
217
147
249
175
179
208
307
239
208
155
243
208
234
214
221
240
208
188
221
374
214
231
217
250
170
230
209
185
106
191
145
257
222
240
181
183
245
181
179
213
188
178
217
214
209
244
263
246
235
146
130
235
279
212
309
254
242
114
207
207
244
232
280
234
265
266
168
267
275
308
274
246
200
256
309
231
237
218
247
226
198
284
243
181
152
297
297
155
187
200
199
146
191
240
114
279
258
259
198
214
323
259
245
294
158
241
250
171
287
174
225
269
259
214
326
248
279
249
230
196
192
165
228
191
226
219
231
202
175
173
194
273
204
252
178
251
266
288
196
229
213
203
220
321
261
234
198
256
193
168
278
290
239
196
171
193
240
282
335
228
268
235
227
252
175
204
278
309
196
226
195
227
200
299
151
229
214
202
258
235
177
198
147
145
228
274
211
235
171
266
208
163
152
283
200
295
221
260
281
213
209
268
206
212
262
193
246
256
223
215
220
254
224
207
143
317
145
325
209
295
244
204
290
278
225
306
139
293
239
253
270
176
253
204
215
258
213
251
317
207
151
270
256
247
360
196
287
214
262
225
203
184
271
178
229
232
196
197
223
217
216
270
181
189
324
262
225
229
275
221
195
218
250
114
199
269
173
184
181
251
183
192
248
226
158
280
249
234
275
242
263
261
227
215
167
218
252
237
176
272
250
259
215
249
290
277
212
219
285
207
192
229
184
189
211
187
178
223
288
173
263
265
223
155
290
302
183
273
147
255
295
254
249
296
260
139
165
235
221
181
199
240
307
200
183
238
230
227
186
255
200
243
201
114
237
203
216
208
250
263
306
262
181
240
251
208
321
249
168
237
287
216
173
174
187
237
216
237
263
195
255
333
265
260
351
196
277
191
186
234
231
249
268
114
273
203
252
263
114
232
248
262
249
331
241
233
191
233
293
277
170
231
224
181
263
227
308
246
290
253
224
139
230
243
251
151
181
191
222
220
236
162
235
210
239
212
170
198
256
165
211
214
303
255
252
179
236
237
148
218
171
218
212
250
199
227
206
233
178
168
297
200
198
238
212
168
238
245
293
220
178
286
275
246
193
271
297
200
263
254
206
208
217
168
237
240
268
181
208
231
171
248
252
260
195
235
263
189
227
177
308
145
204
217
211
194
213
238
222
247
253
238
208
286
230
171
295
277
187
218
185
114
234
192
156
186
296
261
243
284
241
260
186
165
209
222
198
247
362
246
255
249
234
195
195
263
249
219
217
214
227
255
254
231
173
247
184
256
218
171
206
212
212
245
180
194
183
260
252
279
241
198
237
246
195
247
235
218
226
272
226
214
269
202
211
207
244
229
194
232
224
176
262
215
214
254
243
203
214
270
304
270
245
210
321
206
162
230
177
248
237
234
213
242
235
218
235
151
226
237
299
154
198
226
277
234
198
197
178
232
256
185
308
231
293
295
240
202
215
178
327
221
166
233
179
211
154
158
224
255
228
198
206
270
148
236
216
293
208
273
224
248
216
219
193
239
249
282
228
191
225
306
187
170
198
252
198
242
262
198
170
157
220
160
148
292
233
222
158
208
199
197
194
171
164
222
206
189
164
234
311
188
261
208
234
273
240
195
274
309
272
267
126
263
247
228
288
229
219
145
244
195
258
139
156
202
122
219
232
259
282
160
224
227
263
296
223
186
277
244
237
231
230
216
250
194
287
236
256
225
270
270
249
275
181
175
179
257
253
226
215
230
160
275
216
238
196
217
188
259
222
204
239
203
221
204
203
241
243
190
255
174
176
220
238
233
228
214
259
133
294
233
264
212
173
246
266
242
155
210
208
236
231
174
265
228
262
195
223
257
202
269
170
232
274
297
246
229
214
249
251
259
243
195
180
272
144
206
190
224
211
159
216
193
165
181
114
287
250
224
152
185
252
174
198
270
185
213
242
206
237
181
175
141
227
300
244
243
234
201
201
249
292
196
212
196
281
162
184
272
214
181
205
213
208
269
386
279
181
162
234
211
246
178
268
280
259
218
182
233
195
198
175
316
215
263
269
246
194
250
193
259
181
198
170
223
252
238
198
205
259
258
179
215
240
245
265
234
235
200
252
173
178
268
196
233
218
207
191
335
173
137
250
243
179
239
232
215
276
218
256
135
368
161
277
236
215
244
320
261
206
191
232
225
216
315
272
247
143
177
241
306
208
219
216
259
230
264
260
184
238
216
189
183
198
238
247
173
114
240
197
139
219
230
181
214
176
207
208
247
219
222
216
240
221
173
288
236
240
214
276
278
184
263
273
173
276
180
133
253
251
231
158
295
255
235
200
203
207
339
176
227
284
256
233
248
197
234
284
222
213
242
220
234
195
160
213
170
152
174
223
217
221
218
263
220
156
266
199
253
232
293
214
196
245
238
205
306
235
226
252
223
200
174
277
251
277
230
230
272
248
251
192
214
203
205
201
192
249
254
322
234
256
160
208
190
160
279
180
160
278
318
255
189
292
292
303
266
221
210
211
260
186
170
209
181
179
228
229
256
183
251
251
206
181
218
170
179
189
210
313
263
234
297
284
212
256
235
265
227
304
250
220
234
248
165
204
267
252
145
209
291
266
317
314
190
257
169
173
148
208
204
295
198
244
195
198
285
227
217
274
273
216
308
222
162
240
275
250
274
279
165
254
185
208
239
171
221
347
208
197
242
209
183
160
182
235
170
254
250
195
234
255
231
139
209
262
241
186
154
139
178
166
283
184
157
271
261
241
205
181
213
279
211
230
146
128
207
272
228
275
129
233
326
294
239
259
166
221
308
114
229
154
237
208
240
259
252
215
192
181
264
297
228
311
253
276
259
265
332
114
201
241
242
260
307
160
307
197
216
141
209
193
282
207
183
209
220
195
293
251
235
189
290
257
168
195
130
133
176
279
233
255
231
229
129
160
223
157
200
373
175
186
239
185
159
213
233
211
221
179
336
246
305
296
185
235
217
221
175
249
301
216
252
286
299
189
311
218
266
281
241
227
226
318
177
282
290
320
275
198
216
225
235
286
194
230
194
241
206
224
247
265
234
251
273
242
198
230
207
256
299
249
193
272
209
205
184
191
114
259
180
255
283
246
198
223
186
114
227
206
208
317
207
209
228
147
194
314
211
284
281
126
227
240
305
315
121
240
213
255
180
244
261
311
229
202
237
236
228
243
276
208
130
184
187
156
175
211
205
265
220
219
264
186
188
215
215
245
126
262
243
235
216
148
231
189
243
229
232
237
328
314
225
273
189
189
201
183
237
257
261
290
259
162
223
224
232
244
195
224
211
266
272
221
192
238
296
145
173
230
328
248
291
154
160
230
270
256
170
328
227
211
227
274
367
278
196
273
223
206
195
192
251
222
208
176
169
185
180
294
214
167
215
248
324
192
278
242
259
342
293
167
186
230
181
160
179
201
219
149
175
301
217
242
256
202
169
220
248
284
225
242
243
239
181
201
219
198
225
224
170
160
277
228
224
276
262
237
245
205
224
213
158
216
251
180
154
114
212
174
265
300
244
240
160
198
222
236
211
219
233
211
210
223
192
210
242
242
238
222
199
194
188
185
260
260
190
232
194
198
285
270
228
284
226
192
233
258
230
265
234
254
220
237
240
261
224
218
145
214
164
273
212
219
221
190
300
253
211
143
216
198
198
191
198
152
230
191
241
194
160
256
194
251
223
179
237
158
212
248
249
233
231
221
178
190
267
161
180
215
196
276
293
211
181
231
191
165
230
184
285
244
214
168
222
239
146
260
199
254
212
214
214
159
236
229
157
189
211
165
254
194
261
215
209
222
211
264
202
292
331
248
332
204
220
274
247
198
323
322
328
298
178
209
175
283
213
221
257
219
241
184
255
249
191
235
191
170
226
214
240
218
287
285
349
258
180
330
232
256
239
225
219
214
144
195
216
170
200
194
245
185
195
269
235
265
192
193
266
224
227
237
187
180
221
287
170
218
184
202
344
287
303
106
239
191
193
321
239
200
239
292
126
153
219
226
229
187
221
177
260
307
205
253
313
227
202
147
225
175
217
166
237
230
198
226
203
247
188
160
172
234
146
323
185
244
193
241
178
149
214
198
259
173
195
244
249
258
173
157
182
222
217
221
295
205
192
253
225
253
196
170
242
166
199
230
225
203
225
180
249
263
175
224
207
278
159
171
231
317
198
296
202
206
202
220
181
178
264
190
300
242
231
238
238
205
207
270
254
253
262
277
242
191
266
188
248
264
246
271
228
195
217
250
230
304
196
200
192
264
211
108
231
173
181
225
238
238
202
235
244
183
178
214
234
218
184
178
324
273
230
195
154
228
186
252
217
220
219
247
176
197
310
277
235
223
248
307
259
261
242
244
229
180
208
180
192
266
176
158
200
287
230
288
318
156
243
266
190
235
244
279
226
173
203
176
258
245
180
277
244
238
212
186
177
195
266
187
234
259
211
232
220
229
233
192
224
215
215
237
299
146
108
170
194
192
218
279
198
251
230
201
289
218
175
276
252
232
266
277
247
233
194
205
292
191
209
308
192
234
161
231
175
275
190
219
264
213
182
265
183
234
233
256
184
248
252
208
154
165
206
230
184
243
208
204
270
228
187
231
315
249
245
235
209
200
209
164
212
241
185
233
213
265
215
272
225
257
152
257
261
260
184
198
207
177
200
282
218
263
277
292
217
286
291
192
230
234
302
240
180
234
224
218
225
152
316
176
217
221
166
238
227
246
213
208
281
297
192
282
249
210
178
175
139
253
160
225
277
233
231
305
255
215
217
255
250
192
114
355
244
297
202
233
228
182
126
198
279
209
221
247
186
240
310
281
274
257
214
265
254
257
274
257
197
229
203
289
217
243
255
305
248
236
225
262
224
175
233
198
262
253
165
226
205
166
225
247
242
156
221
327
226
190
279
184
259
320
254
330
281
230
252
259
221
229
169
216
213
161
185
144
238
258
310
266
222
317
256
282
232
222
184
219
282
244
154
217
254
265
206
181
192
245
263
245
295
278
273
173
207
204
273
251
297
240
304
285
266
206
273
135
192
253
271
264
287
237
347
255
221
292
213
178
198
253
240
116
318
169
196
217
211
137
309
268
237
223
196
226
156
243
216
162
278
186
242
270
172
241
248
213
213
277
252
242
191
243
188
249
270
248
255
200
156
178
284
231
261
265
231
293
181
286
276
236
322
276
229
196
152
211
234
203
184
179
249
278
203
217
271
244
179
248
181
189
184
183
206
324
254
213
221
270
225
246
168
246
247
225
256
207
264
252
198
274
312
243
212
219
277
241
240
251
219
126
169
146
259
258
199
219
180
260
178
317
243
194
190
146
240
217
326
139
276
209
239
245
209
270
234
293
220
256
271
172
206
179
210
252
231
266
193
192
204
198
243
228
354
269
198
306
185
231
266
187
179
268
156
184
174
174
241
209
203
255
158
181
209
237
225
239
234
229
255
252
234
193
191
295
217
293
296
220
219
289
194
196
264
237
284
235
209
228
220
217
300
340
209
255
274
297
289
299
250
311
284
242
277
267
216
178
205
116
274
281
271
291
232
178
295
177
192
157
235
169
267
200
259
264
242
158
228
207
183
255
222
321
182
221
226
212
242
160
326
192
228
159
230
240
177
199
174
229
182
190
253
190
174
177
165
265
246
196
286
209
196
207
228
285
309
207
282
175
227
201
205
284
223
236
279
253
300
161
223
239
285
239
152
202
126
175
310
286
270
245
189
246
222
295
258
222
308
207
205
205
233
204
198
192
169
172
220
180
243
198
271
259
152
323
263
252
268
267
303
233
242
207
152
274
171
214
273
161
284
114
330
207
249
199
190
252
198
203
288
253
337
175
158
194
139
283
227
170
218
191
246
173
239
275
226
269
186
191
265
286
287
151
173
235
292
197
273
230
279
151
263
194
269
229
218
196
279
225
208
255
259
218
273
260
285
233
165
223
229
225
263
184
260
188
246
155
221
226
215
222
216
229
266
192
202
300
266
245
273
167
251
258
247
242
226
256
231
162
221
174
239
184
215
199
234
218
207
169
261
288
173
235
259
309
241
139
184
231
203
269
175
261
229
214
251
228
237
286
273
225
291
273
171
257
245
191
234
178
108
224
174
190
234
173
185
290
221
156
263
273
225
166
250
199
193
229
191
164
191
298
238
280
221
264
287
209
302
216
147
189
283
227
312
268
279
178
197
207
189
181
249
257
252
329
249
114
282
210
189
261
228
150
222
242
297
288
213
277
259
195
181
213
133
208
253
253
290
166
206
261
225
304
241
214
245
263
240
283
297
176
215
144
191
144
238
219
211
203
275
209
228
241
243
221
286
237
283
251
199
226
191
173
204
184
257
282
219
197
237
249
196
220
250
257
233
274
257
205
291
175
273
231
178
252
262
268
185
188
276
200
248
253
272
152
226
259
210
312
326
264
224
196
263
255
228
231
269
241
238
194
251
191
194
218
217
166
195
262
176
170
210
228
213
181
267
198
247
237
150
243
187
175
231
202
231
167
146
183
182
233
291
309
272
240
205
244
198
230
280
205
193
183
238
214
190
170
232
200
244
258
204
116
247
235
179
162
220
232
225
234
286
268
213
230
228
241
204
238
253
224
268
301
166
248
225
202
184
214
170
161
126
240
249
245
199
169
230
181
219
233
211
191
231
261
204
162
204
252
296
158
265
196
213
227
186
317
264
156
146
255
153
261
241
258
289
259
304
211
196
284
114
202
267
244
156
277
267
116
178
235
188
173
146
229
207
235
290
258
206
184
194
266
256
226
285
173
253
210
266
207
152
160
229
258
305
278
200
286
300
195
291
214
219
200
237
232
238
299
145
213
191
305
195
203
264
202
369
224
189
241
236
157
183
178
259
219
170
205
208
191
206
191
176
189
219
238
174
209
176
157
235
287
285
324
237
282
188
344
207
219
173
238
293
245
197
203
265
179
341
206
213
248
215
241
278
266
228
158
159
207
247
203
234
240
231
178
243
212
285
224
167
282
254
262
214
276
243
227
206
246
153
256
282
201
205
223
160
186
174
247
261
215
263
323
270
229
248
317
209
214
250
191
183
234
190
262
188
269
227
164
215
322
174
320
338
177
194
316
250
236
267
187
161
330
252
233
225
156
230
288
192
116
195
231
214
220
246
201
218
231
193
272
220
195
165
203
189
191
263
183
162
167
233
261
227
188
263
176
199
199
250
160
314
233
204
200
238
218
173
156
204
170
222
166
203
179
345
276
231
232
195
243
301
231
211
241
227
190
202
196
273
189
183
236
262
199
234
288
169
239
206
219
116
177
197
185
169
239
323
201
272
204
232
185
192
190
284
193
212
269
192
253
206
149
238
229
190
190
215
241
260
285
264
189
267
145
203
266
218
257
212
259
245
206
279
260
169
248
210
223
221
190
166
193
281
227
270
248
156
213
189
227
217
266
287
229
251
211
216
236
227
220
208
151
259
152
230
259
214
238
228
244
209
266
222
210
174
201
283
159
219
169
245
176
114
267
241
259
327
214
231
144
189
282
213
224
193
240
246
160
145
169
286
189
176
237
206
227
126
211
225
191
283
250
219
190
133
244
229
257
242
215
253
252
228
268
247
238
252
230
243
273
260
200
184
193
194
215
277
248
231
238
272
192
222
252
258
200
257
280
198
216
258
293
234
234
232
206
276
285
194
193
186
193
302
286
278
276
209
213
268
189
211
227
228
221
208
223
229
206
226
204
248
163
257
311
222
281
144
256
214
280
218
255
252
202
207
116
161
241
218
206
231
175
160
238
221
303
217
192
169
223
203
201
328
192
241
168
222
165
241
277
229
174
228
205
152
205
203
194
194
198
207
188
238
234
287
210
249
164
163
247
267
126
226
228
208
190
311
170
292
206
254
256
203
203
181
218
232
218
146
194
191
280
159
269
186
358
318
229
212
263
161
246
266
253
332
233
211
179
244
200
299
225
234
207
181
207
252
263
249
284
228
139
302
192
308
270
166
253
224
275
215
179
160
210
278
209
153
215
188
161
253
162
217
233
207
248
260
203
174
265
236
261
196
202
239
213
174
302
226
254
298
219
173
266
258
187
191
231
355
161
207
222
253
311
202
196
195
265
214
208
186
239
178
170
252
231
246
268
169
261
222
222
234
248
232
259
265
218
159
180
210
114
250
182
234
197
289
305
153
233
242
222
205
186
231
237
213
272
183
246
233
270
294
173
221
211
245
204
193
257
215
272
254
161
316
224
287
179
239
263
257
236
199
245
206
177
171
192
204
265
320
212
218
244
286
161
252
116
198
156
196
168
159
192
134
275
279
187
242
250
231
175
220
238
210
296
274
211
300
224
249
247
274
160
156
279
284
234
192
248
270
291
221
252
180
220
318
311
243
246
241
211
236
206
217
223
176
116
196
183
236
239
181
235
251
214
225
210
157
231
235
259
215
205
213
234
239
283
220
261
211
199
149
287
204
224
283
145
251
252
252
213
177
304
212
254
241
299
205
199
244
239
266
198
163
168
183
286
235
198
189
229
200
203
238
256
354
254
240
260
283
232
332
312
250
200
269
216
278
289
243
269
230
160
292
225
238
214
245
279
214
261
264
236
243
215
280
210
173
154
230
336
252
178
168
234
277
207
200
308
227
267
216
230
219
224
226
244
170
311
182
212
259
207
319
211
248
252
204
241
218
192
166
220
255
242
239
193
160
246
192
180
274
269
231
283
178
259
201
166
290
236
324
258
209
180
206
310
286
213
203
223
235
206
223
165
175
211
335
180
222
281
249
248
231
268
172
174
259
221
286
259
160
234
255
205
261
114
229
182
213
296
218
281
168
200
206
282
213
212
197
235
191
348
299
163
213
227
250
270
231
241
242
229
211
306
227
206
215
217
254
302
214
249
184
201
245
349
240
220
237
184
260
236
192
267
290
309
227
195
161
187
170
298
266
290
222
231
212
296
195
263
247
239
174
204
210
246
170
247
242
162
190
309
249
160
217
216
212
334
267
230
190
184
325
310
176
166
201
270
231
158
241
217
208
220
173
281
268
213
303
201
207
193
173
250
239
216
178
190
228
256
240
160
202
184
333
228
233
217
214
178
261
274
180
213
282
263
219
152
264
275
208
190
232
290
254
270
238
174
169
250
192
160
255
245
133
225
208
197
249
282
292
268
182
259
207
238
245
279
214
264
114
268
268
258
199
284
288
210
199
146
275
114
191
205
169
234
171
279
194
213
247
230
277
260
242
227
238
233
211
200
215
279
187
209
215
316
191
248
221
243
246
160
185
208
243
220
114
213
214
263
253
196
290
238
205
209
233
187
202
279
256
173
256
239
258
268
221
331
170
166
275
221
205
204
292
259
195
216
215
205
274
181
184
311
157
193
212
237
217
232
223
114
215
214
240
260
211
232
285
253
241
154
243
198
225
253
202
291
218
243
306
158
192
199
195
243
198
285
126
265
273
232
174
176
173
306
213
333
251
183
192
306
198
179
159
207
186
216
215
319
259
271
223
191
276
252
299
310
178
230
237
205
206
271
190
231
247
243
225
208
231
206
218
217
167
161
277
205
194
214
219
232
209
178
250
303
231
192
339
186
199
180
260
238
244
182
204
241
230
301
235
226
273
228
229
260
195
283
252
196
225
299
192
230
171
121
214
286
205
173
274
200
218
203
247
208
204
215
228
255
233
293
206
151
139
239
192
259
258
320
202
236
173
190
227
198
207
172
181
234
217
172
239
209
244
219
251
291
261
214
197
189
270
214
175
206
276
273
243
227
288
274
276
174
244
209
249
143
149
218
210
175
197
251
182
222
285
189
241
315
278
233
217
212
175
208
190
178
241
221
205
236
261
232
185
193
238
209
289
168
287
259
195
169
212
204
210
229
122
252
263
277
187
236
217
255
183
267
287
191
224
226
160
251
255
277
326
174
223
250
257
256
173
224
200
246
253
205
284
160
247
200
208
223
248
226
264
247
194
267
256
211
258
261
201
163
306
216
252
255
256
228
114
171
241
173
258
234
322
174
175
194
376
215
180
288
200
211
222
232
264
108
232
189
218
227
241
243
180
205
281
177
263
238
156
232
247
156
258
257
297
210
160
271
202
310
182
203
273
193
233
210
234
137
188
209
234
177
269
146
252
149
220
158
262
201
238
181
199
319
265
196
233
241
225
290
256
244
114
203
240
221
252
175
267
285
255
249
199
189
198
215
226
229
244
285
236
245
209
205
208
267
193
250
280
356
285
258
206
177
231
190
220
269
179
153
194
202
189
240
198
173
201
265
217
210
280
211
227
254
226
340
238
219
219
192
187
252
271
224
202
175
139
204
232
228
270
262
223
189
293
215
222
170
215
173
253
281
200
319
188
162
166
262
194
287
251
258
211
244
165
260
199
196
235
181
207
212
228
248
247
291
259
203
217
288
183
254
213
284
238
248
273
216
186
243
228
276
221
253
270
293
170
214
230
264
206
197
156
274
174
216
114
160
285
245
201
270
318
231
212
211
224
241
147
114
256
198
181
302
218
181
190
261
234
320
241
273
235
262
219
195
192
152
198
170
250
239
276
235
260
194
241
284
192
284
249
157
260
245
192
230
190
277
222
233
280
235
198
251
214
166
261
248
329
192
156
269
176
163
264
247
223
215
249
269
221
235
145
205
199
258
217
254
253
189
265
187
267
264
217
252
181
276
212
210
254
242
241
184
219
246
156
285
242
253
277
221
254
175
173
181
189
163
242
174
173
255
289
312
203
178
236
222
224
200
278
195
220
211
191
320
259
293
250
220
226
226
270
247
147
255
321
171
216
208
198
151
282
206
306
165
172
230
192
209
235
286
158
265
180
218
174
271
225
239
255
243
187
258
309
307
245
256
196
274
200
279
197
241
152
261
232
190
299
181
213
231
275
194
238
303
108
229
195
275
219
250
276
249
192
363
330
263
176
195
216
239
233
270
283
262
229
157
273
305
239
175
218
108
220
252
139
235
192
290
273
255
250
207
225
158
231
263
230
173
151
231
259
267
226
243
195
144
180
158
178
216
234
227
209
223
165
342
278
258
268
171
331
249
182
114
236
284
216
280
363
276
170
229
225
293
191
292
218
283
126
195
225
185
262
253
230
223
226
257
178
277
275
173
211
309
221
186
249
241
245
243
178
167
156
204
163
211
181
226
151
289
194
295
249
219
175
228
174
220
204
251
234
201
207
114
268
182
208
202
255
261
181
190
208
184
312
248
235
162
241
180
235
302
205
169
174
192
289
166
191
235
196
183
188
217
253
168
239
243
170
266
214
190
282
211
244
286
275
258
192
314
236
206
193
215
196
176
197
162
201
191
232
189
203
261
239
185
234
160
188
316
199
226
280
214
244
154
294
187
244
144
206
211
252
239
251
256
192
249
197
213
218
232
175
235
279
237
232
192
209
262
185
251
258
226
173
259
181
149
232
223
189
312
271
290
206
162
198
240
298
255
173
206
254
194
270
196
225
178
275
295
192
218
282
200
239
159
284
164
183
204
191
233
277
288
192
284
184
273
283
349
197
235
114
218
304
222
257
161
114
188
172
276
206
116
283
206
186
152
305
276
209
263
230
208
269
178
205
192
204
266
201
232
223
237
145
167
232
277
208
188
225
226
253
261
263
282
183
215
271
269
239
218
232
287
196
329
264
126
212
260
212
156
222
251
209
251
177
215
207
185
191
220
175
221
181
197
205
214
187
170
162
176
204
162
192
181
183
189
217
243
185
158
178
258
241
295
183
207
244
184
201
236
195
195
190
276
219
214
208
188
313
218
157
217
156
187
161
168
270
193
230
209
193
277
235
255
221
275
260
237
206
170
284
245
213
170
203
232
198
203
333
126
202
170
199
275
211
214
260
114
201
253
225
212
167
254
250
195
268
252
184
205
151
240
154
246
178
185
222
139
139
221
190
194
219
267
258
152
300
161
161
228
230
276
188
211
114
236
269
209
168
247
216
164
235
236
323
246
279
319
218
216
233
321
248
203
273
165
234
234
221
191
240
219
224
177
244
174
247
210
130
198
225
224
228
212
265
186
202
268
205
258
219
236
277
282
201
229
237
167
193
301
228
188
234
168
203
184
305
201
192
245
295
228
183
277
139
264
215
325
258
196
215
199
170
247
226
196
206
228
233
254
265
232
207
253
286
190
114
164
241
161
227
266
210
203
218
258
249
272
264
108
243
152
269
229
258
220
234
179
241
180
218
238
264
313
174
203
217
175
211
261
215
261
175
230
169
198
269
274
306
175
185
214
252
216
221
259
193
256
198
185
152
201
227
223
251
214
226
234
287
166
183
199
181
270
323
180
257
266
217
248
200
162
311
182
173
206
304
319
235
284
219
185
250
208
192
200
210
296
174
281
174
257
245
248
178
238
286
281
238
224
160
313
156
188
167
188
178
220
282
217
204
279
239
362
231
139
241
215
144
149
227
272
244
208
250
219
211
258
173
213
225
219
318
114
319
233
218
223
198
243
213
284
218
241
272
243
235
333
237
200
209
273
277
160
251
208
255
223
146
252
212
199
141
253
193
255
214
134
262
259
192
223
114
129
156
229
180
265
114
266
227
155
160
205
276
286
308
182
178
151
196
193
272
204
313
352
265
274
230
248
294
213
349
193
265
219
259
198
220
203
214
213
244
146
219
348
231
189
260
147
244
215
170
237
260
173
334
323
258
203
181
277
210
276
223
269
310
236
307
253
267
254
327
203
209
170
223
253
230
212
166
215
242
232
226
162
188
253
193
180
209
252
215
235
261
198
148
283
262
228
320
174
181
161
235
222
215
259
213
243
225
259
199
214
218
209
184
219
266
302
285
244
285
192
230
218
260
286
237
221
215
288
225
221
238
237
224
126
209
292
224
196
226
293
340
213
269
255
177
238
243
192
231
246
192
200
207
265
208
263
186
182
320
212
226
169
279
241
146
194
344
197
268
201
281
145
176
256
228
221
225
239
282
263
252
215
193
192
320
159
196
268
192
191
234
126
177
205
237
254
301
156
185
252
167
242
187
201
211
197
186
185
178
295
192
292
236
256
260
202
224
230
257
151
248
266
183
257
231
329
200
175
152
325
279
174
323
186
166
203
232
231
236
177
266
220
257
130
238
219
249
248
218
178
247
281
215
202
186
176
236
301
214
185
243
252
236
214
179
236
284
252
339
192
219
265
229
230
261
231
169
225
194
193
254
201
194
267
156
197
248
280
262
281
182
247
216
276
262
269
163
238
213
174
205
291
173
264
334
292
276
289
355
151
240
273
201
231
189
240
200
188
252
252
273
174
249
196
225
249
180
300
241
238
271
277
238
285
237
211
227
215
236
206
178
201
197
114
215
286
250
247
234
213
187
235
173
182
286
204
160
218
160
223
195
188
202
174
219
241
199
223
226
219
156
177
293
199
246
236
275
189
215
307
232
273
252
114
248
219
184
153
204
235
249
177
257
198
191
250
152
184
186
201
229
223
207
190
183
167
248
216
247
222
184
298
250
211
187
254
232
222
267
185
248
237
173
208
238
282
200
152
266
312
253
229
224
216
186
197
344
114
248
304
297
202
336
240
243
220
282
253
241
256
152
186
206
254
211
227
198
149
198
256
237
207
188
189
193
214
205
272
248
190
198
244
326
257
191
259
262
210
293
280
266
152
181
242
219
274
220
241
232
188
170
223
282
356
263
227
293
344
169
114
234
193
298
244
185
213
160
198
229
232
206
229
181
106
185
231
165
207
269
205
200
266
231
174
240
193
237
255
190
266
176
244
190
285
202
239
311
204
284
201
320
210
178
180
209
172
237
256
196
178
211
270
213
240
222
300
192
230
154
154
197
315
126
194
142
161
223
211
199
326
306
298
241
222
243
229
246
272
184
292
209
195
235
207
238
230
229
277
290
166
217
224
220
134
213
173
206
224
241
242
316
217
189
298
214
245
219
236
275
164
243
226
247
171
255
264
325
228
261
281
287
212
199
208
180
133
245
195
216
196
291
266
171
161
195
233
223
166
273
217
191
235
278
228
114
298
241
176
236
232
232
199
206
262
306
152
156
297
218
245
280
205
234
281
177
226
274
177
206
193
170
231
129
207
191
247
194
223
256
292
262
196
191
188
213
269
184
182
200
191
238
214
247
177
220
210
192
254
237
231
215
192
197
211
248
231
285
227
221
235
191
257
225
114
215
228
222
211
288
198
229
166
253
144
170
220
181
196
175
208
213
250
246
243
241
181
176
250
251
205
205
238
225
204
269
154
173
182
114
200
212
234
179
358
232
194
241
271
216
195
262
238
264
190
168
242
199
221
178
220
262
203
223
243
204
198
216
232
217
206
272
144
218
208
228
189
261
222
220
305
254
198
242
269
299
295
274
196
233
179
304
263
208
258
253
173
189
176
278
211
160
214
207
193
193
261
156
236
234
205
250
214
245
203
216
196
151
177
238
208
204
246
236
189
205
185
273
158
185
247
223
191
166
241
237
258
247
283
194
179
175
174
271
200
179
301
217
242
160
284
218
173
223
184
377
263
237
292
227
192
149
292
170
224
240
247
197
247
259
196
303
258
223
160
167
225
200
167
244
230
192
182
181
258
377
230
283
227
236
211
274
210
221
169
269
260
238
221
192
218
184
188
175
219
219
272
174
234
265
160
206
176
291
253
193
258
221
284
265
251
236
209
240
184
205
249
241
228
276
172
197
191
192
234
259
222
270
241
224
214
126
238
275
228
151
305
250
281
392
203
193
230
199
202
147
191
174
269
216
278
193
271
224
308
224
280
128
235
227
251
204
246
235
208
159
296
273
268
239
263
114
240
257
236
213
222
226
297
268
256
252
204
233
286
178
149
371
284
192
233
214
215
244
155
205
262
270
258
173
253
247
255
309
214
196
242
228
231
198
207
185
149
214
205
214
297
200
178
235
247
172
238
257
254
276
181
227
295
213
244
265
177
280
232
161
247
227
309
269
278
246
258
367
242
218
236
213
310
192
263
292
244
283
201
218
192
235
268
263
308
252
231
296
288
247
190
222
260
175
258
232
329
202
244
146
231
234
229
187
260
245
259
222
270
201
146
208
203
263
277
218
207
184
274
231
257
235
278
260
228
315
226
208
198
215
192
223
203
190
266
174
213
266
250
181
181
201
197
192
310
207
276
198
263
199
287
156
172
216
176
183
156
304
280
234
238
175
184
232
317
152
231
288
156
285
116
223
208
160
238
240
254
222
243
226
176
237
251
273
154
263
225
297
209
267
275
144
215
278
155
220
234
171
214
271
313
254
243
200
234
227
235
274
227
338
249
252
252
299
134
165
285
181
307
198
218
214
264
222
273
253
248
227
237
181
202
153
217
227
170
234
219
278
192
352
303
175
233
184
309
286
225
262
261
236
223
260
206
186
258
218
232
149
309
246
229
219
204
265
220
222
223
247
171
205
235
211
182
219
262
275
301
244
121
273
231
275
269
238
256
298
287
225
240
225
315
225
254
217
227
237
282
209
197
219
245
228
250
178
269
237
296
191
222
129
227
270
215
218
202
246
265
207
247
195
211
144
243
284
162
205
211
221
259
207
351
256
126
116
154
241
158
180
160
189
268
197
188
170
139
196
211
285
207
225
249
173
243
208
130
275
148
206
199
236
205
167
283
233
231
248
218
184
259
268
179
266
228
275
270
203
264
192
206
178
249
216
156
222
245
193
215
179
204
243
246
227
240
160
276
156
244
229
237
166
198
207
243
215
233
226
195
200
194
208
209
248
286
259
305
206
226
165
194
250
180
245
234
249
258
190
257
232
154
319
200
170
188
225
226
231
202
229
299
247
199
260
216
201
225
228
367
259
242
209
226
234
173
242
181
255
266
230
177
197
181
242
201
228
248
227
238
173
270
266
224
207
280
295
157
253
249
285
249
223
230
219
188
270
228
311
139
209
280
251
236
283
206
198
239
285
236
293
170
258
189
228
225
243
264
278
233
272
211
205
214
234
274
313
214
203
184
159
170
231
241
228
181
224
288
277
218
255
184
227
258
170
245
190
274
286
224
261
266
160
222
276
234
149
214
197
220
275
231
215
114
194
183
215
294
264
238
268
206
249
241
264
239
220
286
139
276
214
290
253
283
161
236
202
292
224
220
232
184
192
320
260
249
193
168
227
218
220
158
173
273
230
258
152
184
180
256
175
234
224
256
217
213
209
236
255
162
228
243
279
161
275
285
234
190
193
220
232
223
286
287
248
282
218
265
198
222
198
215
238
227
210
203
313
174
192
343
184
189
148
248
211
215
228
215
212
251
172
269
301
229
270
150
233
173
160
173
211
342
243
114
283
217
263
209
213
242
237
163
264
236
229
269
332
181
287
189
231
178
219
281
135
206
173
245
240
180
230
181
208
209
236
231
247
207
215
203
279
170
183
253
250
243
222
213
200
232
275
236
220
236
260
231
170
230
175
248
284
114
212
207
226
178
263
252
152
216
249
198
324
161
237
254
176
198
256
207
241
258
203
211
286
216
180
235
260
169
231
199
235
190
233
114
222
222
167
295
181
251
227
207
226
141
147
244
211
241
239
175
248
284
170
167
269
160
218
257
272
249
156
210
171
254
201
233
258
200
233
214
214
243
248
300
240
251
260
243
154
168
165
287
213
275
235
225
239
160
210
114
189
239
261
232
227
225
245
181
225
147
285
156
170
238
239
235
195
193
304
260
178
302
287
272
212
244
206
211
268
181
305
354
286
224
178
261
108
278
183
230
282
114
276
275
258
291
216
177
176
160
220
181
173
215
211
229
240
144
181
209
261
247
191
230
251
191
195
126
310
226
268
205
169
170
177
151
218
235
236
264
212
215
176
194
280
267
174
257
114
246
275
233
263
285
222
246
211
161
245
189
245
276
262
188
154
183
228
231
235
217
168
184
228
169
319
267
244
219
197
236
228
201
158
178
222
148
195
222
233
290
275
186
240
236
225
213
289
225
261
264
262
278
146
193
239
214
234
275
262
297
184
264
260
251
178
229
218
238
212
279
285
249
106
270
185
169
160
218
300
250
212
288
269
212
263
184
194
224
244
241
278
230
210
288
252
202
235
280
268
258
277
219
332
250
241
234
252
291
234
269
249
246
178
331
116
189
236
175
116
191
237
247
241
288
259
280
252
185
288
185
121
209
225
293
158
208
152
269
209
211
160
284
231
254
114
269
227
187
234
247
237
235
218
230
230
187
173
230
202
243
234
236
211
192
197
196
241
276
221
257
220
145
280
156
252
266
217
221
294
226
290
295
172
202
147
183
181
231
156
274
241
231
295
250
213
211
248
249
160
278
208
245
242
207
198
250
174
187
264
227
220
278
239
264
266
220
231
225
301
251
275
209
271
198
231
228
199
225
231
213
245
260
305
207
229
233
161
256
193
167
244
342
208
173
178
154
240
224
222
196
184
220
188
196
231
264
284
208
273
248
259
208
225
114
228
159
277
255
257
185
160
156
181
201
194
284
237
223
262
289
173
206
211
229
275
182
192
215
241
184
203
114
247
207
179
233
209
182
266
214
148
217
195
215
249
235
207
160
200
114
193
245
203
270
184
173
260
219
158
170
212
250
174
133
166
244
208
191
205
245
227
283
205
192
295
185
257
202
174
195
226
223
219
259
198
224
236
299
257
200
191
279
205
176
232
231
173
158
199
305
221
200
329
114
257
247
269
285
212
329
165
255
224
214
139
254
186
192
228
192
194
217
144
220
209
235
222
178
198
173
156
266
304
316
245
290
212
308
181
195
268
236
177
179
242
256
193
304
284
228
242
227
193
159
215
233
261
251
235
232
207
212
257
175
180
218
267
194
203
154
189
252
261
200
232
202
198
238
334
332
265
171
188
265
178
182
193
189
236
250
298
207
255
281
151
222
180
229
114
200
161
152
211
269
228
262
183
300
229
228
185
176
221
191
320
211
197
244
322
260
194
274
223
198
264
202
275
190
229
204
229
287
170
310
194
208
222
260
167
160
300
300
208
290
272
210
240
233
148
198
188
261
214
250
215
216
216
219
266
324
223
144
181
188
205
226
181
179
253
184
243
183
176
242
265
178
269
227
275
233
233
184
214
152
233
266
259
307
162
181
262
205
234
200
280
216
177
322
258
283
262
282
263
267
160
236
289
244
181
211
197
192
207
203
283
267
228
213
265
209
267
260
224
164
180
290
286
195
160
261
242
264
177
154
243
251
161
242
186
158
188
215
259
181
299
225
254
222
215
237
199
247
169
234
203
202
253
271
175
195
221
310
162
205
230
224
270
251
252
229
226
185
168
176
195
281
229
170
145
230
227
335
153
224
203
243
184
258
174
173
247
324
285
296
294
169
200
202
220
216
266
231
293
256
252
249
175
249
182
245
175
176
258
167
220
231
217
259
198
195
164
160
265
220
222
183
192
245
201
261
178
241
257
270
213
238
272
269
156
211
195
216
260
210
273
198
219
258
218
288
108
317
255
322
254
169
168
159
263
259
206
196
178
212
237
294
208
201
251
306
261
230
223
228
216
262
168
199
195
287
282
175
226
223
247
227
174
200
220
224
236
237
184
251
300
242
266
256
206
218
159
264
276
234
198
199
166
266
220
177
169
203
284
234
225
236
219
231
244
271
243
205
289
258
237
181
199
198
264
206
175
203
189
177
216
229
264
227
309
217
233
225
152
263
162
233
252
279
217
290
272
283
292
244
215
229
284
250
209
272
126
234
194
271
184
211
290
214
219
198
281
228
219
200
219
188
256
216
277
142
215
195
244
279
225
297
244
292
167
250
276
236
237
294
198
239
241
260
260
201
239
194
267
255
205
271
247
239
233
200
197
208
371
226
249
219
207
228
129
249
222
198
229
209
283
139
233
199
195
163
192
198
216
236
298
114
230
274
260
170
253
292
218
221
328
214
210
165
222
245
206
218
266
262
278
191
247
226
263
169
161
235
193
158
210
198
158
201
242
222
188
351
175
106
198
272
277
316
242
240
202
226
193
253
195
241
220
209
262
194
271
207
192
239
176
152
229
213
200
269
264
246
224
254
190
218
276
166
181
211
243
130
195
201
243
227
209
256
190
171
236
243
226
216
269
149
220
237
188
223
211
295
253
198
207
185
231
259
262
194
221
173
275
267
198
235
243
255
169
181
265
168
200
222
286
210
201
247
249
273
221
227
310
253
238
231
239
243
173
214
242
198
248
208
270
219
246
272
255
313
218
252
214
290
182
121
185
253
275
196
206
126
220
239
286
321
178
232
282
222
196
194
208
249
221
244
202
158
256
234
176
229
233
223
262
247
200
242
234
245
174
170
214
279
348
270
256
170
253
243
231
146
255
235
272
242
207
182
277
263
275
284
289
226
208
184
172
186
176
189
177
198
209
270
194
247
235
197
235
225
233
217
170
269
219
214
293
173
263
310
231
277
285
235
308
237
222
219
188
231
178
222
223
311
200
249
264
232
261
211
275
193
278
239
263
246
181
331
195
286
212
196
197
182
242
180
193
114
209
261
198
178
246
208
233
176
240
213
224
224
159
247
188
244
251
192
254
195
233
241
218
235
201
204
242
283
206
199
180
246
186
198
223
228
295
239
158
208
266
178
211
190
212
289
180
252
247
239
224
222
241
305
173
202
154
255
231
263
376
261
273
208
242
175
206
211
188
232
190
288
198
203
163
220
217
186
286
175
253
278
180
161
199
220
317
233
130
238
194
174
182
241
262
248
187
175
259
244
262
215
219
209
313
301
204
227
156
200
250
195
245
202
244
205
195
178
253
244
233
207
254
230
156
170
154
193
211
244
205
264
212
219
129
145
175
258
188
170
212
323
246
280
303
285
195
215
225
285
149
262
170
275
223
211
211
265
195
203
241
230
174
215
233
255
218
221
160
236
191
242
288
219
198
195
273
256
235
152
169
251
191
226
291
226
214
258
306
243
221
250
194
238
252
191
220
201
267
218
324
248
232
265
252
262
207
215
258
200
179
213
181
230
195
226
235
284
225
206
196
194
233
225
192
289
247
188
214
300
154
218
114
261
213
242
209
212
269
244
266
209
284
194
226
170
249
282
258
156
216
160
231
235
202
152
173
234
285
217
282
309
252
229
191
184
169
257
222
255
247
257
219
190
224
235
163
160
244
215
265
248
137
278
189
250
315
148
256
325
160
249
213
280
231
214
218
234
157
181
262
229
247
258
212
202
206
267
225
156
246
183
192
176
292
275
198
206
308
272
264
188
177
217
208
215
233
170
266
197
296
205
280
267
204
162
162
220
277
199
179
197
228
252
216
217
188
299
243
274
215
220
229
233
261
260
175
227
232
255
266
209
156
215
289
258
202
235
218
219
198
221
272
205
246
188
297
249
173
213
223
214
126
170
188
184
181
272
217
309
205
268
144
275
269
173
214
258
247
225
285
324
188
244
261
197
220
154
215
248
187
184
260
340
239
226
170
262
218
197
250
227
282
269
320
180
246
196
240
230
224
220
199
279
240
272
246
295
242
173
237
231
235
174
175
215
197
168
204
236
173
244
160
249
257
242
206
193
216
265
316
250
225
202
197
244
181
232
272
295
168
189
206
162
274
156
366
203
218
245
209
295
228
221
268
175
281
215
275
184
178
174
191
212
233
228
238
248
279
230
141
239
298
206
216
286
218
313
186
198
262
297
306
242
268
204
220
232
216
271
198
174
257
258
192
198
192
223
160
269
265
263
160
235
222
250
191
230
203
320
228
255
189
187
222
175
156
180
283
198
232
210
259
170
291
274
231
221
225
223
216
220
286
279
198
223
198
270
299
229
146
192
204
276
225
238
261
173
222
260
271
284
205
180
210
209
195
180
231
198
309
169
233
184
293
217
229
190
280
190
218
208
233
218
152
239
151
246
151
215
183
216
215
214
233
197
278
188
207
232
261
244
257
236
311
160
285
158
189
241
234
181
202
203
135
234
158
320
270
234
215
156
244
249
207
178
212
265
201
252
210
222
217
245
215
231
196
218
267
211
160
244
244
216
248
175
132
156
170
270
222
172
228
309
234
183
252
177
222
224
178
246
282
281
232
282
178
217
173
222
253
231
220
179
228
186
165
169
227
243
276
258
209
220
179
279
145
270
155
196
256
236
234
181
279
223
250
286
175
244
200
264
181
192
246
234
196
192
285
201
225
175
293
286
166
284
174
243
245
165
158
244
202
252
203
188
211
210
235
274
268
300
230
206
221
249
176
242
160
216
165
147
221
239
191
227
286
288
243
181
191
248
324
222
243
280
191
278
197
175
173
220
245
212
252
238
227
179
198
224
309
219
293
214
219
203
246
238
238
184
307
263
182
235
241
255
114
145
221
175
272
224
282
232
161
248
269
330
194
224
223
194
208
280
214
176
240
225
250
232
269
233
311
245
225
248
256
258
194
197
255
270
226
175
190
196
235
253
260
298
192
261
156
223
227
315
265
210
253
211
157
208
267
268
154
201
199
244
233
189
157
280
200
233
192
266
288
265
266
225
137
238
347
173
201
206
211
198
183
249
252
217
172
191
154
179
188
210
268
249
244
300
162
195
234
234
239
199
185
193
146
160
210
233
246
164
214
179
209
244
181
202
197
282
256
261
288
215
176
267
283
280
222
205
207
293
165
209
306
226
298
226
278
130
173
255
161
185
208
191
256
164
233
277
241
219
238
244
205
248
169
231
229
302
267
238
212
227
181
339
240
189
259
191
209
283
321
212
228
308
152
165
190
190
240
231
266
274
179
223
231
166
221
251
228
217
162
215
285
164
280
233
198
184
219
228
234
256
239
291
151
196
214
261
288
257
285
202
176
200
198
195
170
191
255
382
216
219
303
286
214
283
277
262
332
271
215
181
274
254
287
239
217
213
309
195
247
191
202
214
196
215
169
222
170
198
177
281
219
207
263
213
230
266
174
231
221
210
253
274
243
258
289
170
228
205
208
220
252
231
152
248
275
245
227
242
114
258
253
207
271
224
243
208
248
221
200
286
251
289
195
223
247
175
245
215
238
206
192
221
229
222
256
291
212
235
175
171
253
156
199
114
219
261
108
206
192
186
221
201
206
317
183
184
289
262
224
202
244
230
277
232
307
210
180
251
268
246
204
246
139
220
176
203
242
189
267
216
198
228
275
166
208
249
167
213
332
179
284
206
133
201
235
231
175
224
177
213
146
126
250
178
195
195
247
304
217
272
181
253
252
186
178
227
211
209
297
247
193
209
172
170
160
257
200
175
252
241
211
247
293
202
229
233
239
233
250
227
216
238
228
208
260
234
226
265
266
234
254
315
280
305
251
234
231
244
249
323
256
224
196
218
226
178
193
226
173
202
288
233
202
170
242
251
184
198
233
280
170
191
238
177
285
261
222
235
228
289
231
285
121
254
187
248
236
306
205
184
198
212
309
152
114
211
179
233
231
220
196
274
207
232
284
241
282
242
363
218
218
237
230
197
214
258
278
209
194
255
270
176
168
147
196
160
198
289
206
258
365
213
237
197
230
232
269
281
186
243
161
200
227
222
126
171
194
178
289
262
222
181
234
237
164
225
178
126
246
215
297
160
227
248
226
163
151
201
172
212
235
234
157
253
282
223
208
192
173
222
231
230
193
198
267
202
192
221
270
144
271
176
159
272
213
273
226
267
308
221
324
197
241
214
210
234
243
168
197
216
233
149
197
252
266
183
181
204
206
213
271
259
245
160
226
293
160
200
192
219
223
265
266
206
283
223
195
191
247
214
208
252
279
261
204
201
288
195
306
229
223
268
183
232
231
245
193
201
267
182
175
245
249
281
222
219
167
210
252
176
290
240
232
248
291
252
306
264
173
303
183
201
250
210
266
163
196
257
260
237
203
221
290
217
205
187
208
177
198
251
207
212
225
222
241
270
193
170
265
269
223
302
175
155
267
220
227
175
198
197
236
236
218
198
204
189
231
168
206
218
214
253
253
209
219
226
145
167
258
205
247
284
250
239
259
202
214
212
210
221
238
308
149
224
239
222
251
222
114
192
280
258
232
248
194
288
314
265
268
182
191
280
231
242
197
206
235
254
187
208
253
296
220
207
200
203
246
243
225
203
218
207
269
178
173
165
235
205
205
229
285
212
258
170
192
217
258
208
221
249
240
183
239
170
198
210
249
201
258
164
158
282
182
325
174
182
204
215
198
267
190
219
288
233
231
261
203
200
208
246
161
357
218
217
273
236
285
157
208
183
234
260
283
236
214
258
210
246
218
254
322
192
249
253
223
254
252
249
231
271
209
177
235
254
222
257
186
273
285
210
151
183
198
229
245
198
247
242
191
183
114
232
256
200
252
165
184
191
218
198
250
202
244
228
199
244
291
212
145
262
145
233
181
197
149
250
221
271
270
261
269
126
154
212
165
181
306
245
106
256
211
226
169
209
166
182
242
281
252
224
221
196
344
255
221
230
189
215
254
170
304
175
288
200
227
263
194
278
192
218
209
223
153
180
181
288
207
212
212
249
213
311
263
178
272
196
220
227
227
270
274
247
267
240
212
175
206
249
179
233
261
290
205
204
226
255
158
213
253
204
257
288
194
277
175
196
216
282
114
271
239
233
191
207
234
156
238
258
201
177
283
114
224
234
198
215
203
280
173
183
251
220
203
212
163
265
240
173
249
196
227
213
177
209
222
287
252
223
293
191
282
128
213
257
202
202
208
198
234
303
228
268
275
169
221
252
272
203
179
257
165
241
209
196
261
217
293
225
238
213
234
227
203
165
188
161
160
207
210
210
219
236
215
219
186
299
174
266
183
237
244
170
248
209
202
251
180
208
275
261
178
266
209
233
215
175
293
229
114
182
178
185
195
221
279
211
278
245
283
279
235
181
226
178
172
270
242
238
293
176
260
259
256
178
170
333
185
272
174
162
340
286
258
264
226
271
199
217
235
181
228
274
221
303
224
267
242
272
198
164
185
288
198
210
235
309
282
161
331
239
289
236
154
240
219
216
301
167
254
218
325
245
164
229
266
268
258
235
245
228
278
235
208
249
294
209
156
335
197
233
238
224
189
259
254
278
182
253
234
298
231
245
114
207
225
114
200
158
158
209
212
191
269
255
178
294
217
246
206
269
266
249
238
199
193
174
200
254
256
288
216
254
244
260
272
181
192
216
197
233
264
265
156
299
273
208
338
223
229
301
175
248
242
300
277
231
199
254
195
284
310
230
282
230
244
267
182
218
273
209
214
231
240
233
230
227
255
318
156
222
203
193
243
243
232
158
175
246
188
278
252
249
202
297
228
154
270
220
158
201
178
335
293
162
214
296
223
270
363
212
218
191
259
181
266
281
174
244
300
254
244
237
221
200
186
260
177
273
173
235
192
220
261
198
218
170
175
165
202
235
254
211
198
276
274
192
204
249
310
282
206
186
198
242
275
207
183
250
255
233
198
194
232
235
160
201
279
310
167
280
273
239
265
240
266
173
202
175
315
253
179
227
212
241
208
268
255
223
263
212
183
295
203
242
262
213
242
227
223
215
223
316
271
246
233
185
250
206
238
188
160
225
179
233
199
244
176
289
303
230
209
213
170
259
256
253
236
185
231
192
258
244
187
309
283
174
196
201
219
291
240
246
236
262
270
246
282
214
152
199
240
310
211
201
181
226
195
160
204
166
179
281
158
244
281
279
356
266
246
201
173
251
253
267
281
263
179
206
311
294
184
187
266
191
220
206
245
247
170
252
244
181
139
205
273
215
202
282
200
180
170
281
179
290
173
252
237
222
180
222
185
331
203
208
201
253
230
197
299
175
200
317
239
261
236
271
170
242
254
240
195
248
246
179
201
259
200
249
248
203
329
168
284
250
224
272
258
142
274
114
230
230
334
164
241
255
229
270
285
196
231
246
279
114
293
249
286
242
239
175
219
202
240
114
235
249
234
178
255
286
204
238
177
262
245
188
202
207
114
207
192
273
278
247
236
258
223
224
303
206
215
186
201
270
209
239
232
266
193
229
273
234
298
226
211
315
243
258
261
296
193
221
152
304
232
246
231
203
192
212
247
204
211
198
230
247
234
215
297
268
178
178
267
262
192
204
247
208
242
295
240
209
205
206
272
196
254
242
166
208
167
198
288
122
293
205
213
259
228
225
286
165
251
242
239
187
164
185
224
191
212
211
207
206
216
180
205
254
298
224
201
173
192
188
265
191
223
260
198
200
187
226
262
277
167
270
152
175
234
193
268
215
169
228
325
242
275
181
175
220
249
152
275
279
200
263
162
198
223
234
218
156
242
198
206
227
200
256
217
208
218
232
175
187
170
208
335
226
236
207
240
213
192
178
207
263
262
234
175
229
227
193
218
252
108
242
231
307
346
254
231
263
270
239
226
274
158
218
204
195
179
216
358
240
236
242
196
158
324
238
240
170
204
219
251
193
194
217
204
200
196
230
246
266
195
238
219
296
301
249
209
299
205
213
208
178
233
244
250
180
258
214
238
223
214
296
226
200
317
302
211
262
287
219
250
203
201
324
166
229
184
221
261
229
165
245
222
211
189
145
283
259
211
200
258
188
261
265
147
278
245
268
297
270
179
199
244
239
317
239
210
228
228
237
204
208
233
195
270
134
278
324
114
270
247
248
189
198
270
157
214
283
215
178
233
241
231
232
152
296
204
198
179
223
300
218
276
168
265
241
227
254
211
185
238
275
160
285
178
222
217
264
239
198
204
191
228
186
156
257
156
252
170
223
239
239
346
230
175
260
221
267
270
257
233
225
211
255
232
156
185
311
232
219
257
199
219
258
294
245
210
151
254
245
267
293
220
224
242
193
208
178
191
205
201
265
190
226
196
242
220
267
230
256
227
305
148
276
224
211
225
172
304
257
258
261
255
158
183
165
243
227
234
207
308
232
231
239
162
241
177
288
283
181
199
247
195
236
149
238
238
226
213
247
173
184
209
270
176
264
334
234
252
173
144
245
164
274
241
237
224
233
236
144
217
158
213
222
151
172
285
161
253
220
161
240
232
198
230
248
196
283
173
183
233
162
236
261
114
233
234
160
141
151
263
266
235
216
220
218
233
310
282
191
325
177
272
170
183
155
234
175
251
284
193
253
258
248
179
256
252
277
197
225
298
205
232
261
162
221
225
242
203
180
176
252
239
256
154
215
139
116
219
243
158
247
296
197
269
240
293
192
184
236
212
197
166
206
231
322
170
215
269
205
220
288
218
188
213
209
165
252
299
154
218
264
219
173
236
212
194
264
243
221
243
137
262
330
244
250
246
191
207
277
212
231
139
263
259
261
204
229
221
276
284
246
154
202
181
160
192
207
246
245
190
165
170
240
237
184
224
161
208
251
154
228
183
273
241
228
218
257
260
261
237
178
283
212
252
148
221
261
171
243
202
290
181
211
220
238
114
236
220
180
192
267
187
184
294
235
161
139
282
166
203
262
236
229
225
173
243
145
326
214
246
267
296
226
243
209
225
183
263
242
213
261
152
264
247
239
212
284
198
243
247
156
208
220
247
372
279
172
176
202
276
208
349
213
114
207
227
252
262
259
204
272
241
177
259
249
246
203
254
236
233
220
322
267
197
260
254
214
254
177
256
214
268
178
213
236
217
180
229
164
296
341
239
256
134
250
202
236
197
198
226
228
227
233
174
182
186
155
231
309
214
250
165
182
329
287
203
252
194
323
219
196
211
189
277
298
244
262
226
235
204
261
222
225
225
206
181
235
286
257
256
223
255
261
156
126
303
207
179
215
282
339
272
170
206
205
202
126
228
240
296
284
198
167
261
254
229
253
181
219
306
182
196
301
282
260
224
221
206
245
296
295
260
215
362
272
215
319
219
311
252
238
246
226
247
255
249
312
195
280
304
229
311
221
240
301
256
261
192
221
194
198
146
224
227
255
186
265
234
296
185
327
154
281
219
180
215
241
266
159
201
230
179
293
258
235
218
203
299
257
253
273
193
185
241
236
266
181
148
274
255
195
163
292
155
178
195
239
211
282
289
246
269
228
176
272
229
249
250
205
279
237
236
219
189
229
188
238
187
166
243
244
236
208
176
287
181
219
239
281
195
261
193
235
144
173
170
207
186
241
263
259
185
234
208
255
170
274
166
281
239
222
259
216
241
291
231
203
214
214
231
250
264
282
172
257
253
246
245
249
270
219
266
243
303
252
202
299
291
263
250
246
237
208
185
302
305
201
212
114
220
215
203
209
164
258
239
219
224
177
236
194
311
250
230
226
160
267
246
229
160
268
312
289
215
265
271
189
230
240
161
220
211
283
209
178
180
222
279
240
259
220
214
162
212
255
209
219
245
241
144
189
224
187
240
199
337
265
305
206
291
199
200
233
244
258
242
309
276
211
203
229
261
211
242
199
288
174
108
178
181
194
170
184
315
175
248
284
178
270
166
201
281
295
222
286
239
244
239
206
227
203
255
211
243
330
280
202
190
167
250
239
192
241
297
328
287
169
293
199
317
190
255
228
262
265
220
198
260
257
201
323
253
193
198
242
253
221
241
247
266
158
230
161
286
189
285
237
247
224
192
209
178
279
224
203
152
259
156
217
236
218
290
137
257
205
145
175
129
303
247
189
229
341
207
302
193
145
234
239
191
192
216
227
165
200
267
186
200
196
295
207
172
236
238
162
230
303
252
200
257
243
226
198
273
236
225
230
237
258
228
230
214
161
236
114
170
219
240
174
273
249
252
220
216
308
135
264
234
212
288
204
179
268
195
193
175
266
271
318
313
309
294
160
178
286
286
239
208
313
220
208
237
216
186
226
254
214
180
263
178
271
242
265
271
211
208
234
237
330
255
114
278
190
266
222
200
271
167
240
220
273
282
180
208
166
180
224
191
126
165
284
280
253
253
217
232
268
165
240
292
235
299
274
270
198
251
317
307
267
179
285
209
276
321
258
160
174
283
186
204
304
217
198
219
156
234
249
222
253
245
160
260
272
237
223
174
289
194
292
250
191
179
184
180
241
195
148
242
251
214
234
181
211
234
214
227
286
209
219
223
196
252
206
262
195
274
158
229
171
249
230
218
193
223
234
227
205
213
202
188
207
243
210
196
236
262
221
206
266
126
245
248
226
160
199
213
243
182
220
278
173
210
160
239
227
282
227
202
196
261
198
252
259
156
237
129
241
255
237
165
281
225
307
179
210
242
266
160
239
227
247
224
318
291
184
158
247
154
204
234
247
227
222
237
252
286
272
286
246
168
225
170
205
196
190
211
238
253
170
191
189
161
198
147
202
258
181
204
173
249
258
239
242
250
246
314
246
253
224
196
181
212
247
230
228
204
201
254
201
194
185
214
146
244
190
211
207
267
313
253
292
261
305
269
326
319
156
208
259
229
238
162
264
210
243
198
222
286
244
190
219
224
213
297
277
245
198
292
152
250
262
271
156
234
225
308
238
292
278
241
281
235
201
171
245
150
218
324
289
192
304
126
152
221
229
277
211
277
215
221
290
225
139
257
220
232
203
199
149
249
226
219
198
263
173
196
204
146
220
221
175
237
216
230
221
152
215
114
203
290
200
234
289
191
116
294
217
256
214
246
260
266
238
220
176
278
185
246
226
223
212
241
262
233
271
244
207
247
241
176
158
331
152
291
230
243
221
179
324
249
297
176
222
201
284
194
191
255
318
351
215
191
242
252
257
260
246
255
200
247
249
213
228
108
249
229
192
144
232
342
259
203
193
219
156
172
242
282
280
215
220
198
224
285
165
198
277
188
260
171
182
203
266
198
193
106
211
255
238
216
305
367
198
239
178
152
157
252
202
235
179
191
302
186
226
234
114
228
114
309
265
256
160
300
257
206
187
178
190
184
214
199
210
196
253
242
224
275
209
197
285
242
217
251
235
239
158
285
220
227
215
235
196
242
159
213
250
218
229
198
279
263
145
245
243
246
235
248
216
255
193
176
253
215
230
271
252
288
331
178
194
224
215
224
148
217
259
149
297
194
160
152
260
179
173
250
214
184
325
214
256
214
208
181
197
162
169
202
188
207
325
232
260
243
305
219
218
243
220
179
193
222
305
270
215
229
196
228
169
246
227
243
245
241
190
210
236
228
255
177
195
254
228
193
289
276
207
211
248
246
193
170
166
198
299
160
264
241
262
207
282
269
224
262
240
151
244
252
212
281
239
233
169
256
253
231
233
234
144
193
233
137
168
310
263
240
206
192
179
241
190
234
209
209
234
222
218
161
229
182
149
220
167
208
171
195
214
233
279
273
220
227
202
179
144
222
232
269
252
239
242
239
229
236
240
266
248
191
194
203
212
210
220
148
202
180
213
289
251
245
276
218
161
266
243
305
280
340
232
198
148
197
183
152
239
202
243
276
192
213
197
170
188
241
149
182
279
256
248
211
257
236
231
165
165
152
231
195
283
241
195
217
291
291
204
114
208
236
150
251
188
249
242
219
213
178
261
213
195
161
293
247
214
240
276
226
174
251
245
116
215
226
196
212
289
130
205
198
192
247
233
278
286
247
187
172
160
306
231
255
299
185
234
311
184
254
247
295
207
268
255
178
258
282
179
205
253
198
230
204
176
245
194
205
209
235
288
217
356
160
225
177
251
271
158
160
201
213
165
267
223
152
195
235
176
213
189
182
216
206
178
208
289
209
184
195
206
203
241
207
220
170
260
302
296
254
215
145
218
213
260
300
276
214
244
266
211
256
279
304
221
145
189
220
233
196
275
173
236
196
224
158
327
332
238
227
260
108
227
242
258
208
160
194
176
213
160
295
208
211
323
191
186
141
200
228
255
189
225
207
328
315
225
222
192
180
249
294
254
160
191
301
296
271
114
160
253
236
199
258
284
270
232
165
231
162
219
232
256
271
244
218
241
178
236
256
349
211
257
227
254
282
147
145
263
146
114
217
205
273
204
279
152
218
228
220
316
151
259
238
250
182
156
257
205
196
215
146
158
228
284
241
154
173
226
174
183
156
228
122
213
203
287
257
135
271
225
208
230
172
205
245
206
214
214
216
243
298
204
292
229
238
335
238
237
114
209
269
211
160
218
286
224
265
210
193
317
232
282
178
195
297
239
270
129
247
204
198
255
275
297
264
280
205
306
162
217
246
173
190
239
211
245
200
215
247
218
165
281
241
200
213
263
284
218
257
230
189
250
250
144
223
213
190
228
217
262
236
280
215
274
255
230
148
227
235
211
266
257
208
245
240
238
162
229
245
203
240
180
172
235
241
243
236
160
259
237
259
240
245
249
223
250
144
248
244
263
274
174
254
190
292
174
224
227
262
317
297
215
267
231
168
270
209
228
215
220
219
181
223
156
270
235
245
220
279
296
221
158
254
256
205
263
286
267
237
244
172
240
268
201
327
213
250
281
226
185
228
300
175
185
230
258
225
250
215
266
210
178
155
277
197
248
195
114
242
305
221
196
264
203
283
286
217
258
264
193
177
263
211
260
192
248
237
206
166
192
200
234
151
241
226
196
291
200
284
277
171
164
254
212
220
174
241
219
218
183
171
214
114
145
165
222
156
173
347
206
304
198
206
206
309
152
224
203
232
198
204
175
249
202
212
146
331
280
232
260
309
199
215
198
250
221
248
114
198
210
317
203
259
252
218
275
153
240
225
266
234
253
194
198
259
185
181
172
192
251
287
200
233
178
186
284
298
216
165
215
228
228
203
183
226
337
231
277
155
126
221
244
245
169
218
247
238
209
247
246
220
220
225
174
254
327
189
220
253
222
269
266
187
297
298
260
236
195
216
208
249
260
152
191
209
218
279
181
280
160
190
281
296
179
215
170
213
173
208
145
325
241
201
288
185
241
240
279
304
192
219
281
192
345
149
247
198
189
198
238
327
233
220
174
246
280
242
167
215
257
145
221
291
196
145
170
274
194
228
222
256
258
152
305
231
223
241
213
264
210
250
151
278
248
197
191
259
262
228
269
197
265
198
219
323
219
197
247
251
252
204
230
189
274
281
292
154
200
242
209
252
239
179
197
231
193
191
232
253
318
255
260
248
165
209
114
154
234
230
188
202
191
198
234
276
282
225
196
215
204
212
161
214
190
234
278
218
253
233
247
191
205
176
309
223
231
191
228
245
189
252
170
272
187
236
170
233
252
221
311
291
228
235
181
263
207
258
144
230
121
207
180
186
254
173
248
271
231
207
265
174
202
275
293
233
208
114
169
255
247
261
249
209
211
162
259
199
258
168
294
282
224
178
178
192
199
259
228
189
199
202
215
114
299
146
170
277
227
208
291
250
114
217
255
205
350
267
178
231
229
219
175
166
230
237
214
207
204
269
180
284
207
178
211
157
270
207
275
164
293
180
186
241
277
155
262
194
219
200
203
281
235
199
243
195
167
191
262
231
160
266
213
198
244
174
257
229
189
203
230
261
221
194
178
164
235
283
255
238
230
236
247
238
254
213
230
133
269
299
231
184
176
300
272
220
247
169
151
166
257
253
212
248
241
183
198
188
292
291
260
145
196
241
205
211
191
230
228
198
326
181
241
301
287
226
156
260
186
265
297
269
184
292
333
202
188
305
317
214
286
180
244
288
250
263
210
265
187
311
228
204
225
307
229
208
284
247
248
237
203
282
255
185
181
164
285
228
231
205
160
223
163
266
178
282
166
209
212
181
179
159
225
264
201
208
198
222
327
204
156
266
222
234
281
235
189
195
249
185
192
160
242
233
223
225
306
172
306
144
266
158
259
241
224
260
146
262
204
216
203
200
210
187
272
223
185
114
196
215
276
254
266
218
239
255
175
332
190
177
219
233
227
183
315
226
171
214
257
201
217
273
166
238
250
246
178
260
202
273
169
233
254
256
116
358
198
214
174
145
228
201
221
192
242
162
221
247
229
219
226
215
229
224
216
241
213
250
311
215
271
258
291
116
218
277
280
177
178
202
242
231
210
203
234
178
193
238
184
191
233
303
194
179
152
292
163
205
208
243
233
222
225
291
344
213
156
245
286
263
192
196
223
188
198
232
210
288
295
170
282
234
225
270
245
250
246
237
253
267
175
220
250
191
114
181
194
278
245
258
190
166
202
280
225
218
211
231
217
198
244
114
173
196
177
221
223
263
180
312
232
240
235
250
200
228
220
241
254
206
210
235
283
249
237
253
249
246
237
207
164
299
251
265
262
212
151
278
293
261
177
339
169
219
211
237
260
316
114
201
268
178
235
243
263
224
262
193
266
194
197
262
191
195
306
324
240
220
235
284
257
211
206
200
252
232
276
238
201
331
168
219
188
273
247
302
233
234
209
190
153
170
197
246
327
170
232
231
193
274
263
249
203
198
295
279
208
188
264
195
154
264
191
227
201
289
205
165
206
211
182
261
224
228
180
191
158
185
182
203
145
285
214
149
219
146
181
238
245
301
229
226
248
204
178
175
274
265
157
265
209
198
259
240
144
269
243
174
226
333
253
216
222
190
236
199
197
280
282
243
272
274
232
190
225
296
227
236
165
276
251
172
258
153
223
197
231
282
282
259
156
230
203
217
257
234
193
219
288
146
269
194
342
240
186
324
198
221
351
242
169
254
181
189
271
204
264
296
239
152
192
227
188
270
181
272
289
179
191
278
228
233
189
241
204
227
146
198
232
225
212
248
209
269
199
257
239
192
219
226
259
228
168
211
250
240
196
233
190
186
149
258
160
173
244
275
199
278
198
222
218
233
209
252
228
202
202
212
232
183
287
152
181
233
168
225
158
223
231
299
247
202
251
229
274
267
249
212
176
218
286
235
188
297
207
156
272
185
222
241
155
256
203
216
278
170
184
191
224
254
234
166
237
233
223
241
235
256
317
192
198
184
156
301
171
198
126
249
279
202
320
233
250
210
273
219
248
254
240
191
222
199
277
225
301
198
246
277
180
170
263
207
240
181
255
245
160
209
169
195
272
181
269
239
175
215
260
283
278
213
207
239
183
179
258
148
254
212
332
200
296
168
310
161
180
223
221
292
199
263
318
207
208
164
271
207
242
264
191
241
215
225
263
290
260
223
235
196
247
198
228
265
195
233
199
318
200
174
335
238
220
196
232
239
178
281
298
189
233
173
230
212
275
222
159
200
194
274
114
205
201
284
323
201
240
208
173
250
263
239
270
170
296
178
198
245
214
176
172
341
299
235
192
211
216
252
235
248
243
245
212
309
221
246
251
193
267
285
277
179
263
248
312
223
195
332
116
286
245
235
181
221
278
224
246
277
166
240
246
220
181
248
246
356
206
290
186
259
322
152
235
250
139
246
175
212
273
168
212
238
197
201
220
195
260
233
169
187
268
261
168
245
242
302
188
239
222
225
214
247
240
302
169
237
269
263
216
171
157
206
252
234
235
170
302
191
233
223
169
334
211
208
266
229
225
214
219
224
198
151
181
155
279
189
283
202
244
208
188
226
252
305
256
204
278
296
339
204
262
202
199
224
155
181
194
238
213
234
160
242
223
225
225
273
250
266
179
151
221
262
218
192
176
166
286
231
179
247
231
153
234
244
229
241
213
230
254
252
228
230
286
188
254
243
206
245
198
212
257
275
252
237
253
256
228
167
207
178
152
261
188
232
139
249
173
270
302
239
160
205
269
271
289
195
225
244
166
201
235
161
173
296
293
281
215
234
183
149
198
186
292
272
213
257
162
270
299
195
225
156
206
192
228
257
288
259
222
169
162
197
211
271
129
191
335
279
170
223
230
200
271
170
270
146
229
218
209
191
152
181
240
238
223
194
228
206
253
240
145
182
211
114
239
254
265
163
245
320
258
190
205
259
175
162
228
222
261
229
195
163
207
257
263
180
208
154
206
229
234
177
202
190
195
243
160
226
202
319
243
237
241
263
223
168
180
263
251
258
267
217
208
260
234
167
229
292
165
226
146
234
249
191
178
230
178
192
225
258
271
247
261
282
181
244
354
293
232
215
264
297
284
250
269
267
282
301
158
246
279
235
160
266
232
222
303
234
188
302
229
188
216
335
229
218
228
156
152
229
220
308
223
142
199
174
277
244
247
216
208
213
214
225
195
173
233
305
281
140
171
129
210
243
220
145
210
246
214
194
272
229
257
237
248
270
196
238
226
162
142
196
244
271
256
238
129
182
178
223
193
114
231
212
238
279
256
202
207
267
202
178
198
241
224
246
225
227
197
198
254
301
249
242
285
240
266
212
240
191
191
282
249
193
228
290
211
237
240
180
333
146
333
204
248
239
221
235
227
200
207
169
326
244
205
238
221
267
171
197
279
164
186
280
114
294
307
198
216
239
191
230
198
162
314
242
239
317
129
255
213
214
161
203
217
160
233
325
114
261
272
190
211
261
169
255
265
193
225
162
315
152
212
233
242
191
285
271
273
244
116
198
318
261
182
255
192
230
232
173
155
223
283
229
249
242
181
184
252
204
221
224
303
178
231
199
176
144
249
202
225
224
114
179
235
238
114
184
246
192
294
229
201
238
231
202
265
148
219
219
184
263
245
231
160
114
264
287
299
191
238
261
264
251
250
250
139
230
196
202
181
181
214
249
367
245
178
174
242
222
162
203
245
248
274
227
222
249
216
228
183
200
198
173
192
193
219
214
235
246
225
249
204
223
210
290
251
305
217
224
239
257
266
251
287
192
209
202
235
243
245
252
198
243
223
170
273
287
207
205
160
213
259
239
252
305
233
225
130
186
269
271
228
227
232
235
251
216
261
266
152
190
223
281
218
181
253
221
162
156
260
246
176
189
241
173
230
230
203
238
260
252
186
257
170
227
200
247
168
154
226
225
216
216
191
259
287
253
256
228
270
198
186
228
236
257
297
241
291
203
325
312
245
243
366
237
208
194
300
168
245
287
225
158
209
217
146
220
222
347
297
172
300
232
294
225
286
186
196
244
210
272
177
238
286
295
264
165
215
261
262
240
280
245
214
233
221
250
276
178
145
234
247
191
199
250
233
158
242
178
202
213
266
239
188
274
245
260
309
221
247
267
220
156
260
114
277
246
243
239
194
288
213
192
233
255
295
253
240
232
185
287
178
220
225
231
184
174
193
238
301
174
285
218
198
222
214
269
302
181
252
226
172
183
126
276
144
269
241
226
203
207
265
222
238
316
258
267
203
261
188
276
252
254
202
232
284
299
211
265
133
185
298
216
245
305
199
282
241
198
296
181
238
306
244
303
293
251
262
222
180
297
276
212
228
130
228
219
134
266
244
225
185
213
341
217
206
309
242
220
154
238
209
199
195
201
229
194
261
260
204
239
195
255
229
255
263
265
270
175
340
251
231
266
211
243
247
195
286
114
185
254
269
161
310
301
167
213
194
228
274
192
198
207
254
154
181
147
270
258
306
251
311
260
149
265
214
286
280
242
217
313
261
356
222
208
253
261
304
193
236
256
216
175
274
226
190
253
173
261
266
190
248
299
144
207
195
223
152
200
292
230
146
229
239
173
254
152
221
214
249
139
319
335
147
181
282
178
165
195
192
204
252
253
219
189
211
252
214
244
280
226
241
256
288
209
239
226
164
198
139
232
211
156
205
209
203
210
218
241
238
233
173
225
257
194
163
108
212
219
196
187
287
176
282
246
244
221
169
267
212
286
207
229
205
229
248
292
210
221
216
195
191
377
290
221
182
212
201
225
219
272
224
114
274
220
158
246
226
181
275
270
247
193
292
246
193
239
229
241
283
152
186
333
177
225
209
202
245
187
233
165
169
337
170
280
173
205
225
160
178
266
145
235
192
114
195
133
215
208
211
147
290
211
203
250
187
241
231
321
210
188
277
264
318
279
195
258
231
271
233
193
233
259
196
280
268
194
108
225
321
173
211
230
202
313
240
215
236
206
156
196
181
259
220
217
225
225
189
191
249
244
271
275
166
263
220
238
209
196
270
206
231
229
201
220
226
243
171
178
151
244
184
216
212
221
200
206
235
289
221
199
307
228
168
166
307
258
283
194
215
190
247
249
233
210
225
326
207
170
244
242
184
231
159
324
229
324
211
251
300
154
202
308
182
290
250
314
246
244
295
223
219
200
223
279
170
259
328
249
202
295
200
148
173
158
238
198
214
258
169
207
202
181
139
255
193
269
206
181
263
152
204
275
275
312
259
231
289
360
219
257
259
214
198
277
249
215
207
133
129
291
263
146
238
232
166
258
139
182
231
242
230
293
212
297
301
240
243
210
256
260
206
257
209
227
260
178
214
144
199
181
329
180
305
213
201
278
337
191
202
212
153
247
233
170
195
260
219
174
203
242
254
178
217
171
268
234
275
243
242
158
114
157
270
170
250
244
196
218
295
273
267
263
177
250
220
182
229
254
252
265
254
190
240
168
210
299
263
160
197
250
252
218
210
242
289
211
214
281
255
208
249
211
290
108
166
252
180
199
230
152
217
290
226
240
268
233
249
302
108
161
243
171
208
260
277
220
249
204
201
204
140
305
197
295
268
254
229
217
224
184
254
189
233
239
232
256
258
199
225
215
181
212
178
278
114
239
230
243
237
215
319
259
219
228
279
271
211
199
188
210
253
268
316
233
215
255
207
214
230
245
284
232
225
278
258
211
223
183
217
247
256
204
140
154
197
139
268
218
232
174
210
290
280
196
232
278
304
227
250
256
240
210
181
276
280
235
228
320
253
248
272
240
301
227
225
212
247
279
167
323
218
182
170
258
252
240
285
167
237
156
208
209
176
253
226
288
218
160
219
174
241
227
267
148
245
170
246
270
139
333
253
248
170
209
209
310
222
235
159
194
223
210
216
266
181
309
202
250
216
297
248
315
258
210
239
222
228
221
223
310
278
163
313
211
191
273
187
206
258
202
227
136
225
283
258
221
202
238
210
224
291
184
208
175
234
257
194
223
266
197
221
234
297
235
264
243
208
183
202
252
139
203
148
244
233
244
249
234
237
198
237
265
238
181
187
259
235
203
173
205
177
157
165
304
178
214
139
285
254
206
266
257
227
190
146
271
201
353
209
148
200
222
175
200
233
239
193
251
262
275
242
181
196
265
174
284
201
259
222
234
240
209
156
154
174
174
272
243
267
209
218
196
262
226
259
284
250
213
231
193
333
241
223
114
238
279
209
309
149
279
286
257
173
174
231
271
358
256
216
222
248
225
248
222
222
227
219
260
287
252
148
251
174
194
177
218
209
181
251
248
171
215
212
188
206
211
276
219
201
161
210
218
244
250
235
188
213
256
252
207
209
229
247
209
184
250
233
256
147
260
225
289
248
234
166
192
229
296
234
270
250
209
318
225
255
173
160
278
228
174
144
280
207
188
116
247
196
224
250
210
220
165
215
206
198
238
222
199
260
227
223
262
229
213
231
243
263
231
287
146
197
192
208
126
321
275
359
291
216
182
258
246
239
172
214
266
228
176
220
249
255
242
182
195
233
233
271
254
196
220
218
190
231
230
187
166
185
255
269
216
171
243
220
156
269
225
286
171
185
208
195
139
171
217
194
156
257
253
299
243
185
215
226
213
248
260
205
254
217
297
188
232
207
238
242
226
139
172
209
154
270
231
253
327
252
187
216
160
214
211
214
231
251
248
164
181
247
236
188
240
265
251
242
209
284
309
237
233
202
238
339
253
202
280
152
253
231
263
204
260
240
199
193
240
202
192
180
281
231
266
158
145
188
284
176
172
199
213
225
199
217
209
248
273
270
250
315
251
272
255
161
170
268
235
175
244
174
181
286
207
330
202
206
253
166
166
291
164
217
252
316
144
212
256
246
188
178
170
261
261
291
276
317
180
241
168
284
234
242
271
181
188
300
306
172
249
259
238
259
222
225
198
196
252
241
196
198
257
275
262
225
242
252
164
194
240
251
194
246
157
166
209
241
287
198
244
247
199
266
228
168
299
253
114
233
286
309
239
202
231
215
200
200
228
216
202
235
108
207
233
191
280
203
234
222
218
366
207
202
269
148
287
179
245
194
210
219
290
181
239
238
198
241
274
228
130
174
192
176
283
216
151
252
310
199
199
168
154
212
186
249
195
248
243
228
277
334
191
273
225
203
188
287
129
253
185
180
306
210
230
216
272
259
239
236
159
244
192
232
205
189
208
210
211
216
241
256
167
219
189
234
244
216
258
165
263
214
215
219
233
201
201
280
208
236
199
249
262
215
188
220
235
126
359
208
164
248
177
259
261
169
254
222
160
191
205
166
218
156
175
249
206
229
272
241
255
272
314
297
292
154
218
185
280
237
276
243
189
246
274
219
293
268
236
201
290
236
233
220
164
185
245
175
196
216
258
161
299
166
175
204
225
176
239
271
209
241
273
189
106
231
194
172
193
240
222
210
261
215
240
247
217
283
200
146
247
247
148
114
235
263
276
228
177
239
183
252
181
238
209
150
167
158
255
243
202
214
261
233
151
201
129
191
206
116
189
227
255
154
249
289
225
271
265
227
162
296
261
209
272
114
172
176
272
256
145
273
262
252
226
223
270
188
198
157
170
181
203
184
276
198
239
292
239
239
262
219
227
213
263
217
257
243
256
228
191
266
178
270
262
231
227
211
296
190
199
182
229
232
222
278
244
253
190
249
241
279
215
303
235
232
282
198
241
181
249
185
212
152
145
173
130
276
209
158
248
240
256
298
133
235
223
208
257
188
320
325
114
198
214
235
192
254
214
201
267
158
172
231
178
178
228
196
314
209
168
241
208
261
225
183
200
174
257
176
237
229
290
224
321
205
178
176
229
195
231
279
263
156
232
283
219
163
201
249
201
219
236
160
194
213
181
191
246
200
181
301
228
174
250
233
234
175
184
206
212
243
266
266
221
285
228
197
168
179
244
245
226
181
286
114
219
252
181
220
201
296
133
218
301
215
182
223
184
204
169
219
182
341
243
280
189
226
214
252
279
228
247
202
250
257
205
296
245
263
238
164
216
205
243
286
174
244
227
259
249
271
287
126
233
205
245
251
206
177
159
178
220
214
202
177
208
145
157
299
213
160
217
292
238
195
324
307
231
205
249
246
236
245
286
205
195
197
233
218
181
195
219
225
170
208
146
243
216
200
240
235
205
208
301
363
198
304
184
263
242
184
229
274
195
177
179
216
221
203
272
258
185
238
198
247
201
212
205
191
253
261
281
212
222
310
238
183
242
258
181
246
184
251
326
256
257
345
279
209
167
208
179
261
180
176
327
272
222
247
227
214
233
231
280
146
249
169
322
170
162
222
170
178
141
203
205
239
175
232
215
192
254
249
208
169
168
207
233
239
209
219
234
238
309
215
200
145
262
148
224
253
320
196
252
194
253
177
263
240
192
240
246
242
177
155
232
214
321
275
225
271
200
258
239
188
218
184
173
158
170
217
171
243
196
237
204
235
258
302
324
255
240
181
207
154
192
280
209
274
202
193
187
181
220
114
277
159
210
213
239
170
273
184
205
165
230
295
286
250
241
275
219
173
243
217
249
114
168
261
286
194
231
232
241
181
282
245
151
207
233
258
198
200
234
226
249
247
265
182
126
245
263
165
246
191
272
193
281
242
187
262
256
295
275
259
275
233
285
247
245
273
197
247
227
229
190
264
195
172
289
272
166
198
255
245
180
316
235
231
275
259
165
261
278
175
226
161
184
198
168
139
226
114
290
306
209
234
249
252
194
169
232
263
220
175
193
176
208
260
248
242
217
194
260
228
202
153
160
114
264
186
237
229
237
211
134
221
250
275
193
241
198
290
207
236
156
291
191
204
114
298
180
156
256
249
286
279
297
314
217
203
215
213
160
242
232
212
176
178
250
198
290
265
233
233
188
260
163
250
168
299
276
217
235
222
121
183
207
206
242
220
193
210
184
232
211
114
297
284
174
196
248
294
114
189
215
209
255
255
213
175
243
213
229
192
198
238
137
206
187
213
182
253
202
195
195
186
236
218
238
181
234
182
298
217
192
275
165
133
256
116
249
262
272
155
237
114
211
209
276
210
224
174
181
189
272
171
325
183
299
211
154
308
263
220
272
169
183
246
169
158
173
304
171
164
228
226
170
209
225
278
245
235
126
242
206
292
267
293
297
203
208
154
213
224
215
195
208
175
178
126
215
181
246
213
206
261
206
202
254
297
209
240
258
269
189
262
208
233
252
168
190
235
180
250
212
207
205
258
244
188
241
262
345
235
290
221
241
199
160
166
267
273
246
247
265
144
182
199
291
221
203
215
175
267
241
173
209
206
247
250
161
265
280
230
247
165
209
232
264
164
243
209
178
208
274
175
178
214
245
254
199
222
231
272
179
177
150
264
234
327
215
175
262
234
217
242
249
200
265
260
194
336
305
208
261
106
246
214
239
231
204
198
199
325
298
198
152
193
196
186
194
229
247
204
169
202
292
162
236
182
226
242
175
192
187
203
309
143
242
290
209
238
214
327
180
233
180
259
239
211
229
197
163
206
231
206
294
160
250
210
215
230
235
308
211
189
166
202
248
172
283
252
281
238
262
146
209
256
243
166
263
227
228
237
231
193
191
250
262
198
241
159
246
214
268
178
208
330
246
158
179
234
202
291
260
203
190
258
261
250
197
206
213
241
237
318
225
237
228
175
114
172
217
201
278
239
297
306
250
149
269
180
165
247
162
271
196
178
185
114
178
195
244
229
214
238
114
174
250
206
196
225
209
191
254
253
317
298
192
152
161
187
235
192
258
198
273
283
200
331
234
122
235
213
268
213
140
266
233
192
202
219
232
169
313
235
152
246
193
219
220
215
114
224
281
178
234
175
226
264
192
153
211
181
226
235
194
176
275
207
226
364
260
223
156
226
195
192
205
249
239
284
273
221
193
220
219
217
194
246
272
253
248
211
197
200
244
306
237
230
196
259
287
156
151
224
220
250
229
205
256
241
212
173
247
224
288
220
201
194
223
176
220
302
149
244
238
261
223
181
154
212
193
265
268
249
133
167
231
232
245
225
240
202
178
227
185
306
222
316
180
186
198
199
189
252
229
211
121
305
165
291
208
198
231
195
319
290
262
255
222
242
223
280
306
205
194
218
257
193
243
264
156
178
246
114
172
212
276
261
255
307
247
232
205
170
254
183
275
231
280
174
209
271
259
236
262
206
241
166
262
209
233
231
312
281
188
233
189
234
245
260
321
247
223
156
146
209
207
294
303
239
332
195
260
188
144
213
219
108
239
158
250
181
220
218
192
288
208
204
250
232
221
195
178
300
282
165
268
166
194
147
195
162
224
230
203
232
216
192
260
247
211
243
217
195
200
170
221
164
273
222
232
238
202
209
186
253
272
298
195
261
213
295
154
228
214
224
213
194
240
282
206
199
152
247
257
217
213
194
251
230
215
187
234
235
255
189
238
165
258
286
175
194
207
309
222
264
248
314
233
212
245
231
254
187
216
283
183
271
180
197
194
245
282
213
259
210
189
243
224
173
174
270
215
185
258
210
174
219
209
173
226
258
194
249
203
207
259
219
254
215
203
206
270
287
129
224
302
228
179
179
184
196
265
221
151
305
167
254
233
221
206
167
268
254
230
192
277
234
318
257
279
178
162
202
271
260
257
130
282
257
156
253
197
165
303
184
192
283
222
106
157
227
222
270
214
317
213
220
227
261
214
199
216
238
263
275
217
156
182
194
302
209
206
276
298
240
182
243
222
223
179
277
195
226
230
156
224
217
270
197
192
272
214
175
219
164
188
213
219
208
196
158
203
126
301
234
231
183
146
240
198
174
257
220
156
197
292
219
216
244
303
230
253
308
159
158
241
222
248
176
248
277
243
210
207
299
228
246
221
217
211
218
204
206
250
179
145
317
274
283
199
189
253
219
314
245
166
179
161
178
225
218
171
275
182
261
178
241
214
257
152
233
207
263
329
246
304
214
239
139
269
186
205
184
261
229
265
166
202
252
343
195
231
220
193
305
160
216
280
247
192
208
199
229
179
239
204
253
287
279
218
173
193
213
253
224
174
225
152
191
197
199
267
175
208
167
144
232
309
293
209
256
223
229
216
297
277
177
203
301
205
178
316
271
283
126
183
222
161
216
220
287
192
205
160
199
339
249
257
297
202
249
182
343
251
340
210
234
226
208
170
227
273
226
183
255
206
283
256
133
228
201
129
216
291
245
202
165
225
116
106
197
216
161
217
251
228
144
308
156
217
268
301
220
260
207
233
179
251
230
231
198
189
178
214
207
221
214
174
213
192
199
175
226
263
207
202
205
262
186
257
187
196
209
275
225
169
172
286
191
185
191
156
294
186
175
271
170
240
262
201
378
325
183
223
190
209
235
285
196
170
192
188
220
198
231
189
210
251
250
206
203
324
281
168
265
278
158
139
258
126
176
216
268
209
219
227
204
244
218
239
270
196
287
217
197
225
263
154
207
183
114
275
299
251
325
211
234
243
268
317
278
288
151
252
289
232
168
280
172
225
251
244
268
253
307
210
174
235
231
236
154
254
212
226
266
214
204
188
245
268
241
231
247
144
265
282
275
224
170
114
253
272
223
293
226
177
152
198
242
126
221
242
239
116
293
183
233
242
200
156
220
152
214
238
264
139
173
225
241
283
212
255
197
175
204
211
248
211
252
311
206
232
339
114
221
272
246
187
273
237
330
167
245
186
236
190
279
240
213
164
207
173
210
215
156
209
259
263
157
206
220
262
195
292
312
304
291
318
151
204
256
256
194
207
200
238
217
248
250
213
106
297
198
249
180
258
214
258
322
234
318
206
191
126
317
254
248
282
226
295
156
210
215
265
160
133
284
158
152
286
246
273
217
233
227
198
221
239
215
281
233
217
282
203
171
232
222
146
213
311
237
202
195
318
160
262
225
310
212
226
269
317
261
190
191
230
202
198
219
284
224
149
275
221
278
302
215
263
260
191
284
301
225
228
190
228
229
227
253
166
177
180
297
181
288
271
208
249
274
327
262
233
290
253
226
301
185
232
245
270
287
262
239
231
176
275
225
217
203
254
245
319
204
223
320
139
261
244
255
251
283
280
262
226
241
294
269
229
238
114
347
186
242
199
257
202
152
199
156
126
325
181
220
175
195
280
270
248
183
201
145
302
203
236
296
258
240
237
156
169
232
114
227
192
210
181
191
167
270
323
220
202
210
212
203
191
161
247
267
262
239
277
214
151
183
212
273
250
218
264
139
210
271
245
287
189
195
203
240
164
209
316
211
178
325
196
233
175
241
196
239
187
214
187
225
247
230
240
166
234
253
277
208
155
256
130
210
296
231
182
185
284
148
251
300
246
303
210
252
236
299
251
196
276
332
237
218
192
207
114
302
174
247
163
184
277
204
250
258
193
287
201
160
290
291
247
193
266
126
209
308
137
261
234
362
245
191
247
217
206
195
280
216
211
146
256
194
209
160
221
284
181
130
208
253
253
259
168
203
178
258
206
137
231
299
252
210
219
289
151
266
242
165
202
232
220
315
219
204
222
231
179
308
217
243
230
168
223
196
171
214
179
148
301
250
114
313
273
223
173
225
279
180
171
216
262
222
279
276
254
209
259
223
211
206
209
251
186
209
196
243
219
222
229
255
303
164
208
196
232
283
244
167
233
200
224
331
211
261
181
304
236
201
184
240
257
229
268
250
172
262
206
222
229
221
264
276
246
152
224
202
220
156
286
237
212
299
224
226
336
139
221
266
301
211
222
214
200
220
198
316
253
257
178
234
225
193
284
212
237
165
216
239
237
199
323
248
114
254
146
224
192
250
234
281
200
246
221
299
211
200
175
237
231
207
197
242
252
185
271
155
202
230
285
229
208
283
238
181
207
178
255
284
275
240
213
222
245
160
255
321
268
224
284
114
274
309
203
297
299
210
126
238
133
273
250
200
174
267
299
222
249
165
215
336
216
253
196
192
203
205
280
239
281
228
146
236
215
231
215
217
245
185
186
181
178
245
264
256
178
220
202
255
189
253
222
273
213
177
249
168
342
228
262
220
321
191
177
214
302
221
203
279
236
287
315
277
160
306
157
233
230
212
191
262
175
153
300
351
318
192
199
281
251
250
222
306
212
245
285
227
244
199
193
228
223
237
279
199
261
203
167
225
229
209
179
257
273
158
305
252
237
240
294
253
241
229
180
316
290
274
253
195
216
300
179
235
235
196
292
287
225
218
149
222
194
204
274
186
161
185
176
243
240
256
258
126
258
276
223
250
214
244
235
149
181
169
225
251
250
275
207
244
178
245
260
229
334
264
225
268
279
312
163
214
254
232
172
243
173
219
239
308
187
291
209
225
260
217
248
243
271
217
299
212
234
227
263
114
239
210
221
282
266
221
197
299
180
285
181
227
170
251
211
312
233
290
223
200
262
331
166
230
220
209
314
229
221
205
179
237
218
220
243
206
252
180
189
217
207
200
246
265
239
192
189
209
196
283
206
194
258
221
194
129
233
154
167
241
174
207
259
165
228
175
291
230
215
223
271
238
267
277
189
249
230
220
145
242
173
240
209
218
185
199
246
269
251
232
247
292
198
165
204
259
221
150
258
265
203
256
174
339
267
285
156
249
252
285
306
230
215
246
204
297
217
240
212
164
272
254
278
270
229
185
211
219
225
126
212
230
215
217
202
206
234
197
152
253
208
193
314
161
293
227
244
208
232
326
170
274
156
213
228
147
174
262
231
299
240
159
161
129
295
180
209
202
276
307
235
190
193
209
225
273
246
147
225
212
179
229
285
238
234
243
284
270
235
229
174
217
288
237
269
189
180
179
179
333
249
162
178
230
158
210
225
256
264
239
175
324
276
217
230
202
232
273
251
225
189
235
166
243
202
214
171
161
170
184
151
192
248
170
238
209
232
198
114
332
226
219
170
160
225
191
185
229
302
156
218
222
228
213
262
233
152
225
196
214
249
264
210
287
269
174
222
252
240
186
191
248
241
247
275
289
234
252
210
197
256
209
200
296
258
248
255
330
266
244
172
270
206
238
170
155
231
202
205
139
217
165
291
183
174
200
211
222
291
351
276
282
269
278
202
298
211
305
259
235
265
243
237
233
272
264
225
209
227
195
214
241
257
194
190
240
198
294
189
285
198
211
278
284
211
258
297
212
226
251
161
225
278
227
181
166
217
292
200
215
205
221
155
213
243
167
152
196
189
224
299
239
234
197
253
293
292
198
140
246
194
222
247
296
219
200
220
145
247
195
191
248
155
246
211
207
243
242
225
233
194
304
177
193
221
255
156
213
181
215
148
238
151
309
194
222
179
237
214
177
198
247
243
260
227
189
249
254
266
250
291
245
174
185
252
194
200
242
221
198
266
203
255
168
273
246
158
268
231
265
178
212
234
272
191
290
227
234
169
263
263
276
238
191
204
220
188
270
217
244
266
269
211
184
343
220
213
218
114
285
174
248
216
280
242
174
220
222
220
181
169
268
219
192
236
237
233
253
240
231
288
279
176
179
195
280
248
165
276
260
248
206
184
218
220
199
263
165
189
241
232
288
261
225
342
234
197
191
264
194
212
291
248
284
243
232
208
248
202
296
228
129
234
277
281
300
222
267
178
256
248
191
321
166
282
269
205
229
167
235
212
207
269
200
192
205
152
184
226
193
166
209
287
219
310
219
199
152
237
209
230
238
266
231
223
149
250
249
206
220
228
210
184
265
331
228
152
246
156
263
214
221
224
262
260
269
207
178
173
249
226
168
169
201
272
280
247
224
232
248
235
216
293
162
193
222
205
176
187
213
248
200
255
267
170
272
130
171
228
227
238
237
225
237
253
198
259
244
260
238
230
188
191
178
153
252
226
236
223
157
183
126
281
159
139
290
168
304
170
160
270
178
241
224
233
181
203
245
255
234
160
196
198
182
286
237
173
333
220
202
229
240
247
174
220
265
341
223
222
188
250
213
216
209
271
221
174
200
226
273
275
218
361
231
212
114
215
256
231
219
170
263
168
190
257
160
224
215
213
224
194
267
228
203
221
246
197
241
188
235
218
287
243
233
250
200
233
170
191
273
246
169
209
231
271
239
201
253
173
243
179
361
297
208
160
219
170
249
205
268
286
129
252
298
196
311
261
219
219
276
234
285
194
291
290
207
180
255
278
234
215
164
213
230
161
277
229
279
155
170
226
201
251
272
183
234
183
225
108
252
228
253
236
205
162
240
298
266
280
248
201
188
187
230
224
144
197
230
257
172
214
177
261
200
249
186
189
231
249
252
197
197
180
234
208
212
249
167
252
247
207
291
236
228
178
292
181
212
207
190
216
247
234
267
260
231
236
221
211
203
174
193
219
245
301
258
212
245
198
239
184
277
262
161
158
182
209
191
230
244
194
225
173
240
129
192
226
262
193
211
170
239
166
170
256
187
114
220
176
300
221
216
207
114
211
205
311
236
204
165
230
195
126
226
258
212
126
236
207
181
247
185
139
202
181
195
166
171
156
173
204
293
305
215
250
213
217
196
298
270
266
208
183
268
185
216
250
273
190
242
211
225
162
175
269
279
216
290
254
234
254
196
256
320
176
207
222
313
220
226
203
222
188
224
175
161
246
264
173
108
163
172
248
189
210
318
258
270
278
357
166
256
220
300
179
207
230
251
247
269
199
247
195
238
232
238
241
170
299
209
239
208
158
198
202
240
235
202
281
197
202
193
156
233
257
271
207
214
254
145
216
246
213
203
175
211
189
241
263
222
279
208
256
251
233
198
208
234
278
252
273
178
291
273
200
263
299
258
213
280
129
173
250
152
239
304
279
233
204
208
263
249
262
190
247
177
181
232
220
273
249
219
176
176
170
227
277
265
198
230
209
243
329
240
207
300
147
171
208
246
207
236
231
231
206
207
286
178
211
251
178
254
247
199
144
182
211
285
265
175
352
226
258
259
266
235
175
240
283
195
264
229
217
188
207
156
203
255
231
296
203
289
176
363
163
129
214
218
184
297
194
207
186
214
228
218
207
234
243
192
195
204
241
200
209
257
223
178
233
222
180
250
207
183
216
185
174
282
243
236
176
214
241
279
167
197
230
238
220
203
235
253
166
258
266
200
175
252
303
318
215
230
280
139
250
198
152
256
235
248
251
156
284
160
202
249
181
209
163
178
205
205
214
180
204
230
247
211
235
244
219
218
252
222
188
207
183
208
194
220
285
241
258
224
169
233
175
173
139
247
153
244
282
291
270
224
202
254
219
234
283
224
229
151
175
265
175
215
258
333
221
210
260
266
286
180
240
241
157
199
224
210
214
196
188
237
201
198
296
229
208
164
238
175
238
198
304
315
231
252
192
244
179
205
265
178
205
167
180
273
232
278
244
227
210
255
181
201
167
273
276
216
264
267
219
271
314
256
285
190
227
182
228
239
232
207
293
228
258
268
203
182
208
243
144
219
180
198
253
304
203
169
213
220
244
234
160
243
177
292
275
214
189
200
356
229
200
224
173
260
145
248
231
271
203
167
222
239
209
261
214
227
219
228
237
259
234
238
160
317
184
188
290
286
201
242
208
162
265
159
238
129
199
206
204
159
193
237
204
229
209
153
203
276
273
197
277
238
229
196
223
292
203
222
195
200
192
171
186
196
219
194
196
133
250
228
217
299
252
241
226
214
327
275
303
284
189
239
177
242
185
261
215
250
286
232
114
266
270
281
283
191
252
243
287
274
198
179
195
257
114
254
210
206
168
139
208
221
290
232
236
227
343
211
174
161
256
121
235
256
189
151
161
235
237
198
260
252
221
209
174
191
265
266
316
243
199
199
228
198
238
204
207
211
235
126
225
174
192
192
162
222
175
268
191
196
268
243
187
151
286
220
211
213
335
233
192
200
181
234
216
242
175
249
214
263
196
212
266
208
246
255
292
174
184
271
284
196
213
181
226
242
196
246
307
207
208
244
196
202
152
285
204
197
215
323
322
277
226
325
160
184
216
154
268
230
219
178
240
175
242
226
170
185
236
208
190
311
214
170
257
152
212
250
218
255
288
200
228
207
204
278
271
154
331
232
180
219
177
223
194
233
229
209
249
252
207
294
300
225
296
216
188
236
226
232
237
240
265
311
252
288
265
281
261
266
192
224
235
198
191
241
225
280
206
170
197
187
196
231
208
257
170
181
146
234
245
203
238
180
246
356
174
209
193
230
247
221
199
259
208
260
266
227
204
199
251
241
200
195
272
231
145
215
209
166
239
204
114
252
179
184
214
224
231
193
257
222
242
182
202
261
201
255
197
256
192
223
144
241
253
229
145
114
165
188
287
222
252
195
299
190
208
295
166
164
193
248
252
130
220
239
263
239
267
216
265
213
322
203
114
228
255
221
247
262
197
266
196
235
201
168
142
237
246
245
288
189
158
194
227
195
160
231
278
171
254
301
251
253
271
229
272
292
228
225
253
295
291
171
231
221
264
208
208
208
254
156
154
229
282
259
177
298
189
165
192
166
245
212
230
223
145
293
195
256
271
246
226
175
275
252
301
256
281
231
159
178
218
230
308
169
256
179
193
209
253
310
225
230
304
265
202
224
221
201
190
202
167
209
200
278
187
222
173
262
307
265
213
260
226
199
178
242
214
207
214
207
222
227
255
216
232
231
233
114
214
245
231
180
159
191
243
208
254
247
184
198
216
242
234
149
200
162
244
249
192
262
259
314
283
206
195
233
183
198
227
206
253
202
251
170
212
219
217
206
223
154
215
290
244
333
226
234
169
276
199
168
201
183
180
211
238
312
241
198
277
164
175
170
297
229
267
237
212
210
202
223
194
180
317
273
167
192
196
276
173
231
213
281
220
190
214
189
215
244
239
199
139
205
280
227
211
231
170
126
221
218
220
196
174
187
209
195
194
236
248
241
240
271
301
198
206
231
219
281
250
175
208
114
237
276
217
192
267
278
254
221
228
224
270
202
295
180
234
149
184
196
284
220
241
189
301
198
306
226
184
259
248
159
247
168
275
252
243
249
298
200
169
231
174
170
202
299
241
248
242
226
228
253
274
230
196
280
226
208
174
219
176
240
266
231
257
248
221
193
202
160
270
193
320
160
250
214
224
198
215
144
178
181
189
274
225
214
260
234
183
271
160
176
173
166
210
218
249
257
244
246
243
227
270
200
267
194
219
261
275
237
228
231
258
230
224
307
156
224
229
173
204
231
217
253
183
215
224
246
224
207
200
166
241
220
300
175
234
244
310
258
114
249
266
181
213
240
222
208
166
266
157
239
189
235
114
192
207
143
178
218
142
214
195
161
298
145
114
294
238
198
212
246
221
247
277
251
192
193
278
327
267
222
237
196
194
211
223
182
248
305
221
209
201
173
193
210
230
199
282
206
291
217
193
245
279
270
220
245
201
247
241
230
208
249
299
230
286
242
114
287
233
197
160
322
233
198
253
177
213
160
249
207
230
192
193
275
149
126
245
232
205
213
245
175
250
261
263
276
286
253
226
160
223
206
262
203
193
180
268
252
236
210
173
249
175
283
195
311
173
200
155
255
205
168
186
249
147
226
249
208
230
340
301
209
256
298
193
243
251
236
193
234
165
207
209
245
175
236
209
173
244
204
256
160
309
213
298
221
253
238
207
298
253
279
295
247
186
225
211
160
166
263
212
219
199
286
175
222
225
196
168
223
205
199
332
184
253
194
323
266
265
189
166
249
180
222
198
249
204
288
130
260
259
292
331
221
183
227
194
283
268
216
228
177
258
270
196
157
170
224
249
234
240
212
217
248
205
170
203
235
245
218
230
271
116
198
222
234
152
250
310
194
211
284
169
210
320
269
307
256
208
219
230
178
231
217
264
205
151
255
245
166
204
210
245
198
114
219
257
225
273
282
222
291
230
249
178
156
151
214
208
242
208
219
201
317
237
240
298
203
290
236
157
209
206
252
240
264
265
285
248
278
209
267
165
210
245
190
283
198
198
189
294
233
202
202
192
237
223
195
248
186
271
177
214
193
211
184
231
190
214
268
159
219
175
206
281
192
206
234
296
287
269
233
203
198
213
224
211
235
236
191
274
272
255
267
194
211
263
213
221
261
245
187
277
273
223
294
229
180
313
223
283
234
276
232
209
268
181
209
114
255
384
285
215
264
154
195
180
147
156
216
205
237
157
238
156
205
329
235
195
217
308
190
260
205
262
153
283
207
250
155
257
156
179
275
194
190
193
308
295
160
210
194
215
241
215
204
198
239
222
209
251
146
206
220
249
200
310
304
186
246
232
218
306
160
194
228
152
197
262
191
231
269
262
244
247
178
248
114
236
243
190
183
194
185
199
231
181
209
253
146
341
234
217
193
178
221
199
226
116
252
199
230
255
283
261
214
180
267
255
170
146
229
175
198
186
261
248
216
194
260
186
171
229
225
181
226
238
151
178
181
219
241
258
203
218
246
311
202
233
199
213
216
215
243
209
252
200
152
245
259
237
257
278
244
204
212
183
255
265
212
217
229
173
174
250
248
384
212
177
202
242
217
160
291
238
260
230
158
195
236
192
221
213
178
243
114
221
259
243
294
276
177
206
260
218
291
278
277
172
252
233
203
230
145
292
160
283
228
190
189
251
205
238
232
277
210
179
283
328
290
242
191
220
180
170
247
277
198
252
257
219
178
225
301
222
175
218
206
246
232
207
229
240
219
226
211
166
197
174
270
311
234
260
282
200
205
235
219
199
224
222
237
279
192
193
225
154
182
152
199
324
181
214
236
219
300
292
240
240
213
239
220
201
264
197
211
152
277
190
246
231
160
234
245
282
184
241
209
230
210
278
225
222
230
173
216
196
167
259
222
180
296
168
189
186
198
206
190
242
200
170
216
146
230
232
239
193
157
133
158
211
245
168
239
209
205
231
275
248
114
232
209
220
226
288
188
247
193
256
225
186
287
190
169
257
257
269
180
242
246
226
300
181
194
184
231
240
238
221
161
226
222
322
311
214
283
209
214
182
270
185
173
174
241
163
266
250
193
274
339
263
174
207
287
175
177
182
192
265
194
296
260
252
173
300
282
194
211
194
166
217
282
226
219
186
149
271
255
255
227
172
114
271
250
212
183
218
294
297
216
221
270
216
193
166
189
257
293
173
230
146
288
234
221
114
285
156
219
200
233
178
248
283
129
328
247
166
185
174
189
170
276
207
186
204
219
275
222
212
313
206
170
193
282
268
237
283
211
245
258
292
296
244
186
193
229
250
276
203
190
254
325
168
227
244
251
197
346
269
200
234
215
223
239
222
211
206
207
166
251
197
244
228
200
271
145
257
192
247
254
202
180
204
305
140
213
210
241
208
215
253
262
222
245
145
205
295
278
286
234
201
341
285
228
222
254
186
319
239
283
201
239
243
211
291
234
233
183
246
257
221
259
229
253
216
170
274
174
339
237
195
243
242
200
173
160
270
170
286
205
259
231
321
222
190
181
265
249
215
228
141
264
168
148
207
250
206
241
178
160
274
205
178
267
116
246
160
296
257
208
197
293
243
208
203
196
220
223
277
166
252
170
208
215
209
256
234
225
287
246
215
222
183
237
254
154
246
224
326
185
246
214
247
200
164
240
205
236
261
257
196
160
228
146
198
198
139
253
284
204
299
175
198
289
237
259
207
383
216
301
229
252
309
278
262
256
298
151
222
170
216
220
252
258
218
252
253
184
220
193
236
261
257
171
229
223
283
409
169
230
173
147
265
188
250
249
234
208
189
224
228
262
313
178
200
198
300
239
219
174
235
170
193
198
226
297
228
289
238
310
317
227
241
153
227
316
191
189
217
264
236
230
209
260
225
236
218
301
309
215
246
294
270
138
204
199
232
221
189
233
224
210
211
166
255
250
251
254
230
279
240
114
201
202
147
172
200
286
174
197
239
264
217
240
303
261
196
258
195
297
242
154
198
174
278
271
233
208
213
236
176
283
227
280
267
293
194
243
156
196
182
178
255
201
220
236
292
227
221
191
194
210
213
281
269
202
235
217
226
191
161
114
195
220
204
243
235
249
301
342
233
274
184
207
238
229
214
140
114
273
208
239
208
255
333
207
224
207
154
208
302
249
156
160
243
275
182
269
310
257
283
230
259
217
219
114
234
269
265
291
257
284
176
325
219
204
293
220
285
139
168
180
274
230
230
106
206
204
204
178
179
260
277
207
186
239
208
229
278
225
200
193
154
239
232
206
202
176
251
204
234
207
254
257
178
182
243
324
114
218
214
220
219
207
230
316
230
179
195
257
252
235
165
244
266
244
250
216
215
283
201
199
154
169
203
247
267
267
296
180
201
232
219
251
200
265
249
218
223
197
178
295
287
240
265
214
222
179
203
162
260
248
292
160
227
233
305
241
305
253
262
268
285
240
268
210
234
264
196
181
214
233
208
242
114
252
182
227
357
227
250
203
307
215
185
334
223
214
210
256
231
130
254
176
264
308
316
193
229
217
217
224
156
214
289
211
225
196
235
154
209
242
186
269
317
274
223
237
244
239
259
189
193
330
224
177
248
264
260
332
273
262
221
181
231
239
313
206
279
211
267
270
139
222
221
191
195
198
207
295
253
252
243
174
240
170
285
203
264
192
223
235
283
222
226
235
154
228
233
198
221
252
197
151
227
193
238
213
193
218
234
266
251
201
266
174
207
226
232
281
262
251
180
238
213
246
225
219
183
286
242
221
246
196
198
230
247
226
297
198
252
276
278
257
223
230
226
239
178
258
220
218
203
298
210
198
207
165
286
208
194
165
335
256
214
207
178
195
274
181
311
157
208
216
301
310
239
247
258
128
207
221
249
339
202
214
241
181
217
200
246
218
215
296
262
249
192
180
236
258
181
179
218
247
257
216
249
245
261
213
265
247
116
160
220
197
205
226
183
208
303
242
241
230
228
310
275
238
235
250
230
195
270
246
198
129
265
256
253
198
182
156
145
281
245
229
223
285
261
282
174
250
208
241
231
213
207
214
216
291
216
271
206
239
157
205
212
215
158
305
210
194
152
216
272
306
257
277
160
236
227
243
210
189
283
244
253
194
251
194
189
222
170
114
224
228
194
264
225
268
231
311
203
205
288
198
283
238
215
196
223
271
232
166
273
248
251
219
234
233
276
161
276
108
214
236
212
231
249
296
210
217
172
116
260
203
229
199
242
188
216
254
243
239
282
311
219
166
158
225
160
271
217
289
276
236
227
219
256
201
156
166
170
291
308
207
220
196
272
240
246
202
212
252
141
209
245
180
250
241
257
189
157
211
206
218
249
241
270
189
232
195
235
245
170
185
159
170
201
239
169
233
226
175
242
261
193
265
139
270
234
260
203
207
182
232
238
200
228
228
227
114
277
231
210
227
195
237
195
246
177
283
178
205
310
206
212
211
175
259
202
286
234
217
210
322
176
252
275
253
200
293
279
172
177
270
225
200
157
198
233
217
204
279
246
316
219
247
294
219
173
281
237
263
222
204
297
284
318
242
175
248
190
203
235
253
188
161
251
220
194
235
244
214
231
189
256
233
252
168
226
175
222
166
190
152
234
160
235
314
174
246
230
203
196
253
212
181
151
227
217
224
287
235
278
234
229
227
215
167
108
208
324
278
151
175
216
198
243
216
182
212
192
180
220
229
249
211
250
253
229
114
224
212
236
283
254
270
226
133
218
262
192
160
225
198
282
262
192
114
291
218
220
202
246
220
305
257
273
175
318
251
193
283
214
147
226
240
200
268
222
170
260
191
252
200
354
240
283
236
272
183
266
243
214
243
214
246
261
228
279
230
221
250
208
270
231
245
287
133
165
249
195
247
262
208
227
160
254
250
230
297
271
349
242
199
303
252
233
306
249
250
198
212
196
282
201
207
192
273
212
173
242
292
271
265
234
235
176
189
288
170
173
229
273
232
196
198
332
223
175
209
229
175
210
267
262
239
156
198
243
171
206
253
187
282
173
215
200
262
243
211
285
199
134
178
194
238
198
310
246
179
210
209
239
203
208
177
227
198
260
199
255
158
121
304
139
235
271
223
178
181
329
247
228
181
207
188
219
248
158
211
227
281
267
250
204
225
179
200
234
224
178
220
250
232
234
269
151
263
278
206
279
243
183
221
177
290
197
205
266
195
114
178
152
231
179
215
272
184
343
196
256
170
192
246
196
308
265
189
167
342
241
250
264
173
175
188
258
270
175
211
192
180
281
251
216
203
322
301
154
209
220
299
211
271
221
180
235
296
284
310
251
258
151
174
235
174
314
228
248
270
151
189
227
233
257
324
244
152
292
233
238
216
260
254
174
192
248
169
159
211
264
203
275
183
270
227
116
277
213
198
189
187
316
232
298
236
234
287
193
246
178
282
210
268
273
144
267
175
258
156
265
284
215
192
156
191
268
272
284
183
196
369
305
311
217
228
194
116
192
230
207
228
230
271
273
206
195
212
178
149
186
132
256
168
173
188
242
304
211
198
298
263
253
218
243
246
206
270
238
248
196
273
235
307
288
320
195
261
219
271
206
198
292
276
210
213
293
164
300
194
258
270
229
242
226
240
196
218
205
140
202
194
268
247
121
192
211
263
151
198
248
281
355
239
234
271
215
170
183
260
203
229
246
217
247
173
245
266
211
213
231
255
237
156
279
145
285
244
213
216
251
219
240
247
272
198
216
198
190
204
197
208
246
212
221
237
292
170
217
261
151
224
162
231
290
314
186
193
180
258
274
194
229
181
238
227
285
256
143
206
242
152
209
231
225
142
247
166
208
230
225
265
160
180
254
145
277
116
198
263
254
211
325
268
275
203
267
192
144
274
226
152
233
228
261
260
288
209
156
270
188
203
220
214
198
256
247
171
193
201
238
266
238
196
276
283
215
245
219
146
219
284
180
280
231
114
228
221
264
233
156
207
162
202
241
165
232
209
241
229
262
275
160
194
155
287
242
178
236
217
191
242
251
290
235
214
173
288
296
208
212
183
149
248
177
267
243
208
209
177
219
239
229
228
223
207
207
241
252
285
229
307
250
196
168
245
342
173
148
205
189
264
211
256
250
242
227
234
265
302
235
296
166
192
229
279
161
194
230
323
193
282
114
277
175
247
255
270
241
237
280
240
243
160
212
218
201
152
271
189
295
249
256
249
261
170
229
191
194
264
215
204
222
243
157
306
275
208
299
261
232
234
178
252
241
217
233
285
266
215
236
229
287
114
198
213
121
183
304
198
200
178
195
238
234
205
195
252
231
254
235
277
246
229
153
301
182
258
259
230
145
240
253
218
225
230
236
302
181
308
185
148
169
240
250
237
168
273
230
214
255
237
230
269
223
139
135
187
251
233
250
165
244
169
225
162
169
241
231
229
283
198
197
208
208
175
175
233
220
243
222
252
247
219
227
204
268
258
180
193
276
222
203
184
191
221
241
161
339
256
269
180
156
199
231
294
303
259
263
253
215
230
255
219
257
279
241
222
221
148
192
201
240
222
206
233
227
230
192
214
226
205
196
366
192
272
294
114
297
226
250
205
108
198
184
215
295
206
226
241
121
168
278
333
279
242
185
254
224
126
210
178
186
133
257
114
147
271
234
217
216
260
174
293
189
299
200
211
175
240
176
264
254
188
172
160
248
283
221
208
246
193
149
269
220
197
186
192
197
286
254
166
187
168
270
206
175
238
259
214
162
251
139
233
176
213
207
235
190
226
274
160
213
219
157
170
256
249
229
116
298
198
216
233
281
238
232
234
284
149
246
169
220
195
188
233
300
188
195
237
260
216
212
232
244
201
234
275
220
114
176
237
256
275
208
273
210
250
241
233
207
231
260
190
215
236
291
114
289
178
252
259
220
234
170
278
309
271
276
292
220
186
274
265
289
165
252
282
164
248
314
250
288
152
139
233
248
162
151
208
193
172
209
231
114
316
167
198
249
266
182
262
252
176
244
254
180
242
246
242
203
211
286
238
239
233
258
222
283
206
287
175
198
220
218
191
231
175
315
283
185
188
215
239
246
262
247
182
214
253
173
283
225
215
168
271
236
251
267
187
213
213
174
243
328
252
238
242
262
212
114
126
210
217
247
201
191
215
196
177
293
279
278
324
238
221
208
215
176
200
178
203
244
299
218
251
212
194
288
189
206
306
280
206
259
201
324
214
195
216
217
155
204
195
226
227
265
312
216
220
175
313
209
237
285
295
261
237
181
173
205
266
232
196
114
228
219
273
196
149
305
200
284
207
181
191
228
229
233
253
225
225
222
269
230
269
285
255
224
187
251
324
242
191
234
209
234
243
272
204
108
193
203
235
239
224
152
297
243
212
238
151
307
193
288
233
206
213
180
152
223
226
194
245
262
250
189
248
259
216
250
297
246
267
198
248
157
170
163
173
280
249
207
247
225
201
164
196
196
216
180
234
276
330
283
257
221
207
209
241
161
252
190
287
198
239
203
212
250
206
235
301
229
235
255
202
232
161
197
207
334
244
200
267
231
304
225
247
196
287
306
287
213
262
253
186
239
210
238
199
211
250
257
222
202
146
186
168
246
240
196
223
266
168
268
193
174
217
244
208
271
254
290
302
328
174
270
215
227
230
235
173
236
328
189
300
248
227
252
174
261
250
225
234
233
181
194
215
185
236
269
177
209
173
200
241
208
177
246
175
308
236
268
177
245
257
315
227
221
310
237
190
221
278
280
247
281
229
225
170
173
258
290
229
241
215
273
181
287
222
247
265
247
215
222
179
258
153
215
175
235
225
247
230
352
216
186
244
249
206
146
237
287
260
215
160
220
114
322
237
342
171
144
139
221
149
197
218
251
278
208
317
182
201
239
182
197
286
234
174
209
209
121
178
193
194
218
175
213
245
269
181
246
303
153
278
192
299
215
223
244
210
152
261
210
162
282
251
223
220
114
218
285
246
156
187
245
207
267
268
252
238
160
263
157
264
296
265
249
198
139
233
194
246
278
221
230
186
187
255
274
165
238
200
212
191
187
217
185
241
223
108
238
264
243
176
301
156
221
198
236
209
198
126
191
243
145
188
233
287
252
238
285
277
184
233
126
284
215
192
271
241
269
259
174
275
214
182
324
258
197
318
243
303
342
285
342
195
225
235
194
241
278
217
270
257
184
254
227
179
236
214
296
204
216
255
236
262
259
305
198
241
334
225
231
199
254
225
288
173
228
186
220
204
202
221
275
180
184
257
204
212
168
298
168
261
114
212
286
218
269
139
243
216
194
215
258
234
230
180
244
198
221
203
184
138
351
162
237
198
188
211
199
243
243
267
221
182
326
191
253
220
126
282
257
237
209
196
240
269
166
308
193
168
216
223
280
295
217
195
170
217
191
210
284
254
221
255
180
257
267
165
240
234
292
154
228
160
203
248
192
177
169
269
260
173
249
194
225
235
216
265
236
246
210
241
289
213
218
256
216
178
261
262
271
190
240
126
264
260
235
180
213
225
283
265
217
271
214
144
215
235
211
271
249
176
212
257
196
208
242
200
268
160
114
186
275
167
212
214
234
240
195
218
217
185
301
197
202
213
208
326
198
178
170
207
216
233
191
160
291
152
266
203
181
301
249
195
225
184
278
166
290
186
225
256
247
232
231
185
243
171
271
195
241
194
255
217
249
264
243
161
203
278
169
171
233
236
277
278
270
253
116
212
240
171
173
249
267
292
272
195
230
184
179
213
278
198
223
180
204
200
219
171
238
226
242
219
257
243
211
231
230
189
294
267
190
272
219
168
270
184
207
267
307
260
297
166
257
191
192
309
196
272
234
248
228
203
262
262
281
297
218
237
207
239
252
121
158
282
231
267
285
227
234
250
207
173
309
179
203
298
174
106
170
207
285
239
191
334
299
233
242
237
242
225
326
234
158
269
284
256
186
194
199
160
230
199
212
259
192
222
212
217
188
307
173
182
249
213
279
207
277
234
229
143
278
179
152
247
224
235
225
292
224
241
145
116
233
273
239
166
218
219
188
275
237
213
208
253
246
167
264
280
114
210
130
278
225
237
186
179
283
254
172
261
292
243
271
232
250
210
244
214
188
266
295
220
246
197
192
174
267
182
205
252
258
225
176
215
238
223
266
206
220
228
204
260
252
167
272
225
239
224
311
301
268
238
180
262
367
246
188
200
260
237
173
201
270
207
370
305
173
173
309
244
249
249
184
149
221
218
315
202
228
213
259
190
279
195
349
303
171
253
258
219
214
296
297
201
206
157
227
173
262
169
192
220
301
192
251
274
198
296
201
176
258
251
239
227
222
266
266
259
225
300
231
291
215
236
230
151
299
332
258
236
261
287
243
211
243
286
191
163
248
286
175
226
226
236
252
235
196
242
198
187
229
299
151
232
201
249
148
255
232
259
173
212
211
266
169
195
215
220
250
220
235
258
202
129
170
219
261
246
247
167
219
168
236
191
243
106
128
247
209
269
271
278
250
204
283
170
317
270
300
247
237
181
207
226
203
233
254
280
114
196
182
243
179
163
242
249
214
152
241
170
241
191
199
233
195
277
194
256
285
267
241
235
270
236
286
263
225
144
178
237
193
269
198
145
224
206
213
274
181
240
174
305
174
339
210
199
182
220
229
267
233
151
208
273
290
220
195
168
198
250
272
250
192
265
219
232
206
202
261
235
243
279
256
256
247
210
261
280
242
233
279
298
198
216
178
258
221
186
236
203
208
263
214
286
185
278
153
191
323
206
203
279
283
236
211
219
154
220
248
275
305
220
175
276
200
277
215
223
192
191
183
247
258
238
216
227
261
198
292
239
234
186
210
242
188
289
308
173
228
238
152
247
223
133
342
208
242
207
216
237
247
228
161
255
257
183
199
209
234
145
217
233
181
205
237
198
247
228
227
284
280
191
202
318
114
239
220
219
178
165
266
166
222
219
218
285
174
233
296
207
326
320
246
214
256
242
174
191
180
280
257
223
228
240
228
177
258
217
159
217
171
234
328
262
294
261
231
167
235
238
245
207
194
158
261
171
186
226
335
228
300
232
254
221
202
273
223
186
173
209
195
231
254
185
220
170
230
193
164
208
248
212
174
227
256
233
215
156
218
180
262
234
114
206
222
209
213
214
251
166
169
256
296
207
246
273
179
239
292
243
246
201
274
211
169
263
200
221
243
144
231
178
268
174
194
151
251
286
221
160
172
314
219
208
205
241
158
217
202
229
242
279
238
213
207
189
280
170
197
211
273
191
217
263
244
231
157
254
264
214
199
174
167
284
291
158
244
160
160
242
169
279
229
263
152
171
270
179
209
175
240
236
240
319
192
279
243
200
205
257
294
243
179
160
295
174
225
168
155
242
232
254
168
218
178
151
227
200
190
267
215
255
260
278
273
187
215
200
190
160
226
178
211
206
167
186
218
173
254
218
238
247
214
235
183
259
253
239
272
213
245
238
195
250
253
255
270
174
275
246
187
172
170
264
241
198
262
260
193
293
156
178
174
285
219
248
195
221
278
219
174
240
306
219
160
160
266
201
172
170
139
301
260
223
157
203
227
206
194
303
188
297
266
228
196
270
121
178
171
241
228
249
264
309
250
206
267
307
170
219
186
249
214
228
217
278
175
234
190
158
211
270
200
236
265
232
270
198
278
207
221
227
269
187
245
227
130
146
225
280
281
169
211
231
242
114
238
160
232
198
190
233
256
205
175
246
265
218
232
114
188
257
169
278
274
378
275
293
203
244
250
248
300
293
210
168
166
222
192
232
256
290
221
262
196
378
259
253
203
255
220
220
258
151
184
199
268
179
156
223
228
265
318
213
238
173
252
211
192
263
279
228
212
280
168
172
321
220
261
229
214
253
214
195
223
192
192
173
193
214
170
178
227
194
281
290
200
303
224
164
236
247
254
225
208
261
160
260
271
230
318
278
206
237
258
259
261
272
218
181
181
213
149
165
228
284
178
206
139
209
244
173
237
177
196
225
302
222
171
307
192
203
199
306
268
222
282
250
179
256
217
203
168
219
191
256
186
270
210
160
261
179
206
246
156
205
305
165
204
235
241
114
238
195
293
228
221
173
289
170
166
233
267
278
232
256
257
211
219
297
152
194
169
302
169
251
248
213
303
251
257
215
246
185
221
243
287
246
261
293
272
160
200
276
203
288
188
251
234
241
249
218
232
175
228
217
165
278
246
227
288
162
234
180
212
309
243
229
279
233
299
182
212
191
214
252
147
214
190
229
129
215
226
337
235
192
228
277
207
215
241
243
257
218
271
201
235
196
293
247
144
254
187
225
189
247
260
181
222
233
201
294
274
226
309
262
243
278
281
240
194
205
301
197
171
198
184
213
114
167
227
232
361
172
240
246
173
163
204
214
221
254
290
211
183
222
201
263
219
245
318
149
216
258
277
272
258
291
173
180
206
187
247
203
198
207
229
219
198
278
273
193
218
222
273
236
198
255
225
207
282
214
262
192
198
216
301
224
221
300
297
191
264
279
193
198
151
231
301
253
199
277
216
182
187
173
212
247
170
300
186
160
181
259
277
247
143
128
199
245
235
262
174
283
239
253
181
272
277
216
269
259
196
270
161
253
258
206
213
174
218
176
301
168
195
262
273
249
189
205
237
306
260
208
227
216
211
169
236
219
188
252
220
238
282
209
191
192
213
226
299
214
242
241
251
247
320
245
216
301
282
182
312
256
248
249
204
239
210
236
233
208
192
262
218
285
234
156
157
269
207
180
262
226
218
232
251
188
281
281
160
162
267
378
286
179
139
191
267
154
232
252
192
190
248
276
308
164
221
294
236
223
250
202
314
317
263
201
299
208
152
168
252
233
241
250
246
296
220
232
163
280
268
244
116
165
304
201
171
208
206
244
144
185
286
275
196
218
146
193
254
224
256
114
139
170
230
225
200
138
257
200
219
222
156
262
165
213
211
225
310
255
114
277
274
228
262
221
250
220
208
220
196
281
239
214
178
225
114
271
172
220
188
184
214
297
166
241
126
145
258
229
309
264
285
266
219
177
248
158
309
248
254
292
310
233
206
192
215
254
156
241
154
241
266
198
170
180
245
200
295
226
234
276
248
228
218
355
184
269
227
290
332
209
144
275
273
243
223
165
188
208
235
223
269
175
257
216
307
326
183
181
304
243
244
173
158
218
239
308
181
218
251
229
190
151
207
130
232
225
217
265
266
212
264
151
228
255
152
198
241
225
204
293
237
214
215
236
185
227
197
330
203
236
182
263
232
204
174
210
254
168
229
311
175
231
254
293
193
251
237
202
195
227
241
191
185
225
236
181
328
240
287
219
259
193
158
213
255
234
192
229
178
236
192
207
226
235
232
239
228
243
201
208
191
253
264
231
274
270
243
265
174
199
219
196
265
234
218
259
251
241
197
208
212
139
241
229
268
260
241
272
283
217
262
173
197
224
220
230
222
195
230
152
196
267
203
114
251
220
260
188
253
249
210
296
180
181
233
253
242
195
260
241
244
225
225
215
265
179
209
231
243
268
211
252
158
198
191
272
170
210
160
236
171
170
156
318
234
214
192
266
216
268
312
310
248
278
235
221
161
246
263
231
277
226
184
204
199
224
247
269
198
244
174
180
246
237
267
242
195
177
279
212
256
195
168
158
244
287
343
226
196
229
201
241
218
236
178
220
170
258
313
245
222
263
181
180
215
348
294
219
160
202
126
206
212
215
220
243
292
262
256
159
198
238
201
229
168
209
250
271
224
178
167
235
144
222
200
289
205
208
295
194
219
241
263
207
231
272
235
247
259
186
174
226
270
299
264
292
205
246
214
116
237
248
295
250
185
281
261
261
202
195
209
212
332
259
284
259
190
208
269
284
208
244
262
205
297
281
199
281
192
281
319
214
213
204
223
191
223
154
217
311
228
184
156
194
197
257
215
224
272
225
238
190
255
322
146
213
198
147
183
220
216
241
206
298
169
257
260
281
213
258
289
145
200
198
221
208
245
270
194
216
240
178
189
242
269
185
253
232
247
249
246
257
160
303
234
274
254
187
273
223
241
243
114
217
203
286
238
240
261
256
244
251
289
214
248
262
232
210
193
249
174
169
321
204
370
168
297
174
225
233
237
177
278
165
193
290
192
181
203
329
182
183
211
229
225
267
179
259
207
169
240
230
230
274
192
209
278
194
185
264
257
240
234
243
202
276
191
261
261
253
228
186
198
268
165
193
185
206
215
243
180
230
167
217
274
262
181
206
163
165
280
273
257
229
219
266
288
251
226
216
263
167
192
259
254
213
258
200
154
270
235
253
271
254
234
202
139
190
201
219
243
309
229
258
285
197
296
278
233
173
173
169
279
194
256
164
114
164
275
245
178
242
257
173
262
322
243
269
164
266
243
256
252
185
178
314
278
189
296
231
238
177
305
259
195
186
148
252
221
189
238
166
160
182
156
173
196
234
285
225
146
244
238
317
162
246
152
236
299
126
223
209
246
276
282
174
185
175
239
225
233
260
244
214
265
279
208
221
287
151
270
204
252
276
243
173
236
202
114
212
191
231
204
247
256
239
269
198
229
163
254
181
207
261
260
261
216
205
239
252
251
223
270
221
253
329
284
186
218
246
229
195
114
200
289
265
114
192
190
247
185
247
220
168
172
282
201
269
170
167
245
180
287
243
188
273
270
307
224
303
240
283
207
222
266
198
209
183
171
209
270
255
227
257
231
116
205
156
291
193
225
237
190
265
258
178
215
266
233
196
211
185
202
225
193
198
221
192
172
170
203
240
237
231
270
237
164
238
247
268
246
155
235
116
126
161
220
189
231
220
263
281
187
267
198
231
184
160
212
264
178
163
233
286
250
277
240
233
126
114
196
187
166
160
308
245
227
180
223
179
275
237
249
273
253
221
232
185
177
198
259
213
254
192
129
299
238
205
244
174
266
241
139
177
198
266
241
280
301
245
279
226
252
220
230
259
238
166
227
279
250
211
174
144
276
190
222
219
161
229
235
208
197
238
246
235
246
284
277
214
201
284
283
158
273
195
171
222
320
247
196
226
198
192
238
332
234
260
241
280
196
180
292
205
192
219
219
153
205
159
203
172
217
207
196
211
319
210
219
227
295
203
187
225
217
219
200
246
186
248
210
178
227
221
308
208
242
307
146
200
277
197
159
217
281
294
231
175
177
226
160
213
198
267
174
192
263
318
196
217
199
285
168
236
247
280
165
212
199
235
232
276
146
121
226
217
240
217
207
201
166
241
238
212
220
233
267
267
256
146
247
208
211
177
223
160
220
240
234
160
160
214
286
243
195
209
224
289
183
279
212
189
213
227
149
253
253
224
143
218
203
152
237
274
114
225
250
225
178
250
183
206
240
181
187
221
275
207
220
306
178
246
312
227
303
225
200
193
195
175
263
128
241
235
171
209
319
226
226
217
173
152
230
145
178
193
247
219
208
216
258
235
291
287
200
223
253
280
224
266
208
246
255
159
289
214
255
215
306
278
213
211
296
256
233
197
180
249
192
198
299
218
269
246
264
219
145
288
230
252
236
259
190
259
234
139
239
239
246
173
309
181
208
277
225
183
244
231
230
281
347
230
269
156
313
226
196
265
219
149
201
236
152
178
151
274
296
199
258
342
212
240
351
217
295
221
186
183
233
233
158
277
208
305
282
219
247
288
197
219
209
183
283
232
176
225
221
214
297
242
228
299
274
223
213
242
286
175
229
192
279
226
235
235
217
227
263
213
220
214
306
121
247
167
203
247
241
261
183
286
263
213
175
251
246
198
194
196
257
246
200
200
196
227
256
241
215
185
260
273
201
239
161
233
253
225
250
174
212
280
240
242
220
196
193
200
291
277
204
234
143
273
220
207
186
213
215
237
239
216
289
225
188
259
158
207
233
241
210
247
152
165
240
250
174
257
251
245
234
237
273
208
201
167
222
156
216
165
264
254
225
249
197
221
224
222
188
254
251
195
263
286
212
196
203
244
221
275
161
144
196
232
214
238
269
269
169
230
196
163
237
246
251
239
198
196
168
253
211
270
126
233
256
192
190
224
248
251
302
321
237
192
222
126
263
203
162
262
197
277
176
211
276
189
327
286
178
151
156
244
189
154
178
206
191
182
202
256
266
222
234
152
245
272
273
203
214
162
293
207
114
280
298
215
268
266
188
191
246
214
188
208
250
223
238
234
231
184
251
210
222
179
196
250
260
238
327
276
206
173
251
176
189
169
226
214
180
273
224
219
174
160
173
184
241
283
191
201
200
173
233
145
256
242
282
209
367
183
175
192
307
160
215
227
203
216
234
281
157
356
270
194
226
221
129
160
296
154
260
192
213
168
247
157
206
171
188
229
262
175
178
271
294
302
207
244
255
221
242
217
273
207
248
192
174
189
235
205
250
225
283
228
175
264
263
212
208
282
160
237
198
324
182
208
224
205
248
189
178
252
294
275
230
277
172
249
169
303
247
195
224
247
158
174
199
234
184
259
208
255
263
235
170
226
276
216
243
282
221
233
301
272
263
315
170
197
167
204
186
198
176
274
197
267
252
231
220
243
186
243
241
273
264
231
232
212
251
235
241
254
228
178
247
208
267
203
256
227
234
235
196
276
281
172
251
261
201
178
200
225
226
243
327
296
198
313
212
229
183
195
263
248
168
237
227
230
217
114
207
239
181
209
269
174
270
157
178
184
195
270
198
217
265
296
227
188
198
253
268
194
285
194
204
252
232
247
194
280
258
250
171
288
236
208
233
220
173
116
256
293
231
247
178
180
272
309
281
256
215
197
226
219
126
201
185
220
232
181
285
159
196
293
200
223
251
206
258
227
222
152
246
199
214
214
169
192
108
273
178
215
219
286
253
263
231
193
306
235
126
176
279
199
218
251
225
241
246
283
199
198
283
232
222
227
198
226
195
206
214
201
262
168
274
193
239
168
243
268
199
192
241
162
289
182
309
191
276
106
260
186
264
241
146
198
247
333
217
175
241
198
232
310
219
260
207
354
250
249
248
216
214
196
175
175
316
203
194
285
195
218
229
222
244
262
198
202
240
161
229
220
172
230
261
191
267
242
311
248
185
146
193
197
308
289
254
280
162
308
278
198
234
214
229
303
348
222
249
251
243
289
200
206
244
180
192
223
284
245
175
261
175
247
149
252
261
270
301
151
240
204
312
154
217
252
204
148
272
213
158
255
180
205
262
243
194
170
126
235
160
232
220
251
191
332
214
222
212
211
162
145
247
216
156
260
297
194
258
144
240
190
215
197
229
276
162
223
251
173
186
227
253
192
256
180
282
286
208
235
152
166
293
188
231
218
238
202
156
270
226
223
246
287
236
228
235
295
195
213
269
271
185
199
229
244
206
196
237
220
250
267
183
258
226
255
221
192
298
315
185
322
277
220
212
263
145
192
213
184
252
206
264
297
221
233
177
210
203
114
220
196
213
234
202
220
198
199
214
243
248
188
232
183
252
240
234
225
184
339
261
228
241
223
236
235
191
252
167
282
203
108
238
280
227
300
207
187
221
172
225
298
214
190
200
183
213
177
173
228
244
272
275
258
272
226
190
234
206
210
270
184
269
205
261
264
272
260
259
156
222
203
205
284
231
222
297
223
240
216
205
198
194
203
234
180
173
265
233
195
206
312
284
244
274
164
218
253
222
207
151
230
296
172
271
224
187
231
253
258
197
255
168
259
166
261
271
126
206
277
152
252
248
126
193
317
296
259
221
294
166
247
274
151
179
252
200
160
226
186
191
233
213
275
223
234
255
251
114
212
231
206
225
149
185
208
192
178
204
219
178
178
196
223
177
310
216
283
147
230
197
245
311
238
241
277
239
162
205
179
255
227
232
174
205
255
189
211
321
193
160
225
233
252
223
222
247
194
247
217
260
239
166
181
258
226
279
237
295
218
162
250
198
188
167
198
189
278
193
241
246
245
286
213
239
282
203
217
184
334
218
189
250
297
294
214
293
260
160
267
206
164
158
209
235
214
182
304
149
305
300
217
220
207
287
279
224
273
188
184
171
245
277
194
335
244
225
188
243
221
222
239
208
205
224
253
193
291
250
234
213
259
253
239
260
214
226
199
114
181
207
270
206
273
291
252
160
220
282
212
179
114
114
307
144
190
183
252
224
191
234
220
214
242
160
192
198
210
236
211
191
169
126
227
220
280
169
169
306
236
200
232
274
164
196
297
174
239
204
225
208
243
206
211
256
180
198
237
267
253
216
211
180
295
265
279
211
147
191
219
253
283
161
230
205
254
230
151
306
285
280
308
239
203
335
234
291
222
270
254
247
168
310
210
259
255
253
165
195
188
295
245
255
169
239
164
238
180
212
245
251
184
187
235
233
211
172
248
228
256
200
238
233
285
222
193
260
199
241
192
243
161
330
207
316
239
199
181
248
313
238
227
309
156
247
214
156
200
254
267
205
257
300
273
268
283
243
252
219
114
202
233
178
217
259
229
255
262
210
203
255
315
260
280
236
234
273
207
253
202
186
231
182
223
195
238
279
318
222
297
179
221
251
247
325
250
162
189
170
214
214
235
259
195
260
300
265
207
162
346
215
146
240
305
222
216
188
299
215
175
214
166
170
236
214
260
256
161
254
229
195
244
223
233
303
252
184
209
263
292
244
227
181
193
283
233
194
238
161
308
233
253
183
203
192
114
205
229
251
250
204
239
272
192
251
264
182
226
164
212
243
141
234
114
233
246
252
203
264
218
208
203
211
207
280
235
240
244
175
237
253
246
218
250
262
194
258
195
245
267
258
169
247
147
307
243
299
208
139
128
179
178
231
206
297
162
226
200
201
226
176
254
210
202
162
212
252
222
182
258
209
197
185
252
246
233
215
242
209
206
216
296
244
275
225
217
240
157
186
202
164
237
210
205
202
304
340
213
116
259
226
237
179
171
179
251
260
169
166
211
249
158
189
227
187
263
240
232
244
158
310
181
351
295
276
183
260
259
288
248
186
308
190
285
235
243
212
220
214
265
283
228
232
197
232
128
221
175
202
259
258
227
250
184
284
187
172
180
248
215
228
279
288
256
160
239
268
253
157
255
196
241
198
286
250
268
241
176
179
198
222
217
229
254
251
244
153
220
213
212
248
188
232
221
283
203
259
252
219
215
253
162
250
195
170
234
235
221
232
213
225
156
148
239
217
255
176
159
197
334
161
232
232
277
259
176
256
220
223
245
209
214
207
216
160
194
277
293
230
268
247
265
261
365
211
228
165
166
228
169
200
233
212
173
253
246
175
190
249
270
262
209
193
152
187
179
224
218
331
268
240
204
168
199
161
272
231
229
251
195
252
281
209
203
235
252
192
213
214
332
174
108
275
258
151
262
230
177
239
181
253
251
214
181
298
168
116
182
305
177
279
205
228
258
202
333
233
239
235
197
310
212
193
182
228
182
222
211
191
312
261
203
162
259
213
228
178
195
271
234
147
259
245
193
302
278
331
227
199
213
206
254
204
280
164
223
221
200
174
169
175
251
267
222
160
298
248
154
139
216
215
269
249
166
252
225
225
236
173
225
308
170
307
236
268
213
260
217
313
114
182
173
238
238
256
296
309
279
181
231
247
295
161
238
225
231
228
152
271
170
236
194
243
275
273
254
273
257
224
146
215
213
169
114
298
166
174
282
208
149
166
213
237
243
270
208
184
205
221
282
214
193
298
214
267
217
250
174
279
194
204
278
223
212
242
238
282
229
188
269
220
220
223
205
264
231
170
279
202
193
144
193
114
197
230
163
213
164
266
277
229
198
237
221
173
170
276
312
193
180
265
149
262
218
335
261
196
190
259
209
247
200
222
252
236
178
202
232
180
246
272
253
191
293
204
290
149
239
282
301
114
197
277
248
151
168
224
218
262
217
280
190
160
250
254
170
282
320
275
182
247
249
321
182
290
259
233
170
265
200
238
191
311
341
335
239
210
306
304
195
236
208
299
207
273
199
274
114
172
189
198
254
220
221
227
259
211
173
162
287
151
229
211
209
263
167
200
198
219
276
270
178
208
331
221
192
130
240
205
211
205
251
272
287
275
241
216
200
175
239
235
279
221
260
250
300
197
176
221
160
239
224
233
203
203
214
196
211
174
226
266
204
175
213
259
194
220
184
313
154
180
158
292
114
236
205
268
220
241
156
318
284
242
363
209
257
211
196
236
190
179
247
246
211
245
256
297
254
240
267
181
219
166
281
249
181
297
283
206
225
200
233
190
293
213
294
238
249
190
254
174
227
254
244
202
201
224
200
171
269
218
238
238
187
170
195
228
259
160
121
171
267
181
183
229
235
277
237
251
192
194
178
308
279
231
174
211
164
224
205
194
196
184
203
189
211
196
139
199
178
231
213
278
246
196
252
218
189
248
183
302
253
139
220
253
343
210
194
310
194
245
246
213
184
171
170
129
286
201
241
233
232
203
178
321
249
208
179
287
228
230
187
270
228
266
207
242
215
210
240
196
177
213
288
216
259
251
219
286
211
227
238
226
276
236
191
274
254
221
231
243
281
238
180
206
273
294
230
211
246
249
194
302
201
192
243
246
283
171
298
188
179
172
204
226
261
272
238
130
218
229
214
319
189
354
206
349
282
248
198
190
188
206
190
211
286
169
203
161
187
211
277
183
266
222
184
259
157
142
245
169
192
222
222
266
170
192
186
239
228
177
291
229
200
160
277
231
233
251
241
173
172
218
228
240
215
160
193
206
174
201
297
257
213
195
204
220
173
194
194
211
231
241
236
264
207
270
305
211
296
190
287
302
212
288
153
196
230
202
241
126
178
170
225
348
155
231
218
202
149
220
263
231
274
220
369
209
204
178
235
128
267
170
282
211
236
217
231
253
307
232
276
224
256
275
178
261
160
263
194
229
221
154
278
227
227
224
193
205
252
283
221
242
318
191
224
197
178
218
258
218
196
193
279
212
114
259
178
236
168
247
223
197
217
173
114
342
199
204
218
242
174
213
326
243
187
225
230
207
174
236
114
245
229
250
204
287
139
233
145
202
292
257
235
278
229
345
231
200
128
152
239
146
227
231
230
222
242
220
259
288
225
233
204
284
201
192
186
236
156
195
232
156
220
180
217
258
199
212
234
203
261
246
223
203
246
219
238
215
260
166
248
228
114
230
178
196
225
237
164
210
210
207
204
173
189
206
221
156
289
280
219
280
161
207
211
276
246
270
265
303
235
262
229
224
196
265
235
239
176
230
280
206
162
203
189
211
208
201
238
214
215
156
180
215
279
290
268
314
218
212
230
200
275
235
204
280
233
257
174
276
277
180
189
243
210
292
270
245
193
207
212
235
114
225
227
250
215
181
215
224
245
197
241
272
239
278
164
221
220
203
233
291
217
286
181
245
287
222
291
235
259
229
234
185
206
229
202
221
244
229
201
247
242
297
233
245
192
216
235
265
271
261
261
181
232
259
247
208
251
279
290
276
187
166
248
188
287
327
274
214
197
273
242
193
258
238
145
197
278
234
169
236
139
257
239
250
199
313
223
221
228
245
249
144
199
237
240
240
168
212
187
195
220
168
174
173
174
272
200
225
156
239
234
310
192
177
160
213
263
219
196
270
249
246
225
197
256
222
224
215
171
198
199
213
273
207
251
254
261
254
210
308
316
195
238
231
139
242
160
213
369
155
242
219
306
224
184
171
175
234
139
199
287
234
264
239
180
205
195
251
297
229
197
238
242
233
241
237
248
192
312
200
273
213
214
155
222
189
245
209
239
224
170
223
198
195
169
314
230
281
174
174
311
230
252
247
191
249
161
241
226
227
222
170
159
176
328
241
296
203
215
228
255
298
170
245
158
214
229
227
222
139
198
273
278
296
230
174
121
191
315
219
244
253
238
191
238
170
183
214
229
213
262
255
309
220
160
248
196
211
224
276
199
279
264
216
219
305
265
182
238
250
144
216
114
245
247
139
278
206
250
267
211
207
194
184
261
288
179
196
237
224
241
139
222
170
241
210
300
329
223
184
170
179
283
189
184
240
114
179
183
299
215
218
228
258
195
266
208
251
214
247
284
198
243
209
229
207
311
218
168
171
309
275
295
209
243
321
304
261
262
276
219
259
294
219
208
209
268
257
267
171
222
246
170
285
151
293
201
200
270
207
174
272
275
263
246
148
225
177
205
240
171
274
195
126
299
180
129
241
252
200
225
329
270
248
217
210
270
222
238
258
147
288
191
246
219
232
291
246
242
355
223
393
302
145
175
194
198
241
174
175
266
144
217
191
167
207
206
204
174
248
214
276
208
165
275
249
313
260
198
226
204
198
273
205
276
206
175
267
154
197
197
242
192
212
222
229
259
114
182
212
189
211
121
214
209
209
239
205
248
262
193
219
273
219
218
201
247
317
170
279
220
213
244
266
227
247
214
214
235
194
207
233
252
285
202
229
267
228
162
198
198
226
228
241
196
243
194
205
293
258
178
249
233
175
205
271
257
207
237
182
276
181
169
228
174
223
252
270
175
183
126
282
252
256
203
231
274
130
230
253
209
252
209
258
244
232
175
239
233
282
210
262
306
256
114
116
223
186
250
220
221
230
203
181
209
312
156
214
242
238
304
219
278
269
255
323
276
192
158
253
221
285
226
222
280
290
230
221
309
234
207
173
225
278
214
145
225
264
208
215
198
169
285
186
192
319
160
260
254
252
260
223
279
239
322
260
199
179
223
211
209
209
169
237
203
235
222
261
190
228
260
203
270
215
194
235
282
203
175
230
198
210
202
269
246
215
264
243
229
226
152
182
240
168
233
244
270
225
269
169
199
315
294
300
238
263
180
259
207
298
198
174
276
234
249
326
216
227
298
225
321
251
204
288
242
266
237
227
210
215
240
253
213
198
181
209
151
294
257
192
222
239
235
187
222
250
170
255
253
155
166
178
198
195
194
250
290
178
240
156
230
151
198
231
304
181
212
271
189
308
296
239
238
258
212
217
198
233
203
233
209
238
215
230
270
278
263
166
217
241
251
187
229
260
239
291
302
303
195
211
172
332
215
148
200
126
270
252
214
209
138
209
191
198
192
244
211
169
189
180
252
212
243
258
259
204
369
245
243
279
184
279
171
273
231
161
198
169
233
258
254
176
265
235
245
248
225
176
176
255
169
173
151
220
213
283
237
311
251
265
256
254
281
284
244
181
210
213
248
245
228
183
214
221
184
222
241
218
253
204
260
231
250
157
250
260
191
179
205
207
182
237
198
191
241
152
219
261
257
222
250
243
195
205
184
240
207
247
314
227
225
248
256
316
226
244
170
227
201
270
244
195
165
161
196
268
237
251
198
218
213
173
188
232
218
175
284
183
251
218
244
202
200
148
250
255
171
254
170
186
238
235
173
191
246
237
114
246
273
242
214
191
174
209
196
300
227
177
234
114
206
148
229
241
264
195
211
275
147
218
238
215
201
346
311
247
185
342
249
225
151
158
227
266
195
290
179
200
180
223
225
227
242
242
189
320
195
276
233
219
188
332
253
284
238
303
253
309
285
270
301
194
200
293
267
218
314
162
225
247
114
276
211
180
243
229
279
229
219
239
262
195
208
249
276
215
203
155
237
246
227
264
283
235
242
149
238
257
230
165
319
139
201
231
267
182
209
315
214
227
220
260
226
223
219
191
213
252
168
157
233
174
204
225
164
175
165
229
170
179
181
234
185
238
292
358
160
169
176
251
175
259
215
207
178
160
267
191
310
266
262
241
291
210
251
259
191
193
187
278
240
251
193
211
195
180
213
237
130
236
175
277
267
263
228
231
259
198
188
227
272
211
154
184
208
285
242
281
288
261
225
195
114
218
317
299
263
283
251
279
174
154
237
199
151
233
220
227
240
269
208
318
240
198
298
217
192
269
148
201
259
290
237
192
224
243
250
234
270
251
252
213
248
251
215
275
156
289
207
194
221
220
211
160
311
185
205
203
189
176
257
257
222
223
252
213
264
170
245
287
238
209
268
222
252
182
213
186
217
222
252
259
163
264
294
237
221
314
203
228
249
307
226
238
250
232
114
196
204
300
211
179
180
264
223
198
258
237
219
186
193
223
221
252
273
270
151
252
170
237
320
156
299
176
129
252
160
221
305
209
332
247
157
209
249
231
235
208
252
285
267
170
315
243
199
235
215
206
310
219
198
207
144
247
209
248
221
220
217
235
317
154
252
181
237
146
210
165
173
264
240
184
246
309
226
229
187
193
211
223
296
317
297
265
210
235
227
247
248
243
288
272
209
254
157
220
198
205
227
303
305
238
314
228
224
210
225
251
224
260
114
238
206
207
262
279
229
179
211
266
283
180
198
258
255
210
166
296
183
249
215
255
194
248
220
208
218
231
251
174
215
216
330
213
180
191
235
232
169
241
186
289
246
200
207
288
161
205
176
238
249
282
221
215
218
199
179
252
168
221
264
227
224
254
235
206
153
201
214
229
198
257
178
268
220
177
176
202
162
267
273
218
294
203
264
200
160
283
232
207
223
164
188
321
217
116
305
178
200
193
271
243
180
156
248
242
208
202
239
235
218
196
234
280
307
206
230
318
186
170
214
208
173
245
242
199
178
265
227
312
213
234
227
281
298
238
217
286
216
299
174
167
178
273
174
274
228
244
219
215
188
201
274
215
271
260
306
237
275
229
321
259
275
167
178
158
184
196
220
235
248
193
285
295
225
282
184
256
208
195
162
206
224
229
319
196
180
198
173
246
224
309
213
198
256
259
312
170
293
233
273
231
269
221
216
261
206
198
173
214
210
214
213
190
238
283
289
189
192
278
196
192
169
218
261
241
224
263
259
228
281
152
238
241
197
289
260
175
206
190
235
219
239
248
269
229
147
193
203
239
275
243
128
251
216
252
172
156
208
215
284
174
208
248
231
310
204
209
287
319
275
180
246
265
227
224
256
253
209
185
204
144
257
216
303
217
199
303
188
265
194
271
252
185
181
224
230
259
249
259
215
227
237
209
145
159
273
144
203
180
262
190
238
152
226
196
279
331
202
114
320
300
157
275
192
260
265
183
162
178
207
311
219
277
315
173
246
309
206
291
299
248
209
254
161
169
253
188
241
166
215
195
250
210
265
301
194
168
234
211
189
282
180
238
214
185
241
151
170
267
218
179
249
126
239
210
275
176
230
295
200
201
242
212
214
225
263
232
232
256
188
173
204
168
261
324
274
252
203
244
165
235
239
294
168
162
243
262
167
267
303
216
215
201
291
330
211
234
212
238
220
265
367
170
211
236
286
222
279
254
201
251
206
266
262
178
238
224
255
151
158
228
235
199
223
250
195
214
197
244
229
239
221
272
256
212
324
215
145
202
290
262
259
195
280
271
208
256
231
210
171
247
258
274
174
198
277
205
220
193
211
163
227
221
213
191
207
181
271
263
225
230
253
185
241
246
178
176
191
267
225
251
234
184
215
282
251
273
191
226
209
282
229
280
216
193
207
184
223
193
251
279
207
311
252
270
236
206
295
284
203
285
196
265
174
233
215
262
329
205
126
325
165
283
208
228
158
196
190
214
250
248
224
236
192
212
245
247
307
247
193
197
264
233
231
164
309
166
237
179
173
200
217
220
183
206
272
279
141
305
179
246
156
231
173
233
302
196
327
313
208
247
197
218
248
220
233
219
207
270
181
258
251
219
238
201
231
235
220
165
227
244
254
139
205
183
281
114
215
175
213
208
152
224
170
274
218
239
170
180
320
180
162
168
152
285
208
229
215
194
206
196
226
262
328
229
317
269
242
205
235
255
245
198
228
176
197
174
251
178
281
220
250
212
219
218
249
263
261
207
187
207
234
271
133
242
244
184
145
198
165
216
233
154
201
157
303
241
216
245
239
223
146
236
263
231
267
234
255
250
200
305
279
228
183
241
247
275
186
245
160
223
198
246
234
266
247
201
287
247
266
216
244
130
203
233
144
178
221
257
196
178
134
230
250
305
312
222
271
198
206
189
214
239
187
242
274
266
205
224
290
170
193
234
285
325
174
158
244
114
228
148
179
299
114
202
200
235
191
264
244
202
267
114
229
256
217
198
371
210
249
233
174
200
170
244
217
222
240
221
256
187
194
251
186
228
162
175
216
245
275
258
263
165
266
255
218
246
253
269
237
139
243
173
226
253
270
176
225
193
208
300
274
249
202
129
236
204
169
268
203
205
276
224
164
225
257
165
293
257
180
255
204
293
300
194
203
217
223
272
253
181
261
203
270
170
230
227
217
240
307
193
238
205
238
169
212
285
284
266
253
178
255
229
228
167
215
188
281
280
291
213
171
195
135
213
181
192
281
276
221
253
205
255
260
207
273
303
241
114
248
231
240
223
178
229
259
171
199
254
278
185
230
228
226
212
178
228
248
310
207
285
313
277
217
243
250
278
190
285
230
262
157
219
292
178
175
218
114
323
251
235
229
241
269
163
213
235
203
192
273
156
215
298
231
235
258
260
247
256
258
159
277
175
258
200
236
219
274
191
289
288
219
229
114
253
261
287
293
271
264
170
247
221
295
198
198
335
213
129
204
253
265
161
282
231
149
214
218
228
106
215
234
216
253
228
204
267
258
128
114
159
256
315
222
151
198
175
238
192
224
285
187
161
296
214
278
195
145
192
216
252
221
202
150
156
235
249
224
192
283
193
241
240
207
324
330
220
216
226
170
176
254
231
262
208
208
215
222
183
347
232
213
201
246
179
185
305
326
237
174
282
202
320
173
263
232
196
284
311
158
310
164
238
220
175
114
225
205
228
305
187
320
204
209
240
266
214
243
219
281
270
228
170
197
215
226
257
152
201
225
249
190
240
260
286
184
213
211
179
201
234
160
184
201
229
199
177
245
192
278
170
177
249
224
220
230
272
243
234
186
250
267
239
217
280
281
250
238
161
208
232
175
186
238
246
187
204
253
224
206
202
310
195
230
197
269
185
258
128
226
286
222
205
236
226
247
259
252
189
316
263
228
114
153
214
193
198
144
287
281
278
217
207
232
212
273
213
200
227
209
176
241
215
272
181
259
252
240
253
246
211
260
230
114
174
229
217
231
242
167
165
320
200
218
244
222
282
210
265
209
206
216
225
262
219
280
173
227
197
183
222
288
206
217
214
209
233
269
221
243
191
275
218
160
341
201
260
130
272
214
267
247
221
178
207
192
310
177
173
196
235
267
298
139
307
219
203
292
173
295
213
265
220
278
260
256
215
235
238
198
171
207
199
253
225
159
202
243
238
168
279
268
194
210
246
314
262
303
268
231
225
210
267
146
240
252
178
170
227
231
184
139
225
265
166
157
156
229
260
173
325
241
277
213
274
213
181
287
196
235
206
272
155
219
215
252
244
327
175
194
179
283
213
192
222
240
288
243
209
281
254
254
210
273
208
243
241
253
222
252
114
219
179
211
234
192
201
252
277
253
293
234
215
266
259
227
244
183
239
259
295
268
190
200
229
258
196
274
262
232
236
240
180
214
197
236
230
278
188
240
187
249
291
181
285
214
198
255
169
270
291
250
166
228
228
273
229
240
298
170
239
198
151
222
238
240
210
200
211
189
213
268
285
235
224
309
139
272
183
186
179
225
228
205
207
233
183
192
156
238
265
204
204
302
195
247
209
213
200
229
199
277
166
222
192
196
176
219
269
114
224
167
175
241
188
246
201
266
234
265
243
114
219
204
157
224
207
189
156
198
226
221
227
280
341
283
246
252
278
229
220
300
176
244
182
205
287
206
208
185
263
200
240
283
210
253
239
160
253
322
300
212
218
126
217
220
218
191
387
196
214
239
106
233
189
139
207
214
291
179
297
161
126
250
333
253
174
217
209
199
284
286
231
221
221
217
202
296
288
213
281
216
175
192
204
263
193
336
149
308
287
248
151
321
270
308
236
243
192
283
194
262
236
235
273
214
170
233
275
216
287
238
190
261
224
287
253
274
282
238
192
229
192
168
256
225
222
224
179
243
202
196
256
282
218
244
213
232
207
176
263
242
251
182
253
156
178
139
274
237
263
238
214
238
327
274
114
198
225
286
227
173
241
260
139
234
218
222
194
215
289
126
261
255
199
188
171
213
214
240
236
289
180
227
262
201
276
250
188
176
193
285
154
266
269
252
167
302
215
242
162
223
232
251
235
220
227
247
223
238
182
185
174
180
264
231
214
251
247
214
168
306
256
282
149
253
297
114
178
241
256
183
174
221
217
238
161
344
163
221
207
206
225
231
217
198
225
174
129
201
241
227
160
207
211
273
139
170
233
242
209
250
235
181
223
173
169
230
222
188
169
252
225
180
264
297
240
243
344
220
199
296
178
146
158
233
254
225
214
168
183
259
282
204
329
239
154
193
188
177
266
208
214
250
181
263
279
193
191
202
266
235
206
160
201
169
199
215
177
176
250
108
233
267
247
291
207
259
263
300
252
228
257
247
234
261
267
258
288
185
253
195
176
229
202
343
237
181
172
180
238
188
264
198
249
203
202
290
252
298
259
262
232
195
239
229
192
160
276
184
296
173
359
133
204
172
203
153
315
217
232
198
256
208
243
181
160
302
214
175
224
226
241
211
228
152
286
183
226
154
170
189
213
231
337
203
259
253
221
225
237
214
234
222
211
226
199
229
222
178
225
296
186
194
203
222
167
172
223
250
223
193
283
178
212
298
256
128
232
200
240
263
140
276
231
228
239
232
178
248
233
192
209
146
335
212
270
280
161
232
277
275
321
224
249
207
222
285
195
148
207
196
248
239
215
184
166
241
249
258
244
285
171
264
230
247
229
218
242
203
149
260
287
269
280
358
198
202
238
214
275
209
283
177
246
304
225
274
220
224
219
172
245
189
249
283
213
234
301
225
217
254
236
220
242
236
234
198
221
196
207
297
229
180
213
191
203
180
235
256
186
169
184
277
206
224
146
233
213
260
254
256
192
229
244
188
180
215
251
241
222
114
210
278
192
281
165
169
247
266
267
265
203
248
114
222
170
245
243
245
248
225
309
262
209
265
238
241
250
174
259
227
206
257
175
331
170
245
199
152
241
258
193
241
214
255
114
237
220
206
256
310
213
180
184
232
244
222
227
290
194
299
303
226
209
202
240
266
161
267
170
269
199
160
216
201
235
240
210
343
170
241
221
198
232
190
181
267
213
264
258
225
191
227
264
168
204
239
259
195
176
167
152
220
190
173
260
305
245
199
230
218
334
114
276
219
215
222
294
209
218
229
203
184
181
162
189
273
160
317
227
177
231
149
211
258
187
196
214
234
181
240
220
281
114
229
168
198
203
172
279
234
193
313
163
190
277
198
279
114
255
260
222
244
261
170
182
222
181
233
252
195
238
230
265
195
208
194
208
260
224
234
178
251
258
226
179
227
272
183
248
211
248
203
223
291
238
188
182
203
156
233
234
335
273
232
323
354
241
186
106
231
231
168
160
255
224
227
252
270
214
258
157
222
200
258
289
255
177
178
133
241
199
249
206
261
169
290
215
126
252
205
214
194
167
244
343
197
276
211
274
231
263
264
262
282
279
198
215
198
229
284
271
174
261
220
286
325
207
256
253
234
238
198
158
246
227
208
252
211
294
271
205
295
283
198
208
289
262
114
274
197
179
221
317
261
237
114
248
214
173
227
265
160
276
180
311
186
220
236
284
186
224
214
288
205
292
234
183
222
252
202
182
274
222
250
179
257
216
237
203
238
260
244
175
203
212
190
198
151
242
223
257
204
189
188
221
232
165
174
181
114
178
198
237
189
235
179
267
370
228
133
227
234
267
236
231
201
232
236
253
290
198
272
221
165
204
190
181
266
213
277
263
285
304
226
245
219
240
333
278
259
183
174
229
242
217
216
254
219
228
196
272
279
296
179
146
242
341
236
240
176
219
114
210
281
234
225
183
213
295
198
219
230
181
195
242
175
265
160
193
218
226
213
381
239
227
264
242
204
259
241
306
234
247
184
247
239
270
290
245
228
204
180
254
217
156
267
231
203
213
329
236
248
194
267
149
214
253
198
198
359
184
225
114
213
214
221
205
229
257
193
174
267
271
224
214
254
241
182
245
206
252
249
175
212
298
208
252
222
283
231
152
153
220
249
175
241
262
221
205
326
191
211
340
254
228
264
279
223
179
212
172
180
258
163
237
166
270
204
233
178
191
184
156
130
257
225
195
230
195
210
261
271
208
199
213
225
167
288
333
268
282
219
178
287
240
239
116
202
233
236
276
191
270
157
228
183
255
211
199
241
205
360
260
243
286
204
291
214
218
212
156
175
266
168
181
188
227
263
158
159
350
189
252
196
289
159
232
211
256
263
214
169
219
206
219
231
202
198
214
237
290
340
257
203
264
223
200
223
184
208
258
217
209
240
195
208
195
224
257
281
240
206
263
208
191
256
254
176
158
256
248
295
268
162
276
194
139
213
231
191
258
129
306
183
254
225
256
220
239
192
208
231
178
252
199
198
252
166
243
241
267
206
221
188
234
178
185
242
206
266
186
213
232
186
203
263
180
181
252
188
191
218
236
271
235
223
262
284
178
169
246
263
114
234
146
240
193
244
247
246
217
192
232
202
222
216
194
199
200
318
257
211
200
225
248
263
180
191
171
259
165
175
219
198
207
250
221
297
238
254
219
148
252
108
226
174
169
280
227
224
170
159
188
263
196
211
232
170
231
200
192
184
248
334
213
244
296
264
190
251
186
266
233
206
219
196
178
309
200
177
203
296
195
232
160
187
225
234
145
242
258
226
250
197
228
239
301
146
239
257
219
280
292
258
200
238
139
285
274
210
185
189
273
240
185
178
152
244
300
259
221
225
258
222
265
232
265
252
168
175
269
179
174
164
249
252
169
272
213
156
322
240
190
231
325
209
182
200
196
203
212
195
218
188
218
304
198
280
213
196
234
251
231
261
209
210
191
189
219
200
219
223
237
255
225
262
223
238
281
220
193
207
271
171
288
198
263
211
199
193
206
150
208
202
235
253
261
221
214
280
166
210
283
220
276
270
116
145
218
205
217
235
184
207
182
182
202
246
220
322
221
282
144
148
255
154
222
190
165
150
337
305
293
213
211
255
227
248
222
247
186
203
214
231
258
185
265
204
179
297
242
181
209
306
167
308
177
248
180
152
212
242
275
228
209
258
186
214
240
237
266
246
190
223
258
212
220
191
195
220
174
243
241
244
221
200
222
170
288
286
220
278
210
188
238
235
198
290
190
156
146
121
233
184
172
224
231
158
212
273
186
302
244
205
178
213
185
233
221
367
238
217
196
192
253
282
218
202
180
281
215
216
190
255
173
145
194
196
175
226
339
236
233
186
255
198
227
231
114
219
187
235
262
249
195
229
165
220
222
266
207
218
197
180
152
126
216
213
282
210
211
271
223
288
301
214
271
215
294
215
231
198
191
223
171
164
184
199
223
232
175
256
267
291
114
260
288
239
224
224
212
218
234
242
316
173
192
207
192
191
233
219
190
200
240
214
210
173
232
183
167
216
252
257
224
156
170
301
266
279
200
192
249
160
253
245
222
273
235
235
265
283
200
229
195
169
254
248
203
191
204
237
214
211
178
202
212
183
212
235
106
195
289
247
242
221
244
214
106
324
259
222
189
180
242
298
184
234
266
205
229
255
239
247
284
184
229
234
208
219
243
216
208
238
222
191
174
171
180
267
179
198
212
185
196
228
188
192
221
194
234
215
208
300
243
322
260
225
215
186
264
195
197
173
146
306
247
210
199
233
310
218
208
240
238
280
281
164
202
251
161
202
183
170
243
231
306
168
278
251
243
304
243
164
248
302
176
224
276
248
180
289
203
197
293
282
211
234
145
182
216
289
160
236
262
218
187
240
239
218
179
263
234
256
192
192
297
279
296
298
255
145
215
209
225
198
174
188
152
229
229
175
229
224
207
162
285
226
171
259
192
304
270
246
205
164
196
212
245
197
221
195
178
196
209
244
211
219
254
196
265
249
189
196
280
145
204
171
250
200
281
156
271
231
230
303
288
220
229
290
238
189
223
199
241
218
277
169
189
229
276
329
237
208
154
244
254
227
245
315
217
260
284
238
298
221
226
249
286
176
203
170
228
227
209
287
248
223
201
323
196
257
228
286
157
226
251
259
247
199
233
275
134
198
246
237
275
229
270
263
160
238
247
289
292
235
210
225
230
168
251
285
195
215
257
179
190
256
224
221
198
203
232
246
180
211
189
206
260
139
215
220
198
320
243
236
174
230
192
198
160
203
234
249
181
237
223
201
146
207
139
273
282
245
307
229
236
275
300
278
139
228
294
283
304
242
202
260
252
206
322
171
184
225
198
197
336
243
247
246
252
162
261
239
232
204
200
173
262
225
212
202
200
247
284
268
129
165
193
197
163
185
224
232
213
293
304
233
200
214
231
264
186
161
215
218
290
199
277
219
208
220
377
254
246
203
266
152
216
205
201
245
240
177
300
237
271
210
198
220
263
197
314
196
183
243
208
256
233
166
250
156
262
245
268
240
273
211
158
190
281
191
242
217
166
185
280
215
222
242
197
175
170
282
189
256
235
237
198
165
218
230
147
152
208
273
302
294
229
255
237
271
299
297
269
235
271
139
259
226
152
181
281
173
309
220
228
235
335
269
316
174
178
291
262
286
159
246
262
207
194
179
175
224
334
232
278
160
246
231
226
219
232
213
167
275
194
216
278
203
160
257
195
251
248
180
323
295
281
222
236
211
184
256
243
277
240
214
209
157
234
244
219
189
223
289
252
197
184
232
265
223
183
236
260
173
210
205
173
178
254
204
268
358
247
234
266
245
156
222
213
206
181
237
244
227
263
147
291
254
184
305
256
180
196
198
207
179
231
229
177
178
252
289
244
157
248
258
186
253
205
226
198
292
212
186
202
158
224
241
178
311
260
192
309
244
222
189
198
177
279
214
287
304
252
320
175
234
258
243
232
231
269
243
191
221
245
311
277
180
200
255
262
250
191
208
230
180
244
238
300
146
244
160
224
224
255
251
269
236
200
175
258
205
185
205
198
237
239
334
270
195
234
279
139
219
258
194
231
195
196
167
260
229
268
263
197
288
251
250
183
213
263
246
250
270
186
233
214
219
201
179
198
176
215
208
106
231
217
142
151
281
234
156
265
199
258
188
216
229
259
179
198
183
195
195
229
314
108
259
226
220
256
128
197
248
205
239
244
241
326
251
197
236
251
239
216
300
273
255
252
227
190
285
208
151
189
262
181
227
206
144
212
217
172
204
152
175
273
229
156
287
241
187
185
191
242
199
238
163
173
218
265
237
299
221
192
331
206
243
199
273
278
183
229
283
251
225
261
194
305
196
249
181
205
129
204
220
233
198
152
250
178
291
275
200
200
208
290
187
276
207
223
190
267
237
197
266
189
195
158
276
255
218
181
220
211
239
224
260
200
192
230
214
173
215
151
185
214
280
234
188
177
160
297
173
181
219
287
332
245
186
287
223
215
221
261
226
215
251
178
264
286
226
178
225
323
192
244
160
231
269
281
203
152
277
180
176
194
204
226
295
233
297
255
259
294
241
202
255
225
114
178
243
263
205
207
189
152
286
260
267
206
290
183
261
248
203
185
180
281
277
214
262
209
279
188
216
251
245
262
204
235
208
323
172
171
208
217
259
244
225
246
214
206
170
256
253
166
229
231
240
300
212
213
356
285
164
314
277
173
163
270
260
273
288
243
227
242
253
195
198
184
245
218
196
145
214
207
230
222
211
261
232
208
267
182
203
190
155
238
192
161
208
116
174
211
134
258
265
224
244
251
215
209
152
294
233
259
208
243
277
241
225
286
261
206
254
167
231
207
250
212
258
257
236
245
276
222
214
293
244
223
201
241
180
232
217
159
198
278
193
203
188
222
281
178
194
295
198
198
302
286
247
272
217
293
256
186
229
256
257
231
171
208
203
171
173
155
198
250
201
310
176
234
138
275
163
247
176
212
192
160
343
208
284
176
215
266
198
198
195
239
175
139
166
200
262
178
238
188
192
265
219
177
247
301
196
249
183
265
219
221
178
293
277
214
175
201
192
212
214
242
208
255
154
168
274
243
323
170
180
260
254
223
242
234
221
170
234
162
263
248
241
225
228
195
114
291
160
197
211
231
225
204
232
296
148
278
184
164
259
212
205
260
190
301
178
189
237
276
209
219
211
235
240
204
238
221
214
209
252
230
235
191
199
253
193
204
177
227
264
204
235
257
213
216
153
177
192
244
188
363
227
160
225
213
189
247
238
160
213
246
246
234
185
268
281
189
227
221
281
255
325
169
253
224
275
342
225
108
248
156
224
203
179
155
202
200
209
189
179
252
288
285
269
228
139
274
209
229
229
158
218
114
243
165
139
230
196
160
195
234
216
254
144
214
191
211
191
202
199
279
239
169
206
230
251
188
196
211
195
219
160
299
208
225
283
290
212
166
188
264
228
180
259
255
242
237
207
264
165
228
223
235
256
221
198
108
255
202
246
231
262
272
262
217
193
260
242
185
228
203
217
271
216
156
277
214
215
178
198
203
265
198
199
277
304
313
175
172
227
199
252
289
196
160
263
196
243
231
315
175
186
201
232
221
218
208
192
177
290
301
146
249
173
297
161
243
205
204
270
269
192
146
226
214
158
189
238
200
244
205
208
260
236
184
233
268
239
266
232
179
200
283
155
184
225
269
263
216
180
156
154
295
227
317
302
212
274
239
233
207
200
143
208
230
294
224
230
228
322
252
259
231
259
276
246
265
266
215
289
114
211
246
181
307
252
210
151
237
176
221
233
217
170
214
181
181
281
247
212
214
283
240
233
221
268
230
231
290
160
229
194
177
227
307
246
260
154
255
262
179
258
229
215
229
144
299
292
215
194
278
174
214
215
228
309
236
194
317
243
322
189
315
221
259
280
265
197
224
303
175
218
207
347
234
245
330
199
244
256
126
157
231
241
218
169
116
221
234
259
248
227
224
223
178
193
315
292
130
215
203
211
197
296
170
268
202
222
164
276
258
286
205
256
255
181
249
160
196
205
285
288
289
238
221
233
243
227
195
268
258
169
193
254
214
219
207
177
239
290
196
148
179
206
253
253
219
238
214
156
198
211
188
252
248
306
224
309
170
234
346
259
198
158
243
150
237
250
193
219
266
169
207
227
286
174
163
257
192
134
290
151
207
181
278
217
189
228
209
198
310
126
166
176
207
172
210
212
214
285
176
183
185
243
223
181
234
192
257
259
247
201
257
243
200
246
212
202
303
244
151
277
278
181
229
197
230
244
240
228
241
256
195
169
268
183
232
218
213
247
199
209
261
238
165
216
188
192
236
180
168
231
288
182
198
209
196
258
235
198
262
182
218
181
189
181
175
190
235
161
237
199
251
256
154
215
194
202
302
257
281
236
239
244
191
160
274
222
177
162
208
214
217
207
269
269
160
216
216
221
215
146
209
361
214
161
181
251
212
114
225
234
230
217
261
292
229
230
250
239
306
262
218
274
250
232
256
182
219
231
126
179
239
187
234
171
183
237
225
177
227
177
281
156
287
205
234
161
212
234
126
197
191
231
293
279
234
246
154
224
196
270
185
247
225
202
174
181
260
241
194
114
216
152
252
193
169
221
261
203
272
203
337
261
333
233
235
270
227
225
245
279
293
185
192
221
251
321
259
191
271
257
208
273
228
272
170
187
154
192
174
231
361
223
234
265
106
218
270
279
219
207
231
200
193
306
222
207
210
220
252
126
228
249
152
280
205
230
158
245
268
271
264
219
186
228
145
228
198
213
198
231
195
170
179
202
201
169
223
196
187
244
243
180
156
217
239
198
247
264
181
166
186
226
206
160
203
252
199
267
249
283
198
213
241
213
325
224
176
279
274
170
220
190
199
208
206
209
233
233
192
170
296
215
218
178
196
241
233
183
283
263
218
172
250
237
188
319
192
231
298
215
186
193
222
221
269
178
195
212
205
154
230
235
244
208
198
252
301
160
183
237
238
198
286
339
211
289
228
221
239
212
255
248
220
255
250
309
241
209
257
199
229
247
311
262
214
244
234
176
192
224
229
220
198
219
116
220
241
233
285
203
238
217
245
151
241
234
259
294
218
224
234
216
283
276
258
244
240
302
190
318
203
163
194
238
258
300
224
237
192
240
116
213
204
226
139
240
247
253
181
188
236
114
212
207
225
275
176
228
244
199
204
300
190
165
201
180
190
155
137
266
235
276
156
187
247
160
279
184
242
223
218
305
278
200
178
149
239
251
241
219
284
180
216
144
299
145
293
216
241
212
226
330
211
255
176
227
221
158
202
321
227
192
222
291
215
270
173
231
212
245
176
190
230
260
214
239
310
235
238
171
194
225
147
220
194
157
199
272
233
179
247
317
217
176
208
188
175
237
336
207
183
210
179
116
206
233
242
271
223
195
225
216
303
242
183
256
222
287
263
303
193
168
200
274
195
159
256
265
255
241
293
266
213
176
227
215
193
192
183
181
146
197
228
192
166
261
253
164
232
192
240
331
176
275
139
160
241
192
270
154
239
181
292
229
217
149
235
259
179
155
188
224
326
151
227
271
202
258
241
262
168
192
223
215
221
219
241
209
190
251
189
213
194
245
252
260
170
276
114
236
243
243
245
247
224
286
237
275
270
178
261
245
138
195
225
203
205
166
209
224
244
241
157
186
223
215
203
244
332
236
249
183
244
283
205
194
248
185
221
238
193
209
250
214
205
267
218
200
207
235
300
255
160
221
252
188
197
209
114
209
177
206
252
152
166
324
257
234
152
208
268
253
191
201
151
178
241
229
259
243
244
192
189
157
290
168
156
244
178
214
201
154
205
256
234
213
217
230
174
279
114
239
170
219
225
222
211
149
220
171
236
114
226
152
185
202
285
223
198
246
276
174
192
191
313
218
244
252
251
217
187
239
236
241
192
177
296
298
173
216
230
194
209
213
148
266
170
159
265
179
192
214
185
182
174
263
244
195
174
275
211
206
197
245
198
209
243
249
156
312
212
270
170
114
267
169
220
292
237
241
309
174
170
139
184
194
203
202
175
231
114
228
186
295
197
199
209
199
248
238
227
229
243
152
203
211
225
333
212
327
295
233
246
281
260
212
139
169
310
232
235
218
207
320
214
277
312
195
220
255
193
219
160
203
238
280
226
184
227
232
312
213
178
187
275
261
202
233
222
283
202
292
246
209
279
335
233
202
231
241
234
265
271
173
233
160
231
170
251
212
202
274
225
178
238
195
209
209
229
244
247
229
262
221
271
211
205
209
191
307
174
210
274
286
239
248
324
241
213
144
208
192
211
252
201
244
178
277
190
236
251
277
192
250
166
191
273
296
210
203
239
265
205
197
248
220
229
183
317
385
192
195
152
214
259
191
152
246
224
197
198
174
273
201
158
267
262
245
180
154
245
283
232
245
243
265
236
260
259
250
235
178
207
181
178
126
126
248
234
244
266
254
190
281
240
200
188
186
199
244
263
274
234
318
236
213
332
243
200
146
173
158
211
251
251
245
266
195
238
266
247
259
243
233
114
220
251
233
203
235
209
228
246
198
214
230
223
234
178
164
231
196
197
262
219
175
261
246
214
194
258
250
202
186
192
169
244
199
267
181
248
173
229
158
288
253
253
311
231
266
247
192
202
196
137
181
248
157
302
181
211
330
209
205
234
203
261
213
254
223
277
267
276
226
156
186
248
217
212
266
160
166
189
208
183
253
259
279
240
243
240
249
189
165
229
271
266
260
160
173
174
245
205
189
195
203
238
212
202
249
284
284
238
292
198
126
212
204
211
219
217
214
243
252
327
214
232
338
214
220
219
205
208
204
271
178
194
173
230
261
219
238
300
181
280
232
250
167
183
225
247
270
186
172
145
233
174
198
178
285
182
234
265
287
279
200
237
213
238
241
218
225
175
238
194
237
254
249
298
256
271
219
259
203
174
189
263
246
258
225
228
187
277
287
142
196
224
203
200
181
273
215
288
265
177
292
182
203
212
320
229
218
242
229
203
231
218
195
215
248
258
191
263
180
171
250
230
197
207
215
197
162
304
160
246
202
209
214
174
181
238
221
238
202
246
265
191
260
219
300
229
248
224
199
209
229
174
210
263
193
233
208
276
220
254
260
167
218
148
250
177
228
207
279
220
208
214
160
159
217
197
198
204
219
241
212
235
206
197
139
307
211
231
317
196
166
204
264
228
156
191
210
213
241
238
146
221
167
240
166
218
201
227
235
207
216
351
171
261
334
273
192
194
220
193
149
298
255
176
234
274
256
183
233
225
253
283
178
165
263
249
267
173
267
136
192
229
264
233
241
201
266
195
358
252
247
244
212
264
242
173
226
252
213
232
279
158
228
245
321
126
232
276
244
264
206
236
242
175
294
287
254
213
169
229
282
240
175
238
261
202
189
314
192
302
151
322
199
234
305
292
245
258
223
283
211
253
228
252
220
229
213
203
255
221
173
158
211
191
249
301
276
244
206
273
215
254
174
251
308
222
248
198
198
196
223
165
233
292
267
292
201
182
235
181
149
238
312
188
188
212
253
279
236
158
270
192
301
177
271
228
199
215
235
254
222
292
240
313
205
148
257
215
208
241
231
150
233
236
325
235
257
231
313
196
186
288
161
219
234
285
164
211
172
275
236
215
191
244
189
171
204
267
196
188
250
181
208
212
222
156
243
232
288
282
186
270
234
246
178
228
225
251
169
268
230
144
235
166
244
233
196
270
208
250
154
213
238
177
303
214
215
266
158
324
290
270
216
260
239
235
241
220
268
219
255
247
207
300
222
233
209
213
266
216
177
209
196
192
199
229
175
286
228
195
211
232
193
214
262
308
277
178
256
299
178
218
277
257
312
228
193
189
286
245
279
280
214
238
148
226
319
176
170
249
274
285
200
259
246
198
177
235
170
248
258
191
275
243
210
179
306
221
330
274
172
243
213
293
208
245
270
240
193
206
203
235
205
165
248
231
216
288
175
227
228
258
200
267
273
193
188
160
263
160
184
253
130
175
274
300
293
230
253
302
221
161
229
222
292
214
163
218
184
367
139
186
241
230
166
280
183
197
235
174
165
114
274
285
258
200
258
251
231
205
275
254
181
238
217
285
188
186
208
231
240
265
205
183
197
233
266
185
218
250
284
177
265
170
234
269
180
215
257
252
201
196
266
223
211
185
198
200
240
301
263
209
160
288
166
237
298
266
288
228
242
306
271
331
284
216
215
370
270
235
234
190
238
262
140
238
254
265
217
190
270
182
198
235
184
206
199
234
214
248
333
278
189
231
215
324
205
193
254
208
285
240
222
260
262
202
253
312
247
209
249
214
174
211
280
221
285
265
204
173
278
227
240
206
265
263
247
242
268
299
281
235
114
263
296
210
202
227
151
254
261
199
154
224
116
186
245
270
163
170
237
195
269
235
241
175
210
216
281
212
160
248
206
211
164
203
363
319
152
280
197
194
240
235
238
160
261
178
236
238
214
199
242
201
240
209
277
319
310
229
231
174
203
201
256
266
222
214
170
183
310
213
214
238
200
237
189
152
224
174
260
188
188
317
279
194
234
161
199
238
312
114
146
179
183
200
212
235
161
180
274
287
245
191
270
196
246
282
274
209
230
246
204
177
189
203
176
194
194
244
282
210
175
254
233
297
178
278
173
197
236
248
233
270
268
168
198
270
290
261
206
198
284
211
268
199
187
167
225
211
218
217
145
222
276
172
252
165
246
219
243
213
259
230
344
211
281
201
288
220
216
244
222
174
222
267
264
154
220
269
239
230
228
180
209
232
163
126
254
279
218
276
240
221
174
234
311
144
208
210
160
227
179
206
224
254
201
188
235
250
164
260
169
240
181
174
292
196
258
251
215
249
287
188
265
218
234
175
288
220
285
270
225
169
198
221
227
219
181
166
184
263
245
211
252
254
193
187
173
190
243
226
195
198
259
219
263
192
220
260
209
310
187
173
203
194
235
288
161
301
189
223
259
152
298
271
211
255
225
233
295
197
220
149
183
213
257
195
171
216
166
211
287
234
274
206
185
255
235
202
287
129
332
320
198
176
207
278
253
262
250
245
215
304
243
253
215
182
221
205
231
151
266
229
297
174
231
238
247
192
314
248
290
216
219
215
238
254
242
189
179
114
114
184
108
179
216
187
179
209
262
207
235
227
214
234
199
297
236
242
294
224
174
244
222
192
160
230
240
201
270
282
260
234
242
253
199
251
226
238
202
244
246
193
215
212
221
286
241
183
288
259
309
114
243
364
284
259
181
182
250
222
214
239
259
209
218
236
185
235
213
253
186
257
150
181
210
170
241
198
251
212
198
196
145
198
211
248
174
233
151
183
265
213
280
245
202
248
176
218
307
241
252
250
214
249
121
175
288
292
170
221
186
170
162
180
234
163
200
173
193
283
114
338
170
201
226
208
208
215
181
268
212
315
242
214
189
210
213
170
323
198
114
210
302
232
212
196
285
179
193
221
228
257
235
210
240
175
139
238
220
230
254
207
238
156
171
197
178
188
258
192
211
229
222
186
221
292
270
192
290
183
249
211
180
274
254
215
192
145
243
237
197
212
273
240
274
151
213
177
177
234
183
256
198
177
188
205
233
230
209
201
236
243
322
183
222
262
192
199
194
214
252
184
222
173
252
278
232
189
279
173
259
232
254
130
212
208
274
174
193
145
253
215
156
231
291
211
234
257
239
235
245
238
190
114
257
219
279
237
229
175
222
184
263
235
220
267
233
300
139
202
258
242
130
212
233
208
178
240
195
216
218
185
270
250
160
201
269
181
179
171
228
272
268
222
114
262
246
292
212
215
230
190
278
192
176
270
222
218
227
245
256
269
267
232
249
166
145
285
217
207
316
232
233
225
334
227
262
211
253
203
178
169
222
226
214
241
161
219
174
217
222
250
217
189
236
256
244
260
170
254
249
190
206
196
299
229
267
312
251
235
139
192
250
220
215
252
225
205
245
231
253
218
205
237
206
226
203
264
192
241
258
258
185
238
183
234
114
189
219
216
237
222
262
279
259
281
270
259
145
243
245
236
202
226
255
242
200
254
198
273
198
204
220
173
209
249
321
228
170
223
249
256
114
175
282
234
215
204
182
174
209
170
255
214
192
233
168
243
182
270
315
147
169
239
221
174
246
252
256
232
278
177
224
242
274
263
213
175
217
220
265
249
175
301
212
226
297
192
206
207
304
161
219
251
182
186
175
244
302
251
305
210
266
195
319
254
205
287
308
250
212
252
270
279
168
214
258
238
231
219
266
170
227
210
286
236
257
203
198
161
223
202
280
170
214
175
161
225
319
225
248
240
222
197
153
251
213
279
245
179
198
208
205
238
229
263
232
270
237
211
225
225
128
231
215
214
227
229
222
264
175
243
192
222
165
223
173
216
222
158
228
258
200
214
170
244
129
197
299
192
258
248
210
214
253
170
184
222
208
280
254
242
209
259
174
175
175
184
229
293
247
194
210
222
244
225
173
176
236
276
266
275
233
217
114
278
220
165
243
219
286
203
203
195
229
214
235
164
345
206
178
206
174
323
214
221
206
248
234
217
283
192
178
293
170
208
309
221
227
235
277
220
193
169
159
219
242
278
231
194
156
233
184
233
225
151
215
212
199
228
114
261
186
203
281
195
213
257
169
175
194
222
179
199
210
181
180
152
210
284
167
297
244
203
235
197
243
137
207
225
224
213
239
161
257
241
257
263
327
146
231
300
232
275
173
275
227
215
203
245
204
229
214
188
238
238
186
219
223
177
250
223
156
211
219
275
221
278
276
209
282
185
278
246
233
194
223
265
257
156
160
310
181
299
203
193
269
276
244
172
275
220
235
237
178
240
296
181
276
295
272
289
270
231
206
215
221
236
185
169
263
295
173
168
213
250
246
201
191
211
195
197
129
257
218
231
209
240
151
189
186
221
255
259
231
247
264
224
242
304
160
229
305
229
208
192
233
228
114
237
230
222
233
203
273
208
239
180
234
202
218
273
280
323
229
207
297
239
187
228
225
202
230
269
224
310
260
179
279
276
189
185
178
213
236
248
250
179
215
200
198
177
215
333
145
181
215
211
270
214
246
170
166
271
331
200
229
325
294
322
166
319
241
195
266
236
176
184
246
255
230
204
207
188
255
222
202
243
317
229
282
228
265
266
175
204
199
240
230
181
161
334
210
158
151
277
145
189
188
162
235
232
202
263
264
212
305
284
255
192
226
233
230
245
214
116
265
187
230
229
261
218
241
114
217
300
258
253
250
255
218
207
171
215
329
211
267
248
246
235
270
283
247
297
182
156
175
193
246
195
193
231
239
192
253
148
201
190
258
206
281
258
270
278
272
249
257
147
204
264
214
202
232
156
255
234
314
310
245
192
244
265
228
114
164
207
256
179
234
207
330
247
195
169
160
255
215
235
185
204
284
298
230
260
209
208
224
226
206
201
222
230
267
218
215
302
202
215
217
262
215
220
141
307
194
180
229
160
253
160
275
214
202
212
224
298
159
246
203
114
220
186
307
249
233
203
326
156
180
191
215
234
251
200
245
334
223
256
234
157
190
239
238
114
295
195
271
202
239
232
263
207
191
278
273
249
309
272
230
245
241
256
214
244
222
243
145
194
270
152
198
267
126
219
229
170
288
251
222
289
289
205
266
261
306
266
217
178
189
237
250
221
208
256
206
212
267
197
237
295
261
192
233
231
166
220
170
189
222
272
144
278
208
276
273
285
211
190
214
272
273
181
284
192
152
194
273
201
234
308
239
274
173
170
263
175
314
264
169
157
196
285
197
169
218
191
153
207
230
253
238
178
173
161
239
223
249
181
184
203
225
215
159
180
252
260
193
227
303
154
226
184
279
178
236
253
145
178
182
205
195
216
240
192
208
251
166
173
223
317
194
288
182
215
181
230
237
240
246
271
234
238
295
217
238
139
181
194
199
297
204
203
207
272
287
198
167
169
215
254
268
252
193
263
218
215
281
298
248
261
244
203
114
234
173
161
178
229
239
173
217
265
213
219
199
178
287
234
145
175
196
268
285
253
304
217
232
219
182
221
189
254
250
280
178
239
202
236
201
242
210
223
237
211
180
213
314
170
213
258
216
251
198
230
201
170
182
205
259
244
297
199
246
257
191
196
183
175
235
271
201
168
211
243
221
197
179
175
161
248
161
257
200
286
200
225
232
185
185
226
234
259
159
222
186
203
264
193
278
251
250
234
216
196
210
158
218
168
244
283
283
170
198
181
233
155
114
231
270
223
216
339
249
198
158
264
150
208
181
195
270
269
144
232
200
139
229
296
268
263
206
243
209
193
141
152
231
199
298
205
181
196
158
245
114
217
209
160
260
247
210
265
232
285
251
201
242
237
142
233
228
379
226
198
205
246
156
261
239
218
260
269
155
219
201
233
296
180
209
250
226
237
175
292
210
225
204
216
241
266
239
299
181
150
253
268
184
295
193
238
274
232
251
199
227
238
188
229
325
262
168
287
255
164
114
299
208
259
213
162
205
223
235
279
280
114
268
167
189
198
265
243
208
196
255
232
274
233
238
225
226
208
244
200
170
259
255
309
251
213
257
242
301
182
160
225
254
166
266
271
222
256
238
197
266
186
233
271
188
232
200
233
173
192
199
223
275
224
294
287
178
197
227
232
188
174
261
261
184
156
196
237
219
202
263
239
182
294
201
292
186
197
210
269
260
267
291
238
275
170
292
278
248
208
202
302
215
241
260
221
242
242
220
173
257
208
178
235
220
313
310
160
188
243
174
158
212
216
271
171
198
277
284
243
195
229
206
175
319
207
277
211
262
190
254
242
256
232
205
195
167
248
242
280
238
231
190
197
219
218
335
238
261
250
233
220
225
227
200
301
264
223
203
179
152
189
247
279
222
238
219
240
230
223
251
249
229
267
231
297
177
215
192
195
217
151
237
232
240
222
208
175
233
286
178
160
180
185
279
223
214
240
227
271
222
265
221
183
202
174
252
170
179
145
257
250
184
251
233
246
144
243
144
232
178
268
224
314
250
208
224
288
201
249
178
230
196
355
261
204
273
255
261
223
254
247
204
252
236
202
209
253
176
126
198
198
193
268
271
173
287
249
316
200
203
212
189
295
235
178
243
194
197
267
203
196
200
220
229
250
201
387
368
276
283
290
172
185
180
260
215
210
226
151
175
268
198
146
250
192
270
227
267
243
232
203
221
221
303
273
273
227
147
172
178
205
240
174
226
231
213
269
256
180
211
258
302
213
255
114
194
185
195
238
224
211
240
191
192
239
172
263
193
208
226
268
235
217
309
176
198
211
171
261
309
323
167
241
202
211
233
244
227
229
221
238
245
264
229
149
258
181
246
181
234
200
175
213
187
196
235
216
170
116
224
193
255
214
208
223
272
253
230
197
219
226
231
209
282
228
247
139
170
215
264
246
242
238
242
242
265
185
243
159
214
206
210
203
245
261
256
251
253
172
229
278
253
162
241
215
240
249
183
260
204
181
277
211
155
203
165
238
238
271
203
152
189
175
183
193
185
199
259
250
313
222
213
220
166
253
252
178
203
297
261
303
182
278
247
160
276
233
223
262
258
180
114
221
254
170
290
291
243
289
241
248
211
178
202
202
263
297
116
202
271
265
265
140
224
263
237
227
234
270
245
216
194
215
159
246
175
220
215
239
241
186
222
227
174
264
188
230
279
226
222
145
249
240
257
161
268
174
174
258
251
182
281
213
229
183
258
215
198
222
150
148
154
216
274
223
246
219
144
230
269
190
214
255
210
207
203
223
197
308
215
266
218
162
254
278
253
293
168
238
232
200
224
296
265
277
199
301
185
254
244
300
244
251
233
202
221
205
209
201
108
194
192
184
213
245
196
194
205
191
215
207
232
195
288
225
214
316
203
310
114
152
243
272
242
187
242
225
173
195
271
210
201
114
205
204
204
211
228
234
249
285
178
221
266
160
208
191
216
160
250
207
199
243
162
252
213
226
223
201
257
233
226
267
305
324
241
226
214
204
165
114
203
229
162
244
242
244
206
233
246
198
214
213
195
255
318
260
273
215
211
181
282
153
243
231
322
200
231
174
173
238
240
287
181
219
213
248
235
340
234
222
232
169
290
170
211
238
176
203
227
181
160
176
226
160
213
233
237
220
232
270
241
151
209
174
186
178
237
212
288
310
170
273
288
220
247
261
171
210
282
173
210
249
145
215
286
251
153
193
172
243
218
236
225
257
219
247
205
314
191
319
169
213
250
242
249
197
227
193
322
186
209
151
310
170
325
178
282
215
215
238
233
261
151
207
240
129
249
179
181
254
229
202
221
231
173
253
191
244
273
186
247
161
178
274
180
182
284
211
154
262
280
236
256
209
174
201
184
251
257
221
187
133
206
264
144
252
225
263
292
139
217
214
192
213
269
185
253
146
253
232
219
253
192
249
188
208
254
216
295
228
287
190
255
190
243
252
147
245
192
263
235
308
237
237
192
233
215
224
239
239
164
260
247
216
194
235
244
270
114
192
184
230
235
211
255
245
225
169
252
218
192
225
216
192
225
139
176
250
299
265
194
212
259
200
234
225
173
288
345
254
247
261
223
239
151
203
198
253
225
114
270
225
254
210
211
243
184
277
186
218
211
249
184
217
253
198
180
312
195
175
247
178
245
190
214
182
170
198
237
267
275
217
189
188
279
259
231
186
279
224
163
173
281
266
218
188
218
221
212
212
180
184
213
234
211
187
238
218
271
214
184
250
191
278
153
209
227
251
306
271
194
291
265
161
209
149
216
252
271
307
178
114
208
203
232
191
170
191
242
261
225
195
230
272
298
221
188
214
303
282
195
196
246
192
281
196
171
284
237
192
183
190
220
227
274
291
222
203
262
165
185
231
255
247
222
238
307
139
242
215
235
276
181
284
166
317
142
195
222
242
252
207
243
213
233
205
172
208
218
233
208
250
201
203
248
236
200
312
247
261
257
341
211
202
213
198
206
275
230
185
248
218
252
216
166
267
205
261
114
193
271
211
209
240
191
253
235
204
195
271
178
242
162
207
179
180
223
280
237
165
226
175
200
284
208
219
237
247
183
194
151
198
229
175
253
173
161
168
168
299
198
276
223
240
260
236
230
288
241
220
247
184
214
239
277
259
272
267
230
173
256
281
215
187
257
336
170
248
256
261
268
348
160
315
233
191
228
220
267
245
230
185
205
197
189
176
175
212
195
211
235
206
181
221
242
158
168
237
241
210
247
209
251
208
229
246
196
200
264
176
160
265
207
276
232
251
204
152
218
164
282
168
114
265
191
228
267
322
292
181
221
166
216
197
233
198
114
208
217
243
203
184
198
259
208
178
262
253
245
148
204
296
214
243
280
139
230
243
217
237
164
225
280
248
246
185
215
265
277
249
283
237
218
230
163
283
211
221
190
147
247
203
228
214
226
247
166
179
232
126
238
247
157
244
225
175
214
172
309
176
201
255
223
243
212
218
164
282
229
236
278
198
220
252
257
208
293
247
221
204
205
169
256
194
114
234
174
208
161
180
219
272
208
222
253
165
203
209
204
213
262
271
156
163
232
285
152
218
252
223
144
279
213
201
266
201
197
170
183
174
226
205
263
251
263
206
242
232
242
321
283
170
228
263
214
235
299
251
185
256
317
195
228
152
215
225
248
200
241
188
257
214
234
218
161
153
182
204
211
343
235
249
227
235
239
287
251
246
264
217
282
248
178
171
168
208
202
320
245
208
326
248
226
237
263
313
305
210
257
281
238
255
170
245
181
340
198
282
355
154
231
289
269
240
146
294
152
238
183
290
237
219
206
278
199
179
252
263
280
264
249
192
162
265
270
219
199
265
313
164
219
227
241
300
273
240
200
239
240
192
178
202
205
186
213
145
203
239
241
240
212
238
209
301
175
203
219
170
147
266
213
222
202
210
197
246
264
233
246
343
284
197
245
284
191
145
304
214
181
228
226
194
245
219
215
207
264
326
276
246
303
181
185
191
236
251
243
200
170
255
249
179
200
166
263
233
192
228
223
287
152
220
239
114
367
251
271
235
199
264
199
179
305
201
184
238
262
198
249
159
233
198
248
151
221
214
176
292
203
161
173
249
223
266
151
311
156
190
225
220
261
230
276
228
295
230
170
205
281
204
187
227
242
116
241
291
315
265
220
257
261
301
187
249
208
114
224
227
232
314
223
182
204
241
308
200
179
152
273
275
266
181
234
196
114
261
222
181
213
261
176
188
168
237
208
201
293
205
235
253
152
294
156
265
224
169
266
219
221
273
294
204
273
199
223
220
200
237
204
200
253
250
217
209
174
186
196
246
198
272
214
158
191
214
342
253
233
291
241
203
225
261
262
242
227
139
218
288
272
168
245
329
175
241
212
249
229
156
171
216
217
327
297
175
194
182
265
263
196
219
233
186
276
315
244
161
211
221
255
114
152
269
307
209
199
258
245
261
213
227
348
238
262
182
208
198
268
244
194
246
283
215
200
259
245
260
242
270
155
278
173
192
230
245
229
248
200
230
202
294
222
242
240
229
171
256
212
260
178
224
198
191
154
251
218
156
225
273
264
259
217
235
288
243
246
213
292
169
166
305
243
310
237
186
245
205
229
179
219
239
199
239
256
256
242
222
209
198
239
218
273
237
235
214
233
235
278
236
199
183
235
277
246
231
176
235
254
297
267
201
202
236
215
219
221
144
247
253
276
200
228
274
155
221
175
222
192
223
181
242
212
176
181
152
238
213
299
232
196
205
194
194
178
231
260
241
294
261
239
310
224
331
217
163
248
251
181
298
212
225
198
232
237
196
247
258
180
178
207
227
318
239
208
241
202
299
342
214
219
203
233
280
198
198
264
160
239
202
168
172
256
236
181
177
189
243
277
189
223
214
206
201
247
250
266
209
201
195
232
188
233
255
263
197
213
231
300
247
219
170
163
168
218
240
160
271
369
173
199
211
244
222
223
192
185
244
297
263
290
181
258
305
209
232
219
224
212
239
212
210
220
144
246
290
278
269
195
236
170
279
207
149
266
237
114
203
250
226
210
247
269
215
248
248
239
314
302
255
261
223
181
217
192
199
185
157
252
223
265
239
328
313
152
205
239
264
289
311
310
198
228
248
225
206
246
252
202
238
148
260
217
297
180
242
203
219
203
311
188
191
193
153
195
215
146
220
265
178
114
193
212
233
243
170
286
223
292
348
250
290
168
185
316
176
246
146
211
330
198
216
262
184
297
298
202
258
241
290
170
194
243
236
230
245
197
327
178
209
213
265
206
229
266
187
235
196
223
221
198
255
253
226
174
240
234
241
174
251
114
215
217
235
231
164
263
228
192
232
197
186
149
262
214
277
146
121
197
269
183
186
256
187
284
253
244
184
285
221
206
225
180
190
252
210
235
202
238
211
252
234
256
179
221
185
264
209
236
242
208
173
114
183
222
212
225
287
274
170
222
290
256
205
240
196
170
227
286
293
205
270
286
277
176
239
208
238
170
215
178
225
288
161
207
143
170
199
297
236
248
217
204
160
271
253
234
233
232
167
187
191
207
227
266
254
203
229
239
243
256
253
250
195
170
248
209
228
312
247
243
228
205
197
229
175
266
176
156
181
299
289
162
269
194
260
154
290
204
218
170
174
216
217
225
200
244
147
235
318
246
239
249
263
236
178
195
232
185
265
276
156
218
228
197
205
236
231
202
189
268
214
251
191
229
239
205
196
233
231
156
168
245
185
222
224
175
181
216
277
220
235
184
189
307
290
231
253
242
238
160
158
157
212
184
194
183
224
257
173
292
217
234
207
268
233
285
214
209
237
253
209
195
212
197
221
209
160
237
170
314
212
228
213
188
169
239
231
290
283
175
311
245
199
158
257
280
241
203
160
264
192
173
203
212
202
206
176
264
244
228
182
236
230
207
277
168
236
214
231
211
287
192
259
243
146
213
168
230
233
258
266
291
238
176
238
277
205
240
223
259
222
261
261
317
233
207
283
306
233
146
220
221
230
218
265
234
259
198
163
212
244
249
173
171
268
241
274
227
265
203
170
237
228
185
286
276
201
257
296
240
316
209
305
186
163
218
235
165
176
219
195
173
228
195
182
298
228
248
214
258
337
192
236
186
278
198
181
240
214
173
171
268
231
211
211
129
258
228
220
192
252
286
202
158
199
158
235
166
258
198
175
247
253
246
195
235
192
267
139
254
246
176
241
204
207
263
184
251
256
244
226
272
182
336
251
160
231
228
196
253
279
174
212
175
246
285
235
317
234
193
217
245
216
240
214
263
211
257
274
262
241
233
229
247
205
181
184
230
165
242
293
253
264
241
215
212
200
268
254
213
198
246
285
192
184
258
174
224
210
271
208
265
225
277
175
168
247
151
206
261
207
144
260
219
227
224
149
235
212
221
254
228
192
260
221
234
249
287
259
217
212
250
192
234
230
226
243
235
285
228
188
256
173
250
194
215
293
168
246
154
254
189
202
245
221
279
232
215
236
219
193
227
215
215
273
165
218
222
173
271
185
289
211
250
198
216
210
214
126
206
227
215
198
175
215
215
182
300
188
299
161
209
204
289
260
160
222
220
235
302
221
162
229
319
311
261
239
230
195
233
221
178
270
318
179
293
200
286
228
273
169
181
234
193
234
313
198
239
186
208
250
295
216
314
215
196
263
196
202
196
191
228
291
256
191
270
256
270
209
212
253
180
197
195
256
173
252
231
350
263
178
202
257
251
180
272
271
226
256
194
192
144
261
194
310
287
227
185
197
226
192
185
156
230
244
252
223
213
174
212
199
121
255
206
152
233
192
261
149
284
129
211
195
237
206
217
200
244
257
233
247
169
237
114
253
276
174
209
217
173
257
241
149
254
252
238
283
230
192
190
192
272
179
179
167
219
259
303
245
278
225
250
231
192
182
212
276
244
267
287
251
275
283
265
265
195
254
173
173
207
180
276
247
192
168
266
250
217
286
233
193
237
298
197
212
197
144
208
229
145
197
167
206
179
274
234
228
181
199
170
114
206
178
210
299
277
157
233
176
286
232
264
172
135
240
252
250
148
241
262
166
293
257
152
214
134
139
202
249
211
146
163
207
219
212
291
292
213
265
175
150
232
209
314
192
190
160
244
234
325
212
188
282
181
236
277
236
192
300
215
266
177
178
281
173
249
207
179
206
197
303
278
227
222
206
252
216
252
203
174
180
209
279
287
285
245
253
288
198
274
267
262
181
243
221
230
299
223
261
212
224
214
274
253
200
238
241
174
148
273
232
251
303
162
319
198
248
210
227
221
219
205
196
279
241
167
271
238
152
218
178
321
295
309
203
222
235
270
136
251
224
192
215
106
170
193
180
280
276
211
271
200
210
261
234
272
235
259
186
234
282
207
255
233
241
287
233
210
209
161
293
247
161
246
310
258
196
175
235
331
234
147
321
277
234
263
256
319
203
181
212
231
299
175
198
185
114
177
250
191
114
160
164
170
232
152
257
121
242
275
247
291
194
263
246
204
299
204
250
232
209
259
233
316
197
277
194
266
176
315
202
233
233
194
240
207
228
174
239
255
192
265
257
251
179
207
208
205
225
200
204
254
237
225
209
217
219
174
259
177
208
297
272
210
249
313
218
233
226
314
133
272
231
226
253
260
223
236
200
180
226
189
220
250
218
172
152
223
140
261
198
262
240
224
229
156
222
169
153
238
215
246
224
264
210
187
235
277
214
191
295
181
214
166
210
284
270
228
198
286
177
250
165
217
251
223
223
233
198
268
231
302
283
226
193
230
213
160
206
149
188
257
215
156
208
280
175
192
242
230
141
205
161
235
253
114
197
194
310
237
246
263
170
245
201
214
255
168
195
213
212
253
226
286
200
226
232
264
200
238
184
217
166
182
224
181
234
170
192
156
177
244
194
226
189
174
261
300
166
193
290
212
220
166
175
270
234
180
273
239
252
232
217
256
227
211
230
114
230
245
175
271
235
186
259
173
217
231
191
189
173
310
204
232
232
228
232
225
266
162
207
170
299
152
217
212
296
237
229
180
114
114
225
219
213
170
220
203
174
284
225
261
227
252
191
256
247
237
273
206
238
165
228
193
301
253
222
180
259
165
299
277
184
234
258
293
246
315
212
179
175
160
273
208
289
195
177
182
287
232
265
193
206
255
181
222
273
178
324
171
168
219
210
179
154
227
151
202
242
235
240
215
214
202
242
180
302
173
328
220
239
249
158
298
314
233
228
262
226
197
233
203
228
170
170
250
175
228
255
231
185
323
275
195
181
269
280
255
212
233
229
260
270
303
220
227
304
208
220
218
232
192
209
222
265
246
199
253
230
216
221
165
195
206
293
236
182
245
133
258
284
195
285
223
246
238
208
114
261
199
121
199
164
212
116
215
211
257
193
262
114
181
332
204
295
234
244
193
207
210
260
260
316
264
193
200
246
229
227
228
209
234
264
245
286
213
263
258
217
241
114
171
202
233
126
160
263
251
234
187
235
306
235
238
265
218
151
222
285
261
206
214
220
234
191
236
246
239
174
158
273
303
197
215
177
194
180
182
202
194
245
224
202
223
229
178
178
145
190
336
220
152
160
257
200
241
266
169
226
152
231
269
261
225
165
198
247
190
267
277
218
270
241
225
227
234
165
279
220
178
250
170
220
173
251
213
252
216
216
192
202
224
208
178
165
214
283
206
228
219
211
202
180
206
315
182
201
260
179
190
281
154
223
146
217
171
212
258
175
126
183
265
258
259
282
258
283
248
194
299
257
210
241
232
204
297
194
301
215
260
272
198
230
204
238
189
210
198
146
178
342
268
247
198
173
199
223
199
223
217
242
241
184
277
217
299
277
258
195
194
291
220
273
220
195
201
159
207
255
165
300
213
149
283
230
220
214
186
262
264
271
248
217
175
283
149
309
182
240
201
229
170
267
249
228
190
262
184
185
237
348
196
198
245
152
313
235
218
230
245
170
246
151
242
232
173
247
230
286
139
156
174
275
225
198
198
198
243
275
185
240
185
256
208
216
260
204
268
199
219
331
239
218
187
319
266
228
303
226
159
217
257
310
173
298
236
152
108
303
263
260
247
151
171
174
205
261
206
276
270
228
272
208
265
287
225
272
114
154
187
225
267
179
247
231
219
235
171
281
224
199
208
185
229
253
244
160
165
276
266
310
260
162
221
218
228
254
270
177
217
246
228
246
198
225
290
225
170
189
178
252
234
189
243
193
254
202
176
277
301
154
169
234
196
223
149
203
248
213
177
206
185
285
242
315
243
200
174
246
204
202
229
203
301
249
169
168
205
185
250
214
182
225
247
183
267
223
220
166
192
211
116
269
194
237
209
192
198
227
188
155
195
296
108
245
222
223
239
174
239
264
151
254
248
248
165
169
259
268
177
217
157
227
207
187
279
180
219
174
185
301
257
153
185
230
341
196
197
224
239
249
196
156
203
162
172
202
230
209
261
244
218
239
208
233
198
179
325
213
294
241
173
302
290
253
212
225
221
200
191
183
185
284
162
305
208
198
174
342
209
225
238
206
217
158
228
258
180
261
305
179
219
289
229
206
180
251
206
273
169
217
200
267
287
246
198
223
228
164
180
156
215
200
175
187
220
210
251
235
224
226
171
170
114
243
218
214
221
198
281
235
243
221
239
241
193
207
192
231
149
219
235
206
189
266
142
170
199
221
239
262
193
226
179
289
209
250
158
227
269
294
169
268
257
178
336
212
145
244
197
205
257
239
256
296
243
222
219
255
199
176
279
218
211
176
288
277
260
265
198
233
223
265
283
300
204
192
238
114
152
254
191
215
215
315
245
214
238
242
217
218
228
203
271
202
154
217
216
140
256
196
274
190
206
126
182
242
240
283
265
190
268
240
205
228
184
201
307
177
201
152
179
193
177
194
166
265
215
192
217
166
320
241
238
218
174
296
242
192
158
267
222
166
225
221
235
243
206
185
212
216
255
148
293
260
213
242
253
285
253
268
215
212
278
247
197
240
205
261
285
304
217
262
232
196
193
145
215
193
224
152
223
215
222
156
223
289
194
174
263
201
235
241
288
277
174
165
229
219
283
275
173
227
227
232
208
262
228
242
231
214
203
198
130
245
202
207
190
182
292
215
205
238
238
180
234
180
257
223
169
180
234
140
212
299
235
282
273
232
205
295
253
179
240
152
239
202
177
219
301
270
191
274
246
277
282
247
216
238
221
224
230
192
196
114
183
314
248
235
173
249
235
252
207
152
288
208
170
294
292
250
208
296
151
218
207
226
258
275
231
241
211
294
219
202
272
261
202
227
210
176
151
164
237
187
265
320
269
154
247
197
200
176
276
171
185
279
181
218
334
175
168
184
195
204
211
212
154
239
296
126
212
255
157
265
192
184
258
246
173
257
139
257
236
284
261
234
207
175
275
193
172
222
204
190
184
271
277
228
166
256
234
152
256
274
221
236
264
157
169
218
177
209
296
323
213
161
248
252
182
239
254
161
311
206
192
272
213
126
257
182
184
159
208
251
199
221
257
183
242
227
227
189
258
194
193
240
226
275
233
180
296
295
252
290
272
163
207
206
251
209
173
195
281
184
289
234
213
187
263
205
212
180
218
244
238
240
207
296
240
214
215
126
216
251
139
196
215
250
254
212
230
181
258
251
216
208
222
198
176
272
220
193
228
167
236
225
246
333
196
266
206
145
169
215
147
203
160
176
126
156
231
233
169
176
154
236
152
207
234
139
220
180
210
204
202
271
250
228
244
193
219
226
191
207
210
218
228
317
243
198
178
154
318
192
157
256
232
197
258
230
226
282
235
264
240
214
239
269
194
227
200
219
214
280
222
169
287
192
276
234
184
193
209
263
145
221
240
195
266
235
230
213
197
121
144
214
220
175
214
231
280
192
194
224
284
240
278
270
187
179
224
265
215
279
178
230
248
295
234
274
268
175
229
220
241
270
114
227
208
194
154
215
203
248
246
227
226
201
279
211
240
187
155
158
156
167
312
281
200
206
250
219
168
224
229
273
213
203
196
139
279
285
169
351
224
175
234
279
219
195
161
214
219
283
287
290
333
329
240
169
179
198
199
280
182
236
243
170
285
219
229
268
270
221
201
269
254
178
114
249
241
173
284
233
242
283
173
210
249
226
254
243
264
208
289
255
280
214
214
239
211
189
191
278
217
175
197
195
161
287
181
301
333
203
181
267
190
229
259
276
188
215
264
221
203
158
126
337
231
144
179
248
160
270
231
266
221
355
229
209
289
243
178
226
281
192
260
188
281
166
297
226
178
216
148
233
227
200
268
248
250
185
206
207
260
180
180
236
279
178
248
209
268
327
222
200
250
277
178
290
170
203
188
240
333
261
235
250
148
224
236
266
220
288
209
258
282
192
218
185
234
297
263
247
210
266
198
201
253
185
170
193
187
210
256
193
184
198
250
223
234
206
153
208
190
114
197
183
192
251
191
176
223
264
207
278
282
252
211
192
178
253
169
192
160
312
249
196
253
217
179
204
154
194
223
234
252
254
210
257
292
248
237
269
267
261
292
215
215
170
251
200
277
246
214
296
224
230
306
114
346
231
205
218
236
259
203
202
250
218
287
219
200
146
263
238
219
296
206
240
167
221
239
114
222
209
292
205
280
262
208
173
215
275
232
212
284
258
257
244
215
203
189
178
279
249
232
182
289
342
183
144
224
305
219
218
187
184
295
195
183
214
195
225
280
207
183
234
221
212
229
149
262
208
167
129
250
164
241
183
222
114
270
190
114
202
229
259
243
259
181
225
244
240
157
210
346
156
214
179
173
173
230
176
173
257
232
258
261
261
297
190
151
182
192
196
147
272
200
200
289
240
308
222
222
194
197
232
209
174
221
230
241
266
157
235
190
266
190
306
160
180
161
265
198
251
217
258
158
346
245
185
192
218
251
252
116
167
200
168
323
198
218
259
224
203
259
252
184
260
271
212
139
333
151
180
252
182
218
219
213
184
243
235
243
288
218
294
254
290
218
301
289
307
160
186
235
265
299
171
192
315
154
200
241
204
173
198
181
246
263
243
267
114
294
195
253
215
212
243
158
247
216
238
223
170
228
170
244
208
253
220
189
222
240
139
254
199
220
202
200
231
242
238
275
249
176
305
175
206
231
291
114
240
279
233
257
207
225
169
297
224
201
195
249
277
126
198
189
232
203
261
173
271
242
234
182
195
196
160
220
227
202
218
345
203
235
247
222
192
293
348
256
300
192
237
214
212
187
203
267
114
219
121
158
256
151
291
290
129
282
238
274
267
206
212
214
222
184
167
222
257
270
251
178
215
228
194
245
196
193
259
304
202
176
234
211
207
217
241
188
285
214
238
316
259
290
239
169
231
174
220
198
231
270
244
178
198
282
215
166
227
179
234
275
245
251
264
295
201
139
161
256
265
272
198
168
267
249
307
327
265
167
230
174
274
191
212
230
182
223
253
274
240
275
232
263
244
254
304
232
250
266
232
126
301
165
281
222
298
221
237
227
197
309
246
275
246
226
213
145
222
323
284
263
258
206
189
228
192
258
292
208
175
205
258
212
217
227
269
261
236
248
251
263
260
225
253
262
214
234
206
225
234
149
173
269
182
231
237
175
289
246
246
244
227
152
199
213
198
206
160
296
260
167
270
201
196
108
173
249
313
209
179
285
207
256
300
214
214
235
275
287
158
262
302
222
173
201
197
185
306
155
286
210
283
214
230
299
139
253
228
253
303
287
227
154
192
201
300
139
209
192
266
252
324
162
237
284
156
183
249
195
187
265
293
126
261
114
203
243
231
167
210
275
231
238
227
233
219
221
246
201
310
245
239
191
248
200
183
192
195
255
219
183
257
248
211
188
236
271
264
168
187
196
316
325
215
195
231
211
292
146
229
168
250
193
253
198
106
206
161
193
317
193
235
214
108
114
128
175
277
231
266
149
220
261
294
255
282
244
205
175
240
238
291
258
331
249
154
186
191
172
210
171
189
222
285
178
168
253
180
250
294
264
191
185
187
265
235
271
269
247
225
224
158
166
224
222
219
114
114
181
172
206
152
220
170
281
202
263
258
280
284
191
200
355
318
126
260
157
260
277
247
268
200
180
211
311
201
232
218
239
172
310
167
222
278
278
173
172
225
213
267
255
223
230
170
210
232
256
114
139
203
247
154
204
215
197
211
211
215
214
173
192
325
239
200
192
223
221
178
199
264
214
275
227
210
161
197
258
215
259
191
175
215
126
260
262
194
250
256
308
356
267
197
157
264
224
204
165
146
235
251
279
232
276
251
199
152
222
267
196
325
204
218
185
299
195
277
280
278
199
114
266
114
197
240
164
241
129
297
146
217
285
198
248
241
188
231
179
234
205
192
242
159
190
293
231
182
257
211
251
265
322
234
345
194
191
258
233
212
215
203
314
175
274
194
264
191
213
255
248
265
108
309
196
190
198
223
255
240
261
169
262
185
221
260
238
229
160
147
256
260
242
216
253
267
193
196
180
251
268
229
171
215
201
158
246
241
281
209
202
219
174
228
156
301
320
271
222
183
233
269
249
161
223
173
301
175
147
270
285
252
177
218
208
126
193
228
211
366
206
250
279
194
238
242
201
273
242
192
218
175
198
197
174
312
247
155
214
261
219
299
217
168
149
332
248
224
213
238
269
254
251
235
149
178
204
210
145
184
172
258
198
239
218
277
237
169
248
278
230
229
243
263
114
273
144
214
262
212
307
283
249
234
196
283
126
209
278
198
237
272
211
332
251
228
224
212
273
346
233
202
277
224
222
253
204
217
307
260
188
205
256
147
178
249
223
260
209
186
198
247
209
246
227
225
307
206
244
228
217
278
239
198
260
203
244
191
254
116
116
209
206
181
193
297
236
240
257
195
206
192
251
219
310
249
245
337
180
262
241
180
114
192
185
148
298
175
252
213
271
212
116
144
220
225
114
207
217
157
282
197
193
175
238
257
277
196
249
164
157
263
234
260
129
245
292
231
298
284
173
236
212
278
114
210
239
268
262
244
299
202
224
262
178
220
173
261
204
261
277
165
221
195
197
161
234
180
267
244
298
212
201
297
252
282
208
198
210
194
197
221
178
193
295
204
179
244
321
108
270
281
232
176
297
253
241
193
252
230
221
252
246
154
216
196
218
271
264
190
203
286
208
271
195
181
256
128
195
229
220
252
244
322
146
254
248
208
217
196
288
184
230
274
241
226
201
260
231
200
297
231
282
156
172
216
309
206
232
203
245
191
206
228
274
186
313
166
237
211
246
214
232
215
194
216
194
203
247
166
165
218
215
205
268
175
283
181
192
164
209
206
178
200
257
281
192
252
259
233
221
211
197
316
268
208
189
223
206
215
222
236
244
245
268
165
258
265
214
209
360
215
212
279
323
261
316
192
196
266
246
234
294
243
265
212
234
157
197
234
166
193
255
187
159
229
330
160
258
239
274
170
227
266
213
207
219
246
219
195
156
210
200
130
152
193
170
222
273
189
185
194
261
186
184
177
155
302
206
286
219
157
200
231
247
202
347
251
227
154
224
287
265
208
238
225
219
247
195
222
246
191
250
195
206
174
258
234
293
326
210
204
265
213
280
220
206
270
214
165
173
177
280
221
212
298
275
228
365
149
208
178
257
175
230
204
188
190
202
152
292
286
221
175
203
314
261
232
252
200
289
185
174
251
180
228
240
205
206
176
322
205
184
326
227
134
288
286
315
238
200
139
214
242
133
186
183
246
194
152
250
185
261
184
273
252
205
206
247
222
260
161
261
160
269
304
265
114
183
265
173
273
229
267
248
216
280
244
213
188
237
224
229
243
228
191
244
204
235
178
265
209
196
240
269
138
255
239
177
209
213
171
208
287
247
191
288
139
259
178
232
227
238
282
210
237
236
194
237
296
262
170
249
210
242
167
122
158
196
174
188
163
219
175
196
292
219
230
180
193
223
269
245
341
204
183
205
108
212
181
246
175
244
198
197
176
194
177
194
192
227
234
238
195
275
169
154
114
274
274
189
261
220
265
209
243
222
307
218
255
155
226
240
214
152
218
226
292
157
255
260
258
332
222
169
305
287
157
279
222
240
222
266
288
200
248
196
164
236
227
240
177
233
311
216
354
245
204
279
165
238
170
189
251
151
178
188
232
208
227
247
168
278
247
208
355
281
203
238
269
138
160
261
204
225
157
173
212
237
231
220
212
201
189
210
372
312
251
245
172
237
156
330
189
234
307
191
152
307
221
228
227
206
189
231
215
213
245
228
192
201
260
220
240
206
215
236
257
185
250
208
242
178
198
222
217
243
144
229
265
108
176
255
255
221
229
152
257
199
218
181
196
160
243
122
253
179
264
174
222
203
246
278
253
258
277
211
294
181
190
239
236
232
275
154
193
304
209
216
302
210
219
209
318
258
284
156
284
184
160
200
252
186
180
250
196
255
238
251
287
188
236
166
241
228
246
245
206
149
151
249
262
214
216
202
262
161
237
232
204
220
242
146
206
208
296
174
173
178
210
245
265
222
257
238
195
359
186
204
313
209
219
233
218
240
221
196
201
250
177
234
209
233
182
265
306
264
245
173
256
237
231
174
126
301
237
306
295
229
212
256
254
285
114
278
322
199
240
208
188
206
188
242
322
276
166
240
284
244
212
290
243
211
241
186
171
196
231
273
208
305
247
261
239
225
269
189
174
126
217
208
311
280
174
219
224
198
195
256
248
192
227
182
294
208
262
237
114
220
199
221
185
181
181
304
161
287
287
192
179
237
185
231
231
257
165
302
137
208
200
134
227
237
257
253
208
160
286
293
181
229
246
310
238
171
232
174
201
231
204
235
228
160
205
198
208
309
361
144
137
194
200
218
207
212
250
274
266
293
152
250
194
251
208
250
246
242
167
210
293
231
232
231
171
214
219
294
259
333
227
219
114
199
244
223
267
252
182
193
202
240
254
275
238
271
152
202
253
202
235
234
213
164
244
151
193
220
179
244
220
216
253
181
121
207
210
248
225
321
178
152
156
192
213
294
239
301
213
252
262
203
232
236
173
269
280
307
346
185
209
232
235
254
253
246
274
244
315
193
221
285
257
216
177
278
244
212
220
338
247
262
200
187
169
191
174
283
248
147
264
156
211
239
216
234
223
182
314
200
197
267
220
262
285
206
221
284
275
260
259
238
198
235
158
262
320
223
271
204
205
191
220
201
191
278
262
222
273
263
261
189
175
114
244
166
257
228
277
205
268
231
197
224
306
267
199
232
249
205
206
283
251
219
225
311
248
227
216
239
156
192
226
212
220
215
288
234
246
229
246
288
148
260
224
236
233
277
212
198
231
215
244
262
174
208
268
240
207
160
192
276
254
235
307
257
267
186
308
237
173
285
283
281
184
241
217
178
222
270
146
281
234
175
223
249
230
213
219
235
202
323
184
234
206
217
231
198
271
230
215
255
240
326
237
142
261
281
239
289
222
282
234
230
258
183
227
185
237
157
225
145
197
160
179
221
174
197
228
190
245
226
219
222
195
272
190
252
116
268
211
257
244
187
223
250
151
238
227
180
177
321
242
221
175
210
221
201
347
261
265
297
205
219
208
264
218
258
241
255
261
283
203
232
228
229
215
232
209
284
243
236
198
281
284
175
156
219
170
167
178
160
239
225
247
175
149
195
213
169
210
195
282
248
215
232
200
232
304
262
289
251
226
187
194
187
183
215
266
225
211
262
188
195
180
237
256
218
222
158
297
266
301
235
219
236
151
257
272
258
144
230
177
217
288
258
242
173
229
227
263
193
231
214
217
160
279
251
231
203
212
192
206
233
211
289
247
261
239
174
327
265
223
165
171
195
176
223
146
294
227
270
178
285
209
202
262
139
208
253
275
217
185
257
258
156
264
322
169
237
166
246
249
231
218
248
241
308
193
160
191
260
198
259
231
205
152
218
173
241
179
269
161
225
265
233
207
233
185
175
324
211
201
238
186
203
203
292
250
239
314
239
187
228
174
255
316
212
181
283
308
203
296
301
228
255
191
210
165
177
179
222
243
241
167
164
153
184
229
242
252
160
209
260
156
114
209
224
221
188
219
203
271
160
275
260
232
217
193
165
180
227
215
246
298
227
275
237
304
160
311
324
237
219
215
217
270
242
166
220
306
235
222
249
273
257
188
174
300
210
160
278
266
319
156
148
168
213
222
353
240
195
256
217
253
220
139
215
296
186
151
211
244
264
277
257
126
266
177
181
204
183
187
251
188
229
178
165
246
230
158
174
169
203
229
276
184
261
240
243
184
264
151
249
231
205
281
200
281
146
195
191
265
283
181
183
215
254
248
171
253
217
225
309
211
184
240
228
254
213
252
248
227
189
189
243
214
263
206
262
294
262
192
257
202
160
167
173
297
271
240
209
265
206
272
231
258
309
177
226
190
227
193
296
204
108
226
222
282
258
193
212
192
230
241
246
185
147
311
230
316
199
230
212
231
198
206
294
300
167
178
253
220
174
238
233
284
155
240
149
307
289
216
221
192
256
182
201
225
126
279
170
283
283
232
218
184
154
277
275
191
181
235
209
235
255
254
244
199
205
275
189
215
233
229
195
232
198
280
202
294
188
154
205
152
160
252
270
205
217
215
212
199
235
285
198
170
218
229
320
164
261
254
256
253
161
291
218
240
283
294
167
243
238
264
186
139
209
358
179
257
245
198
276
210
230
200
217
278
275
257
240
309
303
236
258
129
258
227
189
278
165
293
153
242
146
186
217
121
212
291
216
184
238
206
250
266
219
151
242
114
192
233
231
176
283
184
188
241
283
289
273
301
326
351
286
206
255
236
240
212
258
201
174
211
323
231
227
152
152
229
233
202
308
221
210
299
191
242
231
210
208
258
236
291
170
261
206
325
252
269
213
196
298
227
304
278
151
177
264
225
182
296
238
130
238
251
238
235
209
266
232
201
145
267
209
232
243
252
238
192
231
207
242
257
174
216
224
291
164
178
315
152
160
207
235
180
192
232
187
222
210
166
222
217
191
168
199
198
253
161
190
237
225
295
256
177
244
241
254
205
114
192
241
264
222
256
223
237
279
211
299
255
239
236
195
247
192
221
294
231
320
224
341
235
195
182
288
283
270
225
144
246
235
263
233
233
215
297
311
274
171
156
220
239
218
250
178
228
268
181
165
245
219
215
206
245
211
273
217
184
227
205
230
230
294
251
239
151
229
279
269
215
226
139
250
298
175
320
158
257
269
238
289
211
241
226
240
273
180
263
220
199
195
207
321
237
126
215
209
173
204
229
211
194
216
198
244
197
231
175
264
218
262
284
204
207
213
232
178
228
264
310
191
227
263
211
224
317
210
186
248
248
165
180
274
211
149
243
193
172
235
232
156
202
241
239
186
251
261
162
283
218
225
236
218
212
169
222
256
209
220
164
274
257
216
192
302
182
230
239
247
191
264
247
156
183
225
151
237
248
179
228
210
164
200
215
248
229
236
265
171
245
302
184
222
196
200
176
257
184
222
185
204
154
163
181
196
309
233
289
209
164
300
271
209
252
177
169
179
189
257
149
237
200
256
202
302
166
202
249
246
198
191
204
141
214
216
356
198
235
274
227
230
212
242
282
203
207
146
307
224
178
320
265
284
246
226
201
145
191
177
279
219
230
261
208
234
259
257
129
308
198
170
287
264
247
192
210
228
273
239
240
236
249
199
229
188
173
226
276
193
233
219
253
217
162
160
251
233
174
219
192
277
238
156
168
213
256
237
165
204
203
157
234
232
222
193
154
114
204
274
247
193
209
187
214
216
234
170
168
222
195
162
167
211
114
291
191
255
251
242
336
181
200
315
156
287
276
316
225
227
114
208
264
181
170
216
188
202
197
206
307
237
218
156
240
167
300
200
218
183
192
232
323
327
193
226
176
203
287
225
206
220
231
231
217
262
186
251
188
165
221
192
171
224
200
178
275
203
226
163
233
282
196
329
174
217
216
236
186
165
274
236
235
258
284
239
244
223
194
116
121
223
249
241
281
229
173
233
296
225
233
225
232
238
114
309
223
215
225
260
148
307
258
222
180
238
196
230
205
182
216
245
134
225
208
198
261
174
188
178
181
224
289
170
227
241
249
249
114
238
172
248
178
306
200
199
258
231
216
146
249
209
155
278
213
203
177
224
211
247
232
242
207
202
247
219
274
206
170
219
224
178
252
255
299
229
244
308
192
210
160
219
288
227
299
241
167
116
204
226
249
260
297
256
139
191
223
195
243
223
275
217
204
229
253
265
355
212
170
212
233
182
225
183
201
196
215
165
173
257
180
245
303
213
144
313
196
209
249
205
168
220
192
223
212
196
233
264
208
279
267
221
233
238
218
187
210
201
257
265
314
262
237
214
194
114
214
244
197
251
252
158
240
208
207
176
251
230
249
114
230
184
166
220
272
256
217
145
214
233
247
221
244
274
169
286
205
276
182
256
234
178
170
238
152
286
260
232
160
220
231
189
239
245
201
203
250
279
278
283
184
175
281
254
187
215
191
234
177
257
202
215
191
274
174
237
179
216
195
308
288
177
192
245
209
225
160
307
233
228
233
229
210
277
253
225
213
204
210
262
290
200
280
139
193
225
221
218
155
202
219
223
299
212
208
210
225
168
241
252
277
210
204
245
208
231
211
176
208
255
283
275
229
191
235
279
277
289
149
194
194
219
270
223
215
240
232
166
166
151
242
253
191
233
246
114
273
247
237
198
270
248
183
228
210
228
178
281
198
258
129
160
220
144
221
218
201
193
230
259
240
219
194
271
269
227
229
179
353
229
149
169
216
213
216
167
154
304
202
228
258
163
151
217
252
212
156
225
216
207
229
191
201
241
189
239
210
216
229
270
239
145
114
247
176
245
159
243
258
342
242
227
233
198
214
228
253
180
295
229
297
284
201
229
174
236
202
221
192
218
302
126
196
231
274
176
268
162
156
198
192
214
209
139
338
215
207
197
188
286
207
245
265
217
195
233
129
183
268
224
162
295
193
243
176
231
164
203
227
258
165
174
239
199
249
193
152
266
187
228
238
205
335
249
195
171
213
220
219
202
178
213
268
252
322
188
255
220
181
233
195
176
254
305
229
188
180
214
326
213
215
192
199
252
238
241
171
283
263
191
273
200
252
157
204
226
315
179
190
213
234
270
236
278
265
188
261
248
246
256
248
278
213
246
210
171
226
202
246
223
367
248
219
263
175
192
193
234
233
316
248
206
241
283
215
272
224
266
187
302
234
172
231
253
245
196
217
206
167
227
188
262
227
243
207
238
313
241
164
239
208
152
210
192
121
129
191
181
303
188
193
224
237
276
243
268
256
276
137
217
212
286
196
209
216
228
253
262
217
230
145
245
240
217
184
199
178
204
187
192
262
154
279
256
274
293
210
215
151
129
258
299
355
241
268
169
224
189
246
230
139
186
191
219
256
211
222
170
152
261
258
223
278
286
245
277
173
181
214
263
224
178
224
158
251
197
257
196
233
216
214
237
154
204
193
194
200
242
196
263
315
288
281
246
235
181
277
221
256
311
259
156
219
164
205
217
174
192
206
262
195
188
186
229
181
156
216
250
392
201
219
162
197
158
272
179
302
209
240
252
174
207
214
215
197
229
165
253
207
229
276
168
161
259
168
215
197
148
203
221
191
195
172
203
239
249
203
205
228
310
182
252
222
198
184
160
209
233
189
215
158
250
221
227
245
197
237
199
223
203
322
177
203
145
241
232
235
178
177
291
266
304
256
233
193
198
215
188
209
317
202
280
234
211
195
261
238
210
256
213
208
252
264
190
205
198
198
240
226
173
256
263
219
220
220
313
317
262
232
284
187
143
202
165
260
170
282
220
265
169
164
286
282
198
198
116
230
179
227
162
206
227
276
291
243
224
219
253
177
275
179
205
207
159
188
208
255
184
295
271
231
240
189
186
255
224
189
184
253
221
171
213
185
174
204
130
176
265
216
228
194
229
270
255
149
249
212
197
219
231
151
251
223
236
301
243
194
212
299
258
248
148
227
295
207
325
299
190
208
259
220
244
139
200
246
321
290
218
249
263
170
208
167
254
240
222
157
255
240
203
212
300
271
249
239
238
256
274
248
114
216
246
298
200
238
257
349
228
205
226
303
151
190
218
261
301
207
201
171
195
238
265
139
170
209
253
178
288
248
220
259
284
239
327
303
281
265
157
254
181
229
229
253
252
250
261
253
232
218
234
145
180
232
264
250
245
304
250
367
189
234
218
258
190
235
295
178
304
283
227
336
175
160
235
269
248
173
300
257
285
227
180
207
193
282
116
212
114
221
266
181
249
180
241
265
130
265
218
279
282
155
287
262
221
264
220
234
316
336
251
231
221
234
232
242
156
232
296
232
213
217
195
256
220
185
167
311
275
248
184
185
208
268
198
266
268
182
214
297
146
261
238
191
229
257
193
242
178
205
215
170
343
185
243
170
205
210
252
252
191
233
174
197
206
233
198
185
297
262
192
210
114
169
224
196
227
196
202
178
273
164
261
281
184
192
247
308
203
173
277
231
209
333
291
348
239
221
289
246
211
223
251
181
221
139
269
223
258
176
199
160
231
156
270
180
200
256
192
254
234
187
298
186
232
243
206
245
221
156
218
260
114
160
242
252
198
167
294
243
317
237
233
270
220
158
223
278
233
304
235
188
254
174
262
246
162
255
271
247
208
206
270
305
211
139
276
231
337
245
262
206
154
208
233
145
180
170
285
203
240
251
247
231
169
199
197
278
224
169
203
332
213
216
303
295
175
262
198
198
212
268
251
270
285
258
230
155
209
271
235
231
220
211
234
204
254
251
173
237
217
242
220
252
209
234
206
209
240
209
218
139
191
320
193
218
224
251
214
191
176
173
226
218
242
213
203
254
231
249
267
227
148
315
278
205
182
241
199
215
292
224
283
192
310
153
280
327
190
198
285
231
336
220
162
197
285
222
191
193
329
260
262
231
169
181
225
236
261
146
245
195
208
192
161
194
273
247
372
201
217
174
243
181
262
175
219
180
256
224
231
236
250
249
168
247
211
259
160
239
248
220
160
210
243
260
265
208
221
275
178
245
189
191
108
272
278
230
268
187
209
266
227
231
264
219
219
209
240
205
264
209
165
248
353
248
227
158
207
280
248
243
169
284
191
157
201
231
280
203
194
235
180
271
243
194
214
273
220
210
199
306
214
276
234
218
239
166
232
260
153
194
251
182
184
174
224
281
184
265
193
174
277
225
309
229
315
203
254
251
321
170
243
249
177
200
229
309
202
229
234
208
192
170
228
270
192
271
244
200
185
310
186
198
173
205
204
241
278
196
245
240
175
301
241
292
174
165
174
180
253
231
195
194
227
264
201
241
166
226
247
227
203
230
214
255
243
258
217
128
237
203
239
203
197
222
230
256
244
187
222
256
217
170
211
275
208
245
147
236
170
152
219
264
158
200
218
231
276
208
114
318
251
243
261
217
220
272
254
208
228
268
272
257
217
281
262
180
215
158
161
228
176
239
209
248
197
284
210
236
205
152
284
219
188
200
255
197
267
218
183
242
310
274
236
248
184
151
175
201
356
211
244
310
312
301
242
205
152
248
318
226
234
226
234
182
173
244
214
178
209
200
342
206
237
218
234
273
228
254
191
210
257
139
177
158
215
165
201
237
213
201
293
165
319
219
209
269
230
231
189
306
194
193
228
208
197
188
217
187
229
224
178
271
181
195
206
253
173
189
155
192
215
289
305
252
201
223
314
172
268
184
220
283
225
227
321
202
205
173
162
219
219
230
186
248
210
165
289
217
225
203
256
259
192
160
308
234
219
291
270
181
214
209
200
227
216
257
114
199
185
301
223
188
249
171
203
169
224
209
323
213
189
224
289
256
242
208
301
265
224
224
156
228
210
248
246
246
198
202
167
265
239
249
244
299
183
193
167
194
312
236
219
151
160
255
114
193
234
180
268
114
245
204
178
222
214
294
229
277
186
297
214
222
252
184
270
218
325
157
258
242
214
211
241
212
192
168
253
195
160
198
284
252
216
234
222
210
223
177
234
305
202
286
198
174
377
204
241
247
197
244
211
222
255
244
181
222
274
285
183
243
188
114
218
284
340
229
151
268
274
191
285
235
191
192
221
250
200
255
219
250
206
262
240
185
237
192
208
255
216
245
207
224
314
296
175
272
213
218
187
232
247
198
148
164
329
175
298
154
262
228
214
229
242
242
231
114
302
228
239
253
229
233
211
224
204
139
202
209
209
181
271
179
157
169
270
213
186
310
263
204
226
234
236
240
145
176
165
191
219
252
290
149
203
170
239
267
248
263
269
234
256
181
193
169
223
267
260
265
255
208
240
161
306
174
221
139
242
225
311
223
244
293
160
256
178
283
243
198
306
229
309
230
263
247
157
221
166
175
139
233
273
197
257
192
252
263
244
217
154
274
194
196
222
283
219
268
222
256
260
161
198
314
285
287
248
273
232
221
179
219
236
270
273
297
260
243
239
216
295
169
251
114
261
180
193
177
267
202
289
248
205
218
192
209
218
255
170
219
237
152
223
225
178
261
191
208
235
211
203
279
185
205
274
192
114
219
315
221
241
177
165
215
152
206
284
195
209
233
161
219
193
226
255
242
282
169
196
232
137
154
172
223
213
144
213
247
165
235
233
174
218
312
241
191
264
273
193
230
213
144
195
203
214
210
182
181
279
168
249
295
276
218
235
203
241
177
221
247
190
345
213
229
254
268
239
191
232
232
239
198
231
178
210
193
277
213
218
281
179
226
185
196
170
233
206
258
256
247
193
247
269
199
221
314
276
234
244
216
214
208
193
214
207
241
234
176
209
283
161
175
255
186
106
235
240
221
260
212
258
267
228
267
196
225
256
204
173
200
322
199
223
171
281
189
273
225
108
196
214
198
297
156
272
318
245
229
184
214
173
284
249
272
236
174
212
225
195
225
139
171
199
209
219
164
206
161
256
262
195
175
191
168
211
231
226
200
210
228
246
152
218
218
283
206
186
246
146
139
256
236
173
210
255
203
165
283
261
148
185
208
244
261
196
214
268
274
198
229
246
190
253
116
200
188
186
166
151
310
199
181
312
177
255
171
206
247
306
256
152
193
218
209
247
228
268
225
221
259
193
176
229
218
277
262
267
304
204
222
116
195
179
179
247
238
227
235
193
287
214
233
177
151
170
248
202
238
165
204
235
277
270
274
237
232
178
245
160
221
282
226
208
245
214
169
175
201
245
243
230
195
237
255
161
185
209
215
161
198
274
268
208
173
191
211
257
195
230
290
239
263
224
192
214
222
193
238
169
178
207
182
315
237
235
225
156
241
189
238
226
188
227
206
278
217
327
284
232
218
193
191
201
148
224
326
307
214
212
271
229
225
257
148
289
174
236
238
209
262
216
282
216
223
144
241
315
267
141
282
169
178
218
262
253
226
152
202
194
261
239
260
203
223
195
257
233
273
208
191
206
160
158
216
171
274
249
259
192
280
264
156
211
157
196
229
358
192
199
260
274
227
267
249
186
237
205
231
161
226
172
268
247
233
231
213
227
238
170
180
197
191
185
139
181
268
213
241
317
228
179
182
283
209
238
163
275
230
280
231
278
151
247
216
224
202
218
176
245
198
254
160
205
240
295
255
211
249
273
161
269
198
183
276
189
155
277
247
226
160
205
267
192
188
241
176
264
179
196
213
203
214
244
158
159
189
265
207
211
192
202
174
144
240
273
272
234
331
255
211
146
139
202
180
229
183
184
245
221
222
223
242
260
149
222
234
139
261
203
249
222
283
250
167
180
217
289
267
175
203
174
203
242
212
299
172
276
170
225
260
184
216
221
248
261
288
231
275
216
264
185
291
248
235
262
261
208
199
198
181
114
126
224
267
180
244
286
247
309
255
176
268
222
222
114
193
178
215
265
283
242
244
328
251
158
224
213
255
209
176
209
234
156
220
281
166
207
227
260
208
196
211
208
174
221
309
238
256
233
282
243
219
244
160
218
194
225
191
255
238
269
218
193
172
245
237
213
193
193
126
195
230
114
202
232
234
214
247
203
202
238
271
220
229
266
193
240
221
144
219
356
220
229
190
230
239
161
126
214
207
234
114
212
215
170
214
178
265
194
213
209
228
219
186
320
184
197
133
246
232
177
331
283
183
216
237
258
240
266
181
233
226
190
270
297
164
266
273
203
213
210
246
224
196
166
175
245
267
228
215
279
234
246
215
297
181
203
235
211
247
203
216
246
182
114
222
198
248
289
170
250
182
235
267
235
237
179
283
203
245
243
204
216
214
188
213
264
198
288
205
243
198
149
206
216
252
180
239
208
174
268
213
160
133
288
209
214
176
200
223
233
262
252
169
215
220
200
174
212
250
164
151
126
256
183
209
378
264
213
182
232
196
186
234
236
233
178
234
218
234
327
208
343
295
237
229
215
253
245
241
289
244
206
237
299
190
249
187
223
191
252
298
205
308
263
164
251
290
253
269
181
232
221
292
231
192
253
222
218
219
224
241
234
238
251
251
230
207
292
194
265
228
218
237
187
162
212
180
149
244
221
285
210
292
262
218
241
226
231
175
294
264
223
205
250
300
202
207
216
114
198
234
160
221
215
276
281
303
185
186
198
201
139
228
240
190
228
130
237
184
182
180
254
263
295
169
108
280
302
273
184
148
287
145
294
222
241
254
169
257
261
242
233
244
204
172
211
218
160
244
219
197
265
299
209
184
222
160
320
233
223
237
200
289
196
296
204
206
240
261
238
181
170
184
247
223
280
207
203
232
278
218
206
208
228
214
218
249
157
230
177
261
174
237
232
258
216
220
255
244
201
288
128
220
217
159
350
289
268
263
196
215
231
167
217
170
232
213
256
211
213
260
204
248
238
278
219
223
217
187
326
250
198
324
233
258
218
236
243
217
203
255
281
270
179
190
167
231
244
238
222
191
297
205
212
215
145
271
236
176
231
200
316
157
259
207
240
216
203
235
223
263
217
218
268
218
190
205
276
241
214
218
192
214
240
267
267
158
253
165
241
175
146
243
229
203
208
211
179
229
213
156
224
258
234
292
222
222
214
185
261
288
270
172
226
211
245
204
239
205
330
197
250
205
302
262
252
270
194
205
241
302
185
186
203
272
201
203
188
201
146
233
299
308
203
183
272
187
284
181
198
226
247
243
195
210
197
242
203
168
241
184
246
298
165
221
201
288
225
305
168
288
245
209
206
235
160
202
213
177
192
227
244
192
334
268
173
250
193
248
181
234
236
209
238
173
191
212
194
324
246
240
245
205
195
194
192
184
192
172
195
243
277
236
307
318
174
183
377
301
217
191
181
250
207
308
172
221
182
162
213
237
256
209
233
156
243
261
245
198
224
173
295
185
206
262
263
253
193
238
274
227
253
240
232
232
235
250
175
235
202
204
170
214
277
269
230
289
241
270
146
185
139
144
148
255
243
258
178
239
235
191
333
231
265
254
262
236
271
181
240
219
211
316
251
139
220
160
311
245
212
217
219
275
283
252
218
184
220
248
189
260
207
160
222
195
257
247
297
173
225
186
257
198
203
293
160
220
239
227
166
240
223
139
234
256
152
195
207
234
197
277
268
289
215
218
309
263
194
239
202
151
114
288
231
261
229
223
308
225
291
224
237
267
195
270
254
173
280
254
230
173
139
248
197
213
233
214
233
254
188
241
230
183
247
193
265
224
233
217
231
207
161
260
126
233
234
206
318
218
144
284
188
241
280
230
323
265
204
211
224
226
207
284
176
214
245
216
246
244
212
219
224
166
285
233
213
252
263
182
318
202
225
248
244
236
247
265
274
267
213
356
165
233
270
114
164
216
233
241
221
139
229
218
242
285
314
164
198
219
291
213
169
247
225
264
230
267
175
154
221
274
207
270
285
324
255
256
197
197
232
222
261
216
234
244
287
271
209
229
266
220
220
221
173
139
218
201
203
313
214
273
246
230
283
245
229
204
126
188
244
206
212
244
175
230
178
274
214
271
180
224
152
308
244
279
213
216
286
215
207
277
306
239
305
235
279
218
194
264
212
192
133
343
238
188
197
194
244
160
209
158
200
358
222
214
247
204
169
180
270
177
282
219
217
239
203
219
183
182
208
184
114
227
203
192
205
175
269
211
160
218
208
152
175
252
304
304
242
262
224
260
198
214
229
198
300
275
277
206
245
170
152
189
225
243
205
213
311
259
275
206
204
210
230
240
251
225
192
145
310
234
257
243
152
213
255
247
310
169
188
240
230
183
308
233
240
272
160
178
205
194
294
226
177
250
233
247
252
236
244
256
194
274
215
247
238
232
288
167
224
206
173
202
183
160
227
271
195
195
297
237
272
138
265
275
230
214
240
209
245
262
181
211
207
180
161
349
223
234
156
257
330
202
215
229
207
290
236
220
278
178
233
260
214
258
301
203
200
249
198
237
203
229
282
219
232
245
198
222
203
167
192
114
333
198
195
240
145
292
191
276
224
330
222
170
245
264
222
144
227
216
190
214
238
282
215
224
144
208
198
282
214
216
162
170
220
195
198
256
169
258
161
160
273
269
217
202
222
178
166
198
212
185
169
303
269
229
241
241
217
191
142
196
214
224
203
188
210
188
186
211
183
238
158
236
203
229
223
301
205
164
229
234
204
181
209
226
308
241
178
243
237
235
168
242
187
192
304
206
210
256
252
254
194
256
207
183
205
160
199
184
147
255
257
285
253
199
219
151
215
209
176
190
290
256
128
201
210
243
274
310
284
179
226
207
246
180
219
188
282
265
189
189
269
180
207
232
233
291
243
162
191
233
189
212
223
181
157
208
199
222
203
313
272
225
114
214
215
190
214
289
200
156
205
246
239
204
267
207
203
269
234
184
260
216
277
235
207
231
221
139
225
185
309
126
309
260
245
264
210
317
253
180
245
226
257
176
258
250
221
219
232
289
221
173
211
215
195
151
265
258
145
176
274
189
234
195
279
280
214
198
243
300
202
114
233
235
252
270
300
255
319
259
219
284
231
208
235
258
161
254
114
230
208
194
355
238
151
276
264
282
200
311
186
106
311
235
207
217
175
252
114
203
270
283
223
183
276
141
207
235
267
221
214
252
247
285
279
345
224
196
298
233
216
314
314
154
174
260
284
164
200
213
273
223
220
236
187
167
285
239
181
213
178
270
246
294
246
212
199
248
186
171
171
235
214
289
259
231
196
216
170
159
259
202
185
310
214
227
201
181
185
242
211
284
316
214
267
287
224
242
279
242
285
234
207
178
206
205
181
165
191
235
275
259
193
206
207
169
226
199
177
231
275
263
284
191
237
197
179
242
209
229
237
184
191
228
204
240
204
231
234
197
230
208
238
264
271
349
232
314
221
208
303
267
187
283
238
269
192
217
288
215
261
304
204
224
144
165
234
248
214
180
203
247
106
173
168
207
222
225
198
165
251
175
230
226
222
148
148
238
190
203
264
224
255
260
287
235
254
324
278
277
196
266
251
278
160
186
174
232
272
217
322
227
331
223
320
263
231
173
312
152
241
292
267
246
173
180
251
165
260
165
176
188
299
224
272
186
218
284
253
232
262
242
234
184
202
279
270
232
166
179
263
220
303
278
240
286
253
282
265
187
163
230
220
269
243
219
230
276
114
184
166
222
166
206
220
311
161
194
200
186
367
269
173
200
267
164
243
197
193
296
262
246
151
199
190
274
269
243
222
208
195
133
158
230
207
249
358
242
208
246
259
191
201
222
297
228
238
255
217
220
198
253
213
286
144
257
263
169
227
295
187
243
198
232
261
185
252
220
286
175
222
200
290
206
196
254
255
209
221
278
261
259
255
209
233
232
255
300
196
215
214
245
260
226
224
188
227
328
297
173
216
180
306
269
300
233
264
181
219
246
198
245
225
215
245
241
201
304
299
201
203
227
219
230
227
240
205
288
295
246
218
242
245
205
207
231
266
200
215
147
314
279
225
240
189
244
187
235
213
206
241
195
307
250
266
301
298
272
185
249
282
268
171
213
213
201
223
243
267
295
168
168
292
306
228
220
263
239
253
252
175
234
284
215
228
203
249
173
265
216
257
269
274
373
218
181
157
220
256
190
180
178
114
262
203
108
160
269
227
273
213
249
256
255
213
290
243
231
156
245
253
167
223
229
180
277
267
255
212
247
260
253
186
255
162
199
250
176
200
202
243
192
187
166
264
255
238
192
222
237
191
188
202
201
213
259
295
176
205
263
189
208
218
244
201
213
215
170
229
233
181
243
205
223
183
258
189
278
202
208
236
187
176
173
203
241
254
253
114
211
320
178
235
242
221
166
159
261
341
196
160
232
220
212
229
216
196
166
208
216
276
255
165
203
178
277
193
240
169
214
228
286
175
228
268
277
173
188
317
145
219
174
286
211
278
225
260
220
240
229
186
278
217
290
228
199
246
270
301
190
257
177
298
187
206
158
229
167
263
253
203
195
235
289
181
262
238
228
222
280
172
236
174
162
214
198
177
230
148
269
200
197
273
204
191
225
283
232
106
222
240
295
239
241
201
297
243
280
241
251
237
260
201
205
213
247
159
167
325
200
144
212
233
310
247
201
234
191
281
235
234
230
271
205
126
209
211
228
247
254
245
163
265
180
267
234
135
194
161
256
179
208
234
164
204
294
171
305
178
256
243
231
271
213
261
247
210
308
259
233
250
173
315
248
290
187
271
308
272
262
209
192
219
252
276
169
239
268
260
155
168
280
301
232
221
246
238
336
292
184
294
241
211
163
178
236
252
173
231
211
230
280
220
236
266
217
242
223
270
193
289
202
226
219
258
235
205
208
228
269
227
236
317
231
249
213
165
228
244
164
215
219
222
178
261
205
189
230
220
121
250
305
223
193
197
278
242
267
198
241
182
227
252
244
172
139
189
224
218
218
227
221
208
290
211
248
234
221
223
227
239
200
218
203
290
240
277
215
229
200
233
170
184
175
214
295
160
149
223
237
280
243
211
255
261
253
148
190
243
157
238
204
194
266
222
276
245
240
220
298
243
234
288
222
294
244
229
229
208
244
168
192
253
158
309
246
203
220
247
224
208
270
226
197
194
234
253
214
173
235
183
224
209
253
250
251
242
195
257
205
270
262
262
154
286
225
178
260
149
296
219
241
212
216
268
282
192
218
156
275
253
240
175
257
287
289
229
242
178
202
170
192
287
216
288
300
198
202
315
200
221
198
252
185
139
156
222
275
152
165
267
211
313
263
258
151
214
242
205
156
178
223
213
128
195
222
228
247
230
139
240
182
256
196
281
161
114
235
260
255
275
192
228
248
194
175
322
241
245
255
198
239
267
263
277
229
208
164
291
239
214
185
225
145
256
213
215
180
261
262
160
185
196
202
184
270
274
208
160
180
217
114
173
203
217
207
320
251
207
265
244
225
253
262
236
130
230
165
245
237
206
170
249
180
247
226
202
215
233
237
269
267
242
236
223
243
195
169
165
186
186
261
203
172
114
238
292
188
202
183
192
240
242
246
216
249
283
220
233
170
249
271
189
265
232
233
301
259
214
226
286
139
272
241
204
269
151
183
187
250
290
244
210
261
222
208
266
207
219
322
260
179
116
234
220
207
160
228
221
282
180
241
207
224
178
242
173
180
116
253
256
208
216
206
243
177
286
209
223
231
247
184
195
241
193
214
348
223
209
237
265
197
209
260
225
287
198
164
151
207
196
211
221
211
157
200
174
200
252
263
332
187
214
181
175
226
290
218
187
276
235
283
281
160
192
114
222
221
194
225
250
155
209
210
245
133
206
248
252
247
254
230
188
208
220
200
291
181
227
231
152
126
213
239
203
184
162
275
232
221
222
278
186
311
229
156
221
186
178
227
317
255
225
236
196
257
257
146
210
221
247
230
232
267
180
193
173
170
278
245
240
173
211
249
220
253
221
214
224
247
231
163
308
175
204
259
211
178
248
196
213
247
215
154
197
266
216
323
190
236
154
192
197
238
204
225
191
212
184
341
270
230
260
245
207
214
220
273
163
196
178
243
231
231
185
208
210
228
248
296
220
241
196
231
230
169
263
186
270
179
229
189
245
259
193
293
200
166
207
207
174
258
231
249
160
347
203
302
173
145
251
236
246
230
223
211
170
179
263
296
213
196
201
278
218
158
230
199
222
243
218
168
187
272
291
260
230
185
170
270
236
237
186
252
210
189
182
234
273
230
217
162
179
249
217
240
255
165
165
206
173
238
249
220
249
180
144
193
217
198
219
249
178
190
193
203
281
258
108
248
180
237
203
178
190
210
246
269
259
256
230
262
170
209
195
323
212
226
217
252
225
230
243
235
174
262
208
243
333
260
169
277
218
277
249
313
277
256
181
218
181
218
267
285
249
391
213
266
220
251
220
303
160
215
176
317
241
192
202
292
234
256
205
173
204
210
223
205
186
255
266
223
255
206
186
199
181
222
229
220
266
237
322
156
235
114
206
245
219
208
196
178
213
210
203
237
238
239
192
289
255
224
348
248
159
261
148
238
211
217
171
168
245
203
184
327
261
222
235
329
285
330
150
234
253
173
252
220
160
328
261
221
219
310
232
180
162
160
238
154
247
301
207
265
185
218
266
248
344
201
188
197
229
186
235
171
297
257
311
144
278
174
286
284
245
188
246
171
174
208
337
156
246
210
235
158
221
200
285
240
166
165
228
199
266
198
221
230
223
377
235
177
234
330
193
317
346
240
241
243
265
162
214
215
225
204
277
179
228
198
217
233
265
332
265
175
196
172
235
180
197
193
240
208
260
227
202
221
271
205
199
262
190
191
212
296
178
276
309
214
246
185
254
248
205
220
268
192
246
238
228
311
161
206
215
217
204
186
148
202
263
215
260
254
167
235
286
309
234
235
224
241
180
238
178
198
227
207
216
247
225
257
239
271
252
285
209
302
114
231
278
180
191
192
178
170
171
299
227
279
195
258
195
216
174
265
193
222
189
195
238
314
216
182
216
129
285
317
280
220
260
245
234
258
216
262
174
299
244
333
271
181
223
206
281
179
200
204
197
237
256
197
232
223
192
271
227
243
218
156
229
177
260
218
165
309
202
207
160
245
219
165
213
146
237
236
217
219
240
235
157
282
173
270
147
298
206
209
193
144
178
201
203
169
262
226
170
225
255
221
183
301
248
200
248
240
253
139
328
204
260
300
212
261
246
318
146
268
239
203
220
259
228
195
258
250
200
275
313
260
278
252
149
213
230
271
275
201
203
192
239
204
223
249
221
205
218
218
156
233
206
297
273
243
221
178
168
176
242
197
208
221
228
198
189
194
254
258
273
230
276
296
129
198
151
272
300
199
210
311
184
303
228
213
224
285
225
274
341
230
265
198
215
303
336
226
215
233
207
252
237
243
278
198
266
223
262
189
222
253
271
248
173
219
244
167
175
191
181
276
273
258
215
178
227
214
222
231
220
250
182
188
121
225
138
258
176
158
261
220
184
245
258
176
268
199
217
290
208
251
178
161
200
199
247
271
304
188
318
114
178
170
193
236
283
169
258
197
324
226
167
251
161
208
306
192
310
204
191
235
208
281
283
260
246
244
175
168
242
214
206
219
222
266
258
187
195
166
248
223
207
170
229
182
258
284
237
158
292
178
223
219
264
204
222
187
216
251
320
284
220
173
160
247
202
214
228
161
194
274
158
196
173
214
195
251
201
291
277
190
234
235
253
265
215
219
231
199
203
221
152
288
217
215
181
241
191
215
230
306
243
178
195
222
239
190
278
257
308
163
259
185
173
243
244
215
195
178
194
266
174
170
249
219
172
171
305
234
240
181
246
296
256
243
284
293
293
180
176
188
240
237
211
160
216
259
130
152
176
219
227
187
259
183
189
184
240
208
207
236
259
240
249
147
252
160
272
276
256
214
247
238
320
278
238
195
169
116
218
255
289
108
206
239
200
209
260
114
231
177
205
182
210
201
194
261
288
216
293
220
262
297
209
238
161
230
197
196
221
261
247
140
256
233
232
240
200
295
201
249
175
243
201
180
211
228
243
302
212
228
187
211
230
225
179
219
234
269
130
250
243
200
190
226
257
242
187
163
139
230
238
175
233
224
158
253
270
177
199
285
334
190
194
223
198
238
259
267
298
240
363
213
268
248
159
208
217
290
268
173
200
239
204
210
267
153
206
212
195
175
186
249
283
251
223
245
246
236
285
174
195
220
158
250
187
227
361
230
233
181
221
230
282
219
376
184
138
194
319
165
196
184
192
258
175
221
205
248
126
270
228
235
172
292
217
149
212
233
235
260
287
257
236
215
225
232
267
255
248
226
205
277
242
234
225
192
249
202
199
198
211
282
212
290
219
210
196
305
344
293
265
244
207
183
217
280
189
247
163
220
241
218
264
184
212
186
299
216
232
241
273
192
146
318
177
176
299
244
257
170
184
294
198
165
255
308
257
235
181
264
178
204
203
264
276
183
208
201
203
211
213
200
170
222
228
253
208
201
190
215
247
286
286
258
254
175
310
146
176
236
222
176
226
168
317
207
286
243
248
292
238
197
195
196
195
239
261
206
179
166
276
298
244
189
254
219
231
331
206
141
189
250
217
267
188
249
234
239
165
249
190
205
300
251
310
227
253
203
360
233
280
272
225
216
242
267
229
233
205
250
193
220
205
248
206
266
205
227
228
232
248
229
192
267
215
263
292
215
255
241
253
330
244
221
299
185
223
238
275
175
235
251
227
213
314
295
224
251
213
200
235
282
265
302
239
221
150
340
262
239
173
279
214
280
266
287
114
213
213
235
240
244
298
253
170
324
200
199
224
284
195
214
226
200
199
285
315
225
248
156
189
272
269
139
325
304
225
236
226
175
196
194
215
190
241
279
250
253
232
244
219
289
178
204
230
162
284
232
221
240
235
196
228
236
197
200
291
126
215
238
336
307
264
260
170
217
214
270
202
253
144
238
392
295
215
222
247
151
201
225
259
269
222
235
180
172
202
230
250
223
263
276
197
191
268
249
200
171
227
254
152
248
242
241
179
238
196
230
234
295
209
209
207
250
302
194
290
178
223
238
196
179
160
204
319
243
205
261
176
278
220
230
232
274
235
302
244
243
232
257
196
182
239
234
218
180
240
273
255
248
275
228
165
239
232
192
239
274
187
189
166
242
243
239
169
191
229
221
203
245
215
180
254
302
202
241
262
250
209
151
201
175
250
214
194
224
200
227
241
192
221
249
168
139
160
249
219
164
229
265
114
152
239
158
213
252
242
254
167
239
236
227
290
231
247
260
194
267
221
251
228
237
207
249
156
181
121
184
248
226
246
232
242
182
240
197
287
196
156
212
254
184
199
319
252
287
213
287
274
276
244
309
308
209
203
291
240
210
157
269
230
290
192
245
189
207
209
270
206
303
177
193
262
175
213
276
245
212
268
165
208
206
250
178
202
228
206
174
186
206
178
220
179
214
181
114
214
202
207
225
233
214
209
268
201
148
264
180
325
179
214
225
175
224
228
293
212
276
161
241
307
259
215
201
197
278
250
159
270
241
204
248
206
170
180
216
204
276
220
235
207
178
163
291
177
174
238
181
211
229
237
147
249
215
191
209
188
240
266
209
201
206
326
278
193
173
222
228
160
274
302
192
185
180
222
304
253
221
191
270
269
253
236
235
223
215
170
199
275
237
223
182
230
213
221
151
285
162
192
183
251
237
213
201
231
209
203
218
232
272
215
194
189
298
217
222
114
259
192
155
213
146
202
279
209
219
194
212
268
238
254
203
218
239
185
146
208
264
139
240
259
269
240
216
144
151
158
351
184
126
196
152
203
169
159
214
229
261
215
286
248
200
181
323
126
249
257
317
272
226
250
275
169
192
245
200
198
190
299
222
209
189
203
222
139
195
243
145
240
207
255
188
246
166
226
235
253
263
170
241
212
227
247
250
232
228
150
211
284
266
245
233
265
219
246
158
204
220
282
214
183
301
223
215
285
175
285
147
160
160
188
161
213
206
158
234
222
170
209
225
240
292
129
301
126
174
225
220
309
248
274
192
184
265
230
192
208
171
248
282
181
231
126
198
179
181
288
202
149
165
253
214
223
221
276
185
246
234
204
287
267
198
232
157
269
278
191
209
151
228
233
249
271
247
193
207
262
278
226
178
259
235
212
201
240
231
156
193
219
302
152
156
240
199
171
184
213
317
223
205
149
277
264
253
271
253
197
163
346
272
262
196
199
214
251
227
253
204
217
200
229
220
213
296
215
254
139
208
243
249
246
261
175
249
183
256
180
114
190
195
169
198
249
313
176
258
224
164
239
223
178
214
266
251
215
232
286
267
188
267
221
235
222
114
286
283
313
178
194
226
186
201
264
256
233
214
183
237
258
328
225
139
231
140
229
278
180
223
234
250
184
253
225
292
294
249
227
197
142
209
234
251
223
322
228
218
227
298
218
279
215
192
177
280
258
211
166
269
328
151
251
192
296
220
242
238
286
201
291
226
200
218
139
276
126
174
244
237
226
263
178
250
156
177
218
206
214
245
289
200
206
358
231
192
145
278
175
232
189
273
247
252
174
216
177
237
316
179
190
234
189
278
245
214
202
236
186
228
208
197
209
213
193
290
239
183
209
267
176
263
255
178
223
156
211
198
300
200
194
202
202
210
227
236
251
245
270
277
260
190
202
235
221
270
268
208
192
191
243
254
234
177
166
252
303
200
157
260
213
178
190
223
219
206
172
278
203
147
195
269
239
214
246
269
211
228
229
233
297
284
199
187
245
193
214
206
173
269
174
264
161
238
184
210
283
169
126
269
238
215
200
245
249
214
306
264
237
169
174
301
198
208
232
232
198
184
219
237
144
263
179
253
264
276
243
229
267
214
233
222
251
258
240
175
195
239
176
279
270
207
196
229
194
165
230
218
289
187
209
246
254
244
220
205
277
237
183
114
286
258
252
178
195
215
283
271
254
235
214
205
284
174
196
227
216
221
265
200
225
246
242
223
181
267
260
283
281
260
260
222
173
326
205
235
275
253
213
170
184
274
286
199
263
226
250
207
229
240
208
206
227
173
211
194
171
208
347
204
318
239
197
243
277
206
237
300
139
234
266
189
225
278
186
219
266
232
175
205
305
182
292
287
222
212
275
222
179
277
193
227
158
182
257
126
273
260
170
221
165
245
182
194
357
236
221
149
216
254
181
302
278
216
198
186
287
267
240
295
191
311
166
154
220
187
229
248
232
196
174
265
310
258
216
236
242
258
193
239
269
248
297
204
165
260
206
273
214
310
270
247
295
230
208
258
253
114
307
205
225
248
192
198
233
289
189
294
212
255
208
253
251
156
209
226
212
260
286
248
309
234
160
279
279
300
252
208
245
280
226
185
231
182
311
212
250
347
154
230
114
263
207
183
197
240
245
221
202
157
312
191
284
236
235
176
198
152
299
252
189
191
244
202
238
214
245
221
306
252
208
200
193
259
148
156
114
178
114
171
185
170
262
216
218
159
175
209
167
200
215
230
252
160
253
257
202
196
298
202
195
234
260
240
204
187
276
209
263
203
227
260
195
204
200
223
309
216
181
173
182
193
244
227
301
158
217
207
214
214
114
300
189
209
296
268
272
290
177
220
250
249
244
175
235
279
249
179
229
174
218
201
174
190
236
186
192
197
221
300
160
228
237
266
225
287
225
214
252
251
195
158
312
172
290
206
173
154
244
192
281
277
220
233
272
235
216
229
271
212
204
200
187
268
189
288
181
175
195
225
229
267
203
210
167
203
156
246
153
268
219
114
234
214
207
226
205
262
168
223
234
235
212
207
240
215
207
248
236
152
238
282
259
114
198
221
242
209
243
237
281
236
165
229
207
209
243
236
219
232
222
243
198
208
240
289
196
207
274
294
253
256
183
289
226
171
252
175
235
278
252
211
252
292
236
254
203
198
299
153
256
242
236
144
133
281
240
214
139
158
205
285
173
201
173
233
207
225
198
197
261
222
236
235
259
266
226
190
192
252
134
217
225
221
170
199
195
261
215
195
329
193
315
228
249
237
260
211
180
241
261
144
246
347
262
334
217
280
241
253
274
173
193
190
145
214
217
198
210
222
262
231
297
215
235
267
206
156
290
166
186
213
208
229
256
145
306
209
108
181
263
238
228
233
237
268
219
191
244
264
181
196
225
260
170
243
227
144
229
114
183
183
232
280
214
200
261
244
224
224
212
241
311
188
238
212
237
258
286
223
191
139
182
259
205
246
283
235
284
289
273
241
198
139
169
181
197
167
191
161
226
211
262
252
234
211
222
210
306
165
294
174
250
246
241
237
205
108
207
219
234
236
218
306
242
179
290
241
238
254
245
243
219
314
222
211
179
258
217
273
158
181
139
277
181
207
174
301
186
234
173
258
264
246
225
232
308
221
228
188
214
210
203
188
210
231
170
139
217
174
292
283
290
301
152
254
257
186
174
232
251
238
222
311
215
192
214
257
291
195
328
249
219
253
208
187
275
154
169
218
260
205
282
238
200
286
231
175
295
315
274
239
230
262
181
216
165
261
216
286
258
288
222
234
215
308
353
253
192
177
239
323
235
181
215
234
198
165
196
205
227
263
242
156
244
208
245
180
181
200
244
278
219
218
157
216
227
126
200
270
209
158
243
232
294
232
286
182
275
224
252
300
184
231
199
181
165
273
281
269
215
231
196
229
291
228
223
275
256
271
227
286
219
240
267
211
200
129
305
242
233
245
218
202
149
347
220
168
116
247
199
179
302
181
249
267
197
348
274
203
308
385
183
243
242
285
250
201
205
184
262
234
258
233
206
271
177
235
254
190
158
139
198
203
176
186
311
198
248
251
209
202
172
276
252
279
203
158
192
273
275
213
185
199
114
234
253
234
246
233
247
225
287
176
255
196
178
262
227
240
198
149
228
219
250
134
198
278
142
245
266
169
230
190
197
283
229
236
229
293
188
195
192
276
285
180
245
108
226
296
221
240
236
202
226
177
225
146
216
189
342
165
181
191
193
300
149
202
202
256
209
178
303
114
256
166
207
239
214
305
272
148
159
152
225
215
201
243
240
241
265
199
243
177
200
269
191
278
195
236
212
274
200
230
181
152
197
250
211
260
178
175
247
207
172
273
255
256
257
311
201
183
277
325
215
270
291
259
262
198
253
182
251
192
193
204
261
177
208
297
271
190
211
214
249
175
260
222
226
288
253
332
307
166
232
266
308
298
147
190
278
156
219
206
253
247
195
194
266
171
218
252
173
219
262
214
180
265
160
226
207
184
269
211
187
139
272
233
216
263
236
273
173
259
206
203
244
287
191
162
220
253
237
204
196
271
195
238
193
247
207
145
178
186
260
217
282
265
209
300
234
245
300
178
191
234
250
169
285
210
198
220
253
305
264
217
239
246
245
189
182
324
196
173
236
228
263
208
287
200
229
188
242
260
256
247
299
263
179
108
232
215
180
285
168
210
271
282
207
152
158
154
189
276
202
254
225
253
252
223
295
253
266
295
261
262
254
294
247
214
185
267
255
244
180
236
176
188
191
304
205
360
165
114
247
196
211
231
220
160
260
202
288
237
159
205
217
272
234
191
186
208
210
174
198
292
234
252
218
188
248
235
181
193
291
194
205
206
178
185
250
269
215
182
265
260
191
172
196
247
158
281
287
192
228
272
203
193
239
285
181
240
253
166
148
242
234
175
237
239
114
275
236
264
151
165
215
280
198
272
193
170
114
215
268
152
237
213
320
223
250
184
239
255
306
238
308
293
209
247
228
301
241
157
178
241
256
192
234
211
163
195
249
198
229
245
253
199
206
213
285
200
302
278
114
176
184
128
251
271
261
220
207
263
238
247
254
264
270
208
222
220
235
189
260
253
151
247
233
219
239
210
213
238
243
265
330
235
204
144
220
175
205
171
248
224
209
243
217
232
209
225
229
234
145
253
203
193
220
230
194
214
207
278
212
213
233
180
241
233
147
236
151
181
237
257
139
199
237
216
255
224
217
180
213
203
220
222
197
301
275
282
236
197
233
206
156
272
267
189
243
250
219
217
252
188
239
194
169
228
224
185
260
194
207
230
231
232
216
323
257
262
205
221
240
272
139
214
218
275
152
219
216
187
239
236
275
185
210
245
261
247
183
308
217
241
248
192
212
158
229
233
164
244
209
212
302
246
199
237
267
252
195
249
265
293
233
247
272
218
276
209
145
187
222
152
196
170
201
244
215
269
184
263
175
204
246
169
262
167
226
184
298
178
226
256
235
232
198
169
219
227
207
178
193
158
260
206
289
211
180
228
173
165
209
211
195
216
166
222
195
182
217
257
237
238
223
126
114
229
176
228
236
274
205
275
210
179
211
223
217
219
167
240
275
208
309
240
202
190
295
237
201
154
225
148
253
270
226
233
279
198
286
240
233
204
270
243
224
310
215
259
209
185
238
298
260
230
243
192
220
306
170
263
252
251
205
198
207
201
223
258
228
246
200
203
275
191
290
139
240
239
229
278
174
250
272
196
230
168
254
253
218
231
230
114
235
309
129
211
171
221
237
317
212
204
295
238
196
211
152
198
189
260
216
207
266
217
163
273
211
126
253
239
251
232
245
173
212
281
223
229
235
225
195
277
215
208
301
267
151
289
306
173
198
222
248
250
229
197
198
189
192
217
264
214
268
201
212
221
255
289
239
267
193
211
193
121
190
179
264
230
158
274
194
229
183
219
251
261
223
231
185
260
236
229
256
305
289
271
254
158
206
151
280
234
180
226
308
268
209
315
214
195
261
210
229
279
230
220
252
216
193
254
198
225
250
146
227
198
244
233
292
269
195
260
247
220
184
235
198
198
220
252
189
240
225
235
281
233
215
195
255
161
182
207
271
191
296
314
161
342
223
174
195
174
278
191
256
275
168
275
298
273
189
206
235
150
220
233
251
176
244
156
193
245
228
206
217
278
222
234
290
166
233
221
158
160
232
175
170
326
149
233
194
229
145
203
262
274
222
144
259
160
192
196
209
221
170
219
156
285
192
274
200
254
189
226
144
218
202
164
353
214
251
281
188
214
348
236
226
244
248
161
308
223
249
189
284
247
213
196
246
242
281
222
158
207
218
239
154
187
193
225
314
242
268
170
203
182
198
214
173
192
202
202
183
282
231
114
190
209
194
201
220
185
218
215
218
245
211
254
324
260
236
251
193
241
213
200
222
195
231
308
243
145
230
205
198
271
251
262
225
248
170
147
262
270
317
182
160
308
268
234
184
311
235
278
284
284
269
174
264
193
190
181
264
270
228
252
213
269
191
257
277
267
231
234
249
203
248
213
213
285
200
168
114
187
184
226
223
204
192
223
217
237
207
216
228
245
268
286
209
241
352
210
193
254
170
265
196
251
209
261
173
258
264
259
209
251
153
229
161
170
116
290
278
230
175
181
163
229
277
152
234
279
385
255
342
194
276
198
282
252
206
227
305
212
223
255
194
173
213
278
247
196
218
214
152
116
201
215
151
207
177
273
184
260
223
234
231
266
212
200
195
262
151
188
244
174
223
163
226
230
284
270
226
224
214
264
224
354
210
254
169
166
185
195
203
145
304
260
282
229
268
226
212
300
133
229
205
261
224
243
210
254
264
247
154
198
207
228
231
174
251
145
218
183
197
202
204
214
265
212
242
169
256
161
262
151
218
303
194
223
241
225
137
215
300
272
162
247
156
214
215
198
243
235
198
263
205
157
206
229
202
263
243
199
267
179
154
245
261
212
235
257
208
201
197
199
141
222
187
235
114
169
147
219
114
188
269
201
250
216
165
295
247
355
217
178
190
254
269
292
203
250
183
217
253
243
254
240
198
266
214
243
192
150
214
218
236
212
116
145
288
201
287
282
233
278
171
218
210
228
222
198
253
178
214
182
253
162
165
171
198
281
189
204
205
250
231
235
241
209
121
200
218
195
243
271
191
244
210
198
199
267
208
130
175
188
258
206
233
222
259
235
352
162
179
215
194
206
277
209
218
221
176
209
284
211
225
231
277
202
185
218
184
276
237
174
227
189
251
215
215
269
210
203
253
179
239
203
226
246
249
253
233
260
258
313
302
201
224
246
114
280
217
235
270
227
233
231
184
227
268
242
257
248
275
239
175
215
166
157
245
294
165
302
269
209
253
300
234
247
205
355
277
114
254
175
245
262
226
314
227
242
288
284
244
195
191
207
166
247
212
170
238
243
165
160
305
241
145
239
296
213
195
240
207
235
268
267
196
201
246
246
246
114
207
253
228
273
248
212
234
257
199
264
152
203
254
130
259
201
307
173
226
228
222
174
193
162
282
242
235
246
163
180
209
274
254
213
165
213
187
208
193
148
256
212
249
276
184
275
229
255
198
243
259
203
310
183
226
230
189
215
262
270
191
296
184
229
272
218
260
238
170
233
226
289
251
182
260
238
243
181
211
236
201
232
215
220
210
264
173
211
250
278
194
207
198
266
290
257
235
183
247
144
139
144
244
254
263
225
170
270
212
241
226
249
205
320
137
211
206
227
245
281
280
236
171
114
211
158
264
301
162
232
296
216
232
217
207
173
244
234
235
173
152
237
170
200
239
280
273
204
296
226
245
220
336
257
249
275
265
257
228
245
260
225
171
226
203
183
175
232
162
173
197
261
215
184
239
221
277
200
252
192
249
172
239
247
217
210
152
218
165
198
200
176
279
243
161
196
182
264
180
199
283
252
116
287
173
228
182
170
262
244
160
194
221
189
298
221
274
302
304
214
334
250
216
253
180
269
229
283
224
243
194
199
208
220
225
191
255
300
245
323
175
203
190
233
216
234
178
181
197
194
272
156
162
199
217
217
205
194
281
329
205
158
202
259
145
251
250
235
238
209
176
238
284
194
220
114
281
213
262
236
188
200
226
196
247
188
196
283
208
168
177
261
285
238
204
226
367
183
226
214
222
202
288
205
213
278
229
195
269
261
211
211
360
302
165
147
262
329
204
192
296
232
236
235
279
242
259
160
211
280
279
235
203
176
327
292
147
252
235
144
195
178
252
238
190
216
236
243
235
207
169
233
203
154
244
253
171
158
296
261
144
211
200
176
347
226
273
210
281
155
258
161
242
303
200
277
252
237
211
219
265
240
269
223
275
281
195
204
229
158
160
229
229
192
270
197
257
222
231
218
189
243
173
264
244
209
289
279
229
244
152
215
160
196
214
257
166
223
253
270
209
239
177
247
169
219
244
298
192
235
174
213
246
262
202
275
246
260
210
156
208
393
186
208
201
220
233
243
195
196
229
246
219
238
251
178
232
229
227
270
256
251
173
207
258
202
229
170
188
202
208
218
198
250
194
214
261
152
166
148
178
195
236
251
292
308
282
183
259
143
169
207
182
203
149
203
169
263
233
224
214
152
167
286
214
239
219
254
233
239
209
171
146
206
202
189
245
247
168
212
174
169
239
236
130
229
246
210
308
232
194
228
121
201
200
278
177
213
209
193
283
263
200
234
240
265
248
210
225
161
226
276
200
202
240
177
220
152
166
314
160
229
197
185
180
248
114
156
190
230
212
238
192
194
173
160
249
192
173
265
189
160
281
255
198
213
303
197
163
282
227
174
211
248
202
217
256
214
206
166
242
201
170
233
200
226
176
238
264
238
208
205
186
162
224
192
212
307
211
205
342
159
263
217
203
277
217
267
166
223
151
236
240
233
225
260
177
249
223
203
266
208
245
229
193
293
139
240
252
278
215
135
114
170
106
171
233
266
184
312
256
220
229
181
259
216
226
214
198
198
221
253
180
252
156
191
292
242
185
219
252
167
242
169
158
199
296
209
204
222
198
180
255
220
166
244
277
283
249
275
241
160
183
259
229
195
218
219
249
182
254
171
196
251
297
260
164
172
245
248
161
180
355
195
301
160
263
282
149
184
297
194
189
266
272
207
211
258
285
214
187
263
213
239
254
267
296
203
192
354
158
152
232
183
214
172
255
233
188
236
190
246
201
221
234
177
313
175
161
281
128
149
254
223
238
191
257
139
283
205
169
204
152
114
156
181
293
248
253
194
231
241
182
249
214
204
259
211
180
233
260
147
144
253
305
197
202
205
191
170
238
253
186
213
199
245
192
166
287
209
147
231
228
215
174
185
176
251
181
200
179
157
204
239
270
180
140
261
246
258
181
108
286
217
199
238
292
230
114
258
187
271
180
239
198
175
232
161
235
189
217
175
175
284
196
191
227
173
234
175
249
179
247
270
272
265
228
186
235
215
193
273
253
184
208
197
275
191
239
233
208
211
297
189
186
249
222
253
190
156
253
310
326
257
194
114
261
236
286
214
291
214
315
205
210
308
221
215
275
156
239
215
236
230
212
192
183
207
208
218
160
184
283
270
281
224
186
215
160
170
209
242
242
275
156
240
284
181
313
227
258
217
175
227
201
200
145
297
214
218
175
200
190
282
234
175
192
179
247
144
193
192
214
148
198
114
280
230
233
265
271
284
236
238
240
192
144
193
207
190
187
191
332
259
175
252
198
278
190
196
301
285
262
233
277
232
248
287
222
232
254
175
278
144
225
253
255
211
197
114
271
228
141
211
198
178
180
205
204
238
154
323
242
254
249
219
232
324
237
130
229
238
203
209
226
254
180
227
299
198
232
293
263
253
212
240
242
229
288
226
226
114
213
257
254
235
196
161
237
257
257
275
212
223
280
225
239
202
218
147
201
243
241
247
180
233
225
239
241
152
309
160
188
163
197
187
234
197
315
222
327
152
227
156
207
327
194
236
234
180
195
174
304
160
220
253
192
220
211
190
202
220
237
251
219
299
215
198
284
218
257
161
190
191
239
222
248
225
195
177
114
219
211
243
258
209
201
252
276
257
285
222
245
245
314
208
196
255
154
243
265
158
223
189
244
253
229
226
234
232
294
289
278
198
218
227
232
160
227
266
223
195
260
228
164
198
296
219
323
211
227
220
181
193
234
243
196
214
192
154
262
253
260
221
184
156
169
230
169
286
219
250
152
279
300
206
199
258
244
275
240
184
217
230
133
231
179
230
274
295
213
215
324
225
196
280
217
267
153
155
235
268
139
277
176
254
207
257
306
157
208
173
256
228
222
194
199
182
225
234
184
284
237
182
245
204
236
298
290
193
222
202
220
255
272
184
252
268
234
220
202
238
175
226
239
260
230
147
246
223
251
244
238
255
181
222
272
114
277
297
228
165
226
192
203
220
202
250
241
223
216
212
251
255
255
226
254
254
190
177
200
193
225
139
218
199
202
165
267
176
256
130
225
244
209
301
189
227
222
255
227
195
306
197
280
218
227
170
229
251
285
209
177
248
310
202
332
192
211
192
285
248
242
114
293
299
299
247
151
190
266
191
219
251
133
193
238
299
353
213
237
239
201
256
192
194
197
215
226
186
316
223
222
236
177
211
225
152
212
211
189
231
174
220
198
185
169
250
149
190
207
241
251
257
264
246
280
191
265
179
287
219
265
173
228
227
260
211
276
208
241
242
202
217
286
236
177
209
238
191
152
212
294
223
193
180
234
175
226
249
261
162
175
243
299
238
245
194
199
284
265
231
178
222
209
200
180
283
198
256
284
168
218
231
267
178
114
284
244
267
162
170
222
221
257
206
227
243
202
245
156
205
236
239
297
173
196
205
205
203
251
148
239
293
218
114
264
173
254
249
175
210
216
349
325
212
293
269
174
211
197
225
188
276
192
166
267
162
221
244
197
224
188
165
258
262
220
274
189
305
241
188
321
219
231
244
179
245
192
220
200
291
196
183
193
266
313
229
239
219
178
201
114
244
238
299
214
184
231
259
180
205
181
283
309
179
279
202
166
217
263
279
253
296
286
224
255
193
223
187
171
252
202
271
254
203
289
310
265
205
247
252
147
198
212
226
202
237
214
278
318
192
234
156
232
227
158
262
211
139
137
151
233
179
221
189
192
207
178
151
247
180
194
250
184
205
233
203
174
228
251
245
273
231
237
176
229
126
218
266
204
240
246
177
185
173
239
184
225
182
261
159
286
153
156
193
306
233
254
282
158
228
302
234
160
201
286
240
189
174
228
162
249
213
194
286
248
281
174
347
207
250
234
248
151
222
178
194
260
174
177
192
180
178
133
220
285
311
297
280
243
264
276
286
273
262
251
240
114
224
283
289
256
291
247
196
260
232
249
306
232
198
209
178
220
190
233
271
242
226
192
213
159
268
258
285
174
173
254
212
227
302
221
219
184
238
257
330
259
172
126
280
237
280
232
261
214
236
178
225
280
207
244
228
252
206
192
211
202
197
238
193
236
321
254
263
233
199
229
211
202
183
265
286
235
200
211
229
226
146
271
213
192
161
195
189
291
266
255
217
291
145
233
150
289
287
293
235
190
172
260
229
282
225
309
183
264
313
275
229
213
216
223
306
223
201
218
162
192
205
265
235
284
193
199
281
203
242
180
214
173
210
334
181
181
151
114
180
260
321
173
227
283
180
294
237
214
197
262
178
160
199
195
200
164
280
189
202
231
166
193
250
269
267
274
153
266
265
266
242
200
213
219
196
235
219
281
236
154
266
199
301
250
254
114
164
282
285
288
225
287
200
207
250
197
179
232
185
367
212
273
265
202
144
279
236
166
325
257
215
184
227
228
223
300
212
160
209
278
321
290
247
218
260
199
310
256
245
262
229
208
215
237
241
234
270
181
211
175
227
197
269
224
273
247
200
236
227
148
263
139
152
289
255
191
228
261
180
287
226
233
170
313
286
271
271
178
209
286
193
293
114
236
226
205
149
235
261
283
214
114
218
269
221
241
270
170
247
181
211
157
222
242
227
215
214
171
201
212
189
196
283
197
306
219
200
278
163
139
309
294
114
195
147
130
248
221
234
241
242
175
227
219
157
248
155
352
209
244
239
211
176
222
160
299
317
363
274
233
233
256
250
235
184
233
253
262
106
242
247
223
197
252
225
276
266
214
230
192
176
243
213
308
273
264
213
257
217
224
287
200
354
221
236
258
283
220
278
317
284
265
244
269
176
170
144
235
234
200
193
256
241
310
178
225
248
215
217
185
292
179
273
216
167
181
244
246
251
214
231
186
186
216
267
219
171
222
152
277
248
196
293
171
289
241
271
168
250
282
241
183
135
256
369
208
323
298
203
311
234
222
156
217
299
258
204
283
234
129
189
208
196
272
233
216
205
351
199
202
259
269
219
229
232
337
222
287
247
240
207
236
236
240
250
182
175
263
192
209
189
236
238
187
217
211
116
260
327
168
209
159
206
160
225
216
231
242
224
291
198
244
239
262
191
296
311
198
190
236
193
190
279
189
234
217
297
217
236
181
250
237
250
174
215
272
207
251
224
203
199
237
223
248
192
245
210
268
180
225
242
306
230
203
240
249
244
129
261
240
204
196
203
242
184
259
245
206
235
306
186
173
220
187
346
270
269
277
151
162
277
208
226
178
237
269
262
190
116
162
232
158
161
229
236
184
183
210
210
238
168
174
255
242
281
273
242
276
205
339
202
186
188
232
258
291
299
281
261
227
231
210
160
271
285
212
339
184
195
193
177
193
264
286
187
255
259
160
227
247
253
215
354
170
253
198
214
248
264
247
215
181
299
321
221
236
242
309
192
266
291
310
225
213
220
206
283
208
156
192
177
178
178
238
130
278
221
213
260
299
114
244
222
308
156
230
250
154
206
246
226
229
175
199
322
203
170
280
161
189
261
183
185
279
160
241
339
134
253
183
299
239
202
198
302
225
204
279
191
278
268
142
267
204
174
252
215
222
222
200
258
246
286
165
235
255
220
243
215
233
252
259
270
223
183
276
242
285
194
222
178
315
174
204
249
156
299
219
251
203
184
246
194
344
158
191
177
259
212
267
231
201
278
238
188
258
233
213
265
229
146
139
156
245
212
206
151
252
197
237
231
173
170
296
238
179
264
260
210
219
114
209
190
268
237
186
188
282
185
201
212
262
335
214
114
231
201
199
196
212
307
200
257
213
241
184
260
235
329
286
259
240
245
223
263
229
267
202
208
181
244
210
258
201
291
206
209
206
211
236
195
241
174
301
106
235
208
236
211
206
190
251
220
178
266
177
238
157
233
178
208
208
196
232
250
192
264
239
253
233
221
233
194
209
206
203
260
242
205
253
234
223
171
197
190
239
214
232
264
215
202
193
223
215
209
144
194
217
224
151
152
229
152
254
190
195
245
275
252
279
247
229
239
232
197
243
216
160
194
204
266
244
281
240
208
202
156
114
240
212
114
302
217
199
238
243
221
160
210
315
179
336
189
197
262
197
180
155
295
279
250
177
205
295
208
243
221
270
281
184
202
231
178
173
169
243
195
209
205
137
213
237
114
183
196
207
237
218
265
222
181
180
273
322
229
181
218
247
307
234
254
282
192
216
254
234
209
217
252
177
205
161
230
181
255
207
226
303
126
219
230
282
221
168
229
222
198
176
320
114
211
206
194
256
150
264
195
253
202
221
211
187
216
319
230
130
259
226
114
281
208
241
212
286
222
189
224
188
207
194
250
238
270
247
211
171
335
217
170
263
249
173
235
240
271
241
190
250
204
189
235
264
229
223
195
257
215
188
201
237
158
311
308
263
192
160
177
271
301
233
263
211
172
230
195
210
145
254
249
241
274
202
180
226
226
362
238
284
204
250
180
122
216
262
207
281
263
193
194
188
198
238
214
186
266
232
278
264
264
268
223
273
244
188
228
282
185
225
244
244
179
173
214
218
197
289
173
215
239
228
259
162
166
273
294
297
207
210
130
281
223
220
248
297
235
329
214
261
221
178
164
257
267
218
192
194
178
230
211
306
233
263
212
263
231
160
267
182
196
196
215
205
199
209
201
226
257
189
114
253
216
242
187
270
203
214
207
179
114
306
257
208
250
217
173
200
198
194
268
174
305
182
170
177
271
271
146
197
292
237
160
211
239
218
264
164
228
209
180
150
202
343
305
226
194
215
262
238
194
139
167
180
233
189
240
178
188
253
209
296
245
346
187
144
242
229
249
263
195
241
305
202
222
189
233
264
215
245
253
235
263
200
254
228
238
200
168
219
210
307
187
229
259
192
300
265
185
206
290
265
278
246
321
294
232
213
205
223
114
183
207
249
270
238
228
186
218
216
195
276
195
202
264
178
243
175
168
237
239
271
203
240
253
177
126
230
151
204
189
241
188
215
114
233
270
209
225
342
192
269
209
178
148
240
218
205
147
246
266
160
208
289
253
304
287
194
330
175
245
205
200
189
144
245
177
248
152
246
193
212
196
250
193
243
180
247
213
233
256
216
176
217
222
218
178
164
277
268
272
271
232
232
211
299
145
326
250
166
260
220
290
231
254
185
288
180
151
229
157
173
152
215
261
226
196
227
198
246
206
177
244
236
235
263
256
282
189
260
287
269
234
214
201
321
273
189
257
245
211
213
306
235
247
278
180
219
196
250
297
248
198
241
225
231
190
222
216
173
230
221
221
256
220
210
190
271
242
181
209
222
196
230
264
291
182
218
206
168
245
252
243
160
185
205
164
179
206
290
246
253
304
215
301
222
270
281
200
207
168
242
302
213
309
223
260
183
287
219
206
226
235
276
195
305
269
181
227
208
242
320
154
290
232
216
201
241
214
249
276
286
264
199
210
199
214
160
198
226
207
215
267
208
160
333
192
293
203
198
228
300
229
231
175
211
195
222
331
225
271
160
249
192
219
250
223
276
225
221
285
181
226
198
181
318
218
261
269
283
162
227
221
325
221
198
232
310
193
230
242
223
181
156
258
241
192
221
196
365
273
238
177
293
195
139
252
207
165
311
195
311
151
224
260
229
261
266
194
274
252
324
218
267
169
202
269
212
175
203
170
276
184
268
220
156
235
251
240
260
173
155
213
328
129
326
249
232
231
219
178
186
229
225
242
229
286
241
227
201
281
201
210
195
114
306
213
172
242
280
241
252
184
270
241
228
279
237
160
217
191
208
214
288
258
149
276
223
214
178
175
256
234
219
218
355
209
249
233
235
196
160
221
178
275
194
255
260
243
295
195
286
114
224
224
291
234
211
248
275
144
193
268
229
235
194
255
279
220
204
253
168
178
234
250
198
252
192
262
186
205
235
206
208
267
216
282
205
224
213
181
256
184
274
226
212
221
216
203
201
212
265
209
210
238
204
218
160
236
272
241
309
246
241
184
237
244
232
165
183
168
227
231
220
232
264
259
262
203
157
219
272
209
208
227
154
191
156
175
237
256
161
230
213
269
281
251
234
206
233
177
213
145
145
202
241
202
249
256
258
173
269
145
114
197
218
221
200
209
227
195
200
227
276
187
163
214
114
130
189
183
227
192
282
233
235
269
294
173
228
139
192
295
245
247
260
198
192
222
232
197
255
222
233
152
290
210
241
231
248
224
235
197
196
260
167
174
203
213
250
183
288
269
285
279
218
221
207
210
202
183
223
121
199
226
275
229
285
265
221
186
185
207
220
245
281
222
224
251
242
256
176
290
214
156
248
200
151
212
216
187
174
238
232
217
250
172
346
270
278
184
218
282
240
208
276
156
236
271
218
241
186
221
181
220
184
231
196
189
233
236
244
190
327
152
223
221
215
261
247
233
208
253
224
200
209
149
205
257
290
243
253
221
178
175
190
333
279
242
152
238
281
256
182
261
265
266
275
262
202
202
185
153
192
217
220
220
290
196
167
268
174
304
191
249
114
262
259
263
231
207
195
170
323
229
229
243
178
211
216
235
262
201
267
228
192
165
114
282
169
256
222
296
178
191
216
232
214
212
262
240
285
263
270
333
158
303
252
225
224
277
216
257
238
276
250
192
277
268
212
198
319
193
173
233
173
320
257
145
211
221
231
272
195
232
245
114
145
179
200
175
177
185
173
209
248
206
191
189
286
208
262
148
245
207
149
215
180
156
191
185
238
205
224
222
312
238
238
164
271
227
241
114
231
239
184
292
228
219
174
289
212
234
262
245
268
193
254
205
114
230
202
180
265
187
185
203
245
190
255
270
200
236
227
214
202
270
197
178
309
191
267
255
174
238
232
241
256
272
193
270
261
263
195
224
226
242
278
221
177
251
212
181
190
216
164
246
264
243
234
149
177
252
151
265
263
198
235
204
256
228
289
273
253
215
171
200
267
243
243
234
244
237
213
282
200
246
196
266
238
220
196
309
219
214
230
177
372
216
223
144
280
283
189
218
262
178
228
264
263
170
228
248
268
181
235
224
160
252
307
213
162
301
275
198
256
254
160
156
259
238
250
214
231
114
198
248
236
169
229
227
212
145
207
304
222
275
233
218
194
241
257
292
223
236
207
219
324
309
220
220
281
215
130
293
193
224
179
217
249
213
174
195
193
186
151
279
203
247
255
301
225
308
211
246
226
220
114
216
261
298
178
261
227
272
279
204
188
181
241
286
236
151
221
207
188
239
175
151
313
206
265
203
218
279
199
254
244
234
179
174
254
244
279
190
230
226
238
247
225
197
208
158
114
203
192
283
255
228
216
224
217
326
313
146
202
212
214
182
197
182
187
168
260
295
296
331
269
285
269
227
248
210
246
207
234
169
356
254
214
162
161
234
288
159
208
265
173
352
161
139
240
235
221
258
189
244
310
238
220
235
148
280
293
217
224
271
227
126
194
254
240
219
215
235
259
217
181
277
162
259
305
239
264
258
242
210
175
174
215
262
251
183
243
200
174
277
230
188
231
238
181
258
201
256
170
215
294
238
230
234
166
254
208
179
274
301
289
204
200
253
239
207
210
274
228
182
232
279
239
322
188
175
178
210
201
200
283
175
175
192
273
250
222
211
242
297
239
204
238
192
279
159
218
206
255
227
180
160
241
145
198
157
263
164
265
183
194
308
270
192
246
181
341
179
277
224
275
283
229
283
205
232
151
180
262
270
263
179
309
178
297
191
238
238
212
279
251
215
171
164
211
254
290
225
242
227
239
195
226
179
219
239
229
169
198
204
240
253
239
228
209
164
212
196
243
211
208
222
215
310
156
230
271
200
257
228
227
257
238
234
170
264
192
169
297
268
271
180
265
197
260
245
239
229
220
304
159
226
207
263
189
180
165
234
289
262
149
289
171
229
246
297
234
295
174
289
234
253
260
165
305
224
235
205
250
219
220
261
288
225
234
200
281
252
219
232
183
174
158
240
301
261
185
214
239
201
312
203
204
211
271
264
247
241
169
190
211
216
197
108
182
274
261
242
173
286
229
233
275
253
257
151
251
234
242
269
173
180
224
296
226
278
218
240
236
192
251
165
175
245
246
244
157
224
182
224
158
277
255
259
184
212
244
236
191
271
215
242
114
218
239
286
213
214
152
185
172
192
224
250
333
211
189
286
213
242
167
245
200
163
192
269
271
244
305
152
221
227
198
257
214
209
275
238
263
230
218
192
244
295
219
255
192
176
147
200
199
189
218
223
262
189
213
278
244
275
201
279
296
178
204
151
273
215
229
181
242
226
276
278
262
181
267
250
231
215
208
299
244
197
208
259
170
215
262
206
275
255
288
248
230
223
223
216
171
190
212
278
234
271
233
277
220
162
232
198
181
259
266
198
196
207
189
309
206
166
212
200
225
187
233
279
170
240
309
235
186
277
188
222
157
288
288
207
217
279
163
229
170
242
329
236
224
222
176
198
152
167
335
156
331
239
176
151
232
241
232
237
220
232
185
165
231
149
237
181
173
187
252
167
212
235
267
206
162
246
221
193
165
271
196
319
156
235
314
260
204
268
264
279
191
255
170
285
114
213
173
139
146
259
172
298
234
210
190
296
244
239
199
126
211
184
209
192
273
227
250
290
284
198
216
201
254
278
242
321
266
351
215
255
147
165
263
271
262
197
203
177
227
175
266
281
185
296
326
173
209
320
181
198
130
203
241
232
198
212
181
218
244
227
198
240
225
203
181
256
188
181
191
260
234
271
309
211
237
264
182
222
130
208
248
363
221
195
212
277
292
181
200
276
261
250
278
315
366
277
237
266
193
184
154
235
228
265
268
213
197
223
253
217
212
218
173
222
204
166
290
133
178
203
154
220
228
281
225
219
183
249
224
221
196
173
114
200
336
224
273
240
278
276
202
247
316
183
218
177
228
114
259
271
228
160
178
247
210
159
222
155
255
184
202
220
231
239
228
218
148
185
253
232
274
276
275
170
268
233
210
198
236
203
294
183
193
181
234
221
216
248
194
210
167
158
211
314
200
203
180
238
161
252
184
261
265
215
178
287
155
284
171
278
204
281
242
207
206
236
292
295
194
229
161
199
212
270
237
153
263
295
240
223
229
175
203
197
294
189
288
220
203
306
274
126
209
283
294
224
253
292
235
273
273
114
199
211
263
220
194
229
354
234
199
245
217
164
268
192
280
220
218
271
251
165
326
229
253
207
262
189
238
179
231
202
226
179
227
164
214
249
263
206
228
236
160
208
114
149
234
137
221
207
234
176
236
233
208
184
247
198
273
229
169
264
201
271
251
268
250
225
230
239
249
373
260
231
234
318
189
263
245
292
171
216
221
236
225
184
226
278
179
148
165
234
250
177
278
239
233
310
229
276
175
187
154
216
276
234
263
291
220
193
327
209
216
180
283
181
252
178
260
190
201
270
219
197
184
158
189
273
256
230
200
199
238
340
234
248
170
262
257
194
143
187
261
254
195
157
209
293
223
198
268
286
302
220
191
253
229
227
183
241
161
240
292
196
277
201
180
208
192
221
257
200
222
206
218
267
264
220
276
178
253
228
179
288
235
178
274
198
177
189
192
220
199
178
199
179
188
248
231
197
156
302
279
326
198
252
138
238
200
241
240
205
320
227
161
286
230
266
193
197
199
286
240
176
244
301
182
313
114
225
217
295
232
232
243
196
154
240
210
227
233
191
225
235
220
253
287
244
274
153
234
212
223
196
232
234
114
218
283
188
207
146
227
204
215
160
219
316
235
201
219
203
235
231
235
208
208
121
285
241
162
249
253
161
178
228
198
257
247
243
213
291
334
234
234
240
195
174
126
261
220
247
230
297
223
192
185
133
172
179
220
229
244
227
289
242
253
298
148
201
158
284
207
243
243
306
198
165
251
229
252
261
206
206
256
329
178
232
271
199
212
219
219
330
308
157
248
184
254
255
229
232
207
315
227
281
172
195
152
286
219
226
179
257
200
271
174
239
269
192
231
267
169
246
220
293
213
205
232
201
183
254
247
147
210
196
200
225
236
184
230
301
252
186
185
235
227
229
275
262
234
144
169
212
306
226
291
170
188
230
238
285
226
190
255
220
192
266
185
227
197
199
274
183
166
220
195
193
258
224
241
217
235
281
211
285
202
175
218
208
276
245
208
241
242
233
266
212
234
295
196
304
208
195
222
289
220
263
223
192
258
170
217
211
203
212
184
206
215
273
288
314
231
170
188
187
266
257
214
210
215
211
286
288
237
279
181
213
202
158
276
198
253
178
209
197
206
228
234
258
207
172
295
269
245
256
188
248
207
169
271
334
290
170
205
214
161
320
199
297
300
238
231
243
240
152
203
181
256
206
238
273
234
243
236
149
156
248
235
262
275
180
236
114
154
168
167
224
200
205
222
198
163
222
214
270
280
239
206
193
268
225
206
229
195
285
223
238
224
178
261
164
201
245
213
258
267
287
265
213
348
211
264
197
175
261
151
205
267
225
213
288
192
189
250
271
207
213
211
220
194
235
231
214
126
202
238
273
151
182
114
180
227
294
175
214
269
156
172
174
174
164
239
212
233
275
266
188
216
303
208
245
306
235
209
284
170
249
258
192
227
208
244
226
214
286
165
281
210
258
265
242
295
226
146
159
234
168
196
281
151
251
336
193
239
233
193
245
194
174
252
184
250
307
210
240
230
248
234
237
185
231
212
215
246
251
229
209
208
250
324
181
208
234
246
302
180
319
255
276
212
262
241
190
246
214
296
201
184
229
251
217
234
162
265
238
238
211
158
195
155
301
200
237
268
246
214
194
116
249
170
252
126
178
295
227
271
245
329
114
250
227
219
234
199
254
257
219
250
262
276
235
248
239
243
238
300
194
254
219
185
201
236
286
191
252
243
114
210
260
256
181
209
238
209
282
211
231
297
200
170
249
245
151
201
175
230
258
231
246
250
221
178
213
245
188
301
173
269
114
213
186
209
267
203
218
241
295
238
262
214
235
232
198
319
133
262
231
171
240
184
196
223
207
177
244
309
207
300
270
199
257
228
223
199
354
231
250
221
278
250
185
224
205
187
270
181
175
200
186
195
285
156
223
250
130
269
323
228
192
204
176
176
220
263
187
204
256
208
247
291
171
247
295
298
196
224
241
234
251
178
189
243
213
170
220
164
280
243
220
256
164
254
180
222
210
213
114
224
197
227
300
271
242
114
244
264
197
187
219
238
219
257
245
246
220
256
236
310
220
261
240
178
200
219
164
175
223
242
261
205
252
144
172
181
258
167
249
225
205
224
264
291
206
252
215
202
209
252
236
219
243
191
198
176
184
149
174
242
287
167
227
289
289
266
252
273
171
246
196
203
264
230
233
307
233
144
201
212
173
221
238
255
265
268
160
209
323
207
240
193
180
148
173
226
240
223
253
186
145
328
265
260
238
297
229
317
170
198
266
202
207
239
149
238
130
187
207
286
309
249
197
261
230
214
293
270
196
260
215
260
220
250
220
218
170
202
244
157
178
241
264
211
237
157
224
275
137
179
184
192
208
279
284
202
255
248
221
260
251
235
216
239
257
194
333
202
298
277
235
271
201
236
173
198
294
220
212
161
238
214
178
237
196
199
106
238
165
179
175
274
269
245
214
289
223
204
248
282
290
166
244
165
239
210
249
170
186
229
208
239
188
230
197
188
237
205
260
211
249
232
250
218
172
264
289
214
249
222
221
201
188
116
201
213
231
288
211
229
221
227
320
202
145
252
239
253
200
252
247
289
234
251
244
289
191
253
247
284
261
216
204
169
277
262
214
192
234
235
271
214
289
230
266
226
215
275
217
232
235
286
226
221
160
202
268
215
208
144
251
216
314
222
283
188
334
239
235
239
241
287
274
334
209
220
221
221
188
275
292
285
195
227
191
187
194
265
227
295
219
256
204
316
172
294
160
174
116
276
207
218
306
198
151
249
296
299
251
161
199
223
289
211
222
240
228
202
247
174
294
245
184
236
248
275
234
259
308
203
249
196
197
232
189
220
262
233
263
208
224
212
241
161
279
175
239
173
214
240
246
318
175
209
182
231
250
281
302
195
254
211
208
268
147
201
302
152
233
198
166
287
197
286
208
231
223
152
239
200
190
261
196
208
254
233
182
202
254
354
147
272
251
243
114
256
220
201
145
191
186
280
219
265
170
235
149
243
222
217
252
274
185
189
229
228
258
193
149
310
249
235
197
201
146
167
173
181
243
293
139
255
173
260
323
168
208
226
262
260
232
202
206
161
279
158
282
279
266
269
244
251
265
203
177
203
114
248
144
248
223
253
170
175
186
252
255
262
283
126
195
194
231
298
308
262
283
275
204
154
207
223
237
222
246
268
199
238
167
341
247
202
180
189
262
161
232
209
314
267
148
193
208
223
322
158
309
177
201
293
243
178
188
232
258
192
230
226
198
225
290
322
247
216
276
249
240
212
249
178
213
239
218
315
207
126
167
315
241
199
194
185
227
266
213
170
114
106
253
188
286
164
303
300
237
223
230
217
246
211
202
161
185
208
215
220
225
214
190
166
237
296
199
269
216
177
188
202
247
261
130
230
233
208
263
156
191
295
204
191
189
184
249
199
235
213
233
220
241
172
215
177
192
248
152
158
295
259
258
276
250
212
262
177
165
219
184
263
202
106
181
188
209
219
195
219
222
202
154
236
165
230
166
246
221
235
279
198
174
210
160
200
268
337
170
191
213
189
240
292
286
218
190
245
257
233
240
220
275
126
149
192
295
203
229
267
184
169
257
283
215
231
251
220
234
145
234
262
188
258
243
278
250
241
243
204
207
250
336
164
220
310
138
174
159
167
181
161
211
116
288
106
260
236
182
286
220
229
239
293
251
223
290
139
205
173
228
217
233
156
178
167
269
223
254
227
269
234
296
251
270
252
145
311
245
201
152
183
365
238
227
196
264
286
291
171
267
259
217
268
281
191
212
184
319
178
260
209
229
262
160
235
206
239
254
225
294
259
210
172
292
184
239
196
233
176
231
166
220
217
185
260
241
237
199
277
186
160
293
244
219
290
269
173
185
256
176
211
218
259
279
114
299
183
337
256
247
203
260
285
220
161
168
220
238
227
262
214
178
217
214
267
192
156
222
196
151
176
215
156
289
240
276
253
273
225
238
194
183
276
213
223
129
333
192
342
188
227
193
240
235
189
259
203
209
253
212
233
281
241
195
219
191
220
181
215
182
257
230
234
225
329
237
209
281
209
286
256
207
258
281
244
231
225
259
236
208
181
310
227
241
218
181
232
161
235
227
192
217
260
280
257
244
218
213
223
246
309
195
170
293
204
210
258
272
245
284
222
168
114
249
231
174
191
238
232
174
264
273
266
270
225
180
232
277
188
187
277
284
269
216
219
186
247
198
220
250
280
142
207
230
262
263
273
286
213
240
312
190
148
215
161
225
238
296
337
168
186
238
196
173
274
211
227
182
264
198
250
213
245
232
207
188
332
259
202
116
278
265
224
234
283
250
257
215
236
248
179
235
245
180
145
200
238
171
190
218
206
130
211
170
324
258
252
278
250
166
312
189
294
256
186
220
262
174
245
275
273
256
214
265
280
212
152
301
254
205
245
221
258
230
202
283
202
242
263
212
249
265
258
193
251
173
188
203
164
164
260
219
236
211
326
139
260
221
201
271
165
282
279
228
228
267
306
205
201
224
208
147
174
223
201
248
168
213
167
268
284
200
207
231
114
282
218
251
171
236
213
266
177
195
285
334
253
187
203
257
303
168
275
152
283
224
220
227
285
223
208
224
184
208
215
201
170
114
200
198
247
177
179
249
257
211
207
230
208
162
182
328
195
275
189
157
241
288
270
240
227
214
271
282
224
244
213
269
193
191
173
144
217
240
173
196
302
227
214
242
230
294
226
228
209
187
281
224
170
216
233
251
219
161
207
253
312
230
252
220
287
231
240
210
166
234
266
186
281
214
245
183
238
174
232
293
211
206
195
223
206
210
309
241
252
289
355
228
285
248
178
200
219
224
182
205
181
227
241
233
287
258
196
194
240
160
191
285
240
232
204
204
285
286
218
243
173
239
206
208
179
145
198
273
209
238
217
253
231
229
220
210
208
238
148
225
254
249
189
297
174
144
193
173
188
267
232
212
247
276
209
188
152
152
166
250
261
197
207
260
235
241
241
177
319
233
114
239
200
218
221
181
252
171
289
233
168
181
254
260
217
180
224
203
217
152
271
192
184
179
224
116
268
237
200
170
374
299
204
235
168
181
298
166
168
235
186
221
269
168
229
195
202
271
208
213
252
324
200
227
269
184
237
229
208
262
271
194
266
164
165
225
200
218
179
276
215
179
307
206
177
174
320
224
257
144
235
166
239
126
193
215
208
114
164
213
164
249
106
272
270
264
302
238
235
241
177
197
244
180
177
212
315
193
200
280
276
165
187
272
204
169
323
274
230
200
177
183
170
204
250
198
169
220
173
178
184
251
114
218
302
262
159
225
192
176
205
305
229
241
169
209
203
280
237
203
251
243
261
271
202
191
221
299
160
297
230
241
211
238
292
251
206
209
195
264
186
209
160
233
258
301
266
159
256
205
253
213
188
165
263
276
266
284
203
158
183
306
193
312
243
280
196
283
260
251
185
230
208
185
240
145
198
290
200
121
208
306
195
256
252
306
200
192
221
252
243
205
175
188
257
292
241
192
233
202
249
254
168
236
170
219
247
180
183
274
356
224
223
121
217
238
211
241
254
247
209
244
252
271
192
212
258
298
258
234
175
215
280
211
255
227
215
183
195
114
217
199
175
239
223
189
242
173
215
198
291
263
274
192
219
239
229
249
168
259
199
286
207
240
158
299
193
171
267
257
268
192
232
175
228
208
267
285
154
260
227
265
333
261
234
253
321
225
242
217
291
147
264
192
215
161
177
241
207
144
259
305
196
296
222
204
241
292
252
319
190
201
301
209
299
291
304
190
203
263
241
260
174
174
151
204
175
151
284
316
241
204
200
252
256
202
250
209
208
221
194
202
342
281
285
286
258
197
297
200
195
254
254
219
184
283
200
195
195
250
221
245
266
190
252
240
253
144
186
226
251
220
245
238
166
198
222
261
225
296
291
198
261
219
189
190
237
186
220
309
160
184
223
303
248
184
235
141
165
238
222
214
293
259
358
325
233
175
205
190
152
198
220
225
226
197
251
299
280
314
234
183
170
198
213
211
222
210
194
194
253
240
303
236
230
292
108
293
208
239
203
204
290
221
219
291
235
241
182
255
196
229
225
292
108
321
205
268
258
159
202
181
204
189
229
313
217
169
225
217
183
229
286
219
252
201
256
257
235
168
182
233
210
222
269
263
295
174
203
234
251
257
246
247
195
186
246
199
238
220
230
256
139
303
237
185
239
217
221
182
176
226
246
273
209
184
147
249
192
225
244
227
208
191
183
214
200
265
194
195
126
217
182
114
163
252
197
205
160
204
280
168
270
202
268
230
222
194
116
232
197
187
215
165
165
263
252
258
226
218
218
204
176
230
291
255
224
195
228
198
210
255
182
189
204
223
175
270
186
234
255
218
176
289
179
189
296
267
165
247
172
126
274
228
199
165
234
165
160
284
178
218
248
238
158
214
249
225
193
194
303
240
181
216
191
193
203
282
230
232
243
267
296
196
187
205
235
233
164
175
199
126
205
156
174
189
200
321
229
204
189
184
335
193
279
240
204
259
239
248
208
155
208
151
237
236
279
170
252
232
175
196
287
253
260
195
185
160
216
236
191
213
190
234
155
243
174
212
300
253
198
298
345
199
255
151
228
239
226
245
208
219
219
217
232
243
210
216
193
250
189
181
217
114
196
190
215
181
221
240
245
234
222
271
129
152
202
260
197
270
192
175
235
205
289
177
290
241
280
244
114
243
128
288
233
182
299
162
158
180
213
211
265
215
192
230
235
206
248
194
293
205
296
262
225
274
227
145
173
173
219
234
239
276
254
230
265
302
186
222
177
274
237
201
217
294
219
222
231
147
156
158
165
238
270
272
263
250
156
337
307
173
237
246
267
182
145
324
218
289
187
220
198
193
150
194
258
191
214
223
186
151
229
272
243
126
237
231
176
203
233
192
221
260
181
220
228
313
217
228
228
197
238
164
174
179
238
190
190
232
170
184
260
172
208
213
248
178
173
255
181
313
166
338
189
196
145
307
188
253
253
262
262
217
246
247
205
255
225
222
270
329
244
288
273
179
255
200
201
166
200
234
285
174
186
177
174
230
292
227
215
224
218
270
188
214
173
217
156
231
193
305
212
236
188
274
291
329
184
213
276
182
278
195
159
202
249
251
175
209
160
165
217
226
187
194
161
173
215
191
175
261
181
220
186
193
202
271
231
182
198
182
273
184
218
192
303
256
263
251
186
240
181
197
298
201
180
281
223
248
247
177
172
241
268
303
237
139
218
218
238
188
249
254
265
161
248
156
209
187
295
228
244
217
225
314
130
265
290
244
277
268
218
260
191
203
167
339
247
293
219
238
243
261
275
273
180
206
208
249
213
186
276
279
245
210
160
145
269
287
308
201
289
173
223
192
202
173
223
192
262
195
229
220
227
208
214
290
219
211
243
221
232
206
204
167
202
241
312
272
263
203
207
182
240
216
189
193
336
199
268
183
278
205
243
252
273
217
241
195
181
206
270
180
222
202
224
269
213
192
219
206
173
224
219
182
226
304
237
190
226
201
246
256
184
238
229
281
208
255
224
160
202
161
260
262
267
245
227
217
252
191
155
199
291
186
244
245
233
237
256
175
298
269
234
284
191
259
286
207
170
244
229
306
242
169
277
241
185
239
240
193
384
219
230
197
231
176
157
195
256
288
152
228
260
227
350
301
180
294
203
182
205
159
273
248
282
203
273
267
198
198
198
223
206
241
239
184
239
203
195
241
215
223
200
264
290
320
181
212
160
202
240
243
276
312
274
232
240
209
219
267
259
233
240
201
159
303
230
228
249
192
188
232
173
180
194
164
188
219
217
210
307
206
150
195
184
166
183
163
287
253
207
238
230
277
214
285
249
289
180
251
246
252
242
148
239
203
192
235
170
269
260
217
121
262
176
250
270
180
272
256
173
221
209
232
266
220
194
233
192
234
298
215
229
195
195
134
254
254
260
218
217
198
258
175
224
223
314
151
247
200
218
210
242
254
191
208
166
273
309
240
226
223
174
220
196
201
276
237
255
214
257
229
208
214
226
182
283
252
197
266
258
239
198
222
245
241
273
229
227
212
164
160
344
162
234
261
241
244
192
222
280
249
228
208
209
206
270
286
240
296
191
216
189
235
219
195
213
193
236
219
216
236
175
208
346
252
201
207
235
157
218
139
279
213
292
239
238
192
216
281
200
296
156
220
262
224
175
240
238
239
114
247
197
241
198
165
195
225
218
209
206
314
182
169
184
244
324
192
246
228
181
356
238
222
164
193
252
235
164
267
294
259
180
185
177
309
155
229
156
235
271
303
165
205
313
193
233
189
244
185
226
199
167
165
218
174
193
245
252
246
205
291
229
251
180
333
160
187
185
240
305
222
236
246
258
225
229
173
225
181
229
227
156
144
169
152
329
207
254
235
224
261
169
214
319
200
184
218
198
152
275
245
258
198
181
204
144
252
198
121
161
243
250
199
279
229
225
158
196
223
234
209
133
253
198
168
233
246
280
220
238
147
193
283
222
196
164
199
209
302
184
270
209
158
253
246
206
213
219
286
237
239
243
251
221
175
180
234
199
224
261
238
151
229
237
292
218
229
283
224
214
202
292
211
264
301
193
184
167
206
211
273
173
260
192
289
318
173
283
258
181
152
225
158
189
232
234
245
244
155
258
289
170
292
237
232
242
202
252
170
285
220
292
260
279
196
202
186
284
214
243
282
173
229
177
220
268
190
252
273
151
283
187
130
206
207
139
233
214
275
166
205
244
181
182
253
247
263
205
257
195
295
228
214
154
253
270
342
267
260
279
181
264
222
307
221
265
224
227
208
375
215
198
242
215
317
220
255
205
285
206
208
239
225
206
207
207
280
231
241
206
207
232
160
185
233
108
240
192
233
211
153
176
336
206
175
195
206
180
369
203
265
161
258
336
312
205
175
203
158
219
242
108
310
194
269
184
194
253
279
357
239
204
206
193
219
284
249
237
235
187
209
181
271
242
238
293
129
219
171
235
211
183
207
198
223
206
238
170
241
268
224
247
283
213
256
196
284
154
200
293
173
195
211
248
237
200
209
251
232
250
259
264
179
221
216
164
243
234
164
256
184
199
249
253
266
291
198
264
218
192
182
223
236
230
268
277
216
258
312
210
193
243
228
220
201
156
182
254
208
177
173
269
228
267
228
248
238
106
201
272
221
182
266
173
168
252
270
233
200
228
261
175
212
146
212
241
206
277
192
232
274
211
252
164
191
194
160
181
211
214
257
219
203
278
259
300
193
284
174
237
165
259
214
277
221
193
139
270
270
210
193
233
168
184
189
222
201
252
243
234
114
170
240
296
221
172
253
223
235
222
190
212
235
151
180
238
179
156
239
273
176
245
263
221
242
245
199
329
188
319
199
235
197
242
264
264
325
284
178
237
220
196
273
181
263
202
225
294
211
205
269
249
180
180
234
191
264
321
179
270
294
174
253
177
144
225
181
207
197
258
252
162
221
195
240
225
284
228
175
231
296
247
175
162
173
277
254
190
237
210
199
156
255
134
255
234
207
267
243
235
227
197
205
283
209
240
170
254
201
247
171
262
258
231
187
242
179
284
180
281
240
248
173
176
276
254
186
207
247
279
225
195
250
233
269
354
160
247
228
297
213
283
271
302
192
177
220
267
262
214
216
249
218
248
234
239
253
256
214
211
200
194
174
242
241
275
203
190
177
256
284
289
229
195
250
219
148
229
239
247
235
133
198
240
213
209
209
221
221
145
196
264
280
232
199
280
152
236
247
256
228
215
205
249
225
278
214
246
181
165
261
319
279
270
244
231
303
238
163
216
340
231
266
267
229
265
263
185
242
181
114
240
282
297
231
210
280
283
192
250
234
163
335
216
238
225
258
201
286
173
251
287
186
233
195
213
241
167
178
198
215
315
233
267
250
240
232
204
212
205
190
320
173
214
175
259
286
250
250
161
161
184
185
195
355
212
213
258
247
208
203
269
229
224
184
175
206
208
302
182
259
235
281
295
253
315
273
168
264
309
165
281
200
224
228
309
206
263
262
180
151
341
261
237
242
239
226
284
162
258
179
240
249
251
250
220
208
194
256
232
309
333
203
247
194
200
293
216
221
197
180
251
256
219
222
252
259
114
268
277
349
247
273
200
207
231
226
236
262
232
215
295
251
239
182
299
237
126
204
252
211
213
240
213
162
256
274
237
210
239
338
200
200
203
269
198
228
232
252
252
259
210
259
208
228
269
205
254
210
213
264
178
223
218
258
154
170
234
309
296
226
329
282
223
221
272
228
228
256
248
285
203
256
264
139
163
196
210
219
311
114
206
308
202
255
282
264
211
265
249
151
193
210
240
253
296
231
206
291
129
213
194
223
250
249
210
231
156
225
196
230
233
239
277
235
265
305
239
305
275
197
173
220
232
229
343
205
191
264
185
166
202
159
121
322
273
209
237
235
213
203
156
187
208
241
352
250
202
238
209
206
206
271
264
335
212
212
258
293
232
182
250
206
282
241
250
178
276
152
169
270
289
170
193
191
211
283
181
252
184
265
290
249
285
243
241
153
114
170
198
298
213
174
234
189
231
158
155
183
288
173
153
244
146
161
245
173
215
238
203
252
227
209
209
180
163
224
191
238
178
139
301
223
228
262
230
195
166
238
296
207
214
186
292
306
216
232
223
249
219
199
152
114
154
149
170
232
300
190
159
244
216
144
148
169
158
175
221
240
204
194
265
176
210
196
247
214
205
303
181
221
229
215
295
256
240
199
148
204
114
212
242
217
302
184
284
236
241
252
236
191
283
114
228
217
213
203
295
173
279
170
228
219
201
293
247
216
182
254
190
229
218
249
258
292
200
163
205
217
256
193
195
284
178
276
275
240
250
321
189
242
270
183
174
205
223
239
279
198
203
229
277
175
210
235
204
214
187
234
179
269
211
258
170
221
161
206
258
239
266
226
179
227
275
191
310
261
183
284
238
114
233
280
231
201
236
279
230
173
287
299
285
174
235
218
189
178
205
177
242
223
222
210
241
193
224
171
192
218
180
278
188
177
161
275
344
192
232
226
322
187
189
306
290
282
207
286
182
208
232
231
245
255
155
244
146
270
338
180
246
149
259
235
199
270
164
211
162
296
175
126
165
266
247
222
263
226
242
247
238
222
265
270
248
133
149
223
219
258
318
285
181
222
181
284
166
157
221
239
257
241
311
256
281
218
246
149
218
240
240
181
205
243
267
190
181
281
246
182
177
189
213
242
314
227
201
156
195
177
299
239
276
221
202
145
222
235
288
243
197
173
182
197
213
275
258
194
196
223
178
230
182
200
210
308
261
190
176
256
212
255
209
286
266
251
178
172
245
207
209
154
239
237
205
156
165
241
253
249
229
191
232
259
178
197
213
245
314
215
250
238
253
281
200
235
303
351
246
289
213
228
252
224
270
244
262
220
293
247
304
183
201
280
227
239
232
219
286
258
166
236
213
285
173
114
228
239
289
283
269
178
227
199
219
227
242
284
230
227
210
170
181
214
324
262
254
218
230
121
284
193
206
251
237
184
241
261
261
262
255
214
262
192
244
260
235
222
181
171
243
207
139
231
269
233
235
201
199
247
245
270
222
126
272
229
199
178
217
257
236
158
232
267
233
235
216
155
202
205
281
217
248
230
236
227
218
298
221
114
267
221
196
202
303
163
192
176
241
237
171
220
224
288
184
165
193
240
208
161
199
180
222
178
254
157
182
189
160
229
163
247
243
222
245
197
211
242
244
198
232
182
233
170
207
300
245
174
234
233
203
209
138
175
293
177
201
227
213
213
183
184
209
215
257
258
267
251
298
258
225
170
261
175
147
205
220
175
227
239
178
245
200
214
210
268
236
212
224
260
207
269
207
262
179
213
209
223
242
204
321
196
114
198
281
215
181
261
291
223
236
235
276
195
282
248
215
177
198
126
181
279
242
248
108
203
154
254
198
193
297
221
227
248
208
229
203
151
267
206
241
250
271
320
205
209
311
284
204
280
353
237
176
321
265
155
214
275
152
218
203
187
206
226
208
334
149
285
238
228
269
252
163
223
166
267
183
215
229
264
212
157
233
139
247
257
256
202
251
241
221
233
179
247
217
191
156
181
297
210
245
235
189
252
266
180
195
173
249
271
191
230
202
152
175
310
177
180
195
222
239
218
188
217
183
226
175
178
170
116
196
178
254
335
114
277
202
207
225
175
258
355
237
204
272
234
165
273
249
263
177
320
288
145
212
193
205
235
227
198
229
114
265
188
179
243
233
196
173
283
285
275
153
250
238
267
236
277
272
169
266
160
218
212
283
236
220
223
262
255
199
169
213
185
293
166
180
281
279
232
214
257
252
233
199
185
257
243
241
208
257
256
224
174
239
208
230
202
194
270
171
231
215
226
188
193
238
213
268
156
271
160
257
193
285
305
200
217
226
239
195
226
209
293
160
148
181
209
247
199
145
177
240
322
237
197
214
246
252
283
278
204
183
176
248
214
222
210
185
253
210
165
198
114
323
255
222
169
276
258
213
283
239
312
256
248
245
265
324
218
239
250
160
312
206
198
305
207
215
244
213
227
226
129
224
253
196
192
235
228
217
202
194
193
253
207
306
236
229
189
214
114
211
198
264
240
160
285
195
160
262
191
297
311
240
170
159
165
175
154
243
233
223
252
235
252
261
194
178
239
272
222
239
239
152
233
257
241
220
235
167
175
288
357
180
200
174
258
255
200
139
250
154
192
218
176
251
222
235
245
229
252
234
253
228
250
241
219
195
152
263
240
202
280
281
201
228
209
252
161
176
282
220
225
236
114
247
170
108
233
200
225
232
267
263
201
233
191
214
168
255
233
264
282
263
212
256
196
181
212
291
171
213
209
208
206
272
323
194
247
291
196
308
257
198
152
342
319
288
198
370
160
188
157
227
207
160
203
256
198
277
275
170
243
201
258
207
273
220
293
288
209
273
270
336
272
307
268
342
188
260
209
116
215
129
234
206
169
229
258
210
272
240
162
303
310
218
286
213
184
211
153
229
222
195
192
181
210
234
213
179
173
237
176
247
195
238
236
172
203
218
161
226
250
239
234
198
224
233
239
193
234
277
166
152
244
250
236
219
206
260
223
229
197
152
174
190
227
176
180
157
159
222
269
219
342
212
255
227
217
189
285
190
269
185
213
242
225
263
246
279
171
213
286
133
247
194
231
185
203
219
263
285
269
203
242
260
219
165
299
184
250
363
282
267
114
198
246
202
279
273
209
307
247
236
161
332
225
206
239
206
145
219
161
234
222
213
245
196
297
285
199
193
208
207
211
152
206
209
228
209
216
192
212
328
269
163
273
269
191
246
263
235
234
249
198
233
182
283
114
166
193
277
183
253
219
202
231
203
175
219
157
214
222
174
230
278
194
114
245
247
266
174
160
214
220
228
228
204
141
239
222
299
219
220
212
297
266
275
309
214
233
252
261
242
215
254
229
237
261
114
183
170
331
275
168
251
239
253
275
297
259
216
301
213
160
221
168
202
210
302
210
183
252
174
192
289
211
169
203
237
250
219
188
271
151
335
221
203
227
260
186
164
273
231
208
303
139
252
179
254
200
155
281
248
205
286
185
239
297
206
200
146
181
284
222
223
233
170
190
142
272
222
264
159
234
220
219
212
269
212
278
271
262
270
270
259
219
310
223
259
296
237
210
183
190
186
167
212
175
167
249
295
262
309
324
269
191
311
243
199
194
306
188
146
175
190
296
262
299
209
191
255
230
249
317
189
181
204
238
260
231
284
195
263
200
253
165
156
220
185
229
200
222
340
202
214
171
251
275
233
255
295
180
249
198
229
287
326
144
228
180
275
255
222
166
184
269
302
225
214
162
172
259
289
179
222
214
256
158
273
194
215
260
256
189
261
201
180
215
218
157
218
234
235
149
222
214
121
198
232
203
206
228
278
285
204
219
253
206
246
208
202
181
245
160
220
218
146
250
189
263
194
261
191
172
246
273
299
238
279
209
216
217
222
191
214
254
251
238
305
274
228
201
198
212
221
209
289
194
276
236
172
266
168
213
249
318
116
149
189
197
223
288
295
233
191
237
243
253
263
233
114
247
219
246
192
162
181
178
236
305
304
199
208
295
226
198
295
258
221
180
244
287
261
260
296
185
263
139
233
195
238
223
273
287
198
195
323
267
285
169
228
266
260
230
216
160
187
251
211
209
246
256
270
189
240
275
204
275
179
285
208
283
235
238
200
217
219
255
220
189
197
226
230
255
181
187
246
253
244
248
245
194
197
178
216
255
258
200
253
277
274
272
208
114
195
228
191
259
148
249
114
192
228
161
195
197
170
226
190
269
263
289
202
267
239
221
262
244
207
194
250
255
160
243
196
211
221
216
246
154
233
289
133
205
177
238
355
180
176
160
225
295
198
189
254
251
250
349
202
228
175
167
147
170
214
292
188
137
235
185
250
257
204
180
243
202
205
284
244
221
151
222
160
243
204
152
199
178
272
258
380
260
241
296
181
235
239
271
201
301
183
207
274
169
241
160
165
212
195
188
231
198
207
329
257
263
247
286
195
270
296
194
261
253
327
201
207
238
244
284
156
309
151
238
198
259
323
263
206
216
257
227
193
200
188
225
244
152
203
245
195
199
202
231
246
265
141
162
200
205
171
198
209
188
279
266
281
240
300
294
262
192
333
174
278
306
301
182
191
190
234
224
253
114
170
225
248
160
258
250
238
159
208
185
209
213
309
209
221
244
318
272
238
391
174
235
274
187
201
249
233
186
216
246
206
264
256
242
277
212
269
252
197
257
244
224
191
235
252
229
270
223
348
233
190
162
214
230
227
183
189
237
218
245
242
178
319
226
247
264
270
207
214
251
280
158
236
181
260
249
197
223
151
253
184
165
287
196
219
160
308
192
236
325
293
196
201
308
322
221
114
193
207
225
231
200
168
180
231
253
240
154
280
256
212
225
236
266
181
210
259
114
169
190
212
211
210
134
209
192
257
232
222
239
230
195
213
219
180
195
190
255
179
226
258
265
284
205
232
285
285
236
256
200
157
218
248
235
250
222
220
233
167
261
228
253
254
204
211
236
268
250
269
216
230
248
214
219
290
211
240
225
258
234
173
202
179
199
226
203
214
303
177
199
226
212
172
152
246
209
258
176
141
249
230
261
254
296
116
315
253
188
151
220
254
290
230
249
227
179
262
235
190
184
272
188
202
185
259
252
235
230
272
177
169
296
239
228
174
219
223
253
213
292
252
177
158
287
180
245
174
230
156
206
221
216
146
270
218
214
238
166
242
213
236
223
216
262
193
219
266
197
318
199
192
217
175
157
121
286
264
274
211
193
222
185
312
257
210
222
114
210
196
188
215
203
261
197
241
241
243
278
283
184
229
273
232
195
243
214
265
200
292
212
217
144
181
178
171
184
139
267
222
237
210
237
202
188
197
218
191
240
159
202
366
275
212
271
208
229
194
288
223
238
210
194
262
191
260
220
252
222
212
195
241
266
279
270
195
216
180
156
262
211
249
233
193
229
227
250
247
191
233
208
167
178
262
213
234
337
255
279
260
174
230
243
284
230
249
218
238
292
214
227
222
247
215
114
284
205
246
246
261
293
258
256
181
207
273
235
260
197
177
240
206
204
287
259
218
214
247
246
334
227
212
211
266
223
273
231
181
215
178
211
257
235
220
172
186
257
207
284
293
241
196
210
195
234
213
181
254
225
246
215
174
281
276
169
184
259
226
256
146
204
182
218
193
236
196
233
185
166
226
160
209
200
213
226
297
285
262
244
243
198
159
230
242
235
217
237
203
217
174
219
233
253
328
149
231
197
213
263
198
170
239
232
258
293
170
327
235
175
222
242
201
187
239
223
233
180
249
205
232
236
190
275
270
207
172
253
237
172
166
277
230
211
193
200
221
196
184
178
214
258
198
291
154
284
234
196
190
255
197
288
233
221
249
226
203
183
283
186
203
114
287
230
219
279
260
147
269
251
267
304
302
196
268
222
199
199
218
266
225
274
196
182
276
243
214
171
242
291
269
208
141
200
184
250
243
194
257
299
250
266
279
251
198
221
218
270
245
252
170
285
244
224
226
114
258
222
263
179
206
246
145
181
229
233
200
286
218
250
267
219
202
187
184
277
219
222
226
183
238
238
294
193
177
192
202
292
158
242
233
162
234
173
173
121
211
221
231
246
287
188
238
240
232
260
182
184
258
235
161
246
257
219
210
170
212
266
139
170
229
170
235
162
192
192
247
231
207
181
217
191
195
252
333
206
181
198
191
162
291
243
286
256
228
246
228
240
201
244
224
229
218
187
160
175
277
241
222
211
236
260
199
192
258
144
235
240
224
147
236
180
199
184
225
182
211
227
217
192
246
201
201
174
169
323
208
175
237
236
263
204
237
114
145
261
255
221
265
236
194
191
231
178
234
240
239
170
249
212
187
193
311
193
282
254
256
168
272
258
169
255
206
216
194
139
213
274
168
305
288
238
303
282
287
225
210
231
237
210
203
207
277
288
165
145
182
179
242
236
209
277
213
235
256
218
211
253
287
247
295
212
198
220
170
279
172
229
199
229
170
308
234
260
193
209
246
287
228
160
296
279
264
291
299
208
273
302
249
267
236
227
216
247
267
197
219
232
209
227
161
274
261
181
195
207
186
195
242
261
240
222
215
218
181
231
288
216
214
235
151
191
260
221
262
310
236
218
205
247
288
284
285
196
178
248
189
249
261
218
219
260
186
258
287
260
243
167
203
219
264
202
270
251
180
257
198
211
208
146
253
160
212
244
162
221
201
193
173
278
161
228
236
209
144
216
181
172
182
237
196
202
183
281
201
242
114
265
271
214
141
200
242
235
211
310
255
306
227
262
258
330
244
178
240
229
204
155
247
267
212
216
257
224
211
219
200
338
169
169
254
258
266
170
262
208
163
194
268
286
190
224
176
294
197
213
419
179
165
234
221
247
196
272
238
170
218
236
189
304
252
268
239
223
225
171
171
140
200
208
229
200
258
158
243
262
298
313
244
213
139
207
241
269
206
305
253
199
261
286
260
243
235
315
152
184
227
249
210
238
245
250
184
188
233
175
188
182
227
222
184
264
183
221
200
283
226
258
193
226
242
265
195
227
229
291
233
238
265
251
181
245
221
210
342
174
199
158
216
270
243
229
170
329
244
238
252
239
204
168
195
271
266
196
226
204
177
212
252
268
180
195
218
161
244
316
291
310
236
261
213
274
177
188
217
214
263
208
185
216
166
186
209
277
162
176
218
266
254
219
272
184
211
214
179
219
247
260
184
163
270
237
193
303
187
221
197
160
133
228
228
220
258
336
246
261
282
282
219
248
164
214
194
161
219
218
175
252
282
232
244
170
204
203
260
218
277
161
184
221
222
232
213
214
258
176
244
195
148
247
252
199
216
284
263
242
207
259
181
194
222
226
199
276
228
273
319
204
189
318
181
237
259
238
193
197
215
151
189
246
122
259
156
169
175
257
199
222
165
260
238
244
197
212
330
258
236
214
232
244
229
231
247
332
170
228
173
184
313
213
335
222
316
284
195
276
268
156
333
279
268
308
223
219
245
237
196
184
288
165
223
225
200
192
271
114
202
173
235
284
221
235
176
278
215
129
219
197
210
165
215
239
145
273
186
144
339
190
285
197
196
250
203
238
284
234
259
252
178
225
230
232
180
161
334
257
223
189
231
254
296
266
314
180
204
289
254
165
179
250
195
198
129
169
227
260
158
199
114
207
201
205
180
272
301
227
244
238
184
266
297
276
194
275
255
261
307
230
161
200
160
139
224
210
256
277
309
174
208
197
227
278
165
184
178
201
196
209
238
212
181
251
239
153
208
218
237
277
184
248
225
273
129
296
258
294
351
151
221
305
267
199
296
229
174
272
243
181
179
241
156
191
234
291
235
178
223
200
239
333
258
237
219
230
228
304
284
265
275
280
288
194
274
225
219
203
246
195
218
232
248
290
232
183
169
197
200
181
186
260
294
163
249
114
268
114
285
274
209
154
224
234
276
114
297
232
165
235
184
170
199
320
176
253
225
234
228
114
184
215
193
237
224
233
195
246
166
226
173
292
244
212
220
244
226
213
238
191
253
276
186
145
168
218
199
298
181
218
278
186
235
220
249
308
195
170
198
238
323
270
177
163
234
216
196
263
266
239
234
331
276
261
178
237
180
202
245
182
228
295
264
205
200
176
228
318
159
186
247
257
280
243
166
295
184
311
265
235
304
257
169
316
175
210
244
192
198
263
229
217
224
217
266
206
180
234
188
222
214
149
195
278
174
164
151
188
173
266
244
106
330
222
213
152
178
225
292
233
298
165
204
290
187
339
181
233
196
212
300
228
263
223
217
224
181
215
253
196
279
182
201
223
208
238
347
224
195
207
295
336
257
166
241
233
232
224
195
152
181
220
206
215
335
295
279
193
225
202
275
284
182
285
223
158
238
243
154
248
168
269
240
239
242
227
245
299
266
193
262
233
266
227
228
212
231
233
204
202
161
265
327
186
198
240
157
212
234
147
189
230
273
289
179
356
204
152
204
280
223
264
227
210
219
255
220
247
339
151
197
229
280
204
203
244
238
184
235
225
192
270
239
200
285
217
262
191
139
168
211
176
201
161
232
254
246
207
235
211
158
195
156
219
162
266
262
214
236
241
193
213
274
229
175
258
306
161
307
137
237
199
186
242
139
249
250
114
240
201
187
189
152
246
288
179
207
255
223
286
168
218
212
214
251
226
230
197
151
243
200
218
264
277
162
267
230
199
229
116
218
198
225
232
248
301
246
191
303
249
214
203
144
150
210
146
114
238
240
157
199
218
293
191
183
156
180
235
219
166
233
182
294
273
278
223
114
253
199
178
183
240
245
228
245
191
214
195
212
202
185
198
214
308
294
151
275
312
272
233
242
276
214
282
249
236
203
154
179
183
145
214
221
240
214
354
202
186
230
215
197
224
232
191
284
188
214
243
262
265
205
216
235
188
214
272
241
199
192
255
254
155
220
171
235
273
255
208
195
211
178
222
169
241
192
219
156
231
192
213
161
265
197
256
220
210
235
183
212
161
161
234
271
185
192
234
312
263
219
191
279
206
233
238
191
265
227
167
231
247
175
258
209
187
327
265
222
220
156
154
256
193
176
185
173
223
181
302
274
220
195
318
235
204
251
192
213
201
283
221
224
222
191
293
275
240
233
207
337
139
267
280
270
184
214
181
283
177
351
224
257
224
163
272
320
246
250
319
243
271
273
185
273
295
223
173
274
206
218
199
340
207
243
319
222
242
269
242
186
164
259
297
178
242
268
275
208
228
156
231
196
250
191
201
220
255
207
188
326
258
222
221
165
219
272
208
246
200
126
201
188
271
294
300
216
236
213
157
318
271
244
213
207
216
213
280
269
227
213
276
189
194
129
266
244
196
254
258
246
222
254
301
189
307
233
225
273
314
269
114
114
230
220
208
126
268
244
303
260
175
324
245
221
243
187
279
299
296
277
250
219
268
222
250
161
298
177
232
232
216
324
202
270
218
158
203
204
200
232
200
170
185
277
198
242
219
224
176
178
231
260
257
224
240
265
172
196
229
263
231
317
201
235
346
190
285
213
279
215
198
201
204
243
222
171
273
228
219
293
187
237
176
277
191
206
199
278
234
170
302
234
225
175
265
219
299
189
258
251
214
283
194
232
214
249
223
217
170
204
255
227
235
297
200
191
235
269
293
211
322
244
245
188
279
254
214
226
179
174
309
279
242
244
253
258
189
278
270
214
231
235
160
269
269
233
173
314
222
226
250
193
222
196
208
114
279
278
219
266
238
288
219
202
262
196
234
207
223
211
172
169
229
210
210
237
166
129
178
245
106
253
249
301
193
213
239
288
114
213
296
215
114
292
250
195
181
245
254
147
238
275
289
233
114
175
234
237
295
281
231
165
170
255
228
157
296
241
193
250
177
323
238
257
241
301
261
358
268
235
233
227
283
215
317
184
253
161
181
239
200
194
230
169
316
221
214
295
172
243
180
178
252
240
292
214
133
181
225
308
213
267
168
201
343
197
159
198
213
219
232
215
248
250
195
207
178
192
266
243
326
278
173
231
219
144
287
264
204
321
270
193
267
225
276
286
225
226
203
232
256
246
221
252
321
272
225
211
246
295
251
198
237
231
184
173
182
160
255
191
252
178
235
289
160
276
210
207
179
193
200
129
149
156
200
193
220
260
274
235
221
160
191
165
243
170
258
166
195
236
198
224
235
180
308
146
304
227
242
225
213
214
239
258
217
265
165
212
160
231
130
164
274
156
193
181
181
249
162
234
217
197
192
114
106
246
307
245
144
196
289
202
238
255
190
195
247
156
342
211
256
174
164
256
258
179
175
203
213
295
203
276
214
266
248
237
268
202
170
187
243
209
241
265
281
222
214
250
220
192
176
147
300
266
201
253
197
266
311
186
320
166
288
218
237
220
260
202
160
240
312
161
248
240
198
207
250
211
139
199
205
152
192
181
233
283
165
225
242
206
152
114
186
182
186
203
174
283
246
225
266
242
234
240
256
214
234
244
192
275
175
237
260
298
230
302
205
148
267
145
206
231
232
212
215
234
195
264
232
285
243
177
160
191
296
229
225
195
186
278
225
277
278
256
200
169
282
194
242
238
194
221
201
219
182
204
234
249
266
240
291
194
237
249
252
241
191
209
297
225
204
273
216
228
258
229
152
287
175
241
150
269
205
170
219
203
199
275
255
232
185
237
250
244
212
180
304
190
209
228
262
162
208
354
166
219
253
195
304
162
191
195
194
238
247
225
281
209
196
206
219
195
238
268
219
262
279
210
205
237
256
166
265
230
274
160
224
273
201
219
201
284
247
189
220
114
280
230
228
188
304
149
233
212
267
278
265
194
165
173
297
220
208
116
215
209
186
169
212
203
239
205
317
231
291
193
197
160
249
229
130
160
240
258
252
232
205
200
201
225
231
199
165
258
281
214
298
250
220
214
238
171
160
180
319
249
214
198
246
180
220
184
208
275
255
340
298
173
271
146
256
246
264
247
206
239
235
172
224
262
216
256
257
213
250
178
159
242
184
261
308
192
152
293
323
212
247
195
173
196
302
232
180
269
177
277
293
207
242
222
195
265
279
223
210
219
226
273
300
238
224
231
191
226
230
205
254
151
221
231
258
209
292
243
256
234
194
193
272
242
222
256
190
241
148
210
233
160
265
303
207
213
218
217
329
230
295
217
234
227
244
193
193
222
303
208
273
181
339
233
226
252
291
244
179
202
311
157
262
324
306
200
217
287
203
238
243
203
249
303
264
216
234
182
211
222
244
173
242
167
265
250
256
114
254
235
263
261
314
229
168
193
218
273
262
223
181
210
283
222
277
221
277
256
266
146
224
233
130
251
215
192
238
196
247
114
244
248
222
219
254
251
288
253
200
213
341
285
200
264
287
175
184
201
282
156
213
276
224
318
223
189
220
251
273
251
219
210
218
196
193
215
156
264
158
245
285
207
197
238
258
348
204
384
188
244
205
296
231
219
202
229
286
192
279
193
275
296
228
224
199
235
239
244
252
227
200
145
228
244
249
242
183
239
191
242
259
217
319
281
244
116
207
244
244
189
206
257
244
241
222
305
250
229
178
277
198
243
268
187
196
223
271
225
230
126
245
235
296
279
234
157
183
229
221
209
160
311
198
114
151
212
267
222
251
175
224
199
283
280
233
248
260
249
229
210
229
243
219
244
245
223
184
216
234
234
234
277
219
270
181
222
316
184
198
235
187
152
170
206
219
227
183
240
192
264
237
240
177
261
246
205
139
234
198
283
270
192
278
198
191
241
207
225
129
269
276
230
238
261
198
315
218
228
228
220
261
234
256
203
126
233
177
194
252
179
179
240
280
158
183
224
199
209
231
161
258
254
278
247
252
214
262
227
178
192
238
230
237
227
238
213
303
151
256
252
199
232
273
190
296
183
234
182
207
250
250
237
278
215
175
237
198
197
216
207
228
279
189
190
186
234
219
330
263
286
283
232
241
191
233
156
217
268
200
209
185
201
173
267
211
220
288
208
211
160
157
234
238
282
275
210
250
310
158
247
285
214
219
228
247
188
273
218
342
219
247
254
269
202
190
207
260
282
260
242
219
206
269
296
206
208
322
199
228
260
156
159
285
310
311
219
244
144
230
293
174
196
224
180
214
279
161
306
146
323
172
218
232
195
267
271
199
301
194
218
180
195
258
214
206
265
264
196
173
215
163
254
126
243
198
229
260
283
276
176
271
126
201
221
215
175
211
280
241
208
306
241
256
169
182
130
234
191
199
242
196
205
196
280
178
197
165
223
160
294
261
244
191
201
180
184
245
156
238
240
157
238
237
106
160
300
181
250
224
222
175
308
231
195
241
175
219
197
186
200
230
216
188
179
174
242
229
239
284
227
191
162
198
218
184
225
201
288
359
231
250
228
217
214
220
306
211
184
298
203
185
292
221
238
200
224
206
114
248
297
194
222
228
297
192
148
230
169
159
220
158
166
178
204
232
218
320
303
224
160
263
296
184
200
230
232
213
242
247
201
289
173
211
174
248
201
214
221
219
192
175
222
210
263
220
209
227
274
239
263
245
180
218
244
214
325
264
171
228
255
286
230
228
199
233
236
204
274
200
201
235
250
239
169
309
199
191
146
221
253
203
222
232
257
251
268
169
206
238
221
287
241
233
216
134
139
174
229
239
181
235
202
266
186
236
114
194
214
218
210
232
186
198
236
156
234
282
192
213
184
299
271
202
199
194
281
171
230
206
250
204
242
258
169
294
195
237
182
154
209
331
254
240
160
134
316
212
179
240
187
156
223
317
224
228
283
193
283
279
309
196
249
226
248
277
252
264
240
199
250
309
191
169
291
265
209
165
219
194
289
272
315
275
261
198
208
129
186
276
162
237
193
253
260
192
196
189
174
236
216
205
264
175
202
210
238
199
180
236
145
152
224
210
334
219
223
219
246
228
246
226
222
258
172
238
229
280
241
269
292
242
242
289
273
206
247
176
241
207
207
265
267
213
308
217
229
215
234
234
185
196
298
174
188
195
194
253
212
308
251
334
292
108
219
170
188
147
214
181
272
306
317
280
168
239
221
235
263
211
219
250
248
152
266
229
173
263
259
203
206
232
295
255
199
285
231
198
195
167
213
192
285
305
206
209
274
276
185
229
215
210
213
247
321
245
307
194
281
191
246
285
265
201
178
108
246
210
279
225
252
233
225
222
259
213
269
275
184
194
203
224
175
209
282
165
312
302
223
160
181
260
187
196
198
271
357
235
197
209
218
210
186
227
255
246
163
207
249
210
208
232
241
176
242
216
297
176
307
259
199
198
321
254
215
225
173
261
263
210
182
220
256
267
220
233
272
217
320
145
267
192
174
241
193
243
190
256
202
214
282
223
207
261
218
214
183
217
184
208
167
266
223
114
267
192
287
195
314
195
158
213
223
206
309
191
277
168
276
223
153
170
196
250
352
181
206
148
222
226
216
270
256
193
212
186
211
251
253
228
202
257
220
260
273
210
260
254
222
192
245
226
206
221
227
237
211
287
192
305
169
213
266
272
216
259
157
219
220
152
199
164
165
203
242
300
238
241
196
235
238
204
324
286
246
173
180
229
240
173
231
184
228
236
258
236
202
229
282
154
182
252
266
208
267
260
272
200
208
241
313
297
297
206
253
255
174
213
304
218
271
297
171
180
198
240
240
213
207
161
178
173
259
188
204
213
186
227
281
268
289
235
200
237
269
152
192
221
226
230
274
213
253
309
258
305
205
307
154
213
294
244
195
255
258
172
179
263
246
241
196
225
273
283
207
277
244
242
157
145
228
181
198
180
174
239
173
195
194
293
214
170
174
213
160
176
181
176
282
191
193
246
213
202
351
209
214
213
203
239
283
207
252
206
239
247
187
206
221
264
308
218
237
145
251
207
233
280
175
258
316
270
239
197
272
157
279
247
210
185
197
160
173
192
198
194
247
326
170
260
255
193
247
335
213
275
258
198
287
126
187
224
248
275
269
221
208
212
184
238
264
249
220
133
263
133
151
220
175
216
262
266
164
133
236
220
271
212
232
208
266
221
232
211
246
186
213
263
114
168
277
260
344
210
281
166
229
213
173
212
299
173
144
263
302
233
238
235
245
258
258
219
114
162
258
190
214
217
232
241
188
189
181
214
198
158
224
216
229
246
288
280
235
155
183
192
212
233
238
202
270
188
248
207
245
200
225
254
258
298
210
188
114
251
222
194
188
212
283
250
238
273
203
261
208
222
248
191
206
184
229
206
212
227
374
228
238
201
266
184
220
176
202
241
156
189
181
226
223
174
239
205
225
292
173
184
254
196
222
240
279
233
217
257
178
203
206
238
263
284
263
199
191
253
191
188
178
265
161
192
192
271
214
256
202
194
199
228
213
106
260
209
240
249
204
299
263
240
274
285
243
219
246
201
189
219
209
157
202
153
194
286
210
166
287
186
202
175
202
245
173
225
314
191
211
170
219
231
200
237
266
289
224
196
322
219
185
195
245
230
228
212
201
193
224
192
198
308
240
159
166
223
245
206
176
208
236
307
271
207
284
218
293
306
244
213
264
217
271
170
199
258
208
328
196
157
244
220
187
324
236
219
311
207
108
277
267
276
207
192
175
267
170
246
320
332
195
197
151
244
263
241
229
277
278
222
233
270
204
253
241
181
198
226
229
156
154
282
199
260
247
227
205
306
220
242
266
174
141
265
200
209
178
243
163
219
243
269
234
322
178
195
300
296
240
168
114
306
213
216
215
210
171
160
261
166
229
284
196
211
212
148
289
207
328
279
130
198
234
236
196
311
234
256
289
220
211
289
173
262
263
207
193
206
197
180
241
352
196
268
294
228
228
226
343
180
281
274
294
224
299
288
228
275
268
181
334
182
253
256
303
156
170
228
169
227
146
264
228
204
173
312
219
324
222
185
182
232
247
245
235
227
247
194
278
197
222
189
248
288
233
304
186
252
214
255
233
268
252
188
333
229
229
221
213
213
208
262
242
248
205
219
268
177
201
195
147
179
185
208
194
285
174
238
288
235
193
191
207
213
232
255
121
209
164
231
240
192
232
173
178
210
196
269
188
151
171
170
238
233
224
174
228
275
199
295
266
268
279
307
193
226
188
238
217
188
284
276
153
250
154
294
210
250
195
259
185
229
246
177
180
220
204
284
252
172
210
209
160
196
235
221
318
207
326
198
215
211
312
238
160
156
221
220
276
243
233
130
129
257
244
167
198
237
309
192
164
233
196
203
250
157
256
178
285
234
144
197
114
145
272
194
309
199
171
213
178
213
259
332
278
209
255
327
233
175
234
184
148
246
288
264
287
264
211
347
277
237
255
214
161
306
255
292
233
210
185
178
243
173
174
265
213
235
198
208
240
196
214
321
205
214
223
126
212
201
156
198
229
272
122
242
198
291
160
161
191
178
235
275
114
165
211
260
222
253
223
231
210
114
241
266
274
236
277
158
325
228
214
199
238
220
176
231
254
196
249
253
288
216
225
281
208
224
237
271
268
259
196
220
233
282
253
191
198
193
170
283
207
165
260
287
320
227
239
183
238
196
295
198
222
233
265
233
202
198
209
213
176
178
203
258
297
205
219
290
219
182
239
224
236
216
233
175
203
249
274
195
215
226
217
223
209
281
294
196
239
269
231
217
213
239
274
229
216
282
232
179
202
195
268
247
285
169
333
259
275
256
256
217
222
211
215
180
219
279
279
195
296
212
220
219
224
236
227
304
149
271
181
246
188
219
221
229
193
163
116
218
251
264
173
219
267
268
261
197
210
229
158
186
260
248
182
230
236
238
149
228
230
156
206
202
181
177
205
219
228
232
177
247
220
239
214
192
269
189
283
216
298
114
293
182
196
222
189
274
231
224
212
284
272
299
194
191
189
230
222
267
173
163
182
227
258
257
198
196
257
331
217
198
215
195
218
219
207
194
204
279
234
187
259
211
276
202
210
190
279
266
170
188
268
265
252
281
306
228
230
196
237
215
265
205
218
180
265
203
308
208
292
245
175
244
215
285
221
319
229
236
251
223
173
281
227
181
243
219
208
215
216
227
277
166
296
181
276
253
327
232
289
153
114
305
242
251
256
178
242
244
263
273
184
264
269
281
340
162
180
175
178
247
178
247
246
338
190
216
291
271
203
206
314
208
219
243
230
267
214
235
134
297
273
143
219
201
250
152
183
168
190
173
160
195
263
201
193
182
151
194
211
289
189
156
186
194
174
195
240
215
195
185
181
114
223
210
223
242
184
203
234
273
237
231
236
244
164
239
168
152
207
235
242
223
241
233
366
166
256
189
293
206
282
265
186
284
209
198
233
268
154
290
229
189
219
257
220
286
189
228
196
288
229
241
184
274
203
294
192
296
233
234
156
201
301
198
152
260
220
205
211
205
208
152
237
265
180
289
195
237
242
208
228
267
202
196
313
156
160
214
267
234
267
181
264
148
220
243
292
190
217
266
179
280
207
294
248
196
147
183
215
275
178
221
154
233
242
253
258
337
230
248
233
221
305
176
262
240
332
225
121
213
173
232
146
241
280
223
284
194
258
243
243
335
275
253
220
160
223
236
280
234
263
293
192
233
297
220
272
236
130
154
259
192
258
160
152
221
265
243
286
219
305
265
183
279
188
278
265
239
145
250
204
246
174
329
268
210
179
161
220
239
211
219
151
302
234
106
254
262
264
187
230
223
195
219
198
191
233
171
301
282
209
231
229
267
225
114
193
236
208
232
212
180
239
248
182
237
264
206
226
231
305
181
287
231
234
211
217
256
232
241
232
207
188
193
226
198
216
191
220
246
214
245
190
203
223
190
173
222
255
196
146
253
277
198
294
196
187
189
260
261
156
192
170
238
233
271
231
276
247
226
195
241
168
197
238
301
192
208
222
237
256
258
273
208
223
222
233
225
223
200
257
275
235
216
229
219
153
214
257
214
151
258
222
240
200
213
177
193
240
225
259
187
204
219
248
191
228
204
265
204
223
218
247
214
254
306
260
227
253
200
269
239
175
198
238
192
315
208
278
211
310
254
335
268
221
242
162
154
224
310
223
182
230
200
114
207
267
214
342
238
240
241
246
160
243
166
189
330
173
211
320
196
249
243
212
208
195
252
182
220
295
203
148
246
241
139
227
242
135
297
266
285
231
195
202
184
199
280
165
213
193
226
198
114
248
139
222
208
185
175
258
200
187
222
182
225
218
230
189
256
170
235
219
318
289
204
154
255
232
236
277
172
257
199
161
317
232
195
224
225
235
263
276
245
263
254
220
129
291
264
210
270
175
152
289
200
195
213
247
285
199
230
233
242
221
217
301
325
145
243
280
191
279
270
178
226
193
185
266
256
254
181
294
175
321
261
165
173
192
232
291
251
262
174
270
156
243
227
234
259
180
169
183
155
241
106
198
286
273
223
154
263
189
235
258
185
239
114
280
266
232
244
194
181
247
207
161
257
238
183
254
210
220
259
247
158
227
240
204
293
210
214
237
250
264
206
221
229
250
199
245
192
173
174
195
237
286
273
245
162
196
340
182
184
144
180
170
165
191
236
165
264
256
196
250
194
229
170
226
114
176
279
233
180
276
174
197
258
228
325
208
166
298
153
299
207
191
224
166
200
192
287
192
239
214
198
228
172
255
257
212
206
274
183
178
243
215
200
145
204
297
354
269
229
262
247
239
181
204
232
229
240
187
267
203
252
223
171
199
200
205
198
259
211
214
150
224
265
287
247
240
266
226
228
240
173
249
303
210
217
241
114
260
239
160
148
203
226
214
193
285
236
262
220
261
239
176
139
195
180
158
215
244
234
240
191
216
219
214
253
158
257
255
230
267
272
190
225
208
177
297
181
207
191
205
144
214
230
247
250
262
223
346
245
252
114
202
221
243
189
166
198
214
234
193
266
288
245
230
195
219
197
224
197
148
223
223
242
265
219
189
144
207
234
200
214
258
240
179
219
190
238
174
271
284
116
222
166
223
252
114
179
194
290
229
226
170
205
274
212
114
209
249
172
234
191
210
320
193
152
195
246
198
211
298
160
237
246
211
170
187
207
251
266
253
234
239
274
232
269
262
122
244
230
200
191
216
242
267
133
282
188
173
304
160
256
206
271
215
218
133
282
202
212
217
226
193
212
258
258
167
183
265
217
160
231
174
214
244
243
202
282
199
258
201
195
295
203
196
195
172
190
279
244
231
229
225
160
208
276
210
202
288
229
179
281
225
154
233
247
192
193
114
191
241
174
208
207
171
140
287
255
300
262
208
152
266
220
308
194
190
258
185
267
281
284
240
254
199
214
202
221
284
257
256
253
218
179
251
233
285
230
314
228
278
210
283
199
276
207
238
202
343
232
242
240
285
314
257
202
177
310
265
302
278
186
253
294
262
197
114
390
178
207
238
204
310
245
258
244
282
201
267
146
216
214
201
331
186
246
179
259
171
265
274
250
116
266
186
209
329
208
217
177
281
251
196
215
273
162
256
256
176
265
285
114
218
280
207
256
174
169
221
151
247
309
196
185
238
170
236
202
265
253
253
114
223
158
203
261
238
114
284
184
207
157
241
249
241
248
245
270
152
195
192
247
216
166
262
294
225
204
312
221
228
178
192
191
194
263
194
270
193
222
253
207
227
219
198
280
231
222
189
235
226
179
149
195
196
205
226
149
175
215
246
146
262
209
234
197
193
230
139
207
279
268
145
224
276
216
256
252
241
139
242
212
230
211
253
217
237
203
231
279
267
245
126
257
257
195
249
214
253
305
242
240
240
253
249
278
240
223
241
244
293
270
247
169
205
172
286
225
249
265
176
194
225
236
221
186
227
282
260
276
255
222
366
194
232
274
252
210
263
274
159
165
170
114
190
234
185
274
297
271
200
174
214
279
183
212
289
187
245
242
244
262
159
178
150
196
187
260
251
251
206
183
286
280
208
277
244
315
156
276
268
244
226
194
287
276
296
279
232
269
202
217
164
205
278
259
205
231
220
222
249
221
233
192
239
312
209
191
217
183
225
209
186
173
228
190
180
305
210
171
209
264
263
217
191
192
248
175
185
201
240
277
206
240
168
177
243
204
228
254
174
229
280
231
219
242
283
275
183
253
272
181
221
210
188
244
219
244
261
229
157
179
253
289
223
193
162
148
286
192
253
276
165
229
289
244
258
212
260
230
281
295
170
301
179
248
200
222
156
259
244
292
237
248
248
114
255
227
182
192
166
206
228
191
156
196
213
264
280
234
220
303
198
190
192
148
172
247
233
207
272
217
276
249
185
139
245
229
193
221
234
247
204
157
196
200
181
222
279
318
190
209
148
238
192
166
244
172
179
198
205
286
234
198
241
240
252
195
281
261
257
258
267
244
243
259
290
156
194
145
286
206
195
229
234
317
207
184
223
160
280
222
169
237
192
203
281
302
212
215
333
129
289
193
288
235
189
282
297
278
126
265
204
207
224
164
216
114
204
280
261
184
215
200
253
262
193
149
224
213
254
234
157
327
156
175
267
221
169
247
265
215
198
260
193
253
176
293
278
264
248
172
297
170
227
207
144
266
204
197
146
245
265
214
328
178
201
184
308
212
192
260
221
114
301
243
303
226
213
155
213
205
187
177
172
238
184
178
203
214
209
208
215
304
257
224
333
244
205
230
262
200
198
230
170
240
241
244
218
158
214
228
169
205
240
160
203
225
173
198
217
231
181
270
230
298
187
198
198
265
229
219
192
194
182
241
214
272
145
257
200
292
227
222
293
231
181
174
240
176
190
222
265
209
223
191
209
292
205
169
199
174
256
200
246
222
222
192
233
222
213
248
197
231
231
268
244
188
174
198
156
198
162
215
241
235
229
288
253
263
259
293
233
178
234
268
279
134
241
282
248
317
250
236
241
258
296
240
231
256
290
126
223
308
252
301
297
226
225
256
221
243
300
181
310
262
267
208
188
252
232
225
152
234
184
196
134
263
259
247
259
230
204
201
240
323
158
227
167
220
225
267
231
290
229
207
243
248
201
241
195
189
248
160
240
216
245
114
173
214
215
206
182
184
185
261
276
195
221
190
259
205
256
174
220
215
238
144
194
192
254
195
189
225
159
214
178
203
178
175
213
240
245
276
234
257
258
299
310
190
198
287
216
231
220
201
270
208
207
219
194
223
239
214
286
153
273
197
217
212
192
264
283
210
301
185
270
196
217
180
326
252
191
252
256
229
293
250
232
265
217
223
169
281
175
108
219
193
281
175
269
200
190
188
216
265
225
214
230
226
192
255
170
211
251
225
244
234
280
228
230
175
331
230
175
184
168
172
181
258
198
212
273
220
189
286
209
250
224
176
211
327
241
248
172
220
276
246
180
221
261
261
209
299
240
272
255
249
222
234
195
249
248
193
121
175
160
209
294
169
248
316
224
233
245
230
251
126
285
222
227
279
208
220
277
273
244
201
245
259
325
206
216
275
237
212
256
230
289
255
207
302
227
223
246
255
177
201
145
208
238
278
221
289
269
233
228
213
165
297
174
238
277
243
238
205
219
216
241
260
268
233
248
208
235
204
311
200
212
288
270
145
309
262
223
257
237
253
174
305
318
173
323
209
305
273
156
253
261
229
220
216
209
240
261
197
224
208
306
218
145
210
248
224
280
192
184
266
274
173
221
250
221
223
282
235
243
221
214
192
239
175
309
193
238
236
167
251
249
243
193
266
175
259
234
176
205
200
274
239
140
158
198
133
246
174
316
195
247
291
187
301
206
244
243
234
213
156
248
258
272
283
191
133
253
213
215
247
114
298
211
168
214
269
192
224
223
259
224
241
162
228
207
183
226
268
246
221
257
280
351
245
213
247
188
316
241
275
255
164
278
183
212
218
234
253
316
228
189
255
286
242
160
246
196
200
236
211
195
209
176
205
265
214
222
184
253
305
176
266
183
197
246
213
230
164
246
245
192
223
265
223
231
227
163
221
229
258
232
161
201
217
185
238
250
211
180
212
270
234
288
137
184
202
235
230
324
210
355
270
203
202
309
245
236
176
311
196
232
274
220
252
237
244
260
222
229
219
294
241
181
218
179
195
175
254
346
213
271
199
245
239
302
157
224
228
235
194
227
196
287
256
192
185
253
205
267
236
208
207
226
176
213
194
279
284
266
193
203
280
241
171
206
188
333
187
181
116
251
248
192
261
222
167
178
229
238
304
263
266
277
244
227
220
244
229
258
292
198
235
229
234
206
213
208
160
288
243
158
198
239
213
219
200
318
239
201
229
285
253
130
237
231
203
222
235
293
330
222
263
116
195
205
250
294
199
250
252
223
250
213
151
168
270
287
302
241
208
250
160
252
126
248
180
194
274
180
251
246
116
215
290
255
204
271
257
190
227
173
251
279
248
268
193
183
181
245
202
166
285
295
250
214
230
244
144
250
264
222
275
296
217
245
239
217
220
185
237
174
225
180
303
236
225
198
238
291
198
122
281
185
271
201
178
202
204
195
183
177
252
214
292
154
198
168
240
203
186
324
234
195
230
210
214
283
238
209
175
262
247
242
243
257
268
275
114
209
262
205
228
212
154
170
248
243
212
158
349
266
252
196
230
239
242
184
176
207
198
169
300
243
282
270
207
197
257
294
146
224
203
205
275
200
220
210
268
215
261
217
240
170
279
178
198
160
223
214
278
236
224
180
199
171
184
234
220
338
163
154
199
253
179
195
253
266
188
301
214
183
202
186
224
188
210
228
207
249
274
235
265
289
219
230
282
170
208
252
145
300
228
243
297
288
190
233
187
251
271
232
219
243
178
114
156
212
261
130
246
209
296
198
192
241
300
333
315
224
210
293
194
196
165
260
260
205
293
231
191
257
214
284
176
287
201
166
191
225
223
207
298
220
231
203
330
203
222
247
242
191
251
114
166
173
208
268
159
292
183
302
253
179
248
190
114
310
280
211
245
230
227
275
188
241
167
157
193
231
190
251
180
261
263
281
175
215
210
277
284
234
270
186
172
174
178
268
156
260
250
240
207
266
260
225
214
269
178
190
196
290
189
209
186
254
186
236
273
191
243
219
310
275
203
233
217
269
264
211
284
242
198
286
179
303
257
251
282
178
234
230
211
253
233
213
205
184
248
274
181
227
245
228
244
209
231
206
268
221
221
203
273
198
114
181
227
221
169
220
254
200
257
227
290
323
116
193
194
173
276
210
220
208
194
243
208
242
231
156
175
149
169
217
269
178
174
237
254
242
275
235
219
247
211
114
263
173
224
264
252
201
244
350
284
231
244
243
246
262
164
231
179
193
235
234
198
202
279
276
192
282
261
254
166
267
306
238
195
187
215
186
255
245
160
181
274
236
244
225
174
235
224
157
313
197
260
175
178
220
237
222
361
211
304
209
207
181
208
226
228
235
208
330
204
210
264
152
234
166
240
130
208
203
224
212
245
197
174
255
189
254
200
221
204
254
211
288
253
219
288
178
232
229
221
218
145
217
282
243
239
274
192
171
297
191
158
126
184
214
235
173
214
201
289
219
244
206
238
167
257
146
207
222
166
181
214
271
114
206
362
229
295
173
234
185
276
229
158
177
263
253
237
213
253
160
202
158
246
200
282
246
266
232
256
265
195
248
219
149
286
211
171
286
249
272
267
200
280
274
215
186
224
213
304
217
178
260
249
126
258
264
267
171
152
316
262
191
255
229
220
203
237
108
253
211
211
221
219
267
233
204
224
170
146
239
215
241
262
194
262
218
293
268
233
182
270
215
272
251
289
280
259
162
261
237
199
265
191
232
173
235
208
240
235
212
194
289
280
234
254
206
186
305
144
152
192
262
270
268
255
249
201
152
185
182
250
207
368
224
220
170
256
251
199
283
243
299
212
237
208
214
249
217
114
186
162
269
259
175
234
189
201
234
192
223
249
264
294
230
211
180
288
223
265
208
198
183
194
242
268
203
227
272
262
165
246
189
156
114
145
227
288
211
203
202
219
184
273
246
193
224
225
201
275
287
271
211
223
250
205
152
207
244
285
154
256
207
197
210
225
251
222
281
229
264
197
204
184
198
263
236
262
200
243
288
181
206
222
231
203
280
258
261
218
222
279
222
276
265
253
282
108
139
201
226
245
213
268
160
270
247
203
229
171
247
246
268
203
278
213
194
183
280
190
189
233
215
237
307
254
178
202
206
222
157
181
149
254
255
207
286
187
263
276
223
234
269
260
181
235
226
267
180
172
224
173
204
330
237
196
204
246
194
234
217
202
243
251
283
268
206
204
232
235
236
279
387
283
220
220
229
258
264
224
275
208
234
234
229
198
249
154
250
253
172
234
254
299
168
259
227
229
233
238
216
203
175
273
251
253
139
250
182
213
299
220
209
263
182
272
263
215
206
162
231
186
214
257
146
252
196
202
195
209
234
205
211
242
256
325
180
185
203
219
160
272
302
209
207
231
268
156
176
191
270
192
190
231
297
213
245
227
182
256
277
248
160
255
230
237
225
265
151
212
244
232
164
191
186
253
220
245
154
253
277
279
280
255
229
261
231
220
211
230
215
214
189
298
246
227
190
277
292
243
254
199
183
261
251
297
217
205
171
169
168
192
189
162
201
255
173
327
204
187
198
252
218
277
225
233
192
370
193
253
205
254
188
205
247
167
296
242
221
245
212
196
156
193
227
221
209
271
262
192
212
244
261
253
263
254
260
241
206
235
314
279
245
182
165
188
167
156
192
249
181
214
281
252
195
148
243
285
208
189
245
185
235
188
203
206
290
245
176
153
263
242
230
220
261
279
181
241
253
145
199
195
139
215
139
213
165
192
227
197
169
228
160
265
249
289
248
174
238
207
274
260
240
204
169
288
160
232
281
221
175
192
189
166
164
198
246
198
237
214
216
160
170
114
321
207
232
149
214
262
247
275
229
191
214
204
288
227
178
254
184
160
233
195
262
196
245
160
246
176
186
219
259
106
160
191
295
289
171
270
168
293
204
266
233
239
169
157
224
299
114
187
198
205
198
243
337
219
271
142
218
223
216
207
270
238
239
247
228
228
255
225
250
202
208
260
152
219
298
236
139
199
166
170
234
219
252
169
335
259
288
194
274
204
249
114
220
214
268
232
238
239
301
177
238
317
312
190
319
283
160
262
180
161
192
235
233
187
231
204
273
256
256
253
228
174
249
207
225
114
241
199
187
174
225
244
257
290
230
226
139
114
196
233
290
169
221
178
157
281
211
214
270
290
213
168
185
178
172
330
174
168
211
223
235
239
193
296
199
210
197
215
215
196
201
254
261
218
233
321
243
183
218
242
253
206
160
194
280
222
279
189
238
234
207
207
211
303
178
174
286
114
195
180
262
156
242
184
204
181
250
231
260
126
217
252
219
233
231
213
225
251
252
254
227
323
254
166
261
182
225
231
260
242
230
223
198
269
193
266
335
247
249
225
149
237
265
234
300
249
226
205
246
325
298
280
320
249
174
286
224
235
184
237
249
234
254
192
273
215
237
175
114
233
224
206
148
114
226
268
243
189
221
228
312
289
222
234
251
192
248
204
220
247
214
248
211
190
175
268
293
253
139
271
193
220
215
289
258
218
207
221
286
236
257
269
277
311
229
218
243
253
221
254
188
187
214
243
198
189
170
299
293
152
180
215
156
151
241
191
275
225
250
276
221
246
250
218
221
126
160
170
281
196
249
277
184
221
285
279
194
247
259
114
228
213
227
236
306
284
216
264
223
305
193
218
194
234
181
242
177
227
352
161
223
308
114
200
243
252
160
114
292
204
263
155
231
233
229
265
170
202
192
222
213
240
216
240
198
281
182
193
189
281
215
130
215
306
258
146
184
259
129
200
219
156
152
305
223
238
278
200
274
220
192
196
228
215
269
185
251
197
215
234
182
288
173
171
229
225
180
173
313
194
198
165
228
198
202
243
170
206
219
274
258
263
262
254
263
229
253
256
229
211
192
245
217
154
239
193
106
285
177
227
201
154
209
231
187
233
250
198
285
253
246
205
255
301
209
189
211
218
165
230
193
190
228
197
239
205
177
210
250
300
215
189
218
170
235
192
145
238
227
270
215
210
241
170
214
238
139
258
225
230
285
296
202
288
321
232
244
212
239
191
298
254
193
248
158
229
148
198
199
218
191
176
256
205
241
201
162
252
262
274
177
214
233
207
180
301
264
202
178
237
250
198
242
273
130
128
197
232
198
239
192
169
188
245
238
205
257
246
225
197
195
196
209
267
235
143
216
179
171
164
218
215
276
116
238
193
224
304
218
236
140
178
177
199
184
247
167
144
193
269
239
225
128
151
307
268
133
235
181
114
286
263
217
189
217
184
263
194
254
186
312
275
192
149
291
282
206
193
158
234
290
192
265
223
213
225
219
227
193
181
205
274
144
241
254
255
165
250
198
156
213
266
248
195
274
222
198
279
225
194
285
239
139
212
170
208
190
225
238
183
252
152
207
238
215
200
211
157
233
236
181
173
219
201
182
297
212
217
198
252
199
200
210
224
197
240
299
232
262
377
231
215
159
226
238
192
276
324
176
307
240
206
269
160
309
261
207
222
221
237
274
256
239
228
175
181
218
232
255
260
271
252
146
196
211
220
240
233
170
189
199
243
238
259
114
199
215
225
260
216
185
197
267
250
282
139
191
169
229
192
161
173
186
157
175
186
230
189
268
237
209
174
301
195
205
206
224
305
177
116
176
234
267
309
194
277
211
244
198
289
160
161
347
226
220
235
218
238
174
208
219
158
201
283
260
249
230
252
167
202
152
214
222
190
215
196
219
254
246
278
225
194
145
234
192
299
175
310
233
243
218
301
243
176
244
231
327
208
280
269
192
226
248
168
255
259
260
283
154
215
274
198
228
172
259
196
166
212
170
179
266
153
246
237
212
181
114
263
315
245
184
179
285
240
224
271
211
241
249
256
153
153
272
202
303
179
180
181
275
214
213
309
295
298
180
252
221
152
263
229
244
197
219
173
273
242
242
218
204
114
126
173
246
241
198
291
164
274
188
222
221
168
253
314
208
228
196
242
229
251
263
235
245
218
271
250
170
257
248
197
201
231
213
225
245
116
151
291
181
174
219
176
265
279
204
250
273
280
271
251
222
114
202
229
240
215
229
175
171
203
258
206
177
202
168
274
296
275
302
289
220
253
271
269
192
284
196
223
188
253
232
214
214
171
223
183
233
226
227
219
247
231
259
228
236
188
147
341
265
232
196
281
169
114
198
324
208
237
238
241
204
269
191
211
170
237
206
310
373
220
236
247
306
219
267
276
267
212
224
219
178
216
276
225
209
244
193
208
155
214
242
262
241
258
209
249
288
306
150
249
296
168
258
202
253
283
240
175
196
269
252
267
248
263
147
225
195
202
214
241
237
247
268
212
205
225
169
151
236
175
159
152
205
251
246
243
237
182
199
251
189
201
255
190
334
210
198
263
263
212
225
235
256
233
215
203
302
174
254
234
207
309
293
199
218
220
207
218
202
176
283
249
212
318
272
226
238
230
114
282
222
177
192
269
232
232
285
181
179
156
296
211
238
211
196
121
250
225
217
250
262
256
142
246
252
222
265
290
263
254
320
219
303
237
189
207
328
243
160
280
275
212
294
219
198
314
249
240
246
160
198
245
301
190
160
287
189
262
239
114
211
194
298
212
252
199
207
248
248
229
228
234
161
325
213
253
276
166
235
310
233
225
193
312
333
195
126
236
160
242
192
303
165
226
179
205
181
167
293
281
262
204
206
257
206
256
186
250
230
228
238
279
270
252
263
234
216
214
139
280
156
236
171
198
233
158
244
223
223
223
232
233
272
249
217
181
209
212
226
255
262
259
205
195
194
276
190
202
246
114
245
160
168
220
261
212
202
252
192
236
166
318
328
219
192
121
231
206
179
287
223
189
222
269
216
227
214
245
233
246
241
233
195
245
261
210
140
235
207
266
248
262
250
223
324
237
239
180
247
262
170
218
166
174
166
237
197
198
126
166
273
218
196
218
199
175
193
194
122
228
241
249
271
170
282
215
184
203
227
315
214
227
198
248
229
204
133
240
243
261
146
208
192
176
236
130
288
221
238
324
290
275
212
148
346
246
206
257
349
173
181
228
229
222
230
219
217
310
239
304
205
195
152
197
299
114
225
243
251
255
278
295
170
201
235
243
144
309
198
114
188
168
244
139
229
166
230
219
181
261
242
227
312
302
224
171
198
181
291
236
116
114
220
161
244
178
205
202
198
235
233
250
293
227
228
357
243
233
283
227
184
233
170
212
244
215
281
326
267
311
209
193
237
271
275
185
173
217
210
151
285
302
246
188
166
114
185
245
228
149
189
170
246
238
288
200
262
167
214
198
195
207
237
316
225
181
218
232
187
276
241
306
241
238
186
279
270
168
287
251
154
220
274
217
246
333
319
207
242
181
235
312
210
232
239
144
301
317
240
264
215
168
271
226
248
225
165
149
193
277
257
201
237
252
181
209
286
173
183
217
201
232
214
210
243
234
211
188
116
205
264
204
179
194
139
175
264
169
327
234
269
202
277
275
193
249
258
204
281
227
236
241
233
196
231
212
198
227
324
235
235
322
237
247
242
200
181
170
161
238
316
242
231
316
256
200
219
138
227
217
169
273
145
230
180
223
184
197
106
216
193
226
221
225
316
285
217
206
202
331
246
198
181
220
320
244
242
198
194
282
235
211
278
230
265
173
214
194
176
209
164
194
223
229
144
157
186
172
313
202
166
209
201
214
202
219
202
195
249
287
214
108
218
179
182
206
128
257
262
250
231
192
169
217
239
189
226
224
176
224
221
181
170
245
288
224
172
224
273
227
239
277
218
226
283
222
258
193
198
229
235
185
241
185
192
251
196
266
278
239
298
252
230
339
241
260
245
238
248
235
197
180
301
202
187
255
214
173
207
220
237
194
268
180
180
185
198
228
270
243
184
189
166
283
209
139
265
194
207
154
228
195
214
298
265
168
204
206
219
299
201
158
210
279
209
257
231
258
199
191
259
188
184
263
202
286
175
233
240
233
241
203
226
215
239
223
216
237
241
251
165
212
304
214
204
201
189
312
224
269
228
233
235
238
209
180
306
175
228
226
152
241
274
225
241
180
219
212
255
218
259
208
244
217
179
234
243
238
198
191
187
174
237
160
212
209
274
258
251
317
207
180
278
106
324
179
223
171
214
182
256
202
173
221
181
254
255
216
238
178
194
219
212
259
210
248
227
258
160
206
267
189
185
229
191
229
134
295
303
201
270
247
218
208
348
305
256
280
220
189
244
193
229
257
214
272
233
227
217
158
194
188
175
189
201
241
184
382
245
254
203
152
238
250
235
206
205
276
206
249
209
218
228
226
232
239
257
304
223
221
250
237
238
212
259
194
201
179
289
274
235
168
236
208
193
270
240
250
192
230
251
157
339
305
249
249
269
178
252
199
169
169
181
231
278
210
252
187
248
262
231
181
232
228
166
223
222
237
200
170
204
238
185
193
238
245
162
178
205
114
235
196
346
227
276
154
236
240
153
199
250
304
293
192
219
178
237
188
256
255
114
251
223
298
281
229
193
246
231
233
261
230
219
305
193
195
219
245
230
181
191
231
247
269
203
211
203
293
233
263
205
251
269
188
211
180
239
249
250
306
243
114
292
238
226
257
299
328
239
208
210
244
267
246
208
200
197
259
114
210
199
256
233
168
207
259
296
213
288
201
233
181
213
160
211
235
228
198
304
158
114
275
174
200
185
198
223
239
265
228
160
259
308
184
185
264
211
238
255
139
227
185
241
251
196
225
167
252
258
156
219
175
203
237
301
160
156
196
307
182
285
276
178
260
342
196
220
186
229
226
191
189
151
231
220
303
205
233
196
194
181
170
198
206
262
333
323
156
160
211
252
199
203
213
254
304
325
231
221
194
278
293
178
249
266
246
192
217
254
152
226
171
186
196
256
304
185
139
178
227
224
139
328
202
251
248
289
182
198
206
177
252
273
181
249
207
173
232
203
167
211
266
141
328
230
265
260
276
285
218
262
175
176
226
191
204
179
229
150
250
168
245
193
191
156
212
195
249
185
145
283
217
199
190
266
264
209
342
242
242
152
144
213
239
221
258
231
194
203
194
265
263
219
182
311
238
114
189
254
192
282
154
167
212
114
332
240
229
216
206
231
194
215
201
200
214
210
289
184
195
200
231
290
171
197
209
303
231
209
254
217
215
232
161
258
270
208
255
239
277
218
183
201
226
335
220
202
282
217
223
220
300
225
212
260
235
298
212
165
158
275
250
183
222
216
226
213
203
337
218
144
193
202
224
219
210
276
279
177
210
168
227
274
200
248
218
232
212
253
213
208
297
246
191
226
208
247
199
328
224
215
216
210
181
228
223
175
198
218
244
184
197
246
172
298
235
245
176
188
223
251
166
126
180
245
216
233
282
186
251
240
284
260
237
202
302
175
224
207
160
198
210
174
195
168
200
192
255
242
221
184
202
199
230
114
254
202
137
237
185
231
264
273
284
213
140
246
170
200
226
195
181
263
160
253
178
269
269
234
196
209
189
192
222
260
264
265
227
297
154
161
144
251
284
214
229
206
270
189
211
291
225
168
176
211
198
250
243
205
258
238
207
325
333
228
260
187
287
259
173
208
207
221
192
229
238
173
184
165
211
178
231
167
244
255
300
255
182
189
257
219
196
228
223
236
242
287
214
219
199
184
178
266
216
218
169
208
152
235
213
282
233
239
233
253
222
130
225
209
181
227
194
291
245
261
230
218
284
284
205
255
192
223
247
178
311
226
247
158
183
296
191
284
225
194
235
365
277
222
228
205
269
198
152
161
259
287
137
280
179
218
171
230
235
245
180
304
185
259
366
277
193
247
211
256
239
246
219
178
312
195
237
180
194
198
209
229
207
229
225
227
196
186
239
239
296
289
230
226
192
160
247
179
270
247
126
139
219
180
256
265
262
161
145
195
276
264
244
164
139
182
227
268
159
195
229
288
198
218
228
209
210
268
204
263
173
244
237
186
211
257
181
274
210
182
198
244
261
229
242
207
292
234
209
257
323
242
154
251
333
229
163
196
201
210
260
210
209
126
273
275
114
187
240
232
167
262
222
240
223
207
231
184
198
271
233
272
174
332
162
141
229
266
220
246
236
170
196
286
205
233
171
161
297
215
153
304
220
149
241
230
221
259
225
253
171
193
235
233
224
245
260
225
219
269
204
305
230
250
168
238
190
227
312
212
181
186
250
222
214
175
178
246
245
269
182
202
194
202
208
255
114
297
268
130
231
201
189
203
244
277
244
263
229
196
186
238
257
235
268
213
177
286
242
250
272
263
241
114
239
201
219
193
281
272
210
294
270
184
205
201
233
252
195
253
257
222
183
207
192
274
235
276
256
192
245
193
246
240
228
237
186
225
252
235
257
186
259
139
283
363
114
266
219
209
144
178
200
308
224
214
197
198
205
227
259
311
283
209
129
220
201
222
284
210
240
263
186
233
184
226
203
277
192
214
183
244
148
205
253
252
222
291
247
238
252
285
156
221
343
152
183
233
162
170
219
172
170
167
220
221
166
211
205
248
198
246
214
291
221
334
186
243
192
207
218
239
200
257
180
186
229
235
283
262
182
206
275
327
298
234
238
161
231
240
218
222
183
212
276
219
134
285
304
276
224
268
244
193
237
256
272
206
173
206
181
283
243
223
114
175
183
284
276
223
233
210
262
175
176
281
202
167
169
213
215
245
219
222
188
172
152
218
192
174
181
229
257
203
154
269
221
173
227
261
190
245
240
205
171
151
257
300
148
270
196
213
315
263
211
204
258
172
214
223
269
229
198
269
174
217
256
275
198
188
237
279
193
268
259
221
205
235
291
248
203
189
230
232
189
220
219
170
253
297
304
186
275
183
269
217
211
251
217
181
212
116
197
205
236
186
203
217
291
175
252
267
287
191
231
249
254
198
209
228
193
253
218
116
128
155
229
252
288
266
311
259
199
200
211
159
239
232
154
276
201
205
227
292
285
261
303
314
220
214
166
234
263
266
274
230
185
169
152
281
240
215
201
239
188
234
252
180
272
228
247
222
192
211
152
295
195
295
205
203
278
291
217
235
158
206
291
235
274
200
265
248
194
239
262
202
247
219
243
187
255
263
173
223
316
192
213
192
192
247
294
301
114
248
231
252
261
178
269
211
186
154
220
230
171
308
178
190
217
177
193
217
250
222
116
198
246
253
205
207
152
243
198
193
262
274
242
269
174
273
181
208
179
181
355
203
280
165
230
195
168
251
186
241
214
312
198
222
246
192
236
209
218
290
192
200
181
289
207
268
206
169
210
209
188
153
176
171
197
249
185
228
242
254
239
182
221
245
250
146
289
170
252
246
207
222
238
207
184
214
178
270
231
217
151
242
190
304
279
275
161
243
290
147
194
203
260
265
280
233
265
237
178
201
251
215
178
158
232
281
215
245
214
204
221
275
108
237
315
214
227
359
160
180
208
204
271
258
252
275
287
316
266
265
191
220
229
206
221
186
170
222
182
175
229
203
116
200
195
260
179
316
195
241
240
280
156
239
170
338
239
195
206
236
215
195
202
208
238
238
188
213
229
188
173
269
219
213
183
292
168
225
146
273
187
286
245
133
237
190
257
196
250
233
191
195
212
181
246
288
196
227
221
206
168
324
232
281
272
192
212
199
186
238
175
282
254
253
245
158
239
245
278
208
252
194
267
211
252
319
218
214
174
198
243
310
198
186
237
210
253
192
282
238
214
170
223
327
286
219
219
263
253
208
384
192
255
277
273
272
146
152
236
145
236
227
243
270
236
323
192
209
126
213
216
264
157
164
288
282
267
278
165
269
234
207
208
233
245
218
264
175
219
239
234
274
217
234
361
257
145
201
198
206
260
221
207
310
271
294
273
258
215
160
207
200
237
223
239
216
254
196
270
214
238
254
144
169
148
211
166
188
221
114
232
257
235
242
174
215
207
184
321
163
114
192
216
271
234
253
269
239
202
158
225
237
207
215
170
216
114
205
192
270
274
253
199
121
182
205
220
181
205
244
174
186
211
207
198
252
266
164
165
227
144
269
246
209
239
260
220
232
213
238
152
195
229
192
289
223
233
156
262
309
179
219
175
201
284
156
238
254
219
231
214
206
214
175
284
204
210
218
229
114
220
244
221
275
234
224
233
261
114
226
334
275
149
201
231
214
269
206
239
207
342
207
270
249
228
190
202
126
211
265
237
269
210
300
287
126
198
230
272
260
210
244
164
213
248
251
333
180
265
139
190
145
228
139
157
205
191
258
164
375
170
198
223
206
198
213
218
160
243
184
192
258
229
202
239
232
290
214
198
181
227
237
190
227
219
244
226
206
186
170
144
170
254
322
252
261
213
200
201
241
204
252
169
229
241
247
230
221
242
260
173
210
196
237
203
232
301
178
263
251
301
379
176
206
256
216
206
225
215
308
300
196
274
245
253
160
195
190
226
227
204
192
207
170
195
201
266
161
187
225
218
241
160
249
220
172
198
266
225
316
200
252
158
254
196
204
252
194
249
187
260
262
246
314
264
196
179
170
175
258
160
207
299
216
291
229
216
240
213
246
296
252
189
156
250
208
255
183
283
210
231
329
336
225
273
270
257
140
208
183
233
277
235
215
219
190
195
168
250
247
227
230
304
253
277
237
151
190
144
219
218
219
180
151
305
292
360
221
252
301
301
152
277
187
241
199
221
301
178
160
146
212
204
272
219
240
198
285
317
237
172
176
207
222
161
202
234
231
251
271
234
295
242
237
279
194
197
176
211
258
263
126
212
213
174
229
228
203
168
195
168
253
246
228
192
179
259
400
281
198
183
202
195
244
217
228
279
201
240
240
216
189
233
224
232
170
154
225
208
235
247
249
219
180
288
165
315
231
197
237
220
279
233
108
226
251
200
309
195
160
218
202
201
266
156
213
240
197
264
338
114
191
203
257
226
299
158
262
262
178
235
228
229
220
154
204
223
203
165
303
206
233
175
238
270
299
281
273
233
193
216
192
188
284
163
226
168
219
247
202
266
238
180
237
198
283
259
231
316
259
200
174
337
146
214
221
198
205
163
214
220
247
254
238
139
227
313
152
201
241
222
242
265
285
254
211
241
205
171
213
156
208
312
175
208
268
285
189
215
220
229
184
225
232
227
197
198
290
258
145
230
258
210
164
301
184
239
178
262
220
243
229
241
166
260
232
144
237
273
216
273
218
212
237
194
205
314
225
189
247
282
195
242
299
255
184
166
284
242
308
284
151
219
283
266
228
252
147
240
182
154
209
183
283
238
184
195
217
197
257
214
239
196
245
234
275
232
139
250
215
227
231
327
195
256
217
174
214
207
242
177
255
192
108
159
277
161
228
205
114
276
236
217
170
226
286
171
197
201
248
204
211
240
220
289
228
219
250
219
253
212
199
200
224
213
269
259
181
186
244
244
253
285
176
235
199
154
185
252
294
338
251
220
207
261
211
197
262
205
338
149
238
212
278
114
258
284
178
196
284
183
170
243
264
258
219
290
235
219
264
263
217
202
183
217
208
233
232
274
174
199
242
214
255
228
169
197
214
284
285
244
259
277
204
164
114
233
291
249
223
188
282
200
286
225
233
180
139
231
218
218
169
192
273
256
196
189
209
191
227
266
307
257
235
270
204
214
162
182
269
244
267
318
196
232
272
192
227
305
261
183
280
172
132
263
237
263
315
270
277
187
224
222
260
145
292
198
206
181
289
232
233
192
329
145
236
209
245
225
242
185
268
198
116
189
146
210
238
268
339
229
251
186
254
271
256
250
199
178
279
198
256
229
195
305
246
213
181
210
191
200
253
162
287
240
212
214
174
308
345
215
247
327
262
240
199
256
253
210
199
186
286
178
297
229
295
260
154
300
233
279
189
228
253
114
160
251
170
176
264
208
198
202
202
277
198
259
160
253
196
223
185
182
251
280
214
189
322
176
227
194
239
172
184
248
297
199
201
223
160
371
229
250
164
239
302
241
246
203
152
249
274
213
233
287
229
239
230
200
231
206
239
246
277
166
217
200
312
292
311
227
246
285
203
188
303
232
280
164
219
234
210
289
184
209
232
231
286
225
229
242
148
258
173
157
211
182
220
235
235
256
219
228
215
300
210
250
229
299
229
223
331
234
193
196
238
116
245
233
279
254
279
208
199
266
264
223
331
247
242
239
291
200
215
271
200
255
188
302
233
198
230
192
239
201
160
216
177
215
208
181
227
248
247
307
203
255
236
245
263
210
243
166
230
173
297
188
201
169
145
222
204
169
263
209
178
194
228
225
213
271
245
194
251
178
212
278
231
225
223
258
196
218
237
189
281
215
201
194
253
228
114
183
231
220
235
253
190
161
114
200
212
174
188
244
106
248
175
223
191
207
174
245
205
314
200
184
213
253
203
163
156
236
172
193
205
242
303
195
261
210
232
208
257
250
233
229
179
212
240
165
198
156
201
213
218
204
335
238
226
280
170
263
224
279
229
204
185
208
254
219
289
292
221
215
191
255
145
259
226
203
237
205
252
280
291
217
192
242
200
283
234
258
244
215
255
195
312
242
173
224
287
193
174
272
187
297
198
255
114
260
224
217
310
181
189
263
199
260
114
204
270
171
206
188
183
258
160
172
302
242
302
176
233
235
175
261
240
222
187
305
314
193
241
226
247
246
126
201
190
241
199
173
238
224
253
219
167
232
114
280
229
241
203
226
254
163
224
245
161
249
166
240
222
293
235
257
298
308
265
158
301
192
312
156
187
202
198
251
177
238
315
215
168
236
195
221
228
238
154
278
264
222
271
192
263
242
219
207
300
243
219
170
198
217
176
235
245
173
187
244
216
231
238
293
292
221
232
242
200
253
153
342
191
217
258
170
233
199
214
279
240
303
219
217
250
245
290
214
169
228
226
166
240
214
256
325
261
288
190
236
252
217
152
212
238
328
268
198
216
178
182
269
261
208
332
279
152
260
114
239
219
219
233
209
206
157
218
253
219
158
245
276
200
178
271
212
242
266
254
177
283
241
235
262
167
280
250
206
216
194
205
195
186
178
268
160
226
216
347
251
283
248
262
188
281
259
146
293
242
293
189
299
203
266
250
212
297
173
319
226
314
300
234
234
216
223
195
240
218
152
198
195
241
225
222
145
189
213
223
162
245
114
263
181
269
256
174
178
286
192
114
209
197
252
199
157
277
199
221
254
209
229
193
273
197
207
240
224
241
235
211
188
250
233
225
205
262
201
276
289
223
199
266
262
260
228
155
253
238
114
228
266
173
239
206
235
209
296
158
219
195
193
247
241
264
275
205
218
226
249
175
170
225
245
237
279
184
281
114
182
249
198
185
189
321
306
250
265
250
242
237
260
266
207
262
267
213
182
233
293
245
155
223
114
208
171
254
238
263
286
219
156
202
180
262
237
249
266
250
303
252
201
189
219
251
255
356
191
187
286
154
245
243
192
205
220
222
184
250
241
212
192
212
329
191
254
214
154
191
213
189
290
170
159
185
236
306
312
209
268
173
174
167
249
269
192
144
255
283
220
267
204
216
238
258
240
237
350
164
185
201
263
263
287
226
199
186
215
214
203
193
208
156
186
170
269
186
232
237
258
251
212
206
220
114
151
188
252
319
197
241
195
279
178
273
264
205
215
234
211
290
270
229
231
116
225
220
241
262
190
175
253
212
231
283
209
114
182
287
191
236
229
180
170
231
215
230
249
227
202
203
260
192
155
172
232
248
204
226
358
255
278
286
232
183
259
188
204
212
245
313
261
280
199
306
222
249
295
297
203
173
108
284
226
173
248
247
228
271
144
158
249
204
145
243
180
229
265
283
215
235
255
184
281
262
195
192
234
178
225
268
177
187
121
229
229
228
234
265
254
253
215
218
226
254
175
246
249
155
224
261
222
174
235
152
196
211
297
235
160
209
213
253
277
178
222
242
195
217
308
231
200
316
170
268
198
220
284
299
178
242
295
181
160
215
235
189
160
257
265
114
284
246
241
206
230
178
219
242
200
192
221
282
255
162
180
227
311
316
248
248
190
253
197
193
232
263
264
210
162
211
126
222
306
181
310
277
169
221
217
181
316
160
204
156
161
273
211
246
171
281
192
224
176
133
247
284
287
213
203
210
229
316
247
238
260
261
306
192
237
296
274
256
194
185
161
219
156
331
272
220
213
247
238
202
274
126
208
175
186
232
257
130
212
326
159
228
257
151
229
235
241
170
209
291
208
228
251
165
286
214
173
305
183
263
181
140
212
243
289
248
170
228
195
209
233
253
156
288
288
236
180
234
252
221
219
194
173
296
209
186
225
296
246
252
220
208
185
173
175
265
263
219
255
209
225
244
205
277
224
181
250
273
188
226
202
148
230
246
311
145
177
184
270
214
228
256
155
203
299
260
279
201
233
178
178
194
218
176
148
236
270
227
222
208
275
162
229
210
276
257
293
181
254
256
241
244
121
257
215
291
146
174
198
227
229
261
312
267
270
222
204
167
122
191
246
217
199
258
185
299
222
248
218
188
170
178
244
315
208
221
194
272
181
149
233
297
259
213
192
301
192
206
249
240
261
228
299
226
241
272
296
161
144
108
361
159
299
275
192
262
182
264
231
197
263
244
287
248
242
314
180
170
248
273
204
189
317
249
190
182
266
224
206
261
183
180
296
283
207
196
214
160
210
295
218
156
160
203
207
177
241
214
221
160
285
214
247
152
262
314
258
311
218
216
167
192
216
303
255
208
229
279
198
171
181
170
301
274
251
213
188
176
241
126
274
237
168
238
234
205
215
259
204
284
276
261
259
133
292
241
371
193
222
225
132
174
261
218
258
295
181
233
284
232
251
256
247
240
218
278
184
272
248
217
264
198
196
166
171
210
181
192
225
163
278
178
310
212
240
179
226
243
291
190
220
186
235
221
193
199
188
241
305
146
197
311
211
224
114
302
302
253
285
147
221
315
248
273
221
158
247
216
248
208
234
211
237
289
191
250
289
159
207
279
234
253
252
235
265
284
247
161
207
248
202
170
180
240
211
202
196
196
209
218
200
183
229
280
203
256
145
191
258
161
177
158
229
236
214
202
226
170
205
209
195
208
200
251
275
114
242
304
230
201
289
250
148
232
230
203
215
250
269
248
221
198
222
189
197
234
225
273
277
154
249
209
220
192
217
235
228
268
156
268
184
240
212
214
215
259
260
226
276
239
297
176
301
183
237
214
165
202
189
225
267
202
220
222
156
251
260
204
316
299
168
192
288
170
234
237
253
247
156
176
320
243
238
262
268
204
188
314
242
249
243
173
247
267
229
211
258
130
236
170
217
295
208
244
200
234
249
282
263
155
192
305
231
162
228
116
274
221
245
243
251
277
292
277
255
257
168
173
228
288
211
214
195
194
260
139
186
307
201
218
208
187
196
230
185
275
234
222
129
193
285
288
265
196
219
216
202
184
228
216
220
252
222
248
186
233
236
235
256
187
194
243
256
289
297
278
222
210
209
229
232
130
246
243
190
240
293
179
293
184
199
167
223
211
307
229
238
242
274
233
192
243
226
160
205
219
198
185
177
234
211
189
272
163
230
160
283
173
202
256
233
167
211
214
211
316
195
217
266
256
133
209
224
213
233
236
216
301
246
244
232
139
142
210
261
276
225
200
247
271
200
246
217
193
186
271
221
234
228
202
227
263
225
230
266
289
170
175
246
246
199
247
114
193
210
231
172
204
249
199
261
230
210
147
235
256
198
290
162
170
217
141
269
195
240
233
215
220
255
221
267
298
209
219
181
156
266
194
133
198
255
259
162
167
238
214
207
274
264
214
244
268
278
221
228
264
214
200
196
268
154
279
240
170
177
227
114
114
250
190
227
185
211
164
175
163
259
266
266
244
114
241
221
223
211
209
198
238
186
139
235
244
324
227
200
173
252
173
221
229
208
249
266
185
262
276
216
176
223
203
302
198
146
218
239
195
292
253
224
257
210
308
252
166
391
238
207
237
147
200
246
270
177
250
275
210
250
246
232
228
213
247
310
152
212
242
276
176
237
170
172
179
242
243
267
156
174
214
255
211
248
139
204
179
230
243
194
181
217
245
229
293
121
190
275
200
239
189
211
209
237
180
218
217
232
173
220
181
220
229
265
146
234
283
214
213
301
182
261
285
180
173
219
256
192
180
181
152
179
240
207
266
260
244
219
270
294
303
214
251
234
255
265
189
247
317
346
279
221
169
249
279
133
166
116
213
261
301
222
194
222
183
293
220
257
247
306
351
264
195
176
212
214
245
238
235
242
126
303
175
315
234
252
249
236
263
129
297
205
299
218
283
208
192
168
214
189
168
184
221
213
209
232
253
159
207
298
243
213
260
197
221
296
158
232
222
198
191
246
214
295
291
338
200
224
192
273
266
218
228
190
241
281
248
203
286
192
287
238
248
169
176
295
212
167
258
356
217
272
158
249
265
218
289
212
263
280
189
222
173
276
191
206
202
207
220
247
213
206
157
196
253
229
307
244
235
256
156
189
260
220
162
301
236
261
250
255
188
180
223
154
256
232
251
242
283
219
144
240
175
355
284
179
192
203
161
210
194
220
231
301
114
190
174
225
263
277
210
245
208
309
170
217
220
209
181
244
181
235
196
249
259
274
188
183
283
217
201
241
206
225
272
237
240
275
147
279
158
266
275
290
161
213
209
178
215
223
239
151
266
255
198
283
235
178
211
235
282
251
148
286
185
165
230
195
333
213
252
246
215
211
230
259
230
240
284
293
158
221
207
184
310
309
243
252
219
291
196
183
216
192
230
313
268
311
232
193
214
244
229
234
255
129
242
207
169
186
265
170
210
192
242
171
164
279
233
259
246
234
270
191
174
198
196
247
251
343
183
139
160
218
226
190
250
205
236
229
208
259
172
282
214
179
219
207
217
252
232
231
210
350
256
156
189
204
191
179
247
271
211
194
263
284
260
256
209
162
191
190
235
257
250
190
189
171
229
219
212
201
295
214
195
273
356
235
217
243
247
194
265
197
235
277
241
277
129
178
209
205
265
173
252
211
219
173
161
276
306
245
179
253
222
194
238
205
224
290
262
322
212
166
202
257
317
183
214
245
318
233
168
246
154
258
271
194
211
319
260
184
277
166
201
243
214
162
173
252
239
209
203
251
182
245
256
256
171
210
207
228
233
265
198
146
236
200
268
195
232
236
200
224
192
291
297
221
179
223
266
233
295
198
161
302
160
233
211
219
234
249
232
171
238
283
213
261
201
251
234
200
215
161
207
235
170
218
203
277
247
284
160
196
208
301
306
305
306
185
233
303
205
267
184
220
243
139
186
241
220
220
233
241
159
167
235
278
233
196
232
211
268
175
238
160
186
286
226
254
233
267
232
276
189
248
180
251
263
195
283
300
202
250
220
231
258
190
301
192
285
181
318
199
205
181
155
230
189
215
217
197
240
231
262
213
193
253
198
181
266
204
382
318
179
196
235
223
308
247
250
155
270
158
225
116
223
200
280
162
170
195
294
180
234
268
246
173
194
253
239
168
270
303
217
193
226
164
302
232
279
204
190
221
210
280
288
227
255
215
167
179
260
164
258
231
213
276
190
237
164
202
263
242
283
208
229
226
279
249
174
152
222
219
295
221
296
180
274
270
203
165
193
106
192
324
161
284
160
261
265
252
200
242
210
224
247
169
187
149
182
296
263
156
172
185
200
207
242
191
209
164
169
227
257
209
278
229
279
214
222
292
206
227
224
289
233
178
278
165
256
286
141
241
204
173
183
263
247
162
299
213
261
262
235
198
196
276
254
189
252
234
227
216
256
229
230
235
269
216
275
162
173
238
219
224
232
280
234
257
252
266
283
225
246
212
228
292
235
256
214
206
240
297
240
194
257
211
254
283
233
216
219
234
230
158
331
252
177
162
287
266
222
276
254
262
208
163
222
181
179
199
343
254
264
178
231
241
270
252
227
190
259
195
289
192
243
159
264
189
218
302
242
165
236
192
211
209
264
246
191
205
272
242
215
180
281
226
276
247
233
254
308
280
222
204
210
260
194
191
241
290
225
246
290
252
144
282
241
257
316
242
184
210
195
217
233
161
158
334
281
323
236
204
245
224
209
303
175
130
234
193
149
201
207
212
262
252
160
246
291
114
193
213
250
173
161
181
170
198
197
175
173
212
221
217
227
222
224
154
257
195
192
291
225
235
243
222
126
249
199
260
215
210
249
245
206
229
180
241
263
172
239
301
148
204
181
262
254
213
230
216
176
193
126
257
174
212
195
295
306
248
170
246
220
167
160
243
303
254
242
171
236
218
146
186
172
227
191
233
205
258
226
181
235
249
171
222
144
305
252
295
199
292
170
322
217
295
192
228
184
171
208
249
191
191
202
225
261
293
263
234
216
308
214
251
205
271
213
262
197
191
203
244
191
200
218
178
197
287
251
194
148
262
195
210
249
361
270
242
192
152
207
188
234
330
214
207
298
251
330
218
221
253
204
220
256
179
241
235
257
198
311
226
267
250
268
286
189
242
199
269
221
259
225
147
222
179
224
253
170
289
297
213
252
182
234
257
232
156
203
270
184
249
221
245
205
207
208
114
244
229
208
244
238
201
200
193
161
210
236
259
170
157
288
205
153
266
242
191
216
210
183
265
298
238
218
114
225
240
225
244
194
266
255
267
210
246
170
167
235
181
316
234
284
165
152
188
251
189
233
331
205
228
286
216
253
182
297
191
204
240
214
219
198
196
192
177
242
235
184
228
350
203
221
234
212
205
197
185
208
183
200
233
211
192
223
230
187
217
230
197
248
152
179
227
176
236
160
310
170
243
255
353
272
145
173
310
229
224
180
299
203
240
215
227
185
222
231
183
369
194
318
180
241
242
166
160
114
184
169
330
180
274
276
171
241
249
215
188
186
174
259
146
238
202
271
252
326
178
193
165
277
238
208
199
208
195
262
152
204
268
230
314
216
289
281
211
228
212
199
272
248
160
219
227
179
288
202
224
259
192
250
218
309
184
126
245
266
237
261
199
116
229
193
281
281
211
301
203
157
234
257
176
276
238
279
212
158
235
205
294
158
278
267
218
265
129
262
265
252
256
173
253
251
216
264
259
183
215
298
200
220
208
216
232
160
310
224
219
232
249
268
161
213
180
270
218
273
238
176
175
244
226
195
182
214
183
176
164
116
218
254
208
156
208
253
130
189
234
198
220
222
177
193
145
242
114
353
174
223
256
299
157
238
227
275
267
229
230
188
222
196
337
168
245
281
204
245
197
251
223
212
232
275
251
264
235
281
279
276
263
198
225
308
156
313
265
223
210
293
226
321
236
214
177
196
293
223
283
225
151
209
222
241
211
256
245
208
239
246
253
243
235
174
267
247
281
195
195
323
271
195
257
205
313
204
197
200
175
222
184
204
189
154
253
234
219
207
194
263
300
303
161
237
230
231
260
207
202
177
188
212
198
198
264
226
250
278
311
236
203
243
257
282
230
219
114
188
173
178
185
190
175
189
199
249
145
148
243
261
212
260
182
200
228
150
253
305
290
271
218
196
210
250
252
259
236
267
197
190
175
200
247
183
166
189
290
221
269
235
213
237
208
269
269
186
215
232
222
232
148
216
346
237
192
227
176
309
275
250
306
190
187
292
243
186
208
209
347
226
286
243
186
129
222
220
265
215
266
174
179
243
209
224
257
158
207
254
157
248
265
260
177
192
280
169
189
159
206
189
219
219
191
166
202
266
300
214
221
192
235
221
202
191
312
273
278
230
242
164
285
217
158
209
202
248
152
242
241
162
239
187
231
197
249
219
283
205
235
250
290
287
223
299
238
211
176
192
220
266
293
160
260
197
126
197
255
213
145
309
293
171
170
233
209
251
261
254
247
239
245
193
207
210
200
290
288
189
174
226
259
221
144
271
214
243
240
247
191
261
171
217
254
241
187
261
181
193
230
178
241
281
228
198
225
200
193
180
219
204
223
273
216
218
156
164
253
216
232
220
219
276
219
256
213
173
324
288
191
207
194
287
259
291
160
198
260
180
160
225
226
262
231
268
214
187
160
208
219
198
189
216
363
202
227
200
193
241
251
194
215
241
191
156
286
221
218
220
246
269
216
277
146
188
181
170
211
225
167
186
211
228
205
210
256
235
291
317
217
180
246
265
207
214
283
154
212
251
137
231
237
228
206
295
198
227
114
259
194
183
219
236
220
156
248
160
209
256
233
166
208
299
265
220
203
214
217
214
233
144
218
237
245
256
231
178
272
213
226
161
195
277
253
261
211
209
286
270
210
191
222
264
242
182
293
259
251
281
283
210
226
291
254
237
316
286
271
283
160
245
270
256
165
225
232
161
236
179
192
205
270
250
181
304
236
179
234
203
207
302
106
192
251
172
210
275
157
156
222
265
246
377
210
215
239
236
178
162
234
156
167
242
319
162
226
181
190
195
204
205
329
139
156
145
233
270
232
212
241
156
275
169
190
208
257
155
239
290
217
232
267
194
160
175
235
246
270
180
237
243
190
154
272
177
313
181
184
269
255
199
251
248
210
246
237
154
283
180
252
206
197
176
232
171
237
175
298
237
191
212
209
156
243
241
192
227
279
235
255
257
277
288
179
156
229
231
262
192
229
241
264
280
204
114
240
228
160
249
259
253
235
364
212
219
249
201
317
333
300
186
116
181
184
217
255
303
247
206
182
228
237
219
261
181
332
316
246
177
214
251
309
168
223
170
171
275
139
171
203
217
288
168
214
274
149
235
218
247
252
195
227
209
213
222
237
178
240
252
241
245
320
213
198
254
240
208
282
241
289
212
218
254
239
207
269
208
222
207
181
224
159
156
246
254
210
223
189
318
307
259
279
222
223
201
207
170
236
212
226
199
263
296
211
165
244
303
205
221
175
106
234
295
267
201
126
279
252
167
316
294
232
244
291
193
304
233
238
282
235
166
190
167
296
151
235
231
249
266
253
261
276
173
189
198
250
184
218
226
255
293
213
206
182
234
225
226
199
144
227
244
175
231
165
200
214
289
266
273
252
261
307
213
208
145
224
233
178
205
255
189
258
249
293
200
345
340
282
261
195
305
263
238
204
139
186
239
223
193
139
155
151
256
202
183
265
245
243
227
228
276
266
158
270
184
215
238
187
264
233
242
207
231
316
215
286
288
208
262
249
238
203
282
239
246
244
242
212
297
214
148
188
181
259
194
249
147
231
114
283
240
236
231
234
209
236
199
243
268
262
179
296
315
225
319
323
210
288
194
270
301
210
253
246
149
247
220
272
211
246
156
174
248
217
210
305
211
248
237
274
249
213
294
229
232
234
261
182
174
233
290
173
192
190
275
179
196
227
225
211
184
179
227
114
227
172
248
277
197
237
311
200
313
209
242
169
196
186
146
271
208
145
236
204
339
159
253
201
208
262
167
180
254
268
255
170
218
265
286
209
170
241
217
221
280
200
199
259
290
281
114
233
231
186
275
265
238
240
199
198
214
308
250
201
152
246
259
228
285
198
237
211
205
251
220
253
175
167
202
235
224
140
240
212
159
257
333
235
166
205
266
253
210
248
223
202
288
247
229
171
199
164
192
218
185
336
256
249
229
149
192
212
180
262
238
251
199
228
243
198
169
226
198
240
221
244
244
195
302
221
230
227
225
248
190
244
227
330
287
157
121
257
169
326
229
243
196
273
237
251
267
267
294
190
196
152
251
305
222
235
225
176
289
258
176
170
228
201
158
202
220
243
265
164
273
181
193
173
151
235
224
212
264
214
222
239
207
244
225
239
193
214
195
184
248
263
299
247
270
193
240
198
258
227
270
223
220
234
288
288
213
292
209
186
165
182
174
193
239
211
241
200
235
246
250
151
230
224
289
133
170
205
261
179
213
291
295
294
318
241
160
265
283
231
302
265
288
268
279
229
178
272
180
222
252
184
212
241
150
318
170
265
244
221
246
256
311
181
225
181
263
174
275
223
253
166
239
189
218
283
261
178
245
204
249
267
271
266
241
187
298
279
247
244
292
218
302
208
190
254
201
195
275
242
208
273
258
238
193
166
152
238
228
278
173
367
193
303
116
223
233
255
292
220
199
311
244
250
189
207
208
265
208
194
194
203
235
192
219
204
267
290
239
251
257
155
201
327
191
160
196
268
203
212
178
295
196
189
266
263
178
251
203
268
170
232
254
253
162
202
296
263
182
251
235
306
185
246
309
258
335
158
229
148
260
218
257
214
167
189
187
244
191
246
257
201
233
230
158
218
266
200
235
198
267
285
173
239
232
274
245
149
218
278
241
226
270
172
273
258
211
246
219
279
173
231
280
247
168
215
186
258
166
172
279
209
159
171
175
224
225
277
250
233
211
202
243
241
281
292
246
318
233
275
298
240
228
245
198
232
244
322
231
239
221
240
249
275
222
242
190
188
173
284
195
214
231
291
232
191
335
260
231
260
304
172
227
262
266
216
263
229
246
245
249
248
268
292
259
237
272
251
223
234
161
240
321
156
212
270
206
278
206
221
232
238
205
258
212
199
219
276
215
181
178
126
229
228
221
184
239
220
259
184
160
253
269
217
175
249
180
177
222
249
188
249
151
179
174
161
241
264
164
189
245
235
193
191
254
245
229
318
280
218
195
249
209
218
232
266
173
273
236
255
206
284
238
157
324
231
226
232
268
114
163
215
157
144
215
260
258
260
213
221
209
215
185
210
228
270
189
244
202
191
130
223
241
246
184
224
238
273
286
296
158
198
180
168
172
290
227
192
229
325
252
196
228
253
180
207
157
318
219
201
292
147
219
241
188
151
269
244
163
194
199
202
257
183
191
242
262
239
162
216
309
281
114
189
206
288
281
266
170
236
234
214
209
253
218
278
213
279
217
241
167
166
251
244
223
265
147
257
174
195
203
155
249
281
262
337
322
265
139
262
232
178
309
173
247
232
265
233
197
144
152
185
209
234
231
126
211
208
337
304
256
191
246
326
169
217
272
219
192
170
259
187
168
284
239
179
218
263
221
233
232
254
270
274
261
249
239
175
345
214
284
223
235
171
208
280
152
182
245
254
202
193
247
239
170
185
225
240
214
212
270
256
285
216
243
121
187
189
169
217
188
281
243
106
211
260
334
295
202
248
225
209
187
235
186
281
176
303
166
202
204
189
178
203
176
256
201
250
300
229
248
243
219
276
254
145
235
267
214
235
206
230
237
212
214
250
176
281
191
302
255
170
277
192
195
263
173
286
349
269
262
239
275
172
277
198
241
309
158
208
181
165
278
178
237
181
221
278
250
146
129
307
116
199
151
275
169
223
274
226
242
219
144
320
221
169
190
255
280
260
237
230
229
233
330
272
242
212
276
182
301
202
315
302
196
226
186
327
275
190
244
240
145
188
286
170
180
219
282
304
254
297
240
254
208
175
285
231
250
303
233
285
179
257
206
198
241
283
193
202
223
171
181
193
229
207
209
223
289
197
240
275
211
262
212
160
232
219
225
237
114
214
239
255
160
244
258
172
228
191
220
129
170
210
184
281
227
182
170
214
241
229
210
203
227
192
270
232
250
214
216
285
174
207
232
137
263
231
215
218
354
250
200
199
229
149
213
208
245
181
236
208
263
351
353
239
179
195
311
154
307
270
222
285
224
213
223
228
208
114
234
191
229
208
254
325
220
233
176
191
309
276
208
250
178
308
219
215
256
239
195
240
228
204
232
297
285
222
273
245
242
198
263
114
252
184
161
248
189
222
220
114
263
318
238
172
200
266
216
268
158
284
192
293
251
225
188
169
161
233
212
277
244
145
169
185
190
202
209
261
214
182
189
237
238
177
217
251
215
200
274
179
330
173
234
159
222
203
231
148
189
195
239
245
234
194
206
243
191
152
258
151
271
242
178
235
238
246
209
247
149
381
206
327
216
228
262
243
214
220
185
186
207
236
234
245
149
286
196
262
256
225
255
235
256
231
214
261
200
171
280
273
197
181
200
242
193
223
337
290
286
202
268
349
214
114
235
239
241
156
278
184
252
230
250
114
196
228
170
195
265
149
158
207
174
254
145
227
265
163
247
158
310
174
234
199
245
199
222
243
177
250
219
285
215
235
323
191
205
269
221
279
247
187
253
207
242
156
190
279
280
228
147
256
271
169
278
211
297
194
260
230
250
234
362
207
180
235
233
233
256
276
220
226
236
214
198
154
175
320
308
206
166
203
316
241
151
243
190
263
185
290
201
197
176
254
261
174
311
116
236
268
151
206
270
139
226
114
167
211
200
255
216
253
211
267
196
248
225
203
266
195
214
192
215
182
226
184
223
225
232
214
239
182
253
233
187
254
199
228
244
251
233
201
184
167
185
158
245
212
114
234
243
171
200
168
320
191
235
243
236
234
319
296
192
228
224
243
309
182
174
242
268
215
218
174
217
253
114
206
192
186
288
262
261
306
182
227
238
239
263
236
211
204
270
235
270
174
203
279
271
212
195
190
316
268
282
165
231
225
219
229
269
201
172
201
291
186
178
228
239
292
256
212
198
204
260
219
158
296
156
187
161
193
270
225
223
284
316
280
162
235
227
244
261
202
197
212
267
238
371
242
194
164
244
260
242
226
223
182
245
114
265
162
195
155
215
268
194
230
241
212
225
229
221
279
211
290
173
203
275
221
203
246
199
247
305
235
269
267
256
198
233
178
218
238
223
214
220
206
240
222
244
189
192
208
228
233
266
178
213
228
229
215
300
247
205
182
217
239
226
176
262
200
211
297
243
276
121
294
272
170
212
108
164
282
222
194
235
211
180
168
262
198
303
171
145
178
258
278
233
205
190
197
248
233
192
223
166
144
114
200
225
288
298
173
196
206
224
239
311
211
159
253
205
198
207
208
177
211
212
187
229
194
114
219
209
232
218
252
234
199
175
226
222
256
160
172
206
227
139
234
250
289
170
179
263
220
196
285
187
227
228
175
149
160
253
229
245
209
270
223
231
237
211
184
242
297
207
178
185
310
230
206
256
220
181
208
209
207
178
231
332
178
196
204
205
285
274
223
248
261
184
283
174
321
215
188
254
161
296
285
251
208
250
280
281
206
277
181
336
264
296
209
372
210
239
182
258
219
147
216
225
250
263
242
156
181
223
346
249
246
239
209
173
215
232
213
250
212
114
240
189
198
220
222
256
275
346
208
221
220
180
114
309
199
253
211
330
246
178
243
148
152
212
191
255
267
226
228
254
198
208
209
342
175
211
256
242
146
211
248
301
259
185
293
178
301
174
204
192
305
205
194
230
162
185
279
195
249
271
194
224
190
248
236
261
206
246
284
231
217
145
189
244
227
137
255
285
219
234
193
218
206
255
167
180
221
214
227
262
238
269
211
178
228
307
287
203
221
183
218
243
114
201
225
211
222
247
265
151
279
232
116
253
153
282
184
234
218
147
221
222
231
241
245
195
261
258
205
237
218
213
298
202
211
269
290
306
114
206
253
228
268
254
270
149
173
217
289
244
230
223
211
239
305
219
188
240
170
249
178
178
234
288
201
205
207
193
229
225
191
201
217
174
153
233
213
173
229
178
207
139
287
260
286
229
190
242
311
306
251
235
309
173
185
258
181
294
206
329
274
175
285
233
178
225
207
192
299
243
266
208
197
236
173
198
144
157
202
314
275
319
283
227
338
199
212
250
255
220
166
244
231
202
290
175
286
282
243
272
328
190
214
227
268
154
192
326
220
187
178
206
329
151
228
245
203
140
247
279
257
257
114
184
230
304
244
191
245
182
203
183
250
232
208
266
262
250
173
222
185
175
183
244
173
250
227
315
282
182
146
183
203
300
202
182
219
213
141
241
235
227
234
240
271
207
237
205
183
241
271
230
161
194
260
246
263
212
220
198
190
174
306
223
184
205
239
179
128
282
262
220
260
260
258
242
175
196
199
165
197
333
151
331
183
286
292
340
245
223
238
260
166
233
235
314
239
263
263
335
266
288
246
230
197
215
272
212
319
220
232
171
177
243
114
281
253
239
250
216
275
207
179
245
241
251
228
244
282
217
190
234
238
176
232
223
217
252
225
204
215
178
182
247
287
277
251
213
190
253
214
220
199
178
222
237
236
187
221
242
279
230
258
292
220
206
230
172
297
250
186
299
251
195
326
294
271
147
254
114
173
209
200
205
219
271
201
201
183
211
173
114
346
246
215
179
231
238
221
166
157
191
372
170
269
228
235
212
245
201
232
317
228
181
205
220
272
299
213
216
236
291
245
222
302
139
201
178
274
289
195
193
224
157
179
198
267
338
214
231
158
240
223
224
314
170
202
250
220
220
183
199
204
202
231
220
219
161
211
250
217
217
233
173
273
202
255
294
168
267
296
181
265
223
220
318
196
259
228
235
195
266
228
260
233
233
114
253
149
285
159
157
210
234
256
214
236
266
243
212
235
245
221
234
211
231
295
209
204
266
239
253
252
182
225
242
212
250
175
242
203
192
169
275
215
199
116
231
213
183
239
223
226
174
196
192
169
222
255
145
165
275
260
246
256
223
171
185
207
298
193
162
283
274
170
174
314
175
208
172
305
114
215
180
226
243
232
231
139
228
205
335
304
158
218
146
188
257
223
277
250
262
225
255
181
200
196
205
220
170
228
192
185
303
209
213
211
229
202
185
259
196
199
273
218
203
181
213
154
292
222
188
262
121
255
202
189
204
311
235
263
116
327
248
206
289
298
285
238
204
139
208
237
229
203
174
274
208
230
273
196
246
234
233
228
193
273
175
155
219
168
151
246
209
208
206
295
186
172
277
249
323
299
227
237
247
287
207
198
279
245
250
134
311
106
206
320
240
220
178
176
217
241
284
173
175
350
238
226
233
184
237
203
239
267
284
255
225
214
280
221
224
206
219
263
207
197
209
231
264
160
255
178
245
195
270
231
222
220
289
202
223
245
251
154
242
217
239
242
197
265
303
211
170
268
238
170
185
256
245
157
240
210
177
220
242
298
227
174
311
257
364
199
230
240
195
230
198
207
242
256
166
149
228
179
219
216
192
197
243
181
282
165
251
366
165
167
209
231
130
194
283
203
229
214
271
289
225
331
184
149
208
235
231
205
242
242
185
237
239
329
257
165
218
214
247
280
243
260
192
229
233
195
256
170
268
151
259
165
219
193
196
217
209
219
181
177
212
313
247
201
203
242
145
161
278
278
237
291
169
232
242
209
189
197
266
164
114
210
225
267
207
243
208
256
152
182
191
194
256
243
186
202
335
257
183
205
222
288
247
200
252
255
299
211
182
217
240
204
246
192
188
213
129
264
230
258
289
249
218
249
152
194
195
213
190
263
307
241
233
266
213
271
261
191
189
172
168
201
191
330
169
216
206
185
261
224
213
246
171
275
198
230
256
219
231
213
247
238
162
204
186
223
167
198
184
192
222
318
247
196
279
287
230
192
189
198
217
286
277
186
221
174
213
267
254
207
213
311
122
303
192
232
257
249
226
237
272
185
133
254
232
184
320
231
276
328
191
126
288
235
209
230
274
195
286
272
168
272
238
152
266
236
200
191
281
170
148
174
215
287
195
209
284
213
203
246
227
270
198
206
249
172
178
273
211
187
188
180
209
189
307
336
206
198
273
232
171
129
152
190
139
218
254
218
141
285
265
270
255
245
273
228
202
152
268
259
178
174
182
156
285
169
167
210
198
237
271
199
211
277
106
292
253
175
235
114
200
231
306
225
182
249
253
241
244
244
203
181
223
232
222
259
189
291
222
202
116
191
184
227
234
250
275
226
191
178
200
244
244
238
235
219
270
263
211
271
180
212
214
238
266
152
270
204
256
356
280
265
198
228
197
152
201
229
233
310
159
175
251
221
212
189
197
217
208
255
290
228
192
211
289
281
253
254
206
260
231
201
240
166
204
250
235
248
266
276
232
322
160
205
238
126
311
238
213
233
194
192
218
253
174
248
183
199
195
239
298
241
242
190
267
248
235
246
251
215
196
233
239
261
176
242
238
277
255
200
225
197
229
221
220
195
233
175
247
208
178
202
286
177
273
238
221
236
218
288
169
246
233
235
285
227
211
160
182
252
236
188
240
235
237
197
253
277
266
196
268
205
255
215
229
245
246
205
251
179
247
200
317
227
229
252
179
298
330
198
139
308
243
237
171
192
247
175
176
306
212
223
215
298
196
241
232
290
250
178
291
227
263
291
251
178
209
197
331
186
231
210
253
244
255
220
212
213
283
186
239
224
155
267
208
217
203
206
195
194
228
238
309
215
220
168
212
233
232
308
215
173
269
256
235
237
205
203
227
116
195
195
269
197
215
227
274
218
174
196
174
234
194
195
278
192
175
180
223
114
213
320
225
248
223
152
190
295
175
227
192
232
227
219
199
234
203
175
230
206
241
226
219
218
267
306
279
207
193
273
242
176
114
232
239
219
245
249
244
194
151
259
265
215
240
200
182
236
181
234
224
217
287
194
198
222
187
246
279
226
322
189
300
168
275
278
274
240
148
368
166
270
195
254
275
179
290
114
156
158
179
286
223
339
255
226
271
250
256
231
183
283
222
180
160
278
231
196
226
241
269
155
206
257
222
178
173
242
194
174
192
228
212
247
267
264
240
262
213
241
193
266
178
237
172
147
253
170
233
312
222
214
270
182
250
279
288
160
197
250
281
144
264
237
229
204
256
183
160
232
257
114
193
226
178
208
202
164
193
262
205
200
168
240
228
223
235
243
260
277
213
208
183
254
249
255
263
172
247
222
161
218
261
200
195
242
205
246
228
195
196
129
232
200
215
212
168
173
196
225
160
257
284
255
340
252
243
221
184
222
291
116
239
288
207
274
225
208
212
189
196
214
253
243
222
244
243
143
283
259
208
298
144
218
171
219
250
175
218
160
231
230
242
301
251
204
313
224
191
274
242
214
234
260
286
255
228
247
265
287
212
181
260
183
126
226
270
200
203
225
271
214
233
204
261
204
226
287
272
266
207
236
335
185
271
258
185
217
239
251
287
247
292
252
300
290
228
247
222
170
147
213
237
186
287
283
240
200
287
227
290
243
198
236
200
191
213
202
238
126
187
174
242
155
208
232
294
181
218
114
282
235
178
268
114
106
258
222
160
200
237
178
222
237
321
219
228
171
163
270
214
230
217
273
265
204
263
116
213
232
230
318
260
176
242
261
206
157
246
168
246
215
186
231
165
199
185
194
198
146
213
273
264
269
257
267
310
222
206
145
225
212
210
165
214
213
160
196
264
176
228
204
217
288
220
216
251
239
245
201
198
220
178
256
255
198
265
192
213
220
204
237
233
190
187
182
242
272
256
175
218
197
208
231
188
200
178
211
245
264
292
185
106
295
221
192
235
156
265
202
224
224
153
194
198
272
231
248
198
223
178
216
167
198
289
258
207
277
269
262
294
222
263
212
211
275
219
189
226
166
157
246
218
153
283
274
222
250
232
305
239
212
174
139
252
300
211
233
188
199
198
249
229
191
272
288
184
284
236
178
218
230
205
245
275
240
184
241
228
171
216
199
208
245
184
114
189
212
191
248
232
175
293
241
160
226
288
186
209
208
223
240
133
202
191
211
179
235
217
234
263
269
258
214
215
215
227
198
223
202
236
189
253
285
217
215
195
219
278
193
236
282
160
187
223
237
320
233
151
184
202
206
243
141
249
210
250
281
149
234
176
253
217
234
232
175
160
211
208
210
187
232
306
183
258
242
207
283
247
200
158
168
268
315
215
271
328
291
166
221
314
165
173
200
208
268
189
243
262
266
158
292
219
144
149
245
248
212
225
271
311
197
126
230
188
251
263
252
181
263
170
159
237
254
161
236
211
239
198
157
198
196
202
272
230
235
239
215
162
279
194
219
164
145
175
244
244
185
309
196
240
173
193
240
301
204
242
233
261
235
175
282
298
250
221
293
155
238
250
301
202
146
214
220
216
264
243
296
214
257
314
319
114
232
171
209
170
210
266
149
209
241
156
231
238
246
228
192
228
252
310
130
207
270
212
225
252
164
265
185
156
183
254
152
277
258
187
161
218
202
217
238
249
159
237
211
169
212
328
198
256
283
222
126
239
229
301
237
160
204
195
116
269
196
173
252
176
253
184
193
108
225
208
284
145
204
279
211
247
215
251
187
191
241
205
168
330
279
234
225
186
203
292
221
174
219
216
144
170
204
247
257
241
152
236
265
204
332
260
153
114
194
199
248
234
192
266
252
205
242
252
222
226
296
170
212
255
212
211
184
181
174
241
289
320
197
219
227
339
228
202
217
224
201
224
202
195
220
200
221
239
165
196
208
209
222
294
220
233
237
214
114
205
229
239
194
253
191
226
225
287
306
276
189
245
230
218
259
224
228
196
271
168
240
301
202
209
281
241
256
211
219
278
265
226
186
251
195
212
158
170
354
173
308
108
178
268
249
230
232
196
256
304
252
299
183
181
295
167
238
175
193
257
223
233
170
182
114
210
169
273
183
273
155
164
283
206
218
264
327
108
148
264
192
196
191
239
240
340
345
276
298
206
251
250
242
277
267
304
219
213
234
258
261
205
226
175
253
198
228
244
209
221
202
190
214
226
236
200
212
245
256
250
248
305
178
221
205
236
258
226
245
202
239
197
265
225
299
166
173
252
195
207
282
114
249
176
215
234
259
187
199
181
179
235
238
232
179
303
297
257
223
237
221
201
221
248
260
202
260
236
160
170
253
167
243
217
195
274
247
175
220
229
291
308
196
244
151
210
229
224
114
156
243
245
255
229
129
218
230
243
180
254
261
204
308
239
170
195
275
170
221
192
231
192
164
277
204
284
200
325
203
189
174
263
146
233
201
244
280
184
267
211
267
194
294
196
213
228
257
241
226
203
237
218
200
192
246
145
247
206
201
248
310
249
267
203
170
218
240
145
207
278
232
230
254
207
219
166
238
195
242
196
208
319
287
176
306
252
269
302
253
235
235
206
175
190
184
239
181
275
211
192
184
274
271
262
254
354
222
147
245
210
287
199
213
148
275
251
244
201
277
219
205
152
244
224
230
234
279
251
256
225
257
290
163
175
257
247
250
208
235
223
190
218
154
260
291
224
178
262
251
254
191
256
198
208
215
281
250
222
305
162
212
199
258
208
253
174
225
218
198
281
181
234
168
208
226
257
222
211
256
175
216
268
222
233
168
264
206
151
287
252
191
245
212
211
201
179
236
260
196
220
206
158
219
280
254
173
178
283
215
246
192
309
265
347
195
214
220
205
227
220
247
249
235
193
223
190
280
331
269
282
228
247
261
236
282
172
263
106
171
209
250
195
203
152
170
217
225
295
242
242
178
148
224
177
238
202
253
226
180
196
166
254
160
296
197
215
277
238
187
180
215
254
175
289
303
200
212
114
241
114
222
170
256
210
197
175
234
129
244
228
198
168
205
252
171
215
179
248
248
320
106
194
275
296
238
258
192
262
260
217
166
245
230
268
139
200
291
114
253
241
206
243
337
188
245
121
171
249
240
195
197
314
205
209
251
214
186
252
286
294
241
166
246
270
226
184
239
286
252
204
304
205
212
168
191
227
108
174
239
263
188
203
214
262
247
175
259
229
162
225
181
192
177
257
193
204
216
264
203
234
282
211
230
246
269
250
222
278
149
236
284
188
199
333
201
121
227
191
285
239
253
167
312
247
313
243
246
227
248
116
195
216
233
146
261
247
275
172
187
182
144
210
196
285
190
181
194
207
242
203
233
258
199
237
206
260
202
176
197
259
198
191
188
116
201
229
247
239
250
227
269
232
241
160
193
171
195
158
242
176
269
158
195
244
160
245
239
301
291
209
224
285
214
233
225
236
239
169
245
114
202
176
129
213
240
229
170
285
234
199
194
245
221
286
207
284
272
173
287
178
227
289
245
175
218
214
161
197
221
186
310
266
162
160
258
192
298
222
240
114
319
270
205
225
308
258
208
160
209
270
208
209
248
162
238
251
180
202
203
232
159
248
237
114
247
178
214
224
175
161
160
284
182
263
226
241
173
195
185
237
246
210
184
190
225
224
194
207
230
218
212
214
192
251
274
239
160
218
236
304
247
254
247
212
255
209
184
286
181
297
217
210
231
218
226
208
197
229
199
341
276
252
173
210
128
300
217
155
192
165
206
181
183
194
114
194
178
198
219
265
218
232
311
263
220
253
202
202
220
208
236
207
207
191
223
215
259
234
262
250
192
208
245
213
243
256
168
198
263
144
197
201
301
177
195
168
199
281
181
148
186
207
165
273
211
130
171
298
284
170
160
165
247
222
222
241
215
172
231
252
213
287
195
204
224
214
140
207
265
267
164
258
231
158
260
280
218
209
167
210
225
239
184
222
302
201
173
234
227
265
255
249
237
188
249
315
175
247
277
346
237
292
203
153
289
178
177
245
243
270
178
165
256
213
114
242
164
192
208
168
280
207
237
233
196
244
252
209
282
284
232
140
232
170
222
202
202
196
229
247
190
170
280
220
279
200
207
288
292
188
248
202
296
220
192
242
247
175
296
185
210
209
218
209
243
228
241
303
231
186
288
219
228
257
205
282
149
157
199
224
215
264
193
260
235
180
235
284
228
265
225
265
190
191
181
174
212
222
211
286
212
208
204
156
195
199
203
227
160
260
282
268
222
250
189
206
173
307
284
273
139
225
224
278
130
270
278
270
166
233
198
206
176
239
271
213
227
213
230
284
222
241
208
225
249
247
176
177
269
160
239
247
226
214
239
173
274
215
193
165
195
174
224
297
221
108
217
257
192
209
181
230
178
281
292
238
180
189
201
214
161
177
217
202
223
225
235
232
221
184
193
195
152
215
219
241
255
225
247
175
206
169
154
199
237
191
257
212
252
267
219
240
227
154
205
241
227
152
168
203
114
233
210
251
218
257
212
225
199
184
158
222
206
265
160
256
235
153
305
195
279
260
148
210
177
206
201
215
204
257
191
241
210
250
236
285
260
228
224
233
314
200
199
197
290
248
214
181
194
209
234
254
201
307
244
240
224
237
266
245
214
147
194
212
196
187
195
193
208
203
195
252
203
187
158
257
203
160
184
296
221
226
189
208
160
148
285
189
229
202
224
208
174
269
300
190
254
191
193
258
167
246
255
299
248
201
180
205
258
220
195
178
170
229
263
192
160
170
263
232
264
207
186
188
306
225
228
187
182
221
228
263
232
256
229
198
211
257
296
178
202
214
302
203
216
204
148
250
271
239
226
197
170
189
211
243
200
274
270
198
272
282
261
234
189
258
269
254
262
255
229
231
193
243
215
174
246
223
232
313
172
240
235
194
174
263
305
209
224
246
232
201
169
237
204
289
223
257
169
242
246
226
247
183
293
293
297
303
218
233
192
249
229
178
205
231
237
338
212
238
198
139
280
303
331
241
228
235
167
225
256
184
287
190
192
211
203
270
192
196
199
166
243
242
249
239
244
236
282
218
326
313
222
222
173
268
168
249
258
302
268
183
278
241
179
215
175
210
228
246
148
175
234
161
224
180
274
254
200
198
233
308
203
106
190
250
176
230
213
212
222
236
193
235
274
255
171
250
312
200
174
268
194
216
242
282
199
270
159
265
233
114
266
126
267
185
202
214
187
161
195
286
244
242
234
218
162
199
210
258
208
199
249
176
262
199
209
211
288
273
196
224
178
286
194
273
295
186
262
202
239
149
149
217
284
222
262
345
180
225
204
202
188
160
226
271
238
181
259
162
216
248
279
276
195
156
241
227
227
239
198
285
216
203
175
233
182
235
160
183
302
227
215
232
348
243
169
254
277
231
242
189
211
217
223
287
192
232
219
208
217
213
234
174
139
267
162
207
210
151
308
268
262
304
258
114
150
309
232
244
241
211
255
282
246
229
260
223
308
217
198
269
256
337
304
160
260
220
208
280
170
313
223
239
182
276
250
196
189
278
154
212
269
181
201
291
293
233
181
197
140
204
182
235
244
170
168
202
214
189
192
156
268
247
284
271
208
247
244
262
250
252
232
156
195
297
160
144
229
187
249
204
301
208
235
292
356
207
228
270
245
156
221
241
235
194
220
213
266
245
217
255
178
306
267
274
196
266
160
218
216
239
204
203
197
211
246
206
178
198
210
212
177
201
217
196
192
229
222
251
207
216
130
222
161
238
266
224
239
176
252
162
180
224
199
301
279
289
188
240
232
300
270
241
225
175
255
238
209
264
116
290
245
301
249
334
273
182
114
180
211
247
231
226
212
235
108
152
160
228
160
314
237
250
246
282
177
269
194
296
180
239
213
320
249
178
225
166
207
242
229
198
221
247
171
199
229
202
258
207
200
182
187
211
254
216
233
217
311
249
232
248
269
235
244
232
203
194
219
197
236
231
234
130
272
167
276
280
295
269
198
280
189
175
349
254
331
207
294
197
206
269
207
223
214
300
347
253
305
213
233
176
230
218
216
195
283
247
229
253
267
261
179
240
238
244
220
298
230
205
169
216
184
246
206
220
259
214
231
233
217
237
166
299
216
159
271
174
281
297
244
247
161
239
158
278
225
270
234
165
293
230
248
351
144
209
173
279
270
283
188
228
250
160
263
240
173
267
258
209
126
198
232
179
174
163
189
213
251
218
196
279
212
263
160
143
181
265
250
320
245
195
173
234
230
200
191
114
208
161
323
142
251
251
155
261
233
241
185
193
215
266
192
236
210
272
300
170
308
199
210
195
195
202
114
159
316
234
247
181
247
219
205
178
200
307
193
219
322
251
245
191
161
186
224
198
253
322
231
246
200
275
202
256
234
303
223
286
225
219
198
276
266
178
160
237
220
173
325
204
359
181
182
275
178
234
187
225
278
239
206
162
180
171
271
249
183
292
224
184
218
241
279
203
160
196
229
357
230
209
216
233
165
241
252
248
247
155
238
209
258
265
186
230
195
214
208
279
202
160
279
200
284
279
184
306
207
220
204
212
156
341
205
230
325
195
257
197
274
238
212
180
237
169
266
236
237
211
232
178
236
255
247
228
281
228
246
235
204
183
232
167
258
231
232
287
174
227
295
309
225
233
257
238
231
260
198
240
227
238
223
259
170
235
305
204
288
211
196
272
213
294
255
282
263
234
208
240
297
233
265
178
222
275
228
261
196
260
231
253
228
273
149
236
162
285
213
180
178
260
199
383
221
186
174
245
215
199
179
215
252
166
220
176
216
218
150
167
204
195
179
209
202
205
161
207
232
231
160
226
209
264
210
163
233
179
221
265
196
292
212
169
126
238
274
277
225
253
126
224
202
225
173
204
276
269
223
286
213
192
241
144
187
196
234
292
202
241
261
215
249
278
235
210
217
255
182
195
219
249
264
249
205
224
250
280
227
281
191
166
289
160
242
179
174
238
308
305
273
206
217
226
211
219
246
181
294
243
210
181
195
203
279
230
219
342
196
152
173
216
232
254
204
258
187
257
192
240
308
212
213
194
229
194
187
245
242
258
159
251
282
257
206
274
197
210
242
239
221
179
179
232
217
276
204
166
179
152
221
278
218
198
275
133
184
222
227
239
290
265
211
264
266
170
228
186
280
228
189
174
234
195
134
251
232
237
157
175
208
114
174
185
275
244
192
220
220
244
232
208
243
275
221
267
182
264
374
202
203
192
305
268
220
285
260
259
202
257
188
197
191
189
155
239
203
134
173
218
151
240
206
133
198
220
206
214
280
359
246
114
292
241
255
295
276
167
250
289
156
219
175
215
227
271
195
210
239
225
265
170
281
220
208
257
170
231
205
250
319
228
211
254
265
194
219
198
215
287
219
155
205
264
233
280
292
274
217
214
224
157
126
232
208
184
222
301
208
237
225
179
270
230
187
238
201
259
139
200
180
193
247
224
213
252
192
197
192
237
226
154
241
243
214
305
233
280
241
296
256
263
238
250
322
209
184
220
287
216
202
274
244
287
238
257
267
192
327
170
289
114
264
253
164
213
221
236
188
203
361
139
199
249
261
139
241
247
145
240
254
244
332
224
170
256
293
139
285
301
161
192
215
155
226
248
213
307
249
238
223
173
187
178
226
219
294
200
181
269
210
255
227
194
184
243
149
210
238
228
269
222
267
291
222
206
242
236
241
252
204
164
181
246
215
251
250
200
181
325
181
167
201
214
265
295
208
157
220
299
198
288
254
211
205
299
233
198
279
201
184
182
177
255
249
297
169
246
288
279
155
238
224
144
181
191
177
221
280
248
219
222
230
197
239
164
184
200
221
258
243
141
182
238
262
197
247
238
201
198
186
199
228
156
200
209
176
208
347
271
238
215
175
224
175
231
196
267
195
288
191
239
222
238
215
230
178
173
296
253
173
230
220
181
269
227
217
126
126
170
223
156
215
160
146
212
194
229
228
273
217
250
173
238
245
218
245
273
262
224
175
250
188
279
228
222
234
219
235
249
172
181
216
219
253
290
245
257
286
302
234
234
244
191
231
198
273
225
233
240
114
200
276
240
286
161
179
233
203
235
227
246
297
242
251
243
218
250
281
200
342
145
177
255
164
217
220
200
238
181
225
263
214
284
317
178
298
206
114
263
178
286
200
236
240
157
297
279
302
256
234
261
156
277
116
214
182
155
205
303
238
207
175
226
247
217
190
288
178
258
307
212
191
158
259
257
167
229
170
230
246
167
133
282
192
173
230
322
286
235
114
174
170
237
275
288
224
175
253
202
242
157
215
242
260
245
184
188
225
258
204
175
309
203
141
201
212
204
203
266
253
184
221
146
255
238
232
195
181
247
278
164
209
238
172
178
157
178
116
305
202
203
194
245
220
226
200
213
192
223
161
204
214
260
318
273
308
232
265
182
222
226
235
232
247
222
188
181
254
263
231
220
290
224
250
207
249
212
169
240
228
254
228
160
201
246
195
247
168
185
189
266
356
242
214
251
289
198
272
214
177
272
212
250
181
279
188
192
151
237
226
160
239
267
217
152
184
259
187
238
161
274
214
253
194
158
218
304
194
245
198
206
280
273
256
243
166
201
173
221
300
239
114
237
290
210
273
276
246
233
290
163
223
264
191
295
203
160
215
265
195
205
223
196
160
229
173
243
225
219
147
218
233
309
175
204
271
335
227
201
239
171
252
272
267
278
294
224
215
326
227
325
269
213
256
152
214
249
202
238
181
246
275
252
235
160
280
185
198
254
114
221
226
196
296
243
220
168
197
222
244
181
328
234
178
226
234
259
275
266
254
186
216
196
203
192
208
214
208
155
225
278
251
263
212
216
197
191
160
271
244
312
175
248
177
192
228
284
211
257
227
182
273
277
157
308
217
200
265
215
201
212
163
260
265
198
139
245
187
242
221
212
282
200
259
208
197
241
246
265
251
244
191
213
252
193
236
278
215
203
235
165
224
253
177
213
126
249
191
215
238
212
215
200
192
261
306
237
221
221
174
246
219
201
240
273
319
195
205
185
258
240
210
220
231
202
248
211
209
214
234
187
235
203
212
248
271
211
193
176
249
215
274
254
250
193
217
214
142
179
289
220
249
220
272
186
183
230
211
245
245
160
147
175
231
219
183
251
211
213
243
249
178
211
181
214
312
265
232
168
262
274
312
256
189
206
215
311
196
257
195
220
181
293
213
233
228
274
355
174
311
187
282
212
231
191
246
293
297
253
261
200
268
292
194
226
260
328
260
251
215
308
238
192
260
242
175
176
241
241
205
259
250
261
147
242
156
163
221
241
228
247
192
176
292
214
180
270
165
233
202
258
185
246
176
290
224
249
208
185
282
203
161
166
210
227
284
236
204
215
174
243
217
302
247
252
170
145
205
201
185
266
267
219
203
318
217
246
212
189
255
167
166
195
179
244
245
315
260
241
219
192
273
211
222
214
211
114
258
226
130
166
221
178
288
189
226
194
161
248
301
261
178
211
238
265
200
294
204
268
186
158
185
156
166
273
190
184
324
192
172
305
210
181
171
304
156
225
245
227
255
114
215
229
121
193
206
183
218
174
186
264
179
192
167
271
254
197
245
285
227
285
209
182
209
126
222
188
267
240
311
202
271
263
306
227
208
197
171
263
228
185
269
245
198
259
297
243
183
269
193
156
167
287
180
265
162
267
157
255
227
169
225
108
257
114
249
189
214
278
276
182
233
191
169
187
196
191
275
191
197
235
259
226
182
289
185
333
198
231
193
256
173
205
210
218
163
222
275
247
224
272
241
383
169
149
130
195
248
253
280
206
227
234
348
166
300
290
243
184
231
152
226
146
218
169
270
275
234
223
144
253
308
206
235
234
261
233
135
248
217
146
326
181
192
211
250
240
186
221
205
243
187
247
199
338
258
220
172
204
268
219
184
145
226
261
114
126
246
231
309
189
269
198
152
273
310
233
250
195
186
244
295
206
226
221
256
237
251
253
242
171
259
270
215
265
215
260
263
252
238
304
237
204
226
175
251
378
202
199
180
126
303
179
247
214
210
164
185
281
205
228
221
248
280
212
229
205
214
190
168
209
227
280
218
203
208
243
223
224
261
281
210
297
214
243
198
256
206
194
192
228
250
261
232
249
260
173
212
194
208
301
249
166
255
279
193
317
148
204
152
159
148
196
188
151
193
198
238
260
238
166
225
221
236
233
260
260
242
255
226
184
308
271
203
179
271
203
257
226
181
246
299
253
236
256
234
231
108
300
233
244
238
242
114
246
157
192
269
270
227
196
208
235
204
175
257
152
200
363
296
251
225
171
253
152
195
173
191
181
296
258
248
121
213
221
244
286
208
214
302
160
147
199
239
230
306
182
198
194
251
246
192
162
256
210
242
228
183
269
266
158
193
179
174
223
212
246
220
276
181
272
178
239
257
174
202
240
256
264
268
211
237
189
239
183
285
139
185
157
218
202
135
156
197
248
166
193
171
296
255
209
189
214
238
217
220
261
186
238
214
269
331
260
180
226
216
242
229
188
213
220
196
234
214
232
265
178
168
295
270
196
185
263
184
249
324
194
304
250
156
259
309
260
267
182
172
225
201
195
262
230
257
247
181
194
232
273
197
252
269
180
191
219
234
147
212
285
223
181
230
184
179
241
215
226
308
267
216
297
257
175
255
201
160
170
215
212
207
267
181
236
177
225
229
206
231
252
239
253
277
247
198
284
208
126
231
155
192
194
261
205
257
302
196
211
256
219
163
262
275
179
279
248
280
223
233
270
289
165
177
256
208
215
209
116
347
259
215
220
263
308
246
264
237
174
279
128
222
233
253
289
251
229
213
262
252
256
208
227
235
191
219
192
193
277
230
150
306
210
145
262
219
213
244
176
160
193
285
210
194
296
248
198
239
211
246
220
274
254
296
176
236
301
202
233
224
218
200
310
151
244
217
180
219
265
230
241
182
238
221
185
197
246
213
243
216
252
201
246
232
216
121
173
201
215
156
290
234
272
269
238
164
208
156
170
209
315
226
191
177
152
229
208
226
207
197
141
205
152
258
280
189
195
211
114
265
237
266
326
189
169
231
245
232
207
193
276
262
216
263
139
216
266
265
250
245
192
240
290
196
222
238
210
192
220
193
116
212
270
214
195
228
321
262
274
284
114
331
298
228
195
187
222
192
272
243
207
250
196
222
197
198
156
209
229
220
170
206
246
340
275
205
253
217
206
215
324
209
260
197
291
251
246
170
239
211
296
220
256
200
219
116
206
201
180
294
200
170
238
303
179
202
233
194
240
249
279
318
309
225
108
310
126
180
272
246
253
250
190
229
259
259
206
248
176
231
210
196
249
235
250
222
305
245
189
152
235
242
197
256
179
209
290
226
207
166
215
241
273
214
256
211
176
286
200
184
229
170
206
194
271
203
170
246
196
196
343
194
235
286
201
164
160
289
211
201
266
246
230
114
193
295
221
214
224
270
210
150
268
201
208
279
254
221
267
149
308
170
177
265
238
310
215
191
204
259
164
181
184
108
232
185
205
256
247
235
179
299
193
244
209
114
178
285
228
309
245
189
264
221
191
163
197
214
234
242
241
185
226
141
238
283
223
243
205
217
180
307
177
221
286
263
344
240
319
286
174
274
219
232
312
290
213
214
233
260
218
335
204
114
191
220
186
356
278
326
218
278
229
201
246
204
185
184
253
215
236
226
261
228
187
169
284
238
204
179
270
193
243
227
236
154
197
205
234
210
238
210
249
173
251
171
216
285
195
216
216
245
190
234
191
160
206
207
221
290
302
235
200
230
226
238
263
248
247
235
275
219
237
208
288
173
219
234
178
287
302
176
215
164
126
162
247
189
260
341
173
244
238
305
304
152
215
179
261
222
239
298
198
149
206
190
223
140
224
261
197
154
201
200
284
240
208
194
248
246
236
211
228
251
198
170
220
171
160
230
233
214
143
203
320
227
211
251
271
239
204
294
220
222
196
178
192
215
217
254
319
236
263
198
217
150
229
222
187
317
162
253
205
310
222
147
237
165
258
236
230
224
248
165
228
185
227
209
191
198
205
215
185
243
169
205
214
217
195
231
211
222
203
252
167
211
173
240
220
280
227
198
193
215
243
264
196
234
212
148
174
278
182
214
253
207
245
286
294
261
303
238
191
239
183
206
255
200
217
197
278
178
175
229
200
187
267
244
251
218
239
237
174
218
208
192
175
178
114
225
178
206
294
253
247
286
106
173
216
286
193
206
194
193
185
280
114
270
312
245
177
269
244
225
230
221
275
202
196
211
194
278
238
310
188
242
176
144
271
211
202
181
170
155
308
220
225
321
154
256
257
287
253
184
239
208
288
192
267
216
211
258
208
311
219
222
193
168
216
300
269
279
155
126
223
242
309
214
242
219
206
236
243
254
259
224
260
198
178
220
226
236
225
219
141
219
248
194
175
270
212
183
185
212
233
274
244
221
259
220
188
331
241
245
162
236
200
205
188
173
252
209
236
290
262
189
263
227
180
168
229
230
277
259
242
217
276
207
225
267
252
250
207
214
192
207
363
295
174
180
212
195
259
106
244
275
232
210
242
263
238
276
255
154
221
156
247
202
194
275
241
180
330
208
248
264
261
266
223
183
279
241
283
215
249
246
170
224
231
256
310
211
209
184
258
258
234
199
250
202
197
219
198
208
222
252
285
271
216
265
162
261
175
227
184
147
179
216
176
243
164
282
267
114
251
258
287
247
145
214
230
209
277
208
239
209
199
242
196
260
208
273
186
252
211
234
236
238
251
201
233
229
235
232
234
264
220
234
242
233
315
237
269
218
217
212
225
174
193
165
267
266
238
198
231
108
314
238
217
221
277
269
246
247
298
181
338
176
221
175
207
220
175
203
283
180
208
208
227
174
192
193
292
267
176
229
324
306
217
299
184
228
209
242
203
180
152
162
191
251
200
175
245
213
360
126
174
161
244
145
261
176
280
191
203
240
151
255
216
114
270
173
160
319
191
167
236
273
179
207
214
126
242
263
178
221
236
177
273
281
191
280
201
224
217
209
244
229
233
177
218
214
126
263
251
263
165
247
228
236
245
234
248
237
224
152
200
268
284
216
227
277
147
187
234
160
244
247
242
184
245
176
202
233
190
254
289
270
216
271
186
195
181
239
194
239
175
233
229
197
312
160
269
176
219
175
260
194
200
207
200
228
219
301
204
287
114
228
185
206
244
231
213
231
196
200
210
139
272
323
174
266
227
168
179
266
247
208
255
213
267
194
256
255
261
286
256
276
206
248
144
215
245
207
214
190
283
211
246
272
276
246
198
158
212
208
210
316
240
198
234
114
259
218
182
231
174
183
236
166
152
224
246
216
200
222
240
144
250
228
242
236
173
276
201
234
306
188
198
160
223
230
224
289
145
158
228
207
278
174
173
228
233
198
223
203
233
234
246
218
216
270
210
201
165
287
156
228
219
192
211
237
177
200
201
234
172
248
192
187
193
198
252
145
197
189
264
238
218
233
114
225
187
206
328
232
225
173
218
160
271
288
266
367
187
199
196
173
215
212
271
231
195
219
266
158
238
259
170
238
186
237
192
242
211
173
249
241
258
270
247
217
217
220
202
208
201
268
258
233
200
290
169
192
243
232
170
114
181
218
233
260
139
280
303
208
211
267
214
227
203
241
256
187
225
264
271
176
221
316
267
220
178
196
271
293
181
274
308
227
220
233
226
229
213
214
180
235
226
196
207
238
262
229
194
298
236
156
168
171
147
208
258
208
236
154
238
309
299
169
309
204
160
209
253
268
301
250
291
185
240
230
180
209
189
238
223
292
182
252
312
260
275
232
201
195
252
277
279
208
297
229
231
276
159
210
222
233
218
194
195
248
182
224
207
231
244
188
278
319
252
280
283
230
179
176
257
233
165
193
225
143
209
282
156
231
232
268
229
255
169
242
176
219
224
291
292
274
242
196
308
185
191
264
194
228
235
275
310
162
254
223
268
261
341
187
232
254
213
282
180
204
225
190
217
196
139
313
213
210
157
223
264
280
325
245
207
316
243
297
279
260
286
160
286
275
156
265
288
217
278
218
196
243
209
195
239
175
194
160
220
273
257
222
227
233
229
206
247
144
229
181
211
234
367
221
259
274
235
261
221
208
182
161
226
200
284
231
189
206
258
196
255
289
258
233
279
175
206
246
188
269
207
229
231
282
214
234
219
248
218
210
255
258
217
226
289
238
169
318
248
250
193
238
170
241
207
191
245
250
209
160
234
225
209
196
212
247
152
274
245
179
278
168
199
152
220
269
180
236
231
285
170
182
273
169
161
155
259
228
257
234
171
244
212
169
156
191
231
225
249
194
238
278
173
227
257
300
156
303
220
228
162
193
305
197
285
197
177
170
258
214
277
313
241
188
231
251
216
186
260
146
333
250
203
180
221
227
200
191
233
191
204
158
260
217
198
209
208
152
193
231
210
316
191
222
181
359
187
208
267
202
299
192
227
262
179
275
188
291
309
255
170
263
216
212
186
314
204
275
300
219
307
259
207
203
213
151
186
262
281
247
202
214
114
301
247
174
298
229
186
329
220
284
250
274
224
218
196
312
313
204
204
267
188
246
273
208
171
198
207
274
300
250
235
160
211
292
230
209
180
171
263
270
244
165
211
265
247
195
253
147
174
216
241
264
200
286
181
241
162
207
154
208
255
306
302
297
306
265
215
263
279
295
226
213
213
234
225
200
229
175
165
248
149
277
180
218
151
178
181
236
182
286
242
260
214
228
225
246
233
219
233
209
175
164
145
151
213
209
236
259
273
193
144
233
267
193
240
276
194
249
243
226
269
194
197
151
218
181
248
251
210
236
173
192
287
222
255
178
170
239
174
189
174
202
126
200
302
341
224
198
201
209
278
230
183
164
273
200
181
155
183
232
216
196
198
196
211
179
282
182
176
209
210
287
121
276
206
214
158
275
221
221
278
234
153
258
199
217
294
187
222
245
257
246
182
174
269
211
265
278
305
205
209
205
224
257
250
244
187
359
230
238
251
146
252
202
258
188
208
206
215
179
195
319
240
198
182
277
232
286
198
229
265
262
272
206
227
277
191
263
208
240
222
241
255
234
192
205
213
245
218
179
296
234
179
210
177
159
194
250
198
300
299
288
284
223
211
185
184
204
160
200
288
261
245
239
228
277
198
221
242
193
213
292
165
311
220
198
290
214
139
214
248
284
267
258
252
235
198
281
174
212
176
189
221
192
197
270
198
253
154
358
218
176
201
198
211
197
245
174
139
250
206
280
220
168
326
315
191
240
163
209
210
245
214
196
248
220
286
242
169
229
252
228
114
160
237
195
145
221
269
195
170
240
213
239
228
193
277
277
220
181
213
274
114
174
114
185
199
313
220
177
250
194
220
201
174
270
196
173
254
260
241
255
189
244
296
243
186
130
261
230
285
254
230
226
275
202
161
176
287
179
161
247
154
151
254
241
212
226
219
296
333
239
165
264
172
184
178
203
196
171
256
165
240
160
195
246
252
296
275
234
164
188
218
273
175
161
264
175
308
235
269
152
259
223
262
247
205
197
255
255
275
169
148
270
174
240
223
173
223
222
165
232
265
204
231
257
217
204
250
235
275
327
200
237
184
221
212
210
208
193
247
233
310
238
305
191
235
185
205
232
265
297
271
263
282
196
168
195
185
219
202
214
181
246
165
162
237
133
197
191
186
237
165
277
192
216
218
201
215
222
191
146
168
177
179
147
269
184
198
191
232
250
174
320
190
161
211
254
199
209
271
235
300
200
276
171
217
188
229
221
272
215
179
248
264
213
243
292
292
246
256
213
214
114
177
357
178
241
226
202
173
278
218
260
283
256
222
254
274
205
196
223
203
229
236
279
217
214
188
242
209
211
260
222
324
208
190
139
197
223
214
310
170
160
202
214
235
195
217
194
179
215
257
200
246
215
196
277
211
215
205
229
242
214
202
188
252
238
328
283
194
227
197
149
261
149
198
208
195
233
194
181
294
160
180
245
219
229
229
195
254
201
165
202
222
220
186
158
255
210
129
240
243
321
174
257
263
173
298
276
211
184
286
174
273
180
252
282
177
248
192
169
247
214
242
201
178
219
169
199
199
196
196
173
250
173
308
272
263
228
199
203
188
151
322
217
260
170
229
240
223
243
284
227
206
197
333
230
258
290
144
259
192
167
272
241
273
344
275
312
239
175
214
126
172
170
267
172
341
246
316
260
230
225
199
191
192
219
246
220
172
213
232
196
224
254
238
157
253
247
171
330
212
175
199
179
171
219
143
172
379
226
287
261
211
191
169
183
208
234
191
258
209
219
258
206
155
255
151
243
209
173
263
230
280
199
295
160
198
269
265
206
221
300
209
243
250
188
178
215
230
273
224
229
166
247
202
264
309
212
205
219
207
174
173
216
188
210
276
165
233
185
229
215
219
240
227
151
284
284
200
229
176
144
195
192
250
188
129
210
191
306
156
156
240
256
272
250
264
256
211
152
190
252
329
236
276
225
261
188
255
174
175
317
220
158
202
193
253
278
213
176
209
239
263
217
275
244
199
230
221
151
204
219
227
248
275
121
237
223
244
235
215
154
186
174
330
222
256
249
222
194
239
196
351
225
315
227
241
242
114
263
186
156
201
344
214
222
280
203
167
187
245
164
255
190
236
200
265
191
218
218
219
183
231
180
223
224
239
198
248
160
213
167
218
268
242
211
204
165
166
201
248
243
231
184
209
298
242
270
184
206
251
203
200
114
239
238
217
285
233
214
212
174
276
184
217
208
205
175
222
255
260
254
237
188
227
237
195
198
216
238
226
190
182
177
271
196
185
213
306
202
214
173
174
191
306
248
215
192
114
220
200
170
230
168
161
255
258
152
214
214
280
191
289
274
179
242
167
274
220
186
218
154
287
206
240
301
247
160
173
205
231
178
221
247
263
222
230
293
294
171
232
189
178
256
259
244
145
181
175
244
165
242
230
234
225
225
306
270
216
159
283
232
204
314
208
170
272
206
229
246
210
181
203
183
218
264
185
176
218
241
148
324
235
204
240
218
325
215
259
310
192
196
182
301
241
253
184
159
258
276
245
309
252
296
231
201
257
249
253
238
203
230
229
204
219
228
183
260
116
239
268
222
223
121
190
210
309
238
209
283
161
256
221
152
178
225
208
193
193
197
211
223
287
163
114
219
227
226
238
262
232
181
208
209
258
243
213
108
280
251
312
230
257
250
173
230
199
289
237
184
241
216
213
285
250
307
167
238
235
195
328
230
291
169
114
257
153
159
233
231
262
329
121
274
298
202
201
239
186
178
248
223
211
228
156
299
278
227
167
256
229
220
201
267
207
290
210
277
197
270
243
164
233
258
263
256
233
172
227
126
225
213
223
114
262
185
258
296
189
185
273
189
214
278
218
277
203
250
261
213
213
247
165
223
256
204
178
238
216
283
197
217
195
275
248
197
342
242
247
222
190
286
164
195
241
185
183
236
250
248
269
271
254
233
195
257
183
185
195
270
144
214
204
252
187
263
216
175
241
247
218
174
271
268
168
198
198
276
271
195
198
188
209
281
191
285
200
233
260
277
209
159
262
223
238
258
207
217
222
250
198
218
280
237
225
239
310
273
264
243
201
223
278
130
275
243
149
324
234
184
257
273
177
229
215
245
188
277
146
258
245
242
181
262
226
247
197
242
278
301
240
275
254
232
204
219
318
173
191
275
229
267
165
221
218
114
238
202
139
236
273
161
151
194
198
160
213
152
275
271
243
145
210
238
184
193
294
218
175
353
251
249
191
289
267
232
317
175
156
291
217
207
237
248
212
358
177
201
235
269
186
200
200
221
114
223
174
221
249
243
289
193
254
221
249
248
206
181
262
249
215
167
190
180
187
298
270
261
267
260
225
221
199
189
237
208
225
240
284
207
145
283
224
287
181
271
193
215
307
211
259
114
180
249
209
201
235
156
267
267
216
170
348
204
209
201
275
181
195
184
248
233
224
191
304
230
238
200
190
151
212
211
198
250
262
181
215
220
186
185
229
220
246
192
235
205
206
217
172
173
293
241
269
243
272
283
261
255
280
205
242
219
191
252
214
218
215
251
222
185
254
280
264
258
212
249
253
250
203
222
187
253
202
169
243
186
114
261
221
164
234
205
195
148
192
353
303
275
224
289
199
225
269
155
116
237
175
234
233
244
250
162
220
165
207
160
238
145
175
295
234
215
275
292
282
209
225
246
177
273
225
143
177
210
225
168
208
289
139
198
302
197
248
229
232
302
214
204
169
180
313
252
201
269
189
178
309
183
251
189
221
230
254
218
241
160
178
217
197
249
180
265
196
318
215
216
144
165
294
224
269
161
274
304
283
193
268
154
213
193
280
168
281
283
218
275
235
223
220
264
237
153
190
281
221
266
178
305
280
196
231
211
249
225
209
207
227
237
209
175
158
252
237
260
175
217
290
256
179
181
114
170
298
258
230
283
280
231
234
292
270
285
195
266
260
208
187
281
139
114
168
258
175
242
267
235
239
177
258
273
209
203
202
180
186
192
214
253
270
189
220
254
212
214
168
147
207
286
209
257
266
225
232
240
156
333
193
203
243
262
227
237
201
240
228
261
213
288
180
210
213
198
314
214
242
255
249
227
243
241
255
222
291
202
186
234
184
240
108
215
178
203
197
220
180
257
288
216
296
273
238
178
211
198
227
266
173
180
251
245
258
267
157
251
192
251
201
205
214
220
202
196
193
193
209
227
275
216
216
279
260
233
144
351
236
225
277
171
225
231
267
114
253
259
198
245
175
245
210
202
195
230
228
217
175
203
206
260
250
291
243
263
214
233
209
224
252
181
222
204
286
216
235
233
147
236
274
212
296
242
183
164
279
187
219
297
257
191
259
181
252
240
208
176
265
205
262
203
264
178
208
256
262
199
271
242
166
212
228
235
247
272
226
304
219
183
175
192
244
222
179
262
146
229
224
274
166
260
250
215
205
222
206
199
269
248
195
186
224
227
273
223
218
285
255
258
221
260
241
173
189
174
286
284
242
311
231
173
241
162
250
242
244
222
220
200
244
200
208
287
287
197
235
219
250
260
217
170
225
190
199
225
224
223
215
211
277
207
261
180
208
256
187
179
227
273
295
284
219
225
218
145
195
328
156
351
231
271
161
175
221
318
211
253
246
235
206
247
234
186
245
320
178
231
193
159
215
273
224
256
260
160
253
251
217
243
298
184
206
178
148
180
231
255
224
160
251
215
218
196
199
279
163
182
271
195
270
166
227
270
262
187
276
313
283
215
207
207
193
274
240
203
276
248
232
230
215
219
236
216
199
220
234
263
202
205
166
264
182
240
209
283
290
233
200
250
208
189
239
193
243
202
209
195
220
261
241
176
179
208
231
196
282
280
196
252
228
279
254
156
233
211
181
226
304
220
317
201
283
248
275
273
147
309
185
214
185
236
248
277
247
265
249
160
203
191
214
189
300
220
233
261
233
172
231
243
237
196
249
195
226
223
196
183
179
114
200
333
280
209
196
311
261
215
275
191
169
192
114
252
261
262
220
283
243
207
241
151
191
196
206
114
245
205
248
192
196
250
275
225
116
223
210
217
190
217
315
231
270
287
276
225
174
210
191
232
238
252
206
205
266
214
223
204
227
289
182
230
157
201
242
182
175
223
209
160
180
231
289
260
278
218
176
302
266
238
173
202
287
253
157
236
243
188
339
173
234
289
231
251
201
324
229
248
252
198
193
195
241
331
242
223
174
206
241
275
208
227
320
281
274
188
168
255
202
221
237
286
242
180
178
212
204
116
215
262
188
247
213
206
225
173
317
225
223
250
274
232
221
209
204
327
305
171
301
261
226
210
257
232
215
308
236
184
259
204
210
194
223
212
287
271
167
228
223
265
186
175
195
202
235
209
246
257
178
193
173
203
335
224
201
232
297
275
293
239
231
191
170
154
183
294
290
301
181
204
233
254
239
211
215
269
301
238
268
196
168
284
231
222
228
232
263
231
278
223
213
188
193
296
249
257
226
184
217
166
213
309
184
188
268
216
295
269
171
211
168
213
207
266
164
217
176
247
158
195
219
193
237
195
243
259
221
231
191
235
337
219
210
283
258
276
208
200
247
198
209
217
140
228
182
190
203
316
242
302
253
213
193
299
250
204
258
281
285
259
196
114
204
151
266
222
275
148
178
219
198
186
245
242
257
208
224
208
208
305
195
153
261
297
181
290
230
169
244
246
146
308
207
192
215
288
206
229
200
233
205
273
270
174
218
202
220
290
228
279
242
312
211
237
287
300
219
335
241
139
335
270
212
220
212
237
145
201
229
270
205
170
223
237
177
220
186
202
255
207
271
238
208
245
215
149
225
229
230
272
224
313
253
256
236
273
209
226
204
301
313
181
249
227
211
227
204
178
191
271
213
223
186
218
180
262
192
170
300
244
185
170
215
114
208
228
276
244
276
173
176
196
160
155
220
156
250
154
197
236
160
294
228
199
181
129
270
230
233
210
163
213
282
255
243
129
235
229
194
224
293
221
212
263
275
190
253
339
225
261
183
179
228
241
251
237
199
214
188
251
198
114
181
126
238
286
296
306
238
215
224
274
211
202
219
259
167
178
250
233
203
203
305
215
114
232
224
268
284
222
203
189
162
215
253
213
252
199
203
214
209
250
191
315
201
162
192
277
180
203
239
245
266
260
151
279
203
301
312
231
265
216
319
307
285
238
289
264
234
196
237
162
264
220
215
271
243
260
207
261
312
222
272
243
218
227
152
223
196
307
250
267
211
359
276
200
262
220
220
256
162
227
184
196
205
203
218
219
145
252
157
228
239
298
199
208
270
275
220
239
263
233
261
173
191
223
244
303
240
139
171
166
180
196
210
226
234
251
223
187
154
277
203
261
186
207
290
194
173
232
186
198
175
248
261
152
225
259
255
202
251
258
323
220
227
146
182
252
261
254
194
224
285
213
235
287
267
172
193
116
265
288
160
259
195
226
230
156
207
172
252
256
240
308
151
167
278
374
322
154
214
209
211
240
272
176
221
233
236
230
296
190
167
208
229
259
263
199
354
248
195
323
228
223
334
218
203
196
189
174
248
161
181
230
257
214
211
247
198
291
274
231
306
306
264
212
229
207
277
233
238
169
285
228
215
200
288
181
180
336
198
264
211
206
294
239
252
268
280
310
188
232
181
232
211
189
279
114
188
283
207
239
227
212
271
235
220
232
208
263
209
267
209
225
213
183
214
180
204
225
214
208
151
225
183
245
206
231
160
275
251
150
255
220
276
181
207
222
233
265
232
199
234
232
171
300
196
212
292
291
238
235
207
241
316
211
204
255
289
228
229
179
211
307
174
145
267
165
242
254
207
276
219
248
216
207
166
281
197
201
170
164
316
244
226
239
183
226
249
323
179
171
228
193
210
169
264
275
225
215
221
236
196
238
242
269
205
168
329
254
195
195
186
194
312
343
243
254
271
200
195
263
126
185
165
245
156
157
196
247
156
246
290
188
168
189
302
174
218
214
293
200
253
270
242
213
207
211
255
243
234
328
196
198
248
230
178
264
238
214
288
246
154
241
190
324
244
218
192
240
292
243
211
156
232
198
202
241
217
284
249
260
159
151
250
116
329
210
224
227
214
200
231
226
230
233
208
233
213
242
293
165
305
251
270
216
253
214
209
223
126
342
196
261
169
197
248
196
221
239
187
184
205
203
140
205
189
238
218
189
232
251
249
193
232
201
221
303
210
185
285
166
251
174
209
266
331
250
195
170
222
222
178
215
194
205
224
260
175
239
233
225
181
290
201
268
274
190
195
231
271
260
238
293
277
193
196
247
227
197
268
210
236
200
114
281
269
224
218
191
223
174
213
162
208
161
181
188
203
215
425
148
257
266
274
189
273
208
160
271
242
243
213
180
224
172
149
148
198
232
255
229
249
202
200
248
191
222
222
226
192
284
308
255
246
181
232
299
211
184
167
261
168
213
188
253
162
238
306
208
253
270
221
234
238
264
225
282
189
237
160
239
271
245
263
149
296
190
277
273
152
285
204
202
259
258
213
241
226
285
299
256
285
218
231
217
189
228
221
355
139
189
195
244
232
194
237
223
243
173
290
177
280
240
257
197
208
246
212
204
151
213
275
323
200
261
286
285
298
251
198
211
222
249
193
260
227
281
308
220
267
185
200
179
298
250
224
145
232
214
198
214
300
237
220
254
223
254
246
205
174
184
229
201
240
153
203
227
195
212
181
252
241
179
196
235
212
276
231
254
231
275
235
194
263
185
272
195
183
300
273
226
229
191
235
212
212
212
198
203
213
303
214
174
259
249
258
243
264
294
173
189
177
216
201
203
234
239
239
167
240
179
210
168
253
209
264
248
269
164
298
177
275
197
121
168
292
267
214
289
297
210
298
350
181
297
268
223
202
205
210
229
144
193
239
162
193
188
179
190
159
214
236
231
155
203
215
255
152
215
180
243
178
155
201
209
171
174
208
282
211
248
252
196
245
185
262
210
252
253
160
298
266
320
204
215
275
295
224
192
192
235
256
213
262
178
182
208
216
151
229
193
252
273
195
241
266
157
194
196
238
178
206
253
241
280
170
170
207
173
197
181
197
256
215
249
172
260
165
201
165
220
244
185
225
206
228
161
129
283
265
211
288
181
262
332
196
277
173
189
214
259
272
277
316
255
209
183
222
181
224
240
199
236
241
273
266
198
223
262
206
212
186
312
266
212
116
315
184
281
236
328
247
173
198
234
238
273
186
261
185
236
285
246
158
268
155
201
244
238
268
183
219
243
276
139
174
156
205
311
258
189
294
258
175
198
213
236
237
151
274
208
196
165
234
229
195
196
293
207
262
201
245
236
273
209
231
177
273
274
199
200
282
275
213
229
231
212
207
215
187
245
191
300
164
218
243
244
279
264
238
209
290
271
228
255
311
233
195
210
165
233
294
227
139
220
156
203
256
193
241
197
238
186
249
252
228
251
212
205
197
236
235
233
245
286
225
253
261
196
298
212
194
280
172
218
195
199
247
245
267
237
285
231
237
214
173
227
194
215
207
180
114
204
168
301
255
114
296
114
180
160
161
315
139
279
220
244
220
225
200
262
232
198
230
194
235
232
157
255
261
243
291
261
227
229
280
214
139
258
219
170
301
114
200
212
296
298
233
252
263
213
255
256
180
184
221
129
233
193
263
192
244
191
182
162
310
184
207
178
232
139
272
249
249
208
268
210
218
185
214
215
128
198
209
196
278
231
230
139
181
165
199
224
159
212
186
243
198
266
275
221
183
200
190
161
126
253
218
282
270
211
274
149
193
285
251
203
248
237
239
191
223
217
273
332
224
271
222
319
185
219
216
245
206
206
238
121
174
271
214
183
160
196
233
295
177
245
170
156
311
235
230
188
182
189
230
244
203
210
191
198
160
215
202
226
271
289
194
211
225
213
161
288
283
223
160
212
229
265
155
200
227
174
241
281
160
206
311
218
193
211
196
195
236
188
305
260
171
269
178
192
256
172
219
299
282
329
276
213
252
201
223
252
211
201
209
223
214
263
258
234
190
220
179
210
256
173
245
229
258
227
235
129
218
214
246
219
114
278
288
194
290
278
282
181
186
178
154
242
197
121
204
181
263
114
260
214
249
200
176
202
191
204
257
193
177
171
230
168
191
208
242
211
233
282
202
344
245
237
167
180
181
204
202
219
260
196
209
151
233
230
139
181
222
278
272
271
258
213
226
218
270
169
259
229
231
198
217
189
218
205
228
209
253
191
213
315
211
227
210
192
214
289
241
174
293
194
253
170
161
207
236
235
275
240
236
287
156
246
299
176
201
254
129
298
175
199
210
268
198
201
285
201
188
190
240
270
191
215
209
183
287
156
139
275
178
193
186
212
248
233
188
257
217
191
341
240
217
230
114
153
188
261
218
293
263
252
311
204
211
285
174
257
172
154
196
172
230
239
239
288
108
173
168
282
228
296
194
297
215
237
252
242
271
167
152
216
238
271
205
226
306
269
184
263
263
205
233
226
182
198
263
180
225
214
241
235
206
180
199
192
168
229
160
204
230
201
272
158
213
224
214
297
200
272
204
209
267
255
234
220
169
160
188
206
191
215
254
188
211
266
226
154
199
164
219
293
216
198
269
214
191
227
129
294
229
234
152
250
287
208
247
183
234
230
179
296
149
274
156
239
126
273
184
248
170
303
213
251
269
171
249
266
252
159
189
251
223
213
145
284
231
145
175
213
174
160
233
160
244
209
186
194
229
253
257
246
254
267
212
219
257
267
348
253
266
326
151
234
249
250
216
218
267
170
209
147
220
188
207
211
166
213
325
168
209
198
277
249
205
225
182
200
271
206
214
145
232
194
231
219
195
194
187
183
179
234
240
226
183
230
300
228
238
220
236
259
279
229
238
214
211
219
194
252
260
153
204
276
214
167
250
170
260
185
219
268
178
249
324
152
263
254
255
250
193
161
217
176
204
193
213
219
192
216
257
228
232
207
274
207
201
205
171
236
244
230
151
210
266
209
235
207
232
233
204
209
282
288
228
214
230
229
368
269
169
233
312
209
215
180
286
233
265
151
249
226
207
207
196
231
238
228
263
173
229
206
260
260
321
188
151
209
211
207
183
166
166
169
277
349
247
185
236
148
173
174
273
293
185
176
223
217
179
208
178
170
181
204
201
179
262
229
203
195
198
226
262
181
254
160
246
156
226
174
358
169
238
237
233
266
230
248
163
211
229
274
194
192
204
266
212
114
190
209
258
192
258
235
246
245
241
184
282
179
194
208
183
173
146
286
173
189
204
243
229
114
258
197
180
203
272
186
343
183
285
288
266
228
175
192
236
179
194
320
246
251
242
199
216
293
114
233
180
235
198
168
302
309
261
154
278
232
159
305
156
191
311
211
171
176
144
244
268
266
319
216
247
153
152
294
248
270
169
258
262
242
290
302
225
211
219
296
202
217
145
229
247
271
205
240
271
213
226
202
221
192
219
248
240
209
231
233
216
245
257
274
248
269
225
234
202
255
174
249
152
310
218
209
158
203
224
346
233
230
262
241
237
187
191
217
242
303
236
210
185
183
290
211
280
293
192
236
213
268
284
306
289
188
194
221
232
287
174
160
196
251
171
214
244
201
214
205
250
194
197
328
251
220
227
231
298
286
255
231
227
207
230
266
181
234
221
245
121
166
225
248
201
176
213
327
165
182
156
260
254
235
243
243
197
175
188
234
225
285
193
188
236
229
197
258
210
273
209
202
233
265
240
157
191
196
215
236
223
229
292
218
173
239
246
254
208
114
188
293
247
191
208
191
214
285
210
320
235
139
197
204
284
197
237
244
208
196
198
225
202
248
116
162
326
170
179
211
157
231
241
200
258
160
166
257
188
234
243
156
215
249
114
243
286
198
191
114
166
174
263
286
275
266
265
237
297
272
190
241
175
166
209
223
259
261
267
151
186
205
240
228
218
255
232
191
271
270
285
254
298
262
207
226
251
231
225
145
220
305
154
148
228
209
262
210
247
213
246
261
212
229
340
249
232
167
196
227
199
233
206
227
185
257
181
267
210
274
238
355
212
219
145
242
264
223
259
217
165
212
264
196
170
209
170
195
199
230
273
180
238
179
167
215
195
301
293
254
245
230
228
222
248
253
245
268
211
114
192
133
253
160
219
304
283
197
182
264
239
361
281
194
240
121
233
240
180
265
214
192
261
247
219
173
215
211
233
168
114
217
239
195
237
181
203
179
257
165
187
309
246
116
205
231
260
198
214
150
221
162
218
301
229
218
207
184
216
237
336
222
266
301
215
214
272
206
208
211
231
283
223
231
205
181
260
230
268
194
262
230
263
258
210
322
283
290
231
182
173
166
222
247
195
197
106
236
236
270
184
212
231
178
180
247
178
261
215
214
259
275
212
219
254
243
144
248
191
257
164
175
176
228
186
215
206
274
275
156
209
159
251
202
165
333
211
232
227
265
267
263
223
200
246
247
300
249
227
275
121
198
211
242
177
233
272
199
180
160
325
295
146
212
156
176
169
233
226
209
231
176
211
229
260
184
233
269
222
121
216
231
231
299
267
264
186
185
257
334
208
198
282
187
176
215
212
190
161
173
231
235
344
188
267
249
271
260
253
212
184
151
228
214
149
168
294
186
170
212
207
256
195
116
279
219
267
275
316
175
263
236
198
229
171
221
200
336
228
229
274
228
309
249
183
234
165
184
242
198
226
139
226
244
114
114
211
208
181
247
202
257
180
200
247
218
220
230
197
221
183
219
114
193
227
171
221
277
194
191
229
154
238
227
189
203
235
170
327
213
293
189
208
247
220
253
274
250
181
248
160
174
265
233
162
149
222
262
265
246
292
238
225
293
244
319
254
170
192
174
212
214
182
300
243
265
340
228
182
307
206
253
220
210
267
233
241
214
252
244
263
228
253
265
192
193
269
242
242
289
139
228
310
303
218
215
204
255
224
230
190
166
184
173
228
182
169
179
226
182
247
239
253
162
244
304
215
228
261
295
152
217
265
214
189
238
177
277
213
258
244
198
229
322
289
287
175
242
183
178
224
209
181
198
265
203
222
260
253
287
139
323
189
317
259
208
174
225
241
191
137
219
236
191
230
317
186
234
173
175
289
254
223
223
212
156
249
299
211
228
281
155
218
234
205
189
203
221
215
236
221
297
205
227
259
268
237
294
245
173
210
228
151
222
209
126
206
227
181
235
217
178
179
218
279
114
156
259
230
217
207
228
297
257
263
240
216
187
160
202
222
221
180
181
169
237
207
252
168
311
249
200
224
200
193
195
228
203
114
220
194
313
255
298
170
235
316
231
225
164
245
258
226
253
218
320
237
202
229
192
156
248
290
237
252
211
191
174
310
249
222
206
222
203
128
256
257
206
265
291
245
223
181
188
239
198
169
230
183
195
281
320
217
259
285
192
223
158
175
152
262
206
246
114
163
247
189
204
211
252
227
252
222
169
215
273
126
240
190
234
189
156
260
260
258
215
272
202
191
192
260
152
295
232
211
266
207
247
168
147
241
260
224
270
192
183
229
208
202
197
290
286
318
239
268
219
182
256
204
169
219
161
211
257
275
221
218
238
240
260
196
294
220
225
160
205
203
170
216
202
175
311
185
254
173
238
178
218
206
241
268
236
293
272
203
183
266
139
211
234
153
175
204
237
301
229
191
239
301
181
247
212
196
160
198
250
280
139
256
184
244
242
269
257
188
319
139
246
175
195
204
269
114
299
198
215
165
192
221
258
206
221
239
281
227
324
192
211
218
174
383
227
225
180
233
188
291
166
206
248
238
285
316
229
177
210
265
207
253
114
154
312
114
205
281
116
249
231
264
238
207
265
245
197
233
212
307
198
259
191
255
185
186
268
181
219
291
211
173
206
299
227
116
297
245
255
247
162
175
126
205
316
210
263
228
238
367
261
213
283
286
242
187
264
213
241
228
311
200
286
248
244
237
152
197
257
280
283
227
208
281
259
269
189
241
250
191
148
224
194
208
214
204
274
216
222
200
176
315
192
238
324
280
267
258
254
206
203
225
158
238
304
229
174
253
273
224
269
234
266
190
211
276
187
178
235
261
218
212
294
200
208
232
213
234
267
268
291
283
236
180
206
174
190
246
126
194
217
246
222
185
230
161
139
335
114
265
276
202
194
218
229
232
192
252
243
256
170
253
170
227
216
229
247
277
227
304
309
230
199
161
207
114
228
185
221
210
114
296
274
196
178
194
233
184
116
178
179
220
222
232
229
275
224
192
242
186
233
221
195
168
297
234
223
194
210
246
314
192
290
163
284
200
240
170
106
275
174
200
198
174
337
198
285
254
203
206
242
306
222
248
183
294
301
210
221
216
196
211
192
278
247
145
228
263
235
198
296
162
222
181
268
273
199
273
200
199
230
183
164
198
218
248
262
173
195
254
189
198
228
262
165
114
240
225
286
114
214
221
198
227
146
139
271
197
208
249
186
267
149
227
234
204
258
337
199
233
234
219
247
238
198
224
221
173
235
291
164
253
190
255
217
205
194
201
183
211
210
190
242
288
223
168
206
182
208
195
277
280
169
198
187
173
281
291
301
201
212
264
141
192
285
217
220
106
232
286
234
205
201
319
238
254
171
170
219
259
251
178
192
267
201
198
246
278
192
356
255
229
220
281
223
250
175
210
258
289
217
192
256
160
163
176
233
324
168
263
204
181
266
309
198
210
211
215
221
156
200
164
155
250
195
260
271
241
263
214
212
180
249
197
187
198
175
193
233
219
178
163
229
199
229
253
192
300
318
278
192
214
297
258
275
274
305
258
174
320
293
193
189
209
214
257
263
196
190
191
144
180
199
204
254
174
371
255
228
195
219
203
114
326
228
178
286
221
210
232
195
158
179
297
174
130
189
175
229
323
195
256
211
234
231
240
243
242
197
338
218
217
247
246
156
246
360
173
227
209
225
241
178
279
211
220
249
219
144
228
184
186
174
210
191
230
207
192
301
236
208
169
188
288
178
260
189
186
219
211
206
238
240
213
202
193
303
238
171
258
207
189
303
210
294
278
267
241
263
170
179
261
238
235
126
231
183
230
192
244
190
199
183
270
166
144
280
292
277
315
285
289
214
276
281
177
220
158
169
176
175
227
254
322
220
160
225
266
174
207
269
270
184
203
192
190
299
215
161
158
254
214
186
221
174
247
222
212
339
257
222
114
220
288
160
186
186
198
214
276
195
214
245
160
290
229
281
240
173
218
215
174
177
190
186
262
256
271
232
286
230
209
200
192
198
224
261
178
201
236
220
126
198
192
184
287
181
176
321
246
139
266
178
190
262
145
291
242
240
309
254
250
250
258
254
192
230
216
233
260
249
246
178
196
232
148
172
180
151
214
227
240
244
226
311
199
184
207
297
156
175
178
217
288
265
220
296
227
297
253
214
180
241
212
269
192
182
193
213
173
266
183
257
314
231
253
180
247
174
230
266
208
225
273
170
215
273
235
213
185
170
238
161
204
225
186
270
255
217
178
229
197
173
176
276
233
175
114
233
229
206
285
187
231
266
218
210
280
218
259
207
187
227
311
151
209
253
265
300
203
160
313
267
232
263
191
301
252
208
231
244
175
191
242
200
261
229
248
312
240
252
298
301
285
178
210
220
147
212
215
197
215
114
273
277
177
269
265
261
203
242
208
216
281
278
154
315
285
215
219
268
211
224
225
259
278
233
156
214
211
184
174
230
226
247
275
272
174
229
200
255
172
226
276
239
207
209
255
282
188
114
217
181
329
281
175
242
256
264
190
226
215
216
178
170
211
247
173
203
261
293
260
217
218
261
293
177
267
199
213
275
206
258
259
323
245
152
208
212
194
226
190
248
210
201
244
195
234
233
244
215
262
239
204
267
216
244
300
256
296
209
114
160
348
264
170
241
170
301
193
251
248
192
255
268
253
195
243
180
249
126
181
198
236
195
192
247
285
222
208
146
251
158
196
211
186
284
235
215
222
262
203
219
308
273
243
181
188
323
277
217
203
156
181
242
208
220
175
266
173
181
225
219
242
257
287
234
218
285
220
228
233
287
201
265
286
207
204
221
236
193
266
281
154
149
202
254
271
228
257
187
220
189
227
237
221
211
154
241
190
234
273
256
306
207
274
229
225
275
276
173
186
214
196
251
226
285
246
240
207
240
218
248
194
220
246
220
262
225
202
171
160
252
241
195
173
235
192
317
170
205
211
315
205
262
254
222
195
302
239
242
145
219
194
197
198
173
240
307
159
282
191
260
249
215
295
270
215
266
159
227
201
258
199
258
196
245
290
259
273
267
194
262
185
210
312
276
194
245
174
171
366
173
287
269
175
259
218
212
265
180
166
217
238
173
196
185
216
210
114
245
246
299
197
333
199
195
233
253
232
275
170
213
324
301
213
225
233
258
181
280
253
196
231
206
267
207
228
144
222
219
233
166
233
114
286
196
289
238
245
239
292
171
207
234
229
224
157
226
257
233
264
285
248
211
198
181
192
269
182
204
226
204
220
250
207
203
148
189
206
318
231
329
126
180
173
247
193
215
256
247
246
142
114
224
333
298
198
267
175
254
173
209
234
220
249
301
186
215
286
241
253
236
198
211
246
262
187
189
318
285
214
230
262
209
229
243
174
222
175
227
260
190
189
231
186
253
201
260
215
225
235
193
154
267
217
248
217
233
276
146
260
221
246
228
234
277
231
190
176
197
221
235
230
252
265
193
257
261
175
240
189
230
226
168
214
234
181
214
189
252
204
214
188
233
230
222
221
192
219
191
247
152
190
252
199
333
238
251
246
207
262
287
160
254
194
181
238
245
139
200
191
139
210
234
204
272
170
166
181
170
240
235
280
241
258
188
243
184
244
251
247
245
204
214
114
303
190
162
252
234
166
275
207
242
270
200
188
130
151
160
342
192
269
258
215
225
248
239
227
169
241
202
240
154
218
229
334
310
240
184
252
218
222
245
309
173
181
183
266
248
289
158
209
193
183
285
178
225
193
222
234
266
164
116
173
204
229
175
222
323
233
258
254
221
233
283
273
173
303
289
156
228
249
175
285
161
197
233
211
207
247
229
260
163
263
242
253
219
231
212
282
214
231
218
204
214
233
242
208
303
153
242
280
181
248
234
248
269
250
210
259
184
174
139
175
207
315
181
176
233
265
233
244
179
243
162
222
233
227
310
208
235
186
220
137
274
181
173
261
183
194
214
242
169
215
233
235
177
200
288
134
178
208
235
339
238
209
235
234
342
288
213
181
257
206
292
205
190
270
206
180
276
215
308
198
161
173
198
274
156
249
216
202
166
191
224
179
238
247
193
259
269
239
158
218
228
245
197
231
162
182
180
143
282
215
239
108
267
226
171
251
188
192
226
168
181
207
175
197
232
144
244
271
219
200
261
203
160
294
183
232
256
246
349
178
206
234
279
209
256
217
182
212
190
325
181
180
173
291
247
200
281
166
252
211
287
187
250
266
175
192
280
247
142
275
245
193
198
232
174
235
165
133
204
221
246
239
223
359
154
246
378
271
192
155
239
201
178
182
251
233
275
240
192
228
230
228
247
208
155
165
242
208
201
231
206
170
144
214
256
211
205
160
180
198
196
249
178
153
262
215
219
182
211
232
241
214
176
212
226
139
226
234
253
198
260
257
220
283
251
209
156
202
221
231
295
281
259
225
198
264
231
228
262
306
190
274
177
215
184
231
235
236
222
277
198
276
232
195
232
258
256
243
165
212
285
205
240
224
160
181
203
190
208
170
219
261
274
256
160
290
193
227
202
221
156
180
327
206
229
223
294
190
173
254
246
177
144
173
206
316
214
183
166
232
221
247
214
242
225
315
311
281
232
258
223
275
193
211
196
256
191
214
130
210
116
267
263
170
262
286
230
189
178
336
183
262
245
242
160
165
205
200
178
219
175
234
208
209
226
298
234
207
233
159
240
272
232
114
187
159
320
257
182
114
219
230
178
296
266
239
180
222
160
275
274
203
272
255
244
258
249
144
161
203
237
237
191
163
214
217
209
239
209
255
219
247
166
211
243
181
233
223
239
212
220
201
169
283
176
206
194
205
199
325
242
218
315
271
219
232
166
246
159
181
221
237
257
211
114
202
265
206
164
292
225
310
254
184
336
182
261
186
169
179
244
265
197
200
188
227
261
225
291
221
114
241
241
212
233
242
278
260
220
156
157
154
214
299
242
313
220
283
209
114
191
159
225
269
195
244
214
297
232
237
205
189
188
206
183
266
292
202
211
236
193
270
254
274
242
261
207
223
253
221
191
241
214
296
235
230
188
230
218
175
350
192
265
250
238
168
171
212
256
237
217
204
175
170
285
328
211
169
160
250
222
249
220
245
170
173
271
161
165
165
229
161
223
290
280
176
178
180
246
169
186
221
330
229
215
227
225
195
217
203
259
246
245
222
252
276
199
206
247
248
252
209
230
265
268
159
234
278
223
277
267
160
238
200
284
282
230
178
249
179
208
176
262
208
144
209
195
194
319
266
277
194
321
263
231
162
212
151
297
203
196
221
232
261
227
213
282
238
267
261
202
256
204
267
219
318
262
227
176
258
205
286
246
190
292
247
262
284
175
217
263
228
217
196
281
243
172
208
195
219
220
229
216
258
205
315
207
151
216
240
209
254
248
241
210
161
174
160
237
189
155
263
108
164
210
214
178
271
247
158
234
176
301
207
258
185
210
156
241
227
199
240
245
233
147
144
194
173
241
275
151
266
191
256
300
172
192
297
114
270
179
268
277
189
225
240
298
279
175
160
246
228
209
183
147
301
219
233
227
246
213
285
154
250
199
228
266
214
192
239
247
272
256
368
258
173
272
158
208
184
212
252
170
281
170
272
218
294
252
215
245
289
209
256
176
173
191
216
251
189
224
229
281
161
144
227
208
151
232
276
272
283
177
291
246
223
162
243
222
194
208
181
220
227
270
192
294
329
342
243
174
256
229
209
148
175
222
178
243
226
268
114
261
145
208
189
226
195
288
205
175
302
234
161
148
269
151
230
231
145
214
203
288
160
204
265
191
229
251
181
194
173
303
194
228
226
230
246
229
207
217
168
199
206
191
240
198
257
185
260
208
258
271
234
181
206
285
314
213
156
313
232
213
249
284
286
159
197
255
173
265
202
232
246
190
257
188
235
262
199
197
221
253
193
263
189
247
240
160
209
318
235
220
254
209
210
334
214
188
251
206
161
187
216
284
232
274
248
214
237
206
217
235
308
262
261
177
114
197
272
245
214
265
239
284
208
232
223
261
274
233
240
232
178
238
295
245
239
311
216
214
215
152
237
218
285
234
310
249
233
178
251
276
224
285
220
167
233
114
276
264
274
261
205
235
287
190
206
257
233
194
249
297
200
281
290
250
192
141
211
180
236
238
199
154
184
240
270
261
243
211
255
247
208
275
264
272
247
187
195
230
269
277
317
314
235
182
258
154
264
274
285
180
257
254
114
258
262
188
210
222
165
253
173
210
201
236
252
279
250
237
270
185
273
220
198
254
230
144
249
207
238
114
175
149
262
226
149
230
217
311
270
222
183
207
204
252
201
291
277
344
238
264
197
193
199
253
208
253
181
287
279
266
211
206
285
253
227
199
214
204
225
173
299
235
209
249
200
154
187
193
238
133
214
249
234
241
296
209
247
222
249
250
148
244
243
182
225
262
170
171
333
248
191
257
223
219
228
213
274
197
161
171
284
197
227
240
234
314
198
173
283
141
181
217
200
274
281
193
229
193
250
233
193
152
244
166
216
277
218
157
194
227
202
222
156
318
252
203
245
241
244
238
241
193
224
196
193
178
220
129
219
233
180
251
243
197
339
244
211
192
262
246
241
284
209
211
209
240
260
151
276
212
189
211
291
257
278
273
218
218
243
228
156
232
228
180
266
328
171
250
177
162
239
236
220
251
242
286
214
250
243
240
173
214
231
224
231
129
285
204
178
229
156
235
116
156
187
177
216
188
279
171
331
198
214
276
189
227
248
169
139
216
220
233
223
264
198
325
156
251
243
193
258
196
277
148
184
251
267
182
181
274
216
261
121
213
297
277
233
227
201
285
240
334
234
283
194
184
198
251
262
232
114
114
260
168
163
189
250
260
201
254
214
251
249
258
204
193
225
255
204
181
223
219
263
193
196
176
329
192
236
249
249
291
195
209
250
215
193
281
242
185
256
182
236
254
189
234
156
191
154
254
193
198
284
266
197
234
310
180
234
279
236
209
231
191
180
134
257
215
279
224
281
201
204
253
243
263
288
228
197
178
197
249
156
315
220
147
288
233
191
319
170
205
155
252
317
143
202
191
236
213
264
241
173
114
209
242
184
235
204
235
248
167
231
168
296
160
198
175
203
295
181
220
266
366
198
210
281
208
251
228
249
217
225
216
205
156
210
271
252
231
224
230
275
190
207
199
252
286
240
284
203
238
233
216
197
252
171
268
220
264
225
302
202
281
243
185
214
229
190
254
306
195
242
296
162
226
219
153
252
197
170
233
213
238
185
256
194
269
264
269
233
121
174
182
214
218
243
241
214
307
183
147
256
296
145
209
126
231
201
193
256
220
297
254
197
229
186
176
206
314
243
176
176
275
309
235
250
194
242
272
263
116
323
224
239
225
220
156
210
219
241
133
208
211
281
228
204
158
239
160
271
198
106
182
207
268
242
179
294
199
307
198
231
333
133
149
227
277
247
239
223
181
180
148
188
247
201
159
213
178
212
244
207
212
267
233
175
249
172
219
348
295
183
284
183
166
241
215
270
252
234
217
134
265
214
209
229
170
177
164
206
237
273
244
114
202
199
277
229
192
215
233
178
175
250
271
232
173
220
217
160
233
192
191
227
185
198
256
222
265
181
184
287
228
260
243
251
269
160
180
187
264
175
158
242
198
191
209
222
263
274
270
152
187
251
203
220
185
277
249
257
214
220
239
285
263
207
238
173
254
235
258
152
260
290
210
248
188
203
139
240
287
282
204
205
209
176
145
188
204
173
178
226
166
283
174
202
233
259
215
160
242
232
245
259
297
218
221
179
195
321
266
176
312
170
206
273
302
251
266
168
234
276
149
193
259
194
273
209
221
249
247
254
289
237
151
269
203
165
220
210
202
263
233
173
263
199
260
229
245
247
240
271
250
283
187
166
188
233
181
254
230
219
248
244
218
200
243
219
221
241
262
214
204
185
176
264
292
234
227
230
273
211
166
196
309
233
215
258
114
198
209
322
114
203
173
220
187
126
108
306
286
165
178
204
252
248
181
246
265
204
235
266
231
227
209
164
217
225
246
247
174
266
296
171
220
209
184
234
229
190
277
235
246
223
294
221
211
242
258
239
178
247
229
275
116
254
151
259
229
170
266
190
226
243
193
247
186
240
245
253
256
244
209
266
180
157
259
233
228
181
170
287
161
145
222
184
240
156
280
272
148
213
194
265
230
221
170
156
241
269
284
209
208
147
240
190
184
246
192
162
242
269
223
139
139
306
199
285
274
279
239
166
172
250
202
244
260
165
175
198
235
267
313
166
208
275
220
238
275
237
227
227
235
191
149
235
244
169
241
254
239
268
175
183
283
196
237
285
208
186
149
271
232
186
182
244
242
249
171
279
218
263
252
241
258
149
195
226
240
203
231
258
253
249
257
273
385
262
204
190
200
253
247
272
269
272
273
204
265
249
256
198
274
165
231
195
219
206
271
205
220
191
215
227
275
243
206
203
227
194
196
152
154
182
191
220
306
235
229
255
256
229
217
252
304
192
224
161
318
231
260
322
267
294
250
230
254
235
114
263
239
237
224
242
258
214
210
257
269
219
188
231
311
208
269
218
193
240
162
213
189
294
158
205
259
186
191
240
206
251
207
275
192
235
269
222
208
114
258
231
224
217
209
186
181
302
215
145
246
160
202
220
169
270
217
263
326
266
195
263
204
311
180
211
185
212
217
162
174
241
200
148
285
168
180
290
264
295
191
222
244
178
217
181
173
245
264
247
243
249
231
196
237
270
224
210
212
219
233
176
260
184
228
240
106
262
254
145
191
218
144
296
214
208
284
225
152
373
222
166
276
186
287
284
192
221
303
260
203
203
186
235
261
205
225
230
260
232
147
248
188
114
163
260
311
214
205
171
317
265
203
255
228
276
214
194
234
174
198
163
180
246
246
307
222
162
243
198
236
269
256
293
200
229
239
165
233
221
170
192
189
188
181
193
355
173
184
162
122
234
184
238
296
259
178
185
310
185
304
224
241
273
194
268
219
230
269
185
273
194
217
210
165
240
275
158
228
149
241
284
315
233
291
270
253
263
154
264
337
211
232
145
178
222
247
251
333
166
180
114
208
298
222
191
220
239
222
255
247
186
154
178
178
220
172
222
198
177
154
204
149
191
248
231
269
243
239
220
244
218
280
254
237
196
206
340
290
305
233
121
190
268
319
126
251
277
209
190
198
239
245
282
200
207
297
275
168
312
271
227
216
211
114
198
296
283
233
203
261
229
195
198
199
252
299
284
203
174
233
241
227
207
168
270
234
170
261
251
262
234
188
209
271
200
259
211
203
253
121
234
160
161
241
299
193
304
220
268
172
199
212
199
223
152
154
189
172
232
240
261
195
195
228
248
222
266
252
226
299
209
235
157
177
271
237
258
221
207
277
233
227
255
189
215
240
176
210
246
195
242
156
241
228
175
227
218
246
244
226
277
306
266
223
202
200
190
203
220
235
231
235
233
153
204
195
114
173
249
257
200
178
257
175
216
181
212
201
202
195
243
156
156
261
165
300
263
225
265
252
234
263
233
187
245
318
198
274
154
220
205
186
195
178
238
297
114
170
211
285
155
290
207
152
290
175
305
175
253
232
263
233
158
251
277
302
220
148
314
213
173
213
176
327
188
207
241
262
198
159
222
213
188
287
247
132
340
256
239
241
175
250
241
183
170
160
308
170
156
187
184
197
261
174
262
244
239
220
176
148
203
257
231
129
245
243
280
240
274
298
198
251
289
290
228
303
233
322
224
287
206
254
270
231
191
200
189
239
202
322
169
257
174
258
199
315
225
199
216
280
304
242
208
292
212
240
208
229
261
248
179
192
186
240
187
145
327
176
214
201
233
222
217
235
247
253
155
188
288
232
353
162
166
268
283
180
180
195
209
190
255
256
229
184
173
181
214
150
248
227
233
196
321
155
213
238
238
245
206
195
208
312
245
227
231
222
174
275
246
211
299
180
212
256
209
154
163
158
193
234
267
280
239
205
274
229
259
226
268
263
268
232
242
189
319
171
183
272
263
241
254
354
212
212
171
226
220
216
126
191
162
229
174
244
268
213
294
170
220
284
241
171
166
258
237
203
278
283
353
212
206
173
348
184
193
196
247
238
182
289
192
193
243
269
148
266
277
299
200
222
312
249
268
266
285
231
207
232
222
287
259
307
216
178
196
245
295
231
250
201
289
187
224
197
204
209
163
217
250
246
282
210
201
237
234
214
249
156
186
346
204
238
306
229
247
262
254
253
208
158
275
211
219
189
254
183
230
207
227
211
278
280
226
294
151
151
185
198
192
197
241
206
284
259
295
220
190
194
269
243
237
208
252
330
202
195
204
281
173
168
303
232
246
126
282
258
207
169
193
205
215
194
228
160
248
191
200
222
229
274
215
280
230
172
266
251
182
203
172
242
242
187
241
225
222
233
187
178
285
183
193
184
196
227
210
186
278
256
195
157
160
254
275
185
251
285
253
268
259
252
258
258
259
258
199
166
225
164
196
251
243
186
287
244
221
237
178
192
230
189
241
296
223
289
298
192
227
290
250
240
217
280
261
285
254
114
156
270
175
195
156
213
218
203
194
154
319
171
247
260
235
177
275
230
196
264
180
222
191
269
160
235
247
204
174
173
280
283
263
214
273
323
172
227
222
213
200
162
171
243
160
217
232
330
221
194
261
209
235
166
158
209
284
243
190
241
254
279
256
236
306
189
208
184
230
251
246
266
221
244
237
232
236
156
197
310
208
186
267
258
252
205
180
252
164
267
170
146
268
227
219
154
202
241
245
231
238
211
229
245
161
229
235
220
176
168
287
220
290
252
239
245
178
170
225
187
385
225
178
208
213
282
114
264
202
199
230
192
248
274
239
222
195
233
189
186
209
272
259
294
195
184
199
180
226
193
211
213
207
213
232
282
256
160
240
285
250
213
218
242
133
287
214
286
195
231
233
262
156
262
296
240
289
236
212
221
153
216
228
210
192
303
126
248
237
211
264
165
226
192
244
161
310
263
204
249
240
192
189
257
242
227
175
306
161
157
183
207
260
276
191
222
218
243
281
244
161
195
259
183
222
198
179
209
279
146
174
273
238
296
255
170
183
251
198
207
249
139
225
165
194
207
251
276
237
201
218
168
228
251
326
194
254
277
243
249
220
270
251
336
268
235
188
259
239
216
187
161
154
235
210
176
168
211
272
292
215
162
246
144
282
203
206
296
228
177
178
253
254
177
170
281
167
185
244
144
205
198
323
224
219
269
145
176
278
223
234
226
260
238
238
225
208
313
246
294
192
261
225
210
154
221
277
134
178
264
182
207
188
262
156
194
190
244
178
241
203
191
213
203
160
257
229
155
271
218
247
222
216
182
345
178
259
254
260
249
241
195
313
223
274
161
355
298
314
240
188
181
219
297
202
191
155
235
216
217
239
213
181
161
173
236
210
282
231
249
251
234
215
189
234
108
162
228
198
266
269
234
212
285
241
299
202
211
166
174
237
152
198
187
182
129
232
183
175
245
229
274
264
167
222
256
273
271
244
165
271
186
215
222
191
257
270
264
244
284
202
174
144
205
273
349
314
145
288
226
228
166
280
192
265
236
247
186
254
171
258
254
351
199
226
260
224
164
265
178
225
247
195
220
267
207
232
194
202
213
225
252
225
355
193
268
246
246
250
323
140
214
252
354
194
178
280
236
174
215
258
304
295
179
283
195
195
209
315
220
323
279
236
194
256
198
262
191
181
309
304
249
211
178
190
267
274
188
288
182
291
258
213
192
222
305
256
263
191
213
243
267
211
284
156
198
155
281
193
300
265
211
249
213
153
260
201
208
156
198
175
251
234
229
326
225
218
261
242
215
221
269
172
220
319
232
276
158
226
231
221
257
230
161
255
208
191
254
233
277
161
181
233
280
313
306
251
219
246
277
267
145
242
232
263
245
256
114
195
228
177
200
251
189
197
144
236
158
234
212
216
254
235
242
254
232
224
158
288
198
218
139
134
238
246
214
229
216
175
239
241
247
254
295
221
168
237
362
250
184
232
294
230
199
250
250
246
229
156
285
172
300
216
258
251
226
276
276
315
249
274
200
258
172
256
238
247
315
151
226
251
233
268
261
175
270
267
177
176
264
185
193
305
224
233
272
225
177
248
144
220
202
183
179
299
290
254
265
247
215
256
308
238
223
197
256
254
229
219
248
148
193
290
227
207
195
151
188
114
175
114
284
205
221
203
305
198
241
198
260
245
258
180
173
295
271
180
253
162
295
214
214
146
121
269
181
144
222
145
236
208
194
260
202
208
220
238
217
208
309
238
219
198
250
208
207
231
172
235
137
227
161
309
175
214
238
214
268
223
197
219
263
252
273
114
196
239
174
252
280
213
283
219
190
251
171
225
234
231
195
261
229
174
271
164
283
239
231
211
195
255
325
175
222
219
223
293
241
262
177
147
299
198
290
156
293
234
201
201
202
260
190
240
279
165
230
178
215
221
244
268
173
235
210
226
243
233
160
231
217
200
253
223
258
178
218
222
257
202
220
167
176
244
247
182
155
106
260
252
155
210
188
221
207
231
235
262
181
224
293
205
217
252
188
195
154
139
196
270
258
216
195
114
284
231
239
221
202
213
274
332
225
213
245
218
257
156
221
295
247
174
198
171
246
198
205
209
207
236
215
246
164
192
208
227
208
215
195
213
202
221
291
234
210
253
263
188
116
182
201
173
211
207
228
106
219
203
184
207
168
185
265
183
235
189
223
180
265
243
197
339
148
261
188
246
182
221
250
262
215
238
290
246
278
227
305
170
229
202
221
211
252
259
161
305
167
310
205
174
239
228
145
168
182
212
282
198
183
239
354
213
194
274
181
175
139
177
254
231
194
266
157
259
224
201
245
256
288
189
231
307
200
236
225
250
219
263
208
208
236
201
245
211
146
245
154
235
221
227
202
246
220
208
222
236
228
275
189
245
191
228
234
227
207
258
108
192
225
259
227
166
106
256
218
232
152
211
168
209
114
214
273
217
213
241
232
184
209
249
264
253
192
214
332
114
206
139
180
232
146
194
273
169
243
152
299
180
175
206
194
210
217
233
137
290
203
194
234
144
271
233
259
288
221
264
293
259
288
257
167
195
224
226
267
180
180
227
285
243
256
158
241
216
214
224
294
206
209
253
298
160
227
268
298
242
189
264
239
202
272
234
200
222
253
242
239
271
167
171
276
292
231
228
234
213
284
266
170
184
162
237
260
230
224
231
194
202
184
277
211
172
302
206
221
198
211
221
214
203
279
223
209
154
175
215
148
204
218
205
229
199
186
240
188
281
216
209
202
195
174
210
293
288
309
199
164
248
268
262
178
150
212
250
188
229
217
193
279
233
315
265
267
305
315
151
250
205
192
252
263
204
173
201
162
195
192
217
313
208
173
250
114
213
230
265
245
212
196
266
249
274
195
232
280
250
213
207
266
273
203
220
290
234
139
261
300
145
220
251
240
261
206
198
272
271
229
237
186
237
250
214
282
189
268
163
179
158
282
201
289
271
202
325
216
237
252
212
245
232
139
160
327
200
210
178
231
259
196
130
223
225
230
203
242
219
220
286
207
325
233
193
204
202
286
212
234
285
248
232
354
154
178
178
184
223
252
283
219
164
170
240
217
167
179
213
158
197
231
202
187
263
210
152
254
268
183
250
187
209
270
267
180
219
255
242
188
339
200
235
273
241
328
205
205
228
275
208
242
196
195
200
261
174
238
237
291
294
217
158
207
217
280
225
322
147
230
296
208
219
234
238
270
228
188
321
228
245
249
224
237
250
269
272
225
180
200
218
214
238
208
196
204
173
265
308
322
213
280
179
232
253
166
328
256
162
233
246
214
232
254
372
284
295
209
197
189
228
166
247
250
267
194
212
192
241
197
236
203
239
225
114
278
204
243
208
222
310
276
308
223
148
190
185
188
269
206
114
194
196
207
181
248
245
156
259
205
114
145
224
218
180
288
215
226
266
196
234
218
254
298
185
192
243
218
236
262
212
235
230
206
264
223
252
268
185
173
160
292
257
226
290
226
236
194
195
280
280
300
217
182
247
253
309
180
253
252
348
183
252
188
178
186
179
197
169
129
240
247
219
181
207
196
230
201
256
234
288
182
212
128
287
297
240
153
208
220
185
207
276
173
282
289
209
250
275
219
190
194
231
229
296
292
203
206
194
234
259
157
207
224
166
242
259
165
238
278
207
209
246
261
245
172
145
306
165
195
239
208
156
214
243
192
162
241
215
215
198
316
114
181
276
224
222
156
238
201
222
228
203
175
273
243
238
213
215
220
255
156
166
200
210
236
319
342
282
231
258
257
169
242
247
224
210
275
186
190
253
206
146
171
213
256
271
258
256
248
226
242
323
283
306
212
203
225
203
340
199
244
268
173
251
228
260
175
216
252
215
256
172
257
255
212
226
139
321
241
161
160
174
316
282
178
186
279
213
187
219
241
224
239
236
171
282
223
166
220
235
206
334
224
213
226
243
174
151
265
231
169
250
327
232
252
253
190
181
182
297
168
206
316
202
252
187
173
198
207
261
213
159
262
183
195
208
245
253
247
114
170
275
227
228
212
217
182
286
200
258
214
126
216
260
285
196
242
173
267
194
233
202
114
222
108
116
204
324
242
184
228
268
177
143
262
200
198
258
197
160
215
161
241
203
217
220
212
145
208
267
252
249
175
247
218
243
264
235
267
297
241
289
203
216
310
263
226
186
146
181
214
222
198
261
261
307
173
266
230
222
284
108
285
219
223
191
186
195
212
210
253
239
278
271
223
285
271
225
170
222
274
213
245
301
145
236
312
280
208
188
254
242
238
270
171
256
211
172
283
288
216
235
193
222
228
184
205
222
201
245
233
168
201
220
253
205
249
218
232
234
239
180
186
169
232
232
222
257
242
217
235
234
177
220
241
235
264
242
255
256
282
207
155
282
211
345
158
231
208
246
224
242
187
171
264
212
266
282
253
258
183
229
259
256
155
192
245
208
197
200
220
167
228
177
227
114
280
229
205
198
351
272
248
243
207
152
207
213
211
173
214
207
183
228
215
278
180
263
172
295
228
182
209
211
170
222
114
167
230
216
225
197
195
252
255
264
238
241
179
278
252
154
247
255
243
194
156
232
255
175
241
249
219
295
209
164
307
257
219
253
205
238
240
179
114
192
234
193
213
208
166
204
264
177
191
156
185
237
174
224
279
276
159
178
145
238
195
266
170
217
216
211
223
281
193
205
231
126
208
129
219
223
243
262
229
220
157
268
200
236
171
248
233
219
242
180
169
185
227
182
245
265
174
220
198
225
271
277
239
196
180
250
200
247
169
285
170
178
236
227
148
271
165
221
218
272
167
209
197
321
241
209
182
272
222
292
327
144
165
243
214
211
201
236
232
219
302
238
229
283
252
262
269
214
250
192
147
181
250
316
221
342
358
191
190
181
187
181
257
207
221
206
160
240
191
252
152
231
231
198
187
212
214
226
278
248
197
187
235
221
223
206
208
180
327
214
174
289
198
189
175
253
169
170
205
293
241
266
114
228
226
196
180
301
237
143
317
158
145
186
155
198
290
194
245
192
240
331
229
302
223
241
214
264
249
207
234
233
242
203
285
189
213
210
277
238
268
141
195
234
257
251
201
265
189
199
281
212
257
260
241
216
256
257
215
270
235
170
255
165
305
182
281
327
217
240
241
257
219
295
169
262
213
229
197
199
171
275
226
209
185
195
259
241
254
253
206
223
183
227
354
209
237
234
302
311
222
215
227
272
220
248
259
195
208
246
244
224
238
255
204
221
178
133
223
224
267
195
200
240
217
242
178
207
226
235
203
227
274
291
203
184
237
159
268
273
275
214
191
211
256
256
279
264
172
211
240
149
240
207
160
246
193
160
287
128
261
252
213
166
231
308
270
314
245
212
307
173
255
222
199
156
159
199
342
174
294
204
159
144
232
248
194
192
262
160
194
241
222
219
178
282
177
245
240
271
146
335
245
258
299
197
221
171
229
280
290
247
227
212
276
195
162
296
304
231
251
234
263
160
239
170
240
250
258
225
173
244
221
267
278
222
194
208
245
287
200
241
350
270
145
244
173
252
216
184
267
200
212
178
190
228
243
175
217
187
227
188
287
275
197
222
192
237
269
224
208
198
246
229
225
204
237
217
157
245
170
269
232
322
196
276
208
197
176
289
260
211
192
254
158
238
231
191
253
209
228
235
162
218
331
233
220
152
317
271
206
291
267
243
192
253
114
205
229
175
243
285
200
165
205
148
218
226
241
240
194
217
251
269
262
239
163
281
203
222
270
280
243
164
175
148
220
242
316
157
241
270
187
229
233
181
217
195
222
206
207
207
192
245
238
250
139
162
239
222
214
240
220
301
201
241
230
202
232
175
180
327
183
278
279
238
202
183
180
208
236
273
212
226
264
241
192
162
197
218
186
235
168
212
300
277
194
282
246
134
249
294
289
157
266
204
242
270
259
246
231
245
220
234
232
232
208
236
325
182
298
272
207
223
230
203
344
146
219
181
264
228
173
200
262
255
211
188
225
238
266
198
205
245
181
232
214
275
230
219
178
230
224
205
236
238
139
188
253
240
217
235
207
233
155
237
239
249
233
202
279
216
209
192
259
231
264
266
229
271
217
240
218
219
263
238
250
296
192
196
200
267
161
252
236
258
213
203
207
212
181
168
230
217
238
269
214
172
252
225
181
266
171
252
175
273
196
256
213
223
214
223
190
221
206
223
250
288
198
170
305
189
195
238
295
152
211
204
177
268
284
287
340
287
195
114
205
180
223
246
248
233
251
207
147
166
271
188
215
182
235
260
234
304
266
251
197
259
232
226
184
284
238
242
196
241
156
154
279
114
260
203
221
246
206
255
213
176
184
158
216
291
242
211
252
243
260
185
199
261
287
265
299
145
280
256
274
220
168
255
140
190
250
214
215
180
251
230
199
286
176
285
221
271
257
267
190
295
215
171
194
246
293
189
235
193
260
210
230
213
180
295
169
170
265
232
175
242
243
130
285
217
158
211
294
258
214
213
225
195
197
280
220
234
302
214
241
189
195
238
200
242
205
203
230
130
245
186
245
234
324
151
237
211
203
194
178
210
114
210
350
234
201
114
238
209
181
239
228
265
151
266
198
296
211
238
141
261
170
189
248
297
240
213
238
247
213
260
181
217
232
207
160
212
224
260
116
158
213
217
207
229
247
264
243
203
212
176
114
239
168
228
145
169
241
286
258
168
196
205
248
228
176
196
252
215
255
167
252
242
254
260
239
195
184
293
176
221
233
254
240
222
198
213
214
276
174
114
310
250
190
250
182
197
160
178
222
258
189
198
227
238
284
145
199
213
215
207
267
288
291
275
200
152
258
211
257
236
326
199
208
222
217
247
198
226
160
235
165
265
166
232
200
226
193
181
190
313
258
240
247
269
218
189
244
338
239
205
271
223
215
198
260
114
160
281
326
190
215
156
223
208
278
170
281
188
266
317
240
178
174
235
170
213
192
266
220
128
295
160
272
252
239
215
270
174
245
266
240
234
306
176
207
231
250
196
211
176
202
185
197
199
325
218
222
230
211
256
228
200
257
262
174
234
277
184
202
186
251
154
292
210
174
185
228
244
284
260
243
273
145
200
152
152
186
164
238
222
193
224
257
181
230
354
234
226
277
182
236
258
263
199
262
188
228
239
179
283
213
200
245
108
161
195
275
221
152
243
251
134
205
309
160
225
240
218
280
258
291
245
151
225
266
250
200
235
114
231
203
241
208
232
245
241
233
234
184
216
180
266
200
228
239
229
222
253
254
309
197
300
241
249
261
257
211
289
209
300
211
200
286
114
188
179
235
310
233
193
154
182
223
154
246
218
264
302
224
204
266
303
298
241
253
184
277
302
114
256
139
181
303
177
268
278
202
305
280
233
269
171
276
228
133
238
209
263
321
194
306
250
265
208
256
218
176
273
156
219
239
331
264
241
178
169
175
213
164
297
165
263
242
226
114
176
209
206
279
182
243
261
259
192
304
297
333
232
193
324
157
296
144
193
192
190
278
240
205
211
187
260
164
258
220
187
214
318
240
225
172
267
228
264
208
262
165
214
222
246
172
233
285
182
236
203
202
243
223
195
121
243
160
282
267
129
225
210
266
262
178
169
308
209
139
203
240
165
309
243
200
212
228
257
230
205
264
168
206
245
245
212
204
257
217
348
247
242
246
197
198
205
240
220
267
154
355
214
174
232
182
146
279
220
194
195
300
278
176
190
234
266
250
184
225
157
222
257
228
207
310
199
243
231
244
225
192
261
304
204
227
186
156
161
198
170
178
260
223
274
274
222
201
299
206
322
202
219
260
200
219
227
299
240
248
180
152
319
238
246
224
203
227
208
220
240
255
223
225
169
225
168
224
153
231
208
201
220
222
236
215
244
191
183
219
270
256
273
202
241
155
213
170
114
325
220
217
270
184
221
219
245
230
204
210
190
163
191
168
183
198
184
162
245
245
237
208
175
188
255
159
253
304
173
226
245
190
263
181
155
256
300
114
151
266
250
266
234
235
224
175
165
178
206
223
188
225
281
216
164
189
180
269
248
241
176
192
175
212
244
242
252
114
290
260
154
200
199
246
300
263
169
265
224
259
152
283
222
252
256
270
222
318
226
257
241
256
234
269
237
260
202
268
317
290
245
201
146
200
271
269
274
223
154
240
155
280
238
261
197
267
202
235
225
180
179
232
215
171
215
210
192
266
196
244
160
161
224
241
266
223
232
246
231
335
185
241
323
221
229
218
250
241
303
220
213
209
288
250
184
169
220
304
217
207
178
170
319
233
227
167
289
181
190
205
234
180
182
280
158
182
227
239
145
221
238
238
217
251
295
218
209
224
192
202
197
316
205
175
272
257
187
327
238
170
233
189
194
210
191
262
126
275
272
223
300
208
219
233
195
204
232
166
228
233
222
260
260
178
195
173
205
273
222
202
149
170
212
215
253
211
232
192
253
195
144
256
246
160
263
276
126
151
207
261
200
188
212
248
233
192
171
227
265
213
267
240
236
222
188
159
208
229
285
212
178
286
254
187
270
178
242
237
164
220
170
166
285
252
259
243
235
247
215
184
158
116
214
234
239
239
209
273
173
227
156
336
201
153
244
145
300
192
201
272
301
182
187
255
229
316
258
293
200
369
205
212
227
229
217
259
190
194
208
257
233
218
220
252
287
194
209
165
177
224
319
234
321
165
247
275
201
173
247
211
264
225
194
249
218
324
347
257
289
274
249
288
214
239
267
254
198
269
152
278
223
225
211
265
215
238
114
221
284
274
245
288
171
239
220
227
255
228
239
298
224
226
208
209
224
244
253
225
258
267
247
250
196
182
187
172
250
192
227
274
233
218
190
199
187
183
265
282
326
221
308
276
224
186
219
193
257
224
280
246
220
198
199
269
192
275
221
186
277
211
198
200
251
253
177
223
206
272
288
335
192
216
230
190
160
164
277
305
242
192
251
248
208
206
200
169
181
239
297
176
235
160
264
207
168
270
228
184
202
196
180
178
184
190
182
228
245
199
287
159
240
234
271
217
275
234
258
239
268
195
160
255
249
189
305
267
258
259
286
217
246
227
224
208
214
249
178
114
254
206
288
203
209
203
242
269
190
217
205
225
229
234
315
253
193
220
262
162
222
270
192
170
178
247
210
265
243
250
248
235
308
252
242
207
252
247
283
166
255
244
222
237
156
256
215
181
263
238
219
255
204
240
273
314
182
172
308
199
170
260
285
173
309
265
242
233
221
229
209
181
202
219
218
234
213
145
204
233
301
180
301
176
209
239
224
311
220
157
221
209
277
222
227
309
245
254
149
189
255
208
190
214
173
247
283
181
226
219
181
231
199
180
197
219
179
199
206
212
226
327
310
210
177
247
220
193
203
213
198
215
282
203
245
223
218
139
248
173
245
205
235
196
274
253
255
253
201
186
247
174
169
247
170
296
146
228
178
290
242
253
206
220
179
224
249
179
292
178
188
280
153
280
256
182
241
272
217
152
194
145
241
250
203
357
114
225
211
235
284
171
267
219
237
151
217
278
230
215
296
252
261
297
245
260
215
175
216
227
202
221
195
197
207
198
126
227
196
242
181
229
236
200
200
222
252
235
126
206
260
218
268
244
249
223
268
313
249
290
192
178
279
218
244
217
233
260
203
198
200
273
167
144
187
257
205
223
244
186
186
246
152
285
329
194
160
312
227
228
175
291
190
250
203
194
265
243
121
242
196
225
203
232
220
268
237
215
202
178
186
210
319
289
252
220
271
175
273
258
192
236
241
145
121
180
273
234
217
171
334
208
192
239
220
179
206
295
240
247
231
213
114
169
187
116
157
218
152
293
301
174
237
243
251
179
299
207
232
283
216
160
246
212
234
170
199
144
171
173
198
145
259
222
178
258
213
225
236
226
170
285
193
247
199
282
218
269
255
242
273
176
163
200
208
212
144
195
217
197
179
222
248
280
285
192
227
244
236
200
272
207
202
244
214
194
194
230
300
272
220
178
267
265
200
241
108
174
247
253
240
271
281
278
213
219
234
225
242
196
184
230
114
238
297
264
215
139
269
258
215
231
195
219
260
251
247
206
308
219
298
208
230
196
241
221
198
218
231
147
230
161
174
240
168
231
231
303
156
253
259
271
231
221
285
248
114
152
207
219
174
211
284
152
247
173
208
213
224
240
173
198
198
265
165
313
232
276
216
211
181
184
172
245
225
228
306
205
289
198
202
256
256
209
213
203
212
211
229
212
246
246
256
221
263
249
210
229
181
250
198
238
316
280
244
249
236
172
218
193
178
207
233
229
234
173
193
285
201
114
325
173
245
185
275
217
180
216
237
184
370
221
191
292
276
177
234
234
284
240
189
284
170
296
190
204
221
263
184
241
299
269
227
286
256
183
221
244
287
263
278
262
323
261
212
215
328
206
178
207
114
188
249
243
192
198
243
256
216
207
212
219
250
291
244
214
261
277
201
208
219
319
215
278
181
187
254
219
209
227
148
177
211
207
236
264
166
244
203
245
189
180
206
271
229
242
202
165
256
133
243
227
210
240
191
198
227
210
232
184
249
203
277
116
259
183
249
185
180
301
198
169
239
267
261
274
234
174
270
152
196
230
198
154
244
179
320
216
206
245
227
165
181
247
261
184
237
231
264
205
313
241
328
213
258
161
237
183
179
194
195
312
200
156
208
209
231
265
201
226
195
207
250
178
294
184
193
246
338
178
229
245
168
195
114
213
158
206
251
255
200
212
305
157
247
193
206
173
171
245
219
181
190
419
200
261
289
203
182
244
247
289
306
197
237
156
218
290
206
194
179
315
178
212
237
293
199
225
184
209
168
191
191
256
178
149
202
114
232
226
160
206
209
257
252
211
274
214
194
216
165
171
213
233
147
215
190
204
228
254
181
248
215
194
255
230
242
175
301
280
237
261
237
246
224
165
194
254
204
236
275
209
288
216
269
238
248
193
252
275
200
254
169
172
263
305
234
143
249
144
302
215
139
314
219
193
169
175
282
194
218
230
227
314
203
250
293
230
238
226
281
152
269
192
175
231
238
303
331
187
196
272
229
232
151
208
190
233
244
188
219
290
193
277
251
253
251
153
217
181
173
203
191
239
277
152
175
156
171
222
154
286
253
171
232
189
278
244
222
257
195
217
299
200
177
199
203
273
198
188
168
346
269
214
220
219
240
198
238
295
205
165
308
272
233
174
274
218
221
264
264
191
116
171
223
171
258
195
245
224
222
202
153
243
261
222
165
164
230
249
187
208
186
220
213
269
251
232
205
225
164
274
152
247
219
235
209
215
199
296
254
270
106
187
182
270
311
252
249
180
178
195
220
197
164
305
156
185
197
223
251
243
252
189
231
250
238
217
279
222
182
236
218
160
217
114
229
208
279
219
269
157
221
241
148
285
300
240
187
225
181
193
168
221
178
233
250
197
184
192
200
248
152
191
303
260
169
239
234
173
251
206
214
270
164
274
192
244
215
244
198
212
176
188
236
242
213
261
116
211
228
139
236
188
210
253
146
178
186
255
239
183
241
216
192
200
248
259
278
252
211
235
188
187
181
301
166
198
179
191
261
130
238
283
295
210
247
245
219
235
270
249
224
114
263
225
288
121
208
214
285
158
183
191
175
269
276
201
212
193
272
235
169
218
254
178
137
237
193
257
264
202
221
260
229
288
151
145
256
318
222
274
160
254
213
225
222
238
289
248
280
293
219
202
228
194
292
205
287
264
219
149
227
218
164
198
251
217
126
231
277
171
236
158
160
217
204
205
229
241
237
160
276
178
298
198
189
229
170
114
206
161
244
334
211
223
193
219
189
274
278
256
288
231
290
203
252
142
151
296
183
197
211
211
242
209
284
248
255
219
322
197
334
241
259
275
168
252
257
251
216
162
244
283
279
243
239
307
249
226
199
209
193
224
268
259
161
194
218
290
209
268
226
215
170
161
199
293
211
200
191
269
252
246
309
214
257
288
260
207
249
282
226
312
191
230
151
212
267
281
176
272
186
196
168
148
277
240
186
240
196
227
261
263
260
216
337
341
193
311
166
267
269
209
330
293
173
233
282
229
296
180
276
189
184
218
205
265
232
329
197
247
215
227
152
258
215
205
249
301
182
234
238
259
196
182
256
234
170
198
265
186
173
203
245
203
278
192
201
195
153
183
278
252
295
291
189
297
206
200
179
347
226
212
114
262
221
261
173
212
205
251
217
207
180
189
263
272
266
229
154
236
218
202
188
226
212
277
213
197
254
213
277
152
258
206
218
210
280
210
228
229
271
175
190
232
158
199
204
193
242
200
270
254
171
234
192
240
298
160
208
161
262
229
226
270
249
231
211
203
251
178
252
173
234
276
178
286
244
240
209
121
114
348
275
199
180
180
239
195
211
243
213
260
232
236
219
287
147
322
209
206
228
288
185
189
137
265
247
258
227
243
194
184
250
277
191
275
278
215
247
208
255
170
216
245
185
170
149
330
268
235
230
259
160
179
225
250
241
198
262
188
225
242
126
290
283
189
219
341
297
230
206
272
217
267
252
114
215
151
296
221
214
306
263
170
210
230
199
207
244
191
221
256
173
272
263
276
244
261
139
245
189
233
225
191
328
205
235
205
230
231
242
235
179
229
242
235
248
245
232
144
234
228
167
268
269
276
202
181
222
170
264
253
233
251
170
172
182
183
197
239
191
182
336
234
166
226
213
129
176
257
278
228
252
257
215
217
202
196
177
282
220
192
147
190
257
129
231
203
231
189
175
238
233
278
144
287
152
200
126
227
257
222
200
169
220
332
241
256
178
258
255
275
280
201
309
250
190
228
251
235
235
122
181
282
211
276
166
203
303
280
236
287
238
219
211
186
260
193
285
223
268
229
203
174
231
255
147
244
306
182
177
189
260
219
175
283
213
194
265
232
231
287
181
233
276
178
238
281
291
250
296
282
161
218
272
276
261
244
293
202
191
244
226
244
141
221
311
247
241
289
248
202
278
200
279
216
257
286
273
221
228
278
237
238
170
241
192
201
192
228
184
214
236
214
275
208
260
300
273
256
238
266
292
207
213
170
284
285
170
211
169
276
244
227
212
144
186
182
235
285
229
180
214
183
218
308
211
251
240
184
271
219
175
215
213
209
214
207
293
245
233
222
203
178
203
191
178
293
180
289
181
183
148
263
229
229
248
155
254
238
233
144
178
279
174
251
300
199
197
156
193
303
220
160
186
248
160
228
208
225
197
256
224
230
288
207
168
198
287
229
184
177
262
223
222
173
249
195
208
166
206
198
175
291
174
174
215
238
106
231
223
289
236
229
208
299
296
244
222
270
242
169
168
241
280
275
253
293
333
192
249
168
157
185
273
249
230
170
247
195
228
222
199
161
231
291
194
202
207
166
174
255
269
218
187
187
221
217
214
166
274
203
273
199
225
207
199
231
228
278
224
211
240
264
236
196
196
139
173
172
228
207
275
241
247
174
195
239
273
279
246
266
167
252
241
242
315
198
266
262
198
264
267
166
158
174
252
195
296
196
260
247
238
211
216
276
206
185
237
256
212
156
195
207
212
200
170
238
235
334
214
178
195
173
234
241
144
185
161
266
297
230
245
194
246
281
287
240
242
235
175
218
182
216
218
230
281
206
244
252
226
160
184
206
225
212
251
187
242
170
221
126
259
231
293
246
267
201
158
234
193
225
229
214
248
305
157
209
194
264
233
208
216
214
273
226
294
328
271
195
262
240
192
205
208
192
170
181
242
139
185
129
253
265
227
208
255
160
189
299
231
274
261
195
236
160
192
249
216
225
200
146
314
224
178
195
255
249
198
267
174
225
276
292
259
270
223
285
253
238
174
199
220
213
272
263
239
258
203
184
291
181
276
206
185
192
194
201
238
200
183
195
285
187
234
193
246
181
239
186
237
279
170
223
192
221
258
162
230
178
258
253
231
176
292
252
221
189
213
219
165
283
272
266
188
286
251
279
217
251
177
245
193
253
178
139
270
250
192
226
243
243
221
192
325
302
179
247
145
151
264
220
235
235
230
234
231
219
231
193
214
291
148
289
229
244
262
237
147
271
156
154
247
299
156
227
166
227
279
284
311
209
200
169
293
223
193
231
206
242
199
213
276
208
241
201
195
226
219
205
231
266
313
331
191
225
284
241
272
288
219
206
196
270
204
221
220
247
236
227
195
262
274
203
277
261
239
218
133
237
303
212
211
191
247
181
246
178
129
215
246
223
280
297
160
327
237
174
258
163
262
152
247
287
178
226
282
224
270
200
164
195
263
205
158
208
215
243
215
149
222
255
252
242
177
235
272
244
156
201
246
185
264
190
236
161
209
250
172
114
171
263
223
281
245
277
243
216
241
175
235
333
226
179
218
187
187
220
269
180
251
265
261
196
190
192
251
258
132
243
242
186
230
249
276
250
238
217
252
211
196
261
162
192
298
203
315
292
231
292
187
270
198
196
200
247
238
249
241
260
253
214
241
234
222
234
192
252
114
200
213
237
246
179
235
194
121
189
227
260
260
231
156
273
192
270
208
215
192
154
204
272
174
209
282
229
240
187
282
122
306
268
114
325
267
179
204
189
204
273
258
235
262
268
171
219
194
261
168
318
241
193
209
149
147
231
255
218
283
178
257
191
230
220
209
170
190
291
301
215
209
258
319
292
205
224
280
202
199
230
184
249
219
190
244
231
233
182
233
207
212
228
301
232
223
224
220
171
179
216
256
240
264
228
268
313
271
234
308
234
204
179
173
258
195
192
216
191
215
203
259
238
151
181
228
314
205
154
192
201
192
271
251
227
195
157
114
223
211
225
267
181
200
160
219
190
226
180
240
176
237
296
160
257
202
205
177
262
237
214
266
282
284
246
280
243
220
289
315
246
165
253
224
229
251
247
238
220
241
241
233
234
194
165
189
192
182
212
306
234
163
173
273
224
222
218
175
214
271
214
217
216
152
225
223
214
198
211
134
184
298
224
262
292
249
330
283
228
283
167
223
204
198
162
213
126
286
277
243
225
196
178
249
298
230
186
261
228
155
189
261
284
195
233
250
233
218
260
224
162
140
144
169
222
216
194
293
220
206
270
218
130
234
257
230
253
211
237
233
164
241
247
197
260
229
243
171
247
222
224
168
240
146
190
231
195
199
195
238
256
190
281
212
164
233
248
347
220
181
196
237
200
202
227
205
203
267
210
184
160
241
219
263
250
242
226
289
202
208
159
240
356
190
263
160
145
242
220
175
193
203
265
286
215
179
233
208
213
261
220
197
174
225
184
317
169
234
171
160
225
210
306
288
231
236
216
247
259
218
196
170
192
217
208
167
209
258
203
173
257
188
168
203
233
244
253
300
170
234
219
258
205
222
271
154
221
289
284
241
255
243
263
285
290
235
220
230
224
281
231
176
205
233
299
240
261
234
209
226
180
183
145
243
295
209
270
268
180
184
225
295
183
223
261
261
193
212
276
199
187
301
264
205
239
275
183
261
276
338
230
266
277
173
208
184
205
275
193
225
145
244
211
157
146
194
188
169
166
260
231
251
255
230
174
263
192
190
182
234
281
238
214
230
237
272
281
241
249
313
181
209
300
244
195
238
304
216
210
147
307
190
156
299
259
232
253
260
201
160
152
250
247
198
185
176
238
297
211
214
157
179
194
203
271
270
244
225
221
235
145
297
178
289
189
304
201
216
250
252
185
247
288
212
174
219
220
204
195
239
209
151
306
180
271
305
240
256
209
140
240
211
198
241
192
156
185
215
252
162
212
255
208
208
253
278
205
241
261
193
238
218
218
165
145
235
242
114
185
277
209
261
224
242
157
227
181
311
252
226
156
303
238
219
159
186
277
283
266
222
206
226
216
200
182
298
241
177
251
174
126
232
266
161
205
215
190
200
126
211
227
238
258
162
201
271
278
185
213
263
229
259
273
200
244
237
241
264
208
316
158
193
255
263
227
188
220
206
233
271
207
179
295
262
233
170
169
189
246
263
284
250
250
154
294
243
181
234
170
211
248
174
270
207
220
279
311
188
216
138
190
126
246
202
191
261
184
232
242
187
108
307
146
225
178
267
146
243
254
194
223
195
173
239
257
248
282
211
249
146
239
198
216
193
158
129
235
207
161
241
175
250
262
296
260
158
173
266
152
168
162
224
196
212
222
200
242
210
248
252
180
214
283
212
190
188
255
156
217
193
274
145
254
234
221
206
169
281
281
197
189
246
170
212
170
276
181
192
208
228
270
164
299
227
186
242
296
300
255
222
225
233
214
139
182
170
248
255
160
256
275
311
316
146
219
286
249
223
221
219
181
210
235
210
236
177
227
189
212
207
212
260
238
228
272
209
257
267
239
242
164
256
283
319
174
191
192
211
188
185
245
204
175
197
249
170
237
238
227
246
192
339
286
258
314
253
208
281
198
195
282
284
259
287
215
195
160
234
168
154
229
248
273
242
322
261
209
230
177
166
215
248
149
232
232
152
175
230
182
219
212
234
186
276
229
242
200
196
233
165
205
239
257
299
263
247
185
322
187
225
211
217
216
155
238
153
172
226
165
178
323
235
320
203
247
161
285
213
193
274
238
258
234
219
253
198
186
187
156
197
155
295
239
214
288
247
345
304
231
213
210
255
207
294
242
266
222
243
215
296
222
201
210
208
211
241
202
297
229
201
246
331
221
200
114
234
282
234
176
174
203
208
297
206
218
269
167
232
250
260
325
332
204
235
229
162
180
233
216
221
216
228
232
243
233
175
258
244
251
184
250
319
189
149
228
289
257
221
243
206
215
195
230
307
218
263
182
260
243
241
213
290
196
196
181
257
229
269
335
240
253
253
193
170
203
263
265
218
221
258
261
230
156
297
193
213
231
193
234
277
293
292
198
223
199
241
209
272
258
255
265
353
214
257
219
293
284
233
168
179
225
238
274
222
297
188
226
220
215
262
207
217
195
224
217
300
144
181
228
185
249
240
231
282
244
251
287
209
234
188
191
212
181
234
196
205
209
219
258
230
161
306
217
276
235
263
190
169
257
202
209
185
230
250
237
251
271
201
234
241
192
199
155
246
220
188
145
207
175
177
241
195
152
235
217
305
231
285
245
277
233
318
166
213
198
204
242
243
278
349
218
235
259
278
192
282
246
234
250
218
263
265
219
213
234
206
209
193
221
242
236
220
266
263
276
207
179
215
255
268
228
239
248
218
233
198
258
145
231
251
191
227
262
268
228
181
213
187
213
237
267
221
242
167
305
260
270
215
194
156
311
165
245
306
253
311
246
211
114
216
190
236
176
114
283
262
250
173
221
226
154
203
199
222
315
196
237
194
220
208
240
243
251
170
248
254
263
229
203
157
219
184
280
193
175
270
164
197
195
298
335
206
276
311
241
259
277
281
203
161
180
207
211
197
266
269
196
241
161
235
207
317
202
229
208
248
333
215
257
253
265
188
149
191
203
235
293
221
297
213
215
256
215
269
289
227
224
237
222
216
239
177
226
279
223
173
177
245
194
203
161
189
231
159
166
281
241
188
215
198
329
200
198
174
198
182
263
245
256
266
219
220
318
242
236
221
180
243
146
180
218
126
192
268
261
250
205
190
205
207
284
264
382
223
268
223
183
205
210
235
168
156
192
248
214
265
195
287
177
221
224
183
250
289
218
300
202
212
299
243
192
215
299
200
220
224
197
241
247
208
236
169
285
176
225
174
260
227
230
201
249
287
184
260
261
266
234
218
302
191
190
145
206
242
209
284
254
331
308
262
223
249
241
170
266
244
212
200
167
209
212
208
212
214
207
238
299
303
253
198
217
358
271
207
211
265
221
292
232
218
192
114
232
295
254
175
186
301
178
211
246
228
303
215
263
273
244
249
245
170
242
225
299
252
287
213
318
219
220
214
258
227
178
286
214
234
254
218
171
191
220
256
209
253
231
247
196
228
234
226
212
209
229
236
114
210
235
257
318
221
231
225
294
190
177
195
258
269
295
174
295
251
299
252
185
181
160
166
147
213
218
215
269
230
147
246
166
248
179
172
270
192
200
225
191
181
174
300
173
258
175
255
206
260
231
179
240
288
208
301
232
183
207
228
290
162
206
285
264
252
202
304
169
185
193
256
152
197
192
233
234
262
268
197
169
192
182
193
263
206
294
284
181
182
170
254
256
246
279
224
273
247
236
194
187
195
231
225
208
219
224
216
170
280
154
173
202
142
183
270
191
171
197
265
214
171
181
226
248
233
255
302
248
228
325
232
271
229
273
195
273
207
239
209
320
211
287
214
243
216
230
217
289
260
337
160
181
238
174
200
265
173
114
181
225
258
217
243
114
175
243
343
175
238
203
207
218
176
228
317
178
221
226
171
255
225
266
229
261
197
241
209
206
291
226
232
198
181
214
198
220
221
225
231
248
210
278
218
214
229
233
231
139
215
209
274
251
238
206
250
169
194
156
230
222
236
267
147
204
223
221
241
274
219
311
178
225
218
214
216
206
277
175
230
320
307
217
241
114
114
209
214
192
116
207
183
204
258
207
214
197
242
225
300
176
231
295
235
234
216
114
163
297
333
280
173
261
261
262
222
238
182
204
242
235
206
275
203
186
259
260
258
208
185
286
230
221
181
216
176
247
198
114
234
173
224
181
191
241
160
216
235
338
191
266
235
173
161
331
200
168
216
146
219
205
208
175
185
207
200
255
304
241
267
272
203
195
231
212
316
262
199
230
240
152
274
229
212
126
211
235
108
172
283
193
198
283
224
246
286
253
327
188
271
215
317
226
194
225
149
130
193
204
283
216
266
255
151
203
208
232
149
228
151
273
147
251
206
214
205
298
195
200
212
299
231
240
218
313
226
216
178
252
194
254
198
298
277
308
200
144
157
240
222
225
268
281
173
217
129
175
189
217
239
139
242
238
241
159
192
198
229
262
293
243
256
277
139
259
256
185
195
285
257
222
241
195
275
260
310
289
213
225
261
272
287
174
334
216
201
224
306
230
219
135
206
257
156
278
211
149
116
211
219
220
265
233
223
154
305
216
220
269
254
288
176
196
296
234
114
209
251
158
139
212
156
257
208
188
184
249
258
185
227
187
288
239
260
209
225
157
175
262
284
260
203
129
243
247
277
260
285
221
228
239
234
154
173
282
234
244
168
133
335
271
236
294
190
259
187
222
232
267
218
230
245
169
235
201
185
220
334
171
185
277
189
309
228
269
196
128
221
253
207
287
249
262
270
160
199
249
195
314
173
279
220
185
232
145
202
249
237
202
208
204
299
220
192
267
190
303
214
279
202
194
225
250
227
230
266
215
211
153
176
211
242
258
213
275
217
348
241
207
114
256
188
141
152
166
266
301
257
197
284
156
144
216
227
177
139
243
217
210
246
181
181
219
170
212
247
231
214
234
284
194
211
173
247
182
188
225
200
267
270
263
161
212
279
160
191
201
208
209
278
178
226
200
212
202
189
181
250
195
224
276
222
146
202
276
220
221
176
235
235
216
193
234
290
160
198
257
230
301
243
231
255
249
239
178
252
206
203
180
328
211
246
215
195
216
201
211
177
277
248
214
234
114
175
154
236
289
160
243
221
176
168
305
278
188
200
255
255
228
176
230
214
265
242
285
173
171
187
245
184
224
191
172
327
226
274
226
217
250
207
198
170
244
201
197
226
178
236
108
219
237
214
269
178
135
229
163
231
164
324
180
276
248
174
253
129
244
270
164
213
145
215
180
258
234
211
210
283
284
210
211
315
221
249
191
198
206
231
224
262
176
218
212
249
260
250
275
247
198
219
246
217
223
213
268
151
178
205
191
288
280
227
234
205
204
188
255
194
274
200
216
193
216
189
212
217
200
198
166
228
253
218
114
139
192
230
198
240
219
183
203
253
224
209
146
306
270
250
229
287
212
285
277
313
244
212
199
181
262
174
203
281
209
273
210
222
180
201
253
199
312
283
270
158
239
239
277
253
315
249
181
212
180
239
148
170
312
231
222
268
230
246
178
217
175
292
218
196
251
277
363
213
221
210
244
204
266
114
179
206
251
225
262
244
255
355
157
198
267
228
284
185
278
173
156
174
296
227
283
207
212
276
200
198
231
242
229
213
114
245
202
235
251
217
239
228
180
251
200
250
170
193
160
217
205
273
206
249
265
215
191
264
235
173
222
281
240
257
227
165
247
246
247
185
338
209
272
239
337
232
237
181
280
246
347
162
213
175
270
247
187
242
239
220
250
237
209
225
188
283
270
267
272
289
168
190
315
373
289
157
203
265
193
298
305
177
228
247
332
295
267
216
187
154
114
214
190
218
226
200
249
227
173
239
256
243
232
186
192
230
108
210
233
290
231
221
272
265
219
216
210
264
306
210
271
193
162
256
223
252
225
262
252
230
218
210
256
179
236
229
236
245
218
232
222
267
215
197
215
208
175
146
252
210
160
244
260
276
251
258
203
216
294
265
287
181
234
247
166
215
155
230
219
224
114
251
195
243
229
283
212
249
236
294
177
243
256
216
270
175
174
208
156
258
247
328
205
239
222
313
198
191
263
203
191
208
207
280
232
233
142
229
180
139
218
177
208
192
193
267
181
327
273
231
283
181
180
258
240
207
152
285
222
267
252
334
195
168
230
232
297
229
247
227
235
213
172
208
254
244
209
259
267
221
257
212
310
262
260
226
237
187
316
237
167
285
216
233
273
255
130
228
197
287
227
205
272
282
201
218
305
160
170
209
206
236
193
191
204
190
192
223
211
230
253
182
198
262
218
239
287
200
221
201
206
235
238
270
197
258
218
245
188
255
191
159
242
257
201
168
202
218
175
271
247
257
209
197
179
245
229
204
233
278
179
278
212
235
252
157
272
214
209
176
198
302
238
286
170
282
202
254
207
198
231
227
217
219
194
204
146
199
200
192
183
197
236
211
248
279
182
279
199
201
233
199
261
251
165
247
271
283
210
234
291
152
231
186
160
185
257
221
272
243
283
315
232
188
218
247
218
215
200
280
283
296
330
174
171
197
304
292
263
254
194
247
197
208
231
252
203
194
221
244
173
231
332
244
232
234
250
183
226
312
234
202
192
217
244
211
278
253
292
213
250
250
177
192
161
313
177
220
291
295
218
202
213
178
246
226
196
268
274
196
250
217
285
208
276
216
290
176
279
207
192
234
208
126
231
174
181
219
233
242
291
170
224
245
227
203
243
318
238
200
231
178
139
191
295
265
237
211
232
263
206
202
253
185
145
220
250
265
276
178
254
193
227
217
255
201
161
281
191
276
295
301
258
248
156
178
267
195
208
346
213
311
195
213
216
225
219
198
219
228
156
258
159
223
232
196
161
176
145
209
238
166
222
236
178
233
234
274
252
245
290
223
233
181
199
168
241
207
222
325
209
211
302
249
237
218
247
236
245
262
170
152
210
253
192
215
223
168
189
121
270
294
203
161
261
189
175
222
207
202
182
325
223
130
210
208
225
241
221
236
276
283
320
255
256
280
230
178
295
296
279
317
186
182
225
114
265
231
294
184
226
161
206
261
248
155
258
192
160
212
213
258
114
238
190
208
249
193
239
231
340
205
169
232
274
215
268
271
231
244
211
273
211
178
236
214
294
248
258
202
259
159
195
256
218
218
189
255
221
303
189
163
252
242
186
178
200
295
240
231
337
205
268
208
237
224
255
327
262
233
264
223
156
211
243
144
219
164
269
195
287
239
188
213
245
215
139
228
189
235
314
189
259
180
276
192
179
257
206
207
225
219
262
201
269
294
224
221
211
222
178
287
114
160
219
153
202
229
241
187
246
178
193
192
175
276
147
221
228
163
272
173
157
169
247
245
171
157
204
180
197
202
191
226
190
296
160
193
266
225
199
260
259
195
184
219
229
206
261
236
229
235
261
201
144
213
246
182
253
329
264
204
279
250
250
198
242
181
351
227
225
317
201
198
240
256
273
242
302
246
173
237
213
279
213
226
149
303
219
220
260
160
206
236
167
229
205
223
208
263
245
213
182
222
217
254
152
276
202
245
272
208
215
179
182
289
180
204
211
188
254
186
274
160
184
229
188
250
293
244
246
294
206
211
268
222
217
254
196
293
210
215
218
157
181
230
167
255
212
126
158
220
229
202
266
250
172
212
227
223
310
235
238
181
201
232
231
126
199
228
295
225
158
198
251
158
207
180
190
230
194
304
147
265
291
177
259
220
211
114
230
237
234
190
184
153
203
145
169
194
218
223
199
192
181
114
264
232
243
198
178
264
222
180
248
130
260
207
183
216
232
312
182
222
166
215
328
241
200
230
170
146
180
275
252
227
266
207
240
223
238
211
266
337
238
262
188
195
285
207
233
185
225
258
182
276
342
177
318
202
198
265
195
180
245
200
235
194
300
281
268
126
217
174
283
199
281
181
235
201
236
244
183
203
196
216
180
184
210
145
224
232
307
198
225
173
191
340
212
267
255
218
203
235
290
241
197
273
200
243
242
249
252
211
273
234
213
233
160
319
158
178
237
189
311
144
173
268
249
208
152
271
238
222
177
209
248
139
199
228
178
167
260
211
224
195
232
272
230
297
234
263
293
279
165
179
235
362
249
253
288
243
187
210
229
142
225
300
253
206
244
310
180
197
222
215
257
166
258
195
290
220
233
192
196
198
250
228
254
255
204
242
202
290
224
250
274
199
236
195
114
214
183
245
320
153
210
200
184
223
189
195
162
271
276
108
241
180
173
191
200
250
221
128
181
208
261
278
254
226
261
205
285
234
215
209
265
268
322
190
252
304
228
139
281
247
325
173
215
202
186
263
114
215
189
200
137
201
166
249
216
234
175
139
235
246
308
311
177
342
259
207
221
214
160
245
219
201
240
249
220
174
214
185
230
232
235
224
192
210
175
293
219
192
179
245
200
274
223
249
258
208
228
202
217
257
175
170
285
275
126
280
192
206
225
208
192
242
201
250
250
176
139
163
256
232
238
220
260
223
301
191
312
254
164
193
213
192
203
262
269
206
198
277
236
257
228
193
177
280
193
223
256
200
231
239
212
286
209
234
242
198
218
226
180
189
277
266
243
227
289
233
152
167
214
168
266
217
235
222
176
210
242
255
266
254
367
191
126
196
234
300
257
341
289
223
355
249
158
190
172
266
225
251
198
180
225
170
232
114
232
209
306
285
235
271
212
242
229
227
220
175
147
210
242
214
222
253
198
225
222
257
211
251
309
203
287
214
165
108
236
199
227
195
200
218
191
200
196
259
236
303
291
217
296
271
264
239
207
164
197
265
237
340
195
184
227
240
255
235
238
200
160
274
156
225
247
237
252
346
173
226
146
207
309
217
255
199
206
243
184
245
187
219
252
277
261
228
174
169
188
218
259
246
189
215
205
283
211
208
227
209
174
156
221
307
154
257
277
211
287
212
268
235
211
166
198
258
257
234
230
185
222
174
238
223
174
227
313
232
280
199
207
226
258
114
271
208
271
236
258
308
254
196
195
247
213
247
236
230
158
213
200
241
277
207
245
222
278
268
208
248
216
322
188
260
227
266
179
129
247
248
273
217
154
155
267
188
299
257
166
197
258
242
275
262
256
282
286
294
199
288
240
214
215
181
146
190
202
305
261
184
193
169
264
247
181
262
250
177
161
242
208
238
264
297
137
231
250
192
215
211
114
212
234
162
260
170
225
210
176
251
178
186
241
226
234
307
159
244
262
293
145
250
192
213
211
209
225
247
262
208
229
179
293
229
227
262
330
196
208
167
191
247
195
247
114
202
167
285
301
232
198
268
193
252
203
156
192
210
323
191
148
225
229
222
248
207
216
308
227
184
192
241
193
208
165
242
244
276
275
185
203
183
309
271
203
279
264
216
206
207
194
241
292
220
223
257
145
130
267
165
264
249
235
289
200
166
271
246
205
246
239
309
215
114
246
263
223
233
234
209
231
151
331
291
224
195
177
249
227
206
186
246
201
211
210
262
251
169
217
216
222
294
220
175
220
240
233
186
238
214
235
223
151
225
241
255
228
155
247
276
217
219
208
293
181
232
285
247
156
234
220
238
266
234
221
238
251
196
126
229
222
238
193
199
271
194
148
236
173
204
254
179
223
235
201
159
188
211
214
260
173
195
261
175
231
238
256
283
206
228
217
178
193
165
203
219
184
343
190
243
180
270
270
190
182
173
236
276
231
139
191
187
179
232
179
156
235
161
203
243
227
174
229
160
175
226
181
297
188
133
272
128
226
170
219
162
182
224
229
199
181
274
209
179
212
229
217
234
222
241
209
246
159
223
287
246
284
221
208
309
157
154
243
164
204
260
267
282
220
225
252
223
216
195
249
214
201
214
219
341
243
224
253
169
204
260
186
155
166
310
284
231
204
208
212
218
388
233
232
151
237
270
248
188
253
213
240
232
228
297
220
237
260
198
258
265
226
222
195
225
287
272
192
246
229
230
226
188
203
268
267
185
154
225
198
215
130
253
237
163
208
224
188
231
281
224
197
278
290
206
207
185
146
181
243
230
185
241
247
126
219
228
223
280
139
271
244
206
212
181
263
216
281
317
218
234
175
170
147
183
239
199
171
249
319
135
205
233
215
240
253
267
188
239
179
276
245
239
233
225
191
267
252
259
230
216
253
274
289
186
169
156
197
208
262
282
226
259
114
187
264
170
255
204
204
179
247
216
205
215
263
170
215
198
220
207
252
251
245
190
241
234
180
284
241
283
205
229
238
170
182
262
257
230
249
218
217
240
244
269
195
156
281
154
226
243
227
213
221
166
247
175
285
173
201
244
139
189
222
201
245
215
225
270
175
243
205
251
237
316
216
184
175
349
231
139
192
330
160
188
265
220
215
194
211
274
252
298
223
204
194
149
234
201
180
297
235
225
192
180
253
201
280
267
258
203
210
312
200
238
295
217
219
206
208
259
233
213
248
192
234
219
259
239
225
323
116
151
137
189
218
232
257
209
210
219
234
239
295
227
196
287
306
256
248
193
270
218
256
238
225
269
299
190
235
179
174
251
205
162
225
206
297
235
238
235
126
166
195
277
258
146
232
175
206
232
199
126
270
108
209
149
182
186
283
171
248
287
231
219
234
226
243
271
235
307
221
285
192
249
188
256
145
301
185
126
351
260
181
269
184
152
222
202
199
214
121
230
246
173
191
158
195
220
233
222
206
196
166
205
313
282
242
235
149
188
227
205
157
222
271
214
232
199
264
224
244
208
253
226
243
198
181
241
176
228
161
213
259
156
228
225
263
157
209
202
153
173
200
248
229
223
194
182
178
218
278
214
261
173
238
245
287
166
244
212
297
250
198
195
278
261
191
284
173
160
194
265
203
262
252
203
249
250
224
241
183
224
216
231
277
158
211
210
282
267
186
227
183
317
277
207
218
284
145
227
293
258
229
249
251
313
255
327
266
158
250
160
241
262
215
291
184
208
183
234
193
155
245
193
243
239
244
225
259
191
161
149
279
144
233
233
160
222
258
191
162
237
271
144
273
246
199
272
238
193
248
160
227
314
208
212
245
205
217
198
207
224
279
244
225
195
144
268
259
238
114
287
166
216
161
276
198
238
235
180
285
237
171
160
210
177
198
240
231
238
228
218
166
199
216
158
286
290
169
243
287
253
285
200
114
217
159
231
214
289
223
283
223
292
238
178
205
204
246
160
250
209
278
357
288
172
289
207
255
279
270
254
222
265
203
255
220
306
192
160
207
175
286
289
170
204
180
279
215
280
238
252
264
256
222
247
178
164
176
184
193
245
254
245
206
197
233
257
162
195
212
269
310
313
239
202
255
271
242
288
224
114
309
221
260
208
170
290
173
255
194
208
200
234
227
267
273
269
291
191
254
219
178
263
287
187
173
210
231
240
192
240
263
250
160
222
187
298
250
222
201
206
196
147
282
202
220
211
199
264
235
190
227
259
184
169
243
205
214
238
242
304
188
189
202
177
196
161
185
288
226
126
178
237
219
144
251
283
193
290
151
215
249
209
250
203
224
158
208
251
287
195
170
221
246
253
169
323
209
251
299
294
228
298
213
240
274
222
231
130
271
275
144
202
155
213
160
323
154
218
146
187
277
189
241
191
232
209
291
227
289
322
271
260
241
242
241
276
265
222
207
243
327
208
240
245
114
208
197
249
331
245
285
227
203
207
297
182
217
213
244
210
219
234
236
192
248
230
228
202
272
251
184
191
176
236
245
225
339
214
213
261
149
327
216
129
192
171
204
246
193
170
276
231
288
222
249
234
220
259
204
248
287
195
158
253
196
151
319
253
265
244
229
263
198
232
270
264
238
126
149
204
203
291
191
229
245
202
252
223
278
176
307
212
324
208
199
215
186
133
196
224
205
203
195
181
223
285
248
363
205
217
175
232
156
247
166
255
255
284
227
255
288
187
285
200
218
200
231
210
192
276
236
250
178
152
223
151
108
239
266
183
228
239
114
223
188
238
197
239
195
245
214
240
258
173
260
213
196
161
295
273
202
194
213
325
204
287
239
249
272
177
192
148
260
218
174
206
178
258
196
190
248
215
275
182
234
293
285
199
255
196
266
218
173
252
249
230
267
240
156
242
271
267
231
265
231
287
245
224
207
217
294
192
220
277
232
166
173
246
270
255
206
227
302
160
174
283
243
240
210
186
270
180
219
220
203
244
116
198
114
230
261
268
297
158
206
224
208
293
252
262
172
204
198
273
282
216
210
160
214
259
180
174
241
168
166
276
232
209
282
175
287
267
300
276
223
207
196
318
197
133
180
193
301
162
221
192
169
266
312
245
229
243
274
174
162
230
268
228
175
213
258
287
279
248
245
255
220
192
200
227
249
190
240
235
193
229
226
269
191
224
208
170
181
274
285
267
160
144
228
183
149
281
320
239
206
208
200
275
230
171
205
223
225
204
277
224
293
271
227
289
114
203
238
246
265
231
306
277
232
168
238
235
211
225
160
289
207
305
243
280
328
219
184
206
228
298
221
174
232
181
198
175
251
225
312
218
193
240
180
211
173
316
203
229
212
188
108
220
239
216
284
316
295
192
343
206
166
235
235
304
229
222
198
247
232
211
170
260
164
309
240
170
164
206
175
268
253
239
198
282
217
315
275
228
216
287
196
233
248
244
169
257
205
233
114
220
193
129
170
182
227
288
180
293
233
261
221
276
270
188
230
231
182
208
215
221
237
252
235
291
266
237
238
296
211
300
294
214
306
220
251
191
240
216
285
260
225
167
189
250
180
269
129
171
279
252
270
242
229
214
262
223
261
308
221
192
220
233
181
235
227
220
224
207
251
346
190
231
175
310
114
301
154
221
233
174
145
312
235
236
328
282
218
190
182
214
296
157
192
226
210
210
265
245
224
207
172
192
152
226
119
215
199
199
211
237
230
287
114
258
294
273
218
178
226
192
231
231
191
222
201
308
270
252
178
170
169
256
188
227
275
274
329
276
254
292
191
233
277
218
214
174
130
247
180
203
199
217
160
241
231
206
268
236
256
186
129
266
253
300
215
242
116
228
244
192
293
231
175
244
181
193
317
289
216
201
243
216
209
252
169
219
208
190
213
323
227
266
195
203
114
253
239
252
270
240
223
194
240
197
232
280
274
217
254
173
231
259
239
299
166
165
157
260
305
252
249
256
214
114
241
236
182
206
247
190
212
215
196
299
249
209
205
234
208
272
221
215
309
193
285
245
212
269
253
291
233
258
156
276
305
221
200
161
204
258
178
185
167
114
300
252
272
206
229
259
211
288
272
225
219
273
130
301
262
293
186
186
253
232
181
223
238
247
217
203
202
201
213
178
191
196
259
243
239
194
157
213
229
207
186
212
226
267
243
211
310
276
238
170
268
177
250
211
171
237
198
278
224
170
290
251
231
219
249
264
218
190
185
248
221
245
235
195
242
253
322
180
315
288
192
178
306
199
229
213
250
239
151
225
255
158
290
114
177
213
236
296
194
227
223
228
216
189
277
223
273
233
246
263
244
254
211
215
173
170
287
179
181
280
222
247
231
179
325
197
193
319
232
278
223
244
114
168
170
242
220
168
169
221
285
230
191
156
300
152
247
248
202
240
170
145
157
248
279
208
207
174
216
209
190
181
201
306
265
192
258
235
275
239
217
177
211
290
243
203
186
290
252
311
210
181
251
211
209
173
164
250
220
235
261
235
220
290
151
175
258
179
198
169
239
236
160
222
292
218
176
114
225
211
245
180
216
253
126
250
163
230
297
172
200
173
232
252
277
160
188
183
194
172
265
180
208
161
265
270
165
181
144
262
227
235
193
258
191
193
190
229
193
164
213
288
245
146
234
301
249
241
218
199
201
297
245
209
181
302
253
234
198
200
212
282
290
252
273
278
233
186
252
246
225
255
230
180
209
215
181
242
226
187
130
143
191
249
273
205
214
218
213
255
272
223
234
259
214
220
192
210
235
216
146
205
282
191
277
334
217
199
266
387
200
210
181
230
285
108
233
270
235
252
198
197
203
210
171
176
185
322
212
210
145
277
248
154
262
231
225
222
222
256
257
208
108
205
226
343
214
212
249
272
246
309
262
225
179
260
269
234
116
250
202
222
291
176
244
189
183
211
200
268
106
114
257
238
187
155
186
193
303
225
223
233
197
224
154
263
285
246
266
223
226
286
243
274
215
219
237
207
252
251
214
204
270
236
181
172
218
258
201
179
164
218
285
173
235
187
252
188
287
253
192
272
266
114
332
194
198
268
210
272
328
296
273
304
318
202
194
283
217
298
252
221
349
315
217
229
249
191
340
195
264
261
208
258
219
306
239
192
262
320
211
255
295
170
222
185
219
170
212
251
215
148
285
237
290
208
193
269
222
246
225
192
288
211
216
207
301
323
198
231
253
174
177
274
173
211
235
244
242
219
206
247
168
328
199
184
220
233
133
235
263
192
228
172
207
194
196
257
228
178
204
253
158
286
214
240
223
205
215
240
260
240
213
277
183
248
212
194
253
270
203
218
202
237
204
206
213
243
287
198
246
170
212
225
210
290
199
313
206
192
225
229
279
178
274
226
178
297
271
323
198
260
221
184
170
283
187
223
240
192
207
221
235
152
280
256
278
219
233
243
286
234
245
324
247
165
205
193
173
228
204
212
179
157
256
211
257
218
277
221
239
213
290
232
222
239
197
270
276
168
249
272
266
280
165
220
239
196
210
209
126
260
264
226
251
174
227
198
247
197
198
221
192
173
270
240
196
193
290
186
230
211
219
205
156
195
262
240
183
176
261
195
126
287
162
200
216
128
253
144
219
263
188
130
214
181
202
148
162
207
126
245
191
166
217
230
165
206
236
151
255
229
203
152
229
201
233
288
163
155
191
196
262
154
275
223
300
281
211
218
332
218
229
164
133
215
258
230
312
233
202
209
235
214
245
192
214
236
267
198
194
139
228
236
268
262
166
234
160
206
264
165
240
235
296
228
219
276
154
291
247
239
164
146
247
165
193
221
326
193
268
250
211
297
244
264
114
311
275
308
145
195
217
154
229
216
334
223
174
274
243
238
267
246
206
172
303
244
191
310
257
114
225
245
236
208
164
236
233
241
210
258
215
222
169
181
170
157
229
177
245
237
211
201
198
240
241
185
237
207
204
245
191
198
307
230
254
121
262
175
218
263
223
247
263
200
288
199
358
227
301
246
214
243
286
198
267
212
186
188
231
224
200
272
214
200
139
273
182
218
264
245
191
317
238
168
250
225
229
250
226
179
286
253
198
243
220
114
322
213
230
202
197
229
239
225
215
209
228
238
233
208
169
252
224
182
165
181
293
309
245
198
278
255
178
276
241
245
219
201
224
236
221
251
271
175
148
209
283
260
225
246
152
231
193
297
220
177
234
191
185
160
195
162
230
261
190
216
209
212
234
290
196
205
248
215
198
196
204
196
206
185
218
208
250
180
274
198
273
239
191
194
197
316
225
268
229
246
249
260
163
217
168
220
215
174
246
208
181
246
182
218
198
250
234
174
257
254
233
130
287
193
252
194
193
232
158
272
213
279
181
188
172
264
228
219
215
168
230
239
207
184
247
211
114
197
252
269
226
233
228
240
205
303
216
260
232
280
253
210
213
202
193
209
234
231
198
211
175
181
219
228
227
257
248
274
207
265
328
236
240
195
258
174
169
198
231
191
216
260
219
227
193
200
154
244
342
219
171
170
196
182
217
223
245
211
215
195
196
250
240
250
192
221
264
239
152
203
126
240
173
211
252
204
193
222
237
258
213
233
240
234
219
221
232
186
259
167
248
202
221
203
247
276
257
273
211
253
156
166
196
190
208
202
264
278
237
180
207
193
185
209
232
252
229
205
149
220
223
240
184
213
312
199
213
250
234
220
222
273
226
152
219
182
265
192
260
162
209
226
207
114
297
201
230
292
148
201
259
208
184
234
212
156
249
181
177
260
242
317
233
181
167
188
208
276
216
237
215
220
214
155
232
165
234
279
214
235
187
181
192
196
216
259
169
256
262
145
141
295
196
201
145
271
219
181
278
269
285
225
206
267
214
252
193
268
158
253
280
157
137
221
279
230
216
206
256
269
198
235
281
192
220
192
239
139
214
165
266
217
225
276
181
248
217
222
173
204
192
212
197
251
251
240
207
206
200
333
230
225
223
198
175
256
212
286
205
306
244
304
235
301
221
308
169
239
145
219
259
208
236
276
317
257
239
211
232
304
213
230
217
235
225
212
219
223
294
218
178
157
239
171
275
196
236
216
217
244
190
195
248
216
223
191
282
194
243
198
244
285
262
238
240
241
278
283
183
223
270
181
235
206
266
210
311
207
243
126
154
116
225
205
208
264
130
235
208
281
178
233
196
145
222
222
268
156
277
232
258
257
207
284
176
144
239
114
198
252
169
174
266
234
160
184
171
179
220
180
174
228
250
250
208
285
229
194
247
218
225
269
186
216
199
175
268
253
219
310
212
218
161
222
283
209
244
269
197
175
250
202
223
156
208
199
227
154
178
246
214
234
285
252
203
209
239
195
193
280
234
190
234
269
206
229
154
175
157
209
202
274
220
294
228
266
223
207
188
231
213
222
171
363
240
189
149
202
239
255
222
318
266
241
214
273
175
244
302
262
274
246
328
254
240
126
213
197
213
193
252
262
216
183
189
213
233
312
275
215
209
202
246
299
325
170
194
208
216
228
205
219
205
213
193
251
148
221
188
309
187
222
233
200
260
189
203
223
160
262
238
234
206
243
303
203
210
181
227
230
240
356
225
314
226
194
253
173
232
315
243
158
222
169
249
267
253
262
273
191
114
186
217
186
234
284
251
229
169
208
235
256
205
296
208
261
225
239
250
227
225
155
182
229
170
241
233
236
237
236
194
211
152
156
275
235
213
162
269
192
221
161
201
176
236
265
156
218
211
258
265
327
205
287
283
198
216
232
206
173
339
194
286
239
225
218
214
235
269
236
263
231
175
208
196
218
233
200
252
245
224
232
218
178
114
229
208
199
185
279
248
261
203
229
225
292
315
198
207
219
265
208
227
173
217
213
269
195
214
192
182
289
174
242
231
313
233
260
301
220
234
244
191
160
219
248
194
254
265
220
176
185
264
229
281
218
198
254
149
170
275
235
151
174
269
184
144
280
184
208
314
236
184
236
175
200
174
243
243
246
252
164
303
252
211
244
228
192
199
233
241
193
169
256
273
225
222
213
182
206
254
291
284
291
214
237
226
170
165
175
209
273
229
260
222
275
202
246
260
203
217
227
297
159
250
165
227
215
327
224
286
279
187
173
259
197
369
192
223
196
237
243
228
206
249
271
299
246
204
201
228
195
305
227
198
242
235
355
215
261
187
195
195
257
151
163
200
269
217
232
213
169
242
297
299
211
177
218
240
282
242
178
203
225
181
231
191
311
203
208
154
194
178
240
209
158
271
180
270
303
212
156
283
232
197
219
205
279
181
237
189
174
195
256
255
253
232
168
170
196
289
139
167
193
224
301
213
255
204
260
274
227
204
232
316
204
222
208
164
249
207
293
246
205
225
253
184
233
242
284
181
268
269
191
219
218
233
201
226
186
224
260
255
218
243
163
284
188
272
212
162
285
294
220
144
181
251
213
145
254
236
262
214
257
220
178
240
209
237
288
269
184
162
263
202
144
243
193
250
239
219
149
308
298
233
206
242
256
249
248
207
219
191
217
191
194
203
194
312
227
248
145
376
253
208
178
270
269
203
235
191
256
256
186
230
293
198
152
260
304
228
275
184
311
230
205
227
152
237
229
224
200
284
146
232
151
246
223
245
241
292
218
182
242
280
224
167
180
286
147
266
212
129
343
160
220
209
217
232
215
173
209
225
280
234
320
215
270
284
181
243
184
249
204
274
210
213
202
156
268
207
290
176
230
273
230
207
191
201
154
276
193
209
255
220
162
197
214
260
237
274
193
196
207
263
200
221
146
231
223
272
234
202
270
172
232
212
193
211
216
178
288
223
198
222
106
204
300
235
261
200
223
225
206
114
257
220
156
288
233
177
173
198
227
243
193
299
211
146
162
219
256
186
303
206
196
170
285
285
220
231
277
261
170
210
248
181
178
331
207
259
332
275
286
227
250
164
184
276
185
220
190
212
191
224
224
293
181
186
237
219
171
238
286
193
247
189
293
235
239
218
281
231
257
175
218
192
281
194
158
157
248
224
262
249
254
205
200
254
157
256
319
173
297
195
241
160
233
228
266
202
214
212
308
114
226
176
229
246
214
277
246
267
301
310
160
258
265
243
177
200
169
179
265
207
178
231
261
220
168
287
205
173
130
291
239
196
178
326
247
210
114
245
252
215
225
187
213
198
280
116
214
236
222
183
281
220
228
218
257
254
227
235
193
279
282
190
232
251
234
266
258
191
193
242
266
157
195
201
281
182
312
248
170
178
192
267
265
200
192
213
282
176
205
258
246
145
300
225
241
147
203
206
259
176
195
154
214
264
192
227
240
204
130
198
174
206
265
244
213
256
208
207
210
246
219
171
189
160
234
195
247
189
275
253
253
256
138
266
239
180
232
215
235
239
268
257
177
262
229
297
195
269
218
257
241
287
222
238
186
245
246
239
260
243
225
149
186
179
193
195
290
216
236
211
186
262
225
250
197
240
271
204
265
214
205
147
208
225
246
190
187
259
217
245
200
144
291
222
236
248
156
188
202
216
222
210
225
198
213
194
262
242
279
299
208
202
222
190
214
161
302
278
307
213
178
203
224
220
196
299
251
290
288
187
229
217
234
261
178
272
299
199
287
261
194
235
108
376
315
249
270
225
267
210
138
165
271
251
164
271
256
278
252
267
234
285
226
181
186
187
216
205
285
232
255
192
203
228
238
297
247
290
231
241
176
307
269
250
254
220
263
265
238
299
227
175
256
213
208
192
198
279
246
243
211
215
191
254
279
244
254
241
206
276
194
162
202
133
200
114
225
262
200
268
235
177
211
205
220
236
205
178
200
210
254
176
206
236
244
186
213
186
248
233
139
226
228
247
191
170
233
265
203
260
191
229
215
161
253
261
156
213
166
204
309
323
201
222
170
232
302
267
187
208
203
187
205
304
228
183
191
349
226
250
187
178
294
236
218
181
181
178
199
231
194
165
202
309
286
151
181
210
215
294
173
245
272
249
171
177
200
208
241
273
234
241
249
195
176
313
327
175
137
172
305
260
280
259
279
271
190
343
197
194
210
244
212
239
251
307
254
225
200
294
204
147
315
214
269
267
230
234
196
276
114
173
183
255
175
366
229
235
169
268
306
247
242
202
245
265
169
219
254
234
247
161
237
208
231
181
165
295
230
202
193
208
217
237
237
173
218
241
219
186
178
200
219
214
264
213
164
158
267
290
246
269
195
279
201
307
200
259
213
129
261
186
311
229
129
114
206
218
225
269
139
258
302
229
114
202
196
276
235
231
242
197
175
305
362
219
343
237
204
247
251
239
269
287
231
214
248
177
174
181
214
160
254
232
198
184
226
280
350
220
166
205
178
239
214
232
238
267
214
218
200
261
206
191
222
201
231
193
313
263
334
210
296
243
226
196
223
224
287
178
208
246
251
200
188
204
213
273
255
215
299
204
240
227
290
190
246
175
234
185
200
255
182
160
234
181
175
173
186
187
166
233
236
270
270
193
245
194
151
206
152
193
149
205
282
253
277
161
272
249
238
261
215
191
191
263
176
203
207
168
259
165
199
215
221
226
268
218
178
288
180
192
160
228
175
228
262
253
192
270
217
211
234
254
267
205
165
335
215
253
199
255
215
219
185
238
181
319
126
230
200
179
239
311
116
296
249
215
195
167
186
189
224
196
195
223
193
149
223
249
238
267
289
287
241
161
235
114
232
175
294
199
278
236
167
295
243
328
195
207
194
245
161
267
195
296
197
213
288
213
219
213
187
250
252
196
126
226
180
165
283
229
216
227
154
177
275
228
225
225
225
250
168
238
198
202
235
292
156
250
350
197
251
258
218
293
192
334
241
239
219
219
185
311
184
255
328
211
228
180
137
224
262
192
207
224
114
206
193
248
219
147
199
205
244
282
227
226
209
308
193
151
267
220
298
261
252
171
237
217
168
204
195
227
266
223
139
235
320
213
238
257
214
174
257
182
202
160
176
295
196
190
253
271
314
236
231
156
267
198
273
231
229
213
257
213
230
277
144
252
257
307
225
152
254
318
234
240
309
275
208
251
191
180
248
253
225
212
218
328
181
263
265
296
253
271
256
236
257
280
179
192
238
226
190
206
149
200
285
219
274
213
256
193
210
156
167
219
164
226
227
195
158
197
106
153
257
256
247
171
218
205
173
255
202
215
217
224
271
114
218
247
252
222
158
273
243
151
200
220
226
288
226
194
199
239
357
246
263
240
154
200
203
287
262
196
186
228
223
208
317
174
154
252
230
243
282
267
176
262
221
225
222
202
242
303
203
278
211
174
225
222
152
251
210
288
214
186
292
221
264
280
253
187
194
162
219
277
227
192
253
229
230
148
177
233
201
146
192
287
256
243
282
239
212
157
237
277
283
202
162
256
230
267
231
207
181
220
198
220
228
252
159
256
283
180
228
177
139
236
246
269
331
227
189
212
248
193
211
235
200
288
164
253
179
162
156
190
175
168
203
204
198
178
187
252
273
321
194
200
208
209
230
249
223
215
220
282
175
237
249
155
206
241
243
279
216
341
251
208
305
223
178
187
253
295
255
205
156
203
222
193
315
243
161
294
188
291
235
281
251
216
248
195
232
225
246
216
306
219
229
203
285
260
241
174
265
279
238
211
345
157
157
240
221
262
286
314
160
274
197
216
168
170
206
191
210
164
286
170
216
229
191
226
178
152
258
252
201
288
198
218
228
204
243
307
252
236
303
181
230
282
171
196
279
199
220
207
263
233
276
152
202
193
239
280
170
187
183
265
214
241
189
286
246
304
235
183
189
198
205
238
182
134
255
247
261
266
211
170
277
210
276
200
243
272
206
151
166
205
246
189
182
208
181
170
173
224
193
301
226
226
198
215
297
236
230
209
208
213
232
222
252
248
199
256
247
200
221
158
213
203
299
191
203
203
223
261
212
275
223
197
241
304
187
231
173
219
237
180
219
253
253
220
252
217
273
194
208
227
167
226
220
253
232
236
308
253
221
216
206
240
241
154
257
246
156
151
243
246
145
214
167
269
254
196
209
209
227
181
183
277
219
188
190
200
238
185
232
278
215
267
245
225
189
272
233
195
206
197
151
223
292
195
256
163
175
207
170
241
205
207
139
226
208
247
229
166
246
157
212
271
236
303
296
269
250
177
191
173
233
208
160
253
187
199
245
273
214
237
297
326
285
245
206
296
189
156
280
224
207
235
246
237
209
244
228
179
187
226
290
193
213
288
225
213
242
253
245
185
238
361
208
200
169
181
173
212
227
198
224
188
219
280
211
220
182
163
214
198
169
291
245
190
255
203
210
167
195
156
244
148
204
193
267
285
250
283
222
211
197
234
237
181
215
251
319
165
213
160
246
221
203
238
173
258
245
183
175
225
256
145
285
247
252
183
257
225
250
244
232
114
256
257
234
184
222
263
194
284
227
183
139
147
244
242
229
195
183
219
200
170
207
207
225
186
226
230
171
297
259
218
174
237
264
202
259
191
192
239
165
158
218
253
258
287
144
171
174
307
114
268
248
205
139
181
170
202
193
281
180
236
238
272
175
237
222
189
193
282
180
278
247
158
180
222
211
222
244
319
288
248
279
114
259
195
267
202
323
156
247
165
270
247
261
221
203
260
279
212
192
203
230
191
213
182
208
238
177
215
277
163
219
178
198
225
218
206
198
154
259
222
238
284
247
265
229
229
243
199
215
147
159
251
193
327
226
251
199
312
156
239
189
152
256
230
296
285
284
277
273
200
247
264
233
255
340
298
313
200
222
209
238
192
268
225
223
256
216
245
195
191
273
163
297
327
276
271
198
191
218
172
269
238
227
192
239
209
309
148
204
199
222
238
197
202
226
272
168
183
274
239
168
209
219
180
211
158
202
217
247
198
244
257
215
188
219
262
227
222
271
167
196
219
217
209
203
267
235
217
178
255
273
183
207
289
198
212
192
248
183
235
283
156
218
211
182
277
251
200
235
251
232
296
239
242
226
265
239
199
166
236
108
192
236
128
160
205
267
220
309
152
246
195
210
212
170
229
234
301
215
214
286
195
253
189
214
175
180
260
238
230
307
202
193
170
213
214
178
260
225
216
222
261
251
268
248
249
273
258
221
291
169
191
281
232
252
203
192
258
204
157
274
231
248
247
170
258
222
187
230
248
314
305
255
309
205
209
192
235
156
243
264
286
209
192
146
264
225
285
282
106
264
227
238
243
175
215
175
203
261
239
167
273
238
215
294
211
251
236
178
182
180
190
232
210
159
242
239
221
282
219
231
175
239
264
227
193
179
188
160
298
210
199
198
244
204
288
208
269
114
225
246
229
255
205
201
208
236
235
255
189
191
149
243
134
220
213
200
243
203
181
193
283
221
282
319
290
225
203
237
295
297
272
192
194
273
262
164
268
247
209
188
197
208
215
205
221
193
196
214
184
280
213
254
266
252
191
194
160
291
252
212
172
254
236
220
193
139
212
150
206
200
275
284
213
229
200
222
181
200
224
294
199
163
151
204
193
244
243
200
308
243
246
264
180
199
348
277
194
174
256
290
242
251
260
192
114
215
278
146
262
200
178
355
273
208
283
247
224
225
244
162
231
232
221
151
246
229
264
204
294
181
286
190
220
275
226
230
145
234
241
245
209
238
268
197
163
177
166
205
200
240
191
201
236
200
158
285
228
245
145
184
270
232
199
270
230
219
203
225
214
250
274
158
210
281
211
258
253
148
235
181
126
237
204
209
218
219
283
280
139
324
259
246
291
172
191
234
311
201
219
213
180
339
263
236
166
237
236
203
222
211
236
212
177
156
256
276
207
244
180
289
215
224
263
212
266
250
149
230
180
176
315
243
252
212
192
274
237
251
248
243
165
274
203
154
236
288
251
248
173
231
157
226
205
229
260
188
205
252
174
176
181
227
202
308
312
177
259
279
160
203
242
199
170
198
248
318
255
260
228
268
248
170
283
246
206
236
165
202
165
264
256
292
176
237
116
247
243
232
226
296
259
180
271
114
184
197
240
244
257
235
219
247
198
193
190
187
203
192
251
191
270
169
164
205
178
232
256
173
297
158
216
285
263
202
306
272
361
181
283
248
226
207
231
197
311
227
282
272
263
257
218
296
158
206
170
280
168
242
221
170
267
155
154
271
252
244
225
163
225
227
187
166
222
221
269
238
277
265
231
194
285
236
287
252
232
257
167
232
160
108
243
186
223
196
264
178
259
187
180
286
189
216
241
272
203
172
256
273
241
192
256
215
239
239
288
191
198
203
175
262
270
192
175
257
170
288
174
274
245
158
207
212
230
197
154
181
162
192
177
224
160
310
204
188
225
247
246
212
192
287
162
178
162
274
240
307
238
260
229
264
220
273
197
222
298
163
335
217
181
234
221
252
272
264
235
236
186
237
257
168
207
191
230
249
266
243
114
262
232
238
260
191
199
255
163
202
258
218
188
229
240
303
225
260
272
234
279
253
156
181
189
253
155
286
203
196
250
178
238
238
202
241
271
114
220
139
178
229
263
183
262
200
230
214
295
189
240
185
214
181
202
200
207
169
241
274
196
242
237
151
193
173
195
241
229
211
273
240
291
259
234
193
209
205
206
217
116
228
423
243
339
177
205
236
239
207
257
298
226
251
266
194
203
319
198
215
217
194
217
235
229
201
178
189
185
180
260
187
156
205
316
205
207
317
191
126
279
189
144
192
197
179
244
287
114
238
255
207
234
217
285
194
363
317
210
160
191
174
180
204
261
224
289
231
237
260
173
176
237
144
228
171
271
222
214
266
238
209
234
270
176
194
133
271
189
245
208
184
182
213
270
206
198
221
235
327
185
195
232
206
160
184
312
260
240
217
160
218
293
319
259
217
208
186
240
227
189
247
230
194
234
176
195
208
145
192
211
251
162
147
285
165
178
227
260
219
194
173
295
276
218
168
195
114
241
227
222
243
145
274
198
266
234
230
168
223
226
227
114
207
210
214
206
274
234
202
232
235
176
231
259
258
236
178
249
247
288
237
236
240
208
212
213
276
198
260
230
207
243
248
270
213
242
201
208
230
217
183
190
218
233
234
153
233
250
207
309
190
157
215
235
233
306
204
264
269
257
297
241
201
223
161
241
189
223
252
231
193
267
168
238
167
245
200
275
266
210
231
214
198
208
182
232
167
246
175
243
205
189
197
167
253
272
214
205
162
211
257
174
139
186
227
192
222
286
278
187
286
217
169
235
219
175
235
235
219
206
257
254
245
227
179
262
224
288
282
245
280
298
162
207
159
220
271
219
273
161
192
152
126
255
250
171
194
156
106
220
275
226
205
274
211
178
216
175
152
207
219
204
243
213
233
236
208
286
219
243
316
195
197
219
200
298
267
271
213
218
295
271
190
194
271
156
173
297
261
184
215
158
208
266
244
193
290
186
225
198
201
180
303
245
194
285
206
284
205
239
275
231
199
264
263
211
160
186
268
234
181
204
198
208
234
180
161
257
184
126
227
185
185
231
156
252
203
289
301
223
277
258
230
299
240
198
108
187
228
262
288
261
227
298
301
177
239
193
235
271
229
262
216
243
236
295
206
193
160
232
182
223
301
129
160
251
242
220
201
327
354
180
174
243
299
192
199
231
191
215
215
267
183
220
207
239
223
201
208
256
191
209
257
161
347
244
171
233
205
175
238
216
267
169
198
242
246
311
195
241
221
221
282
251
249
247
277
254
194
205
170
285
164
269
318
168
216
299
158
182
244
157
217
271
277
315
229
202
180
114
152
179
189
259
265
263
201
183
230
283
293
252
203
279
246
243
200
149
235
176
220
291
195
284
231
243
194
182
211
247
185
254
292
200
175
280
184
295
216
229
184
242
152
211
224
261
161
234
235
275
271
199
231
214
236
235
264
284
227
285
189
207
206
160
193
283
172
242
233
229
275
213
189
292
121
251
197
231
162
153
269
278
230
223
339
168
188
297
260
166
218
232
155
267
211
261
159
145
188
250
114
193
235
229
260
232
288
216
243
225
206
155
165
213
257
160
214
282
217
186
192
200
213
215
213
297
264
220
156
209
222
295
279
264
244
235
275
184
251
265
232
229
220
272
231
230
279
270
245
225
173
231
275
259
252
274
296
222
214
169
205
264
262
262
198
260
213
227
245
206
283
276
179
215
179
191
198
273
220
234
223
262
214
338
254
265
235
253
156
239
250
186
188
213
170
203
219
219
208
286
192
252
211
181
240
192
252
336
181
290
260
234
193
209
223
255
185
224
191
234
238
200
302
180
195
165
233
241
251
218
229
205
350
194
246
202
201
224
241
215
209
252
203
311
273
259
264
176
226
224
168
255
199
233
225
227
251
192
238
114
272
272
360
287
290
192
278
247
233
235
240
315
149
222
233
261
196
270
241
217
247
156
232
207
177
266
170
173
214
247
255
232
198
292
298
239
250
139
192
171
187
203
224
270
213
202
219
233
310
237
114
202
263
185
221
253
273
328
249
197
201
280
224
114
291
196
188
204
144
211
206
237
133
255
234
249
239
225
198
207
244
273
342
288
251
280
263
244
257
168
281
201
226
232
254
289
185
194
194
281
255
321
214
279
273
193
317
167
161
157
181
269
256
219
218
198
270
154
188
231
204
255
210
225
392
239
324
292
161
196
253
240
235
226
268
232
290
222
199
208
198
195
268
182
178
277
222
263
243
208
247
241
278
201
158
181
238
114
298
192
292
149
218
207
260
234
175
242
298
166
217
251
187
255
279
275
220
293
240
156
238
248
232
264
214
197
157
276
272
290
262
239
250
244
247
237
207
160
145
259
213
200
248
160
207
208
308
288
280
271
267
246
215
237
228
184
324
218
227
194
284
210
203
221
247
329
171
213
213
178
276
232
126
388
190
211
253
156
222
253
186
188
294
216
229
188
205
217
254
300
247
200
179
242
267
234
229
257
200
196
185
204
223
247
180
217
159
254
203
252
205
235
272
219
205
274
181
202
227
239
231
229
217
146
232
238
186
257
198
256
223
154
213
271
257
220
193
252
273
237
139
205
223
189
165
171
266
214
164
145
210
216
203
225
158
286
183
222
202
228
170
197
218
344
185
194
208
173
193
162
237
230
221
222
227
169
264
351
208
265
281
279
194
249
255
260
205
264
189
240
260
176
240
257
181
237
203
184
238
232
343
263
249
221
233
251
294
238
175
176
317
230
149
244
248
203
258
190
201
204
286
209
273
181
300
166
213
239
214
316
236
301
235
248
213
204
199
242
183
201
295
180
323
238
299
165
182
301
266
231
232
214
230
282
148
249
260
208
274
250
160
204
264
234
220
249
262
139
222
270
253
202
217
240
246
201
284
239
262
227
220
220
240
241
226
228
210
175
238
212
283
209
215
217
218
266
252
221
148
151
234
197
176
177
276
280
178
271
288
206
170
258
281
242
205
176
192
273
210
195
196
256
180
259
238
244
235
238
198
230
255
219
186
223
191
254
226
165
258
251
244
263
307
170
309
200
250
238
243
222
192
210
187
250
191
248
193
286
264
215
165
158
227
204
235
133
271
245
288
226
197
214
265
222
262
239
226
230
249
214
146
249
236
197
174
256
236
250
231
116
220
156
171
192
279
178
216
266
114
288
266
250
237
212
255
290
165
189
183
158
293
158
232
229
193
227
121
271
210
217
193
215
282
261
284
202
155
235
219
157
151
233
313
205
280
196
233
193
285
321
214
256
268
224
149
264
225
228
224
209
218
237
203
225
160
224
259
152
284
196
211
204
166
126
236
239
277
188
221
264
172
262
292
190
282
279
250
213
260
394
329
212
273
285
266
260
265
197
247
216
194
208
237
209
169
265
208
212
172
164
200
116
261
213
275
193
268
232
274
227
246
228
186
205
218
198
191
320
222
147
192
308
215
236
238
245
222
331
215
272
246
287
256
256
287
161
304
245
189
285
237
173
332
223
151
248
208
309
263
182
249
286
234
215
176
198
285
301
193
209
295
244
174
354
214
177
324
272
282
199
164
324
247
262
192
210
180
151
247
235
296
203
223
325
273
191
206
166
230
176
242
254
212
184
213
173
318
258
198
228
158
173
262
191
284
248
225
230
202
191
160
213
180
266
230
239
160
170
227
201
237
236
228
256
217
232
290
211
208
251
356
186
243
240
242
283
197
234
185
210
232
147
206
262
196
226
190
287
251
351
235
246
166
272
114
263
213
267
166
273
249
221
263
231
208
247
266
225
189
173
218
214
219
178
207
178
199
277
198
285
219
181
186
205
159
225
178
203
184
204
181
273
278
283
184
194
195
201
292
218
175
213
238
263
251
215
268
304
200
226
114
347
188
158
251
200
265
231
214
265
197
171
108
337
217
194
272
238
231
167
294
200
170
243
220
196
265
301
153
164
218
195
196
311
212
287
206
286
203
143
144
270
328
306
256
144
234
243
213
154
255
290
303
198
265
246
294
198
224
171
290
192
193
216
181
202
182
228
234
271
161
207
216
305
225
156
194
281
206
195
185
197
273
223
193
239
195
212
234
215
280
214
234
265
223
209
200
283
167
236
200
184
233
192
249
228
149
214
311
265
241
189
166
181
214
168
213
234
269
298
271
260
197
178
220
213
249
252
261
238
239
269
214
253
148
193
181
274
185
243
172
182
186
193
292
139
230
263
265
173
170
160
215
168
251
283
280
180
144
199
233
270
193
193
229
236
247
247
272
260
206
195
180
209
272
198
272
263
213
262
265
218
188
201
255
146
374
161
208
197
285
286
207
287
214
199
300
183
167
306
203
114
253
223
191
252
276
289
191
181
255
237
192
252
248
223
287
245
233
234
205
182
198
282
234
284
208
268
212
173
231
164
217
334
231
210
273
215
257
235
284
194
203
284
236
229
224
154
189
254
173
188
315
293
217
182
226
281
190
265
265
207
232
158
204
284
243
252
221
219
198
241
227
185
323
195
196
267
223
209
201
291
178
171
188
229
228
277
285
208
209
280
174
213
208
286
188
156
242
274
223
254
224
230
152
242
226
256
170
250
252
222
192
196
239
173
224
231
194
244
198
262
232
254
254
174
198
241
197
178
270
210
203
211
215
175
289
240
196
234
221
221
171
286
251
260
218
247
208
189
157
208
246
181
186
182
261
149
225
252
192
214
223
303
273
203
214
178
283
256
225
197
218
228
258
250
297
394
267
238
262
276
192
278
218
240
198
274
262
268
200
211
225
181
281
265
237
242
273
219
267
271
208
247
202
270
223
202
187
264
259
250
187
167
192
309
219
312
231
227
256
220
257
243
170
180
267
230
240
314
214
154
219
279
236
256
256
218
205
266
178
182
192
254
173
217
303
228
227
288
205
171
198
208
270
211
316
192
220
254
193
288
251
262
225
186
314
138
242
168
205
272
220
216
305
189
176
367
270
258
272
211
264
169
272
225
249
160
193
289
144
229
180
181
275
231
270
274
215
193
192
228
244
277
286
238
114
154
180
173
268
168
242
259
170
222
201
198
236
191
282
278
280
253
179
258
297
229
192
244
228
159
206
242
221
226
192
207
257
251
256
207
231
192
251
275
239
244
231
275
195
231
180
195
207
211
114
258
221
192
213
239
227
353
235
197
218
191
244
217
253
187
223
289
225
201
229
207
265
251
259
173
229
185
203
194
205
177
260
239
198
209
219
200
158
250
214
114
193
202
270
175
114
237
185
237
235
248
204
178
290
208
189
252
297
167
169
222
231
186
246
209
249
222
225
240
198
236
228
289
263
276
176
227
235
250
206
240
222
291
160
221
221
250
252
207
210
223
227
166
252
178
161
244
184
206
114
114
203
182
233
262
222
295
298
130
184
236
178
237
232
207
226
298
145
312
181
220
245
167
231
195
279
193
146
248
231
231
207
197
229
217
295
241
202
257
324
277
255
205
319
228
241
223
154
256
262
182
247
205
281
258
293
218
221
190
151
214
241
206
145
173
180
196
219
211
204
289
349
222
190
188
219
235
276
308
114
197
214
245
259
215
212
228
227
210
220
241
194
224
144
227
212
207
257
177
161
255
219
304
238
226
217
192
209
336
253
153
247
248
189
280
252
311
126
304
256
190
230
276
205
191
206
160
209
158
235
217
307
233
273
165
179
215
198
231
355
230
147
281
241
267
241
199
170
214
192
228
309
331
260
147
172
281
225
163
345
157
233
165
244
255
219
218
245
188
216
172
114
162
192
229
126
175
147
285
291
209
265
176
214
284
240
276
175
252
222
252
222
251
293
211
191
207
194
232
259
168
233
198
227
221
219
291
241
158
250
215
215
235
218
183
186
205
240
190
283
217
225
241
209
180
245
195
250
221
197
181
160
303
263
179
245
263
218
169
108
245
175
272
166
196
307
230
322
205
206
294
196
278
265
239
204
205
204
289
296
257
254
191
230
237
264
197
244
186
268
226
243
304
145
239
230
161
269
242
319
323
197
235
144
223
235
200
250
239
227
199
226
245
320
281
273
240
114
156
151
178
225
280
244
139
245
211
173
211
210
235
169
195
207
234
231
204
231
258
170
180
159
181
247
204
250
304
220
228
208
250
162
200
216
238
252
208
192
266
199
170
194
194
203
266
244
253
223
177
220
172
207
257
208
250
155
198
299
207
171
173
193
260
141
272
237
173
264
227
242
229
196
246
251
337
272
270
235
268
235
222
202
250
268
238
169
206
218
210
264
250
228
293
182
208
222
231
193
114
228
202
184
195
262
221
307
228
229
217
156
275
311
216
152
195
217
275
215
254
181
225
162
228
245
237
247
200
285
176
238
261
235
251
280
220
198
189
207
248
253
160
221
278
247
266
223
165
257
242
237
198
199
221
197
278
238
264
209
194
194
275
206
241
247
228
240
279
239
238
177
274
198
251
253
309
236
255
194
276
259
208
206
154
263
180
158
276
275
308
152
217
243
254
144
234
225
306
322
215
185
278
200
227
203
269
272
281
190
195
229
260
309
307
289
259
170
292
231
180
231
222
238
249
239
213
192
178
297
251
244
255
206
235
144
314
176
175
198
108
254
156
225
280
307
216
114
178
267
265
221
223
233
219
240
231
243
216
248
201
268
194
213
239
199
306
252
282
228
201
152
197
192
247
229
224
253
340
168
130
225
181
203
241
298
243
266
223
168
210
262
204
194
243
193
190
199
240
302
198
237
263
158
217
229
185
243
204
330
213
251
201
218
238
197
227
260
193
225
270
239
187
171
178
153
195
230
221
290
251
264
275
286
242
257
184
183
235
244
299
170
205
236
206
160
264
177
144
245
152
222
217
146
226
205
226
214
121
174
255
228
160
218
232
317
277
274
173
199
205
224
314
257
236
285
178
229
179
270
220
233
250
237
206
240
268
181
221
247
216
171
255
170
240
295
240
227
212
241
173
179
220
262
275
302
226
183
156
285
195
221
239
269
248
173
193
329
162
193
264
225
263
160
237
263
267
195
114
149
235
285
226
187
178
173
160
170
189
114
307
114
192
213
186
221
230
155
288
166
209
213
318
191
179
233
213
174
161
241
258
174
208
145
160
178
247
249
154
239
276
156
284
207
287
276
204
170
208
220
174
309
201
171
211
207
231
196
215
193
243
259
195
194
192
238
286
198
178
225
300
171
209
245
186
277
218
291
263
195
206
295
262
330
208
256
253
309
202
116
266
282
188
217
224
227
268
258
293
275
280
237
204
214
227
257
185
237
188
200
282
241
255
186
165
318
241
312
299
285
281
236
263
249
237
151
192
190
255
156
179
220
216
230
180
207
197
231
218
198
259
259
261
251
252
300
299
198
220
159
201
218
259
289
198
253
277
156
174
245
300
252
192
208
292
203
168
297
265
173
279
248
165
295
214
220
251
270
220
258
209
218
204
212
234
230
192
251
219
203
219
249
129
204
208
216
214
199
245
198
296
204
163
252
239
244
301
152
114
198
232
228
161
198
213
187
245
207
173
248
228
247
270
212
221
198
168
213
273
221
229
176
226
235
231
252
152
220
203
231
243
187
183
243
233
281
239
275
205
221
226
164
200
205
288
256
228
236
207
280
216
248
297
310
328
291
229
200
228
178
299
194
273
297
114
222
204
251
310
279
178
162
300
170
243
198
208
234
214
195
169
221
151
217
188
279
221
148
227
197
241
181
281
214
237
152
256
170
258
209
245
209
242
276
295
212
184
225
192
196
250
218
264
213
209
239
265
226
237
262
198
201
233
226
235
181
276
155
184
246
220
224
292
296
172
157
256
283
229
181
187
162
265
162
228
305
231
276
181
213
139
217
286
180
162
279
241
227
298
291
284
211
173
148
186
267
296
145
233
253
152
246
219
278
300
253
214
242
192
220
219
175
213
225
267
268
190
178
178
189
174
281
116
273
186
280
155
316
170
223
237
175
267
251
249
217
209
206
178
254
230
202
232
219
265
198
247
192
283
261
283
168
227
264
192
156
229
114
243
209
201
178
272
108
173
299
193
173
181
188
286
194
213
204
259
192
210
267
261
256
273
198
198
272
178
223
200
318
246
164
208
166
158
260
221
241
181
259
174
204
139
179
202
221
197
282
281
330
238
152
160
250
241
203
335
241
170
254
230
175
216
179
302
170
262
179
181
238
215
210
198
246
332
281
266
331
211
340
306
182
169
198
203
235
275
314
189
255
221
215
208
186
288
240
216
195
172
192
317
270
207
234
197
192
260
221
198
222
307
139
223
277
238
234
233
257
227
327
285
288
209
195
291
246
179
315
228
272
267
249
187
145
223
147
270
214
170
231
186
166
191
208
268
229
227
225
233
193
249
245
258
196
173
265
272
245
214
354
179
222
220
290
222
173
213
217
244
146
267
252
192
225
222
210
188
257
273
193
178
243
227
225
296
273
215
273
245
266
356
166
236
305
285
197
215
303
156
276
217
267
159
265
249
174
175
250
247
268
255
273
271
228
116
126
229
235
274
188
254
198
249
283
174
196
268
219
258
200
231
204
254
241
200
292
270
196
200
263
341
285
202
266
299
245
172
236
200
242
241
221
183
248
185
213
234
195
210
219
217
195
189
219
229
213
227
188
160
294
230
237
189
194
246
223
311
186
197
192
241
194
169
306
242
191
223
214
217
211
204
235
271
216
286
198
247
243
221
162
181
153
237
287
219
178
189
255
222
290
292
191
231
207
195
222
227
217
190
230
325
283
255
226
248
211
283
210
216
214
187
190
283
231
188
222
191
321
184
288
228
206
281
238
211
198
213
233
207
237
220
188
144
293
235
249
268
141
300
141
249
162
151
304
230
238
258
137
190
209
215
196
194
191
186
250
211
172
208
221
205
165
216
246
194
174
311
220
169
229
214
217
268
180
269
323
256
280
253
195
210
214
231
151
155
252
233
238
239
242
295
243
160
272
177
144
268
249
223
145
281
176
267
328
219
311
170
239
220
191
226
204
275
241
274
257
227
255
233
189
209
173
272
234
220
168
189
222
249
181
219
247
160
262
247
223
189
255
157
237
275
271
218
214
207
226
253
165
251
180
114
213
185
281
302
181
285
182
210
203
198
236
182
175
281
257
229
176
256
206
339
207
273
214
296
139
170
370
197
174
200
214
296
228
297
270
155
219
257
207
245
194
299
215
241
291
254
266
214
254
245
209
213
180
243
228
275
161
217
268
181
191
269
275
212
205
264
178
193
261
272
309
239
189
178
307
278
247
259
214
271
246
191
243
276
185
348
213
265
249
241
276
216
330
220
238
273
162
237
220
148
283
200
220
239
172
282
284
272
114
224
169
302
190
221
201
235
265
250
170
267
202
130
226
267
252
258
172
246
193
278
203
243
267
195
242
267
216
175
160
184
248
241
288
227
249
226
290
263
251
202
158
205
174
189
217
213
219
228
214
156
209
191
216
214
268
150
182
114
168
200
219
202
235
160
228
187
238
289
287
201
210
263
126
288
210
291
254
238
235
170
197
235
291
161
178
202
273
185
224
304
148
272
248
166
185
243
151
232
211
225
160
196
238
187
293
187
154
208
114
212
197
262
284
257
226
210
179
183
193
220
163
273
196
202
244
203
189
237
209
220
161
232
311
162
209
218
152
239
180
276
232
295
114
198
178
192
249
210
240
256
237
178
212
236
253
273
302
166
225
160
237
222
250
297
293
194
235
220
245
114
193
239
170
204
232
177
158
235
251
298
175
178
271
218
208
284
234
202
244
211
272
271
225
243
238
232
202
192
261
283
266
196
192
232
255
160
244
245
293
198
221
309
277
234
209
220
164
286
228
333
196
245
290
276
114
273
195
219
277
195
264
145
222
191
225
217
216
210
238
213
224
221
189
298
230
232
234
278
229
164
199
263
203
219
240
195
263
250
149
224
194
258
287
241
145
276
244
235
179
196
230
243
232
258
258
208
232
285
249
196
272
249
273
215
236
280
166
282
271
189
193
287
279
252
260
201
282
200
201
208
242
263
205
246
273
250
178
202
156
114
238
285
232
178
213
174
166
229
272
292
198
213
301
222
239
191
309
165
239
253
315
206
216
208
164
262
242
260
224
249
315
114
285
220
232
226
183
164
181
198
215
240
253
255
293
249
186
209
191
114
217
294
240
207
232
284
238
244
198
298
208
236
238
297
351
227
248
330
289
184
264
156
192
208
214
211
250
309
126
259
293
342
229
208
173
258
198
178
272
181
218
197
169
193
158
156
275
186
204
175
241
205
224
262
222
162
229
206
186
200
300
223
221
237
240
262
248
256
225
175
236
260
206
308
222
271
193
239
257
281
197
230
261
273
292
246
319
179
217
270
285
237
185
222
203
297
202
223
267
257
239
244
233
231
192
219
339
207
285
210
218
258
176
233
192
292
154
335
208
325
290
228
153
227
213
210
183
116
272
230
215
296
213
196
227
230
217
183
150
260
276
176
233
268
288
205
272
148
259
187
145
227
240
174
239
160
275
213
281
268
299
170
261
247
261
250
282
287
267
279
221
166
137
244
292
247
238
288
184
178
202
247
196
233
174
181
156
114
172
210
259
220
174
213
261
173
146
227
164
196
225
246
189
175
230
220
199
229
244
173
188
170
172
191
253
211
308
260
220
220
157
210
206
227
151
160
230
187
194
200
259
227
164
240
172
308
154
222
217
213
297
114
221
235
307
241
177
238
144
300
180
195
291
262
195
192
298
215
248
358
161
171
158
188
179
258
277
200
313
232
299
295
302
258
302
190
197
189
193
145
261
179
249
181
122
290
139
178
198
272
218
247
169
193
274
208
194
252
243
215
276
114
270
184
146
208
233
165
193
191
256
271
194
236
258
196
252
208
179
182
195
221
193
195
192
255
272
259
170
139
157
170
221
229
228
160
173
205
251
196
189
286
241
170
271
256
183
170
207
226
240
171
171
266
154
156
257
192
280
279
152
228
277
216
295
205
237
280
327
167
158
202
198
182
237
249
191
228
327
198
178
261
310
184
173
281
250
212
242
202
241
160
280
232
198
167
256
262
211
290
189
219
276
203
307
280
223
286
257
189
342
222
290
178
265
198
281
188
189
297
214
204
149
227
221
243
171
225
206
283
187
235
114
170
145
233
215
250
292
227
175
232
220
237
114
139
234
328
250
114
294
273
165
225
189
178
184
227
201
241
209
194
318
237
218
227
193
231
240
227
200
266
278
286
189
237
180
198
263
224
227
220
227
209
218
265
201
254
271
283
185
152
152
205
278
178
207
280
279
200
245
152
261
288
231
247
296
237
202
249
289
188
252
209
178
261
180
249
233
232
254
300
241
202
219
216
252
225
210
276
277
185
248
285
215
183
238
173
170
174
251
263
200
236
230
259
227
184
184
225
169
235
281
247
254
259
196
241
203
213
215
270
311
154
250
174
198
209
272
165
126
209
178
210
211
285
234
297
280
169
309
164
291
231
237
240
229
202
175
161
155
126
235
296
207
253
146
170
220
230
229
248
216
217
189
191
279
237
232
245
212
221
309
323
232
224
271
201
222
251
283
219
252
217
238
207
207
193
250
180
284
240
190
270
324
173
226
154
270
180
206
201
180
133
211
328
228
173
230
236
236
240
221
249
217
145
303
239
191
258
214
257
275
246
199
282
239
178
242
244
226
258
186
265
194
201
208
162
178
170
182
191
283
242
229
159
232
180
242
259
145
290
219
305
128
276
254
274
234
170
190
163
267
278
276
263
310
212
154
198
287
233
235
314
236
309
252
204
282
273
258
213
237
226
114
278
214
286
200
157
254
108
178
211
200
151
281
160
126
195
214
227
271
263
198
156
306
210
257
196
302
325
233
151
233
191
198
114
240
286
209
237
208
200
263
217
242
303
185
175
126
280
203
242
221
252
303
198
152
139
217
227
251
179
121
190
296
247
243
196
234
189
336
199
241
214
158
244
240
262
254
195
201
222
232
195
192
222
219
263
292
213
285
221
196
175
289
212
271
250
165
187
335
223
309
187
255
255
255
287
186
228
205
201
230
196
235
264
332
197
243
210
247
231
290
203
186
213
230
191
193
257
146
265
231
230
208
166
220
273
186
290
262
211
153
183
250
175
262
315
237
222
181
190
257
241
281
330
204
312
181
330
220
277
239
220
149
273
155
315
208
181
162
267
222
324
212
270
208
212
233
207
227
211
210
268
230
263
239
218
223
228
231
191
224
283
201
261
154
151
198
210
213
301
227
206
139
301
181
202
230
312
211
231
253
173
156
266
196
198
218
235
227
217
158
200
195
237
175
241
299
192
194
213
114
255
222
282
177
257
252
244
239
248
161
247
244
273
157
225
232
315
243
176
216
260
215
169
226
295
219
235
273
261
271
263
224
253
213
186
240
268
184
265
178
189
203
168
188
233
294
240
192
161
209
243
227
246
257
253
172
181
291
141
284
225
261
274
168
178
220
152
164
193
163
199
285
248
205
225
237
228
294
255
211
200
215
241
187
224
320
281
229
225
189
178
198
231
190
347
295
277
231
250
114
218
262
188
249
274
250
156
288
186
309
264
232
264
179
137
330
245
218
194
244
222
280
211
235
205
242
227
205
189
225
209
222
242
184
215
238
220
339
209
178
216
204
248
278
201
114
274
188
156
206
255
202
174
216
202
278
200
229
266
187
179
339
204
242
114
245
238
267
282
287
145
319
292
220
206
155
231
166
188
196
252
250
247
251
234
283
227
227
292
206
299
212
174
242
183
172
225
270
212
382
235
223
211
171
156
188
240
222
223
210
279
142
243
126
167
239
227
256
289
169
207
221
256
232
240
241
251
206
269
161
173
193
229
199
152
221
367
184
206
262
210
238
253
292
290
269
223
211
275
235
190
228
197
253
152
211
263
186
269
259
249
194
260
226
247
229
239
205
114
292
249
238
282
253
197
156
178
237
213
306
172
168
168
222
220
286
225
215
284
213
197
170
259
244
294
191
253
201
245
238
221
269
301
233
195
160
248
307
219
165
244
292
210
282
204
195
263
188
212
130
319
250
184
126
280
230
261
257
201
283
218
234
176
223
258
228
225
247
231
279
268
211
243
246
190
198
231
214
235
245
201
205
156
231
222
289
232
247
269
216
275
319
228
234
225
225
220
200
231
194
254
278
170
200
175
245
184
234
179
255
204
330
250
285
114
216
229
232
282
215
204
145
263
224
179
221
214
269
265
250
263
264
288
346
216
168
244
206
246
234
186
222
306
252
205
203
231
254
233
283
221
246
265
269
288
250
213
290
221
204
192
237
192
218
181
226
211
166
249
223
254
243
343
269
212
160
253
203
229
262
232
243
307
284
331
260
170
192
129
251
307
241
161
259
144
291
274
156
166
222
232
289
247
231
277
170
223
235
247
258
197
164
221
223
178
217
219
254
228
219
222
274
181
267
213
297
188
198
271
267
159
202
212
206
249
223
237
241
228
237
246
286
202
324
242
191
250
146
210
287
183
273
239
254
126
226
250
256
192
224
198
250
243
225
211
155
248
209
314
223
243
301
257
178
203
168
246
195
208
215
121
333
258
169
258
261
219
221
191
230
292
199
247
321
273
173
198
226
167
256
178
244
252
223
276
210
246
201
297
193
218
194
172
186
204
242
270
200
211
259
286
193
166
223
301
271
242
116
247
205
194
328
184
252
223
237
210
200
148
243
208
249
233
203
239
189
232
166
281
224
213
231
271
291
213
243
272
193
234
213
215
257
152
203
315
269
260
221
256
190
240
175
193
229
212
302
153
293
284
281
285
222
255
205
170
191
277
257
266
235
271
240
280
254
207
176
257
203
221
244
166
192
275
198
241
251
330
260
198
230
220
267
159
226
210
209
212
210
314
319
240
213
200
269
233
258
202
198
306
114
232
235
271
149
183
213
367
299
242
203
207
290
213
229
198
277
322
195
224
213
250
244
139
187
159
186
192
282
269
235
267
290
261
239
271
184
108
288
171
295
255
330
311
215
228
268
257
237
137
217
263
214
184
233
206
211
192
234
158
229
220
235
249
249
156
160
249
168
226
304
196
210
225
167
199
218
231
209
262
273
197
226
214
264
235
236
232
269
194
219
210
323
243
279
169
216
217
208
221
158
233
192
207
263
219
311
217
221
268
225
181
192
233
196
246
202
244
317
250
229
233
192
218
275
176
195
227
258
311
211
223
191
240
263
244
230
217
254
202
201
266
208
341
217
146
230
247
206
215
233
194
344
259
238
224
202
236
250
263
174
332
189
177
202
227
137
187
233
263
298
222
166
274
192
249
227
252
231
219
258
176
277
326
145
114
162
192
153
236
279
232
191
207
226
242
251
217
193
210
256
193
254
199
256
208
206
247
210
229
207
347
204
273
259
230
163
255
196
267
283
223
274
259
266
215
230
215
305
225
231
214
225
213
321
232
161
222
199
305
208
203
250
228
173
250
205
189
183
193
214
268
152
235
229
301
306
161
300
263
267
257
316
292
239
231
250
300
183
285
198
306
114
232
211
151
211
192
262
276
274
200
227
209
260
299
158
242
204
302
260
200
205
152
174
295
191
169
205
307
162
212
244
271
233
179
238
245
236
179
257
258
232
255
239
232
289
174
201
228
243
119
262
224
178
232
215
185
225
237
268
232
182
224
238
272
236
243
234
248
195
253
208
184
195
175
213
207
252
234
249
235
214
198
251
260
226
214
195
114
161
247
203
157
324
176
251
240
269
267
204
183
165
226
276
208
180
252
233
246
203
189
106
229
272
179
207
256
258
170
205
202
253
231
227
231
319
203
222
242
285
237
156
271
255
170
198
257
268
229
269
159
198
170
209
258
229
264
265
239
201
297
156
242
121
176
201
229
249
228
181
235
266
190
165
351
185
188
197
177
203
154
203
154
273
243
181
281
145
165
220
252
243
284
219
203
160
240
158
222
258
174
245
192
272
218
193
261
159
261
262
231
194
344
184
163
252
241
170
197
239
269
259
173
287
203
188
219
210
184
267
187
203
256
189
269
210
279
160
198
235
215
198
203
201
226
169
238
219
299
203
320
181
214
234
186
213
206
258
290
145
234
165
183
273
234
160
292
273
232
175
129
151
202
220
209
151
164
225
189
224
215
297
266
173
166
220
222
202
202
281
240
284
229
186
191
244
235
266
175
260
203
178
271
272
271
237
198
264
246
241
199
166
191
154
277
248
238
241
167
245
232
279
241
268
192
239
242
246
263
223
226
234
271
175
231
223
259
220
233
224
159
210
238
237
224
144
200
256
242
270
231
162
166
170
224
231
262
246
178
230
156
243
260
248
207
178
282
266
180
274
262
289
204
198
235
184
215
160
192
182
362
232
198
258
166
222
241
229
310
267
193
253
256
178
227
160
238
207
283
257
194
183
203
198
244
235
218
216
219
233
203
315
214
173
272
296
201
114
255
175
224
192
278
231
231
211
243
160
200
164
260
173
177
248
295
239
198
240
265
287
231
229
133
225
158
260
213
256
261
328
201
216
187
233
246
199
296
219
244
181
215
262
256
216
307
192
155
258
175
242
211
263
226
247
192
170
139
283
185
253
321
191
214
247
210
254
261
269
187
334
256
256
222
302
189
141
203
167
305
232
224
192
249
258
126
222
177
246
230
247
196
344
273
246
238
116
287
253
249
289
225
207
195
181
199
229
200
175
133
231
242
214
162
159
169
233
224
188
260
181
267
246
264
257
289
192
218
198
303
214
234
224
242
223
245
225
178
270
225
225
221
190
218
201
293
229
225
196
252
236
308
219
147
148
247
177
206
261
234
230
197
253
320
222
267
205
208
301
187
300
198
304
251
236
234
284
182
207
191
198
253
166
280
251
240
211
221
213
271
334
186
205
223
191
225
247
189
226
273
201
208
173
151
235
280
191
168
201
305
260
194
158
166
263
149
176
265
226
148
214
169
114
244
203
246
229
211
297
306
254
326
206
169
204
247
253
156
236
178
200
171
226
306
198
229
160
182
231
300
238
240
283
223
253
243
249
114
246
213
221
224
234
203
212
205
226
196
257
281
207
249
157
223
321
161
298
175
205
151
234
228
169
157
318
254
173
227
166
170
239
203
178
253
194
230
189
186
145
297
282
173
162
160
267
234
247
272
225
240
257
195
180
179
245
214
211
281
214
227
236
184
283
245
181
311
158
253
232
210
272
211
151
253
222
250
285
175
229
183
296
183
235
227
223
243
207
240
258
318
182
245
209
151
181
212
219
317
208
174
198
215
171
186
188
233
219
236
108
330
240
262
282
210
243
198
269
257
202
283
270
184
204
152
304
250
243
235
169
322
230
146
187
175
229
251
245
280
198
217
276
237
228
224
201
252
170
133
249
277
185
237
198
244
218
190
114
213
195
175
259
116
166
306
253
263
275
253
163
178
145
156
253
274
240
214
151
316
194
236
227
186
196
320
249
244
245
247
337
177
247
238
170
192
217
231
170
196
200
219
215
285
224
304
221
186
147
255
166
220
226
243
197
253
270
185
126
178
114
114
185
251
195
273
164
181
220
258
293
274
184
282
192
352
285
208
180
222
195
208
165
259
237
195
182
235
261
244
207
203
235
289
178
314
231
199
228
204
200
231
224
156
159
198
198
210
241
166
191
171
188
213
266
277
250
262
142
181
253
207
229
267
213
178
189
160
165
250
206
208
151
239
214
234
236
220
296
253
167
241
207
188
213
250
249
166
209
156
286
202
215
201
172
173
158
278
217
291
287
220
181
243
176
164
254
279
207
126
200
234
175
214
240
188
275
360
165
216
218
271
249
201
207
152
214
206
222
320
218
221
167
267
216
175
210
233
272
163
222
243
184
281
269
257
227
165
233
282
128
189
280
173
307
259
301
172
205
177
247
219
221
174
232
279
251
174
160
225
261
219
139
280
161
188
332
273
260
130
233
194
244
216
180
203
232
221
197
274
214
267
206
277
262
248
199
330
278
216
196
221
238
300
195
177
336
207
211
413
303
290
302
202
241
279
145
181
243
175
146
221
232
178
178
288
285
192
232
232
151
253
203
224
285
152
254
276
234
185
340
181
309
258
300
180
235
188
244
172
228
274
323
296
181
209
188
174
251
283
234
160
251
265
205
230
237
149
199
258
185
194
248
282
240
237
263
343
207
288
147
183
230
147
245
160
285
194
196
275
227
204
203
269
166
215
286
219
283
158
242
248
307
230
248
149
228
126
188
230
226
232
207
225
225
233
160
219
243
248
185
237
249
273
255
259
160
191
221
187
238
189
254
195
249
214
200
259
169
191
238
250
244
196
258
208
191
241
340
230
217
195
258
338
207
170
273
193
179
202
192
184
180
276
259
271
108
208
206
271
237
241
233
228
244
296
261
260
207
174
270
161
225
233
209
218
187
171
238
151
248
259
255
282
231
172
226
333
246
174
238
301
264
211
277
287
156
181
208
201
283
215
207
247
192
242
267
296
275
194
169
332
292
281
186
165
307
257
308
328
181
228
239
225
267
204
269
215
240
164
254
319
180
261
268
233
263
255
144
238
242
244
205
214
297
207
179
191
155
228
203
222
246
201
174
178
218
186
237
221
198
223
215
272
160
292
192
250
207
229
221
211
197
201
174
226
272
265
191
213
204
214
203
266
202
247
208
152
232
181
198
236
248
192
160
267
290
234
239
275
199
197
203
245
346
305
207
170
197
205
199
192
207
235
239
258
153
216
297
244
179
251
214
233
265
262
265
154
265
282
221
270
186
152
202
182
274
231
219
245
272
224
249
155
238
250
343
176
317
196
156
240
205
166
201
203
172
139
176
198
197
245
252
219
162
210
194
295
251
237
240
205
219
181
224
322
203
198
205
213
172
259
116
164
156
325
243
151
193
225
169
260
114
261
266
181
237
154
254
178
267
198
175
198
168
214
252
218
235
227
275
263
180
180
214
214
240
209
226
357
308
281
228
256
260
166
250
199
244
139
230
190
270
194
126
227
268
225
134
281
213
255
201
263
277
160
208
272
252
271
233
213
234
206
226
227
174
152
236
243
141
204
182
209
267
277
299
280
239
292
283
253
208
173
245
317
193
261
151
242
289
195
304
194
215
310
151
252
225
128
190
114
279
152
215
215
248
239
221
156
177
248
204
289
126
226
212
225
313
278
204
246
175
263
209
285
292
276
241
258
238
267
184
212
190
234
205
215
175
209
190
294
229
192
166
233
242
189
222
260
179
161
205
207
180
235
285
212
211
187
219
355
228
178
211
253
156
261
207
242
232
154
214
235
214
203
250
201
288
201
146
196
200
192
306
170
260
203
199
184
294
216
263
218
239
209
225
238
229
144
301
302
195
237
226
236
279
206
235
235
168
288
251
188
114
201
191
220
198
216
167
242
233
203
251
235
198
232
114
200
288
241
194
271
233
192
156
261
202
152
215
203
209
271
262
213
180
277
234
191
310
274
254
230
126
126
178
209
149
210
205
229
114
292
276
194
235
226
164
258
266
247
222
255
219
264
209
194
171
223
222
175
237
256
195
262
183
243
215
186
283
212
252
227
253
200
213
272
247
251
242
283
173
191
246
303
219
243
213
232
209
193
204
266
224
235
199
255
156
173
189
196
213
274
194
307
196
209
219
266
269
229
183
229
201
313
217
193
218
245
252
178
255
161
259
262
204
181
273
216
246
272
170
253
192
292
208
147
269
212
279
280
197
247
348
221
210
227
215
188
198
194
203
176
219
257
170
219
208
216
151
270
192
275
223
248
273
199
193
168
195
263
234
231
270
234
278
278
216
274
231
249
200
294
272
211
203
207
342
298
220
321
265
205
287
177
258
239
228
234
191
170
181
249
178
233
225
207
181
246
205
206
227
222
201
207
235
201
231
146
234
232
208
273
212
313
317
158
184
181
253
257
248
286
219
228
192
232
314
145
182
280
282
181
114
281
231
276
206
256
255
249
258
225
164
253
198
246
208
238
265
169
173
255
264
244
235
277
210
200
180
231
222
230
151
268
241
250
226
168
245
239
286
233
273
187
299
226
248
211
272
216
270
194
278
321
258
151
144
314
213
224
272
226
226
246
211
299
222
193
226
235
233
309
214
305
192
175
209
219
211
224
163
353
217
288
243
279
235
206
148
263
223
180
232
305
245
265
261
283
276
192
208
195
213
209
207
284
292
169
230
229
195
185
323
204
217
205
202
185
247
162
206
158
177
204
272
271
210
256
232
256
187
181
209
267
250
270
193
239
181
183
218
298
189
250
214
222
275
148
248
138
230
261
202
242
255
210
256
189
250
203
251
139
240
257
219
313
277
167
202
235
185
174
244
219
146
253
250
230
214
269
311
223
257
241
236
273
164
222
184
189
206
221
232
187
264
230
226
198
174
284
181
218
280
173
286
237
181
232
181
114
233
261
222
243
202
216
197
208
185
204
245
166
279
227
195
245
281
210
258
210
188
191
162
203
254
175
157
221
243
216
258
252
193
176
232
239
207
196
228
191
152
212
235
260
259
179
190
176
171
160
234
282
200
151
250
208
198
178
260
174
264
139
277
236
250
241
222
178
154
150
154
233
258
217
232
176
152
195
198
326
209
219
229
178
209
218
276
195
223
211
256
270
215
216
173
229
190
178
320
198
220
311
199
206
225
225
178
203
295
247
210
233
237
207
209
199
189
211
225
187
230
258
250
114
215
207
180
196
229
198
206
225
227
288
205
244
176
288
251
178
282
209
164
286
188
151
311
219
210
209
220
196
178
233
249
265
202
245
238
254
220
214
275
204
254
180
265
236
215
221
195
240
271
180
281
171
219
204
237
192
168
206
266
252
376
243
198
182
220
234
229
200
262
169
278
213
160
200
280
165
210
231
195
263
202
269
179
237
262
298
176
196
220
171
262
243
235
254
227
274
114
179
310
251
202
308
178
304
268
202
199
183
200
246
353
247
222
255
229
242
208
186
275
173
218
224
252
240
183
263
147
126
191
247
213
201
285
179
284
261
265
212
238
292
229
222
198
265
267
252
275
208
179
236
174
271
195
262
279
259
240
170
274
203
199
159
245
169
225
198
241
253
194
231
174
272
238
167
277
188
149
198
186
194
243
238
220
290
209
144
173
207
222
245
192
207
203
158
215
224
181
275
194
268
253
213
114
253
222
220
178
393
193
238
270
184
337
215
187
203
256
235
149
277
225
269
243
225
170
175
309
174
182
203
265
158
231
239
288
244
164
289
229
260
217
208
220
217
243
280
161
229
309
241
224
224
273
227
257
202
305
198
235
231
175
180
238
201
188
213
229
198
318
201
230
166
223
222
139
192
162
235
154
285
286
192
220
215
151
279
166
243
208
318
202
262
248
139
216
189
233
242
281
263
207
256
227
185
210
252
170
191
287
183
252
253
244
173
262
265
255
248
269
234
225
198
287
204
162
261
148
208
228
232
302
242
219
175
300
276
146
236
139
272
234
193
244
216
177
169
287
169
305
250
289
292
234
149
278
157
254
229
185
193
152
170
175
295
161
217
158
214
218
203
237
232
152
210
278
241
170
214
207
227
199
236
274
286
245
262
229
277
278
212
258
219
175
155
116
311
192
152
267
193
243
247
165
252
247
257
249
300
317
203
251
214
213
229
165
209
170
236
213
182
242
219
274
261
296
181
282
290
238
139
177
259
253
239
190
160
284
206
178
232
251
312
194
197
170
197
215
241
218
254
230
287
215
203
249
234
251
213
172
228
233
315
160
183
264
239
170
108
239
149
206
214
169
312
195
167
214
259
306
298
205
276
200
208
285
230
297
267
163
200
191
233
250
250
164
186
259
218
192
198
141
178
233
174
238
157
249
285
190
228
186
194
234
202
266
213
180
139
185
237
180
192
205
226
252
172
217
198
162
173
241
233
264
233
192
151
277
219
181
229
231
157
208
243
204
297
236
269
221
239
247
239
221
191
285
178
214
244
302
237
307
261
240
231
164
242
176
229
234
279
224
278
249
233
154
145
210
222
243
311
233
243
300
189
227
208
227
151
277
219
245
198
176
151
238
254
221
273
258
270
186
184
263
245
292
227
255
220
234
171
200
205
217
180
114
292
224
181
240
335
236
229
253
303
309
208
214
329
211
229
194
291
180
192
114
203
250
324
249
216
220
270
247
256
270
215
161
191
181
163
257
208
223
260
248
210
227
236
188
220
246
279
210
248
210
234
243
207
268
287
229
249
213
249
146
193
245
219
128
260
304
192
232
286
202
214
190
226
209
170
252
147
234
145
244
195
181
238
201
215
259
169
197
285
233
217
259
144
226
237
181
246
209
243
271
205
204
249
158
246
197
139
243
189
235
277
349
274
250
361
334
181
217
232
190
225
267
264
193
203
246
228
244
178
190
228
209
108
254
229
264
272
181
174
183
255
200
241
200
175
164
166
286
168
257
255
247
230
306
218
229
181
198
144
204
197
211
275
223
265
254
243
200
293
268
217
185
279
210
265
232
218
212
250
242
243
225
281
266
260
225
262
201
219
194
212
243
237
177
230
176
213
160
196
244
239
193
174
224
155
197
239
257
260
265
199
245
200
211
214
248
261
214
299
239
231
213
314
223
262
207
241
273
193
209
265
214
233
142
196
239
240
219
212
203
181
270
163
290
253
332
179
198
198
277
221
176
228
180
216
266
290
260
244
193
257
243
173
220
283
200
223
252
220
183
168
162
212
247
181
284
240
163
161
236
296
242
257
188
267
241
169
210
174
220
162
208
162
192
236
212
249
219
196
287
170
205
234
238
233
228
130
255
208
194
239
242
238
220
217
280
122
181
171
188
258
177
171
200
260
178
173
231
320
239
286
324
293
244
247
222
245
156
170
258
319
260
243
233
354
194
201
207
268
296
247
273
209
257
223
231
130
237
190
155
239
269
273
210
235
252
218
189
193
294
200
273
222
160
228
235
177
249
204
152
193
213
286
174
231
220
213
245
308
298
199
224
317
198
253
195
175
218
200
180
309
235
194
235
288
206
283
220
268
211
247
214
173
176
251
235
326
175
272
263
250
197
175
194
259
323
204
232
242
233
191
288
231
151
305
221
217
222
237
233
211
254
209
233
238
151
234
290
248
221
258
199
270
228
258
290
269
219
298
224
269
180
222
156
290
212
191
160
181
253
173
256
182
181
222
198
230
257
208
243
169
200
196
180
208
234
247
203
250
192
277
225
240
197
295
183
194
154
244
297
249
202
260
276
175
240
190
204
195
245
335
229
198
199
238
145
223
192
261
218
185
177
182
160
149
239
282
205
197
258
195
229
177
239
280
243
198
278
211
151
274
242
208
185
202
275
219
250
221
205
158
203
249
207
190
171
244
164
237
199
256
244
245
178
154
219
231
243
235
215
193
252
212
225
169
250
230
193
210
114
188
234
180
238
192
226
221
234
151
191
194
182
218
208
236
152
182
261
274
262
158
240
200
287
214
312
204
214
223
260
290
213
215
224
247
180
198
193
203
230
192
251
302
189
196
248
184
280
268
193
217
232
156
243
140
251
226
192
213
198
194
222
313
271
282
268
217
175
205
220
248
189
204
267
278
170
222
170
302
198
198
153
291
272
249
244
267
238
139
144
195
225
255
260
254
224
252
188
204
263
296
259
205
182
238
231
215
180
203
294
169
208
264
211
174
189
329
206
216
202
240
247
215
201
222
195
196
162
235
266
194
198
154
268
222
177
219
205
235
305
265
275
336
157
260
293
289
251
211
161
219
213
223
178
234
233
214
221
181
181
266
231
194
285
232
198
144
233
234
270
230
167
295
180
184
286
192
254
217
200
282
209
218
178
259
164
244
205
297
238
192
274
126
288
263
223
303
219
205
225
196
178
225
248
208
238
237
223
192
175
250
267
170
197
231
246
224
175
259
180
216
213
219
266
225
174
270
227
116
274
223
272
160
178
290
144
186
254
227
181
186
262
179
195
184
249
261
265
246
228
250
216
223
222
205
254
231
266
239
165
232
218
144
196
241
219
253
315
163
160
275
273
254
205
249
207
309
269
279
215
219
161
207
230
259
222
244
244
252
228
246
259
273
184
201
322
262
225
255
164
199
194
188
179
250
347
114
178
277
222
296
165
266
225
232
212
176
229
250
264
201
260
192
229
212
189
266
230
216
202
276
238
232
166
362
192
241
181
284
219
196
173
148
235
245
294
175
295
271
225
219
192
254
245
264
284
178
308
259
221
156
244
202
211
265
217
174
268
192
219
178
228
235
156
246
268
273
193
219
212
269
229
160
222
211
189
284
260
177
161
265
203
310
264
200
221
309
334
191
209
244
347
246
248
249
194
217
224
213
260
318
257
166
212
224
244
152
267
217
212
191
139
185
246
180
207
237
219
192
197
246
218
306
244
219
249
239
233
198
312
230
190
222
173
225
293
210
228
247
227
197
259
203
235
213
216
255
226
175
203
253
152
145
202
218
181
178
271
194
230
228
207
232
211
199
227
234
223
196
202
158
308
233
320
253
208
233
158
265
170
220
218
279
167
243
288
286
247
223
265
328
208
249
285
264
248
227
330
225
316
283
209
263
221
198
234
182
243
283
310
164
271
184
202
215
206
245
286
247
277
203
212
257
230
241
239
194
256
198
257
161
173
114
205
235
161
211
183
338
264
221
217
283
206
289
246
177
314
284
198
193
233
219
147
256
192
256
216
212
248
240
195
247
175
182
171
224
308
134
222
232
227
235
281
288
266
260
207
233
178
231
208
204
313
257
152
168
312
227
213
227
247
205
221
219
204
338
300
175
189
221
227
278
253
196
202
259
204
205
161
197
249
236
272
235
221
229
205
266
230
227
174
197
163
333
153
173
195
261
178
194
238
199
151
277
244
234
187
238
194
245
248
195
218
208
264
212
221
245
238
239
221
170
274
257
276
168
224
192
240
253
282
244
247
224
259
126
209
249
114
220
160
153
202
194
167
278
184
227
251
280
154
256
250
206
213
240
160
184
251
251
225
220
282
170
236
265
219
192
208
195
286
238
233
214
220
276
270
216
169
233
181
178
185
256
139
269
275
280
227
236
244
304
191
211
201
158
214
290
190
195
206
224
239
210
214
183
198
271
163
218
284
219
160
228
174
145
204
238
213
114
264
293
253
191
190
277
332
202
226
200
170
214
250
251
247
245
271
221
165
188
267
183
185
249
208
247
293
198
225
254
286
231
342
286
241
214
256
211
222
185
256
252
252
234
180
240
238
170
194
243
158
329
302
202
259
256
199
200
205
213
195
235
277
203
182
209
272
281
231
244
193
250
260
156
260
167
237
227
265
196
240
238
193
216
297
223
211
263
330
228
240
244
246
153
247
321
198
196
240
233
149
272
256
189
211
242
256
218
159
211
218
275
223
203
227
171
225
312
207
191
256
209
298
224
231
286
229
180
184
235
199
200
253
228
240
145
302
192
186
221
279
237
222
209
288
271
323
234
165
191
206
296
114
202
219
215
316
254
221
141
295
224
227
192
146
246
155
218
160
206
217
241
249
316
261
272
260
259
224
164
198
237
167
193
244
161
201
200
184
246
180
195
252
280
233
266
257
234
178
258
245
292
218
174
256
235
198
255
211
229
249
139
291
248
216
214
195
242
195
232
248
242
177
175
278
256
176
201
210
248
296
275
221
297
240
149
288
290
228
269
306
195
251
226
210
299
220
170
275
209
212
230
260
239
242
188
238
227
242
195
265
243
215
157
167
316
285
253
160
178
256
247
267
187
173
191
108
255
194
203
309
236
260
207
270
192
219
230
212
215
183
226
264
191
292
205
274
215
223
223
228
157
265
195
223
220
298
221
253
196
235
244
126
173
199
266
246
193
212
205
220
211
222
206
199
171
257
198
292
213
239
268
183
283
218
219
209
228
287
177
221
215
246
293
247
253
252
235
231
296
254
258
173
233
271
164
240
252
257
346
189
208
198
183
281
172
247
234
222
205
252
174
251
219
221
235
236
213
216
205
166
258
197
263
258
211
174
201
201
165
191
246
198
152
175
166
245
245
247
257
213
209
296
239
356
243
278
266
255
233
324
234
203
215
169
247
281
189
226
214
198
223
205
332
188
160
249
287
200
188
169
259
145
251
191
189
222
212
187
257
271
268
186
254
259
287
274
196
231
208
255
174
215
286
271
181
251
259
192
243
276
194
207
198
213
282
183
197
193
238
228
152
260
214
268
263
212
219
168
241
308
242
215
172
114
278
241
227
198
152
259
225
180
272
193
198
223
158
253
205
165
228
253
213
246
297
241
242
160
287
200
234
237
261
178
200
152
276
161
249
185
221
235
178
211
238
236
176
237
196
165
170
173
248
231
129
206
168
223
203
235
260
227
252
244
200
234
185
231
235
235
221
227
214
232
196
207
200
186
226
265
130
286
238
235
219
168
195
288
252
170
203
218
295
164
173
296
209
200
231
244
274
278
182
263
250
261
187
273
198
147
226
225
255
264
146
232
258
194
241
228
334
260
182
247
192
215
249
250
224
180
137
298
239
246
192
218
222
140
273
201
226
165
221
176
344
189
243
235
191
170
212
222
224
201
199
216
236
255
224
261
260
231
257
219
244
232
313
180
296
156
173
261
247
237
288
223
183
233
214
249
232
261
213
199
204
253
249
198
255
186
215
238
220
280
227
185
196
186
238
297
177
279
212
161
187
227
220
296
196
239
208
214
286
253
233
206
167
177
255
236
214
309
199
242
183
235
220
297
252
210
231
318
236
226
204
215
229
230
242
214
235
173
201
192
307
207
230
218
182
247
245
186
226
281
235
269
266
255
220
226
251
207
273
245
149
202
201
263
221
295
274
173
154
241
156
250
174
174
225
234
174
261
295
232
250
268
199
333
168
183
193
238
185
238
243
231
236
285
309
198
288
133
215
318
279
156
268
232
219
219
265
251
218
173
261
236
225
233
204
243
285
235
182
304
204
280
241
152
220
254
181
244
230
257
217
245
256
178
172
200
197
129
174
200
243
220
177
210
194
420
228
167
210
260
170
134
177
303
305
178
253
284
352
106
114
139
281
228
238
238
126
282
279
227
253
288
191
208
166
243
320
194
192
242
233
233
203
232
179
236
261
243
251
244
231
236
289
175
204
264
198
260
194
236
210
159
214
243
174
178
287
228
230
255
355
292
275
236
210
218
267
262
205
204
184
197
304
241
160
191
221
237
252
233
139
276
154
240
225
168
278
279
173
184
332
177
171
227
214
193
232
287
302
172
256
220
331
176
178
234
237
217
198
114
245
215
231
160
227
200
270
180
275
242
233
266
207
190
204
262
227
235
221
321
305
169
258
176
261
222
219
183
212
230
152
293
326
246
139
220
266
126
249
182
236
166
225
230
274
223
220
279
300
189
223
259
233
218
225
209
264
264
223
234
237
192
250
211
243
256
194
382
279
254
160
235
243
141
220
207
160
207
240
266
166
278
236
184
228
322
168
178
186
251
241
240
223
181
313
222
232
244
145
250
204
139
276
208
235
226
211
222
223
219
246
231
171
231
213
227
222
192
263
214
229
227
144
237
223
185
260
266
206
232
274
196
186
228
219
250
241
213
255
206
190
271
210
268
193
141
173
310
353
221
165
182
180
218
133
174
255
169
163
193
191
286
238
283
198
160
230
226
216
233
185
323
267
199
217
288
226
229
234
285
255
181
297
244
321
269
175
198
284
265
181
266
229
239
298
262
190
146
231
263
238
207
270
317
192
201
201
282
178
272
158
267
157
247
198
169
241
302
202
198
238
254
242
146
228
262
242
178
219
244
262
265
235
245
298
114
232
172
216
235
232
237
269
166
239
211
232
214
278
239
241
144
198
247
238
207
202
210
249
203
223
213
260
200
149
198
265
226
219
293
189
245
200
252
197
175
129
240
235
185
256
305
165
250
233
261
239
256
198
148
253
261
192
229
270
317
236
202
258
229
225
139
152
252
240
213
208
181
244
251
231
240
235
293
114
239
275
246
139
276
228
221
182
134
229
198
251
200
265
262
146
133
211
246
222
272
170
270
247
226
192
206
215
188
203
209
279
289
192
194
275
213
217
262
177
250
274
216
213
114
216
224
283
300
170
219
261
183
217
298
175
207
241
267
235
207
236
171
219
248
258
130
246
251
277
246
156
247
198
165
303
242
243
219
300
272
235
264
183
235
202
233
253
220
234
173
227
248
144
251
184
193
114
229
207
235
243
175
148
256
225
207
239
174
236
243
264
224
232
285
279
213
176
185
264
204
194
202
234
186
203
218
251
254
213
250
166
221
200
158
210
294
196
200
207
179
246
148
229
238
194
251
221
301
246
147
254
211
203
300
240
171
203
151
156
114
272
153
179
161
234
147
309
258
195
210
182
280
192
258
126
240
206
192
219
181
257
219
228
116
256
259
187
213
238
244
228
239
216
191
245
195
199
203
347
220
208
273
209
217
161
257
240
233
241
270
145
209
160
187
173
258
114
212
245
213
280
316
200
181
215
225
194
264
273
214
221
147
193
274
220
161
306
233
223
242
228
297
334
254
270
204
158
194
226
234
194
194
238
183
233
262
212
160
292
234
187
217
192
200
351
245
227
190
195
114
228
263
240
186
158
286
216
156
292
305
273
277
160
279
167
275
176
179
249
251
240
231
178
207
218
258
261
223
236
188
294
184
151
228
319
189
146
176
238
241
146
198
152
195
260
212
191
213
213
226
219
174
274
219
205
289
114
278
234
230
218
276
268
196
173
246
242
239
174
255
283
181
257
189
254
281
221
170
227
190
169
192
175
133
244
228
244
225
147
300
225
245
164
280
178
171
240
215
210
250
230
240
241
249
253
230
241
215
114
201
217
174
223
156
198
202
177
210
212
239
210
207
367
181
194
278
189
200
114
196
159
219
282
218
279
164
258
114
285
317
225
231
160
237
283
225
246
196
260
220
200
198
265
186
279
261
232
271
223
213
184
227
201
171
188
221
187
277
260
192
253
250
196
208
246
356
303
207
169
250
270
293
210
227
244
291
265
195
206
181
208
187
229
262
247
209
181
253
222
218
235
300
207
152
197
188
221
218
197
257
215
215
235
214
258
213
187
176
191
195
291
253
281
342
241
187
211
249
228
222
151
195
164
226
245
240
160
174
114
266
226
292
304
139
294
165
182
255
338
265
257
266
161
314
216
232
300
229
185
192
256
223
177
333
264
228
250
196
282
207
171
146
240
229
215
183
200
192
173
267
225
158
264
256
215
284
233
161
192
247
160
139
235
185
222
241
240
181
208
229
270
268
198
203
279
208
233
289
160
249
191
116
232
282
219
280
248
116
145
233
195
170
167
221
229
243
221
261
223
224
255
187
195
173
199
293
229
199
189
235
243
177
155
175
232
286
166
184
158
269
263
255
200
208
279
233
218
243
270
219
227
170
190
183
162
248
233
256
128
215
164
236
212
205
161
203
236
126
300
258
231
256
200
266
210
231
145
232
191
203
259
170
177
234
158
220
219
224
285
230
362
234
198
233
186
114
202
218
253
278
232
157
230
258
236
222
296
208
192
206
243
247
263
209
149
214
170
192
157
184
145
168
157
294
296
225
156
156
139
219
261
198
211
214
247
319
232
214
233
266
172
280
265
174
210
181
232
216
222
229
225
238
259
250
237
277
220
201
251
179
305
278
232
283
261
228
204
156
296
361
277
238
226
207
213
298
200
213
182
173
205
233
195
249
273
232
213
214
195
178
188
200
255
220
267
252
233
245
262
237
201
202
198
244
176
193
157
256
212
214
258
243
238
235
223
216
217
214
246
224
250
240
225
231
145
218
286
197
203
198
226
196
274
219
319
248
200
243
152
235
202
173
198
275
304
244
182
208
308
238
166
225
246
222
267
152
227
264
151
197
265
187
191
191
252
207
264
270
192
206
220
214
211
194
291
216
228
227
224
162
263
275
263
152
195
213
173
213
201
290
139
214
246
227
170
282
197
310
253
181
207
203
253
280
173
246
226
186
199
206
234
220
253
223
170
229
184
212
219
286
237
262
234
242
237
214
256
275
359
299
228
281
232
228
165
219
291
167
153
260
193
302
165
215
192
193
206
308
179
281
209
194
234
142
139
201
235
198
232
205
235
290
258
209
206
244
222
339
178
277
148
219
247
168
308
302
268
252
192
193
222
182
197
128
213
268
264
203
167
236
278
212
178
243
206
179
208
179
245
208
214
209
215
235
302
223
174
258
253
234
243
216
207
227
313
254
209
178
200
207
193
269
187
198
282
302
274
293
203
192
303
299
227
275
178
195
198
214
160
237
266
270
144
272
274
223
225
205
184
202
208
240
208
257
176
236
237
243
238
179
212
250
236
181
213
219
207
228
192
297
241
224
174
287
186
180
236
278
262
157
224
265
212
179
207
202
144
179
156
188
108
154
209
298
281
297
241
201
192
204
146
181
209
161
191
151
262
237
193
225
170
277
276
204
184
207
225
225
170
238
191
231
191
222
223
214
238
175
206
285
155
195
254
245
281
276
320
292
269
164
220
289
203
285
192
176
114
259
277
255
212
249
197
259
218
240
194
303
262
218
230
161
296
209
253
242
375
239
266
289
288
139
234
273
330
149
234
177
179
114
300
208
197
248
234
215
257
258
237
261
249
221
219
193
257
236
174
315
288
214
247
181
237
212
211
220
175
269
217
291
282
165
269
214
207
252
233
129
256
240
237
206
219
156
162
267
277
227
211
208
221
173
140
205
235
231
221
158
185
225
198
180
303
272
249
204
314
272
148
221
161
270
174
269
249
114
242
244
222
260
320
264
129
185
197
190
232
233
216
154
277
242
240
191
169
215
178
250
298
181
238
282
225
202
226
222
292
212
148
230
248
139
232
191
230
228
278
254
161
178
160
245
272
183
225
185
191
288
223
283
220
246
223
252
231
180
248
218
162
219
192
230
229
258
239
196
244
258
253
172
217
198
252
233
296
169
207
200
186
237
200
340
229
277
245
253
228
256
267
252
239
192
213
300
253
236
207
173
247
149
185
257
355
203
207
198
212
260
207
241
283
284
243
215
279
210
226
179
240
191
198
145
242
157
308
243
281
240
221
224
234
265
145
244
192
199
208
261
252
189
217
232
274
197
202
272
208
208
202
181
165
180
222
170
251
221
250
164
281
301
236
238
223
268
229
192
241
195
223
181
199
258
182
220
214
129
253
254
178
231
267
200
216
180
239
205
235
236
199
246
210
288
236
247
307
169
168
244
264
240
170
298
197
252
240
207
278
227
276
179
208
320
286
181
273
195
221
284
202
164
170
242
263
170
181
237
197
318
239
258
157
108
218
187
263
228
175
220
214
248
226
156
307
238
282
181
191
213
160
186
241
266
306
197
230
211
280
285
231
172
206
213
303
255
203
224
206
238
162
114
315
271
216
219
171
232
247
271
233
268
189
217
292
279
146
208
274
239
239
246
294
211
204
215
214
248
221
245
139
264
178
273
303
262
209
221
243
157
167
249
240
195
286
275
238
283
206
222
126
145
242
234
213
329
156
198
184
169
268
195
175
253
152
213
232
260
281
189
244
271
219
219
274
219
202
179
173
170
224
275
200
203
116
256
310
262
309
236
213
281
274
139
219
108
250
192
162
173
221
222
182
234
226
205
173
170
178
223
281
220
276
154
243
284
237
253
266
265
247
174
226
151
203
174
249
160
196
227
242
207
233
201
289
230
301
226
180
159
243
197
267
244
141
195
213
270
206
299
260
293
237
182
190
183
196
264
170
216
152
228
265
234
228
269
133
165
185
172
224
299
210
270
192
215
207
257
240
201
259
178
208
326
236
237
203
224
225
193
293
221
224
250
232
200
302
242
230
224
226
271
273
181
215
250
224
193
222
203
210
257
191
292
293
298
193
245
212
225
253
240
205
152
256
339
184
224
180
291
165
244
225
197
282
209
202
254
171
195
244
229
219
265
160
181
319
259
202
300
179
243
187
205
227
158
224
187
227
221
243
248
219
237
231
237
193
249
310
207
159
230
258
245
200
290
257
260
183
180
247
213
164
229
233
279
148
216
201
185
216
210
264
221
258
259
314
283
329
158
257
217
232
268
292
190
209
224
208
169
160
234
315
208
215
272
273
240
281
205
194
209
244
184
268
181
168
174
207
161
231
201
226
158
184
266
152
254
181
228
270
213
262
209
222
211
222
277
258
221
190
152
238
229
160
178
250
114
216
248
136
281
257
174
152
234
201
157
161
217
204
178
194
200
202
266
223
114
181
194
151
239
273
201
226
254
292
273
259
290
260
211
223
206
267
206
193
167
246
151
309
218
161
243
280
267
161
297
227
218
225
201
238
237
219
126
266
283
298
167
187
208
193
211
283
283
206
267
205
274
219
221
273
182
311
240
299
239
174
243
182
325
221
268
238
204
182
114
234
226
192
199
229
175
289
200
185
114
223
140
309
187
196
220
162
260
302
208
210
225
301
257
161
235
187
218
217
245
255
225
240
240
209
251
243
276
253
229
226
277
205
196
236
221
193
282
273
166
247
252
203
237
170
152
245
244
213
258
237
213
243
318
284
286
215
272
269
267
224
235
219
235
170
180
238
275
234
247
268
173
301
226
246
215
273
204
200
243
191
268
116
241
218
219
276
239
284
240
201
134
151
212
156
246
253
279
179
197
183
160
226
270
209
192
221
229
201
240
252
267
262
264
224
114
242
220
292
217
256
217
217
204
246
186
230
216
214
211
206
185
200
331
173
208
159
295
206
224
235
212
231
337
191
202
183
222
267
238
245
206
205
258
193
220
213
276
198
200
271
316
222
114
116
182
195
261
315
182
220
168
232
257
226
178
152
114
173
114
214
190
272
183
280
189
214
299
249
227
308
161
311
234
225
225
263
275
196
242
285
190
180
198
178
249
220
214
114
145
235
273
202
276
240
224
214
254
188
209
190
229
228
258
224
275
146
288
180
247
262
232
237
267
296
270
145
169
330
233
256
228
248
152
256
279
203
225
192
300
197
170
201
195
179
239
269
177
194
209
253
263
267
159
225
229
282
181
268
318
255
209
211
148
152
246
254
251
234
173
219
154
257
273
238
262
181
189
198
228
251
297
222
145
274
206
206
216
148
249
246
262
184
280
271
233
297
207
189
262
223
157
230
282
194
251
203
174
238
250
180
255
309
270
208
248
233
236
197
181
196
204
186
273
211
234
166
184
347
211
276
219
184
243
230
217
249
258
235
277
173
237
248
315
241
250
116
229
235
225
236
207
223
162
170
234
186
189
186
245
173
200
281
208
195
159
270
205
331
241
276
169
160
169
299
165
288
261
154
305
260
207
196
165
204
217
315
203
262
262
204
116
276
221
224
242
225
244
220
242
235
241
282
130
218
224
114
181
166
208
279
235
185
200
200
321
247
171
126
214
160
192
192
291
195
210
270
180
238
215
278
279
254
212
194
180
267
151
211
232
217
223
175
218
195
222
277
317
157
208
209
276
245
300
236
277
225
222
273
216
241
260
216
139
169
191
139
236
284
189
271
170
232
206
354
191
260
245
262
197
204
252
267
331
239
266
158
258
245
215
181
220
254
206
205
237
181
242
267
246
154
199
213
231
253
192
151
234
256
196
271
217
179
221
215
114
180
250
231
240
166
216
212
236
246
269
230
242
188
234
211
225
222
307
203
246
255
214
257
209
190
309
218
197
190
245
177
271
184
229
223
252
245
226
222
288
215
172
234
218
130
114
161
194
182
146
208
209
305
233
192
260
277
270
212
249
184
203
205
235
344
267
268
190
214
173
234
198
212
262
165
270
196
145
241
170
313
279
178
242
268
197
166
191
238
217
179
231
272
240
212
199
315
192
216
245
237
173
259
368
223
196
161
257
209
176
290
156
176
275
290
251
243
158
231
114
198
154
191
250
166
151
236
232
267
199
139
258
299
159
204
260
271
164
175
253
241
226
201
207
259
241
273
169
219
188
302
245
255
231
232
225
170
175
178
304
178
114
157
196
273
205
232
263
330
222
214
148
229
207
175
175
227
199
285
234
281
237
234
283
280
214
249
258
220
222
209
207
239
218
191
237
176
170
283
265
170
243
224
217
203
259
154
205
294
259
169
227
181
215
232
207
205
193
216
259
128
162
251
184
188
268
310
169
296
175
222
275
174
208
182
211
243
223
210
207
237
186
260
194
151
210
264
231
188
198
178
295
204
224
179
191
278
178
261
215
243
198
229
145
203
213
289
197
154
230
260
279
193
145
182
199
252
177
214
203
255
277
182
246
250
309
200
183
199
224
210
242
282
188
229
237
247
193
203
247
195
129
152
181
213
178
247
220
304
270
149
333
156
208
251
210
264
264
212
195
220
232
173
231
173
218
317
279
200
203
231
204
251
114
273
252
193
183
273
210
195
170
197
216
231
196
214
174
225
192
246
263
302
237
211
201
201
178
208
277
197
170
195
252
144
176
241
241
154
256
228
201
260
250
286
227
216
162
249
172
205
175
209
210
179
252
283
214
248
244
224
168
273
207
114
226
175
263
148
242
285
215
229
198
193
263
195
246
235
327
318
267
214
165
209
170
159
176
160
283
241
225
255
252
246
166
248
266
237
215
230
243
151
213
247
263
269
255
245
254
254
164
266
252
349
313
301
154
255
199
217
182
285
193
241
270
196
259
162
253
209
202
199
154
205
157
220
255
189
189
206
259
139
178
256
225
192
203
275
270
151
219
319
272
297
290
256
114
234
253
256
245
243
249
215
274
193
173
207
296
231
279
129
184
210
200
206
126
229
209
285
250
130
234
198
276
186
184
213
258
195
191
145
174
240
196
213
192
299
159
218
247
191
230
231
224
244
230
114
170
245
203
188
211
152
249
198
288
304
194
214
192
114
151
114
211
262
248
314
238
214
317
210
216
204
177
202
170
255
275
216
270
257
192
233
212
159
195
306
274
253
288
145
235
224
229
208
224
146
253
200
275
210
296
178
231
360
194
222
248
269
225
121
219
188
267
260
204
162
175
226
191
189
201
328
291
248
343
291
258
189
178
294
247
183
204
303
247
198
175
186
174
206
215
222
266
258
293
227
246
259
220
262
172
226
260
262
194
275
287
196
293
191
166
180
196
209
217
241
173
206
166
297
251
264
223
182
292
154
190
232
269
235
177
275
222
188
266
268
248
219
205
252
230
191
200
206
250
252
253
219
233
173
233
240
241
247
247
233
194
230
197
178
246
249
220
210
247
197
225
180
209
277
283
222
211
256
301
256
229
276
170
232
310
129
251
170
199
180
285
160
235
196
170
246
254
220
271
221
217
106
108
206
266
260
234
279
176
180
198
271
261
241
279
139
212
139
293
197
279
186
233
224
158
267
212
144
258
158
230
148
178
196
195
289
277
205
240
212
229
281
216
195
216
244
198
234
234
177
154
208
151
172
233
152
246
289
139
231
246
245
304
275
178
160
224
270
203
296
156
186
295
248
196
114
241
283
168
165
192
215
243
242
233
202
240
160
217
198
145
261
156
185
210
266
256
219
200
298
246
227
210
194
224
170
189
292
235
184
267
218
293
276
251
206
197
259
197
218
301
176
317
242
170
291
175
199
253
273
200
225
201
192
217
188
189
242
198
161
138
302
213
291
186
263
277
146
228
257
192
212
191
114
207
225
253
205
207
213
249
165
306
170
220
184
252
205
178
289
199
292
237
170
224
198
285
241
227
278
360
218
221
230
139
218
155
255
247
152
257
238
173
186
128
292
274
265
255
188
234
207
217
228
171
160
158
181
183
182
227
208
273
154
286
273
159
250
246
243
189
213
202
159
276
114
240
175
250
183
284
243
310
275
256
189
158
255
187
296
216
256
200
216
268
253
194
273
251
218
209
147
209
174
183
272
116
234
213
234
263
209
214
242
184
248
244
270
281
274
204
246
219
108
234
235
228
206
251
289
201
245
205
245
161
244
275
231
266
220
309
315
170
272
321
252
290
191
204
224
173
194
221
190
219
205
185
198
288
286
269
214
259
189
245
180
275
176
235
224
342
219
258
190
225
193
240
236
209
248
243
151
147
197
283
242
240
246
281
233
230
238
203
247
258
261
229
264
195
219
259
196
160
283
238
114
284
203
199
198
315
207
256
267
249
247
220
200
182
192
146
228
156
244
154
178
208
226
200
214
197
192
314
237
225
161
176
116
228
337
222
194
130
235
286
308
247
242
232
231
170
230
173
160
208
273
212
178
272
269
193
267
272
201
173
206
243
223
216
170
191
258
275
218
203
236
229
170
271
204
257
354
254
217
254
248
155
202
219
177
126
237
165
233
232
166
319
184
144
274
215
212
196
247
166
190
152
261
220
234
214
262
173
191
241
252
233
181
207
166
250
189
222
231
192
262
256
241
164
229
239
304
245
135
203
155
305
204
245
195
181
285
154
169
260
267
160
239
198
225
298
238
335
205
180
240
231
247
196
268
233
246
189
211
229
196
199
285
262
206
222
225
239
228
221
260
322
213
243
256
258
207
165
294
227
190
210
156
213
205
207
277
175
256
237
243
255
281
235
234
227
282
178
209
255
223
200
277
193
284
269
176
243
225
167
224
215
169
160
233
183
193
233
249
297
241
241
218
272
114
178
247
208
269
204
209
191
189
163
267
240
247
196
203
193
151
294
197
178
114
189
247
197
285
262
234
203
304
305
158
286
186
225
298
218
221
286
170
165
263
193
190
253
233
205
200
201
279
256
255
200
189
196
198
233
208
289
292
251
261
241
202
239
240
249
297
172
271
212
239
205
267
261
189
231
270
188
214
208
297
278
174
241
212
292
207
253
263
201
160
278
195
184
311
211
305
263
163
282
195
198
231
197
200
177
340
331
158
303
251
221
146
235
221
182
170
312
201
267
188
189
178
248
208
224
246
174
214
169
303
213
174
165
291
215
213
116
300
232
183
186
264
239
311
149
108
182
184
224
185
191
203
252
176
214
266
342
219
216
169
173
222
162
269
219
293
243
245
164
191
262
249
240
221
187
189
261
243
193
241
183
207
311
208
187
302
196
267
229
193
157
241
209
254
276
227
161
255
272
247
165
169
149
242
108
271
241
212
250
360
170
179
184
214
217
217
174
189
304
263
197
147
222
245
238
298
257
226
197
267
261
255
287
149
210
264
252
233
195
198
313
223
274
165
170
192
245
302
222
308
176
310
243
174
265
183
264
260
254
156
229
133
235
207
114
221
193
208
199
240
173
195
250
160
240
187
254
211
166
237
161
114
227
228
257
158
276
225
248
265
191
283
221
287
228
297
231
278
243
203
191
226
208
137
275
245
238
243
192
202
194
190
226
206
192
220
114
327
156
176
216
210
260
206
225
243
193
280
219
225
230
161
249
252
214
130
249
156
238
203
280
263
198
326
200
224
235
176
211
249
237
121
191
192
287
253
164
187
250
222
227
255
314
230
270
223
251
249
319
207
226
181
194
248
268
249
286
295
240
180
229
273
225
241
245
255
183
171
271
144
175
230
353
161
238
211
295
261
160
285
166
301
230
270
236
289
237
207
198
166
149
264
144
156
206
252
216
257
216
202
213
259
210
277
130
229
203
121
233
191
148
208
298
245
231
226
279
237
253
229
202
311
168
198
249
222
246
238
199
220
296
293
205
194
201
218
242
137
227
284
148
200
173
224
244
203
235
209
296
327
166
221
210
209
160
315
290
258
160
301
252
272
329
220
108
295
221
297
207
250
289
195
228
222
239
228
267
254
261
283
269
175
219
204
222
203
194
271
217
297
274
256
240
285
222
269
245
158
139
281
239
172
121
211
197
269
203
304
191
161
224
222
209
289
156
204
229
262
307
232
231
312
208
154
139
279
180
235
174
278
276
214
213
211
190
249
289
240
232
222
157
289
212
181
164
178
295
198
229
197
233
302
222
181
312
219
231
202
220
149
232
236
203
240
182
231
300
309
160
244
181
265
239
280
207
139
212
308
160
209
258
252
197
284
194
213
214
276
199
227
235
129
185
177
239
266
346
204
271
160
243
242
170
263
268
173
277
223
321
212
347
219
176
276
204
201
244
234
238
221
164
222
207
261
228
236
273
312
260
225
211
219
195
206
262
276
323
237
108
192
174
157
252
344
261
232
174
320
214
298
186
239
144
261
246
172
274
190
229
277
294
318
282
247
212
248
213
356
180
248
218
276
206
306
238
256
233
302
254
308
198
230
186
133
239
215
199
273
251
267
245
310
183
255
156
205
232
216
274
219
225
241
222
239
214
202
246
198
187
277
218
160
321
228
148
181
290
207
293
270
178
216
227
211
192
166
263
175
193
190
256
300
267
173
242
249
220
257
286
194
199
296
202
228
330
250
259
236
194
272
250
178
236
180
160
198
258
298
195
240
213
199
275
196
168
221
218
218
175
250
309
250
146
251
114
152
231
108
303
178
197
183
152
213
194
151
278
114
253
222
262
299
202
243
303
233
159
234
230
206
269
233
229
257
245
307
186
255
191
240
232
261
225
235
230
235
227
235
209
258
209
264
288
195
229
174
160
227
212
246
183
262
189
219
220
254
185
213
278
243
289
309
214
249
286
192
246
166
246
198
294
160
245
252
166
205
238
288
220
296
223
154
173
218
249
212
178
170
218
288
238
219
216
253
196
246
195
206
273
203
247
246
196
152
160
153
229
227
246
195
247
238
239
175
234
256
235
295
266
273
229
235
277
190
235
270
217
300
154
340
196
247
177
316
194
228
219
229
183
228
252
236
326
173
162
205
193
208
195
174
213
114
185
185
262
229
196
198
271
207
179
275
223
241
298
260
220
239
209
204
245
181
214
229
247
277
228
183
199
221
191
221
262
175
157
281
157
173
157
207
244
213
275
256
199
302
164
213
234
194
267
217
270
267
211
263
233
249
232
229
278
233
206
222
185
215
294
196
231
265
224
262
200
215
194
173
327
192
273
220
229
203
190
245
268
243
256
235
188
116
216
168
214
204
168
202
160
243
215
170
174
160
215
170
204
265
285
227
258
220
273
236
246
280
178
308
171
170
220
263
250
139
209
303
322
218
238
177
205
162
281
273
212
220
247
195
309
213
306
176
215
285
210
280
249
217
173
221
237
235
186
217
228
248
255
204
276
238
253
279
287
223
235
193
320
243
248
246
264
223
220
206
230
126
220
186
180
146
250
174
267
172
239
233
258
156
208
189
189
229
200
263
227
221
235
249
308
209
180
297
167
276
271
311
221
239
219
287
236
170
129
241
213
163
160
176
223
279
114
173
277
156
214
234
235
170
208
188
283
232
199
231
255
231
218
213
195
212
228
253
189
228
207
256
181
266
215
233
232
181
192
198
213
268
211
151
275
214
290
205
215
225
203
199
212
220
235
220
246
254
195
207
246
174
280
274
253
193
205
227
221
226
229
242
256
182
148
243
215
152
198
220
184
266
229
259
252
198
139
229
277
245
210
201
283
293
266
176
156
304
247
214
147
311
272
230
245
139
286
225
296
232
186
234
147
234
207
203
284
195
255
161
259
298
147
280
195
242
221
286
238
144
186
187
190
257
192
181
240
274
255
227
174
193
248
246
129
211
191
256
160
149
183
203
303
276
179
215
223
186
242
176
222
249
239
181
355
225
283
197
192
333
315
265
162
201
198
170
277
252
156
247
152
175
211
309
376
187
173
213
225
181
252
144
232
234
237
161
261
225
228
310
205
189
270
286
177
242
178
236
207
270
234
191
267
238
184
230
239
279
220
198
189
236
228
139
255
283
265
201
152
192
270
277
201
325
180
240
309
258
227
243
302
328
153
114
243
284
240
263
163
239
146
179
358
247
222
228
234
219
269
192
206
204
212
177
235
277
237
196
157
225
206
227
224
245
171
202
253
235
233
243
216
198
223
221
174
260
204
203
242
237
336
178
200
191
108
233
232
273
231
340
270
195
179
351
254
248
261
165
273
227
340
278
291
199
159
173
198
175
175
289
238
280
261
253
265
170
242
289
207
254
207
179
199
200
223
146
173
129
178
244
242
213
212
177
256
202
222
190
202
198
220
186
196
250
227
270
216
165
256
180
214
277
264
235
269
173
190
235
264
221
253
271
212
180
212
214
171
238
301
247
280
300
114
139
188
303
223
202
272
174
254
222
215
172
220
263
228
224
244
236
219
222
321
243
192
306
188
222
222
200
170
234
235
235
173
237
190
225
219
222
154
254
177
212
196
180
288
234
283
237
158
174
246
216
204
279
210
187
249
262
275
180
170
261
147
208
188
219
284
166
249
215
215
334
145
212
198
154
266
260
162
249
221
244
353
220
218
270
182
261
197
258
235
234
159
190
211
214
197
199
257
296
220
159
212
146
194
205
241
208
190
268
216
256
234
231
216
303
195
216
191
281
204
339
229
211
201
152
226
246
161
229
191
214
211
193
256
292
291
262
180
191
182
218
307
229
324
240
255
208
237
232
206
235
158
126
121
267
193
195
186
221
149
314
177
268
169
219
170
213
351
195
258
214
226
181
160
174
276
200
217
197
230
235
242
249
249
114
240
311
233
235
198
195
253
239
324
241
223
247
243
200
188
254
266
177
244
144
203
214
139
171
206
198
232
326
176
290
186
288
193
198
251
277
210
197
234
156
203
332
270
241
164
219
263
229
218
269
250
236
258
270
185
195
218
207
161
267
213
322
214
345
313
174
279
388
233
147
294
300
267
258
185
208
231
265
187
282
241
282
239
298
228
287
187
256
192
167
229
281
185
168
279
248
240
178
220
249
249
139
217
224
106
234
224
309
271
223
220
212
230
191
196
144
227
190
194
218
229
293
333
207
182
192
243
114
173
191
329
144
192
191
219
179
280
221
256
173
130
168
244
188
196
243
263
129
233
168
189
168
234
202
154
247
114
287
253
237
218
189
172
231
235
277
222
230
246
236
313
251
279
287
256
151
213
224
207
141
232
210
192
246
178
178
173
280
156
266
191
145
255
205
225
266
217
219
209
180
160
174
187
198
215
227
193
238
181
207
209
233
203
221
270
240
201
186
198
270
241
193
247
240
202
154
214
232
270
227
176
190
234
169
231
166
245
231
194
244
282
240
273
248
230
211
264
218
228
235
254
253
106
194
260
188
277
209
264
172
259
193
200
225
176
201
302
296
158
145
181
229
282
231
219
151
216
165
197
237
264
265
196
179
212
171
114
262
195
128
262
214
285
200
304
237
168
230
139
256
238
250
249
190
238
191
145
283
189
297
301
208
170
175
336
231
114
279
206
254
199
249
197
290
267
199
269
213
233
234
281
209
248
277
268
232
228
228
198
197
202
178
250
264
164
243
170
251
272
183
264
240
218
239
262
185
178
209
198
264
320
219
227
207
261
187
198
293
203
143
281
214
311
206
236
194
217
192
231
146
222
275
238
250
195
235
208
220
214
178
250
226
262
209
223
214
195
274
260
218
188
145
158
191
194
285
237
241
263
347
259
207
195
222
310
181
280
234
204
246
260
225
242
238
247
191
337
285
233
272
145
114
337
215
164
161
149
201
274
189
237
234
160
253
245
193
213
213
242
181
194
238
196
233
346
200
207
216
207
258
228
270
260
188
130
114
267
235
231
218
184
255
202
208
174
165
174
298
194
353
193
178
286
156
160
223
196
219
245
233
175
180
160
194
261
276
208
186
181
223
225
174
238
208
286
233
233
182
206
170
225
173
241
182
235
231
239
140
215
274
209
211
192
173
284
164
258
237
148
264
264
228
275
189
160
306
251
221
222
139
216
303
256
267
250
310
229
261
175
235
214
200
312
287
265
222
213
216
229
203
200
168
168
254
271
269
213
169
277
249
183
185
299
251
241
184
208
230
253
179
269
195
172
220
166
151
208
266
288
179
225
122
268
216
222
240
301
255
230
327
209
192
193
217
196
160
202
207
248
267
199
174
232
223
265
194
167
277
193
279
235
250
207
186
187
283
174
198
238
175
246
246
192
203
221
200
211
276
206
225
247
271
208
198
192
212
248
256
301
185
214
192
210
235
330
308
262
240
192
232
199
114
232
237
162
246
255
271
152
210
251
239
248
200
223
312
254
260
235
175
241
195
178
258
267
225
159
324
201
247
276
204
266
191
196
219
239
192
220
202
208
218
221
209
269
248
283
251
220
252
160
236
202
329
174
162
194
226
262
205
258
184
160
201
227
255
333
280
236
289
300
239
219
198
139
192
193
237
184
321
166
255
177
250
257
281
271
181
173
287
253
172
203
171
232
243
279
182
311
159
181
222
284
181
114
319
291
187
217
106
227
211
260
268
258
263
236
230
299
262
306
248
168
268
208
255
233
196
191
261
144
144
121
193
258
208
238
158
311
154
255
114
254
216
208
180
248
192
207
257
200
230
205
241
194
208
222
243
229
141
268
257
224
188
201
158
208
313
189
194
245
245
203
188
214
121
230
235
266
161
259
129
246
293
217
270
242
242
170
201
256
231
262
196
210
308
229
114
261
141
211
242
212
200
209
156
217
289
280
254
238
217
276
257
299
114
204
198
332
233
269
190
260
285
228
160
294
173
358
204
221
174
185
229
145
233
227
259
184
192
222
222
214
276
181
126
212
204
173
246
219
259
269
211
245
190
303
333
273
230
164
228
228
151
267
238
211
159
271
212
220
236
258
182
209
267
220
273
225
298
252
186
270
254
160
174
231
189
251
221
233
198
192
281
277
238
205
206
257
179
317
216
247
205
251
261
219
237
245
248
214
223
208
214
320
215
176
249
179
217
186
139
238
206
235
241
335
253
235
200
227
223
223
234
198
303
181
201
152
250
236
312
203
228
114
247
156
245
189
145
180
181
189
144
225
177
227
190
228
194
215
200
170
217
186
185
273
244
268
213
279
257
228
241
288
161
217
239
190
187
168
184
256
170
178
281
213
226
310
320
284
271
208
240
205
248
180
243
285
270
255
305
259
168
245
213
225
231
179
245
177
232
183
249
175
193
215
156
235
190
209
196
186
176
229
148
222
231
270
183
209
180
200
227
219
202
200
196
190
180
193
257
249
203
227
158
286
244
198
227
293
225
263
277
192
219
204
259
219
196
250
238
268
211
172
173
205
237
175
224
230
261
192
225
283
114
186
268
262
227
210
219
250
181
198
262
219
201
243
158
235
212
240
239
153
218
235
230
275
192
194
182
246
268
243
244
224
256
155
254
251
234
238
246
278
151
161
193
175
186
189
292
244
205
243
234
202
241
215
202
196
261
220
221
208
230
240
274
188
238
236
237
265
187
210
172
172
219
174
223
176
240
179
297
179
224
255
211
346
239
180
238
157
272
273
233
208
244
176
185
191
160
225
246
283
171
279
246
195
261
209
186
273
239
215
194
140
238
121
295
300
269
214
232
183
189
286
227
172
211
248
301
195
229
214
314
233
296
237
218
256
227
203
225
169
226
243
169
270
263
203
251
306
169
298
211
133
210
233
152
228
204
207
216
301
277
228
229
126
236
198
154
196
223
283
217
291
304
240
206
215
234
174
180
156
242
247
198
258
281
262
244
294
248
264
218
234
261
214
185
249
149
231
242
241
229
225
255
175
229
222
214
160
169
191
301
252
208
192
157
195
308
145
267
178
239
160
253
219
244
199
226
204
292
241
287
251
225
205
214
222
216
202
273
194
283
194
234
347
225
183
253
212
174
238
176
290
250
213
240
308
233
218
232
170
216
289
173
294
233
322
170
252
179
183
205
217
225
159
250
330
310
174
222
294
264
228
287
228
239
245
185
282
175
256
242
261
191
273
234
258
226
252
175
177
218
198
294
205
114
198
255
234
247
282
198
224
254
239
199
201
291
310
165
209
166
193
177
281
251
204
227
193
203
234
222
224
194
189
199
231
187
275
193
151
245
234
245
236
224
179
221
247
225
179
283
218
252
192
197
212
272
311
114
153
199
247
235
287
171
260
165
227
225
278
301
216
290
325
108
335
236
292
194
304
321
239
268
157
208
256
194
256
259
220
271
363
202
214
271
173
200
195
198
278
151
232
212
175
235
171
308
199
248
228
214
165
177
148
227
225
201
162
181
180
114
214
204
196
236
157
179
193
155
172
291
256
286
246
250
225
211
188
194
178
187
180
188
260
171
256
244
151
212
306
230
169
244
208
286
204
279
270
243
218
273
174
214
234
215
229
164
290
198
212
178
178
255
187
279
129
279
353
191
249
197
228
114
227
222
184
168
264
181
158
177
214
291
191
233
178
274
220
184
245
228
286
216
285
265
175
206
245
269
174
206
187
144
203
232
219
191
331
222
193
219
242
232
241
201
215
228
189
200
191
186
251
213
189
214
184
277
213
229
215
213
201
184
296
244
216
272
299
236
167
114
266
242
153
225
269
207
228
223
226
221
189
178
234
248
211
149
121
211
196
283
311
175
243
273
261
193
269
183
254
272
225
227
231
185
303
228
231
193
218
241
287
226
206
137
273
171
302
174
233
202
144
186
247
247
237
175
235
229
221
239
240
222
321
241
236
114
231
215
195
221
267
179
203
247
197
298
283
252
243
222
184
176
254
283
269
253
108
181
223
218
114
241
234
219
200
212
218
255
223
299
249
170
193
236
266
200
247
177
294
202
139
139
276
204
211
245
183
196
208
216
195
243
240
297
224
213
225
261
284
179
281
276
215
159
187
282
253
325
218
246
198
250
241
306
187
284
223
263
241
232
267
235
320
239
180
170
223
231
233
249
230
235
231
209
162
169
212
238
187
282
226
257
255
312
217
114
189
178
219
180
228
255
228
183
185
211
149
189
227
199
178
267
261
262
214
210
198
191
291
295
205
213
273
269
205
221
204
160
195
293
264
126
328
236
244
368
182
242
253
228
264
256
163
262
145
278
129
161
193
229
178
207
262
206
178
160
214
198
206
178
285
191
245
183
252
191
228
178
204
275
284
241
173
154
259
272
248
258
316
266
297
177
202
193
232
212
192
211
202
286
259
187
234
199
239
204
209
187
234
262
149
238
175
227
215
170
243
128
246
222
206
199
263
187
206
201
218
242
226
222
248
240
170
279
243
230
219
202
144
249
251
249
182
199
233
222
286
200
297
244
292
196
250
193
258
228
225
258
273
224
234
234
174
232
225
184
219
250
176
261
241
223
342
130
276
208
213
284
225
180
267
282
243
193
261
248
274
199
210
243
179
191
202
266
152
266
229
192
206
214
192
162
336
185
310
300
201
197
238
195
230
243
234
233
218
211
144
218
217
238
169
243
139
191
216
176
290
152
218
208
227
202
149
242
165
169
184
196
246
218
198
210
423
288
186
248
176
114
238
263
261
205
327
207
192
263
255
153
283
233
227
187
241
209
126
146
234
175
227
184
178
240
226
235
265
212
277
219
231
220
217
188
251
213
223
327
286
161
236
211
235
151
267
232
191
190
231
292
202
260
238
206
238
201
175
213
236
172
233
257
170
267
181
221
279
206
265
188
293
211
165
222
292
210
157
292
164
194
211
273
225
289
234
221
212
230
281
178
240
277
175
208
196
235
232
252
210
208
274
281
158
231
280
194
192
169
199
229
178
147
193
237
198
306
223
251
181
303
230
235
209
263
264
197
274
168
247
227
177
196
239
273
173
239
178
203
229
219
239
229
259
204
223
204
158
279
318
156
213
306
237
178
251
247
249
204
167
241
238
356
248
232
279
270
221
196
342
187
202
108
169
174
225
240
277
184
255
240
203
247
261
165
184
193
297
249
251
268
318
224
235
235
284
218
251
232
221
212
228
242
179
257
209
265
265
245
264
253
270
191
214
175
262
215
174
333
229
214
219
245
242
220
250
209
224
218
243
196
222
226
156
158
233
172
231
162
180
212
235
186
244
223
239
176
278
272
166
280
276
301
220
177
227
178
195
210
308
280
235
259
196
171
234
188
259
206
281
222
114
181
247
197
225
288
165
190
214
316
238
182
255
325
144
206
195
277
239
221
287
221
239
278
224
194
227
315
180
243
154
218
215
294
248
240
224
272
243
253
226
272
209
195
184
319
231
180
207
256
209
247
198
237
116
295
242
244
286
249
222
191
222
230
246
347
147
186
290
204
286
246
260
219
199
279
196
200
172
166
248
231
221
181
236
299
195
192
203
145
212
279
220
173
235
276
261
153
197
194
218
254
203
176
255
252
253
215
203
248
164
303
283
108
187
175
214
177
206
210
160
161
216
205
255
260
337
273
267
254
242
330
227
250
291
215
192
257
199
214
224
173
202
184
283
228
226
313
367
217
216
198
262
280
200
185
232
151
225
237
252
183
205
204
269
198
219
270
198
287
211
193
246
244
114
212
192
208
256
265
211
234
229
260
211
225
223
271
200
268
198
193
313
192
207
153
234
203
297
286
233
244
268
245
219
257
249
209
154
238
160
267
308
198
170
224
203
145
176
263
262
216
254
177
226
279
210
194
231
170
178
291
223
222
194
199
268
205
235
219
212
218
231
126
228
281
195
183
202
216
253
234
179
207
209
282
130
235
214
278
240
244
216
192
206
114
221
265
226
234
272
198
259
200
238
221
303
273
262
174
252
245
169
323
165
243
214
221
146
225
207
167
248
252
234
300
175
239
218
231
248
302
310
302
237
245
205
259
349
293
285
198
187
139
219
114
199
177
253
155
209
200
263
237
210
223
179
291
160
243
264
194
175
273
234
199
196
268
247
282
263
213
239
260
191
337
174
216
215
191
292
258
249
178
180
235
211
240
333
160
165
305
193
166
201
214
224
149
211
281
190
227
194
266
237
288
204
165
240
284
231
158
200
178
181
215
288
210
176
274
165
234
225
183
203
263
194
235
220
189
199
181
249
178
194
260
194
229
224
239
337
237
287
195
328
235
205
222
192
145
182
175
162
186
219
165
236
184
194
208
217
269
225
292
212
193
240
176
288
162
177
262
203
223
263
233
195
175
323
276
242
250
297
286
218
226
301
270
296
238
195
215
165
148
177
233
274
204
219
180
195
116
235
252
183
306
209
294
270
164
296
266
216
211
285
130
261
147
254
180
193
213
314
159
278
218
235
256
218
252
270
182
145
208
176
242
204
216
181
250
231
191
281
244
190
231
249
257
205
234
234
175
246
245
251
216
173
242
170
181
193
194
215
215
228
248
198
250
213
274
272
245
257
237
268
203
144
280
217
240
245
223
192
174
215
212
239
209
246
173
156
168
265
252
209
212
270
254
191
263
248
239
185
275
259
181
257
199
260
183
242
214
202
277
260
258
225
269
203
286
154
188
263
252
176
260
270
219
232
202
181
232
328
301
255
233
292
152
248
259
231
207
188
265
171
206
281
193
233
204
200
191
214
254
284
182
214
276
272
218
275
224
215
171
201
224
256
253
228
262
268
250
219
173
207
233
226
214
275
190
193
218
241
231
209
279
232
216
175
232
179
200
211
179
290
220
219
153
256
199
197
246
175
295
208
206
130
205
180
181
268
166
270
224
126
231
293
208
114
207
245
267
237
207
206
241
214
214
181
236
192
224
232
243
242
225
242
250
271
202
223
167
209
116
231
191
244
244
215
185
156
240
248
279
237
210
244
300
217
250
258
203
325
273
139
199
245
213
221
208
244
254
198
271
215
262
134
239
176
210
239
212
165
164
258
142
198
267
268
217
210
238
170
231
195
151
271
274
192
308
214
260
384
347
253
216
238
208
215
204
307
192
243
308
196
203
237
181
222
148
211
253
228
196
220
250
300
311
231
164
294
265
198
276
220
210
251
237
265
245
234
241
234
191
156
114
222
198
173
247
245
191
193
164
254
247
169
161
189
220
227
237
216
186
253
254
178
108
139
333
240
121
305
266
212
207
219
217
114
258
126
280
230
265
291
175
182
195
207
139
146
283
244
174
178
300
232
185
238
158
172
250
213
284
221
183
286
254
213
324
250
306
251
309
166
310
245
199
168
254
258
223
305
260
179
238
170
299
251
206
304
176
250
176
214
242
233
209
255
264
226
218
219
252
198
181
249
164
243
232
219
284
231
195
205
241
269
224
170
285
243
195
229
248
146
238
215
171
160
240
251
145
146
246
332
205
176
169
218
242
250
245
106
114
268
250
272
213
241
279
215
235
230
212
114
261
233
263
257
250
183
276
218
257
179
177
244
290
185
215
321
210
169
192
233
261
294
293
178
323
214
160
281
302
316
266
280
272
267
206
231
232
270
229
180
227
189
247
326
177
114
198
164
301
262
198
227
252
159
248
238
234
245
161
231
114
270
285
240
180
257
226
188
339
188
207
205
238
154
181
197
286
255
211
173
191
268
173
236
170
212
204
264
235
269
314
177
266
272
144
181
180
222
114
141
186
275
225
226
252
277
184
247
222
214
213
226
266
222
242
330
166
171
298
203
190
243
192
228
188
188
192
198
289
210
324
157
276
233
223
211
171
256
261
178
277
278
249
292
229
218
189
223
181
249
193
178
126
162
275
297
241
114
242
244
209
173
229
234
229
279
219
293
202
154
266
264
195
231
274
287
108
214
224
152
206
248
246
221
240
184
298
188
199
162
232
114
216
245
204
277
192
244
156
218
145
245
240
220
234
204
205
212
162
195
168
232
252
114
272
251
152
206
214
151
267
236
195
235
202
309
220
282
231
293
210
189
213
201
235
183
284
209
324
242
310
264
274
185
204
245
266
155
159
290
245
198
168
246
276
282
193
241
317
270
204
237
285
235
148
346
208
247
114
303
219
269
248
260
251
176
276
168
225
212
207
230
307
214
303
226
201
275
214
225
193
268
166
171
254
309
219
270
240
168
238
196
291
177
195
272
200
253
209
243
209
201
197
251
178
116
198
177
185
251
264
228
307
217
212
182
302
265
233
233
332
323
244
185
234
264
247
295
294
215
208
206
278
189
190
271
192
114
262
114
222
212
218
247
165
259
244
231
191
173
292
253
236
205
329
288
202
228
173
212
257
186
304
209
361
173
272
278
196
220
191
257
265
280
323
194
237
284
191
187
219
248
231
238
182
187
126
171
256
277
169
194
285
177
279
205
256
210
179
170
207
146
206
214
213
253
211
295
182
108
198
225
220
164
205
114
208
176
250
248
240
185
222
219
242
171
236
248
195
247
254
184
206
229
175
280
199
243
230
230
226
162
276
286
265
204
235
276
228
208
239
192
237
199
250
220
253
259
229
144
253
223
211
273
180
216
271
258
180
214
273
219
233
288
268
271
141
178
222
219
214
300
245
267
213
212
187
211
218
225
126
179
232
200
267
232
239
195
282
173
214
192
347
279
175
176
212
182
228
281
191
255
168
234
222
177
207
241
158
139
239
212
294
218
106
190
188
297
222
164
218
205
169
185
200
205
191
200
198
176
160
215
145
210
256
160
208
166
264
158
184
285
217
196
323
207
214
178
239
182
166
216
334
192
211
275
215
139
243
162
281
222
202
255
264
160
201
221
241
307
179
199
246
246
218
225
158
253
293
270
293
217
258
198
170
222
208
182
220
228
322
253
265
147
274
210
248
268
222
191
166
145
154
211
204
274
229
254
154
271
189
289
286
201
254
269
258
178
269
158
236
235
230
214
218
213
312
221
200
192
106
162
263
229
252
221
240
195
229
175
255
175
242
254
196
189
151
210
196
174
253
114
274
214
259
235
216
192
176
133
288
207
281
217
246
370
228
219
196
114
181
261
216
311
306
254
150
214
193
237
208
162
265
227
175
175
179
198
310
281
251
202
204
199
262
229
257
193
197
246
215
211
190
171
295
242
126
216
290
191
145
212
230
228
114
179
139
226
192
292
232
262
236
212
211
247
249
198
257
195
205
251
149
192
206
174
208
219
244
263
247
184
236
269
209
227
208
246
233
161
221
244
231
239
235
223
237
219
195
239
287
175
116
174
249
311
203
261
176
223
240
204
248
180
210
266
264
244
225
177
251
237
315
146
189
198
270
173
226
226
179
198
194
271
196
228
213
266
214
176
258
278
184
249
275
165
198
198
222
224
196
222
237
216
170
180
116
164
345
164
193
215
206
189
219
240
183
194
245
174
228
234
201
242
243
244
242
188
215
220
173
245
221
258
289
270
275
180
215
270
178
282
146
168
264
242
222
213
230
176
235
215
177
178
183
217
215
260
208
267
114
193
202
175
236
291
228
230
260
151
284
239
230
305
195
245
239
233
204
202
173
226
264
306
306
188
241
227
257
162
212
246
223
260
233
212
210
202
273
235
235
174
273
293
241
188
211
226
208
245
198
251
243
270
159
152
327
233
269
193
186
250
209
297
248
248
148
256
286
209
152
266
237
249
162
197
217
221
176
185
271
170
191
243
205
349
247
244
314
241
220
250
227
253
163
196
211
214
231
191
242
263
236
252
186
188
283
235
205
277
174
272
247
216
210
271
230
193
214
190
306
235
194
217
268
220
231
356
227
196
191
198
130
208
224
204
281
182
195
195
247
232
293
261
220
151
244
235
152
222
195
240
195
288
183
189
170
254
268
275
262
215
218
235
222
179
250
213
230
240
152
202
248
186
227
243
222
128
213
212
317
183
220
222
245
279
261
223
219
203
214
177
169
260
224
227
231
312
257
288
247
244
204
203
178
268
152
253
224
314
188
240
208
241
285
288
144
270
213
240
173
263
246
254
200
194
151
204
114
240
193
170
330
231
201
238
208
236
273
215
154
278
274
184
192
242
219
255
159
292
198
160
215
161
126
273
263
166
313
218
160
220
193
252
219
228
175
288
184
260
247
289
299
309
257
257
268
167
202
215
246
253
178
202
234
192
222
178
263
232
222
114
211
279
275
200
219
236
275
244
209
170
194
275
241
222
157
106
190
225
255
196
256
164
190
286
240
215
170
108
190
201
214
231
276
272
292
242
139
160
268
168
250
173
187
196
106
225
205
194
292
268
196
259
151
182
251
216
268
265
214
195
216
188
188
230
213
257
221
180
184
248
227
259
198
202
212
231
207
230
161
218
228
139
208
215
243
139
290
273
221
198
158
195
257
218
307
243
248
233
261
251
165
235
147
267
315
181
264
178
301
168
276
258
213
255
166
233
288
162
234
214
197
237
240
219
197
161
215
166
234
278
114
145
240
166
231
264
160
196
250
272
154
227
246
145
238
241
198
176
267
252
170
191
183
235
243
200
208
181
236
171
258
200
248
228
243
200
233
187
255
114
200
237
252
220
297
228
211
244
254
170
233
181
244
194
162
234
228
234
227
175
270
211
200
191
157
178
262
302
260
192
222
163
262
170
191
257
261
151
128
245
234
207
229
225
217
203
312
232
260
224
186
183
229
126
266
218
227
245
170
302
225
322
229
178
224
256
200
170
203
180
246
233
256
238
194
228
159
253
261
251
293
162
216
217
216
234
213
133
195
222
208
197
184
216
158
217
243
181
254
275
213
207
210
355
230
250
265
211
294
176
272
319
231
256
182
323
240
197
221
246
244
239
251
223
183
211
178
247
181
169
182
227
213
189
207
173
224
211
285
246
269
344
253
309
195
243
209
212
358
164
168
244
158
245
269
192
284
202
318
251
257
172
144
161
114
227
171
193
243
229
330
285
233
204
225
195
285
156
172
145
218
218
214
205
262
213
223
137
191
181
189
161
178
232
179
248
240
193
251
257
164
238
262
199
207
218
215
205
252
183
183
207
246
249
254
213
231
193
278
172
224
194
234
126
257
180
207
215
198
194
211
157
290
214
182
210
232
289
285
277
299
180
298
198
243
178
256
332
163
250
229
207
342
258
280
220
190
222
180
289
276
202
202
257
243
267
227
199
222
156
164
325
208
199
237
286
281
156
198
231
249
234
175
219
156
208
151
224
260
231
260
245
205
240
310
269
242
257
333
198
242
212
360
225
145
224
194
208
193
277
198
222
201
207
218
201
229
206
209
207
219
184
285
243
178
235
325
198
350
236
215
178
240
275
179
305
217
213
286
179
220
224
215
209
246
284
189
266
291
226
114
195
272
257
319
210
207
174
225
181
182
245
230
155
246
221
206
301
164
270
311
228
217
217
228
243
178
237
227
199
220
235
283
229
178
268
248
175
300
305
168
248
257
212
146
227
193
139
192
234
200
172
307
284
176
273
248
258
215
230
226
265
171
198
246
223
160
161
197
235
289
229
243
220
229
282
245
176
268
267
207
229
201
130
178
202
261
213
169
200
169
238
372
269
278
206
277
114
264
231
229
246
173
156
194
256
163
178
210
209
183
227
234
260
202
228
203
165
256
177
187
193
263
197
161
253
230
213
315
204
244
239
176
223
280
250
180
231
198
245
224
324
222
354
176
269
225
251
227
228
190
205
257
154
170
229
243
188
279
211
149
221
186
227
269
146
220
156
220
286
187
285
284
240
234
192
200
221
184
228
249
174
172
201
200
108
145
274
206
212
244
178
178
234
203
223
219
195
206
295
273
237
194
234
255
196
231
229
218
246
202
245
258
381
205
195
280
322
184
193
166
213
301
266
235
191
249
201
267
191
240
170
171
187
255
252
210
294
210
212
175
236
198
206
206
211
148
223
146
197
272
211
241
183
319
255
223
184
242
205
220
231
229
173
162
203
202
263
227
392
194
173
246
319
239
238
257
252
234
138
222
261
166
180
238
193
236
241
209
170
208
279
252
252
302
293
213
221
190
236
234
281
293
209
293
253
231
167
241
156
139
242
266
192
229
258
205
277
303
203
299
252
201
166
227
308
273
162
292
165
228
231
231
195
227
246
191
229
252
172
196
196
188
291
160
156
239
190
308
227
211
310
248
190
233
180
199
207
214
252
198
285
239
264
233
228
183
175
220
200
299
279
197
178
214
184
204
252
245
178
189
221
159
146
181
269
254
178
217
170
366
170
168
270
177
256
235
196
187
214
276
192
214
253
240
203
232
221
195
160
228
243
159
252
251
191
250
240
248
267
173
218
321
292
242
106
284
190
207
207
288
248
211
182
266
196
253
210
301
273
221
254
274
212
241
202
179
214
249
262
320
151
219
257
234
214
199
244
164
247
262
218
169
211
244
175
233
211
155
188
265
242
211
139
230
234
214
214
234
170
231
328
198
182
222
213
234
263
146
210
233
245
241
280
177
198
166
290
210
228
156
202
198
214
191
267
253
267
204
133
268
201
278
268
160
208
186
232
318
199
209
214
238
160
160
251
253
229
330
193
224
241
224
178
218
246
211
295
244
275
206
242
191
187
189
224
204
176
259
249
255
128
286
213
246
141
211
205
216
201
194
114
255
159
199
158
156
176
181
225
196
192
224
211
177
253
207
270
215
232
225
214
197
232
235
237
283
158
170
159
174
185
160
226
269
232
192
164
184
210
227
189
188
225
246
215
192
373
213
270
219
224
198
262
114
230
247
165
222
210
211
240
227
191
268
210
255
262
257
245
156
273
241
175
273
277
269
208
253
233
311
148
163
309
235
236
213
205
243
297
163
302
208
255
213
161
265
216
190
258
188
242
191
175
267
153
217
243
214
217
190
199
275
232
214
293
246
285
221
262
260
202
214
175
229
208
229
291
314
192
193
237
183
290
254
207
204
147
245
258
208
333
170
212
235
259
210
268
235
173
156
217
262
149
196
300
205
184
247
205
210
206
146
226
167
207
218
182
250
279
218
244
180
190
255
285
252
246
241
248
239
175
152
209
269
243
209
226
231
253
221
200
191
161
213
160
160
206
199
166
269
202
318
241
286
236
236
169
114
219
247
276
225
209
295
182
287
267
258
207
351
198
253
234
237
130
271
214
289
272
238
217
359
196
184
170
114
289
301
251
220
300
164
237
260
139
209
245
177
260
173
207
250
220
265
137
170
116
251
254
202
205
266
200
170
196
208
269
114
156
207
337
278
249
108
222
231
288
200
230
252
235
237
161
245
162
276
232
198
157
242
197
251
257
156
227
210
152
218
212
242
241
193
235
260
116
209
255
253
210
160
114
250
234
196
271
382
215
232
196
291
258
201
178
273
245
246
301
238
215
213
269
229
283
198
260
174
339
225
215
216
187
265
212
235
197
199
114
277
229
254
178
223
173
212
147
161
130
181
220
187
171
201
244
214
216
244
231
181
272
235
264
223
303
246
229
229
242
200
294
185
241
217
165
193
197
274
225
289
212
233
190
174
280
219
253
312
237
198
221
218
155
220
221
282
151
142
290
206
301
221
241
225
207
225
160
221
291
149
246
231
202
144
175
283
241
211
227
180
233
246
193
181
223
182
145
269
174
199
192
198
217
238
191
281
225
203
191
285
236
200
222
280
244
209
309
288
263
245
239
264
254
226
217
234
328
181
213
288
210
250
219
226
228
337
269
183
208
280
310
245
275
263
236
262
261
209
164
148
241
160
175
213
252
198
175
224
257
254
229
163
247
259
313
152
211
237
237
191
231
187
339
188
251
259
222
179
209
232
221
242
250
227
218
225
145
245
191
221
265
225
204
195
185
170
226
196
214
271
197
196
316
195
181
249
198
114
186
296
226
209
215
190
199
223
151
198
189
247
228
200
295
280
208
307
187
243
173
206
214
292
256
190
213
242
211
196
248
248
189
204
287
194
232
301
315
211
247
218
265
181
199
258
184
205
147
262
273
332
212
292
286
193
234
233
229
244
266
199
171
302
258
202
265
194
211
276
223
288
168
271
271
295
188
203
224
245
232
218
226
228
211
141
231
224
214
160
156
179
277
202
313
159
220
235
301
189
264
197
230
233
213
139
230
234
293
178
299
226
232
156
229
280
258
272
182
205
179
237
195
237
162
139
176
205
232
269
219
180
253
195
194
226
192
197
178
162
252
240
216
233
167
156
414
197
207
266
185
222
194
221
303
158
237
114
196
296
242
277
275
233
272
281
165
220
307
206
283
264
254
301
218
232
114
214
114
250
205
274
256
255
191
196
184
285
170
114
195
174
264
208
195
236
263
194
239
223
217
225
220
207
229
178
252
243
223
139
170
173
219
272
218
213
223
279
256
179
192
201
171
248
198
178
197
264
172
182
292
231
233
214
303
201
270
211
160
277
212
296
211
217
266
148
190
236
199
292
256
190
246
216
168
182
173
252
262
237
187
299
244
179
252
220
219
256
197
238
193
221
236
275
233
226
223
274
175
189
324
310
241
244
180
287
227
259
155
208
192
228
264
174
227
202
286
208
291
215
249
218
189
245
202
257
235
164
194
309
275
236
253
303
213
287
236
310
215
246
283
243
238
152
189
199
183
190
289
214
217
244
227
178
241
210
140
218
179
274
163
222
159
264
272
255
201
246
295
106
260
226
168
291
201
221
277
160
214
258
295
213
260
160
288
240
180
277
201
179
198
225
167
356
180
295
268
251
235
182
214
183
268
178
235
202
162
226
266
203
185
270
250
209
272
217
190
196
139
254
198
214
234
226
209
256
190
157
239
184
304
270
177
195
280
253
187
145
228
168
240
163
174
146
228
213
190
193
261
273
299
309
198
210
249
276
196
203
179
206
214
206
175
225
234
222
214
194
212
302
192
316
209
204
229
223
196
178
114
297
259
229
227
198
237
174
261
292
290
203
227
324
274
268
185
190
281
199
242
186
237
261
205
294
265
217
207
264
269
244
226
222
260
242
214
206
178
224
202
174
296
277
187
213
249
218
283
260
151
284
271
211
223
203
210
262
254
261
252
198
218
282
296
180
299
244
213
175
198
211
231
220
318
212
250
242
203
235
199
207
255
196
181
327
196
191
218
297
225
198
191
234
188
199
198
233
196
274
276
178
237
192
254
262
222
227
297
190
133
146
246
297
195
207
181
174
243
239
214
201
295
230
249
241
226
235
182
240
241
221
281
320
295
209
233
199
201
184
195
272
236
227
225
256
250
294
204
218
220
195
276
192
238
237
285
265
243
139
233
207
228
197
237
264
238
208
346
185
286
234
256
215
270
171
173
242
255
231
279
212
361
271
183
246
208
152
198
252
184
223
202
233
232
187
133
264
233
223
182
114
198
246
222
233
232
178
198
150
233
276
234
203
228
224
188
233
174
229
257
279
238
222
279
310
173
161
237
196
309
116
291
241
162
182
224
234
278
184
194
197
288
200
177
222
191
194
284
232
337
228
254
237
277
175
316
296
211
280
279
275
296
196
262
285
172
239
234
192
247
161
256
167
160
151
255
293
158
209
275
234
238
220
151
195
152
201
166
258
291
260
187
306
263
216
213
243
180
160
275
287
162
196
213
268
186
166
264
275
170
214
230
230
231
230
257
203
204
209
170
252
210
187
254
181
247
200
240
240
191
263
293
279
237
266
239
306
214
223
272
161
169
163
191
211
175
277
286
306
281
178
213
267
199
229
267
232
188
260
212
215
254
330
170
162
297
215
204
193
243
177
206
245
229
260
287
228
232
295
244
282
192
235
212
262
305
225
198
269
228
256
218
245
301
234
366
234
263
259
148
304
158
242
209
212
312
161
248
184
114
167
243
255
244
193
256
194
268
211
258
216
193
185
182
225
218
315
268
214
205
160
155
192
224
259
178
180
200
173
257
226
221
212
287
190
197
216
192
239
188
253
223
234
250
188
280
255
240
179
220
294
228
218
225
192
188
130
274
281
262
214
185
251
198
170
225
235
205
247
213
211
161
154
222
257
190
223
173
225
265
326
114
168
231
212
219
195
198
193
242
233
271
210
236
278
252
195
186
202
192
168
198
150
184
166
279
229
261
223
160
295
271
207
229
271
114
264
195
170
224
207
226
291
241
151
146
209
160
285
199
170
176
248
245
252
244
241
224
274
234
222
198
146
202
259
221
233
215
195
169
219
227
183
214
260
268
244
173
201
193
177
216
330
234
207
207
173
121
184
180
227
213
212
220
243
152
234
130
210
254
290
236
216
262
133
190
148
114
261
248
222
194
308
162
246
244
159
171
237
215
192
129
235
178
108
305
162
255
216
213
184
256
303
232
205
203
175
266
240
236
252
238
303
209
254
263
245
233
262
243
169
170
246
246
274
240
297
311
236
231
234
114
152
205
249
247
148
211
229
326
198
219
246
226
244
223
224
215
153
253
239
244
222
264
284
156
206
198
233
273
232
255
208
201
180
216
183
279
221
201
210
225
295
154
219
280
234
329
246
160
182
209
183
211
279
218
286
223
244
249
185
220
230
293
228
106
203
265
253
243
162
231
160
204
175
335
273
193
171
293
227
211
192
220
181
247
231
256
176
285
225
305
220
237
232
173
201
239
297
158
259
249
189
201
223
144
219
280
239
244
295
226
228
189
207
249
168
226
239
166
234
182
351
151
275
183
245
222
294
221
285
208
168
206
288
184
216
271
195
237
261
197
160
278
218
298
186
256
207
146
228
225
199
266
228
273
116
233
240
229
232
246
220
248
249
224
211
234
190
225
191
225
228
237
297
215
208
192
222
242
272
209
126
182
174
202
169
174
251
247
126
229
349
369
114
266
151
162
191
195
147
146
218
240
309
209
171
173
146
201
248
161
264
196
327
126
238
233
284
189
269
256
238
229
169
274
283
178
297
253
243
244
185
252
192
214
139
252
252
279
164
160
279
240
226
239
114
200
220
213
237
179
270
277
223
219
253
221
244
176
206
248
295
251
278
257
287
238
181
294
218
252
202
233
219
258
266
204
296
273
231
262
208
266
247
233
215
238
165
223
185
299
202
217
199
231
259
206
217
222
258
191
247
235
218
234
146
178
159
215
222
215
178
233
182
200
201
205
274
192
181
176
280
178
318
190
234
207
234
268
235
231
257
272
212
178
170
285
180
256
318
254
257
260
294
270
292
270
221
290
208
191
213
213
217
301
202
250
279
262
207
220
181
268
225
283
181
153
214
203
269
154
214
282
218
198
202
279
245
232
288
231
206
317
274
279
198
151
192
189
293
129
295
240
188
368
151
184
175
276
221
238
195
244
291
229
235
217
175
139
222
178
180
255
207
242
193
231
195
235
232
316
200
199
295
248
263
195
188
201
261
160
285
219
229
139
154
171
267
220
251
227
306
274
212
181
190
215
167
171
192
219
204
279
192
227
285
208
256
212
252
305
191
223
186
244
172
274
228
214
317
276
303
244
230
279
246
240
155
208
220
220
172
255
308
181
154
207
213
240
187
233
160
255
233
261
225
158
214
182
281
218
290
178
223
234
263
325
255
245
207
228
214
271
186
181
216
217
247
240
149
174
275
269
222
208
329
282
237
304
252
173
250
198
174
232
277
204
291
199
261
238
207
200
152
289
178
237
184
259
262
162
173
306
151
214
245
306
227
247
253
306
213
259
247
248
238
250
188
210
235
254
203
238
205
180
265
227
176
188
263
250
195
248
283
274
267
247
230
184
279
203
192
259
297
210
231
194
202
254
188
157
264
206
241
156
176
207
195
200
238
146
276
208
310
161
170
269
302
195
258
205
192
244
248
240
188
221
256
191
193
211
261
211
223
185
193
216
249
264
209
154
220
284
186
173
264
262
246
195
261
165
322
187
215
202
238
261
261
126
304
163
188
230
223
201
187
222
245
189
219
269
314
265
211
259
176
290
186
257
165
234
283
174
220
259
193
203
205
316
245
248
238
276
180
247
208
204
250
148
158
222
268
279
288
276
225
203
270
164
244
269
233
177
256
156
199
240
169
264
180
290
194
169
191
232
169
278
114
242
270
262
261
256
169
161
249
217
211
206
177
286
221
209
186
225
281
234
253
205
216
147
210
114
215
232
160
194
233
237
239
199
304
232
234
203
243
166
173
202
213
155
237
200
279
201
258
244
191
203
182
223
206
250
182
232
194
231
183
228
222
261
240
243
221
266
186
270
183
253
261
266
319
231
161
198
157
301
252
235
265
171
172
173
255
227
267
244
292
242
189
229
252
173
160
237
245
265
249
178
253
263
234
213
234
231
335
216
267
264
230
215
230
295
249
199
239
265
196
239
235
277
154
287
222
236
273
238
282
206
311
232
185
200
182
222
234
239
190
269
214
242
106
232
283
192
218
207
235
234
239
295
253
233
270
201
275
157
209
203
273
232
206
196
255
274
258
192
203
257
221
253
270
250
200
170
231
227
273
228
185
282
234
263
243
210
166
198
286
154
282
279
228
170
161
280
158
171
232
299
195
206
200
217
214
294
237
214
214
278
208
284
309
241
312
217
195
200
234
178
267
139
151
265
273
203
276
260
283
181
177
208
218
207
231
241
114
165
279
302
201
185
170
257
152
193
212
287
280
274
210
320
263
253
246
209
208
231
290
245
283
235
159
228
276
223
210
264
273
215
234
249
256
202
176
182
151
222
193
275
251
175
183
293
215
250
206
277
231
217
213
214
225
255
282
255
208
188
182
140
170
207
230
198
218
219
252
199
204
301
267
297
217
267
175
196
219
289
265
144
232
144
193
239
251
285
160
297
278
240
283
165
208
201
195
264
252
243
209
216
240
188
287
225
183
192
192
220
202
273
233
300
226
168
206
196
202
190
178
156
243
216
196
189
259
286
260
229
171
292
270
206
236
279
210
254
147
114
192
187
264
260
198
253
244
188
207
114
246
247
181
207
219
218
243
185
169
173
254
204
238
152
252
221
108
271
231
220
160
199
219
237
256
181
206
325
246
215
210
178
275
213
301
170
270
145
149
223
168
252
288
178
275
145
215
148
224
204
198
238
234
222
209
259
186
269
231
156
158
241
192
185
188
189
192
258
180
258
348
206
276
250
259
175
246
238
181
251
192
160
222
241
209
241
237
287
207
238
288
192
263
272
272
242
317
198
220
191
281
126
184
191
302
277
193
313
272
257
252
169
181
264
233
189
210
218
243
192
178
214
258
261
266
286
237
251
215
227
191
169
251
158
201
259
231
200
228
163
225
281
245
249
241
173
215
228
160
160
231
214
267
152
185
185
198
294
175
173
193
228
197
239
205
193
177
178
201
240
309
247
261
285
305
236
255
199
198
217
228
207
263
228
156
220
175
274
210
326
261
222
195
245
198
242
194
314
227
219
300
198
261
211
210
200
241
226
108
145
296
198
265
244
152
255
292
297
191
241
201
238
239
215
200
336
252
238
254
317
165
215
258
236
203
259
206
281
283
202
182
184
210
228
213
293
190
213
144
227
185
180
253
152
195
266
222
157
168
263
214
179
169
170
290
192
254
251
249
283
205
247
209
114
213
116
214
152
221
179
175
267
133
229
320
269
294
186
189
156
198
278
212
264
299
212
279
114
235
172
235
294
196
219
215
209
156
240
198
173
193
195
144
129
175
197
156
272
239
327
225
198
175
175
245
191
184
238
139
261
226
199
261
265
195
175
145
260
232
320
228
194
206
216
216
126
195
169
154
295
161
209
214
255
240
184
225
288
275
215
225
231
258
292
254
249
209
148
196
186
297
290
187
228
152
247
221
194
268
305
195
206
240
245
193
284
262
219
212
184
249
208
230
285
203
200
167
260
258
195
174
276
226
255
283
330
152
259
250
280
126
269
273
265
252
215
159
217
207
211
213
155
273
244
269
272
126
255
218
230
238
258
263
223
211
162
195
221
251
223
203
258
284
235
181
190
173
254
222
227
320
176
222
156
259
262
171
235
228
317
170
225
237
243
257
192
330
218
208
272
225
160
195
260
245
274
229
237
173
160
203
296
319
156
220
250
215
198
260
193
229
230
218
233
200
180
216
180
211
237
200
227
218
270
241
140
239
247
198
170
252
289
179
223
297
207
226
114
218
225
227
195
202
210
165
261
244
200
201
215
219
198
198
247
173
255
248
254
285
191
286
228
231
227
198
158
171
273
222
197
214
258
200
280
193
192
225
242
185
228
196
229
272
256
265
224
229
217
108
222
220
258
199
217
225
217
152
223
173
233
265
215
192
215
277
234
194
208
246
187
323
213
156
169
209
184
154
251
215
208
211
241
144
253
206
219
189
188
240
260
206
207
204
286
272
187
268
202
270
200
231
269
246
212
280
218
217
189
262
189
195
182
161
256
203
198
227
263
288
240
247
329
204
180
126
249
197
228
234
156
168
106
291
255
207
200
180
246
231
195
244
189
183
262
238
285
259
191
211
287
190
293
215
194
249
165
258
216
175
212
244
269
251
332
179
249
302
243
175
173
257
238
287
251
240
233
108
240
347
256
198
154
199
240
198
266
232
229
285
226
233
224
269
237
277
258
243
269
195
214
223
267
297
221
278
289
265
224
263
243
264
238
259
191
210
257
219
193
229
243
320
209
221
173
280
228
311
257
283
250
220
158
184
188
222
271
246
220
174
217
233
254
208
216
160
269
300
114
241
186
273
258
192
217
190
187
241
281
176
214
160
254
217
242
216
207
171
291
145
251
181
300
262
225
242
237
303
208
240
148
218
214
156
255
281
207
166
244
256
240
172
227
178
195
228
209
291
216
233
221
199
269
214
176
236
225
247
226
280
185
114
236
183
220
181
266
233
266
189
178
189
114
183
191
260
254
251
170
223
252
295
262
192
218
217
285
267
220
203
293
238
240
310
257
173
257
223
209
216
168
206
200
257
249
206
192
209
221
253
158
230
280
220
241
297
210
254
152
229
227
147
243
226
192
264
225
274
207
253
234
198
185
235
177
245
178
252
231
221
216
205
238
228
197
201
192
195
183
209
221
252
234
192
252
230
212
202
260
331
198
274
291
225
224
184
194
250
206
234
224
178
275
261
234
151
254
258
114
281
249
283
197
316
149
213
200
182
203
272
266
320
196
171
250
211
207
263
287
234
261
222
221
208
228
226
336
164
198
207
310
198
328
202
203
242
192
228
288
271
219
304
222
248
296
238
240
191
248
239
203
234
158
221
184
212
219
274
259
243
190
251
219
285
277
253
221
262
229
211
233
189
156
223
200
255
213
284
139
187
275
201
168
225
160
221
211
286
251
206
261
190
242
310
261
185
285
243
271
197
246
252
194
221
225
172
265
308
214
178
114
278
159
230
282
214
202
257
251
184
200
202
253
205
209
243
223
269
178
215
201
226
242
306
225
292
163
182
181
202
178
226
173
205
246
207
180
171
173
178
248
300
249
243
212
178
225
197
156
244
284
220
227
277
221
277
255
206
246
156
329
260
278
209
208
228
190
279
275
243
238
228
339
217
281
261
199
214
278
168
242
152
251
198
216
270
201
234
260
187
246
198
185
181
278
273
196
200
258
309
247
178
168
222
180
222
351
250
229
208
227
174
198
184
170
254
213
208
223
209
271
286
230
114
198
270
235
208
192
198
273
252
240
326
191
333
256
226
231
256
175
236
240
255
116
238
322
161
154
199
215
214
298
220
204
292
231
263
228
259
239
258
245
206
254
254
254
262
213
249
286
235
294
292
227
218
226
250
147
257
292
240
220
146
198
291
212
152
152
149
251
218
225
263
263
116
126
211
201
207
245
245
147
215
169
297
149
184
240
264
256
176
175
191
214
145
141
216
202
205
139
229
207
231
252
149
251
184
232
198
275
257
262
229
207
222
213
231
166
231
183
206
183
287
296
237
209
195
322
340
196
190
151
226
106
258
192
157
268
178
176
285
266
212
245
172
255
258
304
205
314
232
270
203
233
291
273
114
190
176
277
225
255
255
221
262
227
231
307
207
233
190
233
179
220
206
255
236
315
173
201
255
212
189
279
227
240
204
145
126
198
187
251
214
203
329
211
237
251
194
219
265
241
164
210
231
199
265
186
154
262
277
191
220
229
184
266
284
235
205
194
165
228
273
237
238
200
321
157
152
213
232
247
198
220
259
183
270
300
302
248
173
130
185
204
278
179
147
253
183
266
264
242
192
204
248
189
175
201
307
247
290
198
217
205
281
276
193
317
198
234
280
195
242
222
192
145
182
114
206
224
242
295
254
188
233
214
198
203
264
295
209
242
276
156
249
348
222
252
310
198
199
214
203
187
163
206
200
220
160
233
241
263
240
267
274
208
248
264
257
224
279
240
169
152
178
272
209
181
250
274
130
139
185
173
166
279
197
254
213
235
180
263
258
216
227
244
221
242
211
212
214
201
240
269
218
262
242
338
199
196
139
246
236
168
290
202
227
209
234
229
242
214
254
234
256
228
194
257
313
281
183
282
114
306
209
281
248
227
170
233
184
227
200
255
225
179
283
230
230
242
208
174
227
198
156
229
289
226
259
184
242
250
232
188
238
239
265
238
229
116
208
255
214
184
249
114
258
232
196
301
201
235
170
366
195
166
252
325
295
139
268
151
205
260
228
283
296
211
219
250
151
197
218
168
191
191
255
183
198
129
206
114
277
262
251
173
170
276
255
152
213
213
222
228
252
260
247
225
308
226
121
221
296
244
249
231
126
242
261
206
206
239
219
240
288
201
221
212
235
217
238
283
283
253
242
212
198
248
311
173
227
237
194
226
226
156
217
287
263
214
149
206
202
228
210
226
255
298
238
240
161
270
221
114
192
254
352
227
146
306
251
296
195
254
261
170
219
156
300
224
187
336
114
182
169
234
187
236
179
233
218
293
193
246
234
180
266
304
230
171
249
216
253
176
270
220
211
213
255
232
280
156
191
269
266
212
293
246
302
228
419
220
175
257
223
286
212
285
288
198
313
203
341
231
233
253
298
208
297
248
203
212
244
211
294
286
221
238
179
240
213
211
197
198
220
170
261
172
198
238
256
192
256
184
215
160
264
221
268
183
311
209
240
129
165
178
318
160
340
181
232
232
174
207
158
156
270
330
219
253
205
233
183
188
244
221
133
295
205
306
221
219
225
227
244
173
160
211
241
206
212
250
333
149
224
235
230
227
254
191
309
178
239
277
304
213
237
311
212
229
180
244
164
243
253
234
307
230
220
200
247
246
270
291
251
233
256
272
253
234
219
179
286
162
266
215
262
237
206
152
276
214
290
156
217
230
168
255
176
156
163
189
254
165
145
222
243
244
234
371
222
263
194
222
189
293
265
196
280
295
192
255
212
236
223
207
207
223
216
145
241
267
151
239
281
280
218
241
185
143
251
253
209
295
239
201
200
126
239
216
313
224
245
180
320
161
160
162
200
275
213
156
220
187
160
194
228
234
199
224
190
178
209
234
205
240
153
247
152
285
147
151
184
299
147
221
223
274
283
221
183
223
126
253
160
170
286
296
192
254
235
228
191
267
226
183
305
203
233
289
268
275
165
214
302
253
212
219
174
231
200
206
231
181
166
213
257
296
206
198
178
231
173
186
265
228
164
180
210
180
257
244
229
204
228
180
227
274
212
248
295
216
175
274
214
171
264
214
229
248
152
281
195
178
211
300
227
245
282
207
198
296
297
172
237
220
286
209
225
206
235
258
244
215
203
281
194
146
249
195
215
268
231
222
164
234
298
260
242
234
224
146
234
233
267
275
272
279
195
158
166
200
221
165
248
285
231
198
220
152
187
279
296
231
214
184
235
253
160
262
238
290
221
160
254
250
225
249
247
240
159
210
327
258
214
280
276
219
192
284
260
177
196
226
189
289
329
256
282
292
290
247
176
183
169
241
273
205
181
184
114
139
306
259
206
322
327
238
259
114
226
199
266
180
271
334
151
232
199
268
234
203
211
253
218
207
220
200
192
310
222
186
205
205
229
286
279
257
173
240
291
160
242
368
238
291
170
203
195
224
217
294
209
202
217
224
283
192
193
178
208
212
205
258
212
204
202
251
191
193
257
199
240
248
183
257
256
229
258
195
306
238
301
243
292
158
167
250
180
172
240
204
212
202
262
170
250
260
197
280
253
323
198
277
211
223
234
275
286
192
187
273
258
278
251
261
225
231
252
211
242
186
206
235
227
211
197
197
191
242
197
218
216
215
160
333
238
209
233
201
234
270
226
181
232
181
261
213
212
259
275
347
267
259
187
238
353
198
218
229
320
239
160
233
192
181
191
262
227
232
201
214
167
303
193
156
220
210
200
160
267
301
226
241
192
180
252
254
181
178
213
183
181
196
259
329
173
278
181
274
216
189
244
234
176
306
209
208
269
184
288
224
211
184
226
250
202
249
198
215
174
160
175
249
238
186
181
236
241
208
256
144
240
218
220
259
239
193
214
323
218
219
231
212
195
199
198
198
260
213
304
239
222
227
200
201
206
237
215
262
173
250
227
189
192
215
165
160
212
168
276
240
280
220
230
229
267
201
180
220
198
211
210
207
214
296
186
154
214
310
202
232
183
227
262
196
114
126
232
166
191
222
210
195
204
176
254
114
321
302
253
170
244
208
173
198
191
221
208
201
295
186
240
126
158
249
284
252
176
234
194
211
169
169
224
268
225
239
269
172
221
278
297
237
245
305
229
167
285
181
217
209
293
227
223
288
262
219
254
311
217
237
221
220
221
271
308
173
278
253
175
256
246
283
269
228
240
313
219
214
232
207
253
198
226
196
291
267
209
207
229
262
165
175
284
170
220
207
237
220
214
269
247
214
221
220
203
260
203
240
188
205
256
198
181
183
177
258
200
299
252
227
307
152
234
183
278
160
333
243
183
230
242
212
227
302
277
234
155
344
248
243
260
195
192
263
209
217
335
283
151
282
251
295
214
275
181
212
165
242
298
218
205
151
190
203
222
272
286
217
215
251
185
225
313
235
214
222
175
255
201
223
252
193
223
239
223
225
223
287
210
258
181
269
181
243
240
237
258
282
222
184
213
249
235
226
282
234
299
213
310
257
242
258
208
204
263
175
174
301
270
214
253
246
229
178
156
211
203
214
300
315
219
252
259
241
192
210
231
227
154
243
217
263
239
270
231
261
149
215
217
229
249
203
151
184
197
248
169
276
301
221
246
173
216
295
302
213
220
248
215
198
280
203
254
229
179
231
255
230
148
157
243
221
161
220
204
277
284
247
208
306
114
167
174
154
247
240
199
168
272
257
221
222
303
195
170
229
206
231
331
288
228
261
198
151
186
248
234
233
218
200
261
225
245
253
253
237
179
269
263
210
306
271
193
204
311
281
219
195
211
230
201
165
139
159
245
184
230
246
174
223
168
242
179
238
183
191
193
294
235
152
211
281
225
203
181
266
228
147
221
242
139
207
221
201
224
213
271
180
215
292
200
194
199
305
214
270
334
239
174
261
225
239
261
249
417
210
256
204
229
241
238
311
295
356
271
213
241
193
249
249
214
210
254
198
198
244
265
257
179
347
170
266
257
212
276
250
289
160
198
149
180
264
226
178
205
204
297
178
223
223
217
211
259
228
236
200
177
195
251
245
130
339
246
286
211
206
269
208
222
169
200
188
247
199
154
204
266
219
173
253
208
239
272
170
272
240
257
182
262
233
246
272
219
210
222
151
189
253
252
253
193
159
215
172
227
258
145
139
204
225
169
195
233
224
209
192
162
178
247
192
301
166
231
213
156
212
262
211
243
173
272
266
273
192
194
185
273
256
215
238
216
262
218
130
144
154
253
347
261
170
233
235
287
233
268
149
205
219
160
213
234
195
178
240
235
258
188
241
211
285
172
266
192
219
206
275
198
167
200
262
209
290
241
300
245
258
261
248
206
327
275
262
242
291
174
278
151
259
241
207
314
166
170
267
216
116
166
148
287
221
225
183
263
203
246
209
262
270
205
291
242
187
200
161
230
151
238
180
290
264
301
166
288
190
189
174
268
240
199
233
179
173
189
228
156
221
283
230
139
261
283
268
243
232
249
245
114
226
188
260
294
171
213
203
235
161
268
114
182
220
232
342
217
211
241
227
222
114
239
331
150
251
209
233
214
231
182
181
158
260
238
255
236
233
227
234
269
216
219
229
200
244
227
279
267
170
198
252
185
242
198
258
202
230
169
237
235
249
257
235
220
234
217
289
200
243
213
217
158
150
242
279
258
203
225
300
195
198
235
322
358
242
190
232
293
154
316
197
186
256
126
249
144
162
325
228
210
221
221
237
234
242
157
234
206
301
256
128
222
231
253
269
183
273
237
273
254
220
238
262
261
308
176
229
243
253
199
252
245
227
228
299
272
235
196
227
262
252
238
174
266
203
297
278
261
228
280
196
281
268
219
232
250
189
259
185
234
278
183
253
195
195
255
244
246
286
227
273
173
178
298
160
172
160
189
250
345
285
236
339
162
247
229
199
161
196
229
215
248
215
188
160
243
203
252
246
201
180
223
193
203
178
221
168
254
170
225
286
270
193
212
218
200
178
222
218
219
191
166
176
226
234
234
192
193
235
163
213
229
213
284
301
239
303
139
266
212
201
250
182
147
229
260
241
207
254
193
219
225
261
160
181
255
197
203
227
264
246
273
263
299
166
219
234
236
195
207
197
221
215
263
170
200
193
234
221
231
135
284
188
159
242
283
256
211
178
321
289
146
220
198
262
219
228
160
245
231
212
219
223
215
239
241
215
219
278
245
243
199
245
188
192
205
168
216
144
126
168
272
216
261
203
217
173
281
247
227
208
228
219
207
218
227
270
194
224
215
225
251
252
302
145
293
151
224
211
210
218
129
243
284
262
218
180
230
226
205
311
170
203
237
231
253
201
256
271
200
288
231
223
206
156
283
114
207
211
223
204
166
237
177
230
225
174
217
166
285
327
267
237
229
198
241
256
194
226
259
158
241
233
151
284
333
192
276
229
275
249
214
170
239
197
250
217
278
299
289
220
252
238
292
220
195
162
238
208
323
212
203
322
262
215
141
279
202
257
234
215
183
196
252
215
285
304
257
238
281
253
251
197
171
238
235
257
238
200
178
213
209
300
203
247
261
188
263
265
184
254
158
164
166
239
274
301
186
231
129
218
214
181
250
253
210
152
233
258
300
228
204
276
214
238
189
193
234
228
275
227
203
226
194
174
243
243
251
179
313
275
237
254
263
297
201
301
254
216
338
267
214
210
203
225
196
243
258
165
279
182
278
253
260
191
262
318
221
246
270
193
233
195
178
235
314
261
253
208
177
189
194
307
275
139
208
145
255
187
175
238
223
277
229
221
191
256
264
114
203
232
198
305
198
285
160
162
228
315
278
249
245
230
197
285
184
313
238
272
281
257
225
230
260
216
253
264
215
114
183
304
181
218
189
240
157
161
303
256
244
194
270
261
308
226
257
229
132
261
266
191
220
157
210
225
208
193
114
146
246
238
197
169
228
254
203
217
236
193
192
264
220
219
265
193
205
226
223
223
195
238
222
195
213
206
227
205
262
187
283
317
309
214
215
187
227
173
184
121
175
210
266
128
186
231
170
305
215
235
156
147
188
229
222
234
195
265
227
164
202
261
277
245
188
210
239
233
234
216
290
234
229
191
161
198
264
194
238
241
215
192
294
251
192
202
288
247
256
206
285
225
166
232
246
188
179
187
199
195
259
261
219
228
239
203
298
139
248
170
180
183
263
229
192
267
267
201
212
230
181
252
209
249
235
181
252
226
193
205
173
208
179
276
204
201
195
163
254
229
252
208
208
221
238
191
157
229
170
273
202
248
209
283
205
192
191
211
253
177
221
268
221
208
174
232
190
253
208
231
229
232
219
223
196
159
246
175
178
197
261
240
270
177
114
219
251
242
325
169
176
327
205
206
197
249
218
159
180
219
242
174
226
212
180
240
255
234
261
282
235
207
237
211
218
209
210
175
285
222
251
208
164
201
334
270
237
237
256
220
240
239
230
261
204
237
231
258
264
247
201
273
285
200
139
291
230
144
264
157
226
198
245
108
248
254
223
255
227
216
205
210
252
271
178
190
154
274
234
257
191
339
161
317
226
240
242
213
198
221
223
279
168
300
227
211
249
303
220
194
287
322
216
220
230
200
218
236
208
200
200
235
191
229
268
174
261
185
180
311
181
236
178
237
178
224
285
277
186
180
171
249
234
198
204
247
182
208
234
217
209
231
254
240
219
260
235
270
275
201
307
218
252
215
316
233
238
164
295
220
228
265
184
183
116
207
205
221
285
172
243
303
283
254
315
190
266
202
275
181
258
214
250
230
220
225
231
250
250
240
185
312
192
232
250
255
238
237
214
201
265
268
209
217
198
251
235
342
305
243
160
223
251
196
169
187
181
178
228
114
191
239
248
294
223
218
271
262
239
244
270
287
238
213
185
214
168
281
233
221
258
196
214
228
114
327
126
244
261
239
191
209
254
203
250
247
225
270
154
198
247
179
216
129
219
198
198
165
313
170
184
245
209
256
209
257
318
318
279
198
197
204
310
261
217
225
264
196
210
233
236
220
292
206
204
193
205
175
277
164
180
226
249
234
181
215
304
252
308
214
240
175
279
197
246
227
220
234
209
243
274
225
223
288
278
215
201
207
239
313
191
178
220
173
243
181
189
263
173
247
262
251
253
207
148
299
235
187
160
157
169
304
240
260
232
212
278
220
231
225
114
199
183
181
181
220
297
227
300
243
237
169
270
178
206
211
234
223
204
191
237
264
230
261
328
195
229
182
179
183
206
225
158
197
200
204
194
288
214
236
296
279
206
198
192
182
182
198
218
233
174
170
255
192
164
158
174
254
199
191
159
236
277
216
207
239
290
291
315
221
222
241
266
189
203
293
209
248
301
184
238
319
295
202
263
185
169
272
240
254
257
173
346
191
186
230
207
263
216
179
207
273
209
244
200
258
238
260
170
218
193
244
183
393
173
249
203
172
228
256
198
207
281
205
226
260
228
214
271
266
255
160
310
272
198
281
159
200
157
247
214
236
261
228
254
245
187
242
203
262
184
181
297
232
192
239
172
280
233
260
210
246
208
269
178
304
193
272
172
235
189
235
255
226
255
269
181
198
233
274
191
232
201
235
241
191
198
245
263
230
211
190
218
206
223
166
189
203
266
234
197
334
164
243
282
231
182
292
241
191
272
285
241
231
189
220
190
200
258
180
252
239
247
205
225
200
197
219
238
172
236
325
263
256
293
228
244
177
231
213
196
188
265
208
204
235
205
242
268
170
192
164
246
269
170
204
178
230
229
219
129
148
190
259
309
222
261
240
310
256
193
236
243
194
206
280
161
306
183
280
261
247
301
177
248
193
200
217
189
249
235
216
152
162
267
278
166
173
243
179
277
116
204
151
216
278
195
160
244
208
283
238
239
263
216
244
179
253
206
184
161
289
227
250
170
224
223
176
228
188
181
223
156
175
226
280
233
198
203
228
253
158
182
178
247
181
177
219
167
248
290
314
235
199
198
263
203
290
162
231
245
214
233
253
263
220
176
204
282
192
224
158
244
175
114
238
236
279
197
222
114
212
217
163
184
251
242
252
230
240
239
267
280
214
251
262
233
203
276
234
208
296
234
233
233
244
230
261
243
211
218
230
206
258
227
189
203
209
198
201
326
244
254
336
302
204
223
219
152
262
254
154
230
245
249
270
265
234
266
216
184
160
230
211
250
293
259
272
201
293
292
203
204
195
278
193
213
257
200
193
277
199
204
253
287
242
322
292
311
262
179
245
179
175
189
212
121
250
284
208
222
195
174
239
121
222
239
160
114
255
145
232
181
264
244
233
183
221
254
230
231
241
173
260
158
215
256
243
186
285
216
242
194
174
179
223
210
253
253
218
321
286
325
204
150
213
248
196
234
263
260
221
284
228
242
231
189
235
287
238
202
114
327
195
165
265
220
305
270
193
170
178
222
242
251
197
231
267
208
209
170
227
213
230
227
171
301
208
198
158
222
126
231
191
274
259
209
162
231
266
255
235
220
300
270
318
237
182
228
146
242
248
180
268
281
274
243
114
151
204
250
278
247
269
228
198
254
174
227
212
231
195
309
222
255
206
257
248
215
202
161
216
170
163
185
269
198
255
234
183
241
225
198
236
196
241
190
213
284
297
244
210
156
281
201
261
170
264
199
215
129
223
219
256
168
286
200
229
198
174
280
190
211
198
158
231
189
242
223
213
205
212
291
284
243
222
200
315
236
185
306
168
205
182
203
283
249
265
264
169
116
182
177
293
204
196
280
216
224
211
191
268
261
161
280
236
288
187
223
239
223
271
173
153
320
289
347
188
179
156
274
174
223
204
228
285
227
284
284
256
262
241
186
250
210
222
263
229
178
229
173
211
231
226
197
183
245
227
183
243
238
226
187
192
279
265
333
246
262
259
221
213
262
194
196
230
289
229
114
232
257
203
203
282
268
177
347
158
181
177
233
243
217
185
275
179
204
217
258
189
114
253
261
269
193
248
212
217
173
228
215
208
225
146
162
234
170
204
249
239
172
193
245
226
251
276
150
185
249
218
211
207
170
254
225
178
202
218
198
260
245
189
281
214
306
279
126
188
213
164
245
198
232
183
246
250
233
229
206
169
215
173
222
167
219
209
238
200
199
191
235
206
225
208
114
194
197
161
219
286
158
241
250
217
223
198
246
170
231
187
220
171
198
239
234
157
246
279
229
215
191
281
238
156
256
161
242
241
190
211
209
260
254
200
178
244
252
261
234
234
288
246
126
195
283
212
295
277
234
114
209
126
268
207
176
209
193
183
196
239
202
247
219
161
201
296
213
205
184
324
220
241
212
215
251
262
214
199
276
219
221
241
212
262
226
243
293
190
294
301
292
165
231
224
221
322
195
233
182
286
261
175
262
196
255
293
239
152
312
220
227
204
219
244
248
178
337
297
236
209
282
252
114
192
245
234
216
227
221
170
244
261
252
317
259
235
247
176
160
237
218
213
274
284
213
240
228
208
183
145
225
114
179
184
217
229
170
250
199
257
297
221
279
229
241
224
209
229
234
199
221
178
198
381
215
248
265
275
169
166
330
213
201
267
280
234
244
261
203
159
245
204
240
236
180
240
213
277
251
248
229
168
268
238
220
258
200
210
272
156
177
121
194
254
260
156
185
183
237
256
236
263
166
220
192
179
229
129
281
215
350
184
254
245
180
257
195
208
224
201
212
248
229
212
303
267
267
194
204
218
180
243
287
156
233
207
217
211
220
204
270
238
197
215
266
206
181
238
303
182
219
206
214
260
220
273
250
300
178
213
211
240
201
180
208
240
220
269
192
232
228
253
204
237
233
258
234
169
182
126
231
239
214
226
255
234
220
221
194
253
209
185
228
212
194
330
129
243
263
217
261
106
208
242
273
181
233
259
180
244
204
287
144
234
249
208
182
160
200
222
297
314
288
246
254
169
263
247
206
243
220
203
189
230
221
254
327
183
242
257
224
160
206
239
211
188
298
192
179
284
252
182
279
166
257
241
235
237
277
317
242
234
258
231
293
287
231
166
241
288
235
209
243
215
214
210
224
202
196
266
303
191
247
223
114
184
144
248
242
267
180
177
222
260
223
224
215
254
231
280
190
257
208
267
229
309
214
208
204
226
228
216
255
199
206
245
259
264
170
246
121
226
146
269
231
271
253
255
232
237
296
219
219
339
188
214
173
226
218
182
261
168
189
246
205
180
297
343
254
219
283
229
255
234
196
263
196
264
278
247
232
192
243
192
229
273
280
222
214
233
297
201
218
250
297
212
219
198
240
213
297
114
198
214
188
273
197
268
238
230
215
206
260
239
198
253
189
196
234
267
203
186
164
203
193
247
215
188
280
185
197
317
252
219
114
186
162
219
195
230
246
159
198
228
220
214
240
151
286
348
215
241
280
198
195
193
232
219
193
201
217
220
255
246
152
241
185
247
237
214
263
230
178
204
238
187
276
249
228
227
219
300
255
246
246
215
207
259
294
266
180
261
198
241
246
194
292
233
274
337
177
212
238
201
114
251
185
285
246
244
282
217
200
272
201
126
270
264
209
230
206
247
214
219
290
182
208
230
258
227
276
322
220
188
191
308
201
177
217
249
189
165
272
258
202
308
114
269
298
204
243
192
180
263
245
257
234
252
222
326
244
233
180
233
195
221
236
176
194
326
288
126
146
261
242
195
261
258
187
238
224
272
168
191
253
176
270
225
240
216
257
248
222
219
356
280
250
250
196
194
158
186
233
234
186
325
261
181
272
235
278
192
264
253
222
231
289
126
237
234
221
270
280
283
301
199
227
222
267
357
295
126
229
230
228
128
185
184
251
258
197
270
199
245
208
284
268
181
280
255
225
200
146
232
212
229
189
268
239
194
256
126
154
158
158
226
279
297
207
207
219
174
278
171
372
205
195
257
196
228
151
163
309
237
324
216
156
236
278
322
158
245
241
189
217
222
280
160
238
194
278
199
196
231
199
258
181
167
230
267
194
224
247
290
151
178
158
299
205
165
217
237
152
195
258
178
230
268
220
207
283
252
213
272
187
271
198
198
223
309
241
231
200
249
202
244
232
213
284
173
238
198
180
206
207
271
246
247
264
234
196
229
202
248
196
226
258
203
233
229
199
228
175
154
190
190
210
235
294
203
197
201
285
179
251
226
219
234
220
209
286
232
210
275
154
217
245
213
194
174
234
173
200
227
255
150
252
164
265
225
180
249
139
211
211
289
217
221
314
331
298
240
281
247
321
213
217
192
228
306
116
242
222
220
234
278
209
225
267
239
179
254
253
240
277
258
162
272
246
180
170
200
162
234
211
244
255
216
229
137
240
158
184
274
198
287
262
198
243
160
170
293
152
220
291
209
235
241
139
207
180
217
188
213
222
210
278
250
277
270
229
304
222
262
270
145
261
191
260
263
267
139
215
259
253
239
180
187
245
205
254
181
121
225
167
278
178
161
281
250
256
211
290
180
264
287
192
215
215
262
175
279
200
200
279
220
239
204
287
250
234
180
167
337
278
276
252
171
319
249
183
294
169
238
262
213
254
139
218
340
220
191
210
283
289
170
140
209
254
189
207
231
240
284
175
194
178
222
249
239
284
221
201
114
258
167
257
174
250
205
229
194
152
215
291
202
225
175
276
219
199
227
227
189
219
155
292
174
195
346
202
267
193
234
197
158
302
172
240
238
227
173
237
157
172
267
378
211
311
282
200
246
270
222
249
255
276
263
234
309
309
329
246
350
275
252
229
228
218
221
254
156
188
259
245
229
235
318
195
233
225
222
166
193
209
296
205
232
231
276
225
218
259
236
199
239
242
180
208
259
262
190
210
252
310
235
224
201
229
192
205
198
252
207
165
225
218
233
139
144
276
229
254
238
204
258
302
278
248
246
244
180
173
239
297
169
181
230
279
234
204
209
221
238
197
326
223
232
194
178
161
241
288
184
221
230
200
238
195
222
242
225
324
227
270
294
232
227
226
209
263
225
248
247
254
255
271
247
249
223
301
219
254
201
222
198
250
231
236
279
228
207
204
296
213
255
229
163
285
239
228
126
152
214
140
244
280
249
284
223
251
194
269
241
176
245
189
174
257
256
198
235
256
146
261
217
191
260
195
210
219
201
237
183
273
258
247
262
283
148
195
173
246
269
234
207
174
192
245
258
198
242
218
202
213
270
193
195
262
312
192
189
297
158
214
195
170
158
266
225
220
253
207
227
221
234
166
221
206
213
202
284
180
230
218
217
195
208
262
231
206
209
199
274
163
216
256
224
218
186
191
215
238
196
188
249
218
172
260
170
225
275
254
267
282
224
266
160
202
173
217
187
183
231
302
234
181
260
287
198
248
229
202
147
268
246
239
191
287
243
235
225
245
212
169
169
347
340
149
211
246
225
170
126
212
114
198
245
178
295
223
161
212
201
197
216
227
220
204
170
171
163
291
183
222
170
263
181
207
234
290
262
231
206
170
167
278
207
165
147
227
220
192
243
211
175
235
239
223
217
174
232
219
207
204
300
285
220
265
262
203
268
193
226
239
222
192
177
280
246
193
183
242
308
257
371
216
252
195
198
212
214
217
250
195
152
206
192
283
223
219
177
251
205
222
267
189
329
299
162
296
197
206
208
273
184
256
209
190
282
228
255
301
163
121
237
121
258
284
146
180
224
245
183
225
202
175
217
239
287
168
174
214
184
159
242
241
190
250
197
225
158
213
210
184
155
217
161
220
335
178
200
207
257
219
203
283
280
208
232
183
170
208
318
259
276
106
252
264
232
180
256
232
183
235
251
330
232
164
195
185
178
218
227
170
259
249
259
267
195
288
185
190
208
200
214
267
187
214
284
270
199
220
148
164
259
322
206
207
139
207
279
300
287
220
200
247
207
286
230
216
213
188
274
182
197
166
254
162
210
219
277
213
181
301
250
198
261
212
216
178
225
307
279
242
231
196
213
277
173
182
212
241
274
174
284
223
241
246
212
217
239
216
196
184
218
175
241
251
209
211
276
275
180
226
223
210
284
223
190
260
256
235
207
218
250
175
166
199
228
216
209
173
274
180
200
269
144
192
247
249
170
332
243
196
249
250
168
202
302
206
222
196
219
228
160
219
191
289
240
114
240
256
332
187
244
176
199
269
232
247
248
246
302
160
274
222
294
311
173
178
170
174
275
283
180
206
245
222
191
248
198
245
275
262
226
211
235
189
271
198
240
217
160
207
219
269
218
235
200
219
239
293
179
178
253
167
254
211
196
193
208
179
203
269
144
192
235
237
175
185
251
202
285
231
331
280
237
200
223
121
243
250
257
294
244
139
331
203
195
239
196
168
213
296
253
309
262
223
323
258
244
280
185
214
238
151
235
281
186
207
114
224
237
266
237
288
244
231
193
281
237
266
246
180
199
261
236
221
148
170
266
241
190
228
222
171
249
168
194
207
245
212
229
283
228
286
287
199
204
193
262
175
198
301
205
234
211
228
236
186
192
276
224
191
247
192
212
277
232
219
173
209
167
302
253
255
235
184
214
235
166
209
218
238
169
235
199
250
274
243
303
278
231
236
225
243
218
182
244
261
224
232
175
199
242
185
245
289
254
233
183
229
290
219
280
240
285
196
173
203
301
202
283
223
241
270
197
265
208
222
210
228
114
189
239
268
178
228
139
265
172
200
214
287
236
229
263
238
272
292
173
198
300
207
207
279
193
209
264
170
308
241
230
308
233
170
255
220
161
249
228
175
198
258
173
175
272
144
243
217
215
235
139
281
212
180
243
181
200
188
254
185
178
219
238
240
223
317
170
173
227
244
230
249
242
158
190
212
239
180
220
205
243
305
222
221
234
201
227
237
259
181
242
166
224
227
178
277
266
175
168
165
198
156
129
224
245
279
246
298
241
174
256
280
178
243
108
217
210
254
253
303
195
225
218
200
284
220
190
263
296
234
259
356
108
227
243
263
155
192
239
198
198
201
254
289
208
242
234
230
381
195
174
266
239
188
262
184
259
233
198
235
182
255
257
224
278
254
276
279
152
212
212
195
239
154
203
264
313
273
177
232
225
126
240
299
208
236
183
210
221
137
316
186
317
218
198
219
220
176
173
231
178
169
159
266
313
218
225
177
250
281
223
198
263
279
188
220
240
232
227
262
243
249
256
256
276
274
269
267
267
254
226
250
296
234
247
240
259
205
336
248
210
221
173
254
114
185
178
208
194
267
267
156
170
234
194
230
216
114
253
166
242
194
303
192
210
328
243
247
286
247
203
227
234
272
258
231
229
180
261
215
227
200
299
215
252
316
220
254
149
235
232
210
236
241
280
160
240
197
320
179
176
221
257
114
287
267
214
271
224
156
191
188
283
201
334
169
206
166
284
176
294
248
273
297
149
245
302
130
229
271
230
200
229
221
244
214
181
271
269
218
261
260
218
169
229
189
231
160
225
178
254
260
214
247
126
205
277
198
203
271
238
193
232
289
169
200
322
321
272
210
192
222
114
194
174
219
224
258
148
215
230
276
144
248
216
114
197
231
299
305
231
219
230
231
188
249
269
268
217
259
183
279
229
203
255
210
191
307
160
327
162
275
241
233
233
234
175
193
263
190
164
256
258
198
249
236
300
241
263
240
263
189
188
284
240
193
281
175
217
196
114
259
216
161
270
260
226
200
175
234
209
197
200
232
203
299
183
249
195
251
260
214
224
215
266
298
258
231
236
307
286
254
233
221
220
283
201
268
186
172
190
137
225
133
217
262
146
219
179
192
224
184
159
200
231
222
187
281
238
184
238
235
290
215
108
232
273
247
343
208
274
204
236
275
268
245
240
235
140
183
258
172
188
287
255
160
216
224
253
205
174
273
283
196
235
235
196
209
156
181
194
169
185
315
234
180
275
162
284
284
306
245
181
194
239
234
245
214
247
273
239
239
182
206
214
223
220
231
244
173
250
206
264
251
190
250
225
149
126
213
227
253
114
209
181
199
238
212
275
200
238
310
192
256
301
300
227
166
245
227
221
181
181
211
258
219
195
245
235
226
215
194
156
263
219
122
324
277
179
234
214
200
173
259
126
192
268
225
258
254
253
234
231
166
213
173
151
196
222
266
255
209
213
207
230
211
243
273
181
241
184
192
253
280
200
188
204
284
194
255
283
289
219
266
301
234
210
217
169
270
215
282
201
116
176
203
256
191
284
214
256
285
223
170
225
243
251
210
222
152
223
258
185
235
254
180
244
294
196
225
160
255
183
285
166
256
267
296
205
277
222
272
258
246
231
285
238
260
248
297
198
278
226
233
239
108
261
206
261
334
247
206
265
198
192
257
237
180
157
304
340
225
200
234
205
258
288
192
218
250
250
201
202
281
195
245
208
154
340
306
160
144
114
246
226
196
241
236
195
208
198
212
146
209
337
183
254
261
262
275
232
248
266
233
269
256
192
160
203
249
214
237
220
244
212
249
212
126
234
217
248
200
159
210
211
116
213
261
171
208
272
187
230
335
271
222
229
195
239
225
274
234
148
219
183
276
211
255
281
203
212
250
286
284
173
162
145
198
258
198
176
315
193
209
166
228
244
234
197
217
258
201
280
256
274
238
196
173
182
219
156
246
210
145
273
275
208
250
191
266
236
192
205
214
168
219
251
253
345
208
276
305
158
211
204
208
228
270
246
242
364
249
196
189
252
196
241
178
209
218
204
205
268
288
277
235
198
197
114
188
297
228
191
156
223
232
178
215
230
196
160
243
240
255
217
202
217
173
289
164
240
216
267
206
216
219
214
203
243
259
256
265
195
195
221
244
203
184
223
199
227
305
282
133
250
301
211
263
284
207
242
251
294
178
195
226
250
284
244
185
252
242
217
301
174
114
290
203
252
217
212
266
224
210
258
193
263
261
126
227
191
212
218
213
277
305
217
152
347
253
217
195
289
221
315
202
247
229
195
221
273
223
229
208
248
184
231
270
193
162
198
222
288
162
280
238
217
254
229
212
312
249
203
278
235
263
225
204
158
245
240
144
180
114
234
234
253
192
217
148
171
255
201
285
266
200
212
179
229
274
277
209
245
190
216
284
229
216
212
250
217
224
198
177
269
214
237
265
279
222
190
189
162
203
267
208
222
163
286
304
114
212
288
220
190
210
247
219
218
264
243
277
221
230
250
232
244
180
176
251
209
237
173
262
260
205
217
255
116
282
192
207
273
206
222
213
326
270
194
227
206
305
154
223
260
221
198
180
244
204
200
161
146
306
285
318
254
256
185
156
159
219
170
174
266
234
241
180
235
188
225
288
188
210
296
233
210
114
160
200
166
121
184
268
235
177
231
265
242
208
176
232
194
192
224
196
237
303
145
195
269
191
220
264
167
229
184
218
247
222
235
192
129
273
254
265
303
172
184
178
197
257
214
174
219
180
274
278
305
251
184
214
167
196
157
265
203
219
227
184
201
270
201
153
186
222
237
289
221
202
238
160
279
192
200
156
291
208
201
177
271
188
307
230
207
292
198
146
239
231
275
284
192
239
217
158
234
206
243
232
278
277
191
278
270
239
242
170
224
209
245
286
205
207
234
230
234
214
303
209
195
264
167
222
199
210
272
292
234
219
238
218
145
216
235
262
243
197
203
258
239
219
173
179
220
219
279
217
260
268
190
204
114
316
298
170
222
194
197
282
242
187
184
278
221
202
217
278
245
205
248
250
198
158
212
266
178
189
198
176
228
337
247
238
210
241
209
257
222
203
231
192
246
211
211
278
287
208
175
227
299
303
234
222
229
296
169
198
213
229
219
198
199
271
238
229
167
246
167
175
152
159
180
282
263
192
196
192
208
227
162
241
262
227
262
197
217
217
241
186
144
215
192
203
167
207
236
180
257
212
240
215
181
166
186
298
180
163
220
216
339
262
201
194
278
206
181
229
178
243
195
253
198
192
108
179
247
248
204
294
239
231
163
152
239
214
213
255
265
204
270
246
332
179
241
265
170
200
126
228
238
255
196
264
144
212
253
200
178
244
236
168
253
317
173
280
184
250
195
206
165
277
173
193
151
248
199
255
245
199
226
114
166
192
186
235
213
264
257
306
193
285
226
165
220
190
250
166
230
291
207
226
221
243
179
129
225
262
200
226
179
247
194
209
178
227
222
197
374
156
241
208
284
225
224
165
195
139
188
206
263
238
214
162
273
247
288
256
302
214
266
162
239
231
200
229
237
260
335
311
229
194
238
259
227
202
229
154
228
299
283
249
230
185
177
162
224
299
259
310
160
155
256
275
192
242
286
277
195
239
201
212
267
181
151
199
224
251
180
234
222
268
201
311
222
212
191
286
240
277
204
185
240
192
248
202
114
209
339
266
249
281
248
214
161
225
238
229
287
310
194
270
301
240
282
214
263
250
194
195
164
227
226
190
220
232
265
240
197
114
143
262
148
234
215
211
251
189
231
199
212
209
235
171
177
167
226
307
252
281
246
231
156
256
230
308
248
207
210
218
230
269
233
170
238
279
292
160
235
227
228
232
189
206
170
210
174
253
146
200
219
152
214
212
235
237
214
271
239
192
204
219
178
295
222
219
203
194
227
225
204
191
265
257
178
198
209
231
214
250
261
184
250
269
243
226
260
251
181
325
219
231
215
208
271
272
200
215
291
198
259
264
244
225
209
260
259
202
208
183
207
282
236
230
181
254
226
241
318
219
226
253
198
226
306
208
196
229
244
244
233
263
167
215
225
290
290
157
215
266
238
250
304
257
246
286
183
249
226
219
192
212
211
160
170
204
204
232
144
240
295
193
261
182
228
280
176
208
218
154
210
249
231
278
192
200
209
187
172
295
227
291
234
173
293
193
229
239
310
126
219
191
298
240
229
200
232
233
191
242
254
262
170
194
258
245
179
200
244
242
194
233
182
252
165
213
198
261
116
192
252
222
254
158
227
336
242
114
298
231
287
220
345
239
207
180
241
240
208
257
205
275
239
197
227
248
196
215
179
207
255
207
215
214
192
242
189
261
200
160
192
225
233
206
210
185
175
284
226
257
248
184
159
198
278
201
196
233
162
306
212
254
259
269
199
194
133
259
203
189
166
174
303
281
268
126
176
221
198
250
262
258
178
240
222
210
181
230
269
231
270
211
236
194
210
318
206
298
236
300
195
197
218
174
229
244
171
240
276
251
176
234
210
242
208
268
168
243
205
242
187
174
229
244
201
231
214
209
160
257
245
280
252
293
247
168
306
300
184
188
201
165
221
224
210
207
200
308
265
121
211
255
330
221
231
203
169
254
203
174
194
240
224
231
242
321
293
206
189
232
247
198
246
247
186
189
196
116
266
306
227
171
218
227
285
234
264
258
252
195
190
341
114
299
294
214
139
238
189
202
253
169
265
295
230
170
256
250
226
241
114
233
174
301
252
229
227
266
212
198
139
203
213
192
293
219
268
257
261
237
161
261
296
215
294
204
195
226
180
180
236
217
190
157
344
232
233
192
204
213
272
301
245
306
249
213
151
158
257
234
188
259
197
235
250
181
273
240
238
193
187
345
189
320
200
281
310
189
177
182
230
250
236
211
195
201
260
290
266
208
215
169
221
194
204
201
212
267
311
214
239
266
195
231
159
209
215
324
174
254
252
114
161
249
271
215
122
214
205
254
208
242
208
309
265
238
141
239
207
195
223
280
181
249
237
262
244
241
220
156
268
201
222
114
210
248
173
198
158
253
151
254
189
264
247
249
215
196
166
243
170
285
164
184
228
268
218
242
206
238
230
243
207
225
195
261
169
293
258
214
232
283
237
216
185
187
254
256
166
270
256
240
114
211
242
180
224
298
179
230
268
266
301
189
257
268
206
218
198
130
246
227
185
245
151
267
175
212
222
349
161
167
190
279
219
194
208
226
258
169
259
299
227
305
257
283
306
171
209
265
243
188
240
185
267
234
149
160
271
261
193
242
218
255
231
323
247
232
237
154
192
240
248
258
206
220
249
223
298
214
214
170
247
232
228
241
277
225
174
239
199
182
114
176
244
258
193
227
209
163
114
192
192
240
210
155
217
215
209
222
210
220
185
227
284
275
250
274
310
246
173
226
209
229
224
184
179
179
273
168
209
212
195
275
354
264
201
280
144
213
267
270
209
263
165
297
227
190
241
219
205
280
235
240
184
228
173
218
269
193
178
258
213
231
238
213
171
211
276
184
284
128
191
200
208
208
263
239
217
176
250
218
222
282
214
224
185
259
228
157
230
149
256
216
206
231
178
175
151
211
147
208
238
245
286
210
229
167
201
114
276
173
229
170
203
212
198
253
201
211
184
197
245
233
257
301
212
148
202
226
213
178
288
224
288
186
166
209
219
154
192
255
279
215
307
228
204
315
149
270
247
173
278
267
260
309
227
288
174
244
196
159
324
248
234
229
250
162
234
221
302
284
197
215
160
179
228
245
238
195
328
233
235
173
160
247
255
275
203
297
234
268
243
226
306
286
233
217
262
220
220
223
191
240
206
144
290
221
185
158
224
203
196
173
225
237
262
186
213
210
236
185
196
145
239
169
274
212
264
173
256
200
301
278
218
245
250
221
195
218
362
225
208
234
202
183
281
161
192
255
261
238
262
224
270
248
159
221
240
235
217
291
249
149
238
261
200
288
325
218
242
302
243
215
179
157
298
227
195
220
242
220
240
191
184
223
249
275
238
167
253
270
253
220
217
207
280
297
221
194
189
198
276
181
202
294
184
171
171
304
173
191
238
223
154
254
223
221
287
244
195
238
242
243
202
139
292
218
271
211
308
285
193
255
261
311
164
198
215
198
281
286
262
192
174
253
160
211
253
198
247
198
253
282
249
263
114
223
178
256
216
235
244
190
198
201
247
306
191
263
198
278
235
242
190
126
247
201
245
148
230
237
156
187
253
253
277
196
178
289
191
190
312
242
179
299
225
217
209
214
185
114
221
288
242
188
204
228
226
213
249
251
284
251
267
195
292
200
251
295
218
122
158
170
274
249
198
158
239
271
255
195
221
257
232
273
235
280
328
152
154
308
170
232
222
186
201
214
217
165
209
293
277
195
202
228
273
296
303
213
146
178
210
331
292
249
181
195
222
290
217
271
254
211
172
182
198
175
160
238
251
250
276
249
214
200
255
170
254
218
174
303
213
197
214
275
158
190
272
201
266
208
182
126
235
286
266
249
220
274
260
185
235
176
301
214
222
229
282
170
220
259
159
288
234
186
169
228
255
146
219
108
280
181
205
276
235
195
191
225
247
187
235
247
200
282
233
225
218
210
247
219
201
229
203
231
239
287
270
210
211
297
193
195
312
147
203
158
270
143
222
165
285
294
280
152
236
246
178
209
194
242
256
212
217
265
221
179
259
178
249
256
264
234
231
244
293
234
245
210
268
144
250
199
249
216
201
208
180
177
259
234
231
206
263
265
251
185
195
191
261
179
175
236
247
317
253
160
273
185
203
191
191
240
230
152
207
187
206
185
254
158
273
190
257
207
252
258
307
249
238
232
188
291
258
181
239
198
189
218
240
276
262
254
204
250
221
148
195
280
241
285
252
193
238
220
203
184
182
195
194
160
264
261
208
253
241
242
288
194
205
157
263
162
264
229
182
287
227
144
307
228
209
235
198
200
282
239
225
254
158
348
250
235
219
162
294
249
214
267
193
230
278
235
278
198
189
165
152
292
216
258
174
233
215
154
290
259
240
250
261
166
168
215
216
262
220
302
245
173
189
206
199
186
247
210
207
192
208
287
163
224
236
211
153
168
277
235
176
203
259
211
220
220
270
270
170
269
206
210
309
188
318
207
233
215
293
186
183
228
200
221
162
173
269
220
249
213
241
229
315
202
233
179
147
227
285
307
207
191
259
250
202
301
179
210
246
254
126
305
247
227
170
230
186
241
259
228
321
185
190
208
276
291
140
310
260
332
226
218
223
267
206
226
208
181
214
340
247
187
255
252
180
152
250
250
294
263
197
106
293
401
215
181
261
218
243
279
173
217
209
252
209
191
228
264
222
218
171
210
349
205
192
208
195
191
275
250
187
206
280
238
205
221
218
245
244
250
250
134
164
284
169
242
283
194
232
211
245
206
176
218
247
196
253
192
280
185
243
248
197
155
227
243
188
201
145
174
219
233
238
126
212
251
214
178
198
238
161
183
231
149
198
182
203
206
261
145
165
258
195
192
223
284
277
228
208
298
188
233
213
192
214
236
158
210
255
224
137
182
199
222
213
289
269
272
183
202
316
147
176
198
253
202
229
228
217
216
242
226
281
200
181
211
220
249
156
268
230
234
225
269
232
223
211
160
218
285
181
268
168
144
155
217
179
177
243
174
260
233
229
283
278
236
176
190
238
301
244
147
232
175
207
233
221
226
182
284
230
221
197
229
263
306
226
243
285
194
160
175
250
179
253
205
174
306
171
248
215
180
179
165
212
265
219
285
209
114
171
199
256
202
208
224
200
223
231
148
301
281
192
242
218
214
263
152
271
232
267
272
206
201
146
215
251
294
144
239
221
261
273
167
185
183
208
228
314
223
239
235
297
181
161
262
234
255
273
237
202
202
170
218
198
239
160
222
199
160
168
261
288
201
172
200
162
217
173
171
204
301
234
308
308
309
142
205
253
231
248
246
254
179
181
229
334
223
202
191
224
269
366
233
211
206
220
257
153
202
211
240
149
234
273
156
209
209
234
225
181
184
195
156
158
167
255
195
192
236
181
213
229
251
180
195
234
215
203
246
223
201
233
266
232
196
130
175
237
222
196
237
218
220
254
260
222
292
137
301
201
170
208
221
258
214
236
242
347
257
291
197
279
200
215
215
231
159
240
264
289
239
224
288
289
220
181
202
231
245
169
189
223
265
281
246
264
180
181
232
151
245
247
179
262
223
264
174
241
196
208
183
208
173
210
244
114
204
149
190
281
281
225
196
195
255
306
200
248
289
180
168
230
260
267
229
205
242
196
339
305
140
220
234
237
238
156
219
195
240
295
259
187
343
234
160
234
212
266
246
203
263
240
215
209
241
311
191
247
176
181
170
232
274
173
144
284
275
288
205
206
210
274
294
240
201
300
158
183
228
196
266
236
260
216
186
264
204
251
196
297
238
243
268
359
223
313
187
188
289
249
249
291
260
285
294
232
227
177
208
149
269
241
186
210
210
243
205
297
284
178
240
232
251
262
156
248
272
114
242
312
251
206
275
201
200
244
237
114
233
186
227
246
311
176
155
268
280
185
208
274
289
223
199
213
245
329
280
202
280
303
174
202
148
192
229
276
278
158
271
277
189
253
207
228
170
322
234
159
237
254
229
220
222
230
177
186
204
286
260
293
321
199
271
191
208
241
203
200
164
240
186
180
218
313
228
252
193
234
230
230
275
202
178
221
230
179
231
348
182
193
243
218
260
207
221
229
258
258
214
211
237
179
194
207
157
211
231
211
167
162
164
212
139
252
286
211
311
215
182
263
260
233
177
235
245
165
213
312
182
237
184
208
229
212
225
219
195
170
248
204
195
210
230
257
224
173
189
258
158
213
178
229
191
222
234
160
240
195
198
233
182
114
200
291
278
216
179
198
235
217
198
182
240
190
238
213
173
189
207
174
167
268
293
225
252
186
297
246
214
247
188
336
265
213
174
173
206
205
280
200
193
214
160
298
169
262
219
228
214
176
205
228
260
178
207
238
277
166
224
242
214
265
264
227
270
208
234
240
261
114
223
294
215
222
175
155
191
208
265
236
193
144
171
173
259
213
148
298
235
151
198
177
223
207
227
256
255
181
147
224
245
227
300
247
241
254
266
175
218
239
221
210
261
145
266
156
161
206
114
232
253
184
174
280
211
223
277
255
182
208
171
175
241
223
233
178
195
248
210
300
198
202
299
156
144
265
213
195
211
217
238
225
233
247
260
256
370
196
308
212
195
196
180
271
205
270
238
255
266
157
288
160
284
205
220
232
244
242
253
236
139
282
280
168
241
191
272
215
214
201
192
284
218
226
296
220
233
290
261
174
260
241
238
386
175
283
166
200
194
185
213
236
204
205
175
261
302
263
203
203
114
158
186
171
169
311
201
261
252
238
186
270
225
216
238
183
270
209
174
183
239
235
224
212
242
203
317
226
251
215
225
238
252
270
240
219
264
226
296
155
211
275
220
219
196
308
180
227
126
332
173
210
180
237
284
254
212
258
227
137
258
188
218
174
263
208
250
240
193
286
293
289
237
267
184
268
157
241
234
258
193
193
241
221
179
295
288
223
255
279
146
229
179
205
303
260
220
245
194
237
166
221
126
226
253
297
215
285
252
224
221
174
201
196
174
226
195
164
207
218
161
147
204
244
205
251
208
169
175
173
252
328
238
260
322
200
152
154
216
279
292
247
205
283
220
181
232
275
207
181
240
278
307
171
202
262
239
174
213
250
335
327
233
200
299
277
251
277
198
228
165
263
247
116
162
230
248
257
222
269
290
240
114
236
276
184
258
225
209
208
254
227
287
253
234
223
163
272
286
217
156
218
286
203
228
195
217
200
240
258
218
178
235
215
236
228
204
249
233
213
369
161
255
253
238
226
178
176
203
199
184
164
173
213
193
161
219
207
254
245
235
202
216
174
326
216
167
198
196
271
192
195
114
238
179
208
317
154
149
282
258
224
232
161
272
258
226
195
227
288
198
159
225
252
202
242
106
172
156
200
304
240
253
229
179
231
271
293
308
171
193
284
226
170
239
203
178
164
299
189
233
260
247
279
148
197
270
236
282
198
226
210
195
246
215
318
147
184
108
240
223
264
231
193
313
204
233
256
256
201
175
272
218
250
235
226
251
315
228
159
292
237
231
279
220
283
246
216
260
170
258
144
230
291
231
236
278
160
147
196
226
135
162
173
152
198
171
203
187
166
166
218
317
240
203
229
166
187
219
146
248
220
238
233
178
185
225
304
215
192
147
186
252
173
232
194
215
238
200
235
200
306
315
196
293
196
223
205
188
266
233
196
190
257
313
193
247
193
192
171
239
233
174
221
215
192
221
377
208
230
212
264
239
243
222
235
239
151
172
225
279
196
210
175
266
214
220
204
214
251
200
281
178
219
191
282
207
212
224
178
222
203
189
241
276
234
243
240
229
242
222
250
221
246
169
252
211
276
214
250
197
294
114
254
195
212
201
195
114
199
240
243
179
250
230
231
220
200
274
251
297
235
160
185
257
192
242
269
176
251
259
223
204
265
239
158
258
282
315
199
260
173
238
212
260
223
277
222
221
167
222
235
156
199
190
251
233
263
178
212
210
232
288
257
206
238
174
245
273
185
213
181
219
208
178
296
252
222
160
257
217
201
277
162
222
186
188
300
151
208
160
219
162
269
178
232
218
227
242
201
286
224
246
198
167
289
259
285
166
252
156
231
199
183
225
170
216
189
248
196
229
179
311
232
192
295
114
145
114
180
365
233
231
211
159
223
145
171
191
133
188
232
262
221
236
185
184
233
256
218
231
199
219
211
270
194
221
237
257
211
237
266
197
236
116
234
236
328
253
137
206
192
202
285
218
177
335
265
188
175
200
208
186
292
225
174
245
195
218
260
183
224
186
255
198
200
241
255
272
208
193
235
226
129
175
246
198
214
237
220
162
197
229
234
208
235
114
182
189
224
235
215
202
287
317
272
192
315
265
147
251
158
241
207
210
230
268
195
277
224
187
289
165
208
238
219
184
179
219
187
139
195
239
259
211
212
221
217
232
266
254
269
180
235
233
182
185
286
184
208
210
287
152
266
225
269
175
253
264
384
198
290
205
213
235
239
153
264
183
259
211
192
197
182
196
199
195
205
212
240
231
175
248
228
173
219
223
232
177
234
293
160
300
211
276
222
192
224
220
220
114
205
191
233
247
202
229
264
169
240
271
230
256
162
244
253
286
334
210
222
197
209
238
202
282
219
266
166
229
307
250
154
174
214
205
193
272
221
276
258
255
198
234
190
205
295
300
203
235
339
240
181
279
249
217
129
157
230
170
262
192
299
239
266
126
233
274
297
231
247
185
260
184
172
262
213
188
346
209
252
244
174
244
198
324
256
294
217
219
130
256
255
198
225
151
260
161
237
246
181
184
151
229
220
220
229
200
149
171
213
286
202
126
241
210
225
272
147
192
144
262
213
204
236
201
257
226
151
174
199
192
161
297
221
232
306
203
233
178
286
233
244
204
260
114
279
209
264
260
204
205
282
361
191
183
159
173
263
208
263
247
158
214
261
233
245
151
167
291
170
234
198
209
298
235
228
218
251
320
187
202
317
210
274
247
181
154
273
219
220
229
251
303
249
208
251
228
166
213
275
195
228
114
221
201
179
201
252
271
283
190
246
212
286
198
250
166
218
181
186
241
192
182
198
228
279
262
268
252
167
146
174
250
251
129
203
276
254
188
212
196
251
151
248
174
323
183
263
190
303
184
248
256
174
315
283
287
216
211
292
256
266
210
269
159
231
240
280
225
155
240
302
239
192
197
275
242
240
266
170
208
237
248
248
220
270
267
182
258
199
180
169
224
211
219
235
245
256
253
270
271
139
209
238
236
225
160
252
247
253
175
179
253
290
219
257
235
179
307
223
130
190
225
306
244
259
181
201
316
242
238
307
236
166
260
215
214
321
232
201
266
334
296
175
266
198
245
194
196
245
245
209
248
164
235
258
271
200
214
218
264
286
213
232
204
197
248
198
287
199
252
161
282
199
230
246
161
216
181
232
214
232
287
270
237
219
225
280
238
241
272
213
238
146
193
290
189
292
182
241
225
213
226
159
225
274
200
220
225
222
299
216
257
367
182
238
222
263
276
277
241
281
182
174
129
213
187
278
290
234
191
217
222
157
217
205
175
181
192
242
312
168
233
277
198
208
193
210
212
240
236
171
243
249
214
183
244
253
219
227
238
261
259
220
248
224
237
215
296
181
231
246
244
158
144
249
212
224
232
390
224
241
295
221
276
197
266
195
204
212
234
248
245
157
314
231
233
197
204
270
217
194
249
169
189
196
129
227
150
183
200
240
192
195
201
178
252
204
173
186
186
298
184
287
233
265
193
269
208
158
286
166
297
254
273
209
191
151
195
198
146
168
263
198
252
208
235
310
325
206
199
277
266
325
217
201
210
246
211
212
225
257
259
232
261
230
251
126
201
146
217
241
246
226
268
271
225
254
233
305
230
224
213
261
227
255
282
234
247
155
180
317
244
216
165
218
240
246
209
185
274
228
283
201
196
213
229
204
205
185
201
229
236
178
275
228
253
165
250
246
310
158
200
195
266
224
246
203
239
264
158
309
181
228
270
207
240
284
239
144
276
188
215
208
156
229
282
200
228
218
212
145
248
220
254
231
234
218
218
200
216
243
227
233
245
155
272
241
308
220
216
163
341
160
170
181
214
201
321
281
114
166
192
240
246
266
203
189
303
200
225
278
240
201
207
227
144
312
291
244
275
195
169
234
179
178
201
238
236
258
283
213
289
250
272
228
181
254
219
198
229
237
237
233
213
270
287
175
192
250
222
256
242
256
241
183
173
225
178
213
130
272
151
260
197
181
275
274
251
182
245
219
277
201
254
216
299
260
126
147
201
255
235
235
189
211
114
269
273
204
284
208
239
301
214
284
154
273
193
240
148
214
187
145
168
259
267
237
240
254
318
198
194
276
213
261
218
209
221
294
215
160
253
306
334
243
284
333
198
362
191
372
328
184
178
213
284
173
178
255
310
182
286
269
213
201
174
201
256
214
184
178
173
114
161
193
193
207
311
272
189
316
227
218
275
279
234
261
214
211
203
191
175
215
246
169
275
231
233
145
159
306
217
272
228
310
226
251
294
324
173
286
265
236
282
238
212
319
224
256
216
194
168
230
287
228
249
253
173
222
213
247
181
197
223
247
222
152
217
160
184
245
129
116
229
262
222
197
229
194
233
194
178
259
255
277
253
279
247
192
271
189
241
329
255
262
214
222
240
318
166
187
182
271
219
160
220
236
261
212
306
186
231
203
225
231
246
283
309
213
198
242
216
168
183
243
185
223
255
215
267
165
192
223
189
221
290
237
264
180
185
193
247
167
180
170
378
264
290
266
283
245
264
210
215
283
219
272
245
284
160
241
222
298
184
192
254
265
184
220
241
181
177
156
191
269
252
269
178
251
315
229
239
295
303
237
208
229
263
233
221
295
247
212
249
165
231
208
211
155
216
245
204
301
180
199
222
256
177
222
292
161
205
240
160
225
189
261
257
168
241
177
283
149
210
269
238
222
246
175
240
264
247
168
279
213
246
206
275
257
194
108
329
248
248
175
228
244
215
295
262
253
189
218
213
263
180
251
277
191
276
243
204
192
187
195
269
168
239
196
223
205
274
245
194
257
193
254
141
222
230
260
227
190
296
168
281
297
186
259
157
198
200
145
263
249
277
208
313
248
289
197
196
184
206
270
284
225
290
210
146
254
282
177
258
287
283
241
280
235
219
212
256
236
269
244
180
166
190
284
231
194
250
210
255
211
209
222
214
213
226
214
265
265
207
301
286
223
157
214
189
161
236
265
204
278
202
258
200
243
211
154
222
191
240
173
279
200
251
199
198
195
268
201
283
248
300
258
227
148
260
257
193
156
228
205
243
255
349
213
179
222
278
210
177
214
192
296
259
194
252
158
214
189
161
193
239
225
224
164
216
260
208
221
314
180
208
176
247
235
203
290
225
298
262
214
224
203
262
225
239
177
218
181
197
180
187
194
233
259
232
252
221
275
236
171
190
250
193
114
181
214
195
114
228
225
273
195
170
164
241
201
233
214
173
274
190
201
240
247
198
178
334
256
231
225
252
233
250
169
218
210
242
162
235
226
185
308
229
222
242
283
158
218
225
243
244
281
207
234
243
203
211
205
180
256
174
238
259
156
284
245
252
255
147
191
200
245
157
192
258
200
217
217
272
186
162
273
194
190
168
193
223
270
270
240
213
193
284
158
145
272
251
272
249
188
204
237
262
214
147
256
209
244
114
307
181
168
284
190
247
198
163
211
266
189
276
195
256
214
210
234
249
171
270
194
214
246
173
187
285
297
221
177
321
208
241
206
219
175
224
214
214
298
136
281
308
206
242
269
219
260
255
232
209
122
240
198
224
192
182
177
241
222
218
324
308
247
212
191
227
219
227
198
292
211
255
184
154
192
245
236
188
232
211
229
301
268
264
273
282
197
186
208
217
170
199
139
197
279
221
255
245
255
182
197
215
253
233
251
264
280
195
225
196
186
192
210
309
158
303
286
194
200
278
285
306
255
261
287
243
390
262
244
224
216
244
152
276
271
223
203
223
247
108
174
249
208
239
215
207
249
179
184
232
246
233
309
222
215
152
248
249
257
139
327
204
252
176
262
157
274
237
169
156
213
160
309
220
205
217
263
263
216
308
233
297
170
185
259
312
170
126
273
255
154
229
233
279
190
198
174
144
223
213
238
165
237
286
221
207
272
220
246
214
261
201
258
178
145
227
232
202
168
176
243
174
178
242
145
188
156
191
156
330
230
191
306
157
218
202
271
213
224
209
248
194
158
220
160
220
245
301
170
281
259
226
167
198
211
252
222
173
171
225
183
192
256
270
181
190
139
178
156
222
206
237
262
167
176
213
210
174
294
237
151
286
237
279
139
207
245
209
126
191
176
207
215
238
224
209
287
244
198
237
220
230
165
205
296
233
273
226
270
198
288
202
212
308
156
172
236
195
241
237
168
293
149
212
219
156
240
250
192
242
240
244
199
210
207
192
174
216
231
180
232
261
261
269
171
283
215
256
246
266
266
209
239
263
302
227
220
152
266
290
178
263
258
251
247
282
232
219
267
175
268
275
271
283
261
284
286
158
198
338
130
240
258
192
114
256
178
173
203
171
251
310
264
210
202
168
246
170
286
298
200
140
222
159
302
196
219
303
276
262
203
259
270
224
253
240
293
265
160
230
200
222
214
203
121
226
193
200
236
260
263
235
281
201
243
291
241
214
151
198
246
277
202
190
235
208
238
201
181
121
192
254
218
288
189
236
223
229
208
175
186
281
193
253
170
236
183
285
189
231
315
295
318
220
247
164
197
209
225
211
254
198
273
212
201
205
219
255
232
269
227
152
202
225
220
222
353
149
252
156
179
193
260
218
310
248
186
208
196
170
230
195
169
214
227
231
139
290
184
306
252
200
247
189
152
211
256
260
228
214
162
197
198
235
218
242
171
221
240
174
217
258
273
213
233
256
265
266
279
261
227
187
223
261
200
272
108
266
205
280
270
254
187
230
176
321
213
299
266
228
156
222
178
144
248
199
178
187
238
191
211
247
246
173
311
128
201
168
210
164
184
256
190
185
254
272
221
225
265
246
173
247
216
280
199
238
170
251
273
195
284
243
265
191
170
168
216
192
241
171
289
265
230
217
217
208
207
229
240
156
253
306
229
288
308
181
207
295
253
215
214
252
213
246
306
160
180
228
228
264
232
228
226
230
222
231
186
207
158
279
275
219
213
314
211
231
214
244
194
208
265
198
248
235
166
247
245
223
190
245
314
252
182
196
184
190
238
235
197
280
265
155
199
245
251
315
245
160
257
269
213
235
293
151
262
114
271
239
240
265
236
306
206
235
232
290
186
230
176
158
220
172
216
187
249
249
191
287
317
228
264
225
250
218
158
234
230
219
258
243
160
169
249
310
287
226
192
235
226
186
279
213
261
234
154
195
278
252
244
174
130
229
176
234
248
261
219
192
203
189
282
129
301
236
261
307
231
277
233
274
250
283
197
234
279
185
317
275
289
227
182
242
214
277
246
277
194
199
229
170
275
155
295
231
108
215
160
229
235
235
195
202
161
152
214
179
210
154
244
277
161
315
216
198
277
223
224
154
225
240
186
151
234
241
236
108
206
272
226
237
170
245
228
226
232
213
204
250
207
221
262
268
195
212
253
243
199
192
194
199
250
171
221
144
254
277
215
262
201
336
262
198
252
214
239
218
249
181
219
168
159
226
228
253
191
232
263
181
237
184
273
229
200
156
235
204
232
246
181
173
204
165
331
255
259
182
148
252
142
240
185
278
175
270
197
263
182
177
181
211
116
179
249
295
173
166
237
219
270
242
199
251
163
208
199
282
279
215
247
188
311
312
299
214
195
199
194
181
207
298
218
190
258
188
215
196
182
153
178
155
219
212
212
244
189
290
213
161
234
283
227
247
155
162
236
247
271
175
253
193
272
208
224
212
273
178
245
193
247
211
274
231
244
213
270
245
245
257
234
208
161
301
246
200
190
222
238
292
209
114
324
241
219
183
258
266
225
244
226
154
164
214
171
269
283
207
227
200
200
184
259
177
169
154
297
217
266
198
246
248
301
294
170
139
255
282
207
275
188
247
203
320
209
197
229
161
188
154
175
252
184
196
152
187
277
166
236
238
198
257
250
257
202
189
221
182
225
256
218
273
303
210
236
215
221
203
243
244
220
192
156
259
175
210
230
263
222
199
205
236
243
156
186
271
259
225
250
240
108
195
280
278
250
327
226
180
217
293
239
173
225
250
209
227
192
189
244
237
215
315
193
234
268
263
151
250
324
263
263
199
209
195
227
173
166
219
280
201
192
260
225
221
178
195
114
248
208
244
299
314
226
268
281
239
309
192
160
161
247
244
166
254
237
220
289
305
228
223
246
258
220
218
330
198
173
243
211
285
233
225
234
265
163
212
250
195
318
258
212
237
190
198
208
227
278
192
253
229
199
238
196
306
245
220
236
198
325
114
211
288
154
245
196
238
222
244
233
350
240
249
240
264
166
114
226
178
266
246
280
262
232
228
219
288
165
213
282
189
221
281
247
244
253
216
194
195
114
233
273
238
266
232
230
267
192
270
192
240
274
192
250
239
220
139
246
310
242
171
178
178
228
186
269
261
160
233
156
215
175
342
147
179
159
233
197
209
226
287
240
265
270
207
268
194
275
214
203
195
178
238
184
230
214
179
273
198
206
162
156
130
223
193
256
175
240
108
193
267
308
286
279
288
285
189
267
243
182
234
262
197
214
170
208
209
216
170
272
184
288
195
190
209
256
218
239
232
262
229
208
223
277
169
281
260
181
240
207
206
225
268
244
287
248
280
173
241
232
167
205
299
221
218
152
215
253
197
230
221
240
175
215
173
265
212
152
302
227
121
281
196
209
270
307
171
205
221
227
223
195
271
261
240
152
181
263
248
182
249
212
178
198
281
247
165
203
277
213
250
223
178
162
209
222
195
291
202
212
220
320
219
207
249
213
198
194
156
275
296
279
147
229
164
191
208
170
290
225
240
156
220
191
152
228
304
211
202
174
202
238
184
214
180
162
216
259
229
171
223
272
249
218
185
308
161
176
193
316
197
173
254
350
298
203
311
252
177
193
278
169
249
178
262
283
197
173
229
270
230
289
245
203
208
205
173
210
276
188
155
154
225
279
155
239
171
264
220
205
235
286
179
235
222
207
246
170
283
198
220
236
219
249
243
148
190
284
220
216
202
216
214
270
241
239
310
194
212
192
170
289
261
232
263
258
210
260
215
205
207
220
218
192
160
256
322
152
179
176
235
223
166
242
226
245
222
218
193
233
239
280
243
270
175
273
262
279
184
181
199
192
279
204
161
185
228
278
229
267
244
198
215
282
227
172
228
188
247
226
235
214
237
286
246
243
275
285
236
273
322
241
249
278
290
268
230
290
184
237
178
194
232
234
262
234
273
229
310
191
204
224
209
201
225
183
240
196
216
190
165
303
222
190
209
243
263
232
230
256
214
219
314
212
290
284
251
190
246
257
234
262
239
156
283
200
126
166
186
225
350
280
202
234
245
277
343
193
157
248
304
263
193
249
194
219
275
191
223
259
220
335
277
192
249
285
223
204
160
205
244
271
219
178
218
257
215
128
245
257
212
234
165
255
302
218
181
256
254
257
219
201
275
201
170
170
230
274
203
189
265
256
247
180
224
279
246
189
308
208
291
186
230
156
152
253
197
233
147
241
208
219
240
230
316
254
232
197
194
288
235
260
190
201
174
274
182
192
265
151
196
148
253
177
249
243
206
320
225
195
299
178
206
186
218
260
233
216
194
165
167
248
156
209
149
158
300
260
190
253
228
214
211
275
231
160
219
306
228
294
172
208
203
314
215
294
327
160
241
194
146
290
220
209
173
237
357
173
242
233
265
197
269
228
222
236
114
247
181
195
211
272
250
169
160
264
194
244
158
226
236
246
352
229
211
253
308
290
312
179
201
221
241
223
260
271
264
188
204
252
178
311
223
249
228
220
209
177
269
209
243
208
218
240
255
213
295
220
227
143
261
265
201
222
220
114
254
214
277
285
266
159
249
235
233
149
216
247
210
233
234
223
233
206
209
212
247
263
134
226
233
188
258
191
281
282
206
232
235
213
181
170
264
209
233
316
192
391
204
257
247
246
195
251
328
224
255
184
219
192
208
293
175
249
287
200
206
289
244
291
157
195
183
114
243
228
235
172
282
200
205
155
159
231
181
257
244
221
196
210
304
198
229
241
324
209
216
195
205
227
200
181
289
282
262
231
209
114
285
186
171
247
181
261
251
242
233
228
221
162
319
264
249
141
284
145
299
279
335
234
164
184
273
213
235
254
272
212
206
183
227
221
238
305
239
245
244
188
219
348
208
221
262
290
196
262
195
161
225
223
246
257
223
194
216
294
273
194
186
242
223
251
242
313
169
208
296
270
228
242
204
178
301
198
178
192
149
203
195
306
192
240
177
198
272
175
210
222
262
227
270
200
182
270
198
207
266
266
200
261
333
161
181
191
209
174
285
215
198
260
189
181
213
202
241
195
241
236
239
288
197
253
295
246
197
148
216
205
245
225
181
202
228
237
233
180
228
145
234
285
184
256
165
161
218
238
182
227
237
220
179
253
258
234
243
114
200
264
206
309
292
184
231
231
272
249
149
192
209
173
274
223
349
206
205
300
252
241
212
227
226
262
219
202
167
232
188
325
254
230
169
265
221
226
206
241
205
250
231
328
171
230
217
215
351
321
245
226
182
293
293
218
193
225
129
262
242
186
271
237
162
216
184
129
227
180
197
266
176
272
207
293
227
249
262
217
177
278
228
230
160
157
207
325
240
290
302
170
191
139
259
320
235
238
198
244
211
315
207
223
244
275
345
267
188
170
206
208
133
166
292
181
187
201
217
241
262
204
160
304
282
231
224
250
279
181
225
239
316
252
243
279
241
308
239
215
180
263
266
195
215
221
168
246
198
164
275
321
213
293
197
212
214
286
235
193
244
311
251
263
187
261
319
249
166
210
226
208
241
254
240
171
250
208
152
220
253
248
226
222
244
184
228
256
286
287
158
198
294
151
195
254
277
145
269
313
218
208
279
218
182
263
188
224
145
269
217
308
220
179
235
248
240
181
275
245
195
200
293
146
245
145
201
233
208
184
269
253
265
245
260
256
262
245
238
175
173
299
195
238
180
170
253
287
216
252
192
179
253
250
253
206
130
189
184
279
184
215
253
258
210
186
178
170
164
259
219
186
134
153
275
247
247
206
249
223
215
242
263
228
179
160
288
224
170
187
189
239
240
235
266
280
239
190
235
285
146
234
271
216
287
281
160
234
200
204
289
236
182
270
236
192
199
204
233
220
216
194
225
188
268
181
170
225
237
169
263
160
208
290
172
216
174
198
242
201
171
213
202
238
296
215
269
187
146
114
274
200
212
160
278
226
264
289
174
178
237
277
108
191
222
259
245
189
290
210
217
192
342
173
254
205
341
185
238
209
250
213
201
213
211
245
190
114
177
196
306
178
193
293
186
192
334
188
175
260
165
240
219
192
264
167
274
243
121
242
145
333
208
191
193
215
176
202
241
234
234
215
285
288
176
205
247
212
196
114
153
209
243
248
324
244
244
285
292
234
245
335
238
235
201
300
176
347
234
309
265
175
226
220
249
249
237
240
190
253
203
292
177
201
202
253
181
202
253
258
250
176
230
133
231
203
204
175
193
235
177
222
223
336
239
129
323
225
229
299
186
178
186
277
189
222
277
300
186
287
212
291
228
300
198
257
205
310
245
203
245
307
284
274
235
222
261
229
209
254
260
285
262
177
285
178
284
202
215
213
302
294
247
230
342
269
191
250
284
211
146
160
162
215
188
218
188
203
289
228
237
168
151
262
252
196
271
264
289
157
198
264
261
240
190
269
257
210
205
242
191
300
246
301
290
160
233
220
264
217
274
171
220
198
229
195
303
221
202
239
222
168
194
240
195
245
303
302
205
277
193
198
158
274
203
187
181
208
283
171
287
301
232
233
199
289
206
169
205
193
261
190
279
177
234
210
194
156
186
282
231
248
246
289
255
223
191
193
220
243
211
227
205
200
236
192
251
173
216
253
261
170
260
214
210
213
240
248
309
241
243
262
175
212
288
173
238
263
260
224
195
217
218
214
240
371
233
297
187
256
216
166
234
178
250
303
180
153
258
199
189
240
199
153
184
283
289
232
142
191
243
313
152
233
180
114
233
209
190
160
188
290
209
297
249
202
180
201
229
222
230
257
212
269
235
182
338
300
205
161
249
198
203
250
215
192
243
239
225
190
247
260
216
211
252
266
206
204
184
213
208
278
188
160
185
247
160
214
228
205
329
210
268
216
257
220
175
193
197
237
184
292
284
268
405
210
200
192
207
177
262
265
187
180
193
178
233
146
249
220
275
221
147
228
205
280
226
226
173
205
246
116
196
183
246
270
214
240
234
178
178
274
235
210
181
249
230
166
212
195
218
320
252
211
154
219
225
162
198
184
238
169
290
174
265
262
207
270
219
215
171
234
190
166
252
165
114
320
234
237
185
350
294
211
276
160
175
211
252
108
238
257
253
277
205
197
246
191
180
168
328
231
211
158
164
275
240
184
278
253
254
172
245
170
288
176
156
205
195
216
218
204
249
234
200
242
201
213
280
160
159
234
200
256
302
160
200
223
224
166
199
206
130
215
255
249
283
238
201
277
200
231
216
225
262
235
225
192
170
146
211
184
177
218
269
206
189
173
126
275
193
217
152
229
228
248
206
229
160
175
263
287
173
246
209
160
191
248
262
186
223
267
171
241
168
273
261
152
255
229
252
243
211
224
274
239
212
252
207
271
200
260
228
168
242
203
249
213
160
175
126
266
283
244
255
222
212
198
274
292
245
220
296
238
206
145
244
223
174
278
234
244
190
255
263
263
304
182
196
205
281
248
185
251
197
240
163
196
200
168
264
200
181
203
161
137
224
194
189
248
304
204
193
210
294
210
175
179
165
235
239
211
192
164
249
227
179
234
271
234
285
248
139
250
276
218
225
180
225
114
164
249
233
267
220
208
190
179
224
198
279
239
226
259
238
277
230
178
212
246
267
303
193
232
169
201
208
176
271
207
263
229
204
198
186
305
225
188
247
235
235
186
241
175
207
223
207
235
191
209
251
204
225
240
193
218
245
203
207
199
114
289
253
178
304
367
271
266
106
206
211
169
267
243
263
255
228
262
216
222
226
235
214
235
229
272
209
173
198
191
213
269
207
162
183
213
271
215
208
266
233
296
173
213
206
180
272
208
304
291
214
228
219
201
315
231
239
295
208
226
227
192
243
200
165
193
219
228
232
231
206
206
227
238
245
168
252
315
284
226
232
275
242
229
216
237
252
242
224
243
222
206
334
211
241
216
212
213
298
232
175
249
281
144
235
228
239
284
199
271
249
332
219
240
264
258
180
169
159
253
221
175
180
305
249
159
149
279
224
279
203
236
177
208
268
202
243
217
200
214
196
240
221
246
275
180
256
160
180
189
217
298
121
221
206
218
294
158
282
173
114
224
229
231
234
223
184
249
158
281
193
235
195
198
254
315
294
244
226
309
160
257
295
315
236
222
216
258
279
301
233
225
266
235
204
307
114
250
114
222
243
200
177
198
242
239
230
203
207
247
296
225
260
304
316
146
201
262
168
288
301
200
247
191
198
214
174
191
298
211
192
247
218
181
169
256
215
188
187
252
176
217
207
230
273
188
204
169
249
157
192
263
200
191
265
238
300
264
186
181
199
214
149
222
231
219
114
270
274
301
195
279
205
253
176
199
254
195
273
209
214
246
233
279
252
260
251
192
152
162
237
219
134
219
258
238
139
209
269
324
271
204
238
168
239
231
207
246
247
311
114
207
195
209
239
303
225
244
213
210
248
251
233
211
219
178
212
114
254
240
286
270
326
190
318
285
175
205
252
175
210
229
215
207
227
237
309
227
173
181
175
222
217
239
283
255
199
243
251
192
196
196
173
336
220
229
285
237
193
309
196
195
217
295
169
244
294
148
167
267
173
174
222
198
226
212
212
227
165
246
181
268
259
212
149
208
255
230
240
129
223
227
251
222
225
303
175
228
303
199
236
232
295
245
183
181
334
254
234
258
198
195
114
254
214
151
200
169
247
246
254
165
260
262
193
149
216
145
216
230
273
251
261
237
266
114
259
191
228
299
229
174
192
195
253
270
176
205
221
159
226
233
174
266
114
114
191
182
314
279
240
236
187
195
198
258
106
261
203
145
221
256
201
190
221
229
158
248
198
165
192
217
198
235
173
165
251
329
259
249
237
170
206
250
299
235
263
195
151
201
205
214
277
262
173
245
241
198
217
238
214
114
214
211
206
239
189
249
264
244
232
229
178
206
287
181
188
301
166
203
225
224
293
190
231
232
263
193
327
200
260
203
236
225
211
223
294
193
219
294
239
285
170
173
243
197
293
114
180
219
237
165
195
276
114
245
271
187
182
237
279
214
263
241
154
240
206
198
238
265
244
230
213
208
249
235
221
218
268
270
272
207
289
225
264
192
202
178
221
173
315
215
272
205
265
245
230
192
263
330
181
215
196
242
226
221
213
228
181
319
295
240
215
258
208
184
152
354
176
273
200
160
192
233
266
213
295
153
240
237
234
248
192
247
233
227
231
259
318
217
306
271
223
189
270
320
208
268
198
207
229
279
244
259
224
207
252
251
147
224
279
284
215
199
268
215
225
180
147
189
264
203
208
268
168
243
222
201
198
243
266
216
208
205
230
203
138
237
253
371
210
226
225
205
197
198
232
251
201
222
199
260
219
195
151
157
226
225
255
246
289
198
167
207
240
219
174
228
208
173
227
250
227
209
219
237
165
188
219
214
282
260
252
353
161
258
211
212
148
253
246
205
261
279
219
279
285
207
215
268
213
254
195
218
250
268
238
271
184
169
261
199
236
239
255
219
183
241
181
279
184
191
208
159
220
213
213
215
114
180
182
261
209
225
204
212
174
221
161
209
228
269
196
229
189
220
271
224
253
175
233
248
201
184
250
166
206
285
304
318
199
230
209
242
229
165
252
231
281
226
273
168
233
247
206
175
166
146
182
271
114
265
287
309
248
175
283
203
194
227
249
238
251
230
249
280
186
219
325
196
294
277
181
243
158
148
213
262
234
264
197
114
258
220
332
290
227
220
243
190
145
216
182
252
181
243
206
145
189
238
229
228
169
261
231
240
236
285
178
196
250
184
238
227
227
193
245
246
194
159
169
147
255
245
260
259
133
241
187
296
246
245
240
200
201
198
285
253
177
191
229
226
192
114
312
255
231
223
254
265
265
277
195
214
286
239
248
194
224
220
298
222
243
208
307
262
251
208
289
114
235
275
186
237
244
176
207
232
207
210
255
253
196
207
295
199
228
194
224
213
269
194
258
253
272
183
214
228
292
162
223
198
217
255
182
175
236
227
195
225
239
185
247
250
283
250
250
226
194
253
230
192
201
224
200
192
202
226
189
229
282
222
236
221
205
164
190
128
238
106
232
250
185
178
228
226
199
212
210
133
151
240
213
245
227
273
203
210
241
272
242
173
250
206
232
180
221
175
238
227
246
295
287
145
199
197
302
178
221
204
249
173
218
217
220
238
223
190
301
243
210
297
201
238
126
168
261
178
283
224
202
178
194
238
221
231
220
280
259
211
230
212
221
206
210
236
240
200
156
235
249
263
166
281
259
195
288
197
283
225
246
259
231
230
256
193
219
266
283
189
181
248
269
247
194
169
192
196
217
237
215
158
268
252
202
220
158
240
196
198
225
277
261
229
168
211
106
187
225
221
238
251
227
209
163
286
210
262
229
263
177
121
190
169
194
238
219
316
282
156
221
295
264
241
232
237
266
302
232
186
164
287
270
257
231
301
167
218
216
239
139
108
203
197
206
159
217
212
181
266
182
226
219
234
238
286
182
162
259
282
226
191
253
145
229
155
227
243
277
246
220
188
190
207
300
173
207
146
251
258
286
224
233
114
149
241
214
186
160
192
264
213
306
114
242
279
129
269
243
254
192
263
285
139
190
243
184
220
254
213
208
239
258
239
190
168
222
256
362
278
201
208
281
297
198
192
260
275
220
191
195
161
161
212
189
162
200
212
184
223
230
188
175
254
258
239
219
338
234
170
210
222
173
198
170
237
235
235
268
235
281
175
273
176
151
294
121
173
257
266
272
277
253
246
277
243
195
324
192
286
198
256
168
200
254
234
180
223
233
249
241
278
182
217
176
246
218
175
173
198
255
192
177
185
219
205
194
202
202
248
213
227
198
282
171
257
212
194
173
261
239
275
240
267
128
168
202
150
264
265
191
198
218
179
299
261
155
201
262
237
180
237
242
216
176
233
165
237
255
248
358
246
241
268
195
156
211
269
265
297
232
201
265
220
272
126
212
201
200
153
232
247
263
165
196
237
232
165
233
175
189
219
230
274
258
271
202
239
186
160
186
233
200
224
221
180
220
229
241
219
238
217
188
209
245
250
201
322
301
223
181
177
203
207
269
200
290
178
154
254
228
253
208
193
151
174
322
241
211
194
250
318
197
208
233
224
236
231
260
193
199
194
192
185
290
234
243
178
225
234
207
185
160
146
215
175
323
263
148
229
205
170
205
220
235
224
217
238
212
233
205
275
249
216
181
234
195
250
166
246
278
186
388
189
217
207
226
227
221
259
255
353
253
262
164
218
245
233
147
224
235
299
179
252
183
269
152
274
268
181
205
221
198
192
296
191
220
278
181
268
219
239
195
283
295
267
207
170
236
207
272
249
181
234
194
166
269
218
265
229
293
156
221
257
152
299
221
186
279
243
156
200
234
187
173
220
209
196
270
248
196
243
274
218
241
243
262
171
200
232
237
287
152
240
160
214
201
251
169
114
232
191
190
233
180
195
216
180
155
221
160
226
208
152
194
206
114
321
178
184
302
187
180
201
247
241
185
226
310
248
214
246
197
178
227
197
231
160
114
249
233
229
198
160
199
185
206
252
232
280
238
226
248
260
162
242
195
281
251
242
170
194
255
212
176
202
139
199
225
296
220
286
248
237
273
248
191
173
233
263
214
199
260
260
259
228
193
122
198
321
234
245
187
186
211
216
264
260
251
202
181
205
325
285
197
261
216
167
229
234
139
208
272
204
219
140
285
217
246
293
207
126
230
227
239
234
236
193
212
223
205
234
259
205
226
200
249
253
264
212
270
178
204
246
237
292
231
239
240
213
194
289
198
270
161
182
194
139
216
198
148
312
218
221
276
299
270
242
225
171
172
175
216
291
305
216
229
208
280
259
256
161
238
234
282
265
225
188
243
218
203
248
245
194
266
170
297
224
280
288
203
172
114
265
273
169
211
275
271
173
151
229
260
174
277
307
217
321
191
286
205
258
175
245
289
234
234
222
147
233
194
256
194
195
225
296
217
207
247
114
231
259
230
316
248
202
209
175
197
300
298
226
249
268
211
177
279
218
195
225
286
279
192
161
215
294
318
235
214
221
174
262
173
248
291
197
279
190
227
219
311
114
226
200
262
241
331
275
266
245
277
209
165
261
237
305
195
114
196
275
329
176
251
286
314
161
214
301
239
178
198
216
232
258
233
239
248
291
234
220
114
299
222
209
237
195
239
230
323
179
283
114
214
236
170
198
197
241
116
219
249
308
239
158
242
298
213
241
217
246
235
188
214
227
336
277
205
192
161
183
145
166
166
174
145
281
268
157
200
220
244
278
371
223
141
154
114
185
210
252
192
238
201
220
241
225
216
324
170
238
231
217
230
226
282
199
178
188
240
228
258
196
202
264
232
229
213
200
240
296
299
199
377
275
186
314
214
240
201
208
292
157
382
271
217
230
215
165
202
215
197
237
266
197
223
114
209
226
249
129
248
166
265
281
176
260
212
179
216
177
219
292
255
276
170
234
191
249
200
223
233
295
234
222
350
278
160
162
216
228
223
266
188
322
176
254
320
230
155
204
237
169
193
165
208
221
240
178
222
323
180
194
309
234
233
237
290
227
155
295
180
234
207
188
239
273
272
245
239
281
231
225
222
231
203
303
181
237
241
188
237
345
221
238
232
114
275
185
221
133
210
192
322
239
202
239
229
260
246
219
254
285
179
275
164
270
235
176
234
273
202
222
178
191
267
264
241
197
263
254
149
200
126
275
180
237
199
114
266
192
206
173
285
240
215
348
214
227
272
164
225
198
192
178
194
156
217
228
279
152
194
200
273
251
248
260
198
230
196
218
212
291
173
278
156
237
195
169
192
333
270
151
293
177
281
299
265
289
209
234
230
181
297
207
299
114
237
290
267
217
207
219
230
248
221
207
186
239
207
214
174
210
241
192
331
285
180
219
204
297
247
237
235
253
269
317
211
201
162
280
274
310
208
185
181
174
229
174
196
245
257
207
256
243
234
232
173
263
197
208
280
243
219
335
190
228
299
191
226
263
215
217
193
206
193
170
166
316
184
200
228
220
242
213
221
226
250
156
186
272
261
223
196
208
306
218
222
311
192
240
211
250
275
270
328
196
239
211
203
146
250
207
206
234
236
203
199
234
237
194
206
208
280
170
211
173
234
298
266
197
275
220
324
264
198
290
156
287
149
173
169
202
205
271
286
178
310
282
255
197
174
208
267
192
190
212
195
197
207
222
247
247
174
254
217
228
240
209
314
275
177
261
229
295
255
198
222
159
247
284
209
237
286
253
188
230
235
126
182
203
160
219
247
285
286
196
250
170
152
207
259
225
247
241
140
168
197
239
208
238
228
224
206
278
213
179
241
186
236
296
201
155
274
156
211
169
250
180
224
292
220
216
247
253
264
287
222
202
253
278
295
144
229
244
222
291
225
207
114
227
126
252
192
227
160
203
210
273
238
240
214
251
271
182
252
139
234
210
200
222
151
248
151
233
227
198
294
129
160
191
229
213
318
208
195
169
256
313
228
231
238
196
204
222
227
237
309
298
211
209
201
229
240
239
192
219
241
173
203
241
223
236
175
263
243
304
207
167
288
161
226
249
356
340
175
185
240
210
192
200
227
206
235
221
289
189
208
203
181
156
303
106
195
191
170
187
202
251
250
285
261
278
268
258
218
276
270
252
223
208
168
195
251
217
241
286
245
218
250
215
206
218
267
218
247
249
172
229
231
210
246
234
208
272
234
242
287
164
219
180
155
181
270
197
258
269
321
211
205
280
309
266
240
279
246
292
206
258
201
217
208
202
152
220
145
114
218
239
220
255
191
184
269
185
251
272
193
211
148
208
206
175
236
180
246
259
239
246
273
285
176
249
280
217
204
188
206
241
205
226
260
269
245
145
254
291
283
194
259
114
216
203
225
256
156
216
116
192
270
274
204
206
217
192
187
226
152
217
218
202
184
191
198
258
179
261
191
194
223
234
200
207
229
300
181
224
184
297
268
192
160
259
240
204
239
170
195
166
274
245
226
169
245
255
201
200
264
134
181
278
146
216
233
202
264
193
232
250
258
206
268
114
175
239
213
248
217
238
184
159
223
272
320
212
207
171
274
126
206
249
192
204
205
236
139
254
238
215
220
217
199
193
193
238
192
177
219
157
273
200
158
261
158
245
225
247
237
158
218
245
266
186
230
147
264
233
262
175
147
210
204
275
202
241
108
285
301
224
178
184
323
243
285
277
241
239
197
166
172
190
222
205
195
206
265
165
205
217
257
219
255
231
248
232
184
216
219
189
217
207
280
243
253
214
219
214
272
300
292
286
333
261
170
211
139
372
168
207
216
230
270
173
243
221
225
201
248
229
267
273
250
284
178
296
253
315
192
263
192
254
264
154
229
192
251
271
236
199
307
261
251
221
219
203
213
168
325
189
206
192
181
165
254
224
271
244
263
201
195
181
249
154
199
274
241
253
182
160
216
232
214
200
205
309
271
201
219
260
173
106
199
220
220
281
184
254
193
148
274
269
413
145
160
244
191
270
249
174
276
187
168
238
173
209
218
273
257
234
198
251
221
241
224
302
249
238
252
240
247
210
189
238
179
267
270
241
144
214
225
282
254
246
168
263
222
239
152
198
285
235
216
265
203
264
198
284
243
223
296
212
192
244
181
178
179
217
271
248
235
197
147
197
349
194
194
155
270
202
299
267
156
265
216
209
247
250
173
237
146
214
283
263
290
225
258
241
301
221
244
180
183
190
172
167
217
222
279
299
114
216
238
251
262
233
310
225
292
214
293
211
114
152
200
314
205
227
224
161
193
279
251
261
192
277
234
328
196
175
168
240
230
168
270
256
266
189
162
165
168
216
261
311
367
290
239
139
196
228
220
268
226
195
266
159
193
237
261
175
206
114
247
215
184
214
270
316
265
178
179
221
266
217
179
244
319
242
130
189
213
196
245
292
216
249
217
247
275
188
236
255
227
224
278
206
114
256
216
295
295
226
197
238
250
162
260
268
232
163
160
314
232
276
271
216
222
275
214
217
145
330
194
218
223
255
114
267
188
204
248
198
242
329
209
194
190
256
239
193
252
303
192
187
189
230
211
259
168
126
308
177
266
232
194
248
230
222
297
234
202
210
279
233
245
210
181
274
177
192
168
189
231
309
257
170
320
170
250
201
232
235
268
197
215
250
214
175
209
203
221
181
236
161
216
196
232
225
258
243
212
253
166
226
245
181
200
243
168
250
220
254
247
178
253
288
193
234
209
207
175
188
252
233
245
162
204
238
200
209
251
220
140
236
272
262
234
323
235
289
182
196
177
234
178
284
288
262
243
253
240
302
271
228
254
259
320
214
148
220
254
160
242
192
267
237
280
155
268
232
183
209
256
227
292
234
333
198
264
184
114
233
193
167
222
190
189
193
234
264
213
207
156
165
126
246
237
207
223
185
283
240
177
182
228
260
284
219
194
230
307
231
203
279
170
191
236
257
165
206
264
182
319
264
238
236
313
226
229
263
227
233
253
173
165
190
181
217
204
221
293
239
298
209
238
201
296
219
269
263
253
285
267
283
231
241
206
290
185
254
259
237
129
130
266
204
237
244
205
214
261
225
204
241
158
173
274
252
265
208
153
156
202
180
272
198
296
190
298
224
274
189
207
201
238
290
190
161
259
289
156
180
220
235
288
161
222
286
175
160
202
153
225
264
234
196
284
193
311
203
241
239
246
261
305
207
173
198
255
175
302
200
210
258
230
211
198
227
194
224
260
214
252
206
238
313
237
126
257
203
230
208
265
262
218
167
253
225
298
215
224
178
203
239
222
218
318
283
176
231
236
187
171
170
352
253
176
202
205
307
237
164
247
193
307
289
238
199
179
259
172
171
247
205
247
277
286
207
221
218
287
238
171
187
144
310
198
225
204
215
231
210
233
286
180
235
158
173
183
266
154
283
258
191
207
177
195
248
310
208
195
215
159
225
188
250
221
238
160
281
254
204
270
181
215
253
180
232
231
258
314
261
180
195
192
236
276
241
217
222
207
170
296
214
144
157
277
266
228
235
229
263
304
165
271
194
216
281
210
217
272
235
208
225
172
203
203
225
218
160
224
221
228
264
161
180
207
234
246
242
239
223
174
252
290
311
186
210
164
230
116
198
249
240
252
232
284
199
178
219
242
168
176
212
249
231
246
213
172
280
281
216
186
208
172
231
214
317
198
196
291
170
181
263
168
295
284
214
128
203
219
198
176
219
266
114
267
234
206
283
207
305
200
166
178
219
154
243
219
267
159
290
280
240
162
158
248
171
183
212
223
196
274
161
273
238
182
249
154
184
192
206
211
228
276
274
250
230
252
226
251
218
198
195
225
178
312
189
337
265
249
207
229
246
214
263
194
264
240
170
255
198
214
232
213
161
260
153
233
273
284
320
312
198
259
247
258
240
106
247
245
196
279
234
289
198
199
176
160
178
173
253
209
202
191
213
184
249
188
200
261
280
235
272
218
254
254
315
176
180
260
184
242
220
206
322
224
249
224
195
227
202
192
258
147
258
229
234
311
312
169
304
174
212
195
164
200
267
270
198
279
203
176
257
226
247
255
252
187
207
238
152
268
201
188
243
157
238
197
269
192
197
358
143
216
228
264
262
281
202
300
254
219
203
283
283
209
217
245
215
287
235
234
316
228
229
257
170
248
172
252
247
271
168
191
168
228
238
147
206
247
211
234
152
266
219
234
176
254
195
214
217
216
238
235
205
292
238
139
259
248
258
219
190
208
176
178
244
208
258
252
214
223
160
208
219
208
204
270
288
227
114
309
234
189
200
191
152
194
207
200
275
201
157
237
202
218
135
262
265
242
285
178
263
299
205
181
121
279
184
160
227
255
222
246
194
231
251
210
207
270
211
243
216
148
199
288
260
291
229
355
193
247
242
281
121
205
221
254
271
248
188
258
157
205
225
219
215
241
334
249
180
158
254
244
212
272
274
190
247
215
219
192
213
156
213
216
213
255
295
204
235
240
225
197
291
162
169
376
239
261
171
174
114
226
263
201
256
174
288
234
200
240
274
160
229
299
229
217
199
323
255
298
260
219
233
245
205
221
189
152
221
164
186
165
171
198
238
278
170
271
160
158
198
238
228
226
232
228
219
168
191
190
236
220
255
239
181
116
248
248
276
187
224
215
159
288
247
281
197
192
291
233
195
222
205
284
281
186
189
225
331
158
237
297
199
214
215
222
195
227
197
283
205
201
274
247
275
250
214
251
220
161
225
187
223
183
187
156
210
207
233
242
294
297
160
287
249
239
275
293
173
215
186
227
312
206
272
244
338
180
244
269
212
249
206
211
269
239
259
206
235
239
188
257
230
216
225
227
258
114
195
221
284
232
256
182
292
188
114
249
145
168
164
198
258
205
306
307
226
233
265
250
240
254
267
215
171
239
182
235
191
223
162
270
180
263
175
191
269
192
210
190
221
250
287
232
232
145
209
237
236
323
191
145
207
228
210
241
278
215
286
246
219
291
275
213
166
145
243
206
248
143
196
201
221
235
218
217
234
203
261
218
170
210
270
255
139
221
200
182
238
218
170
207
251
222
207
239
228
297
222
279
216
215
216
269
262
264
179
272
224
219
197
145
228
181
228
189
184
230
174
212
206
204
194
231
171
293
192
198
192
252
194
258
232
208
158
175
240
263
233
206
238
233
224
251
243
297
228
194
224
215
236
258
261
221
256
281
248
263
162
221
156
181
182
243
165
210
211
224
129
181
191
140
256
217
228
178
215
222
183
222
258
186
238
329
285
213
281
240
280
192
288
170
221
278
239
182
180
198
173
133
246
259
174
318
281
261
290
178
243
152
194
228
258
234
193
204
197
252
239
198
250
116
175
169
224
248
253
323
200
180
170
184
208
254
249
189
296
145
223
261
233
166
180
267
242
266
190
151
290
215
200
200
193
196
290
150
177
201
237
249
228
192
182
238
160
240
308
240
207
203
249
196
237
274
224
264
307
179
152
277
284
251
195
249
323
193
232
271
260
168
300
242
222
240
222
158
214
170
227
198
260
348
224
169
242
215
276
254
269
214
328
284
178
194
250
202
218
245
339
156
202
162
255
238
219
235
175
187
261
179
198
259
200
199
255
262
178
297
296
282
239
114
252
203
166
201
217
261
261
274
247
260
214
186
210
157
215
320
266
140
361
249
298
160
198
277
163
192
219
166
326
189
192
243
256
180
229
268
192
280
160
215
222
239
225
147
259
233
300
246
191
211
249
181
309
235
239
231
166
163
262
282
146
252
223
202
246
191
147
165
193
180
233
148
176
254
232
284
287
126
276
263
242
280
146
211
266
133
243
188
190
300
116
244
255
268
265
226
152
184
262
221
207
247
219
238
217
194
126
219
211
191
209
140
140
229
250
198
225
270
192
214
287
225
235
192
227
173
227
233
275
200
165
235
212
240
235
149
254
174
208
216
286
225
220
337
243
211
263
239
192
200
280
259
270
209
226
244
250
211
281
253
200
288
208
225
291
183
220
172
262
196
185
268
238
268
225
275
218
241
225
202
187
211
222
206
282
291
287
193
184
273
213
212
244
196
202
218
200
298
241
340
189
274
243
198
272
249
225
215
303
335
206
220
268
169
235
252
165
258
220
218
116
220
229
262
178
191
246
207
162
223
201
290
218
235
200
198
160
184
287
262
158
267
148
260
250
193
114
191
319
178
222
214
212
288
201
236
181
257
240
263
303
216
236
191
253
284
238
186
283
184
222
252
247
241
144
266
152
240
218
206
257
144
255
186
229
214
229
214
176
177
310
192
244
250
173
256
250
221
233
193
225
297
154
282
170
165
188
221
157
264
243
221
160
179
242
206
238
210
202
222
295
256
224
198
214
231
280
282
299
237
180
180
211
293
218
208
296
151
239
174
166
219
240
226
175
221
168
210
170
116
282
253
172
161
214
269
271
168
275
234
296
208
192
184
245
255
249
130
174
210
225
208
274
222
173
232
252
175
221
222
220
284
284
194
164
237
261
209
225
187
267
199
198
215
175
258
147
255
207
245
260
201
152
213
284
194
114
285
288
241
194
268
228
232
232
178
265
200
284
186
158
201
231
196
213
280
236
272
317
261
246
144
249
258
216
253
222
248
178
250
247
243
212
229
149
149
212
179
178
191
187
244
178
280
208
283
156
242
282
214
200
239
259
219
166
193
342
221
229
234
139
209
201
251
243
245
219
233
235
228
252
237
278
200
245
217
234
238
226
231
152
173
269
194
257
200
198
324
160
246
156
219
293
225
234
266
210
210
271
256
160
192
309
268
198
164
195
195
303
250
205
229
176
208
208
293
203
216
317
253
235
317
241
246
240
228
267
192
246
242
278
228
346
269
315
200
196
237
166
214
281
303
247
281
252
260
216
213
298
241
246
207
296
250
204
248
212
193
263
220
339
261
282
178
233
238
189
222
196
258
197
221
270
293
209
223
198
217
214
161
244
219
285
245
308
266
250
183
247
192
229
323
246
192
213
196
175
191
173
392
254
288
173
114
260
267
282
257
279
245
287
183
170
178
211
163
210
259
185
283
229
225
236
181
261
181
195
193
206
196
174
284
283
223
263
235
223
247
244
325
197
220
315
153
332
301
209
209
190
189
326
383
239
208
191
180
231
211
178
238
252
229
293
161
170
156
225
192
181
262
229
176
197
243
217
217
242
160
328
258
182
185
254
145
232
173
237
282
171
248
203
240
192
184
232
181
108
230
231
265
195
198
175
350
224
221
275
249
269
227
225
241
244
220
180
161
200
217
271
214
162
211
238
206
222
221
185
293
222
216
255
292
203
185
264
225
242
176
209
229
230
199
198
228
229
269
264
220
175
281
234
128
277
298
199
149
183
225
214
211
322
340
197
205
265
209
240
296
246
286
247
259
195
232
324
247
237
250
307
268
274
264
191
238
271
231
235
234
284
222
336
220
184
309
212
144
312
270
243
205
194
211
171
139
268
278
170
183
233
237
194
327
126
244
207
166
240
232
207
169
250
194
188
286
224
247
230
151
214
266
178
201
247
198
262
170
209
212
298
232
291
145
186
272
213
231
201
254
215
189
195
219
206
151
210
343
214
284
122
208
250
240
282
248
114
273
192
225
222
171
293
184
199
254
210
184
323
227
173
261
195
232
266
114
346
239
204
239
209
266
264
256
221
269
198
194
238
277
202
174
253
268
218
189
241
251
332
293
194
196
203
206
244
237
251
208
240
269
198
245
232
137
202
286
241
152
199
233
270
173
260
114
231
242
161
331
188
246
258
176
285
280
189
243
203
347
256
175
154
185
251
184
266
214
286
214
270
206
221
167
277
202
200
213
263
188
227
193
192
207
246
209
204
175
195
215
207
321
204
208
285
160
232
172
351
186
201
259
218
251
307
234
181
236
218
205
209
266
279
213
199
214
268
219
205
160
213
114
282
209
145
198
197
269
237
212
225
214
246
178
275
151
367
200
222
260
198
237
199
175
149
241
270
241
233
193
185
156
266
257
226
246
259
250
207
205
193
245
214
224
221
240
250
286
178
260
167
209
245
247
225
294
160
178
158
174
181
212
158
217
244
314
240
206
203
229
239
270
263
261
242
165
187
196
207
304
292
216
167
158
172
196
212
193
271
236
165
172
255
207
215
185
167
300
208
225
238
262
267
322
257
216
246
192
242
183
441
179
205
269
270
253
252
236
284
228
221
178
216
251
114
184
240
226
308
277
190
265
114
230
313
217
221
246
253
181
238
126
154
192
299
210
207
238
291
232
188
365
285
144
178
198
201
204
121
197
232
246
200
255
245
184
219
181
260
191
212
233
230
201
265
183
258
277
331
211
201
228
175
215
195
200
204
250
214
297
213
219
231
256
287
210
245
169
190
192
170
250
233
175
218
226
220
187
243
221
193
289
311
279
292
232
245
241
302
273
286
229
230
227
246
301
262
200
250
308
205
233
233
191
249
218
209
243
228
225
160
182
190
249
242
233
224
201
174
312
222
228
174
273
293
261
147
216
229
243
265
231
275
236
317
149
181
283
237
191
300
259
225
245
205
303
295
251
163
215
287
277
280
272
198
243
232
284
291
212
228
203
268
163
266
175
274
175
210
302
213
206
280
317
230
289
188
259
227
231
218
246
114
232
219
284
278
229
190
194
223
297
208
245
186
241
206
191
258
221
226
186
201
237
177
267
273
249
174
205
218
204
259
231
210
203
194
230
225
264
174
189
231
192
259
202
238
231
242
161
297
218
257
268
204
259
193
321
297
192
230
203
207
270
286
154
206
227
264
260
170
241
180
175
179
173
195
241
257
273
170
126
299
239
150
195
307
322
258
248
278
245
235
277
167
152
298
265
268
171
198
251
220
313
255
207
194
223
160
204
292
227
301
243
273
174
106
173
169
161
161
263
281
192
228
255
235
223
223
220
239
144
288
250
290
206
187
154
171
208
231
273
248
252
222
163
205
248
194
279
247
247
170
194
221
187
273
207
191
192
240
238
190
193
220
177
268
173
226
315
126
199
235
251
253
259
276
302
208
185
260
232
266
200
235
204
285
192
201
129
240
279
224
272
194
317
310
259
228
191
243
222
160
325
248
152
329
161
232
139
293
229
236
228
199
182
192
263
263
197
329
202
267
198
271
232
245
181
265
233
242
244
232
245
208
214
283
140
162
235
267
145
194
165
189
232
274
208
169
218
192
169
221
184
316
256
222
177
173
220
210
182
271
176
156
206
238
233
231
245
225
187
201
138
176
281
270
241
156
208
160
317
202
313
198
205
318
156
114
213
229
114
215
235
286
160
114
208
186
126
234
180
210
206
261
193
250
245
286
322
158
220
224
190
228
278
199
232
298
244
244
207
248
276
173
232
169
280
197
198
342
293
223
181
206
235
178
177
261
214
203
309
295
200
221
163
237
229
210
259
221
238
239
217
259
211
283
213
173
220
200
273
194
219
173
216
194
202
273
157
292
208
265
209
267
173
228
275
258
218
222
223
314
175
263
250
245
227
181
186
161
238
217
265
243
250
247
249
245
213
213
218
261
222
196
158
206
265
303
185
231
156
213
217
293
233
176
244
266
288
214
129
179
149
278
230
234
200
282
197
211
214
346
219
234
168
243
183
208
137
239
290
260
207
201
226
221
214
186
242
245
243
231
254
126
284
199
208
256
251
285
306
204
223
240
254
260
177
299
251
332
267
149
197
231
178
308
223
179
189
212
202
292
234
238
293
219
261
167
230
263
258
243
296
191
329
173
190
126
209
182
227
160
189
232
198
214
264
192
259
200
221
264
199
258
170
197
239
263
174
249
269
250
260
220
183
225
214
215
151
228
244
205
224
275
224
224
202
215
249
260
269
328
186
188
214
273
221
208
272
170
288
203
225
277
213
181
156
246
277
279
234
235
144
114
260
262
186
195
247
244
243
163
287
267
178
248
169
225
307
262
285
261
307
209
278
162
203
154
215
235
225
252
116
214
194
297
235
223
219
217
179
232
243
256
170
225
227
181
208
271
269
233
216
253
205
154
224
185
158
226
271
214
166
207
186
152
179
233
188
261
238
222
129
179
182
255
166
296
193
186
205
189
243
234
279
215
191
222
179
261
183
247
304
234
204
284
262
321
185
264
201
332
196
245
177
311
265
256
262
289
164
221
205
196
191
244
241
144
187
282
175
285
193
200
259
266
255
265
248
229
184
192
229
235
230
146
242
227
185
218
261
172
290
213
162
185
237
191
297
126
203
244
306
228
207
209
210
195
165
360
215
252
276
244
341
191
219
173
353
265
221
189
152
340
227
169
262
222
196
236
214
247
222
305
298
207
254
245
240
255
240
260
170
114
152
225
309
296
225
217
114
186
271
195
200
279
258
243
195
240
130
205
185
202
152
204
246
173
167
221
126
228
169
223
232
213
180
235
241
195
198
287
221
184
298
206
220
193
270
253
251
248
198
178
315
180
238
198
229
208
249
182
196
159
308
341
278
205
247
294
197
258
287
286
219
237
215
214
225
239
233
273
222
247
193
185
308
195
223
221
198
141
114
232
245
176
201
153
280
219
228
299
243
241
205
185
329
200
209
283
226
280
259
198
250
156
257
213
230
198
193
287
383
220
224
159
235
288
258
231
249
317
248
274
285
284
242
181
212
204
232
283
200
195
229
288
226
234
233
126
253
246
180
246
213
175
293
192
172
182
247
242
199
265
236
229
254
197
156
199
189
245
249
195
175
213
219
249
234
181
217
186
199
186
206
237
277
203
235
220
234
162
218
225
186
146
296
148
166
239
285
242
189
285
139
246
263
192
230
160
200
280
275
263
235
270
232
224
253
278
306
195
170
298
188
264
228
271
200
269
279
173
232
226
250
252
307
243
172
233
234
167
255
192
166
234
228
173
247
204
249
260
257
283
197
242
241
186
230
212
257
267
220
248
292
186
232
291
192
227
265
305
275
191
291
181
178
214
210
254
207
155
180
245
161
242
226
254
175
225
258
199
195
234
173
222
137
197
305
205
305
285
243
215
235
300
208
225
239
257
114
236
157
265
193
164
300
323
204
207
215
200
206
151
155
266
114
234
189
209
279
266
276
208
262
176
157
265
174
263
258
252
255
200
362
246
222
284
240
219
196
274
180
238
297
114
219
230
319
285
275
165
212
219
333
220
276
254
187
188
273
284
193
243
227
270
265
261
253
240
176
243
213
216
214
278
243
224
181
214
227
203
188
208
221
228
231
215
241
221
195
192
145
259
191
263
214
166
213
221
200
209
220
197
193
215
245
267
256
240
291
181
175
197
219
281
198
256
213
283
219
286
248
159
186
243
165
318
222
249
244
217
215
163
280
144
326
180
195
106
235
262
259
260
282
167
175
261
175
263
244
264
154
274
191
242
169
290
254
235
292
268
208
299
220
218
238
164
274
220
331
298
329
269
229
145
233
225
247
266
202
182
282
214
211
266
225
272
257
288
237
268
288
221
188
208
304
247
205
237
192
201
262
215
198
195
165
184
309
193
211
216
231
207
170
229
248
147
182
197
261
271
238
133
253
312
284
170
203
222
207
223
208
279
251
176
245
257
318
346
218
279
256
239
279
244
129
213
175
209
234
249
226
145
280
276
303
264
270
279
239
190
308
205
228
241
170
235
182
173
253
231
262
318
245
242
192
158
195
160
284
175
220
231
281
173
221
156
235
157
209
211
246
323
208
273
278
277
169
246
261
238
145
184
238
325
218
252
186
192
269
273
297
256
230
237
215
261
236
172
199
193
210
237
333
318
254
155
207
195
277
247
262
200
203
208
201
292
156
247
190
192
202
229
247
164
180
207
244
228
228
245
231
154
165
223
199
203
174
247
289
235
206
175
251
217
185
183
236
229
304
235
210
222
230
159
319
213
231
235
272
191
170
188
228
214
201
273
205
309
240
226
133
367
160
219
219
173
293
187
229
208
226
231
232
222
323
144
341
255
193
282
183
212
189
226
161
175
248
279
318
256
202
230
262
246
167
256
217
262
207
241
288
207
249
253
270
284
248
170
221
330
226
192
204
198
182
261
318
233
216
166
170
234
264
181
269
185
201
243
216
258
267
139
241
178
253
252
126
309
264
237
242
252
215
231
214
263
247
252
244
203
126
210
243
229
206
175
198
292
206
264
214
237
260
183
208
223
258
321
222
316
165
145
126
246
196
222
250
215
216
189
176
203
270
193
177
249
225
207
255
211
251
244
219
283
217
234
299
288
126
188
171
207
188
215
278
281
219
196
204
246
260
211
222
256
211
271
212
187
231
181
289
199
269
236
187
179
294
315
196
184
176
283
193
227
214
229
238
175
185
194
185
244
187
177
233
176
171
264
222
174
249
221
301
205
226
255
194
245
146
160
216
238
121
163
240
265
176
234
217
233
225
279
303
178
266
250
222
174
202
212
170
195
200
225
149
177
199
248
180
310
179
260
169
268
248
267
222
305
198
195
252
252
242
176
226
266
201
187
267
295
195
188
213
213
260
198
291
175
184
220
233
151
208
210
195
245
173
283
266
220
114
235
200
291
212
248
227
165
174
276
307
241
223
207
208
129
126
206
237
194
169
172
249
259
232
228
241
146
208
259
291
228
246
177
224
264
152
250
236
141
279
189
176
215
176
198
250
214
260
171
219
296
274
253
205
193
241
268
240
205
208
256
156
227
222
122
249
198
222
319
196
264
215
260
248
184
214
341
261
160
147
291
233
190
208
180
170
237
221
239
222
201
306
215
231
228
232
199
154
182
184
298
304
129
182
202
220
231
225
229
208
247
217
174
235
161
243
248
208
138
235
218
170
248
210
215
259
278
296
170
191
191
225
268
114
185
239
217
161
290
202
266
237
199
206
114
187
204
208
215
250
231
263
247
265
266
307
240
313
195
191
194
235
277
228
243
280
179
264
179
239
225
193
186
354
170
247
197
236
195
195
121
178
233
215
195
209
200
175
251
211
164
231
253
208
276
211
247
192
266
180
247
221
185
195
235
231
258
259
224
286
229
263
231
283
246
228
189
216
267
291
277
239
276
199
200
269
278
217
269
184
204
251
256
182
243
178
178
249
260
236
200
243
201
265
158
175
188
312
211
156
254
206
200
323
285
139
306
232
296
182
255
187
174
178
247
281
258
309
154
208
223
170
253
194
180
253
152
170
237
238
297
220
321
222
151
234
242
197
265
311
303
218
146
237
230
184
215
275
159
257
216
162
245
166
224
318
215
213
223
248
201
233
181
253
274
221
139
204
218
265
206
242
181
235
279
252
194
215
270
192
201
227
227
190
220
231
211
231
133
366
215
198
227
146
243
266
243
159
223
154
149
114
259
246
306
185
185
211
248
257
191
291
177
273
150
260
291
242
277
169
244
273
232
234
165
227
176
222
234
126
154
215
232
278
289
264
213
181
241
148
286
250
231
228
288
281
219
229
279
282
294
257
209
284
227
284
204
185
252
234
199
319
193
146
207
287
146
203
241
242
191
273
213
164
260
278
279
171
195
271
116
198
213
297
214
245
165
253
219
250
208
206
205
178
229
240
282
201
165
262
208
341
282
129
204
264
263
204
231
174
219
261
166
293
249
299
215
190
310
255
156
237
224
251
223
228
191
295
209
162
253
245
180
175
215
298
151
114
203
257
169
239
178
214
172
273
270
260
237
218
221
291
296
263
235
208
297
259
227
213
243
244
256
161
236
235
202
176
247
175
225
290
178
228
213
196
235
250
197
222
158
214
245
283
203
234
178
160
198
195
245
193
241
242
244
185
203
265
294
207
236
197
218
224
222
154
206
229
261
158
248
230
255
213
306
170
261
196
289
210
196
202
291
264
263
217
214
156
250
252
282
237
126
276
266
156
182
236
157
191
252
164
221
210
239
221
266
236
241
144
222
214
255
201
190
233
171
225
196
198
215
215
276
173
176
294
198
265
174
206
139
193
170
219
228
232
279
335
238
292
223
220
160
148
180
216
256
203
217
218
273
208
235
218
160
230
179
275
173
222
235
354
221
232
173
264
237
268
244
218
226
168
213
235
265
236
226
203
214
160
275
177
221
202
228
311
173
147
195
192
252
250
242
247
255
323
259
226
210
260
277
211
214
171
250
189
219
265
232
195
235
202
171
191
218
223
208
182
188
263
242
253
200
160
227
250
227
154
224
170
156
156
293
177
221
226
202
279
254
283
248
280
197
239
268
209
167
212
249
252
303
205
180
152
251
178
243
260
208
181
238
301
162
202
255
156
180
269
188
198
342
315
211
230
184
241
195
241
250
276
223
162
168
221
259
195
144
232
219
244
226
242
190
147
198
261
146
207
263
256
324
255
243
189
269
261
205
165
244
229
235
158
283
169
211
238
261
144
227
156
287
187
169
181
204
295
176
156
205
237
306
238
257
192
236
169
108
241
215
271
189
114
237
233
293
248
224
258
171
216
199
275
208
199
258
272
255
191
244
234
156
169
187
278
219
191
237
254
333
307
240
295
211
293
318
207
218
172
260
213
236
285
139
260
197
259
252
197
244
328
200
216
233
221
224
183
234
195
190
267
222
191
305
188
262
114
197
246
232
211
116
200
278
318
306
219
114
200
266
229
237
247
179
211
151
266
224
230
170
280
233
210
217
153
162
196
178
201
229
165
179
217
238
251
270
250
181
307
250
200
193
162
220
200
245
114
286
186
213
258
293
126
145
223
220
272
252
185
258
169
357
199
152
240
221
164
184
238
233
247
173
309
242
267
231
192
202
259
191
251
222
170
226
232
207
233
216
255
176
192
187
241
313
234
271
276
200
272
328
209
227
215
227
210
245
217
210
183
208
116
221
242
193
204
157
237
197
197
286
222
228
311
156
234
208
227
192
199
293
264
210
247
221
191
175
240
181
278
217
184
230
161
271
263
170
225
292
176
252
186
145
242
171
244
300
231
235
279
181
213
236
257
157
247
205
179
171
225
207
271
231
211
226
270
185
256
297
241
219
192
240
164
174
240
240
292
203
224
208
221
203
114
280
248
197
218
217
205
245
203
168
133
204
253
226
206
273
214
200
200
255
151
198
281
214
261
219
216
210
286
260
179
224
223
207
283
283
296
211
236
222
157
220
282
241
226
193
203
228
227
252
298
208
243
285
173
290
265
241
206
183
229
244
251
297
230
295
170
244
207
253
243
291
181
182
190
221
188
253
192
259
272
186
238
191
239
207
194
293
215
258
314
263
175
121
215
263
309
227
259
180
267
162
198
209
284
160
263
227
259
243
167
189
246
271
174
188
205
139
184
192
221
255
258
174
280
233
227
218
271
161
170
238
249
254
229
232
129
181
156
170
265
293
222
240
289
229
246
227
197
197
222
247
229
242
121
168
200
284
108
248
244
196
269
195
262
256
200
168
307
244
293
285
237
193
114
225
234
181
206
280
225
264
168
220
229
145
213
254
196
160
292
230
219
176
229
235
309
301
192
222
275
160
269
245
207
193
277
227
177
260
211
224
139
270
249
203
245
207
216
261
193
281
237
246
334
198
196
178
339
183
228
322
264
255
198
154
210
260
240
214
214
207
220
315
256
184
160
220
240
225
262
175
194
180
280
257
229
230
218
266
275
254
181
289
295
158
178
253
221
195
244
163
201
207
234
229
255
233
239
269
233
114
207
220
266
239
191
269
277
220
194
252
207
195
222
290
208
244
208
156
198
232
231
215
146
275
258
253
235
158
262
249
145
223
327
215
192
205
213
234
254
207
239
254
174
223
229
230
201
295
126
238
192
204
267
215
252
186
114
186
176
207
193
235
161
227
160
236
313
269
191
224
193
114
198
208
247
237
234
231
165
231
198
206
179
242
271
149
230
266
209
195
174
178
232
221
241
237
253
231
310
299
235
197
244
267
211
151
175
259
174
221
201
214
236
255
231
299
244
240
227
197
247
219
234
160
175
286
213
255
214
223
214
174
195
210
245
213
210
201
247
209
114
280
223
261
167
301
237
223
262
181
234
208
236
196
240
213
186
198
203
182
180
271
206
170
212
191
144
249
180
161
277
218
230
206
230
188
225
234
219
177
205
207
209
192
169
253
213
230
279
224
195
207
283
198
212
212
198
181
246
219
224
310
237
207
184
145
174
186
203
145
149
175
176
284
184
208
262
212
245
178
170
220
268
188
228
161
234
143
180
266
273
186
318
226
238
294
228
279
236
248
295
196
242
179
156
282
246
211
198
221
274
159
189
180
243
217
213
261
254
270
256
199
217
234
251
270
199
219
173
243
185
256
249
178
211
164
217
279
182
194
213
215
188
222
220
288
311
198
252
237
203
210
194
188
271
292
241
186
220
184
221
238
221
296
256
298
252
243
192
241
191
203
287
324
239
196
198
157
204
202
252
214
199
272
220
175
281
293
218
276
291
225
237
322
232
250
332
235
169
196
197
271
210
203
208
263
292
202
263
325
217
241
170
181
157
202
242
360
192
294
228
280
232
232
221
195
270
262
250
216
224
154
209
268
217
305
155
260
342
237
222
174
243
278
133
114
225
212
244
195
282
244
243
256
198
244
213
195
145
245
259
201
236
308
197
275
151
218
250
154
250
261
243
201
194
212
222
196
241
204
156
211
279
217
239
252
269
229
229
248
221
216
161
184
226
231
314
219
311
244
327
238
205
247
217
189
260
257
194
250
160
225
298
213
225
225
212
234
362
266
274
288
369
245
180
243
289
238
227
130
239
243
256
152
196
278
148
207
343
215
159
234
223
266
269
220
266
274
126
206
243
137
231
241
242
237
160
217
206
207
173
239
183
208
257
325
188
255
205
313
217
236
255
223
215
250
219
186
260
233
228
320
260
268
280
215
198
194
205
263
218
180
195
182
250
300
230
216
319
220
179
230
217
231
200
220
299
226
287
200
243
227
235
232
302
275
249
236
301
147
237
326
230
197
272
207
245
262
260
191
181
257
200
217
116
275
121
243
198
194
181
228
203
228
260
299
213
225
179
244
241
266
144
283
232
243
158
165
169
215
251
230
188
219
201
230
284
215
167
225
207
326
241
234
225
240
173
252
203
201
178
162
224
250
129
175
152
190
296
266
211
263
198
248
163
273
226
179
323
159
114
199
225
140
253
222
240
266
186
187
329
254
152
296
226
212
259
207
232
174
243
162
148
166
165
198
182
228
268
256
299
259
197
213
201
181
263
203
263
222
234
340
149
218
254
270
145
316
166
250
205
189
152
271
154
282
114
114
139
214
291
210
286
154
229
245
181
233
278
240
180
207
223
214
234
245
246
219
283
156
249
245
151
204
195
180
191
199
273
226
262
187
246
317
231
218
270
181
214
326
173
311
231
233
229
217
230
261
289
229
198
183
250
276
185
209
189
235
233
108
256
314
212
192
197
114
201
186
266
253
233
156
195
217
175
192
203
311
234
214
306
297
210
202
177
194
207
257
244
202
308
218
280
177
213
272
242
167
281
285
275
194
231
180
210
241
190
232
207
274
235
190
221
241
162
227
267
177
157
333
205
253
238
219
254
227
236
234
228
222
324
265
209
219
199
172
261
281
195
202
210
271
213
246
264
302
278
170
306
151
268
241
194
252
146
298
114
195
232
149
260
233
188
312
181
263
212
241
220
295
226
274
206
197
208
192
200
274
296
201
202
237
228
261
202
208
226
248
221
307
262
227
192
303
243
193
188
292
191
237
212
234
246
257
144
256
284
187
239
287
274
211
215
174
250
181
309
282
245
215
220
146
250
161
289
178
248
160
252
187
159
216
198
195
160
190
156
196
172
276
169
285
139
193
294
314
164
178
114
251
196
265
175
151
168
170
178
219
227
274
302
194
237
224
296
193
262
219
233
170
258
212
229
233
244
149
242
222
188
198
245
271
152
208
250
274
297
156
168
296
309
234
176
217
209
223
230
181
235
187
241
196
210
185
214
228
233
299
193
226
266
166
152
223
266
310
212
169
219
169
218
165
233
173
246
222
181
169
240
270
232
240
210
226
190
196
232
267
296
212
373
181
160
206
273
223
286
200
220
240
288
241
261
247
229
199
308
216
292
179
293
213
274
235
285
173
348
180
263
233
241
300
192
252
165
209
226
227
210
291
223
258
178
194
257
184
308
121
242
182
266
222
179
267
385
191
273
364
248
301
285
208
207
250
222
246
192
220
286
250
173
270
281
265
152
300
167
181
200
167
197
241
313
202
219
215
192
289
229
151
292
260
245
250
271
232
241
208
247
216
139
224
183
283
163
216
165
156
264
192
250
203
225
366
359
151
231
166
219
269
282
294
225
221
198
248
298
204
237
235
222
248
239
286
276
181
308
243
272
231
175
176
226
213
234
264
296
299
204
170
231
221
228
207
239
181
225
203
255
184
244
209
212
257
259
246
168
282
139
207
265
201
219
273
331
242
225
282
306
358
167
274
202
249
280
279
185
256
203
206
297
144
256
225
326
262
160
245
258
247
233
241
214
256
209
242
281
149
230
163
217
238
238
158
284
240
271
219
239
144
165
197
195
197
297
267
221
200
220
224
228
276
253
223
236
316
215
217
207
243
215
248
152
226
219
181
194
177
293
182
191
194
193
281
340
238
166
220
219
200
220
208
245
162
275
256
220
114
178
229
258
217
237
219
287
157
336
223
220
263
180
226
231
269
145
301
249
206
324
213
281
195
266
184
196
196
224
200
239
198
114
222
212
200
224
168
275
255
270
330
270
294
203
223
173
176
302
207
151
203
156
221
309
198
204
233
207
193
207
229
217
203
179
219
204
201
224
274
223
160
206
161
241
229
192
279
192
306
278
215
298
205
267
185
226
285
193
319
203
226
253
311
228
191
320
242
252
214
174
254
173
220
264
260
231
268
214
168
184
168
160
265
233
318
305
220
282
209
193
242
114
183
224
227
182
328
222
203
178
276
223
173
271
248
208
241
180
228
246
303
267
253
294
213
195
191
218
209
175
255
200
289
181
251
227
250
266
183
228
229
279
312
173
254
221
195
177
228
144
190
296
250
223
221
185
226
279
180
209
227
263
228
175
175
233
182
254
173
253
186
220
198
264
167
156
274
207
207
245
188
232
271
179
243
225
263
291
257
258
272
303
250
238
238
271
129
106
290
201
208
279
219
237
188
244
233
276
222
298
209
243
235
197
238
263
251
289
206
190
247
196
197
213
193
258
318
198
234
213
203
248
171
204
189
190
237
178
163
175
204
241
238
206
239
178
137
173
214
243
114
248
160
228
205
314
194
239
181
277
245
219
114
269
145
281
182
277
246
255
152
198
279
237
181
194
209
230
392
239
208
219
207
198
161
236
281
199
181
203
126
254
257
204
246
248
205
244
245
234
181
198
227
239
190
255
229
166
201
171
231
203
333
218
211
268
287
199
184
189
126
224
239
165
183
293
280
207
309
202
216
149
254
257
232
216
224
262
231
180
203
182
190
161
145
210
158
198
235
160
291
170
287
180
283
256
183
160
278
246
281
170
340
177
160
211
262
106
193
144
192
208
249
291
247
185
282
225
235
209
302
181
271
231
236
209
222
192
173
245
242
243
193
256
180
202
261
216
254
263
233
180
212
199
248
199
249
253
258
212
309
156
213
173
196
272
178
238
393
237
171
173
187
213
166
185
201
259
217
180
202
144
238
279
312
267
239
192
262
307
250
182
241
197
221
217
341
278
203
273
243
262
217
244
193
210
216
286
160
213
217
244
253
229
181
208
202
201
258
246
193
164
174
248
221
161
202
255
252
182
254
228
236
271
173
212
218
213
265
212
229
195
197
263
201
272
206
160
260
241
214
184
206
314
294
279
193
296
266
220
262
266
217
198
239
203
232
282
197
202
139
219
223
265
246
151
226
209
200
243
266
291
238
170
168
289
177
189
198
173
256
210
296
218
195
216
151
212
248
210
225
204
259
233
158
216
185
240
268
200
212
235
270
183
247
255
223
253
245
212
231
229
232
149
195
268
220
242
290
231
186
167
194
248
218
187
235
203
212
222
162
230
202
304
221
240
149
162
209
193
224
222
221
180
238
230
242
280
206
167
257
253
195
222
204
244
220
278
234
236
223
193
247
223
235
302
250
202
235
231
225
158
174
283
250
226
178
220
239
197
184
260
300
158
300
204
241
220
260
251
258
160
298
264
275
195
280
174
232
182
257
255
192
197
238
234
195
249
207
203
179
178
215
186
215
114
266
247
278
211
331
300
148
261
229
182
250
332
140
219
149
288
208
250
220
235
229
192
201
114
252
216
225
331
216
196
269
238
249
303
169
218
265
239
151
220
254
224
278
174
232
242
249
214
262
154
286
208
333
208
193
239
220
224
162
365
220
198
157
191
251
301
205
222
253
243
332
287
220
207
264
248
297
260
274
252
231
214
271
206
234
223
190
225
114
204
282
219
259
219
276
200
308
213
196
295
234
197
306
205
249
288
166
166
198
191
226
187
249
224
169
348
298
264
250
179
200
261
236
218
243
114
271
290
306
205
277
212
241
190
201
230
256
210
314
218
202
238
246
269
276
260
263
233
196
244
198
223
183
215
296
203
219
202
214
251
226
226
191
304
186
295
235
175
170
209
243
181
231
163
152
252
191
266
254
220
216
179
262
286
222
251
332
356
158
200
216
194
221
267
193
144
218
161
213
114
171
252
240
199
207
225
162
277
195
248
210
208
191
257
189
258
283
268
205
260
211
360
235
261
285
252
247
280
286
257
261
197
243
303
260
170
164
227
175
249
246
329
177
297
228
284
139
193
212
216
250
282
173
241
196
235
106
245
255
238
234
271
250
311
239
266
272
253
243
154
228
180
237
218
219
235
238
233
172
265
194
249
263
198
280
261
260
234
174
243
162
233
207
231
173
227
299
200
240
230
250
173
160
151
224
198
312
257
213
180
216
311
202
171
244
283
200
207
221
256
243
254
206
242
191
209
278
178
152
188
243
201
293
195
166
216
276
260
200
246
155
339
170
238
226
282
218
169
197
204
273
244
114
301
323
247
260
215
192
222
255
256
220
181
286
271
225
197
174
200
201
188
160
185
218
180
246
240
220
210
262
181
192
230
219
232
202
221
227
212
256
249
205
218
229
220
219
271
198
256
286
251
244
170
279
281
236
180
183
258
257
263
256
263
191
246
207
288
248
225
121
298
178
247
239
200
268
269
241
198
206
194
201
164
202
129
231
247
173
249
220
207
253
191
232
138
157
289
272
256
170
228
166
341
194
204
173
226
228
196
174
273
231
116
363
260
228
196
263
156
222
208
229
222
209
261
197
197
269
296
207
262
165
257
144
142
229
221
195
211
202
354
211
166
319
235
251
231
210
175
234
215
166
261
257
233
287
265
221
196
306
235
218
220
216
256
217
231
191
214
241
218
114
272
301
277
213
308
247
206
225
207
318
198
236
189
246
216
262
231
251
139
175
283
245
174
252
187
247
228
316
160
228
193
226
241
284
259
223
315
201
250
245
255
296
225
323
211
187
238
211
195
253
213
223
181
126
243
304
235
190
289
196
170
175
145
226
348
211
156
193
322
222
202
227
249
212
315
207
192
264
165
175
283
232
236
181
251
221
262
221
198
212
129
167
196
250
296
265
257
192
293
190
203
240
240
183
251
240
225
168
344
223
256
199
197
220
286
240
214
191
166
246
200
241
189
243
204
216
193
242
287
157
233
255
224
261
178
255
191
250
274
218
221
228
198
114
282
219
238
248
189
192
291
160
145
175
207
205
258
181
116
232
156
256
260
170
202
212
180
242
208
204
243
202
285
208
233
114
223
189
207
192
295
219
218
207
175
248
197
193
195
219
258
212
160
156
305
196
293
256
189
252
245
219
230
225
284
222
271
230
229
191
244
289
349
232
250
259
234
203
216
219
233
225
254
163
173
260
254
231
197
198
254
235
152
272
225
233
222
185
205
206
260
250
278
262
197
191
240
179
215
271
181
258
193
327
175
264
236
203
290
242
139
220
282
280
297
175
184
188
286
236
301
272
147
209
235
226
295
250
260
247
209
261
198
219
238
332
208
280
191
214
237
139
263
201
282
195
214
238
186
193
214
184
223
201
200
232
183
170
169
184
240
214
273
191
275
256
243
210
255
226
223
244
226
194
254
312
248
235
229
297
201
236
210
218
207
227
284
229
152
189
187
233
269
106
166
276
260
230
247
233
175
251
192
154
192
228
217
207
277
191
222
204
214
279
277
214
203
261
297
279
202
234
237
144
144
234
226
218
262
249
209
281
181
316
286
275
166
219
272
237
312
277
244
213
146
292
248
281
252
185
194
169
173
228
224
220
234
196
172
228
256
232
215
193
279
260
230
273
231
192
201
206
164
192
309
295
189
243
330
180
272
199
280
220
156
173
225
241
185
256
235
294
200
236
176
234
170
214
196
304
114
181
265
246
178
254
114
262
206
151
194
233
274
237
305
211
311
245
330
218
279
239
227
329
275
249
206
218
202
184
169
312
225
193
266
238
256
229
306
122
193
234
229
245
288
195
193
228
195
256
360
221
214
222
295
204
292
176
225
268
194
200
202
239
210
158
243
221
227
285
203
200
251
244
227
272
191
253
286
207
279
229
243
320
233
208
225
237
174
286
165
240
231
211
267
183
235
240
196
157
240
214
266
184
269
277
205
192
228
162
241
275
172
212
206
315
222
207
262
242
197
231
169
233
268
216
200
230
267
262
299
250
201
206
240
211
228
198
230
241
258
245
207
301
201
228
349
203
139
188
276
277
280
213
200
233
160
224
204
206
290
306
178
236
279
189
172
260
170
396
212
181
270
223
304
183
276
216
219
267
255
206
192
190
230
256
194
245
284
213
262
265
211
207
315
284
207
172
156
202
217
256
239
228
241
214
207
205
253
202
237
174
161
214
288
162
211
256
224
333
229
208
216
256
213
221
241
301
270
196
219
225
259
254
200
267
295
222
258
226
149
186
225
196
216
213
232
262
166
152
175
283
246
235
272
234
213
149
200
192
165
290
210
183
262
196
263
219
257
260
216
265
272
227
165
216
276
225
230
203
247
257
210
168
276
167
246
210
246
211
195
180
220
273
283
182
175
260
172
235
191
299
349
203
216
238
336
231
187
180
192
190
293
210
264
219
260
212
151
300
240
232
239
178
321
167
273
246
195
106
167
179
223
203
286
222
173
192
238
319
210
221
173
275
218
244
228
266
177
233
162
167
176
251
226
239
202
270
246
288
201
192
197
262
198
266
133
253
317
171
215
315
262
235
262
272
244
223
293
193
192
276
175
234
276
184
343
187
200
317
287
173
180
212
139
257
160
222
233
282
251
192
247
366
234
200
215
202
219
197
311
261
186
271
218
246
240
226
214
196
166
219
179
274
185
198
222
255
235
204
280
193
253
183
169
114
218
193
198
205
224
184
215
257
197
198
305
221
239
235
172
176
171
238
166
222
203
331
246
206
186
158
177
228
247
191
245
182
203
161
213
201
236
169
273
327
146
243
222
192
207
156
245
222
209
250
182
222
216
234
240
255
320
220
234
245
221
217
266
227
226
238
214
231
202
280
230
199
204
268
233
246
255
322
220
184
251
169
188
279
183
178
263
211
205
217
181
200
240
305
224
208
208
199
181
296
222
222
214
261
216
143
268
219
235
265
179
247
263
149
170
214
249
160
161
271
208
223
256
168
298
215
214
158
274
213
185
219
145
217
200
248
181
166
283
225
256
240
197
231
268
240
198
236
181
214
152
286
216
189
222
169
178
245
257
204
279
324
238
236
211
361
253
222
202
185
224
225
171
234
182
265
225
226
212
280
156
275
225
272
177
192
270
222
173
259
211
204
256
145
240
153
230
114
176
275
256
114
271
229
258
243
174
255
173
187
188
212
256
254
280
168
189
229
206
287
193
206
300
266
228
249
234
213
216
202
152
202
250
211
283
214
243
186
263
298
233
242
202
237
242
228
273
212
306
213
211
202
244
214
173
244
284
244
226
235
207
242
178
161
222
247
252
234
130
211
226
207
244
223
228
355
229
297
249
208
161
174
256
192
306
193
193
232
212
232
196
286
194
231
245
293
243
181
202
263
285
222
276
267
209
154
194
202
307
184
251
243
173
218
309
271
251
220
304
236
175
247
203
246
234
160
129
222
193
339
106
231
237
193
231
270
305
215
237
215
194
247
254
233
237
313
238
231
177
214
246
221
304
249
221
220
239
232
211
206
268
245
196
199
165
242
220
266
306
184
352
190
148
219
182
228
297
209
239
299
234
197
211
200
263
310
216
173
206
172
189
267
267
257
261
145
205
270
245
295
183
189
216
177
237
114
160
210
225
163
251
175
251
240
223
195
270
238
146
200
212
258
295
183
302
235
263
261
219
263
216
200
160
174
106
266
231
277
163
232
247
285
285
200
189
258
210
306
269
178
290
189
238
236
222
277
215
192
216
178
221
228
256
249
218
203
283
169
229
228
291
233
272
248
166
190
214
282
235
245
205
239
260
216
225
351
181
210
219
260
306
170
244
293
234
284
170
167
257
210
251
293
315
199
284
249
160
185
191
195
287
247
206
236
298
175
262
234
278
195
238
246
245
234
235
251
213
301
217
207
246
191
209
356
170
311
266
192
238
215
194
192
114
231
248
300
258
243
204
173
238
237
208
261
290
194
197
276
223
215
184
272
227
260
222
207
272
243
253
251
208
152
358
239
170
237
244
244
226
233
204
148
213
240
234
179
223
274
205
158
210
255
213
293
235
181
191
155
194
241
217
152
231
147
302
238
245
253
273
244
282
236
281
231
188
247
227
247
181
226
280
242
211
221
233
208
210
252
152
214
214
177
166
206
295
171
231
187
287
169
282
191
188
284
195
193
193
203
239
214
147
248
209
116
236
206
334
204
228
292
213
195
241
114
170
145
193
270
192
292
307
185
182
237
232
195
233
275
189
280
252
246
207
114
172
203
182
235
114
180
245
219
160
261
257
151
174
223
247
235
214
295
255
196
204
203
308
261
226
247
287
270
278
196
269
277
250
210
199
201
178
229
177
193
210
249
228
252
256
192
261
234
256
280
279
297
225
224
181
310
224
301
243
198
108
152
232
163
242
192
208
236
181
262
217
224
239
211
242
248
246
180
189
144
277
221
209
165
219
233
219
220
219
255
259
220
219
161
250
206
316
192
166
203
254
345
144
170
238
232
203
247
259
189
166
233
222
154
257
116
257
164
200
216
203
170
213
346
201
233
207
225
248
235
215
262
227
196
179
189
213
238
231
188
261
292
215
162
285
211
169
190
296
248
157
261
214
223
264
226
234
191
295
216
230
260
271
236
283
238
198
277
184
214
284
214
286
278
251
274
210
175
230
173
227
262
277
170
219
278
224
225
175
262
192
238
186
207
196
292
199
226
211
225
173
292
246
255
241
198
193
258
222
243
282
261
270
189
261
216
201
318
160
246
248
216
252
200
233
201
149
169
203
181
199
230
284
172
206
212
151
114
190
254
130
208
223
185
217
203
229
278
229
155
194
162
214
256
248
126
292
257
192
248
214
257
279
222
179
255
347
261
281
271
242
224
259
173
241
235
224
224
252
158
218
207
282
242
197
225
207
219
210
265
255
234
161
217
253
182
181
231
140
233
216
184
252
114
238
205
345
232
170
288
213
173
139
247
205
233
275
239
215
235
284
282
183
304
200
147
236
267
241
246
169
188
250
168
238
227
329
254
258
316
296
315
205
160
299
178
215
239
245
271
181
226
160
265
251
202
180
202
275
251
241
242
237
205
234
295
274
144
187
139
235
203
213
253
243
191
277
259
215
194
209
280
246
234
265
241
165
214
198
160
277
207
252
170
217
286
246
164
175
198
253
283
222
151
226
217
243
233
206
235
269
204
170
211
209
270
258
223
161
255
260
183
269
212
243
184
238
274
271
151
228
228
259
228
173
280
152
305
270
231
215
226
247
173
208
312
260
114
267
209
266
187
288
241
176
151
206
232
114
225
114
208
315
217
178
145
219
191
231
279
246
209
194
169
247
285
295
179
251
217
209
207
151
180
209
247
218
300
252
224
197
245
254
262
294
207
287
290
157
330
139
220
209
215
228
156
219
253
253
147
219
229
312
231
184
165
211
145
210
265
210
219
227
212
196
230
238
167
224
215
241
268
243
262
224
232
234
182
228
285
219
332
195
164
214
345
358
232
180
205
121
235
211
225
188
245
281
276
203
230
307
223
226
235
192
180
226
281
260
195
255
220
210
242
207
139
162
243
185
213
222
179
213
285
221
279
158
161
246
173
164
235
196
270
259
116
254
233
265
214
206
212
181
214
231
188
232
208
208
197
255
257
233
182
245
166
213
251
182
267
275
267
197
141
288
222
178
133
175
303
139
190
313
285
202
182
114
114
181
279
223
290
192
203
252
175
193
211
161
178
222
255
215
167
129
294
209
214
196
201
277
263
267
139
249
244
236
258
303
203
225
247
196
232
189
193
235
212
250
272
253
304
114
181
199
261
263
207
196
219
243
145
247
211
267
190
170
227
238
168
185
201
241
300
169
217
215
202
294
315
265
224
195
198
281
191
228
247
222
116
249
193
176
202
217
166
182
254
201
244
230
224
272
194
261
285
235
292
270
249
224
263
236
201
151
229
208
149
222
158
255
191
139
242
234
239
220
215
233
210
180
255
114
244
209
284
279
182
208
292
238
194
276
157
232
262
214
256
196
248
175
259
156
166
239
253
182
220
192
238
181
236
267
279
206
192
253
173
176
224
177
270
245
252
206
237
284
229
226
152
243
262
213
239
259
181
243
288
200
163
301
218
235
297
221
198
207
238
160
208
251
200
198
295
282
239
246
149
242
262
221
265
209
216
228
224
189
208
239
184
173
214
180
198
195
220
156
152
265
184
185
176
228
221
210
234
262
200
189
232
145
221
184
201
185
218
187
232
248
243
332
368
282
195
228
265
283
202
239
223
228
203
283
250
242
218
188
237
279
194
268
192
196
239
214
181
217
235
197
257
225
243
219
216
193
174
171
166
178
211
178
267
149
215
196
206
114
208
206
324
228
180
176
229
193
175
223
275
126
185
213
261
251
184
249
216
201
267
213
246
283
306
248
152
270
181
281
222
238
196
233
220
276
114
204
134
225
170
216
189
108
247
287
234
295
248
263
218
282
280
151
243
286
184
299
152
133
214
216
210
280
155
180
229
250
227
269
189
198
258
249
228
165
190
222
166
265
193
180
269
173
222
121
229
214
198
258
179
201
177
202
227
271
175
196
200
179
211
268
229
277
205
265
239
180
172
306
234
260
184
116
232
280
288
220
190
293
273
260
257
226
183
158
292
133
303
212
283
183
245
165
233
300
256
268
193
222
172
243
152
308
233
222
227
220
225
178
208
207
141
301
227
267
226
267
270
186
311
220
221
256
226
236
203
173
158
204
193
271
201
114
262
186
139
278
193
188
250
285
266
183
257
302
261
224
259
214
251
293
161
256
114
247
277
218
179
279
234
215
227
277
236
164
200
203
255
179
233
248
206
289
222
228
213
284
210
205
322
222
279
171
272
268
185
257
220
253
202
221
114
168
212
306
202
223
237
392
177
246
280
218
179
300
149
245
224
192
106
200
235
213
209
350
272
225
229
228
244
188
226
216
293
261
226
244
206
217
251
174
219
258
231
227
234
151
200
254
168
223
216
235
216
154
214
269
241
145
197
156
193
183
223
242
197
281
178
232
178
194
236
156
280
231
198
271
249
208
160
195
218
170
199
243
224
161
158
257
316
154
200
266
177
305
218
266
282
269
207
266
158
179
293
233
176
210
214
195
254
268
188
205
233
195
227
268
234
230
263
114
243
271
247
167
211
198
270
256
215
228
249
249
243
175
224
245
181
171
298
256
152
199
178
203
193
225
257
245
196
251
210
322
200
143
295
194
256
242
230
233
225
218
231
243
255
215
276
184
288
235
209
263
151
162
261
215
187
272
161
222
176
281
196
198
185
240
218
238
249
181
161
287
227
184
238
308
299
238
238
215
199
198
219
147
191
160
305
171
156
261
266
242
243
225
200
313
205
184
237
211
213
236
151
258
210
205
241
287
121
298
287
271
156
223
226
186
181
277
164
223
252
280
261
299
250
271
209
114
228
201
277
177
233
292
156
210
178
224
191
284
208
223
219
250
231
302
236
266
177
205
184
256
285
205
261
208
215
272
225
147
199
252
226
169
241
262
148
199
175
255
145
191
193
230
215
246
208
306
202
232
173
273
274
245
259
248
193
248
219
267
244
199
207
201
262
146
274
194
200
169
236
306
257
180
213
201
208
281
148
255
250
228
164
206
249
255
231
238
148
251
293
190
224
271
278
256
235
169
165
264
297
269
299
259
243
178
265
237
247
197
291
169
185
295
139
260
270
200
229
218
269
228
114
159
282
267
287
207
282
222
261
309
186
167
188
269
194
240
195
200
255
308
207
212
296
256
227
200
223
219
244
256
289
265
208
254
244
191
176
243
130
170
211
186
209
173
204
205
220
288
313
182
195
293
220
201
327
214
114
180
223
190
248
181
233
235
176
167
221
335
173
225
242
263
196
287
265
130
231
280
162
220
308
207
253
229
288
245
261
191
197
221
213
225
272
227
228
220
210
316
211
263
181
227
238
242
218
170
312
162
215
229
178
195
228
194
168
344
262
253
237
166
216
240
223
282
218
197
263
203
220
261
191
210
238
278
206
224
237
241
299
176
264
212
202
265
272
213
223
280
257
279
237
189
251
158
255
168
216
202
205
208
146
186
207
218
207
191
257
219
326
236
281
216
303
247
246
211
224
242
223
274
191
198
187
212
215
232
170
253
284
219
116
221
175
213
335
165
223
240
278
217
192
219
254
238
144
254
183
231
139
147
196
228
269
224
207
114
221
202
300
174
222
247
234
230
298
210
255
256
175
178
202
242
207
232
156
207
224
230
178
210
232
278
219
160
217
241
198
205
148
280
194
147
264
276
264
242
225
297
214
277
249
227
169
216
257
269
177
181
234
243
139
242
161
233
160
211
262
180
265
241
228
222
246
321
151
288
152
195
205
198
194
217
198
263
220
297
156
245
270
108
246
291
195
191
162
238
156
255
289
276
188
209
170
247
240
220
217
222
221
214
180
246
209
189
227
233
247
215
181
222
255
169
200
160
219
211
260
282
216
245
303
206
162
242
154
239
270
226
223
156
234
290
187
213
184
222
264
240
229
218
267
198
223
253
225
228
212
153
201
190
249
269
209
216
244
218
145
270
276
235
208
256
208
186
262
330
245
151
241
194
250
221
191
173
316
219
246
216
174
239
208
280
164
247
206
173
289
178
126
259
334
247
271
202
266
199
249
231
178
162
185
253
254
182
273
143
176
233
251
275
255
271
300
244
250
241
267
293
282
225
303
220
195
159
203
170
199
179
216
315
198
228
199
245
277
212
257
250
206
262
219
306
176
271
260
276
309
265
283
166
216
156
248
240
161
228
242
231
206
252
156
223
267
234
240
270
211
180
213
201
276
229
161
175
199
228
257
152
238
273
227
264
198
238
218
159
258
264
265
256
165
242
201
160
157
192
190
175
277
238
257
252
277
241
242
242
203
285
315
209
253
213
192
229
231
168
170
271
165
174
183
222
285
245
259
235
216
249
194
181
193
218
240
158
193
157
244
225
285
176
255
188
257
234
182
238
175
226
176
263
171
158
203
240
273
192
191
228
202
249
231
268
313
221
196
170
230
175
189
224
262
175
356
268
242
288
214
192
314
263
289
237
237
146
184
267
193
266
271
226
276
199
211
233
270
247
264
225
206
306
204
252
151
230
191
262
153
209
149
250
164
185
219
232
215
328
216
276
194
206
243
199
189
258
233
152
231
166
203
225
229
182
235
236
221
223
234
286
230
219
247
145
197
263
201
183
193
220
185
160
238
272
156
200
245
227
160
235
197
240
176
272
185
235
177
189
294
278
231
275
303
241
246
251
209
275
207
225
242
259
144
232
230
288
214
266
257
256
153
181
229
170
218
231
200
199
220
220
231
189
258
275
225
287
265
232
235
171
192
206
235
139
219
244
146
121
199
191
303
266
238
152
187
181
201
205
114
220
237
175
208
258
266
223
167
184
203
232
317
193
250
223
241
206
210
192
186
192
202
218
180
237
166
238
283
239
240
239
214
239
286
343
207
220
204
208
235
192
206
178
231
183
266
225
181
232
207
191
232
244
252
288
264
149
284
139
264
170
213
260
179
207
156
222
108
197
188
227
169
273
279
148
304
203
269
307
236
241
237
169
259
209
215
186
192
173
259
247
213
309
265
129
237
248
209
196
190
338
297
206
258
279
244
114
196
155
246
236
242
260
193
334
215
179
210
114
196
208
269
263
181
160
175
234
247
175
158
237
316
180
210
245
200
232
309
270
206
234
174
166
265
200
287
250
270
371
231
240
281
206
231
224
235
225
319
210
258
279
273
169
181
253
309
177
288
220
276
215
225
231
207
234
249
261
238
223
193
277
247
214
216
230
297
243
212
299
231
237
226
215
224
174
233
198
233
285
229
245
226
263
204
185
167
203
237
170
249
211
114
264
263
224
229
215
239
207
240
248
235
208
275
114
318
186
270
198
273
241
241
253
233
214
270
274
263
160
222
207
208
177
151
204
274
183
295
276
226
225
251
240
200
215
215
274
226
219
229
271
205
198
177
145
278
213
156
260
279
215
189
222
193
160
213
334
178
238
253
226
278
260
211
208
199
203
293
208
242
166
222
189
214
173
250
151
233
216
244
251
183
198
174
229
252
139
265
220
275
249
238
283
232
223
245
212
323
323
271
313
275
250
292
188
213
238
134
217
206
227
215
242
126
139
173
229
213
230
253
157
279
238
208
270
256
196
272
230
224
271
165
229
199
191
242
213
228
186
333
129
246
251
218
237
175
254
213
208
192
214
225
261
213
183
185
268
211
242
206
307
213
212
225
260
233
270
223
253
270
204
258
271
230
262
176
221
150
238
200
180
228
114
170
170
173
248
239
222
275
183
165
201
256
291
156
327
173
204
340
114
260
180
207
222
238
247
208
210
264
222
258
168
187
305
191
157
200
265
151
194
220
215
227
219
139
160
209
273
259
183
201
215
202
243
200
250
226
145
114
206
161
323
219
274
286
229
318
235
225
306
160
238
195
240
216
176
226
276
169
275
210
257
149
201
266
247
216
270
222
170
195
296
249
259
193
172
259
201
223
241
197
235
324
181
200
165
152
176
165
203
241
245
215
264
271
215
215
198
188
283
220
179
260
219
219
156
226
349
189
225
252
170
248
257
192
225
233
151
196
213
239
265
229
205
218
335
246
243
264
231
259
233
303
240
207
273
211
223
189
194
267
247
241
251
256
176
243
277
214
177
204
239
259
213
221
198
212
181
257
195
283
217
231
257
202
271
212
181
174
221
232
353
139
214
160
214
198
245
176
229
237
253
193
243
158
234
205
204
211
271
186
172
174
208
240
249
240
254
126
275
233
286
167
308
267
297
222
235
185
231
213
296
219
211
170
186
186
194
309
128
311
253
208
258
153
259
197
196
222
259
225
218
211
226
235
271
256
203
207
211
238
291
256
114
191
229
221
231
295
239
194
216
201
209
301
215
282
256
254
152
209
302
171
348
160
204
218
208
221
292
225
239
207
225
300
202
266
277
205
209
183
264
313
276
203
185
270
235
225
200
251
219
254
217
245
231
257
210
180
268
237
256
263
149
217
146
290
214
184
274
329
217
238
267
211
255
224
183
233
267
313
264
189
195
187
265
251
194
309
248
230
257
244
261
170
204
292
243
279
254
224
231
281
213
144
222
189
231
251
185
173
248
273
192
232
166
169
238
184
186
227
198
240
183
303
221
242
280
295
231
224
188
180
247
259
268
301
116
183
233
213
239
266
222
227
208
139
270
197
311
227
312
225
170
263
220
219
171
263
230
207
280
251
197
228
232
233
173
278
264
221
230
226
239
202
236
342
300
140
304
188
211
183
154
246
206
238
174
233
211
275
185
246
209
301
156
270
197
195
285
301
233
221
208
139
277
271
258
184
126
293
186
171
202
252
261
229
296
238
169
258
280
258
213
185
236
238
178
151
303
253
220
228
201
258
241
283
160
252
201
280
217
209
279
325
232
260
259
268
294
194
221
270
216
185
201
240
198
296
254
232
179
244
236
249
231
214
179
213
163
223
263
272
246
238
295
207
211
203
188
235
238
114
244
249
214
223
152
244
240
195
232
227
156
173
316
167
200
252
271
236
261
293
190
211
261
278
179
197
173
223
221
151
191
218
176
234
227
251
251
174
198
277
215
216
256
269
137
244
213
163
251
240
282
128
250
207
274
247
174
263
178
228
210
232
193
222
210
198
242
203
265
181
182
297
200
224
170
229
212
337
222
200
161
184
197
186
215
169
239
256
284
191
208
292
367
239
169
207
239
234
170
215
191
234
204
221
222
178
274
126
224
263
274
227
244
211
251
161
198
170
254
252
266
218
213
188
205
276
225
301
245
228
146
254
219
159
214
146
221
189
247
297
190
208
231
256
256
243
248
192
278
241
329
211
270
187
293
232
294
217
226
174
210
181
214
322
270
194
241
278
261
253
257
175
152
278
239
306
114
208
217
280
196
178
160
164
297
283
232
193
188
176
222
290
259
282
290
282
267
182
273
187
227
246
272
221
299
235
184
283
258
203
180
229
213
295
258
272
206
192
185
235
194
221
212
202
266
269
143
211
186
232
224
237
160
206
225
225
204
249
249
254
230
204
258
174
198
203
195
268
233
198
214
183
250
193
160
194
229
209
232
170
152
218
263
237
212
259
290
242
230
218
252
215
177
249
194
315
218
200
227
225
204
196
230
221
228
116
205
185
245
262
287
336
277
313
227
139
114
274
173
186
253
236
246
207
240
200
220
228
199
217
307
306
174
233
237
332
283
235
212
256
240
340
201
197
177
285
239
218
186
291
216
319
181
277
193
234
194
227
224
174
172
135
223
170
244
227
262
191
178
191
241
195
159
145
236
259
268
160
139
195
210
324
279
237
218
208
221
257
182
222
223
158
173
175
229
114
270
201
180
240
235
280
283
226
236
254
304
291
114
176
216
246
214
205
199
283
167
200
324
215
229
148
251
160
229
212
211
261
154
144
323
201
209
218
235
134
221
223
232
260
184
173
255
252
203
253
212
209
201
269
307
212
205
289
234
277
206
336
242
253
260
296
236
243
202
248
156
241
250
152
225
216
210
203
241
222
262
190
241
170
264
209
282
241
208
333
224
270
254
114
209
284
225
233
164
329
223
232
151
174
293
248
165
260
166
209
271
212
231
155
255
161
219
175
152
307
238
236
193
180
188
211
174
264
251
263
166
287
280
241
247
216
256
178
196
232
181
216
248
248
268
284
253
198
261
207
285
157
224
206
206
178
144
271
180
181
176
299
289
160
235
194
256
219
225
175
285
178
234
182
230
220
189
217
243
264
190
259
256
183
215
198
220
193
231
319
160
162
246
220
225
237
208
331
228
266
204
189
245
209
160
272
271
168
221
353
198
233
270
159
262
260
262
258
151
202
180
214
211
325
178
243
197
219
180
181
213
253
267
177
236
203
114
271
196
219
159
264
182
295
156
281
296
225
190
245
256
233
214
211
186
192
196
274
183
316
284
202
193
195
234
230
199
260
261
176
166
207
268
229
285
271
245
189
271
239
241
241
199
220
152
256
228
188
299
246
291
230
271
252
244
200
175
160
267
222
266
247
193
277
178
208
255
152
168
313
186
286
247
270
210
193
224
248
195
139
160
282
282
174
207
174
287
236
293
160
291
203
158
280
290
219
173
170
206
331
218
197
270
307
190
270
262
170
214
260
202
234
278
240
252
250
206
235
260
195
277
199
178
170
255
197
207
233
250
256
164
231
261
245
233
273
240
169
244
166
174
209
217
194
198
242
174
245
229
208
204
266
228
248
175
217
280
236
166
157
259
203
231
216
289
191
251
207
213
175
173
204
184
259
185
239
146
273
275
226
247
300
272
222
232
242
196
215
266
212
306
285
344
178
203
213
175
224
203
244
218
217
207
270
190
192
207
260
214
209
332
260
175
266
232
271
230
205
268
214
259
242
270
197
233
255
228
201
192
172
204
289
203
159
228
314
212
116
244
247
218
233
268
242
248
305
220
159
213
207
156
295
198
141
194
181
217
203
193
218
232
188
260
205
160
244
234
322
284
202
198
157
193
219
260
281
252
201
213
186
297
299
162
290
246
196
208
229
223
230
203
250
230
271
256
264
244
217
209
114
221
222
251
171
213
220
247
291
176
252
228
232
285
180
319
263
181
282
258
184
220
310
284
274
252
269
262
167
184
194
196
264
227
168
149
251
310
240
170
232
180
227
288
229
223
298
180
248
225
246
202
241
295
220
215
213
228
287
188
239
183
204
242
204
239
215
245
177
181
284
220
222
295
264
339
269
208
225
265
246
232
160
270
232
202
234
210
179
244
247
238
264
238
266
300
157
226
306
339
218
234
166
264
243
200
263
214
300
252
216
239
262
156
249
261
235
228
232
325
176
242
177
247
212
208
165
191
222
225
205
219
257
158
267
177
222
169
174
200
247
279
257
222
223
247
227
192
219
214
205
329
180
235
200
256
217
275
269
251
200
200
239
207
128
165
229
193
114
205
232
219
165
319
243
114
225
277
165
304
292
187
211
214
146
206
207
245
264
214
224
281
258
195
231
269
216
186
195
198
202
193
158
271
294
265
283
202
204
194
214
251
259
205
244
184
263
197
181
247
215
279
265
154
173
193
196
224
171
267
195
145
214
244
237
275
213
226
297
242
196
193
167
194
206
184
246
181
232
218
244
285
209
218
283
267
179
256
153
121
163
268
228
212
206
204
269
247
304
160
261
237
273
264
246
259
201
208
202
269
217
229
257
217
190
235
242
239
139
222
281
268
251
171
268
198
233
178
192
245
280
273
336
321
220
204
202
184
249
161
149
245
197
319
207
177
205
157
267
187
149
221
148
232
218
254
210
216
192
246
263
248
270
300
157
183
253
217
180
231
189
134
296
216
250
237
264
181
182
231
178
269
173
172
263
144
228
180
192
221
173
214
217
299
247
210
294
322
208
232
262
157
302
192
162
234
222
201
180
204
205
268
253
183
199
221
268
194
244
227
219
230
240
259
258
177
292
258
209
172
194
255
245
253
170
164
201
251
204
220
236
219
173
253
192
235
249
296
232
189
185
196
242
272
290
271
274
311
267
234
218
228
238
198
174
287
241
206
232
201
219
169
223
230
226
204
203
245
210
297
219
243
289
211
152
146
254
197
184
223
201
184
254
130
226
249
216
292
240
257
209
265
275
133
198
236
244
114
286
289
202
216
217
145
218
173
158
166
228
211
216
222
225
272
254
212
309
178
207
279
258
280
255
238
233
200
242
263
202
208
178
218
272
209
114
192
203
230
215
174
146
301
323
178
214
197
192
148
170
287
209
216
139
317
213
214
234
186
213
173
225
318
240
266
226
245
198
243
292
184
263
349
181
217
237
216
223
185
167
195
158
267
239
304
270
263
315
286
295
348
210
262
221
309
203
244
241
225
234
279
154
228
239
308
156
223
279
283
251
230
255
252
319
186
195
197
217
204
191
184
264
254
184
246
228
208
239
254
266
218
290
228
218
285
264
203
192
242
180
231
202
241
282
179
198
250
161
166
237
207
227
225
216
353
223
261
262
257
147
209
215
215
347
214
239
154
233
267
166
241
290
186
316
255
292
185
270
280
206
246
173
173
161
154
214
133
282
234
192
215
175
323
284
276
239
160
246
235
285
269
252
231
225
227
183
214
232
266
188
188
191
260
173
264
170
239
207
298
174
225
225
292
198
250
327
147
216
252
212
192
195
191
195
170
158
269
180
254
299
146
184
190
185
191
279
299
306
242
156
198
152
181
188
186
286
206
258
253
210
181
269
238
207
250
208
217
292
196
163
255
275
238
285
238
273
214
280
189
305
152
248
194
194
200
114
212
276
170
277
323
208
149
170
314
202
232
160
277
155
187
161
182
183
329
354
225
244
178
217
228
224
151
189
254
126
212
169
175
309
218
228
166
290
171
251
229
207
151
229
239
262
195
241
195
295
244
227
250
227
312
311
203
213
183
231
176
276
180
212
281
257
258
257
278
165
278
188
250
217
236
298
229
229
201
190
220
204
237
152
192
221
176
174
205
179
183
264
158
174
295
220
193
278
191
244
295
330
229
148
236
260
221
237
195
216
201
211
186
247
215
223
201
195
229
332
167
235
278
261
160
250
259
202
250
251
192
196
178
255
219
295
178
165
213
226
170
179
286
126
284
256
245
211
175
204
231
203
246
144
254
241
195
291
234
241
256
180
241
236
219
298
260
234
198
263
266
180
217
181
287
158
255
178
240
276
199
198
261
252
293
226
259
250
285
114
236
222
196
191
251
224
239
256
255
213
282
252
179
181
251
218
175
194
305
197
257
268
263
198
240
222
243
265
212
246
214
166
286
195
197
251
235
221
188
244
197
194
201
290
214
234
268
193
255
239
220
156
234
175
164
230
211
238
203
216
222
214
250
223
203
240
175
211
192
249
301
121
151
178
262
199
187
200
238
215
233
205
201
258
177
160
168
221
202
245
208
206
217
266
230
203
272
225
245
280
171
304
216
169
237
198
198
245
216
207
234
166
275
207
234
278
217
116
202
181
228
114
217
169
206
158
256
266
220
178
188
235
204
250
208
243
114
213
208
223
223
240
204
245
188
240
224
270
227
210
285
192
262
146
220
172
263
192
187
152
206
253
228
184
245
255
225
175
207
238
214
182
215
171
203
230
272
197
181
134
274
250
255
308
246
222
298
284
271
209
320
276
194
266
153
262
232
198
236
250
316
220
203
241
235
230
198
184
227
202
261
252
232
191
257
247
222
206
219
223
201
203
196
144
207
166
194
210
300
238
250
283
180
230
188
180
214
225
269
182
251
218
150
222
182
240
268
296
212
209
309
230
253
152
247
314
193
230
160
321
206
203
178
199
279
239
309
182
178
270
114
238
213
175
144
243
212
241
289
255
174
114
218
285
165
198
270
242
239
263
198
198
222
196
171
249
284
250
288
242
213
207
227
246
313
160
263
235
204
203
204
220
220
215
198
224
126
243
265
211
245
186
230
224
276
152
285
211
169
134
266
297
283
191
187
238
236
282
194
194
242
218
181
206
184
298
298
239
219
271
200
159
182
172
230
178
186
285
222
202
245
234
185
324
250
175
158
212
204
190
211
219
248
230
189
286
133
193
218
215
247
291
198
203
206
280
184
199
292
254
198
194
274
149
294
215
177
200
283
176
256
186
173
245
276
160
248
269
122
225
235
236
257
269
264
239
271
219
232
212
186
225
234
247
214
251
215
280
190
249
278
220
212
185
233
212
262
301
226
170
186
156
234
287
273
232
238
299
170
215
191
170
147
200
301
189
289
198
235
257
212
211
263
205
195
145
114
247
221
192
225
248
180
193
280
182
285
301
160
247
275
238
167
114
270
223
252
329
306
211
239
192
209
198
231
291
263
215
212
237
175
321
254
266
242
190
341
272
272
243
220
185
300
164
222
223
240
275
211
190
205
233
177
253
149
228
193
267
170
269
318
217
332
212
184
179
240
292
161
198
220
178
186
309
244
222
218
257
189
270
168
212
267
205
197
254
238
209
192
260
245
196
156
203
282
320
239
247
174
208
156
242
231
271
202
256
184
216
202
292
173
252
217
234
230
191
264
250
201
212
221
240
241
212
221
281
203
156
212
182
229
260
198
178
247
213
233
251
290
295
167
235
284
195
242
133
247
334
246
269
198
205
260
222
166
214
331
180
183
251
241
255
252
236
241
265
209
203
210
276
188
328
284
237
207
233
304
234
200
182
160
203
351
182
235
319
237
224
173
306
174
159
192
190
178
338
191
161
179
225
247
227
203
262
222
236
273
297
232
223
229
246
181
214
169
186
207
228
198
282
197
179
274
114
246
197
214
168
229
286
234
189
220
214
254
219
192
290
308
259
222
207
290
211
301
290
178
250
198
276
250
240
176
294
300
301
180
289
215
272
192
247
235
227
223
215
213
183
126
179
224
236
146
183
287
178
215
170
173
277
181
188
247
275
262
219
276
219
251
183
236
210
267
257
262
189
318
246
231
241
154
237
174
180
234
197
161
233
215
231
258
158
166
167
163
262
242
224
212
221
290
175
271
291
195
193
266
225
285
216
184
222
267
215
195
319
219
211
223
268
235
212
157
195
170
238
291
250
218
245
168
223
258
191
126
213
298
182
258
165
217
235
235
222
292
280
212
323
236
210
264
221
293
216
241
151
272
211
257
178
279
171
193
261
177
294
214
203
247
226
248
218
195
276
332
233
199
208
173
162
247
227
217
216
209
184
252
245
165
263
236
314
231
219
190
229
216
258
232
248
222
199
188
160
234
314
200
181
148
204
240
114
225
243
154
176
265
253
260
189
244
199
245
246
252
183
226
267
225
207
269
275
235
203
202
238
294
208
282
310
198
257
198
184
289
220
248
226
233
207
224
229
204
239
321
254
303
249
199
256
181
194
283
214
159
210
215
158
275
184
233
223
161
325
176
126
179
233
302
275
203
225
213
195
194
240
224
272
157
221
248
251
198
175
202
179
242
186
235
197
197
176
114
222
265
170
145
211
182
114
258
268
194
284
260
126
199
245
178
206
207
246
179
180
231
240
261
202
222
272
266
231
296
225
200
187
268
253
238
257
243
251
276
247
164
232
249
223
152
198
161
185
188
303
249
257
194
166
185
204
179
173
189
283
241
235
191
290
276
249
222
157
253
160
197
215
298
175
223
182
273
226
219
209
285
286
271
248
216
198
244
208
262
211
204
289
184
198
293
213
167
243
201
178
242
200
246
164
265
243
201
260
181
245
318
193
148
236
272
146
303
229
121
242
194
190
238
224
305
180
261
291
189
114
189
219
165
194
203
219
250
158
238
230
248
242
262
216
233
114
219
221
180
252
208
238
318
260
216
228
178
192
344
206
214
201
156
259
220
260
206
195
194
229
223
219
270
277
205
208
298
313
228
211
244
254
285
246
164
175
245
169
160
181
264
284
168
193
229
263
276
209
165
230
238
179
228
286
304
181
108
255
218
285
200
193
256
194
160
290
286
194
210
243
195
255
262
174
201
217
210
255
230
342
206
178
219
206
193
245
346
166
173
153
205
203
279
252
178
228
245
180
173
221
161
130
301
206
162
238
295
217
200
223
195
194
185
228
241
198
242
252
156
176
279
255
270
220
209
276
193
224
192
171
238
170
192
297
231
173
139
149
238
274
173
195
275
279
231
338
214
301
221
234
217
263
149
200
160
234
229
286
180
185
181
230
222
155
258
200
272
220
198
197
211
266
311
260
192
241
273
330
217
230
192
183
152
189
263
203
220
203
310
180
269
211
214
299
220
188
198
230
114
239
218
174
254
260
266
212
198
246
210
162
251
183
236
241
309
243
302
189
215
190
317
303
258
252
300
247
181
230
173
198
286
229
198
204
241
263
263
210
202
191
266
233
211
229
204
199
114
225
191
256
158
244
198
324
210
148
192
195
171
248
254
150
231
187
270
237
287
269
197
257
243
160
326
283
308
206
211
218
215
227
238
208
242
237
157
126
133
253
232
190
294
252
250
267
242
276
252
304
191
245
181
248
239
235
253
203
177
221
279
245
171
317
193
224
225
300
257
261
250
179
223
207
239
175
203
286
158
210
195
230
264
182
224
225
238
207
226
126
249
168
171
243
302
244
275
225
294
229
319
251
175
180
266
234
266
261
213
246
327
242
267
219
246
252
255
247
235
246
225
213
292
271
193
270
265
271
245
169
164
248
213
242
219
214
222
234
222
259
209
263
187
157
239
297
114
225
183
246
271
162
262
203
337
254
218
182
215
238
162
270
207
255
184
195
288
298
159
275
274
245
262
226
159
215
199
197
190
253
256
274
203
222
222
114
296
114
158
208
257
141
180
271
222
217
201
211
276
178
261
204
176
246
272
263
227
165
216
331
197
266
166
265
165
251
251
179
204
137
236
175
210
261
190
204
225
248
145
227
245
191
272
190
264
247
228
206
126
288
240
225
247
309
218
231
264
189
231
162
246
210
207
188
151
260
196
246
186
312
192
280
234
251
212
238
215
188
193
178
283
264
237
271
320
228
198
193
178
219
174
286
275
194
182
259
232
156
146
244
237
188
156
220
171
184
249
258
219
238
229
235
258
179
330
232
254
280
208
224
222
223
208
216
200
223
208
296
232
206
166
241
182
205
295
297
341
230
248
242
243
166
242
234
106
261
220
143
220
234
230
235
228
258
263
213
346
308
211
248
202
255
256
315
239
191
227
284
244
201
152
152
267
273
229
250
241
156
155
274
200
116
290
206
259
259
250
145
152
255
227
260
229
164
188
205
188
173
271
209
220
255
253
232
291
223
256
210
310
246
254
209
230
193
192
215
243
126
210
227
282
256
256
180
176
252
239
234
180
268
234
164
225
264
160
258
259
211
300
146
226
282
255
225
221
184
208
273
193
223
160
299
226
150
251
252
270
187
231
267
263
263
148
182
178
270
323
247
194
273
246
198
233
206
240
211
175
256
244
256
228
280
222
203
232
215
191
154
225
245
244
237
163
257
226
253
244
234
219
218
168
217
292
213
171
299
201
220
209
177
320
158
175
222
195
243
307
280
270
222
213
218
333
255
260
173
243
239
135
270
202
244
193
215
179
246
170
216
183
214
222
223
227
294
180
323
231
261
183
214
238
216
233
237
156
208
166
249
207
272
191
212
214
377
160
211
139
196
251
126
291
192
334
215
229
259
181
261
238
173
261
284
178
209
206
257
169
248
192
144
210
194
275
224
221
249
287
249
233
263
226
174
247
276
191
202
158
332
204
281
241
239
232
220
220
290
154
161
151
260
292
189
250
228
141
277
223
281
238
220
186
280
114
261
178
243
426
283
324
206
206
191
235
210
273
251
149
171
204
211
180
246
236
235
315
206
287
144
149
202
256
193
171
231
287
278
260
220
212
271
220
185
238
198
265
213
290
226
195
259
205
208
264
185
228
231
276
192
198
219
229
196
330
255
185
241
151
213
233
267
203
237
153
250
212
272
257
312
238
255
240
250
173
219
181
289
252
206
206
243
238
195
205
192
225
214
271
226
232
284
220
180
193
322
259
248
229
208
181
169
224
280
223
187
256
238
173
202
342
189
216
179
212
216
152
194
270
186
224
292
194
225
240
236
184
260
241
200
208
210
217
210
292
320
277
187
285
279
280
194
267
233
216
214
242
287
273
286
299
281
148
233
214
114
215
244
235
175
257
269
200
235
248
206
184
176
240
198
274
292
228
276
201
183
173
114
174
180
171
213
256
213
224
192
198
272
233
250
242
233
200
270
270
211
169
234
308
161
327
208
258
214
260
203
168
114
264
146
151
242
288
165
289
169
248
132
292
169
270
230
193
157
203
297
238
185
227
246
210
225
235
196
225
164
152
169
305
114
106
212
242
223
240
242
269
246
151
275
270
208
310
286
254
315
242
260
225
218
310
221
255
209
165
156
178
224
198
282
233
292
194
217
171
207
196
188
174
262
221
160
253
298
203
264
236
238
198
188
187
221
214
190
231
220
286
160
158
189
266
209
195
211
225
273
288
164
204
160
205
272
232
256
204
172
234
174
242
303
264
264
209
181
170
214
152
194
189
212
204
231
200
260
200
274
227
363
302
282
253
235
206
218
137
187
213
219
277
191
165
295
239
266
266
222
197
198
223
230
302
307
176
184
234
234
244
233
222
208
250
243
257
175
214
226
146
258
267
231
204
193
213
275
192
207
178
126
179
196
226
224
241
183
238
161
225
218
241
225
205
225
306
235
170
337
175
161
255
250
264
186
240
228
237
197
160
221
206
249
248
261
154
323
173
254
262
203
211
230
230
238
208
283
247
227
246
306
233
262
225
209
263
233
248
208
206
231
293
197
191
318
253
194
197
222
171
199
209
258
272
368
149
128
234
255
223
254
203
263
197
358
188
227
156
250
221
256
254
160
206
169
175
235
276
182
152
183
251
332
257
219
299
318
281
257
253
259
200
265
314
298
281
227
207
203
202
193
221
177
192
259
240
274
307
312
230
207
221
255
214
211
221
233
208
237
175
160
257
310
220
192
284
225
198
208
198
225
208
175
294
201
200
216
262
327
184
195
253
228
271
248
225
175
306
114
291
320
191
258
304
298
262
204
209
263
129
280
166
186
198
248
194
223
170
209
270
219
238
144
277
202
220
211
214
284
202
200
243
214
242
334
266
269
269
180
114
255
259
222
179
298
179
253
208
262
244
259
201
207
271
301
193
228
282
261
188
213
283
308
221
177
202
225
156
205
253
330
215
211
203
205
289
185
184
255
232
266
269
214
363
160
263
278
245
248
170
144
271
222
298
238
287
327
226
290
246
324
173
273
292
252
158
242
244
208
254
217
299
237
222
217
286
240
207
269
179
250
216
234
199
298
260
195
319
341
199
203
213
255
187
272
176
260
185
286
220
177
214
313
203
301
232
180
305
259
283
215
193
184
114
198
282
277
229
210
234
229
232
263
156
227
176
316
265
198
293
256
242
321
218
260
250
238
208
246
184
243
198
203
267
114
202
234
204
247
176
209
195
280
243
260
223
265
219
288
222
154
203
216
253
217
180
156
269
166
126
296
227
241
271
214
315
250
231
284
200
178
271
220
224
276
205
269
294
198
239
158
299
203
231
197
191
200
213
169
280
214
244
348
167
251
273
227
213
267
200
227
253
249
213
199
174
293
246
227
306
192
241
200
248
114
219
126
252
261
114
260
244
273
246
207
234
121
203
246
241
256
223
161
169
173
198
250
225
114
189
139
232
215
203
260
173
165
244
188
257
225
277
275
206
212
184
161
106
211
212
173
279
254
198
264
196
129
256
181
196
214
173
229
149
245
235
287
186
235
232
186
265
195
173
285
217
244
216
181
217
222
260
179
207
219
232
216
289
229
226
194
206
240
208
209
189
274
170
157
194
180
223
234
252
199
232
183
212
322
195
173
256
205
200
183
196
200
288
217
173
176
227
249
184
245
166
205
196
290
225
160
216
265
218
205
259
226
253
289
224
191
212
208
238
207
305
267
249
254
220
206
243
225
172
311
242
186
177
264
221
252
239
176
264
193
194
157
247
227
322
272
209
328
237
198
244
179
145
200
198
267
238
235
268
195
260
272
303
310
222
192
216
225
190
244
176
276
208
251
252
248
220
230
206
245
282
247
214
201
175
191
269
114
189
276
257
238
198
264
260
270
288
238
208
273
231
222
175
229
200
163
221
189
301
295
148
279
239
226
183
207
234
205
266
234
144
164
214
214
235
300
240
252
239
311
298
219
204
239
257
174
227
214
295
194
269
206
199
222
181
200
247
261
246
201
166
223
158
234
238
166
195
174
215
198
148
202
212
219
159
208
325
298
241
198
270
116
207
278
178
274
260
114
205
257
258
151
187
209
160
212
129
147
152
380
203
266
204
220
214
241
208
312
152
227
216
189
238
158
204
217
206
208
242
278
342
265
266
198
184
208
288
212
239
278
252
161
191
264
290
253
218
205
272
206
235
185
253
263
140
204
180
232
211
237
230
174
252
250
293
199
153
296
248
297
234
284
227
231
157
130
235
255
149
266
255
173
247
274
148
193
220
239
281
171
172
243
167
195
229
273
226
190
225
239
184
232
232
207
180
278
252
268
183
216
215
231
214
301
334
287
211
204
314
244
220
219
247
231
211
305
207
199
239
261
258
192
174
228
218
195
217
197
200
149
221
170
129
165
239
216
246
178
286
206
238
361
233
197
154
219
313
193
154
162
177
261
213
225
197
202
161
175
184
274
299
285
160
162
249
226
265
295
206
145
261
161
243
243
237
160
270
262
228
263
314
266
219
234
205
229
210
267
242
267
225
218
249
261
204
121
147
195
238
217
242
191
260
180
224
197
255
231
249
243
198
244
193
238
272
315
226
219
215
171
202
264
239
207
189
313
191
249
258
179
257
256
195
179
248
192
228
204
273
240
191
301
139
242
236
243
260
276
213
177
247
269
228
238
232
174
222
253
247
173
188
247
139
236
183
259
227
229
210
212
222
183
224
209
229
226
176
279
264
246
203
225
260
212
286
208
192
221
188
213
257
233
277
226
254
205
255
203
167
272
208
165
319
174
211
207
218
186
166
302
271
246
213
260
175
235
216
183
175
252
234
158
201
234
129
216
279
223
246
203
248
229
114
219
246
245
304
257
283
146
197
203
229
193
160
246
233
189
290
254
114
235
240
172
195
242
309
171
278
266
227
274
208
203
229
244
200
114
166
255
261
250
181
215
126
239
203
260
254
301
275
221
154
231
251
168
184
219
261
212
240
207
217
245
200
199
213
162
247
266
292
158
221
227
193
229
200
300
211
209
173
240
202
178
260
242
180
211
267
208
198
114
225
206
160
211
139
209
208
229
306
247
195
185
188
220
205
181
270
250
255
262
200
170
221
221
145
268
258
270
254
202
179
220
222
243
198
239
229
200
177
224
237
220
256
167
221
245
251
206
220
151
204
176
198
311
173
198
239
200
175
160
169
362
271
261
215
145
210
239
199
242
178
144
253
208
240
241
228
242
257
246
240
328
158
211
264
192
162
181
234
220
234
193
221
230
225
286
214
162
299
208
160
265
231
230
254
198
248
201
189
186
288
262
226
252
161
211
114
144
217
215
193
267
176
251
192
239
235
209
255
182
262
288
225
177
267
185
247
275
335
172
250
208
255
170
230
210
195
231
228
300
165
205
198
192
193
218
299
251
228
217
231
318
260
227
214
201
239
188
234
220
235
234
231
237
148
225
189
160
301
228
217
209
198
219
196
261
202
192
263
268
287
192
239
245
178
243
198
238
210
213
226
305
219
213
179
194
201
170
252
301
241
188
264
161
201
224
170
293
241
285
187
246
156
350
185
221
270
217
324
256
146
247
208
188
166
214
246
180
329
190
200
310
277
234
197
129
248
272
195
152
158
197
230
326
253
187
282
225
228
352
166
193
176
237
261
166
184
317
263
205
240
204
224
166
169
199
236
250
274
252
178
165
195
191
329
220
208
236
300
256
182
232
194
144
234
274
114
114
282
229
195
193
182
161
181
145
237
225
180
218
189
169
245
294
221
200
238
221
243
191
226
209
168
277
149
252
216
194
297
201
208
176
221
294
182
247
231
225
202
265
233
247
255
181
236
160
198
116
179
228
188
237
193
201
259
193
185
201
220
221
196
278
203
311
265
245
228
290
122
271
155
213
262
192
235
199
224
261
262
230
327
247
175
186
299
177
215
130
241
348
173
214
226
183
209
216
263
386
290
188
293
242
260
214
226
211
202
221
168
260
309
162
148
181
137
278
214
230
231
259
254
162
251
242
282
291
206
288
175
297
210
174
144
254
217
234
201
270
274
229
228
294
250
190
190
254
156
184
270
248
160
172
169
251
216
241
223
279
291
170
200
209
174
194
219
174
241
226
134
192
195
309
315
299
192
229
256
204
180
297
248
246
198
183
253
303
170
225
300
222
170
191
203
226
244
252
251
274
250
153
244
212
171
228
262
205
184
189
168
294
230
260
224
202
193
266
249
234
205
182
258
231
191
205
271
126
231
208
234
166
202
209
307
219
233
253
248
222
208
191
308
114
116
190
231
165
153
264
211
198
297
213
197
232
192
263
156
238
220
191
206
174
229
167
204
269
204
177
206
282
211
170
229
258
225
274
230
170
214
178
160
227
186
126
223
156
251
221
278
255
228
229
278
206
254
156
244
276
225
200
244
201
217
215
214
221
184
243
321
271
276
154
225
180
203
273
237
183
270
203
174
259
222
220
166
210
168
186
347
281
246
235
273
291
164
126
238
251
238
184
183
286
259
170
175
287
274
206
309
146
280
295
288
190
263
194
261
252
232
236
215
213
223
281
219
215
165
277
216
310
290
220
175
139
212
263
264
231
213
177
285
171
242
222
205
183
232
270
227
230
344
236
311
218
200
273
238
335
229
263
262
165
234
223
196
266
225
176
291
252
292
287
273
154
181
213
236
202
250
251
219
215
210
144
254
233
223
270
191
221
239
185
262
192
230
150
159
269
172
298
252
221
139
251
191
277
315
160
239
253
250
223
241
187
210
172
222
266
302
287
255
139
273
234
180
217
253
201
213
193
177
292
214
315
285
294
206
235
161
161
272
194
234
272
139
316
158
266
181
247
197
285
257
209
183
175
252
205
145
197
147
200
284
242
279
348
243
184
162
229
223
134
251
250
178
180
245
194
253
237
213
164
179
259
297
279
208
215
212
196
205
188
241
231
196
209
242
184
248
152
195
166
221
250
276
250
249
249
254
148
221
213
242
241
239
177
175
220
146
340
189
214
210
314
233
213
200
193
221
277
207
192
179
220
302
192
263
244
244
246
221
210
308
198
208
250
240
329
134
145
270
196
183
262
146
234
237
129
152
279
279
189
208
158
231
304
247
228
202
260
343
160
192
248
141
209
161
169
170
174
273
209
302
227
255
229
258
232
255
288
203
227
289
199
166
255
259
169
233
195
215
275
231
211
258
190
228
193
183
199
196
266
159
231
238
223
264
152
227
190
273
221
313
207
164
227
215
219
265
248
134
238
253
250
279
262
149
239
206
279
227
267
219
214
217
233
156
254
290
188
208
257
145
281
116
280
188
213
233
215
263
192
170
293
290
165
166
295
233
242
305
267
178
288
320
285
208
310
252
292
277
162
203
207
227
248
221
232
246
244
182
221
214
226
160
219
176
269
226
149
227
186
177
192
252
191
214
216
205
191
203
156
160
194
205
189
239
218
181
184
309
207
311
256
251
251
241
192
173
228
197
184
145
232
312
145
198
165
210
181
230
166
221
219
198
297
261
208
236
246
183
207
223
250
283
203
231
251
199
315
240
203
200
192
182
174
323
270
195
262
222
246
253
203
257
211
170
288
303
234
204
270
245
241
175
187
176
161
188
224
167
226
225
296
244
225
227
153
183
276
185
189
211
247
323
156
244
203
214
209
159
232
244
203
247
236
194
262
183
252
290
154
254
184
207
192
265
259
220
294
225
331
244
334
223
208
234
286
216
186
240
205
295
249
236
213
152
256
233
297
128
151
227
266
289
252
244
208
228
233
162
227
261
204
152
226
164
235
222
343
166
234
126
279
199
228
231
189
246
198
229
181
242
265
259
241
180
243
178
207
235
222
222
232
235
180
261
181
214
229
351
261
223
213
178
374
293
197
283
207
229
307
193
255
233
246
222
286
207
192
298
211
235
256
184
236
242
226
326
238
215
234
237
250
211
160
170
323
273
233
218
220
248
174
282
251
240
220
188
235
160
207
258
245
172
207
271
235
295
214
190
204
250
199
179
229
219
152
256
237
293
250
341
214
129
311
234
191
225
313
212
218
223
222
250
282
207
213
192
258
209
168
151
240
193
174
196
217
241
265
323
228
227
200
209
168
114
313
223
174
236
291
207
161
215
270
244
196
267
262
227
226
231
233
231
242
257
159
233
203
180
231
192
206
217
295
230
198
193
185
233
151
270
228
214
221
192
286
194
177
267
216
216
327
227
198
297
159
163
231
179
245
282
244
250
228
167
280
326
171
261
198
231
315
250
175
206
208
234
252
202
167
181
256
293
215
243
226
276
276
181
299
156
180
220
269
259
252
218
188
219
242
307
159
317
229
200
150
224
222
214
268
114
165
177
260
275
228
218
201
215
208
178
322
246
180
254
258
200
174
164
190
178
231
168
251
175
301
231
238
313
258
213
233
188
261
246
193
227
319
236
204
205
231
222
238
236
245
276
173
273
296
195
321
212
271
263
248
193
204
194
235
192
276
170
222
165
239
227
264
178
214
191
280
233
198
213
198
159
228
116
253
247
278
220
245
251
199
200
227
264
260
260
218
231
176
261
239
257
211
251
268
202
260
172
219
213
200
196
203
195
257
269
233
191
121
208
253
299
270
285
211
245
229
236
207
126
287
293
179
222
268
209
240
195
270
228
196
206
139
184
152
269
357
246
155
270
274
290
194
196
229
224
210
191
213
194
203
281
225
273
218
181
209
193
250
122
273
156
237
176
187
214
221
221
260
219
249
207
158
233
226
238
228
154
214
186
151
205
248
298
195
244
233
233
192
232
260
159
203
313
224
244
253
195
158
254
233
230
218
237
245
231
202
264
205
217
198
232
194
217
193
283
210
262
199
250
194
331
160
205
205
235
165
235
268
148
310
222
254
247
271
196
260
242
178
251
228
178
263
280
175
250
278
208
257
152
245
243
230
276
206
243
255
224
243
108
185
250
163
166
229
215
192
238
235
212
194
179
242
229
228
172
266
224
181
204
152
228
195
232
160
270
280
243
263
218
194
244
205
236
231
270
240
222
254
311
192
191
161
234
227
308
186
290
284
210
257
219
273
312
250
204
221
184
230
232
178
246
262
256
262
254
341
277
284
274
154
241
191
244
374
145
192
230
114
234
232
216
173
195
326
188
232
261
283
225
257
226
179
264
169
222
147
190
114
203
180
187
126
212
230
198
198
214
200
244
283
202
234
290
229
247
162
198
311
229
201
251
239
114
224
235
165
308
221
269
202
206
323
225
279
166
263
210
293
235
202
178
175
284
225
253
146
205
213
285
300
160
283
260
175
151
204
248
268
174
349
173
236
265
303
304
161
237
231
174
260
227
186
300
292
286
241
248
216
270
203
227
222
254
114
295
280
211
236
160
214
204
278
221
173
241
175
220
242
209
256
169
240
208
280
178
114
218
228
366
181
303
185
223
265
244
227
297
205
221
267
176
208
116
114
209
267
174
192
208
204
176
168
173
222
288
256
268
230
256
256
280
259
252
170
211
239
294
182
181
284
181
178
218
273
226
247
279
152
219
213
227
299
193
164
238
298
178
266
285
160
208
303
200
248
261
176
274
166
252
173
223
257
249
275
228
284
174
288
256
285
207
174
178
224
217
237
175
237
261
206
214
239
157
237
251
241
162
258
250
197
220
263
231
196
247
139
351
260
222
216
190
203
179
238
201
244
172
255
184
206
174
214
210
203
181
180
229
194
246
175
232
209
220
273
245
161
246
325
270
215
185
154
201
175
288
175
164
201
253
151
236
197
217
225
196
270
248
306
233
219
289
212
202
286
221
251
250
346
229
244
278
192
158
301
133
215
242
152
258
273
156
217
223
232
218
224
200
278
229
250
174
208
192
205
114
268
280
186
189
178
222
252
200
226
242
266
160
355
212
306
157
203
236
214
245
168
237
288
245
114
284
208
235
242
214
187
270
200
175
260
266
211
247
311
238
264
189
241
229
187
209
300
157
239
254
270
210
168
272
237
169
285
295
267
286
312
291
215
289
284
235
247
243
198
242
288
224
222
170
182
224
167
225
333
235
229
173
164
172
114
308
215
226
308
183
234
306
262
187
230
255
212
207
214
252
206
175
225
273
244
292
220
337
255
245
220
207
221
152
253
153
193
212
206
261
209
278
162
270
243
259
175
187
214
235
250
208
322
247
211
256
114
235
247
156
295
252
199
212
235
265
192
184
238
179
297
205
198
162
211
214
114
184
258
266
304
166
210
244
194
170
270
208
230
206
166
218
257
215
182
198
155
198
280
185
182
290
191
231
232
181
169
270
178
195
271
192
293
236
234
129
209
276
224
217
262
194
290
277
154
299
204
277
284
201
215
179
285
174
266
234
235
209
186
305
252
255
237
239
275
230
283
206
243
213
226
172
198
171
235
305
201
175
243
177
173
114
218
232
251
303
179
206
225
270
214
274
274
177
189
193
273
232
293
230
229
199
240
207
193
273
262
246
209
171
200
194
161
271
240
258
246
212
225
180
194
231
199
256
207
209
266
231
245
247
281
168
206
231
251
317
256
319
256
220
273
195
212
245
156
262
227
302
218
247
209
193
216
253
188
175
145
160
218
160
271
309
261
263
195
302
199
170
201
240
191
193
254
231
226
173
272
276
225
264
200
247
179
219
198
260
195
246
243
291
157
263
248
276
252
232
215
283
205
200
324
232
223
207
242
266
211
253
245
231
218
236
227
213
247
203
201
188
166
313
256
218
255
235
216
223
217
294
266
268
188
208
233
199
194
191
223
171
222
234
211
201
126
284
226
265
215
225
256
222
170
306
227
270
316
259
303
114
283
106
225
211
220
156
169
186
210
183
238
253
221
268
262
262
256
222
173
190
193
237
272
258
191
226
226
188
265
191
212
233
156
284
170
230
200
235
214
160
313
262
284
183
203
243
121
201
242
185
151
228
268
184
291
258
198
254
187
254
171
224
293
262
193
237
303
249
218
272
262
201
176
202
200
253
238
227
260
208
280
266
229
327
267
183
219
227
175
171
278
297
224
220
246
231
156
270
183
218
194
153
217
279
227
255
186
242
114
232
245
170
258
324
258
231
285
231
189
207
297
222
275
264
152
289
197
292
266
191
297
257
200
173
260
171
198
199
266
219
229
266
211
222
165
212
180
237
253
183
213
298
333
155
204
263
178
231
203
222
231
238
248
233
201
266
200
203
144
161
169
246
245
198
250
232
187
273
195
234
261
222
188
329
252
193
234
284
309
184
232
160
213
287
231
205
173
216
244
145
167
224
210
192
189
282
223
187
209
169
257
270
238
126
246
238
288
318
212
326
220
211
156
204
227
296
227
190
258
239
305
216
252
151
235
207
189
249
297
242
248
201
162
223
168
203
173
296
300
237
269
298
141
226
241
200
327
148
200
217
260
278
211
233
240
305
217
283
242
203
216
220
236
252
161
153
234
251
267
173
193
173
171
281
234
217
281
200
175
208
208
287
182
212
210
228
243
221
217
114
217
279
226
232
234
233
140
277
215
283
232
203
193
278
267
204
255
194
235
180
237
204
193
145
158
184
240
197
203
208
288
221
203
281
254
222
177
341
151
195
215
258
269
114
198
208
231
278
264
186
251
267
218
177
167
310
214
231
284
245
346
302
200
297
108
249
286
254
226
235
228
221
275
216
207
210
214
226
236
284
246
270
248
193
208
170
235
250
271
185
114
237
259
211
248
144
203
210
178
211
260
218
208
185
246
291
208
220
221
247
258
176
243
261
266
224
215
285
261
317
257
193
214
244
301
213
166
159
239
189
204
277
231
166
198
228
209
233
244
221
170
194
224
212
167
138
233
225
246
250
278
198
247
222
219
166
222
208
278
272
164
222
241
260
229
207
298
192
226
282
175
187
234
256
213
183
174
271
243
176
203
203
177
178
172
169
268
254
231
221
179
242
194
208
223
166
259
166
210
209
265
321
289
195
229
327
201
160
245
155
239
230
190
189
310
234
221
195
278
177
219
314
240
157
268
230
170
217
234
164
195
245
171
188
246
154
236
186
213
171
270
163
179
242
295
239
270
248
209
231
211
241
270
261
227
283
241
121
203
314
231
273
230
247
228
231
193
262
210
169
260
232
114
281
212
179
114
322
215
224
279
164
215
226
273
315
225
226
201
178
198
199
252
165
237
192
251
188
292
154
250
181
249
254
235
297
197
248
264
290
267
251
254
159
311
234
253
237
297
173
189
222
190
256
180
330
183
165
199
207
192
181
156
242
219
241
193
270
162
259
255
240
180
197
217
246
251
207
260
219
197
277
149
271
251
314
173
274
246
199
126
295
256
241
239
217
205
236
264
228
292
222
256
195
237
221
222
256
168
183
264
229
170
281
202
263
213
196
247
337
246
199
287
206
186
220
210
161
220
312
248
287
189
195
215
212
160
114
342
218
195
258
269
244
272
169
144
260
223
215
238
216
207
221
291
195
212
209
292
218
161
214
229
222
285
251
251
188
242
237
160
222
236
213
202
203
261
195
198
229
187
237
257
198
261
372
195
256
270
252
274
246
232
235
187
245
126
148
269
235
272
191
244
156
244
184
223
238
224
241
254
258
186
209
268
215
172
114
241
195
149
228
306
203
147
286
242
278
244
217
262
170
284
165
263
277
220
161
197
168
240
223
199
161
285
240
195
231
204
168
225
220
269
204
187
170
234
214
228
334
245
245
114
248
175
273
228
232
160
230
240
249
229
213
181
232
231
176
239
248
178
254
280
190
230
211
230
222
234
289
272
300
210
276
210
208
218
179
114
146
300
196
362
184
225
198
243
258
257
241
225
239
156
208
283
238
196
286
230
303
228
275
222
235
213
220
282
207
231
197
251
226
160
259
260
227
234
316
157
240
260
222
257
198
209
186
208
181
160
232
181
206
219
196
276
225
191
186
245
287
194
228
285
139
152
211
271
239
222
241
242
223
249
218
216
305
259
216
266
251
270
283
202
206
281
235
149
288
214
233
198
224
252
238
203
248
149
256
226
174
279
248
267
252
229
273
192
288
145
129
166
226
284
272
243
354
224
205
249
199
162
218
253
282
261
237
249
182
151
231
169
218
173
208
188
190
245
237
307
246
182
145
246
182
241
284
210
278
254
184
242
185
221
265
219
184
303
206
245
209
207
196
283
181
194
154
154
276
216
306
257
191
186
210
260
186
220
222
247
223
256
264
233
247
268
278
208
266
214
275
168
206
175
190
174
170
215
258
192
293
307
256
212
232
264
277
221
221
205
209
270
311
108
236
126
144
257
160
139
238
180
243
286
236
202
208
238
231
215
208
200
264
250
288
198
228
188
197
198
250
203
238
170
227
288
170
205
227
265
233
324
291
207
173
215
166
240
246
154
220
278
226
217
192
221
317
239
114
215
198
245
205
158
236
203
248
244
151
186
246
198
158
199
230
231
242
242
314
292
160
237
265
151
182
196
181
170
221
195
210
201
253
213
210
216
156
177
158
214
167
237
170
168
200
282
232
217
267
229
254
214
338
249
200
152
212
207
226
215
286
285
316
197
175
235
160
252
254
180
245
233
210
310
271
170
255
277
214
253
235
228
242
198
219
221
292
192
179
263
220
266
253
256
189
265
229
240
222
196
114
173
217
183
281
259
236
246
212
184
301
231
223
204
302
214
251
278
275
193
209
218
249
198
176
200
245
304
151
289
239
230
269
228
178
277
257
114
287
239
254
292
220
152
228
160
200
184
213
173
255
283
204
170
229
106
190
337
260
179
241
290
225
189
268
277
155
250
178
266
238
247
228
184
225
186
250
283
196
291
289
247
224
239
256
215
178
225
203
203
361
228
160
209
223
197
217
209
204
216
165
276
165
272
328
232
225
314
189
209
237
189
220
238
160
265
175
247
293
265
220
187
269
166
178
227
260
272
243
225
218
294
254
207
243
312
177
264
187
247
198
203
182
235
220
156
159
223
178
257
207
240
177
302
194
231
306
262
203
166
262
176
236
178
192
207
214
275
194
275
174
282
208
218
190
153
239
183
266
160
209
154
243
195
219
270
220
235
191
246
229
331
242
231
181
205
334
235
276
298
265
188
154
305
177
213
169
230
230
288
186
126
255
226
256
184
258
173
268
151
281
207
241
183
179
217
261
276
248
224
327
327
265
272
224
268
214
199
233
235
228
290
172
160
224
259
192
227
309
184
207
114
266
243
229
264
257
349
203
251
108
148
244
261
203
174
241
237
243
205
250
260
201
249
287
225
308
130
156
258
181
239
241
235
265
233
227
238
213
225
227
266
140
201
220
208
218
229
266
266
321
234
231
245
237
152
211
198
192
328
263
192
238
144
280
181
305
251
156
242
258
201
205
173
206
287
152
158
219
242
215
214
278
215
250
306
280
222
178
193
307
223
207
276
185
222
234
331
210
133
221
217
108
198
263
229
273
156
199
232
207
294
214
214
263
240
198
273
284
272
255
253
171
130
245
224
242
261
281
355
204
256
246
311
161
179
216
209
114
182
195
324
198
158
178
225
183
165
290
194
270
252
221
204
319
279
137
119
213
186
203
169
279
198
108
322
261
216
211
191
258
201
196
237
243
292
240
256
255
230
223
351
223
216
201
333
221
170
186
114
251
145
204
250
205
209
216
228
241
220
231
284
228
215
181
226
290
170
155
156
259
242
215
215
203
183
283
174
229
228
194
254
237
210
193
203
345
324
303
178
213
158
156
151
292
240
193
235
236
166
228
191
184
200
210
219
186
246
211
231
204
283
276
249
229
238
114
268
198
188
216
252
236
333
236
203
324
230
213
183
273
223
244
178
220
249
287
258
176
230
292
163
219
219
262
146
243
230
285
145
262
203
196
206
276
299
232
216
198
189
240
231
237
243
199
156
190
208
158
149
176
170
253
215
217
252
193
253
276
185
206
267
207
267
212
215
244
205
250
222
214
144
257
213
263
300
238
305
208
176
248
114
231
175
173
337
211
247
253
215
243
242
292
192
271
166
212
209
284
256
223
178
226
249
195
238
202
229
266
319
185
178
191
286
305
280
293
262
272
255
235
197
247
234
245
296
200
187
184
130
243
280
273
231
228
126
277
260
379
248
248
295
211
248
205
208
247
266
247
178
218
221
240
241
172
221
210
184
274
229
315
232
303
221
316
239
276
272
285
139
198
213
198
183
189
255
114
275
292
209
281
182
231
255
198
170
240
192
196
211
194
141
234
261
214
239
241
226
209
212
271
259
197
305
207
168
230
266
202
215
205
149
208
197
317
207
165
233
170
173
195
307
229
252
191
234
188
207
256
241
173
221
221
272
263
225
198
301
156
198
230
207
260
149
270
189
228
301
159
212
200
315
184
152
243
259
267
203
177
214
204
228
244
174
194
237
170
209
253
231
184
198
229
218
286
253
160
309
252
249
232
157
158
288
287
314
175
258
160
240
328
193
235
184
226
277
261
253
195
203
264
273
285
244
249
297
194
183
180
256
220
263
189
285
156
188
234
329
163
186
221
233
170
114
345
178
181
252
316
194
216
170
262
218
213
179
265
269
188
218
217
256
184
207
239
245
278
229
275
240
258
231
211
199
204
225
241
227
239
176
264
271
210
191
233
231
240
180
252
268
212
243
193
178
205
200
212
192
216
247
159
192
263
193
219
174
221
237
215
208
261
283
220
160
249
183
242
284
220
216
145
200
221
297
261
265
313
280
232
202
265
156
258
197
289
250
214
233
256
274
289
181
160
215
187
249
270
212
181
253
212
311
253
163
221
208
240
204
192
180
234
236
339
204
234
180
223
271
139
154
229
300
185
312
153
210
169
174
315
203
283
261
254
211
235
250
194
260
156
264
180
258
221
227
225
220
253
106
186
217
166
201
191
114
284
210
197
211
192
173
248
196
219
321
225
360
203
241
283
304
321
240
298
229
250
233
227
293
212
196
288
197
263
114
251
208
234
200
139
208
186
228
244
248
106
178
173
222
200
290
235
156
219
163
259
152
174
283
299
196
213
334
277
165
202
295
162
277
266
170
265
192
177
223
129
251
265
220
232
265
259
209
182
213
293
226
228
146
203
235
161
165
262
162
217
235
233
254
184
260
208
243
167
156
153
217
212
208
267
203
230
249
280
169
200
178
261
231
183
231
154
199
121
285
258
276
210
251
219
225
270
181
126
226
170
211
197
324
212
336
145
185
193
264
173
154
194
214
250
220
288
250
245
251
199
215
298
203
240
195
257
256
166
252
258
250
207
279
262
197
192
201
207
245
271
268
169
149
244
210
301
160
249
213
151
146
188
160
179
219
219
272
202
259
126
206
207
284
230
178
187
271
203
280
160
219
202
219
154
173
321
217
238
237
260
285
214
308
185
233
247
215
193
206
265
256
235
223
223
194
176
169
270
212
243
213
274
238
217
181
232
195
163
174
300
197
313
241
180
202
283
164
169
225
290
184
108
237
234
251
220
219
202
236
228
227
160
276
198
198
201
276
234
231
114
287
146
201
290
299
202
245
187
151
215
301
226
292
222
226
233
266
266
238
229
172
183
180
214
280
219
149
251
204
139
213
284
233
209
274
222
217
266
212
184
249
200
261
243
195
196
229
252
200
269
218
308
250
259
178
199
216
265
196
198
246
213
218
227
232
204
256
192
195
208
201
175
226
157
145
181
187
230
182
281
259
248
326
174
219
347
187
295
205
228
255
230
173
206
227
108
238
194
216
194
174
232
245
194
209
226
227
238
235
209
192
154
238
259
214
224
157
170
198
297
235
268
351
280
248
220
258
237
252
184
213
208
227
114
205
185
243
208
233
214
264
177
234
204
223
212
249
242
208
249
267
234
186
195
217
250
280
181
181
287
278
222
169
195
218
192
240
215
307
326
276
238
180
289
204
324
277
253
247
200
254
189
231
246
241
226
275
160
232
146
297
246
232
167
247
247
251
177
258
196
212
208
114
162
198
266
176
175
276
227
238
250
114
242
256
196
213
235
288
285
188
200
231
244
254
186
178
289
280
282
183
235
256
196
178
242
226
201
180
238
250
160
289
265
194
213
170
199
251
241
240
228
203
184
327
277
189
217
173
192
253
222
227
214
240
340
223
223
262
295
245
217
207
213
203
241
178
204
156
151
233
196
255
166
300
216
179
277
114
243
213
209
413
178
254
214
200
246
220
278
245
173
151
260
216
213
242
235
221
283
267
219
200
235
242
257
198
250
176
240
201
260
243
213
228
242
207
200
257
199
212
207
229
217
198
156
276
249
222
229
108
201
217
241
209
239
258
240
250
156
245
198
177
225
244
156
251
272
243
278
198
207
310
240
341
251
265
194
233
234
144
191
168
266
265
192
217
288
332
252
198
164
221
139
203
188
198
283
192
234
241
198
291
260
203
192
242
212
185
248
178
178
234
220
217
213
220
191
236
237
235
209
214
207
285
200
228
271
216
259
184
283
216
254
264
160
265
258
196
126
296
297
139
234
198
175
126
329
211
179
223
203
251
183
228
305
211
306
254
158
145
292
218
285
222
252
246
233
282
126
209
261
224
360
216
250
145
257
228
198
194
268
214
272
280
199
159
232
239
199
114
180
283
200
341
259
207
173
275
209
242
304
195
223
209
196
277
152
146
236
226
200
198
214
169
179
221
246
195
186
158
219
206
258
130
226
216
258
145
255
237
278
282
240
192
282
246
210
175
229
305
281
203
283
265
137
254
242
213
186
214
241
230
289
202
325
161
362
285
291
136
198
163
235
246
215
256
186
247
215
202
252
207
220
141
194
210
175
226
329
169
284
208
370
222
283
245
254
217
210
225
255
231
160
254
262
223
278
166
240
197
258
241
211
246
231
223
274
223
275
261
187
225
195
246
220
266
324
257
185
227
207
195
260
244
206
239
250
182
270
193
196
186
168
206
187
278
158
203
243
181
192
250
187
247
192
247
261
200
177
200
184
217
228
258
202
223
270
270
274
292
203
269
246
229
197
221
177
279
281
283
285
221
249
266
259
240
278
248
246
145
226
274
186
133
214
190
280
247
227
220
267
261
355
215
214
199
229
179
203
249
180
186
246
280
160
221
235
235
270
186
202
214
238
228
227
214
202
236
224
243
212
323
213
251
221
289
261
178
259
217
264
319
261
268
231
315
226
272
245
189
270
259
195
227
225
155
209
197
178
335
170
245
317
206
146
236
196
299
241
266
288
226
283
170
121
184
210
306
244
231
195
207
229
280
278
273
258
225
177
152
240
149
231
235
309
178
304
249
223
266
148
164
212
271
149
265
207
243
267
241
231
144
229
263
231
234
211
203
213
233
220
170
242
253
152
219
267
198
232
209
291
309
225
162
290
276
178
209
220
257
273
182
265
210
174
290
169
227
108
225
248
207
193
249
248
133
220
197
178
247
204
231
356
207
198
274
182
318
215
258
263
212
188
238
263
189
302
219
296
192
212
263
195
321
241
217
272
183
223
263
216
299
165
221
300
238
222
232
215
179
278
243
338
304
217
206
158
306
219
302
184
221
242
293
211
204
191
198
241
310
281
218
217
206
217
214
217
210
144
230
198
220
201
175
213
263
210
200
281
202
220
254
242
226
287
261
227
208
295
217
266
160
284
304
257
258
249
266
212
178
228
235
319
239
245
174
129
245
133
282
121
146
225
221
319
251
217
345
222
268
233
197
205
208
320
211
202
255
270
252
250
238
237
325
269
240
206
260
235
250
215
304
208
160
254
247
213
253
213
146
206
225
206
254
286
184
197
194
243
195
171
206
277
328
205
333
151
189
136
245
229
211
274
203
279
247
207
305
235
233
287
244
286
233
191
145
266
242
197
205
235
206
272
194
197
208
222
218
304
203
220
214
340
198
182
191
130
179
190
266
216
197
232
199
166
206
232
209
164
303
144
169
204
238
232
178
192
229
286
200
233
176
229
286
234
147
256
178
245
239
212
202
196
225
245
219
285
316
240
212
233
203
229
311
214
203
273
210
196
234
262
201
160
215
246
272
224
180
240
161
114
114
234
263
241
235
276
275
183
217
238
219
252
218
177
271
208
243
170
196
240
179
247
310
191
180
254
225
242
198
233
244
160
222
168
207
181
283
207
189
279
246
213
247
116
311
251
236
221
174
194
242
274
195
181
178
183
190
230
239
239
274
216
202
174
224
171
219
225
264
245
226
174
239
260
216
291
217
272
239
241
190
259
235
234
193
222
178
222
240
219
207
200
222
200
252
209
137
287
227
252
227
261
204
205
208
205
167
249
238
191
241
210
288
305
224
211
300
228
228
273
244
178
216
222
226
186
200
164
237
252
319
223
267
243
281
196
239
180
263
227
229
114
213
228
221
160
198
267
165
176
179
233
161
233
194
296
193
223
185
243
178
169
243
227
201
171
270
251
272
283
261
263
244
241
234
189
248
204
192
253
218
287
172
270
159
260
263
268
286
220
290
289
273
213
262
208
180
160
214
212
171
206
210
204
217
268
279
231
229
282
194
270
286
262
234
231
264
179
221
206
190
296
269
248
154
209
241
263
206
206
214
235
274
225
295
181
214
166
220
309
227
341
198
233
184
139
305
328
227
228
247
253
225
287
198
261
204
152
203
217
252
173
245
261
224
201
273
271
233
198
198
202
222
188
183
170
216
229
258
175
210
221
145
287
196
201
239
235
198
175
265
269
209
307
235
210
282
204
186
224
207
187
234
240
235
187
196
284
245
256
255
258
198
253
213
277
290
133
194
263
214
259
358
190
200
251
243
235
300
166
232
189
176
188
198
235
260
208
216
172
256
198
230
274
183
266
311
208
239
164
256
165
253
221
186
229
226
182
228
200
218
298
247
225
225
204
196
270
189
196
193
170
267
228
163
151
201
178
279
233
240
303
274
247
206
258
235
196
160
221
236
317
250
168
219
139
262
213
267
209
206
202
158
217
233
192
173
164
175
257
270
222
286
222
156
188
170
327
231
207
240
201
225
194
114
217
192
279
217
155
226
267
260
281
213
317
206
242
177
195
219
257
260
275
246
273
169
174
219
241
169
151
193
339
193
261
286
269
193
215
197
263
194
182
235
169
258
164
227
226
273
193
259
296
177
247
262
196
241
241
214
275
283
200
233
268
188
213
330
193
236
247
232
274
292
219
231
223
194
139
189
266
156
174
257
231
252
255
230
275
289
244
240
288
204
285
263
178
220
177
194
333
189
289
180
162
234
195
229
196
175
246
330
211
243
182
233
196
223
161
256
252
260
228
171
261
198
223
294
313
145
277
175
224
264
166
191
285
173
256
301
181
261
204
247
246
192
343
186
223
208
299
170
177
232
261
268
160
161
229
156
208
221
244
179
238
248
216
273
222
262
227
294
185
250
269
254
217
192
219
234
161
257
233
251
197
253
256
327
213
260
256
234
211
134
168
195
207
272
224
316
219
200
236
154
209
185
170
214
201
211
146
199
183
190
239
168
284
241
255
295
267
241
194
201
239
146
219
169
220
177
216
253
243
180
204
232
184
270
250
222
215
204
245
228
254
282
295
267
310
274
199
254
195
227
217
297
253
273
158
218
226
240
217
355
260
236
181
146
199
198
221
237
272
214
211
229
218
256
236
214
237
227
225
263
277
265
199
160
201
292
229
255
238
279
244
286
240
257
227
232
257
232
285
230
114
279
235
196
164
223
267
186
279
190
220
195
239
263
151
259
308
223
114
181
247
306
222
179
250
234
193
255
133
216
269
229
215
238
241
184
141
258
279
255
228
303
249
253
199
197
241
173
193
260
170
181
277
299
250
251
239
283
148
208
202
191
247
256
212
158
193
249
162
177
239
177
188
248
231
250
286
215
258
306
157
346
226
181
201
232
213
184
273
175
209
207
204
243
254
232
178
145
195
209
238
204
228
192
227
214
203
227
277
245
214
195
188
191
174
186
227
289
269
252
220
198
156
155
199
218
191
255
318
308
218
148
243
222
266
247
178
165
248
309
183
151
192
152
144
278
256
270
270
156
171
228
169
206
312
126
220
233
151
175
213
165
312
192
236
227
242
227
275
250
245
186
234
275
175
196
186
190
310
308
197
187
260
188
156
225
273
197
281
273
214
173
293
246
241
174
172
214
227
190
246
173
194
273
175
244
333
214
206
281
261
230
255
282
299
220
279
300
231
235
228
210
252
167
160
295
218
251
193
148
284
206
223
192
180
193
189
178
317
235
243
251
272
240
252
141
196
241
227
286
170
249
225
233
198
249
278
164
216
231
244
246
197
184
261
114
235
170
172
269
203
235
231
285
244
221
265
225
247
237
238
213
268
184
242
220
299
288
217
252
252
218
231
139
263
262
251
259
205
173
145
285
114
209
227
359
248
237
215
231
296
229
165
321
149
230
114
139
266
200
219
230
220
237
196
215
108
199
199
205
217
302
280
208
205
178
235
178
151
255
212
172
169
230
175
263
217
213
245
239
248
206
229
145
321
195
180
236
196
181
215
211
218
173
156
237
175
284
242
222
114
266
262
180
216
203
246
156
229
249
327
170
108
285
236
229
216
255
208
314
194
321
222
173
266
160
186
204
139
261
192
228
231
223
259
195
226
253
319
209
194
297
253
206
214
258
195
166
236
215
114
230
180
220
221
182
219
180
169
221
234
208
265
264
205
292
194
212
187
200
192
182
254
266
261
230
239
150
234
275
156
168
228
298
114
155
229
209
196
229
293
242
229
353
204
297
210
166
154
181
316
253
254
336
342
225
215
281
221
234
151
249
170
179
239
189
195
315
313
314
264
238
224
233
177
198
220
296
243
206
220
243
229
251
203
218
196
192
244
265
179
255
248
228
173
231
239
220
207
230
199
235
218
244
114
253
301
181
210
237
148
244
262
181
207
220
231
191
237
233
237
204
155
126
327
201
270
198
280
205
224
241
198
209
242
280
248
211
212
114
114
200
268
217
161
178
272
236
193
164
229
224
254
303
191
190
214
214
178
330
204
284
209
266
238
211
184
266
293
207
231
289
273
184
231
174
163
161
173
191
198
241
242
307
295
152
299
240
199
258
231
208
152
200
227
266
264
167
151
280
203
272
245
255
198
242
186
307
166
194
158
216
197
275
261
179
201
175
177
316
247
175
290
265
322
233
195
247
285
161
114
198
245
200
198
231
223
284
273
281
193
173
250
268
258
237
175
293
195
195
169
191
174
206
235
265
175
222
230
214
213
242
296
216
199
289
254
226
197
229
266
209
222
192
172
271
240
139
311
263
214
229
236
221
197
177
257
218
202
234
251
173
245
193
264
230
200
253
231
233
286
175
281
197
188
221
231
266
165
209
186
240
216
215
285
190
239
193
202
223
185
208
240
202
207
232
198
261
272
151
201
231
262
193
308
250
160
260
226
116
173
178
223
311
256
236
352
242
158
214
314
188
171
191
201
181
232
206
173
216
185
233
266
212
220
258
226
278
222
309
305
170
265
146
243
224
248
219
191
207
239
208
180
203
173
183
180
232
267
223
241
273
264
221
160
212
299
232
283
225
231
126
233
187
292
234
258
229
209
231
170
240
191
261
216
241
179
160
198
240
148
225
231
258
199
190
284
183
160
297
203
238
260
298
243
311
310
261
203
190
204
211
282
201
151
184
259
216
216
235
240
263
212
277
249
208
265
186
252
236
203
192
259
129
217
206
202
303
238
229
277
196
244
246
204
224
259
190
214
276
241
259
198
145
256
278
239
300
186
199
202
201
158
261
273
207
190
189
141
216
260
186
341
278
158
284
235
315
228
218
249
170
247
190
250
261
276
166
211
277
241
216
242
277
192
193
242
238
263
194
156
145
242
183
280
245
188
192
231
299
219
194
274
157
208
185
222
306
233
188
204
235
287
192
287
193
265
257
229
114
254
271
116
207
114
197
247
258
232
244
277
204
228
239
192
187
200
235
250
266
204
217
258
146
239
200
232
220
266
154
205
214
266
247
156
252
174
221
216
233
206
271
248
239
224
214
248
158
209
203
278
222
184
235
223
180
217
219
227
256
173
346
214
189
263
176
248
272
219
164
253
282
275
208
239
211
166
245
189
295
173
178
225
156
217
173
204
245
181
224
156
182
198
208
267
151
309
165
208
225
233
212
180
169
254
253
165
205
228
260
271
181
212
152
184
177
256
230
223
206
160
233
230
256
220
218
154
234
158
198
147
114
212
256
200
177
326
192
251
322
231
270
256
156
170
207
287
166
175
215
219
218
299
265
181
178
210
166
259
229
252
216
289
194
246
177
264
281
170
233
238
256
228
192
264
208
203
198
174
230
227
203
185
232
214
245
199
175
198
247
157
290
216
177
243
307
239
169
199
337
186
197
180
190
242
246
265
172
174
243
235
197
156
220
227
128
244
168
156
281
204
176
235
218
214
238
164
233
202
256
262
269
262
223
318
228
211
178
190
279
211
302
178
247
325
192
301
236
219
195
178
269
286
172
193
262
227
275
304
219
186
309
194
194
199
277
210
296
265
206
186
223
253
108
218
199
180
238
212
252
260
175
204
236
200
254
189
205
211
195
264
233
238
171
242
298
250
230
170
253
256
252
306
250
260
186
139
323
233
290
193
253
266
181
208
212
271
226
234
196
265
230
212
265
236
222
261
311
249
289
259
257
165
196
204
227
275
171
156
254
114
208
304
216
222
189
234
222
155
235
269
206
239
167
176
208
247
284
222
269
237
152
188
247
204
220
213
176
223
208
146
225
320
307
321
333
222
235
197
116
275
242
217
201
199
265
253
170
146
238
208
178
318
273
235
253
262
216
234
222
291
289
173
245
178
242
284
248
152
225
247
219
237
219
241
185
260
246
168
229
193
164
282
238
277
174
212
240
235
241
232
252
156
253
156
220
219
240
196
181
234
266
184
178
168
221
311
230
174
229
211
243
285
223
249
253
154
224
263
155
224
190
236
242
283
234
198
212
319
277
242
179
222
133
193
173
266
267
281
197
196
207
244
215
181
220
181
206
251
300
279
237
159
244
251
186
235
182
217
240
243
241
184
237
158
213
191
192
264
262
220
252
143
188
338
218
145
186
175
213
234
167
252
235
194
217
293
239
238
270
121
238
160
181
252
145
267
170
230
195
237
309
208
202
178
161
284
238
225
204
230
306
224
198
321
116
191
231
259
206
234
180
174
222
214
228
260
193
234
288
147
216
205
283
239
154
178
183
196
266
151
223
200
262
229
219
235
294
212
281
276
227
261
192
121
198
183
181
198
216
327
231
215
265
256
302
192
278
268
147
317
251
236
226
230
151
267
190
235
223
219
191
261
229
181
209
194
190
235
231
216
165
159
225
221
304
237
209
192
261
254
198
179
151
232
234
334
176
221
276
274
240
343
196
260
208
302
291
232
203
298
306
218
198
160
235
286
239
250
146
252
269
199
168
208
189
195
164
235
209
203
281
232
249
236
224
192
203
158
295
223
230
177
162
214
215
223
217
252
257
314
154
263
255
156
146
254
319
175
222
301
177
232
193
213
279
174
307
276
207
211
245
175
256
215
203
194
259
240
173
237
186
244
307
170
188
245
224
235
233
156
170
175
221
207
241
220
173
229
240
172
195
198
280
230
166
279
154
251
295
234
225
194
164
288
197
178
180
208
252
253
204
161
237
219
208
126
203
106
246
222
225
191
210
173
114
182
303
239
219
250
241
209
209
217
227
229
284
156
195
270
204
212
266
189
303
186
277
223
210
216
267
219
248
237
254
187
225
190
241
218
202
249
198
209
179
201
198
179
214
199
214
208
209
302
269
180
277
230
253
259
261
269
218
288
261
205
273
165
247
206
200
270
249
219
261
242
307
203
224
227
262
212
196
192
270
225
210
173
191
252
188
180
236
197
207
194
228
211
145
315
114
195
269
231
213
219
191
198
260
274
216
194
220
240
217
236
246
234
194
245
242
170
191
277
292
171
239
269
114
256
249
299
247
192
202
215
173
293
236
202
303
216
280
160
178
228
163
283
222
246
257
156
228
245
156
203
231
228
270
248
160
282
295
330
331
237
276
216
271
215
145
188
167
232
275
231
241
198
185
253
207
220
298
239
237
201
195
221
260
152
207
246
212
164
248
270
231
209
147
212
293
133
273
324
315
253
243
188
232
243
211
206
257
264
170
198
249
219
238
209
309
183
259
206
210
274
199
155
195
251
126
191
278
216
168
145
206
229
283
296
294
217
174
160
198
226
252
203
156
254
209
170
278
230
247
198
275
237
231
234
200
200
228
151
195
284
267
238
170
238
156
190
251
226
153
238
314
196
249
179
210
267
157
278
230
226
270
198
262
248
269
152
173
251
250
191
357
277
272
186
224
184
234
251
282
236
226
168
321
224
233
193
183
207
186
206
199
121
205
228
297
169
198
236
210
214
149
206
215
257
172
161
205
234
193
217
156
292
260
257
254
173
194
197
151
231
215
278
232
185
181
277
247
173
152
219
259
274
260
311
202
287
273
195
283
178
269
229
156
158
251
212
176
214
222
233
298
192
222
309
182
297
242
232
302
223
184
152
146
220
250
239
201
319
179
251
233
233
154
177
296
203
179
257
187
130
333
274
223
310
263
209
151
226
177
293
216
191
204
276
162
194
206
187
246
181
285
245
218
233
254
270
183
222
273
263
191
201
178
114
217
230
252
160
206
273
191
193
318
274
178
245
212
240
207
228
244
211
285
181
145
312
190
216
286
267
171
151
221
198
221
215
201
228
196
235
297
214
242
284
204
142
144
170
153
197
175
280
172
235
139
258
174
168
211
205
170
289
233
196
216
151
168
245
192
311
321
267
228
177
205
264
290
176
232
126
201
221
186
192
256
262
227
182
193
251
245
255
156
264
239
156
232
207
374
210
207
269
159
182
191
248
251
180
218
229
203
255
216
193
184
207
228
259
225
247
151
151
216
195
154
175
242
309
253
220
224
226
201
146
230
311
191
121
213
241
220
273
165
192
235
191
145
190
231
200
179
285
267
204
265
201
235
232
279
250
228
217
220
195
196
191
222
250
240
222
227
195
205
260
182
256
214
274
219
264
219
180
253
287
204
218
161
185
234
274
212
368
247
334
154
169
200
293
196
250
196
269
214
236
225
308
241
293
164
182
234
255
175
202
227
195
213
243
274
258
179
218
263
292
256
166
210
245
230
283
247
330
211
237
227
239
215
232
207
239
278
179
297
209
201
183
198
221
220
238
281
271
156
224
187
284
181
252
221
267
243
140
274
276
114
210
201
196
168
255
181
296
280
256
265
246
312
200
318
366
219
159
206
198
164
246
241
198
285
223
244
273
269
210
267
183
255
266
164
180
254
216
290
245
203
207
192
254
164
166
211
266
187
230
228
215
215
268
217
246
265
261
211
207
287
210
304
178
227
172
223
208
184
192
219
299
227
203
201
205
152
194
183
177
241
182
220
251
221
261
224
242
227
255
160
191
212
215
240
170
285
168
254
148
251
218
242
208
261
229
309
197
192
178
244
260
207
185
244
246
227
139
349
196
234
175
241
258
253
210
176
264
181
317
164
209
226
242
227
252
193
290
218
252
178
156
203
184
184
204
188
231
182
214
257
216
210
233
238
192
266
277
219
245
179
211
178
195
245
149
170
295
242
262
203
153
243
251
240
181
275
166
236
224
192
233
229
208
195
239
231
221
202
268
258
280
229
263
280
235
272
227
222
212
258
244
180
230
185
242
203
163
192
218
209
218
173
221
219
181
277
289
228
324
139
255
240
233
274
216
192
247
248
245
202
198
287
322
246
274
216
254
156
253
237
186
129
225
243
174
196
239
189
206
152
224
212
233
235
193
114
194
187
303
218
303
258
182
301
354
323
278
316
255
156
273
202
179
194
251
176
250
225
229
292
323
198
245
230
254
274
208
211
171
173
180
257
223
192
280
305
239
251
223
350
273
261
241
298
224
114
192
204
215
221
262
268
212
211
162
215
242
262
260
214
326
235
214
294
173
297
214
221
194
166
169
223
260
193
179
305
223
244
234
183
193
207
222
190
188
156
212
235
252
174
225
251
207
278
247
215
114
192
202
289
334
277
180
214
244
290
178
280
174
274
202
227
206
156
316
198
188
158
221
232
185
216
218
239
241
243
229
268
266
234
219
249
208
189
306
205
241
292
185
185
249
240
114
329
197
266
292
227
203
192
170
293
227
263
171
204
255
201
165
207
203
308
242
196
230
220
272
295
276
261
161
249
180
263
220
255
196
178
242
252
276
251
318
168
244
212
216
261
219
229
209
204
251
182
277
336
205
175
214
254
193
243
218
274
170
230
281
216
210
261
154
168
259
324
253
280
264
272
262
215
207
215
270
277
212
289
253
283
303
234
242
248
182
265
181
173
281
304
294
245
221
228
259
173
175
271
214
261
265
222
250
218
206
251
304
231
221
274
233
238
164
201
161
285
214
223
233
209
251
247
252
189
240
318
152
259
160
233
229
268
159
218
216
181
154
139
216
181
283
241
233
261
308
214
272
292
245
259
239
280
240
283
160
248
211
213
201
221
276
267
114
209
183
199
239
299
231
226
251
316
290
189
179
278
255
199
246
184
267
199
270
198
238
264
179
265
159
230
234
256
185
197
185
225
231
226
262
240
207
151
203
181
203
331
219
247
237
203
258
239
263
255
211
202
211
203
308
250
273
193
261
238
266
186
310
276
298
215
178
212
224
180
232
206
188
149
189
254
191
269
276
222
239
270
272
206
382
248
247
231
250
189
269
209
151
240
268
253
152
227
175
219
225
286
203
108
255
275
226
322
279
256
233
197
174
252
234
195
188
234
230
155
317
246
227
273
175
188
223
242
191
228
196
196
182
145
193
185
299
205
284
233
277
193
195
166
240
173
270
229
237
275
176
260
195
216
245
195
172
179
170
149
280
153
153
316
122
220
238
173
255
184
271
211
195
178
173
217
257
262
246
210
194
318
204
245
234
333
242
214
219
247
156
246
243
223
224
106
198
208
199
272
267
197
229
189
233
194
333
268
236
106
260
203
178
208
246
179
199
239
289
245
272
171
208
187
187
182
232
162
192
262
173
231
251
309
219
312
230
297
159
229
201
218
240
238
272
195
209
237
191
274
163
184
189
221
276
236
291
206
231
283
186
284
178
156
241
222
195
227
174
234
176
170
301
264
156
214
236
236
243
299
260
247
176
216
297
180
229
193
196
202
197
244
255
198
231
297
154
183
201
229
280
209
106
265
258
271
248
209
188
274
255
215
252
240
160
185
238
200
210
194
209
196
186
122
114
146
180
227
173
213
218
242
158
269
222
248
220
180
114
229
205
203
239
257
175
215
315
226
178
161
145
176
276
209
286
233
252
259
185
178
203
238
256
114
297
157
160
239
156
240
175
267
254
184
220
232
224
227
208
208
273
294
220
243
304
226
253
306
331
262
196
222
253
224
284
202
245
166
108
192
202
265
181
213
269
151
277
146
204
238
203
211
195
224
244
354
245
284
166
215
240
212
176
241
218
309
294
201
243
207
281
251
275
302
114
225
195
184
257
214
146
218
271
270
169
246
255
171
248
307
206
273
242
309
266
116
206
208
289
196
220
196
229
162
188
194
153
321
233
284
169
184
126
303
235
228
229
269
157
264
230
185
177
270
201
166
128
258
193
297
247
240
178
272
223
314
285
258
245
270
258
222
254
179
116
133
185
239
173
234
247
285
184
178
204
245
266
278
298
246
202
223
188
184
281
153
114
319
252
291
239
306
176
213
203
237
218
204
281
166
188
185
175
238
160
184
297
192
204
266
275
277
144
270
245
198
299
229
178
244
242
224
296
198
298
114
158
177
225
237
189
256
225
258
170
206
229
114
284
197
232
258
192
243
225
160
207
205
256
203
206
258
203
220
215
228
205
212
248
261
208
219
261
322
247
151
203
243
200
242
201
258
278
286
250
176
145
181
274
216
316
207
168
235
151
205
274
241
215
170
218
181
137
175
253
228
253
283
209
178
267
214
268
151
191
227
245
144
259
222
237
212
213
219
225
248
255
194
291
296
239
211
214
264
225
236
264
221
265
241
236
178
114
212
160
210
265
159
279
250
245
241
243
246
219
227
270
281
264
268
263
189
192
216
210
184
178
264
249
295
167
280
279
116
263
247
252
237
220
231
295
223
114
251
147
214
186
310
195
211
268
208
254
168
173
210
266
208
216
266
310
265
215
159
228
284
233
234
298
207
234
192
227
274
224
233
263
235
180
240
207
254
251
215
226
214
206
158
277
243
265
256
211
180
214
199
160
246
168
220
235
247
198
257
258
199
231
195
232
245
192
265
186
221
300
191
290
225
233
208
237
241
260
259
278
254
263
254
294
252
273
198
200
296
246
272
250
223
244
188
297
182
258
178
158
293
215
274
251
209
250
204
244
222
166
196
212
281
194
230
219
277
225
279
171
211
260
242
266
231
114
209
222
249
237
188
230
221
165
108
222
299
218
194
243
198
106
257
195
304
269
204
160
173
210
173
279
202
307
209
268
253
195
236
256
232
234
181
215
329
166
217
161
208
224
173
246
270
234
244
235
147
217
173
178
215
235
273
243
204
226
234
210
262
219
233
207
293
152
253
129
290
232
269
225
278
190
231
257
164
294
293
295
297
255
202
275
279
150
228
235
218
203
254
247
223
214
179
264
114
263
168
205
277
234
258
232
202
181
193
265
200
207
269
234
194
252
219
252
304
224
219
219
183
290
199
219
260
235
200
255
232
108
264
180
219
239
195
272
233
146
285
266
250
237
210
184
161
251
213
204
197
225
275
229
243
265
264
180
268
200
223
343
214
235
298
234
260
160
164
260
114
161
181
173
247
205
212
247
265
219
263
226
245
185
243
210
209
234
219
174
221
213
234
218
189
280
214
192
271
222
114
262
108
191
246
294
271
239
318
248
189
224
185
205
170
229
245
170
241
266
224
266
272
225
284
198
234
263
195
244
139
187
182
226
208
159
280
252
243
285
160
188
217
211
169
163
193
126
175
233
286
221
179
228
229
202
188
225
208
197
260
160
193
189
367
260
283
246
149
244
235
202
266
214
186
238
267
313
195
208
283
260
160
206
275
220
169
186
201
234
243
213
232
244
229
298
241
227
216
261
230
193
149
224
268
238
250
233
355
358
280
253
252
152
263
225
242
259
249
269
309
216
221
155
290
245
241
166
247
221
216
180
220
218
239
242
319
203
225
178
146
267
198
215
211
180
278
169
242
218
170
164
210
156
273
309
220
293
207
196
235
282
146
179
228
231
231
225
252
172
285
144
307
206
199
160
173
234
255
255
197
229
207
207
220
252
198
165
267
274
213
144
257
272
206
193
179
286
151
211
303
154
194
286
214
203
225
192
255
214
228
155
242
223
139
194
255
116
227
156
262
246
212
179
241
224
195
233
181
192
228
220
207
226
249
244
211
269
208
235
212
139
116
234
228
211
280
178
202
175
216
256
299
190
273
262
235
160
191
265
268
270
152
213
172
193
242
158
263
203
307
220
280
240
198
114
223
227
240
244
274
187
165
253
160
198
255
228
274
225
157
304
217
208
273
253
243
229
253
237
166
240
210
174
186
287
199
221
206
280
227
173
244
304
211
184
196
244
237
252
174
220
219
348
251
208
156
199
252
157
171
215
247
272
243
176
160
148
191
273
237
237
209
275
331
189
284
218
170
203
288
114
219
202
193
244
255
190
169
198
236
236
241
284
217
234
239
197
184
108
179
253
254
244
175
168
234
195
264
280
336
273
266
251
205
231
264
114
194
299
156
247
245
190
185
195
133
152
235
283
210
277
246
214
241
207
215
175
195
309
236
184
172
217
180
269
205
324
287
240
272
234
236
187
214
200
180
275
279
205
149
121
199
217
323
288
282
114
197
247
233
227
181
209
151
256
265
219
220
244
255
256
210
239
157
256
262
265
234
221
291
282
199
204
268
195
306
231
239
201
190
181
129
283
188
217
116
199
274
152
248
278
268
155
179
223
240
259
205
269
208
245
282
249
277
214
145
226
227
258
207
192
239
212
232
170
266
308
199
246
233
219
203
174
215
170
309
255
212
284
211
257
203
222
319
282
181
193
152
189
234
214
246
268
218
230
206
193
215
242
172
208
339
243
213
279
220
166
207
238
271
207
184
257
224
206
203
285
334
241
229
173
158
193
277
218
139
238
237
233
227
207
166
189
190
192
272
305
264
180
240
250
202
154
234
245
194
252
114
245
219
294
272
291
271
251
200
237
165
160
209
277
258
300
181
180
191
243
126
255
263
228
257
231
193
238
285
223
200
267
252
181
288
114
175
186
166
193
229
175
233
199
275
231
166
217
314
214
280
241
211
258
129
258
169
179
273
247
284
237
235
269
222
224
265
189
191
245
200
224
158
178
198
241
179
222
265
160
273
192
181
269
171
289
210
216
256
219
217
240
238
210
239
242
292
248
197
272
208
176
262
307
227
130
233
172
176
262
171
256
162
285
254
236
207
211
224
316
317
229
186
278
181
293
204
275
162
234
225
204
179
213
222
182
200
226
153
189
165
162
261
193
265
265
279
173
282
133
269
182
179
265
264
162
229
299
116
225
196
245
219
218
220
210
282
233
155
213
173
212
224
222
240
226
187
295
263
270
213
200
165
195
204
253
249
168
220
219
243
278
285
186
227
254
205
247
189
218
156
171
266
245
220
194
252
192
162
238
207
315
343
191
199
181
190
191
189
206
223
297
181
232
273
273
214
292
165
255
205
247
277
222
232
146
180
255
157
248
228
264
179
188
319
214
225
233
198
121
325
222
162
252
195
274
223
293
286
266
191
191
274
320
293
172
247
239
201
245
213
234
187
280
233
230
194
267
188
180
183
220
250
317
152
264
176
191
195
265
282
225
208
268
139
210
265
228
197
296
189
163
222
250
240
232
235
202
269
309
193
204
267
197
232
204
229
217
256
254
268
222
234
189
198
232
192
254
289
251
221
249
283
213
223
179
192
309
261
226
193
204
293
292
256
215
287
211
271
263
253
177
205
161
195
180
189
220
170
216
201
248
269
289
250
262
219
186
198
174
296
234
196
197
211
228
161
194
288
223
258
211
198
218
174
208
206
249
262
208
230
250
249
229
255
162
250
237
202
233
213
283
200
244
232
250
305
232
180
220
223
218
162
216
298
289
165
184
177
168
237
166
194
154
116
181
237
126
204
235
160
170
170
162
261
231
269
159
211
215
279
233
224
222
204
181
191
190
326
177
281
243
253
269
249
330
252
240
166
204
221
239
265
175
151
224
179
193
144
295
139
244
238
260
266
211
279
215
299
232
294
201
199
202
207
250
249
221
210
299
241
211
190
325
267
209
224
308
205
295
273
297
206
192
198
251
187
268
174
146
208
193
212
251
312
182
265
169
283
195
312
266
236
178
245
189
213
229
231
238
193
179
192
249
198
286
126
194
227
244
193
236
259
268
244
196
230
319
193
181
232
246
246
253
222
242
174
186
242
279
232
256
263
216
196
252
164
166
227
183
252
143
173
239
274
212
178
332
238
180
210
198
196
276
252
246
184
181
177
281
178
158
234
247
126
278
249
284
259
242
199
161
311
194
187
236
222
229
243
184
266
146
139
233
189
283
214
160
227
223
253
294
273
241
241
268
259
250
199
252
235
246
208
253
182
207
235
220
169
263
254
207
224
262
195
218
210
129
249
250
184
214
214
184
209
237
190
236
174
276
161
195
214
194
225
186
196
193
193
186
212
227
285
247
241
237
256
200
319
269
245
191
336
238
231
172
232
210
191
219
231
257
223
243
182
168
160
170
239
165
211
227
213
269
190
291
292
250
231
318
322
228
201
333
216
212
206
227
256
351
296
226
215
249
173
178
245
253
197
216
233
221
249
193
309
287
241
223
233
191
154
215
245
217
317
245
292
246
263
276
220
181
202
208
202
237
231
266
253
181
302
185
270
224
190
250
232
165
252
298
238
201
254
259
278
249
208
207
191
243
253
217
114
180
166
114
197
231
226
241
266
219
152
246
247
238
170
273
309
192
184
203
198
234
198
294
218
207
231
274
172
194
225
224
114
240
245
204
200
216
156
273
216
185
157
218
208
240
286
236
237
304
276
201
214
239
151
324
175
173
306
305
220
201
170
220
342
193
257
313
220
203
116
214
160
246
247
231
126
178
214
183
258
210
195
189
205
195
250
174
222
260
237
129
223
140
343
201
241
193
268
220
243
260
245
254
209
283
225
245
253
232
146
215
225
160
173
218
170
212
269
205
246
246
247
234
233
263
195
198
253
243
200
212
245
121
156
228
284
226
208
236
160
227
198
217
284
178
198
228
184
256
207
229
225
161
206
214
183
129
236
267
272
167
186
155
314
233
189
195
145
158
183
170
290
186
213
219
175
235
171
215
316
190
240
243
160
263
185
219
184
221
171
237
216
206
200
292
183
163
199
209
122
249
184
248
292
294
159
208
200
174
158
245
191
201
231
283
240
259
228
230
277
157
202
254
260
234
166
250
292
197
178
239
257
251
270
234
245
231
146
208
221
238
252
181
193
202
220
151
181
144
254
220
356
191
241
230
301
294
250
216
260
186
191
203
189
241
228
224
178
220
227
198
218
228
190
182
194
207
192
216
223
247
293
238
225
340
159
158
243
233
195
152
238
320
226
222
174
280
198
293
254
206
195
252
269
207
199
174
182
215
245
253
189
114
220
174
260
201
270
251
246
272
238
265
200
174
284
208
226
203
187
183
271
166
283
166
221
233
238
213
230
178
218
208
218
270
214
197
232
165
239
146
232
227
151
227
208
209
290
225
178
211
263
166
154
227
204
193
268
129
213
237
278
181
164
237
209
256
187
173
294
193
261
197
217
316
192
267
286
217
293
255
286
281
198
214
322
198
250
247
204
208
114
255
273
302
200
297
314
230
205
265
220
173
149
228
235
269
194
262
242
225
178
216
215
200
317
139
232
228
228
259
224
283
237
209
222
144
339
214
178
200
215
192
211
184
209
239
241
282
245
270
244
185
285
194
228
202
178
242
234
285
194
227
174
311
223
223
292
195
198
180
207
249
233
262
167
349
192
251
255
204
182
261
179
231
283
227
161
152
201
235
202
173
215
152
264
214
200
228
234
191
253
207
292
244
181
245
114
248
198
239
180
197
216
238
211
185
184
114
186
197
266
219
219
342
179
232
251
254
207
237
234
305
213
200
114
248
230
178
249
211
190
308
248
239
200
231
174
296
205
219
268
275
307
180
192
229
233
268
161
239
284
238
247
281
270
181
169
296
183
187
173
241
200
168
114
227
206
244
238
219
258
216
147
151
214
254
178
170
223
270
188
198
180
180
207
183
219
147
185
194
173
231
317
264
200
309
168
278
280
220
224
194
219
253
219
208
358
203
148
251
247
328
208
248
196
220
213
306
217
278
213
246
207
268
170
162
216
165
267
223
201
252
221
201
243
197
239
168
284
267
214
206
258
208
260
198
209
235
186
130
229
233
196
173
278
205
271
246
251
267
191
298
204
222
176
277
179
205
208
216
146
287
269
223
188
260
262
222
146
189
225
310
208
160
271
231
262
227
222
232
216
220
248
240
200
187
145
156
114
185
285
228
321
208
258
299
260
161
253
248
218
284
160
305
201
295
274
262
268
302
321
268
233
205
211
210
288
257
250
283
233
225
201
181
209
152
246
266
258
161
265
239
206
197
221
192
200
241
204
267
334
191
204
207
299
250
230
274
224
183
223
161
243
254
271
246
180
195
220
261
237
335
216
216
258
262
287
237
204
173
173
208
203
198
185
251
184
276
223
178
290
244
224
168
257
283
191
200
220
168
179
192
229
211
226
165
254
286
201
168
243
317
299
237
222
169
254
223
239
264
164
282
242
282
274
215
282
227
222
295
249
220
279
130
197
167
262
189
234
170
144
218
186
205
232
250
220
276
299
284
184
215
165
198
294
144
165
181
174
212
194
288
255
199
207
267
222
218
263
316
296
178
152
279
259
126
178
250
240
215
331
248
229
242
245
201
216
184
230
227
183
214
272
246
308
271
256
284
198
187
244
252
206
192
175
254
177
180
181
205
245
232
213
250
144
229
258
211
212
207
239
198
271
193
206
260
174
158
252
198
193
166
205
210
260
261
201
215
266
256
222
254
341
261
264
218
208
207
251
152
213
208
249
234
249
258
204
212
242
202
273
245
284
241
204
215
226
265
126
207
213
227
320
292
242
253
220
265
303
287
170
139
208
254
193
212
291
240
216
181
235
227
283
233
277
241
261
145
230
334
268
201
266
211
160
273
114
270
221
326
181
280
219
191
245
218
169
277
273
210
122
240
166
198
262
114
126
199
235
252
223
148
168
247
233
202
226
170
188
175
230
216
165
114
231
215
241
296
185
213
268
270
106
236
209
171
253
211
306
223
278
205
241
211
228
278
237
114
331
188
224
235
201
257
249
211
221
220
170
249
230
288
273
210
213
227
208
235
287
255
170
234
160
262
251
165
254
224
233
251
186
233
185
193
170
307
221
181
265
297
273
267
258
238
263
279
273
274
286
240
248
260
257
203
206
209
189
229
228
222
236
154
307
139
216
206
240
181
268
222
165
191
165
210
155
204
177
269
220
280
195
244
219
216
227
221
180
213
270
249
168
238
296
241
193
184
208
182
196
277
114
262
168
244
208
288
274
292
114
320
174
194
226
224
178
155
280
265
189
279
180
225
257
288
241
269
216
269
149
309
161
219
282
227
178
232
216
234
195
249
255
178
275
219
273
206
230
196
203
195
265
247
251
184
229
252
268
175
173
236
151
284
175
258
203
216
200
200
202
170
249
299
160
246
152
196
160
213
213
146
369
217
267
224
312
241
277
286
238
258
280
273
231
190
196
315
271
257
217
203
297
271
236
270
170
238
285
208
314
213
199
180
196
173
214
223
149
239
305
220
281
220
241
333
238
198
279
176
151
190
324
166
193
280
213
184
259
200
193
337
157
247
323
284
205
240
184
199
198
205
259
252
200
221
324
229
263
227
271
212
249
328
193
272
240
266
199
224
197
225
253
205
144
235
243
234
231
187
244
176
199
173
139
242
214
239
209
303
257
247
173
258
211
245
266
250
201
247
267
267
249
298
175
195
216
238
198
254
207
309
190
203
304
207
218
156
202
212
144
324
302
174
168
149
295
226
165
114
278
266
266
216
151
218
286
231
208
254
234
226
178
242
248
239
260
225
251
213
214
144
213
223
253
309
253
162
294
213
210
296
230
274
312
276
211
236
201
266
277
261
186
261
279
174
195
267
212
290
203
184
183
181
160
204
214
190
310
261
210
208
152
256
261
196
170
225
255
220
161
308
208
212
204
242
192
239
262
191
204
232
251
258
210
209
258
218
154
188
200
226
261
289
195
209
180
281
194
198
280
266
147
242
175
290
284
253
189
233
241
265
270
194
249
377
225
250
218
192
116
227
243
192
217
212
288
236
192
189
323
217
269
265
262
250
182
190
239
277
175
204
186
208
265
220
231
247
144
228
259
235
195
159
213
176
323
211
207
305
276
212
269
262
251
204
243
217
246
234
196
336
187
241
219
213
187
176
257
278
178
306
156
155
245
206
226
185
223
224
296
223
209
318
168
367
216
158
286
212
169
250
198
247
208
148
207
277
229
319
252
210
191
214
285
217
272
276
272
240
253
279
217
231
248
258
207
257
192
216
144
198
199
262
223
165
260
319
294
226
175
204
178
235
289
211
220
218
300
164
214
231
176
307
245
212
214
229
292
207
194
286
252
184
299
185
197
280
278
222
220
181
230
210
215
193
243
213
241
287
243
218
289
197
173
195
185
272
246
248
302
216
210
240
238
192
148
262
182
198
175
235
171
224
333
202
232
186
261
158
230
189
233
270
218
294
207
314
203
172
176
162
242
114
234
257
245
287
170
291
192
247
279
221
277
187
203
225
238
252
187
218
209
145
215
246
198
249
194
157
200
184
209
273
227
261
170
191
227
229
231
265
202
235
174
225
213
205
293
230
154
308
211
256
276
228
195
243
266
307
121
145
256
284
252
305
247
199
218
268
243
279
276
303
249
160
215
253
227
183
247
198
226
201
238
301
178
146
256
191
249
309
273
261
212
191
312
203
240
241
170
205
227
191
269
310
225
221
200
222
144
240
259
269
201
242
193
242
228
344
232
129
260
278
231
172
145
293
144
265
250
240
239
217
235
278
248
219
174
153
283
207
217
227
309
141
277
340
160
215
273
215
208
198
203
238
267
187
235
184
253
253
158
173
205
276
192
181
191
277
311
198
232
278
244
247
184
257
183
185
272
260
165
246
220
268
266
272
157
241
247
207
230
179
245
232
266
265
247
194
299
239
210
114
246
152
240
288
226
145
257
262
259
188
264
256
176
274
273
270
184
147
246
209
175
240
184
216
260
244
205
295
246
241
186
229
194
325
128
191
260
241
208
186
273
258
209
167
285
169
245
180
316
242
234
187
213
249
126
241
200
290
190
152
151
244
231
217
233
180
210
167
191
238
242
305
221
227
229
245
264
232
106
229
108
165
320
152
167
286
164
204
180
149
307
214
226
242
246
116
205
191
267
250
200
175
362
329
292
220
266
195
197
193
184
243
221
253
212
209
235
168
159
237
253
197
277
226
285
265
206
166
213
195
251
246
217
273
190
211
211
182
262
250
177
221
192
222
207
256
256
260
234
146
266
269
223
223
249
252
236
201
156
210
225
200
199
176
247
200
239
192
181
227
146
212
214
215
223
139
280
181
254
193
229
182
234
338
242
251
198
145
284
256
209
180
244
203
241
271
255
248
169
286
204
160
210
186
321
247
194
207
236
294
255
258
217
223
235
200
250
190
219
237
203
223
262
228
271
244
183
156
205
246
258
306
260
201
221
266
192
219
106
254
234
261
241
210
151
287
244
161
266
232
223
229
168
255
228
205
264
205
312
178
165
229
197
180
273
252
258
202
198
192
235
203
241
279
207
270
158
309
231
250
158
180
204
257
244
185
275
216
205
234
363
181
230
170
160
271
246
238
283
203
185
126
235
272
214
156
261
287
304
191
166
309
225
240
197
247
239
220
296
193
209
299
202
166
200
226
213
198
212
198
160
176
253
224
240
217
225
225
266
307
151
305
221
190
219
237
196
189
261
262
240
333
209
252
242
203
285
247
263
263
249
193
139
188
210
214
264
230
221
277
218
255
233
232
348
215
222
239
294
231
251
213
177
252
232
220
313
289
280
160
256
284
247
201
191
146
255
208
170
219
294
202
276
212
212
212
246
148
129
225
234
242
193
263
260
265
114
218
192
258
178
200
295
285
213
168
208
166
315
280
252
182
313
341
168
304
166
191
266
221
259
250
310
223
212
223
277
217
231
189
276
209
154
250
251
152
198
255
234
140
180
194
173
252
193
231
298
198
223
193
165
262
242
279
199
169
283
189
278
221
254
223
231
286
114
195
135
228
214
178
240
189
181
176
210
189
182
193
269
163
222
274
200
226
279
192
227
276
297
151
156
213
230
288
235
237
253
173
182
226
213
177
191
227
205
252
203
262
200
249
219
128
214
168
253
215
158
235
247
244
224
202
233
208
205
175
209
264
184
236
222
241
184
200
270
213
255
216
207
234
221
146
274
197
233
267
316
274
307
268
241
340
289
243
306
242
240
146
274
203
216
219
206
146
263
256
226
238
285
260
148
286
183
212
175
213
248
293
212
195
252
174
236
297
204
200
247
359
276
220
243
241
280
310
170
253
191
242
256
259
194
246
236
224
199
219
236
183
149
167
260
178
225
203
237
195
194
208
232
232
192
152
259
211
249
126
251
249
244
258
213
207
235
189
195
306
175
192
247
244
244
238
159
240
219
180
240
220
235
178
240
159
224
208
234
165
204
276
247
275
270
238
248
108
227
276
229
294
275
203
258
199
195
193
225
188
266
243
184
180
206
209
267
206
268
242
212
253
253
228
208
273
235
261
240
191
238
149
185
169
241
262
275
214
126
249
294
234
222
227
139
239
206
287
228
172
209
106
184
229
206
289
213
179
240
173
227
269
326
233
204
315
183
275
270
209
206
257
293
215
285
116
162
259
173
114
175
218
230
246
218
159
152
216
224
254
214
284
243
230
267
227
290
152
244
192
208
266
157
236
116
144
209
256
268
178
293
155
176
175
241
184
192
238
209
195
231
260
279
170
209
238
208
303
266
137
274
116
218
205
206
296
220
239
292
229
297
175
243
170
170
237
219
162
293
163
198
231
200
246
212
213
284
148
284
230
272
258
228
240
220
250
262
249
250
231
176
248
116
156
221
303
243
161
229
239
238
303
240
146
216
232
249
270
200
178
253
181
250
192
159
198
126
223
260
261
294
253
271
251
309
238
280
314
152
200
189
326
173
284
199
190
214
200
203
229
220
218
300
220
279
282
205
266
275
275
237
114
169
258
211
224
224
263
281
182
215
178
283
148
186
215
216
225
216
269
305
235
189
340
321
151
262
220
156
199
128
234
151
208
298
234
183
229
274
251
224
265
192
208
216
239
200
188
160
271
191
216
188
230
223
292
182
283
181
182
186
173
180
233
283
116
160
250
160
217
216
282
208
231
245
278
214
238
248
223
176
227
218
240
179
219
192
245
205
194
228
219
392
254
267
295
240
264
207
114
170
228
239
242
192
146
265
257
276
188
299
207
241
274
226
270
210
183
200
245
219
195
198
282
114
216
176
244
213
192
180
188
327
272
301
349
232
220
258
214
208
334
259
224
275
233
337
340
170
319
130
187
200
245
220
238
332
219
162
248
185
121
208
289
168
176
209
233
207
207
194
311
193
256
316
219
178
218
192
228
290
151
236
233
229
145
265
229
171
261
350
217
173
152
221
247
225
176
250
178
227
182
285
270
190
237
266
233
210
201
218
246
271
238
183
256
126
214
208
208
229
145
221
298
225
188
268
239
250
248
294
265
215
213
216
249
184
261
170
180
193
225
297
261
171
195
188
273
195
178
161
288
225
158
306
252
204
260
265
258
257
210
187
247
277
203
226
278
228
176
219
228
235
209
241
235
291
129
229
326
313
271
193
156
277
203
159
208
247
264
239
227
233
258
205
220
242
169
219
173
255
151
271
211
288
233
231
126
321
195
200
284
250
214
186
233
198
280
190
288
241
234
233
233
207
210
249
248
181
245
145
190
281
194
235
219
218
243
114
205
160
209
192
209
212
218
192
273
190
234
291
338
185
240
235
280
205
230
256
231
239
238
240
209
171
262
277
205
323
229
236
230
255
239
274
244
244
252
162
200
309
249
238
186
259
218
195
211
235
206
255
237
229
185
202
233
209
168
203
194
229
191
217
148
181
323
235
184
241
213
215
176
152
256
208
220
179
128
224
213
196
213
213
175
182
312
265
263
265
218
176
294
264
234
233
199
204
271
284
264
242
297
200
232
245
139
215
254
271
114
282
209
210
184
219
310
232
229
174
126
268
181
303
248
152
195
183
278
159
250
232
196
141
220
189
212
228
218
161
268
235
239
236
208
212
272
214
201
170
285
235
200
215
293
282
211
252
114
170
248
278
177
250
174
114
253
149
187
270
188
229
226
217
278
278
219
158
212
288
222
260
290
227
188
193
346
193
204
126
235
209
129
231
249
212
227
237
169
231
232
194
292
252
183
232
184
283
168
178
179
221
183
325
341
255
190
182
241
249
205
269
234
220
200
263
219
202
246
245
244
278
171
209
178
254
188
265
167
262
176
173
238
130
234
272
167
179
212
192
215
198
211
242
160
176
290
195
149
215
192
185
222
226
173
198
147
234
151
227
239
230
169
318
234
224
200
262
202
230
267
298
227
287
236
256
196
209
251
274
325
226
208
257
188
209
227
205
293
249
236
108
190
243
114
114
238
256
211
114
199
298
253
146
252
232
206
248
219
164
238
268
211
185
229
249
221
186
225
222
356
228
190
200
250
247
245
252
267
240
319
241
216
134
200
272
205
203
206
126
212
238
189
234
195
248
187
182
277
190
280
246
264
276
221
108
235
242
336
133
215
236
178
231
209
213
257
215
227
244
266
247
187
187
230
166
158
260
193
265
268
166
216
236
148
165
164
278
230
160
272
235
235
232
166
177
236
192
203
268
328
301
215
186
254
200
189
133
236
275
192
309
270
282
169
315
257
269
189
236
152
239
278
191
230
279
179
254
189
235
278
212
192
188
181
224
190
174
165
245
186
273
246
285
179
199
231
239
180
243
198
238
204
288
151
247
220
170
272
177
246
194
226
229
250
213
219
237
144
266
227
264
192
237
152
230
189
326
324
305
182
233
211
210
241
219
256
190
241
256
256
248
220
225
220
158
229
207
272
172
207
169
126
233
114
259
183
246
210
207
208
242
205
248
210
253
297
114
235
207
250
225
183
269
176
324
232
189
283
173
162
299
272
156
215
168
230
263
195
182
209
234
196
114
231
260
168
239
166
226
252
244
240
192
325
201
167
306
233
263
234
245
216
249
213
196
264
173
222
256
216
242
201
249
223
304
182
198
238
273
201
220
204
239
156
224
235
278
218
284
249
289
266
205
202
160
236
145
193
192
243
207
249
241
160
173
211
219
267
315
114
275
191
262
245
219
276
182
261
273
245
213
174
264
255
300
300
262
198
169
197
229
276
168
253
267
167
197
269
230
145
211
268
227
290
207
288
172
171
247
209
202
169
259
245
188
181
298
208
195
208
221
177
261
126
200
244
189
164
248
154
290
207
186
270
236
174
223
257
275
219
249
252
307
272
236
221
232
277
138
155
171
180
239
208
296
218
126
167
199
254
211
269
211
193
244
201
126
209
225
254
237
213
168
247
244
351
215
286
216
260
202
201
241
248
247
250
265
215
227
218
252
202
310
173
262
242
228
212
234
246
292
126
264
235
246
262
202
258
239
188
278
196
207
208
154
272
205
267
228
192
151
242
235
271
243
211
326
195
231
236
126
310
175
213
229
270
319
273
197
254
333
300
230
225
236
161
232
170
169
168
265
270
249
217
251
189
178
188
227
152
210
219
219
156
253
227
234
264
186
180
229
224
169
146
297
108
203
181
157
234
279
226
181
253
179
239
180
175
214
181
215
228
191
262
186
168
184
217
170
183
187
191
188
282
182
268
305
169
169
246
204
201
247
198
258
174
236
198
193
198
221
251
198
248
225
201
180
252
218
158
166
203
152
228
252
193
267
289
274
220
264
210
165
219
220
235
260
188
190
214
264
148
198
251
190
242
238
230
220
219
196
187
192
208
221
221
144
271
261
237
152
189
296
235
126
205
244
195
190
279
219
281
162
228
245
269
287
215
240
194
238
198
108
198
237
244
217
238
207
264
280
261
219
265
226
185
249
243
311
234
219
189
221
192
170
253
160
241
237
174
222
260
209
116
178
305
256
237
161
290
133
233
173
285
267
213
152
287
249
330
142
208
333
217
265
175
139
171
172
238
176
212
261
161
203
234
285
182
228
114
229
264
266
224
226
245
188
223
313
314
217
306
269
239
230
226
325
192
148
178
243
269
232
234
288
195
247
219
180
226
233
236
239
197
244
128
274
192
192
227
254
207
307
173
227
179
234
235
197
325
226
249
153
207
231
233
243
193
192
209
234
196
220
239
295
219
275
160
228
248
214
189
192
260
168
181
320
228
236
283
201
260
228
211
365
222
274
255
239
207
185
157
226
229
196
195
228
172
212
265
165
219
272
235
216
209
180
214
213
209
193
221
146
145
163
202
189
173
209
207
279
208
271
247
305
237
193
161
268
205
216
295
237
260
258
227
299
198
114
204
224
202
207
216
184
280
161
227
192
295
209
217
172
341
271
255
280
215
278
278
197
173
204
222
166
188
218
246
249
156
284
235
211
206
189
217
205
206
154
208
190
273
162
178
216
246
221
254
226
242
283
234
160
276
151
216
266
277
214
169
236
302
250
196
237
229
318
210
166
230
197
318
146
197
301
212
243
220
289
306
181
204
295
219
264
243
261
259
209
222
176
231
263
229
208
277
211
253
259
250
185
198
190
287
261
304
339
233
177
208
217
289
199
205
235
220
248
249
248
228
214
300
191
151
114
305
255
223
261
169
231
214
243
231
220
191
278
284
203
235
152
303
177
270
259
225
198
282
185
267
246
200
257
139
183
293
258
179
230
207
186
246
215
177
292
170
261
197
173
249
181
255
200
317
253
229
190
234
218
193
229
204
220
253
193
282
276
274
217
175
226
213
156
218
195
218
243
242
175
319
323
232
181
276
195
172
169
240
206
256
242
198
179
239
244
240
245
217
273
197
247
298
226
192
198
240
214
213
224
203
242
203
293
214
259
168
293
291
270
246
215
211
269
213
275
276
210
281
271
277
204
221
226
231
228
221
207
267
168
200
218
225
218
201
227
156
178
170
230
218
268
293
193
247
216
200
301
167
254
178
217
291
239
208
175
207
214
197
226
114
222
165
239
264
225
300
155
270
152
160
177
204
193
257
182
207
204
202
197
300
234
159
220
218
162
228
170
177
229
194
198
169
284
273
198
167
266
151
251
222
201
194
185
223
200
295
221
161
324
211
159
371
163
209
206
266
178
187
269
245
215
238
197
241
210
316
231
234
222
213
251
178
249
201
194
229
303
163
139
237
227
255
187
114
190
254
262
220
232
255
229
212
290
186
230
244
188
170
181
192
161
236
182
208
235
209
183
270
286
265
221
223
216
191
258
205
249
216
252
139
206
195
265
301
193
251
238
224
170
201
240
242
196
203
196
215
235
188
256
231
291
299
215
230
245
254
285
255
271
223
242
144
197
213
173
285
220
300
243
166
288
251
233
210
277
240
219
175
277
241
240
254
246
296
214
232
242
181
235
166
164
196
234
217
216
204
225
208
280
192
266
215
213
189
225
308
227
222
180
114
235
178
247
261
251
192
246
255
221
229
108
350
217
232
275
285
207
279
232
106
263
208
175
203
198
289
297
183
149
244
215
278
295
151
252
234
256
272
223
235
269
209
227
227
276
248
199
210
183
264
252
173
263
232
221
213
239
226
171
253
207
246
217
175
295
217
239
206
328
141
248
220
212
352
152
241
189
256
164
223
208
287
235
260
201
242
214
216
198
155
273
174
198
249
191
262
114
300
201
236
114
159
267
219
265
194
213
216
216
170
273
174
233
159
240
139
126
249
190
190
231
270
159
239
310
246
258
239
257
173
183
235
175
108
199
203
237
254
248
255
253
210
256
154
197
290
245
219
135
198
331
265
283
224
207
261
230
288
232
258
250
234
312
262
189
177
191
179
327
232
312
244
218
154
285
235
207
290
282
284
276
215
241
191
239
250
142
246
252
243
212
173
184
237
233
252
190
166
225
251
227
259
168
181
263
215
222
219
180
223
245
181
257
158
205
169
198
148
151
206
146
192
269
178
192
275
156
325
190
217
241
231
218
160
173
303
243
283
200
218
167
276
246
232
233
247
152
284
214
114
180
181
175
335
234
240
151
106
246
170
356
202
273
249
227
279
275
169
263
202
223
285
234
218
218
174
206
229
284
305
152
266
210
189
217
300
195
243
239
216
234
213
250
175
173
239
193
196
251
247
219
199
224
264
211
201
218
183
222
246
230
257
170
262
288
248
258
229
248
199
286
176
251
197
268
245
215
256
327
191
210
262
233
160
192
267
160
218
194
213
198
273
199
237
266
190
170
248
175
274
190
236
234
206
178
309
223
236
198
205
126
207
233
215
171
126
266
114
331
273
167
229
170
225
196
296
215
235
245
205
272
290
168
246
251
248
164
205
187
194
195
239
171
229
161
232
165
235
230
288
269
167
267
318
212
221
194
252
179
245
226
251
173
239
158
207
257
193
261
251
162
223
201
301
207
226
234
227
247
225
199
169
207
226
210
234
277
129
191
164
158
205
178
272
158
206
198
193
245
287
193
247
282
267
145
168
212
175
184
275
236
250
231
308
144
178
216
215
216
245
247
216
237
265
198
167
251
179
209
169
186
188
212
255
232
238
213
178
166
183
225
234
165
211
200
165
208
323
189
221
302
178
236
175
224
170
328
273
221
219
148
272
220
196
228
214
278
253
249
197
202
215
212
195
211
192
160
241
224
202
259
176
114
159
226
301
114
184
278
195
227
220
196
241
265
219
174
258
114
170
199
208
198
208
214
174
322
236
284
219
192
195
281
249
216
231
178
217
204
229
255
212
225
268
293
190
257
198
289
242
223
186
241
286
290
247
278
252
162
252
278
231
170
181
222
198
219
244
200
267
179
182
192
152
220
300
219
216
192
290
187
139
189
201
188
156
261
233
245
224
235
222
228
335
235
214
178
221
225
238
294
289
262
228
165
209
203
293
114
211
249
247
193
285
229
224
205
194
238
225
215
243
237
215
239
218
214
225
175
198
239
246
247
258
152
219
197
234
182
228
133
263
230
218
227
210
198
203
263
198
262
224
232
191
372
247
246
114
186
196
246
170
211
215
114
255
152
288
288
245
318
289
301
257
246
223
240
283
262
265
279
216
173
193
180
169
220
199
200
254
269
200
251
305
238
185
228
233
239
175
198
195
201
173
156
229
265
209
164
325
250
245
220
204
215
212
195
184
299
225
190
229
214
271
243
176
259
202
194
321
292
284
301
309
206
227
165
276
240
173
169
198
230
283
235
232
227
272
245
214
222
223
252
249
276
181
260
165
169
203
299
240
268
225
278
209
230
209
116
311
183
213
226
229
282
212
260
233
242
229
182
235
200
227
116
221
163
303
271
239
259
220
226
204
173
235
276
349
228
300
209
158
181
234
180
261
133
219
179
172
243
209
193
245
175
286
274
245
259
220
307
250
241
292
242
250
236
242
229
168
230
204
286
198
234
218
269
255
195
156
171
244
311
232
173
263
295
256
210
178
249
252
213
263
239
218
204
202
275
233
290
276
316
182
255
179
229
246
195
220
140
284
295
231
186
220
171
241
300
302
277
252
261
230
225
253
277
207
275
218
215
201
264
189
192
247
233
241
242
185
245
239
261
313
208
177
238
225
277
178
239
280
272
175
182
219
176
177
187
218
244
213
171
159
239
220
350
233
250
190
251
285
198
192
248
151
231
202
252
262
241
186
202
266
222
265
265
327
253
165
224
274
241
190
253
194
241
202
248
276
240
216
233
249
278
238
186
207
286
245
278
241
306
209
252
239
215
317
200
219
258
267
207
257
228
264
251
290
206
255
259
219
265
199
229
170
314
246
206
276
303
243
219
232
282
161
253
182
209
202
236
242
219
178
146
200
151
233
184
219
210
182
178
220
181
219
238
237
230
308
233
181
209
243
223
206
176
229
210
233
201
254
212
290
224
230
139
267
213
285
284
252
235
188
306
165
151
173
214
194
114
206
197
193
223
221
216
211
276
220
200
236
218
183
189
208
260
217
221
205
325
152
223
256
219
220
245
296
212
241
250
211
208
193
254
306
187
215
161
160
180
194
249
207
198
223
248
220
207
147
274
264
279
208
172
225
168
249
257
224
176
367
219
214
199
233
246
160
256
257
260
146
268
184
181
193
281
213
287
240
246
285
173
255
246
238
227
192
266
222
310
187
283
209
217
180
197
242
261
198
213
215
246
209
209
206
261
230
208
223
259
156
246
222
283
175
260
252
233
167
241
210
219
202
179
158
256
208
286
237
227
225
238
165
222
231
268
248
244
172
174
173
178
265
223
249
211
265
265
174
270
241
143
202
195
254
260
169
249
181
187
195
216
114
198
264
199
300
293
197
227
284
279
178
227
213
247
225
192
228
171
156
193
274
281
114
273
241
196
198
153
222
211
168
206
190
247
257
195
239
154
175
169
220
293
208
221
199
251
178
245
221
181
245
201
292
269
256
208
227
217
219
247
262
171
218
205
244
178
201
215
152
177
263
270
263
343
184
196
249
180
202
285
214
222
151
250
249
220
208
240
292
161
170
219
208
193
239
243
204
245
189
214
237
277
154
301
226
225
302
257
230
287
213
207
215
309
224
150
254
215
255
282
145
229
218
249
198
231
223
222
230
198
201
309
322
234
324
189
176
259
279
242
188
191
173
301
199
178
228
297
211
243
185
244
163
241
159
234
203
206
256
189
218
234
243
254
180
231
205
233
181
230
271
354
159
150
160
263
237
270
193
217
189
264
304
225
228
198
376
266
220
237
173
231
219
242
211
228
254
226
199
213
241
239
302
234
240
234
262
288
232
163
217
254
174
273
184
297
218
227
308
291
203
245
226
266
276
296
200
174
265
234
106
253
320
184
274
239
295
221
180
166
209
181
193
200
258
258
226
354
180
234
114
160
156
264
222
277
145
180
234
193
207
287
211
197
244
219
277
318
145
270
206
308
178
257
191
271
257
177
213
200
197
137
161
231
241
145
299
274
201
184
178
198
184
277
229
182
235
166
149
212
228
245
299
340
236
222
197
253
193
225
216
181
152
214
179
248
178
237
163
220
224
178
283
181
204
191
207
204
273
184
198
181
276
199
158
267
231
200
200
255
227
216
218
207
200
260
241
180
192
203
220
285
295
308
266
267
292
247
223
228
186
244
203
213
204
228
145
210
285
177
223
267
170
214
241
255
311
210
247
129
139
198
238
299
114
202
218
219
170
160
252
267
274
237
247
216
213
233
337
225
218
273
225
232
260
175
233
266
151
155
253
233
227
229
222
259
215
213
175
203
130
211
242
164
229
248
288
217
186
148
212
266
206
300
302
223
274
182
288
192
114
206
198
293
210
204
297
244
167
130
220
195
227
200
231
158
218
232
199
235
184
294
218
166
238
153
220
220
336
234
269
215
195
284
171
215
252
208
192
218
280
154
291
238
260
236
262
269
255
224
201
181
196
183
221
206
229
218
273
306
220
227
224
261
224
180
218
227
349
224
264
226
208
249
191
264
301
188
293
173
223
289
281
181
156
306
177
212
231
243
192
220
181
267
215
273
242
207
178
208
228
204
174
184
242
289
249
302
280
195
135
263
178
232
199
165
239
210
219
324
308
251
204
218
234
253
268
210
227
307
191
223
279
241
224
266
283
200
244
219
188
199
269
229
213
272
116
283
240
204
213
221
299
299
217
249
189
200
146
233
217
221
202
241
195
247
196
250
232
257
266
207
181
174
222
210
263
175
247
216
197
241
396
188
238
186
200
175
222
195
174
246
180
237
280
165
184
246
180
233
206
233
270
188
185
260
184
175
210
240
173
230
266
195
284
283
219
193
172
180
233
228
216
249
215
276
193
309
221
220
316
229
305
175
209
141
224
247
248
186
213
233
194
208
141
238
235
234
191
227
204
211
260
145
237
306
191
183
139
260
192
290
219
234
250
188
284
259
245
234
257
250
159
193
212
228
157
227
192
255
231
228
275
244
255
211
283
244
231
218
207
269
239
160
139
244
216
200
240
172
203
232
266
207
227
225
238
262
229
247
152
250
174
192
288
267
273
198
201
251
321
269
207
239
194
204
192
149
278
241
240
209
285
189
232
252
285
178
148
242
242
184
302
198
174
274
272
239
221
245
199
258
249
209
282
157
276
208
281
203
180
233
184
205
216
174
195
192
223
231
175
156
161
222
152
227
250
248
174
223
173
220
260
252
245
245
230
227
234
171
209
275
233
284
195
174
232
256
217
175
225
215
316
244
182
252
207
186
268
195
211
172
213
259
243
269
226
222
212
147
241
177
227
213
121
257
212
201
216
219
238
221
234
219
179
221
213
251
180
280
173
208
238
191
173
220
270
267
206
308
242
232
208
116
283
214
146
307
241
250
255
197
216
191
201
231
199
221
266
201
277
235
152
219
173
152
283
151
218
245
227
281
211
214
221
262
265
211
253
304
291
227
243
229
251
189
199
213
239
196
192
315
262
160
192
194
239
237
173
214
260
180
209
289
178
336
189
290
294
185
184
246
240
258
219
271
191
217
236
214
238
216
227
173
200
248
256
189
266
233
249
234
144
227
257
169
221
246
208
159
244
227
244
258
155
291
267
241
206
148
235
203
222
208
229
201
186
195
229
278
233
135
275
220
236
291
141
300
232
269
252
201
247
136
198
161
308
170
145
214
264
196
246
279
236
207
202
185
148
266
175
197
254
218
186
186
192
160
207
262
252
262
220
216
160
263
186
257
271
250
294
218
244
251
215
241
280
307
198
216
227
231
238
181
287
176
230
250
212
255
259
214
185
265
235
175
287
207
223
317
273
237
254
235
249
189
240
221
244
242
262
221
299
234
216
211
296
228
126
284
151
322
268
329
212
275
210
244
249
190
259
201
210
191
217
192
255
280
200
244
253
230
267
175
178
356
275
205
203
226
253
240
249
194
220
246
268
225
243
172
242
239
244
171
243
248
288
241
222
200
146
169
144
180
216
209
265
247
197
238
181
207
371
183
234
280
181
228
215
187
293
263
116
200
286
200
244
256
208
215
315
269
232
179
213
257
265
225
249
232
266
152
203
225
303
253
179
206
271
182
301
226
256
203
195
216
239
326
215
232
250
315
226
319
108
197
215
290
166
227
200
220
244
274
240
129
176
212
257
166
243
162
228
209
202
114
359
246
164
229
211
269
216
233
225
207
174
239
285
191
219
225
286
114
350
241
146
184
220
181
241
239
210
188
213
194
130
246
126
176
239
216
211
164
241
200
245
286
204
191
174
204
246
213
283
193
199
289
225
241
181
252
221
238
231
199
239
211
255
169
156
228
258
215
181
153
211
235
180
223
241
242
198
290
160
241
184
167
209
210
226
258
241
151
184
182
173
277
283
181
189
238
185
280
178
216
154
126
233
200
196
270
229
218
244
216
194
297
191
267
266
161
247
230
235
283
230
154
269
257
249
212
257
210
219
214
178
206
238
341
274
263
175
206
200
230
238
225
231
263
285
209
237
171
114
282
203
192
179
225
175
206
223
214
256
175
154
221
183
208
264
232
203
235
219
201
218
219
264
179
225
209
180
248
282
210
222
319
214
211
179
249
238
261
217
191
227
187
253
231
250
231
267
293
209
249
194
180
180
232
177
181
223
176
269
160
162
249
203
175
228
144
248
206
211
248
181
215
247
230
262
213
213
139
187
229
181
226
258
199
257
228
178
271
192
215
201
188
194
166
262
160
255
257
189
216
238
164
216
154
173
199
329
325
196
276
245
225
188
285
299
253
195
214
210
247
150
135
229
221
148
266
282
255
251
211
226
249
282
194
214
368
197
315
199
234
224
253
174
235
290
201
290
274
248
306
250
269
226
170
276
252
144
292
173
204
215
246
189
280
336
168
291
213
214
232
235
240
212
225
246
252
207
231
218
293
231
258
236
280
194
254
255
212
250
232
298
194
277
231
277
250
227
246
246
200
227
222
243
189
204
214
244
220
225
225
205
195
258
264
114
240
238
222
220
202
294
196
301
286
191
182
288
246
279
254
246
216
253
206
236
217
311
224
114
129
189
178
196
183
272
265
354
182
195
200
206
257
239
261
260
178
130
242
151
217
256
177
289
260
283
321
222
285
279
311
312
253
241
191
223
241
212
230
203
223
272
316
151
257
245
298
114
184
279
203
170
173
223
192
235
194
316
234
233
329
249
181
291
244
196
182
213
212
245
144
228
295
234
191
297
320
244
270
280
340
166
274
223
170
239
114
247
251
268
202
261
187
187
149
236
182
200
227
243
160
156
230
204
149
162
281
243
244
237
338
231
197
242
227
245
215
236
225
227
214
202
219
240
257
298
198
198
165
165
213
198
233
222
229
231
244
204
199
189
271
286
229
221
280
238
228
171
197
198
223
211
276
262
196
255
254
237
144
208
204
255
226
274
221
232
271
161
243
262
279
242
189
268
198
233
129
164
188
273
263
220
204
211
238
241
181
205
264
276
282
226
191
209
167
236
267
254
220
242
280
257
284
202
256
145
192
229
178
247
262
251
272
314
152
266
194
211
253
205
175
296
242
276
229
151
301
178
252
186
235
245
108
240
259
202
216
214
176
170
214
255
162
248
139
195
194
133
245
126
288
245
277
315
238
267
235
222
268
159
176
148
190
242
244
225
293
282
373
196
198
170
217
262
210
255
270
206
190
202
219
220
225
317
255
165
236
259
175
261
262
212
241
269
234
301
259
145
154
176
209
181
234
247
205
235
206
246
313
233
235
249
267
215
203
235
193
149
243
254
114
213
257
160
231
221
154
234
241
195
148
180
202
354
357
180
191
222
210
168
244
172
178
206
201
195
216
281
208
219
235
225
255
194
303
173
209
205
191
223
242
187
217
207
238
253
302
308
232
281
193
254
215
169
205
203
280
194
233
293
259
248
206
274
187
251
189
252
234
223
280
243
211
140
250
192
301
150
301
232
232
235
174
251
232
283
271
304
227
226
211
237
228
307
231
198
225
215
192
177
234
201
214
218
231
240
294
114
201
236
259
284
203
318
203
197
200
208
178
210
215
192
223
235
244
340
240
215
193
170
240
237
253
296
249
181
250
244
227
246
256
275
239
293
220
296
265
270
344
239
313
161
274
215
195
282
231
221
284
250
212
173
212
173
165
267
129
271
158
258
223
213
204
203
185
232
289
237
253
273
210
295
167
206
278
228
279
220
299
241
275
192
234
249
221
192
292
200
300
263
251
238
268
181
189
253
262
192
201
235
199
214
245
216
227
218
202
233
218
233
248
159
208
193
247
202
234
214
244
207
284
254
243
222
181
207
260
182
214
226
145
139
169
267
220
237
279
239
215
196
264
192
251
235
193
254
181
197
308
176
230
189
275
200
264
156
192
174
248
268
265
212
203
175
284
274
211
260
218
229
239
215
173
287
288
278
276
200
234
116
272
224
224
203
219
214
188
223
236
246
158
199
179
189
198
311
255
203
247
196
114
186
226
247
252
310
200
199
229
222
240
262
235
307
185
179
202
191
175
231
160
164
180
175
170
246
243
203
180
126
258
215
209
208
259
194
257
190
205
246
173
306
274
156
252
213
196
234
181
220
198
189
277
231
232
251
192
219
246
226
256
162
264
298
255
215
226
194
180
245
232
281
238
244
160
268
238
214
196
349
263
283
239
260
202
236
145
267
146
234
244
213
206
173
166
303
194
195
185
194
232
160
245
220
259
206
215
158
207
256
244
208
219
171
262
194
278
189
245
141
299
230
238
250
205
222
242
181
269
274
281
244
168
246
189
213
218
217
222
175
267
227
213
222
263
250
156
218
214
174
186
215
207
149
263
244
195
277
173
188
261
258
155
218
176
249
229
183
177
196
186
315
274
271
202
179
203
232
212
198
165
245
254
262
245
277
185
256
258
182
152
207
215
218
254
218
222
252
214
266
236
204
188
168
163
280
217
248
242
217
266
208
217
234
304
173
208
203
221
258
261
236
263
261
227
230
212
227
228
189
201
164
174
211
284
274
296
286
203
227
208
193
273
234
235
228
143
218
213
231
289
264
225
198
130
218
239
227
198
262
222
250
196
237
220
344
273
271
226
219
186
282
197
250
151
202
114
185
279
225
183
223
283
195
222
173
260
114
218
210
291
257
270
222
225
198
226
108
229
114
261
195
225
285
235
228
196
244
184
184
207
181
231
203
242
128
238
191
223
219
195
249
168
189
138
254
312
279
227
146
217
218
192
275
175
185
239
170
152
156
172
284
185
227
284
191
262
171
208
238
226
217
218
190
287
233
246
247
252
262
273
269
294
293
207
219
195
212
213
184
245
256
233
175
254
275
200
166
239
151
234
278
174
165
301
163
188
282
281
167
274
191
253
246
283
176
252
249
255
248
214
249
243
231
164
200
217
187
240
218
259
241
240
215
258
246
144
286
184
254
281
266
162
285
164
249
238
114
234
262
160
224
256
196
223
186
284
257
237
194
220
326
220
203
216
114
241
227
300
225
213
197
198
270
194
178
114
270
220
263
203
287
257
311
175
161
180
205
273
254
250
278
139
200
231
248
158
229
261
175
302
342
180
151
272
296
229
207
258
198
279
223
179
231
206
198
256
200
170
285
170
114
253
178
203
204
268
230
252
182
249
234
275
252
254
193
225
217
241
270
240
176
208
221
202
227
267
116
192
219
192
184
249
218
223
264
170
195
309
237
207
274
304
193
227
178
175
224
272
223
201
172
199
216
196
245
292
226
277
129
175
262
245
210
239
173
220
208
305
168
207
217
209
253
205
126
238
213
215
267
176
179
181
222
179
179
206
277
202
211
211
209
272
239
227
205
254
282
274
255
248
188
288
172
203
228
232
202
272
200
234
269
212
144
264
114
202
332
299
227
178
216
218
208
299
267
270
195
276
253
161
271
222
277
338
146
302
247
274
251
231
192
197
200
162
321
292
206
226
197
223
193
203
220
114
232
239
304
279
240
215
180
167
181
168
251
286
244
279
300
289
226
252
121
209
171
211
264
286
255
292
244
248
250
186
245
162
326
297
172
175
254
237
250
229
210
281
191
194
247
241
178
260
217
228
277
199
168
206
277
197
215
244
180
182
174
201
270
200
194
230
156
260
225
242
214
269
272
293
227
258
193
193
206
189
249
237
223
207
233
183
174
271
199
232
175
224
217
273
244
199
205
196
251
261
198
194
161
271
299
169
208
278
273
170
324
256
246
249
228
187
260
269
264
147
278
185
179
220
268
275
208
234
154
162
196
205
250
268
134
181
239
347
162
229
249
218
242
253
235
180
180
232
245
203
207
178
191
246
237
198
235
176
145
238
229
184
186
192
215
239
235
288
179
224
241
204
191
247
213
179
184
116
293
230
269
243
202
184
284
270
192
276
298
206
270
271
285
269
269
238
218
222
201
158
201
217
266
309
243
108
238
279
195
269
230
240
175
205
212
242
209
250
215
200
162
178
160
213
192
146
237
252
250
267
296
185
294
213
207
114
205
173
213
258
277
265
196
248
145
196
188
176
256
274
240
205
176
170
249
257
239
234
264
267
208
194
269
231
257
230
221
197
243
200
263
212
327
279
158
241
264
217
284
221
254
265
170
198
275
145
221
160
216
291
178
230
278
371
260
204
175
305
193
297
226
212
295
211
209
193
214
172
252
235
159
242
269
253
160
164
236
279
273
216
166
249
213
178
249
198
301
219
226
271
246
237
205
221
293
275
237
162
202
321
216
228
244
164
197
182
217
200
315
209
221
283
235
218
192
189
201
166
177
184
361
181
162
247
242
237
258
168
300
222
183
108
211
182
264
199
226
230
193
201
192
235
178
313
227
114
298
234
114
180
114
273
312
240
234
245
265
264
261
248
189
151
156
186
292
264
244
257
258
214
230
266
148
259
295
199
210
221
261
203
278
272
247
233
184
146
142
260
302
250
302
257
291
170
229
233
179
209
246
285
245
146
244
271
211
220
192
267
161
165
274
234
270
201
212
278
181
252
210
213
214
197
252
232
274
160
183
239
275
206
196
158
167
195
312
204
192
207
248
249
187
198
289
235
249
276
207
218
225
310
189
256
231
160
179
274
174
203
196
159
255
291
161
181
173
144
242
316
210
219
274
159
235
186
186
232
255
195
202
236
276
187
121
206
224
209
190
178
208
257
234
251
198
212
237
272
198
152
199
257
190
164
259
187
280
226
228
232
222
252
157
121
304
191
305
183
290
252
316
241
225
249
184
228
258
190
225
252
244
233
185
176
207
211
273
211
183
273
274
239
207
137
260
232
275
328
225
340
251
227
175
253
218
204
212
183
198
229
302
180
255
229
151
211
222
178
234
114
231
285
254
156
220
253
240
265
246
280
207
278
257
147
235
301
168
260
212
249
246
263
178
182
234
263
207
212
276
230
226
274
327
192
189
213
270
305
181
249
174
173
260
320
165
244
215
248
211
262
257
236
217
231
219
218
250
273
201
233
173
226
184
241
324
215
242
291
166
226
306
275
261
281
277
257
205
162
192
167
252
255
233
301
176
214
181
273
261
259
285
212
213
270
173
188
292
199
245
241
121
233
306
253
233
219
213
240
225
214
275
193
299
252
220
276
196
265
181
320
206
202
221
266
219
262
267
242
181
304
207
181
227
229
196
254
288
214
243
208
194
289
225
232
191
350
234
259
192
148
185
245
301
269
154
272
325
182
220
205
220
267
226
264
152
252
210
309
246
210
237
222
235
296
254
288
225
202
181
230
241
214
175
267
224
189
288
266
211
272
239
166
183
215
229
219
157
239
231
173
239
230
106
250
188
195
170
168
207
171
256
181
210
294
227
265
262
247
184
196
214
187
308
235
149
195
317
203
217
202
289
256
223
275
192
173
213
192
209
266
324
205
326
294
195
301
170
284
264
237
213
315
206
267
240
263
289
194
275
234
242
154
308
231
304
180
210
203
234
180
241
129
145
169
280
250
246
287
147
274
148
248
232
239
235
265
290
257
228
201
214
197
181
170
154
222
206
297
180
315
226
278
219
227
222
200
270
271
248
282
286
196
116
210
178
238
325
211
222
160
210
176
182
190
169
227
251
221
175
238
282
220
241
172
263
288
223
191
238
211
168
250
268
236
189
114
160
219
245
219
286
297
226
148
273
205
228
211
215
229
199
235
167
185
273
246
266
205
198
265
194
292
319
218
240
212
193
251
292
205
301
229
288
260
160
239
146
182
210
295
269
249
152
237
156
168
309
235
266
241
209
277
158
243
297
194
210
128
334
237
244
178
227
226
247
316
276
261
241
280
170
198
239
252
268
151
182
133
225
218
258
253
206
246
160
237
173
266
171
232
245
305
334
177
114
286
176
278
198
280
254
326
176
114
244
192
289
191
166
239
219
177
192
276
160
173
230
181
215
204
221
279
213
261
247
158
309
210
160
203
301
233
238
228
238
246
253
179
243
231
240
173
251
227
225
238
202
173
273
288
173
316
299
136
241
244
201
284
210
257
265
237
315
142
216
198
209
260
195
287
192
187
172
205
247
259
208
214
179
213
262
285
186
179
114
256
207
227
214
221
296
195
178
268
203
207
260
242
199
212
286
242
261
195
300
214
178
252
198
149
225
297
288
160
215
192
212
173
139
251
204
239
272
192
252
208
214
158
233
251
230
260
230
173
184
320
300
234
181
269
292
242
206
323
178
260
236
280
279
210
208
227
199
155
248
226
173
214
186
292
204
255
214
284
237
179
144
219
198
181
181
222
212
237
258
144
281
176
243
198
261
254
169
264
200
185
256
295
236
260
238
208
260
204
167
169
213
201
205
151
163
310
165
161
204
188
176
264
250
221
314
205
264
270
143
272
167
167
207
223
238
234
252
262
224
233
244
247
197
197
277
246
237
198
261
265
206
201
252
263
209
310
198
213
243
192
196
209
202
152
196
259
170
257
315
203
232
294
241
305
226
258
299
215
189
277
174
221
197
267
243
231
151
185
231
256
243
173
321
193
192
249
220
229
239
300
219
253
313
304
227
234
195
220
254
284
223
255
178
172
213
221
177
193
152
190
249
173
295
346
225
258
236
255
243
264
174
183
215
238
215
209
241
203
193
234
160
126
249
204
208
184
239
313
165
145
322
239
252
174
198
296
181
219
223
242
174
149
114
259
246
239
196
254
253
206
253
303
203
162
178
135
254
292
268
207
277
168
265
158
263
252
267
287
184
178
185
214
247
282
195
205
188
319
259
218
294
243
200
240
210
218
158
114
147
230
268
207
273
203
263
151
226
279
194
190
207
147
302
178
234
168
186
108
187
193
222
267
210
114
234
198
216
243
200
278
167
182
246
234
265
259
273
241
239
156
323
217
236
218
199
248
264
262
285
227
185
260
155
160
241
206
240
170
156
188
269
217
180
209
187
304
161
196
156
219
286
348
166
182
223
215
293
236
168
192
152
238
322
198
263
227
196
263
203
212
214
190
218
282
164
231
244
266
243
271
198
177
189
215
178
156
215
275
238
233
320
206
224
155
374
177
262
183
170
213
217
209
246
214
183
182
236
340
235
290
154
191
200
215
199
186
173
295
178
259
260
259
148
213
227
203
256
231
160
180
202
242
201
235
275
183
250
261
274
265
189
223
186
219
202
303
277
198
309
217
210
239
278
232
191
184
205
234
164
145
191
185
165
242
232
221
205
293
298
239
236
348
331
182
216
208
259
238
209
227
209
222
200
241
205
217
146
193
235
240
168
282
208
225
173
240
114
308
231
226
243
290
297
227
196
228
205
214
240
228
213
233
189
229
223
156
211
253
151
192
261
213
246
242
232
281
229
221
174
232
227
283
194
225
259
268
215
211
277
149
217
156
242
201
180
214
299
244
238
211
222
202
289
161
200
226
204
178
222
172
228
177
164
223
222
184
212
214
298
248
189
197
223
233
243
170
190
260
246
192
144
296
299
176
239
232
258
169
205
231
183
161
186
222
169
167
219
183
193
114
304
235
184
258
229
189
251
276
203
182
236
178
276
152
219
175
187
209
126
278
193
257
237
167
227
249
273
270
203
322
185
183
259
192
192
231
245
162
219
340
178
199
229
211
279
212
213
203
221
165
198
234
231
211
173
209
145
286
204
189
153
200
180
209
238
168
234
281
289
195
241
296
209
260
173
241
247
240
258
203
160
231
273
194
261
261
269
301
178
224
262
181
178
168
209
199
252
234
178
254
217
248
226
225
286
174
209
292
206
154
217
237
284
237
291
230
268
261
193
231
182
284
139
173
214
265
223
275
268
274
228
247
224
210
158
248
246
297
181
221
181
114
202
218
196
339
263
207
225
174
194
179
212
250
299
306
196
177
181
195
261
196
114
178
233
286
164
191
240
304
278
175
260
264
256
193
223
137
257
162
263
185
199
231
242
205
291
165
148
244
184
185
214
310
175
236
235
210
228
191
227
194
261
245
232
209
204
217
247
208
253
247
139
206
156
262
220
239
239
236
239
180
180
326
166
207
223
183
191
293
285
276
261
252
178
214
197
185
175
232
207
160
192
256
165
228
219
288
340
285
277
191
197
224
231
245
217
245
214
289
234
146
291
210
236
266
241
169
277
290
175
208
114
196
227
219
260
260
179
301
270
180
162
191
185
179
261
175
201
190
193
219
189
273
276
260
242
255
237
207
240
178
214
246
257
223
229
237
302
279
295
237
188
309
156
146
162
266
230
248
240
114
198
230
284
208
208
232
237
206
270
255
193
244
221
238
205
227
315
193
176
192
235
251
195
225
216
232
202
305
245
186
199
211
126
302
232
178
208
241
214
238
278
215
306
345
301
239
214
261
265
271
224
256
199
256
202
224
283
238
260
114
227
244
198
283
279
210
234
233
174
209
257
223
256
237
211
214
250
238
183
194
182
196
156
231
185
279
225
143
285
270
261
275
226
258
228
235
269
223
296
258
306
236
196
222
170
233
239
253
133
206
191
217
363
220
224
281
335
258
257
325
191
254
218
238
266
236
171
282
263
322
268
251
259
189
242
270
250
165
228
225
239
272
216
210
215
225
187
207
174
243
245
251
187
227
262
241
226
214
238
206
251
198
258
154
259
180
220
276
265
220
192
267
303
281
294
207
283
156
180
198
202
247
195
285
246
229
161
238
106
256
234
197
215
305
293
192
290
194
216
161
234
206
114
278
173
277
114
233
258
267
230
203
180
214
149
259
274
243
271
159
178
276
179
116
238
245
275
176
240
227
175
247
222
174
222
213
235
255
226
204
233
204
206
264
289
230
224
243
248
183
212
228
237
219
197
242
244
265
192
160
302
194
227
211
214
240
240
258
297
225
233
330
165
253
210
216
225
218
200
161
222
209
213
306
152
207
216
298
210
262
279
139
280
178
257
205
189
272
200
282
221
164
277
216
114
190
239
156
253
207
240
146
181
217
203
253
285
169
246
202
218
149
260
167
260
202
271
238
252
254
252
272
214
177
243
205
205
157
209
207
208
227
139
185
192
319
211
232
290
232
170
246
172
270
326
243
234
209
294
170
264
202
155
276
180
234
246
249
228
232
114
189
179
225
176
179
192
258
181
152
240
219
170
240
241
205
273
208
273
154
196
217
210
313
213
165
225
196
254
269
206
181
207
208
260
211
170
222
200
238
236
253
178
252
249
286
154
180
347
152
218
235
253
177
184
198
130
253
251
187
169
289
246
156
198
227
224
213
226
114
268
239
316
283
214
218
243
167
207
185
235
145
198
235
236
225
210
226
345
178
214
189
256
231
155
221
245
232
205
307
302
265
158
223
170
257
201
236
152
235
181
243
336
291
241
286
232
186
196
257
177
130
269
158
277
182
154
161
190
213
198
212
207
224
233
231
185
230
114
166
213
158
208
194
231
179
235
226
291
238
283
139
160
261
200
304
260
226
220
246
261
175
209
175
200
264
162
276
196
271
186
284
199
159
199
206
212
168
276
322
283
288
228
283
219
279
218
212
372
274
190
156
213
208
255
250
281
265
264
251
249
140
182
221
145
230
114
225
198
245
205
206
186
164
248
228
234
195
148
239
241
243
229
247
221
245
221
277
178
173
243
222
258
234
224
211
169
280
147
165
236
195
225
272
178
237
151
259
259
178
181
226
241
231
233
271
223
196
183
225
204
151
275
219
234
239
216
209
239
173
293
222
160
160
192
144
147
227
241
238
262
210
165
178
209
285
196
215
242
223
222
195
211
114
158
159
280
194
258
239
224
242
225
240
174
292
214
161
158
205
262
268
205
270
114
235
248
176
270
206
175
269
265
235
199
213
169
264
233
198
159
231
114
214
198
213
182
227
108
255
284
193
271
200
186
252
235
229
158
280
233
203
275
276
231
287
222
347
286
165
209
126
208
148
193
218
231
241
209
179
241
160
206
231
215
261
205
231
241
171
243
319
226
299
227
235
247
287
171
256
206
166
186
275
188
221
238
158
247
274
203
322
188
191
215
241
222
270
218
210
168
183
261
242
158
274
277
184
114
356
174
269
255
225
279
172
259
227
268
250
275
249
194
129
209
193
242
255
252
227
233
208
173
290
281
261
247
230
225
292
300
246
274
139
213
254
194
228
234
114
238
149
211
261
231
188
241
114
313
220
280
235
203
175
178
247
270
242
220
166
182
274
189
229
316
228
246
204
247
248
198
221
216
204
126
166
209
212
140
288
242
203
286
182
212
293
277
205
286
257
200
209
184
168
271
225
284
243
287
230
250
227
240
277
183
210
196
233
274
183
232
212
210
231
228
261
206
288
245
243
208
240
194
288
282
177
233
317
255
194
156
201
204
324
172
194
270
299
240
240
327
270
133
214
234
246
247
221
192
184
223
230
288
190
297
114
173
192
216
164
183
190
288
172
205
276
234
218
176
174
230
182
176
198
305
237
255
250
234
176
266
216
271
172
222
197
263
170
156
218
226
258
205
213
181
257
235
229
217
287
174
233
268
213
201
217
180
209
126
271
238
226
196
216
264
227
210
188
250
204
222
233
184
139
216
193
239
114
130
180
302
201
197
215
270
329
249
239
347
202
154
318
147
213
192
298
144
203
195
239
195
246
249
176
194
191
263
269
266
233
234
165
202
200
239
189
252
220
192
238
168
215
301
207
281
238
333
305
203
286
250
185
244
249
224
247
230
194
208
257
204
206
187
250
262
223
257
245
264
250
219
169
251
202
230
152
252
249
191
254
260
225
285
234
232
220
295
258
277
228
163
181
232
217
171
309
185
242
208
250
256
232
261
175
316
261
212
295
207
144
259
241
284
174
152
199
210
280
192
231
204
114
247
198
156
199
241
183
175
167
213
251
195
209
133
214
237
194
174
156
180
240
173
174
275
156
182
181
246
195
237
231
234
201
301
179
185
170
295
256
296
227
241
223
255
114
174
258
232
193
185
303
176
239
247
163
180
208
207
139
296
213
274
207
272
227
170
209
337
238
199
236
213
212
126
286
199
190
176
170
314
196
173
196
213
156
139
198
211
190
262
259
213
295
230
161
270
257
213
258
224
114
175
290
183
175
148
234
184
198
129
321
288
194
160
210
300
181
219
225
196
225
241
271
194
239
222
277
276
249
254
212
224
204
181
199
214
218
263
229
209
181
224
315
189
180
240
187
272
237
189
274
249
219
230
144
209
114
192
164
170
280
260
281
159
281
203
329
241
204
271
285
213
279
244
201
241
219
192
235
263
207
235
161
233
114
200
178
282
208
317
208
279
299
173
212
247
231
213
211
145
227
281
168
181
172
199
284
262
219
247
228
264
197
218
252
154
210
295
203
236
177
243
194
202
207
211
304
202
239
215
200
268
229
244
139
302
229
271
243
255
262
260
202
325
205
314
182
222
256
246
292
213
166
249
218
195
209
251
198
240
198
226
227
205
306
171
204
285
166
175
245
247
250
239
247
227
273
236
230
159
251
192
180
295
220
323
250
226
206
321
234
160
253
225
226
287
114
255
262
165
291
268
189
265
260
261
285
221
235
190
170
196
242
241
266
288
203
230
169
183
288
274
286
139
184
209
231
227
289
304
299
214
195
245
230
238
225
160
307
271
198
196
194
214
274
226
223
224
204
191
207
177
233
238
273
280
254
192
214
240
275
239
207
244
307
114
212
247
184
212
230
180
156
236
166
153
276
222
233
271
219
158
214
184
281
182
225
224
225
255
265
296
219
269
139
225
130
246
170
208
199
238
222
217
179
307
175
262
164
256
258
195
280
229
299
273
268
180
217
232
198
258
181
287
195
195
212
269
198
240
232
250
230
181
218
205
249
255
188
253
214
207
235
218
221
329
114
279
165
209
247
276
209
240
234
250
292
281
214
281
159
215
232
274
181
246
165
160
172
178
239
230
227
114
236
183
244
235
180
194
228
230
208
200
230
268
179
202
188
196
310
198
233
250
237
165
253
218
229
214
263
282
219
292
266
255
273
198
210
167
198
240
227
230
260
210
206
147
254
215
217
211
337
201
160
238
258
273
219
114
241
166
319
236
158
330
264
205
147
286
331
218
114
227
270
279
253
181
195
250
251
281
243
195
154
190
270
263
206
190
212
240
218
262
299
231
241
201
192
193
236
198
261
218
256
301
229
266
303
272
207
156
208
189
188
200
225
272
206
236
214
174
252
220
241
219
243
221
250
350
216
259
294
196
205
164
240
218
216
209
261
279
269
242
170
253
282
190
293
310
198
194
214
169
258
163
223
220
191
178
222
239
213
195
189
193
227
206
241
272
149
197
285
277
174
264
216
238
228
158
322
249
160
206
151
244
269
379
210
172
198
229
302
146
274
215
188
168
235
276
231
235
226
200
218
207
195
202
220
211
262
192
180
250
238
232
228
277
162
269
254
220
208
258
141
220
210
191
287
280
216
155
208
231
225
268
189
229
178
174
154
256
256
192
255
208
268
235
145
233
172
214
235
199
218
213
235
165
201
272
286
210
188
274
218
255
239
179
283
186
247
249
224
250
282
161
156
203
219
253
243
225
114
228
197
254
309
159
194
199
238
219
242
257
246
242
211
126
240
261
289
190
274
156
185
305
270
200
246
226
252
330
248
283
219
313
242
188
206
281
306
133
276
196
246
237
259
215
330
217
258
232
277
170
405
198
257
175
264
180
214
258
222
160
188
188
285
307
157
181
188
160
214
204
240
264
180
258
222
165
203
278
264
156
196
257
340
278
176
258
244
260
253
215
160
208
254
188
217
309
190
231
207
258
181
257
224
261
209
211
129
254
259
212
259
211
205
247
217
222
172
219
239
191
199
264
261
298
304
170
210
161
229
276
262
235
212
144
192
267
146
343
219
171
240
223
271
257
223
201
238
189
249
161
250
166
198
335
203
203
192
253
247
236
250
212
170
260
208
201
198
188
184
208
258
243
195
289
258
282
288
211
198
170
257
273
209
210
190
246
189
197
175
224
255
167
247
278
145
258
139
199
191
194
212
226
280
278
262
245
254
274
212
217
202
290
191
307
116
250
212
114
294
114
209
191
215
221
187
198
336
148
220
290
186
215
282
207
262
201
179
216
171
272
246
222
239
184
262
224
198
181
211
209
250
192
213
224
222
208
293
249
256
263
195
219
265
197
178
114
244
230
244
251
199
234
254
254
235
172
169
200
237
201
199
236
287
160
296
174
194
214
154
199
288
218
241
202
222
263
249
210
197
230
152
189
217
238
232
243
247
255
273
266
246
323
314
294
324
248
265
249
234
262
242
162
226
158
174
214
153
228
244
199
233
261
292
236
261
285
193
169
246
247
287
181
235
249
198
205
267
192
236
211
189
126
247
159
272
158
184
193
198
275
170
176
275
165
178
219
246
251
226
278
251
241
302
270
295
222
214
264
191
230
179
203
190
288
196
231
209
168
240
195
306
139
196
236
219
286
252
232
181
225
260
278
248
187
248
191
230
156
226
205
234
304
133
282
192
162
269
147
164
187
299
179
216
280
279
181
176
198
199
235
240
275
171
222
231
223
180
179
189
208
156
114
221
227
188
265
293
217
194
204
209
165
218
200
242
318
234
220
210
241
190
287
249
266
205
191
219
200
270
244
243
241
157
175
179
189
230
220
280
165
281
200
172
165
261
221
259
224
220
220
202
245
177
233
276
273
234
242
227
241
202
229
329
219
169
280
237
210
237
253
203
173
189
126
191
250
237
210
202
277
245
222
198
249
189
322
283
221
257
168
198
198
218
287
170
129
169
315
206
179
230
208
204
228
306
145
169
254
294
283
333
253
183
241
312
225
253
212
248
230
208
219
241
220
246
176
188
222
198
140
187
168
220
214
290
230
230
294
214
252
169
269
285
197
251
253
208
215
278
193
275
262
214
319
178
260
215
242
264
223
239
208
224
225
240
223
250
233
261
250
178
221
245
177
190
271
230
269
221
272
309
235
279
326
214
162
240
271
183
214
149
264
284
250
149
301
219
192
200
215
215
215
283
232
223
255
158
192
245
200
294
244
265
282
126
196
147
200
242
266
170
270
285
243
213
270
222
213
277
252
196
323
188
186
303
236
177
248
220
173
230
219
148
221
253
192
170
151
276
171
174
165
210
150
278
237
114
250
145
196
228
200
139
258
286
154
235
250
198
255
200
257
221
344
255
265
169
270
214
160
229
248
178
245
244
174
270
154
224
173
261
228
221
187
279
259
152
273
293
263
216
219
220
234
234
245
273
173
227
173
208
236
177
223
216
234
183
154
228
227
204
215
206
262
260
257
227
240
121
215
253
233
229
292
216
205
196
239
176
220
228
139
235
209
210
195
201
156
190
208
201
309
212
211
221
178
192
245
259
251
328
189
253
192
145
212
195
206
198
205
219
217
209
224
190
202
294
217
222
298
201
216
202
221
216
230
275
204
218
282
229
203
285
188
231
224
175
283
225
206
168
235
198
168
200
219
270
202
256
224
194
281
215
230
173
203
268
314
300
158
270
260
236
233
285
243
242
334
242
243
208
253
245
245
220
195
256
184
213
204
211
201
174
183
160
206
158
194
222
187
233
263
236
175
207
231
294
249
199
196
210
265
282
198
209
228
256
238
285
269
222
169
355
192
314
226
144
215
315
224
217
248
174
192
209
168
240
245
249
227
231
181
193
213
209
160
259
243
114
193
221
179
247
257
260
198
242
227
182
223
224
246
272
291
160
266
296
170
224
304
263
204
266
247
238
207
215
156
231
226
295
245
234
271
323
253
246
207
285
178
222
231
270
206
197
193
196
183
192
254
169
275
185
184
229
166
180
262
173
288
269
261
257
173
226
295
228
162
238
168
289
231
215
253
168
195
232
249
327
247
243
171
265
237
205
212
208
269
211
216
144
232
187
225
219
203
198
182
225
248
244
245
246
250
281
172
198
205
234
169
273
251
227
179
262
206
194
217
256
166
254
335
250
295
219
213
283
291
160
310
267
248
311
208
254
303
209
240
270
157
242
233
220
238
249
198
145
193
175
165
247
234
209
197
216
249
198
160
286
244
267
253
257
230
238
248
262
145
199
152
154
210
274
187
223
263
196
225
160
199
191
213
240
179
179
238
216
213
242
318
149
249
279
199
195
202
192
170
152
224
188
235
250
272
172
244
194
139
172
225
267
170
186
256
169
210
200
196
245
186
285
180
160
339
258
280
288
252
234
216
181
263
254
218
233
215
176
189
203
190
227
234
241
229
269
280
235
210
176
244
151
213
178
267
290
317
280
229
213
266
191
222
170
322
156
254
205
234
245
228
152
236
190
292
266
309
246
203
262
268
202
219
200
242
237
193
236
227
180
227
273
220
229
206
175
334
207
169
188
238
241
215
263
264
261
219
226
218
252
185
197
221
268
235
234
182
216
262
235
267
225
186
209
265
225
200
206
312
277
189
226
247
223
240
186
211
139
254
210
178
249
257
216
202
237
180
254
211
301
211
229
227
215
234
280
180
282
210
175
240
225
226
221
304
232
198
279
193
165
283
199
239
190
189
222
213
232
222
272
228
160
230
230
203
271
214
212
239
196
255
151
161
215
235
216
230
215
197
180
243
214
179
221
282
252
285
224
277
252
286
275
249
214
250
209
217
173
182
166
237
196
228
210
276
183
256
248
267
160
255
182
245
290
300
331
175
288
209
214
166
279
254
229
216
218
273
225
231
165
253
126
293
191
259
191
194
256
170
238
258
224
262
223
158
249
166
225
203
224
227
251
223
225
201
249
263
174
245
220
175
283
239
183
231
288
198
192
269
230
245
318
291
247
222
175
355
192
251
262
244
209
243
215
242
285
281
175
200
174
277
170
233
225
183
232
207
175
219
319
230
241
184
243
207
293
180
257
144
156
241
259
160
129
106
240
268
267
232
252
279
174
178
279
239
158
234
227
190
208
233
249
297
201
250
283
255
316
244
247
114
215
206
200
248
247
205
221
231
233
114
170
247
188
185
186
219
258
237
210
145
268
180
201
174
258
275
240
159
213
209
191
233
237
192
185
173
225
212
196
262
246
126
180
303
224
225
198
243
282
166
233
200
234
282
154
158
220
114
242
242
208
249
170
195
252
209
188
239
222
192
311
306
178
299
224
229
155
214
208
159
193
174
205
240
327
126
240
264
209
281
154
176
188
251
199
269
144
219
282
108
232
291
208
166
220
239
236
226
231
222
228
305
221
179
212
160
187
186
175
139
230
195
263
206
247
193
224
190
202
222
301
252
224
186
174
184
252
231
340
295
194
181
297
227
195
198
212
191
263
175
254
225
189
314
114
213
230
243
205
177
284
213
223
170
275
283
286
169
157
202
240
212
228
222
198
165
181
194
293
199
262
188
277
277
200
208
169
258
256
236
305
221
243
243
188
243
217
219
235
202
231
197
208
200
200
278
284
268
260
190
238
264
209
189
181
209
297
294
289
201
257
182
208
226
155
202
251
218
223
181
181
266
248
204
159
227
194
206
232
221
207
173
225
249
183
185
246
283
190
268
178
211
211
195
260
204
284
207
254
250
241
193
218
205
249
159
202
142
197
212
212
269
195
156
190
204
252
126
114
166
230
169
215
215
271
319
211
232
231
205
241
250
250
206
226
258
114
147
181
226
237
249
230
317
191
256
249
222
237
238
241
250
266
215
248
191
235
161
185
214
170
217
187
277
278
231
255
235
193
305
235
152
114
179
173
216
169
208
251
190
234
316
210
196
235
222
237
235
160
263
293
164
321
197
253
172
194
298
211
197
278
192
180
303
276
212
235
216
198
203
251
256
173
114
217
221
243
299
281
228
189
288
211
223
232
184
235
238
188
256
283
126
271
240
269
242
169
257
224
232
303
196
232
267
320
226
183
240
189
234
220
174
325
230
215
213
196
221
184
185
284
241
250
209
192
254
227
205
217
276
260
193
170
198
190
200
161
196
279
199
189
192
202
201
165
114
297
276
247
255
188
223
178
156
192
200
177
188
256
219
176
269
251
208
151
188
184
255
216
213
185
364
178
220
248
181
245
235
202
176
233
264
246
233
180
236
286
303
201
291
114
159
269
160
235
169
251
230
235
174
231
166
202
196
184
181
210
284
209
208
267
155
301
200
173
184
148
295
235
171
233
194
195
152
251
334
242
310
222
183
255
230
242
315
182
193
281
254
228
237
184
230
254
219
260
209
310
145
250
196
174
210
236
207
271
206
217
309
193
197
269
270
261
191
159
261
198
222
331
235
196
194
180
203
219
126
216
214
173
300
187
277
174
180
189
284
221
198
213
144
248
198
197
229
239
226
178
281
233
152
293
273
177
165
223
213
271
234
196
157
202
261
203
249
201
238
264
170
201
256
144
209
251
308
294
293
214
177
162
156
215
173
194
287
213
237
230
307
243
144
202
301
213
233
217
184
174
231
221
245
206
299
181
200
114
152
288
303
207
221
209
197
175
215
272
218
194
270
243
173
198
163
215
139
271
116
241
252
242
180
243
241
259
290
244
227
334
147
214
234
238
296
333
205
196
204
198
198
215
258
173
233
235
303
224
173
288
220
199
191
215
152
272
225
235
239
229
246
200
232
198
148
211
219
197
261
265
212
205
235
239
247
246
169
233
180
286
347
151
156
240
152
281
225
240
214
272
229
226
165
273
167
179
210
222
318
232
234
176
189
201
241
278
323
116
313
308
184
220
225
171
178
181
301
307
248
212
178
225
216
169
197
114
191
214
204
231
261
240
224
114
207
296
198
233
197
230
310
154
309
290
252
253
270
265
223
251
245
196
263
212
243
224
222
114
214
165
178
231
170
181
297
206
252
248
158
174
176
270
239
282
187
228
218
293
201
305
200
170
203
210
272
202
217
208
200
246
254
245
236
184
180
219
269
262
291
177
142
175
139
256
276
218
298
161
152
266
201
156
179
220
235
267
182
178
234
145
214
221
239
190
294
247
223
201
258
236
207
178
229
200
147
278
227
285
271
257
204
159
266
197
241
217
218
171
278
233
189
239
270
234
245
171
211
286
219
191
265
283
237
106
249
220
249
219
114
182
253
153
238
225
234
163
186
265
263
280
240
211
209
298
221
185
165
195
272
208
218
251
255
198
271
267
230
256
129
164
203
250
247
210
258
161
222
289
194
196
194
114
284
219
216
276
256
229
121
223
226
263
249
245
220
224
258
254
242
194
291
152
209
286
254
230
241
166
214
220
225
229
234
225
237
231
178
215
247
263
338
184
207
206
333
230
158
268
222
246
246
303
184
235
219
183
280
195
171
167
247
203
121
211
267
254
170
307
283
241
241
180
236
226
223
166
279
168
206
284
266
208
122
272
163
172
234
214
250
223
201
212
163
306
147
278
220
225
195
247
253
258
179
253
180
264
158
244
326
266
202
266
198
184
253
222
166
240
185
220
267
226
235
164
186
256
162
233
208
281
281
266
169
174
212
251
194
228
162
213
212
313
198
206
211
159
214
196
205
219
160
204
206
232
227
259
168
241
307
227
269
258
171
185
209
279
235
240
130
194
200
195
192
178
218
208
181
253
211
192
339
160
152
233
249
193
341
245
269
219
209
174
288
247
194
215
188
231
238
190
233
114
235
209
203
256
250
229
230
181
236
246
189
245
114
245
157
208
213
202
297
262
253
264
282
246
246
205
114
217
236
229
239
177
328
271
197
176
258
270
214
256
190
243
203
176
148
239
268
231
167
243
332
299
244
223
179
213
232
249
209
204
277
219
221
174
307
173
257
259
318
178
254
222
194
209
301
168
254
288
185
238
202
198
173
320
214
214
197
234
264
190
214
208
175
206
287
210
192
165
192
264
244
202
224
273
280
275
237
201
234
180
216
198
231
195
197
264
229
195
139
234
201
228
306
229
191
205
209
272
256
206
184
317
252
255
249
220
256
156
198
208
244
241
202
287
223
241
200
114
210
262
306
286
244
252
325
208
233
287
215
319
200
267
227
300
198
174
114
277
239
191
196
215
201
192
189
207
204
176
201
214
226
235
179
180
205
216
178
277
192
193
285
145
260
291
234
160
269
211
211
235
246
191
193
296
152
251
217
230
200
175
250
215
304
259
192
305
284
218
328
227
237
245
279
197
225
260
190
170
188
191
230
172
208
208
260
239
273
126
266
210
177
193
255
252
229
233
202
341
221
278
203
219
256
244
214
243
284
213
238
253
238
239
234
255
196
255
195
213
190
226
175
210
255
245
191
215
185
198
201
256
211
283
240
198
251
215
216
152
256
147
252
220
220
261
164
232
156
293
184
172
139
232
258
227
299
139
193
225
199
188
347
254
149
232
186
203
181
265
224
196
159
259
187
177
214
152
174
186
214
229
216
250
306
139
242
268
169
227
203
266
213
190
253
224
215
252
202
224
258
219
202
183
222
166
266
158
173
226
261
273
146
176
256
296
220
180
244
233
223
165
223
278
226
201
310
276
228
205
203
304
281
247
261
242
178
114
173
156
191
194
185
245
200
192
253
166
252
193
239
252
241
188
279
298
270
256
220
272
247
248
128
215
279
192
219
214
206
233
158
144
196
246
201
219
203
182
252
263
278
192
211
252
226
213
200
258
232
175
281
271
273
270
229
198
299
144
340
232
150
220
139
280
232
192
174
237
114
252
244
246
295
162
200
182
175
261
312
194
251
290
208
198
191
194
245
244
184
227
220
156
308
206
241
165
230
178
172
262
255
245
221
114
225
219
164
252
288
218
220
313
240
275
260
239
224
270
218
192
253
189
239
182
160
207
310
192
203
242
202
200
159
300
358
213
247
350
189
159
208
243
173
227
206
225
256
170
159
154
191
195
194
219
243
185
225
288
232
233
287
196
252
230
172
226
230
204
320
218
249
265
191
248
234
236
183
196
194
171
209
332
240
156
269
283
192
261
261
238
279
302
247
242
247
262
195
333
171
114
239
282
210
226
171
236
251
178
299
270
254
267
253
211
235
248
216
298
114
220
227
156
231
246
230
284
272
257
156
226
271
193
255
256
224
209
210
209
230
214
210
175
176
243
176
258
221
227
261
173
247
247
245
184
274
238
208
145
306
300
218
214
165
207
207
168
183
235
267
162
200
236
152
195
181
175
154
200
255
152
114
177
166
248
213
262
220
169
174
207
257
248
257
212
221
278
226
219
257
173
224
218
220
202
239
225
205
285
278
261
216
269
192
216
203
231
198
165
229
206
243
219
247
200
218
215
276
354
217
183
214
371
261
243
267
255
232
261
252
276
261
230
252
288
243
207
303
209
192
247
244
233
215
218
222
144
262
235
310
108
228
207
245
202
204
254
252
169
284
228
192
217
218
271
211
193
166
247
316
192
285
278
276
275
170
265
282
194
198
355
208
231
259
246
215
191
270
250
156
126
196
191
336
281
234
201
214
170
181
227
182
255
222
283
264
250
158
176
260
154
208
174
205
195
247
205
221
243
193
253
207
165
220
178
250
169
213
186
238
243
218
268
209
334
192
317
201
269
171
259
321
234
217
201
225
246
233
205
270
292
284
238
203
224
188
198
233
235
188
276
251
229
191
185
218
250
297
296
213
265
162
241
228
223
240
246
256
228
211
255
262
116
230
196
275
224
203
218
232
246
187
223
189
309
307
139
209
226
237
256
233
293
114
160
247
201
195
197
243
249
219
240
198
239
213
221
285
193
222
193
181
209
226
188
192
185
227
116
269
178
228
246
170
149
236
185
187
235
291
210
156
216
224
176
315
255
214
148
258
281
209
328
211
154
243
300
152
175
139
179
270
260
180
194
207
217
222
261
256
295
224
236
229
305
178
214
239
180
219
204
264
270
198
318
180
259
275
201
186
219
280
225
222
258
260
263
218
160
315
255
181
236
268
246
256
261
251
237
267
242
239
170
177
245
129
272
227
235
252
275
285
215
240
237
248
209
236
192
161
163
227
228
181
232
310
189
224
220
246
252
254
278
235
209
206
226
217
204
216
171
178
244
215
196
170
287
219
186
278
208
218
164
162
183
209
177
222
302
198
231
175
208
244
249
191
214
161
253
151
215
246
284
177
259
174
274
146
258
161
222
275
231
228
209
221
228
229
215
182
203
216
261
260
195
258
222
211
275
184
272
167
227
217
146
183
257
160
212
273
228
207
210
299
261
250
275
236
262
199
238
230
114
258
189
230
258
139
215
286
250
160
239
229
114
181
238
264
195
192
244
226
146
213
239
260
241
180
233
235
204
173
189
296
202
209
204
261
248
205
146
258
128
311
272
240
208
212
324
258
195
237
205
184
405
170
241
191
191
244
191
173
211
289
253
225
297
213
246
235
256
276
114
258
179
217
301
266
216
209
264
269
147
187
248
213
276
204
308
165
252
108
185
276
189
146
258
213
222
291
260
171
211
256
130
121
197
251
301
114
199
276
233
202
279
233
227
249
239
205
310
185
203
192
108
243
205
302
200
212
247
214
208
228
193
220
185
235
248
219
185
198
322
197
202
149
201
199
208
231
177
312
236
219
258
224
262
133
172
253
218
233
168
227
220
170
202
164
193
270
255
229
211
190
222
205
221
207
160
225
331
208
271
230
271
227
237
244
205
178
246
257
173
257
213
212
274
255
240
261
193
305
245
204
255
181
195
296
190
275
263
191
108
226
193
260
235
130
299
219
199
230
194
156
130
182
280
213
180
215
277
247
239
212
239
229
241
224
211
234
243
260
302
241
160
193
181
156
173
159
158
288
252
243
229
286
239
126
324
202
256
275
231
192
204
230
219
194
213
192
254
242
259
283
182
206
283
219
201
225
245
169
258
251
285
296
169
233
191
296
251
214
314
261
214
180
212
247
207
292
214
114
218
231
261
240
180
336
221
285
232
217
236
309
160
207
199
190
292
206
230
209
233
193
212
207
277
206
193
187
194
182
251
208
161
165
261
286
171
285
267
218
270
260
160
190
263
280
206
157
220
195
280
175
248
228
228
303
235
168
228
185
235
215
224
289
177
223
191
230
238
214
256
166
226
225
220
182
256
185
158
204
202
249
214
180
371
278
234
267
228
219
170
193
175
166
266
146
235
191
245
241
251
180
244
303
250
219
192
189
221
184
220
283
307
185
236
283
340
177
225
266
231
237
175
235
116
231
241
148
226
194
260
226
251
272
294
215
228
255
213
149
254
167
203
169
261
169
277
204
235
219
244
228
204
212
214
147
274
273
177
248
217
258
261
246
237
199
167
284
146
164
287
245
213
310
208
156
238
203
208
215
279
221
212
242
226
147
168
200
198
304
262
285
262
173
228
190
156
270
161
242
229
207
256
202
238
252
238
203
137
231
152
185
215
244
226
241
302
263
224
279
209
221
139
274
156
249
192
162
200
273
279
180
283
279
233
221
197
308
130
166
318
189
174
203
169
207
266
192
213
300
209
181
248
256
296
231
203
212
173
285
221
272
219
198
244
192
246
233
260
202
203
220
179
219
221
282
114
190
191
259
263
213
205
278
175
346
206
202
238
177
230
156
179
171
196
269
225
280
261
327
241
223
181
235
182
286
257
235
199
245
259
252
283
240
152
223
255
228
170
229
246
267
212
129
222
310
291
224
176
241
208
221
214
258
180
170
198
210
245
197
190
191
275
186
252
238
197
247
176
231
279
196
290
207
178
233
213
190
114
299
175
164
234
193
152
282
283
290
174
216
243
276
325
188
229
193
261
233
204
222
156
320
148
246
218
229
255
225
249
243
154
155
186
297
226
181
225
176
206
203
240
197
238
231
253
202
205
249
290
232
235
169
295
221
218
208
234
243
215
320
217
311
242
209
301
214
270
280
253
198
199
232
256
233
198
298
202
201
156
199
237
174
222
243
260
200
192
206
168
214
202
193
250
170
245
229
295
237
189
296
217
151
291
233
289
233
157
237
237
237
308
267
244
225
177
206
262
299
210
218
273
211
171
145
162
273
213
226
133
195
254
193
184
213
190
198
204
207
186
192
178
286
263
182
257
195
217
272
252
192
256
219
247
217
230
133
254
154
275
218
198
234
267
273
224
282
265
180
206
213
170
202
262
255
231
224
240
262
184
260
233
244
114
231
210
217
173
321
174
195
178
174
203
195
227
207
253
208
234
243
204
206
157
251
162
188
255
139
227
282
215
242
213
226
250
215
215
178
211
200
140
297
237
197
238
268
205
235
227
303
263
194
194
212
193
203
185
108
225
238
174
252
209
203
278
247
194
191
249
275
133
253
190
263
202
281
230
174
292
301
130
208
254
178
287
244
197
203
207
258
195
301
114
236
208
220
216
285
212
212
176
173
274
212
207
217
121
182
273
160
231
224
204
192
181
230
192
262
177
234
249
247
197
180
280
188
284
240
233
126
213
304
238
206
228
260
215
303
169
210
258
208
286
248
231
248
156
171
207
268
328
269
114
192
306
121
239
224
263
234
224
309
190
174
260
282
202
239
214
278
255
193
244
300
140
188
238
225
218
260
241
202
240
208
161
246
287
171
219
211
212
218
216
277
284
199
274
250
180
215
179
276
241
280
229
304
263
180
249
237
237
114
219
169
219
355
171
211
176
288
197
303
223
215
256
173
192
246
278
258
243
297
208
292
170
254
221
174
212
194
219
160
190
240
277
229
201
285
285
266
229
244
258
230
144
238
126
217
190
170
114
303
217
219
194
192
202
251
302
242
196
198
255
271
237
204
231
217
251
214
236
178
211
233
173
236
355
260
199
220
273
196
216
186
292
218
170
232
170
291
181
175
160
245
277
225
196
193
145
181
239
190
281
220
295
160
179
215
195
213
275
192
199
299
270
192
265
233
228
234
250
226
205
152
235
283
304
255
215
228
249
197
250
198
147
275
257
283
265
208
250
225
257
231
270
230
232
257
198
167
198
214
208
243
290
272
273
159
238
201
220
213
343
224
229
209
193
154
180
193
253
206
232
259
178
265
226
272
262
192
286
254
283
210
221
191
234
158
222
293
222
236
184
236
251
189
205
155
158
256
197
160
229
245
192
188
265
231
288
217
251
181
263
203
129
225
175
205
216
191
318
181
248
240
231
198
151
199
249
114
224
228
270
213
190
237
106
227
193
197
183
298
227
254
324
174
302
157
191
194
208
201
198
244
210
170
228
233
293
167
164
170
192
192
250
205
224
191
228
190
116
252
296
262
279
297
177
251
180
208
196
206
261
173
342
328
244
252
188
178
227
192
342
153
224
162
261
195
275
214
209
278
286
241
321
211
195
233
282
209
237
170
296
205
227
333
196
265
279
257
281
283
171
245
242
217
226
114
164
207
211
219
252
274
215
252
306
196
310
114
197
232
247
258
231
254
219
198
203
248
232
212
233
216
247
166
226
209
287
228
242
299
293
225
239
200
190
242
280
206
311
201
203
243
262
291
251
197
219
126
219
266
192
152
213
229
240
239
184
164
213
237
139
198
303
248
215
226
234
246
114
290
220
145
232
212
264
232
206
287
174
200
253
198
214
252
233
173
214
277
208
173
178
272
158
169
197
182
181
149
301
173
209
313
287
198
251
241
223
234
241
265
247
156
267
224
179
244
241
188
190
207
210
292
264
290
257
178
291
221
252
297
257
228
219
217
166
206
216
367
237
272
210
274
287
227
250
226
292
271
214
282
240
247
213
217
201
228
215
219
269
181
270
217
173
237
209
212
241
223
267
214
214
181
255
213
185
207
178
200
194
182
219
201
245
208
290
153
228
207
215
246
147
236
166
297
225
197
237
211
221
246
203
214
236
317
203
151
263
194
252
214
241
215
243
185
221
287
258
299
225
200
183
213
156
182
164
219
220
242
259
192
243
330
278
216
205
158
160
300
241
222
265
175
197
269
156
191
221
227
199
211
116
202
206
231
233
253
264
279
214
243
204
211
231
230
285
178
169
239
236
225
265
302
302
228
228
152
203
167
191
281
242
280
238
262
149
196
177
279
223
234
195
228
209
164
387
241
261
312
183
180
241
160
221
212
267
284
130
173
184
251
203
264
261
194
224
214
156
184
248
198
232
178
216
222
228
159
219
212
250
224
294
169
144
208
263
262
222
213
187
253
173
218
243
170
222
238
177
220
171
266
254
237
144
264
198
162
270
200
266
176
227
229
241
178
283
195
335
211
185
213
156
187
252
354
215
228
301
248
291
244
254
235
246
267
225
232
192
176
182
330
182
259
211
199
262
256
202
272
295
210
213
161
216
181
216
223
116
309
291
213
284
193
250
208
176
229
214
227
225
234
154
228
217
224
162
232
229
189
145
219
174
242
248
198
114
306
249
220
193
238
252
272
250
222
177
313
308
245
258
252
251
196
226
178
170
271
149
209
323
260
239
263
315
243
243
255
330
221
214
148
239
199
182
191
198
263
233
220
162
198
267
237
281
214
204
217
164
225
185
145
166
237
252
245
215
231
238
130
265
236
173
180
156
246
179
240
246
271
175
219
193
232
206
243
193
193
245
139
256
248
278
237
154
160
261
182
259
168
276
216
250
205
216
147
206
253
218
207
233
250
225
298
214
217
310
240
250
302
250
320
228
251
325
219
270
224
244
249
173
178
246
210
268
152
178
170
173
231
219
147
275
152
203
190
200
182
198
256
217
255
174
128
185
169
280
202
166
193
256
164
213
242
219
146
240
309
237
226
129
308
223
228
301
213
227
224
334
230
271
231
213
235
253
251
230
209
196
139
313
159
227
236
236
240
189
283
163
178
247
256
181
301
229
236
222
280
208
219
301
260
213
184
188
245
285
224
211
265
238
228
262
202
188
281
226
208
231
187
218
114
259
187
188
247
246
156
178
193
259
275
208
247
235
179
257
178
251
265
202
165
274
162
175
266
272
250
231
129
198
181
196
193
199
260
203
168
225
190
195
328
237
269
188
214
158
226
260
239
160
180
303
162
286
261
228
145
217
243
198
278
235
194
282
182
198
265
200
235
240
249
186
252
207
211
185
281
243
226
195
256
309
156
214
254
213
227
214
257
240
165
238
289
309
206
238
274
231
214
260
267
295
179
224
203
205
241
158
237
172
184
239
173
223
228
198
201
233
250
163
229
205
196
242
162
181
229
255
169
188
243
257
323
236
199
205
319
217
205
293
223
242
269
201
248
208
236
246
190
270
196
223
224
319
277
230
220
173
192
169
176
243
196
258
258
192
185
159
243
197
213
182
195
176
152
302
276
285
220
189
289
249
207
276
231
156
281
211
291
228
221
277
170
213
222
187
178
203
256
322
208
277
229
190
171
262
259
243
185
250
196
242
276
195
210
222
279
227
172
148
232
264
257
216
237
264
200
191
190
213
200
253
257
234
233
292
197
234
243
307
205
204
253
247
234
114
274
289
282
241
263
255
198
206
208
239
276
261
315
214
152
294
233
222
213
175
222
244
238
321
292
210
176
251
180
248
216
225
195
211
257
170
233
242
211
299
194
235
269
241
190
283
191
311
194
168
211
234
195
271
324
279
187
212
278
219
240
246
223
279
311
328
193
289
198
191
208
286
235
245
248
209
250
263
214
238
288
233
284
262
234
219
175
247
188
180
126
232
201
315
292
174
253
203
270
211
313
258
195
242
324
203
253
242
228
239
204
214
162
157
273
197
230
262
220
278
210
241
300
208
252
205
178
151
196
207
267
205
196
197
167
261
214
289
253
256
208
217
221
288
221
204
266
167
231
207
293
241
252
237
241
212
202
222
244
208
180
219
144
222
192
264
193
167
296
255
305
232
257
223
232
247
217
214
206
266
280
233
223
247
241
159
247
210
280
293
170
249
273
228
156
204
241
289
114
200
255
153
195
254
114
217
292
158
220
247
227
239
171
273
157
208
263
190
224
250
311
204
236
222
220
220
207
272
160
232
114
188
242
243
196
233
161
237
187
188
290
254
259
264
238
203
317
244
330
221
215
272
206
286
245
233
206
159
182
210
220
331
121
254
170
146
175
264
220
277
242
239
280
214
212
222
254
170
121
199
193
188
229
236
175
223
259
241
186
175
247
139
265
281
244
269
254
177
304
215
262
231
157
198
274
263
187
263
239
194
274
239
176
203
206
265
207
336
327
234
266
121
244
207
229
252
176
191
192
202
168
204
247
295
206
145
182
182
189
268
264
278
277
279
222
231
292
156
215
292
236
189
147
275
222
216
286
215
170
160
201
222
248
146
267
177
197
253
198
235
164
214
252
197
268
179
228
252
288
219
223
237
177
276
211
158
194
206
156
302
241
172
204
240
218
213
220
213
198
186
170
297
211
241
308
206
181
250
206
237
177
252
167
198
175
259
346
235
299
145
223
322
173
285
156
213
223
203
284
251
212
139
292
231
294
275
223
234
263
230
203
279
155
297
225
175
268
221
168
197
170
312
252
204
285
166
198
151
181
147
244
195
170
186
194
286
250
176
199
179
286
269
241
191
227
274
200
365
176
228
308
292
259
219
172
149
235
155
181
237
275
280
296
200
238
278
277
255
234
186
276
166
272
214
292
208
160
232
211
227
256
249
240
171
239
200
171
213
262
241
258
180
213
226
251
238
173
165
249
200
198
192
170
199
237
274
256
145
242
228
249
262
235
257
253
253
232
222
239
237
249
182
236
225
126
258
215
157
224
219
268
198
179
308
246
246
248
265
272
192
250
204
194
266
216
206
198
259
114
184
282
225
212
282
228
212
245
221
225
285
201
257
195
217
198
300
266
177
232
289
211
264
162
237
261
170
293
359
219
194
173
258
336
181
263
242
231
263
164
183
221
243
240
287
233
204
227
194
241
179
195
253
200
311
184
330
267
244
193
184
205
242
217
168
173
231
226
261
168
211
268
309
211
238
213
242
210
244
367
163
225
240
230
108
274
147
225
154
312
297
261
181
282
216
268
258
251
250
254
268
149
206
182
309
237
265
114
233
259
163
252
227
177
222
216
199
234
170
223
227
210
203
162
192
209
229
238
242
151
235
177
200
191
237
203
249
147
206
282
292
238
208
293
175
220
221
219
158
195
193
208
284
226
227
182
224
310
206
228
311
225
193
269
181
200
178
200
294
252
203
183
238
172
194
270
346
129
265
133
188
243
204
144
192
166
242
196
196
208
191
191
237
180
228
266
190
232
196
137
114
194
194
139
200
158
258
250
231
216
189
285
151
229
234
389
336
172
223
143
236
221
218
221
181
250
229
203
139
177
332
320
239
241
261
252
244
204
192
254
233
193
198
211
206
245
152
144
229
248
161
282
225
234
239
212
301
313
170
151
176
114
197
225
237
162
195
221
264
263
145
210
210
337
191
226
249
262
207
244
255
224
214
114
146
211
300
281
235
166
195
207
248
243
301
231
270
205
215
198
221
285
164
205
260
263
228
224
177
228
199
202
267
178
283
311
288
225
228
148
292
207
250
230
288
240
190
176
108
247
184
254
178
251
180
214
178
139
114
195
267
203
285
193
232
247
318
198
256
207
225
324
245
237
237
225
233
219
177
275
234
266
306
314
234
202
272
260
234
106
188
285
210
255
221
249
216
232
202
232
114
196
305
157
221
244
237
237
229
222
165
248
195
202
252
160
189
252
227
221
237
212
213
177
181
198
180
211
180
295
219
241
261
210
235
236
209
219
252
177
297
214
185
218
251
318
230
222
217
226
168
249
139
207
220
200
185
121
300
279
216
218
271
282
277
198
191
178
264
241
238
209
210
215
253
213
261
241
232
210
196
278
317
278
258
240
279
211
211
177
160
278
282
258
217
208
146
185
264
283
250
149
216
252
169
213
267
226
238
217
188
235
265
218
177
179
297
205
291
219
244
246
228
253
308
187
158
238
195
360
207
303
203
298
145
169
207
215
130
254
275
188
214
348
311
222
191
226
243
213
270
247
232
211
210
283
201
275
151
219
240
295
245
237
114
282
215
163
235
251
199
209
244
256
293
356
245
257
198
251
248
181
242
162
256
209
132
209
139
204
218
203
208
180
234
213
170
277
283
218
211
208
221
258
210
235
244
114
224
246
166
216
185
255
237
204
269
191
232
239
178
171
261
161
180
253
114
309
221
225
204
291
272
268
166
251
181
234
196
223
148
114
178
226
287
156
198
311
190
232
233
367
228
304
240
210
195
273
233
222
305
282
211
227
114
198
182
234
174
212
203
200
196
214
208
302
212
172
261
192
247
190
207
199
188
223
193
196
156
187
289
141
231
206
279
215
178
217
213
265
250
116
310
305
262
176
246
211
366
286
185
271
238
211
181
205
193
286
248
216
258
200
262
253
216
193
269
232
210
223
244
267
204
305
146
293
237
265
177
203
250
191
256
240
147
179
145
202
199
202
201
233
181
178
232
186
239
205
204
213
244
285
201
317
299
231
106
283
238
164
263
250
168
226
187
210
214
268
145
263
183
316
197
218
271
218
190
188
190
149
166
247
169
249
205
251
260
325
302
168
211
266
219
270
196
222
201
245
266
203
175
180
286
225
108
214
271
294
235
243
221
284
225
172
209
253
257
307
150
239
258
193
180
170
151
169
206
245
247
151
266
258
302
235
234
262
251
256
296
246
268
203
275
231
224
172
180
213
171
274
286
229
264
220
262
216
195
254
237
246
296
318
229
263
201
274
148
159
190
200
163
302
263
201
162
156
303
228
220
246
207
202
230
186
256
156
167
196
242
108
225
330
261
226
183
258
195
187
244
229
173
261
237
230
217
296
250
156
196
229
206
281
133
224
210
251
266
152
189
212
257
233
166
209
281
240
193
183
253
197
239
261
270
163
170
269
245
267
212
188
214
296
195
218
190
258
210
216
286
281
262
239
256
224
253
223
201
181
198
269
196
209
152
166
244
235
259
200
279
227
205
262
198
211
114
192
195
222
194
259
217
199
253
260
251
170
235
228
236
204
246
202
170
252
236
223
177
237
200
173
148
227
192
186
165
173
225
164
275
181
245
186
203
193
300
232
249
179
241
186
220
171
206
245
266
181
209
169
162
259
237
194
130
196
198
175
273
273
146
281
304
170
217
200
246
192
203
330
186
168
294
189
226
158
249
223
228
162
247
219
229
262
156
221
114
205
302
228
231
322
209
289
254
181
208
164
160
286
240
197
273
249
288
199
268
265
263
182
204
183
288
250
196
183
218
175
254
203
149
245
224
242
264
254
226
210
196
233
164
248
313
254
232
241
254
146
164
151
155
192
212
262
277
219
247
300
213
151
248
188
212
251
235
200
192
222
259
221
114
247
285
189
106
216
271
225
251
179
238
135
175
175
180
194
196
168
198
207
178
241
167
258
272
222
297
114
259
180
206
187
267
268
238
283
150
290
232
211
253
181
168
212
236
357
277
176
256
149
242
211
250
184
225
222
265
178
187
202
164
234
211
160
144
192
177
191
289
211
281
223
181
280
185
225
260
257
173
262
178
228
170
216
263
181
215
259
246
270
184
239
114
166
175
299
205
228
244
178
220
195
187
296
203
298
281
299
289
257
203
168
231
196
170
254
252
190
290
178
170
126
160
311
240
148
229
192
257
206
237
266
270
213
237
313
250
195
286
326
296
234
161
192
254
193
231
244
283
235
294
220
241
238
195
223
274
247
204
244
246
239
237
261
226
238
235
317
288
243
316
160
244
174
190
261
259
156
233
157
219
291
182
152
239
326
128
173
190
273
200
272
234
303
215
268
276
186
233
223
199
260
166
223
216
220
244
218
189
200
195
179
245
258
145
249
195
241
242
309
201
220
243
204
290
223
245
174
264
241
181
225
220
232
275
268
289
299
258
254
184
217
241
184
194
281
181
241
216
229
215
152
318
282
206
174
176
169
227
169
212
206
215
234
248
195
198
152
208
170
207
223
215
182
178
295
116
264
192
145
325
217
263
246
270
245
220
225
201
266
251
229
195
246
269
191
194
126
231
273
258
250
294
245
152
181
177
151
219
270
239
219
226
225
302
260
273
268
177
236
246
237
247
178
190
260
212
300
295
176
245
247
309
181
307
222
263
266
207
158
269
262
294
205
224
158
245
188
209
241
202
295
178
192
267
239
203
199
229
264
212
184
156
245
164
217
243
144
291
199
165
256
239
224
229
219
240
219
178
193
211
197
214
316
184
211
287
191
204
184
211
270
181
167
276
242
238
223
176
276
183
151
277
224
162
168
248
197
192
228
173
214
283
262
262
174
249
233
263
268
244
175
202
273
336
163
248
216
223
197
233
175
240
299
225
203
188
251
230
218
268
183
217
251
232
299
175
126
259
161
218
218
204
231
228
202
251
271
231
222
218
147
267
219
173
189
192
262
357
202
209
231
223
176
238
225
207
204
258
271
203
220
195
201
169
221
259
215
231
218
213
187
260
219
181
260
206
262
260
114
188
197
280
238
179
211
114
149
367
234
223
267
282
152
212
228
186
152
255
328
165
265
239
222
163
158
175
218
207
164
152
211
244
172
214
209
192
265
173
191
168
242
304
199
196
235
159
361
332
178
224
114
222
215
278
246
181
170
240
195
144
195
146
243
215
173
175
192
331
211
199
182
156
296
157
191
185
254
257
249
179
232
151
261
229
215
140
201
222
229
241
182
232
278
265
181
242
193
277
194
206
193
248
255
160
180
199
192
209
255
217
157
239
209
195
252
272
228
275
251
175
198
266
177
274
296
198
152
263
228
191
260
264
213
234
186
152
212
225
250
284
214
188
170
184
174
232
173
258
290
207
293
203
294
314
181
156
211
260
192
276
233
273
198
199
243
252
203
177
174
267
227
184
247
199
230
164
170
231
228
218
273
185
236
237
294
197
227
243
191
281
320
209
203
173
256
236
223
194
263
192
173
220
200
193
240
234
219
237
269
227
250
214
192
210
232
164
170
149
188
268
213
213
259
263
262
208
139
302
196
227
228
246
196
358
222
248
184
196
250
243
232
235
207
275
126
284
253
219
252
196
211
262
232
224
234
184
307
165
227
202
238
246
254
191
175
257
249
235
225
199
175
260
186
184
211
189
209
174
194
236
243
195
255
198
217
179
279
224
229
191
216
222
179
249
258
240
248
199
249
203
213
262
268
215
241
209
199
169
273
176
261
184
313
193
247
214
236
194
190
169
248
268
255
212
238
283
179
214
166
211
229
272
211
226
181
164
260
243
274
248
173
245
178
187
314
264
226
284
244
293
207
248
241
284
206
191
189
189
178
214
184
235
271
219
234
192
271
249
238
244
181
114
262
173
223
265
253
227
157
198
237
235
220
183
229
260
292
174
213
202
235
278
208
220
181
179
234
185
183
237
209
232
236
281
209
236
269
257
144
327
262
227
190
186
133
273
240
169
302
297
306
164
229
218
181
230
240
252
168
178
244
192
199
247
210
197
248
188
194
297
247
114
202
240
174
261
260
179
219
194
166
280
289
223
175
180
180
151
269
194
219
175
169
200
256
173
233
219
179
249
315
178
202
255
214
160
287
243
258
203
276
264
219
283
162
238
260
227
186
250
296
248
249
216
210
228
180
269
186
225
315
202
267
222
200
261
267
260
200
227
285
281
300
203
243
265
257
249
267
167
228
215
228
236
266
201
235
235
246
254
214
269
258
235
247
207
238
175
186
195
368
159
212
223
228
208
195
182
298
219
194
286
267
149
245
180
198
220
139
290
176
286
185
166
191
336
225
160
208
224
262
173
231
234
217
221
126
247
273
246
236
233
298
151
285
243
301
200
218
168
212
259
213
265
221
275
220
203
170
183
221
257
306
173
189
152
194
198
226
198
147
216
193
239
260
209
253
257
193
199
216
212
241
215
149
236
195
201
202
273
219
224
295
200
206
198
242
255
215
229
144
271
247
235
181
227
198
259
195
237
249
223
259
232
209
239
185
175
206
262
213
234
184
280
161
266
224
285
282
272
218
222
171
165
245
349
247
145
230
199
170
194
210
229
271
260
216
299
167
221
179
194
307
272
221
207
207
211
221
212
164
258
297
230
266
247
272
265
215
182
239
285
114
216
244
160
278
210
283
229
145
208
240
227
229
213
181
148
223
235
276
230
278
215
175
239
222
301
256
253
231
221
143
222
229
174
297
147
205
200
283
229
226
204
237
213
202
216
238
177
228
192
288
158
181
266
231
235
184
156
250
285
215
229
226
308
310
184
285
133
235
235
256
313
173
260
219
213
225
230
252
169
193
227
228
269
247
188
213
156
287
186
224
257
226
220
207
230
233
219
236
248
139
224
243
197
198
216
211
268
163
207
158
185
331
106
139
219
222
204
235
244
243
255
254
227
347
160
225
322
156
217
217
178
201
312
255
116
219
282
220
200
126
278
225
152
219
182
223
269
241
207
231
211
246
195
213
215
273
195
294
270
256
259
235
191
252
223
239
222
246
183
224
156
281
220
189
266
297
157
247
209
236
219
114
234
211
219
227
259
217
270
259
254
251
285
152
133
245
174
216
191
273
294
295
158
269
324
184
182
257
210
246
235
227
273
304
239
174
171
288
216
202
286
295
219
187
304
229
177
266
276
255
226
227
213
183
233
145
184
181
263
114
247
216
228
221
287
293
200
242
272
267
153
254
237
215
255
195
243
192
191
239
241
188
246
114
231
226
245
192
263
250
294
166
139
310
268
183
241
279
217
146
259
215
297
215
222
208
296
217
265
240
231
139
252
231
182
288
240
196
218
216
238
314
231
177
257
195
188
173
158
148
212
221
292
216
183
295
243
238
246
221
241
178
147
178
242
250
194
256
178
183
314
189
228
253
260
146
248
223
191
268
298
218
164
229
174
146
246
164
264
156
176
221
279
298
149
194
200
219
175
227
193
307
204
222
234
189
216
247
198
188
238
174
202
204
244
192
306
327
231
126
223
197
265
114
205
145
243
211
197
157
315
230
236
229
193
197
158
229
206
195
211
223
356
219
242
282
254
248
273
218
251
252
288
226
229
227
192
223
272
146
195
278
192
172
205
270
203
278
229
212
261
244
225
175
181
174
169
307
184
287
245
191
209
227
216
212
221
181
203
219
262
182
231
272
296
175
302
235
259
240
219
217
227
180
220
254
277
326
170
179
245
235
321
209
161
213
209
229
199
201
299
232
220
192
275
208
238
290
185
230
294
229
230
329
210
201
235
273
146
274
305
284
223
257
271
224
200
178
236
232
192
195
221
166
364
239
212
242
290
233
114
184
261
156
215
200
173
204
204
258
171
166
226
218
265
286
302
265
190
198
196
168
184
315
236
220
284
220
342
176
237
155
248
272
203
293
230
290
289
289
161
180
240
240
249
178
223
234
235
277
174
248
173
236
200
236
209
238
214
188
230
207
126
293
299
288
163
235
147
216
242
271
197
247
234
212
230
313
250
256
262
250
231
292
216
245
260
158
214
297
226
205
174
201
194
158
205
213
238
219
234
277
189
181
173
207
230
309
283
260
180
255
275
202
280
335
261
234
249
171
174
245
149
189
218
288
278
197
216
263
195
188
228
273
222
243
160
308
262
282
219
147
368
166
206
200
218
230
241
217
259
195
200
228
192
156
186
211
147
163
186
241
269
200
167
181
202
198
265
233
253
232
183
162
197
235
185
241
249
222
234
252
285
241
161
254
233
178
252
297
355
207
141
190
235
226
234
201
317
209
176
259
267
186
196
257
106
267
220
291
299
269
207
223
259
169
236
206
264
258
199
259
197
203
233
250
216
176
228
268
311
249
156
246
181
230
222
217
229
202
190
254
276
218
258
219
209
183
226
212
316
293
260
241
233
231
238
175
191
270
198
262
230
267
214
255
186
243
240
214
274
167
235
244
283
247
237
178
207
243
176
195
292
230
282
203
213
243
221
129
267
188
282
144
230
156
270
222
244
175
321
304
267
209
250
210
167
302
190
213
170
250
233
287
210
177
312
176
252
262
197
224
242
242
332
193
305
201
244
214
190
165
328
251
289
221
228
317
233
211
188
175
290
194
182
213
244
256
223
244
190
218
306
220
240
172
295
180
174
192
226
298
247
321
154
267
170
196
229
240
204
238
186
222
194
287
205
234
201
254
313
178
264
244
247
192
225
253
242
244
286
193
207
213
243
198
225
172
271
190
253
256
195
284
255
226
244
196
239
160
204
295
152
233
243
249
262
197
275
288
245
234
186
189
250
274
255
221
225
223
294
237
268
177
245
218
241
221
254
162
195
199
276
224
263
218
289
170
261
191
218
234
116
223
188
160
203
174
263
218
226
170
232
261
234
222
173
175
234
227
303
186
200
205
201
349
247
296
289
175
209
165
223
167
297
156
239
217
218
286
243
222
208
215
311
252
362
268
213
184
282
305
240
293
302
222
210
211
221
170
192
220
206
192
197
194
230
249
286
226
198
246
193
251
128
161
235
279
192
242
194
223
154
256
245
182
159
254
268
224
186
154
224
314
255
219
287
243
248
223
236
260
208
207
214
205
290
229
191
229
191
205
215
248
222
297
193
215
297
258
173
139
215
108
168
212
173
178
168
152
262
249
190
173
202
197
285
209
281
248
204
248
241
130
306
234
219
141
235
203
195
284
236
214
292
223
304
174
293
294
229
208
178
184
191
164
198
195
279
248
196
248
218
214
145
261
229
275
160
207
248
156
139
192
201
195
210
223
250
252
251
238
156
181
294
217
179
234
156
173
263
204
202
166
169
275
154
241
208
269
196
272
249
215
249
231
190
289
310
233
263
266
246
224
183
251
236
293
265
213
228
237
232
169
204
253
290
247
229
170
210
171
203
216
226
207
285
178
186
286
263
243
246
305
248
287
211
170
181
198
151
262
235
192
245
265
224
253
304
223
225
256
250
296
306
287
241
222
271
307
207
190
205
296
156
151
311
174
192
201
255
198
279
293
208
213
195
228
213
258
228
264
170
282
316
196
158
306
254
238
276
132
310
262
184
234
248
218
161
310
185
180
247
240
220
231
215
161
230
187
263
238
210
219
192
215
169
196
200
291
251
222
190
231
179
199
217
192
226
224
195
163
190
241
179
180
194
228
323
149
275
198
174
230
192
178
229
365
179
228
200
238
251
205
198
191
281
233
210
334
188
201
264
211
316
339
254
354
190
214
233
170
229
248
215
210
205
198
261
277
201
209
193
163
274
226
250
269
219
308
193
238
189
194
264
220
314
158
178
223
225
285
158
198
248
178
233
198
257
292
214
207
209
210
211
251
215
288
262
242
257
235
260
283
216
225
212
218
195
185
194
215
233
264
212
214
334
341
195
238
202
206
108
194
207
249
169
197
226
178
245
220
234
250
233
236
144
236
185
237
270
179
248
218
221
261
323
219
251
176
139
232
213
256
188
243
229
245
257
258
302
238
347
186
227
218
229
168
219
183
267
243
176
195
229
190
306
195
234
306
223
308
214
197
203
198
173
184
195
270
181
234
215
228
242
218
203
144
212
228
270
225
265
244
211
254
166
161
219
154
219
152
272
254
170
289
211
186
206
307
260
255
187
216
180
213
213
247
193
178
260
250
247
129
157
228
192
203
278
209
280
283
231
228
199
330
155
231
297
242
238
204
114
250
273
255
175
208
220
262
251
228
178
236
183
265
194
262
222
188
248
240
214
240
313
264
230
200
282
146
270
367
169
180
264
226
336
224
222
227
273
232
181
192
192
286
194
199
211
212
225
237
253
219
220
234
247
229
234
274
209
179
170
151
227
245
222
200
195
194
281
207
192
238
294
198
262
322
158
191
207
245
284
206
272
116
314
170
216
191
288
270
234
251
178
235
162
292
145
272
146
214
232
324
242
218
217
200
198
231
208
267
263
176
295
210
183
223
321
279
264
154
246
188
220
329
299
192
238
126
260
187
255
162
200
177
169
220
215
247
195
210
173
339
257
184
169
277
232
221
263
257
308
256
212
213
189
152
288
144
203
162
282
236
244
232
184
225
251
186
222
114
151
235
202
296
214
178
252
215
273
249
238
178
273
240
281
139
195
168
185
163
173
228
267
220
237
210
248
242
292
273
208
219
219
200
249
262
291
222
251
254
221
178
296
283
179
180
186
192
198
194
190
192
178
231
248
189
218
264
256
270
295
248
224
229
186
166
247
198
195
173
114
175
252
108
181
191
272
221
273
260
184
114
236
259
246
223
194
228
290
282
243
244
233
213
188
262
175
232
298
194
334
229
249
193
230
239
166
206
200
235
229
178
206
227
207
251
218
231
213
129
216
200
243
186
300
114
215
167
226
229
151
286
216
210
307
271
163
292
225
220
248
282
241
221
248
275
160
207
374
231
298
202
268
184
217
189
253
210
232
198
126
240
234
270
192
234
234
253
173
158
176
239
229
232
330
154
173
257
195
232
139
216
188
207
276
204
205
204
239
207
242
251
196
235
311
247
238
255
172
279
230
181
230
145
249
178
218
210
215
300
214
221
176
226
220
146
182
263
208
139
212
220
197
347
216
270
242
157
215
182
209
198
248
226
172
247
309
267
263
212
169
180
291
190
316
248
258
247
232
349
233
166
266
178
200
214
254
265
255
156
184
235
149
164
183
224
261
187
160
327
262
235
229
226
271
203
247
194
249
178
232
202
261
200
258
203
229
246
213
200
152
200
149
178
207
254
178
313
257
221
248
249
176
202
297
211
254
232
221
246
229
186
247
272
205
241
147
258
251
206
216
295
270
257
213
193
309
194
195
199
210
195
195
280
256
234
241
269
198
268
234
225
231
264
152
215
184
194
210
219
248
284
204
175
219
292
171
220
220
196
216
194
196
309
225
116
209
174
250
244
225
231
193
223
294
220
208
229
264
221
219
258
203
200
234
180
194
237
271
189
255
215
299
237
252
177
249
238
239
183
268
128
200
151
156
243
209
170
249
234
216
300
287
151
215
206
245
250
188
270
240
225
201
232
191
229
201
177
292
284
108
236
294
225
222
184
233
284
114
194
275
226
237
171
218
303
264
114
327
162
249
215
130
217
251
196
195
152
292
280
210
211
281
144
251
190
114
198
151
216
271
235
215
240
151
239
213
155
203
200
232
229
210
206
232
220
214
265
173
154
238
207
243
161
247
170
200
263
229
274
192
299
227
209
252
196
230
213
214
305
149
230
323
228
155
175
206
291
249
198
174
173
176
233
271
261
218
199
253
230
292
182
214
243
240
191
260
176
195
279
277
350
213
233
254
236
257
166
192
202
218
160
216
182
225
225
294
267
213
156
198
246
242
162
226
229
196
178
195
237
181
228
260
182
196
188
299
198
255
210
273
181
191
225
192
296
196
218
181
223
234
231
290
126
244
262
234
192
192
114
246
213
253
222
264
276
194
276
246
173
221
241
213
217
208
228
225
263
200
184
177
278
192
217
256
214
149
227
188
183
232
273
225
202
232
254
238
260
237
179
239
208
307
235
181
243
185
165
287
175
209
244
241
249
152
286
202
204
191
245
293
245
244
226
287
179
253
344
291
189
179
302
213
183
247
249
183
175
249
287
314
240
239
175
218
420
225
198
200
262
236
279
262
299
289
157
287
239
342
207
158
260
151
206
227
263
198
161
254
243
193
181
221
275
209
247
168
184
205
172
240
210
172
281
157
207
195
218
175
275
229
251
244
220
209
340
343
265
297
234
175
238
248
228
217
326
185
295
208
184
234
227
219
192
272
235
244
304
152
236
258
253
227
247
187
272
247
223
234
248
232
201
228
267
238
181
250
231
161
215
233
281
221
251
279
235
259
264
226
238
267
237
327
213
249
289
223
262
192
169
154
194
152
262
235
225
178
310
222
213
253
244
223
160
201
255
193
179
160
225
185
160
211
206
238
176
235
213
253
279
180
198
201
284
116
235
262
175
225
218
214
245
302
216
214
166
279
168
189
144
254
235
231
283
216
204
292
274
262
175
254
231
204
256
235
204
253
237
178
242
228
242
165
177
233
198
177
304
234
202
247
297
261
166
206
222
176
243
209
202
254
279
197
206
277
267
193
272
246
173
149
245
243
157
276
213
226
246
229
246
235
249
167
233
237
258
197
195
156
217
242
126
185
180
191
239
238
288
238
265
206
196
217
175
116
227
192
211
126
148
284
166
198
206
232
221
214
206
210
270
177
227
208
221
305
198
207
170
248
193
206
216
191
235
240
229
277
181
277
265
202
210
320
235
195
294
222
194
208
173
259
191
285
206
221
249
209
288
307
276
252
194
280
227
188
252
263
215
240
194
192
238
196
274
219
195
233
196
259
251
309
298
196
258
215
241
332
281
230
249
245
259
192
170
332
239
215
221
208
246
197
204
200
194
210
335
192
280
259
282
189
241
218
261
173
207
196
216
274
223
201
168
204
201
196
256
273
308
240
205
239
186
215
192
188
203
335
211
269
339
220
319
180
271
287
236
208
214
211
251
266
247
165
236
266
202
175
197
225
221
287
333
246
229
238
180
224
252
224
295
252
202
194
182
267
247
238
199
248
244
209
235
233
220
220
206
213
245
162
219
311
114
252
217
223
280
199
216
165
258
191
301
234
216
218
225
274
173
209
237
219
205
253
237
227
200
237
168
283
231
215
218
220
219
154
281
245
233
317
303
282
177
223
303
217
255
200
254
240
232
157
265
218
159
283
255
208
278
209
184
223
267
196
187
209
248
208
218
286
224
181
223
209
234
253
197
258
237
223
252
264
237
176
220
220
259
226
278
167
238
274
271
176
192
219
235
207
215
247
312
270
238
227
181
191
223
309
207
257
171
319
275
193
238
201
271
173
203
162
186
192
189
240
219
208
183
170
178
258
194
243
212
170
228
232
189
259
182
231
250
209
191
178
278
266
238
215
211
242
189
160
182
215
228
229
266
239
217
171
325
188
205
209
186
265
272
254
259
199
209
222
244
172
210
200
292
256
319
234
258
258
242
247
208
251
198
257
207
171
221
235
303
186
240
241
174
242
233
182
277
252
219
256
206
212
215
201
268
258
250
169
185
139
212
249
216
235
229
304
246
212
274
203
328
284
144
267
305
205
174
246
263
278
207
314
197
223
262
157
262
209
262
220
347
223
248
229
327
172
277
161
227
194
244
237
245
306
274
250
246
326
180
177
266
185
251
311
203
189
200
171
152
282
221
254
218
227
160
218
335
213
240
301
230
106
202
213
281
243
220
269
264
209
214
260
170
252
182
237
205
329
206
255
262
256
244
173
171
211
254
154
196
247
227
178
243
279
233
228
165
254
190
218
196
243
198
252
160
294
275
121
206
234
218
168
223
305
164
210
173
186
186
253
239
201
214
260
146
250
172
173
231
147
203
269
221
245
271
146
220
257
206
205
225
296
181
263
185
214
189
204
250
281
246
226
191
232
160
187
173
225
232
167
269
246
203
160
225
276
233
197
236
296
342
222
264
114
193
193
241
160
217
222
274
177
210
272
222
321
268
282
231
206
266
188
229
253
146
249
166
180
140
376
229
265
198
126
255
201
152
246
210
211
216
204
247
310
194
225
160
187
213
250
239
220
212
262
164
277
222
265
270
183
218
185
215
235
234
243
162
194
209
274
219
146
147
207
201
221
260
252
169
198
269
265
289
201
277
214
209
211
198
225
200
251
166
221
245
156
228
168
285
222
244
250
232
204
180
219
212
206
196
333
277
243
193
222
170
245
159
239
195
126
204
178
209
253
200
267
174
249
226
261
258
146
220
215
236
249
262
273
311
237
203
207
265
248
266
244
183
256
214
296
114
264
116
253
208
304
225
213
295
189
256
188
269
212
175
222
233
263
220
177
158
264
114
225
269
280
245
233
203
318
275
184
233
244
290
203
227
196
293
214
227
212
160
224
237
166
220
215
202
256
275
242
251
256
208
211
249
297
310
239
238
272
114
252
252
281
181
243
173
332
243
243
282
213
241
228
273
195
211
185
214
260
192
238
302
247
165
180
214
313
290
299
244
207
182
114
289
181
182
264
214
216
238
241
218
178
225
186
178
126
250
301
114
211
274
242
262
259
165
247
237
225
233
285
278
252
267
231
229
213
260
206
332
295
252
175
198
173
174
171
182
301
294
281
155
162
292
273
237
238
225
313
246
249
182
194
247
192
206
270
265
190
230
246
155
268
199
204
169
258
187
170
160
237
214
256
214
308
271
305
172
280
299
226
290
245
322
154
269
156
174
228
208
238
248
266
289
198
227
147
203
181
171
191
206
158
245
289
221
181
220
164
190
192
250
236
144
182
199
205
293
211
268
251
240
252
260
257
218
245
248
311
177
184
258
256
198
216
224
277
251
191
270
178
181
289
186
206
260
247
206
151
281
227
240
160
204
259
210
227
165
267
114
166
326
114
244
221
249
233
257
234
245
197
204
185
114
230
206
309
182
248
248
208
190
238
251
195
212
328
201
175
282
185
214
290
320
239
220
190
224
319
239
286
261
170
295
325
240
252
218
170
185
237
217
188
114
266
245
203
184
228
250
175
193
320
242
208
266
271
232
195
192
208
232
129
225
213
198
161
307
266
206
202
209
259
193
237
216
235
195
186
228
156
189
162
223
293
257
293
247
283
197
106
177
215
220
239
214
145
188
288
219
222
241
276
149
225
229
210
275
175
275
243
247
251
162
334
182
234
226
237
206
114
222
227
228
283
192
278
274
283
203
265
198
224
355
224
207
212
241
267
157
193
197
266
196
181
235
229
222
263
258
268
254
226
252
235
233
208
196
170
186
214
160
166
227
230
214
214
298
155
217
253
158
228
255
199
223
285
227
241
166
227
165
237
291
215
198
228
204
312
181
233
220
182
195
231
203
214
249
200
155
213
190
181
158
234
245
265
180
241
189
333
224
181
179
239
206
251
202
156
270
256
197
202
219
306
251
214
253
181
166
196
242
174
154
246
318
283
257
198
158
220
222
145
199
174
262
270
241
173
184
321
269
151
240
206
202
236
230
161
205
207
282
219
219
295
220
291
334
191
211
274
178
151
188
203
246
192
170
180
244
240
243
207
170
250
174
264
240
276
227
243
301
228
167
186
267
279
165
196
266
275
219
270
260
170
336
207
236
204
243
319
325
217
170
276
213
276
189
188
273
266
254
221
183
203
273
174
264
225
261
204
235
279
167
230
238
221
180
232
178
342
240
177
260
205
197
304
287
248
229
197
231
190
245
255
238
206
159
173
201
219
303
202
305
218
209
139
173
179
267
178
244
230
201
235
225
263
293
221
225
223
216
271
219
306
163
190
299
212
294
274
271
201
151
277
292
234
202
297
239
297
198
221
174
313
295
284
249
316
207
126
296
211
200
114
245
195
238
239
259
214
222
260
244
223
207
232
262
162
266
211
200
223
172
223
246
151
146
216
170
237
272
184
243
191
254
283
242
149
158
265
183
265
200
235
336
139
196
250
286
160
184
206
346
233
206
214
270
216
243
229
253
254
161
281
238
201
226
184
212
220
299
227
257
187
225
174
214
239
108
212
246
236
200
243
262
141
225
203
211
290
196
227
209
245
169
273
216
307
198
208
241
272
219
272
196
247
240
207
133
202
241
203
202
247
273
130
235
244
192
262
184
224
156
184
280
223
244
240
282
232
230
215
187
214
212
222
188
169
316
191
268
203
273
297
177
278
269
221
257
234
174
266
209
226
207
171
168
252
179
152
212
232
270
248
161
230
206
262
262
225
224
232
244
237
214
224
214
243
217
202
204
177
255
222
267
269
256
224
252
231
152
263
268
231
291
226
207
213
126
170
284
183
241
314
166
262
259
165
205
222
321
237
228
222
231
232
225
238
170
185
139
206
239
194
294
161
221
258
229
301
215
213
227
229
259
219
281
209
214
266
207
214
187
174
206
227
242
217
285
166
202
225
209
184
260
175
271
198
251
258
261
180
334
227
222
230
182
303
221
240
158
233
232
240
181
249
237
279
174
233
314
237
278
267
219
278
180
257
188
284
285
144
184
195
241
260
218
192
211
318
221
209
114
192
259
198
267
216
181
225
189
229
116
176
315
175
273
198
167
235
211
203
181
211
201
253
114
189
257
283
222
209
198
250
223
185
269
281
213
223
198
197
278
238
249
301
219
157
151
313
151
162
191
261
225
250
218
154
181
190
286
211
170
218
209
279
297
280
239
227
328
204
328
292
161
192
347
228
257
226
267
279
216
165
180
225
290
234
176
278
233
253
200
158
221
199
190
171
251
221
198
219
208
210
222
277
276
230
265
166
276
237
225
183
250
187
145
231
231
194
188
241
218
189
208
260
195
197
186
240
239
145
206
258
186
283
199
207
151
208
203
167
258
200
266
220
217
278
116
257
218
201
161
239
282
279
253
144
243
236
206
231
166
238
215
190
149
186
257
255
243
193
170
273
244
281
266
228
197
278
210
212
232
210
249
222
265
214
275
176
227
210
207
232
273
315
211
216
264
207
289
114
156
218
208
189
224
179
156
239
228
297
255
234
249
300
259
236
205
186
214
172
241
240
244
163
204
171
212
264
278
200
239
321
216
224
233
176
200
225
260
169
181
271
209
165
255
223
267
203
260
175
221
222
202
187
235
214
188
261
151
166
209
229
221
220
295
276
241
205
244
240
199
217
202
198
209
126
106
209
250
224
244
221
255
203
198
231
276
262
297
173
252
214
211
224
169
130
241
114
218
272
249
229
306
267
173
254
183
211
161
133
237
238
274
333
272
179
200
222
219
235
220
174
200
221
243
215
169
213
223
224
177
179
241
215
206
253
219
160
243
270
261
176
291
214
301
245
256
238
273
179
211
114
195
237
178
210
231
176
270
237
219
157
166
191
162
220
241
295
195
205
215
261
225
187
250
209
279
275
172
178
159
208
241
279
180
215
223
209
341
251
196
206
243
279
253
114
218
177
198
174
198
224
224
249
191
278
249
234
179
232
221
214
193
208
200
252
249
224
249
326
152
251
156
129
250
348
210
214
246
189
275
258
202
189
219
209
222
186
126
258
153
273
201
205
281
220
238
240
244
209
244
224
233
207
188
252
252
194
228
151
150
235
248
186
241
244
244
207
159
278
241
195
218
204
199
192
194
362
220
312
114
180
299
159
279
235
267
149
204
252
229
228
244
208
211
241
266
165
225
205
281
173
250
263
302
238
198
170
257
189
215
154
203
248
248
238
231
180
242
235
156
276
212
209
247
114
212
234
217
179
313
251
173
239
260
175
219
288
275
183
228
218
121
266
243
218
211
236
307
397
284
227
232
229
180
175
255
233
240
200
208
207
231
216
215
257
237
224
224
234
192
170
193
162
171
234
151
247
244
177
250
209
188
228
202
248
265
226
261
203
240
281
198
204
196
264
244
221
258
235
172
247
233
182
214
248
267
175
208
229
256
224
269
211
250
233
269
241
205
191
253
194
114
284
191
183
212
220
270
216
336
231
178
241
174
266
225
156
228
193
234
271
255
129
231
234
245
168
197
254
181
270
258
261
197
151
255
297
255
201
267
255
330
252
207
278
326
214
193
215
216
210
253
315
219
181
212
301
235
139
255
168
277
225
206
177
226
194
238
230
234
217
149
218
158
218
229
200
226
175
236
160
126
260
219
261
296
235
221
258
162
225
252
163
178
181
242
237
203
232
236
205
240
181
227
160
151
231
180
254
261
215
152
215
257
291
181
152
230
303
274
174
231
165
191
192
215
216
208
232
261
315
203
160
244
295
201
250
309
292
235
202
193
228
151
219
171
191
189
238
272
146
220
250
299
153
210
250
152
249
291
167
246
260
246
239
198
202
232
265
208
211
226
207
187
258
173
250
151
238
238
198
227
162
207
201
290
227
231
284
224
227
216
178
315
315
298
242
148
267
200
144
244
245
215
231
206
185
198
204
310
176
178
263
160
202
194
192
185
222
245
191
245
250
218
221
275
261
149
197
193
188
305
170
235
262
179
291
270
258
216
249
230
174
220
215
218
265
158
249
207
173
250
235
264
229
191
160
244
193
263
160
279
186
231
278
265
189
200
180
168
293
238
223
211
230
209
254
244
225
245
225
221
152
254
281
294
252
278
178
145
252
262
292
192
234
219
271
196
231
230
228
168
258
256
114
246
235
302
156
268
229
218
164
215
243
209
172
230
208
273
200
194
228
208
178
145
215
216
276
198
204
239
224
217
292
241
175
264
210
230
225
267
260
173
183
266
259
181
256
184
267
235
218
199
221
228
214
268
245
195
148
193
251
258
221
285
219
207
139
188
216
161
222
222
244
269
232
289
231
295
255
260
299
187
200
169
214
208
173
246
232
246
255
159
187
212
234
232
181
255
261
232
151
178
214
285
219
182
164
203
226
179
239
197
222
220
231
189
231
196
209
173
219
224
260
161
221
240
233
205
236
236
279
294
288
195
234
201
175
214
201
220
216
205
206
297
244
220
210
207
252
198
221
316
173
151
178
212
292
165
267
177
289
185
195
248
210
218
247
283
254
174
253
256
265
266
275
228
299
332
230
201
192
204
235
283
126
197
269
249
173
129
216
204
312
280
230
264
260
191
187
248
276
244
248
293
215
225
229
223
219
236
223
234
229
279
282
215
133
193
221
291
178
161
293
243
192
258
196
246
243
225
277
201
197
204
246
283
198
188
233
209
224
245
229
195
179
206
189
259
165
207
258
361
357
239
310
168
243
198
208
185
247
255
208
228
139
287
267
224
232
245
309
231
256
203
199
151
242
244
193
156
254
218
216
281
205
261
148
278
238
250
278
239
233
207
186
331
250
220
224
190
139
158
249
188
264
218
226
301
256
233
139
202
194
242
259
291
251
211
253
221
210
271
190
218
223
301
211
174
213
212
259
274
180
232
217
262
305
272
221
243
106
199
223
205
227
318
114
179
166
329
277
335
177
196
243
190
255
220
258
146
217
201
175
214
212
158
269
242
273
232
333
252
228
296
181
241
164
160
158
255
194
241
253
246
211
240
217
161
264
193
178
284
202
326
266
210
212
250
207
188
302
189
155
186
226
223
221
236
280
116
178
239
288
219
203
290
259
231
170
170
154
254
162
212
282
275
178
156
247
252
202
307
220
245
232
213
240
267
297
223
270
261
168
245
253
225
251
242
271
233
271
327
141
213
182
198
272
178
161
114
186
163
167
282
180
195
192
283
184
174
370
184
201
272
201
174
238
226
270
209
177
139
249
207
223
129
313
238
177
303
214
270
249
275
244
211
268
222
216
186
251
241
175
238
180
224
245
222
198
174
245
167
233
246
212
227
216
240
222
209
167
230
302
173
238
190
257
180
223
197
245
256
147
217
166
173
158
176
230
284
262
229
248
242
206
182
269
210
236
156
265
289
285
227
221
292
286
260
194
221
219
198
318
219
217
185
234
222
153
241
306
214
146
173
188
222
161
279
260
170
197
207
201
238
272
203
126
191
161
207
205
196
193
209
234
306
304
263
341
181
218
283
229
156
182
191
192
266
262
137
192
244
185
214
259
228
262
300
228
236
249
241
306
211
251
179
253
221
233
154
233
230
247
210
255
226
209
194
257
279
225
239
226
190
222
203
179
229
225
249
264
221
283
318
225
176
266
157
324
218
248
206
207
176
209
269
299
180
260
192
183
232
183
211
195
191
284
195
257
241
214
250
207
188
236
282
201
243
165
179
261
313
222
126
174
237
261
260
208
216
230
277
238
311
203
304
234
191
207
299
239
290
172
196
333
152
160
204
271
263
263
212
218
225
262
261
153
199
279
250
274
275
184
205
243
191
184
249
224
196
224
202
277
329
134
217
259
204
198
273
264
169
277
253
233
166
203
260
166
240
278
181
270
255
245
314
278
225
114
299
272
242
200
152
213
176
273
244
207
235
174
146
152
216
254
223
234
302
226
275
230
259
241
247
303
291
208
252
160
170
165
268
261
209
256
325
182
130
283
235
273
257
178
234
222
203
244
178
186
170
240
244
299
220
288
296
261
263
130
217
270
244
303
193
161
243
221
248
247
338
173
253
216
239
224
220
192
256
279
188
218
221
219
205
230
195
281
181
216
203
247
250
211
273
290
272
219
211
215
233
229
216
204
255
193
161
200
214
250
239
269
220
249
230
216
217
243
191
209
149
192
201
129
207
246
257
261
193
211
311
283
277
239
255
184
254
173
185
268
193
287
238
306
188
261
114
274
261
139
288
211
271
230
206
240
282
258
268
248
179
273
245
181
139
221
212
192
273
186
254
266
212
198
211
198
343
161
247
313
275
214
301
225
264
172
287
246
309
216
207
212
191
231
254
219
225
242
233
214
257
256
215
320
179
217
211
187
226
206
116
202
147
238
233
182
268
195
288
269
203
214
201
218
229
276
199
204
211
255
261
282
174
217
114
232
247
213
186
185
176
250
170
298
270
237
248
267
284
216
180
174
245
208
184
222
310
271
206
250
181
263
246
121
251
286
225
268
211
209
273
189
235
280
169
321
221
257
293
208
180
255
222
220
180
163
287
279
212
273
239
114
231
244
194
160
195
251
229
188
221
296
168
173
221
201
344
205
225
185
235
204
257
197
198
204
218
234
170
223
192
259
154
280
272
233
285
274
243
282
274
280
161
166
183
266
256
192
261
261
272
282
207
224
215
286
283
219
280
198
196
198
243
239
213
263
178
206
194
233
269
295
241
230
267
271
221
199
160
212
210
257
229
274
315
192
239
225
218
227
196
193
236
243
310
226
114
273
175
252
249
144
227
160
260
249
199
273
205
207
287
188
290
196
192
133
248
114
252
144
210
252
287
209
232
248
206
238
243
327
198
260
134
263
161
200
158
217
353
214
207
189
342
234
213
239
262
267
361
220
225
231
262
211
262
225
192
203
204
217
178
202
246
169
170
288
215
177
161
236
265
222
217
280
248
200
233
235
219
208
184
276
233
281
290
299
206
207
248
239
287
278
247
232
241
259
139
192
287
145
259
254
219
252
170
247
259
197
189
225
282
245
126
319
282
239
202
233
270
314
245
220
232
199
259
229
238
219
220
203
203
225
284
339
290
272
173
239
253
244
245
209
106
176
198
210
253
198
289
196
268
178
255
317
198
229
259
368
258
261
253
239
222
207
222
148
252
286
183
195
240
174
258
150
175
213
222
195
206
154
232
211
145
241
234
246
290
292
181
242
146
159
151
330
212
200
178
206
202
245
205
137
185
221
265
214
273
175
190
170
156
273
192
265
218
289
155
271
193
213
239
277
273
314
296
166
169
305
242
202
277
220
192
253
233
198
257
251
196
114
301
237
182
250
193
192
253
271
356
258
203
209
347
252
164
163
225
230
290
247
173
114
158
252
260
226
239
236
271
185
183
230
231
236
188
209
236
244
188
215
114
195
184
270
209
266
256
212
220
222
222
202
195
223
144
161
198
140
269
296
220
233
240
241
231
243
217
194
225
204
237
151
238
246
247
170
243
270
194
225
226
198
170
217
252
173
193
289
173
180
309
286
229
268
231
200
190
193
209
241
219
179
235
144
245
152
202
236
314
262
213
318
193
263
234
240
192
195
198
276
276
170
249
297
233
179
265
304
279
198
167
253
247
175
197
114
219
291
310
198
234
301
257
198
243
286
262
169
211
299
266
241
227
258
148
231
222
198
163
269
197
264
194
187
168
261
278
306
263
233
231
211
231
236
181
173
214
200
222
260
205
301
263
175
197
205
249
375
269
213
212
229
234
114
197
267
173
260
304
247
176
207
198
313
192
211
169
308
194
179
184
255
192
241
273
254
222
205
225
289
180
250
340
233
192
170
145
180
273
240
237
318
182
273
216
236
270
230
252
254
191
280
213
226
225
257
234
267
235
172
184
181
202
201
216
195
206
221
205
250
219
233
207
207
209
228
221
269
226
235
218
226
228
269
182
264
229
158
235
213
235
203
199
252
185
261
169
195
285
190
274
230
280
222
245
202
300
256
180
235
204
303
184
195
129
265
280
195
220
261
181
244
181
206
236
228
173
148
152
209
269
192
230
260
231
178
229
205
230
233
197
254
262
278
283
222
166
247
227
152
192
239
201
213
283
220
266
165
174
234
185
173
208
174
224
179
226
242
114
261
146
242
207
144
246
148
260
173
186
263
344
259
203
168
234
193
254
212
203
167
170
240
286
194
248
309
204
237
233
289
234
186
222
208
224
186
180
235
212
168
205
256
243
309
206
266
208
243
234
188
178
267
285
228
197
199
317
179
247
241
265
231
229
198
174
305
274
250
283
279
226
192
267
155
298
257
169
176
292
227
217
277
258
253
239
212
215
313
221
244
260
157
226
252
225
235
227
170
202
231
156
270
114
193
196
179
213
203
262
239
200
242
238
190
188
257
199
205
248
196
275
187
241
200
259
211
191
191
254
240
208
212
234
173
176
139
160
185
195
246
180
230
164
239
213
179
108
281
252
283
126
196
201
245
223
169
139
280
246
276
235
303
215
230
251
151
165
239
250
228
166
262
263
161
200
261
235
253
255
250
281
269
282
271
165
267
236
236
187
212
207
204
235
183
214
270
246
247
223
223
205
299
208
176
234
214
171
242
189
240
265
232
251
198
190
191
184
297
159
210
275
228
186
154
212
207
215
211
241
249
239
152
156
263
315
270
268
216
243
203
217
189
216
229
258
253
195
206
279
192
195
231
229
310
296
296
211
292
188
213
255
201
241
164
273
275
216
200
236
183
219
272
322
181
181
188
254
299
227
226
243
231
266
226
269
218
184
203
166
129
245
291
284
208
213
114
208
280
242
158
207
197
208
223
152
266
186
256
271
206
229
218
217
231
246
303
208
232
169
199
210
181
236
230
142
220
302
292
218
371
207
153
201
194
265
216
193
114
290
326
192
250
159
235
194
270
254
192
194
296
259
261
234
181
285
229
172
162
139
303
264
258
284
226
204
226
199
236
152
245
190
235
288
219
256
259
179
264
260
289
278
208
180
176
184
201
236
266
223
205
250
262
227
148
184
214
255
206
267
297
205
211
247
164
234
229
192
167
214
260
290
139
244
219
254
220
223
199
149
238
144
171
295
237
247
178
194
201
158
236
260
337
254
202
208
251
262
317
226
203
188
249
210
389
207
210
225
166
235
248
201
220
222
287
263
275
250
253
176
233
203
242
211
206
267
185
266
293
220
299
169
290
194
278
226
232
216
255
217
235
214
248
233
259
185
231
216
163
149
269
152
236
244
208
181
192
195
234
185
267
130
268
333
258
181
149
211
275
191
223
282
213
215
246
219
195
169
323
187
272
267
347
211
159
208
239
173
213
310
181
269
162
177
204
283
164
234
222
213
271
246
280
308
303
171
232
352
174
216
281
173
178
301
257
251
263
191
238
156
226
204
215
208
202
224
252
173
198
189
183
294
195
146
170
174
252
208
193
207
208
184
221
214
246
259
280
194
254
262
238
242
246
211
214
181
210
184
213
250
251
126
238
295
208
185
227
232
191
249
199
210
217
217
206
203
251
227
195
228
267
194
285
215
196
227
263
172
266
257
253
174
247
207
194
258
211
219
226
186
262
165
169
308
252
210
224
227
213
198
145
217
240
238
251
108
275
215
170
271
249
229
293
226
234
221
248
243
214
152
181
248
239
247
161
154
201
145
253
257
258
220
233
262
305
195
290
209
223
146
221
305
198
190
267
192
219
270
198
170
289
298
198
264
277
278
168
114
324
247
199
253
206
235
230
249
230
246
200
225
235
288
310
196
211
238
178
296
156
162
190
217
216
216
173
247
237
192
225
247
220
157
209
147
256
212
207
245
272
157
249
242
211
261
158
168
217
155
216
192
206
252
184
200
341
218
241
323
233
287
240
207
177
226
259
242
217
161
193
281
261
329
258
307
235
198
229
263
240
219
250
238
299
175
276
243
301
130
263
200
151
175
182
192
233
276
227
222
221
246
213
258
233
218
304
277
251
241
158
263
201
211
234
184
246
270
218
274
207
149
158
156
292
146
191
149
173
152
194
217
261
239
201
220
245
201
114
218
207
226
269
255
252
276
219
229
193
219
175
331
248
266
203
211
272
263
276
176
207
187
225
255
261
185
180
174
209
228
271
187
215
217
231
207
222
260
152
194
190
226
275
180
238
173
255
331
280
193
253
173
197
225
272
228
204
284
247
231
181
296
243
166
114
159
234
242
259
187
206
233
147
139
310
202
237
241
170
249
227
144
328
156
173
156
226
268
230
259
289
249
258
280
299
147
207
235
250
198
253
258
160
262
239
161
188
228
225
238
175
267
281
205
282
199
229
235
174
162
275
177
255
185
144
183
198
167
258
257
178
126
242
179
193
234
227
192
245
230
242
238
197
198
191
203
302
296
285
188
277
213
211
318
212
263
312
179
247
177
266
273
226
181
162
217
196
289
211
225
170
181
224
224
210
286
171
200
204
216
196
219
254
295
178
250
228
315
156
266
225
218
220
175
186
174
251
255
207
173
180
226
203
240
307
231
342
356
227
223
214
253
204
232
265
175
257
222
196
187
198
249
269
207
217
178
197
238
232
235
243
214
161
202
212
175
181
214
296
177
181
220
208
225
159
283
230
191
217
229
193
274
250
213
175
264
192
248
335
283
192
231
296
213
188
202
300
181
261
211
283
252
224
347
209
158
205
288
184
212
216
190
169
221
189
265
108
173
232
290
199
198
282
179
170
162
265
184
258
174
179
266
220
245
249
272
235
201
240
222
170
310
206
256
224
191
255
273
251
192
195
250
239
205
155
224
290
206
178
230
268
265
237
232
291
249
243
272
245
237
238
262
302
230
207
154
239
197
276
237
235
260
219
189
220
218
298
265
171
223
218
168
273
143
243
263
262
214
261
263
233
270
209
209
295
243
133
206
267
261
213
245
198
209
264
153
200
247
159
179
175
195
247
291
244
194
293
178
226
259
231
121
202
232
152
247
181
268
229
242
323
187
295
257
185
180
214
256
294
232
224
292
180
269
151
242
228
222
194
144
211
173
246
221
203
194
306
264
233
191
246
208
183
227
183
242
184
188
172
212
251
174
174
323
263
178
242
146
207
171
244
264
176
224
256
222
260
283
241
172
224
232
223
130
205
208
239
243
174
232
229
114
235
239
231
213
133
267
239
173
186
220
307
241
233
229
218
247
245
277
225
257
183
255
319
210
311
227
156
246
285
281
202
126
207
215
232
251
204
184
209
264
270
114
273
162
259
215
144
319
231
194
217
209
129
264
193
305
246
135
340
177
151
260
206
212
174
222
178
271
178
248
209
208
246
255
211
139
234
186
204
161
212
272
114
219
173
253
242
182
283
230
208
204
183
252
204
233
258
249
215
232
211
170
261
254
192
225
283
208
204
275
184
236
195
212
290
229
174
282
262
183
208
208
250
230
271
244
272
295
207
235
220
239
208
237
190
233
300
208
220
241
181
250
276
181
330
202
174
240
219
212
206
270
235
256
174
158
197
285
195
277
234
280
230
268
139
214
302
279
224
192
224
188
187
262
238
288
245
164
266
294
216
282
196
254
234
269
241
201
231
247
235
164
211
200
316
219
199
295
248
238
286
218
217
108
174
208
212
273
247
213
287
239
164
171
255
158
248
215
205
242
214
156
210
227
229
210
290
224
203
177
214
221
213
302
239
170
213
235
261
304
185
250
238
170
152
251
272
168
173
206
245
242
242
246
227
220
114
244
185
236
225
264
193
283
210
181
306
200
185
271
300
180
283
202
156
184
309
209
205
209
310
206
190
203
263
173
281
208
220
270
228
296
249
218
234
296
316
149
236
114
257
160
234
209
219
168
262
249
175
202
193
161
205
215
233
300
289
195
247
264
159
261
183
274
220
309
250
207
169
256
208
160
234
238
316
284
323
174
208
215
303
242
265
243
236
187
267
132
227
228
252
271
199
252
172
260
228
189
261
177
249
206
260
220
208
189
224
201
235
228
193
278
238
266
243
133
224
234
177
289
166
219
168
202
171
209
225
208
242
215
255
230
258
252
254
227
208
241
271
214
279
301
145
282
186
139
196
215
181
241
198
234
173
212
235
290
209
185
304
116
306
194
233
158
206
200
270
230
273
236
254
240
225
247
191
292
166
219
202
164
256
173
233
241
196
220
221
202
243
166
207
184
243
130
240
270
191
186
258
179
211
220
297
278
199
244
248
242
240
240
231
256
217
229
250
260
270
225
241
292
270
212
243
210
175
239
179
180
229
243
232
248
181
219
195
225
180
222
188
234
215
218
230
307
298
254
237
228
302
214
359
214
239
293
199
237
268
200
275
241
283
253
225
266
196
200
251
212
186
276
198
280
192
180
274
278
307
121
310
215
192
293
333
214
146
232
219
234
211
229
296
152
164
241
270
260
211
208
239
207
239
220
258
217
282
182
156
197
255
162
203
215
233
217
205
212
268
166
188
195
192
218
256
240
174
283
219
209
282
156
290
311
285
301
310
114
238
170
186
139
229
301
235
260
186
213
249
288
265
211
258
239
270
227
285
250
242
280
260
199
225
220
114
137
114
229
230
219
181
232
178
219
298
244
259
246
200
231
246
271
175
218
183
201
170
166
281
237
193
219
233
208
284
208
182
301
238
210
163
160
254
183
224
183
189
235
282
218
238
262
195
245
298
160
209
175
263
300
225
186
181
165
207
246
250
313
234
200
197
270
212
249
271
191
267
276
165
239
226
254
233
309
266
263
193
157
261
214
209
114
174
248
282
286
214
288
203
267
241
242
246
231
257
191
170
212
251
267
206
254
374
214
256
188
162
168
192
183
223
108
114
211
202
263
232
149
238
273
311
274
309
200
126
159
216
233
232
233
284
239
238
242
230
139
186
258
191
263
241
183
170
198
291
258
272
208
234
280
317
188
207
273
139
208
181
206
213
233
196
248
213
207
222
230
246
227
234
304
207
216
176
314
195
252
216
277
165
267
192
186
160
167
180
169
235
226
195
193
263
215
223
230
146
194
206
201
310
173
192
245
182
278
207
288
280
114
262
256
227
204
211
237
251
217
231
255
180
212
225
270
229
268
248
223
188
253
230
178
237
279
198
148
228
232
192
212
225
214
221
271
232
243
298
220
162
160
248
211
297
203
206
169
218
145
192
233
175
170
240
189
247
253
252
237
290
314
219
221
234
238
243
240
231
205
237
218
247
194
231
312
214
222
204
201
215
278
252
182
206
152
158
240
259
263
114
233
114
215
231
237
237
294
176
281
266
156
276
192
191
218
211
252
198
207
268
152
266
212
139
161
213
191
349
222
225
234
274
218
221
311
232
239
222
244
186
178
212
218
246
292
225
160
186
214
241
212
202
220
271
181
202
192
163
231
207
250
235
190
248
188
160
183
227
181
166
212
170
177
206
260
253
268
197
245
209
231
244
223
139
168
222
194
206
205
211
238
212
249
233
153
194
228
299
225
234
286
249
318
319
180
199
175
190
286
226
160
220
264
224
186
234
194
248
236
328
179
205
176
347
251
208
208
261
187
228
220
246
214
249
232
288
266
247
204
204
259
209
216
257
174
116
248
230
253
267
213
179
258
266
279
219
275
218
232
222
240
217
222
264
260
178
189
262
306
233
195
241
199
176
206
271
228
200
204
231
174
245
161
217
174
229
221
224
234
192
191
211
243
240
204
169
212
195
193
170
182
198
164
176
248
204
202
266
239
254
294
197
215
183
225
196
285
181
183
188
198
251
156
271
236
211
262
345
237
330
179
279
216
205
284
240
205
156
219
242
203
200
254
190
229
190
289
238
255
192
207
207
200
197
212
262
265
173
277
254
266
193
176
244
215
194
246
192
270
178
187
297
298
267
239
209
191
280
173
235
239
170
319
316
240
290
235
182
281
254
252
201
241
165
180
300
255
180
203
251
175
284
126
225
237
114
255
199
222
264
273
158
177
207
258
195
221
126
228
232
200
114
157
226
214
221
169
175
251
244
216
275
178
203
220
165
234
135
188
209
177
253
260
254
114
247
174
244
225
247
198
244
180
231
188
277
172
169
286
175
192
198
240
244
215
238
248
245
240
252
230
246
310
274
211
262
277
202
223
240
242
198
286
193
205
233
239
292
186
265
215
207
216
212
213
238
173
240
185
279
230
214
243
311
218
171
155
188
278
251
187
198
202
312
214
239
145
325
219
235
275
234
232
218
220
197
170
269
274
209
273
218
231
221
245
259
207
294
227
218
276
221
309
279
217
261
284
264
197
159
195
114
208
353
226
220
186
266
215
191
266
180
215
164
255
208
270
204
233
262
202
222
193
296
261
189
225
300
211
185
223
220
174
218
238
266
175
229
243
225
246
263
242
203
269
210
272
179
255
243
227
323
224
223
213
218
256
211
347
231
315
207
254
244
270
221
218
271
215
146
201
211
210
279
265
256
220
208
184
254
195
214
232
197
243
151
242
190
237
266
259
207
201
173
161
221
267
237
218
242
206
235
160
248
240
152
219
139
159
180
229
267
209
262
211
220
287
187
229
220
284
268
181
203
253
205
247
149
366
168
160
311
237
205
302
320
318
285
219
290
187
245
217
246
217
262
314
231
252
270
195
178
203
281
272
275
192
184
159
236
208
258
224
239
260
235
287
194
185
222
204
183
228
200
251
200
177
166
200
193
328
270
185
209
184
240
188
126
149
223
174
244
214
304
199
194
182
114
198
270
231
224
231
304
242
249
255
184
262
215
247
237
258
221
284
199
232
201
239
202
223
202
273
188
303
228
201
169
241
241
262
297
237
227
216
266
210
237
236
240
243
274
275
257
194
231
208
308
214
333
243
246
246
174
209
212
186
267
353
156
253
230
164
222
258
295
222
245
235
280
193
248
309
188
251
215
299
199
244
220
287
212
249
219
240
279
201
216
186
214
261
285
140
235
262
261
291
174
217
255
181
213
174
295
156
231
188
247
262
206
245
206
230
242
266
181
270
191
216
259
300
227
197
168
261
218
227
207
182
361
351
217
190
214
252
229
152
285
230
329
237
242
222
202
195
195
254
221
237
200
182
213
224
273
219
209
192
343
240
249
235
245
194
196
240
299
277
243
242
278
203
194
262
338
219
187
269
273
293
309
303
231
195
244
173
243
222
166
296
220
202
231
238
326
295
185
254
246
235
234
234
227
200
238
314
261
227
203
258
277
215
205
219
344
202
189
151
164
223
204
267
222
230
220
279
300
183
317
129
160
259
185
197
274
305
159
242
208
260
354
213
243
224
325
251
176
225
230
260
286
202
220
140
235
233
206
184
257
209
236
235
245
228
216
146
329
261
276
167
126
208
271
176
213
202
313
176
215
235
277
295
174
226
261
274
271
260
218
121
247
241
215
241
254
247
243
169
177
114
326
181
222
154
195
295
248
170
229
180
190
170
201
288
263
258
230
184
244
255
250
264
226
159
281
259
340
286
193
257
268
222
213
194
208
223
199
372
232
199
293
229
225
225
175
180
261
207
208
226
275
178
221
256
255
145
213
218
205
288
209
203
222
170
215
296
193
193
254
225
227
217
203
200
156
191
181
151
289
212
174
244
255
147
237
207
158
170
258
253
170
181
237
334
207
215
195
248
270
202
180
219
192
163
219
361
258
186
253
156
194
161
304
229
160
160
193
200
148
262
169
194
203
203
246
234
208
188
189
145
245
323
162
210
279
184
278
247
155
185
192
193
259
258
158
264
346
188
254
219
198
213
231
190
156
240
114
280
211
232
208
272
223
213
228
160
328
221
229
247
270
155
179
215
252
219
282
139
263
256
243
224
279
253
248
188
355
314
276
238
244
247
208
183
227
255
185
193
214
191
134
244
300
253
161
139
225
286
240
254
276
158
188
249
334
242
224
179
178
238
198
247
220
258
239
331
253
216
262
262
258
240
218
212
207
288
328
198
174
252
191
226
234
264
114
206
174
186
210
255
236
217
307
276
213
250
277
264
234
216
228
231
164
192
236
142
273
202
207
174
181
227
190
237
243
154
267
155
209
121
226
235
210
252
281
228
181
323
156
211
241
216
268
186
262
211
211
237
116
130
249
180
170
280
202
173
222
184
155
196
197
191
247
192
225
140
173
167
216
259
233
167
251
240
227
234
227
201
162
250
241
186
267
261
222
252
284
248
156
203
114
202
213
218
230
251
194
257
205
228
205
236
152
206
151
298
196
205
202
170
234
186
292
265
174
218
276
257
213
218
241
200
260
313
240
265
166
232
216
283
286
192
191
198
187
258
263
321
304
195
268
114
216
203
330
201
192
220
257
238
168
158
293
188
264
215
209
244
174
175
334
196
191
251
237
240
192
175
170
256
255
139
188
192
249
287
157
178
212
230
257
301
196
264
265
315
265
198
211
221
229
160
243
245
276
266
184
198
251
225
261
321
214
211
240
186
232
202
250
256
180
220
219
305
224
247
261
232
258
171
282
282
220
243
225
134
217
271
235
191
281
191
235
214
165
267
277
284
219
277
210
292
266
300
194
257
259
214
290
296
237
165
285
207
201
244
205
228
214
229
222
256
174
191
202
175
208
294
225
215
262
270
187
319
232
272
248
204
249
219
162
114
218
232
196
259
284
194
145
289
220
191
257
214
194
221
196
262
290
273
155
116
244
215
285
153
295
223
160
230
199
202
218
190
196
232
255
276
248
170
282
214
194
158
178
255
222
199
215
217
126
220
243
168
139
198
258
208
184
173
212
158
235
262
257
278
227
243
158
182
254
255
152
230
221
269
247
227
265
180
211
214
196
252
175
217
175
170
266
121
208
156
268
253
204
156
171
170
250
279
253
208
313
256
299
271
238
251
311
183
185
202
190
189
194
219
191
237
163
217
235
248
246
213
233
227
213
267
220
209
191
244
371
148
222
244
247
265
215
246
256
181
227
290
247
200
229
258
293
237
160
297
263
235
257
268
234
114
234
253
208
269
185
223
218
207
233
271
198
214
212
264
282
312
265
246
183
235
255
254
210
274
182
265
256
193
190
213
245
164
253
271
260
248
287
195
235
266
170
289
249
230
240
202
206
295
222
265
242
159
213
269
278
302
216
255
202
172
210
203
227
241
200
275
302
247
199
221
290
214
226
270
317
266
252
261
274
225
179
237
205
257
263
167
258
197
225
205
302
235
198
182
294
310
227
238
217
175
214
212
185
301
282
244
270
238
222
248
279
329
256
156
171
248
170
190
210
253
231
257
265
185
192
234
202
187
299
236
223
209
189
218
170
261
239
238
250
214
260
201
218
209
291
307
245
169
312
170
181
188
223
222
358
203
114
194
152
139
255
243
158
215
291
200
208
230
252
262
242
216
280
285
139
264
244
235
245
139
303
274
266
198
231
253
207
238
194
284
152
246
165
245
194
220
178
228
202
180
221
235
149
253
198
211
223
260
189
264
219
290
219
290
192
256
229
238
239
106
203
247
205
198
240
277
226
214
290
275
175
169
248
158
219
151
247
201
306
239
114
250
229
294
108
205
319
279
164
188
255
264
240
175
166
188
245
196
275
235
228
229
229
234
232
274
189
156
213
234
243
221
183
207
274
266
139
266
251
305
247
247
186
210
242
226
221
227
239
202
203
255
276
247
215
242
198
210
206
281
214
183
198
263
240
175
208
307
237
196
108
266
272
271
198
290
195
247
204
215
244
200
309
242
176
223
228
249
181
252
239
313
288
239
205
209
259
174
237
154
272
236
200
169
226
275
184
246
216
245
213
257
313
217
248
233
198
241
237
265
281
277
221
197
286
239
234
202
187
212
177
211
151
321
223
193
232
223
146
282
235
234
270
235
277
211
190
256
207
230
265
176
198
229
129
279
240
215
210
230
215
212
235
293
223
284
223
212
175
145
243
184
217
170
328
210
145
166
206
233
173
202
177
242
173
190
209
181
283
235
250
317
249
340
206
211
281
204
156
266
211
156
228
192
157
248
238
191
154
198
292
243
188
243
251
241
185
205
209
189
287
249
177
199
194
211
324
244
242
187
139
186
243
245
339
229
311
258
239
225
200
177
323
289
196
225
267
262
238
268
233
245
220
160
257
258
250
194
209
251
224
258
209
334
258
248
258
261
273
218
238
223
277
192
242
208
230
170
188
202
151
239
264
220
225
177
263
212
253
240
174
162
185
237
302
315
222
201
207
288
159
270
221
306
263
175
233
216
174
180
312
204
239
187
249
183
214
235
195
277
236
328
262
323
308
232
180
198
237
262
170
198
297
267
226
274
170
145
196
252
222
244
222
236
258
219
270
216
220
160
251
261
206
218
271
196
214
256
208
209
286
175
145
193
218
197
231
250
165
213
270
232
223
178
208
185
157
266
291
263
293
246
207
277
161
174
202
189
146
212
256
248
154
171
159
252
165
199
290
250
201
297
241
315
202
174
293
240
287
175
220
222
197
170
278
224
248
211
253
211
114
186
222
202
195
222
284
126
223
229
256
147
196
175
250
265
170
162
293
157
290
280
291
180
238
216
285
267
267
221
215
204
181
222
224
276
152
245
299
239
273
239
214
170
182
288
195
200
222
194
152
214
218
257
221
196
240
202
170
199
309
256
240
162
174
170
214
314
203
227
181
149
291
244
218
263
193
268
225
224
203
192
189
285
114
208
209
222
271
229
204
233
156
277
279
250
256
215
190
319
181
196
216
207
195
206
201
220
206
192
297
201
225
259
228
182
183
209
248
207
217
173
254
278
177
181
152
201
319
214
263
206
179
198
221
308
176
194
297
284
144
188
229
271
252
233
252
221
114
252
212
209
230
259
252
174
252
222
139
273
235
197
176
238
251
176
275
184
206
199
179
174
237
296
248
213
182
232
243
232
251
285
198
223
220
198
195
280
210
114
180
271
177
260
179
215
228
219
194
237
270
276
184
214
261
242
170
240
246
214
271
266
179
158
208
278
240
179
193
261
162
253
278
268
227
269
202
214
248
170
244
237
108
155
211
233
274
187
217
258
244
238
220
259
211
224
177
280
287
265
243
308
267
234
205
199
184
270
247
284
196
268
268
244
229
145
251
237
304
206
270
213
222
203
268
251
268
219
288
233
198
228
189
259
211
210
256
170
297
187
254
203
170
240
214
214
172
220
158
278
180
251
187
195
219
282
193
236
212
331
156
262
302
215
184
207
225
173
146
214
248
165
160
193
225
191
221
219
224
158
283
209
317
174
229
139
229
231
297
213
224
279
200
278
206
208
197
114
126
258
272
256
286
249
197
265
181
205
246
246
234
222
227
169
200
160
270
235
226
292
270
192
247
161
178
168
216
183
239
245
226
315
213
232
218
276
284
285
201
152
222
247
199
312
234
301
215
193
269
209
243
144
192
222
273
196
225
207
236
160
235
258
257
225
284
255
227
254
224
241
184
248
212
221
207
185
257
190
258
215
295
215
266
215
222
144
204
224
319
210
176
233
175
230
233
250
218
234
225
185
254
201
234
188
195
283
209
209
268
224
224
291
232
258
178
175
155
172
214
339
196
229
303
231
270
237
228
244
216
186
133
273
242
195
263
226
146
257
239
238
161
147
292
177
180
204
277
247
171
237
230
158
158
203
226
329
248
220
255
220
166
197
219
306
200
307
250
220
269
300
203
234
265
249
198
362
192
229
206
283
178
297
146
218
184
156
217
278
222
194
234
262
286
260
260
183
199
267
237
221
252
247
174
217
257
327
175
239
255
204
238
223
233
204
178
114
309
206
214
221
238
344
236
160
158
222
179
231
252
162
221
192
160
269
200
243
284
139
217
167
158
263
212
239
216
289
215
210
221
272
167
255
179
229
241
178
209
168
229
218
247
260
202
194
188
167
170
215
208
323
219
228
216
179
285
177
223
265
230
202
217
288
262
126
245
228
246
247
146
246
223
272
247
181
259
284
228
252
211
203
192
257
207
174
192
191
316
286
171
212
214
215
170
199
175
178
246
166
255
190
253
179
303
230
206
264
236
186
265
242
170
214
222
220
237
281
178
215
302
232
170
276
226
211
248
195
256
246
149
201
192
277
281
331
179
164
227
222
272
271
114
180
252
114
197
234
285
165
266
218
375
255
175
215
264
302
293
229
255
129
243
211
202
293
190
263
194
209
146
260
222
218
189
205
205
244
255
189
187
183
114
298
300
151
313
193
258
258
170
221
275
200
233
235
215
182
243
216
222
149
239
199
275
239
192
199
232
300
122
246
208
254
213
270
331
257
176
274
320
146
214
324
351
239
227
219
211
193
230
365
197
166
213
263
250
311
180
200
230
218
263
194
207
198
178
213
228
234
195
301
169
114
201
225
239
308
183
329
246
152
237
223
211
215
304
284
247
226
256
237
214
221
195
253
189
249
255
220
243
233
175
279
198
201
251
171
205
214
160
188
247
255
215
194
178
222
236
281
184
174
248
180
224
161
219
151
262
253
173
187
253
186
188
269
206
206
237
241
246
198
170
201
251
175
218
231
114
234
204
271
206
262
206
193
189
147
222
266
215
229
184
270
180
254
205
276
271
251
206
315
171
185
201
241
191
224
276
279
218
306
239
154
225
232
258
283
220
258
223
320
240
313
179
232
220
151
235
205
210
121
193
197
299
195
226
206
265
282
209
228
252
231
226
180
230
286
299
237
227
259
166
227
291
203
157
220
173
222
248
229
271
248
358
188
291
139
178
173
278
188
195
213
285
321
264
249
265
139
215
284
223
161
271
291
256
201
145
249
244
247
182
303
258
204
175
239
198
228
160
231
169
156
225
302
218
188
235
234
217
216
222
178
226
296
230
260
264
311
344
295
195
238
139
215
290
232
228
176
219
218
176
163
233
148
185
226
264
224
204
222
297
255
283
253
234
215
316
195
173
220
260
203
272
108
201
155
116
259
223
158
175
185
297
205
174
192
277
258
256
193
272
194
251
192
348
291
259
191
206
204
224
165
270
226
126
217
151
200
328
215
184
160
242
233
157
317
219
312
230
230
232
246
274
214
234
236
346
259
280
228
263
200
126
301
261
237
146
250
191
328
180
224
196
251
233
224
259
187
213
173
253
300
244
232
220
266
130
318
234
192
210
244
263
268
173
288
195
209
297
194
266
193
223
226
299
130
251
267
197
216
253
191
200
242
258
283
189
212
222
152
301
166
278
175
252
295
228
258
151
116
212
235
236
245
247
236
223
267
223
220
289
266
158
271
210
187
214
175
260
207
208
273
269
157
195
245
258
215
265
161
230
222
300
192
205
165
325
209
253
269
232
211
270
195
281
273
275
226
313
275
300
203
284
212
201
297
168
206
184
229
248
225
210
198
274
174
207
146
260
246
204
241
232
261
201
161
309
229
234
237
191
219
257
222
202
248
188
273
223
184
152
194
290
214
221
175
215
188
259
240
222
160
293
340
273
253
243
212
230
231
314
264
208
181
185
261
311
224
233
214
270
253
290
250
234
239
257
205
198
221
203
294
307
152
165
293
260
210
208
262
205
195
268
267
177
180
287
221
163
165
193
234
214
296
240
208
227
182
252
328
232
198
173
199
246
158
241
196
249
256
208
183
307
219
231
284
200
202
168
237
333
221
230
214
222
239
222
203
242
260
160
335
237
278
295
242
210
226
240
245
236
148
133
275
176
291
200
200
192
285
170
155
346
157
181
178
219
235
173
246
211
210
205
258
260
239
151
204
193
213
114
251
146
203
287
252
234
202
243
154
201
212
245
307
237
152
214
219
271
293
126
163
223
152
339
233
214
219
222
293
244
203
261
226
193
205
270
230
291
271
220
176
197
198
215
185
265
249
228
205
266
156
171
214
180
183
221
170
218
278
250
170
228
214
235
278
214
241
231
233
178
204
154
191
229
288
202
281
316
191
177
233
312
252
233
214
207
278
314
166
247
257
222
279
223
245
189
184
227
178
255
222
238
230
267
250
319
263
162
214
274
223
235
273
167
223
298
284
255
266
260
240
181
204
208
171
323
214
262
199
184
271
195
266
268
320
194
180
178
230
230
221
275
224
247
226
207
211
184
230
137
279
167
242
279
204
223
160
317
230
199
194
265
156
235
181
289
242
177
235
240
203
268
213
242
227
290
160
249
166
281
240
233
173
269
214
245
347
177
157
349
228
239
230
293
180
264
274
243
215
206
215
165
177
158
173
239
240
184
225
195
243
256
245
264
233
179
162
196
267
208
152
196
215
263
197
244
203
177
280
206
194
228
238
210
199
229
243
246
170
234
280
246
196
206
204
198
222
250
231
233
206
151
229
265
215
253
232
374
255
214
265
114
174
232
208
276
340
114
294
226
173
243
202
222
251
187
151
239
152
222
221
204
222
219
243
114
175
242
297
272
206
164
192
358
186
248
227
170
237
199
170
212
221
202
263
179
214
252
193
226
234
144
200
256
270
160
154
229
266
182
281
300
174
163
236
232
268
218
229
334
181
263
246
204
175
239
156
233
239
248
180
208
212
259
154
303
307
214
205
243
243
189
239
221
194
192
162
300
198
114
180
170
209
184
265
244
232
200
204
280
304
274
271
241
211
233
156
260
232
177
226
221
200
192
184
162
219
221
209
211
236
214
280
229
241
195
173
175
217
156
309
198
254
225
186
265
223
169
198
251
209
262
191
116
273
267
252
180
235
381
201
243
187
246
209
251
241
181
200
309
232
286
196
232
240
261
216
285
241
269
346
258
209
114
284
259
282
269
221
243
231
193
245
358
180
241
232
249
224
196
302
178
174
231
294
221
141
209
307
256
181
223
190
194
204
277
198
235
230
226
273
289
114
238
289
185
218
272
165
232
210
256
207
180
202
279
317
222
251
218
222
278
255
228
266
285
195
264
201
144
221
211
194
146
266
236
280
246
224
168
170
236
290
224
245
172
207
196
291
130
194
297
194
208
262
296
199
257
227
181
337
232
214
270
275
259
198
170
241
215
335
145
260
241
170
174
309
169
226
270
178
227
237
126
279
240
245
185
337
200
216
188
226
181
331
223
222
222
192
221
288
295
160
160
248
274
139
214
234
255
202
206
182
258
267
219
289
199
285
294
231
214
207
154
247
213
254
233
227
235
285
358
188
236
298
250
282
251
327
194
216
176
241
199
223
191
213
219
226
283
140
173
239
198
208
194
224
256
200
242
234
175
231
253
241
168
200
278
121
249
259
202
204
147
252
195
181
209
236
204
308
193
213
151
199
232
227
184
212
208
206
234
222
227
275
211
190
209
185
155
178
279
183
277
206
223
262
250
248
160
249
231
255
298
179
195
234
262
297
196
188
252
173
210
214
252
222
214
234
255
236
214
229
169
239
268
233
292
294
276
268
239
230
283
216
161
261
224
255
199
335
201
191
278
197
195
212
213
206
252
288
261
223
167
233
215
248
260
240
244
278
246
268
274
290
188
209
265
243
249
240
364
215
267
191
287
190
186
224
239
151
188
194
173
197
287
182
190
235
214
208
189
222
175
200
212
209
198
261
274
265
161
291
273
240
261
205
284
234
259
295
188
286
200
214
239
232
248
201
181
202
239
179
250
283
217
225
213
250
250
106
220
241
262
220
165
255
252
199
178
201
148
167
271
286
201
281
186
239
215
151
161
114
250
261
241
339
225
211
303
153
267
269
268
180
196
214
246
296
293
295
179
188
291
195
258
224
239
291
178
313
257
279
268
208
291
281
238
181
189
259
284
218
121
168
188
247
249
240
205
211
215
114
267
235
196
133
200
226
235
175
263
238
246
178
178
197
235
310
209
184
237
298
242
263
235
128
181
238
218
215
241
238
128
200
187
208
243
206
234
195
254
192
159
210
231
318
210
238
261
214
199
308
231
182
227
254
319
253
288
264
315
200
253
246
147
192
215
191
232
208
156
174
211
171
239
228
256
251
207
328
288
170
170
178
186
279
274
275
279
212
173
184
232
265
257
222
248
280
248
116
234
191
203
257
257
258
316
262
248
228
314
232
251
206
269
277
219
266
199
289
307
287
203
189
145
212
304
231
283
195
238
196
214
329
160
170
228
235
281
193
206
249
189
227
206
261
183
184
154
195
153
293
256
371
252
114
179
174
234
240
256
246
239
210
281
246
133
204
206
181
214
290
195
221
327
160
254
198
184
234
231
253
282
195
279
146
198
252
190
253
189
224
309
261
216
191
165
184
301
173
266
233
234
230
254
233
191
210
266
244
244
290
223
191
173
253
235
221
171
200
249
294
126
183
210
251
265
311
306
210
171
173
203
220
292
188
307
172
255
170
254
237
139
205
197
205
205
276
251
317
319
247
186
156
253
194
234
179
209
185
181
214
234
114
191
211
250
213
267
182
210
214
225
310
128
184
309
237
205
196
209
198
253
235
289
215
173
149
253
300
267
231
226
207
298
114
251
238
211
166
215
114
221
198
188
220
291
176
163
229
200
159
188
257
213
114
182
281
307
170
230
238
288
204
242
193
182
249
206
189
266
173
256
230
256
166
182
222
199
236
238
198
271
265
252
332
257
178
277
198
238
286
189
152
167
241
222
215
220
229
168
189
261
221
251
242
235
213
208
147
232
180
230
170
218
156
238
249
274
243
180
236
232
151
237
227
137
268
220
267
214
249
169
318
234
162
222
227
214
198
168
252
224
160
283
174
239
302
270
201
175
176
230
232
215
287
155
245
215
207
130
192
238
230
238
234
224
189
271
345
174
257
193
215
179
194
108
288
179
248
300
199
270
226
270
239
233
207
229
266
268
199
195
215
339
165
261
232
193
267
240
245
251
230
222
261
304
191
207
191
224
276
187
193
190
213
222
213
247
217
218
217
250
234
207
213
165
294
257
165
250
313
173
206
262
174
306
251
175
310
196
207
271
222
263
258
195
235
226
266
188
173
170
253
200
287
158
189
157
205
241
160
311
249
299
192
236
145
234
222
230
218
260
215
253
180
139
256
255
253
281
247
185
257
315
235
196
241
249
252
213
214
212
222
250
129
328
200
197
206
174
245
164
147
156
211
296
287
293
214
280
176
261
156
233
246
273
205
146
221
205
291
248
174
267
164
173
274
248
254
198
233
276
225
179
223
237
195
169
263
179
241
241
234
293
221
293
190
270
250
196
253
235
246
302
246
245
207
201
194
200
215
209
210
218
220
187
216
139
379
241
207
147
246
168
275
179
248
304
174
239
203
219
266
200
219
230
249
179
340
245
270
291
235
269
203
235
181
174
180
169
161
214
268
215
337
231
148
225
205
246
201
261
197
165
191
203
263
240
231
272
251
238
289
241
213
217
276
221
186
159
212
228
187
267
210
293
173
217
158
191
114
194
236
249
114
157
179
218
208
220
215
282
212
244
182
247
269
188
279
245
154
126
177
239
230
145
306
250
201
314
249
220
240
203
290
227
258
269
198
211
190
186
183
146
235
166
341
202
297
221
224
183
194
201
192
240
218
281
255
202
162
206
159
155
161
214
175
235
244
253
242
232
198
226
239
249
233
300
170
179
269
256
272
244
169
152
231
181
287
178
244
225
182
181
226
169
264
279
245
192
165
247
208
190
231
258
287
246
152
213
160
203
265
215
255
278
321
200
216
258
227
263
187
205
269
195
269
242
273
164
216
305
200
213
279
184
193
222
262
217
200
245
324
244
249
243
214
305
232
253
200
216
236
160
252
187
200
162
207
195
175
207
178
252
160
191
244
363
261
264
228
152
251
211
229
249
228
278
206
171
214
189
304
307
258
160
335
222
239
222
229
225
161
276
312
217
216
230
232
283
114
183
222
184
194
266
283
209
230
246
193
258
222
180
198
169
166
170
153
201
193
289
270
213
277
192
224
247
213
231
257
291
160
158
233
254
165
233
114
229
250
198
275
232
268
285
222
172
279
285
231
208
228
141
309
286
237
342
239
161
265
295
223
281
241
275
224
246
114
258
205
274
260
171
227
240
251
142
229
201
341
199
205
298
255
260
286
242
256
228
311
174
170
254
334
241
223
244
194
290
212
196
232
255
268
196
261
135
218
222
225
194
243
173
178
223
264
209
260
179
245
151
228
213
320
238
234
254
260
304
257
312
223
193
187
243
215
235
151
295
292
181
183
208
203
186
227
293
255
230
202
277
286
294
139
174
238
270
114
192
229
175
191
165
252
220
174
218
194
193
174
228
162
185
197
276
246
165
250
263
224
173
213
139
248
232
194
243
292
182
263
211
209
244
216
183
191
161
236
217
155
139
283
183
162
296
196
193
190
273
201
126
232
217
307
260
212
193
191
200
178
278
243
235
188
216
170
281
249
224
200
234
200
280
290
253
205
170
184
195
197
217
121
240
186
281
170
297
291
206
233
250
268
315
152
224
237
178
160
231
156
148
245
225
242
225
241
212
151
289
209
256
207
210
220
223
230
218
205
213
229
239
236
233
260
194
232
108
172
219
265
114
177
214
170
266
305
263
251
213
258
154
256
214
232
204
247
256
255
176
257
284
277
252
156
210
230
247
251
267
310
330
144
240
251
207
208
169
161
160
205
200
208
219
268
171
239
303
339
230
215
203
160
148
213
199
294
251
261
208
192
193
168
185
240
252
251
126
204
311
282
172
246
191
208
176
175
235
185
202
174
114
262
214
156
197
195
204
240
198
223
259
198
231
214
186
247
191
267
183
234
258
271
274
173
114
114
236
232
205
203
193
263
207
256
174
186
250
158
215
221
224
167
231
228
211
175
251
176
189
210
288
232
240
167
206
242
205
175
226
192
195
158
242
263
187
137
179
205
251
169
169
191
230
247
293
154
228
193
205
192
237
243
222
156
273
239
252
239
286
245
249
213
191
194
215
285
331
286
326
242
277
144
233
219
193
269
245
151
219
206
194
237
273
203
157
243
194
286
228
282
220
314
272
288
222
190
235
179
254
235
267
247
190
277
181
291
201
227
237
177
246
270
184
249
236
215
287
236
241
191
202
260
229
197
179
199
270
170
232
208
307
252
253
197
175
198
178
232
250
283
223
200
190
208
296
243
202
227
257
258
232
188
320
205
269
223
229
251
193
229
247
183
279
215
251
234
217
198
277
173
152
321
159
170
181
174
185
232
178
269
156
243
318
209
244
253
169
197
279
229
231
331
254
193
227
255
171
314
238
208
321
222
206
255
244
248
235
182
201
263
216
236
327
179
285
204
235
217
227
284
179
280
291
234
187
270
126
275
196
279
180
150
223
154
264
266
248
282
218
222
209
280
175
235
276
258
288
236
228
180
221
241
247
224
227
212
274
285
178
251
196
220
194
209
180
198
208
186
210
216
144
197
172
198
189
215
269
180
231
234
254
262
238
283
247
256
256
247
204
179
248
195
181
159
302
193
233
222
239
246
225
219
157
319
229
258
170
169
262
238
267
250
161
236
216
248
234
219
273
265
158
265
246
180
290
198
342
216
188
214
198
223
178
169
225
238
355
232
247
266
277
235
181
190
229
234
193
197
245
189
147
174
202
221
178
287
277
219
250
244
222
182
258
206
283
242
224
218
225
344
320
231
173
260
144
227
226
280
219
232
147
223
146
281
272
202
232
297
262
192
253
238
190
189
283
246
191
215
258
182
190
238
181
171
203
282
281
243
267
241
200
234
211
208
217
252
228
171
203
254
264
334
154
283
226
284
257
180
228
160
233
215
319
194
235
220
272
342
217
145
225
235
218
218
209
183
204
139
319
248
252
208
201
250
225
186
231
260
211
180
185
245
221
368
174
210
166
192
247
207
268
195
174
239
227
213
208
181
133
194
198
184
278
196
226
225
261
207
213
237
162
242
216
280
296
169
231
248
225
223
198
231
238
235
235
291
314
223
251
240
209
215
211
214
256
249
152
259
225
273
256
277
182
214
195
331
181
197
170
134
293
193
243
265
194
243
232
217
156
228
198
222
213
216
156
245
252
192
179
217
180
206
251
216
191
234
176
282
230
194
144
254
240
205
267
284
261
233
227
211
238
223
184
225
286
193
249
183
222
175
156
184
245
212
126
177
252
220
265
221
175
268
192
262
262
338
228
209
209
220
278
160
304
263
296
226
215
213
330
215
208
217
227
176
221
285
246
206
147
225
301
238
171
231
269
139
249
193
247
256
203
190
184
277
234
198
249
306
211
240
191
235
242
285
235
116
209
178
222
217
199
229
227
252
300
252
148
205
197
195
246
287
287
277
183
213
140
242
251
223
306
211
153
230
185
231
189
189
227
192
241
275
223
225
238
211
274
245
270
253
202
190
295
229
216
224
267
228
270
203
243
226
247
319
190
240
180
216
249
201
177
304
260
269
211
234
145
152
259
240
158
212
190
266
160
220
189
238
228
237
260
226
239
174
231
224
199
238
264
178
195
222
287
303
193
187
261
240
206
208
241
157
128
305
224
267
197
202
208
244
173
270
253
148
243
214
239
244
190
233
296
276
227
272
169
311
221
178
190
201
180
267
257
106
247
285
309
214
249
258
206
251
195
204
233
222
250
191
208
270
196
292
202
204
231
223
222
261
342
219
205
211
257
234
265
181
229
143
202
235
184
266
308
250
152
239
187
192
255
185
280
210
212
180
228
245
278
206
287
219
209
226
212
197
283
126
286
282
264
188
273
286
184
240
197
225
239
209
277
162
126
226
139
240
181
222
208
246
281
184
197
202
226
220
218
209
254
223
258
106
114
251
231
210
233
190
172
239
191
146
198
191
224
274
208
192
243
253
258
249
170
198
297
275
211
216
288
199
197
224
193
260
208
246
165
227
252
247
200
295
248
233
239
250
301
271
257
190
295
236
243
214
244
270
224
206
178
245
284
146
276
186
224
287
304
238
278
298
278
224
211
190
232
218
264
215
317
240
245
209
304
261
233
238
285
201
262
257
201
201
210
259
161
198
276
174
174
204
246
227
248
226
195
237
306
269
225
197
160
205
318
261
199
195
180
252
222
197
198
242
265
268
211
169
226
255
185
148
281
179
289
169
160
198
288
267
293
218
200
281
236
191
181
271
233
266
252
325
262
219
256
232
285
171
200
239
195
206
274
217
250
263
280
189
230
185
239
193
263
314
196
150
267
227
126
202
241
227
164
209
225
234
229
242
130
201
216
236
203
274
249
231
243
250
170
180
243
206
198
219
173
152
265
212
183
196
213
183
254
226
182
251
248
213
231
190
259
208
198
240
180
217
215
263
241
237
172
237
259
213
179
139
190
177
255
207
219
235
239
223
255
251
204
212
240
235
206
228
175
253
170
237
203
174
255
280
254
218
341
178
250
144
230
267
216
214
199
265
222
166
210
266
163
221
294
269
207
160
181
256
206
173
211
283
138
243
242
351
212
236
154
223
199
230
279
188
266
270
177
228
249
185
246
156
275
179
376
226
204
188
235
214
282
202
166
246
280
192
214
168
285
252
247
225
236
191
202
129
199
149
158
279
232
225
235
237
225
173
190
275
314
321
223
241
235
200
114
145
248
212
219
257
190
213
228
228
250
270
217
233
330
156
209
181
199
267
158
209
182
285
223
188
239
222
267
215
126
242
178
230
255
291
271
240
174
206
291
319
239
134
276
277
231
285
232
204
175
209
256
274
245
203
274
269
181
280
247
256
221
154
263
202
240
229
224
193
243
215
185
229
221
208
314
235
290
247
221
223
274
202
290
242
219
250
274
174
205
224
224
270
205
220
198
211
191
252
260
175
225
206
184
256
182
241
228
150
225
135
199
170
179
133
198
184
170
193
256
208
244
216
229
239
250
227
309
251
213
218
169
301
231
243
273
199
178
236
240
245
208
165
296
160
286
228
269
114
189
238
208
324
248
161
211
264
153
213
221
198
235
205
166
258
185
324
289
166
293
195
230
227
239
212
217
187
290
223
297
196
287
234
170
231
251
274
173
253
212
228
257
205
228
270
222
188
196
297
204
212
244
160
208
178
230
246
197
114
222
222
126
226
178
306
218
201
246
174
202
262
293
256
146
188
271
199
164
323
170
199
227
220
223
299
190
256
129
233
247
221
221
180
178
261
216
173
201
197
271
217
299
242
199
260
316
148
324
228
203
261
197
247
197
292
158
257
139
178
246
196
247
252
224
211
193
169
209
237
254
203
217
264
192
206
260
247
206
234
220
248
241
222
177
220
335
206
269
114
200
185
257
308
297
227
195
210
208
192
290
340
191
217
255
258
189
210
219
222
181
184
217
284
280
159
308
173
133
126
255
319
215
228
192
173
229
244
134
274
151
261
208
295
278
181
261
241
234
288
221
245
296
197
262
229
266
199
238
188
213
211
198
167
253
152
216
173
195
236
238
166
198
214
299
196
176
211
251
225
196
231
208
173
218
272
234
267
291
198
199
243
209
215
257
204
151
197
229
179
299
265
147
160
180
206
192
230
235
208
288
233
228
276
189
268
114
167
235
316
206
163
330
210
264
212
114
211
231
287
157
201
200
257
242
213
189
255
293
295
202
146
175
176
270
212
205
268
274
275
291
284
245
225
272
176
232
193
192
256
155
333
264
213
225
114
213
204
212
172
156
186
219
195
223
194
292
247
221
237
209
261
270
283
166
199
252
168
217
228
180
300
280
248
232
304
261
241
197
281
230
224
267
268
270
338
289
238
365
267
254
173
114
161
232
201
265
192
235
239
283
198
185
227
298
222
160
210
114
226
273
239
240
313
160
180
259
175
258
281
220
284
270
164
152
240
217
321
285
253
177
304
181
331
241
176
222
205
200
298
227
152
126
242
213
211
208
208
285
295
218
255
280
164
215
256
187
246
223
292
242
170
181
234
202
194
222
225
308
208
221
326
276
275
283
205
232
252
278
186
265
195
282
114
224
202
126
314
282
213
327
256
235
222
221
208
218
296
163
262
326
232
322
265
262
266
244
217
235
261
181
323
229
197
238
243
178
179
250
201
226
206
256
280
296
173
261
236
200
166
261
227
289
312
233
194
262
294
258
177
202
220
235
229
154
192
239
144
205
267
213
292
191
269
188
167
195
294
206
170
258
258
149
209
290
166
251
210
229
231
257
198
243
263
225
208
272
200
194
209
368
260
293
246
191
203
170
187
226
300
158
192
184
261
197
246
164
175
230
271
221
215
202
229
302
178
246
180
214
222
232
170
218
200
203
147
175
180
198
282
237
257
276
223
267
240
250
170
205
283
235
228
275
278
229
245
241
192
319
232
259
259
180
251
218
166
288
259
280
226
265
304
240
279
326
195
210
194
197
215
194
263
209
218
281
193
257
196
307
197
161
146
264
255
223
193
190
237
288
205
204
281
228
247
255
278
245
255
222
289
149
223
234
153
254
213
173
226
308
230
288
178
248
207
180
244
186
225
175
255
297
217
209
251
217
229
241
261
256
206
232
265
218
215
171
232
280
234
171
236
240
210
160
141
303
152
174
208
203
175
206
224
187
207
187
274
207
206
248
284
261
294
233
239
139
198
272
200
139
273
223
190
182
298
253
193
199
277
182
156
213
182
217
248
204
208
275
188
214
265
307
229
289
180
317
255
207
208
227
220
235
178
297
223
223
311
239
166
298
240
264
223
165
248
214
292
160
161
188
168
186
186
276
247
114
270
192
283
229
179
250
194
323
253
242
126
188
181
201
193
168
266
258
193
212
183
278
278
264
179
173
286
214
234
237
242
226
169
219
230
260
227
244
180
161
238
221
244
224
236
271
265
181
253
313
229
206
234
227
229
206
240
262
297
166
158
284
233
252
162
258
213
140
239
193
158
233
226
232
217
175
201
231
349
224
214
214
308
228
169
310
267
274
313
194
228
319
217
331
196
223
235
225
199
214
184
238
273
178
195
156
259
222
195
296
232
211
195
231
243
268
221
196
196
232
273
169
217
294
248
215
177
217
269
200
182
294
235
226
311
139
233
224
218
243
305
195
190
263
223
263
259
198
139
184
320
227
179
251
178
193
276
222
202
157
206
231
180
296
183
263
231
257
241
197
223
230
256
217
181
278
139
312
216
223
221
187
257
274
114
248
192
257
212
192
179
273
238
206
197
114
253
221
366
286
282
246
256
180
235
175
309
233
238
140
198
206
294
314
263
283
159
238
232
251
271
209
198
280
224
212
279
214
297
198
187
223
276
268
266
216
232
225
304
229
184
246
268
282
187
244
164
179
246
212
198
243
234
139
201
106
139
203
240
294
212
220
304
227
241
160
208
288
257
223
170
202
236
251
209
229
225
188
240
144
280
146
253
209
191
214
214
180
241
192
247
210
203
269
208
203
297
276
245
233
238
178
211
229
219
225
156
180
249
216
222
207
242
178
237
242
256
205
217
250
247
224
186
255
240
181
273
191
192
288
178
289
192
255
156
185
149
195
280
239
268
184
213
223
272
230
285
227
212
273
263
194
247
276
216
161
165
154
295
155
154
296
238
238
151
350
307
232
208
178
208
337
264
220
283
264
281
226
215
211
212
126
211
275
265
271
114
160
216
231
166
231
269
210
173
175
199
152
271
179
347
215
245
160
203
257
272
178
223
144
202
180
236
169
232
224
160
255
219
312
223
261
223
267
191
200
222
232
197
231
281
220
198
243
351
168
225
240
155
233
173
237
264
282
149
226
226
186
211
238
155
225
239
246
245
198
163
274
309
230
255
201
228
208
255
240
173
266
284
182
251
178
237
209
241
204
188
218
196
203
192
227
252
178
179
333
309
202
250
236
200
205
215
267
219
266
158
238
256
204
217
220
258
184
227
205
196
181
299
188
234
207
273
206
247
200
229
276
295
251
180
144
114
180
255
218
228
133
204
121
212
224
173
270
248
177
207
252
213
181
243
311
183
239
169
214
188
267
244
197
194
274
214
129
274
269
247
226
197
228
255
231
227
256
195
275
211
203
183
272
181
270
193
318
152
225
199
234
197
166
229
250
276
278
248
180
267
193
239
220
166
192
353
281
241
154
287
241
234
298
227
198
151
285
168
114
181
225
164
108
258
177
151
262
216
147
174
241
216
180
248
229
259
246
158
204
215
259
217
215
216
259
206
266
228
220
218
204
203
222
248
278
232
245
169
239
203
180
202
278
211
277
319
178
210
198
242
149
221
236
197
287
196
306
276
196
299
271
289
186
268
272
188
218
321
114
243
227
227
274
251
152
285
209
255
313
171
219
244
315
209
170
268
233
158
271
304
178
250
226
240
154
236
224
264
209
204
278
114
198
219
175
246
228
263
197
232
183
235
210
174
237
207
257
187
215
210
181
232
203
363
244
222
194
179
170
261
286
195
114
247
133
277
196
251
285
193
254
220
242
265
230
284
209
154
221
231
285
225
160
322
163
185
274
262
152
205
253
224
200
223
197
185
240
253
263
260
237
222
208
208
304
201
285
167
183
292
255
270
221
207
225
227
183
256
288
193
261
229
266
320
250
207
257
251
206
205
281
239
232
171
243
311
270
259
161
215
171
278
145
247
181
221
159
219
185
222
251
257
234
221
271
289
178
208
168
208
189
208
231
203
226
240
198
215
271
206
293
265
230
211
151
212
184
194
152
245
239
222
206
218
258
261
233
197
214
186
236
299
291
173
171
180
308
243
267
264
280
212
187
232
199
169
235
267
242
229
294
260
208
298
216
248
281
197
295
229
186
231
170
229
249
292
181
249
352
208
260
289
254
165
257
259
210
174
293
221
178
229
201
289
188
175
146
160
168
239
323
297
226
296
182
228
150
226
217
307
238
238
200
152
172
211
139
218
180
170
245
154
192
203
128
114
270
160
229
224
196
232
281
192
175
205
212
144
306
227
284
206
192
249
196
279
312
313
192
215
223
199
251
328
176
242
201
283
230
221
312
317
216
194
245
205
164
222
208
169
231
307
256
209
327
114
297
208
279
251
170
255
222
165
201
158
188
206
167
213
176
174
251
222
199
180
366
204
158
197
246
247
218
178
175
321
264
187
278
225
272
216
212
206
114
195
204
114
285
114
241
178
240
173
293
209
189
178
202
254
181
201
280
287
243
241
281
229
226
139
187
199
185
208
256
196
247
156
209
193
306
294
235
171
249
215
261
218
302
164
203
266
219
256
208
230
200
207
234
206
178
194
193
234
195
149
266
185
191
175
149
260
275
242
188
203
205
156
178
139
208
258
270
253
243
146
224
281
266
172
170
250
343
273
230
234
209
156
242
192
216
190
287
210
212
237
194
238
205
126
208
276
206
311
173
229
256
200
203
174
295
232
252
247
256
299
216
278
160
246
178
274
188
254
114
198
277
351
296
218
218
162
223
308
204
265
202
232
184
210
244
276
277
290
220
271
266
192
202
280
256
253
287
274
233
315
190
283
195
247
251
187
225
230
210
285
230
212
234
260
259
160
283
197
251
193
234
250
247
197
186
139
200
142
270
171
212
222
192
214
276
296
262
208
192
259
210
265
237
254
239
148
200
189
234
337
228
242
214
199
170
151
172
183
247
312
184
217
139
202
230
276
203
200
237
241
253
262
281
175
161
264
222
211
288
203
244
221
229
277
258
219
208
202
297
222
176
175
172
228
275
197
213
252
218
223
200
274
243
198
161
170
248
269
248
202
257
181
263
201
277
236
253
210
198
201
243
227
221
249
247
246
149
200
222
270
184
234
220
224
262
126
297
242
185
289
165
316
336
299
319
255
283
263
192
243
237
268
183
229
139
195
335
244
192
177
280
237
229
267
163
218
293
163
255
283
246
232
264
285
242
222
114
190
257
114
315
276
214
237
300
205
156
218
230
241
224
264
272
287
275
186
281
247
134
238
180
235
234
319
262
139
196
208
183
226
271
207
229
310
269
281
246
195
283
227
215
193
246
126
187
276
250
278
187
217
203
237
227
270
215
211
182
276
170
251
244
204
277
253
187
238
198
240
260
240
114
227
275
300
308
160
162
196
319
208
237
251
238
176
191
202
267
233
186
220
246
195
211
249
282
305
258
204
235
273
232
215
272
211
297
249
180
180
144
259
268
229
293
253
276
272
170
195
273
239
253
276
266
229
198
292
214
209
168
285
227
256
208
250
208
222
222
219
266
209
178
248
250
307
285
240
193
234
211
244
238
243
274
251
221
251
194
241
160
221
207
254
242
271
150
255
272
200
243
289
266
219
203
161
225
319
255
251
241
165
208
238
320
224
250
242
267
250
173
147
262
225
207
234
218
296
204
266
253
285
210
179
190
235
215
220
165
316
233
232
228
200
213
198
215
225
181
195
195
268
187
202
193
126
306
181
224
303
194
108
225
177
324
191
200
169
240
114
198
114
178
248
215
165
217
266
178
245
181
228
176
249
238
212
214
159
210
218
230
253
264
207
200
187
252
251
244
315
251
273
247
267
254
268
218
200
273
237
253
184
295
250
233
220
206
250
283
283
196
233
145
317
178
189
174
230
246
236
278
235
190
283
244
193
246
260
160
274
259
239
194
305
271
216
229
150
164
191
266
266
210
215
196
234
207
266
159
116
233
187
145
298
193
267
242
222
174
202
181
185
156
175
213
249
262
148
249
227
171
304
318
255
274
201
243
248
247
183
255
218
190
152
114
275
232
307
176
252
188
194
270
261
191
114
203
237
260
292
249
305
227
200
304
194
280
233
255
256
194
311
239
208
278
205
191
197
242
214
284
256
287
158
116
191
266
273
221
168
182
270
259
237
208
228
199
208
236
194
330
236
164
230
221
209
266
236
213
199
243
229
240
278
180
270
255
264
214
245
290
194
230
223
183
240
219
122
220
220
208
184
270
180
146
240
279
215
180
238
191
290
185
206
307
259
222
249
175
200
236
172
205
108
198
221
181
262
207
276
224
193
263
203
195
183
200
230
223
227
246
265
266
233
213
233
161
270
207
268
221
242
240
241
220
243
272
220
262
270
200
184
210
244
152
196
264
219
226
223
139
248
191
232
213
278
234
230
235
196
266
221
230
232
277
246
288
271
285
194
224
200
145
202
261
235
219
251
280
263
234
231
156
313
238
263
192
170
145
218
225
295
191
251
204
178
213
180
179
241
215
231
213
281
160
258
174
204
209
243
192
209
242
181
259
220
174
204
228
251
316
279
257
234
300
226
276
200
309
169
220
181
236
328
189
277
175
116
231
236
205
233
191
232
210
242
209
168
185
204
173
248
259
233
266
230
251
280
252
260
271
192
206
180
212
294
290
234
162
241
151
353
254
244
196
284
192
159
338
265
285
303
219
195
246
283
170
209
265
238
248
290
235
255
239
275
237
212
239
289
257
205
207
189
183
208
278
239
207
264
262
209
234
247
210
141
241
210
178
216
241
214
193
195
164
238
276
269
209
301
288
211
270
264
170
178
358
225
199
262
216
164
209
241
234
248
235
215
220
236
286
267
176
252
146
194
176
148
308
260
211
236
284
242
347
189
256
208
181
207
166
249
303
204
236
229
217
222
183
240
301
126
139
259
224
252
254
170
247
267
139
169
299
214
227
215
294
275
200
229
172
239
181
235
198
229
197
209
174
215
211
258
317
262
317
185
225
180
290
236
156
220
214
261
285
243
192
207
267
203
239
315
180
285
227
337
167
222
260
234
215
316
259
207
214
310
170
193
220
283
227
184
175
214
247
268
210
241
245
279
278
250
297
261
226
297
215
174
257
240
226
177
192
246
211
181
246
223
280
229
196
218
271
201
204
248
195
313
198
218
253
251
222
180
166
157
220
166
159
191
273
237
306
181
294
250
228
246
207
275
317
114
163
268
214
203
198
244
158
239
215
263
233
260
200
235
224
223
185
201
237
306
258
213
276
197
225
198
223
221
208
202
183
154
164
221
217
157
179
340
173
190
130
160
209
216
190
306
241
297
273
240
133
203
261
213
205
259
145
235
270
184
204
214
214
235
248
221
313
272
212
231
168
260
251
192
246
158
240
226
158
222
222
238
165
180
209
297
275
188
223
214
238
114
193
171
223
261
258
225
233
207
267
214
252
372
181
220
215
279
206
178
318
209
181
223
174
304
297
170
245
301
329
318
251
215
274
148
161
223
258
141
145
238
234
195
268
180
175
180
189
215
179
199
208
108
201
196
114
188
216
259
198
253
286
294
200
301
251
156
233
223
236
253
268
262
234
222
181
259
181
224
307
237
194
225
265
190
237
172
313
240
213
231
274
217
254
193
242
233
286
292
179
262
205
213
240
225
260
192
246
257
225
213
208
285
174
234
188
238
215
192
201
243
267
245
261
225
246
154
178
211
193
224
260
207
258
271
226
166
336
191
190
175
178
240
244
306
225
223
212
213
167
314
283
203
273
184
198
214
248
292
277
237
221
265
232
234
214
198
219
249
233
198
246
235
222
263
169
223
218
183
224
327
293
246
300
238
161
247
163
202
227
195
209
261
263
339
306
261
176
270
193
241
208
215
151
195
224
265
248
262
166
175
170
196
202
233
114
285
257
198
199
266
308
228
114
214
268
197
330
193
244
250
217
255
206
300
238
222
252
212
254
209
203
175
160
206
242
241
199
212
265
186
213
175
202
243
349
133
265
260
285
181
250
181
185
196
262
341
304
194
213
114
160
204
262
161
269
215
270
217
243
197
250
218
234
187
274
167
167
179
201
200
219
240
246
217
173
220
114
244
218
228
235
273
116
252
204
259
160
267
228
215
218
231
203
351
300
225
223
313
216
331
219
221
137
185
242
225
158
292
206
230
276
227
241
346
192
169
139
253
166
152
227
232
267
145
212
210
203
192
226
145
204
211
239
209
319
170
195
304
167
217
282
265
292
184
294
207
145
300
177
215
203
160
249
114
182
229
106
213
261
209
188
175
309
230
223
252
223
228
194
230
234
215
215
194
301
173
279
242
241
195
203
165
237
225
234
238
157
162
227
259
250
289
216
195
171
256
233
188
258
263
223
205
173
210
257
233
181
225
222
300
114
282
321
210
315
258
209
320
218
220
276
191
200
235
214
225
256
269
235
271
212
173
187
272
229
282
244
203
230
157
234
197
161
260
157
239
270
170
210
226
191
218
257
279
252
169
282
229
197
214
224
246
190
226
274
192
180
315
204
140
251
194
171
250
237
241
290
230
188
162
162
208
130
156
149
233
141
189
260
218
218
265
220
201
210
231
270
215
211
216
206
226
228
176
114
248
214
260
238
195
243
226
234
205
180
197
208
260
275
114
151
161
315
226
305
192
209
243
185
198
194
266
199
192
194
168
198
198
190
211
181
181
214
298
201
283
235
183
253
228
153
306
114
248
277
195
234
186
211
215
214
233
230
264
219
210
192
213
220
139
190
191
173
233
298
175
256
236
221
244
239
167
296
191
261
234
189
223
262
214
216
270
199
261
254
256
270
305
238
253
208
269
230
239
279
190
180
188
207
286
269
233
173
149
230
202
249
114
139
231
181
213
223
162
247
178
259
171
237
170
194
216
178
252
207
239
195
220
206
201
250
173
222
178
200
207
114
201
230
181
200
234
234
203
214
263
198
230
237
198
198
176
315
231
216
210
254
321
183
166
253
151
319
277
198
227
211
152
279
281
220
181
202
235
209
179
230
192
196
190
329
218
114
313
318
215
242
234
195
250
209
230
231
317
229
282
159
296
245
210
192
232
152
206
235
268
262
337
179
206
239
198
267
249
222
214
216
202
210
186
186
288
182
209
205
370
220
215
231
170
160
319
286
226
217
269
161
276
207
212
208
180
211
175
294
229
303
281
231
221
218
256
307
185
209
195
239
205
232
307
239
274
243
228
246
321
237
174
213
176
266
265
262
203
211
243
229
161
177
283
208
208
182
255
160
210
370
200
212
239
235
262
172
204
210
270
164
170
264
250
198
232
206
214
227
228
126
167
218
265
144
209
175
287
258
301
231
276
211
258
241
156
218
179
231
236
192
283
183
209
158
234
272
163
211
220
144
227
175
207
162
208
239
279
154
215
180
192
201
281
202
242
324
266
209
199
184
161
217
222
192
159
190
266
170
178
192
204
219
282
195
206
236
217
180
247
285
232
243
208
212
220
237
273
280
201
204
292
231
162
205
148
187
209
228
198
222
234
214
235
234
250
261
210
206
229
181
221
165
304
174
276
225
188
165
184
300
259
174
181
243
240
221
235
259
288
235
173
258
255
202
213
191
285
280
274
207
271
222
233
114
161
256
210
252
200
176
211
228
295
221
214
239
114
197
159
248
204
211
198
259
210
178
241
261
266
195
243
217
215
232
329
158
217
200
231
288
240
291
202
240
275
245
250
193
219
205
265
223
200
215
251
108
179
164
170
258
266
273
160
242
244
198
249
263
160
318
179
241
244
207
249
239
210
218
287
180
187
252
262
287
218
174
191
246
234
253
170
208
195
156
199
239
196
203
256
252
224
152
126
234
219
244
268
253
158
255
226
208
213
260
240
182
266
191
279
145
114
279
280
139
200
129
228
252
257
266
277
309
240
256
199
321
188
228
237
151
191
114
182
237
234
207
219
303
222
247
200
178
184
191
189
244
222
170
166
280
162
178
303
207
306
228
209
238
195
243
236
222
242
235
280
268
211
236
224
168
271
219
238
154
231
191
249
216
128
279
270
176
257
158
155
238
181
173
287
248
213
250
229
227
226
204
187
219
250
253
229
213
290
265
198
274
218
221
158
216
130
197
204
186
283
252
229
198
225
201
177
161
233
254
332
200
205
246
212
198
221
278
239
261
224
159
239
213
233
195
207
323
232
190
247
357
207
291
297
255
181
170
250
195
198
227
280
133
166
192
265
114
195
217
240
232
260
259
292
253
248
237
193
235
269
196
182
250
259
162
186
193
160
212
221
246
265
196
227
201
171
240
191
257
234
241
281
201
226
210
242
234
269
325
254
212
308
256
246
177
173
147
225
221
209
273
152
250
257
240
174
221
191
108
195
271
222
217
208
182
244
241
183
199
222
199
209
211
229
229
175
190
236
220
168
328
160
226
201
219
220
243
196
284
191
161
247
257
240
266
173
210
278
193
283
252
199
213
269
261
217
269
207
224
314
211
198
239
204
237
195
214
159
240
239
224
296
233
174
177
172
233
206
240
203
203
220
184
289
154
265
222
200
205
208
205
144
212
333
242
221
278
196
219
231
213
223
165
250
237
255
224
272
129
189
163
246
312
217
222
201
251
178
215
254
238
211
255
234
211
164
195
257
230
210
237
162
345
145
189
214
188
214
183
212
200
251
249
241
153
216
209
197
255
222
271
231
229
226
180
302
149
222
258
397
204
259
306
244
213
194
283
225
214
209
151
214
257
248
214
183
270
179
277
280
182
170
172
227
230
234
190
232
229
231
210
213
143
232
296
155
240
314
227
323
231
205
174
263
220
203
243
160
288
267
183
195
280
258
286
222
253
234
253
240
209
198
151
200
277
222
114
266
175
238
193
287
214
177
286
249
265
225
189
270
196
187
248
200
308
231
213
241
152
259
220
296
246
294
248
241
183
203
253
237
281
235
217
195
180
164
244
237
292
233
192
231
213
197
226
211
199
228
327
311
283
225
214
213
200
263
284
229
293
234
232
177
173
174
310
175
181
152
161
247
234
195
284
174
195
186
203
215
256
289
191
207
249
217
274
168
152
160
226
230
198
172
186
200
269
216
184
269
249
201
262
219
217
225
201
267
296
225
253
241
239
287
199
174
285
126
237
202
301
262
343
263
207
171
212
300
291
226
214
258
198
318
204
198
196
166
209
178
212
207
221
277
207
272
267
260
204
234
214
283
121
240
262
160
259
210
168
237
186
145
322
215
144
273
250
278
269
205
239
240
199
292
116
189
279
221
284
224
294
171
177
149
114
175
239
297
178
193
233
188
213
252
231
219
207
273
290
250
231
238
262
213
292
247
187
264
323
181
160
177
198
200
195
179
187
269
191
193
240
227
144
284
250
216
182
177
283
225
192
317
250
161
208
266
157
271
218
129
223
161
219
251
272
301
173
230
215
205
204
227
146
238
195
243
180
230
301
201
179
199
277
293
169
180
129
234
215
244
298
232
234
239
237
225
167
145
179
238
223
246
248
182
232
191
178
211
190
194
223
158
198
188
245
230
243
240
259
243
154
240
209
250
191
253
319
284
198
305
174
217
231
204
192
203
257
108
192
215
148
256
219
216
246
215
211
170
232
298
245
255
234
241
214
269
256
196
221
293
193
158
229
177
316
192
130
174
166
186
229
209
185
207
210
169
221
220
251
269
212
331
226
270
301
215
260
223
298
260
226
207
182
297
178
241
175
223
277
216
212
239
232
197
196
198
235
263
220
214
230
256
179
231
212
220
182
200
227
218
215
214
252
208
282
232
257
242
222
189
196
202
260
256
234
251
197
211
212
202
181
209
284
281
245
231
274
252
209
184
195
221
219
144
257
235
216
292
205
247
276
271
239
257
341
141
285
233
234
270
250
284
305
251
181
149
229
215
219
234
198
250
300
183
359
152
299
215
160
126
218
155
270
235
272
247
230
240
175
310
208
154
232
199
246
280
166
154
294
291
181
208
237
193
193
213
184
211
146
251
287
212
234
324
300
139
203
211
204
227
266
184
248
216
296
250
272
175
226
191
200
220
292
162
215
230
164
182
190
260
173
180
205
277
251
224
203
197
199
207
219
154
191
192
255
174
138
230
226
246
248
307
247
281
216
267
169
261
144
236
188
222
206
253
218
226
303
194
160
211
228
308
243
268
211
196
133
211
221
171
175
340
254
287
174
174
204
229
270
173
226
222
252
217
247
239
121
257
218
199
196
160
232
274
249
237
222
218
174
221
265
219
180
185
291
227
198
178
203
258
230
247
184
208
256
290
230
266
173
276
215
229
159
231
228
189
232
319
263
244
208
249
214
295
212
240
166
223
213
275
196
219
234
227
152
229
144
192
158
166
241
209
216
219
196
256
182
304
189
234
198
264
256
229
233
243
246
233
215
258
168
156
318
208
243
228
197
199
176
254
202
256
218
215
308
235
247
219
161
217
248
206
223
230
175
313
252
215
169
182
233
126
218
203
215
202
252
219
269
269
265
242
207
227
225
210
208
179
284
160
232
247
168
274
195
336
152
209
167
242
258
235
288
296
211
177
212
211
174
335
256
199
303
227
295
259
345
220
182
235
174
301
268
273
268
210
181
239
249
209
198
275
236
285
231
219
209
273
158
251
200
160
196
253
207
205
223
182
233
169
176
292
236
196
247
156
283
285
166
294
302
308
265
284
300
171
254
264
214
224
246
214
230
230
185
306
208
327
126
239
161
225
176
233
221
290
226
256
185
196
278
151
255
170
156
252
108
191
236
265
260
214
237
267
192
220
252
233
156
220
238
157
227
184
280
202
114
249
237
250
233
234
231
207
221
251
161
181
276
200
272
173
150
319
241
210
198
195
203
140
294
219
299
158
241
190
193
219
251
278
256
245
194
252
270
210
157
126
210
252
237
266
218
221
220
264
262
211
306
211
211
176
225
251
194
285
206
210
266
229
145
174
307
349
247
303
208
233
278
175
164
231
240
166
261
259
311
209
239
152
214
200
253
233
264
278
232
202
215
244
272
262
160
255
168
281
278
178
211
293
251
198
284
250
196
238
288
275
170
237
234
251
247
261
203
160
223
192
243
229
170
220
302
202
254
259
222
249
158
288
227
313
190
243
227
281
260
196
220
191
261
160
175
307
221
206
202
251
224
200
176
181
156
247
229
297
221
222
223
274
234
215
139
232
198
173
229
247
204
211
278
158
249
267
235
271
212
253
299
272
221
243
250
203
266
156
183
238
207
208
221
250
184
194
194
116
184
202
317
212
230
228
240
263
170
207
174
200
235
268
223
234
301
220
175
204
286
210
262
272
198
260
217
144
221
216
213
221
288
218
154
193
193
208
223
239
204
182
306
193
184
290
237
201
189
206
262
263
267
229
167
254
244
260
226
275
203
212
198
230
227
280
222
139
173
145
162
282
269
244
162
245
263
226
193
234
239
270
178
273
189
206
177
230
197
268
234
159
277
253
170
246
291
287
219
238
327
275
188
189
238
238
279
223
212
183
300
210
270
220
253
168
220
207
173
209
292
188
233
286
233
192
170
229
273
139
234
257
215
217
179
200
250
204
195
219
260
237
139
222
225
284
187
246
209
186
221
200
190
178
192
238
152
176
278
165
234
128
178
231
217
302
204
260
234
228
189
254
198
193
242
185
207
114
234
168
208
202
221
238
252
160
235
170
178
215
202
233
223
202
271
276
216
244
240
180
246
231
269
175
317
114
189
197
203
149
261
226
261
237
283
193
114
114
243
234
176
241
265
148
279
195
209
267
258
202
139
265
211
198
268
178
281
189
225
114
236
240
222
192
179
144
315
175
255
158
194
217
198
193
296
192
200
219
274
274
172
262
273
259
198
237
239
116
158
204
178
241
194
186
192
247
225
224
247
316
218
299
218
180
232
222
259
121
232
264
211
225
316
284
302
198
129
275
182
310
198
189
242
260
182
309
294
268
213
207
178
308
217
184
160
238
207
198
226
243
232
262
260
310
203
276
263
303
309
223
233
270
229
191
183
176
216
226
224
171
204
251
204
249
238
235
152
172
198
185
253
232
220
272
334
284
244
251
277
259
284
234
236
229
239
239
218
200
194
224
222
345
231
208
221
234
205
244
201
157
220
181
277
220
253
283
171
192
250
228
224
212
230
249
280
282
184
214
231
266
290
182
294
235
287
262
217
182
182
249
262
248
240
199
248
250
232
293
191
330
235
299
192
214
267
193
243
225
106
165
129
114
272
187
266
199
229
158
252
263
220
221
309
231
178
193
151
277
235
216
242
244
148
201
220
213
207
308
269
192
245
277
231
227
248
265
280
256
150
271
253
170
178
170
219
284
174
226
161
208
232
211
195
207
290
277
157
234
230
242
211
177
199
157
184
211
182
241
234
235
235
231
218
211
114
270
271
215
151
267
156
309
270
179
206
288
215
243
309
261
332
242
205
271
174
170
192
252
186
221
231
178
245
303
281
213
205
266
211
116
225
187
249
177
237
242
227
204
159
307
186
313
248
152
277
200
251
246
214
237
254
275
290
191
195
168
225
273
259
170
272
137
220
196
193
184
321
221
216
219
199
205
188
160
260
192
168
198
283
208
108
219
204
319
221
209
116
194
196
196
173
230
173
235
215
255
287
180
171
157
148
152
221
201
257
229
245
250
231
168
256
216
226
231
231
202
248
242
213
245
223
227
212
218
198
218
240
203
203
239
233
327
144
282
208
244
272
200
241
303
241
165
313
156
206
271
230
308
259
213
253
234
250
167
239
262
206
214
287
219
278
283
246
114
184
266
224
206
218
198
240
186
258
149
202
254
203
180
244
237
239
237
286
194
249
218
215
254
258
139
160
240
271
173
198
183
241
175
217
160
253
224
279
289
160
235
287
199
171
245
220
244
270
265
347
185
247
166
176
257
277
238
318
243
223
258
288
126
279
216
260
237
201
256
217
201
181
164
164
214
211
199
176
252
244
233
174
222
262
273
226
189
147
147
316
170
247
290
289
160
152
248
214
189
218
242
242
199
194
274
141
133
186
202
213
204
254
176
254
248
204
228
170
224
175
317
231
281
212
284
251
329
225
273
248
347
274
108
290
188
217
229
257
197
305
222
180
275
309
277
227
200
246
198
187
303
226
280
234
184
215
173
321
208
300
227
236
260
262
189
268
218
283
193
186
284
129
165
253
121
157
222
216
271
227
236
272
207
202
280
238
178
238
284
181
217
231
228
239
212
245
287
310
220
133
232
186
226
238
206
229
244
216
237
277
189
244
200
200
269
192
149
222
227
312
181
225
237
263
225
149
224
212
219
173
201
202
237
247
249
270
268
198
236
215
200
270
220
341
260
241
237
226
248
332
222
225
184
314
213
239
155
192
198
280
222
173
315
290
270
232
207
226
249
263
227
252
260
245
269
222
201
262
260
243
279
290
268
170
212
149
186
212
247
152
264
247
208
224
298
177
206
208
202
188
255
301
307
251
221
175
297
195
159
221
287
148
210
290
298
238
282
255
198
192
158
220
320
257
200
193
206
240
243
184
291
114
270
194
145
223
199
178
230
173
244
216
271
221
241
252
278
114
203
283
204
245
180
179
264
231
269
188
210
255
236
207
186
243
157
211
196
220
247
248
217
252
206
194
220
279
253
196
223
133
245
181
212
176
281
293
246
170
196
162
114
161
232
202
303
269
215
174
214
285
268
192
215
232
290
175
220
176
191
229
244
281
196
304
191
186
229
262
218
339
206
173
297
277
283
213
278
309
248
114
195
249
198
203
215
296
153
215
185
231
209
271
210
212
250
249
191
263
244
214
302
162
139
292
213
247
260
253
221
275
199
229
227
333
294
226
181
259
193
290
114
242
208
126
170
297
265
225
268
220
246
210
191
224
305
180
260
266
191
244
170
205
263
207
275
194
190
260
215
151
166
207
147
242
170
274
255
233
274
183
253
225
220
220
213
246
310
273
270
160
238
220
286
256
333
178
184
189
139
220
271
222
202
206
182
189
220
171
297
197
170
165
230
194
197
264
249
230
160
238
205
198
203
210
139
126
223
286
160
222
259
264
215
223
275
207
265
116
246
210
293
302
238
250
245
234
234
206
281
259
251
240
220
181
297
174
211
229
163
187
192
272
210
231
246
174
206
307
233
214
263
178
213
194
224
201
283
304
166
198
270
276
233
241
166
273
210
192
273
298
209
258
181
151
219
265
247
233
282
222
197
250
201
240
217
198
242
174
319
145
181
228
163
344
253
218
300
245
267
284
273
268
289
229
282
129
173
197
140
256
265
208
243
196
263
201
292
259
243
287
206
190
264
152
193
260
204
273
221
232
237
177
184
262
248
160
241
170
225
233
215
145
215
314
244
305
215
236
265
184
211
222
220
182
203
303
258
220
251
187
221
233
249
189
277
207
255
266
240
235
187
257
228
253
211
221
239
114
229
233
227
277
200
246
264
174
154
230
197
243
176
322
196
260
242
214
175
220
211
261
218
237
285
155
197
231
187
226
242
250
255
256
195
232
205
215
257
260
215
174
200
244
191
237
275
198
161
191
281
204
208
246
244
114
234
247
167
230
241
222
274
218
274
213
212
255
219
237
205
256
270
215
237
262
207
271
152
246
257
269
290
200
230
286
203
183
237
194
188
192
206
215
236
335
249
155
173
226
261
198
255
207
322
254
198
318
261
310
254
211
263
204
178
192
267
264
310
196
228
220
306
190
139
299
214
249
245
184
226
307
229
234
232
221
208
180
192
178
222
220
239
151
197
175
219
214
231
208
220
276
193
175
261
220
247
317
366
176
193
245
245
292
250
174
213
187
244
271
206
191
165
279
219
236
206
212
220
226
169
205
219
166
261
228
225
220
214
205
162
295
285
290
152
188
233
265
217
186
171
165
214
318
305
188
257
245
221
213
216
227
262
192
223
240
189
218
185
191
188
204
262
249
166
214
188
139
183
238
229
169
299
185
209
184
267
279
212
190
225
209
177
206
180
198
192
184
198
206
209
218
206
234
249
265
183
239
198
246
229
242
237
230
248
219
212
243
165
195
184
192
229
304
233
258
238
273
222
228
204
220
214
297
157
227
195
170
287
183
339
209
261
226
209
243
278
190
236
196
194
205
301
288
214
211
287
175
269
274
231
216
266
160
247
234
238
275
238
201
261
233
225
224
114
233
228
201
178
126
249
244
182
164
212
174
224
241
234
237
224
261
252
302
303
246
253
253
114
237
220
282
201
240
290
193
275
296
227
137
184
240
232
233
241
259
230
139
263
334
265
187
204
239
340
281
251
181
257
176
255
338
177
185
261
187
268
247
196
257
144
237
261
181
278
230
214
196
174
267
249
178
207
246
264
114
266
187
156
226
227
230
282
178
227
200
245
276
182
213
192
208
206
211
258
249
316
156
218
108
213
156
151
234
162
235
161
177
259
206
167
144
176
176
198
231
218
287
173
257
198
181
136
147
182
219
220
265
338
193
190
222
177
211
214
254
300
197
290
206
289
265
217
259
195
209
140
267
276
200
249
228
170
284
217
246
174
184
239
188
236
258
205
270
277
175
271
321
251
225
325
207
232
203
192
210
189
283
160
170
236
187
154
209
203
182
170
266
322
199
261
271
287
231
198
253
208
245
207
185
229
226
228
189
221
200
313
218
253
252
253
240
215
180
262
175
188
213
320
252
188
219
198
231
151
190
227
263
182
243
225
268
146
240
139
173
174
236
149
267
232
216
241
308
170
179
254
250
227
221
207
200
184
304
199
250
156
221
250
243
234
193
292
290
222
220
232
222
213
322
278
265
214
191
236
223
258
208
283
204
176
181
245
234
217
238
211
278
311
280
245
174
243
239
325
174
234
218
178
277
226
192
220
224
198
249
222
195
244
201
222
203
227
222
219
166
222
290
245
160
253
191
190
219
216
224
216
216
247
258
229
280
199
196
261
248
311
179
156
218
161
226
245
230
265
322
286
282
184
216
175
164
218
146
292
291
176
228
178
295
195
161
206
190
245
284
200
198
193
286
313
252
201
251
222
261
214
182
173
181
192
178
235
263
235
282
238
149
231
221
184
234
189
126
159
236
301
220
221
160
114
230
225
296
181
243
189
212
192
192
258
156
258
252
234
255
286
219
175
220
219
249
304
241
278
170
309
304
212
173
192
209
218
160
261
247
220
202
276
229
242
233
206
208
263
243
263
195
160
144
248
265
301
254
271
194
235
219
196
228
246
214
331
193
114
249
184
308
298
171
201
212
242
248
213
263
252
209
236
250
191
208
158
232
211
180
183
204
288
220
208
198
252
269
205
258
185
233
222
340
218
266
233
194
288
266
242
228
367
244
267
266
288
211
233
273
205
154
207
270
252
253
255
206
283
139
302
243
189
211
187
252
233
126
195
302
251
222
314
181
219
193
189
224
258
203
199
208
303
116
214
259
246
275
208
253
267
239
263
221
194
222
263
231
187
243
198
231
191
253
281
201
190
157
281
207
231
194
177
231
221
212
255
214
154
224
145
199
201
294
220
237
266
214
265
233
196
228
272
243
198
193
259
214
278
240
250
189
250
257
252
263
229
214
270
184
245
203
210
211
247
273
203
181
228
220
152
235
219
158
235
225
223
175
223
214
245
246
246
211
222
268
164
174
374
200
178
170
229
162
200
193
262
260
244
258
218
219
342
234
252
203
295
158
234
284
182
218
200
205
209
269
301
234
297
225
241
196
232
178
226
292
196
196
202
245
184
200
197
209
251
162
200
341
144
246
249
198
227
264
222
294
203
256
199
194
174
240
171
200
197
198
177
108
210
189
181
262
261
213
180
157
267
191
206
190
249
227
210
230
310
220
234
233
264
220
243
271
160
193
222
229
262
238
196
209
155
201
208
174
229
174
174
226
235
181
214
248
168
219
227
159
222
270
206
215
165
261
241
181
235
193
212
210
262
189
287
227
269
226
186
323
313
235
241
335
184
188
208
236
248
239
277
214
260
256
250
186
290
243
197
248
210
227
278
215
244
281
292
228
226
217
221
202
253
218
182
280
268
235
242
219
291
237
233
272
260
200
216
200
274
202
180
261
309
267
250
301
164
234
243
230
239
366
160
215
228
253
259
202
240
232
158
228
309
139
222
223
259
193
173
240
234
243
214
164
241
300
243
254
304
267
313
129
321
208
264
210
257
193
199
179
215
220
227
208
206
255
287
184
320
239
192
262
187
226
292
202
180
209
253
260
160
321
203
160
205
192
227
233
310
212
181
182
181
250
175
170
254
212
202
218
154
208
238
235
243
195
203
180
272
247
246
259
198
206
183
149
282
241
180
227
235
247
181
173
196
180
209
237
251
201
199
255
180
203
178
231
195
215
179
121
165
234
240
252
200
238
230
195
151
235
209
183
158
156
219
181
215
145
301
252
240
266
213
169
114
259
275
173
214
224
189
253
195
236
195
349
198
114
185
219
167
254
206
153
200
169
226
234
238
180
267
256
266
256
232
213
233
170
242
171
260
173
211
252
179
184
276
250
221
254
195
207
261
255
231
184
222
260
183
213
276
183
216
226
179
198
245
212
144
220
193
231
183
243
195
219
216
148
209
233
173
360
253
234
224
198
222
302
175
203
242
253
192
200
175
231
204
235
219
233
198
278
235
271
224
238
295
307
190
333
222
166
217
214
231
310
231
221
247
188
250
279
280
282
265
126
285
276
182
311
225
235
187
223
220
202
238
214
316
186
167
271
255
187
236
210
198
256
233
226
253
260
251
228
251
322
185
229
256
192
196
206
201
323
160
114
273
196
270
210
325
271
313
234
174
170
162
126
207
197
231
225
178
175
354
185
160
172
179
203
221
246
202
212
190
267
280
302
262
197
184
169
239
279
223
237
240
205
266
160
193
307
168
250
160
239
204
280
297
207
200
218
168
302
169
216
208
116
223
253
337
139
178
204
198
240
277
278
240
306
260
207
270
243
290
282
261
230
248
203
243
163
329
291
245
231
356
206
270
244
217
276
235
215
221
203
278
246
156
164
224
236
316
197
170
278
209
307
221
206
153
265
253
249
208
237
193
342
200
227
233
149
168
318
202
169
225
206
289
114
274
223
277
198
246
225
246
268
193
214
219
266
272
242
165
173
160
345
246
278
275
212
207
160
106
212
322
214
229
201
151
229
146
221
262
122
164
209
215
250
195
191
146
309
238
183
144
246
270
337
156
203
200
212
196
302
231
262
175
253
173
206
149
161
196
258
303
207
161
236
228
170
208
172
220
251
209
221
249
201
223
170
193
228
273
196
121
252
262
266
198
228
190
198
238
206
278
231
156
170
185
246
279
287
150
209
242
188
250
222
189
197
189
232
202
215
290
180
205
246
253
114
179
184
168
192
231
245
277
179
207
317
238
189
256
278
258
292
181
234
234
164
229
178
200
174
209
167
240
166
272
232
201
221
114
252
276
251
250
184
106
190
214
173
224
214
250
185
260
288
284
183
233
241
246
219
199
264
189
255
240
235
244
278
317
261
184
190
139
288
303
216
227
202
220
191
230
197
287
245
207
300
160
203
225
162
214
168
240
263
213
223
166
206
217
279
255
244
289
240
190
283
235
158
222
267
245
199
229
193
246
239
254
215
158
192
256
231
229
254
202
206
241
145
170
312
250
151
234
258
162
234
225
254
317
204
273
295
240
210
234
293
177
126
226
193
230
174
179
256
211
228
210
188
212
274
249
238
249
185
156
213
218
213
183
186
178
229
294
156
166
242
216
277
161
148
245
298
167
248
209
198
307
282
164
231
275
275
178
174
253
172
274
187
114
272
170
170
250
240
268
321
210
174
192
202
144
273
171
229
114
234
253
228
214
229
202
256
212
220
146
147
267
191
307
251
193
218
301
146
182
246
226
238
276
279
258
274
220
272
270
241
237
279
233
199
241
218
253
283
219
297
209
212
203
158
185
237
264
176
278
215
211
196
231
228
317
234
282
182
310
212
192
250
232
255
224
227
270
300
210
258
151
231
248
209
260
270
152
171
174
248
306
216
232
306
247
194
250
173
238
248
334
193
139
225
269
184
180
203
174
190
224
213
280
241
282
217
251
302
250
243
224
278
213
249
219
173
234
203
240
326
168
154
261
177
208
235
239
236
219
185
143
236
222
145
296
152
222
221
235
171
126
213
335
260
233
287
339
291
260
268
285
211
228
130
217
253
182
219
194
278
239
272
245
238
296
146
219
232
199
251
253
242
191
288
227
207
232
190
238
267
184
229
203
214
200
251
279
215
243
212
224
178
182
154
193
217
254
214
225
241
227
266
300
206
225
213
264
306
238
222
213
286
194
204
203
169
213
199
193
177
221
231
184
214
196
254
293
168
200
260
284
273
145
203
322
233
199
295
221
190
126
229
204
257
245
253
245
255
270
140
148
114
305
179
205
269
186
275
249
292
251
198
147
254
246
268
200
246
190
187
258
230
258
219
178
200
278
258
160
346
215
167
114
212
204
170
220
272
280
248
183
169
208
191
184
248
288
254
212
215
160
191
139
220
282
246
226
179
156
114
231
129
264
270
259
194
232
201
234
165
161
220
249
198
245
220
165
244
191
205
195
275
247
193
222
174
180
242
175
251
267
301
241
126
288
224
192
274
192
220
241
229
188
193
220
176
229
198
284
224
300
158
286
155
211
205
308
237
225
213
207
366
290
226
233
221
166
213
121
176
223
266
286
183
147
339
272
195
213
235
246
215
212
170
211
205
217
255
207
294
299
198
195
166
265
204
249
233
211
175
192
303
323
209
197
279
279
196
174
217
245
148
337
208
218
177
312
239
293
182
245
202
193
244
215
252
159
215
176
209
213
349
278
178
263
296
144
216
181
255
226
267
268
184
262
303
226
305
285
173
161
216
215
219
158
192
204
214
246
308
226
177
192
211
273
154
215
198
270
246
278
114
215
203
243
130
211
243
239
218
238
191
173
239
206
240
181
255
219
281
171
145
234
247
194
320
126
188
200
151
271
176
271
208
238
270
206
179
267
142
175
297
203
290
228
230
228
271
217
222
213
178
226
232
176
219
324
252
183
266
213
245
238
208
141
252
184
245
278
252
148
234
222
168
221
222
242
227
275
286
272
262
242
294
292
166
208
114
169
249
176
276
201
194
282
209
188
263
209
197
173
294
174
158
277
182
297
197
219
165
193
263
184
201
207
187
277
233
216
189
200
149
211
216
216
218
214
174
271
275
139
290
297
277
363
245
240
213
183
207
225
311
281
145
245
215
254
217
227
178
233
229
251
245
232
240
156
222
305
205
256
199
191
223
175
276
289
286
211
214
195
209
203
246
226
207
195
298
178
191
210
267
160
187
231
257
200
217
245
197
277
233
222
154
290
192
235
274
213
200
155
239
202
226
315
261
197
245
199
265
332
264
187
157
221
114
206
139
274
243
175
222
171
232
180
284
284
217
205
161
159
204
235
223
249
225
227
195
262
222
194
207
191
205
219
173
230
226
197
331
278
234
252
219
255
161
170
171
165
299
187
263
256
227
215
264
243
259
213
253
199
314
257
154
259
227
207
206
208
207
213
173
209
183
233
285
233
217
235
214
186
218
178
160
240
229
194
227
284
244
306
258
184
169
175
114
293
288
193
153
256
183
280
245
207
186
236
254
254
169
317
219
249
220
240
193
248
208
192
170
258
222
304
177
169
184
173
342
202
231
219
232
273
206
284
153
163
238
203
231
234
149
177
229
305
296
212
250
219
243
178
205
151
244
234
219
222
158
182
185
308
154
251
207
161
114
241
204
253
275
200
215
156
220
213
291
167
177
224
245
178
129
249
209
219
235
207
200
199
203
236
247
259
140
244
259
254
164
279
228
253
190
264
205
180
181
254
210
247
198
241
223
217
185
253
237
160
191
166
184
169
295
377
203
213
264
274
154
254
219
156
265
221
216
288
175
206
283
169
293
234
210
193
301
218
212
148
213
239
228
281
250
192
254
257
172
237
151
197
205
156
216
183
301
166
202
129
226
181
151
232
233
215
209
208
256
209
189
173
212
225
268
279
250
264
310
306
229
247
188
251
229
187
192
248
190
239
222
189
206
167
250
128
215
263
209
206
268
216
210
114
237
157
180
181
251
178
175
184
253
242
236
170
227
260
211
263
206
270
261
181
173
320
224
254
200
212
205
244
245
259
292
203
166
271
226
178
201
203
178
246
114
237
220
175
245
151
274
216
334
224
260
206
286
267
200
249
228
207
203
208
234
240
250
155
321
286
154
263
281
186
192
193
282
218
247
260
201
114
367
204
233
221
221
217
276
230
219
246
176
156
207
185
261
205
290
200
170
234
156
194
251
170
267
289
223
208
261
247
276
257
209
265
275
291
212
207
216
256
165
290
196
269
170
232
280
139
246
239
224
245
276
306
168
239
222
273
250
169
260
240
170
156
339
265
156
260
184
139
148
203
231
199
180
273
285
238
242
244
216
272
367
220
265
319
241
177
189
271
282
144
275
226
245
247
208
260
267
217
156
160
284
257
222
291
215
202
209
254
178
204
192
249
228
280
222
181
264
239
277
342
287
263
194
267
256
256
218
208
211
206
217
249
284
281
184
192
227
156
248
268
266
246
193
151
221
175
207
207
300
269
203
156
189
216
276
195
246
254
233
186
248
205
149
258
288
205
199
218
251
214
180
305
213
224
318
139
216
228
202
262
170
238
214
236
231
219
292
276
245
219
262
300
270
235
214
225
144
246
218
261
213
248
223
187
250
185
259
285
219
216
216
208
205
306
256
165
285
195
178
226
235
237
279
204
169
185
286
181
161
227
254
211
188
216
303
159
229
247
202
195
184
173
235
204
310
260
236
271
242
238
248
264
249
217
243
197
186
245
291
200
223
270
247
263
192
235
249
221
293
170
288
243
231
230
170
221
202
187
244
157
183
177
271
326
181
291
173
238
172
234
160
178
225
220
295
153
287
198
236
257
199
180
237
245
241
366
196
225
200
277
235
227
272
244
234
186
194
156
247
225
241
238
211
243
156
162
169
203
218
219
243
178
220
249
261
252
173
235
179
241
265
293
197
198
288
282
225
194
201
159
239
305
176
226
106
178
250
228
260
203
208
256
264
247
334
228
198
306
235
283
267
276
218
243
247
220
218
235
218
114
236
206
238
164
232
139
232
241
266
216
267
254
195
262
116
280
276
300
260
231
242
255
306
274
195
135
262
225
218
211
240
232
223
205
173
198
226
228
220
249
260
153
296
197
200
227
167
272
309
242
238
152
223
314
303
169
273
179
217
180
196
267
165
181
235
130
257
236
257
114
243
239
233
230
285
214
208
229
317
173
198
290
202
167
319
304
260
209
173
197
171
273
209
254
214
184
230
158
221
239
257
193
221
199
173
226
219
200
243
258
206
265
262
196
243
190
239
249
229
244
244
230
286
220
208
210
247
225
241
231
250
200
233
162
280
213
169
205
190
249
180
233
264
243
243
249
254
266
227
194
272
202
277
251
161
178
204
191
114
251
199
161
242
168
170
213
178
233
175
203
285
199
244
183
114
202
205
158
121
277
262
313
297
260
257
203
218
212
241
269
221
208
233
208
209
265
225
267
282
254
210
269
261
245
236
231
193
254
184
208
215
279
174
252
334
246
187
308
196
182
265
214
279
114
204
247
201
312
233
232
184
207
236
216
257
235
232
205
225
243
260
231
268
164
189
232
229
225
279
252
192
232
114
182
164
292
264
245
298
227
198
162
276
169
170
269
177
248
220
236
223
152
191
154
175
203
281
191
221
309
256
200
249
220
244
187
197
245
183
263
197
336
160
199
178
269
258
244
178
212
178
238
309
218
295
253
297
290
170
212
215
210
255
199
204
207
161
231
211
186
126
175
232
215
203
227
265
218
301
173
268
239
209
192
225
183
229
173
209
231
331
152
248
171
265
227
174
190
144
238
302
319
180
196
168
235
210
160
169
195
237
184
213
342
218
325
234
114
207
170
211
205
198
231
193
237
160
191
237
325
153
184
263
250
203
255
273
221
288
192
185
231
205
233
194
242
114
286
179
251
251
215
192
177
269
237
181
108
194
243
186
283
230
208
187
190
284
238
237
266
228
152
250
176
114
208
248
174
261
211
205
265
196
241
285
210
169
253
149
231
165
192
147
282
246
272
228
232
267
152
198
192
184
228
179
252
155
233
149
183
210
269
181
255
174
201
204
223
282
232
300
229
114
220
215
185
311
240
291
184
214
232
206
297
212
156
293
200
219
161
108
214
254
275
239
204
216
188
210
154
250
243
200
206
219
173
236
252
179
198
277
193
106
218
151
186
261
193
238
162
273
306
249
225
178
239
225
176
278
275
159
130
237
248
250
146
225
179
217
256
211
260
143
237
153
139
189
121
236
282
200
191
233
236
233
160
232
259
294
276
234
199
249
198
252
218
230
198
197
332
233
210
279
114
267
179
218
247
282
293
235
253
245
258
178
242
197
226
198
260
208
266
305
288
240
192
200
126
253
218
206
249
164
174
157
209
160
239
230
234
194
276
243
245
237
258
239
232
229
190
222
161
139
239
240
278
173
307
232
291
285
212
207
292
329
200
220
261
215
175
186
232
157
287
157
199
229
246
262
190
260
226
175
225
181
312
262
205
284
320
292
258
151
154
286
218
250
175
201
285
206
248
198
246
149
253
233
235
194
309
324
235
198
231
269
230
247
182
221
225
216
214
214
178
137
207
284
238
177
203
268
213
193
227
210
217
136
269
231
233
238
197
248
217
165
174
114
228
163
228
315
328
240
218
261
318
282
201
163
268
230
168
201
178
271
223
205
224
243
250
153
258
219
198
165
240
218
215
180
234
267
248
187
193
231
246
148
214
177
192
170
247
237
208
343
282
191
233
188
236
222
139
244
247
231
180
311
299
235
261
214
187
252
238
219
263
175
225
268
202
208
260
177
178
192
243
166
211
231
271
231
212
184
318
307
226
159
304
260
233
231
152
293
242
235
215
297
142
189
184
220
211
235
228
186
245
181
262
176
240
206
282
219
274
191
250
241
154
141
208
160
191
201
297
217
215
229
162
309
250
223
190
177
278
300
270
255
244
196
185
284
151
274
180
248
207
212
202
238
222
262
188
263
206
296
244
272
173
324
208
240
159
152
285
302
176
231
175
210
267
222
158
195
211
274
224
163
258
282
198
232
165
184
245
295
231
273
226
173
253
240
327
181
193
225
156
216
285
241
211
238
195
285
262
290
253
152
263
227
232
255
282
240
215
129
283
196
230
151
238
180
226
297
200
217
289
256
170
205
261
204
277
287
214
162
311
209
234
192
312
184
274
269
259
174
259
211
306
248
183
253
234
203
196
270
336
222
332
210
227
176
158
205
178
226
184
135
245
238
255
175
214
176
234
209
261
207
154
206
188
145
230
260
209
192
300
172
196
223
229
201
220
214
258
262
260
201
207
239
316
231
248
168
145
250
203
194
180
202
260
290
248
212
302
231
237
279
163
254
234
271
151
257
205
271
249
244
273
243
214
184
282
153
207
210
255
212
114
235
245
260
213
126
169
268
189
211
168
287
233
236
295
169
297
240
240
315
179
249
179
280
194
269
239
228
259
258
177
214
156
255
152
197
190
213
231
232
201
254
273
221
197
205
275
158
198
138
114
218
215
192
282
219
152
209
229
223
190
238
206
180
274
277
193
324
304
241
211
207
203
237
126
238
263
205
193
145
225
227
246
167
198
243
304
292
220
170
241
250
232
220
250
275
242
158
160
317
188
268
212
178
205
185
248
228
205
170
212
198
219
264
238
225
193
198
235
307
260
156
318
296
182
246
252
214
287
265
255
219
208
238
243
308
182
195
179
196
247
315
202
287
220
265
213
256
225
229
239
237
323
234
243
241
264
219
200
191
282
176
263
213
256
332
173
243
260
220
345
219
257
228
179
247
236
266
228
211
184
247
269
198
223
233
218
221
218
274
186
214
192
192
198
205
252
130
220
236
353
220
189
208
289
225
265
267
199
261
163
195
280
321
168
213
241
280
244
250
204
241
214
164
170
180
287
213
174
251
266
243
159
304
170
195
289
156
204
187
251
196
208
231
170
201
208
259
275
215
151
251
133
221
198
182
210
260
233
245
277
192
126
168
218
252
239
271
261
235
170
292
290
260
144
180
165
258
149
184
205
198
265
236
229
177
221
226
227
255
229
184
244
233
282
209
160
174
158
245
194
262
239
202
248
267
233
224
238
183
213
177
213
200
179
182
198
266
256
177
248
181
241
189
282
186
152
312
160
264
193
249
170
195
261
212
288
240
277
209
209
286
274
211
216
146
278
185
311
313
245
277
271
199
275
181
203
219
194
233
276
192
114
214
173
241
271
235
268
211
307
221
219
229
197
310
240
171
269
168
240
222
266
235
192
254
237
220
208
199
191
261
193
213
191
191
264
231
170
200
188
206
206
270
242
148
170
129
193
212
183
147
210
210
220
114
198
149
129
177
294
164
198
219
198
172
202
209
267
225
207
190
252
170
205
244
264
152
209
216
187
192
226
258
254
196
194
189
228
254
196
247
262
162
189
231
286
157
213
185
167
225
235
177
226
245
253
209
234
150
260
161
233
241
301
326
211
278
195
200
114
170
232
172
304
234
194
294
139
263
224
179
250
235
241
191
196
166
190
240
244
265
173
240
274
152
214
238
243
208
213
276
239
321
239
221
174
251
286
114
212
273
316
271
269
198
225
209
199
185
197
290
246
223
208
253
224
281
238
294
264
179
195
178
234
234
221
260
249
279
233
194
216
275
231
344
114
203
229
137
250
293
215
289
241
276
306
195
262
200
186
275
180
226
170
250
151
239
240
244
306
227
116
300
250
243
254
203
240
154
209
204
258
214
268
242
232
179
228
211
215
287
254
239
231
214
241
189
243
214
215
252
271
194
196
165
265
235
189
262
254
220
293
223
189
171
281
233
340
195
169
219
160
161
301
201
174
218
215
215
173
250
186
201
293
189
209
223
218
232
207
255
210
226
263
217
282
214
194
308
180
192
199
186
203
179
264
260
195
228
244
259
253
272
238
231
258
207
174
252
267
225
228
193
116
263
188
205
254
244
226
228
217
240
294
268
164
257
201
213
235
192
158
227
204
200
160
190
170
275
160
208
253
222
237
198
274
234
248
279
231
200
175
173
237
214
308
175
165
246
197
169
238
156
299
130
228
178
234
289
221
193
294
198
237
302
196
205
208
226
277
210
259
275
263
194
280
254
168
315
199
200
258
309
204
267
258
254
255
243
257
216
267
210
206
208
243
233
215
187
178
202
233
200
222
137
160
202
254
248
241
319
272
233
165
147
218
207
311
255
308
171
262
175
233
299
267
194
306
171
234
253
277
239
284
304
194
235
231
198
175
278
180
297
221
193
173
144
300
207
173
256
215
255
189
263
167
242
173
240
160
254
258
212
254
376
209
286
217
114
226
208
282
251
228
256
257
151
225
275
169
260
243
195
243
180
228
231
184
263
282
225
237
189
190
226
152
217
206
295
243
205
231
222
238
172
222
254
211
214
296
256
235
201
168
278
157
222
180
267
179
276
166
190
234
260
243
218
277
261
224
200
229
272
206
282
160
251
226
346
237
340
287
197
241
237
271
286
178
162
228
229
188
160
230
240
257
166
208
229
217
237
230
250
151
235
238
344
261
255
256
191
250
170
322
253
192
260
268
180
237
327
264
236
252
244
246
217
148
114
187
144
259
262
274
285
231
160
260
174
231
225
195
235
167
218
259
267
248
233
193
225
281
291
180
164
270
199
230
281
114
225
282
255
160
174
244
268
152
232
189
204
241
232
223
210
246
257
173
206
192
222
145
256
194
238
296
247
234
270
231
331
203
286
282
247
208
219
235
215
187
203
239
334
250
266
149
157
280
169
217
165
226
220
196
294
215
221
145
260
192
234
254
297
306
207
234
267
172
245
197
259
293
238
114
275
147
152
149
212
285
220
234
202
206
254
210
210
193
234
151
200
195
173
246
182
200
242
178
250
246
241
230
188
156
197
220
175
375
160
204
211
196
139
232
221
245
189
229
208
173
270
192
210
213
214
322
353
200
198
247
217
207
225
210
238
263
196
265
181
229
177
151
185
178
281
263
239
266
198
241
212
229
256
265
260
160
289
243
215
200
183
238
284
225
189
207
203
216
203
212
259
258
178
211
268
258
213
229
236
221
183
226
236
285
176
204
285
294
126
192
170
304
114
262
209
241
205
186
207
282
260
193
114
279
175
240
222
193
260
306
220
243
319
180
320
198
231
204
195
177
266
237
269
221
244
193
218
204
181
257
241
221
205
154
174
245
166
231
245
156
152
228
212
114
226
229
209
192
160
121
225
281
200
286
148
234
232
227
269
253
173
226
217
139
269
268
252
204
294
299
237
242
235
236
272
225
214
286
265
250
233
276
229
198
250
299
266
395
178
189
214
200
283
213
241
167
207
213
196
240
263
226
229
187
178
242
266
295
197
245
232
200
209
198
325
254
278
173
202
174
194
284
232
253
250
210
206
250
147
270
248
175
223
257
244
260
235
225
205
251
229
233
317
325
339
315
210
186
219
156
234
218
204
262
149
244
253
193
293
276
264
235
204
200
223
116
204
227
240
272
214
323
298
314
121
156
173
232
229
246
252
183
196
130
290
192
173
320
181
239
297
196
247
170
271
223
276
261
135
266
184
147
204
195
191
216
221
173
233
196
285
262
237
214
217
187
225
200
296
256
280
210
253
154
266
209
200
325
175
152
160
273
243
208
175
257
246
204
200
186
178
265
189
225
173
238
264
238
191
205
267
195
207
302
155
197
172
214
253
210
261
266
303
219
179
292
245
228
235
149
211
159
176
256
174
242
160
281
297
195
187
233
212
298
250
226
204
207
191
211
222
193
225
156
287
229
203
238
274
249
218
228
208
231
218
220
198
190
195
267
231
213
252
343
191
173
149
180
242
181
241
219
174
246
280
225
160
238
270
266
264
299
261
208
216
216
296
270
152
267
220
164
207
262
211
192
159
176
215
249
234
173
237
217
160
265
326
220
220
263
114
237
270
156
230
173
269
234
269
289
210
238
218
215
284
272
244
286
289
197
258
234
182
177
258
187
161
191
171
221
176
223
235
203
184
173
191
165
210
222
194
255
278
301
236
278
220
261
198
166
228
283
273
288
262
236
260
174
209
175
188
217
245
269
208
185
198
271
199
268
224
210
284
247
130
194
185
222
194
186
154
177
252
298
233
203
224
214
244
202
164
191
291
166
308
269
192
178
190
181
191
261
219
214
253
279
253
218
273
186
191
247
319
357
275
255
223
230
222
231
184
231
239
244
205
213
262
165
255
263
236
284
285
160
290
201
250
216
224
190
256
227
211
234
280
224
206
246
129
276
283
245
331
209
204
297
205
267
203
300
196
223
229
249
244
198
323
141
218
167
224
237
192
166
262
206
184
288
215
296
339
232
278
269
180
237
240
225
256
267
228
226
183
190
238
215
219
319
189
237
242
204
217
233
287
221
211
228
203
205
184
177
171
222
199
175
163
229
184
259
200
263
194
276
248
250
240
256
189
180
206
206
249
239
259
163
174
204
218
256
139
255
309
249
242
176
223
238
191
192
219
230
259
170
208
213
183
164
283
221
356
198
257
223
239
195
213
286
308
215
152
178
220
184
280
239
165
205
205
175
178
294
309
114
227
222
241
267
224
234
209
230
208
238
209
230
160
257
230
215
245
253
197
161
202
285
243
200
204
258
295
252
295
205
231
279
171
255
192
250
151
175
192
248
188
243
209
266
202
226
273
269
259
271
256
251
142
245
236
212
183
319
198
211
237
214
192
149
199
244
231
288
250
178
202
176
242
175
208
249
183
235
235
270
295
223
181
251
241
169
236
293
222
180
188
266
178
284
241
196
167
203
258
281
249
175
176
161
239
222
244
210
221
275
295
254
281
237
170
262
245
180
175
178
173
168
247
200
184
253
312
215
254
168
239
246
290
181
299
228
256
306
243
251
167
272
253
248
176
270
195
314
189
238
239
289
243
285
175
211
203
144
180
248
152
243
255
174
162
202
192
240
280
253
236
200
230
248
225
269
266
152
240
300
238
160
243
262
208
281
251
286
259
183
300
184
182
248
164
176
258
191
162
262
170
284
213
207
273
222
243
236
246
258
184
238
206
280
335
266
206
286
129
200
122
173
227
230
254
318
293
198
170
240
265
326
114
200
169
214
188
221
260
234
209
279
192
208
255
209
157
209
187
276
223
238
212
169
239
287
211
213
114
212
199
220
194
171
256
178
218
235
212
240
227
205
199
183
242
204
220
219
223
253
337
200
152
193
162
220
223
139
221
273
114
189
216
212
238
199
181
311
175
299
182
247
212
257
259
179
173
227
233
197
222
180
126
177
289
198
214
267
217
152
201
323
272
218
181
250
279
207
197
267
189
315
152
255
276
262
162
312
237
235
240
250
219
173
256
178
151
242
273
262
233
191
288
230
241
297
251
286
229
261
278
191
269
114
257
227
256
218
272
235
248
307
191
229
247
270
285
237
224
326
201
256
290
204
245
182
195
191
222
188
271
299
193
221
204
219
238
218
170
231
228
152
248
213
191
229
273
272
176
223
199
218
273
251
157
254
173
335
258
220
162
151
223
240
239
257
238
223
262
316
247
215
236
219
227
241
239
334
269
318
165
242
188
210
212
239
147
198
269
243
346
214
152
263
279
209
225
233
151
186
320
231
156
254
278
229
173
293
238
235
225
299
166
215
198
190
253
221
202
170
232
214
198
161
204
205
218
162
263
311
239
210
210
245
266
276
139
236
263
239
179
197
250
192
274
230
321
288
277
253
229
259
202
114
201
185
293
244
194
149
247
227
218
189
228
180
166
248
293
266
187
208
305
324
232
235
189
149
194
144
188
243
239
275
228
271
257
218
319
169
223
283
302
209
228
156
214
218
151
174
245
269
177
176
294
282
195
284
204
268
180
158
295
286
209
256
179
121
205
219
306
259
243
169
300
214
230
325
222
195
202
237
235
162
214
146
182
260
221
174
248
248
283
221
242
182
272
187
243
272
188
213
186
276
199
267
184
221
283
227
174
252
191
243
255
178
310
231
114
191
196
255
161
270
221
214
187
215
201
242
212
256
165
223
315
311
216
286
288
114
244
205
217
222
239
171
270
254
241
193
186
204
235
265
191
183
230
305
190
244
206
168
267
271
305
218
251
217
147
288
276
189
350
169
263
275
154
191
253
249
252
248
148
240
182
216
276
218
114
209
267
235
205
212
206
203
234
192
195
174
226
155
226
153
162
240
273
219
232
320
207
381
225
195
204
261
308
222
203
204
266
184
221
265
302
128
205
159
281
284
179
149
261
294
129
205
263
341
295
160
240
255
240
193
208
269
255
213
203
235
293
290
275
192
230
238
212
239
255
228
227
220
292
215
290
182
248
247
220
221
245
232
243
248
262
200
245
285
217
220
254
192
186
238
201
195
253
198
226
187
247
295
181
165
114
255
215
247
190
227
178
295
240
257
173
217
133
254
145
231
235
232
241
232
241
264
239
255
266
267
277
208
240
275
194
167
295
222
261
270
221
289
206
231
322
244
259
200
204
221
238
225
114
233
226
252
259
258
231
227
205
261
210
253
195
175
211
212
256
221
170
165
229
175
247
173
254
182
281
235
230
237
393
281
308
218
173
208
209
253
245
173
219
167
201
157
185
243
241
198
263
241
258
278
261
206
148
210
232
130
214
178
130
268
232
237
269
272
254
320
249
201
309
248
232
201
288
225
217
219
189
265
215
214
213
189
114
280
229
160
194
264
225
269
283
275
247
153
163
244
193
181
225
251
230
170
158
181
196
219
174
218
200
201
307
261
215
175
214
259
246
178
198
190
278
166
213
190
287
266
236
254
285
156
240
191
267
146
250
205
279
264
188
207
186
251
181
221
208
236
245
227
316
246
238
206
223
180
264
232
173
216
164
289
209
291
221
122
250
204
235
164
178
174
248
224
265
229
200
225
292
199
176
295
260
272
234
220
174
202
208
114
238
241
281
213
193
258
256
273
277
250
195
158
251
245
182
278
203
187
295
247
203
197
302
188
278
234
146
241
244
185
202
242
222
311
238
214
267
191
266
224
211
217
215
238
281
204
257
228
218
216
170
186
206
144
240
191
161
224
262
237
246
252
287
282
246
209
242
313
128
220
295
211
156
214
211
223
237
229
220
216
181
232
160
208
242
163
224
279
244
204
177
276
302
231
225
294
264
182
287
236
213
251
271
203
237
317
248
229
246
178
178
214
280
171
197
114
188
271
206
225
301
148
257
289
251
238
229
263
209
149
281
216
169
211
273
217
252
279
151
208
222
205
227
179
238
210
126
235
178
181
290
121
231
170
201
228
243
205
234
186
195
193
291
266
153
162
247
271
168
190
206
296
275
290
269
183
251
185
281
264
213
304
271
211
275
224
170
242
277
307
178
220
240
159
284
258
235
194
147
319
260
201
172
230
199
246
265
243
270
234
242
279
215
273
207
174
232
280
216
224
245
220
249
209
292
252
278
165
297
199
313
218
234
273
324
195
185
243
166
179
266
187
262
257
215
193
214
165
161
214
168
233
306
191
267
266
218
250
161
224
209
266
251
325
174
236
276
198
228
181
202
191
248
278
191
309
234
209
275
242
246
245
253
266
200
170
322
306
224
248
221
267
233
277
195
241
179
217
219
190
177
165
223
341
297
211
166
259
116
193
223
256
179
245
177
185
196
242
208
243
191
258
289
263
187
227
270
244
200
184
309
292
212
200
203
267
196
292
225
235
130
219
312
226
223
232
205
144
139
170
205
251
184
236
220
116
235
256
215
196
254
305
246
263
323
202
212
230
254
191
197
263
276
273
266
283
243
221
195
192
205
200
239
242
244
208
201
233
204
264
240
214
196
251
284
324
248
323
211
201
279
212
165
278
227
175
199
149
262
260
262
179
259
249
191
227
195
178
266
149
176
198
215
169
256
214
220
215
274
173
177
287
279
247
285
275
203
253
279
323
172
254
225
223
187
199
216
171
206
197
277
230
184
207
158
194
287
260
219
173
219
261
214
231
170
233
235
241
220
258
175
179
248
202
250
147
173
205
234
182
235
265
224
116
240
281
269
174
225
282
235
284
343
248
262
280
181
302
225
200
180
262
152
218
281
248
177
261
205
243
220
226
192
251
292
234
218
185
251
268
189
238
146
209
246
236
173
215
192
235
256
173
246
265
183
166
288
202
217
241
208
202
186
285
287
277
234
181
218
308
296
197
190
201
215
239
209
264
191
217
203
224
215
139
272
224
202
183
261
300
353
195
260
249
276
178
216
176
183
270
226
246
206
294
247
236
198
293
206
253
232
218
279
220
219
211
175
184
213
144
271
252
216
233
255
183
214
193
238
238
254
275
219
224
221
254
201
183
176
285
278
220
176
255
231
311
196
166
217
207
163
209
286
265
213
241
185
217
249
167
229
194
196
226
176
215
248
214
253
253
253
246
245
301
209
157
267
165
222
297
183
210
243
310
208
312
135
253
254
155
160
203
224
190
211
235
274
216
215
245
233
221
277
220
227
268
186
235
234
256
249
250
267
293
225
280
243
235
229
193
264
196
181
315
251
220
184
235
219
187
191
244
181
233
208
256
220
267
216
275
269
202
260
133
242
223
273
214
299
219
192
211
234
196
202
181
202
116
277
241
232
211
296
241
188
268
260
303
165
244
189
181
248
246
234
313
240
196
290
181
184
154
174
220
253
309
239
238
238
209
176
156
175
201
240
234
139
286
121
183
318
193
276
178
242
205
206
187
219
266
212
230
248
200
202
196
215
248
260
245
184
213
218
283
185
252
259
165
152
160
259
158
221
218
253
263
225
254
217
270
203
249
247
195
203
214
276
235
258
227
200
203
227
183
270
247
161
192
254
200
244
228
233
233
267
253
222
221
224
194
295
199
225
230
196
260
244
234
239
245
250
114
227
169
183
218
174
244
240
236
232
181
298
230
225
255
199
173
159
211
212
184
227
225
241
160
314
206
176
239
179
202
169
241
209
271
223
193
269
154
220
222
248
258
205
195
260
201
216
233
223
240
266
236
216
181
172
221
207
290
210
214
305
239
230
296
187
216
203
203
187
302
206
256
178
151
186
265
204
234
246
108
225
195
201
247
297
213
178
298
209
269
219
278
227
250
266
264
223
239
250
242
253
254
176
236
205
203
224
261
256
222
223
256
211
154
173
256
292
181
214
151
236
160
235
215
236
319
209
191
211
238
183
191
114
201
164
227
238
265
195
272
179
179
282
224
186
179
164
227
188
215
294
232
181
177
108
224
233
189
212
202
161
221
259
242
263
213
212
199
247
235
179
276
260
214
244
256
218
204
238
244
205
268
251
233
185
175
232
264
210
280
252
274
128
240
287
235
152
201
152
223
257
234
202
265
257
185
243
254
293
313
213
252
192
211
182
246
186
323
245
156
296
189
265
211
215
293
276
232
233
184
252
203
192
187
329
186
262
224
272
198
243
114
180
227
266
170
256
240
224
218
286
220
232
160
203
211
339
189
182
206
151
245
166
189
220
309
280
193
245
204
213
219
303
275
245
243
219
221
146
295
195
220
217
289
169
174
171
317
180
257
193
198
229
223
126
253
247
252
241
307
193
220
186
294
207
213
178
241
229
207
189
205
339
200
199
172
283
239
116
182
218
230
162
252
214
184
238
192
256
166
146
275
205
266
212
198
231
206
215
156
285
173
307
245
259
249
320
261
258
288
217
197
246
247
203
187
241
234
246
246
191
296
256
190
303
200
253
139
223
189
173
210
205
277
179
114
234
272
206
209
208
219
169
229
163
160
231
184
233
279
247
192
291
224
251
240
239
257
228
161
248
262
225
183
160
237
239
285
217
251
221
246
108
114
265
198
235
239
262
251
204
256
289
207
203
166
273
177
228
220
239
252
219
221
163
234
263
193
257
252
230
249
195
245
223
229
233
276
201
195
269
267
203
252
205
224
284
191
253
170
216
176
161
208
251
181
200
245
230
235
170
255
151
228
198
231
235
224
215
320
249
185
225
214
235
180
152
290
163
260
175
181
254
192
253
228
284
201
174
152
217
219
223
195
234
248
223
160
176
246
220
300
272
182
297
284
264
169
317
273
233
287
145
139
315
170
205
178
258
238
252
203
258
217
208
214
241
215
206
256
189
215
227
176
234
292
309
296
217
178
214
244
221
252
186
215
228
239
214
185
297
168
239
196
242
202
243
204
247
164
211
261
190
194
223
226
214
292
247
358
261
174
251
187
258
226
241
175
171
258
229
228
237
287
187
207
232
299
182
211
309
247
245
220
201
214
225
224
216
186
165
258
139
282
221
233
228
195
201
238
249
224
213
244
183
114
238
158
189
272
225
259
208
287
179
160
195
259
171
206
207
214
257
200
196
235
229
166
164
195
267
214
241
178
217
228
226
233
240
273
264
258
252
221
223
257
239
288
144
218
216
285
169
237
224
219
222
213
193
271
194
292
238
287
275
196
151
292
114
242
224
215
221
227
211
270
233
205
233
235
221
195
220
186
213
212
231
242
248
246
227
201
216
166
156
326
225
307
246
213
248
126
268
217
114
174
246
299
230
211
252
233
281
215
268
176
247
189
222
160
264
295
253
233
198
181
186
210
126
181
192
227
185
197
206
171
179
264
258
213
178
237
214
192
194
268
214
157
199
214
220
241
249
288
296
253
223
230
222
114
193
234
192
198
202
198
244
240
278
241
228
233
246
275
210
231
149
214
194
264
203
121
244
256
206
194
289
300
198
260
215
264
268
276
197
268
236
236
236
244
201
220
258
242
259
230
318
259
246
226
114
221
227
143
188
252
192
183
234
265
194
151
242
272
273
178
313
168
270
247
215
324
182
208
219
289
175
189
214
212
181
273
210
207
214
210
260
251
196
234
217
270
179
156
258
149
221
210
210
199
174
252
345
190
204
232
248
308
256
224
246
184
281
236
114
221
204
230
274
289
161
197
334
224
220
320
114
251
250
211
259
229
279
148
160
200
181
197
262
137
206
290
216
200
138
241
223
173
184
169
234
192
244
211
239
170
170
221
240
141
300
219
151
184
219
221
217
195
236
289
162
311
207
194
236
285
237
239
232
173
244
212
271
284
267
191
151
226
275
160
203
249
214
179
211
229
344
114
208
257
204
257
209
167
207
244
204
336
201
177
219
179
237
259
306
225
173
220
114
181
159
300
171
160
283
219
232
222
243
151
250
169
203
232
197
230
287
249
265
170
273
192
212
262
195
220
235
242
259
156
242
289
253
322
161
254
260
287
256
235
135
234
182
233
285
170
248
247
196
222
195
216
267
254
262
240
211
215
194
258
180
286
281
235
246
144
235
238
156
307
175
283
255
226
184
237
220
232
220
242
221
175
207
160
219
167
253
221
204
227
176
174
253
233
262
189
204
229
228
230
265
232
187
271
273
289
272
236
291
222
226
291
285
228
239
221
239
252
204
220
269
210
285
240
271
269
210
232
245
206
193
261
242
191
239
208
197
253
257
130
237
309
258
268
152
290
147
195
214
223
223
262
244
202
275
259
209
230
276
251
189
236
220
301
219
164
217
252
189
252
214
261
207
228
260
238
247
234
240
237
166
168
316
114
179
284
179
188
238
226
213
276
168
201
232
255
211
318
208
251
244
197
289
154
284
271
275
205
196
284
190
158
180
206
192
237
201
180
269
246
244
210
156
201
162
231
154
196
209
229
245
244
211
215
271
269
216
154
228
179
214
114
266
183
208
180
202
213
211
222
199
151
216
254
279
235
260
212
174
149
336
214
267
274
296
211
231
259
160
193
238
239
217
167
262
238
190
262
188
227
258
246
266
212
194
188
197
238
158
261
199
222
193
212
219
222
260
198
227
213
163
169
239
236
201
231
246
188
183
215
247
238
281
157
190
151
211
297
194
279
249
276
194
228
299
235
233
182
175
232
215
161
214
174
328
210
231
239
234
235
172
217
234
145
243
211
229
209
314
198
197
222
215
283
285
277
169
158
173
191
261
184
208
209
238
247
151
237
218
253
186
212
175
193
156
218
211
248
171
220
223
211
246
258
181
211
198
251
250
166
199
184
146
288
236
271
231
227
196
202
161
208
278
262
224
260
282
367
181
229
179
235
208
211
234
236
206
225
302
259
246
250
236
197
294
239
195
183
211
233
212
185
133
186
211
252
152
185
240
170
212
149
252
220
263
270
248
301
243
303
191
214
228
315
165
235
253
249
194
202
298
268
181
222
247
154
188
246
251
196
236
215
284
176
237
223
260
260
266
182
226
190
152
251
274
207
277
264
229
233
240
175
265
288
232
273
268
197
194
149
214
184
190
236
187
234
221
211
274
198
257
247
221
170
173
232
282
250
295
248
184
188
191
198
362
210
199
251
310
250
216
261
169
211
186
239
285
144
316
208
278
272
177
194
269
177
273
339
177
191
159
205
259
205
148
200
210
198
215
241
204
179
351
186
241
151
114
198
249
187
180
168
243
238
243
236
298
208
223
235
208
182
172
225
202
145
304
211
169
222
194
188
234
283
224
193
251
218
242
230
181
152
175
205
175
272
228
200
171
266
156
184
181
193
169
246
214
258
213
293
174
273
286
209
288
200
274
204
200
222
296
237
252
243
212
250
261
288
196
141
272
174
201
235
202
193
241
200
173
304
294
199
169
235
234
163
176
247
314
206
259
231
320
229
215
282
263
277
274
200
231
237
263
201
196
244
232
213
321
220
197
194
231
318
210
268
214
253
224
253
262
243
256
263
248
188
158
323
229
252
240
218
280
268
237
315
177
187
126
269
301
228
293
158
218
277
221
161
288
223
208
164
239
154
214
154
196
195
222
211
176
294
252
213
243
217
207
235
322
234
304
228
300
279
194
203
185
343
225
214
218
273
212
162
255
250
151
185
196
285
199
226
136
114
151
297
178
271
137
173
114
223
205
146
252
178
257
189
267
295
191
316
203
253
226
215
203
167
262
260
222
211
215
271
224
192
223
182
194
228
255
208
276
224
230
181
160
287
226
232
233
270
246
340
231
213
193
173
171
233
175
347
189
200
215
200
253
230
185
235
198
220
156
154
258
215
220
331
275
229
203
150
219
234
235
159
304
140
323
222
209
188
230
257
288
285
197
242
222
196
202
220
139
246
203
201
240
216
129
222
250
114
269
297
240
301
191
219
233
213
262
239
275
248
287
225
268
247
225
169
181
216
243
225
313
226
258
236
161
213
260
184
252
263
238
169
181
213
272
230
194
199
288
309
139
170
166
278
253
281
300
325
181
274
202
186
210
209
158
284
162
260
296
219
201
198
269
274
179
179
258
295
168
146
328
221
161
298
193
222
237
225
283
262
222
202
161
286
217
287
225
255
172
207
236
204
250
225
203
232
224
171
251
282
215
166
248
236
204
180
169
283
246
164
152
238
193
241
198
197
266
173
278
333
231
254
178
211
233
244
245
186
249
252
175
256
177
249
287
260
199
174
187
229
249
304
208
248
269
189
240
286
225
244
247
270
192
254
260
239
188
178
247
242
232
141
267
177
208
316
275
199
180
186
297
257
204
289
176
242
240
214
302
249
174
220
154
203
246
295
208
160
273
241
276
284
224
247
174
244
228
198
200
278
178
267
302
211
174
266
140
263
216
228
258
223
206
237
217
164
196
227
188
214
268
237
237
221
287
324
220
151
276
314
168
310
224
257
194
196
163
170
197
229
266
219
193
295
187
235
212
207
275
114
276
195
294
236
198
208
235
274
258
236
241
212
246
241
262
184
188
178
191
252
193
226
173
170
328
253
236
265
309
165
215
232
238
236
249
236
200
234
108
204
262
327
168
233
241
193
292
223
276
174
231
254
237
277
198
248
192
263
240
214
214
193
335
232
237
246
268
258
278
194
198
192
213
220
255
184
302
227
202
222
234
241
114
275
233
285
207
305
171
271
185
219
257
254
273
184
298
160
276
266
273
266
280
230
181
225
203
309
282
249
256
243
176
292
202
235
196
330
116
272
193
278
246
273
176
192
156
195
321
233
200
261
213
237
171
288
218
204
270
267
251
206
226
210
203
245
152
250
240
188
278
209
218
250
218
255
235
114
277
260
253
221
259
215
258
304
199
172
236
241
277
239
225
240
185
253
209
170
209
254
186
205
145
229
278
178
243
223
292
180
183
235
164
235
190
173
238
114
247
215
223
200
215
211
246
175
197
221
181
179
287
114
238
330
227
227
168
255
180
219
308
198
222
249
215
207
247
205
211
212
296
263
321
212
238
263
208
229
229
219
231
192
253
217
222
248
156
259
173
195
266
232
253
321
176
197
261
214
239
263
188
249
203
233
162
260
254
276
146
198
201
285
207
180
250
244
229
174
191
238
240
215
211
311
182
248
231
270
214
280
210
216
230
290
214
283
205
198
188
219
243
218
254
222
225
185
193
250
217
322
227
325
228
252
210
233
270
147
297
164
241
208
240
255
280
161
312
281
253
297
289
334
349
182
274
211
195
201
157
198
229
178
218
258
261
161
220
240
224
251
261
307
235
253
202
203
247
139
244
292
272
227
269
205
169
226
222
211
155
178
193
171
204
234
214
206
260
211
178
237
267
126
217
227
165
315
262
233
206
203
114
237
174
301
263
319
193
261
225
241
215
237
214
160
261
190
171
265
182
254
286
335
116
170
211
257
287
272
247
227
235
161
274
250
163
208
285
228
145
202
156
180
225
240
229
202
219
240
146
240
164
251
234
139
210
199
198
192
181
212
250
234
205
258
108
241
181
265
176
114
184
280
305
171
282
218
202
210
178
233
187
275
237
234
318
222
244
187
174
225
323
295
244
221
236
201
302
291
240
186
232
193
252
254
170
161
284
260
222
171
212
173
273
217
329
282
177
195
201
214
257
245
275
243
192
248
175
139
203
222
151
249
219
275
247
268
261
269
227
243
224
227
182
248
228
265
208
191
186
218
180
272
165
262
292
224
279
215
176
204
236
244
181
176
231
260
256
227
311
294
238
258
330
226
221
289
275
126
285
217
180
139
215
263
255
155
211
265
191
248
237
239
182
210
223
279
234
241
197
170
173
181
234
251
316
114
181
250
212
242
253
220
195
231
168
232
188
242
185
180
293
219
214
238
266
198
240
243
145
240
262
250
212
217
200
249
260
243
312
198
175
246
225
219
196
330
296
178
198
156
191
350
160
223
245
222
178
218
188
268
196
185
230
237
315
245
299
219
160
243
177
257
249
195
176
184
320
186
184
212
114
204
198
244
284
230
202
342
229
284
145
248
194
272
233
217
288
274
180
192
270
287
250
329
188
314
305
207
225
317
173
294
218
229
288
243
231
210
209
209
189
260
126
299
175
257
201
162
262
258
204
235
177
261
265
181
234
204
216
239
194
191
239
173
197
247
220
247
193
234
297
293
239
210
268
219
233
179
162
239
197
217
296
204
190
192
200
175
189
261
228
233
229
273
163
205
198
215
228
194
207
153
320
321
271
197
223
281
236
295
310
180
291
271
183
242
242
296
181
192
160
233
253
241
243
254
256
186
275
154
174
158
242
164
202
214
209
225
174
210
297
177
151
244
287
218
187
264
201
232
223
302
240
262
266
247
206
173
263
192
219
254
231
190
247
204
250
286
281
225
260
170
315
189
302
320
251
242
187
169
161
230
219
297
195
208
173
220
180
198
254
221
215
235
126
297
255
231
175
218
251
244
235
296
246
184
208
211
238
193
261
298
220
259
215
283
241
181
245
206
297
226
263
233
147
286
204
234
258
193
203
225
150
114
283
218
298
202
220
229
228
205
279
213
294
183
189
175
278
162
158
224
280
199
270
194
255
238
231
259
219
198
296
193
228
270
255
177
204
303
301
195
161
261
233
252
260
289
114
256
260
267
241
287
260
230
233
272
235
201
218
164
294
168
285
176
239
202
241
212
283
191
186
162
246
273
310
276
172
261
263
278
189
186
298
139
206
242
227
269
233
227
195
190
208
220
253
214
222
139
194
259
203
321
245
352
248
114
246
181
245
315
114
284
311
202
203
243
213
198
258
219
235
166
210
260
203
200
192
212
283
298
275
200
203
166
257
159
239
268
205
178
219
192
243
261
243
202
257
245
234
227
203
206
173
201
227
157
214
248
221
222
229
237
220
267
248
285
274
198
193
180
177
225
218
262
318
156
187
255
179
166
238
242
177
192
176
238
262
195
185
260
193
175
166
193
309
201
208
233
242
300
162
221
230
161
215
151
223
270
236
174
181
126
262
330
114
195
230
168
225
200
260
288
176
212
207
208
233
275
203
238
251
237
192
213
216
211
276
210
183
139
212
232
212
247
247
139
219
198
243
203
185
220
274
231
258
220
140
192
206
221
213
288
221
247
114
176
156
279
243
196
299
251
220
200
246
257
248
199
165
300
222
213
189
270
194
139
220
202
224
173
214
181
175
199
205
260
201
227
259
291
183
114
160
170
188
208
195
224
223
173
206
114
154
308
154
137
234
174
247
299
176
178
148
288
350
278
290
243
214
129
194
288
240
206
242
126
236
248
263
156
200
279
266
162
190
195
306
240
238
159
248
234
255
114
275
272
280
262
157
262
143
253
246
255
192
282
200
239
215
225
218
291
232
246
176
203
197
166
222
226
212
195
240
259
312
192
266
229
219
266
184
209
242
237
252
162
253
272
232
240
220
201
208
254
254
229
201
235
213
273
201
246
193
208
251
261
212
191
239
210
205
263
242
245
279
270
287
177
108
243
256
213
200
237
339
236
211
229
155
170
260
179
241
253
244
214
257
214
152
234
189
250
273
199
308
152
220
264
232
273
250
184
239
198
213
233
222
261
139
212
300
203
224
114
260
303
221
267
235
230
200
213
233
254
147
228
222
214
285
167
239
164
221
357
252
254
275
222
205
251
238
222
206
147
175
255
317
179
231
224
258
183
171
289
241
278
222
276
218
251
228
202
158
233
180
272
243
222
188
355
216
186
218
227
173
180
163
244
272
252
219
283
162
246
215
269
175
139
243
183
199
210
230
176
237
158
249
231
145
283
196
277
176
235
260
243
199
203
302
211
194
298
287
152
239
198
233
167
261
243
248
192
216
293
199
264
267
217
199
253
264
159
189
231
261
299
279
156
246
233
207
238
223
288
256
349
176
229
290
208
149
255
222
237
214
250
173
161
144
256
241
200
229
216
228
263
218
216
211
199
253
185
114
232
219
275
225
197
152
221
166
252
235
159
240
265
234
155
225
262
214
207
208
252
165
242
220
303
157
210
126
276
223
241
212
183
187
192
244
299
234
180
254
139
241
324
190
228
165
179
207
257
287
253
210
216
210
244
286
227
173
196
189
225
249
192
133
215
257
173
203
223
266
273
156
267
304
290
191
323
280
230
240
198
219
266
158
207
210
213
198
245
207
181
206
262
267
252
258
281
168
212
203
224
145
248
185
184
279
195
220
149
290
248
245
192
267
223
198
258
302
212
233
270
299
217
265
290
320
257
225
265
255
238
301
253
201
224
292
287
293
246
212
245
180
281
173
208
232
194
219
293
255
190
340
265
174
183
306
295
215
216
209
114
197
229
217
226
151
337
208
237
184
250
174
201
228
212
139
278
236
251
247
177
241
207
195
203
215
293
260
224
178
199
205
226
189
307
237
212
234
226
192
220
212
206
219
285
217
144
275
238
238
249
242
349
185
175
256
236
177
322
199
211
214
199
275
228
143
211
213
278
209
307
126
199
191
209
213
252
180
198
218
263
154
208
227
193
218
214
283
278
232
226
175
189
154
203
226
175
212
236
189
152
186
181
161
121
261
158
291
222
214
155
231
179
278
241
189
222
253
230
243
283
162
173
240
239
221
160
244
305
236
187
226
217
170
229
234
208
181
285
207
251
225
194
200
146
293
139
215
288
204
225
249
247
174
231
292
263
298
192
188
223
255
206
230
259
252
257
304
222
260
140
259
187
257
235
298
263
252
144
358
230
273
149
237
264
233
325
190
296
223
289
147
160
218
174
217
330
261
217
269
256
248
192
192
237
134
211
235
313
220
220
219
190
214
215
274
185
241
181
179
152
258
225
241
246
242
291
219
229
215
178
139
245
284
247
238
260
220
241
197
200
231
262
159
229
221
222
289
332
239
256
256
222
262
208
187
239
187
197
222
232
220
231
181
259
195
267
282
220
273
242
313
173
201
232
235
199
209
189
238
263
206
156
198
287
162
246
229
198
233
283
252
322
260
303
139
194
272
245
250
212
266
205
364
232
305
190
243
280
313
181
225
242
371
261
283
228
232
167
214
298
178
234
262
206
241
161
166
225
211
226
249
180
183
250
235
173
179
263
275
317
215
230
157
213
256
289
241
202
214
233
216
266
257
145
230
214
253
200
177
225
264
233
152
202
184
280
178
194
172
212
116
252
231
245
293
282
243
205
248
216
180
246
253
249
247
215
239
274
175
278
221
281
285
213
229
321
278
139
168
269
151
223
228
235
287
193
229
219
254
178
181
218
171
325
159
283
255
270
224
220
114
208
170
159
204
158
267
246
238
140
154
292
216
252
289
234
207
201
240
209
199
222
178
235
220
226
176
175
164
209
215
269
169
218
253
280
239
237
240
272
180
211
214
219
245
214
219
285
188
261
151
252
226
208
152
178
226
257
248
226
287
214
230
205
287
237
211
270
198
184
222
259
156
218
265
279
195
152
207
216
228
203
203
126
180
133
236
186
192
211
191
203
295
286
247
278
260
146
304
253
200
184
202
173
306
283
265
196
220
184
294
305
289
211
211
225
236
229
170
207
242
283
192
198
221
197
177
227
228
264
209
246
234
299
204
156
180
274
284
261
279
249
198
267
297
242
247
167
198
293
257
205
160
180
193
331
218
259
218
214
229
214
241
165
164
210
248
275
250
317
151
281
278
173
278
184
182
116
241
213
258
281
361
184
269
209
243
206
305
198
242
206
160
232
219
114
145
223
175
202
195
220
254
295
283
213
248
231
202
180
215
286
194
166
287
233
235
209
130
267
196
250
263
264
315
224
191
283
217
264
229
309
269
204
269
206
255
173
160
225
231
238
205
246
309
317
201
256
234
252
230
179
174
257
203
306
254
211
210
189
239
201
278
262
162
176
249
213
197
253
178
278
217
225
256
230
194
252
236
309
246
229
175
236
199
207
211
250
225
144
244
250
260
214
249
225
225
190
284
266
280
275
218
184
222
227
231
228
229
247
158
194
219
205
248
223
282
303
290
176
253
235
188
302
213
267
211
173
226
318
203
242
176
233
231
280
233
223
246
202
145
232
149
234
218
225
260
175
208
210
216
185
178
202
144
191
162
179
166
223
203
291
262
217
191
228
165
207
170
165
206
163
273
188
234
129
261
326
267
239
271
196
241
265
250
245
259
304
199
167
250
114
242
242
212
240
275
217
214
200
196
255
224
175
240
190
293
212
235
211
282
202
293
214
172
188
293
202
314
235
251
222
268
205
229
282
217
242
173
274
236
298
194
209
211
312
219
334
253
181
288
147
209
237
243
222
327
195
205
199
171
233
191
218
257
181
229
290
121
286
241
229
222
280
242
223
237
242
289
252
200
224
233
211
270
217
234
196
212
220
348
223
290
248
249
231
261
173
273
223
253
256
231
246
230
233
256
181
240
251
166
168
245
322
116
349
237
190
354
254
258
263
241
178
244
278
198
246
252
146
254
250
236
203
255
217
185
182
216
232
271
221
212
210
225
249
250
222
227
201
225
289
214
280
203
233
114
290
178
217
168
197
261
177
202
217
309
250
155
243
235
268
245
186
199
261
265
189
217
249
242
178
240
283
208
171
206
263
229
165
181
282
283
170
197
261
318
232
201
241
275
232
228
209
214
161
197
211
216
215
251
229
227
225
209
291
226
279
229
264
179
276
276
234
227
238
330
264
263
293
204
222
197
309
239
314
185
182
195
258
248
200
213
208
190
170
231
193
227
129
190
197
192
165
198
178
266
202
297
216
200
189
190
269
265
237
156
198
196
298
279
194
251
267
181
277
220
243
185
234
217
184
233
228
246
154
198
275
260
285
264
188
227
277
194
244
227
154
248
310
276
268
275
145
304
355
255
258
280
308
218
206
226
152
265
228
252
240
234
291
229
186
179
297
239
178
221
180
265
249
189
178
235
196
170
202
158
248
164
201
367
212
250
237
204
281
278
260
243
216
201
175
116
229
287
207
174
236
277
185
228
216
243
204
248
283
236
169
230
236
306
231
298
260
200
214
222
197
174
262
208
249
234
138
173
258
216
259
217
284
201
208
247
198
211
258
154
244
241
235
155
299
181
160
222
169
223
209
268
313
193
193
294
201
232
163
262
295
219
239
252
240
256
246
243
240
286
188
282
190
344
156
199
325
307
167
232
182
305
235
170
237
189
240
168
217
322
262
265
224
169
280
208
178
298
229
277
276
249
229
164
161
199
114
207
215
255
214
180
273
170
184
213
298
245
175
192
201
266
250
261
278
229
248
245
260
192
275
232
224
229
169
337
265
221
275
250
149
153
245
259
213
168
205
156
235
247
214
233
218
271
322
225
203
307
198
114
196
230
241
261
219
293
305
243
241
126
178
229
217
267
227
225
193
265
213
324
163
246
304
173
160
167
211
213
272
203
198
221
253
188
177
196
275
160
200
197
169
277
144
166
293
328
286
334
196
184
236
231
129
221
260
202
278
154
277
151
188
252
152
198
258
269
312
178
193
263
289
239
209
211
245
245
269
139
276
248
269
252
225
237
166
262
181
216
226
182
216
234
280
224
247
299
254
227
155
191
233
151
226
207
287
212
156
220
245
222
267
223
208
181
195
267
195
192
204
182
295
250
210
260
174
185
161
187
220
295
206
198
202
236
271
193
196
229
210
305
245
249
280
179
190
195
160
213
180
174
195
197
304
197
152
160
226
178
283
192
257
243
255
204
226
247
143
223
237
161
182
200
204
228
216
114
204
223
196
240
269
278
265
179
227
149
208
230
187
264
232
221
161
175
314
209
244
219
223
197
151
206
252
196
246
288
237
166
242
219
188
108
202
256
175
206
227
209
254
238
268
267
263
173
228
178
224
314
146
249
208
283
229
179
179
172
166
243
289
211
196
306
222
188
188
191
317
200
234
209
264
258
126
203
264
252
294
220
230
225
149
175
212
214
219
275
221
234
202
232
228
175
227
215
208
213
233
196
205
260
261
241
193
241
167
237
212
180
236
179
178
275
278
245
163
291
197
269
224
151
217
162
283
192
192
232
252
246
209
235
253
265
144
253
317
288
270
248
187
217
192
268
176
247
286
198
242
235
205
259
205
195
290
240
129
213
273
278
273
161
271
194
222
232
271
251
210
273
245
301
266
151
239
220
169
267
249
188
297
161
215
260
239
243
224
211
212
195
253
217
206
264
273
158
272
246
211
233
249
296
239
205
151
205
250
188
220
236
243
138
167
274
233
114
193
219
258
227
225
250
242
178
239
227
241
241
214
294
244
211
244
197
267
149
209
198
230
193
208
269
193
221
335
205
222
168
206
188
257
225
121
245
282
225
217
265
213
157
210
232
262
202
198
232
152
256
239
234
245
313
281
203
218
321
253
114
224
163
294
199
303
302
270
247
114
291
221
239
186
177
262
162
181
225
201
244
175
183
247
173
235
263
223
251
157
270
295
166
186
169
263
201
282
369
159
213
242
254
294
220
249
283
205
205
163
255
275
173
241
193
226
213
256
275
389
170
175
341
227
198
156
250
264
214
196
243
137
186
249
293
196
264
233
225
292
244
252
286
173
232
228
189
239
290
264
217
270
295
305
144
212
198
252
214
268
262
166
210
180
234
215
158
264
303
226
191
235
271
183
248
185
141
173
314
269
301
206
294
279
221
152
184
190
320
157
195
229
146
248
200
251
235
136
249
228
182
212
182
285
174
284
170
252
332
229
215
294
234
251
246
194
205
156
218
269
243
262
291
211
241
238
253
303
192
189
241
221
198
153
191
296
151
178
258
237
176
207
261
216
263
218
194
284
282
274
237
227
227
222
247
227
199
251
194
259
356
240
146
262
172
303
161
293
179
277
207
236
214
266
192
201
225
235
234
263
245
241
266
292
276
240
191
197
178
249
234
170
240
248
186
189
229
126
116
114
247
265
214
241
205
273
204
240
205
202
233
214
221
176
295
211
306
122
281
277
114
210
318
244
224
200
194
174
195
350
190
280
213
233
217
225
244
267
240
229
129
202
182
187
209
230
157
234
220
295
183
254
251
274
287
271
188
287
212
216
160
202
223
149
148
229
192
166
223
225
183
228
168
274
245
296
184
256
250
325
198
194
348
235
147
194
245
280
199
221
242
192
212
216
215
239
306
247
262
171
193
175
180
246
253
266
218
156
320
235
170
198
277
172
222
291
176
188
287
108
199
170
182
239
189
202
289
220
179
223
184
151
240
159
217
242
278
265
184
197
199
169
241
192
214
144
201
203
191
227
242
221
175
220
114
186
237
308
230
304
207
154
259
250
194
203
267
221
202
212
192
201
212
204
224
221
189
272
222
231
265
184
220
194
174
114
192
247
219
194
283
251
186
246
154
186
192
238
174
193
248
312
207
220
283
293
280
262
196
263
199
240
220
298
178
230
175
208
228
262
226
172
285
165
239
184
162
179
248
297
114
225
283
225
166
230
258
214
197
207
212
243
141
311
245
161
205
225
230
263
283
228
184
214
180
238
248
219
286
193
268
161
235
287
227
264
258
273
225
199
261
183
220
192
160
193
269
225
314
225
216
196
252
266
219
211
147
169
234
246
174
200
292
228
291
170
222
200
209
277
216
184
268
237
277
181
228
219
238
144
188
193
176
162
238
188
195
265
272
183
214
249
267
244
229
260
247
252
207
223
201
192
228
166
229
177
181
237
215
259
240
271
160
208
246
262
233
163
225
242
226
210
302
200
226
208
209
243
256
195
179
242
193
294
255
210
169
185
199
256
309
193
180
318
161
202
246
158
190
242
174
260
194
226
195
265
151
243
256
219
217
250
210
139
217
263
266
208
220
221
227
208
160
236
341
205
257
212
289
175
108
232
266
268
237
193
325
247
255
151
236
219
165
203
290
221
239
234
148
242
195
199
245
242
293
209
234
234
221
273
262
262
323
265
183
224
205
293
149
253
282
333
205
180
287
233
229
195
218
279
197
228
214
198
246
278
249
216
175
212
295
234
241
192
275
245
151
255
240
162
225
237
258
223
178
218
180
302
162
151
265
239
324
217
191
288
261
314
202
239
197
244
228
235
367
271
212
309
244
289
201
180
247
255
279
267
286
238
246
178
269
310
246
208
200
259
198
225
258
253
210
216
158
241
279
192
253
191
225
255
203
202
262
194
194
277
194
279
259
222
331
204
192
197
170
181
217
196
264
205
272
284
263
266
255
234
196
240
237
223
148
179
186
195
253
219
195
229
211
222
178
206
311
264
220
152
247
222
175
257
218
196
202
242
213
129
231
189
209
247
228
209
192
168
257
235
209
222
216
199
220
194
168
256
290
207
166
202
198
297
257
323
284
237
245
227
194
253
233
223
231
203
237
160
198
299
196
248
220
114
156
228
246
245
200
327
258
263
252
155
258
200
198
239
224
221
233
221
269
229
310
203
240
254
190
208
287
187
208
219
194
194
178
226
258
218
264
238
234
293
260
165
245
219
260
294
198
217
322
167
249
223
272
219
259
227
143
282
196
162
236
222
178
254
269
256
161
198
193
190
161
240
218
217
287
299
245
206
230
245
281
114
254
245
278
241
219
241
263
187
322
222
270
162
244
238
173
170
194
178
166
212
220
209
203
199
259
175
191
226
191
192
220
184
184
344
310
157
151
208
276
268
229
258
233
225
154
328
162
213
229
225
326
220
229
238
193
259
178
309
206
269
217
197
235
265
238
202
168
280
286
242
169
178
294
175
195
253
255
242
274
261
190
233
229
246
195
170
248
227
193
249
219
272
195
239
257
179
223
169
301
280
217
166
182
253
213
239
114
230
195
238
250
271
220
139
199
215
264
202
224
205
174
153
144
256
280
222
254
252
275
291
174
271
219
188
114
214
196
220
221
186
224
177
287
256
262
174
268
236
260
294
276
156
188
158
210
170
267
192
291
229
208
223
200
265
279
218
180
195
207
312
246
181
251
176
156
218
226
186
214
188
212
242
177
226
200
313
221
275
296
162
250
210
200
239
189
217
253
246
178
296
277
228
326
253
253
198
247
241
156
214
200
249
192
286
264
269
202
245
158
170
203
273
250
280
176
321
198
200
221
176
205
269
241
237
208
228
114
246
272
213
217
241
252
234
228
263
230
166
225
166
236
255
281
160
263
278
166
244
249
275
258
231
224
180
277
244
233
188
274
264
264
238
252
294
261
206
239
266
173
232
252
275
216
273
203
148
252
194
170
330
192
178
237
259
269
181
182
227
162
166
268
195
273
235
225
268
152
235
215
235
213
218
185
329
166
184
212
152
202
179
224
166
173
210
204
251
191
256
250
164
312
203
204
261
234
251
214
212
108
178
106
221
203
218
208
106
274
180
222
205
228
220
178
182
194
218
174
151
190
223
182
227
243
189
176
189
152
146
266
201
252
210
148
201
237
224
233
139
232
189
231
241
227
212
285
252
151
238
282
160
152
160
193
296
184
242
174
164
281
187
286
223
250
242
252
141
159
218
163
182
222
306
146
180
195
253
215
269
181
275
174
247
175
194
178
215
209
169
157
240
228
238
232
187
203
264
207
192
227
214
217
189
220
281
180
217
236
189
274
219
297
205
221
261
247
279
240
225
182
306
237
223
252
206
239
217
210
221
228
178
227
206
246
162
291
194
233
232
156
238
192
238
184
214
195
193
221
273
165
259
186
236
221
232
227
126
212
139
198
186
220
225
198
211
267
172
243
230
178
183
205
219
108
219
208
270
247
229
223
192
197
322
243
233
194
258
207
215
214
297
166
219
139
292
282
312
212
238
177
233
152
269
223
114
270
271
200
201
151
237
273
203
256
206
223
114
269
228
269
284
181
242
218
195
262
257
194
178
259
273
316
220
249
220
292
254
163
203
235
114
218
190
290
243
167
263
279
235
243
284
254
193
215
181
265
254
237
252
220
184
215
214
266
222
235
297
191
276
175
181
211
217
183
190
193
137
322
203
231
218
320
144
197
218
221
210
256
149
321
205
215
234
263
139
242
171
218
258
194
288
231
216
238
219
161
265
215
226
239
240
194
239
208
213
198
276
208
211
230
159
233
155
205
228
215
218
145
202
205
244
207
253
268
239
215
250
214
229
235
198
210
199
203
210
261
235
225
193
220
225
272
206
292
296
191
233
297
169
234
223
269
152
234
215
129
209
259
235
220
275
175
121
176
239
198
176
227
221
259
195
244
207
230
250
133
230
230
191
241
210
195
226
248
162
260
229
231
266
271
139
281
280
242
114
207
213
173
200
305
223
215
201
114
265
195
246
253
255
260
238
305
184
175
185
215
226
181
177
114
168
216
195
246
261
252
251
211
257
193
195
208
229
172
192
192
227
190
281
226
283
326
161
221
244
215
198
277
207
255
217
173
187
267
260
198
168
205
277
282
195
204
149
190
220
173
213
191
195
192
221
209
191
165
212
213
156
267
288
156
234
192
236
232
247
196
288
217
230
239
232
248
302
226
165
176
227
243
167
344
202
176
220
226
159
306
195
198
300
219
254
259
288
264
182
285
251
160
205
185
194
273
213
208
200
165
286
272
209
216
286
193
191
333
185
270
161
145
206
188
198
173
181
252
210
225
191
269
192
219
114
244
242
225
262
353
196
213
165
303
217
210
209
238
198
238
229
289
308
214
235
217
173
202
241
249
194
202
222
260
191
197
213
276
263
186
249
215
203
187
221
176
269
235
311
237
164
220
225
253
212
216
321
257
179
241
280
217
241
212
231
343
222
139
254
203
146
312
249
217
235
316
188
232
172
244
237
259
272
152
285
159
258
250
182
200
219
126
258
151
233
225
243
305
284
286
114
210
169
228
261
176
228
223
190
152
358
179
279
160
174
151
258
239
175
225
245
160
228
231
114
155
254
195
187
203
218
252
172
321
278
160
251
187
222
197
218
244
263
140
284
274
190
291
228
294
232
243
158
114
192
241
242
178
208
251
294
175
252
200
260
139
227
210
211
193
170
159
164
215
197
233
215
170
282
168
224
305
177
259
239
189
165
210
232
195
176
232
282
262
147
203
292
252
245
167
187
191
192
240
183
160
206
234
238
228
207
189
211
241
228
184
242
182
176
237
241
219
239
207
250
255
199
204
249
276
236
200
255
175
286
207
222
158
254
192
208
262
258
114
198
264
296
243
172
281
204
198
114
241
170
304
205
160
220
263
199
224
282
148
197
178
166
240
155
156
148
279
169
167
173
201
227
232
247
210
254
269
240
250
256
216
239
214
338
176
239
310
196
264
181
213
196
214
211
195
246
400
222
238
202
240
226
152
260
221
252
202
256
251
223
232
169
157
284
226
228
238
269
175
175
173
280
195
160
233
170
261
146
273
292
196
198
153
204
245
167
139
171
296
211
281
211
219
235
242
277
288
231
199
159
219
171
185
270
186
185
276
267
218
289
225
175
235
276
235
211
227
168
228
238
238
213
242
258
207
202
188
221
264
330
284
242
234
247
230
278
204
235
257
231
311
242
262
215
319
288
197
211
276
247
250
189
241
207
253
232
268
210
223
147
203
297
267
260
152
310
178
236
284
259
248
232
228
293
169
222
367
226
211
255
283
185
259
227
188
186
245
247
216
224
228
146
271
235
256
273
173
277
228
187
180
242
243
269
276
249
207
222
235
158
219
230
194
227
191
114
234
242
202
225
219
220
177
230
209
279
287
247
297
180
280
197
222
226
249
155
206
157
271
228
215
226
158
202
202
137
181
277
198
242
261
201
192
207
324
203
261
190
241
160
212
325
197
211
166
221
260
152
243
190
186
242
237
276
237
180
189
243
290
252
211
234
193
233
181
283
219
229
274
285
216
263
242
197
247
160
257
228
172
193
263
189
167
254
234
214
297
192
228
264
261
218
173
195
229
182
216
248
269
266
207
186
219
214
173
239
199
241
258
308
291
296
158
256
306
196
254
202
197
280
287
217
225
260
214
188
170
236
272
197
254
273
281
216
263
179
158
161
237
200
225
240
203
193
177
250
192
181
182
202
177
166
259
212
166
309
297
139
264
206
180
212
219
248
237
195
245
233
254
246
249
168
232
208
177
181
187
232
235
259
274
261
226
201
170
224
173
234
254
195
202
228
261
173
225
220
239
281
280
215
251
174
206
175
192
193
245
219
248
219
270
198
228
201
251
279
212
245
210
236
152
192
208
245
212
165
196
215
168
163
222
243
223
243
164
249
155
254
277
154
264
273
240
203
270
176
228
244
203
238
238
238
195
191
202
188
151
222
247
198
133
199
247
279
273
232
286
329
233
139
245
217
256
180
351
272
256
152
208
196
229
245
214
226
114
249
199
177
239
196
203
189
181
183
277
227
114
233
176
207
178
234
229
193
266
233
258
259
207
247
244
108
302
182
160
262
222
228
277
220
270
241
198
203
206
255
282
158
271
216
217
206
134
190
178
284
226
238
258
134
198
173
259
158
282
223
241
284
226
178
189
210
228
242
297
240
205
284
239
193
226
193
220
188
199
264
204
181
227
260
241
270
219
247
285
198
126
227
181
183
244
195
251
224
173
205
220
246
239
231
287
198
242
187
258
164
186
206
260
177
257
244
191
214
345
230
255
215
199
281
249
219
238
152
211
230
285
264
183
262
322
166
200
231
179
270
126
180
298
266
181
181
274
288
297
234
177
225
196
272
223
213
211
192
198
220
229
222
244
245
208
239
208
271
246
198
235
263
258
252
206
216
244
232
191
295
203
299
282
267
190
269
231
237
242
250
224
194
178
224
202
114
268
212
260
114
234
280
275
203
194
222
237
219
203
224
250
114
178
179
184
167
215
145
246
185
164
264
114
280
243
231
114
253
239
192
322
179
175
288
323
303
218
243
231
206
178
201
215
242
253
246
154
285
180
176
246
205
230
223
219
290
229
242
251
255
187
333
169
178
254
310
227
291
162
231
321
244
228
203
274
273
198
200
208
170
230
221
199
237
212
271
292
252
147
225
245
241
253
186
232
274
175
259
174
239
236
160
175
301
126
216
275
243
218
226
194
252
229
266
193
261
217
228
250
253
210
215
207
227
184
166
341
215
236
171
230
181
277
173
139
217
267
285
400
151
204
304
162
157
203
220
229
250
199
200
208
228
170
270
252
198
198
185
252
241
238
247
114
226
217
129
281
173
250
188
267
209
184
193
232
216
218
302
245
277
242
269
193
163
284
287
223
236
185
209
181
239
201
285
229
234
160
236
205
193
200
178
154
265
187
182
219
177
228
250
293
212
232
173
194
257
200
114
221
256
268
201
210
200
267
200
214
232
179
236
165
260
182
294
129
246
324
279
208
174
223
252
182
277
163
210
235
152
144
273
209
156
282
162
206
192
204
235
294
260
255
265
216
296
186
177
201
212
212
230
200
319
181
276
257
213
270
215
175
196
252
224
233
217
191
214
203
161
270
268
271
252
221
233
220
184
187
220
192
202
303
259
254
161
275
229
268
239
317
189
158
222
236
158
204
272
177
288
308
183
256
222
271
144
181
198
189
144
246
114
114
260
284
177
216
185
216
203
203
194
200
212
227
282
195
292
216
211
209
236
168
282
149
170
226
170
165
281
241
197
108
272
198
211
211
130
184
239
312
183
238
292
224
228
249
187
170
288
221
241
191
270
152
126
200
281
272
218
191
202
210
162
223
202
230
272
194
238
269
184
116
213
234
277
257
202
215
203
204
154
220
182
154
283
320
176
234
208
267
160
319
241
175
173
161
231
252
180
228
144
203
144
282
217
178
165
264
185
175
192
313
264
159
198
177
252
195
227
200
224
181
243
247
198
168
324
181
254
222
240
256
237
221
241
279
238
243
214
258
156
229
268
277
258
288
202
220
179
227
179
181
236
210
270
248
191
221
277
201
139
214
229
279
203
166
219
269
267
189
187
295
209
252
242
235
170
144
275
214
201
240
152
239
239
220
156
239
260
224
296
336
195
183
116
216
254
237
200
203
219
214
201
165
301
286
297
226
210
147
164
220
198
232
226
181
160
283
226
174
263
292
206
222
106
196
219
174
163
230
165
246
230
285
192
309
242
222
244
152
211
268
174
309
202
210
204
199
226
230
133
213
227
178
272
275
191
158
239
234
192
253
280
280
214
210
297
183
248
208
243
260
294
241
205
196
299
114
175
292
261
272
259
211
154
209
251
264
217
198
169
206
302
283
114
244
279
188
233
200
279
279
268
269
108
246
259
247
166
180
185
194
171
202
176
210
202
232
191
239
188
250
241
243
170
225
228
250
292
173
266
237
288
214
243
219
249
196
230
320
232
230
306
283
199
231
178
175
114
228
257
221
235
296
182
224
270
294
199
198
221
293
261
193
179
203
231
224
229
221
129
241
207
177
216
203
244
250
212
221
224
227
190
217
245
192
189
236
240
252
214
227
173
198
201
193
161
192
181
288
223
330
256
191
264
205
215
291
208
282
181
114
258
277
220
222
234
153
271
239
241
178
187
161
280
272
167
208
243
202
271
256
276
264
179
244
261
327
209
238
228
308
181
114
234
224
241
249
213
260
224
204
192
264
214
188
218
158
275
250
205
220
208
237
190
208
222
239
237
192
200
221
221
230
231
193
269
249
170
285
242
304
196
207
208
200
178
286
274
155
213
170
243
238
225
233
255
238
250
309
277
174
229
139
217
225
236
243
173
196
195
243
253
229
289
187
208
283
236
234
217
235
282
159
201
276
272
235
170
151
263
207
275
265
229
214
153
209
216
220
219
257
230
269
187
179
158
260
180
272
211
175
225
247
276
268
240
211
206
238
207
208
205
160
193
186
225
289
173
259
196
223
219
231
183
253
289
246
190
192
294
199
257
237
201
296
221
139
244
251
259
187
302
151
190
212
108
144
192
200
327
222
284
215
205
164
174
231
211
270
229
220
253
204
263
243
318
201
248
275
253
191
214
198
241
236
188
207
251
168
202
223
188
226
238
236
311
146
214
114
249
241
284
207
261
195
327
276
239
250
184
204
246
114
156
165
262
278
220
156
301
183
197
250
231
200
180
192
272
161
152
315
253
201
241
219
209
205
267
211
261
181
206
327
195
160
154
274
219
212
207
245
241
227
183
166
293
149
122
247
193
328
265
231
172
275
181
161
192
237
271
231
170
263
212
165
197
248
252
166
204
231
199
196
197
258
214
218
197
180
226
141
206
208
235
284
247
227
272
174
215
198
217
268
266
202
264
258
233
210
175
144
235
154
214
228
246
178
293
214
227
116
193
204
216
121
218
260
231
242
274
184
233
185
223
234
238
208
291
200
216
252
144
241
196
169
245
227
222
252
217
108
221
200
249
281
236
294
174
215
236
216
301
198
286
160
259
178
174
108
273
296
182
279
297
160
219
209
213
210
194
222
228
318
250
189
214
281
191
202
274
226
214
207
250
279
238
241
170
284
202
226
242
241
253
216
172
209
187
269
171
234
232
203
186
202
279
208
198
289
222
234
243
183
181
276
178
283
334
221
196
195
256
247
220
185
235
247
199
207
194
221
191
242
116
217
210
271
239
227
181
217
227
261
193
274
228
223
228
231
203
165
205
261
215
224
146
298
198
160
257
214
204
195
246
295
221
233
181
161
245
220
197
215
197
206
178
246
156
246
294
253
193
320
192
244
183
252
206
259
249
268
192
214
151
229
215
192
196
241
215
173
241
220
114
280
234
254
250
195
188
194
214
114
306
247
241
193
273
165
175
186
239
174
237
207
276
212
116
255
185
208
191
260
196
208
191
195
206
226
242
257
203
184
176
292
249
260
185
326
229
158
185
180
217
184
304
206
218
240
343
235
218
178
211
205
221
254
169
249
207
173
197
327
232
220
247
217
245
224
246
279
221
261
220
216
203
168
216
272
209
184
173
178
139
197
139
195
188
261
189
202
258
195
243
195
229
292
229
270
193
216
302
139
244
254
263
230
192
238
208
224
148
176
266
240
286
235
215
193
189
189
252
178
187
199
289
272
178
183
229
170
217
227
226
231
189
242
156
260
230
250
256
209
183
220
183
244
220
191
221
196
218
261
182
207
241
240
224
282
214
273
203
254
309
306
265
216
201
240
218
219
175
235
224
114
174
229
161
227
145
270
266
198
184
242
198
160
163
260
213
145
219
221
314
180
214
206
236
222
193
174
156
246
267
156
116
157
285
243
184
242
249
149
196
208
281
257
259
256
296
224
300
262
261
214
158
212
276
244
200
139
145
246
195
218
228
255
298
178
174
335
139
248
257
233
270
108
231
228
211
255
169
139
221
257
231
275
288
225
266
175
223
229
192
241
254
187
260
214
198
253
200
227
280
217
205
146
284
224
198
195
182
217
198
237
161
195
189
196
206
176
223
182
160
285
194
234
210
205
212
178
191
183
227
235
252
158
261
234
204
239
215
246
322
195
225
255
181
222
214
252
255
249
167
218
241
145
243
144
239
231
229
177
181
156
214
223
305
174
269
237
231
170
197
270
225
232
204
279
151
270
226
161
237
185
191
195
214
237
167
274
209
129
268
208
175
290
198
273
161
254
256
208
284
199
240
206
218
281
269
204
235
223
241
277
182
262
236
172
254
203
164
194
197
240
234
237
204
161
218
207
225
170
186
257
228
202
197
306
175
263
274
258
198
182
222
220
301
249
277
307
189
284
340
178
184
237
248
221
234
226
198
279
215
230
199
219
269
262
176
213
200
217
267
189
176
173
240
248
204
255
271
176
194
145
243
247
238
294
211
191
214
235
106
304
241
178
322
223
160
233
214
273
249
177
304
185
248
254
270
296
356
218
223
202
168
258
239
190
187
224
218
263
253
182
156
156
158
235
242
259
250
242
166
272
236
245
172
158
272
243
215
212
262
257
370
204
220
266
173
313
221
214
233
219
278
196
206
151
252
224
217
314
191
149
139
195
220
172
225
199
191
221
238
229
235
252
205
271
218
229
219
178
210
173
286
205
251
234
243
195
253
200
179
256
146
241
264
198
191
238
264
209
161
196
210
268
280
222
159
152
231
275
220
182
188
229
239
201
157
234
205
208
213
309
226
261
178
222
272
244
249
210
249
279
239
184
173
170
222
189
234
169
223
146
246
254
194
186
265
233
241
195
224
248
282
227
253
143
250
230
228
160
286
211
241
194
193
133
213
178
249
267
170
246
272
204
226
191
156
151
261
261
154
231
183
255
243
197
148
254
180
192
204
247
236
161
391
219
245
234
208
198
251
230
218
209
201
281
223
243
257
266
228
223
268
176
256
252
181
207
231
144
264
324
333
160
219
155
259
198
195
174
227
202
282
279
186
195
181
226
245
217
183
269
278
116
250
298
208
210
171
213
174
181
220
203
170
266
175
250
265
230
198
190
206
315
243
190
274
261
174
244
174
180
247
198
187
201
226
276
246
252
235
165
160
226
207
208
152
251
212
263
171
273
237
246
230
256
188
270
272
231
252
243
194
237
218
158
244
234
192
235
217
211
170
316
206
130
254
294
268
197
271
280
243
215
238
240
188
195
231
322
231
227
279
168
181
217
229
194
232
335
279
206
253
229
214
184
266
197
271
305
218
243
253
208
191
236
224
225
194
175
209
182
250
220
274
222
178
259
226
156
270
178
181
242
239
287
260
223
207
199
168
336
145
276
206
297
176
211
269
215
243
274
225
171
162
223
183
270
237
211
196
270
218
215
248
188
257
208
243
233
248
242
169
243
183
288
181
317
152
205
223
250
243
234
181
188
242
275
247
195
191
154
199
254
261
185
201
198
173
194
206
271
214
261
215
208
250
262
261
330
170
152
252
233
251
243
168
211
185
324
282
304
222
204
261
312
273
215
339
345
239
226
356
203
201
279
178
166
253
233
211
215
175
228
164
319
189
230
151
191
197
145
168
280
225
218
325
221
178
208
234
177
165
186
223
226
220
114
263
156
256
260
238
209
229
242
272
160
226
213
190
196
207
273
200
222
291
235
267
240
223
227
247
192
199
308
216
257
199
246
241
275
170
198
202
197
249
247
251
192
265
228
251
236
235
217
212
296
221
176
241
185
311
219
245
252
242
220
241
169
288
276
247
148
227
249
236
293
246
155
281
312
214
252
218
224
242
242
277
184
152
216
197
178
184
226
270
303
205
169
294
244
203
215
190
194
267
262
192
160
299
234
198
174
245
292
173
223
231
275
248
170
175
235
303
236
159
234
255
249
235
198
215
170
196
176
238
332
175
278
230
193
279
252
229
216
224
227
273
247
188
305
223
237
160
294
234
251
239
126
208
199
298
219
211
193
277
221
209
235
314
203
164
170
212
180
202
265
253
289
261
180
199
178
213
197
151
183
272
116
220
233
239
260
244
182
227
211
214
252
215
176
267
237
292
169
275
277
209
261
240
232
232
203
238
209
198
204
209
223
206
186
194
287
172
239
296
195
238
238
207
175
308
213
309
243
193
207
300
289
221
248
211
340
203
185
220
232
195
114
261
259
177
276
216
222
190
282
162
271
149
173
268
320
203
241
234
222
261
247
239
220
274
221
262
269
225
221
226
114
160
268
164
158
172
294
304
252
278
187
242
227
271
281
204
258
330
188
220
255
220
284
244
219
193
193
253
217
129
243
196
188
161
346
188
221
170
204
227
181
176
194
176
264
257
192
291
240
235
229
183
163
327
291
256
241
280
219
158
249
230
280
213
237
237
239
195
228
219
188
186
253
241
319
233
185
168
201
201
160
226
213
208
184
249
160
229
160
275
271
218
180
227
241
222
251
277
235
213
215
199
218
229
161
208
213
181
169
152
258
175
194
184
295
266
208
217
250
218
324
212
246
270
223
217
233
270
291
294
241
190
239
248
160
273
189
192
185
254
237
319
179
258
226
180
239
260
180
157
242
152
193
319
247
168
175
243
149
247
147
201
247
156
242
238
274
294
168
229
281
198
278
248
197
256
251
235
191
207
198
184
239
173
214
339
181
177
219
193
134
227
165
237
220
186
335
197
219
221
177
195
214
312
279
221
236
270
218
255
260
245
181
211
197
177
250
214
210
250
281
262
302
249
258
223
275
165
180
294
181
217
238
295
293
257
255
307
202
278
175
235
202
250
190
218
170
220
218
166
207
230
324
226
171
268
181
227
226
258
184
144
145
260
207
201
246
281
183
205
235
195
252
266
162
227
330
303
311
286
284
188
193
170
215
173
173
242
214
242
214
205
238
194
211
195
195
209
182
221
279
230
202
225
210
232
241
178
231
175
237
242
214
208
286
247
126
295
182
213
215
217
279
253
218
219
179
208
195
191
235
261
233
246
195
273
209
245
211
192
214
207
173
261
197
188
290
285
129
216
274
221
272
243
305
228
235
248
170
264
243
242
225
210
229
263
160
152
253
169
216
254
213
171
158
174
173
179
170
160
245
151
144
180
236
279
193
294
213
238
161
200
205
220
162
160
199
235
244
198
252
267
239
264
221
108
183
209
223
199
175
220
114
248
226
254
216
269
152
238
220
247
249
227
279
192
275
168
282
234
241
223
167
245
344
247
243
256
203
193
236
267
174
231
274
293
210
196
182
283
114
156
266
305
252
328
248
193
297
178
208
181
179
225
217
331
274
232
209
198
260
252
234
177
161
187
246
212
219
178
280
189
193
215
229
152
226
167
198
205
198
251
251
169
252
225
238
208
201
250
267
172
232
218
210
281
279
201
212
225
194
156
222
248
177
258
243
272
129
243
232
198
309
313
242
188
167
255
222
253
260
238
216
198
166
258
240
253
209
167
258
239
268
266
299
202
212
203
246
255
171
285
199
191
174
240
238
272
184
199
260
219
164
187
256
292
214
213
249
305
222
176
262
296
210
210
165
202
240
167
195
225
233
250
354
287
146
173
249
231
257
285
186
114
212
283
278
228
160
153
189
238
243
183
296
223
286
207
204
114
230
160
108
221
277
243
235
163
255
269
159
239
220
211
219
165
164
252
200
209
242
199
170
186
190
165
181
259
191
213
284
165
304
194
151
171
187
251
217
114
226
206
214
246
239
230
219
207
257
168
217
198
244
272
288
292
286
245
223
290
194
191
255
197
227
157
166
184
181
237
114
174
171
267
312
249
193
205
193
219
235
154
170
209
255
179
284
229
174
212
176
228
230
266
298
218
212
238
196
189
156
108
219
234
224
238
226
170
184
166
258
227
218
166
157
227
219
225
222
178
237
161
227
271
175
282
242
260
222
339
183
240
195
306
261
180
290
187
203
213
180
227
126
252
268
198
269
188
296
218
230
291
106
297
230
187
194
193
192
210
182
269
241
192
269
213
167
209
282
177
175
218
209
229
211
329
145
225
334
251
245
241
251
190
227
214
200
175
195
157
401
227
232
228
324
232
215
258
321
270
202
233
231
283
173
129
242
257
225
238
232
229
226
165
166
195
204
126
303
228
288
139
297
259
153
229
278
114
169
193
252
285
206
210
184
168
202
216
221
214
191
169
226
206
180
215
225
229
257
114
227
278
206
231
257
248
208
240
187
235
233
240
180
268
198
279
264
212
160
200
209
313
204
252
265
229
229
242
178
324
179
230
265
261
230
279
283
240
197
255
271
214
245
245
211
200
296
202
311
258
283
144
288
287
200
229
248
209
173
205
207
218
197
173
281
193
245
198
241
230
300
174
252
183
278
230
230
232
186
196
141
251
216
192
275
257
241
293
178
256
273
213
254
156
225
237
215
219
233
196
183
307
234
166
187
253
190
220
251
256
218
272
159
269
318
225
293
191
251
235
283
259
227
331
233
213
244
114
191
215
223
252
254
222
213
242
200
278
332
267
302
267
190
185
152
236
224
265
205
297
160
243
250
271
296
260
244
207
260
154
219
221
175
237
187
197
214
264
262
227
315
299
260
242
208
204
207
277
250
204
263
252
233
202
233
146
160
253
268
233
234
259
241
160
198
161
177
156
201
327
156
202
215
277
200
191
232
129
184
208
157
217
237
157
319
167
193
211
219
225
241
233
173
114
220
313
196
257
147
251
209
219
206
170
276
197
196
235
324
149
224
198
236
198
230
178
277
167
208
198
294
270
265
179
289
253
182
251
278
185
250
245
160
222
269
184
253
279
254
253
259
239
200
322
299
300
240
255
219
178
192
199
247
218
202
206
289
233
274
310
160
324
291
216
254
204
231
316
158
175
321
269
290
233
231
236
116
251
176
229
291
141
204
218
260
259
189
220
178
246
220
186
249
193
288
173
195
260
205
204
250
220
198
195
259
383
246
266
249
249
198
170
198
240
305
232
226
191
215
234
253
180
214
176
275
274
219
303
276
198
175
266
237
261
194
190
281
173
177
216
215
288
160
207
268
246
158
176
255
284
234
208
241
106
266
284
274
217
195
206
268
267
187
223
231
214
317
156
228
278
208
266
268
175
226
207
232
260
213
185
220
217
231
244
225
183
252
205
283
241
208
182
146
209
259
278
163
203
202
294
241
170
246
231
332
161
214
260
269
290
176
249
257
182
231
241
244
273
235
249
181
195
219
271
248
271
251
145
195
217
234
210
220
219
159
283
301
252
190
173
156
126
232
238
162
198
220
254
326
236
194
241
204
222
227
318
177
206
283
241
212
210
164
225
230
280
287
246
226
218
200
356
247
281
182
269
217
249
181
171
273
254
245
238
245
210
270
204
247
235
256
244
225
234
181
271
274
187
245
173
207
243
258
209
164
165
213
231
211
178
200
233
253
297
151
341
252
211
244
309
210
283
173
208
217
268
239
215
156
217
158
347
244
282
205
222
257
262
239
198
211
273
278
189
249
275
114
196
269
145
229
227
229
318
220
305
167
114
167
193
276
249
207
245
224
248
199
207
181
208
231
347
235
230
229
206
241
194
242
258
179
241
180
178
227
257
203
206
172
276
178
253
288
238
223
259
222
256
271
156
214
219
288
152
247
188
174
199
211
266
188
261
227
195
179
235
229
263
235
168
176
186
202
254
186
246
281
260
307
197
243
220
304
264
193
294
161
274
246
223
266
274
309
256
203
280
197
257
228
306
201
185
247
247
194
255
145
184
179
182
222
246
175
197
232
260
170
210
251
199
244
326
288
178
278
269
169
192
219
191
234
184
235
207
266
268
229
180
219
206
253
184
304
222
203
233
213
241
209
278
267
299
145
254
219
225
171
244
197
214
237
210
243
241
274
205
221
249
160
167
199
211
223
198
210
301
232
161
287
222
186
284
329
237
191
168
259
270
224
264
308
258
269
227
223
173
233
214
249
279
179
239
280
201
194
370
161
225
225
161
175
196
171
246
253
215
236
196
207
158
195
197
189
204
262
201
248
185
181
232
186
309
217
177
114
200
257
233
258
200
216
194
195
158
264
168
278
241
223
183
292
215
288
231
286
215
257
221
325
219
221
194
170
305
243
126
201
297
208
188
193
217
162
308
173
217
249
231
258
177
315
221
155
196
188
205
283
159
215
193
163
221
213
243
335
240
213
251
282
301
252
243
174
291
194
227
228
198
241
231
220
237
199
219
224
258
191
225
283
220
265
288
236
185
235
228
180
236
259
200
221
186
230
150
252
235
195
238
214
232
285
299
263
303
222
244
200
331
205
199
175
270
207
222
178
146
184
237
206
226
250
245
180
271
181
207
192
354
216
194
148
278
234
156
219
226
291
265
202
209
198
233
231
267
291
283
166
192
167
186
193
222
233
265
209
218
237
260
158
248
235
223
183
239
219
261
201
196
166
222
270
273
362
218
221
220
233
253
178
309
190
270
208
272
263
202
183
141
250
227
325
181
211
197
232
280
268
238
212
222
273
237
277
207
178
200
253
248
212
216
270
266
221
320
218
249
227
225
233
237
207
256
267
197
170
206
277
235
232
254
180
244
212
231
245
175
229
254
278
210
209
225
212
216
164
253
130
209
201
277
274
228
220
281
330
161
175
252
268
192
234
281
250
291
155
222
181
222
294
252
239
160
224
288
256
181
206
258
189
214
242
226
234
184
220
290
210
263
164
183
207
202
177
223
177
326
221
255
231
211
238
267
178
233
212
281
235
222
160
229
207
278
173
225
217
114
325
244
161
218
212
309
194
181
160
276
195
185
183
211
265
146
246
259
188
225
267
316
237
301
154
196
159
218
208
275
197
238
209
256
211
345
227
218
258
234
264
235
232
213
311
344
228
246
230
238
217
224
180
217
244
238
240
252
165
297
247
221
175
235
194
216
214
175
276
203
223
255
202
214
204
229
183
220
288
256
240
308
271
238
196
203
213
218
158
216
195
213
213
279
148
213
261
164
233
204
286
286
192
139
228
215
218
225
234
246
248
156
174
330
262
224
189
252
296
285
178
152
256
261
218
212
197
152
271
233
249
171
256
264
310
162
195
234
175
258
213
234
259
209
154
191
177
225
179
194
219
244
222
230
238
190
243
228
229
255
198
201
216
216
253
248
182
215
126
216
167
258
221
185
180
228
210
174
280
208
237
273
181
239
180
221
208
289
237
249
271
173
274
231
210
114
234
184
234
201
308
256
218
177
273
268
160
170
253
204
233
279
184
287
184
254
258
266
234
265
196
185
250
284
283
155
222
188
296
171
161
304
286
173
167
156
259
286
191
218
246
189
187
229
249
180
178
203
186
208
270
237
274
212
252
229
270
176
263
279
285
275
192
217
187
167
250
261
281
258
256
241
174
192
205
222
220
183
360
325
222
251
219
208
187
224
215
202
211
275
276
283
218
302
209
317
202
203
241
321
247
220
270
217
320
240
214
198
240
184
175
145
240
331
163
291
262
269
210
306
238
259
251
230
267
208
210
171
129
178
233
230
219
209
270
205
222
183
242
213
201
160
264
266
226
167
239
234
241
169
206
263
200
197
170
267
190
273
160
214
223
180
252
241
261
161
203
269
152
293
193
220
219
261
183
114
108
207
178
215
249
260
255
231
175
169
234
229
266
260
121
256
178
204
209
213
234
223
263
162
153
257
208
192
164
178
235
227
192
149
208
260
352
209
292
312
298
189
262
158
160
161
156
225
212
209
182
225
235
158
259
194
314
241
276
258
211
208
188
262
187
208
302
176
227
240
228
152
234
201
216
144
229
248
263
199
194
168
305
292
221
171
151
302
234
199
209
194
335
215
176
259
260
224
221
232
326
265
275
160
344
158
207
181
192
294
265
245
180
158
192
183
200
204
225
221
309
236
251
261
215
162
179
228
234
250
290
160
186
220
209
164
200
188
240
200
342
374
116
193
247
255
216
247
288
228
208
262
199
285
240
152
201
203
219
181
160
195
195
212
194
203
280
208
207
237
199
260
205
222
197
176
209
189
298
198
151
266
255
224
187
173
191
236
256
224
175
156
244
208
220
223
219
251
258
121
291
235
289
182
231
198
289
264
266
208
200
205
240
256
158
260
261
231
292
169
275
276
239
205
221
214
243
202
229
178
219
339
250
256
259
188
309
263
149
226
225
194
146
235
172
177
246
264
232
181
252
263
245
229
298
240
255
209
241
245
161
256
215
278
212
222
250
193
233
214
154
203
228
225
243
192
195
223
256
193
170
250
238
154
238
262
185
238
180
248
316
208
255
219
239
184
213
223
191
248
165
206
202
189
261
214
248
244
173
184
173
266
267
214
278
220
203
312
203
279
244
231
222
243
257
244
164
192
216
229
192
185
161
234
219
164
292
249
229
208
293
225
217
234
252
144
152
231
206
206
284
242
245
152
166
363
148
135
288
251
259
169
195
175
200
219
231
225
108
250
215
196
265
190
246
229
267
160
249
309
268
207
172
293
156
221
126
224
285
247
220
216
193
253
265
232
267
283
211
271
184
242
192
182
252
197
294
219
252
209
243
230
224
282
267
236
195
320
274
208
219
205
250
241
232
268
293
195
216
244
167
252
210
212
266
182
183
182
320
199
266
244
197
237
260
262
182
248
185
252
246
250
246
260
198
271
201
245
248
210
240
228
244
228
229
177
161
193
217
196
193
195
276
262
177
271
210
215
210
234
241
202
240
171
181
206
245
220
199
280
278
216
268
218
241
179
180
177
163
265
163
192
242
203
239
265
154
231
196
180
217
218
182
248
203
234
154
169
235
137
126
221
236
244
208
244
243
158
182
250
250
218
191
254
223
234
231
149
159
233
217
230
254
247
255
222
274
280
267
205
180
224
247
177
240
233
121
170
126
240
179
234
222
246
205
222
206
214
166
250
165
261
292
191
293
256
331
259
177
217
268
218
320
206
214
234
210
216
229
175
206
191
268
221
205
317
193
140
224
204
206
198
157
299
275
253
203
185
216
271
272
283
240
209
246
240
279
196
193
195
232
230
194
248
250
250
217
208
250
200
286
215
248
207
245
221
184
200
223
206
220
281
226
233
195
302
221
192
211
268
195
248
167
261
114
108
240
209
205
206
235
165
180
257
156
367
312
199
174
201
231
220
145
310
242
144
270
173
277
114
179
179
271
186
214
253
170
234
270
215
282
308
205
252
254
214
227
224
194
114
160
249
226
280
170
160
232
203
145
185
268
311
206
229
213
177
275
208
245
209
160
198
191
264
173
192
211
174
225
265
256
256
217
192
309
233
210
254
249
182
297
143
241
193
288
220
197
220
201
187
186
251
278
219
251
234
201
198
252
144
281
253
176
229
219
264
139
293
236
185
239
237
333
275
181
332
157
201
222
263
169
217
130
282
198
240
316
236
250
165
276
208
231
286
179
213
294
252
279
219
207
192
307
252
215
238
251
324
213
279
152
106
222
253
182
196
183
126
114
108
202
291
191
284
247
223
321
249
211
183
254
286
198
226
258
214
204
174
194
264
197
171
227
217
276
222
152
273
270
250
191
247
281
145
178
252
229
217
306
235
186
178
126
167
207
224
278
114
255
195
254
310
170
194
214
180
293
216
252
291
200
245
184
158
237
186
279
160
207
260
181
183
201
267
327
284
231
276
177
264
263
258
247
275
246
170
283
201
265
221
245
224
194
303
276
207
254
268
231
178
294
236
200
224
243
277
177
186
221
286
161
208
246
199
270
181
186
231
318
249
200
214
270
161
191
177
242
245
242
247
214
224
246
206
225
217
184
204
227
114
280
190
195
279
262
179
173
186
179
238
188
173
201
250
272
159
193
178
162
235
234
276
243
230
205
228
273
229
193
173
246
180
295
213
264
199
344
257
210
232
261
237
240
297
190
263
240
318
282
176
245
202
184
315
227
323
144
262
282
262
192
242
239
233
204
289
201
194
168
238
191
158
233
195
177
160
255
205
253
207
186
199
244
249
296
243
271
214
173
254
239
197
229
252
265
197
206
202
154
175
218
198
193
222
265
237
223
246
234
301
229
215
330
257
181
273
155
215
227
261
209
162
184
235
175
281
211
201
227
257
156
178
310
168
198
245
114
188
243
219
241
146
187
246
203
200
212
209
222
242
243
210
216
254
223
205
271
250
261
214
174
195
207
282
239
166
271
212
256
243
242
191
129
234
228
283
250
206
188
192
184
218
175
264
258
257
231
289
195
287
196
279
266
192
256
129
255
228
224
209
210
270
218
260
288
242
177
211
160
223
209
272
189
187
246
273
182
215
206
245
152
200
179
243
167
253
273
214
199
202
210
235
139
193
288
236
168
219
238
114
199
257
258
208
216
217
183
268
189
156
263
233
160
202
200
208
285
208
358
172
280
268
286
258
205
181
329
227
219
211
228
296
203
182
184
230
209
253
194
178
214
181
200
229
307
180
199
243
229
215
193
206
200
239
218
324
262
252
222
210
250
284
276
301
173
214
231
196
242
187
294
213
189
173
192
200
232
174
170
245
230
167
213
309
260
254
167
178
230
242
251
285
170
233
270
206
198
217
357
218
249
187
226
199
186
195
305
331
251
236
284
242
218
326
256
168
325
231
211
233
239
287
263
281
185
158
170
247
264
207
175
268
288
261
274
225
174
202
184
199
197
275
180
228
221
164
312
243
209
181
222
212
281
197
249
153
199
264
156
234
213
226
230
177
200
334
262
247
175
309
218
200
226
198
215
222
248
160
260
245
275
212
252
175
193
200
161
249
222
231
263
241
204
165
281
293
237
192
152
178
181
230
281
254
215
209
186
271
215
182
264
180
234
192
341
260
252
204
190
195
184
182
178
206
335
277
270
199
263
241
232
258
225
232
192
210
210
236
215
160
228
233
233
223
260
184
114
155
170
192
173
251
205
206
279
231
197
239
200
254
341
187
226
174
293
180
176
200
212
108
182
230
244
185
253
272
162
312
230
256
179
190
134
220
159
272
196
225
169
224
270
211
311
249
198
238
284
206
258
221
192
202
182
265
267
230
252
226
225
257
227
234
220
279
185
192
221
259
217
273
208
210
184
263
201
207
240
218
246
257
160
288
289
213
198
210
253
198
271
213
280
302
151
114
231
219
208
262
239
254
181
298
250
193
265
217
209
264
287
214
229
234
206
242
214
272
229
255
156
277
237
241
285
245
202
246
181
256
176
228
238
336
220
217
273
257
224
196
244
209
212
331
175
209
283
315
244
251
200
207
197
173
190
184
295
217
255
208
255
231
225
191
228
278
182
265
233
245
206
331
232
265
181
216
143
210
184
192
311
240
204
224
288
173
275
236
227
268
174
168
310
294
173
234
193
144
223
222
172
182
317
241
223
270
232
214
250
235
218
198
225
168
210
214
229
244
251
282
243
290
235
238
218
217
228
283
114
191
242
190
248
285
184
257
191
246
213
173
202
288
277
276
191
260
289
128
275
236
293
192
160
208
165
238
268
234
175
287
259
236
258
205
293
225
284
269
254
254
176
239
151
166
258
191
311
156
259
158
245
276
301
195
170
309
341
302
314
199
237
226
208
188
207
241
268
266
278
227
287
213
235
225
284
265
223
256
195
190
234
310
233
284
237
147
265
205
226
233
190
258
222
184
196
220
273
241
223
203
241
160
218
189
224
219
323
231
197
305
225
227
249
251
192
270
214
286
163
158
155
307
188
216
180
244
293
218
311
252
240
212
253
288
229
187
211
194
141
213
273
258
158
259
202
301
165
228
271
238
230
225
160
249
196
247
169
224
154
315
247
194
228
114
213
219
206
174
247
253
214
214
180
258
210
223
181
303
114
192
276
196
237
186
171
265
316
252
209
254
215
276
240
170
230
263
237
188
247
225
282
232
230
244
208
336
198
171
192
306
315
223
167
247
205
227
246
224
187
160
184
312
164
145
130
139
178
280
216
169
200
208
216
266
256
306
295
195
323
311
246
262
223
229
188
251
259
226
179
279
164
247
212
218
188
270
244
251
292
243
211
185
156
227
228
287
180
154
287
194
195
174
212
274
188
232
154
239
156
266
214
305
210
177
284
197
220
280
182
233
177
145
194
242
277
205
348
255
190
247
260
205
200
315
211
248
303
271
177
204
178
271
214
200
202
264
201
248
218
171
257
164
245
252
272
281
166
198
236
192
173
270
234
199
305
196
330
219
237
214
238
264
214
234
215
209
207
266
114
243
197
182
263
160
260
207
130
260
283
267
218
151
178
178
200
222
243
207
266
148
260
283
232
255
278
222
267
202
129
281
159
218
240
219
268
260
284
205
229
216
181
203
116
240
162
152
302
180
213
251
231
170
217
216
178
209
250
306
208
173
176
204
184
236
165
269
247
220
196
201
183
240
259
175
250
202
246
152
223
191
271
191
170
234
149
204
273
261
175
227
218
193
193
181
202
209
249
275
257
265
187
273
256
276
168
160
180
168
213
211
255
251
213
231
251
214
254
178
262
274
265
256
158
232
194
188
190
139
227
243
194
241
258
267
154
222
230
170
219
234
194
170
195
160
205
158
237
292
229
239
276
217
145
254
256
314
206
210
235
210
200
256
164
289
158
195
173
246
241
250
190
210
252
195
244
234
227
214
315
219
208
243
145
274
293
192
239
160
255
211
216
228
269
186
285
202
174
265
227
225
278
267
160
259
211
179
307
277
279
175
151
174
222
242
285
233
220
271
227
228
252
211
267
154
264
169
214
257
256
237
240
255
204
199
265
175
214
194
186
330
261
205
144
251
204
317
212
270
244
221
233
206
148
269
234
211
223
203
206
205
186
146
152
121
210
297
297
216
146
241
218
265
114
205
229
203
126
248
173
283
180
218
214
246
232
230
198
234
177
221
235
193
257
236
249
238
214
203
219
230
281
234
186
175
193
207
210
160
210
262
199
206
231
233
333
303
252
263
187
226
190
235
195
198
256
173
244
179
197
255
270
186
225
215
325
247
180
262
255
207
217
230
211
244
284
234
176
197
243
282
247
192
264
160
267
255
195
227
251
299
196
211
245
243
248
199
221
209
176
260
273
253
194
201
258
241
197
217
196
268
215
195
242
206
279
229
208
191
108
228
271
276
171
256
244
282
265
156
231
210
235
245
230
192
184
220
297
237
181
222
314
229
228
249
259
222
323
196
207
215
264
285
238
289
238
221
240
241
156
201
145
192
222
234
227
295
173
294
181
275
193
181
212
236
222
181
178
263
232
174
257
281
261
239
296
235
252
226
218
146
240
231
192
156
231
227
315
206
230
261
218
170
151
247
247
264
220
317
263
181
228
227
370
282
226
227
200
289
178
251
156
188
216
278
192
247
267
253
149
161
223
250
207
114
271
218
263
267
219
214
174
177
272
280
283
205
160
239
175
186
185
251
310
266
255
246
224
190
198
194
257
290
300
194
301
175
221
386
170
199
331
238
175
252
267
247
260
225
263
228
166
203
281
168
190
247
192
232
198
185
238
202
191
236
279
185
258
154
195
277
242
210
315
235
236
206
126
224
234
261
235
241
237
232
221
217
222
163
208
169
179
213
229
286
191
245
245
261
215
203
184
210
257
214
240
286
242
275
180
192
273
240
148
240
233
172
203
267
244
153
172
331
238
190
220
182
166
329
211
192
285
281
205
192
227
197
242
233
213
212
180
158
222
215
226
218
244
247
214
260
301
200
207
193
170
281
214
262
221
200
196
281
187
269
257
247
181
206
211
195
204
238
236
209
168
197
239
311
141
133
231
175
237
108
178
168
196
157
242
203
182
205
200
178
192
222
200
220
279
228
251
178
226
230
277
214
230
281
184
241
198
259
288
228
275
193
231
230
190
179
202
222
252
174
244
254
267
215
188
202
227
282
170
255
308
248
249
200
215
203
271
203
298
234
216
304
164
260
205
205
173
219
160
148
223
211
200
235
192
244
290
300
173
190
254
214
229
175
181
155
319
223
278
162
186
279
214
207
233
160
356
217
208
231
207
161
263
258
223
243
236
212
230
209
264
173
269
234
225
215
201
176
160
235
176
215
297
182
246
198
207
179
170
209
192
234
250
229
237
164
145
191
251
270
195
257
151
264
211
216
234
225
225
240
212
189
197
210
328
246
229
301
180
271
167
247
293
195
260
204
195
224
139
294
232
228
232
257
228
195
296
198
242
190
175
280
264
257
223
248
217
259
213
199
170
185
330
231
290
198
213
334
173
194
286
265
144
197
274
224
214
114
307
208
328
221
272
241
241
211
204
314
170
279
200
144
288
224
209
227
237
176
261
207
184
198
192
157
214
144
210
292
363
251
226
269
239
286
238
192
205
254
240
188
221
228
182
239
299
210
298
176
297
233
246
311
278
279
197
264
170
215
302
253
216
277
243
170
213
181
139
229
200
195
171
253
273
279
218
205
276
294
238
200
149
187
260
181
198
260
268
272
237
214
246
186
221
276
241
225
217
258
197
207
198
248
151
234
207
172
243
194
221
213
202
208
278
273
252
191
235
273
173
176
212
295
232
300
205
106
211
228
340
186
151
178
158
285
247
233
241
144
286
223
205
311
226
180
223
204
144
205
244
184
245
255
203
184
198
220
288
212
236
245
246
197
159
288
212
206
315
208
116
195
223
207
321
179
241
200
185
211
195
201
202
193
184
223
268
242
238
213
240
185
258
211
194
271
164
194
225
344
299
220
161
207
242
253
174
240
251
167
193
225
208
241
233
232
185
242
228
121
245
279
256
152
165
234
184
193
276
114
175
229
257
223
279
160
230
224
262
155
208
206
267
214
245
162
220
228
267
253
293
265
189
211
252
173
290
233
175
221
186
268
254
186
188
221
252
267
160
197
217
233
175
237
256
178
249
305
239
242
273
250
265
355
184
264
201
185
114
166
208
272
178
261
175
170
207
263
216
237
201
271
200
245
241
260
216
257
231
300
228
234
161
245
327
356
209
243
204
193
219
218
176
231
197
261
244
219
253
197
189
179
191
265
264
228
244
282
254
180
205
229
156
224
295
215
216
256
256
213
198
176
181
130
239
251
139
193
253
262
268
183
177
257
194
231
170
151
242
203
231
258
232
249
232
230
176
235
287
256
233
225
193
183
265
204
238
229
241
174
170
280
215
241
249
221
202
160
181
216
201
170
206
270
276
211
225
333
146
184
168
275
270
241
263
213
261
184
249
260
282
285
221
174
278
263
210
341
239
259
263
255
170
114
148
317
189
234
205
194
300
260
214
282
311
129
274
187
212
170
244
243
243
199
180
218
286
166
249
200
227
233
266
194
213
204
299
179
236
279
144
240
317
258
226
231
306
250
228
229
222
241
230
225
213
273
195
213
228
301
160
240
161
177
290
233
157
233
294
255
194
248
271
228
236
175
201
170
217
196
178
209
209
212
185
210
237
214
145
108
221
291
299
273
172
139
334
175
270
215
313
298
247
217
218
238
178
174
273
165
287
236
202
218
281
194
218
238
173
268
253
225
232
202
178
167
230
164
242
255
170
255
261
170
231
326
167
177
160
262
169
285
219
229
206
219
234
279
182
239
172
267
315
297
170
245
243
206
204
288
241
176
241
198
206
194
182
225
239
184
232
273
265
126
230
251
245
146
270
284
263
253
206
282
319
317
182
166
172
253
211
171
239
301
222
273
233
152
230
255
185
254
193
219
202
229
192
229
280
210
160
280
346
266
195
219
276
235
252
184
233
160
220
257
177
197
208
161
152
267
208
192
226
145
233
207
204
152
242
217
225
262
236
273
222
203
195
220
176
199
196
180
289
282
246
237
208
180
218
200
193
169
288
194
153
212
228
116
185
170
204
234
321
235
196
240
218
195
235
269
247
244
296
240
262
267
268
252
359
145
187
219
280
154
200
233
149
268
199
273
208
178
210
194
139
192
211
192
294
229
172
198
185
205
224
198
237
139
267
283
227
222
270
198
173
193
190
170
238
175
193
257
235
246
243
252
278
257
175
232
195
249
237
208
256
175
277
315
265
156
250
337
213
200
224
173
185
164
221
266
160
223
234
257
170
269
186
156
279
224
196
286
217
280
212
191
276
227
217
238
271
277
227
308
238
199
191
250
206
217
214
184
198
303
213
230
234
211
175
224
233
262
217
243
164
211
228
295
237
279
158
214
250
226
185
202
219
139
214
254
206
193
194
192
219
291
341
180
326
192
196
186
254
251
197
249
298
285
227
239
200
212
234
284
260
261
265
272
217
309
218
208
260
228
286
256
320
211
239
161
192
191
261
114
284
256
187
149
262
209
265
207
201
214
231
307
210
173
217
114
189
209
223
116
208
272
259
240
233
178
146
167
230
297
259
250
129
195
249
225
220
139
195
177
222
190
181
271
171
162
274
208
280
148
228
203
203
139
219
207
249
209
156
175
246
181
327
241
241
235
153
169
311
241
247
228
266
249
175
173
271
280
223
268
228
236
293
215
207
269
282
234
195
191
314
166
262
282
369
216
170
232
300
174
233
208
237
213
219
114
204
211
207
239
263
261
122
278
192
305
208
188
198
245
194
192
215
247
196
251
200
248
288
241
213
306
236
114
252
170
195
286
312
261
259
216
181
149
173
174
180
227
219
231
238
218
235
164
128
213
192
184
218
234
223
184
144
232
232
263
245
197
312
246
300
279
247
194
210
228
185
206
229
254
196
274
262
174
151
241
152
257
152
342
225
177
239
169
251
228
212
241
222
223
276
274
242
240
239
166
279
241
303
215
170
235
121
176
186
259
180
301
268
184
208
159
249
236
191
246
262
184
279
249
211
232
241
270
259
252
218
266
264
190
156
250
232
248
178
205
248
174
198
190
272
234
183
236
211
259
160
189
171
259
214
245
195
279
257
261
279
181
188
248
265
208
309
217
274
158
204
170
283
307
242
249
160
212
229
289
228
254
114
244
195
283
218
170
197
221
271
248
184
314
169
228
243
225
201
285
254
253
193
219
253
275
310
280
304
221
227
168
255
205
232
179
237
151
253
152
173
231
169
261
187
294
221
251
227
365
167
181
168
245
232
170
169
203
191
260
230
222
196
176
183
257
190
274
156
268
178
258
238
250
279
325
264
251
222
301
213
211
202
246
222
231
199
255
209
288
318
304
192
158
286
238
224
292
250
189
238
293
214
201
283
226
270
263
292
173
161
228
168
290
143
197
271
214
240
183
264
235
207
277
232
300
224
241
128
287
253
308
186
192
231
286
203
311
246
195
178
251
269
114
288
212
206
114
176
203
239
255
195
267
287
275
251
212
262
189
259
247
226
310
180
299
252
225
267
241
251
231
240
255
182
228
181
316
253
189
223
253
250
246
263
252
244
211
257
265
207
270
230
193
213
184
214
291
266
275
247
274
272
114
244
288
275
243
238
198
262
225
224
176
230
222
217
198
313
208
214
303
249
238
252
261
156
219
324
187
240
140
205
312
285
194
181
230
249
151
248
276
139
174
189
193
171
259
302
239
211
287
192
194
292
161
236
247
260
247
218
265
255
183
218
151
227
232
212
208
168
289
214
303
251
241
152
231
184
238
269
114
235
182
259
178
240
215
217
192
194
207
195
171
217
195
274
256
246
282
205
200
252
194
178
290
219
279
216
284
183
181
173
264
222
292
201
195
129
152
272
256
248
292
262
246
190
195
223
243
271
248
216
207
165
283
303
280
260
188
202
164
215
173
147
255
210
267
323
202
261
190
200
260
262
255
223
235
276
213
230
237
220
196
235
265
161
223
220
229
258
168
175
206
236
245
211
213
170
242
293
239
239
245
187
284
288
221
227
198
249
271
184
165
169
161
192
291
183
206
181
199
251
266
229
230
167
114
218
296
219
222
204
225
198
231
204
220
218
250
268
224
251
251
283
234
258
218
257
191
199
259
114
286
258
259
151
161
158
258
158
182
195
313
226
233
266
211
205
200
190
235
278
260
218
229
192
203
275
261
226
208
224
285
253
248
195
271
175
164
167
209
225
312
297
225
196
201
272
241
177
245
170
257
106
154
212
174
227
189
247
168
192
249
225
178
190
220
152
265
285
194
224
329
263
212
175
173
234
245
151
209
177
201
212
288
188
220
189
240
236
250
209
237
214
284
215
279
194
178
228
282
249
215
262
191
245
121
116
151
161
270
173
275
285
222
161
253
216
208
151
203
307
218
195
206
200
217
161
224
206
256
265
222
201
202
248
229
191
206
211
329
261
206
236
283
227
193
227
244
246
238
198
234
244
229
244
225
245
192
354
228
108
159
206
225
116
318
257
237
223
183
207
270
160
273
187
220
308
200
261
198
187
183
212
219
246
190
195
273
157
227
262
171
191
221
291
230
214
223
228
283
248
248
170
292
216
274
192
253
108
222
216
249
202
169
219
162
234
164
283
247
236
231
241
268
225
170
190
170
246
241
171
166
249
191
174
212
192
272
191
196
190
205
208
237
260
247
196
207
178
200
258
284
148
176
285
265
177
227
279
198
320
258
230
269
257
258
291
311
275
264
252
201
179
140
160
151
225
223
234
181
239
270
189
262
290
228
248
239
251
275
255
255
174
267
170
200
239
247
243
170
207
269
237
264
188
160
261
211
331
208
283
247
190
237
209
274
279
264
232
114
195
179
239
232
229
343
205
153
152
240
275
204
174
319
237
250
263
217
172
208
218
233
225
221
213
209
244
202
241
212
221
195
220
225
181
154
180
331
247
165
189
164
202
306
196
340
230
206
168
235
218
108
219
330
236
206
171
249
197
233
211
152
162
149
192
241
210
192
239
286
210
198
180
235
223
332
374
178
196
271
216
288
163
202
281
245
228
279
128
225
350
234
188
272
233
225
201
202
205
284
178
156
151
192
194
239
177
195
269
228
166
220
259
301
248
282
222
240
214
273
145
243
114
320
223
175
264
270
235
169
211
284
208
178
227
285
259
187
290
247
267
238
214
295
236
318
212
305
198
266
160
212
195
243
216
129
178
203
175
196
258
225
307
246
297
230
184
227
247
252
258
151
263
294
225
224
241
231
238
185
130
281
244
165
160
340
291
220
275
266
227
170
180
158
316
108
223
208
259
225
180
242
226
188
240
269
296
241
217
219
241
195
273
138
301
223
288
303
205
241
231
258
264
283
253
297
191
196
273
193
195
214
193
166
274
163
190
252
210
225
211
139
208
224
226
243
223
139
258
259
251
191
180
211
199
238
182
283
290
231
233
243
198
237
234
228
227
241
215
284
187
242
188
232
246
203
236
249
154
200
234
301
234
248
282
162
192
187
213
231
250
203
259
170
269
200
223
214
203
286
243
275
226
239
279
148
226
222
238
222
139
227
180
202
181
240
254
199
229
168
231
165
156
241
192
225
263
225
200
195
219
226
238
280
201
133
295
279
245
170
221
174
246
279
252
331
241
243
258
240
333
255
114
169
246
171
251
257
233
288
234
173
284
222
139
259
209
255
187
252
268
254
254
179
208
164
272
223
288
181
260
225
220
201
232
235
233
314
205
201
212
234
229
194
198
158
227
285
175
302
236
225
204
164
230
280
218
241
215
226
207
258
198
252
244
240
200
198
218
244
226
200
203
253
250
172
261
192
254
156
246
144
183
241
201
267
180
219
168
269
204
175
227
165
205
167
241
286
272
249
257
291
209
245
247
219
223
242
186
269
149
170
297
221
220
175
241
272
212
164
108
204
170
169
272
147
215
274
170
194
259
209
213
270
227
189
253
232
181
194
290
247
266
282
158
166
273
216
205
213
203
227
219
211
212
252
239
192
296
230
277
152
197
251
272
237
285
323
204
200
242
195
169
203
218
226
198
182
252
220
218
153
167
173
245
210
153
246
215
167
194
213
184
318
181
247
253
239
188
271
239
228
259
189
273
296
143
271
250
352
183
168
181
189
184
185
151
299
273
199
225
191
160
226
218
273
191
181
236
257
231
205
241
284
162
173
211
228
211
223
312
196
169
226
285
271
252
204
234
177
238
370
154
288
173
259
223
170
186
228
139
229
280
240
274
216
193
269
224
286
271
177
266
209
316
176
196
170
277
198
245
114
226
293
295
298
278
249
294
178
190
225
193
229
211
236
246
197
285
156
181
244
318
181
264
191
225
191
286
206
193
200
243
160
257
290
234
250
217
227
208
260
152
247
215
295
181
270
310
215
252
238
239
211
243
206
188
151
218
233
218
222
175
209
223
200
274
280
230
160
267
205
171
301
265
242
231
233
314
237
210
181
219
282
285
178
207
203
238
178
203
252
229
214
239
193
235
284
154
221
184
245
222
161
232
179
173
250
205
264
190
246
208
316
174
285
200
183
260
235
187
209
287
184
242
244
280
185
285
192
263
295
188
227
258
244
148
235
202
243
183
155
270
318
238
218
240
247
221
156
159
192
186
255
219
304
225
282
209
257
202
216
227
226
224
215
288
228
235
214
174
301
285
216
195
173
227
226
188
250
327
262
267
258
165
191
264
307
192
216
226
201
306
248
231
252
353
238
223
185
198
179
202
183
184
225
235
193
335
279
156
217
342
246
206
232
271
211
254
232
242
175
194
296
237
275
259
272
175
169
114
228
164
202
247
310
130
222
238
277
285
229
254
210
193
253
202
207
184
114
259
219
249
146
235
278
309
222
205
252
205
204
195
220
147
244
239
228
266
199
151
256
202
266
220
232
213
243
205
244
249
240
244
196
346
265
192
229
266
237
208
114
229
222
190
214
173
266
222
224
233
270
227
231
221
185
178
285
257
194
154
235
208
179
255
194
276
241
221
223
174
246
221
253
197
178
170
297
256
200
204
263
238
281
257
238
242
273
169
177
259
237
207
239
221
205
238
139
198
185
278
114
193
243
228
185
233
215
272
145
236
253
175
340
221
253
287
246
238
121
279
229
193
263
214
214
238
126
160
160
213
207
278
253
205
240
192
237
216
210
302
179
273
190
158
266
201
219
327
260
114
282
289
178
181
269
288
233
214
210
270
197
179
332
236
276
244
238
221
204
298
234
201
207
145
231
175
226
225
276
151
213
300
116
320
185
220
194
247
252
170
188
249
198
223
296
235
267
273
230
174
166
234
243
231
267
161
212
281
243
219
234
220
215
170
168
252
173
227
210
234
229
201
199
208
228
254
290
252
196
189
156
210
197
233
268
231
228
224
192
207
209
285
215
276
228
204
214
283
224
196
184
200
211
230
278
175
216
163
314
219
163
160
314
221
222
212
251
178
188
181
203
231
233
192
126
108
195
225
185
363
307
231
174
252
183
189
274
184
294
325
217
139
164
166
145
228
211
306
225
284
183
221
165
287
244
210
230
114
245
160
114
328
173
152
264
192
278
263
178
180
264
212
227
239
258
194
265
170
191
192
204
221
183
207
348
204
201
233
253
212
265
311
226
213
218
226
171
158
314
203
151
304
139
155
155
254
201
280
173
255
260
311
227
269
309
216
324
201
189
203
194
152
114
194
211
263
279
160
233
291
181
178
116
223
220
205
198
156
199
257
249
202
258
235
183
301
260
272
239
186
199
215
237
242
290
287
185
204
251
213
267
242
251
272
239
261
170
194
272
148
203
295
286
207
173
191
237
243
230
171
264
154
253
277
259
262
253
227
294
251
263
198
139
195
229
232
179
227
203
222
246
198
161
218
256
209
209
204
238
174
230
160
238
245
200
147
232
331
241
223
287
245
236
203
272
214
325
216
114
264
285
205
170
205
244
190
218
108
242
308
249
178
235
159
316
197
235
217
174
150
306
233
296
227
205
214
185
167
177
321
188
114
251
200
204
285
252
219
264
269
213
184
213
262
246
186
198
219
226
204
220
227
254
193
182
216
181
251
208
227
148
237
248
214
165
228
248
210
255
219
274
176
201
239
208
281
216
170
268
114
215
146
303
278
240
251
160
292
181
264
156
228
224
234
188
209
257
229
213
235
258
220
285
233
232
252
236
310
192
148
141
221
228
169
223
184
182
290
164
232
236
249
203
267
248
245
267
160
121
200
186
171
254
291
374
273
219
196
199
286
238
225
203
236
217
265
311
211
253
250
252
263
178
180
248
270
253
279
244
278
243
253
175
232
187
106
233
261
270
240
272
219
155
271
108
177
255
260
259
307
230
161
179
212
233
310
249
259
301
281
254
163
215
242
185
175
218
219
281
212
286
179
177
224
270
287
271
258
206
250
219
198
307
229
276
197
221
203
208
152
203
267
266
319
299
152
254
303
239
226
309
224
250
293
306
215
201
218
198
146
243
221
349
204
241
170
260
246
224
160
252
285
248
291
250
219
193
222
266
169
207
216
284
151
217
271
194
214
272
217
187
241
166
256
246
213
254
201
146
225
182
211
173
231
181
191
192
220
204
249
168
284
170
259
244
243
207
344
211
214
278
208
239
108
317
245
278
192
171
227
283
210
175
239
226
252
178
208
182
278
217
156
162
219
159
206
208
234
126
139
280
231
233
223
219
230
235
286
178
166
210
222
224
251
219
205
149
231
191
230
195
302
203
198
229
174
211
179
207
216
153
188
233
226
149
290
285
209
244
281
235
152
254
221
179
244
195
300
263
286
221
178
166
181
253
272
338
266
196
229
185
278
259
238
238
173
190
217
268
252
208
270
229
150
279
272
247
260
332
238
290
149
178
168
208
228
220
144
188
219
142
288
273
186
260
237
207
114
221
231
211
114
268
221
264
194
232
126
298
268
179
216
265
266
211
194
224
173
234
207
220
279
106
212
303
238
265
114
208
214
242
201
160
262
158
243
258
280
163
240
245
264
191
282
241
156
285
193
203
204
189
153
214
194
281
244
221
256
156
253
199
217
114
237
297
220
222
204
199
169
244
252
274
154
183
225
192
260
178
266
173
306
224
156
327
213
285
183
191
259
183
278
256
178
202
181
225
270
220
175
150
262
213
221
149
235
114
217
152
129
183
265
311
240
268
294
221
245
151
240
228
258
251
225
234
227
213
262
227
160
244
217
191
168
179
233
166
239
207
279
256
180
240
183
263
299
232
252
209
245
268
234
225
261
295
208
284
251
292
185
251
221
231
220
303
332
203
269
288
219
235
193
218
303
200
231
306
236
295
230
149
247
167
241
169
244
246
199
227
262
264
258
156
239
284
262
197
239
225
254
191
234
170
239
243
251
222
174
129
255
216
199
203
265
210
232
186
254
261
204
148
161
224
232
309
230
174
163
299
243
229
230
235
176
175
239
130
190
211
242
269
255
156
259
277
213
189
225
116
170
208
209
194
200
229
221
303
296
280
233
234
177
260
191
174
244
274
245
214
239
256
195
186
244
226
200
221
189
225
210
209
200
236
281
256
225
139
359
210
269
255
284
245
175
204
226
213
249
204
156
254
239
202
201
253
200
243
249
218
253
212
200
205
255
170
192
221
176
192
250
312
237
169
306
233
250
247
260
272
226
217
160
208
189
234
192
210
192
225
230
224
176
189
220
190
251
340
218
237
180
161
275
284
230
215
255
225
214
220
207
251
236
317
215
233
219
202
168
258
290
265
253
338
213
172
189
242
226
152
255
241
200
247
266
194
211
228
263
174
199
232
214
206
314
247
162
278
199
265
175
186
222
240
245
165
225
266
192
195
175
183
224
177
190
273
240
215
216
236
164
247
219
206
178
178
194
191
174
192
181
221
249
216
192
163
222
114
222
238
250
200
196
277
207
244
238
225
197
299
247
108
200
164
245
217
234
261
191
165
272
205
202
233
246
216
176
178
258
160
167
268
225
208
201
200
170
139
273
185
169
333
176
251
235
208
198
170
209
265
285
230
144
279
162
288
217
251
290
259
173
246
263
219
317
238
258
320
266
114
106
240
106
237
212
281
228
239
231
227
316
202
222
295
243
114
195
248
262
192
192
291
264
266
265
165
217
200
226
199
235
195
169
204
176
160
238
126
214
248
222
283
250
170
236
234
228
233
167
288
217
166
274
272
163
250
295
185
295
220
296
288
229
222
331
235
286
212
191
217
204
230
233
283
296
233
191
192
241
213
255
258
227
228
231
151
207
247
192
198
257
185
197
246
215
169
158
196
183
186
221
272
273
239
250
250
241
247
129
169
270
292
236
257
160
216
178
243
213
156
311
116
234
288
175
339
292
202
245
243
184
139
276
262
230
276
129
197
269
257
175
287
277
218
233
300
140
284
241
211
218
257
182
225
302
218
183
213
227
242
170
238
213
229
174
114
241
238
114
277
252
264
215
154
201
170
245
276
196
244
271
228
191
207
194
299
193
229
230
282
175
303
270
374
265
189
114
192
282
180
231
206
114
170
157
248
305
211
192
238
108
221
178
247
262
231
231
312
238
200
198
186
114
221
274
258
246
235
273
248
236
212
248
198
159
247
202
232
220
298
234
249
204
201
321
164
241
240
228
182
196
320
214
217
278
220
247
258
169
211
181
185
260
176
253
158
196
216
283
217
213
160
189
185
167
253
160
249
191
214
291
235
235
193
194
227
234
256
184
183
286
180
283
176
199
242
195
366
170
176
210
246
168
166
245
190
292
265
265
310
200
202
221
204
238
222
297
229
234
233
253
148
214
228
206
234
219
162
226
256
170
133
173
221
256
180
330
219
293
297
151
174
239
238
247
194
248
157
239
212
227
258
256
169
177
207
200
285
166
149
241
170
229
240
270
244
214
310
169
207
284
170
235
188
260
170
261
230
203
263
225
270
220
151
147
201
269
134
218
257
273
187
238
261
209
225
261
168
187
263
267
251
237
161
114
259
208
190
177
196
169
289
233
289
260
267
114
192
270
220
237
258
226
211
213
260
196
211
233
227
170
276
257
282
298
349
241
188
129
274
243
177
188
264
284
201
198
259
203
189
227
212
161
180
282
176
313
256
201
126
174
170
258
303
161
259
302
222
155
219
222
275
200
218
371
265
193
144
242
238
151
156
194
244
256
330
198
325
206
220
191
193
166
234
304
221
230
214
206
236
204
247
151
177
339
161
231
201
249
157
196
261
273
228
173
314
258
301
158
198
213
164
206
196
231
303
182
230
258
265
234
230
230
205
196
322
198
262
197
308
326
187
230
254
258
240
224
214
271
191
194
238
211
251
215
233
266
168
240
215
248
221
293
231
244
325
269
201
248
190
114
180
193
261
267
214
181
233
213
209
177
264
243
248
233
323
227
258
186
242
236
224
246
207
228
272
156
282
240
228
195
182
243
194
192
174
227
178
320
215
199
213
232
200
182
186
202
171
187
256
219
205
319
292
200
246
239
114
221
230
323
303
281
205
228
196
243
224
221
239
250
184
181
218
195
193
220
198
206
290
257
192
152
207
207
199
170
158
200
231
237
276
231
176
263
180
173
267
269
235
180
173
176
264
271
213
262
218
306
254
195
174
241
139
186
177
232
167
264
209
260
129
173
148
197
121
274
240
230
211
292
283
275
141
194
227
175
187
339
224
140
160
222
262
247
242
295
156
164
233
253
211
262
169
231
238
126
163
218
194
201
126
194
241
211
215
256
216
173
170
210
220
266
114
199
243
252
213
279
310
201
253
217
245
212
191
192
228
316
235
185
309
139
299
321
173
160
244
220
156
323
173
192
209
139
324
276
229
199
240
269
283
226
253
255
149
189
260
214
216
243
208
259
199
257
214
241
255
225
133
178
236
254
197
302
126
327
270
230
227
239
243
273
180
216
233
177
203
198
184
271
179
208
253
217
241
158
304
182
233
303
203
233
281
248
200
186
212
288
241
234
194
172
214
235
251
275
201
220
310
179
243
193
284
222
178
206
208
187
165
205
159
173
260
250
261
133
208
253
182
211
202
241
176
214
205
224
223
219
194
211
204
205
185
246
160
293
208
139
209
176
217
178
243
183
116
175
222
206
292
239
208
258
230
248
258
231
216
166
277
167
226
178
312
221
211
197
198
249
266
235
213
243
231
227
215
235
248
279
234
180
247
181
264
263
229
281
186
232
225
265
215
208
264
230
152
160
255
265
254
246
250
173
224
147
184
334
238
194
288
187
208
334
284
247
249
243
158
195
217
233
261
195
173
290
319
248
209
187
154
204
288
178
190
204
193
223
195
244
247
221
144
297
255
224
251
272
184
215
258
266
196
193
247
200
270
257
244
255
203
219
173
218
183
243
214
274
195
163
218
181
214
260
217
289
303
311
165
180
254
206
242
226
250
193
191
270
242
315
252
227
235
312
253
139
166
264
276
184
209
241
189
250
209
190
219
129
287
231
171
201
189
184
256
161
342
226
224
175
166
248
191
106
238
251
235
216
184
286
146
237
193
207
240
222
253
218
152
290
212
214
293
180
257
322
213
216
227
243
246
235
159
228
278
175
265
186
237
277
233
290
228
227
180
233
303
189
238
200
244
108
276
199
299
280
227
194
287
244
193
303
265
181
241
208
259
246
209
173
165
193
245
220
247
181
219
205
259
253
181
213
233
222
215
162
267
236
280
238
179
160
242
207
224
234
151
219
216
174
285
259
207
213
187
159
197
174
162
340
239
178
241
163
188
246
213
243
303
225
170
201
241
170
192
228
287
251
305
250
231
114
208
170
264
188
198
316
161
259
202
236
247
236
148
146
259
198
265
249
277
281
245
279
175
259
178
230
267
212
235
182
217
241
209
262
214
229
283
239
192
198
240
246
237
253
245
215
206
245
181
234
232
241
293
195
244
267
203
133
175
241
284
225
165
234
267
223
214
244
181
229
198
166
170
237
200
221
174
256
286
217
301
323
285
290
231
244
303
286
196
238
242
213
281
213
181
219
179
277
169
233
222
218
234
243
126
184
221
277
177
279
157
161
160
161
213
198
225
211
276
231
178
209
207
233
287
238
245
195
114
218
225
244
220
165
218
281
218
183
114
271
214
294
192
238
290
241
231
168
189
192
215
216
201
216
258
233
221
271
233
291
271
180
208
182
240
327
221
233
290
323
228
200
302
222
144
236
230
229
180
330
245
205
223
208
164
218
165
260
215
285
182
226
261
188
255
229
192
240
234
220
299
209
161
220
270
198
210
175
174
173
169
242
261
298
241
222
227
254
216
250
274
214
190
231
253
304
287
188
246
275
238
121
225
277
215
295
245
210
198
211
246
212
214
232
139
249
213
259
313
186
210
228
159
234
213
213
256
238
261
286
270
219
240
160
268
229
205
220
209
190
288
108
333
139
224
202
181
178
261
187
225
223
221
249
168
170
189
240
198
145
197
139
309
236
236
234
175
235
191
185
227
220
175
247
283
174
247
170
235
228
189
209
184
212
259
224
236
180
250
194
179
173
188
147
174
197
167
180
247
310
184
212
234
232
158
162
227
288
280
209
276
279
187
184
220
278
226
249
249
213
197
183
200
218
191
241
192
267
240
223
301
234
268
283
170
230
174
185
192
191
241
151
261
226
161
181
184
243
244
213
234
303
336
192
194
241
180
229
174
246
316
273
212
222
233
241
197
169
281
146
202
255
216
229
247
253
116
246
240
286
225
327
202
220
220
236
293
175
211
271
322
248
145
257
212
206
293
175
148
222
207
212
324
219
201
204
211
278
287
185
239
239
221
174
271
269
183
224
171
262
231
205
221
273
218
248
255
151
208
274
193
198
254
224
196
230
276
244
291
239
290
261
178
256
268
266
192
165
306
213
201
239
336
330
238
222
239
148
282
245
267
193
202
256
231
222
290
152
224
265
116
276
285
179
181
354
194
213
158
223
262
240
274
237
225
198
255
230
240
195
209
209
228
212
190
252
209
233
337
176
206
154
247
170
253
232
211
165
333
245
202
313
211
232
228
114
216
179
158
221
170
270
181
205
151
264
186
145
202
215
199
174
300
214
240
233
262
192
211
219
299
207
300
198
206
234
213
261
172
267
152
245
177
254
198
215
216
260
264
218
256
198
258
163
289
219
232
155
291
232
202
178
233
191
234
242
206
263
285
267
285
239
242
194
139
209
273
311
269
238
156
271
139
243
261
149
214
243
297
188
191
173
237
181
264
173
274
255
223
250
228
192
200
189
229
169
208
114
268
227
274
226
311
160
233
225
198
261
226
204
256
175
195
173
245
267
228
236
174
279
233
238
157
280
317
203
180
217
212
204
246
195
207
231
304
235
225
114
201
244
205
247
248
192
176
173
256
225
222
232
233
235
176
207
238
271
234
262
168
152
174
221
248
191
234
202
266
212
250
231
211
219
208
223
290
151
237
244
194
277
268
269
200
270
217
250
222
222
253
209
195
259
197
224
213
204
178
245
282
165
209
164
148
200
274
244
202
177
237
239
211
208
224
295
178
198
263
283
152
239
181
236
228
192
185
223
255
190
234
270
172
249
250
227
213
195
276
258
312
241
166
247
250
207
174
222
208
274
169
185
228
251
114
170
185
184
236
242
211
215
186
216
223
275
173
314
262
253
258
275
174
246
269
250
256
181
269
148
149
233
263
214
266
139
198
114
191
217
227
241
253
219
328
238
165
251
171
221
178
247
261
190
263
188
236
252
187
265
244
213
293
219
209
196
197
291
283
213
307
227
306
258
191
218
177
254
114
268
182
249
116
273
160
198
232
252
204
315
350
197
148
209
246
223
226
284
257
290
177
273
263
249
247
186
222
218
168
210
262
214
188
255
200
165
224
152
193
178
180
171
286
188
250
160
157
216
274
215
209
165
205
206
223
215
196
228
273
169
253
334
188
257
270
250
213
216
215
191
225
189
170
209
213
176
270
252
233
196
235
270
339
207
210
200
236
219
259
227
165
217
262
208
214
229
128
308
205
177
211
194
197
201
256
219
248
222
246
290
256
297
182
197
269
276
215
216
250
196
170
276
297
183
191
184
234
243
180
232
264
208
251
253
172
232
326
170
236
262
196
160
271
237
215
187
215
168
201
268
184
236
324
236
208
225
299
281
293
214
205
177
233
226
276
162
256
161
265
187
214
116
220
211
233
139
225
160
280
241
302
216
204
161
205
248
180
213
237
245
233
209
114
158
244
227
373
228
233
232
220
176
281
308
134
258
271
158
193
175
233
202
255
291
260
169
228
239
294
269
210
202
252
185
281
184
220
224
249
205
200
338
154
217
214
266
215
209
237
331
137
237
246
205
167
188
263
223
238
246
187
295
258
180
290
273
243
227
173
219
286
271
237
181
194
182
193
228
344
177
244
161
247
244
233
306
194
237
238
277
192
249
289
182
161
225
257
293
190
188
224
178
209
261
231
262
249
180
255
228
214
247
242
237
245
292
207
223
242
266
214
164
166
263
289
173
156
191
247
258
192
174
243
235
251
195
209
246
196
183
208
228
222
228
233
226
244
152
221
198
206
258
232
163
173
263
219
182
195
225
278
226
220
244
227
260
155
249
182
197
170
242
181
201
239
279
175
225
173
291
246
206
302
285
287
231
212
183
181
231
220
191
209
248
182
246
184
267
214
184
198
248
167
227
245
168
208
240
254
147
216
220
301
251
108
285
208
234
247
224
248
139
257
188
231
242
179
222
205
211
228
148
191
265
206
226
191
197
238
238
198
297
204
148
189
189
240
182
203
260
203
175
183
130
211
260
190
226
255
281
200
298
218
286
274
283
200
203
211
193
271
234
156
241
248
211
161
195
147
325
281
264
255
246
244
179
199
263
145
144
259
213
209
265
198
200
250
229
212
268
229
230
217
191
251
190
206
299
230
220
215
212
253
215
299
170
266
177
256
248
286
198
192
173
254
197
275
214
263
156
252
244
243
223
235
211
241
185
177
193
189
208
255
237
269
227
204
310
207
185
229
220
161
284
268
167
306
199
249
214
220
240
233
288
254
210
214
179
214
248
195
234
225
226
222
246
273
152
217
149
215
322
222
134
176
219
152
206
248
311
235
230
262
247
209
173
255
173
323
183
203
209
225
233
180
217
182
206
180
260
219
144
234
223
234
161
227
289
209
225
253
264
176
192
275
255
147
194
178
263
164
252
210
209
181
244
140
242
330
245
180
221
225
211
263
138
202
193
282
282
236
293
219
220
235
252
281
295
209
279
261
184
224
233
200
277
236
185
245
170
164
249
250
126
219
152
246
303
192
203
231
239
212
188
244
194
286
226
275
203
288
166
216
221
271
297
268
289
224
227
230
235
245
214
255
274
178
288
242
251
227
160
247
203
175
255
311
250
191
195
108
156
173
254
240
180
126
234
292
315
200
147
237
223
151
212
202
216
282
128
254
246
234
273
204
222
220
289
190
161
291
126
258
244
231
226
238
206
227
207
249
147
290
190
146
187
189
208
261
171
181
202
196
267
252
251
249
159
235
170
253
286
233
240
318
175
284
226
263
269
226
226
262
247
207
225
307
159
158
173
273
257
225
218
200
227
218
260
181
136
178
222
159
248
238
281
225
198
254
186
242
236
295
180
235
166
202
249
257
218
265
254
203
200
218
285
208
205
210
227
165
178
271
250
179
229
289
208
166
211
214
194
185
228
274
244
193
292
260
195
289
275
222
229
228
187
164
263
187
262
182
235
269
209
286
213
199
249
217
225
297
114
160
207
242
251
228
271
243
145
169
159
280
200
276
193
227
247
185
205
185
180
202
224
145
260
299
263
185
247
212
263
152
248
218
179
250
114
256
252
191
225
231
274
246
189
211
190
245
243
200
284
221
215
254
207
225
213
193
240
176
211
170
210
139
253
229
215
205
174
164
271
282
257
180
291
168
139
210
318
173
234
256
187
181
211
234
114
213
176
166
220
154
192
234
279
246
259
193
188
114
152
252
208
225
230
164
192
133
279
284
248
238
256
180
206
257
213
198
220
253
221
253
241
304
181
154
207
258
221
244
200
207
167
254
171
278
275
229
234
154
180
288
255
246
209
165
223
249
146
225
194
216
188
251
255
116
231
195
241
263
152
246
214
230
205
181
219
298
321
164
168
214
194
240
218
209
226
255
249
205
272
163
200
226
280
215
243
274
307
218
299
148
202
256
209
274
323
240
243
210
286
147
195
289
185
232
198
219
241
273
212
251
209
306
198
280
266
269
222
233
134
187
276
268
267
325
184
167
236
195
211
203
186
202
289
256
193
209
264
236
217
246
171
241
232
203
284
196
202
259
260
208
279
217
162
237
162
244
258
209
216
167
252
199
179
206
186
139
204
207
229
238
199
272
174
243
243
293
284
306
266
194
129
222
180
275
220
255
244
255
245
239
205
175
243
192
205
305
129
312
161
146
114
302
234
257
183
271
249
246
312
261
238
255
272
228
248
259
249
260
327
196
175
165
251
192
252
292
220
240
251
170
249
258
183
277
196
208
213
240
222
184
216
219
156
222
170
258
174
235
158
116
209
169
201
277
226
282
201
259
240
205
276
191
237
259
203
248
156
219
229
181
203
202
280
151
275
254
240
168
254
239
189
186
219
207
175
191
217
270
224
273
262
248
248
244
176
168
294
205
201
207
210
199
278
232
195
144
218
207
259
164
240
246
280
175
155
200
292
231
239
262
215
223
252
236
281
191
273
152
176
318
182
173
198
259
229
186
259
205
277
254
277
238
242
234
262
210
225
196
271
230
218
156
210
300
192
213
247
155
213
270
234
225
287
214
252
247
183
195
229
203
301
197
240
114
236
238
268
253
129
233
185
219
266
245
221
263
281
195
241
165
284
146
254
240
296
256
231
238
221
215
168
213
194
206
239
210
226
217
246
195
250
246
282
215
226
286
331
203
285
328
247
318
292
235
174
225
197
206
195
206
283
236
257
231
246
219
215
316
270
217
278
272
238
212
194
171
165
199
207
261
191
214
139
270
139
207
249
181
186
156
218
220
202
219
184
247
204
215
201
175
228
175
218
257
195
291
294
304
178
190
144
308
178
257
309
228
273
158
174
217
258
209
194
220
152
285
281
239
275
288
261
304
212
248
181
168
236
216
250
233
346
203
172
256
195
213
234
220
259
293
282
234
179
214
114
175
266
276
174
235
209
272
231
169
296
213
167
148
253
264
238
202
181
280
178
268
227
208
228
216
219
156
239
181
134
235
214
139
236
266
211
226
228
301
242
215
215
274
212
330
227
194
177
271
184
215
225
256
286
250
266
196
221
304
129
189
224
268
241
158
235
217
190
231
251
274
200
248
184
265
144
287
268
243
168
215
181
196
221
244
251
238
181
240
212
257
232
239
245
263
235
246
213
237
157
219
184
242
303
270
184
219
215
179
252
197
185
160
207
258
224
133
292
106
251
240
306
223
235
126
255
211
271
210
245
177
318
228
205
306
215
258
139
250
247
185
181
170
302
258
181
270
198
258
225
228
238
268
279
250
295
168
233
219
160
274
274
202
216
295
178
236
144
261
192
214
229
151
157
210
198
251
232
295
234
197
227
343
242
265
266
288
202
233
181
178
232
220
193
154
260
274
301
165
219
264
252
313
195
252
212
193
254
264
192
201
252
126
230
264
221
288
270
267
212
226
156
217
279
193
282
277
287
226
290
160
231
269
298
244
196
228
274
196
154
206
222
243
257
160
223
212
299
233
285
264
238
160
175
274
228
347
221
187
146
114
224
166
173
126
227
233
225
259
229
182
188
156
233
165
237
116
298
176
233
216
188
186
256
255
251
202
206
258
238
165
283
208
271
191
214
275
330
260
261
225
250
179
222
219
211
278
233
160
252
189
218
222
225
229
158
167
236
218
230
191
267
306
229
234
200
210
198
277
160
230
215
307
334
174
231
312
181
230
217
227
250
213
190
268
210
237
230
261
253
222
320
248
260
162
222
174
245
259
213
234
208
219
267
258
306
204
224
276
178
247
166
280
180
218
193
197
219
181
254
242
169
294
154
259
303
257
232
293
265
211
205
225
281
221
282
194
242
255
172
215
213
181
168
209
228
167
156
218
198
178
258
195
214
199
195
218
270
151
221
171
214
266
304
249
251
182
203
253
219
277
222
290
252
278
214
182
264
307
167
289
206
199
274
192
237
206
225
210
174
165
227
206
156
244
230
212
247
208
262
200
215
158
236
231
166
139
169
339
181
256
279
255
252
154
195
344
239
288
277
178
275
312
230
222
278
235
329
170
210
253
249
207
245
311
157
196
231
239
183
213
229
247
215
217
215
176
188
227
181
201
238
173
213
231
247
305
205
231
209
226
209
201
332
217
275
273
229
230
273
329
190
230
233
200
257
194
242
248
267
325
166
171
284
309
203
200
206
214
211
214
220
233
224
246
172
181
197
237
180
226
215
245
233
233
254
258
222
223
210
186
219
282
211
291
180
274
190
181
215
273
168
175
231
218
191
203
158
211
180
237
220
171
239
224
198
217
220
204
265
211
219
277
186
256
152
196
190
257
273
176
161
165
209
223
225
239
270
318
245
256
187
164
287
271
274
191
282
336
270
221
252
203
252
302
225
234
203
159
225
183
279
291
170
202
220
234
221
154
196
294
255
204
275
201
238
266
244
227
143
193
252
212
271
185
182
291
279
219
228
253
240
351
238
225
187
263
159
229
218
191
222
165
228
183
277
274
230
225
247
202
206
217
242
217
283
177
244
207
229
266
198
287
191
226
271
156
200
229
234
266
217
223
168
229
162
237
258
192
257
375
247
275
188
205
230
264
191
160
198
214
209
189
196
246
246
191
254
235
245
246
260
247
179
228
285
259
231
206
238
278
216
293
176
206
244
161
174
238
267
189
213
194
192
246
213
180
201
221
306
330
242
264
235
187
253
250
219
148
209
227
178
173
114
198
287
230
309
206
241
236
265
239
198
268
201
170
188
250
240
219
217
232
198
178
239
230
219
278
228
261
222
233
192
154
283
291
206
214
318
369
261
144
302
233
230
279
161
314
247
203
219
177
141
253
313
269
268
218
233
197
191
331
180
239
223
268
294
267
196
249
176
171
257
192
347
265
219
317
230
229
168
181
289
242
168
239
185
213
244
163
152
262
306
227
195
239
249
205
222
216
183
192
304
219
252
175
260
222
232
217
202
255
198
280
225
267
126
145
218
189
263
269
221
321
237
240
283
232
256
207
223
263
151
151
211
202
257
236
165
116
264
223
196
220
219
256
196
251
241
233
237
254
266
304
202
222
217
223
217
299
229
238
273
178
214
271
179
207
225
243
255
220
275
179
208
238
166
315
248
169
189
205
324
273
277
214
255
213
214
195
137
233
245
252
245
194
222
219
258
221
222
241
213
190
262
184
258
263
175
155
175
168
211
169
233
233
245
257
230
285
221
195
252
265
225
281
270
280
114
212
182
276
209
167
214
251
211
233
308
178
218
151
291
213
220
222
213
262
300
156
193
165
216
166
159
282
166
254
114
174
207
309
144
228
264
253
270
207
286
213
170
204
147
286
173
216
222
196
220
252
202
262
202
238
229
195
225
232
247
252
240
252
114
209
157
211
242
248
248
200
229
207
174
288
308
226
197
263
267
214
170
178
184
188
289
222
225
208
206
239
231
208
199
184
226
238
214
252
270
146
213
259
282
210
262
246
259
243
248
189
126
230
216
261
346
241
234
173
207
361
184
261
241
214
219
212
145
300
234
239
236
130
232
198
227
239
148
245
214
164
295
205
257
221
217
175
267
191
189
254
246
201
288
280
195
164
319
210
230
251
247
173
230
284
196
198
169
244
227
358
176
200
174
174
254
188
225
313
238
239
238
214
268
216
211
161
213
179
233
259
299
245
166
193
251
296
261
249
219
153
241
194
315
149
243
190
227
179
200
163
129
289
180
189
246
197
256
201
231
231
114
177
158
250
198
181
233
172
196
199
274
211
245
243
197
251
198
243
182
195
260
274
199
216
267
151
195
187
139
247
235
263
198
240
214
238
214
256
247
231
139
219
172
227
242
170
181
327
201
229
209
210
274
195
181
193
281
157
260
236
271
221
130
180
237
261
215
234
203
148
205
225
180
194
245
305
139
154
238
139
233
251
186
155
261
195
185
245
216
183
222
198
225
210
160
200
280
176
202
160
187
276
218
145
153
210
232
147
220
194
240
193
195
250
186
268
300
185
201
240
240
212
245
266
267
258
222
241
177
212
114
245
241
250
235
273
205
226
213
216
284
227
236
260
273
232
277
283
221
145
129
184
237
196
288
170
253
168
194
293
237
203
234
260
210
175
286
288
227
238
164
205
281
230
298
257
201
146
246
227
145
215
230
279
208
152
264
225
198
219
253
308
220
297
114
255
208
244
269
285
255
238
195
237
225
241
211
270
310
225
257
326
247
221
223
254
114
305
262
187
173
182
253
137
242
222
272
278
292
222
263
295
231
158
273
175
145
203
317
220
233
255
211
223
219
198
194
238
239
192
217
205
181
299
315
278
229
266
281
198
206
325
173
252
178
176
212
154
173
284
211
312
207
287
213
265
208
251
244
156
232
221
222
152
228
265
226
174
211
213
220
216
300
294
288
244
201
280
212
220
236
289
246
258
185
145
178
241
230
178
159
260
175
266
220
234
231
148
156
224
173
228
251
225
174
114
214
213
237
149
319
206
226
262
245
203
263
243
209
281
160
195
254
218
281
255
301
186
257
251
179
187
169
241
287
200
209
279
151
217
228
252
222
227
213
218
261
248
159
210
259
154
145
192
130
226
229
223
156
179
252
225
247
231
172
165
261
297
232
190
231
228
270
222
251
270
221
262
180
168
219
298
270
265
126
211
171
130
294
198
200
236
221
245
233
243
141
198
176
221
251
209
278
264
271
226
195
246
195
224
226
258
294
295
299
177
144
160
221
188
214
267
288
198
261
255
179
227
218
342
208
267
198
178
290
212
217
249
296
146
198
248
236
226
216
217
257
283
237
274
264
235
214
231
309
212
286
261
246
202
199
161
145
233
292
285
254
222
254
250
236
264
208
108
206
228
306
257
239
274
323
231
147
265
216
201
203
245
257
262
249
250
266
193
219
259
235
239
183
299
182
211
186
243
224
204
239
308
114
213
217
300
220
262
304
160
285
274
186
165
259
227
281
181
114
213
189
216
193
207
225
238
295
216
205
189
227
244
210
152
215
273
126
161
161
207
259
195
278
246
171
230
205
271
191
310
263
197
182
245
213
199
163
224
144
243
249
286
236
285
216
189
242
289
234
235
234
259
252
208
183
172
323
238
260
207
129
251
274
139
262
264
222
162
269
158
201
270
260
222
231
221
276
225
178
285
230
278
198
262
160
201
230
156
267
227
204
242
199
242
240
201
215
227
184
146
295
230
241
241
178
234
234
234
247
231
165
262
222
184
209
146
283
235
280
237
208
213
192
152
190
204
260
218
266
260
337
236
191
184
244
146
348
291
211
216
251
212
259
256
266
189
172
148
239
183
192
206
270
247
213
301
289
155
126
278
214
179
231
180
164
239
227
245
171
246
177
215
240
216
281
198
281
214
258
199
212
262
238
188
205
176
246
205
170
165
193
211
244
257
194
198
230
178
229
268
241
257
171
210
291
175
258
164
195
186
151
309
242
294
298
248
249
241
190
194
170
212
203
245
184
265
208
257
244
214
177
196
260
225
161
268
212
169
258
208
196
225
162
355
211
244
205
222
204
283
263
178
230
176
327
236
225
114
218
229
174
222
174
256
216
226
114
264
279
210
225
295
311
236
165
251
183
198
283
207
205
184
267
208
238
231
240
247
170
208
260
139
198
196
204
158
214
309
262
282
211
215
208
298
237
283
167
158
193
193
217
219
234
222
200
198
237
198
205
285
280
190
227
255
284
205
258
242
156
258
222
245
245
240
292
317
309
230
192
203
114
178
278
178
203
250
309
253
298
211
193
217
261
155
231
201
253
191
198
226
219
139
244
285
158
237
266
228
207
271
230
243
184
215
170
229
152
223
212
270
272
245
240
245
203
235
202
248
258
250
318
220
247
189
261
200
207
174
114
246
263
329
161
207
263
148
183
262
261
297
198
261
229
225
170
285
301
173
182
196
191
296
209
190
280
272
286
315
242
203
219
187
283
192
202
265
245
283
282
223
208
180
181
243
176
218
266
308
201
170
175
241
320
225
215
212
321
195
304
243
203
296
170
242
212
236
197
197
257
244
204
266
209
282
195
222
181
241
176
241
235
170
240
166
114
309
246
126
233
226
274
237
288
286
262
325
249
189
174
244
209
283
320
219
182
199
172
232
178
234
202
218
253
254
181
233
185
245
178
294
320
278
114
244
239
188
292
239
240
181
237
173
253
242
233
242
270
184
258
333
253
220
175
254
213
273
208
197
129
205
195
203
263
231
269
238
211
230
203
311
229
198
297
318
196
144
219
193
258
186
228
230
175
166
173
126
142
239
176
284
191
277
190
206
180
193
219
214
263
211
169
161
204
296
340
252
233
180
217
154
260
293
234
240
259
189
261
195
268
233
222
186
195
284
180
281
184
311
280
249
213
221
151
218
272
212
180
239
215
241
257
220
205
161
219
259
217
222
202
270
207
218
237
193
222
228
322
262
166
232
291
213
252
222
243
191
238
158
259
190
254
227
294
199
176
210
190
200
246
291
257
238
214
342
284
215
175
200
226
114
229
263
173
273
237
106
208
175
277
205
201
182
252
200
247
182
196
214
243
274
259
233
161
262
264
163
250
258
243
161
202
281
261
217
243
274
260
176
272
213
215
181
163
226
166
236
225
240
164
175
212
286
234
323
188
275
222
213
315
184
246
290
237
207
221
192
252
214
192
290
380
223
244
225
163
218
249
157
146
180
251
174
255
225
174
222
240
230
235
187
310
201
272
258
238
164
223
173
208
230
274
289
177
269
209
211
178
295
262
178
226
232
241
280
160
191
217
162
198
175
242
298
250
203
210
205
251
253
320
280
282
163
271
181
264
305
114
271
219
260
249
220
313
261
211
281
270
272
212
220
213
173
214
175
238
181
269
201
250
280
229
145
214
163
255
221
252
208
236
246
220
223
114
242
264
215
247
129
202
318
204
202
240
268
261
168
204
238
164
241
241
239
211
203
208
311
281
254
263
291
206
220
226
230
235
269
156
208
212
196
243
283
253
252
225
206
283
245
222
219
219
333
169
260
286
151
221
299
266
216
273
207
276
277
176
194
228
106
276
207
256
246
285
246
215
114
219
205
233
198
194
220
215
212
240
152
269
229
185
169
229
243
260
204
231
198
223
193
201
158
302
291
209
202
326
225
197
211
126
286
186
219
196
216
159
249
291
224
364
200
252
315
146
208
203
201
206
284
217
175
242
279
225
264
197
258
161
157
222
267
235
282
217
169
232
264
182
252
228
262
247
212
208
255
288
180
246
274
205
181
210
243
260
213
256
161
194
173
151
241
230
233
245
194
171
210
200
206
212
201
244
201
238
273
155
126
261
239
218
146
189
268
167
152
258
218
173
212
229
151
192
178
232
238
175
245
193
195
247
205
247
170
173
240
209
181
256
210
192
285
209
223
321
313
114
202
192
242
254
210
277
173
235
158
167
181
192
191
216
218
190
238
203
209
237
220
188
271
290
259
252
223
207
180
197
314
247
146
168
267
213
252
178
197
160
195
329
271
284
126
253
269
261
268
246
242
239
218
207
316
179
256
218
238
217
269
295
233
234
246
212
231
198
291
236
172
198
298
228
161
290
184
182
267
178
205
157
218
239
246
222
211
180
258
288
240
235
257
239
299
221
258
168
180
247
194
208
281
285
263
116
198
246
235
239
180
283
262
227
192
231
182
201
163
186
220
212
254
205
214
249
202
255
266
271
164
257
200
287
229
186
199
277
203
175
213
265
245
234
173
273
220
338
227
160
218
203
290
106
233
273
192
209
215
183
218
181
253
207
326
186
228
224
293
240
278
156
259
157
204
235
178
245
187
243
244
230
230
300
246
206
190
267
232
192
180
338
189
178
209
280
277
306
207
196
238
221
237
233
251
175
186
219
308
232
244
205
193
171
208
219
302
232
309
177
192
280
263
175
175
177
239
190
346
261
260
260
281
243
260
197
277
257
274
152
215
195
248
181
243
251
209
214
174
198
261
202
381
145
184
244
198
208
315
277
184
285
257
212
222
232
252
167
162
205
208
181
203
199
244
295
211
178
229
253
245
203
267
273
318
174
301
259
168
260
234
231
213
207
240
237
205
224
192
270
196
253
208
270
295
257
240
194
232
222
285
231
236
287
212
239
247
197
231
204
202
188
215
219
178
169
262
169
247
196
219
229
189
221
270
240
249
264
191
205
281
226
200
330
194
275
201
217
232
250
262
295
192
194
262
202
283
246
239
235
108
227
357
152
262
251
283
209
217
385
277
241
257
234
238
266
306
366
205
219
227
290
160
254
246
151
331
188
215
256
231
230
157
355
226
170
274
208
277
233
240
244
237
245
237
270
218
276
192
236
244
235
225
192
194
199
185
279
242
206
236
245
191
246
219
174
201
278
198
214
186
234
205
236
260
210
220
218
229
273
321
193
282
242
194
218
281
245
313
194
221
235
234
192
212
243
236
287
253
191
297
234
299
229
231
207
262
178
213
255
209
226
212
197
277
282
230
159
237
261
197
219
181
265
231
187
292
203
229
184
232
183
325
288
160
205
258
218
206
212
287
283
241
219
198
285
263
239
195
264
235
200
242
250
264
249
222
218
200
210
240
184
184
237
230
202
173
268
247
260
194
247
267
269
219
219
116
204
199
260
247
226
221
152
229
180
245
225
248
219
279
220
358
266
191
195
257
295
199
225
246
176
236
222
192
239
205
265
251
244
311
233
285
271
156
242
205
232
219
224
183
213
243
280
226
327
248
214
210
231
212
208
302
226
229
249
259
259
248
264
202
259
268
177
238
223
229
229
139
249
300
224
289
318
209
198
203
223
114
155
270
205
176
208
166
179
195
288
306
232
301
192
195
222
245
152
232
247
260
287
288
187
235
247
243
163
108
174
260
276
284
253
256
211
178
192
217
186
227
282
180
293
244
284
156
211
233
201
231
222
141
268
266
194
251
174
210
248
264
234
223
269
114
180
207
216
286
204
185
194
201
208
252
230
178
238
218
281
214
181
241
308
225
237
247
180
192
217
246
248
241
232
203
288
135
157
248
282
176
228
269
263
268
232
225
271
198
191
231
202
192
254
274
220
227
189
291
198
252
160
196
299
209
207
316
202
205
254
219
140
160
255
215
250
260
239
208
278
227
211
191
156
297
175
208
231
251
195
186
253
231
281
160
244
243
209
188
234
298
202
189
177
240
170
204
165
223
172
225
310
178
197
211
217
202
188
229
214
188
206
233
167
226
258
181
220
253
182
198
173
188
196
261
175
192
281
194
296
144
226
207
314
211
182
321
181
220
173
193
279
274
253
297
246
202
266
305
258
176
252
199
296
204
178
193
157
235
281
170
258
233
233
276
170
335
176
185
258
204
188
266
244
114
178
227
261
191
277
245
212
168
214
178
174
181
245
147
247
191
258
147
265
152
269
114
180
194
192
262
222
194
247
114
235
202
288
232
230
170
196
204
206
244
253
175
186
114
240
211
220
190
232
246
173
212
203
248
187
198
226
247
204
232
252
152
173
277
185
180
235
170
280
180
148
207
168
171
214
205
328
280
198
129
258
207
192
326
213
270
191
282
237
247
114
331
177
269
250
208
145
262
338
181
183
238
270
305
228
237
222
204
286
237
163
179
181
157
238
277
209
198
192
225
242
328
220
235
216
227
122
219
151
243
219
258
208
311
232
236
253
160
210
192
217
293
180
262
191
269
241
211
170
253
206
199
266
159
160
181
185
241
267
322
191
209
262
236
178
349
250
214
190
246
265
291
307
246
217
197
192
208
196
258
187
222
239
218
209
203
263
245
247
206
189
189
162
240
254
239
313
185
126
255
257
222
187
179
314
294
239
263
217
228
190
258
292
280
233
256
172
231
186
254
192
257
371
280
204
299
255
229
251
205
219
161
299
210
239
249
216
222
194
276
207
276
207
180
192
234
255
252
319
238
241
211
227
237
324
219
269
230
306
170
179
196
188
222
242
268
180
239
223
253
229
222
170
213
217
190
149
151
189
244
184
171
220
281
168
231
287
191
157
217
260
192
204
249
170
187
178
305
245
267
238
169
178
206
247
242
230
271
291
178
193
291
284
254
197
196
192
224
181
224
231
278
170
247
202
176
235
198
239
222
162
296
316
236
271
248
252
254
171
197
291
304
182
213
246
163
235
195
147
238
202
211
258
203
232
189
201
208
259
209
227
288
247
196
227
320
297
149
204
178
256
245
238
223
156
129
279
209
240
246
193
193
200
203
270
234
272
223
209
292
288
156
178
265
271
223
238
299
216
230
185
230
249
190
201
315
231
205
253
267
252
232
257
258
356
232
265
296
178
222
151
248
211
259
209
249
170
253
200
223
176
163
259
197
185
246
225
187
244
251
198
192
325
292
209
201
173
225
195
356
264
215
139
260
243
175
228
190
248
247
195
216
240
255
235
262
235
273
325
306
262
193
198
298
247
208
279
173
234
178
219
203
227
196
201
240
248
224
242
181
179
287
140
175
208
223
210
234
270
290
275
171
168
258
211
239
280
290
225
214
256
197
221
277
184
247
268
198
235
173
233
255
198
281
306
298
170
159
182
252
295
258
172
251
157
215
265
284
161
195
284
214
265
201
225
181
212
219
187
254
235
295
265
260
273
129
240
152
307
139
214
289
204
253
268
230
144
318
272
297
158
229
238
152
305
160
279
198
177
218
245
116
214
259
297
247
262
234
250
165
160
258
208
227
265
206
276
210
262
234
203
248
201
258
258
215
249
203
204
207
236
179
202
264
206
213
114
230
321
258
214
213
174
270
235
225
184
272
228
309
278
218
262
202
214
225
308
154
249
214
246
221
200
271
316
215
237
210
227
304
155
233
246
253
222
184
194
218
232
179
272
114
181
253
284
185
219
240
217
153
194
279
282
251
197
334
231
178
221
262
210
271
230
227
180
229
180
295
212
229
199
227
323
180
239
329
188
343
165
199
295
215
283
254
240
240
229
324
186
145
178
194
253
256
192
281
165
197
211
139
239
259
196
274
209
238
269
147
255
311
224
186
226
263
308
254
274
195
204
277
241
298
258
272
247
214
298
227
219
222
139
217
240
197
256
199
322
208
264
290
238
182
197
289
227
265
162
235
296
179
224
245
181
201
139
226
205
173
243
282
152
213
227
250
203
187
205
212
194
195
325
259
239
221
200
265
224
299
247
260
193
240
280
214
257
238
218
278
254
158
223
170
207
293
232
161
185
260
212
173
212
287
195
254
175
198
215
219
181
211
282
243
208
214
250
191
198
199
198
289
270
176
197
184
151
265
205
197
263
342
221
207
288
240
232
206
277
230
259
205
243
170
249
230
217
201
195
231
152
254
189
267
209
225
245
279
199
224
198
212
218
178
213
188
256
198
194
178
203
278
257
192
196
272
230
258
173
220
200
220
156
247
247
181
214
245
222
229
200
234
198
208
178
269
221
249
252
244
181
233
160
227
222
240
237
254
207
121
166
106
147
187
311
244
248
189
228
220
259
250
289
218
219
114
273
228
260
152
291
228
171
210
203
135
296
205
173
168
202
231
231
234
283
302
183
228
265
229
129
274
168
229
204
243
210
175
282
194
165
256
358
192
273
232
237
173
245
253
206
224
228
194
330
273
231
233
249
255
242
254
294
198
174
290
178
224
215
240
201
180
217
259
126
211
205
219
337
243
247
233
210
154
205
186
240
201
184
253
264
175
283
147
269
166
173
230
271
307
221
187
192
206
192
238
229
265
239
190
260
181
236
241
242
156
252
242
174
242
203
192
300
277
163
155
233
213
176
310
207
130
325
198
225
276
206
238
189
221
211
215
126
293
260
133
209
255
209
229
185
228
114
258
237
175
241
225
277
178
219
165
282
198
291
285
175
217
265
189
197
306
213
213
212
216
221
240
173
249
198
226
311
252
296
158
227
200
250
170
176
274
225
239
194
274
148
335
232
263
204
185
197
207
196
262
246
229
180
247
211
195
114
175
215
225
190
263
233
233
253
212
164
201
221
235
167
223
207
181
166
158
229
234
141
203
198
234
240
217
252
251
306
187
201
242
179
242
316
151
108
264
158
180
251
270
180
254
241
262
256
300
116
228
171
233
283
174
268
202
205
238
208
302
290
282
239
280
247
275
179
230
232
160
273
195
184
303
156
244
236
293
191
186
201
195
177
249
190
204
210
175
204
154
208
225
219
173
199
198
170
232
287
262
200
274
158
178
298
160
248
194
208
271
139
168
232
168
228
256
204
234
192
274
234
221
241
303
224
152
170
191
247
253
169
277
173
264
114
170
284
284
259
258
219
256
145
238
162
255
192
139
149
267
265
222
200
298
154
247
236
236
158
228
235
175
256
152
179
144
166
234
186
271
228
241
204
206
155
194
222
289
182
220
188
173
237
226
220
224
251
230
238
276
294
275
254
231
160
237
278
192
209
217
186
196
200
116
208
278
226
249
195
191
250
257
195
210
173
248
220
201
250
166
220
275
158
266
240
231
183
240
293
182
260
214
183
240
195
156
231
206
160
204
202
187
226
209
251
165
220
218
128
232
139
198
219
361
195
257
173
176
244
178
194
227
213
178
178
178
232
263
206
199
216
197
213
208
182
276
324
146
228
185
210
232
252
204
161
200
163
234
207
212
230
177
208
266
159
236
235
209
234
221
230
114
189
213
252
193
195
228
227
174
197
212
235
236
280
190
235
216
214
266
139
212
231
211
227
234
268
195
297
238
225
232
149
250
262
194
183
247
295
218
170
205
269
249
137
178
299
211
246
174
214
229
145
216
262
282
239
152
239
214
170
344
252
114
266
196
271
220
211
164
205
170
210
283
195
238
245
268
292
193
237
220
264
226
247
259
248
227
225
318
266
221
151
216
153
253
222
256
249
266
275
209
346
257
258
281
213
265
262
294
228
224
208
200
222
193
220
179
250
261
170
308
152
263
211
248
282
252
297
186
291
194
288
227
184
255
158
296
161
268
233
114
253
239
235
230
226
213
257
220
195
270
164
225
270
200
259
219
242
210
214
207
252
188
179
129
252
223
229
126
204
248
220
258
251
207
229
198
270
225
269
196
270
173
220
158
193
276
239
228
266
194
224
196
279
288
286
206
166
179
173
192
233
215
114
276
198
174
289
251
244
242
299
217
212
184
229
295
275
172
185
214
237
174
186
204
210
195
256
214
257
230
201
203
243
234
162
288
181
216
148
271
234
242
268
282
255
218
195
241
180
193
154
146
289
344
182
128
294
198
188
231
173
205
170
184
192
167
298
160
252
197
327
224
180
148
173
186
195
207
236
207
160
203
217
161
160
259
214
228
240
254
289
252
295
371
228
278
247
215
164
156
248
152
207
214
327
236
232
276
189
160
226
270
191
262
210
213
186
271
204
194
170
241
215
178
219
217
230
253
156
254
194
245
230
175
250
269
216
356
247
219
288
170
217
195
230
239
213
232
224
177
228
242
246
285
233
233
196
219
294
199
222
298
238
139
246
202
173
170
273
139
209
256
227
224
247
234
226
209
218
195
233
294
300
203
177
218
180
248
256
212
235
260
213
223
178
242
177
133
346
234
231
261
209
191
169
233
234
205
181
201
267
198
114
170
198
175
176
258
259
201
215
287
179
219
280
254
196
283
180
192
234
178
216
309
249
209
304
168
211
254
213
219
240
308
178
135
263
183
294
263
196
215
239
243
309
234
157
247
233
222
287
250
235
114
205
239
199
219
183
226
206
259
193
299
172
149
228
261
114
206
247
258
175
260
165
270
318
173
237
197
151
221
186
246
169
199
252
235
199
156
214
204
292
272
175
250
192
173
192
297
133
212
297
212
217
226
245
222
301
235
269
282
229
254
247
247
250
282
126
126
184
192
240
195
312
230
251
213
205
237
243
175
289
263
307
182
239
325
168
160
230
212
258
314
304
253
286
200
178
189
291
260
229
197
306
185
270
206
238
222
173
272
228
257
166
168
223
245
219
220
186
249
217
183
227
192
217
286
197
280
201
173
309
240
173
246
187
277
206
231
178
244
224
237
234
222
306
190
246
211
248
308
174
236
267
213
207
284
226
188
229
159
211
256
213
289
229
271
240
203
184
239
252
114
225
160
214
208
265
221
250
218
221
273
339
187
214
220
243
222
223
211
232
220
274
176
215
185
271
232
228
180
116
250
228
192
230
185
213
279
160
240
214
205
233
185
236
312
254
251
243
181
240
170
187
200
235
275
114
230
212
229
170
267
263
225
217
210
229
182
304
324
235
192
279
158
233
255
255
233
196
177
206
180
205
116
219
114
242
258
232
298
288
187
252
114
347
221
228
258
146
299
221
233
259
324
274
165
190
195
201
207
263
275
229
269
230
281
260
192
215
204
247
220
230
218
231
243
307
208
174
313
246
195
283
291
250
246
270
233
240
250
209
195
241
296
280
214
261
203
253
205
252
196
212
275
195
256
310
215
285
251
173
246
249
246
175
192
194
220
258
231
190
237
214
142
160
251
272
216
210
216
212
247
259
245
224
191
162
216
205
231
178
178
257
179
169
252
257
180
269
217
206
191
121
129
296
205
269
215
252
251
180
226
161
232
214
291
168
233
181
229
217
144
180
253
267
217
187
296
226
203
162
184
152
193
198
247
212
260
206
209
253
210
160
238
252
168
216
193
154
129
207
231
183
182
209
234
175
220
236
193
197
266
200
234
252
236
206
168
250
233
248
358
259
201
228
298
218
237
221
201
260
199
187
195
279
196
197
218
220
222
175
232
192
318
160
205
181
159
209
198
192
278
149
176
223
289
285
253
215
209
220
213
222
144
169
214
247
192
190
244
237
224
235
179
160
181
222
271
243
305
239
230
308
187
206
286
271
116
223
254
283
208
174
156
221
315
205
217
179
200
220
195
262
233
258
226
240
266
242
190
227
329
266
326
276
220
174
192
251
208
253
192
193
175
221
199
290
198
202
179
251
296
253
236
218
293
202
242
298
235
231
196
224
196
154
219
248
248
218
223
331
298
231
242
195
259
224
292
170
290
291
284
164
170
243
188
247
233
235
237
241
187
299
225
313
202
218
170
258
227
202
184
262
194
190
198
165
177
192
189
274
224
178
214
292
215
189
149
209
209
156
205
204
263
228
296
170
273
292
239
219
307
205
220
206
180
243
199
222
225
265
267
194
286
184
177
258
230
258
323
170
192
253
231
218
259
263
232
181
233
265
189
269
292
204
230
274
284
306
163
240
236
272
173
197
248
114
280
224
149
238
169
196
220
247
159
279
158
308
174
271
226
221
162
274
181
114
268
218
239
222
190
304
287
175
208
192
221
265
280
228
333
257
203
139
276
185
237
222
175
207
219
241
322
316
266
160
271
201
214
233
269
346
114
258
204
262
225
239
180
233
223
205
301
233
241
232
220
243
240
251
269
188
300
251
222
283
211
207
196
252
236
333
259
245
229
182
215
225
167
235
157
237
235
231
194
237
233
287
219
227
205
284
219
268
121
148
258
303
248
216
170
154
273
299
252
193
263
293
219
160
208
277
194
165
278
179
196
193
214
260
228
189
243
238
241
203
262
243
205
241
283
282
263
248
214
271
181
157
240
367
273
260
186
274
249
283
201
264
197
262
264
248
265
287
168
257
297
218
275
179
188
285
195
227
203
259
251
256
156
201
251
204
328
212
308
359
194
185
229
242
278
209
261
146
169
205
172
192
175
220
306
192
272
227
248
157
254
225
307
189
223
208
158
190
310
177
280
197
217
175
157
257
245
302
202
299
245
240
226
231
196
196
214
171
265
225
218
180
229
233
194
197
260
252
173
194
234
238
268
211
211
266
205
199
287
226
256
208
187
179
186
318
247
205
301
186
215
154
221
209
196
225
256
170
304
234
262
200
202
230
204
205
213
146
260
243
225
227
221
211
230
221
307
256
144
301
201
192
223
243
208
176
226
275
323
249
218
252
265
259
202
247
206
222
259
202
289
175
200
327
139
222
162
254
167
266
196
260
232
308
246
210
217
235
249
194
324
278
271
260
241
187
194
225
160
298
277
205
227
171
246
267
195
297
224
114
245
326
175
214
221
200
327
213
166
212
216
225
192
196
278
283
321
259
184
179
201
294
205
186
254
214
182
214
250
191
199
205
205
240
311
318
220
239
264
250
225
147
158
252
283
221
342
258
280
266
231
264
215
230
288
257
175
244
238
226
233
229
288
200
218
236
160
254
176
212
223
211
167
200
232
263
285
192
261
208
166
185
273
256
242
184
234
252
178
296
162
227
160
229
253
339
276
302
169
198
191
211
248
209
276
193
310
267
252
195
258
233
287
126
162
184
191
172
234
251
194
193
277
255
158
243
290
231
198
332
240
228
194
243
204
234
187
243
277
114
215
261
226
237
270
252
236
208
214
234
247
181
277
164
192
267
251
280
247
225
180
209
214
214
167
265
179
272
242
239
240
247
286
212
265
354
154
226
267
200
247
264
254
288
214
235
114
252
227
287
256
235
221
329
202
201
181
392
182
218
234
243
252
191
230
216
220
228
170
244
260
173
261
282
253
114
145
221
169
197
246
219
198
223
279
235
248
223
186
248
228
189
251
238
193
252
260
237
206
205
305
194
196
235
232
189
228
251
288
211
231
229
249
232
204
245
222
210
238
203
284
160
250
149
186
235
175
200
231
152
285
200
214
236
268
228
252
175
238
244
160
242
185
168
260
239
280
246
190
217
254
205
114
275
174
318
170
143
294
184
257
247
234
224
174
189
304
234
194
231
270
241
151
238
303
164
251
173
169
244
195
220
204
211
152
266
194
256
241
200
149
215
161
242
223
232
261
239
241
223
217
314
253
249
238
237
311
242
179
256
190
231
187
215
191
202
246
216
213
240
130
305
205
174
296
239
265
174
301
274
190
202
279
295
206
302
244
208
300
203
243
160
270
200
242
242
240
272
304
170
211
245
184
245
198
289
224
255
225
265
225
192
305
247
253
206
212
314
219
239
166
211
290
187
184
223
264
196
259
192
164
181
259
238
203
175
259
192
184
217
160
270
219
289
229
173
225
236
237
195
181
279
175
361
252
176
301
253
209
230
270
203
170
156
255
297
177
287
220
199
280
186
173
149
192
247
296
243
258
212
211
216
195
149
195
185
233
268
299
299
276
231
184
205
252
239
163
161
203
263
189
148
233
229
270
277
189
241
272
253
296
293
174
206
260
218
218
129
160
174
231
210
222
182
287
151
244
209
253
216
271
158
242
243
164
114
233
239
249
255
223
254
205
174
214
228
199
156
245
180
225
195
301
292
189
203
219
223
201
232
211
162
213
170
212
226
189
221
275
170
211
248
261
180
266
334
165
170
270
160
161
279
234
155
207
270
233
205
217
258
244
184
116
149
274
252
200
236
170
302
262
195
203
252
146
177
231
233
219
222
177
174
219
244
264
238
278
185
243
231
201
213
114
173
221
367
223
176
217
265
228
114
269
223
176
263
197
226
239
151
212
248
223
197
261
177
258
199
257
197
280
285
126
271
214
191
174
195
208
139
220
257
205
248
221
266
197
265
192
330
144
219
319
196
253
278
299
200
253
242
209
248
193
209
236
223
218
231
234
193
280
228
201
323
252
199
182
174
202
165
214
216
247
184
266
220
264
226
208
175
264
275
249
221
233
215
242
200
291
217
249
167
265
114
251
259
198
273
212
301
211
325
188
160
279
250
318
186
176
270
257
217
184
195
205
241
220
219
218
241
193
225
258
206
181
220
256
204
178
179
238
270
285
233
114
302
237
194
234
221
349
160
287
222
278
149
278
230
201
245
281
221
296
222
241
223
141
247
213
161
198
370
200
144
126
304
212
230
212
262
216
234
265
259
170
215
168
201
160
297
290
231
247
156
201
262
172
210
265
214
163
282
227
219
270
288
213
261
251
229
254
260
207
246
259
208
170
319
259
224
273
297
167
198
171
215
253
178
232
276
246
260
241
271
226
229
191
223
254
216
267
189
114
207
296
233
252
299
179
203
219
170
193
165
229
232
226
222
172
114
114
184
231
276
232
244
267
299
249
209
305
195
314
173
266
208
260
228
209
253
189
224
196
167
276
291
178
247
170
267
312
145
229
114
233
232
232
235
219
256
323
294
216
283
276
241
273
254
178
170
189
208
211
174
242
293
170
198
186
200
262
170
159
211
246
152
270
184
208
300
126
225
224
203
216
220
287
241
173
233
203
256
263
114
173
195
258
277
189
243
263
261
319
213
269
287
175
114
242
233
274
283
189
285
254
287
291
231
172
318
228
215
260
242
121
231
198
184
279
180
184
217
205
188
181
230
226
226
182
251
181
226
259
206
223
280
261
126
175
241
200
228
224
191
168
299
239
144
183
235
300
209
253
235
223
249
212
173
205
206
235
181
216
268
228
210
198
223
200
192
270
220
139
161
212
241
184
360
190
114
186
200
134
243
219
237
224
203
173
246
166
211
218
281
262
207
177
234
282
223
182
222
214
297
215
168
238
173
224
236
152
248
282
265
220
237
189
262
228
188
210
250
209
224
256
286
232
307
156
181
259
262
178
252
267
235
304
228
106
202
268
256
192
178
284
244
206
211
277
178
222
282
274
256
196
177
222
148
211
252
203
175
213
198
163
190
200
239
200
146
299
295
295
215
303
166
318
301
160
181
206
156
272
218
139
178
240
166
202
249
226
200
202
195
160
204
235
239
284
178
231
258
182
288
194
285
269
240
213
212
273
233
287
203
257
213
223
205
225
228
227
285
245
204
255
269
186
205
241
258
221
216
222
271
230
230
285
196
219
255
274
270
175
281
260
154
152
219
237
172
199
271
174
211
275
296
279
242
260
185
242
215
244
171
290
310
252
235
234
154
188
212
245
311
253
250
224
126
283
208
250
208
261
200
265
235
248
242
193
211
218
314
272
288
176
229
223
261
241
275
220
170
270
213
233
250
193
267
191
170
205
181
169
324
178
169
185
217
305
250
207
278
269
197
289
264
283
254
240
260
259
174
252
193
214
255
156
106
196
274
184
207
221
187
248
255
238
251
193
238
230
240
248
223
248
185
205
208
284
190
253
251
248
216
185
238
233
255
279
267
237
189
299
267
180
266
257
260
190
295
307
194
177
268
260
298
241
258
270
114
221
181
256
209
164
297
223
212
227
209
279
259
211
175
291
307
139
271
196
193
251
270
173
262
271
253
189
169
249
265
265
275
182
158
208
263
188
236
219
277
114
216
214
252
202
178
160
216
165
296
156
192
269
175
257
287
188
335
114
174
281
175
320
267
199
252
261
234
153
241
307
204
263
277
202
353
174
239
239
207
306
261
209
299
237
195
240
241
250
183
284
255
183
222
174
259
229
181
188
216
270
300
219
228
173
215
178
249
286
201
176
184
208
126
262
265
290
162
240
271
183
244
297
226
267
193
277
154
228
262
316
288
178
180
200
235
173
257
309
254
195
201
235
229
234
197
194
196
368
253
152
313
214
286
196
204
197
170
277
192
192
229
238
225
255
235
199
206
213
268
218
234
139
269
202
166
294
207
211
211
181
206
255
198
235
121
256
216
240
176
207
209
315
221
258
275
241
212
206
314
244
213
170
192
171
180
255
221
302
235
133
295
233
221
205
265
214
204
211
189
298
195
171
156
161
188
199
256
202
195
211
248
247
176
268
201
186
294
205
353
216
246
252
219
189
252
185
170
261
192
179
217
277
258
139
215
323
209
194
167
178
181
290
196
194
202
260
259
235
253
280
173
185
243
257
192
201
263
238
288
262
235
221
226
191
169
156
182
206
186
239
214
180
200
181
179
203
174
139
321
316
284
170
139
258
215
218
275
263
238
167
273
199
222
181
160
156
226
178
215
204
175
222
219
213
224
162
218
246
226
239
227
324
189
196
256
156
284
252
194
186
181
244
233
179
273
233
154
138
235
240
166
256
173
199
178
203
139
213
163
202
217
262
234
253
160
254
168
247
178
141
253
209
245
247
213
354
220
215
213
238
152
194
247
271
240
213
176
139
247
178
200
175
215
295
208
180
196
254
268
175
153
228
217
189
325
268
258
285
180
205
234
154
222
234
263
203
247
316
251
267
191
274
214
212
271
287
175
201
180
147
204
230
250
190
168
288
157
236
212
215
266
283
242
260
267
199
213
248
257
256
245
267
229
231
174
341
266
307
161
187
250
199
114
174
230
264
146
169
241
199
213
220
227
203
207
194
250
239
217
159
186
248
243
274
231
201
209
244
241
268
183
205
275
299
181
227
296
223
190
199
175
220
194
221
220
174
170
322
198
274
231
171
324
291
242
191
280
213
152
243
195
247
197
229
214
240
256
158
208
275
193
203
206
216
275
170
191
253
224
229
247
247
219
190
247
269
223
210
287
224
227
211
146
296
173
261
247
219
194
175
303
296
187
154
186
209
170
226
249
198
251
164
232
311
193
151
213
203
298
158
175
273
223
207
184
248
218
213
203
250
225
178
130
218
220
327
206
239
190
157
154
208
145
219
294
174
114
270
266
238
231
194
278
312
286
175
256
244
326
214
179
197
224
219
232
216
213
192
277
225
267
197
184
220
163
152
189
176
315
207
212
285
180
210
280
239
170
222
178
240
210
217
241
232
240
147
312
181
291
275
253
114
288
180
247
168
247
192
188
275
156
169
139
280
233
246
229
254
198
209
176
259
228
186
234
278
247
203
164
145
145
160
237
263
199
263
214
223
156
237
139
284
199
216
261
215
193
282
235
265
255
238
335
114
263
193
315
151
170
146
276
168
154
256
217
235
216
207
156
229
179
272
177
201
221
170
238
214
181
175
156
256
309
176
204
205
106
180
181
254
308
206
253
200
210
133
217
223
220
145
170
156
231
261
250
203
224
237
196
277
189
184
289
195
227
231
197
212
114
264
248
233
238
190
249
264
247
222
244
178
209
198
219
226
227
171
235
114
126
242
201
114
179
191
281
198
266
261
228
179
191
152
256
236
254
205
254
162
217
217
250
206
229
196
237
189
195
198
206
160
250
260
278
213
238
173
209
301
169
214
325
232
186
233
256
214
285
233
252
298
229
199
257
217
308
218
218
214
231
198
225
292
152
209
185
235
239
139
205
114
236
201
230
244
278
188
305
185
176
188
163
215
316
185
306
214
272
356
219
260
312
267
279
232
228
250
183
200
185
219
247
217
192
213
234
176
171
210
175
215
212
235
215
281
254
208
268
241
194
165
196
178
249
210
164
194
235
252
203
228
188
180
194
213
144
249
292
232
271
296
163
215
174
203
249
219
257
265
158
215
271
154
197
232
218
252
249
266
197
217
190
183
170
234
192
193
239
200
246
204
297
221
254
290
200
250
200
191
222
278
186
221
222
191
204
181
227
244
199
223
166
164
251
177
285
184
211
228
243
261
194
203
164
257
270
202
179
192
198
195
321
179
194
190
262
182
219
229
212
262
247
159
225
231
149
161
269
265
199
174
189
210
207
237
229
217
198
249
260
252
247
160
236
279
244
265
208
138
261
237
176
202
215
208
168
207
291
152
218
267
237
168
216
257
179
222
185
264
207
255
279
215
323
245
157
154
219
273
214
151
178
246
237
254
213
221
317
217
228
108
302
200
161
169
240
247
282
246
249
236
260
267
245
233
230
202
178
291
276
232
186
270
243
304
198
245
204
195
165
253
270
218
289
245
261
207
201
240
201
259
243
266
173
246
191
209
216
168
273
297
187
229
254
203
203
287
229
195
246
204
259
235
326
234
268
243
234
174
282
220
213
215
217
262
238
152
171
218
220
224
160
239
198
168
195
195
202
222
256
217
240
304
279
156
272
159
178
234
190
175
212
236
189
295
219
255
237
193
198
272
207
242
172
152
236
277
187
202
192
241
221
165
249
192
190
233
156
277
262
148
186
218
202
218
257
219
214
287
207
226
196
231
233
275
224
264
210
233
238
192
236
200
240
198
196
152
184
284
233
218
242
260
274
199
307
175
198
260
176
195
304
292
241
254
174
151
205
240
221
221
307
315
217
259
253
261
248
229
173
209
207
184
161
279
169
268
160
198
232
217
238
290
235
284
114
226
247
227
190
221
225
230
184
255
230
224
187
246
265
215
139
298
295
239
317
282
213
257
237
275
280
193
280
243
179
283
255
191
230
236
245
225
162
249
204
233
296
178
325
178
282
284
219
275
233
219
160
232
246
165
216
159
263
284
205
154
271
152
114
218
224
208
166
318
161
213
158
261
252
181
318
237
234
140
247
233
393
245
228
191
173
193
178
242
287
178
231
199
190
196
277
248
292
246
231
236
198
243
170
229
242
215
265
148
295
253
206
162
211
170
230
189
208
256
189
218
169
216
219
202
199
255
321
233
195
176
285
185
114
255
197
192
179
166
221
259
257
202
235
207
306
243
190
213
216
215
197
200
307
275
285
186
162
210
219
172
281
242
229
260
262
232
251
327
222
254
275
286
289
128
295
284
173
114
217
223
262
209
152
336
179
162
214
193
242
187
222
262
315
243
255
207
157
190
271
176
160
227
311
162
211
247
302
158
206
168
198
273
192
233
198
168
232
214
225
276
198
198
247
172
218
300
161
227
217
238
235
164
255
190
193
211
234
151
342
248
173
221
230
273
235
257
267
193
140
231
235
205
177
164
253
306
114
192
266
236
227
235
203
233
238
252
193
279
273
247
114
177
218
218
239
214
169
311
261
214
196
244
238
291
251
253
194
240
281
226
192
176
152
216
213
114
254
249
294
129
198
258
269
184
178
257
160
181
223
197
219
192
244
114
156
156
248
249
223
246
273
242
270
186
175
204
193
198
183
189
204
187
141
312
316
272
258
262
227
213
158
209
225
268
164
244
200
202
291
221
234
241
195
114
198
139
254
184
257
114
225
236
200
217
237
241
279
239
160
175
267
258
184
253
236
146
247
276
240
186
133
281
234
198
162
255
186
214
205
202
310
249
195
267
237
182
229
309
301
273
156
260
215
288
186
164
253
193
338
219
295
275
238
249
265
242
151
196
230
222
209
114
301
248
230
282
306
228
270
288
313
162
194
327
270
116
218
192
197
315
255
316
181
288
217
168
269
246
221
244
298
129
220
129
203
231
218
229
218
279
241
182
237
193
327
239
193
180
201
243
161
222
256
229
208
210
276
248
219
283
147
290
242
188
276
164
221
202
290
263
144
305
280
213
254
248
183
260
160
241
165
287
190
185
183
238
295
273
210
152
248
212
291
253
265
251
243
201
286
193
265
235
191
198
182
314
205
256
185
247
178
258
298
247
139
266
252
270
175
144
251
182
201
244
217
235
219
247
145
222
251
220
199
230
256
153
317
288
188
184
256
173
281
206
257
198
180
240
367
189
216
201
203
193
295
243
220
199
277
233
285
152
170
216
251
178
207
259
223
144
215
228
333
184
214
182
274
275
139
247
262
250
208
231
241
214
175
183
237
234
258
238
234
247
264
205
219
214
114
166
278
176
237
285
164
240
213
152
199
238
185
183
208
263
256
299
270
216
248
181
184
280
264
245
214
227
237
247
247
198
165
272
245
235
159
288
256
205
191
239
229
218
242
247
237
273
146
243
203
319
175
267
236
145
240
235
184
272
296
317
241
209
219
244
190
212
334
206
236
293
152
195
253
193
241
206
236
192
180
280
198
181
192
186
154
290
256
222
256
251
164
251
273
266
292
148
156
178
286
205
162
215
247
161
200
241
260
200
218
175
226
284
227
249
207
253
178
237
241
290
301
192
202
139
241
177
213
252
174
283
236
212
204
191
219
298
194
168
250
214
198
193
225
179
265
204
208
321
241
189
321
213
173
194
262
185
181
304
328
197
218
156
163
219
227
249
198
211
334
229
284
263
202
209
145
269
296
220
203
221
208
220
216
199
258
272
259
232
204
266
304
186
252
229
154
218
285
257
186
263
168
208
156
210
180
267
226
214
213
258
265
226
219
200
259
237
162
219
310
195
200
208
262
256
238
212
303
195
156
162
190
236
181
139
237
276
222
144
247
253
219
219
195
114
193
177
228
236
284
191
239
253
231
170
258
169
258
233
173
191
270
225
153
292
126
177
240
279
276
204
213
235
242
275
202
318
189
164
219
147
187
198
198
285
226
263
226
171
251
211
139
229
234
218
175
235
247
161
255
197
198
204
250
196
194
223
201
228
260
195
270
155
283
234
309
221
196
201
265
230
234
182
231
222
208
202
251
191
232
230
194
233
255
165
272
193
201
160
234
279
305
198
225
208
186
251
252
194
213
211
126
281
203
293
168
238
265
225
244
161
116
254
207
292
181
172
230
284
269
178
217
279
225
253
242
217
239
250
194
215
231
229
192
270
180
283
188
192
256
244
281
204
250
192
264
219
284
238
196
247
183
219
194
178
260
251
161
194
238
253
221
291
212
315
205
229
170
285
235
272
244
233
252
175
309
173
258
249
231
199
238
263
215
237
212
231
226
247
212
258
192
286
203
231
213
296
290
216
274
287
290
217
160
186
180
240
254
195
220
222
273
181
236
253
247
217
238
192
220
208
116
205
172
191
213
202
192
191
232
195
241
276
195
173
277
228
240
281
279
293
174
211
228
156
261
266
193
209
271
228
232
175
255
169
152
190
209
214
250
237
225
267
216
260
234
208
293
207
270
185
166
273
267
237
276
214
224
216
158
272
165
156
188
248
212
192
238
299
191
204
177
243
359
252
160
240
280
174
225
260
189
281
207
253
232
202
191
168
216
294
228
203
152
184
218
183
164
308
203
215
256
208
188
234
245
211
261
216
215
223
159
226
261
223
260
220
211
226
186
241
171
233
165
243
231
228
235
184
202
267
189
190
248
290
219
186
207
188
186
292
261
233
182
275
269
177
262
221
253
219
243
224
226
291
248
116
233
254
221
244
312
130
256
196
290
234
258
183
220
198
240
139
260
258
216
240
233
191
290
234
183
297
239
232
198
280
282
199
195
306
204
251
180
179
195
242
219
230
296
272
281
312
246
245
202
252
248
207
274
242
282
285
183
238
242
226
203
216
202
235
314
256
145
264
184
255
233
240
229
250
258
224
221
279
209
192
245
232
265
248
237
252
252
300
284
287
184
239
197
331
180
184
228
198
215
287
288
168
182
241
280
288
300
218
233
201
173
194
269
209
165
205
245
184
275
217
156
272
204
241
204
258
208
213
225
243
151
201
207
178
245
196
255
169
201
243
258
233
235
249
215
201
273
199
243
139
283
242
180
193
305
236
251
343
293
197
277
195
209
187
249
197
256
233
222
232
208
179
213
233
114
215
198
291
173
310
176
231
244
190
186
214
245
326
229
178
330
231
175
161
202
240
139
175
264
318
231
259
165
217
251
148
313
163
193
114
156
315
176
288
287
214
288
158
156
242
247
285
215
233
203
312
229
207
200
214
216
202
303
240
209
271
114
203
211
260
233
229
166
268
294
228
179
178
222
242
231
279
302
353
270
242
267
236
174
176
232
205
212
205
188
199
160
247
293
253
156
220
206
277
317
242
211
182
201
199
158
207
274
252
168
288
321
126
204
242
258
206
247
273
274
222
213
310
349
302
201
255
298
265
257
233
182
202
261
275
192
234
174
231
203
158
252
186
246
234
201
185
272
179
241
279
184
200
192
198
218
152
263
185
265
181
170
164
282
231
200
216
293
225
178
224
194
214
114
235
188
181
222
233
250
170
281
261
162
114
165
200
126
228
271
247
162
230
223
180
194
278
213
178
193
252
189
278
243
178
200
204
317
162
209
208
239
155
271
114
214
259
170
208
202
223
158
200
234
269
215
238
262
290
231
181
108
189
215
194
200
235
314
148
286
232
277
225
239
221
176
268
306
243
195
344
174
212
255
216
250
306
229
195
184
255
218
233
232
213
223
233
139
222
222
163
195
239
116
260
212
203
235
253
226
222
197
145
215
244
217
239
173
251
165
281
200
251
210
256
230
257
160
283
191
210
230
233
156
247
260
210
217
212
216
282
260
216
272
201
299
238
198
221
158
178
275
200
322
212
202
278
242
191
218
245
204
204
215
220
224
253
224
247
188
298
171
200
282
158
189
185
261
202
179
228
173
271
211
195
220
244
270
197
247
168
246
156
272
214
279
291
242
190
128
126
245
192
161
218
240
197
259
180
342
174
248
266
261
315
221
217
191
201
146
171
229
189
219
173
182
221
239
246
219
300
191
169
201
185
217
267
241
175
272
201
222
293
203
212
191
209
278
279
271
233
200
265
202
211
286
206
288
275
190
193
233
224
217
313
282
334
253
299
228
139
188
152
211
336
222
193
307
314
227
147
238
185
242
237
181
199
255
311
297
199
187
245
268
175
320
227
217
200
225
207
181
177
170
251
203
225
194
257
229
222
244
278
216
164
259
219
175
174
240
171
280
231
290
139
224
249
219
217
227
267
114
286
219
203
207
269
259
254
239
146
193
200
169
288
270
198
213
225
191
275
285
173
251
269
234
234
179
274
248
223
209
226
239
179
273
247
204
194
218
238
243
221
234
218
276
193
239
185
246
183
298
289
289
246
175
207
209
224
146
178
149
175
175
240
198
256
139
299
259
314
204
190
207
186
273
228
257
166
282
271
265
262
178
171
182
281
309
175
224
286
200
249
218
245
195
183
186
216
207
194
196
245
172
175
244
210
229
222
217
263
169
232
191
259
254
246
228
268
318
252
214
173
287
188
249
284
271
261
244
210
175
222
207
211
214
226
209
206
195
200
185
242
156
231
138
179
304
248
255
256
225
278
209
227
211
257
147
276
253
231
210
235
173
228
177
205
333
166
219
235
250
249
205
262
211
219
238
167
226
193
211
243
264
221
221
210
178
277
201
189
207
114
219
183
277
241
244
345
237
176
228
174
219
318
181
194
209
231
114
273
239
216
254
314
262
202
274
198
211
161
158
219
260
160
291
185
278
227
192
162
238
320
185
284
208
216
260
238
286
212
245
158
183
238
299
194
273
217
197
161
286
205
294
312
208
248
210
146
249
179
251
228
182
215
201
202
297
223
266
265
214
228
214
292
197
241
216
327
161
257
228
211
160
278
239
277
114
232
247
255
157
188
209
162
229
209
274
178
238
246
287
247
229
311
268
193
156
161
188
191
267
219
244
151
252
200
256
244
156
268
244
170
178
190
346
207
196
168
248
243
155
227
227
179
202
194
165
279
236
214
335
189
238
235
264
259
242
207
279
268
249
215
193
251
191
251
221
278
286
232
173
207
221
212
229
203
250
255
191
203
256
171
216
180
228
160
292
273
181
223
284
191
195
159
249
236
257
197
241
181
223
299
216
221
270
266
263
156
211
245
204
193
194
248
219
233
223
219
252
233
199
191
210
213
232
160
199
186
181
211
197
206
271
228
205
257
249
141
181
260
274
173
212
178
211
139
221
228
216
233
170
186
307
313
290
253
322
213
297
187
255
228
224
152
209
160
265
298
231
223
153
213
232
230
211
153
203
302
268
207
177
198
268
186
198
202
198
214
275
212
257
169
237
242
287
198
246
262
180
265
234
263
213
139
239
244
254
192
250
253
218
213
185
287
259
179
197
297
234
189
309
234
225
273
277
223
249
253
180
321
247
215
252
179
213
240
255
231
170
276
187
222
253
236
170
292
215
205
325
170
188
285
218
162
231
227
114
236
216
197
222
165
225
215
272
237
247
257
243
184
183
289
152
180
152
301
188
218
222
197
168
168
240
180
261
266
162
322
276
169
158
221
175
133
203
173
256
274
204
211
255
200
236
203
201
224
198
220
241
231
281
260
272
228
213
193
242
257
229
312
208
195
211
185
264
168
203
324
149
167
307
255
148
270
234
255
253
230
213
288
139
255
297
268
238
264
309
172
227
181
190
185
227
233
200
203
228
188
247
214
287
293
222
287
213
207
204
216
167
304
178
181
260
195
190
291
184
165
215
217
251
282
224
286
214
147
248
311
244
254
249
194
261
215
162
211
347
176
281
215
258
310
155
239
210
207
228
186
195
244
178
171
194
265
259
235
152
207
298
243
264
227
225
213
255
141
306
318
270
233
232
183
219
152
282
214
234
204
249
249
194
243
255
190
168
151
208
315
176
192
235
298
236
222
246
215
178
243
286
213
168
194
223
261
261
178
327
213
238
139
256
175
154
226
235
274
194
305
194
219
212
196
169
188
267
213
239
289
211
271
231
273
166
351
206
193
269
170
175
146
325
272
265
265
176
257
249
114
184
238
215
158
218
178
239
234
202
205
154
165
225
220
284
249
130
204
206
149
170
198
198
219
273
190
236
192
200
273
177
227
225
232
220
255
239
206
197
250
198
245
173
197
234
274
174
280
269
221
267
243
225
165
250
291
273
261
198
289
219
232
314
166
252
277
203
252
240
237
233
210
173
232
193
212
192
233
208
333
214
264
244
215
183
172
200
248
254
227
239
179
154
293
270
196
248
245
198
156
187
278
209
217
242
138
323
248
175
176
260
173
232
306
284
260
276
196
218
214
146
204
193
282
231
194
196
268
205
242
220
205
212
170
282
266
257
194
203
234
279
266
212
172
214
227
171
278
146
174
260
130
313
179
178
229
270
300
197
235
209
160
166
226
291
242
295
237
223
145
253
196
243
253
270
195
234
225
223
231
187
241
214
233
207
242
212
266
146
229
272
210
239
260
280
181
165
206
242
188
244
218
208
274
243
236
270
289
251
237
187
198
300
178
243
135
251
338
279
253
283
250
226
222
244
185
260
198
190
237
208
209
172
309
241
322
311
214
210
219
184
241
173
229
281
156
198
176
182
209
217
277
201
241
281
277
128
269
181
201
160
274
259
186
217
278
208
261
229
145
203
206
139
185
209
248
199
266
216
126
200
227
201
230
193
204
129
296
218
215
211
200
163
243
277
182
245
169
265
182
178
203
253
170
249
197
286
176
272
268
220
217
153
114
223
228
224
178
220
229
266
262
182
234
256
214
184
187
204
219
288
268
192
290
190
250
305
182
168
234
166
192
211
284
255
263
189
261
114
233
158
236
300
256
251
248
200
235
288
318
315
181
203
260
237
254
197
268
280
186
250
218
194
209
223
240
216
249
236
246
186
261
234
178
250
175
244
288
290
252
224
242
206
178
239
175
231
340
238
195
139
262
290
246
267
320
180
175
292
287
247
230
122
190
190
225
253
233
236
162
183
279
234
233
250
176
162
201
197
223
250
283
216
207
254
188
195
159
220
174
240
259
248
238
242
197
258
253
255
229
202
231
200
173
280
195
196
296
273
182
187
254
243
202
191
229
233
196
216
205
264
225
292
277
174
269
331
181
311
244
243
148
290
198
237
192
285
166
130
205
226
252
114
211
214
226
231
225
237
149
287
222
235
232
273
243
106
193
303
259
189
196
193
188
241
206
314
209
235
239
289
227
257
218
177
201
195
222
255
259
238
246
235
324
246
205
219
260
210
208
293
244
200
207
243
245
114
288
216
215
181
229
230
188
151
209
220
267
309
248
315
202
218
238
170
192
292
224
204
250
215
214
252
229
240
327
203
231
183
320
193
205
114
226
254
199
190
211
331
286
257
216
222
287
195
294
179
254
220
306
250
247
233
221
298
257
250
265
223
214
284
238
224
237
338
250
222
249
268
256
256
160
191
263
203
280
167
143
160
219
273
198
234
183
262
202
230
278
250
334
249
231
213
238
249
256
114
285
144
201
183
242
213
179
226
196
191
295
192
210
174
196
244
222
145
227
245
207
174
201
198
192
214
234
296
219
258
269
169
186
175
247
175
248
226
193
156
195
284
223
247
263
259
249
233
191
156
271
248
182
243
213
114
155
235
160
184
247
198
160
221
202
204
324
247
297
176
245
180
173
171
160
224
171
152
160
240
186
161
185
252
181
215
264
260
292
216
281
166
200
241
264
231
232
287
184
287
198
168
148
278
202
205
152
302
287
254
178
180
170
154
204
164
222
214
190
193
235
162
178
268
203
181
240
194
197
252
220
193
197
226
304
268
166
346
173
261
204
229
206
202
218
217
244
280
239
237
222
158
246
126
189
235
173
196
274
195
280
192
289
270
278
201
186
223
187
272
165
156
226
244
220
303
289
191
293
208
170
292
229
303
165
212
207
196
206
264
214
170
202
313
219
270
239
173
188
270
179
224
251
193
234
181
247
108
231
325
174
211
126
256
238
156
265
137
184
180
212
213
196
292
179
224
329
200
114
259
222
203
309
223
281
178
244
283
230
194
181
202
185
130
220
292
213
230
154
212
133
207
219
210
236
268
222
240
208
192
212
144
224
208
286
223
193
233
227
234
183
158
206
243
264
190
268
203
212
211
286
221
223
228
251
204
299
261
195
217
156
207
243
228
309
193
210
280
222
170
191
296
208
194
291
255
173
252
269
249
225
172
207
156
200
205
255
218
194
217
216
222
263
293
216
233
212
240
215
240
222
190
204
160
252
206
315
139
249
227
254
175
204
270
212
223
265
230
225
238
252
159
208
167
254
156
236
114
166
301
235
268
267
237
233
214
205
203
126
205
222
171
146
190
234
268
189
198
263
223
209
168
306
286
251
253
210
214
207
216
190
156
206
244
114
192
221
269
294
204
205
291
185
254
260
217
294
210
249
189
237
224
264
258
250
238
180
172
230
258
227
191
197
265
235
313
290
176
231
170
245
176
205
270
232
285
246
181
158
311
183
229
247
221
188
223
277
211
193
218
222
288
192
238
191
200
220
233
278
243
181
248
268
273
207
221
165
327
253
251
223
228
188
213
196
154
239
230
183
247
208
262
215
188
160
270
252
198
201
258
217
190
188
197
194
184
230
213
218
246
291
251
303
289
184
262
173
228
195
258
192
221
265
162
252
192
250
289
196
322
229
264
273
249
256
254
288
215
145
219
237
190
195
208
241
221
219
263
233
221
226
204
265
257
313
245
186
214
180
267
176
170
174
282
209
231
246
196
187
208
214
282
239
214
198
170
281
186
210
189
231
220
173
245
192
219
223
233
268
258
318
206
114
185
237
244
200
160
198
192
234
116
233
236
263
296
225
274
251
297
176
251
217
212
144
222
261
269
241
240
387
282
287
185
250
162
146
187
278
153
259
241
292
169
269
293
259
156
230
268
243
193
261
203
181
244
168
198
188
195
251
363
234
208
245
228
252
307
186
258
199
258
235
201
205
172
170
270
218
202
233
151
196
256
207
224
165
173
274
189
230
250
159
214
228
249
225
158
219
180
242
282
252
233
249
266
204
267
156
219
182
201
180
187
218
211
200
244
260
197
223
195
198
128
252
273
199
156
175
249
200
249
283
176
249
198
246
266
232
147
130
262
210
299
273
248
253
203
213
191
238
196
248
228
231
345
231
290
212
236
297
314
315
174
215
170
256
225
210
202
234
315
253
298
251
276
198
208
188
204
271
196
228
156
201
199
266
293
289
202
280
261
178
266
305
302
244
183
215
241
201
252
231
227
224
298
243
235
261
237
149
229
274
186
230
205
223
213
240
158
137
186
203
208
319
300
211
217
246
268
218
151
188
148
286
263
225
211
260
251
192
170
231
288
216
242
241
366
169
247
269
188
188
197
192
282
139
246
255
222
210
194
257
238
170
258
229
229
149
178
225
151
195
247
269
232
275
146
225
220
228
158
176
174
204
254
236
275
260
205
258
221
310
180
181
227
268
261
303
258
175
266
175
227
199
264
227
248
177
257
213
190
139
198
203
231
193
258
254
253
310
171
230
191
198
225
231
191
218
215
114
209
227
239
267
257
198
216
248
329
286
178
162
260
201
302
225
156
212
247
262
145
220
273
269
189
248
281
164
314
227
185
234
248
223
262
134
171
267
166
193
182
249
257
197
246
267
191
253
177
176
218
198
205
208
263
149
290
205
193
256
225
273
175
274
151
145
219
206
221
228
204
322
229
278
325
222
213
230
219
180
152
252
172
183
239
276
187
355
209
276
169
201
146
221
264
201
222
242
214
230
285
255
250
201
242
177
284
188
248
219
226
232
258
177
238
209
265
241
193
300
232
204
200
181
249
208
306
244
220
325
185
225
189
249
247
268
225
269
254
234
279
189
264
218
240
193
308
221
241
221
345
226
256
259
211
192
251
228
271
258
228
275
188
249
281
198
194
306
234
321
207
166
262
247
193
251
304
193
153
225
205
225
225
243
148
244
194
226
257
268
192
155
192
214
170
276
267
201
215
233
213
240
321
326
311
241
195
171
267
217
229
196
278
241
282
158
284
219
210
228
247
230
225
209
220
272
223
249
220
209
224
208
145
210
231
260
223
214
266
304
177
238
246
211
192
171
185
194
236
208
158
216
270
202
219
223
200
188
175
114
147
272
204
178
217
215
185
197
303
306
271
203
193
203
220
242
167
276
265
175
211
239
212
266
247
209
210
147
244
267
204
261
237
216
160
209
195
253
150
299
250
200
303
228
200
148
175
229
326
252
205
250
219
201
170
174
255
241
236
180
170
230
288
234
152
239
157
192
206
261
298
219
248
218
267
290
243
156
178
208
214
271
257
232
230
197
292
190
238
203
158
195
198
199
259
208
218
219
218
199
242
243
208
245
242
293
232
174
216
188
154
253
253
209
258
169
235
257
236
160
251
241
235
211
220
258
217
246
160
193
291
213
175
228
246
291
220
164
262
259
214
261
229
281
157
223
156
238
283
211
177
295
158
214
173
151
201
114
182
262
289
210
262
220
244
283
154
180
235
304
260
266
260
161
228
275
190
336
217
195
214
218
221
156
261
225
254
220
181
261
237
178
232
238
170
238
240
116
323
191
209
252
158
250
236
188
181
280
206
260
201
221
341
180
225
209
280
144
192
241
213
226
211
277
246
257
266
173
219
266
158
173
195
268
225
175
178
326
252
252
247
256
242
191
222
178
207
231
248
114
229
244
265
255
156
296
149
212
193
230
251
171
209
170
208
192
234
231
242
116
208
266
158
266
255
249
189
255
269
267
279
309
235
340
205
157
204
335
317
218
234
243
185
227
215
223
202
248
170
165
258
199
209
145
199
276
237
203
320
263
255
219
240
236
247
223
203
297
291
176
211
157
195
255
197
262
199
184
231
193
261
210
215
156
232
228
189
200
298
201
249
298
197
202
247
227
206
211
197
225
245
263
266
269
225
159
222
254
226
252
259
237
262
264
221
247
174
287
227
222
255
281
349
201
208
229
280
274
214
249
245
273
302
252
244
171
252
170
258
264
151
191
281
234
247
200
167
189
265
163
233
289
313
240
276
224
183
181
174
168
283
167
174
190
208
260
265
274
269
230
220
281
177
217
255
201
236
217
279
222
224
295
257
242
247
195
234
256
296
260
309
186
281
218
237
216
252
240
223
174
269
234
285
284
262
146
257
114
213
206
192
236
190
337
201
225
244
247
186
279
229
363
216
299
204
177
216
279
263
258
217
186
223
255
256
173
240
161
385
274
194
159
161
254
249
195
217
267
180
205
233
159
174
178
244
241
198
209
242
206
231
255
189
175
195
173
152
191
293
248
210
204
251
139
220
271
261
238
230
180
175
244
204
189
243
280
260
269
203
187
147
237
160
180
242
241
260
218
224
222
192
196
206
203
181
161
246
243
241
234
269
232
196
231
159
200
233
197
114
247
196
173
227
225
260
271
198
272
266
229
204
179
180
247
179
128
190
192
191
157
302
180
193
203
173
210
137
307
199
246
201
202
165
234
261
175
278
181
241
197
230
302
200
214
249
166
221
227
243
242
232
307
190
249
293
187
219
230
299
259
235
217
195
273
126
161
229
173
121
228
251
193
241
240
255
133
217
188
296
283
230
236
233
314
222
249
281
244
230
231
236
151
262
235
210
344
230
219
192
236
245
236
227
248
354
219
129
283
180
241
260
237
278
320
257
244
200
212
290
314
214
275
271
255
221
269
165
139
190
245
253
192
114
217
210
268
175
228
114
214
202
174
185
271
202
168
197
213
233
206
249
259
214
215
286
197
313
226
176
255
265
239
221
204
198
170
259
222
198
297
197
174
288
292
195
154
191
238
270
207
223
209
259
249
209
183
213
208
207
217
214
229
278
215
263
218
205
250
235
253
313
224
204
232
160
242
167
194
221
180
332
207
158
243
286
218
302
256
200
252
248
276
176
198
255
160
207
311
217
242
205
207
255
195
235
224
270
303
343
188
231
185
231
204
192
121
276
333
262
193
268
278
223
271
208
197
264
252
202
237
221
256
208
188
238
153
195
218
212
292
325
248
203
251
198
214
204
224
283
227
251
267
230
210
234
129
212
238
238
151
182
173
215
160
197
212
198
232
223
195
116
181
181
301
205
209
238
297
181
266
184
193
198
229
222
297
212
182
229
165
276
190
231
267
244
318
179
262
195
236
302
114
223
271
225
235
159
205
235
267
280
177
173
200
270
253
235
211
200
183
309
194
237
253
268
199
192
180
246
281
212
290
220
173
184
284
302
248
280
190
246
286
174
190
191
210
170
254
235
216
226
249
297
189
220
175
244
262
222
175
196
209
288
250
227
126
224
217
170
212
152
305
252
238
254
238
231
287
192
310
229
242
246
307
219
280
248
173
156
114
224
158
200
222
191
209
261
114
253
220
184
246
279
253
299
225
265
257
178
203
212
296
226
171
311
305
241
187
196
284
234
161
251
209
260
190
208
235
254
217
227
213
259
301
205
213
252
216
145
308
305
287
278
240
222
232
235
225
180
179
260
255
201
268
219
300
208
191
269
179
239
234
266
223
256
259
174
258
206
225
217
206
206
304
307
284
267
206
230
191
256
272
198
187
197
322
280
182
215
122
254
194
134
214
195
192
242
201
247
322
211
237
293
227
217
180
295
223
167
275
200
185
226
222
244
193
212
254
192
277
321
229
187
244
220
199
194
233
173
217
257
276
157
211
205
201
194
310
246
106
226
121
200
152
172
211
182
245
246
238
195
234
205
180
305
281
227
217
192
203
208
192
234
268
248
315
174
222
149
287
211
192
219
173
309
139
337
354
219
191
199
271
170
265
237
160
258
282
205
270
218
239
200
163
243
176
193
310
250
179
184
146
296
192
235
144
293
142
255
212
231
175
224
236
246
246
201
269
235
272
203
228
255
301
298
301
148
234
152
184
233
257
230
238
192
198
239
176
193
223
217
324
139
259
298
184
114
207
170
218
198
156
239
271
185
262
243
310
270
252
209
185
249
241
234
220
206
159
195
255
275
151
232
203
222
228
248
184
255
253
220
265
222
270
219
175
190
311
215
264
206
231
181
211
158
266
229
234
188
165
192
308
321
239
219
235
206
240
211
212
282
233
248
318
267
180
267
233
152
252
226
154
156
185
261
226
198
196
269
166
254
224
281
207
173
178
198
284
198
163
235
181
235
240
169
235
310
193
228
294
236
227
192
249
184
235
242
149
275
208
223
232
239
231
178
188
264
302
191
139
253
195
152
175
215
219
223
297
214
238
241
209
174
245
229
192
271
229
237
200
258
196
203
200
241
216
326
209
295
152
254
158
192
233
114
159
128
262
181
186
238
221
151
149
220
367
295
236
255
205
272
282
189
222
217
319
193
203
170
126
243
296
222
208
178
218
215
171
194
251
190
175
238
114
256
247
285
216
220
114
178
267
240
171
272
211
178
273
245
226
207
213
182
182
277
234
241
146
232
209
280
251
198
304
186
286
207
240
222
213
190
207
285
250
243
247
219
350
252
254
305
338
210
225
228
198
217
245
239
205
252
241
227
178
202
175
160
287
291
236
144
174
219
266
172
212
321
174
266
233
173
200
173
210
269
266
280
196
257
283
306
235
252
199
277
239
249
218
308
329
238
145
271
190
183
274
208
298
219
227
230
207
247
151
239
207
224
236
193
220
256
247
274
185
145
195
260
231
201
192
203
148
227
175
224
184
159
353
218
198
157
279
199
276
235
289
183
231
173
198
288
258
181
216
179
216
187
211
195
234
222
139
236
209
264
231
204
353
153
194
330
202
279
239
215
217
302
212
310
201
195
194
194
214
228
216
197
218
248
227
205
304
176
160
243
226
232
174
217
278
264
195
167
220
222
185
253
182
201
252
268
236
273
144
223
254
149
250
303
220
271
238
198
246
267
268
264
183
221
170
195
245
200
228
245
272
245
233
238
202
237
277
191
273
204
184
212
243
257
215
228
203
185
231
182
246
207
243
277
193
227
310
218
195
212
214
235
224
194
186
219
291
177
287
148
289
240
219
304
168
181
203
214
247
162
266
225
238
232
168
207
231
285
312
155
234
181
255
270
262
193
273
244
181
216
270
214
202
244
220
201
234
254
243
256
229
269
201
220
213
256
239
182
201
291
223
244
246
228
213
246
192
220
224
242
189
286
222
173
223
214
269
221
272
277
332
268
257
230
177
213
231
162
199
187
207
158
253
212
169
193
202
241
220
189
232
187
175
191
196
323
178
186
209
262
206
184
219
172
149
265
235
231
273
214
310
252
203
226
152
253
208
240
164
311
285
160
233
180
195
247
221
166
170
281
139
268
196
197
257
291
364
277
262
235
170
245
238
232
175
226
139
292
152
214
226
235
186
233
161
181
215
217
204
216
235
199
193
268
156
222
210
235
232
233
189
272
246
198
247
196
251
218
310
231
220
173
225
169
207
201
285
295
245
173
367
173
202
203
253
170
214
202
228
207
264
218
246
207
181
203
306
199
312
286
237
286
258
263
256
163
184
255
265
279
158
229
246
250
273
180
277
203
156
241
171
321
297
235
226
210
171
188
188
128
198
174
208
198
230
190
201
207
190
173
236
149
240
255
226
240
262
243
281
246
161
227
242
225
252
155
193
234
180
301
174
207
216
218
255
231
253
243
216
215
215
234
200
281
248
151
219
253
243
198
328
216
179
260
152
247
223
245
213
159
319
173
285
219
217
204
200
278
247
259
226
270
196
251
244
198
175
180
175
246
250
232
174
273
186
172
167
173
203
224
300
170
241
210
207
290
206
230
225
174
225
234
265
235
156
242
217
263
180
285
243
241
223
186
315
255
209
236
201
114
209
191
225
255
227
297
200
156
267
201
156
262
232
210
236
240
184
178
251
178
276
274
187
286
273
176
227
164
298
182
178
235
242
279
204
195
258
126
261
147
242
244
238
237
230
179
221
155
255
161
215
213
203
254
252
260
230
322
221
179
319
216
203
276
276
144
211
153
181
309
279
250
327
257
173
161
198
234
270
187
238
213
192
307
228
181
202
177
178
284
293
264
249
200
206
276
235
328
239
191
166
223
231
250
218
195
235
300
207
191
182
156
185
285
229
182
198
269
181
177
248
181
188
247
180
245
260
257
228
231
263
170
302
301
224
233
238
220
275
201
184
209
182
208
206
178
271
176
249
170
215
154
253
194
192
233
296
204
297
272
164
170
153
269
288
196
252
194
243
206
259
149
178
186
209
250
293
268
114
164
208
261
262
193
233
257
203
232
149
209
213
233
173
255
247
158
169
156
218
255
282
295
190
257
232
267
248
178
271
235
255
210
245
195
251
250
328
144
223
283
186
192
248
214
213
210
214
198
202
237
272
246
222
305
264
200
201
250
234
259
214
279
245
191
114
199
198
229
242
299
168
206
155
183
251
258
149
231
179
343
199
202
263
233
252
214
214
205
249
263
179
264
184
246
272
238
228
237
234
237
167
259
242
277
160
151
202
262
253
232
244
241
238
180
274
196
202
234
200
251
129
210
218
286
212
208
170
245
225
239
215
303
177
239
238
262
208
226
319
186
241
269
175
231
255
153
199
161
220
247
207
222
280
114
218
121
157
209
198
322
167
245
236
238
116
221
258
156
284
237
255
238
218
258
171
147
220
211
317
195
208
189
288
223
270
199
250
189
243
232
234
254
223
271
330
246
214
234
273
284
175
280
214
240
235
232
170
203
170
194
251
227
165
214
212
235
183
200
192
198
232
232
190
163
177
292
183
213
261
185
158
148
258
276
244
217
209
276
214
197
191
190
216
225
188
174
184
252
198
165
170
217
286
189
220
223
186
187
262
158
289
190
245
203
323
184
276
300
206
223
220
233
212
256
173
162
258
241
212
240
258
187
235
190
180
184
339
195
233
259
221
221
182
162
192
294
240
287
265
228
209
246
230
189
197
210
317
240
114
275
231
147
245
246
180
239
200
217
315
270
253
269
270
160
244
228
161
227
205
241
231
200
249
240
273
272
246
229
307
236
299
154
249
227
169
231
198
198
220
169
179
227
166
209
292
217
244
284
175
234
160
179
271
166
250
254
198
308
144
290
191
207
235
229
185
276
251
249
239
260
263
222
223
218
224
270
168
243
177
250
278
238
265
165
257
241
275
217
148
177
225
215
286
198
285
243
182
200
184
302
269
169
214
144
249
149
233
248
228
179
337
228
250
151
156
175
181
245
247
192
195
214
198
183
146
193
234
185
230
179
194
148
215
231
212
236
220
218
277
242
236
191
161
287
172
159
164
249
304
252
269
231
258
243
162
224
188
185
178
172
179
251
242
191
261
278
271
238
283
215
243
286
280
219
214
306
291
252
166
163
289
213
240
289
235
166
189
180
245
253
296
270
174
262
214
277
154
209
211
237
218
114
188
210
309
265
223
281
224
236
212
194
262
272
240
281
256
240
185
173
242
290
207
195
253
174
187
114
286
286
255
268
260
207
240
114
267
270
275
184
195
229
228
199
233
189
239
294
242
237
282
154
209
149
231
222
253
235
237
220
228
238
276
213
267
182
264
216
215
211
145
229
192
335
220
178
114
259
211
206
222
272
345
290
230
234
173
343
202
218
252
292
178
193
190
247
243
166
201
257
207
213
171
181
195
213
226
198
255
249
185
198
154
235
243
208
116
222
189
245
268
140
260
276
278
270
175
203
221
240
246
217
283
183
245
207
242
247
176
232
149
219
182
167
210
229
299
222
176
199
207
173
206
145
206
156
204
237
226
286
191
213
199
254
276
210
238
163
238
245
213
226
208
229
201
229
238
114
242
221
236
243
284
274
248
156
213
223
258
232
247
246
235
276
263
196
265
274
188
228
241
207
254
227
245
209
287
170
277
312
198
181
212
214
231
186
268
176
194
230
214
182
246
188
231
246
166
154
174
245
233
258
174
244
211
178
190
266
191
178
265
193
208
281
199
181
228
285
254
248
213
201
304
301
149
244
160
174
206
192
244
256
130
280
114
217
204
189
184
230
126
246
201
280
229
249
114
262
189
300
192
194
234
148
231
276
174
198
215
256
233
226
183
329
279
182
154
183
203
140
114
231
157
170
159
227
209
250
233
218
207
182
291
269
266
192
174
284
198
180
192
182
164
208
207
146
235
310
162
235
190
209
239
268
194
322
270
218
223
188
173
195
231
184
178
114
247
195
178
270
273
227
297
188
168
201
205
198
173
152
225
224
273
189
217
180
237
208
218
193
214
168
209
290
200
197
144
229
258
198
224
239
201
239
252
255
273
191
212
244
215
211
200
268
201
196
251
269
226
180
255
151
174
243
227
225
246
178
189
211
309
183
249
200
182
215
241
229
238
233
241
228
188
279
203
190
114
196
250
195
114
234
240
364
180
191
226
256
190
235
200
183
205
174
182
170
350
173
220
249
310
249
260
273
175
240
203
198
261
169
189
251
250
253
395
225
233
251
237
252
260
226
179
235
188
178
191
258
276
208
148
215
163
206
296
266
280
177
239
253
269
183
184
285
269
183
170
241
286
240
279
214
208
246
192
258
248
184
170
209
223
206
295
219
191
268
172
235
169
244
173
181
196
169
225
239
291
215
317
264
138
196
265
188
220
249
330
229
194
239
185
220
182
187
224
258
186
321
284
262
220
114
180
256
236
226
198
202
244
217
256
180
277
305
114
166
248
271
175
226
195
212
180
244
191
164
228
318
193
238
147
231
197
232
280
222
272
237
295
290
208
121
264
236
178
245
154
220
188
184
209
234
266
166
196
243
211
225
156
219
189
147
114
212
258
223
213
267
204
192
154
257
177
197
341
264
243
260
204
308
274
235
319
194
205
292
206
283
172
253
250
220
209
303
216
243
114
201
282
153
268
279
238
298
254
251
204
152
315
249
153
181
195
252
211
206
165
239
230
194
256
177
277
162
275
287
292
258
144
258
253
238
264
266
225
231
152
181
244
164
235
238
235
320
256
221
160
195
315
176
230
214
242
186
326
114
210
210
323
172
255
215
296
246
350
258
212
114
275
210
251
181
201
232
261
176
252
193
145
230
235
215
162
284
225
228
272
175
309
293
212
224
229
277
170
233
273
152
266
198
225
288
263
252
160
390
238
247
221
211
253
293
162
232
265
302
174
145
203
207
235
232
315
197
232
263
182
162
311
248
245
148
218
296
200
231
217
206
178
255
266
175
283
180
157
181
235
200
243
253
192
308
234
262
179
222
204
253
207
195
299
220
249
277
217
243
243
220
258
121
207
248
170
208
203
192
206
256
262
253
209
219
215
223
289
176
198
213
133
264
211
199
209
253
202
235
242
277
304
221
280
239
305
151
192
178
281
232
289
309
239
165
224
220
188
224
252
183
217
263
314
230
236
224
214
229
222
203
245
180
268
234
225
167
207
240
206
279
271
182
203
207
319
290
240
289
314
317
229
204
213
227
251
285
313
191
180
151
178
223
173
247
190
215
299
251
238
139
156
150
243
163
263
240
233
253
194
200
228
160
235
156
181
192
230
282
210
209
179
262
173
209
219
227
272
295
146
196
276
305
238
214
232
241
225
243
195
260
245
241
218
207
207
286
216
308
176
206
130
182
196
243
162
234
163
215
219
264
164
243
189
318
156
198
276
248
271
221
276
205
233
202
205
213
241
207
293
232
276
221
192
284
204
182
199
169
236
211
210
174
215
261
252
259
215
179
235
348
201
250
299
218
257
274
214
249
243
187
266
247
304
224
182
329
226
250
196
208
223
215
214
200
220
264
186
225
293
320
234
252
272
204
173
270
217
227
229
285
209
206
285
288
291
207
211
206
266
164
215
271
268
274
310
163
211
231
247
218
276
202
250
283
240
241
198
244
198
278
244
267
230
336
191
264
174
227
239
262
255
254
194
208
187
241
276
198
314
326
203
270
214
159
154
248
242
211
241
260
224
309
151
243
210
240
208
215
213
196
241
248
267
217
139
260
283
232
158
160
217
271
267
277
178
206
238
248
221
206
214
244
108
257
205
202
233
180
278
261
166
184
176
183
250
114
236
223
163
240
292
226
294
160
163
250
252
192
220
133
207
269
233
194
224
193
220
209
228
218
273
177
193
199
161
256
225
193
255
199
230
279
210
214
256
327
280
296
239
280
170
226
221
221
238
206
229
261
263
182
229
308
273
235
170
275
226
314
187
252
219
200
175
349
218
191
178
246
219
207
237
228
167
253
148
195
304
206
245
273
237
287
246
287
291
272
173
237
226
208
345
201
170
242
190
254
271
207
213
229
169
294
252
264
249
227
179
186
161
265
207
229
257
247
223
192
194
156
114
274
304
242
188
254
309
304
181
251
175
200
188
198
194
217
251
251
243
308
254
155
190
267
181
261
173
114
221
345
201
195
232
146
272
170
280
179
222
210
203
288
252
151
243
167
268
239
181
219
158
278
245
171
301
285
241
231
237
224
248
153
305
240
248
250
178
270
276
180
239
177
289
219
189
202
178
245
166
166
205
222
227
165
156
173
249
180
267
289
260
232
239
271
193
260
231
247
207
194
194
114
277
277
239
213
128
200
274
211
242
241
250
215
234
284
211
191
214
252
225
261
214
200
222
222
220
244
256
287
230
267
114
251
264
236
256
227
219
186
251
221
254
240
145
240
281
195
259
231
173
248
200
348
238
311
255
238
262
232
274
236
201
206
237
210
244
215
186
239
242
189
192
218
243
148
289
175
279
228
207
253
180
196
157
170
173
206
306
189
237
281
324
253
114
174
196
195
235
269
173
175
311
214
173
152
254
267
208
173
206
286
242
192
282
168
249
220
363
199
207
254
190
266
198
188
301
211
299
294
260
232
251
277
300
247
161
249
242
299
196
220
220
200
230
210
305
309
256
213
161
252
192
243
190
191
195
228
196
200
252
233
222
211
245
256
260
281
147
320
240
207
179
172
293
229
255
302
263
228
225
192
306
201
271
291
234
200
202
210
286
290
203
259
263
325
213
233
168
211
245
305
206
204
198
213
274
197
195
243
282
159
218
253
330
207
234
218
247
240
187
170
230
299
189
266
263
167
170
184
170
220
174
255
239
277
314
247
295
258
258
243
191
278
149
175
225
277
258
191
224
255
246
240
199
316
192
194
208
218
192
294
275
273
218
241
181
200
212
179
151
234
215
290
179
195
216
300
197
202
210
251
246
226
308
228
181
277
256
204
221
286
250
311
171
170
289
220
243
233
240
260
270
277
223
179
271
231
133
200
226
165
341
288
195
364
228
191
180
237
249
230
213
220
166
210
285
170
201
207
274
238
221
211
229
195
206
206
328
192
199
211
209
200
245
267
259
243
160
265
239
208
204
286
217
221
179
228
315
289
221
176
218
249
170
287
223
226
223
194
227
227
190
191
205
212
152
265
173
206
166
230
185
251
218
208
179
210
178
114
215
237
293
264
202
288
189
219
189
260
152
243
218
206
231
181
225
139
187
170
260
189
194
160
239
206
175
217
184
224
269
236
277
198
197
199
154
265
240
222
254
234
168
267
285
220
193
139
221
231
183
171
264
291
194
225
261
238
237
151
263
210
226
207
200
197
271
278
189
194
189
179
237
207
271
156
180
192
260
282
253
193
193
231
216
283
225
207
146
192
210
269
146
277
244
216
175
128
183
205
230
222
246
226
198
178
278
182
275
251
240
216
270
266
258
215
236
242
269
282
263
214
172
226
309
236
260
158
223
288
263
311
177
207
144
175
316
231
240
204
203
246
199
214
175
308
228
247
271
246
201
217
221
249
265
264
281
174
206
198
195
160
192
187
321
162
204
178
195
238
273
179
218
178
175
302
271
296
249
236
173
296
239
196
245
318
254
170
253
232
219
206
173
250
258
269
267
319
260
354
167
206
175
159
210
183
186
279
240
152
247
188
280
243
223
285
238
273
133
172
179
239
114
261
258
270
276
238
156
206
236
230
210
189
263
219
145
217
211
239
254
266
218
174
207
222
252
217
174
306
210
259
233
152
168
209
130
186
228
146
230
261
258
197
258
257
206
221
166
307
221
156
179
255
212
170
171
234
243
200
227
283
183
287
279
255
186
220
170
220
215
343
276
354
229
253
252
170
210
310
171
228
208
173
202
229
116
245
191
317
241
148
199
306
212
216
212
214
370
202
345
278
192
200
295
271
183
233
317
209
200
232
218
258
185
194
181
258
194
164
141
238
220
224
226
243
219
184
191
212
220
167
199
226
206
231
264
183
187
215
283
181
191
248
302
173
219
174
221
179
223
260
199
203
249
277
208
297
221
188
234
252
149
195
288
311
212
126
175
226
260
230
152
134
315
154
240
151
192
292
236
201
114
241
296
225
241
253
293
238
154
181
317
275
341
279
230
166
177
182
188
232
155
266
193
229
271
152
273
240
264
231
176
197
195
260
224
248
258
114
200
220
274
272
185
174
166
176
161
226
165
221
234
145
329
243
294
257
235
282
200
202
198
294
242
239
210
190
180
222
255
193
206
199
261
246
217
161
274
247
208
270
229
313
229
189
171
227
224
294
190
164
189
286
231
192
231
225
192
177
276
253
293
237
220
175
230
146
215
202
165
325
215
229
216
204
240
203
235
199
276
198
170
195
225
240
229
297
184
305
270
266
338
247
296
255
246
235
208
217
238
272
174
190
244
252
197
233
231
214
114
323
193
195
294
287
183
228
269
170
193
203
169
253
197
255
178
212
164
216
200
217
170
317
259
213
256
247
224
130
259
179
216
225
204
288
298
260
198
195
284
234
305
261
215
252
288
263
194
165
176
189
218
195
147
170
200
186
199
181
152
291
158
289
258
258
195
198
154
228
207
232
242
233
240
272
221
254
262
247
238
192
154
139
241
309
160
207
164
266
275
223
200
236
188
217
327
168
196
249
152
210
269
180
208
212
256
183
212
229
171
220
179
230
190
200
210
271
253
282
219
192
239
277
191
279
276
191
210
257
215
161
227
204
302
182
265
262
259
330
230
240
160
280
160
165
283
198
241
318
300
231
148
161
211
154
290
200
173
232
254
191
241
184
315
286
257
248
221
250
216
256
246
224
314
106
241
260
277
226
232
170
325
193
246
248
250
248
148
217
205
228
201
289
225
224
199
211
205
189
228
213
245
198
231
234
250
190
179
223
265
259
248
232
213
156
254
209
114
233
203
204
179
180
173
308
231
197
244
194
243
284
196
168
236
245
198
169
255
202
323
329
209
242
254
138
257
180
218
213
239
303
327
291
168
182
206
223
235
278
279
167
228
171
160
248
180
207
236
157
302
266
221
245
224
178
191
192
205
242
184
260
210
236
149
217
252
237
297
244
207
201
161
240
207
204
225
230
126
192
270
194
195
268
190
234
173
253
261
311
238
165
323
161
251
280
192
186
330
260
152
207
246
283
270
261
293
271
248
154
170
208
204
235
162
232
192
219
258
180
186
303
223
263
289
192
183
219
230
236
215
114
222
244
202
242
234
290
160
202
354
231
229
216
114
234
173
200
152
246
208
129
201
194
291
225
178
189
174
198
314
213
317
252
268
305
256
198
255
195
192
231
168
176
254
284
215
198
198
291
210
195
227
130
215
165
207
215
320
129
177
245
189
216
287
255
195
195
158
194
195
259
221
295
257
162
281
176
206
240
366
217
259
337
261
195
187
228
246
194
230
243
209
267
212
253
218
213
209
310
256
271
175
264
216
267
222
225
152
192
233
243
192
161
281
214
183
265
179
223
267
181
272
203
191
223
206
192
232
218
203
207
328
241
199
231
228
369
271
154
234
224
233
195
196
264
187
230
221
277
200
235
214
234
255
239
312
147
240
211
179
268
168
183
189
231
224
236
240
184
173
190
162
228
267
249
212
264
311
220
244
224
224
218
297
216
180
194
259
233
209
250
193
226
173
199
188
191
225
242
259
186
262
285
223
201
237
251
245
316
243
165
174
291
212
273
290
151
196
108
197
194
227
221
209
286
227
203
255
328
185
180
210
114
286
298
237
178
184
225
151
234
264
241
296
204
204
165
272
192
211
210
208
249
276
277
170
248
192
238
169
161
237
181
197
255
151
239
278
229
246
232
170
250
280
220
208
198
133
248
234
172
215
212
139
190
197
227
196
165
231
152
207
181
207
268
295
331
251
256
273
225
251
216
224
226
277
139
168
199
255
252
161
211
241
170
286
221
170
213
289
237
270
220
163
173
150
333
213
178
256
265
250
258
204
180
227
286
204
248
292
178
250
186
252
179
200
325
317
225
174
202
159
192
265
162
250
204
260
213
250
230
161
248
297
219
164
215
126
290
200
303
181
162
276
253
219
259
215
205
176
264
192
193
277
168
291
190
243
202
216
228
246
228
206
213
227
166
263
285
231
149
234
260
175
219
287
316
175
234
280
249
208
207
190
278
153
301
241
203
260
179
261
321
178
184
208
185
247
229
195
216
266
326
225
170
307
175
214
204
190
139
239
226
240
231
215
216
247
193
114
275
162
277
230
214
220
294
261
154
230
145
243
222
229
214
178
241
206
250
268
280
208
231
253
218
263
202
253
175
157
193
188
241
237
214
149
219
232
319
188
185
160
273
114
240
233
229
319
146
129
291
269
244
198
343
190
254
160
218
284
239
221
199
225
258
198
214
164
208
215
311
243
306
241
212
311
187
179
250
208
263
174
214
238
241
251
224
191
261
242
291
190
188
220
262
256
262
168
208
273
249
116
237
175
251
233
220
218
248
242
229
374
168
196
252
261
218
208
174
188
174
181
175
258
285
195
230
171
217
148
228
227
209
220
290
182
208
193
267
200
193
227
202
238
224
165
235
198
202
236
287
281
175
227
217
253
165
287
184
276
229
286
114
265
155
208
328
249
240
191
209
254
211
221
234
133
223
195
287
214
262
217
146
258
171
218
201
257
277
227
184
242
255
302
183
230
201
242
144
232
291
285
249
181
261
192
244
178
205
187
198
178
198
215
264
129
269
171
177
231
108
243
212
151
281
222
260
198
233
263
244
189
239
157
238
223
266
262
190
231
230
248
178
267
258
203
229
146
215
168
203
342
222
198
251
203
253
241
264
232
197
282
220
221
311
303
206
173
146
189
178
254
301
221
224
237
264
182
260
180
234
317
222
241
256
270
178
252
156
245
206
263
295
174
250
246
279
276
269
298
229
256
260
270
255
232
228
239
207
215
305
255
243
205
269
265
240
213
271
239
182
260
343
218
251
214
234
168
251
231
156
283
176
191
200
255
195
215
260
316
244
252
214
293
211
248
259
222
236
195
182
255
338
199
217
194
287
295
232
202
213
151
194
200
176
343
293
239
179
249
206
173
192
198
325
217
226
166
160
249
246
192
242
255
255
212
199
247
231
208
274
242
212
217
220
313
196
192
178
220
283
232
324
210
298
161
232
366
182
257
197
215
245
231
171
198
221
214
218
238
216
155
232
256
273
244
196
218
197
229
238
252
237
304
198
200
269
250
274
318
175
263
280
216
252
222
219
292
205
256
193
217
219
261
217
301
207
239
293
252
267
155
160
242
202
246
214
237
214
219
282
202
160
137
215
214
192
277
203
230
200
217
185
191
249
240
262
200
285
202
211
248
240
260
189
141
206
195
309
203
219
249
164
211
202
251
275
174
270
238
252
241
196
144
176
271
178
208
221
217
202
247
207
237
231
211
160
339
221
218
258
256
192
271
278
116
260
249
176
193
265
227
231
281
220
302
297
203
195
198
207
240
262
238
288
227
256
189
258
214
174
160
260
220
198
251
305
197
167
223
268
232
266
214
278
218
239
236
160
203
249
192
200
263
282
200
287
232
279
291
231
160
191
207
290
226
301
197
204
257
288
271
200
190
220
194
106
244
255
218
199
294
238
255
264
287
214
257
215
335
238
267
219
331
211
329
191
241
203
252
290
226
198
247
272
185
201
244
157
257
207
217
180
158
248
186
209
262
261
202
225
236
237
292
284
179
162
255
234
243
233
252
249
222
201
151
239
242
187
160
214
207
335
114
197
258
181
206
260
166
249
253
284
250
261
265
156
290
238
170
204
211
156
168
315
189
213
220
225
243
229
229
231
229
214
197
144
246
284
258
223
267
196
153
237
175
229
286
267
238
152
263
191
220
215
285
243
239
160
308
214
169
228
275
299
190
209
175
151
197
202
294
198
215
245
208
178
215
207
215
262
174
233
180
198
160
261
293
289
262
208
256
219
287
225
282
184
196
156
222
225
208
235
234
233
181
196
203
332
246
258
220
180
293
286
318
214
194
235
242
157
226
189
169
226
139
170
209
221
265
160
197
249
225
182
202
243
207
204
241
205
263
175
178
227
213
171
279
198
209
212
244
245
235
280
277
245
257
214
165
213
197
194
265
297
211
206
153
249
184
324
200
216
226
239
252
215
249
245
174
233
274
258
258
165
286
303
252
250
192
243
244
234
217
205
190
277
181
285
358
275
248
196
167
156
228
212
197
232
291
235
214
202
195
234
198
210
242
252
200
214
157
253
175
271
194
160
214
258
248
204
222
211
222
274
183
196
194
209
218
232
173
301
293
195
234
236
233
208
231
222
244
247
207
184
247
165
205
248
263
182
184
143
209
231
238
337
241
168
222
240
151
251
341
168
189
249
204
324
256
250
230
191
148
245
236
304
192
255
278
278
153
264
149
204
214
236
183
208
179
215
246
191
174
204
249
192
235
233
175
156
275
263
348
222
329
188
216
311
196
239
254
228
249
303
194
221
181
184
173
258
283
304
208
211
189
207
166
156
372
215
151
251
262
243
274
216
233
189
251
206
213
129
224
271
223
286
149
302
164
213
215
158
233
239
245
219
161
149
208
155
160
214
209
219
191
313
310
126
255
226
283
258
241
172
182
179
237
263
221
270
296
192
214
233
253
220
195
228
175
166
268
295
145
242
191
106
271
295
239
219
196
314
139
257
281
227
263
214
234
231
149
234
311
199
285
222
247
207
256
252
267
224
251
265
228
270
230
194
106
247
325
203
238
159
212
196
237
195
182
190
222
199
185
220
158
249
245
182
211
275
145
282
229
163
272
230
282
166
241
259
276
212
192
217
178
108
247
165
284
266
217
216
248
309
198
258
200
259
184
206
213
176
219
220
358
183
206
199
245
194
221
285
218
245
304
253
199
241
284
207
208
240
248
275
187
165
275
199
220
270
180
246
261
273
253
158
241
181
288
246
186
262
157
240
261
177
261
208
177
217
208
268
214
217
205
204
309
222
360
205
268
151
211
148
196
130
198
165
202
232
236
204
318
257
151
227
238
162
287
160
238
263
184
234
257
247
271
205
313
278
214
158
244
249
239
194
327
200
265
236
321
231
181
220
238
195
270
182
262
182
323
238
235
200
216
193
200
272
282
200
166
171
270
158
209
261
126
290
212
173
206
129
177
227
232
273
224
288
224
341
239
241
234
238
271
186
178
188
223
226
285
250
267
308
168
229
145
274
216
166
146
218
205
267
240
173
240
207
215
195
238
210
171
182
197
204
315
192
258
215
214
247
260
234
155
192
206
205
266
205
219
246
191
202
216
245
274
232
178
290
126
154
236
245
244
195
262
194
177
311
216
262
164
172
239
153
156
206
284
238
192
161
240
231
169
237
228
192
224
256
216
240
224
239
203
328
222
246
184
232
232
238
208
243
142
221
126
263
226
202
221
190
173
182
241
276
244
297
243
183
217
243
181
216
260
208
233
173
224
311
194
299
185
251
170
114
192
186
242
184
139
173
189
266
292
210
182
232
213
192
221
298
236
228
200
238
216
230
266
244
192
214
278
194
193
317
149
176
255
181
153
197
225
203
267
130
243
254
253
238
183
296
214
257
238
221
242
166
265
269
281
220
251
218
246
213
220
230
287
146
206
156
213
283
233
240
235
251
184
240
229
204
295
211
223
227
229
201
213
178
227
293
197
222
219
178
223
246
208
236
265
208
234
219
208
201
186
211
248
197
202
281
161
313
225
314
181
257
336
302
253
253
174
160
289
175
234
226
183
229
250
303
268
235
209
215
283
207
229
144
202
247
200
243
201
182
222
198
290
165
177
168
331
312
186
198
219
202
358
296
218
256
211
200
202
165
186
246
187
233
236
156
219
215
246
232
175
173
206
254
219
225
254
232
193
159
277
239
231
134
167
228
272
268
239
218
179
314
176
318
225
363
236
154
235
227
184
130
157
219
196
218
277
224
222
173
189
236
211
194
220
297
267
205
217
230
234
209
257
272
272
243
240
153
247
292
224
231
269
346
195
266
245
253
236
226
222
265
178
209
252
189
294
198
204
283
307
316
267
169
209
204
302
219
229
231
226
269
270
251
250
203
285
230
180
175
348
319
170
222
238
144
232
249
163
192
267
180
200
140
170
176
220
270
203
309
233
201
232
211
261
203
251
213
247
206
203
175
248
286
200
248
216
216
165
230
231
262
247
310
282
151
254
328
147
178
160
248
237
146
160
129
308
222
241
214
229
190
259
207
186
290
196
114
254
317
265
251
353
192
200
226
271
146
250
199
199
161
216
227
218
251
180
202
229
202
170
224
280
197
270
264
278
176
167
225
265
217
185
298
196
269
185
245
272
189
212
226
232
292
165
292
202
177
229
308
192
254
222
262
256
192
186
201
301
267
239
257
212
228
229
209
247
265
218
273
235
291
162
213
289
233
220
327
195
192
169
149
228
179
230
252
248
235
196
288
170
207
209
206
239
243
173
235
220
173
174
213
192
310
242
194
253
250
175
186
200
263
363
279
249
277
265
200
217
214
226
180
250
179
205
213
330
255
223
195
139
229
187
225
220
287
234
165
203
207
229
375
308
230
177
282
178
235
212
194
213
257
220
321
210
177
252
277
177
266
314
219
198
294
237
208
161
260
213
195
156
324
238
263
140
259
282
247
253
279
161
272
256
259
163
183
297
252
311
143
192
164
201
183
201
228
225
248
191
298
261
233
219
163
151
241
186
199
257
226
309
229
259
270
277
192
200
247
208
203
278
231
220
241
268
204
148
152
154
235
265
257
160
198
178
137
205
233
178
258
238
191
273
171
172
196
275
203
198
239
202
201
243
225
237
238
197
291
209
229
270
237
239
149
233
210
313
226
275
226
244
288
209
218
228
232
244
174
251
151
232
263
288
175
226
174
222
215
215
236
180
247
218
192
214
211
198
152
154
189
225
134
146
248
146
190
139
206
285
294
287
157
239
162
247
264
278
238
206
237
208
198
268
262
269
180
269
188
145
209
342
255
285
304
180
204
210
271
344
178
200
237
217
214
203
220
114
114
232
160
285
175
235
245
245
217
241
265
187
219
259
252
294
238
163
196
191
190
299
173
209
235
170
211
229
171
191
221
223
219
251
114
202
229
208
186
276
213
178
363
256
251
181
251
278
308
257
234
171
242
225
247
185
333
228
299
209
180
266
187
156
207
266
171
283
211
246
263
205
241
245
297
268
188
205
255
202
202
224
303
279
212
160
165
251
279
263
313
175
291
202
185
126
181
208
199
192
195
243
238
182
221
252
280
230
212
233
221
204
263
225
274
248
204
295
298
116
208
196
155
237
240
204
253
264
262
247
148
228
241
206
193
188
224
243
296
194
252
214
219
205
242
220
174
208
254
196
225
275
295
183
186
225
171
207
247
172
198
290
261
151
280
246
255
290
249
218
211
242
114
200
301
282
302
246
213
242
283
153
196
219
283
215
186
256
240
265
148
292
237
208
190
261
230
238
334
204
146
186
325
241
157
244
198
219
275
246
218
231
244
228
201
291
287
275
245
209
234
193
161
269
228
238
206
233
156
206
226
299
208
227
181
232
249
260
194
233
199
176
203
247
226
160
114
126
266
271
207
240
184
158
202
213
160
261
208
170
230
237
226
130
204
176
237
241
275
247
234
212
187
213
183
207
216
223
259
190
222
178
168
214
193
224
259
226
288
207
219
226
178
205
236
280
198
169
180
249
221
156
215
332
240
310
261
233
233
206
251
196
232
160
282
187
231
276
209
241
200
243
280
114
224
248
231
168
208
280
248
208
207
149
198
255
268
167
245
295
303
196
262
220
301
270
229
166
211
255
114
210
156
182
204
218
289
214
247
282
220
176
137
247
274
257
166
231
201
217
171
192
236
197
287
300
152
301
230
267
210
224
114
239
271
253
175
335
261
313
233
219
209
196
282
261
204
210
236
139
205
280
274
243
249
223
156
313
272
222
228
166
202
114
217
288
327
211
154
216
197
220
232
274
175
218
262
224
180
317
233
264
265
204
292
211
226
260
152
293
145
167
240
240
234
244
284
198
213
257
184
202
207
264
244
260
220
305
249
213
114
198
167
177
221
241
206
192
214
155
160
146
191
224
222
243
160
177
258
174
316
233
219
229
287
202
190
285
268
198
239
191
240
228
238
202
256
222
268
162
205
205
246
196
212
114
227
114
246
205
331
208
223
232
211
212
243
255
255
235
205
265
215
253
246
234
220
221
219
163
211
168
219
152
202
181
314
232
208
175
205
188
302
193
255
259
168
293
200
255
155
218
191
274
156
244
209
145
192
282
196
191
229
205
208
242
197
169
193
268
195
267
327
247
169
249
265
198
176
139
195
261
189
172
231
243
186
213
203
299
172
257
147
227
287
254
315
233
210
172
219
194
198
246
218
204
218
171
208
218
232
233
237
201
223
214
147
230
205
252
210
259
181
195
173
256
169
197
189
175
196
202
183
231
246
282
239
198
221
178
190
180
173
211
241
207
160
232
265
297
238
219
267
211
187
151
172
151
248
161
234
231
306
175
158
208
194
248
272
228
217
311
224
179
186
156
144
188
278
175
256
156
197
174
258
174
237
139
245
290
200
212
241
303
266
193
230
181
187
233
244
114
191
191
232
158
181
314
256
262
202
265
295
197
215
199
284
217
219
234
238
182
208
190
154
275
269
221
220
144
152
239
223
166
209
276
288
327
237
191
284
160
192
238
251
214
213
252
203
237
248
203
209
189
211
151
296
196
230
301
173
269
245
170
253
166
244
176
249
211
158
234
281
243
225
200
273
265
256
237
224
214
197
248
204
274
185
243
197
197
168
244
218
175
353
270
190
301
186
252
360
238
235
230
186
285
230
239
240
241
290
278
228
258
284
252
256
267
262
230
201
156
229
214
214
215
217
236
254
226
223
270
187
198
237
191
215
152
230
274
337
211
238
171
163
215
281
182
232
267
220
250
247
233
196
293
210
284
264
217
263
209
152
169
194
169
247
157
165
266
236
254
193
273
257
198
291
246
208
221
241
314
211
285
252
252
208
284
126
198
198
205
235
240
273
243
114
249
263
275
190
236
198
280
198
226
210
202
223
222
179
261
252
186
251
214
260
207
270
263
147
281
252
224
152
222
178
231
192
291
190
258
173
211
232
238
191
246
281
170
280
192
162
214
300
178
229
230
221
277
166
208
176
276
139
211
267
214
266
200
190
256
242
158
147
260
303
212
246
214
114
192
229
126
309
189
186
214
215
293
234
214
247
160
166
214
174
249
247
185
188
179
208
178
261
248
231
248
258
270
180
249
201
307
279
246
151
178
255
116
193
329
227
237
246
237
166
226
215
184
192
251
205
195
245
256
246
239
242
243
174
178
201
196
189
170
156
227
185
255
200
297
267
294
232
300
220
231
185
223
288
189
292
260
197
284
247
193
170
205
262
259
231
205
126
169
301
280
193
227
218
222
238
281
299
288
210
237
177
351
251
298
223
236
196
216
248
260
225
287
227
202
309
276
255
267
210
228
138
229
237
252
213
236
160
198
223
237
262
210
213
253
301
173
223
245
165
249
146
192
261
167
204
258
160
253
193
242
278
196
282
201
177
286
198
213
206
210
191
261
184
193
216
248
246
221
221
304
311
219
198
284
168
184
177
261
245
232
282
175
222
265
259
208
196
302
114
165
278
319
236
266
225
221
241
160
260
279
308
244
269
204
268
290
230
246
288
249
249
248
162
199
114
297
241
261
269
249
195
160
254
194
187
219
198
234
195
192
211
272
270
257
252
173
264
290
274
237
193
228
226
291
243
241
247
222
235
250
204
190
240
173
188
160
263
199
178
211
214
234
252
262
195
197
179
207
231
329
218
160
214
158
162
235
232
179
215
175
217
284
165
219
241
240
139
253
240
241
259
187
208
182
238
246
137
230
255
264
252
182
255
272
284
231
209
177
181
157
282
273
208
298
181
221
156
173
198
305
198
222
222
242
249
284
180
224
271
139
296
251
261
213
220
221
234
205
214
248
210
215
173
267
259
156
186
335
244
208
175
154
294
234
114
211
225
194
206
283
225
177
245
305
223
252
278
309
146
310
191
314
177
198
263
170
283
191
219
249
234
258
213
226
214
190
248
259
186
184
223
252
170
189
257
166
240
239
238
215
251
265
154
172
326
204
233
249
287
258
292
225
261
261
195
300
287
271
260
207
195
303
185
234
223
170
250
232
291
263
238
229
226
144
305
273
202
192
176
181
216
166
226
179
202
279
275
192
230
145
251
222
259
227
286
279
269
171
261
185
234
278
211
282
322
196
193
244
207
229
188
242
172
218
156
208
191
202
284
249
260
194
232
253
130
157
180
208
303
198
208
176
277
181
238
227
311
204
174
256
223
189
226
206
243
243
181
217
172
134
267
114
284
304
315
234
162
200
233
185
228
220
248
213
259
229
305
212
210
186
207
270
219
266
250
270
268
169
209
216
250
179
240
281
260
277
211
243
201
135
271
237
226
156
193
274
203
179
243
240
165
225
249
198
188
174
215
197
260
212
198
278
193
238
196
191
249
220
126
200
230
203
304
276
186
190
177
247
165
282
301
187
187
264
191
202
156
332
223
295
218
301
314
206
222
202
257
239
249
243
186
270
193
238
276
236
246
199
206
178
251
208
198
198
178
238
298
185
237
192
172
204
244
250
266
273
222
161
174
322
171
229
320
238
196
213
191
193
184
236
237
173
171
220
207
231
178
269
284
233
205
195
216
190
235
273
151
160
212
184
256
203
188
207
173
187
161
192
153
213
238
173
219
178
209
221
219
126
172
235
191
205
194
288
216
213
265
271
251
304
245
106
209
210
226
168
223
215
280
192
280
292
238
259
204
289
241
261
219
182
241
178
186
194
228
190
279
245
188
173
274
206
233
235
211
350
235
191
227
156
283
176
209
247
230
241
225
209
257
237
154
284
289
236
228
185
225
195
194
248
280
210
166
189
227
280
212
164
254
190
223
256
200
174
268
275
211
252
246
239
204
270
219
202
265
296
314
213
254
294
230
194
191
196
237
288
172
170
282
212
167
214
253
192
232
194
249
250
251
192
194
165
180
171
232
278
246
228
258
242
114
292
214
221
263
234
240
258
200
235
183
288
258
240
220
284
253
219
147
213
229
198
292
146
308
168
188
243
219
284
265
201
220
246
194
168
267
214
204
173
264
220
184
306
253
235
182
189
235
227
168
229
200
312
258
274
296
284
272
231
223
214
220
241
279
199
210
224
175
191
234
297
215
254
268
188
270
216
172
198
196
234
271
250
235
263
144
241
233
212
198
190
214
238
235
230
194
240
254
289
146
295
321
233
238
252
114
229
203
206
258
145
215
178
215
227
253
190
200
222
298
293
181
319
326
243
196
206
238
324
207
185
178
214
213
235
285
207
283
214
211
210
238
234
235
186
196
201
273
322
208
273
194
278
249
177
232
244
264
232
281
259
211
208
178
195
216
274
301
223
267
282
257
250
236
239
203
251
208
144
275
231
175
186
273
126
181
227
227
179
184
254
285
217
247
201
207
249
156
241
272
165
245
286
283
226
248
207
254
207
244
207
190
212
241
292
251
342
328
243
256
275
231
216
269
259
255
243
272
263
179
221
201
253
197
256
259
194
297
271
220
173
234
145
195
220
188
188
214
160
212
287
211
174
207
247
218
232
188
257
284
219
214
204
200
146
243
198
202
189
201
217
202
201
234
217
284
183
164
245
234
266
284
297
233
225
228
249
176
296
252
203
245
197
267
179
154
189
258
278
185
192
275
270
295
202
288
187
180
258
216
178
226
231
259
173
202
279
232
268
207
303
235
154
169
213
274
172
256
251
238
217
203
165
233
192
181
177
254
197
209
212
236
196
236
215
221
209
174
256
158
156
221
202
174
239
108
187
208
242
214
259
170
235
214
238
193
280
235
222
289
215
229
173
269
225
271
199
264
222
269
201
214
182
234
236
316
216
237
265
165
283
300
284
214
273
244
309
238
237
175
276
232
239
229
273
211
202
255
280
261
264
187
212
175
326
220
290
190
259
152
214
241
247
257
223
238
209
219
161
300
164
182
238
247
226
238
196
230
229
149
253
242
223
169
294
234
291
207
231
338
200
220
288
270
188
229
252
248
249
146
226
208
222
249
200
202
169
237
219
243
317
209
247
201
178
241
234
254
217
239
247
223
165
250
232
208
192
282
241
192
189
285
253
190
276
290
149
247
180
217
224
205
212
243
160
214
207
214
238
146
241
178
199
239
216
255
287
192
259
146
276
222
271
197
305
175
246
146
149
274
240
162
298
284
271
241
252
267
206
173
192
221
221
220
160
221
194
239
258
200
116
162
289
325
273
114
250
255
246
202
221
240
245
209
309
285
262
227
213
240
212
212
267
285
209
266
193
210
158
191
202
249
238
182
161
310
232
196
208
196
221
252
216
156
191
213
203
174
151
197
151
231
192
212
259
114
296
222
275
184
169
191
284
228
248
207
182
166
171
186
241
260
209
234
218
208
233
189
260
210
199
211
228
269
202
245
243
218
222
310
285
291
259
238
233
244
165
262
235
203
235
214
265
220
188
219
238
179
126
257
268
162
224
260
169
211
231
178
222
214
264
253
213
280
175
321
176
246
218
280
230
286
327
217
211
237
162
192
193
201
203
184
214
276
212
193
304
200
229
217
154
219
178
242
226
314
220
176
238
262
237
195
170
192
197
203
297
225
214
238
181
219
206
174
192
175
207
231
242
204
257
284
206
256
187
114
247
218
271
270
142
301
264
263
244
298
215
235
166
273
233
264
214
218
214
235
265
181
198
240
188
146
202
167
215
241
313
214
269
180
169
308
194
279
246
166
341
234
152
207
255
169
230
184
199
178
243
182
280
205
158
244
173
145
203
204
237
184
308
238
203
268
156
252
319
270
261
165
220
227
260
267
198
185
268
219
202
256
215
186
237
173
291
197
267
196
260
242
170
289
278
203
252
276
277
155
213
139
261
174
212
214
252
220
172
227
266
195
152
292
266
255
205
187
186
202
159
201
272
245
215
225
218
243
202
236
228
197
225
235
175
183
239
145
225
234
206
209
276
156
249
174
160
219
238
252
352
175
228
217
237
114
255
190
215
297
279
250
167
145
180
159
328
264
198
192
191
174
169
227
218
223
209
260
252
307
272
231
216
237
198
176
246
162
193
292
162
216
126
235
263
232
173
197
271
208
265
195
313
237
235
195
239
252
286
213
219
270
227
170
180
149
260
259
311
251
265
210
245
144
236
191
253
114
198
263
200
208
182
178
225
313
211
215
258
168
214
266
190
242
200
151
235
279
230
282
219
177
191
209
268
272
263
276
206
193
208
279
224
240
206
258
245
114
231
233
208
271
276
265
217
204
266
226
183
252
236
151
279
212
231
247
201
146
211
210
238
197
232
237
202
215
241
240
244
219
231
170
166
240
161
145
181
149
225
267
296
172
183
176
316
254
209
209
184
273
248
220
296
246
204
228
196
228
270
209
273
279
164
242
225
215
245
356
282
261
200
214
273
278
236
294
235
341
247
173
156
194
192
244
219
266
147
305
289
175
245
169
247
260
185
231
208
303
208
222
255
238
265
227
202
287
246
232
245
291
240
259
114
269
187
177
234
173
121
226
174
241
144
327
223
269
192
212
191
165
168
192
177
288
182
225
202
206
225
231
178
245
186
219
146
308
219
233
201
290
229
222
161
235
262
262
233
241
208
228
196
209
221
114
198
171
199
208
232
114
216
183
289
213
249
231
247
240
262
208
207
208
256
251
217
213
235
222
203
204
218
139
191
243
242
244
261
230
239
336
214
226
205
204
193
165
165
224
192
180
226
192
202
225
173
219
308
154
206
212
114
141
195
241
197
178
294
177
189
229
247
270
220
238
208
195
164
209
197
262
200
265
223
181
227
231
235
158
284
139
240
185
200
151
280
226
258
330
316
222
211
257
281
211
195
262
332
151
207
231
193
212
282
267
169
259
332
249
175
204
224
271
281
236
290
187
189
234
114
276
183
195
250
222
235
253
206
213
232
277
250
208
230
245
217
212
257
259
200
232
221
222
219
227
181
274
139
205
309
275
274
201
239
268
185
264
265
298
188
269
233
258
249
173
177
239
245
247
198
250
238
226
214
279
305
207
168
260
181
284
239
239
289
249
259
198
249
256
167
260
174
207
253
162
209
252
245
276
227
250
149
202
192
219
311
184
252
175
173
280
260
238
219
270
187
273
205
247
257
236
190
259
245
209
231
178
250
174
262
202
214
167
211
160
170
290
191
206
201
213
160
214
264
158
205
156
199
184
241
174
212
161
339
248
227
266
176
248
198
300
238
288
205
240
223
192
223
303
181
194
178
232
196
234
244
256
172
212
247
245
195
198
242
252
265
222
249
292
217
190
199
226
203
193
233
156
170
268
209
156
192
180
217
288
215
200
234
203
263
313
229
216
142
255
234
236
172
158
236
178
220
295
194
185
255
285
231
247
221
193
180
242
331
221
227
219
205
184
232
195
217
160
226
222
169
226
218
156
291
171
238
244
114
336
187
202
311
198
276
312
215
209
289
194
176
144
216
213
297
254
214
187
205
206
324
226
223
217
299
218
264
188
226
282
240
217
263
173
247
207
211
295
279
196
215
211
240
114
221
224
283
232
293
182
202
258
256
300
247
259
311
220
216
215
239
296
300
227
162
187
318
239
237
260
263
281
264
289
228
210
204
182
216
248
144
194
313
178
184
205
223
215
195
241
166
285
169
245
170
244
160
114
196
273
205
228
245
212
218
210
193
322
234
229
221
139
217
279
198
171
219
233
139
218
282
216
219
228
180
300
164
203
227
169
275
211
284
205
148
174
206
179
216
189
272
114
266
201
213
218
266
287
233
283
218
152
233
215
235
170
257
289
262
187
244
163
116
223
210
164
214
130
233
184
240
320
257
344
194
168
157
233
279
172
242
235
315
270
198
231
189
188
260
294
254
244
203
279
197
207
240
220
226
140
179
148
215
229
209
233
170
275
185
194
322
204
190
168
262
299
268
238
275
176
255
212
222
223
253
233
257
190
183
198
255
205
183
170
235
226
227
295
281
195
173
151
184
250
168
187
166
204
253
217
195
257
152
230
176
312
274
173
215
178
244
247
235
228
197
224
198
178
192
293
178
211
199
254
190
286
234
177
219
221
182
212
326
260
234
214
244
221
256
279
114
147
191
244
247
252
189
223
255
234
187
261
170
156
235
200
262
218
205
227
271
247
209
218
257
184
237
324
251
200
278
192
205
221
203
211
302
264
264
183
218
234
269
263
219
228
209
207
278
176
203
231
295
240
280
245
280
245
270
114
246
234
151
198
215
302
192
217
193
175
231
282
194
265
240
188
252
277
220
161
235
282
173
299
268
201
233
174
274
214
144
205
220
149
156
278
195
114
161
216
324
149
198
260
225
227
201
269
274
193
231
266
252
196
221
269
255
170
184
256
312
276
294
225
221
191
244
188
234
235
298
245
184
182
220
213
248
220
257
146
316
230
239
276
249
281
153
191
249
242
300
265
165
261
182
213
219
238
268
180
246
207
246
212
265
250
244
226
208
194
129
215
254
145
169
305
224
173
170
244
301
231
219
245
223
277
223
265
247
192
146
204
171
274
221
227
226
213
322
297
251
218
214
180
149
206
171
167
283
197
298
204
292
267
184
214
246
181
196
203
306
166
189
208
227
212
203
253
249
203
276
164
227
235
179
267
251
234
204
225
171
255
255
233
239
224
235
214
224
151
228
244
205
160
286
159
116
243
296
181
252
219
250
222
241
207
250
294
313
216
204
249
180
203
266
311
296
214
114
234
264
211
274
251
220
212
228
251
179
188
232
160
213
169
227
250
227
178
241
196
208
208
231
292
259
217
173
212
245
243
216
189
231
293
267
255
317
236
178
241
147
181
199
255
249
181
290
175
198
198
215
215
199
152
165
240
171
139
239
235
177
206
252
247
145
245
198
192
250
279
183
193
193
244
270
228
250
216
177
316
162
282
249
254
223
224
216
230
287
152
265
225
207
209
257
146
206
234
160
247
216
262
191
178
232
172
209
266
220
249
241
252
278
199
214
260
181
222
229
206
253
212
174
225
289
192
242
263
168
238
204
116
221
183
205
276
242
277
219
191
201
247
323
194
195
202
129
302
231
178
272
199
223
218
206
165
215
251
286
114
209
223
284
173
245
213
201
211
218
236
303
224
223
193
251
235
175
310
178
170
212
250
152
193
266
227
203
227
243
242
114
200
224
247
144
219
237
196
247
208
217
247
239
252
251
297
108
168
280
258
219
175
197
238
262
181
163
239
225
116
253
223
285
226
206
259
382
211
188
225
263
220
274
284
192
207
242
170
244
255
152
280
219
157
210
247
260
223
242
241
338
181
195
213
297
165
256
286
248
266
181
191
114
298
193
197
160
308
258
257
179
246
206
165
263
205
262
245
271
262
272
198
183
215
239
169
216
311
266
191
229
269
181
196
259
296
322
224
199
212
114
223
242
233
203
276
314
220
170
242
198
214
189
231
229
217
260
155
237
208
209
114
164
216
235
211
178
181
156
247
171
233
203
248
222
222
174
162
278
239
197
162
264
206
231
240
210
298
192
218
194
233
292
154
194
215
220
204
249
266
253
200
260
301
204
251
170
173
220
223
302
232
176
248
241
246
180
233
126
294
183
266
278
254
225
231
191
251
269
251
252
211
184
240
273
217
201
245
248
330
179
255
182
229
206
176
196
220
244
176
192
207
211
255
212
228
152
219
253
252
232
245
186
204
183
230
221
222
209
193
273
245
215
227
309
207
270
213
209
165
221
242
211
227
281
241
246
187
195
295
197
261
203
213
175
313
269
243
296
271
245
173
149
249
291
308
208
231
170
228
114
221
206
145
189
179
249
285
311
170
154
244
174
220
196
168
250
178
196
210
189
274
279
280
247
191
226
184
204
287
196
264
225
200
312
162
231
237
236
217
198
202
204
234
234
203
220
225
213
212
275
252
252
199
224
252
209
191
218
144
190
130
219
188
226
256
205
216
193
203
192
367
210
217
198
173
237
237
273
214
251
207
301
238
262
173
236
257
304
250
201
261
285
255
189
187
194
258
230
267
170
316
186
273
221
157
326
197
236
166
280
114
220
211
247
237
185
200
291
216
176
240
189
242
283
179
191
185
250
236
232
207
340
240
182
207
216
198
205
157
282
261
211
193
170
252
160
225
243
179
211
114
197
215
221
175
211
227
270
158
158
284
185
195
211
192
236
216
299
260
200
266
204
269
306
209
281
173
240
213
207
216
253
223
193
189
178
154
219
247
203
329
210
180
228
303
205
259
156
259
201
210
211
267
218
278
154
235
160
291
235
251
309
145
192
189
248
215
254
178
207
218
269
321
269
247
262
200
256
220
218
251
192
224
229
198
256
204
294
228
218
146
271
264
251
241
209
206
114
299
195
214
197
196
279
206
180
144
166
200
219
278
256
207
167
223
252
195
308
274
187
186
193
235
156
205
253
260
289
234
198
198
149
268
247
215
238
266
199
187
227
226
198
265
276
198
190
275
204
273
277
179
239
183
266
228
268
293
184
207
175
214
266
238
296
257
220
180
238
185
179
285
235
248
279
167
309
221
266
165
273
278
321
198
198
195
180
243
253
106
288
152
158
234
190
290
191
231
267
347
270
197
237
255
240
206
152
259
247
133
193
234
254
266
153
158
200
169
185
214
207
197
215
247
272
165
222
148
198
221
174
254
241
276
210
212
213
233
234
197
208
158
232
262
249
269
167
180
260
228
210
197
236
231
330
236
192
217
242
250
191
223
211
239
254
163
227
192
126
217
254
246
196
205
286
233
179
199
235
211
174
207
203
243
190
190
195
232
168
247
244
235
248
242
251
234
240
246
256
179
194
268
252
231
173
281
226
189
222
231
271
267
194
204
159
203
224
259
178
260
223
249
247
199
229
227
154
198
263
209
199
224
220
216
269
114
128
273
225
254
194
192
240
210
255
272
215
303
172
229
160
198
221
283
252
246
200
203
281
242
158
219
185
247
249
236
234
246
199
197
269
240
218
218
219
230
311
281
338
162
245
169
296
224
218
271
233
214
201
227
278
242
212
286
301
220
186
188
250
222
238
240
238
187
162
114
239
217
176
186
114
256
263
178
216
206
216
246
231
204
180
200
218
108
246
295
285
242
152
134
263
198
265
268
146
277
186
273
216
285
239
281
156
180
265
235
251
192
208
300
224
200
211
292
246
156
246
290
208
230
305
269
250
269
172
144
182
213
218
215
344
165
225
183
178
210
178
160
178
212
191
247
296
192
292
225
259
230
191
267
258
206
228
254
239
233
114
223
347
169
187
222
242
252
174
180
266
343
263
233
252
269
183
235
200
245
215
241
223
191
247
240
116
243
241
203
206
201
181
164
265
232
204
197
209
255
304
167
296
228
272
291
200
152
245
318
214
226
198
235
201
184
295
297
182
195
139
257
220
311
196
207
223
233
255
232
327
270
265
246
185
215
242
258
298
160
184
238
224
189
294
208
200
259
218
192
236
224
195
292
255
178
219
244
272
188
268
238
241
162
279
211
153
170
241
184
244
244
224
182
182
193
235
289
223
298
182
156
315
200
149
180
235
166
225
170
185
267
246
186
277
252
236
234
206
195
235
211
200
205
243
304
168
156
133
237
234
252
207
266
213
270
234
249
281
209
152
288
257
219
279
217
230
216
239
231
217
201
189
180
181
244
146
253
177
228
280
163
246
266
217
215
183
287
260
265
221
269
312
241
180
235
160
203
171
258
256
214
242
230
172
264
209
168
144
261
205
181
198
267
288
207
252
160
209
210
237
192
247
293
241
260
114
256
265
220
149
211
247
255
175
194
324
253
206
269
293
258
179
286
205
232
238
193
185
174
219
250
241
261
198
175
200
219
199
293
233
258
180
213
284
198
165
166
201
247
235
233
184
184
206
271
260
226
235
234
278
260
234
295
211
217
205
203
305
267
248
215
269
215
171
284
232
238
183
207
216
152
231
244
151
244
114
170
239
219
235
253
263
244
187
255
242
247
288
252
114
243
183
209
152
241
173
235
144
151
198
168
166
176
242
212
216
333
196
208
213
213
192
225
251
174
188
225
188
240
240
212
235
205
217
214
248
251
266
279
183
149
264
247
192
330
304
201
260
259
209
283
237
169
223
233
282
166
206
309
190
181
207
295
221
213
265
209
226
259
121
198
190
242
195
221
224
231
212
247
195
192
212
216
220
169
279
212
263
151
200
194
288
171
147
215
217
152
283
225
285
213
179
202
232
215
198
223
166
256
229
198
213
218
202
210
221
206
218
291
215
181
175
204
220
306
244
283
194
217
114
258
258
203
234
249
144
227
255
347
290
156
216
194
178
237
190
309
231
236
240
232
254
176
231
212
227
154
239
263
267
184
217
226
192
238
291
263
260
114
208
206
308
184
173
204
178
215
174
181
198
230
286
208
259
310
114
225
243
232
198
251
279
243
189
229
218
223
208
258
281
233
213
269
268
220
219
254
229
224
212
219
191
270
180
238
158
185
267
213
184
235
252
263
203
211
191
222
246
270
197
188
277
108
264
233
221
174
161
296
223
246
209
196
280
215
193
188
286
180
279
191
211
153
245
192
210
178
189
245
221
270
253
271
203
257
185
269
285
239
199
224
246
292
241
144
192
249
294
223
247
222
291
234
256
346
316
239
164
215
235
227
219
235
139
151
222
203
228
326
183
207
114
238
255
211
305
238
164
245
275
165
220
175
158
265
343
191
246
218
244
189
175
185
189
250
234
221
208
226
243
200
163
299
209
254
173
216
209
233
282
220
342
203
271
223
231
182
242
156
237
273
229
266
264
238
205
271
214
248
203
282
151
161
204
265
261
191
209
265
200
246
164
245
302
276
187
281
216
225
215
280
250
193
234
249
255
200
271
242
253
229
210
162
233
233
174
224
181
241
204
215
233
199
148
217
214
191
230
313
263
148
212
220
180
255
213
156
180
290
222
214
307
228
231
151
198
169
232
200
151
197
220
170
152
170
280
275
240
220
260
209
259
175
198
258
284
245
201
304
268
273
229
246
221
173
196
298
328
116
166
212
323
310
206
180
258
160
196
236
270
280
194
156
211
217
253
225
181
231
153
114
239
170
277
214
229
273
256
168
192
221
293
217
273
241
203
220
273
255
190
193
213
206
183
214
238
268
164
194
250
253
269
275
233
204
184
307
207
327
297
285
139
291
186
207
248
200
220
303
260
280
139
181
192
214
242
213
181
238
181
261
250
269
251
201
183
257
212
282
151
269
205
293
225
182
176
319
290
236
284
171
267
297
291
256
196
246
219
181
219
175
277
263
231
195
252
219
209
168
298
264
198
290
264
284
275
172
241
269
176
254
255
190
219
261
194
184
262
215
248
321
204
269
212
244
181
229
216
180
200
149
198
273
145
208
295
238
195
170
341
269
216
222
230
217
247
248
250
229
173
263
223
306
241
208
190
253
201
191
229
323
231
173
192
232
190
265
161
211
173
168
203
179
291
227
236
264
210
184
209
230
274
170
206
164
216
217
232
134
219
250
300
237
156
194
191
271
222
211
180
178
303
256
193
296
182
233
317
129
201
262
250
146
200
232
173
281
300
214
187
305
268
191
198
194
207
178
247
217
266
161
262
201
211
341
188
233
211
272
231
286
210
183
208
167
126
164
279
223
207
175
225
304
173
188
217
207
180
173
266
198
288
374
297
259
151
219
260
221
259
237
228
212
275
263
188
228
157
252
239
294
250
203
254
280
231
194
200
208
235
245
206
261
233
249
145
215
229
285
187
219
166
247
248
300
234
250
258
211
229
259
210
212
228
225
247
220
162
273
307
299
220
199
238
306
265
219
184
228
261
214
271
241
276
270
235
254
210
227
183
194
219
242
238
205
252
246
265
151
257
239
233
223
248
222
224
198
202
204
262
187
223
315
310
225
212
260
239
261
243
203
274
246
213
114
312
235
317
156
184
215
193
209
198
183
222
241
257
237
213
178
282
326
199
302
236
216
223
231
250
275
265
239
214
205
247
223
229
250
214
139
236
208
222
248
299
181
281
349
253
161
285
173
233
201
193
203
316
250
255
166
318
262
215
245
146
309
192
114
220
238
219
209
175
214
139
214
309
243
192
211
278
275
280
265
256
251
156
193
213
211
190
192
195
212
223
223
237
170
241
245
281
274
189
286
205
175
259
192
244
174
185
206
239
276
235
370
191
246
205
229
255
299
208
166
249
195
179
189
229
271
247
176
212
205
295
232
215
256
223
203
234
236
229
189
261
164
170
170
272
231
215
268
191
252
222
199
281
250
282
243
251
243
233
198
173
178
357
264
215
224
193
219
235
249
198
246
293
205
258
192
279
209
245
178
173
258
304
248
250
206
177
183
208
245
215
173
230
190
187
192
292
226
189
211
194
281
114
236
309
252
287
200
280
171
244
293
247
214
245
194
210
203
291
286
296
220
181
278
281
275
184
259
296
263
233
277
243
188
197
155
251
255
281
240
228
253
179
195
230
296
231
246
129
264
239
287
243
192
257
166
257
174
276
246
205
261
248
270
152
268
247
165
197
232
245
198
260
235
246
140
259
231
242
224
199
194
299
203
248
224
298
202
202
172
288
233
219
199
114
251
198
233
283
219
303
238
179
256
240
228
180
158
174
253
241
193
255
114
227
202
234
275
240
210
195
219
266
181
220
216
253
243
257
235
226
234
249
221
173
278
296
195
170
183
320
257
309
174
214
176
185
202
266
213
234
263
243
255
178
237
145
114
173
193
229
220
228
325
248
246
201
241
274
215
130
217
172
249
247
237
300
205
238
251
282
192
313
283
126
276
166
184
295
205
256
227
277
192
209
310
276
240
206
273
234
318
189
233
204
233
169
244
190
191
246
218
167
207
166
175
244
285
239
247
192
246
245
248
172
223
154
220
267
289
190
329
196
189
250
247
272
275
178
285
147
281
239
192
161
245
266
218
175
178
173
214
208
249
211
295
175
171
322
197
169
195
225
239
201
211
206
221
272
163
252
194
243
262
164
195
203
200
285
194
263
251
178
231
197
250
260
147
272
167
365
245
180
241
197
214
219
196
228
227
160
247
185
241
162
192
212
243
203
219
196
208
263
188
272
219
206
149
234
236
224
196
214
229
200
271
222
190
229
256
200
223
202
315
184
211
144
188
176
206
234
130
179
294
187
220
209
292
248
174
188
194
192
246
231
195
290
257
188
254
264
228
179
310
237
270
163
258
158
160
179
218
300
218
234
212
174
237
206
204
182
288
288
225
233
320
185
233
260
280
216
224
269
253
189
301
189
247
261
296
175
174
254
247
238
249
243
224
189
232
287
223
271
229
266
333
147
264
279
179
215
215
232
239
262
162
228
206
296
200
276
309
298
206
173
286
197
270
222
191
230
174
200
213
208
262
222
281
252
293
210
316
254
207
174
165
167
275
250
236
249
212
261
252
267
284
216
205
311
209
193
263
251
177
233
290
265
251
248
197
237
203
179
226
298
255
239
168
180
263
184
250
253
259
259
270
236
214
219
192
231
285
220
256
209
246
198
246
261
170
154
210
281
215
213
238
284
297
260
241
220
210
272
243
217
215
323
178
321
240
193
253
189
198
327
240
204
168
241
171
197
238
188
225
266
246
197
238
213
266
173
318
253
185
224
145
210
198
217
194
220
181
169
247
206
262
149
185
261
154
170
257
212
175
293
260
114
181
233
196
209
218
171
195
260
226
286
286
253
166
149
256
263
205
245
253
178
327
262
210
264
252
209
167
234
231
231
173
277
266
270
221
220
212
229
142
176
175
171
262
238
267
204
261
252
245
292
211
235
352
198
251
184
306
325
206
208
274
242
199
213
311
223
210
224
253
224
228
308
156
180
181
270
283
284
189
203
243
257
271
246
151
249
173
236
198
270
205
220
129
212
178
190
201
200
286
216
225
277
208
286
156
231
279
154
238
204
247
304
284
234
194
164
231
222
191
211
214
220
244
224
245
246
137
196
108
178
215
221
259
168
168
238
184
228
207
173
237
169
220
222
245
265
166
277
298
284
208
342
273
206
277
265
216
248
273
218
147
122
214
241
226
148
315
243
254
174
202
272
241
139
165
212
277
160
194
285
247
211
272
211
305
272
245
172
169
121
263
228
204
224
168
254
289
289
271
237
192
329
238
191
323
182
264
210
210
271
194
328
174
200
273
302
209
145
197
155
160
274
210
263
229
301
170
183
271
240
308
272
259
181
194
205
249
251
195
357
257
225
258
262
233
235
190
246
161
241
234
277
267
302
169
216
208
224
116
270
259
186
235
215
156
196
216
242
263
210
260
207
217
275
232
300
108
208
308
179
225
215
181
270
241
208
294
231
181
217
240
209
170
229
175
178
210
157
204
196
264
166
237
301
217
195
238
333
273
306
304
139
247
204
291
190
190
174
236
192
178
139
222
208
199
172
187
305
210
211
233
258
139
209
268
323
261
238
160
273
195
200
285
114
154
259
277
185
280
170
261
189
265
159
146
238
290
267
184
240
208
229
225
222
160
221
218
233
189
273
315
173
295
256
273
154
252
108
255
304
207
267
177
213
321
187
191
208
194
231
237
232
198
196
217
296
231
279
228
292
185
230
191
228
241
214
154
194
267
178
184
189
210
275
237
155
129
253
246
242
239
298
220
176
193
218
179
209
255
257
250
236
255
157
317
186
114
320
183
144
199
238
230
203
267
266
282
192
263
244
190
198
178
305
201
202
197
305
272
278
190
207
252
304
255
230
246
266
293
235
278
298
233
304
206
189
201
241
173
203
144
178
144
289
212
267
208
302
161
254
259
347
162
175
181
218
185
279
174
234
178
266
268
246
204
237
261
178
262
294
175
189
289
193
194
253
165
279
175
218
196
236
243
195
170
246
241
180
273
322
198
191
240
191
206
242
218
167
230
219
218
309
220
164
203
196
244
202
151
205
316
285
316
260
185
209
235
258
242
210
209
197
297
259
253
233
209
239
195
251
266
196
188
227
182
179
145
305
251
235
158
191
256
184
189
268
137
175
276
238
227
198
195
160
239
225
265
208
182
203
252
224
192
295
288
257
218
263
307
227
185
268
248
270
207
208
195
247
250
331
219
255
149
221
256
201
293
222
250
215
288
191
210
272
151
203
175
248
254
269
211
206
146
215
139
263
246
274
213
300
170
336
156
314
233
178
209
211
218
190
152
234
193
222
178
233
258
213
225
169
275
280
242
232
261
267
195
250
266
216
223
186
322
252
191
173
215
179
165
260
248
277
139
220
254
207
158
194
207
277
173
261
260
212
318
176
303
227
341
218
221
264
239
243
199
225
210
328
234
156
213
222
279
207
347
170
158
295
185
199
190
260
209
215
228
284
269
279
263
260
241
202
114
296
193
254
309
178
262
247
152
290
154
244
162
252
309
289
217
233
247
219
309
242
270
250
191
173
239
296
160
194
219
208
172
232
238
311
223
197
184
183
214
160
234
273
250
227
181
222
224
316
171
208
231
195
241
209
186
114
207
296
189
232
154
156
237
242
198
270
234
270
240
196
180
309
215
228
189
184
229
186
258
191
231
170
192
186
238
207
270
233
306
214
268
221
302
254
175
215
278
213
227
114
226
248
232
286
185
252
237
235
235
298
151
241
205
143
170
190
174
330
190
235
231
187
160
231
190
275
183
240
170
204
231
158
231
227
177
291
190
207
215
224
213
192
234
188
173
225
203
204
193
275
233
287
195
316
252
270
274
193
257
207
237
219
294
254
280
305
289
221
213
248
225
216
259
238
191
227
232
247
253
218
176
223
236
220
248
210
265
249
163
282
234
252
256
268
230
168
135
200
259
246
259
200
269
245
196
198
195
236
278
314
248
230
213
260
251
194
182
114
244
240
215
318
186
305
214
233
195
258
256
144
285
361
212
156
225
306
262
212
285
139
215
195
205
246
189
245
245
225
178
185
196
225
195
207
170
236
243
275
243
256
245
212
280
192
159
215
252
235
309
260
173
219
286
199
126
188
234
222
325
251
235
262
266
199
187
214
244
302
238
253
296
195
209
205
245
227
313
325
300
185
236
224
195
237
251
204
160
233
280
244
259
215
245
265
234
212
284
253
144
227
227
168
223
224
231
239
262
166
193
152
146
210
212
176
181
220
221
221
192
229
179
271
175
147
225
190
262
243
247
227
209
114
258
208
198
160
164
194
241
114
166
184
206
216
211
217
298
208
190
224
225
253
204
247
225
244
227
242
224
262
151
146
214
180
214
258
298
146
332
265
281
185
169
201
198
250
298
294
144
306
255
253
195
268
189
282
204
205
278
257
140
170
193
221
201
198
158
226
246
275
169
212
170
230
242
210
287
264
198
244
257
286
185
230
228
170
232
199
269
271
234
185
175
193
121
173
198
189
193
187
231
208
261
208
281
259
219
240
245
193
191
238
236
301
316
261
315
228
247
167
269
235
301
235
156
238
239
203
176
229
300
233
303
234
198
169
186
218
240
250
227
184
303
327
241
273
190
225
266
178
229
289
241
187
263
298
236
157
178
114
281
263
154
161
202
301
280
158
179
230
153
218
252
290
244
246
194
158
257
243
225
200
149
180
277
114
241
257
318
209
223
166
265
183
265
313
231
234
242
277
246
232
296
178
177
222
270
281
163
262
215
234
324
246
213
213
228
177
114
193
218
167
196
197
228
207
254
240
245
214
289
228
270
230
288
252
252
232
191
246
182
178
212
169
218
253
200
250
193
262
297
258
199
233
286
259
299
220
285
210
207
209
225
207
214
170
239
228
192
248
253
200
246
126
157
238
241
215
253
301
172
271
192
233
309
196
152
233
233
230
211
241
181
181
256
239
234
271
207
213
178
181
177
169
178
217
191
175
249
171
306
251
211
139
296
206
235
218
243
179
278
184
214
232
157
230
260
245
196
184
229
203
180
309
219
309
173
236
214
189
270
252
206
249
297
254
221
219
234
201
172
247
209
235
277
193
255
137
204
301
238
222
181
208
253
246
229
222
269
204
228
270
196
228
246
250
220
197
262
250
224
230
286
254
234
246
186
243
240
174
214
244
219
269
235
169
294
159
228
264
182
258
189
192
285
167
144
237
194
279
283
262
192
146
219
261
255
185
240
177
255
219
267
190
238
166
324
241
173
225
179
267
282
210
151
181
285
210
216
211
245
196
106
227
262
298
229
203
223
228
244
162
129
114
238
193
198
209
225
238
222
279
235
114
238
305
214
198
252
151
191
225
299
187
177
252
227
184
200
283
243
303
188
213
198
247
266
262
258
315
287
245
210
129
268
173
274
226
230
282
237
293
237
174
243
227
225
273
212
220
203
318
277
176
310
180
226
317
231
207
253
152
225
177
272
224
286
168
197
152
266
255
287
160
222
187
294
256
210
214
194
226
167
275
227
224
139
219
189
186
214
198
251
174
171
319
260
219
225
202
213
190
273
265
192
220
234
267
193
239
213
195
108
274
229
278
231
149
279
188
220
166
192
231
243
230
163
272
210
227
246
252
300
199
223
226
217
192
223
179
239
181
239
198
273
243
279
260
251
191
256
260
219
237
278
250
228
176
248
210
191
171
270
213
219
213
217
264
169
266
261
211
256
213
160
265
235
254
221
247
206
285
187
218
190
275
202
259
254
174
165
253
198
202
152
237
248
275
223
251
221
273
152
321
259
224
234
159
311
179
171
211
309
180
219
240
211
210
257
169
217
168
241
212
198
234
226
220
163
215
232
248
186
257
200
291
224
178
253
198
174
235
241
166
203
215
248
313
114
169
161
210
255
215
175
209
233
211
204
182
184
238
201
146
195
259
224
247
184
284
225
106
263
256
167
232
240
208
254
171
306
290
199
258
244
223
128
153
170
322
193
254
229
152
231
263
248
278
243
232
199
192
156
198
194
193
277
140
139
265
188
247
244
191
192
267
252
252
334
203
195
214
181
176
206
250
168
222
207
260
303
259
200
158
206
213
207
233
204
114
181
106
204
268
290
231
336
207
326
224
221
129
269
241
286
198
304
247
251
220
249
232
196
232
261
238
222
196
302
166
308
189
210
170
193
219
237
214
248
201
274
277
170
156
194
277
268
248
313
262
172
236
292
114
271
190
247
223
210
256
240
239
236
309
323
198
233
275
235
198
342
264
173
258
191
260
185
126
222
225
149
187
180
222
182
168
230
170
209
159
265
267
260
223
272
181
181
234
234
253
197
221
300
159
173
248
298
202
220
177
267
249
285
278
208
267
222
209
245
214
223
224
270
203
265
217
228
208
249
227
222
198
242
161
231
246
248
203
230
164
272
160
164
198
156
205
270
152
226
246
221
215
212
252
265
245
254
178
251
286
192
249
277
214
271
245
149
218
267
196
266
183
221
188
230
168
326
246
152
261
173
191
256
253
326
209
255
254
224
224
240
277
173
186
205
248
237
246
262
156
240
252
181
263
241
280
212
200
214
205
308
212
194
160
209
230
177
190
263
261
211
242
198
262
180
175
259
196
181
240
232
260
264
250
139
146
130
255
220
187
232
192
234
183
193
226
232
222
230
171
236
269
179
207
182
216
257
243
126
185
295
179
207
207
171
239
160
247
212
245
290
208
253
298
238
246
181
232
261
206
235
212
239
185
243
180
248
247
193
279
250
212
223
218
242
195
222
220
215
241
193
201
262
216
299
249
227
198
191
253
313
231
181
214
277
174
162
277
249
216
179
169
301
212
160
226
274
236
222
237
209
282
276
193
225
224
225
272
167
170
169
198
175
181
204
214
198
152
188
206
168
243
234
154
241
177
230
285
197
366
175
170
248
348
197
164
275
218
210
227
298
302
242
181
252
184
202
197
175
237
211
244
198
232
321
176
211
259
223
251
240
286
161
215
235
295
257
247
232
213
198
244
253
215
253
220
259
294
196
239
170
244
194
213
222
175
211
236
274
211
202
244
253
327
226
211
239
253
165
232
209
245
203
231
204
249
238
245
212
211
177
157
225
204
179
195
229
204
245
216
287
193
236
205
263
289
154
199
220
194
248
220
257
213
173
278
283
276
230
133
200
243
241
198
273
211
224
184
149
168
232
277
176
222
189
288
255
278
235
214
108
212
229
238
191
208
137
201
246
215
186
220
190
301
191
237
209
272
241
154
212
288
235
249
283
184
281
238
210
255
176
184
201
219
229
371
235
223
237
225
191
158
199
226
170
151
208
245
267
260
181
171
233
204
190
206
243
219
260
193
281
209
261
246
171
178
215
252
234
262
286
293
160
174
173
207
281
192
243
227
301
226
188
232
194
210
261
239
266
241
277
268
178
246
108
227
191
195
245
250
301
181
232
246
258
206
247
171
187
144
280
217
233
183
194
206
211
225
169
201
250
278
256
179
284
175
243
216
246
216
198
247
206
264
268
195
184
169
210
192
222
238
267
173
217
262
139
235
201
188
230
220
156
196
200
170
240
255
174
221
230
249
208
178
173
264
248
240
290
267
156
215
211
251
255
299
277
199
163
289
220
180
291
221
173
261
209
229
218
246
253
234
257
241
216
256
221
240
221
211
226
280
201
306
191
203
314
302
227
270
239
181
208
199
151
248
188
202
145
265
148
202
188
266
249
238
201
194
273
217
244
175
256
191
175
217
203
217
297
237
184
172
266
214
195
297
190
255
114
261
297
217
279
227
165
225
257
232
235
194
158
286
170
161
171
208
221
258
231
207
230
201
240
257
307
230
213
206
234
192
209
281
144
181
249
221
279
211
258
233
286
296
232
208
252
282
232
226
193
253
245
130
198
153
215
170
325
209
216
197
234
181
257
257
261
267
171
333
228
221
168
306
367
268
211
290
220
173
294
149
274
265
178
249
188
181
180
250
195
248
251
211
317
229
225
226
225
262
189
197
224
196
199
179
232
214
285
198
164
169
297
209
233
192
128
280
243
237
156
215
214
250
282
256
233
307
311
182
237
195
365
210
284
254
218
229
218
170
225
198
244
166
232
245
156
232
210
282
259
221
217
183
240
181
144
246
170
191
275
230
204
245
116
287
259
258
226
167
209
268
206
187
311
314
254
262
278
214
174
179
278
260
252
215
198
221
198
315
238
218
235
273
207
219
178
240
232
277
226
208
267
228
173
194
286
244
221
179
247
165
202
193
228
206
292
249
173
225
235
230
230
195
259
235
218
233
201
228
237
205
160
273
196
235
230
231
239
211
189
251
264
264
263
234
219
227
219
183
244
202
267
139
180
202
225
203
226
189
291
182
166
167
202
160
249
302
207
177
170
330
245
266
212
298
247
156
257
276
174
323
235
169
223
222
206
246
227
227
232
277
254
235
172
261
224
264
246
260
247
217
231
249
315
288
218
214
182
230
114
220
306
219
176
239
299
195
200
207
235
169
272
162
237
263
202
187
277
254
288
250
199
254
114
235
225
279
152
147
176
282
201
243
243
190
251
214
203
178
217
205
268
198
226
245
178
227
211
199
255
195
192
280
271
225
258
207
250
222
172
220
188
253
251
231
222
180
240
137
192
280
214
146
205
323
202
216
223
181
221
228
212
220
154
210
236
224
183
156
265
197
288
239
239
231
212
170
198
114
126
214
185
224
238
133
212
235
210
238
181
286
228
207
298
222
190
210
156
244
133
170
297
152
234
232
146
240
173
264
203
209
260
293
248
186
235
126
193
220
213
183
222
214
198
204
200
228
275
253
210
114
129
167
198
129
240
205
252
273
202
235
160
290
195
183
235
312
218
187
229
166
234
154
278
260
200
276
245
179
305
268
208
202
212
240
178
275
205
195
178
234
184
201
230
248
157
219
259
144
289
179
238
249
200
170
270
223
108
222
219
199
149
183
278
250
258
328
237
206
257
227
237
221
230
205
234
187
216
204
251
252
201
201
216
197
252
192
199
276
263
212
237
175
353
219
166
233
255
227
269
198
314
215
317
145
238
252
164
180
215
252
212
237
293
177
199
239
270
278
171
219
192
231
182
172
318
231
223
198
213
162
296
175
206
199
219
229
182
204
184
108
267
196
173
204
249
239
190
195
276
259
183
251
213
170
180
304
304
149
229
178
167
204
201
327
219
168
299
256
215
205
207
221
198
177
247
229
227
133
182
312
241
160
221
253
226
256
250
232
219
253
215
222
250
284
189
242
273
219
291
252
180
246
217
129
286
340
229
233
285
168
114
196
216
250
184
248
272
255
289
193
186
224
199
264
233
234
126
209
210
228
261
227
181
194
244
166
228
226
242
225
248
199
151
246
222
180
204
250
256
210
232
202
274
173
209
260
185
240
243
262
191
193
214
230
145
283
191
226
240
191
199
114
249
166
289
164
206
192
253
278
302
238
154
146
241
236
126
270
202
172
236
251
158
190
227
220
217
168
251
173
297
170
245
184
180
221
251
226
240
162
229
171
196
303
298
206
251
317
188
286
213
219
185
225
213
280
195
178
185
292
205
258
260
239
227
192
209
191
248
262
265
196
269
254
215
154
208
149
261
170
233
235
165
322
183
174
227
266
213
208
241
271
269
251
209
262
216
185
318
214
226
227
237
282
242
242
238
217
188
258
152
166
225
238
276
283
212
250
269
260
217
161
176
211
183
172
323
262
208
262
256
233
244
180
266
247
266
139
200
180
175
182
145
244
193
235
235
231
277
242
296
175
212
205
182
217
295
163
247
242
180
198
253
245
196
203
300
233
176
227
271
260
251
226
192
179
200
238
211
178
192
114
149
234
233
196
292
230
237
176
178
236
173
233
244
256
209
203
242
260
227
290
213
257
216
170
241
218
232
287
137
199
253
222
234
173
158
204
204
307
255
134
160
213
199
237
156
353
252
280
229
214
219
327
126
264
171
220
245
253
260
156
184
268
217
327
230
182
177
220
193
229
167
260
297
241
139
279
219
177
184
217
241
182
215
194
263
223
253
194
157
230
238
260
192
189
139
228
224
226
244
220
352
282
193
241
229
180
222
238
223
247
221
302
339
154
284
241
257
230
234
281
197
207
217
139
192
181
193
244
260
230
266
230
181
230
161
313
173
232
222
194
320
221
215
200
221
114
165
214
208
272
196
154
199
182
208
252
203
205
273
168
205
292
270
235
205
270
198
242
265
241
231
205
270
226
273
275
214
262
196
248
233
236
228
214
278
182
286
241
205
177
315
184
218
195
232
140
294
163
240
203
267
251
250
169
272
212
203
216
215
205
247
194
205
242
244
237
223
207
171
170
266
254
207
189
316
191
270
232
152
207
212
221
184
203
285
160
217
265
320
236
323
170
290
272
246
281
213
198
291
215
242
114
219
114
188
268
174
226
162
302
200
181
214
231
260
184
197
259
225
236
209
129
222
195
267
201
187
210
233
290
181
249
206
299
243
255
227
198
299
245
192
246
202
187
209
196
260
250
225
196
205
325
171
262
211
178
213
233
255
192
192
324
213
247
216
232
240
263
198
221
223
235
301
253
286
172
146
230
232
279
180
250
208
206
194
176
257
300
221
242
237
213
186
213
197
260
231
192
244
216
210
222
252
239
222
207
227
265
242
258
184
243
236
219
224
261
211
177
209
193
243
263
194
254
238
207
254
233
345
190
210
220
268
339
232
196
234
246
148
310
184
245
216
275
160
225
254
193
179
220
226
185
244
219
205
246
242
222
246
246
253
313
245
242
280
223
199
330
210
271
178
181
198
183
227
210
246
261
242
259
196
271
184
241
175
180
229
228
264
178
235
251
258
190
241
347
252
218
233
178
266
260
263
170
162
165
221
215
282
148
188
158
219
274
251
216
207
167
222
224
207
196
224
178
232
191
305
295
232
249
217
244
234
244
241
182
195
199
250
249
191
211
266
230
216
308
200
166
258
198
224
114
240
114
238
254
139
297
187
211
209
322
192
245
210
232
184
231
244
182
302
315
261
234
242
249
254
181
165
190
165
197
193
194
251
282
202
300
255
201
271
200
263
257
222
163
204
201
253
232
253
130
290
239
292
156
194
187
220
215
157
194
174
234
277
149
178
126
210
189
106
221
188
221
205
215
309
233
232
222
286
216
246
239
259
181
153
181
304
236
180
273
197
156
226
290
247
186
178
178
203
254
282
316
230
271
137
277
273
234
203
207
240
196
291
159
299
258
154
165
167
199
273
372
290
190
260
253
231
295
279
192
264
231
305
187
211
276
214
223
184
271
233
245
180
246
226
152
227
292
266
166
247
278
236
206
211
266
282
195
173
313
205
204
267
221
282
212
232
225
358
314
243
172
252
200
325
208
248
222
281
245
221
231
231
195
189
266
186
267
169
245
180
239
236
212
204
212
194
233
202
214
279
240
196
228
129
160
255
217
184
236
208
264
126
173
291
201
188
236
162
315
194
234
234
199
229
199
214
256
144
149
227
203
262
213
270
241
222
215
152
200
272
211
232
272
128
218
220
184
160
224
267
152
192
333
220
213
214
210
214
234
184
228
285
215
295
254
246
248
239
169
229
169
157
287
186
213
254
237
177
114
219
271
297
311
294
244
180
221
190
270
261
271
152
171
221
187
230
231
144
216
211
307
236
197
242
228
231
215
271
291
201
202
208
252
251
160
212
192
190
152
170
270
228
246
217
239
299
233
267
245
230
244
244
281
224
206
206
317
114
229
216
243
194
241
233
231
229
193
300
114
202
232
260
235
216
243
235
188
170
280
230
201
268
284
290
193
207
266
220
235
214
178
250
216
184
197
218
219
198
221
281
207
176
227
348
146
177
259
235
265
208
237
193
192
222
195
178
247
210
183
207
224
265
202
214
181
230
203
262
177
220
164
258
170
245
241
276
193
231
244
166
214
277
176
263
264
229
240
258
245
232
160
241
220
297
303
227
329
297
250
234
219
281
258
253
246
237
229
228
314
258
213
246
170
255
197
203
201
249
194
221
182
289
252
196
193
216
253
189
216
187
216
168
160
334
227
176
294
248
243
225
225
320
204
175
181
194
292
185
166
217
205
213
257
248
293
156
274
251
262
209
212
287
241
228
261
196
188
238
228
163
211
250
237
271
197
177
297
223
254
198
203
167
297
310
237
234
190
181
241
187
207
256
203
201
121
205
186
239
220
196
181
275
248
226
272
206
214
246
253
214
193
183
288
255
322
161
233
285
227
254
201
175
246
269
328
169
154
238
192
203
271
298
252
184
246
297
266
262
260
153
222
199
214
222
198
138
231
256
208
168
179
245
242
170
197
223
233
169
331
285
259
231
286
293
173
334
208
252
228
206
265
210
297
305
176
201
133
257
255
192
268
283
259
216
184
187
270
198
154
221
228
270
268
191
145
152
130
114
244
307
173
174
241
203
191
278
213
186
235
180
179
210
183
159
269
239
233
293
215
173
232
229
223
167
303
191
255
230
246
241
174
319
244
216
252
277
309
145
198
198
211
207
198
208
233
227
228
270
147
215
242
170
173
186
253
175
238
252
163
262
175
223
217
288
153
241
198
181
222
241
282
249
162
193
231
195
280
266
158
257
215
252
280
182
319
234
157
247
257
225
147
194
281
158
234
198
219
239
188
257
200
193
190
235
162
207
258
220
169
300
202
289
228
229
186
160
217
186
215
221
280
169
233
230
197
248
231
228
166
273
158
229
255
177
185
168
258
200
296
238
253
158
271
252
233
254
217
204
282
175
265
264
251
198
209
236
254
252
180
188
244
202
176
252
145
233
226
223
175
264
259
275
169
208
241
181
267
234
247
203
225
226
188
209
305
210
175
273
186
270
311
297
197
217
213
188
160
258
209
258
175
246
286
160
208
235
240
137
238
281
251
290
286
199
186
267
196
216
219
161
297
157
108
250
246
255
236
259
246
297
311
237
239
250
260
185
250
178
260
185
232
214
114
265
181
191
244
198
192
208
114
190
184
260
153
188
156
144
230
204
216
309
174
255
220
205
156
298
187
235
241
194
247
261
198
189
192
233
243
314
177
181
261
189
235
225
299
199
272
225
167
173
233
179
221
231
156
266
226
213
275
170
254
247
148
174
174
215
255
146
178
232
257
194
216
217
160
193
141
259
208
245
274
166
322
190
252
174
257
209
193
229
177
235
209
274
180
229
281
246
318
173
262
256
259
198
238
224
278
250
255
217
342
184
227
121
154
266
231
251
214
258
214
267
270
204
213
245
265
241
244
306
172
241
216
269
267
169
266
283
277
180
255
265
258
220
254
231
246
167
231
325
134
277
139
185
253
265
200
206
261
299
290
214
190
240
239
215
241
284
211
304
240
237
204
258
197
270
205
242
167
192
145
194
232
234
236
198
192
213
198
228
218
238
235
251
212
185
178
210
324
247
139
173
209
172
158
225
311
160
261
244
265
223
207
108
248
241
173
240
261
189
226
276
210
183
214
229
188
250
178
293
187
204
278
114
247
156
219
251
116
270
220
220
226
346
224
180
266
290
162
201
309
181
186
246
294
251
244
114
187
258
222
162
261
206
266
228
278
176
164
209
231
242
246
160
253
211
196
261
299
269
205
162
323
222
271
234
190
334
235
217
147
178
222
219
227
226
284
187
218
201
261
310
251
331
252
205
247
276
314
208
152
284
222
158
313
114
144
198
269
156
240
219
184
193
273
299
258
246
220
168
240
208
195
167
220
185
224
197
229
251
214
219
267
243
209
197
253
253
289
301
303
229
234
211
215
218
145
303
219
180
238
219
238
114
238
221
191
156
285
203
240
270
200
205
246
188
209
201
217
279
292
212
273
181
203
230
249
114
236
193
275
209
226
178
337
225
231
164
202
208
242
262
269
217
186
232
286
175
152
199
260
226
247
211
291
215
231
164
253
229
241
244
244
231
214
237
146
220
160
238
261
229
201
198
207
256
186
161
254
278
184
299
199
216
259
269
203
266
218
245
151
274
208
227
242
184
214
219
235
260
256
180
279
283
320
278
292
174
192
191
213
233
164
269
192
243
174
207
282
205
322
240
160
166
251
193
220
254
246
156
192
223
246
184
268
216
248
184
255
209
270
228
226
212
258
222
246
279
211
255
237
252
114
179
265
212
215
167
206
217
294
219
205
221
259
218
263
258
249
264
233
198
232
220
247
169
223
252
178
199
265
346
222
213
258
193
116
174
265
126
198
199
245
203
163
207
170
173
206
171
232
203
276
270
222
330
151
147
212
162
230
179
184
240
311
246
267
189
114
197
178
201
195
160
163
193
199
173
166
285
283
183
266
237
199
212
221
166
225
173
213
322
198
203
237
186
170
273
170
267
243
162
244
238
279
176
145
172
181
226
154
221
167
274
310
175
264
211
213
264
245
248
325
205
171
222
215
258
114
209
227
251
215
300
290
221
213
232
193
214
178
191
233
324
216
211
247
209
191
205
183
205
162
295
178
170
259
184
285
241
179
257
201
275
178
144
204
199
255
152
183
114
198
192
202
180
298
274
169
233
270
188
243
291
233
193
231
198
215
324
284
207
190
232
170
190
257
190
237
174
269
256
171
290
265
318
213
287
242
290
233
231
171
165
229
208
170
256
249
235
170
213
228
195
201
206
235
268
268
226
175
144
164
197
199
144
219
168
280
189
195
215
174
320
221
170
289
229
114
200
309
219
329
267
206
170
211
184
180
222
215
252
196
246
345
254
225
200
211
147
153
114
195
156
241
253
231
248
202
146
215
198
246
201
262
217
209
194
256
221
252
193
273
289
213
208
264
168
183
261
270
171
208
207
228
156
247
244
274
288
206
225
202
282
184
192
298
213
231
178
252
219
176
207
258
229
158
229
213
236
218
195
216
271
249
189
244
224
198
326
202
223
192
215
180
215
216
198
209
282
126
282
206
233
212
144
172
279
151
209
253
304
224
114
244
114
225
336
163
272
191
225
253
220
255
151
172
208
220
220
270
292
281
232
230
271
232
239
287
241
230
309
234
218
259
253
258
239
254
152
217
308
172
199
218
230
211
180
181
209
243
198
313
208
248
228
194
206
223
200
269
204
210
281
198
264
300
242
282
201
209
332
174
214
148
176
181
160
278
273
178
149
237
202
251
294
277
219
218
245
186
176
203
294
272
268
245
225
224
227
126
310
152
209
210
284
211
272
194
299
218
275
212
164
278
165
193
244
213
292
211
248
186
201
296
194
212
237
276
225
283
281
218
349
243
186
170
278
220
216
268
200
182
285
269
231
214
193
241
257
145
183
232
230
200
281
173
201
188
176
265
243
213
178
242
180
279
224
247
217
192
214
268
295
259
256
186
155
239
156
231
200
236
165
198
229
213
160
278
256
193
234
249
188
261
211
231
188
229
234
206
183
199
168
221
269
249
202
253
224
265
188
218
261
236
149
339
284
175
267
177
207
273
213
323
278
314
198
231
281
214
266
255
322
215
252
206
193
220
166
231
168
250
285
208
192
192
234
190
221
197
213
114
246
244
195
245
246
260
208
258
218
229
334
209
208
114
181
216
209
195
188
256
256
230
188
207
235
106
176
265
244
150
193
224
289
273
258
179
312
222
177
265
206
180
251
239
189
206
204
192
259
219
249
280
230
218
310
231
245
139
361
218
269
220
305
242
244
272
296
235
206
206
175
145
213
256
211
214
224
186
171
214
211
225
280
181
218
180
180
211
222
243
188
263
228
281
218
152
264
241
198
270
180
188
176
206
290
239
252
182
162
233
130
165
186
228
203
182
228
191
219
229
321
199
248
187
250
234
178
133
260
226
246
188
192
213
188
239
286
303
252
151
263
249
308
206
227
152
238
271
270
227
265
160
231
209
194
274
260
215
114
165
184
214
309
235
267
211
151
187
196
268
269
284
174
260
217
208
230
217
188
225
233
184
164
206
296
269
252
276
108
280
233
270
262
335
259
186
231
198
244
173
222
166
162
257
180
174
242
146
188
204
255
217
156
271
209
196
214
178
245
178
245
184
251
183
224
179
146
219
299
263
173
210
166
182
241
256
161
198
226
226
259
224
233
178
286
262
154
177
177
194
216
276
225
214
281
284
210
236
192
240
306
254
184
354
185
267
187
293
214
324
114
180
114
254
205
240
262
306
249
245
239
180
196
222
227
238
204
108
227
200
256
233
218
220
183
235
326
206
280
257
226
235
254
300
228
237
278
210
232
236
209
237
199
260
323
242
170
160
160
206
287
267
235
259
191
220
300
235
249
215
187
332
234
207
244
218
176
226
160
181
182
261
312
170
279
347
226
209
176
283
160
243
215
225
282
173
230
226
272
215
264
202
201
237
184
217
364
203
193
298
180
206
238
198
200
152
275
227
245
221
192
203
177
229
233
230
204
204
228
297
226
184
203
193
224
246
249
208
252
274
224
222
161
214
205
333
231
212
188
231
245
266
232
249
253
275
255
250
222
178
197
231
280
204
220
196
163
248
209
285
162
213
219
249
209
220
202
212
139
247
265
164
268
232
256
224
255
220
269
238
200
267
170
224
160
224
179
364
274
193
236
172
265
228
243
240
210
211
179
235
271
230
253
170
171
205
126
157
221
256
248
173
200
230
223
253
177
197
267
317
266
240
168
280
261
266
141
159
184
230
278
235
206
235
221
227
192
151
154
263
220
240
227
333
217
255
214
383
172
195
256
197
158
158
213
176
213
281
248
229
193
211
215
229
285
161
220
197
148
264
308
308
310
190
153
190
335
196
253
262
289
303
257
206
202
204
193
292
264
265
280
220
236
264
237
293
161
229
272
207
139
234
238
144
229
223
152
236
226
215
225
266
224
299
203
223
187
194
185
215
193
161
348
228
267
175
178
184
185
204
243
216
235
249
193
206
223
213
261
178
216
225
239
250
228
296
194
255
173
261
152
193
279
282
307
161
221
223
248
284
200
213
256
154
216
114
191
233
269
195
214
290
268
147
227
249
228
253
302
243
174
240
202
274
151
209
237
209
213
293
231
247
166
168
267
200
218
181
233
130
126
212
157
198
188
255
277
152
273
229
191
171
171
258
178
340
234
165
234
238
202
197
193
156
235
246
233
219
229
208
230
202
234
169
194
273
226
168
267
235
162
295
260
189
299
231
214
239
251
212
177
227
181
240
295
252
191
305
286
180
229
214
277
268
309
228
254
225
273
254
215
221
245
180
311
178
252
296
210
240
269
246
221
250
211
224
245
289
201
181
304
206
222
270
257
114
178
292
210
305
269
178
231
196
290
279
293
220
214
229
213
267
207
245
242
278
263
217
215
156
214
355
180
173
195
184
174
171
158
197
312
114
220
263
315
206
198
269
222
194
201
226
279
241
268
218
186
259
194
256
177
196
189
198
312
169
236
262
176
306
221
207
265
274
311
227
154
184
261
154
246
261
152
204
241
224
166
227
256
357
186
244
195
228
247
235
187
175
292
264
217
351
161
221
258
284
249
265
226
192
184
171
152
200
243
232
200
160
274
312
249
165
237
185
302
274
173
279
280
234
280
241
220
254
274
222
162
184
260
223
114
285
342
203
171
194
273
225
198
170
212
154
235
262
245
222
160
246
156
195
290
231
214
184
152
199
249
201
263
175
228
158
249
250
193
245
281
274
223
253
265
299
156
205
255
219
249
183
226
286
172
207
225
229
235
180
275
208
158
308
202
276
180
246
303
283
203
220
161
280
148
323
129
260
189
281
220
212
291
234
288
194
207
192
252
258
148
209
262
288
206
210
289
241
227
266
240
206
192
192
272
210
223
219
188
251
175
232
265
235
174
234
295
212
191
156
259
248
194
326
243
251
217
252
184
254
214
169
287
245
114
218
245
291
228
262
242
262
245
287
178
217
178
199
299
239
156
273
151
276
322
201
203
186
274
327
250
262
198
212
256
272
230
313
234
324
233
243
188
200
227
156
199
275
193
205
277
184
192
229
209
177
347
221
192
257
223
182
230
210
265
220
225
192
294
218
171
227
274
223
241
210
284
175
178
181
254
232
260
185
203
223
192
253
195
246
313
246
217
221
201
243
254
202
195
238
226
246
235
202
248
275
272
227
108
250
178
244
236
256
244
220
256
255
287
220
245
195
295
246
273
237
290
157
218
222
273
196
214
188
216
233
267
218
262
249
174
171
223
238
228
222
220
222
242
194
164
206
243
203
255
397
220
198
217
217
264
302
225
206
174
204
163
206
314
220
219
114
244
195
181
260
194
233
275
260
234
276
296
229
207
194
297
247
210
162
325
155
239
250
253
256
228
273
195
198
258
256
312
247
212
231
198
234
271
231
214
288
188
249
310
251
219
208
286
223
170
164
188
217
204
151
168
196
194
243
235
244
188
255
196
253
206
217
217
267
290
280
209
175
263
173
224
255
214
191
324
247
176
253
224
156
239
267
267
173
219
238
242
235
219
227
293
156
270
259
170
199
218
175
333
255
248
254
284
232
294
174
173
221
211
231
199
290
162
216
114
161
204
288
213
198
170
225
201
259
251
284
173
220
144
254
256
198
181
201
270
204
196
229
245
198
203
224
189
197
266
314
266
168
178
202
286
195
209
232
302
317
183
160
276
291
159
228
292
185
249
311
301
261
211
183
289
195
207
154
226
171
277
221
227
227
175
254
151
248
212
284
201
160
222
247
312
254
178
258
219
219
200
291
156
171
221
206
207
250
213
211
252
244
286
191
197
215
185
171
297
242
266
249
181
207
227
251
213
242
206
219
232
268
271
210
243
222
168
180
247
198
235
146
287
208
232
250
130
242
189
243
157
262
206
203
213
156
184
236
225
145
114
290
285
203
234
289
192
208
233
192
256
208
270
184
177
160
224
182
242
169
241
161
255
323
192
245
293
209
191
161
272
266
233
345
237
275
195
203
229
255
212
213
241
263
182
245
227
225
285
146
176
197
212
300
179
180
301
227
196
184
225
218
244
114
239
237
236
191
215
214
190
186
201
251
287
244
256
189
237
210
179
256
191
214
205
222
209
264
142
148
258
233
258
223
158
194
276
220
220
208
181
183
213
215
184
218
249
275
214
121
175
205
262
208
202
219
238
216
245
198
268
156
228
193
234
325
273
223
299
244
169
227
219
223
249
225
225
160
254
267
229
180
170
276
186
231
243
237
151
224
163
224
167
226
239
156
170
159
299
241
267
231
178
184
219
215
229
306
247
287
157
317
232
153
246
234
213
320
185
233
220
216
165
160
247
209
139
211
203
220
248
267
225
292
161
241
245
211
197
267
290
232
189
231
251
230
238
346
231
233
225
215
219
279
232
114
121
198
205
238
262
114
293
238
258
233
231
228
292
221
227
195
160
198
161
280
252
206
189
191
170
210
271
218
181
221
244
203
306
229
205
205
162
210
171
212
215
232
309
220
180
188
283
252
236
219
230
239
217
257
213
273
263
238
225
232
227
246
168
277
210
189
108
266
260
291
234
215
281
241
265
227
231
173
286
196
156
253
200
220
210
228
228
225
155
188
208
173
170
258
275
191
195
213
183
238
293
196
214
188
139
236
154
181
269
301
204
204
265
198
203
194
151
300
217
236
160
215
261
302
323
239
202
296
227
217
282
217
218
214
186
148
266
260
190
200
200
201
284
219
229
234
193
162
249
274
223
207
174
244
259
155
248
160
139
258
227
282
259
209
205
268
250
171
211
289
224
220
192
233
185
280
189
306
176
199
178
217
237
191
151
232
170
253
168
289
256
333
262
192
239
224
243
309
228
190
146
330
170
247
369
158
277
198
224
218
208
247
185
245
177
245
258
176
209
224
255
190
256
228
114
268
219
234
310
193
233
256
251
228
198
246
268
163
197
218
302
273
200
202
114
225
262
295
279
265
156
196
193
173
339
231
266
214
221
220
184
263
306
215
232
198
136
207
201
235
177
233
139
312
239
231
205
216
168
219
278
275
236
213
212
257
215
206
170
145
219
108
300
246
248
176
126
209
292
226
290
285
250
269
262
223
247
291
262
237
184
234
305
243
270
191
239
208
198
218
195
227
182
252
225
156
209
184
270
178
269
161
207
253
247
278
280
185
213
114
234
277
235
248
256
235
214
245
253
237
212
250
242
235
200
292
155
151
189
192
242
249
207
262
211
150
235
224
198
183
219
217
114
271
207
276
222
243
192
190
159
240
263
232
248
266
210
207
225
207
261
261
221
173
247
189
209
194
203
239
259
273
268
172
223
208
249
156
339
265
160
251
195
212
224
242
194
254
174
228
219
290
203
194
258
249
182
328
160
219
244
178
208
254
178
156
289
221
243
216
219
272
156
221
193
170
254
264
162
236
180
160
216
121
299
253
260
277
289
240
181
253
184
126
241
177
180
198
235
236
238
218
169
208
230
255
206
156
309
252
240
234
281
267
264
255
194
220
200
222
251
192
265
316
279
287
229
241
175
234
176
274
282
237
217
265
181
175
222
202
172
194
176
240
250
213
228
245
300
271
236
178
206
126
270
215
218
157
289
114
198
197
221
320
288
196
198
214
264
198
208
192
247
238
202
247
155
228
191
232
244
230
212
299
342
188
249
227
306
247
153
198
298
292
232
302
261
188
148
255
227
206
260
174
253
257
194
215
207
257
196
114
298
114
173
218
258
152
205
175
238
222
244
213
262
211
188
193
160
252
213
175
243
189
221
200
314
266
226
210
285
234
268
229
237
266
252
207
192
308
233
190
276
218
276
193
302
239
225
198
194
206
238
173
214
245
179
173
193
219
180
212
214
189
194
219
298
200
209
301
184
214
222
190
216
230
224
205
188
178
181
242
200
178
126
289
209
274
227
239
233
223
240
244
233
221
209
179
174
281
265
233
152
234
235
290
230
196
246
228
292
218
272
280
207
271
206
215
219
227
250
288
291
174
253
234
277
334
345
203
116
178
233
236
260
210
238
310
191
215
272
184
199
287
221
229
249
227
257
214
239
299
160
244
216
242
283
238
203
253
235
228
271
193
175
264
257
114
220
184
182
309
209
267
285
210
171
234
180
191
223
208
223
181
192
195
218
221
193
234
255
201
248
251
222
232
196
245
189
194
248
208
246
204
245
217
268
292
260
215
280
222
225
211
236
335
261
174
240
230
240
266
322
306
246
200
160
214
175
158
256
254
208
263
224
178
209
313
166
196
278
299
275
192
251
279
172
194
176
261
224
182
184
237
208
167
253
192
254
218
292
211
189
205
207
236
250
164
243
225
290
252
231
221
293
263
290
260
245
299
299
224
253
224
272
229
174
189
277
144
181
227
273
233
224
173
183
204
231
171
236
243
201
196
220
114
181
114
212
251
217
175
218
243
252
278
170
238
207
177
233
175
160
217
216
231
282
209
208
202
256
297
219
166
223
251
193
316
203
244
175
159
198
173
221
289
176
197
253
199
294
219
196
158
203
288
250
209
156
245
158
188
196
253
168
197
295
267
221
310
224
278
279
227
175
223
148
196
214
276
246
234
274
209
314
181
261
206
170
259
275
263
166
160
209
175
274
194
195
280
222
266
203
218
193
268
181
182
198
228
225
176
214
203
247
264
223
196
302
208
178
208
290
182
211
209
240
261
242
284
202
175
265
233
219
192
279
183
157
198
224
184
175
246
192
203
166
261
227
191
248
209
225
174
223
246
261
245
151
230
229
222
233
226
249
222
248
230
273
126
281
229
210
206
208
173
175
145
181
214
247
154
242
225
230
261
222
209
254
180
259
213
246
258
175
261
212
283
235
163
192
157
236
199
185
304
207
215
206
202
302
261
249
262
198
227
248
166
275
311
170
178
170
268
202
210
214
143
244
114
227
239
243
233
251
196
236
239
267
215
192
199
308
235
209
270
191
184
213
114
176
287
231
220
260
214
282
223
215
175
216
272
197
306
226
156
278
146
269
277
216
262
262
175
270
242
160
215
273
231
304
182
121
222
264
259
222
261
213
281
308
234
210
134
224
254
269
236
278
232
233
243
253
213
274
179
237
239
323
259
287
194
225
178
218
217
177
199
166
230
221
281
220
264
248
231
256
280
158
230
204
214
228
259
216
146
205
178
217
219
219
178
203
236
219
283
219
202
215
224
249
223
170
240
186
213
198
233
236
192
209
216
184
210
189
146
302
245
201
284
255
240
257
241
209
204
245
308
250
195
255
198
259
227
272
207
180
215
114
252
206
248
267
286
303
216
246
194
295
227
200
174
247
270
175
204
323
262
273
208
292
190
259
224
211
231
183
146
273
209
159
178
182
255
247
327
210
176
260
229
284
199
208
126
240
178
245
276
193
209
250
233
225
235
175
202
261
230
249
205
161
246
209
210
139
160
208
195
241
269
211
178
302
269
249
231
210
185
211
295
253
231
252
222
295
178
193
194
281
166
323
282
209
205
181
213
273
264
220
235
196
258
195
237
183
235
202
235
233
243
228
175
215
227
223
289
225
169
210
254
228
181
338
160
152
152
191
162
181
303
209
239
194
219
209
170
169
208
220
221
170
264
258
237
210
260
245
198
211
207
238
252
151
176
253
247
226
230
241
280
255
221
158
331
108
219
233
160
304
274
114
173
168
198
250
285
228
245
247
255
218
208
193
239
152
200
182
244
261
245
223
236
206
149
165
225
145
192
258
211
247
157
241
193
254
207
260
191
311
225
253
317
207
202
237
154
186
168
265
194
299
302
224
221
271
178
175
198
245
333
266
332
255
160
271
213
235
268
209
224
272
238
208
176
230
223
179
198
223
172
290
222
287
239
246
214
169
164
198
352
286
233
267
234
197
179
241
174
130
280
203
185
266
252
180
224
219
282
228
259
242
157
198
282
205
236
201
116
226
218
211
229
214
253
181
251
265
264
193
215
221
152
158
156
246
230
223
204
237
314
169
315
290
235
193
194
229
225
233
253
242
224
144
209
207
184
179
284
247
242
267
230
162
285
228
194
162
270
219
249
249
169
222
311
195
278
286
213
276
270
232
206
190
262
193
259
228
284
241
304
258
240
193
278
245
215
216
241
195
223
282
306
201
181
175
270
207
184
156
245
249
165
163
173
195
218
273
151
186
246
208
220
319
290
198
229
238
234
192
212
213
184
253
267
226
200
280
244
194
240
191
267
246
219
282
244
189
151
218
309
201
226
175
173
244
262
168
181
284
271
241
213
270
196
253
201
251
226
195
192
230
232
277
230
212
229
260
181
198
262
231
237
290
184
210
222
264
204
235
165
213
239
219
170
193
224
199
211
145
224
246
248
235
152
206
176
222
323
214
273
186
294
210
315
185
295
248
310
156
180
200
153
290
193
322
192
246
218
146
253
231
287
313
200
264
246
260
180
193
178
237
264
305
215
247
213
223
186
190
278
279
186
154
295
178
283
230
147
239
227
264
311
213
222
220
253
114
224
219
229
229
220
196
214
186
163
244
166
238
231
126
249
197
210
208
271
208
156
179
210
224
196
304
241
271
174
301
152
294
186
190
208
228
307
257
173
212
198
167
242
195
223
212
222
245
191
201
191
198
230
243
170
326
301
224
244
156
297
222
239
186
210
251
183
170
260
266
168
156
211
247
221
270
146
208
189
224
128
225
220
208
246
203
214
218
285
263
156
193
187
231
251
310
252
273
199
156
232
235
232
238
243
192
301
248
258
260
266
236
193
146
237
293
180
172
139
238
201
169
228
196
197
217
224
351
253
253
220
179
246
236
251
220
173
218
228
197
179
203
218
211
241
254
294
241
263
221
238
211
279
155
174
263
243
169
190
168
168
183
208
262
224
239
238
199
174
221
153
277
248
223
170
116
162
261
198
296
175
239
287
222
214
213
274
249
156
184
243
114
187
261
197
185
209
283
269
303
228
273
229
261
264
216
198
232
167
233
198
244
240
240
173
215
266
269
242
258
240
163
254
277
260
214
245
272
245
225
275
223
280
212
208
222
200
233
177
232
252
295
225
214
281
161
215
220
262
248
202
181
151
240
192
218
139
214
233
288
229
291
178
218
228
250
203
158
227
137
224
219
262
266
211
191
184
208
207
227
256
222
183
189
297
240
277
213
165
273
189
255
318
245
232
174
229
292
181
293
214
294
179
198
265
240
261
222
187
178
166
167
208
254
292
229
198
232
239
261
194
193
224
207
295
237
246
272
249
292
179
224
228
297
255
221
215
209
231
166
305
190
114
259
269
222
215
201
184
313
316
295
257
249
271
185
294
316
319
212
252
194
173
315
226
236
267
243
219
265
246
261
163
149
189
253
201
212
208
236
273
293
197
173
211
228
204
204
244
156
290
214
216
267
183
238
197
198
237
144
265
247
170
226
341
181
207
233
328
336
241
224
114
208
201
260
196
219
218
276
165
203
284
247
183
294
220
295
188
201
211
216
353
247
262
203
173
108
177
157
169
161
254
281
130
169
213
281
219
223
226
220
137
237
252
186
193
267
260
241
269
192
256
235
230
206
242
210
203
272
252
270
154
208
211
243
262
240
233
243
183
251
276
198
214
221
216
228
219
187
226
243
198
240
267
178
278
246
263
241
151
198
232
238
219
211
189
218
216
284
198
258
208
249
219
212
288
280
173
204
233
171
288
229
220
165
278
176
235
267
249
247
247
247
218
165
216
200
203
194
204
268
240
188
251
196
263
224
243
245
228
179
191
330
136
174
180
191
305
262
268
274
247
181
253
280
246
149
227
195
116
252
214
249
252
192
184
181
244
234
202
126
192
241
185
275
339
219
221
191
194
232
263
256
242
297
275
313
241
179
228
216
183
238
181
167
185
183
268
215
209
211
193
270
193
258
261
176
207
221
260
210
156
201
241
178
195
217
351
173
267
283
172
193
231
298
181
254
179
270
247
271
210
257
230
226
200
279
364
258
179
198
326
226
204
229
169
286
234
194
156
196
270
214
223
236
281
221
204
381
240
285
214
274
290
158
325
223
256
247
233
183
252
222
184
201
289
193
271
236
229
206
278
217
220
182
252
239
292
298
186
203
267
272
238
212
253
196
219
249
268
216
187
316
269
217
205
226
218
174
273
282
184
256
251
267
216
222
148
281
198
195
271
195
217
191
275
161
242
185
218
337
297
178
200
204
263
247
183
225
192
183
227
170
298
225
178
215
167
205
160
206
221
248
255
270
182
305
286
172
301
201
255
182
212
203
259
241
293
178
211
193
233
185
267
240
171
193
209
192
216
185
251
243
175
233
186
265
204
212
195
251
239
163
170
179
176
219
240
207
251
207
221
222
266
293
263
247
340
186
177
258
205
130
219
177
219
315
259
281
303
138
301
218
252
227
217
296
345
198
188
281
257
248
311
213
163
296
296
239
177
287
173
268
305
292
202
284
247
258
218
208
307
226
262
279
247
144
239
173
234
242
323
219
250
275
250
204
114
270
203
207
238
234
245
261
218
152
219
244
193
248
161
306
166
349
230
152
214
267
256
159
221
198
241
240
160
237
164
231
183
268
237
260
306
213
206
240
208
237
241
159
225
257
295
230
258
222
255
193
284
194
276
220
195
296
297
192
169
286
245
213
195
219
252
253
321
291
217
170
233
160
114
219
252
144
225
191
266
148
220
272
211
228
235
236
241
247
215
282
250
184
228
250
160
201
310
154
222
191
202
245
258
253
194
275
114
207
157
182
192
248
209
178
215
210
230
206
157
153
206
251
262
174
129
260
221
176
195
116
153
229
235
149
256
223
248
231
211
229
264
219
246
179
206
261
309
217
178
338
280
217
196
206
176
225
178
245
175
248
233
299
277
240
192
230
207
289
195
188
267
161
198
231
264
242
293
194
229
235
201
232
179
322
179
148
274
260
203
224
310
246
240
170
207
116
235
249
248
291
250
234
257
204
240
251
193
259
287
206
184
252
285
190
185
158
295
229
286
223
217
193
193
245
181
228
158
252
152
241
220
259
245
212
249
222
247
176
224
213
234
145
271
293
181
259
223
145
250
281
275
271
204
211
190
267
215
184
253
219
286
252
329
168
233
288
258
283
251
183
222
266
161
192
213
279
248
220
249
290
208
156
153
246
281
208
175
210
301
277
160
235
114
152
231
253
224
294
297
222
228
149
284
236
146
236
163
233
214
223
273
233
229
168
234
200
211
272
189
187
288
247
179
156
114
232
182
249
209
180
218
249
207
237
197
286
191
283
233
270
198
278
195
295
198
236
222
260
210
197
234
249
185
240
188
222
203
266
255
212
176
211
304
229
234
266
218
289
245
206
258
183
255
335
218
228
246
173
281
158
293
164
206
192
239
220
181
227
249
233
178
311
291
176
291
248
233
250
197
167
220
269
190
258
192
270
261
160
243
264
279
216
232
225
200
190
238
162
230
245
235
292
222
283
230
245
258
211
207
217
266
213
160
256
254
255
178
233
192
258
272
193
232
223
248
190
289
215
204
251
249
187
215
214
250
269
194
189
221
283
151
208
238
188
251
211
219
304
222
266
207
231
149
262
211
153
261
157
223
189
252
237
260
195
242
258
259
253
169
139
242
223
176
239
173
235
238
294
313
244
225
230
156
214
241
178
273
184
178
163
286
243
203
287
305
194
176
224
208
178
221
281
223
184
304
237
286
176
256
173
268
192
144
180
214
219
291
291
189
295
260
273
211
228
156
261
253
161
176
217
222
174
294
237
234
262
241
182
200
200
167
198
193
206
283
266
211
177
168
160
256
220
198
269
218
265
203
198
240
246
243
236
209
196
231
222
226
195
239
311
173
234
206
160
232
220
229
297
334
263
267
283
272
241
230
227
328
213
205
225
152
258
228
368
193
230
270
241
263
253
192
242
205
216
175
249
272
170
281
213
145
209
220
211
338
229
210
215
311
209
255
174
250
170
181
252
234
291
178
214
293
262
148
247
272
233
214
198
204
311
223
232
188
225
216
228
276
257
255
298
219
235
185
247
316
178
252
129
151
181
224
180
259
226
259
248
154
228
208
250
202
191
297
263
236
250
290
302
250
162
186
315
191
194
177
197
215
154
198
269
151
205
173
253
209
253
185
191
291
224
230
210
263
221
160
252
222
261
238
178
255
180
181
247
198
173
201
160
180
234
281
236
277
242
293
233
292
196
181
232
267
291
313
215
207
196
192
244
198
259
179
192
232
114
207
258
255
145
220
252
243
263
163
160
251
241
207
198
235
318
185
309
248
192
251
262
197
208
243
214
193
253
188
289
306
218
267
197
176
209
234
275
200
196
256
264
160
267
219
260
219
273
108
198
225
197
228
249
227
257
247
271
242
202
193
222
166
229
309
212
187
200
174
179
184
223
221
259
216
234
146
289
182
164
334
227
221
261
329
244
198
202
183
229
287
296
224
263
208
254
210
199
262
248
160
250
249
216
170
302
291
214
160
335
215
233
252
260
191
164
177
222
226
152
221
191
248
243
199
175
253
265
223
211
252
241
245
114
242
241
161
193
260
190
252
149
169
157
305
231
174
249
225
172
272
259
203
170
259
221
185
280
200
213
239
212
216
299
234
231
254
211
225
262
203
237
180
220
290
223
241
255
190
199
299
114
170
214
248
222
191
309
257
247
253
246
195
186
298
221
274
189
169
184
247
205
326
336
175
236
145
225
213
204
277
330
203
160
257
217
196
193
300
215
199
219
205
169
207
281
181
148
186
198
304
222
160
114
289
224
222
251
309
255
271
121
195
145
224
276
170
184
248
179
223
211
153
238
277
152
231
314
299
239
219
288
251
239
206
255
295
201
209
222
251
211
233
248
289
162
254
253
305
222
245
273
191
180
170
173
215
274
221
187
233
196
184
205
358
213
249
299
241
190
218
210
288
265
179
180
245
258
244
243
114
208
295
197
277
174
192
191
178
282
253
311
200
166
221
268
194
215
278
190
128
176
251
262
190
171
269
175
114
198
204
151
287
224
230
266
236
228
320
269
227
240
271
278
191
256
212
248
244
251
268
247
152
245
219
190
275
272
258
177
247
200
185
274
214
147
182
213
351
232
228
246
259
251
317
259
209
180
262
254
238
228
293
247
190
190
173
211
219
235
219
182
184
207
233
265
215
178
203
286
203
229
256
178
249
181
264
170
237
215
283
222
140
208
188
202
235
264
250
371
312
194
168
198
201
221
182
253
216
154
210
188
283
154
243
181
208
257
262
208
315
196
210
235
206
225
158
231
156
223
208
161
177
217
178
178
212
154
230
192
261
235
177
315
219
231
219
199
198
190
279
116
249
266
166
181
168
221
178
186
241
158
195
263
225
205
257
250
337
283
222
175
194
272
162
238
367
260
229
144
235
303
270
252
231
261
193
262
292
227
281
237
216
221
235
230
286
182
233
280
263
198
188
240
236
252
235
172
172
212
191
194
226
156
335
237
195
231
173
178
269
245
236
262
229
209
210
220
181
244
300
259
239
273
253
260
199
185
206
242
245
144
281
233
270
184
145
218
214
239
233
255
244
256
209
218
241
347
179
220
267
294
267
214
108
267
176
289
227
231
226
222
165
231
236
232
249
273
160
277
202
343
222
216
189
249
200
196
227
239
264
221
114
235
190
234
256
225
216
200
261
245
183
226
212
224
191
228
231
179
284
192
328
224
211
181
190
231
258
232
227
114
263
198
297
204
225
215
244
215
239
197
169
161
246
149
157
198
318
249
206
171
152
283
204
211
195
221
238
228
206
146
270
283
186
210
168
182
185
179
288
193
224
225
188
204
277
133
213
175
238
276
212
310
195
289
219
213
225
230
183
219
258
316
154
166
279
325
248
213
175
236
205
175
235
180
279
242
235
169
205
150
263
236
246
198
209
252
190
280
247
190
209
190
205
223
202
197
234
236
185
343
215
186
213
225
218
256
305
221
159
284
280
173
114
241
223
223
268
227
260
260
245
221
215
222
212
255
213
231
216
223
211
271
192
213
281
222
173
160
300
211
237
176
228
196
173
271
222
179
240
253
233
335
240
152
205
197
221
221
252
287
254
206
263
129
274
219
193
129
260
236
250
114
271
170
262
207
195
220
224
158
225
218
232
229
161
192
174
283
203
254
252
277
254
197
254
184
245
237
238
189
147
206
256
193
259
212
238
170
264
171
271
242
255
192
152
211
252
219
158
197
219
173
223
202
263
198
168
282
178
210
204
186
265
345
144
168
209
189
212
149
226
176
258
179
305
274
201
170
236
178
257
242
223
215
274
187
144
221
322
233
220
288
199
196
215
301
300
239
216
283
228
204
177
261
229
183
194
230
284
182
212
211
249
193
160
198
211
203
232
220
265
225
217
227
208
186
193
161
156
232
215
232
241
238
227
247
214
185
276
216
285
176
264
315
209
252
211
250
234
250
229
247
302
177
249
343
274
221
157
139
204
193
193
259
145
237
333
133
246
262
211
197
221
179
139
207
231
200
179
225
220
232
266
297
188
209
332
256
297
183
235
192
271
114
211
284
278
223
241
307
261
181
256
209
240
232
203
209
186
217
250
237
184
289
273
248
324
224
156
235
317
170
177
149
240
257
248
250
227
211
243
240
174
180
252
259
219
182
162
292
255
258
171
225
152
245
267
169
247
170
215
275
214
278
272
219
228
221
180
245
246
179
225
186
224
235
203
170
241
201
289
256
209
238
240
197
306
196
253
209
108
247
174
196
185
190
272
170
263
248
289
176
318
205
284
293
147
262
245
311
238
215
265
175
251
219
189
236
213
319
341
251
213
245
294
282
300
247
128
237
178
211
212
137
208
252
229
292
260
256
251
207
260
217
208
192
114
304
183
231
331
257
178
244
254
266
134
254
243
183
209
206
267
208
133
278
258
175
311
172
217
178
230
212
171
187
238
191
144
219
196
193
203
267
275
192
296
268
226
239
244
244
311
247
182
220
266
230
227
157
198
289
237
228
235
284
244
188
213
248
213
197
233
222
247
222
175
248
215
252
167
149
170
217
327
184
198
156
285
264
114
300
255
206
341
246
205
336
185
227
158
220
212
182
249
242
198
247
320
264
184
187
284
258
266
253
242
287
217
160
171
285
195
262
229
222
250
275
235
240
160
114
245
129
155
229
267
267
216
197
200
240
236
164
174
215
230
233
259
216
273
253
200
189
186
166
254
207
196
168
237
302
235
310
263
250
250
223
179
185
248
271
284
285
226
209
199
276
287
274
222
256
219
208
235
227
262
272
254
159
237
114
227
176
222
201
232
331
253
182
268
260
195
152
170
233
242
261
204
241
163
217
282
213
204
199
229
272
219
203
219
206
182
198
145
342
261
209
283
237
181
188
301
248
194
223
234
237
221
228
257
266
192
206
259
222
256
195
257
259
268
225
250
249
230
215
243
170
336
287
288
248
180
337
230
195
212
209
247
126
198
147
194
146
178
224
174
196
240
151
237
267
225
218
266
192
229
225
221
176
262
198
178
310
202
167
189
245
214
236
226
195
192
289
194
273
226
241
222
247
221
205
282
178
192
243
225
207
235
220
244
242
185
245
226
275
251
170
190
261
169
203
261
147
225
184
167
239
241
212
240
176
250
275
197
182
237
225
221
264
238
302
228
237
221
215
250
215
249
256
240
194
277
205
234
203
204
283
218
183
284
200
234
219
169
114
217
206
207
231
219
170
221
213
217
213
171
160
314
273
234
236
218
245
214
311
222
236
253
194
212
229
210
213
228
260
212
302
265
243
217
202
173
223
264
254
226
177
202
170
151
144
181
296
148
244
272
175
166
186
247
327
358
216
201
229
161
336
195
196
247
202
269
239
222
209
152
154
231
188
163
278
234
194
155
220
248
255
216
205
239
325
284
191
178
289
162
252
231
279
216
246
303
214
151
232
262
301
180
321
173
207
229
114
248
230
140
317
202
251
198
191
252
202
208
167
194
265
227
229
168
173
292
208
208
160
214
213
235
226
240
178
170
219
252
286
213
184
236
301
238
178
306
283
291
213
206
240
309
229
262
225
167
218
215
265
184
281
176
267
232
238
238
298
246
148
173
230
200
242
259
307
170
196
222
171
185
235
233
234
189
198
190
256
176
286
213
220
211
192
228
129
213
192
161
200
247
165
212
193
198
201
174
211
197
277
122
180
303
191
178
224
114
234
219
229
174
244
194
222
235
262
329
217
259
208
285
188
222
145
200
234
175
244
208
234
165
189
214
257
288
250
297
225
218
173
225
256
238
235
198
225
270
276
196
195
211
257
203
250
306
229
178
259
233
145
212
196
238
290
222
199
126
209
156
168
186
182
184
312
108
269
156
229
273
160
273
196
202
274
240
193
258
249
198
277
238
233
152
203
256
178
236
228
262
192
208
180
282
271
158
322
173
208
276
190
226
114
244
210
175
258
229
245
245
237
225
196
183
237
216
288
172
296
258
184
235
248
215
265
317
211
114
210
274
277
199
260
254
201
207
149
196
160
201
183
231
308
168
203
201
230
258
114
152
189
192
203
223
235
270
235
256
196
184
255
243
265
231
219
311
195
328
285
241
213
177
160
223
220
244
211
173
212
250
216
225
214
262
227
197
219
199
156
236
237
230
257
175
130
247
173
233
207
133
244
202
148
217
211
246
277
262
200
129
225
238
219
221
198
265
237
305
277
301
235
178
171
231
223
247
178
182
203
187
201
263
230
278
260
214
189
250
256
181
206
222
228
260
209
249
302
290
310
234
205
256
244
285
195
148
266
234
160
108
210
251
183
260
195
250
145
192
237
205
207
260
227
225
287
185
252
222
287
156
224
212
264
278
280
179
181
164
241
169
145
236
266
253
211
250
218
186
192
167
278
269
181
190
218
252
255
180
270
257
293
238
207
309
224
232
265
157
280
252
244
198
225
188
308
184
222
208
153
158
187
243
141
275
256
152
281
218
235
214
114
225
248
263
259
270
214
243
299
188
255
197
328
195
206
191
204
328
212
189
152
296
245
209
302
208
260
183
198
234
139
209
229
207
152
287
324
285
255
179
229
215
306
235
181
302
198
249
254
281
235
285
220
139
254
206
246
201
201
272
160
200
208
202
262
130
307
156
279
234
202
168
220
214
292
287
203
180
202
270
193
235
224
175
213
147
255
287
275
178
355
200
239
144
259
179
215
266
225
306
203
162
236
159
220
303
198
159
273
221
198
145
162
252
207
186
171
207
207
235
263
263
198
239
201
155
173
209
203
206
186
256
203
223
229
280
256
282
246
280
193
229
238
197
222
224
248
139
255
275
244
243
174
225
214
267
273
250
255
207
224
190
298
238
233
210
289
234
232
195
240
263
277
204
269
198
275
230
208
281
185
251
251
207
231
263
220
179
306
257
206
243
317
307
296
279
245
212
292
195
202
231
205
267
184
225
191
219
192
301
212
299
193
313
308
254
173
196
238
270
273
281
186
152
254
234
196
266
183
225
170
242
204
160
174
261
264
270
231
248
247
265
253
178
197
200
170
244
197
191
214
209
260
229
200
289
213
338
214
253
253
185
130
251
214
201
256
263
225
225
294
256
225
255
265
256
192
306
280
219
255
230
217
219
138
192
106
251
266
198
209
263
320
263
286
243
181
242
263
243
182
260
198
161
233
232
304
198
210
190
153
230
232
309
245
206
195
114
279
261
287
184
195
225
248
187
283
286
207
180
145
237
261
197
242
191
288
160
203
196
189
244
220
254
155
250
320
213
175
243
247
285
276
249
182
178
194
234
247
253
211
220
271
220
177
146
219
187
216
194
201
303
241
200
245
199
219
192
270
175
227
173
232
265
248
221
174
233
253
222
214
162
222
148
288
228
240
200
153
306
219
214
220
215
198
191
205
201
167
213
182
243
248
210
214
230
210
295
174
285
237
242
188
182
330
196
271
161
178
218
257
214
294
271
222
156
195
178
177
226
313
289
228
211
205
306
176
211
163
222
231
239
240
219
208
194
237
265
205
178
166
221
261
219
301
265
225
177
262
158
246
227
179
201
270
174
273
250
331
195
264
249
238
203
216
196
200
319
269
197
174
306
139
187
151
158
244
187
229
151
183
189
211
257
226
209
217
267
172
293
185
217
210
210
192
249
227
258
215
148
234
228
251
192
207
234
242
221
270
246
247
259
181
278
192
203
181
237
271
197
261
174
153
185
254
230
201
251
200
242
253
263
336
291
253
189
212
272
304
258
267
277
156
232
241
227
179
191
165
195
223
304
151
191
194
263
155
248
200
243
254
320
218
230
271
222
256
179
180
248
312
305
193
263
260
262
226
203
210
191
295
219
243
156
259
237
147
193
269
233
203
270
271
206
239
156
206
133
231
161
201
191
226
287
238
321
253
246
222
212
231
219
226
248
207
204
293
181
218
222
202
295
198
203
205
219
206
137
227
179
190
176
299
203
172
279
246
173
185
126
275
194
256
214
234
233
220
301
205
283
229
222
314
314
217
216
166
196
260
225
247
221
220
169
278
204
190
108
229
268
229
114
214
220
162
287
190
246
245
296
238
309
200
126
156
205
188
233
188
347
207
192
211
248
190
249
334
204
307
231
221
159
209
194
223
269
186
236
184
144
267
209
222
216
203
245
228
170
233
258
235
263
209
166
234
254
289
231
240
249
180
243
258
179
218
168
253
145
211
215
246
261
223
196
212
250
219
211
192
303
205
216
293
196
282
212
248
191
222
191
247
204
226
314
198
181
226
305
240
223
264
158
256
215
229
236
175
177
277
267
234
197
169
263
263
233
248
178
202
168
287
237
211
211
144
247
213
195
212
234
234
229
275
203
254
252
266
153
300
236
255
253
300
194
192
274
161
277
243
202
164
215
146
225
181
176
258
207
217
266
218
194
247
218
238
254
318
195
164
203
222
288
263
223
271
201
156
229
240
273
235
176
296
219
243
248
254
260
205
235
222
205
198
256
245
175
244
191
197
151
151
279
311
240
229
230
164
186
161
219
164
245
242
238
210
274
182
244
151
259
251
198
204
198
227
231
269
232
242
214
114
264
239
191
171
261
239
175
295
250
245
276
189
225
245
170
227
211
210
174
295
232
174
251
209
185
257
266
264
258
285
231
224
269
239
262
197
213
160
227
204
238
196
224
221
215
268
200
198
230
220
231
258
144
164
262
181
158
220
211
145
216
197
225
278
126
216
196
308
206
130
237
234
212
233
200
214
218
193
215
264
154
206
169
248
226
238
175
114
267
280
234
219
307
287
238
214
272
225
202
255
108
180
175
205
239
215
198
244
252
159
222
241
138
218
239
286
280
261
208
288
175
174
283
281
180
214
224
258
204
294
313
201
211
206
204
231
185
275
274
249
221
255
269
340
186
315
178
238
281
303
152
246
210
260
253
263
206
193
255
114
256
219
185
292
243
204
227
253
155
235
211
163
195
223
180
179
223
160
198
168
209
234
256
166
213
255
199
214
208
207
165
158
241
233
278
289
258
204
185
256
278
160
250
194
211
237
209
180
288
243
251
156
228
194
249
309
204
222
152
114
234
239
194
116
230
193
273
181
173
272
192
212
279
231
217
229
170
204
234
193
167
291
303
262
253
221
224
224
251
295
167
201
196
191
259
199
311
151
186
192
236
215
175
229
272
251
253
209
249
227
252
204
160
198
249
239
222
183
182
235
238
227
194
253
174
308
260
234
200
171
255
178
200
247
271
229
198
240
201
225
219
114
154
218
214
211
249
292
227
262
161
148
309
152
208
245
257
239
190
202
226
265
286
188
151
188
258
262
240
209
235
145
212
180
173
212
240
209
202
362
266
242
315
165
222
145
241
236
156
217
230
241
173
114
275
198
180
266
212
173
196
244
207
284
236
228
187
236
231
210
286
269
173
156
171
235
177
188
218
284
168
146
193
229
243
234
293
257
214
221
158
254
161
304
146
169
220
284
207
208
181
223
192
305
204
226
260
243
246
206
245
245
238
191
254
233
223
237
255
238
186
231
313
211
231
229
126
192
284
317
180
193
165
187
178
160
257
199
269
299
212
212
283
248
236
158
251
198
204
284
198
186
228
185
311
260
243
203
151
202
215
246
228
182
208
204
270
179
206
216
220
174
263
126
225
241
345
164
296
237
234
284
266
250
170
323
154
274
226
192
209
144
236
247
218
264
257
208
179
273
325
214
332
364
242
210
227
260
189
199
151
160
268
154
292
245
243
195
192
227
167
173
208
279
238
212
339
172
160
160
182
244
234
265
170
258
210
178
286
279
179
226
244
233
200
174
251
220
260
192
296
187
264
223
221
196
203
216
222
141
260
161
185
206
233
202
177
180
235
261
214
250
160
231
202
170
191
215
155
181
181
259
214
213
222
215
228
244
252
160
156
242
164
168
252
232
250
175
198
215
274
183
264
238
280
212
160
174
208
195
272
247
218
252
204
307
244
257
192
230
158
225
195
211
216
178
241
272
272
205
183
178
200
205
267
228
239
149
174
357
270
174
193
235
214
249
205
221
188
248
233
147
221
240
256
310
157
210
214
275
228
235
262
187
168
231
245
208
273
274
240
237
218
269
246
273
274
219
303
308
264
229
214
191
236
251
225
182
243
235
244
344
269
158
192
202
189
208
227
232
226
250
202
227
167
201
275
241
267
161
230
145
203
208
182
215
193
197
224
218
192
208
181
220
220
195
290
287
246
229
193
247
228
239
232
198
201
226
126
295
206
245
207
204
221
219
234
303
185
290
218
253
188
189
265
245
158
226
263
250
168
218
271
221
248
286
162
199
239
211
223
234
280
252
208
251
234
207
243
234
114
198
214
214
151
197
198
236
195
165
250
243
218
209
244
262
230
237
218
173
209
252
269
226
334
106
227
268
234
331
244
156
206
234
256
202
241
262
210
229
267
284
222
192
211
293
160
270
215
211
202
225
260
271
266
227
194
276
215
114
193
232
192
226
223
183
247
256
228
139
139
219
222
208
206
226
199
285
225
242
240
238
253
156
262
193
205
186
159
232
208
185
283
157
114
323
244
230
156
285
206
203
220
224
235
203
285
199
292
232
193
324
225
193
198
195
275
255
207
310
197
224
250
187
283
251
304
241
222
240
176
188
190
223
209
177
265
188
182
221
216
144
199
274
236
232
175
179
257
250
196
201
157
215
198
209
198
272
205
206
261
229
228
189
177
228
213
175
126
231
203
270
207
180
195
247
245
256
227
166
279
297
219
170
196
198
374
181
238
169
238
224
184
197
226
165
146
243
176
200
215
242
262
217
269
219
286
314
214
176
341
299
205
289
232
196
196
225
130
226
202
339
227
173
214
189
206
243
241
184
229
178
177
296
193
158
234
275
181
367
287
210
233
213
222
203
184
250
213
223
164
285
196
273
184
114
244
244
177
271
208
275
297
256
208
215
234
290
265
277
309
215
296
230
233
114
321
227
279
190
184
114
239
184
273
152
249
268
204
261
178
236
201
299
258
216
208
216
197
239
202
270
235
114
262
215
238
219
208
268
171
251
228
242
253
271
230
164
197
163
231
224
369
195
315
213
239
282
130
174
275
234
160
160
248
140
191
310
256
216
223
146
145
288
198
190
145
184
116
271
201
178
302
230
207
230
294
201
211
267
209
170
203
220
192
201
196
243
199
213
180
175
198
114
248
210
228
210
182
275
211
290
212
203
266
218
238
152
200
238
251
183
281
264
279
201
213
207
273
211
230
210
188
181
139
170
170
160
170
164
183
208
224
213
236
215
199
200
185
201
231
274
211
227
289
214
220
208
181
221
183
241
214
191
239
243
178
114
231
210
159
205
254
238
208
246
225
166
201
217
304
244
230
247
285
227
221
192
248
306
227
175
231
261
336
175
207
176
220
217
232
191
271
207
256
252
224
206
264
234
219
252
207
296
166
174
187
257
225
308
158
220
212
268
189
240
238
260
114
219
217
242
241
197
296
298
317
277
186
232
286
304
240
158
323
289
289
218
209
205
191
259
259
228
270
231
177
237
264
205
265
228
269
298
205
244
276
191
230
293
306
198
286
192
235
284
177
157
187
263
204
221
195
250
182
246
220
175
201
225
165
178
236
208
210
190
152
194
169
211
219
320
233
149
259
212
255
331
237
271
156
234
235
241
178
211
191
194
174
176
159
257
275
269
190
189
160
188
208
313
252
198
178
156
263
335
321
262
219
213
244
224
210
233
234
178
233
227
319
300
264
237
240
139
225
240
221
195
213
258
213
207
217
174
258
197
288
210
219
280
225
314
185
221
181
191
243
229
200
325
240
244
316
207
333
234
114
252
291
235
160
194
287
262
219
198
217
206
245
180
245
213
287
242
302
186
200
225
242
225
220
174
195
207
216
311
189
258
240
257
158
172
247
203
285
262
259
291
278
160
155
217
228
158
286
255
253
255
269
302
228
266
243
253
265
148
251
263
268
276
210
250
283
282
285
208
244
187
219
198
245
233
207
214
260
169
175
233
285
248
216
241
210
236
243
190
193
251
218
225
205
210
215
221
166
175
264
243
173
218
237
239
240
174
173
220
160
289
260
235
235
257
218
261
236
225
235
241
171
262
235
176
255
226
279
216
285
170
251
279
160
244
175
180
275
260
242
229
198
196
215
226
210
284
216
205
215
249
193
224
248
178
170
229
235
195
209
160
235
202
193
174
287
263
219
202
182
169
175
244
157
231
215
205
235
258
324
245
260
228
207
233
207
160
189
174
149
177
257
173
227
259
197
226
235
178
274
251
230
241
224
225
216
269
212
207
216
179
284
211
130
160
232
210
295
181
229
188
194
219
229
254
300
249
273
214
187
196
303
172
149
239
228
201
249
237
157
192
189
265
274
190
236
201
211
253
231
254
244
228
175
237
205
271
223
260
288
233
185
174
213
234
189
147
156
216
258
259
184
121
258
224
233
232
172
224
228
176
278
217
281
248
175
292
218
218
275
133
246
168
226
276
175
246
182
151
218
155
247
198
224
198
253
214
281
269
178
201
328
213
241
233
253
139
251
205
252
264
272
248
219
225
205
279
207
253
152
220
159
248
203
170
198
282
232
195
235
196
184
304
219
246
243
255
272
219
223
201
286
248
277
233
259
272
292
152
207
276
142
211
233
244
306
267
197
211
214
174
162
272
213
166
238
215
188
209
215
219
158
264
174
221
194
178
181
298
180
223
232
230
179
242
244
238
108
239
266
203
157
210
270
126
267
261
254
252
291
116
232
197
191
284
293
289
253
258
254
225
229
197
315
273
238
266
177
218
259
229
174
211
286
188
258
215
206
168
247
242
219
229
168
245
177
195
195
251
280
244
197
170
228
235
257
239
284
225
299
187
255
285
180
247
236
114
239
108
194
255
207
178
261
166
223
219
319
285
316
217
156
258
229
199
227
255
285
306
194
277
240
174
248
274
227
170
262
219
159
162
287
251
303
175
205
205
236
245
268
196
257
215
209
175
240
189
213
209
177
238
233
248
243
215
183
175
214
241
279
245
147
208
271
233
176
114
158
144
159
173
234
293
240
154
183
215
192
275
250
215
252
225
166
240
258
252
231
166
272
209
188
177
248
210
217
264
266
192
181
193
230
211
248
269
157
213
209
249
245
206
284
209
227
181
214
228
216
213
200
152
325
159
209
275
181
221
203
220
258
181
168
225
199
251
238
209
213
196
254
256
108
199
327
156
214
194
152
199
261
219
214
344
181
184
208
225
207
254
234
162
311
185
223
226
187
221
213
225
234
214
235
209
267
228
269
250
346
227
135
166
243
245
178
242
192
162
363
249
250
154
162
229
270
259
165
196
177
272
198
261
211
187
258
217
253
198
126
242
249
204
189
210
215
169
264
180
204
221
246
291
201
231
198
229
220
217
154
220
212
297
193
214
217
248
219
191
126
262
220
210
287
204
176
158
262
238
206
196
165
196
265
211
237
220
114
227
208
241
182
183
203
195
184
231
193
216
222
178
181
302
167
290
227
185
200
165
200
242
290
305
188
295
190
245
296
211
312
265
197
214
157
191
184
184
248
204
251
294
165
240
222
310
266
292
363
225
252
247
210
268
144
246
160
265
239
254
223
166
257
188
250
177
265
207
231
238
260
253
220
291
219
179
247
309
146
258
237
244
214
191
234
195
215
191
233
287
271
159
152
209
305
194
228
209
199
186
250
255
151
114
221
175
169
229
225
207
114
186
205
191
198
219
181
245
198
152
245
185
288
212
278
227
237
160
151
114
217
213
233
156
243
208
210
249
175
198
236
297
323
317
177
170
229
206
236
203
209
195
201
214
346
197
196
240
240
214
211
280
214
181
191
213
213
255
241
208
239
190
268
189
114
288
205
206
189
238
234
205
184
224
196
200
157
205
256
174
226
201
286
210
130
241
214
202
271
282
314
287
219
196
193
256
285
249
200
275
245
157
267
234
259
195
304
219
270
249
195
287
255
170
208
192
169
227
223
215
251
256
192
206
166
229
186
227
157
181
254
245
200
242
319
215
126
225
195
288
222
164
213
154
223
279
294
323
183
287
224
292
250
190
224
253
220
188
239
231
178
246
226
180
221
341
238
265
186
204
200
198
235
158
256
202
194
306
225
203
174
279
178
257
139
187
241
126
216
270
232
257
223
287
114
174
156
230
139
203
308
196
248
310
264
236
179
217
293
275
309
327
248
205
215
237
273
212
216
243
302
210
271
139
275
224
229
174
311
232
255
221
278
282
236
209
271
204
248
121
219
175
264
194
229
227
230
199
232
253
169
207
223
215
249
213
268
207
263
230
247
285
242
181
241
230
194
201
320
309
126
219
154
263
268
223
260
240
215
264
245
193
193
247
205
178
159
234
205
211
288
208
253
271
188
234
151
255
229
233
276
293
214
252
189
218
249
266
316
236
209
235
251
260
195
236
227
209
247
307
258
316
222
267
154
287
276
207
231
234
192
297
186
287
253
279
275
219
255
274
170
320
382
190
173
240
250
207
215
189
166
244
274
221
270
278
217
226
229
231
240
283
166
297
277
167
261
221
253
244
264
239
149
221
196
228
205
322
229
274
257
256
203
297
175
162
231
212
312
255
245
242
179
225
147
173
273
184
184
288
213
259
253
304
200
288
243
293
169
265
180
234
296
213
240
212
194
215
212
222
238
210
178
190
298
285
211
193
240
249
235
173
182
233
183
271
200
139
291
245
128
214
282
227
210
226
250
233
247
215
237
195
169
186
198
244
223
238
144
306
191
258
301
274
256
322
240
158
260
223
236
316
215
260
268
237
208
186
154
209
206
244
209
231
260
283
173
175
161
236
257
197
185
302
211
194
231
170
277
221
213
243
260
229
208
212
266
211
174
322
179
249
201
204
238
246
214
259
213
194
226
205
181
260
297
235
286
167
214
205
285
278
208
202
224
224
271
183
224
220
231
144
295
247
179
244
215
176
243
270
279
238
213
285
219
152
202
347
224
219
237
223
195
228
282
220
271
302
158
209
212
179
318
203
352
184
277
264
188
181
126
271
238
231
247
213
308
263
176
230
211
253
200
114
208
238
254
310
176
180
227
303
220
197
227
236
168
260
255
208
201
172
238
179
228
269
106
200
144
255
226
184
199
212
197
204
228
192
262
175
181
184
114
199
209
312
155
203
194
224
259
200
227
235
215
205
203
229
229
230
193
181
227
218
265
245
214
208
266
258
156
219
196
354
239
201
253
197
259
244
241
362
244
226
203
253
285
248
220
186
228
153
247
177
201
170
184
219
175
274
228
173
243
212
208
242
151
185
245
267
242
296
137
241
260
168
290
204
220
217
242
232
242
213
289
207
154
173
251
257
173
213
304
178
209
185
268
190
222
252
207
269
151
207
251
220
247
194
266
213
162
187
209
114
219
182
210
230
256
253
174
229
251
258
247
283
278
283
255
277
219
250
248
207
191
232
239
213
285
168
245
249
184
248
267
225
206
236
181
264
276
172
252
237
243
231
201
245
268
258
231
260
280
215
270
153
232
233
193
278
251
180
161
158
180
267
260
130
160
329
144
202
233
310
223
165
186
247
189
211
209
260
253
200
183
275
277
178
204
265
219
228
196
192
189
273
174
216
180
202
248
203
221
185
275
225
217
213
180
225
180
217
256
333
221
235
191
190
211
214
269
265
193
219
187
299
201
251
231
162
214
313
306
249
267
222
289
170
208
245
193
139
266
157
320
257
293
156
213
203
193
177
180
207
241
215
228
230
160
222
173
139
175
253
245
130
195
154
286
264
198
286
232
170
170
207
291
185
199
263
270
278
240
255
252
171
196
169
235
249
240
156
196
255
241
290
133
241
306
257
179
182
269
275
245
252
211
222
175
260
277
254
181
169
215
263
299
243
228
259
207
333
289
228
279
191
212
157
216
243
334
234
154
174
221
254
201
209
228
192
156
169
183
237
168
204
152
232
202
202
234
169
271
299
233
195
126
203
287
259
270
203
188
188
178
280
228
158
213
241
230
106
280
245
240
207
198
185
241
210
234
271
169
140
205
221
209
209
235
213
288
199
245
238
200
240
235
270
216
219
178
227
248
237
245
211
239
245
106
349
174
236
188
180
206
189
284
253
114
265
191
278
215
235
221
205
234
225
263
273
226
200
287
211
284
285
315
232
223
210
260
186
190
292
179
214
168
170
315
151
256
265
215
261
205
197
195
230
234
295
207
269
330
208
196
231
170
258
178
157
222
205
228
165
232
241
225
214
191
308
207
310
279
231
173
173
242
264
256
200
317
282
264
195
238
180
266
264
162
235
316
253
201
206
160
184
230
229
191
152
218
241
194
288
171
195
220
192
261
236
208
208
234
223
290
266
114
304
192
266
180
181
235
241
154
218
220
208
207
264
331
145
170
208
226
201
249
221
161
174
206
227
130
190
243
310
170
253
184
215
149
181
166
223
175
244
199
296
251
161
193
241
285
186
220
214
296
162
114
176
270
235
288
204
188
228
303
193
190
225
225
277
244
198
192
237
240
261
198
218
265
220
211
200
273
252
181
233
203
139
184
181
189
257
177
231
228
200
235
280
202
209
212
199
206
179
224
251
261
213
229
202
175
242
223
189
292
248
286
231
219
335
329
207
178
251
223
154
224
114
248
254
261
252
286
161
238
197
147
249
243
270
216
183
160
201
223
161
245
318
252
227
263
324
298
232
270
181
181
233
250
244
208
228
154
233
217
231
225
198
151
205
256
168
259
218
201
185
208
211
208
248
175
235
248
242
292
203
247
217
235
256
227
217
194
246
189
279
209
267
211
176
189
245
161
233
198
194
158
258
254
157
278
234
234
229
207
252
235
287
212
217
202
256
235
257
309
283
201
205
258
229
200
185
190
241
328
175
221
175
281
204
215
198
286
171
318
171
202
219
174
232
203
149
177
157
114
263
242
211
207
237
235
173
256
237
156
196
272
257
241
202
322
254
253
245
208
240
240
238
219
238
194
225
211
247
202
241
209
224
160
291
201
182
233
261
221
209
213
194
243
240
184
283
108
252
291
194
254
156
319
215
225
182
173
204
231
229
238
165
238
264
214
295
212
241
277
140
236
277
268
261
206
230
179
217
215
181
278
161
259
319
220
196
260
235
267
114
191
252
284
233
193
348
116
208
230
252
253
170
255
148
329
256
222
162
192
214
242
213
181
278
177
161
264
191
202
209
206
193
173
325
226
205
270
154
254
211
229
193
293
221
230
216
214
372
209
257
282
263
243
224
337
349
218
269
227
255
244
259
178
279
185
224
217
114
238
262
263
253
166
227
247
297
248
214
221
263
276
239
234
202
142
245
181
192
264
278
201
174
151
266
160
198
254
245
325
231
154
233
228
195
203
220
185
259
172
192
144
212
254
278
114
289
245
228
180
271
114
182
247
263
278
197
199
169
208
212
158
242
238
214
243
181
222
247
176
260
251
192
297
227
235
243
268
149
195
268
220
296
190
339
114
151
213
225
257
351
304
210
161
325
212
177
263
173
170
230
170
225
230
239
242
193
267
264
214
277
257
212
189
297
167
233
246
286
241
166
171
178
205
258
192
228
223
202
231
250
237
200
306
205
241
334
233
256
184
141
135
264
224
252
239
236
174
280
216
260
203
285
272
192
318
241
179
210
235
223
172
231
160
279
228
198
189
240
164
166
250
202
298
229
261
139
219
200
213
249
191
221
241
235
175
284
235
245
194
175
195
234
251
304
185
261
233
169
244
156
196
236
165
207
175
190
180
252
184
205
270
174
212
191
213
280
309
242
180
195
195
268
212
297
272
181
220
303
293
283
257
211
188
224
160
160
266
246
238
314
227
247
189
148
172
214
272
231
205
263
243
320
170
197
220
247
126
261
183
224
160
147
207
192
241
208
178
206
228
250
263
256
263
236
156
294
253
201
283
213
237
270
188
239
274
250
188
148
223
212
184
264
160
203
281
215
185
218
211
201
203
158
203
156
187
195
277
209
274
215
218
202
242
208
185
272
165
160
269
255
160
263
226
316
144
257
237
227
186
186
214
305
219
262
212
218
175
126
231
223
176
149
250
257
226
231
304
206
224
250
189
208
204
219
288
263
178
210
172
166
297
184
220
147
222
198
249
239
201
178
252
129
249
287
303
228
238
228
250
251
260
248
174
219
202
245
160
192
211
211
159
229
173
251
224
161
196
243
217
237
237
177
182
231
214
233
229
220
174
173
283
257
191
210
268
257
229
252
255
204
237
225
233
257
190
202
234
216
181
238
215
156
170
286
174
198
252
159
257
278
267
206
114
235
282
250
300
267
209
201
193
243
114
228
293
304
176
235
237
318
279
253
233
116
208
156
226
205
233
251
273
214
180
208
205
265
265
168
192
168
204
199
235
221
244
202
235
164
211
225
247
362
251
230
254
228
232
228
191
157
163
240
271
195
204
217
228
166
258
216
216
183
264
186
177
204
146
244
247
266
177
226
161
236
167
188
173
260
220
180
161
195
234
244
290
219
204
290
204
192
236
224
171
244
195
273
171
294
200
276
200
254
231
226
230
256
185
277
247
114
220
184
235
265
216
283
211
279
193
250
215
274
223
116
133
275
217
228
264
301
199
168
233
183
194
219
279
208
221
286
307
203
216
218
203
166
195
274
178
233
225
212
222
306
214
248
238
188
157
191
230
228
251
318
216
180
259
192
220
180
207
206
224
263
114
253
316
181
203
233
245
162
170
207
191
179
201
181
209
195
217
185
269
311
211
285
260
145
181
158
305
227
214
221
263
225
223
182
229
208
175
222
213
215
165
293
207
218
238
221
202
180
146
175
263
216
201
204
182
129
185
216
156
243
233
234
199
165
252
247
247
174
276
285
170
254
245
297
256
188
190
203
154
175
223
226
304
198
254
339
245
208
273
212
249
227
114
285
232
321
188
187
257
202
183
250
334
244
126
295
221
198
160
339
247
220
192
207
223
257
178
231
178
264
114
116
224
237
226
249
223
192
195
243
187
236
254
237
154
217
247
225
236
146
246
245
156
250
238
229
213
145
186
180
183
291
247
221
205
226
183
139
243
204
226
241
250
265
139
200
231
236
149
283
198
219
207
194
283
207
206
188
220
299
152
348
192
209
170
220
204
214
154
160
253
280
214
243
317
255
279
282
236
187
227
211
233
192
233
212
202
245
212
270
246
261
191
153
320
258
263
205
213
215
200
241
276
266
198
217
238
251
223
126
207
284
301
147
290
234
240
278
246
178
200
277
166
222
210
218
230
235
197
237
211
312
291
206
184
183
273
200
156
192
215
219
275
171
213
126
192
178
169
211
244
231
236
246
228
164
206
222
190
266
200
168
210
235
213
222
193
252
172
159
192
230
159
193
191
153
280
236
245
176
270
206
247
267
311
257
239
170
257
201
236
182
293
200
247
174
202
281
263
185
213
311
193
228
206
245
238
263
269
228
217
250
217
265
175
284
238
139
156
146
228
257
302
170
246
217
149
204
303
165
225
320
191
299
121
245
190
230
240
198
252
313
351
248
225
222
264
272
219
204
194
280
243
325
259
186
240
114
106
233
179
192
166
244
263
270
255
213
239
240
238
293
186
173
263
302
200
254
188
197
265
234
278
195
183
161
252
198
167
187
229
238
195
209
215
307
277
166
257
193
221
235
197
279
236
245
283
221
302
243
259
241
260
237
242
190
249
296
181
180
156
156
194
221
287
181
254
261
245
196
200
215
249
208
158
166
277
217
195
209
240
194
286
242
219
256
259
202
214
201
245
231
248
229
191
219
139
268
202
255
191
239
253
275
246
174
154
304
204
241
214
198
255
198
195
249
193
166
354
249
274
171
336
191
296
177
235
198
278
201
261
251
192
305
230
191
250
242
207
317
220
168
201
203
313
192
222
159
272
223
236
217
306
198
208
176
231
213
206
286
209
233
166
275
193
353
206
183
179
174
166
194
207
238
203
196
274
223
196
246
285
206
173
216
304
209
210
210
303
183
231
202
246
233
203
267
211
226
380
196
238
154
279
270
265
218
192
307
170
334
273
201
228
327
218
258
169
221
273
242
241
308
238
230
263
248
219
232
269
171
281
219
261
220
198
164
271
169
171
235
255
274
227
279
272
192
200
149
270
198
165
223
230
230
209
204
172
227
242
283
185
182
173
230
232
149
203
256
174
259
208
220
189
106
243
230
224
230
241
237
262
211
240
228
205
172
280
243
271
245
210
170
231
210
261
243
268
218
214
139
203
208
271
213
174
151
236
258
198
198
291
269
186
240
198
173
174
216
295
178
293
274
255
314
181
195
249
219
173
280
248
194
262
212
225
226
194
185
193
178
270
202
239
316
197
220
278
160
212
165
198
235
299
231
170
194
262
210
233
161
146
239
158
176
183
215
193
159
174
244
241
214
262
244
198
165
177
227
268
247
198
247
332
280
202
242
186
238
162
219
175
214
277
186
246
306
318
313
217
209
278
203
236
189
218
255
188
181
241
218
211
242
180
225
186
283
209
171
282
248
156
195
222
195
242
301
231
273
193
195
260
300
171
221
252
277
272
196
261
200
114
278
329
244
300
220
235
207
178
164
195
237
151
249
235
250
239
276
221
243
161
191
347
195
292
224
241
182
167
274
284
284
166
162
203
175
282
226
210
257
217
208
233
198
256
171
160
218
207
207
262
297
272
170
170
202
233
177
234
291
234
179
192
213
216
236
173
208
291
199
139
198
224
280
315
192
245
171
172
199
196
217
229
288
180
279
228
159
244
179
244
229
293
285
208
252
218
215
235
243
187
188
242
156
220
139
228
275
114
203
190
189
258
269
178
251
178
235
247
263
213
188
270
286
287
201
304
241
290
237
168
294
244
247
170
285
243
227
256
250
241
200
205
310
181
212
246
257
218
242
251
219
126
270
225
189
381
293
204
209
176
251
252
276
225
191
220
182
283
211
236
259
255
201
158
297
292
243
211
183
197
214
178
262
218
288
167
243
192
148
194
228
160
145
242
188
232
175
227
266
114
243
233
273
221
133
253
231
315
251
244
237
248
210
263
260
183
156
169
145
245
151
239
218
106
319
273
259
231
278
263
189
235
189
146
253
265
225
218
180
267
222
240
162
185
219
278
108
218
175
286
191
230
235
235
216
254
237
256
262
241
228
279
262
310
178
208
230
145
173
200
258
314
204
236
257
180
160
210
273
199
245
194
256
170
239
199
273
240
161
235
220
245
304
156
167
251
204
233
200
235
252
242
165
212
218
205
317
204
181
347
190
239
287
363
222
175
274
266
182
238
187
220
181
287
280
260
174
219
305
195
238
217
246
244
151
278
302
245
222
226
233
259
151
256
212
283
210
223
227
201
181
224
197
200
200
315
268
152
194
244
211
243
116
171
191
339
207
296
233
230
228
252
245
167
211
189
272
321
232
247
241
219
122
137
219
239
204
208
191
246
262
209
199
181
199
213
314
156
265
235
195
271
233
210
209
298
263
236
243
229
258
192
231
285
198
284
272
240
168
223
231
246
232
271
248
144
209
203
247
145
156
248
160
302
272
283
296
208
206
175
245
235
194
255
210
273
264
184
296
229
190
213
160
197
294
196
253
282
114
161
212
222
200
310
166
330
236
234
156
214
228
238
205
258
267
298
187
167
225
239
338
216
205
114
252
285
201
265
230
219
286
281
321
108
207
265
255
214
165
177
329
245
284
217
227
238
263
258
223
234
196
177
196
310
256
263
197
244
280
290
360
199
197
186
154
301
185
222
235
249
243
295
257
203
139
222
206
231
276
207
235
199
168
290
220
234
196
154
178
146
188
139
244
219
196
209
192
152
216
207
247
246
228
228
266
237
145
210
193
175
165
114
177
183
193
228
240
239
261
170
162
262
234
268
273
194
197
195
178
188
232
239
198
156
202
230
205
187
239
230
193
290
208
191
210
170
270
195
285
194
179
161
229
231
234
257
207
178
207
247
261
250
192
203
225
236
154
245
214
214
245
323
209
213
242
106
224
177
241
240
200
287
231
236
152
206
192
170
243
285
214
170
242
179
217
250
256
237
312
227
216
244
238
234
259
291
178
216
298
213
239
256
390
300
213
181
210
200
301
198
283
221
240
126
168
269
209
160
210
221
176
222
216
243
241
246
156
259
216
158
280
217
296
114
211
228
260
194
151
257
216
174
232
240
195
179
247
230
238
267
246
244
203
252
216
184
297
279
239
173
191
224
239
149
312
228
199
181
129
196
214
268
242
270
234
233
226
235
228
174
267
296
235
231
285
233
160
250
198
254
250
208
198
242
162
198
256
246
201
221
264
200
329
221
139
166
175
196
161
180
214
221
289
182
222
267
178
202
212
185
292
189
160
201
257
225
227
192
169
265
257
190
218
282
291
232
311
203
253
211
321
203
244
302
114
208
214
168
206
216
276
165
300
192
193
195
218
203
348
304
174
298
144
189
264
187
206
245
193
181
188
252
233
303
276
176
106
273
299
216
274
220
253
165
202
192
256
222
196
221
268
192
261
207
239
279
271
204
217
152
177
255
197
231
268
170
246
169
212
200
219
213
178
211
198
156
278
265
231
203
240
220
229
171
225
281
208
216
174
242
196
211
200
217
228
211
212
114
231
165
160
146
258
251
114
188
285
205
223
263
209
295
235
282
253
234
269
228
250
274
239
174
205
265
286
198
227
290
203
234
216
190
180
269
263
231
274
276
214
261
290
179
225
239
265
235
187
269
192
211
287
167
223
238
245
194
221
238
164
272
189
218
244
139
189
311
230
249
222
228
247
168
204
225
144
178
211
220
212
196
156
232
165
195
240
329
245
220
268
268
214
151
229
203
313
191
212
171
166
243
175
209
240
219
254
284
257
187
302
203
252
261
234
185
240
184
247
285
207
247
254
252
251
183
180
171
258
238
184
173
200
244
268
181
190
213
331
329
253
170
318
261
232
347
259
276
187
258
164
204
277
192
186
255
208
228
286
159
270
246
259
225
198
313
250
251
270
195
211
207
260
297
218
235
285
311
208
220
264
270
285
266
259
338
266
192
208
260
192
217
156
239
245
260
205
114
322
212
285
232
179
281
229
239
256
227
327
234
201
187
228
300
256
285
213
311
236
260
211
193
238
206
208
247
173
217
289
282
161
170
298
267
209
167
215
203
243
201
208
184
303
206
160
257
229
208
151
214
247
198
114
245
179
226
221
262
352
224
301
220
241
190
256
279
178
226
155
250
309
318
277
246
160
286
243
224
234
148
173
197
220
188
286
166
217
182
178
174
242
252
174
233
216
158
235
192
327
146
202
289
254
227
232
286
228
226
180
327
230
253
256
268
161
313
198
186
256
194
243
265
224
195
297
258
180
260
263
197
158
195
229
171
211
235
228
241
250
238
214
202
153
299
235
225
152
250
241
212
244
186
202
176
373
185
259
308
233
180
202
173
221
225
294
220
156
155
196
245
333
226
176
130
221
213
108
304
177
149
226
190
178
288
191
217
172
208
199
293
217
228
311
238
250
231
219
193
229
309
246
260
232
292
266
203
277
237
222
238
196
261
338
229
114
270
165
213
212
217
232
220
196
228
206
189
270
152
357
293
229
260
180
232
211
339
197
276
220
161
195
188
262
182
233
260
192
234
162
152
255
226
232
321
258
218
234
238
169
301
193
187
195
221
216
274
293
215
160
289
224
198
318
209
210
226
252
262
191
163
220
252
258
249
261
235
250
226
220
224
212
214
219
311
273
233
228
261
217
181
184
219
198
139
246
196
230
277
152
230
211
195
208
182
275
244
242
197
203
313
175
275
325
229
168
251
235
219
198
311
192
219
315
213
248
254
228
129
310
238
279
187
173
186
201
189
282
114
149
314
221
222
203
178
186
128
193
265
114
196
205
205
233
238
219
193
234
234
356
180
286
320
204
220
171
173
282
273
181
156
269
199
160
231
199
226
145
263
241
241
254
214
162
114
324
195
170
218
259
256
181
186
227
261
184
320
304
184
236
215
263
167
178
157
194
275
239
236
234
225
273
297
261
219
146
280
286
273
178
194
253
212
234
238
196
229
273
176
277
241
218
273
270
265
172
207
252
243
191
235
234
244
278
282
188
272
211
302
189
177
227
233
236
261
192
209
278
243
196
295
186
114
231
252
305
201
217
234
268
177
216
243
210
177
272
224
218
221
218
301
192
192
252
204
185
259
207
247
298
247
219
255
183
277
217
268
334
199
225
173
204
221
224
184
265
192
201
222
226
231
217
333
145
177
173
191
216
291
147
240
266
202
248
299
291
167
176
171
252
242
265
176
193
212
210
183
245
203
326
217
223
272
240
202
235
208
241
189
284
249
191
235
220
255
159
200
224
261
170
170
169
207
236
214
215
272
223
213
219
286
305
283
254
329
263
199
266
311
203
174
233
183
297
178
267
203
258
195
147
213
160
215
255
253
202
274
259
302
231
268
227
231
240
200
226
267
225
208
216
289
212
264
218
260
181
253
215
211
206
183
234
186
114
355
160
168
156
174
175
233
309
208
238
263
236
263
207
253
223
248
114
234
254
207
242
205
188
152
222
225
235
238
216
133
239
237
197
257
258
178
251
220
237
241
241
241
239
178
229
189
239
219
224
258
197
230
209
163
273
196
181
245
165
233
244
239
301
253
253
263
154
254
171
192
251
213
187
323
222
278
261
325
251
251
245
214
285
169
256
246
114
235
228
216
223
242
273
152
195
114
204
243
198
238
178
229
267
251
230
114
265
170
262
279
265
324
211
296
178
294
227
266
248
266
199
181
170
213
224
332
273
180
243
126
198
222
279
214
114
273
202
238
206
221
216
201
159
178
244
241
371
167
247
280
209
195
216
192
190
251
160
181
206
150
287
251
231
114
206
266
221
284
145
190
205
252
213
220
232
265
212
232
253
254
236
287
234
221
200
180
206
256
216
247
206
251
233
201
213
217
265
293
208
183
220
272
175
246
232
188
206
283
237
108
227
224
272
241
195
263
271
184
184
212
222
227
220
286
241
268
233
244
170
267
259
166
222
199
228
214
183
244
277
285
200
276
191
284
173
207
252
189
218
309
193
325
151
217
204
230
173
208
211
254
168
192
233
220
206
254
248
232
243
182
218
197
266
222
333
240
269
270
208
231
114
340
146
256
265
209
227
229
203
252
170
244
255
211
261
202
205
274
215
226
245
194
222
190
144
206
281
237
193
229
205
170
302
317
263
238
240
162
176
289
230
180
235
184
240
223
209
184
195
226
224
221
256
201
253
287
114
195
196
281
185
215
256
228
170
280
224
232
186
266
223
207
170
271
181
184
114
231
195
182
220
222
264
240
142
176
170
233
217
160
277
288
218
265
228
233
208
175
182
237
198
262
194
248
259
254
271
277
279
203
174
175
211
248
207
242
243
182
180
114
216
251
220
334
277
237
244
192
284
260
232
168
222
233
240
250
271
206
214
219
215
284
126
258
215
207
176
144
198
309
238
160
175
247
179
198
200
245
273
157
252
229
303
267
189
212
262
211
214
189
230
214
160
185
168
253
173
177
245
191
255
211
191
215
274
257
126
141
327
212
139
193
223
170
201
274
272
281
176
244
212
238
181
216
197
228
266
192
194
247
192
214
292
145
218
229
161
235
214
224
239
213
271
165
158
238
325
313
156
225
249
238
178
323
249
239
175
183
182
247
232
257
144
196
356
284
343
183
244
316
255
183
261
170
283
232
231
200
149
231
278
237
287
280
249
114
346
170
300
217
229
255
229
276
170
189
194
238
236
282
108
289
217
192
233
204
226
227
279
269
187
228
173
212
177
247
246
209
289
155
209
232
206
114
286
278
232
312
356
221
175
202
281
192
179
184
197
191
403
207
320
182
213
242
229
292
217
270
253
294
255
262
263
320
214
226
227
320
230
255
203
255
176
269
189
189
303
219
254
208
247
222
185
306
195
203
181
287
280
244
205
220
178
241
180
209
159
175
154
242
237
240
198
266
274
221
176
193
228
231
260
178
234
301
252
216
232
213
114
251
316
126
188
145
198
206
245
226
161
308
160
321
156
212
245
191
230
298
253
187
229
177
251
233
170
218
164
227
254
264
207
248
201
231
194
221
176
195
222
211
327
285
219
200
230
202
160
188
209
209
221
308
154
214
206
225
203
165
116
227
285
180
227
269
176
198
264
270
231
270
178
218
202
200
296
116
282
246
289
205
268
126
307
189
157
277
197
265
176
214
273
288
238
229
192
235
181
251
279
215
297
224
203
252
221
213
200
200
260
196
258
161
162
211
254
193
173
202
314
206
255
230
237
220
235
209
263
156
286
250
243
247
203
231
244
231
202
278
218
156
268
143
184
284
224
151
228
196
341
214
263
329
230
194
236
214
236
291
114
221
161
241
218
152
234
210
245
230
240
198
205
295
218
299
126
129
156
301
234
208
227
158
228
200
179
236
168
227
200
216
181
263
194
176
248
175
171
194
219
215
243
114
219
215
251
193
200
246
270
213
265
252
308
219
200
178
206
249
292
219
252
206
283
182
279
196
269
224
296
151
184
259
260
226
257
197
262
239
270
255
202
114
211
199
186
166
272
191
277
262
219
202
207
264
229
255
248
236
257
206
253
188
178
243
258
239
247
204
186
268
181
298
208
227
227
251
244
165
214
335
228
227
278
298
273
305
264
238
237
203
268
236
217
236
295
164
301
243
239
228
234
241
177
196
300
151
245
254
197
164
291
291
264
207
219
166
240
196
175
199
231
184
225
272
296
197
278
241
126
252
180
178
222
325
216
255
266
260
246
152
206
161
241
166
213
271
301
266
256
257
225
222
214
144
185
174
174
293
333
315
240
244
207
219
235
261
272
227
193
194
238
114
121
205
222
206
184
191
214
151
192
226
192
154
213
283
273
206
229
271
199
214
274
226
190
222
245
198
260
235
246
151
223
230
251
235
240
313
222
205
190
265
242
261
173
302
204
236
231
176
231
253
156
271
171
289
228
286
226
226
193
170
195
179
236
307
233
198
195
245
221
168
277
208
158
139
210
221
231
126
129
290
246
184
233
268
238
316
243
200
218
197
233
270
198
276
274
213
303
218
226
264
173
137
151
276
255
114
257
197
209
188
222
155
232
276
172
198
173
194
192
202
334
181
203
152
207
310
272
177
242
239
247
204
179
246
218
293
269
222
215
242
322
160
319
175
294
224
213
209
275
243
196
249
235
237
229
195
238
240
227
181
221
157
177
274
248
205
250
262
222
194
177
302
277
223
337
227
247
257
258
263
203
184
255
133
248
239
211
243
253
192
187
202
294
247
246
209
203
275
207
169
154
277
175
254
259
301
126
237
224
266
253
252
271
256
198
278
169
235
219
223
226
193
213
214
269
227
197
215
271
198
244
306
174
193
192
230
229
180
240
214
182
213
332
246
302
236
185
276
193
163
220
231
191
245
262
262
156
200
250
246
249
220
254
240
156
297
126
284
209
193
222
207
207
185
196
230
270
220
267
195
228
211
211
194
193
174
237
213
198
114
194
301
267
321
202
251
160
180
214
318
244
217
181
284
227
283
262
209
294
238
160
274
177
267
234
308
275
189
195
256
201
190
192
220
254
114
182
275
297
213
237
223
181
191
165
144
199
182
244
245
280
229
151
202
220
186
309
163
228
160
200
213
221
323
244
219
175
243
250
247
232
196
243
192
324
301
227
286
203
151
229
265
233
242
196
168
216
232
226
209
207
221
221
151
217
204
234
238
160
236
279
225
218
195
258
231
270
241
253
252
231
233
162
191
181
240
212
270
174
235
265
158
252
295
165
241
255
174
247
281
242
147
170
170
302
267
114
177
339
279
279
253
205
285
299
250
205
280
266
170
229
304
210
271
234
156
193
188
253
202
196
292
253
196
226
157
178
188
261
231
271
213
214
200
251
180
169
233
239
261
235
303
213
237
288
231
205
178
221
181
238
160
274
219
205
307
198
247
114
227
206
258
266
177
215
251
215
207
214
260
272
235
288
202
232
241
233
235
204
192
258
246
216
219
278
271
193
250
238
279
173
246
234
214
191
211
280
223
221
163
199
305
159
170
256
204
280
206
162
275
151
260
209
158
241
126
221
260
284
253
216
193
297
230
225
221
208
192
180
217
300
279
220
229
273
269
296
198
237
181
225
197
218
180
264
256
258
234
206
226
256
202
240
114
170
195
196
254
189
224
156
174
262
257
214
251
290
260
213
235
227
218
225
206
231
133
240
277
254
200
258
226
233
272
234
195
227
199
193
208
248
256
200
193
263
240
196
254
262
170
245
228
185
232
248
233
206
225
211
159
265
238
230
156
200
203
181
218
296
187
176
252
212
198
207
225
271
178
114
251
222
265
239
329
253
263
186
234
235
261
174
359
243
330
198
232
241
289
148
180
209
223
262
201
203
243
240
250
203
182
222
278
126
183
189
247
294
174
154
198
249
193
190
309
178
241
247
259
297
258
179
114
251
153
173
195
342
170
292
204
271
243
213
212
185
293
194
243
160
190
108
268
185
246
246
223
223
201
191
172
152
226
169
177
238
238
250
211
255
218
239
215
291
183
231
189
172
215
288
202
280
233
228
285
236
231
184
297
231
249
234
246
294
275
183
152
271
162
198
269
169
184
267
191
221
210
238
209
240
254
228
282
237
222
257
218
285
284
154
231
206
232
349
203
248
277
248
250
199
195
221
206
229
222
249
268
195
237
197
239
174
203
270
238
258
316
243
272
265
231
182
278
173
114
234
203
180
235
296
237
196
211
225
290
242
237
259
166
222
232
211
171
197
268
318
183
169
241
195
201
114
165
231
284
186
188
194
253
171
224
152
177
262
226
213
249
222
257
182
220
259
279
218
185
165
269
198
326
225
237
220
207
192
285
242
288
165
297
175
213
114
182
185
200
196
171
206
248
349
207
160
222
192
208
228
239
356
317
108
269
227
238
223
180
243
114
249
213
192
326
177
312
226
233
204
169
256
240
272
219
265
186
164
244
226
180
225
298
244
284
234
166
295
219
212
250
212
234
178
200
175
179
244
230
257
339
237
278
320
286
224
271
192
318
198
145
152
196
281
197
286
230
249
259
192
258
222
151
192
223
253
274
189
202
234
251
252
139
175
220
278
160
245
205
269
203
244
292
227
185
237
194
273
273
229
267
187
198
139
185
214
271
265
168
116
264
213
276
197
213
198
160
225
208
255
337
220
309
233
318
205
197
211
201
252
248
327
233
246
241
285
168
183
245
206
209
239
160
220
193
266
271
195
285
241
290
254
169
221
156
231
173
245
207
213
231
235
266
243
283
269
181
225
209
212
212
226
235
179
239
280
147
193
290
239
293
219
254
202
189
270
217
214
182
170
234
211
240
203
191
274
203
247
203
311
170
268
234
157
191
238
203
232
152
204
164
212
230
203
228
231
199
238
232
186
250
233
294
233
228
203
252
208
169
204
267
176
218
193
208
214
187
230
184
231
214
246
265
114
238
114
207
198
263
228
210
227
292
231
235
215
270
211
249
275
227
227
187
250
236
255
201
231
152
181
183
281
205
170
267
291
240
139
169
221
298
232
184
189
239
242
193
208
300
273
254
191
245
248
314
206
225
273
179
174
194
306
194
226
203
207
192
266
220
200
170
239
205
269
221
287
234
214
343
191
264
209
231
180
160
220
163
204
332
218
249
287
223
225
213
209
250
188
214
224
256
219
222
295
206
205
265
203
276
229
212
243
269
114
238
218
145
242
273
271
224
252
220
240
259
235
173
334
152
176
170
204
277
239
262
200
210
185
215
288
222
114
214
271
156
201
199
194
307
221
199
290
247
185
267
175
208
262
270
183
246
236
228
297
165
252
289
265
219
277
182
234
188
280
204
221
267
178
237
196
178
208
274
207
230
318
223
247
249
200
261
175
286
239
256
265
210
195
192
204
239
192
162
149
205
226
233
213
203
271
306
249
190
263
191
218
268
196
194
151
227
240
242
230
255
206
267
254
244
183
299
188
254
224
191
233
186
211
244
199
193
278
156
174
227
196
236
245
215
160
247
260
240
260
228
173
259
201
258
340
239
250
193
251
229
193
217
198
252
215
219
229
209
253
208
260
227
252
193
246
167
206
260
207
155
191
195
230
292
279
234
183
231
223
271
223
278
175
234
126
206
242
229
285
177
219
182
296
156
203
273
114
164
174
173
192
207
305
162
147
316
227
233
178
289
178
214
202
198
307
165
157
319
167
233
157
290
214
217
323
290
268
230
232
157
285
201
208
218
251
258
252
267
174
178
252
229
195
249
256
170
160
171
233
262
201
289
201
243
227
272
166
301
219
287
254
202
211
274
215
220
114
252
278
238
217
282
146
185
215
188
296
279
235
186
205
176
247
170
233
226
201
232
244
259
216
139
243
246
241
202
253
231
151
194
220
174
108
230
316
229
171
218
300
264
236
151
262
196
190
187
139
234
200
167
233
163
191
290
209
240
205
276
239
270
200
171
231
253
216
248
238
202
252
214
200
262
320
238
192
182
184
211
170
227
288
188
255
191
237
116
244
214
232
211
203
198
233
258
176
193
219
291
114
241
224
255
227
249
274
200
214
257
325
230
254
257
295
233
278
188
193
193
158
266
196
199
246
172
219
114
188
232
260
293
191
246
156
230
225
180
310
163
231
145
205
182
232
202
240
167
155
273
282
152
165
193
156
152
189
365
319
231
203
312
223
226
188
190
211
210
226
336
196
300
249
158
154
206
227
209
261
212
196
231
275
203
192
266
167
256
226
285
251
205
265
146
201
231
218
241
168
322
184
218
204
238
277
286
213
247
235
204
259
171
218
149
223
208
235
235
260
225
202
249
194
226
217
256
146
189
211
317
182
169
171
185
219
114
173
114
256
272
252
309
187
114
187
196
265
158
114
231
151
189
216
219
232
304
162
168
206
178
246
189
196
164
198
203
181
190
160
230
218
145
262
182
287
223
170
235
229
233
205
175
280
224
225
288
203
225
190
156
311
283
272
232
267
194
199
250
283
225
309
192
257
178
213
227
181
280
232
144
253
158
237
292
178
176
221
209
236
171
252
260
278
174
215
229
219
264
176
237
238
262
231
200
262
166
188
261
223
192
223
203
245
230
114
255
206
290
248
262
228
315
253
193
213
226
188
197
160
250
272
302
224
246
258
210
234
225
265
243
176
225
188
166
228
193
238
281
213
248
170
214
214
303
192
236
173
335
305
205
333
216
173
170
164
262
234
170
259
202
275
129
347
240
234
251
294
189
265
170
223
197
234
260
221
156
220
267
256
263
174
209
301
211
224
227
243
199
178
239
219
189
177
166
312
266
211
241
226
195
173
285
287
188
268
286
114
223
260
288
317
310
185
204
221
288
256
266
205
268
272
192
221
238
206
163
198
189
283
207
182
252
200
270
166
310
214
233
204
232
151
230
288
245
200
204
164
228
192
191
208
308
216
205
304
203
222
254
209
259
208
234
178
237
139
203
152
206
106
180
285
223
231
207
197
180
242
199
235
214
170
300
214
175
202
191
208
195
226
320
243
239
200
217
262
239
308
167
197
249
152
244
292
193
215
201
215
273
277
210
270
188
203
210
269
146
226
242
383
206
174
203
173
222
265
250
225
200
191
308
192
199
248
183
256
201
232
221
207
283
228
209
207
203
191
211
175
209
250
165
167
258
218
227
203
220
178
186
231
187
126
220
197
244
268
239
204
163
292
199
114
240
257
211
279
216
180
266
215
189
282
186
230
114
173
268
218
231
312
184
156
235
130
242
299
129
182
267
261
228
298
160
190
296
252
251
243
245
151
253
251
181
188
147
184
253
253
223
207
205
260
274
286
205
249
217
304
215
172
249
240
202
199
208
171
263
171
224
246
219
306
285
246
290
181
311
221
265
223
222
150
187
216
156
226
183
312
254
170
180
221
314
146
126
289
242
114
206
228
257
243
208
240
244
223
255
192
340
190
203
259
240
163
200
307
296
179
177
196
217
237
211
209
299
160
289
276
215
249
218
283
254
206
251
269
222
157
307
348
214
249
277
202
200
315
184
195
156
207
253
209
209
225
172
211
250
254
217
284
178
181
307
250
175
170
273
232
260
196
176
259
291
133
219
244
175
256
270
359
251
178
249
201
173
273
290
219
243
259
282
283
285
172
229
205
190
173
221
208
306
233
190
276
222
226
225
159
163
225
310
204
151
211
280
166
153
206
161
197
200
148
210
271
270
204
252
222
210
222
184
198
229
248
232
214
220
228
215
303
175
222
224
247
228
205
149
248
272
277
224
160
285
269
192
173
190
211
257
265
274
229
170
257
223
181
192
173
157
242
212
198
223
235
183
253
185
263
181
203
226
231
200
173
200
181
289
232
167
197
232
230
181
256
149
152
188
230
278
180
114
212
240
323
213
162
181
179
266
171
197
221
208
306
183
186
206
201
243
324
272
205
209
174
194
238
355
205
250
253
229
295
228
192
259
295
170
114
160
253
214
315
278
194
207
158
227
211
244
245
221
160
247
195
278
209
225
156
241
168
192
247
176
366
227
161
192
228
247
257
290
273
237
223
262
252
247
187
216
273
254
242
286
223
200
193
207
295
211
233
251
232
200
176
178
336
177
253
161
114
179
299
168
250
187
250
238
243
208
200
181
165
255
204
204
145
254
202
220
248
241
251
160
265
284
289
228
216
358
246
208
194
147
293
152
227
211
195
252
287
254
238
255
160
273
216
220
198
248
211
349
201
241
218
215
225
262
226
217
195
280
197
307
224
192
227
234
264
239
212
265
251
221
274
212
238
219
209
299
223
170
215
194
174
265
239
260
274
207
231
198
198
224
214
198
233
311
215
251
278
279
195
255
207
187
146
170
114
151
173
317
237
210
231
210
149
234
257
318
108
181
161
261
186
214
244
269
215
156
191
247
232
248
179
290
152
141
287
268
225
245
235
151
357
287
323
246
258
217
231
244
287
208
204
195
265
241
185
234
198
224
255
275
261
114
233
191
167
256
160
207
149
200
246
251
245
214
272
231
181
245
250
218
204
217
225
214
218
188
217
241
225
270
219
252
227
242
249
144
249
240
219
235
225
281
225
229
246
190
273
168
245
195
149
253
208
329
170
252
276
218
198
159
300
155
188
256
328
185
219
250
255
259
268
288
215
183
223
159
217
170
175
204
214
165
242
160
219
160
206
198
181
242
241
157
346
205
276
233
272
283
218
288
161
217
191
192
187
139
261
171
198
251
208
211
256
237
207
225
180
227
116
211
211
183
234
245
231
246
114
199
256
237
182
273
232
175
265
253
266
291
282
267
229
225
196
161
240
245
237
270
240
268
285
251
232
151
206
207
208
246
187
234
300
227
274
176
253
185
271
114
175
208
329
190
331
176
228
219
357
175
232
150
230
197
312
240
226
242
184
314
244
192
228
194
199
224
237
130
243
178
252
214
193
242
183
262
240
198
222
308
244
172
218
198
220
255
187
148
306
206
235
253
206
221
239
114
267
266
263
203
239
243
238
265
209
285
297
201
261
238
246
296
210
234
196
217
196
226
232
158
211
178
106
226
265
246
175
171
207
253
254
291
165
212
261
232
222
259
329
223
268
247
171
257
211
225
278
258
206
223
235
252
212
192
234
211
231
114
192
183
227
265
270
247
263
260
213
145
250
323
215
206
238
154
251
220
114
297
164
273
219
250
217
225
207
197
257
271
270
200
223
171
243
169
252
353
306
193
237
222
210
303
200
238
165
157
207
269
321
257
145
205
220
294
175
254
276
240
204
265
231
179
231
242
233
226
299
233
166
240
384
219
288
199
270
250
251
282
114
239
198
225
194
257
196
200
157
189
204
195
178
170
210
320
216
209
108
238
181
166
151
188
198
239
260
181
173
273
159
236
253
228
227
243
288
219
187
240
253
186
170
266
285
209
264
264
250
263
245
238
239
199
178
205
231
196
255
258
219
221
243
194
217
235
168
205
214
287
178
260
201
133
277
249
232
229
308
114
206
276
195
180
220
196
169
272
236
313
158
285
246
198
238
255
196
294
247
266
181
233
189
223
250
259
318
190
208
281
159
151
228
228
205
274
254
232
249
229
238
256
170
165
281
229
190
185
252
277
220
234
243
265
198
241
219
181
230
216
206
171
229
245
225
271
184
177
206
232
197
162
237
238
222
275
233
216
264
218
146
114
147
215
230
192
182
201
270
178
176
165
171
229
193
236
269
307
206
246
189
296
184
230
252
195
215
222
151
211
233
221
245
211
265
178
290
215
223
241
209
282
222
216
293
235
213
217
233
168
238
194
228
173
200
213
242
290
185
229
158
114
268
210
219
188
284
255
211
260
213
180
229
246
240
296
275
179
255
166
258
217
246
283
261
218
230
193
253
238
210
279
235
139
264
244
213
203
284
246
230
198
198
202
315
260
236
270
226
240
218
244
233
196
201
287
207
284
156
193
197
207
181
192
205
245
232
231
258
225
196
198
213
170
274
223
197
234
133
244
241
231
170
243
243
327
207
243
200
328
207
289
272
222
241
209
243
247
250
193
203
174
303
235
200
215
294
232
156
303
173
191
270
175
256
280
203
207
181
240
232
208
180
161
184
162
256
173
219
241
289
203
256
255
247
206
246
265
205
229
222
114
243
221
270
272
207
200
173
214
206
192
156
193
264
227
236
208
225
234
209
283
236
170
255
277
196
296
296
232
247
263
260
197
232
221
234
201
187
181
220
299
194
189
251
199
216
249
307
253
236
226
303
173
189
201
222
256
194
173
170
255
225
267
205
232
180
269
241
245
266
255
217
260
224
181
274
227
146
229
227
156
171
175
279
219
229
178
214
210
229
188
246
228
239
204
229
236
202
342
189
243
156
223
223
217
187
202
196
233
265
166
194
273
212
238
265
197
231
281
207
233
243
154
240
330
231
249
200
224
207
194
198
222
226
225
227
148
226
297
212
241
310
258
285
241
230
151
235
206
243
194
202
188
219
161
242
186
220
146
195
207
252
346
181
260
114
277
201
196
267
207
114
244
225
230
274
221
247
215
207
201
260
281
213
249
207
263
198
197
253
181
160
178
151
290
198
184
178
264
188
211
240
180
258
228
190
173
175
223
195
151
234
302
234
229
291
225
244
237
227
290
199
253
241
152
257
184
156
240
254
261
265
192
238
182
209
261
243
186
198
322
207
243
204
273
217
230
241
190
275
255
206
170
222
225
244
233
228
186
287
200
173
122
254
279
114
160
133
203
114
178
283
222
192
268
260
154
216
236
319
274
262
198
268
229
320
245
230
190
187
253
174
280
228
265
184
126
194
245
284
200
233
224
220
301
264
114
144
229
223
289
181
201
217
185
227
201
217
267
149
197
207
214
241
268
270
217
176
202
283
263
202
191
211
181
226
181
250
173
282
166
241
223
252
129
289
193
257
225
332
236
217
162
182
306
272
199
200
247
231
207
195
306
156
178
248
193
280
205
232
149
204
181
251
277
175
208
173
169
218
198
154
254
237
312
283
245
241
220
268
244
176
139
265
218
195
261
246
196
267
212
239
182
211
208
225
248
253
191
317
184
224
187
229
236
212
180
241
237
248
189
158
298
202
212
166
170
199
245
154
211
213
236
231
237
258
257
208
175
223
169
229
205
241
285
121
166
230
231
229
178
345
106
173
251
248
257
273
242
306
291
231
260
233
217
240
167
299
151
256
276
180
205
245
190
224
160
237
251
166
213
225
268
193
223
231
224
266
160
241
251
114
296
278
191
209
194
211
186
190
273
213
245
233
280
217
196
213
287
241
168
147
259
189
240
255
218
184
220
241
208
233
239
177
242
318
259
294
188
295
206
227
222
179
233
178
305
289
162
213
213
214
220
114
263
241
263
181
263
235
241
285
203
222
258
189
210
225
233
214
242
315
212
219
220
208
259
207
225
291
281
192
237
238
157
240
254
253
166
224
220
293
208
216
261
276
224
222
219
173
212
303
142
198
241
170
335
234
248
205
126
243
189
208
130
173
201
210
177
156
263
288
311
267
205
238
237
308
228
201
202
272
260
179
171
273
210
244
280
182
261
161
221
197
223
259
176
196
251
192
211
356
213
268
251
261
235
207
285
308
202
221
193
255
279
239
236
248
204
218
269
210
188
178
225
237
293
238
126
181
205
114
233
246
238
171
302
139
114
289
193
235
308
218
243
277
185
292
212
193
114
255
209
264
214
197
277
208
184
223
243
212
182
186
217
257
178
215
251
252
225
233
122
221
228
215
308
218
208
207
260
284
321
197
290
241
147
255
207
203
179
222
261
204
231
214
195
194
174
208
215
211
211
299
152
299
245
288
237
192
209
180
216
234
290
219
202
160
219
265
242
222
284
229
216
248
224
293
160
234
223
180
238
194
161
258
220
161
147
187
242
239
257
191
195
217
190
171
206
257
250
193
182
139
229
261
208
275
255
219
290
183
201
235
178
252
243
233
198
240
224
243
267
240
196
231
162
262
188
160
198
240
279
268
201
283
228
221
258
151
288
248
181
160
243
236
197
139
192
274
202
173
200
212
262
248
230
265
285
203
198
161
200
263
183
284
279
178
252
181
195
202
196
213
254
264
212
255
206
114
311
327
157
194
227
230
261
206
162
210
243
192
174
271
232
203
228
247
221
210
247
181
221
285
168
227
259
156
178
258
254
227
121
225
259
161
197
173
280
317
264
198
275
176
239
180
261
217
209
174
281
217
212
215
213
217
242
201
214
167
245
175
227
156
165
295
197
116
265
224
213
220
191
256
198
188
305
214
243
217
217
229
373
225
184
199
233
199
261
192
151
223
186
223
208
303
114
266
152
268
222
231
232
160
223
252
166
187
114
182
202
273
227
226
300
272
205
151
188
228
237
241
251
193
201
225
227
174
271
214
246
157
236
262
276
326
255
204
174
188
188
196
259
243
201
326
278
219
303
204
218
255
200
172
299
249
253
222
198
237
242
273
181
306
186
232
273
257
194
176
229
192
290
194
233
215
240
260
181
274
252
114
188
277
233
225
184
218
158
145
267
114
246
273
167
280
241
147
166
182
261
155
157
207
317
278
226
229
159
196
247
173
153
259
221
208
195
215
288
290
156
166
181
178
197
280
243
236
184
197
161
230
266
219
255
193
251
208
162
257
162
202
219
178
203
231
187
240
248
222
192
205
173
299
298
165
237
245
227
264
285
324
294
203
167
263
251
226
205
160
202
218
221
194
267
277
249
199
286
248
284
183
261
301
284
249
306
301
215
175
223
192
283
230
302
158
265
207
276
195
240
209
215
241
182
245
217
192
241
246
251
158
168
173
207
234
212
264
384
209
198
253
263
213
201
287
248
201
151
193
169
207
245
175
206
213
184
231
207
237
263
215
196
220
229
184
253
152
216
260
229
232
254
247
294
248
205
201
220
152
222
262
210
225
294
281
168
213
200
194
284
250
215
166
175
175
192
207
227
219
198
202
173
229
221
114
290
227
270
278
175
221
174
178
246
249
231
238
203
276
248
197
217
197
215
214
250
134
197
206
166
191
177
222
248
181
359
233
230
252
242
185
208
191
195
209
214
236
256
183
114
318
173
280
178
227
236
229
154
184
234
196
232
171
214
206
212
170
233
245
279
207
210
242
274
216
244
291
263
226
259
249
189
238
189
213
197
332
239
229
218
167
312
145
248
209
159
207
218
241
274
270
208
198
205
201
252
181
244
245
307
200
162
240
265
243
282
229
219
258
298
217
261
224
210
140
184
214
213
228
202
175
239
269
266
215
257
297
207
166
229
266
221
229
207
256
169
236
308
211
162
293
191
235
225
238
197
249
205
235
126
275
250
262
234
235
194
297
212
278
260
182
277
218
194
214
241
220
231
219
146
258
268
206
161
149
211
240
230
238
227
184
178
251
251
207
202
191
247
233
222
180
199
239
272
169
209
247
195
116
178
200
213
245
175
218
198
178
165
293
278
265
202
219
178
229
216
239
286
201
281
195
301
281
242
270
241
287
207
219
228
208
216
196
241
209
151
202
315
238
322
250
224
144
149
234
249
148
215
206
236
191
268
321
218
199
228
210
196
209
280
178
195
269
151
256
182
263
259
183
223
242
270
227
210
206
231
253
239
192
200
216
280
247
157
256
219
147
240
195
342
114
244
160
267
226
199
214
286
238
312
202
263
296
271
114
139
248
238
314
202
270
267
185
173
191
214
251
199
232
240
195
256
193
225
255
288
174
160
245
207
218
247
240
295
237
287
210
152
207
265
219
197
198
182
294
199
250
197
264
274
253
168
247
199
284
373
169
225
200
197
222
178
284
281
301
285
272
191
263
188
263
184
153
322
206
220
156
270
224
168
220
163
237
256
246
203
246
201
240
221
316
279
260
161
146
299
238
199
233
225
202
284
257
207
261
215
228
291
246
224
204
274
174
206
184
311
238
190
215
175
285
216
215
219
257
255
246
256
160
199
252
208
196
210
199
286
205
154
238
156
321
300
133
217
299
248
162
211
192
180
193
209
220
263
284
186
207
114
205
223
263
351
287
194
198
304
214
195
302
219
223
320
238
273
255
248
205
268
277
252
256
160
195
201
244
226
280
207
198
244
126
244
208
196
211
238
196
114
301
185
206
213
228
213
267
231
139
175
284
215
228
158
216
232
233
225
139
298
230
211
244
233
217
196
262
270
242
265
184
194
206
196
235
215
221
238
208
188
268
263
256
154
290
114
200
245
151
220
237
254
305
300
253
254
175
233
199
248
209
241
244
198
249
152
178
227
213
257
199
273
210
205
208
218
238
262
165
346
264
222
184
236
247
189
166
229
229
262
234
232
307
209
195
184
198
204
219
302
238
162
155
172
201
190
223
252
192
233
258
225
235
276
170
256
209
178
235
176
223
170
194
252
166
242
283
291
142
176
273
289
181
108
249
263
218
280
217
219
145
238
216
188
208
218
177
198
164
191
187
317
259
287
279
294
246
230
253
188
292
218
269
241
273
167
208
222
211
151
273
248
248
198
206
193
203
189
245
168
208
249
210
225
214
295
181
208
245
247
202
227
240
172
170
226
225
187
169
114
211
191
186
209
235
311
213
220
230
269
156
151
178
237
241
178
239
249
246
228
187
224
209
199
196
170
255
234
238
163
248
220
139
261
175
239
234
289
217
170
289
165
216
183
192
213
313
173
291
322
173
158
143
209
218
280
207
175
197
204
192
326
236
304
192
235
235
245
286
252
175
273
206
181
264
245
262
288
278
212
251
154
237
286
201
280
227
218
249
219
178
211
214
219
240
144
270
241
195
257
252
266
269
208
195
266
181
196
192
212
259
142
306
139
296
263
214
206
305
291
209
332
328
197
229
203
229
148
272
207
211
248
208
170
174
236
179
205
220
250
263
173
203
283
214
339
263
185
272
240
244
246
261
274
240
186
159
165
211
133
179
175
207
220
229
173
183
261
163
261
219
262
211
261
199
278
188
271
224
194
252
189
237
222
241
160
219
198
203
169
274
260
242
243
219
217
214
226
220
181
203
146
114
222
237
225
271
151
193
210
219
244
234
234
191
208
181
215
217
190
210
186
173
288
192
261
223
195
201
192
208
299
296
255
198
144
218
243
231
192
246
182
169
217
114
178
209
226
209
114
208
165
206
256
193
291
270
194
184
247
226
206
184
200
206
276
244
219
192
234
194
188
330
212
254
214
220
200
152
223
262
170
234
222
148
255
309
219
270
216
270
222
233
239
290
179
228
188
300
254
319
220
223
186
231
227
296
266
312
284
238
215
266
241
253
219
245
178
222
243
241
287
250
108
211
213
204
189
223
192
167
208
200
196
298
178
285
179
255
199
207
216
279
176
225
256
274
244
174
268
260
232
205
242
283
188
128
258
192
256
255
271
240
181
195
276
206
152
179
216
160
283
215
198
270
202
275
218
159
139
208
218
169
246
302
228
178
198
240
114
215
219
262
251
215
151
238
225
228
198
184
188
129
258
218
206
341
231
193
238
254
262
167
193
221
267
292
209
254
205
145
243
256
227
306
221
246
175
213
265
259
182
227
171
207
235
236
186
238
139
240
321
229
253
202
211
248
181
209
209
230
214
223
146
252
247
190
210
287
158
272
335
182
158
195
165
196
275
267
193
175
200
222
307
325
249
328
192
200
243
304
198
285
195
229
258
172
243
215
211
281
164
270
228
186
215
224
264
233
206
206
203
212
169
234
307
293
287
233
182
208
185
249
333
247
241
208
245
217
251
243
234
230
161
185
267
196
220
212
229
299
253
266
234
209
211
325
236
211
228
187
247
208
207
200
181
155
229
320
302
185
224
216
214
222
178
232
252
272
245
212
148
240
264
240
218
196
302
225
269
248
213
245
269
214
185
258
230
236
290
208
282
229
267
205
248
148
176
133
206
248
175
108
147
345
258
219
208
209
263
207
168
234
309
251
186
302
156
223
137
214
204
254
221
235
241
184
244
260
268
291
247
227
228
248
234
194
198
257
253
170
186
169
324
243
208
223
199
171
114
240
243
241
160
223
310
170
259
166
195
229
210
196
303
274
270
174
206
114
235
218
225
160
206
292
224
198
191
234
230
191
246
172
181
201
260
223
178
211
238
284
305
168
217
187
253
227
200
176
213
194
265
247
169
316
199
247
212
170
151
333
196
225
241
327
245
323
162
252
246
281
286
225
187
213
253
239
166
191
152
173
178
238
206
208
223
282
199
313
233
217
244
230
301
171
263
247
236
221
216
205
114
207
244
199
264
246
147
227
185
218
270
222
165
172
199
310
280
219
214
213
298
269
228
277
226
291
187
221
244
204
285
190
249
159
175
194
187
313
254
244
241
252
193
211
207
296
209
247
287
220
273
250
304
152
290
244
270
242
239
237
114
187
206
220
195
261
218
229
176
249
164
214
184
232
193
266
232
245
194
203
260
229
237
178
220
274
202
204
216
275
222
165
231
223
237
195
151
247
269
263
239
199
286
247
240
214
206
189
210
173
223
214
230
316
114
222
185
160
199
272
201
215
190
283
257
225
275
322
333
215
273
192
258
223
235
229
196
225
317
237
215
247
305
257
220
237
193
173
349
179
228
212
188
198
183
217
265
184
293
203
229
214
252
235
315
218
207
186
171
227
232
198
213
246
170
221
193
265
208
241
234
217
186
204
205
239
142
276
229
254
276
248
265
253
253
166
174
265
197
206
200
286
213
207
227
255
232
252
189
155
215
245
191
254
181
215
233
223
191
200
239
256
198
178
248
242
160
254
263
198
229
202
260
257
226
206
244
208
251
204
226
213
175
211
275
170
271
145
246
298
193
271
214
264
173
254
207
311
200
183
286
234
243
240
194
114
325
191
228
316
315
191
233
257
174
276
234
205
248
215
116
169
353
205
178
219
217
264
177
165
180
197
196
197
269
221
237
210
156
227
347
228
232
195
277
202
189
220
193
292
181
273
198
232
264
318
184
250
187
216
189
211
229
242
300
134
208
236
182
106
318
214
229
204
320
178
198
322
175
218
166
252
182
161
198
269
264
277
190
328
296
262
195
213
251
217
262
200
215
275
242
181
173
187
277
218
176
237
263
233
153
314
163
225
225
251
233
160
254
199
217
220
262
257
261
242
200
160
226
148
256
220
204
289
206
262
225
223
265
234
180
260
222
195
198
244
180
233
206
228
139
297
257
249
214
284
219
227
299
265
185
231
190
145
253
208
219
270
206
258
192
217
211
247
269
250
183
178
178
260
231
259
233
200
246
190
215
262
258
152
168
181
257
235
260
193
238
260
239
191
196
228
181
179
237
175
151
173
179
241
201
325
256
211
251
257
239
291
158
191
266
266
284
200
221
238
185
236
258
277
207
289
290
227
264
174
266
197
224
268
190
262
217
240
151
145
279
222
192
276
171
291
281
312
196
166
209
223
201
267
259
198
242
285
149
151
197
162
232
240
334
206
205
301
175
238
272
222
251
230
174
180
222
226
271
360
218
241
246
139
265
222
183
225
239
259
180
254
167
248
232
197
286
208
240
215
209
182
252
244
225
186
261
203
223
173
156
257
160
174
231
195
167
183
151
193
256
204
225
209
278
218
212
233
198
216
212
306
275
179
292
202
255
217
279
298
208
209
154
233
348
265
241
242
310
231
249
306
204
233
207
228
207
203
106
259
283
126
214
194
233
226
168
207
175
260
156
205
245
190
227
195
252
196
178
213
243
167
206
255
174
114
139
170
236
209
216
258
174
285
233
232
250
231
235
204
235
241
249
195
198
254
218
316
215
328
261
283
190
235
147
251
221
244
276
179
247
170
200
231
165
181
282
233
234
144
261
235
260
235
192
219
210
215
235
239
148
199
270
197
238
323
233
312
196
207
237
259
233
237
206
257
203
191
212
268
156
211
181
174
181
249
282
269
218
265
198
262
200
252
156
208
214
244
231
183
222
170
182
200
247
240
231
266
187
260
198
222
209
235
231
257
163
114
232
197
213
181
241
268
265
208
206
243
241
281
165
243
206
114
184
224
189
231
187
294
162
183
114
252
292
247
224
287
287
229
196
114
180
213
179
204
201
278
341
167
170
223
220
267
161
267
237
259
316
322
180
188
199
311
234
308
310
241
287
211
314
160
237
194
286
264
262
294
244
217
221
157
186
216
252
214
219
216
215
207
229
221
225
181
213
211
210
250
197
269
242
218
249
176
168
171
237
270
226
146
188
286
208
235
204
191
189
231
273
201
338
265
245
244
278
237
238
241
161
215
237
253
253
198
208
251
234
194
176
204
232
152
211
218
202
205
241
257
198
217
227
229
229
286
170
216
250
255
218
116
213
201
212
192
233
211
168
183
194
190
218
212
232
206
198
239
174
174
214
166
180
259
180
214
219
308
282
203
224
272
212
268
145
204
198
287
225
192
269
298
223
204
277
227
295
225
319
235
279
219
160
213
219
177
183
283
208
151
247
233
192
225
270
363
274
206
299
207
174
206
340
214
237
320
181
315
237
193
246
193
228
242
299
392
206
211
194
195
182
211
230
134
281
212
208
163
226
218
238
240
262
174
185
191
305
149
203
238
259
157
198
202
234
174
260
222
208
220
195
251
160
309
222
179
240
116
227
203
193
182
208
212
277
219
229
160
233
275
275
204
157
189
250
253
173
266
191
178
252
193
227
269
243
265
181
198
174
188
287
295
203
233
173
198
178
253
197
233
168
182
166
231
267
212
264
241
209
151
271
279
238
256
176
200
160
198
279
169
226
255
173
182
256
195
345
189
287
302
235
211
241
169
228
311
179
252
228
318
247
170
199
242
216
328
220
274
256
197
231
309
212
247
197
255
278
221
216
168
212
233
340
201
228
243
226
178
246
236
253
218
161
151
322
231
250
268
246
240
218
159
248
231
213
173
198
226
183
281
179
224
259
160
265
313
257
210
242
223
311
189
263
295
212
182
282
234
287
261
180
212
244
257
192
188
218
218
157
301
247
212
231
151
203
183
219
247
284
235
242
214
186
206
211
214
314
162
218
229
229
297
213
185
219
257
305
156
243
171
144
226
228
190
239
246
236
218
264
269
279
329
209
257
230
247
209
217
273
237
199
235
257
224
194
298
247
223
238
287
295
213
209
286
274
225
256
173
186
280
232
222
156
165
263
250
208
175
224
220
192
223
161
207
246
242
197
219
234
270
204
116
170
252
233
248
247
114
176
255
152
246
263
214
218
200
231
241
246
277
160
274
184
264
259
247
250
187
205
308
274
230
246
214
259
228
238
207
329
250
253
193
217
240
156
114
228
237
239
235
191
209
181
259
242
186
200
200
166
243
282
250
261
280
114
227
204
301
188
196
257
225
152
227
214
178
174
215
192
145
179
198
248
206
194
183
210
203
311
185
183
213
230
219
251
161
276
193
221
241
232
181
265
159
158
205
231
200
271
248
198
211
325
222
274
203
221
244
247
218
230
171
221
301
213
234
246
195
126
310
333
206
221
251
290
226
304
209
203
206
263
203
245
279
178
171
180
231
275
219
291
268
169
176
310
232
299
238
234
195
210
251
233
287
263
157
283
175
231
160
258
244
237
300
244
231
192
233
247
169
170
254
379
200
180
228
239
218
215
148
279
209
252
254
203
203
256
202
114
215
178
183
158
198
253
243
289
240
252
227
114
266
186
178
156
266
252
237
198
213
203
227
196
214
212
257
186
240
198
230
211
281
258
299
175
186
235
204
334
285
234
146
253
215
196
278
188
252
191
215
267
250
224
234
197
199
199
198
178
283
130
210
246
233
168
168
240
175
299
281
157
198
240
260
300
200
241
246
228
304
242
244
266
215
240
276
240
213
254
197
323
195
206
159
269
295
231
247
229
203
220
139
114
249
232
114
292
329
139
177
216
288
202
261
222
173
243
228
173
195
243
253
211
260
167
226
201
236
156
240
243
236
130
245
182
179
235
271
198
212
178
214
313
170
280
204
173
257
177
233
214
228
235
228
231
263
206
206
221
224
179
215
234
226
204
167
248
241
189
195
237
241
108
214
223
256
233
205
235
188
240
274
114
243
170
234
226
217
281
173
168
204
261
175
284
202
167
253
188
173
303
236
251
221
174
207
169
202
240
235
167
178
189
202
295
276
208
238
173
277
241
226
175
215
224
173
240
339
287
243
224
229
240
246
171
187
283
219
244
158
238
284
243
209
170
275
192
254
227
268
205
198
200
178
244
160
224
198
220
284
257
232
192
178
207
226
212
214
232
219
233
166
174
245
173
204
170
238
233
263
267
224
233
253
152
254
214
256
200
259
114
211
244
222
169
246
245
240
225
238
184
194
167
235
290
209
194
278
212
231
283
180
295
268
230
182
272
194
243
206
237
290
197
158
245
237
163
190
218
274
219
173
221
250
256
145
285
186
207
314
277
252
180
235
220
198
292
235
234
320
265
293
139
204
217
314
243
326
309
233
259
244
152
248
152
179
204
297
170
161
233
240
211
171
198
352
222
241
265
198
108
304
214
234
267
190
207
205
251
226
213
206
170
233
203
262
130
293
282
215
218
184
251
241
213
192
159
194
270
191
214
247
218
252
353
229
199
295
244
301
173
208
270
299
252
216
256
255
221
217
229
299
199
182
302
126
249
214
191
170
225
214
213
248
250
226
191
198
290
227
200
169
189
223
179
171
225
306
249
233
239
212
260
264
205
265
245
245
242
238
243
276
268
268
252
211
204
335
248
146
263
274
228
218
165
144
175
184
154
216
213
241
218
237
290
281
166
219
211
188
248
217
180
241
278
179
160
170
202
258
223
200
226
217
213
299
184
178
310
301
192
287
218
193
126
242
283
253
185
259
262
184
188
258
194
235
284
226
153
256
162
235
232
268
171
232
139
259
291
267
225
213
197
208
283
114
290
219
180
194
259
224
152
313
183
178
179
243
228
234
184
231
286
171
211
195
262
232
177
293
261
185
236
270
174
203
292
244
273
204
254
233
238
195
330
170
206
245
158
269
225
218
251
298
193
198
185
280
292
195
254
191
261
238
245
244
229
265
230
222
252
263
220
259
197
196
214
307
253
276
273
156
114
255
199
202
312
220
282
223
233
211
173
170
213
232
160
213
254
165
269
320
222
281
223
202
162
265
302
254
198
280
248
276
209
160
251
205
231
184
247
152
251
189
200
211
229
241
223
305
304
158
216
289
228
234
280
156
169
201
227
164
175
209
283
280
216
295
256
189
260
175
280
257
269
283
280
267
205
272
165
277
170
256
209
171
181
160
236
255
221
295
208
225
173
178
173
199
204
350
278
209
156
151
232
272
161
185
252
230
306
255
299
176
274
298
299
188
183
214
191
254
193
228
215
201
202
262
216
170
156
298
235
289
225
231
273
191
333
203
268
223
214
238
228
157
202
265
167
314
213
270
161
236
205
166
258
162
247
233
224
256
289
193
252
220
180
206
211
263
205
185
257
188
218
251
202
179
211
214
282
213
243
196
224
279
282
231
250
267
248
232
174
263
357
206
156
208
268
223
149
205
252
180
235
269
198
276
182
108
214
146
140
283
220
173
367
164
236
200
259
160
267
208
177
276
242
228
208
155
265
226
226
298
198
227
244
274
175
219
290
276
256
249
146
156
223
278
285
210
314
277
229
229
252
139
248
296
171
164
160
213
225
229
272
216
234
175
240
192
293
305
209
223
253
187
230
216
196
283
171
234
231
259
241
267
217
179
240
229
192
157
239
237
285
219
201
292
200
269
271
210
282
287
190
235
219
264
170
194
297
180
203
233
210
253
238
300
259
155
137
250
252
210
231
274
217
199
248
215
194
114
197
297
231
291
181
210
238
208
210
210
245
174
146
230
157
257
211
324
223
200
266
202
340
213
243
255
186
226
223
231
277
212
287
178
246
275
169
174
229
278
175
192
193
197
187
255
276
218
243
202
242
204
215
250
108
173
196
148
276
145
145
255
256
227
236
184
177
291
139
245
267
231
173
180
166
173
176
217
312
262
226
224
156
257
201
195
170
257
181
222
234
179
194
257
242
177
218
226
303
184
187
217
231
282
211
238
250
232
252
286
130
206
192
235
158
210
191
206
191
222
151
230
211
217
369
209
198
116
253
222
209
263
274
173
312
221
227
285
205
226
215
214
207
296
201
205
305
191
182
275
243
229
187
251
222
207
248
255
285
151
266
170
228
193
181
208
183
281
210
236
200
292
181
230
323
252
284
226
217
209
226
163
314
155
183
272
195
291
255
192
239
209
269
249
203
213
180
227
182
198
212
215
338
239
114
239
233
206
184
224
248
242
228
180
253
257
252
236
169
178
212
267
202
268
210
243
106
306
243
270
116
196
270
160
245
214
206
253
197
316
231
191
185
213
268
186
283
260
170
189
245
169
159
191
213
258
229
199
267
171
194
257
192
229
324
285
262
255
216
204
292
211
224
240
223
238
260
235
245
195
267
174
222
219
202
263
243
223
229
207
226
158
234
238
255
220
251
147
165
235
224
174
152
267
220
253
158
210
230
176
237
252
240
191
190
232
243
244
238
253
246
188
249
257
254
210
215
210
235
257
248
260
211
235
211
206
243
235
359
272
283
211
196
181
217
210
248
221
264
149
248
251
223
178
220
247
139
213
217
180
233
174
283
139
241
223
251
186
251
255
157
214
281
220
224
187
175
189
146
189
271
172
181
225
175
206
222
220
248
200
195
262
180
193
237
223
242
279
215
192
244
232
191
263
184
214
185
212
182
236
348
242
238
281
263
297
234
248
207
308
210
253
250
149
157
233
195
303
234
245
193
114
270
294
272
277
256
191
188
233
262
192
186
201
261
151
318
299
266
234
246
205
154
278
173
200
196
327
200
260
267
177
234
165
234
200
228
240
225
240
144
255
192
185
335
228
207
303
264
280
175
214
262
147
206
225
186
234
189
208
169
248
169
256
291
237
192
231
260
178
214
214
245
196
213
190
191
216
251
302
260
240
149
236
243
179
180
198
182
197
284
232
279
221
251
216
232
257
265
200
253
223
222
187
185
174
302
158
236
235
233
229
208
326
240
217
193
202
254
206
230
185
214
165
189
146
292
288
221
211
198
201
174
278
203
232
249
262
209
228
258
216
182
193
217
197
230
228
198
250
195
217
215
170
309
251
293
207
188
194
204
183
204
206
285
213
226
238
221
198
296
302
231
250
181
267
331
199
198
240
114
254
226
202
192
371
227
137
202
268
209
187
167
231
285
239
164
235
252
154
224
209
209
187
249
195
216
156
198
251
156
277
226
158
174
223
230
284
145
240
263
129
236
261
251
227
228
208
253
297
302
225
208
228
226
285
357
242
233
193
289
272
259
240
321
257
244
160
219
275
281
173
222
211
183
214
216
242
204
267
198
223
178
174
261
219
181
237
241
227
255
235
261
258
240
160
230
152
215
262
200
183
114
275
287
221
156
253
209
326
266
273
220
252
180
229
268
194
191
230
214
248
225
210
277
254
222
163
156
257
339
234
216
214
191
232
382
250
255
245
200
305
200
156
194
266
293
255
279
192
268
211
160
274
191
323
239
237
225
267
268
232
215
192
288
175
145
281
206
221
225
246
206
216
241
241
175
233
297
239
217
197
205
263
257
254
214
197
258
197
274
367
174
191
206
195
214
218
314
220
235
275
243
241
206
166
259
279
321
187
266
212
240
214
245
208
203
220
220
153
247
258
247
193
255
204
251
299
247
275
207
247
277
225
280
277
224
202
205
178
169
166
203
236
170
247
239
253
238
205
275
212
152
251
215
213
300
208
247
108
221
207
290
321
255
265
288
248
178
293
256
179
174
223
241
260
214
324
192
251
196
236
266
215
371
239
229
276
219
236
200
184
227
196
152
205
160
288
170
180
174
267
257
248
116
155
295
270
205
213
195
282
234
235
263
231
196
250
160
237
223
191
192
265
280
215
236
233
280
287
151
205
196
198
244
114
275
236
246
244
244
204
197
297
172
240
219
167
200
213
223
284
230
185
276
262
186
170
300
272
174
114
178
178
266
258
145
160
240
248
236
114
200
243
201
260
114
190
272
139
203
191
209
256
207
159
128
228
247
253
236
266
270
157
269
204
270
178
284
201
206
282
178
224
165
114
293
220
212
254
237
231
277
254
248
212
219
246
268
175
235
170
188
176
209
213
146
239
214
252
262
222
190
192
195
271
249
237
180
305
311
224
194
211
246
238
206
253
228
245
226
145
218
241
206
147
179
171
202
175
177
205
226
236
210
261
176
232
257
193
231
194
199
205
296
229
229
243
160
244
232
176
194
160
230
235
204
147
215
207
185
287
248
191
235
262
250
217
173
207
218
197
206
198
225
253
278
265
179
160
200
238
152
241
270
215
238
211
241
217
305
240
322
200
274
251
201
168
234
258
170
160
233
215
169
260
198
198
236
244
263
175
170
317
203
197
161
212
208
276
226
214
158
227
153
276
234
227
271
191
193
211
181
149
173
204
242
184
270
231
126
180
294
213
151
178
295
152
247
248
211
234
221
178
198
333
235
338
296
257
184
326
175
246
249
226
331
235
232
231
200
236
169
207
232
296
161
216
180
160
265
166
228
154
278
186
180
178
175
247
161
160
256
248
173
191
233
254
165
216
233
219
197
251
253
216
241
295
265
114
198
205
280
260
252
271
202
227
234
265
220
181
215
191
299
244
226
249
203
250
224
257
275
236
176
230
172
257
213
202
247
243
174
299
186
196
207
114
229
247
235
193
284
263
254
192
178
268
181
251
178
212
171
280
205
293
225
244
198
114
194
166
318
220
214
217
229
300
230
241
163
242
245
258
171
116
187
264
188
197
222
173
241
198
215
246
200
247
189
246
173
206
211
235
173
268
242
281
175
242
248
197
198
247
218
231
210
273
166
175
220
174
210
248
234
170
172
289
249
223
234
207
234
265
114
276
209
165
220
192
198
233
177
233
130
290
248
297
284
218
222
173
247
261
114
254
241
240
221
255
280
224
203
186
163
194
196
151
214
192
190
160
272
217
210
215
196
222
264
217
246
114
197
262
311
188
211
218
244
222
274
231
206
253
226
218
210
155
285
246
234
251
259
238
202
173
114
166
204
243
152
269
247
248
152
243
206
285
194
174
275
186
233
169
269
226
201
334
186
265
185
268
293
204
240
182
171
239
211
174
249
270
235
275
229
198
237
193
262
211
217
192
191
233
204
214
243
317
206
192
247
193
114
227
257
255
234
218
203
182
210
230
179
273
240
266
299
245
214
258
229
198
246
194
201
230
232
202
249
180
248
347
235
270
274
108
243
256
152
197
160
232
218
192
220
238
216
302
275
241
277
162
248
235
185
262
284
247
239
209
173
201
250
214
256
193
250
255
269
154
208
171
198
250
192
246
240
207
171
330
214
173
231
173
206
202
218
271
179
220
222
249
232
222
291
178
246
223
215
219
208
245
190
165
203
229
356
235
306
287
208
281
152
335
283
274
195
286
193
182
126
241
268
326
126
211
250
212
234
205
259
285
175
163
225
241
232
202
179
211
221
128
251
191
320
245
223
280
198
258
198
222
177
230
234
175
235
180
204
199
213
211
237
228
237
238
254
218
179
201
201
263
206
200
208
219
261
114
278
245
287
196
188
303
227
276
130
314
108
264
145
178
235
215
219
212
195
239
234
162
180
239
218
209
235
195
191
159
241
238
289
191
227
195
156
290
144
203
237
267
249
245
185
196
194
211
201
221
179
227
246
233
214
214
152
266
193
205
158
261
274
215
195
247
205
161
227
221
279
265
181
248
165
215
205
193
173
139
231
174
174
195
248
160
313
220
256
219
155
266
161
152
209
210
220
200
237
337
230
193
260
212
249
219
195
167
252
229
270
208
215
210
265
269
208
286
151
217
240
221
180
261
213
256
237
198
293
287
312
145
193
244
265
189
210
195
290
199
208
257
267
256
196
257
178
272
344
221
200
254
178
243
252
239
332
168
199
197
292
220
226
301
246
290
219
218
207
188
288
310
227
228
220
216
170
309
273
225
214
192
205
181
160
257
213
249
209
203
220
202
229
218
235
192
298
221
223
228
213
229
226
230
274
215
180
246
171
220
272
245
297
207
193
248
258
181
250
178
260
228
240
260
209
144
260
245
269
219
248
181
238
233
226
170
218
217
269
194
211
180
202
223
240
265
161
309
251
189
183
209
249
216
208
244
311
181
237
259
199
228
170
329
309
218
155
246
106
209
197
157
203
244
174
159
240
224
214
196
307
254
329
225
241
194
236
163
291
228
200
192
249
209
193
228
198
191
299
268
259
196
201
223
251
269
217
290
216
303
206
248
199
174
198
258
199
245
256
232
230
285
180
167
286
226
229
197
247
292
167
214
148
185
266
232
205
203
335
217
195
212
288
254
226
229
231
265
265
233
254
251
258
284
206
213
185
208
241
213
239
246
262
174
114
244
157
302
198
279
253
231
289
213
170
189
179
231
174
168
260
250
180
203
268
223
200
198
187
263
307
186
163
175
204
170
266
207
211
205
233
231
193
193
223
234
139
255
198
266
242
273
250
211
223
217
204
256
252
160
173
277
220
228
258
290
271
315
208
241
200
232
251
232
231
215
219
205
190
134
213
218
287
195
173
232
213
314
288
251
344
226
185
226
288
188
297
271
214
178
277
167
243
238
174
211
258
258
234
192
209
243
227
170
275
206
190
181
266
213
222
249
261
246
183
202
165
209
183
250
154
259
263
218
205
261
298
170
210
205
231
181
279
253
233
178
231
215
254
220
181
267
251
238
225
216
270
243
211
224
263
286
306
180
234
206
230
187
213
237
229
232
272
218
301
244
236
176
236
332
180
181
206
222
154
249
286
215
229
237
162
250
259
253
220
237
242
208
259
261
220
279
249
151
227
204
260
256
228
219
198
198
204
314
233
205
114
209
211
262
193
220
280
229
235
243
279
213
244
225
114
223
258
190
248
304
164
182
197
218
279
160
252
234
273
208
148
250
302
266
210
198
219
302
226
288
232
261
323
197
207
268
235
274
236
209
204
267
372
236
187
244
208
200
215
148
234
167
245
222
202
218
207
190
308
239
249
210
203
196
242
231
213
278
165
225
232
279
178
233
174
228
235
228
221
180
216
213
219
283
238
245
252
200
213
286
191
196
179
250
220
139
233
158
158
146
243
206
169
198
205
139
201
256
245
207
270
230
208
320
253
199
182
246
283
293
160
231
234
168
213
189
228
219
193
146
202
243
233
192
301
237
263
140
291
231
214
268
194
181
207
221
202
235
239
277
214
270
242
209
170
225
242
331
302
202
251
220
221
287
210
305
217
156
223
318
185
175
247
231
218
170
229
234
242
178
193
254
227
270
231
177
162
289
289
161
144
192
282
235
206
188
174
237
257
200
191
191
227
173
265
151
207
329
226
216
280
237
183
296
240
188
220
203
234
170
185
285
164
223
198
235
291
203
284
215
164
173
264
203
173
238
179
286
210
224
203
261
313
200
262
255
205
264
255
210
303
238
244
249
222
216
227
231
159
168
207
228
206
198
293
237
160
234
178
184
216
208
175
251
146
170
155
225
256
291
250
282
204
288
201
126
220
338
206
169
242
321
221
252
187
297
271
248
248
254
219
184
215
200
268
173
244
233
240
259
363
241
284
237
259
246
254
166
158
212
181
237
214
287
284
209
145
207
245
296
222
342
114
261
192
164
237
219
208
171
152
180
166
321
278
243
206
237
229
174
231
114
237
277
275
288
241
234
276
226
114
192
209
271
247
271
126
322
146
179
178
210
181
276
326
200
207
240
218
177
162
267
126
253
317
187
286
251
273
248
114
211
217
272
237
207
164
212
301
152
219
206
241
281
294
174
255
174
236
251
237
233
174
330
223
178
197
200
292
264
151
283
195
224
255
244
192
198
255
235
227
195
254
151
218
226
165
227
211
211
126
208
215
234
204
198
202
220
247
206
265
219
197
264
254
214
244
181
240
205
216
130
230
297
205
239
207
114
223
215
318
297
209
170
260
239
249
347
156
198
203
228
204
210
199
280
235
312
237
234
231
129
241
165
222
228
208
254
183
114
191
242
222
217
289
178
223
308
114
226
235
250
239
212
221
253
272
198
232
114
261
271
299
181
271
167
176
106
201
256
404
192
151
196
151
202
180
290
213
217
171
202
296
229
299
232
226
245
215
258
219
227
206
198
232
191
178
194
206
198
227
233
206
181
246
210
277
227
279
217
234
260
187
253
286
256
226
186
240
207
262
235
212
251
224
148
217
202
217
266
223
304
216
182
202
232
200
246
210
202
164
252
230
247
225
163
195
250
184
290
204
283
225
191
238
171
222
168
254
145
114
242
189
236
205
283
264
241
268
212
228
267
236
218
232
222
321
288
250
227
252
283
217
164
138
198
208
224
179
201
171
191
217
212
182
264
139
264
175
193
273
230
252
259
227
185
215
196
239
177
229
283
243
264
250
235
256
175
295
195
218
157
224
275
240
312
220
245
310
233
154
242
179
236
269
174
242
249
296
179
114
210
202
224
232
222
220
229
289
270
193
182
257
263
315
280
169
255
213
249
256
225
219
241
209
263
217
148
218
224
174
209
235
263
185
198
222
254
269
179
328
295
257
210
302
210
298
304
247
265
186
187
284
226
295
211
256
203
191
180
259
238
187
267
146
235
291
239
176
216
184
217
198
203
240
303
223
208
191
281
240
215
233
258
249
246
251
181
325
198
191
230
200
195
237
218
178
247
263
175
162
207
252
177
237
223
219
209
278
187
258
147
211
254
178
217
238
219
152
209
295
262
229
121
207
240
165
200
223
218
175
249
228
191
241
289
205
290
178
196
205
233
147
220
193
235
227
178
209
152
204
325
250
181
211
223
223
279
203
196
260
234
177
270
285
210
243
224
269
271
225
239
192
270
183
190
250
252
232
158
212
152
261
207
195
191
220
229
282
251
256
218
148
222
263
199
193
271
211
212
192
241
198
236
290
252
264
320
210
199
250
254
241
279
287
201
269
208
222
260
249
238
225
180
187
181
246
190
235
174
156
256
182
210
157
210
304
210
295
203
236
262
154
187
161
275
159
229
274
205
220
222
263
297
211
323
188
206
209
243
299
225
148
286
224
158
290
178
214
257
179
208
236
250
242
185
259
214
266
251
184
214
238
181
299
183
225
273
192
274
258
190
198
292
162
254
180
191
243
322
179
215
198
231
312
229
273
234
186
255
217
231
262
205
245
189
253
237
240
161
280
181
262
226
266
265
114
232
160
114
236
178
219
235
212
139
217
256
202
222
188
223
227
318
293
253
212
270
227
236
229
305
259
252
181
192
230
217
173
262
327
260
297
175
272
202
278
178
237
211
217
147
356
209
249
229
240
253
203
162
209
199
217
341
169
146
174
204
171
277
194
258
178
238
191
231
198
246
227
175
202
171
290
181
231
179
220
297
144
157
281
280
275
208
225
129
218
274
226
217
139
161
259
219
267
160
219
246
274
190
266
198
227
218
175
331
203
221
198
340
206
215
156
196
195
221
275
242
271
168
205
236
251
207
284
228
183
178
178
208
201
207
219
238
274
263
225
233
173
192
149
177
165
223
194
218
252
191
219
215
227
216
207
282
175
313
294
322
261
278
205
287
211
212
324
262
236
233
208
220
200
213
213
266
313
230
206
170
209
289
259
224
232
208
182
276
265
171
255
194
264
173
200
304
130
215
334
181
250
226
248
215
209
239
232
220
274
220
224
269
225
233
301
203
186
249
149
265
211
261
303
233
160
175
181
238
166
196
233
242
313
253
303
226
177
194
181
218
288
272
145
308
219
145
205
147
223
239
269
254
202
215
230
265
267
179
191
333
173
179
173
297
227
235
261
260
174
188
236
207
179
250
156
175
245
227
242
186
266
252
181
181
202
295
129
208
306
227
290
201
219
240
196
162
218
272
257
185
221
234
189
223
178
222
229
249
220
189
328
235
238
175
242
175
205
196
266
206
197
285
234
229
201
268
237
139
284
253
286
114
230
208
324
166
273
160
212
236
251
292
201
282
194
255
240
194
181
279
166
210
106
199
176
205
158
148
231
249
231
210
222
264
114
252
258
238
114
212
192
271
251
218
299
160
219
271
158
275
180
296
229
214
269
257
274
145
263
173
313
207
222
247
236
145
249
173
166
192
247
218
168
210
239
284
259
263
242
230
235
202
254
237
204
313
249
181
245
216
145
197
215
130
158
209
234
266
283
152
296
195
234
303
204
276
259
170
160
198
207
310
205
248
308
213
228
273
248
152
228
139
248
243
226
258
271
178
211
261
248
238
198
186
259
251
211
234
256
198
253
197
218
241
248
215
325
221
239
278
158
228
243
206
174
308
239
259
231
287
278
247
221
209
208
173
151
227
176
285
204
233
242
255
249
309
198
203
183
233
196
268
175
200
159
221
190
225
277
210
268
240
173
227
193
228
174
293
170
287
193
206
206
218
197
247
200
234
180
223
249
175
224
264
161
198
211
248
202
257
246
262
224
266
145
201
231
206
180
245
181
257
203
239
253
300
215
266
173
227
241
164
193
129
247
275
203
204
166
191
243
245
183
183
211
189
166
214
199
338
271
244
187
192
244
208
212
344
276
256
213
230
211
222
114
242
158
297
215
193
337
235
252
245
206
268
319
156
228
231
191
284
214
173
238
271
304
148
218
227
251
238
208
198
196
160
254
211
240
211
225
252
210
263
220
306
244
293
187
241
205
240
175
165
224
170
236
160
244
309
240
325
209
255
218
212
218
251
296
245
245
219
293
196
181
210
198
250
279
200
158
156
244
275
271
160
230
275
301
207
254
214
237
228
246
223
199
270
166
190
200
329
178
198
215
258
220
194
209
254
298
202
218
197
277
151
265
257
192
116
247
195
164
277
204
277
218
275
165
206
254
188
276
237
185
208
238
194
271
237
261
207
253
205
149
216
177
212
194
241
167
299
185
215
175
257
232
251
302
263
139
288
151
175
210
173
260
243
277
249
191
247
278
297
242
175
247
259
221
226
240
130
236
208
212
209
191
196
206
151
278
169
280
114
144
220
264
257
273
230
219
225
207
204
215
272
234
215
198
235
175
229
241
192
272
263
243
290
183
191
255
294
282
168
262
208
263
235
221
220
241
205
267
239
200
201
336
197
210
208
280
178
175
253
279
286
240
176
255
290
209
339
180
258
213
293
256
162
254
160
221
303
276
179
226
147
170
169
254
157
116
212
145
148
202
178
180
190
235
260
185
243
228
178
213
165
221
114
244
201
236
240
201
223
292
238
121
340
202
247
114
263
174
144
302
248
144
240
232
208
289
158
194
193
281
233
230
213
270
178
283
258
195
220
238
191
221
299
286
262
234
260
275
317
192
225
226
268
207
254
178
231
176
232
199
194
173
217
244
215
210
237
252
228
251
197
308
283
245
268
234
168
248
196
198
185
236
289
202
250
211
270
246
225
114
229
160
225
170
204
224
303
290
210
183
233
312
114
237
294
247
166
278
297
299
223
222
156
209
218
290
129
232
197
202
261
234
213
198
231
175
264
313
142
293
139
252
221
284
145
246
234
184
144
225
260
237
168
273
210
268
207
274
215
215
235
261
347
167
213
255
208
218
303
151
198
220
177
143
229
200
243
289
219
291
166
232
212
253
292
193
173
229
162
281
246
188
241
209
242
205
215
212
255
152
170
270
260
219
236
198
188
221
295
126
175
203
207
203
250
207
160
242
215
204
227
186
211
200
260
185
227
286
293
272
220
254
169
249
215
229
217
217
165
252
268
275
247
137
246
255
208
244
198
201
231
218
314
188
317
208
278
243
234
241
215
203
170
310
149
274
227
224
160
258
223
212
167
228
139
235
233
175
256
160
219
196
242
291
176
175
284
204
205
190
286
202
287
234
225
243
297
325
310
207
223
248
152
255
229
223
149
173
287
216
159
202
262
308
232
176
249
235
156
191
225
188
175
272
273
210
224
204
190
232
188
251
221
281
244
273
274
221
226
205
206
247
234
271
261
225
177
229
242
146
306
212
225
265
270
257
214
262
175
256
214
207
197
194
180
231
232
221
175
196
225
192
149
221
189
161
199
267
240
231
216
245
175
198
246
292
228
214
315
186
229
236
247
251
220
178
259
200
190
160
216
213
214
210
268
260
114
268
242
233
224
181
175
210
233
236
286
241
167
183
218
220
210
223
282
184
218
236
292
220
195
223
229
202
160
215
226
304
200
169
229
274
194
192
252
211
209
283
250
225
243
228
249
338
152
195
179
208
206
273
237
208
230
165
277
242
210
238
178
170
263
223
243
191
195
181
283
178
192
193
360
279
176
255
270
289
152
238
256
214
189
173
253
238
177
160
253
340
287
248
157
208
236
221
273
211
197
221
307
229
184
227
311
236
198
164
169
276
240
129
246
263
181
230
229
229
240
292
282
208
223
209
181
197
230
221
206
177
248
181
208
177
189
277
214
194
329
216
208
291
317
180
206
211
238
114
228
237
269
295
271
300
191
191
311
194
237
274
256
256
158
219
205
231
234
287
197
221
264
237
184
235
263
216
206
280
152
218
247
221
323
222
161
236
192
200
255
214
162
176
226
193
319
258
159
281
205
306
227
194
318
151
210
219
201
179
294
202
244
262
199
198
207
184
221
211
126
220
159
173
263
192
226
260
238
261
199
179
216
264
257
228
267
333
269
139
193
177
156
210
165
184
219
189
229
216
278
233
231
241
193
155
190
231
257
234
228
233
208
152
182
244
173
227
151
159
198
277
195
263
273
266
302
239
114
256
268
232
280
295
231
282
169
312
193
228
227
230
217
217
159
196
215
309
210
249
236
245
236
159
286
180
243
248
232
215
213
224
234
242
284
246
231
237
235
239
261
253
309
193
309
243
162
202
236
173
249
215
235
237
207
244
211
153
230
318
296
199
137
175
288
273
255
300
240
298
172
269
211
229
225
234
328
178
191
240
208
290
280
165
267
179
238
311
201
233
178
195
281
171
172
177
243
200
171
198
224
190
240
258
268
205
196
181
257
225
223
170
247
213
282
261
241
297
266
171
242
256
270
144
268
187
175
322
146
270
194
203
259
282
235
273
266
313
208
246
285
210
224
233
142
158
201
277
264
219
176
238
261
225
215
241
229
276
217
223
233
196
285
154
260
290
191
139
238
192
239
218
209
286
228
245
221
134
189
173
239
225
245
250
333
245
246
207
152
306
121
243
280
151
255
282
244
208
198
293
280
296
139
201
253
232
236
300
194
213
260
178
233
242
278
246
320
269
255
268
245
173
206
180
218
265
221
238
215
189
206
205
191
298
222
201
186
157
299
207
197
214
340
157
242
204
212
270
185
233
263
287
245
200
192
152
230
239
196
188
224
247
261
257
175
200
160
333
207
233
177
182
272
296
198
266
256
335
218
176
284
272
224
263
211
244
296
273
220
214
175
257
225
272
238
198
191
229
262
271
190
231
192
182
191
230
208
239
181
198
175
211
225
302
274
241
191
217
197
178
130
209
257
246
160
231
203
198
264
175
254
303
147
237
228
146
222
263
207
226
191
184
304
197
239
308
176
206
229
252
223
269
230
200
164
332
256
259
278
333
328
235
239
198
299
230
198
209
217
192
225
293
237
208
219
236
174
289
322
189
215
178
160
300
244
168
155
269
188
207
220
198
242
244
179
225
216
202
183
114
160
251
174
156
289
229
181
185
260
170
200
234
149
195
215
222
253
251
152
235
233
236
204
187
149
193
280
181
241
247
157
236
214
277
174
232
165
184
184
240
248
224
271
247
273
235
195
333
181
239
209
217
201
170
336
198
169
299
195
198
225
240
182
256
248
301
260
221
263
220
269
237
278
249
192
275
228
239
198
243
242
227
232
151
157
192
197
204
218
225
337
204
329
257
193
178
186
261
240
218
314
288
224
248
272
222
257
240
294
262
244
202
182
225
266
277
259
184
202
216
221
228
205
258
170
203
168
278
214
213
233
222
198
204
209
255
214
179
181
205
201
176
253
353
208
190
294
175
217
310
223
244
261
225
233
215
257
253
164
264
233
236
208
245
274
194
191
170
178
192
248
222
192
345
253
264
236
173
156
232
244
181
218
207
298
262
276
114
188
210
174
257
258
251
266
257
271
239
277
178
239
237
295
212
187
249
254
248
174
234
295
229
237
284
204
174
178
269
230
216
286
206
286
116
159
217
195
188
258
237
278
165
239
151
174
221
195
209
224
206
207
310
225
294
208
179
246
229
214
213
289
232
197
266
174
286
193
206
252
200
249
207
260
278
277
221
256
178
268
173
208
202
212
323
210
219
257
219
175
245
222
184
298
219
243
255
309
160
206
139
210
267
208
242
269
204
285
268
226
208
366
176
180
200
264
234
239
259
292
208
209
204
167
292
285
191
306
292
199
290
238
229
222
201
294
225
202
257
235
265
250
192
200
185
178
173
242
255
238
203
233
238
221
246
156
156
194
232
198
268
206
285
184
251
204
288
177
147
233
229
270
347
216
208
191
287
148
263
232
227
212
159
276
212
273
178
174
281
234
260
261
144
242
291
262
238
183
161
219
158
243
229
192
207
198
235
293
213
179
151
181
193
305
243
181
226
170
199
202
227
315
232
173
221
185
234
121
162
164
252
263
156
254
256
239
213
234
211
225
253
279
240
203
233
185
259
269
229
314
193
296
195
337
217
224
176
212
228
188
241
260
223
192
209
245
177
281
244
257
242
252
317
209
201
170
167
208
196
231
192
174
284
239
260
270
250
298
198
189
306
280
239
214
179
260
145
227
227
121
265
261
214
235
186
238
201
198
153
245
283
193
298
213
205
219
237
274
191
225
184
204
198
161
204
285
271
281
185
199
252
303
182
236
165
248
234
232
240
164
190
202
200
151
114
196
227
252
283
268
155
176
229
242
276
262
161
211
230
276
218
184
216
306
254
175
275
241
200
190
205
166
266
149
223
245
227
180
196
178
218
238
218
222
173
354
196
241
227
220
157
219
145
228
203
193
263
229
175
274
181
256
151
193
244
276
163
191
215
184
248
215
257
283
173
176
237
190
309
216
148
175
216
214
228
292
223
243
204
173
239
198
213
202
217
258
167
235
248
342
214
286
208
293
162
201
232
154
318
306
269
235
253
168
271
233
222
170
284
279
303
186
200
215
222
192
202
224
190
114
270
243
200
214
356
310
224
206
151
205
319
259
215
241
262
178
200
244
178
223
224
205
273
209
236
181
173
138
190
175
207
224
133
174
251
216
270
243
208
214
225
266
207
240
306
234
260
187
152
249
154
160
256
234
199
283
229
290
261
223
126
236
355
214
206
244
192
293
219
189
246
238
172
193
178
267
179
144
216
139
224
283
232
283
194
213
287
238
229
335
233
278
231
185
268
211
204
198
133
254
227
156
181
176
145
256
157
114
193
233
239
174
287
219
252
263
256
198
295
230
270
273
209
181
209
275
253
270
249
229
206
244
268
225
216
291
306
204
222
230
178
114
258
221
158
224
205
221
210
169
264
271
215
198
191
255
216
114
271
268
204
194
320
229
192
205
170
242
295
212
209
203
166
240
139
185
195
301
155
285
253
204
220
229
209
263
241
191
323
184
203
238
278
158
172
201
266
236
302
189
183
237
225
173
258
189
220
290
224
167
254
212
248
299
253
220
287
302
177
222
198
180
159
277
255
213
213
155
198
228
218
241
214
279
249
294
212
272
240
241
178
226
229
246
202
194
241
237
212
218
192
233
155
243
277
213
156
168
208
249
148
213
214
160
220
213
207
179
277
195
293
178
203
329
206
147
282
241
232
229
259
192
252
213
229
213
178
264
245
195
218
187
247
121
188
237
247
256
280
288
246
179
284
152
211
191
170
143
244
211
189
233
160
178
175
166
282
190
221
198
218
229
290
197
173
204
305
284
274
193
218
191
213
173
262
244
244
208
285
265
273
233
149
215
265
264
284
185
178
228
166
299
300
176
253
181
149
214
200
195
145
156
314
166
153
200
206
176
209
324
179
210
139
308
278
281
254
197
214
282
208
298
191
227
121
261
255
176
126
182
211
206
215
194
242
204
178
228
257
214
207
216
233
142
251
260
229
228
208
250
189
198
252
252
213
229
187
151
189
227
114
211
251
244
274
218
227
245
152
197
255
274
251
182
198
241
242
295
262
202
284
267
192
234
174
211
250
231
154
203
193
243
262
218
220
208
303
198
246
276
224
205
257
253
196
171
298
251
227
194
324
181
203
148
237
164
240
261
204
200
187
178
265
244
294
224
307
220
206
218
256
244
189
262
210
277
114
241
250
203
248
272
265
165
276
211
228
218
231
208
224
147
220
198
331
238
187
225
255
192
246
167
209
152
235
264
285
261
224
114
221
191
184
192
227
257
208
217
178
263
200
229
252
226
184
241
200
193
189
129
173
221
267
180
114
323
224
269
288
179
206
263
267
146
242
211
134
247
148
279
242
283
298
212
192
126
212
253
243
255
182
190
267
217
229
200
242
236
152
261
262
262
190
306
227
201
169
266
275
230
251
205
255
205
301
221
211
202
236
309
172
274
266
289
179
222
139
220
192
231
290
207
200
266
291
256
266
235
260
208
263
211
270
219
114
148
114
276
292
214
306
309
235
224
160
272
283
186
253
260
225
199
228
212
259
221
279
205
260
240
214
210
276
156
114
272
218
179
215
286
313
250
237
246
282
218
292
225
178
231
269
223
200
253
145
234
207
190
242
246
160
168
219
198
254
219
233
201
135
203
233
133
215
175
166
250
223
201
238
194
273
192
261
215
235
227
228
212
241
212
271
252
218
234
213
241
239
190
198
266
297
230
262
213
227
205
225
209
216
261
177
261
261
233
200
229
196
335
294
287
301
233
268
263
184
235
249
206
160
273
225
252
108
203
270
253
156
205
209
180
191
264
233
265
252
202
251
204
293
206
238
155
129
156
190
231
231
253
220
184
252
287
232
195
149
310
305
226
245
235
295
176
250
324
156
234
200
244
217
218
179
213
283
197
247
254
332
214
243
147
208
239
253
208
236
199
198
178
169
244
239
178
204
236
221
168
263
271
261
236
228
141
254
251
260
190
238
238
236
260
287
222
238
187
227
206
243
220
213
170
250
139
195
242
272
226
184
206
237
228
193
174
252
274
197
241
215
289
256
209
272
226
315
206
262
228
160
204
267
282
241
203
194
234
199
168
265
247
201
151
265
278
231
154
261
252
303
189
191
178
173
152
301
155
154
209
241
222
259
242
227
264
229
237
308
187
177
178
245
241
195
221
250
208
234
202
230
265
275
176
139
215
199
202
234
114
184
260
249
197
263
245
315
238
218
254
306
227
198
260
114
139
203
219
244
246
194
251
225
312
231
148
207
154
271
205
201
160
256
218
213
181
209
139
192
241
219
276
235
294
259
146
246
171
262
250
277
205
160
163
106
206
172
207
206
213
249
151
165
208
225
319
248
258
163
284
193
221
180
274
167
218
238
151
170
249
252
283
241
265
213
251
190
193
172
191
196
210
270
238
175
224
252
292
218
216
258
236
198
200
245
201
205
214
228
282
155
262
179
191
232
222
269
234
267
254
269
230
258
241
274
209
299
227
233
326
259
263
193
197
241
227
276
178
328
170
259
275
286
178
233
232
225
197
215
208
190
265
209
212
194
180
197
233
243
253
281
198
177
164
280
307
306
209
269
239
156
203
248
246
287
167
154
198
182
168
211
258
265
234
223
274
213
122
159
209
251
246
178
186
166
215
194
230
232
214
240
196
263
213
221
213
156
233
194
193
179
217
257
237
231
217
213
244
281
238
267
114
211
199
241
225
168
287
202
166
248
308
215
211
204
209
194
276
232
184
202
223
211
259
201
261
178
240
167
218
255
261
193
244
199
214
290
285
197
180
169
205
258
228
186
238
194
213
216
166
206
190
176
313
184
251
159
196
174
283
241
168
245
227
220
185
204
210
192
247
217
210
247
267
208
184
145
222
243
228
250
177
209
202
169
169
201
145
190
209
147
220
219
170
226
262
227
248
222
144
220
147
151
253
309
215
271
225
263
209
339
223
187
282
173
261
116
218
214
244
213
159
257
245
228
210
232
176
312
186
209
204
226
259
211
180
201
287
306
239
160
114
240
241
185
233
216
231
243
269
156
242
286
302
278
206
221
218
286
233
176
242
197
174
247
204
304
212
265
264
220
139
179
198
203
298
214
181
290
174
225
148
204
267
272
220
262
281
222
185
229
235
252
340
234
289
156
221
228
255
147
303
268
233
164
175
282
250
225
246
244
270
269
224
152
247
232
188
199
211
214
204
215
278
250
251
168
219
288
192
265
279
170
154
304
255
229
258
239
188
184
208
209
210
297
279
175
214
256
316
247
227
195
197
240
205
201
160
296
274
180
173
227
240
227
225
266
183
250
232
168
241
190
228
278
209
235
161
290
161
290
226
213
234
228
192
295
174
269
229
223
121
240
213
252
240
301
179
241
186
205
183
213
241
224
226
165
211
293
256
208
178
177
192
261
188
234
141
227
183
246
227
290
159
229
236
226
166
202
321
147
193
273
231
213
225
278
145
206
234
217
231
238
212
185
258
242
173
258
289
215
247
216
332
252
245
114
222
166
114
231
214
166
211
209
186
277
257
217
301
224
160
208
221
219
215
174
207
241
228
202
172
194
232
183
295
211
203
234
296
156
275
169
304
209
121
166
238
237
292
149
212
214
196
139
234
258
233
297
235
152
235
203
225
145
263
284
246
279
329
150
273
317
303
218
156
170
177
182
210
210
161
199
244
205
206
240
218
168
227
243
258
314
214
207
248
239
194
246
178
234
271
246
217
239
245
166
292
228
256
238
173
230
249
265
176
253
260
206
220
161
178
258
271
198
213
243
170
239
369
250
159
265
232
237
206
316
244
226
146
276
290
266
271
198
221
169
152
257
190
268
171
156
159
302
259
270
236
276
281
176
240
290
160
276
215
173
197
232
294
202
234
245
264
176
292
227
237
144
248
238
196
231
310
269
169
191
187
235
292
152
239
221
174
240
251
180
303
209
255
198
215
258
181
175
233
234
271
286
151
259
214
226
201
290
341
220
217
215
256
259
252
316
201
209
239
249
215
180
284
227
176
266
234
205
241
301
253
145
268
212
238
206
180
253
239
215
231
287
205
221
202
266
270
238
148
161
220
300
158
173
191
170
281
180
162
191
265
274
203
212
229
248
324
214
114
245
146
171
264
201
181
274
281
156
267
158
242
205
198
248
251
218
195
241
201
202
228
223
187
206
213
170
298
196
261
236
194
250
195
214
233
243
221
213
221
244
317
249
197
269
194
180
203
262
268
168
283
287
224
225
245
193
229
292
193
234
242
224
146
114
170
179
189
270
198
263
186
207
185
260
232
251
255
180
193
209
232
156
186
236
210
209
220
318
266
202
308
272
239
312
199
230
303
196
222
200
173
288
230
231
290
344
276
251
179
232
198
212
204
203
248
236
234
289
215
247
192
239
322
175
216
219
251
228
200
236
306
218
194
258
171
196
229
228
194
298
244
296
229
259
266
177
164
232
246
233
220
207
206
224
182
170
243
273
207
324
233
228
248
245
276
247
178
246
177
227
179
234
259
114
299
275
311
241
267
198
234
214
147
217
227
218
248
276
345
178
229
224
193
250
220
215
167
180
253
209
205
171
170
130
231
204
273
232
202
225
198
209
223
277
161
211
249
273
191
227
215
250
232
267
116
176
166
170
227
269
207
235
337
174
190
245
266
254
169
177
221
276
208
114
253
253
275
241
244
233
263
170
170
191
198
218
229
152
288
163
290
302
129
277
300
170
163
209
199
275
207
263
178
178
299
340
241
276
221
260
233
275
177
205
209
179
302
240
153
163
252
209
256
231
160
260
325
202
206
196
231
287
234
165
232
303
193
182
270
263
224
261
237
216
252
246
116
288
209
170
168
264
241
236
315
282
146
245
290
201
198
247
202
224
249
228
261
264
240
212
220
299
273
225
181
180
108
230
177
214
169
230
184
189
252
284
202
214
235
236
190
169
221
228
222
281
320
266
193
242
151
174
234
229
213
226
184
218
180
183
182
246
232
291
163
224
194
208
212
237
200
266
266
116
248
266
260
215
269
197
264
249
309
236
148
292
258
288
257
227
229
173
269
247
151
220
246
259
208
258
242
183
188
172
266
179
285
251
227
214
187
160
222
259
156
175
315
188
205
243
242
182
222
203
210
141
173
278
275
293
242
214
222
241
225
215
241
278
294
224
194
256
245
246
114
240
241
161
114
224
231
253
264
160
212
246
204
267
245
168
277
156
209
290
167
209
192
299
241
194
265
317
176
241
198
235
276
183
229
227
207
167
221
259
248
186
302
195
256
281
215
235
116
298
204
321
216
231
225
224
234
242
202
233
192
181
221
196
254
212
188
211
274
238
163
170
198
209
227
261
220
175
160
315
184
237
285
178
347
244
203
245
259
244
198
220
285
276
269
198
220
162
170
277
230
262
195
226
209
188
237
262
159
302
251
162
228
231
273
279
206
168
277
230
196
291
169
218
258
170
202
273
220
205
230
240
200
311
229
232
245
165
160
174
180
114
325
238
219
200
276
184
211
194
315
200
222
227
224
265
256
196
216
269
198
200
284
206
234
178
240
204
114
208
243
338
196
287
114
250
114
204
248
259
234
246
108
139
262
223
219
213
231
239
251
253
298
181
226
222
207
297
182
220
298
180
221
182
256
199
266
269
192
339
213
168
239
275
281
181
239
168
258
146
275
243
220
207
215
201
222
193
218
142
145
195
152
223
169
173
222
273
231
257
178
121
129
266
191
148
213
260
181
191
168
179
291
207
215
259
168
173
211
286
292
259
239
179
277
229
229
210
225
265
263
248
214
243
178
203
114
203
187
238
258
299
256
213
222
231
243
247
235
227
213
204
146
273
236
246
200
144
258
241
214
231
298
173
220
251
157
170
252
223
208
221
237
181
167
267
231
251
166
156
177
236
217
225
215
262
207
211
247
206
250
239
243
210
280
222
175
175
246
213
211
249
200
233
156
255
198
195
223
213
260
242
183
291
198
272
269
278
182
160
203
211
275
258
352
221
195
193
293
255
218
217
187
320
207
237
325
231
201
196
268
173
257
299
247
185
178
198
269
270
189
253
244
267
293
116
170
315
185
201
235
200
170
250
266
291
214
114
304
170
270
174
278
196
201
250
210
145
290
169
225
245
211
200
232
233
301
223
304
218
219
250
197
263
139
294
256
278
139
171
279
178
151
188
220
114
274
237
277
133
221
238
213
196
167
283
173
191
213
282
305
210
260
179
268
266
227
139
236
194
229
236
342
236
260
285
114
238
258
161
152
170
202
316
227
292
222
203
188
191
266
288
205
269
173
177
287
305
218
250
292
206
211
175
283
121
213
233
258
235
266
241
228
202
181
172
335
160
214
197
114
288
219
218
221
227
278
234
260
194
227
207
208
178
203
255
198
211
230
114
252
195
189
215
199
206
205
180
237
203
214
263
229
245
238
248
282
202
261
283
316
214
198
227
170
246
263
258
235
309
291
232
227
242
192
280
219
261
275
198
173
234
244
228
264
194
166
188
224
228
285
238
174
207
133
162
247
198
189
203
180
198
248
238
233
178
273
253
233
231
284
247
222
270
261
268
229
170
170
205
212
200
190
175
213
222
236
257
215
192
164
174
279
229
200
297
254
268
196
196
248
273
235
229
194
250
214
274
164
193
308
256
197
250
254
328
192
178
217
281
187
221
228
307
217
149
177
231
170
227
174
230
207
274
227
233
244
192
259
223
220
218
243
191
188
252
255
242
220
259
225
243
227
207
254
258
237
252
205
215
243
178
202
265
160
233
236
208
224
258
233
209
239
232
181
186
257
224
250
272
295
200
225
225
193
255
213
226
246
284
164
193
209
198
231
286
215
319
252
225
212
229
179
245
264
263
216
196
262
244
196
214
276
191
147
280
145
283
301
195
363
231
224
259
206
269
236
271
211
285
203
249
257
266
248
263
347
290
232
244
213
210
184
211
191
239
234
210
283
145
168
234
295
173
260
163
170
252
230
299
218
293
269
232
157
337
225
196
199
149
191
219
276
235
274
157
237
190
198
260
345
226
309
309
217
198
268
249
166
309
251
267
163
183
241
252
180
211
243
200
207
175
226
315
319
198
237
192
283
207
181
198
208
297
207
126
235
224
196
287
282
114
238
278
256
237
269
266
121
307
208
252
202
269
256
273
220
283
175
222
251
185
224
247
198
200
216
272
339
253
214
231
172
215
170
261
177
170
246
215
291
190
263
177
179
244
272
235
175
229
154
151
280
222
313
245
221
243
293
180
228
243
219
246
225
267
198
202
160
305
232
203
223
233
217
202
189
166
277
222
194
169
276
302
174
187
303
215
114
235
207
231
297
257
192
223
214
253
142
225
208
312
203
228
114
269
215
194
227
206
230
260
213
321
116
154
178
225
222
198
309
286
193
217
245
233
200
233
217
271
152
208
250
207
294
233
237
181
233
266
272
299
246
260
279
225
278
167
226
178
263
288
171
296
229
188
239
259
263
114
203
200
224
227
191
222
165
139
211
290
243
222
289
209
181
219
218
219
285
301
260
182
234
325
228
199
246
194
248
196
299
222
212
220
224
160
289
215
160
285
300
246
195
232
266
179
234
250
298
168
269
212
274
174
226
243
273
194
312
230
206
143
172
305
256
161
211
219
212
237
234
244
284
262
174
195
300
247
187
164
238
223
232
301
266
239
254
252
156
173
241
290
182
253
216
241
232
212
223
318
194
186
152
269
216
114
211
196
114
173
162
386
212
208
228
146
251
255
303
248
290
129
255
307
207
217
174
254
183
202
202
139
232
287
153
174
225
212
239
138
290
235
255
181
299
235
248
211
255
213
181
217
180
238
198
263
290
196
156
196
178
256
168
237
196
268
244
206
200
145
139
284
300
312
233
208
191
244
225
248
198
234
260
264
212
190
200
218
170
229
211
228
185
276
237
289
178
264
221
203
225
166
227
192
237
252
274
299
285
228
210
234
160
203
234
218
181
245
173
293
220
363
207
159
190
171
168
198
306
254
192
263
215
201
247
221
186
173
213
152
226
254
327
157
296
220
238
259
236
294
166
272
254
275
220
213
262
211
283
225
261
184
240
236
248
211
287
208
305
235
169
208
239
202
203
183
182
130
198
156
176
284
284
234
160
234
179
228
202
250
217
213
195
214
200
222
193
327
236
145
292
235
237
314
175
199
198
250
198
293
200
181
271
173
214
298
297
218
277
226
206
294
248
173
242
197
229
221
285
198
251
177
203
232
199
166
216
259
266
239
245
267
246
144
270
304
275
268
243
220
186
287
175
217
196
329
202
295
156
221
210
238
180
231
246
275
242
239
194
190
215
279
271
153
170
258
254
219
244
192
158
241
228
249
233
193
268
281
218
160
215
160
203
207
249
221
314
204
173
168
259
283
194
283
221
245
243
210
235
194
215
231
263
200
233
202
232
231
259
180
108
239
196
256
314
257
299
190
169
176
259
274
239
147
233
210
237
286
210
216
234
279
184
170
257
232
326
134
268
206
201
239
245
222
255
290
242
242
239
173
298
205
234
264
254
286
251
224
198
247
232
260
199
296
212
200
294
227
166
209
209
242
225
285
202
180
154
183
173
180
189
184
181
290
148
283
254
248
226
216
223
216
311
246
220
287
237
203
242
198
206
181
294
271
186
275
211
240
170
263
298
209
321
192
245
185
275
216
343
275
190
238
170
193
181
252
200
215
254
275
257
215
215
231
237
263
218
248
225
241
197
254
214
354
241
168
234
201
239
146
146
338
308
174
166
193
201
168
253
173
200
233
262
219
326
175
148
299
215
217
210
252
243
192
230
221
216
170
232
159
244
159
154
186
188
213
241
232
182
275
202
262
233
227
156
256
206
274
194
258
152
235
277
292
232
220
202
146
181
258
304
213
268
174
209
177
267
221
248
196
238
189
279
193
213
204
203
204
251
205
299
280
221
156
187
285
246
253
175
164
216
183
164
275
222
227
258
279
207
262
307
246
306
263
284
243
218
207
159
169
152
226
293
266
221
260
236
285
289
318
169
223
236
173
229
184
285
200
264
191
159
175
192
241
318
233
298
185
329
227
246
267
212
225
228
235
199
239
247
250
236
231
224
243
304
292
259
182
253
152
219
210
227
218
159
162
239
211
214
279
208
258
250
285
324
199
157
265
229
248
208
203
234
255
245
243
197
277
286
182
149
315
174
358
221
225
307
244
191
261
231
181
297
181
202
224
273
198
205
227
175
217
169
266
291
217
162
225
209
214
247
193
240
166
242
245
204
267
259
214
276
259
255
145
244
144
226
210
196
237
158
201
200
203
191
256
205
169
265
149
258
223
275
220
251
185
181
227
152
208
304
225
216
232
251
144
218
223
245
248
193
170
307
114
222
266
229
234
192
194
241
194
175
298
181
258
170
243
231
256
214
233
214
225
316
247
257
269
212
198
191
187
263
205
196
114
178
168
231
170
242
189
201
258
243
246
233
231
161
253
294
252
229
174
156
258
190
253
176
181
269
211
251
232
231
192
267
257
201
254
310
239
173
197
212
213
180
311
243
218
199
223
235
225
193
222
235
284
250
242
208
224
188
268
144
209
206
226
246
264
274
178
162
160
219
253
234
189
215
248
299
289
244
266
231
209
235
223
237
196
178
316
167
186
239
198
264
151
241
221
196
227
182
152
215
160
305
160
224
238
245
262
192
239
266
159
285
282
278
126
230
211
172
204
214
220
156
173
206
249
173
239
249
230
262
224
200
184
201
203
300
281
260
259
264
181
208
246
239
272
260
182
146
255
170
267
235
205
152
171
156
265
259
293
264
192
225
192
206
235
241
205
206
243
288
197
251
260
252
272
235
277
195
281
201
194
233
265
236
204
209
139
174
116
189
191
250
245
255
193
181
211
219
215
266
275
198
203
198
336
242
259
317
188
218
261
262
196
183
174
258
226
215
151
180
160
227
234
199
158
262
270
184
210
249
258
222
181
190
160
289
220
223
287
243
257
179
168
178
200
234
208
290
156
240
170
270
311
152
176
280
173
262
256
264
189
221
245
231
200
247
192
214
179
214
151
247
300
106
267
164
181
208
333
326
275
162
186
269
139
194
213
285
285
177
280
259
270
195
151
252
249
267
356
254
241
207
229
223
231
266
218
247
222
114
350
236
245
280
228
244
180
170
176
171
238
205
175
139
175
247
204
201
222
212
173
231
165
212
147
235
202
280
227
207
207
331
179
211
291
223
139
222
205
224
276
253
224
253
234
232
179
207
209
252
265
175
244
277
215
242
234
292
313
227
184
249
177
212
237
194
331
158
266
245
192
238
312
210
220
297
243
271
273
187
203
211
264
311
273
186
240
201
175
160
193
218
200
129
272
180
219
203
213
278
202
250
236
287
379
233
169
213
251
182
334
183
251
201
200
175
224
255
312
222
245
173
199
193
247
151
198
223
246
219
192
218
196
243
277
276
235
126
222
239
366
195
206
154
165
209
179
285
233
285
220
215
248
263
156
193
245
246
290
226
230
252
226
214
178
178
238
231
287
162
288
254
318
260
265
220
203
319
174
215
234
225
222
250
211
244
252
180
175
216
213
249
224
274
234
226
186
232
208
212
191
259
216
289
250
231
255
238
202
301
250
146
289
236
213
177
266
314
249
225
197
246
297
217
266
236
254
225
158
223
205
139
203
211
260
180
253
238
202
197
220
225
251
172
257
252
192
202
238
258
191
144
214
177
181
213
196
188
288
199
198
325
215
194
258
242
277
230
211
258
191
165
174
214
194
241
220
174
191
325
238
270
257
145
201
175
163
240
221
222
264
203
173
249
221
344
271
296
174
167
209
175
259
249
161
202
163
180
202
214
259
177
245
251
207
133
247
253
205
233
179
201
170
220
247
245
167
167
275
208
250
232
156
206
181
268
199
205
180
211
160
236
193
179
211
198
170
154
241
220
217
152
220
170
296
155
252
283
225
277
348
212
220
256
266
179
186
161
266
202
323
226
170
254
219
239
172
222
219
296
224
114
176
178
322
195
256
263
204
323
244
266
239
293
239
228
291
218
190
121
201
288
218
264
209
260
262
287
270
166
244
184
191
182
204
255
256
215
268
233
178
227
198
182
195
218
229
173
263
324
200
255
280
205
194
153
252
237
170
208
173
262
226
220
155
161
273
247
250
247
224
243
170
297
212
251
269
280
114
227
221
249
289
203
244
311
279
227
348
270
206
221
214
214
200
249
195
177
246
248
313
184
199
238
295
130
193
217
160
229
291
166
310
272
248
175
286
241
230
170
207
240
192
220
304
300
335
256
267
201
179
187
255
170
191
263
266
250
258
180
214
207
146
257
221
235
250
157
272
188
269
242
272
247
225
252
213
230
219
173
290
129
225
222
250
225
236
193
192
190
206
213
227
181
251
221
229
289
290
253
207
221
238
256
224
226
200
211
259
215
233
182
291
275
205
169
217
180
162
285
262
262
164
227
228
290
166
207
202
246
217
179
181
206
145
212
197
360
184
269
261
252
217
215
192
225
176
195
179
139
160
237
225
175
171
208
217
179
246
209
182
175
262
178
271
175
219
260
248
212
208
262
180
299
274
233
213
185
222
208
204
182
264
198
236
219
264
183
196
253
204
162
245
335
238
151
183
231
221
191
217
289
219
264
211
204
202
268
160
244
243
277
203
186
228
188
268
244
174
235
240
265
231
201
151
218
164
270
214
200
185
249
255
185
236
208
243
157
154
245
207
213
268
239
232
210
262
289
209
327
238
343
175
186
246
257
251
258
275
208
190
317
399
157
286
151
216
334
198
279
219
140
215
154
243
173
152
298
145
297
213
218
228
236
290
247
157
235
215
266
308
179
306
197
211
158
316
225
246
235
274
234
310
188
239
218
281
179
288
255
269
256
186
258
177
276
207
263
271
302
228
211
221
192
278
219
266
275
201
202
191
160
178
278
189
197
221
223
160
196
233
256
159
246
160
217
280
321
276
213
192
269
180
249
203
181
265
216
241
218
139
264
341
279
181
253
265
246
183
223
270
279
246
216
186
173
205
159
202
213
302
220
232
296
310
287
280
135
296
240
235
213
273
249
169
198
204
226
219
146
190
229
193
248
277
268
254
291
126
178
215
174
168
302
220
181
275
209
221
309
260
229
262
114
193
192
212
240
202
194
193
203
257
241
157
280
197
180
266
203
259
162
275
217
213
226
145
149
278
169
167
155
170
256
229
192
158
216
342
241
215
237
219
177
195
243
246
207
203
231
230
193
163
234
179
224
158
167
224
207
249
194
245
207
231
209
318
287
259
184
191
278
244
179
218
268
189
198
158
289
309
144
252
305
232
269
229
192
198
221
250
270
208
216
192
145
218
170
268
224
252
200
179
230
238
220
238
316
284
260
149
169
235
217
244
228
158
257
224
197
212
263
234
214
227
274
160
238
218
247
283
265
217
278
220
248
272
246
186
241
206
291
209
218
233
240
168
114
285
188
180
187
236
203
200
316
268
226
205
257
180
151
225
149
205
306
221
247
170
220
224
229
180
181
228
193
227
234
196
242
196
202
253
236
234
114
262
240
185
209
227
222
257
299
165
189
233
191
144
239
210
282
246
207
225
216
198
256
239
175
197
114
258
277
332
180
231
189
259
254
232
192
267
139
222
217
152
280
219
234
209
223
195
205
234
246
270
237
213
272
288
166
286
179
195
221
301
223
269
225
191
225
208
178
277
139
285
173
188
114
237
298
238
191
235
147
281
245
243
215
280
247
242
231
225
219
220
305
205
306
152
200
215
144
180
278
151
282
169
175
192
139
244
306
176
247
244
158
163
337
287
180
210
223
199
287
247
248
220
227
229
251
241
147
187
139
192
179
191
198
180
244
249
241
336
241
206
225
178
188
187
274
212
231
170
202
248
279
238
192
130
156
217
233
194
211
248
279
245
221
192
285
222
295
236
236
283
178
272
156
225
278
177
148
218
192
237
235
191
261
178
273
279
235
243
195
220
278
218
241
196
248
195
246
166
246
227
282
231
235
209
231
277
221
159
256
203
315
225
179
251
237
333
146
260
166
151
219
281
288
187
175
239
219
226
206
237
184
248
284
126
209
154
233
106
260
276
203
260
242
223
145
223
198
176
229
202
134
126
191
285
240
211
235
229
241
261
149
254
188
173
169
263
178
248
281
201
246
281
192
240
215
235
156
263
184
173
181
174
273
195
250
151
267
251
263
212
265
262
177
254
189
186
182
212
248
161
198
280
213
187
255
196
260
239
219
270
284
242
174
225
285
177
348
185
169
270
266
207
222
290
251
170
290
213
309
224
219
177
255
249
183
319
207
304
239
156
202
201
306
190
173
147
175
251
183
194
235
292
157
276
159
256
126
220
208
234
281
224
277
332
178
198
279
295
269
202
159
196
240
219
114
158
172
190
221
223
209
206
210
246
233
229
226
295
185
240
255
238
278
245
192
284
216
209
240
222
178
248
159
253
273
210
208
246
256
190
322
264
194
179
245
243
214
225
205
220
281
257
240
241
249
144
206
194
282
197
198
280
240
258
205
290
202
253
227
192
219
145
224
302
214
235
184
178
239
160
215
211
160
170
233
181
232
198
261
303
294
296
160
219
183
226
284
237
202
184
126
292
128
212
201
249
148
161
278
209
195
235
206
204
121
214
116
191
202
214
245
272
192
295
270
174
211
224
222
214
282
212
258
272
179
156
228
224
253
220
233
237
258
296
286
181
358
220
193
234
214
287
221
208
326
280
257
215
218
114
245
289
195
210
260
233
187
244
206
240
189
240
281
144
199
245
156
182
174
275
175
193
195
218
278
272
160
188
184
245
208
283
266
265
161
155
298
226
170
342
213
246
220
251
187
160
314
255
173
233
284
199
204
236
264
248
217
270
214
241
235
315
251
271
283
226
178
226
211
273
247
247
222
228
212
283
157
211
210
255
232
213
243
187
121
250
236
247
201
217
227
262
114
259
229
257
263
238
190
209
219
172
195
356
195
198
223
207
265
199
214
214
258
267
134
195
268
114
292
214
200
148
198
252
159
248
202
231
246
212
221
244
176
273
248
252
239
205
166
276
179
230
214
203
210
205
267
275
178
223
170
260
300
220
180
180
275
200
221
176
215
211
270
209
215
286
203
271
192
307
247
236
130
195
270
195
210
173
254
225
213
263
178
267
180
146
222
291
195
234
170
278
262
173
236
198
206
194
204
234
250
206
201
269
186
362
325
176
170
220
217
263
187
237
173
201
307
161
250
243
170
248
235
310
164
214
224
161
291
240
209
274
213
208
284
261
206
290
271
193
261
116
277
256
238
208
242
217
162
229
251
215
281
269
310
213
284
198
235
262
247
259
199
303
191
211
287
239
247
251
275
215
185
229
231
178
114
284
259
183
229
230
259
184
203
267
178
175
228
246
269
244
269
254
160
234
228
233
195
247
223
205
114
192
262
162
259
277
296
174
224
252
157
225
251
223
195
176
217
205
184
164
285
259
173
160
266
217
219
198
154
158
161
187
250
276
297
170
229
251
210
216
247
184
202
209
237
291
189
244
273
223
196
254
250
190
198
181
207
233
231
251
272
220
217
241
170
157
237
229
227
245
246
213
268
290
191
203
262
244
277
248
178
245
230
248
218
296
114
114
242
344
217
264
195
179
202
181
250
161
212
247
207
304
183
285
208
228
275
153
152
261
234
262
242
232
202
114
166
234
193
192
237
297
178
192
206
222
313
333
226
114
307
165
212
212
255
235
200
273
114
219
287
213
281
183
239
271
228
215
207
167
318
303
162
165
298
310
167
311
252
193
258
325
192
139
294
203
170
263
241
256
312
227
171
291
215
229
146
224
214
225
183
171
160
174
277
222
253
262
154
220
157
261
252
207
194
184
252
244
156
245
281
391
219
306
151
202
180
186
238
262
238
184
180
231
233
269
243
309
194
201
235
267
218
179
283
208
328
200
208
248
181
233
207
185
160
231
302
218
229
191
263
194
198
306
206
298
213
169
145
229
241
229
303
261
196
262
281
236
272
256
202
192
272
292
140
158
219
318
260
301
191
253
189
232
253
254
286
206
114
188
281
222
195
208
269
194
206
237
278
243
199
294
197
194
202
243
194
230
200
208
238
227
237
358
210
309
139
167
262
248
177
274
166
227
235
276
246
248
199
257
235
212
238
229
254
275
169
243
192
238
235
201
213
114
270
231
183
208
280
234
257
199
229
315
175
246
216
213
192
229
163
246
266
196
181
270
241
252
202
194
332
316
281
285
225
241
252
296
298
155
114
182
180
259
232
175
270
268
264
247
256
193
275
167
289
236
173
156
233
240
266
179
234
259
216
231
230
198
169
296
269
162
296
286
195
240
333
217
218
210
211
218
183
223
245
188
180
196
211
114
114
243
260
222
269
194
151
192
210
160
239
202
208
265
189
257
236
229
253
299
189
269
262
310
249
160
226
203
179
233
154
222
188
204
196
222
282
217
241
233
259
237
261
271
252
243
234
231
178
198
172
160
162
236
190
211
210
200
247
234
195
268
178
209
236
294
216
284
219
254
252
283
275
191
106
218
216
186
217
262
234
241
245
247
254
239
114
220
246
193
175
269
183
188
216
205
158
275
242
181
241
214
279
194
218
309
264
266
255
175
327
215
266
216
156
205
194
259
202
174
258
195
225
251
237
238
166
310
180
229
191
204
225
264
218
170
122
259
233
234
169
194
254
268
198
224
218
259
176
219
225
297
174
255
315
182
241
235
182
167
229
234
176
237
281
245
228
309
168
239
256
185
147
192
300
148
302
273
209
232
260
309
241
172
217
214
210
262
230
233
252
186
189
356
209
191
195
256
251
248
254
259
272
204
298
243
240
185
309
254
222
227
317
317
186
257
248
197
241
232
149
261
245
235
205
261
250
169
178
276
275
243
247
186
219
165
272
219
250
220
266
197
221
205
209
258
139
283
185
232
145
191
216
224
260
272
295
198
170
225
270
252
280
183
153
181
213
201
183
198
147
185
231
168
246
259
182
175
249
180
168
215
316
232
264
251
251
218
200
269
169
239
229
173
180
210
318
181
179
175
192
197
240
193
249
179
198
173
302
262
249
223
278
234
242
271
145
200
239
198
180
193
204
256
227
278
231
231
183
234
194
242
234
201
161
225
196
222
214
195
234
172
154
192
221
205
221
157
271
199
186
187
283
233
211
223
214
251
270
162
217
215
221
254
265
224
254
204
241
239
235
214
200
220
266
211
221
164
179
215
211
173
282
279
243
231
263
213
195
259
205
199
126
156
260
237
222
247
248
219
273
259
228
189
218
184
233
263
166
236
169
214
318
265
276
257
220
317
276
205
170
176
170
219
242
241
286
238
241
284
289
248
223
184
246
168
155
236
276
253
202
192
222
168
285
244
220
229
262
158
211
214
266
340
265
188
228
204
226
200
161
307
251
292
217
241
203
210
181
165
193
324
260
263
193
182
261
208
244
254
221
292
202
191
217
170
279
254
282
212
248
202
222
195
215
212
144
238
245
310
205
159
288
317
164
226
171
165
254
280
257
222
181
274
292
242
192
234
266
302
261
276
249
250
222
317
242
257
277
249
121
195
211
273
204
191
253
194
167
177
329
232
216
194
226
250
198
209
160
179
265
174
183
231
238
228
126
205
200
227
230
216
166
219
260
145
249
269
196
243
193
363
145
206
284
179
298
221
149
206
251
311
217
114
324
278
239
173
214
189
202
238
304
146
230
191
220
187
221
202
321
222
178
212
190
168
227
228
221
283
186
218
253
254
258
175
242
257
169
171
240
233
256
228
240
206
193
234
215
231
222
206
187
196
238
177
167
255
173
181
195
262
248
315
278
178
219
274
179
221
200
166
311
226
177
189
196
216
279
238
220
263
263
273
267
227
235
297
288
215
239
244
228
214
261
237
211
177
209
216
240
211
205
201
194
258
209
334
197
303
192
154
217
193
279
238
400
261
293
225
261
171
228
221
282
211
249
196
173
108
175
238
276
260
326
281
211
219
220
253
211
260
227
263
294
258
286
220
222
273
215
210
198
224
249
269
256
271
220
277
216
290
211
208
209
196
238
207
208
185
218
198
220
224
206
162
307
116
236
275
198
226
271
267
219
283
197
194
271
215
220
267
243
249
231
232
304
218
250
252
265
351
199
182
254
261
158
262
150
178
181
282
251
299
206
178
272
262
202
286
239
253
184
260
233
244
250
177
178
238
280
256
214
228
168
187
301
258
263
214
182
176
200
214
162
294
175
217
169
114
233
200
235
260
318
181
308
313
196
183
204
232
254
175
194
233
212
230
258
184
225
286
213
114
235
286
157
217
189
205
270
206
271
287
230
252
154
277
192
225
170
237
276
252
180
262
114
215
273
251
201
258
245
204
271
179
256
212
242
302
260
348
235
204
283
243
241
188
195
223
280
279
190
304
280
244
184
268
200
221
114
326
173
180
283
256
163
161
321
126
192
257
258
204
173
253
268
231
318
207
223
274
270
141
322
309
212
310
287
291
239
180
247
133
270
200
197
297
181
228
262
191
282
257
219
200
284
226
194
305
201
192
231
228
231
252
207
350
268
276
343
166
284
262
224
268
212
205
231
245
283
233
309
238
166
217
184
153
165
213
278
277
330
228
310
258
244
242
198
239
346
151
197
177
225
254
208
208
226
238
214
266
188
188
232
219
169
231
171
279
296
263
114
237
178
203
234
211
258
281
175
194
321
178
114
317
263
200
271
188
133
298
233
278
202
239
208
193
203
173
323
231
245
254
213
284
241
182
246
259
244
271
325
204
245
194
202
299
183
204
295
227
214
232
156
169
189
177
219
189
220
225
265
202
216
226
218
202
233
297
175
157
239
272
185
156
185
325
216
168
236
209
269
275
179
264
259
206
299
278
261
187
250
249
292
214
190
208
271
236
243
222
200
180
180
285
160
215
201
248
255
277
208
236
270
267
247
241
203
223
152
225
215
220
246
242
288
126
219
272
176
195
208
176
236
188
283
256
205
205
365
193
197
214
188
272
216
203
193
225
126
202
223
185
211
219
208
288
179
227
239
175
180
194
240
193
220
212
152
247
286
273
269
126
295
165
269
277
199
180
278
213
328
173
236
240
144
244
258
181
228
191
206
225
181
234
289
217
277
249
238
218
262
182
222
223
233
208
223
195
152
237
212
258
306
184
233
253
281
213
260
275
220
207
162
184
231
302
209
276
222
213
262
337
178
162
258
251
244
293
249
145
225
191
231
170
154
216
226
187
242
200
219
287
255
196
235
219
177
126
307
198
152
195
223
292
235
216
234
242
203
204
280
212
206
193
303
167
176
231
265
213
233
258
209
162
207
201
270
215
217
177
178
297
221
216
179
189
208
278
197
243
304
128
291
238
244
214
252
266
190
225
189
216
322
282
223
154
175
197
175
175
243
183
194
258
244
224
179
235
224
277
325
233
215
166
267
179
214
244
203
146
219
273
216
217
270
179
226
234
287
114
236
252
290
144
278
285
225
201
250
255
210
229
242
185
266
213
224
269
256
287
239
204
224
175
242
209
179
172
266
234
193
272
220
256
222
229
184
222
205
198
294
147
180
210
210
193
229
270
229
134
232
217
249
180
192
261
174
195
194
213
275
193
224
194
272
358
229
267
274
213
251
283
193
226
126
256
207
195
238
245
256
228
275
241
287
187
234
220
139
251
149
197
175
195
189
163
215
195
306
285
302
225
186
240
285
220
283
286
259
211
282
206
286
194
214
222
183
229
248
250
229
240
258
227
271
211
198
185
241
193
242
247
280
296
335
269
198
349
207
160
162
187
173
233
179
258
167
206
241
165
209
181
184
153
203
233
139
222
265
240
294
126
213
230
249
283
251
229
213
260
200
264
244
321
183
149
244
256
226
283
204
187
207
245
277
276
317
224
206
280
211
214
276
272
257
177
177
106
256
221
196
260
221
260
259
160
181
206
264
265
225
208
236
129
174
190
214
282
258
233
219
192
208
279
351
245
223
245
243
211
200
206
270
299
177
182
232
216
347
220
272
232
221
151
170
234
228
231
215
295
214
160
165
209
206
263
126
211
267
213
162
232
203
170
186
156
255
242
193
277
217
217
167
190
235
244
267
274
217
225
268
294
139
190
212
198
263
217
208
177
231
281
252
229
205
221
279
154
260
201
265
212
203
171
197
192
234
256
212
253
229
212
268
231
188
284
175
242
200
302
222
216
210
274
222
187
240
251
189
205
292
202
178
219
290
183
261
271
323
255
178
188
206
294
240
184
191
235
266
251
293
264
204
255
273
268
197
249
218
198
224
243
202
282
271
280
309
213
237
288
276
216
250
235
207
201
178
289
300
191
243
180
202
197
334
238
295
211
203
265
216
280
188
266
199
279
267
209
195
114
198
198
260
270
183
157
147
247
220
187
284
315
240
162
197
181
211
235
253
308
301
261
192
199
197
158
187
260
290
222
219
222
210
232
298
189
215
252
238
156
223
252
188
256
280
279
281
301
191
250
209
249
245
212
199
244
279
218
145
215
335
216
189
303
202
203
265
207
240
268
241
289
300
334
252
284
213
198
212
238
314
173
114
195
165
308
263
290
159
225
250
218
234
240
207
285
220
214
227
178
226
201
191
181
149
211
242
227
129
175
275
299
292
114
183
245
171
195
284
222
244
168
191
162
223
243
267
211
208
203
222
173
213
193
185
222
212
206
158
156
205
170
252
260
160
191
215
178
196
279
184
151
299
193
186
239
233
170
216
267
162
293
114
156
129
203
178
276
184
198
261
267
248
252
262
239
168
224
275
133
252
220
216
185
162
238
323
231
237
246
206
191
295
274
212
288
176
286
211
246
215
230
169
233
209
230
194
158
173
224
274
213
168
139
158
183
215
152
199
228
316
220
247
208
253
225
233
221
223
208
228
139
236
299
285
246
311
264
165
193
200
283
241
252
282
263
190
215
272
238
161
172
275
321
259
177
232
224
116
226
234
229
184
289
284
230
222
210
247
198
221
204
246
294
170
305
143
256
241
178
210
230
235
220
215
147
256
240
243
207
162
269
296
218
249
182
211
206
229
193
215
266
269
180
215
234
224
260
193
227
202
234
284
218
249
244
265
191
160
195
205
302
208
310
175
314
234
272
203
198
141
249
177
192
214
280
237
216
277
245
265
231
256
226
170
139
194
225
230
286
212
221
232
256
172
285
177
241
245
200
231
251
225
181
249
154
218
216
192
163
295
259
290
261
243
236
336
152
202
174
251
182
223
114
156
212
227
208
270
241
341
237
176
200
235
248
223
253
236
161
225
254
256
205
216
190
257
197
280
259
281
133
263
237
300
200
229
306
189
292
263
289
211
227
152
196
222
269
191
217
214
217
229
156
193
173
182
180
227
207
254
156
257
270
264
222
235
256
291
181
236
210
309
271
268
154
237
174
271
181
173
271
192
240
258
243
242
292
211
218
205
228
225
244
114
199
238
191
245
148
222
253
152
248
249
196
282
189
243
252
301
266
182
153
130
215
233
229
299
253
271
232
239
290
275
291
297
184
270
165
186
213
226
334
281
336
362
264
255
227
212
171
182
212
211
220
223
220
217
268
247
237
146
264
212
205
230
230
247
335
251
222
217
278
260
213
231
196
169
197
184
210
211
187
161
286
309
212
222
227
217
240
229
203
198
189
228
219
256
262
213
114
339
256
264
192
257
322
203
188
237
240
254
249
190
278
173
253
257
233
193
270
261
253
194
203
195
263
335
166
161
246
252
209
175
192
168
255
316
226
169
201
217
156
274
230
198
275
219
199
200
261
174
251
252
255
227
189
241
181
202
256
235
193
213
254
255
207
262
221
212
173
267
332
200
170
160
220
283
163
241
225
311
246
181
139
261
252
265
139
240
244
193
263
184
158
273
244
191
207
228
296
205
175
245
154
206
190
227
307
304
231
242
280
129
244
160
193
151
294
253
250
275
251
201
256
268
304
290
230
180
273
330
233
189
304
204
224
114
237
199
255
162
214
205
208
170
197
230
230
196
114
227
274
257
186
160
283
219
177
351
274
243
290
242
245
174
181
237
192
242
164
280
232
209
210
275
160
255
243
212
170
264
267
200
262
311
277
177
248
302
151
161
270
256
251
231
212
188
233
221
233
198
242
229
277
198
343
210
239
245
168
177
235
188
195
265
202
195
231
237
250
215
321
214
251
222
318
204
227
277
238
208
245
284
173
312
206
181
236
235
199
208
246
217
169
287
192
169
204
165
222
174
287
227
295
212
259
218
223
196
246
258
304
303
215
208
247
196
178
189
209
256
212
213
178
173
209
184
234
227
262
190
211
225
149
247
193
223
220
237
174
196
210
160
198
268
200
233
154
208
234
263
210
263
213
251
200
311
306
152
288
126
316
240
217
165
158
114
259
151
178
261
251
273
274
215
244
195
220
225
206
198
217
211
160
209
260
276
202
195
259
286
186
238
216
181
194
292
259
203
205
268
200
242
197
236
261
175
208
258
195
274
271
236
222
226
238
232
180
207
156
228
278
257
299
292
235
171
307
293
213
217
188
266
227
282
219
226
302
240
199
274
282
160
242
198
114
214
114
160
213
182
327
244
302
286
205
292
203
222
255
160
235
262
326
218
179
237
286
225
204
264
313
181
224
243
266
234
292
207
212
210
203
293
242
172
204
192
159
241
181
191
221
291
276
220
260
187
238
198
205
240
248
217
279
145
147
235
198
292
252
209
234
213
196
181
182
193
257
165
311
262
221
198
210
241
177
245
228
197
246
156
242
241
293
207
212
231
234
192
260
273
237
180
169
276
262
317
261
268
175
335
231
223
270
178
251
233
247
203
315
139
186
241
214
223
233
205
202
295
210
173
223
249
189
262
194
206
237
241
216
196
139
218
289
246
181
174
233
222
173
218
214
208
267
248
179
198
242
213
195
285
182
187
155
225
114
241
279
206
243
225
214
217
198
172
218
258
175
254
157
241
139
126
226
254
225
220
201
198
235
262
204
233
114
230
203
239
212
208
238
325
232
234
260
126
184
263
260
206
192
210
247
269
276
233
218
235
267
207
228
267
255
323
167
218
164
218
270
215
202
174
269
190
244
219
265
234
206
258
175
175
247
233
206
287
317
228
250
226
226
193
250
193
318
207
211
179
236
227
212
183
195
196
173
299
271
280
172
206
208
233
276
241
250
270
248
208
318
257
245
212
235
279
231
236
221
234
187
196
147
188
246
202
206
263
206
229
296
265
253
139
196
145
170
227
200
254
187
214
234
224
262
225
229
291
214
114
241
243
201
180
237
194
179
213
201
253
271
265
192
199
201
215
269
257
235
265
145
209
191
245
279
270
270
255
235
271
207
185
245
213
160
187
301
245
256
222
267
277
227
219
195
239
205
257
192
205
274
250
192
262
292
277
171
245
301
181
240
203
199
271
217
238
178
213
191
203
121
190
148
298
222
180
173
231
283
325
161
272
263
276
328
205
265
196
240
288
227
148
198
208
168
260
214
309
247
270
211
273
218
291
211
144
144
233
189
160
178
231
273
303
161
276
261
258
232
170
285
304
164
252
169
223
238
255
173
212
200
245
277
291
225
149
258
288
152
176
181
181
217
244
205
274
206
179
200
223
263
227
230
199
214
285
145
192
264
234
180
254
323
191
254
223
187
230
230
289
264
225
258
258
193
256
266
210
264
250
208
198
258
258
177
267
253
225
311
162
248
258
253
234
167
116
276
312
232
200
249
226
225
238
284
195
232
255
285
237
194
252
270
171
116
222
184
154
220
314
258
242
170
192
183
273
172
251
191
251
254
207
236
162
222
292
196
258
240
172
222
152
188
246
218
309
221
182
219
260
147
249
212
251
313
248
290
225
228
207
330
212
208
273
243
311
149
152
176
192
218
188
202
237
146
218
276
262
247
241
201
225
277
166
214
280
202
175
201
201
247
144
254
242
139
249
250
212
254
271
126
212
226
218
256
212
170
335
154
271
250
227
256
278
250
231
183
247
279
247
159
236
343
240
227
158
228
308
225
247
313
239
227
229
139
212
229
187
237
230
166
260
248
114
223
232
151
184
296
277
211
241
269
161
218
252
232
201
240
151
189
173
365
273
170
310
214
192
270
244
238
244
182
262
256
221
206
231
213
178
245
154
256
307
193
267
175
241
305
300
195
234
308
253
270
241
205
256
160
199
192
221
250
186
216
224
244
262
152
201
203
212
206
232
193
185
155
155
175
209
253
309
283
217
256
160
229
162
163
218
252
283
130
230
222
151
179
169
160
270
223
215
284
218
237
247
145
283
240
214
144
224
205
247
224
226
267
225
241
278
202
181
334
139
228
231
203
239
269
229
203
227
182
241
192
248
167
235
211
227
235
242
188
193
225
178
263
179
277
248
271
276
243
242
273
256
226
243
238
159
255
202
218
213
198
215
243
114
221
178
179
273
210
265
235
209
253
224
198
240
219
175
255
209
307
159
240
218
203
237
233
259
214
211
280
235
231
217
248
246
168
269
202
166
219
341
249
303
248
266
296
200
211
251
189
218
232
178
252
230
268
208
225
232
266
180
226
224
259
165
218
217
219
361
261
198
237
159
243
227
178
303
302
216
247
314
303
316
181
259
275
190
215
196
170
220
217
228
218
237
233
266
207
209
261
204
239
237
233
180
210
130
232
265
245
212
191
175
200
176
180
192
269
296
247
247
178
218
185
239
273
244
192
251
223
324
197
179
222
204
250
214
292
230
248
301
204
181
174
160
230
209
237
283
152
248
298
160
201
262
252
203
212
187
289
228
191
183
259
149
223
176
234
230
268
233
221
293
173
262
185
184
211
257
181
194
329
185
269
239
197
276
192
196
183
209
232
209
208
243
156
253
257
277
210
313
225
242
257
220
324
152
306
215
223
226
162
184
256
207
293
200
201
234
186
199
260
220
222
285
197
260
232
255
253
271
257
240
204
179
209
284
222
261
180
179
240
176
316
237
259
180
245
227
245
192
321
195
189
264
254
178
325
166
266
251
187
269
180
279
186
227
288
114
244
214
225
282
170
271
238
241
208
208
204
188
225
196
296
192
213
197
223
264
234
169
263
264
198
160
221
196
164
152
180
197
259
222
227
206
193
186
258
189
263
168
268
287
232
287
171
189
228
227
287
197
261
238
258
271
154
126
174
287
207
204
194
270
245
174
238
243
219
260
205
126
190
269
279
199
151
262
242
191
197
155
183
248
246
225
334
259
301
230
291
222
309
298
229
301
225
231
211
290
157
233
149
173
254
212
254
222
320
274
189
290
196
181
191
231
257
240
268
250
257
225
179
268
204
229
222
244
249
220
283
366
178
227
160
215
317
243
288
216
262
301
209
189
169
278
269
231
243
199
270
194
251
205
239
160
219
151
190
176
200
153
272
299
291
251
209
234
249
243
156
206
252
178
199
244
231
217
178
180
223
244
237
144
192
254
259
299
331
257
302
233
299
248
226
253
221
217
152
182
181
180
174
215
198
274
253
228
272
316
197
225
212
219
164
170
251
227
146
213
258
251
292
217
234
274
204
162
244
246
247
327
205
176
262
203
164
176
288
218
193
220
191
226
184
262
211
234
222
238
264
228
176
262
218
219
205
273
262
151
192
260
218
226
114
219
226
202
262
268
265
336
181
298
184
266
240
264
243
221
190
238
243
176
170
153
225
259
246
178
218
147
227
267
219
242
283
233
208
193
251
170
225
239
214
263
252
217
220
206
250
274
224
198
219
174
210
196
244
220
192
239
277
279
233
249
200
196
239
167
188
230
158
287
224
206
203
187
245
229
275
237
114
221
208
203
237
282
165
232
223
321
249
237
225
225
185
229
300
267
226
212
192
151
252
264
275
196
206
242
160
282
278
315
182
180
213
214
174
217
268
171
183
182
212
184
261
243
229
305
214
273
248
285
240
240
274
198
255
253
248
268
238
187
226
206
216
200
261
181
228
247
193
222
290
202
182
230
268
252
207
339
264
195
240
269
114
263
233
248
278
225
173
170
225
215
196
270
278
197
214
200
244
205
146
235
242
235
221
237
323
189
289
199
303
220
243
264
269
256
197
261
207
332
257
221
241
211
247
317
235
175
235
210
212
299
178
301
181
219
156
194
271
255
195
164
221
230
248
272
221
215
213
167
170
192
293
187
244
168
291
320
239
175
307
245
254
238
259
247
253
212
238
146
178
175
199
180
238
253
198
258
225
235
288
242
277
209
268
253
223
211
244
194
231
219
169
287
211
205
206
214
252
227
266
241
237
214
203
238
265
268
226
182
218
195
213
254
114
315
317
164
214
229
270
192
254
179
160
181
262
266
234
248
282
188
305
166
168
239
244
218
164
218
297
211
292
283
283
192
240
252
192
208
240
186
210
198
221
217
278
234
227
160
230
232
253
248
249
279
183
267
161
160
114
152
209
188
215
218
181
153
191
194
168
162
259
220
173
227
215
260
196
188
234
266
164
272
250
156
274
212
189
226
212
230
241
213
195
262
225
294
253
244
184
209
277
193
259
198
172
286
272
305
258
292
215
182
297
199
253
114
207
248
258
231
292
185
218
232
216
268
246
204
216
261
219
204
144
218
276
200
114
186
319
200
185
181
229
209
209
185
121
373
271
219
287
217
220
249
212
178
225
201
295
200
236
263
252
157
190
279
215
191
261
161
210
191
184
227
283
278
221
312
249
201
170
207
321
114
214
182
243
241
198
202
263
188
224
268
281
297
231
247
201
238
219
238
216
245
197
223
266
286
268
198
191
170
244
147
139
195
237
237
233
328
261
267
223
161
239
200
259
231
265
230
170
288
247
284
164
258
225
236
195
292
256
218
238
152
188
212
229
288
194
214
307
233
232
220
249
183
170
249
218
237
265
263
166
280
230
261
286
187
235
305
114
152
229
273
228
232
323
267
294
242
280
234
173
171
244
200
238
314
286
249
214
233
265
301
175
208
253
285
181
203
235
209
239
253
241
208
203
133
169
198
196
204
294
272
190
162
195
228
249
224
217
222
215
278
210
232
166
195
240
244
216
214
214
234
234
266
232
259
178
211
185
187
209
152
248
244
266
229
331
156
303
171
185
208
238
308
310
114
231
183
209
200
232
293
239
264
190
258
314
194
213
213
218
197
166
183
256
245
206
203
256
211
215
233
192
269
205
285
222
296
200
273
240
153
246
190
298
225
259
191
239
244
175
229
180
220
173
261
226
201
156
275
214
194
250
170
262
269
187
234
225
178
182
173
245
200
207
237
223
221
214
244
208
321
231
203
238
217
225
224
191
228
205
274
226
225
206
257
214
249
210
303
221
192
277
236
303
235
207
255
232
199
231
255
247
226
265
208
225
176
192
217
191
195
266
310
244
290
225
235
207
251
212
229
174
198
200
306
263
253
217
258
268
249
165
186
175
229
147
229
265
160
255
262
174
191
238
189
167
223
194
237
161
238
219
233
183
230
114
210
192
236
270
239
229
234
213
212
186
177
192
287
234
246
198
189
255
194
216
214
269
231
196
254
193
242
304
221
200
282
173
219
201
247
153
207
221
145
232
195
197
228
252
231
192
182
181
159
314
272
281
246
199
297
236
196
198
265
231
278
207
285
187
213
187
251
186
349
227
192
182
194
241
242
207
251
224
215
238
270
259
263
192
254
166
244
191
274
222
238
200
187
214
216
197
308
192
255
193
273
242
185
184
251
203
255
188
245
218
189
148
220
226
208
167
181
245
209
213
239
216
225
190
202
258
299
283
168
348
284
209
193
189
287
244
261
204
114
193
186
278
222
189
192
143
210
251
260
273
278
265
182
166
323
247
114
296
183
218
215
130
157
276
177
215
177
202
161
197
168
195
261
151
182
224
251
159
187
231
238
179
288
188
218
261
175
215
234
355
245
166
206
186
210
260
204
214
216
275
205
194
180
251
164
183
144
289
175
272
222
214
196
189
204
171
238
227
243
184
304
229
279
108
158
227
249
188
233
276
232
212
146
181
220
260
232
250
250
199
231
230
279
179
184
229
257
187
219
270
301
212
260
213
361
178
210
175
214
158
186
309
158
252
337
191
264
240
208
237
262
189
195
228
217
207
231
243
239
242
282
126
259
267
297
146
266
195
221
211
270
190
217
243
256
114
161
278
179
265
174
181
262
267
272
363
205
222
239
180
215
272
206
197
219
243
214
174
206
233
248
258
240
169
194
189
275
229
220
230
195
297
237
241
285
165
240
197
229
238
207
237
283
178
277
263
165
274
158
253
203
233
170
257
227
270
196
239
195
239
176
214
306
241
208
222
231
194
203
262
195
148
274
329
258
262
217
202
233
205
192
139
246
270
223
209
193
237
275
220
224
254
139
164
250
212
219
310
243
164
252
250
280
155
259
171
222
144
114
229
235
217
207
199
193
284
233
229
304
219
215
205
277
286
225
241
203
219
182
193
167
160
263
247
256
213
261
168
264
224
259
199
198
222
219
252
203
203
233
206
229
198
245
242
210
227
226
240
270
214
221
154
229
241
305
173
221
227
144
278
251
323
222
205
214
175
156
225
220
200
265
272
243
114
263
271
197
204
242
162
230
213
241
108
271
268
270
165
250
202
261
250
161
193
231
162
286
294
166
200
166
229
303
202
233
233
189
227
200
181
317
151
252
169
217
226
206
270
298
174
191
214
202
181
217
225
213
237
229
205
300
193
180
235
190
202
222
254
233
243
232
263
201
164
168
198
231
196
121
185
253
190
238
192
178
210
182
276
181
229
234
249
192
187
200
296
221
188
198
217
259
247
195
203
175
263
275
184
230
114
252
284
254
206
229
282
295
129
263
270
285
126
265
192
241
367
229
283
258
247
250
198
160
253
271
178
228
214
153
211
231
198
158
231
233
171
195
216
200
215
309
170
180
209
181
172
306
233
201
235
226
191
237
199
245
260
228
214
284
325
260
197
182
224
225
290
250
220
241
213
205
243
208
243
306
160
256
236
245
233
188
283
244
196
214
208
192
240
259
206
175
223
232
210
203
278
186
234
299
209
258
140
239
258
183
275
256
215
273
277
173
193
207
261
173
180
189
192
170
271
243
190
169
193
250
194
251
255
216
367
234
210
165
264
246
279
294
285
200
226
300
220
336
249
246
250
270
252
269
239
209
225
192
230
226
186
225
164
249
198
295
185
312
160
207
303
285
266
260
121
198
222
247
287
189
286
188
192
194
278
245
289
225
114
295
247
198
198
248
180
193
221
216
237
316
230
234
210
155
182
280
209
210
252
266
269
179
204
229
285
247
271
185
326
242
243
283
258
210
219
196
214
266
197
193
302
263
181
200
229
221
154
208
211
126
255
126
284
271
207
272
158
248
244
251
220
203
225
254
271
267
147
194
206
202
175
214
222
225
201
234
341
310
205
181
225
270
293
248
126
298
256
257
116
174
126
204
259
229
190
226
227
252
168
196
181
170
218
291
213
297
252
219
264
263
261
235
157
211
239
221
158
201
187
260
148
219
183
286
171
140
209
156
312
195
179
158
209
201
215
145
139
195
192
156
152
246
222
247
176
198
242
128
235
217
182
144
187
198
242
269
229
184
214
296
194
301
231
139
181
188
261
114
276
213
258
208
288
201
144
200
315
314
246
211
205
288
280
257
148
189
203
235
181
245
224
170
152
206
185
192
209
217
234
174
239
184
232
218
114
239
169
315
191
230
173
220
279
174
158
160
175
211
265
269
156
232
195
200
185
170
249
280
176
242
251
176
209
172
177
239
183
211
221
208
184
214
220
211
306
239
255
181
263
184
275
235
203
252
182
218
275
269
188
145
227
245
229
294
220
224
231
204
212
268
252
198
173
178
146
173
173
189
238
244
222
190
219
233
216
224
252
214
316
328
219
194
168
181
187
164
202
284
245
245
253
293
227
253
291
218
216
222
218
215
246
233
208
281
275
227
241
238
193
188
240
329
201
194
239
225
215
195
234
206
303
202
216
209
276
206
177
223
182
198
188
212
192
209
217
269
244
160
209
242
266
270
158
216
219
156
233
216
274
158
267
258
199
225
245
175
195
208
211
157
228
198
234
191
229
191
367
198
222
195
251
277
154
361
252
160
234
250
204
181
207
315
212
185
224
170
290
198
222
256
159
212
208
170
206
219
218
211
203
267
245
297
227
253
207
301
230
186
227
225
209
192
258
224
253
251
210
251
235
244
233
225
199
291
251
275
236
187
207
279
197
214
160
220
197
214
152
204
246
216
172
181
291
282
155
211
267
191
208
234
260
217
212
267
237
166
283
239
122
212
179
254
234
218
274
239
213
266
188
227
219
188
170
230
254
339
267
245
242
192
226
257
211
254
221
234
234
258
192
149
214
261
180
211
265
253
254
201
170
173
231
183
287
297
216
247
306
262
228
235
208
318
250
259
222
173
241
275
290
241
169
229
219
215
248
289
226
292
237
240
277
243
226
245
185
244
223
256
230
286
244
191
320
229
211
173
212
208
268
188
224
253
202
195
165
211
215
210
263
283
224
170
233
245
207
262
195
172
230
238
253
230
216
207
174
321
189
239
310
221
245
305
248
249
205
278
185
192
256
229
224
201
270
191
302
267
139
236
265
247
274
230
292
185
184
176
208
166
200
267
158
195
268
210
188
260
289
198
260
173
162
173
205
285
233
253
262
225
261
223
193
198
257
214
180
224
218
278
187
242
196
114
170
241
188
222
249
175
158
212
222
253
212
235
221
291
214
222
218
173
216
126
226
261
224
222
221
257
191
305
206
251
201
253
275
160
256
276
286
291
130
179
220
260
281
202
283
190
182
229
158
259
293
275
260
235
193
198
165
247
151
233
238
210
213
232
309
210
203
209
191
250
237
283
172
239
227
156
218
253
253
245
227
279
174
231
189
282
234
207
269
185
405
265
258
247
220
299
114
258
226
195
203
209
234
197
351
234
285
222
145
181
197
198
212
196
193
285
170
276
193
185
325
226
263
178
139
178
257
260
242
253
271
114
179
214
156
263
140
190
200
188
222
231
225
334
304
226
262
241
211
273
194
192
234
198
170
174
214
223
214
274
252
253
249
160
240
214
210
218
225
227
218
251
251
256
219
237
257
214
227
166
227
148
234
264
192
228
204
184
225
226
243
238
160
237
143
192
209
335
201
228
194
268
280
282
276
226
263
232
276
242
262
223
216
249
287
177
263
208
156
254
158
210
130
156
279
226
210
203
269
150
214
170
266
231
317
130
321
241
283
277
175
208
249
173
283
268
257
192
240
261
192
226
294
225
202
263
293
176
210
269
202
243
167
285
221
272
229
205
219
245
108
267
233
195
243
243
263
231
219
222
265
231
261
272
209
224
219
265
201
171
304
245
225
235
248
212
175
170
235
181
247
301
221
206
251
220
272
195
233
257
224
246
255
193
253
283
202
258
203
264
192
238
208
275
193
211
205
207
176
228
221
288
222
152
247
234
190
114
207
218
261
212
166
234
253
253
193
198
288
172
137
154
181
241
241
239
275
244
260
155
172
257
216
287
202
164
168
286
273
219
215
183
219
280
224
160
232
241
296
160
227
170
299
146
270
237
283
207
161
242
203
201
220
264
159
266
204
181
213
188
221
114
218
212
256
216
316
179
267
204
192
197
161
172
293
223
257
205
181
198
249
228
171
223
234
178
238
293
205
114
210
229
230
247
324
277
219
188
192
233
219
222
302
227
215
246
215
193
179
259
230
193
234
207
144
242
173
175
195
227
272
192
196
243
262
271
249
195
247
195
114
199
269
259
208
200
151
213
182
156
237
203
135
243
375
307
285
236
254
248
283
275
230
206
234
243
312
272
160
215
265
114
188
196
219
214
235
217
249
215
209
264
236
217
236
244
232
234
199
234
230
265
226
211
264
255
221
260
203
114
233
237
176
219
289
193
170
220
181
193
228
244
172
216
213
192
144
154
213
206
234
303
226
293
198
161
194
199
229
239
245
156
237
231
282
270
190
239
193
260
165
185
271
251
211
157
232
174
212
165
208
200
235
202
219
157
218
238
192
247
179
235
230
232
245
273
149
226
214
214
258
212
151
206
225
242
211
197
114
235
270
246
202
213
114
303
236
171
215
256
236
186
216
236
257
235
241
235
215
216
206
253
260
206
108
182
170
244
278
191
222
214
221
245
191
202
239
293
156
169
225
241
251
249
245
195
184
173
234
317
285
246
204
293
144
271
268
330
169
106
235
293
155
126
248
312
229
114
315
182
221
284
303
203
324
197
139
254
243
175
247
222
225
209
162
299
197
291
170
205
218
301
245
199
216
114
278
194
176
197
204
251
188
231
269
223
218
229
239
303
246
254
232
221
179
248
195
160
289
192
245
251
186
219
220
210
205
208
319
139
190
233
264
114
209
283
198
225
240
296
202
299
188
272
233
206
193
196
283
147
317
195
156
176
200
315
217
152
223
218
256
190
206
293
108
218
243
363
282
275
235
228
192
185
287
176
235
114
203
187
232
275
249
184
282
264
178
198
274
191
283
218
225
169
151
231
253
229
169
245
194
198
250
194
228
186
201
270
226
257
190
193
231
232
298
170
203
171
269
235
251
236
224
267
242
236
198
218
270
235
350
226
295
196
213
149
255
281
218
243
145
236
185
204
232
229
209
237
106
257
209
253
212
192
181
308
242
307
220
217
250
276
233
269
224
149
229
270
206
245
241
219
192
274
254
214
250
213
200
200
264
264
287
222
191
343
195
241
194
290
223
239
198
151
198
213
256
221
332
260
209
264
208
212
162
296
278
227
212
315
189
214
251
219
156
244
202
192
178
230
245
262
248
219
234
290
298
195
218
220
161
319
226
276
182
221
173
231
252
267
160
189
194
247
169
256
274
326
238
258
228
171
198
203
258
277
164
241
235
278
196
201
231
292
207
209
194
319
236
249
295
263
216
182
152
218
284
228
244
158
222
151
265
173
240
265
227
329
245
255
266
188
261
252
248
234
146
193
181
251
149
193
137
226
253
192
284
238
251
158
190
244
181
160
234
203
270
347
345
305
309
154
172
160
377
245
212
237
336
243
238
184
222
260
245
220
243
248
250
181
280
223
255
192
197
191
270
220
139
224
208
249
216
273
208
292
194
258
220
285
243
260
208
246
242
187
242
271
252
191
245
194
272
209
270
288
181
166
179
270
220
229
166
221
315
178
238
216
247
216
332
180
195
159
240
209
240
266
235
242
238
257
221
271
194
260
227
188
181
219
175
264
198
278
323
202
170
228
228
219
174
169
180
260
292
241
215
246
273
322
270
149
235
229
184
290
263
192
208
244
191
267
259
193
202
156
314
161
208
168
198
240
229
192
192
129
225
227
250
187
212
186
114
194
195
242
235
214
238
225
280
213
235
238
257
217
114
188
211
289
271
169
229
213
156
195
198
223
284
126
273
249
172
158
198
229
178
192
238
222
133
196
200
178
235
260
193
214
272
269
382
188
229
235
282
258
196
265
262
219
193
170
247
210
189
175
253
253
202
220
173
191
205
232
207
213
195
232
207
144
180
232
276
229
179
275
284
214
222
191
247
241
282
221
258
283
251
395
278
188
184
302
243
177
347
254
231
213
253
277
333
308
245
268
221
252
280
294
208
211
234
223
226
316
241
214
347
246
268
250
249
289
177
266
203
248
170
316
139
262
238
246
245
299
291
263
231
238
210
275
146
170
195
255
256
258
114
256
229
217
333
177
221
245
194
233
237
177
170
267
213
297
253
114
308
114
220
114
274
207
201
198
220
114
202
139
272
162
217
246
162
173
216
233
199
156
217
169
215
229
191
305
179
257
214
263
223
240
217
261
341
180
220
211
208
155
249
282
235
225
217
207
255
259
162
220
239
173
203
196
278
246
305
263
277
234
189
193
220
210
166
206
219
176
219
272
219
206
235
234
165
258
233
220
249
175
282
233
145
251
209
179
268
216
324
224
240
180
229
169
210
195
198
268
255
287
264
282
190
240
241
189
203
218
174
184
205
247
228
193
248
187
298
317
208
249
190
189
239
126
279
248
190
254
241
291
322
208
199
261
314
196
253
246
133
217
203
171
226
235
206
284
186
279
290
274
232
262
251
194
196
160
202
258
233
220
168
213
192
235
302
214
147
248
192
165
183
239
215
205
225
233
290
165
229
144
266
267
223
245
187
193
211
296
236
232
250
232
219
225
192
238
179
204
222
240
297
212
116
231
209
249
206
195
212
234
227
204
210
222
247
116
255
219
253
243
216
137
266
203
197
192
225
224
178
223
204
272
173
225
208
269
175
301
170
214
207
251
178
275
233
260
222
271
235
238
302
263
256
247
265
244
210
167
215
240
271
245
250
246
256
288
185
279
156
145
198
167
203
190
177
194
207
198
299
299
156
222
146
185
196
173
246
212
262
215
272
229
247
266
241
327
193
180
195
188
219
179
180
195
226
129
291
218
216
239
255
199
249
205
222
189
279
202
200
275
170
208
159
211
198
227
253
298
260
253
279
210
114
257
206
300
198
233
248
279
248
249
169
205
114
247
247
247
190
260
224
251
260
190
208
239
129
218
243
192
292
271
248
204
235
178
179
178
176
154
210
244
180
185
218
281
284
196
165
246
198
256
207
210
346
173
292
247
258
178
181
237
222
179
318
252
318
212
203
280
236
273
179
170
154
146
306
185
258
253
219
213
259
259
180
313
230
202
315
198
185
214
218
264
203
181
278
332
179
227
201
263
277
226
303
270
180
218
227
237
116
195
257
114
156
254
195
114
169
269
204
190
180
171
182
243
275
173
250
236
162
260
189
227
267
191
233
149
259
192
236
255
213
248
222
216
206
178
275
254
291
184
248
235
153
192
226
147
162
170
217
291
221
288
257
178
294
205
245
160
148
220
216
154
227
179
170
222
273
272
190
220
212
242
195
188
212
253
284
193
248
286
214
269
243
187
269
230
266
326
218
234
219
245
219
238
249
189
214
254
191
178
241
178
253
178
236
194
192
121
235
178
214
182
239
194
298
126
205
193
203
275
250
295
192
289
225
357
186
203
295
289
257
195
205
201
257
297
279
251
145
213
182
248
201
164
172
243
139
202
209
193
261
245
329
199
244
225
186
243
377
278
266
224
326
211
248
252
247
180
232
197
308
170
212
265
242
237
227
219
255
346
221
178
156
263
149
108
231
180
214
231
238
235
292
216
250
292
233
262
214
273
204
167
249
215
194
270
166
245
299
247
169
236
264
256
228
256
274
229
204
242
170
261
253
266
241
272
156
297
204
157
211
179
239
262
210
227
197
251
208
168
206
266
191
227
201
252
270
210
212
191
200
186
129
215
216
306
212
221
299
266
265
197
193
116
201
310
174
227
185
218
283
286
298
218
266
177
180
183
261
194
243
262
151
219
197
302
228
260
208
234
240
204
270
269
248
239
225
236
201
202
183
190
152
222
225
233
212
208
312
188
224
193
184
162
271
265
236
196
286
267
268
246
227
286
185
130
262
178
242
114
262
297
291
227
192
291
225
211
206
275
190
269
231
306
223
194
156
237
201
198
236
266
235
227
249
114
202
167
183
233
267
255
189
254
230
218
247
211
224
224
152
260
265
247
277
174
323
250
209
166
241
192
145
213
318
259
266
247
249
247
220
248
207
216
271
178
228
242
272
171
212
239
215
191
238
205
258
249
175
213
217
145
258
192
162
334
277
211
209
224
165
157
219
251
158
169
193
246
291
243
189
289
208
139
233
245
252
178
243
305
207
258
149
235
247
241
235
219
246
148
225
275
243
236
191
126
160
282
259
178
178
231
259
174
227
216
203
245
209
230
178
241
200
263
114
139
181
227
191
170
319
185
179
194
308
220
188
189
211
251
319
233
227
228
255
157
213
208
214
195
216
166
195
215
181
241
270
252
248
165
281
229
200
169
234
184
159
260
147
162
263
237
316
164
208
233
244
250
166
279
224
261
245
303
289
230
261
228
228
224
200
308
254
237
192
248
240
165
187
196
287
257
228
238
192
160
267
213
225
244
271
147
222
223
318
181
242
175
207
220
198
237
214
180
257
231
186
325
195
255
232
333
158
230
198
114
210
235
195
342
158
279
221
235
160
248
252
257
194
232
206
161
179
304
174
229
168
183
240
195
248
291
239
308
245
226
248
218
287
246
189
186
274
184
271
231
190
244
255
232
294
218
167
206
316
285
182
272
221
318
282
175
205
234
289
122
214
296
270
195
251
114
175
257
182
250
182
209
227
205
199
181
236
266
249
327
246
174
179
220
250
190
213
206
207
214
236
252
194
217
206
196
209
177
203
181
216
203
139
226
160
228
182
195
235
224
286
197
252
254
221
252
133
265
160
204
286
249
147
240
324
188
208
256
244
241
229
280
170
234
204
193
139
214
233
179
244
209
290
169
235
149
269
209
184
174
204
224
191
256
166
279
278
169
236
207
250
214
246
225
284
139
205
276
354
281
264
205
178
275
236
218
208
243
219
228
263
184
275
236
279
239
311
250
223
289
234
198
188
250
196
275
196
178
210
248
158
281
213
187
275
211
275
234
246
183
235
205
232
251
293
240
228
200
257
114
173
279
224
205
170
212
198
302
268
155
214
236
250
244
186
245
156
288
219
247
173
193
212
234
161
206
221
184
188
225
189
176
166
299
283
191
165
235
231
245
175
239
282
247
149
241
199
233
194
197
305
237
253
271
215
331
198
215
257
181
175
235
208
206
201
184
202
192
178
211
204
225
237
239
165
228
269
236
220
237
207
276
246
317
155
210
215
242
206
248
173
218
209
181
204
196
269
153
179
274
175
225
198
260
257
302
289
178
205
279
226
152
260
158
223
263
212
244
308
208
198
152
261
297
272
271
246
256
275
190
251
225
246
166
173
251
215
200
276
229
244
246
257
300
184
228
198
158
193
173
224
299
243
263
291
238
320
263
218
223
238
245
220
173
236
342
202
183
253
273
219
233
207
191
245
224
146
264
216
198
305
237
200
182
215
180
247
210
223
230
202
174
241
220
179
200
262
215
226
295
230
196
340
208
266
240
235
169
211
215
167
165
182
228
222
221
225
260
259
175
205
260
265
263
247
168
247
251
253
174
121
258
239
333
271
248
222
192
224
263
192
221
258
252
223
293
241
256
224
229
239
114
262
183
218
250
226
271
262
212
239
256
262
275
208
260
247
241
184
198
145
212
154
274
163
234
256
250
227
139
216
212
266
200
234
180
192
130
184
289
332
206
213
213
249
276
243
301
186
218
241
221
191
176
283
180
207
248
212
252
285
303
215
240
189
173
215
251
299
126
258
229
208
262
209
213
188
243
289
219
207
200
178
256
220
219
187
171
206
244
208
281
256
173
222
267
265
268
207
179
270
192
200
277
236
208
227
245
176
202
272
343
166
265
208
194
235
274
278
209
262
252
265
156
204
168
179
158
259
288
257
233
223
339
114
188
210
218
171
192
256
277
220
160
258
296
242
220
270
181
165
268
225
239
286
257
245
267
231
238
178
248
170
269
215
222
204
177
226
261
251
233
276
252
221
309
170
270
238
178
189
263
183
234
288
202
246
270
206
227
165
184
159
243
194
202
204
215
238
229
170
170
176
206
219
245
277
211
345
247
346
207
286
181
171
226
218
221
181
237
164
271
279
243
269
181
217
165
114
295
229
220
215
241
192
285
178
215
239
305
247
191
214
275
214
266
165
195
241
219
270
236
235
170
290
250
114
264
114
240
265
218
284
222
230
229
191
265
228
234
189
165
292
202
253
217
225
220
273
186
197
241
220
221
287
211
218
128
200
169
190
210
266
287
252
209
268
224
189
214
167
251
216
235
134
187
152
180
253
213
242
208
149
202
166
227
169
292
254
287
294
198
194
197
322
166
255
183
219
183
250
198
170
221
281
244
171
241
238
276
231
252
215
264
157
196
253
178
179
250
198
238
186
261
293
241
222
227
184
184
199
208
223
314
236
238
199
279
211
218
216
258
233
205
289
145
317
160
146
231
269
188
267
235
221
213
198
169
243
207
183
173
121
271
199
254
268
266
194
212
225
182
282
292
215
242
201
198
209
288
246
234
214
291
229
269
245
185
192
182
242
222
196
200
219
332
265
261
186
157
244
206
258
192
231
324
251
108
232
250
208
238
261
315
139
295
305
201
262
220
232
176
166
349
252
253
250
238
247
242
242
224
274
225
247
208
242
188
310
160
255
204
215
208
250
250
296
250
191
174
189
275
301
197
279
259
282
190
232
206
195
222
234
239
250
153
239
271
207
114
313
263
281
220
289
162
203
171
270
213
144
324
194
242
172
239
263
226
277
214
271
227
277
305
248
274
161
285
321
203
186
218
207
174
151
222
212
114
229
171
275
300
234
114
208
302
238
238
269
303
198
183
202
166
273
203
146
219
174
269
172
233
304
217
253
183
261
174
287
151
318
213
202
273
303
230
160
295
275
284
180
260
156
253
242
268
244
286
221
237
187
252
210
233
284
239
221
184
269
222
186
213
254
284
296
247
185
229
227
273
220
375
198
151
216
284
223
178
278
250
222
279
212
172
244
180
280
171
184
192
146
215
269
233
293
145
269
257
247
219
307
173
224
178
108
254
310
233
260
139
143
229
219
170
183
257
212
189
188
161
249
265
121
255
251
224
207
186
174
235
227
187
173
209
305
229
229
243
215
220
263
260
247
274
309
244
204
189
287
180
191
252
177
165
212
254
279
306
239
240
248
214
198
188
184
181
170
183
210
226
263
126
209
252
228
246
242
245
181
278
276
231
270
114
173
271
234
224
210
185
255
262
114
212
182
252
254
213
198
198
237
279
192
387
229
234
177
256
151
283
198
253
214
198
196
278
156
151
173
243
200
243
211
114
246
237
288
218
219
227
213
199
176
156
214
320
198
214
222
296
214
205
231
250
247
198
213
203
261
235
191
147
265
139
183
254
222
187
194
237
330
278
246
225
178
220
158
282
251
218
244
232
276
174
174
247
231
160
246
212
194
274
238
218
208
292
253
178
231
194
180
206
171
226
260
288
256
166
276
180
209
178
230
247
126
288
221
228
205
275
262
204
270
261
238
212
303
230
289
229
198
184
230
312
194
261
173
152
319
215
192
221
177
203
192
200
269
285
188
231
230
295
236
255
175
238
254
238
195
255
197
237
270
215
145
203
229
272
277
167
140
213
240
193
215
198
252
157
192
215
287
251
257
191
292
245
195
242
217
284
236
319
114
256
220
228
239
178
215
188
222
160
260
239
211
254
220
220
282
228
315
240
266
185
192
288
215
274
200
206
221
218
217
263
234
263
171
242
201
281
211
240
215
222
252
201
169
208
173
226
278
247
240
275
254
252
238
152
173
267
262
227
190
258
137
203
255
173
145
300
245
228
114
240
212
253
230
309
178
182
255
301
225
274
211
192
392
204
275
190
223
203
222
198
251
186
310
228
305
223
224
116
190
259
282
177
189
160
185
172
192
304
235
175
254
281
240
158
311
279
154
204
220
255
202
218
177
168
279
164
218
254
230
276
175
159
176
216
220
254
226
245
149
255
240
321
240
209
195
114
273
236
121
295
176
285
253
179
185
223
225
211
262
291
270
226
181
261
221
300
225
210
295
156
207
261
299
230
206
264
246
207
189
183
173
296
257
203
239
194
232
226
197
165
291
275
288
246
183
159
199
164
184
169
188
192
245
238
273
197
255
228
214
188
242
333
129
233
290
114
230
214
285
263
203
223
151
268
236
140
304
156
225
165
246
237
236
215
244
198
205
256
311
214
222
165
169
236
197
295
189
155
200
126
262
249
156
294
340
171
232
170
227
277
208
176
178
220
212
293
275
287
240
264
164
193
220
233
205
227
236
207
227
257
170
224
175
171
192
287
206
301
253
267
160
181
198
184
272
205
232
212
173
168
195
256
182
155
229
216
214
210
244
249
144
212
275
290
312
215
216
223
149
168
204
198
241
205
242
185
177
164
191
207
202
175
238
204
211
311
149
217
295
253
212
247
325
174
178
230
283
229
159
260
191
296
222
182
186
282
235
248
240
199
285
207
309
144
195
223
225
203
156
231
262
282
292
162
108
243
300
156
181
223
188
258
220
267
114
303
221
226
320
184
256
166
255
178
210
302
216
216
199
199
200
267
270
207
162
226
239
268
220
244
214
215
257
338
259
169
215
215
279
274
228
268
217
245
209
221
209
202
188
194
250
271
309
252
193
264
178
169
152
240
169
269
239
296
221
226
228
173
223
207
188
126
168
227
302
233
267
168
199
267
280
270
225
201
233
162
247
257
229
213
232
257
216
213
208
152
211
192
172
198
233
225
207
209
266
275
220
220
151
273
157
214
184
293
291
178
246
180
233
224
323
282
208
211
166
274
263
206
175
251
166
244
177
204
216
206
224
240
303
308
252
234
253
216
296
215
178
174
210
213
220
228
298
206
225
217
239
290
252
273
252
198
177
219
254
288
218
290
193
152
197
148
199
238
220
179
114
184
167
239
287
213
182
237
202
314
209
205
222
201
279
195
242
236
190
193
311
247
281
202
227
179
234
238
351
180
202
247
265
192
256
193
133
170
310
245
221
198
170
151
195
169
237
141
175
270
175
243
121
204
261
250
247
226
219
160
274
190
247
214
235
179
221
259
244
224
177
210
261
257
134
192
258
217
236
178
209
259
244
214
151
238
238
216
224
231
252
275
294
267
200
116
223
237
238
261
178
228
264
145
285
216
175
184
197
225
229
206
225
175
196
218
221
254
284
251
252
246
196
206
256
114
235
297
211
266
223
133
209
204
265
147
156
202
184
277
226
209
191
192
235
207
268
161
194
274
166
251
216
237
205
192
322
199
121
284
188
260
226
239
167
177
230
255
335
234
220
222
328
121
243
224
198
331
225
229
221
228
246
272
293
204
194
259
288
229
281
242
242
212
194
242
196
192
252
267
227
309
230
243
219
144
256
211
252
184
280
214
228
257
158
198
245
197
178
237
217
179
284
242
246
209
156
194
280
254
187
183
232
162
243
222
170
211
225
253
170
262
219
197
187
249
268
147
227
218
286
212
209
198
202
238
209
297
264
255
230
248
322
178
335
244
201
232
251
253
206
189
218
240
251
247
174
225
277
207
227
248
216
286
252
309
187
192
204
141
257
224
235
321
241
204
263
193
270
290
187
240
234
203
190
219
316
216
164
114
174
317
222
215
215
204
262
278
311
262
208
265
209
326
193
253
283
165
179
191
246
217
260
331
188
185
220
243
232
238
244
206
218
207
207
230
173
160
164
139
223
201
209
232
230
215
201
237
266
225
250
191
178
206
242
276
306
168
232
165
291
260
295
190
271
184
224
245
260
283
247
215
256
226
209
314
210
181
309
114
141
273
302
228
203
243
232
129
209
185
231
254
151
233
238
214
250
177
160
258
238
282
263
306
269
175
195
371
192
214
187
186
208
233
158
302
186
227
221
211
278
255
187
302
245
200
275
192
192
334
202
145
254
175
241
208
173
156
162
178
219
257
223
167
239
186
174
185
280
192
220
207
183
283
180
195
165
228
183
244
231
231
238
257
169
266
226
170
114
193
226
250
223
225
218
178
180
219
297
253
310
227
235
184
186
229
209
264
185
162
292
195
171
114
108
257
203
279
192
174
276
264
283
262
168
299
170
214
174
287
260
223
284
250
233
227
161
269
197
238
216
152
231
245
181
305
244
188
154
215
223
277
224
251
278
244
240
288
206
211
195
207
249
284
203
256
116
209
228
237
192
226
224
234
201
189
144
248
239
207
252
285
204
237
295
246
255
302
211
245
258
261
242
182
181
255
158
261
264
215
257
212
187
195
213
156
145
238
207
257
198
254
219
263
263
268
141
229
263
218
233
148
206
214
224
255
186
176
182
238
249
226
210
252
178
183
290
194
215
257
272
200
207
197
278
236
219
175
231
198
235
271
174
213
218
206
186
159
217
191
236
267
254
296
271
229
274
208
209
218
193
215
240
219
215
270
246
267
282
114
249
291
244
203
181
219
219
288
240
266
197
232
180
206
147
195
286
331
295
228
330
234
174
223
213
229
300
187
333
257
176
169
231
261
239
193
160
151
160
231
244
234
154
114
322
181
258
114
227
255
243
216
257
228
252
214
207
219
164
190
187
295
227
144
178
218
211
205
243
225
251
300
210
151
241
227
201
227
180
327
286
225
178
239
201
246
248
285
277
193
267
271
208
220
260
114
243
228
149
265
299
190
202
251
207
162
278
227
226
229
244
199
198
195
224
267
283
208
214
272
206
236
273
209
200
208
214
207
200
188
232
222
165
288
285
223
220
277
186
227
148
190
254
206
170
160
276
169
187
260
169
193
175
241
244
229
185
250
229
239
254
235
367
262
243
186
260
195
299
266
209
230
244
235
280
213
316
244
203
227
300
227
249
156
260
280
273
276
216
293
192
175
106
243
249
170
236
250
210
202
121
238
164
205
284
189
187
218
215
234
355
302
260
207
233
226
221
239
223
219
198
213
220
221
174
195
147
291
210
248
195
234
314
260
214
253
186
238
238
258
295
261
178
215
291
182
289
187
170
241
139
220
223
248
237
179
204
238
234
212
211
226
219
258
229
268
192
233
206
235
206
235
183
275
227
256
184
154
270
225
162
249
286
276
235
220
256
159
266
240
173
280
198
220
165
241
139
279
282
211
206
228
219
288
287
231
325
238
296
218
259
191
255
185
257
242
258
175
260
153
198
209
289
198
217
274
188
280
312
234
242
225
256
154
155
202
218
236
161
275
229
242
191
178
220
217
170
201
200
225
274
286
148
284
174
180
211
155
263
221
276
254
249
219
266
273
226
147
168
225
219
156
285
261
147
236
180
142
291
210
232
281
274
194
262
225
263
240
207
204
195
215
249
226
257
151
211
220
207
197
180
237
204
196
260
178
243
233
178
145
153
161
213
186
243
269
286
239
228
236
261
196
155
195
223
247
221
209
222
202
260
214
173
126
277
236
181
204
219
160
278
189
198
207
160
198
253
197
180
181
277
211
221
151
322
130
182
228
258
160
263
287
198
255
222
275
244
274
218
257
211
258
241
227
173
300
212
146
235
228
256
250
328
114
212
168
258
167
185
243
229
196
235
254
212
272
244
201
261
172
228
185
238
246
249
294
165
152
356
221
189
283
260
199
183
159
254
177
352
240
170
197
263
196
257
278
211
308
193
283
272
283
211
268
204
328
258
214
255
190
208
258
234
294
234
288
225
246
289
215
271
224
238
151
245
213
210
180
221
153
254
148
277
173
234
208
209
227
207
208
278
284
181
237
317
234
188
159
241
223
141
238
222
277
235
261
147
236
196
301
262
220
195
207
224
244
193
170
180
232
249
265
237
271
248
184
212
314
279
128
305
265
116
195
172
241
216
234
205
223
174
210
260
258
207
271
221
217
170
290
151
224
191
191
219
254
214
220
192
210
211
185
237
224
207
248
243
246
270
222
209
276
221
208
230
282
226
250
170
195
247
199
144
219
297
157
297
268
237
318
244
201
290
222
286
277
156
202
183
198
258
260
242
206
161
232
197
146
280
222
148
232
330
261
214
254
220
272
273
196
293
186
221
248
228
193
188
331
226
246
318
312
299
234
213
164
260
200
129
168
239
218
241
165
261
218
253
173
265
160
275
261
274
272
231
260
169
279
216
269
126
169
240
180
185
206
170
170
262
213
299
300
221
166
233
217
172
256
293
219
175
205
185
210
287
221
147
195
178
316
202
298
187
190
220
252
230
288
231
323
291
204
264
217
233
217
175
288
329
286
254
181
175
170
219
236
263
246
248
200
267
219
174
194
228
280
283
201
235
248
263
208
202
235
242
209
158
234
225
227
219
221
154
193
193
157
144
240
183
246
287
338
249
199
206
244
234
287
227
286
241
339
231
246
246
198
162
226
220
200
248
203
154
157
256
273
197
181
195
195
187
174
176
246
247
258
138
283
233
245
209
179
204
168
264
235
222
233
227
152
216
246
267
198
166
291
195
227
165
254
226
198
247
312
256
259
219
226
253
244
181
326
206
251
212
325
238
137
290
324
232
243
301
145
260
211
193
194
247
250
246
223
193
207
169
171
215
239
254
215
193
239
197
159
274
235
152
217
169
249
213
286
262
344
214
207
287
171
213
215
199
182
203
263
345
236
218
148
156
239
189
243
245
292
181
157
198
253
237
258
314
242
285
202
233
164
114
256
223
242
199
238
154
144
156
316
251
193
217
158
201
187
160
243
240
222
291
245
254
288
266
199
249
181
248
191
290
170
204
219
207
167
229
215
341
160
260
269
251
281
212
189
208
283
160
202
297
209
227
241
242
221
201
158
270
230
271
270
280
156
239
176
201
114
255
230
267
233
235
266
235
245
248
166
203
230
304
213
196
222
238
241
208
265
199
234
228
203
214
251
213
231
243
250
249
204
213
215
269
199
170
239
173
244
257
221
203
213
208
201
166
201
250
201
178
243
207
257
173
176
181
220
232
176
240
207
156
206
205
130
173
269
276
238
229
284
197
228
209
255
215
227
170
283
242
232
260
274
208
249
315
178
217
311
182
305
224
297
304
299
206
195
231
160
239
241
216
199
199
301
196
209
286
188
200
266
156
255
259
250
202
151
165
193
336
178
257
226
251
139
291
234
235
268
187
301
243
158
199
218
264
156
183
283
175
227
207
219
249
263
290
159
216
280
277
178
218
211
158
285
251
197
249
238
231
224
193
260
160
257
296
246
265
222
207
174
215
291
211
191
114
184
260
278
208
273
270
231
203
259
249
250
279
206
237
229
185
284
235
173
243
279
208
255
252
282
203
340
198
276
152
224
303
300
240
159
114
264
282
267
220
258
203
129
257
243
244
180
223
201
169
267
202
161
288
266
170
212
230
139
198
275
245
232
206
244
162
178
198
238
176
254
285
195
238
213
232
288
184
175
274
254
147
126
194
288
266
203
251
202
231
186
178
179
272
173
236
303
298
334
335
174
186
241
211
210
207
170
202
258
228
246
145
278
236
139
335
253
260
202
189
362
195
286
156
176
232
257
219
289
301
145
229
261
210
181
239
278
216
220
150
199
181
244
231
190
179
256
215
169
231
202
166
250
324
312
152
185
192
253
212
228
310
246
285
204
250
205
156
271
126
258
216
207
181
160
151
202
249
231
176
207
242
250
189
173
214
224
220
240
206
181
225
239
286
237
230
196
230
235
251
212
114
268
156
270
159
233
160
180
207
241
239
208
228
244
187
126
336
201
236
189
276
200
190
270
129
235
231
114
333
205
193
234
207
260
244
196
234
246
173
259
281
291
139
200
186
178
280
216
222
266
242
254
197
222
205
227
223
156
106
263
196
197
217
239
279
238
223
228
243
208
296
260
202
187
200
172
241
311
217
188
203
258
271
231
173
197
284
220
246
251
180
193
198
247
215
154
264
264
272
251
201
129
223
195
267
212
181
229
193
231
272
245
248
147
216
173
267
181
207
211
229
210
275
224
214
274
252
263
234
258
139
143
241
268
249
200
203
191
176
258
261
242
186
195
228
188
300
165
290
221
314
244
233
175
224
196
229
195
208
291
186
166
207
167
191
210
253
210
260
253
217
189
226
182
227
232
170
166
300
194
299
172
292
197
218
171
268
198
223
246
179
257
254
208
248
289
262
284
259
254
234
261
139
241
297
321
114
277
229
227
344
174
222
262
240
241
231
181
169
246
167
184
161
174
169
228
209
188
293
172
157
250
245
212
212
225
249
232
222
241
249
210
152
268
228
264
223
203
188
233
180
279
235
211
228
214
221
198
192
226
276
215
241
210
165
114
239
156
149
197
232
168
197
231
145
260
245
256
176
222
191
188
276
242
265
222
191
156
157
250
207
161
321
276
270
246
168
216
203
249
307
236
210
233
237
214
186
156
195
222
247
234
160
297
234
227
211
253
219
200
255
203
224
184
241
257
241
209
181
230
272
212
270
238
178
245
139
337
192
154
205
207
255
219
231
220
331
238
152
246
233
240
188
218
178
204
217
166
175
201
205
284
255
186
279
271
188
195
216
218
303
219
139
181
251
219
208
193
106
201
227
189
209
185
226
240
223
108
243
257
270
180
173
240
214
196
162
194
229
242
284
227
242
178
165
265
317
227
208
158
181
192
187
199
240
306
259
252
230
225
210
197
220
227
257
230
179
215
161
164
289
245
230
228
229
214
159
244
206
220
263
306
217
213
211
173
201
223
226
217
233
176
218
159
226
286
198
275
208
191
162
233
204
243
299
238
191
247
271
242
237
211
194
272
289
178
222
264
315
168
176
234
225
184
247
219
250
223
228
160
201
191
256
263
259
227
210
283
296
207
271
192
178
267
243
247
309
188
262
168
199
237
229
244
266
285
347
170
219
200
229
235
234
255
156
285
189
291
292
178
211
230
194
195
203
114
243
239
146
238
174
298
229
285
223
178
269
215
176
297
253
201
229
200
175
308
171
183
236
225
268
283
172
256
178
187
280
216
229
310
210
201
295
209
294
247
160
252
228
156
242
211
247
213
195
215
215
300
246
223
180
203
288
201
205
230
208
196
178
226
233
126
181
146
173
212
240
213
281
180
114
263
206
206
153
180
186
190
289
286
217
289
199
183
267
234
223
240
275
205
209
205
237
236
234
228
253
274
200
181
226
250
227
165
215
224
180
201
240
218
249
207
198
232
190
245
296
274
198
252
338
297
214
244
208
172
170
234
203
276
288
240
237
170
173
339
195
155
272
226
188
268
262
178
106
225
225
192
211
247
222
221
192
197
195
298
257
206
224
148
202
233
145
288
211
215
220
258
276
206
251
200
257
265
151
251
242
228
194
114
245
272
229
165
219
181
242
178
235
204
170
248
170
324
317
198
225
236
271
203
174
264
298
184
259
209
316
291
227
203
192
246
187
254
186
190
216
204
271
244
163
180
261
296
257
203
174
169
178
224
177
202
245
198
233
234
309
175
265
242
280
246
191
133
239
194
294
174
205
264
247
221
221
170
215
161
155
208
197
202
210
261
242
246
178
236
219
234
183
210
230
199
263
203
263
185
180
192
263
221
371
215
256
233
159
178
168
224
114
261
247
231
273
256
238
139
170
243
255
221
151
245
284
224
183
205
197
222
263
245
173
197
199
255
338
204
179
268
145
258
250
276
285
224
265
180
184
311
139
218
154
207
160
219
195
303
146
258
228
346
192
229
250
183
156
242
264
250
194
285
198
181
202
257
224
235
206
290
172
178
176
326
309
221
273
218
228
114
177
231
185
151
196
185
237
200
160
168
315
240
293
267
244
244
218
223
238
230
287
212
250
288
161
228
166
237
205
220
262
230
207
238
278
207
202
244
181
207
198
206
203
229
358
159
209
236
186
223
159
316
298
214
208
204
198
231
211
213
262
264
246
192
229
222
198
213
129
381
307
171
209
270
299
286
251
239
208
202
288
173
333
256
351
285
216
253
186
198
151
251
205
228
171
210
280
182
192
230
229
253
186
243
256
178
294
114
218
175
193
214
193
226
243
240
246
238
241
198
211
201
198
213
203
194
215
237
228
238
179
229
269
214
256
237
249
177
240
165
217
174
269
219
298
250
242
282
173
259
178
246
190
231
196
177
220
238
208
218
255
255
200
288
218
203
202
283
209
317
288
188
226
220
198
256
202
247
204
114
167
247
228
216
220
201
182
169
204
269
191
180
204
287
145
199
203
252
249
274
214
209
247
225
223
204
206
260
173
239
239
219
222
188
205
312
220
253
214
178
207
242
257
257
216
262
223
205
257
209
319
163
258
208
271
258
186
225
272
262
162
244
235
188
246
197
248
211
225
223
185
164
192
240
256
219
252
263
187
145
228
322
198
148
233
177
272
245
326
194
207
189
156
186
193
280
257
188
242
186
219
260
166
289
199
222
188
160
209
262
178
225
266
284
186
200
146
237
233
153
243
154
205
179
259
185
175
192
261
235
268
251
235
207
311
294
209
158
239
207
206
253
195
213
258
240
200
178
260
235
241
219
261
226
215
247
164
224
184
306
245
234
215
122
241
164
198
180
231
253
200
288
259
177
152
251
231
166
256
152
255
213
227
220
245
206
242
282
241
250
255
178
209
232
183
169
236
165
116
160
229
195
171
167
237
210
240
246
306
186
243
267
314
252
241
219
178
192
223
242
213
198
212
246
214
230
226
192
244
216
201
298
231
152
172
189
241
254
195
239
173
208
273
219
274
209
174
182
239
265
208
287
213
272
200
225
209
211
200
254
205
308
200
210
251
325
180
200
216
238
126
230
222
203
192
231
232
205
246
192
222
259
192
214
250
310
180
246
228
267
242
255
214
195
194
221
252
171
185
185
305
193
190
234
169
171
223
247
215
227
193
265
155
190
257
249
170
294
133
332
219
255
212
215
231
232
174
221
183
279
169
234
195
193
235
223
279
225
278
191
166
236
181
212
246
244
235
266
191
232
235
181
195
231
229
253
221
269
206
204
259
284
252
225
165
212
230
292
212
240
203
244
176
332
208
266
230
262
207
240
296
309
188
279
247
191
175
266
239
236
205
242
292
252
180
284
166
226
197
185
241
181
192
250
240
238
255
180
210
277
190
257
253
254
263
214
255
229
267
191
226
213
292
246
182
242
208
279
218
228
162
235
270
205
271
224
169
180
220
323
201
157
200
166
273
225
245
259
226
240
289
240
257
256
334
231
278
259
299
209
220
273
249
286
235
201
287
248
217
339
227
225
207
151
215
216
230
260
186
206
208
188
244
228
299
126
182
292
162
114
255
198
283
270
277
238
236
268
209
154
203
235
250
267
215
231
200
114
222
243
215
247
229
253
168
198
253
281
249
271
277
161
266
230
211
228
186
264
214
198
237
207
284
183
309
236
228
189
252
284
157
237
194
212
266
180
220
183
285
175
174
137
203
169
274
170
157
235
219
207
179
191
233
187
166
247
259
191
237
206
249
259
186
252
160
252
175
216
303
181
223
199
272
208
301
238
241
219
333
233
217
246
243
248
275
165
256
191
152
242
216
222
279
251
263
246
206
253
262
206
209
262
161
188
186
262
207
244
238
164
210
232
252
203
144
233
249
191
233
257
197
177
311
178
248
239
176
190
250
203
191
195
174
173
248
367
259
201
229
247
254
192
208
142
170
221
187
168
272
309
235
237
257
346
175
271
165
207
305
189
208
279
126
211
114
200
199
233
206
162
189
275
270
252
173
238
237
165
210
234
299
261
219
197
220
267
257
166
232
150
196
253
312
284
241
271
290
196
331
255
193
180
133
215
294
170
184
274
224
281
296
274
225
209
165
193
259
208
234
297
230
263
227
209
265
264
198
231
180
178
114
201
251
106
204
146
344
310
186
269
266
185
228
213
179
250
226
258
219
236
184
223
247
221
307
192
152
281
281
315
234
223
249
295
284
284
230
212
218
200
246
213
193
309
214
253
200
191
321
194
239
275
178
168
160
165
241
268
252
228
270
177
146
234
272
210
226
295
179
263
269
218
281
176
214
256
219
296
250
212
313
114
184
182
246
248
301
279
173
205
218
234
212
250
298
237
181
262
279
267
148
269
263
297
205
197
195
229
229
208
231
173
329
245
259
250
239
235
253
137
185
198
252
213
198
269
236
238
153
215
162
272
244
210
325
257
216
252
298
246
260
240
219
266
249
206
192
204
224
227
210
243
210
192
252
217
214
287
220
195
210
208
246
212
160
216
311
210
206
211
244
260
294
284
257
211
213
272
227
200
308
234
247
170
199
225
223
173
229
272
170
166
265
260
258
268
215
198
230
192
293
207
210
222
168
228
208
155
157
236
279
259
164
311
351
250
215
156
230
229
181
244
242
241
238
258
319
178
168
259
204
229
227
238
187
192
213
222
139
227
216
272
222
204
257
269
221
277
180
196
225
156
198
202
234
309
305
220
193
291
235
226
308
221
165
281
304
243
222
253
181
237
322
196
242
302
233
126
187
203
271
242
262
176
121
192
182
195
155
248
279
288
198
201
169
235
193
219
160
231
214
230
205
198
303
325
178
258
158
196
220
252
288
220
170
165
232
191
222
245
162
204
235
231
244
306
228
257
291
183
209
246
177
308
220
211
284
235
269
242
287
203
185
220
156
220
114
195
206
239
325
262
205
242
237
208
170
290
210
203
234
239
218
258
223
227
240
216
149
201
238
228
221
280
300
298
178
229
189
206
267
297
242
219
225
240
159
198
211
237
183
271
281
219
193
207
194
339
228
281
240
172
162
201
151
285
163
202
182
217
303
235
208
231
158
354
316
206
170
210
216
220
198
247
121
180
238
251
215
176
168
214
230
258
252
223
240
197
244
241
171
219
204
192
192
280
225
241
185
165
116
264
161
255
270
229
200
229
174
184
222
287
283
197
218
285
288
255
218
180
243
286
178
168
114
224
245
198
137
224
195
173
246
234
295
177
208
251
220
184
226
114
227
218
242
210
168
209
187
286
147
208
220
144
275
232
275
228
205
248
239
219
245
133
181
194
161
277
139
226
232
229
239
218
213
175
275
261
207
236
266
278
242
177
230
213
285
198
242
194
145
261
188
236
206
272
263
253
249
261
185
223
277
170
286
235
197
185
174
215
203
225
228
192
185
234
220
268
168
255
215
218
251
228
246
222
288
285
184
240
230
314
217
280
268
192
180
242
205
232
238
235
300
195
238
236
257
160
210
256
218
108
255
199
211
214
233
257
155
182
255
251
270
158
323
272
273
204
243
221
246
225
293
152
205
220
208
237
234
161
240
184
259
267
250
279
256
190
287
219
236
198
213
260
242
242
253
172
173
254
238
211
195
205
228
277
276
181
208
211
289
265
207
192
270
294
200
243
198
204
151
331
211
192
184
146
180
262
114
239
148
289
233
294
191
209
176
216
250
233
165
246
241
251
233
358
233
221
129
204
145
298
247
250
250
210
181
170
327
233
292
189
149
272
231
227
177
192
215
237
257
190
234
184
256
179
220
159
181
185
206
149
223
149
265
215
239
176
176
215
241
166
241
282
281
256
271
213
207
183
246
168
241
192
252
176
180
191
157
230
232
240
296
159
166
297
281
166
141
208
247
252
306
248
209
231
241
289
207
277
259
181
262
299
214
128
165
181
154
193
192
213
227
221
183
241
142
176
114
168
227
250
196
217
286
195
274
215
183
177
221
273
126
261
297
240
254
126
268
166
208
141
187
259
260
139
152
187
203
195
233
266
260
218
292
277
203
233
285
262
235
196
185
209
198
193
165
170
214
207
203
227
229
320
186
250
186
283
328
194
215
296
246
232
198
176
247
297
182
283
252
245
295
265
212
251
277
264
302
149
198
272
222
274
239
224
263
254
198
270
222
215
215
248
228
161
156
261
222
295
215
227
156
256
243
237
173
200
195
175
228
287
274
239
193
174
197
160
170
206
194
237
172
308
262
222
287
206
181
279
274
196
206
290
239
261
198
156
214
236
227
246
185
204
198
218
144
200
235
267
246
236
220
239
214
235
234
194
174
286
173
340
257
195
222
216
206
188
165
219
213
275
203
259
288
222
181
184
182
191
238
233
272
178
193
248
249
203
331
202
245
121
221
231
260
259
192
221
247
202
184
178
183
179
248
212
254
293
214
235
276
333
307
158
114
284
256
276
253
193
173
197
198
227
195
293
238
269
220
336
151
250
256
229
313
196
252
267
202
241
215
175
201
214
293
221
223
232
279
263
251
236
299
287
253
241
190
156
223
227
218
200
191
251
251
116
192
333
166
235
236
218
282
168
223
191
265
247
214
184
282
267
214
178
139
261
212
148
208
174
264
187
180
248
225
223
258
220
307
195
133
197
165
224
250
213
174
226
228
146
297
253
201
306
208
241
255
206
182
154
269
236
249
276
229
191
314
258
231
295
157
175
160
265
252
223
298
273
200
263
191
229
199
167
209
196
255
160
170
221
240
223
209
271
231
238
246
166
170
278
153
232
247
160
282
198
147
262
238
336
218
255
236
281
262
198
230
285
246
267
187
333
257
286
240
185
299
241
328
302
271
144
260
352
254
310
195
196
229
227
300
231
290
240
259
234
244
305
170
196
147
218
240
257
233
225
261
190
232
253
204
133
173
234
247
213
254
229
284
181
168
255
248
224
216
225
171
206
202
170
179
295
241
208
310
196
250
198
212
219
262
226
178
193
195
214
230
230
209
168
245
202
225
230
192
200
271
252
213
197
206
223
237
303
191
300
218
188
283
310
238
177
175
256
162
222
289
284
201
261
222
263
164
165
254
296
202
250
173
184
226
312
178
290
327
205
261
240
193
297
173
219
239
222
229
188
126
295
175
248
286
235
254
239
308
200
147
215
187
292
223
153
249
263
209
208
214
187
169
285
281
214
234
180
255
235
310
171
227
252
250
277
268
238
185
190
199
240
173
278
187
234
252
219
252
272
158
255
188
250
234
177
284
136
179
198
264
228
303
292
189
250
197
276
212
268
212
139
260
153
215
173
203
206
145
151
217
222
265
206
200
288
249
156
313
164
203
299
284
175
249
151
165
236
203
275
170
144
162
278
184
197
224
189
249
145
235
154
310
195
293
222
218
145
331
234
256
227
199
232
195
229
267
177
246
283
188
197
265
177
191
286
253
170
220
245
149
284
185
186
266
262
237
251
294
270
262
265
297
197
224
296
220
280
231
234
306
257
203
209
224
227
267
158
286
162
256
245
225
198
230
158
208
274
191
195
292
212
250
170
264
201
221
225
195
208
264
273
201
333
279
249
160
257
271
162
170
209
290
201
256
204
257
221
197
303
267
294
253
169
259
172
181
173
308
173
229
249
179
209
175
287
248
263
190
214
156
212
196
246
231
231
185
273
311
254
249
170
297
203
329
206
231
234
240
249
208
199
178
247
245
218
250
202
213
206
200
258
145
297
207
198
242
319
226
254
220
227
164
195
184
214
114
240
274
251
286
195
249
180
278
259
244
160
231
164
167
207
287
252
160
233
162
293
244
198
212
174
265
149
203
207
165
178
252
237
162
159
300
152
237
246
213
204
175
248
218
208
175
158
219
218
216
161
179
214
203
222
148
211
181
290
284
219
206
302
196
205
275
196
259
163
246
185
282
269
242
192
250
236
297
114
213
170
261
221
166
236
185
203
286
228
192
226
184
178
280
244
212
182
278
194
202
238
223
203
328
357
187
240
235
249
275
252
231
239
212
241
246
166
273
211
114
270
214
321
281
224
208
212
201
215
211
146
298
268
196
181
332
218
204
252
272
200
178
161
186
269
139
239
234
249
222
253
248
227
286
336
214
158
210
215
252
203
244
244
162
294
221
248
227
282
267
220
233
165
214
114
259
169
190
218
211
234
312
220
247
312
206
272
278
163
231
217
204
199
220
177
207
224
287
294
188
212
238
252
277
246
260
198
126
225
233
262
157
194
259
229
268
190
204
167
247
238
152
210
149
225
218
173
232
297
197
234
322
227
207
199
220
173
224
114
237
186
191
222
284
236
269
214
174
226
274
273
301
237
130
249
229
226
249
200
203
270
218
293
114
182
234
243
261
183
174
215
218
158
225
225
139
173
243
198
187
190
258
215
203
243
205
257
219
121
216
172
176
320
306
266
205
178
199
249
180
228
287
291
266
188
226
305
263
234
255
234
200
152
171
230
238
252
186
258
234
220
145
238
218
251
195
178
243
160
158
170
193
229
227
242
216
226
183
248
306
248
236
312
286
353
191
279
237
251
199
194
228
211
213
222
191
262
219
196
204
177
221
279
214
248
308
180
191
220
219
198
252
218
253
229
181
225
195
346
234
231
189
198
242
294
216
210
168
271
192
306
218
185
220
235
204
228
191
268
260
233
287
200
192
179
277
184
296
277
197
200
286
253
241
277
253
215
290
288
183
209
267
191
263
304
210
281
193
312
232
203
198
144
274
236
165
248
251
328
244
235
292
166
270
213
190
215
264
254
212
206
244
314
292
224
178
256
191
211
196
270
267
199
242
274
270
230
193
169
248
266
234
207
152
265
244
290
264
240
201
268
240
177
238
215
195
221
200
225
166
156
164
218
192
211
238
301
210
234
179
205
295
192
241
225
250
187
261
175
181
166
283
194
210
258
239
180
226
257
233
161
283
225
303
157
129
144
195
295
251
261
245
185
232
296
181
176
250
229
250
181
248
230
250
299
252
139
296
222
287
192
182
244
184
268
251
276
228
225
152
234
144
198
247
295
244
241
177
176
228
226
256
229
143
271
229
233
156
200
263
265
280
251
237
264
196
168
236
199
243
114
231
224
195
274
259
249
154
141
283
228
229
225
223
192
263
201
168
156
232
210
296
267
191
221
229
207
185
247
178
190
211
209
248
206
232
193
184
205
257
244
285
212
235
209
207
253
162
211
206
185
288
259
231
202
219
382
219
228
175
335
224
343
245
193
213
226
207
230
168
211
223
250
188
246
270
237
198
259
207
218
208
321
218
256
245
169
168
211
245
237
283
334
285
139
243
200
192
126
260
144
205
203
305
253
167
269
240
285
243
237
234
283
157
218
222
217
293
198
205
221
276
169
260
227
284
306
192
232
356
224
222
190
235
173
189
181
174
233
261
231
114
269
195
245
215
222
267
207
158
304
208
225
189
208
183
251
192
197
221
240
152
263
267
171
270
219
293
230
220
173
114
321
204
207
236
215
240
253
265
277
278
181
250
256
291
370
291
250
144
262
170
198
215
286
240
257
174
171
229
258
245
220
224
195
182
343
173
226
316
255
129
209
256
175
196
174
274
250
180
261
231
174
202
114
207
196
216
158
255
197
232
206
255
272
352
180
165
293
232
303
223
207
295
202
173
207
192
274
163
195
288
260
274
181
209
304
196
266
114
272
261
226
174
279
197
181
295
232
234
215
155
246
171
270
187
208
170
216
242
242
230
208
265
263
201
244
328
312
242
208
204
169
240
213
264
198
126
198
208
203
191
216
294
218
263
230
194
239
340
257
239
218
227
257
261
160
167
310
185
205
170
198
189
174
137
309
259
171
266
202
227
280
154
374
269
287
198
201
114
173
237
296
179
268
216
234
235
173
240
208
229
244
224
243
242
262
271
285
215
192
285
215
175
218
237
263
295
242
260
335
175
181
241
231
223
200
208
198
315
245
198
114
255
168
229
198
235
266
197
238
239
239
257
255
224
226
201
184
206
211
193
255
261
246
217
154
165
353
201
225
220
317
215
196
297
245
284
239
216
248
246
160
194
261
233
281
205
186
242
254
237
236
203
158
170
206
228
179
173
185
273
200
218
223
292
114
221
206
247
238
282
221
225
330
276
215
270
170
221
298
189
225
239
308
263
144
290
275
187
254
226
193
301
188
187
238
262
176
222
215
301
287
214
209
268
175
252
174
247
206
126
229
253
225
219
193
230
260
219
222
276
249
232
210
146
271
181
245
234
315
184
256
200
249
245
181
284
241
179
232
175
301
181
156
152
262
224
272
186
356
197
286
173
261
189
223
207
221
197
229
269
252
227
192
250
153
302
296
254
194
266
192
156
217
263
281
246
195
137
214
225
194
188
286
158
218
201
253
319
170
260
148
263
214
341
241
296
266
309
223
232
219
303
212
216
207
201
266
217
170
286
121
255
204
264
249
174
219
193
200
229
231
181
221
182
222
244
213
184
304
188
298
252
285
281
170
196
254
301
201
222
191
238
280
207
193
193
207
214
183
197
318
178
207
328
152
182
276
202
265
114
231
116
238
276
209
180
333
202
178
202
212
227
161
211
276
257
235
262
242
203
260
222
139
201
188
207
267
146
139
239
294
203
249
126
283
226
210
236
242
286
270
263
211
176
166
276
186
209
156
237
159
198
140
200
253
240
237
284
265
325
229
238
187
175
239
157
262
126
230
260
231
240
218
277
183
268
189
114
225
174
200
207
232
255
254
247
215
231
220
214
217
214
166
234
170
170
239
250
256
257
250
238
253
161
269
347
235
210
243
178
220
286
232
235
186
156
176
227
213
254
163
284
126
196
224
289
282
180
235
152
192
263
218
311
186
266
219
245
277
188
225
263
276
221
201
259
248
311
198
243
217
180
170
139
208
233
324
262
140
229
181
239
159
145
260
323
212
196
201
222
146
236
241
255
187
192
210
258
220
203
191
213
328
185
192
269
208
242
264
175
313
182
295
327
231
208
238
185
172
196
252
254
180
213
171
252
181
223
209
228
221
281
218
228
197
253
250
152
152
266
205
277
205
202
219
197
166
273
308
193
126
238
229
240
206
247
266
210
262
245
278
178
193
256
314
163
209
229
219
194
243
178
244
211
182
178
130
175
139
239
180
295
162
170
227
302
337
179
209
184
234
213
160
198
227
256
212
198
180
195
195
296
156
280
185
203
236
234
306
177
149
148
266
243
171
239
227
242
293
289
253
284
202
219
194
265
222
152
206
191
154
288
241
225
219
252
273
114
171
204
226
157
252
160
311
256
225
159
171
170
344
200
250
232
303
249
277
242
184
152
175
114
208
212
284
228
298
232
178
220
201
216
253
169
178
245
286
203
190
228
216
179
187
232
225
190
204
130
216
247
245
228
235
219
216
213
296
163
248
179
164
238
200
222
211
248
188
228
249
217
242
270
193
156
219
178
238
280
156
202
256
225
187
135
203
247
280
215
272
180
191
223
260
187
173
215
126
241
233
221
291
240
134
209
215
271
179
227
201
253
228
212
207
187
229
256
197
157
180
245
285
242
262
257
201
168
227
185
232
234
222
202
240
222
264
209
191
212
235
266
197
183
227
174
262
211
175
246
215
221
203
215
175
203
221
259
205
200
217
271
243
167
191
244
185
192
178
191
184
226
215
254
232
203
180
266
209
293
178
211
156
154
231
279
196
226
252
216
199
288
181
195
280
194
295
225
247
237
114
114
303
139
239
220
181
166
236
170
229
207
227
209
269
257
198
195
235
180
158
249
230
193
254
207
200
168
243
261
276
241
179
159
224
289
198
201
219
161
156
213
303
211
183
270
198
203
183
199
253
269
254
185
194
219
264
263
140
195
222
255
245
187
242
215
252
247
201
272
252
183
262
212
178
197
151
267
252
270
246
264
315
240
241
205
272
139
252
195
250
201
175
198
174
218
257
179
209
282
217
170
220
158
258
179
214
180
195
243
189
232
201
233
192
238
225
207
220
218
263
232
108
170
259
258
241
230
258
129
226
242
164
252
126
243
222
155
198
324
281
251
255
206
216
248
236
219
197
229
237
244
193
171
280
164
193
276
271
214
216
190
220
174
178
187
249
263
170
222
243
275
303
329
257
215
213
282
217
335
238
204
178
177
182
181
161
205
188
256
129
286
213
227
215
309
289
164
276
244
188
182
198
207
223
160
182
304
268
210
243
181
211
160
212
285
247
198
240
218
208
231
255
194
174
259
184
220
241
216
210
186
170
213
157
255
240
285
194
199
211
178
195
206
116
178
225
225
300
217
129
185
273
204
238
313
262
269
273
309
177
325
239
243
155
183
162
261
275
242
167
237
239
204
306
224
238
219
227
170
273
246
325
152
211
244
254
195
175
229
210
169
175
274
248
291
197
222
184
194
250
286
191
194
280
231
242
229
174
205
251
246
114
164
312
204
263
254
250
172
188
301
214
184
158
215
361
257
194
139
220
228
161
198
237
198
192
174
261
218
210
296
245
295
225
307
230
165
303
187
196
236
243
190
190
241
183
260
231
235
179
258
184
230
226
228
151
175
257
194
190
199
201
236
168
263
269
151
268
270
220
229
313
202
183
238
171
225
229
206
260
162
241
240
190
204
244
242
200
209
198
243
280
199
235
221
157
201
156
259
268
249
257
298
191
232
212
228
186
245
178
282
180
241
198
187
202
190
214
198
293
213
225
210
170
209
209
293
225
231
291
258
172
192
168
237
252
205
266
224
256
282
180
165
311
315
253
273
189
271
195
274
254
274
211
223
269
214
207
196
211
201
306
230
213
163
251
170
203
278
246
222
144
255
238
209
215
198
227
209
203
200
239
314
221
212
226
281
144
264
248
207
181
219
228
243
199
234
240
232
223
279
183
251
214
241
114
324
192
206
239
222
234
224
213
153
211
256
146
254
226
207
219
221
297
209
160
199
296
182
207
228
195
279
257
218
165
198
245
227
248
260
143
184
237
274
192
234
192
253
208
245
226
177
173
209
251
267
214
165
198
203
258
202
170
260
207
167
211
222
216
242
222
214
296
278
227
169
213
146
227
295
209
202
204
239
174
282
260
171
158
171
179
257
258
280
201
259
217
184
215
178
221
167
129
201
266
194
190
232
186
203
166
198
177
231
195
257
268
213
263
201
184
157
222
254
246
269
250
297
214
221
214
297
224
213
195
172
188
275
187
241
243
297
207
193
114
215
207
195
203
191
259
250
250
226
282
177
246
189
212
208
248
246
192
264
194
233
276
289
222
126
184
235
170
202
168
268
296
240
243
232
196
156
180
199
263
244
180
288
204
241
235
259
231
152
288
288
292
176
189
211
273
157
188
193
166
214
213
208
269
256
198
237
241
279
198
217
209
272
196
218
165
256
173
214
181
181
251
144
303
166
252
160
139
276
201
258
226
229
156
184
236
226
213
198
257
293
217
232
196
264
152
309
205
263
256
234
178
262
237
220
182
379
262
234
253
238
212
226
213
251
205
192
169
257
191
173
114
250
239
200
267
194
223
194
152
342
218
250
249
220
160
251
160
275
170
340
308
158
126
191
151
187
252
222
225
266
160
240
227
273
215
208
194
199
240
206
275
139
196
217
201
283
202
226
247
275
186
219
247
188
228
217
299
247
239
181
192
208
219
227
209
288
256
243
214
202
156
213
238
200
178
168
184
167
260
207
241
194
146
245
256
234
264
200
201
232
228
241
198
226
255
192
279
227
241
139
230
185
198
254
198
275
238
308
220
215
199
220
210
226
259
283
258
210
280
262
280
230
213
208
252
183
250
181
205
208
200
263
261
171
171
254
209
249
192
255
221
138
195
161
234
262
191
170
262
168
214
257
237
242
215
207
174
208
205
221
281
210
268
217
257
179
269
225
237
178
245
239
234
182
268
264
191
201
248
257
176
251
214
248
137
284
211
139
184
226
245
260
273
211
266
225
283
201
283
256
198
195
231
187
342
198
267
317
276
226
255
206
146
265
305
279
256
291
235
251
227
233
306
225
283
236
175
247
242
202
185
218
289
158
288
152
239
139
300
191
288
225
184
228
337
241
203
294
181
247
283
278
249
152
278
269
253
242
229
139
166
236
181
231
183
261
263
192
156
166
246
261
298
233
206
221
205
217
186
245
284
226
256
266
194
279
181
236
181
187
218
268
244
223
195
166
212
197
207
208
234
209
327
215
324
220
232
180
205
193
184
139
239
203
230
167
180
251
160
195
246
306
218
222
160
199
265
181
217
240
198
220
205
209
175
106
170
213
198
245
217
256
147
231
292
273
275
198
190
182
223
317
250
207
252
254
213
262
204
235
220
208
287
263
220
219
246
312
337
260
193
193
218
174
157
263
305
175
164
209
230
293
189
237
269
266
221
180
183
212
178
178
232
233
261
191
210
203
211
275
189
250
205
252
205
116
252
186
209
232
220
296
279
178
232
234
197
256
180
315
203
178
181
197
154
240
206
227
279
238
192
203
234
265
270
294
247
265
214
260
188
223
255
129
169
204
276
274
233
201
176
273
150
229
157
267
190
214
205
184
206
216
186
192
156
295
235
307
183
263
205
242
264
279
175
243
211
151
225
179
248
330
209
273
249
194
215
247
233
200
260
174
262
270
180
176
360
185
342
152
218
220
173
238
264
182
207
233
221
225
223
186
259
265
265
268
178
198
206
194
183
160
232
214
196
158
126
204
202
197
254
283
243
195
211
222
246
170
280
281
253
215
258
181
258
233
311
213
305
261
231
304
243
253
290
224
246
264
195
247
193
256
215
262
200
198
194
248
218
275
152
298
159
322
228
259
253
193
316
229
164
234
376
170
175
247
246
272
271
240
269
290
246
308
219
192
239
171
240
291
253
180
199
175
126
325
212
178
211
273
219
174
184
250
293
315
244
270
235
223
221
161
317
114
188
209
239
203
223
264
254
184
249
251
178
251
186
247
242
231
160
204
172
256
279
344
217
184
234
208
224
339
254
231
244
239
214
237
224
258
273
240
170
267
214
170
264
233
208
221
243
160
174
184
167
175
232
221
209
255
272
269
211
279
213
225
235
179
211
171
225
196
198
293
270
205
183
188
225
215
185
158
253
209
190
233
258
321
183
248
144
243
160
212
233
175
270
245
160
192
316
246
180
218
262
241
273
253
299
219
215
228
222
236
154
230
169
200
260
237
193
114
192
213
224
226
265
215
139
225
171
167
186
176
255
181
288
190
230
179
271
207
208
229
327
315
262
178
227
241
166
221
230
194
296
209
239
155
234
275
243
269
283
307
241
181
218
170
273
252
170
164
290
229
199
264
222
245
231
178
247
192
241
239
216
242
199
215
139
261
217
178
221
233
207
178
294
180
199
225
270
222
229
234
223
202
255
151
218
166
258
223
226
198
299
184
266
225
270
188
144
210
313
279
229
285
175
274
160
130
178
235
236
234
209
269
240
220
256
160
242
116
255
223
266
250
261
218
259
265
189
266
214
215
284
164
215
146
259
191
181
202
208
188
266
274
229
195
272
220
270
261
213
194
214
237
219
212
173
203
274
276
238
307
248
328
246
197
207
262
285
162
255
188
307
199
237
145
220
220
251
224
206
206
293
206
246
197
184
227
249
354
198
203
240
264
235
185
161
233
263
179
171
160
283
262
193
219
204
170
276
249
114
335
207
204
253
227
249
206
226
178
288
237
228
231
139
234
184
301
255
244
211
252
214
214
232
274
249
197
222
197
170
245
230
219
213
211
188
198
295
218
250
266
248
200
256
161
318
171
170
255
209
261
179
235
246
217
161
237
183
192
260
186
235
274
301
235
180
257
156
249
239
223
174
263
178
232
220
287
295
268
226
249
149
238
180
269
193
257
229
266
187
204
296
250
263
206
221
129
239
253
209
212
183
243
195
212
194
246
194
256
274
183
269
176
284
232
250
310
312
184
256
212
190
258
215
189
199
156
252
176
278
217
187
224
287
199
315
230
218
221
161
199
192
310
178
215
242
249
203
165
258
216
220
170
253
264
278
269
313
316
232
275
263
161
240
233
215
259
273
251
275
300
235
171
228
190
211
218
144
280
156
256
271
183
191
244
242
263
156
242
206
232
169
168
310
229
248
269
235
266
248
297
310
238
228
206
193
216
195
269
250
217
155
277
221
231
196
175
227
233
177
259
171
221
219
233
290
359
227
169
272
263
260
255
188
212
213
247
283
260
234
221
240
191
183
246
234
294
246
201
242
212
203
268
249
249
263
258
200
260
308
160
219
184
116
259
264
227
164
199
244
226
205
209
224
267
218
218
161
229
244
294
334
345
226
207
170
129
202
251
337
222
211
208
244
233
236
108
189
265
208
247
237
210
226
199
263
185
222
156
178
258
253
166
258
295
263
225
218
220
249
174
301
278
271
287
231
251
288
211
207
246
192
139
264
208
216
166
268
184
222
114
194
188
265
158
165
224
276
325
277
231
241
281
287
178
252
289
247
253
233
161
245
178
167
114
287
181
167
209
173
202
254
268
312
272
263
221
225
106
305
154
256
325
194
191
263
191
181
180
160
231
258
353
146
198
198
223
222
208
183
240
172
200
217
196
338
142
237
170
258
194
206
154
188
301
160
223
262
256
184
280
232
241
221
165
230
160
228
232
229
172
213
217
223
233
160
172
152
239
237
297
314
227
139
148
263
235
122
235
153
220
114
279
243
277
212
288
232
254
170
214
279
181
193
280
204
276
222
282
171
198
209
184
236
246
253
175
288
230
168
234
238
278
152
220
231
260
182
265
185
239
210
333
206
224
248
208
212
158
152
173
215
197
241
196
223
247
206
209
254
148
221
283
311
266
188
233
222
225
160
212
214
241
215
233
233
143
239
191
144
197
227
274
202
196
207
233
260
211
195
177
342
158
271
173
233
227
204
156
194
248
197
189
235
200
114
175
253
231
249
256
195
270
243
169
211
200
198
224
193
249
255
214
170
190
204
214
213
114
171
245
168
155
245
193
252
212
208
190
237
208
244
309
244
197
258
279
239
260
151
234
229
152
171
225
176
247
208
222
162
259
311
190
265
175
169
186
205
174
283
203
184
144
160
204
195
206
175
242
244
277
227
277
175
197
245
159
216
189
273
251
297
227
192
276
156
184
234
153
291
244
194
189
223
229
291
166
233
258
214
158
293
209
246
160
279
265
291
194
211
254
243
243
200
154
227
238
287
270
220
174
233
229
258
251
263
306
219
173
157
249
278
238
185
290
210
281
224
201
259
234
173
233
327
216
144
245
290
218
202
214
188
190
265
292
231
218
265
227
253
239
220
231
174
241
307
184
225
313
228
274
247
229
158
195
176
249
223
243
241
294
237
148
193
252
287
203
321
168
209
288
177
273
128
175
212
243
203
162
242
192
228
316
230
249
173
181
327
194
217
240
247
309
226
206
210
220
194
217
160
169
159
151
324
228
220
193
269
144
283
302
220
139
187
254
203
272
229
174
231
168
240
261
209
193
301
231
227
227
246
240
235
184
268
315
214
291
216
219
159
182
196
223
310
170
252
126
108
237
209
198
114
281
181
204
195
225
231
209
217
198
232
339
213
190
220
245
178
244
287
175
213
279
241
206
228
301
202
280
219
255
197
235
183
213
229
268
148
243
262
251
154
160
212
198
249
262
184
217
170
259
235
195
356
210
234
139
260
200
263
163
177
252
354
114
258
227
287
173
346
289
175
206
214
179
248
248
257
217
191
232
251
243
174
238
194
251
270
298
133
218
171
182
148
210
365
326
246
268
220
178
252
156
287
172
239
225
218
200
185
161
301
257
274
218
294
250
223
207
251
157
312
240
272
255
204
270
243
230
279
231
237
256
324
214
178
181
252
201
153
228
268
169
238
236
192
269
218
205
298
187
333
181
265
174
209
241
201
279
180
212
223
217
218
243
180
265
242
212
214
313
275
184
275
286
214
215
166
256
206
166
229
211
190
254
185
252
173
208
165
255
236
247
253
181
188
236
242
190
207
200
276
279
268
223
221
230
231
158
337
230
263
242
249
244
232
236
247
201
151
114
198
301
241
215
225
178
227
183
256
263
191
258
182
184
272
114
277
351
192
174
165
183
222
244
216
224
267
183
155
192
252
292
231
186
283
254
206
190
211
198
178
263
235
189
217
296
114
235
275
260
276
262
276
190
222
176
218
262
240
249
222
287
177
306
333
314
198
219
192
212
121
228
235
238
209
199
249
196
258
203
195
152
233
106
210
195
193
229
198
249
184
282
280
265
255
209
206
193
155
198
237
293
274
215
238
171
126
231
248
217
196
126
181
197
151
240
202
254
234
252
185
178
223
212
228
213
239
227
203
208
273
203
260
182
259
250
243
233
166
178
181
205
300
239
171
245
234
156
188
257
303
233
213
194
280
202
211
275
212
114
260
239
202
219
220
243
252
199
231
311
219
169
247
169
206
306
242
240
205
266
194
220
218
185
211
271
232
238
298
209
305
114
221
267
251
178
181
180
298
221
246
167
181
266
238
267
275
263
263
292
246
202
181
234
252
190
198
277
240
249
200
215
226
242
167
233
284
220
106
235
251
238
219
206
257
181
257
239
254
299
216
238
201
245
241
199
215
260
225
180
322
217
281
225
248
190
204
221
254
121
247
249
296
176
241
213
228
250
194
261
192
214
174
170
266
225
218
196
250
203
229
242
235
213
228
209
202
260
246
191
208
208
217
186
225
292
159
331
197
242
183
168
269
248
254
198
221
180
252
192
212
294
190
275
256
210
317
236
256
209
249
268
193
205
233
274
242
234
178
154
243
144
233
276
198
302
197
151
211
193
227
214
258
235
175
228
214
201
260
259
219
235
160
273
218
237
233
214
184
206
233
185
134
250
196
209
249
286
304
298
219
199
198
176
159
160
152
248
256
235
276
208
188
211
252
265
179
274
176
232
126
188
206
273
219
200
284
332
231
237
294
139
214
223
280
248
208
298
230
228
248
213
196
174
160
273
215
160
251
256
299
218
213
205
247
222
176
195
220
241
170
187
241
216
265
174
244
226
234
203
201
180
256
183
158
235
169
156
167
213
161
220
246
210
297
144
210
152
243
277
204
263
190
181
170
275
181
242
191
178
351
233
231
149
285
195
205
245
281
250
237
284
192
202
214
202
183
180
250
279
265
180
179
299
160
183
175
177
259
231
231
251
293
260
214
220
202
245
155
289
260
207
273
238
220
255
321
209
259
114
320
250
142
207
185
296
185
253
265
262
162
196
279
315
234
236
186
198
236
182
224
274
156
214
244
217
217
286
169
238
187
147
218
265
219
277
253
192
261
202
207
170
149
230
236
201
225
224
296
216
220
181
247
183
242
277
199
252
335
162
279
329
235
221
191
224
226
261
194
291
222
225
237
225
144
212
198
203
223
268
247
288
114
235
266
187
156
304
250
276
164
196
170
258
180
273
225
299
273
244
234
185
313
218
230
178
308
243
161
181
241
208
225
209
169
220
159
203
257
220
189
139
212
114
265
206
199
192
192
183
295
247
114
234
246
232
260
267
229
248
339
251
262
241
231
228
225
154
167
161
251
247
248
245
233
182
185
207
245
126
221
297
300
327
270
237
221
237
280
214
202
252
253
252
197
342
244
231
207
212
206
222
209
191
181
257
194
214
175
313
263
197
283
207
228
196
264
165
208
189
338
233
210
166
192
252
238
158
178
206
207
237
210
175
240
203
200
174
242
191
250
208
194
229
214
303
246
213
229
253
237
250
218
231
197
263
295
214
238
266
244
215
304
189
232
244
223
219
212
170
171
208
236
216
220
239
208
273
197
221
183
248
270
195
275
232
250
248
181
242
209
189
241
239
253
237
243
247
210
228
251
203
182
258
114
284
224
149
247
174
221
261
258
271
233
315
210
145
333
234
304
163
215
211
183
301
245
226
220
208
217
222
238
251
262
284
173
230
114
286
216
218
205
250
246
263
219
259
170
170
254
240
175
284
220
237
179
241
188
189
229
281
158
216
202
271
260
188
232
319
158
176
349
271
116
323
194
222
248
183
249
242
228
121
191
256
190
205
194
229
238
253
170
177
204
216
227
260
221
213
248
258
228
161
273
214
190
129
199
196
247
301
232
225
317
262
292
232
305
181
258
283
144
114
169
236
157
218
189
302
170
326
277
173
223
233
262
222
239
200
229
181
203
178
284
183
213
198
193
156
201
229
221
219
173
256
191
271
237
272
178
170
256
174
219
139
229
254
232
235
197
206
263
191
220
242
239
207
279
190
242
285
251
166
241
177
253
286
196
299
199
310
223
313
163
196
152
175
176
180
230
241
244
320
169
269
273
255
240
229
232
182
159
223
168
231
278
190
305
242
180
264
226
227
282
189
234
222
217
235
264
230
204
281
121
261
276
281
301
234
317
198
216
247
222
216
279
157
231
249
284
146
169
174
292
233
182
214
232
191
204
148
255
216
225
197
193
267
224
220
198
193
246
217
116
207
108
197
255
280
241
191
168
133
243
253
163
198
259
268
175
264
230
252
288
149
116
209
277
256
234
295
289
243
214
158
277
242
233
249
198
276
261
204
291
198
254
179
303
194
240
186
154
170
248
272
186
207
317
236
279
266
165
173
242
240
265
225
187
214
174
169
165
211
242
278
199
231
277
183
178
225
251
285
151
194
229
232
203
222
233
208
212
195
116
245
216
193
277
275
196
168
268
331
259
229
244
239
231
305
231
221
255
284
283
290
299
303
254
266
193
263
207
252
307
250
228
170
158
225
195
170
229
175
238
217
226
238
268
237
246
261
208
276
191
225
265
236
260
233
225
288
240
199
310
203
139
175
218
237
268
144
206
235
180
232
250
231
189
183
216
259
200
195
192
233
269
214
236
251
192
202
231
243
356
203
323
171
229
167
325
241
233
328
197
221
225
280
194
249
223
315
248
237
181
237
286
230
248
213
201
218
246
258
241
181
285
246
188
267
304
211
235
328
289
266
234
181
266
235
247
221
181
173
240
234
287
181
211
178
296
183
244
265
218
202
202
205
257
190
283
281
225
228
175
296
181
166
272
174
147
308
214
213
260
251
178
232
173
151
277
186
287
228
267
205
233
170
246
249
221
219
232
213
205
186
214
180
268
231
161
195
301
196
232
243
275
164
145
272
210
274
200
245
182
236
182
231
238
151
215
247
218
209
241
271
208
245
244
276
178
241
241
244
250
265
237
195
251
182
168
252
232
233
170
246
252
174
194
248
309
186
355
228
260
160
181
228
270
283
222
239
172
217
295
270
261
227
204
255
215
271
186
212
205
248
339
272
196
284
300
215
211
148
184
161
228
262
262
252
242
273
200
246
192
194
270
251
198
228
190
175
258
218
246
316
158
230
252
227
234
175
261
256
272
263
170
227
243
192
160
183
225
285
188
225
254
190
217
200
121
221
252
249
253
261
213
193
221
225
225
241
253
188
273
193
171
179
343
225
175
248
280
229
187
212
174
194
293
204
196
284
213
244
295
290
290
169
215
167
216
152
214
223
221
209
210
184
271
196
206
188
208
209
171
228
266
211
162
179
217
240
229
226
299
170
228
286
213
209
182
199
137
162
314
229
161
256
204
243
189
172
165
190
297
165
165
194
211
158
263
255
256
209
244
300
178
220
174
247
166
158
234
141
199
198
254
250
235
215
206
274
238
226
235
204
246
212
223
200
241
187
253
258
282
264
223
242
230
257
195
190
244
150
305
214
299
224
170
244
192
160
243
267
170
198
174
208
218
220
190
199
287
248
255
186
245
208
351
203
126
281
195
208
229
114
257
214
247
307
136
270
197
230
233
293
249
198
244
277
230
198
168
292
198
273
214
237
258
291
215
243
139
170
233
208
206
219
268
211
224
209
214
220
214
184
189
236
179
173
179
236
145
267
252
234
301
261
251
209
248
251
204
256
218
220
200
255
194
214
256
162
218
178
264
187
219
288
218
266
180
207
257
251
238
278
205
208
216
202
200
196
229
126
245
253
242
306
193
202
233
263
218
261
186
266
156
227
296
289
215
219
260
220
195
256
173
319
184
231
208
126
205
228
241
244
205
170
162
205
252
241
245
237
192
216
235
227
254
188
192
169
195
222
257
219
281
260
237
184
253
188
205
294
302
173
267
181
201
227
267
211
254
182
300
196
245
269
230
258
156
233
239
232
280
232
213
283
207
205
152
213
229
245
219
298
241
247
233
190
161
218
301
263
217
296
241
238
198
156
294
174
211
270
204
299
271
251
184
189
188
225
183
214
226
208
218
186
178
198
138
250
203
231
198
260
209
239
203
193
260
263
198
170
187
209
259
269
199
198
207
225
233
264
189
128
300
222
242
114
204
232
225
216
251
247
219
231
279
236
276
213
265
254
203
179
243
182
250
273
268
208
230
207
219
200
225
197
223
301
260
270
151
266
229
146
174
188
353
202
251
250
262
361
226
164
205
302
204
236
295
198
300
278
189
247
269
183
186
217
299
233
193
288
164
304
174
161
114
198
260
201
231
230
228
232
264
303
249
171
203
301
217
235
179
291
197
274
269
235
217
234
245
238
223
220
147
154
278
196
256
188
160
258
278
227
255
208
248
185
180
211
278
160
286
182
181
281
264
264
219
230
263
223
252
204
243
158
243
301
173
208
233
229
232
228
199
208
126
209
250
342
177
248
187
230
259
139
184
225
287
177
235
222
209
220
176
244
282
184
231
232
264
214
221
275
226
267
255
208
225
316
262
139
236
207
246
203
171
291
176
189
273
246
178
281
239
229
245
226
174
213
209
222
192
192
207
323
256
245
238
231
234
160
217
181
269
160
197
213
204
114
175
196
265
190
284
164
185
227
240
237
241
232
207
264
199
221
262
293
325
198
270
152
336
241
256
246
198
209
282
240
227
211
192
252
182
174
170
197
165
235
265
185
306
262
220
258
249
181
277
198
165
254
220
191
195
242
130
197
290
233
223
278
135
196
240
170
276
192
184
238
193
271
183
170
255
114
317
181
259
200
165
286
171
233
213
211
158
215
292
298
215
303
329
244
192
200
228
208
327
199
200
300
153
171
192
172
106
204
181
217
295
192
231
254
265
183
225
234
175
255
261
236
231
160
238
221
165
256
266
205
208
284
237
222
250
285
242
303
245
172
215
262
273
263
261
196
253
202
248
165
264
251
384
270
207
215
216
240
311
202
306
236
221
195
189
184
273
288
268
219
258
165
199
108
229
198
229
227
282
308
222
237
202
203
252
224
198
214
196
297
331
277
238
282
213
247
246
151
279
277
310
199
184
286
246
340
226
229
243
174
260
196
223
262
261
202
259
198
280
154
214
235
183
168
256
214
172
233
106
216
207
261
318
211
268
243
200
240
197
215
154
239
195
275
195
219
239
194
161
278
172
289
221
280
186
239
300
240
212
186
204
194
178
204
198
257
208
198
246
282
253
242
228
290
291
215
305
209
258
192
230
218
246
233
181
226
285
332
211
193
262
289
280
200
177
175
219
188
235
179
284
219
288
199
240
287
214
148
246
166
179
168
211
225
215
203
252
213
247
161
236
189
263
193
215
273
206
243
214
207
198
239
201
257
248
225
181
197
188
304
192
200
222
198
256
271
246
223
259
261
270
195
208
236
191
260
253
265
253
193
277
217
220
251
145
198
248
243
202
240
261
196
316
165
252
253
175
220
175
199
173
189
329
259
181
245
221
221
208
205
229
241
168
223
253
275
220
319
271
286
196
195
290
219
166
279
178
212
228
196
217
274
288
270
161
296
261
174
170
179
232
244
247
196
151
204
228
209
246
154
193
195
229
235
245
184
228
232
174
197
186
198
192
176
233
205
303
182
145
240
246
209
314
278
252
216
271
249
200
193
260
213
247
218
254
214
180
187
277
235
274
184
227
179
178
190
210
226
214
199
156
248
287
238
247
193
192
193
220
256
209
201
241
212
218
194
249
249
225
340
266
139
197
192
239
245
223
208
158
243
310
161
261
276
259
272
237
240
232
250
243
173
166
164
275
214
162
173
170
272
229
292
238
210
249
180
213
191
311
160
283
234
175
177
156
195
320
231
296
274
258
230
232
262
281
235
198
173
220
227
283
226
248
206
259
286
207
208
229
222
247
271
207
173
266
279
156
192
230
178
213
185
195
191
207
181
191
191
334
182
267
197
259
299
224
256
205
209
221
238
178
269
312
265
209
264
141
284
196
192
222
231
260
326
258
216
152
229
214
215
173
148
191
146
255
200
257
277
300
247
189
147
258
174
183
181
165
145
225
195
229
199
213
210
272
236
189
270
178
195
208
208
252
244
278
237
183
265
283
267
249
302
264
149
253
203
200
193
230
216
224
106
310
246
225
242
238
229
255
322
282
180
272
162
224
233
378
177
239
297
248
192
196
170
218
260
261
227
191
191
236
114
189
282
217
222
226
215
250
185
237
139
199
253
275
211
257
192
275
212
274
249
203
214
170
216
225
256
241
197
221
256
277
285
251
255
287
363
278
134
214
238
164
182
215
186
276
219
360
200
258
139
220
153
293
259
296
174
192
223
209
201
166
223
263
209
187
235
199
229
212
210
207
257
201
191
126
268
309
269
238
230
237
160
211
114
298
201
371
234
247
192
247
160
236
214
260
216
253
195
186
229
211
266
203
280
266
176
174
203
270
130
197
160
270
232
232
235
246
197
251
248
248
106
190
261
250
271
234
229
215
247
155
255
251
114
175
207
208
252
306
160
303
232
185
241
231
244
220
237
178
255
252
156
240
224
220
212
209
233
207
296
235
161
244
245
220
182
231
282
201
291
276
222
251
114
238
178
235
237
178
305
237
269
255
191
215
212
170
222
247
191
130
222
178
243
224
210
197
252
242
268
186
169
201
243
252
206
281
237
261
165
213
325
206
178
193
237
145
282
288
229
220
243
234
284
181
169
225
228
211
263
205
165
236
236
263
247
297
235
303
212
194
263
158
183
255
239
175
219
315
185
156
160
196
226
200
260
276
210
288
246
187
256
240
225
206
264
214
295
216
199
199
208
251
215
227
260
248
257
224
246
201
255
211
198
160
270
247
289
242
185
177
257
226
237
268
238
228
254
155
342
133
268
234
245
195
220
178
151
253
205
164
148
249
294
192
219
329
243
208
193
239
266
243
245
232
286
247
249
261
265
259
319
297
263
195
320
175
276
122
178
180
337
203
255
205
151
241
232
201
201
287
255
267
236
296
248
198
223
203
215
168
212
169
217
196
216
204
219
227
288
220
249
195
208
213
255
270
215
174
315
106
274
192
188
313
211
169
242
210
243
284
169
256
237
170
164
270
260
178
260
220
307
165
231
280
213
261
166
356
149
195
228
261
292
216
233
153
270
219
181
158
234
234
218
207
158
179
249
271
108
231
215
219
278
197
261
199
179
263
231
231
225
245
215
200
237
245
251
196
255
296
313
255
273
169
188
213
170
114
246
252
301
222
233
276
213
266
216
206
253
213
203
347
211
240
170
259
238
227
196
166
211
267
334
299
241
251
221
192
188
178
347
126
211
161
247
223
192
161
156
145
219
194
271
193
183
306
201
225
283
216
216
181
173
311
178
114
247
251
214
176
219
189
166
304
170
200
159
304
224
232
208
277
227
214
287
231
232
292
189
160
171
274
293
216
114
279
245
193
219
211
235
186
284
289
266
178
220
297
256
198
231
254
218
238
203
225
230
173
214
234
314
301
248
144
296
173
179
169
192
250
311
256
260
180
183
180
163
260
283
152
181
288
225
287
206
245
246
169
152
198
217
296
331
169
318
213
260
344
268
251
208
328
175
222
235
227
245
194
265
185
251
183
203
240
223
260
180
237
268
243
250
251
204
177
166
213
270
237
151
170
242
178
198
261
253
281
192
235
191
228
168
218
273
197
221
285
228
253
181
204
178
215
180
277
231
222
240
187
237
236
162
267
203
214
226
237
178
244
257
222
234
177
205
293
247
280
213
186
234
284
224
228
214
208
187
209
254
239
200
180
146
222
206
209
194
209
161
187
176
233
215
295
207
292
216
227
194
236
216
225
280
194
185
213
262
199
188
186
133
259
277
202
252
191
286
226
205
245
250
195
310
182
207
158
179
297
175
234
151
204
213
262
173
172
148
234
164
259
222
313
279
212
239
203
225
201
202
218
240
139
171
256
208
161
275
235
176
245
235
195
175
372
180
241
251
241
298
317
253
170
199
287
217
233
303
303
213
281
265
234
255
245
153
228
254
261
164
160
158
271
285
178
156
234
226
251
231
286
152
225
220
174
185
239
256
189
274
265
251
270
296
207
243
241
249
286
171
234
208
220
192
267
182
185
278
205
267
234
261
203
339
255
161
226
203
174
166
229
189
248
289
286
240
184
337
152
192
126
359
177
240
182
164
227
114
225
114
205
216
192
114
207
239
299
248
251
186
225
294
316
206
196
160
234
207
232
246
219
297
242
244
230
251
256
190
174
267
223
278
213
219
151
217
174
349
191
278
259
176
262
191
221
225
178
292
218
206
166
226
245
177
245
185
230
202
220
193
312
233
281
222
278
296
338
192
299
245
177
258
361
301
211
315
246
197
188
301
196
209
210
170
261
236
265
254
198
195
240
240
204
259
231
191
258
116
254
211
295
245
207
224
250
174
240
239
169
265
247
347
322
270
243
196
219
246
220
114
232
291
206
229
306
254
233
200
182
219
219
168
240
234
230
189
277
238
275
264
236
233
279
255
235
160
260
225
190
257
209
291
181
154
116
188
214
175
231
260
225
260
186
207
222
152
170
220
206
273
267
246
204
178
258
181
176
214
195
222
205
265
286
184
270
246
186
203
235
223
259
328
181
198
270
175
236
210
195
261
160
198
171
242
197
242
246
211
212
269
262
293
222
183
211
238
178
240
232
179
240
211
192
197
241
158
144
210
298
266
214
230
228
192
284
261
193
215
259
234
276
182
300
319
174
240
265
215
114
221
242
232
192
241
137
157
239
162
139
183
197
277
213
204
160
156
198
146
210
260
161
288
173
272
216
255
206
248
208
264
228
229
249
185
114
145
385
240
198
182
211
261
245
270
267
209
238
275
144
223
267
232
184
226
221
192
210
260
199
170
178
197
195
151
129
280
357
266
233
198
216
251
237
281
244
199
210
214
242
207
201
206
217
282
275
237
231
218
258
271
201
246
275
247
142
193
193
241
210
146
212
237
302
189
279
227
126
229
186
186
204
244
231
247
211
158
209
241
263
178
229
290
219
180
196
188
232
225
243
198
215
228
208
259
260
182
179
248
332
220
173
284
238
209
240
129
195
198
187
215
207
188
211
195
229
173
249
156
244
192
191
223
173
236
114
304
226
227
189
226
317
196
288
235
233
286
231
262
176
193
137
160
260
163
220
198
206
194
223
189
269
156
149
218
251
145
235
161
203
286
215
238
230
184
208
188
245
257
204
249
298
271
263
208
303
313
207
189
271
202
194
196
147
254
221
246
215
172
213
187
232
252
248
226
216
179
176
114
178
224
345
243
219
324
345
178
214
250
215
241
231
220
283
296
212
211
229
226
228
279
245
229
238
219
273
305
255
267
190
244
315
231
208
238
219
226
298
234
207
281
187
174
241
233
283
267
177
160
304
196
202
175
219
209
188
162
272
175
251
225
108
182
221
213
226
252
160
198
216
247
195
246
166
305
315
269
162
197
212
271
284
258
218
264
149
224
284
187
231
166
247
280
240
209
219
167
171
285
214
228
156
252
227
250
279
175
251
286
172
255
223
270
116
233
234
234
229
234
244
203
252
222
184
223
217
203
335
181
291
237
184
214
199
273
191
246
248
324
289
250
240
299
200
243
239
361
178
290
211
221
231
268
196
240
198
210
195
178
235
180
191
227
176
240
289
266
208
289
236
204
174
210
202
106
265
213
263
170
198
211
195
236
221
193
210
206
238
309
244
188
222
194
218
165
294
252
181
245
273
201
199
214
152
240
272
294
202
241
232
198
161
114
199
262
215
170
278
288
170
156
325
229
280
216
160
268
185
245
233
176
284
170
245
281
234
175
306
215
262
235
211
243
312
240
278
254
193
322
167
146
146
168
114
260
164
226
170
186
281
195
292
146
206
245
214
211
174
207
196
235
264
212
265
114
200
198
263
221
305
166
299
317
212
260
176
234
348
192
196
146
295
298
241
174
235
245
223
240
256
164
293
211
179
218
188
241
146
325
244
169
278
234
228
145
197
221
277
232
233
251
206
219
160
259
270
232
240
173
170
202
159
200
176
200
238
244
297
192
180
250
238
239
221
317
326
227
197
116
270
270
341
184
170
170
218
219
230
126
304
210
239
248
309
173
209
231
241
238
218
265
266
221
254
349
222
194
208
206
261
249
146
179
176
215
160
211
185
239
170
335
232
210
208
192
178
198
207
271
233
254
285
287
225
316
228
249
281
161
280
209
250
238
187
139
249
258
265
214
207
114
236
240
280
244
246
170
235
255
268
251
238
257
208
286
191
239
232
273
196
225
218
269
208
176
290
294
204
211
210
230
256
244
195
219
226
238
241
271
114
249
226
126
192
188
181
241
237
252
259
191
187
175
271
213
184
192
251
233
232
267
175
244
191
198
203
251
301
178
184
194
251
217
247
182
189
253
219
211
233
206
276
232
305
215
171
209
162
126
215
229
176
178
261
339
259
243
244
227
245
199
317
290
188
277
252
255
232
171
253
196
204
213
262
164
139
260
220
207
168
114
264
232
232
213
222
241
293
271
279
182
176
186
215
231
222
203
356
176
220
284
216
179
240
148
201
290
193
243
196
170
175
215
219
225
202
256
252
299
170
229
309
225
199
219
248
205
114
184
252
200
154
175
270
290
209
181
198
220
193
176
184
180
292
194
249
255
244
258
267
287
241
238
293
220
256
187
241
244
219
207
287
160
262
216
213
238
223
239
275
273
252
321
232
229
264
128
168
224
193
275
240
280
216
229
260
290
175
305
158
255
235
199
219
173
180
214
207
178
222
251
208
237
198
187
240
267
187
194
282
223
186
263
203
326
216
242
145
247
244
170
243
186
243
302
288
317
182
217
267
234
294
204
182
226
166
243
251
215
221
171
284
262
191
213
269
234
200
207
207
288
214
203
195
285
244
168
157
178
233
235
160
264
260
442
160
268
286
213
261
180
181
195
267
248
156
239
192
182
180
282
302
261
261
139
305
191
293
298
177
303
156
285
210
268
184
256
283
327
187
308
230
203
226
283
159
285
274
114
251
195
176
277
210
280
193
198
309
287
313
208
333
252
200
281
228
237
308
276
225
114
288
192
259
292
188
289
144
265
289
177
301
186
262
196
272
126
233
259
258
222
250
213
153
168
146
150
200
214
173
172
245
235
198
294
180
175
270
208
229
210
224
182
146
232
235
151
235
238
225
184
208
233
206
184
230
247
227
182
156
171
206
188
191
200
218
257
235
252
243
252
251
192
213
145
255
217
184
145
231
211
129
214
326
199
223
193
261
198
114
233
188
172
225
210
187
317
236
281
250
165
309
247
191
256
160
343
170
207
249
180
248
280
156
203
255
204
214
291
209
198
215
213
172
277
237
166
291
275
285
225
171
168
175
269
200
247
149
240
214
180
152
282
239
189
228
246
221
231
314
299
183
281
181
265
294
200
290
293
200
178
200
204
242
214
187
227
192
243
195
172
248
185
193
173
271
296
272
152
230
218
222
282
246
174
253
249
301
194
243
209
304
220
231
245
160
295
338
206
210
204
265
251
146
203
198
242
170
178
199
263
212
230
292
290
183
208
256
180
139
190
173
246
173
170
202
309
189
212
263
254
252
254
288
187
190
284
228
281
261
264
218
311
156
183
302
293
210
147
220
206
333
263
161
194
149
324
176
287
210
161
280
225
221
270
243
215
236
318
196
233
226
207
158
246
261
267
227
130
151
213
260
229
170
245
212
157
173
227
236
192
186
212
165
232
181
196
229
192
219
194
204
265
330
179
258
190
247
200
207
212
240
211
284
225
192
190
220
341
200
280
317
231
142
235
174
339
270
227
222
279
224
175
216
292
260
183
238
209
121
240
270
266
232
200
290
306
258
199
206
256
175
265
187
173
255
232
229
262
231
191
210
218
217
178
227
227
283
179
226
183
257
206
171
223
213
189
297
212
268
114
215
206
220
213
217
276
231
156
208
283
219
241
292
292
233
247
210
213
273
161
213
362
237
228
257
231
243
213
214
296
146
247
241
258
148
181
181
206
218
282
181
207
299
209
182
264
233
260
210
217
158
296
275
299
216
269
215
317
298
203
225
193
201
313
210
164
298
200
232
203
192
222
114
209
187
276
204
215
246
195
254
166
331
175
275
164
189
250
178
189
189
269
261
169
192
237
303
237
145
233
240
253
168
238
225
222
234
209
234
199
194
250
242
246
230
183
207
284
185
190
240
156
249
183
208
179
281
238
234
220
232
215
285
279
184
237
230
218
225
302
229
250
242
191
211
205
126
199
273
245
187
182
202
199
225
273
177
289
248
178
219
175
288
195
231
214
291
193
160
216
207
233
198
239
236
229
234
177
242
156
182
156
228
236
203
220
244
265
192
231
254
309
152
269
265
244
286
172
152
195
253
331
256
210
160
175
151
184
200
303
222
220
240
213
211
208
204
218
244
210
218
223
217
333
311
185
172
245
186
246
234
241
235
221
268
239
314
264
260
200
198
190
215
192
212
269
220
170
280
195
273
194
216
224
206
169
228
227
207
239
221
237
280
114
173
241
204
256
248
208
231
180
226
278
320
278
215
198
249
272
246
251
241
265
230
232
211
185
240
206
324
306
220
173
318
166
228
166
192
276
280
216
218
223
236
220
293
193
223
249
251
280
181
245
196
192
215
226
246
230
232
302
442
338
189
277
189
219
258
144
167
225
182
245
295
247
190
214
189
179
230
227
220
212
210
156
195
280
260
338
337
184
209
149
238
141
170
306
175
235
194
243
219
178
174
265
190
139
182
180
288
152
276
208
175
247
247
171
182
221
220
233
247
272
188
222
207
233
236
166
188
242
160
130
279
251
238
186
209
221
226
257
255
268
193
183
170
165
175
231
211
220
183
161
158
277
289
219
315
204
240
191
178
178
262
215
158
116
218
161
180
212
303
238
287
252
223
158
162
190
216
262
229
181
195
139
181
341
274
228
288
248
328
116
193
197
156
211
170
320
166
230
297
197
224
226
210
188
205
267
221
239
263
262
298
223
230
170
287
264
254
276
203
209
211
160
265
245
297
219
173
190
227
144
256
219
260
215
246
179
197
180
282
279
194
114
278
182
333
235
235
191
156
271
290
227
184
208
208
215
213
201
203
255
226
173
242
268
282
205
273
275
308
192
223
144
162
273
244
242
128
257
139
185
278
239
284
232
232
309
303
247
186
255
258
212
293
231
214
286
183
225
240
178
174
249
152
167
210
180
225
190
208
201
178
218
237
266
196
230
216
255
289
337
219
205
248
204
178
212
226
290
209
293
272
204
301
259
215
151
212
228
293
308
177
314
217
152
279
240
173
278
151
217
264
254
223
225
185
245
225
213
195
265
300
272
174
236
178
286
280
233
226
238
181
190
230
162
284
243
324
198
186
243
205
206
227
205
178
226
189
200
304
214
213
212
209
192
192
251
300
183
233
218
175
238
293
277
235
195
278
207
181
238
243
175
211
212
337
203
318
257
249
210
244
219
212
262
262
318
301
223
156
212
241
212
227
184
189
256
192
198
191
242
237
323
244
191
220
292
161
182
209
317
222
320
169
233
231
233
270
170
179
246
240
245
144
240
309
243
176
220
157
233
219
310
156
295
214
239
175
240
212
186
194
191
114
252
246
216
207
193
174
188
154
195
175
221
192
255
195
139
314
266
261
199
230
209
126
316
308
243
341
297
260
166
174
228
216
156
203
116
292
214
255
252
175
211
293
228
176
222
167
305
290
200
205
198
232
275
239
208
209
174
222
297
293
194
183
247
220
162
285
285
193
256
114
217
195
205
251
241
177
253
247
203
185
223
173
156
208
206
351
272
190
232
225
265
208
190
178
251
211
180
160
230
296
146
186
199
205
331
281
354
211
177
228
180
238
234
194
205
161
237
290
156
213
238
244
217
277
252
232
280
219
180
220
227
195
216
178
202
180
167
174
225
286
224
214
299
251
225
259
206
250
237
195
236
146
289
182
234
200
228
191
254
211
267
206
294
289
174
299
206
170
207
329
203
195
190
199
262
240
173
260
282
248
191
184
218
222
230
169
236
238
275
248
198
219
237
170
151
248
236
152
224
300
220
181
196
256
258
200
218
201
303
198
264
175
216
235
151
272
193
280
174
190
220
201
254
221
280
239
181
181
221
179
233
222
176
282
308
114
225
213
258
198
186
213
166
265
221
234
252
239
251
145
241
202
263
216
238
181
252
210
229
255
242
252
230
248
168
250
226
180
227
252
202
244
180
246
173
214
174
176
220
190
160
232
270
270
255
206
278
208
157
237
169
157
211
240
240
290
154
223
194
192
210
154
166
175
237
284
145
210
237
192
246
274
239
268
176
189
312
285
185
184
173
177
264
193
214
241
215
296
245
295
106
265
170
242
237
252
221
215
168
270
196
239
225
219
236
190
215
192
194
201
233
218
193
197
252
236
235
183
206
255
301
160
181
230
228
234
277
173
191
272
241
274
190
216
212
198
208
161
251
195
267
213
191
253
250
231
169
282
190
225
284
162
194
164
248
228
154
174
313
222
271
106
209
258
241
279
233
139
213
240
192
320
295
217
158
216
200
187
285
253
231
185
175
198
249
307
218
126
274
241
271
271
241
291
219
234
232
262
246
203
205
189
232
235
253
283
238
237
181
229
235
231
234
197
222
212
210
250
173
211
237
173
285
231
195
244
189
197
291
215
240
160
146
216
192
270
265
169
277
287
179
215
248
270
245
250
229
275
181
270
187
147
254
170
218
202
209
256
108
174
241
217
189
227
245
260
296
229
230
190
212
256
253
217
198
305
205
303
207
196
205
208
151
204
146
214
247
255
266
273
353
242
192
190
194
210
257
219
230
193
194
145
188
272
254
205
274
215
220
114
172
269
138
276
306
235
274
225
318
186
317
253
301
257
257
276
183
152
237
264
228
198
171
259
247
261
173
194
233
195
293
208
275
299
243
219
175
255
278
182
214
139
228
201
221
178
188
197
192
139
248
294
231
259
309
259
204
214
257
220
239
252
214
214
242
154
180
232
273
175
151
248
199
260
197
348
202
201
213
281
269
253
197
272
275
333
282
195
265
248
259
206
187
241
292
210
173
232
276
152
185
238
199
257
198
194
170
207
213
200
114
176
213
312
184
198
257
255
341
240
245
234
286
208
231
214
292
226
184
196
159
209
197
187
185
249
208
199
238
292
181
255
270
237
183
169
170
248
170
239
198
215
156
169
214
268
178
196
265
181
177
271
279
198
208
214
281
265
259
271
227
145
273
241
268
176
218
209
240
207
258
175
243
274
162
176
246
250
209
192
239
203
217
275
184
213
175
161
239
279
233
203
223
239
165
231
232
156
233
228
135
257
293
233
226
226
271
181
220
243
215
204
170
217
234
248
305
174
303
219
161
231
177
256
162
225
289
227
335
231
244
287
201
161
195
236
271
245
278
265
211
208
245
261
234
193
152
377
232
203
270
195
219
200
235
184
276
187
205
254
255
223
235
217
169
242
238
170
226
281
275
145
226
290
212
219
216
197
270
230
272
205
243
221
242
198
203
286
285
221
225
235
152
255
271
178
170
229
247
239
255
274
211
264
195
231
244
155
199
224
242
251
192
170
290
214
274
146
224
300
266
192
184
213
308
229
173
263
243
316
253
208
186
183
245
193
263
190
220
347
215
172
174
208
249
267
158
214
243
253
174
171
247
191
203
250
249
169
176
207
267
145
179
242
190
114
195
216
266
270
226
217
254
164
168
306
217
207
173
206
272
201
166
284
261
297
220
245
211
329
167
198
266
190
227
280
223
208
203
190
200
251
153
247
269
211
236
213
304
219
227
300
208
212
266
200
250
267
226
215
192
203
209
213
235
291
152
195
190
256
220
133
246
297
204
176
202
320
222
253
234
293
245
209
266
285
228
250
173
189
265
227
246
173
295
204
252
214
191
246
240
172
257
253
229
178
196
333
174
236
238
193
215
264
173
253
234
347
214
229
285
229
242
245
229
212
287
172
270
228
249
230
300
184
256
253
228
251
195
214
121
221
233
283
233
244
217
249
235
187
259
147
200
249
301
264
195
283
229
297
270
176
213
174
220
212
207
278
230
252
280
175
114
208
212
269
246
254
230
256
197
223
354
237
226
264
186
182
323
237
144
219
228
290
229
194
176
177
282
229
161
271
276
212
217
233
195
254
296
202
239
176
230
248
258
238
196
220
287
260
202
197
262
281
247
195
222
145
221
185
231
203
227
222
174
194
207
163
234
181
258
261
179
178
234
114
151
227
230
216
206
305
285
246
209
247
234
217
207
304
219
227
246
244
174
231
262
263
259
197
165
274
114
234
267
195
139
166
198
181
147
220
277
267
214
231
229
231
272
231
186
243
283
253
223
245
196
178
114
133
199
233
163
210
250
214
188
263
159
241
148
210
317
191
283
184
212
254
126
260
253
236
291
279
212
179
179
290
221
240
187
174
195
309
179
280
238
260
201
210
272
281
327
181
248
276
264
240
221
240
193
247
349
254
215
267
258
271
203
256
229
181
197
184
252
256
165
232
166
240
250
271
276
251
183
220
169
254
156
299
205
293
248
238
191
164
216
246
222
242
277
194
205
236
176
240
206
178
216
232
260
298
207
213
260
197
160
235
216
215
229
233
233
114
240
200
287
219
279
246
261
230
227
231
236
254
189
160
220
272
324
179
325
170
260
257
230
194
219
260
232
195
235
177
259
181
242
201
215
226
320
173
220
284
268
206
349
234
161
145
168
269
263
230
290
250
273
250
221
173
229
170
181
189
169
187
219
229
250
212
319
202
209
172
246
183
245
207
203
225
206
216
240
154
213
209
198
217
277
185
262
241
242
174
219
211
272
195
251
214
269
187
262
265
215
227
240
225
221
176
230
169
214
321
365
228
231
200
280
285
299
177
336
263
243
215
306
200
240
178
310
191
216
255
247
214
134
322
261
258
294
258
251
238
260
160
201
199
241
230
250
193
252
209
249
151
204
168
218
200
144
269
267
250
213
220
263
268
218
241
271
192
270
235
219
164
207
206
248
269
260
214
266
211
198
237
274
257
178
179
197
258
188
237
162
207
288
202
242
213
180
318
277
209
248
248
226
298
231
145
245
126
176
203
275
194
230
275
196
268
178
200
194
266
214
199
214
267
251
228
139
179
288
209
235
261
337
232
128
166
248
160
114
235
249
227
155
237
209
230
253
287
243
184
318
195
263
245
252
208
218
244
221
309
144
235
236
228
238
239
164
258
240
262
179
228
272
236
223
236
208
174
178
168
181
296
258
240
212
244
284
238
234
152
248
226
228
208
193
219
268
249
224
234
232
195
210
272
225
248
188
121
275
200
201
226
252
260
186
219
326
275
259
208
243
246
172
253
236
270
205
210
283
231
250
301
291
239
183
200
230
254
290
198
183
184
225
203
261
277
219
255
210
227
244
287
226
234
318
145
181
126
210
253
221
159
228
232
279
314
244
207
320
247
209
253
247
187
170
281
152
248
184
153
223
191
205
166
195
185
234
194
327
188
351
200
251
184
208
175
312
122
218
180
145
271
220
253
350
219
226
160
272
215
285
262
232
215
152
248
173
311
216
189
219
180
221
191
258
223
227
214
179
206
254
251
252
257
262
171
270
186
191
234
199
212
176
169
221
222
229
245
241
263
200
253
223
217
199
223
187
256
234
246
140
160
276
199
235
197
167
271
278
157
277
287
209
211
196
233
213
292
237
281
192
177
238
226
281
331
306
248
185
264
260
198
196
261
222
250
330
114
204
165
160
190
178
162
261
160
245
327
160
176
181
211
209
218
266
164
169
305
186
173
223
252
220
229
179
237
241
214
195
238
216
338
154
286
175
165
247
146
167
200
193
199
225
254
199
175
226
212
161
156
279
231
141
198
248
216
182
219
170
179
221
220
239
269
184
224
154
173
220
329
217
217
239
258
211
283
237
194
224
219
222
249
218
251
170
254
264
197
200
114
198
160
276
332
237
256
230
208
309
172
279
253
173
309
229
200
251
236
269
186
283
328
156
291
200
176
287
192
262
206
215
229
170
188
203
262
202
298
214
235
191
235
167
226
313
192
175
210
243
238
191
235
249
218
214
274
288
205
139
275
225
293
299
243
224
238
175
168
271
270
215
216
178
274
195
192
292
233
310
210
204
239
176
241
286
317
268
169
203
227
211
226
173
252
198
227
235
244
144
178
204
193
264
218
189
160
259
184
173
180
257
228
226
310
237
165
313
235
234
283
194
185
211
266
204
235
270
177
219
207
229
187
196
259
199
114
248
180
235
197
288
159
193
192
238
206
194
195
205
229
237
256
234
246
217
397
241
331
175
196
242
220
311
171
311
264
238
274
253
265
210
216
260
268
184
227
114
241
237
174
267
351
253
241
280
198
244
231
160
154
244
252
281
249
229
261
173
301
218
258
319
276
231
257
178
232
227
271
165
241
205
181
344
249
210
225
177
283
235
250
273
263
244
309
220
198
218
165
226
254
278
191
191
229
168
203
243
198
211
218
178
220
176
193
146
212
262
223
183
294
232
267
307
289
258
239
201
241
275
295
220
164
235
148
265
223
303
291
170
311
212
199
175
246
218
208
106
190
180
157
237
281
316
266
215
164
380
269
240
212
218
170
349
294
273
224
163
234
160
279
222
220
210
301
282
258
221
156
279
243
259
184
233
164
238
196
258
256
223
243
210
227
142
160
319
196
229
175
272
203
215
260
236
278
200
194
276
175
185
202
202
219
241
246
213
229
188
234
237
220
204
192
207
274
231
299
281
210
289
156
237
170
269
116
242
209
201
250
195
268
181
213
246
205
212
226
204
261
315
304
266
211
328
252
265
226
245
168
207
196
207
291
308
256
178
227
274
218
221
290
204
266
164
225
205
235
190
233
279
245
160
191
225
211
313
252
251
240
199
192
247
262
177
257
272
211
215
238
205
219
307
211
296
223
200
189
204
179
170
240
179
208
192
195
248
178
223
223
215
204
269
228
216
209
293
222
240
295
233
226
223
205
188
304
180
186
233
191
225
157
250
193
126
209
280
156
195
226
249
184
245
190
168
254
226
241
146
221
191
184
197
322
270
274
268
270
244
235
282
182
260
209
201
219
190
223
179
196
196
258
195
174
224
311
300
269
284
248
218
274
223
205
253
160
310
212
216
262
229
174
265
212
233
272
237
251
207
206
238
211
274
291
164
193
222
221
227
234
261
212
230
205
273
258
201
283
175
126
256
292
255
298
244
280
198
191
237
242
245
208
176
188
172
256
212
214
340
220
175
194
267
194
186
252
228
221
227
174
275
290
213
295
269
164
275
256
185
241
175
228
256
172
187
180
243
286
232
291
201
236
256
281
230
231
236
213
146
166
269
228
201
201
274
286
173
239
246
228
255
238
197
183
222
212
204
186
240
317
201
252
179
256
195
211
290
220
202
242
206
240
219
193
160
202
271
216
325
210
114
291
272
297
250
147
202
184
242
229
225
214
206
173
145
218
260
145
262
271
176
245
238
212
157
192
229
228
168
224
175
187
210
195
145
160
195
178
305
351
277
227
197
250
221
237
285
236
180
184
214
208
270
226
223
270
196
254
262
222
269
129
163
270
233
197
152
201
256
230
192
261
230
186
256
228
271
176
309
231
234
254
232
114
289
234
256
205
257
191
237
173
202
235
269
211
221
272
238
194
305
266
162
198
204
158
211
216
208
266
257
164
262
258
183
221
238
202
267
217
234
252
184
222
238
208
175
268
208
217
203
177
211
227
206
353
217
256
146
166
267
217
278
263
329
219
198
242
314
216
237
281
242
214
244
203
187
298
241
208
208
220
219
230
234
266
269
114
173
215
162
330
255
206
208
228
170
233
240
230
277
155
155
221
223
146
230
239
205
221
152
251
193
205
169
244
254
275
245
266
133
247
302
298
223
253
245
231
221
174
114
205
270
299
166
250
193
273
162
208
226
144
235
245
209
200
258
170
204
369
185
226
244
278
192
217
209
213
178
229
171
232
219
251
223
198
182
284
219
175
174
170
188
217
251
246
237
218
233
279
247
251
233
174
263
246
268
174
217
260
180
193
206
296
182
242
236
207
278
257
188
199
258
108
262
160
238
234
253
192
254
276
215
195
267
219
249
286
225
204
217
211
253
162
243
225
252
264
244
199
195
193
227
295
270
192
236
231
158
212
178
223
183
235
213
212
209
322
228
175
214
191
196
220
178
206
126
206
207
196
212
188
264
247
236
223
237
221
239
210
211
249
274
268
231
208
208
156
204
174
237
158
261
240
180
203
173
251
215
221
268
270
187
156
353
274
322
244
240
248
203
266
206
208
218
211
243
269
188
276
158
186
156
205
239
156
260
254
230
259
245
285
132
221
188
128
200
247
245
198
198
271
343
234
230
219
173
245
210
242
339
215
263
246
197
191
185
249
235
350
267
213
253
224
212
283
166
239
233
251
209
312
202
227
245
279
212
224
218
228
218
180
311
204
236
187
205
220
164
173
288
251
208
260
209
174
283
253
255
202
194
329
156
201
212
179
209
158
199
247
255
178
204
188
217
266
325
218
181
174
237
282
273
229
227
244
226
191
262
213
241
253
251
225
245
289
237
227
284
271
200
226
290
254
175
221
189
160
254
169
277
242
231
294
242
247
241
254
256
290
237
215
270
247
254
230
173
205
237
219
184
250
147
245
180
240
133
351
231
260
203
234
212
225
214
223
223
281
140
212
269
266
274
217
249
184
170
229
251
222
148
278
190
233
248
348
130
198
230
240
237
203
239
152
340
200
260
314
217
309
236
232
243
270
233
232
237
254
210
156
284
248
186
208
242
239
239
350
291
114
235
173
293
152
234
208
189
221
183
247
236
234
283
265
277
151
245
206
210
223
184
198
262
161
178
222
183
246
222
243
262
290
261
214
222
258
198
229
198
295
164
154
177
265
205
205
297
283
279
285
217
247
301
255
275
343
183
217
272
228
210
219
233
233
246
174
219
282
202
195
252
240
205
218
322
241
108
210
173
260
157
226
213
237
216
200
216
173
205
225
260
216
180
185
221
313
179
223
260
269
239
207
233
216
287
297
204
250
218
218
207
181
291
186
256
196
174
250
264
181
237
259
230
114
176
274
261
235
197
196
177
256
273
214
277
214
263
259
235
225
203
230
229
234
239
192
243
186
205
287
265
257
224
239
197
258
116
152
202
189
206
230
184
249
247
146
114
200
195
274
254
158
221
315
225
238
241
231
223
211
160
208
194
206
181
179
185
161
193
261
249
272
201
181
215
197
195
248
254
212
223
182
310
212
185
218
276
224
235
333
242
143
279
235
218
176
293
212
254
196
258
225
277
144
196
245
222
185
228
250
181
242
258
228
283
263
192
303
229
286
235
290
165
121
309
233
269
330
212
156
275
215
250
171
233
166
238
241
234
214
220
162
259
160
298
294
219
203
247
235
278
206
264
283
343
202
206
199
252
154
222
222
209
236
220
217
354
247
305
244
211
206
342
257
189
240
236
162
267
279
217
217
237
237
276
265
236
270
218
200
199
176
259
263
210
259
283
161
273
180
219
284
233
148
281
290
192
181
282
249
222
240
180
266
233
239
283
286
267
147
234
290
161
166
200
207
209
245
191
278
227
274
208
281
199
167
281
246
267
219
176
255
222
221
154
228
214
201
266
255
170
211
189
175
246
182
267
311
258
190
216
198
231
201
224
211
196
238
193
275
212
200
319
228
232
253
238
194
227
248
160
248
189
237
200
305
259
178
269
258
196
179
276
224
206
199
242
185
242
178
238
219
246
207
190
215
226
211
303
244
184
173
238
209
236
151
195
249
203
151
288
220
252
160
296
301
258
206
200
168
209
233
260
225
252
234
198
295
207
144
246
272
256
210
272
198
261
160
230
229
254
253
225
256
268
267
195
173
213
202
209
207
247
241
338
319
160
245
294
253
231
209
262
165
197
168
181
199
215
266
287
208
204
255
240
268
231
246
271
326
297
198
224
192
229
229
207
304
251
205
193
207
141
231
244
265
259
286
192
263
204
198
298
226
152
156
171
265
221
252
237
238
177
236
239
187
189
249
235
146
242
249
226
229
170
284
221
160
178
216
268
215
259
219
184
114
204
247
233
179
247
273
251
247
290
262
201
212
219
264
209
248
232
179
277
260
196
172
218
134
224
279
220
139
278
270
273
184
251
152
250
174
173
211
250
198
350
209
200
257
295
229
243
218
207
229
222
213
190
225
213
219
247
210
309
241
239
186
201
259
225
238
229
196
295
267
228
175
270
217
156
246
209
217
322
286
176
241
270
218
265
193
197
221
237
152
228
307
229
208
273
263
139
219
183
200
192
224
173
258
289
289
180
296
213
179
194
248
252
147
222
222
173
242
146
230
249
169
319
114
171
195
203
290
183
160
202
164
183
276
271
194
209
183
204
263
206
221
210
209
181
180
200
175
214
264
203
198
260
273
236
230
306
205
218
139
207
226
114
212
243
190
174
261
161
261
199
254
306
217
202
239
237
189
229
230
231
186
196
168
210
215
231
276
271
215
257
233
225
169
220
242
307
192
173
260
264
171
252
273
236
297
218
235
206
188
257
219
250
229
205
242
238
222
239
306
206
242
246
218
195
317
151
216
192
276
257
202
191
234
242
256
175
259
261
205
287
206
213
180
232
242
145
244
201
241
218
215
224
302
226
242
214
155
233
230
283
244
231
228
238
230
227
245
248
214
301
197
249
251
160
256
183
144
147
310
158
316
249
228
153
229
239
214
212
219
192
245
189
221
192
213
176
148
208
239
193
203
205
223
238
244
263
160
274
199
218
205
225
300
247
288
224
221
228
154
175
206
191
227
215
240
243
239
240
180
179
164
184
212
278
226
185
225
245
298
195
114
210
229
269
243
256
170
159
215
126
320
262
176
206
211
249
266
189
200
212
195
196
253
244
268
116
192
198
186
273
218
233
185
184
200
264
228
192
221
212
133
171
235
262
243
211
242
175
269
160
246
156
208
198
195
220
314
264
170
246
278
248
155
276
251
233
228
207
222
221
354
220
213
174
160
312
274
221
178
216
206
179
222
168
270
160
203
253
235
178
278
193
248
239
210
242
215
288
264
254
216
198
276
229
313
258
250
170
222
187
276
176
259
161
153
274
238
326
179
214
209
203
197
229
356
228
206
232
144
210
209
265
187
162
215
205
229
170
266
245
184
198
161
173
276
184
262
244
233
215
228
211
178
270
174
198
223
259
205
224
185
246
169
297
172
272
197
178
315
240
257
196
198
246
185
244
220
188
235
175
203
217
230
179
289
248
114
282
174
208
296
213
284
279
279
185
254
242
148
248
196
206
249
160
155
188
227
275
280
196
291
144
266
180
180
225
228
249
168
184
198
211
269
229
272
284
204
251
206
145
151
161
269
189
258
240
303
234
249
213
223
265
215
234
162
288
214
199
250
274
126
258
189
244
211
220
149
281
114
255
274
126
255
218
194
290
170
161
186
204
250
231
240
230
163
201
198
230
317
218
188
195
250
251
172
180
206
238
239
188
194
259
187
238
231
210
114
217
257
134
282
206
205
245
248
157
203
219
199
243
176
241
253
251
259
217
170
213
180
213
170
271
235
195
202
239
195
280
235
189
288
234
263
230
158
265
309
271
260
161
202
175
231
260
241
207
247
287
187
203
177
234
146
178
315
263
201
243
298
241
256
175
219
178
193
244
210
226
183
218
261
189
206
208
240
209
248
234
254
214
238
264
198
271
248
201
228
196
174
157
171
149
236
215
197
261
233
223
223
114
216
236
183
258
199
114
250
263
192
305
178
297
227
114
343
228
189
198
126
217
228
244
208
133
230
108
208
234
225
209
209
236
335
265
147
179
200
248
294
309
252
277
173
189
198
206
204
195
146
226
266
139
225
256
167
220
303
197
188
203
221
194
200
248
234
191
114
243
191
226
114
240
196
223
191
155
274
207
244
177
249
149
250
300
190
236
257
251
114
244
269
330
179
221
268
230
230
232
308
212
173
321
226
237
166
283
243
235
192
220
212
170
240
228
174
237
239
321
294
251
294
238
185
177
248
251
200
248
155
283
198
193
220
212
259
259
331
261
243
266
157
266
206
268
205
232
307
238
207
176
265
151
255
232
217
261
149
253
262
220
257
219
224
266
232
254
157
227
227
248
234
214
258
146
250
281
198
254
192
269
211
199
169
265
207
157
169
187
220
275
229
273
173
206
291
154
235
288
241
167
121
195
175
208
265
228
202
170
217
230
156
238
206
237
227
239
227
159
262
194
226
243
227
187
237
170
218
195
250
209
171
283
161
168
250
242
173
285
173
239
206
287
196
312
180
192
178
222
227
176
282
231
275
174
215
264
223
264
263
344
183
234
260
278
156
255
240
220
252
198
221
211
214
217
180
197
249
170
148
214
306
160
252
176
200
280
153
207
145
176
195
212
238
198
159
243
208
210
203
212
258
312
170
205
188
285
192
149
334
116
214
300
230
229
180
222
226
210
202
214
211
146
238
180
212
242
228
187
175
259
293
194
216
259
209
185
114
285
197
258
243
235
225
186
239
285
205
180
232
253
219
213
276
237
296
195
161
263
204
240
228
234
254
220
237
277
284
224
174
211
193
296
241
243
114
342
216
219
201
227
239
273
268
337
199
194
219
212
192
261
214
260
214
257
139
285
181
184
220
210
191
217
206
242
265
253
108
130
223
198
265
254
258
193
240
165
279
247
220
141
195
207
133
233
193
183
230
198
234
265
231
147
248
217
220
240
254
262
160
297
178
253
106
180
189
114
241
213
208
261
173
217
168
246
149
275
233
175
173
219
157
260
190
200
232
225
239
286
231
233
231
242
259
142
262
260
174
212
231
178
243
231
186
281
256
225
235
234
154
277
301
210
239
241
265
242
223
240
248
176
284
170
191
192
299
289
319
241
178
273
210
229
260
239
126
219
192
211
362
181
257
262
171
302
233
238
170
178
234
219
183
189
169
203
169
194
221
213
211
230
203
260
198
240
222
221
201
198
251
174
245
209
145
198
245
247
181
178
190
160
191
262
274
249
241
235
285
149
184
161
247
221
213
219
268
239
214
252
219
200
169
321
173
248
275
166
238
253
209
217
219
238
241
158
242
261
166
229
266
187
243
114
179
264
162
146
238
180
224
281
293
189
249
261
266
240
245
219
251
201
221
235
270
221
286
207
215
189
258
321
205
236
241
301
231
192
211
266
212
114
230
262
194
210
253
175
238
162
217
164
197
164
257
245
281
236
272
204
207
224
223
261
226
205
233
228
209
156
236
281
223
162
268
180
181
198
220
347
323
245
183
259
272
186
180
207
166
304
258
311
267
144
223
258
222
248
252
156
301
206
263
161
152
261
222
192
188
219
238
249
238
263
254
192
220
190
261
198
193
223
241
217
216
218
216
252
225
243
251
206
213
220
224
308
209
272
223
221
196
179
204
315
233
184
192
185
181
277
300
243
242
267
269
220
242
252
230
170
233
241
216
108
197
241
235
196
296
216
257
295
212
222
292
250
209
257
282
239
251
284
231
234
166
185
261
291
258
234
161
114
218
311
258
232
297
275
189
108
255
173
227
160
199
275
210
210
244
191
231
227
198
213
246
287
204
186
182
241
258
170
230
199
195
193
186
194
256
162
203
170
170
282
170
298
257
217
209
234
265
301
274
211
199
245
219
255
216
213
208
292
238
243
200
180
234
206
133
199
294
168
240
213
253
280
174
213
251
173
116
230
230
327
259
165
277
226
196
205
287
114
232
303
259
272
215
207
259
193
183
309
231
250
258
190
234
213
268
216
182
266
238
165
254
232
269
108
320
327
190
260
220
238
198
261
151
234
243
227
251
242
178
176
194
173
239
249
249
184
245
169
217
239
301
246
265
228
165
261
195
254
231
232
248
266
221
265
246
212
168
161
235
237
281
240
175
245
219
286
291
201
256
240
234
210
220
213
242
246
266
156
192
174
311
280
166
222
180
214
255
262
207
275
215
295
323
152
220
203
220
243
202
156
192
307
232
267
274
220
148
210
287
249
162
294
262
230
234
200
245
160
166
280
223
121
155
245
248
219
212
223
225
233
213
256
231
212
235
251
157
145
231
273
157
230
247
234
214
258
241
282
152
248
246
264
228
221
233
287
250
213
309
155
173
205
206
261
144
237
221
224
224
269
263
244
316
165
266
264
147
178
216
224
236
213
263
268
199
287
208
213
209
217
238
213
336
214
258
195
252
274
227
216
211
266
169
268
226
200
292
235
233
211
219
250
216
235
265
290
199
250
204
245
273
301
151
264
230
130
205
179
301
218
260
313
275
210
290
289
264
158
251
218
191
144
206
173
194
223
317
252
289
190
225
170
246
219
217
208
235
191
210
299
174
180
207
214
252
143
190
211
207
310
214
181
212
192
259
268
208
266
243
238
251
246
252
253
225
186
180
254
144
149
174
139
279
228
196
223
221
258
313
283
165
251
165
208
212
290
302
198
229
235
221
232
253
253
236
235
209
178
249
254
178
157
189
283
194
285
216
140
310
192
272
203
231
245
206
232
268
146
181
268
224
206
255
229
194
152
306
237
144
170
194
251
220
252
173
206
176
185
252
277
183
276
178
255
228
165
315
160
195
233
277
238
245
197
194
185
281
244
226
306
260
249
182
208
274
270
351
248
242
267
222
200
126
246
224
250
237
267
154
255
219
192
258
243
235
213
214
152
214
194
305
202
247
280
203
133
222
166
233
233
193
219
195
257
205
283
114
267
180
232
217
250
160
192
252
242
263
238
165
237
183
262
181
234
288
327
270
286
168
156
201
210
218
156
233
232
163
243
187
290
176
231
217
180
249
218
158
217
272
221
235
155
146
228
207
248
217
240
262
174
250
182
212
239
203
239
272
225
263
191
193
265
177
195
258
226
164
320
261
252
214
219
194
212
212
226
246
310
195
260
209
225
230
206
195
177
236
211
158
211
236
278
212
323
174
302
208
200
254
257
217
266
213
231
212
263
316
254
170
216
219
263
231
237
254
250
144
222
186
290
203
231
165
240
190
203
186
254
306
271
181
299
224
244
242
256
165
226
229
222
169
153
172
209
169
265
247
233
193
248
222
290
195
255
202
279
234
201
301
238
234
288
180
277
162
166
239
253
238
210
257
229
321
175
204
236
229
253
228
227
264
214
206
191
178
308
195
114
263
301
248
263
282
256
279
217
181
215
259
175
236
293
238
257
202
240
247
246
285
239
274
227
227
151
181
130
230
209
207
298
204
220
186
258
250
307
199
171
261
206
206
202
260
219
236
261
166
156
250
245
146
114
304
192
173
267
232
181
219
240
239
249
205
260
207
263
208
278
270
215
264
234
173
219
198
175
209
197
114
196
165
168
227
181
237
276
196
322
256
268
203
197
152
265
176
242
260
178
197
230
254
286
194
207
251
195
294
249
178
165
158
205
328
227
238
238
202
153
255
287
130
283
161
283
183
176
299
267
283
160
235
236
147
225
189
188
220
266
211
240
230
222
193
224
199
209
254
269
248
275
187
175
126
266
173
266
249
232
227
222
339
200
325
245
225
198
154
197
223
256
186
250
281
181
191
288
197
181
239
164
257
251
188
233
235
249
224
260
229
227
178
195
198
213
291
236
201
228
270
303
221
174
285
296
241
195
169
180
194
189
233
257
244
336
300
164
270
169
207
236
184
198
227
166
206
170
271
240
173
240
211
235
270
242
238
235
259
228
234
210
186
139
236
225
114
301
219
221
248
211
246
260
263
144
243
239
227
252
231
254
161
283
158
204
210
200
254
212
267
188
182
205
251
195
270
256
219
252
200
220
202
235
250
306
171
178
204
214
145
178
291
253
178
274
214
227
197
257
211
234
219
274
162
212
218
193
293
332
197
249
200
196
190
207
155
255
339
290
178
229
217
179
217
268
224
192
295
301
266
183
247
160
144
211
214
197
177
174
183
212
237
170
174
193
230
210
188
222
216
231
208
206
259
290
278
231
304
250
289
139
177
160
292
181
158
152
254
257
237
156
291
251
177
211
291
261
263
159
240
223
184
227
186
149
234
307
237
253
200
240
176
240
193
146
204
218
208
206
129
250
231
233
178
229
227
242
194
230
207
164
235
171
183
202
226
190
209
210
332
202
233
252
229
155
255
209
205
260
266
244
244
222
285
193
227
257
238
271
181
234
251
228
274
258
306
174
225
188
235
243
202
231
234
175
246
114
169
266
163
256
278
233
289
234
263
186
170
245
313
311
200
196
233
224
236
191
215
189
151
221
217
263
315
329
238
194
114
156
170
282
257
163
187
186
205
233
136
260
252
260
223
232
234
189
179
281
244
298
254
187
146
167
178
262
237
256
170
170
202
229
220
126
224
177
279
160
236
174
214
195
256
187
176
224
363
253
161
222
222
274
220
236
225
186
235
313
173
197
300
201
337
160
244
145
234
203
310
250
152
300
166
233
279
114
208
263
217
230
175
204
209
244
245
216
269
178
178
277
250
255
152
260
161
210
262
261
228
221
309
193
157
268
220
245
174
193
237
285
209
245
215
257
237
254
257
262
194
200
221
244
286
171
246
213
317
173
233
189
214
256
200
178
241
216
214
249
203
196
262
182
154
286
212
261
219
191
326
207
175
261
237
196
184
260
236
259
267
246
186
156
156
191
279
241
218
251
286
126
175
217
241
241
288
215
247
195
215
233
220
232
227
145
283
266
276
247
252
291
191
196
207
174
220
231
203
203
256
214
144
222
173
210
240
253
186
253
200
233
210
293
214
237
233
221
240
317
211
169
243
114
281
139
266
146
162
201
219
152
252
295
237
182
219
189
245
163
261
197
270
249
266
214
259
229
283
266
228
259
210
260
240
218
210
198
158
215
247
180
214
166
253
226
213
212
268
199
251
148
267
268
179
190
295
274
218
285
221
216
194
175
214
163
236
195
243
238
165
206
163
196
201
251
204
196
209
243
222
228
255
225
233
215
230
223
234
167
197
203
233
277
181
278
190
199
273
267
221
205
246
215
186
175
225
219
198
235
247
220
139
230
234
224
184
230
258
161
220
264
215
249
217
248
262
218
233
197
244
160
245
265
217
204
311
203
261
203
183
217
180
192
207
281
180
250
306
219
384
114
205
231
173
248
204
234
279
192
203
220
114
244
194
202
247
182
247
258
253
253
196
275
261
214
228
114
241
225
180
325
198
247
332
241
187
303
231
198
233
273
242
209
291
224
236
233
197
149
245
240
260
277
219
307
212
198
279
179
241
227
224
286
180
114
214
196
187
184
206
170
234
227
164
198
201
266
168
201
249
173
144
321
232
188
207
251
166
237
219
219
207
198
278
226
242
178
198
201
147
198
240
205
222
237
209
181
144
163
235
281
189
201
189
247
246
204
207
205
216
235
158
164
271
246
200
200
169
186
266
320
198
225
228
195
273
183
218
305
207
199
204
203
246
214
213
194
197
164
210
230
280
267
327
165
280
235
282
220
235
222
211
194
203
224
253
217
220
221
223
187
214
209
128
216
241
272
225
207
166
205
206
240
288
214
170
245
203
224
307
192
293
201
257
203
242
210
270
285
256
283
121
224
243
308
234
215
228
194
214
209
200
227
236
232
242
260
297
252
246
194
194
211
211
270
218
227
189
219
116
333
188
246
215
237
225
314
209
211
209
181
217
170
246
233
198
146
177
161
170
246
154
234
202
253
272
191
191
172
241
176
208
248
181
193
241
211
248
218
273
239
257
249
234
181
214
199
253
288
181
238
212
156
180
267
190
195
239
198
237
176
208
168
263
269
228
146
114
173
240
195
310
252
255
286
188
139
249
208
307
258
183
178
170
234
283
203
308
275
318
356
238
208
167
215
250
283
185
170
231
221
273
180
114
229
208
230
186
187
267
281
164
116
255
256
181
243
178
170
195
211
284
220
208
198
261
224
182
231
300
207
218
196
215
199
215
264
178
244
273
224
234
218
170
181
192
237
295
227
275
223
195
238
209
207
270
192
222
209
196
218
295
302
284
272
203
271
178
226
220
184
183
246
187
260
208
303
233
227
300
211
193
149
227
207
234
220
238
171
282
226
222
257
242
260
198
114
242
235
221
283
214
215
193
219
204
219
208
173
156
276
198
231
182
254
229
278
236
176
261
213
239
288
173
195
290
223
158
244
178
234
275
236
243
221
247
204
239
246
242
214
194
278
184
245
179
198
257
237
247
187
256
219
267
195
170
222
172
263
209
170
231
245
181
156
216
218
214
161
175
259
194
322
174
266
145
205
227
214
144
226
219
158
195
164
202
240
220
152
176
192
208
146
239
233
173
219
253
285
199
229
139
173
247
251
204
207
204
168
206
196
238
282
256
152
176
354
222
201
191
206
201
241
245
177
266
198
263
200
216
184
219
298
155
207
171
160
211
280
240
200
271
246
280
218
200
351
195
192
143
246
254
305
238
114
303
114
244
306
210
186
228
300
255
191
204
181
122
251
213
220
188
185
231
221
280
195
210
220
170
265
250
226
179
169
213
224
231
275
246
285
217
284
190
195
246
206
191
220
257
192
239
225
215
158
229
116
207
265
263
160
173
264
232
287
204
266
175
316
264
178
266
240
153
224
204
162
126
263
179
218
179
208
207
180
238
232
174
168
194
188
334
305
207
199
220
195
301
215
225
203
231
252
276
221
222
174
298
191
240
227
305
129
252
179
278
233
244
228
318
219
217
291
215
167
224
212
231
266
251
236
197
220
270
260
213
177
173
225
178
134
287
259
304
211
187
228
250
270
166
114
215
222
207
263
268
190
225
212
239
251
246
253
248
175
152
341
259
203
271
234
240
145
213
267
275
244
229
297
203
166
211
248
243
290
282
262
183
230
240
243
299
198
224
264
204
215
204
253
242
270
247
214
225
358
160
200
174
219
218
220
243
177
239
225
289
198
145
210
252
183
180
227
208
174
149
224
183
212
206
289
215
230
280
253
227
151
167
263
170
188
263
234
209
148
189
228
256
202
325
291
178
191
211
260
334
209
248
164
249
237
309
149
216
201
205
181
245
318
213
288
191
212
166
242
214
198
205
272
228
218
245
206
241
106
256
198
339
283
266
273
281
230
208
196
257
250
263
218
197
255
176
218
277
177
197
180
257
240
250
219
208
220
200
223
208
255
198
306
214
233
208
161
244
208
199
269
198
298
181
149
230
139
195
274
198
248
203
188
305
188
206
296
310
270
180
290
294
293
224
338
134
225
206
215
146
197
250
223
239
240
260
170
234
189
170
252
241
256
228
252
188
277
226
223
196
226
222
289
212
229
242
200
244
162
189
190
346
217
211
295
222
250
231
195
146
209
270
267
170
236
177
193
220
284
233
275
167
264
244
286
240
114
223
244
194
265
175
261
209
266
256
246
221
208
192
211
185
192
260
327
270
194
251
183
106
144
212
246
162
210
198
152
114
274
246
308
186
167
261
312
274
260
201
238
178
215
216
184
220
253
206
220
183
198
189
275
180
261
240
210
266
272
245
243
208
287
338
253
251
236
190
245
191
226
259
289
273
240
181
166
183
211
275
264
218
159
198
210
199
213
206
225
180
316
194
228
234
158
283
235
277
254
198
235
181
231
222
273
232
189
197
145
213
241
234
277
332
243
284
188
308
251
267
350
168
227
187
129
186
145
284
281
237
161
314
313
248
151
223
189
114
263
276
204
236
222
256
231
220
177
194
106
242
365
280
282
184
181
220
254
216
181
192
239
219
217
276
212
263
308
212
209
296
232
231
272
218
223
165
206
249
177
186
160
220
203
224
186
204
307
178
114
236
149
263
186
171
199
224
168
220
290
220
152
213
195
198
176
189
187
274
286
223
208
208
235
114
231
221
208
212
213
242
223
287
225
260
202
208
244
320
336
212
213
230
225
280
257
227
195
173
183
176
229
173
139
245
299
184
255
252
250
179
262
228
202
231
266
205
236
265
251
280
282
114
167
178
293
204
186
182
312
212
231
204
236
243
222
233
160
242
192
166
173
267
213
285
212
232
245
212
227
205
354
255
173
222
253
219
223
294
202
245
230
199
240
221
199
230
235
252
200
205
179
248
194
251
193
149
156
259
270
198
249
226
215
275
204
255
167
245
204
195
114
159
223
245
258
217
114
202
291
220
297
297
201
214
204
226
226
322
319
235
182
201
266
258
122
181
243
267
114
222
236
253
248
214
261
256
213
286
169
184
248
222
200
219
281
212
160
140
214
280
249
195
192
175
230
240
186
170
180
182
256
200
152
163
246
235
268
234
180
248
264
249
232
210
223
278
234
190
185
292
192
298
247
227
135
163
215
245
147
189
190
164
213
236
187
196
210
253
258
202
200
211
182
172
333
195
185
213
228
268
199
152
232
221
176
284
148
139
178
235
193
260
222
190
216
269
218
228
215
262
192
166
195
251
179
260
194
210
211
209
214
266
207
183
195
177
246
114
216
172
191
278
145
196
145
256
234
215
222
223
221
165
201
175
199
129
114
209
221
330
241
206
239
284
214
224
207
216
189
231
247
262
282
221
192
158
235
234
277
203
234
151
258
286
287
221
182
195
192
339
243
166
222
212
330
222
274
233
201
291
181
168
206
213
226
210
173
209
190
252
276
254
260
168
246
173
256
241
253
281
265
247
216
229
165
206
220
201
218
281
171
180
114
238
301
258
114
195
251
261
232
311
299
273
216
159
342
156
177
284
208
215
246
251
217
216
214
204
215
258
209
279
152
293
268
208
227
173
253
224
258
148
171
262
270
223
203
214
239
191
175
192
222
194
313
248
206
266
204
271
161
224
218
156
235
259
221
216
145
243
162
189
228
161
298
234
146
213
206
237
222
271
293
139
288
216
281
252
265
253
294
167
195
200
209
160
218
268
254
229
237
229
321
295
239
233
165
232
195
171
285
271
239
147
254
312
246
240
341
194
316
185
288
219
245
217
173
219
204
221
129
166
229
193
253
192
213
223
236
270
211
180
236
281
234
213
222
170
286
152
286
215
253
220
192
258
234
218
147
232
234
258
237
190
276
239
169
156
216
224
182
217
291
292
290
213
217
156
203
196
250
214
252
235
266
241
259
180
197
210
176
233
145
165
208
270
197
164
200
153
256
206
270
261
284
349
179
233
354
305
203
229
261
226
185
275
280
243
183
254
236
238
139
201
173
129
260
226
199
186
279
155
202
247
274
139
208
213
230
190
277
224
220
144
266
226
232
187
207
204
170
237
240
236
237
251
207
208
327
290
114
271
221
190
246
175
221
227
244
160
233
346
209
209
272
211
291
154
224
237
232
237
212
166
233
240
252
326
294
257
242
227
217
121
341
161
249
192
217
175
208
271
220
260
200
202
261
208
187
193
195
195
244
289
188
277
220
250
186
242
182
229
195
296
170
226
228
229
198
170
168
264
179
278
206
342
245
184
175
276
266
177
278
275
235
257
208
116
172
228
233
293
269
216
185
165
208
218
245
283
268
230
286
114
250
226
245
270
237
294
274
196
173
245
170
202
286
286
167
214
205
298
260
252
203
177
114
185
246
208
296
274
251
190
171
174
152
218
206
283
193
276
163
190
146
108
207
198
177
278
241
222
173
237
207
230
247
207
225
298
139
229
238
208
292
186
247
238
159
254
250
184
190
255
182
305
220
275
255
239
349
198
255
168
169
171
114
187
204
250
218
173
210
167
277
245
295
230
216
258
218
212
252
163
199
174
126
216
169
223
275
149
178
169
159
178
211
296
154
261
238
278
235
208
178
221
228
206
184
256
268
292
231
195
218
219
250
259
270
273
177
312
225
233
284
247
200
172
244
208
252
184
211
224
287
165
278
214
231
294
245
257
239
234
145
216
305
209
230
235
284
159
252
251
229
241
126
173
223
174
191
197
198
228
164
215
274
254
259
240
231
234
282
265
187
225
270
258
262
196
277
167
278
227
160
126
229
204
192
278
220
186
182
182
179
220
269
252
130
215
200
275
182
196
168
208
265
209
199
173
233
192
267
211
283
252
235
205
122
196
208
191
175
283
202
191
179
180
201
264
278
289
266
154
172
181
162
215
114
181
201
175
284
221
260
235
275
184
249
195
160
196
254
192
258
186
205
162
199
209
277
177
273
310
191
276
259
167
139
308
220
154
209
175
237
160
274
228
156
253
251
223
249
194
176
254
179
154
234
179
213
197
284
203
217
130
266
152
161
211
222
250
209
234
230
210
233
169
272
144
248
217
126
303
210
233
263
266
241
178
203
200
232
242
276
140
260
246
229
116
202
208
234
276
170
197
196
203
193
184
201
229
284
207
273
196
236
145
245
229
247
193
234
225
275
235
217
244
185
289
224
204
247
224
198
184
253
202
192
178
249
223
181
200
215
264
204
207
189
231
181
168
247
165
235
200
223
253
223
224
340
235
259
224
228
213
237
240
170
231
186
170
227
236
233
290
170
181
192
241
215
126
189
280
217
196
174
186
191
272
218
198
242
305
250
192
256
185
196
198
221
218
208
250
200
248
236
227
235
276
146
246
250
258
266
300
291
218
243
214
200
201
277
207
217
229
215
247
276
226
197
249
371
178
226
249
200
207
176
298
212
260
175
208
215
266
184
256
209
247
224
224
275
251
190
193
170
166
262
316
168
265
241
170
161
211
235
278
232
260
271
268
222
229
179
220
174
195
242
179
195
185
281
249
222
203
235
213
206
225
194
285
267
261
201
253
293
173
190
202
293
321
220
244
209
296
242
248
254
180
299
279
235
271
233
236
279
300
227
273
177
192
264
210
284
306
255
247
184
224
149
116
287
234
229
249
170
311
215
252
166
261
303
266
272
216
220
175
225
221
193
256
259
224
218
212
191
129
126
235
216
231
184
256
228
182
297
236
212
269
212
175
240
198
213
262
252
189
175
145
268
273
265
254
329
201
335
163
202
216
139
225
162
250
232
246
270
138
195
149
173
219
201
176
122
190
213
266
288
238
255
151
156
241
152
270
260
183
260
194
213
215
198
152
250
230
241
262
240
293
164
232
190
179
286
242
217
190
114
170
276
190
114
209
164
225
265
227
253
242
204
199
203
231
289
293
229
206
201
215
205
266
212
178
239
274
239
213
226
227
227
204
248
173
227
175
181
246
114
129
213
265
233
175
203
256
237
156
219
192
245
186
292
266
151
209
259
243
199
283
224
209
195
221
264
194
108
269
202
201
181
243
180
244
225
163
277
188
278
240
239
246
198
306
234
232
206
269
160
206
280
226
241
205
156
235
237
243
219
174
260
337
261
280
265
296
193
255
184
240
178
243
224
196
259
272
210
259
233
288
225
178
290
274
185
215
270
342
294
294
206
169
157
202
219
180
114
181
182
272
229
144
211
269
173
219
226
151
299
189
304
158
236
220
273
297
301
259
184
210
298
270
160
234
271
192
154
221
240
160
198
235
197
208
292
252
242
207
245
189
193
251
180
211
126
202
182
260
193
240
265
232
281
164
198
191
226
234
184
139
301
243
265
306
211
114
280
207
209
157
174
191
195
196
226
248
148
205
203
241
215
213
263
161
218
294
177
146
259
174
163
114
272
253
208
258
210
261
218
284
304
259
355
179
246
243
256
198
254
162
234
234
195
222
164
275
227
257
225
238
244
227
181
208
288
200
260
247
214
238
295
220
155
202
294
284
137
247
174
226
196
287
210
208
290
215
283
165
192
239
222
367
331
199
175
244
227
201
288
230
226
212
192
227
195
177
200
269
190
181
268
195
213
214
249
261
211
114
276
277
243
201
226
234
114
258
156
177
280
294
193
243
242
290
229
227
114
114
205
210
205
220
231
264
152
191
251
198
263
229
231
151
228
193
195
262
192
219
261
223
170
227
222
255
191
212
250
164
183
332
287
190
219
215
233
218
241
252
245
222
269
232
151
296
217
230
215
237
237
210
108
200
207
169
258
295
270
244
198
295
133
259
238
218
209
320
231
193
287
209
222
296
245
270
284
228
289
152
187
224
291
260
342
203
222
116
204
177
207
233
253
198
426
174
223
275
180
244
218
211
198
177
184
204
154
295
219
198
235
219
185
262
285
148
274
205
260
193
255
301
181
251
245
221
166
224
196
228
235
262
279
210
180
198
244
292
226
312
230
160
189
184
226
277
197
190
200
189
214
194
250
241
231
260
250
174
253
225
296
228
274
261
229
220
232
216
228
261
238
223
173
217
214
245
231
213
200
152
210
114
250
216
195
197
283
210
241
189
306
281
233
208
222
170
151
246
195
265
253
295
166
202
220
269
212
252
229
229
205
177
261
216
185
244
156
240
247
211
152
331
173
234
255
206
148
252
185
240
201
170
139
229
258
194
218
192
300
158
184
183
207
176
166
241
216
209
261
183
272
258
235
222
253
225
209
196
210
194
260
273
284
216
172
223
213
260
321
217
243
218
205
272
277
252
214
219
235
201
175
186
214
261
268
273
235
184
333
291
233
166
191
178
253
200
169
174
229
218
219
284
215
197
279
219
207
220
222
297
203
180
160
247
247
173
280
250
260
267
243
278
261
211
258
233
277
179
207
267
284
141
304
290
277
223
294
116
252
264
180
255
247
290
239
277
226
214
239
214
187
160
189
311
180
238
197
225
259
155
274
278
262
235
268
271
163
244
243
250
247
221
159
273
183
305
182
142
218
208
184
157
229
173
211
186
248
250
170
244
209
296
285
306
214
252
211
264
195
240
297
234
228
172
221
114
292
181
218
221
168
197
179
197
235
222
317
198
231
215
218
273
172
235
191
211
207
181
260
187
231
178
229
214
288
199
214
170
230
201
205
222
241
259
252
222
192
194
170
198
205
259
294
175
215
215
289
195
257
285
215
156
232
228
139
226
226
279
210
240
301
259
219
240
239
278
239
341
139
257
219
219
268
308
312
181
244
249
228
226
210
214
253
332
179
249
158
179
233
139
250
292
274
206
243
328
227
235
256
228
278
190
321
243
239
152
266
242
197
214
147
263
170
262
208
173
182
276
231
258
284
267
204
207
299
224
218
195
230
160
216
164
245
278
255
277
263
233
211
238
240
271
198
216
139
247
153
189
212
261
160
205
230
114
181
178
271
233
250
203
237
294
243
282
255
174
245
182
167
260
166
205
240
283
239
172
243
271
245
139
285
176
190
253
233
242
279
229
239
193
181
223
274
207
264
180
238
139
208
239
242
219
216
169
239
155
178
190
233
293
190
269
211
163
149
334
246
244
258
231
214
288
198
259
182
223
207
225
179
202
241
178
269
145
260
178
309
195
234
278
241
267
218
236
298
148
244
210
178
229
249
213
214
251
213
206
324
195
189
249
203
151
289
258
202
202
170
195
219
114
229
201
266
188
202
208
285
195
216
358
206
228
201
247
206
222
231
239
213
179
169
242
184
228
211
291
247
321
238
227
275
193
215
246
213
228
188
154
207
327
194
295
174
243
319
178
258
184
206
174
192
203
308
257
245
197
351
231
198
190
175
257
259
220
228
114
233
214
278
273
175
192
238
176
251
274
230
144
199
249
206
146
207
198
203
270
211
219
322
195
280
203
170
216
254
192
297
207
290
144
151
188
251
253
297
202
304
231
237
126
260
263
146
183
223
250
314
196
316
253
322
139
198
196
170
270
308
182
221
276
203
164
151
278
278
181
191
209
218
180
204
204
281
158
178
249
245
200
227
217
254
208
279
196
255
224
231
211
210
294
301
217
198
230
240
273
195
239
198
256
237
216
253
223
225
165
161
226
219
316
205
185
298
207
203
225
271
222
184
270
230
215
227
235
289
203
247
187
174
240
245
182
214
255
195
250
180
226
175
209
265
191
219
270
245
215
275
228
223
168
236
173
260
245
229
181
215
295
174
246
173
180
241
187
230
160
206
181
307
198
217
216
207
261
246
165
281
245
180
220
161
200
203
189
256
191
200
221
241
234
294
260
200
207
160
211
270
197
162
179
227
179
233
234
227
286
227
230
214
259
279
293
264
144
144
173
161
211
246
170
206
228
264
242
274
234
253
187
179
235
207
204
271
200
274
184
164
315
217
196
231
193
198
229
229
229
211
227
174
181
158
304
252
265
287
186
187
184
172
262
311
282
243
191
219
225
282
220
367
217
259
207
207
211
313
268
216
236
234
179
184
193
153
139
228
273
215
204
198
242
280
204
173
224
186
191
215
178
229
256
264
201
160
169
184
255
256
200
199
195
238
219
181
200
286
213
282
218
220
158
254
277
189
261
193
170
188
274
204
207
278
160
236
208
214
196
214
245
220
233
228
241
245
185
258
256
241
202
158
252
275
213
181
207
234
205
157
212
220
239
257
255
236
226
267
189
281
212
214
165
176
235
210
239
178
286
197
299
156
183
254
192
220
244
206
202
237
156
183
161
227
266
257
278
201
178
216
214
282
171
298
201
238
203
228
190
212
258
227
260
213
244
185
201
235
144
272
229
234
292
126
201
239
185
250
200
274
227
287
232
320
314
296
206
232
288
315
235
239
271
258
170
247
223
192
265
160
256
175
221
215
209
290
192
229
174
252
223
238
189
191
261
236
162
202
177
272
165
234
258
206
227
213
202
230
229
206
295
178
215
264
253
247
242
228
239
230
255
277
263
192
211
199
233
268
230
259
221
257
189
198
172
252
218
214
228
213
212
214
255
265
260
295
278
210
171
220
177
270
289
201
263
261
229
153
197
213
214
272
238
165
227
235
279
262
263
272
191
233
199
178
239
283
172
253
162
260
198
210
267
165
293
251
271
196
195
215
212
245
232
231
160
238
224
152
214
198
259
156
240
152
193
177
169
192
250
201
259
205
255
257
214
210
235
240
239
248
241
221
254
340
215
208
175
182
214
266
228
281
232
191
218
265
283
235
221
170
170
272
207
286
219
175
192
161
232
194
238
218
200
209
257
198
204
264
175
178
298
245
151
158
251
222
219
193
178
234
238
315
218
199
247
207
274
261
264
207
219
273
261
261
321
327
219
170
244
215
273
222
192
247
213
224
284
231
231
246
208
197
247
227
151
167
203
139
201
249
199
256
194
198
151
235
228
174
213
283
264
198
198
211
144
252
312
193
205
260
215
282
276
305
223
272
252
222
198
129
343
305
181
240
161
126
121
223
231
251
268
257
173
194
210
222
275
242
232
228
199
281
114
224
228
186
166
244
173
192
246
225
235
221
217
244
212
271
274
224
259
235
217
251
288
229
178
181
287
312
203
231
266
245
234
299
152
240
280
257
260
207
186
306
250
252
212
244
226
184
215
249
235
268
229
228
126
216
242
173
234
229
242
191
196
212
266
251
287
221
244
261
309
256
155
187
186
322
243
217
192
204
203
260
198
214
262
259
221
161
204
171
241
201
114
246
207
249
295
235
233
212
190
197
154
250
241
177
226
231
208
275
162
216
317
197
175
213
285
199
170
206
218
237
295
232
308
156
208
216
237
144
298
211
314
287
160
241
114
240
299
206
292
224
158
181
170
225
246
290
270
206
222
242
237
223
154
246
160
291
269
185
225
230
238
220
219
235
170
158
239
254
193
252
198
263
246
226
214
239
210
305
213
266
271
243
240
183
220
260
226
223
225
207
222
215
185
222
251
285
169
222
181
275
245
227
215
151
240
253
228
168
241
116
246
215
219
225
252
253
212
178
173
170
281
211
175
234
232
246
223
240
155
211
199
144
157
228
269
187
205
227
191
220
215
170
326
233
256
224
209
190
186
318
250
173
160
235
214
340
181
244
212
319
199
114
226
209
300
219
233
265
145
156
231
234
268
223
238
221
180
216
282
199
252
203
267
260
269
303
247
243
210
218
209
250
254
308
291
180
202
180
203
233
245
139
226
232
173
224
156
230
233
196
241
254
242
227
223
282
156
239
189
232
240
147
241
246
242
254
219
217
298
257
122
204
264
116
211
174
176
221
192
203
206
158
224
230
161
342
212
190
231
256
229
243
211
228
297
114
229
160
227
156
170
230
215
270
239
218
156
236
293
260
173
247
304
222
203
203
275
231
243
290
212
219
259
208
228
245
279
236
242
151
167
189
214
171
190
209
275
249
191
248
240
231
282
169
245
299
235
295
239
193
176
175
228
208
235
219
288
207
185
203
220
181
211
209
218
332
261
240
290
245
200
265
254
220
211
178
219
162
220
187
233
269
190
216
274
275
198
220
210
236
238
154
248
222
174
128
194
203
260
314
248
221
179
202
276
156
218
161
247
231
164
193
249
244
210
261
169
343
284
235
214
207
190
276
246
249
166
283
202
201
283
211
297
187
198
252
206
283
169
213
164
226
309
155
306
175
282
180
180
217
269
169
271
297
193
277
271
269
244
268
292
209
216
190
189
182
215
233
206
126
268
210
305
246
201
218
214
281
214
290
202
242
195
206
242
207
251
222
274
214
197
229
267
278
244
191
262
254
260
260
281
193
181
196
284
170
193
252
244
220
227
279
201
207
193
223
238
258
229
296
223
204
246
208
265
191
257
163
192
193
261
179
203
215
210
257
203
209
198
174
207
209
175
162
198
211
207
147
257
182
255
225
215
247
245
196
249
252
222
156
178
262
179
294
258
225
175
217
192
203
261
213
175
239
230
270
311
208
261
232
184
223
263
322
274
195
260
175
171
263
213
237
224
165
253
239
248
259
180
194
149
261
193
174
130
184
218
198
272
276
225
300
192
234
227
183
170
328
186
306
193
225
258
218
179
275
231
160
173
250
215
219
230
234
248
235
241
176
286
196
207
181
208
256
168
256
241
245
218
177
275
211
320
183
288
238
250
294
328
223
236
253
273
208
279
271
250
246
204
211
256
214
281
264
174
179
201
199
211
170
264
343
195
173
184
270
276
217
253
232
186
210
239
200
214
240
240
166
182
202
255
232
268
184
214
177
215
208
236
259
225
275
181
205
214
218
192
254
229
160
288
225
180
204
239
251
196
204
262
197
294
209
202
192
205
189
271
339
297
250
218
187
114
179
172
266
220
227
224
270
202
250
181
230
244
225
202
164
181
376
203
240
200
213
255
204
251
175
175
253
214
273
234
264
205
114
167
212
212
197
317
114
177
180
323
202
307
219
238
206
198
230
225
202
219
171
239
173
253
259
179
231
303
207
184
198
220
209
190
195
211
242
297
272
211
152
214
214
243
239
201
159
202
245
175
215
169
234
235
249
181
264
203
272
180
260
259
193
151
301
256
169
193
193
197
243
302
270
239
248
225
305
213
251
230
199
151
188
253
188
135
253
201
243
260
224
156
121
221
256
289
173
198
203
220
197
157
245
227
145
229
235
220
253
226
296
255
160
278
194
268
214
256
241
220
198
229
201
221
258
178
257
257
216
257
235
221
175
223
247
195
228
318
160
207
204
254
165
193
224
235
189
214
162
200
245
207
224
323
263
169
230
234
184
229
146
293
195
265
163
174
208
262
296
161
220
249
198
292
114
270
293
226
285
151
293
290
315
205
243
233
231
221
272
193
173
244
309
267
332
236
249
235
237
245
222
256
155
209
280
162
248
337
185
250
260
207
198
209
256
219
236
214
237
170
229
174
233
305
273
238
303
222
232
186
160
181
221
279
114
263
191
173
246
260
153
241
198
196
282
116
186
209
193
247
175
161
251
247
200
190
238
277
214
279
278
213
220
195
228
220
209
129
299
209
206
226
295
200
206
280
214
246
313
305
199
243
152
285
161
361
170
208
221
218
271
247
238
262
220
160
238
235
233
197
199
211
162
205
166
200
202
222
200
227
225
240
187
152
285
191
246
244
266
216
158
262
206
259
242
215
222
193
202
207
270
114
196
191
265
114
276
191
214
246
265
181
151
234
214
234
256
163
226
269
193
245
184
283
193
166
202
326
151
263
264
237
270
200
173
248
243
312
228
228
192
164
220
367
214
211
214
233
296
207
228
126
300
220
266
279
285
192
219
219
215
151
261
257
178
276
213
355
250
195
262
153
317
229
210
227
249
194
241
203
237
229
182
231
188
151
255
235
268
267
171
245
306
230
308
283
207
243
227
268
173
241
221
205
215
218
216
252
296
295
295
209
172
222
231
258
215
173
245
357
278
207
217
238
280
214
198
222
318
199
220
228
158
212
269
227
134
357
192
300
229
228
198
201
218
166
265
229
213
170
232
243
298
283
175
326
145
287
231
261
238
319
154
220
234
139
346
189
240
245
285
308
219
205
283
192
251
209
186
183
335
199
283
199
158
227
114
259
181
174
248
175
170
306
209
295
280
327
165
279
276
207
276
168
229
160
176
252
278
230
246
255
229
194
298
149
287
192
201
207
232
206
292
126
268
303
243
170
293
213
290
285
220
170
222
235
278
184
175
168
235
172
217
238
223
209
248
216
236
274
305
170
303
184
209
145
217
192
224
246
223
289
169
328
205
275
226
259
154
300
256
216
221
108
258
214
197
199
237
200
250
165
229
197
217
292
267
254
227
213
268
228
236
245
203
234
218
244
219
254
243
337
200
270
356
145
340
229
210
165
272
304
208
232
265
186
251
245
166
159
238
263
332
245
262
195
273
156
241
308
283
164
253
235
252
261
158
263
286
230
235
224
203
300
235
216
226
242
126
173
213
286
214
215
230
238
215
205
189
170
281
178
190
183
294
315
236
241
167
250
231
207
164
221
241
226
249
213
218
276
139
227
232
268
294
200
151
192
203
191
255
254
266
262
244
169
207
208
178
210
283
219
207
233
227
194
269
232
240
243
152
250
281
239
243
261
182
286
268
182
186
241
223
245
246
254
218
160
274
200
299
166
258
248
281
226
205
252
183
147
229
236
269
167
253
255
236
278
209
154
222
239
229
221
211
274
156
245
222
263
230
235
156
306
222
173
261
213
266
206
236
213
177
255
229
172
218
208
201
192
175
194
255
201
353
214
218
207
180
207
285
215
172
193
218
243
258
282
310
235
270
258
228
263
229
181
321
276
199
176
243
248
284
167
292
190
252
302
265
246
219
204
245
225
234
255
212
235
174
233
183
263
242
257
254
260
220
234
186
267
182
300
256
215
284
235
152
323
145
245
256
235
196
229
175
341
281
267
248
206
310
155
219
286
235
251
232
245
158
162
334
200
227
182
181
200
198
226
210
300
260
206
260
214
199
178
243
343
244
203
188
226
230
163
239
188
244
219
217
126
238
156
219
232
218
195
170
249
250
209
133
126
181
207
251
232
263
173
186
129
215
237
260
229
222
248
262
259
259
226
181
114
195
208
196
247
219
222
259
257
207
299
258
240
244
175
284
287
216
178
231
247
145
229
204
249
205
203
171
155
238
222
171
192
190
173
223
228
220
250
215
203
291
108
139
156
167
263
144
281
211
194
186
245
156
185
237
181
240
178
255
199
295
221
248
283
228
219
252
259
218
249
192
219
216
213
303
248
293
209
215
194
197
202
225
191
254
202
301
183
114
225
252
209
157
214
291
313
240
272
211
277
204
222
239
228
274
235
233
229
114
241
269
198
200
195
275
192
239
203
184
266
265
222
174
203
160
224
187
273
248
165
232
213
208
262
145
170
200
291
193
240
225
187
267
174
212
192
229
261
128
239
211
179
236
211
170
231
215
208
240
205
182
192
176
200
230
252
204
276
212
220
114
114
258
144
348
231
254
164
191
145
187
211
197
169
289
220
251
222
187
273
229
234
232
198
126
251
237
194
130
162
148
219
211
253
266
208
266
281
247
151
174
254
202
217
207
209
249
192
180
232
245
263
185
331
243
178
233
233
191
261
221
237
184
322
261
236
276
207
226
226
157
239
262
193
263
202
237
264
248
258
290
189
308
219
280
158
212
206
201
164
106
184
203
223
156
220
234
175
225
285
297
160
338
156
178
220
201
166
257
195
189
235
276
256
203
274
247
198
193
254
243
322
244
239
250
236
202
162
212
195
230
199
250
188
192
239
237
232
251
271
220
242
280
174
235
214
211
200
322
227
203
210
189
238
258
294
189
234
234
224
233
222
170
226
258
129
231
191
154
238
256
237
139
257
275
204
289
300
212
170
266
230
215
260
182
256
281
288
218
258
223
195
114
183
180
280
212
268
307
189
240
248
216
151
245
244
237
175
219
222
260
264
217
158
253
211
206
239
213
184
198
259
156
246
178
191
179
148
246
242
193
273
212
219
247
287
302
208
211
245
178
304
190
246
273
234
157
176
271
246
264
360
241
268
181
227
230
169
133
186
241
287
254
190
277
213
284
246
163
165
189
219
205
186
168
282
267
260
240
234
256
289
208
271
185
237
199
224
230
196
210
254
160
266
204
237
256
160
274
212
173
216
267
154
234
255
204
136
198
253
199
258
255
229
268
220
204
201
271
151
253
246
238
183
249
309
175
168
294
151
247
193
232
192
272
144
209
145
202
278
197
193
202
161
355
249
252
278
211
173
306
175
201
236
283
203
215
193
280
176
198
279
261
140
242
158
174
208
213
171
200
226
251
284
239
233
240
283
173
208
158
193
222
254
240
257
204
189
211
231
200
216
238
251
231
199
220
200
179
139
337
216
165
179
305
218
273
170
254
241
240
206
195
238
192
194
190
176
175
192
167
215
296
283
283
144
232
192
193
210
265
227
240
146
269
238
227
170
262
191
166
267
265
201
233
285
235
241
146
114
242
180
232
152
198
260
237
235
234
188
188
260
262
271
223
218
234
213
252
256
212
188
252
186
256
248
203
178
247
200
296
192
265
237
256
290
301
184
225
133
209
198
144
156
264
233
209
245
168
290
263
209
207
257
308
253
313
265
219
230
220
250
257
254
223
212
248
218
224
187
237
240
270
237
202
230
173
263
312
235
253
203
241
164
251
114
214
249
219
274
308
202
216
253
209
232
262
165
173
139
271
251
186
160
238
181
231
280
313
216
232
266
230
162
223
225
218
240
269
230
129
252
241
226
235
214
323
259
208
273
213
178
139
194
230
204
255
245
233
318
239
246
139
204
226
320
239
259
231
271
270
254
269
288
231
223
322
175
279
166
230
275
247
161
199
247
173
253
173
241
273
223
204
310
160
275
218
193
174
213
192
248
250
237
308
237
259
250
172
253
114
149
183
253
207
310
204
193
238
164
214
215
247
177
154
213
114
199
186
114
210
222
271
192
229
273
160
190
229
275
219
205
256
234
234
199
273
225
211
233
187
128
228
202
212
208
181
292
161
215
267
251
184
322
196
180
292
210
253
177
163
257
208
159
299
279
176
210
237
191
180
234
254
273
280
237
198
310
210
196
237
201
213
204
258
332
216
200
202
230
198
165
223
238
253
211
222
218
165
225
216
288
218
284
236
284
167
167
260
292
253
224
231
202
270
216
287
223
229
222
267
200
183
181
195
191
248
156
197
207
231
114
242
296
292
263
190
257
201
273
279
266
178
325
242
258
215
233
262
239
232
315
288
192
193
237
170
255
243
263
230
291
178
220
153
199
220
233
260
206
185
286
313
220
192
245
259
198
255
240
233
195
208
181
237
252
218
267
292
169
218
300
202
207
144
182
272
172
239
156
295
262
210
252
273
290
178
247
206
231
238
289
206
301
243
198
272
242
278
186
220
159
226
211
265
264
192
192
220
247
221
246
219
256
245
238
130
204
139
189
273
242
256
251
239
223
208
231
233
226
230
202
263
251
262
223
206
236
306
231
168
238
178
160
245
300
235
246
221
219
244
244
228
207
203
203
246
180
241
179
263
210
260
151
245
188
130
198
226
162
158
233
189
233
237
210
292
162
156
222
227
219
273
249
203
207
254
199
230
269
114
173
252
227
213
288
174
152
200
278
223
270
251
157
211
234
238
189
222
203
238
213
200
194
286
278
260
218
306
214
197
218
218
231
224
202
219
241
257
108
219
175
256
256
333
254
278
179
278
183
217
196
218
151
126
204
126
210
178
170
181
210
249
244
231
156
256
247
225
221
174
156
211
242
260
201
250
298
175
265
147
208
191
183
297
214
252
223
289
126
241
251
284
200
206
180
147
226
114
191
233
201
167
231
250
271
173
283
170
207
253
244
174
249
279
237
226
195
177
278
225
345
156
186
188
181
227
225
225
222
212
229
225
213
214
184
164
242
242
238
227
193
178
196
288
181
179
280
237
295
290
202
185
263
244
245
186
238
234
297
238
170
241
216
284
204
233
263
255
247
108
173
279
209
214
209
152
209
260
305
289
220
145
240
312
139
167
279
271
210
249
343
170
165
232
178
233
173
222
249
238
172
227
203
180
189
214
207
186
139
195
218
160
226
231
227
233
330
170
238
258
189
162
184
274
250
178
230
182
213
187
203
114
292
180
180
184
269
293
126
231
251
251
222
188
253
186
302
294
212
198
191
181
259
346
213
192
293
233
297
184
213
284
246
174
184
190
248
248
252
191
145
198
265
238
213
170
245
252
267
145
209
239
284
147
216
280
246
279
255
219
226
271
261
254
290
284
224
158
247
184
295
158
162
224
220
155
305
179
222
256
190
210
213
212
209
221
242
191
240
252
219
302
250
288
184
208
225
255
228
224
240
223
253
192
256
299
243
198
201
247
258
220
262
206
283
200
210
253
164
208
184
255
197
247
295
213
238
160
232
219
292
278
200
260
182
352
320
228
162
226
239
221
218
194
277
222
193
190
236
213
205
234
252
337
218
190
156
199
261
155
233
193
170
237
313
261
200
266
233
214
260
239
231
234
258
270
253
271
201
301
224
225
232
269
114
237
328
305
266
192
235
221
272
210
204
275
284
167
205
236
250
273
204
201
293
241
180
242
238
258
193
238
290
255
261
249
292
256
191
154
185
235
278
211
285
198
180
129
204
258
196
270
224
217
244
194
298
213
223
199
203
205
250
192
308
240
244
208
178
228
338
157
212
231
224
126
227
180
354
234
237
198
253
319
200
231
211
272
199
306
261
180
203
209
273
179
319
179
232
198
227
188
266
196
285
242
185
240
173
229
160
209
192
214
181
242
234
183
194
169
241
194
201
252
265
267
228
244
220
245
274
244
292
242
214
189
173
197
211
222
213
324
202
289
247
229
215
195
244
242
288
217
166
221
245
303
270
160
186
248
189
207
198
261
303
217
169
211
262
247
210
175
234
180
244
151
194
198
193
190
314
208
318
195
341
229
216
202
213
225
254
225
234
193
209
247
253
272
159
181
231
222
221
202
207
233
240
162
196
163
195
266
169
330
245
230
192
292
296
149
248
179
244
211
195
227
158
271
219
154
186
175
184
239
248
238
232
207
286
202
218
146
220
253
265
231
224
222
208
209
248
207
192
275
203
207
235
296
198
223
151
160
241
224
179
223
233
278
241
269
257
156
214
216
275
269
217
190
232
217
219
234
282
240
258
229
266
246
245
234
240
229
286
209
240
213
295
213
206
166
209
178
295
210
173
204
228
224
218
230
245
292
173
249
224
108
247
226
276
208
212
287
194
212
211
216
149
170
180
225
194
210
246
146
226
309
193
268
251
245
211
218
212
260
267
208
266
221
197
161
148
228
194
181
171
238
196
217
229
184
245
212
207
281
211
181
221
247
170
204
215
214
206
262
225
303
302
214
204
156
193
178
238
298
230
273
170
197
160
231
235
221
250
243
198
255
181
211
229
244
168
282
196
221
231
199
197
216
168
284
246
182
303
162
214
176
196
202
200
182
222
176
231
245
198
310
251
227
156
252
231
221
186
264
293
212
286
316
260
237
299
228
253
184
321
235
251
198
216
295
217
296
200
299
309
241
205
277
155
199
167
224
238
227
237
177
211
237
239
174
283
181
254
236
261
166
205
232
214
201
260
243
288
247
242
222
263
252
225
210
258
258
191
207
268
198
174
208
210
232
315
260
276
215
228
168
189
216
275
186
176
311
280
226
262
257
218
196
211
209
213
226
231
255
234
198
198
241
179
283
241
198
303
200
234
225
165
164
247
235
182
227
215
276
218
197
331
240
186
258
200
227
322
192
176
284
229
233
281
272
270
198
189
228
268
301
213
267
251
246
150
198
315
226
219
245
274
170
161
295
222
211
237
268
178
180
290
273
213
145
177
209
176
309
172
233
313
216
195
235
300
223
220
203
203
253
232
210
301
277
264
267
285
245
257
183
288
176
174
203
229
191
222
202
154
205
144
133
252
220
170
219
226
219
270
272
176
114
268
168
194
230
139
296
245
198
184
215
199
193
146
302
235
179
202
247
269
193
148
266
218
253
216
214
220
116
216
262
249
187
305
244
184
228
191
233
161
271
247
299
234
230
302
311
234
249
238
222
248
220
158
166
202
237
294
220
217
196
232
224
320
246
266
302
288
250
215
209
210
162
273
228
262
268
261
199
231
263
272
148
178
144
174
255
308
259
180
190
204
295
221
199
252
139
301
235
253
265
157
363
208
224
219
220
271
190
209
206
210
224
193
211
227
279
164
141
265
208
216
251
210
258
157
235
155
182
328
231
233
297
180
173
197
166
215
304
193
342
156
292
144
300
148
306
235
215
198
247
189
192
156
265
220
270
191
171
249
275
234
340
277
194
184
239
290
175
183
254
253
274
200
178
181
196
284
239
202
279
270
191
225
237
267
192
190
214
203
328
213
196
194
215
235
240
271
163
224
249
207
239
267
308
229
225
196
235
263
227
196
235
168
196
281
182
212
272
287
251
222
228
309
215
198
126
291
226
186
170
233
282
256
213
235
253
266
184
274
180
220
238
114
233
172
211
200
260
235
246
248
227
255
245
235
234
238
195
173
174
262
314
225
186
207
166
223
222
222
260
226
175
207
187
236
198
206
214
137
234
249
206
247
173
162
227
200
195
318
248
218
237
225
263
179
260
204
144
219
232
250
171
152
260
232
274
290
241
184
181
235
144
238
168
211
226
206
169
242
176
356
285
339
236
249
207
222
327
347
265
265
238
216
207
305
114
162
188
173
225
173
235
214
313
200
195
185
214
186
243
266
288
178
181
223
173
202
227
192
246
189
243
114
179
264
152
181
243
114
256
234
232
276
241
275
179
205
262
230
247
217
199
201
210
232
221
144
162
300
283
143
279
319
184
167
198
201
180
269
250
262
207
198
159
219
277
210
232
233
205
233
297
218
203
185
187
260
212
241
204
262
215
236
293
200
266
238
134
225
293
250
272
153
213
249
198
267
223
341
169
265
146
220
201
250
234
139
260
234
235
212
179
203
175
217
209
195
227
179
322
194
308
238
206
245
184
283
253
212
258
212
208
257
207
242
263
194
176
243
210
218
203
207
169
275
215
221
179
199
293
315
225
174
158
196
267
195
239
183
207
194
310
254
290
295
227
232
219
182
194
195
198
223
183
319
252
174
304
180
121
230
324
192
159
169
221
258
229
241
227
189
257
206
139
152
189
261
114
200
242
256
232
218
242
307
235
266
238
248
231
274
250
215
219
210
232
108
133
179
200
227
256
185
198
206
234
224
248
239
254
251
157
224
216
193
185
243
270
277
228
210
223
221
248
215
205
226
174
225
129
251
249
179
222
151
226
247
226
245
335
207
176
209
261
208
218
207
263
284
273
228
229
157
179
224
197
182
168
184
270
283
218
190
255
345
229
210
209
152
293
221
173
212
245
259
169
207
139
194
210
249
245
219
171
174
201
202
157
268
215
114
145
198
207
231
227
323
144
206
276
139
203
213
238
272
193
232
254
209
186
230
228
231
166
215
304
177
239
231
211
280
243
251
232
253
207
263
248
282
181
248
290
198
264
243
290
190
211
234
276
221
347
311
205
301
234
198
231
240
239
169
168
262
152
241
205
188
173
313
211
222
305
231
221
264
126
215
224
257
179
214
215
221
267
272
247
214
303
219
213
243
265
190
267
227
210
232
169
205
293
208
295
247
251
225
175
227
198
229
160
275
219
295
231
192
219
241
188
277
289
134
197
275
290
194
216
249
283
178
239
178
254
309
180
240
237
229
154
146
204
218
195
261
255
233
256
247
271
211
222
212
203
267
241
144
253
198
259
181
198
212
236
237
164
229
175
175
209
206
203
242
246
278
291
254
179
228
233
236
192
224
234
344
245
189
273
243
203
256
227
134
208
227
279
190
241
207
261
239
222
260
188
212
177
347
234
302
263
192
203
258
179
315
222
298
195
242
245
219
252
321
190
223
195
232
196
245
229
303
242
215
173
157
278
260
216
210
242
210
224
212
248
271
181
217
126
257
233
208
261
339
232
321
182
288
259
201
317
266
230
181
333
186
253
166
193
178
211
243
254
151
315
212
157
210
188
260
224
288
273
221
158
222
152
187
308
207
257
263
218
263
178
257
192
208
242
211
310
222
234
215
217
184
231
189
208
158
225
253
213
209
201
183
165
214
170
327
200
214
236
222
207
207
278
188
154
198
238
207
195
280
309
194
145
219
219
267
234
202
129
213
227
289
294
173
189
213
219
301
185
215
204
260
247
205
281
206
253
337
171
204
238
191
234
216
234
269
230
225
224
160
247
178
198
278
258
241
232
206
200
253
229
189
202
222
251
215
229
266
238
239
262
232
219
274
199
166
262
222
187
173
256
205
222
286
254
245
229
266
324
240
145
170
173
206
196
233
190
269
209
249
275
220
145
209
227
208
281
229
235
207
225
248
191
272
245
220
249
216
257
241
200
292
221
214
222
230
214
200
252
365
284
189
175
219
295
195
214
275
231
303
270
256
207
232
246
114
293
244
245
237
210
212
173
227
259
210
266
223
246
304
287
225
305
225
302
251
193
262
129
211
241
178
239
156
321
234
209
221
191
244
176
190
204
215
156
255
243
219
207
229
302
248
227
213
202
258
323
183
286
187
239
182
265
336
245
251
232
217
176
224
218
183
277
261
348
259
258
275
210
236
184
194
193
237
314
238
188
260
159
237
261
284
265
174
203
155
214
230
213
248
173
330
233
158
252
275
281
237
242
247
250
229
170
195
209
247
220
229
249
248
205
270
250
251
267
245
174
220
269
114
251
236
233
217
241
287
187
237
271
232
225
182
230
239
287
201
278
254
248
265
213
241
240
223
177
235
282
244
239
234
218
261
272
168
226
208
158
225
258
272
191
198
239
179
174
238
210
182
222
206
214
184
207
182
197
213
186
175
232
215
266
247
242
192
195
251
209
193
275
208
225
203
247
319
245
187
154
191
208
238
265
190
293
255
240
244
182
281
301
176
180
208
209
262
238
342
248
228
286
290
188
206
319
232
228
221
169
232
240
229
270
245
196
296
177
184
281
234
260
246
226
176
312
222
283
175
252
218
188
198
196
290
182
250
188
247
226
269
252
231
230
234
196
232
261
238
262
265
251
168
159
170
204
181
314
205
116
233
276
193
288
294
278
218
229
181
161
242
191
231
229
245
242
160
228
284
237
226
220
228
114
173
226
231
190
160
241
156
306
286
224
261
235
191
191
257
293
241
272
218
255
259
196
257
225
232
192
256
334
181
196
189
248
300
194
282
314
185
212
247
236
268
245
212
234
226
194
212
164
299
233
163
241
203
151
188
219
175
253
256
224
217
173
192
205
171
158
191
215
200
191
237
246
203
253
255
178
198
146
271
270
163
114
198
232
207
304
152
227
254
210
238
180
192
319
270
295
220
214
268
200
215
232
284
299
173
236
250
252
160
275
178
242
266
236
289
326
178
121
319
252
244
208
242
232
244
144
233
198
216
209
200
174
257
265
170
295
244
233
286
241
233
215
229
295
183
212
191
247
154
243
219
169
234
181
244
253
307
270
233
238
230
165
243
181
144
258
280
256
239
237
162
199
196
220
114
265
206
194
156
204
209
289
166
222
283
243
169
222
318
166
188
249
228
209
201
222
204
184
218
230
259
270
248
274
194
284
173
218
300
240
204
243
230
177
108
266
241
169
226
183
293
231
233
293
262
141
207
250
175
178
213
298
298
257
209
187
225
219
175
205
194
280
254
230
325
224
160
145
209
188
235
217
114
183
283
172
261
167
235
299
196
209
238
291
258
175
114
213
214
284
247
245
152
207
181
238
156
253
169
177
208
209
292
241
207
232
161
121
287
252
267
175
173
243
209
257
266
215
231
234
180
260
266
232
241
227
179
208
277
178
151
199
359
288
263
339
217
267
191
262
209
216
221
238
200
195
214
213
228
208
206
241
252
200
184
225
234
274
223
229
208
145
114
192
206
260
280
160
231
251
261
180
228
208
246
252
243
236
248
205
214
243
248
238
229
114
231
174
252
190
178
245
246
271
275
222
267
210
277
194
161
199
182
266
170
212
183
228
245
278
266
247
255
195
193
228
248
259
200
114
228
305
327
247
290
270
262
259
187
274
245
198
242
268
165
206
186
243
261
199
340
306
240
207
233
291
279
163
219
216
169
248
202
196
371
294
219
246
256
215
261
230
191
168
196
283
260
250
270
187
308
252
253
174
319
169
279
297
213
299
203
286
233
211
263
213
209
170
242
193
204
287
257
238
222
224
246
263
261
176
233
200
169
246
305
244
188
173
216
255
289
250
241
227
211
223
212
178
217
178
310
235
240
307
192
149
287
178
263
215
189
322
361
238
298
157
177
328
114
289
189
214
247
294
226
238
271
254
316
161
208
300
246
207
235
258
173
321
190
237
295
192
224
240
304
267
213
236
260
242
171
228
266
198
258
221
236
235
170
308
177
149
173
208
212
324
240
247
286
156
200
173
245
229
270
236
258
209
283
223
228
244
259
181
237
170
227
200
200
280
245
306
235
129
316
181
254
181
257
285
217
199
240
215
218
251
159
214
194
221
194
308
225
221
106
208
254
269
168
197
244
198
188
242
204
232
251
200
160
181
209
228
225
196
199
242
250
291
209
210
300
126
337
240
198
266
203
244
193
268
233
158
261
194
219
269
219
192
217
195
185
244
248
192
255
189
255
214
240
245
270
184
190
244
212
257
216
340
195
224
294
222
180
222
184
230
265
245
238
154
214
207
228
332
220
171
280
264
195
145
206
348
222
256
183
251
249
232
158
194
238
290
184
241
241
255
198
245
205
304
223
265
268
230
279
238
194
284
126
297
206
170
179
236
187
199
230
228
213
231
190
234
250
246
236
222
184
296
165
191
174
189
180
283
224
201
121
166
257
251
262
293
223
246
199
313
242
234
275
299
202
292
267
260
175
262
218
213
181
206
193
255
192
221
259
269
344
192
215
244
263
260
253
281
217
267
195
205
231
166
155
265
173
198
219
202
237
206
177
315
222
223
243
253
235
234
163
208
216
166
230
179
175
228
174
235
240
279
234
200
224
184
308
198
175
209
293
197
186
222
215
232
313
145
276
258
182
197
282
321
261
193
248
272
214
210
228
213
210
236
276
206
227
283
252
195
228
208
314
179
215
265
203
168
251
196
193
210
265
236
211
244
232
178
217
259
200
267
218
230
243
246
262
242
333
242
218
216
225
193
170
155
245
192
178
241
201
214
196
215
271
245
257
245
219
160
145
245
288
166
230
227
245
315
262
221
194
247
185
233
214
221
285
264
217
240
250
254
224
176
216
175
255
151
188
230
216
283
312
215
288
246
202
248
218
211
198
244
206
144
219
254
172
169
160
266
287
182
231
157
217
269
202
175
254
280
177
167
313
222
249
207
234
156
201
181
171
248
283
231
312
217
209
196
241
324
230
173
281
234
239
274
161
200
234
173
222
271
194
153
203
270
162
217
192
285
211
208
169
275
174
181
319
259
211
242
256
228
203
165
179
217
192
293
243
150
242
183
178
242
258
178
201
200
268
155
292
207
237
243
260
223
218
214
156
160
175
238
194
267
180
252
213
227
277
114
200
176
226
258
178
193
172
192
158
264
300
219
207
282
276
273
154
245
189
218
260
202
284
194
203
175
239
188
214
219
225
267
219
295
129
214
215
161
212
238
244
303
245
240
189
246
240
175
267
220
293
212
191
208
158
209
195
229
215
240
235
218
172
193
224
193
176
249
226
250
193
283
273
193
174
208
218
261
227
203
234
204
253
252
228
197
207
153
257
207
258
251
206
293
249
198
173
285
235
234
149
326
197
248
146
252
254
300
320
214
209
229
146
234
286
201
212
214
221
292
267
209
275
195
151
227
283
241
210
233
146
215
220
157
309
273
236
208
232
205
237
225
215
221
233
192
152
228
160
242
256
198
214
243
196
225
195
179
139
242
289
194
276
262
235
156
203
298
180
200
223
246
236
313
221
220
194
161
168
286
250
245
210
218
211
193
181
276
219
171
205
175
278
281
192
282
262
156
183
237
226
266
224
189
307
158
277
224
280
222
171
313
193
230
208
175
286
306
373
236
198
177
256
173
301
245
238
192
197
239
174
187
264
170
219
228
214
170
280
262
160
262
203
178
301
174
290
290
193
237
279
243
229
254
188
224
217
211
161
223
254
312
194
277
244
265
106
228
183
255
239
251
147
209
116
139
177
215
255
178
151
208
222
277
220
248
163
218
225
229
242
284
207
259
297
241
264
183
180
146
148
146
204
222
199
173
240
276
211
121
244
245
281
235
200
180
208
294
197
222
327
221
108
233
285
181
213
238
275
192
149
218
212
244
272
310
189
315
287
236
229
205
144
237
147
224
174
241
225
242
272
149
198
227
215
273
277
155
220
234
216
236
151
215
242
295
242
287
156
228
222
121
212
222
264
230
226
301
240
207
263
242
234
180
302
199
166
279
234
250
262
203
284
228
335
185
243
162
220
227
164
244
209
304
239
283
248
279
173
218
179
203
251
185
284
232
269
240
155
145
274
228
270
202
215
220
223
219
248
307
281
213
184
258
220
209
114
215
353
193
129
274
222
266
215
239
215
234
311
166
218
221
244
229
114
215
198
327
212
232
178
247
196
234
324
215
191
226
244
247
226
292
256
224
195
232
196
239
179
161
219
207
229
264
212
198
255
196
226
241
164
263
248
258
181
237
201
148
268
281
248
173
209
200
173
305
205
184
277
114
188
188
160
168
259
189
282
211
192
270
187
145
167
206
213
222
274
231
167
330
265
356
201
253
303
197
214
207
222
252
165
234
242
299
187
301
236
126
290
191
213
201
207
264
211
245
241
200
247
183
190
245
188
228
189
228
233
263
202
258
231
317
185
300
240
265
193
292
211
236
190
209
261
196
168
247
205
234
235
181
178
219
230
351
171
199
227
275
169
233
219
204
297
195
175
279
218
187
192
257
172
191
191
252
246
213
261
192
277
262
230
282
245
151
174
236
279
232
224
267
355
173
193
253
189
226
301
340
192
202
277
106
166
149
294
229
193
261
174
229
189
258
267
200
248
238
184
219
256
238
288
201
232
246
206
160
195
231
248
254
225
282
244
286
293
255
232
203
236
254
205
250
173
114
241
260
284
167
268
192
242
220
310
293
230
215
217
180
151
212
205
249
175
234
257
230
200
276
187
278
190
165
222
239
211
190
252
247
176
126
252
207
283
303
253
213
193
161
222
221
198
208
309
216
192
214
175
193
195
235
227
204
213
194
228
299
287
180
183
185
203
209
222
244
262
295
223
226
193
157
222
232
198
224
156
249
156
275
254
209
266
191
288
240
258
274
304
259
358
266
262
215
216
246
178
251
215
151
161
229
170
211
225
197
174
200
218
208
264
190
278
294
223
151
258
228
231
254
214
214
215
148
254
306
276
134
234
183
252
258
181
230
240
187
284
285
254
198
279
202
224
281
241
165
126
170
250
196
227
180
275
264
235
232
176
294
241
239
244
248
236
191
349
266
188
176
239
289
267
242
309
225
237
283
269
218
229
237
250
156
190
190
215
190
231
106
145
298
165
201
210
257
210
169
219
175
114
203
188
260
173
231
250
202
126
222
230
183
114
208
231
229
114
209
263
198
152
218
226
274
269
213
272
237
232
269
249
246
263
182
174
317
226
220
219
285
166
212
340
269
197
242
264
198
235
189
185
203
193
144
304
243
210
206
175
181
229
235
263
220
205
206
266
257
116
222
206
285
265
206
229
208
205
133
266
236
222
178
191
242
193
151
200
114
259
188
246
222
187
218
184
261
232
191
223
225
211
147
257
241
242
183
252
234
246
177
224
179
182
176
251
173
209
262
133
254
177
241
208
200
224
223
114
204
212
300
140
226
236
151
255
208
265
289
283
274
247
313
232
207
149
212
207
191
214
245
214
249
224
170
156
250
191
246
249
211
236
252
209
168
156
207
295
211
273
298
290
208
203
272
292
304
169
238
306
207
218
213
173
220
236
246
260
223
226
281
226
114
207
286
305
273
204
212
275
226
235
244
222
265
158
222
179
238
298
178
173
147
211
178
209
194
272
197
274
237
185
168
168
233
229
223
191
198
251
189
287
250
260
180
274
281
211
221
247
226
144
262
244
141
234
326
208
169
222
261
200
319
214
250
224
239
244
213
168
317
229
268
228
245
233
245
295
221
276
171
230
284
206
174
264
230
290
266
267
180
310
195
210
235
212
183
191
256
198
251
247
224
273
153
265
234
250
195
184
180
311
144
227
223
175
200
191
247
261
243
220
263
273
261
247
261
325
250
325
184
245
231
208
223
223
233
250
220
231
126
242
196
264
200
204
223
200
268
203
269
208
218
160
212
196
287
214
191
240
212
242
210
139
245
260
168
255
236
202
253
215
164
199
195
212
258
238
314
130
192
215
201
238
218
290
295
216
228
224
228
208
200
174
266
240
253
257
159
173
174
224
220
220
253
200
291
304
233
170
183
218
284
163
200
242
245
192
278
255
285
245
246
231
176
205
266
189
228
218
286
284
269
271
171
243
200
246
172
185
255
212
152
210
288
210
174
219
179
170
229
318
195
249
227
235
265
218
255
235
265
228
195
220
217
240
244
230
235
246
232
300
264
237
249
238
232
178
255
234
247
191
213
219
261
213
196
253
214
169
157
174
254
298
185
252
248
217
238
173
173
243
225
206
242
247
228
269
184
225
270
263
249
249
170
207
152
242
260
223
221
219
225
114
242
254
177
207
155
226
181
219
241
273
256
231
252
250
249
245
247
218
273
228
233
213
262
271
165
274
276
201
215
206
200
236
292
269
108
253
178
297
275
227
265
294
178
251
261
165
208
181
193
188
306
203
256
325
160
222
242
160
297
276
279
178
255
203
183
179
205
156
162
237
245
230
233
212
165
212
227
214
205
171
205
229
182
200
187
181
259
188
144
257
240
243
203
216
193
273
227
195
198
192
234
243
263
206
258
208
195
272
266
193
237
178
152
277
283
223
249
179
242
193
271
268
204
228
230
204
263
197
149
228
219
162
294
217
214
288
114
242
212
226
243
257
210
173
246
280
212
179
205
262
300
212
189
172
129
246
273
310
217
302
274
172
182
245
236
195
180
192
258
226
223
279
213
222
243
210
189
293
193
261
201
281
287
231
219
234
173
203
192
200
220
161
226
217
183
269
260
265
327
239
270
210
207
262
237
181
223
253
216
200
212
184
243
225
221
247
160
161
219
213
313
269
197
196
177
198
214
259
253
256
270
244
199
233
230
207
215
176
217
281
229
228
183
252
229
202
234
230
205
247
223
126
235
212
309
192
174
241
258
203
239
244
145
283
221
248
282
200
270
277
224
197
275
235
186
210
158
208
265
195
281
187
250
260
247
269
214
237
228
228
261
298
250
151
246
263
182
228
179
173
214
198
303
114
236
223
210
151
242
276
262
273
235
238
221
311
242
218
242
198
203
218
250
213
232
259
270
292
261
250
263
290
257
197
358
273
195
243
228
147
231
270
202
260
195
272
176
318
179
187
234
273
220
168
269
219
189
214
186
197
246
231
185
237
156
179
170
311
248
204
178
279
210
207
148
246
176
247
263
251
179
312
195
245
183
214
203
256
232
186
181
165
182
199
213
261
174
148
166
286
261
288
194
258
229
251
160
193
310
334
262
179
161
279
227
174
208
265
295
280
247
291
282
247
213
265
244
270
284
262
205
108
216
188
208
183
219
254
148
233
199
223
211
159
287
218
203
193
233
247
260
201
276
196
221
264
342
182
227
201
175
233
231
236
219
178
298
272
213
263
324
219
221
311
231
239
212
247
162
182
312
186
185
183
265
208
223
224
250
219
181
191
190
202
221
204
138
235
211
267
283
209
236
211
227
215
295
245
184
192
250
255
246
181
202
169
176
205
242
162
208
226
294
152
172
312
232
151
279
186
210
185
261
207
228
151
199
207
200
217
171
224
258
209
192
315
221
205
214
229
233
198
202
215
319
217
271
244
250
296
196
161
203
202
175
266
197
211
199
195
225
196
206
228
304
175
246
173
223
249
193
216
289
209
225
275
144
282
261
270
200
215
145
217
184
152
214
198
306
201
227
215
238
171
196
251
217
253
114
214
265
195
243
234
299
282
239
228
157
231
238
264
192
213
293
281
247
181
160
274
269
208
273
145
194
148
278
199
312
216
201
253
254
258
263
174
238
252
171
165
211
329
226
160
189
262
226
211
238
206
220
296
298
249
256
177
238
262
211
247
264
180
233
248
238
188
358
206
225
200
197
168
157
234
224
251
228
268
294
181
245
300
262
250
250
232
208
246
180
178
252
264
286
200
178
192
252
260
222
247
191
173
195
290
216
279
300
215
152
187
249
192
256
235
207
151
201
196
185
222
193
235
244
184
181
256
246
167
160
243
165
216
198
271
251
275
165
133
300
184
147
262
241
249
203
294
222
229
179
178
166
258
200
164
227
255
126
192
160
252
250
162
247
243
204
274
268
283
178
214
152
175
151
187
255
218
211
191
207
201
126
283
241
232
222
279
222
218
222
200
168
292
208
160
175
308
157
238
219
241
242
222
273
224
244
196
160
141
156
241
236
345
181
220
232
315
253
173
198
169
179
236
210
200
295
198
186
182
154
247
218
213
238
291
160
278
181
304
279
209
237
286
246
214
256
248
221
301
234
187
277
230
154
245
220
345
279
268
175
184
311
225
218
248
235
205
236
244
178
176
319
297
247
217
262
231
191
209
242
209
216
214
222
308
276
288
251
253
170
181
309
220
211
195
169
228
227
231
207
215
239
305
219
211
233
179
199
252
247
225
219
287
228
234
188
262
222
173
278
203
139
279
210
195
194
276
233
244
160
228
203
186
160
187
270
229
192
134
228
194
220
152
114
203
188
279
216
182
216
221
246
241
289
227
281
210
166
214
216
204
208
267
236
162
225
251
267
277
200
329
215
255
208
262
258
189
175
225
218
293
281
258
183
200
244
243
260
290
227
149
216
227
151
210
250
156
260
187
193
198
257
214
139
320
213
208
210
204
219
152
230
202
157
187
246
247
253
266
222
217
282
312
266
202
314
231
202
227
227
223
223
255
148
303
239
182
217
264
208
189
226
205
258
192
218
322
218
255
281
192
224
324
266
230
218
157
167
201
251
301
261
261
235
256
190
182
257
232
226
218
234
192
191
198
193
248
179
226
114
240
290
258
184
207
239
195
240
192
158
244
169
259
195
233
203
258
263
214
198
209
195
177
272
231
276
191
265
244
266
202
250
160
159
319
246
181
268
221
261
139
184
193
226
263
224
294
230
175
253
209
247
192
161
251
218
261
164
301
166
183
200
251
277
178
268
222
199
249
236
253
306
276
219
268
178
290
220
275
297
206
182
232
246
198
232
215
271
246
195
235
200
148
204
167
265
250
225
186
170
205
267
238
231
260
342
210
241
209
185
219
180
106
247
133
181
227
210
203
169
241
231
213
295
255
248
201
156
220
161
250
243
278
205
243
192
170
188
290
275
258
206
239
230
148
298
212
205
222
191
281
249
229
114
248
269
207
218
268
282
273
292
226
196
242
246
128
210
247
152
233
180
180
195
114
207
212
211
244
186
246
161
266
198
218
286
198
221
208
299
192
205
225
211
210
272
262
147
227
358
209
280
206
229
230
203
242
202
147
248
238
242
235
210
256
327
192
219
241
182
271
165
231
235
244
223
275
195
189
165
345
197
239
178
235
237
223
274
185
183
208
268
201
272
180
191
205
255
234
241
174
139
209
209
197
197
212
213
293
217
233
196
196
239
233
139
281
221
195
183
286
191
260
230
204
203
149
185
156
116
283
275
159
186
108
279
293
243
255
179
276
220
241
216
244
280
189
199
179
184
192
220
250
175
291
211
238
259
233
152
213
167
182
237
151
280
265
281
242
181
178
279
178
194
294
169
245
194
222
197
251
341
228
222
147
278
241
233
208
236
200
231
275
200
190
224
229
167
213
168
153
278
242
336
226
260
277
217
230
195
209
224
225
146
315
276
230
224
309
231
271
245
224
194
302
201
242
281
258
184
303
292
185
206
245
114
184
245
156
242
236
228
213
294
232
278
183
275
214
206
265
196
206
251
216
301
289
224
197
228
169
294
245
182
126
191
121
176
265
235
184
245
180
174
263
249
291
269
151
248
241
258
197
231
192
305
192
197
259
310
283
180
144
162
166
274
252
237
215
231
188
116
248
241
200
197
198
232
182
194
300
129
228
208
214
126
252
168
188
222
233
209
231
184
228
213
223
225
223
240
217
302
225
193
298
220
297
174
195
213
268
299
249
334
205
152
301
266
229
249
193
196
257
245
256
203
239
255
166
186
273
285
211
299
267
237
260
249
278
200
241
203
146
224
228
217
210
156
144
196
166
206
283
229
205
263
269
227
202
281
165
208
201
293
126
337
210
268
296
267
246
271
229
250
240
281
290
193
198
193
193
277
363
237
160
262
224
198
278
276
202
208
233
226
207
229
178
317
130
248
212
181
270
222
246
230
213
200
202
220
262
272
168
155
198
169
199
156
192
181
310
301
270
231
258
265
246
237
179
308
232
272
306
288
114
221
271
282
182
222
221
266
171
218
288
243
208
238
261
225
251
222
270
274
224
211
233
167
278
188
228
328
267
205
200
204
195
251
273
185
227
165
219
267
205
212
181
186
254
203
330
232
244
173
208
165
273
356
260
266
188
221
214
303
247
267
285
228
153
238
203
236
192
206
301
154
269
193
178
238
193
239
154
192
228
282
209
246
210
221
223
212
287
229
233
209
215
179
173
234
228
180
166
236
338
226
308
198
169
243
320
318
171
157
209
179
184
246
222
230
229
166
227
258
255
262
244
191
267
239
178
169
276
189
191
263
275
292
241
193
235
145
246
211
279
213
213
309
224
319
226
241
191
257
281
162
219
179
165
247
245
243
283
258
270
210
270
201
200
221
233
175
216
325
235
245
114
168
235
284
202
325
190
215
312
199
197
232
248
116
184
193
237
244
225
214
266
218
242
185
257
207
169
271
180
286
251
210
242
246
244
174
254
256
223
325
263
197
170
206
180
173
306
211
214
297
272
274
209
259
180
198
233
273
182
188
116
252
235
242
248
211
196
227
210
264
244
228
297
229
295
165
193
197
261
198
267
284
233
230
152
262
203
184
259
198
238
242
251
237
204
162
281
214
182
114
253
195
184
129
235
262
175
310
240
194
260
299
205
224
171
262
226
225
297
227
336
294
265
170
173
285
121
222
289
255
192
266
179
160
214
116
152
275
295
173
199
248
213
238
203
278
229
191
214
270
261
214
139
168
225
268
179
273
207
290
256
169
247
253
245
167
149
233
319
281
223
222
193
207
187
301
170
242
213
228
139
174
166
199
256
229
160
182
302
184
251
209
207
235
215
376
175
207
205
178
263
129
232
246
184
184
287
237
285
234
285
215
212
168
195
276
201
222
178
224
234
163
195
261
173
262
283
212
224
264
294
241
286
169
170
237
222
256
225
240
177
231
157
187
287
193
257
317
260
148
151
291
230
170
181
189
255
201
228
114
270
156
160
205
217
201
247
263
175
267
216
189
225
175
244
261
195
216
274
187
321
295
273
264
180
262
174
178
251
199
285
261
208
237
194
196
265
259
255
197
190
191
181
191
196
279
186
152
233
222
230
296
236
262
219
248
257
180
211
156
230
222
158
238
174
291
164
195
272
276
114
205
243
262
220
236
181
200
270
174
286
251
170
108
248
187
160
259
165
171
198
244
248
218
246
228
236
217
310
278
202
285
280
228
216
250
200
189
149
206
244
236
217
205
250
258
268
203
222
210
224
217
251
199
161
273
184
192
204
221
208
235
156
130
178
223
259
305
210
220
152
257
189
202
152
239
258
191
248
174
282
236
192
207
300
193
157
258
249
178
188
252
197
310
228
238
203
233
215
301
160
172
171
242
196
232
249
281
224
175
234
139
161
225
177
269
245
258
185
160
173
218
214
298
188
221
257
241
206
219
207
356
180
240
286
274
262
226
234
298
263
225
160
242
171
179
286
261
216
251
243
229
233
204
245
263
188
248
241
222
201
174
193
244
260
253
287
196
235
222
342
244
240
258
219
245
233
263
217
255
204
193
271
283
196
208
185
159
239
196
195
272
156
181
169
217
170
222
299
323
307
234
256
174
219
231
238
208
202
293
301
227
176
204
287
171
197
195
199
190
223
210
304
166
256
291
251
227
231
250
184
228
192
239
234
222
182
254
247
245
216
193
201
188
186
233
231
274
201
253
210
178
186
328
294
199
198
229
216
207
306
247
221
226
236
210
274
305
228
114
218
184
264
212
259
203
270
271
192
215
228
230
225
137
202
199
285
215
238
208
114
242
243
168
231
188
228
189
154
208
114
236
249
183
182
261
152
247
195
155
312
285
207
217
228
243
185
226
313
232
181
152
175
243
191
226
173
309
138
270
158
208
281
200
170
259
221
258
212
285
237
238
247
232
216
203
177
249
193
288
188
143
234
148
215
201
245
217
251
268
196
256
237
245
219
221
223
217
228
181
158
212
210
233
163
194
280
255
321
175
284
236
207
262
279
191
221
199
287
248
285
272
164
210
242
220
173
212
173
275
228
253
198
188
121
158
171
261
242
176
220
270
222
206
181
263
215
315
206
158
304
186
259
188
224
211
228
235
228
197
201
224
238
257
232
272
114
255
207
208
173
268
308
344
233
232
233
302
155
259
271
231
205
317
265
179
162
187
248
267
244
207
215
199
182
248
204
173
192
240
261
240
186
179
324
227
227
231
257
136
237
272
216
239
247
226
192
255
236
284
212
266
258
203
276
197
255
244
200
189
291
332
228
198
222
207
190
188
146
181
274
208
161
237
235
267
225
219
208
208
216
199
244
205
188
203
152
254
207
218
220
273
212
229
195
228
170
213
158
249
253
212
198
232
170
267
243
231
213
283
183
318
206
220
290
298
152
230
233
215
279
254
234
218
267
224
174
217
224
246
241
273
233
277
200
264
274
205
192
270
195
203
213
217
238
213
207
234
188
229
244
168
189
308
238
255
347
201
238
213
196
218
166
116
208
258
201
146
219
243
251
265
288
225
282
207
220
243
244
218
170
174
274
159
207
234
215
219
195
230
249
198
253
159
201
252
234
219
215
170
253
174
174
284
228
196
254
240
294
221
243
114
225
281
167
288
297
198
143
242
239
196
264
249
169
259
180
192
201
221
313
257
154
261
185
220
219
196
196
207
160
181
228
264
165
245
252
187
234
160
245
183
178
221
170
287
225
255
206
184
198
174
313
260
222
225
279
220
182
181
232
178
290
183
198
195
158
168
192
210
169
247
170
151
201
251
170
142
235
306
281
233
195
210
228
267
162
212
205
178
170
221
198
218
245
239
213
145
220
226
203
189
186
219
234
299
278
359
204
221
174
204
279
194
247
214
164
241
258
257
290
251
218
241
233
274
296
176
184
274
251
237
179
307
184
259
267
196
149
199
223
126
247
213
214
114
209
173
244
263
214
234
170
220
218
175
211
269
255
213
218
276
266
271
203
247
173
149
149
275
210
244
177
181
177
171
216
173
196
208
303
222
239
235
258
257
248
231
196
170
222
153
222
202
200
209
147
262
225
192
208
221
233
238
316
333
146
178
218
227
246
273
247
234
209
200
276
186
190
194
213
320
230
276
250
238
210
212
181
225
247
272
210
293
198
223
195
269
265
225
157
200
261
250
114
254
225
247
156
214
158
230
161
206
253
245
202
224
248
173
260
274
278
220
221
270
183
158
261
299
248
155
275
235
227
196
145
266
281
299
255
244
217
261
197
173
151
226
268
275
293
200
189
255
263
197
223
232
275
249
177
225
180
205
235
235
202
149
220
164
279
199
247
251
217
217
245
307
225
245
214
238
242
181
256
230
146
164
209
161
247
160
197
251
186
232
256
176
305
208
292
226
285
207
264
241
347
222
270
147
327
186
295
154
164
162
220
236
193
114
294
246
232
276
244
289
218
270
168
207
240
184
192
218
175
240
266
210
275
217
173
262
216
199
250
255
323
236
208
227
272
185
211
257
247
243
194
319
154
210
243
230
229
184
250
221
256
198
265
299
158
160
212
303
201
361
220
198
240
181
228
193
196
315
297
160
215
307
114
276
218
262
218
316
225
193
239
139
261
179
257
286
276
240
166
126
232
236
237
218
209
244
261
249
293
244
160
187
206
209
236
264
181
137
211
260
245
228
168
262
252
206
251
162
210
294
252
266
257
154
215
224
256
202
249
322
272
208
282
304
192
227
244
236
225
240
172
233
167
223
231
176
204
140
235
305
253
129
164
254
159
225
289
336
264
246
231
226
195
185
199
258
177
210
223
166
194
114
241
200
234
214
220
268
241
200
263
121
231
187
183
235
206
250
177
304
344
258
272
246
186
258
148
195
181
221
208
234
195
304
252
230
328
192
249
208
197
171
189
189
233
299
274
204
323
245
213
209
308
242
209
265
215
222
238
252
281
231
154
183
254
256
217
199
300
259
207
198
126
159
209
188
197
242
214
215
210
247
208
230
186
283
235
228
264
267
236
244
202
200
195
181
219
268
246
239
228
184
179
221
178
295
219
168
303
238
250
328
370
249
315
183
309
292
204
270
203
185
239
185
235
157
152
266
306
301
217
195
243
328
216
290
306
307
192
317
202
201
216
193
195
161
252
258
173
176
267
246
268
326
242
228
219
252
229
236
229
148
218
184
222
220
187
302
180
263
226
197
133
220
277
274
259
216
337
224
306
261
214
193
212
197
316
245
219
215
177
263
237
233
177
229
249
235
189
276
192
198
139
156
206
311
256
205
226
165
251
161
287
274
223
209
198
257
242
156
237
282
237
250
261
177
276
245
171
196
259
217
178
246
278
215
296
236
270
252
320
216
268
170
252
240
212
199
174
230
246
159
211
158
315
186
237
256
182
206
271
221
198
179
222
225
193
247
195
264
173
241
195
293
226
236
228
230
228
211
234
286
194
189
244
171
252
202
191
148
231
222
184
203
227
200
184
193
171
260
262
197
300
236
233
278
209
176
197
265
175
240
251
292
196
225
212
175
151
206
126
265
114
231
208
249
202
208
311
161
237
185
190
225
223
225
187
257
230
338
198
263
185
163
226
263
347
183
239
237
239
200
257
226
270
234
121
291
222
215
185
225
225
188
189
193
164
114
196
249
221
181
165
243
251
208
238
220
237
197
252
203
207
204
256
263
284
273
166
236
197
197
256
196
217
174
277
129
173
246
114
238
201
211
317
230
217
220
228
309
216
209
260
114
221
213
267
200
205
193
198
303
152
258
253
217
192
255
121
201
275
268
232
240
180
255
263
217
239
285
229
221
191
238
181
255
180
249
207
228
228
171
234
198
202
184
247
173
314
201
296
200
239
219
280
217
193
247
237
181
242
263
203
213
161
277
228
207
220
158
270
253
231
246
255
284
114
166
260
181
229
231
235
166
253
240
327
200
233
253
208
229
170
192
192
288
253
219
288
168
175
252
178
233
214
295
275
218
169
298
224
298
229
287
233
168
228
223
233
179
188
237
200
191
299
260
235
260
225
181
160
242
255
108
229
213
164
294
243
163
291
208
219
192
262
242
253
280
215
164
205
145
160
279
165
230
249
278
194
217
253
139
214
303
284
247
344
255
238
219
258
237
226
209
201
252
325
171
200
152
252
241
289
181
216
277
223
241
247
144
158
219
207
254
220
258
193
234
239
224
228
305
253
266
199
191
173
284
240
202
269
320
201
219
167
207
162
156
184
287
178
169
264
185
262
232
149
187
208
108
245
235
214
223
224
146
233
227
175
298
260
211
202
198
243
236
240
172
250
279
236
214
266
255
172
183
320
214
287
159
233
238
238
218
149
302
271
263
175
181
237
221
249
245
169
203
235
205
261
152
257
165
244
258
216
196
153
240
186
242
222
280
183
253
255
208
245
177
263
234
260
259
183
203
197
209
244
238
278
179
293
255
292
184
214
147
260
294
257
292
252
218
263
282
364
258
180
355
264
154
230
273
178
239
194
248
175
171
246
175
224
180
165
180
219
288
249
181
198
174
264
245
191
314
242
194
301
114
218
247
217
268
194
214
230
114
213
257
240
213
247
271
277
158
161
274
234
260
254
234
231
230
187
243
209
216
200
248
173
202
245
288
214
207
173
259
235
198
156
196
257
193
178
218
216
178
167
133
114
208
203
206
286
174
253
224
210
288
156
254
255
232
273
198
210
269
198
229
355
226
305
238
196
184
235
197
196
289
234
230
194
240
261
264
226
220
287
210
227
243
208
293
211
197
239
232
253
257
226
219
256
234
180
250
212
226
144
178
320
210
195
183
190
158
292
153
309
238
226
271
243
257
279
240
221
265
180
187
246
264
148
252
244
291
207
225
228
235
196
216
226
206
170
245
204
270
206
271
211
174
259
297
207
233
197
197
321
245
218
200
295
289
209
254
252
220
169
177
252
178
175
210
194
214
209
159
277
239
169
240
243
193
248
114
234
218
197
234
213
282
216
187
186
253
213
295
160
302
273
255
254
213
262
233
192
126
149
194
179
260
280
299
212
270
156
169
208
242
309
228
246
191
204
218
196
206
229
154
334
174
186
205
212
142
215
192
202
204
181
221
175
241
286
179
205
196
181
206
208
219
231
252
219
252
168
196
218
235
198
190
184
168
162
219
221
216
196
241
240
203
209
301
347
261
248
282
222
250
219
148
284
181
233
180
174
256
219
243
193
265
182
195
151
193
182
202
235
208
238
256
287
161
230
216
200
175
258
299
221
281
247
270
246
243
297
191
220
196
294
197
180
224
307
244
258
152
201
275
341
247
237
244
198
240
169
256
156
329
233
256
198
253
181
238
147
229
193
130
198
235
213
193
166
128
222
166
180
232
219
193
273
227
219
271
244
213
279
201
181
220
267
302
213
114
252
257
183
130
307
252
196
249
268
279
210
238
214
178
209
243
208
280
258
190
284
198
189
206
215
219
247
246
254
220
248
224
162
197
180
216
245
160
210
244
220
314
232
166
236
152
240
244
254
249
227
241
165
192
158
221
253
244
228
212
214
202
156
170
230
175
256
170
206
266
222
158
258
214
213
262
180
196
165
263
252
291
172
249
147
273
192
126
207
238
236
161
241
246
286
268
203
219
218
220
225
193
154
203
252
313
154
214
213
245
177
242
262
156
211
250
289
298
176
201
254
262
233
248
215
177
296
186
169
177
114
235
215
203
263
175
159
180
219
130
188
254
180
264
263
139
308
192
233
259
211
238
211
139
200
196
174
218
187
306
191
256
294
271
311
252
250
205
181
276
255
217
258
189
280
221
260
218
160
139
237
212
232
192
276
214
226
300
254
236
235
173
266
240
198
201
219
165
198
189
160
247
283
178
271
160
225
211
256
186
178
233
230
185
207
241
214
268
199
260
194
262
282
238
253
143
202
274
209
255
265
248
234
153
249
165
271
277
195
263
222
168
197
273
273
184
217
242
248
220
218
309
205
269
238
180
206
198
262
239
254
269
228
261
271
231
260
230
228
268
230
195
244
244
297
238
213
187
285
146
205
240
150
247
208
225
186
258
250
246
253
252
203
197
166
246
208
210
269
327
139
246
218
231
181
237
289
211
183
170
156
237
170
195
230
160
239
213
158
249
222
166
263
278
178
223
181
193
250
167
241
242
207
216
203
237
216
216
162
219
188
249
292
301
264
176
277
208
196
189
175
169
196
219
303
214
241
212
271
168
245
284
254
186
238
258
204
265
190
191
304
175
310
122
204
139
126
382
273
251
229
270
233
321
206
292
235
209
207
258
221
215
228
343
165
205
262
203
243
205
237
241
376
301
266
248
217
206
228
312
249
255
246
207
146
182
265
253
170
182
220
235
218
204
168
305
247
194
237
384
172
198
308
306
263
214
175
193
168
222
285
159
198
204
256
160
248
293
210
180
204
253
259
235
241
199
229
246
211
245
199
206
231
292
227
166
247
201
210
201
207
202
221
237
311
307
252
194
182
297
254
270
238
232
189
160
194
285
199
225
263
226
362
224
168
184
206
189
173
262
199
178
227
259
258
191
181
245
232
197
216
248
263
145
191
258
114
153
215
186
253
229
212
197
234
244
242
252
221
251
251
332
238
213
263
151
154
273
246
210
220
297
253
245
194
224
202
231
171
166
238
261
301
207
178
273
231
243
214
180
237
198
164
181
194
181
292
169
180
188
198
217
217
145
227
262
285
128
228
229
309
267
256
261
196
269
226
237
257
301
206
234
248
279
222
267
241
280
185
175
277
232
221
347
145
216
280
178
180
160
229
163
207
196
218
194
250
188
318
255
114
254
200
154
206
221
210
265
169
244
229
248
202
239
235
244
217
228
168
219
304
222
298
253
289
236
206
226
239
234
151
206
210
181
189
146
178
206
227
219
290
216
152
173
214
176
189
243
187
187
222
278
258
166
178
219
199
176
258
156
258
198
327
276
235
276
212
339
247
215
215
200
203
223
170
168
243
233
231
156
189
179
153
219
200
183
210
301
320
239
186
166
177
268
213
284
207
224
250
258
240
224
293
262
249
272
114
175
233
236
267
272
171
325
305
258
301
162
211
170
174
258
209
321
242
270
218
253
242
250
209
234
221
215
144
219
207
176
221
243
218
225
155
147
231
228
210
245
303
258
186
305
286
248
239
198
213
188
218
175
225
195
274
249
214
228
255
173
172
240
253
253
306
161
242
206
259
307
154
258
207
188
169
275
178
226
310
307
192
177
214
264
240
215
175
219
206
231
164
160
265
176
186
231
175
162
253
222
213
222
195
227
261
294
290
158
158
207
217
281
240
214
257
280
241
234
218
181
284
177
234
178
200
193
176
257
263
169
216
187
215
338
252
226
267
252
308
255
170
283
206
311
248
214
263
241
222
167
206
189
158
206
233
214
200
192
211
173
263
234
243
168
289
250
169
294
175
225
191
200
199
202
190
271
268
144
218
251
215
269
163
171
214
231
266
139
221
314
238
266
192
270
190
193
182
229
200
192
232
315
260
252
178
181
260
241
196
167
188
196
208
167
214
260
230
274
211
163
164
227
195
181
180
237
238
184
242
236
262
214
235
221
242
192
187
258
179
150
246
199
219
114
162
175
192
302
247
128
169
294
230
259
195
175
236
238
255
295
209
220
181
216
284
276
183
284
213
207
137
213
183
214
166
263
223
235
207
199
256
204
208
248
330
276
249
196
257
235
183
220
234
250
235
231
204
274
211
192
192
237
257
213
186
240
195
236
324
224
180
269
144
247
239
267
171
231
231
190
251
218
215
114
203
191
282
271
162
221
199
265
270
296
167
210
189
198
252
183
180
244
198
214
198
189
204
244
179
280
284
232
343
203
276
311
244
230
214
168
250
145
233
145
166
258
222
214
209
234
212
129
214
238
174
179
259
238
206
193
243
234
152
228
159
208
200
293
295
234
217
192
230
243
239
214
214
200
229
257
225
230
225
266
184
186
240
311
235
178
201
249
220
178
242
220
224
296
214
236
285
206
236
199
108
215
238
257
243
200
170
245
176
315
276
173
290
287
281
169
272
296
160
221
195
175
126
296
208
189
264
248
156
189
268
242
219
175
208
198
207
207
230
261
230
149
241
263
145
299
257
293
160
263
257
291
208
212
173
196
157
152
269
114
237
180
233
178
205
160
333
191
240
223
248
160
228
335
292
169
219
214
263
223
169
208
200
251
197
276
160
146
228
255
316
296
196
157
178
174
305
225
240
184
263
180
152
265
206
226
269
225
340
218
260
248
224
257
272
195
157
249
237
219
339
247
182
256
148
300
183
200
247
180
183
206
199
214
222
194
260
178
246
244
108
230
258
175
211
178
133
210
328
219
205
269
288
186
251
225
192
275
312
206
229
287
240
194
266
246
247
252
202
191
225
175
234
209
168
272
149
255
197
233
216
227
207
272
156
184
250
264
239
184
249
243
130
197
215
170
273
218
241
206
197
144
234
265
229
259
218
229
208
160
260
225
191
279
215
149
210
231
215
154
259
253
236
296
287
134
193
180
243
181
160
246
302
253
235
202
249
215
288
114
234
266
272
177
180
200
152
192
185
219
229
245
229
242
218
263
258
170
290
208
196
210
258
169
233
186
205
256
236
195
192
212
254
270
250
212
204
224
215
274
200
198
174
244
331
255
192
243
217
145
204
238
226
193
179
191
234
178
211
185
175
206
234
268
153
233
235
208
228
301
264
208
114
210
145
227
343
244
152
278
180
209
254
196
198
262
226
248
286
199
266
145
239
288
192
284
234
200
114
267
290
159
292
147
108
210
208
218
247
207
174
233
191
299
225
299
238
276
198
240
221
182
291
156
156
259
240
221
226
232
257
275
246
311
261
268
156
217
212
180
285
270
345
258
126
263
295
230
179
192
215
158
195
291
205
188
170
282
243
164
264
114
266
234
233
233
192
243
222
247
226
246
196
254
145
288
214
176
235
248
236
198
287
271
304
233
141
318
272
288
209
214
253
256
194
263
250
171
238
290
149
169
213
246
201
192
216
175
249
234
174
239
277
295
171
197
195
114
256
192
231
227
195
249
173
305
272
319
193
144
230
206
238
252
237
244
180
205
252
234
288
149
240
262
240
230
278
254
182
233
276
194
283
204
245
211
254
249
244
234
241
106
246
289
225
225
275
157
146
160
147
241
181
224
304
207
256
178
250
273
239
223
173
262
171
261
246
268
178
210
245
226
143
281
205
236
186
230
196
198
242
262
256
224
164
253
242
179
141
218
189
252
280
214
209
253
335
244
158
200
269
222
214
235
246
308
280
251
230
249
130
239
233
200
213
218
217
232
221
214
198
217
277
230
208
170
242
245
248
156
203
170
245
148
190
231
253
223
186
261
223
225
160
199
196
191
197
148
129
245
301
270
280
232
230
231
260
235
282
227
293
170
214
197
192
231
188
239
238
232
224
215
205
231
160
248
260
193
141
226
211
258
214
266
203
173
275
274
215
321
217
215
275
162
222
218
158
283
168
114
206
182
247
222
225
215
331
270
273
204
260
191
214
311
219
295
238
194
218
234
283
223
246
220
225
259
245
195
278
196
272
263
246
225
242
225
188
258
215
225
311
252
207
257
272
270
192
175
310
158
168
246
255
309
232
167
300
322
267
299
284
245
235
207
255
299
306
266
250
203
257
203
208
174
171
208
298
246
147
262
274
296
188
203
220
246
233
154
157
262
311
282
178
241
238
208
184
212
182
254
261
316
178
188
243
268
233
245
211
203
146
190
236
264
280
210
280
221
226
156
233
273
208
259
297
275
160
214
180
208
221
323
247
156
174
264
252
198
176
250
249
240
159
269
178
225
282
222
208
248
177
261
193
305
196
279
241
274
210
184
286
219
284
158
237
220
213
200
227
276
195
197
242
192
205
216
191
223
276
281
294
305
260
229
299
231
176
216
250
175
215
198
170
176
171
182
178
163
151
210
334
245
160
180
185
239
184
220
257
214
276
203
203
160
241
257
252
174
165
161
164
161
261
278
185
247
217
197
245
246
145
207
239
281
147
251
269
255
204
275
197
226
190
289
230
238
240
209
280
240
184
266
207
280
218
189
145
282
186
232
247
291
255
178
153
306
190
187
238
232
213
200
257
209
251
220
228
244
176
249
175
235
192
186
212
251
158
255
233
229
260
197
315
244
226
168
151
204
198
241
210
158
304
369
176
234
312
221
248
235
193
233
319
224
228
263
193
136
238
218
177
234
225
170
196
299
305
278
270
221
176
265
174
260
216
244
178
299
231
259
225
315
217
252
249
256
223
247
279
192
200
202
197
188
249
168
190
242
251
311
233
275
202
206
194
242
214
206
190
218
198
228
195
169
233
190
247
300
159
206
106
207
248
215
215
277
220
245
249
218
217
241
254
207
231
180
208
203
239
222
256
221
252
233
218
234
234
174
181
170
331
268
223
191
168
245
268
162
156
245
326
188
192
243
236
215
255
219
168
246
108
256
214
202
196
306
261
229
173
182
231
219
217
232
158
204
178
245
265
294
202
270
240
195
185
193
259
168
239
238
230
146
232
198
239
269
190
234
114
263
208
342
192
193
254
198
222
289
214
156
183
391
144
210
239
293
305
253
247
261
261
204
206
237
184
197
223
221
201
145
272
145
187
251
218
221
233
219
191
235
198
196
114
156
180
193
200
268
248
255
199
192
176
237
158
256
160
208
268
287
151
192
241
231
182
149
235
219
221
290
223
247
321
254
262
325
216
185
160
254
156
261
200
211
190
245
224
226
201
188
158
325
313
234
233
264
149
231
192
230
218
214
198
201
253
195
257
203
178
220
156
265
243
167
224
219
173
219
197
158
207
218
204
254
247
202
206
144
247
178
232
221
224
233
154
237
200
262
247
215
250
205
218
260
231
245
234
255
198
212
269
243
193
198
273
188
186
296
222
247
256
269
185
295
258
258
262
333
198
242
292
218
161
255
166
121
155
213
297
178
279
160
173
250
233
274
282
245
233
245
248
219
173
157
187
114
240
258
222
149
217
219
257
156
207
210
193
231
219
187
207
200
196
219
193
174
210
192
278
233
237
241
165
178
178
198
224
312
180
194
223
156
260
211
145
230
217
327
250
233
231
232
202
288
193
358
210
242
170
241
211
177
200
273
114
252
217
210
156
220
252
257
178
233
301
330
189
257
250
216
259
196
225
215
205
282
211
272
222
172
203
219
200
228
290
212
176
214
192
165
238
190
282
213
295
206
194
186
211
255
214
269
200
247
221
266
197
295
259
188
290
280
213
277
189
210
246
114
295
267
175
357
238
266
213
216
250
285
191
184
225
303
166
196
150
187
248
219
198
265
177
207
220
156
126
171
277
245
285
201
195
259
147
234
173
148
222
245
315
284
189
263
256
178
193
202
240
226
139
191
228
296
174
201
211
278
302
246
208
282
316
205
208
297
197
266
196
232
220
156
276
191
192
227
187
224
200
228
298
215
151
258
231
249
151
182
253
192
179
237
190
170
173
198
189
206
254
217
223
282
253
249
219
257
251
285
256
309
300
258
183
187
188
199
157
299
246
170
145
182
185
201
261
148
170
230
224
243
178
319
250
171
244
160
154
190
248
128
174
274
221
224
212
126
205
195
246
265
197
211
152
243
153
233
202
227
166
152
254
190
248
215
171
208
174
170
217
234
114
274
205
240
198
223
158
238
260
235
177
167
139
303
212
309
273
267
247
190
161
266
203
290
228
196
241
233
300
193
236
165
156
174
196
192
238
166
265
199
273
233
307
230
211
259
227
219
227
192
177
167
190
206
248
238
262
222
227
254
208
207
188
200
201
181
284
247
173
193
198
211
310
308
169
193
236
226
234
252
246
244
256
139
286
191
263
258
227
188
202
287
223
214
307
284
251
241
181
206
246
128
160
230
237
173
289
275
245
222
249
247
267
227
229
293
290
230
198
200
229
223
281
200
249
265
208
187
220
322
211
301
213
181
229
233
243
219
178
212
121
258
207
233
301
209
236
174
226
206
116
176
298
177
219
168
245
268
247
253
254
299
224
300
256
222
208
213
139
193
358
238
223
270
167
231
304
207
219
286
265
250
197
181
200
239
227
250
327
158
237
216
290
267
223
251
206
242
244
205
193
289
323
259
173
327
255
251
202
265
295
227
265
199
244
170
181
233
345
275
219
172
181
260
191
242
284
239
233
173
231
245
249
210
209
337
256
238
198
195
182
267
245
152
166
230
262
210
195
205
259
297
239
232
324
249
258
237
170
165
216
206
188
254
208
189
240
251
214
229
208
232
279
220
217
192
239
193
271
245
253
199
207
188
209
301
191
239
276
227
275
232
242
169
230
227
157
215
192
229
271
254
249
244
252
287
222
265
231
254
227
165
255
212
233
161
219
269
268
206
212
225
235
196
309
257
214
238
178
281
219
183
284
233
211
237
184
181
208
219
181
160
230
166
310
114
241
139
220
188
292
202
220
192
220
196
261
216
257
206
284
251
222
297
191
180
258
254
241
318
146
151
189
191
295
279
170
217
249
227
205
268
258
241
213
276
286
261
160
191
171
202
280
230
170
262
246
214
229
204
208
253
194
200
231
178
278
221
156
195
213
277
233
169
233
292
171
234
187
193
280
264
313
201
235
252
198
240
182
233
172
201
215
295
260
253
263
253
274
293
281
266
151
194
279
246
247
195
192
262
270
261
214
253
215
188
229
277
114
205
224
246
203
192
162
252
178
240
227
253
254
237
232
212
279
171
302
204
209
202
241
196
272
248
259
193
179
215
270
156
271
161
173
108
202
149
170
214
256
240
234
194
281
247
154
246
193
185
189
354
231
172
189
289
232
183
259
215
275
178
197
202
195
179
224
147
179
243
291
195
241
198
309
188
219
196
202
168
322
275
175
231
176
304
253
217
213
222
133
198
171
170
237
208
320
241
287
280
242
205
240
180
248
198
239
333
231
235
214
170
242
277
199
237
222
247
212
361
139
297
249
233
162
177
256
277
272
300
265
183
225
236
218
205
187
231
229
229
285
236
219
233
240
207
228
230
154
284
294
221
227
286
246
262
254
240
232
293
205
193
229
209
227
201
182
307
250
247
250
186
246
298
304
318
284
307
201
275
282
225
221
212
214
277
255
139
310
178
179
265
146
179
185
197
237
179
180
273
245
173
234
190
237
258
163
270
220
255
283
190
242
227
217
212
217
222
233
211
157
278
283
158
231
281
222
257
178
209
267
275
202
280
246
290
212
253
345
272
170
305
192
241
203
218
139
229
181
212
159
183
273
165
221
229
257
259
208
221
210
197
214
210
218
270
202
208
238
236
199
202
214
223
217
260
158
206
195
223
252
305
200
273
174
200
241
301
232
254
196
219
134
181
180
240
268
168
243
194
214
261
177
175
253
234
198
223
198
221
296
230
167
152
248
191
161
280
196
283
209
330
185
266
232
263
288
245
222
216
190
228
199
272
273
259
285
204
262
166
244
189
142
285
192
231
230
307
240
189
218
181
306
213
244
265
228
324
228
204
297
166
253
173
274
257
273
208
222
271
240
232
261
308
315
191
238
155
173
222
257
195
289
279
238
257
213
231
245
176
202
293
208
331
245
223
226
235
139
201
224
181
238
271
197
207
211
272
240
224
243
169
240
303
245
146
255
171
177
217
213
234
251
231
213
261
253
251
169
222
222
218
211
242
175
173
214
295
289
209
248
326
273
198
241
209
219
249
181
314
237
201
307
188
253
232
205
196
237
242
228
219
198
214
239
174
262
201
194
308
319
196
216
200
204
241
114
302
233
267
154
279
206
295
247
280
339
289
258
284
229
248
251
216
233
170
258
169
233
270
286
288
269
179
240
249
233
306
253
201
241
247
152
173
222
223
171
212
275
164
273
165
247
203
256
151
208
238
230
230
211
225
173
241
146
234
244
280
245
198
243
220
185
179
205
248
219
176
201
208
251
279
293
260
220
210
219
202
207
240
301
219
279
227
305
159
184
220
236
180
346
244
214
178
264
223
257
351
196
253
276
225
202
219
209
154
281
253
148
206
245
176
210
251
245
194
173
216
226
265
254
172
219
262
213
199
268
238
335
231
249
180
239
215
180
216
252
346
306
219
244
212
207
270
248
215
233
278
203
197
225
218
223
240
232
342
159
176
204
235
173
283
207
246
182
256
176
207
182
249
181
191
259
233
264
214
248
218
256
198
219
223
297
200
218
238
227
224
290
235
251
177
279
243
235
241
252
290
208
211
202
258
194
266
249
232
216
239
237
241
286
114
252
243
220
158
224
222
175
205
114
170
176
275
205
212
204
228
199
242
276
160
198
243
273
156
218
254
252
224
192
256
202
207
184
244
240
280
158
288
189
193
209
283
189
175
295
157
302
207
213
229
114
317
259
231
241
234
174
261
183
205
234
184
203
214
272
238
252
228
170
202
170
186
262
183
289
286
228
252
145
261
126
171
198
276
248
242
165
158
220
233
211
248
218
186
230
264
203
265
211
230
196
281
289
217
205
220
192
251
173
215
270
212
230
295
173
173
221
172
194
227
176
200
211
263
229
239
258
258
276
240
200
114
233
214
232
245
306
211
275
219
201
152
204
165
252
259
233
234
227
205
260
162
218
257
283
231
218
200
285
325
173
128
116
258
155
199
227
161
243
214
188
284
164
208
258
246
252
258
309
253
241
265
238
199
260
156
336
199
108
265
229
210
168
187
193
252
197
298
250
224
166
232
242
189
260
283
315
154
314
180
222
188
157
182
322
173
257
245
301
192
221
269
307
213
217
195
235
240
114
211
286
217
236
259
215
270
230
254
262
170
173
250
188
270
254
220
195
170
175
247
177
198
278
228
210
287
251
184
156
256
266
223
126
192
273
203
154
236
190
182
165
214
219
229
230
218
265
204
181
261
238
185
128
161
166
151
265
145
308
245
244
209
225
177
146
176
211
208
245
291
346
224
229
166
175
174
217
167
198
242
222
139
257
236
214
223
207
158
171
128
253
178
223
281
248
205
173
252
271
160
250
156
271
232
295
273
232
291
175
213
269
207
214
285
180
122
218
226
238
201
192
176
218
290
287
261
139
246
168
191
185
160
257
248
230
243
260
174
191
223
223
190
239
249
116
206
230
180
221
219
265
284
213
235
223
247
180
208
204
304
202
205
199
246
280
215
160
273
278
214
206
248
293
272
226
199
212
198
323
315
230
270
139
205
295
262
160
191
238
145
279
192
206
261
231
194
193
231
190
244
272
126
202
167
175
211
260
269
204
240
402
260
279
251
264
181
206
219
238
186
223
175
228
259
276
209
237
224
179
198
242
203
235
191
130
235
270
232
151
214
221
262
273
202
246
170
192
267
260
181
274
232
170
237
259
213
214
252
213
242
247
182
270
214
240
233
184
208
218
177
228
292
242
222
160
226
263
199
207
178
161
264
235
262
217
341
221
249
246
228
197
180
198
234
225
160
197
208
164
316
212
249
188
233
181
271
139
199
207
256
236
213
239
196
214
288
163
245
297
199
258
210
160
215
197
239
192
279
267
238
230
251
255
146
236
196
251
271
194
257
219
256
273
223
176
276
243
320
191
174
282
244
114
264
276
261
249
200
270
276
200
224
169
251
227
275
198
181
180
191
243
197
223
160
197
226
261
198
220
184
363
181
234
126
171
174
179
277
193
209
242
228
214
213
262
182
241
254
226
193
178
280
179
212
160
214
216
212
184
258
220
263
254
232
198
234
177
176
263
294
235
262
257
252
213
203
189
235
226
194
139
230
217
179
200
262
238
160
195
219
191
215
254
216
283
221
222
267
171
196
194
308
222
222
196
237
278
373
231
271
155
210
201
314
247
204
197
235
222
134
182
147
278
277
227
205
266
185
206
269
239
217
164
226
219
175
198
311
161
238
223
245
165
255
205
231
197
331
201
169
181
256
114
267
221
175
203
190
227
293
256
235
195
248
251
168
234
282
114
169
239
285
255
168
173
181
236
269
250
267
180
196
227
196
183
181
210
180
198
171
173
221
277
263
233
262
197
320
226
243
182
207
266
152
246
235
209
202
194
211
284
179
219
201
188
233
191
299
259
297
245
248
231
265
246
195
280
209
240
190
176
279
197
171
291
202
212
225
149
170
182
203
235
224
175
251
241
236
289
239
169
225
225
241
176
270
289
170
183
271
194
276
192
221
221
245
214
215
231
229
152
195
173
197
263
281
152
254
247
290
236
258
184
248
318
199
126
231
221
267
229
213
207
230
184
260
227
234
191
236
256
298
148
232
191
152
262
218
216
260
204
198
170
189
211
239
178
198
229
192
245
266
256
197
220
147
114
221
228
201
183
250
201
158
299
234
225
162
228
207
282
325
222
161
244
186
247
281
210
276
139
195
253
170
218
198
318
223
208
114
242
236
288
223
147
160
256
282
279
267
206
230
237
282
231
219
287
221
269
232
183
175
242
201
230
194
186
221
204
243
239
209
260
234
232
156
226
209
283
233
146
116
160
223
251
199
244
248
275
163
256
200
199
162
259
174
202
267
224
221
184
199
108
229
231
294
286
220
306
205
288
247
134
247
222
182
288
114
249
261
195
203
277
203
196
227
241
220
274
305
214
297
221
218
252
193
254
236
242
258
241
247
210
195
292
172
203
157
274
255
278
255
239
218
173
209
181
251
253
174
260
216
259
234
310
239
268
188
213
249
192
234
246
199
208
203
173
203
281
220
208
296
215
190
216
147
260
213
153
193
243
180
160
234
126
242
174
187
222
314
252
218
178
209
294
272
235
200
190
231
200
251
160
253
282
243
209
300
231
203
151
266
194
192
306
181
157
192
245
219
211
237
249
165
210
165
220
202
170
215
226
230
240
319
126
223
214
196
241
191
213
234
242
242
317
249
198
182
205
248
262
152
224
290
231
114
264
208
242
169
158
201
276
176
174
129
216
207
227
228
229
311
262
236
240
202
210
204
276
276
201
156
207
139
184
160
217
199
320
208
256
220
155
210
271
186
164
265
192
192
209
248
261
216
165
181
196
173
269
185
203
180
232
281
171
206
195
283
250
255
240
145
284
133
240
230
244
174
212
195
212
215
239
215
239
201
212
343
265
270
213
199
176
235
206
291
175
267
196
184
256
192
259
148
233
239
148
255
155
261
220
260
233
196
277
297
170
198
263
193
257
250
220
242
227
196
190
114
167
245
257
184
197
177
208
298
234
168
231
293
270
185
280
239
281
235
219
191
240
261
244
201
213
213
253
255
290
227
241
250
215
156
155
128
241
281
180
253
203
233
250
229
267
269
238
282
276
189
254
220
193
224
212
208
260
192
262
222
207
174
283
114
249
206
231
255
247
304
189
190
267
245
249
213
200
178
296
177
168
317
272
260
269
261
212
126
224
166
203
234
288
165
203
227
279
234
180
161
126
214
203
149
297
239
274
114
232
264
289
181
179
192
194
208
239
201
233
263
208
173
293
250
269
209
205
291
152
231
303
226
190
305
188
195
193
222
190
188
196
179
198
152
252
239
189
253
208
264
245
222
248
184
281
240
271
301
282
261
201
148
307
241
174
303
246
242
199
209
208
260
222
204
318
233
176
229
243
227
170
207
167
229
178
288
217
177
199
288
277
225
243
208
262
209
216
350
238
259
248
203
231
223
240
180
220
264
139
251
280
257
226
247
264
209
254
190
280
189
170
183
149
208
257
284
202
218
204
175
324
189
226
241
261
247
333
189
197
195
219
288
236
262
178
212
223
216
274
218
215
215
160
253
200
190
179
193
244
214
254
195
191
294
273
276
231
200
198
262
300
184
184
175
281
249
114
148
225
238
252
243
196
231
303
152
231
212
170
272
170
221
196
266
179
245
249
130
222
215
264
173
227
232
271
245
218
211
205
188
197
171
204
210
247
281
234
176
254
209
264
201
156
214
184
231
325
300
270
233
144
232
177
201
139
204
201
152
208
268
226
198
173
212
214
268
285
169
213
195
227
156
228
225
247
231
271
266
177
189
164
259
241
149
263
220
239
242
108
265
215
256
224
209
301
276
258
332
156
227
211
172
235
233
215
264
270
255
213
204
202
184
260
340
227
218
217
223
192
250
222
116
323
276
183
175
243
222
180
192
260
206
226
211
170
292
176
164
198
263
149
206
252
320
243
213
273
187
262
274
288
226
252
162
196
166
252
171
181
144
130
220
251
161
266
248
126
262
266
310
225
307
206
228
249
298
207
230
263
214
160
314
285
274
194
184
343
282
252
181
267
296
244
287
207
229
279
248
240
258
227
142
227
189
218
147
215
295
208
286
228
164
192
202
143
235
263
323
195
231
332
202
231
197
278
228
213
283
147
249
192
211
170
267
232
219
192
266
278
258
251
254
171
234
296
170
311
281
208
228
205
180
176
126
207
253
271
280
236
212
295
180
264
213
238
214
228
174
186
145
185
225
322
228
192
198
222
178
160
235
258
265
213
216
258
263
158
201
259
286
139
220
233
232
162
149
175
183
176
274
162
304
234
195
173
253
289
267
170
243
281
169
247
231
183
207
249
218
260
180
206
224
170
219
304
297
216
255
184
183
264
184
268
188
201
292
236
144
213
220
220
162
246
202
297
177
384
196
184
252
252
178
160
242
292
242
208
254
272
196
195
237
170
255
240
252
254
228
206
243
299
146
227
114
227
285
272
218
189
245
241
222
293
145
173
233
243
243
270
194
337
331
231
276
200
274
198
235
227
219
205
279
231
295
191
254
238
230
159
270
204
268
200
177
239
262
292
264
280
285
195
270
222
247
251
206
182
290
237
296
267
275
226
180
211
230
258
262
178
178
175
262
242
168
151
229
159
319
304
222
219
281
223
254
282
239
213
237
226
251
216
161
178
278
158
262
176
280
239
148
253
239
218
250
209
175
252
184
239
211
128
316
214
186
214
217
269
256
243
208
239
270
241
248
153
225
240
263
176
221
218
230
278
242
247
186
196
266
190
216
224
245
180
199
306
228
161
226
212
260
253
271
244
170
261
208
251
229
163
257
259
221
253
251
223
146
263
189
160
259
145
216
191
219
216
255
179
200
232
239
160
192
256
270
293
199
268
191
199
182
274
278
222
204
166
184
209
234
233
273
193
228
259
228
184
220
322
241
302
298
187
151
148
260
240
265
147
243
207
219
192
160
239
188
181
287
251
121
181
190
249
241
161
185
231
230
170
193
304
259
213
273
301
208
184
173
214
247
189
235
169
266
242
230
247
226
220
193
192
162
261
282
209
244
215
278
170
160
267
233
260
209
272
259
224
304
230
250
333
215
248
203
191
226
263
280
161
255
232
246
143
205
178
188
228
221
274
212
114
259
182
310
162
256
205
198
185
166
180
240
214
198
180
303
173
229
276
268
231
208
233
114
272
192
218
220
141
288
272
205
202
225
156
214
283
214
160
259
268
225
220
240
235
254
303
322
240
206
210
192
175
207
223
189
228
286
154
218
276
260
228
173
217
232
230
139
232
155
331
201
238
249
186
197
207
181
219
245
268
258
263
168
223
240
246
234
209
216
200
189
229
255
239
260
232
237
302
270
196
192
230
225
227
239
240
222
204
185
192
277
253
183
191
198
262
252
229
295
242
193
235
138
228
242
178
191
235
191
221
198
221
216
203
223
259
261
235
232
141
204
250
200
198
205
247
210
242
277
161
233
250
216
182
148
267
237
164
227
262
186
257
236
278
178
259
188
213
146
319
191
179
285
229
156
258
260
213
174
249
199
292
206
225
182
169
233
346
191
170
215
244
198
215
161
257
222
226
197
243
195
309
214
201
214
174
221
228
257
149
160
208
214
185
135
205
289
234
266
178
198
341
219
241
222
295
337
261
185
215
236
276
195
224
218
208
214
156
204
191
237
205
216
309
261
225
185
228
206
279
209
201
268
235
207
209
185
192
253
255
287
286
180
236
258
247
259
219
255
240
194
219
259
151
209
185
222
169
208
247
243
191
294
114
249
248
231
342
251
289
240
257
173
239
152
215
257
192
205
251
266
171
309
261
157
114
246
240
211
190
170
220
323
204
340
241
165
213
218
287
329
253
233
229
146
269
227
213
185
177
240
180
263
247
206
245
222
300
195
181
292
209
319
280
203
265
228
223
176
161
253
244
279
198
272
219
240
254
247
230
219
264
195
169
252
176
191
157
244
173
285
192
276
264
188
255
255
262
233
222
315
233
197
258
192
198
208
230
170
218
170
184
266
222
273
173
240
270
247
147
224
164
236
221
195
263
263
201
262
199
212
273
240
282
212
233
318
270
274
231
191
149
240
191
272
236
214
262
241
175
295
228
191
243
173
197
315
240
186
214
309
250
208
240
246
277
199
234
165
177
254
193
193
253
244
276
218
229
172
233
161
170
245
164
221
185
219
209
262
181
200
134
228
224
249
244
291
255
228
177
174
212
193
219
259
216
194
225
309
306
186
220
247
114
233
221
151
255
314
257
280
232
192
210
181
326
244
234
208
191
221
253
246
215
276
302
133
238
305
244
193
217
223
222
179
213
194
183
272
151
192
276
156
192
257
235
221
241
222
220
154
285
186
209
277
199
213
268
200
114
250
209
218
250
253
264
260
277
194
227
137
209
267
241
192
196
211
207
252
210
170
198
292
266
205
220
254
238
244
239
137
245
181
293
265
235
200
206
219
231
203
157
165
224
254
208
275
253
213
297
215
207
246
284
200
349
190
211
256
255
226
139
157
197
211
229
285
283
210
291
230
236
213
175
265
182
256
232
228
186
291
208
192
207
228
278
129
156
179
303
188
262
184
307
218
226
156
221
222
287
252
203
237
217
210
185
216
152
179
222
221
293
288
192
198
198
181
185
278
268
209
204
223
340
224
263
160
223
215
186
193
126
249
286
236
208
238
205
161
189
210
194
212
377
215
170
276
207
243
251
114
238
261
192
114
256
240
152
195
208
219
283
252
187
237
210
167
189
281
229
213
212
219
206
305
241
197
208
283
182
197
179
182
231
237
238
249
251
163
218
222
252
181
279
184
241
197
186
213
205
197
227
191
176
289
176
201
240
231
212
304
186
194
306
206
232
207
203
248
174
198
198
231
238
256
254
248
235
213
239
160
179
283
195
168
301
299
209
209
311
229
234
180
225
264
252
151
242
264
273
219
191
191
156
215
221
160
178
200
250
297
206
162
257
324
147
237
195
232
221
277
258
216
261
273
189
302
262
179
188
255
174
209
220
166
277
331
218
207
291
206
294
271
194
176
253
223
188
262
217
244
206
192
218
199
183
198
244
260
219
215
284
218
196
241
277
192
245
211
276
223
215
189
321
243
217
187
212
235
230
165
155
233
234
213
193
220
297
261
242
234
235
223
203
236
232
237
222
302
218
257
146
273
114
343
180
241
227
225
238
284
180
130
206
192
227
221
277
283
173
202
299
255
255
301
195
196
156
254
298
316
271
179
170
283
226
305
228
250
243
219
250
223
201
246
260
176
170
300
235
282
199
296
218
264
212
327
265
187
218
249
214
209
234
191
233
195
333
194
234
175
246
228
206
270
209
168
198
220
244
202
220
208
259
268
205
262
212
238
244
265
281
253
281
209
262
275
218
190
225
176
236
254
292
168
145
253
190
219
180
189
209
145
214
231
204
145
266
241
225
276
173
154
251
210
275
259
319
257
267
197
195
277
220
218
203
152
228
253
235
210
192
232
239
155
223
177
179
203
217
257
275
174
158
203
262
245
160
257
180
108
262
230
195
160
170
151
261
235
256
254
244
182
237
244
114
133
270
205
229
204
219
298
186
228
188
247
176
205
262
177
304
236
193
196
245
178
203
172
170
154
178
217
235
175
198
273
263
296
167
180
233
201
293
226
264
260
172
212
285
156
198
284
248
309
158
139
173
130
154
176
227
251
258
158
178
143
184
239
204
185
298
188
307
261
207
179
252
154
201
182
161
195
270
214
247
182
228
229
156
198
276
224
308
273
219
204
183
268
252
204
222
283
180
181
201
243
190
243
271
217
249
151
191
315
276
186
271
199
194
204
202
258
206
172
175
236
195
235
195
201
170
275
188
226
206
235
243
189
264
236
146
264
260
222
254
173
230
258
256
231
290
197
211
301
235
221
249
205
232
314
233
214
126
152
261
194
169
266
214
322
218
169
196
170
268
212
245
242
192
388
214
317
235
254
261
221
260
114
250
208
284
256
250
193
267
213
360
242
193
169
280
254
177
237
200
213
200
265
227
192
309
197
198
231
233
202
230
258
241
265
257
203
208
235
173
158
174
253
198
206
245
178
238
242
222
309
295
155
254
183
264
318
279
237
218
232
189
277
222
152
282
204
238
179
245
197
235
227
244
256
193
265
235
257
234
170
223
209
190
222
211
174
250
279
237
219
311
227
227
245
178
210
169
211
290
181
194
222
234
264
189
263
233
287
267
254
230
250
219
196
225
283
173
183
166
212
201
214
251
193
218
279
237
156
154
166
238
260
267
270
279
259
245
214
212
275
258
263
192
154
269
249
317
128
245
192
198
169
139
191
255
279
229
246
178
154
311
216
247
225
178
198
286
192
285
198
297
201
231
232
202
180
255
249
288
184
170
256
211
240
187
225
182
229
269
216
232
223
159
216
230
272
212
218
195
278
243
187
236
139
227
181
289
193
181
215
181
178
171
259
284
302
254
268
281
267
194
222
215
191
192
251
367
258
315
211
186
169
263
213
328
197
221
292
173
175
181
241
259
212
114
213
254
214
241
204
213
205
248
347
194
231
235
254
284
209
179
114
252
158
256
222
233
153
205
181
156
292
245
235
184
250
239
241
234
189
306
229
254
281
306
156
202
218
212
223
260
234
194
204
234
286
190
317
169
227
260
157
213
209
278
208
191
193
213
159
172
198
204
209
273
276
165
189
210
366
226
155
198
224
207
222
219
258
296
212
238
211
181
170
238
262
263
198
254
139
231
147
178
330
314
315
247
210
178
192
261
203
235
229
164
232
215
204
283
165
229
249
232
253
225
237
266
220
158
237
241
261
152
238
269
241
229
147
201
316
178
181
230
207
246
206
207
203
220
175
257
195
286
295
312
262
174
240
302
200
208
228
240
216
241
200
264
337
233
200
218
203
236
292
192
163
180
187
193
219
225
218
261
197
241
217
222
256
204
147
185
114
214
216
255
218
192
199
192
277
178
240
151
246
232
213
114
201
218
203
181
205
208
152
281
203
236
232
168
169
200
179
268
225
299
238
219
292
238
173
266
248
207
227
256
238
252
231
385
228
261
147
239
266
160
233
175
218
210
220
197
199
267
240
322
262
300
296
160
213
239
170
205
245
234
266
230
228
247
259
165
183
178
191
220
192
114
190
152
241
291
308
266
225
224
210
245
276
231
181
182
256
230
220
208
287
236
271
170
170
205
204
169
300
224
222
179
237
298
205
231
163
237
238
277
299
273
201
247
196
246
203
200
213
184
237
233
228
209
206
244
171
254
232
121
260
191
209
234
227
210
224
214
317
249
304
201
258
252
229
299
215
218
292
212
143
178
316
241
319
227
242
323
202
269
174
194
244
283
256
176
231
207
263
185
239
271
140
211
197
194
268
228
259
160
289
156
301
297
244
205
194
247
194
219
234
287
256
153
232
242
130
231
245
229
218
226
214
206
217
198
252
200
248
195
247
180
207
145
223
254
219
193
220
160
254
224
242
250
287
285
192
237
202
264
257
290
231
233
324
213
211
203
270
249
285
222
209
164
187
287
194
222
244
218
286
233
227
291
207
302
221
200
277
195
229
173
232
205
218
228
220
286
214
299
272
248
235
332
232
210
193
245
253
250
209
174
260
208
152
198
229
349
216
222
193
152
238
288
173
178
227
184
240
219
172
216
256
193
201
235
177
219
235
230
193
184
114
222
221
260
227
253
227
199
186
116
244
242
179
195
242
340
251
172
175
229
238
210
227
283
281
244
196
212
153
276
274
241
277
223
216
295
228
222
225
178
211
212
242
314
286
234
286
215
185
233
314
224
289
198
201
251
250
202
201
241
185
195
174
260
203
288
289
234
207
173
203
114
205
246
237
202
170
250
244
241
195
287
219
283
226
268
173
188
204
237
238
249
256
232
218
226
224
116
162
322
137
248
221
247
205
227
359
238
265
240
215
154
234
226
186
223
212
241
252
211
211
243
168
232
214
221
177
197
198
240
263
238
253
216
242
255
209
230
230
175
192
133
249
267
208
184
231
170
220
192
214
268
289
223
245
222
242
200
249
274
210
245
199
194
267
235
233
179
286
185
165
314
207
245
274
224
233
216
208
168
170
184
199
282
246
170
223
312
241
193
114
275
149
192
260
237
198
152
198
221
241
195
217
272
367
215
216
224
186
199
207
248
333
151
329
106
221
197
203
195
296
317
184
190
231
226
226
209
271
201
210
273
261
273
264
223
167
216
180
221
305
248
301
234
229
184
223
304
199
209
159
206
228
212
240
320
221
180
254
325
211
254
152
166
213
213
220
279
252
312
244
218
215
173
151
160
241
114
144
194
216
175
220
200
172
224
200
114
144
268
184
214
163
250
196
256
233
313
154
257
191
216
258
147
222
215
216
200
244
244
336
243
252
226
152
237
250
274
201
290
245
247
297
255
244
277
280
255
256
246
247
235
294
255
242
227
252
329
313
322
344
139
257
243
240
229
285
258
215
200
299
164
311
254
299
198
262
226
290
235
197
325
197
215
298
266
200
239
151
258
233
229
248
220
193
226
233
207
185
262
224
199
173
151
232
294
171
228
318
199
168
217
262
126
184
245
198
262
280
290
160
175
251
270
211
308
210
234
259
229
194
206
289
205
220
174
187
214
218
207
191
249
240
178
197
165
247
222
192
340
197
293
175
279
162
217
214
295
281
257
254
221
332
268
173
192
157
202
213
232
232
252
254
256
254
234
264
247
177
238
202
192
192
220
154
241
246
317
299
216
217
216
180
108
246
160
230
278
221
174
180
220
174
241
302
192
215
244
246
225
154
264
322
231
219
262
210
203
276
281
177
183
264
241
279
193
211
220
224
259
179
179
278
234
139
202
209
222
248
237
195
256
316
258
243
174
203
226
211
337
203
306
267
173
260
190
274
236
223
236
147
259
230
197
185
170
246
189
271
192
295
188
301
214
145
323
231
268
234
116
235
199
240
276
294
126
139
262
227
213
268
189
217
218
315
248
243
141
226
296
166
160
236
252
174
211
246
287
201
270
232
285
236
163
230
219
173
235
250
242
277
199
153
223
211
285
288
229
252
266
233
209
175
196
270
258
321
231
255
265
160
186
183
298
149
245
212
253
156
227
259
262
195
216
258
258
185
161
195
254
215
192
225
233
309
282
225
116
191
238
182
156
286
173
337
211
265
194
200
292
187
197
219
204
273
269
246
219
303
227
156
160
202
294
156
289
205
225
170
166
232
308
308
261
259
338
153
246
250
223
270
282
247
238
278
240
192
157
270
216
194
268
200
199
166
192
194
287
286
216
264
114
249
216
252
160
165
178
197
296
269
181
182
230
241
254
205
181
203
166
226
197
192
283
225
289
274
239
192
243
215
165
175
191
322
152
257
260
235
212
283
233
126
187
224
260
215
278
114
256
308
217
130
223
181
161
273
158
160
260
294
185
204
325
154
213
238
156
227
252
170
227
215
206
260
206
234
157
156
261
280
288
192
220
215
220
179
251
266
325
185
197
161
208
176
206
213
199
264
229
235
201
196
215
277
218
255
266
191
271
279
180
173
231
220
160
247
272
238
192
170
212
311
201
211
180
241
207
173
261
220
254
260
147
225
159
174
226
197
255
223
235
168
198
228
195
261
285
262
222
254
220
211
155
152
221
240
295
236
315
114
220
285
192
245
234
277
186
129
160
231
249
245
180
229
225
274
170
317
209
295
253
206
275
236
194
274
226
166
108
338
177
185
222
193
264
227
354
217
211
228
188
230
179
253
200
243
242
208
286
323
207
178
184
183
282
262
229
206
264
232
174
248
263
257
219
323
244
227
262
211
208
243
171
258
196
201
313
200
182
108
255
126
216
278
307
176
241
200
212
208
294
196
207
160
274
201
253
114
167
272
279
238
236
223
233
114
185
298
212
242
241
259
161
214
193
146
166
266
191
154
231
227
193
195
252
207
208
192
217
199
199
334
206
249
157
200
286
258
180
155
214
158
181
272
288
269
176
212
173
260
204
166
186
207
106
225
114
211
197
288
203
302
229
252
161
282
263
215
245
290
171
219
323
166
253
328
266
216
289
202
277
140
137
169
239
214
289
211
213
233
170
234
249
181
302
184
295
267
129
170
279
239
269
168
229
271
246
197
214
268
269
229
218
152
278
190
236
192
239
222
152
130
252
349
257
255
247
226
157
391
224
160
258
194
235
174
221
183
185
188
114
319
147
232
176
244
193
141
130
255
180
198
156
196
258
142
221
315
246
234
275
210
212
224
297
194
211
244
221
238
289
159
234
299
198
260
246
181
170
209
106
151
205
206
228
250
188
293
222
156
213
192
302
237
297
235
197
205
162
213
288
230
178
180
301
228
137
185
216
245
203
217
180
234
294
235
213
216
278
238
242
235
233
171
230
207
175
246
178
171
338
188
191
181
296
250
217
215
148
317
307
271
239
274
181
228
192
206
217
225
213
252
193
190
233
250
160
281
213
160
249
165
206
156
211
180
148
260
156
286
175
259
200
224
192
300
274
239
189
161
196
262
231
331
237
205
178
205
185
114
214
185
223
198
178
166
193
291
219
181
228
211
226
193
225
310
252
243
224
200
273
275
184
184
204
326
357
224
267
298
215
234
276
173
161
217
236
194
126
214
209
315
280
178
276
172
293
222
211
226
146
216
230
220
172
218
202
160
191
231
230
262
206
232
197
175
285
200
266
247
180
174
236
202
210
222
175
163
245
267
175
232
195
250
152
272
232
280
271
278
195
211
182
194
178
291
232
250
187
230
212
178
241
188
259
231
257
220
258
293
166
250
207
244
225
239
273
234
215
241
212
230
236
265
240
162
232
241
168
207
191
190
228
214
161
174
217
239
245
154
223
181
293
179
139
139
139
160
220
157
169
246
249
250
251
230
183
233
202
232
241
217
335
228
194
225
279
197
181
238
218
198
234
324
208
257
228
252
225
198
277
215
161
244
160
198
235
195
301
173
195
184
238
253
242
227
288
209
186
240
180
219
203
202
225
260
227
263
284
235
224
221
195
293
366
225
267
220
185
246
211
282
209
175
193
270
255
203
235
144
231
271
164
224
182
278
240
287
227
202
269
191
226
222
194
209
217
114
254
217
169
244
170
187
293
263
274
258
179
198
168
202
215
253
273
243
258
232
254
239
209
242
165
194
221
216
217
172
206
179
261
297
219
229
220
258
189
253
247
299
213
151
283
245
212
250
193
250
200
254
262
265
237
171
204
188
249
234
183
156
254
232
230
305
246
233
213
160
295
305
244
213
245
205
180
231
214
193
208
308
191
222
212
156
219
203
230
279
224
230
229
176
190
221
197
232
190
227
243
228
272
265
159
200
192
147
223
196
193
224
218
223
252
244
313
280
222
206
237
226
286
184
158
193
231
262
234
208
208
247
222
197
225
181
265
192
207
274
156
204
268
254
260
243
328
257
216
239
200
228
175
219
200
217
265
244
223
205
310
191
267
211
193
223
239
279
149
178
240
144
180
226
210
252
248
259
300
240
177
234
295
224
209
245
234
181
226
276
184
243
181
211
237
287
200
232
273
233
176
190
198
216
274
242
230
194
263
254
169
201
232
249
200
188
199
280
228
238
206
192
303
173
213
201
267
238
173
252
223
216
205
205
191
245
213
238
284
288
216
265
208
214
181
281
242
204
287
181
216
260
282
333
174
298
196
186
173
244
248
160
238
231
259
194
294
204
176
255
188
260
214
268
234
166
226
297
198
210
152
211
203
114
282
222
134
229
154
281
189
160
114
156
231
216
257
239
189
146
242
223
256
314
195
216
207
237
212
233
254
192
263
174
279
228
256
186
175
203
201
217
166
241
203
223
144
126
211
335
263
170
114
237
215
258
150
242
213
198
346
234
179
215
245
236
227
214
281
254
215
260
146
259
291
209
231
223
184
174
200
189
148
188
193
148
227
277
224
181
241
266
169
204
244
144
116
267
196
135
209
221
275
202
209
146
191
209
201
269
285
190
236
199
213
188
269
197
168
230
260
275
284
191
275
260
336
159
214
275
197
194
230
258
176
214
169
194
194
223
224
191
253
238
221
238
279
174
245
222
260
207
199
267
162
219
263
181
257
260
174
228
205
247
214
229
245
216
238
243
217
259
202
176
282
221
277
241
186
152
174
182
252
279
170
206
207
219
